diff --git a/.eslintrc.js b/.eslintrc.js index 8acba223d986eb..59d585b9d355bd 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -244,6 +244,10 @@ module.exports = { selector: "CallExpression[callee.property.name='strictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression']):not([arguments.1.type='UnaryExpression'])", message: 'The first argument should be the `actual`, not the `expected` value.', }, + { + selector: "CallExpression[callee.name='isNaN']", + message: 'Use Number.isNaN() instead of the global isNaN() function.', + }, ], /* eslint-enable max-len */ 'no-return-await': 'error', diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 375a6aa8a24eff..00000000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,23 +0,0 @@ - - -* **Version**: -* **Platform**: -* **Subsystem**: - - diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.md b/.github/ISSUE_TEMPLATE/1-bug-report.md index 69b9bf63250f7b..2a2e94d411fe2a 100644 --- a/.github/ISSUE_TEMPLATE/1-bug-report.md +++ b/.github/ISSUE_TEMPLATE/1-bug-report.md @@ -5,20 +5,47 @@ about: Create a report to help us improve --- * **Version**: * **Platform**: * **Subsystem**: - +### What steps will reproduce the bug? + + + +### How often does it reproduce? Is there a required condition? + +### What is the expected behavior? + + + +### What do you see instead? + + + +### Additional information + + diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml new file mode 100644 index 00000000000000..7d7a8167308960 --- /dev/null +++ b/.github/workflows/build-windows.yml @@ -0,0 +1,23 @@ +name: build-windows + +on: [push, pull_request] + +env: + PYTHON_VERSION: 2.7 + FLAKY_TESTS: dontcare + +jobs: + build-windows: + runs-on: windows-2016 + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ env.PYTHON_VERSION }} + uses: actions/setup-python@v1 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Install deps + run: choco install nasm + - name: Environment Information + run: npx envinfo + - name: Build + run: ./vcbuild.bat diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml new file mode 100644 index 00000000000000..f0ee528a0f4e0f --- /dev/null +++ b/.github/workflows/linters.yml @@ -0,0 +1,73 @@ +name: linters + +on: [push, pull_request] + +env: + PYTHON_VERSION: 3.8 + NODE_VERSION: 10.x + +jobs: + lint-addon-docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ env.NODE_VERSION }} + uses: actions/setup-node@v1 + with: + node-version: ${{ env.NODE_VERSION }} + - name: Environment Information + run: npx envinfo + - name: Lint addon docs + run: NODE=$(which node) make lint-addon-docs + lint-cpp: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ env.PYTHON_VERSION }} + uses: actions/setup-python@v1 + with: + PYTHON_VERSION: ${{ env.PYTHON_VERSION }} + - name: Environment Information + run: npx envinfo + - name: Lint C/C++ files + run: make lint-cpp + lint-md: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ env.NODE_VERSION }} + uses: actions/setup-node@v1 + with: + node-version: ${{ env.NODE_VERSION }} + - name: Environment Information + run: npx envinfo + - name: Lint docs + run: | + echo "::add-matcher::.github/workflows/remark-lint-problem-matcher.json" + NODE=$(which node) make lint-md + lint-js: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ env.NODE_VERSION }} + uses: actions/setup-node@v1 + with: + node-version: ${{ env.NODE_VERSION }} + - name: Environment Information + run: npx envinfo + - name: Lint JavaScript files + run: NODE=$(which node) make lint-js + lint-py: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ env.PYTHON_VERSION }} + uses: actions/setup-python@v1 + with: + PYTHON_VERSION: ${{ env.PYTHON_VERSION }} + - name: Environment Information + run: npx envinfo + - name: Lint Python + run: | + make lint-py-build || true + NODE=$(which node) make lint lint-py diff --git a/.github/workflows/misc.yml b/.github/workflows/misc.yml new file mode 100644 index 00000000000000..b23120ae0f1d74 --- /dev/null +++ b/.github/workflows/misc.yml @@ -0,0 +1,24 @@ +name: misc + +on: [push, pull_request] + +env: + NODE_VERSION: 12.x + +jobs: + build-docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ env.NODE_VERSION }} + uses: actions/setup-node@v1 + with: + node-version: ${{ env.NODE_VERSION }} + - name: Environment Information + run: npx envinfo + - name: Build + run: NODE=$(which node) make doc-only + - uses: actions/upload-artifact@v1 + with: + name: docs + path: out/doc diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml new file mode 100644 index 00000000000000..9ff5e9a39d81fa --- /dev/null +++ b/.github/workflows/pythonpackage.yml @@ -0,0 +1,33 @@ +name: Python 3 testing + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + max-parallel: 1 + matrix: + python-version: [3.8] # [2.7, 3.5, 3.6, 3.7] + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Compile Node.js + run: | + python ./configure.py + make -j2 V=1 + - name: Test JS Suites + run: | + python tools/test.py -j 2 -p dots --report --mode=release --flaky-tests=dontcare default + - name: Test C++ Suites + run: | + make -j1 V=1 test/addons/.buildstamp test/js-native-api/.buildstamp test/node-api/.buildstamp + python tools/test.py -j 2 -p dots --report --mode=release --flaky-tests=dontcare addons js-native-api node-api + - name: Make lint + run: | + make lint-py-build || true + NODE=$(which node) make lint lint-py diff --git a/.github/workflows/remark-lint-problem-matcher.json b/.github/workflows/remark-lint-problem-matcher.json new file mode 100644 index 00000000000000..cfb281310a9a0f --- /dev/null +++ b/.github/workflows/remark-lint-problem-matcher.json @@ -0,0 +1,22 @@ +{ + "problemMatcher": [ + { + "owner": "remark-lint", + "pattern": [ + { + "regexp": "^(?:\\x1b\\[\\d+m)*(.+?)(?:\\x1b\\[\\d+m)*$", + "file": 1 + }, + { + "regexp": "^\\s+(?:\\d+:\\d+-)?(\\d+):(\\d+)\\s+\\S*(error|warning|info)\\S*\\s+(.+)\\s+(\\S+)\\s+(?:\\S+)$", + "line": 1, + "column": 2, + "severity": 3, + "message": 4, + "code": 5, + "loop": true + } + ] + } + ] +} diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml new file mode 100644 index 00000000000000..d63627f1f0cc78 --- /dev/null +++ b/.github/workflows/test-linux.yml @@ -0,0 +1,23 @@ +name: test-linux + +on: [push, pull_request] + +env: + PYTHON_VERSION: 2.7 + FLAKY_TESTS: dontcare + +jobs: + test-linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ env.PYTHON_VERSION }} + uses: actions/setup-python@v1 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Environment Information + run: npx envinfo + - name: Build + run: make build-ci -j2 V=1 + - name: Test + run: make run-ci -j2 V=1 diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml new file mode 100644 index 00000000000000..51dfc3d245e01c --- /dev/null +++ b/.github/workflows/test-macos.yml @@ -0,0 +1,23 @@ +name: test-macOS + +on: [push, pull_request] + +env: + PYTHON_VERSION: 2.7 + FLAKY_TESTS: dontcare + +jobs: + test-macOS: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ env.PYTHON_VERSION }} + uses: actions/setup-python@v1 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Environment Information + run: npx envinfo + - name: Build + run: make build-ci -j8 V=1 + - name: Test + run: make run-ci -j8 V=1 diff --git a/.gitignore b/.gitignore index e50393f003c5d1..f0e9b6b15d4c69 100644 --- a/.gitignore +++ b/.gitignore @@ -19,7 +19,6 @@ !.gitkeep !.mailmap !.nycrc -!.travis.yml !.eslintrc.yaml !.cpplint @@ -33,6 +32,7 @@ /doc/api.xml /node /node_g +/gon-config.json /*.exe /*.swp /out @@ -45,8 +45,8 @@ /config_fips.gypi # === Rules for MSVS artifacts === -/Debug -/Release +Debug/ +Release/ *.sln *.suo *.vcxproj* diff --git a/.mailmap b/.mailmap index e140392b723514..15962df50bdb94 100644 --- a/.mailmap +++ b/.mailmap @@ -423,6 +423,7 @@ Wilson Lin Wyatt Preul geek Xavier J Ortiz xiaoyu <306766053@qq.com> Poker <306766053@qq.com> +Yael Hermon Yazhong Liu Yazhong Liu Yazhong Liu Yorkie Yazhong Liu Yorkie diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e1069317ecc2c5..00000000000000 --- a/.travis.yml +++ /dev/null @@ -1,91 +0,0 @@ -os: linux -language: cpp -# Currently this file can only support one PYTHON_VERSION. -# To experiment with Python 3, comment out Python 2.7 and uncomment one of the Python 3 versions. -env: - global: - - PYTHON_VERSION="2.7.15" - # - PYTHON_VERSION="3.6.7" - # - PYTHON_VERSION="3.7.1" -jobs: - include: - - stage: "Compile" - name: "Compile Node.js" - cache: ccache - addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - g++-6 - install: - - export CCACHE_NOSTATS=1 - - export CCACHE_SLOPPINESS="file_macro,include_file_mtime,include_file_ctime,time_macros,file_stat_matches" - - export CC='ccache gcc-6' - - export CXX='ccache g++-6' - script: - - pyenv global ${PYTHON_VERSION} - - ./configure - - timeout --preserve-status 45m make -j2 V=1 - before_cache: - - cp out/Release/node /home/travis/.ccache - - cp out/Release/cctest /home/travis/.ccache - - - stage: "Tests" - name: "Test JS Suites" - cache: ccache - install: - - mkdir -p out/Release - - cp /home/travis/.ccache/node out/Release/node - script: - - pyenv global ${PYTHON_VERSION} - - python tools/test.py -j 2 -p dots --report --mode=release --flaky-tests=dontcare default - - - name: "Test C++ Suites" - cache: ccache - install: - - export CCACHE_NOSTATS=1 - - export CCACHE_SLOPPINESS="file_macro,include_file_mtime,include_file_ctime,time_macros,file_stat_matches" - - export CC='ccache gcc' - - export CXX='ccache g++' - - mkdir -p out/Release - - cp /home/travis/.ccache/node out/Release/node - - ln -fs out/Release/node node - - cp /home/travis/.ccache/cctest out/Release/cctest - - touch config.gypi - script: - - pyenv global ${PYTHON_VERSION} - - out/Release/cctest - - make -j1 V=1 test/addons/.buildstamp test/js-native-api/.buildstamp test/node-api/.buildstamp - - python tools/test.py -j 2 -p dots --report --mode=release --flaky-tests=dontcare addons js-native-api node-api - - - name: "Run Linter and Build Docs" - language: node_js - node_js: "node" - install: - - pyenv global ${PYTHON_VERSION} - - make lint-py-build || true - script: - - NODE=$(which node) make lint-py doc-only lint - - - name: "First commit message adheres to guidelines at https://goo.gl/p2fr5Q" - if: type = pull_request - language: node_js - node_js: "node" - script: - - if [ "${TRAVIS_PULL_REQUEST}" != "false" ]; then - bash -x tools/lint-pr-commit-message.sh ${TRAVIS_PULL_REQUEST}; - fi - - - name: "Find syntax errors in our Python dependencies" - language: python - python: 3.8 - install: - - mv .flake8 disabled.flake8 # take the blinders off of flake8 - - python3.8 -m pip install --upgrade pip - - python3.8 -m pip install flake8 - script: - - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - allow_failures: # TODO (cclauss): remove this when dependencies are clean - - name: "Find syntax errors in our Python dependencies" - - name: "First commit message adheres to guidelines at https://goo.gl/p2fr5Q" diff --git a/AUTHORS b/AUTHORS index adb8aef88a44d5..539f311a0dcb9f 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2636,7 +2636,7 @@ Charles Samborski zhmushan yoshimoto koki Ilarion Halushka -Yael Hermon +Yael Hermon Mitch Hankins Mikko Rantanen wenjun ye <1728914873@qq.com> diff --git a/BUILDING.md b/BUILDING.md index d188aaff5a3a27..cb1960db7445cf 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -28,11 +28,12 @@ file a new issue. * [Running Coverage](#running-coverage) * [Building the documentation](#building-the-documentation) * [Building a debug build](#building-a-debug-build) + * [Troubleshooting Unix and macOS builds](#troubleshooting-unix-and-macos-builds) * [Windows](#windows) * [Prerequisites](#prerequisites) * [Option 1: Manual install](#option-1-manual-install) * [Option 2: Automated install with Boxstarter](#option-2-automated-install-with-boxstarter) - * [Building Node.js](#building-nodejs-1) + * [Building Node.js](#building-nodejs-2) * [Android/Android-based devices (e.g. Firefox OS)](#androidandroid-based-devices-eg-firefox-os) * [`Intl` (ECMA-402) support](#intl-ecma-402-support) * [Default: `small-icu` (English only) support](#default-small-icu-english-only-support) @@ -42,7 +43,7 @@ file a new issue. * [Building without Intl support](#building-without-intl-support) * [Unix/macOS](#unixmacos-1) * [Windows](#windows-2) - * [Use existing installed ICU (Unix/macOS only)](#use-existing-installed-icu-unixmacOS-only) + * [Use existing installed ICU (Unix/macOS only)](#use-existing-installed-icu-unixmacos-only) * [Build with a specific ICU](#build-with-a-specific-icu) * [Unix/macOS](#unixmacos-2) * [Windows](#windows-3) @@ -164,7 +165,7 @@ Binaries at are produced on: | Binary package | Platform and Toolchain | | --------------------- | ------------------------------------------------------------------------ | | aix-ppc64 | AIX 7.1 TL05 on PPC64BE with GCC 6 | -| darwin-x64 (and .pkg) | macOS 10.11, Xcode Command Line Tools 8 with -mmacosx-version-min=10.10 | +| darwin-x64 (and .pkg) | macOS 10.15, Xcode Command Line Tools 11 with -mmacosx-version-min=10.10 | | linux-arm64 | CentOS 7 with devtoolset-6 / GCC 6 | | linux-armv7l | Cross-compiled on Ubuntu 16.04 x64 with [custom GCC toolchain](https://github.com/rvagg/rpi-newer-crosstools) | | linux-ppc64le | CentOS 7 with devtoolset-6 / GCC 6 [7](#fn7) | @@ -249,6 +250,7 @@ Installation via Linux package manager can be achieved with: * Fedora: `sudo dnf install python gcc-c++ make` * CentOS and RHEL: `sudo yum install python gcc-c++ make` * OpenSUSE: `sudo zypper install python gcc-c++ make` +* Arch Linux, Manjaro: `sudo pacman -S python gcc make` FreeBSD and OpenBSD users may also need to install `libexecinfo`. @@ -494,6 +496,17 @@ $ gdb /opt/node-debug/node core.node.8.1535359906 $ backtrace ``` +#### Troubleshooting Unix and macOS builds + +Stale builds can sometimes result in `file not found` errors while building. +This and some other problems can be resolved with `make distclean`. The +`distclean` recipe aggressively removes build artifacts. You will need to +build again (`make -j4`). Since all build artifacts have been removed, this +rebuild may take a lot more time than previous builds. Additionally, +`distclean` removes the file that stores the results of `./configure`. If you +ran `./configure` with non-default options (such as `--debug`), you will need +to run it again before invoking `make -j4`. + ### Windows #### Prerequisites diff --git a/CHANGELOG.md b/CHANGELOG.md index 72ddc64c563cde..828df1e1ffcdef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,18 +2,18 @@ Select a Node.js version below to view the changelog history: -* [Node.js 12](doc/changelogs/CHANGELOG_V12.md) - **Long Term Support** -* [Node.js 11](doc/changelogs/CHANGELOG_V11.md) - End-of-Life -* [Node.js 10](doc/changelogs/CHANGELOG_V10.md) — Long Term Support -* [Node.js 9](doc/changelogs/CHANGELOG_V9.md) — End-of-Life -* [Node.js 8](doc/changelogs/CHANGELOG_V8.md) — Long Term Support -* [Node.js 7](doc/changelogs/CHANGELOG_V7.md) — End-of-Life -* [Node.js 6](doc/changelogs/CHANGELOG_V6.md) — End-of-Life -* [Node.js 5](doc/changelogs/CHANGELOG_V5.md) — End-of-Life -* [Node.js 4](doc/changelogs/CHANGELOG_V4.md) — End-of-Life -* [io.js](doc/changelogs/CHANGELOG_IOJS.md) — End-of-Life -* [Node.js 0.12](doc/changelogs/CHANGELOG_V012.md) — End-of-Life -* [Node.js 0.10](doc/changelogs/CHANGELOG_V010.md) — End-of-Life +* [Node.js 12](doc/changelogs/CHANGELOG_V12.md) **Long Term Support** +* [Node.js 11](doc/changelogs/CHANGELOG_V11.md) End-of-Life +* [Node.js 10](doc/changelogs/CHANGELOG_V10.md) Long Term Support +* [Node.js 9](doc/changelogs/CHANGELOG_V9.md) End-of-Life +* [Node.js 8](doc/changelogs/CHANGELOG_V8.md) End-of-Life +* [Node.js 7](doc/changelogs/CHANGELOG_V7.md) End-of-Life +* [Node.js 6](doc/changelogs/CHANGELOG_V6.md) End-of-Life +* [Node.js 5](doc/changelogs/CHANGELOG_V5.md) End-of-Life +* [Node.js 4](doc/changelogs/CHANGELOG_V4.md) End-of-Life +* [io.js](doc/changelogs/CHANGELOG_IOJS.md) End-of-Life +* [Node.js 0.12](doc/changelogs/CHANGELOG_V012.md) End-of-Life +* [Node.js 0.10](doc/changelogs/CHANGELOG_V010.md) End-of-Life * [Archive](doc/changelogs/CHANGELOG_ARCHIVE.md) Please use the following table to find the changelog for a specific Node.js @@ -28,7 +28,8 @@ release. -12.16.1
+12.16.2
+12.16.1
12.16.0
12.15.0
12.14.1
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b9d1f2cef604b9..29700978fb78bf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,13 +5,13 @@ * [Pull Requests](#pull-requests) * [Developer's Certificate of Origin 1.1](#developers-certificate-of-origin) -## [Code of Conduct](./doc/guides/contributing/coc.md) +## [Code of Conduct](./doc/guides/contributing/code-of-conduct.md) The Node.js project has a [Code of Conduct](https://github.com/nodejs/admin/blob/master/CODE_OF_CONDUCT.md) to which all contributors must adhere. -See [details on our policy on Code of Conduct](./doc/guides/contributing/coc.md). +See [details on our policy on Code of Conduct](./doc/guides/contributing/code-of-conduct.md). ## [Issues](./doc/guides/contributing/issues.md) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index d7cb6e321e16cb..5048a700340617 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -7,7 +7,7 @@ * [Technical Steering Committee](#technical-steering-committee) * [TSC Meetings](#tsc-meetings) * [Collaborator Nominations](#collaborator-nominations) - * [Onboarding](#onboarding) + * [Onboarding](#./onboarding) * [Consensus Seeking Process](#consensus-seeking-process) @@ -39,7 +39,7 @@ result in Collaborators removing their opposition. See: * [List of Collaborators](./README.md#current-project-team-members) -* [A guide for Collaborators](./COLLABORATOR_GUIDE.md) +* [A guide for Collaborators](./doc/guides/collaborator-guide.md) ### Collaborator Activities @@ -148,7 +148,7 @@ nomination. ### Onboarding After the nomination passes, a TSC member onboards the new Collaborator. See -[the onboarding guide](./doc/onboarding.md) for details of the onboarding +[the onboarding guide](./onboarding.md) for details of the onboarding process. ## Consensus Seeking Process diff --git a/Makefile b/Makefile index 05eaa73abbe0c6..88166da2a84cd8 100644 --- a/Makefile +++ b/Makefile @@ -738,15 +738,22 @@ out/doc/api/assets/%: doc/api_assets/% out/doc/api/assets run-npm-ci = $(PWD)/$(NPM) ci LINK_DATA = out/doc/apilinks.json +VERSIONS_DATA = out/doc/previous-versions.json gen-api = tools/doc/generate.js --node-version=$(FULLVERSION) \ - --apilinks=$(LINK_DATA) $< --output-directory=out/doc/api + --apilinks=$(LINK_DATA) $< --output-directory=out/doc/api \ + --versions-file=$(VERSIONS_DATA) gen-apilink = tools/doc/apilinks.js $(LINK_DATA) $(wildcard lib/*.js) $(LINK_DATA): $(wildcard lib/*.js) tools/doc/apilinks.js $(call available-node, $(gen-apilink)) +# Regenerate previous versions data if the current version changes +$(VERSIONS_DATA): CHANGELOG.md src/node_version.h tools/doc/versions.js + $(call available-node, tools/doc/versions.js $@) + out/doc/api/%.json out/doc/api/%.html: doc/api/%.md tools/doc/generate.js \ - tools/doc/markdown.js tools/doc/html.js tools/doc/json.js tools/doc/apilinks.js | $(LINK_DATA) + tools/doc/markdown.js tools/doc/html.js tools/doc/json.js \ + tools/doc/apilinks.js $(VERSIONS_DATA) | $(LINK_DATA) $(call available-node, $(gen-api)) out/doc/api/all.html: $(apidocs_html) tools/doc/allhtml.js \ @@ -924,12 +931,12 @@ endif .PHONY: release-only release-only: check-xz @if [ "$(DISTTYPE)" = "release" ] && `grep -q REPLACEME doc/api/*.md`; then \ - echo 'Please update REPLACEME in Added: tags in doc/api/*.md (See doc/releases.md)' ; \ + echo 'Please update REPLACEME in Added: tags in doc/api/*.md (See doc/guides/releases.md)' ; \ exit 1 ; \ fi @if [ "$(DISTTYPE)" = "release" ] && \ `grep -q DEP...X doc/api/deprecations.md`; then \ - echo 'Please update DEP...X in doc/api/deprecations.md (See doc/releases.md)' ; \ + echo 'Please update DEP...X in doc/api/deprecations.md (See doc/guides/releases.md)' ; \ exit 1 ; \ fi @if [ "$(shell git status --porcelain | egrep -v '^\?\? ')" = "" ]; then \ @@ -1003,6 +1010,7 @@ $(PKG): release-only --resources $(MACOSOUTDIR)/installer/productbuild/Resources \ --package-path $(MACOSOUTDIR)/pkgs ./$(PKG) SIGN="$(PRODUCTSIGN_CERT)" PKG="$(PKG)" bash tools/osx-productsign.sh + bash tools/osx-notarize.sh $(FULLVERSION) .PHONY: pkg # Builds the macOS installer for releases. @@ -1032,7 +1040,6 @@ $(TARBALL): release-only $(NODE_EXE) doc $(RM) -r $(TARNAME)/deps/v8/samples $(RM) -r $(TARNAME)/deps/v8/tools/profviz $(RM) -r $(TARNAME)/deps/v8/tools/run-tests.py - $(RM) -r $(TARNAME)/deps/zlib/contrib # too big, unused $(RM) -r $(TARNAME)/doc/images # too big $(RM) -r $(TARNAME)/test*.tap $(RM) -r $(TARNAME)/tools/cpplint.py @@ -1043,6 +1050,7 @@ $(TARBALL): release-only $(NODE_EXE) doc $(RM) -r $(TARNAME)/tools/osx-pkg.pmdoc find $(TARNAME)/deps/v8/test/* -type d ! -regex '.*/test/torque$$' | xargs $(RM) -r find $(TARNAME)/deps/v8/test -type f ! -regex '.*/test/torque/.*' | xargs $(RM) + find $(TARNAME)/deps/zlib/contrib/* -type d ! -regex '.*/contrib/optimizations$$' | xargs $(RM) -r find $(TARNAME)/ -name ".eslint*" -maxdepth 2 | xargs $(RM) find $(TARNAME)/ -type l | xargs $(RM) # annoying on windows tar -cf $(TARNAME).tar $(TARNAME) @@ -1165,6 +1173,7 @@ bench-addons-clean: .PHONY: lint-md-rollup lint-md-rollup: + $(RM) tools/.*mdlintstamp cd tools/node-lint-md-cli-rollup && npm install cd tools/node-lint-md-cli-rollup && npm run build-node @@ -1177,28 +1186,23 @@ lint-md-clean: lint-md-build: $(warning "Deprecated no-op target 'lint-md-build'") -LINT_MD_DOC_FILES = $(shell find doc -type f -name '*.md') -run-lint-doc-md = tools/lint-md.js -q -f $(LINT_MD_DOC_FILES) -# Lint all changed markdown files under doc/ -tools/.docmdlintstamp: $(LINT_MD_DOC_FILES) - @echo "Running Markdown linter on docs..." - @$(call available-node,$(run-lint-doc-md)) - @touch $@ +ifeq ("$(wildcard tools/.mdlintstamp)","") + LINT_MD_NEWER = +else + LINT_MD_NEWER = -newer tools/.mdlintstamp +endif -LINT_MD_TARGETS = src lib benchmark test tools/doc tools/icu -LINT_MD_ROOT_DOCS := $(wildcard *.md) -LINT_MD_MISC_FILES := $(shell find $(LINT_MD_TARGETS) -type f \ - ! -path '*node_modules*' ! -path 'test/fixtures/*' -name '*.md') \ - $(LINT_MD_ROOT_DOCS) -run-lint-misc-md = tools/lint-md.js -q -f $(LINT_MD_MISC_FILES) -# Lint other changed markdown files maintained by us -tools/.miscmdlintstamp: $(LINT_MD_MISC_FILES) - @echo "Running Markdown linter on misc docs..." - @$(call available-node,$(run-lint-misc-md)) +LINT_MD_TARGETS = doc src lib benchmark test tools/doc tools/icu $(wildcard *.md) +LINT_MD_FILES = $(shell find $(LINT_MD_TARGETS) -type f \ + ! -path '*node_modules*' ! -path 'test/fixtures/*' -name '*.md' \ + $(LINT_MD_NEWER)) +run-lint-md = tools/lint-md.js -q -f --no-stdout $(LINT_MD_FILES) +# Lint all changed markdown files maintained by us +tools/.mdlintstamp: $(LINT_MD_FILES) + @echo "Running Markdown linter..." + @$(call available-node,$(run-lint-md)) @touch $@ -tools/.mdlintstamp: tools/.miscmdlintstamp tools/.docmdlintstamp - .PHONY: lint-md # Lints the markdown documents maintained by us in the codebase. lint-md: | tools/.mdlintstamp diff --git a/README.md b/README.md index 7b3f7b69742dfc..fa1b2962dd95a2 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,9 @@

-Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. For -more information on using Node.js, see the [Node.js Website][]. +Node.js is an open-source, cross-platform, JavaScript runtime environment. It +executes JavaScript code outside of a browser. For more information on using +Node.js, see the [Node.js Website][]. The Node.js project uses an [open governance model](./GOVERNANCE.md). The [OpenJS Foundation][] provides support for the project. @@ -164,12 +165,8 @@ For information about the governance of the Node.js project, see **Daniel Bevenius** <daniel.bevenius@gmail.com> (he/him) * [fhinkel](https://github.com/fhinkel) - **Franziska Hinkelmann** <franziska.hinkelmann@gmail.com> (she/her) -* [Fishrock123](https://github.com/Fishrock123) - -**Jeremiah Senkpiel** <fishrock123@rocketmail.com> * [gabrielschulhof](https://github.com/gabrielschulhof) - **Gabriel Schulhof** <gabriel.schulhof@intel.com> -* [gireeshpunathil](https://github.com/gireeshpunathil) - -**Gireesh Punathil** <gpunathi@in.ibm.com> (he/him) * [jasnell](https://github.com/jasnell) - **James M Snell** <jasnell@gmail.com> (he/him) * [joyeecheung](https://github.com/joyeecheung) - @@ -184,8 +181,6 @@ For information about the governance of the Node.js project, see **Sam Roberts** <vieuxtech@gmail.com> * [targos](https://github.com/targos) - **Michaël Zasso** <targos@protonmail.com> (he/him) -* [thefourtheye](https://github.com/thefourtheye) - -**Sakthipriyan Vairamani** <thechargingvolcano@gmail.com> (he/him) * [tniessen](https://github.com/tniessen) - **Tobias Nießen** <tniessen@tnie.de> * [Trott](https://github.com/Trott) - @@ -199,8 +194,12 @@ For information about the governance of the Node.js project, see **Chris Dickinson** <christopher.s.dickinson@gmail.com> * [evanlucas](https://github.com/evanlucas) - **Evan Lucas** <evanlucas@me.com> (he/him) +* [Fishrock123](https://github.com/Fishrock123) - +**Jeremiah Senkpiel** <fishrock123@rocketmail.com> (he/they) * [gibfahn](https://github.com/gibfahn) - **Gibson Fahnestock** <gibfahn@gmail.com> (he/him) +* [gireeshpunathil](https://github.com/gireeshpunathil) - +**Gireesh Punathil** <gpunathi@in.ibm.com> (he/him) * [indutny](https://github.com/indutny) - **Fedor Indutny** <fedor.indutny@gmail.com> * [isaacs](https://github.com/isaacs) - @@ -221,6 +220,8 @@ For information about the governance of the Node.js project, see **Rod Vagg** <r@va.gg> * [shigeki](https://github.com/shigeki) - **Shigeki Ohtsu** <ohtsu@ohtsu.org> (he/him) +* [thefourtheye](https://github.com/thefourtheye) - +**Sakthipriyan Vairamani** <thechargingvolcano@gmail.com> (he/him) * [TimothyGu](https://github.com/TimothyGu) - **Tiancheng "Timothy" Gu** <timothygu99@gmail.com> (he/him) * [trevnorris](https://github.com/trevnorris) - @@ -238,8 +239,6 @@ For information about the governance of the Node.js project, see **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) * [bcoe](https://github.com/bcoe) - **Ben Coe** <bencoe@gmail.com> (he/him) * [bengl](https://github.com/bengl) - @@ -260,8 +259,6 @@ For information about the governance of the Node.js project, see **Ruben Bridgewater** <ruben@bridgewater.de> (he/him) * [bzoz](https://github.com/bzoz) - **Bartosz Sosnowski** <bartosz@janeasystems.com> -* [calvinmetcalf](https://github.com/calvinmetcalf) - -**Calvin Metcalf** <calvin.metcalf@gmail.com> * [cclauss](https://github.com/cclauss) - **Christian Clauss** <cclauss@me.com> (he/him) * [ChALkeR](https://github.com/ChALkeR) - @@ -284,8 +281,6 @@ For information about the governance of the Node.js project, see **Hitesh Kanwathirtha** <digitalinfinity@gmail.com> (he/him) * [edsadr](https://github.com/edsadr) - **Adrian Estrada** <edsadr@gmail.com> (he/him) -* [eljefedelrodeodeljefe](https://github.com/eljefedelrodeodeljefe) - -**Robert Jefe Lindstaedt** <robert.lindstaedt@gmail.com> * [eugeneo](https://github.com/eugeneo) - **Eugene Ostroukhov** <eostroukhov@google.com> * [evanlucas](https://github.com/evanlucas) - @@ -293,7 +288,7 @@ For information about the governance of the Node.js project, see * [fhinkel](https://github.com/fhinkel) - **Franziska Hinkelmann** <franziska.hinkelmann@gmail.com> (she/her) * [Fishrock123](https://github.com/Fishrock123) - -**Jeremiah Senkpiel** <fishrock123@rocketmail.com> +**Jeremiah Senkpiel** <fishrock123@rocketmail.com> (he/they) * [gabrielschulhof](https://github.com/gabrielschulhof) - **Gabriel Schulhof** <gabriel.schulhof@intel.com> * [gdams](https://github.com/gdams) - @@ -302,6 +297,8 @@ For information about the governance of the Node.js project, see **Wyatt Preul** <wpreul@gmail.com> * [gengjiawen](https://github.com/gengjiawen) - **Jiawen Geng** <technicalcute@gmail.com> +* [GeoffreyBooth](https://github.com/geoffreybooth) - +**Geoffrey Booth** <webmaster@geoffreybooth.com> (he/him) * [gibfahn](https://github.com/gibfahn) - **Gibson Fahnestock** <gibfahn@gmail.com> (he/him) * [gireeshpunathil](https://github.com/gireeshpunathil) - @@ -322,8 +319,6 @@ For information about the governance of the Node.js project, see **Jackson Tian** <shyvo1987@gmail.com> * [jasnell](https://github.com/jasnell) - **James M Snell** <jasnell@gmail.com> (he/him) -* [jbergstroem](https://github.com/jbergstroem) - -**Johan Bergström** <bugs@bergstroem.nu> * [jdalton](https://github.com/jdalton) - **John-David Dalton** <john.david.dalton@gmail.com> * [jkrems](https://github.com/jkrems) - @@ -332,8 +327,6 @@ For information about the governance of the Node.js project, see **João Reis** <reis@janeasystems.com> * [joyeecheung](https://github.com/joyeecheung) - **Joyee Cheung** <joyeec9h3@gmail.com> (she/her) -* [julianduque](https://github.com/julianduque) - -**Julian Duque** <julianduquej@gmail.com> (he/him) * [JungMinu](https://github.com/JungMinu) - **Minwoo Jung** <nodecorelab@gmail.com> (he/him) * [kfarnung](https://github.com/kfarnung) - @@ -348,9 +341,7 @@ For information about the governance of the Node.js project, see **Luigi Pinca** <luigipinca@gmail.com> (he/him) * [lundibundi](https://github.com/lundibundi) - **Denys Otrishko** <shishugi@gmail.com> (he/him) -* [maclover7](https://github.com/maclover7) - -**Jon Moss** <me@jonathanmoss.me> (he/him) -* [mafintosh](https://github.com/mafintosh) +* [mafintosh](https://github.com/mafintosh) - **Mathias Buus** <mathiasbuus@gmail.com> (he/him) * [mcollina](https://github.com/mcollina) - **Matteo Collina** <matteo.collina@gmail.com> (he/him) @@ -366,14 +357,10 @@ For information about the governance of the Node.js project, see **Brian White** <mscdex@mscdex.net> * [MylesBorins](https://github.com/MylesBorins) - **Myles Borins** <myles.borins@gmail.com> (he/him) -* [not-an-aardvark](https://github.com/not-an-aardvark) - -**Teddy Katz** <teddy.katz@gmail.com> (he/him) * [ofrobots](https://github.com/ofrobots) - **Ali Ijaz Sheikh** <ofrobots@google.com> (he/him) * [oyyd](https://github.com/oyyd) - **Ouyang Yadong** <oyydoibh@gmail.com> (he/him) -* [princejwesley](https://github.com/princejwesley) - -**Prince John Wesley** <princejohnwesley@gmail.com> * [psmarshall](https://github.com/psmarshall) - **Peter Marshall** <petermarshall@chromium.org> (he/him) * [Qard](https://github.com/Qard) - @@ -382,6 +369,8 @@ For information about the governance of the Node.js project, see **Refael Ackermann (רפאל פלחי)** <refack@gmail.com> (he/him/הוא/אתה) * [richardlau](https://github.com/richardlau) - **Richard Lau** <riclau@uk.ibm.com> +* [ronag](https://github.com/ronag) - +**Robert Nagy** <ronagy@icloud.com> * [ronkorving](https://github.com/ronkorving) - **Ron Korving** <ron@ronkorving.nl> * [rubys](https://github.com/rubys) - @@ -389,7 +378,7 @@ For information about the governance of the Node.js project, see * [rvagg](https://github.com/rvagg) - **Rod Vagg** <rod@vagg.org> * [ryzokuken](https://github.com/ryzokuken) - -**Ujjwal Sharma** <usharma1998@gmail.com> (he/him) +**Ujjwal Sharma** <ryzokuken@disroot.org> (he/him) * [saghul](https://github.com/saghul) - **Saúl Ibarra Corretgé** <saghul@gmail.com> * [sam-github](https://github.com/sam-github) - @@ -414,8 +403,6 @@ For information about the governance of the Node.js project, see **Michaël Zasso** <targos@protonmail.com> (he/him) * [thefourtheye](https://github.com/thefourtheye) - **Sakthipriyan Vairamani** <thechargingvolcano@gmail.com> (he/him) -* [thekemkid](https://github.com/thekemkid) - -**Glen Keane** <glenkeane.94@gmail.com> (he/him) * [TimothyGu](https://github.com/TimothyGu) - **Tiancheng "Timothy" Gu** <timothygu99@gmail.com> (he/him) * [tniessen](https://github.com/tniessen) - @@ -428,8 +415,6 @@ For information about the governance of the Node.js project, see **Rich Trott** <rtrott@gmail.com> (he/him) * [vdeturckheim](https://github.com/vdeturckheim) - **Vladimir de Turckheim** <vlad2t@hotmail.com> (he/him) -* [vkurchatkin](https://github.com/vkurchatkin) - -**Vladimir Kurchatkin** <vladimir.kurchatkin@gmail.com> * [watilde](https://github.com/watilde) - **Daijiro Wachi** <daijiro.wachi@gmail.com> (he/him) * [watson](https://github.com/watson) - @@ -451,16 +436,24 @@ For information about the governance of the Node.js project, see **Andras** <andras@kinvey.com> * [AnnaMag](https://github.com/AnnaMag) - **Anna M. Kedzierska** <anna.m.kedzierska@gmail.com> +* [aqrln](https://github.com/aqrln) - +**Alexey Orlenko** <eaglexrlnk@gmail.com> (he/him) * [brendanashworth](https://github.com/brendanashworth) - **Brendan Ashworth** <brendan.ashworth@me.com> -* [estliberitas](https://github.com/estliberitas) - -**Alexander Makarenko** <estliberitas@gmail.com> +* [calvinmetcalf](https://github.com/calvinmetcalf) - +**Calvin Metcalf** <calvin.metcalf@gmail.com> * [chrisdickinson](https://github.com/chrisdickinson) - **Chris Dickinson** <christopher.s.dickinson@gmail.com> * [DavidCai1993](https://github.com/DavidCai1993) - **David Cai** <davidcai1993@yahoo.com> (he/him) +* [eljefedelrodeodeljefe](https://github.com/eljefedelrodeodeljefe) - +**Robert Jefe Lindstaedt** <robert.lindstaedt@gmail.com> +* [estliberitas](https://github.com/estliberitas) - +**Alexander Makarenko** <estliberitas@gmail.com> * [firedfox](https://github.com/firedfox) - **Daniel Wang** <wangyang0123@gmail.com> +* [glentiki](https://github.com/glentiki) - +**Glen Keane** <glenkeane.94@gmail.com> (he/him) * [imran-iq](https://github.com/imran-iq) - **Imran Iqbal** <imran@imraniqbal.org> * [imyller](https://github.com/imyller) - @@ -469,16 +462,22 @@ For information about the governance of the Node.js project, see **Isaac Z. Schlueter** <i@izs.me> * [jasongin](https://github.com/jasongin) - **Jason Ginchereau** <jasongin@microsoft.com> +* [jbergstroem](https://github.com/jbergstroem) - +**Johan Bergström** <bugs@bergstroem.nu> * [jhamhader](https://github.com/jhamhader) - **Yuval Brik** <yuval@brik.org.il> * [joshgav](https://github.com/joshgav) - **Josh Gavant** <josh.gavant@outlook.com> +* [julianduque](https://github.com/julianduque) - +**Julian Duque** <julianduquej@gmail.com> (he/him) * [kunalspathak](https://github.com/kunalspathak) - **Kunal Pathak** <kunal.pathak@microsoft.com> * [lucamaraschi](https://github.com/lucamaraschi) - **Luca Maraschi** <luca.maraschi@gmail.com> (he/him) * [lxe](https://github.com/lxe) - **Aleksey Smolenchuk** <lxe@lxe.co> +* [maclover7](https://github.com/maclover7) - +**Jon Moss** <me@jonathanmoss.me> (he/him) * [matthewloring](https://github.com/matthewloring) - **Matthew Loring** <mattloring@google.com> * [micnic](https://github.com/micnic) - @@ -487,6 +486,8 @@ For information about the governance of the Node.js project, see **Mikeal Rogers** <mikeal.rogers@gmail.com> * [monsanto](https://github.com/monsanto) - **Christopher Monsanto** <chris@monsan.to> +* [not-an-aardvark](https://github.com/not-an-aardvark) - +**Teddy Katz** <teddy.katz@gmail.com> (he/him) * [Olegas](https://github.com/Olegas) - **Oleg Elifantiev** <oleg@elifantiev.ru> * [orangemocha](https://github.com/orangemocha) - @@ -501,6 +502,8 @@ For information about the governance of the Node.js project, see **Bert Belder** <bertbelder@gmail.com> * [pmq20](https://github.com/pmq20) - **Minqi Pan** <pmq2001@gmail.com> +* [princejwesley](https://github.com/princejwesley) - +**Prince John Wesley** <princejohnwesley@gmail.com> * [rlidwka](https://github.com/rlidwka) - **Alex Kocharin** <alex@kocharin.ru> * [rmg](https://github.com/rmg) - @@ -519,12 +522,14 @@ For information about the governance of the Node.js project, see **Thorsten Lorenz** <thlorenz@gmx.de> * [tunniclm](https://github.com/tunniclm) - **Mike Tunnicliffe** <m.j.tunnicliffe@gmail.com> +* [vkurchatkin](https://github.com/vkurchatkin) - +**Vladimir Kurchatkin** <vladimir.kurchatkin@gmail.com> * [vsemozhetbyt](https://github.com/vsemozhetbyt) - **Vse Mozhet Byt** <vsemozhetbyt@gmail.com> (he/him) * [whitlockjc](https://github.com/whitlockjc) - **Jeremy Whitlock** <jwhitlock@apache.org> -Collaborators follow the [COLLABORATOR_GUIDE.md](./COLLABORATOR_GUIDE.md) in +Collaborators follow the [Collaborator Guide](./doc/guides/collaborator-guide.md) in maintaining the Node.js project. ### Release Keys @@ -535,14 +540,8 @@ GPG keys used to sign Node.js releases: `4ED778F539E3634C779C87C6D7062848A1AB005C` * **Colin Ihrig** <cjihrig@gmail.com> `94AE36675C464D64BAFA68DD7434390BDBE9B9C5` -* **Evan Lucas** <evanlucas@me.com> -`B9AE9905FFD7803F25714661B63B535A4C206CA9` -* **Gibson Fahnestock** <gibfahn@gmail.com> -`77984A986EBC2AA786BC0F66B01FBB92821C587A` * **James M Snell** <jasnell@keybase.io> `71DCFD284A79C3B38668286BC97EC7A07EDE3FC1` -* **Jeremiah Senkpiel** <fishrock@keybase.io> -`FD3A5288F042B6850C66B31F09FE44734EB7990E` * **Michaël Zasso** <targos@protonmail.com> `8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600` * **Myles Borins** <myles.borins@gmail.com> @@ -558,16 +557,13 @@ To import the full set of trusted release keys: ```shell gpg --keyserver pool.sks-keyservers.net --recv-keys 4ED778F539E3634C779C87C6D7062848A1AB005C -gpg --keyserver pool.sks-keyservers.net --recv-keys B9E2F5981AA6E0CD28160D9FF13993A75599653C gpg --keyserver pool.sks-keyservers.net --recv-keys 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 -gpg --keyserver pool.sks-keyservers.net --recv-keys B9AE9905FFD7803F25714661B63B535A4C206CA9 -gpg --keyserver pool.sks-keyservers.net --recv-keys 77984A986EBC2AA786BC0F66B01FBB92821C587A gpg --keyserver pool.sks-keyservers.net --recv-keys 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 -gpg --keyserver pool.sks-keyservers.net --recv-keys FD3A5288F042B6850C66B31F09FE44734EB7990E gpg --keyserver pool.sks-keyservers.net --recv-keys 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 gpg --keyserver pool.sks-keyservers.net --recv-keys C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 gpg --keyserver pool.sks-keyservers.net --recv-keys DD8F2338BAE7501E3DD5AC78C273792F7D83545D gpg --keyserver pool.sks-keyservers.net --recv-keys A48C2BEE680E841632CD4E44F07496B3EB3C1762 +gpg --keyserver pool.sks-keyservers.net --recv-keys B9E2F5981AA6E0CD28160D9FF13993A75599653C ``` See the section above on [Verifying Binaries](#verifying-binaries) for how to @@ -577,10 +573,16 @@ Other keys used to sign some previous releases: * **Chris Dickinson** <christopher.s.dickinson@gmail.com> `9554F04D7259F04124DE6B476D5A82AC7E37093B` +* **Evan Lucas** <evanlucas@me.com> +`B9AE9905FFD7803F25714661B63B535A4C206CA9` +* **Gibson Fahnestock** <gibfahn@gmail.com> +`77984A986EBC2AA786BC0F66B01FBB92821C587A` * **Isaac Z. Schlueter** <i@izs.me> `93C7E9E91B49E432C2F75674B0A78B0A6C481CF6` * **Italo A. Casas** <me@italoacasas.com> `56730D5401028683275BD23C23EFEFE93C4CFFFE` +* **Jeremiah Senkpiel** <fishrock@keybase.io> +`FD3A5288F042B6850C66B31F09FE44734EB7990E` * **Julien Gilli** <jgilli@fastmail.fm> `114F43EE0176B71C7BC219DD50A3051F888C628D` * **Timothy J Fontaine** <tjfontaine@gmail.com> diff --git a/benchmark/README.md b/benchmark/README.md index c5fdad093471b5..6a40d7af3e1fcf 100644 --- a/benchmark/README.md +++ b/benchmark/README.md @@ -5,7 +5,7 @@ of different Node.js implementations and different ways of writing JavaScript run by the built-in JavaScript engine. For a detailed guide on how to write and run benchmarks in this -directory, see [the guide on benchmarks](writing-and-running-benchmarks.md). +directory, see [the guide on benchmarks](../doc/guides/writing-and-running-benchmarks.md). ## Table of Contents @@ -76,17 +76,17 @@ writing benchmarks. ### `createBenchmark(fn, configs[, options])` -See [the guide on writing benchmarks](writing-and-running-benchmarks.md#basics-of-a-benchmark). +See [the guide on writing benchmarks](../doc/guides/writing-and-running-benchmarks.md#basics-of-a-benchmark). ### `default_http_benchmarker` The default benchmarker used to run HTTP benchmarks. -See [the guide on writing HTTP benchmarks](writing-and-running-benchmarks.md#creating-an-http-benchmark). +See [the guide on writing HTTP benchmarks](../doc/guides/writing-and-running-benchmarks.md#creating-an-http-benchmark). ### `PORT` The default port used to run HTTP benchmarks. -See [the guide on writing HTTP benchmarks](writing-and-running-benchmarks.md#creating-an-http-benchmark). +See [the guide on writing HTTP benchmarks](../doc/guides/writing-and-running-benchmarks.md#creating-an-http-benchmark). ### `sendResult(data)` diff --git a/benchmark/assert/deepequal-buffer.js b/benchmark/assert/deepequal-buffer.js index 6d9162f15173f9..69cca91cc6d752 100644 --- a/benchmark/assert/deepequal-buffer.js +++ b/benchmark/assert/deepequal-buffer.js @@ -6,12 +6,10 @@ const bench = common.createBenchmark(main, { n: [2e4], len: [1e2, 1e3], strict: [0, 1], - method: [ 'deepEqual', 'notDeepEqual' ], + method: ['deepEqual', 'notDeepEqual'], }); function main({ len, n, method, strict }) { - if (!method) - method = 'deepEqual'; const data = Buffer.allocUnsafe(len + 1); const actual = Buffer.alloc(len); const expected = Buffer.alloc(len); diff --git a/benchmark/assert/deepequal-map.js b/benchmark/assert/deepequal-map.js index b88ecf7ce127f9..77408e3d103475 100644 --- a/benchmark/assert/deepequal-map.js +++ b/benchmark/assert/deepequal-map.js @@ -34,8 +34,6 @@ function main({ n, len, method, strict }) { const array = Array(len).fill(1); switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. case 'deepEqual_primitiveOnly': { const values = array.map((_, i) => [`str_${i}`, 123]); benchmark(strict ? deepStrictEqual : deepEqual, n, values); diff --git a/benchmark/assert/deepequal-object.js b/benchmark/assert/deepequal-object.js index e23f6692b3decd..a8c539426a8156 100644 --- a/benchmark/assert/deepequal-object.js +++ b/benchmark/assert/deepequal-object.js @@ -7,7 +7,7 @@ const bench = common.createBenchmark(main, { n: [5e3], size: [1e2, 1e3, 5e4], strict: [0, 1], - method: [ 'deepEqual', 'notDeepEqual' ], + method: ['deepEqual', 'notDeepEqual'], }); function createObj(source, add = '') { @@ -27,9 +27,6 @@ function main({ size, n, method, strict }) { // TODO: Fix this "hack". `n` should not be manipulated. n = Math.min(Math.ceil(n / size), 20); - if (!method) - method = 'deepEqual'; - const source = Array.apply(null, Array(size)); const actual = createObj(source); const expected = createObj(source); diff --git a/benchmark/assert/deepequal-prims-and-objs-big-array-set.js b/benchmark/assert/deepequal-prims-and-objs-big-array-set.js index 0e0ce450bb1a98..ad049ded02ce9d 100644 --- a/benchmark/assert/deepequal-prims-and-objs-big-array-set.js +++ b/benchmark/assert/deepequal-prims-and-objs-big-array-set.js @@ -52,8 +52,6 @@ function main({ n, len, primitive, method, strict }) { const expectedWrongSet = new Set(expectedWrong); switch (method) { - // Empty string falls through to next line as default, mostly for tests. - case '': case 'deepEqual_Array': run(strict ? deepStrictEqual : deepEqual, n, actual, expected); break; diff --git a/benchmark/assert/deepequal-prims-and-objs-big-loop.js b/benchmark/assert/deepequal-prims-and-objs-big-loop.js index 32140f08ded6fb..2d01431b1fc563 100644 --- a/benchmark/assert/deepequal-prims-and-objs-big-loop.js +++ b/benchmark/assert/deepequal-prims-and-objs-big-loop.js @@ -13,12 +13,10 @@ const bench = common.createBenchmark(main, { primitive: Object.keys(primValues), n: [2e4], strict: [0, 1], - method: [ 'deepEqual', 'notDeepEqual' ], + method: ['deepEqual', 'notDeepEqual'], }); function main({ n, primitive, method, strict }) { - if (!method) - method = 'deepEqual'; const prim = primValues[primitive]; const actual = prim; const expected = prim; diff --git a/benchmark/assert/deepequal-set.js b/benchmark/assert/deepequal-set.js index 561a951e6834cc..27ca7c92bce1b0 100644 --- a/benchmark/assert/deepequal-set.js +++ b/benchmark/assert/deepequal-set.js @@ -34,8 +34,6 @@ function main({ n, len, method, strict }) { const array = Array(len).fill(1); switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. case 'deepEqual_primitiveOnly': { const values = array.map((_, i) => `str_${i}`); benchmark(strict ? deepStrictEqual : deepEqual, n, values); diff --git a/benchmark/assert/deepequal-typedarrays.js b/benchmark/assert/deepequal-typedarrays.js index 10ba21a25759e2..188cfce695ed61 100644 --- a/benchmark/assert/deepequal-typedarrays.js +++ b/benchmark/assert/deepequal-typedarrays.js @@ -20,8 +20,6 @@ const bench = common.createBenchmark(main, { }); function main({ type, n, len, method, strict }) { - if (!method) - method = 'deepEqual'; const clazz = global[type]; const actual = new clazz(len); const expected = new clazz(len); diff --git a/benchmark/assert/throws.js b/benchmark/assert/throws.js index c80518377a8742..978ad2f1b8bef0 100644 --- a/benchmark/assert/throws.js +++ b/benchmark/assert/throws.js @@ -15,8 +15,6 @@ function main({ n, method }) { const message = 'failure'; switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. case 'doesNotThrow': bench.start(); for (let i = 0; i < n; ++i) { diff --git a/benchmark/async_hooks/http-server.js b/benchmark/async_hooks/http-server.js index 493500fd1f2d66..9e1c1214240eaa 100644 --- a/benchmark/async_hooks/http-server.js +++ b/benchmark/async_hooks/http-server.js @@ -26,15 +26,15 @@ function main({ asyncHooks, connections }) { } } const server = require('../fixtures/simple-http-server.js') - .listen(common.PORT) - .on('listening', () => { - const path = '/buffer/4/4/normal/1'; + .listen(common.PORT) + .on('listening', () => { + const path = '/buffer/4/4/normal/1'; - bench.http({ - connections, - path, - }, () => { - server.close(); + bench.http({ + connections, + path, + }, () => { + server.close(); + }); }); - }); } diff --git a/benchmark/async_hooks/promises.js b/benchmark/async_hooks/promises.js new file mode 100644 index 00000000000000..eb90ca0368e079 --- /dev/null +++ b/benchmark/async_hooks/promises.js @@ -0,0 +1,30 @@ +'use strict'; +const common = require('../common.js'); +const { createHook } = require('async_hooks'); + +const bench = common.createBenchmark(main, { + n: [1e6], + asyncHooks: [ + 'enabled', + 'disabled', + ] +}); + +async function run(n) { + for (let i = 0; i < n; i++) { + await new Promise((resolve) => resolve()) + .then(() => { throw new Error('foobar'); }) + .catch((e) => e); + } +} + +function main({ n, asyncHooks }) { + const hook = createHook({ promiseResolve() {} }); + if (asyncHooks !== 'disabled') { + hook.enable(); + } + bench.start(); + run(n).then(() => { + bench.end(n); + }); +} diff --git a/benchmark/buffers/buffer-bytelength.js b/benchmark/buffers/buffer-bytelength.js index 1b324a49f89de8..fbbe0f040da56a 100644 --- a/benchmark/buffers/buffer-bytelength.js +++ b/benchmark/buffers/buffer-bytelength.js @@ -17,9 +17,9 @@ const chars = [ function main({ n, len, encoding }) { let strings = []; - let results = [ len * 16 ]; + let results = [len * 16]; if (encoding === 'buffer') { - strings = [ Buffer.alloc(len * 16, 'a') ]; + strings = [Buffer.alloc(len * 16, 'a')]; } else { for (const string of chars) { // Strings must be built differently, depending on encoding diff --git a/benchmark/buffers/buffer-concat-fill.js b/benchmark/buffers/buffer-concat-fill.js new file mode 100644 index 00000000000000..8fb389fe6c8639 --- /dev/null +++ b/benchmark/buffers/buffer-concat-fill.js @@ -0,0 +1,23 @@ +'use strict'; +const common = require('../common.js'); + +const bench = common.createBenchmark(main, { + extraSize: [1, 256, 4 * 256], + n: [8e5] +}); + +function main({ n, extraSize }) { + const pieces = 4; + const pieceSize = 256; + + const list = Array.from({ length: pieces }) + .fill(Buffer.allocUnsafe(pieceSize)); + + const totalLength = (pieces * pieceSize) + extraSize; + + bench.start(); + for (let i = 0; i < n; i++) { + Buffer.concat(list, totalLength); + } + bench.end(n); +} diff --git a/benchmark/buffers/buffer-creation.js b/benchmark/buffers/buffer-creation.js index 38d80da915c070..862bff4fbabe58 100644 --- a/benchmark/buffers/buffer-creation.js +++ b/benchmark/buffers/buffer-creation.js @@ -16,7 +16,6 @@ const bench = common.createBenchmark(main, { function main({ len, n, type }) { let fn, i; switch (type) { - case '': case 'fast-alloc': fn = Buffer.alloc; break; diff --git a/benchmark/buffers/buffer-fill.js b/benchmark/buffers/buffer-fill.js index 02bc2a206c6fe3..8d4d4996068224 100644 --- a/benchmark/buffers/buffer-fill.js +++ b/benchmark/buffers/buffer-fill.js @@ -22,7 +22,7 @@ function main({ n, type, size }) { const buffer = Buffer.allocUnsafe(size); const testFunction = new Function('b', ` for (var i = 0; i < ${n}; i++) { - b.${type || 'fill(0)'}; + b.${type}; } `); bench.start(); diff --git a/benchmark/buffers/buffer-from.js b/benchmark/buffers/buffer-from.js index 1df1b5b362fefa..d0f7d42f5e4369 100644 --- a/benchmark/buffers/buffer-from.js +++ b/benchmark/buffers/buffer-from.js @@ -12,37 +12,37 @@ const bench = common.createBenchmark(main, { 'string-utf8', 'string-base64', 'object', + 'uint8array', + 'uint16array', ], len: [100, 2048], n: [8e5] }); function main({ len, n, source }) { - const array = new Array(len).fill(42); - const arrayBuf = new ArrayBuffer(len); - const str = 'a'.repeat(len); - const buffer = Buffer.allocUnsafe(len); - const uint8array = new Uint8Array(len); - const obj = { length: null }; // Results in a new, empty Buffer - let i = 0; switch (source) { - case 'array': + case 'array': { + const array = new Array(len).fill(42); bench.start(); for (i = 0; i < n; i++) { Buffer.from(array); } bench.end(n); break; - case 'arraybuffer': + } + case 'arraybuffer': { + const arrayBuf = new ArrayBuffer(len); bench.start(); for (i = 0; i < n; i++) { Buffer.from(arrayBuf); } bench.end(n); break; - case 'arraybuffer-middle': + } + case 'arraybuffer-middle': { + const arrayBuf = new ArrayBuffer(len); const offset = ~~(len / 4); const length = ~~(len / 2); bench.start(); @@ -51,48 +51,70 @@ function main({ len, n, source }) { } bench.end(n); break; - case 'buffer': + } + case 'buffer': { + const buffer = Buffer.allocUnsafe(len); bench.start(); for (i = 0; i < n; i++) { Buffer.from(buffer); } bench.end(n); break; - case 'uint8array': + } + case 'uint8array': { + const uint8array = new Uint8Array(len); bench.start(); for (i = 0; i < n; i++) { Buffer.from(uint8array); } bench.end(n); break; - case 'string': + } + case 'uint16array': { + const uint16array = new Uint16Array(len); + bench.start(); + for (i = 0; i < n; i++) { + Buffer.from(uint16array); + } + bench.end(n); + break; + } + case 'string': { + const str = 'a'.repeat(len); bench.start(); for (i = 0; i < n; i++) { Buffer.from(str); } bench.end(n); break; - case 'string-utf8': + } + case 'string-utf8': { + const str = 'a'.repeat(len); bench.start(); for (i = 0; i < n; i++) { Buffer.from(str, 'utf8'); } bench.end(n); break; - case 'string-base64': + } + case 'string-base64': { + const str = 'a'.repeat(len); bench.start(); for (i = 0; i < n; i++) { Buffer.from(str, 'base64'); } bench.end(n); break; - case 'object': + } + case 'object': { + const obj = { length: null }; // Results in a new, empty Buffer bench.start(); for (i = 0; i < n; i++) { Buffer.from(obj); } bench.end(n); break; + } default: assert.fail('Should not get here'); } diff --git a/benchmark/buffers/buffer-iterate.js b/benchmark/buffers/buffer-iterate.js index de002108a95d65..3e2a897903d435 100644 --- a/benchmark/buffers/buffer-iterate.js +++ b/benchmark/buffers/buffer-iterate.js @@ -21,7 +21,7 @@ function main({ size, type, method, n }) { Buffer.alloc(size) : SlowBuffer(size).fill(0); - const fn = methods[method || 'for']; + const fn = methods[method]; bench.start(); fn(buffer, n); diff --git a/benchmark/buffers/buffer-read-float.js b/benchmark/buffers/buffer-read-float.js index e8c4f8bf549628..656762d1d4f1d0 100644 --- a/benchmark/buffers/buffer-read-float.js +++ b/benchmark/buffers/buffer-read-float.js @@ -9,7 +9,6 @@ const bench = common.createBenchmark(main, { }); function main({ n, type, endian, value }) { - type = type || 'Double'; const buff = Buffer.alloc(8); const fn = `read${type}${endian}`; const values = { diff --git a/benchmark/buffers/buffer-read-with-byteLength.js b/benchmark/buffers/buffer-read-with-byteLength.js index 6ba1594b8ac6eb..c51ab11ae986d7 100644 --- a/benchmark/buffers/buffer-read-with-byteLength.js +++ b/benchmark/buffers/buffer-read-with-byteLength.js @@ -19,7 +19,7 @@ function main({ n, buf, type, byteLength }) { const buff = buf === 'fast' ? Buffer.alloc(8) : require('buffer').SlowBuffer(8); - const fn = `read${type || 'IntBE'}`; + const fn = `read${type}`; buff.writeDoubleLE(0, 0); bench.start(); diff --git a/benchmark/buffers/buffer-read.js b/benchmark/buffers/buffer-read.js index 2ddca60df44c29..e0ec13992c2fae 100644 --- a/benchmark/buffers/buffer-read.js +++ b/benchmark/buffers/buffer-read.js @@ -28,7 +28,7 @@ function main({ n, buf, type }) { const buff = buf === 'fast' ? Buffer.alloc(8) : require('buffer').SlowBuffer(8); - const fn = `read${type || 'UInt8'}`; + const fn = `read${type}`; buff.writeDoubleLE(0, 0); bench.start(); diff --git a/benchmark/buffers/buffer-swap.js b/benchmark/buffers/buffer-swap.js index a33bac4ae3ed78..87eb13f48ffae6 100644 --- a/benchmark/buffers/buffer-swap.js +++ b/benchmark/buffers/buffer-swap.js @@ -74,7 +74,7 @@ function genMethod(method) { function main({ method, len, n, aligned = 'true' }) { const buf = createBuffer(len, aligned === 'true'); - const bufferSwap = genMethod(method || 'swap16'); + const bufferSwap = genMethod(method); bufferSwap(n, buf); bench.start(); diff --git a/benchmark/buffers/buffer-write.js b/benchmark/buffers/buffer-write.js index db5a57d0023e72..5025dd2bca0407 100644 --- a/benchmark/buffers/buffer-write.js +++ b/benchmark/buffers/buffer-write.js @@ -74,7 +74,7 @@ function main({ n, buf, type }) { const buff = buf === 'fast' ? Buffer.alloc(8) : require('buffer').SlowBuffer(8); - const fn = `write${type || 'UInt8'}`; + const fn = `write${type}`; if (!/\d/.test(fn)) benchSpecialInt(buff, fn, n); diff --git a/benchmark/buffers/dataview-set.js b/benchmark/buffers/dataview-set.js index a741d11356ea32..b7914fe45f175b 100644 --- a/benchmark/buffers/dataview-set.js +++ b/benchmark/buffers/dataview-set.js @@ -40,7 +40,6 @@ const mod = { }; function main({ n, type }) { - type = type || 'Uint8'; const ab = new ArrayBuffer(8); const dv = new DataView(ab, 0, 8); const le = /LE$/.test(type); diff --git a/benchmark/common.js b/benchmark/common.js index 6a3be4fc376920..62cd4023c1d860 100644 --- a/benchmark/common.js +++ b/benchmark/common.js @@ -3,217 +3,225 @@ const child_process = require('child_process'); const http_benchmarkers = require('./_http-benchmarkers.js'); -exports.buildType = process.features.debug ? 'Debug' : 'Release'; - -exports.createBenchmark = function(fn, configs, options) { - return new Benchmark(fn, configs, options); -}; - -function Benchmark(fn, configs, options) { - // Use the file name as the name of the benchmark - this.name = require.main.filename.slice(__dirname.length + 1); - // Parse job-specific configuration from the command line arguments - const parsed_args = this._parseArgs(process.argv.slice(2), configs); - this.options = parsed_args.cli; - this.extra_options = parsed_args.extra; - // The configuration list as a queue of jobs - this.queue = this._queue(this.options); - // The configuration of the current job, head of the queue - this.config = this.queue[0]; - // Execution arguments i.e. flags used to run the jobs - this.flags = []; - if (options && options.flags) { - this.flags = this.flags.concat(options.flags); - } - if (process.env.NODE_BENCHMARK_FLAGS) { - const flags = process.env.NODE_BENCHMARK_FLAGS.split(/\s+/); - this.flags = this.flags.concat(flags); - } - // Holds process.hrtime value - this._time = [0, 0]; - // Used to make sure a benchmark only start a timer once - this._started = false; - - // this._run will use fork() to create a new process for each configuration - // combination. - if (process.env.hasOwnProperty('NODE_RUN_BENCHMARK_FN')) { - process.nextTick(() => fn(this.config)); - } else { - process.nextTick(() => this._run()); - } -} - -Benchmark.prototype._parseArgs = function(argv, configs) { - const cliOptions = {}; - const extraOptions = {}; - const validArgRE = /^(.+?)=([\s\S]*)$/; - // Parse configuration arguments - for (const arg of argv) { - const match = arg.match(validArgRE); - if (!match) { - console.error(`bad argument: ${arg}`); - process.exit(1); +class Benchmark { + constructor(fn, configs, options) { + // Use the file name as the name of the benchmark + this.name = require.main.filename.slice(__dirname.length + 1); + // Parse job-specific configuration from the command line arguments + const parsed_args = this._parseArgs(process.argv.slice(2), configs); + this.options = parsed_args.cli; + this.extra_options = parsed_args.extra; + // The configuration list as a queue of jobs + this.queue = this._queue(this.options); + // The configuration of the current job, head of the queue + this.config = this.queue[0]; + // Execution arguments i.e. flags used to run the jobs + this.flags = []; + if (options && options.flags) { + this.flags = this.flags.concat(options.flags); } - const config = match[1]; - - if (configs[config]) { - // Infer the type from the config object and parse accordingly - const isNumber = typeof configs[config][0] === 'number'; - const value = isNumber ? +match[2] : match[2]; - if (!cliOptions[config]) - cliOptions[config] = []; - cliOptions[config].push(value); + if (process.env.NODE_BENCHMARK_FLAGS) { + const flags = process.env.NODE_BENCHMARK_FLAGS.split(/\s+/); + this.flags = this.flags.concat(flags); + } + // Holds process.hrtime value + this._time = [0, 0]; + // Used to make sure a benchmark only start a timer once + this._started = false; + this._ended = false; + + // this._run will use fork() to create a new process for each configuration + // combination. + if (process.env.hasOwnProperty('NODE_RUN_BENCHMARK_FN')) { + process.nextTick(() => fn(this.config)); } else { - extraOptions[config] = match[2]; + process.nextTick(() => this._run()); } } - return { cli: Object.assign({}, configs, cliOptions), extra: extraOptions }; -}; - -Benchmark.prototype._queue = function(options) { - const queue = []; - const keys = Object.keys(options); - - // Perform a depth-first walk though all options to generate a - // configuration list that contains all combinations. - function recursive(keyIndex, prevConfig) { - const key = keys[keyIndex]; - const values = options[key]; - const type = typeof values[0]; - for (const value of values) { - if (typeof value !== 'number' && typeof value !== 'string') { - throw new TypeError(`configuration "${key}" had type ${typeof value}`); + _parseArgs(argv, configs) { + const cliOptions = {}; + const extraOptions = {}; + const validArgRE = /^(.+?)=([\s\S]*)$/; + // Parse configuration arguments + for (const arg of argv) { + const match = arg.match(validArgRE); + if (!match) { + console.error(`bad argument: ${arg}`); + process.exit(1); } - if (typeof value !== type) { - // This is a requirement for being able to consistently and predictably - // parse CLI provided configuration values. - throw new TypeError(`configuration "${key}" has mixed types`); + const config = match[1]; + + if (configs[config]) { + // Infer the type from the config object and parse accordingly + const isNumber = typeof configs[config][0] === 'number'; + const value = isNumber ? +match[2] : match[2]; + if (!cliOptions[config]) + cliOptions[config] = []; + cliOptions[config].push(value); + } else { + extraOptions[config] = match[2]; } + } + return { cli: Object.assign({}, configs, cliOptions), extra: extraOptions }; + } - const currConfig = Object.assign({ [key]: value }, prevConfig); - - if (keyIndex + 1 < keys.length) { - recursive(keyIndex + 1, currConfig); - } else { - queue.push(currConfig); + _queue(options) { + const queue = []; + const keys = Object.keys(options); + + // Perform a depth-first walk though all options to generate a + // configuration list that contains all combinations. + function recursive(keyIndex, prevConfig) { + const key = keys[keyIndex]; + const values = options[key]; + const type = typeof values[0]; + + for (const value of values) { + if (typeof value !== 'number' && typeof value !== 'string') { + throw new TypeError( + `configuration "${key}" had type ${typeof value}`); + } + if (typeof value !== type) { + // This is a requirement for being able to consistently and + // predictably parse CLI provided configuration values. + throw new TypeError(`configuration "${key}" has mixed types`); + } + + const currConfig = Object.assign({ [key]: value }, prevConfig); + + if (keyIndex + 1 < keys.length) { + recursive(keyIndex + 1, currConfig); + } else { + queue.push(currConfig); + } } } + + if (keys.length > 0) { + recursive(0, {}); + } else { + queue.push({}); + } + + return queue; } - if (keys.length > 0) { - recursive(0, {}); - } else { - queue.push({}); + http(options, cb) { + const self = this; + const http_options = Object.assign({ }, options); + http_options.benchmarker = http_options.benchmarker || + self.config.benchmarker || + self.extra_options.benchmarker || + exports.default_http_benchmarker; + http_benchmarkers.run( + http_options, (error, code, used_benchmarker, result, elapsed) => { + if (cb) { + cb(code); + } + if (error) { + console.error(error); + process.exit(code || 1); + } + self.config.benchmarker = used_benchmarker; + self.report(result, elapsed); + } + ); } - return queue; -}; + _run() { + const self = this; + // If forked, report to the parent. + if (process.send) { + process.send({ + type: 'config', + name: this.name, + queueLength: this.queue.length, + }); + } + + (function recursive(queueIndex) { + const config = self.queue[queueIndex]; -// Benchmark an http server. -exports.default_http_benchmarker = - http_benchmarkers.default_http_benchmarker; -exports.PORT = http_benchmarkers.PORT; - -Benchmark.prototype.http = function(options, cb) { - const self = this; - const http_options = Object.assign({ }, options); - http_options.benchmarker = http_options.benchmarker || - self.config.benchmarker || - self.extra_options.benchmarker || - exports.default_http_benchmarker; - http_benchmarkers.run( - http_options, (error, code, used_benchmarker, result, elapsed) => { - if (cb) { - cb(code); + // Set NODE_RUN_BENCHMARK_FN to indicate that the child shouldn't + // construct a configuration queue, but just execute the benchmark + // function. + const childEnv = Object.assign({}, process.env); + childEnv.NODE_RUN_BENCHMARK_FN = ''; + + // Create configuration arguments + const childArgs = []; + for (const key of Object.keys(config)) { + childArgs.push(`${key}=${config[key]}`); } - if (error) { - console.error(error); - process.exit(code || 1); + for (const key of Object.keys(self.extra_options)) { + childArgs.push(`${key}=${self.extra_options[key]}`); } - self.config.benchmarker = used_benchmarker; - self.report(result, elapsed); - } - ); -}; -Benchmark.prototype._run = function() { - const self = this; - // If forked, report to the parent. - if (process.send) { - process.send({ - type: 'config', - name: this.name, - queueLength: this.queue.length, - }); + const child = child_process.fork(require.main.filename, childArgs, { + env: childEnv, + execArgv: self.flags.concat(process.execArgv), + }); + child.on('message', sendResult); + child.on('close', (code) => { + if (code) { + process.exit(code); + } + + if (queueIndex + 1 < self.queue.length) { + recursive(queueIndex + 1); + } + }); + })(0); } - (function recursive(queueIndex) { - const config = self.queue[queueIndex]; + start() { + if (this._started) { + throw new Error('Called start more than once in a single benchmark'); + } + this._started = true; + this._time = process.hrtime(); + } - // Set NODE_RUN_BENCHMARK_FN to indicate that the child shouldn't construct - // a configuration queue, but just execute the benchmark function. - const childEnv = Object.assign({}, process.env); - childEnv.NODE_RUN_BENCHMARK_FN = ''; + end(operations) { + // Get elapsed time now and do error checking later for accuracy. + const elapsed = process.hrtime(this._time); - // Create configuration arguments - const childArgs = []; - for (const key of Object.keys(config)) { - childArgs.push(`${key}=${config[key]}`); + if (!this._started) { + throw new Error('called end without start'); } - for (const key of Object.keys(self.extra_options)) { - childArgs.push(`${key}=${self.extra_options[key]}`); + if (this._ended) { + throw new Error('called end multiple times'); + } + if (typeof operations !== 'number') { + throw new Error('called end() without specifying operation count'); + } + if (!process.env.NODEJS_BENCHMARK_ZERO_ALLOWED && operations <= 0) { + throw new Error('called end() with operation count <= 0'); + } + if (elapsed[0] === 0 && elapsed[1] === 0) { + if (!process.env.NODEJS_BENCHMARK_ZERO_ALLOWED) + throw new Error('insufficient clock precision for short benchmark'); + // Avoid dividing by zero + elapsed[1] = 1; } - const child = child_process.fork(require.main.filename, childArgs, { - env: childEnv, - execArgv: self.flags.concat(process.execArgv), - }); - child.on('message', sendResult); - child.on('close', (code) => { - if (code) { - process.exit(code); - } - - if (queueIndex + 1 < self.queue.length) { - recursive(queueIndex + 1); - } - }); - })(0); -}; - -Benchmark.prototype.start = function() { - if (this._started) { - throw new Error('Called start more than once in a single benchmark'); + this._ended = true; + const time = elapsed[0] + elapsed[1] / 1e9; + const rate = operations / time; + this.report(rate, elapsed); } - this._started = true; - this._time = process.hrtime(); -}; - -Benchmark.prototype.end = function(operations) { - // Get elapsed time now and do error checking later for accuracy. - const elapsed = process.hrtime(this._time); - if (!this._started) { - throw new Error('called end without start'); - } - if (typeof operations !== 'number') { - throw new Error('called end() without specifying operation count'); - } - if (!process.env.NODEJS_BENCHMARK_ZERO_ALLOWED && operations <= 0) { - throw new Error('called end() with operation count <= 0'); - } - if (elapsed[0] === 0 && elapsed[1] === 0) { - if (!process.env.NODEJS_BENCHMARK_ZERO_ALLOWED) - throw new Error('insufficient clock precision for short benchmark'); - // Avoid dividing by zero - elapsed[1] = 1; + report(rate, elapsed) { + sendResult({ + name: this.name, + conf: this.config, + rate: rate, + time: elapsed[0] + elapsed[1] / 1e9, + type: 'report', + }); } - - const time = elapsed[0] + elapsed[1] / 1e9; - const rate = operations / time; - this.report(rate, elapsed); -}; +} function formatResult(data) { // Construct configuration string, " A=a, B=b, ..." @@ -237,27 +245,6 @@ function sendResult(data) { console.log(formatResult(data)); } } -exports.sendResult = sendResult; - -Benchmark.prototype.report = function(rate, elapsed) { - sendResult({ - name: this.name, - conf: this.config, - rate: rate, - time: elapsed[0] + elapsed[1] / 1e9, - type: 'report', - }); -}; - -exports.binding = function(bindingName) { - try { - const { internalBinding } = require('internal/test/binding'); - - return internalBinding(bindingName); - } catch { - return process.binding(bindingName); - } -}; const urls = { long: 'http://nodejs.org:89/docs/latest/api/foo/bar/qua/13949281/0f28b/' + @@ -273,7 +260,6 @@ const urls = { percent: 'https://%E4%BD%A0/foo', dot: 'https://example.org/./a/../b/./c', }; -exports.urls = urls; const searchParams = { noencode: 'foo=bar&baz=quux&xyzzy=thud', @@ -288,7 +274,6 @@ const searchParams = { manyblankpairs: '&&&&&&&&&&&&&&&&&&&&&&&&', altspaces: 'foo+bar=baz+quux&xyzzy+thud=quuy+quuz&abc=def+ghi', }; -exports.searchParams = searchParams; function getUrlData(withBase) { const data = require('../test/fixtures/wpt/url/resources/urltestdata.json'); @@ -304,8 +289,6 @@ function getUrlData(withBase) { return result; } -exports.urlDataTypes = Object.keys(urls).concat(['wpt']); - /** * Generate an array of data for URL benchmarks to use. * The size of the resulting data set is the original data size * 2 ** `e`. @@ -349,4 +332,27 @@ function bakeUrlData(type, e = 0, withBase = false, asUrl = false) { } return result; } -exports.bakeUrlData = bakeUrlData; + +module.exports = { + PORT: http_benchmarkers.PORT, + bakeUrlData, + binding(bindingName) { + try { + const { internalBinding } = require('internal/test/binding'); + + return internalBinding(bindingName); + } catch { + return process.binding(bindingName); + } + }, + buildType: process.features.debug ? 'Debug' : 'Release', + createBenchmark(fn, configs, options) { + return new Benchmark(fn, configs, options); + }, + // Benchmark an http server. + default_http_benchmarker: http_benchmarkers.default_http_benchmarker, + sendResult, + searchParams, + urlDataTypes: Object.keys(urls).concat(['wpt']), + urls, +}; diff --git a/benchmark/crypto/aes-gcm-throughput.js b/benchmark/crypto/aes-gcm-throughput.js index b1b08c481700ea..3f2b9ba45eb3f2 100644 --- a/benchmark/crypto/aes-gcm-throughput.js +++ b/benchmark/crypto/aes-gcm-throughput.js @@ -9,9 +9,6 @@ const bench = common.createBenchmark(main, { }); function main({ n, len, cipher }) { - // Default cipher for tests. - if (cipher === '') - cipher = 'aes-128-gcm'; const message = Buffer.alloc(len, 'b'); const key = crypto.randomBytes(keylen[cipher]); const iv = crypto.randomBytes(12); diff --git a/benchmark/crypto/cipher-stream.js b/benchmark/crypto/cipher-stream.js index 4bb1695e2d20cc..a51f72be8b8d17 100644 --- a/benchmark/crypto/cipher-stream.js +++ b/benchmark/crypto/cipher-stream.js @@ -3,16 +3,13 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { writes: [500], - cipher: [ 'AES192', 'AES256' ], + cipher: ['AES192', 'AES256'], type: ['asc', 'utf', 'buf'], len: [2, 1024, 102400, 1024 * 1024], api: ['legacy', 'stream'] }); function main({ api, cipher, type, len, writes }) { - // Default cipher for tests. - if (cipher === '') - cipher = 'AES192'; if (api === 'stream' && /^v0\.[0-8]\./.test(process.version)) { console.error('Crypto streams not available until v0.10'); // Use the legacy, just so that we can compare them. @@ -27,7 +24,6 @@ function main({ api, cipher, type, len, writes }) { alice.generateKeys(); bob.generateKeys(); - const pubEnc = /^v0\.[0-8]/.test(process.version) ? 'binary' : null; const alice_secret = alice.computeSecret(bob.getPublicKey(), pubEnc, 'hex'); const bob_secret = bob.computeSecret(alice.getPublicKey(), pubEnc, 'hex'); diff --git a/benchmark/crypto/randomBytes.js b/benchmark/crypto/randomBytes.js new file mode 100644 index 00000000000000..50ad3f08387566 --- /dev/null +++ b/benchmark/crypto/randomBytes.js @@ -0,0 +1,16 @@ +'use strict'; + +const common = require('../common.js'); +const { randomBytes } = require('crypto'); + +const bench = common.createBenchmark(main, { + size: [64, 1024, 8192, 512 * 1024], + n: [1e3], +}); + +function main({ n, size }) { + bench.start(); + for (let i = 0; i < n; ++i) + randomBytes(size); + bench.end(n); +} diff --git a/benchmark/domain/domain-fn-args.js b/benchmark/domain/domain-fn-args.js index c889b35442d046..18906a9ce64099 100644 --- a/benchmark/domain/domain-fn-args.js +++ b/benchmark/domain/domain-fn-args.js @@ -15,7 +15,7 @@ function main({ n, args }) { bench.start(); bdomain.enter(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { if (myArguments.length >= 2) { const args = Array.prototype.slice.call(myArguments, 1); fn.apply(this, args); diff --git a/benchmark/es/defaultparams-bench.js b/benchmark/es/defaultparams-bench.js index c568c12ae03fda..fde4cb11ad448a 100644 --- a/benchmark/es/defaultparams-bench.js +++ b/benchmark/es/defaultparams-bench.js @@ -22,22 +22,20 @@ function defaultParams(x = 1, y = 2) { function runOldStyleDefaults(n) { bench.start(); - for (var i = 0; i < n; i++) + for (let i = 0; i < n; i++) oldStyleDefaults(); bench.end(n); } function runDefaultParams(n) { bench.start(); - for (var i = 0; i < n; i++) + for (let i = 0; i < n; i++) defaultParams(); bench.end(n); } function main({ n, method }) { switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. case 'withoutdefaults': runOldStyleDefaults(n); break; diff --git a/benchmark/es/destructuring-bench.js b/benchmark/es/destructuring-bench.js index 37f3fd9ad3d601..c07c0383da91ac 100644 --- a/benchmark/es/destructuring-bench.js +++ b/benchmark/es/destructuring-bench.js @@ -9,9 +9,9 @@ const bench = common.createBenchmark(main, { }); function runSwapManual(n) { - var x, y, r; + let x, y, r; bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { x = 1, y = 2; r = x; x = y; @@ -23,9 +23,9 @@ function runSwapManual(n) { } function runSwapDestructured(n) { - var x, y; + let x, y; bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { x = 1, y = 2; [x, y] = [y, x]; assert.strictEqual(x, 2); @@ -36,8 +36,6 @@ function runSwapDestructured(n) { function main({ n, method }) { switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. case 'swap': runSwapManual(n); break; diff --git a/benchmark/es/destructuring-object-bench.js b/benchmark/es/destructuring-object-bench.js index 0c5615fd1e667b..29c83bd188e89d 100644 --- a/benchmark/es/destructuring-object-bench.js +++ b/benchmark/es/destructuring-object-bench.js @@ -8,10 +8,9 @@ const bench = common.createBenchmark(main, { }); function runNormal(n) { - var i = 0; const o = { x: 0, y: 1 }; bench.start(); - for (; i < n; i++) { + for (let i = 0; i < n; i++) { /* eslint-disable no-unused-vars */ const x = o.x; const y = o.y; @@ -22,10 +21,9 @@ function runNormal(n) { } function runDestructured(n) { - var i = 0; const o = { x: 0, y: 1 }; bench.start(); - for (; i < n; i++) { + for (let i = 0; i < n; i++) { /* eslint-disable no-unused-vars */ const { x, y, r = 2 } = o; /* eslint-enable no-unused-vars */ @@ -35,8 +33,6 @@ function runDestructured(n) { function main({ n, method }) { switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. case 'normal': runNormal(n); break; diff --git a/benchmark/es/foreach-bench.js b/benchmark/es/foreach-bench.js index f424ca7a2552b2..6992a1a5749438 100644 --- a/benchmark/es/foreach-bench.js +++ b/benchmark/es/foreach-bench.js @@ -10,8 +10,8 @@ const bench = common.createBenchmark(main, { function useFor(n, items, count) { bench.start(); - for (var i = 0; i < n; i++) { - for (var j = 0; j < count; j++) { + for (let i = 0; i < n; i++) { + for (let j = 0; j < count; j++) { // eslint-disable-next-line no-unused-vars const item = items[j]; } @@ -21,7 +21,7 @@ function useFor(n, items, count) { function useForOf(n, items) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { // eslint-disable-next-line no-unused-vars for (const item of items) {} } @@ -30,8 +30,8 @@ function useForOf(n, items) { function useForIn(n, items) { bench.start(); - for (var i = 0; i < n; i++) { - for (var j in items) { + for (let i = 0; i < n; i++) { + for (const j in items) { // eslint-disable-next-line no-unused-vars const item = items[j]; } @@ -41,7 +41,7 @@ function useForIn(n, items) { function useForEach(n, items) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { items.forEach((item) => {}); } bench.end(n); @@ -49,13 +49,11 @@ function useForEach(n, items) { function main({ n, count, method }) { const items = new Array(count); - var fn; - for (var i = 0; i < count; i++) + let fn; + for (let i = 0; i < count; i++) items[i] = i; switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. case 'for': fn = useFor; break; diff --git a/benchmark/es/map-bench.js b/benchmark/es/map-bench.js index a2f9e2450a1f23..d0b8534cf7c906 100644 --- a/benchmark/es/map-bench.js +++ b/benchmark/es/map-bench.js @@ -14,7 +14,7 @@ const bench = common.createBenchmark(main, { function runObject(n) { const m = {}; bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { m[`i${i}`] = i; m[`s${i}`] = String(i); assert.strictEqual(String(m[`i${i}`]), m[`s${i}`]); @@ -27,7 +27,7 @@ function runObject(n) { function runNullProtoObject(n) { const m = Object.create(null); bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { m[`i${i}`] = i; m[`s${i}`] = String(i); assert.strictEqual(String(m[`i${i}`]), m[`s${i}`]); @@ -40,7 +40,7 @@ function runNullProtoObject(n) { function runNullProtoLiteralObject(n) { const m = { __proto__: null }; bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { m[`i${i}`] = i; m[`s${i}`] = String(i); assert.strictEqual(String(m[`i${i}`]), m[`s${i}`]); @@ -56,7 +56,7 @@ StorageObject.prototype = Object.create(null); function runStorageObject(n) { const m = new StorageObject(); bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { m[`i${i}`] = i; m[`s${i}`] = String(i); assert.strictEqual(String(m[`i${i}`]), m[`s${i}`]); @@ -79,7 +79,7 @@ function fakeMap() { function runFakeMap(n) { const m = fakeMap(); bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { m.set(`i${i}`, i); m.set(`s${i}`, String(i)); assert.strictEqual(String(m.get(`i${i}`)), m.get(`s${i}`)); @@ -92,7 +92,7 @@ function runFakeMap(n) { function runMap(n) { const m = new Map(); bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { m.set(`i${i}`, i); m.set(`s${i}`, String(i)); assert.strictEqual(String(m.get(`i${i}`)), m.get(`s${i}`)); @@ -104,8 +104,6 @@ function runMap(n) { function main({ n, method }) { switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. case 'object': runObject(n); break; diff --git a/benchmark/es/restparams-bench.js b/benchmark/es/restparams-bench.js index d9b4878cb316a0..8129bc92533332 100644 --- a/benchmark/es/restparams-bench.js +++ b/benchmark/es/restparams-bench.js @@ -11,7 +11,7 @@ const bench = common.createBenchmark(main, { function copyArguments() { const len = arguments.length; const args = new Array(len); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) args[i] = arguments[i]; assert.strictEqual(args[0], 1); assert.strictEqual(args[1], 2); @@ -34,25 +34,23 @@ function useArguments() { } function runCopyArguments(n) { - for (var i = 0; i < n; i++) + for (let i = 0; i < n; i++) copyArguments(1, 2, 'a', 'b'); } function runRestArguments(n) { - for (var i = 0; i < n; i++) + for (let i = 0; i < n; i++) restArguments(1, 2, 'a', 'b'); } function runUseArguments(n) { - for (var i = 0; i < n; i++) + for (let i = 0; i < n; i++) useArguments(1, 2, 'a', 'b'); } function main({ n, method }) { - var fn; + let fn; switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. case 'copy': fn = runCopyArguments; break; diff --git a/benchmark/es/spread-assign.js b/benchmark/es/spread-assign.js index bbe07e02e15110..970512aa6b93d4 100644 --- a/benchmark/es/spread-assign.js +++ b/benchmark/es/spread-assign.js @@ -16,26 +16,23 @@ function main({ n, context, count, rest, method }) { src[`p${n}`] = n; let obj; // eslint-disable-line no-unused-vars - let i; switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. case '_extend': bench.start(); - for (i = 0; i < n; i++) + for (let i = 0; i < n; i++) obj = util._extend({}, src); bench.end(n); break; case 'assign': bench.start(); - for (i = 0; i < n; i++) + for (let i = 0; i < n; i++) obj = Object.assign({}, src); bench.end(n); break; case 'spread': bench.start(); - for (i = 0; i < n; i++) + for (let i = 0; i < n; i++) obj = { ...src }; bench.end(n); break; diff --git a/benchmark/es/spread-bench.js b/benchmark/es/spread-bench.js index 97c7596b6b732b..ae5b4abbb99c02 100644 --- a/benchmark/es/spread-bench.js +++ b/benchmark/es/spread-bench.js @@ -25,18 +25,16 @@ function makeTest(count, rest) { function main({ n, context, count, rest, method }) { const ctx = context === 'context' ? {} : null; - var fn = makeTest(count, rest); + let fn = makeTest(count, rest); const args = new Array(count); - var i; - for (i = 0; i < count; i++) + + for (let i = 0; i < count; i++) args[i] = i; switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. case 'apply': bench.start(); - for (i = 0; i < n; i++) + for (let i = 0; i < n; i++) fn.apply(ctx, args); bench.end(n); break; @@ -44,13 +42,13 @@ function main({ n, context, count, rest, method }) { if (ctx !== null) fn = fn.bind(ctx); bench.start(); - for (i = 0; i < n; i++) + for (let i = 0; i < n; i++) fn(...args); bench.end(n); break; case 'call-spread': bench.start(); - for (i = 0; i < n; i++) + for (let i = 0; i < n; i++) fn.call(ctx, ...args); bench.end(n); break; diff --git a/benchmark/es/string-concatenations.js b/benchmark/es/string-concatenations.js index 72fb7f9969b604..3c0b27e05019d1 100644 --- a/benchmark/es/string-concatenations.js +++ b/benchmark/es/string-concatenations.js @@ -23,8 +23,6 @@ function main({ n, mode }) { let string; switch (mode) { - case '': - // Empty string falls through to next line as default, mostly for tests. case 'multi-concat': bench.start(); for (let i = 0; i < n; i++) diff --git a/benchmark/es/string-repeat.js b/benchmark/es/string-repeat.js index 9e33e4acf47118..f4bd616e4ada4b 100644 --- a/benchmark/es/string-repeat.js +++ b/benchmark/es/string-repeat.js @@ -18,8 +18,6 @@ function main({ n, size, encoding, mode }) { let str; switch (mode) { - case '': - // Empty string falls through to next line as default, mostly for tests. case 'Array': bench.start(); for (let i = 0; i < n; i++) diff --git a/benchmark/events/ee-add-remove.js b/benchmark/events/ee-add-remove.js index 2d20736b057568..715eab29a59c4c 100644 --- a/benchmark/events/ee-add-remove.js +++ b/benchmark/events/ee-add-remove.js @@ -8,17 +8,16 @@ function main({ n }) { const ee = new events.EventEmitter(); const listeners = []; - var k; - for (k = 0; k < 10; k += 1) + for (let k = 0; k < 10; k += 1) listeners.push(() => {}); bench.start(); - for (var i = 0; i < n; i += 1) { + for (let i = 0; i < n; i += 1) { const dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1'; - for (k = listeners.length; --k >= 0; /* empty */) { + for (let k = listeners.length; --k >= 0; /* empty */) { ee.on(dummy, listeners[k]); } - for (k = listeners.length; --k >= 0; /* empty */) { + for (let k = listeners.length; --k >= 0; /* empty */) { ee.removeListener(dummy, listeners[k]); } } diff --git a/benchmark/events/ee-emit.js b/benchmark/events/ee-emit.js index 8f1c2761ffd4ba..39bcbb937d6c56 100644 --- a/benchmark/events/ee-emit.js +++ b/benchmark/events/ee-emit.js @@ -11,35 +11,34 @@ const bench = common.createBenchmark(main, { function main({ n, argc, listeners }) { const ee = new EventEmitter(); - for (var k = 0; k < listeners; k += 1) + for (let k = 0; k < listeners; k += 1) ee.on('dummy', () => {}); - var i; switch (argc) { case 2: bench.start(); - for (i = 0; i < n; i += 1) { + for (let i = 0; i < n; i += 1) { ee.emit('dummy', true, 5); } bench.end(n); break; case 4: bench.start(); - for (i = 0; i < n; i += 1) { + for (let i = 0; i < n; i += 1) { ee.emit('dummy', true, 5, 10, false); } bench.end(n); break; case 10: bench.start(); - for (i = 0; i < n; i += 1) { + for (let i = 0; i < n; i += 1) { ee.emit('dummy', true, 5, 10, false, 5, 'string', true, false, 11, 20); } bench.end(n); break; default: bench.start(); - for (i = 0; i < n; i += 1) { + for (let i = 0; i < n; i += 1) { ee.emit('dummy'); } bench.end(n); diff --git a/benchmark/events/ee-listener-count-on-prototype.js b/benchmark/events/ee-listener-count-on-prototype.js index d48e96a46aafe2..04cadc8dcb64da 100644 --- a/benchmark/events/ee-listener-count-on-prototype.js +++ b/benchmark/events/ee-listener-count-on-prototype.js @@ -7,13 +7,13 @@ const bench = common.createBenchmark(main, { n: [5e7] }); function main({ n }) { const ee = new EventEmitter(); - for (var k = 0; k < 5; k += 1) { + for (let k = 0; k < 5; k += 1) { ee.on('dummy0', () => {}); ee.on('dummy1', () => {}); } bench.start(); - for (var i = 0; i < n; i += 1) { + for (let i = 0; i < n; i += 1) { const dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1'; ee.listenerCount(dummy); } diff --git a/benchmark/events/ee-listeners-many.js b/benchmark/events/ee-listeners-many.js index 7f9099c41790ea..bd3f3538d63c92 100644 --- a/benchmark/events/ee-listeners-many.js +++ b/benchmark/events/ee-listeners-many.js @@ -8,13 +8,13 @@ function main({ n }) { const ee = new EventEmitter(); ee.setMaxListeners(101); - for (var k = 0; k < 50; k += 1) { + for (let k = 0; k < 50; k += 1) { ee.on('dummy0', () => {}); ee.on('dummy1', () => {}); } bench.start(); - for (var i = 0; i < n; i += 1) { + for (let i = 0; i < n; i += 1) { const dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1'; ee.listeners(dummy); } diff --git a/benchmark/events/ee-listeners.js b/benchmark/events/ee-listeners.js index 74b88b043401b5..867393efffcb04 100644 --- a/benchmark/events/ee-listeners.js +++ b/benchmark/events/ee-listeners.js @@ -7,13 +7,13 @@ const bench = common.createBenchmark(main, { n: [5e6] }); function main({ n }) { const ee = new EventEmitter(); - for (var k = 0; k < 5; k += 1) { + for (let k = 0; k < 5; k += 1) { ee.on('dummy0', () => {}); ee.on('dummy1', () => {}); } bench.start(); - for (var i = 0; i < n; i += 1) { + for (let i = 0; i < n; i += 1) { const dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1'; ee.listeners(dummy); } diff --git a/benchmark/fixtures/simple-http-server.js b/benchmark/fixtures/simple-http-server.js index 2b4f1ea956d7cc..fb5b0d87c16e0d 100644 --- a/benchmark/fixtures/simple-http-server.js +++ b/benchmark/fixtures/simple-http-server.js @@ -31,14 +31,14 @@ module.exports = http.createServer((req, res) => { // URL format: /////chunkedEnc const params = req.url.split('/'); const command = params[1]; - var body = ''; + let body = ''; const arg = params[2]; const n_chunks = parseInt(params[3], 10); const resHow = params.length >= 5 ? params[4] : 'normal'; const chunkedEnc = params.length >= 6 && params[5] === '0' ? false : true; - var status = 200; + let status = 200; - var n, i; + let n, i; if (command === 'bytes') { n = ~~arg; if (n <= 0) diff --git a/benchmark/fs/bench-readdirSync.js b/benchmark/fs/bench-readdirSync.js index 5d0e97399a33ff..c0144d3460f8ff 100644 --- a/benchmark/fs/bench-readdirSync.js +++ b/benchmark/fs/bench-readdirSync.js @@ -15,7 +15,7 @@ function main({ n, dir, withFileTypes }) { withFileTypes = withFileTypes === 'true'; const fullPath = path.resolve(__dirname, '../../', dir); bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { fs.readdirSync(fullPath, { withFileTypes }); } bench.end(n); diff --git a/benchmark/fs/bench-realpathSync.js b/benchmark/fs/bench-realpathSync.js index 7a01bd18cb72bf..d0dbd7f891f126 100644 --- a/benchmark/fs/bench-realpathSync.js +++ b/benchmark/fs/bench-realpathSync.js @@ -17,7 +17,7 @@ const bench = common.createBenchmark(main, { function main({ n, pathType }) { const path = pathType === 'relative' ? relative_path : resolved_path; bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { fs.realpathSync(path); } bench.end(n); diff --git a/benchmark/fs/bench-stat.js b/benchmark/fs/bench-stat.js index 0b2e1972e2cb80..e1f51c762c8e5f 100644 --- a/benchmark/fs/bench-stat.js +++ b/benchmark/fs/bench-stat.js @@ -10,7 +10,7 @@ const bench = common.createBenchmark(main, { function main({ n, statType }) { - var arg; + let arg; if (statType === 'fstat') arg = fs.openSync(__filename, 'r'); else diff --git a/benchmark/fs/bench-statSync.js b/benchmark/fs/bench-statSync.js index bd8754a6c3d0e3..0c9366a402cb71 100644 --- a/benchmark/fs/bench-statSync.js +++ b/benchmark/fs/bench-statSync.js @@ -16,7 +16,7 @@ function main({ n, statSyncType }) { const fn = fs[statSyncType]; bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { fn(arg); } bench.end(n); diff --git a/benchmark/fs/read-stream-throughput.js b/benchmark/fs/read-stream-throughput.js index cb5d98dc3279f6..de840d2d2fa3e1 100644 --- a/benchmark/fs/read-stream-throughput.js +++ b/benchmark/fs/read-stream-throughput.js @@ -49,7 +49,7 @@ function runTest() { bench.start(); }); - var bytes = 0; + let bytes = 0; rs.on('data', (chunk) => { bytes += chunk.length; }); @@ -65,7 +65,7 @@ function makeFile() { const buf = Buffer.allocUnsafe(filesize / 1024); if (encoding === 'utf8') { // ü - for (var i = 0; i < buf.length; i++) { + for (let i = 0; i < buf.length; i++) { buf[i] = i % 2 === 0 ? 0xC3 : 0xBC; } } else if (encoding === 'ascii') { @@ -75,7 +75,7 @@ function makeFile() { } try { fs.unlinkSync(filename); } catch {} - var w = 1024; + let w = 1024; const ws = fs.createWriteStream(filename); ws.on('close', runTest); ws.on('drain', write); diff --git a/benchmark/fs/readFileSync.js b/benchmark/fs/readFileSync.js index c28adeb229b358..47d210b7aa0463 100644 --- a/benchmark/fs/readFileSync.js +++ b/benchmark/fs/readFileSync.js @@ -9,7 +9,7 @@ const bench = common.createBenchmark(main, { function main({ n }) { bench.start(); - for (var i = 0; i < n; ++i) + for (let i = 0; i < n; ++i) fs.readFileSync(__filename); bench.end(n); } diff --git a/benchmark/fs/readfile-partitioned.js b/benchmark/fs/readfile-partitioned.js index 90af3754ce3de2..51700cfd649dfd 100644 --- a/benchmark/fs/readfile-partitioned.js +++ b/benchmark/fs/readfile-partitioned.js @@ -22,25 +22,24 @@ const bench = common.createBenchmark(main, { concurrent: [1, 10] }); -function main(conf) { - const len = +conf.len; +function main({ len, dur, concurrent }) { try { fs.unlinkSync(filename); } catch {} - var data = Buffer.alloc(len, 'x'); + let data = Buffer.alloc(len, 'x'); fs.writeFileSync(filename, data); data = null; const zipData = Buffer.alloc(1024, 'a'); - var reads = 0; - var zips = 0; - var benchEnded = false; + let reads = 0; + let zips = 0; + let benchEnded = false; bench.start(); setTimeout(() => { const totalOps = reads + zips; benchEnded = true; bench.end(totalOps); try { fs.unlinkSync(filename); } catch {} - }, +conf.dur * 1000); + }, dur * 1000); function read() { fs.readFile(filename, afterRead); @@ -78,8 +77,7 @@ function main(conf) { } // Start reads - var cur = +conf.concurrent; - while (cur--) read(); + while (concurrent-- > 0) read(); // Start a competing zip zip(); diff --git a/benchmark/fs/readfile.js b/benchmark/fs/readfile.js index 551804b1dbab1f..43393bf1b33ef3 100644 --- a/benchmark/fs/readfile.js +++ b/benchmark/fs/readfile.js @@ -18,12 +18,12 @@ const bench = common.createBenchmark(main, { function main({ len, dur, concurrent }) { try { fs.unlinkSync(filename); } catch {} - var data = Buffer.alloc(len, 'x'); + let data = Buffer.alloc(len, 'x'); fs.writeFileSync(filename, data); data = null; - var reads = 0; - var benchEnded = false; + let reads = 0; + let benchEnded = false; bench.start(); setTimeout(() => { benchEnded = true; diff --git a/benchmark/fs/write-stream-throughput.js b/benchmark/fs/write-stream-throughput.js index 3936adc7ff1b42..f715dfb96d8679 100644 --- a/benchmark/fs/write-stream-throughput.js +++ b/benchmark/fs/write-stream-throughput.js @@ -14,9 +14,9 @@ const bench = common.createBenchmark(main, { }); function main({ dur, encodingType, size }) { - var encoding; + let encoding; - var chunk; + let chunk; switch (encodingType) { case 'buf': chunk = Buffer.alloc(size, 'b'); @@ -35,8 +35,8 @@ function main({ dur, encodingType, size }) { try { fs.unlinkSync(filename); } catch {} - var started = false; - var ended = false; + let started = false; + let ended = false; const f = fs.createWriteStream(filename); f.on('drain', write); diff --git a/benchmark/http/_chunky_http_client.js b/benchmark/http/_chunky_http_client.js index 1bf7fa284a835b..1ab95a2b9706c1 100644 --- a/benchmark/http/_chunky_http_client.js +++ b/benchmark/http/_chunky_http_client.js @@ -12,7 +12,7 @@ const bench = common.createBenchmark(main, { function main({ len, n }) { - var todo = []; + let todo = []; const headers = []; // Chose 7 because 9 showed "Connection error" / "Connection closed" // An odd number could result in a better length dispersion. @@ -48,19 +48,19 @@ function main({ len, n }) { } const min = 10; - var size = 0; + let size = 0; const mod = 317; const mult = 17; const add = 11; - var count = 0; + let count = 0; const PIPE = process.env.PIPE_NAME; const socket = net.connect(PIPE, () => { bench.start(); WriteHTTPHeaders(socket, 1, len); socket.setEncoding('utf8'); socket.on('data', (d) => { - var did = false; - var pattern = 'HTTP/1.1 200 OK\r\n'; + let did = false; + let pattern = 'HTTP/1.1 200 OK\r\n'; if ((d.length === pattern.length && d === pattern) || (d.length > pattern.length && d.slice(0, pattern.length) === pattern)) { diff --git a/benchmark/http/client-request-body.js b/benchmark/http/client-request-body.js index b5ac2828c6ff1f..6e2323b3f07e8a 100644 --- a/benchmark/http/client-request-body.js +++ b/benchmark/http/client-request-body.js @@ -12,8 +12,8 @@ const bench = common.createBenchmark(main, { }); function main({ dur, len, type, method }) { - var encoding; - var chunk; + let encoding; + let chunk; switch (type) { case 'buf': chunk = Buffer.alloc(len, 'x'); @@ -27,7 +27,7 @@ function main({ dur, len, type, method }) { break; } - var nreqs = 0; + let nreqs = 0; const options = { headers: { 'Connection': 'keep-alive', 'Transfer-Encoding': 'chunked' }, agent: new http.Agent({ maxSockets: 1 }), diff --git a/benchmark/http/cluster.js b/benchmark/http/cluster.js index c2d6d8e1a70c90..3bcd061a0894c5 100644 --- a/benchmark/http/cluster.js +++ b/benchmark/http/cluster.js @@ -18,7 +18,7 @@ if (cluster.isMaster) { function main({ type, len, c }) { process.env.PORT = PORT; - var workers = 0; + let workers = 0; const w1 = cluster.fork(); const w2 = cluster.fork(); diff --git a/benchmark/http/end-vs-write-end.js b/benchmark/http/end-vs-write-end.js index b4ca560b9a897c..38e9b89a97a6b4 100644 --- a/benchmark/http/end-vs-write-end.js +++ b/benchmark/http/end-vs-write-end.js @@ -19,7 +19,7 @@ const bench = common.createBenchmark(main, { function main({ len, type, method, c }) { const http = require('http'); - var chunk; + let chunk; switch (type) { case 'buf': chunk = Buffer.alloc(len, 'x'); diff --git a/benchmark/http/set_header.js b/benchmark/http/set_header.js index 470d4b008187bc..f2236696f1c7df 100644 --- a/benchmark/http/set_header.js +++ b/benchmark/http/set_header.js @@ -16,10 +16,7 @@ const bench = common.createBenchmark(main, { n: [1e6], }); -function main(conf) { - const n = +conf.n; - const value = conf.value; - +function main({ n, value }) { const og = new OutgoingMessage(); bench.start(); diff --git a/benchmark/http2/headers.js b/benchmark/http2/headers.js index f18a73b95e2421..56799da1987e53 100644 --- a/benchmark/http2/headers.js +++ b/benchmark/http2/headers.js @@ -24,7 +24,7 @@ function main({ n, nheaders }) { 'user-agent': 'SuperBenchmarker 3000' }; - for (var i = 0; i < nheaders; i++) { + for (let i = 0; i < nheaders; i++) { headersObject[`foo${i}`] = `some header value ${i}`; } diff --git a/benchmark/misc/arguments.js b/benchmark/misc/arguments.js index 5b0cb0e2ca1488..39f4020b1ad20e 100644 --- a/benchmark/misc/arguments.js +++ b/benchmark/misc/arguments.js @@ -32,10 +32,8 @@ function usingPredefined() { } function main({ n, method, args }) { - var fn; + let fn; switch (method) { - // '' is a default case for tests - case '': case 'restAndSpread': fn = usingRestAndSpread; break; @@ -53,7 +51,7 @@ function main({ n, method, args }) { } bench.start(); - for (var i = 0; i < n; i++) + for (let i = 0; i < n; i++) fn('part 1', 'part', 2, 'part 3', 'part', 4); bench.end(n); } diff --git a/benchmark/misc/freelist.js b/benchmark/misc/freelist.js index e6868fae1ce8c5..d03c3674fdbfac 100644 --- a/benchmark/misc/freelist.js +++ b/benchmark/misc/freelist.js @@ -14,7 +14,7 @@ function main({ n }) { FreeList = FreeList.FreeList; const poolSize = 1000; const list = new FreeList('test', poolSize, Object); - var j; + let j; const used = []; // First, alloc `poolSize` items @@ -24,7 +24,7 @@ function main({ n }) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { // Return all the items to the pool for (j = 0; j < poolSize; j++) { list.free(used[j]); diff --git a/benchmark/misc/getstringwidth.js b/benchmark/misc/getstringwidth.js index 12f071c60dd7eb..9dd4b47df7182e 100644 --- a/benchmark/misc/getstringwidth.js +++ b/benchmark/misc/getstringwidth.js @@ -10,7 +10,7 @@ const bench = common.createBenchmark(main, { }); function main({ n, type }) { - const { getStringWidth } = require('internal/readline/utils'); + const { getStringWidth } = require('internal/util/inspect'); const str = ({ ascii: 'foobar'.repeat(100), diff --git a/benchmark/misc/object-property-bench.js b/benchmark/misc/object-property-bench.js index fae11119b6fe23..9b33ac9a636889 100644 --- a/benchmark/misc/object-property-bench.js +++ b/benchmark/misc/object-property-bench.js @@ -11,9 +11,9 @@ const bench = common.createBenchmark(main, { function runProperty(n) { const object = {}; - var i = 0; + bench.start(); - for (; i < n; i++) { + for (let i = 0; i < n; i++) { object.p1 = 21; object.p2 = 21; object.p1 += object.p2; @@ -23,9 +23,9 @@ function runProperty(n) { function runString(n) { const object = {}; - var i = 0; + bench.start(); - for (; i < n; i++) { + for (let i = 0; i < n; i++) { object['p1'] = 21; object['p2'] = 21; object['p1'] += object['p2']; @@ -37,9 +37,9 @@ function runVariable(n) { const object = {}; const var1 = 'p1'; const var2 = 'p2'; - var i = 0; + bench.start(); - for (; i < n; i++) { + for (let i = 0; i < n; i++) { object[var1] = 21; object[var2] = 21; object[var1] += object[var2]; @@ -51,9 +51,9 @@ function runSymbol(n) { const object = {}; const symbol1 = Symbol('p1'); const symbol2 = Symbol('p2'); - var i = 0; + bench.start(); - for (; i < n; i++) { + for (let i = 0; i < n; i++) { object[symbol1] = 21; object[symbol2] = 21; object[symbol1] += object[symbol2]; @@ -64,8 +64,6 @@ function runSymbol(n) { function main({ n, method }) { switch (method) { - // '' is a default case for tests - case '': case 'property': runProperty(n); break; diff --git a/benchmark/misc/punycode.js b/benchmark/misc/punycode.js index 18023419709ee5..9c674b5deefb8c 100644 --- a/benchmark/misc/punycode.js +++ b/benchmark/misc/punycode.js @@ -45,26 +45,23 @@ function usingICU(val) { } function runPunycode(n, val) { - var i = 0; - for (; i < n; i++) + for (let i = 0; i < n; i++) usingPunycode(val); bench.start(); - for (i = 0; i < n; i++) + for (let i = 0; i < n; i++) usingPunycode(val); bench.end(n); } function runICU(n, val) { bench.start(); - for (var i = 0; i < n; i++) + for (let i = 0; i < n; i++) usingICU(val); bench.end(n); } function main({ n, val, method }) { switch (method) { - // '' is a default case for tests - case '': case 'punycode': runPunycode(n, val); break; diff --git a/benchmark/misc/trace.js b/benchmark/misc/trace.js index d76f53cf04e82d..3808375579bfa6 100644 --- a/benchmark/misc/trace.js +++ b/benchmark/misc/trace.js @@ -15,7 +15,7 @@ const { function doTrace(n, trace) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { trace(kBeforeEvent, 'foo', 'test', 0, 'test'); } bench.end(n); @@ -23,7 +23,7 @@ function doTrace(n, trace) { function doIsTraceCategoryEnabled(n, isTraceCategoryEnabled) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { isTraceCategoryEnabled('foo'); isTraceCategoryEnabled('bar'); } @@ -37,7 +37,6 @@ function main({ n, method }) { } = common.binding('trace_events'); switch (method) { - case '': case 'trace': doTrace(n, trace); break; diff --git a/benchmark/misc/util-extend-vs-object-assign.js b/benchmark/misc/util-extend-vs-object-assign.js index 3880711b660fe1..83aec7b9c82231 100644 --- a/benchmark/misc/util-extend-vs-object-assign.js +++ b/benchmark/misc/util-extend-vs-object-assign.js @@ -9,10 +9,6 @@ const bench = common.createBenchmark(main, { }); function main({ n, type }) { - // Default value for tests. - if (type === '') - type = 'extend'; - let fn; if (type === 'extend') { fn = util._extend; @@ -22,13 +18,13 @@ function main({ n, type }) { // Force-optimize the method to test so that the benchmark doesn't // get disrupted by the optimizer kicking in halfway through. - for (var i = 0; i < type.length * 10; i += 1) + for (let i = 0; i < type.length * 10; i += 1) fn({}, process.env); const obj = new Proxy({}, { set: function(a, b, c) { return true; } }); bench.start(); - for (var j = 0; j < n; j += 1) + for (let j = 0; j < n; j += 1) fn(obj, process.env); bench.end(n); } diff --git a/benchmark/module/module-loader-deep.js b/benchmark/module/module-loader-deep.js index f686b8df47dfba..5b4f4b907a7ce6 100644 --- a/benchmark/module/module-loader-deep.js +++ b/benchmark/module/module-loader-deep.js @@ -19,7 +19,7 @@ function main({ ext, cache, files }) { `${benchmarkDirectory}/a.js`, 'module.exports = {};' ); - for (var i = 0; i <= files; i++) { + for (let i = 0; i <= files; i++) { fs.mkdirSync(`${benchmarkDirectory}/${i}`); fs.writeFileSync( `${benchmarkDirectory}/${i}/package.json`, @@ -37,14 +37,13 @@ function main({ ext, cache, files }) { } function measureDir(cache, files) { - var i; if (cache) { - for (i = 0; i <= files; i++) { + for (let i = 0; i <= files; i++) { require(`${benchmarkDirectory}/${i}`); } } bench.start(); - for (i = 0; i <= files; i++) { + for (let i = 0; i <= files; i++) { require(`${benchmarkDirectory}/${i}`); } bench.end(files); diff --git a/benchmark/module/module-loader.js b/benchmark/module/module-loader.js index 3b8e9be2d60636..f31ac8722cb208 100644 --- a/benchmark/module/module-loader.js +++ b/benchmark/module/module-loader.js @@ -21,7 +21,7 @@ const bench = common.createBenchmark(main, { function main({ n, name, cache, files, dir }) { tmpdir.refresh(); fs.mkdirSync(benchmarkDirectory); - for (var i = 0; i <= files; i++) { + for (let i = 0; i <= files; i++) { fs.mkdirSync(`${benchmarkDirectory}${i}`); fs.writeFileSync( `${benchmarkDirectory}${i}/package.json`, @@ -42,15 +42,14 @@ function main({ n, name, cache, files, dir }) { } function measureDir(n, cache, files, name) { - var i; if (cache) { - for (i = 0; i <= files; i++) { + for (let i = 0; i <= files; i++) { require(`${benchmarkDirectory}${i}${name}`); } } bench.start(); - for (i = 0; i <= files; i++) { - for (var j = 0; j < n; j++) + for (let i = 0; i <= files; i++) { + for (let j = 0; j < n; j++) require(`${benchmarkDirectory}${i}${name}`); // Pretend mixed input (otherwise the results are less representative due to // highly specialized code). diff --git a/benchmark/napi/function_args/index.js b/benchmark/napi/function_args/index.js index 8f13454944772e..8ce9fa9d528f5c 100644 --- a/benchmark/napi/function_args/index.js +++ b/benchmark/napi/function_args/index.js @@ -89,7 +89,7 @@ function main({ n, engine, type }) { const args = generateArgs(type); bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { fn.apply(null, args); } bench.end(n); diff --git a/benchmark/napi/function_call/index.js b/benchmark/napi/function_call/index.js index 3eebf9c05acdb1..1e1d159c8ad83a 100644 --- a/benchmark/napi/function_call/index.js +++ b/benchmark/napi/function_call/index.js @@ -29,7 +29,7 @@ try { } const napi = napi_binding.hello; -var c = 0; +let c = 0; function js() { return c++; } @@ -44,7 +44,7 @@ const bench = common.createBenchmark(main, { function main({ n, type }) { const fn = type === 'cxx' ? cxx : type === 'napi' ? napi : js; bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { fn(); } bench.end(n); diff --git a/benchmark/net/net-c2s-cork.js b/benchmark/net/net-c2s-cork.js index 12d15fe0795e57..1493cae68d0069 100644 --- a/benchmark/net/net-c2s-cork.js +++ b/benchmark/net/net-c2s-cork.js @@ -11,8 +11,8 @@ const bench = common.createBenchmark(main, { dur: [5], }); -var chunk; -var encoding; +let chunk; +let encoding; function main({ dur, len, type }) { switch (type) { diff --git a/benchmark/net/net-c2s.js b/benchmark/net/net-c2s.js index 4b64cbeca18124..cacd6815630b2e 100644 --- a/benchmark/net/net-c2s.js +++ b/benchmark/net/net-c2s.js @@ -11,8 +11,8 @@ const bench = common.createBenchmark(main, { dur: [5], }); -var chunk; -var encoding; +let chunk; +let encoding; function main({ dur, len, type }) { switch (type) { diff --git a/benchmark/net/net-pipe.js b/benchmark/net/net-pipe.js index 06426129f7f271..d86ff73041d845 100644 --- a/benchmark/net/net-pipe.js +++ b/benchmark/net/net-pipe.js @@ -11,8 +11,8 @@ const bench = common.createBenchmark(main, { dur: [5], }); -var chunk; -var encoding; +let chunk; +let encoding; function main({ dur, len, type }) { switch (type) { diff --git a/benchmark/net/net-s2c.js b/benchmark/net/net-s2c.js index d8c26db9bdb035..789eadf0a18dba 100644 --- a/benchmark/net/net-s2c.js +++ b/benchmark/net/net-s2c.js @@ -12,10 +12,10 @@ const bench = common.createBenchmark(main, { dur: [5] }); -var chunk; -var encoding; -var recvbuf; -var received = 0; +let chunk; +let encoding; +let recvbuf; +let received = 0; function main({ dur, sendchunklen, type, recvbuflen, recvbufgenfn }) { if (isFinite(recvbuflen) && recvbuflen > 0) @@ -38,8 +38,8 @@ function main({ dur, sendchunklen, type, recvbuflen, recvbufgenfn }) { } const reader = new Reader(); - var writer; - var socketOpts; + let writer; + let socketOpts; if (recvbuf === undefined) { writer = new Writer(); socketOpts = { port: PORT }; diff --git a/benchmark/net/net-wrap-js-stream-passthrough.js b/benchmark/net/net-wrap-js-stream-passthrough.js index 1e8a1ee1c5a092..0d7be36c6aa545 100644 --- a/benchmark/net/net-wrap-js-stream-passthrough.js +++ b/benchmark/net/net-wrap-js-stream-passthrough.js @@ -12,8 +12,8 @@ const bench = common.createBenchmark(main, { flags: ['--expose-internals'] }); -var chunk; -var encoding; +let chunk; +let encoding; function main({ dur, len, type }) { // Can only require internals inside main(). diff --git a/benchmark/net/tcp-raw-c2s.js b/benchmark/net/tcp-raw-c2s.js index fe320ddaa2716b..b8af124a7f40fc 100644 --- a/benchmark/net/tcp-raw-c2s.js +++ b/benchmark/net/tcp-raw-c2s.js @@ -24,7 +24,7 @@ function main({ dur, len, type }) { const PORT = common.PORT; const serverHandle = new TCP(TCPConstants.SERVER); - var err = serverHandle.bind('127.0.0.1', PORT); + let err = serverHandle.bind('127.0.0.1', PORT); if (err) fail(err, 'bind'); @@ -38,7 +38,7 @@ function main({ dur, len, type }) { // The meat of the benchmark is right here: bench.start(); - var bytes = 0; + let bytes = 0; setTimeout(() => { // report in Gb/sec @@ -67,7 +67,7 @@ function main({ dur, len, type }) { } function client(type, len) { - var chunk; + let chunk; switch (type) { case 'buf': chunk = Buffer.alloc(len, 'x'); @@ -102,7 +102,7 @@ function main({ dur, len, type }) { function write() { const writeReq = new WriteWrap(); writeReq.oncomplete = afterWrite; - var err; + let err; switch (type) { case 'buf': err = clientHandle.writeBuffer(writeReq, chunk); diff --git a/benchmark/net/tcp-raw-pipe.js b/benchmark/net/tcp-raw-pipe.js index 4420cc2e6dcc17..249b61046a84cf 100644 --- a/benchmark/net/tcp-raw-pipe.js +++ b/benchmark/net/tcp-raw-pipe.js @@ -31,7 +31,7 @@ function main({ dur, len, type }) { // Server const serverHandle = new TCP(TCPConstants.SERVER); - var err = serverHandle.bind('127.0.0.1', PORT); + let err = serverHandle.bind('127.0.0.1', PORT); if (err) fail(err, 'bind'); @@ -66,7 +66,7 @@ function main({ dur, len, type }) { }; // Client - var chunk; + let chunk; switch (type) { case 'buf': chunk = Buffer.alloc(len, 'x'); @@ -83,7 +83,7 @@ function main({ dur, len, type }) { const clientHandle = new TCP(TCPConstants.SOCKET); const connectReq = new TCPConnectWrap(); - var bytes = 0; + let bytes = 0; err = clientHandle.connect(connectReq, '127.0.0.1', PORT); if (err) @@ -118,7 +118,7 @@ function main({ dur, len, type }) { function write() { const writeReq = new WriteWrap(); writeReq.oncomplete = afterWrite; - var err; + let err; switch (type) { case 'buf': err = clientHandle.writeBuffer(writeReq, chunk); diff --git a/benchmark/net/tcp-raw-s2c.js b/benchmark/net/tcp-raw-s2c.js index cc2f69019fff61..393cf060489cb8 100644 --- a/benchmark/net/tcp-raw-s2c.js +++ b/benchmark/net/tcp-raw-s2c.js @@ -26,7 +26,7 @@ function main({ dur, len, type }) { const PORT = common.PORT; const serverHandle = new TCP(TCPConstants.SERVER); - var err = serverHandle.bind('127.0.0.1', PORT); + let err = serverHandle.bind('127.0.0.1', PORT); if (err) fail(err, 'bind'); @@ -38,7 +38,7 @@ function main({ dur, len, type }) { if (err) fail(err, 'connect'); - var chunk; + let chunk; switch (type) { case 'buf': chunk = Buffer.alloc(len, 'x'); @@ -62,7 +62,7 @@ function main({ dur, len, type }) { const writeReq = new WriteWrap(); writeReq.async = false; writeReq.oncomplete = afterWrite; - var err; + let err; switch (type) { case 'buf': err = clientHandle.writeBuffer(writeReq, chunk); @@ -108,7 +108,7 @@ function main({ dur, len, type }) { fail(err, 'connect'); connectReq.oncomplete = function() { - var bytes = 0; + let bytes = 0; clientHandle.onread = function(buffer) { // We're not expecting to ever get an EOF from the client. // Just lots of data forever. diff --git a/benchmark/os/cpus.js b/benchmark/os/cpus.js index da158a1b061c7f..a8aa3ab6cbf46f 100644 --- a/benchmark/os/cpus.js +++ b/benchmark/os/cpus.js @@ -9,7 +9,7 @@ const bench = common.createBenchmark(main, { function main({ n }) { bench.start(); - for (var i = 0; i < n; ++i) + for (let i = 0; i < n; ++i) cpus(); bench.end(n); } diff --git a/benchmark/os/loadavg.js b/benchmark/os/loadavg.js index 2cd38316b24bdd..802e3c99ec0a59 100644 --- a/benchmark/os/loadavg.js +++ b/benchmark/os/loadavg.js @@ -9,7 +9,7 @@ const bench = common.createBenchmark(main, { function main({ n }) { bench.start(); - for (var i = 0; i < n; ++i) + for (let i = 0; i < n; ++i) loadavg(); bench.end(n); } diff --git a/benchmark/os/networkInterfaces.js b/benchmark/os/networkInterfaces.js index 3fa6073ae5c69e..12e956b7f05ddc 100644 --- a/benchmark/os/networkInterfaces.js +++ b/benchmark/os/networkInterfaces.js @@ -9,7 +9,7 @@ const bench = common.createBenchmark(main, { function main({ n }) { bench.start(); - for (var i = 0; i < n; ++i) + for (let i = 0; i < n; ++i) networkInterfaces(); bench.end(n); } diff --git a/benchmark/path/basename-posix.js b/benchmark/path/basename-posix.js index 45cad1e25660dc..6600068d4c53f6 100644 --- a/benchmark/path/basename-posix.js +++ b/benchmark/path/basename-posix.js @@ -19,7 +19,7 @@ const bench = common.createBenchmark(main, { }); function main({ n, pathext }) { - var ext; + let ext; const extIdx = pathext.indexOf('|'); if (extIdx !== -1) { ext = pathext.slice(extIdx + 1); @@ -27,7 +27,7 @@ function main({ n, pathext }) { } bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { posix.basename(i % 3 === 0 ? `${pathext}${i}` : pathext, ext); } bench.end(n); diff --git a/benchmark/path/basename-win32.js b/benchmark/path/basename-win32.js index 30d65f3ac6a4c9..dc26a134e29252 100644 --- a/benchmark/path/basename-win32.js +++ b/benchmark/path/basename-win32.js @@ -19,7 +19,7 @@ const bench = common.createBenchmark(main, { }); function main({ n, pathext }) { - var ext; + let ext; const extIdx = pathext.indexOf('|'); if (extIdx !== -1) { ext = pathext.slice(extIdx + 1); @@ -27,7 +27,7 @@ function main({ n, pathext }) { } bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { win32.basename(i % 3 === 0 ? `${pathext}${i}` : pathext, ext); } bench.end(n); diff --git a/benchmark/path/dirname-posix.js b/benchmark/path/dirname-posix.js index 93f2f32c012695..c98753562fbc93 100644 --- a/benchmark/path/dirname-posix.js +++ b/benchmark/path/dirname-posix.js @@ -17,7 +17,7 @@ const bench = common.createBenchmark(main, { function main({ n, path }) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { posix.dirname(i % 3 === 0 ? `${path}${i}` : path); } bench.end(n); diff --git a/benchmark/path/dirname-win32.js b/benchmark/path/dirname-win32.js index 510595d721ace1..9eb5478b3b4d3b 100644 --- a/benchmark/path/dirname-win32.js +++ b/benchmark/path/dirname-win32.js @@ -17,7 +17,7 @@ const bench = common.createBenchmark(main, { function main({ n, path }) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { win32.dirname(i % 3 === 0 ? `${path}${i}` : path); } bench.end(n); diff --git a/benchmark/path/extname-posix.js b/benchmark/path/extname-posix.js index ee1ea07eebc010..0e01d59a745883 100644 --- a/benchmark/path/extname-posix.js +++ b/benchmark/path/extname-posix.js @@ -20,7 +20,7 @@ const bench = common.createBenchmark(main, { function main({ n, path }) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { posix.extname(i % 3 === 0 ? `${path}${i}` : path); } bench.end(n); diff --git a/benchmark/path/extname-win32.js b/benchmark/path/extname-win32.js index 1de4bca28a2988..6d8437e5c5d819 100644 --- a/benchmark/path/extname-win32.js +++ b/benchmark/path/extname-win32.js @@ -20,7 +20,7 @@ const bench = common.createBenchmark(main, { function main({ n, path }) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { win32.extname(i % 3 === 0 ? `${path}${i}` : path); } bench.end(n); diff --git a/benchmark/path/format-posix.js b/benchmark/path/format-posix.js index 9c555f232c0099..7720bbc3b705ed 100644 --- a/benchmark/path/format-posix.js +++ b/benchmark/path/format-posix.js @@ -20,7 +20,7 @@ function main({ n, props }) { }; bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { obj.base = `a${i}${props[2] || ''}`; obj.name = `a${i}${props[4] || ''}`; posix.format(obj); diff --git a/benchmark/path/format-win32.js b/benchmark/path/format-win32.js index 65315c4dd638f1..fab7599ab58386 100644 --- a/benchmark/path/format-win32.js +++ b/benchmark/path/format-win32.js @@ -20,7 +20,7 @@ function main({ n, props }) { }; bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { obj.base = `a${i}${props[2] || ''}`; obj.name = `a${i}${props[4] || ''}`; win32.format(obj); diff --git a/benchmark/path/isAbsolute-posix.js b/benchmark/path/isAbsolute-posix.js index dd0dfd1964e0fb..90d06502d1fb02 100644 --- a/benchmark/path/isAbsolute-posix.js +++ b/benchmark/path/isAbsolute-posix.js @@ -15,7 +15,7 @@ const bench = common.createBenchmark(main, { function main({ n, path }) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { posix.isAbsolute(i % 3 === 0 ? `${path}${i}` : path); } bench.end(n); diff --git a/benchmark/path/isAbsolute-win32.js b/benchmark/path/isAbsolute-win32.js index ff03f2628a328c..15da64f5e973a3 100644 --- a/benchmark/path/isAbsolute-win32.js +++ b/benchmark/path/isAbsolute-win32.js @@ -16,7 +16,7 @@ const bench = common.createBenchmark(main, { function main({ n, path }) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { win32.isAbsolute(i % 3 === 0 ? `${path}${i}` : path); } bench.end(n); diff --git a/benchmark/path/join-posix.js b/benchmark/path/join-posix.js index e573166d7ae078..6619e4dea852db 100644 --- a/benchmark/path/join-posix.js +++ b/benchmark/path/join-posix.js @@ -15,7 +15,7 @@ function main({ n, paths }) { const orig = copy[1]; bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { if (i % 3 === 0) { copy[1] = `${orig}${i}`; posix.join(...copy); diff --git a/benchmark/path/join-win32.js b/benchmark/path/join-win32.js index cd69836c006e23..958dee706d499a 100644 --- a/benchmark/path/join-win32.js +++ b/benchmark/path/join-win32.js @@ -15,7 +15,7 @@ function main({ n, paths }) { const orig = copy[1]; bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { if (i % 3 === 0) { copy[1] = `${orig}${i}`; win32.join(...copy); diff --git a/benchmark/path/makeLong-win32.js b/benchmark/path/makeLong-win32.js index 45d0d8de60d7e0..864a9cfffe63b9 100644 --- a/benchmark/path/makeLong-win32.js +++ b/benchmark/path/makeLong-win32.js @@ -14,7 +14,7 @@ const bench = common.createBenchmark(main, { function main({ n, path }) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { win32._makeLong(i % 3 === 0 ? `${path}${i}` : path); } bench.end(n); diff --git a/benchmark/path/normalize-posix.js b/benchmark/path/normalize-posix.js index 4383cff4a588f7..e0722097025020 100644 --- a/benchmark/path/normalize-posix.js +++ b/benchmark/path/normalize-posix.js @@ -16,7 +16,7 @@ const bench = common.createBenchmark(main, { function main({ n, path }) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { posix.normalize(i % 3 === 0 ? `${path}${i}` : path); } bench.end(n); diff --git a/benchmark/path/normalize-win32.js b/benchmark/path/normalize-win32.js index 319c391d17a712..84e16ca3c2d0e9 100644 --- a/benchmark/path/normalize-win32.js +++ b/benchmark/path/normalize-win32.js @@ -16,7 +16,7 @@ const bench = common.createBenchmark(main, { function main({ n, path }) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { win32.normalize(i % 3 === 0 ? `${path}${i}` : path); } bench.end(n); diff --git a/benchmark/path/relative-posix.js b/benchmark/path/relative-posix.js index 2c4dd31d2778c7..0285c2c968dcb2 100644 --- a/benchmark/path/relative-posix.js +++ b/benchmark/path/relative-posix.js @@ -16,7 +16,7 @@ const bench = common.createBenchmark(main, { }); function main({ n, paths }) { - var to = ''; + let to = ''; const delimIdx = paths.indexOf('|'); if (delimIdx > -1) { to = paths.slice(delimIdx + 1); diff --git a/benchmark/path/relative-win32.js b/benchmark/path/relative-win32.js index 5f34fdf8fd5842..401919aa20d802 100644 --- a/benchmark/path/relative-win32.js +++ b/benchmark/path/relative-win32.js @@ -14,7 +14,7 @@ const bench = common.createBenchmark(main, { }); function main({ n, paths }) { - var to = ''; + let to = ''; const delimIdx = paths.indexOf('|'); if (delimIdx > -1) { to = paths.slice(delimIdx + 1); diff --git a/benchmark/path/resolve-posix.js b/benchmark/path/resolve-posix.js index 3cdf1cd49a0754..dbae350c62a35f 100644 --- a/benchmark/path/resolve-posix.js +++ b/benchmark/path/resolve-posix.js @@ -18,7 +18,7 @@ function main({ n, paths }) { const orig = copy[0]; bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { if (i % 3 === 0) { copy[0] = `${orig}${i}`; posix.resolve(...copy); diff --git a/benchmark/path/resolve-win32.js b/benchmark/path/resolve-win32.js index cf8144ef2c57cd..7def7aa1025d50 100644 --- a/benchmark/path/resolve-win32.js +++ b/benchmark/path/resolve-win32.js @@ -18,7 +18,7 @@ function main({ n, paths }) { const orig = copy[0]; bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { if (i % 3 === 0) { copy[0] = `${orig}${i}`; win32.resolve(...copy); diff --git a/benchmark/process/bench-hrtime.js b/benchmark/process/bench-hrtime.js index d73ed7aae4336e..2da9035f806cf9 100644 --- a/benchmark/process/bench-hrtime.js +++ b/benchmark/process/bench-hrtime.js @@ -10,27 +10,26 @@ const bench = common.createBenchmark(main, { function main({ n, type }) { const hrtime = process.hrtime; - var noDead = type === 'bigint' ? hrtime.bigint() : hrtime(); - var i; + let noDead = type === 'bigint' ? hrtime.bigint() : hrtime(); switch (type) { case 'raw': bench.start(); - for (i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { noDead = hrtime(); } bench.end(n); break; case 'diff': bench.start(); - for (i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { noDead = hrtime(noDead); } bench.end(n); break; case 'bigint': bench.start(); - for (i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { noDead = hrtime.bigint(); } bench.end(n); diff --git a/benchmark/process/memoryUsage.js b/benchmark/process/memoryUsage.js index f9b969ab885d8b..1c743d81f1f465 100644 --- a/benchmark/process/memoryUsage.js +++ b/benchmark/process/memoryUsage.js @@ -7,7 +7,7 @@ const bench = common.createBenchmark(main, { function main({ n }) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { process.memoryUsage(); } bench.end(n); diff --git a/benchmark/process/next-tick-breadth-args.js b/benchmark/process/next-tick-breadth-args.js index 03651dbdbb4eea..bd3b24ddc29fc5 100644 --- a/benchmark/process/next-tick-breadth-args.js +++ b/benchmark/process/next-tick-breadth-args.js @@ -6,7 +6,7 @@ const bench = common.createBenchmark(main, { }); function main({ n }) { - var j = 0; + let j = 0; function cb1(arg1) { j++; @@ -33,7 +33,7 @@ function main({ n }) { } bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { if (i % 4 === 0) process.nextTick(cb4, 3.14, 1024, true, false); else if (i % 3 === 0) diff --git a/benchmark/process/next-tick-breadth.js b/benchmark/process/next-tick-breadth.js index 297bf43495d2e6..eb34ea830acfe7 100644 --- a/benchmark/process/next-tick-breadth.js +++ b/benchmark/process/next-tick-breadth.js @@ -6,7 +6,7 @@ const bench = common.createBenchmark(main, { }); function main({ n }) { - var j = 0; + let j = 0; function cb() { j++; @@ -15,7 +15,7 @@ function main({ n }) { } bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { process.nextTick(cb); } } diff --git a/benchmark/process/next-tick-exec-args.js b/benchmark/process/next-tick-exec-args.js index ec172ea8931e3f..7893e2c70903e5 100644 --- a/benchmark/process/next-tick-exec-args.js +++ b/benchmark/process/next-tick-exec-args.js @@ -10,7 +10,7 @@ function main({ n }) { bench.end(n); } - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { if (i % 4 === 0) process.nextTick(onNextTick, i, true, 10, 'test'); else if (i % 3 === 0) diff --git a/benchmark/process/next-tick-exec.js b/benchmark/process/next-tick-exec.js index 14fce9cccf8d6a..eefe2b7ceb765f 100644 --- a/benchmark/process/next-tick-exec.js +++ b/benchmark/process/next-tick-exec.js @@ -10,7 +10,7 @@ function main({ n }) { bench.end(n); } - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { process.nextTick(onNextTick, i); } diff --git a/benchmark/process/queue-microtask-breadth.js b/benchmark/process/queue-microtask-breadth.js index 8bb33f6fdee6cc..610dfc584ef738 100644 --- a/benchmark/process/queue-microtask-breadth.js +++ b/benchmark/process/queue-microtask-breadth.js @@ -6,7 +6,7 @@ const bench = common.createBenchmark(main, { }); function main({ n }) { - var j = 0; + let j = 0; function cb() { j++; @@ -15,7 +15,7 @@ function main({ n }) { } bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { queueMicrotask(cb); } } diff --git a/benchmark/querystring/querystring-parse.js b/benchmark/querystring/querystring-parse.js index ca4dca13bc14eb..2a5f3048de46b9 100644 --- a/benchmark/querystring/querystring-parse.js +++ b/benchmark/querystring/querystring-parse.js @@ -10,23 +10,23 @@ const bench = common.createBenchmark(main, { function main({ type, n }) { const input = inputs[type]; - var i; + // Execute the function a "sufficient" number of times before the timed // loop to ensure the function is optimized just once. if (type === 'multicharsep') { - for (i = 0; i < n; i += 1) + for (let i = 0; i < n; i += 1) querystring.parse(input, '&&&&&&&&&&'); bench.start(); - for (i = 0; i < n; i += 1) + for (let i = 0; i < n; i += 1) querystring.parse(input, '&&&&&&&&&&'); bench.end(n); } else { - for (i = 0; i < n; i += 1) + for (let i = 0; i < n; i += 1) querystring.parse(input); bench.start(); - for (i = 0; i < n; i += 1) + for (let i = 0; i < n; i += 1) querystring.parse(input); bench.end(n); } diff --git a/benchmark/querystring/querystring-stringify.js b/benchmark/querystring/querystring-stringify.js index 6c5da0f464034f..be81f67fa826d7 100644 --- a/benchmark/querystring/querystring-stringify.js +++ b/benchmark/querystring/querystring-stringify.js @@ -38,7 +38,7 @@ function main({ type, n }) { querystring.stringify(inputs[name]); bench.start(); - for (var i = 0; i < n; i += 1) + for (let i = 0; i < n; i += 1) querystring.stringify(input); bench.end(n); } diff --git a/benchmark/querystring/querystring-unescapebuffer.js b/benchmark/querystring/querystring-unescapebuffer.js index 39dd085eda938c..e6b842b3f94127 100644 --- a/benchmark/querystring/querystring-unescapebuffer.js +++ b/benchmark/querystring/querystring-unescapebuffer.js @@ -14,7 +14,7 @@ const bench = common.createBenchmark(main, { function main({ input, n }) { bench.start(); - for (var i = 0; i < n; i += 1) + for (let i = 0; i < n; i += 1) querystring.unescapeBuffer(input); bench.end(n); } diff --git a/benchmark/streams/creation.js b/benchmark/streams/creation.js index 46a0a547907c45..760ab5c89dca96 100644 --- a/benchmark/streams/creation.js +++ b/benchmark/streams/creation.js @@ -13,14 +13,13 @@ const bench = common.createBenchmark(main, { }); function main({ n, kind }) { - var i = 0; switch (kind) { case 'duplex': new Duplex({}); new Duplex(); bench.start(); - for (; i < n; ++i) + for (let i = 0; i < n; ++i) new Duplex(); bench.end(n); break; @@ -29,7 +28,7 @@ function main({ n, kind }) { new Readable(); bench.start(); - for (; i < n; ++i) + for (let i = 0; i < n; ++i) new Readable(); bench.end(n); break; @@ -38,7 +37,7 @@ function main({ n, kind }) { new Writable(); bench.start(); - for (; i < n; ++i) + for (let i = 0; i < n; ++i) new Writable(); bench.end(n); break; @@ -47,7 +46,7 @@ function main({ n, kind }) { new Transform(); bench.start(); - for (; i < n; ++i) + for (let i = 0; i < n; ++i) new Transform(); bench.end(n); break; diff --git a/benchmark/streams/pipe-object-mode.js b/benchmark/streams/pipe-object-mode.js index d52b2238780ccb..33588819f00a6c 100644 --- a/benchmark/streams/pipe-object-mode.js +++ b/benchmark/streams/pipe-object-mode.js @@ -12,7 +12,7 @@ function main({ n }) { const r = new Readable({ objectMode: true }); const w = new Writable({ objectMode: true }); - var i = 0; + let i = 0; r._read = () => r.push(i++ === n ? null : b); w._write = (data, enc, cb) => cb(); diff --git a/benchmark/streams/pipe.js b/benchmark/streams/pipe.js index 4baeeb2d2e7706..0df1afdbe10134 100644 --- a/benchmark/streams/pipe.js +++ b/benchmark/streams/pipe.js @@ -12,7 +12,7 @@ function main({ n }) { const r = new Readable(); const w = new Writable(); - var i = 0; + let i = 0; r._read = () => r.push(i++ === n ? null : b); w._write = (data, enc, cb) => cb(); diff --git a/benchmark/streams/readable-bigread.js b/benchmark/streams/readable-bigread.js index c3cff3d933d915..1bd1dab4edb07f 100644 --- a/benchmark/streams/readable-bigread.js +++ b/benchmark/streams/readable-bigread.js @@ -14,8 +14,8 @@ function main({ n }) { s._read = noop; bench.start(); - for (var k = 0; k < n; ++k) { - for (var i = 0; i < 1e4; ++i) + for (let k = 0; k < n; ++k) { + for (let i = 0; i < 1e4; ++i) s.push(b); while (s.read(128)); } diff --git a/benchmark/streams/readable-bigunevenread.js b/benchmark/streams/readable-bigunevenread.js index 95a4139c069e87..684986a778aba2 100644 --- a/benchmark/streams/readable-bigunevenread.js +++ b/benchmark/streams/readable-bigunevenread.js @@ -14,8 +14,8 @@ function main({ n }) { s._read = noop; bench.start(); - for (var k = 0; k < n; ++k) { - for (var i = 0; i < 1e4; ++i) + for (let k = 0; k < n; ++k) { + for (let i = 0; i < 1e4; ++i) s.push(b); while (s.read(106)); } diff --git a/benchmark/streams/readable-boundaryread.js b/benchmark/streams/readable-boundaryread.js index 835c7d18b51285..edc90d04de161d 100644 --- a/benchmark/streams/readable-boundaryread.js +++ b/benchmark/streams/readable-boundaryread.js @@ -10,14 +10,14 @@ const bench = common.createBenchmark(main, { function main({ n, type }) { const s = new Readable(); - var data = 'a'.repeat(32); + let data = 'a'.repeat(32); if (type === 'buffer') data = Buffer.from(data); s._read = function() {}; bench.start(); - for (var k = 0; k < n; ++k) { - for (var i = 0; i < 1e4; ++i) + for (let k = 0; k < n; ++k) { + for (let i = 0; i < 1e4; ++i) s.push(data); while (s.read(32)); } diff --git a/benchmark/streams/readable-readall.js b/benchmark/streams/readable-readall.js index 3c177ec4c39988..d14fd7756586e9 100644 --- a/benchmark/streams/readable-readall.js +++ b/benchmark/streams/readable-readall.js @@ -14,8 +14,8 @@ function main({ n }) { s._read = noop; bench.start(); - for (var k = 0; k < n; ++k) { - for (var i = 0; i < 1e4; ++i) + for (let k = 0; k < n; ++k) { + for (let i = 0; i < 1e4; ++i) s.push(b); while (s.read()); } diff --git a/benchmark/streams/readable-unevenread.js b/benchmark/streams/readable-unevenread.js index 690f1f420838c6..9da8410131bfff 100644 --- a/benchmark/streams/readable-unevenread.js +++ b/benchmark/streams/readable-unevenread.js @@ -14,8 +14,8 @@ function main({ n }) { s._read = noop; bench.start(); - for (var k = 0; k < n; ++k) { - for (var i = 0; i < 1e4; ++i) + for (let k = 0; k < n; ++k) { + for (let i = 0; i < 1e4; ++i) s.push(b); while (s.read(12)); } diff --git a/benchmark/streams/writable-manywrites.js b/benchmark/streams/writable-manywrites.js index 049bf8eb281db2..e4ae9ab91e5f4a 100644 --- a/benchmark/streams/writable-manywrites.js +++ b/benchmark/streams/writable-manywrites.js @@ -35,8 +35,10 @@ function main({ n, sync, writev, callback }) { let k = 0; function run() { while (k++ < n && s.write(b, cb)); - if (k >= n) + if (k >= n) { bench.end(n); + s.removeListener('drain', run); + } } s.on('drain', run); run(); diff --git a/benchmark/string_decoder/string-decoder-create.js b/benchmark/string_decoder/string-decoder-create.js index fad727222e1870..f7fa5e0246b860 100644 --- a/benchmark/string_decoder/string-decoder-create.js +++ b/benchmark/string_decoder/string-decoder-create.js @@ -11,7 +11,7 @@ const bench = common.createBenchmark(main, { function main({ encoding, n }) { bench.start(); - for (var i = 0; i < n; ++i) { + for (let i = 0; i < n; ++i) { const sd = new StringDecoder(encoding); !!sd.encoding; } diff --git a/benchmark/string_decoder/string-decoder.js b/benchmark/string_decoder/string-decoder.js index 0e34effbc7d964..afc0dde62e7937 100644 --- a/benchmark/string_decoder/string-decoder.js +++ b/benchmark/string_decoder/string-decoder.js @@ -14,12 +14,11 @@ const ASC_ALPHA = 'Blueberry jam'; const UTF16_BUF = Buffer.from('Blåbærsyltetøy', 'utf16le'); function main({ encoding, inLen, chunkLen, n }) { - var alpha; - var buf; + let alpha; + let buf; const chunks = []; - var str = ''; + let str = ''; const isBase64 = (encoding === 'base64-ascii' || encoding === 'base64-utf8'); - var i; if (encoding === 'ascii' || encoding === 'base64-ascii') alpha = ASC_ALPHA; @@ -33,7 +32,7 @@ function main({ encoding, inLen, chunkLen, n }) { const sd = new StringDecoder(isBase64 ? 'base64' : encoding); - for (i = 0; i < inLen; ++i) { + for (let i = 0; i < inLen; ++i) { if (i > 0 && (i % chunkLen) === 0 && !isBase64) { if (alpha) { chunks.push(Buffer.from(str, encoding)); @@ -46,8 +45,8 @@ function main({ encoding, inLen, chunkLen, n }) { if (alpha) str += alpha[i % alpha.length]; else { - var start = i; - var end = i + 2; + let start = i; + let end = i + 2; if (i % 2 !== 0) { ++start; ++end; @@ -77,8 +76,8 @@ function main({ encoding, inLen, chunkLen, n }) { const nChunks = chunks.length; bench.start(); - for (i = 0; i < n; ++i) { - for (var j = 0; j < nChunks; ++j) + for (let i = 0; i < n; ++i) { + for (let j = 0; j < nChunks; ++j) sd.write(chunks[j]); } bench.end(n); diff --git a/benchmark/timers/immediate.js b/benchmark/timers/immediate.js index ba50f961daa6aa..d12106a0e030fc 100644 --- a/benchmark/timers/immediate.js +++ b/benchmark/timers/immediate.js @@ -66,7 +66,7 @@ function breadth(N) { if (n === N) bench.end(N); } - for (var i = 0; i < N; i++) { + for (let i = 0; i < N; i++) { setImmediate(cb); } } @@ -80,7 +80,7 @@ function breadth1(N) { if (n === N) bench.end(n); } - for (var i = 0; i < N; i++) { + for (let i = 0; i < N; i++) { setImmediate(cb, 1); } } @@ -95,7 +95,7 @@ function breadth4(N) { if (n === N) bench.end(n); } - for (var i = 0; i < N; i++) { + for (let i = 0; i < N; i++) { setImmediate(cb, 1, 2, 3, 4); } } @@ -107,7 +107,7 @@ function clear(N) { if (a1 === 2) bench.end(N); } - for (var i = 0; i < N; i++) { + for (let i = 0; i < N; i++) { clearImmediate(setImmediate(cb, 1)); } setImmediate(cb, 2); diff --git a/benchmark/timers/timers-breadth-args.js b/benchmark/timers/timers-breadth-args.js index bdb3adbbec6b7a..63a301dc9bc7dc 100644 --- a/benchmark/timers/timers-breadth-args.js +++ b/benchmark/timers/timers-breadth-args.js @@ -32,7 +32,7 @@ function main({ n }) { } bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { if (i % 4 === 0) setTimeout(cb4, 1, 3.14, 1024, true, false); else if (i % 3 === 0) diff --git a/benchmark/timers/timers-breadth.js b/benchmark/timers/timers-breadth.js index 8cd77f4fab2852..78bd5a97ae84b8 100644 --- a/benchmark/timers/timers-breadth.js +++ b/benchmark/timers/timers-breadth.js @@ -13,7 +13,7 @@ function main({ n }) { if (j === n) bench.end(n); } - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { setTimeout(cb, 1); } } diff --git a/benchmark/timers/timers-cancel-pooled.js b/benchmark/timers/timers-cancel-pooled.js index 6f16f3c91da8a8..5045983210263e 100644 --- a/benchmark/timers/timers-cancel-pooled.js +++ b/benchmark/timers/timers-cancel-pooled.js @@ -9,7 +9,7 @@ const bench = common.createBenchmark(main, { function main({ n }) { var timer = setTimeout(() => {}, 1); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { setTimeout(cb, 1); } var next = timer._idlePrev; @@ -17,7 +17,7 @@ function main({ n }) { bench.start(); - for (var j = 0; j < n; j++) { + for (let j = 0; j < n; j++) { timer = next; next = timer._idlePrev; clearTimeout(timer); diff --git a/benchmark/timers/timers-cancel-unpooled.js b/benchmark/timers/timers-cancel-unpooled.js index 1daf68bde0ed51..df203ee4810b1d 100644 --- a/benchmark/timers/timers-cancel-unpooled.js +++ b/benchmark/timers/timers-cancel-unpooled.js @@ -10,7 +10,7 @@ const bench = common.createBenchmark(main, { function main({ n, direction }) { const timersList = []; - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { timersList.push(setTimeout(cb, i + 1)); } diff --git a/benchmark/timers/timers-insert-pooled.js b/benchmark/timers/timers-insert-pooled.js index a7441a9eaf76f6..91b69d34514a86 100644 --- a/benchmark/timers/timers-insert-pooled.js +++ b/benchmark/timers/timers-insert-pooled.js @@ -9,7 +9,7 @@ function main({ n }) { bench.start(); - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { setTimeout(() => {}, 1); } diff --git a/benchmark/timers/timers-insert-unpooled.js b/benchmark/timers/timers-insert-unpooled.js index 232cc7c31aff16..11d25d5fe79670 100644 --- a/benchmark/timers/timers-insert-unpooled.js +++ b/benchmark/timers/timers-insert-unpooled.js @@ -23,7 +23,7 @@ function main({ direction, n }) { } bench.end(n); - for (var j = 0; j < n; j++) { + for (let j = 0; j < n; j++) { clearTimeout(timersList[j]); } } diff --git a/benchmark/timers/timers-timeout-nexttick.js b/benchmark/timers/timers-timeout-nexttick.js index 638d8aec149cd5..784c8e0168dd28 100644 --- a/benchmark/timers/timers-timeout-nexttick.js +++ b/benchmark/timers/timers-timeout-nexttick.js @@ -30,7 +30,7 @@ function main({ n }) { bench.end(n); } - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { setTimeout(i % 2 ? cb : cb2, 1); } diff --git a/benchmark/timers/timers-timeout-pooled.js b/benchmark/timers/timers-timeout-pooled.js index 1cdae07dc98bdc..eb54d3c7a0082a 100644 --- a/benchmark/timers/timers-timeout-pooled.js +++ b/benchmark/timers/timers-timeout-pooled.js @@ -27,7 +27,7 @@ function main({ n }) { bench.end(n); } - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { setTimeout(i % 2 ? cb : cb2, 1); } diff --git a/benchmark/timers/timers-timeout-unpooled.js b/benchmark/timers/timers-timeout-unpooled.js index fecb73a36013b0..a7820805082047 100644 --- a/benchmark/timers/timers-timeout-unpooled.js +++ b/benchmark/timers/timers-timeout-unpooled.js @@ -27,7 +27,7 @@ function main({ n }) { bench.end(n); } - for (var i = 0; i < n; i++) { + for (let i = 0; i < n; i++) { // unref().ref() will cause each of these timers to // allocate their own handle setTimeout(i % 2 ? cb : cb2, 1).unref().ref(); diff --git a/benchmark/tls/convertprotocols.js b/benchmark/tls/convertprotocols.js index 0ba6c6dd0873b5..74bb942bfcec4f 100644 --- a/benchmark/tls/convertprotocols.js +++ b/benchmark/tls/convertprotocols.js @@ -16,7 +16,7 @@ function main({ n }) { m = {}; } bench.start(); - for (var i = 0; i < n; i++) + for (let i = 0; i < n; i++) tls.convertALPNProtocols(input, m); bench.end(n); } diff --git a/benchmark/tls/secure-pair.js b/benchmark/tls/secure-pair.js index c52f4cbf918a1d..bb7933d837f999 100644 --- a/benchmark/tls/secure-pair.js +++ b/benchmark/tls/secure-pair.js @@ -3,7 +3,7 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { dur: [5], securing: ['SecurePair', 'TLSSocket', 'clear'], - size: [2, 100, 1024, 1024 * 1024] + size: [100, 1024, 1024 * 1024] }); const fixtures = require('../../test/common/fixtures'); diff --git a/benchmark/tls/throughput.js b/benchmark/tls/throughput.js index a8f2d19649d04a..3ea84aa84ef453 100644 --- a/benchmark/tls/throughput.js +++ b/benchmark/tls/throughput.js @@ -3,7 +3,7 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { dur: [5], type: ['buf', 'asc', 'utf'], - size: [2, 1024, 1024 * 1024] + size: [100, 1024, 1024 * 1024, 4 * 1024 * 1024, 16 * 1024 * 1024] }); const fixtures = require('../../test/common/fixtures'); diff --git a/benchmark/tls/tls-connect.js b/benchmark/tls/tls-connect.js index 4300f6841f0cd6..1cb04d98a52721 100644 --- a/benchmark/tls/tls-connect.js +++ b/benchmark/tls/tls-connect.js @@ -31,7 +31,7 @@ function main(conf) { function onListening() { setTimeout(done, dur * 1000); bench.start(); - for (var i = 0; i < concurrency; i++) + for (let i = 0; i < concurrency; i++) makeConnection(); } diff --git a/benchmark/url/legacy-vs-whatwg-url-get-prop.js b/benchmark/url/legacy-vs-whatwg-url-get-prop.js index 16bcd226324ef8..fe0c464f52b3c9 100644 --- a/benchmark/url/legacy-vs-whatwg-url-get-prop.js +++ b/benchmark/url/legacy-vs-whatwg-url-get-prop.js @@ -71,9 +71,8 @@ function useWHATWG(data) { } function main({ type, method, e }) { - e = +e; - var data; - var noDead; // Avoid dead code elimination. + let data; + let noDead; // Avoid dead code elimination. switch (method) { case 'legacy': data = common.bakeUrlData(type, e, false, false); diff --git a/benchmark/url/legacy-vs-whatwg-url-parse.js b/benchmark/url/legacy-vs-whatwg-url-parse.js index 7c49654b47d8e2..6e5e25d231242f 100644 --- a/benchmark/url/legacy-vs-whatwg-url-parse.js +++ b/benchmark/url/legacy-vs-whatwg-url-parse.js @@ -46,7 +46,6 @@ function useWHATWGWithoutBase(data) { } function main({ e, method, type, withBase }) { - e = +e; withBase = withBase === 'true'; var noDead; // Avoid dead code elimination. var data; diff --git a/benchmark/url/legacy-vs-whatwg-url-serialize.js b/benchmark/url/legacy-vs-whatwg-url-serialize.js index d6d8c8a4e71152..5523e549ceb233 100644 --- a/benchmark/url/legacy-vs-whatwg-url-serialize.js +++ b/benchmark/url/legacy-vs-whatwg-url-serialize.js @@ -35,7 +35,6 @@ function useWHATWG(data) { } function main({ type, e, method }) { - e = +e; const data = common.bakeUrlData(type, e, false, false); var noDead; // Avoid dead code elimination. diff --git a/benchmark/url/url-format.js b/benchmark/url/url-format.js index 3e91cefd363c37..be5632d2b67367 100644 --- a/benchmark/url/url-format.js +++ b/benchmark/url/url-format.js @@ -13,7 +13,7 @@ const bench = common.createBenchmark(main, { }); function main({ type, n }) { - const input = inputs[type] || ''; + const input = inputs[type]; // Force-optimize url.format() so that the benchmark doesn't get // disrupted by the optimizer kicking in halfway through. diff --git a/benchmark/url/url-parse.js b/benchmark/url/url-parse.js index 751a11201b11e2..b3e83188b2192f 100644 --- a/benchmark/url/url-parse.js +++ b/benchmark/url/url-parse.js @@ -13,7 +13,7 @@ const bench = common.createBenchmark(main, { }); function main({ type, n }) { - const input = inputs[type] || ''; + const input = inputs[type]; bench.start(); for (let i = 0; i < n; i += 1) diff --git a/benchmark/url/whatwg-url-properties.js b/benchmark/url/whatwg-url-properties.js index 60f573e27a8fe2..ac71ff4f636d66 100644 --- a/benchmark/url/whatwg-url-properties.js +++ b/benchmark/url/whatwg-url-properties.js @@ -34,7 +34,6 @@ function get(data, prop) { } function main({ e, type, prop, withBase }) { - e = +e; withBase = withBase === 'true'; const data = common.bakeUrlData(type, e, withBase, true); switch (prop) { diff --git a/benchmark/util/format.js b/benchmark/util/format.js index 976e0f4e655486..f7a6caa81c96b6 100644 --- a/benchmark/util/format.js +++ b/benchmark/util/format.js @@ -23,8 +23,7 @@ const bench = common.createBenchmark(main, { }); function main({ n, type }) { - // For testing, if supplied with an empty type, default to string. - const [first, second] = inputs[type || 'string']; + const [first, second] = inputs[type]; bench.start(); for (let i = 0; i < n; i++) { diff --git a/benchmark/util/inspect-array.js b/benchmark/util/inspect-array.js index 4fd73785f789d1..987b40479184d2 100644 --- a/benchmark/util/inspect-array.js +++ b/benchmark/util/inspect-array.js @@ -23,8 +23,6 @@ function main({ n, len, type }) { opts = { showHidden: true }; arr = arr.fill('denseArray'); break; - // For testing, if supplied with an empty type, default to denseArray. - case '': case 'denseArray': arr = arr.fill('denseArray'); break; diff --git a/benchmark/util/type-check.js b/benchmark/util/type-check.js index 5b992e729e63ae..49cef48fe144db 100644 --- a/benchmark/util/type-check.js +++ b/benchmark/util/type-check.js @@ -35,9 +35,6 @@ const bench = common.createBenchmark(main, { }); function main({ type, argument, version, n }) { - // For testing, if supplied with an empty type, default to ArrayBufferView. - type = type || 'ArrayBufferView'; - const util = common.binding('util'); const types = require('internal/util/types'); diff --git a/benchmark/v8/get-stats.js b/benchmark/v8/get-stats.js index aa1f0516811983..d5ce102774df6e 100644 --- a/benchmark/v8/get-stats.js +++ b/benchmark/v8/get-stats.js @@ -13,7 +13,7 @@ const bench = common.createBenchmark(main, { function main({ method, n }) { bench.start(); - for (var i = 0; i < n; i++) + for (let i = 0; i < n; i++) v8[method](); bench.end(n); } diff --git a/benchmark/vm/run-in-context.js b/benchmark/vm/run-in-context.js index 9b57067a19c9ac..980a08e7e56e8c 100644 --- a/benchmark/vm/run-in-context.js +++ b/benchmark/vm/run-in-context.js @@ -20,7 +20,7 @@ function main({ n, breakOnSigint, withSigintListener }) { const contextifiedSandbox = vm.createContext(); bench.start(); - for (var i = 0; i < n; i++) + for (let i = 0; i < n; i++) vm.runInContext('0', contextifiedSandbox, options); bench.end(n); } diff --git a/benchmark/vm/run-in-this-context.js b/benchmark/vm/run-in-this-context.js index 0754287376d58c..c612c1ea49ecf6 100644 --- a/benchmark/vm/run-in-this-context.js +++ b/benchmark/vm/run-in-this-context.js @@ -18,7 +18,7 @@ function main({ n, breakOnSigint, withSigintListener }) { process.on('SIGINT', () => {}); bench.start(); - for (var i = 0; i < n; i++) + for (let i = 0; i < n; i++) vm.runInThisContext('0', options); bench.end(n); } diff --git a/benchmark/worker/echo.js b/benchmark/worker/echo.js index 3e729d0e26fa04..8d45a1f76b5eac 100644 --- a/benchmark/worker/echo.js +++ b/benchmark/worker/echo.js @@ -1,6 +1,7 @@ 'use strict'; const common = require('../common.js'); +const { Worker } = require('worker_threads'); const path = require('path'); const bench = common.createBenchmark(main, { workers: [1], @@ -11,19 +12,14 @@ const bench = common.createBenchmark(main, { const workerPath = path.resolve(__dirname, '..', 'fixtures', 'echo.worker.js'); -function main(conf) { - const { Worker } = require('worker_threads'); - - const n = +conf.n; - const workers = +conf.workers; - const sends = +conf.sendsPerBroadcast; +function main({ n, workers, sendsPerBroadcast: sends, payload: payloadType }) { const expectedPerBroadcast = sends * workers; - var payload; - var readies = 0; - var broadcasts = 0; - var msgCount = 0; + let payload; + let readies = 0; + let broadcasts = 0; + let msgCount = 0; - switch (conf.payload) { + switch (payloadType) { case 'string': payload = 'hello world!'; break; @@ -36,7 +32,7 @@ function main(conf) { const workerObjs = []; - for (var i = 0; i < workers; ++i) { + for (let i = 0; i < workers; ++i) { const worker = new Worker(workerPath); workerObjs.push(worker); worker.on('online', onOnline); diff --git a/benchmark/worker/messageport.js b/benchmark/worker/messageport.js new file mode 100644 index 00000000000000..8e2ddae73ff3ab --- /dev/null +++ b/benchmark/worker/messageport.js @@ -0,0 +1,42 @@ +'use strict'; + +const common = require('../common.js'); +const { MessageChannel } = require('worker_threads'); +const bench = common.createBenchmark(main, { + payload: ['string', 'object'], + n: [1e6] +}); + +function main(conf) { + const n = conf.n; + let payload; + + switch (conf.payload) { + case 'string': + payload = 'hello world!'; + break; + case 'object': + payload = { action: 'pewpewpew', powerLevel: 9001 }; + break; + default: + throw new Error('Unsupported payload type'); + } + + const { port1, port2 } = new MessageChannel(); + + let messages = 0; + port2.onmessage = () => { + if (messages++ === n) { + bench.end(n); + port1.close(); + } else { + write(); + } + }; + bench.start(); + write(); + + function write() { + port1.postMessage(payload); + } +} diff --git a/common.gypi b/common.gypi index 8c9076b7352d81..38a22fc5f1ddd6 100644 --- a/common.gypi +++ b/common.gypi @@ -38,7 +38,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.31', + 'v8_embedder_string': '-node.34', ##### V8 defaults for Node.js ##### @@ -136,6 +136,9 @@ ['OS=="mac"', { 'clang%': 1, }], + ['target_arch in "ppc64 s390x"', { + 'v8_enable_backtrace': 1, + }], ], }, diff --git a/configure.py b/configure.py index 14f5665e0299a2..5c1360615de6b3 100755 --- a/configure.py +++ b/configure.py @@ -88,6 +88,11 @@ dest='debug', help='also build debug build') +parser.add_option('--debug-node', + action='store_true', + dest='debug_node', + help='build the Node.js part of the binary with debugging symbols') + parser.add_option('--dest-cpu', action='store', dest='dest_cpu', @@ -295,6 +300,27 @@ dest='shared_zlib_libpath', help='a directory to search for the shared zlib DLL') +shared_optgroup.add_option('--shared-brotli', + action='store_true', + dest='shared_brotli', + help='link to a shared brotli DLL instead of static linking') + +shared_optgroup.add_option('--shared-brotli-includes', + action='store', + dest='shared_brotli_includes', + help='directory containing brotli header files') + +shared_optgroup.add_option('--shared-brotli-libname', + action='store', + dest='shared_brotli_libname', + default='brotlidec,brotlienc', + help='alternative lib name to link to [default: %default]') + +shared_optgroup.add_option('--shared-brotli-libpath', + action='store', + dest='shared_brotli_libpath', + help='a directory to search for the shared brotli DLL') + shared_optgroup.add_option('--shared-cares', action='store_true', dest='shared_cares', @@ -664,7 +690,11 @@ def pkg_config(pkg): retval = () for flag in ['--libs-only-l', '--cflags-only-I', '--libs-only-L', '--modversion']: - args += [flag, pkg] + args += [flag] + if isinstance(pkg, list): + args += pkg + else: + args += [pkg] try: proc = subprocess.Popen(shlex.split(pkg_config) + args, stdout=subprocess.PIPE) @@ -964,6 +994,7 @@ def configure_node(o): o['variables']['node_prefix'] = options.prefix o['variables']['node_install_npm'] = b(not options.without_npm) o['variables']['node_report'] = b(not options.without_report) + o['variables']['debug_node'] = b(options.debug_node) o['default_configuration'] = 'Debug' if options.debug else 'Release' host_arch = host_arch_win() if os.name == 'nt' else host_arch_cc() @@ -1644,6 +1675,7 @@ def make_bin_override(): configure_library('zlib', output) configure_library('http_parser', output) configure_library('libuv', output) +configure_library('brotli', output, pkgname=['libbrotlidec', 'libbrotlienc']) configure_library('cares', output, pkgname='libcares') configure_library('nghttp2', output, pkgname='libnghttp2') configure_v8(output) diff --git a/deps/cares/cares.gyp b/deps/cares/cares.gyp index be7931f7743db1..0b5cd02c21dde1 100644 --- a/deps/cares/cares.gyp +++ b/deps/cares/cares.gyp @@ -112,7 +112,10 @@ 'defines': [ 'CARES_BUILDING_LIBRARY' ] }], [ 'OS=="win"', { - 'defines': [ 'CARES_PULL_WS2TCPIP_H=1' ], + 'defines': [ + 'CARES_PULL_WS2TCPIP_H=1', + '_WINSOCK_DEPRECATED_NO_WARNINGS', + ], 'include_dirs': [ 'config/win32' ], 'sources': [ 'src/config-win32.h', diff --git a/deps/icu-small/README-SMALL-ICU.txt b/deps/icu-small/README-SMALL-ICU.txt index efc3ebe925cbba..5530235095c8fd 100644 --- a/deps/icu-small/README-SMALL-ICU.txt +++ b/deps/icu-small/README-SMALL-ICU.txt @@ -1,8 +1,8 @@ Small ICU sources - auto generated by shrink-icu-src.py This directory contains the ICU subset used by --with-intl=small-icu (the default) -It is a strict subset of ICU 64 source files with the following exception(s): -* deps/icu-small/source/data/in/icudt64l.dat : Reduced-size data file +It is a strict subset of ICU 65 source files with the following exception(s): +* deps/icu-small/source/data/in/icudt65l.dat : Reduced-size data file To rebuild this directory, see ../../tools/icu/README.md diff --git a/deps/icu-small/source/common/brkeng.cpp b/deps/icu-small/source/common/brkeng.cpp index 42771b3617747d..68c74f2359c4a1 100644 --- a/deps/icu-small/source/common/brkeng.cpp +++ b/deps/icu-small/source/common/brkeng.cpp @@ -129,7 +129,7 @@ ICULanguageBreakFactory::getEngineFor(UChar32 c) { const LanguageBreakEngine *lbe = NULL; UErrorCode status = U_ZERO_ERROR; - static UMutex gBreakEngineMutex = U_MUTEX_INITIALIZER; + static UMutex gBreakEngineMutex; Mutex m(&gBreakEngineMutex); if (fEngines == NULL) { diff --git a/deps/icu-small/source/common/brkiter.cpp b/deps/icu-small/source/common/brkiter.cpp index 23e0cc3c153392..2fc4c345c7a038 100644 --- a/deps/icu-small/source/common/brkiter.cpp +++ b/deps/icu-small/source/common/brkiter.cpp @@ -277,7 +277,7 @@ ICUBreakIteratorService::~ICUBreakIteratorService() {} // defined in ucln_cmn.h U_NAMESPACE_END -static icu::UInitOnce gInitOnceBrkiter; +static icu::UInitOnce gInitOnceBrkiter = U_INITONCE_INITIALIZER; static icu::ICULocaleService* gService = NULL; diff --git a/deps/icu-small/source/common/bytesinkutil.h b/deps/icu-small/source/common/bytesinkutil.h index 69e4cbcd263932..6808fbe6777837 100644 --- a/deps/icu-small/source/common/bytesinkutil.h +++ b/deps/icu-small/source/common/bytesinkutil.h @@ -59,7 +59,7 @@ class U_COMMON_API ByteSinkUtil { ByteSink &sink, uint32_t options, Edits *edits); }; -class CharStringByteSink : public ByteSink { +class U_COMMON_API CharStringByteSink : public ByteSink { public: CharStringByteSink(CharString* dest); ~CharStringByteSink() override; diff --git a/deps/icu-small/source/common/characterproperties.cpp b/deps/icu-small/source/common/characterproperties.cpp index 5a57364375b372..7b50a4e2051b97 100644 --- a/deps/icu-small/source/common/characterproperties.cpp +++ b/deps/icu-small/source/common/characterproperties.cpp @@ -38,8 +38,8 @@ UBool U_CALLCONV characterproperties_cleanup(); constexpr int32_t NUM_INCLUSIONS = UPROPS_SRC_COUNT + UCHAR_INT_LIMIT - UCHAR_INT_START; struct Inclusion { - UnicodeSet *fSet; - UInitOnce fInitOnce; + UnicodeSet *fSet = nullptr; + UInitOnce fInitOnce = U_INITONCE_INITIALIZER; }; Inclusion gInclusions[NUM_INCLUSIONS]; // cached getInclusions() @@ -47,10 +47,7 @@ UnicodeSet *sets[UCHAR_BINARY_LIMIT] = {}; UCPMap *maps[UCHAR_INT_LIMIT - UCHAR_INT_START] = {}; -icu::UMutex *cpMutex() { - static icu::UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +icu::UMutex cpMutex; //---------------------------------------------------------------- // Inclusions list @@ -361,7 +358,7 @@ u_getBinaryPropertySet(UProperty property, UErrorCode *pErrorCode) { *pErrorCode = U_ILLEGAL_ARGUMENT_ERROR; return nullptr; } - Mutex m(cpMutex()); + Mutex m(&cpMutex); UnicodeSet *set = sets[property]; if (set == nullptr) { sets[property] = set = makeSet(property, *pErrorCode); @@ -377,7 +374,7 @@ u_getIntPropertyMap(UProperty property, UErrorCode *pErrorCode) { *pErrorCode = U_ILLEGAL_ARGUMENT_ERROR; return nullptr; } - Mutex m(cpMutex()); + Mutex m(&cpMutex); UCPMap *map = maps[property - UCHAR_INT_START]; if (map == nullptr) { maps[property - UCHAR_INT_START] = map = makeMap(property, *pErrorCode); diff --git a/deps/icu-small/source/common/charstr.cpp b/deps/icu-small/source/common/charstr.cpp index 852cc539457760..dda29dac63273c 100644 --- a/deps/icu-small/source/common/charstr.cpp +++ b/deps/icu-small/source/common/charstr.cpp @@ -35,6 +35,17 @@ CharString& CharString::operator=(CharString&& src) U_NOEXCEPT { return *this; } +char *CharString::cloneData(UErrorCode &errorCode) const { + if (U_FAILURE(errorCode)) { return nullptr; } + char *p = static_cast(uprv_malloc(len + 1)); + if (p == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return nullptr; + } + uprv_memcpy(p, buffer.getAlias(), len + 1); + return p; +} + CharString &CharString::copyFrom(const CharString &s, UErrorCode &errorCode) { if(U_SUCCESS(errorCode) && this!=&s && ensureCapacity(s.len+1, 0, errorCode)) { len=s.len; @@ -52,6 +63,18 @@ int32_t CharString::lastIndexOf(char c) const { return -1; } +bool CharString::contains(StringPiece s) const { + if (s.empty()) { return false; } + const char *p = buffer.getAlias(); + int32_t lastStart = len - s.length(); + for (int32_t i = 0; i <= lastStart; ++i) { + if (uprv_memcmp(p + i, s.data(), s.length()) == 0) { + return true; + } + } + return false; +} + CharString &CharString::truncate(int32_t newLength) { if(newLength<0) { newLength=0; diff --git a/deps/icu-small/source/common/charstr.h b/deps/icu-small/source/common/charstr.h index 1a97e01988f991..23b950ed6ecc76 100644 --- a/deps/icu-small/source/common/charstr.h +++ b/deps/icu-small/source/common/charstr.h @@ -82,10 +82,24 @@ class U_COMMON_API CharString : public UMemory { const char *data() const { return buffer.getAlias(); } char *data() { return buffer.getAlias(); } + /** + * Allocates length()+1 chars and copies the NUL-terminated data(). + * The caller must uprv_free() the result. + */ + char *cloneData(UErrorCode &errorCode) const; + + bool operator==(StringPiece other) const { + return len == other.length() && (len == 0 || uprv_memcmp(data(), other.data(), len) == 0); + } + bool operator!=(StringPiece other) const { + return !operator==(other); + } /** @return last index of c, or -1 if c is not in this string */ int32_t lastIndexOf(char c) const; + bool contains(StringPiece s) const; + CharString &clear() { len=0; buffer[0]=0; return *this; } CharString &truncate(int32_t newLength); diff --git a/deps/icu-small/source/common/cmemory.h b/deps/icu-small/source/common/cmemory.h index f501b20a14ca13..b24bd0ead2761c 100644 --- a/deps/icu-small/source/common/cmemory.h +++ b/deps/icu-small/source/common/cmemory.h @@ -64,38 +64,37 @@ uprv_free(void *mem); U_CAPI void * U_EXPORT2 uprv_calloc(size_t num, size_t size) U_MALLOC_ATTR U_ALLOC_SIZE_ATTR2(1,2); -/** - * This should align the memory properly on any machine. - * This is very useful for the safeClone functions. - */ -typedef union { - long t1; - double t2; - void *t3; -} UAlignedMemory; - /** * Get the least significant bits of a pointer (a memory address). * For example, with a mask of 3, the macro gets the 2 least significant bits, * which will be 0 if the pointer is 32-bit (4-byte) aligned. * - * ptrdiff_t is the most appropriate integer type to cast to. - * size_t should work too, since on most (or all?) platforms it has the same - * width as ptrdiff_t. + * uintptr_t is the most appropriate integer type to cast to. */ -#define U_POINTER_MASK_LSB(ptr, mask) (((ptrdiff_t)(char *)(ptr)) & (mask)) +#define U_POINTER_MASK_LSB(ptr, mask) ((uintptr_t)(ptr) & (mask)) /** - * Get the amount of bytes that a pointer is off by from - * the previous UAlignedMemory-aligned pointer. - */ -#define U_ALIGNMENT_OFFSET(ptr) U_POINTER_MASK_LSB(ptr, sizeof(UAlignedMemory) - 1) - -/** - * Get the amount of bytes to add to a pointer - * in order to get the next UAlignedMemory-aligned address. + * Create & return an instance of "type" in statically allocated storage. + * e.g. + * static std::mutex *myMutex = STATIC_NEW(std::mutex); + * To destroy an object created in this way, invoke the destructor explicitly, e.g. + * myMutex->~mutex(); + * DO NOT use delete. + * DO NOT use with class UMutex, which has specific support for static instances. + * + * STATIC_NEW is intended for use when + * - We want a static (or global) object. + * - We don't want it to ever be destructed, or to explicitly control destruction, + * to avoid use-after-destruction problems. + * - We want to avoid an ordinary heap allocated object, + * to avoid the possibility of memory allocation failures, and + * to avoid memory leak reports, from valgrind, for example. + * This is defined as a macro rather than a template function because each invocation + * must define distinct static storage for the object being returned. */ -#define U_ALIGNMENT_OFFSET_UP(ptr) (sizeof(UAlignedMemory) - U_ALIGNMENT_OFFSET(ptr)) +#define STATIC_NEW(type) [] () { \ + alignas(type) static char storage[sizeof(type)]; \ + return new(storage) type();} () /** * Heap clean up function, called from u_cleanup() diff --git a/deps/icu-small/source/common/edits.cpp b/deps/icu-small/source/common/edits.cpp index 00a8d601a1cc80..95f0c19a728cf4 100644 --- a/deps/icu-small/source/common/edits.cpp +++ b/deps/icu-small/source/common/edits.cpp @@ -243,7 +243,7 @@ UBool Edits::growArray() { return TRUE; } -UBool Edits::copyErrorTo(UErrorCode &outErrorCode) { +UBool Edits::copyErrorTo(UErrorCode &outErrorCode) const { if (U_FAILURE(outErrorCode)) { return TRUE; } if (U_SUCCESS(errorCode_)) { return FALSE; } outErrorCode = errorCode_; diff --git a/deps/icu-small/source/common/filteredbrk.cpp b/deps/icu-small/source/common/filteredbrk.cpp index 162b38de5d6fa2..ae7cf5270aeabf 100644 --- a/deps/icu-small/source/common/filteredbrk.cpp +++ b/deps/icu-small/source/common/filteredbrk.cpp @@ -173,7 +173,7 @@ class SimpleFilteredSentenceBreakIterator : public BreakIterator { status = U_SAFECLONE_ALLOCATED_WARNING; return clone(); } - virtual BreakIterator* clone(void) const { return new SimpleFilteredSentenceBreakIterator(*this); } + virtual SimpleFilteredSentenceBreakIterator* clone() const { return new SimpleFilteredSentenceBreakIterator(*this); } virtual UClassID getDynamicClassID(void) const { return NULL; } virtual UBool operator==(const BreakIterator& o) const { if(this==&o) return true; return false; } diff --git a/deps/icu-small/source/common/localebuilder.cpp b/deps/icu-small/source/common/localebuilder.cpp index fe931fcf759dfd..1dd8131e5895a5 100644 --- a/deps/icu-small/source/common/localebuilder.cpp +++ b/deps/icu-small/source/common/localebuilder.cpp @@ -157,13 +157,18 @@ _isKeywordValue(const char* key, const char* value, int32_t value_len) } static void -_copyExtensions(const Locale& from, Locale* to, bool validate, UErrorCode& errorCode) +_copyExtensions(const Locale& from, icu::StringEnumeration *keywords, + Locale& to, bool validate, UErrorCode& errorCode) { if (U_FAILURE(errorCode)) { return; } - LocalPointer iter(from.createKeywords(errorCode)); - if (U_FAILURE(errorCode) || iter.isNull()) { return; } + LocalPointer ownedKeywords; + if (keywords == nullptr) { + ownedKeywords.adoptInstead(from.createKeywords(errorCode)); + if (U_FAILURE(errorCode) || ownedKeywords.isNull()) { return; } + keywords = ownedKeywords.getAlias(); + } const char* key; - while ((key = iter->next(nullptr, errorCode)) != nullptr) { + while ((key = keywords->next(nullptr, errorCode)) != nullptr) { CharString value; CharStringByteSink sink(&value); from.getKeywordValue(key, sink, errorCode); @@ -176,34 +181,34 @@ _copyExtensions(const Locale& from, Locale* to, bool validate, UErrorCode& error errorCode = U_ILLEGAL_ARGUMENT_ERROR; return; } - to->setKeywordValue(key, value.data(), errorCode); + to.setKeywordValue(key, value.data(), errorCode); if (U_FAILURE(errorCode)) { return; } } } void static -_clearUAttributesAndKeyType(Locale* locale, UErrorCode& errorCode) +_clearUAttributesAndKeyType(Locale& locale, UErrorCode& errorCode) { // Clear Unicode attributes - locale->setKeywordValue(kAttributeKey, "", errorCode); + locale.setKeywordValue(kAttributeKey, "", errorCode); // Clear all Unicode keyword values - LocalPointer iter(locale->createUnicodeKeywords(errorCode)); + LocalPointer iter(locale.createUnicodeKeywords(errorCode)); if (U_FAILURE(errorCode) || iter.isNull()) { return; } const char* key; while ((key = iter->next(nullptr, errorCode)) != nullptr) { - locale->setUnicodeKeywordValue(key, nullptr, errorCode); + locale.setUnicodeKeywordValue(key, nullptr, errorCode); } } static void -_setUnicodeExtensions(Locale* locale, const CharString& value, UErrorCode& errorCode) +_setUnicodeExtensions(Locale& locale, const CharString& value, UErrorCode& errorCode) { // Add the unicode extensions to extensions_ CharString locale_str("und-u-", errorCode); locale_str.append(value, errorCode); _copyExtensions( - Locale::forLanguageTag(locale_str.data(), errorCode), + Locale::forLanguageTag(locale_str.data(), errorCode), nullptr, locale, false, errorCode); } @@ -235,10 +240,10 @@ LocaleBuilder& LocaleBuilder::setExtension(char key, StringPiece value) status_); return *this; } - _clearUAttributesAndKeyType(extensions_, status_); + _clearUAttributesAndKeyType(*extensions_, status_); if (U_FAILURE(status_)) { return *this; } if (!value.empty()) { - _setUnicodeExtensions(extensions_, value_str, status_); + _setUnicodeExtensions(*extensions_, value_str, status_); } return *this; } @@ -401,6 +406,24 @@ Locale makeBogusLocale() { return bogus; } +void LocaleBuilder::copyExtensionsFrom(const Locale& src, UErrorCode& errorCode) +{ + if (U_FAILURE(errorCode)) { return; } + LocalPointer keywords(src.createKeywords(errorCode)); + if (U_FAILURE(errorCode) || keywords.isNull() || keywords->count(errorCode) == 0) { + // Error, or no extensions to copy. + return; + } + if (extensions_ == nullptr) { + extensions_ = new Locale(); + if (extensions_ == nullptr) { + status_ = U_MEMORY_ALLOCATION_ERROR; + return; + } + } + _copyExtensions(src, keywords.getAlias(), *extensions_, false, errorCode); +} + Locale LocaleBuilder::build(UErrorCode& errorCode) { if (U_FAILURE(errorCode)) { @@ -425,7 +448,7 @@ Locale LocaleBuilder::build(UErrorCode& errorCode) } Locale product(locale_str.data()); if (extensions_ != nullptr) { - _copyExtensions(*extensions_, &product, true, errorCode); + _copyExtensions(*extensions_, nullptr, product, true, errorCode); } if (U_FAILURE(errorCode)) { return makeBogusLocale(); @@ -433,4 +456,13 @@ Locale LocaleBuilder::build(UErrorCode& errorCode) return product; } +UBool LocaleBuilder::copyErrorTo(UErrorCode &outErrorCode) const { + if (U_FAILURE(outErrorCode)) { + // Do not overwrite the older error code + return TRUE; + } + outErrorCode = status_; + return U_FAILURE(outErrorCode); +} + U_NAMESPACE_END diff --git a/deps/icu-small/source/common/localematcher.cpp b/deps/icu-small/source/common/localematcher.cpp new file mode 100644 index 00000000000000..d975fe759b4ce1 --- /dev/null +++ b/deps/icu-small/source/common/localematcher.cpp @@ -0,0 +1,720 @@ +// © 2019 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html#License + +// localematcher.cpp +// created: 2019may08 Markus W. Scherer + +#ifndef __LOCMATCHER_H__ +#define __LOCMATCHER_H__ + +#include "unicode/utypes.h" +#include "unicode/localebuilder.h" +#include "unicode/localematcher.h" +#include "unicode/locid.h" +#include "unicode/stringpiece.h" +#include "unicode/uobject.h" +#include "cstring.h" +#include "localeprioritylist.h" +#include "loclikelysubtags.h" +#include "locdistance.h" +#include "lsr.h" +#include "uassert.h" +#include "uhash.h" +#include "uvector.h" + +#define UND_LSR LSR("und", "", "") + +/** + * Indicator for the lifetime of desired-locale objects passed into the LocaleMatcher. + * + * @draft ICU 65 + */ +enum ULocMatchLifetime { + /** + * Locale objects are temporary. + * The matcher will make a copy of a locale that will be used beyond one function call. + * + * @draft ICU 65 + */ + ULOCMATCH_TEMPORARY_LOCALES, + /** + * Locale objects are stored at least as long as the matcher is used. + * The matcher will keep only a pointer to a locale that will be used beyond one function call, + * avoiding a copy. + * + * @draft ICU 65 + */ + ULOCMATCH_STORED_LOCALES // TODO: permanent? cached? clone? +}; +#ifndef U_IN_DOXYGEN +typedef enum ULocMatchLifetime ULocMatchLifetime; +#endif + +U_NAMESPACE_BEGIN + +LocaleMatcher::Result::Result(LocaleMatcher::Result &&src) U_NOEXCEPT : + desiredLocale(src.desiredLocale), + supportedLocale(src.supportedLocale), + desiredIndex(src.desiredIndex), + supportedIndex(src.supportedIndex), + desiredIsOwned(src.desiredIsOwned) { + if (desiredIsOwned) { + src.desiredLocale = nullptr; + src.desiredIndex = -1; + src.desiredIsOwned = FALSE; + } +} + +LocaleMatcher::Result::~Result() { + if (desiredIsOwned) { + delete desiredLocale; + } +} + +LocaleMatcher::Result &LocaleMatcher::Result::operator=(LocaleMatcher::Result &&src) U_NOEXCEPT { + this->~Result(); + + desiredLocale = src.desiredLocale; + supportedLocale = src.supportedLocale; + desiredIndex = src.desiredIndex; + supportedIndex = src.supportedIndex; + desiredIsOwned = src.desiredIsOwned; + + if (desiredIsOwned) { + src.desiredLocale = nullptr; + src.desiredIndex = -1; + src.desiredIsOwned = FALSE; + } + return *this; +} + +Locale LocaleMatcher::Result::makeResolvedLocale(UErrorCode &errorCode) const { + if (U_FAILURE(errorCode) || supportedLocale == nullptr) { + return Locale::getRoot(); + } + const Locale *bestDesired = getDesiredLocale(); + if (bestDesired == nullptr || *supportedLocale == *bestDesired) { + return *supportedLocale; + } + LocaleBuilder b; + b.setLocale(*supportedLocale); + + // Copy the region from bestDesired, if there is one. + const char *region = bestDesired->getCountry(); + if (*region != 0) { + b.setRegion(region); + } + + // Copy the variants from bestDesired, if there are any. + // Note that this will override any supportedLocale variants. + // For example, "sco-ulster-fonipa" + "...-fonupa" => "sco-fonupa" (replacing ulster). + const char *variants = bestDesired->getVariant(); + if (*variants != 0) { + b.setVariant(variants); + } + + // Copy the extensions from bestDesired, if there are any. + // C++ note: The following note, copied from Java, may not be true, + // as long as C++ copies by legacy ICU keyword, not by extension singleton. + // Note that this will override any supportedLocale extensions. + // For example, "th-u-nu-latn-ca-buddhist" + "...-u-nu-native" => "th-u-nu-native" + // (replacing calendar). + b.copyExtensionsFrom(*bestDesired, errorCode); + return b.build(errorCode); +} + +LocaleMatcher::Builder::Builder(LocaleMatcher::Builder &&src) U_NOEXCEPT : + errorCode_(src.errorCode_), + supportedLocales_(src.supportedLocales_), + thresholdDistance_(src.thresholdDistance_), + demotion_(src.demotion_), + defaultLocale_(src.defaultLocale_), + favor_(src.favor_) { + src.supportedLocales_ = nullptr; + src.defaultLocale_ = nullptr; +} + +LocaleMatcher::Builder::~Builder() { + delete supportedLocales_; + delete defaultLocale_; +} + +LocaleMatcher::Builder &LocaleMatcher::Builder::operator=(LocaleMatcher::Builder &&src) U_NOEXCEPT { + this->~Builder(); + + errorCode_ = src.errorCode_; + supportedLocales_ = src.supportedLocales_; + thresholdDistance_ = src.thresholdDistance_; + demotion_ = src.demotion_; + defaultLocale_ = src.defaultLocale_; + favor_ = src.favor_; + + src.supportedLocales_ = nullptr; + src.defaultLocale_ = nullptr; + return *this; +} + +void LocaleMatcher::Builder::clearSupportedLocales() { + if (supportedLocales_ != nullptr) { + supportedLocales_->removeAllElements(); + } +} + +bool LocaleMatcher::Builder::ensureSupportedLocaleVector() { + if (U_FAILURE(errorCode_)) { return false; } + if (supportedLocales_ != nullptr) { return true; } + supportedLocales_ = new UVector(uprv_deleteUObject, nullptr, errorCode_); + if (U_FAILURE(errorCode_)) { return false; } + if (supportedLocales_ == nullptr) { + errorCode_ = U_MEMORY_ALLOCATION_ERROR; + return false; + } + return true; +} + +LocaleMatcher::Builder &LocaleMatcher::Builder::setSupportedLocalesFromListString( + StringPiece locales) { + LocalePriorityList list(locales, errorCode_); + if (U_FAILURE(errorCode_)) { return *this; } + clearSupportedLocales(); + if (!ensureSupportedLocaleVector()) { return *this; } + int32_t length = list.getLengthIncludingRemoved(); + for (int32_t i = 0; i < length; ++i) { + Locale *locale = list.orphanLocaleAt(i); + if (locale == nullptr) { continue; } + supportedLocales_->addElement(locale, errorCode_); + if (U_FAILURE(errorCode_)) { + delete locale; + break; + } + } + return *this; +} + +LocaleMatcher::Builder &LocaleMatcher::Builder::setSupportedLocales(Locale::Iterator &locales) { + if (U_FAILURE(errorCode_)) { return *this; } + clearSupportedLocales(); + if (!ensureSupportedLocaleVector()) { return *this; } + while (locales.hasNext()) { + const Locale &locale = locales.next(); + Locale *clone = locale.clone(); + if (clone == nullptr) { + errorCode_ = U_MEMORY_ALLOCATION_ERROR; + break; + } + supportedLocales_->addElement(clone, errorCode_); + if (U_FAILURE(errorCode_)) { + delete clone; + break; + } + } + return *this; +} + +LocaleMatcher::Builder &LocaleMatcher::Builder::addSupportedLocale(const Locale &locale) { + if (!ensureSupportedLocaleVector()) { return *this; } + Locale *clone = locale.clone(); + if (clone == nullptr) { + errorCode_ = U_MEMORY_ALLOCATION_ERROR; + return *this; + } + supportedLocales_->addElement(clone, errorCode_); + if (U_FAILURE(errorCode_)) { + delete clone; + } + return *this; +} + +LocaleMatcher::Builder &LocaleMatcher::Builder::setDefaultLocale(const Locale *defaultLocale) { + if (U_FAILURE(errorCode_)) { return *this; } + Locale *clone = nullptr; + if (defaultLocale != nullptr) { + clone = defaultLocale->clone(); + if (clone == nullptr) { + errorCode_ = U_MEMORY_ALLOCATION_ERROR; + return *this; + } + } + delete defaultLocale_; + defaultLocale_ = clone; + return *this; +} + +LocaleMatcher::Builder &LocaleMatcher::Builder::setFavorSubtag(ULocMatchFavorSubtag subtag) { + if (U_FAILURE(errorCode_)) { return *this; } + favor_ = subtag; + return *this; +} + +LocaleMatcher::Builder &LocaleMatcher::Builder::setDemotionPerDesiredLocale(ULocMatchDemotion demotion) { + if (U_FAILURE(errorCode_)) { return *this; } + demotion_ = demotion; + return *this; +} + +#if 0 +/** + * Internal only! + * + * @param thresholdDistance the thresholdDistance to set, with -1 = default + * @return this Builder object + * @internal + * @deprecated This API is ICU internal only. + */ +@Deprecated +LocaleMatcher::Builder &LocaleMatcher::Builder::internalSetThresholdDistance(int32_t thresholdDistance) { + if (U_FAILURE(errorCode_)) { return *this; } + if (thresholdDistance > 100) { + thresholdDistance = 100; + } + thresholdDistance_ = thresholdDistance; + return *this; +} +#endif + +UBool LocaleMatcher::Builder::copyErrorTo(UErrorCode &outErrorCode) const { + if (U_FAILURE(outErrorCode)) { return TRUE; } + if (U_SUCCESS(errorCode_)) { return FALSE; } + outErrorCode = errorCode_; + return TRUE; +} + +LocaleMatcher LocaleMatcher::Builder::build(UErrorCode &errorCode) const { + if (U_SUCCESS(errorCode) && U_FAILURE(errorCode_)) { + errorCode = errorCode_; + } + return LocaleMatcher(*this, errorCode); +} + +namespace { + +LSR getMaximalLsrOrUnd(const XLikelySubtags &likelySubtags, const Locale &locale, + UErrorCode &errorCode) { + if (U_FAILURE(errorCode) || locale.isBogus() || *locale.getName() == 0 /* "und" */) { + return UND_LSR; + } else { + return likelySubtags.makeMaximizedLsrFrom(locale, errorCode); + } +} + +int32_t hashLSR(const UHashTok token) { + const LSR *lsr = static_cast(token.pointer); + return lsr->hashCode; +} + +UBool compareLSRs(const UHashTok t1, const UHashTok t2) { + const LSR *lsr1 = static_cast(t1.pointer); + const LSR *lsr2 = static_cast(t2.pointer); + return *lsr1 == *lsr2; +} + +bool putIfAbsent(UHashtable *lsrToIndex, const LSR &lsr, int32_t i, UErrorCode &errorCode) { + if (U_FAILURE(errorCode)) { return false; } + U_ASSERT(i > 0); + int32_t index = uhash_geti(lsrToIndex, &lsr); + if (index != 0) { + return false; + } else { + uhash_puti(lsrToIndex, const_cast(&lsr), i, &errorCode); + return U_SUCCESS(errorCode); + } +} + +} // namespace + +LocaleMatcher::LocaleMatcher(const Builder &builder, UErrorCode &errorCode) : + likelySubtags(*XLikelySubtags::getSingleton(errorCode)), + localeDistance(*LocaleDistance::getSingleton(errorCode)), + thresholdDistance(builder.thresholdDistance_), + demotionPerDesiredLocale(0), + favorSubtag(builder.favor_), + supportedLocales(nullptr), lsrs(nullptr), supportedLocalesLength(0), + supportedLsrToIndex(nullptr), + supportedLSRs(nullptr), supportedIndexes(nullptr), supportedLSRsLength(0), + ownedDefaultLocale(nullptr), defaultLocale(nullptr), defaultLocaleIndex(-1) { + if (U_FAILURE(errorCode)) { return; } + if (thresholdDistance < 0) { + thresholdDistance = localeDistance.getDefaultScriptDistance(); + } + supportedLocalesLength = builder.supportedLocales_ != nullptr ? + builder.supportedLocales_->size() : 0; + const Locale *def = builder.defaultLocale_; + int32_t idef = -1; + if (supportedLocalesLength > 0) { + // Store the supported locales in input order, + // so that when different types are used (e.g., language tag strings) + // we can return those by parallel index. + supportedLocales = static_cast( + uprv_malloc(supportedLocalesLength * sizeof(const Locale *))); + // Supported LRSs in input order. + // In C++, we store these permanently to simplify ownership management + // in the hash tables. Duplicate LSRs (if any) are unused overhead. + lsrs = new LSR[supportedLocalesLength]; + if (supportedLocales == nullptr || lsrs == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return; + } + // If the constructor fails partway, we need null pointers for destructibility. + uprv_memset(supportedLocales, 0, supportedLocalesLength * sizeof(const Locale *)); + // Also find the first supported locale whose LSR is + // the same as that for the default locale. + LSR builderDefaultLSR; + const LSR *defLSR = nullptr; + if (def != nullptr) { + builderDefaultLSR = getMaximalLsrOrUnd(likelySubtags, *def, errorCode); + if (U_FAILURE(errorCode)) { return; } + defLSR = &builderDefaultLSR; + } + for (int32_t i = 0; i < supportedLocalesLength; ++i) { + const Locale &locale = *static_cast(builder.supportedLocales_->elementAt(i)); + supportedLocales[i] = locale.clone(); + if (supportedLocales[i] == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return; + } + const Locale &supportedLocale = *supportedLocales[i]; + LSR &lsr = lsrs[i] = getMaximalLsrOrUnd(likelySubtags, supportedLocale, errorCode); + lsr.setHashCode(); + if (U_FAILURE(errorCode)) { return; } + if (idef < 0 && defLSR != nullptr && lsr == *defLSR) { + idef = i; + defLSR = &lsr; // owned pointer to put into supportedLsrToIndex + if (*def == supportedLocale) { + def = &supportedLocale; // owned pointer to keep + } + } + } + + // We need an unordered map from LSR to first supported locale with that LSR, + // and an ordered list of (LSR, supported index). + // We insert the supported locales in the following order: + // 1. Default locale, if it is supported. + // 2. Priority locales (aka "paradigm locales") in builder order. + // 3. Remaining locales in builder order. + // In Java, we use a LinkedHashMap for both map & ordered lists. + // In C++, we use separate structures. + // We over-allocate arrays of LSRs and indexes for simplicity. + // We reserve slots at the array starts for the default and paradigm locales, + // plus enough for all supported locales. + // If there are few paradigm locales and few duplicate supported LSRs, + // then the amount of wasted space is small. + supportedLsrToIndex = uhash_openSize(hashLSR, compareLSRs, uhash_compareLong, + supportedLocalesLength, &errorCode); + if (U_FAILURE(errorCode)) { return; } + int32_t paradigmLimit = 1 + localeDistance.getParadigmLSRsLength(); + int32_t suppLSRsCapacity = paradigmLimit + supportedLocalesLength; + supportedLSRs = static_cast( + uprv_malloc(suppLSRsCapacity * sizeof(const LSR *))); + supportedIndexes = static_cast( + uprv_malloc(suppLSRsCapacity * sizeof(int32_t))); + if (supportedLSRs == nullptr || supportedIndexes == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return; + } + int32_t paradigmIndex = 0; + int32_t otherIndex = paradigmLimit; + if (idef >= 0) { + uhash_puti(supportedLsrToIndex, const_cast(defLSR), idef + 1, &errorCode); + supportedLSRs[0] = defLSR; + supportedIndexes[0] = idef; + paradigmIndex = 1; + } + for (int32_t i = 0; i < supportedLocalesLength; ++i) { + if (i == idef) { continue; } + const Locale &locale = *supportedLocales[i]; + const LSR &lsr = lsrs[i]; + if (defLSR == nullptr) { + U_ASSERT(i == 0); + def = &locale; + defLSR = &lsr; + idef = 0; + uhash_puti(supportedLsrToIndex, const_cast(&lsr), 0 + 1, &errorCode); + supportedLSRs[0] = &lsr; + supportedIndexes[0] = 0; + paradigmIndex = 1; + } else if (idef >= 0 && lsr == *defLSR) { + // lsr == *defLSR means that this supported locale is + // a duplicate of the default locale. + // Either an explicit default locale is supported, and we added it before the loop, + // or there is no explicit default locale, and this is + // a duplicate of the first supported locale. + // In both cases, idef >= 0 now, so otherwise we can skip the comparison. + // For a duplicate, putIfAbsent() is a no-op, so nothing to do. + } else { + if (putIfAbsent(supportedLsrToIndex, lsr, i + 1, errorCode)) { + if (localeDistance.isParadigmLSR(lsr)) { + supportedLSRs[paradigmIndex] = &lsr; + supportedIndexes[paradigmIndex++] = i; + } else { + supportedLSRs[otherIndex] = &lsr; + supportedIndexes[otherIndex++] = i; + } + } + } + if (U_FAILURE(errorCode)) { return; } + } + // Squeeze out unused array slots. + if (paradigmIndex < paradigmLimit && paradigmLimit < otherIndex) { + uprv_memmove(supportedLSRs + paradigmIndex, supportedLSRs + paradigmLimit, + (otherIndex - paradigmLimit) * sizeof(const LSR *)); + uprv_memmove(supportedIndexes + paradigmIndex, supportedIndexes + paradigmLimit, + (otherIndex - paradigmLimit) * sizeof(int32_t)); + } + supportedLSRsLength = otherIndex - (paradigmLimit - paradigmIndex); + } + + if (def != nullptr && (idef < 0 || def != supportedLocales[idef])) { + ownedDefaultLocale = def->clone(); + if (ownedDefaultLocale == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return; + } + def = ownedDefaultLocale; + } + defaultLocale = def; + defaultLocaleIndex = idef; + + if (builder.demotion_ == ULOCMATCH_DEMOTION_REGION) { + demotionPerDesiredLocale = localeDistance.getDefaultDemotionPerDesiredLocale(); + } +} + +LocaleMatcher::LocaleMatcher(LocaleMatcher &&src) U_NOEXCEPT : + likelySubtags(src.likelySubtags), + localeDistance(src.localeDistance), + thresholdDistance(src.thresholdDistance), + demotionPerDesiredLocale(src.demotionPerDesiredLocale), + favorSubtag(src.favorSubtag), + supportedLocales(src.supportedLocales), lsrs(src.lsrs), + supportedLocalesLength(src.supportedLocalesLength), + supportedLsrToIndex(src.supportedLsrToIndex), + supportedLSRs(src.supportedLSRs), + supportedIndexes(src.supportedIndexes), + supportedLSRsLength(src.supportedLSRsLength), + ownedDefaultLocale(src.ownedDefaultLocale), defaultLocale(src.defaultLocale), + defaultLocaleIndex(src.defaultLocaleIndex) { + src.supportedLocales = nullptr; + src.lsrs = nullptr; + src.supportedLocalesLength = 0; + src.supportedLsrToIndex = nullptr; + src.supportedLSRs = nullptr; + src.supportedIndexes = nullptr; + src.supportedLSRsLength = 0; + src.ownedDefaultLocale = nullptr; + src.defaultLocale = nullptr; + src.defaultLocaleIndex = -1; +} + +LocaleMatcher::~LocaleMatcher() { + for (int32_t i = 0; i < supportedLocalesLength; ++i) { + delete supportedLocales[i]; + } + uprv_free(supportedLocales); + delete[] lsrs; + uhash_close(supportedLsrToIndex); + uprv_free(supportedLSRs); + uprv_free(supportedIndexes); + delete ownedDefaultLocale; +} + +LocaleMatcher &LocaleMatcher::operator=(LocaleMatcher &&src) U_NOEXCEPT { + this->~LocaleMatcher(); + + thresholdDistance = src.thresholdDistance; + demotionPerDesiredLocale = src.demotionPerDesiredLocale; + favorSubtag = src.favorSubtag; + supportedLocales = src.supportedLocales; + lsrs = src.lsrs; + supportedLocalesLength = src.supportedLocalesLength; + supportedLsrToIndex = src.supportedLsrToIndex; + supportedLSRs = src.supportedLSRs; + supportedIndexes = src.supportedIndexes; + supportedLSRsLength = src.supportedLSRsLength; + ownedDefaultLocale = src.ownedDefaultLocale; + defaultLocale = src.defaultLocale; + defaultLocaleIndex = src.defaultLocaleIndex; + + src.supportedLocales = nullptr; + src.lsrs = nullptr; + src.supportedLocalesLength = 0; + src.supportedLsrToIndex = nullptr; + src.supportedLSRs = nullptr; + src.supportedIndexes = nullptr; + src.supportedLSRsLength = 0; + src.ownedDefaultLocale = nullptr; + src.defaultLocale = nullptr; + src.defaultLocaleIndex = -1; + return *this; +} + +class LocaleLsrIterator { +public: + LocaleLsrIterator(const XLikelySubtags &likelySubtags, Locale::Iterator &locales, + ULocMatchLifetime lifetime) : + likelySubtags(likelySubtags), locales(locales), lifetime(lifetime) {} + + ~LocaleLsrIterator() { + if (lifetime == ULOCMATCH_TEMPORARY_LOCALES) { + delete remembered; + } + } + + bool hasNext() const { + return locales.hasNext(); + } + + LSR next(UErrorCode &errorCode) { + current = &locales.next(); + return getMaximalLsrOrUnd(likelySubtags, *current, errorCode); + } + + void rememberCurrent(int32_t desiredIndex, UErrorCode &errorCode) { + if (U_FAILURE(errorCode)) { return; } + bestDesiredIndex = desiredIndex; + if (lifetime == ULOCMATCH_STORED_LOCALES) { + remembered = current; + } else { + // ULOCMATCH_TEMPORARY_LOCALES + delete remembered; + remembered = new Locale(*current); + if (remembered == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + } + } + } + + const Locale *orphanRemembered() { + const Locale *rem = remembered; + remembered = nullptr; + return rem; + } + + int32_t getBestDesiredIndex() const { + return bestDesiredIndex; + } + +private: + const XLikelySubtags &likelySubtags; + Locale::Iterator &locales; + ULocMatchLifetime lifetime; + const Locale *current = nullptr, *remembered = nullptr; + int32_t bestDesiredIndex = -1; +}; + +const Locale *LocaleMatcher::getBestMatch(const Locale &desiredLocale, UErrorCode &errorCode) const { + if (U_FAILURE(errorCode)) { return nullptr; } + int32_t suppIndex = getBestSuppIndex( + getMaximalLsrOrUnd(likelySubtags, desiredLocale, errorCode), + nullptr, errorCode); + return U_SUCCESS(errorCode) && suppIndex >= 0 ? supportedLocales[suppIndex] : defaultLocale; +} + +const Locale *LocaleMatcher::getBestMatch(Locale::Iterator &desiredLocales, + UErrorCode &errorCode) const { + if (U_FAILURE(errorCode)) { return nullptr; } + if (!desiredLocales.hasNext()) { + return defaultLocale; + } + LocaleLsrIterator lsrIter(likelySubtags, desiredLocales, ULOCMATCH_TEMPORARY_LOCALES); + int32_t suppIndex = getBestSuppIndex(lsrIter.next(errorCode), &lsrIter, errorCode); + return U_SUCCESS(errorCode) && suppIndex >= 0 ? supportedLocales[suppIndex] : defaultLocale; +} + +const Locale *LocaleMatcher::getBestMatchForListString( + StringPiece desiredLocaleList, UErrorCode &errorCode) const { + LocalePriorityList list(desiredLocaleList, errorCode); + LocalePriorityList::Iterator iter = list.iterator(); + return getBestMatch(iter, errorCode); +} + +LocaleMatcher::Result LocaleMatcher::getBestMatchResult( + const Locale &desiredLocale, UErrorCode &errorCode) const { + if (U_FAILURE(errorCode)) { + return Result(nullptr, defaultLocale, -1, defaultLocaleIndex, FALSE); + } + int32_t suppIndex = getBestSuppIndex( + getMaximalLsrOrUnd(likelySubtags, desiredLocale, errorCode), + nullptr, errorCode); + if (U_FAILURE(errorCode) || suppIndex < 0) { + return Result(nullptr, defaultLocale, -1, defaultLocaleIndex, FALSE); + } else { + return Result(&desiredLocale, supportedLocales[suppIndex], 0, suppIndex, FALSE); + } +} + +LocaleMatcher::Result LocaleMatcher::getBestMatchResult( + Locale::Iterator &desiredLocales, UErrorCode &errorCode) const { + if (U_FAILURE(errorCode) || !desiredLocales.hasNext()) { + return Result(nullptr, defaultLocale, -1, defaultLocaleIndex, FALSE); + } + LocaleLsrIterator lsrIter(likelySubtags, desiredLocales, ULOCMATCH_TEMPORARY_LOCALES); + int32_t suppIndex = getBestSuppIndex(lsrIter.next(errorCode), &lsrIter, errorCode); + if (U_FAILURE(errorCode) || suppIndex < 0) { + return Result(nullptr, defaultLocale, -1, defaultLocaleIndex, FALSE); + } else { + return Result(lsrIter.orphanRemembered(), supportedLocales[suppIndex], + lsrIter.getBestDesiredIndex(), suppIndex, TRUE); + } +} + +int32_t LocaleMatcher::getBestSuppIndex(LSR desiredLSR, LocaleLsrIterator *remainingIter, + UErrorCode &errorCode) const { + if (U_FAILURE(errorCode)) { return -1; } + int32_t desiredIndex = 0; + int32_t bestSupportedLsrIndex = -1; + for (int32_t bestDistance = thresholdDistance;;) { + // Quick check for exact maximized LSR. + // Returns suppIndex+1 where 0 means not found. + if (supportedLsrToIndex != nullptr) { + desiredLSR.setHashCode(); + int32_t index = uhash_geti(supportedLsrToIndex, &desiredLSR); + if (index != 0) { + int32_t suppIndex = index - 1; + if (remainingIter != nullptr) { + remainingIter->rememberCurrent(desiredIndex, errorCode); + } + return suppIndex; + } + } + int32_t bestIndexAndDistance = localeDistance.getBestIndexAndDistance( + desiredLSR, supportedLSRs, supportedLSRsLength, bestDistance, favorSubtag); + if (bestIndexAndDistance >= 0) { + bestDistance = bestIndexAndDistance & 0xff; + if (remainingIter != nullptr) { + remainingIter->rememberCurrent(desiredIndex, errorCode); + if (U_FAILURE(errorCode)) { return -1; } + } + bestSupportedLsrIndex = bestIndexAndDistance >= 0 ? bestIndexAndDistance >> 8 : -1; + } + if ((bestDistance -= demotionPerDesiredLocale) <= 0) { + break; + } + if (remainingIter == nullptr || !remainingIter->hasNext()) { + break; + } + desiredLSR = remainingIter->next(errorCode); + if (U_FAILURE(errorCode)) { return -1; } + ++desiredIndex; + } + if (bestSupportedLsrIndex < 0) { + // no good match + return -1; + } + return supportedIndexes[bestSupportedLsrIndex]; +} + +double LocaleMatcher::internalMatch(const Locale &desired, const Locale &supported, UErrorCode &errorCode) const { + // Returns the inverse of the distance: That is, 1-distance(desired, supported). + LSR suppLSR = getMaximalLsrOrUnd(likelySubtags, supported, errorCode); + if (U_FAILURE(errorCode)) { return 0; } + const LSR *pSuppLSR = &suppLSR; + int32_t distance = localeDistance.getBestIndexAndDistance( + getMaximalLsrOrUnd(likelySubtags, desired, errorCode), + &pSuppLSR, 1, + thresholdDistance, favorSubtag) & 0xff; + return (100 - distance) / 100.0; +} + +U_NAMESPACE_END + +#endif // __LOCMATCHER_H__ diff --git a/deps/icu-small/source/common/localeprioritylist.cpp b/deps/icu-small/source/common/localeprioritylist.cpp new file mode 100644 index 00000000000000..06442fb46a83ad --- /dev/null +++ b/deps/icu-small/source/common/localeprioritylist.cpp @@ -0,0 +1,239 @@ +// © 2019 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html#License + +// localeprioritylist.cpp +// created: 2019jul11 Markus W. Scherer + +#include "unicode/utypes.h" +#include "unicode/localpointer.h" +#include "unicode/locid.h" +#include "unicode/stringpiece.h" +#include "unicode/uobject.h" +#include "charstr.h" +#include "cmemory.h" +#include "localeprioritylist.h" +#include "uarrsort.h" +#include "uassert.h" +#include "uhash.h" + +U_NAMESPACE_BEGIN + +namespace { + +int32_t hashLocale(const UHashTok token) { + auto *locale = static_cast(token.pointer); + return locale->hashCode(); +} + +UBool compareLocales(const UHashTok t1, const UHashTok t2) { + auto *l1 = static_cast(t1.pointer); + auto *l2 = static_cast(t2.pointer); + return *l1 == *l2; +} + +constexpr int32_t WEIGHT_ONE = 1000; + +struct LocaleAndWeight { + Locale *locale; + int32_t weight; // 0..1000 = 0.0..1.0 + int32_t index; // force stable sort + + int32_t compare(const LocaleAndWeight &other) const { + int32_t diff = other.weight - weight; // descending: other-this + if (diff != 0) { return diff; } + return index - other.index; + } +}; + +int32_t U_CALLCONV +compareLocaleAndWeight(const void * /*context*/, const void *left, const void *right) { + return static_cast(left)-> + compare(*static_cast(right)); +} + +const char *skipSpaces(const char *p, const char *limit) { + while (p < limit && *p == ' ') { ++p; } + return p; +} + +int32_t findTagLength(const char *p, const char *limit) { + // Look for accept-language delimiters. + // Leave other validation up to the Locale constructor. + const char *q; + for (q = p; q < limit; ++q) { + char c = *q; + if (c == ' ' || c == ',' || c == ';') { break; } + } + return static_cast(q - p); +} + +/** + * Parses and returns a qvalue weight in millis. + * Advances p to after the parsed substring. + * Returns a negative value if parsing fails. + */ +int32_t parseWeight(const char *&p, const char *limit) { + p = skipSpaces(p, limit); + char c; + if (p == limit || ((c = *p) != '0' && c != '1')) { return -1; } + int32_t weight = (c - '0') * 1000; + if (++p == limit || *p != '.') { return weight; } + int32_t multiplier = 100; + while (++p != limit && '0' <= (c = *p) && c <= '9') { + c -= '0'; + if (multiplier > 0) { + weight += c * multiplier; + multiplier /= 10; + } else if (multiplier == 0) { + // round up + if (c >= 5) { ++weight; } + multiplier = -1; + } // else ignore further fraction digits + } + return weight <= WEIGHT_ONE ? weight : -1; // bad if > 1.0 +} + +} // namespace + +/** + * Nothing but a wrapper over a MaybeStackArray of LocaleAndWeight. + * + * This wrapper exists (and is not in an anonymous namespace) + * so that we can forward-declare it in the header file and + * don't have to expose the MaybeStackArray specialization and + * the LocaleAndWeight to code (like the test) that #includes localeprioritylist.h. + * Also, otherwise we would have to do a platform-specific + * template export declaration of some kind for the MaybeStackArray specialization + * to be properly exported from the common DLL. + */ +struct LocaleAndWeightArray : public UMemory { + MaybeStackArray array; +}; + +LocalePriorityList::LocalePriorityList(StringPiece s, UErrorCode &errorCode) { + if (U_FAILURE(errorCode)) { return; } + list = new LocaleAndWeightArray(); + if (list == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return; + } + const char *p = s.data(); + const char *limit = p + s.length(); + while ((p = skipSpaces(p, limit)) != limit) { + if (*p == ',') { // empty range field + ++p; + continue; + } + int32_t tagLength = findTagLength(p, limit); + if (tagLength == 0) { + errorCode = U_ILLEGAL_ARGUMENT_ERROR; + return; + } + CharString tag(p, tagLength, errorCode); + if (U_FAILURE(errorCode)) { return; } + Locale locale = Locale(tag.data()); + if (locale.isBogus()) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return; + } + int32_t weight = WEIGHT_ONE; + if ((p = skipSpaces(p + tagLength, limit)) != limit && *p == ';') { + if ((p = skipSpaces(p + 1, limit)) == limit || *p != 'q' || + (p = skipSpaces(p + 1, limit)) == limit || *p != '=' || + (++p, (weight = parseWeight(p, limit)) < 0)) { + errorCode = U_ILLEGAL_ARGUMENT_ERROR; + return; + } + p = skipSpaces(p, limit); + } + if (p != limit && *p != ',') { // trailing junk + errorCode = U_ILLEGAL_ARGUMENT_ERROR; + return; + } + add(locale, weight, errorCode); + if (p == limit) { break; } + ++p; + } + sort(errorCode); +} + +LocalePriorityList::~LocalePriorityList() { + if (list != nullptr) { + for (int32_t i = 0; i < listLength; ++i) { + delete list->array[i].locale; + } + delete list; + } + uhash_close(map); +} + +const Locale *LocalePriorityList::localeAt(int32_t i) const { + return list->array[i].locale; +} + +Locale *LocalePriorityList::orphanLocaleAt(int32_t i) { + if (list == nullptr) { return nullptr; } + LocaleAndWeight &lw = list->array[i]; + Locale *l = lw.locale; + lw.locale = nullptr; + return l; +} + +bool LocalePriorityList::add(const Locale &locale, int32_t weight, UErrorCode &errorCode) { + if (U_FAILURE(errorCode)) { return false; } + if (map == nullptr) { + if (weight <= 0) { return true; } // do not add q=0 + map = uhash_open(hashLocale, compareLocales, uhash_compareLong, &errorCode); + if (U_FAILURE(errorCode)) { return false; } + } + LocalPointer clone; + int32_t index = uhash_geti(map, &locale); + if (index != 0) { + // Duplicate: Remove the old item and append it anew. + LocaleAndWeight &lw = list->array[index - 1]; + clone.adoptInstead(lw.locale); + lw.locale = nullptr; + lw.weight = 0; + ++numRemoved; + } + if (weight <= 0) { // do not add q=0 + if (index != 0) { + // Not strictly necessary but cleaner. + uhash_removei(map, &locale); + } + return true; + } + if (clone.isNull()) { + clone.adoptInstead(locale.clone()); + if (clone.isNull() || (clone->isBogus() && !locale.isBogus())) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return false; + } + } + if (listLength == list->array.getCapacity()) { + int32_t newCapacity = listLength < 50 ? 100 : 4 * listLength; + if (list->array.resize(newCapacity, listLength) == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return false; + } + } + uhash_puti(map, clone.getAlias(), listLength + 1, &errorCode); + if (U_FAILURE(errorCode)) { return false; } + LocaleAndWeight &lw = list->array[listLength]; + lw.locale = clone.orphan(); + lw.weight = weight; + lw.index = listLength++; + if (weight < WEIGHT_ONE) { hasWeights = true; } + U_ASSERT(uhash_count(map) == getLength()); + return true; +} + +void LocalePriorityList::sort(UErrorCode &errorCode) { + // Sort by descending weights if there is a mix of weights. + // The comparator forces a stable sort via the item index. + if (U_FAILURE(errorCode) || getLength() <= 1 || !hasWeights) { return; } + uprv_sortArray(list->array.getAlias(), listLength, sizeof(LocaleAndWeight), + compareLocaleAndWeight, nullptr, FALSE, &errorCode); +} + +U_NAMESPACE_END diff --git a/deps/icu-small/source/common/localeprioritylist.h b/deps/icu-small/source/common/localeprioritylist.h new file mode 100644 index 00000000000000..80ca38a7b52892 --- /dev/null +++ b/deps/icu-small/source/common/localeprioritylist.h @@ -0,0 +1,115 @@ +// © 2019 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html#License + +// localeprioritylist.h +// created: 2019jul11 Markus W. Scherer + +#ifndef __LOCALEPRIORITYLIST_H__ +#define __LOCALEPRIORITYLIST_H__ + +#include "unicode/utypes.h" +#include "unicode/locid.h" +#include "unicode/stringpiece.h" +#include "unicode/uobject.h" + +struct UHashtable; + +U_NAMESPACE_BEGIN + +struct LocaleAndWeightArray; + +/** + * Parses a list of locales from an accept-language string. + * We are a bit more lenient than the spec: + * We accept extra whitespace in more places, empty range fields, + * and any number of qvalue fraction digits. + * + * https://tools.ietf.org/html/rfc2616#section-14.4 + * 14.4 Accept-Language + * + * Accept-Language = "Accept-Language" ":" + * 1#( language-range [ ";" "q" "=" qvalue ] ) + * language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" ) + * + * Each language-range MAY be given an associated quality value which + * represents an estimate of the user's preference for the languages + * specified by that range. The quality value defaults to "q=1". For + * example, + * + * Accept-Language: da, en-gb;q=0.8, en;q=0.7 + * + * https://tools.ietf.org/html/rfc2616#section-3.9 + * 3.9 Quality Values + * + * HTTP content negotiation (section 12) uses short "floating point" + * numbers to indicate the relative importance ("weight") of various + * negotiable parameters. A weight is normalized to a real number in + * the range 0 through 1, where 0 is the minimum and 1 the maximum + * value. If a parameter has a quality value of 0, then content with + * this parameter is `not acceptable' for the client. HTTP/1.1 + * applications MUST NOT generate more than three digits after the + * decimal point. User configuration of these values SHOULD also be + * limited in this fashion. + * + * qvalue = ( "0" [ "." 0*3DIGIT ] ) + * | ( "1" [ "." 0*3("0") ] ) + */ +class U_COMMON_API LocalePriorityList : public UMemory { +public: + class Iterator : public Locale::Iterator { + public: + UBool hasNext() const override { return count < length; } + + const Locale &next() override { + for(;;) { + const Locale *locale = list.localeAt(index++); + if (locale != nullptr) { + ++count; + return *locale; + } + } + } + + private: + friend class LocalePriorityList; + + Iterator(const LocalePriorityList &list) : list(list), length(list.getLength()) {} + + const LocalePriorityList &list; + int32_t index = 0; + int32_t count = 0; + const int32_t length; + }; + + LocalePriorityList(StringPiece s, UErrorCode &errorCode); + + ~LocalePriorityList(); + + int32_t getLength() const { return listLength - numRemoved; } + + int32_t getLengthIncludingRemoved() const { return listLength; } + + Iterator iterator() const { return Iterator(*this); } + + const Locale *localeAt(int32_t i) const; + + Locale *orphanLocaleAt(int32_t i); + +private: + LocalePriorityList(const LocalePriorityList &) = delete; + LocalePriorityList &operator=(const LocalePriorityList &) = delete; + + bool add(const Locale &locale, int32_t weight, UErrorCode &errorCode); + + void sort(UErrorCode &errorCode); + + LocaleAndWeightArray *list = nullptr; + int32_t listLength = 0; + int32_t numRemoved = 0; + bool hasWeights = false; // other than 1.0 + UHashtable *map = nullptr; +}; + +U_NAMESPACE_END + +#endif // __LOCALEPRIORITYLIST_H__ diff --git a/deps/icu-small/source/common/locavailable.cpp b/deps/icu-small/source/common/locavailable.cpp index 1e608ffb9e1c84..ad9d2ca8c7bb53 100644 --- a/deps/icu-small/source/common/locavailable.cpp +++ b/deps/icu-small/source/common/locavailable.cpp @@ -19,11 +19,13 @@ * that then do not depend on resource bundle code and res_index bundles. */ +#include "unicode/errorcode.h" #include "unicode/utypes.h" #include "unicode/locid.h" #include "unicode/uloc.h" #include "unicode/ures.h" #include "cmemory.h" +#include "cstring.h" #include "ucln_cmn.h" #include "uassert.h" #include "umutex.h" @@ -95,84 +97,174 @@ U_NAMESPACE_USE /* ### Constants **************************************************/ -/* These strings describe the resources we attempt to load from - the locale ResourceBundle data file.*/ -static const char _kIndexLocaleName[] = "res_index"; -static const char _kIndexTag[] = "InstalledLocales"; +namespace { -static char** _installedLocales = NULL; -static int32_t _installedLocalesCount = 0; -static icu::UInitOnce _installedLocalesInitOnce; +// Enough capacity for the two lists in the res_index.res file +const char** gAvailableLocaleNames[2] = {}; +int32_t gAvailableLocaleCounts[2] = {}; +icu::UInitOnce ginstalledLocalesInitOnce = U_INITONCE_INITIALIZER; -/* ### Get available **************************************************/ +class AvailableLocalesSink : public ResourceSink { + public: + void put(const char *key, ResourceValue &value, UBool /*noFallback*/, UErrorCode &status) U_OVERRIDE { + ResourceTable resIndexTable = value.getTable(status); + if (U_FAILURE(status)) { + return; + } + for (int32_t i = 0; resIndexTable.getKeyAndValue(i, key, value); ++i) { + ULocAvailableType type; + if (uprv_strcmp(key, "InstalledLocales") == 0) { + type = ULOC_AVAILABLE_DEFAULT; + } else if (uprv_strcmp(key, "AliasLocales") == 0) { + type = ULOC_AVAILABLE_ONLY_LEGACY_ALIASES; + } else { + // CLDRVersion, etc. + continue; + } + ResourceTable availableLocalesTable = value.getTable(status); + if (U_FAILURE(status)) { + return; + } + gAvailableLocaleCounts[type] = availableLocalesTable.getSize(); + gAvailableLocaleNames[type] = static_cast( + uprv_malloc(gAvailableLocaleCounts[type] * sizeof(const char*))); + if (gAvailableLocaleNames[type] == nullptr) { + status = U_MEMORY_ALLOCATION_ERROR; + return; + } + for (int32_t j = 0; availableLocalesTable.getKeyAndValue(j, key, value); ++j) { + gAvailableLocaleNames[type][j] = key; + } + } + } +}; -static UBool U_CALLCONV uloc_cleanup(void) { - char ** temp; +class AvailableLocalesStringEnumeration : public StringEnumeration { + public: + AvailableLocalesStringEnumeration(ULocAvailableType type) : fType(type) { + } + + const char* next(int32_t *resultLength, UErrorCode&) override { + ULocAvailableType actualType = fType; + int32_t actualIndex = fIndex++; + + // If the "combined" list was requested, resolve that now + if (fType == ULOC_AVAILABLE_WITH_LEGACY_ALIASES) { + int32_t defaultLocalesCount = gAvailableLocaleCounts[ULOC_AVAILABLE_DEFAULT]; + if (actualIndex < defaultLocalesCount) { + actualType = ULOC_AVAILABLE_DEFAULT; + } else { + actualIndex -= defaultLocalesCount; + actualType = ULOC_AVAILABLE_ONLY_LEGACY_ALIASES; + } + } + + // Return the requested string + int32_t count = gAvailableLocaleCounts[actualType]; + const char* result; + if (actualIndex < count) { + result = gAvailableLocaleNames[actualType][actualIndex]; + if (resultLength != nullptr) { + *resultLength = static_cast(uprv_strlen(result)); + } + } else { + result = nullptr; + if (resultLength != nullptr) { + *resultLength = 0; + } + } + return result; + } + + void reset(UErrorCode&) override { + fIndex = 0; + } + + int32_t count(UErrorCode&) const override { + if (fType == ULOC_AVAILABLE_WITH_LEGACY_ALIASES) { + return gAvailableLocaleCounts[ULOC_AVAILABLE_DEFAULT] + + gAvailableLocaleCounts[ULOC_AVAILABLE_ONLY_LEGACY_ALIASES]; + } else { + return gAvailableLocaleCounts[fType]; + } + } - if (_installedLocales) { - temp = _installedLocales; - _installedLocales = NULL; + private: + ULocAvailableType fType; + int32_t fIndex = 0; +}; - _installedLocalesCount = 0; - _installedLocalesInitOnce.reset(); +/* ### Get available **************************************************/ - uprv_free(temp); +static UBool U_CALLCONV uloc_cleanup(void) { + for (int32_t i = 0; i < UPRV_LENGTHOF(gAvailableLocaleNames); i++) { + uprv_free(gAvailableLocaleNames[i]); + gAvailableLocaleNames[i] = nullptr; + gAvailableLocaleCounts[i] = 0; } + ginstalledLocalesInitOnce.reset(); return TRUE; } // Load Installed Locales. This function will be called exactly once // via the initOnce mechanism. -static void U_CALLCONV loadInstalledLocales() { - UErrorCode status = U_ZERO_ERROR; - int32_t i = 0; - int32_t localeCount; - - U_ASSERT(_installedLocales == NULL); - U_ASSERT(_installedLocalesCount == 0); +static void U_CALLCONV loadInstalledLocales(UErrorCode& status) { + ucln_common_registerCleanup(UCLN_COMMON_ULOC, uloc_cleanup); - _installedLocalesCount = 0; + icu::LocalUResourceBundlePointer rb(ures_openDirect(NULL, "res_index", &status)); + AvailableLocalesSink sink; + ures_getAllItemsWithFallback(rb.getAlias(), "", sink, status); +} - icu::LocalUResourceBundlePointer indexLocale(ures_openDirect(NULL, _kIndexLocaleName, &status)); - icu::StackUResourceBundle installed; +void _load_installedLocales(UErrorCode& status) { + umtx_initOnce(ginstalledLocalesInitOnce, &loadInstalledLocales, status); +} - ures_getByKey(indexLocale.getAlias(), _kIndexTag, installed.getAlias(), &status); +} // namespace - if(U_SUCCESS(status)) { - localeCount = ures_getSize(installed.getAlias()); - _installedLocales = (char **) uprv_malloc(sizeof(char*) * (localeCount+1)); - if (_installedLocales != NULL) { - ures_resetIterator(installed.getAlias()); - while(ures_hasNext(installed.getAlias())) { - ures_getNextString(installed.getAlias(), NULL, (const char **)&_installedLocales[i++], &status); - } - _installedLocales[i] = NULL; - _installedLocalesCount = localeCount; - ucln_common_registerCleanup(UCLN_COMMON_ULOC, uloc_cleanup); - } +U_CAPI const char* U_EXPORT2 +uloc_getAvailable(int32_t offset) { + icu::ErrorCode status; + _load_installedLocales(status); + if (status.isFailure()) { + return nullptr; + } + if (offset > gAvailableLocaleCounts[0]) { + // *status = U_ILLEGAL_ARGUMENT_ERROR; + return nullptr; } + return gAvailableLocaleNames[0][offset]; } -static void _load_installedLocales() -{ - umtx_initOnce(_installedLocalesInitOnce, &loadInstalledLocales); +U_CAPI int32_t U_EXPORT2 +uloc_countAvailable() { + icu::ErrorCode status; + _load_installedLocales(status); + if (status.isFailure()) { + return 0; + } + return gAvailableLocaleCounts[0]; } -U_CAPI const char* U_EXPORT2 -uloc_getAvailable(int32_t offset) -{ - - _load_installedLocales(); - - if (offset > _installedLocalesCount) - return NULL; - return _installedLocales[offset]; +U_CAPI UEnumeration* U_EXPORT2 +uloc_openAvailableByType(ULocAvailableType type, UErrorCode* status) { + if (U_FAILURE(*status)) { + return nullptr; + } + if (type < 0 || type >= ULOC_AVAILABLE_COUNT) { + *status = U_ILLEGAL_ARGUMENT_ERROR; + return nullptr; + } + _load_installedLocales(*status); + if (U_FAILURE(*status)) { + return nullptr; + } + LocalPointer result( + new AvailableLocalesStringEnumeration(type), *status); + if (U_FAILURE(*status)) { + return nullptr; + } + return uenum_openFromStringEnumeration(result.orphan(), status); } -U_CAPI int32_t U_EXPORT2 -uloc_countAvailable() -{ - _load_installedLocales(); - return _installedLocalesCount; -} diff --git a/deps/icu-small/source/common/locbased.h b/deps/icu-small/source/common/locbased.h index 6db6a41dc416df..9163bd11cfe65f 100644 --- a/deps/icu-small/source/common/locbased.h +++ b/deps/icu-small/source/common/locbased.h @@ -22,7 +22,7 @@ * `actualLocale' of size ULOC_FULLNAME_CAPACITY */ #define U_LOCALE_BASED(varname, objname) \ - LocaleBased varname((objname).validLocale, (objname).actualLocale); + LocaleBased varname((objname).validLocale, (objname).actualLocale) U_NAMESPACE_BEGIN diff --git a/deps/icu-small/source/common/locdistance.cpp b/deps/icu-small/source/common/locdistance.cpp new file mode 100644 index 00000000000000..800d0eacf2b605 --- /dev/null +++ b/deps/icu-small/source/common/locdistance.cpp @@ -0,0 +1,364 @@ +// © 2019 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html#License + +// locdistance.cpp +// created: 2019may08 Markus W. Scherer + +#include "unicode/utypes.h" +#include "unicode/bytestrie.h" +#include "unicode/localematcher.h" +#include "unicode/locid.h" +#include "unicode/uobject.h" +#include "unicode/ures.h" +#include "cstring.h" +#include "locdistance.h" +#include "loclikelysubtags.h" +#include "uassert.h" +#include "ucln_cmn.h" +#include "uinvchar.h" +#include "umutex.h" + +U_NAMESPACE_BEGIN + +namespace { + +/** + * Bit flag used on the last character of a subtag in the trie. + * Must be set consistently by the builder and the lookup code. + */ +constexpr int32_t END_OF_SUBTAG = 0x80; +/** Distance value bit flag, set by the builder. */ +constexpr int32_t DISTANCE_SKIP_SCRIPT = 0x80; +/** Distance value bit flag, set by trieNext(). */ +constexpr int32_t DISTANCE_IS_FINAL = 0x100; +constexpr int32_t DISTANCE_IS_FINAL_OR_SKIP_SCRIPT = DISTANCE_IS_FINAL | DISTANCE_SKIP_SCRIPT; + +constexpr int32_t ABOVE_THRESHOLD = 100; + +// Indexes into array of distances. +enum { + IX_DEF_LANG_DISTANCE, + IX_DEF_SCRIPT_DISTANCE, + IX_DEF_REGION_DISTANCE, + IX_MIN_REGION_DISTANCE, + IX_LIMIT +}; + +LocaleDistance *gLocaleDistance = nullptr; +UInitOnce gInitOnce = U_INITONCE_INITIALIZER; + +UBool U_CALLCONV cleanup() { + delete gLocaleDistance; + gLocaleDistance = nullptr; + gInitOnce.reset(); + return TRUE; +} + +} // namespace + +void U_CALLCONV LocaleDistance::initLocaleDistance(UErrorCode &errorCode) { + // This function is invoked only via umtx_initOnce(). + U_ASSERT(gLocaleDistance == nullptr); + const XLikelySubtags &likely = *XLikelySubtags::getSingleton(errorCode); + if (U_FAILURE(errorCode)) { return; } + const LocaleDistanceData &data = likely.getDistanceData(); + if (data.distanceTrieBytes == nullptr || + data.regionToPartitions == nullptr || data.partitions == nullptr || + // ok if no paradigms + data.distances == nullptr) { + errorCode = U_MISSING_RESOURCE_ERROR; + return; + } + gLocaleDistance = new LocaleDistance(data); + if (gLocaleDistance == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return; + } + ucln_common_registerCleanup(UCLN_COMMON_LOCALE_DISTANCE, cleanup); +} + +const LocaleDistance *LocaleDistance::getSingleton(UErrorCode &errorCode) { + if (U_FAILURE(errorCode)) { return nullptr; } + umtx_initOnce(gInitOnce, &LocaleDistance::initLocaleDistance, errorCode); + return gLocaleDistance; +} + +LocaleDistance::LocaleDistance(const LocaleDistanceData &data) : + trie(data.distanceTrieBytes), + regionToPartitionsIndex(data.regionToPartitions), partitionArrays(data.partitions), + paradigmLSRs(data.paradigms), paradigmLSRsLength(data.paradigmsLength), + defaultLanguageDistance(data.distances[IX_DEF_LANG_DISTANCE]), + defaultScriptDistance(data.distances[IX_DEF_SCRIPT_DISTANCE]), + defaultRegionDistance(data.distances[IX_DEF_REGION_DISTANCE]), + minRegionDistance(data.distances[IX_MIN_REGION_DISTANCE]) { + // For the default demotion value, use the + // default region distance between unrelated Englishes. + // Thus, unless demotion is turned off, + // a mere region difference for one desired locale + // is as good as a perfect match for the next following desired locale. + // As of CLDR 36, we have . + LSR en("en", "Latn", "US"); + LSR enGB("en", "Latn", "GB"); + const LSR *p_enGB = &enGB; + defaultDemotionPerDesiredLocale = getBestIndexAndDistance(en, &p_enGB, 1, + 50, ULOCMATCH_FAVOR_LANGUAGE) & 0xff; +} + +int32_t LocaleDistance::getBestIndexAndDistance( + const LSR &desired, + const LSR **supportedLSRs, int32_t supportedLSRsLength, + int32_t threshold, ULocMatchFavorSubtag favorSubtag) const { + BytesTrie iter(trie); + // Look up the desired language only once for all supported LSRs. + // Its "distance" is either a match point value of 0, or a non-match negative value. + // Note: The data builder verifies that there are no <*, supported> or rules. + int32_t desLangDistance = trieNext(iter, desired.language, false); + uint64_t desLangState = desLangDistance >= 0 && supportedLSRsLength > 1 ? iter.getState64() : 0; + // Index of the supported LSR with the lowest distance. + int32_t bestIndex = -1; + for (int32_t slIndex = 0; slIndex < supportedLSRsLength; ++slIndex) { + const LSR &supported = *supportedLSRs[slIndex]; + bool star = false; + int32_t distance = desLangDistance; + if (distance >= 0) { + U_ASSERT((distance & DISTANCE_IS_FINAL) == 0); + if (slIndex != 0) { + iter.resetToState64(desLangState); + } + distance = trieNext(iter, supported.language, true); + } + // Note: The data builder verifies that there are no rules with "any" (*) language and + // real (non *) script or region subtags. + // This means that if the lookup for either language fails we can use + // the default distances without further lookups. + int32_t flags; + if (distance >= 0) { + flags = distance & DISTANCE_IS_FINAL_OR_SKIP_SCRIPT; + distance &= ~DISTANCE_IS_FINAL_OR_SKIP_SCRIPT; + } else { // <*, *> + if (uprv_strcmp(desired.language, supported.language) == 0) { + distance = 0; + } else { + distance = defaultLanguageDistance; + } + flags = 0; + star = true; + } + U_ASSERT(0 <= distance && distance <= 100); + // We implement "favor subtag" by reducing the language subtag distance + // (unscientifically reducing it to a quarter of the normal value), + // so that the script distance is relatively more important. + // For example, given a default language distance of 80, we reduce it to 20, + // which is below the default threshold of 50, which is the default script distance. + if (favorSubtag == ULOCMATCH_FAVOR_SCRIPT) { + distance >>= 2; + } + if (distance >= threshold) { + continue; + } + + int32_t scriptDistance; + if (star || flags != 0) { + if (uprv_strcmp(desired.script, supported.script) == 0) { + scriptDistance = 0; + } else { + scriptDistance = defaultScriptDistance; + } + } else { + scriptDistance = getDesSuppScriptDistance(iter, iter.getState64(), + desired.script, supported.script); + flags = scriptDistance & DISTANCE_IS_FINAL; + scriptDistance &= ~DISTANCE_IS_FINAL; + } + distance += scriptDistance; + if (distance >= threshold) { + continue; + } + + if (uprv_strcmp(desired.region, supported.region) == 0) { + // regionDistance = 0 + } else if (star || (flags & DISTANCE_IS_FINAL) != 0) { + distance += defaultRegionDistance; + } else { + int32_t remainingThreshold = threshold - distance; + if (minRegionDistance >= remainingThreshold) { + continue; + } + + // From here on we know the regions are not equal. + // Map each region to zero or more partitions. (zero = one non-matching string) + // (Each array of single-character partition strings is encoded as one string.) + // If either side has more than one, then we find the maximum distance. + // This could be optimized by adding some more structure, but probably not worth it. + distance += getRegionPartitionsDistance( + iter, iter.getState64(), + partitionsForRegion(desired), + partitionsForRegion(supported), + remainingThreshold); + } + if (distance < threshold) { + if (distance == 0) { + return slIndex << 8; + } + bestIndex = slIndex; + threshold = distance; + } + } + return bestIndex >= 0 ? (bestIndex << 8) | threshold : 0xffffff00 | ABOVE_THRESHOLD; +} + +int32_t LocaleDistance::getDesSuppScriptDistance( + BytesTrie &iter, uint64_t startState, const char *desired, const char *supported) { + // Note: The data builder verifies that there are no <*, supported> or rules. + int32_t distance = trieNext(iter, desired, false); + if (distance >= 0) { + distance = trieNext(iter, supported, true); + } + if (distance < 0) { + UStringTrieResult result = iter.resetToState64(startState).next(u'*'); // <*, *> + U_ASSERT(USTRINGTRIE_HAS_VALUE(result)); + if (uprv_strcmp(desired, supported) == 0) { + distance = 0; // same script + } else { + distance = iter.getValue(); + U_ASSERT(distance >= 0); + } + if (result == USTRINGTRIE_FINAL_VALUE) { + distance |= DISTANCE_IS_FINAL; + } + } + return distance; +} + +int32_t LocaleDistance::getRegionPartitionsDistance( + BytesTrie &iter, uint64_t startState, + const char *desiredPartitions, const char *supportedPartitions, int32_t threshold) { + char desired = *desiredPartitions++; + char supported = *supportedPartitions++; + U_ASSERT(desired != 0 && supported != 0); + // See if we have single desired/supported partitions, from NUL-terminated + // partition strings without explicit length. + bool suppLengthGt1 = *supportedPartitions != 0; // gt1: more than 1 character + // equivalent to: if (desLength == 1 && suppLength == 1) + if (*desiredPartitions == 0 && !suppLengthGt1) { + // Fastpath for single desired/supported partitions. + UStringTrieResult result = iter.next(uprv_invCharToAscii(desired) | END_OF_SUBTAG); + if (USTRINGTRIE_HAS_NEXT(result)) { + result = iter.next(uprv_invCharToAscii(supported) | END_OF_SUBTAG); + if (USTRINGTRIE_HAS_VALUE(result)) { + return iter.getValue(); + } + } + return getFallbackRegionDistance(iter, startState); + } + + const char *supportedStart = supportedPartitions - 1; // for restart of inner loop + int32_t regionDistance = 0; + // Fall back to * only once, not for each pair of partition strings. + bool star = false; + for (;;) { + // Look up each desired-partition string only once, + // not for each (desired, supported) pair. + UStringTrieResult result = iter.next(uprv_invCharToAscii(desired) | END_OF_SUBTAG); + if (USTRINGTRIE_HAS_NEXT(result)) { + uint64_t desState = suppLengthGt1 ? iter.getState64() : 0; + for (;;) { + result = iter.next(uprv_invCharToAscii(supported) | END_OF_SUBTAG); + int32_t d; + if (USTRINGTRIE_HAS_VALUE(result)) { + d = iter.getValue(); + } else if (star) { + d = 0; + } else { + d = getFallbackRegionDistance(iter, startState); + star = true; + } + if (d >= threshold) { + return d; + } else if (regionDistance < d) { + regionDistance = d; + } + if ((supported = *supportedPartitions++) != 0) { + iter.resetToState64(desState); + } else { + break; + } + } + } else if (!star) { + int32_t d = getFallbackRegionDistance(iter, startState); + if (d >= threshold) { + return d; + } else if (regionDistance < d) { + regionDistance = d; + } + star = true; + } + if ((desired = *desiredPartitions++) != 0) { + iter.resetToState64(startState); + supportedPartitions = supportedStart; + supported = *supportedPartitions++; + } else { + break; + } + } + return regionDistance; +} + +int32_t LocaleDistance::getFallbackRegionDistance(BytesTrie &iter, uint64_t startState) { +#if U_DEBUG + UStringTrieResult result = +#endif + iter.resetToState64(startState).next(u'*'); // <*, *> + U_ASSERT(USTRINGTRIE_HAS_VALUE(result)); + int32_t distance = iter.getValue(); + U_ASSERT(distance >= 0); + return distance; +} + +int32_t LocaleDistance::trieNext(BytesTrie &iter, const char *s, bool wantValue) { + uint8_t c; + if ((c = *s) == 0) { + return -1; // no empty subtags in the distance data + } + for (;;) { + c = uprv_invCharToAscii(c); + // EBCDIC: If *s is not an invariant character, + // then c is now 0 and will simply not match anything, which is harmless. + uint8_t next = *++s; + if (next != 0) { + if (!USTRINGTRIE_HAS_NEXT(iter.next(c))) { + return -1; + } + } else { + // last character of this subtag + UStringTrieResult result = iter.next(c | END_OF_SUBTAG); + if (wantValue) { + if (USTRINGTRIE_HAS_VALUE(result)) { + int32_t value = iter.getValue(); + if (result == USTRINGTRIE_FINAL_VALUE) { + value |= DISTANCE_IS_FINAL; + } + return value; + } + } else { + if (USTRINGTRIE_HAS_NEXT(result)) { + return 0; + } + } + return -1; + } + c = next; + } +} + +UBool LocaleDistance::isParadigmLSR(const LSR &lsr) const { + // Linear search for a very short list (length 6 as of 2019). + // If there are many paradigm LSRs we should use a hash set. + U_ASSERT(paradigmLSRsLength <= 15); + for (int32_t i = 0; i < paradigmLSRsLength; ++i) { + if (lsr == paradigmLSRs[i]) { return true; } + } + return false; +} + +U_NAMESPACE_END diff --git a/deps/icu-small/source/common/locdistance.h b/deps/icu-small/source/common/locdistance.h new file mode 100644 index 00000000000000..7439f51c56bf8c --- /dev/null +++ b/deps/icu-small/source/common/locdistance.h @@ -0,0 +1,109 @@ +// © 2019 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html#License + +// locdistance.h +// created: 2019may08 Markus W. Scherer + +#ifndef __LOCDISTANCE_H__ +#define __LOCDISTANCE_H__ + +#include "unicode/utypes.h" +#include "unicode/bytestrie.h" +#include "unicode/localematcher.h" +#include "unicode/locid.h" +#include "unicode/uobject.h" +#include "lsr.h" + +U_NAMESPACE_BEGIN + +struct LocaleDistanceData; + +/** + * Offline-built data for LocaleMatcher. + * Mostly but not only the data for mapping locales to their maximized forms. + */ +class LocaleDistance final : public UMemory { +public: + static const LocaleDistance *getSingleton(UErrorCode &errorCode); + + /** + * Finds the supported LSR with the smallest distance from the desired one. + * Equivalent LSR subtags must be normalized into a canonical form. + * + *

Returns the index of the lowest-distance supported LSR in bits 31..8 + * (negative if none has a distance below the threshold), + * and its distance (0..ABOVE_THRESHOLD) in bits 7..0. + */ + int32_t getBestIndexAndDistance(const LSR &desired, + const LSR **supportedLSRs, int32_t supportedLSRsLength, + int32_t threshold, ULocMatchFavorSubtag favorSubtag) const; + + int32_t getParadigmLSRsLength() const { return paradigmLSRsLength; } + + UBool isParadigmLSR(const LSR &lsr) const; + + int32_t getDefaultScriptDistance() const { + return defaultScriptDistance; + } + + int32_t getDefaultDemotionPerDesiredLocale() const { + return defaultDemotionPerDesiredLocale; + } + +private: + LocaleDistance(const LocaleDistanceData &data); + LocaleDistance(const LocaleDistance &other) = delete; + LocaleDistance &operator=(const LocaleDistance &other) = delete; + + static void initLocaleDistance(UErrorCode &errorCode); + + static int32_t getDesSuppScriptDistance(BytesTrie &iter, uint64_t startState, + const char *desired, const char *supported); + + static int32_t getRegionPartitionsDistance( + BytesTrie &iter, uint64_t startState, + const char *desiredPartitions, const char *supportedPartitions, + int32_t threshold); + + static int32_t getFallbackRegionDistance(BytesTrie &iter, uint64_t startState); + + static int32_t trieNext(BytesTrie &iter, const char *s, bool wantValue); + + const char *partitionsForRegion(const LSR &lsr) const { + // ill-formed region -> one non-matching string + int32_t pIndex = regionToPartitionsIndex[lsr.regionIndex]; + return partitionArrays[pIndex]; + } + + int32_t getDefaultRegionDistance() const { + return defaultRegionDistance; + } + + // The trie maps each dlang+slang+dscript+sscript+dregion+sregion + // (encoded in ASCII with bit 7 set on the last character of each subtag) to a distance. + // There is also a trie value for each subsequence of whole subtags. + // One '*' is used for a (desired, supported) pair of "und", "Zzzz"/"", or "ZZ"/"". + BytesTrie trie; + + /** + * Maps each region to zero or more single-character partitions. + */ + const uint8_t *regionToPartitionsIndex; + const char **partitionArrays; + + /** + * Used to get the paradigm region for a cluster, if there is one. + */ + const LSR *paradigmLSRs; + int32_t paradigmLSRsLength; + + int32_t defaultLanguageDistance; + int32_t defaultScriptDistance; + int32_t defaultRegionDistance; + int32_t minRegionDistance; + int32_t defaultDemotionPerDesiredLocale; +}; + +U_NAMESPACE_END + +#endif // __LOCDISTANCE_H__ diff --git a/deps/icu-small/source/common/locdspnm.cpp b/deps/icu-small/source/common/locdspnm.cpp index da35be9e766e50..43334f51964622 100644 --- a/deps/icu-small/source/common/locdspnm.cpp +++ b/deps/icu-small/source/common/locdspnm.cpp @@ -291,6 +291,7 @@ class LocaleDisplayNamesImpl : public LocaleDisplayNames { UnicodeString formatCloseParen; UnicodeString formatReplaceCloseParen; UDisplayContext nameLength; + UDisplayContext substitute; // Constants for capitalization context usage types. enum CapContextUsage { @@ -337,7 +338,7 @@ class LocaleDisplayNamesImpl : public LocaleDisplayNames { UnicodeString& result) const; private: UnicodeString& localeIdName(const char* localeId, - UnicodeString& result) const; + UnicodeString& result, bool substitute) const; UnicodeString& appendWithSep(UnicodeString& buffer, const UnicodeString& src) const; UnicodeString& adjustForUsageAndContext(CapContextUsage usage, UnicodeString& result) const; UnicodeString& scriptDisplayName(const char* script, UnicodeString& result, UBool skipAdjust) const; @@ -359,6 +360,7 @@ LocaleDisplayNamesImpl::LocaleDisplayNamesImpl(const Locale& locale, , capitalizationContext(UDISPCTX_CAPITALIZATION_NONE) , capitalizationBrkIter(NULL) , nameLength(UDISPCTX_LENGTH_FULL) + , substitute(UDISPCTX_SUBSTITUTE) { initialize(); } @@ -371,6 +373,7 @@ LocaleDisplayNamesImpl::LocaleDisplayNamesImpl(const Locale& locale, , capitalizationContext(UDISPCTX_CAPITALIZATION_NONE) , capitalizationBrkIter(NULL) , nameLength(UDISPCTX_LENGTH_FULL) + , substitute(UDISPCTX_SUBSTITUTE) { while (length-- > 0) { UDisplayContext value = *contexts++; @@ -385,6 +388,9 @@ LocaleDisplayNamesImpl::LocaleDisplayNamesImpl(const Locale& locale, case UDISPCTX_TYPE_DISPLAY_LENGTH: nameLength = value; break; + case UDISPCTX_TYPE_SUBSTITUTE_HANDLING: + substitute = value; + break; default: break; } @@ -535,6 +541,8 @@ LocaleDisplayNamesImpl::getContext(UDisplayContextType type) const { return capitalizationContext; case UDISPCTX_TYPE_DISPLAY_LENGTH: return nameLength; + case UDISPCTX_TYPE_SUBSTITUTE_HANDLING: + return substitute; default: break; } @@ -549,7 +557,7 @@ LocaleDisplayNamesImpl::adjustForUsageAndContext(CapContextUsage usage, if ( result.length() > 0 && u_islower(result.char32At(0)) && capitalizationBrkIter!= NULL && ( capitalizationContext==UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE || fCapitalization[usage] ) ) { // note fCapitalization[usage] won't be set unless capitalizationContext is UI_LIST_OR_MENU or STANDALONE - static UMutex capitalizationBrkIterLock = U_MUTEX_INITIALIZER; + static UMutex capitalizationBrkIterLock; Mutex lock(&capitalizationBrkIterLock); result.toTitle(capitalizationBrkIter, locale, U_TITLECASE_NO_LOWERCASE | U_TITLECASE_NO_BREAK_ADJUSTMENT); } @@ -583,7 +591,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc, do { // loop construct is so we can break early out of search if (hasScript && hasCountry) { ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", script, "_", country, (char *)0); - localeIdName(buffer, resultName); + localeIdName(buffer, resultName, false); if (!resultName.isBogus()) { hasScript = FALSE; hasCountry = FALSE; @@ -592,7 +600,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc, } if (hasScript) { ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", script, (char *)0); - localeIdName(buffer, resultName); + localeIdName(buffer, resultName, false); if (!resultName.isBogus()) { hasScript = FALSE; break; @@ -600,7 +608,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc, } if (hasCountry) { ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", country, (char*)0); - localeIdName(buffer, resultName); + localeIdName(buffer, resultName, false); if (!resultName.isBogus()) { hasCountry = FALSE; break; @@ -609,7 +617,11 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc, } while (FALSE); } if (resultName.isBogus() || resultName.isEmpty()) { - localeIdName(lang, resultName); + localeIdName(lang, resultName, substitute == UDISPCTX_SUBSTITUTE); + if (resultName.isBogus()) { + result.setToBogus(); + return result; + } } UnicodeString resultRemainder; @@ -617,13 +629,28 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc, UErrorCode status = U_ZERO_ERROR; if (hasScript) { - resultRemainder.append(scriptDisplayName(script, temp, TRUE)); + UnicodeString script_str = scriptDisplayName(script, temp, TRUE); + if (script_str.isBogus()) { + result.setToBogus(); + return result; + } + resultRemainder.append(script_str); } if (hasCountry) { - appendWithSep(resultRemainder, regionDisplayName(country, temp, TRUE)); + UnicodeString region_str = regionDisplayName(country, temp, TRUE); + if (region_str.isBogus()) { + result.setToBogus(); + return result; + } + appendWithSep(resultRemainder, region_str); } if (hasVariant) { - appendWithSep(resultRemainder, variantDisplayName(variant, temp, TRUE)); + UnicodeString variant_str = variantDisplayName(variant, temp, TRUE); + if (variant_str.isBogus()) { + result.setToBogus(); + return result; + } + appendWithSep(resultRemainder, variant_str); } resultRemainder.findAndReplace(formatOpenParen, formatReplaceOpenParen); resultRemainder.findAndReplace(formatCloseParen, formatReplaceCloseParen); @@ -689,14 +716,18 @@ LocaleDisplayNamesImpl::localeDisplayName(const char* localeId, // private UnicodeString& LocaleDisplayNamesImpl::localeIdName(const char* localeId, - UnicodeString& result) const { + UnicodeString& result, bool substitute) const { if (nameLength == UDISPCTX_LENGTH_SHORT) { langData.getNoFallback("Languages%short", localeId, result); if (!result.isBogus()) { return result; } } - return langData.getNoFallback("Languages", localeId, result); + if (substitute) { + return langData.get("Languages", localeId, result); + } else { + return langData.getNoFallback("Languages", localeId, result); + } } UnicodeString& @@ -706,12 +737,16 @@ LocaleDisplayNamesImpl::languageDisplayName(const char* lang, return result = UnicodeString(lang, -1, US_INV); } if (nameLength == UDISPCTX_LENGTH_SHORT) { - langData.get("Languages%short", lang, result); + langData.getNoFallback("Languages%short", lang, result); if (!result.isBogus()) { return adjustForUsageAndContext(kCapContextUsageLanguage, result); } } - langData.get("Languages", lang, result); + if (substitute == UDISPCTX_SUBSTITUTE) { + langData.get("Languages", lang, result); + } else { + langData.getNoFallback("Languages", lang, result); + } return adjustForUsageAndContext(kCapContextUsageLanguage, result); } @@ -720,12 +755,16 @@ LocaleDisplayNamesImpl::scriptDisplayName(const char* script, UnicodeString& result, UBool skipAdjust) const { if (nameLength == UDISPCTX_LENGTH_SHORT) { - langData.get("Scripts%short", script, result); + langData.getNoFallback("Scripts%short", script, result); if (!result.isBogus()) { return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageScript, result); } } - langData.get("Scripts", script, result); + if (substitute == UDISPCTX_SUBSTITUTE) { + langData.get("Scripts", script, result); + } else { + langData.getNoFallback("Scripts", script, result); + } return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageScript, result); } @@ -746,12 +785,16 @@ LocaleDisplayNamesImpl::regionDisplayName(const char* region, UnicodeString& result, UBool skipAdjust) const { if (nameLength == UDISPCTX_LENGTH_SHORT) { - regionData.get("Countries%short", region, result); + regionData.getNoFallback("Countries%short", region, result); if (!result.isBogus()) { return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageTerritory, result); } } - regionData.get("Countries", region, result); + if (substitute == UDISPCTX_SUBSTITUTE) { + regionData.get("Countries", region, result); + } else { + regionData.getNoFallback("Countries", region, result); + } return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageTerritory, result); } @@ -767,7 +810,11 @@ LocaleDisplayNamesImpl::variantDisplayName(const char* variant, UnicodeString& result, UBool skipAdjust) const { // don't have a resource for short variant names - langData.get("Variants", variant, result); + if (substitute == UDISPCTX_SUBSTITUTE) { + langData.get("Variants", variant, result); + } else { + langData.getNoFallback("Variants", variant, result); + } return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageVariant, result); } @@ -782,7 +829,11 @@ LocaleDisplayNamesImpl::keyDisplayName(const char* key, UnicodeString& result, UBool skipAdjust) const { // don't have a resource for short key names - langData.get("Keys", key, result); + if (substitute == UDISPCTX_SUBSTITUTE) { + langData.get("Keys", key, result); + } else { + langData.getNoFallback("Keys", key, result); + } return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageKey, result); } @@ -802,9 +853,8 @@ LocaleDisplayNamesImpl::keyValueDisplayName(const char* key, UErrorCode sts = U_ZERO_ERROR; UnicodeString ustrValue(value, -1, US_INV); int32_t len; - UBool isChoice = FALSE; const UChar *currencyName = ucurr_getName(ustrValue.getTerminatedBuffer(), - locale.getBaseName(), UCURR_LONG_NAME, &isChoice, &len, &sts); + locale.getBaseName(), UCURR_LONG_NAME, nullptr /* isChoiceFormat */, &len, &sts); if (U_FAILURE(sts)) { // Return the value as is on failure result = ustrValue; @@ -815,12 +865,16 @@ LocaleDisplayNamesImpl::keyValueDisplayName(const char* key, } if (nameLength == UDISPCTX_LENGTH_SHORT) { - langData.get("Types%short", key, value, result); + langData.getNoFallback("Types%short", key, value, result); if (!result.isBogus()) { return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageKeyValue, result); } } - langData.get("Types", key, value, result); + if (substitute == UDISPCTX_SUBSTITUTE) { + langData.get("Types", key, value, result); + } else { + langData.getNoFallback("Types", key, value, result); + } return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageKeyValue, result); } diff --git a/deps/icu-small/source/common/locid.cpp b/deps/icu-small/source/common/locid.cpp index 06986b636adc31..c6d3f88fc3be07 100644 --- a/deps/icu-small/source/common/locid.cpp +++ b/deps/icu-small/source/common/locid.cpp @@ -38,19 +38,19 @@ #include "unicode/strenum.h" #include "unicode/stringpiece.h" #include "unicode/uloc.h" -#include "putilimp.h" -#include "mutex.h" -#include "umutex.h" -#include "uassert.h" + +#include "bytesinkutil.h" +#include "charstr.h" #include "cmemory.h" #include "cstring.h" +#include "mutex.h" +#include "putilimp.h" #include "uassert.h" +#include "ucln_cmn.h" #include "uhash.h" #include "ulocimp.h" -#include "ucln_cmn.h" +#include "umutex.h" #include "ustr_imp.h" -#include "charstr.h" -#include "bytesinkutil.h" U_CDECL_BEGIN static UBool U_CALLCONV locale_cleanup(void); @@ -62,10 +62,7 @@ static Locale *gLocaleCache = NULL; static UInitOnce gLocaleCacheInitOnce = U_INITONCE_INITIALIZER; // gDefaultLocaleMutex protects all access to gDefaultLocalesHashT and gDefaultLocale. -static UMutex *gDefaultLocaleMutex() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex gDefaultLocaleMutex; static UHashtable *gDefaultLocalesHashT = NULL; static Locale *gDefaultLocale = NULL; @@ -174,7 +171,7 @@ U_NAMESPACE_BEGIN Locale *locale_set_default_internal(const char *id, UErrorCode& status) { // Synchronize this entire function. - Mutex lock(gDefaultLocaleMutex()); + Mutex lock(&gDefaultLocaleMutex); UBool canonicalize = FALSE; @@ -711,7 +708,7 @@ const Locale& U_EXPORT2 Locale::getDefault() { { - Mutex lock(gDefaultLocaleMutex()); + Mutex lock(&gDefaultLocaleMutex); if (gDefaultLocale != NULL) { return *gDefaultLocale; } @@ -1399,5 +1396,7 @@ Locale::getBaseName() const { return baseName; } +Locale::Iterator::~Iterator() = default; + //eof U_NAMESPACE_END diff --git a/deps/icu-small/source/common/loclikely.cpp b/deps/icu-small/source/common/loclikely.cpp index 50cc2a65de0b2d..3b71708e549d5f 100644 --- a/deps/icu-small/source/common/loclikely.cpp +++ b/deps/icu-small/source/common/loclikely.cpp @@ -807,24 +807,24 @@ createLikelySubtagsString( return FALSE; } -#define CHECK_TRAILING_VARIANT_SIZE(trailing, trailingLength) \ - { int32_t count = 0; \ - int32_t i; \ - for (i = 0; i < trailingLength; i++) { \ - if (trailing[i] == '-' || trailing[i] == '_') { \ - count = 0; \ - if (count > 8) { \ - goto error; \ - } \ - } else if (trailing[i] == '@') { \ - break; \ - } else if (count > 8) { \ +#define CHECK_TRAILING_VARIANT_SIZE(trailing, trailingLength) UPRV_BLOCK_MACRO_BEGIN { \ + int32_t count = 0; \ + int32_t i; \ + for (i = 0; i < trailingLength; i++) { \ + if (trailing[i] == '-' || trailing[i] == '_') { \ + count = 0; \ + if (count > 8) { \ goto error; \ - } else { \ - count++; \ } \ + } else if (trailing[i] == '@') { \ + break; \ + } else if (count > 8) { \ + goto error; \ + } else { \ + count++; \ } \ - } + } \ +} UPRV_BLOCK_MACRO_END static void _uloc_addLikelySubtags(const char* localeID, diff --git a/deps/icu-small/source/common/loclikelysubtags.cpp b/deps/icu-small/source/common/loclikelysubtags.cpp new file mode 100644 index 00000000000000..d7f5e124c2c790 --- /dev/null +++ b/deps/icu-small/source/common/loclikelysubtags.cpp @@ -0,0 +1,638 @@ +// © 2019 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html#License + +// loclikelysubtags.cpp +// created: 2019may08 Markus W. Scherer + +#include +#include "unicode/utypes.h" +#include "unicode/bytestrie.h" +#include "unicode/localpointer.h" +#include "unicode/locid.h" +#include "unicode/uobject.h" +#include "unicode/ures.h" +#include "charstr.h" +#include "cstring.h" +#include "loclikelysubtags.h" +#include "lsr.h" +#include "uassert.h" +#include "ucln_cmn.h" +#include "uhash.h" +#include "uinvchar.h" +#include "umutex.h" +#include "uresdata.h" +#include "uresimp.h" + +U_NAMESPACE_BEGIN + +namespace { + +constexpr char PSEUDO_ACCENTS_PREFIX = '\''; // -XA, -PSACCENT +constexpr char PSEUDO_BIDI_PREFIX = '+'; // -XB, -PSBIDI +constexpr char PSEUDO_CRACKED_PREFIX = ','; // -XC, -PSCRACK + +/** + * Stores NUL-terminated strings with duplicate elimination. + * Checks for unique UTF-16 string pointers and converts to invariant characters. + */ +class UniqueCharStrings { +public: + UniqueCharStrings(UErrorCode &errorCode) : strings(nullptr) { + uhash_init(&map, uhash_hashUChars, uhash_compareUChars, uhash_compareLong, &errorCode); + if (U_FAILURE(errorCode)) { return; } + strings = new CharString(); + if (strings == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + } + } + ~UniqueCharStrings() { + uhash_close(&map); + delete strings; + } + + /** Returns/orphans the CharString that contains all strings. */ + CharString *orphanCharStrings() { + CharString *result = strings; + strings = nullptr; + return result; + } + + /** Adds a string and returns a unique number for it. */ + int32_t add(const UnicodeString &s, UErrorCode &errorCode) { + if (U_FAILURE(errorCode)) { return 0; } + if (isFrozen) { + errorCode = U_NO_WRITE_PERMISSION; + return 0; + } + // The string points into the resource bundle. + const char16_t *p = s.getBuffer(); + int32_t oldIndex = uhash_geti(&map, p); + if (oldIndex != 0) { // found duplicate + return oldIndex; + } + // Explicit NUL terminator for the previous string. + // The strings object is also terminated with one implicit NUL. + strings->append(0, errorCode); + int32_t newIndex = strings->length(); + strings->appendInvariantChars(s, errorCode); + uhash_puti(&map, const_cast(p), newIndex, &errorCode); + return newIndex; + } + + void freeze() { isFrozen = true; } + + /** + * Returns a string pointer for its unique number, if this object is frozen. + * Otherwise nullptr. + */ + const char *get(int32_t i) const { + U_ASSERT(isFrozen); + return isFrozen && i > 0 ? strings->data() + i : nullptr; + } + +private: + UHashtable map; + CharString *strings; + bool isFrozen = false; +}; + +} // namespace + +LocaleDistanceData::LocaleDistanceData(LocaleDistanceData &&data) : + distanceTrieBytes(data.distanceTrieBytes), + regionToPartitions(data.regionToPartitions), + partitions(data.partitions), + paradigms(data.paradigms), paradigmsLength(data.paradigmsLength), + distances(data.distances) { + data.partitions = nullptr; + data.paradigms = nullptr; +} + +LocaleDistanceData::~LocaleDistanceData() { + uprv_free(partitions); + delete[] paradigms; +} + +// TODO(ICU-20777): Rename to just LikelySubtagsData. +struct XLikelySubtagsData { + UResourceBundle *langInfoBundle = nullptr; + UniqueCharStrings strings; + CharStringMap languageAliases; + CharStringMap regionAliases; + const uint8_t *trieBytes = nullptr; + LSR *lsrs = nullptr; + int32_t lsrsLength = 0; + + LocaleDistanceData distanceData; + + XLikelySubtagsData(UErrorCode &errorCode) : strings(errorCode) {} + + ~XLikelySubtagsData() { + ures_close(langInfoBundle); + delete[] lsrs; + } + + void load(UErrorCode &errorCode) { + langInfoBundle = ures_openDirect(nullptr, "langInfo", &errorCode); + if (U_FAILURE(errorCode)) { return; } + StackUResourceBundle stackTempBundle; + ResourceDataValue value; + ures_getValueWithFallback(langInfoBundle, "likely", stackTempBundle.getAlias(), + value, errorCode); + ResourceTable likelyTable = value.getTable(errorCode); + if (U_FAILURE(errorCode)) { return; } + + // Read all strings in the resource bundle and convert them to invariant char *. + LocalMemory languageIndexes, regionIndexes, lsrSubtagIndexes; + int32_t languagesLength = 0, regionsLength = 0, lsrSubtagsLength = 0; + if (!readStrings(likelyTable, "languageAliases", value, + languageIndexes, languagesLength, errorCode) || + !readStrings(likelyTable, "regionAliases", value, + regionIndexes, regionsLength, errorCode) || + !readStrings(likelyTable, "lsrs", value, + lsrSubtagIndexes,lsrSubtagsLength, errorCode)) { + return; + } + if ((languagesLength & 1) != 0 || + (regionsLength & 1) != 0 || + (lsrSubtagsLength % 3) != 0) { + errorCode = U_INVALID_FORMAT_ERROR; + return; + } + if (lsrSubtagsLength == 0) { + errorCode = U_MISSING_RESOURCE_ERROR; + return; + } + + if (!likelyTable.findValue("trie", value)) { + errorCode = U_MISSING_RESOURCE_ERROR; + return; + } + int32_t length; + trieBytes = value.getBinary(length, errorCode); + if (U_FAILURE(errorCode)) { return; } + + // Also read distance/matcher data if available, + // to open & keep only one resource bundle pointer + // and to use one single UniqueCharStrings. + UErrorCode matchErrorCode = U_ZERO_ERROR; + ures_getValueWithFallback(langInfoBundle, "match", stackTempBundle.getAlias(), + value, matchErrorCode); + LocalMemory partitionIndexes, paradigmSubtagIndexes; + int32_t partitionsLength = 0, paradigmSubtagsLength = 0; + if (U_SUCCESS(matchErrorCode)) { + ResourceTable matchTable = value.getTable(errorCode); + if (U_FAILURE(errorCode)) { return; } + + if (matchTable.findValue("trie", value)) { + distanceData.distanceTrieBytes = value.getBinary(length, errorCode); + if (U_FAILURE(errorCode)) { return; } + } + + if (matchTable.findValue("regionToPartitions", value)) { + distanceData.regionToPartitions = value.getBinary(length, errorCode); + if (U_FAILURE(errorCode)) { return; } + if (length < LSR::REGION_INDEX_LIMIT) { + errorCode = U_INVALID_FORMAT_ERROR; + return; + } + } + + if (!readStrings(matchTable, "partitions", value, + partitionIndexes, partitionsLength, errorCode) || + !readStrings(matchTable, "paradigms", value, + paradigmSubtagIndexes, paradigmSubtagsLength, errorCode)) { + return; + } + if ((paradigmSubtagsLength % 3) != 0) { + errorCode = U_INVALID_FORMAT_ERROR; + return; + } + + if (matchTable.findValue("distances", value)) { + distanceData.distances = value.getIntVector(length, errorCode); + if (U_FAILURE(errorCode)) { return; } + if (length < 4) { // LocaleDistance IX_LIMIT + errorCode = U_INVALID_FORMAT_ERROR; + return; + } + } + } else if (matchErrorCode == U_MISSING_RESOURCE_ERROR) { + // ok for likely subtags + } else { // error other than missing resource + errorCode = matchErrorCode; + return; + } + + // Fetch & store invariant-character versions of strings + // only after we have collected and de-duplicated all of them. + strings.freeze(); + + languageAliases = CharStringMap(languagesLength / 2, errorCode); + for (int32_t i = 0; i < languagesLength; i += 2) { + languageAliases.put(strings.get(languageIndexes[i]), + strings.get(languageIndexes[i + 1]), errorCode); + } + + regionAliases = CharStringMap(regionsLength / 2, errorCode); + for (int32_t i = 0; i < regionsLength; i += 2) { + regionAliases.put(strings.get(regionIndexes[i]), + strings.get(regionIndexes[i + 1]), errorCode); + } + if (U_FAILURE(errorCode)) { return; } + + lsrsLength = lsrSubtagsLength / 3; + lsrs = new LSR[lsrsLength]; + if (lsrs == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return; + } + for (int32_t i = 0, j = 0; i < lsrSubtagsLength; i += 3, ++j) { + lsrs[j] = LSR(strings.get(lsrSubtagIndexes[i]), + strings.get(lsrSubtagIndexes[i + 1]), + strings.get(lsrSubtagIndexes[i + 2])); + } + + if (partitionsLength > 0) { + distanceData.partitions = static_cast( + uprv_malloc(partitionsLength * sizeof(const char *))); + if (distanceData.partitions == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return; + } + for (int32_t i = 0; i < partitionsLength; ++i) { + distanceData.partitions[i] = strings.get(partitionIndexes[i]); + } + } + + if (paradigmSubtagsLength > 0) { + distanceData.paradigmsLength = paradigmSubtagsLength / 3; + LSR *paradigms = new LSR[distanceData.paradigmsLength]; + if (paradigms == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return; + } + for (int32_t i = 0, j = 0; i < paradigmSubtagsLength; i += 3, ++j) { + paradigms[j] = LSR(strings.get(paradigmSubtagIndexes[i]), + strings.get(paradigmSubtagIndexes[i + 1]), + strings.get(paradigmSubtagIndexes[i + 2])); + } + distanceData.paradigms = paradigms; + } + } + +private: + bool readStrings(const ResourceTable &table, const char *key, ResourceValue &value, + LocalMemory &indexes, int32_t &length, UErrorCode &errorCode) { + if (table.findValue(key, value)) { + ResourceArray stringArray = value.getArray(errorCode); + if (U_FAILURE(errorCode)) { return false; } + length = stringArray.getSize(); + if (length == 0) { return true; } + int32_t *rawIndexes = indexes.allocateInsteadAndCopy(length); + if (rawIndexes == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return false; + } + for (int i = 0; i < length; ++i) { + stringArray.getValue(i, value); // returns TRUE because i < length + rawIndexes[i] = strings.add(value.getUnicodeString(errorCode), errorCode); + if (U_FAILURE(errorCode)) { return false; } + } + } + return true; + } +}; + +namespace { + +XLikelySubtags *gLikelySubtags = nullptr; +UInitOnce gInitOnce = U_INITONCE_INITIALIZER; + +UBool U_CALLCONV cleanup() { + delete gLikelySubtags; + gLikelySubtags = nullptr; + gInitOnce.reset(); + return TRUE; +} + +} // namespace + +void U_CALLCONV XLikelySubtags::initLikelySubtags(UErrorCode &errorCode) { + // This function is invoked only via umtx_initOnce(). + U_ASSERT(gLikelySubtags == nullptr); + XLikelySubtagsData data(errorCode); + data.load(errorCode); + if (U_FAILURE(errorCode)) { return; } + gLikelySubtags = new XLikelySubtags(data); + if (gLikelySubtags == nullptr) { + errorCode = U_MEMORY_ALLOCATION_ERROR; + return; + } + ucln_common_registerCleanup(UCLN_COMMON_LIKELY_SUBTAGS, cleanup); +} + +const XLikelySubtags *XLikelySubtags::getSingleton(UErrorCode &errorCode) { + if (U_FAILURE(errorCode)) { return nullptr; } + umtx_initOnce(gInitOnce, &XLikelySubtags::initLikelySubtags, errorCode); + return gLikelySubtags; +} + +XLikelySubtags::XLikelySubtags(XLikelySubtagsData &data) : + langInfoBundle(data.langInfoBundle), + strings(data.strings.orphanCharStrings()), + languageAliases(std::move(data.languageAliases)), + regionAliases(std::move(data.regionAliases)), + trie(data.trieBytes), + lsrs(data.lsrs), +#if U_DEBUG + lsrsLength(data.lsrsLength), +#endif + distanceData(std::move(data.distanceData)) { + data.langInfoBundle = nullptr; + data.lsrs = nullptr; + + // Cache the result of looking up language="und" encoded as "*", and "und-Zzzz" ("**"). + UStringTrieResult result = trie.next(u'*'); + U_ASSERT(USTRINGTRIE_HAS_NEXT(result)); + trieUndState = trie.getState64(); + result = trie.next(u'*'); + U_ASSERT(USTRINGTRIE_HAS_NEXT(result)); + trieUndZzzzState = trie.getState64(); + result = trie.next(u'*'); + U_ASSERT(USTRINGTRIE_HAS_VALUE(result)); + defaultLsrIndex = trie.getValue(); + trie.reset(); + + for (char16_t c = u'a'; c <= u'z'; ++c) { + result = trie.next(c); + if (result == USTRINGTRIE_NO_VALUE) { + trieFirstLetterStates[c - u'a'] = trie.getState64(); + } + trie.reset(); + } +} + +XLikelySubtags::~XLikelySubtags() { + ures_close(langInfoBundle); + delete strings; + delete[] lsrs; +} + +LSR XLikelySubtags::makeMaximizedLsrFrom(const Locale &locale, UErrorCode &errorCode) const { + const char *name = locale.getName(); + if (uprv_isAtSign(name[0]) && name[1] == 'x' && name[2] == '=') { // name.startsWith("@x=") + // Private use language tag x-subtag-subtag... + return LSR(name, "", ""); + } + return makeMaximizedLsr(locale.getLanguage(), locale.getScript(), locale.getCountry(), + locale.getVariant(), errorCode); +} + +namespace { + +const char *getCanonical(const CharStringMap &aliases, const char *alias) { + const char *canonical = aliases.get(alias); + return canonical == nullptr ? alias : canonical; +} + +} // namespace + +LSR XLikelySubtags::makeMaximizedLsr(const char *language, const char *script, const char *region, + const char *variant, UErrorCode &errorCode) const { + // Handle pseudolocales like en-XA, ar-XB, fr-PSCRACK. + // They should match only themselves, + // not other locales with what looks like the same language and script subtags. + char c1; + if (region[0] == 'X' && (c1 = region[1]) != 0 && region[2] == 0) { + switch (c1) { + case 'A': + return LSR(PSEUDO_ACCENTS_PREFIX, language, script, region, errorCode); + case 'B': + return LSR(PSEUDO_BIDI_PREFIX, language, script, region, errorCode); + case 'C': + return LSR(PSEUDO_CRACKED_PREFIX, language, script, region, errorCode); + default: // normal locale + break; + } + } + + if (variant[0] == 'P' && variant[1] == 'S') { + if (uprv_strcmp(variant, "PSACCENT") == 0) { + return LSR(PSEUDO_ACCENTS_PREFIX, language, script, + *region == 0 ? "XA" : region, errorCode); + } else if (uprv_strcmp(variant, "PSBIDI") == 0) { + return LSR(PSEUDO_BIDI_PREFIX, language, script, + *region == 0 ? "XB" : region, errorCode); + } else if (uprv_strcmp(variant, "PSCRACK") == 0) { + return LSR(PSEUDO_CRACKED_PREFIX, language, script, + *region == 0 ? "XC" : region, errorCode); + } + // else normal locale + } + + language = getCanonical(languageAliases, language); + // (We have no script mappings.) + region = getCanonical(regionAliases, region); + return maximize(language, script, region); +} + +LSR XLikelySubtags::maximize(const char *language, const char *script, const char *region) const { + if (uprv_strcmp(language, "und") == 0) { + language = ""; + } + if (uprv_strcmp(script, "Zzzz") == 0) { + script = ""; + } + if (uprv_strcmp(region, "ZZ") == 0) { + region = ""; + } + if (*script != 0 && *region != 0 && *language != 0) { + return LSR(language, script, region); // already maximized + } + + uint32_t retainOldMask = 0; + BytesTrie iter(trie); + uint64_t state; + int32_t value; + // Small optimization: Array lookup for first language letter. + int32_t c0; + if (0 <= (c0 = uprv_lowerOrdinal(language[0])) && c0 <= 25 && + language[1] != 0 && // language.length() >= 2 + (state = trieFirstLetterStates[c0]) != 0) { + value = trieNext(iter.resetToState64(state), language, 1); + } else { + value = trieNext(iter, language, 0); + } + if (value >= 0) { + if (*language != 0) { + retainOldMask |= 4; + } + state = iter.getState64(); + } else { + retainOldMask |= 4; + iter.resetToState64(trieUndState); // "und" ("*") + state = 0; + } + + if (value > 0) { + // Intermediate or final value from just language. + if (value == SKIP_SCRIPT) { + value = 0; + } + if (*script != 0) { + retainOldMask |= 2; + } + } else { + value = trieNext(iter, script, 0); + if (value >= 0) { + if (*script != 0) { + retainOldMask |= 2; + } + state = iter.getState64(); + } else { + retainOldMask |= 2; + if (state == 0) { + iter.resetToState64(trieUndZzzzState); // "und-Zzzz" ("**") + } else { + iter.resetToState64(state); + value = trieNext(iter, "", 0); + U_ASSERT(value >= 0); + state = iter.getState64(); + } + } + } + + if (value > 0) { + // Final value from just language or language+script. + if (*region != 0) { + retainOldMask |= 1; + } + } else { + value = trieNext(iter, region, 0); + if (value >= 0) { + if (*region != 0) { + retainOldMask |= 1; + } + } else { + retainOldMask |= 1; + if (state == 0) { + value = defaultLsrIndex; + } else { + iter.resetToState64(state); + value = trieNext(iter, "", 0); + U_ASSERT(value > 0); + } + } + } + U_ASSERT(value < lsrsLength); + const LSR &result = lsrs[value]; + + if (*language == 0) { + language = "und"; + } + + if (retainOldMask == 0) { + // Quickly return a copy of the lookup-result LSR + // without new allocation of the subtags. + return LSR(result.language, result.script, result.region); + } + if ((retainOldMask & 4) == 0) { + language = result.language; + } + if ((retainOldMask & 2) == 0) { + script = result.script; + } + if ((retainOldMask & 1) == 0) { + region = result.region; + } + return LSR(language, script, region); +} + +int32_t XLikelySubtags::trieNext(BytesTrie &iter, const char *s, int32_t i) { + UStringTrieResult result; + uint8_t c; + if ((c = s[i]) == 0) { + result = iter.next(u'*'); + } else { + for (;;) { + c = uprv_invCharToAscii(c); + // EBCDIC: If s[i] is not an invariant character, + // then c is now 0 and will simply not match anything, which is harmless. + uint8_t next = s[++i]; + if (next != 0) { + if (!USTRINGTRIE_HAS_NEXT(iter.next(c))) { + return -1; + } + } else { + // last character of this subtag + result = iter.next(c | 0x80); + break; + } + c = next; + } + } + switch (result) { + case USTRINGTRIE_NO_MATCH: return -1; + case USTRINGTRIE_NO_VALUE: return 0; + case USTRINGTRIE_INTERMEDIATE_VALUE: + U_ASSERT(iter.getValue() == SKIP_SCRIPT); + return SKIP_SCRIPT; + case USTRINGTRIE_FINAL_VALUE: return iter.getValue(); + default: return -1; + } +} + +// TODO(ICU-20777): Switch Locale/uloc_ likely-subtags API from the old code +// in loclikely.cpp to this new code, including activating this +// minimizeSubtags() function. The LocaleMatcher does not minimize. +#if 0 +LSR XLikelySubtags::minimizeSubtags(const char *languageIn, const char *scriptIn, + const char *regionIn, ULocale.Minimize fieldToFavor, + UErrorCode &errorCode) const { + LSR result = maximize(languageIn, scriptIn, regionIn); + + // We could try just a series of checks, like: + // LSR result2 = addLikelySubtags(languageIn, "", ""); + // if result.equals(result2) return result2; + // However, we can optimize 2 of the cases: + // (languageIn, "", "") + // (languageIn, "", regionIn) + + // value00 = lookup(result.language, "", "") + BytesTrie iter = new BytesTrie(trie); + int value = trieNext(iter, result.language, 0); + U_ASSERT(value >= 0); + if (value == 0) { + value = trieNext(iter, "", 0); + U_ASSERT(value >= 0); + if (value == 0) { + value = trieNext(iter, "", 0); + } + } + U_ASSERT(value > 0); + LSR value00 = lsrs[value]; + boolean favorRegionOk = false; + if (result.script.equals(value00.script)) { //script is default + if (result.region.equals(value00.region)) { + return new LSR(result.language, "", ""); + } else if (fieldToFavor == ULocale.Minimize.FAVOR_REGION) { + return new LSR(result.language, "", result.region); + } else { + favorRegionOk = true; + } + } + + // The last case is not as easy to optimize. + // Maybe do later, but for now use the straightforward code. + LSR result2 = maximize(languageIn, scriptIn, ""); + if (result2.equals(result)) { + return new LSR(result.language, result.script, ""); + } else if (favorRegionOk) { + return new LSR(result.language, "", result.region); + } + return result; +} +#endif + +U_NAMESPACE_END diff --git a/deps/icu-small/source/common/loclikelysubtags.h b/deps/icu-small/source/common/loclikelysubtags.h new file mode 100644 index 00000000000000..8c8a08ac5e314e --- /dev/null +++ b/deps/icu-small/source/common/loclikelysubtags.h @@ -0,0 +1,143 @@ +// © 2019 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html#License + +// loclikelysubtags.h +// created: 2019may08 Markus W. Scherer + +#ifndef __LOCLIKELYSUBTAGS_H__ +#define __LOCLIKELYSUBTAGS_H__ + +#include +#include "unicode/utypes.h" +#include "unicode/bytestrie.h" +#include "unicode/locid.h" +#include "unicode/uobject.h" +#include "unicode/ures.h" +#include "lsr.h" +#include "uhash.h" + +U_NAMESPACE_BEGIN + +struct XLikelySubtagsData; + +/** + * Map of const char * keys & values. + * Stores pointers as is: Does not own/copy/adopt/release strings. + */ +class CharStringMap final : public UMemory { +public: + /** Constructs an unusable non-map. */ + CharStringMap() : map(nullptr) {} + CharStringMap(int32_t size, UErrorCode &errorCode) { + map = uhash_openSize(uhash_hashChars, uhash_compareChars, uhash_compareChars, + size, &errorCode); + } + CharStringMap(CharStringMap &&other) U_NOEXCEPT : map(other.map) { + other.map = nullptr; + } + CharStringMap(const CharStringMap &other) = delete; + ~CharStringMap() { + uhash_close(map); + } + + CharStringMap &operator=(CharStringMap &&other) U_NOEXCEPT { + map = other.map; + other.map = nullptr; + return *this; + } + CharStringMap &operator=(const CharStringMap &other) = delete; + + const char *get(const char *key) const { return static_cast(uhash_get(map, key)); } + void put(const char *key, const char *value, UErrorCode &errorCode) { + uhash_put(map, const_cast(key), const_cast(value), &errorCode); + } + +private: + UHashtable *map; +}; + +struct LocaleDistanceData { + LocaleDistanceData() = default; + LocaleDistanceData(LocaleDistanceData &&data); + ~LocaleDistanceData(); + + const uint8_t *distanceTrieBytes = nullptr; + const uint8_t *regionToPartitions = nullptr; + const char **partitions = nullptr; + const LSR *paradigms = nullptr; + int32_t paradigmsLength = 0; + const int32_t *distances = nullptr; + +private: + LocaleDistanceData &operator=(const LocaleDistanceData &) = delete; +}; + +// TODO(ICU-20777): Rename to just LikelySubtags. +class XLikelySubtags final : public UMemory { +public: + ~XLikelySubtags(); + + static constexpr int32_t SKIP_SCRIPT = 1; + + // VisibleForTesting + static const XLikelySubtags *getSingleton(UErrorCode &errorCode); + + // VisibleForTesting + LSR makeMaximizedLsrFrom(const Locale &locale, UErrorCode &errorCode) const; + + // TODO(ICU-20777): Switch Locale/uloc_ likely-subtags API from the old code + // in loclikely.cpp to this new code, including activating this + // minimizeSubtags() function. The LocaleMatcher does not minimize. +#if 0 + LSR minimizeSubtags(const char *languageIn, const char *scriptIn, const char *regionIn, + ULocale.Minimize fieldToFavor, UErrorCode &errorCode) const; +#endif + + // visible for LocaleDistance + const LocaleDistanceData &getDistanceData() const { return distanceData; } + +private: + XLikelySubtags(XLikelySubtagsData &data); + XLikelySubtags(const XLikelySubtags &other) = delete; + XLikelySubtags &operator=(const XLikelySubtags &other) = delete; + + static void initLikelySubtags(UErrorCode &errorCode); + + LSR makeMaximizedLsr(const char *language, const char *script, const char *region, + const char *variant, UErrorCode &errorCode) const; + + /** + * Raw access to addLikelySubtags. Input must be in canonical format, eg "en", not "eng" or "EN". + */ + LSR maximize(const char *language, const char *script, const char *region) const; + + static int32_t trieNext(BytesTrie &iter, const char *s, int32_t i); + + UResourceBundle *langInfoBundle; + // We could store the strings by value, except that if there were few enough strings, + // moving the contents could copy it to a different array, + // invalidating the pointers stored in the maps. + CharString *strings; + CharStringMap languageAliases; + CharStringMap regionAliases; + + // The trie maps each lang+script+region (encoded in ASCII) to an index into lsrs. + // There is also a trie value for each intermediate lang and lang+script. + // '*' is used instead of "und", "Zzzz"/"" and "ZZ"/"". + BytesTrie trie; + uint64_t trieUndState; + uint64_t trieUndZzzzState; + int32_t defaultLsrIndex; + uint64_t trieFirstLetterStates[26]; + const LSR *lsrs; +#if U_DEBUG + int32_t lsrsLength; +#endif + + // distance/matcher data: see comment in XLikelySubtagsData::load() + LocaleDistanceData distanceData; +}; + +U_NAMESPACE_END + +#endif // __LOCLIKELYSUBTAGS_H__ diff --git a/deps/icu-small/source/common/lsr.cpp b/deps/icu-small/source/common/lsr.cpp new file mode 100644 index 00000000000000..0c28eeda1bc7b6 --- /dev/null +++ b/deps/icu-small/source/common/lsr.cpp @@ -0,0 +1,101 @@ +// © 2019 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html#License + +// lsr.cpp +// created: 2019may08 Markus W. Scherer + +#include "unicode/utypes.h" +#include "charstr.h" +#include "cmemory.h" +#include "cstring.h" +#include "lsr.h" +#include "uinvchar.h" +#include "ustr_imp.h" + +U_NAMESPACE_BEGIN + +LSR::LSR(char prefix, const char *lang, const char *scr, const char *r, UErrorCode &errorCode) : + language(nullptr), script(nullptr), region(r), + regionIndex(indexForRegion(region)) { + if (U_SUCCESS(errorCode)) { + CharString langScript; + langScript.append(prefix, errorCode).append(lang, errorCode).append('\0', errorCode); + int32_t scriptOffset = langScript.length(); + langScript.append(prefix, errorCode).append(scr, errorCode); + owned = langScript.cloneData(errorCode); + if (U_SUCCESS(errorCode)) { + language = owned; + script = owned + scriptOffset; + } + } +} + +LSR::LSR(LSR &&other) U_NOEXCEPT : + language(other.language), script(other.script), region(other.region), owned(other.owned), + regionIndex(other.regionIndex), hashCode(other.hashCode) { + if (owned != nullptr) { + other.language = other.script = ""; + other.owned = nullptr; + other.hashCode = 0; + } +} + +void LSR::deleteOwned() { + uprv_free(owned); +} + +LSR &LSR::operator=(LSR &&other) U_NOEXCEPT { + this->~LSR(); + language = other.language; + script = other.script; + region = other.region; + regionIndex = other.regionIndex; + owned = other.owned; + hashCode = other.hashCode; + if (owned != nullptr) { + other.language = other.script = ""; + other.owned = nullptr; + other.hashCode = 0; + } + return *this; +} + +UBool LSR::operator==(const LSR &other) const { + return + uprv_strcmp(language, other.language) == 0 && + uprv_strcmp(script, other.script) == 0 && + regionIndex == other.regionIndex && + // Compare regions if both are ill-formed (and their indexes are 0). + (regionIndex > 0 || uprv_strcmp(region, other.region) == 0); +} + +int32_t LSR::indexForRegion(const char *region) { + int32_t c = region[0]; + int32_t a = c - '0'; + if (0 <= a && a <= 9) { // digits: "419" + int32_t b = region[1] - '0'; + if (b < 0 || 9 < b) { return 0; } + c = region[2] - '0'; + if (c < 0 || 9 < c || region[3] != 0) { return 0; } + return (10 * a + b) * 10 + c + 1; + } else { // letters: "DE" + a = uprv_upperOrdinal(c); + if (a < 0 || 25 < a) { return 0; } + int32_t b = uprv_upperOrdinal(region[1]); + if (b < 0 || 25 < b || region[2] != 0) { return 0; } + return 26 * a + b + 1001; + } + return 0; +} + +LSR &LSR::setHashCode() { + if (hashCode == 0) { + hashCode = + (ustr_hashCharsN(language, static_cast(uprv_strlen(language))) * 37 + + ustr_hashCharsN(script, static_cast(uprv_strlen(script)))) * 37 + + regionIndex; + } + return *this; +} + +U_NAMESPACE_END diff --git a/deps/icu-small/source/common/lsr.h b/deps/icu-small/source/common/lsr.h new file mode 100644 index 00000000000000..db6cf938f47d02 --- /dev/null +++ b/deps/icu-small/source/common/lsr.h @@ -0,0 +1,72 @@ +// © 2019 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html#License + +// lsr.h +// created: 2019may08 Markus W. Scherer + +#ifndef __LSR_H__ +#define __LSR_H__ + +#include "unicode/utypes.h" +#include "unicode/uobject.h" +#include "cstring.h" + +U_NAMESPACE_BEGIN + +struct LSR final : public UMemory { + static constexpr int32_t REGION_INDEX_LIMIT = 1001 + 26 * 26; + + const char *language; + const char *script; + const char *region; + char *owned = nullptr; + /** Index for region, 0 if ill-formed. @see indexForRegion */ + int32_t regionIndex = 0; + /** Only set for LSRs that will be used in a hash table. */ + int32_t hashCode = 0; + + LSR() : language("und"), script(""), region("") {} + + /** Constructor which aliases all subtag pointers. */ + LSR(const char *lang, const char *scr, const char *r) : + language(lang), script(scr), region(r), + regionIndex(indexForRegion(region)) {} + /** + * Constructor which prepends the prefix to the language and script, + * copies those into owned memory, and aliases the region. + */ + LSR(char prefix, const char *lang, const char *scr, const char *r, UErrorCode &errorCode); + LSR(LSR &&other) U_NOEXCEPT; + LSR(const LSR &other) = delete; + inline ~LSR() { + // Pure inline code for almost all instances. + if (owned != nullptr) { + deleteOwned(); + } + } + + LSR &operator=(LSR &&other) U_NOEXCEPT; + LSR &operator=(const LSR &other) = delete; + + /** + * Returns a positive index (>0) for a well-formed region code. + * Do not rely on a particular region->index mapping; it may change. + * Returns 0 for ill-formed strings. + */ + static int32_t indexForRegion(const char *region); + + UBool operator==(const LSR &other) const; + + inline UBool operator!=(const LSR &other) const { + return !operator==(other); + } + + LSR &setHashCode(); + +private: + void deleteOwned(); +}; + +U_NAMESPACE_END + +#endif // __LSR_H__ diff --git a/deps/icu-small/source/common/mutex.h b/deps/icu-small/source/common/mutex.h index 5223397bbcc10a..44b1f90ba04dd2 100644 --- a/deps/icu-small/source/common/mutex.h +++ b/deps/icu-small/source/common/mutex.h @@ -28,50 +28,48 @@ U_NAMESPACE_BEGIN -//---------------------------------------------------------------------------- -// Code within that accesses shared static or global data should -// should instantiate a Mutex object while doing so. You should make your own -// private mutex where possible. - -// For example: -// -// UMutex myMutex = U_MUTEX_INITIALIZER; -// -// void Function(int arg1, int arg2) -// { -// static Object* foo; // Shared read-write object -// Mutex mutex(&myMutex); // or no args for the global lock -// foo->Method(); -// // When 'mutex' goes out of scope and gets destroyed here, the lock is released -// } -// -// Note: Do NOT use the form 'Mutex mutex();' as that merely forward-declares a function -// returning a Mutex. This is a common mistake which silently slips through the -// compiler!! -// +/** + * Mutex is a helper class for convenient locking and unlocking of a UMutex. + * + * Creating a local scope Mutex will lock a UMutex, holding the lock until the Mutex + * goes out of scope. + * + * If no UMutex is specified, the ICU global mutex is implied. + * + * For example: + * + * static UMutex myMutex; + * + * void Function(int arg1, int arg2) + * { + * static Object* foo; // Shared read-write object + * Mutex mutex(&myMutex); // or no args for the global lock + * foo->Method(); + * // When 'mutex' goes out of scope and gets destroyed here, the lock is released + * } + * + * Note: Do NOT use the form 'Mutex mutex();' as that merely forward-declares a function + * returning a Mutex. This is a common mistake which silently slips through the + * compiler!! + */ class U_COMMON_API Mutex : public UMemory { public: - inline Mutex(UMutex *mutex = NULL); - inline ~Mutex(); + Mutex(UMutex *mutex = nullptr) : fMutex(mutex) { + umtx_lock(fMutex); + } + ~Mutex() { + umtx_unlock(fMutex); + } -private: - UMutex *fMutex; + Mutex(const Mutex &other) = delete; // forbid assigning of this class + Mutex &operator=(const Mutex &other) = delete; // forbid copying of this class + void *operator new(size_t s) = delete; // forbid heap allocation. Locals only. - Mutex(const Mutex &other); // forbid copying of this class - Mutex &operator=(const Mutex &other); // forbid copying of this class +private: + UMutex *fMutex; }; -inline Mutex::Mutex(UMutex *mutex) - : fMutex(mutex) -{ - umtx_lock(fMutex); -} - -inline Mutex::~Mutex() -{ - umtx_unlock(fMutex); -} U_NAMESPACE_END diff --git a/deps/icu-small/source/common/normalizer2impl.h b/deps/icu-small/source/common/normalizer2impl.h index 7ecdef6d9c8032..cf3015ea881bfc 100644 --- a/deps/icu-small/source/common/normalizer2impl.h +++ b/deps/icu-small/source/common/normalizer2impl.h @@ -245,9 +245,7 @@ class U_COMMON_API ReorderingBuffer : public UMemory { */ class U_COMMON_API Normalizer2Impl : public UObject { public: - Normalizer2Impl() : normTrie(NULL), fCanonIterData(NULL) { - fCanonIterDataInitOnce.reset(); - } + Normalizer2Impl() : normTrie(NULL), fCanonIterData(NULL) { } virtual ~Normalizer2Impl(); void init(const int32_t *inIndexes, const UCPTrie *inTrie, @@ -723,7 +721,7 @@ class U_COMMON_API Normalizer2Impl : public UObject { const uint16_t *extraData; // mappings and/or compositions for yesYes, yesNo & noNo characters const uint8_t *smallFCD; // [0x100] one bit per 32 BMP code points, set if any FCD!=0 - UInitOnce fCanonIterDataInitOnce; + UInitOnce fCanonIterDataInitOnce = U_INITONCE_INITIALIZER; CanonIterData *fCanonIterData; }; diff --git a/deps/icu-small/source/common/putil.cpp b/deps/icu-small/source/common/putil.cpp index e105befc3fc740..207350f8f26120 100644 --- a/deps/icu-small/source/common/putil.cpp +++ b/deps/icu-small/source/common/putil.cpp @@ -249,7 +249,7 @@ static UDate getUTCtime_real() { } static UDate getUTCtime_fake() { - static UMutex fakeClockMutex = U_MUTEX_INTIALIZER; + static UMutex fakeClockMutex; umtx_lock(&fakeClockMutex); if(!fakeClock_set) { UDate real = getUTCtime_real(); @@ -1315,11 +1315,10 @@ uprv_pathIsAbsolute(const char *path) # endif #endif -#if U_PLATFORM_HAS_WINUWP_API != 0 +#if defined(ICU_DATA_DIR_WINDOWS) // Helper function to get the ICU Data Directory under the Windows directory location. static BOOL U_CALLCONV getIcuDataDirectoryUnderWindowsDirectory(char* directoryBuffer, UINT bufferLength) { -#if defined(ICU_DATA_DIR_WINDOWS) wchar_t windowsPath[MAX_PATH]; char windowsPathUtf8[MAX_PATH]; @@ -1346,7 +1345,6 @@ static BOOL U_CALLCONV getIcuDataDirectoryUnderWindowsDirectory(char* directoryB } } } -#endif return FALSE; } @@ -1380,9 +1378,9 @@ static void U_CALLCONV dataDirectoryInitFn() { */ # if !defined(ICU_NO_USER_DATA_OVERRIDE) && !UCONFIG_NO_FILE_IO /* First try to get the environment variable */ -# if U_PLATFORM_HAS_WINUWP_API == 0 // Windows UWP does not support getenv +# if U_PLATFORM_HAS_WINUWP_API == 0 // Windows UWP does not support getenv path=getenv("ICU_DATA"); -# endif +# endif # endif /* ICU_DATA_DIR may be set as a compile option. @@ -1411,7 +1409,7 @@ static void U_CALLCONV dataDirectoryInitFn() { } #endif -#if U_PLATFORM_HAS_WINUWP_API != 0 && defined(ICU_DATA_DIR_WINDOWS) +#if defined(ICU_DATA_DIR_WINDOWS) char datadir_path_buffer[MAX_PATH]; if (getIcuDataDirectoryUnderWindowsDirectory(datadir_path_buffer, UPRV_LENGTHOF(datadir_path_buffer))) { path = datadir_path_buffer; @@ -1461,12 +1459,17 @@ static void U_CALLCONV TimeZoneDataDirInitFn(UErrorCode &status) { const char *dir = ""; -#if U_PLATFORM_HAS_WINUWP_API != 0 - // The UWP version does not support the environment variable setting, but can possibly pick them up from the Windows directory. +#if U_PLATFORM_HAS_WINUWP_API == 1 +// The UWP version does not support the environment variable setting. + +# if defined(ICU_DATA_DIR_WINDOWS) + // When using the Windows system data, we can possibly pick up time zone data from the Windows directory. char datadir_path_buffer[MAX_PATH]; if (getIcuDataDirectoryUnderWindowsDirectory(datadir_path_buffer, UPRV_LENGTHOF(datadir_path_buffer))) { dir = datadir_path_buffer; } +# endif + #else dir = getenv("ICU_TIMEZONE_FILES_DIR"); #endif // U_PLATFORM_HAS_WINUWP_API @@ -1560,6 +1563,10 @@ static const char *uprv_getPOSIXIDForCategory(int category) { /* Nothing worked. Give it a nice POSIX default value. */ posixID = "en_US_POSIX"; + // Note: this test will not catch 'C.UTF-8', + // that will be handled in uprv_getDefaultLocaleID(). + // Leave this mapping here for the uprv_getPOSIXIDForDefaultCodepage() + // caller which expects to see "en_US_POSIX" in many branches. } return posixID; } @@ -1631,8 +1638,8 @@ The leftmost codepage (.xxx) wins. } // Copy the ID into owned memory. - // Over-allocate in case we replace "@" with "__". - char *correctedPOSIXLocale = static_cast(uprv_malloc(uprv_strlen(posixID) + 1 + 1)); + // Over-allocate in case we replace "C" with "en_US_POSIX" (+10), + null termination + char *correctedPOSIXLocale = static_cast(uprv_malloc(uprv_strlen(posixID) + 10 + 1)); if (correctedPOSIXLocale == nullptr) { return nullptr; } @@ -1641,9 +1648,16 @@ The leftmost codepage (.xxx) wins. char *limit; if ((limit = uprv_strchr(correctedPOSIXLocale, '.')) != nullptr) { *limit = 0; - if ((limit = uprv_strchr(correctedPOSIXLocale, '@')) != nullptr) { - *limit = 0; - } + } + if ((limit = uprv_strchr(correctedPOSIXLocale, '@')) != nullptr) { + *limit = 0; + } + + if ((uprv_strcmp("C", correctedPOSIXLocale) == 0) // no @ variant + || (uprv_strcmp("POSIX", correctedPOSIXLocale) == 0)) { + // Raw input was C.* or POSIX.*, Give it a nice POSIX default value. + // (The "C"/"POSIX" case is handled in uprv_getPOSIXIDForCategory()) + uprv_strcpy(correctedPOSIXLocale, "en_US_POSIX"); } /* Note that we scan the *uncorrected* ID. */ @@ -1668,7 +1682,7 @@ The leftmost codepage (.xxx) wins. if ((q = uprv_strchr(p, '.')) != nullptr) { /* How big will the resulting string be? */ int32_t len = (int32_t)(uprv_strlen(correctedPOSIXLocale) + (q-p)); - uprv_strncat(correctedPOSIXLocale, p, q-p); + uprv_strncat(correctedPOSIXLocale, p, q-p); // do not include charset correctedPOSIXLocale[len] = 0; } else { @@ -2053,7 +2067,7 @@ int_getDefaultCodepage() static char codepage[64]; DWORD codepageNumber = 0; -#if U_PLATFORM_HAS_WINUWP_API > 0 +#if U_PLATFORM_HAS_WINUWP_API == 1 // UWP doesn't have a direct API to get the default ACP as Microsoft would rather // have folks use Unicode than a "system" code page, however this is the same // codepage as the system default locale codepage. (FWIW, the system locale is diff --git a/deps/icu-small/source/common/putilimp.h b/deps/icu-small/source/common/putilimp.h index f9c13d8e1b27bf..2e9fbcc4837cd8 100644 --- a/deps/icu-small/source/common/putilimp.h +++ b/deps/icu-small/source/common/putilimp.h @@ -178,76 +178,6 @@ typedef size_t uintptr_t; /** @} */ -/*===========================================================================*/ -/** @{ GCC built in functions for atomic memory operations */ -/*===========================================================================*/ - -/** - * \def U_HAVE_GCC_ATOMICS - * @internal - */ -#ifdef U_HAVE_GCC_ATOMICS - /* Use the predefined value. */ -#elif U_PLATFORM == U_PF_MINGW - #define U_HAVE_GCC_ATOMICS 0 -#elif U_GCC_MAJOR_MINOR >= 404 || defined(__clang__) - /* TODO: Intel icc and IBM xlc on AIX also support gcc atomics. (Intel originated them.) - * Add them for these compilers. - * Note: Clang sets __GNUC__ defines for version 4.2, so misses the 4.4 test here. - */ -# define U_HAVE_GCC_ATOMICS 1 -#else -# define U_HAVE_GCC_ATOMICS 0 -#endif - -/** @} */ - -/** - * \def U_HAVE_STD_ATOMICS - * Defines whether to use the C++11 std::atomic functions. - * If false, ICU will fall back to compiler or platform specific alternatives. - * Note: support for these fall back options for atomics will be removed in a future version - * of ICU, and the use of C++ 11 atomics will be required. - * @internal - */ -#ifdef U_HAVE_STD_ATOMICS - /* Use the predefined value. */ -#else -# define U_HAVE_STD_ATOMICS 1 -#endif - -/** - * \def U_HAVE_CLANG_ATOMICS - * Defines whether Clang c11 style built-in atomics are available. - * These are used in preference to gcc atomics when both are available. - */ -#ifdef U_HAVE_CLANG_ATOMICS - /* Use the predefined value. */ -#elif __has_builtin(__c11_atomic_load) && \ - __has_builtin(__c11_atomic_store) && \ - __has_builtin(__c11_atomic_fetch_add) && \ - __has_builtin(__c11_atomic_fetch_sub) -# define U_HAVE_CLANG_ATOMICS 1 -#else -# define U_HAVE_CLANG_ATOMICS 0 -#endif - - -/** - * \def U_HAVE_STD_MUTEX - * Defines whether to use the C++11 std::mutex functions. - * If false, ICU will fall back to compiler or platform specific alternatives. - * std::mutex is preferred, and used by default unless this setting is overridden. - * Note: support for other options for mutexes will be removed in a future version - * of ICU, and the use of std::mutex will be required. - * @internal - */ -#ifdef U_HAVE_STD_MUTEX - /* Use the predefined value. */ -#else -# define U_HAVE_STD_MUTEX 1 -#endif - /*===========================================================================*/ /** @{ Programs used by ICU code */ /*===========================================================================*/ diff --git a/deps/icu-small/source/common/rbbi.cpp b/deps/icu-small/source/common/rbbi.cpp index 3b116ffaf6cba7..01dae48de44c1d 100644 --- a/deps/icu-small/source/common/rbbi.cpp +++ b/deps/icu-small/source/common/rbbi.cpp @@ -323,8 +323,8 @@ void RuleBasedBreakIterator::init(UErrorCode &status) { // Virtual function: does the right thing with subclasses. // //----------------------------------------------------------------------------- -BreakIterator* -RuleBasedBreakIterator::clone(void) const { +RuleBasedBreakIterator* +RuleBasedBreakIterator::clone() const { return new RuleBasedBreakIterator(*this); } @@ -352,7 +352,7 @@ RuleBasedBreakIterator::operator==(const BreakIterator& that) const { // or have a different iteration position. // Note that fText's position is always the same as the break iterator's position. return FALSE; - }; + } if (!(fPosition == that2.fPosition && fRuleStatusIndex == that2.fRuleStatusIndex && @@ -1079,10 +1079,8 @@ const uint8_t *RuleBasedBreakIterator::getBinaryRules(uint32_t &length) { } -BreakIterator * RuleBasedBreakIterator::createBufferClone(void * /*stackBuffer*/, - int32_t &bufferSize, - UErrorCode &status) -{ +RuleBasedBreakIterator *RuleBasedBreakIterator::createBufferClone( + void * /*stackBuffer*/, int32_t &bufferSize, UErrorCode &status) { if (U_FAILURE(status)){ return NULL; } diff --git a/deps/icu-small/source/common/rbbi_cache.cpp b/deps/icu-small/source/common/rbbi_cache.cpp index 17ee2320802f60..4f9e83360a2a32 100644 --- a/deps/icu-small/source/common/rbbi_cache.cpp +++ b/deps/icu-small/source/common/rbbi_cache.cpp @@ -519,7 +519,7 @@ UBool RuleBasedBreakIterator::BreakCache::populatePreceding(UErrorCode &status) // The initial handleNext() only advanced by a single code point. Go again. position = fBI->handleNext(); // Safe rules identify safe pairs. } - }; + } positionStatusIdx = fBI->fRuleStatusIndex; } } while (position >= fromPosition); diff --git a/deps/icu-small/source/common/resbund.cpp b/deps/icu-small/source/common/resbund.cpp index 00dbf6f8fe2e9c..5ec7541b4db636 100644 --- a/deps/icu-small/source/common/resbund.cpp +++ b/deps/icu-small/source/common/resbund.cpp @@ -51,6 +51,7 @@ #include "unicode/utypes.h" #include "unicode/resbund.h" +#include "cmemory.h" #include "mutex.h" #include "uassert.h" #include "umutex.h" @@ -377,7 +378,7 @@ void ResourceBundle::getVersion(UVersionInfo versionInfo) const { } const Locale &ResourceBundle::getLocale(void) const { - static UMutex gLocaleLock = U_MUTEX_INITIALIZER; + static UMutex gLocaleLock; Mutex lock(&gLocaleLock); if (fLocale != NULL) { return *fLocale; diff --git a/deps/icu-small/source/common/resource.h b/deps/icu-small/source/common/resource.h index 3dbff785ef12a8..5199b858880770 100644 --- a/deps/icu-small/source/common/resource.h +++ b/deps/icu-small/source/common/resource.h @@ -28,6 +28,7 @@ #include "unicode/utypes.h" #include "unicode/unistr.h" #include "unicode/ures.h" +#include "restrace.h" struct ResourceData; @@ -47,8 +48,10 @@ class U_COMMON_API ResourceArray { ResourceArray() : items16(NULL), items32(NULL), length(0) {} /** Only for implementation use. @internal */ - ResourceArray(const uint16_t *i16, const uint32_t *i32, int32_t len) : - items16(i16), items32(i32), length(len) {} + ResourceArray(const uint16_t *i16, const uint32_t *i32, int32_t len, + const ResourceTracer& traceInfo) : + items16(i16), items32(i32), length(len), + fTraceInfo(traceInfo) {} /** * @return The number of items in the array resource. @@ -68,6 +71,7 @@ class U_COMMON_API ResourceArray { const uint16_t *items16; const uint32_t *items32; int32_t length; + ResourceTracer fTraceInfo; }; /** @@ -80,27 +84,37 @@ class U_COMMON_API ResourceTable { /** Only for implementation use. @internal */ ResourceTable(const uint16_t *k16, const int32_t *k32, - const uint16_t *i16, const uint32_t *i32, int32_t len) : - keys16(k16), keys32(k32), items16(i16), items32(i32), length(len) {} + const uint16_t *i16, const uint32_t *i32, int32_t len, + const ResourceTracer& traceInfo) : + keys16(k16), keys32(k32), items16(i16), items32(i32), length(len), + fTraceInfo(traceInfo) {} /** * @return The number of items in the array resource. */ int32_t getSize() const { return length; } /** - * @param i Array item index. + * @param i Table item index. * @param key Output-only, receives the key of the i'th item. * @param value Output-only, receives the value of the i'th item. * @return TRUE if i is non-negative and less than getSize(). */ UBool getKeyAndValue(int32_t i, const char *&key, ResourceValue &value) const; + /** + * @param key Key string to find in the table. + * @param value Output-only, receives the value of the item with that key. + * @return TRUE if the table contains the key. + */ + UBool findValue(const char *key, ResourceValue &value) const; + private: const uint16_t *keys16; const int32_t *keys32; const uint16_t *items16; const uint32_t *items32; int32_t length; + ResourceTracer fTraceInfo; }; /** diff --git a/deps/icu-small/source/common/restrace.cpp b/deps/icu-small/source/common/restrace.cpp new file mode 100644 index 00000000000000..5c6498850e2f8f --- /dev/null +++ b/deps/icu-small/source/common/restrace.cpp @@ -0,0 +1,130 @@ +// © 2019 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html + +#include "unicode/utypes.h" + +#if U_ENABLE_TRACING + +#include "restrace.h" +#include "charstr.h" +#include "cstring.h" +#include "utracimp.h" +#include "uresimp.h" +#include "uassert.h" +#include "util.h" + +U_NAMESPACE_BEGIN + +ResourceTracer::~ResourceTracer() = default; + +void ResourceTracer::trace(const char* resType) const { + U_ASSERT(fResB || fParent); + UTRACE_ENTRY(UTRACE_UDATA_RESOURCE); + UErrorCode status = U_ZERO_ERROR; + + CharString filePath; + getFilePath(filePath, status); + + CharString resPath; + getResPath(resPath, status); + + // The longest type ("intvector") is 9 chars + const char kSpaces[] = " "; + CharString format; + format.append(kSpaces, sizeof(kSpaces) - 1 - uprv_strlen(resType), status); + format.append("(%s) %s @ %s", status); + + UTRACE_DATA3(UTRACE_VERBOSE, + format.data(), + resType, + filePath.data(), + resPath.data()); + UTRACE_EXIT_STATUS(status); +} + +void ResourceTracer::traceOpen() const { + U_ASSERT(fResB); + UTRACE_ENTRY(UTRACE_UDATA_BUNDLE); + UErrorCode status = U_ZERO_ERROR; + + CharString filePath; + UTRACE_DATA1(UTRACE_VERBOSE, "%s", getFilePath(filePath, status).data()); + UTRACE_EXIT_STATUS(status); +} + +CharString& ResourceTracer::getFilePath(CharString& output, UErrorCode& status) const { + if (fResB) { + output.append(fResB->fData->fPath, status); + output.append('/', status); + output.append(fResB->fData->fName, status); + output.append(".res", status); + } else { + fParent->getFilePath(output, status); + } + return output; +} + +CharString& ResourceTracer::getResPath(CharString& output, UErrorCode& status) const { + if (fResB) { + output.append('/', status); + output.append(fResB->fResPath, status); + // removing the trailing / + U_ASSERT(output[output.length()-1] == '/'); + output.truncate(output.length()-1); + } else { + fParent->getResPath(output, status); + } + if (fKey) { + output.append('/', status); + output.append(fKey, status); + } + if (fIndex != -1) { + output.append('[', status); + UnicodeString indexString; + ICU_Utility::appendNumber(indexString, fIndex); + output.appendInvariantChars(indexString, status); + output.append(']', status); + } + return output; +} + +void FileTracer::traceOpen(const char* path, const char* type, const char* name) { + if (uprv_strcmp(type, "res") == 0) { + traceOpenResFile(path, name); + } else { + traceOpenDataFile(path, type, name); + } +} + +void FileTracer::traceOpenDataFile(const char* path, const char* type, const char* name) { + UTRACE_ENTRY(UTRACE_UDATA_DATA_FILE); + UErrorCode status = U_ZERO_ERROR; + + CharString filePath; + filePath.append(path, status); + filePath.append('/', status); + filePath.append(name, status); + filePath.append('.', status); + filePath.append(type, status); + + UTRACE_DATA1(UTRACE_VERBOSE, "%s", filePath.data()); + UTRACE_EXIT_STATUS(status); +} + +void FileTracer::traceOpenResFile(const char* path, const char* name) { + UTRACE_ENTRY(UTRACE_UDATA_RES_FILE); + UErrorCode status = U_ZERO_ERROR; + + CharString filePath; + filePath.append(path, status); + filePath.append('/', status); + filePath.append(name, status); + filePath.append(".res", status); + + UTRACE_DATA1(UTRACE_VERBOSE, "%s", filePath.data()); + UTRACE_EXIT_STATUS(status); +} + +U_NAMESPACE_END + +#endif // U_ENABLE_TRACING diff --git a/deps/icu-small/source/common/restrace.h b/deps/icu-small/source/common/restrace.h new file mode 100644 index 00000000000000..ef29eaed578107 --- /dev/null +++ b/deps/icu-small/source/common/restrace.h @@ -0,0 +1,147 @@ +// © 2019 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html + +#ifndef __RESTRACE_H__ +#define __RESTRACE_H__ + +#include "unicode/utypes.h" + +#if U_ENABLE_TRACING + +struct UResourceBundle; + +U_NAMESPACE_BEGIN + +class CharString; + +/** + * Instances of this class store information used to trace reads from resource + * bundles when ICU is built with --enable-tracing. + * + * All arguments of type const UResourceBundle*, const char*, and + * const ResourceTracer& are stored as pointers. The caller must retain + * ownership for the lifetime of this ResourceTracer. + * + * Exported as U_COMMON_API for Windows because it is a value field + * in other exported types. + */ +class U_COMMON_API ResourceTracer { +public: + ResourceTracer() : + fResB(nullptr), + fParent(nullptr), + fKey(nullptr), + fIndex(-1) {} + + ResourceTracer(const UResourceBundle* resB) : + fResB(resB), + fParent(nullptr), + fKey(nullptr), + fIndex(-1) {} + + ResourceTracer(const UResourceBundle* resB, const char* key) : + fResB(resB), + fParent(nullptr), + fKey(key), + fIndex(-1) {} + + ResourceTracer(const UResourceBundle* resB, int32_t index) : + fResB(resB), + fParent(nullptr), + fKey(nullptr), + fIndex(index) {} + + ResourceTracer(const ResourceTracer& parent, const char* key) : + fResB(nullptr), + fParent(&parent), + fKey(key), + fIndex(-1) {} + + ResourceTracer(const ResourceTracer& parent, int32_t index) : + fResB(nullptr), + fParent(&parent), + fKey(nullptr), + fIndex(index) {} + + ~ResourceTracer(); + + void trace(const char* type) const; + void traceOpen() const; + + /** + * Calls trace() if the resB or parent provided to the constructor was + * non-null; otherwise, does nothing. + */ + void maybeTrace(const char* type) const { + if (fResB || fParent) { + trace(type); + } + } + +private: + const UResourceBundle* fResB; + const ResourceTracer* fParent; + const char* fKey; + int32_t fIndex; + + CharString& getFilePath(CharString& output, UErrorCode& status) const; + + CharString& getResPath(CharString& output, UErrorCode& status) const; +}; + +/** + * This class provides methods to trace data file reads when ICU is built + * with --enable-tracing. + */ +class FileTracer { +public: + static void traceOpen(const char* path, const char* type, const char* name); + +private: + static void traceOpenDataFile(const char* path, const char* type, const char* name); + static void traceOpenResFile(const char* path, const char* name); +}; + +U_NAMESPACE_END + +#else // U_ENABLE_TRACING + +U_NAMESPACE_BEGIN + +/** + * Default trivial implementation when --enable-tracing is not used. + */ +class U_COMMON_API ResourceTracer { +public: + ResourceTracer() {} + + ResourceTracer(const void*) {} + + ResourceTracer(const void*, const char*) {} + + ResourceTracer(const void*, int32_t) {} + + ResourceTracer(const ResourceTracer&, const char*) {} + + ResourceTracer(const ResourceTracer&, int32_t) {} + + void trace(const char*) const {} + + void traceOpen() const {} + + void maybeTrace(const char*) const {} +}; + +/** + * Default trivial implementation when --enable-tracing is not used. + */ +class FileTracer { +public: + static void traceOpen(const char*, const char*, const char*) {} +}; + +U_NAMESPACE_END + +#endif // U_ENABLE_TRACING + +#endif //__RESTRACE_H__ diff --git a/deps/icu-small/source/common/schriter.cpp b/deps/icu-small/source/common/schriter.cpp index f852800aaae6bd..17b68aee9d923a 100644 --- a/deps/icu-small/source/common/schriter.cpp +++ b/deps/icu-small/source/common/schriter.cpp @@ -101,7 +101,7 @@ StringCharacterIterator::operator==(const ForwardCharacterIterator& that) const && end == realThat.end; } -CharacterIterator* +StringCharacterIterator* StringCharacterIterator::clone() const { return new StringCharacterIterator(*this); } diff --git a/deps/icu-small/source/common/serv.cpp b/deps/icu-small/source/common/serv.cpp index 40940740d02b45..044864b859c7e8 100644 --- a/deps/icu-small/source/common/serv.cpp +++ b/deps/icu-small/source/common/serv.cpp @@ -333,10 +333,7 @@ U_CDECL_END ****************************************************************** */ -static UMutex *lock() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex lock; ICUService::ICUService() : name() @@ -361,7 +358,7 @@ ICUService::ICUService(const UnicodeString& newName) ICUService::~ICUService() { { - Mutex mutex(lock()); + Mutex mutex(&lock); clearCaches(); delete factories; factories = NULL; @@ -452,7 +449,7 @@ ICUService::getKey(ICUServiceKey& key, UnicodeString* actualReturn, const ICUSer // if factory is not null, we're calling from within the mutex, // and since some unix machines don't have reentrant mutexes we // need to make sure not to try to lock it again. - XMutex mutex(lock(), factory != NULL); + XMutex mutex(&lock, factory != NULL); if (serviceCache == NULL) { ncthis->serviceCache = new Hashtable(status); @@ -618,7 +615,7 @@ ICUService::getVisibleIDs(UVector& result, const UnicodeString* matchID, UErrorC } { - Mutex mutex(lock()); + Mutex mutex(&lock); const Hashtable* map = getVisibleIDMap(status); if (map != NULL) { ICUServiceKey* fallbackKey = createKey(matchID, status); @@ -695,7 +692,7 @@ ICUService::getDisplayName(const UnicodeString& id, UnicodeString& result, const { { UErrorCode status = U_ZERO_ERROR; - Mutex mutex(lock()); + Mutex mutex(&lock); const Hashtable* map = getVisibleIDMap(status); if (map != NULL) { ICUServiceFactory* f = (ICUServiceFactory*)map->get(id); @@ -747,7 +744,7 @@ ICUService::getDisplayNames(UVector& result, result.setDeleter(userv_deleteStringPair); if (U_SUCCESS(status)) { ICUService* ncthis = (ICUService*)this; // cast away semantic const - Mutex mutex(lock()); + Mutex mutex(&lock); if (dnCache != NULL && dnCache->locale != locale) { delete dnCache; @@ -852,7 +849,7 @@ URegistryKey ICUService::registerFactory(ICUServiceFactory* factoryToAdopt, UErrorCode& status) { if (U_SUCCESS(status) && factoryToAdopt != NULL) { - Mutex mutex(lock()); + Mutex mutex(&lock); if (factories == NULL) { factories = new UVector(deleteUObject, NULL, status); @@ -883,7 +880,7 @@ ICUService::unregister(URegistryKey rkey, UErrorCode& status) ICUServiceFactory *factory = (ICUServiceFactory*)rkey; UBool result = FALSE; if (factory != NULL && factories != NULL) { - Mutex mutex(lock()); + Mutex mutex(&lock); if (factories->removeElement(factory)) { clearCaches(); @@ -903,7 +900,7 @@ void ICUService::reset() { { - Mutex mutex(lock()); + Mutex mutex(&lock); reInitializeFactories(); clearCaches(); } diff --git a/deps/icu-small/source/common/servls.cpp b/deps/icu-small/source/common/servls.cpp index 0b1b1b947d514e..0c2a73d98e2275 100644 --- a/deps/icu-small/source/common/servls.cpp +++ b/deps/icu-small/source/common/servls.cpp @@ -263,7 +263,7 @@ ICULocaleService::validateFallbackLocale() const { const Locale& loc = Locale::getDefault(); ICULocaleService* ncThis = (ICULocaleService*)this; - static UMutex llock = U_MUTEX_INITIALIZER; + static UMutex llock; { Mutex mutex(&llock); if (loc != fallbackLocale) { diff --git a/deps/icu-small/source/common/servnotf.cpp b/deps/icu-small/source/common/servnotf.cpp index 9b5997bd17f509..435f36b0d00671 100644 --- a/deps/icu-small/source/common/servnotf.cpp +++ b/deps/icu-small/source/common/servnotf.cpp @@ -21,10 +21,7 @@ U_NAMESPACE_BEGIN EventListener::~EventListener() {} UOBJECT_DEFINE_RTTI_IMPLEMENTATION(EventListener) -static UMutex *notifyLock() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex notifyLock; ICUNotifier::ICUNotifier(void) : listeners(NULL) @@ -33,7 +30,7 @@ ICUNotifier::ICUNotifier(void) ICUNotifier::~ICUNotifier(void) { { - Mutex lmx(notifyLock()); + Mutex lmx(¬ifyLock); delete listeners; listeners = NULL; } @@ -50,7 +47,7 @@ ICUNotifier::addListener(const EventListener* l, UErrorCode& status) } if (acceptsListener(*l)) { - Mutex lmx(notifyLock()); + Mutex lmx(¬ifyLock); if (listeners == NULL) { listeners = new UVector(5, status); } else { @@ -83,7 +80,7 @@ ICUNotifier::removeListener(const EventListener *l, UErrorCode& status) } { - Mutex lmx(notifyLock()); + Mutex lmx(¬ifyLock); if (listeners != NULL) { // identity equality check for (int i = 0, e = listeners->size(); i < e; ++i) { @@ -106,7 +103,7 @@ void ICUNotifier::notifyChanged(void) { if (listeners != NULL) { - Mutex lmx(notifyLock()); + Mutex lmx(¬ifyLock); if (listeners != NULL) { for (int i = 0, e = listeners->size(); i < e; ++i) { EventListener* el = (EventListener*)listeners->elementAt(i); diff --git a/deps/icu-small/source/common/uarrsort.cpp b/deps/icu-small/source/common/uarrsort.cpp index 03c4d4e7fc44aa..60905821649db9 100644 --- a/deps/icu-small/source/common/uarrsort.cpp +++ b/deps/icu-small/source/common/uarrsort.cpp @@ -34,6 +34,10 @@ enum { STACK_ITEM_SIZE=200 }; +static constexpr int32_t sizeInMaxAlignTs(int32_t sizeInBytes) { + return (sizeInBytes + sizeof(max_align_t) - 1) / sizeof(max_align_t); +} + /* UComparator convenience implementations ---------------------------------- */ U_CAPI int32_t U_EXPORT2 @@ -134,25 +138,15 @@ doInsertionSort(char *array, int32_t length, int32_t itemSize, static void insertionSort(char *array, int32_t length, int32_t itemSize, UComparator *cmp, const void *context, UErrorCode *pErrorCode) { - UAlignedMemory v[STACK_ITEM_SIZE/sizeof(UAlignedMemory)+1]; - void *pv; - /* allocate an intermediate item variable (v) */ - if(itemSize<=STACK_ITEM_SIZE) { - pv=v; - } else { - pv=uprv_malloc(itemSize); - if(pv==NULL) { - *pErrorCode=U_MEMORY_ALLOCATION_ERROR; - return; - } + icu::MaybeStackArray v; + if (sizeInMaxAlignTs(itemSize) > v.getCapacity() && + v.resize(sizeInMaxAlignTs(itemSize)) == nullptr) { + *pErrorCode = U_MEMORY_ALLOCATION_ERROR; + return; } - doInsertionSort(array, length, itemSize, cmp, context, pv); - - if(pv!=v) { - uprv_free(pv); - } + doInsertionSort(array, length, itemSize, cmp, context, v.getAlias()); } /* QuickSort ---------------------------------------------------------------- */ @@ -238,26 +232,16 @@ subQuickSort(char *array, int32_t start, int32_t limit, int32_t itemSize, static void quickSort(char *array, int32_t length, int32_t itemSize, UComparator *cmp, const void *context, UErrorCode *pErrorCode) { - UAlignedMemory xw[(2*STACK_ITEM_SIZE)/sizeof(UAlignedMemory)+1]; - void *p; - /* allocate two intermediate item variables (x and w) */ - if(itemSize<=STACK_ITEM_SIZE) { - p=xw; - } else { - p=uprv_malloc(2*itemSize); - if(p==NULL) { - *pErrorCode=U_MEMORY_ALLOCATION_ERROR; - return; - } + icu::MaybeStackArray xw; + if(sizeInMaxAlignTs(itemSize)*2 > xw.getCapacity() && + xw.resize(sizeInMaxAlignTs(itemSize) * 2) == nullptr) { + *pErrorCode=U_MEMORY_ALLOCATION_ERROR; + return; } - subQuickSort(array, 0, length, itemSize, - cmp, context, p, (char *)p+itemSize); - - if(p!=xw) { - uprv_free(p); - } + subQuickSort(array, 0, length, itemSize, cmp, context, + xw.getAlias(), xw.getAlias() + sizeInMaxAlignTs(itemSize)); } /* uprv_sortArray() API ----------------------------------------------------- */ diff --git a/deps/icu-small/source/common/ubidiimp.h b/deps/icu-small/source/common/ubidiimp.h index a5d0727495d767..9746b2bc103102 100644 --- a/deps/icu-small/source/common/ubidiimp.h +++ b/deps/icu-small/source/common/ubidiimp.h @@ -198,8 +198,8 @@ typedef struct Run { /* in a Run, logicalStart will get this bit set if the run level is odd */ #define INDEX_ODD_BIT (1UL<<31) -#define MAKE_INDEX_ODD_PAIR(index, level) ((index)|((int32_t)(level)<<31)) -#define ADD_ODD_BIT_FROM_LEVEL(x, level) ((x)|=((int32_t)(level)<<31)) +#define MAKE_INDEX_ODD_PAIR(index, level) ((index)|((int32_t)((level)&1)<<31)) +#define ADD_ODD_BIT_FROM_LEVEL(x, level) ((x)|=((int32_t)((level)&1)<<31)) #define REMOVE_ODD_BIT(x) ((x)&=~INDEX_ODD_BIT) #define GET_INDEX(x) ((x)&~INDEX_ODD_BIT) @@ -387,41 +387,49 @@ typedef union { } BidiMemoryForAllocation; /* Macros for initial checks at function entry */ -#define RETURN_IF_NULL_OR_FAILING_ERRCODE(pErrcode, retvalue) \ - if((pErrcode)==NULL || U_FAILURE(*pErrcode)) return retvalue -#define RETURN_IF_NOT_VALID_PARA(bidi, errcode, retvalue) \ - if(!IS_VALID_PARA(bidi)) { \ - errcode=U_INVALID_STATE_ERROR; \ - return retvalue; \ - } -#define RETURN_IF_NOT_VALID_PARA_OR_LINE(bidi, errcode, retvalue) \ - if(!IS_VALID_PARA_OR_LINE(bidi)) { \ - errcode=U_INVALID_STATE_ERROR; \ - return retvalue; \ - } -#define RETURN_IF_BAD_RANGE(arg, start, limit, errcode, retvalue) \ - if((arg)<(start) || (arg)>=(limit)) { \ - (errcode)=U_ILLEGAL_ARGUMENT_ERROR; \ - return retvalue; \ - } - -#define RETURN_VOID_IF_NULL_OR_FAILING_ERRCODE(pErrcode) \ - if((pErrcode)==NULL || U_FAILURE(*pErrcode)) return -#define RETURN_VOID_IF_NOT_VALID_PARA(bidi, errcode) \ - if(!IS_VALID_PARA(bidi)) { \ - errcode=U_INVALID_STATE_ERROR; \ - return; \ - } -#define RETURN_VOID_IF_NOT_VALID_PARA_OR_LINE(bidi, errcode) \ - if(!IS_VALID_PARA_OR_LINE(bidi)) { \ - errcode=U_INVALID_STATE_ERROR; \ - return; \ - } -#define RETURN_VOID_IF_BAD_RANGE(arg, start, limit, errcode) \ - if((arg)<(start) || (arg)>=(limit)) { \ - (errcode)=U_ILLEGAL_ARGUMENT_ERROR; \ - return; \ - } +#define RETURN_IF_NULL_OR_FAILING_ERRCODE(pErrcode, retvalue) UPRV_BLOCK_MACRO_BEGIN { \ + if((pErrcode)==NULL || U_FAILURE(*pErrcode)) return retvalue; \ +} UPRV_BLOCK_MACRO_END +#define RETURN_IF_NOT_VALID_PARA(bidi, errcode, retvalue) UPRV_BLOCK_MACRO_BEGIN { \ + if(!IS_VALID_PARA(bidi)) { \ + errcode=U_INVALID_STATE_ERROR; \ + return retvalue; \ + } \ +} UPRV_BLOCK_MACRO_END +#define RETURN_IF_NOT_VALID_PARA_OR_LINE(bidi, errcode, retvalue) UPRV_BLOCK_MACRO_BEGIN { \ + if(!IS_VALID_PARA_OR_LINE(bidi)) { \ + errcode=U_INVALID_STATE_ERROR; \ + return retvalue; \ + } \ +} UPRV_BLOCK_MACRO_END +#define RETURN_IF_BAD_RANGE(arg, start, limit, errcode, retvalue) UPRV_BLOCK_MACRO_BEGIN { \ + if((arg)<(start) || (arg)>=(limit)) { \ + (errcode)=U_ILLEGAL_ARGUMENT_ERROR; \ + return retvalue; \ + } \ +} UPRV_BLOCK_MACRO_END + +#define RETURN_VOID_IF_NULL_OR_FAILING_ERRCODE(pErrcode) UPRV_BLOCK_MACRO_BEGIN { \ + if((pErrcode)==NULL || U_FAILURE(*pErrcode)) return; \ +} UPRV_BLOCK_MACRO_END +#define RETURN_VOID_IF_NOT_VALID_PARA(bidi, errcode) UPRV_BLOCK_MACRO_BEGIN { \ + if(!IS_VALID_PARA(bidi)) { \ + errcode=U_INVALID_STATE_ERROR; \ + return; \ + } \ +} UPRV_BLOCK_MACRO_END +#define RETURN_VOID_IF_NOT_VALID_PARA_OR_LINE(bidi, errcode) UPRV_BLOCK_MACRO_BEGIN { \ + if(!IS_VALID_PARA_OR_LINE(bidi)) { \ + errcode=U_INVALID_STATE_ERROR; \ + return; \ + } \ +} UPRV_BLOCK_MACRO_END +#define RETURN_VOID_IF_BAD_RANGE(arg, start, limit, errcode) UPRV_BLOCK_MACRO_BEGIN { \ + if((arg)<(start) || (arg)>=(limit)) { \ + (errcode)=U_ILLEGAL_ARGUMENT_ERROR; \ + return; \ + } \ +} UPRV_BLOCK_MACRO_END /* helper function to (re)allocate memory if allowed */ U_CFUNC UBool diff --git a/deps/icu-small/source/common/ubiditransform.cpp b/deps/icu-small/source/common/ubiditransform.cpp index 394df6092d21b1..bb3ce8cb934d43 100644 --- a/deps/icu-small/source/common/ubiditransform.cpp +++ b/deps/icu-small/source/common/ubiditransform.cpp @@ -31,11 +31,11 @@ #define SHAPE_LOGICAL U_SHAPE_TEXT_DIRECTION_LOGICAL #define SHAPE_VISUAL U_SHAPE_TEXT_DIRECTION_VISUAL_LTR -#define CHECK_LEN(STR, LEN, ERROR) { \ - if (LEN == 0) return 0; \ - if (LEN < -1) { *(ERROR) = U_ILLEGAL_ARGUMENT_ERROR; return 0; } \ - if (LEN == -1) LEN = u_strlen(STR); \ - } +#define CHECK_LEN(STR, LEN, ERROR) UPRV_BLOCK_MACRO_BEGIN { \ + if (LEN == 0) return 0; \ + if (LEN < -1) { *(ERROR) = U_ILLEGAL_ARGUMENT_ERROR; return 0; } \ + if (LEN == -1) LEN = u_strlen(STR); \ +} UPRV_BLOCK_MACRO_END #define MAX_ACTIONS 7 diff --git a/deps/icu-small/source/common/ucase.cpp b/deps/icu-small/source/common/ucase.cpp index 50c8d20c1fce73..57a40327905c00 100644 --- a/deps/icu-small/source/common/ucase.cpp +++ b/deps/icu-small/source/common/ucase.cpp @@ -116,7 +116,7 @@ static const uint8_t flagsOffset[256]={ * moved to the last uint16_t of the value, use +1 for beginning of next slot * @param value (out) int32_t or uint32_t output if hasSlot, otherwise not modified */ -#define GET_SLOT_VALUE(excWord, idx, pExc16, value) \ +#define GET_SLOT_VALUE(excWord, idx, pExc16, value) UPRV_BLOCK_MACRO_BEGIN { \ if(((excWord)&UCASE_EXC_DOUBLE_SLOTS)==0) { \ (pExc16)+=SLOT_OFFSET(excWord, idx); \ (value)=*pExc16; \ @@ -124,7 +124,8 @@ static const uint8_t flagsOffset[256]={ (pExc16)+=2*SLOT_OFFSET(excWord, idx); \ (value)=*pExc16++; \ (value)=((value)<<16)|*pExc16; \ - } + } \ +} UPRV_BLOCK_MACRO_END /* simple case mappings ----------------------------------------------------- */ diff --git a/deps/icu-small/source/common/uchar.cpp b/deps/icu-small/source/common/uchar.cpp index 60fe75c78dec03..12365fd6976e5b 100644 --- a/deps/icu-small/source/common/uchar.cpp +++ b/deps/icu-small/source/common/uchar.cpp @@ -40,7 +40,7 @@ /* constants and macros for access to the data ------------------------------ */ /* getting a uint32_t properties word from the data */ -#define GET_PROPS(c, result) ((result)=UTRIE2_GET16(&propsTrie, c)); +#define GET_PROPS(c, result) ((result)=UTRIE2_GET16(&propsTrie, c)) /* API functions ------------------------------------------------------------ */ diff --git a/deps/icu-small/source/common/uchriter.cpp b/deps/icu-small/source/common/uchriter.cpp index 822168f5c8e600..bedbabc74c2351 100644 --- a/deps/icu-small/source/common/uchriter.cpp +++ b/deps/icu-small/source/common/uchriter.cpp @@ -89,7 +89,7 @@ UCharCharacterIterator::hashCode() const { return ustr_hashUCharsN(text, textLength) ^ pos ^ begin ^ end; } -CharacterIterator* +UCharCharacterIterator* UCharCharacterIterator::clone() const { return new UCharCharacterIterator(*this); } diff --git a/deps/icu-small/source/common/ucln_cmn.cpp b/deps/icu-small/source/common/ucln_cmn.cpp index d78491df419fb0..ab9d3adbd25958 100644 --- a/deps/icu-small/source/common/ucln_cmn.cpp +++ b/deps/icu-small/source/common/ucln_cmn.cpp @@ -65,9 +65,20 @@ U_CFUNC void ucln_common_registerCleanup(ECleanupCommonType type, cleanupFunc *func) { + // Thread safety messiness: From ticket 10295, calls to registerCleanup() may occur + // concurrently. Although such cases should be storing the same value, they raise errors + // from the thread sanity checker. Doing the store within a mutex avoids those. + // BUT that can trigger a recursive entry into std::call_once() in umutex.cpp when this code, + // running from the call_once function, tries to grab the ICU global mutex, which + // re-enters the mutex init path. So, work-around by special casing UCLN_COMMON_MUTEX, not + // using the ICU global mutex for it. + // + // No other point in ICU uses std::call_once(). + U_ASSERT(UCLN_COMMON_START < type && type < UCLN_COMMON_COUNT); - if (UCLN_COMMON_START < type && type < UCLN_COMMON_COUNT) - { + if (type == UCLN_COMMON_MUTEX) { + gCommonCleanupFunctions[type] = func; + } else if (UCLN_COMMON_START < type && type < UCLN_COMMON_COUNT) { icu::Mutex m; // See ticket 10295 for discussion. gCommonCleanupFunctions[type] = func; } diff --git a/deps/icu-small/source/common/ucln_cmn.h b/deps/icu-small/source/common/ucln_cmn.h index 0ca911b47d9875..b837fb946296a1 100644 --- a/deps/icu-small/source/common/ucln_cmn.h +++ b/deps/icu-small/source/common/ucln_cmn.h @@ -22,8 +22,6 @@ /* These are the cleanup functions for various APIs. */ /* @return true if cleanup complete successfully.*/ -U_CFUNC UBool umtx_cleanup(void); - U_CFUNC UBool utrace_cleanup(void); U_CFUNC UBool ucln_lib_cleanup(void); @@ -41,6 +39,8 @@ typedef enum ECleanupCommonType { UCLN_COMMON_LOCALE_KEY_TYPE, UCLN_COMMON_LOCALE, UCLN_COMMON_LOCALE_AVAILABLE, + UCLN_COMMON_LIKELY_SUBTAGS, + UCLN_COMMON_LOCALE_DISTANCE, UCLN_COMMON_ULOC, UCLN_COMMON_CURRENCY, UCLN_COMMON_LOADED_NORMALIZER2, @@ -62,6 +62,7 @@ typedef enum ECleanupCommonType { */ UCLN_COMMON_UNIFIED_CACHE, UCLN_COMMON_URES, + UCLN_COMMON_MUTEX, // Mutexes should be the last to be cleaned up. UCLN_COMMON_COUNT /* This must be last */ } ECleanupCommonType; diff --git a/deps/icu-small/source/common/ucnv.cpp b/deps/icu-small/source/common/ucnv.cpp index abf302eaddb7a8..e2e0c5b9f7f42f 100644 --- a/deps/icu-small/source/common/ucnv.cpp +++ b/deps/icu-small/source/common/ucnv.cpp @@ -25,6 +25,8 @@ #if !UCONFIG_NO_CONVERSION +#include + #include "unicode/ustring.h" #include "unicode/ucnv.h" #include "unicode/ucnv_err.h" @@ -158,7 +160,6 @@ ucnv_safeClone(const UConverter* cnv, void *stackBuffer, int32_t *pBufferSize, U UConverter *localConverter, *allocatedConverter; int32_t stackBufferSize; int32_t bufferSizeNeeded; - char *stackBufferChars = (char *)stackBuffer; UErrorCode cbErr; UConverterToUnicodeArgs toUArgs = { sizeof(UConverterToUnicodeArgs), @@ -224,23 +225,22 @@ ucnv_safeClone(const UConverter* cnv, void *stackBuffer, int32_t *pBufferSize, U } } - - /* Pointers on 64-bit platforms need to be aligned - * on a 64-bit boundary in memory. + /* Adjust (if necessary) the stackBuffer pointer to be aligned correctly for a UConverter. + * TODO(Jira ICU-20736) Redo this using std::align() once g++4.9 compatibility is no longer needed. */ - if (U_ALIGNMENT_OFFSET(stackBuffer) != 0) { - int32_t offsetUp = (int32_t)U_ALIGNMENT_OFFSET_UP(stackBufferChars); - if(stackBufferSize > offsetUp) { - stackBufferSize -= offsetUp; - stackBufferChars += offsetUp; + if (stackBuffer) { + uintptr_t p = reinterpret_cast(stackBuffer); + uintptr_t aligned_p = (p + alignof(UConverter) - 1) & ~(alignof(UConverter) - 1); + ptrdiff_t pointerAdjustment = aligned_p - p; + if (bufferSizeNeeded + pointerAdjustment <= stackBufferSize) { + stackBuffer = reinterpret_cast(aligned_p); + stackBufferSize -= pointerAdjustment; } else { /* prevent using the stack buffer but keep the size > 0 so that we do not just preflight */ stackBufferSize = 1; } } - stackBuffer = (void *)stackBufferChars; - /* Now, see if we must allocate any memory */ if (stackBufferSize < bufferSizeNeeded || stackBuffer == NULL) { @@ -475,7 +475,7 @@ ucnv_setSubstString(UConverter *cnv, const UChar *s, int32_t length, UErrorCode *err) { - UAlignedMemory cloneBuffer[U_CNV_SAFECLONE_BUFFERSIZE / sizeof(UAlignedMemory) + 1]; + alignas(UConverter) char cloneBuffer[U_CNV_SAFECLONE_BUFFERSIZE]; char chars[UCNV_ERROR_BUFFER_LENGTH]; UConverter *clone; diff --git a/deps/icu-small/source/common/ucnv2022.cpp b/deps/icu-small/source/common/ucnv2022.cpp index 4a35ff85e10fa0..6cd9a3d12e40fc 100644 --- a/deps/icu-small/source/common/ucnv2022.cpp +++ b/deps/icu-small/source/common/ucnv2022.cpp @@ -3571,20 +3571,11 @@ _ISO_2022_WriteSub(UConverterFromUnicodeArgs *args, int32_t offsetIndex, UErrorC /* * Structure for cloning an ISO 2022 converter into a single memory block. - * ucnv_safeClone() of the converter will align the entire cloneStruct, - * and then ucnv_safeClone() of the sub-converter may additionally align - * currentConverter inside the cloneStruct, for which we need the deadSpace - * after currentConverter. - * This is because UAlignedMemory may be larger than the actually - * necessary alignment size for the platform. - * The other cloneStruct fields will not be moved around, - * and are aligned properly with cloneStruct's alignment. */ struct cloneStruct { UConverter cnv; UConverter currentConverter; - UAlignedMemory deadSpace; UConverterDataISO2022 mydata; }; @@ -3602,6 +3593,10 @@ _ISO_2022_SafeClone( UConverterDataISO2022 *cnvData; int32_t i, size; + if (U_FAILURE(*status)){ + return nullptr; + } + if (*pBufferSize == 0) { /* 'preflighting' request - set needed size into *pBufferSize */ *pBufferSize = (int32_t)sizeof(struct cloneStruct); return NULL; @@ -3619,7 +3614,7 @@ _ISO_2022_SafeClone( /* share the subconverters */ if(cnvData->currentConverter != NULL) { - size = (int32_t)(sizeof(UConverter) + sizeof(UAlignedMemory)); /* include size of padding */ + size = (int32_t)sizeof(UConverter); localClone->mydata.currentConverter = ucnv_safeClone(cnvData->currentConverter, &localClone->currentConverter, diff --git a/deps/icu-small/source/common/ucnv_bld.cpp b/deps/icu-small/source/common/ucnv_bld.cpp index e6ef833f4e4317..1c2363ea89981f 100644 --- a/deps/icu-small/source/common/ucnv_bld.cpp +++ b/deps/icu-small/source/common/ucnv_bld.cpp @@ -194,10 +194,7 @@ static struct { /*initializes some global variables */ static UHashtable *SHARED_DATA_HASHTABLE = NULL; -static icu::UMutex *cnvCacheMutex() { /* Mutex for synchronizing cnv cache access. */ - static icu::UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static icu::UMutex cnvCacheMutex; /* Note: the global mutex is used for */ /* reference count updates. */ @@ -602,9 +599,9 @@ U_CFUNC void ucnv_unloadSharedDataIfReady(UConverterSharedData *sharedData) { if(sharedData != NULL && sharedData->isReferenceCounted) { - umtx_lock(cnvCacheMutex()); + umtx_lock(&cnvCacheMutex); ucnv_unload(sharedData); - umtx_unlock(cnvCacheMutex()); + umtx_unlock(&cnvCacheMutex); } } @@ -612,9 +609,9 @@ U_CFUNC void ucnv_incrementRefCount(UConverterSharedData *sharedData) { if(sharedData != NULL && sharedData->isReferenceCounted) { - umtx_lock(cnvCacheMutex()); + umtx_lock(&cnvCacheMutex); sharedData->referenceCounter++; - umtx_unlock(cnvCacheMutex()); + umtx_unlock(&cnvCacheMutex); } } @@ -815,9 +812,9 @@ ucnv_loadSharedData(const char *converterName, pArgs->nestedLoads=1; pArgs->pkg=NULL; - umtx_lock(cnvCacheMutex()); + umtx_lock(&cnvCacheMutex); mySharedConverterData = ucnv_load(pArgs, err); - umtx_unlock(cnvCacheMutex()); + umtx_unlock(&cnvCacheMutex); if (U_FAILURE (*err) || (mySharedConverterData == NULL)) { return NULL; @@ -1064,7 +1061,7 @@ ucnv_flushCache () * because the sequence of looking up in the cache + incrementing * is protected by cnvCacheMutex. */ - umtx_lock(cnvCacheMutex()); + umtx_lock(&cnvCacheMutex); /* * double loop: A delta/extension-only converter has a pointer to its base table's * shared data; the first iteration of the outer loop may see the delta converter @@ -1093,7 +1090,7 @@ ucnv_flushCache () } } } while(++i == 1 && remaining > 0); - umtx_unlock(cnvCacheMutex()); + umtx_unlock(&cnvCacheMutex); UTRACE_DATA1(UTRACE_INFO, "ucnv_flushCache() exits with %d converters remaining", remaining); @@ -1199,7 +1196,7 @@ internalSetName(const char *name, UErrorCode *status) { } algorithmicSharedData = getAlgorithmicTypeFromName(stackArgs.name); - umtx_lock(cnvCacheMutex()); + umtx_lock(&cnvCacheMutex); gDefaultAlgorithmicSharedData = algorithmicSharedData; gDefaultConverterContainsOption = containsOption; @@ -1215,7 +1212,7 @@ internalSetName(const char *name, UErrorCode *status) { ucnv_enableCleanup(); - umtx_unlock(cnvCacheMutex()); + umtx_unlock(&cnvCacheMutex); } #endif @@ -1240,7 +1237,7 @@ ucnv_getDefaultName() { but ucnv_setDefaultName is not thread safe. */ { - icu::Mutex lock(cnvCacheMutex()); + icu::Mutex lock(&cnvCacheMutex); name = gDefaultConverterName; } if(name==NULL) { diff --git a/deps/icu-small/source/common/ucnv_lmb.cpp b/deps/icu-small/source/common/ucnv_lmb.cpp index 6dd8e83428a0af..5e7cfde353d7e3 100644 --- a/deps/icu-small/source/common/ucnv_lmb.cpp +++ b/deps/icu-small/source/common/ucnv_lmb.cpp @@ -1107,11 +1107,13 @@ GetUniFromLMBCSUni(char const ** ppLMBCSin) /* Called with LMBCS-style Unicode all input as required by ICU converter semantics. */ -#define CHECK_SOURCE_LIMIT(index) \ - if (args->source+index > args->sourceLimit){\ - *err = U_TRUNCATED_CHAR_FOUND;\ - args->source = args->sourceLimit;\ - return 0xffff;} +#define CHECK_SOURCE_LIMIT(index) UPRV_BLOCK_MACRO_BEGIN { \ + if (args->source+index > args->sourceLimit) { \ + *err = U_TRUNCATED_CHAR_FOUND; \ + args->source = args->sourceLimit; \ + return 0xffff; \ + } \ +} UPRV_BLOCK_MACRO_END /* Return the Unicode representation for the current LMBCS character */ diff --git a/deps/icu-small/source/common/ucnvbocu.cpp b/deps/icu-small/source/common/ucnvbocu.cpp index 5b66c5059a55ba..7c2aab56558c8c 100644 --- a/deps/icu-small/source/common/ucnvbocu.cpp +++ b/deps/icu-small/source/common/ucnvbocu.cpp @@ -202,14 +202,14 @@ bocu1TrailToByte[BOCU1_TRAIL_CONTROLS_COUNT]={ * @param d Divisor. * @param m Output variable for the rest (modulo result). */ -#define NEGDIVMOD(n, d, m) { \ +#define NEGDIVMOD(n, d, m) UPRV_BLOCK_MACRO_BEGIN { \ (m)=(n)%(d); \ (n)/=(d); \ if((m)<0) { \ --(n); \ (m)+=(d); \ } \ -} +} UPRV_BLOCK_MACRO_END /* Faster versions of packDiff() for single-byte-encoded diff values. */ diff --git a/deps/icu-small/source/common/ucnvhz.cpp b/deps/icu-small/source/common/ucnvhz.cpp index 31595374696d8c..b26cf78289dcab 100644 --- a/deps/icu-small/source/common/ucnvhz.cpp +++ b/deps/icu-small/source/common/ucnvhz.cpp @@ -38,7 +38,7 @@ #define ESC_LEN 2 -#define CONCAT_ESCAPE_MACRO( args, targetIndex,targetLength,strToAppend, err, len,sourceIndex){ \ +#define CONCAT_ESCAPE_MACRO(args, targetIndex,targetLength,strToAppend, err, len,sourceIndex) UPRV_BLOCK_MACRO_BEGIN { \ while(len-->0){ \ if(targetIndex < targetLength){ \ args->target[targetIndex] = (unsigned char) *strToAppend; \ @@ -53,7 +53,7 @@ } \ strToAppend++; \ } \ -} +} UPRV_BLOCK_MACRO_END typedef struct{ @@ -518,19 +518,11 @@ _HZ_WriteSub(UConverterFromUnicodeArgs *args, int32_t offsetIndex, UErrorCode *e /* * Structure for cloning an HZ converter into a single memory block. - * ucnv_safeClone() of the HZ converter will align the entire cloneHZStruct, - * and then ucnv_safeClone() of the sub-converter may additionally align - * subCnv inside the cloneHZStruct, for which we need the deadSpace after - * subCnv. This is because UAlignedMemory may be larger than the actually - * necessary alignment size for the platform. - * The other cloneHZStruct fields will not be moved around, - * and are aligned properly with cloneHZStruct's alignment. */ struct cloneHZStruct { UConverter cnv; UConverter subCnv; - UAlignedMemory deadSpace; UConverterDataHZ mydata; }; @@ -545,12 +537,12 @@ _HZ_SafeClone(const UConverter *cnv, int32_t size, bufferSizeNeeded = sizeof(struct cloneHZStruct); if (U_FAILURE(*status)){ - return 0; + return nullptr; } if (*pBufferSize == 0){ /* 'preflighting' request - set needed size into *pBufferSize */ *pBufferSize = bufferSizeNeeded; - return 0; + return nullptr; } localClone = (struct cloneHZStruct *)stackBuffer; @@ -561,7 +553,7 @@ _HZ_SafeClone(const UConverter *cnv, localClone->cnv.isExtraLocal = TRUE; /* deep-clone the sub-converter */ - size = (int32_t)(sizeof(UConverter) + sizeof(UAlignedMemory)); /* include size of padding */ + size = (int32_t)sizeof(UConverter); ((UConverterDataHZ*)localClone->cnv.extraInfo)->gbConverter = ucnv_safeClone(((UConverterDataHZ*)cnv->extraInfo)->gbConverter, &localClone->subCnv, &size, status); diff --git a/deps/icu-small/source/common/ucnvisci.cpp b/deps/icu-small/source/common/ucnvisci.cpp index d0c07f2b27fae9..c1ab06e137ee22 100644 --- a/deps/icu-small/source/common/ucnvisci.cpp +++ b/deps/icu-small/source/common/ucnvisci.cpp @@ -831,7 +831,7 @@ static const uint16_t nuktaSpecialCases[][2]={ }; -#define WRITE_TO_TARGET_FROM_U(args,offsets,source,target,targetLimit,targetByteUnit,err){ \ +#define WRITE_TO_TARGET_FROM_U(args,offsets,source,target,targetLimit,targetByteUnit,err) UPRV_BLOCK_MACRO_BEGIN { \ int32_t offset = (int32_t)(source - args->source-1); \ /* write the targetUniChar to target */ \ if(target < targetLimit){ \ @@ -884,7 +884,7 @@ static const uint16_t nuktaSpecialCases[][2]={ (uint8_t) (targetByteUnit); \ *err = U_BUFFER_OVERFLOW_ERROR; \ } \ -} +} UPRV_BLOCK_MACRO_END /* Rules: * Explicit Halant : @@ -1119,7 +1119,7 @@ static const uint16_t lookupTable[][2]={ { GURMUKHI, PNJ_MASK } }; -#define WRITE_TO_TARGET_TO_U(args,source,target,offsets,offset,targetUniChar,delta, err){\ +#define WRITE_TO_TARGET_TO_U(args,source,target,offsets,offset,targetUniChar,delta, err) UPRV_BLOCK_MACRO_BEGIN { \ /* add offset to current Indic Block */ \ if(targetUniChar>ASCII_END && \ targetUniChar != ZWJ && \ @@ -1140,9 +1140,9 @@ static const uint16_t lookupTable[][2]={ (UChar)targetUniChar; \ *err = U_BUFFER_OVERFLOW_ERROR; \ } \ -} +} UPRV_BLOCK_MACRO_END -#define GET_MAPPING(sourceChar,targetUniChar,data){ \ +#define GET_MAPPING(sourceChar,targetUniChar,data) UPRV_BLOCK_MACRO_BEGIN { \ targetUniChar = toUnicodeTable[(sourceChar)] ; \ /* is the code point valid in current script? */ \ if(sourceChar> ASCII_END && \ @@ -1153,7 +1153,7 @@ static const uint16_t lookupTable[][2]={ targetUniChar=missingCharMarker; \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /*********** * Rules for ISCII to Unicode converter diff --git a/deps/icu-small/source/common/ucnvsel.cpp b/deps/icu-small/source/common/ucnvsel.cpp index 6ccee1ae61fd70..07b55022c346e8 100644 --- a/deps/icu-small/source/common/ucnvsel.cpp +++ b/deps/icu-small/source/common/ucnvsel.cpp @@ -691,36 +691,36 @@ static int16_t countOnes(uint32_t* mask, int32_t len) { /* internal function! */ static UEnumeration *selectForMask(const UConverterSelector* sel, - uint32_t *mask, UErrorCode *status) { + uint32_t *theMask, UErrorCode *status) { + LocalMemory mask(theMask); // this is the context we will use. Store a table of indices to which // encodings are legit. - struct Enumerator* result = (Enumerator*)uprv_malloc(sizeof(Enumerator)); - if (result == NULL) { - uprv_free(mask); + LocalMemory result(static_cast(uprv_malloc(sizeof(Enumerator)))); + if (result.isNull()) { *status = U_MEMORY_ALLOCATION_ERROR; - return NULL; + return nullptr; } - result->index = NULL; // this will be allocated later! + result->index = nullptr; // this will be allocated later! result->length = result->cur = 0; result->sel = sel; - UEnumeration *en = (UEnumeration *)uprv_malloc(sizeof(UEnumeration)); - if (en == NULL) { + LocalMemory en(static_cast(uprv_malloc(sizeof(UEnumeration)))); + if (en.isNull()) { // TODO(markus): Combine Enumerator and UEnumeration into one struct. - uprv_free(mask); - uprv_free(result); *status = U_MEMORY_ALLOCATION_ERROR; - return NULL; + return nullptr; } - memcpy(en, &defaultEncodings, sizeof(UEnumeration)); - en->context = result; + memcpy(en.getAlias(), &defaultEncodings, sizeof(UEnumeration)); int32_t columns = (sel->encodingsCount+31)/32; - int16_t numOnes = countOnes(mask, columns); + int16_t numOnes = countOnes(mask.getAlias(), columns); // now, we know the exact space we need for index if (numOnes > 0) { - result->index = (int16_t*) uprv_malloc(numOnes * sizeof(int16_t)); - + result->index = static_cast(uprv_malloc(numOnes * sizeof(int16_t))); + if (result->index == nullptr) { + *status = U_MEMORY_ALLOCATION_ERROR; + return nullptr; + } int32_t i, j; int16_t k = 0; for (j = 0 ; j < columns; j++) { @@ -734,8 +734,8 @@ static UEnumeration *selectForMask(const UConverterSelector* sel, } } //otherwise, index will remain NULL (and will never be touched by //the enumerator code anyway) - uprv_free(mask); - return en; + en->context = result.orphan(); + return en.orphan(); } /* check a string against the selector - UTF16 version */ diff --git a/deps/icu-small/source/common/ucptrie.cpp b/deps/icu-small/source/common/ucptrie.cpp index b72e318387a186..0004160a238b0e 100644 --- a/deps/icu-small/source/common/ucptrie.cpp +++ b/deps/icu-small/source/common/ucptrie.cpp @@ -280,7 +280,7 @@ UChar32 getRange(const void *t, UChar32 start, int32_t prevI3Block = -1; int32_t prevBlock = -1; UChar32 c = start; - uint32_t trieValue, value; + uint32_t trieValue, value = nullValue; bool haveValue = false; do { int32_t i3Block; diff --git a/deps/icu-small/source/common/ucurr.cpp b/deps/icu-small/source/common/ucurr.cpp index dba3247fef2c98..d42c2f10b1d4c6 100644 --- a/deps/icu-small/source/common/ucurr.cpp +++ b/deps/icu-small/source/common/ucurr.cpp @@ -365,10 +365,7 @@ U_CDECL_END #if !UCONFIG_NO_SERVICE struct CReg; -static UMutex *gCRegLock() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex gCRegLock; static CReg* gCRegHead = 0; struct CReg : public icu::UMemory { @@ -394,14 +391,14 @@ struct CReg : public icu::UMemory { if (status && U_SUCCESS(*status) && _iso && _id) { CReg* n = new CReg(_iso, _id); if (n) { - umtx_lock(gCRegLock()); + umtx_lock(&gCRegLock); if (!gCRegHead) { /* register for the first time */ ucln_common_registerCleanup(UCLN_COMMON_CURRENCY, currency_cleanup); } n->next = gCRegHead; gCRegHead = n; - umtx_unlock(gCRegLock()); + umtx_unlock(&gCRegLock); return n; } *status = U_MEMORY_ALLOCATION_ERROR; @@ -411,7 +408,7 @@ struct CReg : public icu::UMemory { static UBool unreg(UCurrRegistryKey key) { UBool found = FALSE; - umtx_lock(gCRegLock()); + umtx_lock(&gCRegLock); CReg** p = &gCRegHead; while (*p) { @@ -424,13 +421,13 @@ struct CReg : public icu::UMemory { p = &((*p)->next); } - umtx_unlock(gCRegLock()); + umtx_unlock(&gCRegLock); return found; } static const UChar* get(const char* id) { const UChar* result = NULL; - umtx_lock(gCRegLock()); + umtx_lock(&gCRegLock); CReg* p = gCRegHead; /* register cleanup of the mutex */ @@ -442,7 +439,7 @@ struct CReg : public icu::UMemory { } p = p->next; } - umtx_unlock(gCRegLock()); + umtx_unlock(&gCRegLock); return result; } @@ -716,7 +713,9 @@ ucurr_getName(const UChar* currency, // We no longer support choice format data in names. Data should not contain // choice patterns. - *isChoiceFormat = FALSE; + if (isChoiceFormat != NULL) { + *isChoiceFormat = FALSE; + } if (U_SUCCESS(ec2)) { U_ASSERT(s != NULL); return s; @@ -1356,10 +1355,7 @@ static CurrencyNameCacheEntry* currCache[CURRENCY_NAME_CACHE_NUM] = {NULL}; // It is a simple round-robin replacement strategy. static int8_t currentCacheEntryIndex = 0; -static UMutex *gCurrencyCacheMutex() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex gCurrencyCacheMutex; // Cache deletion static void @@ -1408,7 +1404,7 @@ getCacheEntry(const char* locale, UErrorCode& ec) { CurrencyNameStruct* currencySymbols = NULL; CurrencyNameCacheEntry* cacheEntry = NULL; - umtx_lock(gCurrencyCacheMutex()); + umtx_lock(&gCurrencyCacheMutex); // in order to handle racing correctly, // not putting 'search' in a separate function. int8_t found = -1; @@ -1423,13 +1419,13 @@ getCacheEntry(const char* locale, UErrorCode& ec) { cacheEntry = currCache[found]; ++(cacheEntry->refCount); } - umtx_unlock(gCurrencyCacheMutex()); + umtx_unlock(&gCurrencyCacheMutex); if (found == -1) { collectCurrencyNames(locale, ¤cyNames, &total_currency_name_count, ¤cySymbols, &total_currency_symbol_count, ec); if (U_FAILURE(ec)) { return NULL; } - umtx_lock(gCurrencyCacheMutex()); + umtx_lock(&gCurrencyCacheMutex); // check again. for (int8_t i = 0; i < CURRENCY_NAME_CACHE_NUM; ++i) { if (currCache[i]!= NULL && @@ -1468,19 +1464,19 @@ getCacheEntry(const char* locale, UErrorCode& ec) { cacheEntry = currCache[found]; ++(cacheEntry->refCount); } - umtx_unlock(gCurrencyCacheMutex()); + umtx_unlock(&gCurrencyCacheMutex); } return cacheEntry; } static void releaseCacheEntry(CurrencyNameCacheEntry* cacheEntry) { - umtx_lock(gCurrencyCacheMutex()); + umtx_lock(&gCurrencyCacheMutex); --(cacheEntry->refCount); if (cacheEntry->refCount == 0) { // remove deleteCacheEntry(cacheEntry); } - umtx_unlock(gCurrencyCacheMutex()); + umtx_unlock(&gCurrencyCacheMutex); } U_CAPI void @@ -1601,10 +1597,9 @@ uprv_getStaticCurrencyName(const UChar* iso, const char* loc, { U_NAMESPACE_USE - UBool isChoiceFormat; int32_t len; const UChar* currname = ucurr_getName(iso, loc, UCURR_SYMBOL_NAME, - &isChoiceFormat, &len, &ec); + nullptr /* isChoiceFormat */, &len, &ec); if (U_SUCCESS(ec)) { result.setTo(currname, len); } diff --git a/deps/icu-small/source/common/udata.cpp b/deps/icu-small/source/common/udata.cpp index 99efbc97eed737..f2faa82777a233 100644 --- a/deps/icu-small/source/common/udata.cpp +++ b/deps/icu-small/source/common/udata.cpp @@ -33,6 +33,7 @@ might have to #include some other header #include "cstring.h" #include "mutex.h" #include "putilimp.h" +#include "restrace.h" #include "uassert.h" #include "ucln_cmn.h" #include "ucmndata.h" @@ -110,11 +111,12 @@ static u_atomic_int32_t gHaveTriedToLoadCommonData = ATOMIC_INT32_T_INITIALIZER( static UHashtable *gCommonDataCache = NULL; /* Global hash table of opened ICU data files. */ static icu::UInitOnce gCommonDataCacheInitOnce = U_INITONCE_INITIALIZER; -#if U_PLATFORM_HAS_WINUWP_API == 0 +#if !defined(ICU_DATA_DIR_WINDOWS) static UDataFileAccess gDataFileAccess = UDATA_DEFAULT_ACCESS; // Access not synchronized. // Modifying is documented as thread-unsafe. #else -static UDataFileAccess gDataFileAccess = UDATA_NO_FILES; // Windows UWP looks in one spot explicitly +// If we are using the Windows data directory, then look in one spot only. +static UDataFileAccess gDataFileAccess = UDATA_NO_FILES; #endif static UBool U_CALLCONV @@ -206,7 +208,7 @@ setCommonICUData(UDataMemory *pData, /* The new common data. Belongs to ca return didUpdate; } -#if U_PLATFORM_HAS_WINUWP_API == 0 +#if !defined(ICU_DATA_DIR_WINDOWS) static UBool setCommonICUDataPointer(const void *pData, UBool /*warn*/, UErrorCode *pErrorCode) { @@ -320,7 +322,7 @@ static UDataMemory *udata_findCachedData(const char *path, UErrorCode &err) retVal = el->item; } #ifdef UDATA_DEBUG - fprintf(stderr, "Cache: [%s] -> %p\n", baseName, retVal); + fprintf(stderr, "Cache: [%s] -> %p\n", baseName, (void*) retVal); #endif return retVal; } @@ -383,7 +385,7 @@ static UDataMemory *udata_cacheDataItem(const char *path, UDataMemory *item, UEr #ifdef UDATA_DEBUG fprintf(stderr, "Cache: [%s] <<< %p : %s. vFunc=%p\n", newElement->name, - newElement->item, u_errorName(subErr), newElement->item->vFuncs); + (void*) newElement->item, u_errorName(subErr), (void*) newElement->item->vFuncs); #endif if (subErr == U_USING_DEFAULT_WARNING || U_FAILURE(subErr)) { @@ -477,7 +479,7 @@ UDataPathIterator::UDataPathIterator(const char *inPath, const char *pkg, nextPath = itemPath.data(); } #ifdef UDATA_DEBUG - fprintf(stderr, "SUFFIX=%s [%p]\n", inSuffix, inSuffix); + fprintf(stderr, "SUFFIX=%s [%p]\n", inSuffix, (void*) inSuffix); #endif /** Suffix **/ @@ -492,12 +494,11 @@ UDataPathIterator::UDataPathIterator(const char *inPath, const char *pkg, /* pathBuffer will hold the output path strings returned by this iterator */ #ifdef UDATA_DEBUG - fprintf(stderr, "%p: init %s -> [path=%s], [base=%s], [suff=%s], [itempath=%s], [nextpath=%s], [checklast4=%s]\n", - iter, + fprintf(stderr, "0: init %s -> [path=%s], [base=%s], [suff=%s], [itempath=%s], [nextpath=%s], [checklast4=%s]\n", item, path, basename, - suffix, + suffix.data(), itemPath.data(), nextPath, checkLastFour?"TRUE":"false"); @@ -553,7 +554,7 @@ const char *UDataPathIterator::next(UErrorCode *pErrorCode) fprintf(stderr, "rest of path (IDD) = %s\n", currentPath); fprintf(stderr, " "); { - uint32_t qqq; + int32_t qqq; for(qqq=0;qqqpHeader == &U_ICUDATA_ENTRY_POINT) { @@ -714,7 +717,8 @@ openCommonData(const char *path, /* Path from OpenChoice? */ setCommonICUDataPointer(uprv_getICUData_conversion(), FALSE, pErrorCode); } */ -#if U_PLATFORM_HAS_WINUWP_API == 0 // Windows UWP Platform does not support dll icu data at this time +#if !defined(ICU_DATA_DIR_WINDOWS) +// When using the Windows system data, we expect only a single data file. setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT, FALSE, pErrorCode); { Mutex lock; @@ -831,7 +835,7 @@ static UBool extendICUData(UErrorCode *pErr) * Use a specific mutex to avoid nested locks of the global mutex. */ #if MAP_IMPLEMENTATION==MAP_STDIO - static UMutex extendICUDataMutex = U_MUTEX_INITIALIZER; + static UMutex extendICUDataMutex; umtx_lock(&extendICUDataMutex); #endif if(!umtx_loadAcquire(gHaveTriedToLoadCommonData)) { @@ -1070,13 +1074,13 @@ static UDataMemory *doLoadFromCommonData(UBool isICUData, const char * /*pkgName /* look up the data piece in the common data */ pHeader=pCommonData->vFuncs->Lookup(pCommonData, tocEntryName, &length, subErrorCode); #ifdef UDATA_DEBUG - fprintf(stderr, "%s: pHeader=%p - %s\n", tocEntryName, pHeader, u_errorName(*subErrorCode)); + fprintf(stderr, "%s: pHeader=%p - %s\n", tocEntryName, (void*) pHeader, u_errorName(*subErrorCode)); #endif if(pHeader!=NULL) { pEntryData = checkDataItem(pHeader, isAcceptable, context, type, name, subErrorCode, pErrorCode); #ifdef UDATA_DEBUG - fprintf(stderr, "pEntryData=%p\n", pEntryData); + fprintf(stderr, "pEntryData=%p\n", (void*) pEntryData); #endif if (U_FAILURE(*pErrorCode)) { return NULL; @@ -1168,6 +1172,9 @@ doOpenChoice(const char *path, const char *type, const char *name, UBool isICUData = FALSE; + FileTracer::traceOpen(path, type, name); + + /* Is this path ICU data? */ if(path == NULL || !strcmp(path, U_ICUDATA_ALIAS) || /* "ICUDATA" */ @@ -1276,12 +1283,12 @@ doOpenChoice(const char *path, const char *type, const char *name, fprintf(stderr, " tocEntryPath = %s\n", tocEntryName.data()); #endif -#if U_PLATFORM_HAS_WINUWP_API == 0 // Windows UWP Platform does not support dll icu data at this time +#if !defined(ICU_DATA_DIR_WINDOWS) if(path == NULL) { path = COMMON_DATA_NAME; /* "icudt26e" */ } #else - // Windows UWP expects only a single data file. + // When using the Windows system data, we expects only a single data file. path = COMMON_DATA_NAME; /* "icudt26e" */ #endif diff --git a/deps/icu-small/source/common/uhash.cpp b/deps/icu-small/source/common/uhash.cpp index 79241a282913ed..86311ceb0b25d1 100644 --- a/deps/icu-small/source/common/uhash.cpp +++ b/deps/icu-small/source/common/uhash.cpp @@ -119,13 +119,14 @@ static const float RESIZE_POLICY_RATIO_TABLE[6] = { /* This macro expects a UHashTok.pointer as its keypointer and valuepointer parameters */ -#define HASH_DELETE_KEY_VALUE(hash, keypointer, valuepointer) \ - if (hash->keyDeleter != NULL && keypointer != NULL) { \ - (*hash->keyDeleter)(keypointer); \ - } \ - if (hash->valueDeleter != NULL && valuepointer != NULL) { \ - (*hash->valueDeleter)(valuepointer); \ - } +#define HASH_DELETE_KEY_VALUE(hash, keypointer, valuepointer) UPRV_BLOCK_MACRO_BEGIN { \ + if (hash->keyDeleter != NULL && keypointer != NULL) { \ + (*hash->keyDeleter)(keypointer); \ + } \ + if (hash->valueDeleter != NULL && valuepointer != NULL) { \ + (*hash->valueDeleter)(valuepointer); \ + } \ +} UPRV_BLOCK_MACRO_END /* * Constants for hinting whether a key or value is an integer diff --git a/deps/icu-small/source/common/uidna.cpp b/deps/icu-small/source/common/uidna.cpp index 6d56fcb8f517af..09347efd6d3c39 100644 --- a/deps/icu-small/source/common/uidna.cpp +++ b/deps/icu-small/source/common/uidna.cpp @@ -57,18 +57,16 @@ toASCIILower(UChar ch){ inline static UBool startsWithPrefix(const UChar* src , int32_t srcLength){ - UBool startsWithPrefix = TRUE; - if(srcLength < ACE_PREFIX_LENGTH){ return FALSE; } for(int8_t i=0; i< ACE_PREFIX_LENGTH; i++){ if(toASCIILower(src[i]) != ACE_PREFIX[i]){ - startsWithPrefix = FALSE; + return FALSE; } } - return startsWithPrefix; + return TRUE; } @@ -441,6 +439,7 @@ _internal_toUnicode(const UChar* src, int32_t srcLength, for(int32_t j=0; j 0x7f){ srcIsASCII = FALSE; + break; }/*else if(isLDHChar(src[j])==FALSE){ // here we do not assemble surrogates // since we know that LDH code points diff --git a/deps/icu-small/source/common/uinvchar.cpp b/deps/icu-small/source/common/uinvchar.cpp index 2e0f42d9274d2a..ac9716066f22b7 100644 --- a/deps/icu-small/source/common/uinvchar.cpp +++ b/deps/icu-small/source/common/uinvchar.cpp @@ -207,7 +207,8 @@ u_UCharsToChars(const UChar *us, char *cs, int32_t length) { while(length>0) { u=*us++; if(!UCHAR_IS_INVARIANT(u)) { - UPRV_UNREACHABLE; /* Variant characters were used. These are not portable in ICU. */ + U_ASSERT(FALSE); /* Variant characters were used. These are not portable in ICU. */ + u=0; } *cs++=(char)UCHAR_TO_CHAR(u); --length; @@ -445,6 +446,13 @@ uprv_copyEbcdic(const UDataSwapper *ds, return length; } +U_CFUNC UBool +uprv_isEbcdicAtSign(char c) { + static const uint8_t ebcdicAtSigns[] = { + 0x7C, 0x44, 0x66, 0x80, 0xAC, 0xAE, 0xAF, 0xB5, 0xEC, 0xEF, 0x00 }; + return c != 0 && uprv_strchr((const char *)ebcdicAtSigns, c) != nullptr; +} + /* compare invariant strings; variant characters compare less than others and unlike each other */ U_CFUNC int32_t uprv_compareInvAscii(const UDataSwapper *ds, @@ -561,6 +569,11 @@ uprv_compareInvEbcdicAsAscii(const char *s1, const char *s2) { } } +U_CAPI char U_EXPORT2 +uprv_ebcdicToAscii(char c) { + return (char)asciiFromEbcdic[(uint8_t)c]; +} + U_CAPI char U_EXPORT2 uprv_ebcdicToLowercaseAscii(char c) { return (char)lowercaseAsciiFromEbcdic[(uint8_t)c]; diff --git a/deps/icu-small/source/common/uinvchar.h b/deps/icu-small/source/common/uinvchar.h index 56dddfa8fde9bb..a43cfcd98286fe 100644 --- a/deps/icu-small/source/common/uinvchar.h +++ b/deps/icu-small/source/common/uinvchar.h @@ -68,6 +68,75 @@ uprv_isInvariantUString(const UChar *s, int32_t length); # error Unknown charset family! #endif +#ifdef __cplusplus + +U_NAMESPACE_BEGIN + +/** + * Like U_UPPER_ORDINAL(x) but with validation. + * Returns 0..25 for A..Z else a value outside 0..25. + */ +inline int32_t uprv_upperOrdinal(int32_t c) { +#if U_CHARSET_FAMILY==U_ASCII_FAMILY + return c - 'A'; +#elif U_CHARSET_FAMILY==U_EBCDIC_FAMILY + // EBCDIC: A-Z (26 letters) is split into three ranges A-I (9 letters), J-R (9), S-Z (8). + // https://en.wikipedia.org/wiki/EBCDIC_037#Codepage_layout + if (c <= 'I') { return c - 'A'; } // A-I --> 0-8 + if (c < 'J') { return -1; } + if (c <= 'R') { return c - 'J' + 9; } // J-R --> 9..17 + if (c < 'S') { return -1; } + return c - 'S' + 18; // S-Z --> 18..25 +#else +# error Unknown charset family! +#endif +} + +// Like U_UPPER_ORDINAL(x) but for lowercase and with validation. +// Returns 0..25 for a..z else a value outside 0..25. +inline int32_t uprv_lowerOrdinal(int32_t c) { +#if U_CHARSET_FAMILY==U_ASCII_FAMILY + return c - 'a'; +#elif U_CHARSET_FAMILY==U_EBCDIC_FAMILY + // EBCDIC: a-z (26 letters) is split into three ranges a-i (9 letters), j-r (9), s-z (8). + // https://en.wikipedia.org/wiki/EBCDIC_037#Codepage_layout + if (c <= 'i') { return c - 'a'; } // a-i --> 0-8 + if (c < 'j') { return -1; } + if (c <= 'r') { return c - 'j' + 9; } // j-r --> 9..17 + if (c < 's') { return -1; } + return c - 's' + 18; // s-z --> 18..25 +#else +# error Unknown charset family! +#endif +} + +U_NAMESPACE_END + +#endif + +/** + * Returns true if c == '@' is possible. + * The @ sign is variant, and the @ sign used on one + * EBCDIC machine won't be compiled the same way on other EBCDIC based machines. + * @internal + */ +U_CFUNC UBool +uprv_isEbcdicAtSign(char c); + +/** + * \def uprv_isAtSign + * Returns true if c == '@' is possible. + * For ASCII, checks for exactly '@'. For EBCDIC, calls uprv_isEbcdicAtSign(). + * @internal + */ +#if U_CHARSET_FAMILY==U_ASCII_FAMILY +# define uprv_isAtSign(c) ((c)=='@') +#elif U_CHARSET_FAMILY==U_EBCDIC_FAMILY +# define uprv_isAtSign(c) uprv_isEbcdicAtSign(c) +#else +# error Unknown charset family! +#endif + /** * Compare two EBCDIC invariant-character strings in ASCII order. * @internal @@ -88,6 +157,26 @@ uprv_compareInvEbcdicAsAscii(const char *s1, const char *s2); # error Unknown charset family! #endif +/** + * Converts an EBCDIC invariant character to ASCII. + * @internal + */ +U_INTERNAL char U_EXPORT2 +uprv_ebcdicToAscii(char c); + +/** + * \def uprv_invCharToAscii + * Converts an invariant character to ASCII. + * @internal + */ +#if U_CHARSET_FAMILY==U_ASCII_FAMILY +# define uprv_invCharToAscii(c) (c) +#elif U_CHARSET_FAMILY==U_EBCDIC_FAMILY +# define uprv_invCharToAscii(c) uprv_ebcdicToAscii(c) +#else +# error Unknown charset family! +#endif + /** * Converts an EBCDIC invariant character to lowercase ASCII. * @internal diff --git a/deps/icu-small/source/common/uloc.cpp b/deps/icu-small/source/common/uloc.cpp index 73b43204b814b9..6a9bfcfbff5999 100644 --- a/deps/icu-small/source/common/uloc.cpp +++ b/deps/icu-small/source/common/uloc.cpp @@ -148,7 +148,8 @@ static const char * const LANGUAGES[] = { "mad", "maf", "mag", "mai", "mak", "man", "mas", "mde", "mdf", "mdh", "mdr", "men", "mer", "mfe", "mg", "mga", "mgh", "mgo", "mh", "mi", "mic", "min", "mis", "mk", - "ml", "mn", "mnc", "mni", "moh", "mos", "mr", "mrj", + "ml", "mn", "mnc", "mni", "mo", + "moh", "mos", "mr", "mrj", "ms", "mt", "mua", "mul", "mus", "mwl", "mwr", "mwv", "my", "mye", "myv", "mzn", "na", "nan", "nap", "naq", "nb", "nd", "nds", "ne", @@ -264,7 +265,8 @@ static const char * const LANGUAGES_3[] = { "mad", "maf", "mag", "mai", "mak", "man", "mas", "mde", "mdf", "mdh", "mdr", "men", "mer", "mfe", "mlg", "mga", "mgh", "mgo", "mah", "mri", "mic", "min", "mis", "mkd", - "mal", "mon", "mnc", "mni", "moh", "mos", "mar", "mrj", + "mal", "mon", "mnc", "mni", "mol", + "moh", "mos", "mar", "mrj", "msa", "mlt", "mua", "mul", "mus", "mwl", "mwr", "mwv", "mya", "mye", "myv", "mzn", "nau", "nan", "nap", "naq", "nob", "nde", "nds", "nep", @@ -480,14 +482,15 @@ static const CanonicalizationMap CANONICALIZE_MAP[] = { /* Test if the locale id has BCP47 u extension and does not have '@' */ #define _hasBCP47Extension(id) (id && uprv_strstr(id, "@") == NULL && getShortestSubtagLength(localeID) == 1) /* Converts the BCP47 id to Unicode id. Does nothing to id if conversion fails */ -#define _ConvertBCP47(finalID, id, buffer, length,err) \ - if (uloc_forLanguageTag(id, buffer, length, NULL, err) <= 0 || \ - U_FAILURE(*err) || *err == U_STRING_NOT_TERMINATED_WARNING) { \ - finalID=id; \ - if (*err == U_STRING_NOT_TERMINATED_WARNING) { *err = U_BUFFER_OVERFLOW_ERROR; } \ - } else { \ - finalID=buffer; \ - } +#define _ConvertBCP47(finalID, id, buffer, length,err) UPRV_BLOCK_MACRO_BEGIN { \ + if (uloc_forLanguageTag(id, buffer, length, NULL, err) <= 0 || \ + U_FAILURE(*err) || *err == U_STRING_NOT_TERMINATED_WARNING) { \ + finalID=id; \ + if (*err == U_STRING_NOT_TERMINATED_WARNING) { *err = U_BUFFER_OVERFLOW_ERROR; } \ + } else { \ + finalID=buffer; \ + } \ +} UPRV_BLOCK_MACRO_END /* Gets the size of the shortest subtag in the given localeID. */ static int32_t getShortestSubtagLength(const char *localeID) { int32_t localeIDLength = static_cast(uprv_strlen(localeID)); @@ -1454,31 +1457,29 @@ static const UEnumeration gKeywordsEnum = { U_CAPI UEnumeration* U_EXPORT2 uloc_openKeywordList(const char *keywordList, int32_t keywordListSize, UErrorCode* status) { - UKeywordsContext *myContext = NULL; - UEnumeration *result = NULL; + LocalMemory myContext; + LocalMemory result; - if(U_FAILURE(*status)) { - return NULL; + if (U_FAILURE(*status)) { + return nullptr; } - result = (UEnumeration *)uprv_malloc(sizeof(UEnumeration)); - /* Null pointer test */ - if (result == NULL) { + myContext.adoptInstead(static_cast(uprv_malloc(sizeof(UKeywordsContext)))); + result.adoptInstead(static_cast(uprv_malloc(sizeof(UEnumeration)))); + if (myContext.isNull() || result.isNull()) { *status = U_MEMORY_ALLOCATION_ERROR; - return NULL; + return nullptr; } - uprv_memcpy(result, &gKeywordsEnum, sizeof(UEnumeration)); - myContext = static_cast(uprv_malloc(sizeof(UKeywordsContext))); - if (myContext == NULL) { + uprv_memcpy(result.getAlias(), &gKeywordsEnum, sizeof(UEnumeration)); + myContext->keywords = static_cast(uprv_malloc(keywordListSize+1)); + if (myContext->keywords == nullptr) { *status = U_MEMORY_ALLOCATION_ERROR; - uprv_free(result); - return NULL; + return nullptr; } - myContext->keywords = (char *)uprv_malloc(keywordListSize+1); uprv_memcpy(myContext->keywords, keywordList, keywordListSize); myContext->keywords[keywordListSize] = 0; myContext->current = myContext->keywords; - result->context = myContext; - return result; + result->context = myContext.orphan(); + return result.orphan(); } U_CAPI UEnumeration* U_EXPORT2 diff --git a/deps/icu-small/source/common/uloc_tag.cpp b/deps/icu-small/source/common/uloc_tag.cpp index c732170cb62b9c..8f673541a76504 100644 --- a/deps/icu-small/source/common/uloc_tag.cpp +++ b/deps/icu-small/source/common/uloc_tag.cpp @@ -1558,10 +1558,8 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT return; } - if (!_addAttributeToList(&attrFirst, attr)) { - *status = U_ILLEGAL_ARGUMENT_ERROR; - return; - } + // duplicate attribute is ignored, causes no error. + _addAttributeToList(&attrFirst, attr); /* next tag */ pTag += len; diff --git a/deps/icu-small/source/common/umutex.cpp b/deps/icu-small/source/common/umutex.cpp index 20b03d6cd3e416..ccbee9960a39e7 100644 --- a/deps/icu-small/source/common/umutex.cpp +++ b/deps/icu-small/source/common/umutex.cpp @@ -24,6 +24,7 @@ #include "unicode/utypes.h" #include "uassert.h" +#include "ucln_cmn.h" #include "cmemory.h" U_NAMESPACE_BEGIN @@ -35,60 +36,94 @@ U_NAMESPACE_BEGIN #error U_USER_MUTEX_CPP not supported #endif + /************************************************************************************************* * * ICU Mutex wrappers. * *************************************************************************************************/ -// The ICU global mutex. Used when ICU implementation code passes NULL for the mutex pointer. -static UMutex *globalMutex() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +namespace { +std::mutex *initMutex; +std::condition_variable *initCondition; -U_CAPI void U_EXPORT2 -umtx_lock(UMutex *mutex) { - if (mutex == nullptr) { - mutex = globalMutex(); - } - mutex->fMutex.lock(); -} +// The ICU global mutex. +// Used when ICU implementation code passes nullptr for the mutex pointer. +UMutex globalMutex; +std::once_flag initFlag; +std::once_flag *pInitFlag = &initFlag; -U_CAPI void U_EXPORT2 -umtx_unlock(UMutex* mutex) -{ - if (mutex == nullptr) { - mutex = globalMutex(); - } - mutex->fMutex.unlock(); -} +} // Anonymous namespace -UConditionVar::UConditionVar() : fCV() { +U_CDECL_BEGIN +static UBool U_CALLCONV umtx_cleanup() { + initMutex->~mutex(); + initCondition->~condition_variable(); + UMutex::cleanup(); + + // Reset the once_flag, by destructing it and creating a fresh one in its place. + // Do not use this trick anywhere else in ICU; use umtx_initOnce, not std::call_once(). + pInitFlag->~once_flag(); + pInitFlag = new(&initFlag) std::once_flag(); + return true; } -UConditionVar::~UConditionVar() { +static void U_CALLCONV umtx_init() { + initMutex = STATIC_NEW(std::mutex); + initCondition = STATIC_NEW(std::condition_variable); + ucln_common_registerCleanup(UCLN_COMMON_MUTEX, umtx_cleanup); +} +U_CDECL_END + + +std::mutex *UMutex::getMutex() { + std::mutex *retPtr = fMutex.load(std::memory_order_acquire); + if (retPtr == nullptr) { + std::call_once(*pInitFlag, umtx_init); + std::lock_guard guard(*initMutex); + retPtr = fMutex.load(std::memory_order_acquire); + if (retPtr == nullptr) { + fMutex = new(fStorage) std::mutex(); + retPtr = fMutex; + fListLink = gListHead; + gListHead = this; + } + } + U_ASSERT(retPtr != nullptr); + return retPtr; } -U_CAPI void U_EXPORT2 -umtx_condWait(UConditionVar *cond, UMutex *mutex) { - if (mutex == nullptr) { - mutex = globalMutex(); +UMutex *UMutex::gListHead = nullptr; + +void UMutex::cleanup() { + UMutex *next = nullptr; + for (UMutex *m = gListHead; m != nullptr; m = next) { + (*m->fMutex).~mutex(); + m->fMutex = nullptr; + next = m->fListLink; + m->fListLink = nullptr; } - cond->fCV.wait(mutex->fMutex); + gListHead = nullptr; } -U_CAPI void U_EXPORT2 -umtx_condBroadcast(UConditionVar *cond) { - cond->fCV.notify_all(); +U_CAPI void U_EXPORT2 +umtx_lock(UMutex *mutex) { + if (mutex == nullptr) { + mutex = &globalMutex; + } + mutex->lock(); } -U_CAPI void U_EXPORT2 -umtx_condSignal(UConditionVar *cond) { - cond->fCV.notify_one(); +U_CAPI void U_EXPORT2 +umtx_unlock(UMutex* mutex) +{ + if (mutex == nullptr) { + mutex = &globalMutex; + } + mutex->unlock(); } @@ -98,17 +133,6 @@ umtx_condSignal(UConditionVar *cond) { * *************************************************************************************************/ -static std::mutex &initMutex() { - static std::mutex m; - return m; -} - -static std::condition_variable &initCondition() { - static std::condition_variable cv; - return cv; -} - - // This function is called when a test of a UInitOnce::fState reveals that // initialization has not completed, that we either need to call the init // function on this thread, or wait for some other thread to complete. @@ -119,8 +143,8 @@ static std::condition_variable &initCondition() { // U_COMMON_API UBool U_EXPORT2 umtx_initImplPreInit(UInitOnce &uio) { - std::unique_lock lock(initMutex()); - + std::call_once(*pInitFlag, umtx_init); + std::unique_lock lock(*initMutex); if (umtx_loadAcquire(uio.fState) == 0) { umtx_storeRelease(uio.fState, 1); return true; // Caller will next call the init function. @@ -128,7 +152,7 @@ umtx_initImplPreInit(UInitOnce &uio) { while (umtx_loadAcquire(uio.fState) == 1) { // Another thread is currently running the initialization. // Wait until it completes. - initCondition().wait(lock); + initCondition->wait(lock); } U_ASSERT(uio.fState == 2); return false; @@ -145,10 +169,10 @@ umtx_initImplPreInit(UInitOnce &uio) { U_COMMON_API void U_EXPORT2 umtx_initImplPostInit(UInitOnce &uio) { { - std::unique_lock lock(initMutex()); + std::unique_lock lock(*initMutex); umtx_storeRelease(uio.fState, 2); } - initCondition().notify_all(); + initCondition->notify_all(); } U_NAMESPACE_END diff --git a/deps/icu-small/source/common/umutex.h b/deps/icu-small/source/common/umutex.h index 1674d00bb2d59b..7588bcc5d9aed6 100755 --- a/deps/icu-small/source/common/umutex.h +++ b/deps/icu-small/source/common/umutex.h @@ -23,6 +23,7 @@ #include #include #include +#include #include "unicode/utypes.h" #include "unicode/uclean.h" @@ -36,10 +37,11 @@ #error U_USER_ATOMICS and U_USER_MUTEX_H are not supported #endif - // Export an explicit template instantiation of std::atomic. // When building DLLs for Windows this is required as it is used as a data member of the exported SharedObject class. // See digitlst.h, pluralaffix.h, datefmt.h, and others for similar examples. +// +// Similar story for std::atomic, and the exported UMutex class. #if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN && !defined(U_IN_DOXYGEN) #if defined(__clang__) || defined(_MSC_VER) #if defined(__clang__) @@ -48,12 +50,14 @@ #pragma clang diagnostic ignored "-Winstantiation-after-specialization" #endif template struct U_COMMON_API std::atomic; +template struct U_COMMON_API std::atomic; #if defined(__clang__) #pragma clang diagnostic pop #endif #elif defined(__GNUC__) // For GCC this class is already exported/visible, so no need for U_COMMON_API. template struct std::atomic; +template struct std::atomic; #endif #endif @@ -180,49 +184,78 @@ template void umtx_initOnce(UInitOnce &uio, void (U_CALLCONV *fp)(T, UE } } +// UMutex should be constexpr-constructible, so that no initialization code +// is run during startup. +// This works on all C++ libraries except MS VS before VS2019. +#if (defined(_CPPLIB_VER) && !defined(_MSVC_STL_VERSION)) || \ + (defined(_MSVC_STL_VERSION) && _MSVC_STL_VERSION < 142) + // (VS std lib older than VS2017) || (VS std lib version < VS2019) +# define UMUTEX_CONSTEXPR +#else +# define UMUTEX_CONSTEXPR constexpr +#endif -/************************************************************************************************* +/** + * UMutex - ICU Mutex class. * - * ICU Mutex wrappers. Originally wrapped operating system mutexes, giving the rest of ICU a - * platform independent set of mutex operations. Now vestigial, wrapping std::mutex only. - * For internal ICU use only. + * This is the preferred Mutex class for use within ICU implementation code. + * It is a thin wrapper over C++ std::mutex, with these additions: + * - Static instances are safe, not triggering static construction or destruction, + * and the associated order of construction or destruction issues. + * - Plumbed into u_cleanup() for destructing the underlying std::mutex, + * which frees any OS level resources they may be holding. * - *************************************************************************************************/ + * Limitations: + * - Static or global instances only. Cannot be heap allocated. Cannot appear as a + * member of another class. + * - No condition variables or other advanced features. If needed, you will need to use + * std::mutex and std::condition_variable directly. For an example, see unifiedcache.cpp + * + * Typical Usage: + * static UMutex myMutex; + * + * { + * Mutex lock(myMutex); + * ... // Do stuff that is protected by myMutex; + * } // myMutex is released when lock goes out of scope. + */ -struct UMutex : public icu::UMemory { - UMutex() = default; +class U_COMMON_API UMutex { +public: + UMUTEX_CONSTEXPR UMutex() {} ~UMutex() = default; + UMutex(const UMutex &other) = delete; UMutex &operator =(const UMutex &other) = delete; + void *operator new(size_t) = delete; - std::mutex fMutex = {}; // Note: struct - pubic members - because most access is from - // // plain C style functions (umtx_lock(), etc.) -}; + // requirements for C++ BasicLockable, allows UMutex to work with std::lock_guard + void lock() { + std::mutex *m = fMutex.load(std::memory_order_acquire); + if (m == nullptr) { m = getMutex(); } + m->lock(); + } + void unlock() { fMutex.load(std::memory_order_relaxed)->unlock(); } + static void cleanup(); -struct UConditionVar : public icu::UMemory { - U_COMMON_API UConditionVar(); - U_COMMON_API ~UConditionVar(); - UConditionVar(const UConditionVar &other) = delete; - UConditionVar &operator =(const UConditionVar &other) = delete; +private: + alignas(std::mutex) char fStorage[sizeof(std::mutex)] {}; + std::atomic fMutex { nullptr }; - std::condition_variable_any fCV; -}; + /** All initialized UMutexes are kept in a linked list, so that they can be found, + * and the underlying std::mutex destructed, by u_cleanup(). + */ + UMutex *fListLink { nullptr }; + static UMutex *gListHead; -#define U_MUTEX_INITIALIZER {} -#define U_CONDITION_INITIALIZER {} + /** Out-of-line function to lazily initialize a UMutex on first use. + * Initial fast check is inline, in lock(). The returned value may never + * be nullptr. + */ + std::mutex *getMutex(); +}; -// Implementation notes for UConditionVar: -// -// Use an out-of-line constructor to reduce problems with the ICU dependency checker. -// On Linux, the default constructor of std::condition_variable_any -// produces an in-line reference to global operator new(), which the -// dependency checker flags for any file that declares a UConditionVar. With -// an out-of-line constructor, the dependency is constrained to umutex.o -// -// Do not export (U_COMMON_API) the entire class, but only the constructor -// and destructor, to avoid Windows build problems with attempting to export the -// std::condition_variable_any. /* Lock a mutex. * @param mutex The given mutex to be locked. Pass NULL to specify @@ -237,30 +270,6 @@ U_INTERNAL void U_EXPORT2 umtx_lock(UMutex* mutex); */ U_INTERNAL void U_EXPORT2 umtx_unlock (UMutex* mutex); -/* - * Wait on a condition variable. - * The calling thread will unlock the mutex and wait on the condition variable. - * The mutex must be locked by the calling thread when invoking this function. - * - * @param cond the condition variable to wait on. - * @param mutex the associated mutex. - */ - -U_INTERNAL void U_EXPORT2 umtx_condWait(UConditionVar *cond, UMutex *mutex); - - -/* - * Broadcast wakeup of all threads waiting on a Condition. - * - * @param cond the condition variable. - */ -U_INTERNAL void U_EXPORT2 umtx_condBroadcast(UConditionVar *cond); - -/* - * Signal a condition variable, waking up one waiting thread. - */ -U_INTERNAL void U_EXPORT2 umtx_condSignal(UConditionVar *cond); - U_NAMESPACE_END diff --git a/deps/icu-small/source/common/unames.cpp b/deps/icu-small/source/common/unames.cpp index 038743004ea589..a28b6ee6036b96 100644 --- a/deps/icu-small/source/common/unames.cpp +++ b/deps/icu-small/source/common/unames.cpp @@ -212,13 +212,13 @@ isDataLoaded(UErrorCode *pErrorCode) { return U_SUCCESS(*pErrorCode); } -#define WRITE_CHAR(buffer, bufferLength, bufferPos, c) { \ +#define WRITE_CHAR(buffer, bufferLength, bufferPos, c) UPRV_BLOCK_MACRO_BEGIN { \ if((bufferLength)>0) { \ *(buffer)++=c; \ --(bufferLength); \ } \ ++(bufferPos); \ -} +} UPRV_BLOCK_MACRO_END #define U_ISO_COMMENT U_CHAR_NAME_CHOICE_COUNT diff --git a/deps/icu-small/source/common/unicode/appendable.h b/deps/icu-small/source/common/unicode/appendable.h index 8512c2f30311b8..4beacaf6583620 100644 --- a/deps/icu-small/source/common/unicode/appendable.h +++ b/deps/icu-small/source/common/unicode/appendable.h @@ -23,6 +23,9 @@ */ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" U_NAMESPACE_BEGIN @@ -231,4 +234,6 @@ class U_COMMON_API UnicodeStringAppendable : public Appendable { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __APPENDABLE_H__ diff --git a/deps/icu-small/source/common/unicode/brkiter.h b/deps/icu-small/source/common/unicode/brkiter.h index ac1bf1df29f214..b944497345479b 100644 --- a/deps/icu-small/source/common/unicode/brkiter.h +++ b/deps/icu-small/source/common/unicode/brkiter.h @@ -29,6 +29,10 @@ * \brief C++ API: Break Iterator. */ +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #if UCONFIG_NO_BREAK_ITERATION U_NAMESPACE_BEGIN @@ -135,7 +139,7 @@ class U_COMMON_API BreakIterator : public UObject { * method which subclasses implement. * @stable ICU 2.0 */ - virtual BreakIterator* clone(void) const = 0; + virtual BreakIterator* clone() const = 0; /** * Return a polymorphic class ID for this object. Different subclasses @@ -493,6 +497,7 @@ class U_COMMON_API BreakIterator : public UObject { static UnicodeString& U_EXPORT2 getDisplayName(const Locale& objectLocale, UnicodeString& name); +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Deprecated functionality. Use clone() instead. * @@ -515,6 +520,7 @@ class U_COMMON_API BreakIterator : public UObject { virtual BreakIterator * createBufferClone(void *stackBuffer, int32_t &BufferSize, UErrorCode &status) = 0; +#endif // U_FORCE_HIDE_DEPRECATED_API #ifndef U_HIDE_DEPRECATED_API @@ -658,5 +664,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_BREAK_ITERATION */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // BRKITER_H //eof diff --git a/deps/icu-small/source/common/unicode/bytestream.h b/deps/icu-small/source/common/unicode/bytestream.h index 61d1e8aca651d7..2c71c248e3dfa0 100644 --- a/deps/icu-small/source/common/unicode/bytestream.h +++ b/deps/icu-small/source/common/unicode/bytestream.h @@ -38,6 +38,9 @@ */ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" #include "unicode/std_string.h" @@ -267,4 +270,6 @@ class StringByteSink : public ByteSink { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __BYTESTREAM_H__ diff --git a/deps/icu-small/source/common/unicode/bytestrie.h b/deps/icu-small/source/common/unicode/bytestrie.h index c57b8ccfeb5960..51405f64a10e64 100644 --- a/deps/icu-small/source/common/unicode/bytestrie.h +++ b/deps/icu-small/source/common/unicode/bytestrie.h @@ -23,6 +23,9 @@ */ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/stringpiece.h" #include "unicode/uobject.h" #include "unicode/ustringtrie.h" @@ -94,6 +97,41 @@ class U_COMMON_API BytesTrie : public UMemory { return *this; } +#ifndef U_HIDE_DRAFT_API + /** + * Returns the state of this trie as a 64-bit integer. + * The state value is never 0. + * + * @return opaque state value + * @see resetToState64 + * @draft ICU 65 + */ + uint64_t getState64() const { + return (static_cast(remainingMatchLength_ + 2) << kState64RemainingShift) | + (uint64_t)(pos_ - bytes_); + } + + /** + * Resets this trie to the saved state. + * Unlike resetToState(State), the 64-bit state value + * must be from getState64() from the same trie object or + * from one initialized the exact same way. + * Because of no validation, this method is faster. + * + * @param state The opaque trie state value from getState64(). + * @return *this + * @see getState64 + * @see resetToState + * @see reset + * @draft ICU 65 + */ + BytesTrie &resetToState64(uint64_t state) { + remainingMatchLength_ = static_cast(state >> kState64RemainingShift) - 2; + pos_ = bytes_ + (state & kState64PosMask); + return *this; + } +#endif /* U_HIDE_DRAFT_API */ + /** * BytesTrie state object, for saving a trie's current state * and resetting the trie back to this state later. @@ -502,6 +540,13 @@ class U_COMMON_API BytesTrie : public UMemory { static const int32_t kMaxTwoByteDelta=((kMinThreeByteDeltaLead-kMinTwoByteDeltaLead)<<8)-1; // 0x2fff static const int32_t kMaxThreeByteDelta=((kFourByteDeltaLead-kMinThreeByteDeltaLead)<<16)-1; // 0xdffff + // For getState64(): + // The remainingMatchLength_ is -1..14=(kMaxLinearMatchLength=0x10)-2 + // so we need at least 5 bits for that. + // We add 2 to store it as a positive value 1..16=kMaxLinearMatchLength. + static constexpr int32_t kState64RemainingShift = 59; + static constexpr uint64_t kState64PosMask = (UINT64_C(1) << kState64RemainingShift) - 1; + uint8_t *ownedArray_; // Fixed value referencing the BytesTrie bytes. @@ -517,4 +562,6 @@ class U_COMMON_API BytesTrie : public UMemory { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __BYTESTRIE_H__ diff --git a/deps/icu-small/source/common/unicode/bytestriebuilder.h b/deps/icu-small/source/common/unicode/bytestriebuilder.h index b164e3bbd685f7..e58f18755ef959 100644 --- a/deps/icu-small/source/common/unicode/bytestriebuilder.h +++ b/deps/icu-small/source/common/unicode/bytestriebuilder.h @@ -23,6 +23,9 @@ #define __BYTESTRIEBUILDER_H__ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/bytestrie.h" #include "unicode/stringpiece.h" #include "unicode/stringtriebuilder.h" @@ -179,4 +182,6 @@ class U_COMMON_API BytesTrieBuilder : public StringTrieBuilder { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __BYTESTRIEBUILDER_H__ diff --git a/deps/icu-small/source/common/unicode/caniter.h b/deps/icu-small/source/common/unicode/caniter.h index b47e35da07bb7f..87c946c2b4db56 100644 --- a/deps/icu-small/source/common/unicode/caniter.h +++ b/deps/icu-small/source/common/unicode/caniter.h @@ -12,6 +12,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_NORMALIZATION #include "unicode/uobject.h" @@ -207,4 +209,6 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_NORMALIZATION */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/casemap.h b/deps/icu-small/source/common/unicode/casemap.h index 477eb484d136b6..53af84fa74d65f 100644 --- a/deps/icu-small/source/common/unicode/casemap.h +++ b/deps/icu-small/source/common/unicode/casemap.h @@ -8,6 +8,9 @@ #define __CASEMAP_H__ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/stringpiece.h" #include "unicode/uobject.h" @@ -489,4 +492,6 @@ class U_COMMON_API CaseMap U_FINAL : public UMemory { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __CASEMAP_H__ diff --git a/deps/icu-small/source/common/unicode/char16ptr.h b/deps/icu-small/source/common/unicode/char16ptr.h index a7c5f1a0c5ed56..c8a9ae6c35d646 100644 --- a/deps/icu-small/source/common/unicode/char16ptr.h +++ b/deps/icu-small/source/common/unicode/char16ptr.h @@ -7,9 +7,12 @@ #ifndef __CHAR16PTR_H__ #define __CHAR16PTR_H__ -#include #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + +#include + /** * \file * \brief C++ API: char16_t pointer wrappers with @@ -305,4 +308,6 @@ inline OldUChar *toOldUCharPtr(char16_t *p) { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __CHAR16PTR_H__ diff --git a/deps/icu-small/source/common/unicode/chariter.h b/deps/icu-small/source/common/unicode/chariter.h index 292794f6d65832..7e4f446bb0f8a8 100644 --- a/deps/icu-small/source/common/unicode/chariter.h +++ b/deps/icu-small/source/common/unicode/chariter.h @@ -13,6 +13,9 @@ #define CHARITER_H #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" #include "unicode/unistr.h" /** @@ -377,7 +380,7 @@ class U_COMMON_API CharacterIterator : public ForwardCharacterIterator { * @return a pointer to a new CharacterIterator * @stable ICU 2.0 */ - virtual CharacterIterator* clone(void) const = 0; + virtual CharacterIterator* clone() const = 0; /** * Sets the iterator to refer to the first code unit in its @@ -725,4 +728,7 @@ CharacterIterator::getLength(void) const { } U_NAMESPACE_END + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/dbbi.h b/deps/icu-small/source/common/unicode/dbbi.h index 62509c5227b9da..9031c0b96b1b40 100644 --- a/deps/icu-small/source/common/unicode/dbbi.h +++ b/deps/icu-small/source/common/unicode/dbbi.h @@ -13,6 +13,10 @@ #ifndef DBBI_H #define DBBI_H +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/rbbi.h" #if !UCONFIG_NO_BREAK_ITERATION @@ -39,4 +43,6 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_BREAK_ITERATION */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/docmain.h b/deps/icu-small/source/common/unicode/docmain.h index 89906799877622..2b38692997dd9a 100644 --- a/deps/icu-small/source/common/unicode/docmain.h +++ b/deps/icu-small/source/common/unicode/docmain.h @@ -99,7 +99,7 @@ * * * Codepage Conversion - * ucnv.h, ucnvsel.hb + * ucnv.h, ucnvsel.h * C API * * @@ -115,7 +115,7 @@ * * Locales * uloc.h - * icu::Locale, icu::LocaleBuilder + * icu::Locale, icu::LocaleBuilder, icu::LocaleMatcher * * * Resource Bundles diff --git a/deps/icu-small/source/common/unicode/dtintrv.h b/deps/icu-small/source/common/unicode/dtintrv.h index 625456f0c868e9..325faa3ccb92cb 100644 --- a/deps/icu-small/source/common/unicode/dtintrv.h +++ b/deps/icu-small/source/common/unicode/dtintrv.h @@ -15,6 +15,9 @@ #define __DTINTRV_H__ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" /** @@ -22,7 +25,6 @@ * \brief C++ API: Date Interval data type */ - U_NAMESPACE_BEGIN @@ -157,4 +159,6 @@ DateInterval::operator!=(const DateInterval& other) const { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/edits.h b/deps/icu-small/source/common/unicode/edits.h index 79e98b0cc27ac6..c3ceaccb3b3802 100644 --- a/deps/icu-small/source/common/unicode/edits.h +++ b/deps/icu-small/source/common/unicode/edits.h @@ -8,6 +8,9 @@ #define __EDITS_H__ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" /** @@ -159,7 +162,7 @@ class U_COMMON_API Edits U_FINAL : public UMemory { * @return TRUE if U_FAILURE(outErrorCode) * @stable ICU 59 */ - UBool copyErrorTo(UErrorCode &outErrorCode); + UBool copyErrorTo(UErrorCode &outErrorCode) const; /** * How much longer is the new text compared with the old text? @@ -523,4 +526,6 @@ class U_COMMON_API Edits U_FINAL : public UMemory { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __EDITS_H__ diff --git a/deps/icu-small/source/common/unicode/errorcode.h b/deps/icu-small/source/common/unicode/errorcode.h index 1e5df8f03e88fe..75cdbb6a98f194 100644 --- a/deps/icu-small/source/common/unicode/errorcode.h +++ b/deps/icu-small/source/common/unicode/errorcode.h @@ -26,6 +26,9 @@ */ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" U_NAMESPACE_BEGIN @@ -136,4 +139,6 @@ class U_COMMON_API ErrorCode: public UMemory { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __ERRORCODE_H__ diff --git a/deps/icu-small/source/common/unicode/filteredbrk.h b/deps/icu-small/source/common/unicode/filteredbrk.h index 2444114e9a14bf..42936763259e2d 100644 --- a/deps/icu-small/source/common/unicode/filteredbrk.h +++ b/deps/icu-small/source/common/unicode/filteredbrk.h @@ -11,6 +11,9 @@ #define FILTEREDBRK_H #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/brkiter.h" #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION @@ -101,6 +104,7 @@ class U_COMMON_API FilteredBreakIteratorBuilder : public UObject { */ virtual UBool unsuppressBreakAfter(const UnicodeString& string, UErrorCode& status) = 0; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * This function has been deprecated in favor of wrapIteratorWithFilter() * The behavior is identical. @@ -111,6 +115,7 @@ class U_COMMON_API FilteredBreakIteratorBuilder : public UObject { * @see wrapBreakIteratorWithFilter() */ virtual BreakIterator *build(BreakIterator* adoptBreakIterator, UErrorCode& status) = 0; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Wrap (adopt) an existing break iterator in a new filtered instance. @@ -142,4 +147,6 @@ U_NAMESPACE_END #endif // #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // #ifndef FILTEREDBRK_H diff --git a/deps/icu-small/source/common/unicode/idna.h b/deps/icu-small/source/common/unicode/idna.h index f08658e502e200..6dfcfe48db28f1 100644 --- a/deps/icu-small/source/common/unicode/idna.h +++ b/deps/icu-small/source/common/unicode/idna.h @@ -24,6 +24,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_IDNA #include "unicode/bytestream.h" @@ -322,4 +324,7 @@ class U_COMMON_API IDNAInfo : public UMemory { U_NAMESPACE_END #endif // UCONFIG_NO_IDNA + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __IDNA_H__ diff --git a/deps/icu-small/source/common/unicode/localebuilder.h b/deps/icu-small/source/common/unicode/localebuilder.h index 960e5980c03c2e..19e10f1c070924 100644 --- a/deps/icu-small/source/common/unicode/localebuilder.h +++ b/deps/icu-small/source/common/unicode/localebuilder.h @@ -3,11 +3,14 @@ #ifndef __LOCALEBUILDER_H__ #define __LOCALEBUILDER_H__ +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/locid.h" +#include "unicode/localematcher.h" #include "unicode/stringpiece.h" #include "unicode/uobject.h" -#include "unicode/utypes.h" - #ifndef U_HIDE_DRAFT_API /** @@ -276,7 +279,24 @@ class U_COMMON_API LocaleBuilder : public UObject { */ Locale build(UErrorCode& status); +#ifndef U_HIDE_DRAFT_API + /** + * Sets the UErrorCode if an error occurred while recording sets. + * Preserves older error codes in the outErrorCode. + * @param outErrorCode Set to an error code that occurred while setting subtags. + * Unchanged if there is no such error or if outErrorCode + * already contained an error. + * @return TRUE if U_FAILURE(outErrorCode) + * @draft ICU 65 + */ + UBool copyErrorTo(UErrorCode &outErrorCode) const; +#endif /* U_HIDE_DRAFT_API */ + private: + friend class LocaleMatcher::Result; + + void copyExtensionsFrom(const Locale& src, UErrorCode& errorCode); + UErrorCode status_; char language_[9]; char script_[5]; @@ -289,4 +309,7 @@ class U_COMMON_API LocaleBuilder : public UObject { U_NAMESPACE_END #endif // U_HIDE_DRAFT_API + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __LOCALEBUILDER_H__ diff --git a/deps/icu-small/source/common/unicode/localematcher.h b/deps/icu-small/source/common/unicode/localematcher.h new file mode 100644 index 00000000000000..701123f750b222 --- /dev/null +++ b/deps/icu-small/source/common/unicode/localematcher.h @@ -0,0 +1,605 @@ +// © 2019 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html#License + +// localematcher.h +// created: 2019may08 Markus W. Scherer + +#ifndef __LOCALEMATCHER_H__ +#define __LOCALEMATCHER_H__ + +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + +#include "unicode/locid.h" +#include "unicode/stringpiece.h" +#include "unicode/uobject.h" + +/** + * \file + * \brief C++ API: Locale matcher: User's desired locales vs. application's supported locales. + */ + +#ifndef U_HIDE_DRAFT_API + +/** + * Builder option for whether the language subtag or the script subtag is most important. + * + * @see Builder#setFavorSubtag(FavorSubtag) + * @draft ICU 65 + */ +enum ULocMatchFavorSubtag { + /** + * Language differences are most important, then script differences, then region differences. + * (This is the default behavior.) + * + * @draft ICU 65 + */ + ULOCMATCH_FAVOR_LANGUAGE, + /** + * Makes script differences matter relatively more than language differences. + * + * @draft ICU 65 + */ + ULOCMATCH_FAVOR_SCRIPT +}; +#ifndef U_IN_DOXYGEN +typedef enum ULocMatchFavorSubtag ULocMatchFavorSubtag; +#endif + +/** + * Builder option for whether all desired locales are treated equally or + * earlier ones are preferred. + * + * @see Builder#setDemotionPerDesiredLocale(Demotion) + * @draft ICU 65 + */ +enum ULocMatchDemotion { + /** + * All desired locales are treated equally. + * + * @draft ICU 65 + */ + ULOCMATCH_DEMOTION_NONE, + /** + * Earlier desired locales are preferred. + * + *

From each desired locale to the next, + * the distance to any supported locale is increased by an additional amount + * which is at least as large as most region mismatches. + * A later desired locale has to have a better match with some supported locale + * due to more than merely having the same region subtag. + * + *

For example: Supported={en, sv} desired=[en-GB, sv] + * yields Result(en-GB, en) because + * with the demotion of sv its perfect match is no better than + * the region distance between the earlier desired locale en-GB and en=en-US. + * + *

Notes: + *

    + *
  • In some cases, language and/or script differences can be as small as + * the typical region difference. (Example: sr-Latn vs. sr-Cyrl) + *
  • It is possible for certain region differences to be larger than usual, + * and larger than the demotion. + * (As of CLDR 35 there is no such case, but + * this is possible in future versions of the data.) + *
+ * + * @draft ICU 65 + */ + ULOCMATCH_DEMOTION_REGION +}; +#ifndef U_IN_DOXYGEN +typedef enum ULocMatchDemotion ULocMatchDemotion; +#endif + +struct UHashtable; + +U_NAMESPACE_BEGIN + +struct LSR; + +class LocaleDistance; +class LocaleLsrIterator; +class UVector; +class XLikelySubtags; + +/** + * Immutable class that picks the best match between a user's desired locales and + * an application's supported locales. + * Movable but not copyable. + * + *

Example: + *

+ * UErrorCode errorCode = U_ZERO_ERROR;
+ * LocaleMatcher matcher = LocaleMatcher::Builder().setSupportedLocales("fr, en-GB, en").build(errorCode);
+ * Locale *bestSupported = matcher.getBestLocale(Locale.US, errorCode);  // "en"
+ * 
+ * + *

A matcher takes into account when languages are close to one another, + * such as Danish and Norwegian, + * and when regional variants are close, like en-GB and en-AU as opposed to en-US. + * + *

If there are multiple supported locales with the same (language, script, region) + * likely subtags, then the current implementation returns the first of those locales. + * It ignores variant subtags (except for pseudolocale variants) and extensions. + * This may change in future versions. + * + *

For example, the current implementation does not distinguish between + * de, de-DE, de-Latn, de-1901, de-u-co-phonebk. + * + *

If you prefer one equivalent locale over another, then provide only the preferred one, + * or place it earlier in the list of supported locales. + * + *

Otherwise, the order of supported locales may have no effect on the best-match results. + * The current implementation compares each desired locale with supported locales + * in the following order: + * 1. Default locale, if supported; + * 2. CLDR "paradigm locales" like en-GB and es-419; + * 3. other supported locales. + * This may change in future versions. + * + *

Often a product will just need one matcher instance, built with the languages + * that it supports. However, it may want multiple instances with different + * default languages based on additional information, such as the domain. + * + *

This class is not intended for public subclassing. + * + * @draft ICU 65 + */ +class U_COMMON_API LocaleMatcher : public UMemory { +public: + /** + * Data for the best-matching pair of a desired and a supported locale. + * Movable but not copyable. + * + * @draft ICU 65 + */ + class U_COMMON_API Result : public UMemory { + public: + /** + * Move constructor; might modify the source. + * This object will have the same contents that the source object had. + * + * @param src Result to move contents from. + * @draft ICU 65 + */ + Result(Result &&src) U_NOEXCEPT; + + /** + * Destructor. + * + * @draft ICU 65 + */ + ~Result(); + + /** + * Move assignment; might modify the source. + * This object will have the same contents that the source object had. + * + * @param src Result to move contents from. + * @draft ICU 65 + */ + Result &operator=(Result &&src) U_NOEXCEPT; + + /** + * Returns the best-matching desired locale. + * nullptr if the list of desired locales is empty or if none matched well enough. + * + * @return the best-matching desired locale, or nullptr. + * @draft ICU 65 + */ + inline const Locale *getDesiredLocale() const { return desiredLocale; } + + /** + * Returns the best-matching supported locale. + * If none matched well enough, this is the default locale. + * The default locale is nullptr if the list of supported locales is empty and + * no explicit default locale is set. + * + * @return the best-matching supported locale, or nullptr. + * @draft ICU 65 + */ + inline const Locale *getSupportedLocale() const { return supportedLocale; } + + /** + * Returns the index of the best-matching desired locale in the input Iterable order. + * -1 if the list of desired locales is empty or if none matched well enough. + * + * @return the index of the best-matching desired locale, or -1. + * @draft ICU 65 + */ + inline int32_t getDesiredIndex() const { return desiredIndex; } + + /** + * Returns the index of the best-matching supported locale in the + * constructor’s or builder’s input order (“set” Collection plus “added” locales). + * If the matcher was built from a locale list string, then the iteration order is that + * of a LocalePriorityList built from the same string. + * -1 if the list of supported locales is empty or if none matched well enough. + * + * @return the index of the best-matching supported locale, or -1. + * @draft ICU 65 + */ + inline int32_t getSupportedIndex() const { return supportedIndex; } + + /** + * Takes the best-matching supported locale and adds relevant fields of the + * best-matching desired locale, such as the -t- and -u- extensions. + * May replace some fields of the supported locale. + * The result is the locale that should be used for date and number formatting, collation, etc. + * Returns the root locale if getSupportedLocale() returns nullptr. + * + *

Example: desired=ar-SA-u-nu-latn, supported=ar-EG, resolved locale=ar-SA-u-nu-latn + * + * @return a locale combining the best-matching desired and supported locales. + * @draft ICU 65 + */ + Locale makeResolvedLocale(UErrorCode &errorCode) const; + + private: + Result(const Locale *desired, const Locale *supported, + int32_t desIndex, int32_t suppIndex, UBool owned) : + desiredLocale(desired), supportedLocale(supported), + desiredIndex(desIndex), supportedIndex(suppIndex), + desiredIsOwned(owned) {} + + Result(const Result &other) = delete; + Result &operator=(const Result &other) = delete; + + const Locale *desiredLocale; + const Locale *supportedLocale; + int32_t desiredIndex; + int32_t supportedIndex; + UBool desiredIsOwned; + + friend class LocaleMatcher; + }; + + /** + * LocaleMatcher builder. + * Movable but not copyable. + * + * @see LocaleMatcher#builder() + * @draft ICU 65 + */ + class U_COMMON_API Builder : public UMemory { + public: + /** + * Constructs a builder used in chaining parameters for building a LocaleMatcher. + * + * @return a new Builder object + * @draft ICU 65 + */ + Builder() {} + + /** + * Move constructor; might modify the source. + * This builder will have the same contents that the source builder had. + * + * @param src Builder to move contents from. + * @draft ICU 65 + */ + Builder(Builder &&src) U_NOEXCEPT; + + /** + * Destructor. + * + * @draft ICU 65 + */ + ~Builder(); + + /** + * Move assignment; might modify the source. + * This builder will have the same contents that the source builder had. + * + * @param src Builder to move contents from. + * @draft ICU 65 + */ + Builder &operator=(Builder &&src) U_NOEXCEPT; + + /** + * Parses an Accept-Language string + * (RFC 2616 Section 14.4), + * such as "af, en, fr;q=0.9", and sets the supported locales accordingly. + * Allows whitespace in more places but does not allow "*". + * Clears any previously set/added supported locales first. + * + * @param locales the Accept-Language string of locales to set + * @return this Builder object + * @draft ICU 65 + */ + Builder &setSupportedLocalesFromListString(StringPiece locales); + + /** + * Copies the supported locales, preserving iteration order. + * Clears any previously set/added supported locales first. + * Duplicates are allowed, and are not removed. + * + * @param locales the list of locale + * @return this Builder object + * @draft ICU 65 + */ + Builder &setSupportedLocales(Locale::Iterator &locales); + + /** + * Copies the supported locales from the begin/end range, preserving iteration order. + * Clears any previously set/added supported locales first. + * Duplicates are allowed, and are not removed. + * + * Each of the iterator parameter values must be an + * input iterator whose value is convertible to const Locale &. + * + * @param begin Start of range. + * @param end Exclusive end of range. + * @return this Builder object + * @draft ICU 65 + */ + template + Builder &setSupportedLocales(Iter begin, Iter end) { + if (U_FAILURE(errorCode_)) { return *this; } + clearSupportedLocales(); + while (begin != end) { + addSupportedLocale(*begin++); + } + return *this; + } + + /** + * Copies the supported locales from the begin/end range, preserving iteration order. + * Calls the converter to convert each *begin to a Locale or const Locale &. + * Clears any previously set/added supported locales first. + * Duplicates are allowed, and are not removed. + * + * Each of the iterator parameter values must be an + * input iterator whose value is convertible to const Locale &. + * + * @param begin Start of range. + * @param end Exclusive end of range. + * @param converter Converter from *begin to const Locale & or compatible. + * @return this Builder object + * @draft ICU 65 + */ + template + Builder &setSupportedLocalesViaConverter(Iter begin, Iter end, Conv converter) { + if (U_FAILURE(errorCode_)) { return *this; } + clearSupportedLocales(); + while (begin != end) { + addSupportedLocale(converter(*begin++)); + } + return *this; + } + + /** + * Adds another supported locale. + * Duplicates are allowed, and are not removed. + * + * @param locale another locale + * @return this Builder object + * @draft ICU 65 + */ + Builder &addSupportedLocale(const Locale &locale); + + /** + * Sets the default locale; if nullptr, or if it is not set explicitly, + * then the first supported locale is used as the default locale. + * + * @param defaultLocale the default locale (will be copied) + * @return this Builder object + * @draft ICU 65 + */ + Builder &setDefaultLocale(const Locale *defaultLocale); + + /** + * If ULOCMATCH_FAVOR_SCRIPT, then the language differences are smaller than script + * differences. + * This is used in situations (such as maps) where + * it is better to fall back to the same script than a similar language. + * + * @param subtag the subtag to favor + * @return this Builder object + * @draft ICU 65 + */ + Builder &setFavorSubtag(ULocMatchFavorSubtag subtag); + + /** + * Option for whether all desired locales are treated equally or + * earlier ones are preferred (this is the default). + * + * @param demotion the demotion per desired locale to set. + * @return this Builder object + * @draft ICU 65 + */ + Builder &setDemotionPerDesiredLocale(ULocMatchDemotion demotion); + + /** + * Sets the UErrorCode if an error occurred while setting parameters. + * Preserves older error codes in the outErrorCode. + * + * @param outErrorCode Set to an error code if it does not contain one already + * and an error occurred while setting parameters. + * Otherwise unchanged. + * @return TRUE if U_FAILURE(outErrorCode) + * @draft ICU 65 + */ + UBool copyErrorTo(UErrorCode &outErrorCode) const; + + /** + * Builds and returns a new locale matcher. + * This builder can continue to be used. + * + * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test, + * or else the function returns immediately. Check for U_FAILURE() + * on output or use with function chaining. (See User Guide for details.) + * @return new LocaleMatcher. + * @draft ICU 65 + */ + LocaleMatcher build(UErrorCode &errorCode) const; + + private: + friend class LocaleMatcher; + + Builder(const Builder &other) = delete; + Builder &operator=(const Builder &other) = delete; + + void clearSupportedLocales(); + bool ensureSupportedLocaleVector(); + + UErrorCode errorCode_ = U_ZERO_ERROR; + UVector *supportedLocales_ = nullptr; + int32_t thresholdDistance_ = -1; + ULocMatchDemotion demotion_ = ULOCMATCH_DEMOTION_REGION; + Locale *defaultLocale_ = nullptr; + ULocMatchFavorSubtag favor_ = ULOCMATCH_FAVOR_LANGUAGE; + }; + + // FYI No public LocaleMatcher constructors in C++; use the Builder. + + /** + * Move copy constructor; might modify the source. + * This matcher will have the same settings that the source matcher had. + * @param src source matcher + * @draft ICU 65 + */ + LocaleMatcher(LocaleMatcher &&src) U_NOEXCEPT; + + /** + * Destructor. + * @draft ICU 65 + */ + ~LocaleMatcher(); + + /** + * Move assignment operator; might modify the source. + * This matcher will have the same settings that the source matcher had. + * The behavior is undefined if *this and src are the same object. + * @param src source matcher + * @return *this + * @draft ICU 65 + */ + LocaleMatcher &operator=(LocaleMatcher &&src) U_NOEXCEPT; + + /** + * Returns the supported locale which best matches the desired locale. + * + * @param desiredLocale Typically a user's language. + * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test, + * or else the function returns immediately. Check for U_FAILURE() + * on output or use with function chaining. (See User Guide for details.) + * @return the best-matching supported locale. + * @draft ICU 65 + */ + const Locale *getBestMatch(const Locale &desiredLocale, UErrorCode &errorCode) const; + + /** + * Returns the supported locale which best matches one of the desired locales. + * + * @param desiredLocales Typically a user's languages, in order of preference (descending). + * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test, + * or else the function returns immediately. Check for U_FAILURE() + * on output or use with function chaining. (See User Guide for details.) + * @return the best-matching supported locale. + * @draft ICU 65 + */ + const Locale *getBestMatch(Locale::Iterator &desiredLocales, UErrorCode &errorCode) const; + + /** + * Parses an Accept-Language string + * (RFC 2616 Section 14.4), + * such as "af, en, fr;q=0.9", + * and returns the supported locale which best matches one of the desired locales. + * Allows whitespace in more places but does not allow "*". + * + * @param desiredLocaleList Typically a user's languages, as an Accept-Language string. + * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test, + * or else the function returns immediately. Check for U_FAILURE() + * on output or use with function chaining. (See User Guide for details.) + * @return the best-matching supported locale. + * @draft ICU 65 + */ + const Locale *getBestMatchForListString(StringPiece desiredLocaleList, UErrorCode &errorCode) const; + + /** + * Returns the best match between the desired locale and the supported locales. + * If the result's desired locale is not nullptr, then it is the address of the input locale. + * It has not been cloned. + * + * @param desiredLocale Typically a user's language. + * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test, + * or else the function returns immediately. Check for U_FAILURE() + * on output or use with function chaining. (See User Guide for details.) + * @return the best-matching pair of the desired and a supported locale. + * @draft ICU 65 + */ + Result getBestMatchResult(const Locale &desiredLocale, UErrorCode &errorCode) const; + + /** + * Returns the best match between the desired and supported locales. + * If the result's desired locale is not nullptr, then it is a clone of + * the best-matching desired locale. The Result object owns the clone. + * + * @param desiredLocales Typically a user's languages, in order of preference (descending). + * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test, + * or else the function returns immediately. Check for U_FAILURE() + * on output or use with function chaining. (See User Guide for details.) + * @return the best-matching pair of a desired and a supported locale. + * @draft ICU 65 + */ + Result getBestMatchResult(Locale::Iterator &desiredLocales, UErrorCode &errorCode) const; + +#ifndef U_HIDE_INTERNAL_API + /** + * Returns a fraction between 0 and 1, where 1 means that the languages are a + * perfect match, and 0 means that they are completely different. + * + *

This is mostly an implementation detail, and the precise values may change over time. + * The implementation may use either the maximized forms or the others ones, or both. + * The implementation may or may not rely on the forms to be consistent with each other. + * + *

Callers should construct and use a matcher rather than match pairs of locales directly. + * + * @param desired Desired locale. + * @param supported Supported locale. + * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test, + * or else the function returns immediately. Check for U_FAILURE() + * on output or use with function chaining. (See User Guide for details.) + * @return value between 0 and 1, inclusive. + * @internal (has a known user) + */ + double internalMatch(const Locale &desired, const Locale &supported, UErrorCode &errorCode) const; +#endif // U_HIDE_INTERNAL_API + +private: + LocaleMatcher(const Builder &builder, UErrorCode &errorCode); + LocaleMatcher(const LocaleMatcher &other) = delete; + LocaleMatcher &operator=(const LocaleMatcher &other) = delete; + + int32_t getBestSuppIndex(LSR desiredLSR, LocaleLsrIterator *remainingIter, UErrorCode &errorCode) const; + + const XLikelySubtags &likelySubtags; + const LocaleDistance &localeDistance; + int32_t thresholdDistance; + int32_t demotionPerDesiredLocale; + ULocMatchFavorSubtag favorSubtag; + + // These are in input order. + const Locale ** supportedLocales; + LSR *lsrs; + int32_t supportedLocalesLength; + // These are in preference order: 1. Default locale 2. paradigm locales 3. others. + UHashtable *supportedLsrToIndex; // Map stores index+1 because 0 is "not found" + // Array versions of the supportedLsrToIndex keys and values. + // The distance lookup loops over the supportedLSRs and returns the index of the best match. + const LSR **supportedLSRs; + int32_t *supportedIndexes; + int32_t supportedLSRsLength; + Locale *ownedDefaultLocale; + const Locale *defaultLocale; + int32_t defaultLocaleIndex; +}; + +U_NAMESPACE_END + +#endif // U_HIDE_DRAFT_API +#endif // U_SHOW_CPLUSPLUS_API +#endif // __LOCALEMATCHER_H__ diff --git a/deps/icu-small/source/common/unicode/locdspnm.h b/deps/icu-small/source/common/unicode/locdspnm.h index f6e778356feced..4f06f857044c6e 100644 --- a/deps/icu-small/source/common/unicode/locdspnm.h +++ b/deps/icu-small/source/common/unicode/locdspnm.h @@ -12,6 +12,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Provides display names of Locale and its components. @@ -204,4 +206,6 @@ U_NAMESPACE_END #endif +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/locid.h b/deps/icu-small/source/common/unicode/locid.h index 7350e381ffa540..6fb0897fc05d95 100644 --- a/deps/icu-small/source/common/unicode/locid.h +++ b/deps/icu-small/source/common/unicode/locid.h @@ -31,11 +31,14 @@ #ifndef LOCID_H #define LOCID_H +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/bytestream.h" #include "unicode/localpointer.h" #include "unicode/strenum.h" #include "unicode/stringpiece.h" -#include "unicode/utypes.h" #include "unicode/uobject.h" #include "unicode/putil.h" #include "unicode/uloc.h" @@ -284,16 +287,14 @@ class U_COMMON_API Locale : public UObject { */ Locale(const Locale& other); -#ifndef U_HIDE_DRAFT_API /** * Move constructor; might leave source in bogus state. * This locale will have the same contents that the source locale had. * * @param other The Locale object being moved in. - * @draft ICU 63 + * @stable ICU 63 */ Locale(Locale&& other) U_NOEXCEPT; -#endif // U_HIDE_DRAFT_API /** * Destructor @@ -310,7 +311,6 @@ class U_COMMON_API Locale : public UObject { */ Locale& operator=(const Locale& other); -#ifndef U_HIDE_DRAFT_API /** * Move assignment operator; might leave source in bogus state. * This locale will have the same contents that the source locale had. @@ -318,10 +318,9 @@ class U_COMMON_API Locale : public UObject { * * @param other The Locale object being moved in. * @return *this - * @draft ICU 63 + * @stable ICU 63 */ Locale& operator=(Locale&& other) U_NOEXCEPT; -#endif // U_HIDE_DRAFT_API /** * Checks if two locale keys are the same. @@ -389,7 +388,6 @@ class U_COMMON_API Locale : public UObject { UErrorCode& success); #endif /* U_HIDE_SYSTEM_API */ -#ifndef U_HIDE_DRAFT_API /** * Returns a Locale for the specified BCP47 language tag string. * If the specified language tag contains any ill-formed subtags, @@ -405,7 +403,7 @@ class U_COMMON_API Locale : public UObject { * @param tag the input BCP47 language tag. * @param status error information if creating the Locale failed. * @return the Locale for the specified BCP47 language tag. - * @draft ICU 63 + * @stable ICU 63 */ static Locale U_EXPORT2 forLanguageTag(StringPiece tag, UErrorCode& status); @@ -420,7 +418,7 @@ class U_COMMON_API Locale : public UObject { * @param sink the output sink receiving the BCP47 language * tag for this Locale. * @param status error information if creating the language tag failed. - * @draft ICU 63 + * @stable ICU 63 */ void toLanguageTag(ByteSink& sink, UErrorCode& status) const; @@ -432,11 +430,10 @@ class U_COMMON_API Locale : public UObject { * * @param status error information if creating the language tag failed. * @return the BCP47 language tag for this Locale. - * @draft ICU 63 + * @stable ICU 63 */ template inline StringClass toLanguageTag(UErrorCode& status) const; -#endif // U_HIDE_DRAFT_API /** * Creates a locale which has had minimal canonicalization @@ -508,7 +505,6 @@ class U_COMMON_API Locale : public UObject { */ const char * getBaseName() const; -#ifndef U_HIDE_DRAFT_API /** * Add the likely subtags for this Locale, per the algorithm described * in the following CLDR technical report: @@ -536,7 +532,7 @@ class U_COMMON_API Locale : public UObject { * @param status error information if maximizing this Locale failed. * If this Locale is not well-formed, the error code is * U_ILLEGAL_ARGUMENT_ERROR. - * @draft ICU 63 + * @stable ICU 63 */ void addLikelySubtags(UErrorCode& status); @@ -567,10 +563,9 @@ class U_COMMON_API Locale : public UObject { * @param status error information if maximizing this Locale failed. * If this Locale is not well-formed, the error code is * U_ILLEGAL_ARGUMENT_ERROR. - * @draft ICU 63 + * @stable ICU 63 */ void minimizeSubtags(UErrorCode& status); -#endif // U_HIDE_DRAFT_API /** * Gets the list of keywords for the specified locale. @@ -583,8 +578,6 @@ class U_COMMON_API Locale : public UObject { */ StringEnumeration * createKeywords(UErrorCode &status) const; -#ifndef U_HIDE_DRAFT_API - /** * Gets the list of Unicode keywords for the specified locale. * @@ -592,7 +585,7 @@ class U_COMMON_API Locale : public UObject { * @return pointer to StringEnumeration class, or NULL if there are no keywords. * Client must dispose of it by calling delete. * @see getUnicodeKeywords - * @draft ICU 63 + * @stable ICU 63 */ StringEnumeration * createUnicodeKeywords(UErrorCode &status) const; @@ -605,7 +598,7 @@ class U_COMMON_API Locale : public UObject { * * @param iterator an STL style output iterator to write the keywords to. * @param status error information if creating set of keywords failed. - * @draft ICU 63 + * @stable ICU 63 */ template inline void getKeywords(OutputIterator iterator, UErrorCode& status) const; @@ -619,13 +612,11 @@ class U_COMMON_API Locale : public UObject { * * @param iterator an STL style output iterator to write the keywords to. * @param status error information if creating set of keywords failed. - * @draft ICU 63 + * @stable ICU 63 */ template inline void getUnicodeKeywords(OutputIterator iterator, UErrorCode& status) const; -#endif // U_HIDE_DRAFT_API - /** * Gets the value for a keyword. * @@ -644,7 +635,6 @@ class U_COMMON_API Locale : public UObject { */ int32_t getKeywordValue(const char* keywordName, char *buffer, int32_t bufferCapacity, UErrorCode &status) const; -#ifndef U_HIDE_DRAFT_API /** * Gets the value for a keyword. * @@ -656,7 +646,7 @@ class U_COMMON_API Locale : public UObject { * @param keywordName name of the keyword for which we want the value. * @param sink the sink to receive the keyword value. * @param status error information if getting the value failed. - * @draft ICU 63 + * @stable ICU 63 */ void getKeywordValue(StringPiece keywordName, ByteSink& sink, UErrorCode& status) const; @@ -671,7 +661,7 @@ class U_COMMON_API Locale : public UObject { * @param keywordName name of the keyword for which we want the value. * @param status error information if getting the value failed. * @return the keyword value. - * @draft ICU 63 + * @stable ICU 63 */ template inline StringClass getKeywordValue(StringPiece keywordName, UErrorCode& status) const; @@ -687,7 +677,7 @@ class U_COMMON_API Locale : public UObject { * @param keywordName name of the keyword for which we want the value. * @param sink the sink to receive the keyword value. * @param status error information if getting the value failed. - * @draft ICU 63 + * @stable ICU 63 */ void getUnicodeKeywordValue(StringPiece keywordName, ByteSink& sink, UErrorCode& status) const; @@ -702,11 +692,10 @@ class U_COMMON_API Locale : public UObject { * @param keywordName name of the keyword for which we want the value. * @param status error information if getting the value failed. * @return the keyword value. - * @draft ICU 63 + * @stable ICU 63 */ template inline StringClass getUnicodeKeywordValue(StringPiece keywordName, UErrorCode& status) const; -#endif // U_HIDE_DRAFT_API /** * Sets or removes the value for a keyword. @@ -729,7 +718,6 @@ class U_COMMON_API Locale : public UObject { */ void setKeywordValue(const char* keywordName, const char* keywordValue, UErrorCode &status); -#ifndef U_HIDE_DRAFT_API /** * Sets or removes the value for a keyword. * @@ -746,7 +734,7 @@ class U_COMMON_API Locale : public UObject { * NULL, will result in the keyword being removed. No error is given if * that keyword does not exist. * @param status Returns any error information while performing this operation. - * @draft ICU 63 + * @stable ICU 63 */ void setKeywordValue(StringPiece keywordName, StringPiece keywordValue, UErrorCode& status); @@ -766,10 +754,9 @@ class U_COMMON_API Locale : public UObject { * NULL, will result in the keyword being removed. No error is given if * that keyword does not exist. * @param status Returns any error information while performing this operation. - * @draft ICU 63 + * @stable ICU 63 */ void setUnicodeKeywordValue(StringPiece keywordName, StringPiece keywordValue, UErrorCode& status); -#endif // U_HIDE_DRAFT_API /** * returns the locale's three-letter language code, as specified @@ -1008,6 +995,104 @@ class U_COMMON_API Locale : public UObject { */ virtual UClassID getDynamicClassID() const; +#ifndef U_HIDE_DRAFT_API + /** + * A Locale iterator interface similar to a Java Iterator. + * @draft ICU 65 + */ + class U_COMMON_API Iterator /* not : public UObject because this is an interface/mixin class */ { + public: + /** @draft ICU 65 */ + virtual ~Iterator(); + + /** + * @return TRUE if next() can be called again. + * @draft ICU 65 + */ + virtual UBool hasNext() const = 0; + + /** + * @return the next locale. + * @draft ICU 65 + */ + virtual const Locale &next() = 0; + }; + + /** + * A generic Locale iterator implementation over Locale input iterators. + * @draft ICU 65 + */ + template + class RangeIterator : public Iterator, public UMemory { + public: + /** + * Constructs an iterator from a begin/end range. + * Each of the iterator parameter values must be an + * input iterator whose value is convertible to const Locale &. + * + * @param begin Start of range. + * @param end Exclusive end of range. + * @draft ICU 65 + */ + RangeIterator(Iter begin, Iter end) : it_(begin), end_(end) {} + + /** + * @return TRUE if next() can be called again. + * @draft ICU 65 + */ + UBool hasNext() const override { return it_ != end_; } + + /** + * @return the next locale. + * @draft ICU 65 + */ + const Locale &next() override { return *it_++; } + + private: + Iter it_; + const Iter end_; + }; + + /** + * A generic Locale iterator implementation over Locale input iterators. + * Calls the converter to convert each *begin to a const Locale &. + * @draft ICU 65 + */ + template + class ConvertingIterator : public Iterator, public UMemory { + public: + /** + * Constructs an iterator from a begin/end range. + * Each of the iterator parameter values must be an + * input iterator whose value the converter converts to const Locale &. + * + * @param begin Start of range. + * @param end Exclusive end of range. + * @param converter Converter from *begin to const Locale & or compatible. + * @draft ICU 65 + */ + ConvertingIterator(Iter begin, Iter end, Conv converter) : + it_(begin), end_(end), converter_(converter) {} + + /** + * @return TRUE if next() can be called again. + * @draft ICU 65 + */ + UBool hasNext() const override { return it_ != end_; } + + /** + * @return the next locale. + * @draft ICU 65 + */ + const Locale &next() override { return converter_(*it_++); } + + private: + Iter it_; + const Iter end_; + Conv converter_; + }; +#endif // U_HIDE_DRAFT_API + protected: /* only protected for testing purposes. DO NOT USE. */ #ifndef U_HIDE_INTERNAL_API /** @@ -1074,7 +1159,6 @@ Locale::operator!=(const Locale& other) const return !operator==(other); } -#ifndef U_HIDE_DRAFT_API template inline StringClass Locale::toLanguageTag(UErrorCode& status) const { @@ -1083,7 +1167,6 @@ Locale::toLanguageTag(UErrorCode& status) const toLanguageTag(sink, status); return result; } -#endif // U_HIDE_DRAFT_API inline const char * Locale::getCountry() const @@ -1115,13 +1198,11 @@ Locale::getName() const return fullName; } -#ifndef U_HIDE_DRAFT_API - template inline void Locale::getKeywords(OutputIterator iterator, UErrorCode& status) const { LocalPointer keys(createKeywords(status)); - if (U_FAILURE(status)) { + if (U_FAILURE(status) || keys.isNull()) { return; } for (;;) { @@ -1138,7 +1219,7 @@ template inline void Locale::getUnicodeKeywords(OutputIterator iterator, UErrorCode& status) const { LocalPointer keys(createUnicodeKeywords(status)); - if (U_FAILURE(status)) { + if (U_FAILURE(status) || keys.isNull()) { return; } for (;;) { @@ -1169,8 +1250,6 @@ Locale::getUnicodeKeywordValue(StringPiece keywordName, UErrorCode& status) cons return result; } -#endif // U_HIDE_DRAFT_API - inline UBool Locale::isBogus(void) const { return fIsBogus; @@ -1178,4 +1257,6 @@ Locale::isBogus(void) const { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/messagepattern.h b/deps/icu-small/source/common/unicode/messagepattern.h index 9f2a86551ca417..04f00a8757d783 100644 --- a/deps/icu-small/source/common/unicode/messagepattern.h +++ b/deps/icu-small/source/common/unicode/messagepattern.h @@ -24,6 +24,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/parseerr.h" @@ -942,4 +944,6 @@ U_NAMESPACE_END #endif // !UCONFIG_NO_FORMATTING +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __MESSAGEPATTERN_H__ diff --git a/deps/icu-small/source/common/unicode/normalizer2.h b/deps/icu-small/source/common/unicode/normalizer2.h index 4caa0e31034b2d..4aeb3bb3d82921 100644 --- a/deps/icu-small/source/common/unicode/normalizer2.h +++ b/deps/icu-small/source/common/unicode/normalizer2.h @@ -26,6 +26,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_NORMALIZATION #include "unicode/stringpiece.h" @@ -771,4 +773,7 @@ class U_COMMON_API FilteredNormalizer2 : public Normalizer2 { U_NAMESPACE_END #endif // !UCONFIG_NO_NORMALIZATION + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __NORMALIZER2_H__ diff --git a/deps/icu-small/source/common/unicode/normlzr.h b/deps/icu-small/source/common/unicode/normlzr.h index 82335ae6d7d19b..00dd820474f734 100644 --- a/deps/icu-small/source/common/unicode/normlzr.h +++ b/deps/icu-small/source/common/unicode/normlzr.h @@ -13,6 +13,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Unicode Normalization @@ -183,6 +185,7 @@ class U_COMMON_API Normalizer : public UObject { Normalizer(const CharacterIterator& iter, UNormalizationMode mode); #endif /* U_HIDE_DEPRECATED_API */ +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Copy constructor. * @param copy The object to be copied. @@ -195,7 +198,7 @@ class U_COMMON_API Normalizer : public UObject { * @deprecated ICU 56 Use Normalizer2 instead. */ virtual ~Normalizer(); - +#endif // U_FORCE_HIDE_DEPRECATED_API //------------------------------------------------------------------------- // Static utility methods @@ -599,7 +602,7 @@ class U_COMMON_API Normalizer : public UObject { * @return a pointer to a new Normalizer * @deprecated ICU 56 Use Normalizer2 instead. */ - Normalizer* clone(void) const; + Normalizer* clone() const; /** * Generates a hash code for this iterator. @@ -723,12 +726,14 @@ class U_COMMON_API Normalizer : public UObject { static UClassID U_EXPORT2 getStaticClassID(); #endif /* U_HIDE_DEPRECATED_API */ +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * ICU "poor man's RTTI", returns a UClassID for the actual class. * @return a UClassID for the actual class. * @deprecated ICU 56 Use Normalizer2 instead. */ virtual UClassID getDynamicClassID() const; +#endif // U_FORCE_HIDE_DEPRECATED_API private: //------------------------------------------------------------------------- @@ -807,3 +812,5 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_NORMALIZATION */ #endif // NORMLZR_H + +#endif /* U_SHOW_CPLUSPLUS_API */ diff --git a/deps/icu-small/source/common/unicode/parsepos.h b/deps/icu-small/source/common/unicode/parsepos.h index c02c8169565738..ae5754b8d75132 100644 --- a/deps/icu-small/source/common/unicode/parsepos.h +++ b/deps/icu-small/source/common/unicode/parsepos.h @@ -19,6 +19,9 @@ #define PARSEPOS_H #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" @@ -229,4 +232,6 @@ ParsePosition::setErrorIndex(int32_t ei) } U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/platform.h b/deps/icu-small/source/common/unicode/platform.h index ee0d8b7a000303..74689d790cf79a 100644 --- a/deps/icu-small/source/common/unicode/platform.h +++ b/deps/icu-small/source/common/unicode/platform.h @@ -135,6 +135,14 @@ /** Fuchsia is a POSIX-ish platform. @internal */ #define U_PF_FUCHSIA 4100 /* Maximum value for Linux-based platform is 4499 */ +/** + * Emscripten is a C++ transpiler for the Web that can target asm.js or + * WebAssembly. It provides some POSIX-compatible wrappers and stubs and + * some Linux-like functionality, but is not fully compatible with + * either. + * @internal + */ +#define U_PF_EMSCRIPTEN 5010 /** z/OS is the successor to OS/390 which was the successor to MVS. @internal */ #define U_PF_OS390 9000 /** "IBM i" is the current name of what used to be i5/OS and earlier OS/400. @internal */ @@ -192,6 +200,8 @@ # define U_PLATFORM U_PF_OS390 #elif defined(__OS400__) || defined(__TOS_OS400__) # define U_PLATFORM U_PF_OS400 +#elif defined(__EMSCRIPTEN__) +# define U_PLATFORM U_PF_EMSCRIPTEN #else # define U_PLATFORM U_PF_UNKNOWN #endif @@ -414,26 +424,40 @@ #endif /* Compatibility with compilers other than clang: http://clang.llvm.org/docs/LanguageExtensions.html */ -#ifndef __has_attribute -# define __has_attribute(x) 0 +#ifdef __has_attribute +# define UPRV_HAS_ATTRIBUTE(x) __has_attribute(x) +#else +# define UPRV_HAS_ATTRIBUTE(x) 0 #endif -#ifndef __has_cpp_attribute -# define __has_cpp_attribute(x) 0 +#ifdef __has_cpp_attribute +# define UPRV_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) +#else +# define UPRV_HAS_CPP_ATTRIBUTE(x) 0 #endif -#ifndef __has_declspec_attribute -# define __has_declspec_attribute(x) 0 +#ifdef __has_declspec_attribute +# define UPRV_HAS_DECLSPEC_ATTRIBUTE(x) __has_declspec_attribute(x) +#else +# define UPRV_HAS_DECLSPEC_ATTRIBUTE(x) 0 #endif -#ifndef __has_builtin -# define __has_builtin(x) 0 +#ifdef __has_builtin +# define UPRV_HAS_BUILTIN(x) __has_builtin(x) +#else +# define UPRV_HAS_BUILTIN(x) 0 #endif -#ifndef __has_feature -# define __has_feature(x) 0 +#ifdef __has_feature +# define UPRV_HAS_FEATURE(x) __has_feature(x) +#else +# define UPRV_HAS_FEATURE(x) 0 #endif -#ifndef __has_extension -# define __has_extension(x) 0 +#ifdef __has_extension +# define UPRV_HAS_EXTENSION(x) __has_extension(x) +#else +# define UPRV_HAS_EXTENSION(x) 0 #endif -#ifndef __has_warning -# define __has_warning(x) 0 +#ifdef __has_warning +# define UPRV_HAS_WARNING(x) __has_warning(x) +#else +# define UPRV_HAS_WARNING(x) 0 #endif /** @@ -452,7 +476,9 @@ * Attribute to specify the size of the allocated buffer for malloc-like functions * @internal */ -#if (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) || __has_attribute(alloc_size) +#if (defined(__GNUC__) && \ + (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) || \ + UPRV_HAS_ATTRIBUTE(alloc_size) # define U_ALLOC_SIZE_ATTR(X) __attribute__ ((alloc_size(X))) # define U_ALLOC_SIZE_ATTR2(X,Y) __attribute__ ((alloc_size(X,Y))) #else @@ -516,8 +542,9 @@ namespace std { #elif defined(__clang__) // Test for compiler vs. feature separately. // Other compilers might choke on the feature test. -# if __has_cpp_attribute(clang::fallthrough) || \ - (__has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")) +# if UPRV_HAS_CPP_ATTRIBUTE(clang::fallthrough) || \ + (UPRV_HAS_FEATURE(cxx_attributes) && \ + UPRV_HAS_WARNING("-Wimplicit-fallthrough")) # define U_FALLTHROUGH [[clang::fallthrough]] # endif #elif defined(__GNUC__) && (__GNUC__ >= 7) @@ -620,7 +647,8 @@ namespace std { */ #ifdef U_CHARSET_IS_UTF8 /* Use the predefined value. */ -#elif U_PLATFORM_IS_LINUX_BASED || U_PLATFORM_IS_DARWIN_BASED +#elif U_PLATFORM_IS_LINUX_BASED || U_PLATFORM_IS_DARWIN_BASED || \ + U_PLATFORM == U_PF_EMSCRIPTEN # define U_CHARSET_IS_UTF8 1 #else # define U_CHARSET_IS_UTF8 0 @@ -707,7 +735,7 @@ namespace std { * narrow-character strings are in EBCDIC. */ # define U_SIZEOF_WCHAR_T 2 -#else +# else /* * LOCALETYPE(*CLD) or LOCALETYPE(*LOCALE) is specified. * Wide-character strings are in 16-bit EBCDIC, @@ -786,7 +814,8 @@ namespace std { /* Use the predefined value. */ #elif defined(U_STATIC_IMPLEMENTATION) # define U_EXPORT -#elif defined(_MSC_VER) || (__has_declspec_attribute(dllexport) && __has_declspec_attribute(dllimport)) +#elif defined(_MSC_VER) || (UPRV_HAS_DECLSPEC_ATTRIBUTE(dllexport) && \ + UPRV_HAS_DECLSPEC_ATTRIBUTE(dllimport)) # define U_EXPORT __declspec(dllexport) #elif defined(__GNUC__) # define U_EXPORT __attribute__((visibility("default"))) @@ -810,7 +839,8 @@ namespace std { #ifdef U_IMPORT /* Use the predefined value. */ -#elif defined(_MSC_VER) || (__has_declspec_attribute(dllexport) && __has_declspec_attribute(dllimport)) +#elif defined(_MSC_VER) || (UPRV_HAS_DECLSPEC_ATTRIBUTE(dllexport) && \ + UPRV_HAS_DECLSPEC_ATTRIBUTE(dllimport)) /* Windows needs to export/import data. */ # define U_IMPORT __declspec(dllimport) #else @@ -852,4 +882,4 @@ namespace std { #endif /* @} */ -#endif +#endif // _PLATFORM_H diff --git a/deps/icu-small/source/common/unicode/rbbi.h b/deps/icu-small/source/common/unicode/rbbi.h index 365ae2d3d2ac75..7825f603a51c1b 100644 --- a/deps/icu-small/source/common/unicode/rbbi.h +++ b/deps/icu-small/source/common/unicode/rbbi.h @@ -18,6 +18,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Rule Based Break Iterator @@ -272,7 +274,7 @@ class U_COMMON_API RuleBasedBreakIterator /*U_FINAL*/ : public BreakIterator { * @return a newly-constructed RuleBasedBreakIterator * @stable ICU 2.0 */ - virtual BreakIterator* clone() const; + virtual RuleBasedBreakIterator* clone() const; /** * Compute a hash code for this BreakIterator @@ -536,6 +538,7 @@ class U_COMMON_API RuleBasedBreakIterator /*U_FINAL*/ : public BreakIterator { */ static UClassID U_EXPORT2 getStaticClassID(void); +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Deprecated functionality. Use clone() instead. * @@ -562,10 +565,10 @@ class U_COMMON_API RuleBasedBreakIterator /*U_FINAL*/ : public BreakIterator { * or if the stackBuffer was too small to hold the clone. * @deprecated ICU 52. Use clone() instead. */ - virtual BreakIterator * createBufferClone(void *stackBuffer, - int32_t &BufferSize, - UErrorCode &status); - + virtual RuleBasedBreakIterator *createBufferClone(void *stackBuffer, + int32_t &BufferSize, + UErrorCode &status); +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Return the binary form of compiled break rules, @@ -696,4 +699,6 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_BREAK_ITERATION */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/rep.h b/deps/icu-small/source/common/unicode/rep.h index b1023a37a2daf1..f66c2ac060e4a8 100644 --- a/deps/icu-small/source/common/unicode/rep.h +++ b/deps/icu-small/source/common/unicode/rep.h @@ -16,6 +16,10 @@ #ifndef REP_H #define REP_H +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" /** @@ -189,9 +193,6 @@ class U_COMMON_API Replaceable : public UObject { * Clones can be used concurrently in multiple threads. * If a subclass does not implement clone(), or if an error occurs, * then NULL is returned. - * The clone functions in all subclasses return a pointer to a Replaceable - * because some compilers do not support covariant (same-as-this) - * return types; cast to the appropriate subclass if necessary. * The caller must delete the clone. * * @return a clone of this object @@ -260,4 +261,6 @@ Replaceable::char32At(int32_t offset) const { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/resbund.h b/deps/icu-small/source/common/unicode/resbund.h index ab0b60bbb28fcc..708a3423d2ae2b 100644 --- a/deps/icu-small/source/common/unicode/resbund.h +++ b/deps/icu-small/source/common/unicode/resbund.h @@ -49,6 +49,9 @@ #define RESBUND_H #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" #include "unicode/ures.h" #include "unicode/unistr.h" @@ -489,4 +492,7 @@ class U_COMMON_API ResourceBundle : public UObject { }; U_NAMESPACE_END + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/schriter.h b/deps/icu-small/source/common/unicode/schriter.h index 1a12769e8df106..4925ecfe444280 100644 --- a/deps/icu-small/source/common/unicode/schriter.h +++ b/deps/icu-small/source/common/unicode/schriter.h @@ -21,6 +21,9 @@ #define SCHRITER_H #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/chariter.h" #include "unicode/uchriter.h" @@ -130,7 +133,7 @@ class U_COMMON_API StringCharacterIterator : public UCharCharacterIterator { * @return the newly cloned object. * @stable ICU 2.0 */ - virtual CharacterIterator* clone(void) const; + virtual StringCharacterIterator* clone() const; /** * Sets the iterator to iterate over the provided string. @@ -186,4 +189,7 @@ class U_COMMON_API StringCharacterIterator : public UCharCharacterIterator { }; U_NAMESPACE_END + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/simpleformatter.h b/deps/icu-small/source/common/unicode/simpleformatter.h index 3f7d93dc094a18..9414bca3085ad4 100644 --- a/deps/icu-small/source/common/unicode/simpleformatter.h +++ b/deps/icu-small/source/common/unicode/simpleformatter.h @@ -17,6 +17,9 @@ */ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/unistr.h" U_NAMESPACE_BEGIN @@ -333,4 +336,6 @@ class U_COMMON_API SimpleFormatter U_FINAL : public UMemory { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __SIMPLEFORMATTER_H__ diff --git a/deps/icu-small/source/common/unicode/std_string.h b/deps/icu-small/source/common/unicode/std_string.h index 729c56399506eb..bf87230167ecf2 100644 --- a/deps/icu-small/source/common/unicode/std_string.h +++ b/deps/icu-small/source/common/unicode/std_string.h @@ -27,6 +27,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + // Workaround for a libstdc++ bug before libstdc++4.6 (2011). // https://bugs.llvm.org/show_bug.cgi?id=13364 #if defined(__GLIBCXX__) @@ -34,4 +36,6 @@ namespace std { class type_info; } #endif #include +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __STD_STRING_H__ diff --git a/deps/icu-small/source/common/unicode/strenum.h b/deps/icu-small/source/common/unicode/strenum.h index fa525d4f5227da..e813cd84b3413a 100644 --- a/deps/icu-small/source/common/unicode/strenum.h +++ b/deps/icu-small/source/common/unicode/strenum.h @@ -12,6 +12,10 @@ #ifndef STRENUM_H #define STRENUM_H +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" #include "unicode/unistr.h" @@ -67,9 +71,6 @@ class U_COMMON_API StringEnumeration : public UObject { * Clones can be used concurrently in multiple threads. * If a subclass does not implement clone(), or if an error occurs, * then NULL is returned. - * The clone functions in all subclasses return a base class pointer - * because some compilers do not support covariant (same-as-this) - * return types; cast to the appropriate subclass if necessary. * The caller must delete the clone. * * @return a clone of this object @@ -274,5 +275,7 @@ class U_COMMON_API StringEnumeration : public UObject { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + /* STRENUM_H */ #endif diff --git a/deps/icu-small/source/common/unicode/stringpiece.h b/deps/icu-small/source/common/unicode/stringpiece.h index 640fbac5a827d0..15cebb0f202fe7 100644 --- a/deps/icu-small/source/common/unicode/stringpiece.h +++ b/deps/icu-small/source/common/unicode/stringpiece.h @@ -28,6 +28,12 @@ */ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + +#include +#include + #include "unicode/uobject.h" #include "unicode/std_string.h" @@ -74,6 +80,33 @@ class U_COMMON_API StringPiece : public UMemory { */ StringPiece(const std::string& str) : ptr_(str.data()), length_(static_cast(str.size())) { } +#ifndef U_HIDE_DRAFT_API + /** + * Constructs from some other implementation of a string piece class, from any + * C++ record type that has these two methods: + * + * \code{.cpp} + * + * struct OtherStringPieceClass { + * const char* data(); + * size_t size(); + * }; + * + * \endcode + * + * The other string piece class will typically be std::string_view from C++17 + * or absl::string_view from Abseil. + * + * @param str the other string piece + * @draft ICU 65 + */ + template ::value && + std::is_same::value>::type> + StringPiece(T str) + : ptr_(str.data()), length_(static_cast(str.size())) {} +#endif // U_HIDE_DRAFT_API /** * Constructs from a const char * pointer and a specified length. * @param offset a const char * pointer (need not be terminated) @@ -221,4 +254,6 @@ inline UBool operator!=(const StringPiece& x, const StringPiece& y) { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __STRINGPIECE_H__ diff --git a/deps/icu-small/source/common/unicode/stringtriebuilder.h b/deps/icu-small/source/common/unicode/stringtriebuilder.h index c27fbd67960d70..2860cbf5513b8e 100644 --- a/deps/icu-small/source/common/unicode/stringtriebuilder.h +++ b/deps/icu-small/source/common/unicode/stringtriebuilder.h @@ -18,6 +18,9 @@ #define __STRINGTRIEBUILDER_H__ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" /** @@ -418,4 +421,6 @@ class U_COMMON_API StringTrieBuilder : public UObject { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __STRINGTRIEBUILDER_H__ diff --git a/deps/icu-small/source/common/unicode/symtable.h b/deps/icu-small/source/common/unicode/symtable.h index c2dc95a61bc020..f5a77b01eced80 100644 --- a/deps/icu-small/source/common/unicode/symtable.h +++ b/deps/icu-small/source/common/unicode/symtable.h @@ -13,6 +13,9 @@ #define SYMTABLE_H #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" /** @@ -111,4 +114,6 @@ class U_COMMON_API SymbolTable /* not : public UObject because this is an interf }; U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/uchar.h b/deps/icu-small/source/common/unicode/uchar.h index d70c964e38e5b8..1b7ee099be7ca2 100644 --- a/deps/icu-small/source/common/unicode/uchar.h +++ b/deps/icu-small/source/common/unicode/uchar.h @@ -2578,8 +2578,6 @@ typedef enum UVerticalOrientation { U_STABLE UBool U_EXPORT2 u_hasBinaryProperty(UChar32 c, UProperty which); -#ifndef U_HIDE_DRAFT_API - /** * Returns a frozen USet for a binary property. * The library retains ownership over the returned object. @@ -2593,13 +2591,11 @@ u_hasBinaryProperty(UChar32 c, UProperty which); * @see UProperty * @see u_hasBinaryProperty * @see Unicode::fromUSet - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI const USet * U_EXPORT2 u_getBinaryPropertySet(UProperty property, UErrorCode *pErrorCode); -#endif // U_HIDE_DRAFT_API - /** * Check if a code point has the Alphabetic Unicode property. * Same as u_hasBinaryProperty(c, UCHAR_ALPHABETIC). @@ -2757,8 +2753,6 @@ u_getIntPropertyMinValue(UProperty which); U_STABLE int32_t U_EXPORT2 u_getIntPropertyMaxValue(UProperty which); -#ifndef U_HIDE_DRAFT_API - /** * Returns an immutable UCPMap for an enumerated/catalog/int-valued property. * The library retains ownership over the returned object. @@ -2772,13 +2766,11 @@ u_getIntPropertyMaxValue(UProperty which); * @return the property as a map * @see UProperty * @see u_getIntPropertyValue - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI const UCPMap * U_EXPORT2 u_getIntPropertyMap(UProperty property, UErrorCode *pErrorCode); -#endif // U_HIDE_DRAFT_API - /** * Get the numeric value for a Unicode code point as defined in the * Unicode Character Database. @@ -3197,15 +3189,14 @@ U_STABLE UBool U_EXPORT2 u_isprint(UChar32 c); /** - * Determines whether the specified code point is a base character. + * Non-standard: Determines whether the specified code point is a base character. * True for general categories "L" (letters), "N" (numbers), * "Mc" (spacing combining marks), and "Me" (enclosing marks). * - * Note that this is different from the Unicode definition in - * chapter 3.5, conformance clause D13, - * which defines base characters to be all characters (not Cn) - * that do not graphically combine with preceding characters (M) - * and that are neither control (Cc) or format (Cf) characters. + * Note that this is different from the Unicode Standard definition in + * chapter 3.6, conformance clause D51 “Base character”, + * which defines base characters as the code points with general categories + * Letter (L), Number (N), Punctuation (P), Symbol (S), or Space Separator (Zs). * * @param c the code point to be tested * @return TRUE if the code point is a base character according to this function diff --git a/deps/icu-small/source/common/unicode/ucharstrie.h b/deps/icu-small/source/common/unicode/ucharstrie.h index dfc93f6d0bae8a..d5729d944ee3a2 100644 --- a/deps/icu-small/source/common/unicode/ucharstrie.h +++ b/deps/icu-small/source/common/unicode/ucharstrie.h @@ -24,6 +24,9 @@ */ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/unistr.h" #include "unicode/uobject.h" #include "unicode/ustringtrie.h" @@ -94,6 +97,41 @@ class U_COMMON_API UCharsTrie : public UMemory { return *this; } +#ifndef U_HIDE_DRAFT_API + /** + * Returns the state of this trie as a 64-bit integer. + * The state value is never 0. + * + * @return opaque state value + * @see resetToState64 + * @draft ICU 65 + */ + uint64_t getState64() const { + return (static_cast(remainingMatchLength_ + 2) << kState64RemainingShift) | + (uint64_t)(pos_ - uchars_); + } + + /** + * Resets this trie to the saved state. + * Unlike resetToState(State), the 64-bit state value + * must be from getState64() from the same trie object or + * from one initialized the exact same way. + * Because of no validation, this method is faster. + * + * @param state The opaque trie state value from getState64(). + * @return *this + * @see getState64 + * @see resetToState + * @see reset + * @draft ICU 65 + */ + UCharsTrie &resetToState64(uint64_t state) { + remainingMatchLength_ = static_cast(state >> kState64RemainingShift) - 2; + pos_ = uchars_ + (state & kState64PosMask); + return *this; + } +#endif /* U_HIDE_DRAFT_API */ + /** * UCharsTrie state object, for saving a trie's current state * and resetting the trie back to this state later. @@ -560,6 +598,13 @@ class U_COMMON_API UCharsTrie : public UMemory { static const int32_t kMaxTwoUnitDelta=((kThreeUnitDeltaLead-kMinTwoUnitDeltaLead)<<16)-1; // 0x03feffff + // For getState64(): + // The remainingMatchLength_ is -1..14=(kMaxLinearMatchLength=0x10)-2 + // so we need at least 5 bits for that. + // We add 2 to store it as a positive value 1..16=kMaxLinearMatchLength. + static constexpr int32_t kState64RemainingShift = 59; + static constexpr uint64_t kState64PosMask = (UINT64_C(1) << kState64RemainingShift) - 1; + char16_t *ownedArray_; // Fixed value referencing the UCharsTrie words. @@ -575,4 +620,6 @@ class U_COMMON_API UCharsTrie : public UMemory { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __UCHARSTRIE_H__ diff --git a/deps/icu-small/source/common/unicode/ucharstriebuilder.h b/deps/icu-small/source/common/unicode/ucharstriebuilder.h index 2aa4757e52cb07..540dcc047fd563 100644 --- a/deps/icu-small/source/common/unicode/ucharstriebuilder.h +++ b/deps/icu-small/source/common/unicode/ucharstriebuilder.h @@ -18,6 +18,9 @@ #define __UCHARSTRIEBUILDER_H__ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/stringtriebuilder.h" #include "unicode/ucharstrie.h" #include "unicode/unistr.h" @@ -184,4 +187,6 @@ class U_COMMON_API UCharsTrieBuilder : public StringTrieBuilder { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __UCHARSTRIEBUILDER_H__ diff --git a/deps/icu-small/source/common/unicode/uchriter.h b/deps/icu-small/source/common/unicode/uchriter.h index 38f67c5b454cba..bee842cc259f07 100644 --- a/deps/icu-small/source/common/unicode/uchriter.h +++ b/deps/icu-small/source/common/unicode/uchriter.h @@ -11,6 +11,9 @@ #define UCHRITER_H #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/chariter.h" /** @@ -132,7 +135,7 @@ class U_COMMON_API UCharCharacterIterator : public CharacterIterator { * @return the CharacterIterator newly created * @stable ICU 2.0 */ - virtual CharacterIterator* clone(void) const; + virtual UCharCharacterIterator* clone() const; /** * Sets the iterator to refer to the first code unit in its @@ -384,4 +387,7 @@ class U_COMMON_API UCharCharacterIterator : public CharacterIterator { }; U_NAMESPACE_END + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/uconfig.h b/deps/icu-small/source/common/unicode/uconfig.h index 9c82d828125603..c0157efe6d4ede 100644 --- a/deps/icu-small/source/common/unicode/uconfig.h +++ b/deps/icu-small/source/common/unicode/uconfig.h @@ -453,4 +453,4 @@ # define UCONFIG_NO_FILTERED_BREAK_ITERATION 0 #endif -#endif +#endif // __UCONFIG_H__ diff --git a/deps/icu-small/source/common/unicode/ucpmap.h b/deps/icu-small/source/common/unicode/ucpmap.h index f2c42b6b7f4bee..31e1365cac850a 100644 --- a/deps/icu-small/source/common/unicode/ucpmap.h +++ b/deps/icu-small/source/common/unicode/ucpmap.h @@ -9,8 +9,6 @@ #include "unicode/utypes.h" -#ifndef U_HIDE_DRAFT_API - U_CDECL_BEGIN /** @@ -28,7 +26,7 @@ U_CDECL_BEGIN * * @see UCPTrie * @see UMutableCPTrie - * @draft ICU 63 + * @stable ICU 63 */ typedef struct UCPMap UCPMap; @@ -39,13 +37,13 @@ typedef struct UCPMap UCPMap; * @see ucpmap_getRange * @see ucptrie_getRange * @see umutablecptrie_getRange - * @draft ICU 63 + * @stable ICU 63 */ enum UCPMapRangeOption { /** * ucpmap_getRange() enumerates all same-value ranges as stored in the map. * Most users should use this option. - * @draft ICU 63 + * @stable ICU 63 */ UCPMAP_RANGE_NORMAL, /** @@ -61,7 +59,7 @@ enum UCPMapRangeOption { * special values optimized for UTF-16 string processing * or for special error behavior for unpaired surrogates, * but those values are not to be associated with the lead surrogate code *points*. - * @draft ICU 63 + * @stable ICU 63 */ UCPMAP_RANGE_FIXED_LEAD_SURROGATES, /** @@ -77,7 +75,7 @@ enum UCPMapRangeOption { * special values optimized for UTF-16 string processing * or for special error behavior for unpaired surrogates, * but those values are not to be associated with the lead surrogate code *points*. - * @draft ICU 63 + * @stable ICU 63 */ UCPMAP_RANGE_FIXED_ALL_SURROGATES }; @@ -93,7 +91,7 @@ typedef enum UCPMapRangeOption UCPMapRangeOption; * @param c the code point * @return the map value, * or an implementation-defined error value if the code point is not in the range 0..U+10FFFF - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI uint32_t U_EXPORT2 ucpmap_get(const UCPMap *map, UChar32 c); @@ -110,7 +108,7 @@ ucpmap_get(const UCPMap *map, UChar32 c); * @param context an opaque pointer, as passed into the getRange function * @param value a value from the map * @return the modified value - * @draft ICU 63 + * @stable ICU 63 */ typedef uint32_t U_CALLCONV UCPMapValueFilter(const void *context, uint32_t value); @@ -149,7 +147,7 @@ UCPMapValueFilter(const void *context, uint32_t value); * may have been modified by filter(context, map value) * if that function pointer is not NULL * @return the range end code point, or -1 if start is not a valid code point - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI UChar32 U_EXPORT2 ucpmap_getRange(const UCPMap *map, UChar32 start, @@ -158,5 +156,4 @@ ucpmap_getRange(const UCPMap *map, UChar32 start, U_CDECL_END -#endif // U_HIDE_DRAFT_API #endif diff --git a/deps/icu-small/source/common/unicode/ucptrie.h b/deps/icu-small/source/common/unicode/ucptrie.h index 2718c984e43197..be06a227928286 100644 --- a/deps/icu-small/source/common/unicode/ucptrie.h +++ b/deps/icu-small/source/common/unicode/ucptrie.h @@ -9,8 +9,6 @@ #include "unicode/utypes.h" -#ifndef U_HIDE_DRAFT_API - #include "unicode/localpointer.h" #include "unicode/ucpmap.h" #include "unicode/utf8.h" @@ -55,7 +53,7 @@ typedef union UCPTrieData { * The macros will return bogus values, or may crash, if used on the wrong type or value width. * * @see UMutableCPTrie - * @draft ICU 63 + * @stable ICU 63 */ struct UCPTrie { #ifndef U_IN_DOXYGEN @@ -115,23 +113,23 @@ typedef struct UCPTrie UCPTrie; * @see umutablecptrie_buildImmutable * @see ucptrie_openFromBinary * @see ucptrie_getType - * @draft ICU 63 + * @stable ICU 63 */ enum UCPTrieType { /** * For ucptrie_openFromBinary() to accept any type. * ucptrie_getType() will return the actual type. - * @draft ICU 63 + * @stable ICU 63 */ UCPTRIE_TYPE_ANY = -1, /** * Fast/simple/larger BMP data structure. Use functions and "fast" macros. - * @draft ICU 63 + * @stable ICU 63 */ UCPTRIE_TYPE_FAST, /** * Small/slower BMP data structure. Use functions and "small" macros. - * @draft ICU 63 + * @stable ICU 63 */ UCPTRIE_TYPE_SMALL }; @@ -145,30 +143,30 @@ typedef enum UCPTrieType UCPTrieType; * @see umutablecptrie_buildImmutable * @see ucptrie_openFromBinary * @see ucptrie_getValueWidth - * @draft ICU 63 + * @stable ICU 63 */ enum UCPTrieValueWidth { /** * For ucptrie_openFromBinary() to accept any data value width. * ucptrie_getValueWidth() will return the actual data value width. - * @draft ICU 63 + * @stable ICU 63 */ UCPTRIE_VALUE_BITS_ANY = -1, /** * The trie stores 16 bits per data value. * It returns them as unsigned values 0..0xffff=65535. - * @draft ICU 63 + * @stable ICU 63 */ UCPTRIE_VALUE_BITS_16, /** * The trie stores 32 bits per data value. - * @draft ICU 63 + * @stable ICU 63 */ UCPTRIE_VALUE_BITS_32, /** * The trie stores 8 bits per data value. * It returns them as unsigned values 0..0xff=255. - * @draft ICU 63 + * @stable ICU 63 */ UCPTRIE_VALUE_BITS_8 }; @@ -200,7 +198,7 @@ typedef enum UCPTrieValueWidth UCPTrieValueWidth; * @see umutablecptrie_open * @see umutablecptrie_buildImmutable * @see ucptrie_toBinary - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI UCPTrie * U_EXPORT2 ucptrie_openFromBinary(UCPTrieType type, UCPTrieValueWidth valueWidth, @@ -211,30 +209,11 @@ ucptrie_openFromBinary(UCPTrieType type, UCPTrieValueWidth valueWidth, * Closes a trie and releases associated memory. * * @param trie the trie - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI void U_EXPORT2 ucptrie_close(UCPTrie *trie); -#if U_SHOW_CPLUSPLUS_API - -U_NAMESPACE_BEGIN - -/** - * \class LocalUCPTriePointer - * "Smart pointer" class, closes a UCPTrie via ucptrie_close(). - * For most methods see the LocalPointerBase base class. - * - * @see LocalPointerBase - * @see LocalPointer - * @draft ICU 63 - */ -U_DEFINE_LOCAL_OPEN_POINTER(LocalUCPTriePointer, UCPTrie, ucptrie_close); - -U_NAMESPACE_END - -#endif - /** * Returns the trie type. * @@ -242,7 +221,7 @@ U_NAMESPACE_END * @return the trie type * @see ucptrie_openFromBinary * @see UCPTRIE_TYPE_ANY - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI UCPTrieType U_EXPORT2 ucptrie_getType(const UCPTrie *trie); @@ -254,7 +233,7 @@ ucptrie_getType(const UCPTrie *trie); * @return the number of bits in a trie data value * @see ucptrie_openFromBinary * @see UCPTRIE_VALUE_BITS_ANY - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI UCPTrieValueWidth U_EXPORT2 ucptrie_getValueWidth(const UCPTrie *trie); @@ -271,7 +250,7 @@ ucptrie_getValueWidth(const UCPTrie *trie); * @param c the code point * @return the trie value, * or the trie error value if the code point is not in the range 0..U+10FFFF - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI uint32_t U_EXPORT2 ucptrie_get(const UCPTrie *trie, UChar32 c); @@ -310,7 +289,7 @@ ucptrie_get(const UCPTrie *trie, UChar32 c); * may have been modified by filter(context, trie value) * if that function pointer is not NULL * @return the range end code point, or -1 if start is not a valid code point - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI UChar32 U_EXPORT2 ucptrie_getRange(const UCPTrie *trie, UChar32 start, @@ -330,7 +309,7 @@ ucptrie_getRange(const UCPTrie *trie, UChar32 start, * @return the number of bytes written or (if buffer overflow) needed for the trie * * @see ucptrie_openFromBinary() - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI int32_t U_EXPORT2 ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *pErrorCode); @@ -341,7 +320,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * * Do not use this macro in any other way. * * @see UCPTRIE_VALUE_BITS_16 - * @draft ICU 63 + * @stable ICU 63 */ #define UCPTRIE_16(trie, i) ((trie)->data.ptr16[i]) @@ -351,7 +330,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * * Do not use this macro in any other way. * * @see UCPTRIE_VALUE_BITS_32 - * @draft ICU 63 + * @stable ICU 63 */ #define UCPTRIE_32(trie, i) ((trie)->data.ptr32[i]) @@ -361,7 +340,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * * Do not use this macro in any other way. * * @see UCPTRIE_VALUE_BITS_8 - * @draft ICU 63 + * @stable ICU 63 */ #define UCPTRIE_8(trie, i) ((trie)->data.ptr8[i]) @@ -373,7 +352,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * * @param dataAccess UCPTRIE_16, UCPTRIE_32, or UCPTRIE_8 according to the trie’s value width * @param c (UChar32, in) the input code point * @return The code point's trie value. - * @draft ICU 63 + * @stable ICU 63 */ #define UCPTRIE_FAST_GET(trie, dataAccess, c) dataAccess(trie, _UCPTRIE_CP_INDEX(trie, 0xffff, c)) @@ -385,7 +364,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * * @param dataAccess UCPTRIE_16, UCPTRIE_32, or UCPTRIE_8 according to the trie’s value width * @param c (UChar32, in) the input code point * @return The code point's trie value. - * @draft ICU 63 + * @stable ICU 63 */ #define UCPTRIE_SMALL_GET(trie, dataAccess, c) \ dataAccess(trie, _UCPTRIE_CP_INDEX(trie, UCPTRIE_SMALL_MAX, c)) @@ -401,9 +380,9 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * * @param limit (const UChar *, in) the limit pointer for the text, or NULL if NUL-terminated * @param c (UChar32, out) variable for the code point * @param result (out) variable for the trie lookup result - * @draft ICU 63 + * @stable ICU 63 */ -#define UCPTRIE_FAST_U16_NEXT(trie, dataAccess, src, limit, c, result) { \ +#define UCPTRIE_FAST_U16_NEXT(trie, dataAccess, src, limit, c, result) UPRV_BLOCK_MACRO_BEGIN { \ (c) = *(src)++; \ int32_t __index; \ if (!U16_IS_SURROGATE(c)) { \ @@ -419,7 +398,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * } \ } \ (result) = dataAccess(trie, __index); \ -} +} UPRV_BLOCK_MACRO_END /** * UTF-16: Reads the previous code point (UChar32 c, out), pre-decrements src, @@ -432,9 +411,9 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * * @param src (const UChar *, in/out) the source text pointer * @param c (UChar32, out) variable for the code point * @param result (out) variable for the trie lookup result - * @draft ICU 63 + * @stable ICU 63 */ -#define UCPTRIE_FAST_U16_PREV(trie, dataAccess, start, src, c, result) { \ +#define UCPTRIE_FAST_U16_PREV(trie, dataAccess, start, src, c, result) UPRV_BLOCK_MACRO_BEGIN { \ (c) = *--(src); \ int32_t __index; \ if (!U16_IS_SURROGATE(c)) { \ @@ -450,7 +429,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * } \ } \ (result) = dataAccess(trie, __index); \ -} +} UPRV_BLOCK_MACRO_END /** * UTF-8: Post-increments src and gets a value from the trie. @@ -466,9 +445,9 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * * @param src (const char *, in/out) the source text pointer * @param limit (const char *, in) the limit pointer for the text (must not be NULL) * @param result (out) variable for the trie lookup result - * @draft ICU 63 + * @stable ICU 63 */ -#define UCPTRIE_FAST_U8_NEXT(trie, dataAccess, src, limit, result) { \ +#define UCPTRIE_FAST_U8_NEXT(trie, dataAccess, src, limit, result) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __lead = (uint8_t)*(src)++; \ if (!U8_IS_SINGLE(__lead)) { \ uint8_t __t1, __t2, __t3; \ @@ -496,7 +475,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * } \ } \ (result) = dataAccess(trie, __lead); \ -} +} UPRV_BLOCK_MACRO_END /** * UTF-8: Pre-decrements src and gets a value from the trie. @@ -512,9 +491,9 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * * @param start (const char *, in) the start pointer for the text * @param src (const char *, in/out) the source text pointer * @param result (out) variable for the trie lookup result - * @draft ICU 63 + * @stable ICU 63 */ -#define UCPTRIE_FAST_U8_PREV(trie, dataAccess, start, src, result) { \ +#define UCPTRIE_FAST_U8_PREV(trie, dataAccess, start, src, result) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __index = (uint8_t)*--(src); \ if (!U8_IS_SINGLE(__index)) { \ __index = ucptrie_internalU8PrevIndex((trie), __index, (const uint8_t *)(start), \ @@ -523,7 +502,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * __index >>= 3; \ } \ (result) = dataAccess(trie, __index); \ -} +} UPRV_BLOCK_MACRO_END /** * Returns a trie value for an ASCII code point, without range checking. @@ -532,7 +511,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * * @param dataAccess UCPTRIE_16, UCPTRIE_32, or UCPTRIE_8 according to the trie’s value width * @param c (UChar32, in) the input code point; must be U+0000..U+007F * @return The ASCII code point's trie value. - * @draft ICU 63 + * @stable ICU 63 */ #define UCPTRIE_ASCII_GET(trie, dataAccess, c) dataAccess(trie, c) @@ -545,7 +524,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * * @param dataAccess UCPTRIE_16, UCPTRIE_32, or UCPTRIE_8 according to the trie’s value width * @param c (UChar32, in) the input code point, must be U+0000..U+FFFF * @return The BMP code point's trie value. - * @draft ICU 63 + * @stable ICU 63 */ #define UCPTRIE_FAST_BMP_GET(trie, dataAccess, c) dataAccess(trie, _UCPTRIE_FAST_INDEX(trie, c)) @@ -557,7 +536,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode * * @param dataAccess UCPTRIE_16, UCPTRIE_32, or UCPTRIE_8 according to the trie’s value width * @param c (UChar32, in) the input code point, must be U+10000..U+10FFFF * @return The supplementary code point's trie value. - * @draft ICU 63 + * @stable ICU 63 */ #define UCPTRIE_FAST_SUPP_GET(trie, dataAccess, c) dataAccess(trie, _UCPTRIE_SMALL_INDEX(trie, c)) @@ -642,5 +621,24 @@ ucptrie_internalU8PrevIndex(const UCPTrie *trie, UChar32 c, U_CDECL_END #endif // U_IN_DOXYGEN -#endif // U_HIDE_DRAFT_API + +#if U_SHOW_CPLUSPLUS_API + +U_NAMESPACE_BEGIN + +/** + * \class LocalUCPTriePointer + * "Smart pointer" class, closes a UCPTrie via ucptrie_close(). + * For most methods see the LocalPointerBase base class. + * + * @see LocalPointerBase + * @see LocalPointer + * @stable ICU 63 + */ +U_DEFINE_LOCAL_OPEN_POINTER(LocalUCPTriePointer, UCPTrie, ucptrie_close); + +U_NAMESPACE_END + +#endif // U_SHOW_CPLUSPLUS_API + #endif diff --git a/deps/icu-small/source/common/unicode/ucurr.h b/deps/icu-small/source/common/unicode/ucurr.h index a1c6de80b772f7..7149e7adf13067 100644 --- a/deps/icu-small/source/common/unicode/ucurr.h +++ b/deps/icu-small/source/common/unicode/ucurr.h @@ -159,14 +159,14 @@ ucurr_unregister(UCurrRegistryKey key, UErrorCode* status); * @param currency null-terminated 3-letter ISO 4217 code * @param locale locale in which to display currency * @param nameStyle selector for which kind of name to return - * @param isChoiceFormat fill-in set to TRUE if the returned value - * is a ChoiceFormat pattern; otherwise it is a static string + * @param isChoiceFormat always set to FALSE, or can be NULL; + * display names are static strings; + * since ICU 4.4, ChoiceFormat patterns are no longer supported * @param len fill-in parameter to receive length of result * @param ec error code * @return pointer to display string of 'len' UChars. If the resource * data contains no entry for 'currency', then 'currency' itself is - * returned. If *isChoiceFormat is TRUE, then the result is a - * ChoiceFormat pattern. Otherwise it is a static string. + * returned. * @stable ICU 2.6 */ U_STABLE const UChar* U_EXPORT2 @@ -183,8 +183,9 @@ ucurr_getName(const UChar* currency, * currency object in the en_US locale is "US dollar" or "US dollars". * @param currency null-terminated 3-letter ISO 4217 code * @param locale locale in which to display currency - * @param isChoiceFormat fill-in set to TRUE if the returned value - * is a ChoiceFormat pattern; otherwise it is a static string + * @param isChoiceFormat always set to FALSE, or can be NULL; + * display names are static strings; + * since ICU 4.4, ChoiceFormat patterns are no longer supported * @param pluralCount plural count * @param len fill-in parameter to receive length of result * @param ec error code @@ -320,7 +321,7 @@ typedef enum UCurrCurrencyType { * Provides a UEnumeration object for listing ISO-4217 codes. * @param currType You can use one of several UCurrCurrencyType values for this * variable. You can also | (or) them together to get a specific list of - * currencies. Most people will want to use the (UCURR_CURRENCY|UCURR_NON_DEPRECATED) value to + * currencies. Most people will want to use the (UCURR_COMMON|UCURR_NON_DEPRECATED) value to * get a list of current currencies. * @param pErrorCode Error code * @stable ICU 3.2 diff --git a/deps/icu-small/source/common/unicode/udata.h b/deps/icu-small/source/common/unicode/udata.h index 6419c359f606af..8236877b443d3d 100644 --- a/deps/icu-small/source/common/unicode/udata.h +++ b/deps/icu-small/source/common/unicode/udata.h @@ -264,25 +264,6 @@ udata_openChoice(const char *path, const char *type, const char *name, U_STABLE void U_EXPORT2 udata_close(UDataMemory *pData); -#if U_SHOW_CPLUSPLUS_API - -U_NAMESPACE_BEGIN - -/** - * \class LocalUDataMemoryPointer - * "Smart pointer" class, closes a UDataMemory via udata_close(). - * For most methods see the LocalPointerBase base class. - * - * @see LocalPointerBase - * @see LocalPointer - * @stable ICU 4.4 - */ -U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close); - -U_NAMESPACE_END - -#endif - /** * Get the pointer to the actual data inside the data memory. * The data is read-only. @@ -434,4 +415,23 @@ udata_setFileAccess(UDataFileAccess access, UErrorCode *status); U_CDECL_END +#if U_SHOW_CPLUSPLUS_API + +U_NAMESPACE_BEGIN + +/** + * \class LocalUDataMemoryPointer + * "Smart pointer" class, closes a UDataMemory via udata_close(). + * For most methods see the LocalPointerBase base class. + * + * @see LocalPointerBase + * @see LocalPointer + * @stable ICU 4.4 + */ +U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close); + +U_NAMESPACE_END + +#endif // U_SHOW_CPLUSPLUS_API + #endif diff --git a/deps/icu-small/source/common/unicode/uloc.h b/deps/icu-small/source/common/unicode/uloc.h index 5531070841187d..882f79bedca62c 100644 --- a/deps/icu-small/source/common/unicode/uloc.h +++ b/deps/icu-small/source/common/unicode/uloc.h @@ -742,12 +742,18 @@ uloc_getDisplayName(const char* localeID, /** - * Gets the specified locale from a list of all available locales. - * The return value is a pointer to an item of - * a locale name array. Both this array and the pointers - * it contains are owned by ICU and should not be deleted or written through - * by the caller. The locale name is terminated by a null pointer. - * @param n the specific locale name index of the available locale list + * Gets the specified locale from a list of available locales. + * + * This method corresponds to uloc_openAvailableByType called with the + * ULOC_AVAILABLE_DEFAULT type argument. + * + * The return value is a pointer to an item of a locale name array. Both this + * array and the pointers it contains are owned by ICU and should not be + * deleted or written through by the caller. The locale name is terminated by + * a null pointer. + * + * @param n the specific locale name index of the available locale list; + * should not exceed the number returned by uloc_countAvailable. * @return a specified locale name of all available locales * @stable ICU 2.0 */ @@ -762,6 +768,72 @@ uloc_getAvailable(int32_t n); */ U_STABLE int32_t U_EXPORT2 uloc_countAvailable(void); +#ifndef U_HIDE_DRAFT_API + +/** + * Types for uloc_getAvailableByType and uloc_countAvailableByType. + * + * @draft ICU 65 + */ +typedef enum ULocAvailableType { + /** + * Locales that return data when passed to ICU APIs, + * but not including legacy or alias locales. + * + * @draft ICU 65 + */ + ULOC_AVAILABLE_DEFAULT, + + /** + * Legacy or alias locales that return data when passed to ICU APIs. + * Examples of supported legacy or alias locales: + * + * - iw (alias to he) + * - mo (alias to ro) + * - zh_CN (alias to zh_Hans_CN) + * - sr_BA (alias to sr_Cyrl_BA) + * - ars (alias to ar_SA) + * + * The locales in this set are disjoint from the ones in + * ULOC_AVAILABLE_DEFAULT. To get both sets at the same time, use + * ULOC_AVAILABLE_WITH_LEGACY_ALIASES. + * + * @draft ICU 65 + */ + ULOC_AVAILABLE_ONLY_LEGACY_ALIASES, + + /** + * The union of the locales in ULOC_AVAILABLE_DEFAULT and + * ULOC_AVAILABLE_ONLY_LEGACY_ALIAS. + * + * @draft ICU 65 + */ + ULOC_AVAILABLE_WITH_LEGACY_ALIASES, + +#ifndef U_HIDE_INTERNAL_API + /** + * @internal + */ + ULOC_AVAILABLE_COUNT +#endif +} ULocAvailableType; + +/** + * Gets a list of available locales according to the type argument, allowing + * the user to access different sets of supported locales in ICU. + * + * The returned UEnumeration must be closed by the caller. + * + * @param type Type choice from ULocAvailableType. + * @param status Set if an error occurred. + * @return a UEnumeration owned by the caller, or nullptr on failure. + * @draft ICU 65 + */ +U_DRAFT UEnumeration* U_EXPORT2 +uloc_openAvailableByType(ULocAvailableType type, UErrorCode* status); + +#endif // U_HIDE_DRAFT_API + /** * * Gets a list of all available 2-letter language codes defined in ISO 639, diff --git a/deps/icu-small/source/common/unicode/umachine.h b/deps/icu-small/source/common/unicode/umachine.h index 6d932cfcfb2ae4..5cb95e58f37295 100644 --- a/deps/icu-small/source/common/unicode/umachine.h +++ b/deps/icu-small/source/common/unicode/umachine.h @@ -140,6 +140,42 @@ #define U_FINAL final #endif +// Before ICU 65, function-like, multi-statement ICU macros were just defined as +// series of statements wrapped in { } blocks and the caller could choose to +// either treat them as if they were actual functions and end the invocation +// with a trailing ; creating an empty statement after the block or else omit +// this trailing ; using the knowledge that the macro would expand to { }. +// +// But doing so doesn't work well with macros that look like functions and +// compiler warnings about empty statements (ICU-20601) and ICU 65 therefore +// switches to the standard solution of wrapping such macros in do { } while. +// +// This will however break existing code that depends on being able to invoke +// these macros without a trailing ; so to be able to remain compatible with +// such code the wrapper is itself defined as macros so that it's possible to +// build ICU 65 and later with the old macro behaviour, like this: +// +// export CPPFLAGS='-DUPRV_BLOCK_MACRO_BEGIN="" -DUPRV_BLOCK_MACRO_END=""' +// runConfigureICU ... +// + +/** + * \def UPRV_BLOCK_MACRO_BEGIN + * Defined as the "do" keyword by default. + * @internal + */ +#ifndef UPRV_BLOCK_MACRO_BEGIN +#define UPRV_BLOCK_MACRO_BEGIN do +#endif + +/** + * \def UPRV_BLOCK_MACRO_END + * Defined as "while (FALSE)" by default. + * @internal + */ +#ifndef UPRV_BLOCK_MACRO_END +#define UPRV_BLOCK_MACRO_END while (FALSE) +#endif /*==========================================================================*/ /* limits for int32_t etc., like in POSIX inttypes.h */ diff --git a/deps/icu-small/source/common/unicode/umutablecptrie.h b/deps/icu-small/source/common/unicode/umutablecptrie.h index e75191a4495209..13e71ef25e8c87 100644 --- a/deps/icu-small/source/common/unicode/umutablecptrie.h +++ b/deps/icu-small/source/common/unicode/umutablecptrie.h @@ -9,8 +9,6 @@ #include "unicode/utypes.h" -#ifndef U_HIDE_DRAFT_API - #include "unicode/localpointer.h" #include "unicode/ucpmap.h" #include "unicode/ucptrie.h" @@ -44,7 +42,7 @@ U_CDECL_BEGIN * * @see UCPTrie * @see umutablecptrie_buildImmutable - * @draft ICU 63 + * @stable ICU 63 */ typedef struct UMutableCPTrie UMutableCPTrie; @@ -59,7 +57,7 @@ typedef struct UMutableCPTrie UMutableCPTrie; * @param errorValue the value for out-of-range code points and ill-formed UTF-8/16 * @param pErrorCode an in/out ICU UErrorCode * @return the trie - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI UMutableCPTrie * U_EXPORT2 umutablecptrie_open(uint32_t initialValue, uint32_t errorValue, UErrorCode *pErrorCode); @@ -71,7 +69,7 @@ umutablecptrie_open(uint32_t initialValue, uint32_t errorValue, UErrorCode *pErr * @param other the trie to clone * @param pErrorCode an in/out ICU UErrorCode * @return the trie clone - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI UMutableCPTrie * U_EXPORT2 umutablecptrie_clone(const UMutableCPTrie *other, UErrorCode *pErrorCode); @@ -80,7 +78,7 @@ umutablecptrie_clone(const UMutableCPTrie *other, UErrorCode *pErrorCode); * Closes a mutable trie and releases associated memory. * * @param trie the trie - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI void U_EXPORT2 umutablecptrie_close(UMutableCPTrie *trie); @@ -96,7 +94,7 @@ U_NAMESPACE_BEGIN * * @see LocalPointerBase * @see LocalPointer - * @draft ICU 63 + * @stable ICU 63 */ U_DEFINE_LOCAL_OPEN_POINTER(LocalUMutableCPTriePointer, UMutableCPTrie, umutablecptrie_close); @@ -111,7 +109,7 @@ U_NAMESPACE_END * @param map the source map * @param pErrorCode an in/out ICU UErrorCode * @return the mutable trie - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI UMutableCPTrie * U_EXPORT2 umutablecptrie_fromUCPMap(const UCPMap *map, UErrorCode *pErrorCode); @@ -123,7 +121,7 @@ umutablecptrie_fromUCPMap(const UCPMap *map, UErrorCode *pErrorCode); * @param trie the immutable trie * @param pErrorCode an in/out ICU UErrorCode * @return the mutable trie - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI UMutableCPTrie * U_EXPORT2 umutablecptrie_fromUCPTrie(const UCPTrie *trie, UErrorCode *pErrorCode); @@ -134,7 +132,7 @@ umutablecptrie_fromUCPTrie(const UCPTrie *trie, UErrorCode *pErrorCode); * @param trie the trie * @param c the code point * @return the value - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI uint32_t U_EXPORT2 umutablecptrie_get(const UMutableCPTrie *trie, UChar32 c); @@ -166,7 +164,7 @@ umutablecptrie_get(const UMutableCPTrie *trie, UChar32 c); * may have been modified by filter(context, trie value) * if that function pointer is not NULL * @return the range end code point, or -1 if start is not a valid code point - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI UChar32 U_EXPORT2 umutablecptrie_getRange(const UMutableCPTrie *trie, UChar32 start, @@ -180,7 +178,7 @@ umutablecptrie_getRange(const UMutableCPTrie *trie, UChar32 start, * @param c the code point * @param value the value * @param pErrorCode an in/out ICU UErrorCode - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI void U_EXPORT2 umutablecptrie_set(UMutableCPTrie *trie, UChar32 c, uint32_t value, UErrorCode *pErrorCode); @@ -194,7 +192,7 @@ umutablecptrie_set(UMutableCPTrie *trie, UChar32 c, uint32_t value, UErrorCode * * @param end the last code point to get the value (inclusive) * @param value the value * @param pErrorCode an in/out ICU UErrorCode - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI void U_EXPORT2 umutablecptrie_setRange(UMutableCPTrie *trie, @@ -229,7 +227,7 @@ umutablecptrie_setRange(UMutableCPTrie *trie, * @param pErrorCode an in/out ICU UErrorCode * * @see umutablecptrie_fromUCPTrie - * @draft ICU 63 + * @stable ICU 63 */ U_CAPI UCPTrie * U_EXPORT2 umutablecptrie_buildImmutable(UMutableCPTrie *trie, UCPTrieType type, UCPTrieValueWidth valueWidth, @@ -237,5 +235,4 @@ umutablecptrie_buildImmutable(UMutableCPTrie *trie, UCPTrieType type, UCPTrieVal U_CDECL_END -#endif // U_HIDE_DRAFT_API #endif diff --git a/deps/icu-small/source/common/unicode/unifilt.h b/deps/icu-small/source/common/unicode/unifilt.h index 99cce785b6eec8..1a77089233bf10 100644 --- a/deps/icu-small/source/common/unicode/unifilt.h +++ b/deps/icu-small/source/common/unicode/unifilt.h @@ -12,6 +12,10 @@ #ifndef UNIFILT_H #define UNIFILT_H +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/unifunct.h" #include "unicode/unimatch.h" @@ -67,6 +71,14 @@ class U_COMMON_API UnicodeFilter : public UnicodeFunctor, public UnicodeMatcher */ virtual ~UnicodeFilter(); + /** + * Clones this object polymorphically. + * The caller owns the result and should delete it when done. + * @return clone, or nullptr if an error occurred + * @stable ICU 2.4 + */ + virtual UnicodeFilter* clone() const = 0; + /** * Returns true for characters that are in the selected * subset. In other words, if a character is to be @@ -119,4 +131,6 @@ class U_COMMON_API UnicodeFilter : public UnicodeFunctor, public UnicodeMatcher U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/unifunct.h b/deps/icu-small/source/common/unicode/unifunct.h index 66a02ce7cd5ce8..2b1b766ea76187 100644 --- a/deps/icu-small/source/common/unicode/unifunct.h +++ b/deps/icu-small/source/common/unicode/unifunct.h @@ -13,6 +13,9 @@ #define UNIFUNCT_H #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" /** @@ -124,4 +127,6 @@ class U_COMMON_API UnicodeFunctor : public UObject { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/unimatch.h b/deps/icu-small/source/common/unicode/unimatch.h index 8bf39950187b1b..2d3c5210c38e25 100644 --- a/deps/icu-small/source/common/unicode/unimatch.h +++ b/deps/icu-small/source/common/unicode/unimatch.h @@ -17,6 +17,7 @@ * \brief C++ API: Unicode Matcher */ +#if U_SHOW_CPLUSPLUS_API U_NAMESPACE_BEGIN @@ -162,4 +163,6 @@ class U_COMMON_API UnicodeMatcher /* not : public UObject because this is an int U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/uniset.h b/deps/icu-small/source/common/unicode/uniset.h index e5e7726d604a73..18cc9376442a2f 100644 --- a/deps/icu-small/source/common/unicode/uniset.h +++ b/deps/icu-small/source/common/unicode/uniset.h @@ -13,6 +13,10 @@ #ifndef UNICODESET_H #define UNICODESET_H +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/ucpmap.h" #include "unicode/unifilt.h" #include "unicode/unistr.h" @@ -501,7 +505,7 @@ class U_COMMON_API UnicodeSet U_FINAL : public UnicodeFilter { * @see cloneAsThawed * @stable ICU 2.0 */ - virtual UnicodeFunctor* clone() const; + virtual UnicodeSet* clone() const; /** * Returns the hash code value for this set. @@ -579,7 +583,7 @@ class U_COMMON_API UnicodeSet U_FINAL : public UnicodeFilter { * @see cloneAsThawed * @stable ICU 3.8 */ - UnicodeFunctor *freeze(); + UnicodeSet *freeze(); /** * Clone the set and make the clone mutable. @@ -589,7 +593,7 @@ class U_COMMON_API UnicodeSet U_FINAL : public UnicodeFilter { * @see isFrozen * @stable ICU 3.8 */ - UnicodeFunctor *cloneAsThawed() const; + UnicodeSet *cloneAsThawed() const; //---------------------------------------------------------------- // Public API @@ -1651,11 +1655,10 @@ class U_COMMON_API UnicodeSet U_FINAL : public UnicodeFilter { const UnicodeSet* inclusions, UErrorCode &status); -#ifndef U_HIDE_DRAFT_API // Skipped: ucpmap.h is draft only. + // UCPMap is now stable ICU 63 void applyIntPropertyValue(const UCPMap *map, UCPMapValueFilter *filter, const void *context, UErrorCode &errorCode); -#endif /* U_HIDE_DRAFT_API */ /** * Set the new pattern to cache. @@ -1736,4 +1739,6 @@ inline int32_t UnicodeSet::spanBack(const UnicodeString &s, int32_t limit, USetS U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/unistr.h b/deps/icu-small/source/common/unicode/unistr.h index 8fd144425e87c0..da79053765acf6 100644 --- a/deps/icu-small/source/common/unicode/unistr.h +++ b/deps/icu-small/source/common/unicode/unistr.h @@ -28,8 +28,11 @@ * \brief C++ API: Unicode String */ -#include #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + +#include #include "unicode/char16ptr.h" #include "unicode/rep.h" #include "unicode/std_string.h" @@ -209,7 +212,9 @@ class UnicodeStringAppendable; // unicode/appendable.h * similar functionality as the Java String and StringBuffer/StringBuilder classes. * It is a concrete implementation of the abstract class Replaceable (for transliteration). * - * A UnicodeString may also "alias" an external array of characters + * The UnicodeString equivalent of std::string’s clear() is remove(). + * + * A UnicodeString may "alias" an external array of characters * (that is, point to it, rather than own the array) * whose lifetime must then at least match the lifetime of the aliasing object. * This aliasing may be preserved when returning a UnicodeString by value, @@ -2092,8 +2097,7 @@ class U_COMMON_API UnicodeString : public Replaceable * s.truncate(0); // set to an empty string (complete truncation), or * s=UnicodeString(); // assign an empty string, or * s.setTo((UChar32)-1); // set to a pseudo code point that is out of range, or - * static const char16_t nul=0; - * s.setTo(&nul, 0); // set to an empty C Unicode string + * s.setTo(u"", 0); // set to an empty C Unicode string * } * \endcode * @@ -2534,11 +2538,14 @@ class U_COMMON_API UnicodeString : public Replaceable /* Remove operations */ /** - * Remove all characters from the UnicodeString object. + * Removes all characters from the UnicodeString object and clears the bogus flag. + * This is the UnicodeString equivalent of std::string’s clear(). + * * @return a reference to this + * @see setToBogus * @stable ICU 2.0 */ - inline UnicodeString& remove(void); + inline UnicodeString& remove(); /** * Remove the characters in the range @@ -3034,11 +3041,11 @@ class U_COMMON_API UnicodeString : public Replaceable * uint16_t * constructor. * Delegates to UnicodeString(const char16_t *, int32_t). * @param text UTF-16 string - * @param length string length + * @param textLength string length * @stable ICU 59 */ - UnicodeString(const uint16_t *text, int32_t length) : - UnicodeString(ConstChar16Ptr(text), length) {} + UnicodeString(const uint16_t *text, int32_t textLength) : + UnicodeString(ConstChar16Ptr(text), textLength) {} #endif #if U_SIZEOF_WCHAR_T==2 || defined(U_IN_DOXYGEN) @@ -3047,21 +3054,21 @@ class U_COMMON_API UnicodeString : public Replaceable * (Only defined if U_SIZEOF_WCHAR_T==2.) * Delegates to UnicodeString(const char16_t *, int32_t). * @param text NUL-terminated UTF-16 string - * @param length string length + * @param textLength string length * @stable ICU 59 */ - UnicodeString(const wchar_t *text, int32_t length) : - UnicodeString(ConstChar16Ptr(text), length) {} + UnicodeString(const wchar_t *text, int32_t textLength) : + UnicodeString(ConstChar16Ptr(text), textLength) {} #endif /** * nullptr_t constructor. * Effectively the same as the default constructor, makes an empty string object. * @param text nullptr - * @param length ignored + * @param textLength ignored * @stable ICU 59 */ - inline UnicodeString(const std::nullptr_t text, int32_t length); + inline UnicodeString(const std::nullptr_t text, int32_t textLength); /** * Readonly-aliasing char16_t* constructor. @@ -3266,13 +3273,13 @@ class U_COMMON_API UnicodeString : public Replaceable * } * \endcode * @param src String using only invariant characters. - * @param length Length of src, or -1 if NUL-terminated. + * @param textLength Length of src, or -1 if NUL-terminated. * @param inv Signature-distinguishing paramater, use US_INV. * * @see US_INV * @stable ICU 3.2 */ - UnicodeString(const char *src, int32_t length, enum EInvariant inv); + UnicodeString(const char *src, int32_t textLength, enum EInvariant inv); /** @@ -3323,9 +3330,6 @@ class U_COMMON_API UnicodeString : public Replaceable * Clones can be used concurrently in multiple threads. * If a subclass does not implement clone(), or if an error occurs, * then NULL is returned. - * The clone functions in all subclasses return a pointer to a Replaceable - * because some compilers do not support covariant (same-as-this) - * return types; cast to the appropriate subclass if necessary. * The caller must delete the clone. * * @return a clone of this object @@ -3334,7 +3338,7 @@ class U_COMMON_API UnicodeString : public Replaceable * @see getDynamicClassID * @stable ICU 2.6 */ - virtual Replaceable *clone() const; + virtual UnicodeString *clone() const; /** Destructor. * @stable ICU 2.0 @@ -4748,4 +4752,6 @@ UnicodeString::reverse(int32_t start, U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/unorm.h b/deps/icu-small/source/common/unicode/unorm.h index 3839de129573c1..09dd366a968c1b 100644 --- a/deps/icu-small/source/common/unicode/unorm.h +++ b/deps/icu-small/source/common/unicode/unorm.h @@ -131,6 +131,8 @@ // Do not conditionalize the following enum with #ifndef U_HIDE_DEPRECATED_API, // it is needed for layout of Normalizer object. +#ifndef U_FORCE_HIDE_DEPRECATED_API + /** * Constants for normalization modes. * @deprecated ICU 56 Use unorm2.h instead. @@ -155,6 +157,8 @@ typedef enum { UNORM_MODE_COUNT } UNormalizationMode; +#endif // U_FORCE_HIDE_DEPRECATED_API + #ifndef U_HIDE_DEPRECATED_API /** diff --git a/deps/icu-small/source/common/unicode/uobject.h b/deps/icu-small/source/common/unicode/uobject.h index 53b8eb005f4cc0..6a137af83c2456 100644 --- a/deps/icu-small/source/common/unicode/uobject.h +++ b/deps/icu-small/source/common/unicode/uobject.h @@ -20,6 +20,9 @@ #define __UOBJECT_H__ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/platform.h" /** @@ -43,7 +46,7 @@ * @stable ICU 4.2. Since ICU 64, Use U_NOEXCEPT instead. See ICU-20422. */ #ifndef U_NO_THROW -#define U_NO_THROW throw() +#define U_NO_THROW U_NOEXCEPT #endif /*===========================================================================*/ @@ -212,11 +215,8 @@ class U_COMMON_API UMemory { * The clone() function is not available in UObject because it is not * implemented by all ICU classes. * Many ICU services provide a clone() function for their class trees, - * defined on the service's C++ base class, and all subclasses within that - * service class tree return a pointer to the service base class + * defined on the service's C++ base class * (which itself is a subclass of UObject). - * This is because some compilers do not support covariant (same-as-this) - * return types; cast to the appropriate subclass if necessary. * * @stable ICU 2.2 */ @@ -319,4 +319,6 @@ class U_COMMON_API UObject : public UMemory { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/urename.h b/deps/icu-small/source/common/unicode/urename.h index eaf56c9614d7f2..e302bf0976e01d 100644 --- a/deps/icu-small/source/common/unicode/urename.h +++ b/deps/icu-small/source/common/unicode/urename.h @@ -193,10 +193,13 @@ #define res_getAlias U_ICU_ENTRY_POINT_RENAME(res_getAlias) #define res_getArrayItem U_ICU_ENTRY_POINT_RENAME(res_getArrayItem) #define res_getBinary U_ICU_ENTRY_POINT_RENAME(res_getBinary) +#define res_getBinaryNoTrace U_ICU_ENTRY_POINT_RENAME(res_getBinaryNoTrace) #define res_getIntVector U_ICU_ENTRY_POINT_RENAME(res_getIntVector) +#define res_getIntVectorNoTrace U_ICU_ENTRY_POINT_RENAME(res_getIntVectorNoTrace) #define res_getPublicType U_ICU_ENTRY_POINT_RENAME(res_getPublicType) #define res_getResource U_ICU_ENTRY_POINT_RENAME(res_getResource) #define res_getString U_ICU_ENTRY_POINT_RENAME(res_getString) +#define res_getStringNoTrace U_ICU_ENTRY_POINT_RENAME(res_getStringNoTrace) #define res_getTableItemByIndex U_ICU_ENTRY_POINT_RENAME(res_getTableItemByIndex) #define res_getTableItemByKey U_ICU_ENTRY_POINT_RENAME(res_getTableItemByKey) #define res_load U_ICU_ENTRY_POINT_RENAME(res_load) @@ -523,6 +526,7 @@ #define ucal_getDefaultTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_getDefaultTimeZone) #define ucal_getFieldDifference U_ICU_ENTRY_POINT_RENAME(ucal_getFieldDifference) #define ucal_getGregorianChange U_ICU_ENTRY_POINT_RENAME(ucal_getGregorianChange) +#define ucal_getHostTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_getHostTimeZone) #define ucal_getKeywordValuesForLocale U_ICU_ENTRY_POINT_RENAME(ucal_getKeywordValuesForLocale) #define ucal_getLimit U_ICU_ENTRY_POINT_RENAME(ucal_getLimit) #define ucal_getLocaleByType U_ICU_ENTRY_POINT_RENAME(ucal_getLocaleByType) @@ -575,7 +579,6 @@ #define ucasemap_getLocale U_ICU_ENTRY_POINT_RENAME(ucasemap_getLocale) #define ucasemap_getOptions U_ICU_ENTRY_POINT_RENAME(ucasemap_getOptions) #define ucasemap_internalUTF8ToTitle U_ICU_ENTRY_POINT_RENAME(ucasemap_internalUTF8ToTitle) -#define ucasemap_mapUTF8 U_ICU_ENTRY_POINT_RENAME(ucasemap_mapUTF8) #define ucasemap_open U_ICU_ENTRY_POINT_RENAME(ucasemap_open) #define ucasemap_setBreakIterator U_ICU_ENTRY_POINT_RENAME(ucasemap_setBreakIterator) #define ucasemap_setLocale U_ICU_ENTRY_POINT_RENAME(ucasemap_setLocale) @@ -930,16 +933,9 @@ #define ufieldpositer_close U_ICU_ENTRY_POINT_RENAME(ufieldpositer_close) #define ufieldpositer_next U_ICU_ENTRY_POINT_RENAME(ufieldpositer_next) #define ufieldpositer_open U_ICU_ENTRY_POINT_RENAME(ufieldpositer_open) -#define ufile_close_translit U_ICU_ENTRY_POINT_RENAME(ufile_close_translit) -#define ufile_fill_uchar_buffer U_ICU_ENTRY_POINT_RENAME(ufile_fill_uchar_buffer) -#define ufile_flush_io U_ICU_ENTRY_POINT_RENAME(ufile_flush_io) -#define ufile_flush_translit U_ICU_ENTRY_POINT_RENAME(ufile_flush_translit) #define ufile_getch U_ICU_ENTRY_POINT_RENAME(ufile_getch) #define ufile_getch32 U_ICU_ENTRY_POINT_RENAME(ufile_getch32) -#define ufmt_64tou U_ICU_ENTRY_POINT_RENAME(ufmt_64tou) #define ufmt_close U_ICU_ENTRY_POINT_RENAME(ufmt_close) -#define ufmt_defaultCPToUnicode U_ICU_ENTRY_POINT_RENAME(ufmt_defaultCPToUnicode) -#define ufmt_digitvalue U_ICU_ENTRY_POINT_RENAME(ufmt_digitvalue) #define ufmt_getArrayItemByIndex U_ICU_ENTRY_POINT_RENAME(ufmt_getArrayItemByIndex) #define ufmt_getArrayLength U_ICU_ENTRY_POINT_RENAME(ufmt_getArrayLength) #define ufmt_getDate U_ICU_ENTRY_POINT_RENAME(ufmt_getDate) @@ -951,11 +947,7 @@ #define ufmt_getType U_ICU_ENTRY_POINT_RENAME(ufmt_getType) #define ufmt_getUChars U_ICU_ENTRY_POINT_RENAME(ufmt_getUChars) #define ufmt_isNumeric U_ICU_ENTRY_POINT_RENAME(ufmt_isNumeric) -#define ufmt_isdigit U_ICU_ENTRY_POINT_RENAME(ufmt_isdigit) #define ufmt_open U_ICU_ENTRY_POINT_RENAME(ufmt_open) -#define ufmt_ptou U_ICU_ENTRY_POINT_RENAME(ufmt_ptou) -#define ufmt_uto64 U_ICU_ENTRY_POINT_RENAME(ufmt_uto64) -#define ufmt_utop U_ICU_ENTRY_POINT_RENAME(ufmt_utop) #define ufmtval_getString U_ICU_ENTRY_POINT_RENAME(ufmtval_getString) #define ufmtval_nextPosition U_ICU_ENTRY_POINT_RENAME(ufmtval_nextPosition) #define ugender_getInstance U_ICU_ENTRY_POINT_RENAME(ugender_getInstance) @@ -1103,6 +1095,7 @@ #define uloc_getVariant U_ICU_ENTRY_POINT_RENAME(uloc_getVariant) #define uloc_isRightToLeft U_ICU_ENTRY_POINT_RENAME(uloc_isRightToLeft) #define uloc_minimizeSubtags U_ICU_ENTRY_POINT_RENAME(uloc_minimizeSubtags) +#define uloc_openAvailableByType U_ICU_ENTRY_POINT_RENAME(uloc_openAvailableByType) #define uloc_openKeywordList U_ICU_ENTRY_POINT_RENAME(uloc_openKeywordList) #define uloc_openKeywords U_ICU_ENTRY_POINT_RENAME(uloc_openKeywords) #define uloc_setDefault U_ICU_ENTRY_POINT_RENAME(uloc_setDefault) @@ -1159,9 +1152,6 @@ #define umsg_toPattern U_ICU_ENTRY_POINT_RENAME(umsg_toPattern) #define umsg_vformat U_ICU_ENTRY_POINT_RENAME(umsg_vformat) #define umsg_vparse U_ICU_ENTRY_POINT_RENAME(umsg_vparse) -#define umtx_condBroadcast U_ICU_ENTRY_POINT_RENAME(umtx_condBroadcast) -#define umtx_condSignal U_ICU_ENTRY_POINT_RENAME(umtx_condSignal) -#define umtx_condWait U_ICU_ENTRY_POINT_RENAME(umtx_condWait) #define umtx_lock U_ICU_ENTRY_POINT_RENAME(umtx_lock) #define umtx_unlock U_ICU_ENTRY_POINT_RENAME(umtx_unlock) #define umutablecptrie_buildImmutable U_ICU_ENTRY_POINT_RENAME(umutablecptrie_buildImmutable) @@ -1327,7 +1317,6 @@ #define uprv_decNumberAbs U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAbs) #define uprv_decNumberAdd U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAdd) #define uprv_decNumberAnd U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAnd) -#define uprv_decNumberClass U_ICU_ENTRY_POINT_RENAME(uprv_decNumberClass) #define uprv_decNumberClassToString U_ICU_ENTRY_POINT_RENAME(uprv_decNumberClassToString) #define uprv_decNumberCompare U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCompare) #define uprv_decNumberCompareSignal U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCompareSignal) @@ -1393,6 +1382,7 @@ #define uprv_dlsym_func U_ICU_ENTRY_POINT_RENAME(uprv_dlsym_func) #define uprv_eastrncpy U_ICU_ENTRY_POINT_RENAME(uprv_eastrncpy) #define uprv_ebcdicFromAscii U_ICU_ENTRY_POINT_RENAME(uprv_ebcdicFromAscii) +#define uprv_ebcdicToAscii U_ICU_ENTRY_POINT_RENAME(uprv_ebcdicToAscii) #define uprv_ebcdicToLowercaseAscii U_ICU_ENTRY_POINT_RENAME(uprv_ebcdicToLowercaseAscii) #define uprv_ebcdictolower U_ICU_ENTRY_POINT_RENAME(uprv_ebcdictolower) #define uprv_fabs U_ICU_ENTRY_POINT_RENAME(uprv_fabs) @@ -1412,6 +1402,7 @@ #define uprv_getUTCtime U_ICU_ENTRY_POINT_RENAME(uprv_getUTCtime) #define uprv_int32Comparator U_ICU_ENTRY_POINT_RENAME(uprv_int32Comparator) #define uprv_isASCIILetter U_ICU_ENTRY_POINT_RENAME(uprv_isASCIILetter) +#define uprv_isEbcdicAtSign U_ICU_ENTRY_POINT_RENAME(uprv_isEbcdicAtSign) #define uprv_isInfinite U_ICU_ENTRY_POINT_RENAME(uprv_isInfinite) #define uprv_isInvariantString U_ICU_ENTRY_POINT_RENAME(uprv_isInvariantString) #define uprv_isInvariantUString U_ICU_ENTRY_POINT_RENAME(uprv_isInvariantUString) @@ -1579,6 +1570,7 @@ #define ures_getUTF8String U_ICU_ENTRY_POINT_RENAME(ures_getUTF8String) #define ures_getUTF8StringByIndex U_ICU_ENTRY_POINT_RENAME(ures_getUTF8StringByIndex) #define ures_getUTF8StringByKey U_ICU_ENTRY_POINT_RENAME(ures_getUTF8StringByKey) +#define ures_getValueWithFallback U_ICU_ENTRY_POINT_RENAME(ures_getValueWithFallback) #define ures_getVersion U_ICU_ENTRY_POINT_RENAME(ures_getVersion) #define ures_getVersionByKey U_ICU_ENTRY_POINT_RENAME(ures_getVersionByKey) #define ures_getVersionNumber U_ICU_ENTRY_POINT_RENAME(ures_getVersionNumber) diff --git a/deps/icu-small/source/common/unicode/usetiter.h b/deps/icu-small/source/common/unicode/usetiter.h index 057adbc04f5f05..f3f470f95aa5f5 100644 --- a/deps/icu-small/source/common/unicode/usetiter.h +++ b/deps/icu-small/source/common/unicode/usetiter.h @@ -10,6 +10,9 @@ #define USETITER_H #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" #include "unicode/unistr.h" @@ -317,4 +320,6 @@ inline UChar32 UnicodeSetIterator::getCodepointEnd() const { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/common/unicode/utext.h b/deps/icu-small/source/common/unicode/utext.h index ff78784c61ec54..6f1e3409d8fdeb 100644 --- a/deps/icu-small/source/common/unicode/utext.h +++ b/deps/icu-small/source/common/unicode/utext.h @@ -766,12 +766,14 @@ utext_extract(UText *ut, * * @stable ICU 3.8 */ -#define UTEXT_SETNATIVEINDEX(ut, ix) \ - { int64_t __offset = (ix) - (ut)->chunkNativeStart; \ - if (__offset>=0 && __offset<(int64_t)(ut)->nativeIndexingLimit && (ut)->chunkContents[__offset]<0xdc00) { \ - (ut)->chunkOffset=(int32_t)__offset; \ - } else { \ - utext_setNativeIndex((ut), (ix)); } } +#define UTEXT_SETNATIVEINDEX(ut, ix) UPRV_BLOCK_MACRO_BEGIN { \ + int64_t __offset = (ix) - (ut)->chunkNativeStart; \ + if (__offset>=0 && __offset<(int64_t)(ut)->nativeIndexingLimit && (ut)->chunkContents[__offset]<0xdc00) { \ + (ut)->chunkOffset=(int32_t)__offset; \ + } else { \ + utext_setNativeIndex((ut), (ix)); \ + } \ +} UPRV_BLOCK_MACRO_END diff --git a/deps/icu-small/source/common/unicode/utf16.h b/deps/icu-small/source/common/unicode/utf16.h index 0908b4f00e9bf1..3315214ae69d86 100644 --- a/deps/icu-small/source/common/unicode/utf16.h +++ b/deps/icu-small/source/common/unicode/utf16.h @@ -163,7 +163,7 @@ * @see U16_GET * @stable ICU 2.4 */ -#define U16_GET_UNSAFE(s, i, c) { \ +#define U16_GET_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[i]; \ if(U16_IS_SURROGATE(c)) { \ if(U16_IS_SURROGATE_LEAD(c)) { \ @@ -172,7 +172,7 @@ (c)=U16_GET_SUPPLEMENTARY((s)[(i)-1], (c)); \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Get a code point from a string at a random-access offset, @@ -197,7 +197,7 @@ * @see U16_GET_UNSAFE * @stable ICU 2.4 */ -#define U16_GET(s, start, i, length, c) { \ +#define U16_GET(s, start, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[i]; \ if(U16_IS_SURROGATE(c)) { \ uint16_t __c2; \ @@ -211,7 +211,7 @@ } \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Get a code point from a string at a random-access offset, @@ -236,7 +236,7 @@ * @see U16_GET_UNSAFE * @stable ICU 60 */ -#define U16_GET_OR_FFFD(s, start, i, length, c) { \ +#define U16_GET_OR_FFFD(s, start, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[i]; \ if(U16_IS_SURROGATE(c)) { \ uint16_t __c2; \ @@ -254,7 +254,7 @@ } \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /* definitions with forward iteration --------------------------------------- */ @@ -277,12 +277,12 @@ * @see U16_NEXT * @stable ICU 2.4 */ -#define U16_NEXT_UNSAFE(s, i, c) { \ +#define U16_NEXT_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[(i)++]; \ if(U16_IS_LEAD(c)) { \ (c)=U16_GET_SUPPLEMENTARY((c), (s)[(i)++]); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Get a code point from a string at a code point boundary offset, @@ -305,7 +305,7 @@ * @see U16_NEXT_UNSAFE * @stable ICU 2.4 */ -#define U16_NEXT(s, i, length, c) { \ +#define U16_NEXT(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[(i)++]; \ if(U16_IS_LEAD(c)) { \ uint16_t __c2; \ @@ -314,7 +314,7 @@ (c)=U16_GET_SUPPLEMENTARY((c), __c2); \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Get a code point from a string at a code point boundary offset, @@ -337,7 +337,7 @@ * @see U16_NEXT_UNSAFE * @stable ICU 60 */ -#define U16_NEXT_OR_FFFD(s, i, length, c) { \ +#define U16_NEXT_OR_FFFD(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[(i)++]; \ if(U16_IS_SURROGATE(c)) { \ uint16_t __c2; \ @@ -348,7 +348,7 @@ (c)=0xfffd; \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Append a code point to a string, overwriting 1 or 2 code units. @@ -363,14 +363,14 @@ * @see U16_APPEND * @stable ICU 2.4 */ -#define U16_APPEND_UNSAFE(s, i, c) { \ +#define U16_APPEND_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ if((uint32_t)(c)<=0xffff) { \ (s)[(i)++]=(uint16_t)(c); \ } else { \ (s)[(i)++]=(uint16_t)(((c)>>10)+0xd7c0); \ (s)[(i)++]=(uint16_t)(((c)&0x3ff)|0xdc00); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Append a code point to a string, overwriting 1 or 2 code units. @@ -389,7 +389,7 @@ * @see U16_APPEND_UNSAFE * @stable ICU 2.4 */ -#define U16_APPEND(s, i, capacity, c, isError) { \ +#define U16_APPEND(s, i, capacity, c, isError) UPRV_BLOCK_MACRO_BEGIN { \ if((uint32_t)(c)<=0xffff) { \ (s)[(i)++]=(uint16_t)(c); \ } else if((uint32_t)(c)<=0x10ffff && (i)+1<(capacity)) { \ @@ -398,7 +398,7 @@ } else /* c>0x10ffff or not enough space */ { \ (isError)=TRUE; \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Advance the string offset from one code point boundary to the next. @@ -410,11 +410,11 @@ * @see U16_FWD_1 * @stable ICU 2.4 */ -#define U16_FWD_1_UNSAFE(s, i) { \ +#define U16_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ if(U16_IS_LEAD((s)[(i)++])) { \ ++(i); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Advance the string offset from one code point boundary to the next. @@ -429,11 +429,11 @@ * @see U16_FWD_1_UNSAFE * @stable ICU 2.4 */ -#define U16_FWD_1(s, i, length) { \ +#define U16_FWD_1(s, i, length) UPRV_BLOCK_MACRO_BEGIN { \ if(U16_IS_LEAD((s)[(i)++]) && (i)!=(length) && U16_IS_TRAIL((s)[i])) { \ ++(i); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Advance the string offset from one code point boundary to the n-th next one, @@ -447,13 +447,13 @@ * @see U16_FWD_N * @stable ICU 2.4 */ -#define U16_FWD_N_UNSAFE(s, i, n) { \ +#define U16_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __N=(n); \ while(__N>0) { \ U16_FWD_1_UNSAFE(s, i); \ --__N; \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Advance the string offset from one code point boundary to the n-th next one, @@ -470,13 +470,13 @@ * @see U16_FWD_N_UNSAFE * @stable ICU 2.4 */ -#define U16_FWD_N(s, i, length, n) { \ +#define U16_FWD_N(s, i, length, n) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __N=(n); \ while(__N>0 && ((i)<(length) || ((length)<0 && (s)[i]!=0))) { \ U16_FWD_1(s, i, length); \ --__N; \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Adjust a random-access offset to a code point boundary @@ -491,11 +491,11 @@ * @see U16_SET_CP_START * @stable ICU 2.4 */ -#define U16_SET_CP_START_UNSAFE(s, i) { \ +#define U16_SET_CP_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ if(U16_IS_TRAIL((s)[i])) { \ --(i); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Adjust a random-access offset to a code point boundary @@ -511,11 +511,11 @@ * @see U16_SET_CP_START_UNSAFE * @stable ICU 2.4 */ -#define U16_SET_CP_START(s, start, i) { \ +#define U16_SET_CP_START(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \ if(U16_IS_TRAIL((s)[i]) && (i)>(start) && U16_IS_LEAD((s)[(i)-1])) { \ --(i); \ } \ -} +} UPRV_BLOCK_MACRO_END /* definitions with backward iteration -------------------------------------- */ @@ -539,12 +539,12 @@ * @see U16_PREV * @stable ICU 2.4 */ -#define U16_PREV_UNSAFE(s, i, c) { \ +#define U16_PREV_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[--(i)]; \ if(U16_IS_TRAIL(c)) { \ (c)=U16_GET_SUPPLEMENTARY((s)[--(i)], (c)); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Move the string offset from one code point boundary to the previous one @@ -566,7 +566,7 @@ * @see U16_PREV_UNSAFE * @stable ICU 2.4 */ -#define U16_PREV(s, start, i, c) { \ +#define U16_PREV(s, start, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[--(i)]; \ if(U16_IS_TRAIL(c)) { \ uint16_t __c2; \ @@ -575,7 +575,7 @@ (c)=U16_GET_SUPPLEMENTARY(__c2, (c)); \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Move the string offset from one code point boundary to the previous one @@ -597,7 +597,7 @@ * @see U16_PREV_UNSAFE * @stable ICU 60 */ -#define U16_PREV_OR_FFFD(s, start, i, c) { \ +#define U16_PREV_OR_FFFD(s, start, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[--(i)]; \ if(U16_IS_SURROGATE(c)) { \ uint16_t __c2; \ @@ -608,7 +608,7 @@ (c)=0xfffd; \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Move the string offset from one code point boundary to the previous one. @@ -621,11 +621,11 @@ * @see U16_BACK_1 * @stable ICU 2.4 */ -#define U16_BACK_1_UNSAFE(s, i) { \ +#define U16_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ if(U16_IS_TRAIL((s)[--(i)])) { \ --(i); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Move the string offset from one code point boundary to the previous one. @@ -639,11 +639,11 @@ * @see U16_BACK_1_UNSAFE * @stable ICU 2.4 */ -#define U16_BACK_1(s, start, i) { \ +#define U16_BACK_1(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \ if(U16_IS_TRAIL((s)[--(i)]) && (i)>(start) && U16_IS_LEAD((s)[(i)-1])) { \ --(i); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Move the string offset from one code point boundary to the n-th one before it, @@ -658,13 +658,13 @@ * @see U16_BACK_N * @stable ICU 2.4 */ -#define U16_BACK_N_UNSAFE(s, i, n) { \ +#define U16_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __N=(n); \ while(__N>0) { \ U16_BACK_1_UNSAFE(s, i); \ --__N; \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Move the string offset from one code point boundary to the n-th one before it, @@ -680,13 +680,13 @@ * @see U16_BACK_N_UNSAFE * @stable ICU 2.4 */ -#define U16_BACK_N(s, start, i, n) { \ +#define U16_BACK_N(s, start, i, n) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __N=(n); \ while(__N>0 && (i)>(start)) { \ U16_BACK_1(s, start, i); \ --__N; \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Adjust a random-access offset to a code point boundary after a code point. @@ -701,11 +701,11 @@ * @see U16_SET_CP_LIMIT * @stable ICU 2.4 */ -#define U16_SET_CP_LIMIT_UNSAFE(s, i) { \ +#define U16_SET_CP_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ if(U16_IS_LEAD((s)[(i)-1])) { \ ++(i); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Adjust a random-access offset to a code point boundary after a code point. @@ -724,10 +724,10 @@ * @see U16_SET_CP_LIMIT_UNSAFE * @stable ICU 2.4 */ -#define U16_SET_CP_LIMIT(s, start, i, length) { \ +#define U16_SET_CP_LIMIT(s, start, i, length) UPRV_BLOCK_MACRO_BEGIN { \ if((start)<(i) && ((i)<(length) || (length)<0) && U16_IS_LEAD((s)[(i)-1]) && U16_IS_TRAIL((s)[i])) { \ ++(i); \ } \ -} +} UPRV_BLOCK_MACRO_END #endif diff --git a/deps/icu-small/source/common/unicode/utf8.h b/deps/icu-small/source/common/unicode/utf8.h index 41155f119bbb86..bb001303747efe 100644 --- a/deps/icu-small/source/common/unicode/utf8.h +++ b/deps/icu-small/source/common/unicode/utf8.h @@ -229,11 +229,11 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_GET * @stable ICU 2.4 */ -#define U8_GET_UNSAFE(s, i, c) { \ +#define U8_GET_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ int32_t _u8_get_unsafe_index=(int32_t)(i); \ U8_SET_CP_START_UNSAFE(s, _u8_get_unsafe_index); \ U8_NEXT_UNSAFE(s, _u8_get_unsafe_index, c); \ -} +} UPRV_BLOCK_MACRO_END /** * Get a code point from a string at a random-access offset, @@ -256,11 +256,11 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_GET_UNSAFE * @stable ICU 2.4 */ -#define U8_GET(s, start, i, length, c) { \ +#define U8_GET(s, start, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \ int32_t _u8_get_index=(i); \ U8_SET_CP_START(s, start, _u8_get_index); \ U8_NEXT(s, _u8_get_index, length, c); \ -} +} UPRV_BLOCK_MACRO_END /** * Get a code point from a string at a random-access offset, @@ -287,11 +287,11 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_GET * @stable ICU 51 */ -#define U8_GET_OR_FFFD(s, start, i, length, c) { \ +#define U8_GET_OR_FFFD(s, start, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \ int32_t _u8_get_index=(i); \ U8_SET_CP_START(s, start, _u8_get_index); \ U8_NEXT_OR_FFFD(s, _u8_get_index, length, c); \ -} +} UPRV_BLOCK_MACRO_END /* definitions with forward iteration --------------------------------------- */ @@ -312,7 +312,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_NEXT * @stable ICU 2.4 */ -#define U8_NEXT_UNSAFE(s, i, c) { \ +#define U8_NEXT_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(uint8_t)(s)[(i)++]; \ if(!U8_IS_SINGLE(c)) { \ if((c)<0xe0) { \ @@ -326,7 +326,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); (i)+=3; \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Get a code point from a string at a code point boundary offset, @@ -377,7 +377,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); #define U8_NEXT_OR_FFFD(s, i, length, c) U8_INTERNAL_NEXT_OR_SUB(s, i, length, c, 0xfffd) /** @internal */ -#define U8_INTERNAL_NEXT_OR_SUB(s, i, length, c, sub) { \ +#define U8_INTERNAL_NEXT_OR_SUB(s, i, length, c, sub) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(uint8_t)(s)[(i)++]; \ if(!U8_IS_SINGLE(c)) { \ uint8_t __t = 0; \ @@ -403,7 +403,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); (c)=(sub); /* ill-formed*/ \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Append a code point to a string, overwriting 1 to 4 bytes. @@ -418,7 +418,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_APPEND * @stable ICU 2.4 */ -#define U8_APPEND_UNSAFE(s, i, c) { \ +#define U8_APPEND_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ uint32_t __uc=(c); \ if(__uc<=0x7f) { \ (s)[(i)++]=(uint8_t)__uc; \ @@ -436,7 +436,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); } \ (s)[(i)++]=(uint8_t)((__uc&0x3f)|0x80); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Append a code point to a string, overwriting 1 to 4 bytes. @@ -455,7 +455,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_APPEND_UNSAFE * @stable ICU 2.4 */ -#define U8_APPEND(s, i, capacity, c, isError) { \ +#define U8_APPEND(s, i, capacity, c, isError) UPRV_BLOCK_MACRO_BEGIN { \ uint32_t __uc=(c); \ if(__uc<=0x7f) { \ (s)[(i)++]=(uint8_t)__uc; \ @@ -474,7 +474,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); } else { \ (isError)=TRUE; \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Advance the string offset from one code point boundary to the next. @@ -486,9 +486,9 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_FWD_1 * @stable ICU 2.4 */ -#define U8_FWD_1_UNSAFE(s, i) { \ +#define U8_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ (i)+=1+U8_COUNT_TRAIL_BYTES_UNSAFE((s)[i]); \ -} +} UPRV_BLOCK_MACRO_END /** * Advance the string offset from one code point boundary to the next. @@ -503,7 +503,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_FWD_1_UNSAFE * @stable ICU 2.4 */ -#define U8_FWD_1(s, i, length) { \ +#define U8_FWD_1(s, i, length) UPRV_BLOCK_MACRO_BEGIN { \ uint8_t __b=(s)[(i)++]; \ if(U8_IS_LEAD(__b) && (i)!=(length)) { \ uint8_t __t1=(s)[i]; \ @@ -524,7 +524,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); } \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Advance the string offset from one code point boundary to the n-th next one, @@ -538,13 +538,13 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_FWD_N * @stable ICU 2.4 */ -#define U8_FWD_N_UNSAFE(s, i, n) { \ +#define U8_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __N=(n); \ while(__N>0) { \ U8_FWD_1_UNSAFE(s, i); \ --__N; \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Advance the string offset from one code point boundary to the n-th next one, @@ -561,13 +561,13 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_FWD_N_UNSAFE * @stable ICU 2.4 */ -#define U8_FWD_N(s, i, length, n) { \ +#define U8_FWD_N(s, i, length, n) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __N=(n); \ while(__N>0 && ((i)<(length) || ((length)<0 && (s)[i]!=0))) { \ U8_FWD_1(s, i, length); \ --__N; \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Adjust a random-access offset to a code point boundary @@ -582,9 +582,9 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_SET_CP_START * @stable ICU 2.4 */ -#define U8_SET_CP_START_UNSAFE(s, i) { \ +#define U8_SET_CP_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ while(U8_IS_TRAIL((s)[i])) { --(i); } \ -} +} UPRV_BLOCK_MACRO_END /** * Adjust a random-access offset to a code point boundary @@ -603,11 +603,11 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_TRUNCATE_IF_INCOMPLETE * @stable ICU 2.4 */ -#define U8_SET_CP_START(s, start, i) { \ +#define U8_SET_CP_START(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \ if(U8_IS_TRAIL((s)[(i)])) { \ (i)=utf8_back1SafeBody(s, start, (i)); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * If the string ends with a UTF-8 byte sequence that is valid so far @@ -635,7 +635,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_SET_CP_START * @stable ICU 61 */ -#define U8_TRUNCATE_IF_INCOMPLETE(s, start, length) \ +#define U8_TRUNCATE_IF_INCOMPLETE(s, start, length) UPRV_BLOCK_MACRO_BEGIN { \ if((length)>(start)) { \ uint8_t __b1=s[(length)-1]; \ if(U8_IS_SINGLE(__b1)) { \ @@ -656,7 +656,8 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); } \ } \ } \ - } + } \ +} UPRV_BLOCK_MACRO_END /* definitions with backward iteration -------------------------------------- */ @@ -679,7 +680,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_PREV * @stable ICU 2.4 */ -#define U8_PREV_UNSAFE(s, i, c) { \ +#define U8_PREV_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(uint8_t)(s)[--(i)]; \ if(U8_IS_TRAIL(c)) { \ uint8_t __b, __count=1, __shift=6; \ @@ -699,7 +700,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); } \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Move the string offset from one code point boundary to the previous one @@ -721,12 +722,12 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_PREV_UNSAFE * @stable ICU 2.4 */ -#define U8_PREV(s, start, i, c) { \ +#define U8_PREV(s, start, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(uint8_t)(s)[--(i)]; \ if(!U8_IS_SINGLE(c)) { \ (c)=utf8_prevCharSafeBody((const uint8_t *)s, start, &(i), c, -1); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Move the string offset from one code point boundary to the previous one @@ -752,12 +753,12 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_PREV * @stable ICU 51 */ -#define U8_PREV_OR_FFFD(s, start, i, c) { \ +#define U8_PREV_OR_FFFD(s, start, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(uint8_t)(s)[--(i)]; \ if(!U8_IS_SINGLE(c)) { \ (c)=utf8_prevCharSafeBody((const uint8_t *)s, start, &(i), c, -3); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Move the string offset from one code point boundary to the previous one. @@ -770,9 +771,9 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_BACK_1 * @stable ICU 2.4 */ -#define U8_BACK_1_UNSAFE(s, i) { \ +#define U8_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ while(U8_IS_TRAIL((s)[--(i)])) {} \ -} +} UPRV_BLOCK_MACRO_END /** * Move the string offset from one code point boundary to the previous one. @@ -786,11 +787,11 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_BACK_1_UNSAFE * @stable ICU 2.4 */ -#define U8_BACK_1(s, start, i) { \ +#define U8_BACK_1(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \ if(U8_IS_TRAIL((s)[--(i)])) { \ (i)=utf8_back1SafeBody(s, start, (i)); \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Move the string offset from one code point boundary to the n-th one before it, @@ -805,13 +806,13 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_BACK_N * @stable ICU 2.4 */ -#define U8_BACK_N_UNSAFE(s, i, n) { \ +#define U8_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __N=(n); \ while(__N>0) { \ U8_BACK_1_UNSAFE(s, i); \ --__N; \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Move the string offset from one code point boundary to the n-th one before it, @@ -827,13 +828,13 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_BACK_N_UNSAFE * @stable ICU 2.4 */ -#define U8_BACK_N(s, start, i, n) { \ +#define U8_BACK_N(s, start, i, n) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __N=(n); \ while(__N>0 && (i)>(start)) { \ U8_BACK_1(s, start, i); \ --__N; \ } \ -} +} UPRV_BLOCK_MACRO_END /** * Adjust a random-access offset to a code point boundary after a code point. @@ -848,10 +849,10 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_SET_CP_LIMIT * @stable ICU 2.4 */ -#define U8_SET_CP_LIMIT_UNSAFE(s, i) { \ +#define U8_SET_CP_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ U8_BACK_1_UNSAFE(s, i); \ U8_FWD_1_UNSAFE(s, i); \ -} +} UPRV_BLOCK_MACRO_END /** * Adjust a random-access offset to a code point boundary after a code point. @@ -870,11 +871,11 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); * @see U8_SET_CP_LIMIT_UNSAFE * @stable ICU 2.4 */ -#define U8_SET_CP_LIMIT(s, start, i, length) { \ +#define U8_SET_CP_LIMIT(s, start, i, length) UPRV_BLOCK_MACRO_BEGIN { \ if((start)<(i) && ((i)<(length) || (length)<0)) { \ U8_BACK_1(s, start, i); \ U8_FWD_1(s, i, length); \ } \ -} +} UPRV_BLOCK_MACRO_END #endif diff --git a/deps/icu-small/source/common/unicode/utf_old.h b/deps/icu-small/source/common/unicode/utf_old.h index 55c17c01df6db3..b2428e6b31e282 100644 --- a/deps/icu-small/source/common/unicode/utf_old.h +++ b/deps/icu-small/source/common/unicode/utf_old.h @@ -19,9 +19,6 @@ /** * \file * \brief C API: Deprecated macros for Unicode string handling - */ - -/** * * The macros in utf_old.h are all deprecated and their use discouraged. * Some of the design principles behind the set of UTF macros @@ -139,12 +136,16 @@ * *


* - * @deprecated ICU 2.4. Use the macros in utf.h, utf16.h, utf8.h instead. + * Deprecated ICU 2.4. Use the macros in utf.h, utf16.h, utf8.h instead. */ #ifndef __UTF_OLD_H__ #define __UTF_OLD_H__ +#include "unicode/utf.h" +#include "unicode/utf8.h" +#include "unicode/utf16.h" + /** * \def U_HIDE_OBSOLETE_UTF_OLD_H * @@ -162,10 +163,6 @@ #if !defined(U_HIDE_DEPRECATED_API) && !U_HIDE_OBSOLETE_UTF_OLD_H -#include "unicode/utf.h" -#include "unicode/utf8.h" -#include "unicode/utf16.h" - /* Formerly utf.h, part 1 --------------------------------------------------- */ #ifdef U_USE_UTF_DEPRECATES @@ -365,21 +362,21 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I #define UTF8_ARRAY_SIZE(size) ((5*(size))/2) /** @deprecated ICU 2.4. Renamed to U8_GET_UNSAFE, see utf_old.h. */ -#define UTF8_GET_CHAR_UNSAFE(s, i, c) { \ +#define UTF8_GET_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ int32_t _utf8_get_char_unsafe_index=(int32_t)(i); \ UTF8_SET_CHAR_START_UNSAFE(s, _utf8_get_char_unsafe_index); \ UTF8_NEXT_CHAR_UNSAFE(s, _utf8_get_char_unsafe_index, c); \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Use U8_GET instead, see utf_old.h. */ -#define UTF8_GET_CHAR_SAFE(s, start, i, length, c, strict) { \ +#define UTF8_GET_CHAR_SAFE(s, start, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \ int32_t _utf8_get_char_safe_index=(int32_t)(i); \ UTF8_SET_CHAR_START_SAFE(s, start, _utf8_get_char_safe_index); \ UTF8_NEXT_CHAR_SAFE(s, _utf8_get_char_safe_index, length, c, strict); \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U8_NEXT_UNSAFE, see utf_old.h. */ -#define UTF8_NEXT_CHAR_UNSAFE(s, i, c) { \ +#define UTF8_NEXT_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[(i)++]; \ if((uint8_t)((c)-0xc0)<0x35) { \ uint8_t __count=UTF8_COUNT_TRAIL_BYTES(c); \ @@ -396,10 +393,10 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I break; \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U8_APPEND_UNSAFE, see utf_old.h. */ -#define UTF8_APPEND_CHAR_UNSAFE(s, i, c) { \ +#define UTF8_APPEND_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ if((uint32_t)(c)<=0x7f) { \ (s)[(i)++]=(uint8_t)(c); \ } else { \ @@ -416,29 +413,29 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I } \ (s)[(i)++]=(uint8_t)(((c)&0x3f)|0x80); \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U8_FWD_1_UNSAFE, see utf_old.h. */ -#define UTF8_FWD_1_UNSAFE(s, i) { \ +#define UTF8_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ (i)+=1+UTF8_COUNT_TRAIL_BYTES((s)[i]); \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U8_FWD_N_UNSAFE, see utf_old.h. */ -#define UTF8_FWD_N_UNSAFE(s, i, n) { \ +#define UTF8_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __N=(n); \ while(__N>0) { \ UTF8_FWD_1_UNSAFE(s, i); \ --__N; \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U8_SET_CP_START_UNSAFE, see utf_old.h. */ -#define UTF8_SET_CHAR_START_UNSAFE(s, i) { \ +#define UTF8_SET_CHAR_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ while(UTF8_IS_TRAIL((s)[i])) { --(i); } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Use U8_NEXT instead, see utf_old.h. */ -#define UTF8_NEXT_CHAR_SAFE(s, i, length, c, strict) { \ +#define UTF8_NEXT_CHAR_SAFE(s, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[(i)++]; \ if((c)>=0x80) { \ if(UTF8_IS_LEAD(c)) { \ @@ -447,16 +444,16 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I (c)=UTF8_ERROR_VALUE_1; \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Use U8_APPEND instead, see utf_old.h. */ -#define UTF8_APPEND_CHAR_SAFE(s, i, length, c) { \ +#define UTF8_APPEND_CHAR_SAFE(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \ if((uint32_t)(c)<=0x7f) { \ (s)[(i)++]=(uint8_t)(c); \ } else { \ (i)=utf8_appendCharSafeBody(s, (int32_t)(i), (int32_t)(length), c, NULL); \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U8_FWD_1, see utf_old.h. */ #define UTF8_FWD_1_SAFE(s, i, length) U8_FWD_1(s, i, length) @@ -468,7 +465,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I #define UTF8_SET_CHAR_START_SAFE(s, start, i) U8_SET_CP_START(s, start, i) /** @deprecated ICU 2.4. Renamed to U8_PREV_UNSAFE, see utf_old.h. */ -#define UTF8_PREV_CHAR_UNSAFE(s, i, c) { \ +#define UTF8_PREV_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[--(i)]; \ if(UTF8_IS_TRAIL(c)) { \ uint8_t __b, __count=1, __shift=6; \ @@ -488,30 +485,30 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I } \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U8_BACK_1_UNSAFE, see utf_old.h. */ -#define UTF8_BACK_1_UNSAFE(s, i) { \ +#define UTF8_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ while(UTF8_IS_TRAIL((s)[--(i)])) {} \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U8_BACK_N_UNSAFE, see utf_old.h. */ -#define UTF8_BACK_N_UNSAFE(s, i, n) { \ +#define UTF8_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __N=(n); \ while(__N>0) { \ UTF8_BACK_1_UNSAFE(s, i); \ --__N; \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U8_SET_CP_LIMIT_UNSAFE, see utf_old.h. */ -#define UTF8_SET_CHAR_LIMIT_UNSAFE(s, i) { \ +#define UTF8_SET_CHAR_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ UTF8_BACK_1_UNSAFE(s, i); \ UTF8_FWD_1_UNSAFE(s, i); \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Use U8_PREV instead, see utf_old.h. */ -#define UTF8_PREV_CHAR_SAFE(s, start, i, c, strict) { \ +#define UTF8_PREV_CHAR_SAFE(s, start, i, c, strict) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[--(i)]; \ if((c)>=0x80) { \ if((c)<=0xbf) { \ @@ -520,7 +517,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I (c)=UTF8_ERROR_VALUE_1; \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U8_BACK_1, see utf_old.h. */ #define UTF8_BACK_1_SAFE(s, start, i) U8_BACK_1(s, start, i) @@ -593,7 +590,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I * UTF16_PREV_CHAR[_UNSAFE]() is more efficient for that. * @deprecated ICU 2.4. Renamed to U16_GET_UNSAFE, see utf_old.h. */ -#define UTF16_GET_CHAR_UNSAFE(s, i, c) { \ +#define UTF16_GET_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[i]; \ if(UTF_IS_SURROGATE(c)) { \ if(UTF_IS_SURROGATE_FIRST(c)) { \ @@ -602,10 +599,10 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I (c)=UTF16_GET_PAIR_VALUE((s)[(i)-1], (c)); \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Use U16_GET instead, see utf_old.h. */ -#define UTF16_GET_CHAR_SAFE(s, start, i, length, c, strict) { \ +#define UTF16_GET_CHAR_SAFE(s, start, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[i]; \ if(UTF_IS_SURROGATE(c)) { \ uint16_t __c2; \ @@ -629,51 +626,51 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I } else if((strict) && !UTF_IS_UNICODE_CHAR(c)) { \ (c)=UTF_ERROR_VALUE; \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U16_NEXT_UNSAFE, see utf_old.h. */ -#define UTF16_NEXT_CHAR_UNSAFE(s, i, c) { \ +#define UTF16_NEXT_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[(i)++]; \ if(UTF_IS_FIRST_SURROGATE(c)) { \ (c)=UTF16_GET_PAIR_VALUE((c), (s)[(i)++]); \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U16_APPEND_UNSAFE, see utf_old.h. */ -#define UTF16_APPEND_CHAR_UNSAFE(s, i, c) { \ +#define UTF16_APPEND_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ if((uint32_t)(c)<=0xffff) { \ (s)[(i)++]=(uint16_t)(c); \ } else { \ (s)[(i)++]=(uint16_t)(((c)>>10)+0xd7c0); \ (s)[(i)++]=(uint16_t)(((c)&0x3ff)|0xdc00); \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U16_FWD_1_UNSAFE, see utf_old.h. */ -#define UTF16_FWD_1_UNSAFE(s, i) { \ +#define UTF16_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ if(UTF_IS_FIRST_SURROGATE((s)[(i)++])) { \ ++(i); \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U16_FWD_N_UNSAFE, see utf_old.h. */ -#define UTF16_FWD_N_UNSAFE(s, i, n) { \ +#define UTF16_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __N=(n); \ while(__N>0) { \ UTF16_FWD_1_UNSAFE(s, i); \ --__N; \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U16_SET_CP_START_UNSAFE, see utf_old.h. */ -#define UTF16_SET_CHAR_START_UNSAFE(s, i) { \ +#define UTF16_SET_CHAR_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ if(UTF_IS_SECOND_SURROGATE((s)[i])) { \ --(i); \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Use U16_NEXT instead, see utf_old.h. */ -#define UTF16_NEXT_CHAR_SAFE(s, i, length, c, strict) { \ +#define UTF16_NEXT_CHAR_SAFE(s, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[(i)++]; \ if(UTF_IS_FIRST_SURROGATE(c)) { \ uint16_t __c2; \ @@ -689,10 +686,10 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I /* unmatched second surrogate or other non-character */ \ (c)=UTF_ERROR_VALUE; \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Use U16_APPEND instead, see utf_old.h. */ -#define UTF16_APPEND_CHAR_SAFE(s, i, length, c) { \ +#define UTF16_APPEND_CHAR_SAFE(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \ if((uint32_t)(c)<=0xffff) { \ (s)[(i)++]=(uint16_t)(c); \ } else if((uint32_t)(c)<=0x10ffff) { \ @@ -705,7 +702,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I } else /* c>0x10ffff, write error value */ { \ (s)[(i)++]=UTF_ERROR_VALUE; \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U16_FWD_1, see utf_old.h. */ #define UTF16_FWD_1_SAFE(s, i, length) U16_FWD_1(s, i, length) @@ -717,38 +714,38 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I #define UTF16_SET_CHAR_START_SAFE(s, start, i) U16_SET_CP_START(s, start, i) /** @deprecated ICU 2.4. Renamed to U16_PREV_UNSAFE, see utf_old.h. */ -#define UTF16_PREV_CHAR_UNSAFE(s, i, c) { \ +#define UTF16_PREV_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[--(i)]; \ if(UTF_IS_SECOND_SURROGATE(c)) { \ (c)=UTF16_GET_PAIR_VALUE((s)[--(i)], (c)); \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U16_BACK_1_UNSAFE, see utf_old.h. */ -#define UTF16_BACK_1_UNSAFE(s, i) { \ +#define UTF16_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ if(UTF_IS_SECOND_SURROGATE((s)[--(i)])) { \ --(i); \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U16_BACK_N_UNSAFE, see utf_old.h. */ -#define UTF16_BACK_N_UNSAFE(s, i, n) { \ +#define UTF16_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __N=(n); \ while(__N>0) { \ UTF16_BACK_1_UNSAFE(s, i); \ --__N; \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U16_SET_CP_LIMIT_UNSAFE, see utf_old.h. */ -#define UTF16_SET_CHAR_LIMIT_UNSAFE(s, i) { \ +#define UTF16_SET_CHAR_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ if(UTF_IS_FIRST_SURROGATE((s)[(i)-1])) { \ ++(i); \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Use U16_PREV instead, see utf_old.h. */ -#define UTF16_PREV_CHAR_SAFE(s, start, i, c, strict) { \ +#define UTF16_PREV_CHAR_SAFE(s, start, i, c, strict) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[--(i)]; \ if(UTF_IS_SECOND_SURROGATE(c)) { \ uint16_t __c2; \ @@ -764,7 +761,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I /* unmatched first surrogate or other non-character */ \ (c)=UTF_ERROR_VALUE; \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Renamed to U16_BACK_1, see utf_old.h. */ #define UTF16_BACK_1_SAFE(s, start, i) U16_BACK_1(s, start, i) @@ -830,122 +827,122 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I #define UTF32_ARRAY_SIZE(size) (size) /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_GET_CHAR_UNSAFE(s, i, c) { \ +#define UTF32_GET_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[i]; \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_GET_CHAR_SAFE(s, start, i, length, c, strict) { \ +#define UTF32_GET_CHAR_SAFE(s, start, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[i]; \ if(!UTF32_IS_SAFE(c, strict)) { \ (c)=UTF_ERROR_VALUE; \ } \ -} +} UPRV_BLOCK_MACRO_END /* definitions with forward iteration --------------------------------------- */ /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_NEXT_CHAR_UNSAFE(s, i, c) { \ +#define UTF32_NEXT_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[(i)++]; \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_APPEND_CHAR_UNSAFE(s, i, c) { \ +#define UTF32_APPEND_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (s)[(i)++]=(c); \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_FWD_1_UNSAFE(s, i) { \ +#define UTF32_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ ++(i); \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_FWD_N_UNSAFE(s, i, n) { \ +#define UTF32_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \ (i)+=(n); \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_SET_CHAR_START_UNSAFE(s, i) { \ -} +#define UTF32_SET_CHAR_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_NEXT_CHAR_SAFE(s, i, length, c, strict) { \ +#define UTF32_NEXT_CHAR_SAFE(s, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[(i)++]; \ if(!UTF32_IS_SAFE(c, strict)) { \ (c)=UTF_ERROR_VALUE; \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_APPEND_CHAR_SAFE(s, i, length, c) { \ +#define UTF32_APPEND_CHAR_SAFE(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \ if((uint32_t)(c)<=0x10ffff) { \ (s)[(i)++]=(c); \ } else /* c>0x10ffff, write 0xfffd */ { \ (s)[(i)++]=0xfffd; \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_FWD_1_SAFE(s, i, length) { \ +#define UTF32_FWD_1_SAFE(s, i, length) UPRV_BLOCK_MACRO_BEGIN { \ ++(i); \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_FWD_N_SAFE(s, i, length, n) { \ +#define UTF32_FWD_N_SAFE(s, i, length, n) UPRV_BLOCK_MACRO_BEGIN { \ if(((i)+=(n))>(length)) { \ (i)=(length); \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_SET_CHAR_START_SAFE(s, start, i) { \ -} +#define UTF32_SET_CHAR_START_SAFE(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \ +} UPRV_BLOCK_MACRO_END /* definitions with backward iteration -------------------------------------- */ /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_PREV_CHAR_UNSAFE(s, i, c) { \ +#define UTF32_PREV_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[--(i)]; \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_BACK_1_UNSAFE(s, i) { \ +#define UTF32_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ --(i); \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_BACK_N_UNSAFE(s, i, n) { \ +#define UTF32_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \ (i)-=(n); \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_SET_CHAR_LIMIT_UNSAFE(s, i) { \ -} +#define UTF32_SET_CHAR_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_PREV_CHAR_SAFE(s, start, i, c, strict) { \ +#define UTF32_PREV_CHAR_SAFE(s, start, i, c, strict) UPRV_BLOCK_MACRO_BEGIN { \ (c)=(s)[--(i)]; \ if(!UTF32_IS_SAFE(c, strict)) { \ (c)=UTF_ERROR_VALUE; \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_BACK_1_SAFE(s, start, i) { \ +#define UTF32_BACK_1_SAFE(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \ --(i); \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_BACK_N_SAFE(s, start, i, n) { \ +#define UTF32_BACK_N_SAFE(s, start, i, n) UPRV_BLOCK_MACRO_BEGIN { \ (i)-=(n); \ if((i)<(start)) { \ (i)=(start); \ } \ -} +} UPRV_BLOCK_MACRO_END /** @deprecated ICU 2.4. Obsolete, see utf_old.h. */ -#define UTF32_SET_CHAR_LIMIT_SAFE(s, i, length) { \ -} +#define UTF32_SET_CHAR_LIMIT_SAFE(s, i, length) UPRV_BLOCK_MACRO_BEGIN { \ +} UPRV_BLOCK_MACRO_END /* Formerly utf.h, part 2 --------------------------------------------------- */ diff --git a/deps/icu-small/source/common/unicode/utrace.h b/deps/icu-small/source/common/unicode/utrace.h index bf6fd036f06c41..0af050756fc38a 100644 --- a/deps/icu-small/source/common/unicode/utrace.h +++ b/deps/icu-small/source/common/unicode/utrace.h @@ -66,6 +66,7 @@ typedef enum UTraceFunctionNumber { UTRACE_FUNCTION_START=0, UTRACE_U_INIT=UTRACE_FUNCTION_START, UTRACE_U_CLEANUP, + #ifndef U_HIDE_DEPRECATED_API /** * One more than the highest normal collation trace location. @@ -83,6 +84,7 @@ typedef enum UTraceFunctionNumber { UTRACE_UCNV_FLUSH_CACHE, UTRACE_UCNV_LOAD, UTRACE_UCNV_UNLOAD, + #ifndef U_HIDE_DEPRECATED_API /** * One more than the highest normal collation trace location. @@ -101,13 +103,80 @@ typedef enum UTraceFunctionNumber { UTRACE_UCOL_STRCOLLITER, UTRACE_UCOL_OPEN_FROM_SHORT_STRING, UTRACE_UCOL_STRCOLLUTF8, /**< @stable ICU 50 */ + #ifndef U_HIDE_DEPRECATED_API /** * One more than the highest normal collation trace location. * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. */ - UTRACE_COLLATION_LIMIT + UTRACE_COLLATION_LIMIT, #endif // U_HIDE_DEPRECATED_API + +#ifndef U_HIDE_DRAFT_API + + /** + * The lowest resource/data location. + * @draft ICU 65 + */ + UTRACE_UDATA_START=0x3000, + + /** + * Indicates that a value was read from a resource bundle. Provides three + * C-style strings to UTraceData: type, file name, and resource path. The + * possible types are: + * + * - "string" (a string value was accessed) + * - "binary" (a binary value was accessed) + * - "intvector" (a integer vector value was accessed) + * - "int" (a signed integer value was accessed) + * - "uint" (a unsigned integer value was accessed) + * - "get" (a path was loaded, but the value was not accessed) + * - "getalias" (a path was loaded, and an alias was resolved) + * + * @draft ICU 65 + */ + UTRACE_UDATA_RESOURCE=UTRACE_UDATA_START, + + /** + * Indicates that a resource bundle was opened. + * + * Provides one C-style string to UTraceData: file name. + * @draft ICU 65 + */ + UTRACE_UDATA_BUNDLE, + + /** + * Indicates that a data file was opened, but not *.res files. + * + * Provides one C-style string to UTraceData: file name. + * + * @draft ICU 65 + */ + UTRACE_UDATA_DATA_FILE, + + /** + * Indicates that a *.res file was opened. + * + * This differs from UTRACE_UDATA_BUNDLE because a res file is typically + * opened only once per application runtime, but the bundle corresponding + * to that res file may be opened many times. + * + * Provides one C-style string to UTraceData: file name. + * + * @draft ICU 65 + */ + UTRACE_UDATA_RES_FILE, + +#endif // U_HIDE_DRAFT_API + +#ifndef U_HIDE_INTERNAL_API + /** + * One more than the highest normal resource/data trace location. + * @internal The numeric value may change over time, see ICU ticket #12420. + */ + UTRACE_RES_DATA_LIMIT, +#endif // U_HIDE_INTERNAL_API + } UTraceFunctionNumber; /** diff --git a/deps/icu-small/source/common/unicode/utypes.h b/deps/icu-small/source/common/unicode/utypes.h index 49eb12cd40022c..c98de9e6fc3dad 100644 --- a/deps/icu-small/source/common/unicode/utypes.h +++ b/deps/icu-small/source/common/unicode/utypes.h @@ -385,17 +385,31 @@ typedef double UDate; /*===========================================================================*/ /** - * Error code to replace exception handling, so that the code is compatible with all C++ compilers, - * and to use the same mechanism for C and C++. + * Standard ICU4C error code type, a substitute for exceptions. + * + * Initialize the UErrorCode with U_ZERO_ERROR, and check for success or + * failure using U_SUCCESS() or U_FAILURE(): + * + * UErrorCode errorCode = U_ZERO_ERROR; + * // call ICU API that needs an error code parameter. + * if (U_FAILURE(errorCode)) { + * // An error occurred. Handle it here. + * } + * + * C++ code should use icu::ErrorCode, available in unicode/errorcode.h, or a + * suitable subclass. + * + * For more information, see: + * http://icu-project.org/userguide/conventions + * + * Note: By convention, ICU functions that take a reference (C++) or a pointer + * (C) to a UErrorCode first test: + * + * if (U_FAILURE(errorCode)) { return immediately; } * - * \par - * ICU functions that take a reference (C++) or a pointer (C) to a UErrorCode - * first test if(U_FAILURE(errorCode)) { return immediately; } * so that in a chain of such functions the first one that sets an error code * causes the following ones to not perform any operations. * - * \par - * Error codes should be tested using U_FAILURE() and U_SUCCESS(). * @stable ICU 2.0 */ typedef enum UErrorCode { diff --git a/deps/icu-small/source/common/unicode/uvernum.h b/deps/icu-small/source/common/unicode/uvernum.h index 7c114be2cc87f1..0923c1d9189d0f 100644 --- a/deps/icu-small/source/common/unicode/uvernum.h +++ b/deps/icu-small/source/common/unicode/uvernum.h @@ -60,13 +60,13 @@ * This value will change in the subsequent releases of ICU * @stable ICU 2.4 */ -#define U_ICU_VERSION_MAJOR_NUM 64 +#define U_ICU_VERSION_MAJOR_NUM 65 /** The current ICU minor version as an integer. * This value will change in the subsequent releases of ICU * @stable ICU 2.6 */ -#define U_ICU_VERSION_MINOR_NUM 2 +#define U_ICU_VERSION_MINOR_NUM 1 /** The current ICU patchlevel version as an integer. * This value will change in the subsequent releases of ICU @@ -86,7 +86,7 @@ * This value will change in the subsequent releases of ICU * @stable ICU 2.6 */ -#define U_ICU_VERSION_SUFFIX _64 +#define U_ICU_VERSION_SUFFIX _65 /** * \def U_DEF2_ICU_ENTRY_POINT_RENAME @@ -139,7 +139,7 @@ * This value will change in the subsequent releases of ICU * @stable ICU 2.4 */ -#define U_ICU_VERSION "64.2" +#define U_ICU_VERSION "65.1" /** * The current ICU library major version number as a string, for library name suffixes. @@ -152,13 +152,13 @@ * * @stable ICU 2.6 */ -#define U_ICU_VERSION_SHORT "64" +#define U_ICU_VERSION_SHORT "65" #ifndef U_HIDE_INTERNAL_API /** Data version in ICU4C. * @internal ICU 4.4 Internal Use Only **/ -#define U_ICU_DATA_VERSION "64.2" +#define U_ICU_DATA_VERSION "65.1" #endif /* U_HIDE_INTERNAL_API */ /*=========================================================================== diff --git a/deps/icu-small/source/common/unicode/uversion.h b/deps/icu-small/source/common/unicode/uversion.h index 3f0251d3994bcb..c8c7a374c820b2 100644 --- a/deps/icu-small/source/common/unicode/uversion.h +++ b/deps/icu-small/source/common/unicode/uversion.h @@ -62,26 +62,22 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; /* C++ namespace if supported. Versioned unless versioning is disabled. */ /*===========================================================================*/ +/* Define C++ namespace symbols. */ +#ifdef __cplusplus + /** * \def U_NAMESPACE_BEGIN - * This is used to begin a declaration of a public ICU C++ API. - * When not compiling for C++, it does nothing. - * When compiling for C++, it begins an extern "C++" linkage block (to protect - * against cases in which an external client includes ICU header files inside - * an extern "C" linkage block). + * This is used to begin a declaration of a public ICU C++ API within + * versioned-ICU-namespace block. * - * It also begins a versioned-ICU-namespace block. * @stable ICU 2.4 */ /** * \def U_NAMESPACE_END * This is used to end a declaration of a public ICU C++ API. - * When not compiling for C++, it does nothing. - * When compiling for C++, it ends the extern "C++" block begun by - * U_NAMESPACE_BEGIN. + * It ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN. * - * It also ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN. * @stable ICU 2.4 */ @@ -89,9 +85,6 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; * \def U_NAMESPACE_USE * This is used to specify that the rest of the code uses the * public ICU C++ API namespace. - * This is invoked by default; we recommend that you turn it off: - * See the "Recommended Build Options" section of the ICU4C readme - * (http://source.icu-project.org/repos/icu/icu/trunk/readme.html#RecBuild) * @stable ICU 2.4 */ @@ -105,8 +98,6 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; * @stable ICU 2.4 */ -/* Define C++ namespace symbols. */ -#ifdef __cplusplus # if U_DISABLE_RENAMING # define U_ICU_NAMESPACE icu namespace U_ICU_NAMESPACE { } @@ -116,8 +107,8 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; namespace icu = U_ICU_NAMESPACE; # endif -# define U_NAMESPACE_BEGIN extern "C++" { namespace U_ICU_NAMESPACE { -# define U_NAMESPACE_END } } +# define U_NAMESPACE_BEGIN namespace U_ICU_NAMESPACE { +# define U_NAMESPACE_END } # define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE; # define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE:: @@ -133,12 +124,7 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; # if U_USING_ICU_NAMESPACE U_NAMESPACE_USE # endif -#else -# define U_NAMESPACE_BEGIN -# define U_NAMESPACE_END -# define U_NAMESPACE_USE -# define U_NAMESPACE_QUALIFIER -#endif +#endif /* __cplusplus */ /*===========================================================================*/ /* General version helper functions. Definitions in putil.c */ diff --git a/deps/icu-small/source/common/unifiedcache.cpp b/deps/icu-small/source/common/unifiedcache.cpp index 641f4ec6594e12..f2dd916559588c 100644 --- a/deps/icu-small/source/common/unifiedcache.cpp +++ b/deps/icu-small/source/common/unifiedcache.cpp @@ -13,22 +13,15 @@ #include "unifiedcache.h" #include // For std::max() +#include -#include "mutex.h" #include "uassert.h" #include "uhash.h" #include "ucln_cmn.h" -#include "umutex.h" static icu::UnifiedCache *gCache = NULL; -static icu::UMutex *gCacheMutex() { - static icu::UMutex m = U_MUTEX_INITIALIZER; - return &m; -} -static icu::UConditionVar *gInProgressValueAddedCond() { - static icu::UConditionVar cv = U_CONDITION_INITIALIZER; - return &cv; -} +static std::mutex *gCacheMutex = nullptr; +static std::condition_variable *gInProgressValueAddedCond; static icu::UInitOnce gCacheInitOnce = U_INITONCE_INITIALIZER; static const int32_t MAX_EVICT_ITERATIONS = 10; @@ -39,10 +32,12 @@ static const int32_t DEFAULT_PERCENTAGE_OF_IN_USE = 100; U_CDECL_BEGIN static UBool U_CALLCONV unifiedcache_cleanup() { gCacheInitOnce.reset(); - if (gCache) { - delete gCache; - gCache = NULL; - } + delete gCache; + gCache = nullptr; + gCacheMutex->~mutex(); + gCacheMutex = nullptr; + gInProgressValueAddedCond->~condition_variable(); + gInProgressValueAddedCond = nullptr; return TRUE; } U_CDECL_END @@ -77,6 +72,8 @@ static void U_CALLCONV cacheInit(UErrorCode &status) { ucln_common_registerCleanup( UCLN_COMMON_UNIFIED_CACHE, unifiedcache_cleanup); + gCacheMutex = STATIC_NEW(std::mutex); + gInProgressValueAddedCond = STATIC_NEW(std::condition_variable); gCache = new UnifiedCache(status); if (gCache == NULL) { status = U_MEMORY_ALLOCATION_ERROR; @@ -138,28 +135,28 @@ void UnifiedCache::setEvictionPolicy( status = U_ILLEGAL_ARGUMENT_ERROR; return; } - Mutex lock(gCacheMutex()); + std::lock_guard lock(*gCacheMutex); fMaxUnused = count; fMaxPercentageOfInUse = percentageOfInUseItems; } int32_t UnifiedCache::unusedCount() const { - Mutex lock(gCacheMutex()); + std::lock_guard lock(*gCacheMutex); return uhash_count(fHashtable) - fNumValuesInUse; } int64_t UnifiedCache::autoEvictedCount() const { - Mutex lock(gCacheMutex()); + std::lock_guard lock(*gCacheMutex); return fAutoEvictedCount; } int32_t UnifiedCache::keyCount() const { - Mutex lock(gCacheMutex()); + std::lock_guard lock(*gCacheMutex); return uhash_count(fHashtable); } void UnifiedCache::flush() const { - Mutex lock(gCacheMutex()); + std::lock_guard lock(*gCacheMutex); // Use a loop in case cache items that are flushed held hard references to // other cache items making those additional cache items eligible for @@ -168,7 +165,7 @@ void UnifiedCache::flush() const { } void UnifiedCache::handleUnreferencedObject() const { - Mutex lock(gCacheMutex()); + std::lock_guard lock(*gCacheMutex); --fNumValuesInUse; _runEvictionSlice(); } @@ -187,7 +184,7 @@ void UnifiedCache::dump() { } void UnifiedCache::dumpContents() const { - Mutex lock(gCacheMutex()); + std::lock_guard lock(*gCacheMutex); _dumpContents(); } @@ -227,7 +224,7 @@ UnifiedCache::~UnifiedCache() { // Now all that should be left in the cache are entries that refer to // each other and entries with hard references from outside the cache. // Nothing we can do about these so proceed to wipe out the cache. - Mutex lock(gCacheMutex()); + std::lock_guard lock(*gCacheMutex); _flush(TRUE); } uhash_close(fHashtable); @@ -328,7 +325,7 @@ void UnifiedCache::_putIfAbsentAndGet( const CacheKeyBase &key, const SharedObject *&value, UErrorCode &status) const { - Mutex lock(gCacheMutex()); + std::lock_guard lock(*gCacheMutex); const UHashElement *element = uhash_find(fHashtable, &key); if (element != NULL && !_inProgress(element)) { _fetch(element, value, status); @@ -353,15 +350,15 @@ UBool UnifiedCache::_poll( UErrorCode &status) const { U_ASSERT(value == NULL); U_ASSERT(status == U_ZERO_ERROR); - Mutex lock(gCacheMutex()); + std::unique_lock lock(*gCacheMutex); const UHashElement *element = uhash_find(fHashtable, &key); // If the hash table contains an inProgress placeholder entry for this key, // this means that another thread is currently constructing the value object. // Loop, waiting for that construction to complete. while (element != NULL && _inProgress(element)) { - umtx_condWait(gInProgressValueAddedCond(), gCacheMutex()); - element = uhash_find(fHashtable, &key); + gInProgressValueAddedCond->wait(lock); + element = uhash_find(fHashtable, &key); } // If the hash table contains an entry for the key, @@ -433,7 +430,7 @@ void UnifiedCache::_put( // Tell waiting threads that we replace in-progress status with // an error. - umtx_condBroadcast(gInProgressValueAddedCond()); + gInProgressValueAddedCond->notify_all(); } void UnifiedCache::_fetch( diff --git a/deps/icu-small/source/common/uniset.cpp b/deps/icu-small/source/common/uniset.cpp index 1db382afe6f6ba..3807b837475948 100644 --- a/deps/icu-small/source/common/uniset.cpp +++ b/deps/icu-small/source/common/uniset.cpp @@ -278,11 +278,11 @@ UnicodeSet& UnicodeSet::copyFrom(const UnicodeSet& o, UBool asThawed) { * to support cloning in order to allow classes using * UnicodeMatchers, such as Transliterator, to implement cloning. */ -UnicodeFunctor* UnicodeSet::clone() const { +UnicodeSet* UnicodeSet::clone() const { return new UnicodeSet(*this); } -UnicodeFunctor *UnicodeSet::cloneAsThawed() const { +UnicodeSet *UnicodeSet::cloneAsThawed() const { return new UnicodeSet(*this, TRUE); } @@ -2172,7 +2172,7 @@ void UnicodeSet::setPattern(const char16_t *newPat, int32_t newPatLen) { // We can regenerate an equivalent pattern later when requested. } -UnicodeFunctor *UnicodeSet::freeze() { +UnicodeSet *UnicodeSet::freeze() { if(!isFrozen() && !isBogus()) { compact(); diff --git a/deps/icu-small/source/common/uniset_props.cpp b/deps/icu-small/source/common/uniset_props.cpp index 6f7918a91ab9ed..45d3dab9938b29 100644 --- a/deps/icu-small/source/common/uniset_props.cpp +++ b/deps/icu-small/source/common/uniset_props.cpp @@ -802,7 +802,10 @@ static UBool mungeCharName(char* dst, const char* src, int32_t dstCapacity) { // Property set API //---------------------------------------------------------------- -#define FAIL(ec) {ec=U_ILLEGAL_ARGUMENT_ERROR; return *this;} +#define FAIL(ec) UPRV_BLOCK_MACRO_BEGIN { \ + ec=U_ILLEGAL_ARGUMENT_ERROR; \ + return *this; \ +} UPRV_BLOCK_MACRO_END UnicodeSet& UnicodeSet::applyIntPropertyValue(UProperty prop, int32_t value, UErrorCode& ec) { diff --git a/deps/icu-small/source/common/unisetspan.cpp b/deps/icu-small/source/common/unisetspan.cpp index 0a8893472f958b..68e44d91ee7066 100644 --- a/deps/icu-small/source/common/unisetspan.cpp +++ b/deps/icu-small/source/common/unisetspan.cpp @@ -400,7 +400,7 @@ UnicodeSetStringSpan::UnicodeSetStringSpan(const UnicodeSetStringSpan &otherStri if(otherStringSpan.pSpanNotSet==&otherStringSpan.spanSet) { pSpanNotSet=&spanSet; } else { - pSpanNotSet=(UnicodeSet *)otherStringSpan.pSpanNotSet->clone(); + pSpanNotSet=otherStringSpan.pSpanNotSet->clone(); } // Allocate a block of meta data. @@ -436,7 +436,7 @@ void UnicodeSetStringSpan::addToSpanNotSet(UChar32 c) { if(spanSet.contains(c)) { return; // Nothing to do. } - UnicodeSet *newSet=(UnicodeSet *)spanSet.cloneAsThawed(); + UnicodeSet *newSet=spanSet.cloneAsThawed(); if(newSet==NULL) { return; // Out of memory. } else { diff --git a/deps/icu-small/source/common/unistr.cpp b/deps/icu-small/source/common/unistr.cpp index 31b0ed84bee07d..eeb0c3a679a5e9 100644 --- a/deps/icu-small/source/common/unistr.cpp +++ b/deps/icu-small/source/common/unistr.cpp @@ -332,7 +332,7 @@ Replaceable::clone() const { } // UnicodeString overrides clone() with a real implementation -Replaceable * +UnicodeString * UnicodeString::clone() const { return new UnicodeString(*this); } diff --git a/deps/icu-small/source/common/uresbund.cpp b/deps/icu-small/source/common/uresbund.cpp index c9f2c860da7c33..3a9b4340bb4a38 100644 --- a/deps/icu-small/source/common/uresbund.cpp +++ b/deps/icu-small/source/common/uresbund.cpp @@ -31,6 +31,7 @@ #include "ucln_cmn.h" #include "cmemory.h" #include "cstring.h" +#include "mutex.h" #include "uhash.h" #include "unicode/uenum.h" #include "uenumimp.h" @@ -38,6 +39,7 @@ #include "umutex.h" #include "putilimp.h" #include "uassert.h" +#include "uresdata.h" using namespace icu; @@ -47,12 +49,9 @@ TODO: This cache should probably be removed when the deprecated code is completely removed. */ static UHashtable *cache = NULL; -static icu::UInitOnce gCacheInitOnce; +static icu::UInitOnce gCacheInitOnce = U_INITONCE_INITIALIZER; -static UMutex *resbMutex() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex resbMutex; /* INTERNAL: hashes an entry */ static int32_t U_CALLCONV hashEntry(const UHashTok parm) { @@ -96,13 +95,12 @@ static UBool chopLocale(char *name) { * Internal function */ static void entryIncrease(UResourceDataEntry *entry) { - umtx_lock(resbMutex()); + Mutex lock(&resbMutex); entry->fCountExisting++; while(entry->fParent != NULL) { entry = entry->fParent; entry->fCountExisting++; } - umtx_unlock(resbMutex()); } /** @@ -184,9 +182,8 @@ static int32_t ures_flushCache() /*if shared data hasn't even been lazy evaluated yet * return 0 */ - umtx_lock(resbMutex()); + Mutex lock(&resbMutex); if (cache == NULL) { - umtx_unlock(resbMutex()); return 0; } @@ -218,7 +215,6 @@ static int32_t ures_flushCache() * got decremented by free_entry(). */ } while(deletedMore); - umtx_unlock(resbMutex()); return rbDeletedNum; } @@ -232,9 +228,8 @@ U_CAPI UBool U_EXPORT2 ures_dumpCacheContents(void) { const UHashElement *e; UResourceDataEntry *resB; - umtx_lock(resbMutex()); + Mutex lock(&resbMutex); if (cache == NULL) { - umtx_unlock(resbMutex()); fprintf(stderr,"%s:%d: RB Cache is NULL.\n", __FILE__, __LINE__); return FALSE; } @@ -253,9 +248,6 @@ U_CAPI UBool U_EXPORT2 ures_dumpCacheContents(void) { } fprintf(stderr,"%s:%d: RB Cache still contains %d items.\n", __FILE__, __LINE__, uhash_count(cache)); - - umtx_unlock(resbMutex()); - return cacheNotEmpty; } @@ -401,7 +393,8 @@ static UResourceDataEntry *init_entry(const char *localeID, const char *path, UE /* We'll try to get alias string from the bundle */ aliasres = res_getResource(&(r->fData), "%%ALIAS"); if (aliasres != RES_BOGUS) { - const UChar *alias = res_getString(&(r->fData), aliasres, &aliasLen); + // No tracing: called during initial data loading + const UChar *alias = res_getStringNoTrace(&(r->fData), aliasres, &aliasLen); if(alias != NULL && aliasLen > 0) { /* if there is actual alias - unload and load new data */ u_UCharsToChars(alias, aliasName, aliasLen+1); r->fAlias = init_entry(aliasName, path, status); @@ -542,7 +535,8 @@ loadParentsExceptRoot(UResourceDataEntry *&t1, Resource parentRes = res_getResource(&t1->fData, "%%Parent"); if (parentRes != RES_BOGUS) { // An explicit parent was found. int32_t parentLocaleLen = 0; - const UChar *parentLocaleName = res_getString(&(t1->fData), parentRes, &parentLocaleLen); + // No tracing: called during initial data loading + const UChar *parentLocaleName = res_getStringNoTrace(&(t1->fData), parentRes, &parentLocaleLen); if(parentLocaleName != NULL && 0 < parentLocaleLen && parentLocaleLen < nameCapacity) { u_UCharsToChars(parentLocaleName, name, parentLocaleLen + 1); if (uprv_strcmp(name, kRootLocaleName) == 0) { @@ -666,107 +660,105 @@ static UResourceDataEntry *entryOpen(const char* path, const char* localeID, } } - umtx_lock(resbMutex()); - { /* umtx_lock */ - /* We're going to skip all the locales that do not have any data */ - r = findFirstExisting(path, name, &isRoot, &hasChopped, &isDefault, &intStatus); + Mutex lock(&resbMutex); // Lock resbMutex until the end of this function. + + /* We're going to skip all the locales that do not have any data */ + r = findFirstExisting(path, name, &isRoot, &hasChopped, &isDefault, &intStatus); + + // If we failed due to out-of-memory, report the failure and exit early. + if (intStatus == U_MEMORY_ALLOCATION_ERROR) { + *status = intStatus; + goto finish; + } + + if(r != NULL) { /* if there is one real locale, we can look for parents. */ + t1 = r; + hasRealData = TRUE; + if ( usingUSRData ) { /* This code inserts user override data into the inheritance chain */ + UErrorCode usrStatus = U_ZERO_ERROR; + UResourceDataEntry *u1 = init_entry(t1->fName, usrDataPath, &usrStatus); + // If we failed due to out-of-memory, report the failure and exit early. + if (intStatus == U_MEMORY_ALLOCATION_ERROR) { + *status = intStatus; + goto finish; + } + if ( u1 != NULL ) { + if(u1->fBogus == U_ZERO_ERROR) { + u1->fParent = t1; + r = u1; + } else { + /* the USR override data wasn't found, set it to be deleted */ + u1->fCountExisting = 0; + } + } + } + if (hasChopped && !isRoot) { + if (!loadParentsExceptRoot(t1, name, UPRV_LENGTHOF(name), usingUSRData, usrDataPath, status)) { + goto finish; + } + } + } + /* we could have reached this point without having any real data */ + /* if that is the case, we need to chain in the default locale */ + if(r==NULL && openType == URES_OPEN_LOCALE_DEFAULT_ROOT && !isDefault && !isRoot) { + /* insert default locale */ + uprv_strcpy(name, uloc_getDefault()); + r = findFirstExisting(path, name, &isRoot, &hasChopped, &isDefault, &intStatus); // If we failed due to out-of-memory, report the failure and exit early. if (intStatus == U_MEMORY_ALLOCATION_ERROR) { *status = intStatus; - goto finishUnlock; + goto finish; } - - if(r != NULL) { /* if there is one real locale, we can look for parents. */ + intStatus = U_USING_DEFAULT_WARNING; + if(r != NULL) { /* the default locale exists */ t1 = r; hasRealData = TRUE; - if ( usingUSRData ) { /* This code inserts user override data into the inheritance chain */ - UErrorCode usrStatus = U_ZERO_ERROR; - UResourceDataEntry *u1 = init_entry(t1->fName, usrDataPath, &usrStatus); - // If we failed due to out-of-memory, report the failure and exit early. - if (intStatus == U_MEMORY_ALLOCATION_ERROR) { - *status = intStatus; - goto finishUnlock; - } - if ( u1 != NULL ) { - if(u1->fBogus == U_ZERO_ERROR) { - u1->fParent = t1; - r = u1; - } else { - /* the USR override data wasn't found, set it to be deleted */ - u1->fCountExisting = 0; - } - } - } + isDefault = TRUE; + // TODO: Why not if (usingUSRData) { ... } like in the non-default-locale code path? if (hasChopped && !isRoot) { if (!loadParentsExceptRoot(t1, name, UPRV_LENGTHOF(name), usingUSRData, usrDataPath, status)) { - goto finishUnlock; + goto finish; } } } + } - /* we could have reached this point without having any real data */ - /* if that is the case, we need to chain in the default locale */ - if(r==NULL && openType == URES_OPEN_LOCALE_DEFAULT_ROOT && !isDefault && !isRoot) { - /* insert default locale */ - uprv_strcpy(name, uloc_getDefault()); - r = findFirstExisting(path, name, &isRoot, &hasChopped, &isDefault, &intStatus); - // If we failed due to out-of-memory, report the failure and exit early. - if (intStatus == U_MEMORY_ALLOCATION_ERROR) { - *status = intStatus; - goto finishUnlock; - } + /* we could still have r == NULL at this point - maybe even default locale is not */ + /* present */ + if(r == NULL) { + uprv_strcpy(name, kRootLocaleName); + r = findFirstExisting(path, name, &isRoot, &hasChopped, &isDefault, &intStatus); + // If we failed due to out-of-memory, report the failure and exit early. + if (intStatus == U_MEMORY_ALLOCATION_ERROR) { + *status = intStatus; + goto finish; + } + if(r != NULL) { + t1 = r; intStatus = U_USING_DEFAULT_WARNING; - if(r != NULL) { /* the default locale exists */ - t1 = r; - hasRealData = TRUE; - isDefault = TRUE; - // TODO: Why not if (usingUSRData) { ... } like in the non-default-locale code path? - if (hasChopped && !isRoot) { - if (!loadParentsExceptRoot(t1, name, UPRV_LENGTHOF(name), usingUSRData, usrDataPath, status)) { - goto finishUnlock; - } - } - } + hasRealData = TRUE; + } else { /* we don't even have the root locale */ + *status = U_MISSING_RESOURCE_ERROR; + goto finish; } - - /* we could still have r == NULL at this point - maybe even default locale is not */ - /* present */ - if(r == NULL) { - uprv_strcpy(name, kRootLocaleName); - r = findFirstExisting(path, name, &isRoot, &hasChopped, &isDefault, &intStatus); - // If we failed due to out-of-memory, report the failure and exit early. - if (intStatus == U_MEMORY_ALLOCATION_ERROR) { - *status = intStatus; - goto finishUnlock; - } - if(r != NULL) { - t1 = r; - intStatus = U_USING_DEFAULT_WARNING; - hasRealData = TRUE; - } else { /* we don't even have the root locale */ - *status = U_MISSING_RESOURCE_ERROR; - goto finishUnlock; - } - } else if(!isRoot && uprv_strcmp(t1->fName, kRootLocaleName) != 0 && - t1->fParent == NULL && !r->fData.noFallback) { - if (!insertRootBundle(t1, status)) { - goto finishUnlock; - } - if(!hasRealData) { - r->fBogus = U_USING_DEFAULT_WARNING; - } + } else if(!isRoot && uprv_strcmp(t1->fName, kRootLocaleName) != 0 && + t1->fParent == NULL && !r->fData.noFallback) { + if (!insertRootBundle(t1, status)) { + goto finish; } - - // TODO: Does this ever loop? - while(r != NULL && !isRoot && t1->fParent != NULL) { - t1->fParent->fCountExisting++; - t1 = t1->fParent; + if(!hasRealData) { + r->fBogus = U_USING_DEFAULT_WARNING; } - } /* umtx_lock */ -finishUnlock: - umtx_unlock(resbMutex()); + } + // TODO: Does this ever loop? + while(r != NULL && !isRoot && t1->fParent != NULL) { + t1->fParent->fCountExisting++; + t1 = t1->fParent; + } + +finish: if(U_SUCCESS(*status)) { if(intStatus != U_ZERO_ERROR) { *status = intStatus; @@ -790,7 +782,7 @@ entryOpenDirect(const char* path, const char* localeID, UErrorCode* status) { return NULL; } - umtx_lock(resbMutex()); + Mutex lock(&resbMutex); // findFirstExisting() without fallbacks. UResourceDataEntry *r = init_entry(localeID, path, status); if(U_SUCCESS(*status)) { @@ -828,7 +820,6 @@ entryOpenDirect(const char* path, const char* localeID, UErrorCode* status) { t1 = t1->fParent; } } - umtx_unlock(resbMutex()); return r; } @@ -871,9 +862,8 @@ static void entryCloseInt(UResourceDataEntry *resB) { */ static void entryClose(UResourceDataEntry *resB) { - umtx_lock(resbMutex()); + Mutex lock(&resbMutex); entryCloseInt(resB); - umtx_unlock(resbMutex()); } /* @@ -1177,6 +1167,7 @@ static UResourceBundle *init_resb_result(const ResourceData *rdata, Resource r, if(mainRes != result) { ures_close(mainRes); } + ResourceTracer(resB).maybeTrace("getalias"); return result; } } else { @@ -1256,6 +1247,7 @@ static UResourceBundle *init_resb_result(const ResourceData *rdata, Resource r, /*resB->fParent = parent->fRes;*/ uprv_memmove(&resB->fResData, rdata, sizeof(ResourceData)); resB->fSize = res_countArrayItems(&(resB->fResData), resB->fRes); + ResourceTracer(resB).trace("get"); return resB; } @@ -1304,7 +1296,7 @@ U_CAPI const UChar* U_EXPORT2 ures_getString(const UResourceBundle* resB, int32_ *status = U_ILLEGAL_ARGUMENT_ERROR; return NULL; } - s = res_getString(&(resB->fResData), resB->fRes, len); + s = res_getString({resB}, &(resB->fResData), resB->fRes, len); if (s == NULL) { *status = U_RESOURCE_TYPE_MISMATCH; } @@ -1393,7 +1385,7 @@ U_CAPI const uint8_t* U_EXPORT2 ures_getBinary(const UResourceBundle* resB, int3 *status = U_ILLEGAL_ARGUMENT_ERROR; return NULL; } - p = res_getBinary(&(resB->fResData), resB->fRes, len); + p = res_getBinary({resB}, &(resB->fResData), resB->fRes, len); if (p == NULL) { *status = U_RESOURCE_TYPE_MISMATCH; } @@ -1410,7 +1402,7 @@ U_CAPI const int32_t* U_EXPORT2 ures_getIntVector(const UResourceBundle* resB, i *status = U_ILLEGAL_ARGUMENT_ERROR; return NULL; } - p = res_getIntVector(&(resB->fResData), resB->fRes, len); + p = res_getIntVector({resB}, &(resB->fResData), resB->fRes, len); if (p == NULL) { *status = U_RESOURCE_TYPE_MISMATCH; } @@ -1431,7 +1423,7 @@ U_CAPI int32_t U_EXPORT2 ures_getInt(const UResourceBundle* resB, UErrorCode *st *status = U_RESOURCE_TYPE_MISMATCH; return 0xffffffff; } - return RES_GET_INT(resB->fRes); + return res_getInt({resB}, resB->fRes); } U_CAPI uint32_t U_EXPORT2 ures_getUInt(const UResourceBundle* resB, UErrorCode *status) { @@ -1446,7 +1438,7 @@ U_CAPI uint32_t U_EXPORT2 ures_getUInt(const UResourceBundle* resB, UErrorCode * *status = U_RESOURCE_TYPE_MISMATCH; return 0xffffffff; } - return RES_GET_UINT(resB->fRes); + return res_getUInt({resB}, resB->fRes); } U_CAPI UResType U_EXPORT2 ures_getType(const UResourceBundle *resB) { @@ -1457,10 +1449,18 @@ U_CAPI UResType U_EXPORT2 ures_getType(const UResourceBundle *resB) { } U_CAPI const char * U_EXPORT2 ures_getKey(const UResourceBundle *resB) { + // + // TODO: Trace ures_getKey? I guess not usually. + // + // We usually get the key string to decide whether we want the value, or to + // make a key-value pair. Tracing the value should suffice. + // + // However, I believe we have some data (e.g., in res_index) where the key + // strings are the data. Tracing the enclosing table should suffice. + // if(resB == NULL) { return NULL; } - return(resB->fKey); } @@ -1480,7 +1480,7 @@ static const UChar* ures_getStringWithAlias(const UResourceBundle *resB, Resourc ures_close(tempRes); return result; } else { - return res_getString(&(resB->fResData), r, len); + return res_getString({resB, sIndex}, &(resB->fResData), r, len); } } @@ -1516,7 +1516,7 @@ U_CAPI const UChar* U_EXPORT2 ures_getNextString(UResourceBundle *resB, int32_t* switch(RES_GET_TYPE(resB->fRes)) { case URES_STRING: case URES_STRING_V2: - return res_getString(&(resB->fResData), resB->fRes, len); + return res_getString({resB}, &(resB->fResData), resB->fRes, len); case URES_TABLE: case URES_TABLE16: case URES_TABLE32: @@ -1661,7 +1661,7 @@ U_CAPI const UChar* U_EXPORT2 ures_getStringByIndex(const UResourceBundle *resB, switch(RES_GET_TYPE(resB->fRes)) { case URES_STRING: case URES_STRING_V2: - return res_getString(&(resB->fResData), resB->fRes, len); + return res_getString({resB}, &(resB->fResData), resB->fRes, len); case URES_TABLE: case URES_TABLE16: case URES_TABLE32: @@ -1953,10 +1953,10 @@ void getAllItemsWithFallback( // When the sink sees the no-fallback/no-inheritance marker, // then it would remove the parent's item. // We would deserialize parent values even though they are overridden in a child bundle. - value.pResData = &bundle->fResData; + value.setData(&bundle->fResData); UResourceDataEntry *parentEntry = bundle->fData->fParent; UBool hasParent = parentEntry != NULL && U_SUCCESS(parentEntry->fBogus); - value.setResource(bundle->fRes); + value.setResource(bundle->fRes, ResourceTracer(bundle)); sink.put(bundle->fKey, value, !hasParent, errorCode); if (hasParent) { // We might try to query the sink whether @@ -2001,31 +2001,60 @@ void getAllItemsWithFallback( } // namespace +// Requires a ResourceDataValue fill-in, so that we need not cast from a ResourceValue. +// Unfortunately, the caller must know which subclass to make and pass in. +// Alternatively, we could make it as polymorphic as in Java by +// returning a ResourceValue pointer (possibly wrapped into a LocalPointer) +// that the caller then owns. +// +// Also requires a UResourceBundle fill-in, so that the value's ResourceTracer +// can point to a non-local bundle. +// Without tracing, the child bundle could be a function-local object. +U_CAPI void U_EXPORT2 +ures_getValueWithFallback(const UResourceBundle *bundle, const char *path, + UResourceBundle *tempFillIn, + ResourceDataValue &value, UErrorCode &errorCode) { + if (U_FAILURE(errorCode)) { return; } + if (path == nullptr) { + errorCode = U_ILLEGAL_ARGUMENT_ERROR; + return; + } + const UResourceBundle *rb; + if (*path == 0) { + // empty path + rb = bundle; + } else { + rb = ures_getByKeyWithFallback(bundle, path, tempFillIn, &errorCode); + if (U_FAILURE(errorCode)) { + return; + } + } + value.setData(&rb->fResData); + value.setResource(rb->fRes, ResourceTracer(rb)); +} + U_CAPI void U_EXPORT2 ures_getAllItemsWithFallback(const UResourceBundle *bundle, const char *path, icu::ResourceSink &sink, UErrorCode &errorCode) { if (U_FAILURE(errorCode)) { return; } - if (path == NULL) { + if (path == nullptr) { errorCode = U_ILLEGAL_ARGUMENT_ERROR; return; } - UResourceBundle stackBundle; - ures_initStackObject(&stackBundle); + StackUResourceBundle stackBundle; const UResourceBundle *rb; if (*path == 0) { // empty path rb = bundle; } else { - rb = ures_getByKeyWithFallback(bundle, path, &stackBundle, &errorCode); + rb = ures_getByKeyWithFallback(bundle, path, stackBundle.getAlias(), &errorCode); if (U_FAILURE(errorCode)) { - ures_close(&stackBundle); return; } } // Get all table items with fallback. ResourceDataValue value; getAllItemsWithFallback(rb, value, sink, errorCode); - ures_close(&stackBundle); } U_CAPI UResourceBundle* U_EXPORT2 ures_getByKey(const UResourceBundle *resB, const char* inKey, UResourceBundle *fillIn, UErrorCode *status) { @@ -2108,7 +2137,7 @@ U_CAPI const UChar* U_EXPORT2 ures_getStringByKey(const UResourceBundle *resB, c switch (RES_GET_TYPE(res)) { case URES_STRING: case URES_STRING_V2: - return res_getString(rd, res, len); + return res_getString({resB, key}, rd, res, len); case URES_ALIAS: { const UChar* result = 0; @@ -2130,7 +2159,7 @@ U_CAPI const UChar* U_EXPORT2 ures_getStringByKey(const UResourceBundle *resB, c switch (RES_GET_TYPE(res)) { case URES_STRING: case URES_STRING_V2: - return res_getString(&(resB->fResData), res, len); + return res_getString({resB, key}, &(resB->fResData), res, len); case URES_ALIAS: { const UChar* result = 0; @@ -2151,6 +2180,7 @@ U_CAPI const UChar* U_EXPORT2 ures_getStringByKey(const UResourceBundle *resB, c /* here should go a first attempt to locate the key using index table */ const ResourceData *rd = getFallbackData(resB, &key, &realData, &res, status); if(U_SUCCESS(*status)) { + // TODO: Tracing return res_getString(rd, res, len); } else { *status = U_MISSING_RESOURCE_ERROR; @@ -2296,6 +2326,8 @@ ures_openWithType(UResourceBundle *r, const char* path, const char* localeID, r->fSize = res_countArrayItems(&(r->fResData), r->fRes); r->fIndex = -1; + ResourceTracer(r).traceOpen(); + return r; } diff --git a/deps/icu-small/source/common/uresdata.cpp b/deps/icu-small/source/common/uresdata.cpp index a0b8d3ba904ad6..1bb938be62c35b 100644 --- a/deps/icu-small/source/common/uresdata.cpp +++ b/deps/icu-small/source/common/uresdata.cpp @@ -33,6 +33,7 @@ #include "uinvchar.h" #include "uresdata.h" #include "uresimp.h" +#include "utracimp.h" /* * Resource access helpers @@ -307,7 +308,7 @@ res_getPublicType(Resource res) { } U_CAPI const UChar * U_EXPORT2 -res_getString(const ResourceData *pResData, Resource res, int32_t *pLength) { +res_getStringNoTrace(const ResourceData *pResData, Resource res, int32_t *pLength) { const UChar *p; uint32_t offset=RES_GET_OFFSET(res); int32_t length; @@ -402,7 +403,8 @@ int32_t getStringArray(const ResourceData *pResData, const icu::ResourceArray &a } for(int32_t i = 0; i < length; ++i) { int32_t sLength; - const UChar *s = res_getString(pResData, array.internalGetResource(pResData, i), &sLength); + // No tracing: handled by the caller + const UChar *s = res_getStringNoTrace(pResData, array.internalGetResource(pResData, i), &sLength); if(s == NULL) { errorCode = U_RESOURCE_TYPE_MISMATCH; return 0; @@ -434,7 +436,7 @@ res_getAlias(const ResourceData *pResData, Resource res, int32_t *pLength) { } U_CAPI const uint8_t * U_EXPORT2 -res_getBinary(const ResourceData *pResData, Resource res, int32_t *pLength) { +res_getBinaryNoTrace(const ResourceData *pResData, Resource res, int32_t *pLength) { const uint8_t *p; uint32_t offset=RES_GET_OFFSET(res); int32_t length; @@ -454,7 +456,7 @@ res_getBinary(const ResourceData *pResData, Resource res, int32_t *pLength) { U_CAPI const int32_t * U_EXPORT2 -res_getIntVector(const ResourceData *pResData, Resource res, int32_t *pLength) { +res_getIntVectorNoTrace(const ResourceData *pResData, Resource res, int32_t *pLength) { const int32_t *p; uint32_t offset=RES_GET_OFFSET(res); int32_t length; @@ -507,7 +509,7 @@ const UChar *ResourceDataValue::getString(int32_t &length, UErrorCode &errorCode if(U_FAILURE(errorCode)) { return NULL; } - const UChar *s = res_getString(pResData, res, &length); + const UChar *s = res_getString(fTraceInfo, &getData(), res, &length); if(s == NULL) { errorCode = U_RESOURCE_TYPE_MISMATCH; } @@ -518,7 +520,7 @@ const UChar *ResourceDataValue::getAliasString(int32_t &length, UErrorCode &erro if(U_FAILURE(errorCode)) { return NULL; } - const UChar *s = res_getAlias(pResData, res, &length); + const UChar *s = res_getAlias(&getData(), res, &length); if(s == NULL) { errorCode = U_RESOURCE_TYPE_MISMATCH; } @@ -532,7 +534,7 @@ int32_t ResourceDataValue::getInt(UErrorCode &errorCode) const { if(RES_GET_TYPE(res) != URES_INT) { errorCode = U_RESOURCE_TYPE_MISMATCH; } - return RES_GET_INT(res); + return res_getInt(fTraceInfo, res); } uint32_t ResourceDataValue::getUInt(UErrorCode &errorCode) const { @@ -542,14 +544,14 @@ uint32_t ResourceDataValue::getUInt(UErrorCode &errorCode) const { if(RES_GET_TYPE(res) != URES_INT) { errorCode = U_RESOURCE_TYPE_MISMATCH; } - return RES_GET_UINT(res); + return res_getUInt(fTraceInfo, res); } const int32_t *ResourceDataValue::getIntVector(int32_t &length, UErrorCode &errorCode) const { if(U_FAILURE(errorCode)) { return NULL; } - const int32_t *iv = res_getIntVector(pResData, res, &length); + const int32_t *iv = res_getIntVector(fTraceInfo, &getData(), res, &length); if(iv == NULL) { errorCode = U_RESOURCE_TYPE_MISMATCH; } @@ -560,7 +562,7 @@ const uint8_t *ResourceDataValue::getBinary(int32_t &length, UErrorCode &errorCo if(U_FAILURE(errorCode)) { return NULL; } - const uint8_t *b = res_getBinary(pResData, res, &length); + const uint8_t *b = res_getBinary(fTraceInfo, &getData(), res, &length); if(b == NULL) { errorCode = U_RESOURCE_TYPE_MISMATCH; } @@ -578,19 +580,19 @@ ResourceArray ResourceDataValue::getArray(UErrorCode &errorCode) const { switch(RES_GET_TYPE(res)) { case URES_ARRAY: if (offset!=0) { // empty if offset==0 - items32 = (const Resource *)pResData->pRoot+offset; + items32 = (const Resource *)getData().pRoot+offset; length = *items32++; } break; case URES_ARRAY16: - items16 = pResData->p16BitUnits+offset; + items16 = getData().p16BitUnits+offset; length = *items16++; break; default: errorCode = U_RESOURCE_TYPE_MISMATCH; return ResourceArray(); } - return ResourceArray(items16, items32, length); + return ResourceArray(items16, items32, length, fTraceInfo); } ResourceTable ResourceDataValue::getTable(UErrorCode &errorCode) const { @@ -606,19 +608,19 @@ ResourceTable ResourceDataValue::getTable(UErrorCode &errorCode) const { switch(RES_GET_TYPE(res)) { case URES_TABLE: if (offset != 0) { // empty if offset==0 - keys16 = (const uint16_t *)(pResData->pRoot+offset); + keys16 = (const uint16_t *)(getData().pRoot+offset); length = *keys16++; items32 = (const Resource *)(keys16+length+(~length&1)); } break; case URES_TABLE16: - keys16 = pResData->p16BitUnits+offset; + keys16 = getData().p16BitUnits+offset; length = *keys16++; items16 = keys16 + length; break; case URES_TABLE32: if (offset != 0) { // empty if offset==0 - keys32 = pResData->pRoot+offset; + keys32 = getData().pRoot+offset; length = *keys32++; items32 = (const Resource *)keys32 + length; } @@ -627,22 +629,22 @@ ResourceTable ResourceDataValue::getTable(UErrorCode &errorCode) const { errorCode = U_RESOURCE_TYPE_MISMATCH; return ResourceTable(); } - return ResourceTable(keys16, keys32, items16, items32, length); + return ResourceTable(keys16, keys32, items16, items32, length, fTraceInfo); } UBool ResourceDataValue::isNoInheritanceMarker() const { - return ::isNoInheritanceMarker(pResData, res); + return ::isNoInheritanceMarker(&getData(), res); } int32_t ResourceDataValue::getStringArray(UnicodeString *dest, int32_t capacity, UErrorCode &errorCode) const { - return ::getStringArray(pResData, getArray(errorCode), dest, capacity, errorCode); + return ::getStringArray(&getData(), getArray(errorCode), dest, capacity, errorCode); } int32_t ResourceDataValue::getStringArrayOrStringAsArray(UnicodeString *dest, int32_t capacity, UErrorCode &errorCode) const { if(URES_IS_ARRAY(res)) { - return ::getStringArray(pResData, getArray(errorCode), dest, capacity, errorCode); + return ::getStringArray(&getData(), getArray(errorCode), dest, capacity, errorCode); } if(U_FAILURE(errorCode)) { return 0; @@ -656,7 +658,7 @@ int32_t ResourceDataValue::getStringArrayOrStringAsArray(UnicodeString *dest, in return 1; } int32_t sLength; - const UChar *s = res_getString(pResData, res, &sLength); + const UChar *s = res_getString(fTraceInfo, &getData(), res, &sLength); if(s != NULL) { dest[0].setTo(TRUE, s, sLength); return 1; @@ -671,7 +673,7 @@ UnicodeString ResourceDataValue::getStringOrFirstOfArray(UErrorCode &errorCode) return us; } int32_t sLength; - const UChar *s = res_getString(pResData, res, &sLength); + const UChar *s = res_getString(fTraceInfo, &getData(), res, &sLength); if(s != NULL) { us.setTo(TRUE, s, sLength); return us; @@ -681,7 +683,8 @@ UnicodeString ResourceDataValue::getStringOrFirstOfArray(UErrorCode &errorCode) return us; } if(array.getSize() > 0) { - s = res_getString(pResData, array.internalGetResource(pResData, 0), &sLength); + // Tracing is already performed above (unimportant for trace that this is an array) + s = res_getStringNoTrace(&getData(), array.internalGetResource(&getData(), 0), &sLength); if(s != NULL) { us.setTo(TRUE, s, sLength); return us; @@ -818,18 +821,45 @@ UBool icu::ResourceTable::getKeyAndValue(int32_t i, const char *&key, icu::ResourceValue &value) const { if(0 <= i && i < length) { icu::ResourceDataValue &rdValue = static_cast(value); - if (keys16 != NULL) { - key = RES_GET_KEY16(rdValue.pResData, keys16[i]); + if (keys16 != nullptr) { + key = RES_GET_KEY16(&rdValue.getData(), keys16[i]); } else { - key = RES_GET_KEY32(rdValue.pResData, keys32[i]); + key = RES_GET_KEY32(&rdValue.getData(), keys32[i]); } Resource res; - if (items16 != NULL) { - res = makeResourceFrom16(rdValue.pResData, items16[i]); + if (items16 != nullptr) { + res = makeResourceFrom16(&rdValue.getData(), items16[i]); } else { res = items32[i]; } - rdValue.setResource(res); + // Note: the ResourceTracer keeps a reference to the field of this + // ResourceTable. This is OK because the ResourceTable should remain + // alive for the duration that fields are being read from it + // (including nested fields). + rdValue.setResource(res, ResourceTracer(fTraceInfo, key)); + return TRUE; + } + return FALSE; +} + +UBool icu::ResourceTable::findValue(const char *key, ResourceValue &value) const { + icu::ResourceDataValue &rdValue = static_cast(value); + const char *realKey = nullptr; + int32_t i; + if (keys16 != nullptr) { + i = _res_findTableItem(&rdValue.getData(), keys16, length, key, &realKey); + } else { + i = _res_findTable32Item(&rdValue.getData(), keys32, length, key, &realKey); + } + if (i >= 0) { + Resource res; + if (items16 != nullptr) { + res = makeResourceFrom16(&rdValue.getData(), items16[i]); + } else { + res = items32[i]; + } + // Same note about lifetime as in getKeyAndValue(). + rdValue.setResource(res, ResourceTracer(fTraceInfo, key)); return TRUE; } return FALSE; @@ -875,7 +905,13 @@ uint32_t icu::ResourceArray::internalGetResource(const ResourceData *pResData, i UBool icu::ResourceArray::getValue(int32_t i, icu::ResourceValue &value) const { if(0 <= i && i < length) { icu::ResourceDataValue &rdValue = static_cast(value); - rdValue.setResource(internalGetResource(rdValue.pResData, i)); + // Note: the ResourceTracer keeps a reference to the field of this + // ResourceArray. This is OK because the ResourceArray should remain + // alive for the duration that fields are being read from it + // (including nested fields). + rdValue.setResource( + internalGetResource(&rdValue.getData(), i), + ResourceTracer(fTraceInfo, i)); return TRUE; } return FALSE; diff --git a/deps/icu-small/source/common/uresdata.h b/deps/icu-small/source/common/uresdata.h index 4e28ddccf63199..d1b67babf29049 100644 --- a/deps/icu-small/source/common/uresdata.h +++ b/deps/icu-small/source/common/uresdata.h @@ -69,14 +69,16 @@ typedef uint32_t Resource; #define RES_GET_OFFSET(res) ((res)&0x0fffffff) #define RES_GET_POINTER(pRoot, res) ((pRoot)+RES_GET_OFFSET(res)) -/* get signed and unsigned integer values directly from the Resource handle */ +/* get signed and unsigned integer values directly from the Resource handle + * NOTE: For proper logging, please use the res_getInt() constexpr + */ #if U_SIGNED_RIGHT_SHIFT_IS_ARITHMETIC -# define RES_GET_INT(res) (((int32_t)((res)<<4L))>>4L) +# define RES_GET_INT_NO_TRACE(res) (((int32_t)((res)<<4L))>>4L) #else -# define RES_GET_INT(res) (int32_t)(((res)&0x08000000) ? (res)|0xf0000000 : (res)&0x07ffffff) +# define RES_GET_INT_NO_TRACE(res) (int32_t)(((res)&0x08000000) ? (res)|0xf0000000 : (res)&0x07ffffff) #endif -#define RES_GET_UINT(res) ((res)&0x0fffffff) +#define RES_GET_UINT_NO_TRACE(res) ((res)&0x0fffffff) #define URES_IS_ARRAY(type) ((int32_t)(type)==URES_ARRAY || (int32_t)(type)==URES_ARRAY16) #define URES_IS_TABLE(type) ((int32_t)(type)==URES_TABLE || (int32_t)(type)==URES_TABLE16 || (int32_t)(type)==URES_TABLE32) @@ -423,22 +425,26 @@ res_unload(ResourceData *pResData); U_INTERNAL UResType U_EXPORT2 res_getPublicType(Resource res); +/////////////////////////////////////////////////////////////////////////// +// To enable tracing, use the inline versions of the res_get* functions. // +/////////////////////////////////////////////////////////////////////////// + /* * Return a pointer to a zero-terminated, const UChar* string * and set its length in *pLength. * Returns NULL if not found. */ U_INTERNAL const UChar * U_EXPORT2 -res_getString(const ResourceData *pResData, Resource res, int32_t *pLength); - -U_INTERNAL const UChar * U_EXPORT2 -res_getAlias(const ResourceData *pResData, Resource res, int32_t *pLength); +res_getStringNoTrace(const ResourceData *pResData, Resource res, int32_t *pLength); U_INTERNAL const uint8_t * U_EXPORT2 -res_getBinary(const ResourceData *pResData, Resource res, int32_t *pLength); +res_getBinaryNoTrace(const ResourceData *pResData, Resource res, int32_t *pLength); U_INTERNAL const int32_t * U_EXPORT2 -res_getIntVector(const ResourceData *pResData, Resource res, int32_t *pLength); +res_getIntVectorNoTrace(const ResourceData *pResData, Resource res, int32_t *pLength); + +U_INTERNAL const UChar * U_EXPORT2 +res_getAlias(const ResourceData *pResData, Resource res, int32_t *pLength); U_INTERNAL Resource U_EXPORT2 res_getResource(const ResourceData *pResData, const char *key); @@ -470,17 +476,55 @@ U_CFUNC Resource res_findResource(const ResourceData *pResData, Resource r, #ifdef __cplusplus #include "resource.h" +#include "restrace.h" U_NAMESPACE_BEGIN +inline const UChar* res_getString(const ResourceTracer& traceInfo, + const ResourceData *pResData, Resource res, int32_t *pLength) { + traceInfo.trace("string"); + return res_getStringNoTrace(pResData, res, pLength); +} + +inline const uint8_t* res_getBinary(const ResourceTracer& traceInfo, + const ResourceData *pResData, Resource res, int32_t *pLength) { + traceInfo.trace("binary"); + return res_getBinaryNoTrace(pResData, res, pLength); +} + +inline const int32_t* res_getIntVector(const ResourceTracer& traceInfo, + const ResourceData *pResData, Resource res, int32_t *pLength) { + traceInfo.trace("intvector"); + return res_getIntVectorNoTrace(pResData, res, pLength); +} + +inline int32_t res_getInt(const ResourceTracer& traceInfo, Resource res) { + traceInfo.trace("int"); + return RES_GET_INT_NO_TRACE(res); +} + +inline uint32_t res_getUInt(const ResourceTracer& traceInfo, Resource res) { + traceInfo.trace("uint"); + return RES_GET_UINT_NO_TRACE(res); +} + class ResourceDataValue : public ResourceValue { public: - ResourceDataValue() : pResData(NULL), res(static_cast(URES_NONE)) {} + ResourceDataValue() : + res(static_cast(URES_NONE)), + fTraceInfo() {} virtual ~ResourceDataValue(); - void setData(const ResourceData *data) { pResData = data; } - void setResource(Resource r) { res = r; } + void setData(const ResourceData *data) { + resData = *data; + } + void setResource(Resource r, ResourceTracer&& traceInfo) { + res = r; + fTraceInfo = traceInfo; + } + + const ResourceData &getData() const { return resData; } virtual UResType getType() const; virtual const UChar *getString(int32_t &length, UErrorCode &errorCode) const; virtual const UChar *getAliasString(int32_t &length, UErrorCode &errorCode) const; @@ -497,10 +541,12 @@ class ResourceDataValue : public ResourceValue { UErrorCode &errorCode) const; virtual UnicodeString getStringOrFirstOfArray(UErrorCode &errorCode) const; - const ResourceData *pResData; - private: + // TODO(ICU-20769): If UResourceBundle.fResData becomes a pointer, + // then remove this value field again and just store a pResData pointer. + ResourceData resData; Resource res; + ResourceTracer fTraceInfo; }; U_NAMESPACE_END diff --git a/deps/icu-small/source/common/uresimp.h b/deps/icu-small/source/common/uresimp.h index 16144012a5bc0d..2e477dfad3e98f 100644 --- a/deps/icu-small/source/common/uresimp.h +++ b/deps/icu-small/source/common/uresimp.h @@ -67,6 +67,9 @@ struct UResourceBundle { char *fVersion; UResourceDataEntry *fTopLevelData; /* for getting the valid locale */ char *fResPath; /* full path to the resource: "zh_TW/CollationElements/Sequence" */ + // TODO(ICU-20769): Try to change the by-value fResData into a pointer, + // with the struct in only one place for each bundle. + // Also replace class ResourceDataValue.resData with a pResData pointer again. ResourceData fResData; char fResBuf[RES_BUFSIZE]; int32_t fResPathLen; @@ -281,6 +284,11 @@ ures_getStringByKeyWithFallback(const UResourceBundle *resB, #ifdef __cplusplus +U_CAPI void U_EXPORT2 +ures_getValueWithFallback(const UResourceBundle *bundle, const char *path, + UResourceBundle *tempFillIn, + icu::ResourceDataValue &value, UErrorCode &errorCode); + U_CAPI void U_EXPORT2 ures_getAllItemsWithFallback(const UResourceBundle *bundle, const char *path, icu::ResourceSink &sink, UErrorCode &errorCode); diff --git a/deps/icu-small/source/common/usprep.cpp b/deps/icu-small/source/common/usprep.cpp index 9155ae077b3497..f1c075a391116f 100644 --- a/deps/icu-small/source/common/usprep.cpp +++ b/deps/icu-small/source/common/usprep.cpp @@ -45,13 +45,9 @@ U_CDECL_BEGIN Static cache for already opened StringPrep profiles */ static UHashtable *SHARED_DATA_HASHTABLE = NULL; -static icu::UInitOnce gSharedDataInitOnce; - -static UMutex *usprepMutex() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static icu::UInitOnce gSharedDataInitOnce = U_INITONCE_INITIALIZER; +static UMutex usprepMutex; /* format version of spp file */ //static uint8_t formatVersion[4]={ 0, 0, 0, 0 }; @@ -151,9 +147,9 @@ usprep_internal_flushCache(UBool noRefCount){ * if shared data hasn't even been lazy evaluated yet * return 0 */ - umtx_lock(usprepMutex()); + umtx_lock(&usprepMutex); if (SHARED_DATA_HASHTABLE == NULL) { - umtx_unlock(usprepMutex()); + umtx_unlock(&usprepMutex); return 0; } @@ -184,7 +180,7 @@ usprep_internal_flushCache(UBool noRefCount){ } } - umtx_unlock(usprepMutex()); + umtx_unlock(&usprepMutex); return deletedNum; } @@ -262,7 +258,7 @@ loadData(UStringPrepProfile* profile, } /* in the mutex block, set the data for this process */ - umtx_lock(usprepMutex()); + umtx_lock(&usprepMutex); if(profile->sprepData==NULL) { profile->sprepData=dataMemory; dataMemory=NULL; @@ -271,7 +267,7 @@ loadData(UStringPrepProfile* profile, } else { p=(const int32_t *)udata_getMemory(profile->sprepData); } - umtx_unlock(usprepMutex()); + umtx_unlock(&usprepMutex); /* initialize some variables */ profile->mappingData=(uint16_t *)((uint8_t *)(p+_SPREP_INDEX_TOP)+profile->indexes[_SPREP_INDEX_TRIE_SIZE]); @@ -328,12 +324,12 @@ usprep_getProfile(const char* path, stackKey.path = (char*) path; /* fetch the data from the cache */ - umtx_lock(usprepMutex()); + umtx_lock(&usprepMutex); profile = (UStringPrepProfile*) (uhash_get(SHARED_DATA_HASHTABLE,&stackKey)); if(profile != NULL) { profile->refCount++; } - umtx_unlock(usprepMutex()); + umtx_unlock(&usprepMutex); if(profile == NULL) { /* else load the data and put the data in the cache */ @@ -365,7 +361,7 @@ usprep_getProfile(const char* path, return NULL; } - umtx_lock(usprepMutex()); + umtx_lock(&usprepMutex); // If another thread already inserted the same key/value, refcount and cleanup our thread data profile = (UStringPrepProfile*) (uhash_get(SHARED_DATA_HASHTABLE,&stackKey)); if(profile != NULL) { @@ -386,7 +382,7 @@ usprep_getProfile(const char* path, profile->refCount = 1; uhash_put(SHARED_DATA_HASHTABLE, key.orphan(), profile, status); } - umtx_unlock(usprepMutex()); + umtx_unlock(&usprepMutex); } return profile; @@ -425,12 +421,12 @@ usprep_close(UStringPrepProfile* profile){ return; } - umtx_lock(usprepMutex()); + umtx_lock(&usprepMutex); /* decrement the ref count*/ if(profile->refCount > 0){ profile->refCount--; } - umtx_unlock(usprepMutex()); + umtx_unlock(&usprepMutex); } diff --git a/deps/icu-small/source/common/ustr_titlecase_brkiter.cpp b/deps/icu-small/source/common/ustr_titlecase_brkiter.cpp index 056b40eb4175f6..457905eb60da00 100644 --- a/deps/icu-small/source/common/ustr_titlecase_brkiter.cpp +++ b/deps/icu-small/source/common/ustr_titlecase_brkiter.cpp @@ -45,7 +45,7 @@ class WholeStringBreakIterator : public BreakIterator { WholeStringBreakIterator() : BreakIterator(), length(0) {} ~WholeStringBreakIterator() U_OVERRIDE; UBool operator==(const BreakIterator&) const U_OVERRIDE; - BreakIterator *clone() const U_OVERRIDE; + WholeStringBreakIterator *clone() const U_OVERRIDE; static UClassID U_EXPORT2 getStaticClassID(); UClassID getDynamicClassID() const U_OVERRIDE; CharacterIterator &getText() const U_OVERRIDE; @@ -62,9 +62,9 @@ class WholeStringBreakIterator : public BreakIterator { int32_t preceding(int32_t offset) U_OVERRIDE; UBool isBoundary(int32_t offset) U_OVERRIDE; int32_t next(int32_t n) U_OVERRIDE; - BreakIterator *createBufferClone(void *stackBuffer, int32_t &BufferSize, - UErrorCode &errorCode) U_OVERRIDE; - BreakIterator &refreshInputText(UText *input, UErrorCode &errorCode) U_OVERRIDE; + WholeStringBreakIterator *createBufferClone(void *stackBuffer, int32_t &BufferSize, + UErrorCode &errorCode) U_OVERRIDE; + WholeStringBreakIterator &refreshInputText(UText *input, UErrorCode &errorCode) U_OVERRIDE; private: int32_t length; @@ -74,7 +74,7 @@ UOBJECT_DEFINE_RTTI_IMPLEMENTATION(WholeStringBreakIterator) WholeStringBreakIterator::~WholeStringBreakIterator() {} UBool WholeStringBreakIterator::operator==(const BreakIterator&) const { return FALSE; } -BreakIterator *WholeStringBreakIterator::clone() const { return nullptr; } +WholeStringBreakIterator *WholeStringBreakIterator::clone() const { return nullptr; } CharacterIterator &WholeStringBreakIterator::getText() const { UPRV_UNREACHABLE; // really should not be called @@ -113,14 +113,14 @@ int32_t WholeStringBreakIterator::preceding(int32_t /*offset*/) { return 0; } UBool WholeStringBreakIterator::isBoundary(int32_t /*offset*/) { return FALSE; } int32_t WholeStringBreakIterator::next(int32_t /*n*/) { return length; } -BreakIterator *WholeStringBreakIterator::createBufferClone( +WholeStringBreakIterator *WholeStringBreakIterator::createBufferClone( void * /*stackBuffer*/, int32_t & /*BufferSize*/, UErrorCode &errorCode) { if (U_SUCCESS(errorCode)) { errorCode = U_UNSUPPORTED_ERROR; } return nullptr; } -BreakIterator &WholeStringBreakIterator::refreshInputText( +WholeStringBreakIterator &WholeStringBreakIterator::refreshInputText( UText * /*input*/, UErrorCode &errorCode) { if (U_SUCCESS(errorCode)) { errorCode = U_UNSUPPORTED_ERROR; diff --git a/deps/icu-small/source/common/ustring.cpp b/deps/icu-small/source/common/ustring.cpp index a1a51f4b1e1734..6886c145d9a216 100644 --- a/deps/icu-small/source/common/ustring.cpp +++ b/deps/icu-small/source/common/ustring.cpp @@ -1428,7 +1428,7 @@ u_unescape(const char *src, UChar *dest, int32_t destCapacity) { * NUL-terminate a string no matter what its type. * Set warning and error codes accordingly. */ -#define __TERMINATE_STRING(dest, destCapacity, length, pErrorCode) \ +#define __TERMINATE_STRING(dest, destCapacity, length, pErrorCode) UPRV_BLOCK_MACRO_BEGIN { \ if(pErrorCode!=NULL && U_SUCCESS(*pErrorCode)) { \ /* not a public function, so no complete argument checking */ \ \ @@ -1448,7 +1448,8 @@ u_unescape(const char *src, UChar *dest, int32_t destCapacity) { /* even the string itself did not fit - set an error code */ \ *pErrorCode=U_BUFFER_OVERFLOW_ERROR; \ } \ - } + } \ +} UPRV_BLOCK_MACRO_END U_CAPI int32_t U_EXPORT2 u_terminateUChars(UChar *dest, int32_t destCapacity, int32_t length, UErrorCode *pErrorCode) { @@ -1488,7 +1489,7 @@ u_terminateWChars(wchar_t *dest, int32_t destCapacity, int32_t length, UErrorCod the output range. [LIU] */ -#define STRING_HASH(TYPE, STR, STRLEN, DEREF) \ +#define STRING_HASH(TYPE, STR, STRLEN, DEREF) UPRV_BLOCK_MACRO_BEGIN { \ uint32_t hash = 0; \ const TYPE *p = (const TYPE*) STR; \ if (p != NULL) { \ @@ -1500,7 +1501,8 @@ u_terminateWChars(wchar_t *dest, int32_t destCapacity, int32_t length, UErrorCod p += inc; \ } \ } \ - return static_cast(hash) + return static_cast(hash); \ +} UPRV_BLOCK_MACRO_END /* Used by UnicodeString to compute its hashcode - Not public API. */ U_CAPI int32_t U_EXPORT2 diff --git a/deps/icu-small/source/common/utext.cpp b/deps/icu-small/source/common/utext.cpp index 5e3a005626e6b8..324341f1ba65dc 100644 --- a/deps/icu-small/source/common/utext.cpp +++ b/deps/icu-small/source/common/utext.cpp @@ -567,7 +567,7 @@ enum { struct ExtendedUText { UText ut; - UAlignedMemory extension; + max_align_t extension; }; static const UText emptyText = UTEXT_INITIALIZER; @@ -582,7 +582,7 @@ utext_setup(UText *ut, int32_t extraSpace, UErrorCode *status) { // We need to heap-allocate storage for the new UText int32_t spaceRequired = sizeof(UText); if (extraSpace > 0) { - spaceRequired = sizeof(ExtendedUText) + extraSpace - sizeof(UAlignedMemory); + spaceRequired = sizeof(ExtendedUText) + extraSpace - sizeof(max_align_t); } ut = (UText *)uprv_malloc(spaceRequired); if (ut == NULL) { diff --git a/deps/icu-small/source/common/util.cpp b/deps/icu-small/source/common/util.cpp index 838a201a73d803..56dd4f1bfa76a0 100644 --- a/deps/icu-small/source/common/util.cpp +++ b/deps/icu-small/source/common/util.cpp @@ -276,6 +276,16 @@ int32_t ICU_Utility::parsePattern(const UnicodeString& pat, return -1; // text ended before end of pat } +int32_t ICU_Utility::parseAsciiInteger(const UnicodeString& str, int32_t& pos) { + int32_t result = 0; + UChar c; + while (pos < str.length() && (c = str.charAt(pos)) >= u'0' && c <= u'9') { + result = result * 10 + (c - u'0'); + pos++; + } + return result; +} + /** * Append a character to a rule that is being built up. To flush * the quoteBuf to rule, make one final call with isLiteral == TRUE. diff --git a/deps/icu-small/source/common/util.h b/deps/icu-small/source/common/util.h index 92cdc9ef69a58a..a2be25056e9acb 100644 --- a/deps/icu-small/source/common/util.h +++ b/deps/icu-small/source/common/util.h @@ -179,12 +179,21 @@ class U_COMMON_API ICU_Utility /* not : public UObject because all methods are s * Parse an integer at pos, either of the form \d+ or of the form * 0x[0-9A-Fa-f]+ or 0[0-7]+, that is, in standard decimal, hex, * or octal format. - * @param pos INPUT-OUTPUT parameter. On input, the first - * character to parse. On output, the character after the last - * parsed character. + * @param pos INPUT-OUTPUT parameter. On input, the index of the first + * character to parse. On output, the index of the character after the + * last parsed character. */ static int32_t parseInteger(const UnicodeString& rule, int32_t& pos, int32_t limit); + /** + * Parse an integer at pos using only ASCII digits. + * Base 10 only. + * @param pos INPUT-OUTPUT parameter. On input, the index of the first + * character to parse. On output, the index of the character after the + * last parsed character. + */ + static int32_t parseAsciiInteger(const UnicodeString& str, int32_t& pos); + /** * Parse a Unicode identifier from the given string at the given * position. Return the identifier, or an empty string if there diff --git a/deps/icu-small/source/common/utrace.cpp b/deps/icu-small/source/common/utrace.cpp index 01bdb38e907518..04488d06a0e233 100644 --- a/deps/icu-small/source/common/utrace.cpp +++ b/deps/icu-small/source/common/utrace.cpp @@ -477,6 +477,16 @@ trCollNames[] = { }; +static const char* const +trResDataNames[] = { + "resc", + "bundle-open", + "file-open", + "res-open", + NULL +}; + + U_CAPI const char * U_EXPORT2 utrace_functionName(int32_t fnNumber) { if(UTRACE_FUNCTION_START <= fnNumber && fnNumber < UTRACE_FUNCTION_LIMIT) { @@ -485,6 +495,8 @@ utrace_functionName(int32_t fnNumber) { return trConvNames[fnNumber - UTRACE_CONVERSION_START]; } else if(UTRACE_COLLATION_START <= fnNumber && fnNumber < UTRACE_COLLATION_LIMIT){ return trCollNames[fnNumber - UTRACE_COLLATION_START]; + } else if(UTRACE_UDATA_START <= fnNumber && fnNumber < UTRACE_RES_DATA_LIMIT){ + return trResDataNames[fnNumber - UTRACE_UDATA_START]; } else { return "[BOGUS Trace Function Number]"; } diff --git a/deps/icu-small/source/common/utracimp.h b/deps/icu-small/source/common/utracimp.h index c2819830e1ba52..84e7031da8bc17 100644 --- a/deps/icu-small/source/common/utracimp.h +++ b/deps/icu-small/source/common/utracimp.h @@ -144,10 +144,12 @@ U_CDECL_END */ #define UTRACE_ENTRY(fnNumber) \ int32_t utraceFnNumber=(fnNumber); \ +UPRV_BLOCK_MACRO_BEGIN { \ if(utrace_getLevel()>=UTRACE_INFO) { \ utrace_entry(fnNumber); \ utraceFnNumber |= UTRACE_TRACED_ENTRY; \ - } + } \ +} UPRV_BLOCK_MACRO_END /** @@ -162,10 +164,12 @@ U_CDECL_END */ #define UTRACE_ENTRY_OC(fnNumber) \ int32_t utraceFnNumber=(fnNumber); \ +UPRV_BLOCK_MACRO_BEGIN { \ if(utrace_getLevel()>=UTRACE_OPEN_CLOSE) { \ utrace_entry(fnNumber); \ utraceFnNumber |= UTRACE_TRACED_ENTRY; \ - } + } \ +} UPRV_BLOCK_MACRO_END /** * Trace statement for each exit point of a function that has a UTRACE_ENTRY() @@ -179,10 +183,11 @@ U_CDECL_END * * @internal */ -#define UTRACE_EXIT() \ - {if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \ +#define UTRACE_EXIT() UPRV_BLOCK_MACRO_BEGIN { \ + if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \ utrace_exit(utraceFnNumber & ~UTRACE_TRACED_ENTRY, UTRACE_EXITV_NONE); \ - }} + } \ +} UPRV_BLOCK_MACRO_END /** * Trace statement for each exit point of a function that has a UTRACE_ENTRY() @@ -192,25 +197,29 @@ U_CDECL_END * * @internal */ -#define UTRACE_EXIT_VALUE(val) \ - {if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \ +#define UTRACE_EXIT_VALUE(val) UPRV_BLOCK_MACRO_BEGIN { \ + if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \ utrace_exit(utraceFnNumber & ~UTRACE_TRACED_ENTRY, UTRACE_EXITV_I32, val); \ - }} + } \ +} UPRV_BLOCK_MACRO_END -#define UTRACE_EXIT_STATUS(status) \ - {if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \ +#define UTRACE_EXIT_STATUS(status) UPRV_BLOCK_MACRO_BEGIN { \ + if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \ utrace_exit(utraceFnNumber & ~UTRACE_TRACED_ENTRY, UTRACE_EXITV_STATUS, status); \ - }} + } \ +} UPRV_BLOCK_MACRO_END -#define UTRACE_EXIT_VALUE_STATUS(val, status) \ - {if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \ +#define UTRACE_EXIT_VALUE_STATUS(val, status) UPRV_BLOCK_MACRO_BEGIN { \ + if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \ utrace_exit(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (UTRACE_EXITV_I32 | UTRACE_EXITV_STATUS), val, status); \ - }} + } \ +} UPRV_BLOCK_MACRO_END -#define UTRACE_EXIT_PTR_STATUS(ptr, status) \ - {if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \ +#define UTRACE_EXIT_PTR_STATUS(ptr, status) UPRV_BLOCK_MACRO_BEGIN { \ + if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \ utrace_exit(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (UTRACE_EXITV_PTR | UTRACE_EXITV_STATUS), ptr, status); \ - }} + } \ +} UPRV_BLOCK_MACRO_END /** * Trace statement used inside functions that have a UTRACE_ENTRY() statement. @@ -220,10 +229,11 @@ U_CDECL_END * Calls utrace_data() if the level is high enough. * @internal */ -#define UTRACE_DATA0(level, fmt) \ +#define UTRACE_DATA0(level, fmt) UPRV_BLOCK_MACRO_BEGIN { \ if(UTRACE_LEVEL(level)) { \ utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt)); \ - } + } \ +} UPRV_BLOCK_MACRO_END /** * Trace statement used inside functions that have a UTRACE_ENTRY() statement. @@ -233,10 +243,11 @@ U_CDECL_END * Calls utrace_data() if the level is high enough. * @internal */ -#define UTRACE_DATA1(level, fmt, a) \ +#define UTRACE_DATA1(level, fmt, a) UPRV_BLOCK_MACRO_BEGIN { \ if(UTRACE_LEVEL(level)) { \ utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY , (level), (fmt), (a)); \ - } + } \ +} UPRV_BLOCK_MACRO_END /** * Trace statement used inside functions that have a UTRACE_ENTRY() statement. @@ -246,10 +257,11 @@ U_CDECL_END * Calls utrace_data() if the level is high enough. * @internal */ -#define UTRACE_DATA2(level, fmt, a, b) \ +#define UTRACE_DATA2(level, fmt, a, b) UPRV_BLOCK_MACRO_BEGIN { \ if(UTRACE_LEVEL(level)) { \ utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY , (level), (fmt), (a), (b)); \ - } + } \ +} UPRV_BLOCK_MACRO_END /** * Trace statement used inside functions that have a UTRACE_ENTRY() statement. @@ -259,10 +271,11 @@ U_CDECL_END * Calls utrace_data() if the level is high enough. * @internal */ -#define UTRACE_DATA3(level, fmt, a, b, c) \ +#define UTRACE_DATA3(level, fmt, a, b, c) UPRV_BLOCK_MACRO_BEGIN { \ if(UTRACE_LEVEL(level)) { \ utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c)); \ - } + } \ +} UPRV_BLOCK_MACRO_END /** * Trace statement used inside functions that have a UTRACE_ENTRY() statement. @@ -272,10 +285,11 @@ U_CDECL_END * Calls utrace_data() if the level is high enough. * @internal */ -#define UTRACE_DATA4(level, fmt, a, b, c, d) \ +#define UTRACE_DATA4(level, fmt, a, b, c, d) UPRV_BLOCK_MACRO_BEGIN { \ if(UTRACE_LEVEL(level)) { \ utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c), (d)); \ - } + } \ +} UPRV_BLOCK_MACRO_END /** * Trace statement used inside functions that have a UTRACE_ENTRY() statement. @@ -285,10 +299,11 @@ U_CDECL_END * Calls utrace_data() if the level is high enough. * @internal */ -#define UTRACE_DATA5(level, fmt, a, b, c, d, e) \ +#define UTRACE_DATA5(level, fmt, a, b, c, d, e) UPRV_BLOCK_MACRO_BEGIN { \ if(UTRACE_LEVEL(level)) { \ utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c), (d), (e)); \ - } + } \ +} UPRV_BLOCK_MACRO_END /** * Trace statement used inside functions that have a UTRACE_ENTRY() statement. @@ -298,10 +313,11 @@ U_CDECL_END * Calls utrace_data() if the level is high enough. * @internal */ -#define UTRACE_DATA6(level, fmt, a, b, c, d, e, f) \ +#define UTRACE_DATA6(level, fmt, a, b, c, d, e, f) UPRV_BLOCK_MACRO_BEGIN { \ if(UTRACE_LEVEL(level)) { \ utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c), (d), (e), (f)); \ - } + } \ +} UPRV_BLOCK_MACRO_END /** * Trace statement used inside functions that have a UTRACE_ENTRY() statement. @@ -311,10 +327,11 @@ U_CDECL_END * Calls utrace_data() if the level is high enough. * @internal */ -#define UTRACE_DATA7(level, fmt, a, b, c, d, e, f, g) \ +#define UTRACE_DATA7(level, fmt, a, b, c, d, e, f, g) UPRV_BLOCK_MACRO_BEGIN { \ if(UTRACE_LEVEL(level)) { \ utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c), (d), (e), (f), (g)); \ - } + } \ +} UPRV_BLOCK_MACRO_END /** * Trace statement used inside functions that have a UTRACE_ENTRY() statement. @@ -324,10 +341,11 @@ U_CDECL_END * Calls utrace_data() if the level is high enough. * @internal */ -#define UTRACE_DATA8(level, fmt, a, b, c, d, e, f, g, h) \ +#define UTRACE_DATA8(level, fmt, a, b, c, d, e, f, g, h) UPRV_BLOCK_MACRO_BEGIN { \ if(UTRACE_LEVEL(level)) { \ utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c), (d), (e), (f), (g), (h)); \ - } + } \ +} UPRV_BLOCK_MACRO_END /** * Trace statement used inside functions that have a UTRACE_ENTRY() statement. @@ -337,10 +355,11 @@ U_CDECL_END * Calls utrace_data() if the level is high enough. * @internal */ -#define UTRACE_DATA9(level, fmt, a, b, c, d, e, f, g, h, i) \ +#define UTRACE_DATA9(level, fmt, a, b, c, d, e, f, g, h, i) UPRV_BLOCK_MACRO_BEGIN { \ if(UTRACE_LEVEL(level)) { \ utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c), (d), (e), (f), (g), (h), (i)); \ - } + } \ +} UPRV_BLOCK_MACRO_END #else diff --git a/deps/icu-small/source/common/utrie.h b/deps/icu-small/source/common/utrie.h index 3e2197eda6c261..532ba778eb6ed1 100644 --- a/deps/icu-small/source/common/utrie.h +++ b/deps/icu-small/source/common/utrie.h @@ -182,7 +182,7 @@ typedef struct UTrie UTrie; ] /** Internal trie getter from a pair of surrogates */ -#define _UTRIE_GET_FROM_PAIR(trie, data, c, c2, result, resultType) { \ +#define _UTRIE_GET_FROM_PAIR(trie, data, c, c2, result, resultType) UPRV_BLOCK_MACRO_BEGIN { \ int32_t __offset; \ \ /* get data for lead surrogate */ \ @@ -195,18 +195,18 @@ typedef struct UTrie UTrie; } else { \ (result)=(resultType)((trie)->initialValue); \ } \ -} +} UPRV_BLOCK_MACRO_END /** Internal trie getter from a BMP code point, treating a lead surrogate as a normal code point */ #define _UTRIE_GET_FROM_BMP(trie, data, c16) \ - _UTRIE_GET_RAW(trie, data, 0xd800<=(c16) && (c16)<=0xdbff ? UTRIE_LEAD_INDEX_DISP : 0, c16); + _UTRIE_GET_RAW(trie, data, 0xd800<=(c16) && (c16)<=0xdbff ? UTRIE_LEAD_INDEX_DISP : 0, c16) /** * Internal trie getter from a code point. * Could be faster(?) but longer with * if((c32)<=0xd7ff) { (result)=_UTRIE_GET_RAW(trie, data, 0, c32); } */ -#define _UTRIE_GET(trie, data, c32, result, resultType) \ +#define _UTRIE_GET(trie, data, c32, result, resultType) UPRV_BLOCK_MACRO_BEGIN { \ if((uint32_t)(c32)<=0xffff) { \ /* BMP code points */ \ (result)=_UTRIE_GET_FROM_BMP(trie, data, c32); \ @@ -217,10 +217,11 @@ typedef struct UTrie UTrie; } else { \ /* out of range */ \ (result)=(resultType)((trie)->initialValue); \ - } + } \ +} UPRV_BLOCK_MACRO_END /** Internal next-post-increment: get the next code point (c, c2) and its data */ -#define _UTRIE_NEXT(trie, data, src, limit, c, c2, result, resultType) { \ +#define _UTRIE_NEXT(trie, data, src, limit, c, c2, result, resultType) UPRV_BLOCK_MACRO_BEGIN { \ (c)=*(src)++; \ if(!U16_IS_LEAD(c)) { \ (c2)=0; \ @@ -233,10 +234,10 @@ typedef struct UTrie UTrie; (c2)=0; \ (result)=_UTRIE_GET_RAW((trie), data, UTRIE_LEAD_INDEX_DISP, (c)); \ } \ -} +} UPRV_BLOCK_MACRO_END /** Internal previous: get the previous code point (c, c2) and its data */ -#define _UTRIE_PREVIOUS(trie, data, start, src, c, c2, result, resultType) { \ +#define _UTRIE_PREVIOUS(trie, data, start, src, c, c2, result, resultType) UPRV_BLOCK_MACRO_BEGIN { \ (c)=*--(src); \ if(!U16_IS_SURROGATE(c)) { \ (c2)=0; \ @@ -257,7 +258,7 @@ typedef struct UTrie UTrie; (c2)=0; \ (result)=_UTRIE_GET_RAW((trie), data, UTRIE_LEAD_INDEX_DISP, (c)); \ } \ -} +} UPRV_BLOCK_MACRO_END /* Public UTrie API ---------------------------------------------------------*/ diff --git a/deps/icu-small/source/common/utrie2.h b/deps/icu-small/source/common/utrie2.h index 75028ee23ac1e9..671f44e16a65cc 100644 --- a/deps/icu-small/source/common/utrie2.h +++ b/deps/icu-small/source/common/utrie2.h @@ -871,7 +871,7 @@ utrie2_internalU8PrevIndex(const UTrie2 *trie, UChar32 c, (trie)->data[_UTRIE2_INDEX_FROM_CP(trie, asciiOffset, c)] /** Internal next-post-increment: get the next code point (c) and its data. */ -#define _UTRIE2_U16_NEXT(trie, data, src, limit, c, result) { \ +#define _UTRIE2_U16_NEXT(trie, data, src, limit, c, result) UPRV_BLOCK_MACRO_BEGIN { \ { \ uint16_t __c2; \ (c)=*(src)++; \ @@ -885,10 +885,10 @@ utrie2_internalU8PrevIndex(const UTrie2 *trie, UChar32 c, (result)=_UTRIE2_GET_FROM_SUPP((trie), data, (c)); \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** Internal pre-decrement-previous: get the previous code point (c) and its data */ -#define _UTRIE2_U16_PREV(trie, data, start, src, c, result) { \ +#define _UTRIE2_U16_PREV(trie, data, start, src, c, result) UPRV_BLOCK_MACRO_BEGIN { \ { \ uint16_t __c2; \ (c)=*--(src); \ @@ -900,10 +900,10 @@ utrie2_internalU8PrevIndex(const UTrie2 *trie, UChar32 c, (result)=_UTRIE2_GET_FROM_SUPP((trie), data, (c)); \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** Internal UTF-8 next-post-increment: get the next code point's data. */ -#define _UTRIE2_U8_NEXT(trie, ascii, data, src, limit, result) { \ +#define _UTRIE2_U8_NEXT(trie, ascii, data, src, limit, result) UPRV_BLOCK_MACRO_BEGIN { \ uint8_t __lead=(uint8_t)*(src)++; \ if(U8_IS_SINGLE(__lead)) { \ (result)=(trie)->ascii[__lead]; \ @@ -935,10 +935,10 @@ utrie2_internalU8PrevIndex(const UTrie2 *trie, UChar32 c, (result)=(trie)->data[__index>>3]; \ } \ } \ -} +} UPRV_BLOCK_MACRO_END /** Internal UTF-8 pre-decrement-previous: get the previous code point's data. */ -#define _UTRIE2_U8_PREV(trie, ascii, data, start, src, result) { \ +#define _UTRIE2_U8_PREV(trie, ascii, data, start, src, result) UPRV_BLOCK_MACRO_BEGIN { \ uint8_t __b=(uint8_t)*--(src); \ if(U8_IS_SINGLE(__b)) { \ (result)=(trie)->ascii[__b]; \ @@ -948,7 +948,7 @@ utrie2_internalU8PrevIndex(const UTrie2 *trie, UChar32 c, (src)-=__index&7; \ (result)=(trie)->data[__index>>3]; \ } \ -} +} UPRV_BLOCK_MACRO_END U_CDECL_END diff --git a/deps/icu-small/source/data/in/icudt64l.dat b/deps/icu-small/source/data/in/icudt65l.dat similarity index 68% rename from deps/icu-small/source/data/in/icudt64l.dat rename to deps/icu-small/source/data/in/icudt65l.dat index de81e4c01361aa..5ac4e12176e634 100644 Binary files a/deps/icu-small/source/data/in/icudt64l.dat and b/deps/icu-small/source/data/in/icudt65l.dat differ diff --git a/deps/icu-small/source/i18n/alphaindex.cpp b/deps/icu-small/source/i18n/alphaindex.cpp index 99f70114cbdb15..532e3373835e7c 100644 --- a/deps/icu-small/source/i18n/alphaindex.cpp +++ b/deps/icu-small/source/i18n/alphaindex.cpp @@ -260,8 +260,7 @@ AlphabeticIndex::ImmutableIndex *AlphabeticIndex::buildImmutableIndex(UErrorCode // but that would be worth it only if this method is called multiple times, // or called after using the old-style bucket iterator API. LocalPointer immutableBucketList(createBucketList(errorCode)); - LocalPointer coll( - static_cast(collatorPrimaryOnly_->clone())); + LocalPointer coll(collatorPrimaryOnly_->clone()); if (immutableBucketList.isNull() || coll.isNull()) { errorCode = U_MEMORY_ALLOCATION_ERROR; return NULL; @@ -907,7 +906,7 @@ void AlphabeticIndex::init(const Locale *locale, UErrorCode &status) { return; } } - collatorPrimaryOnly_ = static_cast(collator_->clone()); + collatorPrimaryOnly_ = collator_->clone(); if (collatorPrimaryOnly_ == NULL) { status = U_MEMORY_ALLOCATION_ERROR; return; @@ -958,7 +957,7 @@ collatorComparator(const void *context, const void *left, const void *right) { } if (leftString == NULL) { return 1; - }; + } if (rightString == NULL) { return -1; } diff --git a/deps/icu-small/source/i18n/anytrans.cpp b/deps/icu-small/source/i18n/anytrans.cpp index 6e382b824b95b7..167b0185285371 100644 --- a/deps/icu-small/source/i18n/anytrans.cpp +++ b/deps/icu-small/source/i18n/anytrans.cpp @@ -226,7 +226,7 @@ AnyTransliterator::AnyTransliterator(const AnyTransliterator& o) : /** * Transliterator API. */ -Transliterator* AnyTransliterator::clone() const { +AnyTransliterator* AnyTransliterator::clone() const { return new AnyTransliterator(*this); } diff --git a/deps/icu-small/source/i18n/anytrans.h b/deps/icu-small/source/i18n/anytrans.h index 703d42b6d4be55..627dee3c814e68 100644 --- a/deps/icu-small/source/i18n/anytrans.h +++ b/deps/icu-small/source/i18n/anytrans.h @@ -66,7 +66,7 @@ class AnyTransliterator : public Transliterator { /** * Transliterator API. */ - virtual Transliterator* clone() const; + virtual AnyTransliterator* clone() const; /** * Implements {@link Transliterator#handleTransliterate}. diff --git a/deps/icu-small/source/i18n/astro.cpp b/deps/icu-small/source/i18n/astro.cpp index 0d521b037dd772..d28e516472e1b9 100644 --- a/deps/icu-small/source/i18n/astro.cpp +++ b/deps/icu-small/source/i18n/astro.cpp @@ -65,10 +65,7 @@ static inline UBool isINVALID(double d) { return(uprv_isNaN(d)); } -static icu::UMutex *ccLock() { - static icu::UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static icu::UMutex ccLock; U_CDECL_BEGIN static UBool calendar_astro_cleanup(void) { @@ -1552,12 +1549,12 @@ int32_t CalendarCache::get(CalendarCache** cache, int32_t key, UErrorCode &statu if(U_FAILURE(status)) { return 0; } - umtx_lock(ccLock()); + umtx_lock(&ccLock); if(*cache == NULL) { createCache(cache, status); if(U_FAILURE(status)) { - umtx_unlock(ccLock()); + umtx_unlock(&ccLock); return 0; } } @@ -1565,7 +1562,7 @@ int32_t CalendarCache::get(CalendarCache** cache, int32_t key, UErrorCode &statu res = uhash_igeti((*cache)->fTable, key); U_DEBUG_ASTRO_MSG(("%p: GET: [%d] == %d\n", (*cache)->fTable, key, res)); - umtx_unlock(ccLock()); + umtx_unlock(&ccLock); return res; } @@ -1573,12 +1570,12 @@ void CalendarCache::put(CalendarCache** cache, int32_t key, int32_t value, UErro if(U_FAILURE(status)) { return; } - umtx_lock(ccLock()); + umtx_lock(&ccLock); if(*cache == NULL) { createCache(cache, status); if(U_FAILURE(status)) { - umtx_unlock(ccLock()); + umtx_unlock(&ccLock); return; } } @@ -1586,7 +1583,7 @@ void CalendarCache::put(CalendarCache** cache, int32_t key, int32_t value, UErro uhash_iputi((*cache)->fTable, key, value, &status); U_DEBUG_ASTRO_MSG(("%p: PUT: [%d] := %d\n", (*cache)->fTable, key, value)); - umtx_unlock(ccLock()); + umtx_unlock(&ccLock); } CalendarCache::CalendarCache(int32_t size, UErrorCode &status) { diff --git a/deps/icu-small/source/i18n/bocsu.h b/deps/icu-small/source/i18n/bocsu.h index 6b8ed5197097fd..631e29aa768b9d 100644 --- a/deps/icu-small/source/i18n/bocsu.h +++ b/deps/icu-small/source/i18n/bocsu.h @@ -144,14 +144,14 @@ U_NAMESPACE_END * yields negative modulo results and quotients that are one more than * what we need here. */ -#define NEGDIVMOD(n, d, m) { \ +#define NEGDIVMOD(n, d, m) UPRV_BLOCK_MACRO_BEGIN { \ (m)=(n)%(d); \ (n)/=(d); \ if((m)<0) { \ --(n); \ (m)+=(d); \ } \ -} +} UPRV_BLOCK_MACRO_END U_CFUNC UChar32 u_writeIdenticalLevelRun(UChar32 prev, const UChar *s, int32_t length, icu::ByteSink &sink); diff --git a/deps/icu-small/source/i18n/brktrans.cpp b/deps/icu-small/source/i18n/brktrans.cpp index ac9e2afb7e4679..46b0e345dae97d 100644 --- a/deps/icu-small/source/i18n/brktrans.cpp +++ b/deps/icu-small/source/i18n/brktrans.cpp @@ -64,7 +64,7 @@ BreakTransliterator::BreakTransliterator(const BreakTransliterator& o) : /** * Transliterator API. */ -Transliterator* BreakTransliterator::clone(void) const { +BreakTransliterator* BreakTransliterator::clone() const { return new BreakTransliterator(*this); } diff --git a/deps/icu-small/source/i18n/brktrans.h b/deps/icu-small/source/i18n/brktrans.h index fcc8bdd002ca76..caa1e16ee6e62e 100644 --- a/deps/icu-small/source/i18n/brktrans.h +++ b/deps/icu-small/source/i18n/brktrans.h @@ -54,7 +54,7 @@ class BreakTransliterator : public Transliterator { * Transliterator API. * @return A copy of the object. */ - virtual Transliterator* clone(void) const; + virtual BreakTransliterator* clone() const; virtual const UnicodeString &getInsertion() const; diff --git a/deps/icu-small/source/i18n/buddhcal.cpp b/deps/icu-small/source/i18n/buddhcal.cpp index b6ccbc4749955a..bddfd1768a0aba 100644 --- a/deps/icu-small/source/i18n/buddhcal.cpp +++ b/deps/icu-small/source/i18n/buddhcal.cpp @@ -53,7 +53,7 @@ BuddhistCalendar& BuddhistCalendar::operator= ( const BuddhistCalendar& right) return *this; } -Calendar* BuddhistCalendar::clone(void) const +BuddhistCalendar* BuddhistCalendar::clone() const { return new BuddhistCalendar(*this); } @@ -133,7 +133,7 @@ void BuddhistCalendar::timeToFields(UDate theTime, UBool quick, UErrorCode& stat */ static UDate gSystemDefaultCenturyStart = DBL_MIN; static int32_t gSystemDefaultCenturyStartYear = -1; -static icu::UInitOnce gBCInitOnce; +static icu::UInitOnce gBCInitOnce = U_INITONCE_INITIALIZER; UBool BuddhistCalendar::haveDefaultCentury() const diff --git a/deps/icu-small/source/i18n/buddhcal.h b/deps/icu-small/source/i18n/buddhcal.h index 89e3f3dec36625..c3ffa6a41d3565 100644 --- a/deps/icu-small/source/i18n/buddhcal.h +++ b/deps/icu-small/source/i18n/buddhcal.h @@ -94,7 +94,7 @@ class BuddhistCalendar : public GregorianCalendar { * @return return a polymorphic copy of this calendar. * @internal */ - virtual Calendar* clone(void) const; + virtual BuddhistCalendar* clone() const; public: /** diff --git a/deps/icu-small/source/i18n/calendar.cpp b/deps/icu-small/source/i18n/calendar.cpp index 85a387ef49ed16..94625465614547 100644 --- a/deps/icu-small/source/i18n/calendar.cpp +++ b/deps/icu-small/source/i18n/calendar.cpp @@ -268,6 +268,8 @@ static ECalType getCalendarTypeForLocale(const char *locid) { // canonicalize, so grandfathered variant will be transformed to keywords // e.g ja_JP_TRADITIONAL -> ja_JP@calendar=japanese + // NOTE: Since ICU-20187, ja_JP_TRADITIONAL no longer canonicalizes, and + // the Gregorian calendar is returned instead. int32_t canonicalLen = uloc_canonicalize(locid, canonicalName, sizeof(canonicalName) - 1, &status); if (U_FAILURE(status)) { return CALTYPE_GREGORIAN; @@ -748,6 +750,7 @@ fSkippedWallTime(UCAL_WALLTIME_LAST) validLocale[0] = 0; actualLocale[0] = 0; if (U_FAILURE(success)) { + delete zone; return; } if(zone == 0) { @@ -2592,7 +2595,7 @@ Calendar::isWeekend(UDate date, UErrorCode &status) const return FALSE; } // clone the calendar so we don't mess with the real one. - Calendar *work = (Calendar*)this->clone(); + Calendar *work = this->clone(); if (work == NULL) { status = U_MEMORY_ALLOCATION_ERROR; return FALSE; @@ -2752,7 +2755,7 @@ Calendar::getActualMinimum(UCalendarDateFields field, UErrorCode& status) const // clone the calendar so we don't mess with the real one, and set it to // accept anything for the field values - Calendar *work = (Calendar*)this->clone(); + Calendar *work = this->clone(); if (work == NULL) { status = U_MEMORY_ALLOCATION_ERROR; return 0; diff --git a/deps/icu-small/source/i18n/casetrn.cpp b/deps/icu-small/source/i18n/casetrn.cpp index f08d448881d364..06750b29837223 100644 --- a/deps/icu-small/source/i18n/casetrn.cpp +++ b/deps/icu-small/source/i18n/casetrn.cpp @@ -125,7 +125,7 @@ CaseMapTransliterator::CaseMapTransliterator(const CaseMapTransliterator& o) : /** * Transliterator API. */ -/*Transliterator* CaseMapTransliterator::clone(void) const { +/*CaseMapTransliterator* CaseMapTransliterator::clone() const { return new CaseMapTransliterator(*this); }*/ diff --git a/deps/icu-small/source/i18n/casetrn.h b/deps/icu-small/source/i18n/casetrn.h index eee443fc81d4e6..47914022f857eb 100644 --- a/deps/icu-small/source/i18n/casetrn.h +++ b/deps/icu-small/source/i18n/casetrn.h @@ -58,7 +58,7 @@ class CaseMapTransliterator : public Transliterator { * Transliterator API. * @return a copy of the object. */ - virtual Transliterator* clone(void) const = 0; + virtual CaseMapTransliterator* clone() const = 0; /** * ICU "poor man's RTTI", returns a UClassID for the actual class. diff --git a/deps/icu-small/source/i18n/chnsecal.cpp b/deps/icu-small/source/i18n/chnsecal.cpp index 3c4ad2a846619f..2ff9f755afe1f1 100644 --- a/deps/icu-small/source/i18n/chnsecal.cpp +++ b/deps/icu-small/source/i18n/chnsecal.cpp @@ -51,10 +51,7 @@ static void debug_chnsecal_msg(const char *pat, ...) // --- The cache -- -static icu::UMutex *astroLock() { // Protects access to gChineseCalendarAstro. - static icu::UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static icu::UMutex astroLock; static icu::CalendarAstronomer *gChineseCalendarAstro = NULL; // Lazy Creation & Access synchronized by class CalendarCache with a mutex. @@ -121,7 +118,7 @@ U_NAMESPACE_BEGIN //------------------------------------------------------------------------- -Calendar* ChineseCalendar::clone() const { +ChineseCalendar* ChineseCalendar::clone() const { return new ChineseCalendar(*this); } @@ -538,14 +535,14 @@ int32_t ChineseCalendar::winterSolstice(int32_t gyear) const { // PST 1298 with a final result of Dec 14 10:31:59 PST 1299. double ms = daysToMillis(Grego::fieldsToDay(gyear, UCAL_DECEMBER, 1)); - umtx_lock(astroLock()); + umtx_lock(&astroLock); if(gChineseCalendarAstro == NULL) { gChineseCalendarAstro = new CalendarAstronomer(); ucln_i18n_registerCleanup(UCLN_I18N_CHINESE_CALENDAR, calendar_chinese_cleanup); } gChineseCalendarAstro->setTime(ms); UDate solarLong = gChineseCalendarAstro->getSunTime(CalendarAstronomer::WINTER_SOLSTICE(), TRUE); - umtx_unlock(astroLock()); + umtx_unlock(&astroLock); // Winter solstice is 270 degrees solar longitude aka Dongzhi cacheValue = (int32_t)millisToDays(solarLong); @@ -568,14 +565,14 @@ int32_t ChineseCalendar::winterSolstice(int32_t gyear) const { */ int32_t ChineseCalendar::newMoonNear(double days, UBool after) const { - umtx_lock(astroLock()); + umtx_lock(&astroLock); if(gChineseCalendarAstro == NULL) { gChineseCalendarAstro = new CalendarAstronomer(); ucln_i18n_registerCleanup(UCLN_I18N_CHINESE_CALENDAR, calendar_chinese_cleanup); } gChineseCalendarAstro->setTime(daysToMillis(days)); UDate newMoon = gChineseCalendarAstro->getMoonTime(CalendarAstronomer::NEW_MOON(), after); - umtx_unlock(astroLock()); + umtx_unlock(&astroLock); return (int32_t) millisToDays(newMoon); } @@ -600,14 +597,14 @@ int32_t ChineseCalendar::synodicMonthsBetween(int32_t day1, int32_t day2) const */ int32_t ChineseCalendar::majorSolarTerm(int32_t days) const { - umtx_lock(astroLock()); + umtx_lock(&astroLock); if(gChineseCalendarAstro == NULL) { gChineseCalendarAstro = new CalendarAstronomer(); ucln_i18n_registerCleanup(UCLN_I18N_CHINESE_CALENDAR, calendar_chinese_cleanup); } gChineseCalendarAstro->setTime(daysToMillis(days)); UDate solarLongitude = gChineseCalendarAstro->getSunLongitude(); - umtx_unlock(astroLock()); + umtx_unlock(&astroLock); // Compute (floor(solarLongitude / (pi/6)) + 2) % 12 int32_t term = ( ((int32_t)(6 * solarLongitude / CalendarAstronomer::PI)) + 2 ) % 12; diff --git a/deps/icu-small/source/i18n/chnsecal.h b/deps/icu-small/source/i18n/chnsecal.h index 1b27d2d1bcc78b..c7c063738145e7 100644 --- a/deps/icu-small/source/i18n/chnsecal.h +++ b/deps/icu-small/source/i18n/chnsecal.h @@ -144,7 +144,7 @@ class U_I18N_API ChineseCalendar : public Calendar { virtual ~ChineseCalendar(); // clone - virtual Calendar* clone() const; + virtual ChineseCalendar* clone() const; private: diff --git a/deps/icu-small/source/i18n/choicfmt.cpp b/deps/icu-small/source/i18n/choicfmt.cpp index 1b846704bfe1e4..16880706d3f1dc 100644 --- a/deps/icu-small/source/i18n/choicfmt.cpp +++ b/deps/icu-small/source/i18n/choicfmt.cpp @@ -563,7 +563,7 @@ ChoiceFormat::matchStringUntilLimitPart( // ------------------------------------- -Format* +ChoiceFormat* ChoiceFormat::clone() const { ChoiceFormat *aCopy = new ChoiceFormat(*this); diff --git a/deps/icu-small/source/i18n/coll.cpp b/deps/icu-small/source/i18n/coll.cpp index 8bbe133664c2cd..984831e761bdd6 100644 --- a/deps/icu-small/source/i18n/coll.cpp +++ b/deps/icu-small/source/i18n/coll.cpp @@ -67,7 +67,7 @@ static int32_t availableLocaleListCount; static icu::ICULocaleService* gService = NULL; static icu::UInitOnce gServiceInitOnce = U_INITONCE_INITIALIZER; #endif -static icu::UInitOnce gAvailableLocaleListInitOnce; +static icu::UInitOnce gAvailableLocaleListInitOnce = U_INITONCE_INITIALIZER; /** * Release all static memory held by collator. diff --git a/deps/icu-small/source/i18n/collationiterator.cpp b/deps/icu-small/source/i18n/collationiterator.cpp index 961c9e9acef675..18ccf014f0a48c 100644 --- a/deps/icu-small/source/i18n/collationiterator.cpp +++ b/deps/icu-small/source/i18n/collationiterator.cpp @@ -872,7 +872,7 @@ CollationIterator::previousCE(UVector32 &offsets, UErrorCode &errorCode) { // consistent with forward iteration. while(offsets.size() <= ceBuffer.length) { offsets.addElement(limitOffset, errorCode); - }; + } } return ceBuffer.get(--ceBuffer.length); } else { @@ -932,7 +932,7 @@ CollationIterator::previousCEUnsafe(UChar32 c, UVector32 &offsets, UErrorCode &e offset = getOffset(); while(offsets.size() < ceBuffer.length) { offsets.addElement(offset, errorCode); - }; + } } U_ASSERT(offsets.size() == ceBuffer.length); // End offset corresponding to just after the unsafe-backwards segment. diff --git a/deps/icu-small/source/i18n/compactdecimalformat.cpp b/deps/icu-small/source/i18n/compactdecimalformat.cpp index 4dd2241b23d0a6..a4c9dad25c408f 100644 --- a/deps/icu-small/source/i18n/compactdecimalformat.cpp +++ b/deps/icu-small/source/i18n/compactdecimalformat.cpp @@ -30,9 +30,9 @@ CompactDecimalFormat::CompactDecimalFormat(const Locale& inLocale, UNumberCompac : DecimalFormat(new DecimalFormatSymbols(inLocale, status), status) { if (U_FAILURE(status)) return; // Minimal properties: let the non-shim code path do most of the logic for us. - fields->properties->compactStyle = style; - fields->properties->groupingSize = -2; // do not forward grouping information - fields->properties->minimumGroupingDigits = 2; + fields->properties.compactStyle = style; + fields->properties.groupingSize = -2; // do not forward grouping information + fields->properties.minimumGroupingDigits = 2; touch(status); } @@ -45,7 +45,7 @@ CompactDecimalFormat& CompactDecimalFormat::operator=(const CompactDecimalFormat return *this; } -Format* CompactDecimalFormat::clone() const { +CompactDecimalFormat* CompactDecimalFormat::clone() const { return new CompactDecimalFormat(*this); } diff --git a/deps/icu-small/source/i18n/coptccal.cpp b/deps/icu-small/source/i18n/coptccal.cpp index 39691217d0fcb5..229119bf164e80 100644 --- a/deps/icu-small/source/i18n/coptccal.cpp +++ b/deps/icu-small/source/i18n/coptccal.cpp @@ -40,7 +40,7 @@ CopticCalendar::~CopticCalendar() { } -Calendar* +CopticCalendar* CopticCalendar::clone() const { return new CopticCalendar(*this); diff --git a/deps/icu-small/source/i18n/coptccal.h b/deps/icu-small/source/i18n/coptccal.h index 0b82c36088fb0d..dc2d79c89e6c22 100644 --- a/deps/icu-small/source/i18n/coptccal.h +++ b/deps/icu-small/source/i18n/coptccal.h @@ -145,7 +145,7 @@ class CopticCalendar : public CECalendar { * @return return a polymorphic copy of this calendar. * @internal */ - virtual Calendar* clone(void) const; + virtual CopticCalendar* clone() const; /** * return the calendar type, "coptic" diff --git a/deps/icu-small/source/i18n/cpdtrans.cpp b/deps/icu-small/source/i18n/cpdtrans.cpp index a204de5a5352dd..624ae431d35aa6 100644 --- a/deps/icu-small/source/i18n/cpdtrans.cpp +++ b/deps/icu-small/source/i18n/cpdtrans.cpp @@ -323,7 +323,7 @@ CompoundTransliterator& CompoundTransliterator::operator=( /** * Transliterator API. */ -Transliterator* CompoundTransliterator::clone(void) const { +CompoundTransliterator* CompoundTransliterator::clone() const { return new CompoundTransliterator(*this); } diff --git a/deps/icu-small/source/i18n/cpdtrans.h b/deps/icu-small/source/i18n/cpdtrans.h index 29f3ba83fc1d57..e51b209411f68b 100644 --- a/deps/icu-small/source/i18n/cpdtrans.h +++ b/deps/icu-small/source/i18n/cpdtrans.h @@ -98,7 +98,7 @@ class U_I18N_API CompoundTransliterator : public Transliterator { /** * Transliterator API. */ - virtual Transliterator* clone(void) const; + virtual CompoundTransliterator* clone() const; /** * Returns the number of transliterators in this chain. diff --git a/deps/icu-small/source/i18n/csdetect.cpp b/deps/icu-small/source/i18n/csdetect.cpp index ad3565155dd382..566333fec667ad 100644 --- a/deps/icu-small/source/i18n/csdetect.cpp +++ b/deps/icu-small/source/i18n/csdetect.cpp @@ -47,7 +47,7 @@ struct CSRecognizerInfo : public UMemory { U_NAMESPACE_END static icu::CSRecognizerInfo **fCSRecognizers = NULL; -static icu::UInitOnce gCSRecognizersInitOnce; +static icu::UInitOnce gCSRecognizersInitOnce = U_INITONCE_INITIALIZER; static int32_t fCSRecognizers_size = 0; U_CDECL_BEGIN diff --git a/deps/icu-small/source/i18n/curramt.cpp b/deps/icu-small/source/i18n/curramt.cpp index 019c17df8e3379..69ab42ace9d9ec 100644 --- a/deps/icu-small/source/i18n/curramt.cpp +++ b/deps/icu-small/source/i18n/curramt.cpp @@ -38,7 +38,7 @@ CurrencyAmount& CurrencyAmount::operator=(const CurrencyAmount& other) { return *this; } -UObject* CurrencyAmount::clone() const { +CurrencyAmount* CurrencyAmount::clone() const { return new CurrencyAmount(*this); } diff --git a/deps/icu-small/source/i18n/currfmt.cpp b/deps/icu-small/source/i18n/currfmt.cpp index 8f20f783d25031..0ad0492ee7afbc 100644 --- a/deps/icu-small/source/i18n/currfmt.cpp +++ b/deps/icu-small/source/i18n/currfmt.cpp @@ -33,7 +33,7 @@ CurrencyFormat::CurrencyFormat(const CurrencyFormat& other) : CurrencyFormat::~CurrencyFormat() { } -Format* CurrencyFormat::clone() const { +CurrencyFormat* CurrencyFormat::clone() const { return new CurrencyFormat(*this); } diff --git a/deps/icu-small/source/i18n/currfmt.h b/deps/icu-small/source/i18n/currfmt.h index cc9bb3c1bacd05..69a031957bcea9 100644 --- a/deps/icu-small/source/i18n/currfmt.h +++ b/deps/icu-small/source/i18n/currfmt.h @@ -57,7 +57,7 @@ class CurrencyFormat : public MeasureFormat { /** * Override Format API. */ - virtual Format* clone() const; + virtual CurrencyFormat* clone() const; using MeasureFormat::format; diff --git a/deps/icu-small/source/i18n/currunit.cpp b/deps/icu-small/source/i18n/currunit.cpp index 39c49e468d117d..03347604a4c1fc 100644 --- a/deps/icu-small/source/i18n/currunit.cpp +++ b/deps/icu-small/source/i18n/currunit.cpp @@ -109,7 +109,7 @@ CurrencyUnit& CurrencyUnit::operator=(const CurrencyUnit& other) { return *this; } -UObject* CurrencyUnit::clone() const { +CurrencyUnit* CurrencyUnit::clone() const { return new CurrencyUnit(*this); } diff --git a/deps/icu-small/source/i18n/dangical.cpp b/deps/icu-small/source/i18n/dangical.cpp index bc3951f210ec45..54e2e99fa66711 100644 --- a/deps/icu-small/source/i18n/dangical.cpp +++ b/deps/icu-small/source/i18n/dangical.cpp @@ -65,7 +65,7 @@ DangiCalendar::~DangiCalendar() { } -Calendar* +DangiCalendar* DangiCalendar::clone() const { return new DangiCalendar(*this); diff --git a/deps/icu-small/source/i18n/dangical.h b/deps/icu-small/source/i18n/dangical.h index 1a1e06b9020295..4f2cf384f57664 100644 --- a/deps/icu-small/source/i18n/dangical.h +++ b/deps/icu-small/source/i18n/dangical.h @@ -66,7 +66,7 @@ class DangiCalendar : public ChineseCalendar { * Clone. * @internal */ - virtual Calendar* clone() const; + virtual DangiCalendar* clone() const; //---------------------------------------------------------------------- // Internal methods & astronomical calculations diff --git a/deps/icu-small/source/i18n/datefmt.cpp b/deps/icu-small/source/i18n/datefmt.cpp index 039f5bc226bb0a..413139db84c50d 100644 --- a/deps/icu-small/source/i18n/datefmt.cpp +++ b/deps/icu-small/source/i18n/datefmt.cpp @@ -154,7 +154,7 @@ DateFormat& DateFormat::operator=(const DateFormat& other) fCalendar = NULL; } if(other.fNumberFormat) { - fNumberFormat = (NumberFormat*)other.fNumberFormat->clone(); + fNumberFormat = other.fNumberFormat->clone(); } else { fNumberFormat = NULL; } @@ -598,7 +598,7 @@ DateFormat::adoptNumberFormat(NumberFormat* newNumberFormat) void DateFormat::setNumberFormat(const NumberFormat& newNumberFormat) { - NumberFormat* newNumFmtClone = (NumberFormat*)newNumberFormat.clone(); + NumberFormat* newNumFmtClone = newNumberFormat.clone(); if (newNumFmtClone != NULL) { adoptNumberFormat(newNumFmtClone); } diff --git a/deps/icu-small/source/i18n/decNumberLocal.h b/deps/icu-small/source/i18n/decNumberLocal.h index f6c291a9ad3359..e8d1b38653eb9d 100644 --- a/deps/icu-small/source/i18n/decNumberLocal.h +++ b/deps/icu-small/source/i18n/decNumberLocal.h @@ -259,7 +259,7 @@ /* 2,000,000,000 (as is needed for negative exponents of */ /* subnormals). The unsigned integer pow is used as a temporary */ /* variable. */ - #define TODIGIT(u, cut, c, pow) { \ + #define TODIGIT(u, cut, c, pow) UPRV_BLOCK_MACRO_BEGIN { \ *(c)='0'; \ pow=DECPOWERS[cut]*2; \ if ((u)>pow) { \ @@ -272,7 +272,7 @@ if ((u)>=pow) {(u)-=pow; *(c)+=2;} \ pow/=2; \ if ((u)>=pow) {(u)-=pow; *(c)+=1;} \ - } + } UPRV_BLOCK_MACRO_END /* ---------------------------------------------------------------- */ /* Definitions for fixed-precision modules (only valid after */ diff --git a/deps/icu-small/source/i18n/decimfmt.cpp b/deps/icu-small/source/i18n/decimfmt.cpp index 2a1e9347fa10d0..6a69c9d7a300e6 100644 --- a/deps/icu-small/source/i18n/decimfmt.cpp +++ b/deps/icu-small/source/i18n/decimfmt.cpp @@ -95,7 +95,7 @@ DecimalFormat::DecimalFormat(const UnicodeString& pattern, DecimalFormatSymbols* new CurrencyPluralInfo(fields->symbols->getLocale(), status), status); if (U_FAILURE(status)) { return; } - fields->properties->currencyPluralInfo.fPtr.adoptInstead(cpi.orphan()); + fields->properties.currencyPluralInfo.fPtr.adoptInstead(cpi.orphan()); } touch(status); } @@ -111,21 +111,14 @@ DecimalFormat::DecimalFormat(const DecimalFormatSymbols* symbolsToAdopt, UErrorC status = U_MEMORY_ALLOCATION_ERROR; return; } - fields->formatter.adoptInsteadAndCheckErrorCode(new LocalizedNumberFormatter(), status); - fields->properties.adoptInsteadAndCheckErrorCode(new DecimalFormatProperties(), status); - fields->exportedProperties.adoptInsteadAndCheckErrorCode(new DecimalFormatProperties(), status); if (adoptedSymbols.isNull()) { fields->symbols.adoptInsteadAndCheckErrorCode(new DecimalFormatSymbols(status), status); } else { fields->symbols.adoptInsteadAndCheckErrorCode(adoptedSymbols.orphan(), status); } - // In order to simplify error handling logic in the various getters/setters/etc, we do not allow - // any partially populated DecimalFormatFields object. We must have a fully complete fields object - // or else we set it to nullptr. - if (fields->formatter.isNull() || fields->properties.isNull() || fields->exportedProperties.isNull() || fields->symbols.isNull()) { + if (U_FAILURE(status)) { delete fields; fields = nullptr; - status = U_MEMORY_ALLOCATION_ERROR; } } @@ -133,8 +126,8 @@ DecimalFormat::DecimalFormat(const DecimalFormatSymbols* symbolsToAdopt, UErrorC void DecimalFormat::setParseAllInput(UNumberFormatAttributeValue value) { if (fields == nullptr) { return; } - if (value == fields->properties->parseAllInput) { return; } - fields->properties->parseAllInput = value; + if (value == fields->properties.parseAllInput) { return; } + fields->properties.parseAllInput = value; } #endif @@ -379,9 +372,9 @@ void DecimalFormat::setGroupingUsed(UBool enabled) { if (fields == nullptr) { return; } - if (UBOOL_TO_BOOL(enabled) == fields->properties->groupingUsed) { return; } + if (UBOOL_TO_BOOL(enabled) == fields->properties.groupingUsed) { return; } NumberFormat::setGroupingUsed(enabled); // to set field for compatibility - fields->properties->groupingUsed = enabled; + fields->properties.groupingUsed = enabled; touchNoError(); } @@ -389,9 +382,9 @@ void DecimalFormat::setParseIntegerOnly(UBool value) { if (fields == nullptr) { return; } - if (UBOOL_TO_BOOL(value) == fields->properties->parseIntegerOnly) { return; } + if (UBOOL_TO_BOOL(value) == fields->properties.parseIntegerOnly) { return; } NumberFormat::setParseIntegerOnly(value); // to set field for compatibility - fields->properties->parseIntegerOnly = value; + fields->properties.parseIntegerOnly = value; touchNoError(); } @@ -400,9 +393,9 @@ void DecimalFormat::setLenient(UBool enable) { return; } ParseMode mode = enable ? PARSE_MODE_LENIENT : PARSE_MODE_STRICT; - if (!fields->properties->parseMode.isNull() && mode == fields->properties->parseMode.getNoError()) { return; } + if (!fields->properties.parseMode.isNull() && mode == fields->properties.parseMode.getNoError()) { return; } NumberFormat::setLenient(enable); // to set field for compatibility - fields->properties->parseMode = mode; + fields->properties.parseMode = mode; touchNoError(); } @@ -441,19 +434,16 @@ DecimalFormat::DecimalFormat(const DecimalFormat& source) : NumberFormat(source) // Note: it is not safe to copy fields->formatter or fWarehouse directly because fields->formatter might have // dangling pointers to fields inside fWarehouse. The safe thing is to re-construct fields->formatter from // the property bag, despite being somewhat slower. - fields = new DecimalFormatFields(); + fields = new DecimalFormatFields(source.fields->properties); if (fields == nullptr) { return; // no way to report an error. } UErrorCode status = U_ZERO_ERROR; - fields->formatter.adoptInsteadAndCheckErrorCode(new LocalizedNumberFormatter(), status); - fields->properties.adoptInsteadAndCheckErrorCode(new DecimalFormatProperties(*source.fields->properties), status); fields->symbols.adoptInsteadAndCheckErrorCode(new DecimalFormatSymbols(*source.fields->symbols), status); - fields->exportedProperties.adoptInsteadAndCheckErrorCode(new DecimalFormatProperties(), status); // In order to simplify error handling logic in the various getters/setters/etc, we do not allow // any partially populated DecimalFormatFields object. We must have a fully complete fields object // or else we set it to nullptr. - if (fields->formatter.isNull() || fields->properties.isNull() || fields->exportedProperties.isNull() || fields->symbols.isNull()) { + if (U_FAILURE(status)) { delete fields; fields = nullptr; return; @@ -470,8 +460,8 @@ DecimalFormat& DecimalFormat::operator=(const DecimalFormat& rhs) { if (fields == nullptr || rhs.fields == nullptr) { return *this; // unfortunately, no way to report an error. } - *fields->properties = *rhs.fields->properties; - fields->exportedProperties->clear(); + fields->properties = rhs.fields->properties; + fields->exportedProperties.clear(); UErrorCode status = U_ZERO_ERROR; LocalPointer dfs(new DecimalFormatSymbols(*rhs.fields->symbols), status); if (U_FAILURE(status)) { @@ -495,7 +485,7 @@ DecimalFormat::~DecimalFormat() { delete fields; } -Format* DecimalFormat::clone() const { +DecimalFormat* DecimalFormat::clone() const { // can only clone valid objects. if (fields == nullptr) { return nullptr; @@ -517,7 +507,7 @@ UBool DecimalFormat::operator==(const Format& other) const { if (fields == nullptr || otherDF->fields == nullptr) { return false; } - return *fields->properties == *otherDF->fields->properties && *fields->symbols == *otherDF->fields->symbols; + return fields->properties == otherDF->fields->properties && *fields->symbols == *otherDF->fields->symbols; } UnicodeString& DecimalFormat::format(double number, UnicodeString& appendTo, FieldPosition& pos) const { @@ -529,7 +519,7 @@ UnicodeString& DecimalFormat::format(double number, UnicodeString& appendTo, Fie return appendTo; } UErrorCode localStatus = U_ZERO_ERROR; - FormattedNumber output = fields->formatter->formatDouble(number, localStatus); + FormattedNumber output = fields->formatter.formatDouble(number, localStatus); fieldPositionHelper(output, pos, appendTo.length(), localStatus); auto appendable = UnicodeStringAppendable(appendTo); output.appendTo(appendable, localStatus); @@ -550,7 +540,7 @@ UnicodeString& DecimalFormat::format(double number, UnicodeString& appendTo, Fie if (pos.getField() == FieldPosition::DONT_CARE && fastFormatDouble(number, appendTo)) { return appendTo; } - FormattedNumber output = fields->formatter->formatDouble(number, status); + FormattedNumber output = fields->formatter.formatDouble(number, status); fieldPositionHelper(output, pos, appendTo.length(), status); auto appendable = UnicodeStringAppendable(appendTo); output.appendTo(appendable, status); @@ -572,7 +562,7 @@ DecimalFormat::format(double number, UnicodeString& appendTo, FieldPositionItera if (posIter == nullptr && fastFormatDouble(number, appendTo)) { return appendTo; } - FormattedNumber output = fields->formatter->formatDouble(number, status); + FormattedNumber output = fields->formatter.formatDouble(number, status); fieldPositionIteratorHelper(output, posIter, appendTo.length(), status); auto appendable = UnicodeStringAppendable(appendTo); output.appendTo(appendable, status); @@ -603,7 +593,7 @@ UnicodeString& DecimalFormat::format(int64_t number, UnicodeString& appendTo, Fi return appendTo; } UErrorCode localStatus = U_ZERO_ERROR; - FormattedNumber output = fields->formatter->formatInt(number, localStatus); + FormattedNumber output = fields->formatter.formatInt(number, localStatus); fieldPositionHelper(output, pos, appendTo.length(), localStatus); auto appendable = UnicodeStringAppendable(appendTo); output.appendTo(appendable, localStatus); @@ -624,7 +614,7 @@ UnicodeString& DecimalFormat::format(int64_t number, UnicodeString& appendTo, Fi if (pos.getField() == FieldPosition::DONT_CARE && fastFormatInt64(number, appendTo)) { return appendTo; } - FormattedNumber output = fields->formatter->formatInt(number, status); + FormattedNumber output = fields->formatter.formatInt(number, status); fieldPositionHelper(output, pos, appendTo.length(), status); auto appendable = UnicodeStringAppendable(appendTo); output.appendTo(appendable, status); @@ -646,7 +636,7 @@ DecimalFormat::format(int64_t number, UnicodeString& appendTo, FieldPositionIter if (posIter == nullptr && fastFormatInt64(number, appendTo)) { return appendTo; } - FormattedNumber output = fields->formatter->formatInt(number, status); + FormattedNumber output = fields->formatter.formatInt(number, status); fieldPositionIteratorHelper(output, posIter, appendTo.length(), status); auto appendable = UnicodeStringAppendable(appendTo); output.appendTo(appendable, status); @@ -665,7 +655,7 @@ DecimalFormat::format(StringPiece number, UnicodeString& appendTo, FieldPosition appendTo.setToBogus(); return appendTo; } - FormattedNumber output = fields->formatter->formatDecimal(number, status); + FormattedNumber output = fields->formatter.formatDecimal(number, status); fieldPositionIteratorHelper(output, posIter, appendTo.length(), status); auto appendable = UnicodeStringAppendable(appendTo); output.appendTo(appendable, status); @@ -683,7 +673,7 @@ UnicodeString& DecimalFormat::format(const DecimalQuantity& number, UnicodeStrin appendTo.setToBogus(); return appendTo; } - FormattedNumber output = fields->formatter->formatDecimalQuantity(number, status); + FormattedNumber output = fields->formatter.formatDecimalQuantity(number, status); fieldPositionIteratorHelper(output, posIter, appendTo.length(), status); auto appendable = UnicodeStringAppendable(appendTo); output.appendTo(appendable, status); @@ -702,7 +692,7 @@ DecimalFormat::format(const DecimalQuantity& number, UnicodeString& appendTo, Fi appendTo.setToBogus(); return appendTo; } - FormattedNumber output = fields->formatter->formatDecimalQuantity(number, status); + FormattedNumber output = fields->formatter.formatDecimalQuantity(number, status); fieldPositionHelper(output, pos, appendTo.length(), status); auto appendable = UnicodeStringAppendable(appendTo); output.appendTo(appendable, status); @@ -823,7 +813,7 @@ const CurrencyPluralInfo* DecimalFormat::getCurrencyPluralInfo(void) const { if (fields == nullptr) { return nullptr; } - return fields->properties->currencyPluralInfo.fPtr.getAlias(); + return fields->properties.currencyPluralInfo.fPtr.getAlias(); } void DecimalFormat::adoptCurrencyPluralInfo(CurrencyPluralInfo* toAdopt) { @@ -833,7 +823,7 @@ void DecimalFormat::adoptCurrencyPluralInfo(CurrencyPluralInfo* toAdopt) { if (fields == nullptr) { return; } - fields->properties->currencyPluralInfo.fPtr.adoptInstead(cpi.orphan()); + fields->properties.currencyPluralInfo.fPtr.adoptInstead(cpi.orphan()); touchNoError(); } @@ -841,11 +831,11 @@ void DecimalFormat::setCurrencyPluralInfo(const CurrencyPluralInfo& info) { if (fields == nullptr) { return; } - if (fields->properties->currencyPluralInfo.fPtr.isNull()) { + if (fields->properties.currencyPluralInfo.fPtr.isNull()) { // Note: clone() can fail with OOM error, but we have no way to report it. :( - fields->properties->currencyPluralInfo.fPtr.adoptInstead(info.clone()); + fields->properties.currencyPluralInfo.fPtr.adoptInstead(info.clone()); } else { - *fields->properties->currencyPluralInfo.fPtr = info; // copy-assignment operator + *fields->properties.currencyPluralInfo.fPtr = info; // copy-assignment operator } touchNoError(); } @@ -856,7 +846,7 @@ UnicodeString& DecimalFormat::getPositivePrefix(UnicodeString& result) const { return result; } UErrorCode status = U_ZERO_ERROR; - fields->formatter->getAffixImpl(true, false, result, status); + fields->formatter.getAffixImpl(true, false, result, status); if (U_FAILURE(status)) { result.setToBogus(); } return result; } @@ -865,8 +855,8 @@ void DecimalFormat::setPositivePrefix(const UnicodeString& newValue) { if (fields == nullptr) { return; } - if (newValue == fields->properties->positivePrefix) { return; } - fields->properties->positivePrefix = newValue; + if (newValue == fields->properties.positivePrefix) { return; } + fields->properties.positivePrefix = newValue; touchNoError(); } @@ -876,7 +866,7 @@ UnicodeString& DecimalFormat::getNegativePrefix(UnicodeString& result) const { return result; } UErrorCode status = U_ZERO_ERROR; - fields->formatter->getAffixImpl(true, true, result, status); + fields->formatter.getAffixImpl(true, true, result, status); if (U_FAILURE(status)) { result.setToBogus(); } return result; } @@ -885,8 +875,8 @@ void DecimalFormat::setNegativePrefix(const UnicodeString& newValue) { if (fields == nullptr) { return; } - if (newValue == fields->properties->negativePrefix) { return; } - fields->properties->negativePrefix = newValue; + if (newValue == fields->properties.negativePrefix) { return; } + fields->properties.negativePrefix = newValue; touchNoError(); } @@ -896,7 +886,7 @@ UnicodeString& DecimalFormat::getPositiveSuffix(UnicodeString& result) const { return result; } UErrorCode status = U_ZERO_ERROR; - fields->formatter->getAffixImpl(false, false, result, status); + fields->formatter.getAffixImpl(false, false, result, status); if (U_FAILURE(status)) { result.setToBogus(); } return result; } @@ -905,8 +895,8 @@ void DecimalFormat::setPositiveSuffix(const UnicodeString& newValue) { if (fields == nullptr) { return; } - if (newValue == fields->properties->positiveSuffix) { return; } - fields->properties->positiveSuffix = newValue; + if (newValue == fields->properties.positiveSuffix) { return; } + fields->properties.positiveSuffix = newValue; touchNoError(); } @@ -916,7 +906,7 @@ UnicodeString& DecimalFormat::getNegativeSuffix(UnicodeString& result) const { return result; } UErrorCode status = U_ZERO_ERROR; - fields->formatter->getAffixImpl(false, true, result, status); + fields->formatter.getAffixImpl(false, true, result, status); if (U_FAILURE(status)) { result.setToBogus(); } return result; } @@ -925,8 +915,8 @@ void DecimalFormat::setNegativeSuffix(const UnicodeString& newValue) { if (fields == nullptr) { return; } - if (newValue == fields->properties->negativeSuffix) { return; } - fields->properties->negativeSuffix = newValue; + if (newValue == fields->properties.negativeSuffix) { return; } + fields->properties.negativeSuffix = newValue; touchNoError(); } @@ -935,13 +925,13 @@ UBool DecimalFormat::isSignAlwaysShown() const { if (fields == nullptr) { return DecimalFormatProperties::getDefault().signAlwaysShown; } - return fields->properties->signAlwaysShown; + return fields->properties.signAlwaysShown; } void DecimalFormat::setSignAlwaysShown(UBool value) { if (fields == nullptr) { return; } - if (UBOOL_TO_BOOL(value) == fields->properties->signAlwaysShown) { return; } - fields->properties->signAlwaysShown = value; + if (UBOOL_TO_BOOL(value) == fields->properties.signAlwaysShown) { return; } + fields->properties.signAlwaysShown = value; touchNoError(); } @@ -952,7 +942,7 @@ int32_t DecimalFormat::getMultiplier(void) const { // Fallback to using the default instance of DecimalFormatProperties. dfp = &(DecimalFormatProperties::getDefault()); } else { - dfp = fields->properties.getAlias(); + dfp = &fields->properties; } if (dfp->multiplier != 1) { return dfp->multiplier; @@ -984,11 +974,11 @@ void DecimalFormat::setMultiplier(int32_t multiplier) { value = temp; } if (delta != -1) { - fields->properties->magnitudeMultiplier = delta; - fields->properties->multiplier = 1; + fields->properties.magnitudeMultiplier = delta; + fields->properties.multiplier = 1; } else { - fields->properties->magnitudeMultiplier = 0; - fields->properties->multiplier = multiplier; + fields->properties.magnitudeMultiplier = 0; + fields->properties.multiplier = multiplier; } touchNoError(); } @@ -999,13 +989,13 @@ int32_t DecimalFormat::getMultiplierScale() const { // Fallback to using the default instance of DecimalFormatProperties. return DecimalFormatProperties::getDefault().multiplierScale; } - return fields->properties->multiplierScale; + return fields->properties.multiplierScale; } void DecimalFormat::setMultiplierScale(int32_t newValue) { if (fields == nullptr) { return; } - if (newValue == fields->properties->multiplierScale) { return; } - fields->properties->multiplierScale = newValue; + if (newValue == fields->properties.multiplierScale) { return; } + fields->properties.multiplierScale = newValue; touchNoError(); } @@ -1015,13 +1005,13 @@ double DecimalFormat::getRoundingIncrement(void) const { // Fallback to using the default instance of DecimalFormatProperties. return DecimalFormatProperties::getDefault().roundingIncrement; } - return fields->exportedProperties->roundingIncrement; + return fields->exportedProperties.roundingIncrement; } void DecimalFormat::setRoundingIncrement(double newValue) { if (fields == nullptr) { return; } - if (newValue == fields->properties->roundingIncrement) { return; } - fields->properties->roundingIncrement = newValue; + if (newValue == fields->properties.roundingIncrement) { return; } + fields->properties.roundingIncrement = newValue; touchNoError(); } @@ -1032,17 +1022,17 @@ ERoundingMode DecimalFormat::getRoundingMode(void) const { return static_cast(DecimalFormatProperties::getDefault().roundingMode.getNoError()); } // UNumberFormatRoundingMode and ERoundingMode have the same values. - return static_cast(fields->exportedProperties->roundingMode.getNoError()); + return static_cast(fields->exportedProperties.roundingMode.getNoError()); } void DecimalFormat::setRoundingMode(ERoundingMode roundingMode) { if (fields == nullptr) { return; } auto uRoundingMode = static_cast(roundingMode); - if (!fields->properties->roundingMode.isNull() && uRoundingMode == fields->properties->roundingMode.getNoError()) { + if (!fields->properties.roundingMode.isNull() && uRoundingMode == fields->properties.roundingMode.getNoError()) { return; } NumberFormat::setMaximumIntegerDigits(roundingMode); // to set field for compatibility - fields->properties->roundingMode = uRoundingMode; + fields->properties.roundingMode = uRoundingMode; touchNoError(); } @@ -1052,52 +1042,52 @@ int32_t DecimalFormat::getFormatWidth(void) const { // Fallback to using the default instance of DecimalFormatProperties. return DecimalFormatProperties::getDefault().formatWidth; } - return fields->properties->formatWidth; + return fields->properties.formatWidth; } void DecimalFormat::setFormatWidth(int32_t width) { if (fields == nullptr) { return; } - if (width == fields->properties->formatWidth) { return; } - fields->properties->formatWidth = width; + if (width == fields->properties.formatWidth) { return; } + fields->properties.formatWidth = width; touchNoError(); } UnicodeString DecimalFormat::getPadCharacterString() const { - if (fields == nullptr || fields->properties->padString.isBogus()) { + if (fields == nullptr || fields->properties.padString.isBogus()) { // Readonly-alias the static string kFallbackPaddingString return {TRUE, kFallbackPaddingString, -1}; } else { - return fields->properties->padString; + return fields->properties.padString; } } void DecimalFormat::setPadCharacter(const UnicodeString& padChar) { if (fields == nullptr) { return; } - if (padChar == fields->properties->padString) { return; } + if (padChar == fields->properties.padString) { return; } if (padChar.length() > 0) { - fields->properties->padString = UnicodeString(padChar.char32At(0)); + fields->properties.padString = UnicodeString(padChar.char32At(0)); } else { - fields->properties->padString.setToBogus(); + fields->properties.padString.setToBogus(); } touchNoError(); } EPadPosition DecimalFormat::getPadPosition(void) const { - if (fields == nullptr || fields->properties->padPosition.isNull()) { + if (fields == nullptr || fields->properties.padPosition.isNull()) { return EPadPosition::kPadBeforePrefix; } else { // UNumberFormatPadPosition and EPadPosition have the same values. - return static_cast(fields->properties->padPosition.getNoError()); + return static_cast(fields->properties.padPosition.getNoError()); } } void DecimalFormat::setPadPosition(EPadPosition padPos) { if (fields == nullptr) { return; } auto uPadPos = static_cast(padPos); - if (!fields->properties->padPosition.isNull() && uPadPos == fields->properties->padPosition.getNoError()) { + if (!fields->properties.padPosition.isNull() && uPadPos == fields->properties.padPosition.getNoError()) { return; } - fields->properties->padPosition = uPadPos; + fields->properties.padPosition = uPadPos; touchNoError(); } @@ -1107,17 +1097,17 @@ UBool DecimalFormat::isScientificNotation(void) const { // Fallback to using the default instance of DecimalFormatProperties. return (DecimalFormatProperties::getDefault().minimumExponentDigits != -1); } - return (fields->properties->minimumExponentDigits != -1); + return (fields->properties.minimumExponentDigits != -1); } void DecimalFormat::setScientificNotation(UBool useScientific) { if (fields == nullptr) { return; } int32_t minExp = useScientific ? 1 : -1; - if (fields->properties->minimumExponentDigits == minExp) { return; } + if (fields->properties.minimumExponentDigits == minExp) { return; } if (useScientific) { - fields->properties->minimumExponentDigits = 1; + fields->properties.minimumExponentDigits = 1; } else { - fields->properties->minimumExponentDigits = -1; + fields->properties.minimumExponentDigits = -1; } touchNoError(); } @@ -1128,13 +1118,13 @@ int8_t DecimalFormat::getMinimumExponentDigits(void) const { // Fallback to using the default instance of DecimalFormatProperties. return static_cast(DecimalFormatProperties::getDefault().minimumExponentDigits); } - return static_cast(fields->properties->minimumExponentDigits); + return static_cast(fields->properties.minimumExponentDigits); } void DecimalFormat::setMinimumExponentDigits(int8_t minExpDig) { if (fields == nullptr) { return; } - if (minExpDig == fields->properties->minimumExponentDigits) { return; } - fields->properties->minimumExponentDigits = minExpDig; + if (minExpDig == fields->properties.minimumExponentDigits) { return; } + fields->properties.minimumExponentDigits = minExpDig; touchNoError(); } @@ -1144,13 +1134,13 @@ UBool DecimalFormat::isExponentSignAlwaysShown(void) const { // Fallback to using the default instance of DecimalFormatProperties. return DecimalFormatProperties::getDefault().exponentSignAlwaysShown; } - return fields->properties->exponentSignAlwaysShown; + return fields->properties.exponentSignAlwaysShown; } void DecimalFormat::setExponentSignAlwaysShown(UBool expSignAlways) { if (fields == nullptr) { return; } - if (UBOOL_TO_BOOL(expSignAlways) == fields->properties->exponentSignAlwaysShown) { return; } - fields->properties->exponentSignAlwaysShown = expSignAlways; + if (UBOOL_TO_BOOL(expSignAlways) == fields->properties.exponentSignAlwaysShown) { return; } + fields->properties.exponentSignAlwaysShown = expSignAlways; touchNoError(); } @@ -1161,7 +1151,7 @@ int32_t DecimalFormat::getGroupingSize(void) const { // Fallback to using the default instance of DecimalFormatProperties. groupingSize = DecimalFormatProperties::getDefault().groupingSize; } else { - groupingSize = fields->properties->groupingSize; + groupingSize = fields->properties.groupingSize; } if (groupingSize < 0) { return 0; @@ -1171,8 +1161,8 @@ int32_t DecimalFormat::getGroupingSize(void) const { void DecimalFormat::setGroupingSize(int32_t newValue) { if (fields == nullptr) { return; } - if (newValue == fields->properties->groupingSize) { return; } - fields->properties->groupingSize = newValue; + if (newValue == fields->properties.groupingSize) { return; } + fields->properties.groupingSize = newValue; touchNoError(); } @@ -1183,7 +1173,7 @@ int32_t DecimalFormat::getSecondaryGroupingSize(void) const { // Fallback to using the default instance of DecimalFormatProperties. grouping2 = DecimalFormatProperties::getDefault().secondaryGroupingSize; } else { - grouping2 = fields->properties->secondaryGroupingSize; + grouping2 = fields->properties.secondaryGroupingSize; } if (grouping2 < 0) { return 0; @@ -1193,8 +1183,8 @@ int32_t DecimalFormat::getSecondaryGroupingSize(void) const { void DecimalFormat::setSecondaryGroupingSize(int32_t newValue) { if (fields == nullptr) { return; } - if (newValue == fields->properties->secondaryGroupingSize) { return; } - fields->properties->secondaryGroupingSize = newValue; + if (newValue == fields->properties.secondaryGroupingSize) { return; } + fields->properties.secondaryGroupingSize = newValue; touchNoError(); } @@ -1204,13 +1194,13 @@ int32_t DecimalFormat::getMinimumGroupingDigits() const { // Fallback to using the default instance of DecimalFormatProperties. return DecimalFormatProperties::getDefault().minimumGroupingDigits; } - return fields->properties->minimumGroupingDigits; + return fields->properties.minimumGroupingDigits; } void DecimalFormat::setMinimumGroupingDigits(int32_t newValue) { if (fields == nullptr) { return; } - if (newValue == fields->properties->minimumGroupingDigits) { return; } - fields->properties->minimumGroupingDigits = newValue; + if (newValue == fields->properties.minimumGroupingDigits) { return; } + fields->properties.minimumGroupingDigits = newValue; touchNoError(); } @@ -1220,13 +1210,13 @@ UBool DecimalFormat::isDecimalSeparatorAlwaysShown(void) const { // Fallback to using the default instance of DecimalFormatProperties. return DecimalFormatProperties::getDefault().decimalSeparatorAlwaysShown; } - return fields->properties->decimalSeparatorAlwaysShown; + return fields->properties.decimalSeparatorAlwaysShown; } void DecimalFormat::setDecimalSeparatorAlwaysShown(UBool newValue) { if (fields == nullptr) { return; } - if (UBOOL_TO_BOOL(newValue) == fields->properties->decimalSeparatorAlwaysShown) { return; } - fields->properties->decimalSeparatorAlwaysShown = newValue; + if (UBOOL_TO_BOOL(newValue) == fields->properties.decimalSeparatorAlwaysShown) { return; } + fields->properties.decimalSeparatorAlwaysShown = newValue; touchNoError(); } @@ -1236,13 +1226,13 @@ UBool DecimalFormat::isDecimalPatternMatchRequired(void) const { // Fallback to using the default instance of DecimalFormatProperties. return DecimalFormatProperties::getDefault().decimalPatternMatchRequired; } - return fields->properties->decimalPatternMatchRequired; + return fields->properties.decimalPatternMatchRequired; } void DecimalFormat::setDecimalPatternMatchRequired(UBool newValue) { if (fields == nullptr) { return; } - if (UBOOL_TO_BOOL(newValue) == fields->properties->decimalPatternMatchRequired) { return; } - fields->properties->decimalPatternMatchRequired = newValue; + if (UBOOL_TO_BOOL(newValue) == fields->properties.decimalPatternMatchRequired) { return; } + fields->properties.decimalPatternMatchRequired = newValue; touchNoError(); } @@ -1252,13 +1242,13 @@ UBool DecimalFormat::isParseNoExponent() const { // Fallback to using the default instance of DecimalFormatProperties. return DecimalFormatProperties::getDefault().parseNoExponent; } - return fields->properties->parseNoExponent; + return fields->properties.parseNoExponent; } void DecimalFormat::setParseNoExponent(UBool value) { if (fields == nullptr) { return; } - if (UBOOL_TO_BOOL(value) == fields->properties->parseNoExponent) { return; } - fields->properties->parseNoExponent = value; + if (UBOOL_TO_BOOL(value) == fields->properties.parseNoExponent) { return; } + fields->properties.parseNoExponent = value; touchNoError(); } @@ -1268,13 +1258,13 @@ UBool DecimalFormat::isParseCaseSensitive() const { // Fallback to using the default instance of DecimalFormatProperties. return DecimalFormatProperties::getDefault().parseCaseSensitive; } - return fields->properties->parseCaseSensitive; + return fields->properties.parseCaseSensitive; } void DecimalFormat::setParseCaseSensitive(UBool value) { if (fields == nullptr) { return; } - if (UBOOL_TO_BOOL(value) == fields->properties->parseCaseSensitive) { return; } - fields->properties->parseCaseSensitive = value; + if (UBOOL_TO_BOOL(value) == fields->properties.parseCaseSensitive) { return; } + fields->properties.parseCaseSensitive = value; touchNoError(); } @@ -1284,13 +1274,13 @@ UBool DecimalFormat::isFormatFailIfMoreThanMaxDigits() const { // Fallback to using the default instance of DecimalFormatProperties. return DecimalFormatProperties::getDefault().formatFailIfMoreThanMaxDigits; } - return fields->properties->formatFailIfMoreThanMaxDigits; + return fields->properties.formatFailIfMoreThanMaxDigits; } void DecimalFormat::setFormatFailIfMoreThanMaxDigits(UBool value) { if (fields == nullptr) { return; } - if (UBOOL_TO_BOOL(value) == fields->properties->formatFailIfMoreThanMaxDigits) { return; } - fields->properties->formatFailIfMoreThanMaxDigits = value; + if (UBOOL_TO_BOOL(value) == fields->properties.formatFailIfMoreThanMaxDigits) { return; } + fields->properties.formatFailIfMoreThanMaxDigits = value; touchNoError(); } @@ -1305,7 +1295,7 @@ UnicodeString& DecimalFormat::toPattern(UnicodeString& result) const { // so that CurrencyUsage is reflected properly. // TODO: Consider putting this logic in number_patternstring.cpp instead. ErrorCode localStatus; - DecimalFormatProperties tprops(*fields->properties); + DecimalFormatProperties tprops(fields->properties); bool useCurrency = ( !tprops.currency.isNull() || !tprops.currencyPluralInfo.fPtr.isNull() || @@ -1315,9 +1305,9 @@ UnicodeString& DecimalFormat::toPattern(UnicodeString& result) const { AffixUtils::hasCurrencySymbols(tprops.negativePrefixPattern, localStatus) || AffixUtils::hasCurrencySymbols(tprops.negativeSuffixPattern, localStatus)); if (useCurrency) { - tprops.minimumFractionDigits = fields->exportedProperties->minimumFractionDigits; - tprops.maximumFractionDigits = fields->exportedProperties->maximumFractionDigits; - tprops.roundingIncrement = fields->exportedProperties->roundingIncrement; + tprops.minimumFractionDigits = fields->exportedProperties.minimumFractionDigits; + tprops.maximumFractionDigits = fields->exportedProperties.maximumFractionDigits; + tprops.roundingIncrement = fields->exportedProperties.roundingIncrement; } result = PatternStringUtils::propertiesToPatternString(tprops, localStatus); return result; @@ -1373,49 +1363,53 @@ void DecimalFormat::applyLocalizedPattern(const UnicodeString& localizedPattern, void DecimalFormat::setMaximumIntegerDigits(int32_t newValue) { if (fields == nullptr) { return; } - if (newValue == fields->properties->maximumIntegerDigits) { return; } + if (newValue == fields->properties.maximumIntegerDigits) { return; } // For backwards compatibility, conflicting min/max need to keep the most recent setting. - int32_t min = fields->properties->minimumIntegerDigits; + int32_t min = fields->properties.minimumIntegerDigits; if (min >= 0 && min > newValue) { - fields->properties->minimumIntegerDigits = newValue; + fields->properties.minimumIntegerDigits = newValue; } - fields->properties->maximumIntegerDigits = newValue; + fields->properties.maximumIntegerDigits = newValue; touchNoError(); } void DecimalFormat::setMinimumIntegerDigits(int32_t newValue) { if (fields == nullptr) { return; } - if (newValue == fields->properties->minimumIntegerDigits) { return; } + if (newValue == fields->properties.minimumIntegerDigits) { return; } // For backwards compatibility, conflicting min/max need to keep the most recent setting. - int32_t max = fields->properties->maximumIntegerDigits; + int32_t max = fields->properties.maximumIntegerDigits; if (max >= 0 && max < newValue) { - fields->properties->maximumIntegerDigits = newValue; + fields->properties.maximumIntegerDigits = newValue; } - fields->properties->minimumIntegerDigits = newValue; + fields->properties.minimumIntegerDigits = newValue; touchNoError(); } void DecimalFormat::setMaximumFractionDigits(int32_t newValue) { if (fields == nullptr) { return; } - if (newValue == fields->properties->maximumFractionDigits) { return; } + if (newValue == fields->properties.maximumFractionDigits) { return; } + // cap for backward compatibility, formerly 340, now 999 + if (newValue > kMaxIntFracSig) { + newValue = kMaxIntFracSig; + } // For backwards compatibility, conflicting min/max need to keep the most recent setting. - int32_t min = fields->properties->minimumFractionDigits; + int32_t min = fields->properties.minimumFractionDigits; if (min >= 0 && min > newValue) { - fields->properties->minimumFractionDigits = newValue; + fields->properties.minimumFractionDigits = newValue; } - fields->properties->maximumFractionDigits = newValue; + fields->properties.maximumFractionDigits = newValue; touchNoError(); } void DecimalFormat::setMinimumFractionDigits(int32_t newValue) { if (fields == nullptr) { return; } - if (newValue == fields->properties->minimumFractionDigits) { return; } + if (newValue == fields->properties.minimumFractionDigits) { return; } // For backwards compatibility, conflicting min/max need to keep the most recent setting. - int32_t max = fields->properties->maximumFractionDigits; + int32_t max = fields->properties.maximumFractionDigits; if (max >= 0 && max < newValue) { - fields->properties->maximumFractionDigits = newValue; + fields->properties.maximumFractionDigits = newValue; } - fields->properties->minimumFractionDigits = newValue; + fields->properties.minimumFractionDigits = newValue; touchNoError(); } @@ -1425,7 +1419,7 @@ int32_t DecimalFormat::getMinimumSignificantDigits() const { // Fallback to using the default instance of DecimalFormatProperties. return DecimalFormatProperties::getDefault().minimumSignificantDigits; } - return fields->exportedProperties->minimumSignificantDigits; + return fields->exportedProperties.minimumSignificantDigits; } int32_t DecimalFormat::getMaximumSignificantDigits() const { @@ -1434,28 +1428,28 @@ int32_t DecimalFormat::getMaximumSignificantDigits() const { // Fallback to using the default instance of DecimalFormatProperties. return DecimalFormatProperties::getDefault().maximumSignificantDigits; } - return fields->exportedProperties->maximumSignificantDigits; + return fields->exportedProperties.maximumSignificantDigits; } void DecimalFormat::setMinimumSignificantDigits(int32_t value) { if (fields == nullptr) { return; } - if (value == fields->properties->minimumSignificantDigits) { return; } - int32_t max = fields->properties->maximumSignificantDigits; + if (value == fields->properties.minimumSignificantDigits) { return; } + int32_t max = fields->properties.maximumSignificantDigits; if (max >= 0 && max < value) { - fields->properties->maximumSignificantDigits = value; + fields->properties.maximumSignificantDigits = value; } - fields->properties->minimumSignificantDigits = value; + fields->properties.minimumSignificantDigits = value; touchNoError(); } void DecimalFormat::setMaximumSignificantDigits(int32_t value) { if (fields == nullptr) { return; } - if (value == fields->properties->maximumSignificantDigits) { return; } - int32_t min = fields->properties->minimumSignificantDigits; + if (value == fields->properties.maximumSignificantDigits) { return; } + int32_t min = fields->properties.minimumSignificantDigits; if (min >= 0 && min > value) { - fields->properties->minimumSignificantDigits = value; + fields->properties.minimumSignificantDigits = value; } - fields->properties->maximumSignificantDigits = value; + fields->properties.maximumSignificantDigits = value; touchNoError(); } @@ -1466,7 +1460,7 @@ UBool DecimalFormat::areSignificantDigitsUsed() const { // Fallback to using the default instance of DecimalFormatProperties. dfp = &(DecimalFormatProperties::getDefault()); } else { - dfp = fields->properties.getAlias(); + dfp = &fields->properties; } return dfp->minimumSignificantDigits != -1 || dfp->maximumSignificantDigits != -1; } @@ -1476,20 +1470,20 @@ void DecimalFormat::setSignificantDigitsUsed(UBool useSignificantDigits) { // These are the default values from the old implementation. if (useSignificantDigits) { - if (fields->properties->minimumSignificantDigits != -1 || - fields->properties->maximumSignificantDigits != -1) { + if (fields->properties.minimumSignificantDigits != -1 || + fields->properties.maximumSignificantDigits != -1) { return; } } else { - if (fields->properties->minimumSignificantDigits == -1 && - fields->properties->maximumSignificantDigits == -1) { + if (fields->properties.minimumSignificantDigits == -1 && + fields->properties.maximumSignificantDigits == -1) { return; } } int32_t minSig = useSignificantDigits ? 1 : -1; int32_t maxSig = useSignificantDigits ? 6 : -1; - fields->properties->minimumSignificantDigits = minSig; - fields->properties->maximumSignificantDigits = maxSig; + fields->properties.minimumSignificantDigits = minSig; + fields->properties.maximumSignificantDigits = maxSig; touchNoError(); } @@ -1503,11 +1497,11 @@ void DecimalFormat::setCurrency(const char16_t* theCurrency, UErrorCode& ec) { } CurrencyUnit currencyUnit(theCurrency, ec); if (U_FAILURE(ec)) { return; } - if (!fields->properties->currency.isNull() && fields->properties->currency.getNoError() == currencyUnit) { + if (!fields->properties.currency.isNull() && fields->properties.currency.getNoError() == currencyUnit) { return; } NumberFormat::setCurrency(theCurrency, ec); // to set field for compatibility - fields->properties->currency = currencyUnit; + fields->properties.currency = currencyUnit; // TODO: Set values in fields->symbols, too? touchNoError(); } @@ -1525,20 +1519,20 @@ void DecimalFormat::setCurrencyUsage(UCurrencyUsage newUsage, UErrorCode* ec) { *ec = U_MEMORY_ALLOCATION_ERROR; return; } - if (!fields->properties->currencyUsage.isNull() && newUsage == fields->properties->currencyUsage.getNoError()) { + if (!fields->properties.currencyUsage.isNull() && newUsage == fields->properties.currencyUsage.getNoError()) { return; } - fields->properties->currencyUsage = newUsage; + fields->properties.currencyUsage = newUsage; touch(*ec); } UCurrencyUsage DecimalFormat::getCurrencyUsage() const { // CurrencyUsage is not exported, so we have to get it from the input property bag. // TODO: Should we export CurrencyUsage instead? - if (fields == nullptr || fields->properties->currencyUsage.isNull()) { + if (fields == nullptr || fields->properties.currencyUsage.isNull()) { return UCURR_USAGE_STANDARD; } - return fields->properties->currencyUsage.getNoError(); + return fields->properties.currencyUsage.getNoError(); } void @@ -1550,7 +1544,7 @@ DecimalFormat::formatToDecimalQuantity(double number, DecimalQuantity& output, U status = U_MEMORY_ALLOCATION_ERROR; return; } - fields->formatter->formatDouble(number, status).getDecimalQuantity(output, status); + fields->formatter.formatDouble(number, status).getDecimalQuantity(output, status); } void DecimalFormat::formatToDecimalQuantity(const Formattable& number, DecimalQuantity& output, @@ -1564,7 +1558,7 @@ void DecimalFormat::formatToDecimalQuantity(const Formattable& number, DecimalQu } UFormattedNumberData obj; number.populateDecimalQuantity(obj.quantity, status); - fields->formatter->formatImpl(&obj, status); + fields->formatter.formatImpl(&obj, status); output = std::move(obj.quantity); } @@ -1576,12 +1570,7 @@ const number::LocalizedNumberFormatter* DecimalFormat::toNumberFormatter(UErrorC status = U_MEMORY_ALLOCATION_ERROR; return nullptr; } - return &*fields->formatter; -} - -const number::LocalizedNumberFormatter& DecimalFormat::toNumberFormatter() const { - UErrorCode localStatus = U_ZERO_ERROR; - return *toNumberFormatter(localStatus); + return &fields->formatter; } /** Rebuilds the formatter object from the property bag. */ @@ -1608,9 +1597,9 @@ void DecimalFormat::touch(UErrorCode& status) { // Since memory has already been allocated for the formatter, we can move assign a stack-allocated object // and don't need to call new. (Which is slower and could possibly fail). - *fields->formatter = NumberPropertyMapper::create( - *fields->properties, *fields->symbols, fields->warehouse, *fields->exportedProperties, status).locale( - locale); + fields->formatter = NumberPropertyMapper::create( + fields->properties, *fields->symbols, fields->warehouse, fields->exportedProperties, status + ).locale(locale); // Do this after fields->exportedProperties are set up setupFastFormat(); @@ -1620,13 +1609,13 @@ void DecimalFormat::touch(UErrorCode& status) { delete fields->atomicCurrencyParser.exchange(nullptr); // In order for the getters to work, we need to populate some fields in NumberFormat. - NumberFormat::setCurrency(fields->exportedProperties->currency.get(status).getISOCurrency(), status); - NumberFormat::setMaximumIntegerDigits(fields->exportedProperties->maximumIntegerDigits); - NumberFormat::setMinimumIntegerDigits(fields->exportedProperties->minimumIntegerDigits); - NumberFormat::setMaximumFractionDigits(fields->exportedProperties->maximumFractionDigits); - NumberFormat::setMinimumFractionDigits(fields->exportedProperties->minimumFractionDigits); + NumberFormat::setCurrency(fields->exportedProperties.currency.get(status).getISOCurrency(), status); + NumberFormat::setMaximumIntegerDigits(fields->exportedProperties.maximumIntegerDigits); + NumberFormat::setMinimumIntegerDigits(fields->exportedProperties.minimumIntegerDigits); + NumberFormat::setMaximumFractionDigits(fields->exportedProperties.maximumFractionDigits); + NumberFormat::setMinimumFractionDigits(fields->exportedProperties.minimumFractionDigits); // fImpl->properties, not fields->exportedProperties, since this information comes from the pattern: - NumberFormat::setGroupingUsed(fields->properties->groupingUsed); + NumberFormat::setGroupingUsed(fields->properties.groupingUsed); } void DecimalFormat::touchNoError() { @@ -1639,7 +1628,7 @@ void DecimalFormat::setPropertiesFromPattern(const UnicodeString& pattern, int32 if (U_SUCCESS(status)) { // Cast workaround to get around putting the enum in the public header file auto actualIgnoreRounding = static_cast(ignoreRounding); - PatternParser::parseToExistingProperties(pattern, *fields->properties, actualIgnoreRounding, status); + PatternParser::parseToExistingProperties(pattern, fields->properties, actualIgnoreRounding, status); } } @@ -1658,7 +1647,7 @@ const numparse::impl::NumberParserImpl* DecimalFormat::getParser(UErrorCode& sta } // Try computing the parser on our own - auto* temp = NumberParserImpl::createParserFromProperties(*fields->properties, *fields->symbols, false, status); + auto* temp = NumberParserImpl::createParserFromProperties(fields->properties, *fields->symbols, false, status); if (U_FAILURE(status)) { return nullptr; } @@ -1691,7 +1680,7 @@ const numparse::impl::NumberParserImpl* DecimalFormat::getCurrencyParser(UErrorC } // Try computing the parser on our own - auto* temp = NumberParserImpl::createParserFromProperties(*fields->properties, *fields->symbols, true, status); + auto* temp = NumberParserImpl::createParserFromProperties(fields->properties, *fields->symbols, true, status); if (temp == nullptr) { status = U_MEMORY_ALLOCATION_ERROR; // although we may still dereference, call sites should be guarded @@ -1739,7 +1728,7 @@ DecimalFormat::fieldPositionIteratorHelper(const number::FormattedNumber& format void DecimalFormat::setupFastFormat() { // Check the majority of properties: - if (!fields->properties->equalsDefaultExceptFastFormat()) { + if (!fields->properties.equalsDefaultExceptFastFormat()) { trace("no fast format: equality\n"); fields->canUseFastFormat = false; return; @@ -1747,12 +1736,12 @@ void DecimalFormat::setupFastFormat() { // Now check the remaining properties. // Nontrivial affixes: - UBool trivialPP = fields->properties->positivePrefixPattern.isEmpty(); - UBool trivialPS = fields->properties->positiveSuffixPattern.isEmpty(); - UBool trivialNP = fields->properties->negativePrefixPattern.isBogus() || ( - fields->properties->negativePrefixPattern.length() == 1 && - fields->properties->negativePrefixPattern.charAt(0) == u'-'); - UBool trivialNS = fields->properties->negativeSuffixPattern.isEmpty(); + UBool trivialPP = fields->properties.positivePrefixPattern.isEmpty(); + UBool trivialPS = fields->properties.positiveSuffixPattern.isEmpty(); + UBool trivialNP = fields->properties.negativePrefixPattern.isBogus() || ( + fields->properties.negativePrefixPattern.length() == 1 && + fields->properties.negativePrefixPattern.charAt(0) == u'-'); + UBool trivialNS = fields->properties.negativeSuffixPattern.isEmpty(); if (!trivialPP || !trivialPS || !trivialNP || !trivialNS) { trace("no fast format: affixes\n"); fields->canUseFastFormat = false; @@ -1760,8 +1749,8 @@ void DecimalFormat::setupFastFormat() { } // Grouping (secondary grouping is forbidden in equalsDefaultExceptFastFormat): - bool groupingUsed = fields->properties->groupingUsed; - int32_t groupingSize = fields->properties->groupingSize; + bool groupingUsed = fields->properties.groupingUsed; + int32_t groupingSize = fields->properties.groupingSize; bool unusualGroupingSize = groupingSize > 0 && groupingSize != 3; const UnicodeString& groupingString = fields->symbols->getConstSymbol(DecimalFormatSymbols::kGroupingSeparatorSymbol); if (groupingUsed && (unusualGroupingSize || groupingString.length() != 1)) { @@ -1771,8 +1760,8 @@ void DecimalFormat::setupFastFormat() { } // Integer length: - int32_t minInt = fields->exportedProperties->minimumIntegerDigits; - int32_t maxInt = fields->exportedProperties->maximumIntegerDigits; + int32_t minInt = fields->exportedProperties.minimumIntegerDigits; + int32_t maxInt = fields->exportedProperties.maximumIntegerDigits; // Fastpath supports up to only 10 digits (length of INT32_MIN) if (minInt > 10) { trace("no fast format: integer\n"); @@ -1781,7 +1770,7 @@ void DecimalFormat::setupFastFormat() { } // Fraction length (no fraction part allowed in fast path): - int32_t minFrac = fields->exportedProperties->minimumFractionDigits; + int32_t minFrac = fields->exportedProperties.minimumFractionDigits; if (minFrac > 0) { trace("no fast format: fraction\n"); fields->canUseFastFormat = false; diff --git a/deps/icu-small/source/i18n/double-conversion-bignum-dtoa.cpp b/deps/icu-small/source/i18n/double-conversion-bignum-dtoa.cpp index 2add399f87c91f..a95910df0421d1 100644 --- a/deps/icu-small/source/i18n/double-conversion-bignum-dtoa.cpp +++ b/deps/icu-small/source/i18n/double-conversion-bignum-dtoa.cpp @@ -49,7 +49,7 @@ U_NAMESPACE_BEGIN namespace double_conversion { static int NormalizedExponent(uint64_t significand, int exponent) { - ASSERT(significand != 0); + DOUBLE_CONVERSION_ASSERT(significand != 0); while ((significand & Double::kHiddenBit) == 0) { significand = significand << 1; exponent = exponent - 1; @@ -90,26 +90,26 @@ static void GenerateShortestDigits(Bignum* numerator, Bignum* denominator, // Generates 'requested_digits' after the decimal point. static void BignumToFixed(int requested_digits, int* decimal_point, Bignum* numerator, Bignum* denominator, - Vector(buffer), int* length); + Vector buffer, int* length); // Generates 'count' digits of numerator/denominator. // Once 'count' digits have been produced rounds the result depending on the // remainder (remainders of exactly .5 round upwards). Might update the // decimal_point when rounding up (for example for 0.9999). static void GenerateCountedDigits(int count, int* decimal_point, Bignum* numerator, Bignum* denominator, - Vector(buffer), int* length); + Vector buffer, int* length); void BignumDtoa(double v, BignumDtoaMode mode, int requested_digits, Vector buffer, int* length, int* decimal_point) { - ASSERT(v > 0); - ASSERT(!Double(v).IsSpecial()); + DOUBLE_CONVERSION_ASSERT(v > 0); + DOUBLE_CONVERSION_ASSERT(!Double(v).IsSpecial()); uint64_t significand; int exponent; bool lower_boundary_is_closer; if (mode == BIGNUM_DTOA_SHORTEST_SINGLE) { float f = static_cast(v); - ASSERT(f == v); + DOUBLE_CONVERSION_ASSERT(f == v); significand = Single(f).Significand(); exponent = Single(f).Exponent(); lower_boundary_is_closer = Single(f).LowerBoundaryIsCloser(); @@ -148,7 +148,7 @@ void BignumDtoa(double v, BignumDtoaMode mode, int requested_digits, // 4e-324. In this case the denominator needs fewer than 324*4 binary digits. // The maximum double is 1.7976931348623157e308 which needs fewer than // 308*4 binary digits. - ASSERT(Bignum::kMaxSignificantBits >= 324*4); + DOUBLE_CONVERSION_ASSERT(Bignum::kMaxSignificantBits >= 324*4); InitialScaledStartValues(significand, exponent, lower_boundary_is_closer, estimated_power, need_boundary_deltas, &numerator, &denominator, @@ -177,7 +177,7 @@ void BignumDtoa(double v, BignumDtoaMode mode, int requested_digits, buffer, length); break; default: - UNREACHABLE(); + DOUBLE_CONVERSION_UNREACHABLE(); } buffer[*length] = '\0'; } @@ -209,7 +209,7 @@ static void GenerateShortestDigits(Bignum* numerator, Bignum* denominator, for (;;) { uint16_t digit; digit = numerator->DivideModuloIntBignum(*denominator); - ASSERT(digit <= 9); // digit is a uint16_t and therefore always positive. + DOUBLE_CONVERSION_ASSERT(digit <= 9); // digit is a uint16_t and therefore always positive. // digit = numerator / denominator (integer division). // numerator = numerator % denominator. buffer[(*length)++] = static_cast(digit + '0'); @@ -255,7 +255,7 @@ static void GenerateShortestDigits(Bignum* numerator, Bignum* denominator, // loop would have stopped earlier. // We still have an assert here in case the preconditions were not // satisfied. - ASSERT(buffer[(*length) - 1] != '9'); + DOUBLE_CONVERSION_ASSERT(buffer[(*length) - 1] != '9'); buffer[(*length) - 1]++; } else { // Halfway case. @@ -266,7 +266,7 @@ static void GenerateShortestDigits(Bignum* numerator, Bignum* denominator, if ((buffer[(*length) - 1] - '0') % 2 == 0) { // Round down => Do nothing. } else { - ASSERT(buffer[(*length) - 1] != '9'); + DOUBLE_CONVERSION_ASSERT(buffer[(*length) - 1] != '9'); buffer[(*length) - 1]++; } } @@ -278,9 +278,9 @@ static void GenerateShortestDigits(Bignum* numerator, Bignum* denominator, // Round up. // Note again that the last digit could not be '9' since this would have // stopped the loop earlier. - // We still have an ASSERT here, in case the preconditions were not + // We still have an DOUBLE_CONVERSION_ASSERT here, in case the preconditions were not // satisfied. - ASSERT(buffer[(*length) -1] != '9'); + DOUBLE_CONVERSION_ASSERT(buffer[(*length) -1] != '9'); buffer[(*length) - 1]++; return; } @@ -297,11 +297,11 @@ static void GenerateShortestDigits(Bignum* numerator, Bignum* denominator, static void GenerateCountedDigits(int count, int* decimal_point, Bignum* numerator, Bignum* denominator, Vector buffer, int* length) { - ASSERT(count >= 0); + DOUBLE_CONVERSION_ASSERT(count >= 0); for (int i = 0; i < count - 1; ++i) { uint16_t digit; digit = numerator->DivideModuloIntBignum(*denominator); - ASSERT(digit <= 9); // digit is a uint16_t and therefore always positive. + DOUBLE_CONVERSION_ASSERT(digit <= 9); // digit is a uint16_t and therefore always positive. // digit = numerator / denominator (integer division). // numerator = numerator % denominator. buffer[i] = static_cast(digit + '0'); @@ -314,7 +314,7 @@ static void GenerateCountedDigits(int count, int* decimal_point, if (Bignum::PlusCompare(*numerator, *numerator, *denominator) >= 0) { digit++; } - ASSERT(digit <= 10); + DOUBLE_CONVERSION_ASSERT(digit <= 10); buffer[count - 1] = static_cast(digit + '0'); // Correct bad digits (in case we had a sequence of '9's). Propagate the // carry until we hat a non-'9' or til we reach the first digit. @@ -339,7 +339,7 @@ static void GenerateCountedDigits(int count, int* decimal_point, // Input verifies: 1 <= (numerator + delta) / denominator < 10. static void BignumToFixed(int requested_digits, int* decimal_point, Bignum* numerator, Bignum* denominator, - Vector(buffer), int* length) { + Vector buffer, int* length) { // Note that we have to look at more than just the requested_digits, since // a number could be rounded up. Example: v=0.5 with requested_digits=0. // Even though the power of v equals 0 we can't just stop here. @@ -355,7 +355,7 @@ static void BignumToFixed(int requested_digits, int* decimal_point, } else if (-(*decimal_point) == requested_digits) { // We only need to verify if the number rounds down or up. // Ex: 0.04 and 0.06 with requested_digits == 1. - ASSERT(*decimal_point == -requested_digits); + DOUBLE_CONVERSION_ASSERT(*decimal_point == -requested_digits); // Initially the fraction lies in range (1, 10]. Multiply the denominator // by 10 so that we can compare more easily. denominator->Times10(); @@ -434,7 +434,7 @@ static void InitialScaledStartValuesPositiveExponent( Bignum* numerator, Bignum* denominator, Bignum* delta_minus, Bignum* delta_plus) { // A positive exponent implies a positive power. - ASSERT(estimated_power >= 0); + DOUBLE_CONVERSION_ASSERT(estimated_power >= 0); // Since the estimated_power is positive we simply multiply the denominator // by 10^estimated_power. @@ -520,7 +520,7 @@ static void InitialScaledStartValuesNegativeExponentNegativePower( // numerator = v * 10^-estimated_power * 2 * 2^-exponent. // Remember: numerator has been abused as power_ten. So no need to assign it // to itself. - ASSERT(numerator == power_ten); + DOUBLE_CONVERSION_ASSERT(numerator == power_ten); numerator->MultiplyByUInt64(significand); // denominator = 2 * 2^-exponent with exponent < 0. diff --git a/deps/icu-small/source/i18n/double-conversion-bignum.cpp b/deps/icu-small/source/i18n/double-conversion-bignum.cpp index 5356923921c3c1..996d75c9f60a14 100644 --- a/deps/icu-small/source/i18n/double-conversion-bignum.cpp +++ b/deps/icu-small/source/i18n/double-conversion-bignum.cpp @@ -34,6 +34,9 @@ #include "unicode/utypes.h" #if !UCONFIG_NO_FORMATTING +#include +#include + // ICU PATCH: Customize header file paths for ICU. #include "double-conversion-bignum.h" @@ -44,136 +47,129 @@ U_NAMESPACE_BEGIN namespace double_conversion { -Bignum::Bignum() - : bigits_buffer_(), bigits_(bigits_buffer_, kBigitCapacity), used_digits_(0), exponent_(0) { - for (int i = 0; i < kBigitCapacity; ++i) { - bigits_[i] = 0; - } +Bignum::Chunk& Bignum::RawBigit(const int index) { + DOUBLE_CONVERSION_ASSERT(static_cast(index) < kBigitCapacity); + return bigits_buffer_[index]; +} + + +const Bignum::Chunk& Bignum::RawBigit(const int index) const { + DOUBLE_CONVERSION_ASSERT(static_cast(index) < kBigitCapacity); + return bigits_buffer_[index]; } template -static int BitSize(S value) { +static int BitSize(const S value) { (void) value; // Mark variable as used. return 8 * sizeof(value); } // Guaranteed to lie in one Bigit. -void Bignum::AssignUInt16(uint16_t value) { - ASSERT(kBigitSize >= BitSize(value)); +void Bignum::AssignUInt16(const uint16_t value) { + DOUBLE_CONVERSION_ASSERT(kBigitSize >= BitSize(value)); Zero(); - if (value == 0) return; - - EnsureCapacity(1); - bigits_[0] = value; - used_digits_ = 1; + if (value > 0) { + RawBigit(0) = value; + used_bigits_ = 1; + } } void Bignum::AssignUInt64(uint64_t value) { - const int kUInt64Size = 64; - Zero(); - if (value == 0) return; - - int needed_bigits = kUInt64Size / kBigitSize + 1; - EnsureCapacity(needed_bigits); - for (int i = 0; i < needed_bigits; ++i) { - bigits_[i] = value & kBigitMask; - value = value >> kBigitSize; + for(int i = 0; value > 0; ++i) { + RawBigit(i) = value & kBigitMask; + value >>= kBigitSize; + ++used_bigits_; } - used_digits_ = needed_bigits; - Clamp(); } void Bignum::AssignBignum(const Bignum& other) { exponent_ = other.exponent_; - for (int i = 0; i < other.used_digits_; ++i) { - bigits_[i] = other.bigits_[i]; + for (int i = 0; i < other.used_bigits_; ++i) { + RawBigit(i) = other.RawBigit(i); } - // Clear the excess digits (if there were any). - for (int i = other.used_digits_; i < used_digits_; ++i) { - bigits_[i] = 0; - } - used_digits_ = other.used_digits_; + used_bigits_ = other.used_bigits_; } -static uint64_t ReadUInt64(Vector buffer, - int from, - int digits_to_read) { +static uint64_t ReadUInt64(const Vector buffer, + const int from, + const int digits_to_read) { uint64_t result = 0; for (int i = from; i < from + digits_to_read; ++i) { - int digit = buffer[i] - '0'; - ASSERT(0 <= digit && digit <= 9); + const int digit = buffer[i] - '0'; + DOUBLE_CONVERSION_ASSERT(0 <= digit && digit <= 9); result = result * 10 + digit; } return result; } -void Bignum::AssignDecimalString(Vector value) { +void Bignum::AssignDecimalString(const Vector value) { // 2^64 = 18446744073709551616 > 10^19 - const int kMaxUint64DecimalDigits = 19; + static const int kMaxUint64DecimalDigits = 19; Zero(); int length = value.length(); - unsigned int pos = 0; + unsigned pos = 0; // Let's just say that each digit needs 4 bits. while (length >= kMaxUint64DecimalDigits) { - uint64_t digits = ReadUInt64(value, pos, kMaxUint64DecimalDigits); + const uint64_t digits = ReadUInt64(value, pos, kMaxUint64DecimalDigits); pos += kMaxUint64DecimalDigits; length -= kMaxUint64DecimalDigits; MultiplyByPowerOfTen(kMaxUint64DecimalDigits); AddUInt64(digits); } - uint64_t digits = ReadUInt64(value, pos, length); + const uint64_t digits = ReadUInt64(value, pos, length); MultiplyByPowerOfTen(length); AddUInt64(digits); Clamp(); } -static int HexCharValue(char c) { - if ('0' <= c && c <= '9') return c - '0'; - if ('a' <= c && c <= 'f') return 10 + c - 'a'; - ASSERT('A' <= c && c <= 'F'); +static uint64_t HexCharValue(const int c) { + if ('0' <= c && c <= '9') { + return c - '0'; + } + if ('a' <= c && c <= 'f') { + return 10 + c - 'a'; + } + DOUBLE_CONVERSION_ASSERT('A' <= c && c <= 'F'); return 10 + c - 'A'; } +// Unlike AssignDecimalString(), this function is "only" used +// for unit-tests and therefore not performance critical. void Bignum::AssignHexString(Vector value) { Zero(); - int length = value.length(); - - int needed_bigits = length * 4 / kBigitSize + 1; - EnsureCapacity(needed_bigits); - int string_index = length - 1; - for (int i = 0; i < needed_bigits - 1; ++i) { - // These bigits are guaranteed to be "full". - Chunk current_bigit = 0; - for (int j = 0; j < kBigitSize / 4; j++) { - current_bigit += HexCharValue(value[string_index--]) << (j * 4); + // Required capacity could be reduced by ignoring leading zeros. + EnsureCapacity(((value.length() * 4) + kBigitSize - 1) / kBigitSize); + DOUBLE_CONVERSION_ASSERT(sizeof(uint64_t) * 8 >= kBigitSize + 4); // TODO: static_assert + // Accumulates converted hex digits until at least kBigitSize bits. + // Works with non-factor-of-four kBigitSizes. + uint64_t tmp = 0; // Accumulates converted hex digits until at least + for (int cnt = 0; !value.is_empty(); value.pop_back()) { + tmp |= (HexCharValue(value.last()) << cnt); + if ((cnt += 4) >= kBigitSize) { + RawBigit(used_bigits_++) = (tmp & kBigitMask); + cnt -= kBigitSize; + tmp >>= kBigitSize; } - bigits_[i] = current_bigit; - } - used_digits_ = needed_bigits - 1; - - Chunk most_significant_bigit = 0; // Could be = 0; - for (int j = 0; j <= string_index; ++j) { - most_significant_bigit <<= 4; - most_significant_bigit += HexCharValue(value[j]); } - if (most_significant_bigit != 0) { - bigits_[used_digits_] = most_significant_bigit; - used_digits_++; + if (tmp > 0) { + RawBigit(used_bigits_++) = tmp; } Clamp(); } -void Bignum::AddUInt64(uint64_t operand) { - if (operand == 0) return; +void Bignum::AddUInt64(const uint64_t operand) { + if (operand == 0) { + return; + } Bignum other; other.AssignUInt64(operand); AddBignum(other); @@ -181,8 +177,8 @@ void Bignum::AddUInt64(uint64_t operand) { void Bignum::AddBignum(const Bignum& other) { - ASSERT(IsClamped()); - ASSERT(other.IsClamped()); + DOUBLE_CONVERSION_ASSERT(IsClamped()); + DOUBLE_CONVERSION_ASSERT(other.IsClamped()); // If this has a greater exponent than other append zero-bigits to this. // After this call exponent_ <= other.exponent_. @@ -200,48 +196,52 @@ void Bignum::AddBignum(const Bignum& other) { // cccccccccccc 0000 // In both cases we might need a carry bigit. - EnsureCapacity(1 + Max(BigitLength(), other.BigitLength()) - exponent_); + EnsureCapacity(1 + (std::max)(BigitLength(), other.BigitLength()) - exponent_); Chunk carry = 0; int bigit_pos = other.exponent_ - exponent_; - ASSERT(bigit_pos >= 0); - for (int i = 0; i < other.used_digits_; ++i) { - Chunk sum = bigits_[bigit_pos] + other.bigits_[i] + carry; - bigits_[bigit_pos] = sum & kBigitMask; + DOUBLE_CONVERSION_ASSERT(bigit_pos >= 0); + for (int i = used_bigits_; i < bigit_pos; ++i) { + RawBigit(i) = 0; + } + for (int i = 0; i < other.used_bigits_; ++i) { + const Chunk my = (bigit_pos < used_bigits_) ? RawBigit(bigit_pos) : 0; + const Chunk sum = my + other.RawBigit(i) + carry; + RawBigit(bigit_pos) = sum & kBigitMask; carry = sum >> kBigitSize; - bigit_pos++; + ++bigit_pos; } - while (carry != 0) { - Chunk sum = bigits_[bigit_pos] + carry; - bigits_[bigit_pos] = sum & kBigitMask; + const Chunk my = (bigit_pos < used_bigits_) ? RawBigit(bigit_pos) : 0; + const Chunk sum = my + carry; + RawBigit(bigit_pos) = sum & kBigitMask; carry = sum >> kBigitSize; - bigit_pos++; + ++bigit_pos; } - used_digits_ = Max(bigit_pos, used_digits_); - ASSERT(IsClamped()); + used_bigits_ = (std::max)(bigit_pos, static_cast(used_bigits_)); + DOUBLE_CONVERSION_ASSERT(IsClamped()); } void Bignum::SubtractBignum(const Bignum& other) { - ASSERT(IsClamped()); - ASSERT(other.IsClamped()); + DOUBLE_CONVERSION_ASSERT(IsClamped()); + DOUBLE_CONVERSION_ASSERT(other.IsClamped()); // We require this to be bigger than other. - ASSERT(LessEqual(other, *this)); + DOUBLE_CONVERSION_ASSERT(LessEqual(other, *this)); Align(other); - int offset = other.exponent_ - exponent_; + const int offset = other.exponent_ - exponent_; Chunk borrow = 0; int i; - for (i = 0; i < other.used_digits_; ++i) { - ASSERT((borrow == 0) || (borrow == 1)); - Chunk difference = bigits_[i + offset] - other.bigits_[i] - borrow; - bigits_[i + offset] = difference & kBigitMask; + for (i = 0; i < other.used_bigits_; ++i) { + DOUBLE_CONVERSION_ASSERT((borrow == 0) || (borrow == 1)); + const Chunk difference = RawBigit(i + offset) - other.RawBigit(i) - borrow; + RawBigit(i + offset) = difference & kBigitMask; borrow = difference >> (kChunkSize - 1); } while (borrow != 0) { - Chunk difference = bigits_[i + offset] - borrow; - bigits_[i + offset] = difference & kBigitMask; + const Chunk difference = RawBigit(i + offset) - borrow; + RawBigit(i + offset) = difference & kBigitMask; borrow = difference >> (kChunkSize - 1); ++i; } @@ -249,91 +249,105 @@ void Bignum::SubtractBignum(const Bignum& other) { } -void Bignum::ShiftLeft(int shift_amount) { - if (used_digits_ == 0) return; - exponent_ += shift_amount / kBigitSize; - int local_shift = shift_amount % kBigitSize; - EnsureCapacity(used_digits_ + 1); +void Bignum::ShiftLeft(const int shift_amount) { + if (used_bigits_ == 0) { + return; + } + exponent_ += (shift_amount / kBigitSize); + const int local_shift = shift_amount % kBigitSize; + EnsureCapacity(used_bigits_ + 1); BigitsShiftLeft(local_shift); } -void Bignum::MultiplyByUInt32(uint32_t factor) { - if (factor == 1) return; +void Bignum::MultiplyByUInt32(const uint32_t factor) { + if (factor == 1) { + return; + } if (factor == 0) { Zero(); return; } - if (used_digits_ == 0) return; - + if (used_bigits_ == 0) { + return; + } // The product of a bigit with the factor is of size kBigitSize + 32. // Assert that this number + 1 (for the carry) fits into double chunk. - ASSERT(kDoubleChunkSize >= kBigitSize + 32 + 1); + DOUBLE_CONVERSION_ASSERT(kDoubleChunkSize >= kBigitSize + 32 + 1); DoubleChunk carry = 0; - for (int i = 0; i < used_digits_; ++i) { - DoubleChunk product = static_cast(factor) * bigits_[i] + carry; - bigits_[i] = static_cast(product & kBigitMask); + for (int i = 0; i < used_bigits_; ++i) { + const DoubleChunk product = static_cast(factor) * RawBigit(i) + carry; + RawBigit(i) = static_cast(product & kBigitMask); carry = (product >> kBigitSize); } while (carry != 0) { - EnsureCapacity(used_digits_ + 1); - bigits_[used_digits_] = carry & kBigitMask; - used_digits_++; + EnsureCapacity(used_bigits_ + 1); + RawBigit(used_bigits_) = carry & kBigitMask; + used_bigits_++; carry >>= kBigitSize; } } -void Bignum::MultiplyByUInt64(uint64_t factor) { - if (factor == 1) return; +void Bignum::MultiplyByUInt64(const uint64_t factor) { + if (factor == 1) { + return; + } if (factor == 0) { Zero(); return; } - ASSERT(kBigitSize < 32); + if (used_bigits_ == 0) { + return; + } + DOUBLE_CONVERSION_ASSERT(kBigitSize < 32); uint64_t carry = 0; - uint64_t low = factor & 0xFFFFFFFF; - uint64_t high = factor >> 32; - for (int i = 0; i < used_digits_; ++i) { - uint64_t product_low = low * bigits_[i]; - uint64_t product_high = high * bigits_[i]; - uint64_t tmp = (carry & kBigitMask) + product_low; - bigits_[i] = tmp & kBigitMask; + const uint64_t low = factor & 0xFFFFFFFF; + const uint64_t high = factor >> 32; + for (int i = 0; i < used_bigits_; ++i) { + const uint64_t product_low = low * RawBigit(i); + const uint64_t product_high = high * RawBigit(i); + const uint64_t tmp = (carry & kBigitMask) + product_low; + RawBigit(i) = tmp & kBigitMask; carry = (carry >> kBigitSize) + (tmp >> kBigitSize) + (product_high << (32 - kBigitSize)); } while (carry != 0) { - EnsureCapacity(used_digits_ + 1); - bigits_[used_digits_] = carry & kBigitMask; - used_digits_++; + EnsureCapacity(used_bigits_ + 1); + RawBigit(used_bigits_) = carry & kBigitMask; + used_bigits_++; carry >>= kBigitSize; } } -void Bignum::MultiplyByPowerOfTen(int exponent) { - const uint64_t kFive27 = UINT64_2PART_C(0x6765c793, fa10079d); - const uint16_t kFive1 = 5; - const uint16_t kFive2 = kFive1 * 5; - const uint16_t kFive3 = kFive2 * 5; - const uint16_t kFive4 = kFive3 * 5; - const uint16_t kFive5 = kFive4 * 5; - const uint16_t kFive6 = kFive5 * 5; - const uint32_t kFive7 = kFive6 * 5; - const uint32_t kFive8 = kFive7 * 5; - const uint32_t kFive9 = kFive8 * 5; - const uint32_t kFive10 = kFive9 * 5; - const uint32_t kFive11 = kFive10 * 5; - const uint32_t kFive12 = kFive11 * 5; - const uint32_t kFive13 = kFive12 * 5; - const uint32_t kFive1_to_12[] = +void Bignum::MultiplyByPowerOfTen(const int exponent) { + static const uint64_t kFive27 = DOUBLE_CONVERSION_UINT64_2PART_C(0x6765c793, fa10079d); + static const uint16_t kFive1 = 5; + static const uint16_t kFive2 = kFive1 * 5; + static const uint16_t kFive3 = kFive2 * 5; + static const uint16_t kFive4 = kFive3 * 5; + static const uint16_t kFive5 = kFive4 * 5; + static const uint16_t kFive6 = kFive5 * 5; + static const uint32_t kFive7 = kFive6 * 5; + static const uint32_t kFive8 = kFive7 * 5; + static const uint32_t kFive9 = kFive8 * 5; + static const uint32_t kFive10 = kFive9 * 5; + static const uint32_t kFive11 = kFive10 * 5; + static const uint32_t kFive12 = kFive11 * 5; + static const uint32_t kFive13 = kFive12 * 5; + static const uint32_t kFive1_to_12[] = { kFive1, kFive2, kFive3, kFive4, kFive5, kFive6, kFive7, kFive8, kFive9, kFive10, kFive11, kFive12 }; - ASSERT(exponent >= 0); - if (exponent == 0) return; - if (used_digits_ == 0) return; + DOUBLE_CONVERSION_ASSERT(exponent >= 0); + if (exponent == 0) { + return; + } + if (used_bigits_ == 0) { + return; + } // We shift by exponent at the end just before returning. int remaining_exponent = exponent; while (remaining_exponent >= 27) { @@ -352,8 +366,8 @@ void Bignum::MultiplyByPowerOfTen(int exponent) { void Bignum::Square() { - ASSERT(IsClamped()); - int product_length = 2 * used_digits_; + DOUBLE_CONVERSION_ASSERT(IsClamped()); + const int product_length = 2 * used_bigits_; EnsureCapacity(product_length); // Comba multiplication: compute each column separately. @@ -368,64 +382,64 @@ void Bignum::Square() { // // Assert that the additional number of bits in a DoubleChunk are enough to // sum up used_digits of Bigit*Bigit. - if ((1 << (2 * (kChunkSize - kBigitSize))) <= used_digits_) { - UNIMPLEMENTED(); + if ((1 << (2 * (kChunkSize - kBigitSize))) <= used_bigits_) { + DOUBLE_CONVERSION_UNIMPLEMENTED(); } DoubleChunk accumulator = 0; // First shift the digits so we don't overwrite them. - int copy_offset = used_digits_; - for (int i = 0; i < used_digits_; ++i) { - bigits_[copy_offset + i] = bigits_[i]; + const int copy_offset = used_bigits_; + for (int i = 0; i < used_bigits_; ++i) { + RawBigit(copy_offset + i) = RawBigit(i); } // We have two loops to avoid some 'if's in the loop. - for (int i = 0; i < used_digits_; ++i) { + for (int i = 0; i < used_bigits_; ++i) { // Process temporary digit i with power i. // The sum of the two indices must be equal to i. int bigit_index1 = i; int bigit_index2 = 0; // Sum all of the sub-products. while (bigit_index1 >= 0) { - Chunk chunk1 = bigits_[copy_offset + bigit_index1]; - Chunk chunk2 = bigits_[copy_offset + bigit_index2]; + const Chunk chunk1 = RawBigit(copy_offset + bigit_index1); + const Chunk chunk2 = RawBigit(copy_offset + bigit_index2); accumulator += static_cast(chunk1) * chunk2; bigit_index1--; bigit_index2++; } - bigits_[i] = static_cast(accumulator) & kBigitMask; + RawBigit(i) = static_cast(accumulator) & kBigitMask; accumulator >>= kBigitSize; } - for (int i = used_digits_; i < product_length; ++i) { - int bigit_index1 = used_digits_ - 1; + for (int i = used_bigits_; i < product_length; ++i) { + int bigit_index1 = used_bigits_ - 1; int bigit_index2 = i - bigit_index1; // Invariant: sum of both indices is again equal to i. // Inner loop runs 0 times on last iteration, emptying accumulator. - while (bigit_index2 < used_digits_) { - Chunk chunk1 = bigits_[copy_offset + bigit_index1]; - Chunk chunk2 = bigits_[copy_offset + bigit_index2]; + while (bigit_index2 < used_bigits_) { + const Chunk chunk1 = RawBigit(copy_offset + bigit_index1); + const Chunk chunk2 = RawBigit(copy_offset + bigit_index2); accumulator += static_cast(chunk1) * chunk2; bigit_index1--; bigit_index2++; } - // The overwritten bigits_[i] will never be read in further loop iterations, + // The overwritten RawBigit(i) will never be read in further loop iterations, // because bigit_index1 and bigit_index2 are always greater - // than i - used_digits_. - bigits_[i] = static_cast(accumulator) & kBigitMask; + // than i - used_bigits_. + RawBigit(i) = static_cast(accumulator) & kBigitMask; accumulator >>= kBigitSize; } // Since the result was guaranteed to lie inside the number the // accumulator must be 0 now. - ASSERT(accumulator == 0); + DOUBLE_CONVERSION_ASSERT(accumulator == 0); // Don't forget to update the used_digits and the exponent. - used_digits_ = product_length; + used_bigits_ = product_length; exponent_ *= 2; Clamp(); } -void Bignum::AssignPowerUInt16(uint16_t base, int power_exponent) { - ASSERT(base != 0); - ASSERT(power_exponent >= 0); +void Bignum::AssignPowerUInt16(uint16_t base, const int power_exponent) { + DOUBLE_CONVERSION_ASSERT(base != 0); + DOUBLE_CONVERSION_ASSERT(power_exponent >= 0); if (power_exponent == 0) { AssignUInt16(1); return; @@ -445,7 +459,7 @@ void Bignum::AssignPowerUInt16(uint16_t base, int power_exponent) { tmp_base >>= 1; bit_size++; } - int final_size = bit_size * power_exponent; + const int final_size = bit_size * power_exponent; // 1 extra bigit for the shifting, and one for rounded final_size. EnsureCapacity(final_size / kBigitSize + 2); @@ -466,10 +480,10 @@ void Bignum::AssignPowerUInt16(uint16_t base, int power_exponent) { // Verify that there is enough space in this_value to perform the // multiplication. The first bit_size bits must be 0. if ((power_exponent & mask) != 0) { - ASSERT(bit_size > 0); - uint64_t base_bits_mask = - ~((static_cast(1) << (64 - bit_size)) - 1); - bool high_bits_zero = (this_value & base_bits_mask) == 0; + DOUBLE_CONVERSION_ASSERT(bit_size > 0); + const uint64_t base_bits_mask = + ~((static_cast(1) << (64 - bit_size)) - 1); + const bool high_bits_zero = (this_value & base_bits_mask) == 0; if (high_bits_zero) { this_value *= base; } else { @@ -499,9 +513,9 @@ void Bignum::AssignPowerUInt16(uint16_t base, int power_exponent) { // Precondition: this/other < 16bit. uint16_t Bignum::DivideModuloIntBignum(const Bignum& other) { - ASSERT(IsClamped()); - ASSERT(other.IsClamped()); - ASSERT(other.used_digits_ > 0); + DOUBLE_CONVERSION_ASSERT(IsClamped()); + DOUBLE_CONVERSION_ASSERT(other.IsClamped()); + DOUBLE_CONVERSION_ASSERT(other.used_bigits_ > 0); // Easy case: if we have less digits than the divisor than the result is 0. // Note: this handles the case where this == 0, too. @@ -519,34 +533,34 @@ uint16_t Bignum::DivideModuloIntBignum(const Bignum& other) { // This naive approach is extremely inefficient if `this` divided by other // is big. This function is implemented for doubleToString where // the result should be small (less than 10). - ASSERT(other.bigits_[other.used_digits_ - 1] >= ((1 << kBigitSize) / 16)); - ASSERT(bigits_[used_digits_ - 1] < 0x10000); + DOUBLE_CONVERSION_ASSERT(other.RawBigit(other.used_bigits_ - 1) >= ((1 << kBigitSize) / 16)); + DOUBLE_CONVERSION_ASSERT(RawBigit(used_bigits_ - 1) < 0x10000); // Remove the multiples of the first digit. // Example this = 23 and other equals 9. -> Remove 2 multiples. - result += static_cast(bigits_[used_digits_ - 1]); - SubtractTimes(other, bigits_[used_digits_ - 1]); + result += static_cast(RawBigit(used_bigits_ - 1)); + SubtractTimes(other, RawBigit(used_bigits_ - 1)); } - ASSERT(BigitLength() == other.BigitLength()); + DOUBLE_CONVERSION_ASSERT(BigitLength() == other.BigitLength()); // Both bignums are at the same length now. // Since other has more than 0 digits we know that the access to - // bigits_[used_digits_ - 1] is safe. - Chunk this_bigit = bigits_[used_digits_ - 1]; - Chunk other_bigit = other.bigits_[other.used_digits_ - 1]; + // RawBigit(used_bigits_ - 1) is safe. + const Chunk this_bigit = RawBigit(used_bigits_ - 1); + const Chunk other_bigit = other.RawBigit(other.used_bigits_ - 1); - if (other.used_digits_ == 1) { + if (other.used_bigits_ == 1) { // Shortcut for easy (and common) case. int quotient = this_bigit / other_bigit; - bigits_[used_digits_ - 1] = this_bigit - other_bigit * quotient; - ASSERT(quotient < 0x10000); + RawBigit(used_bigits_ - 1) = this_bigit - other_bigit * quotient; + DOUBLE_CONVERSION_ASSERT(quotient < 0x10000); result += static_cast(quotient); Clamp(); return result; } - int division_estimate = this_bigit / (other_bigit + 1); - ASSERT(division_estimate < 0x10000); + const int division_estimate = this_bigit / (other_bigit + 1); + DOUBLE_CONVERSION_ASSERT(division_estimate < 0x10000); result += static_cast(division_estimate); SubtractTimes(other, division_estimate); @@ -566,7 +580,7 @@ uint16_t Bignum::DivideModuloIntBignum(const Bignum& other) { template static int SizeInHexChars(S number) { - ASSERT(number > 0); + DOUBLE_CONVERSION_ASSERT(number > 0); int result = 0; while (number != 0) { number >>= 4; @@ -576,29 +590,35 @@ static int SizeInHexChars(S number) { } -static char HexCharOfValue(int value) { - ASSERT(0 <= value && value <= 16); - if (value < 10) return static_cast(value + '0'); +static char HexCharOfValue(const int value) { + DOUBLE_CONVERSION_ASSERT(0 <= value && value <= 16); + if (value < 10) { + return static_cast(value + '0'); + } return static_cast(value - 10 + 'A'); } -bool Bignum::ToHexString(char* buffer, int buffer_size) const { - ASSERT(IsClamped()); +bool Bignum::ToHexString(char* buffer, const int buffer_size) const { + DOUBLE_CONVERSION_ASSERT(IsClamped()); // Each bigit must be printable as separate hex-character. - ASSERT(kBigitSize % 4 == 0); - const int kHexCharsPerBigit = kBigitSize / 4; + DOUBLE_CONVERSION_ASSERT(kBigitSize % 4 == 0); + static const int kHexCharsPerBigit = kBigitSize / 4; - if (used_digits_ == 0) { - if (buffer_size < 2) return false; + if (used_bigits_ == 0) { + if (buffer_size < 2) { + return false; + } buffer[0] = '0'; buffer[1] = '\0'; return true; } // We add 1 for the terminating '\0' character. - int needed_chars = (BigitLength() - 1) * kHexCharsPerBigit + - SizeInHexChars(bigits_[used_digits_ - 1]) + 1; - if (needed_chars > buffer_size) return false; + const int needed_chars = (BigitLength() - 1) * kHexCharsPerBigit + + SizeInHexChars(RawBigit(used_bigits_ - 1)) + 1; + if (needed_chars > buffer_size) { + return false; + } int string_index = needed_chars - 1; buffer[string_index--] = '\0'; for (int i = 0; i < exponent_; ++i) { @@ -606,15 +626,15 @@ bool Bignum::ToHexString(char* buffer, int buffer_size) const { buffer[string_index--] = '0'; } } - for (int i = 0; i < used_digits_ - 1; ++i) { - Chunk current_bigit = bigits_[i]; + for (int i = 0; i < used_bigits_ - 1; ++i) { + Chunk current_bigit = RawBigit(i); for (int j = 0; j < kHexCharsPerBigit; ++j) { buffer[string_index--] = HexCharOfValue(current_bigit & 0xF); current_bigit >>= 4; } } // And finally the last bigit. - Chunk most_significant_bigit = bigits_[used_digits_ - 1]; + Chunk most_significant_bigit = RawBigit(used_bigits_ - 1); while (most_significant_bigit != 0) { buffer[string_index--] = HexCharOfValue(most_significant_bigit & 0xF); most_significant_bigit >>= 4; @@ -623,25 +643,37 @@ bool Bignum::ToHexString(char* buffer, int buffer_size) const { } -Bignum::Chunk Bignum::BigitAt(int index) const { - if (index >= BigitLength()) return 0; - if (index < exponent_) return 0; - return bigits_[index - exponent_]; +Bignum::Chunk Bignum::BigitOrZero(const int index) const { + if (index >= BigitLength()) { + return 0; + } + if (index < exponent_) { + return 0; + } + return RawBigit(index - exponent_); } int Bignum::Compare(const Bignum& a, const Bignum& b) { - ASSERT(a.IsClamped()); - ASSERT(b.IsClamped()); - int bigit_length_a = a.BigitLength(); - int bigit_length_b = b.BigitLength(); - if (bigit_length_a < bigit_length_b) return -1; - if (bigit_length_a > bigit_length_b) return +1; - for (int i = bigit_length_a - 1; i >= Min(a.exponent_, b.exponent_); --i) { - Chunk bigit_a = a.BigitAt(i); - Chunk bigit_b = b.BigitAt(i); - if (bigit_a < bigit_b) return -1; - if (bigit_a > bigit_b) return +1; + DOUBLE_CONVERSION_ASSERT(a.IsClamped()); + DOUBLE_CONVERSION_ASSERT(b.IsClamped()); + const int bigit_length_a = a.BigitLength(); + const int bigit_length_b = b.BigitLength(); + if (bigit_length_a < bigit_length_b) { + return -1; + } + if (bigit_length_a > bigit_length_b) { + return +1; + } + for (int i = bigit_length_a - 1; i >= (std::min)(a.exponent_, b.exponent_); --i) { + const Chunk bigit_a = a.BigitOrZero(i); + const Chunk bigit_b = b.BigitOrZero(i); + if (bigit_a < bigit_b) { + return -1; + } + if (bigit_a > bigit_b) { + return +1; + } // Otherwise they are equal up to this digit. Try the next digit. } return 0; @@ -649,14 +681,18 @@ int Bignum::Compare(const Bignum& a, const Bignum& b) { int Bignum::PlusCompare(const Bignum& a, const Bignum& b, const Bignum& c) { - ASSERT(a.IsClamped()); - ASSERT(b.IsClamped()); - ASSERT(c.IsClamped()); + DOUBLE_CONVERSION_ASSERT(a.IsClamped()); + DOUBLE_CONVERSION_ASSERT(b.IsClamped()); + DOUBLE_CONVERSION_ASSERT(c.IsClamped()); if (a.BigitLength() < b.BigitLength()) { return PlusCompare(b, a, c); } - if (a.BigitLength() + 1 < c.BigitLength()) return -1; - if (a.BigitLength() > c.BigitLength()) return +1; + if (a.BigitLength() + 1 < c.BigitLength()) { + return -1; + } + if (a.BigitLength() > c.BigitLength()) { + return +1; + } // The exponent encodes 0-bigits. So if there are more 0-digits in 'a' than // 'b' has digits, then the bigit-length of 'a'+'b' must be equal to the one // of 'a'. @@ -666,92 +702,83 @@ int Bignum::PlusCompare(const Bignum& a, const Bignum& b, const Bignum& c) { Chunk borrow = 0; // Starting at min_exponent all digits are == 0. So no need to compare them. - int min_exponent = Min(Min(a.exponent_, b.exponent_), c.exponent_); + const int min_exponent = (std::min)((std::min)(a.exponent_, b.exponent_), c.exponent_); for (int i = c.BigitLength() - 1; i >= min_exponent; --i) { - Chunk chunk_a = a.BigitAt(i); - Chunk chunk_b = b.BigitAt(i); - Chunk chunk_c = c.BigitAt(i); - Chunk sum = chunk_a + chunk_b; + const Chunk chunk_a = a.BigitOrZero(i); + const Chunk chunk_b = b.BigitOrZero(i); + const Chunk chunk_c = c.BigitOrZero(i); + const Chunk sum = chunk_a + chunk_b; if (sum > chunk_c + borrow) { return +1; } else { borrow = chunk_c + borrow - sum; - if (borrow > 1) return -1; + if (borrow > 1) { + return -1; + } borrow <<= kBigitSize; } } - if (borrow == 0) return 0; + if (borrow == 0) { + return 0; + } return -1; } void Bignum::Clamp() { - while (used_digits_ > 0 && bigits_[used_digits_ - 1] == 0) { - used_digits_--; + while (used_bigits_ > 0 && RawBigit(used_bigits_ - 1) == 0) { + used_bigits_--; } - if (used_digits_ == 0) { + if (used_bigits_ == 0) { // Zero. exponent_ = 0; } } -bool Bignum::IsClamped() const { - return used_digits_ == 0 || bigits_[used_digits_ - 1] != 0; -} - - -void Bignum::Zero() { - for (int i = 0; i < used_digits_; ++i) { - bigits_[i] = 0; - } - used_digits_ = 0; - exponent_ = 0; -} - - void Bignum::Align(const Bignum& other) { if (exponent_ > other.exponent_) { - // If "X" represents a "hidden" digit (by the exponent) then we are in the + // If "X" represents a "hidden" bigit (by the exponent) then we are in the // following case (a == this, b == other): // a: aaaaaaXXXX or a: aaaaaXXX // b: bbbbbbX b: bbbbbbbbXX // We replace some of the hidden digits (X) of a with 0 digits. // a: aaaaaa000X or a: aaaaa0XX - int zero_digits = exponent_ - other.exponent_; - EnsureCapacity(used_digits_ + zero_digits); - for (int i = used_digits_ - 1; i >= 0; --i) { - bigits_[i + zero_digits] = bigits_[i]; + const int zero_bigits = exponent_ - other.exponent_; + EnsureCapacity(used_bigits_ + zero_bigits); + for (int i = used_bigits_ - 1; i >= 0; --i) { + RawBigit(i + zero_bigits) = RawBigit(i); } - for (int i = 0; i < zero_digits; ++i) { - bigits_[i] = 0; + for (int i = 0; i < zero_bigits; ++i) { + RawBigit(i) = 0; } - used_digits_ += zero_digits; - exponent_ -= zero_digits; - ASSERT(used_digits_ >= 0); - ASSERT(exponent_ >= 0); + used_bigits_ += zero_bigits; + exponent_ -= zero_bigits; + + DOUBLE_CONVERSION_ASSERT(used_bigits_ >= 0); + DOUBLE_CONVERSION_ASSERT(exponent_ >= 0); } } -void Bignum::BigitsShiftLeft(int shift_amount) { - ASSERT(shift_amount < kBigitSize); - ASSERT(shift_amount >= 0); +void Bignum::BigitsShiftLeft(const int shift_amount) { + DOUBLE_CONVERSION_ASSERT(shift_amount < kBigitSize); + DOUBLE_CONVERSION_ASSERT(shift_amount >= 0); Chunk carry = 0; - for (int i = 0; i < used_digits_; ++i) { - Chunk new_carry = bigits_[i] >> (kBigitSize - shift_amount); - bigits_[i] = ((bigits_[i] << shift_amount) + carry) & kBigitMask; + for (int i = 0; i < used_bigits_; ++i) { + const Chunk new_carry = RawBigit(i) >> (kBigitSize - shift_amount); + RawBigit(i) = ((RawBigit(i) << shift_amount) + carry) & kBigitMask; carry = new_carry; } if (carry != 0) { - bigits_[used_digits_] = carry; - used_digits_++; + RawBigit(used_bigits_) = carry; + used_bigits_++; } } -void Bignum::SubtractTimes(const Bignum& other, int factor) { - ASSERT(exponent_ <= other.exponent_); +void Bignum::SubtractTimes(const Bignum& other, const int factor) { + DOUBLE_CONVERSION_ASSERT(exponent_ <= other.exponent_); if (factor < 3) { for (int i = 0; i < factor; ++i) { SubtractBignum(other); @@ -759,19 +786,21 @@ void Bignum::SubtractTimes(const Bignum& other, int factor) { return; } Chunk borrow = 0; - int exponent_diff = other.exponent_ - exponent_; - for (int i = 0; i < other.used_digits_; ++i) { - DoubleChunk product = static_cast(factor) * other.bigits_[i]; - DoubleChunk remove = borrow + product; - Chunk difference = bigits_[i + exponent_diff] - (remove & kBigitMask); - bigits_[i + exponent_diff] = difference & kBigitMask; + const int exponent_diff = other.exponent_ - exponent_; + for (int i = 0; i < other.used_bigits_; ++i) { + const DoubleChunk product = static_cast(factor) * other.RawBigit(i); + const DoubleChunk remove = borrow + product; + const Chunk difference = RawBigit(i + exponent_diff) - (remove & kBigitMask); + RawBigit(i + exponent_diff) = difference & kBigitMask; borrow = static_cast((difference >> (kChunkSize - 1)) + (remove >> kBigitSize)); } - for (int i = other.used_digits_ + exponent_diff; i < used_digits_; ++i) { - if (borrow == 0) return; - Chunk difference = bigits_[i] - borrow; - bigits_[i] = difference & kBigitMask; + for (int i = other.used_bigits_ + exponent_diff; i < used_bigits_; ++i) { + if (borrow == 0) { + return; + } + const Chunk difference = RawBigit(i) - borrow; + RawBigit(i) = difference & kBigitMask; borrow = difference >> (kChunkSize - 1); } Clamp(); diff --git a/deps/icu-small/source/i18n/double-conversion-bignum.h b/deps/icu-small/source/i18n/double-conversion-bignum.h index d39a3dee010d8b..bae900a15a7420 100644 --- a/deps/icu-small/source/i18n/double-conversion-bignum.h +++ b/deps/icu-small/source/i18n/double-conversion-bignum.h @@ -53,26 +53,27 @@ class Bignum { // exponent. static const int kMaxSignificantBits = 3584; - Bignum(); - void AssignUInt16(uint16_t value); + Bignum() : used_bigits_(0), exponent_(0) {} + + void AssignUInt16(const uint16_t value); void AssignUInt64(uint64_t value); void AssignBignum(const Bignum& other); - void AssignDecimalString(Vector value); - void AssignHexString(Vector value); + void AssignDecimalString(const Vector value); + void AssignHexString(const Vector value); - void AssignPowerUInt16(uint16_t base, int exponent); + void AssignPowerUInt16(uint16_t base, const int exponent); - void AddUInt64(uint64_t operand); + void AddUInt64(const uint64_t operand); void AddBignum(const Bignum& other); // Precondition: this >= other. void SubtractBignum(const Bignum& other); void Square(); - void ShiftLeft(int shift_amount); - void MultiplyByUInt32(uint32_t factor); - void MultiplyByUInt64(uint64_t factor); - void MultiplyByPowerOfTen(int exponent); + void ShiftLeft(const int shift_amount); + void MultiplyByUInt32(const uint32_t factor); + void MultiplyByUInt64(const uint64_t factor); + void MultiplyByPowerOfTen(const int exponent); void Times10() { return MultiplyByUInt32(10); } // Pseudocode: // int result = this / other; @@ -80,7 +81,7 @@ class Bignum { // In the worst case this function is in O(this/other). uint16_t DivideModuloIntBignum(const Bignum& other); - bool ToHexString(char* buffer, int buffer_size) const; + bool ToHexString(char* buffer, const int buffer_size) const; // Returns // -1 if a < b, @@ -124,33 +125,40 @@ class Bignum { // grow. There are no checks if the stack-allocated space is sufficient. static const int kBigitCapacity = kMaxSignificantBits / kBigitSize; - void EnsureCapacity(int size) { + static void EnsureCapacity(const int size) { if (size > kBigitCapacity) { - UNREACHABLE(); + DOUBLE_CONVERSION_UNREACHABLE(); } } void Align(const Bignum& other); void Clamp(); - bool IsClamped() const; - void Zero(); + bool IsClamped() const { + return used_bigits_ == 0 || RawBigit(used_bigits_ - 1) != 0; + } + void Zero() { + used_bigits_ = 0; + exponent_ = 0; + } // Requires this to have enough capacity (no tests done). - // Updates used_digits_ if necessary. + // Updates used_bigits_ if necessary. // shift_amount must be < kBigitSize. - void BigitsShiftLeft(int shift_amount); - // BigitLength includes the "hidden" digits encoded in the exponent. - int BigitLength() const { return used_digits_ + exponent_; } - Chunk BigitAt(int index) const; - void SubtractTimes(const Bignum& other, int factor); - + void BigitsShiftLeft(const int shift_amount); + // BigitLength includes the "hidden" bigits encoded in the exponent. + int BigitLength() const { return used_bigits_ + exponent_; } + Chunk& RawBigit(const int index); + const Chunk& RawBigit(const int index) const; + Chunk BigitOrZero(const int index) const; + void SubtractTimes(const Bignum& other, const int factor); + + // The Bignum's value is value(bigits_buffer_) * 2^(exponent_ * kBigitSize), + // where the value of the buffer consists of the lower kBigitSize bits of + // the first used_bigits_ Chunks in bigits_buffer_, first chunk has lowest + // significant bits. + int16_t used_bigits_; + int16_t exponent_; Chunk bigits_buffer_[kBigitCapacity]; - // A vector backed by bigits_buffer_. This way accesses to the array are - // checked for out-of-bounds errors. - Vector bigits_; - int used_digits_; - // The Bignum's value equals value(bigits_) * 2^(exponent_ * kBigitSize). - int exponent_; - - DC_DISALLOW_COPY_AND_ASSIGN(Bignum); + + DOUBLE_CONVERSION_DISALLOW_COPY_AND_ASSIGN(Bignum); }; } // namespace double_conversion diff --git a/deps/icu-small/source/i18n/double-conversion-cached-powers.cpp b/deps/icu-small/source/i18n/double-conversion-cached-powers.cpp index e1b66d2c65c82e..3bc35c8aaf81dc 100644 --- a/deps/icu-small/source/i18n/double-conversion-cached-powers.cpp +++ b/deps/icu-small/source/i18n/double-conversion-cached-powers.cpp @@ -49,6 +49,8 @@ U_NAMESPACE_BEGIN namespace double_conversion { +namespace PowersOfTenCache { + struct CachedPower { uint64_t significand; int16_t binary_exponent; @@ -56,103 +58,99 @@ struct CachedPower { }; static const CachedPower kCachedPowers[] = { - {UINT64_2PART_C(0xfa8fd5a0, 081c0288), -1220, -348}, - {UINT64_2PART_C(0xbaaee17f, a23ebf76), -1193, -340}, - {UINT64_2PART_C(0x8b16fb20, 3055ac76), -1166, -332}, - {UINT64_2PART_C(0xcf42894a, 5dce35ea), -1140, -324}, - {UINT64_2PART_C(0x9a6bb0aa, 55653b2d), -1113, -316}, - {UINT64_2PART_C(0xe61acf03, 3d1a45df), -1087, -308}, - {UINT64_2PART_C(0xab70fe17, c79ac6ca), -1060, -300}, - {UINT64_2PART_C(0xff77b1fc, bebcdc4f), -1034, -292}, - {UINT64_2PART_C(0xbe5691ef, 416bd60c), -1007, -284}, - {UINT64_2PART_C(0x8dd01fad, 907ffc3c), -980, -276}, - {UINT64_2PART_C(0xd3515c28, 31559a83), -954, -268}, - {UINT64_2PART_C(0x9d71ac8f, ada6c9b5), -927, -260}, - {UINT64_2PART_C(0xea9c2277, 23ee8bcb), -901, -252}, - {UINT64_2PART_C(0xaecc4991, 4078536d), -874, -244}, - {UINT64_2PART_C(0x823c1279, 5db6ce57), -847, -236}, - {UINT64_2PART_C(0xc2109436, 4dfb5637), -821, -228}, - {UINT64_2PART_C(0x9096ea6f, 3848984f), -794, -220}, - {UINT64_2PART_C(0xd77485cb, 25823ac7), -768, -212}, - {UINT64_2PART_C(0xa086cfcd, 97bf97f4), -741, -204}, - {UINT64_2PART_C(0xef340a98, 172aace5), -715, -196}, - {UINT64_2PART_C(0xb23867fb, 2a35b28e), -688, -188}, - {UINT64_2PART_C(0x84c8d4df, d2c63f3b), -661, -180}, - {UINT64_2PART_C(0xc5dd4427, 1ad3cdba), -635, -172}, - {UINT64_2PART_C(0x936b9fce, bb25c996), -608, -164}, - {UINT64_2PART_C(0xdbac6c24, 7d62a584), -582, -156}, - {UINT64_2PART_C(0xa3ab6658, 0d5fdaf6), -555, -148}, - {UINT64_2PART_C(0xf3e2f893, dec3f126), -529, -140}, - {UINT64_2PART_C(0xb5b5ada8, aaff80b8), -502, -132}, - {UINT64_2PART_C(0x87625f05, 6c7c4a8b), -475, -124}, - {UINT64_2PART_C(0xc9bcff60, 34c13053), -449, -116}, - {UINT64_2PART_C(0x964e858c, 91ba2655), -422, -108}, - {UINT64_2PART_C(0xdff97724, 70297ebd), -396, -100}, - {UINT64_2PART_C(0xa6dfbd9f, b8e5b88f), -369, -92}, - {UINT64_2PART_C(0xf8a95fcf, 88747d94), -343, -84}, - {UINT64_2PART_C(0xb9447093, 8fa89bcf), -316, -76}, - {UINT64_2PART_C(0x8a08f0f8, bf0f156b), -289, -68}, - {UINT64_2PART_C(0xcdb02555, 653131b6), -263, -60}, - {UINT64_2PART_C(0x993fe2c6, d07b7fac), -236, -52}, - {UINT64_2PART_C(0xe45c10c4, 2a2b3b06), -210, -44}, - {UINT64_2PART_C(0xaa242499, 697392d3), -183, -36}, - {UINT64_2PART_C(0xfd87b5f2, 8300ca0e), -157, -28}, - {UINT64_2PART_C(0xbce50864, 92111aeb), -130, -20}, - {UINT64_2PART_C(0x8cbccc09, 6f5088cc), -103, -12}, - {UINT64_2PART_C(0xd1b71758, e219652c), -77, -4}, - {UINT64_2PART_C(0x9c400000, 00000000), -50, 4}, - {UINT64_2PART_C(0xe8d4a510, 00000000), -24, 12}, - {UINT64_2PART_C(0xad78ebc5, ac620000), 3, 20}, - {UINT64_2PART_C(0x813f3978, f8940984), 30, 28}, - {UINT64_2PART_C(0xc097ce7b, c90715b3), 56, 36}, - {UINT64_2PART_C(0x8f7e32ce, 7bea5c70), 83, 44}, - {UINT64_2PART_C(0xd5d238a4, abe98068), 109, 52}, - {UINT64_2PART_C(0x9f4f2726, 179a2245), 136, 60}, - {UINT64_2PART_C(0xed63a231, d4c4fb27), 162, 68}, - {UINT64_2PART_C(0xb0de6538, 8cc8ada8), 189, 76}, - {UINT64_2PART_C(0x83c7088e, 1aab65db), 216, 84}, - {UINT64_2PART_C(0xc45d1df9, 42711d9a), 242, 92}, - {UINT64_2PART_C(0x924d692c, a61be758), 269, 100}, - {UINT64_2PART_C(0xda01ee64, 1a708dea), 295, 108}, - {UINT64_2PART_C(0xa26da399, 9aef774a), 322, 116}, - {UINT64_2PART_C(0xf209787b, b47d6b85), 348, 124}, - {UINT64_2PART_C(0xb454e4a1, 79dd1877), 375, 132}, - {UINT64_2PART_C(0x865b8692, 5b9bc5c2), 402, 140}, - {UINT64_2PART_C(0xc83553c5, c8965d3d), 428, 148}, - {UINT64_2PART_C(0x952ab45c, fa97a0b3), 455, 156}, - {UINT64_2PART_C(0xde469fbd, 99a05fe3), 481, 164}, - {UINT64_2PART_C(0xa59bc234, db398c25), 508, 172}, - {UINT64_2PART_C(0xf6c69a72, a3989f5c), 534, 180}, - {UINT64_2PART_C(0xb7dcbf53, 54e9bece), 561, 188}, - {UINT64_2PART_C(0x88fcf317, f22241e2), 588, 196}, - {UINT64_2PART_C(0xcc20ce9b, d35c78a5), 614, 204}, - {UINT64_2PART_C(0x98165af3, 7b2153df), 641, 212}, - {UINT64_2PART_C(0xe2a0b5dc, 971f303a), 667, 220}, - {UINT64_2PART_C(0xa8d9d153, 5ce3b396), 694, 228}, - {UINT64_2PART_C(0xfb9b7cd9, a4a7443c), 720, 236}, - {UINT64_2PART_C(0xbb764c4c, a7a44410), 747, 244}, - {UINT64_2PART_C(0x8bab8eef, b6409c1a), 774, 252}, - {UINT64_2PART_C(0xd01fef10, a657842c), 800, 260}, - {UINT64_2PART_C(0x9b10a4e5, e9913129), 827, 268}, - {UINT64_2PART_C(0xe7109bfb, a19c0c9d), 853, 276}, - {UINT64_2PART_C(0xac2820d9, 623bf429), 880, 284}, - {UINT64_2PART_C(0x80444b5e, 7aa7cf85), 907, 292}, - {UINT64_2PART_C(0xbf21e440, 03acdd2d), 933, 300}, - {UINT64_2PART_C(0x8e679c2f, 5e44ff8f), 960, 308}, - {UINT64_2PART_C(0xd433179d, 9c8cb841), 986, 316}, - {UINT64_2PART_C(0x9e19db92, b4e31ba9), 1013, 324}, - {UINT64_2PART_C(0xeb96bf6e, badf77d9), 1039, 332}, - {UINT64_2PART_C(0xaf87023b, 9bf0ee6b), 1066, 340}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xfa8fd5a0, 081c0288), -1220, -348}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xbaaee17f, a23ebf76), -1193, -340}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x8b16fb20, 3055ac76), -1166, -332}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xcf42894a, 5dce35ea), -1140, -324}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x9a6bb0aa, 55653b2d), -1113, -316}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xe61acf03, 3d1a45df), -1087, -308}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xab70fe17, c79ac6ca), -1060, -300}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xff77b1fc, bebcdc4f), -1034, -292}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xbe5691ef, 416bd60c), -1007, -284}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x8dd01fad, 907ffc3c), -980, -276}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xd3515c28, 31559a83), -954, -268}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x9d71ac8f, ada6c9b5), -927, -260}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xea9c2277, 23ee8bcb), -901, -252}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xaecc4991, 4078536d), -874, -244}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x823c1279, 5db6ce57), -847, -236}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xc2109436, 4dfb5637), -821, -228}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x9096ea6f, 3848984f), -794, -220}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xd77485cb, 25823ac7), -768, -212}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xa086cfcd, 97bf97f4), -741, -204}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xef340a98, 172aace5), -715, -196}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xb23867fb, 2a35b28e), -688, -188}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x84c8d4df, d2c63f3b), -661, -180}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xc5dd4427, 1ad3cdba), -635, -172}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x936b9fce, bb25c996), -608, -164}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xdbac6c24, 7d62a584), -582, -156}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xa3ab6658, 0d5fdaf6), -555, -148}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xf3e2f893, dec3f126), -529, -140}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xb5b5ada8, aaff80b8), -502, -132}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x87625f05, 6c7c4a8b), -475, -124}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xc9bcff60, 34c13053), -449, -116}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x964e858c, 91ba2655), -422, -108}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xdff97724, 70297ebd), -396, -100}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xa6dfbd9f, b8e5b88f), -369, -92}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xf8a95fcf, 88747d94), -343, -84}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xb9447093, 8fa89bcf), -316, -76}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x8a08f0f8, bf0f156b), -289, -68}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xcdb02555, 653131b6), -263, -60}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x993fe2c6, d07b7fac), -236, -52}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xe45c10c4, 2a2b3b06), -210, -44}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xaa242499, 697392d3), -183, -36}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xfd87b5f2, 8300ca0e), -157, -28}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xbce50864, 92111aeb), -130, -20}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x8cbccc09, 6f5088cc), -103, -12}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xd1b71758, e219652c), -77, -4}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x9c400000, 00000000), -50, 4}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xe8d4a510, 00000000), -24, 12}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xad78ebc5, ac620000), 3, 20}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x813f3978, f8940984), 30, 28}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xc097ce7b, c90715b3), 56, 36}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x8f7e32ce, 7bea5c70), 83, 44}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xd5d238a4, abe98068), 109, 52}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x9f4f2726, 179a2245), 136, 60}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xed63a231, d4c4fb27), 162, 68}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xb0de6538, 8cc8ada8), 189, 76}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x83c7088e, 1aab65db), 216, 84}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xc45d1df9, 42711d9a), 242, 92}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x924d692c, a61be758), 269, 100}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xda01ee64, 1a708dea), 295, 108}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xa26da399, 9aef774a), 322, 116}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xf209787b, b47d6b85), 348, 124}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xb454e4a1, 79dd1877), 375, 132}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x865b8692, 5b9bc5c2), 402, 140}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xc83553c5, c8965d3d), 428, 148}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x952ab45c, fa97a0b3), 455, 156}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xde469fbd, 99a05fe3), 481, 164}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xa59bc234, db398c25), 508, 172}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xf6c69a72, a3989f5c), 534, 180}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xb7dcbf53, 54e9bece), 561, 188}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x88fcf317, f22241e2), 588, 196}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xcc20ce9b, d35c78a5), 614, 204}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x98165af3, 7b2153df), 641, 212}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xe2a0b5dc, 971f303a), 667, 220}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xa8d9d153, 5ce3b396), 694, 228}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xfb9b7cd9, a4a7443c), 720, 236}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xbb764c4c, a7a44410), 747, 244}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x8bab8eef, b6409c1a), 774, 252}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xd01fef10, a657842c), 800, 260}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x9b10a4e5, e9913129), 827, 268}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xe7109bfb, a19c0c9d), 853, 276}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xac2820d9, 623bf429), 880, 284}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x80444b5e, 7aa7cf85), 907, 292}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xbf21e440, 03acdd2d), 933, 300}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x8e679c2f, 5e44ff8f), 960, 308}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xd433179d, 9c8cb841), 986, 316}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0x9e19db92, b4e31ba9), 1013, 324}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xeb96bf6e, badf77d9), 1039, 332}, + {DOUBLE_CONVERSION_UINT64_2PART_C(0xaf87023b, 9bf0ee6b), 1066, 340}, }; static const int kCachedPowersOffset = 348; // -1 * the first decimal_exponent. static const double kD_1_LOG2_10 = 0.30102999566398114; // 1 / lg(10) -// Difference between the decimal exponents in the table above. -const int PowersOfTenCache::kDecimalExponentDistance = 8; -const int PowersOfTenCache::kMinDecimalExponent = -348; -const int PowersOfTenCache::kMaxDecimalExponent = 340; -void PowersOfTenCache::GetCachedPowerForBinaryExponentRange( +void GetCachedPowerForBinaryExponentRange( int min_exponent, int max_exponent, DiyFp* power, @@ -162,30 +160,32 @@ void PowersOfTenCache::GetCachedPowerForBinaryExponentRange( int foo = kCachedPowersOffset; int index = (foo + static_cast(k) - 1) / kDecimalExponentDistance + 1; - ASSERT(0 <= index && index < static_cast(ARRAY_SIZE(kCachedPowers))); + DOUBLE_CONVERSION_ASSERT(0 <= index && index < static_cast(DOUBLE_CONVERSION_ARRAY_SIZE(kCachedPowers))); CachedPower cached_power = kCachedPowers[index]; - ASSERT(min_exponent <= cached_power.binary_exponent); + DOUBLE_CONVERSION_ASSERT(min_exponent <= cached_power.binary_exponent); (void) max_exponent; // Mark variable as used. - ASSERT(cached_power.binary_exponent <= max_exponent); + DOUBLE_CONVERSION_ASSERT(cached_power.binary_exponent <= max_exponent); *decimal_exponent = cached_power.decimal_exponent; *power = DiyFp(cached_power.significand, cached_power.binary_exponent); } -void PowersOfTenCache::GetCachedPowerForDecimalExponent(int requested_exponent, - DiyFp* power, - int* found_exponent) { - ASSERT(kMinDecimalExponent <= requested_exponent); - ASSERT(requested_exponent < kMaxDecimalExponent + kDecimalExponentDistance); +void GetCachedPowerForDecimalExponent(int requested_exponent, + DiyFp* power, + int* found_exponent) { + DOUBLE_CONVERSION_ASSERT(kMinDecimalExponent <= requested_exponent); + DOUBLE_CONVERSION_ASSERT(requested_exponent < kMaxDecimalExponent + kDecimalExponentDistance); int index = (requested_exponent + kCachedPowersOffset) / kDecimalExponentDistance; CachedPower cached_power = kCachedPowers[index]; *power = DiyFp(cached_power.significand, cached_power.binary_exponent); *found_exponent = cached_power.decimal_exponent; - ASSERT(*found_exponent <= requested_exponent); - ASSERT(requested_exponent < *found_exponent + kDecimalExponentDistance); + DOUBLE_CONVERSION_ASSERT(*found_exponent <= requested_exponent); + DOUBLE_CONVERSION_ASSERT(requested_exponent < *found_exponent + kDecimalExponentDistance); } +} // namespace PowersOfTenCache + } // namespace double_conversion // ICU PATCH: Close ICU namespace diff --git a/deps/icu-small/source/i18n/double-conversion-cached-powers.h b/deps/icu-small/source/i18n/double-conversion-cached-powers.h index 438746b143293f..ade27baef8b0c7 100644 --- a/deps/icu-small/source/i18n/double-conversion-cached-powers.h +++ b/deps/icu-small/source/i18n/double-conversion-cached-powers.h @@ -46,32 +46,32 @@ U_NAMESPACE_BEGIN namespace double_conversion { -class PowersOfTenCache { - public: +namespace PowersOfTenCache { // Not all powers of ten are cached. The decimal exponent of two neighboring // cached numbers will differ by kDecimalExponentDistance. - static const int kDecimalExponentDistance; + static const int kDecimalExponentDistance = 8; - static const int kMinDecimalExponent; - static const int kMaxDecimalExponent; + static const int kMinDecimalExponent = -348; + static const int kMaxDecimalExponent = 340; // Returns a cached power-of-ten with a binary exponent in the range // [min_exponent; max_exponent] (boundaries included). - static void GetCachedPowerForBinaryExponentRange(int min_exponent, - int max_exponent, - DiyFp* power, - int* decimal_exponent); + void GetCachedPowerForBinaryExponentRange(int min_exponent, + int max_exponent, + DiyFp* power, + int* decimal_exponent); // Returns a cached power of ten x ~= 10^k such that // k <= decimal_exponent < k + kCachedPowersDecimalDistance. // The given decimal_exponent must satisfy // kMinDecimalExponent <= requested_exponent, and // requested_exponent < kMaxDecimalExponent + kDecimalExponentDistance. - static void GetCachedPowerForDecimalExponent(int requested_exponent, - DiyFp* power, - int* found_exponent); -}; + void GetCachedPowerForDecimalExponent(int requested_exponent, + DiyFp* power, + int* found_exponent); + +} // namespace PowersOfTenCache } // namespace double_conversion diff --git a/deps/icu-small/source/i18n/double-conversion-diy-fp.cpp b/deps/icu-small/source/i18n/double-conversion-diy-fp.cpp deleted file mode 100644 index f38430c6c3c90f..00000000000000 --- a/deps/icu-small/source/i18n/double-conversion-diy-fp.cpp +++ /dev/null @@ -1,74 +0,0 @@ -// © 2018 and later: Unicode, Inc. and others. -// License & terms of use: http://www.unicode.org/copyright.html -// -// From the double-conversion library. Original license: -// -// Copyright 2010 the V8 project authors. 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. - -// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING -#include "unicode/utypes.h" -#if !UCONFIG_NO_FORMATTING - -// ICU PATCH: Customize header file paths for ICU. - -#include "double-conversion-diy-fp.h" -#include "double-conversion-utils.h" - -// ICU PATCH: Wrap in ICU namespace -U_NAMESPACE_BEGIN - -namespace double_conversion { - -void DiyFp::Multiply(const DiyFp& other) { - // Simply "emulates" a 128 bit multiplication. - // However: the resulting number only contains 64 bits. The least - // significant 64 bits are only used for rounding the most significant 64 - // bits. - const uint64_t kM32 = 0xFFFFFFFFU; - uint64_t a = f_ >> 32; - uint64_t b = f_ & kM32; - uint64_t c = other.f_ >> 32; - uint64_t d = other.f_ & kM32; - uint64_t ac = a * c; - uint64_t bc = b * c; - uint64_t ad = a * d; - uint64_t bd = b * d; - uint64_t tmp = (bd >> 32) + (ad & kM32) + (bc & kM32); - // By adding 1U << 31 to tmp we round the final result. - // Halfway cases will be round up. - tmp += 1U << 31; - uint64_t result_f = ac + (ad >> 32) + (bc >> 32) + (tmp >> 32); - e_ += other.e_ + 64; - f_ = result_f; -} - -} // namespace double_conversion - -// ICU PATCH: Close ICU namespace -U_NAMESPACE_END -#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING diff --git a/deps/icu-small/source/i18n/double-conversion-diy-fp.h b/deps/icu-small/source/i18n/double-conversion-diy-fp.h index 21896851d22d32..5820abedf35405 100644 --- a/deps/icu-small/source/i18n/double-conversion-diy-fp.h +++ b/deps/icu-small/source/i18n/double-conversion-diy-fp.h @@ -50,36 +50,55 @@ namespace double_conversion { // with a uint64 significand and an int exponent. Normalized DiyFp numbers will // have the most significant bit of the significand set. // Multiplication and Subtraction do not normalize their results. -// DiyFp are not designed to contain special doubles (NaN and Infinity). +// DiyFp store only non-negative numbers and are not designed to contain special +// doubles (NaN and Infinity). class DiyFp { public: static const int kSignificandSize = 64; DiyFp() : f_(0), e_(0) {} - DiyFp(uint64_t significand, int exponent) : f_(significand), e_(exponent) {} + DiyFp(const uint64_t significand, const int32_t exponent) : f_(significand), e_(exponent) {} - // this = this - other. + // this -= other. // The exponents of both numbers must be the same and the significand of this - // must be bigger than the significand of other. + // must be greater or equal than the significand of other. // The result will not be normalized. void Subtract(const DiyFp& other) { - ASSERT(e_ == other.e_); - ASSERT(f_ >= other.f_); + DOUBLE_CONVERSION_ASSERT(e_ == other.e_); + DOUBLE_CONVERSION_ASSERT(f_ >= other.f_); f_ -= other.f_; } // Returns a - b. - // The exponents of both numbers must be the same and this must be bigger - // than other. The result will not be normalized. + // The exponents of both numbers must be the same and a must be greater + // or equal than b. The result will not be normalized. static DiyFp Minus(const DiyFp& a, const DiyFp& b) { DiyFp result = a; result.Subtract(b); return result; } - - // this = this * other. - void Multiply(const DiyFp& other); + // this *= other. + void Multiply(const DiyFp& other) { + // Simply "emulates" a 128 bit multiplication. + // However: the resulting number only contains 64 bits. The least + // significant 64 bits are only used for rounding the most significant 64 + // bits. + const uint64_t kM32 = 0xFFFFFFFFU; + const uint64_t a = f_ >> 32; + const uint64_t b = f_ & kM32; + const uint64_t c = other.f_ >> 32; + const uint64_t d = other.f_ & kM32; + const uint64_t ac = a * c; + const uint64_t bc = b * c; + const uint64_t ad = a * d; + const uint64_t bd = b * d; + // By adding 1U << 31 to tmp we round the final result. + // Halfway cases will be rounded up. + const uint64_t tmp = (bd >> 32) + (ad & kM32) + (bc & kM32) + (1U << 31); + e_ += other.e_ + 64; + f_ = ac + (ad >> 32) + (bc >> 32) + (tmp >> 32); + } // returns a * b; static DiyFp Times(const DiyFp& a, const DiyFp& b) { @@ -89,13 +108,13 @@ class DiyFp { } void Normalize() { - ASSERT(f_ != 0); + DOUBLE_CONVERSION_ASSERT(f_ != 0); uint64_t significand = f_; - int exponent = e_; + int32_t exponent = e_; - // This method is mainly called for normalizing boundaries. In general - // boundaries need to be shifted by 10 bits. We thus optimize for this case. - const uint64_t k10MSBits = UINT64_2PART_C(0xFFC00000, 00000000); + // This method is mainly called for normalizing boundaries. In general, + // boundaries need to be shifted by 10 bits, and we optimize for this case. + const uint64_t k10MSBits = DOUBLE_CONVERSION_UINT64_2PART_C(0xFFC00000, 00000000); while ((significand & k10MSBits) == 0) { significand <<= 10; exponent -= 10; @@ -115,16 +134,16 @@ class DiyFp { } uint64_t f() const { return f_; } - int e() const { return e_; } + int32_t e() const { return e_; } void set_f(uint64_t new_value) { f_ = new_value; } - void set_e(int new_value) { e_ = new_value; } + void set_e(int32_t new_value) { e_ = new_value; } private: - static const uint64_t kUint64MSB = UINT64_2PART_C(0x80000000, 00000000); + static const uint64_t kUint64MSB = DOUBLE_CONVERSION_UINT64_2PART_C(0x80000000, 00000000); uint64_t f_; - int e_; + int32_t e_; }; } // namespace double_conversion diff --git a/deps/icu-small/source/i18n/double-conversion-double-to-string.cpp b/deps/icu-small/source/i18n/double-conversion-double-to-string.cpp new file mode 100644 index 00000000000000..44c176f4f9c958 --- /dev/null +++ b/deps/icu-small/source/i18n/double-conversion-double-to-string.cpp @@ -0,0 +1,450 @@ +// © 2018 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// +// From the double-conversion library. Original license: +// +// Copyright 2010 the V8 project authors. 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. + +// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING +#include "unicode/utypes.h" +#if !UCONFIG_NO_FORMATTING + +#include +#include +#include + +// ICU PATCH: Customize header file paths for ICU. +// The file fixed-dtoa.h is not needed. + +#include "double-conversion-double-to-string.h" + +#include "double-conversion-bignum-dtoa.h" +#include "double-conversion-fast-dtoa.h" +#include "double-conversion-ieee.h" +#include "double-conversion-utils.h" + +// ICU PATCH: Wrap in ICU namespace +U_NAMESPACE_BEGIN + +namespace double_conversion { + +#if 0 // not needed for ICU +const DoubleToStringConverter& DoubleToStringConverter::EcmaScriptConverter() { + int flags = UNIQUE_ZERO | EMIT_POSITIVE_EXPONENT_SIGN; + static DoubleToStringConverter converter(flags, + "Infinity", + "NaN", + 'e', + -6, 21, + 6, 0); + return converter; +} + + +bool DoubleToStringConverter::HandleSpecialValues( + double value, + StringBuilder* result_builder) const { + Double double_inspect(value); + if (double_inspect.IsInfinite()) { + if (infinity_symbol_ == NULL) return false; + if (value < 0) { + result_builder->AddCharacter('-'); + } + result_builder->AddString(infinity_symbol_); + return true; + } + if (double_inspect.IsNan()) { + if (nan_symbol_ == NULL) return false; + result_builder->AddString(nan_symbol_); + return true; + } + return false; +} + + +void DoubleToStringConverter::CreateExponentialRepresentation( + const char* decimal_digits, + int length, + int exponent, + StringBuilder* result_builder) const { + DOUBLE_CONVERSION_ASSERT(length != 0); + result_builder->AddCharacter(decimal_digits[0]); + if (length != 1) { + result_builder->AddCharacter('.'); + result_builder->AddSubstring(&decimal_digits[1], length-1); + } + result_builder->AddCharacter(exponent_character_); + if (exponent < 0) { + result_builder->AddCharacter('-'); + exponent = -exponent; + } else { + if ((flags_ & EMIT_POSITIVE_EXPONENT_SIGN) != 0) { + result_builder->AddCharacter('+'); + } + } + if (exponent == 0) { + result_builder->AddCharacter('0'); + return; + } + DOUBLE_CONVERSION_ASSERT(exponent < 1e4); + // Changing this constant requires updating the comment of DoubleToStringConverter constructor + const int kMaxExponentLength = 5; + char buffer[kMaxExponentLength + 1]; + buffer[kMaxExponentLength] = '\0'; + int first_char_pos = kMaxExponentLength; + while (exponent > 0) { + buffer[--first_char_pos] = '0' + (exponent % 10); + exponent /= 10; + } + // Add prefix '0' to make exponent width >= min(min_exponent_with_, kMaxExponentLength) + // For example: convert 1e+9 -> 1e+09, if min_exponent_with_ is set to 2 + while(kMaxExponentLength - first_char_pos < std::min(min_exponent_width_, kMaxExponentLength)) { + buffer[--first_char_pos] = '0'; + } + result_builder->AddSubstring(&buffer[first_char_pos], + kMaxExponentLength - first_char_pos); +} + + +void DoubleToStringConverter::CreateDecimalRepresentation( + const char* decimal_digits, + int length, + int decimal_point, + int digits_after_point, + StringBuilder* result_builder) const { + // Create a representation that is padded with zeros if needed. + if (decimal_point <= 0) { + // "0.00000decimal_rep" or "0.000decimal_rep00". + result_builder->AddCharacter('0'); + if (digits_after_point > 0) { + result_builder->AddCharacter('.'); + result_builder->AddPadding('0', -decimal_point); + DOUBLE_CONVERSION_ASSERT(length <= digits_after_point - (-decimal_point)); + result_builder->AddSubstring(decimal_digits, length); + int remaining_digits = digits_after_point - (-decimal_point) - length; + result_builder->AddPadding('0', remaining_digits); + } + } else if (decimal_point >= length) { + // "decimal_rep0000.00000" or "decimal_rep.0000". + result_builder->AddSubstring(decimal_digits, length); + result_builder->AddPadding('0', decimal_point - length); + if (digits_after_point > 0) { + result_builder->AddCharacter('.'); + result_builder->AddPadding('0', digits_after_point); + } + } else { + // "decima.l_rep000". + DOUBLE_CONVERSION_ASSERT(digits_after_point > 0); + result_builder->AddSubstring(decimal_digits, decimal_point); + result_builder->AddCharacter('.'); + DOUBLE_CONVERSION_ASSERT(length - decimal_point <= digits_after_point); + result_builder->AddSubstring(&decimal_digits[decimal_point], + length - decimal_point); + int remaining_digits = digits_after_point - (length - decimal_point); + result_builder->AddPadding('0', remaining_digits); + } + if (digits_after_point == 0) { + if ((flags_ & EMIT_TRAILING_DECIMAL_POINT) != 0) { + result_builder->AddCharacter('.'); + } + if ((flags_ & EMIT_TRAILING_ZERO_AFTER_POINT) != 0) { + result_builder->AddCharacter('0'); + } + } +} + + +bool DoubleToStringConverter::ToShortestIeeeNumber( + double value, + StringBuilder* result_builder, + DoubleToStringConverter::DtoaMode mode) const { + DOUBLE_CONVERSION_ASSERT(mode == SHORTEST || mode == SHORTEST_SINGLE); + if (Double(value).IsSpecial()) { + return HandleSpecialValues(value, result_builder); + } + + int decimal_point; + bool sign; + const int kDecimalRepCapacity = kBase10MaximalLength + 1; + char decimal_rep[kDecimalRepCapacity]; + int decimal_rep_length; + + DoubleToAscii(value, mode, 0, decimal_rep, kDecimalRepCapacity, + &sign, &decimal_rep_length, &decimal_point); + + bool unique_zero = (flags_ & UNIQUE_ZERO) != 0; + if (sign && (value != 0.0 || !unique_zero)) { + result_builder->AddCharacter('-'); + } + + int exponent = decimal_point - 1; + if ((decimal_in_shortest_low_ <= exponent) && + (exponent < decimal_in_shortest_high_)) { + CreateDecimalRepresentation(decimal_rep, decimal_rep_length, + decimal_point, + (std::max)(0, decimal_rep_length - decimal_point), + result_builder); + } else { + CreateExponentialRepresentation(decimal_rep, decimal_rep_length, exponent, + result_builder); + } + return true; +} + + +bool DoubleToStringConverter::ToFixed(double value, + int requested_digits, + StringBuilder* result_builder) const { + DOUBLE_CONVERSION_ASSERT(kMaxFixedDigitsBeforePoint == 60); + const double kFirstNonFixed = 1e60; + + if (Double(value).IsSpecial()) { + return HandleSpecialValues(value, result_builder); + } + + if (requested_digits > kMaxFixedDigitsAfterPoint) return false; + if (value >= kFirstNonFixed || value <= -kFirstNonFixed) return false; + + // Find a sufficiently precise decimal representation of n. + int decimal_point; + bool sign; + // Add space for the '\0' byte. + const int kDecimalRepCapacity = + kMaxFixedDigitsBeforePoint + kMaxFixedDigitsAfterPoint + 1; + char decimal_rep[kDecimalRepCapacity]; + int decimal_rep_length; + DoubleToAscii(value, FIXED, requested_digits, + decimal_rep, kDecimalRepCapacity, + &sign, &decimal_rep_length, &decimal_point); + + bool unique_zero = ((flags_ & UNIQUE_ZERO) != 0); + if (sign && (value != 0.0 || !unique_zero)) { + result_builder->AddCharacter('-'); + } + + CreateDecimalRepresentation(decimal_rep, decimal_rep_length, decimal_point, + requested_digits, result_builder); + return true; +} + + +bool DoubleToStringConverter::ToExponential( + double value, + int requested_digits, + StringBuilder* result_builder) const { + if (Double(value).IsSpecial()) { + return HandleSpecialValues(value, result_builder); + } + + if (requested_digits < -1) return false; + if (requested_digits > kMaxExponentialDigits) return false; + + int decimal_point; + bool sign; + // Add space for digit before the decimal point and the '\0' character. + const int kDecimalRepCapacity = kMaxExponentialDigits + 2; + DOUBLE_CONVERSION_ASSERT(kDecimalRepCapacity > kBase10MaximalLength); + char decimal_rep[kDecimalRepCapacity]; +#ifndef NDEBUG + // Problem: there is an assert in StringBuilder::AddSubstring() that + // will pass this buffer to strlen(), and this buffer is not generally + // null-terminated. + memset(decimal_rep, 0, sizeof(decimal_rep)); +#endif + int decimal_rep_length; + + if (requested_digits == -1) { + DoubleToAscii(value, SHORTEST, 0, + decimal_rep, kDecimalRepCapacity, + &sign, &decimal_rep_length, &decimal_point); + } else { + DoubleToAscii(value, PRECISION, requested_digits + 1, + decimal_rep, kDecimalRepCapacity, + &sign, &decimal_rep_length, &decimal_point); + DOUBLE_CONVERSION_ASSERT(decimal_rep_length <= requested_digits + 1); + + for (int i = decimal_rep_length; i < requested_digits + 1; ++i) { + decimal_rep[i] = '0'; + } + decimal_rep_length = requested_digits + 1; + } + + bool unique_zero = ((flags_ & UNIQUE_ZERO) != 0); + if (sign && (value != 0.0 || !unique_zero)) { + result_builder->AddCharacter('-'); + } + + int exponent = decimal_point - 1; + CreateExponentialRepresentation(decimal_rep, + decimal_rep_length, + exponent, + result_builder); + return true; +} + + +bool DoubleToStringConverter::ToPrecision(double value, + int precision, + StringBuilder* result_builder) const { + if (Double(value).IsSpecial()) { + return HandleSpecialValues(value, result_builder); + } + + if (precision < kMinPrecisionDigits || precision > kMaxPrecisionDigits) { + return false; + } + + // Find a sufficiently precise decimal representation of n. + int decimal_point; + bool sign; + // Add one for the terminating null character. + const int kDecimalRepCapacity = kMaxPrecisionDigits + 1; + char decimal_rep[kDecimalRepCapacity]; + int decimal_rep_length; + + DoubleToAscii(value, PRECISION, precision, + decimal_rep, kDecimalRepCapacity, + &sign, &decimal_rep_length, &decimal_point); + DOUBLE_CONVERSION_ASSERT(decimal_rep_length <= precision); + + bool unique_zero = ((flags_ & UNIQUE_ZERO) != 0); + if (sign && (value != 0.0 || !unique_zero)) { + result_builder->AddCharacter('-'); + } + + // The exponent if we print the number as x.xxeyyy. That is with the + // decimal point after the first digit. + int exponent = decimal_point - 1; + + int extra_zero = ((flags_ & EMIT_TRAILING_ZERO_AFTER_POINT) != 0) ? 1 : 0; + if ((-decimal_point + 1 > max_leading_padding_zeroes_in_precision_mode_) || + (decimal_point - precision + extra_zero > + max_trailing_padding_zeroes_in_precision_mode_)) { + // Fill buffer to contain 'precision' digits. + // Usually the buffer is already at the correct length, but 'DoubleToAscii' + // is allowed to return less characters. + for (int i = decimal_rep_length; i < precision; ++i) { + decimal_rep[i] = '0'; + } + + CreateExponentialRepresentation(decimal_rep, + precision, + exponent, + result_builder); + } else { + CreateDecimalRepresentation(decimal_rep, decimal_rep_length, decimal_point, + (std::max)(0, precision - decimal_point), + result_builder); + } + return true; +} +#endif // not needed for ICU + + +static BignumDtoaMode DtoaToBignumDtoaMode( + DoubleToStringConverter::DtoaMode dtoa_mode) { + switch (dtoa_mode) { + case DoubleToStringConverter::SHORTEST: return BIGNUM_DTOA_SHORTEST; + case DoubleToStringConverter::SHORTEST_SINGLE: + return BIGNUM_DTOA_SHORTEST_SINGLE; + case DoubleToStringConverter::FIXED: return BIGNUM_DTOA_FIXED; + case DoubleToStringConverter::PRECISION: return BIGNUM_DTOA_PRECISION; + default: + DOUBLE_CONVERSION_UNREACHABLE(); + } +} + + +void DoubleToStringConverter::DoubleToAscii(double v, + DtoaMode mode, + int requested_digits, + char* buffer, + int buffer_length, + bool* sign, + int* length, + int* point) { + Vector vector(buffer, buffer_length); + DOUBLE_CONVERSION_ASSERT(!Double(v).IsSpecial()); + DOUBLE_CONVERSION_ASSERT(mode == SHORTEST || mode == SHORTEST_SINGLE || requested_digits >= 0); + + if (Double(v).Sign() < 0) { + *sign = true; + v = -v; + } else { + *sign = false; + } + + if (mode == PRECISION && requested_digits == 0) { + vector[0] = '\0'; + *length = 0; + return; + } + + if (v == 0) { + vector[0] = '0'; + vector[1] = '\0'; + *length = 1; + *point = 1; + return; + } + + bool fast_worked; + switch (mode) { + case SHORTEST: + fast_worked = FastDtoa(v, FAST_DTOA_SHORTEST, 0, vector, length, point); + break; +#if 0 // not needed for ICU + case SHORTEST_SINGLE: + fast_worked = FastDtoa(v, FAST_DTOA_SHORTEST_SINGLE, 0, + vector, length, point); + break; + case FIXED: + fast_worked = FastFixedDtoa(v, requested_digits, vector, length, point); + break; + case PRECISION: + fast_worked = FastDtoa(v, FAST_DTOA_PRECISION, requested_digits, + vector, length, point); + break; +#endif // not needed for ICU + default: + fast_worked = false; + DOUBLE_CONVERSION_UNREACHABLE(); + } + if (fast_worked) return; + + // If the fast dtoa didn't succeed use the slower bignum version. + BignumDtoaMode bignum_mode = DtoaToBignumDtoaMode(mode); + BignumDtoa(v, bignum_mode, requested_digits, vector, length, point); + vector[*length] = '\0'; +} + +} // namespace double_conversion + +// ICU PATCH: Close ICU namespace +U_NAMESPACE_END +#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING diff --git a/deps/icu-small/source/i18n/double-conversion-double-to-string.h b/deps/icu-small/source/i18n/double-conversion-double-to-string.h new file mode 100644 index 00000000000000..27bd86784895f8 --- /dev/null +++ b/deps/icu-small/source/i18n/double-conversion-double-to-string.h @@ -0,0 +1,419 @@ +// © 2018 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// +// From the double-conversion library. Original license: +// +// Copyright 2012 the V8 project authors. 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. + +// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING +#include "unicode/utypes.h" +#if !UCONFIG_NO_FORMATTING + +#ifndef DOUBLE_CONVERSION_DOUBLE_TO_STRING_H_ +#define DOUBLE_CONVERSION_DOUBLE_TO_STRING_H_ + +// ICU PATCH: Customize header file paths for ICU. + +#include "double-conversion-utils.h" + +// ICU PATCH: Wrap in ICU namespace +U_NAMESPACE_BEGIN + +namespace double_conversion { + +class DoubleToStringConverter { + public: +#if 0 // not needed for ICU + // When calling ToFixed with a double > 10^kMaxFixedDigitsBeforePoint + // or a requested_digits parameter > kMaxFixedDigitsAfterPoint then the + // function returns false. + static const int kMaxFixedDigitsBeforePoint = 60; + static const int kMaxFixedDigitsAfterPoint = 60; + + // When calling ToExponential with a requested_digits + // parameter > kMaxExponentialDigits then the function returns false. + static const int kMaxExponentialDigits = 120; + + // When calling ToPrecision with a requested_digits + // parameter < kMinPrecisionDigits or requested_digits > kMaxPrecisionDigits + // then the function returns false. + static const int kMinPrecisionDigits = 1; + static const int kMaxPrecisionDigits = 120; + + enum Flags { + NO_FLAGS = 0, + EMIT_POSITIVE_EXPONENT_SIGN = 1, + EMIT_TRAILING_DECIMAL_POINT = 2, + EMIT_TRAILING_ZERO_AFTER_POINT = 4, + UNIQUE_ZERO = 8 + }; + + // Flags should be a bit-or combination of the possible Flags-enum. + // - NO_FLAGS: no special flags. + // - EMIT_POSITIVE_EXPONENT_SIGN: when the number is converted into exponent + // form, emits a '+' for positive exponents. Example: 1.2e+2. + // - EMIT_TRAILING_DECIMAL_POINT: when the input number is an integer and is + // converted into decimal format then a trailing decimal point is appended. + // Example: 2345.0 is converted to "2345.". + // - EMIT_TRAILING_ZERO_AFTER_POINT: in addition to a trailing decimal point + // emits a trailing '0'-character. This flag requires the + // EXMIT_TRAILING_DECIMAL_POINT flag. + // Example: 2345.0 is converted to "2345.0". + // - UNIQUE_ZERO: "-0.0" is converted to "0.0". + // + // Infinity symbol and nan_symbol provide the string representation for these + // special values. If the string is NULL and the special value is encountered + // then the conversion functions return false. + // + // The exponent_character is used in exponential representations. It is + // usually 'e' or 'E'. + // + // When converting to the shortest representation the converter will + // represent input numbers in decimal format if they are in the interval + // [10^decimal_in_shortest_low; 10^decimal_in_shortest_high[ + // (lower boundary included, greater boundary excluded). + // Example: with decimal_in_shortest_low = -6 and + // decimal_in_shortest_high = 21: + // ToShortest(0.000001) -> "0.000001" + // ToShortest(0.0000001) -> "1e-7" + // ToShortest(111111111111111111111.0) -> "111111111111111110000" + // ToShortest(100000000000000000000.0) -> "100000000000000000000" + // ToShortest(1111111111111111111111.0) -> "1.1111111111111111e+21" + // + // When converting to precision mode the converter may add + // max_leading_padding_zeroes before returning the number in exponential + // format. + // Example with max_leading_padding_zeroes_in_precision_mode = 6. + // ToPrecision(0.0000012345, 2) -> "0.0000012" + // ToPrecision(0.00000012345, 2) -> "1.2e-7" + // Similarily the converter may add up to + // max_trailing_padding_zeroes_in_precision_mode in precision mode to avoid + // returning an exponential representation. A zero added by the + // EMIT_TRAILING_ZERO_AFTER_POINT flag is counted for this limit. + // Examples for max_trailing_padding_zeroes_in_precision_mode = 1: + // ToPrecision(230.0, 2) -> "230" + // ToPrecision(230.0, 2) -> "230." with EMIT_TRAILING_DECIMAL_POINT. + // ToPrecision(230.0, 2) -> "2.3e2" with EMIT_TRAILING_ZERO_AFTER_POINT. + // + // The min_exponent_width is used for exponential representations. + // The converter adds leading '0's to the exponent until the exponent + // is at least min_exponent_width digits long. + // The min_exponent_width is clamped to 5. + // As such, the exponent may never have more than 5 digits in total. + DoubleToStringConverter(int flags, + const char* infinity_symbol, + const char* nan_symbol, + char exponent_character, + int decimal_in_shortest_low, + int decimal_in_shortest_high, + int max_leading_padding_zeroes_in_precision_mode, + int max_trailing_padding_zeroes_in_precision_mode, + int min_exponent_width = 0) + : flags_(flags), + infinity_symbol_(infinity_symbol), + nan_symbol_(nan_symbol), + exponent_character_(exponent_character), + decimal_in_shortest_low_(decimal_in_shortest_low), + decimal_in_shortest_high_(decimal_in_shortest_high), + max_leading_padding_zeroes_in_precision_mode_( + max_leading_padding_zeroes_in_precision_mode), + max_trailing_padding_zeroes_in_precision_mode_( + max_trailing_padding_zeroes_in_precision_mode), + min_exponent_width_(min_exponent_width) { + // When 'trailing zero after the point' is set, then 'trailing point' + // must be set too. + DOUBLE_CONVERSION_ASSERT(((flags & EMIT_TRAILING_DECIMAL_POINT) != 0) || + !((flags & EMIT_TRAILING_ZERO_AFTER_POINT) != 0)); + } + + // Returns a converter following the EcmaScript specification. + static const DoubleToStringConverter& EcmaScriptConverter(); + + // Computes the shortest string of digits that correctly represent the input + // number. Depending on decimal_in_shortest_low and decimal_in_shortest_high + // (see constructor) it then either returns a decimal representation, or an + // exponential representation. + // Example with decimal_in_shortest_low = -6, + // decimal_in_shortest_high = 21, + // EMIT_POSITIVE_EXPONENT_SIGN activated, and + // EMIT_TRAILING_DECIMAL_POINT deactived: + // ToShortest(0.000001) -> "0.000001" + // ToShortest(0.0000001) -> "1e-7" + // ToShortest(111111111111111111111.0) -> "111111111111111110000" + // ToShortest(100000000000000000000.0) -> "100000000000000000000" + // ToShortest(1111111111111111111111.0) -> "1.1111111111111111e+21" + // + // Note: the conversion may round the output if the returned string + // is accurate enough to uniquely identify the input-number. + // For example the most precise representation of the double 9e59 equals + // "899999999999999918767229449717619953810131273674690656206848", but + // the converter will return the shorter (but still correct) "9e59". + // + // Returns true if the conversion succeeds. The conversion always succeeds + // except when the input value is special and no infinity_symbol or + // nan_symbol has been given to the constructor. + bool ToShortest(double value, StringBuilder* result_builder) const { + return ToShortestIeeeNumber(value, result_builder, SHORTEST); + } + + // Same as ToShortest, but for single-precision floats. + bool ToShortestSingle(float value, StringBuilder* result_builder) const { + return ToShortestIeeeNumber(value, result_builder, SHORTEST_SINGLE); + } + + + // Computes a decimal representation with a fixed number of digits after the + // decimal point. The last emitted digit is rounded. + // + // Examples: + // ToFixed(3.12, 1) -> "3.1" + // ToFixed(3.1415, 3) -> "3.142" + // ToFixed(1234.56789, 4) -> "1234.5679" + // ToFixed(1.23, 5) -> "1.23000" + // ToFixed(0.1, 4) -> "0.1000" + // ToFixed(1e30, 2) -> "1000000000000000019884624838656.00" + // ToFixed(0.1, 30) -> "0.100000000000000005551115123126" + // ToFixed(0.1, 17) -> "0.10000000000000001" + // + // If requested_digits equals 0, then the tail of the result depends on + // the EMIT_TRAILING_DECIMAL_POINT and EMIT_TRAILING_ZERO_AFTER_POINT. + // Examples, for requested_digits == 0, + // let EMIT_TRAILING_DECIMAL_POINT and EMIT_TRAILING_ZERO_AFTER_POINT be + // - false and false: then 123.45 -> 123 + // 0.678 -> 1 + // - true and false: then 123.45 -> 123. + // 0.678 -> 1. + // - true and true: then 123.45 -> 123.0 + // 0.678 -> 1.0 + // + // Returns true if the conversion succeeds. The conversion always succeeds + // except for the following cases: + // - the input value is special and no infinity_symbol or nan_symbol has + // been provided to the constructor, + // - 'value' > 10^kMaxFixedDigitsBeforePoint, or + // - 'requested_digits' > kMaxFixedDigitsAfterPoint. + // The last two conditions imply that the result will never contain more than + // 1 + kMaxFixedDigitsBeforePoint + 1 + kMaxFixedDigitsAfterPoint characters + // (one additional character for the sign, and one for the decimal point). + bool ToFixed(double value, + int requested_digits, + StringBuilder* result_builder) const; + + // Computes a representation in exponential format with requested_digits + // after the decimal point. The last emitted digit is rounded. + // If requested_digits equals -1, then the shortest exponential representation + // is computed. + // + // Examples with EMIT_POSITIVE_EXPONENT_SIGN deactivated, and + // exponent_character set to 'e'. + // ToExponential(3.12, 1) -> "3.1e0" + // ToExponential(5.0, 3) -> "5.000e0" + // ToExponential(0.001, 2) -> "1.00e-3" + // ToExponential(3.1415, -1) -> "3.1415e0" + // ToExponential(3.1415, 4) -> "3.1415e0" + // ToExponential(3.1415, 3) -> "3.142e0" + // ToExponential(123456789000000, 3) -> "1.235e14" + // ToExponential(1000000000000000019884624838656.0, -1) -> "1e30" + // ToExponential(1000000000000000019884624838656.0, 32) -> + // "1.00000000000000001988462483865600e30" + // ToExponential(1234, 0) -> "1e3" + // + // Returns true if the conversion succeeds. The conversion always succeeds + // except for the following cases: + // - the input value is special and no infinity_symbol or nan_symbol has + // been provided to the constructor, + // - 'requested_digits' > kMaxExponentialDigits. + // The last condition implies that the result will never contain more than + // kMaxExponentialDigits + 8 characters (the sign, the digit before the + // decimal point, the decimal point, the exponent character, the + // exponent's sign, and at most 3 exponent digits). + bool ToExponential(double value, + int requested_digits, + StringBuilder* result_builder) const; + + // Computes 'precision' leading digits of the given 'value' and returns them + // either in exponential or decimal format, depending on + // max_{leading|trailing}_padding_zeroes_in_precision_mode (given to the + // constructor). + // The last computed digit is rounded. + // + // Example with max_leading_padding_zeroes_in_precision_mode = 6. + // ToPrecision(0.0000012345, 2) -> "0.0000012" + // ToPrecision(0.00000012345, 2) -> "1.2e-7" + // Similarily the converter may add up to + // max_trailing_padding_zeroes_in_precision_mode in precision mode to avoid + // returning an exponential representation. A zero added by the + // EMIT_TRAILING_ZERO_AFTER_POINT flag is counted for this limit. + // Examples for max_trailing_padding_zeroes_in_precision_mode = 1: + // ToPrecision(230.0, 2) -> "230" + // ToPrecision(230.0, 2) -> "230." with EMIT_TRAILING_DECIMAL_POINT. + // ToPrecision(230.0, 2) -> "2.3e2" with EMIT_TRAILING_ZERO_AFTER_POINT. + // Examples for max_trailing_padding_zeroes_in_precision_mode = 3, and no + // EMIT_TRAILING_ZERO_AFTER_POINT: + // ToPrecision(123450.0, 6) -> "123450" + // ToPrecision(123450.0, 5) -> "123450" + // ToPrecision(123450.0, 4) -> "123500" + // ToPrecision(123450.0, 3) -> "123000" + // ToPrecision(123450.0, 2) -> "1.2e5" + // + // Returns true if the conversion succeeds. The conversion always succeeds + // except for the following cases: + // - the input value is special and no infinity_symbol or nan_symbol has + // been provided to the constructor, + // - precision < kMinPericisionDigits + // - precision > kMaxPrecisionDigits + // The last condition implies that the result will never contain more than + // kMaxPrecisionDigits + 7 characters (the sign, the decimal point, the + // exponent character, the exponent's sign, and at most 3 exponent digits). + bool ToPrecision(double value, + int precision, + StringBuilder* result_builder) const; +#endif // not needed for ICU + + enum DtoaMode { + // Produce the shortest correct representation. + // For example the output of 0.299999999999999988897 is (the less accurate + // but correct) 0.3. + SHORTEST, + // Same as SHORTEST, but for single-precision floats. + SHORTEST_SINGLE, + // Produce a fixed number of digits after the decimal point. + // For instance fixed(0.1, 4) becomes 0.1000 + // If the input number is big, the output will be big. + FIXED, + // Fixed number of digits (independent of the decimal point). + PRECISION + }; + + // The maximal number of digits that are needed to emit a double in base 10. + // A higher precision can be achieved by using more digits, but the shortest + // accurate representation of any double will never use more digits than + // kBase10MaximalLength. + // Note that DoubleToAscii null-terminates its input. So the given buffer + // should be at least kBase10MaximalLength + 1 characters long. + static const int kBase10MaximalLength = 17; + + // Converts the given double 'v' to digit characters. 'v' must not be NaN, + // +Infinity, or -Infinity. In SHORTEST_SINGLE-mode this restriction also + // applies to 'v' after it has been casted to a single-precision float. That + // is, in this mode static_cast(v) must not be NaN, +Infinity or + // -Infinity. + // + // The result should be interpreted as buffer * 10^(point-length). + // + // The digits are written to the buffer in the platform's charset, which is + // often UTF-8 (with ASCII-range digits) but may be another charset, such + // as EBCDIC. + // + // The output depends on the given mode: + // - SHORTEST: produce the least amount of digits for which the internal + // identity requirement is still satisfied. If the digits are printed + // (together with the correct exponent) then reading this number will give + // 'v' again. The buffer will choose the representation that is closest to + // 'v'. If there are two at the same distance, than the one farther away + // from 0 is chosen (halfway cases - ending with 5 - are rounded up). + // In this mode the 'requested_digits' parameter is ignored. + // - SHORTEST_SINGLE: same as SHORTEST but with single-precision. + // - FIXED: produces digits necessary to print a given number with + // 'requested_digits' digits after the decimal point. The produced digits + // might be too short in which case the caller has to fill the remainder + // with '0's. + // Example: toFixed(0.001, 5) is allowed to return buffer="1", point=-2. + // Halfway cases are rounded towards +/-Infinity (away from 0). The call + // toFixed(0.15, 2) thus returns buffer="2", point=0. + // The returned buffer may contain digits that would be truncated from the + // shortest representation of the input. + // - PRECISION: produces 'requested_digits' where the first digit is not '0'. + // Even though the length of produced digits usually equals + // 'requested_digits', the function is allowed to return fewer digits, in + // which case the caller has to fill the missing digits with '0's. + // Halfway cases are again rounded away from 0. + // DoubleToAscii expects the given buffer to be big enough to hold all + // digits and a terminating null-character. In SHORTEST-mode it expects a + // buffer of at least kBase10MaximalLength + 1. In all other modes the + // requested_digits parameter and the padding-zeroes limit the size of the + // output. Don't forget the decimal point, the exponent character and the + // terminating null-character when computing the maximal output size. + // The given length is only used in debug mode to ensure the buffer is big + // enough. + // ICU PATCH: Export this as U_I18N_API for unit tests. + static void U_I18N_API DoubleToAscii(double v, + DtoaMode mode, + int requested_digits, + char* buffer, + int buffer_length, + bool* sign, + int* length, + int* point); + +#if 0 // not needed for ICU + private: + // Implementation for ToShortest and ToShortestSingle. + bool ToShortestIeeeNumber(double value, + StringBuilder* result_builder, + DtoaMode mode) const; + + // If the value is a special value (NaN or Infinity) constructs the + // corresponding string using the configured infinity/nan-symbol. + // If either of them is NULL or the value is not special then the + // function returns false. + bool HandleSpecialValues(double value, StringBuilder* result_builder) const; + // Constructs an exponential representation (i.e. 1.234e56). + // The given exponent assumes a decimal point after the first decimal digit. + void CreateExponentialRepresentation(const char* decimal_digits, + int length, + int exponent, + StringBuilder* result_builder) const; + // Creates a decimal representation (i.e 1234.5678). + void CreateDecimalRepresentation(const char* decimal_digits, + int length, + int decimal_point, + int digits_after_point, + StringBuilder* result_builder) const; + + const int flags_; + const char* const infinity_symbol_; + const char* const nan_symbol_; + const char exponent_character_; + const int decimal_in_shortest_low_; + const int decimal_in_shortest_high_; + const int max_leading_padding_zeroes_in_precision_mode_; + const int max_trailing_padding_zeroes_in_precision_mode_; + const int min_exponent_width_; +#endif // not needed for ICU + + DOUBLE_CONVERSION_DISALLOW_IMPLICIT_CONSTRUCTORS(DoubleToStringConverter); +}; + +} // namespace double_conversion + +// ICU PATCH: Close ICU namespace +U_NAMESPACE_END + +#endif // DOUBLE_CONVERSION_DOUBLE_TO_STRING_H_ +#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING diff --git a/deps/icu-small/source/i18n/double-conversion-fast-dtoa.cpp b/deps/icu-small/source/i18n/double-conversion-fast-dtoa.cpp index 8d1499a79b4a2e..87a3d536bf111f 100644 --- a/deps/icu-small/source/i18n/double-conversion-fast-dtoa.cpp +++ b/deps/icu-small/source/i18n/double-conversion-fast-dtoa.cpp @@ -152,7 +152,7 @@ static bool RoundWeed(Vector buffer, // Conceptually rest ~= too_high - buffer // We need to do the following tests in this order to avoid over- and // underflows. - ASSERT(rest <= unsafe_interval); + DOUBLE_CONVERSION_ASSERT(rest <= unsafe_interval); while (rest < small_distance && // Negated condition 1 unsafe_interval - rest >= ten_kappa && // Negated condition 2 (rest + ten_kappa < small_distance || // buffer{-1} > w_high @@ -198,7 +198,7 @@ static bool RoundWeedCounted(Vector buffer, uint64_t ten_kappa, uint64_t unit, int* kappa) { - ASSERT(rest < ten_kappa); + DOUBLE_CONVERSION_ASSERT(rest < ten_kappa); // The following tests are done in a specific order to avoid overflows. They // will work correctly with any uint64 values of rest < ten_kappa and unit. // @@ -255,7 +255,7 @@ static void BiggestPowerTen(uint32_t number, int number_bits, uint32_t* power, int* exponent_plus_one) { - ASSERT(number < (1u << (number_bits + 1))); + DOUBLE_CONVERSION_ASSERT(number < (1u << (number_bits + 1))); // 1233/4096 is approximately 1/lg(10). int exponent_plus_one_guess = ((number_bits + 1) * 1233 >> 12); // We increment to skip over the first entry in the kPowersOf10 table. @@ -317,9 +317,9 @@ static bool DigitGen(DiyFp low, Vector buffer, int* length, int* kappa) { - ASSERT(low.e() == w.e() && w.e() == high.e()); - ASSERT(low.f() + 1 <= high.f() - 1); - ASSERT(kMinimalTargetExponent <= w.e() && w.e() <= kMaximalTargetExponent); + DOUBLE_CONVERSION_ASSERT(low.e() == w.e() && w.e() == high.e()); + DOUBLE_CONVERSION_ASSERT(low.f() + 1 <= high.f() - 1); + DOUBLE_CONVERSION_ASSERT(kMinimalTargetExponent <= w.e() && w.e() <= kMaximalTargetExponent); // low, w and high are imprecise, but by less than one ulp (unit in the last // place). // If we remove (resp. add) 1 ulp from low (resp. high) we are certain that @@ -361,7 +361,7 @@ static bool DigitGen(DiyFp low, // that is smaller than integrals. while (*kappa > 0) { int digit = integrals / divisor; - ASSERT(digit <= 9); + DOUBLE_CONVERSION_ASSERT(digit <= 9); buffer[*length] = static_cast('0' + digit); (*length)++; integrals %= divisor; @@ -388,16 +388,16 @@ static bool DigitGen(DiyFp low, // data (like the interval or 'unit'), too. // Note that the multiplication by 10 does not overflow, because w.e >= -60 // and thus one.e >= -60. - ASSERT(one.e() >= -60); - ASSERT(fractionals < one.f()); - ASSERT(UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF) / 10 >= one.f()); + DOUBLE_CONVERSION_ASSERT(one.e() >= -60); + DOUBLE_CONVERSION_ASSERT(fractionals < one.f()); + DOUBLE_CONVERSION_ASSERT(DOUBLE_CONVERSION_UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF) / 10 >= one.f()); for (;;) { fractionals *= 10; unit *= 10; unsafe_interval.set_f(unsafe_interval.f() * 10); // Integer division by one. int digit = static_cast(fractionals >> -one.e()); - ASSERT(digit <= 9); + DOUBLE_CONVERSION_ASSERT(digit <= 9); buffer[*length] = static_cast('0' + digit); (*length)++; fractionals &= one.f() - 1; // Modulo by one. @@ -444,9 +444,9 @@ static bool DigitGenCounted(DiyFp w, Vector buffer, int* length, int* kappa) { - ASSERT(kMinimalTargetExponent <= w.e() && w.e() <= kMaximalTargetExponent); - ASSERT(kMinimalTargetExponent >= -60); - ASSERT(kMaximalTargetExponent <= -32); + DOUBLE_CONVERSION_ASSERT(kMinimalTargetExponent <= w.e() && w.e() <= kMaximalTargetExponent); + DOUBLE_CONVERSION_ASSERT(kMinimalTargetExponent >= -60); + DOUBLE_CONVERSION_ASSERT(kMaximalTargetExponent <= -32); // w is assumed to have an error less than 1 unit. Whenever w is scaled we // also scale its error. uint64_t w_error = 1; @@ -472,7 +472,7 @@ static bool DigitGenCounted(DiyFp w, // that is smaller than 'integrals'. while (*kappa > 0) { int digit = integrals / divisor; - ASSERT(digit <= 9); + DOUBLE_CONVERSION_ASSERT(digit <= 9); buffer[*length] = static_cast('0' + digit); (*length)++; requested_digits--; @@ -498,15 +498,15 @@ static bool DigitGenCounted(DiyFp w, // data (the 'unit'), too. // Note that the multiplication by 10 does not overflow, because w.e >= -60 // and thus one.e >= -60. - ASSERT(one.e() >= -60); - ASSERT(fractionals < one.f()); - ASSERT(UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF) / 10 >= one.f()); + DOUBLE_CONVERSION_ASSERT(one.e() >= -60); + DOUBLE_CONVERSION_ASSERT(fractionals < one.f()); + DOUBLE_CONVERSION_ASSERT(DOUBLE_CONVERSION_UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF) / 10 >= one.f()); while (requested_digits > 0 && fractionals > w_error) { fractionals *= 10; w_error *= 10; // Integer division by one. int digit = static_cast(fractionals >> -one.e()); - ASSERT(digit <= 9); + DOUBLE_CONVERSION_ASSERT(digit <= 9); buffer[*length] = static_cast('0' + digit); (*length)++; requested_digits--; @@ -544,11 +544,11 @@ static bool Grisu3(double v, if (mode == FAST_DTOA_SHORTEST) { Double(v).NormalizedBoundaries(&boundary_minus, &boundary_plus); } else { - ASSERT(mode == FAST_DTOA_SHORTEST_SINGLE); + DOUBLE_CONVERSION_ASSERT(mode == FAST_DTOA_SHORTEST_SINGLE); float single_v = static_cast(v); Single(single_v).NormalizedBoundaries(&boundary_minus, &boundary_plus); } - ASSERT(boundary_plus.e() == w.e()); + DOUBLE_CONVERSION_ASSERT(boundary_plus.e() == w.e()); DiyFp ten_mk; // Cached power of ten: 10^-k int mk; // -k int ten_mk_minimal_binary_exponent = @@ -559,7 +559,7 @@ static bool Grisu3(double v, ten_mk_minimal_binary_exponent, ten_mk_maximal_binary_exponent, &ten_mk, &mk); - ASSERT((kMinimalTargetExponent <= w.e() + ten_mk.e() + + DOUBLE_CONVERSION_ASSERT((kMinimalTargetExponent <= w.e() + ten_mk.e() + DiyFp::kSignificandSize) && (kMaximalTargetExponent >= w.e() + ten_mk.e() + DiyFp::kSignificandSize)); @@ -573,7 +573,7 @@ static bool Grisu3(double v, // In other words: let f = scaled_w.f() and e = scaled_w.e(), then // (f-1) * 2^e < w*10^k < (f+1) * 2^e DiyFp scaled_w = DiyFp::Times(w, ten_mk); - ASSERT(scaled_w.e() == + DOUBLE_CONVERSION_ASSERT(scaled_w.e() == boundary_plus.e() + ten_mk.e() + DiyFp::kSignificandSize); // In theory it would be possible to avoid some recomputations by computing // the difference between w and boundary_minus/plus (a power of 2) and to @@ -618,7 +618,7 @@ static bool Grisu3Counted(double v, ten_mk_minimal_binary_exponent, ten_mk_maximal_binary_exponent, &ten_mk, &mk); - ASSERT((kMinimalTargetExponent <= w.e() + ten_mk.e() + + DOUBLE_CONVERSION_ASSERT((kMinimalTargetExponent <= w.e() + ten_mk.e() + DiyFp::kSignificandSize) && (kMaximalTargetExponent >= w.e() + ten_mk.e() + DiyFp::kSignificandSize)); @@ -652,8 +652,8 @@ bool FastDtoa(double v, Vector buffer, int* length, int* decimal_point) { - ASSERT(v > 0); - ASSERT(!Double(v).IsSpecial()); + DOUBLE_CONVERSION_ASSERT(v > 0); + DOUBLE_CONVERSION_ASSERT(!Double(v).IsSpecial()); bool result = false; int decimal_exponent = 0; @@ -667,7 +667,7 @@ bool FastDtoa(double v, buffer, length, &decimal_exponent); break; default: - UNREACHABLE(); + DOUBLE_CONVERSION_UNREACHABLE(); } if (result) { *decimal_point = *length + decimal_exponent; diff --git a/deps/icu-small/source/i18n/double-conversion-ieee.h b/deps/icu-small/source/i18n/double-conversion-ieee.h index c83c8d9abbb46e..f4c62a9a9f8d99 100644 --- a/deps/icu-small/source/i18n/double-conversion-ieee.h +++ b/deps/icu-small/source/i18n/double-conversion-ieee.h @@ -55,12 +55,14 @@ static float uint32_to_float(uint32_t d32) { return BitCast(d32); } // Helper functions for doubles. class Double { public: - static const uint64_t kSignMask = UINT64_2PART_C(0x80000000, 00000000); - static const uint64_t kExponentMask = UINT64_2PART_C(0x7FF00000, 00000000); - static const uint64_t kSignificandMask = UINT64_2PART_C(0x000FFFFF, FFFFFFFF); - static const uint64_t kHiddenBit = UINT64_2PART_C(0x00100000, 00000000); + static const uint64_t kSignMask = DOUBLE_CONVERSION_UINT64_2PART_C(0x80000000, 00000000); + static const uint64_t kExponentMask = DOUBLE_CONVERSION_UINT64_2PART_C(0x7FF00000, 00000000); + static const uint64_t kSignificandMask = DOUBLE_CONVERSION_UINT64_2PART_C(0x000FFFFF, FFFFFFFF); + static const uint64_t kHiddenBit = DOUBLE_CONVERSION_UINT64_2PART_C(0x00100000, 00000000); static const int kPhysicalSignificandSize = 52; // Excludes the hidden bit. static const int kSignificandSize = 53; + static const int kExponentBias = 0x3FF + kPhysicalSignificandSize; + static const int kMaxExponent = 0x7FF - kExponentBias; Double() : d64_(0) {} explicit Double(double d) : d64_(double_to_uint64(d)) {} @@ -71,14 +73,14 @@ class Double { // The value encoded by this Double must be greater or equal to +0.0. // It must not be special (infinity, or NaN). DiyFp AsDiyFp() const { - ASSERT(Sign() > 0); - ASSERT(!IsSpecial()); + DOUBLE_CONVERSION_ASSERT(Sign() > 0); + DOUBLE_CONVERSION_ASSERT(!IsSpecial()); return DiyFp(Significand(), Exponent()); } // The value encoded by this Double must be strictly greater than 0. DiyFp AsNormalizedDiyFp() const { - ASSERT(value() > 0.0); + DOUBLE_CONVERSION_ASSERT(value() > 0.0); uint64_t f = Significand(); int e = Exponent(); @@ -174,7 +176,7 @@ class Double { // Precondition: the value encoded by this Double must be greater or equal // than +0.0. DiyFp UpperBoundary() const { - ASSERT(Sign() > 0); + DOUBLE_CONVERSION_ASSERT(Sign() > 0); return DiyFp(Significand() * 2 + 1, Exponent() - 1); } @@ -183,7 +185,7 @@ class Double { // exponent as m_plus. // Precondition: the value encoded by this Double must be greater than 0. void NormalizedBoundaries(DiyFp* out_m_minus, DiyFp* out_m_plus) const { - ASSERT(value() > 0.0); + DOUBLE_CONVERSION_ASSERT(value() > 0.0); DiyFp v = this->AsDiyFp(); DiyFp m_plus = DiyFp::Normalize(DiyFp((v.f() << 1) + 1, v.e() - 1)); DiyFp m_minus; @@ -236,11 +238,9 @@ class Double { } private: - static const int kExponentBias = 0x3FF + kPhysicalSignificandSize; static const int kDenormalExponent = -kExponentBias + 1; - static const int kMaxExponent = 0x7FF - kExponentBias; - static const uint64_t kInfinity = UINT64_2PART_C(0x7FF00000, 00000000); - static const uint64_t kNaN = UINT64_2PART_C(0x7FF80000, 00000000); + static const uint64_t kInfinity = DOUBLE_CONVERSION_UINT64_2PART_C(0x7FF00000, 00000000); + static const uint64_t kNaN = DOUBLE_CONVERSION_UINT64_2PART_C(0x7FF80000, 00000000); const uint64_t d64_; @@ -271,7 +271,7 @@ class Double { (biased_exponent << kPhysicalSignificandSize); } - DC_DISALLOW_COPY_AND_ASSIGN(Double); + DOUBLE_CONVERSION_DISALLOW_COPY_AND_ASSIGN(Double); }; class Single { @@ -290,8 +290,8 @@ class Single { // The value encoded by this Single must be greater or equal to +0.0. // It must not be special (infinity, or NaN). DiyFp AsDiyFp() const { - ASSERT(Sign() > 0); - ASSERT(!IsSpecial()); + DOUBLE_CONVERSION_ASSERT(Sign() > 0); + DOUBLE_CONVERSION_ASSERT(!IsSpecial()); return DiyFp(Significand(), Exponent()); } @@ -354,7 +354,7 @@ class Single { // exponent as m_plus. // Precondition: the value encoded by this Single must be greater than 0. void NormalizedBoundaries(DiyFp* out_m_minus, DiyFp* out_m_plus) const { - ASSERT(value() > 0.0); + DOUBLE_CONVERSION_ASSERT(value() > 0.0); DiyFp v = this->AsDiyFp(); DiyFp m_plus = DiyFp::Normalize(DiyFp((v.f() << 1) + 1, v.e() - 1)); DiyFp m_minus; @@ -372,7 +372,7 @@ class Single { // Precondition: the value encoded by this Single must be greater or equal // than +0.0. DiyFp UpperBoundary() const { - ASSERT(Sign() > 0); + DOUBLE_CONVERSION_ASSERT(Sign() > 0); return DiyFp(Significand() * 2 + 1, Exponent() - 1); } @@ -408,7 +408,7 @@ class Single { const uint32_t d32_; - DC_DISALLOW_COPY_AND_ASSIGN(Single); + DOUBLE_CONVERSION_DISALLOW_COPY_AND_ASSIGN(Single); }; } // namespace double_conversion diff --git a/deps/icu-small/source/i18n/double-conversion.cpp b/deps/icu-small/source/i18n/double-conversion-string-to-double.cpp similarity index 63% rename from deps/icu-small/source/i18n/double-conversion.cpp rename to deps/icu-small/source/i18n/double-conversion-string-to-double.cpp index 1a60afbd64b6b7..946b2b26e77aa4 100644 --- a/deps/icu-small/source/i18n/double-conversion.cpp +++ b/deps/icu-small/source/i18n/double-conversion-string-to-double.cpp @@ -37,16 +37,13 @@ // ICU PATCH: Do not include std::locale. #include -//#include +// #include #include // ICU PATCH: Customize header file paths for ICU. -// The file fixed-dtoa.h is not needed. -#include "double-conversion.h" +#include "double-conversion-string-to-double.h" -#include "double-conversion-bignum-dtoa.h" -#include "double-conversion-fast-dtoa.h" #include "double-conversion-ieee.h" #include "double-conversion-strtod.h" #include "double-conversion-utils.h" @@ -56,385 +53,6 @@ U_NAMESPACE_BEGIN namespace double_conversion { -#if 0 // not needed for ICU -const DoubleToStringConverter& DoubleToStringConverter::EcmaScriptConverter() { - int flags = UNIQUE_ZERO | EMIT_POSITIVE_EXPONENT_SIGN; - static DoubleToStringConverter converter(flags, - "Infinity", - "NaN", - 'e', - -6, 21, - 6, 0); - return converter; -} - - -bool DoubleToStringConverter::HandleSpecialValues( - double value, - StringBuilder* result_builder) const { - Double double_inspect(value); - if (double_inspect.IsInfinite()) { - if (infinity_symbol_ == NULL) return false; - if (value < 0) { - result_builder->AddCharacter('-'); - } - result_builder->AddString(infinity_symbol_); - return true; - } - if (double_inspect.IsNan()) { - if (nan_symbol_ == NULL) return false; - result_builder->AddString(nan_symbol_); - return true; - } - return false; -} - - -void DoubleToStringConverter::CreateExponentialRepresentation( - const char* decimal_digits, - int length, - int exponent, - StringBuilder* result_builder) const { - ASSERT(length != 0); - result_builder->AddCharacter(decimal_digits[0]); - if (length != 1) { - result_builder->AddCharacter('.'); - result_builder->AddSubstring(&decimal_digits[1], length-1); - } - result_builder->AddCharacter(exponent_character_); - if (exponent < 0) { - result_builder->AddCharacter('-'); - exponent = -exponent; - } else { - if ((flags_ & EMIT_POSITIVE_EXPONENT_SIGN) != 0) { - result_builder->AddCharacter('+'); - } - } - if (exponent == 0) { - result_builder->AddCharacter('0'); - return; - } - ASSERT(exponent < 1e4); - const int kMaxExponentLength = 5; - char buffer[kMaxExponentLength + 1]; - buffer[kMaxExponentLength] = '\0'; - int first_char_pos = kMaxExponentLength; - while (exponent > 0) { - buffer[--first_char_pos] = '0' + (exponent % 10); - exponent /= 10; - } - result_builder->AddSubstring(&buffer[first_char_pos], - kMaxExponentLength - first_char_pos); -} - - -void DoubleToStringConverter::CreateDecimalRepresentation( - const char* decimal_digits, - int length, - int decimal_point, - int digits_after_point, - StringBuilder* result_builder) const { - // Create a representation that is padded with zeros if needed. - if (decimal_point <= 0) { - // "0.00000decimal_rep" or "0.000decimal_rep00". - result_builder->AddCharacter('0'); - if (digits_after_point > 0) { - result_builder->AddCharacter('.'); - result_builder->AddPadding('0', -decimal_point); - ASSERT(length <= digits_after_point - (-decimal_point)); - result_builder->AddSubstring(decimal_digits, length); - int remaining_digits = digits_after_point - (-decimal_point) - length; - result_builder->AddPadding('0', remaining_digits); - } - } else if (decimal_point >= length) { - // "decimal_rep0000.00000" or "decimal_rep.0000". - result_builder->AddSubstring(decimal_digits, length); - result_builder->AddPadding('0', decimal_point - length); - if (digits_after_point > 0) { - result_builder->AddCharacter('.'); - result_builder->AddPadding('0', digits_after_point); - } - } else { - // "decima.l_rep000". - ASSERT(digits_after_point > 0); - result_builder->AddSubstring(decimal_digits, decimal_point); - result_builder->AddCharacter('.'); - ASSERT(length - decimal_point <= digits_after_point); - result_builder->AddSubstring(&decimal_digits[decimal_point], - length - decimal_point); - int remaining_digits = digits_after_point - (length - decimal_point); - result_builder->AddPadding('0', remaining_digits); - } - if (digits_after_point == 0) { - if ((flags_ & EMIT_TRAILING_DECIMAL_POINT) != 0) { - result_builder->AddCharacter('.'); - } - if ((flags_ & EMIT_TRAILING_ZERO_AFTER_POINT) != 0) { - result_builder->AddCharacter('0'); - } - } -} - - -bool DoubleToStringConverter::ToShortestIeeeNumber( - double value, - StringBuilder* result_builder, - DoubleToStringConverter::DtoaMode mode) const { - ASSERT(mode == SHORTEST || mode == SHORTEST_SINGLE); - if (Double(value).IsSpecial()) { - return HandleSpecialValues(value, result_builder); - } - - int decimal_point; - bool sign; - const int kDecimalRepCapacity = kBase10MaximalLength + 1; - char decimal_rep[kDecimalRepCapacity]; - int decimal_rep_length; - - DoubleToAscii(value, mode, 0, decimal_rep, kDecimalRepCapacity, - &sign, &decimal_rep_length, &decimal_point); - - bool unique_zero = (flags_ & UNIQUE_ZERO) != 0; - if (sign && (value != 0.0 || !unique_zero)) { - result_builder->AddCharacter('-'); - } - - int exponent = decimal_point - 1; - if ((decimal_in_shortest_low_ <= exponent) && - (exponent < decimal_in_shortest_high_)) { - CreateDecimalRepresentation(decimal_rep, decimal_rep_length, - decimal_point, - Max(0, decimal_rep_length - decimal_point), - result_builder); - } else { - CreateExponentialRepresentation(decimal_rep, decimal_rep_length, exponent, - result_builder); - } - return true; -} - - -bool DoubleToStringConverter::ToFixed(double value, - int requested_digits, - StringBuilder* result_builder) const { - ASSERT(kMaxFixedDigitsBeforePoint == 60); - const double kFirstNonFixed = 1e60; - - if (Double(value).IsSpecial()) { - return HandleSpecialValues(value, result_builder); - } - - if (requested_digits > kMaxFixedDigitsAfterPoint) return false; - if (value >= kFirstNonFixed || value <= -kFirstNonFixed) return false; - - // Find a sufficiently precise decimal representation of n. - int decimal_point; - bool sign; - // Add space for the '\0' byte. - const int kDecimalRepCapacity = - kMaxFixedDigitsBeforePoint + kMaxFixedDigitsAfterPoint + 1; - char decimal_rep[kDecimalRepCapacity]; - int decimal_rep_length; - DoubleToAscii(value, FIXED, requested_digits, - decimal_rep, kDecimalRepCapacity, - &sign, &decimal_rep_length, &decimal_point); - - bool unique_zero = ((flags_ & UNIQUE_ZERO) != 0); - if (sign && (value != 0.0 || !unique_zero)) { - result_builder->AddCharacter('-'); - } - - CreateDecimalRepresentation(decimal_rep, decimal_rep_length, decimal_point, - requested_digits, result_builder); - return true; -} - - -bool DoubleToStringConverter::ToExponential( - double value, - int requested_digits, - StringBuilder* result_builder) const { - if (Double(value).IsSpecial()) { - return HandleSpecialValues(value, result_builder); - } - - if (requested_digits < -1) return false; - if (requested_digits > kMaxExponentialDigits) return false; - - int decimal_point; - bool sign; - // Add space for digit before the decimal point and the '\0' character. - const int kDecimalRepCapacity = kMaxExponentialDigits + 2; - ASSERT(kDecimalRepCapacity > kBase10MaximalLength); - char decimal_rep[kDecimalRepCapacity]; - int decimal_rep_length; - - if (requested_digits == -1) { - DoubleToAscii(value, SHORTEST, 0, - decimal_rep, kDecimalRepCapacity, - &sign, &decimal_rep_length, &decimal_point); - } else { - DoubleToAscii(value, PRECISION, requested_digits + 1, - decimal_rep, kDecimalRepCapacity, - &sign, &decimal_rep_length, &decimal_point); - ASSERT(decimal_rep_length <= requested_digits + 1); - - for (int i = decimal_rep_length; i < requested_digits + 1; ++i) { - decimal_rep[i] = '0'; - } - decimal_rep_length = requested_digits + 1; - } - - bool unique_zero = ((flags_ & UNIQUE_ZERO) != 0); - if (sign && (value != 0.0 || !unique_zero)) { - result_builder->AddCharacter('-'); - } - - int exponent = decimal_point - 1; - CreateExponentialRepresentation(decimal_rep, - decimal_rep_length, - exponent, - result_builder); - return true; -} - - -bool DoubleToStringConverter::ToPrecision(double value, - int precision, - StringBuilder* result_builder) const { - if (Double(value).IsSpecial()) { - return HandleSpecialValues(value, result_builder); - } - - if (precision < kMinPrecisionDigits || precision > kMaxPrecisionDigits) { - return false; - } - - // Find a sufficiently precise decimal representation of n. - int decimal_point; - bool sign; - // Add one for the terminating null character. - const int kDecimalRepCapacity = kMaxPrecisionDigits + 1; - char decimal_rep[kDecimalRepCapacity]; - int decimal_rep_length; - - DoubleToAscii(value, PRECISION, precision, - decimal_rep, kDecimalRepCapacity, - &sign, &decimal_rep_length, &decimal_point); - ASSERT(decimal_rep_length <= precision); - - bool unique_zero = ((flags_ & UNIQUE_ZERO) != 0); - if (sign && (value != 0.0 || !unique_zero)) { - result_builder->AddCharacter('-'); - } - - // The exponent if we print the number as x.xxeyyy. That is with the - // decimal point after the first digit. - int exponent = decimal_point - 1; - - int extra_zero = ((flags_ & EMIT_TRAILING_ZERO_AFTER_POINT) != 0) ? 1 : 0; - if ((-decimal_point + 1 > max_leading_padding_zeroes_in_precision_mode_) || - (decimal_point - precision + extra_zero > - max_trailing_padding_zeroes_in_precision_mode_)) { - // Fill buffer to contain 'precision' digits. - // Usually the buffer is already at the correct length, but 'DoubleToAscii' - // is allowed to return less characters. - for (int i = decimal_rep_length; i < precision; ++i) { - decimal_rep[i] = '0'; - } - - CreateExponentialRepresentation(decimal_rep, - precision, - exponent, - result_builder); - } else { - CreateDecimalRepresentation(decimal_rep, decimal_rep_length, decimal_point, - Max(0, precision - decimal_point), - result_builder); - } - return true; -} -#endif // not needed for ICU - - -static BignumDtoaMode DtoaToBignumDtoaMode( - DoubleToStringConverter::DtoaMode dtoa_mode) { - switch (dtoa_mode) { - case DoubleToStringConverter::SHORTEST: return BIGNUM_DTOA_SHORTEST; - case DoubleToStringConverter::SHORTEST_SINGLE: - return BIGNUM_DTOA_SHORTEST_SINGLE; - case DoubleToStringConverter::FIXED: return BIGNUM_DTOA_FIXED; - case DoubleToStringConverter::PRECISION: return BIGNUM_DTOA_PRECISION; - default: - UNREACHABLE(); - } -} - - -void DoubleToStringConverter::DoubleToAscii(double v, - DtoaMode mode, - int requested_digits, - char* buffer, - int buffer_length, - bool* sign, - int* length, - int* point) { - Vector vector(buffer, buffer_length); - ASSERT(!Double(v).IsSpecial()); - ASSERT(mode == SHORTEST || mode == SHORTEST_SINGLE || requested_digits >= 0); - - if (Double(v).Sign() < 0) { - *sign = true; - v = -v; - } else { - *sign = false; - } - - if (mode == PRECISION && requested_digits == 0) { - vector[0] = '\0'; - *length = 0; - return; - } - - if (v == 0) { - vector[0] = '0'; - vector[1] = '\0'; - *length = 1; - *point = 1; - return; - } - - bool fast_worked; - switch (mode) { - case SHORTEST: - fast_worked = FastDtoa(v, FAST_DTOA_SHORTEST, 0, vector, length, point); - break; -#if 0 // not needed for ICU - case SHORTEST_SINGLE: - fast_worked = FastDtoa(v, FAST_DTOA_SHORTEST_SINGLE, 0, - vector, length, point); - break; - case FIXED: - fast_worked = FastFixedDtoa(v, requested_digits, vector, length, point); - break; - case PRECISION: - fast_worked = FastDtoa(v, FAST_DTOA_PRECISION, requested_digits, - vector, length, point); - break; -#endif // not needed for ICU - default: - fast_worked = false; - UNREACHABLE(); - } - if (fast_worked) return; - - // If the fast dtoa didn't succeed use the slower bignum version. - BignumDtoaMode bignum_mode = DtoaToBignumDtoaMode(mode); - BignumDtoa(v, bignum_mode, requested_digits, vector, length, point); - vector[*length] = '\0'; -} - - namespace { inline char ToLower(char ch) { @@ -444,7 +62,7 @@ inline char ToLower(char ch) { return cType.tolower(ch); #else (void)ch; - UNREACHABLE(); + DOUBLE_CONVERSION_UNREACHABLE(); #endif } @@ -457,7 +75,7 @@ static inline bool ConsumeSubStringImpl(Iterator* current, Iterator end, const char* substring, Converter converter) { - ASSERT(converter(**current) == *substring); + DOUBLE_CONVERSION_ASSERT(converter(**current) == *substring); for (substring++; *substring != '\0'; substring++) { ++*current; if (*current == end || converter(**current) != *substring) { @@ -474,8 +92,8 @@ template static bool ConsumeSubString(Iterator* current, Iterator end, const char* substring, - bool allow_case_insensibility) { - if (allow_case_insensibility) { + bool allow_case_insensitivity) { + if (allow_case_insensitivity) { return ConsumeSubStringImpl(current, end, substring, ToLower); } else { return ConsumeSubStringImpl(current, end, substring, Pass); @@ -485,8 +103,8 @@ static bool ConsumeSubString(Iterator* current, // Consumes first character of the str is equal to ch inline bool ConsumeFirstCharacter(char ch, const char* str, - bool case_insensibility) { - return case_insensibility ? ToLower(ch) == str[0] : ch == str[0]; + bool case_insensitivity) { + return case_insensitivity ? ToLower(ch) == str[0] : ch == str[0]; } } // namespace @@ -501,15 +119,14 @@ const int kMaxSignificantDigits = 772; static const char kWhitespaceTable7[] = { 32, 13, 10, 9, 11, 12 }; -static const int kWhitespaceTable7Length = ARRAY_SIZE(kWhitespaceTable7); +static const int kWhitespaceTable7Length = DOUBLE_CONVERSION_ARRAY_SIZE(kWhitespaceTable7); static const uc16 kWhitespaceTable16[] = { 160, 8232, 8233, 5760, 6158, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288, 65279 }; -static const int kWhitespaceTable16Length = ARRAY_SIZE(kWhitespaceTable16); - +static const int kWhitespaceTable16Length = DOUBLE_CONVERSION_ARRAY_SIZE(kWhitespaceTable16); static bool isWhitespace(int x) { @@ -609,7 +226,7 @@ static bool IsHexFloatString(Iterator start, Iterator end, uc16 separator, bool allow_trailing_junk) { - ASSERT(start != end); + DOUBLE_CONVERSION_ASSERT(start != end); Iterator current = start; @@ -624,8 +241,8 @@ static bool IsHexFloatString(Iterator start, saw_digit = true; if (Advance(¤t, separator, 16, end)) return false; } - if (!saw_digit) return false; // Only the '.', but no digits. } + if (!saw_digit) return false; if (*current != 'p' && *current != 'P') return false; if (Advance(¤t, separator, 16, end)) return false; if (*current == '+' || *current == '-') { @@ -654,8 +271,8 @@ static double RadixStringToIeee(Iterator* current, double junk_string_value, bool read_as_double, bool* result_is_junk) { - ASSERT(*current != end); - ASSERT(!parse_as_hex_float || + DOUBLE_CONVERSION_ASSERT(*current != end); + DOUBLE_CONVERSION_ASSERT(!parse_as_hex_float || IsHexFloatString(*current, end, separator, allow_trailing_junk)); const int kDoubleSize = Double::kSignificandSize; @@ -693,7 +310,7 @@ static double RadixStringToIeee(Iterator* current, } else if (parse_as_hex_float && **current == '.') { post_decimal = true; Advance(current, separator, radix, end); - ASSERT(*current != end); + DOUBLE_CONVERSION_ASSERT(*current != end); continue; } else if (parse_as_hex_float && (**current == 'p' || **current == 'P')) { break; @@ -728,7 +345,7 @@ static double RadixStringToIeee(Iterator* current, // Just run over the '.'. We are just trying to see whether there is // a non-zero digit somewhere. Advance(current, separator, radix, end); - ASSERT(*current != end); + DOUBLE_CONVERSION_ASSERT(*current != end); post_decimal = true; } if (!isDigit(**current, radix)) break; @@ -763,27 +380,31 @@ static double RadixStringToIeee(Iterator* current, if (Advance(current, separator, radix, end)) break; } - ASSERT(number < ((int64_t)1 << kSignificandSize)); - ASSERT(static_cast(static_cast(number)) == number); + DOUBLE_CONVERSION_ASSERT(number < ((int64_t)1 << kSignificandSize)); + DOUBLE_CONVERSION_ASSERT(static_cast(static_cast(number)) == number); *result_is_junk = false; if (parse_as_hex_float) { - ASSERT(**current == 'p' || **current == 'P'); + DOUBLE_CONVERSION_ASSERT(**current == 'p' || **current == 'P'); Advance(current, separator, radix, end); - ASSERT(*current != end); + DOUBLE_CONVERSION_ASSERT(*current != end); bool is_negative = false; if (**current == '+') { Advance(current, separator, radix, end); - ASSERT(*current != end); + DOUBLE_CONVERSION_ASSERT(*current != end); } else if (**current == '-') { is_negative = true; Advance(current, separator, radix, end); - ASSERT(*current != end); + DOUBLE_CONVERSION_ASSERT(*current != end); } int written_exponent = 0; while (IsDecimalDigitForRadix(**current, 10)) { - written_exponent = 10 * written_exponent + **current - '0'; + // No need to read exponents if they are too big. That could potentially overflow + // the `written_exponent` variable. + if (abs(written_exponent) <= 100 * Double::kMaxExponent) { + written_exponent = 10 * written_exponent + **current - '0'; + } if (Advance(current, separator, radix, end)) break; } if (is_negative) written_exponent = -written_exponent; @@ -798,7 +419,7 @@ static double RadixStringToIeee(Iterator* current, return static_cast(number); } - ASSERT(number != 0); + DOUBLE_CONVERSION_ASSERT(number != 0); double result = Double(DiyFp(number, exponent)).value(); return sign ? -result : result; } @@ -818,7 +439,7 @@ double StringToDoubleConverter::StringToIeee( const bool allow_leading_spaces = (flags_ & ALLOW_LEADING_SPACES) != 0; const bool allow_trailing_spaces = (flags_ & ALLOW_TRAILING_SPACES) != 0; const bool allow_spaces_after_sign = (flags_ & ALLOW_SPACES_AFTER_SIGN) != 0; - const bool allow_case_insensibility = (flags_ & ALLOW_CASE_INSENSIBILITY) != 0; + const bool allow_case_insensitivity = (flags_ & ALLOW_CASE_INSENSITIVITY) != 0; // To make sure that iterator dereferencing is valid the following // convention is used: @@ -868,8 +489,8 @@ double StringToDoubleConverter::StringToIeee( } if (infinity_symbol_ != NULL) { - if (ConsumeFirstCharacter(*current, infinity_symbol_, allow_case_insensibility)) { - if (!ConsumeSubString(¤t, end, infinity_symbol_, allow_case_insensibility)) { + if (ConsumeFirstCharacter(*current, infinity_symbol_, allow_case_insensitivity)) { + if (!ConsumeSubString(¤t, end, infinity_symbol_, allow_case_insensitivity)) { return junk_string_value_; } @@ -880,15 +501,15 @@ double StringToDoubleConverter::StringToIeee( return junk_string_value_; } - ASSERT(buffer_pos == 0); + DOUBLE_CONVERSION_ASSERT(buffer_pos == 0); *processed_characters_count = static_cast(current - input); return sign ? -Double::Infinity() : Double::Infinity(); } } if (nan_symbol_ != NULL) { - if (ConsumeFirstCharacter(*current, nan_symbol_, allow_case_insensibility)) { - if (!ConsumeSubString(¤t, end, nan_symbol_, allow_case_insensibility)) { + if (ConsumeFirstCharacter(*current, nan_symbol_, allow_case_insensitivity)) { + if (!ConsumeSubString(¤t, end, nan_symbol_, allow_case_insensitivity)) { return junk_string_value_; } @@ -899,7 +520,7 @@ double StringToDoubleConverter::StringToIeee( return junk_string_value_; } - ASSERT(buffer_pos == 0); + DOUBLE_CONVERSION_ASSERT(buffer_pos == 0); *processed_characters_count = static_cast(current - input); return sign ? -Double::NaN() : Double::NaN(); } @@ -919,10 +540,11 @@ double StringToDoubleConverter::StringToIeee( (*current == 'x' || *current == 'X')) { ++current; + if (current == end) return junk_string_value_; // "0x" + bool parse_as_hex_float = (flags_ & ALLOW_HEX_FLOATS) && IsHexFloatString(current, end, separator_, allow_trailing_junk); - if (current == end) return junk_string_value_; // "0x" if (!parse_as_hex_float && !isDigit(*current, 16)) { return junk_string_value_; } @@ -958,7 +580,7 @@ double StringToDoubleConverter::StringToIeee( // Copy significant digits of the integer part (if any) to the buffer. while (*current >= '0' && *current <= '9') { if (significant_digits < kMaxSignificantDigits) { - ASSERT(buffer_pos < kBufferSize); + DOUBLE_CONVERSION_ASSERT(buffer_pos < kBufferSize); buffer[buffer_pos++] = static_cast(*current); significant_digits++; // Will later check if it's an octal in the buffer. @@ -1003,7 +625,7 @@ double StringToDoubleConverter::StringToIeee( // We don't emit a '.', but adjust the exponent instead. while (*current >= '0' && *current <= '9') { if (significant_digits < kMaxSignificantDigits) { - ASSERT(buffer_pos < kBufferSize); + DOUBLE_CONVERSION_ASSERT(buffer_pos < kBufferSize); buffer[buffer_pos++] = static_cast(*current); significant_digits++; exponent--; @@ -1061,7 +683,7 @@ double StringToDoubleConverter::StringToIeee( } const int max_exponent = INT_MAX / 2; - ASSERT(-max_exponent / 2 <= exponent && exponent <= max_exponent / 2); + DOUBLE_CONVERSION_ASSERT(-max_exponent / 2 <= exponent && exponent <= max_exponent / 2); int num = 0; do { // Check overflow. @@ -1104,7 +726,7 @@ double StringToDoubleConverter::StringToIeee( junk_string_value_, read_as_double, &result_is_junk); - ASSERT(!result_is_junk); + DOUBLE_CONVERSION_ASSERT(!result_is_junk); *processed_characters_count = static_cast(current - input); return result; } @@ -1114,7 +736,7 @@ double StringToDoubleConverter::StringToIeee( exponent--; } - ASSERT(buffer_pos < kBufferSize); + DOUBLE_CONVERSION_ASSERT(buffer_pos < kBufferSize); buffer[buffer_pos] = '\0'; double converted; diff --git a/deps/icu-small/source/i18n/double-conversion-string-to-double.h b/deps/icu-small/source/i18n/double-conversion-string-to-double.h new file mode 100644 index 00000000000000..2eb0c1f8979838 --- /dev/null +++ b/deps/icu-small/source/i18n/double-conversion-string-to-double.h @@ -0,0 +1,244 @@ +// © 2018 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// +// From the double-conversion library. Original license: +// +// Copyright 2012 the V8 project authors. 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. + +// ICU PATCH: ifdef around UCONFIG_NO_FORMATTING +#include "unicode/utypes.h" +#if !UCONFIG_NO_FORMATTING + +#ifndef DOUBLE_CONVERSION_STRING_TO_DOUBLE_H_ +#define DOUBLE_CONVERSION_STRING_TO_DOUBLE_H_ + +// ICU PATCH: Customize header file paths for ICU. + +#include "double-conversion-utils.h" + +// ICU PATCH: Wrap in ICU namespace +U_NAMESPACE_BEGIN + +namespace double_conversion { + +class StringToDoubleConverter { + public: + // Enumeration for allowing octals and ignoring junk when converting + // strings to numbers. + enum Flags { + NO_FLAGS = 0, + ALLOW_HEX = 1, + ALLOW_OCTALS = 2, + ALLOW_TRAILING_JUNK = 4, + ALLOW_LEADING_SPACES = 8, + ALLOW_TRAILING_SPACES = 16, + ALLOW_SPACES_AFTER_SIGN = 32, + ALLOW_CASE_INSENSITIVITY = 64, + ALLOW_CASE_INSENSIBILITY = 64, // Deprecated + ALLOW_HEX_FLOATS = 128, + }; + + static const uc16 kNoSeparator = '\0'; + + // Flags should be a bit-or combination of the possible Flags-enum. + // - NO_FLAGS: no special flags. + // - ALLOW_HEX: recognizes the prefix "0x". Hex numbers may only be integers. + // Ex: StringToDouble("0x1234") -> 4660.0 + // In StringToDouble("0x1234.56") the characters ".56" are trailing + // junk. The result of the call is hence dependent on + // the ALLOW_TRAILING_JUNK flag and/or the junk value. + // With this flag "0x" is a junk-string. Even with ALLOW_TRAILING_JUNK, + // the string will not be parsed as "0" followed by junk. + // + // - ALLOW_OCTALS: recognizes the prefix "0" for octals: + // If a sequence of octal digits starts with '0', then the number is + // read as octal integer. Octal numbers may only be integers. + // Ex: StringToDouble("01234") -> 668.0 + // StringToDouble("012349") -> 12349.0 // Not a sequence of octal + // // digits. + // In StringToDouble("01234.56") the characters ".56" are trailing + // junk. The result of the call is hence dependent on + // the ALLOW_TRAILING_JUNK flag and/or the junk value. + // In StringToDouble("01234e56") the characters "e56" are trailing + // junk, too. + // - ALLOW_TRAILING_JUNK: ignore trailing characters that are not part of + // a double literal. + // - ALLOW_LEADING_SPACES: skip over leading whitespace, including spaces, + // new-lines, and tabs. + // - ALLOW_TRAILING_SPACES: ignore trailing whitespace. + // - ALLOW_SPACES_AFTER_SIGN: ignore whitespace after the sign. + // Ex: StringToDouble("- 123.2") -> -123.2. + // StringToDouble("+ 123.2") -> 123.2 + // - ALLOW_CASE_INSENSITIVITY: ignore case of characters for special values: + // infinity and nan. + // - ALLOW_HEX_FLOATS: allows hexadecimal float literals. + // This *must* start with "0x" and separate the exponent with "p". + // Examples: 0x1.2p3 == 9.0 + // 0x10.1p0 == 16.0625 + // ALLOW_HEX and ALLOW_HEX_FLOATS are indendent. + // + // empty_string_value is returned when an empty string is given as input. + // If ALLOW_LEADING_SPACES or ALLOW_TRAILING_SPACES are set, then a string + // containing only spaces is converted to the 'empty_string_value', too. + // + // junk_string_value is returned when + // a) ALLOW_TRAILING_JUNK is not set, and a junk character (a character not + // part of a double-literal) is found. + // b) ALLOW_TRAILING_JUNK is set, but the string does not start with a + // double literal. + // + // infinity_symbol and nan_symbol are strings that are used to detect + // inputs that represent infinity and NaN. They can be null, in which case + // they are ignored. + // The conversion routine first reads any possible signs. Then it compares the + // following character of the input-string with the first character of + // the infinity, and nan-symbol. If either matches, the function assumes, that + // a match has been found, and expects the following input characters to match + // the remaining characters of the special-value symbol. + // This means that the following restrictions apply to special-value symbols: + // - they must not start with signs ('+', or '-'), + // - they must not have the same first character. + // - they must not start with digits. + // + // If the separator character is not kNoSeparator, then that specific + // character is ignored when in between two valid digits of the significant. + // It is not allowed to appear in the exponent. + // It is not allowed to lead or trail the number. + // It is not allowed to appear twice next to each other. + // + // Examples: + // flags = ALLOW_HEX | ALLOW_TRAILING_JUNK, + // empty_string_value = 0.0, + // junk_string_value = NaN, + // infinity_symbol = "infinity", + // nan_symbol = "nan": + // StringToDouble("0x1234") -> 4660.0. + // StringToDouble("0x1234K") -> 4660.0. + // StringToDouble("") -> 0.0 // empty_string_value. + // StringToDouble(" ") -> NaN // junk_string_value. + // StringToDouble(" 1") -> NaN // junk_string_value. + // StringToDouble("0x") -> NaN // junk_string_value. + // StringToDouble("-123.45") -> -123.45. + // StringToDouble("--123.45") -> NaN // junk_string_value. + // StringToDouble("123e45") -> 123e45. + // StringToDouble("123E45") -> 123e45. + // StringToDouble("123e+45") -> 123e45. + // StringToDouble("123E-45") -> 123e-45. + // StringToDouble("123e") -> 123.0 // trailing junk ignored. + // StringToDouble("123e-") -> 123.0 // trailing junk ignored. + // StringToDouble("+NaN") -> NaN // NaN string literal. + // StringToDouble("-infinity") -> -inf. // infinity literal. + // StringToDouble("Infinity") -> NaN // junk_string_value. + // + // flags = ALLOW_OCTAL | ALLOW_LEADING_SPACES, + // empty_string_value = 0.0, + // junk_string_value = NaN, + // infinity_symbol = NULL, + // nan_symbol = NULL: + // StringToDouble("0x1234") -> NaN // junk_string_value. + // StringToDouble("01234") -> 668.0. + // StringToDouble("") -> 0.0 // empty_string_value. + // StringToDouble(" ") -> 0.0 // empty_string_value. + // StringToDouble(" 1") -> 1.0 + // StringToDouble("0x") -> NaN // junk_string_value. + // StringToDouble("0123e45") -> NaN // junk_string_value. + // StringToDouble("01239E45") -> 1239e45. + // StringToDouble("-infinity") -> NaN // junk_string_value. + // StringToDouble("NaN") -> NaN // junk_string_value. + // + // flags = NO_FLAGS, + // separator = ' ': + // StringToDouble("1 2 3 4") -> 1234.0 + // StringToDouble("1 2") -> NaN // junk_string_value + // StringToDouble("1 000 000.0") -> 1000000.0 + // StringToDouble("1.000 000") -> 1.0 + // StringToDouble("1.0e1 000") -> NaN // junk_string_value + StringToDoubleConverter(int flags, + double empty_string_value, + double junk_string_value, + const char* infinity_symbol, + const char* nan_symbol, + uc16 separator = kNoSeparator) + : flags_(flags), + empty_string_value_(empty_string_value), + junk_string_value_(junk_string_value), + infinity_symbol_(infinity_symbol), + nan_symbol_(nan_symbol), + separator_(separator) { + } + + // Performs the conversion. + // The output parameter 'processed_characters_count' is set to the number + // of characters that have been processed to read the number. + // Spaces than are processed with ALLOW_{LEADING|TRAILING}_SPACES are included + // in the 'processed_characters_count'. Trailing junk is never included. + double StringToDouble(const char* buffer, + int length, + int* processed_characters_count) const; + + // Same as StringToDouble above but for 16 bit characters. + double StringToDouble(const uc16* buffer, + int length, + int* processed_characters_count) const; + + // Same as StringToDouble but reads a float. + // Note that this is not equivalent to static_cast(StringToDouble(...)) + // due to potential double-rounding. + float StringToFloat(const char* buffer, + int length, + int* processed_characters_count) const; + + // Same as StringToFloat above but for 16 bit characters. + float StringToFloat(const uc16* buffer, + int length, + int* processed_characters_count) const; + + private: + const int flags_; + const double empty_string_value_; + const double junk_string_value_; + const char* const infinity_symbol_; + const char* const nan_symbol_; + const uc16 separator_; + + template + double StringToIeee(Iterator start_pointer, + int length, + bool read_as_double, + int* processed_characters_count) const; + + DOUBLE_CONVERSION_DISALLOW_IMPLICIT_CONSTRUCTORS(StringToDoubleConverter); +}; + +} // namespace double_conversion + +// ICU PATCH: Close ICU namespace +U_NAMESPACE_END + +#endif // DOUBLE_CONVERSION_STRING_TO_DOUBLE_H_ +#endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING diff --git a/deps/icu-small/source/i18n/double-conversion-strtod.cpp b/deps/icu-small/source/i18n/double-conversion-strtod.cpp index be9b0b3bce0e76..9cf4854426756c 100644 --- a/deps/icu-small/source/i18n/double-conversion-strtod.cpp +++ b/deps/icu-small/source/i18n/double-conversion-strtod.cpp @@ -34,16 +34,15 @@ #include "unicode/utypes.h" #if !UCONFIG_NO_FORMATTING -#include -#include +#include +#include // ICU PATCH: Customize header file paths for ICU. -// The file fixed-dtoa.h is not needed. -#include "double-conversion-strtod.h" #include "double-conversion-bignum.h" #include "double-conversion-cached-powers.h" #include "double-conversion-ieee.h" +#include "double-conversion-strtod.h" // ICU PATCH: Wrap in ICU namespace U_NAMESPACE_BEGIN @@ -67,7 +66,7 @@ static const int kMaxDecimalPower = 309; static const int kMinDecimalPower = -324; // 2^64 = 18446744073709551616 -static const uint64_t kMaxUint64 = UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF); +static const uint64_t kMaxUint64 = DOUBLE_CONVERSION_UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF); static const double exact_powers_of_ten[] = { @@ -96,7 +95,7 @@ static const double exact_powers_of_ten[] = { // 10^22 = 0x21e19e0c9bab2400000 = 0x878678326eac9 * 2^22 10000000000000000000000.0 }; -static const int kExactPowersOfTenSize = ARRAY_SIZE(exact_powers_of_ten); +static const int kExactPowersOfTenSize = DOUBLE_CONVERSION_ARRAY_SIZE(exact_powers_of_ten); // Maximum number of significant digits in the decimal representation. // In fact the value is 772 (see conversions.cc), but to give us some margin @@ -132,7 +131,7 @@ static void CutToMaxSignificantDigits(Vector buffer, } // The input buffer has been trimmed. Therefore the last digit must be // different from '0'. - ASSERT(buffer[buffer.length() - 1] != '0'); + DOUBLE_CONVERSION_ASSERT(buffer[buffer.length() - 1] != '0'); // Set the last digit to be non-zero. This is sufficient to guarantee // correct rounding. significant_buffer[kMaxSignificantDecimalDigits - 1] = '1'; @@ -153,7 +152,7 @@ static void TrimAndCut(Vector buffer, int exponent, exponent += left_trimmed.length() - right_trimmed.length(); if (right_trimmed.length() > kMaxSignificantDecimalDigits) { (void) space_size; // Mark variable as used. - ASSERT(space_size >= kMaxSignificantDecimalDigits); + DOUBLE_CONVERSION_ASSERT(space_size >= kMaxSignificantDecimalDigits); CutToMaxSignificantDigits(right_trimmed, exponent, buffer_copy_space, updated_exponent); *trimmed = Vector(buffer_copy_space, @@ -176,7 +175,7 @@ static uint64_t ReadUint64(Vector buffer, int i = 0; while (i < buffer.length() && result <= (kMaxUint64 / 10 - 1)) { int digit = buffer[i++] - '0'; - ASSERT(0 <= digit && digit <= 9); + DOUBLE_CONVERSION_ASSERT(0 <= digit && digit <= 9); result = 10 * result + digit; } *number_of_read_digits = i; @@ -220,7 +219,7 @@ static bool DoubleStrtod(Vector trimmed, // Note that the ARM simulator is compiled for 32bits. It therefore exhibits // the same problem. return false; -#endif +#else if (trimmed.length() <= kMaxExactDoubleIntegerDecimalDigits) { int read_digits; // The trimmed input fits into a double. @@ -232,14 +231,14 @@ static bool DoubleStrtod(Vector trimmed, if (exponent < 0 && -exponent < kExactPowersOfTenSize) { // 10^-exponent fits into a double. *result = static_cast(ReadUint64(trimmed, &read_digits)); - ASSERT(read_digits == trimmed.length()); + DOUBLE_CONVERSION_ASSERT(read_digits == trimmed.length()); *result /= exact_powers_of_ten[-exponent]; return true; } if (0 <= exponent && exponent < kExactPowersOfTenSize) { // 10^exponent fits into a double. *result = static_cast(ReadUint64(trimmed, &read_digits)); - ASSERT(read_digits == trimmed.length()); + DOUBLE_CONVERSION_ASSERT(read_digits == trimmed.length()); *result *= exact_powers_of_ten[exponent]; return true; } @@ -251,34 +250,35 @@ static bool DoubleStrtod(Vector trimmed, // 10^remaining_digits. As a result the remaining exponent now fits // into a double too. *result = static_cast(ReadUint64(trimmed, &read_digits)); - ASSERT(read_digits == trimmed.length()); + DOUBLE_CONVERSION_ASSERT(read_digits == trimmed.length()); *result *= exact_powers_of_ten[remaining_digits]; *result *= exact_powers_of_ten[exponent - remaining_digits]; return true; } } return false; +#endif } // Returns 10^exponent as an exact DiyFp. // The given exponent must be in the range [1; kDecimalExponentDistance[. static DiyFp AdjustmentPowerOfTen(int exponent) { - ASSERT(0 < exponent); - ASSERT(exponent < PowersOfTenCache::kDecimalExponentDistance); + DOUBLE_CONVERSION_ASSERT(0 < exponent); + DOUBLE_CONVERSION_ASSERT(exponent < PowersOfTenCache::kDecimalExponentDistance); // Simply hardcode the remaining powers for the given decimal exponent // distance. - ASSERT(PowersOfTenCache::kDecimalExponentDistance == 8); + DOUBLE_CONVERSION_ASSERT(PowersOfTenCache::kDecimalExponentDistance == 8); switch (exponent) { - case 1: return DiyFp(UINT64_2PART_C(0xa0000000, 00000000), -60); - case 2: return DiyFp(UINT64_2PART_C(0xc8000000, 00000000), -57); - case 3: return DiyFp(UINT64_2PART_C(0xfa000000, 00000000), -54); - case 4: return DiyFp(UINT64_2PART_C(0x9c400000, 00000000), -50); - case 5: return DiyFp(UINT64_2PART_C(0xc3500000, 00000000), -47); - case 6: return DiyFp(UINT64_2PART_C(0xf4240000, 00000000), -44); - case 7: return DiyFp(UINT64_2PART_C(0x98968000, 00000000), -40); + case 1: return DiyFp(DOUBLE_CONVERSION_UINT64_2PART_C(0xa0000000, 00000000), -60); + case 2: return DiyFp(DOUBLE_CONVERSION_UINT64_2PART_C(0xc8000000, 00000000), -57); + case 3: return DiyFp(DOUBLE_CONVERSION_UINT64_2PART_C(0xfa000000, 00000000), -54); + case 4: return DiyFp(DOUBLE_CONVERSION_UINT64_2PART_C(0x9c400000, 00000000), -50); + case 5: return DiyFp(DOUBLE_CONVERSION_UINT64_2PART_C(0xc3500000, 00000000), -47); + case 6: return DiyFp(DOUBLE_CONVERSION_UINT64_2PART_C(0xf4240000, 00000000), -44); + case 7: return DiyFp(DOUBLE_CONVERSION_UINT64_2PART_C(0x98968000, 00000000), -40); default: - UNREACHABLE(); + DOUBLE_CONVERSION_UNREACHABLE(); } } @@ -307,7 +307,7 @@ static bool DiyFpStrtod(Vector buffer, input.Normalize(); error <<= old_e - input.e(); - ASSERT(exponent <= PowersOfTenCache::kMaxDecimalExponent); + DOUBLE_CONVERSION_ASSERT(exponent <= PowersOfTenCache::kMaxDecimalExponent); if (exponent < PowersOfTenCache::kMinDecimalExponent) { *result = 0.0; return true; @@ -325,7 +325,7 @@ static bool DiyFpStrtod(Vector buffer, if (kMaxUint64DecimalDigits - buffer.length() >= adjustment_exponent) { // The product of input with the adjustment power fits into a 64 bit // integer. - ASSERT(DiyFp::kSignificandSize == 64); + DOUBLE_CONVERSION_ASSERT(DiyFp::kSignificandSize == 64); } else { // The adjustment power is exact. There is hence only an error of 0.5. error += kDenominator / 2; @@ -367,8 +367,8 @@ static bool DiyFpStrtod(Vector buffer, precision_digits_count -= shift_amount; } // We use uint64_ts now. This only works if the DiyFp uses uint64_ts too. - ASSERT(DiyFp::kSignificandSize == 64); - ASSERT(precision_digits_count < 64); + DOUBLE_CONVERSION_ASSERT(DiyFp::kSignificandSize == 64); + DOUBLE_CONVERSION_ASSERT(precision_digits_count < 64); uint64_t one64 = 1; uint64_t precision_bits_mask = (one64 << precision_digits_count) - 1; uint64_t precision_bits = input.f() & precision_bits_mask; @@ -407,14 +407,14 @@ static bool DiyFpStrtod(Vector buffer, static int CompareBufferWithDiyFp(Vector buffer, int exponent, DiyFp diy_fp) { - ASSERT(buffer.length() + exponent <= kMaxDecimalPower + 1); - ASSERT(buffer.length() + exponent > kMinDecimalPower); - ASSERT(buffer.length() <= kMaxSignificantDecimalDigits); + DOUBLE_CONVERSION_ASSERT(buffer.length() + exponent <= kMaxDecimalPower + 1); + DOUBLE_CONVERSION_ASSERT(buffer.length() + exponent > kMinDecimalPower); + DOUBLE_CONVERSION_ASSERT(buffer.length() <= kMaxSignificantDecimalDigits); // Make sure that the Bignum will be able to hold all our numbers. // Our Bignum implementation has a separate field for exponents. Shifts will // consume at most one bigit (< 64 bits). // ln(10) == 3.3219... - ASSERT(((kMaxDecimalPower + 1) * 333 / 100) < Bignum::kMaxSignificantBits); + DOUBLE_CONVERSION_ASSERT(((kMaxDecimalPower + 1) * 333 / 100) < Bignum::kMaxSignificantBits); Bignum buffer_bignum; Bignum diy_fp_bignum; buffer_bignum.AssignDecimalString(buffer); @@ -460,18 +460,33 @@ static bool ComputeGuess(Vector trimmed, int exponent, return false; } -double Strtod(Vector buffer, int exponent) { - char copy_buffer[kMaxSignificantDecimalDigits]; - Vector trimmed; - int updated_exponent; - TrimAndCut(buffer, exponent, copy_buffer, kMaxSignificantDecimalDigits, - &trimmed, &updated_exponent); - exponent = updated_exponent; +#if U_DEBUG // needed for ICU only in debug mode +static bool IsDigit(const char d) { + return ('0' <= d) && (d <= '9'); +} - double guess; - bool is_correct = ComputeGuess(trimmed, exponent, &guess); - if (is_correct) return guess; +static bool IsNonZeroDigit(const char d) { + return ('1' <= d) && (d <= '9'); +} + +static bool AssertTrimmedDigits(const Vector& buffer) { + for(int i = 0; i < buffer.length(); ++i) { + if(!IsDigit(buffer[i])) { + return false; + } + } + return (buffer.length() == 0) || (IsNonZeroDigit(buffer[0]) && IsNonZeroDigit(buffer[buffer.length()-1])); +} +#endif // needed for ICU only in debug mode +double StrtodTrimmed(Vector trimmed, int exponent) { + DOUBLE_CONVERSION_ASSERT(trimmed.length() <= kMaxSignificantDecimalDigits); + DOUBLE_CONVERSION_ASSERT(AssertTrimmedDigits(trimmed)); + double guess; + const bool is_correct = ComputeGuess(trimmed, exponent, &guess); + if (is_correct) { + return guess; + } DiyFp upper_boundary = Double(guess).UpperBoundary(); int comparison = CompareBufferWithDiyFp(trimmed, exponent, upper_boundary); if (comparison < 0) { @@ -486,6 +501,39 @@ double Strtod(Vector buffer, int exponent) { } } +double Strtod(Vector buffer, int exponent) { + char copy_buffer[kMaxSignificantDecimalDigits]; + Vector trimmed; + int updated_exponent; + TrimAndCut(buffer, exponent, copy_buffer, kMaxSignificantDecimalDigits, + &trimmed, &updated_exponent); + return StrtodTrimmed(trimmed, updated_exponent); +} + +static float SanitizedDoubletof(double d) { + DOUBLE_CONVERSION_ASSERT(d >= 0.0); + // ASAN has a sanitize check that disallows casting doubles to floats if + // they are too big. + // https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#available-checks + // The behavior should be covered by IEEE 754, but some projects use this + // flag, so work around it. + float max_finite = 3.4028234663852885981170418348451692544e+38; + // The half-way point between the max-finite and infinity value. + // Since infinity has an even significand everything equal or greater than + // this value should become infinity. + double half_max_finite_infinity = + 3.40282356779733661637539395458142568448e+38; + if (d >= max_finite) { + if (d >= half_max_finite_infinity) { + return Single::Infinity(); + } else { + return max_finite; + } + } else { + return static_cast(d); + } +} + float Strtof(Vector buffer, int exponent) { char copy_buffer[kMaxSignificantDecimalDigits]; Vector trimmed; @@ -497,7 +545,7 @@ float Strtof(Vector buffer, int exponent) { double double_guess; bool is_correct = ComputeGuess(trimmed, exponent, &double_guess); - float float_guess = static_cast(double_guess); + float float_guess = SanitizedDoubletof(double_guess); if (float_guess == double_guess) { // This shortcut triggers for integer values. return float_guess; @@ -520,18 +568,18 @@ float Strtof(Vector buffer, int exponent) { double double_next = Double(double_guess).NextDouble(); double double_previous = Double(double_guess).PreviousDouble(); - float f1 = static_cast(double_previous); + float f1 = SanitizedDoubletof(double_previous); float f2 = float_guess; - float f3 = static_cast(double_next); + float f3 = SanitizedDoubletof(double_next); float f4; if (is_correct) { f4 = f3; } else { double double_next2 = Double(double_next).NextDouble(); - f4 = static_cast(double_next2); + f4 = SanitizedDoubletof(double_next2); } (void) f2; // Mark variable as used. - ASSERT(f1 <= f2 && f2 <= f3 && f3 <= f4); + DOUBLE_CONVERSION_ASSERT(f1 <= f2 && f2 <= f3 && f3 <= f4); // If the guess doesn't lie near a single-precision boundary we can simply // return its float-value. @@ -539,11 +587,11 @@ float Strtof(Vector buffer, int exponent) { return float_guess; } - ASSERT((f1 != f2 && f2 == f3 && f3 == f4) || + DOUBLE_CONVERSION_ASSERT((f1 != f2 && f2 == f3 && f3 == f4) || (f1 == f2 && f2 != f3 && f3 == f4) || (f1 == f2 && f2 == f3 && f3 != f4)); - // guess and next are the two possible canditates (in the same way that + // guess and next are the two possible candidates (in the same way that // double_guess was the lower candidate for a double-precision guess). float guess = f1; float next = f4; diff --git a/deps/icu-small/source/i18n/double-conversion-strtod.h b/deps/icu-small/source/i18n/double-conversion-strtod.h index e2d6d3c2fe5d7d..50ef746401a908 100644 --- a/deps/icu-small/source/i18n/double-conversion-strtod.h +++ b/deps/icu-small/source/i18n/double-conversion-strtod.h @@ -54,6 +54,11 @@ double Strtod(Vector buffer, int exponent); // contain a dot or a sign. It must not start with '0', and must not be empty. float Strtof(Vector buffer, int exponent); +// For special use cases, the heart of the Strtod() function is also available +// separately, it assumes that 'trimmed' is as produced by TrimAndCut(), i.e. +// no leading or trailing zeros, also no lone zero, and not 'too many' digits. +double StrtodTrimmed(Vector trimmed, int exponent); + } // namespace double_conversion // ICU PATCH: Close ICU namespace diff --git a/deps/icu-small/source/i18n/double-conversion-utils.h b/deps/icu-small/source/i18n/double-conversion-utils.h index 1e44fcaa0e398d..099298460c63d9 100644 --- a/deps/icu-small/source/i18n/double-conversion-utils.h +++ b/deps/icu-small/source/i18n/double-conversion-utils.h @@ -42,10 +42,12 @@ // ICU PATCH: Use U_ASSERT instead of #include "uassert.h" -#define ASSERT U_ASSERT - -#ifndef UNIMPLEMENTED -#define UNIMPLEMENTED() (abort()) +#ifndef DOUBLE_CONVERSION_ASSERT +#define DOUBLE_CONVERSION_ASSERT(condition) \ + U_ASSERT(condition); +#endif +#ifndef DOUBLE_CONVERSION_UNIMPLEMENTED +#define DOUBLE_CONVERSION_UNIMPLEMENTED() (abort()) #endif #ifndef DOUBLE_CONVERSION_NO_RETURN #ifdef _MSC_VER @@ -54,16 +56,23 @@ #define DOUBLE_CONVERSION_NO_RETURN __attribute__((noreturn)) #endif #endif -#ifndef UNREACHABLE +#ifndef DOUBLE_CONVERSION_UNREACHABLE #ifdef _MSC_VER void DOUBLE_CONVERSION_NO_RETURN abort_noreturn(); inline void abort_noreturn() { abort(); } -#define UNREACHABLE() (abort_noreturn()) +#define DOUBLE_CONVERSION_UNREACHABLE() (abort_noreturn()) #else -#define UNREACHABLE() (abort()) +#define DOUBLE_CONVERSION_UNREACHABLE() (abort()) #endif #endif +#ifndef DOUBLE_CONVERSION_UNUSED +#ifdef __GNUC__ +#define DOUBLE_CONVERSION_UNUSED __attribute__((unused)) +#else +#define DOUBLE_CONVERSION_UNUSED +#endif +#endif // Double operations detection based on target architecture. // Linux uses a 80bit wide floating point stack on x86. This induces double @@ -99,9 +108,9 @@ int main(int argc, char** argv) { defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \ defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ defined(__SH4__) || defined(__alpha__) || \ - defined(_MIPS_ARCH_MIPS32R2) || \ + defined(_MIPS_ARCH_MIPS32R2) || defined(__ARMEB__) ||\ defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \ - defined(__riscv) || \ + defined(__riscv) || defined(__e2k__) || \ defined(__or1k__) || defined(__arc__) || \ defined(__EMSCRIPTEN__) #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 @@ -141,24 +150,24 @@ typedef uint16_t uc16; // The following macro works on both 32 and 64-bit platforms. // Usage: instead of writing 0x1234567890123456 -// write UINT64_2PART_C(0x12345678,90123456); -#define UINT64_2PART_C(a, b) (((static_cast(a) << 32) + 0x##b##u)) +// write DOUBLE_CONVERSION_UINT64_2PART_C(0x12345678,90123456); +#define DOUBLE_CONVERSION_UINT64_2PART_C(a, b) (((static_cast(a) << 32) + 0x##b##u)) -// The expression ARRAY_SIZE(a) is a compile-time constant of type +// The expression DOUBLE_CONVERSION_ARRAY_SIZE(a) is a compile-time constant of type // size_t which represents the number of elements of the given -// array. You should only use ARRAY_SIZE on statically allocated +// array. You should only use DOUBLE_CONVERSION_ARRAY_SIZE on statically allocated // arrays. -#ifndef ARRAY_SIZE -#define ARRAY_SIZE(a) \ +#ifndef DOUBLE_CONVERSION_ARRAY_SIZE +#define DOUBLE_CONVERSION_ARRAY_SIZE(a) \ ((sizeof(a) / sizeof(*(a))) / \ static_cast(!(sizeof(a) % sizeof(*(a))))) #endif // A macro to disallow the evil copy constructor and operator= functions // This should be used in the private: declarations for a class -#ifndef DC_DISALLOW_COPY_AND_ASSIGN -#define DC_DISALLOW_COPY_AND_ASSIGN(TypeName) \ +#ifndef DOUBLE_CONVERSION_DISALLOW_COPY_AND_ASSIGN +#define DOUBLE_CONVERSION_DISALLOW_COPY_AND_ASSIGN(TypeName) \ TypeName(const TypeName&); \ void operator=(const TypeName&) #endif @@ -169,10 +178,10 @@ typedef uint16_t uc16; // This should be used in the private: declarations for a class // that wants to prevent anyone from instantiating it. This is // especially useful for classes containing only static methods. -#ifndef DC_DISALLOW_IMPLICIT_CONSTRUCTORS -#define DC_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \ +#ifndef DOUBLE_CONVERSION_DISALLOW_IMPLICIT_CONSTRUCTORS +#define DOUBLE_CONVERSION_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \ TypeName(); \ - DC_DISALLOW_COPY_AND_ASSIGN(TypeName) + DOUBLE_CONVERSION_DISALLOW_COPY_AND_ASSIGN(TypeName) #endif // ICU PATCH: Wrap in ICU namespace @@ -180,25 +189,9 @@ U_NAMESPACE_BEGIN namespace double_conversion { -static const int kCharSize = sizeof(char); - -// Returns the maximum of the two parameters. -template -static T Max(T a, T b) { - return a < b ? b : a; -} - - -// Returns the minimum of the two parameters. -template -static T Min(T a, T b) { - return a < b ? a : b; -} - - inline int StrLength(const char* string) { size_t length = strlen(string); - ASSERT(length == static_cast(static_cast(length))); + DOUBLE_CONVERSION_ASSERT(length == static_cast(static_cast(length))); return static_cast(length); } @@ -208,15 +201,15 @@ class Vector { public: Vector() : start_(NULL), length_(0) {} Vector(T* data, int len) : start_(data), length_(len) { - ASSERT(len == 0 || (len > 0 && data != NULL)); + DOUBLE_CONVERSION_ASSERT(len == 0 || (len > 0 && data != NULL)); } // Returns a vector using the same backing storage as this one, // spanning from and including 'from', to but not including 'to'. Vector SubVector(int from, int to) { - ASSERT(to <= length_); - ASSERT(from < to); - ASSERT(0 <= from); + DOUBLE_CONVERSION_ASSERT(to <= length_); + DOUBLE_CONVERSION_ASSERT(from < to); + DOUBLE_CONVERSION_ASSERT(0 <= from); return Vector(start() + from, to - from); } @@ -231,7 +224,7 @@ class Vector { // Access individual vector elements - checks bounds in debug mode. T& operator[](int index) const { - ASSERT(0 <= index && index < length_); + DOUBLE_CONVERSION_ASSERT(0 <= index && index < length_); return start_[index]; } @@ -239,6 +232,11 @@ class Vector { T& last() { return start_[length_ - 1]; } + void pop_back() { + DOUBLE_CONVERSION_ASSERT(!is_empty()); + --length_; + } + private: T* start_; int length_; @@ -259,7 +257,7 @@ class StringBuilder { // Get the current position in the builder. int position() const { - ASSERT(!is_finalized()); + DOUBLE_CONVERSION_ASSERT(!is_finalized()); return position_; } @@ -270,8 +268,8 @@ class StringBuilder { // 0-characters; use the Finalize() method to terminate the string // instead. void AddCharacter(char c) { - ASSERT(c != '\0'); - ASSERT(!is_finalized() && position_ < buffer_.length()); + DOUBLE_CONVERSION_ASSERT(c != '\0'); + DOUBLE_CONVERSION_ASSERT(!is_finalized() && position_ < buffer_.length()); buffer_[position_++] = c; } @@ -284,9 +282,9 @@ class StringBuilder { // Add the first 'n' characters of the given string 's' to the // builder. The input string must have enough characters. void AddSubstring(const char* s, int n) { - ASSERT(!is_finalized() && position_ + n < buffer_.length()); - ASSERT(static_cast(n) <= strlen(s)); - memmove(&buffer_[position_], s, n * kCharSize); + DOUBLE_CONVERSION_ASSERT(!is_finalized() && position_ + n < buffer_.length()); + DOUBLE_CONVERSION_ASSERT(static_cast(n) <= strlen(s)); + memmove(&buffer_[position_], s, n); position_ += n; } @@ -301,13 +299,13 @@ class StringBuilder { // Finalize the string by 0-terminating it and returning the buffer. char* Finalize() { - ASSERT(!is_finalized() && position_ < buffer_.length()); + DOUBLE_CONVERSION_ASSERT(!is_finalized() && position_ < buffer_.length()); buffer_[position_] = '\0'; // Make sure nobody managed to add a 0-character to the // buffer while building the string. - ASSERT(strlen(buffer_.start()) == static_cast(position_)); + DOUBLE_CONVERSION_ASSERT(strlen(buffer_.start()) == static_cast(position_)); position_ = -1; - ASSERT(is_finalized()); + DOUBLE_CONVERSION_ASSERT(is_finalized()); return buffer_.start(); } @@ -317,7 +315,7 @@ class StringBuilder { bool is_finalized() const { return position_ < 0; } - DC_DISALLOW_IMPLICIT_CONSTRUCTORS(StringBuilder); + DOUBLE_CONVERSION_DISALLOW_IMPLICIT_CONSTRUCTORS(StringBuilder); }; // The type-based aliasing rule allows the compiler to assume that pointers of @@ -345,13 +343,14 @@ class StringBuilder { // enough that it can no longer see that you have cast one pointer type to // another thus avoiding the warning. template -inline Dest BitCast(const Source& source) { +Dest BitCast(const Source& source) { // Compile time assertion: sizeof(Dest) == sizeof(Source) // A compile error here means your Dest and Source have different sizes. #if __cplusplus >= 201103L static_assert(sizeof(Dest) == sizeof(Source), "source and destination size mismatch"); #else + DOUBLE_CONVERSION_UNUSED typedef char VerifySizesAreEqual[sizeof(Dest) == sizeof(Source) ? 1 : -1]; #endif @@ -361,7 +360,7 @@ inline Dest BitCast(const Source& source) { } template -inline Dest BitCast(Source* source) { +Dest BitCast(Source* source) { return BitCast(reinterpret_cast(source)); } diff --git a/deps/icu-small/source/i18n/double-conversion.h b/deps/icu-small/source/i18n/double-conversion.h index 377c710bf791e7..eddc38763becdc 100644 --- a/deps/icu-small/source/i18n/double-conversion.h +++ b/deps/icu-small/source/i18n/double-conversion.h @@ -39,561 +39,8 @@ // ICU PATCH: Customize header file paths for ICU. -#include "double-conversion-utils.h" - -// ICU PATCH: Wrap in ICU namespace -U_NAMESPACE_BEGIN - -namespace double_conversion { - -class DoubleToStringConverter { - public: -#if 0 // not needed for ICU - // When calling ToFixed with a double > 10^kMaxFixedDigitsBeforePoint - // or a requested_digits parameter > kMaxFixedDigitsAfterPoint then the - // function returns false. - static const int kMaxFixedDigitsBeforePoint = 60; - static const int kMaxFixedDigitsAfterPoint = 60; - - // When calling ToExponential with a requested_digits - // parameter > kMaxExponentialDigits then the function returns false. - static const int kMaxExponentialDigits = 120; - - // When calling ToPrecision with a requested_digits - // parameter < kMinPrecisionDigits or requested_digits > kMaxPrecisionDigits - // then the function returns false. - static const int kMinPrecisionDigits = 1; - static const int kMaxPrecisionDigits = 120; - - enum Flags { - NO_FLAGS = 0, - EMIT_POSITIVE_EXPONENT_SIGN = 1, - EMIT_TRAILING_DECIMAL_POINT = 2, - EMIT_TRAILING_ZERO_AFTER_POINT = 4, - UNIQUE_ZERO = 8 - }; - - // Flags should be a bit-or combination of the possible Flags-enum. - // - NO_FLAGS: no special flags. - // - EMIT_POSITIVE_EXPONENT_SIGN: when the number is converted into exponent - // form, emits a '+' for positive exponents. Example: 1.2e+2. - // - EMIT_TRAILING_DECIMAL_POINT: when the input number is an integer and is - // converted into decimal format then a trailing decimal point is appended. - // Example: 2345.0 is converted to "2345.". - // - EMIT_TRAILING_ZERO_AFTER_POINT: in addition to a trailing decimal point - // emits a trailing '0'-character. This flag requires the - // EXMIT_TRAILING_DECIMAL_POINT flag. - // Example: 2345.0 is converted to "2345.0". - // - UNIQUE_ZERO: "-0.0" is converted to "0.0". - // - // Infinity symbol and nan_symbol provide the string representation for these - // special values. If the string is NULL and the special value is encountered - // then the conversion functions return false. - // - // The exponent_character is used in exponential representations. It is - // usually 'e' or 'E'. - // - // When converting to the shortest representation the converter will - // represent input numbers in decimal format if they are in the interval - // [10^decimal_in_shortest_low; 10^decimal_in_shortest_high[ - // (lower boundary included, greater boundary excluded). - // Example: with decimal_in_shortest_low = -6 and - // decimal_in_shortest_high = 21: - // ToShortest(0.000001) -> "0.000001" - // ToShortest(0.0000001) -> "1e-7" - // ToShortest(111111111111111111111.0) -> "111111111111111110000" - // ToShortest(100000000000000000000.0) -> "100000000000000000000" - // ToShortest(1111111111111111111111.0) -> "1.1111111111111111e+21" - // - // When converting to precision mode the converter may add - // max_leading_padding_zeroes before returning the number in exponential - // format. - // Example with max_leading_padding_zeroes_in_precision_mode = 6. - // ToPrecision(0.0000012345, 2) -> "0.0000012" - // ToPrecision(0.00000012345, 2) -> "1.2e-7" - // Similarily the converter may add up to - // max_trailing_padding_zeroes_in_precision_mode in precision mode to avoid - // returning an exponential representation. A zero added by the - // EMIT_TRAILING_ZERO_AFTER_POINT flag is counted for this limit. - // Examples for max_trailing_padding_zeroes_in_precision_mode = 1: - // ToPrecision(230.0, 2) -> "230" - // ToPrecision(230.0, 2) -> "230." with EMIT_TRAILING_DECIMAL_POINT. - // ToPrecision(230.0, 2) -> "2.3e2" with EMIT_TRAILING_ZERO_AFTER_POINT. - DoubleToStringConverter(int flags, - const char* infinity_symbol, - const char* nan_symbol, - char exponent_character, - int decimal_in_shortest_low, - int decimal_in_shortest_high, - int max_leading_padding_zeroes_in_precision_mode, - int max_trailing_padding_zeroes_in_precision_mode) - : flags_(flags), - infinity_symbol_(infinity_symbol), - nan_symbol_(nan_symbol), - exponent_character_(exponent_character), - decimal_in_shortest_low_(decimal_in_shortest_low), - decimal_in_shortest_high_(decimal_in_shortest_high), - max_leading_padding_zeroes_in_precision_mode_( - max_leading_padding_zeroes_in_precision_mode), - max_trailing_padding_zeroes_in_precision_mode_( - max_trailing_padding_zeroes_in_precision_mode) { - // When 'trailing zero after the point' is set, then 'trailing point' - // must be set too. - ASSERT(((flags & EMIT_TRAILING_DECIMAL_POINT) != 0) || - !((flags & EMIT_TRAILING_ZERO_AFTER_POINT) != 0)); - } - - // Returns a converter following the EcmaScript specification. - static const DoubleToStringConverter& EcmaScriptConverter(); - - // Computes the shortest string of digits that correctly represent the input - // number. Depending on decimal_in_shortest_low and decimal_in_shortest_high - // (see constructor) it then either returns a decimal representation, or an - // exponential representation. - // Example with decimal_in_shortest_low = -6, - // decimal_in_shortest_high = 21, - // EMIT_POSITIVE_EXPONENT_SIGN activated, and - // EMIT_TRAILING_DECIMAL_POINT deactived: - // ToShortest(0.000001) -> "0.000001" - // ToShortest(0.0000001) -> "1e-7" - // ToShortest(111111111111111111111.0) -> "111111111111111110000" - // ToShortest(100000000000000000000.0) -> "100000000000000000000" - // ToShortest(1111111111111111111111.0) -> "1.1111111111111111e+21" - // - // Note: the conversion may round the output if the returned string - // is accurate enough to uniquely identify the input-number. - // For example the most precise representation of the double 9e59 equals - // "899999999999999918767229449717619953810131273674690656206848", but - // the converter will return the shorter (but still correct) "9e59". - // - // Returns true if the conversion succeeds. The conversion always succeeds - // except when the input value is special and no infinity_symbol or - // nan_symbol has been given to the constructor. - bool ToShortest(double value, StringBuilder* result_builder) const { - return ToShortestIeeeNumber(value, result_builder, SHORTEST); - } - - // Same as ToShortest, but for single-precision floats. - bool ToShortestSingle(float value, StringBuilder* result_builder) const { - return ToShortestIeeeNumber(value, result_builder, SHORTEST_SINGLE); - } - - - // Computes a decimal representation with a fixed number of digits after the - // decimal point. The last emitted digit is rounded. - // - // Examples: - // ToFixed(3.12, 1) -> "3.1" - // ToFixed(3.1415, 3) -> "3.142" - // ToFixed(1234.56789, 4) -> "1234.5679" - // ToFixed(1.23, 5) -> "1.23000" - // ToFixed(0.1, 4) -> "0.1000" - // ToFixed(1e30, 2) -> "1000000000000000019884624838656.00" - // ToFixed(0.1, 30) -> "0.100000000000000005551115123126" - // ToFixed(0.1, 17) -> "0.10000000000000001" - // - // If requested_digits equals 0, then the tail of the result depends on - // the EMIT_TRAILING_DECIMAL_POINT and EMIT_TRAILING_ZERO_AFTER_POINT. - // Examples, for requested_digits == 0, - // let EMIT_TRAILING_DECIMAL_POINT and EMIT_TRAILING_ZERO_AFTER_POINT be - // - false and false: then 123.45 -> 123 - // 0.678 -> 1 - // - true and false: then 123.45 -> 123. - // 0.678 -> 1. - // - true and true: then 123.45 -> 123.0 - // 0.678 -> 1.0 - // - // Returns true if the conversion succeeds. The conversion always succeeds - // except for the following cases: - // - the input value is special and no infinity_symbol or nan_symbol has - // been provided to the constructor, - // - 'value' > 10^kMaxFixedDigitsBeforePoint, or - // - 'requested_digits' > kMaxFixedDigitsAfterPoint. - // The last two conditions imply that the result will never contain more than - // 1 + kMaxFixedDigitsBeforePoint + 1 + kMaxFixedDigitsAfterPoint characters - // (one additional character for the sign, and one for the decimal point). - bool ToFixed(double value, - int requested_digits, - StringBuilder* result_builder) const; - - // Computes a representation in exponential format with requested_digits - // after the decimal point. The last emitted digit is rounded. - // If requested_digits equals -1, then the shortest exponential representation - // is computed. - // - // Examples with EMIT_POSITIVE_EXPONENT_SIGN deactivated, and - // exponent_character set to 'e'. - // ToExponential(3.12, 1) -> "3.1e0" - // ToExponential(5.0, 3) -> "5.000e0" - // ToExponential(0.001, 2) -> "1.00e-3" - // ToExponential(3.1415, -1) -> "3.1415e0" - // ToExponential(3.1415, 4) -> "3.1415e0" - // ToExponential(3.1415, 3) -> "3.142e0" - // ToExponential(123456789000000, 3) -> "1.235e14" - // ToExponential(1000000000000000019884624838656.0, -1) -> "1e30" - // ToExponential(1000000000000000019884624838656.0, 32) -> - // "1.00000000000000001988462483865600e30" - // ToExponential(1234, 0) -> "1e3" - // - // Returns true if the conversion succeeds. The conversion always succeeds - // except for the following cases: - // - the input value is special and no infinity_symbol or nan_symbol has - // been provided to the constructor, - // - 'requested_digits' > kMaxExponentialDigits. - // The last condition implies that the result will never contain more than - // kMaxExponentialDigits + 8 characters (the sign, the digit before the - // decimal point, the decimal point, the exponent character, the - // exponent's sign, and at most 3 exponent digits). - bool ToExponential(double value, - int requested_digits, - StringBuilder* result_builder) const; - - // Computes 'precision' leading digits of the given 'value' and returns them - // either in exponential or decimal format, depending on - // max_{leading|trailing}_padding_zeroes_in_precision_mode (given to the - // constructor). - // The last computed digit is rounded. - // - // Example with max_leading_padding_zeroes_in_precision_mode = 6. - // ToPrecision(0.0000012345, 2) -> "0.0000012" - // ToPrecision(0.00000012345, 2) -> "1.2e-7" - // Similarily the converter may add up to - // max_trailing_padding_zeroes_in_precision_mode in precision mode to avoid - // returning an exponential representation. A zero added by the - // EMIT_TRAILING_ZERO_AFTER_POINT flag is counted for this limit. - // Examples for max_trailing_padding_zeroes_in_precision_mode = 1: - // ToPrecision(230.0, 2) -> "230" - // ToPrecision(230.0, 2) -> "230." with EMIT_TRAILING_DECIMAL_POINT. - // ToPrecision(230.0, 2) -> "2.3e2" with EMIT_TRAILING_ZERO_AFTER_POINT. - // Examples for max_trailing_padding_zeroes_in_precision_mode = 3, and no - // EMIT_TRAILING_ZERO_AFTER_POINT: - // ToPrecision(123450.0, 6) -> "123450" - // ToPrecision(123450.0, 5) -> "123450" - // ToPrecision(123450.0, 4) -> "123500" - // ToPrecision(123450.0, 3) -> "123000" - // ToPrecision(123450.0, 2) -> "1.2e5" - // - // Returns true if the conversion succeeds. The conversion always succeeds - // except for the following cases: - // - the input value is special and no infinity_symbol or nan_symbol has - // been provided to the constructor, - // - precision < kMinPericisionDigits - // - precision > kMaxPrecisionDigits - // The last condition implies that the result will never contain more than - // kMaxPrecisionDigits + 7 characters (the sign, the decimal point, the - // exponent character, the exponent's sign, and at most 3 exponent digits). - bool ToPrecision(double value, - int precision, - StringBuilder* result_builder) const; -#endif // not needed for ICU - - enum DtoaMode { - // Produce the shortest correct representation. - // For example the output of 0.299999999999999988897 is (the less accurate - // but correct) 0.3. - SHORTEST, - // Same as SHORTEST, but for single-precision floats. - SHORTEST_SINGLE, - // Produce a fixed number of digits after the decimal point. - // For instance fixed(0.1, 4) becomes 0.1000 - // If the input number is big, the output will be big. - FIXED, - // Fixed number of digits (independent of the decimal point). - PRECISION - }; - - // The maximal number of digits that are needed to emit a double in base 10. - // A higher precision can be achieved by using more digits, but the shortest - // accurate representation of any double will never use more digits than - // kBase10MaximalLength. - // Note that DoubleToAscii null-terminates its input. So the given buffer - // should be at least kBase10MaximalLength + 1 characters long. - static const int kBase10MaximalLength = 17; - - // Converts the given double 'v' to digit characters. 'v' must not be NaN, - // +Infinity, or -Infinity. In SHORTEST_SINGLE-mode this restriction also - // applies to 'v' after it has been casted to a single-precision float. That - // is, in this mode static_cast(v) must not be NaN, +Infinity or - // -Infinity. - // - // The result should be interpreted as buffer * 10^(point-length). - // - // The digits are written to the buffer in the platform's charset, which is - // often UTF-8 (with ASCII-range digits) but may be another charset, such - // as EBCDIC. - // - // The output depends on the given mode: - // - SHORTEST: produce the least amount of digits for which the internal - // identity requirement is still satisfied. If the digits are printed - // (together with the correct exponent) then reading this number will give - // 'v' again. The buffer will choose the representation that is closest to - // 'v'. If there are two at the same distance, than the one farther away - // from 0 is chosen (halfway cases - ending with 5 - are rounded up). - // In this mode the 'requested_digits' parameter is ignored. - // - SHORTEST_SINGLE: same as SHORTEST but with single-precision. - // - FIXED: produces digits necessary to print a given number with - // 'requested_digits' digits after the decimal point. The produced digits - // might be too short in which case the caller has to fill the remainder - // with '0's. - // Example: toFixed(0.001, 5) is allowed to return buffer="1", point=-2. - // Halfway cases are rounded towards +/-Infinity (away from 0). The call - // toFixed(0.15, 2) thus returns buffer="2", point=0. - // The returned buffer may contain digits that would be truncated from the - // shortest representation of the input. - // - PRECISION: produces 'requested_digits' where the first digit is not '0'. - // Even though the length of produced digits usually equals - // 'requested_digits', the function is allowed to return fewer digits, in - // which case the caller has to fill the missing digits with '0's. - // Halfway cases are again rounded away from 0. - // DoubleToAscii expects the given buffer to be big enough to hold all - // digits and a terminating null-character. In SHORTEST-mode it expects a - // buffer of at least kBase10MaximalLength + 1. In all other modes the - // requested_digits parameter and the padding-zeroes limit the size of the - // output. Don't forget the decimal point, the exponent character and the - // terminating null-character when computing the maximal output size. - // The given length is only used in debug mode to ensure the buffer is big - // enough. - // ICU PATCH: Export this as U_I18N_API for unit tests. - static void U_I18N_API DoubleToAscii(double v, - DtoaMode mode, - int requested_digits, - char* buffer, - int buffer_length, - bool* sign, - int* length, - int* point); - -#if 0 // not needed for ICU - private: - // Implementation for ToShortest and ToShortestSingle. - bool ToShortestIeeeNumber(double value, - StringBuilder* result_builder, - DtoaMode mode) const; - - // If the value is a special value (NaN or Infinity) constructs the - // corresponding string using the configured infinity/nan-symbol. - // If either of them is NULL or the value is not special then the - // function returns false. - bool HandleSpecialValues(double value, StringBuilder* result_builder) const; - // Constructs an exponential representation (i.e. 1.234e56). - // The given exponent assumes a decimal point after the first decimal digit. - void CreateExponentialRepresentation(const char* decimal_digits, - int length, - int exponent, - StringBuilder* result_builder) const; - // Creates a decimal representation (i.e 1234.5678). - void CreateDecimalRepresentation(const char* decimal_digits, - int length, - int decimal_point, - int digits_after_point, - StringBuilder* result_builder) const; - - const int flags_; - const char* const infinity_symbol_; - const char* const nan_symbol_; - const char exponent_character_; - const int decimal_in_shortest_low_; - const int decimal_in_shortest_high_; - const int max_leading_padding_zeroes_in_precision_mode_; - const int max_trailing_padding_zeroes_in_precision_mode_; -#endif // not needed for ICU - - DC_DISALLOW_IMPLICIT_CONSTRUCTORS(DoubleToStringConverter); -}; - - -class StringToDoubleConverter { - public: - // Enumeration for allowing octals and ignoring junk when converting - // strings to numbers. - enum Flags { - NO_FLAGS = 0, - ALLOW_HEX = 1, - ALLOW_OCTALS = 2, - ALLOW_TRAILING_JUNK = 4, - ALLOW_LEADING_SPACES = 8, - ALLOW_TRAILING_SPACES = 16, - ALLOW_SPACES_AFTER_SIGN = 32, - ALLOW_CASE_INSENSIBILITY = 64, - ALLOW_HEX_FLOATS = 128, - }; - - static const uc16 kNoSeparator = '\0'; - - // Flags should be a bit-or combination of the possible Flags-enum. - // - NO_FLAGS: no special flags. - // - ALLOW_HEX: recognizes the prefix "0x". Hex numbers may only be integers. - // Ex: StringToDouble("0x1234") -> 4660.0 - // In StringToDouble("0x1234.56") the characters ".56" are trailing - // junk. The result of the call is hence dependent on - // the ALLOW_TRAILING_JUNK flag and/or the junk value. - // With this flag "0x" is a junk-string. Even with ALLOW_TRAILING_JUNK, - // the string will not be parsed as "0" followed by junk. - // - // - ALLOW_OCTALS: recognizes the prefix "0" for octals: - // If a sequence of octal digits starts with '0', then the number is - // read as octal integer. Octal numbers may only be integers. - // Ex: StringToDouble("01234") -> 668.0 - // StringToDouble("012349") -> 12349.0 // Not a sequence of octal - // // digits. - // In StringToDouble("01234.56") the characters ".56" are trailing - // junk. The result of the call is hence dependent on - // the ALLOW_TRAILING_JUNK flag and/or the junk value. - // In StringToDouble("01234e56") the characters "e56" are trailing - // junk, too. - // - ALLOW_TRAILING_JUNK: ignore trailing characters that are not part of - // a double literal. - // - ALLOW_LEADING_SPACES: skip over leading whitespace, including spaces, - // new-lines, and tabs. - // - ALLOW_TRAILING_SPACES: ignore trailing whitespace. - // - ALLOW_SPACES_AFTER_SIGN: ignore whitespace after the sign. - // Ex: StringToDouble("- 123.2") -> -123.2. - // StringToDouble("+ 123.2") -> 123.2 - // - ALLOW_CASE_INSENSIBILITY: ignore case of characters for special values: - // infinity and nan. - // - ALLOW_HEX_FLOATS: allows hexadecimal float literals. - // This *must* start with "0x" and separate the exponent with "p". - // Examples: 0x1.2p3 == 9.0 - // 0x10.1p0 == 16.0625 - // ALLOW_HEX and ALLOW_HEX_FLOATS are indendent. - // - // empty_string_value is returned when an empty string is given as input. - // If ALLOW_LEADING_SPACES or ALLOW_TRAILING_SPACES are set, then a string - // containing only spaces is converted to the 'empty_string_value', too. - // - // junk_string_value is returned when - // a) ALLOW_TRAILING_JUNK is not set, and a junk character (a character not - // part of a double-literal) is found. - // b) ALLOW_TRAILING_JUNK is set, but the string does not start with a - // double literal. - // - // infinity_symbol and nan_symbol are strings that are used to detect - // inputs that represent infinity and NaN. They can be null, in which case - // they are ignored. - // The conversion routine first reads any possible signs. Then it compares the - // following character of the input-string with the first character of - // the infinity, and nan-symbol. If either matches, the function assumes, that - // a match has been found, and expects the following input characters to match - // the remaining characters of the special-value symbol. - // This means that the following restrictions apply to special-value symbols: - // - they must not start with signs ('+', or '-'), - // - they must not have the same first character. - // - they must not start with digits. - // - // If the separator character is not kNoSeparator, then that specific - // character is ignored when in between two valid digits of the significant. - // It is not allowed to appear in the exponent. - // It is not allowed to lead or trail the number. - // It is not allowed to appear twice next to each other. - // - // Examples: - // flags = ALLOW_HEX | ALLOW_TRAILING_JUNK, - // empty_string_value = 0.0, - // junk_string_value = NaN, - // infinity_symbol = "infinity", - // nan_symbol = "nan": - // StringToDouble("0x1234") -> 4660.0. - // StringToDouble("0x1234K") -> 4660.0. - // StringToDouble("") -> 0.0 // empty_string_value. - // StringToDouble(" ") -> NaN // junk_string_value. - // StringToDouble(" 1") -> NaN // junk_string_value. - // StringToDouble("0x") -> NaN // junk_string_value. - // StringToDouble("-123.45") -> -123.45. - // StringToDouble("--123.45") -> NaN // junk_string_value. - // StringToDouble("123e45") -> 123e45. - // StringToDouble("123E45") -> 123e45. - // StringToDouble("123e+45") -> 123e45. - // StringToDouble("123E-45") -> 123e-45. - // StringToDouble("123e") -> 123.0 // trailing junk ignored. - // StringToDouble("123e-") -> 123.0 // trailing junk ignored. - // StringToDouble("+NaN") -> NaN // NaN string literal. - // StringToDouble("-infinity") -> -inf. // infinity literal. - // StringToDouble("Infinity") -> NaN // junk_string_value. - // - // flags = ALLOW_OCTAL | ALLOW_LEADING_SPACES, - // empty_string_value = 0.0, - // junk_string_value = NaN, - // infinity_symbol = NULL, - // nan_symbol = NULL: - // StringToDouble("0x1234") -> NaN // junk_string_value. - // StringToDouble("01234") -> 668.0. - // StringToDouble("") -> 0.0 // empty_string_value. - // StringToDouble(" ") -> 0.0 // empty_string_value. - // StringToDouble(" 1") -> 1.0 - // StringToDouble("0x") -> NaN // junk_string_value. - // StringToDouble("0123e45") -> NaN // junk_string_value. - // StringToDouble("01239E45") -> 1239e45. - // StringToDouble("-infinity") -> NaN // junk_string_value. - // StringToDouble("NaN") -> NaN // junk_string_value. - // - // flags = NO_FLAGS, - // separator = ' ': - // StringToDouble("1 2 3 4") -> 1234.0 - // StringToDouble("1 2") -> NaN // junk_string_value - // StringToDouble("1 000 000.0") -> 1000000.0 - // StringToDouble("1.000 000") -> 1.0 - // StringToDouble("1.0e1 000") -> NaN // junk_string_value - StringToDoubleConverter(int flags, - double empty_string_value, - double junk_string_value, - const char* infinity_symbol, - const char* nan_symbol, - uc16 separator = kNoSeparator) - : flags_(flags), - empty_string_value_(empty_string_value), - junk_string_value_(junk_string_value), - infinity_symbol_(infinity_symbol), - nan_symbol_(nan_symbol), - separator_(separator) { - } - - // Performs the conversion. - // The output parameter 'processed_characters_count' is set to the number - // of characters that have been processed to read the number. - // Spaces than are processed with ALLOW_{LEADING|TRAILING}_SPACES are included - // in the 'processed_characters_count'. Trailing junk is never included. - double StringToDouble(const char* buffer, - int length, - int* processed_characters_count) const; - - // Same as StringToDouble above but for 16 bit characters. - double StringToDouble(const uc16* buffer, - int length, - int* processed_characters_count) const; - - // Same as StringToDouble but reads a float. - // Note that this is not equivalent to static_cast(StringToDouble(...)) - // due to potential double-rounding. - float StringToFloat(const char* buffer, - int length, - int* processed_characters_count) const; - - // Same as StringToFloat above but for 16 bit characters. - float StringToFloat(const uc16* buffer, - int length, - int* processed_characters_count) const; - - private: - const int flags_; - const double empty_string_value_; - const double junk_string_value_; - const char* const infinity_symbol_; - const char* const nan_symbol_; - const uc16 separator_; - - template - double StringToIeee(Iterator start_pointer, - int length, - bool read_as_double, - int* processed_characters_count) const; - - DC_DISALLOW_IMPLICIT_CONSTRUCTORS(StringToDoubleConverter); -}; - -} // namespace double_conversion - -// ICU PATCH: Close ICU namespace -U_NAMESPACE_END +#include "double-conversion-string-to-double.h" +#include "double-conversion-double-to-string.h" #endif // DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_ #endif // ICU PATCH: close #if !UCONFIG_NO_FORMATTING diff --git a/deps/icu-small/source/i18n/dtfmtsym.cpp b/deps/icu-small/source/i18n/dtfmtsym.cpp index 04aa01eb4c2459..9dde66c1fba419 100644 --- a/deps/icu-small/source/i18n/dtfmtsym.cpp +++ b/deps/icu-small/source/i18n/dtfmtsym.cpp @@ -1246,7 +1246,7 @@ const UnicodeString** DateFormatSymbols::getZoneStrings(int32_t& rowCount, int32_t& columnCount) const { const UnicodeString **result = NULL; - static UMutex LOCK = U_MUTEX_INITIALIZER; + static UMutex LOCK; umtx_lock(&LOCK); if (fZoneStrings == NULL) { @@ -2177,16 +2177,16 @@ DateFormatSymbols::initializeData(const Locale& locale, const char *type, UError // The ordering of the following statements is important. if (fLeapMonthPatterns[kLeapMonthPatternFormatAbbrev].isEmpty()) { fLeapMonthPatterns[kLeapMonthPatternFormatAbbrev].setTo(fLeapMonthPatterns[kLeapMonthPatternFormatWide]); - }; + } if (fLeapMonthPatterns[kLeapMonthPatternFormatNarrow].isEmpty()) { fLeapMonthPatterns[kLeapMonthPatternFormatNarrow].setTo(fLeapMonthPatterns[kLeapMonthPatternStandaloneNarrow]); - }; + } if (fLeapMonthPatterns[kLeapMonthPatternStandaloneWide].isEmpty()) { fLeapMonthPatterns[kLeapMonthPatternStandaloneWide].setTo(fLeapMonthPatterns[kLeapMonthPatternFormatWide]); - }; + } if (fLeapMonthPatterns[kLeapMonthPatternStandaloneAbbrev].isEmpty()) { fLeapMonthPatterns[kLeapMonthPatternStandaloneAbbrev].setTo(fLeapMonthPatterns[kLeapMonthPatternFormatAbbrev]); - }; + } // end of hack fLeapMonthPatternsCount = kMonthPatternsCount; } else { @@ -2338,11 +2338,21 @@ DateFormatSymbols::initializeData(const Locale& locale, const char *type, UError assignArray(fStandaloneNarrowMonths, fStandaloneNarrowMonthsCount, fShortMonths, fShortMonthsCount); } - // Load AM/PM markers + // Load AM/PM markers; if wide or narrow not available, use short + UErrorCode ampmStatus = U_ZERO_ERROR; initField(&fAmPms, fAmPmsCount, calendarSink, - buildResourcePath(path, gAmPmMarkersTag, status), status); + buildResourcePath(path, gAmPmMarkersTag, ampmStatus), ampmStatus); + if (U_FAILURE(ampmStatus)) { + initField(&fAmPms, fAmPmsCount, calendarSink, + buildResourcePath(path, gAmPmMarkersAbbrTag, status), status); + } + ampmStatus = U_ZERO_ERROR; initField(&fNarrowAmPms, fNarrowAmPmsCount, calendarSink, - buildResourcePath(path, gAmPmMarkersNarrowTag, status), status); + buildResourcePath(path, gAmPmMarkersNarrowTag, ampmStatus), ampmStatus); + if (U_FAILURE(ampmStatus)) { + initField(&fNarrowAmPms, fNarrowAmPmsCount, calendarSink, + buildResourcePath(path, gAmPmMarkersAbbrTag, status), status); + } // Load quarters initField(&fQuarters, fQuartersCount, calendarSink, diff --git a/deps/icu-small/source/i18n/dtitv_impl.h b/deps/icu-small/source/i18n/dtitv_impl.h index 18fe0b8c9b527d..7c4d8a72148919 100644 --- a/deps/icu-small/source/i18n/dtitv_impl.h +++ b/deps/icu-small/source/i18n/dtitv_impl.h @@ -88,7 +88,7 @@ #define MAX_E_COUNT 5 #define MAX_M_COUNT 5 //#define MAX_INTERVAL_INDEX 4 -#define MAX_POSITIVE_INT 56632; +#define MAX_POSITIVE_INT 56632 #endif /* #if !UCONFIG_NO_FORMATTING */ diff --git a/deps/icu-small/source/i18n/dtitvfmt.cpp b/deps/icu-small/source/i18n/dtitvfmt.cpp index 0e124f5624002b..f47e7708ccc128 100644 --- a/deps/icu-small/source/i18n/dtitvfmt.cpp +++ b/deps/icu-small/source/i18n/dtitvfmt.cpp @@ -82,10 +82,7 @@ UOBJECT_DEFINE_RTTI_IMPLEMENTATION(DateIntervalFormat) // Mutex, protects access to fDateFormat, fFromCalendar and fToCalendar. // Needed because these data members are modified by const methods of DateIntervalFormat. -static UMutex *gFormatterMutex() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex gFormatterMutex; DateIntervalFormat* U_EXPORT2 DateIntervalFormat::createInstance(const UnicodeString& skeleton, @@ -171,9 +168,9 @@ DateIntervalFormat::operator=(const DateIntervalFormat& itvfmt) { delete fTimePattern; delete fDateTimeFormat; { - Mutex lock(gFormatterMutex()); + Mutex lock(&gFormatterMutex); if ( itvfmt.fDateFormat ) { - fDateFormat = (SimpleDateFormat*)itvfmt.fDateFormat->clone(); + fDateFormat = itvfmt.fDateFormat->clone(); } else { fDateFormat = NULL; } @@ -199,9 +196,9 @@ DateIntervalFormat::operator=(const DateIntervalFormat& itvfmt) { fIntervalPatterns[i] = itvfmt.fIntervalPatterns[i]; } fLocale = itvfmt.fLocale; - fDatePattern = (itvfmt.fDatePattern)? (UnicodeString*)itvfmt.fDatePattern->clone(): NULL; - fTimePattern = (itvfmt.fTimePattern)? (UnicodeString*)itvfmt.fTimePattern->clone(): NULL; - fDateTimeFormat = (itvfmt.fDateTimeFormat)? (UnicodeString*)itvfmt.fDateTimeFormat->clone(): NULL; + fDatePattern = (itvfmt.fDatePattern)? itvfmt.fDatePattern->clone(): NULL; + fTimePattern = (itvfmt.fTimePattern)? itvfmt.fTimePattern->clone(): NULL; + fDateTimeFormat = (itvfmt.fDateTimeFormat)? itvfmt.fDateTimeFormat->clone(): NULL; } return *this; } @@ -218,8 +215,8 @@ DateIntervalFormat::~DateIntervalFormat() { } -Format* -DateIntervalFormat::clone(void) const { +DateIntervalFormat* +DateIntervalFormat::clone() const { return new DateIntervalFormat(*this); } @@ -233,7 +230,7 @@ DateIntervalFormat::operator==(const Format& other) const { if ((fInfo != fmt->fInfo) && (fInfo == NULL || fmt->fInfo == NULL)) {return FALSE;} if (fInfo && fmt->fInfo && (*fInfo != *fmt->fInfo )) {return FALSE;} { - Mutex lock(gFormatterMutex()); + Mutex lock(&gFormatterMutex); if (fDateFormat != fmt->fDateFormat && (fDateFormat == NULL || fmt->fDateFormat == NULL)) {return FALSE;} if (fDateFormat && fmt->fDateFormat && (*fDateFormat != *fmt->fDateFormat)) {return FALSE;} } @@ -295,7 +292,7 @@ DateIntervalFormat::format(const DateInterval* dtInterval, handler.setAcceptFirstOnly(TRUE); int8_t ignore; - Mutex lock(gFormatterMutex()); + Mutex lock(&gFormatterMutex); return formatIntervalImpl(*dtInterval, appendTo, ignore, handler, status); } @@ -312,7 +309,7 @@ FormattedDateInterval DateIntervalFormat::formatToValue( auto handler = result->getHandler(status); handler.setCategory(UFIELD_CATEGORY_DATE); { - Mutex lock(gFormatterMutex()); + Mutex lock(&gFormatterMutex); formatIntervalImpl(dtInterval, string, firstIndex, handler, status); } handler.getError(status); @@ -344,7 +341,7 @@ DateIntervalFormat::format(Calendar& fromCalendar, handler.setAcceptFirstOnly(TRUE); int8_t ignore; - Mutex lock(gFormatterMutex()); + Mutex lock(&gFormatterMutex); return formatImpl(fromCalendar, toCalendar, appendTo, ignore, handler, status); } @@ -362,7 +359,7 @@ FormattedDateInterval DateIntervalFormat::formatToValue( auto handler = result->getHandler(status); handler.setCategory(UFIELD_CATEGORY_DATE); { - Mutex lock(gFormatterMutex()); + Mutex lock(&gFormatterMutex); formatImpl(fromCalendar, toCalendar, string, firstIndex, handler, status); } handler.getError(status); @@ -600,7 +597,7 @@ const TimeZone& DateIntervalFormat::getTimeZone() const { if (fDateFormat != NULL) { - Mutex lock(gFormatterMutex()); + Mutex lock(&gFormatterMutex); return fDateFormat->getTimeZone(); } // If fDateFormat is NULL (unexpected), create default timezone. diff --git a/deps/icu-small/source/i18n/dtitvinf.cpp b/deps/icu-small/source/i18n/dtitvinf.cpp index c0a6980e5567bc..35ee8c16261934 100644 --- a/deps/icu-small/source/i18n/dtitvinf.cpp +++ b/deps/icu-small/source/i18n/dtitvinf.cpp @@ -42,7 +42,9 @@ U_NAMESPACE_BEGIN #ifdef DTITVINF_DEBUG -#define PRINTMESG(msg) { std::cout << "(" << __FILE__ << ":" << __LINE__ << ") " << msg << "\n"; } +#define PRINTMESG(msg) UPRV_BLOCK_MACRO_BEGIN { \ + std::cout << "(" << __FILE__ << ":" << __LINE__ << ") " << msg << "\n"; \ +} UPRV_BLOCK_MACRO_END #endif UOBJECT_DEFINE_RTTI_IMPLEMENTATION(DateIntervalInfo) diff --git a/deps/icu-small/source/i18n/dtptngen.cpp b/deps/icu-small/source/i18n/dtptngen.cpp index 9ca29a3cc7e608..50a377259aa80e 100644 --- a/deps/icu-small/source/i18n/dtptngen.cpp +++ b/deps/icu-small/source/i18n/dtptngen.cpp @@ -28,6 +28,7 @@ #include "unicode/ures.h" #include "unicode/ustring.h" #include "unicode/rep.h" +#include "unicode/region.h" #include "cpputils.h" #include "mutex.h" #include "umutex.h" @@ -613,29 +614,56 @@ U_CFUNC void U_CALLCONV DateTimePatternGenerator::loadAllowedHourFormatsData(UEr ures_getAllItemsWithFallback(rb.getAlias(), "timeData", sink, status); } -void DateTimePatternGenerator::getAllowedHourFormats(const Locale &locale, UErrorCode &status) { - if (U_FAILURE(status)) { return; } - Locale maxLocale(locale); - maxLocale.addLikelySubtags(status); - if (U_FAILURE(status)) { - return; - } - - const char *country = maxLocale.getCountry(); - if (*country == '\0') { country = "001"; } - const char *language = maxLocale.getLanguage(); - +static int32_t* getAllowedHourFormatsLangCountry(const char* language, const char* country, UErrorCode& status) { CharString langCountry; - langCountry.append(language, static_cast(uprv_strlen(language)), status); + langCountry.append(language, status); langCountry.append('_', status); - langCountry.append(country, static_cast(uprv_strlen(country)), status); + langCountry.append(country, status); - int32_t *allowedFormats; + int32_t* allowedFormats; allowedFormats = (int32_t *)uhash_get(localeToAllowedHourFormatsMap, langCountry.data()); if (allowedFormats == nullptr) { allowedFormats = (int32_t *)uhash_get(localeToAllowedHourFormatsMap, const_cast(country)); } + return allowedFormats; +} + +void DateTimePatternGenerator::getAllowedHourFormats(const Locale &locale, UErrorCode &status) { + if (U_FAILURE(status)) { return; } + + const char *language = locale.getLanguage(); + const char *country = locale.getCountry(); + Locale maxLocale; // must be here for correct lifetime + if (*language == '\0' || *country == '\0') { + maxLocale = locale; + UErrorCode localStatus = U_ZERO_ERROR; + maxLocale.addLikelySubtags(localStatus); + if (U_SUCCESS(localStatus)) { + language = maxLocale.getLanguage(); + country = maxLocale.getCountry(); + } + } + if (*language == '\0') { + // Unexpected, but fail gracefully + language = "und"; + } + if (*country == '\0') { + country = "001"; + } + + int32_t* allowedFormats = getAllowedHourFormatsLangCountry(language, country, status); + + // Check if the region has an alias + if (allowedFormats == nullptr) { + UErrorCode localStatus = U_ZERO_ERROR; + const Region* region = Region::getInstance(country, localStatus); + if (U_SUCCESS(localStatus)) { + country = region->getRegionCode(); // the real region code + allowedFormats = getAllowedHourFormatsLangCountry(language, country, status); + } + } + if (allowedFormats != nullptr) { // Lookup is successful // Here allowedFormats points to a list consisting of key for preferredFormat, // followed by one or more keys for allowedFormats, then followed by ALLOWED_HOUR_FORMAT_UNKNOWN. @@ -787,6 +815,7 @@ void DateTimePatternGenerator::getCalendarTypeToUse(const Locale& locale, CharString& destination, UErrorCode& err) { destination.clear().append(DT_DateTimeGregorianTag, -1, err); // initial default if ( U_SUCCESS(err) ) { + UErrorCode localStatus = U_ZERO_ERROR; char localeWithCalendarKey[ULOC_LOCALE_IDENTIFIER_CAPACITY]; // obtain a locale that always has the calendar key value that should be used ures_getFunctionalEquivalent( @@ -798,8 +827,7 @@ DateTimePatternGenerator::getCalendarTypeToUse(const Locale& locale, CharString& locale.getName(), nullptr, FALSE, - &err); - if (U_FAILURE(err)) { return; } + &localStatus); localeWithCalendarKey[ULOC_LOCALE_IDENTIFIER_CAPACITY-1] = 0; // ensure null termination // now get the calendar key value from that locale char calendarType[ULOC_KEYWORDS_CAPACITY]; @@ -808,13 +836,17 @@ DateTimePatternGenerator::getCalendarTypeToUse(const Locale& locale, CharString& "calendar", calendarType, ULOC_KEYWORDS_CAPACITY, - &err); - if (U_FAILURE(err)) { return; } + &localStatus); + // If the input locale was invalid, don't fail with missing resource error, instead + // continue with default of Gregorian. + if (U_FAILURE(localStatus) && localStatus != U_MISSING_RESOURCE_ERROR) { + err = localStatus; + return; + } if (calendarTypeLen < ULOC_KEYWORDS_CAPACITY) { destination.clear().append(calendarType, -1, err); if (U_FAILURE(err)) { return; } } - err = U_ZERO_ERROR; } } @@ -2543,7 +2575,8 @@ UChar SkeletonFields::getFirstChar() const { } -PtnSkeleton::PtnSkeleton() { +PtnSkeleton::PtnSkeleton() + : addedDefaultDayPeriod(FALSE) { } PtnSkeleton::PtnSkeleton(const PtnSkeleton& other) { @@ -2554,6 +2587,7 @@ void PtnSkeleton::copyFrom(const PtnSkeleton& other) { uprv_memcpy(type, other.type, sizeof(type)); original.copyFrom(other.original); baseOriginal.copyFrom(other.baseOriginal); + addedDefaultDayPeriod = other.addedDefaultDayPeriod; } void PtnSkeleton::clear() { diff --git a/deps/icu-small/source/i18n/esctrn.cpp b/deps/icu-small/source/i18n/esctrn.cpp index 900bed7e45734b..ba0e4c2c7bb618 100644 --- a/deps/icu-small/source/i18n/esctrn.cpp +++ b/deps/icu-small/source/i18n/esctrn.cpp @@ -122,7 +122,7 @@ EscapeTransliterator::~EscapeTransliterator() { /** * Transliterator API. */ -Transliterator* EscapeTransliterator::clone() const { +EscapeTransliterator* EscapeTransliterator::clone() const { return new EscapeTransliterator(*this); } diff --git a/deps/icu-small/source/i18n/esctrn.h b/deps/icu-small/source/i18n/esctrn.h index 60ecc74b498456..2a2c6dcfe9af10 100644 --- a/deps/icu-small/source/i18n/esctrn.h +++ b/deps/icu-small/source/i18n/esctrn.h @@ -115,7 +115,7 @@ class EscapeTransliterator : public Transliterator { /** * Transliterator API. */ - virtual Transliterator* clone() const; + virtual EscapeTransliterator* clone() const; /** * ICU "poor man's RTTI", returns a UClassID for the actual class. diff --git a/deps/icu-small/source/i18n/ethpccal.cpp b/deps/icu-small/source/i18n/ethpccal.cpp index 4377c59b325a1b..0b8ad0e81488c3 100644 --- a/deps/icu-small/source/i18n/ethpccal.cpp +++ b/deps/icu-small/source/i18n/ethpccal.cpp @@ -46,7 +46,7 @@ EthiopicCalendar::~EthiopicCalendar() { } -Calendar* +EthiopicCalendar* EthiopicCalendar::clone() const { return new EthiopicCalendar(*this); diff --git a/deps/icu-small/source/i18n/ethpccal.h b/deps/icu-small/source/i18n/ethpccal.h index 5fae2fb1bea2c7..179a20e85302fb 100644 --- a/deps/icu-small/source/i18n/ethpccal.h +++ b/deps/icu-small/source/i18n/ethpccal.h @@ -141,7 +141,7 @@ class EthiopicCalendar : public CECalendar { * @return return a polymorphic copy of this calendar. * @internal */ - virtual Calendar* clone() const; + virtual EthiopicCalendar* clone() const; /** * return the calendar type, "ethiopic" diff --git a/deps/icu-small/source/i18n/fmtable.cpp b/deps/icu-small/source/i18n/fmtable.cpp index 9baa5ff480db6a..10a6fdb0ff3441 100644 --- a/deps/icu-small/source/i18n/fmtable.cpp +++ b/deps/icu-small/source/i18n/fmtable.cpp @@ -736,7 +736,7 @@ CharString *Formattable::internalGetCharString(UErrorCode &status) { fDecimalStr->append("Infinity", status); } else if (fDecimalQuantity->isNaN()) { fDecimalStr->append("NaN", status); - } else if (fDecimalQuantity->isZero()) { + } else if (fDecimalQuantity->isZeroish()) { fDecimalStr->append("0", -1, status); } else if (fType==kLong || fType==kInt64 || // use toPlainString for integer types (fDecimalQuantity->getMagnitude() != INT32_MIN && std::abs(fDecimalQuantity->getMagnitude()) < 5)) { diff --git a/deps/icu-small/source/i18n/number_stringbuilder.cpp b/deps/icu-small/source/i18n/formatted_string_builder.cpp similarity index 58% rename from deps/icu-small/source/i18n/number_stringbuilder.cpp rename to deps/icu-small/source/i18n/formatted_string_builder.cpp index 03300b33ac5e21..3024bff6addacc 100644 --- a/deps/icu-small/source/i18n/number_stringbuilder.cpp +++ b/deps/icu-small/source/i18n/formatted_string_builder.cpp @@ -5,14 +5,9 @@ #if !UCONFIG_NO_FORMATTING -#include "number_stringbuilder.h" -#include "static_unicode_sets.h" +#include "formatted_string_builder.h" +#include "unicode/ustring.h" #include "unicode/utf16.h" -#include "number_utils.h" - -using namespace icu; -using namespace icu::number; -using namespace icu::number::impl; namespace { @@ -34,7 +29,10 @@ inline void uprv_memmove2(void* dest, const void* src, size_t len) { } // namespace -NumberStringBuilder::NumberStringBuilder() { + +U_NAMESPACE_BEGIN + +FormattedStringBuilder::FormattedStringBuilder() { #if U_DEBUG // Initializing the memory to non-zero helps catch some bugs that involve // reading from an improperly terminated string. @@ -44,18 +42,18 @@ NumberStringBuilder::NumberStringBuilder() { #endif } -NumberStringBuilder::~NumberStringBuilder() { +FormattedStringBuilder::~FormattedStringBuilder() { if (fUsingHeap) { uprv_free(fChars.heap.ptr); uprv_free(fFields.heap.ptr); } } -NumberStringBuilder::NumberStringBuilder(const NumberStringBuilder &other) { +FormattedStringBuilder::FormattedStringBuilder(const FormattedStringBuilder &other) { *this = other; } -NumberStringBuilder &NumberStringBuilder::operator=(const NumberStringBuilder &other) { +FormattedStringBuilder &FormattedStringBuilder::operator=(const FormattedStringBuilder &other) { // Check for self-assignment if (this == &other) { return *this; @@ -78,7 +76,7 @@ NumberStringBuilder &NumberStringBuilder::operator=(const NumberStringBuilder &o // UErrorCode is not available; fail silently. uprv_free(newChars); uprv_free(newFields); - *this = NumberStringBuilder(); // can't fail + *this = FormattedStringBuilder(); // can't fail return *this; } @@ -97,15 +95,15 @@ NumberStringBuilder &NumberStringBuilder::operator=(const NumberStringBuilder &o return *this; } -int32_t NumberStringBuilder::length() const { +int32_t FormattedStringBuilder::length() const { return fLength; } -int32_t NumberStringBuilder::codePointCount() const { +int32_t FormattedStringBuilder::codePointCount() const { return u_countChar32(getCharPtr() + fZero, fLength); } -UChar32 NumberStringBuilder::getFirstCodePoint() const { +UChar32 FormattedStringBuilder::getFirstCodePoint() const { if (fLength == 0) { return -1; } @@ -114,7 +112,7 @@ UChar32 NumberStringBuilder::getFirstCodePoint() const { return cp; } -UChar32 NumberStringBuilder::getLastCodePoint() const { +UChar32 FormattedStringBuilder::getLastCodePoint() const { if (fLength == 0) { return -1; } @@ -125,13 +123,13 @@ UChar32 NumberStringBuilder::getLastCodePoint() const { return cp; } -UChar32 NumberStringBuilder::codePointAt(int32_t index) const { +UChar32 FormattedStringBuilder::codePointAt(int32_t index) const { UChar32 cp; U16_GET(getCharPtr() + fZero, 0, index, fLength, cp); return cp; } -UChar32 NumberStringBuilder::codePointBefore(int32_t index) const { +UChar32 FormattedStringBuilder::codePointBefore(int32_t index) const { int32_t offset = index; U16_BACK_1(getCharPtr() + fZero, 0, offset); UChar32 cp; @@ -139,19 +137,15 @@ UChar32 NumberStringBuilder::codePointBefore(int32_t index) const { return cp; } -NumberStringBuilder &NumberStringBuilder::clear() { +FormattedStringBuilder &FormattedStringBuilder::clear() { // TODO: Reset the heap here? fZero = getCapacity() / 2; fLength = 0; return *this; } -int32_t NumberStringBuilder::appendCodePoint(UChar32 codePoint, Field field, UErrorCode &status) { - return insertCodePoint(fLength, codePoint, field, status); -} - int32_t -NumberStringBuilder::insertCodePoint(int32_t index, UChar32 codePoint, Field field, UErrorCode &status) { +FormattedStringBuilder::insertCodePoint(int32_t index, UChar32 codePoint, Field field, UErrorCode &status) { int32_t count = U16_LENGTH(codePoint); int32_t position = prepareForInsert(index, count, status); if (U_FAILURE(status)) { @@ -168,11 +162,7 @@ NumberStringBuilder::insertCodePoint(int32_t index, UChar32 codePoint, Field fie return count; } -int32_t NumberStringBuilder::append(const UnicodeString &unistr, Field field, UErrorCode &status) { - return insert(fLength, unistr, field, status); -} - -int32_t NumberStringBuilder::insert(int32_t index, const UnicodeString &unistr, Field field, +int32_t FormattedStringBuilder::insert(int32_t index, const UnicodeString &unistr, Field field, UErrorCode &status) { if (unistr.length() == 0) { // Nothing to insert. @@ -186,7 +176,7 @@ int32_t NumberStringBuilder::insert(int32_t index, const UnicodeString &unistr, } int32_t -NumberStringBuilder::insert(int32_t index, const UnicodeString &unistr, int32_t start, int32_t end, +FormattedStringBuilder::insert(int32_t index, const UnicodeString &unistr, int32_t start, int32_t end, Field field, UErrorCode &status) { int32_t count = end - start; int32_t position = prepareForInsert(index, count, status); @@ -201,7 +191,7 @@ NumberStringBuilder::insert(int32_t index, const UnicodeString &unistr, int32_t } int32_t -NumberStringBuilder::splice(int32_t startThis, int32_t endThis, const UnicodeString &unistr, +FormattedStringBuilder::splice(int32_t startThis, int32_t endThis, const UnicodeString &unistr, int32_t startOther, int32_t endOther, Field field, UErrorCode& status) { int32_t thisLength = endThis - startThis; int32_t otherLength = endOther - startOther; @@ -224,12 +214,12 @@ NumberStringBuilder::splice(int32_t startThis, int32_t endThis, const UnicodeSt return count; } -int32_t NumberStringBuilder::append(const NumberStringBuilder &other, UErrorCode &status) { +int32_t FormattedStringBuilder::append(const FormattedStringBuilder &other, UErrorCode &status) { return insert(fLength, other, status); } int32_t -NumberStringBuilder::insert(int32_t index, const NumberStringBuilder &other, UErrorCode &status) { +FormattedStringBuilder::insert(int32_t index, const FormattedStringBuilder &other, UErrorCode &status) { if (this == &other) { status = U_ILLEGAL_ARGUMENT_ERROR; return 0; @@ -250,7 +240,7 @@ NumberStringBuilder::insert(int32_t index, const NumberStringBuilder &other, UEr return count; } -void NumberStringBuilder::writeTerminator(UErrorCode& status) { +void FormattedStringBuilder::writeTerminator(UErrorCode& status) { int32_t position = prepareForInsert(fLength, 1, status); if (U_FAILURE(status)) { return; @@ -260,7 +250,7 @@ void NumberStringBuilder::writeTerminator(UErrorCode& status) { fLength--; } -int32_t NumberStringBuilder::prepareForInsert(int32_t index, int32_t count, UErrorCode &status) { +int32_t FormattedStringBuilder::prepareForInsert(int32_t index, int32_t count, UErrorCode &status) { U_ASSERT(index >= 0); U_ASSERT(index <= fLength); U_ASSERT(count >= 0); @@ -279,7 +269,7 @@ int32_t NumberStringBuilder::prepareForInsert(int32_t index, int32_t count, UErr } } -int32_t NumberStringBuilder::prepareForInsertHelper(int32_t index, int32_t count, UErrorCode &status) { +int32_t FormattedStringBuilder::prepareForInsertHelper(int32_t index, int32_t count, UErrorCode &status) { int32_t oldCapacity = getCapacity(); int32_t oldZero = fZero; char16_t *oldChars = getCharPtr(); @@ -342,7 +332,7 @@ int32_t NumberStringBuilder::prepareForInsertHelper(int32_t index, int32_t count return fZero + index; } -int32_t NumberStringBuilder::remove(int32_t index, int32_t count) { +int32_t FormattedStringBuilder::remove(int32_t index, int32_t count) { // TODO: Reset the heap here? (If the string after removal can fit on stack?) int32_t position = index + fZero; uprv_memmove2(getCharPtr() + position, @@ -355,18 +345,18 @@ int32_t NumberStringBuilder::remove(int32_t index, int32_t count) { return position; } -UnicodeString NumberStringBuilder::toUnicodeString() const { +UnicodeString FormattedStringBuilder::toUnicodeString() const { return UnicodeString(getCharPtr() + fZero, fLength); } -const UnicodeString NumberStringBuilder::toTempUnicodeString() const { +const UnicodeString FormattedStringBuilder::toTempUnicodeString() const { // Readonly-alias constructor: return UnicodeString(FALSE, getCharPtr() + fZero, fLength); } -UnicodeString NumberStringBuilder::toDebugString() const { +UnicodeString FormattedStringBuilder::toDebugString() const { UnicodeString sb; - sb.append(u"= UNUM_FIELD_COUNT) { - status = U_ILLEGAL_ARGUMENT_ERROR; - return FALSE; - } - - ConstrainedFieldPosition cfpos; - cfpos.constrainField(UFIELD_CATEGORY_NUMBER, rawField); - cfpos.setState(UFIELD_CATEGORY_NUMBER, rawField, fp.getBeginIndex(), fp.getEndIndex()); - if (nextPosition(cfpos, 0, status)) { - fp.setBeginIndex(cfpos.getStart()); - fp.setEndIndex(cfpos.getLimit()); - return true; - } - - // Special case: fraction should start after integer if fraction is not present - if (rawField == UNUM_FRACTION_FIELD && fp.getEndIndex() == 0) { - bool inside = false; - int32_t i = fZero; - for (; i < fZero + fLength; i++) { - if (isIntOrGroup(getFieldPtr()[i]) || getFieldPtr()[i] == UNUM_DECIMAL_SEPARATOR_FIELD) { - inside = true; - } else if (inside) { - break; - } - } - fp.setBeginIndex(i - fZero); - fp.setEndIndex(i - fZero); - } - - return false; -} - -void NumberStringBuilder::getAllFieldPositions(FieldPositionIteratorHandler& fpih, - UErrorCode& status) const { - ConstrainedFieldPosition cfpos; - while (nextPosition(cfpos, 0, status)) { - fpih.addAttribute(cfpos.getField(), cfpos.getStart(), cfpos.getLimit()); - } -} - -// Signal the end of the string using a field that doesn't exist and that is -// different from UNUM_FIELD_COUNT, which is used for "null number field". -static constexpr Field kEndField = 0xff; - -bool NumberStringBuilder::nextPosition(ConstrainedFieldPosition& cfpos, Field numericField, UErrorCode& /*status*/) const { - auto numericCAF = NumFieldUtils::expand(numericField); - int32_t fieldStart = -1; - Field currField = UNUM_FIELD_COUNT; - for (int32_t i = fZero + cfpos.getLimit(); i <= fZero + fLength; i++) { - Field _field = (i < fZero + fLength) ? getFieldPtr()[i] : kEndField; - // Case 1: currently scanning a field. - if (currField != UNUM_FIELD_COUNT) { - if (currField != _field) { - int32_t end = i - fZero; - // Grouping separators can be whitespace; don't throw them out! - if (currField != UNUM_GROUPING_SEPARATOR_FIELD) { - end = trimBack(i - fZero); - } - if (end <= fieldStart) { - // Entire field position is ignorable; skip. - fieldStart = -1; - currField = UNUM_FIELD_COUNT; - i--; // look at this index again - continue; - } - int32_t start = fieldStart; - if (currField != UNUM_GROUPING_SEPARATOR_FIELD) { - start = trimFront(start); - } - auto caf = NumFieldUtils::expand(currField); - cfpos.setState(caf.category, caf.field, start, end); - return true; - } - continue; - } - // Special case: coalesce the INTEGER if we are pointing at the end of the INTEGER. - if (cfpos.matchesField(UFIELD_CATEGORY_NUMBER, UNUM_INTEGER_FIELD) - && i > fZero - // don't return the same field twice in a row: - && i - fZero > cfpos.getLimit() - && isIntOrGroup(getFieldPtr()[i - 1]) - && !isIntOrGroup(_field)) { - int j = i - 1; - for (; j >= fZero && isIntOrGroup(getFieldPtr()[j]); j--) {} - cfpos.setState(UFIELD_CATEGORY_NUMBER, UNUM_INTEGER_FIELD, j - fZero + 1, i - fZero); - return true; - } - // Special case: coalesce NUMERIC if we are pointing at the end of the NUMERIC. - if (numericField != 0 - && cfpos.matchesField(numericCAF.category, numericCAF.field) - && i > fZero - // don't return the same field twice in a row: - && (i - fZero > cfpos.getLimit() - || cfpos.getCategory() != numericCAF.category - || cfpos.getField() != numericCAF.field) - && isNumericField(getFieldPtr()[i - 1]) - && !isNumericField(_field)) { - int j = i - 1; - for (; j >= fZero && isNumericField(getFieldPtr()[j]); j--) {} - cfpos.setState(numericCAF.category, numericCAF.field, j - fZero + 1, i - fZero); - return true; - } - // Special case: skip over INTEGER; will be coalesced later. - if (_field == UNUM_INTEGER_FIELD) { - _field = UNUM_FIELD_COUNT; - } - // Case 2: no field starting at this position. - if (_field == UNUM_FIELD_COUNT || _field == kEndField) { - continue; - } - // Case 3: check for field starting at this position - auto caf = NumFieldUtils::expand(_field); - if (cfpos.matchesField(caf.category, caf.field)) { - fieldStart = i - fZero; - currField = _field; - } - } - - U_ASSERT(currField == UNUM_FIELD_COUNT); - return false; -} - -bool NumberStringBuilder::containsField(Field field) const { +bool FormattedStringBuilder::containsField(Field field) const { for (int32_t i = 0; i < fLength; i++) { if (field == fieldAt(i)) { return true; @@ -573,27 +434,6 @@ bool NumberStringBuilder::containsField(Field field) const { return false; } -bool NumberStringBuilder::isIntOrGroup(Field field) { - return field == UNUM_INTEGER_FIELD - || field == UNUM_GROUPING_SEPARATOR_FIELD; -} - -bool NumberStringBuilder::isNumericField(Field field) { - return NumFieldUtils::isNumericField(field); -} - -int32_t NumberStringBuilder::trimBack(int32_t limit) const { - return unisets::get(unisets::DEFAULT_IGNORABLES)->spanBack( - getCharPtr() + fZero, - limit, - USET_SPAN_CONTAINED); -} - -int32_t NumberStringBuilder::trimFront(int32_t start) const { - return start + unisets::get(unisets::DEFAULT_IGNORABLES)->span( - getCharPtr() + fZero + start, - fLength - start, - USET_SPAN_CONTAINED); -} +U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ diff --git a/deps/icu-small/source/i18n/formatted_string_builder.h b/deps/icu-small/source/i18n/formatted_string_builder.h new file mode 100644 index 00000000000000..2949ae73e0ff9e --- /dev/null +++ b/deps/icu-small/source/i18n/formatted_string_builder.h @@ -0,0 +1,253 @@ +// © 2017 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html + +#include "unicode/utypes.h" + +#if !UCONFIG_NO_FORMATTING +#ifndef __NUMBER_STRINGBUILDER_H__ +#define __NUMBER_STRINGBUILDER_H__ + + +#include +#include "unicode/unum.h" // for UNUM_FIELD_COUNT +#include "cstring.h" +#include "uassert.h" +#include "fphdlimp.h" + +U_NAMESPACE_BEGIN + +class FormattedValueStringBuilderImpl; + +/** + * A StringBuilder optimized for formatting. It implements the following key + * features beyond a UnicodeString: + * + *
    + *
  1. Efficient prepend as well as append. + *
  2. Keeps tracks of Fields in an efficient manner. + *
+ * + * See also FormattedValueStringBuilderImpl. + * + * @author sffc (Shane Carr) + */ +class U_I18N_API FormattedStringBuilder : public UMemory { + private: + static const int32_t DEFAULT_CAPACITY = 40; + + template + union ValueOrHeapArray { + T value[DEFAULT_CAPACITY]; + struct { + T *ptr; + int32_t capacity; + } heap; + }; + + public: + FormattedStringBuilder(); + + ~FormattedStringBuilder(); + + FormattedStringBuilder(const FormattedStringBuilder &other); + + // Convention: bottom 4 bits for field, top 4 bits for field category. + // Field category 0 implies the number category so that the number field + // literals can be directly passed as a Field type. + // See the helper functions in "StringBuilderFieldUtils" below. + typedef uint8_t Field; + + FormattedStringBuilder &operator=(const FormattedStringBuilder &other); + + int32_t length() const; + + int32_t codePointCount() const; + + inline char16_t charAt(int32_t index) const { + U_ASSERT(index >= 0); + U_ASSERT(index < fLength); + return getCharPtr()[fZero + index]; + } + + inline Field fieldAt(int32_t index) const { + U_ASSERT(index >= 0); + U_ASSERT(index < fLength); + return getFieldPtr()[fZero + index]; + } + + UChar32 getFirstCodePoint() const; + + UChar32 getLastCodePoint() const; + + UChar32 codePointAt(int32_t index) const; + + UChar32 codePointBefore(int32_t index) const; + + FormattedStringBuilder &clear(); + + /** Appends a UTF-16 code unit. */ + inline int32_t appendChar16(char16_t codeUnit, Field field, UErrorCode& status) { + // appendCodePoint handles both code units and code points. + return insertCodePoint(fLength, codeUnit, field, status); + } + + /** Inserts a UTF-16 code unit. Note: insert at index 0 is very efficient. */ + inline int32_t insertChar16(int32_t index, char16_t codeUnit, Field field, UErrorCode& status) { + // insertCodePoint handles both code units and code points. + return insertCodePoint(index, codeUnit, field, status); + } + + /** Appends a Unicode code point. */ + inline int32_t appendCodePoint(UChar32 codePoint, Field field, UErrorCode &status) { + return insertCodePoint(fLength, codePoint, field, status); + } + + /** Inserts a Unicode code point. Note: insert at index 0 is very efficient. */ + int32_t insertCodePoint(int32_t index, UChar32 codePoint, Field field, UErrorCode &status); + + /** Appends a string. */ + inline int32_t append(const UnicodeString &unistr, Field field, UErrorCode &status) { + return insert(fLength, unistr, field, status); + } + + /** Inserts a string. Note: insert at index 0 is very efficient. */ + int32_t insert(int32_t index, const UnicodeString &unistr, Field field, UErrorCode &status); + + /** Inserts a substring. Note: insert at index 0 is very efficient. + * + * @param start Start index of the substring of unistr to be inserted. + * @param end End index of the substring of unistr to be inserted (exclusive). + */ + int32_t insert(int32_t index, const UnicodeString &unistr, int32_t start, int32_t end, Field field, + UErrorCode &status); + + /** Deletes a substring and then inserts a string at that same position. + * Similar to JavaScript Array.prototype.splice(). + * + * @param startThis Start of the span to delete. + * @param endThis End of the span to delete (exclusive). + * @param unistr The string to insert at the deletion position. + * @param startOther Start index of the substring of unistr to be inserted. + * @param endOther End index of the substring of unistr to be inserted (exclusive). + */ + int32_t splice(int32_t startThis, int32_t endThis, const UnicodeString &unistr, + int32_t startOther, int32_t endOther, Field field, UErrorCode& status); + + /** Appends a formatted string. */ + int32_t append(const FormattedStringBuilder &other, UErrorCode &status); + + /** Inserts a formatted string. Note: insert at index 0 is very efficient. */ + int32_t insert(int32_t index, const FormattedStringBuilder &other, UErrorCode &status); + + /** + * Ensures that the string buffer contains a NUL terminator. The NUL terminator does + * not count toward the string length. Any further changes to the string (insert or + * append) may invalidate the NUL terminator. + * + * You should call this method after the formatted string is completely built if you + * plan to return a pointer to the string from a C API. + */ + void writeTerminator(UErrorCode& status); + + /** + * Gets a "safe" UnicodeString that can be used even after the FormattedStringBuilder is destructed. + */ + UnicodeString toUnicodeString() const; + + /** + * Gets an "unsafe" UnicodeString that is valid only as long as the FormattedStringBuilder is alive and + * unchanged. Slightly faster than toUnicodeString(). + */ + const UnicodeString toTempUnicodeString() const; + + UnicodeString toDebugString() const; + + const char16_t *chars() const; + + bool contentEquals(const FormattedStringBuilder &other) const; + + bool containsField(Field field) const; + + private: + bool fUsingHeap = false; + ValueOrHeapArray fChars; + ValueOrHeapArray fFields; + int32_t fZero = DEFAULT_CAPACITY / 2; + int32_t fLength = 0; + + inline char16_t *getCharPtr() { + return fUsingHeap ? fChars.heap.ptr : fChars.value; + } + + inline const char16_t *getCharPtr() const { + return fUsingHeap ? fChars.heap.ptr : fChars.value; + } + + inline Field *getFieldPtr() { + return fUsingHeap ? fFields.heap.ptr : fFields.value; + } + + inline const Field *getFieldPtr() const { + return fUsingHeap ? fFields.heap.ptr : fFields.value; + } + + inline int32_t getCapacity() const { + return fUsingHeap ? fChars.heap.capacity : DEFAULT_CAPACITY; + } + + int32_t prepareForInsert(int32_t index, int32_t count, UErrorCode &status); + + int32_t prepareForInsertHelper(int32_t index, int32_t count, UErrorCode &status); + + int32_t remove(int32_t index, int32_t count); + + friend class FormattedValueStringBuilderImpl; +}; + +/** + * Helper functions for dealing with the Field typedef, which stores fields + * in a compressed format. + */ +class StringBuilderFieldUtils { +public: + struct CategoryFieldPair { + int32_t category; + int32_t field; + }; + + /** Compile-time function to construct a Field from a category and a field */ + template + static constexpr FormattedStringBuilder::Field compress() { + static_assert(category != 0, "cannot use Undefined category in FieldUtils"); + static_assert(category <= 0xf, "only 4 bits for category"); + static_assert(field <= 0xf, "only 4 bits for field"); + return static_cast((category << 4) | field); + } + + /** Runtime inline function to unpack the category and field from the Field */ + static inline CategoryFieldPair expand(FormattedStringBuilder::Field field) { + if (field == UNUM_FIELD_COUNT) { + return {UFIELD_CATEGORY_UNDEFINED, 0}; + } + CategoryFieldPair ret = { + (field >> 4), + (field & 0xf) + }; + if (ret.category == 0) { + ret.category = UFIELD_CATEGORY_NUMBER; + } + return ret; + } + + static inline bool isNumericField(FormattedStringBuilder::Field field) { + int8_t category = field >> 4; + return category == 0 || category == UFIELD_CATEGORY_NUMBER; + } +}; + +U_NAMESPACE_END + + +#endif //__NUMBER_STRINGBUILDER_H__ + +#endif /* #if !UCONFIG_NO_FORMATTING */ diff --git a/deps/icu-small/source/i18n/formattedval_impl.h b/deps/icu-small/source/i18n/formattedval_impl.h index 69ba0922edc81f..4ee53e4589b2e9 100644 --- a/deps/icu-small/source/i18n/formattedval_impl.h +++ b/deps/icu-small/source/i18n/formattedval_impl.h @@ -18,7 +18,7 @@ #include "fphdlimp.h" #include "util.h" #include "uvectr32.h" -#include "number_stringbuilder.h" +#include "formatted_string_builder.h" /** @@ -67,7 +67,9 @@ typedef enum UCFPosConstraintType { U_NAMESPACE_BEGIN -/** Implementation using FieldPositionHandler to accept fields. */ +/** + * Implementation of FormattedValue using FieldPositionHandler to accept fields. + */ class FormattedValueFieldPositionIteratorImpl : public UMemory, public FormattedValue { public: @@ -112,12 +114,21 @@ class FormattedValueFieldPositionIteratorImpl : public UMemory, public Formatted }; -class FormattedValueNumberStringBuilderImpl : public UMemory, public FormattedValue { +/** + * Implementation of FormattedValue based on FormattedStringBuilder. + * + * The implementation currently revolves around numbers and number fields. + * However, it can be generalized in the future when there is a need. + * + * @author sffc (Shane Carr) + */ +// Exported as U_I18N_API for tests +class U_I18N_API FormattedValueStringBuilderImpl : public UMemory, public FormattedValue { public: - FormattedValueNumberStringBuilderImpl(number::impl::Field numericField); + FormattedValueStringBuilderImpl(FormattedStringBuilder::Field numericField); - virtual ~FormattedValueNumberStringBuilderImpl(); + virtual ~FormattedValueStringBuilderImpl(); // Implementation of FormattedValue (const): @@ -126,17 +137,25 @@ class FormattedValueNumberStringBuilderImpl : public UMemory, public FormattedVa Appendable& appendTo(Appendable& appendable, UErrorCode& status) const U_OVERRIDE; UBool nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const U_OVERRIDE; - inline number::impl::NumberStringBuilder& getStringRef() { + // Additional helper functions: + UBool nextFieldPosition(FieldPosition& fp, UErrorCode& status) const; + void getAllFieldPositions(FieldPositionIteratorHandler& fpih, UErrorCode& status) const; + inline FormattedStringBuilder& getStringRef() { return fString; } - - inline const number::impl::NumberStringBuilder& getStringRef() const { + inline const FormattedStringBuilder& getStringRef() const { return fString; } private: - number::impl::NumberStringBuilder fString; - number::impl::Field fNumericField; + FormattedStringBuilder fString; + FormattedStringBuilder::Field fNumericField; + + bool nextPositionImpl(ConstrainedFieldPosition& cfpos, FormattedStringBuilder::Field numericField, UErrorCode& status) const; + static bool isIntOrGroup(FormattedStringBuilder::Field field); + static bool isNumericField(FormattedStringBuilder::Field field); + int32_t trimBack(int32_t limit) const; + int32_t trimFront(int32_t start) const; }; diff --git a/deps/icu-small/source/i18n/formattedval_sbimpl.cpp b/deps/icu-small/source/i18n/formattedval_sbimpl.cpp index 1fbecf25ac6bb6..ca28f222813afc 100644 --- a/deps/icu-small/source/i18n/formattedval_sbimpl.cpp +++ b/deps/icu-small/source/i18n/formattedval_sbimpl.cpp @@ -9,35 +9,203 @@ // Other independent implementations should go into their own cpp file for // better dependency modularization. +#include "unicode/ustring.h" #include "formattedval_impl.h" +#include "number_types.h" +#include "formatted_string_builder.h" +#include "number_utils.h" +#include "static_unicode_sets.h" U_NAMESPACE_BEGIN -FormattedValueNumberStringBuilderImpl::FormattedValueNumberStringBuilderImpl(number::impl::Field numericField) +typedef FormattedStringBuilder::Field Field; + + +FormattedValueStringBuilderImpl::FormattedValueStringBuilderImpl(Field numericField) : fNumericField(numericField) { } -FormattedValueNumberStringBuilderImpl::~FormattedValueNumberStringBuilderImpl() { +FormattedValueStringBuilderImpl::~FormattedValueStringBuilderImpl() { } -UnicodeString FormattedValueNumberStringBuilderImpl::toString(UErrorCode&) const { +UnicodeString FormattedValueStringBuilderImpl::toString(UErrorCode&) const { return fString.toUnicodeString(); } -UnicodeString FormattedValueNumberStringBuilderImpl::toTempString(UErrorCode&) const { +UnicodeString FormattedValueStringBuilderImpl::toTempString(UErrorCode&) const { return fString.toTempUnicodeString(); } -Appendable& FormattedValueNumberStringBuilderImpl::appendTo(Appendable& appendable, UErrorCode&) const { +Appendable& FormattedValueStringBuilderImpl::appendTo(Appendable& appendable, UErrorCode&) const { appendable.appendString(fString.chars(), fString.length()); return appendable; } -UBool FormattedValueNumberStringBuilderImpl::nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const { +UBool FormattedValueStringBuilderImpl::nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const { // NOTE: MSVC sometimes complains when implicitly converting between bool and UBool - return fString.nextPosition(cfpos, fNumericField, status) ? TRUE : FALSE; + return nextPositionImpl(cfpos, fNumericField, status) ? TRUE : FALSE; +} + +UBool FormattedValueStringBuilderImpl::nextFieldPosition(FieldPosition& fp, UErrorCode& status) const { + int32_t rawField = fp.getField(); + + if (rawField == FieldPosition::DONT_CARE) { + return FALSE; + } + + if (rawField < 0 || rawField >= UNUM_FIELD_COUNT) { + status = U_ILLEGAL_ARGUMENT_ERROR; + return FALSE; + } + + ConstrainedFieldPosition cfpos; + cfpos.constrainField(UFIELD_CATEGORY_NUMBER, rawField); + cfpos.setState(UFIELD_CATEGORY_NUMBER, rawField, fp.getBeginIndex(), fp.getEndIndex()); + if (nextPositionImpl(cfpos, 0, status)) { + fp.setBeginIndex(cfpos.getStart()); + fp.setEndIndex(cfpos.getLimit()); + return TRUE; + } + + // Special case: fraction should start after integer if fraction is not present + if (rawField == UNUM_FRACTION_FIELD && fp.getEndIndex() == 0) { + bool inside = false; + int32_t i = fString.fZero; + for (; i < fString.fZero + fString.fLength; i++) { + if (isIntOrGroup(fString.getFieldPtr()[i]) || fString.getFieldPtr()[i] == UNUM_DECIMAL_SEPARATOR_FIELD) { + inside = true; + } else if (inside) { + break; + } + } + fp.setBeginIndex(i - fString.fZero); + fp.setEndIndex(i - fString.fZero); + } + + return FALSE; +} + +void FormattedValueStringBuilderImpl::getAllFieldPositions(FieldPositionIteratorHandler& fpih, + UErrorCode& status) const { + ConstrainedFieldPosition cfpos; + while (nextPositionImpl(cfpos, 0, status)) { + fpih.addAttribute(cfpos.getField(), cfpos.getStart(), cfpos.getLimit()); + } +} + +// Signal the end of the string using a field that doesn't exist and that is +// different from UNUM_FIELD_COUNT, which is used for "null number field". +static constexpr Field kEndField = 0xff; + +bool FormattedValueStringBuilderImpl::nextPositionImpl(ConstrainedFieldPosition& cfpos, Field numericField, UErrorCode& /*status*/) const { + auto numericCAF = StringBuilderFieldUtils::expand(numericField); + int32_t fieldStart = -1; + Field currField = UNUM_FIELD_COUNT; + for (int32_t i = fString.fZero + cfpos.getLimit(); i <= fString.fZero + fString.fLength; i++) { + Field _field = (i < fString.fZero + fString.fLength) ? fString.getFieldPtr()[i] : kEndField; + // Case 1: currently scanning a field. + if (currField != UNUM_FIELD_COUNT) { + if (currField != _field) { + int32_t end = i - fString.fZero; + // Grouping separators can be whitespace; don't throw them out! + if (currField != UNUM_GROUPING_SEPARATOR_FIELD) { + end = trimBack(i - fString.fZero); + } + if (end <= fieldStart) { + // Entire field position is ignorable; skip. + fieldStart = -1; + currField = UNUM_FIELD_COUNT; + i--; // look at this index again + continue; + } + int32_t start = fieldStart; + if (currField != UNUM_GROUPING_SEPARATOR_FIELD) { + start = trimFront(start); + } + auto caf = StringBuilderFieldUtils::expand(currField); + cfpos.setState(caf.category, caf.field, start, end); + return true; + } + continue; + } + // Special case: coalesce the INTEGER if we are pointing at the end of the INTEGER. + if (cfpos.matchesField(UFIELD_CATEGORY_NUMBER, UNUM_INTEGER_FIELD) + && i > fString.fZero + // don't return the same field twice in a row: + && i - fString.fZero > cfpos.getLimit() + && isIntOrGroup(fString.getFieldPtr()[i - 1]) + && !isIntOrGroup(_field)) { + int j = i - 1; + for (; j >= fString.fZero && isIntOrGroup(fString.getFieldPtr()[j]); j--) {} + cfpos.setState( + UFIELD_CATEGORY_NUMBER, + UNUM_INTEGER_FIELD, + j - fString.fZero + 1, + i - fString.fZero); + return true; + } + // Special case: coalesce NUMERIC if we are pointing at the end of the NUMERIC. + if (numericField != 0 + && cfpos.matchesField(numericCAF.category, numericCAF.field) + && i > fString.fZero + // don't return the same field twice in a row: + && (i - fString.fZero > cfpos.getLimit() + || cfpos.getCategory() != numericCAF.category + || cfpos.getField() != numericCAF.field) + && isNumericField(fString.getFieldPtr()[i - 1]) + && !isNumericField(_field)) { + int j = i - 1; + for (; j >= fString.fZero && isNumericField(fString.getFieldPtr()[j]); j--) {} + cfpos.setState( + numericCAF.category, + numericCAF.field, + j - fString.fZero + 1, + i - fString.fZero); + return true; + } + // Special case: skip over INTEGER; will be coalesced later. + if (_field == UNUM_INTEGER_FIELD) { + _field = UNUM_FIELD_COUNT; + } + // Case 2: no field starting at this position. + if (_field == UNUM_FIELD_COUNT || _field == kEndField) { + continue; + } + // Case 3: check for field starting at this position + auto caf = StringBuilderFieldUtils::expand(_field); + if (cfpos.matchesField(caf.category, caf.field)) { + fieldStart = i - fString.fZero; + currField = _field; + } + } + + U_ASSERT(currField == UNUM_FIELD_COUNT); + return false; +} + +bool FormattedValueStringBuilderImpl::isIntOrGroup(Field field) { + return field == UNUM_INTEGER_FIELD + || field == UNUM_GROUPING_SEPARATOR_FIELD; +} + +bool FormattedValueStringBuilderImpl::isNumericField(Field field) { + return StringBuilderFieldUtils::isNumericField(field); +} + +int32_t FormattedValueStringBuilderImpl::trimBack(int32_t limit) const { + return unisets::get(unisets::DEFAULT_IGNORABLES)->spanBack( + fString.getCharPtr() + fString.fZero, + limit, + USET_SPAN_CONTAINED); +} + +int32_t FormattedValueStringBuilderImpl::trimFront(int32_t start) const { + return start + unisets::get(unisets::DEFAULT_IGNORABLES)->span( + fString.getCharPtr() + fString.fZero + start, + fString.fLength - start, + USET_SPAN_CONTAINED); } diff --git a/deps/icu-small/source/i18n/funcrepl.cpp b/deps/icu-small/source/i18n/funcrepl.cpp index 30bcebbf908794..ceb456e1afc50c 100644 --- a/deps/icu-small/source/i18n/funcrepl.cpp +++ b/deps/icu-small/source/i18n/funcrepl.cpp @@ -59,7 +59,7 @@ FunctionReplacer::~FunctionReplacer() { /** * Implement UnicodeFunctor */ -UnicodeFunctor* FunctionReplacer::clone() const { +FunctionReplacer* FunctionReplacer::clone() const { return new FunctionReplacer(*this); } diff --git a/deps/icu-small/source/i18n/funcrepl.h b/deps/icu-small/source/i18n/funcrepl.h index a835d5be7c2173..fe41f6caaa6d10 100644 --- a/deps/icu-small/source/i18n/funcrepl.h +++ b/deps/icu-small/source/i18n/funcrepl.h @@ -70,7 +70,7 @@ class FunctionReplacer : public UnicodeFunctor, public UnicodeReplacer { /** * Implement UnicodeFunctor */ - virtual UnicodeFunctor* clone() const; + virtual FunctionReplacer* clone() const; /** * UnicodeFunctor API. Cast 'this' to a UnicodeReplacer* pointer diff --git a/deps/icu-small/source/i18n/gender.cpp b/deps/icu-small/source/i18n/gender.cpp index 106cf424c59d88..03c03cecad94ba 100644 --- a/deps/icu-small/source/i18n/gender.cpp +++ b/deps/icu-small/source/i18n/gender.cpp @@ -98,7 +98,7 @@ const GenderInfo* GenderInfo::getInstance(const Locale& locale, UErrorCode& stat return NULL; } - static UMutex gGenderMetaLock = U_MUTEX_INITIALIZER; + static UMutex gGenderMetaLock; const GenderInfo* result = NULL; const char* key = locale.getName(); { diff --git a/deps/icu-small/source/i18n/gregocal.cpp b/deps/icu-small/source/i18n/gregocal.cpp index 4db66758df1f1f..028ab05aa9accc 100644 --- a/deps/icu-small/source/i18n/gregocal.cpp +++ b/deps/icu-small/source/i18n/gregocal.cpp @@ -286,7 +286,7 @@ fIsGregorian(source.fIsGregorian), fInvertGregorian(source.fInvertGregorian) // ------------------------------------- -Calendar* GregorianCalendar::clone() const +GregorianCalendar* GregorianCalendar::clone() const { return new GregorianCalendar(*this); } @@ -324,26 +324,26 @@ GregorianCalendar::setGregorianChange(UDate date, UErrorCode& status) if (U_FAILURE(status)) return; - fGregorianCutover = date; - // Precompute two internal variables which we use to do the actual // cutover computations. These are the normalized cutover, which is the // midnight at or before the cutover, and the cutover year. The // normalized cutover is in pure date milliseconds; it contains no time // of day or timezone component, and it used to compare against other // pure date values. - int32_t cutoverDay = (int32_t)ClockMath::floorDivide(fGregorianCutover, (double)kOneDay); - fNormalizedGregorianCutover = cutoverDay * kOneDay; - - // Handle the rare case of numeric overflow. If the user specifies a - // change of UDate(Long.MIN_VALUE), in order to get a pure Gregorian - // calendar, then the epoch day is -106751991168, which when multiplied - // by ONE_DAY gives 9223372036794351616 -- the negative value is too - // large for 64 bits, and overflows into a positive value. We correct - // this by using the next day, which for all intents is semantically - // equivalent. - if (cutoverDay < 0 && fNormalizedGregorianCutover > 0) { - fNormalizedGregorianCutover = (cutoverDay + 1) * kOneDay; + double cutoverDay = ClockMath::floorDivide(date, (double)kOneDay); + + // Handle the rare case of numeric overflow where the user specifies a time + // outside of INT32_MIN .. INT32_MAX number of days. + + if (cutoverDay <= INT32_MIN) { + cutoverDay = INT32_MIN; + fGregorianCutover = fNormalizedGregorianCutover = cutoverDay * kOneDay; + } else if (cutoverDay >= INT32_MAX) { + cutoverDay = INT32_MAX; + fGregorianCutover = fNormalizedGregorianCutover = cutoverDay * kOneDay; + } else { + fNormalizedGregorianCutover = cutoverDay * kOneDay; + fGregorianCutover = date; } // Normalize the year so BC values are represented as 0 and negative @@ -360,7 +360,7 @@ GregorianCalendar::setGregorianChange(UDate date, UErrorCode& status) fGregorianCutoverYear = cal->get(UCAL_YEAR, status); if (cal->get(UCAL_ERA, status) == BC) fGregorianCutoverYear = 1 - fGregorianCutoverYear; - fCutoverJulianDay = cutoverDay; + fCutoverJulianDay = (int32_t)cutoverDay; delete cal; } diff --git a/deps/icu-small/source/i18n/hebrwcal.cpp b/deps/icu-small/source/i18n/hebrwcal.cpp index 66a3e47a4f1e0f..085ded784651a6 100644 --- a/deps/icu-small/source/i18n/hebrwcal.cpp +++ b/deps/icu-small/source/i18n/hebrwcal.cpp @@ -169,7 +169,7 @@ const char *HebrewCalendar::getType() const { return "hebrew"; } -Calendar* HebrewCalendar::clone() const { +HebrewCalendar* HebrewCalendar::clone() const { return new HebrewCalendar(*this); } diff --git a/deps/icu-small/source/i18n/hebrwcal.h b/deps/icu-small/source/i18n/hebrwcal.h index 9323ad62aa72fa..97e8511705e776 100644 --- a/deps/icu-small/source/i18n/hebrwcal.h +++ b/deps/icu-small/source/i18n/hebrwcal.h @@ -192,7 +192,7 @@ class U_I18N_API HebrewCalendar : public Calendar { * @return return a polymorphic copy of this calendar. * @internal */ - virtual Calendar* clone(void) const; + virtual HebrewCalendar* clone() const; public: /** diff --git a/deps/icu-small/source/i18n/indiancal.cpp b/deps/icu-small/source/i18n/indiancal.cpp index 667b6f2d7a32c5..f1266bb7757939 100644 --- a/deps/icu-small/source/i18n/indiancal.cpp +++ b/deps/icu-small/source/i18n/indiancal.cpp @@ -35,7 +35,7 @@ U_NAMESPACE_BEGIN //------------------------------------------------------------------------- -Calendar* IndianCalendar::clone() const { +IndianCalendar* IndianCalendar::clone() const { return new IndianCalendar(*this); } diff --git a/deps/icu-small/source/i18n/indiancal.h b/deps/icu-small/source/i18n/indiancal.h index ffd4ae8b8a40cd..142597ce0e6b02 100644 --- a/deps/icu-small/source/i18n/indiancal.h +++ b/deps/icu-small/source/i18n/indiancal.h @@ -186,7 +186,7 @@ class U_I18N_API IndianCalendar : public Calendar { // TODO: copy c'tor, etc // clone - virtual Calendar* clone() const; + virtual IndianCalendar* clone() const; private: /** diff --git a/deps/icu-small/source/i18n/islamcal.cpp b/deps/icu-small/source/i18n/islamcal.cpp index 8d6171af011e5d..4e4a6648048208 100644 --- a/deps/icu-small/source/i18n/islamcal.cpp +++ b/deps/icu-small/source/i18n/islamcal.cpp @@ -227,7 +227,7 @@ const char *IslamicCalendar::getType() const { return sType; } -Calendar* IslamicCalendar::clone() const { +IslamicCalendar* IslamicCalendar::clone() const { return new IslamicCalendar(*this); } @@ -470,7 +470,7 @@ double IslamicCalendar::moonAge(UDate time, UErrorCode &status) { double age = 0; - static UMutex astroLock = U_MUTEX_INITIALIZER; // pod bay door lock + static UMutex astroLock; // pod bay door lock umtx_lock(&astroLock); if(gIslamicCalendarAstro == NULL) { gIslamicCalendarAstro = new CalendarAstronomer(); diff --git a/deps/icu-small/source/i18n/islamcal.h b/deps/icu-small/source/i18n/islamcal.h index 17fb6687ef7b63..aad8f07be0f984 100644 --- a/deps/icu-small/source/i18n/islamcal.h +++ b/deps/icu-small/source/i18n/islamcal.h @@ -230,7 +230,7 @@ class U_I18N_API IslamicCalendar : public Calendar { // TODO: copy c'tor, etc // clone - virtual Calendar* clone() const; + virtual IslamicCalendar* clone() const; private: /** diff --git a/deps/icu-small/source/i18n/japancal.cpp b/deps/icu-small/source/i18n/japancal.cpp index cc061fd1410d84..e7e5f4fc5174f6 100644 --- a/deps/icu-small/source/i18n/japancal.cpp +++ b/deps/icu-small/source/i18n/japancal.cpp @@ -136,7 +136,7 @@ JapaneseCalendar& JapaneseCalendar::operator= ( const JapaneseCalendar& right) return *this; } -Calendar* JapaneseCalendar::clone(void) const +JapaneseCalendar* JapaneseCalendar::clone() const { return new JapaneseCalendar(*this); } diff --git a/deps/icu-small/source/i18n/japancal.h b/deps/icu-small/source/i18n/japancal.h index a32f3db5635473..ee86c4ed0e3b93 100644 --- a/deps/icu-small/source/i18n/japancal.h +++ b/deps/icu-small/source/i18n/japancal.h @@ -116,7 +116,7 @@ class JapaneseCalendar : public GregorianCalendar { * @return return a polymorphic copy of this calendar. * @internal */ - virtual Calendar* clone(void) const; + virtual JapaneseCalendar* clone() const; /** * Return the extended year defined by the current fields. In the diff --git a/deps/icu-small/source/i18n/listformatter.cpp b/deps/icu-small/source/i18n/listformatter.cpp index 64d2e36ae15059..35cc00de252aa7 100644 --- a/deps/icu-small/source/i18n/listformatter.cpp +++ b/deps/icu-small/source/i18n/listformatter.cpp @@ -144,7 +144,7 @@ const ListFormatInternal* ListFormatter::getListFormatInternal( keyBuffer.append(':', errorCode).append(style, errorCode); UnicodeString key(keyBuffer.data(), -1, US_INV); ListFormatInternal* result = nullptr; - static UMutex listFormatterMutex = U_MUTEX_INITIALIZER; + static UMutex listFormatterMutex; { Mutex m(&listFormatterMutex); if (listPatternHash == nullptr) { @@ -478,8 +478,8 @@ UnicodeString& ListFormatter::format_( if (index == 0) { offset = 0; } - int32_t offsetFirst; - int32_t offsetSecond; + int32_t offsetFirst = 0; + int32_t offsetSecond = 0; int32_t prefixLength = 0; // for n items, there are 2 * (n + 1) boundary including 0 and the upper // edge. diff --git a/deps/icu-small/source/i18n/measfmt.cpp b/deps/icu-small/source/i18n/measfmt.cpp index 03e4417e64da6a..47ffb140cf6712 100644 --- a/deps/icu-small/source/i18n/measfmt.cpp +++ b/deps/icu-small/source/i18n/measfmt.cpp @@ -55,28 +55,23 @@ UOBJECT_DEFINE_RTTI_IMPLEMENTATION(MeasureFormat) class NumericDateFormatters : public UMemory { public: // Formats like H:mm - SimpleDateFormat hourMinute; + UnicodeString hourMinute; // formats like M:ss - SimpleDateFormat minuteSecond; + UnicodeString minuteSecond; // formats like H:mm:ss - SimpleDateFormat hourMinuteSecond; + UnicodeString hourMinuteSecond; // Constructor that takes the actual patterns for hour-minute, // minute-second, and hour-minute-second respectively. NumericDateFormatters( const UnicodeString &hm, const UnicodeString &ms, - const UnicodeString &hms, - UErrorCode &status) : - hourMinute(hm, status), - minuteSecond(ms, status), - hourMinuteSecond(hms, status) { - const TimeZone *gmt = TimeZone::getGMT(); - hourMinute.setTimeZone(*gmt); - minuteSecond.setTimeZone(*gmt); - hourMinuteSecond.setTimeZone(*gmt); + const UnicodeString &hms) : + hourMinute(hm), + minuteSecond(ms), + hourMinuteSecond(hms) { } private: NumericDateFormatters(const NumericDateFormatters &other); @@ -233,8 +228,7 @@ static NumericDateFormatters *loadNumericDateFormatters( NumericDateFormatters *result = new NumericDateFormatters( loadNumericDateFormatterPattern(resource, "hm", status), loadNumericDateFormatterPattern(resource, "ms", status), - loadNumericDateFormatterPattern(resource, "hms", status), - status); + loadNumericDateFormatterPattern(resource, "hms", status)); if (U_FAILURE(status)) { delete result; return NULL; @@ -466,7 +460,7 @@ UBool MeasureFormat::operator==(const Format &other) const { **numberFormat == **rhs.numberFormat); } -Format *MeasureFormat::clone() const { +MeasureFormat *MeasureFormat::clone() const { return new MeasureFormat(*this); } @@ -691,9 +685,19 @@ UnicodeString &MeasureFormat::formatMeasure( } auto* df = dynamic_cast(&nf); if (df == nullptr) { - // Don't know how to handle other types of NumberFormat - status = U_UNSUPPORTED_ERROR; - return appendTo; + // Handle other types of NumberFormat using the ICU 63 code, modified to + // get the unitPattern from LongNameHandler and handle fallback to OTHER. + UnicodeString formattedNumber; + StandardPlural::Form pluralForm = QuantityFormatter::selectPlural( + amtNumber, nf, **pluralRules, formattedNumber, pos, status); + UnicodeString pattern = number::impl::LongNameHandler::getUnitPattern(getLocale(status), + amtUnit, getUnitWidth(fWidth), pluralForm, status); + // The above handles fallback from other widths to short, and from other plural forms to OTHER + if (U_FAILURE(status)) { + return appendTo; + } + SimpleFormatter formatter(pattern, 0, 1, status); + return QuantityFormatter::format(formatter, formattedNumber, appendTo, pos, status); } number::FormattedNumber result; if (auto* lnf = df->toNumberFormatter(status)) { @@ -706,135 +710,112 @@ UnicodeString &MeasureFormat::formatMeasure( return appendTo; } -// Formats hours-minutes-seconds as 5:37:23 or similar. + +// Formats numeric time duration as 5:00:47 or 3:54. UnicodeString &MeasureFormat::formatNumeric( const Formattable *hms, // always length 3 - int32_t bitMap, // 1=hourset, 2=minuteset, 4=secondset + int32_t bitMap, // 1=hour set, 2=minute set, 4=second set UnicodeString &appendTo, UErrorCode &status) const { if (U_FAILURE(status)) { return appendTo; } - UDate millis = - (UDate) (((uprv_trunc(hms[0].getDouble(status)) * 60.0 - + uprv_trunc(hms[1].getDouble(status))) * 60.0 - + uprv_trunc(hms[2].getDouble(status))) * 1000.0); - switch (bitMap) { - case 5: // hs - case 7: // hms - return formatNumeric( - millis, - cache->getNumericDateFormatters()->hourMinuteSecond, - UDAT_SECOND_FIELD, - hms[2], - appendTo, - status); - break; - case 6: // ms - return formatNumeric( - millis, - cache->getNumericDateFormatters()->minuteSecond, - UDAT_SECOND_FIELD, - hms[2], - appendTo, - status); - break; - case 3: // hm - return formatNumeric( - millis, - cache->getNumericDateFormatters()->hourMinute, - UDAT_MINUTE_FIELD, - hms[1], - appendTo, - status); - break; - default: - status = U_INTERNAL_PROGRAM_ERROR; - return appendTo; - break; - } -} - -static void appendRange( - const UnicodeString &src, - int32_t start, - int32_t end, - UnicodeString &dest) { - dest.append(src, start, end - start); -} -static void appendRange( - const UnicodeString &src, - int32_t end, - UnicodeString &dest) { - dest.append(src, end, src.length() - end); -} + UnicodeString pattern; -// Formats time like 5:37:23 -UnicodeString &MeasureFormat::formatNumeric( - UDate date, // Time since epoch 1:30:00 would be 5400000 - const DateFormat &dateFmt, // h:mm, m:ss, or h:mm:ss - UDateFormatField smallestField, // seconds in 5:37:23.5 - const Formattable &smallestAmount, // 23.5 for 5:37:23.5 - UnicodeString &appendTo, - UErrorCode &status) const { + double hours = hms[0].getDouble(status); + double minutes = hms[1].getDouble(status); + double seconds = hms[2].getDouble(status); if (U_FAILURE(status)) { return appendTo; } - // Format the smallest amount with this object's NumberFormat - UnicodeString smallestAmountFormatted; - - // We keep track of the integer part of smallest amount so that - // we can replace it later so that we get '0:00:09.3' instead of - // '0:00:9.3' - FieldPosition intFieldPosition(UNUM_INTEGER_FIELD); - (*numberFormat)->format( - smallestAmount, smallestAmountFormatted, intFieldPosition, status); - if ( - intFieldPosition.getBeginIndex() == 0 && - intFieldPosition.getEndIndex() == 0) { + + // All possible combinations: "h", "m", "s", "hm", "hs", "ms", "hms" + if (bitMap == 5 || bitMap == 7) { // "hms" & "hs" (we add minutes if "hs") + pattern = cache->getNumericDateFormatters()->hourMinuteSecond; + hours = uprv_trunc(hours); + minutes = uprv_trunc(minutes); + } else if (bitMap == 3) { // "hm" + pattern = cache->getNumericDateFormatters()->hourMinute; + hours = uprv_trunc(hours); + } else if (bitMap == 6) { // "ms" + pattern = cache->getNumericDateFormatters()->minuteSecond; + minutes = uprv_trunc(minutes); + } else { // h m s, handled outside formatNumeric. No value is also an error. status = U_INTERNAL_PROGRAM_ERROR; return appendTo; } - // Format time. draft becomes something like '5:30:45' - // #13606: DateFormat is not thread-safe, but MeasureFormat advertises itself as thread-safe. - FieldPosition smallestFieldPosition(smallestField); - UnicodeString draft; - static UMutex dateFmtMutex = U_MUTEX_INITIALIZER; - umtx_lock(&dateFmtMutex); - dateFmt.format(date, draft, smallestFieldPosition, status); - umtx_unlock(&dateFmtMutex); - - // If we find field for smallest amount replace it with the formatted - // smallest amount from above taking care to replace the integer part - // with what is in original time. For example, If smallest amount - // is 9.35s and the formatted time is 0:00:09 then 9.35 becomes 09.35 - // and replacing yields 0:00:09.35 - if (smallestFieldPosition.getBeginIndex() != 0 || - smallestFieldPosition.getEndIndex() != 0) { - appendRange(draft, 0, smallestFieldPosition.getBeginIndex(), appendTo); - appendRange( - smallestAmountFormatted, - 0, - intFieldPosition.getBeginIndex(), - appendTo); - appendRange( - draft, - smallestFieldPosition.getBeginIndex(), - smallestFieldPosition.getEndIndex(), - appendTo); - appendRange( - smallestAmountFormatted, - intFieldPosition.getEndIndex(), - appendTo); - appendRange( - draft, - smallestFieldPosition.getEndIndex(), - appendTo); + const DecimalFormat *numberFormatter = dynamic_cast(numberFormat->get()); + if (!numberFormatter) { + status = U_INTERNAL_PROGRAM_ERROR; + return appendTo; + } + number::LocalizedNumberFormatter numberFormatter2; + if (auto* lnf = numberFormatter->toNumberFormatter(status)) { + numberFormatter2 = lnf->integerWidth(number::IntegerWidth::zeroFillTo(2)); } else { - appendTo.append(draft); + return appendTo; } + + FormattedStringBuilder fsb; + + UBool protect = FALSE; + const int32_t patternLength = pattern.length(); + for (int32_t i = 0; i < patternLength; i++) { + char16_t c = pattern[i]; + + // Also set the proper field in this switch + // We don't use DateFormat.Field because this is not a date / time, is a duration. + double value = 0; + switch (c) { + case u'H': value = hours; break; + case u'm': value = minutes; break; + case u's': value = seconds; break; + } + + // For undefined field we use UNUM_FIELD_COUNT, for historical reasons. + // See cleanup bug: https://unicode-org.atlassian.net/browse/ICU-20665 + // But we give it a clear name, to keep "the ugly part" in one place. + constexpr UNumberFormatFields undefinedField = UNUM_FIELD_COUNT; + + // There is not enough info to add Field(s) for the unit because all we have are plain + // text patterns. For example in "21:51" there is no text for something like "hour", + // while in something like "21h51" there is ("h"). But we can't really tell... + switch (c) { + case u'H': + case u'm': + case u's': + if (protect) { + fsb.appendChar16(c, undefinedField, status); + } else { + UnicodeString tmp; + if ((i + 1 < patternLength) && pattern[i + 1] == c) { // doubled + tmp = numberFormatter2.formatDouble(value, status).toString(status); + i++; + } else { + numberFormatter->format(value, tmp, status); + } + // TODO: Use proper Field + fsb.append(tmp, undefinedField, status); + } + break; + case u'\'': + // '' is escaped apostrophe + if ((i + 1 < patternLength) && pattern[i + 1] == c) { + fsb.appendChar16(c, undefinedField, status); + i++; + } else { + protect = !protect; + } + break; + default: + fsb.appendChar16(c, undefinedField, status); + } + } + + appendTo.append(fsb.toTempUnicodeString()); + return appendTo; } diff --git a/deps/icu-small/source/i18n/measunit.cpp b/deps/icu-small/source/i18n/measunit.cpp index 428283e6dda8d4..917c0cdfadf235 100644 --- a/deps/icu-small/source/i18n/measunit.cpp +++ b/deps/icu-small/source/i18n/measunit.cpp @@ -43,21 +43,22 @@ static const int32_t gOffsets[] = { 29, 328, 339, - 354, - 358, - 366, + 355, + 359, 368, - 372, - 393, - 395, - 409, - 412, + 370, + 374, + 381, + 402, + 404, 418, - 426, - 430, - 434, - 436, - 463 + 421, + 427, + 437, + 441, + 445, + 447, + 474 }; static const int32_t gIndexes[] = { @@ -69,21 +70,22 @@ static const int32_t gIndexes[] = { 29, 29, 40, - 55, - 59, - 67, + 56, + 60, 69, - 73, - 94, - 96, - 110, - 113, + 71, + 75, + 82, + 103, + 105, 119, - 127, - 131, - 135, - 137, - 164 + 122, + 128, + 138, + 142, + 146, + 148, + 175 }; // Must be sorted alphabetically. @@ -100,6 +102,7 @@ static const char * const gTypes[] = { "energy", "force", "frequency", + "graphics", "length", "light", "mass", @@ -456,6 +459,7 @@ static const char * const gSubTypes[] = { "century", "day", "day-person", + "decade", "hour", "microsecond", "millisecond", @@ -480,12 +484,20 @@ static const char * const gSubTypes[] = { "kilocalorie", "kilojoule", "kilowatt-hour", + "therm-us", "newton", "pound-force", "gigahertz", "hertz", "kilohertz", "megahertz", + "dot-per-centimeter", + "dot-per-inch", + "em", + "megapixel", + "pixel", + "pixel-per-centimeter", + "pixel-per-inch", "astronomical-unit", "centimeter", "decimeter", @@ -533,12 +545,14 @@ static const char * const gSubTypes[] = { "milliwatt", "watt", "atmosphere", + "bar", "hectopascal", "inch-hg", "kilopascal", "megapascal", "millibar", "millimeter-of-mercury", + "pascal", "pound-per-square-inch", "kilometer-per-hour", "knot", @@ -581,18 +595,20 @@ static const char * const gSubTypes[] = { // Must be sorted by first value and then second value. static int32_t unitPerUnitToSingleUnit[][4] = { - {379, 342, 18, 0}, - {381, 349, 18, 2}, - {383, 342, 18, 3}, - {383, 452, 4, 2}, - {383, 453, 4, 3}, - {402, 449, 3, 1}, - {405, 12, 17, 7}, - {455, 379, 4, 1} + {378, 382, 12, 5}, + {378, 387, 12, 6}, + {388, 343, 19, 0}, + {390, 350, 19, 2}, + {392, 343, 19, 3}, + {392, 463, 4, 2}, + {392, 464, 4, 3}, + {411, 460, 3, 1}, + {414, 12, 18, 9}, + {466, 388, 4, 1} }; // Shortcuts to the base unit in order to make the default constructor fast -static const int32_t kBaseTypeIdx = 15; +static const int32_t kBaseTypeIdx = 16; static const int32_t kBaseSubTypeIdx = 0; MeasureUnit *MeasureUnit::createGForce(UErrorCode &status) { @@ -939,102 +955,110 @@ MeasureUnit MeasureUnit::getDayPerson() { return MeasureUnit(7, 2); } -MeasureUnit *MeasureUnit::createHour(UErrorCode &status) { +MeasureUnit *MeasureUnit::createDecade(UErrorCode &status) { return MeasureUnit::create(7, 3, status); } -MeasureUnit MeasureUnit::getHour() { +MeasureUnit MeasureUnit::getDecade() { return MeasureUnit(7, 3); } -MeasureUnit *MeasureUnit::createMicrosecond(UErrorCode &status) { +MeasureUnit *MeasureUnit::createHour(UErrorCode &status) { return MeasureUnit::create(7, 4, status); } -MeasureUnit MeasureUnit::getMicrosecond() { +MeasureUnit MeasureUnit::getHour() { return MeasureUnit(7, 4); } -MeasureUnit *MeasureUnit::createMillisecond(UErrorCode &status) { +MeasureUnit *MeasureUnit::createMicrosecond(UErrorCode &status) { return MeasureUnit::create(7, 5, status); } -MeasureUnit MeasureUnit::getMillisecond() { +MeasureUnit MeasureUnit::getMicrosecond() { return MeasureUnit(7, 5); } -MeasureUnit *MeasureUnit::createMinute(UErrorCode &status) { +MeasureUnit *MeasureUnit::createMillisecond(UErrorCode &status) { return MeasureUnit::create(7, 6, status); } -MeasureUnit MeasureUnit::getMinute() { +MeasureUnit MeasureUnit::getMillisecond() { return MeasureUnit(7, 6); } -MeasureUnit *MeasureUnit::createMonth(UErrorCode &status) { +MeasureUnit *MeasureUnit::createMinute(UErrorCode &status) { return MeasureUnit::create(7, 7, status); } -MeasureUnit MeasureUnit::getMonth() { +MeasureUnit MeasureUnit::getMinute() { return MeasureUnit(7, 7); } -MeasureUnit *MeasureUnit::createMonthPerson(UErrorCode &status) { +MeasureUnit *MeasureUnit::createMonth(UErrorCode &status) { return MeasureUnit::create(7, 8, status); } -MeasureUnit MeasureUnit::getMonthPerson() { +MeasureUnit MeasureUnit::getMonth() { return MeasureUnit(7, 8); } -MeasureUnit *MeasureUnit::createNanosecond(UErrorCode &status) { +MeasureUnit *MeasureUnit::createMonthPerson(UErrorCode &status) { return MeasureUnit::create(7, 9, status); } -MeasureUnit MeasureUnit::getNanosecond() { +MeasureUnit MeasureUnit::getMonthPerson() { return MeasureUnit(7, 9); } -MeasureUnit *MeasureUnit::createSecond(UErrorCode &status) { +MeasureUnit *MeasureUnit::createNanosecond(UErrorCode &status) { return MeasureUnit::create(7, 10, status); } -MeasureUnit MeasureUnit::getSecond() { +MeasureUnit MeasureUnit::getNanosecond() { return MeasureUnit(7, 10); } -MeasureUnit *MeasureUnit::createWeek(UErrorCode &status) { +MeasureUnit *MeasureUnit::createSecond(UErrorCode &status) { return MeasureUnit::create(7, 11, status); } -MeasureUnit MeasureUnit::getWeek() { +MeasureUnit MeasureUnit::getSecond() { return MeasureUnit(7, 11); } -MeasureUnit *MeasureUnit::createWeekPerson(UErrorCode &status) { +MeasureUnit *MeasureUnit::createWeek(UErrorCode &status) { return MeasureUnit::create(7, 12, status); } -MeasureUnit MeasureUnit::getWeekPerson() { +MeasureUnit MeasureUnit::getWeek() { return MeasureUnit(7, 12); } -MeasureUnit *MeasureUnit::createYear(UErrorCode &status) { +MeasureUnit *MeasureUnit::createWeekPerson(UErrorCode &status) { return MeasureUnit::create(7, 13, status); } -MeasureUnit MeasureUnit::getYear() { +MeasureUnit MeasureUnit::getWeekPerson() { return MeasureUnit(7, 13); } -MeasureUnit *MeasureUnit::createYearPerson(UErrorCode &status) { +MeasureUnit *MeasureUnit::createYear(UErrorCode &status) { return MeasureUnit::create(7, 14, status); } -MeasureUnit MeasureUnit::getYearPerson() { +MeasureUnit MeasureUnit::getYear() { return MeasureUnit(7, 14); } +MeasureUnit *MeasureUnit::createYearPerson(UErrorCode &status) { + return MeasureUnit::create(7, 15, status); +} + +MeasureUnit MeasureUnit::getYearPerson() { + return MeasureUnit(7, 15); +} + MeasureUnit *MeasureUnit::createAmpere(UErrorCode &status) { return MeasureUnit::create(8, 0, status); } @@ -1131,6 +1155,14 @@ MeasureUnit MeasureUnit::getKilowattHour() { return MeasureUnit(9, 7); } +MeasureUnit *MeasureUnit::createThermUs(UErrorCode &status) { + return MeasureUnit::create(9, 8, status); +} + +MeasureUnit MeasureUnit::getThermUs() { + return MeasureUnit(9, 8); +} + MeasureUnit *MeasureUnit::createNewton(UErrorCode &status) { return MeasureUnit::create(10, 0, status); } @@ -1179,708 +1211,780 @@ MeasureUnit MeasureUnit::getMegahertz() { return MeasureUnit(11, 3); } -MeasureUnit *MeasureUnit::createAstronomicalUnit(UErrorCode &status) { +MeasureUnit *MeasureUnit::createDotPerCentimeter(UErrorCode &status) { return MeasureUnit::create(12, 0, status); } -MeasureUnit MeasureUnit::getAstronomicalUnit() { +MeasureUnit MeasureUnit::getDotPerCentimeter() { return MeasureUnit(12, 0); } -MeasureUnit *MeasureUnit::createCentimeter(UErrorCode &status) { +MeasureUnit *MeasureUnit::createDotPerInch(UErrorCode &status) { return MeasureUnit::create(12, 1, status); } -MeasureUnit MeasureUnit::getCentimeter() { +MeasureUnit MeasureUnit::getDotPerInch() { return MeasureUnit(12, 1); } -MeasureUnit *MeasureUnit::createDecimeter(UErrorCode &status) { +MeasureUnit *MeasureUnit::createEm(UErrorCode &status) { return MeasureUnit::create(12, 2, status); } -MeasureUnit MeasureUnit::getDecimeter() { +MeasureUnit MeasureUnit::getEm() { return MeasureUnit(12, 2); } -MeasureUnit *MeasureUnit::createFathom(UErrorCode &status) { +MeasureUnit *MeasureUnit::createMegapixel(UErrorCode &status) { return MeasureUnit::create(12, 3, status); } -MeasureUnit MeasureUnit::getFathom() { +MeasureUnit MeasureUnit::getMegapixel() { return MeasureUnit(12, 3); } -MeasureUnit *MeasureUnit::createFoot(UErrorCode &status) { +MeasureUnit *MeasureUnit::createPixel(UErrorCode &status) { return MeasureUnit::create(12, 4, status); } -MeasureUnit MeasureUnit::getFoot() { +MeasureUnit MeasureUnit::getPixel() { return MeasureUnit(12, 4); } -MeasureUnit *MeasureUnit::createFurlong(UErrorCode &status) { +MeasureUnit *MeasureUnit::createPixelPerCentimeter(UErrorCode &status) { return MeasureUnit::create(12, 5, status); } -MeasureUnit MeasureUnit::getFurlong() { +MeasureUnit MeasureUnit::getPixelPerCentimeter() { return MeasureUnit(12, 5); } -MeasureUnit *MeasureUnit::createInch(UErrorCode &status) { +MeasureUnit *MeasureUnit::createPixelPerInch(UErrorCode &status) { return MeasureUnit::create(12, 6, status); } -MeasureUnit MeasureUnit::getInch() { +MeasureUnit MeasureUnit::getPixelPerInch() { return MeasureUnit(12, 6); } +MeasureUnit *MeasureUnit::createAstronomicalUnit(UErrorCode &status) { + return MeasureUnit::create(13, 0, status); +} + +MeasureUnit MeasureUnit::getAstronomicalUnit() { + return MeasureUnit(13, 0); +} + +MeasureUnit *MeasureUnit::createCentimeter(UErrorCode &status) { + return MeasureUnit::create(13, 1, status); +} + +MeasureUnit MeasureUnit::getCentimeter() { + return MeasureUnit(13, 1); +} + +MeasureUnit *MeasureUnit::createDecimeter(UErrorCode &status) { + return MeasureUnit::create(13, 2, status); +} + +MeasureUnit MeasureUnit::getDecimeter() { + return MeasureUnit(13, 2); +} + +MeasureUnit *MeasureUnit::createFathom(UErrorCode &status) { + return MeasureUnit::create(13, 3, status); +} + +MeasureUnit MeasureUnit::getFathom() { + return MeasureUnit(13, 3); +} + +MeasureUnit *MeasureUnit::createFoot(UErrorCode &status) { + return MeasureUnit::create(13, 4, status); +} + +MeasureUnit MeasureUnit::getFoot() { + return MeasureUnit(13, 4); +} + +MeasureUnit *MeasureUnit::createFurlong(UErrorCode &status) { + return MeasureUnit::create(13, 5, status); +} + +MeasureUnit MeasureUnit::getFurlong() { + return MeasureUnit(13, 5); +} + +MeasureUnit *MeasureUnit::createInch(UErrorCode &status) { + return MeasureUnit::create(13, 6, status); +} + +MeasureUnit MeasureUnit::getInch() { + return MeasureUnit(13, 6); +} + MeasureUnit *MeasureUnit::createKilometer(UErrorCode &status) { - return MeasureUnit::create(12, 7, status); + return MeasureUnit::create(13, 7, status); } MeasureUnit MeasureUnit::getKilometer() { - return MeasureUnit(12, 7); + return MeasureUnit(13, 7); } MeasureUnit *MeasureUnit::createLightYear(UErrorCode &status) { - return MeasureUnit::create(12, 8, status); + return MeasureUnit::create(13, 8, status); } MeasureUnit MeasureUnit::getLightYear() { - return MeasureUnit(12, 8); + return MeasureUnit(13, 8); } MeasureUnit *MeasureUnit::createMeter(UErrorCode &status) { - return MeasureUnit::create(12, 9, status); + return MeasureUnit::create(13, 9, status); } MeasureUnit MeasureUnit::getMeter() { - return MeasureUnit(12, 9); + return MeasureUnit(13, 9); } MeasureUnit *MeasureUnit::createMicrometer(UErrorCode &status) { - return MeasureUnit::create(12, 10, status); + return MeasureUnit::create(13, 10, status); } MeasureUnit MeasureUnit::getMicrometer() { - return MeasureUnit(12, 10); + return MeasureUnit(13, 10); } MeasureUnit *MeasureUnit::createMile(UErrorCode &status) { - return MeasureUnit::create(12, 11, status); + return MeasureUnit::create(13, 11, status); } MeasureUnit MeasureUnit::getMile() { - return MeasureUnit(12, 11); + return MeasureUnit(13, 11); } MeasureUnit *MeasureUnit::createMileScandinavian(UErrorCode &status) { - return MeasureUnit::create(12, 12, status); + return MeasureUnit::create(13, 12, status); } MeasureUnit MeasureUnit::getMileScandinavian() { - return MeasureUnit(12, 12); + return MeasureUnit(13, 12); } MeasureUnit *MeasureUnit::createMillimeter(UErrorCode &status) { - return MeasureUnit::create(12, 13, status); + return MeasureUnit::create(13, 13, status); } MeasureUnit MeasureUnit::getMillimeter() { - return MeasureUnit(12, 13); + return MeasureUnit(13, 13); } MeasureUnit *MeasureUnit::createNanometer(UErrorCode &status) { - return MeasureUnit::create(12, 14, status); + return MeasureUnit::create(13, 14, status); } MeasureUnit MeasureUnit::getNanometer() { - return MeasureUnit(12, 14); + return MeasureUnit(13, 14); } MeasureUnit *MeasureUnit::createNauticalMile(UErrorCode &status) { - return MeasureUnit::create(12, 15, status); + return MeasureUnit::create(13, 15, status); } MeasureUnit MeasureUnit::getNauticalMile() { - return MeasureUnit(12, 15); + return MeasureUnit(13, 15); } MeasureUnit *MeasureUnit::createParsec(UErrorCode &status) { - return MeasureUnit::create(12, 16, status); + return MeasureUnit::create(13, 16, status); } MeasureUnit MeasureUnit::getParsec() { - return MeasureUnit(12, 16); + return MeasureUnit(13, 16); } MeasureUnit *MeasureUnit::createPicometer(UErrorCode &status) { - return MeasureUnit::create(12, 17, status); + return MeasureUnit::create(13, 17, status); } MeasureUnit MeasureUnit::getPicometer() { - return MeasureUnit(12, 17); + return MeasureUnit(13, 17); } MeasureUnit *MeasureUnit::createPoint(UErrorCode &status) { - return MeasureUnit::create(12, 18, status); + return MeasureUnit::create(13, 18, status); } MeasureUnit MeasureUnit::getPoint() { - return MeasureUnit(12, 18); + return MeasureUnit(13, 18); } MeasureUnit *MeasureUnit::createSolarRadius(UErrorCode &status) { - return MeasureUnit::create(12, 19, status); + return MeasureUnit::create(13, 19, status); } MeasureUnit MeasureUnit::getSolarRadius() { - return MeasureUnit(12, 19); + return MeasureUnit(13, 19); } MeasureUnit *MeasureUnit::createYard(UErrorCode &status) { - return MeasureUnit::create(12, 20, status); + return MeasureUnit::create(13, 20, status); } MeasureUnit MeasureUnit::getYard() { - return MeasureUnit(12, 20); + return MeasureUnit(13, 20); } MeasureUnit *MeasureUnit::createLux(UErrorCode &status) { - return MeasureUnit::create(13, 0, status); + return MeasureUnit::create(14, 0, status); } MeasureUnit MeasureUnit::getLux() { - return MeasureUnit(13, 0); + return MeasureUnit(14, 0); } MeasureUnit *MeasureUnit::createSolarLuminosity(UErrorCode &status) { - return MeasureUnit::create(13, 1, status); + return MeasureUnit::create(14, 1, status); } MeasureUnit MeasureUnit::getSolarLuminosity() { - return MeasureUnit(13, 1); + return MeasureUnit(14, 1); } MeasureUnit *MeasureUnit::createCarat(UErrorCode &status) { - return MeasureUnit::create(14, 0, status); + return MeasureUnit::create(15, 0, status); } MeasureUnit MeasureUnit::getCarat() { - return MeasureUnit(14, 0); + return MeasureUnit(15, 0); } MeasureUnit *MeasureUnit::createDalton(UErrorCode &status) { - return MeasureUnit::create(14, 1, status); + return MeasureUnit::create(15, 1, status); } MeasureUnit MeasureUnit::getDalton() { - return MeasureUnit(14, 1); + return MeasureUnit(15, 1); } MeasureUnit *MeasureUnit::createEarthMass(UErrorCode &status) { - return MeasureUnit::create(14, 2, status); + return MeasureUnit::create(15, 2, status); } MeasureUnit MeasureUnit::getEarthMass() { - return MeasureUnit(14, 2); + return MeasureUnit(15, 2); } MeasureUnit *MeasureUnit::createGram(UErrorCode &status) { - return MeasureUnit::create(14, 3, status); + return MeasureUnit::create(15, 3, status); } MeasureUnit MeasureUnit::getGram() { - return MeasureUnit(14, 3); + return MeasureUnit(15, 3); } MeasureUnit *MeasureUnit::createKilogram(UErrorCode &status) { - return MeasureUnit::create(14, 4, status); + return MeasureUnit::create(15, 4, status); } MeasureUnit MeasureUnit::getKilogram() { - return MeasureUnit(14, 4); + return MeasureUnit(15, 4); } MeasureUnit *MeasureUnit::createMetricTon(UErrorCode &status) { - return MeasureUnit::create(14, 5, status); + return MeasureUnit::create(15, 5, status); } MeasureUnit MeasureUnit::getMetricTon() { - return MeasureUnit(14, 5); + return MeasureUnit(15, 5); } MeasureUnit *MeasureUnit::createMicrogram(UErrorCode &status) { - return MeasureUnit::create(14, 6, status); + return MeasureUnit::create(15, 6, status); } MeasureUnit MeasureUnit::getMicrogram() { - return MeasureUnit(14, 6); + return MeasureUnit(15, 6); } MeasureUnit *MeasureUnit::createMilligram(UErrorCode &status) { - return MeasureUnit::create(14, 7, status); + return MeasureUnit::create(15, 7, status); } MeasureUnit MeasureUnit::getMilligram() { - return MeasureUnit(14, 7); + return MeasureUnit(15, 7); } MeasureUnit *MeasureUnit::createOunce(UErrorCode &status) { - return MeasureUnit::create(14, 8, status); + return MeasureUnit::create(15, 8, status); } MeasureUnit MeasureUnit::getOunce() { - return MeasureUnit(14, 8); + return MeasureUnit(15, 8); } MeasureUnit *MeasureUnit::createOunceTroy(UErrorCode &status) { - return MeasureUnit::create(14, 9, status); + return MeasureUnit::create(15, 9, status); } MeasureUnit MeasureUnit::getOunceTroy() { - return MeasureUnit(14, 9); + return MeasureUnit(15, 9); } MeasureUnit *MeasureUnit::createPound(UErrorCode &status) { - return MeasureUnit::create(14, 10, status); + return MeasureUnit::create(15, 10, status); } MeasureUnit MeasureUnit::getPound() { - return MeasureUnit(14, 10); + return MeasureUnit(15, 10); } MeasureUnit *MeasureUnit::createSolarMass(UErrorCode &status) { - return MeasureUnit::create(14, 11, status); + return MeasureUnit::create(15, 11, status); } MeasureUnit MeasureUnit::getSolarMass() { - return MeasureUnit(14, 11); + return MeasureUnit(15, 11); } MeasureUnit *MeasureUnit::createStone(UErrorCode &status) { - return MeasureUnit::create(14, 12, status); + return MeasureUnit::create(15, 12, status); } MeasureUnit MeasureUnit::getStone() { - return MeasureUnit(14, 12); + return MeasureUnit(15, 12); } MeasureUnit *MeasureUnit::createTon(UErrorCode &status) { - return MeasureUnit::create(14, 13, status); + return MeasureUnit::create(15, 13, status); } MeasureUnit MeasureUnit::getTon() { - return MeasureUnit(14, 13); + return MeasureUnit(15, 13); } MeasureUnit *MeasureUnit::createGigawatt(UErrorCode &status) { - return MeasureUnit::create(16, 0, status); + return MeasureUnit::create(17, 0, status); } MeasureUnit MeasureUnit::getGigawatt() { - return MeasureUnit(16, 0); + return MeasureUnit(17, 0); } MeasureUnit *MeasureUnit::createHorsepower(UErrorCode &status) { - return MeasureUnit::create(16, 1, status); + return MeasureUnit::create(17, 1, status); } MeasureUnit MeasureUnit::getHorsepower() { - return MeasureUnit(16, 1); + return MeasureUnit(17, 1); } MeasureUnit *MeasureUnit::createKilowatt(UErrorCode &status) { - return MeasureUnit::create(16, 2, status); + return MeasureUnit::create(17, 2, status); } MeasureUnit MeasureUnit::getKilowatt() { - return MeasureUnit(16, 2); + return MeasureUnit(17, 2); } MeasureUnit *MeasureUnit::createMegawatt(UErrorCode &status) { - return MeasureUnit::create(16, 3, status); + return MeasureUnit::create(17, 3, status); } MeasureUnit MeasureUnit::getMegawatt() { - return MeasureUnit(16, 3); + return MeasureUnit(17, 3); } MeasureUnit *MeasureUnit::createMilliwatt(UErrorCode &status) { - return MeasureUnit::create(16, 4, status); + return MeasureUnit::create(17, 4, status); } MeasureUnit MeasureUnit::getMilliwatt() { - return MeasureUnit(16, 4); + return MeasureUnit(17, 4); } MeasureUnit *MeasureUnit::createWatt(UErrorCode &status) { - return MeasureUnit::create(16, 5, status); + return MeasureUnit::create(17, 5, status); } MeasureUnit MeasureUnit::getWatt() { - return MeasureUnit(16, 5); + return MeasureUnit(17, 5); } MeasureUnit *MeasureUnit::createAtmosphere(UErrorCode &status) { - return MeasureUnit::create(17, 0, status); + return MeasureUnit::create(18, 0, status); } MeasureUnit MeasureUnit::getAtmosphere() { - return MeasureUnit(17, 0); + return MeasureUnit(18, 0); +} + +MeasureUnit *MeasureUnit::createBar(UErrorCode &status) { + return MeasureUnit::create(18, 1, status); +} + +MeasureUnit MeasureUnit::getBar() { + return MeasureUnit(18, 1); } MeasureUnit *MeasureUnit::createHectopascal(UErrorCode &status) { - return MeasureUnit::create(17, 1, status); + return MeasureUnit::create(18, 2, status); } MeasureUnit MeasureUnit::getHectopascal() { - return MeasureUnit(17, 1); + return MeasureUnit(18, 2); } MeasureUnit *MeasureUnit::createInchHg(UErrorCode &status) { - return MeasureUnit::create(17, 2, status); + return MeasureUnit::create(18, 3, status); } MeasureUnit MeasureUnit::getInchHg() { - return MeasureUnit(17, 2); + return MeasureUnit(18, 3); } MeasureUnit *MeasureUnit::createKilopascal(UErrorCode &status) { - return MeasureUnit::create(17, 3, status); + return MeasureUnit::create(18, 4, status); } MeasureUnit MeasureUnit::getKilopascal() { - return MeasureUnit(17, 3); + return MeasureUnit(18, 4); } MeasureUnit *MeasureUnit::createMegapascal(UErrorCode &status) { - return MeasureUnit::create(17, 4, status); + return MeasureUnit::create(18, 5, status); } MeasureUnit MeasureUnit::getMegapascal() { - return MeasureUnit(17, 4); + return MeasureUnit(18, 5); } MeasureUnit *MeasureUnit::createMillibar(UErrorCode &status) { - return MeasureUnit::create(17, 5, status); + return MeasureUnit::create(18, 6, status); } MeasureUnit MeasureUnit::getMillibar() { - return MeasureUnit(17, 5); + return MeasureUnit(18, 6); } MeasureUnit *MeasureUnit::createMillimeterOfMercury(UErrorCode &status) { - return MeasureUnit::create(17, 6, status); + return MeasureUnit::create(18, 7, status); } MeasureUnit MeasureUnit::getMillimeterOfMercury() { - return MeasureUnit(17, 6); + return MeasureUnit(18, 7); +} + +MeasureUnit *MeasureUnit::createPascal(UErrorCode &status) { + return MeasureUnit::create(18, 8, status); +} + +MeasureUnit MeasureUnit::getPascal() { + return MeasureUnit(18, 8); } MeasureUnit *MeasureUnit::createPoundPerSquareInch(UErrorCode &status) { - return MeasureUnit::create(17, 7, status); + return MeasureUnit::create(18, 9, status); } MeasureUnit MeasureUnit::getPoundPerSquareInch() { - return MeasureUnit(17, 7); + return MeasureUnit(18, 9); } MeasureUnit *MeasureUnit::createKilometerPerHour(UErrorCode &status) { - return MeasureUnit::create(18, 0, status); + return MeasureUnit::create(19, 0, status); } MeasureUnit MeasureUnit::getKilometerPerHour() { - return MeasureUnit(18, 0); + return MeasureUnit(19, 0); } MeasureUnit *MeasureUnit::createKnot(UErrorCode &status) { - return MeasureUnit::create(18, 1, status); + return MeasureUnit::create(19, 1, status); } MeasureUnit MeasureUnit::getKnot() { - return MeasureUnit(18, 1); + return MeasureUnit(19, 1); } MeasureUnit *MeasureUnit::createMeterPerSecond(UErrorCode &status) { - return MeasureUnit::create(18, 2, status); + return MeasureUnit::create(19, 2, status); } MeasureUnit MeasureUnit::getMeterPerSecond() { - return MeasureUnit(18, 2); + return MeasureUnit(19, 2); } MeasureUnit *MeasureUnit::createMilePerHour(UErrorCode &status) { - return MeasureUnit::create(18, 3, status); + return MeasureUnit::create(19, 3, status); } MeasureUnit MeasureUnit::getMilePerHour() { - return MeasureUnit(18, 3); + return MeasureUnit(19, 3); } MeasureUnit *MeasureUnit::createCelsius(UErrorCode &status) { - return MeasureUnit::create(19, 0, status); + return MeasureUnit::create(20, 0, status); } MeasureUnit MeasureUnit::getCelsius() { - return MeasureUnit(19, 0); + return MeasureUnit(20, 0); } MeasureUnit *MeasureUnit::createFahrenheit(UErrorCode &status) { - return MeasureUnit::create(19, 1, status); + return MeasureUnit::create(20, 1, status); } MeasureUnit MeasureUnit::getFahrenheit() { - return MeasureUnit(19, 1); + return MeasureUnit(20, 1); } MeasureUnit *MeasureUnit::createGenericTemperature(UErrorCode &status) { - return MeasureUnit::create(19, 2, status); + return MeasureUnit::create(20, 2, status); } MeasureUnit MeasureUnit::getGenericTemperature() { - return MeasureUnit(19, 2); + return MeasureUnit(20, 2); } MeasureUnit *MeasureUnit::createKelvin(UErrorCode &status) { - return MeasureUnit::create(19, 3, status); + return MeasureUnit::create(20, 3, status); } MeasureUnit MeasureUnit::getKelvin() { - return MeasureUnit(19, 3); + return MeasureUnit(20, 3); } MeasureUnit *MeasureUnit::createNewtonMeter(UErrorCode &status) { - return MeasureUnit::create(20, 0, status); + return MeasureUnit::create(21, 0, status); } MeasureUnit MeasureUnit::getNewtonMeter() { - return MeasureUnit(20, 0); + return MeasureUnit(21, 0); } MeasureUnit *MeasureUnit::createPoundFoot(UErrorCode &status) { - return MeasureUnit::create(20, 1, status); + return MeasureUnit::create(21, 1, status); } MeasureUnit MeasureUnit::getPoundFoot() { - return MeasureUnit(20, 1); + return MeasureUnit(21, 1); } MeasureUnit *MeasureUnit::createAcreFoot(UErrorCode &status) { - return MeasureUnit::create(21, 0, status); + return MeasureUnit::create(22, 0, status); } MeasureUnit MeasureUnit::getAcreFoot() { - return MeasureUnit(21, 0); + return MeasureUnit(22, 0); } MeasureUnit *MeasureUnit::createBarrel(UErrorCode &status) { - return MeasureUnit::create(21, 1, status); + return MeasureUnit::create(22, 1, status); } MeasureUnit MeasureUnit::getBarrel() { - return MeasureUnit(21, 1); + return MeasureUnit(22, 1); } MeasureUnit *MeasureUnit::createBushel(UErrorCode &status) { - return MeasureUnit::create(21, 2, status); + return MeasureUnit::create(22, 2, status); } MeasureUnit MeasureUnit::getBushel() { - return MeasureUnit(21, 2); + return MeasureUnit(22, 2); } MeasureUnit *MeasureUnit::createCentiliter(UErrorCode &status) { - return MeasureUnit::create(21, 3, status); + return MeasureUnit::create(22, 3, status); } MeasureUnit MeasureUnit::getCentiliter() { - return MeasureUnit(21, 3); + return MeasureUnit(22, 3); } MeasureUnit *MeasureUnit::createCubicCentimeter(UErrorCode &status) { - return MeasureUnit::create(21, 4, status); + return MeasureUnit::create(22, 4, status); } MeasureUnit MeasureUnit::getCubicCentimeter() { - return MeasureUnit(21, 4); + return MeasureUnit(22, 4); } MeasureUnit *MeasureUnit::createCubicFoot(UErrorCode &status) { - return MeasureUnit::create(21, 5, status); + return MeasureUnit::create(22, 5, status); } MeasureUnit MeasureUnit::getCubicFoot() { - return MeasureUnit(21, 5); + return MeasureUnit(22, 5); } MeasureUnit *MeasureUnit::createCubicInch(UErrorCode &status) { - return MeasureUnit::create(21, 6, status); + return MeasureUnit::create(22, 6, status); } MeasureUnit MeasureUnit::getCubicInch() { - return MeasureUnit(21, 6); + return MeasureUnit(22, 6); } MeasureUnit *MeasureUnit::createCubicKilometer(UErrorCode &status) { - return MeasureUnit::create(21, 7, status); + return MeasureUnit::create(22, 7, status); } MeasureUnit MeasureUnit::getCubicKilometer() { - return MeasureUnit(21, 7); + return MeasureUnit(22, 7); } MeasureUnit *MeasureUnit::createCubicMeter(UErrorCode &status) { - return MeasureUnit::create(21, 8, status); + return MeasureUnit::create(22, 8, status); } MeasureUnit MeasureUnit::getCubicMeter() { - return MeasureUnit(21, 8); + return MeasureUnit(22, 8); } MeasureUnit *MeasureUnit::createCubicMile(UErrorCode &status) { - return MeasureUnit::create(21, 9, status); + return MeasureUnit::create(22, 9, status); } MeasureUnit MeasureUnit::getCubicMile() { - return MeasureUnit(21, 9); + return MeasureUnit(22, 9); } MeasureUnit *MeasureUnit::createCubicYard(UErrorCode &status) { - return MeasureUnit::create(21, 10, status); + return MeasureUnit::create(22, 10, status); } MeasureUnit MeasureUnit::getCubicYard() { - return MeasureUnit(21, 10); + return MeasureUnit(22, 10); } MeasureUnit *MeasureUnit::createCup(UErrorCode &status) { - return MeasureUnit::create(21, 11, status); + return MeasureUnit::create(22, 11, status); } MeasureUnit MeasureUnit::getCup() { - return MeasureUnit(21, 11); + return MeasureUnit(22, 11); } MeasureUnit *MeasureUnit::createCupMetric(UErrorCode &status) { - return MeasureUnit::create(21, 12, status); + return MeasureUnit::create(22, 12, status); } MeasureUnit MeasureUnit::getCupMetric() { - return MeasureUnit(21, 12); + return MeasureUnit(22, 12); } MeasureUnit *MeasureUnit::createDeciliter(UErrorCode &status) { - return MeasureUnit::create(21, 13, status); + return MeasureUnit::create(22, 13, status); } MeasureUnit MeasureUnit::getDeciliter() { - return MeasureUnit(21, 13); + return MeasureUnit(22, 13); } MeasureUnit *MeasureUnit::createFluidOunce(UErrorCode &status) { - return MeasureUnit::create(21, 14, status); + return MeasureUnit::create(22, 14, status); } MeasureUnit MeasureUnit::getFluidOunce() { - return MeasureUnit(21, 14); + return MeasureUnit(22, 14); } MeasureUnit *MeasureUnit::createFluidOunceImperial(UErrorCode &status) { - return MeasureUnit::create(21, 15, status); + return MeasureUnit::create(22, 15, status); } MeasureUnit MeasureUnit::getFluidOunceImperial() { - return MeasureUnit(21, 15); + return MeasureUnit(22, 15); } MeasureUnit *MeasureUnit::createGallon(UErrorCode &status) { - return MeasureUnit::create(21, 16, status); + return MeasureUnit::create(22, 16, status); } MeasureUnit MeasureUnit::getGallon() { - return MeasureUnit(21, 16); + return MeasureUnit(22, 16); } MeasureUnit *MeasureUnit::createGallonImperial(UErrorCode &status) { - return MeasureUnit::create(21, 17, status); + return MeasureUnit::create(22, 17, status); } MeasureUnit MeasureUnit::getGallonImperial() { - return MeasureUnit(21, 17); + return MeasureUnit(22, 17); } MeasureUnit *MeasureUnit::createHectoliter(UErrorCode &status) { - return MeasureUnit::create(21, 18, status); + return MeasureUnit::create(22, 18, status); } MeasureUnit MeasureUnit::getHectoliter() { - return MeasureUnit(21, 18); + return MeasureUnit(22, 18); } MeasureUnit *MeasureUnit::createLiter(UErrorCode &status) { - return MeasureUnit::create(21, 19, status); + return MeasureUnit::create(22, 19, status); } MeasureUnit MeasureUnit::getLiter() { - return MeasureUnit(21, 19); + return MeasureUnit(22, 19); } MeasureUnit *MeasureUnit::createMegaliter(UErrorCode &status) { - return MeasureUnit::create(21, 20, status); + return MeasureUnit::create(22, 20, status); } MeasureUnit MeasureUnit::getMegaliter() { - return MeasureUnit(21, 20); + return MeasureUnit(22, 20); } MeasureUnit *MeasureUnit::createMilliliter(UErrorCode &status) { - return MeasureUnit::create(21, 21, status); + return MeasureUnit::create(22, 21, status); } MeasureUnit MeasureUnit::getMilliliter() { - return MeasureUnit(21, 21); + return MeasureUnit(22, 21); } MeasureUnit *MeasureUnit::createPint(UErrorCode &status) { - return MeasureUnit::create(21, 22, status); + return MeasureUnit::create(22, 22, status); } MeasureUnit MeasureUnit::getPint() { - return MeasureUnit(21, 22); + return MeasureUnit(22, 22); } MeasureUnit *MeasureUnit::createPintMetric(UErrorCode &status) { - return MeasureUnit::create(21, 23, status); + return MeasureUnit::create(22, 23, status); } MeasureUnit MeasureUnit::getPintMetric() { - return MeasureUnit(21, 23); + return MeasureUnit(22, 23); } MeasureUnit *MeasureUnit::createQuart(UErrorCode &status) { - return MeasureUnit::create(21, 24, status); + return MeasureUnit::create(22, 24, status); } MeasureUnit MeasureUnit::getQuart() { - return MeasureUnit(21, 24); + return MeasureUnit(22, 24); } MeasureUnit *MeasureUnit::createTablespoon(UErrorCode &status) { - return MeasureUnit::create(21, 25, status); + return MeasureUnit::create(22, 25, status); } MeasureUnit MeasureUnit::getTablespoon() { - return MeasureUnit(21, 25); + return MeasureUnit(22, 25); } MeasureUnit *MeasureUnit::createTeaspoon(UErrorCode &status) { - return MeasureUnit::create(21, 26, status); + return MeasureUnit::create(22, 26, status); } MeasureUnit MeasureUnit::getTeaspoon() { - return MeasureUnit(21, 26); + return MeasureUnit(22, 26); } // End generated code @@ -1923,7 +2027,7 @@ MeasureUnit &MeasureUnit::operator=(const MeasureUnit &other) { return *this; } -UObject *MeasureUnit::clone() const { +MeasureUnit *MeasureUnit::clone() const { return new MeasureUnit(*this); } diff --git a/deps/icu-small/source/i18n/measure.cpp b/deps/icu-small/source/i18n/measure.cpp index d9084f87db2baa..bffa44215e3cde 100644 --- a/deps/icu-small/source/i18n/measure.cpp +++ b/deps/icu-small/source/i18n/measure.cpp @@ -43,12 +43,12 @@ Measure& Measure::operator=(const Measure& other) { if (this != &other) { delete unit; number = other.number; - unit = (MeasureUnit*) other.unit->clone(); + unit = other.unit->clone(); } return *this; } -UObject *Measure::clone() const { +Measure *Measure::clone() const { return new Measure(*this); } diff --git a/deps/icu-small/source/i18n/msgfmt.cpp b/deps/icu-small/source/i18n/msgfmt.cpp index e39b26b969889f..3ca368ef954846 100644 --- a/deps/icu-small/source/i18n/msgfmt.cpp +++ b/deps/icu-small/source/i18n/msgfmt.cpp @@ -436,7 +436,7 @@ MessageFormat::operator==(const Format& rhs) const // ------------------------------------- // Creates a copy of this MessageFormat, the caller owns the copy. -Format* +MessageFormat* MessageFormat::clone() const { return new MessageFormat(*this); @@ -813,7 +813,7 @@ MessageFormat::getFormats(int32_t& cnt) const // Get total required capacity first (it's refreshed on each call). int32_t totalCapacity = 0; - for (int32_t partIndex = 0; (partIndex = nextTopLevelArgStart(partIndex)) >= 0; ++totalCapacity) {}; + for (int32_t partIndex = 0; (partIndex = nextTopLevelArgStart(partIndex)) >= 0; ++totalCapacity) {} MessageFormat* t = const_cast (this); cnt = 0; @@ -1873,7 +1873,7 @@ UBool MessageFormat::DummyFormat::operator==(const Format&) const { return TRUE; } -Format* MessageFormat::DummyFormat::clone() const { +MessageFormat::DummyFormat* MessageFormat::DummyFormat::clone() const { return new DummyFormat(); } diff --git a/deps/icu-small/source/i18n/name2uni.cpp b/deps/icu-small/source/i18n/name2uni.cpp index d901eb126a8a46..90bca9d71bef87 100644 --- a/deps/icu-small/source/i18n/name2uni.cpp +++ b/deps/icu-small/source/i18n/name2uni.cpp @@ -100,7 +100,7 @@ NameUnicodeTransliterator::NameUnicodeTransliterator(const NameUnicodeTransliter /** * Transliterator API. */ -Transliterator* NameUnicodeTransliterator::clone(void) const { +NameUnicodeTransliterator* NameUnicodeTransliterator::clone() const { return new NameUnicodeTransliterator(*this); } diff --git a/deps/icu-small/source/i18n/name2uni.h b/deps/icu-small/source/i18n/name2uni.h index 4c743def32ede2..44ad85fb822cb3 100644 --- a/deps/icu-small/source/i18n/name2uni.h +++ b/deps/icu-small/source/i18n/name2uni.h @@ -49,7 +49,7 @@ class NameUnicodeTransliterator : public Transliterator { * Transliterator API. * @return A copy of the object. */ - virtual Transliterator* clone(void) const; + virtual NameUnicodeTransliterator* clone() const; /** * ICU "poor man's RTTI", returns a UClassID for the actual class. diff --git a/deps/icu-small/source/i18n/nortrans.cpp b/deps/icu-small/source/i18n/nortrans.cpp index 589c82482ec9b9..6a8d2c74194fb0 100644 --- a/deps/icu-small/source/i18n/nortrans.cpp +++ b/deps/icu-small/source/i18n/nortrans.cpp @@ -92,7 +92,7 @@ NormalizationTransliterator::NormalizationTransliterator(const NormalizationTran /** * Transliterator API. */ -Transliterator* NormalizationTransliterator::clone(void) const { +NormalizationTransliterator* NormalizationTransliterator::clone() const { return new NormalizationTransliterator(*this); } diff --git a/deps/icu-small/source/i18n/nortrans.h b/deps/icu-small/source/i18n/nortrans.h index d309452f9a4d6a..198ed29c95e70f 100644 --- a/deps/icu-small/source/i18n/nortrans.h +++ b/deps/icu-small/source/i18n/nortrans.h @@ -44,7 +44,7 @@ class NormalizationTransliterator : public Transliterator { * Transliterator API. * @return A copy of the object. */ - virtual Transliterator* clone(void) const; + virtual NormalizationTransliterator* clone() const; /** * ICU "poor man's RTTI", returns a UClassID for the actual class. diff --git a/deps/icu-small/source/i18n/nounit.cpp b/deps/icu-small/source/i18n/nounit.cpp index db07387c590af8..076f76f199c737 100644 --- a/deps/icu-small/source/i18n/nounit.cpp +++ b/deps/icu-small/source/i18n/nounit.cpp @@ -29,7 +29,7 @@ NoUnit::NoUnit(const char* subtype) { NoUnit::NoUnit(const NoUnit& other) : MeasureUnit(other) { } -UObject* NoUnit::clone() const { +NoUnit* NoUnit::clone() const { return new NoUnit(*this); } diff --git a/deps/icu-small/source/i18n/nultrans.cpp b/deps/icu-small/source/i18n/nultrans.cpp index 62d1290ac75e93..439cc55d381a2a 100644 --- a/deps/icu-small/source/i18n/nultrans.cpp +++ b/deps/icu-small/source/i18n/nultrans.cpp @@ -24,7 +24,7 @@ NullTransliterator::NullTransliterator() : Transliterator(UNICODE_STRING_SIMPLE( NullTransliterator::~NullTransliterator() {} -Transliterator* NullTransliterator::clone(void) const { +NullTransliterator* NullTransliterator::clone() const { return new NullTransliterator(); } diff --git a/deps/icu-small/source/i18n/nultrans.h b/deps/icu-small/source/i18n/nultrans.h index a01b04e9ba1ec9..36c92fa7b189d3 100644 --- a/deps/icu-small/source/i18n/nultrans.h +++ b/deps/icu-small/source/i18n/nultrans.h @@ -45,7 +45,7 @@ class NullTransliterator : public Transliterator { * Transliterator API. * @internal Use transliterator factory methods instead since this class will be removed in that release. */ - virtual Transliterator* clone(void) const; + virtual NullTransliterator* clone() const; /** * Implements {@link Transliterator#handleTransliterate}. diff --git a/deps/icu-small/source/i18n/number_affixutils.cpp b/deps/icu-small/source/i18n/number_affixutils.cpp index 3eb9c59bf49090..1039a84c656124 100644 --- a/deps/icu-small/source/i18n/number_affixutils.cpp +++ b/deps/icu-small/source/i18n/number_affixutils.cpp @@ -156,7 +156,7 @@ Field AffixUtils::getFieldForType(AffixPatternType type) { } int32_t -AffixUtils::unescape(const UnicodeString &affixPattern, NumberStringBuilder &output, int32_t position, +AffixUtils::unescape(const UnicodeString &affixPattern, FormattedStringBuilder &output, int32_t position, const SymbolProvider &provider, Field field, UErrorCode &status) { int32_t length = 0; AffixTag tag; @@ -230,7 +230,7 @@ UnicodeString AffixUtils::replaceType(const UnicodeString &affixPattern, AffixPa UnicodeString output(affixPattern); // copy if (affixPattern.length() == 0) { return output; - }; + } AffixTag tag; while (hasNext(tag, affixPattern)) { tag = nextToken(tag, affixPattern, status); @@ -246,7 +246,7 @@ bool AffixUtils::containsOnlySymbolsAndIgnorables(const UnicodeString& affixPatt const UnicodeSet& ignorables, UErrorCode& status) { if (affixPattern.length() == 0) { return true; - }; + } AffixTag tag; while (hasNext(tag, affixPattern)) { tag = nextToken(tag, affixPattern, status); @@ -262,7 +262,7 @@ void AffixUtils::iterateWithConsumer(const UnicodeString& affixPattern, TokenCon UErrorCode& status) { if (affixPattern.length() == 0) { return; - }; + } AffixTag tag; while (hasNext(tag, affixPattern)) { tag = nextToken(tag, affixPattern, status); diff --git a/deps/icu-small/source/i18n/number_affixutils.h b/deps/icu-small/source/i18n/number_affixutils.h index f011a54b316166..5cfde61ffd0ca2 100644 --- a/deps/icu-small/source/i18n/number_affixutils.h +++ b/deps/icu-small/source/i18n/number_affixutils.h @@ -11,7 +11,7 @@ #include "number_types.h" #include "unicode/stringpiece.h" #include "unicode/unistr.h" -#include "number_stringbuilder.h" +#include "formatted_string_builder.h" #include "unicode/uniset.h" U_NAMESPACE_BEGIN namespace number { @@ -134,16 +134,16 @@ class U_I18N_API AffixUtils { /** * Executes the unescape state machine. Replaces the unquoted characters "-", "+", "%", "‰", and * "¤" with the corresponding symbols provided by the {@link SymbolProvider}, and inserts the - * result into the NumberStringBuilder at the requested location. + * result into the FormattedStringBuilder at the requested location. * *

Example input: "'-'¤x"; example output: "-$x" * * @param affixPattern The original string to be unescaped. - * @param output The NumberStringBuilder to mutate with the result. - * @param position The index into the NumberStringBuilder to insert the string. + * @param output The FormattedStringBuilder to mutate with the result. + * @param position The index into the FormattedStringBuilder to insert the string. * @param provider An object to generate locale symbols. */ - static int32_t unescape(const UnicodeString& affixPattern, NumberStringBuilder& output, + static int32_t unescape(const UnicodeString& affixPattern, FormattedStringBuilder& output, int32_t position, const SymbolProvider& provider, Field field, UErrorCode& status); diff --git a/deps/icu-small/source/i18n/number_asformat.cpp b/deps/icu-small/source/i18n/number_asformat.cpp index 9d3ea69f578e1e..e876174fdce0ee 100644 --- a/deps/icu-small/source/i18n/number_asformat.cpp +++ b/deps/icu-small/source/i18n/number_asformat.cpp @@ -43,7 +43,7 @@ UBool LocalizedNumberFormatterAsFormat::operator==(const Format& other) const { return fFormatter.toSkeleton(localStatus) == _other->fFormatter.toSkeleton(localStatus); } -Format* LocalizedNumberFormatterAsFormat::clone() const { +LocalizedNumberFormatterAsFormat* LocalizedNumberFormatterAsFormat::clone() const { return new LocalizedNumberFormatterAsFormat(*this); } @@ -62,12 +62,12 @@ UnicodeString& LocalizedNumberFormatterAsFormat::format(const Formattable& obj, // always return first occurrence: pos.setBeginIndex(0); pos.setEndIndex(0); - bool found = data.getStringRef().nextFieldPosition(pos, status); + bool found = data.nextFieldPosition(pos, status); if (found && appendTo.length() != 0) { pos.setBeginIndex(pos.getBeginIndex() + appendTo.length()); pos.setEndIndex(pos.getEndIndex() + appendTo.length()); } - appendTo.append(data.getStringRef().toTempUnicodeString()); + appendTo.append(data.toTempString(status)); return appendTo; } @@ -84,10 +84,10 @@ UnicodeString& LocalizedNumberFormatterAsFormat::format(const Formattable& obj, if (U_FAILURE(status)) { return appendTo; } - appendTo.append(data.getStringRef().toTempUnicodeString()); + appendTo.append(data.toTempString(status)); if (posIter != nullptr) { FieldPositionIteratorHandler fpih(posIter, status); - data.getStringRef().getAllFieldPositions(fpih, status); + data.getAllFieldPositions(fpih, status); } return appendTo; } diff --git a/deps/icu-small/source/i18n/number_asformat.h b/deps/icu-small/source/i18n/number_asformat.h index bf82d72ae302a4..7b0a1dee6f438b 100644 --- a/deps/icu-small/source/i18n/number_asformat.h +++ b/deps/icu-small/source/i18n/number_asformat.h @@ -45,7 +45,7 @@ class U_I18N_API LocalizedNumberFormatterAsFormat : public Format { /** * Creates a copy of this object. */ - Format* clone() const U_OVERRIDE; + LocalizedNumberFormatterAsFormat* clone() const U_OVERRIDE; /** * Formats a Number using the wrapped LocalizedNumberFormatter. The provided formattable must be a diff --git a/deps/icu-small/source/i18n/number_compact.cpp b/deps/icu-small/source/i18n/number_compact.cpp index f330251be38c88..3d259999d6ce52 100644 --- a/deps/icu-small/source/i18n/number_compact.cpp +++ b/deps/icu-small/source/i18n/number_compact.cpp @@ -272,15 +272,15 @@ void CompactHandler::processQuantity(DecimalQuantity &quantity, MicroProps &micr parent->processQuantity(quantity, micros, status); if (U_FAILURE(status)) { return; } - // Treat zero as if it had magnitude 0 + // Treat zero, NaN, and infinity as if they had magnitude 0 int32_t magnitude; - if (quantity.isZero()) { + if (quantity.isZeroish()) { magnitude = 0; micros.rounder.apply(quantity, status); } else { // TODO: Revisit chooseMultiplierAndApply int32_t multiplier = micros.rounder.chooseMultiplierAndApply(quantity, data, status); - magnitude = quantity.isZero() ? 0 : quantity.getMagnitude(); + magnitude = quantity.isZeroish() ? 0 : quantity.getMagnitude(); magnitude -= multiplier; } diff --git a/deps/icu-small/source/i18n/number_currencysymbols.cpp b/deps/icu-small/source/i18n/number_currencysymbols.cpp index 0b79d6596f18c0..4d6fb2cb1d8dec 100644 --- a/deps/icu-small/source/i18n/number_currencysymbols.cpp +++ b/deps/icu-small/source/i18n/number_currencysymbols.cpp @@ -53,13 +53,12 @@ UnicodeString CurrencySymbols::getCurrencySymbol(UErrorCode& status) const { UnicodeString CurrencySymbols::loadSymbol(UCurrNameStyle selector, UErrorCode& status) const { const char16_t* isoCode = fCurrency.getISOCurrency(); - UBool ignoredIsChoiceFormatFillIn = FALSE; int32_t symbolLen = 0; const char16_t* symbol = ucurr_getName( isoCode, fLocaleName.data(), selector, - &ignoredIsChoiceFormatFillIn, + nullptr /* isChoiceFormat */, &symbolLen, &status); // If given an unknown currency, ucurr_getName returns the input string, which we can't alias safely! @@ -82,12 +81,11 @@ UnicodeString CurrencySymbols::getIntlCurrencySymbol(UErrorCode&) const { UnicodeString CurrencySymbols::getPluralName(StandardPlural::Form plural, UErrorCode& status) const { const char16_t* isoCode = fCurrency.getISOCurrency(); - UBool isChoiceFormat = FALSE; int32_t symbolLen = 0; const char16_t* symbol = ucurr_getPluralName( isoCode, fLocaleName.data(), - &isChoiceFormat, + nullptr /* isChoiceFormat */, StandardPlural::getKeyword(plural), &symbolLen, &status); diff --git a/deps/icu-small/source/i18n/number_decimalquantity.cpp b/deps/icu-small/source/i18n/number_decimalquantity.cpp index d899c27671181e..2c4c2ce7e9931b 100644 --- a/deps/icu-small/source/i18n/number_decimalquantity.cpp +++ b/deps/icu-small/source/i18n/number_decimalquantity.cpp @@ -205,7 +205,7 @@ void DecimalQuantity::roundToIncrement(double roundingIncrement, RoundingMode ro } void DecimalQuantity::multiplyBy(const DecNum& multiplicand, UErrorCode& status) { - if (isInfinite() || isZero() || isNaN()) { + if (isZeroish()) { return; } // Convert to DecNum, multiply, and convert back. @@ -218,7 +218,7 @@ void DecimalQuantity::multiplyBy(const DecNum& multiplicand, UErrorCode& status) } void DecimalQuantity::divideBy(const DecNum& divisor, UErrorCode& status) { - if (isInfinite() || isZero() || isNaN()) { + if (isZeroish()) { return; } // Convert to DecNum, multiply, and convert back. @@ -318,8 +318,14 @@ bool DecimalQuantity::isNegative() const { return (flags & NEGATIVE_FLAG) != 0; } -int8_t DecimalQuantity::signum() const { - return isNegative() ? -1 : isZero() ? 0 : 1; +Signum DecimalQuantity::signum() const { + if (isNegative()) { + return SIGNUM_NEG; + } else if (isZeroish() && !isInfinite()) { + return SIGNUM_ZERO; + } else { + return SIGNUM_POS; + } } bool DecimalQuantity::isInfinite() const { @@ -330,7 +336,7 @@ bool DecimalQuantity::isNaN() const { return (flags & NAN_FLAG) != 0; } -bool DecimalQuantity::isZero() const { +bool DecimalQuantity::isZeroish() const { return precision == 0; } @@ -548,7 +554,10 @@ uint64_t DecimalQuantity::toFractionLong(bool includeTrailingZeros) const { } bool DecimalQuantity::fitsInLong(bool ignoreFraction) const { - if (isZero()) { + if (isInfinite() || isNaN()) { + return false; + } + if (isZeroish()) { return true; } if (scale < 0 && !ignoreFraction) { diff --git a/deps/icu-small/source/i18n/number_decimalquantity.h b/deps/icu-small/source/i18n/number_decimalquantity.h index 06cc836c7796f2..4ec6c5a5b2bcf7 100644 --- a/deps/icu-small/source/i18n/number_decimalquantity.h +++ b/deps/icu-small/source/i18n/number_decimalquantity.h @@ -146,14 +146,17 @@ class U_I18N_API DecimalQuantity : public IFixedDecimal, public UMemory { */ int32_t getMagnitude() const; - /** @return Whether the value represented by this {@link DecimalQuantity} is zero. */ - bool isZero() const; + /** + * @return Whether the value represented by this {@link DecimalQuantity} is + * zero, infinity, or NaN. + */ + bool isZeroish() const; /** @return Whether the value represented by this {@link DecimalQuantity} is less than zero. */ bool isNegative() const; - /** @return -1 if the value is negative; 1 if positive; or 0 if zero. */ - int8_t signum() const; + /** @return The appropriate value from the Signum enum. */ + Signum signum() const; /** @return Whether the value represented by this {@link DecimalQuantity} is infinite. */ bool isInfinite() const U_OVERRIDE; diff --git a/deps/icu-small/source/i18n/number_decnum.h b/deps/icu-small/source/i18n/number_decnum.h index a7793470b55695..0c7399dbddd43b 100644 --- a/deps/icu-small/source/i18n/number_decnum.h +++ b/deps/icu-small/source/i18n/number_decnum.h @@ -55,6 +55,8 @@ class U_I18N_API DecNum : public UMemory { bool isZero() const; + void toString(ByteSink& output, UErrorCode& status) const; + inline const decNumber* getRawDecNumber() const { return fData.getAlias(); } diff --git a/deps/icu-small/source/i18n/number_fluent.cpp b/deps/icu-small/source/i18n/number_fluent.cpp index 09e0905609eb30..2dbd2fa6cd5acf 100644 --- a/deps/icu-small/source/i18n/number_fluent.cpp +++ b/deps/icu-small/source/i18n/number_fluent.cpp @@ -696,8 +696,8 @@ void LocalizedNumberFormatter::formatImpl(impl::UFormattedNumberData* results, U void LocalizedNumberFormatter::getAffixImpl(bool isPrefix, bool isNegative, UnicodeString& result, UErrorCode& status) const { - NumberStringBuilder string; - auto signum = static_cast(isNegative ? -1 : 1); + FormattedStringBuilder string; + auto signum = static_cast(isNegative ? SIGNUM_NEG : SIGNUM_POS); // Always return affixes for plural form OTHER. static const StandardPlural::Form plural = StandardPlural::OTHER; int32_t prefixLength; diff --git a/deps/icu-small/source/i18n/number_formatimpl.cpp b/deps/icu-small/source/i18n/number_formatimpl.cpp index 08b833beb7ad2e..2e2c4a9620c77c 100644 --- a/deps/icu-small/source/i18n/number_formatimpl.cpp +++ b/deps/icu-small/source/i18n/number_formatimpl.cpp @@ -72,7 +72,7 @@ NumberFormatterImpl::NumberFormatterImpl(const MacroProps& macros, UErrorCode& s } int32_t NumberFormatterImpl::formatStatic(const MacroProps& macros, DecimalQuantity& inValue, - NumberStringBuilder& outString, UErrorCode& status) { + FormattedStringBuilder& outString, UErrorCode& status) { NumberFormatterImpl impl(macros, false, status); MicroProps& micros = impl.preProcessUnsafe(inValue, status); if (U_FAILURE(status)) { return 0; } @@ -81,9 +81,9 @@ int32_t NumberFormatterImpl::formatStatic(const MacroProps& macros, DecimalQuant return length; } -int32_t NumberFormatterImpl::getPrefixSuffixStatic(const MacroProps& macros, int8_t signum, +int32_t NumberFormatterImpl::getPrefixSuffixStatic(const MacroProps& macros, Signum signum, StandardPlural::Form plural, - NumberStringBuilder& outString, UErrorCode& status) { + FormattedStringBuilder& outString, UErrorCode& status) { NumberFormatterImpl impl(macros, false, status); return impl.getPrefixSuffixUnsafe(signum, plural, outString, status); } @@ -93,7 +93,7 @@ int32_t NumberFormatterImpl::getPrefixSuffixStatic(const MacroProps& macros, int // The "unsafe" method simply re-uses fMicros, eliminating the extra copy operation. // See MicroProps::processQuantity() for details. -int32_t NumberFormatterImpl::format(DecimalQuantity& inValue, NumberStringBuilder& outString, +int32_t NumberFormatterImpl::format(DecimalQuantity& inValue, FormattedStringBuilder& outString, UErrorCode& status) const { MicroProps micros; preProcess(inValue, micros, status); @@ -129,8 +129,8 @@ MicroProps& NumberFormatterImpl::preProcessUnsafe(DecimalQuantity& inValue, UErr return fMicros; } -int32_t NumberFormatterImpl::getPrefixSuffix(int8_t signum, StandardPlural::Form plural, - NumberStringBuilder& outString, UErrorCode& status) const { +int32_t NumberFormatterImpl::getPrefixSuffix(Signum signum, StandardPlural::Form plural, + FormattedStringBuilder& outString, UErrorCode& status) const { if (U_FAILURE(status)) { return 0; } // #13453: DecimalFormat wants the affixes from the pattern only (modMiddle, aka pattern modifier). // Safe path: use fImmutablePatternModifier. @@ -140,8 +140,8 @@ int32_t NumberFormatterImpl::getPrefixSuffix(int8_t signum, StandardPlural::Form return modifier->getPrefixLength(); } -int32_t NumberFormatterImpl::getPrefixSuffixUnsafe(int8_t signum, StandardPlural::Form plural, - NumberStringBuilder& outString, UErrorCode& status) { +int32_t NumberFormatterImpl::getPrefixSuffixUnsafe(Signum signum, StandardPlural::Form plural, + FormattedStringBuilder& outString, UErrorCode& status) { if (U_FAILURE(status)) { return 0; } // #13453: DecimalFormat wants the affixes from the pattern only (modMiddle, aka pattern modifier). // Unsafe path: use fPatternModifier. @@ -215,7 +215,12 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe, if (macros.symbols.isDecimalFormatSymbols()) { fMicros.symbols = macros.symbols.getDecimalFormatSymbols(); } else { - fMicros.symbols = new DecimalFormatSymbols(macros.locale, *ns, status); + auto newSymbols = new DecimalFormatSymbols(macros.locale, *ns, status); + if (newSymbols == nullptr) { + status = U_MEMORY_ALLOCATION_ERROR; + return nullptr; + } + fMicros.symbols = newSymbols; // Give ownership to the NumberFormatterImpl. fSymbols.adoptInstead(fMicros.symbols); } @@ -229,7 +234,11 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe, if (info.exists) { pattern = info.pattern; // It's clunky to clone an object here, but this code is not frequently executed. - auto* symbols = new DecimalFormatSymbols(*fMicros.symbols); + auto symbols = new DecimalFormatSymbols(*fMicros.symbols); + if (symbols == nullptr) { + status = U_MEMORY_ALLOCATION_ERROR; + return nullptr; + } fMicros.symbols = symbols; fSymbols.adoptInstead(symbols); symbols->setSymbol( @@ -260,6 +269,10 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe, pattern = utils::getPatternForStyle(macros.locale, nsName, patternStyle, status); } auto patternInfo = new ParsedPatternInfo(); + if (patternInfo == nullptr) { + status = U_MEMORY_ALLOCATION_ERROR; + return nullptr; + } fPatternInfo.adoptInstead(patternInfo); PatternParser::parseToPatternInfo(UnicodeString(pattern), *patternInfo, status); @@ -337,7 +350,12 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe, // Inner modifier (scientific notation) if (macros.notation.fType == Notation::NTN_SCIENTIFIC) { - fScientificHandler.adoptInstead(new ScientificHandler(¯os.notation, fMicros.symbols, chain)); + auto newScientificHandler = new ScientificHandler(¯os.notation, fMicros.symbols, chain); + if (newScientificHandler == nullptr) { + status = U_MEMORY_ALLOCATION_ERROR; + return nullptr; + } + fScientificHandler.adoptInstead(newScientificHandler); chain = fScientificHandler.getAlias(); } else { // No inner modifier required @@ -346,6 +364,10 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe, // Middle modifier (patterns, positive/negative, currency symbols, percent) auto patternModifier = new MutablePatternModifier(false); + if (patternModifier == nullptr) { + status = U_MEMORY_ALLOCATION_ERROR; + return nullptr; + } fPatternModifier.adoptInstead(patternModifier); patternModifier->setPatternInfo( macros.affixProvider != nullptr ? macros.affixProvider @@ -401,16 +423,20 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe, if (macros.notation.fType == Notation::NTN_COMPACT) { CompactType compactType = (isCurrency && unitWidth != UNUM_UNIT_WIDTH_FULL_NAME) ? CompactType::TYPE_CURRENCY : CompactType::TYPE_DECIMAL; - fCompactHandler.adoptInstead( - new CompactHandler( - macros.notation.fUnion.compactStyle, - macros.locale, - nsName, - compactType, - resolvePluralRules(macros.rules, macros.locale, status), - safe ? patternModifier : nullptr, - chain, - status)); + auto newCompactHandler = new CompactHandler( + macros.notation.fUnion.compactStyle, + macros.locale, + nsName, + compactType, + resolvePluralRules(macros.rules, macros.locale, status), + safe ? patternModifier : nullptr, + chain, + status); + if (newCompactHandler == nullptr) { + status = U_MEMORY_ALLOCATION_ERROR; + return nullptr; + } + fCompactHandler.adoptInstead(newCompactHandler); chain = fCompactHandler.getAlias(); } @@ -430,7 +456,7 @@ NumberFormatterImpl::resolvePluralRules(const PluralRules* rulesPtr, const Local return fRules.getAlias(); } -int32_t NumberFormatterImpl::writeAffixes(const MicroProps& micros, NumberStringBuilder& string, +int32_t NumberFormatterImpl::writeAffixes(const MicroProps& micros, FormattedStringBuilder& string, int32_t start, int32_t end, UErrorCode& status) { // Always apply the inner modifier (which is "strong"). int32_t length = micros.modInner->apply(string, start, end, status); @@ -445,7 +471,7 @@ int32_t NumberFormatterImpl::writeAffixes(const MicroProps& micros, NumberString } int32_t NumberFormatterImpl::writeNumber(const MicroProps& micros, DecimalQuantity& quantity, - NumberStringBuilder& string, int32_t index, + FormattedStringBuilder& string, int32_t index, UErrorCode& status) { int32_t length = 0; if (quantity.isInfinite()) { @@ -487,7 +513,7 @@ int32_t NumberFormatterImpl::writeNumber(const MicroProps& micros, DecimalQuanti } int32_t NumberFormatterImpl::writeIntegerDigits(const MicroProps& micros, DecimalQuantity& quantity, - NumberStringBuilder& string, int32_t index, + FormattedStringBuilder& string, int32_t index, UErrorCode& status) { int length = 0; int integerCount = quantity.getUpperDisplayMagnitude() + 1; @@ -513,7 +539,7 @@ int32_t NumberFormatterImpl::writeIntegerDigits(const MicroProps& micros, Decima } int32_t NumberFormatterImpl::writeFractionDigits(const MicroProps& micros, DecimalQuantity& quantity, - NumberStringBuilder& string, int32_t index, + FormattedStringBuilder& string, int32_t index, UErrorCode& status) { int length = 0; int fractionCount = -quantity.getLowerDisplayMagnitude(); diff --git a/deps/icu-small/source/i18n/number_formatimpl.h b/deps/icu-small/source/i18n/number_formatimpl.h index fd8708c532e131..206c5f58c576a1 100644 --- a/deps/icu-small/source/i18n/number_formatimpl.h +++ b/deps/icu-small/source/i18n/number_formatimpl.h @@ -8,7 +8,7 @@ #define __NUMBER_FORMATIMPL_H__ #include "number_types.h" -#include "number_stringbuilder.h" +#include "formatted_string_builder.h" #include "number_patternstring.h" #include "number_utils.h" #include "number_patternmodifier.h" @@ -35,7 +35,7 @@ class NumberFormatterImpl : public UMemory { * Builds and evaluates an "unsafe" MicroPropsGenerator, which is cheaper but can be used only once. */ static int32_t - formatStatic(const MacroProps ¯os, DecimalQuantity &inValue, NumberStringBuilder &outString, + formatStatic(const MacroProps ¯os, DecimalQuantity &inValue, FormattedStringBuilder &outString, UErrorCode &status); /** @@ -44,14 +44,14 @@ class NumberFormatterImpl : public UMemory { * @return The index into the output at which the prefix ends and the suffix starts; in other words, * the prefix length. */ - static int32_t getPrefixSuffixStatic(const MacroProps& macros, int8_t signum, - StandardPlural::Form plural, NumberStringBuilder& outString, + static int32_t getPrefixSuffixStatic(const MacroProps& macros, Signum signum, + StandardPlural::Form plural, FormattedStringBuilder& outString, UErrorCode& status); /** * Evaluates the "safe" MicroPropsGenerator created by "fromMacros". */ - int32_t format(DecimalQuantity& inValue, NumberStringBuilder& outString, UErrorCode& status) const; + int32_t format(DecimalQuantity& inValue, FormattedStringBuilder& outString, UErrorCode& status) const; /** * Like format(), but saves the result into an output MicroProps without additional processing. @@ -61,7 +61,7 @@ class NumberFormatterImpl : public UMemory { /** * Like getPrefixSuffixStatic() but uses the safe compiled object. */ - int32_t getPrefixSuffix(int8_t signum, StandardPlural::Form plural, NumberStringBuilder& outString, + int32_t getPrefixSuffix(Signum signum, StandardPlural::Form plural, FormattedStringBuilder& outString, UErrorCode& status) const; const MicroProps& getRawMicroProps() const { @@ -73,12 +73,12 @@ class NumberFormatterImpl : public UMemory { * This method formats only the main number, not affixes. */ static int32_t writeNumber(const MicroProps& micros, DecimalQuantity& quantity, - NumberStringBuilder& string, int32_t index, UErrorCode& status); + FormattedStringBuilder& string, int32_t index, UErrorCode& status); /** * Adds the affixes. Intended to be called immediately after formatNumber. */ - static int32_t writeAffixes(const MicroProps& micros, NumberStringBuilder& string, int32_t start, + static int32_t writeAffixes(const MicroProps& micros, FormattedStringBuilder& string, int32_t start, int32_t end, UErrorCode& status); private: @@ -109,8 +109,8 @@ class NumberFormatterImpl : public UMemory { MicroProps& preProcessUnsafe(DecimalQuantity &inValue, UErrorCode &status); - int32_t getPrefixSuffixUnsafe(int8_t signum, StandardPlural::Form plural, - NumberStringBuilder& outString, UErrorCode& status); + int32_t getPrefixSuffixUnsafe(Signum signum, StandardPlural::Form plural, + FormattedStringBuilder& outString, UErrorCode& status); /** * If rulesPtr is non-null, return it. Otherwise, return a PluralRules owned by this object for the @@ -136,11 +136,11 @@ class NumberFormatterImpl : public UMemory { macrosToMicroGenerator(const MacroProps ¯os, bool safe, UErrorCode &status); static int32_t - writeIntegerDigits(const MicroProps µs, DecimalQuantity &quantity, NumberStringBuilder &string, + writeIntegerDigits(const MicroProps µs, DecimalQuantity &quantity, FormattedStringBuilder &string, int32_t index, UErrorCode &status); static int32_t - writeFractionDigits(const MicroProps µs, DecimalQuantity &quantity, NumberStringBuilder &string, + writeFractionDigits(const MicroProps µs, DecimalQuantity &quantity, FormattedStringBuilder &string, int32_t index, UErrorCode &status); }; diff --git a/deps/icu-small/source/i18n/number_longnames.cpp b/deps/icu-small/source/i18n/number_longnames.cpp index 0cd160042a46d3..817aa0e0d9c39d 100644 --- a/deps/icu-small/source/i18n/number_longnames.cpp +++ b/deps/icu-small/source/i18n/number_longnames.cpp @@ -148,12 +148,11 @@ void getCurrencyLongNameData(const Locale &locale, const CurrencyUnit ¤cy, if (pattern.isBogus()) { continue; } - UBool isChoiceFormat = FALSE; int32_t longNameLen = 0; const char16_t *longName = ucurr_getPluralName( currency.getISOCurrency(), locale.getName(), - &isChoiceFormat, + nullptr /* isChoiceFormat */, StandardPlural::getKeyword(static_cast(i)), &longNameLen, &status); @@ -265,6 +264,26 @@ UnicodeString LongNameHandler::getUnitDisplayName( return simpleFormats[DNAM_INDEX]; } +UnicodeString LongNameHandler::getUnitPattern( + const Locale& loc, + const MeasureUnit& unit, + UNumberUnitWidth width, + StandardPlural::Form pluralForm, + UErrorCode& status) { + if (U_FAILURE(status)) { + return ICU_Utility::makeBogusString(); + } + UnicodeString simpleFormats[ARRAY_LENGTH]; + getMeasureData(loc, unit, width, simpleFormats, status); + // The above already handles fallback from other widths to short + if (U_FAILURE(status)) { + return ICU_Utility::makeBogusString(); + } + // Now handle fallback from other plural forms to OTHER + return (!(simpleFormats[pluralForm]).isBogus())? simpleFormats[pluralForm]: + simpleFormats[StandardPlural::Form::OTHER]; +} + LongNameHandler* LongNameHandler::forCurrencyLongNames(const Locale &loc, const CurrencyUnit ¤cy, const PluralRules *rules, const MicroPropsGenerator *parent, @@ -289,7 +308,7 @@ void LongNameHandler::simpleFormatsToModifiers(const UnicodeString *simpleFormat if (U_FAILURE(status)) { return; } SimpleFormatter compiledFormatter(simpleFormat, 0, 1, status); if (U_FAILURE(status)) { return; } - fModifiers[i] = SimpleModifier(compiledFormatter, field, false, {this, 0, plural}); + fModifiers[i] = SimpleModifier(compiledFormatter, field, false, {this, SIGNUM_ZERO, plural}); } } @@ -306,7 +325,7 @@ void LongNameHandler::multiSimpleFormatsToModifiers(const UnicodeString *leadFor if (U_FAILURE(status)) { return; } SimpleFormatter compoundCompiled(compoundFormat, 0, 1, status); if (U_FAILURE(status)) { return; } - fModifiers[i] = SimpleModifier(compoundCompiled, field, false, {this, 0, plural}); + fModifiers[i] = SimpleModifier(compoundCompiled, field, false, {this, SIGNUM_ZERO, plural}); } } @@ -317,7 +336,7 @@ void LongNameHandler::processQuantity(DecimalQuantity &quantity, MicroProps &mic micros.modOuter = &fModifiers[pluralForm]; } -const Modifier* LongNameHandler::getModifier(int8_t /*signum*/, StandardPlural::Form plural) const { +const Modifier* LongNameHandler::getModifier(Signum /*signum*/, StandardPlural::Form plural) const { return &fModifiers[plural]; } diff --git a/deps/icu-small/source/i18n/number_longnames.h b/deps/icu-small/source/i18n/number_longnames.h index 76fb82d744b6d4..a19425aa268af6 100644 --- a/deps/icu-small/source/i18n/number_longnames.h +++ b/deps/icu-small/source/i18n/number_longnames.h @@ -22,6 +22,13 @@ class LongNameHandler : public MicroPropsGenerator, public ModifierStore, public UNumberUnitWidth width, UErrorCode& status); + static UnicodeString getUnitPattern( + const Locale& loc, + const MeasureUnit& unit, + UNumberUnitWidth width, + StandardPlural::Form pluralForm, + UErrorCode& status); + static LongNameHandler* forCurrencyLongNames(const Locale &loc, const CurrencyUnit ¤cy, const PluralRules *rules, const MicroPropsGenerator *parent, UErrorCode &status); @@ -34,7 +41,7 @@ class LongNameHandler : public MicroPropsGenerator, public ModifierStore, public void processQuantity(DecimalQuantity &quantity, MicroProps µs, UErrorCode &status) const U_OVERRIDE; - const Modifier* getModifier(int8_t signum, StandardPlural::Form plural) const U_OVERRIDE; + const Modifier* getModifier(Signum signum, StandardPlural::Form plural) const U_OVERRIDE; private: SimpleModifier fModifiers[StandardPlural::Form::COUNT]; diff --git a/deps/icu-small/source/i18n/number_mapper.h b/deps/icu-small/source/i18n/number_mapper.h index d28e9cec393a05..de7d9c3865c8df 100644 --- a/deps/icu-small/source/i18n/number_mapper.h +++ b/deps/icu-small/source/i18n/number_mapper.h @@ -126,8 +126,14 @@ struct DecimalFormatWarehouse { * TODO: Make some of these fields by value instead of by LocalPointer? */ struct DecimalFormatFields : public UMemory { + + DecimalFormatFields() {} + + DecimalFormatFields(const DecimalFormatProperties& propsToCopy) + : properties(propsToCopy) {} + /** The property bag corresponding to user-specified settings and settings from the pattern string. */ - LocalPointer properties; + DecimalFormatProperties properties; /** The symbols for the current locale. */ LocalPointer symbols; @@ -136,7 +142,7 @@ struct DecimalFormatFields : public UMemory { * The pre-computed formatter object. Setters cause this to be re-computed atomically. The {@link * #format} method uses the formatter directly without needing to synchronize. */ - LocalPointer formatter; + LocalizedNumberFormatter formatter; /** The lazy-computed parser for .parse() */ std::atomic<::icu::numparse::impl::NumberParserImpl*> atomicParser = {}; @@ -148,7 +154,7 @@ struct DecimalFormatFields : public UMemory { DecimalFormatWarehouse warehouse; /** The effective properties as exported from the formatter object. Used by some getters. */ - LocalPointer exportedProperties; + DecimalFormatProperties exportedProperties; // Data for fastpath bool canUseFastFormat = false; diff --git a/deps/icu-small/source/i18n/number_modifiers.cpp b/deps/icu-small/source/i18n/number_modifiers.cpp index 1fcbe7b9b79301..3a44f8f6f15328 100644 --- a/deps/icu-small/source/i18n/number_modifiers.cpp +++ b/deps/icu-small/source/i18n/number_modifiers.cpp @@ -57,7 +57,7 @@ Modifier::Parameters::Parameters() : obj(nullptr) {} Modifier::Parameters::Parameters( - const ModifierStore* _obj, int8_t _signum, StandardPlural::Form _plural) + const ModifierStore* _obj, Signum _signum, StandardPlural::Form _plural) : obj(_obj), signum(_signum), plural(_plural) {} ModifierStore::~ModifierStore() = default; @@ -69,7 +69,7 @@ AdoptingModifierStore::~AdoptingModifierStore() { } -int32_t ConstantAffixModifier::apply(NumberStringBuilder &output, int leftIndex, int rightIndex, +int32_t ConstantAffixModifier::apply(FormattedStringBuilder &output, int leftIndex, int rightIndex, UErrorCode &status) const { // Insert the suffix first since inserting the prefix will change the rightIndex int length = output.insert(rightIndex, fSuffix, fField, status); @@ -154,7 +154,7 @@ SimpleModifier::SimpleModifier() : fField(UNUM_FIELD_COUNT), fStrong(false), fPrefixLength(0), fSuffixLength(0) { } -int32_t SimpleModifier::apply(NumberStringBuilder &output, int leftIndex, int rightIndex, +int32_t SimpleModifier::apply(FormattedStringBuilder &output, int leftIndex, int rightIndex, UErrorCode &status) const { return formatAsPrefixSuffix(output, leftIndex, rightIndex, status); } @@ -203,7 +203,7 @@ bool SimpleModifier::semanticallyEquivalent(const Modifier& other) const { int32_t -SimpleModifier::formatAsPrefixSuffix(NumberStringBuilder &result, int32_t startIndex, int32_t endIndex, +SimpleModifier::formatAsPrefixSuffix(FormattedStringBuilder &result, int32_t startIndex, int32_t endIndex, UErrorCode &status) const { if (fSuffixOffset == -1 && fPrefixLength + fSuffixLength > 0) { // There is no argument for the inner number; overwrite the entire segment with our string. @@ -227,7 +227,7 @@ SimpleModifier::formatAsPrefixSuffix(NumberStringBuilder &result, int32_t startI int32_t -SimpleModifier::formatTwoArgPattern(const SimpleFormatter& compiled, NumberStringBuilder& result, +SimpleModifier::formatTwoArgPattern(const SimpleFormatter& compiled, FormattedStringBuilder& result, int32_t index, int32_t* outPrefixLength, int32_t* outSuffixLength, Field field, UErrorCode& status) { const UnicodeString& compiledPattern = compiled.compiledPattern; @@ -284,7 +284,7 @@ SimpleModifier::formatTwoArgPattern(const SimpleFormatter& compiled, NumberStrin } -int32_t ConstantMultiFieldModifier::apply(NumberStringBuilder &output, int leftIndex, int rightIndex, +int32_t ConstantMultiFieldModifier::apply(FormattedStringBuilder &output, int leftIndex, int rightIndex, UErrorCode &status) const { int32_t length = output.insert(leftIndex, fPrefix, status); if (fOverwrite) { @@ -333,8 +333,8 @@ bool ConstantMultiFieldModifier::semanticallyEquivalent(const Modifier& other) c } -CurrencySpacingEnabledModifier::CurrencySpacingEnabledModifier(const NumberStringBuilder &prefix, - const NumberStringBuilder &suffix, +CurrencySpacingEnabledModifier::CurrencySpacingEnabledModifier(const FormattedStringBuilder &prefix, + const FormattedStringBuilder &suffix, bool overwrite, bool strong, const DecimalFormatSymbols &symbols, @@ -374,7 +374,7 @@ CurrencySpacingEnabledModifier::CurrencySpacingEnabledModifier(const NumberStrin } } -int32_t CurrencySpacingEnabledModifier::apply(NumberStringBuilder &output, int leftIndex, int rightIndex, +int32_t CurrencySpacingEnabledModifier::apply(FormattedStringBuilder &output, int leftIndex, int rightIndex, UErrorCode &status) const { // Currency spacing logic int length = 0; @@ -395,7 +395,7 @@ int32_t CurrencySpacingEnabledModifier::apply(NumberStringBuilder &output, int l } int32_t -CurrencySpacingEnabledModifier::applyCurrencySpacing(NumberStringBuilder &output, int32_t prefixStart, +CurrencySpacingEnabledModifier::applyCurrencySpacing(FormattedStringBuilder &output, int32_t prefixStart, int32_t prefixLen, int32_t suffixStart, int32_t suffixLen, const DecimalFormatSymbols &symbols, @@ -414,7 +414,7 @@ CurrencySpacingEnabledModifier::applyCurrencySpacing(NumberStringBuilder &output } int32_t -CurrencySpacingEnabledModifier::applyCurrencySpacingAffix(NumberStringBuilder &output, int32_t index, +CurrencySpacingEnabledModifier::applyCurrencySpacingAffix(FormattedStringBuilder &output, int32_t index, EAffix affix, const DecimalFormatSymbols &symbols, UErrorCode &status) { diff --git a/deps/icu-small/source/i18n/number_modifiers.h b/deps/icu-small/source/i18n/number_modifiers.h index 495128bb149dcf..c84c6aa273ed76 100644 --- a/deps/icu-small/source/i18n/number_modifiers.h +++ b/deps/icu-small/source/i18n/number_modifiers.h @@ -12,7 +12,7 @@ #include "unicode/uniset.h" #include "unicode/simpleformatter.h" #include "standardplural.h" -#include "number_stringbuilder.h" +#include "formatted_string_builder.h" #include "number_types.h" U_NAMESPACE_BEGIN namespace number { @@ -28,7 +28,7 @@ class U_I18N_API ConstantAffixModifier : public Modifier, public UObject { bool strong) : fPrefix(prefix), fSuffix(suffix), fField(field), fStrong(strong) {} - int32_t apply(NumberStringBuilder &output, int32_t leftIndex, int32_t rightIndex, + int32_t apply(FormattedStringBuilder &output, int32_t leftIndex, int32_t rightIndex, UErrorCode &status) const U_OVERRIDE; int32_t getPrefixLength() const U_OVERRIDE; @@ -64,7 +64,7 @@ class U_I18N_API SimpleModifier : public Modifier, public UMemory { // Default constructor for LongNameHandler.h SimpleModifier(); - int32_t apply(NumberStringBuilder &output, int32_t leftIndex, int32_t rightIndex, + int32_t apply(FormattedStringBuilder &output, int32_t leftIndex, int32_t rightIndex, UErrorCode &status) const U_OVERRIDE; int32_t getPrefixLength() const U_OVERRIDE; @@ -81,7 +81,7 @@ class U_I18N_API SimpleModifier : public Modifier, public UMemory { /** * TODO: This belongs in SimpleFormatterImpl. The only reason I haven't moved it there yet is because - * NumberStringBuilder is an internal class and SimpleFormatterImpl feels like it should not depend on it. + * FormattedStringBuilder is an internal class and SimpleFormatterImpl feels like it should not depend on it. * *

* Formats a value that is already stored inside the StringBuilder result between the indices @@ -100,22 +100,22 @@ class U_I18N_API SimpleModifier : public Modifier, public UMemory { * @return The number of characters (UTF-16 code points) that were added to the StringBuilder. */ int32_t - formatAsPrefixSuffix(NumberStringBuilder& result, int32_t startIndex, int32_t endIndex, + formatAsPrefixSuffix(FormattedStringBuilder& result, int32_t startIndex, int32_t endIndex, UErrorCode& status) const; /** * TODO: Like above, this belongs with the rest of the SimpleFormatterImpl code. - * I put it here so that the SimpleFormatter uses in NumberStringBuilder are near each other. + * I put it here so that the SimpleFormatter uses in FormattedStringBuilder are near each other. * *

- * Applies the compiled two-argument pattern to the NumberStringBuilder. + * Applies the compiled two-argument pattern to the FormattedStringBuilder. * *

* This method is optimized for the case where the prefix and suffix are often empty, such as * in the range pattern like "{0}-{1}". */ static int32_t - formatTwoArgPattern(const SimpleFormatter& compiled, NumberStringBuilder& result, + formatTwoArgPattern(const SimpleFormatter& compiled, FormattedStringBuilder& result, int32_t index, int32_t* outPrefixLength, int32_t* outSuffixLength, Field field, UErrorCode& status); @@ -131,13 +131,13 @@ class U_I18N_API SimpleModifier : public Modifier, public UMemory { /** * An implementation of {@link Modifier} that allows for multiple types of fields in the same modifier. Constructed - * based on the contents of two {@link NumberStringBuilder} instances (one for the prefix, one for the suffix). + * based on the contents of two {@link FormattedStringBuilder} instances (one for the prefix, one for the suffix). */ class U_I18N_API ConstantMultiFieldModifier : public Modifier, public UMemory { public: ConstantMultiFieldModifier( - const NumberStringBuilder &prefix, - const NumberStringBuilder &suffix, + const FormattedStringBuilder &prefix, + const FormattedStringBuilder &suffix, bool overwrite, bool strong, const Modifier::Parameters parameters) @@ -148,8 +148,8 @@ class U_I18N_API ConstantMultiFieldModifier : public Modifier, public UMemory { fParameters(parameters) {} ConstantMultiFieldModifier( - const NumberStringBuilder &prefix, - const NumberStringBuilder &suffix, + const FormattedStringBuilder &prefix, + const FormattedStringBuilder &suffix, bool overwrite, bool strong) : fPrefix(prefix), @@ -157,7 +157,7 @@ class U_I18N_API ConstantMultiFieldModifier : public Modifier, public UMemory { fOverwrite(overwrite), fStrong(strong) {} - int32_t apply(NumberStringBuilder &output, int32_t leftIndex, int32_t rightIndex, + int32_t apply(FormattedStringBuilder &output, int32_t leftIndex, int32_t rightIndex, UErrorCode &status) const U_OVERRIDE; int32_t getPrefixLength() const U_OVERRIDE; @@ -173,10 +173,10 @@ class U_I18N_API ConstantMultiFieldModifier : public Modifier, public UMemory { bool semanticallyEquivalent(const Modifier& other) const U_OVERRIDE; protected: - // NOTE: In Java, these are stored as array pointers. In C++, the NumberStringBuilder is stored by + // NOTE: In Java, these are stored as array pointers. In C++, the FormattedStringBuilder is stored by // value and is treated internally as immutable. - NumberStringBuilder fPrefix; - NumberStringBuilder fSuffix; + FormattedStringBuilder fPrefix; + FormattedStringBuilder fSuffix; bool fOverwrite; bool fStrong; Modifier::Parameters fParameters; @@ -187,19 +187,19 @@ class U_I18N_API CurrencySpacingEnabledModifier : public ConstantMultiFieldModif public: /** Safe code path */ CurrencySpacingEnabledModifier( - const NumberStringBuilder &prefix, - const NumberStringBuilder &suffix, + const FormattedStringBuilder &prefix, + const FormattedStringBuilder &suffix, bool overwrite, bool strong, const DecimalFormatSymbols &symbols, UErrorCode &status); - int32_t apply(NumberStringBuilder &output, int32_t leftIndex, int32_t rightIndex, + int32_t apply(FormattedStringBuilder &output, int32_t leftIndex, int32_t rightIndex, UErrorCode &status) const U_OVERRIDE; /** Unsafe code path */ static int32_t - applyCurrencySpacing(NumberStringBuilder &output, int32_t prefixStart, int32_t prefixLen, + applyCurrencySpacing(FormattedStringBuilder &output, int32_t prefixStart, int32_t prefixLen, int32_t suffixStart, int32_t suffixLen, const DecimalFormatSymbols &symbols, UErrorCode &status); @@ -218,7 +218,7 @@ class U_I18N_API CurrencySpacingEnabledModifier : public ConstantMultiFieldModif }; /** Unsafe code path */ - static int32_t applyCurrencySpacingAffix(NumberStringBuilder &output, int32_t index, EAffix affix, + static int32_t applyCurrencySpacingAffix(FormattedStringBuilder &output, int32_t index, EAffix affix, const DecimalFormatSymbols &symbols, UErrorCode &status); static UnicodeSet @@ -234,7 +234,7 @@ class U_I18N_API EmptyModifier : public Modifier, public UMemory { public: explicit EmptyModifier(bool isStrong) : fStrong(isStrong) {} - int32_t apply(NumberStringBuilder &output, int32_t leftIndex, int32_t rightIndex, + int32_t apply(FormattedStringBuilder &output, int32_t leftIndex, int32_t rightIndex, UErrorCode &status) const U_OVERRIDE { (void)output; (void)leftIndex; @@ -289,7 +289,7 @@ class U_I18N_API AdoptingModifierStore : public ModifierStore, public UMemory { /** * Sets the Modifier with the specified signum and plural form. */ - void adoptModifier(int8_t signum, StandardPlural::Form plural, const Modifier *mod) { + void adoptModifier(Signum signum, StandardPlural::Form plural, const Modifier *mod) { U_ASSERT(mods[getModIndex(signum, plural)] == nullptr); mods[getModIndex(signum, plural)] = mod; } @@ -298,13 +298,13 @@ class U_I18N_API AdoptingModifierStore : public ModifierStore, public UMemory { * Sets the Modifier with the specified signum. * The modifier will apply to all plural forms. */ - void adoptModifierWithoutPlural(int8_t signum, const Modifier *mod) { + void adoptModifierWithoutPlural(Signum signum, const Modifier *mod) { U_ASSERT(mods[getModIndex(signum, DEFAULT_STANDARD_PLURAL)] == nullptr); mods[getModIndex(signum, DEFAULT_STANDARD_PLURAL)] = mod; } /** Returns a reference to the modifier; no ownership change. */ - const Modifier *getModifier(int8_t signum, StandardPlural::Form plural) const U_OVERRIDE { + const Modifier *getModifier(Signum signum, StandardPlural::Form plural) const U_OVERRIDE { const Modifier* modifier = mods[getModIndex(signum, plural)]; if (modifier == nullptr && plural != DEFAULT_STANDARD_PLURAL) { modifier = mods[getModIndex(signum, DEFAULT_STANDARD_PLURAL)]; @@ -313,7 +313,7 @@ class U_I18N_API AdoptingModifierStore : public ModifierStore, public UMemory { } /** Returns a reference to the modifier; no ownership change. */ - const Modifier *getModifierWithoutPlural(int8_t signum) const { + const Modifier *getModifierWithoutPlural(Signum signum) const { return mods[getModIndex(signum, DEFAULT_STANDARD_PLURAL)]; } @@ -321,7 +321,7 @@ class U_I18N_API AdoptingModifierStore : public ModifierStore, public UMemory { // NOTE: mods is zero-initialized (to nullptr) const Modifier *mods[3 * StandardPlural::COUNT] = {}; - inline static int32_t getModIndex(int8_t signum, StandardPlural::Form plural) { + inline static int32_t getModIndex(Signum signum, StandardPlural::Form plural) { U_ASSERT(signum >= -1 && signum <= 1); U_ASSERT(plural >= 0 && plural < StandardPlural::COUNT); return static_cast(plural) * 3 + (signum + 1); diff --git a/deps/icu-small/source/i18n/number_output.cpp b/deps/icu-small/source/i18n/number_output.cpp index 6f4e2482044f14..e2f069139a4b47 100644 --- a/deps/icu-small/source/i18n/number_output.cpp +++ b/deps/icu-small/source/i18n/number_output.cpp @@ -9,6 +9,7 @@ #include "number_utypes.h" #include "util.h" #include "number_decimalquantity.h" +#include "number_decnum.h" U_NAMESPACE_BEGIN namespace number { @@ -20,8 +21,7 @@ UPRV_FORMATTED_VALUE_SUBCLASS_AUTO_IMPL(FormattedNumber) UBool FormattedNumber::nextFieldPosition(FieldPosition& fieldPosition, UErrorCode& status) const { UPRV_FORMATTED_VALUE_METHOD_GUARD(FALSE) - // NOTE: MSVC sometimes complains when implicitly converting between bool and UBool - return fData->getStringRef().nextFieldPosition(fieldPosition, status) ? TRUE : FALSE; + return fData->nextFieldPosition(fieldPosition, status); } void FormattedNumber::getAllFieldPositions(FieldPositionIterator& iterator, UErrorCode& status) const { @@ -29,10 +29,17 @@ void FormattedNumber::getAllFieldPositions(FieldPositionIterator& iterator, UErr getAllFieldPositionsImpl(fpih, status); } +void FormattedNumber::toDecimalNumber(ByteSink& sink, UErrorCode& status) const { + UPRV_FORMATTED_VALUE_METHOD_GUARD(UPRV_NOARG) + impl::DecNum decnum; + fData->quantity.toDecNum(decnum, status); + decnum.toString(sink, status); +} + void FormattedNumber::getAllFieldPositionsImpl(FieldPositionIteratorHandler& fpih, UErrorCode& status) const { UPRV_FORMATTED_VALUE_METHOD_GUARD(UPRV_NOARG) - fData->getStringRef().getAllFieldPositions(fpih, status); + fData->getAllFieldPositions(fpih, status); } void FormattedNumber::getDecimalQuantity(impl::DecimalQuantity& output, UErrorCode& status) const { diff --git a/deps/icu-small/source/i18n/number_padding.cpp b/deps/icu-small/source/i18n/number_padding.cpp index 31684d7208b606..c68a9875b2055f 100644 --- a/deps/icu-small/source/i18n/number_padding.cpp +++ b/deps/icu-small/source/i18n/number_padding.cpp @@ -7,7 +7,7 @@ #include "unicode/numberformatter.h" #include "number_types.h" -#include "number_stringbuilder.h" +#include "formatted_string_builder.h" #include "number_decimfmtprops.h" using namespace icu; @@ -17,7 +17,7 @@ using namespace icu::number::impl; namespace { int32_t -addPaddingHelper(UChar32 paddingCp, int32_t requiredPadding, NumberStringBuilder &string, int32_t index, +addPaddingHelper(UChar32 paddingCp, int32_t requiredPadding, FormattedStringBuilder &string, int32_t index, UErrorCode &status) { for (int32_t i = 0; i < requiredPadding; i++) { // TODO: If appending to the end, this will cause actual insertion operations. Improve. @@ -60,7 +60,7 @@ Padder Padder::forProperties(const DecimalFormatProperties& properties) { } int32_t Padder::padAndApply(const Modifier &mod1, const Modifier &mod2, - NumberStringBuilder &string, int32_t leftIndex, int32_t rightIndex, + FormattedStringBuilder &string, int32_t leftIndex, int32_t rightIndex, UErrorCode &status) const { int32_t modLength = mod1.getCodePointCount() + mod2.getCodePointCount(); int32_t requiredPadding = fWidth - modLength - string.codePointCount(); diff --git a/deps/icu-small/source/i18n/number_patternmodifier.cpp b/deps/icu-small/source/i18n/number_patternmodifier.cpp index 75de439f3ed2e1..724f5b9741cc52 100644 --- a/deps/icu-small/source/i18n/number_patternmodifier.cpp +++ b/deps/icu-small/source/i18n/number_patternmodifier.cpp @@ -43,7 +43,7 @@ void MutablePatternModifier::setSymbols(const DecimalFormatSymbols* symbols, fRules = rules; } -void MutablePatternModifier::setNumberProperties(int8_t signum, StandardPlural::Form plural) { +void MutablePatternModifier::setNumberProperties(Signum signum, StandardPlural::Form plural) { fSignum = signum; fPlural = plural; } @@ -79,12 +79,12 @@ MutablePatternModifier::createImmutableAndChain(const MicroPropsGenerator* paren if (needsPlurals()) { // Slower path when we require the plural keyword. for (StandardPlural::Form plural : STANDARD_PLURAL_VALUES) { - setNumberProperties(1, plural); - pm->adoptModifier(1, plural, createConstantModifier(status)); - setNumberProperties(0, plural); - pm->adoptModifier(0, plural, createConstantModifier(status)); - setNumberProperties(-1, plural); - pm->adoptModifier(-1, plural, createConstantModifier(status)); + setNumberProperties(SIGNUM_POS, plural); + pm->adoptModifier(SIGNUM_POS, plural, createConstantModifier(status)); + setNumberProperties(SIGNUM_ZERO, plural); + pm->adoptModifier(SIGNUM_ZERO, plural, createConstantModifier(status)); + setNumberProperties(SIGNUM_NEG, plural); + pm->adoptModifier(SIGNUM_NEG, plural, createConstantModifier(status)); } if (U_FAILURE(status)) { delete pm; @@ -93,12 +93,12 @@ MutablePatternModifier::createImmutableAndChain(const MicroPropsGenerator* paren return new ImmutablePatternModifier(pm, fRules, parent); // adopts pm } else { // Faster path when plural keyword is not needed. - setNumberProperties(1, StandardPlural::Form::COUNT); - pm->adoptModifierWithoutPlural(1, createConstantModifier(status)); - setNumberProperties(0, StandardPlural::Form::COUNT); - pm->adoptModifierWithoutPlural(0, createConstantModifier(status)); - setNumberProperties(-1, StandardPlural::Form::COUNT); - pm->adoptModifierWithoutPlural(-1, createConstantModifier(status)); + setNumberProperties(SIGNUM_POS, StandardPlural::Form::COUNT); + pm->adoptModifierWithoutPlural(SIGNUM_POS, createConstantModifier(status)); + setNumberProperties(SIGNUM_ZERO, StandardPlural::Form::COUNT); + pm->adoptModifierWithoutPlural(SIGNUM_ZERO, createConstantModifier(status)); + setNumberProperties(SIGNUM_NEG, StandardPlural::Form::COUNT); + pm->adoptModifierWithoutPlural(SIGNUM_NEG, createConstantModifier(status)); if (U_FAILURE(status)) { delete pm; return nullptr; @@ -108,8 +108,8 @@ MutablePatternModifier::createImmutableAndChain(const MicroPropsGenerator* paren } ConstantMultiFieldModifier* MutablePatternModifier::createConstantModifier(UErrorCode& status) { - NumberStringBuilder a; - NumberStringBuilder b; + FormattedStringBuilder a; + FormattedStringBuilder b; insertPrefix(a, 0, status); insertSuffix(b, 0, status); if (fPatternInfo->hasCurrencySign()) { @@ -140,7 +140,7 @@ void ImmutablePatternModifier::applyToMicros( } } -const Modifier* ImmutablePatternModifier::getModifier(int8_t signum, StandardPlural::Form plural) const { +const Modifier* ImmutablePatternModifier::getModifier(Signum signum, StandardPlural::Form plural) const { if (rules == nullptr) { return pm->getModifierWithoutPlural(signum); } else { @@ -170,7 +170,7 @@ void MutablePatternModifier::processQuantity(DecimalQuantity& fq, MicroProps& mi micros.modMiddle = this; } -int32_t MutablePatternModifier::apply(NumberStringBuilder& output, int32_t leftIndex, int32_t rightIndex, +int32_t MutablePatternModifier::apply(FormattedStringBuilder& output, int32_t leftIndex, int32_t rightIndex, UErrorCode& status) const { // The unsafe code path performs self-mutation, so we need a const_cast. // This method needs to be const because it overrides a const method in the parent class. @@ -248,13 +248,13 @@ bool MutablePatternModifier::semanticallyEquivalent(const Modifier& other) const UPRV_UNREACHABLE; } -int32_t MutablePatternModifier::insertPrefix(NumberStringBuilder& sb, int position, UErrorCode& status) { +int32_t MutablePatternModifier::insertPrefix(FormattedStringBuilder& sb, int position, UErrorCode& status) { prepareAffix(true); int32_t length = AffixUtils::unescape(currentAffix, sb, position, *this, fField, status); return length; } -int32_t MutablePatternModifier::insertSuffix(NumberStringBuilder& sb, int position, UErrorCode& status) { +int32_t MutablePatternModifier::insertSuffix(FormattedStringBuilder& sb, int position, UErrorCode& status) { prepareAffix(false); int32_t length = AffixUtils::unescape(currentAffix, sb, position, *this, fField, status); return length; diff --git a/deps/icu-small/source/i18n/number_patternmodifier.h b/deps/icu-small/source/i18n/number_patternmodifier.h index 27e293b64ce50f..b2c90e0af76354 100644 --- a/deps/icu-small/source/i18n/number_patternmodifier.h +++ b/deps/icu-small/source/i18n/number_patternmodifier.h @@ -48,7 +48,7 @@ class U_I18N_API ImmutablePatternModifier : public MicroPropsGenerator, public U void applyToMicros(MicroProps& micros, const DecimalQuantity& quantity, UErrorCode& status) const; - const Modifier* getModifier(int8_t signum, StandardPlural::Form plural) const; + const Modifier* getModifier(Signum signum, StandardPlural::Form plural) const; private: ImmutablePatternModifier(AdoptingModifierStore* pm, const PluralRules* rules, @@ -142,7 +142,7 @@ class U_I18N_API MutablePatternModifier * The plural form of the number, required only if the pattern contains the triple * currency sign, "¤¤¤" (and as indicated by {@link #needsPlurals()}). */ - void setNumberProperties(int8_t signum, StandardPlural::Form plural); + void setNumberProperties(Signum signum, StandardPlural::Form plural); /** * Returns true if the pattern represented by this MurkyModifier requires a plural keyword in order to localize. @@ -184,7 +184,7 @@ class U_I18N_API MutablePatternModifier void processQuantity(DecimalQuantity &, MicroProps µs, UErrorCode &status) const U_OVERRIDE; - int32_t apply(NumberStringBuilder &output, int32_t leftIndex, int32_t rightIndex, + int32_t apply(FormattedStringBuilder &output, int32_t leftIndex, int32_t rightIndex, UErrorCode &status) const U_OVERRIDE; int32_t getPrefixLength() const U_OVERRIDE; @@ -223,7 +223,7 @@ class U_I18N_API MutablePatternModifier const PluralRules *fRules; // Number details (initialized in setNumberProperties) - int8_t fSignum; + Signum fSignum; StandardPlural::Form fPlural; // QuantityChain details (initialized in addToChain) @@ -240,17 +240,17 @@ class U_I18N_API MutablePatternModifier * CREATES A NEW HEAP OBJECT; THE CALLER GETS OWNERSHIP. * * @param a - * A working NumberStringBuilder object; passed from the outside to prevent the need to create many new + * A working FormattedStringBuilder object; passed from the outside to prevent the need to create many new * instances if this method is called in a loop. * @param b - * Another working NumberStringBuilder object. + * Another working FormattedStringBuilder object. * @return The constant modifier object. */ ConstantMultiFieldModifier *createConstantModifier(UErrorCode &status); - int32_t insertPrefix(NumberStringBuilder &sb, int position, UErrorCode &status); + int32_t insertPrefix(FormattedStringBuilder &sb, int position, UErrorCode &status); - int32_t insertSuffix(NumberStringBuilder &sb, int position, UErrorCode &status); + int32_t insertSuffix(FormattedStringBuilder &sb, int position, UErrorCode &status); void prepareAffix(bool isPrefix); }; diff --git a/deps/icu-small/source/i18n/number_patternstring.cpp b/deps/icu-small/source/i18n/number_patternstring.cpp index 90754246633064..c7212c1e5c23fe 100644 --- a/deps/icu-small/source/i18n/number_patternstring.cpp +++ b/deps/icu-small/source/i18n/number_patternstring.cpp @@ -352,7 +352,7 @@ void ParsedPatternInfo::consumeIntegerFormat(UErrorCode& status) { result.groupingSizes += 1; result.integerNumerals += 1; result.integerTotal += 1; - if (!result.rounding.isZero() || state.peek() != u'0') { + if (!result.rounding.isZeroish() || state.peek() != u'0') { result.rounding.appendDigit(static_cast(state.peek() - u'0'), 0, true); } break; @@ -532,7 +532,7 @@ PatternParser::patternInfoToProperties(DecimalFormatProperties& properties, Pars properties.roundingIncrement = 0.0; properties.minimumSignificantDigits = positive.integerAtSigns; properties.maximumSignificantDigits = positive.integerAtSigns + positive.integerTrailingHashSigns; - } else if (!positive.rounding.isZero()) { + } else if (!positive.rounding.isZeroish()) { if (!ignoreRounding) { properties.minimumFractionDigits = minFrac; properties.maximumFractionDigits = positive.fractionTotal; @@ -1000,7 +1000,7 @@ PatternStringUtils::convertLocalized(const UnicodeString& input, const DecimalFo } void PatternStringUtils::patternInfoToStringBuilder(const AffixPatternProvider& patternInfo, bool isPrefix, - int8_t signum, UNumberSignDisplay signDisplay, + Signum signum, UNumberSignDisplay signDisplay, StandardPlural::Form plural, bool perMilleReplacesPercent, UnicodeString& output) { @@ -1014,6 +1014,7 @@ void PatternStringUtils::patternInfoToStringBuilder(const AffixPatternProvider& // Should we use the affix from the negative subpattern? (If not, we will use the positive // subpattern.) + // TODO: Deal with signum bool useNegativeAffixPattern = patternInfo.hasNegativeSubpattern() && ( signum == -1 || (patternInfo.negativeHasMinusSign() && plusReplacesMinusSign)); diff --git a/deps/icu-small/source/i18n/number_patternstring.h b/deps/icu-small/source/i18n/number_patternstring.h index 42e7c3916133d1..819c74d4bd886d 100644 --- a/deps/icu-small/source/i18n/number_patternstring.h +++ b/deps/icu-small/source/i18n/number_patternstring.h @@ -295,7 +295,7 @@ class U_I18N_API PatternStringUtils { * substitution, and plural forms for CurrencyPluralInfo. */ static void patternInfoToStringBuilder(const AffixPatternProvider& patternInfo, bool isPrefix, - int8_t signum, UNumberSignDisplay signDisplay, + Signum signum, UNumberSignDisplay signDisplay, StandardPlural::Form plural, bool perMilleReplacesPercent, UnicodeString& output); diff --git a/deps/icu-small/source/i18n/number_rounding.cpp b/deps/icu-small/source/i18n/number_rounding.cpp index 9e369f7925fe2f..813d4b680d497b 100644 --- a/deps/icu-small/source/i18n/number_rounding.cpp +++ b/deps/icu-small/source/i18n/number_rounding.cpp @@ -33,7 +33,7 @@ int32_t getRoundingMagnitudeSignificant(const DecimalQuantity &value, int maxSig if (maxSig == -1) { return INT32_MIN; } - int magnitude = value.isZero() ? 0 : value.getMagnitude(); + int magnitude = value.isZeroish() ? 0 : value.getMagnitude(); return magnitude - maxSig + 1; } @@ -45,7 +45,7 @@ int32_t getDisplayMagnitudeFraction(int minFrac) { } int32_t getDisplayMagnitudeSignificant(const DecimalQuantity &value, int minSig) { - int magnitude = value.isZero() ? 0 : value.getMagnitude(); + int magnitude = value.isZeroish() ? 0 : value.getMagnitude(); return magnitude - minSig + 1; } @@ -306,8 +306,8 @@ bool RoundingImpl::isSignificantDigits() const { int32_t RoundingImpl::chooseMultiplierAndApply(impl::DecimalQuantity &input, const impl::MultiplierProducer &producer, UErrorCode &status) { - // Do not call this method with zero. - U_ASSERT(!input.isZero()); + // Do not call this method with zero, NaN, or infinity. + U_ASSERT(!input.isZeroish()); // Perform the first attempt at rounding. int magnitude = input.getMagnitude(); @@ -316,7 +316,7 @@ RoundingImpl::chooseMultiplierAndApply(impl::DecimalQuantity &input, const impl: apply(input, status); // If the number rounded to zero, exit. - if (input.isZero() || U_FAILURE(status)) { + if (input.isZeroish() || U_FAILURE(status)) { return multiplier; } @@ -374,7 +374,7 @@ void RoundingImpl::apply(impl::DecimalQuantity &value, UErrorCode& status) const value.setMinFraction( uprv_max(0, -getDisplayMagnitudeSignificant(value, fPrecision.fUnion.fracSig.fMinSig))); // Make sure that digits are displayed on zero. - if (value.isZero() && fPrecision.fUnion.fracSig.fMinSig > 0) { + if (value.isZeroish() && fPrecision.fUnion.fracSig.fMinSig > 0) { value.setMinInteger(1); } break; @@ -436,7 +436,7 @@ void RoundingImpl::apply(impl::DecimalQuantity &value, UErrorCode& status) const void RoundingImpl::apply(impl::DecimalQuantity &value, int32_t minInt, UErrorCode /*status*/) { // This method is intended for the one specific purpose of helping print "00.000E0". U_ASSERT(isSignificantDigits()); - U_ASSERT(value.isZero()); + U_ASSERT(value.isZeroish()); value.setMinFraction(fPrecision.fUnion.fracSig.fMinSig - minInt); } diff --git a/deps/icu-small/source/i18n/number_scientific.cpp b/deps/icu-small/source/i18n/number_scientific.cpp index 6df07b9cc9e988..20aa45bff01959 100644 --- a/deps/icu-small/source/i18n/number_scientific.cpp +++ b/deps/icu-small/source/i18n/number_scientific.cpp @@ -8,7 +8,7 @@ #include #include "number_scientific.h" #include "number_utils.h" -#include "number_stringbuilder.h" +#include "formatted_string_builder.h" #include "unicode/unum.h" #include "number_microprops.h" @@ -36,7 +36,7 @@ void ScientificModifier::set(int32_t exponent, const ScientificHandler *handler) fHandler = handler; } -int32_t ScientificModifier::apply(NumberStringBuilder &output, int32_t /*leftIndex*/, int32_t rightIndex, +int32_t ScientificModifier::apply(FormattedStringBuilder &output, int32_t /*leftIndex*/, int32_t rightIndex, UErrorCode &status) const { // FIXME: Localized exponent separator location. int i = rightIndex; @@ -123,9 +123,15 @@ void ScientificHandler::processQuantity(DecimalQuantity &quantity, MicroProps &m fParent->processQuantity(quantity, micros, status); if (U_FAILURE(status)) { return; } + // Do not apply scientific notation to special doubles + if (quantity.isInfinite() || quantity.isNaN()) { + micros.modInner = µs.helpers.emptyStrongModifier; + return; + } + // Treat zero as if it had magnitude 0 int32_t exponent; - if (quantity.isZero()) { + if (quantity.isZeroish()) { if (fSettings.fRequireMinInt && micros.rounder.isSignificantDigits()) { // Show "00.000E0" on pattern "00.000E0" micros.rounder.apply(quantity, fSettings.fEngineeringInterval, status); diff --git a/deps/icu-small/source/i18n/number_scientific.h b/deps/icu-small/source/i18n/number_scientific.h index e377bd941efaeb..1c9ce1efa80a3f 100644 --- a/deps/icu-small/source/i18n/number_scientific.h +++ b/deps/icu-small/source/i18n/number_scientific.h @@ -21,7 +21,7 @@ class U_I18N_API ScientificModifier : public UMemory, public Modifier { void set(int32_t exponent, const ScientificHandler *handler); - int32_t apply(NumberStringBuilder &output, int32_t leftIndex, int32_t rightIndex, + int32_t apply(FormattedStringBuilder &output, int32_t leftIndex, int32_t rightIndex, UErrorCode &status) const U_OVERRIDE; int32_t getPrefixLength() const U_OVERRIDE; diff --git a/deps/icu-small/source/i18n/number_skeletons.cpp b/deps/icu-small/source/i18n/number_skeletons.cpp index 4c280ad11dd8da..4025539239b786 100644 --- a/deps/icu-small/source/i18n/number_skeletons.cpp +++ b/deps/icu-small/source/i18n/number_skeletons.cpp @@ -20,6 +20,7 @@ #include "unicode/numberformatter.h" #include "uinvchar.h" #include "charstr.h" +#include "string_segment.h" using namespace icu; using namespace icu::number; @@ -119,17 +120,17 @@ inline void appendMultiple(UnicodeString& sb, UChar32 cp, int32_t count) { #define CHECK_NULL(seen, field, status) (void)(seen); /* for auto-format line wrapping */ \ -{ \ +UPRV_BLOCK_MACRO_BEGIN { \ if ((seen).field) { \ (status) = U_NUMBER_SKELETON_SYNTAX_ERROR; \ return STATE_NULL; \ } \ (seen).field = true; \ -} +} UPRV_BLOCK_MACRO_END #define SKELETON_UCHAR_TO_CHAR(dest, src, start, end, status) (void)(dest); \ -{ \ +UPRV_BLOCK_MACRO_BEGIN { \ UErrorCode conversionStatus = U_ZERO_ERROR; \ (dest).appendInvariantChars({FALSE, (src).getBuffer() + (start), (end) - (start)}, conversionStatus); \ if (conversionStatus == U_INVARIANT_CONVERSION_ERROR) { \ @@ -140,7 +141,7 @@ inline void appendMultiple(UnicodeString& sb, UChar32 cp, int32_t count) { (status) = conversionStatus; \ return; \ } \ -} +} UPRV_BLOCK_MACRO_END } // anonymous namespace @@ -1217,7 +1218,7 @@ void blueprint_helpers::parseIntegerWidthOption(const StringSegment& segment, Ma maxInt = 0; } for (; offset < segment.length(); offset++) { - if (segment.charAt(offset) == u'#') { + if (maxInt != -1 && segment.charAt(offset) == u'#') { maxInt++; } else { break; diff --git a/deps/icu-small/source/i18n/number_skeletons.h b/deps/icu-small/source/i18n/number_skeletons.h index bc228bd0d7408e..59af771928fbd0 100644 --- a/deps/icu-small/source/i18n/number_skeletons.h +++ b/deps/icu-small/source/i18n/number_skeletons.h @@ -10,10 +10,10 @@ #include "number_types.h" #include "numparse_types.h" #include "unicode/ucharstrie.h" +#include "string_segment.h" -using icu::numparse::impl::StringSegment; - -U_NAMESPACE_BEGIN namespace number { +U_NAMESPACE_BEGIN +namespace number { namespace impl { // Forward-declaration diff --git a/deps/icu-small/source/i18n/number_stringbuilder.h b/deps/icu-small/source/i18n/number_stringbuilder.h deleted file mode 100644 index d48f6e106cf87e..00000000000000 --- a/deps/icu-small/source/i18n/number_stringbuilder.h +++ /dev/null @@ -1,164 +0,0 @@ -// © 2017 and later: Unicode, Inc. and others. -// License & terms of use: http://www.unicode.org/copyright.html - -#include "unicode/utypes.h" - -#if !UCONFIG_NO_FORMATTING -#ifndef __NUMBER_STRINGBUILDER_H__ -#define __NUMBER_STRINGBUILDER_H__ - - -#include -#include "unicode/numfmt.h" -#include "unicode/ustring.h" -#include "cstring.h" -#include "uassert.h" -#include "number_types.h" -#include "fphdlimp.h" - -U_NAMESPACE_BEGIN namespace number { -namespace impl { - -class U_I18N_API NumberStringBuilder : public UMemory { - private: - static const int32_t DEFAULT_CAPACITY = 40; - - template - union ValueOrHeapArray { - T value[DEFAULT_CAPACITY]; - struct { - T *ptr; - int32_t capacity; - } heap; - }; - - public: - NumberStringBuilder(); - - ~NumberStringBuilder(); - - NumberStringBuilder(const NumberStringBuilder &other); - - NumberStringBuilder &operator=(const NumberStringBuilder &other); - - int32_t length() const; - - int32_t codePointCount() const; - - inline char16_t charAt(int32_t index) const { - U_ASSERT(index >= 0); - U_ASSERT(index < fLength); - return getCharPtr()[fZero + index]; - } - - inline Field fieldAt(int32_t index) const { - U_ASSERT(index >= 0); - U_ASSERT(index < fLength); - return getFieldPtr()[fZero + index]; - } - - UChar32 getFirstCodePoint() const; - - UChar32 getLastCodePoint() const; - - UChar32 codePointAt(int32_t index) const; - - UChar32 codePointBefore(int32_t index) const; - - NumberStringBuilder &clear(); - - int32_t appendCodePoint(UChar32 codePoint, Field field, UErrorCode &status); - - int32_t insertCodePoint(int32_t index, UChar32 codePoint, Field field, UErrorCode &status); - - int32_t append(const UnicodeString &unistr, Field field, UErrorCode &status); - - int32_t insert(int32_t index, const UnicodeString &unistr, Field field, UErrorCode &status); - - int32_t insert(int32_t index, const UnicodeString &unistr, int32_t start, int32_t end, Field field, - UErrorCode &status); - - int32_t splice(int32_t startThis, int32_t endThis, const UnicodeString &unistr, - int32_t startOther, int32_t endOther, Field field, UErrorCode& status); - - int32_t append(const NumberStringBuilder &other, UErrorCode &status); - - int32_t insert(int32_t index, const NumberStringBuilder &other, UErrorCode &status); - - void writeTerminator(UErrorCode& status); - - /** - * Gets a "safe" UnicodeString that can be used even after the NumberStringBuilder is destructed. - * */ - UnicodeString toUnicodeString() const; - - /** - * Gets an "unsafe" UnicodeString that is valid only as long as the NumberStringBuilder is alive and - * unchanged. Slightly faster than toUnicodeString(). - */ - const UnicodeString toTempUnicodeString() const; - - UnicodeString toDebugString() const; - - const char16_t *chars() const; - - bool contentEquals(const NumberStringBuilder &other) const; - - bool nextFieldPosition(FieldPosition& fp, UErrorCode& status) const; - - void getAllFieldPositions(FieldPositionIteratorHandler& fpih, UErrorCode& status) const; - - bool nextPosition(ConstrainedFieldPosition& cfpos, Field numericField, UErrorCode& status) const; - - bool containsField(Field field) const; - - private: - bool fUsingHeap = false; - ValueOrHeapArray fChars; - ValueOrHeapArray fFields; - int32_t fZero = DEFAULT_CAPACITY / 2; - int32_t fLength = 0; - - inline char16_t *getCharPtr() { - return fUsingHeap ? fChars.heap.ptr : fChars.value; - } - - inline const char16_t *getCharPtr() const { - return fUsingHeap ? fChars.heap.ptr : fChars.value; - } - - inline Field *getFieldPtr() { - return fUsingHeap ? fFields.heap.ptr : fFields.value; - } - - inline const Field *getFieldPtr() const { - return fUsingHeap ? fFields.heap.ptr : fFields.value; - } - - inline int32_t getCapacity() const { - return fUsingHeap ? fChars.heap.capacity : DEFAULT_CAPACITY; - } - - int32_t prepareForInsert(int32_t index, int32_t count, UErrorCode &status); - - int32_t prepareForInsertHelper(int32_t index, int32_t count, UErrorCode &status); - - int32_t remove(int32_t index, int32_t count); - - static bool isIntOrGroup(Field field); - - static bool isNumericField(Field field); - - int32_t trimBack(int32_t limit) const; - - int32_t trimFront(int32_t start) const; -}; - -} // namespace impl -} // namespace number -U_NAMESPACE_END - - -#endif //__NUMBER_STRINGBUILDER_H__ - -#endif /* #if !UCONFIG_NO_FORMATTING */ diff --git a/deps/icu-small/source/i18n/number_types.h b/deps/icu-small/source/i18n/number_types.h index 225d1e57750490..d62aa6a66b30d3 100644 --- a/deps/icu-small/source/i18n/number_types.h +++ b/deps/icu-small/source/i18n/number_types.h @@ -17,17 +17,16 @@ #include "unicode/platform.h" #include "unicode/uniset.h" #include "standardplural.h" +#include "formatted_string_builder.h" -U_NAMESPACE_BEGIN namespace number { +U_NAMESPACE_BEGIN +namespace number { namespace impl { -// Typedef several enums for brevity and for easier comparison to Java. +// For convenience and historical reasons, import the Field typedef to the namespace. +typedef FormattedStringBuilder::Field Field; -// Convention: bottom 4 bits for field, top 4 bits for field category. -// Field category 0 implies the number category so that the number field -// literals can be directly passed as a Field type. -// See the helper functions in "NumFieldUtils" in number_utils.h -typedef uint8_t Field; +// Typedef several enums for brevity and for easier comparison to Java. typedef UNumberFormatRoundingMode RoundingMode; @@ -49,7 +48,6 @@ static constexpr char16_t kFallbackPaddingString[] = u" "; class Modifier; class MutablePatternModifier; class DecimalQuantity; -class NumberStringBuilder; class ModifierStore; struct MicroProps; @@ -93,6 +91,12 @@ enum CompactType { TYPE_DECIMAL, TYPE_CURRENCY }; +enum Signum { + SIGNUM_NEG = -1, + SIGNUM_ZERO = 0, + SIGNUM_POS = 1 +}; + class U_I18N_API AffixPatternProvider { public: @@ -160,7 +164,7 @@ class U_I18N_API Modifier { * formatted. * @return The number of characters (UTF-16 code units) that were added to the string builder. */ - virtual int32_t apply(NumberStringBuilder& output, int leftIndex, int rightIndex, + virtual int32_t apply(FormattedStringBuilder& output, int leftIndex, int rightIndex, UErrorCode& status) const = 0; /** @@ -196,11 +200,11 @@ class U_I18N_API Modifier { */ struct U_I18N_API Parameters { const ModifierStore* obj = nullptr; - int8_t signum; + Signum signum; StandardPlural::Form plural; Parameters(); - Parameters(const ModifierStore* _obj, int8_t _signum, StandardPlural::Form _plural); + Parameters(const ModifierStore* _obj, Signum _signum, StandardPlural::Form _plural); }; /** @@ -231,7 +235,7 @@ class U_I18N_API ModifierStore { /** * Returns a Modifier with the given parameters (best-effort). */ - virtual const Modifier* getModifier(int8_t signum, StandardPlural::Form plural) const = 0; + virtual const Modifier* getModifier(Signum signum, StandardPlural::Form plural) const = 0; }; diff --git a/deps/icu-small/source/i18n/number_utils.cpp b/deps/icu-small/source/i18n/number_utils.cpp index 0983b7b0726ec2..91d7f335cd82d3 100644 --- a/deps/icu-small/source/i18n/number_utils.cpp +++ b/deps/icu-small/source/i18n/number_utils.cpp @@ -252,4 +252,15 @@ bool DecNum::isZero() const { return decNumberIsZero(fData.getAlias()); } +void DecNum::toString(ByteSink& output, UErrorCode& status) const { + if (U_FAILURE(status)) { + return; + } + // "string must be at least dn->digits+14 characters long" + int32_t minCapacity = fData.getAlias()->digits + 14; + MaybeStackArray buffer(minCapacity); + uprv_decNumberToString(fData, buffer.getAlias()); + output.Append(buffer.getAlias(), static_cast(uprv_strlen(buffer.getAlias()))); +} + #endif /* #if !UCONFIG_NO_FORMATTING */ diff --git a/deps/icu-small/source/i18n/number_utils.h b/deps/icu-small/source/i18n/number_utils.h index 203dec6d83b92b..93195f080b2787 100644 --- a/deps/icu-small/source/i18n/number_utils.h +++ b/deps/icu-small/source/i18n/number_utils.h @@ -17,6 +17,7 @@ #include "number_roundingutils.h" #include "decNumber.h" #include "charstr.h" +#include "formatted_string_builder.h" U_NAMESPACE_BEGIN @@ -32,52 +33,10 @@ enum CldrPatternStyle { CLDR_PATTERN_STYLE_COUNT, }; - -/** - * Helper functions for dealing with the Field typedef, which stores fields - * in a compressed format. - */ -class NumFieldUtils { -public: - struct CategoryFieldPair { - int32_t category; - int32_t field; - }; - - /** Compile-time function to construct a Field from a category and a field */ - template - static constexpr Field compress() { - static_assert(category != 0, "cannot use Undefined category in NumFieldUtils"); - static_assert(category <= 0xf, "only 4 bits for category"); - static_assert(field <= 0xf, "only 4 bits for field"); - return static_cast((category << 4) | field); - } - - /** Runtime inline function to unpack the category and field from the Field */ - static inline CategoryFieldPair expand(Field field) { - if (field == UNUM_FIELD_COUNT) { - return {UFIELD_CATEGORY_UNDEFINED, 0}; - } - CategoryFieldPair ret = { - (field >> 4), - (field & 0xf) - }; - if (ret.category == 0) { - ret.category = UFIELD_CATEGORY_NUMBER; - } - return ret; - } - - static inline bool isNumericField(Field field) { - int8_t category = field >> 4; - return category == 0 || category == UFIELD_CATEGORY_NUMBER; - } -}; - // Namespace for naked functions namespace utils { -inline int32_t insertDigitFromSymbols(NumberStringBuilder& output, int32_t index, int8_t digit, +inline int32_t insertDigitFromSymbols(FormattedStringBuilder& output, int32_t index, int8_t digit, const DecimalFormatSymbols& symbols, Field field, UErrorCode& status) { if (symbols.getCodePointZero() != -1) { diff --git a/deps/icu-small/source/i18n/number_utypes.h b/deps/icu-small/source/i18n/number_utypes.h index 88b493cbc254c9..6dbe5bee68fb71 100644 --- a/deps/icu-small/source/i18n/number_utypes.h +++ b/deps/icu-small/source/i18n/number_utypes.h @@ -10,7 +10,7 @@ #include "unicode/numberformatter.h" #include "number_types.h" #include "number_decimalquantity.h" -#include "number_stringbuilder.h" +#include "formatted_string_builder.h" #include "formattedval_impl.h" U_NAMESPACE_BEGIN namespace number { @@ -31,9 +31,9 @@ const DecimalQuantity* validateUFormattedNumberToDecimalQuantity( * The DecimalQuantity is not currently being used by FormattedNumber, but at some point it could be used * to add a toDecNumber() or similar method. */ -class UFormattedNumberData : public FormattedValueNumberStringBuilderImpl { +class UFormattedNumberData : public FormattedValueStringBuilderImpl { public: - UFormattedNumberData() : FormattedValueNumberStringBuilderImpl(0) {} + UFormattedNumberData() : FormattedValueStringBuilderImpl(0) {} virtual ~UFormattedNumberData(); DecimalQuantity quantity; diff --git a/deps/icu-small/source/i18n/numfmt.cpp b/deps/icu-small/source/i18n/numfmt.cpp index 21efd184558778..bf78179bcddefe 100644 --- a/deps/icu-small/source/i18n/numfmt.cpp +++ b/deps/icu-small/source/i18n/numfmt.cpp @@ -569,7 +569,7 @@ NumberFormat::format(const Formattable& obj, if(arg.wasCurrency() && u_strcmp(iso, getCurrency())) { // trying to format a different currency. // Right now, we clone. - LocalPointer cloneFmt((NumberFormat*)this->clone()); + LocalPointer cloneFmt(this->clone()); cloneFmt->setCurrency(iso, status); // next line should NOT recurse, because n is numeric whereas obj was a wrapper around currency amount. return cloneFmt->format(*n, appendTo, pos, status); @@ -624,7 +624,7 @@ NumberFormat::format(const Formattable& obj, if(arg.wasCurrency() && u_strcmp(iso, getCurrency())) { // trying to format a different currency. // Right now, we clone. - LocalPointer cloneFmt((NumberFormat*)this->clone()); + LocalPointer cloneFmt(this->clone()); cloneFmt->setCurrency(iso, status); // next line should NOT recurse, because n is numeric whereas obj was a wrapper around currency amount. return cloneFmt->format(*n, appendTo, posIter, status); @@ -986,15 +986,19 @@ static UBool haveService() { URegistryKey U_EXPORT2 NumberFormat::registerFactory(NumberFormatFactory* toAdopt, UErrorCode& status) { - ICULocaleService *service = getNumberFormatService(); - if (service) { - NFFactory *tempnnf = new NFFactory(toAdopt); - if (tempnnf != NULL) { - return service->registerFactory(tempnnf, status); - } - } - status = U_MEMORY_ALLOCATION_ERROR; - return NULL; + if (U_FAILURE(status)) { + delete toAdopt; + return nullptr; + } + ICULocaleService *service = getNumberFormatService(); + if (service) { + NFFactory *tempnnf = new NFFactory(toAdopt); + if (tempnnf != NULL) { + return service->registerFactory(tempnnf, status); + } + } + status = U_MEMORY_ALLOCATION_ERROR; + return NULL; } // ------------------------------------- @@ -1055,7 +1059,7 @@ NumberFormat::createInstance(const Locale& loc, UNumberFormatStyle kind, UErrorC if (U_FAILURE(status)) { return NULL; } - NumberFormat *result = static_cast((*shared)->clone()); + NumberFormat *result = (*shared)->clone(); shared->removeRef(); if (result == NULL) { status = U_MEMORY_ALLOCATION_ERROR; @@ -1362,7 +1366,7 @@ NumberFormat::makeInstance(const Locale& desiredLocale, // TODO: Bad hash key usage, see ticket #8504. int32_t hashKey = desiredLocale.hashCode(); - static icu::UMutex nscacheMutex = U_MUTEX_INITIALIZER; + static UMutex nscacheMutex; Mutex lock(&nscacheMutex); ns = (NumberingSystem *)uhash_iget(NumberingSystem_cache, hashKey); if (ns == NULL) { diff --git a/deps/icu-small/source/i18n/numparse_affixes.cpp b/deps/icu-small/source/i18n/numparse_affixes.cpp index 12543a641b5946..4f83e0dd4076c3 100644 --- a/deps/icu-small/source/i18n/numparse_affixes.cpp +++ b/deps/icu-small/source/i18n/numparse_affixes.cpp @@ -13,6 +13,7 @@ #include "numparse_affixes.h" #include "numparse_utils.h" #include "number_utils.h" +#include "string_segment.h" using namespace icu; using namespace icu::numparse; @@ -280,7 +281,9 @@ void AffixMatcherWarehouse::createAffixMatchers(const AffixPatternProvider& patt AffixPatternMatcher* posSuffix = nullptr; // Pre-process the affix strings to resolve LDML rules like sign display. - for (int8_t signum = 1; signum >= -1; signum--) { + for (int8_t signumInt = 1; signumInt >= -1; signumInt--) { + auto signum = static_cast(signumInt); + // Generate Prefix bool hasPrefix = false; PatternStringUtils::patternInfoToStringBuilder( diff --git a/deps/icu-small/source/i18n/numparse_compositions.cpp b/deps/icu-small/source/i18n/numparse_compositions.cpp index 19253da805f0bf..2f7e1ab28d1d22 100644 --- a/deps/icu-small/source/i18n/numparse_compositions.cpp +++ b/deps/icu-small/source/i18n/numparse_compositions.cpp @@ -11,6 +11,7 @@ #include "numparse_types.h" #include "numparse_compositions.h" +#include "string_segment.h" #include "unicode/uniset.h" using namespace icu; diff --git a/deps/icu-small/source/i18n/numparse_currency.cpp b/deps/icu-small/source/i18n/numparse_currency.cpp index 598ace56533c36..6b53a73edf3b85 100644 --- a/deps/icu-small/source/i18n/numparse_currency.cpp +++ b/deps/icu-small/source/i18n/numparse_currency.cpp @@ -14,6 +14,7 @@ #include "ucurrimp.h" #include "unicode/errorcode.h" #include "numparse_utils.h" +#include "string_segment.h" using namespace icu; using namespace icu::numparse; diff --git a/deps/icu-small/source/i18n/numparse_decimal.cpp b/deps/icu-small/source/i18n/numparse_decimal.cpp index b120c5c6ad2f91..cf1e8156726d01 100644 --- a/deps/icu-small/source/i18n/numparse_decimal.cpp +++ b/deps/icu-small/source/i18n/numparse_decimal.cpp @@ -16,6 +16,7 @@ #include "unicode/uchar.h" #include "putilimp.h" #include "number_decimalquantity.h" +#include "string_segment.h" using namespace icu; using namespace icu::numparse; diff --git a/deps/icu-small/source/i18n/numparse_impl.cpp b/deps/icu-small/source/i18n/numparse_impl.cpp index 412ea89c86b651..bf5829061a1511 100644 --- a/deps/icu-small/source/i18n/numparse_impl.cpp +++ b/deps/icu-small/source/i18n/numparse_impl.cpp @@ -39,7 +39,7 @@ NumberParserImpl::createSimpleParser(const Locale& locale, const UnicodeString& LocalPointer parser(new NumberParserImpl(parseFlags)); DecimalFormatSymbols symbols(locale, status); - parser->fLocalMatchers.ignorables = {unisets::DEFAULT_IGNORABLES}; + parser->fLocalMatchers.ignorables = {parseFlags}; IgnorablesMatcher& ignorables = parser->fLocalMatchers.ignorables; DecimalFormatSymbols dfs(locale, status); @@ -114,6 +114,7 @@ NumberParserImpl::createParserFromProperties(const number::impl::DecimalFormatPr parseFlags |= PARSE_FLAG_STRICT_SEPARATORS; parseFlags |= PARSE_FLAG_USE_FULL_AFFIXES; parseFlags |= PARSE_FLAG_EXACT_AFFIX; + parseFlags |= PARSE_FLAG_STRICT_IGNORABLES; } else { parseFlags |= PARSE_FLAG_INCLUDE_UNPAIRED_AFFIXES; } @@ -129,8 +130,7 @@ NumberParserImpl::createParserFromProperties(const number::impl::DecimalFormatPr LocalPointer parser(new NumberParserImpl(parseFlags)); - parser->fLocalMatchers.ignorables = { - isStrict ? unisets::STRICT_IGNORABLES : unisets::DEFAULT_IGNORABLES}; + parser->fLocalMatchers.ignorables = {parseFlags}; IgnorablesMatcher& ignorables = parser->fLocalMatchers.ignorables; ////////////////////// diff --git a/deps/icu-small/source/i18n/numparse_impl.h b/deps/icu-small/source/i18n/numparse_impl.h index 7d5f0b6f0bd07b..380d9aa4c64289 100644 --- a/deps/icu-small/source/i18n/numparse_impl.h +++ b/deps/icu-small/source/i18n/numparse_impl.h @@ -18,6 +18,7 @@ #include "unicode/localpointer.h" #include "numparse_validators.h" #include "number_multiplier.h" +#include "string_segment.h" U_NAMESPACE_BEGIN diff --git a/deps/icu-small/source/i18n/numparse_parsednumber.cpp b/deps/icu-small/source/i18n/numparse_parsednumber.cpp index 3145f718dc26b5..4b373a3c312254 100644 --- a/deps/icu-small/source/i18n/numparse_parsednumber.cpp +++ b/deps/icu-small/source/i18n/numparse_parsednumber.cpp @@ -11,6 +11,7 @@ #include "numparse_types.h" #include "number_decimalquantity.h" +#include "string_segment.h" #include "putilimp.h" #include @@ -73,7 +74,7 @@ double ParsedNumber::getDouble(UErrorCode& status) const { status = U_INVALID_STATE_ERROR; return 0.0; } - if (quantity.isZero() && quantity.isNegative()) { + if (quantity.isZeroish() && quantity.isNegative()) { return -0.0; } @@ -106,7 +107,7 @@ void ParsedNumber::populateFormattable(Formattable& output, parse_flags_t parseF } } U_ASSERT(!quantity.bogus); - if (quantity.isZero() && quantity.isNegative() && !integerOnly) { + if (quantity.isZeroish() && quantity.isNegative() && !integerOnly) { output.setDouble(-0.0); return; } diff --git a/deps/icu-small/source/i18n/numparse_scientific.cpp b/deps/icu-small/source/i18n/numparse_scientific.cpp index de38957440817c..4b88cd998fee09 100644 --- a/deps/icu-small/source/i18n/numparse_scientific.cpp +++ b/deps/icu-small/source/i18n/numparse_scientific.cpp @@ -12,6 +12,7 @@ #include "numparse_types.h" #include "numparse_scientific.h" #include "static_unicode_sets.h" +#include "string_segment.h" using namespace icu; using namespace icu::numparse; @@ -33,7 +34,8 @@ inline const UnicodeSet& plusSignSet() { ScientificMatcher::ScientificMatcher(const DecimalFormatSymbols& dfs, const Grouper& grouper) : fExponentSeparatorString(dfs.getConstSymbol(DecimalFormatSymbols::kExponentialSymbol)), - fExponentMatcher(dfs, grouper, PARSE_FLAG_INTEGER_ONLY | PARSE_FLAG_GROUPING_DISABLED) { + fExponentMatcher(dfs, grouper, PARSE_FLAG_INTEGER_ONLY | PARSE_FLAG_GROUPING_DISABLED), + fIgnorablesMatcher(PARSE_FLAG_STRICT_IGNORABLES) { const UnicodeString& minusSign = dfs.getConstSymbol(DecimalFormatSymbols::kMinusSignSymbol); if (minusSignSet().contains(minusSign)) { @@ -63,15 +65,25 @@ bool ScientificMatcher::match(StringSegment& segment, ParsedNumber& result, UErr // First match the scientific separator, and then match another number after it. // NOTE: This is guarded by the smoke test; no need to check fExponentSeparatorString length again. - int overlap1 = segment.getCommonPrefixLength(fExponentSeparatorString); - if (overlap1 == fExponentSeparatorString.length()) { + int32_t initialOffset = segment.getOffset(); + int32_t overlap = segment.getCommonPrefixLength(fExponentSeparatorString); + if (overlap == fExponentSeparatorString.length()) { // Full exponent separator match. // First attempt to get a code point, returning true if we can't get one. - if (segment.length() == overlap1) { + if (segment.length() == overlap) { + return true; + } + segment.adjustOffset(overlap); + + // Allow ignorables before the sign. + // Note: call site is guarded by the segment.length() check above. + // Note: the ignorables matcher should not touch the result. + fIgnorablesMatcher.match(segment, result, status); + if (segment.length() == 0) { + segment.setOffset(initialOffset); return true; } - segment.adjustOffset(overlap1); // Allow a sign, and then try to match digits. int8_t exponentSign = 1; @@ -81,24 +93,37 @@ bool ScientificMatcher::match(StringSegment& segment, ParsedNumber& result, UErr } else if (segment.startsWith(plusSignSet())) { segment.adjustOffsetByCodePoint(); } else if (segment.startsWith(fCustomMinusSign)) { - // Note: call site is guarded with startsWith, which returns false on empty string - int32_t overlap2 = segment.getCommonPrefixLength(fCustomMinusSign); - if (overlap2 != fCustomMinusSign.length()) { - // Partial custom sign match; un-match the exponent separator. - segment.adjustOffset(-overlap1); + overlap = segment.getCommonPrefixLength(fCustomMinusSign); + if (overlap != fCustomMinusSign.length()) { + // Partial custom sign match + segment.setOffset(initialOffset); return true; } exponentSign = -1; - segment.adjustOffset(overlap2); + segment.adjustOffset(overlap); } else if (segment.startsWith(fCustomPlusSign)) { - // Note: call site is guarded with startsWith, which returns false on empty string - int32_t overlap2 = segment.getCommonPrefixLength(fCustomPlusSign); - if (overlap2 != fCustomPlusSign.length()) { - // Partial custom sign match; un-match the exponent separator. - segment.adjustOffset(-overlap1); + overlap = segment.getCommonPrefixLength(fCustomPlusSign); + if (overlap != fCustomPlusSign.length()) { + // Partial custom sign match + segment.setOffset(initialOffset); return true; } - segment.adjustOffset(overlap2); + segment.adjustOffset(overlap); + } + + // Return true if the segment is empty. + if (segment.length() == 0) { + segment.setOffset(initialOffset); + return true; + } + + // Allow ignorables after the sign. + // Note: call site is guarded by the segment.length() check above. + // Note: the ignorables matcher should not touch the result. + fIgnorablesMatcher.match(segment, result, status); + if (segment.length() == 0) { + segment.setOffset(initialOffset); + return true; } // We are supposed to accept E0 after NaN, so we need to make sure result.quantity is available. @@ -112,12 +137,12 @@ bool ScientificMatcher::match(StringSegment& segment, ParsedNumber& result, UErr // At least one exponent digit was matched. result.flags |= FLAG_HAS_EXPONENT; } else { - // No exponent digits were matched; un-match the exponent separator. - segment.adjustOffset(-overlap1); + // No exponent digits were matched + segment.setOffset(initialOffset); } return digitsReturnValue; - } else if (overlap1 == segment.length()) { + } else if (overlap == segment.length()) { // Partial exponent separator match return true; } diff --git a/deps/icu-small/source/i18n/numparse_scientific.h b/deps/icu-small/source/i18n/numparse_scientific.h index ddecf858af3584..5617c0c6a60822 100644 --- a/deps/icu-small/source/i18n/numparse_scientific.h +++ b/deps/icu-small/source/i18n/numparse_scientific.h @@ -9,6 +9,7 @@ #include "numparse_types.h" #include "numparse_decimal.h" +#include "numparse_symbols.h" #include "unicode/numberformatter.h" using icu::number::impl::Grouper; @@ -32,6 +33,7 @@ class ScientificMatcher : public NumberParseMatcher, public UMemory { private: UnicodeString fExponentSeparatorString; DecimalMatcher fExponentMatcher; + IgnorablesMatcher fIgnorablesMatcher; UnicodeString fCustomMinusSign; UnicodeString fCustomPlusSign; }; diff --git a/deps/icu-small/source/i18n/numparse_stringsegment.h b/deps/icu-small/source/i18n/numparse_stringsegment.h deleted file mode 100644 index 7a84444d414889..00000000000000 --- a/deps/icu-small/source/i18n/numparse_stringsegment.h +++ /dev/null @@ -1,24 +0,0 @@ -// © 2018 and later: Unicode, Inc. and others. -// License & terms of use: http://www.unicode.org/copyright.html - -#include "unicode/utypes.h" - -#if !UCONFIG_NO_FORMATTING -#ifndef __NUMPARSE_STRINGSEGMENT_H__ -#define __NUMPARSE_STRINGSEGMENT_H__ - -#include "numparse_types.h" -#include "number_types.h" -#include "unicode/unistr.h" - -U_NAMESPACE_BEGIN -namespace numparse { -namespace impl { - - -} // namespace impl -} // namespace numparse -U_NAMESPACE_END - -#endif //__NUMPARSE_STRINGSEGMENT_H__ -#endif /* #if !UCONFIG_NO_FORMATTING */ diff --git a/deps/icu-small/source/i18n/numparse_symbols.cpp b/deps/icu-small/source/i18n/numparse_symbols.cpp index e0daab9374f8b1..608f4f5c8b0ee7 100644 --- a/deps/icu-small/source/i18n/numparse_symbols.cpp +++ b/deps/icu-small/source/i18n/numparse_symbols.cpp @@ -12,6 +12,7 @@ #include "numparse_types.h" #include "numparse_symbols.h" #include "numparse_utils.h" +#include "string_segment.h" using namespace icu; using namespace icu::numparse; @@ -68,8 +69,12 @@ UnicodeString SymbolMatcher::toString() const { } -IgnorablesMatcher::IgnorablesMatcher(unisets::Key key) - : SymbolMatcher({}, key) { +IgnorablesMatcher::IgnorablesMatcher(parse_flags_t parseFlags) : + SymbolMatcher( + {}, + (0 != (parseFlags & PARSE_FLAG_STRICT_IGNORABLES)) ? + unisets::STRICT_IGNORABLES : + unisets::DEFAULT_IGNORABLES) { } bool IgnorablesMatcher::isFlexible() const { diff --git a/deps/icu-small/source/i18n/numparse_symbols.h b/deps/icu-small/source/i18n/numparse_symbols.h index 8912ee95b0d009..beb133f7d07a53 100644 --- a/deps/icu-small/source/i18n/numparse_symbols.h +++ b/deps/icu-small/source/i18n/numparse_symbols.h @@ -50,7 +50,7 @@ class U_I18N_API IgnorablesMatcher : public SymbolMatcher { public: IgnorablesMatcher() = default; // WARNING: Leaves the object in an unusable state - IgnorablesMatcher(unisets::Key key); + IgnorablesMatcher(parse_flags_t parseFlags); bool isFlexible() const override; diff --git a/deps/icu-small/source/i18n/numparse_types.h b/deps/icu-small/source/i18n/numparse_types.h index f837d8d2795a2b..b4007c2ff5b52c 100644 --- a/deps/icu-small/source/i18n/numparse_types.h +++ b/deps/icu-small/source/i18n/numparse_types.h @@ -9,12 +9,13 @@ #include "unicode/uobject.h" #include "number_decimalquantity.h" +#include "string_segment.h" -U_NAMESPACE_BEGIN namespace numparse { +U_NAMESPACE_BEGIN +namespace numparse { namespace impl { // Forward-declarations -class StringSegment; class ParsedNumber; typedef int32_t result_flags_t; @@ -50,6 +51,7 @@ enum ParseFlags { // PARSE_FLAG_FORCE_BIG_DECIMAL = 0x1000, // not used in ICU4C PARSE_FLAG_NO_FOREIGN_CURRENCY = 0x2000, PARSE_FLAG_ALLOW_INFINITE_RECURSION = 0x4000, + PARSE_FLAG_STRICT_IGNORABLES = 0x8000, }; @@ -169,115 +171,6 @@ class U_I18N_API ParsedNumber { }; -/** - * A mutable class allowing for a String with a variable offset and length. The charAt, length, and - * subSequence methods all operate relative to the fixed offset into the String. - * - * @author sffc - */ -// Exported as U_I18N_API for tests -class U_I18N_API StringSegment : public UMemory { - public: - StringSegment(const UnicodeString& str, bool ignoreCase); - - int32_t getOffset() const; - - void setOffset(int32_t start); - - /** - * Equivalent to setOffset(getOffset()+delta). - * - *

- * This method is usually called by a Matcher to register that a char was consumed. If the char is - * strong (it usually is, except for things like whitespace), follow this with a call to - * {@link ParsedNumber#setCharsConsumed}. For more information on strong chars, see that method. - */ - void adjustOffset(int32_t delta); - - /** - * Adjusts the offset by the width of the current code point, either 1 or 2 chars. - */ - void adjustOffsetByCodePoint(); - - void setLength(int32_t length); - - void resetLength(); - - int32_t length() const; - - char16_t charAt(int32_t index) const; - - UChar32 codePointAt(int32_t index) const; - - UnicodeString toUnicodeString() const; - - const UnicodeString toTempUnicodeString() const; - - /** - * Returns the first code point in the string segment, or -1 if the string starts with an invalid - * code point. - * - *

- * Important: Most of the time, you should use {@link #matches}, which handles case - * folding logic, instead of this method. - */ - UChar32 getCodePoint() const; - - /** - * Returns true if the first code point of this StringSegment equals the given code point. - * - *

- * This method will perform case folding if case folding is enabled for the parser. - */ - bool startsWith(UChar32 otherCp) const; - - /** - * Returns true if the first code point of this StringSegment is in the given UnicodeSet. - */ - bool startsWith(const UnicodeSet& uniset) const; - - /** - * Returns true if there is at least one code point of overlap between this StringSegment and the - * given UnicodeString. - */ - bool startsWith(const UnicodeString& other) const; - - /** - * Returns the length of the prefix shared by this StringSegment and the given CharSequence. For - * example, if this string segment is "aab", and the char sequence is "aac", this method returns 2, - * since the first 2 characters are the same. - * - *

- * This method only returns offsets along code point boundaries. - * - *

- * This method will perform case folding if case folding was enabled in the constructor. - * - *

- * IMPORTANT: The given UnicodeString must not be empty! It is the caller's responsibility to check. - */ - int32_t getCommonPrefixLength(const UnicodeString& other); - - /** - * Like {@link #getCommonPrefixLength}, but never performs case folding, even if case folding is - * enabled for the parser. - */ - int32_t getCaseSensitivePrefixLength(const UnicodeString& other); - - bool operator==(const UnicodeString& other) const; - - private: - const UnicodeString& fStr; - int32_t fStart; - int32_t fEnd; - bool fFoldCase; - - int32_t getPrefixLengthInternal(const UnicodeString& other, bool foldCase); - - static bool codePointsEqual(UChar32 cp1, UChar32 cp2, bool foldCase); -}; - - /** * The core interface implemented by all matchers used for number parsing. * diff --git a/deps/icu-small/source/i18n/numrange_fluent.cpp b/deps/icu-small/source/i18n/numrange_fluent.cpp index b284561cdc2b6f..654cafaf00bc82 100644 --- a/deps/icu-small/source/i18n/numrange_fluent.cpp +++ b/deps/icu-small/source/i18n/numrange_fluent.cpp @@ -382,7 +382,7 @@ UPRV_FORMATTED_VALUE_SUBCLASS_AUTO_IMPL(FormattedNumberRange) UBool FormattedNumberRange::nextFieldPosition(FieldPosition& fieldPosition, UErrorCode& status) const { UPRV_FORMATTED_VALUE_METHOD_GUARD(FALSE) // NOTE: MSVC sometimes complains when implicitly converting between bool and UBool - return fData->getStringRef().nextFieldPosition(fieldPosition, status) ? TRUE : FALSE; + return fData->nextFieldPosition(fieldPosition, status); } void FormattedNumberRange::getAllFieldPositions(FieldPositionIterator& iterator, UErrorCode& status) const { @@ -393,7 +393,7 @@ void FormattedNumberRange::getAllFieldPositions(FieldPositionIterator& iterator, void FormattedNumberRange::getAllFieldPositionsImpl( FieldPositionIteratorHandler& fpih, UErrorCode& status) const { UPRV_FORMATTED_VALUE_METHOD_GUARD(UPRV_NOARG) - fData->getStringRef().getAllFieldPositions(fpih, status); + fData->getAllFieldPositions(fpih, status); } UnicodeString FormattedNumberRange::getFirstDecimal(UErrorCode& status) const { diff --git a/deps/icu-small/source/i18n/numrange_impl.cpp b/deps/icu-small/source/i18n/numrange_impl.cpp index 05eb2b84de3d87..7d732b31ec177a 100644 --- a/deps/icu-small/source/i18n/numrange_impl.cpp +++ b/deps/icu-small/source/i18n/numrange_impl.cpp @@ -397,7 +397,7 @@ void NumberRangeFormatterImpl::formatRange(UFormattedNumberRangeData& data, break; } - NumberStringBuilder& string = data.getStringRef(); + FormattedStringBuilder& string = data.getStringRef(); int32_t lengthPrefix = 0; int32_t length1 = 0; int32_t lengthInfix = 0; diff --git a/deps/icu-small/source/i18n/numrange_impl.h b/deps/icu-small/source/i18n/numrange_impl.h index dc25dd4d67bfeb..f88e300913642d 100644 --- a/deps/icu-small/source/i18n/numrange_impl.h +++ b/deps/icu-small/source/i18n/numrange_impl.h @@ -13,7 +13,7 @@ #include "number_types.h" #include "number_decimalquantity.h" #include "number_formatimpl.h" -#include "number_stringbuilder.h" +#include "formatted_string_builder.h" #include "formattedval_impl.h" U_NAMESPACE_BEGIN namespace number { @@ -29,9 +29,9 @@ namespace impl { * Possible magic number: 0x46445200 * Reads in ASCII as "FDR" (FormatteDnumberRange with room at the end) */ -class UFormattedNumberRangeData : public FormattedValueNumberStringBuilderImpl { +class UFormattedNumberRangeData : public FormattedValueStringBuilderImpl { public: - UFormattedNumberRangeData() : FormattedValueNumberStringBuilderImpl(0) {} + UFormattedNumberRangeData() : FormattedValueStringBuilderImpl(0) {} virtual ~UFormattedNumberRangeData(); DecimalQuantity quantity1; diff --git a/deps/icu-small/source/i18n/numsys.cpp b/deps/icu-small/source/i18n/numsys.cpp index 80056f925b027f..e3fe54bc1b3f7e 100644 --- a/deps/icu-small/source/i18n/numsys.cpp +++ b/deps/icu-small/source/i18n/numsys.cpp @@ -37,7 +37,7 @@ U_NAMESPACE_BEGIN // Useful constants -#define DEFAULT_DIGITS UNICODE_STRING_SIMPLE("0123456789"); +#define DEFAULT_DIGITS UNICODE_STRING_SIMPLE("0123456789") static const char gNumberingSystems[] = "numberingSystems"; static const char gNumberElements[] = "NumberElements"; static const char gDefault[] = "default"; diff --git a/deps/icu-small/source/i18n/olsontz.cpp b/deps/icu-small/source/i18n/olsontz.cpp index 95fc56bcd71b54..dd01180f8cc078 100644 --- a/deps/icu-small/source/i18n/olsontz.cpp +++ b/deps/icu-small/source/i18n/olsontz.cpp @@ -287,8 +287,7 @@ OlsonTimeZone& OlsonTimeZone::operator=(const OlsonTimeZone& other) { typeMapData = other.typeMapData; delete finalZone; - finalZone = (other.finalZone != 0) ? - (SimpleTimeZone*) other.finalZone->clone() : 0; + finalZone = (other.finalZone != 0) ? other.finalZone->clone() : 0; finalStartYear = other.finalStartYear; finalStartMillis = other.finalStartMillis; @@ -319,7 +318,7 @@ UBool OlsonTimeZone::operator==(const TimeZone& other) const { /** * TimeZone API. */ -TimeZone* OlsonTimeZone::clone() const { +OlsonTimeZone* OlsonTimeZone::clone() const { return new OlsonTimeZone(*this); } @@ -816,7 +815,7 @@ OlsonTimeZone::initTransitionRules(UErrorCode& status) { * For now, we do not set the valid start year when the construction time * and create a clone and set the start year when extracting rules. */ - finalZoneWithStartYear = (SimpleTimeZone*)finalZone->clone(); + finalZoneWithStartYear = finalZone->clone(); // Check to make sure finalZone was actually cloned. if (finalZoneWithStartYear == NULL) { status = U_MEMORY_ALLOCATION_ERROR; @@ -837,7 +836,7 @@ OlsonTimeZone::initTransitionRules(UErrorCode& status) { startTime = tzt.getTime(); } else { // final rule with no transitions - finalZoneWithStartYear = (SimpleTimeZone*)finalZone->clone(); + finalZoneWithStartYear = finalZone->clone(); // Check to make sure finalZone was actually cloned. if (finalZoneWithStartYear == NULL) { status = U_MEMORY_ALLOCATION_ERROR; diff --git a/deps/icu-small/source/i18n/olsontz.h b/deps/icu-small/source/i18n/olsontz.h index 6f0d36e5de5db0..79601546984a23 100644 --- a/deps/icu-small/source/i18n/olsontz.h +++ b/deps/icu-small/source/i18n/olsontz.h @@ -151,7 +151,7 @@ class U_I18N_API OlsonTimeZone: public BasicTimeZone { /** * TimeZone API. */ - virtual TimeZone* clone() const; + virtual OlsonTimeZone* clone() const; /** * TimeZone API. @@ -398,7 +398,7 @@ class U_I18N_API OlsonTimeZone: public BasicTimeZone { TimeArrayTimeZoneRule **historicRules; int16_t historicRuleCount; SimpleTimeZone *finalZoneWithStartYear; // hack - UInitOnce transitionRulesInitOnce; + UInitOnce transitionRulesInitOnce = U_INITONCE_INITIALIZER; }; inline int16_t diff --git a/deps/icu-small/source/i18n/persncal.cpp b/deps/icu-small/source/i18n/persncal.cpp index 3d391f4e3fbe8e..4d366d41f0dffe 100644 --- a/deps/icu-small/source/i18n/persncal.cpp +++ b/deps/icu-small/source/i18n/persncal.cpp @@ -74,7 +74,7 @@ const char *PersianCalendar::getType() const { return "persian"; } -Calendar* PersianCalendar::clone() const { +PersianCalendar* PersianCalendar::clone() const { return new PersianCalendar(*this); } diff --git a/deps/icu-small/source/i18n/persncal.h b/deps/icu-small/source/i18n/persncal.h index ec818822b33a41..a9d940db78e6c7 100644 --- a/deps/icu-small/source/i18n/persncal.h +++ b/deps/icu-small/source/i18n/persncal.h @@ -164,7 +164,7 @@ class PersianCalendar : public Calendar { // TODO: copy c'tor, etc // clone - virtual Calendar* clone() const; + virtual PersianCalendar* clone() const; private: /** diff --git a/deps/icu-small/source/i18n/plurfmt.cpp b/deps/icu-small/source/i18n/plurfmt.cpp index 678d91b9c824bc..b99437630e67b5 100644 --- a/deps/icu-small/source/i18n/plurfmt.cpp +++ b/deps/icu-small/source/i18n/plurfmt.cpp @@ -159,7 +159,7 @@ PluralFormat::copyObjects(const PluralFormat& other) { if (other.numberFormat == NULL) { numberFormat = NumberFormat::createInstance(locale, status); } else { - numberFormat = (NumberFormat*)other.numberFormat->clone(); + numberFormat = other.numberFormat->clone(); } if (other.pluralRulesWrapper.pluralRules == NULL) { pluralRulesWrapper.pluralRules = PluralRules::forLocale(locale, status); @@ -277,7 +277,14 @@ PluralFormat::format(const Formattable& numberObject, double number, UnicodeString numberString; auto *decFmt = dynamic_cast(numberFormat); if(decFmt != nullptr) { - decFmt->toNumberFormatter().formatImpl(&data, status); // mutates &data + const number::LocalizedNumberFormatter* lnf = decFmt->toNumberFormatter(status); + if (U_FAILURE(status)) { + return appendTo; + } + lnf->formatImpl(&data, status); // mutates &data + if (U_FAILURE(status)) { + return appendTo; + } numberString = data.getStringRef().toUnicodeString(); } else { if (offset == 0) { @@ -346,7 +353,7 @@ PluralFormat::setNumberFormat(const NumberFormat* format, UErrorCode& status) { if (U_FAILURE(status)) { return; } - NumberFormat* nf = (NumberFormat*)format->clone(); + NumberFormat* nf = format->clone(); if (nf != NULL) { delete numberFormat; numberFormat = nf; @@ -355,7 +362,7 @@ PluralFormat::setNumberFormat(const NumberFormat* format, UErrorCode& status) { } } -Format* +PluralFormat* PluralFormat::clone() const { return new PluralFormat(*this); diff --git a/deps/icu-small/source/i18n/quant.cpp b/deps/icu-small/source/i18n/quant.cpp index 1908a504846b07..b0e7a3ed52c240 100644 --- a/deps/icu-small/source/i18n/quant.cpp +++ b/deps/icu-small/source/i18n/quant.cpp @@ -47,7 +47,7 @@ Quantifier::~Quantifier() { /** * Implement UnicodeFunctor */ -UnicodeFunctor* Quantifier::clone() const { +Quantifier* Quantifier::clone() const { return new Quantifier(*this); } diff --git a/deps/icu-small/source/i18n/quant.h b/deps/icu-small/source/i18n/quant.h index 1abb0db61aa386..d5aa8e5eeeedee 100644 --- a/deps/icu-small/source/i18n/quant.h +++ b/deps/icu-small/source/i18n/quant.h @@ -45,7 +45,7 @@ class Quantifier : public UnicodeFunctor, public UnicodeMatcher { * Implement UnicodeFunctor * @return a copy of the object. */ - virtual UnicodeFunctor* clone() const; + virtual Quantifier* clone() const; /** * Implement UnicodeMatcher diff --git a/deps/icu-small/source/i18n/quantityformatter.cpp b/deps/icu-small/source/i18n/quantityformatter.cpp index 9182f9e7d379a8..e88b70fbd71795 100644 --- a/deps/icu-small/source/i18n/quantityformatter.cpp +++ b/deps/icu-small/source/i18n/quantityformatter.cpp @@ -26,7 +26,7 @@ #include "uassert.h" #include "number_decimalquantity.h" #include "number_utypes.h" -#include "number_stringbuilder.h" +#include "formatted_string_builder.h" U_NAMESPACE_BEGIN @@ -180,7 +180,7 @@ void QuantityFormatter::formatAndSelect( double quantity, const NumberFormat& fmt, const PluralRules& rules, - number::impl::NumberStringBuilder& output, + FormattedStringBuilder& output, StandardPlural::Form& pluralForm, UErrorCode& status) { UnicodeString pluralKeyword; @@ -188,7 +188,11 @@ void QuantityFormatter::formatAndSelect( if (df != nullptr) { number::impl::UFormattedNumberData fn; fn.quantity.setToDouble(quantity); - df->toNumberFormatter().formatImpl(&fn, status); + const number::LocalizedNumberFormatter* lnf = df->toNumberFormatter(status); + if (U_FAILURE(status)) { + return; + } + lnf->formatImpl(&fn, status); if (U_FAILURE(status)) { return; } diff --git a/deps/icu-small/source/i18n/quantityformatter.h b/deps/icu-small/source/i18n/quantityformatter.h index 3e3f29de57323d..88c3f3844e924d 100644 --- a/deps/icu-small/source/i18n/quantityformatter.h +++ b/deps/icu-small/source/i18n/quantityformatter.h @@ -26,12 +26,7 @@ class PluralRules; class NumberFormat; class Formattable; class FieldPosition; - -namespace number { -namespace impl { -class NumberStringBuilder; -} -} +class FormattedStringBuilder; /** * A plural aware formatter that is good for expressing a single quantity and @@ -129,7 +124,7 @@ class U_I18N_API QuantityFormatter : public UMemory { /** * Formats a quantity and selects its plural form. The output is appended - * to a NumberStringBuilder in order to retain field information. + * to a FormattedStringBuilder in order to retain field information. * * @param quantity The number to format. * @param fmt The formatter to use to format the number. @@ -144,7 +139,7 @@ class U_I18N_API QuantityFormatter : public UMemory { double quantity, const NumberFormat& fmt, const PluralRules& rules, - number::impl::NumberStringBuilder& output, + FormattedStringBuilder& output, StandardPlural::Form& pluralForm, UErrorCode& status); diff --git a/deps/icu-small/source/i18n/rbnf.cpp b/deps/icu-small/source/i18n/rbnf.cpp index 74707ccd22d2ac..c25e61e6b28d94 100644 --- a/deps/icu-small/source/i18n/rbnf.cpp +++ b/deps/icu-small/source/i18n/rbnf.cpp @@ -355,10 +355,16 @@ class LocDataParser { }; #ifdef RBNF_DEBUG -#define ERROR(msg) parseError(msg); return NULL; +#define ERROR(msg) UPRV_BLOCK_MACRO_BEGIN { \ + parseError(msg); \ + return NULL; \ +} UPRV_BLOCK_MACRO_END #define EXPLANATION_ARG explanationArg #else -#define ERROR(msg) parseError(NULL); return NULL; +#define ERROR(msg) UPRV_BLOCK_MACRO_BEGIN { \ + parseError(NULL); \ + return NULL; \ +} UPRV_BLOCK_MACRO_END #define EXPLANATION_ARG #endif @@ -924,8 +930,8 @@ RuleBasedNumberFormat::~RuleBasedNumberFormat() dispose(); } -Format* -RuleBasedNumberFormat::clone(void) const +RuleBasedNumberFormat* +RuleBasedNumberFormat::clone() const { return new RuleBasedNumberFormat(*this); } @@ -1110,45 +1116,6 @@ RuleBasedNumberFormat::findRuleSet(const UnicodeString& name, UErrorCode& status return NULL; } -UnicodeString& -RuleBasedNumberFormat::format(const DecimalQuantity &number, - UnicodeString &appendTo, - FieldPositionIterator *posIter, - UErrorCode &status) const { - if (U_FAILURE(status)) { - return appendTo; - } - DecimalQuantity copy(number); - if (copy.fitsInLong()) { - format(number.toLong(), appendTo, posIter, status); - } - else { - copy.roundToMagnitude(0, number::impl::RoundingMode::UNUM_ROUND_HALFEVEN, status); - if (copy.fitsInLong()) { - format(number.toDouble(), appendTo, posIter, status); - } - else { - // We're outside of our normal range that this framework can handle. - // The DecimalFormat will provide more accurate results. - - // TODO this section should probably be optimized. The DecimalFormat is shared in ICU4J. - LocalPointer decimalFormat(NumberFormat::createInstance(locale, UNUM_DECIMAL, status), status); - if (decimalFormat.isNull()) { - return appendTo; - } - Formattable f; - LocalPointer decimalQuantity(new DecimalQuantity(number), status); - if (decimalQuantity.isNull()) { - return appendTo; - } - f.adoptDecimalQuantity(decimalQuantity.orphan()); // f now owns decimalQuantity. - decimalFormat->format(f, appendTo, posIter, status); - } - } - return appendTo; -} - - UnicodeString& RuleBasedNumberFormat::format(const DecimalQuantity &number, UnicodeString& appendTo, diff --git a/deps/icu-small/source/i18n/rbt.cpp b/deps/icu-small/source/i18n/rbt.cpp index 8ba6a60ff42218..02d0ce6ceb20f8 100644 --- a/deps/icu-small/source/i18n/rbt.cpp +++ b/deps/icu-small/source/i18n/rbt.cpp @@ -191,8 +191,8 @@ RuleBasedTransliterator::~RuleBasedTransliterator() { } } -Transliterator* // Covariant return NOT ALLOWED (for portability) -RuleBasedTransliterator::clone(void) const { +RuleBasedTransliterator* +RuleBasedTransliterator::clone() const { return new RuleBasedTransliterator(*this); } @@ -253,7 +253,7 @@ RuleBasedTransliterator::handleTransliterate(Replaceable& text, UTransPosition& // // TODO(andy): Need a better scheme for handling this. - static UMutex transliteratorDataMutex = U_MUTEX_INITIALIZER; + static UMutex transliteratorDataMutex; UBool needToLock; { Mutex m; diff --git a/deps/icu-small/source/i18n/rbt.h b/deps/icu-small/source/i18n/rbt.h index a18452ab2ecb49..b450dc23f4975c 100644 --- a/deps/icu-small/source/i18n/rbt.h +++ b/deps/icu-small/source/i18n/rbt.h @@ -144,7 +144,7 @@ class RuleBasedTransliterator : public Transliterator { * Implement Transliterator API. * @internal Use transliterator factory methods instead since this class will be removed in that release. */ - virtual Transliterator* clone(void) const; + virtual RuleBasedTransliterator* clone() const; protected: /** diff --git a/deps/icu-small/source/i18n/rbt_pars.cpp b/deps/icu-small/source/i18n/rbt_pars.cpp index e07cc8b63a408c..3eb58a2a904a46 100644 --- a/deps/icu-small/source/i18n/rbt_pars.cpp +++ b/deps/icu-small/source/i18n/rbt_pars.cpp @@ -1111,7 +1111,7 @@ void TransliteratorParser::parseRules(const UnicodeString& rule, int32_t p = UHASH_FIRST; const UHashElement* he = variableNames.nextElement(p); while (he != NULL) { - UnicodeString* tempus = (UnicodeString*)(((UnicodeString*)(he->value.pointer))->clone()); + UnicodeString* tempus = ((UnicodeString*)(he->value.pointer))->clone(); if (tempus == NULL) { status = U_MEMORY_ALLOCATION_ERROR; return; diff --git a/deps/icu-small/source/i18n/rbt_rule.cpp b/deps/icu-small/source/i18n/rbt_rule.cpp index db02f76035c9ea..cd7bd5d9dfb655 100644 --- a/deps/icu-small/source/i18n/rbt_rule.cpp +++ b/deps/icu-small/source/i18n/rbt_rule.cpp @@ -180,13 +180,13 @@ TransliterationRule::TransliterationRule(TransliterationRule& other) : } if (other.anteContext != NULL) { - anteContext = (StringMatcher*) other.anteContext->clone(); + anteContext = other.anteContext->clone(); } if (other.key != NULL) { - key = (StringMatcher*) other.key->clone(); + key = other.key->clone(); } if (other.postContext != NULL) { - postContext = (StringMatcher*) other.postContext->clone(); + postContext = other.postContext->clone(); } output = other.output->clone(); } diff --git a/deps/icu-small/source/i18n/rbtz.cpp b/deps/icu-small/source/i18n/rbtz.cpp index b8dca395fc0403..2c3747abdafeaf 100644 --- a/deps/icu-small/source/i18n/rbtz.cpp +++ b/deps/icu-small/source/i18n/rbtz.cpp @@ -149,7 +149,7 @@ RuleBasedTimeZone::addTransitionRule(TimeZoneRule* rule, UErrorCode& status) { void RuleBasedTimeZone::completeConst(UErrorCode& status) const { - static UMutex gLock = U_MUTEX_INITIALIZER; + static UMutex gLock; if (U_FAILURE(status)) { return; } @@ -356,8 +356,8 @@ RuleBasedTimeZone::complete(UErrorCode& status) { fUpToDate = FALSE; } -TimeZone* -RuleBasedTimeZone::clone(void) const { +RuleBasedTimeZone* +RuleBasedTimeZone::clone() const { return new RuleBasedTimeZone(*this); } diff --git a/deps/icu-small/source/i18n/regexcmp.cpp b/deps/icu-small/source/i18n/regexcmp.cpp index 8d60986fd32ca6..3a6368b07afe73 100644 --- a/deps/icu-small/source/i18n/regexcmp.cpp +++ b/deps/icu-small/source/i18n/regexcmp.cpp @@ -561,7 +561,7 @@ UBool RegexCompile::doParseActions(int32_t action) // sequence; don't change without making updates there too. // // Compiles to - // 1 START_LA dataLoc Saves SP, Input Pos + // 1 LA_START dataLoc Saves SP, Input Pos, Active input region. // 2. STATE_SAVE 4 on failure of lookahead, goto 4 // 3 JMP 6 continue ... // @@ -575,10 +575,14 @@ UBool RegexCompile::doParseActions(int32_t action) // 8. code for parenthesized stuff. // 9. LA_END // - // Two data slots are reserved, for saving the stack ptr and the input position. + // Four data slots are reserved, for saving state on entry to the look-around + // 0: stack pointer on entry. + // 1: input position on entry. + // 2: fActiveStart, the active bounds start on entry. + // 3: fActiveLimit, the active bounds limit on entry. { fixLiterals(); - int32_t dataLoc = allocateData(2); + int32_t dataLoc = allocateData(4); appendOp(URX_LA_START, dataLoc); appendOp(URX_STATE_SAVE, fRXPat->fCompiledPat->size()+ 2); appendOp(URX_JMP, fRXPat->fCompiledPat->size()+ 3); @@ -599,18 +603,23 @@ UBool RegexCompile::doParseActions(int32_t action) case doOpenLookAheadNeg: // Negated Lookahead. (?! stuff ) // Compiles to - // 1. START_LA dataloc + // 1. LA_START dataloc // 2. SAVE_STATE 7 // Fail within look-ahead block restores to this state, // // which continues with the match. // 3. NOP // Std. Open Paren sequence, for possible '|' // 4. code for parenthesized stuff. - // 5. END_LA // Cut back stack, remove saved state from step 2. + // 5. LA_END // Cut back stack, remove saved state from step 2. // 6. BACKTRACK // code in block succeeded, so neg. lookahead fails. // 7. END_LA // Restore match region, in case look-ahead was using // an alternate (transparent) region. + // Four data slots are reserved, for saving state on entry to the look-around + // 0: stack pointer on entry. + // 1: input position on entry. + // 2: fActiveStart, the active bounds start on entry. + // 3: fActiveLimit, the active bounds limit on entry. { fixLiterals(); - int32_t dataLoc = allocateData(2); + int32_t dataLoc = allocateData(4); appendOp(URX_LA_START, dataLoc); appendOp(URX_STATE_SAVE, 0); // dest address will be patched later. appendOp(URX_NOP, 0); @@ -644,14 +653,16 @@ UBool RegexCompile::doParseActions(int32_t action) // Allocate a block of matcher data, to contain (when running a match) // 0: Stack ptr on entry // 1: Input Index on entry - // 2: Start index of match current match attempt. - // 3: Original Input String len. + // 2: fActiveStart, the active bounds start on entry. + // 3: fActiveLimit, the active bounds limit on entry. + // 4: Start index of match current match attempt. + // The first four items must match the layout of data for LA_START / LA_END // Generate match code for any pending literals. fixLiterals(); // Allocate data space - int32_t dataLoc = allocateData(4); + int32_t dataLoc = allocateData(5); // Emit URX_LB_START appendOp(URX_LB_START, dataLoc); @@ -696,14 +707,16 @@ UBool RegexCompile::doParseActions(int32_t action) // Allocate a block of matcher data, to contain (when running a match) // 0: Stack ptr on entry // 1: Input Index on entry - // 2: Start index of match current match attempt. - // 3: Original Input String len. + // 2: fActiveStart, the active bounds start on entry. + // 3: fActiveLimit, the active bounds limit on entry. + // 4: Start index of match current match attempt. + // The first four items must match the layout of data for LA_START / LA_END // Generate match code for any pending literals. fixLiterals(); // Allocate data space - int32_t dataLoc = allocateData(4); + int32_t dataLoc = allocateData(5); // Emit URX_LB_START appendOp(URX_LB_START, dataLoc); @@ -2285,7 +2298,7 @@ void RegexCompile::handleCloseParen() { error(U_REGEX_LOOK_BEHIND_LIMIT); break; } - if (minML == INT32_MAX && maxML == 0) { + if (minML == INT32_MAX) { // This condition happens when no match is possible, such as with a // [set] expression containing no elements. // In principle, the generated code to evaluate the expression could be deleted, @@ -2328,7 +2341,7 @@ void RegexCompile::handleCloseParen() { error(U_REGEX_LOOK_BEHIND_LIMIT); break; } - if (minML == INT32_MAX && maxML == 0) { + if (minML == INT32_MAX) { // This condition happens when no match is possible, such as with a // [set] expression containing no elements. // In principle, the generated code to evaluate the expression could be deleted, @@ -3381,7 +3394,7 @@ int32_t RegexCompile::minMatchLength(int32_t start, int32_t end) { // it assumes that the look-ahead match might be zero-length. // TODO: Positive lookahead could recursively do the block, then continue // with the longer of the block or the value coming in. Ticket 6060 - int32_t depth = (opType == URX_LA_START? 2: 1);; + int32_t depth = (opType == URX_LA_START? 2: 1); for (;;) { loc++; op = (int32_t)fRXPat->fCompiledPat->elementAti(loc); @@ -3463,7 +3476,6 @@ int32_t RegexCompile::maxMatchLength(int32_t start, int32_t end) { U_ASSERT(start <= end); U_ASSERT(end < fRXPat->fCompiledPat->size()); - int32_t loc; int32_t op; int32_t opType; @@ -3672,7 +3684,7 @@ int32_t RegexCompile::maxMatchLength(int32_t start, int32_t end) { case URX_CTR_LOOP: case URX_CTR_LOOP_NG: - // These opcodes will be skipped over by code for URX_CRT_INIT. + // These opcodes will be skipped over by code for URX_CTR_INIT. // We shouldn't encounter them here. UPRV_UNREACHABLE; @@ -3700,21 +3712,15 @@ int32_t RegexCompile::maxMatchLength(int32_t start, int32_t end) { { // Look-behind. Scan forward until the matching look-around end, // without processing the look-behind block. - int32_t depth = 0; - for (;;) { - loc++; + int32_t dataLoc = URX_VAL(op); + for (loc = loc + 1; loc < end; ++loc) { op = (int32_t)fRXPat->fCompiledPat->elementAti(loc); - if (URX_TYPE(op) == URX_LA_START || URX_TYPE(op) == URX_LB_START) { - depth++; - } - if (URX_TYPE(op) == URX_LA_END || URX_TYPE(op)==URX_LBN_END) { - if (depth == 0) { - break; - } - depth--; + int32_t opType = URX_TYPE(op); + if ((opType == URX_LA_END || opType == URX_LBN_END) && (URX_VAL(op) == dataLoc)) { + break; } - U_ASSERT(loc < end); } + U_ASSERT(loc < end); } break; diff --git a/deps/icu-small/source/i18n/regeximp.h b/deps/icu-small/source/i18n/regeximp.h index da4a861bde52dd..9155cd3a31bbe1 100644 --- a/deps/icu-small/source/i18n/regeximp.h +++ b/deps/icu-small/source/i18n/regeximp.h @@ -123,7 +123,7 @@ enum { // saved input position, FAIL rather than taking // the JMP URX_LA_START = 37, // Starting a LookAround expression. - // Save InputPos and SP in static data. + // Save InputPos, SP and active region in static data. // Operand: Static data offset for the save URX_LA_END = 38, // Ending a Lookaround expression. // Restore InputPos and Stack to saved values. diff --git a/deps/icu-small/source/i18n/region.cpp b/deps/icu-small/source/i18n/region.cpp index f182f61486e6d3..198bea8f643a5b 100644 --- a/deps/icu-small/source/i18n/region.cpp +++ b/deps/icu-small/source/i18n/region.cpp @@ -25,7 +25,6 @@ #include "unicode/uobject.h" #include "unicode/unistr.h" #include "unicode/ures.h" -#include "unicode/decimfmt.h" #include "ucln_in.h" #include "cstring.h" #include "mutex.h" @@ -33,6 +32,7 @@ #include "umutex.h" #include "uresimp.h" #include "region_impl.h" +#include "util.h" #if !UCONFIG_NO_FORMATTING @@ -87,7 +87,6 @@ void U_CALLCONV Region::loadRegionData(UErrorCode &status) { LocalUHashtablePointer newRegionIDMap(uhash_open(uhash_hashUnicodeString, uhash_compareUnicodeString, NULL, &status)); LocalUHashtablePointer newNumericCodeMap(uhash_open(uhash_hashLong,uhash_compareLong,NULL,&status)); LocalUHashtablePointer newRegionAliases(uhash_open(uhash_hashUnicodeString,uhash_compareUnicodeString,NULL,&status)); - LocalPointer df(new DecimalFormat(status), status); LocalPointer continents(new UVector(uprv_deleteUObject, uhash_compareUnicodeString, status), status); LocalPointer groupings(new UVector(uprv_deleteUObject, uhash_compareUnicodeString, status), status); @@ -115,7 +114,6 @@ void U_CALLCONV Region::loadRegionData(UErrorCode &status) { } // now, initialize - df->setParseIntegerOnly(TRUE); uhash_setValueDeleter(newRegionIDMap.getAlias(), deleteRegion); // regionIDMap owns objs uhash_setKeyDeleter(newRegionAliases.getAlias(), uprv_deleteUObject); // regionAliases owns the string keys @@ -192,11 +190,10 @@ void U_CALLCONV Region::loadRegionData(UErrorCode &status) { r->idStr.extract(0,r->idStr.length(),r->id,sizeof(r->id),US_INV); r->fType = URGN_TERRITORY; // Only temporary - figure out the real type later once the aliases are known. - Formattable result; - UErrorCode ps = U_ZERO_ERROR; - df->parse(r->idStr,result,ps); - if ( U_SUCCESS(ps) ) { - r->code = result.getLong(); // Convert string to number + int32_t pos = 0; + int32_t result = ICU_Utility::parseAsciiInteger(r->idStr, pos); + if (pos > 0) { + r->code = result; // Convert string to number uhash_iput(newNumericCodeMap.getAlias(),r->code,(void *)(r.getAlias()),&status); r->fType = URGN_SUBCONTINENT; } else { @@ -230,11 +227,10 @@ void U_CALLCONV Region::loadRegionData(UErrorCode &status) { aliasFromRegion->idStr.setTo(*aliasFromStr); aliasFromRegion->idStr.extract(0,aliasFromRegion->idStr.length(),aliasFromRegion->id,sizeof(aliasFromRegion->id),US_INV); uhash_put(newRegionIDMap.getAlias(),(void *)&(aliasFromRegion->idStr),(void *)aliasFromRegion,&status); - Formattable result; - UErrorCode ps = U_ZERO_ERROR; - df->parse(aliasFromRegion->idStr,result,ps); - if ( U_SUCCESS(ps) ) { - aliasFromRegion->code = result.getLong(); // Convert string to number + int32_t pos = 0; + int32_t result = ICU_Utility::parseAsciiInteger(aliasFromRegion->idStr, pos); + if ( pos > 0 ) { + aliasFromRegion->code = result; // Convert string to number uhash_iput(newNumericCodeMap.getAlias(),aliasFromRegion->code,(void *)aliasFromRegion,&status); } else { aliasFromRegion->code = -1; @@ -279,11 +275,10 @@ void U_CALLCONV Region::loadRegionData(UErrorCode &status) { Region *r = (Region *)uhash_get(newRegionIDMap.getAlias(),(void *)&codeMappingID); if ( r ) { - Formattable result; - UErrorCode ps = U_ZERO_ERROR; - df->parse(codeMappingNumber,result,ps); - if ( U_SUCCESS(ps) ) { - r->code = result.getLong(); // Convert string to number + int32_t pos = 0; + int32_t result = ICU_Utility::parseAsciiInteger(codeMappingNumber, pos); + if ( pos > 0 ) { + r->code = result; // Convert string to number uhash_iput(newNumericCodeMap.getAlias(),r->code,(void *)r,&status); } LocalPointer code3(new UnicodeString(codeMapping3Letter), status); @@ -516,15 +511,8 @@ Region::getInstance (int32_t code, UErrorCode &status) { Region *r = (Region *)uhash_iget(numericCodeMap,code); if ( !r ) { // Just in case there's an alias that's numeric, try to find it. - UnicodeString pat = UNICODE_STRING_SIMPLE("0"); - LocalPointer df(new DecimalFormat(pat,status), status); - if( U_FAILURE(status) ) { - return NULL; - } UnicodeString id; - id.remove(); - FieldPosition posIter; - df->format(code,id, posIter, status); + ICU_Utility::appendNumber(id, code, 10, 1); r = (Region *)uhash_get(regionAliases,&id); } diff --git a/deps/icu-small/source/i18n/reldatefmt.cpp b/deps/icu-small/source/i18n/reldatefmt.cpp index cda2564b9a0539..f2568a858d1d20 100644 --- a/deps/icu-small/source/i18n/reldatefmt.cpp +++ b/deps/icu-small/source/i18n/reldatefmt.cpp @@ -43,7 +43,7 @@ #include "standardplural.h" #include "unifiedcache.h" #include "util.h" -#include "number_stringbuilder.h" +#include "formatted_string_builder.h" #include "number_utypes.h" #include "number_modifiers.h" #include "formattedval_impl.h" @@ -315,6 +315,10 @@ struct RelDateTimeFmtDataSink : public ResourceSink { return UDAT_ABSOLUTE_FRIDAY; case SATURDAY: return UDAT_ABSOLUTE_SATURDAY; + case HOUR: + return UDAT_ABSOLUTE_HOUR; + case MINUTE: + return UDAT_ABSOLUTE_MINUTE; default: return -1; } @@ -725,14 +729,14 @@ const RelativeDateTimeCacheData *LocaleCacheKey::crea static constexpr number::impl::Field kRDTNumericField - = number::impl::NumFieldUtils::compress(); + = StringBuilderFieldUtils::compress(); static constexpr number::impl::Field kRDTLiteralField - = number::impl::NumFieldUtils::compress(); + = StringBuilderFieldUtils::compress(); -class FormattedRelativeDateTimeData : public FormattedValueNumberStringBuilderImpl { +class FormattedRelativeDateTimeData : public FormattedValueStringBuilderImpl { public: - FormattedRelativeDateTimeData() : FormattedValueNumberStringBuilderImpl(kRDTNumericField) {} + FormattedRelativeDateTimeData() : FormattedValueStringBuilderImpl(kRDTNumericField) {} virtual ~FormattedRelativeDateTimeData(); }; @@ -1157,6 +1161,8 @@ void RelativeDateTimeFormatter::formatRelativeImpl( case UDAT_REL_UNIT_THURSDAY: absunit = UDAT_ABSOLUTE_THURSDAY; break; case UDAT_REL_UNIT_FRIDAY: absunit = UDAT_ABSOLUTE_FRIDAY; break; case UDAT_REL_UNIT_SATURDAY: absunit = UDAT_ABSOLUTE_SATURDAY; break; + case UDAT_REL_UNIT_HOUR: absunit = UDAT_ABSOLUTE_HOUR; break; + case UDAT_REL_UNIT_MINUTE: absunit = UDAT_ABSOLUTE_MINUTE; break; default: break; } if (direction != UDAT_DIRECTION_COUNT && absunit != UDAT_ABSOLUTE_UNIT_COUNT) { @@ -1184,7 +1190,7 @@ UnicodeString& RelativeDateTimeFormatter::adjustForContext(UnicodeString &str) c // Must guarantee that one thread at a time accesses the shared break // iterator. - static icu::UMutex gBrkIterMutex = U_MUTEX_INITIALIZER; + static UMutex gBrkIterMutex; Mutex lock(&gBrkIterMutex); str.toTitle( fOptBreakIterator->get(), diff --git a/deps/icu-small/source/i18n/reldtfmt.cpp b/deps/icu-small/source/i18n/reldtfmt.cpp index 753672d905f16b..c74c30c20ca383 100644 --- a/deps/icu-small/source/i18n/reldtfmt.cpp +++ b/deps/icu-small/source/i18n/reldtfmt.cpp @@ -51,7 +51,7 @@ RelativeDateFormat::RelativeDateFormat(const RelativeDateFormat& other) : fCapitalizationBrkIter(NULL) { if(other.fDateTimeFormatter != NULL) { - fDateTimeFormatter = (SimpleDateFormat*)other.fDateTimeFormatter->clone(); + fDateTimeFormatter = other.fDateTimeFormatter->clone(); } if(other.fCombinedFormat != NULL) { fCombinedFormat = new SimpleFormatter(*other.fCombinedFormat); @@ -131,7 +131,7 @@ RelativeDateFormat::~RelativeDateFormat() { } -Format* RelativeDateFormat::clone(void) const { +RelativeDateFormat* RelativeDateFormat::clone() const { return new RelativeDateFormat(*this); } diff --git a/deps/icu-small/source/i18n/reldtfmt.h b/deps/icu-small/source/i18n/reldtfmt.h index 0403da11efda76..b36171ce1c6b55 100644 --- a/deps/icu-small/source/i18n/reldtfmt.h +++ b/deps/icu-small/source/i18n/reldtfmt.h @@ -71,7 +71,7 @@ class RelativeDateFormat : public DateFormat { * @return A copy of the object. * @internal ICU 3.8 */ - virtual Format* clone(void) const; + virtual RelativeDateFormat* clone() const; /** * Return true if the given Format objects are semantically equal. Objects diff --git a/deps/icu-small/source/i18n/rematch.cpp b/deps/icu-small/source/i18n/rematch.cpp index 3b8d2333d82098..d9af2b3ddaa77e 100644 --- a/deps/icu-small/source/i18n/rematch.cpp +++ b/deps/icu-small/source/i18n/rematch.cpp @@ -2069,7 +2069,7 @@ int32_t RegexMatcher::split(UText *input, // if (U_FAILURE(status)) { return 0; - }; + } if (destCapacity < 1) { status = U_ILLEGAL_ARGUMENT_ERROR; @@ -3805,11 +3805,13 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) { case URX_LA_START: { - // Entering a lookahead block. + // Entering a look around block. // Save Stack Ptr, Input Pos. - U_ASSERT(opValue>=0 && opValue+1fDataSize); + U_ASSERT(opValue>=0 && opValue+3fDataSize); fData[opValue] = fStack->size(); fData[opValue+1] = fp->fInputIdx; + fData[opValue+2] = fActiveStart; + fData[opValue+3] = fActiveLimit; fActiveStart = fLookStart; // Set the match region change for fActiveLimit = fLookLimit; // transparent bounds. } @@ -3819,7 +3821,7 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) { { // Leaving a look-ahead block. // restore Stack Ptr, Input Pos to positions they had on entry to block. - U_ASSERT(opValue>=0 && opValue+1fDataSize); + U_ASSERT(opValue>=0 && opValue+3fDataSize); int32_t stackSize = fStack->size(); int32_t newStackSize =(int32_t)fData[opValue]; U_ASSERT(stackSize >= newStackSize); @@ -3839,8 +3841,10 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) { // Restore the active region bounds in the input string; they may have // been changed because of transparent bounds on a Region. - fActiveStart = fRegionStart; - fActiveLimit = fRegionLimit; + fActiveStart = fData[opValue+2]; + fActiveLimit = fData[opValue+3]; + U_ASSERT(fActiveStart >= 0); + U_ASSERT(fActiveLimit <= fInputLength); } break; @@ -3916,17 +3920,19 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) { case URX_LB_START: { // Entering a look-behind block. - // Save Stack Ptr, Input Pos. + // Save Stack Ptr, Input Pos and active input region. // TODO: implement transparent bounds. Ticket #6067 - U_ASSERT(opValue>=0 && opValue+1fDataSize); + U_ASSERT(opValue>=0 && opValue+4fDataSize); fData[opValue] = fStack->size(); fData[opValue+1] = fp->fInputIdx; - // Init the variable containing the start index for attempted matches. - fData[opValue+2] = -1; // Save input string length, then reset to pin any matches to end at // the current position. + fData[opValue+2] = fActiveStart; fData[opValue+3] = fActiveLimit; + fActiveStart = fRegionStart; fActiveLimit = fp->fInputIdx; + // Init the variable containing the start index for attempted matches. + fData[opValue+4] = -1; } break; @@ -3949,8 +3955,8 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) { U_ASSERT(minML >= 0); // Fetch (from data) the last input index where a match was attempted. - U_ASSERT(opValue>=0 && opValue+1fDataSize); - int64_t &lbStartIdx = fData[opValue+2]; + U_ASSERT(opValue>=0 && opValue+4fDataSize); + int64_t &lbStartIdx = fData[opValue+4]; if (lbStartIdx < 0) { // First time through loop. lbStartIdx = fp->fInputIdx - minML; @@ -3976,10 +3982,10 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) { // getting a match. Backtrack out, and out of the // Look Behind altogether. fp = (REStackFrame *)fStack->popFrame(fFrameSize); - int64_t restoreInputLen = fData[opValue+3]; - U_ASSERT(restoreInputLen >= fActiveLimit); - U_ASSERT(restoreInputLen <= fInputLength); - fActiveLimit = restoreInputLen; + fActiveStart = fData[opValue+2]; + fActiveLimit = fData[opValue+3]; + U_ASSERT(fActiveStart >= 0); + U_ASSERT(fActiveLimit <= fInputLength); break; } @@ -3993,7 +3999,7 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) { case URX_LB_END: // End of a look-behind block, after a successful match. { - U_ASSERT(opValue>=0 && opValue+1fDataSize); + U_ASSERT(opValue>=0 && opValue+4fDataSize); if (fp->fInputIdx != fActiveLimit) { // The look-behind expression matched, but the match did not // extend all the way to the point that we are looking behind from. @@ -4004,13 +4010,13 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) { break; } - // Look-behind match is good. Restore the orignal input string length, + // Look-behind match is good. Restore the orignal input string region, // which had been truncated to pin the end of the lookbehind match to the // position being looked-behind. - int64_t originalInputLen = fData[opValue+3]; - U_ASSERT(originalInputLen >= fActiveLimit); - U_ASSERT(originalInputLen <= fInputLength); - fActiveLimit = originalInputLen; + fActiveStart = fData[opValue+2]; + fActiveLimit = fData[opValue+3]; + U_ASSERT(fActiveStart >= 0); + U_ASSERT(fActiveLimit <= fInputLength); } break; @@ -4035,8 +4041,8 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) { U_ASSERT(continueLoc > fp->fPatIdx); // Fetch (from data) the last input index where a match was attempted. - U_ASSERT(opValue>=0 && opValue+1fDataSize); - int64_t &lbStartIdx = fData[opValue+2]; + U_ASSERT(opValue>=0 && opValue+4fDataSize); + int64_t &lbStartIdx = fData[opValue+4]; if (lbStartIdx < 0) { // First time through loop. lbStartIdx = fp->fInputIdx - minML; @@ -4061,10 +4067,10 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) { // We have tried all potential match starting points without // getting a match, which means that the negative lookbehind as // a whole has succeeded. Jump forward to the continue location - int64_t restoreInputLen = fData[opValue+3]; - U_ASSERT(restoreInputLen >= fActiveLimit); - U_ASSERT(restoreInputLen <= fInputLength); - fActiveLimit = restoreInputLen; + fActiveStart = fData[opValue+2]; + fActiveLimit = fData[opValue+3]; + U_ASSERT(fActiveStart >= 0); + U_ASSERT(fActiveLimit <= fInputLength); fp->fPatIdx = continueLoc; break; } @@ -4079,7 +4085,7 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) { case URX_LBN_END: // End of a negative look-behind block, after a successful match. { - U_ASSERT(opValue>=0 && opValue+1fDataSize); + U_ASSERT(opValue>=0 && opValue+4fDataSize); if (fp->fInputIdx != fActiveLimit) { // The look-behind expression matched, but the match did not // extend all the way to the point that we are looking behind from. @@ -4096,10 +4102,10 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) { // Restore the orignal input string length, which had been truncated // inorder to pin the end of the lookbehind match // to the position being looked-behind. - int64_t originalInputLen = fData[opValue+3]; - U_ASSERT(originalInputLen >= fActiveLimit); - U_ASSERT(originalInputLen <= fInputLength); - fActiveLimit = originalInputLen; + fActiveStart = fData[opValue+2]; + fActiveLimit = fData[opValue+3]; + U_ASSERT(fActiveStart >= 0); + U_ASSERT(fActiveLimit <= fInputLength); // Restore original stack position, discarding any state saved // by the successful pattern match. @@ -5336,11 +5342,13 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu case URX_LA_START: { - // Entering a lookahead block. + // Entering a look around block. // Save Stack Ptr, Input Pos. - U_ASSERT(opValue>=0 && opValue+1fDataSize); + U_ASSERT(opValue>=0 && opValue+3fDataSize); fData[opValue] = fStack->size(); fData[opValue+1] = fp->fInputIdx; + fData[opValue+2] = fActiveStart; + fData[opValue+3] = fActiveLimit; fActiveStart = fLookStart; // Set the match region change for fActiveLimit = fLookLimit; // transparent bounds. } @@ -5348,9 +5356,9 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu case URX_LA_END: { - // Leaving a look-ahead block. + // Leaving a look around block. // restore Stack Ptr, Input Pos to positions they had on entry to block. - U_ASSERT(opValue>=0 && opValue+1fDataSize); + U_ASSERT(opValue>=0 && opValue+3fDataSize); int32_t stackSize = fStack->size(); int32_t newStackSize = (int32_t)fData[opValue]; U_ASSERT(stackSize >= newStackSize); @@ -5370,8 +5378,10 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu // Restore the active region bounds in the input string; they may have // been changed because of transparent bounds on a Region. - fActiveStart = fRegionStart; - fActiveLimit = fRegionLimit; + fActiveStart = fData[opValue+2]; + fActiveLimit = fData[opValue+3]; + U_ASSERT(fActiveStart >= 0); + U_ASSERT(fActiveLimit <= fInputLength); } break; @@ -5434,17 +5444,19 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu case URX_LB_START: { // Entering a look-behind block. - // Save Stack Ptr, Input Pos. + // Save Stack Ptr, Input Pos and active input region. // TODO: implement transparent bounds. Ticket #6067 - U_ASSERT(opValue>=0 && opValue+1fDataSize); + U_ASSERT(opValue>=0 && opValue+4fDataSize); fData[opValue] = fStack->size(); fData[opValue+1] = fp->fInputIdx; - // Init the variable containing the start index for attempted matches. - fData[opValue+2] = -1; // Save input string length, then reset to pin any matches to end at // the current position. + fData[opValue+2] = fActiveStart; fData[opValue+3] = fActiveLimit; + fActiveStart = fRegionStart; fActiveLimit = fp->fInputIdx; + // Init the variable containing the start index for attempted matches. + fData[opValue+4] = -1; } break; @@ -5462,8 +5474,8 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu U_ASSERT(minML >= 0); // Fetch (from data) the last input index where a match was attempted. - U_ASSERT(opValue>=0 && opValue+1fDataSize); - int64_t &lbStartIdx = fData[opValue+2]; + U_ASSERT(opValue>=0 && opValue+4fDataSize); + int64_t &lbStartIdx = fData[opValue+4]; if (lbStartIdx < 0) { // First time through loop. lbStartIdx = fp->fInputIdx - minML; @@ -5485,10 +5497,10 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu // getting a match. Backtrack out, and out of the // Look Behind altogether. fp = (REStackFrame *)fStack->popFrame(fFrameSize); - int64_t restoreInputLen = fData[opValue+3]; - U_ASSERT(restoreInputLen >= fActiveLimit); - U_ASSERT(restoreInputLen <= fInputLength); - fActiveLimit = restoreInputLen; + fActiveStart = fData[opValue+2]; + fActiveLimit = fData[opValue+3]; + U_ASSERT(fActiveStart >= 0); + U_ASSERT(fActiveLimit <= fInputLength); break; } @@ -5502,7 +5514,7 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu case URX_LB_END: // End of a look-behind block, after a successful match. { - U_ASSERT(opValue>=0 && opValue+1fDataSize); + U_ASSERT(opValue>=0 && opValue+4fDataSize); if (fp->fInputIdx != fActiveLimit) { // The look-behind expression matched, but the match did not // extend all the way to the point that we are looking behind from. @@ -5513,13 +5525,13 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu break; } - // Look-behind match is good. Restore the orignal input string length, + // Look-behind match is good. Restore the orignal input string region, // which had been truncated to pin the end of the lookbehind match to the // position being looked-behind. - int64_t originalInputLen = fData[opValue+3]; - U_ASSERT(originalInputLen >= fActiveLimit); - U_ASSERT(originalInputLen <= fInputLength); - fActiveLimit = originalInputLen; + fActiveStart = fData[opValue+2]; + fActiveLimit = fData[opValue+3]; + U_ASSERT(fActiveStart >= 0); + U_ASSERT(fActiveLimit <= fInputLength); } break; @@ -5539,8 +5551,8 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu U_ASSERT(continueLoc > fp->fPatIdx); // Fetch (from data) the last input index where a match was attempted. - U_ASSERT(opValue>=0 && opValue+1fDataSize); - int64_t &lbStartIdx = fData[opValue+2]; + U_ASSERT(opValue>=0 && opValue+4fDataSize); + int64_t &lbStartIdx = fData[opValue+4]; if (lbStartIdx < 0) { // First time through loop. lbStartIdx = fp->fInputIdx - minML; @@ -5561,10 +5573,10 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu // We have tried all potential match starting points without // getting a match, which means that the negative lookbehind as // a whole has succeeded. Jump forward to the continue location - int64_t restoreInputLen = fData[opValue+3]; - U_ASSERT(restoreInputLen >= fActiveLimit); - U_ASSERT(restoreInputLen <= fInputLength); - fActiveLimit = restoreInputLen; + fActiveStart = fData[opValue+2]; + fActiveLimit = fData[opValue+3]; + U_ASSERT(fActiveStart >= 0); + U_ASSERT(fActiveLimit <= fInputLength); fp->fPatIdx = continueLoc; break; } @@ -5579,7 +5591,7 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu case URX_LBN_END: // End of a negative look-behind block, after a successful match. { - U_ASSERT(opValue>=0 && opValue+1fDataSize); + U_ASSERT(opValue>=0 && opValue+4fDataSize); if (fp->fInputIdx != fActiveLimit) { // The look-behind expression matched, but the match did not // extend all the way to the point that we are looking behind from. @@ -5596,10 +5608,10 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu // Restore the orignal input string length, which had been truncated // inorder to pin the end of the lookbehind match // to the position being looked-behind. - int64_t originalInputLen = fData[opValue+3]; - U_ASSERT(originalInputLen >= fActiveLimit); - U_ASSERT(originalInputLen <= fInputLength); - fActiveLimit = originalInputLen; + fActiveStart = fData[opValue+2]; + fActiveLimit = fData[opValue+3]; + U_ASSERT(fActiveStart >= 0); + U_ASSERT(fActiveLimit <= fInputLength); // Restore original stack position, discarding any state saved // by the successful pattern match. diff --git a/deps/icu-small/source/i18n/remtrans.cpp b/deps/icu-small/source/i18n/remtrans.cpp index 70a6ed3935b579..03b878575ca86c 100644 --- a/deps/icu-small/source/i18n/remtrans.cpp +++ b/deps/icu-small/source/i18n/remtrans.cpp @@ -48,10 +48,10 @@ RemoveTransliterator::RemoveTransliterator() : Transliterator(UnicodeString(TRUE RemoveTransliterator::~RemoveTransliterator() {} -Transliterator* RemoveTransliterator::clone(void) const { - Transliterator* result = new RemoveTransliterator(); +RemoveTransliterator* RemoveTransliterator::clone() const { + RemoveTransliterator* result = new RemoveTransliterator(); if (result != NULL && getFilter() != 0) { - result->adoptFilter((UnicodeFilter*)(getFilter()->clone())); + result->adoptFilter(getFilter()->clone()); } return result; } diff --git a/deps/icu-small/source/i18n/remtrans.h b/deps/icu-small/source/i18n/remtrans.h index ed038d5f2fe0d5..13de01594a3fd9 100644 --- a/deps/icu-small/source/i18n/remtrans.h +++ b/deps/icu-small/source/i18n/remtrans.h @@ -47,7 +47,7 @@ class RemoveTransliterator : public Transliterator { * Transliterator API. * @return A copy of the object. */ - virtual Transliterator* clone(void) const; + virtual RemoveTransliterator* clone() const; /** * Implements {@link Transliterator#handleTransliterate}. diff --git a/deps/icu-small/source/i18n/repattrn.cpp b/deps/icu-small/source/i18n/repattrn.cpp index b03873066c9016..6976056dc1f6e4 100644 --- a/deps/icu-small/source/i18n/repattrn.cpp +++ b/deps/icu-small/source/i18n/repattrn.cpp @@ -646,7 +646,7 @@ int32_t RegexPattern::split(const UnicodeString &input, { if (U_FAILURE(status)) { return 0; - }; + } RegexMatcher m(this); int32_t r = 0; @@ -667,7 +667,7 @@ int32_t RegexPattern::split(UText *input, { if (U_FAILURE(status)) { return 0; - }; + } RegexMatcher m(this); int32_t r = 0; diff --git a/deps/icu-small/source/i18n/rulebasedcollator.cpp b/deps/icu-small/source/i18n/rulebasedcollator.cpp index 92fa5385971889..60acf17815a5ee 100644 --- a/deps/icu-small/source/i18n/rulebasedcollator.cpp +++ b/deps/icu-small/source/i18n/rulebasedcollator.cpp @@ -220,7 +220,7 @@ RuleBasedCollator::adoptTailoring(CollationTailoring *t, UErrorCode &errorCode) actualLocaleIsSameAsValid = FALSE; } -Collator * +RuleBasedCollator * RuleBasedCollator::clone() const { return new RuleBasedCollator(*this); } diff --git a/deps/icu-small/source/i18n/scientificnumberformatter.cpp b/deps/icu-small/source/i18n/scientificnumberformatter.cpp index 03d98dd6e100e2..6c2cb3aeed2743 100644 --- a/deps/icu-small/source/i18n/scientificnumberformatter.cpp +++ b/deps/icu-small/source/i18n/scientificnumberformatter.cpp @@ -121,7 +121,7 @@ ScientificNumberFormatter *ScientificNumberFormatter::createInstance( return result; } -ScientificNumberFormatter::Style *ScientificNumberFormatter::SuperscriptStyle::clone() const { +ScientificNumberFormatter::SuperscriptStyle *ScientificNumberFormatter::SuperscriptStyle::clone() const { return new ScientificNumberFormatter::SuperscriptStyle(*this); } @@ -195,7 +195,7 @@ UnicodeString &ScientificNumberFormatter::SuperscriptStyle::format( return appendTo; } -ScientificNumberFormatter::Style *ScientificNumberFormatter::MarkupStyle::clone() const { +ScientificNumberFormatter::MarkupStyle *ScientificNumberFormatter::MarkupStyle::clone() const { return new ScientificNumberFormatter::MarkupStyle(*this); } diff --git a/deps/icu-small/source/i18n/selfmt.cpp b/deps/icu-small/source/i18n/selfmt.cpp index 29aee3645751f2..47e53d75dec36f 100644 --- a/deps/icu-small/source/i18n/selfmt.cpp +++ b/deps/icu-small/source/i18n/selfmt.cpp @@ -151,7 +151,7 @@ int32_t SelectFormat::findSubMessage(const MessagePattern& pattern, int32_t part return msgStart; } -Format* SelectFormat::clone() const +SelectFormat* SelectFormat::clone() const { return new SelectFormat(*this); } diff --git a/deps/icu-small/source/i18n/simpletz.cpp b/deps/icu-small/source/i18n/simpletz.cpp index 1af5292a823324..12c220595cd2c1 100644 --- a/deps/icu-small/source/i18n/simpletz.cpp +++ b/deps/icu-small/source/i18n/simpletz.cpp @@ -33,6 +33,7 @@ #include "unicode/gregocal.h" #include "unicode/smpdtfmt.h" +#include "cmemory.h" #include "gregoimp.h" #include "umutex.h" @@ -242,7 +243,7 @@ SimpleTimeZone::operator==(const TimeZone& that) const // ------------------------------------- // Called by TimeZone::createDefault() inside a Mutex - be careful. -TimeZone* +SimpleTimeZone* SimpleTimeZone::clone() const { return new SimpleTimeZone(*this); @@ -1083,7 +1084,7 @@ SimpleTimeZone::checkTransitionRules(UErrorCode& status) const { if (U_FAILURE(status)) { return; } - static UMutex gLock = U_MUTEX_INITIALIZER; + static UMutex gLock; umtx_lock(&gLock); if (!transitionRulesInitialized) { SimpleTimeZone *ncThis = const_cast(this); diff --git a/deps/icu-small/source/i18n/smpdtfmt.cpp b/deps/icu-small/source/i18n/smpdtfmt.cpp index e67c4538287b9e..5fcbb5875b2bfb 100644 --- a/deps/icu-small/source/i18n/smpdtfmt.cpp +++ b/deps/icu-small/source/i18n/smpdtfmt.cpp @@ -230,10 +230,7 @@ static const int32_t gFieldRangeBias[] = { static const int32_t HEBREW_CAL_CUR_MILLENIUM_START_YEAR = 5000; static const int32_t HEBREW_CAL_CUR_MILLENIUM_END_YEAR = 6000; -static UMutex *LOCK() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex LOCK; UOBJECT_DEFINE_RTTI_IMPLEMENTATION(SimpleDateFormat) @@ -623,7 +620,7 @@ SimpleDateFormat& SimpleDateFormat::operator=(const SimpleDateFormat& other) //---------------------------------------------------------------------- -Format* +SimpleDateFormat* SimpleDateFormat::clone() const { return new SimpleDateFormat(*this); @@ -1223,10 +1220,14 @@ _appendSymbolWithMonthPattern(UnicodeString& dst, int32_t value, const UnicodeSt //---------------------------------------------------------------------- static number::LocalizedNumberFormatter* -createFastFormatter(const DecimalFormat* df, int32_t minInt, int32_t maxInt) { - return new number::LocalizedNumberFormatter( - df->toNumberFormatter() - .integerWidth(number::IntegerWidth::zeroFillTo(minInt).truncateAt(maxInt))); +createFastFormatter(const DecimalFormat* df, int32_t minInt, int32_t maxInt, UErrorCode& status) { + const number::LocalizedNumberFormatter* lnfBase = df->toNumberFormatter(status); + if (U_FAILURE(status)) { + return nullptr; + } + return lnfBase->integerWidth( + number::IntegerWidth::zeroFillTo(minInt).truncateAt(maxInt) + ).clone().orphan(); } void SimpleDateFormat::initFastNumberFormatters(UErrorCode& status) { @@ -1237,11 +1238,11 @@ void SimpleDateFormat::initFastNumberFormatters(UErrorCode& status) { if (df == nullptr) { return; } - fFastNumberFormatters[SMPDTFMT_NF_1x10] = createFastFormatter(df, 1, 10); - fFastNumberFormatters[SMPDTFMT_NF_2x10] = createFastFormatter(df, 2, 10); - fFastNumberFormatters[SMPDTFMT_NF_3x10] = createFastFormatter(df, 3, 10); - fFastNumberFormatters[SMPDTFMT_NF_4x10] = createFastFormatter(df, 4, 10); - fFastNumberFormatters[SMPDTFMT_NF_2x2] = createFastFormatter(df, 2, 2); + fFastNumberFormatters[SMPDTFMT_NF_1x10] = createFastFormatter(df, 1, 10, status); + fFastNumberFormatters[SMPDTFMT_NF_2x10] = createFastFormatter(df, 2, 10, status); + fFastNumberFormatters[SMPDTFMT_NF_3x10] = createFastFormatter(df, 3, 10, status); + fFastNumberFormatters[SMPDTFMT_NF_4x10] = createFastFormatter(df, 4, 10, status); + fFastNumberFormatters[SMPDTFMT_NF_2x2] = createFastFormatter(df, 2, 2, status); } void SimpleDateFormat::freeFastNumberFormatters() { @@ -1266,14 +1267,14 @@ SimpleDateFormat::initNumberFormatters(const Locale &locale,UErrorCode &status) if ( fDateOverride.isBogus() && fTimeOverride.isBogus() ) { return; } - umtx_lock(LOCK()); + umtx_lock(&LOCK); if (fSharedNumberFormatters == NULL) { fSharedNumberFormatters = allocSharedNumberFormatters(); if (fSharedNumberFormatters == NULL) { status = U_MEMORY_ALLOCATION_ERROR; } } - umtx_unlock(LOCK()); + umtx_unlock(&LOCK); if (U_FAILURE(status)) { return; @@ -1980,9 +1981,11 @@ SimpleDateFormat::subFormat(UnicodeString &appendTo, break; } if (titlecase) { + BreakIterator* const mutableCapitalizationBrkIter = fCapitalizationBrkIter->clone(); UnicodeString firstField(appendTo, beginOffset); - firstField.toTitle(fCapitalizationBrkIter, fLocale, U_TITLECASE_NO_LOWERCASE | U_TITLECASE_NO_BREAK_ADJUSTMENT); + firstField.toTitle(mutableCapitalizationBrkIter, fLocale, U_TITLECASE_NO_LOWERCASE | U_TITLECASE_NO_BREAK_ADJUSTMENT); appendTo.replaceBetween(beginOffset, appendTo.length(), firstField); + delete mutableCapitalizationBrkIter; } } #endif @@ -2107,7 +2110,7 @@ SimpleDateFormat::zeroPaddingNumber( // Fall back to slow path (clone and mutate the NumberFormat) if (currentNumberFormat != nullptr) { FieldPosition pos(FieldPosition::DONT_CARE); - LocalPointer nf(dynamic_cast(currentNumberFormat->clone())); + LocalPointer nf(currentNumberFormat->clone()); nf->setMinimumIntegerDigits(minDigits); nf->setMaximumIntegerDigits(maxDigits); nf->format(value, appendTo, pos); // 3rd arg is there to speed up processing @@ -3770,7 +3773,7 @@ void SimpleDateFormat::parseInt(const UnicodeString& text, auto* fmtAsDF = dynamic_cast(fmt); LocalPointer df; if (!allowNegative && fmtAsDF != nullptr) { - df.adoptInstead(dynamic_cast(fmtAsDF->clone())); + df.adoptInstead(fmtAsDF->clone()); if (df.isNull()) { // Memory allocation error return; @@ -3901,11 +3904,11 @@ SimpleDateFormat::applyPattern(const UnicodeString& pattern) } else if (fDateOverride.isBogus() && fHasHanYearChar) { // No current override (=> no Gannen numbering) but new pattern needs it; // use procedures from initNUmberFormatters / adoptNumberFormat - umtx_lock(LOCK()); + umtx_lock(&LOCK); if (fSharedNumberFormatters == NULL) { fSharedNumberFormatters = allocSharedNumberFormatters(); } - umtx_unlock(LOCK()); + umtx_unlock(&LOCK); if (fSharedNumberFormatters != NULL) { Locale ovrLoc(fLocale.getLanguage(),fLocale.getCountry(),fLocale.getVariant(),"numbers=jpanyear"); UErrorCode status = U_ZERO_ERROR; @@ -3998,6 +4001,7 @@ void SimpleDateFormat::adoptCalendar(Calendar* calendarToAdopt) DateFormatSymbols *newSymbols = DateFormatSymbols::createForLocale(calLocale, status); if (U_FAILURE(status)) { + delete calendarToAdopt; return; } DateFormat::adoptCalendar(calendarToAdopt); @@ -4237,7 +4241,7 @@ SimpleDateFormat::skipUWhiteSpace(const UnicodeString& text, int32_t pos) const TimeZoneFormat * SimpleDateFormat::tzFormat(UErrorCode &status) const { if (fTimeZoneFormat == NULL) { - umtx_lock(LOCK()); + umtx_lock(&LOCK); { if (fTimeZoneFormat == NULL) { TimeZoneFormat *tzfmt = TimeZoneFormat::createInstance(fLocale, status); @@ -4248,7 +4252,7 @@ SimpleDateFormat::tzFormat(UErrorCode &status) const { const_cast(this)->fTimeZoneFormat = tzfmt; } } - umtx_unlock(LOCK()); + umtx_unlock(&LOCK); } return fTimeZoneFormat; } diff --git a/deps/icu-small/source/i18n/numparse_stringsegment.cpp b/deps/icu-small/source/i18n/string_segment.cpp similarity index 96% rename from deps/icu-small/source/i18n/numparse_stringsegment.cpp rename to deps/icu-small/source/i18n/string_segment.cpp index 3db4fe618a603a..5d19ac57f5e0d1 100644 --- a/deps/icu-small/source/i18n/numparse_stringsegment.cpp +++ b/deps/icu-small/source/i18n/string_segment.cpp @@ -10,14 +10,12 @@ #define UNISTR_FROM_STRING_EXPLICIT #include "numparse_types.h" -#include "numparse_stringsegment.h" +#include "string_segment.h" #include "putilimp.h" #include "unicode/utf16.h" #include "unicode/uniset.h" -using namespace icu; -using namespace icu::numparse; -using namespace icu::numparse::impl; +U_NAMESPACE_BEGIN StringSegment::StringSegment(const UnicodeString& str, bool ignoreCase) @@ -143,4 +141,5 @@ bool StringSegment::operator==(const UnicodeString& other) const { } +U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ diff --git a/deps/icu-small/source/i18n/string_segment.h b/deps/icu-small/source/i18n/string_segment.h new file mode 100644 index 00000000000000..b581f7e57599eb --- /dev/null +++ b/deps/icu-small/source/i18n/string_segment.h @@ -0,0 +1,134 @@ +// © 2018 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html + +#include "unicode/utypes.h" + +#if !UCONFIG_NO_FORMATTING +#ifndef __NUMPARSE_STRINGSEGMENT_H__ +#define __NUMPARSE_STRINGSEGMENT_H__ + +#include "unicode/unistr.h" +#include "unicode/uniset.h" + +U_NAMESPACE_BEGIN + + +/** + * A mutable UnicodeString wrapper with a variable offset and length and + * support for case folding. The charAt, length, and subSequence methods all + * operate relative to the fixed offset into the UnicodeString. + * + * Intended to be useful for parsing. + * + * CAUTION: Since this class is mutable, it must not be used anywhere that an + * immutable object is required, like in a cache or as the key of a hash map. + * + * @author sffc (Shane Carr) + */ +// Exported as U_I18N_API for tests +class U_I18N_API StringSegment : public UMemory { + public: + StringSegment(const UnicodeString& str, bool ignoreCase); + + int32_t getOffset() const; + + void setOffset(int32_t start); + + /** + * Equivalent to setOffset(getOffset()+delta). + * + *

+ * This method is usually called by a Matcher to register that a char was consumed. If the char is + * strong (it usually is, except for things like whitespace), follow this with a call to + * {@link ParsedNumber#setCharsConsumed}. For more information on strong chars, see that method. + */ + void adjustOffset(int32_t delta); + + /** + * Adjusts the offset by the width of the current code point, either 1 or 2 chars. + */ + void adjustOffsetByCodePoint(); + + void setLength(int32_t length); + + void resetLength(); + + int32_t length() const; + + char16_t charAt(int32_t index) const; + + UChar32 codePointAt(int32_t index) const; + + UnicodeString toUnicodeString() const; + + const UnicodeString toTempUnicodeString() const; + + /** + * Returns the first code point in the string segment, or -1 if the string starts with an invalid + * code point. + * + *

+ * Important: Most of the time, you should use {@link #startsWith}, which handles case + * folding logic, instead of this method. + */ + UChar32 getCodePoint() const; + + /** + * Returns true if the first code point of this StringSegment equals the given code point. + * + *

+ * This method will perform case folding if case folding is enabled for the parser. + */ + bool startsWith(UChar32 otherCp) const; + + /** + * Returns true if the first code point of this StringSegment is in the given UnicodeSet. + */ + bool startsWith(const UnicodeSet& uniset) const; + + /** + * Returns true if there is at least one code point of overlap between this StringSegment and the + * given UnicodeString. + */ + bool startsWith(const UnicodeString& other) const; + + /** + * Returns the length of the prefix shared by this StringSegment and the given UnicodeString. For + * example, if this string segment is "aab", and the char sequence is "aac", this method returns 2, + * since the first 2 characters are the same. + * + *

+ * This method only returns offsets along code point boundaries. + * + *

+ * This method will perform case folding if case folding was enabled in the constructor. + * + *

+ * IMPORTANT: The given UnicodeString must not be empty! It is the caller's responsibility to check. + */ + int32_t getCommonPrefixLength(const UnicodeString& other); + + /** + * Like {@link #getCommonPrefixLength}, but never performs case folding, even if case folding is + * enabled for the parser. + */ + int32_t getCaseSensitivePrefixLength(const UnicodeString& other); + + bool operator==(const UnicodeString& other) const; + + private: + const UnicodeString& fStr; + int32_t fStart; + int32_t fEnd; + bool fFoldCase; + + int32_t getPrefixLengthInternal(const UnicodeString& other, bool foldCase); + + static bool codePointsEqual(UChar32 cp1, UChar32 cp2, bool foldCase); +}; + + +U_NAMESPACE_END + +#endif //__NUMPARSE_STRINGSEGMENT_H__ +#endif /* #if !UCONFIG_NO_FORMATTING */ diff --git a/deps/icu-small/source/i18n/strmatch.cpp b/deps/icu-small/source/i18n/strmatch.cpp index d5b018aa6b62b6..97c0fba6f1ddb7 100644 --- a/deps/icu-small/source/i18n/strmatch.cpp +++ b/deps/icu-small/source/i18n/strmatch.cpp @@ -58,7 +58,7 @@ StringMatcher::~StringMatcher() { /** * Implement UnicodeFunctor */ -UnicodeFunctor* StringMatcher::clone() const { +StringMatcher* StringMatcher::clone() const { return new StringMatcher(*this); } diff --git a/deps/icu-small/source/i18n/strmatch.h b/deps/icu-small/source/i18n/strmatch.h index 7152a24a0765e4..09d04ede13e61a 100644 --- a/deps/icu-small/source/i18n/strmatch.h +++ b/deps/icu-small/source/i18n/strmatch.h @@ -78,7 +78,7 @@ class StringMatcher : public UnicodeFunctor, public UnicodeMatcher, public Unico * Implement UnicodeFunctor * @return a copy of the object. */ - virtual UnicodeFunctor* clone() const; + virtual StringMatcher* clone() const; /** * UnicodeFunctor API. Cast 'this' to a UnicodeMatcher* pointer diff --git a/deps/icu-small/source/i18n/strrepl.cpp b/deps/icu-small/source/i18n/strrepl.cpp index 132c844c2dff27..e9e71ee540606a 100644 --- a/deps/icu-small/source/i18n/strrepl.cpp +++ b/deps/icu-small/source/i18n/strrepl.cpp @@ -87,7 +87,7 @@ StringReplacer::~StringReplacer() { /** * Implement UnicodeFunctor */ -UnicodeFunctor* StringReplacer::clone() const { +StringReplacer* StringReplacer::clone() const { return new StringReplacer(*this); } diff --git a/deps/icu-small/source/i18n/strrepl.h b/deps/icu-small/source/i18n/strrepl.h index feec058152a8a3..7f74d0d94507f6 100644 --- a/deps/icu-small/source/i18n/strrepl.h +++ b/deps/icu-small/source/i18n/strrepl.h @@ -111,7 +111,7 @@ class StringReplacer : public UnicodeFunctor, public UnicodeReplacer { /** * Implement UnicodeFunctor */ - virtual UnicodeFunctor* clone() const; + virtual StringReplacer* clone() const; /** * UnicodeFunctor API. Cast 'this' to a UnicodeReplacer* pointer diff --git a/deps/icu-small/source/i18n/stsearch.cpp b/deps/icu-small/source/i18n/stsearch.cpp index bf4d80b6db8ed0..32481a14004075 100644 --- a/deps/icu-small/source/i18n/stsearch.cpp +++ b/deps/icu-small/source/i18n/stsearch.cpp @@ -282,7 +282,7 @@ void StringSearch::reset() usearch_reset(m_strsrch_); } -SearchIterator * StringSearch::safeClone(void) const +StringSearch * StringSearch::safeClone() const { UErrorCode status = U_ZERO_ERROR; StringSearch *result = new StringSearch(m_pattern_, m_text_, diff --git a/deps/icu-small/source/i18n/taiwncal.cpp b/deps/icu-small/source/i18n/taiwncal.cpp index e2757dbd550dd9..1a6a0e2e78d201 100644 --- a/deps/icu-small/source/i18n/taiwncal.cpp +++ b/deps/icu-small/source/i18n/taiwncal.cpp @@ -53,7 +53,7 @@ TaiwanCalendar& TaiwanCalendar::operator= ( const TaiwanCalendar& right) return *this; } -Calendar* TaiwanCalendar::clone(void) const +TaiwanCalendar* TaiwanCalendar::clone() const { return new TaiwanCalendar(*this); } diff --git a/deps/icu-small/source/i18n/taiwncal.h b/deps/icu-small/source/i18n/taiwncal.h index 99bbfb53f2b1ab..daadc124f40a18 100644 --- a/deps/icu-small/source/i18n/taiwncal.h +++ b/deps/icu-small/source/i18n/taiwncal.h @@ -91,7 +91,7 @@ class TaiwanCalendar : public GregorianCalendar { * @return return a polymorphic copy of this calendar. * @internal */ - virtual Calendar* clone(void) const; + virtual TaiwanCalendar* clone() const; public: /** diff --git a/deps/icu-small/source/i18n/timezone.cpp b/deps/icu-small/source/i18n/timezone.cpp index 70169b5c1f576d..b90b78614aa00f 100644 --- a/deps/icu-small/source/i18n/timezone.cpp +++ b/deps/icu-small/source/i18n/timezone.cpp @@ -527,6 +527,8 @@ TimeZone::detectHostTimeZone() // ------------------------------------- +static UMutex gDefaultZoneMutex; + /** * Initialize DEFAULT_ZONE from the system default time zone. * Upon return, DEFAULT_ZONE will not be NULL, unless operator new() @@ -536,6 +538,7 @@ static void U_CALLCONV initDefault() { ucln_i18n_registerCleanup(UCLN_I18N_TIMEZONE, timeZone_cleanup); + Mutex lock(&gDefaultZoneMutex); // If setDefault() has already been called we can skip getting the // default zone information from the system. if (DEFAULT_ZONE != NULL) { @@ -557,9 +560,6 @@ static void U_CALLCONV initDefault() TimeZone *default_zone = TimeZone::detectHostTimeZone(); - // The only way for DEFAULT_ZONE to be non-null at this point is if the user - // made a thread-unsafe call to setDefault() or adoptDefault() in another - // thread while this thread was doing something that required getting the default. U_ASSERT(DEFAULT_ZONE == NULL); DEFAULT_ZONE = default_zone; @@ -571,7 +571,10 @@ TimeZone* U_EXPORT2 TimeZone::createDefault() { umtx_initOnce(gDefaultZoneInitOnce, initDefault); - return (DEFAULT_ZONE != NULL) ? DEFAULT_ZONE->clone() : NULL; + { + Mutex lock(&gDefaultZoneMutex); + return (DEFAULT_ZONE != NULL) ? DEFAULT_ZONE->clone() : NULL; + } } // ------------------------------------- @@ -581,9 +584,12 @@ TimeZone::adoptDefault(TimeZone* zone) { if (zone != NULL) { - TimeZone *old = DEFAULT_ZONE; - DEFAULT_ZONE = zone; - delete old; + { + Mutex lock(&gDefaultZoneMutex); + TimeZone *old = DEFAULT_ZONE; + DEFAULT_ZONE = zone; + delete old; + } ucln_i18n_registerCleanup(UCLN_I18N_TIMEZONE, timeZone_cleanup); } } diff --git a/deps/icu-small/source/i18n/titletrn.cpp b/deps/icu-small/source/i18n/titletrn.cpp index 4e75c824a0f7f1..a6beac214915cc 100644 --- a/deps/icu-small/source/i18n/titletrn.cpp +++ b/deps/icu-small/source/i18n/titletrn.cpp @@ -60,7 +60,7 @@ TitlecaseTransliterator::TitlecaseTransliterator(const TitlecaseTransliterator& /** * Transliterator API. */ -Transliterator* TitlecaseTransliterator::clone(void) const { +TitlecaseTransliterator* TitlecaseTransliterator::clone() const { return new TitlecaseTransliterator(*this); } diff --git a/deps/icu-small/source/i18n/titletrn.h b/deps/icu-small/source/i18n/titletrn.h index 166378fe9da5c2..4e45ac6f81fabc 100644 --- a/deps/icu-small/source/i18n/titletrn.h +++ b/deps/icu-small/source/i18n/titletrn.h @@ -52,7 +52,7 @@ class TitlecaseTransliterator : public CaseMapTransliterator { * Transliterator API. * @return a copy of the object. */ - virtual Transliterator* clone(void) const; + virtual TitlecaseTransliterator* clone() const; /** * ICU "poor man's RTTI", returns a UClassID for the actual class. diff --git a/deps/icu-small/source/i18n/tmunit.cpp b/deps/icu-small/source/i18n/tmunit.cpp index 3e980105153da5..b96dfbb5726b6f 100644 --- a/deps/icu-small/source/i18n/tmunit.cpp +++ b/deps/icu-small/source/i18n/tmunit.cpp @@ -102,7 +102,7 @@ TimeUnit::TimeUnit(const TimeUnit& other) : MeasureUnit(other), fTimeUnitField(other.fTimeUnitField) { } -UObject* +TimeUnit* TimeUnit::clone() const { return new TimeUnit(*this); } diff --git a/deps/icu-small/source/i18n/tmutamt.cpp b/deps/icu-small/source/i18n/tmutamt.cpp index 0e2b91fbb2bb6f..a143bcf8f7c2ac 100644 --- a/deps/icu-small/source/i18n/tmutamt.cpp +++ b/deps/icu-small/source/i18n/tmutamt.cpp @@ -50,7 +50,7 @@ TimeUnitAmount::operator==(const UObject& other) const { return Measure::operator==(other); } -UObject* +TimeUnitAmount* TimeUnitAmount::clone() const { return new TimeUnitAmount(*this); } diff --git a/deps/icu-small/source/i18n/tmutfmt.cpp b/deps/icu-small/source/i18n/tmutfmt.cpp index dad8825e70ff33..231ea5799c3764 100644 --- a/deps/icu-small/source/i18n/tmutfmt.cpp +++ b/deps/icu-small/source/i18n/tmutfmt.cpp @@ -136,8 +136,8 @@ TimeUnitFormat::~TimeUnitFormat() { } -Format* -TimeUnitFormat::clone(void) const { +TimeUnitFormat* +TimeUnitFormat::clone() const { return new TimeUnitFormat(*this); } @@ -685,7 +685,7 @@ TimeUnitFormat::setNumberFormat(const NumberFormat& format, UErrorCode& status){ if (U_FAILURE(status)) { return; } - adoptNumberFormat((NumberFormat *)format.clone(), status); + adoptNumberFormat(format.clone(), status); } @@ -721,8 +721,8 @@ TimeUnitFormat::copyHash(const Hashtable* source, Hashtable* target, UErrorCode& const UHashTok valueTok = element->value; const MessageFormat** value = (const MessageFormat**)valueTok.pointer; MessageFormat** newVal = (MessageFormat**)uprv_malloc(UTMUTFMT_FORMAT_STYLE_COUNT*sizeof(MessageFormat*)); - newVal[0] = (MessageFormat*)value[0]->clone(); - newVal[1] = (MessageFormat*)value[1]->clone(); + newVal[0] = value[0]->clone(); + newVal[1] = value[1]->clone(); target->put(UnicodeString(*key), newVal, status); if ( U_FAILURE(status) ) { delete newVal[0]; diff --git a/deps/icu-small/source/i18n/tolowtrn.cpp b/deps/icu-small/source/i18n/tolowtrn.cpp index 063cc88d1c40ce..02ec05cd52ad7a 100644 --- a/deps/icu-small/source/i18n/tolowtrn.cpp +++ b/deps/icu-small/source/i18n/tolowtrn.cpp @@ -58,7 +58,7 @@ LowercaseTransliterator::LowercaseTransliterator(const LowercaseTransliterator& /** * Transliterator API. */ -Transliterator* LowercaseTransliterator::clone(void) const { +LowercaseTransliterator* LowercaseTransliterator::clone() const { return new LowercaseTransliterator(*this); } diff --git a/deps/icu-small/source/i18n/tolowtrn.h b/deps/icu-small/source/i18n/tolowtrn.h index e311431224e5c2..2fbfb90e1bface 100644 --- a/deps/icu-small/source/i18n/tolowtrn.h +++ b/deps/icu-small/source/i18n/tolowtrn.h @@ -50,7 +50,7 @@ class LowercaseTransliterator : public CaseMapTransliterator { * Transliterator API. * @return a copy of the object. */ - virtual Transliterator* clone(void) const; + virtual LowercaseTransliterator* clone() const; /** * ICU "poor man's RTTI", returns a UClassID for the actual class. diff --git a/deps/icu-small/source/i18n/toupptrn.cpp b/deps/icu-small/source/i18n/toupptrn.cpp index 098dba9a3ce4f9..2a8b78b9a69d2f 100644 --- a/deps/icu-small/source/i18n/toupptrn.cpp +++ b/deps/icu-small/source/i18n/toupptrn.cpp @@ -58,7 +58,7 @@ UppercaseTransliterator::UppercaseTransliterator(const UppercaseTransliterator& /** * Transliterator API. */ -Transliterator* UppercaseTransliterator::clone(void) const { +UppercaseTransliterator* UppercaseTransliterator::clone() const { return new UppercaseTransliterator(*this); } diff --git a/deps/icu-small/source/i18n/toupptrn.h b/deps/icu-small/source/i18n/toupptrn.h index 677a04e5c771a9..e96ca8f0ba530a 100644 --- a/deps/icu-small/source/i18n/toupptrn.h +++ b/deps/icu-small/source/i18n/toupptrn.h @@ -50,7 +50,7 @@ class UppercaseTransliterator : public CaseMapTransliterator { * Transliterator API. * @return a copy of the object. */ - virtual Transliterator* clone(void) const; + virtual UppercaseTransliterator* clone() const; /** * ICU "poor man's RTTI", returns a UClassID for the actual class. diff --git a/deps/icu-small/source/i18n/translit.cpp b/deps/icu-small/source/i18n/translit.cpp index 9f5563b4796c19..039acaf157cc93 100644 --- a/deps/icu-small/source/i18n/translit.cpp +++ b/deps/icu-small/source/i18n/translit.cpp @@ -91,10 +91,7 @@ static const char RB_RULE_BASED_IDS[] = "RuleBasedTransliteratorIDs"; /** * The mutex controlling access to registry object. */ -static icu::UMutex *registryMutex() { - static icu::UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static icu::UMutex registryMutex; /** * System transliterator registry; non-null when initialized. @@ -161,7 +158,7 @@ Transliterator::Transliterator(const Transliterator& other) : if (other.filter != 0) { // We own the filter, so we must have our own copy - filter = (UnicodeFilter*) other.filter->clone(); + filter = other.filter->clone(); } } @@ -178,7 +175,7 @@ Transliterator& Transliterator::operator=(const Transliterator& other) { ID.getTerminatedBuffer(); maximumContextLength = other.maximumContextLength; - adoptFilter((other.filter == 0) ? 0 : (UnicodeFilter*) other.filter->clone()); + adoptFilter((other.filter == 0) ? 0 : other.filter->clone()); return *this; } @@ -926,13 +923,15 @@ Transliterator::createInstance(const UnicodeString& ID, return NULL; } - UnicodeSet* globalFilter; + UnicodeSet* globalFilter = nullptr; // TODO add code for parseError...currently unused, but // later may be used by parsing code... if (!TransliteratorIDParser::parseCompoundID(ID, dir, canonID, list, globalFilter)) { status = U_INVALID_ID; + delete globalFilter; return NULL; } + LocalPointer lpGlobalFilter(globalFilter); TransliteratorIDParser::instantiateList(list, status); if (U_FAILURE(status)) { @@ -956,8 +955,8 @@ Transliterator::createInstance(const UnicodeString& ID, // Check null pointer if (t != NULL) { t->setID(canonID); - if (globalFilter != NULL) { - t->adoptFilter(globalFilter); + if (lpGlobalFilter.isValid()) { + t->adoptFilter(lpGlobalFilter.orphan()); } } else if (U_SUCCESS(status)) { @@ -981,11 +980,11 @@ Transliterator* Transliterator::createBasicInstance(const UnicodeString& id, TransliteratorAlias* alias = 0; Transliterator* t = 0; - umtx_lock(registryMutex()); + umtx_lock(®istryMutex); if (HAVE_REGISTRY(ec)) { t = registry->get(id, alias, ec); } - umtx_unlock(registryMutex()); + umtx_unlock(®istryMutex); if (U_FAILURE(ec)) { delete t; @@ -1013,11 +1012,11 @@ Transliterator* Transliterator::createBasicInstance(const UnicodeString& id, alias = 0; // Step 2. reget - umtx_lock(registryMutex()); + umtx_lock(®istryMutex); if (HAVE_REGISTRY(ec)) { t = registry->reget(id, parser, alias, ec); } - umtx_unlock(registryMutex()); + umtx_unlock(®istryMutex); // Step 3. Loop back around! } else { @@ -1104,6 +1103,10 @@ Transliterator::createFromRules(const UnicodeString& ID, UnicodeString* idBlock = (UnicodeString*)parser.idBlockVector.elementAt(i); if (!idBlock->isEmpty()) { Transliterator* temp = createInstance(*idBlock, UTRANS_FORWARD, parseError, status); + if (U_FAILURE(status)) { + delete temp; + return nullptr; + } if (temp != NULL && typeid(*temp) != typeid(NullTransliterator)) transliterators.addElement(temp, status); else @@ -1117,8 +1120,10 @@ Transliterator::createFromRules(const UnicodeString& ID, data, TRUE); // Check if NULL before adding it to transliterators to avoid future usage of NULL pointer. if (temprbt == NULL) { - status = U_MEMORY_ALLOCATION_ERROR; - return t; + if (U_SUCCESS(status)) { + status = U_MEMORY_ALLOCATION_ERROR; + } + return t; } transliterators.addElement(temprbt, status); } @@ -1215,7 +1220,7 @@ UnicodeSet& Transliterator::getTargetSet(UnicodeSet& result) const { void U_EXPORT2 Transliterator::registerFactory(const UnicodeString& id, Transliterator::Factory factory, Transliterator::Token context) { - Mutex lock(registryMutex()); + Mutex lock(®istryMutex); UErrorCode ec = U_ZERO_ERROR; if (HAVE_REGISTRY(ec)) { _registerFactory(id, factory, context); @@ -1254,7 +1259,7 @@ void Transliterator::_registerSpecialInverse(const UnicodeString& target, * @see #unregister */ void U_EXPORT2 Transliterator::registerInstance(Transliterator* adoptedPrototype) { - Mutex lock(registryMutex()); + Mutex lock(®istryMutex); UErrorCode ec = U_ZERO_ERROR; if (HAVE_REGISTRY(ec)) { _registerInstance(adoptedPrototype); @@ -1268,7 +1273,7 @@ void Transliterator::_registerInstance(Transliterator* adoptedPrototype) { void U_EXPORT2 Transliterator::registerAlias(const UnicodeString& aliasID, const UnicodeString& realID) { - Mutex lock(registryMutex()); + Mutex lock(®istryMutex); UErrorCode ec = U_ZERO_ERROR; if (HAVE_REGISTRY(ec)) { _registerAlias(aliasID, realID); @@ -1290,7 +1295,7 @@ void Transliterator::_registerAlias(const UnicodeString& aliasID, */ void U_EXPORT2 Transliterator::unregister(const UnicodeString& ID) { - Mutex lock(registryMutex()); + Mutex lock(®istryMutex); UErrorCode ec = U_ZERO_ERROR; if (HAVE_REGISTRY(ec)) { registry->remove(ID); @@ -1305,7 +1310,7 @@ void U_EXPORT2 Transliterator::unregister(const UnicodeString& ID) { */ int32_t U_EXPORT2 Transliterator::countAvailableIDs(void) { int32_t retVal = 0; - Mutex lock(registryMutex()); + Mutex lock(®istryMutex); UErrorCode ec = U_ZERO_ERROR; if (HAVE_REGISTRY(ec)) { retVal = registry->countAvailableIDs(); @@ -1321,12 +1326,12 @@ int32_t U_EXPORT2 Transliterator::countAvailableIDs(void) { */ const UnicodeString& U_EXPORT2 Transliterator::getAvailableID(int32_t index) { const UnicodeString* result = NULL; - umtx_lock(registryMutex()); + umtx_lock(®istryMutex); UErrorCode ec = U_ZERO_ERROR; if (HAVE_REGISTRY(ec)) { result = ®istry->getAvailableID(index); } - umtx_unlock(registryMutex()); + umtx_unlock(®istryMutex); U_ASSERT(result != NULL); // fail if no registry return *result; } @@ -1334,11 +1339,11 @@ const UnicodeString& U_EXPORT2 Transliterator::getAvailableID(int32_t index) { StringEnumeration* U_EXPORT2 Transliterator::getAvailableIDs(UErrorCode& ec) { if (U_FAILURE(ec)) return NULL; StringEnumeration* result = NULL; - umtx_lock(registryMutex()); + umtx_lock(®istryMutex); if (HAVE_REGISTRY(ec)) { result = registry->getAvailableIDs(); } - umtx_unlock(registryMutex()); + umtx_unlock(®istryMutex); if (result == NULL) { ec = U_INTERNAL_TRANSLITERATOR_ERROR; } @@ -1346,14 +1351,14 @@ StringEnumeration* U_EXPORT2 Transliterator::getAvailableIDs(UErrorCode& ec) { } int32_t U_EXPORT2 Transliterator::countAvailableSources(void) { - Mutex lock(registryMutex()); + Mutex lock(®istryMutex); UErrorCode ec = U_ZERO_ERROR; return HAVE_REGISTRY(ec) ? _countAvailableSources() : 0; } UnicodeString& U_EXPORT2 Transliterator::getAvailableSource(int32_t index, UnicodeString& result) { - Mutex lock(registryMutex()); + Mutex lock(®istryMutex); UErrorCode ec = U_ZERO_ERROR; if (HAVE_REGISTRY(ec)) { _getAvailableSource(index, result); @@ -1362,7 +1367,7 @@ UnicodeString& U_EXPORT2 Transliterator::getAvailableSource(int32_t index, } int32_t U_EXPORT2 Transliterator::countAvailableTargets(const UnicodeString& source) { - Mutex lock(registryMutex()); + Mutex lock(®istryMutex); UErrorCode ec = U_ZERO_ERROR; return HAVE_REGISTRY(ec) ? _countAvailableTargets(source) : 0; } @@ -1370,7 +1375,7 @@ int32_t U_EXPORT2 Transliterator::countAvailableTargets(const UnicodeString& sou UnicodeString& U_EXPORT2 Transliterator::getAvailableTarget(int32_t index, const UnicodeString& source, UnicodeString& result) { - Mutex lock(registryMutex()); + Mutex lock(®istryMutex); UErrorCode ec = U_ZERO_ERROR; if (HAVE_REGISTRY(ec)) { _getAvailableTarget(index, source, result); @@ -1380,7 +1385,7 @@ UnicodeString& U_EXPORT2 Transliterator::getAvailableTarget(int32_t index, int32_t U_EXPORT2 Transliterator::countAvailableVariants(const UnicodeString& source, const UnicodeString& target) { - Mutex lock(registryMutex()); + Mutex lock(®istryMutex); UErrorCode ec = U_ZERO_ERROR; return HAVE_REGISTRY(ec) ? _countAvailableVariants(source, target) : 0; } @@ -1389,7 +1394,7 @@ UnicodeString& U_EXPORT2 Transliterator::getAvailableVariant(int32_t index, const UnicodeString& source, const UnicodeString& target, UnicodeString& result) { - Mutex lock(registryMutex()); + Mutex lock(®istryMutex); UErrorCode ec = U_ZERO_ERROR; if (HAVE_REGISTRY(ec)) { _getAvailableVariant(index, source, target, result); diff --git a/deps/icu-small/source/i18n/transreg.cpp b/deps/icu-small/source/i18n/transreg.cpp index 032a73fd146559..8c90effcc2a348 100644 --- a/deps/icu-small/source/i18n/transreg.cpp +++ b/deps/icu-small/source/i18n/transreg.cpp @@ -131,7 +131,7 @@ Transliterator* TransliteratorAlias::create(UParseError& pe, return 0; } if (compoundFilter != 0) - t->adoptFilter((UnicodeSet*)compoundFilter->clone()); + t->adoptFilter(compoundFilter->clone()); break; case COMPOUND: { @@ -173,8 +173,8 @@ Transliterator* TransliteratorAlias::create(UParseError& pe, if (U_SUCCESS(ec)) { t = new CompoundTransliterator(ID, transliterators, - (compoundFilter ? (UnicodeSet*)(compoundFilter->clone()) : 0), - anonymousRBTs, pe, ec); + (compoundFilter ? compoundFilter->clone() : nullptr), + anonymousRBTs, pe, ec); if (t == 0) { ec = U_MEMORY_ALLOCATION_ERROR; return 0; @@ -946,7 +946,7 @@ void TransliteratorRegistry::registerEntry(const UnicodeString& ID, if (visible) { registerSTV(source, target, variant); if (!availableIDs.contains((void*) &ID)) { - UnicodeString *newID = (UnicodeString *)ID.clone(); + UnicodeString *newID = ID.clone(); // Check to make sure newID was created. if (newID != NULL) { // NUL-terminate the ID string diff --git a/deps/icu-small/source/i18n/tridpars.cpp b/deps/icu-small/source/i18n/tridpars.cpp index cbfdf03c427850..eb6c6bbba3a9a9 100644 --- a/deps/icu-small/source/i18n/tridpars.cpp +++ b/deps/icu-small/source/i18n/tridpars.cpp @@ -50,10 +50,7 @@ static UInitOnce gSpecialInversesInitOnce = U_INITONCE_INITIALIZER; /** * The mutex controlling access to SPECIAL_INVERSES */ -static UMutex *LOCK() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex LOCK; TransliteratorIDParser::Specs::Specs(const UnicodeString& s, const UnicodeString& t, const UnicodeString& v, UBool sawS, @@ -297,6 +294,7 @@ UnicodeSet* TransliteratorIDParser::parseGlobalFilter(const UnicodeString& id, i pos = ppos.getIndex(); if (withParens == 1 && !ICU_Utility::parseChar(id, pos, CLOSE_REV)) { + delete filter; pos = start; return NULL; } @@ -662,7 +660,7 @@ void TransliteratorIDParser::registerSpecialInverse(const UnicodeString& target, bidirectional = FALSE; } - Mutex lock(LOCK()); + Mutex lock(&LOCK); UnicodeString *tempus = new UnicodeString(inverseTarget); // Used for null pointer check before usage. if (tempus == NULL) { @@ -866,9 +864,9 @@ TransliteratorIDParser::specsToSpecialInverse(const Specs& specs, UErrorCode &st UnicodeString* inverseTarget; - umtx_lock(LOCK()); + umtx_lock(&LOCK); inverseTarget = (UnicodeString*) SPECIAL_INVERSES->get(specs.target); - umtx_unlock(LOCK()); + umtx_unlock(&LOCK); if (inverseTarget != NULL) { // If the original ID contained "Any-" then make the diff --git a/deps/icu-small/source/i18n/tzfmt.cpp b/deps/icu-small/source/i18n/tzfmt.cpp index c948c5f5e7b07c..267d507aa7eca6 100644 --- a/deps/icu-small/source/i18n/tzfmt.cpp +++ b/deps/icu-small/source/i18n/tzfmt.cpp @@ -19,12 +19,15 @@ #include "unicode/udat.h" #include "unicode/ustring.h" #include "unicode/utf16.h" +#include "bytesinkutil.h" +#include "charstr.h" #include "tzgnames.h" #include "cmemory.h" #include "cstring.h" #include "putilimp.h" #include "uassert.h" #include "ucln_in.h" +#include "ulocimp.h" #include "umutex.h" #include "uresimp.h" #include "ureslocs.h" @@ -147,10 +150,7 @@ static icu::UInitOnce gZoneIdTrieInitOnce = U_INITONCE_INITIALIZER; static TextTrieMap *gShortZoneIdTrie = NULL; static icu::UInitOnce gShortZoneIdTrieInitOnce = U_INITONCE_INITIALIZER; -static UMutex *gLock() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex gLock; U_CDECL_BEGIN /** @@ -327,10 +327,13 @@ TimeZoneFormat::TimeZoneFormat(const Locale& locale, UErrorCode& status) const char* region = fLocale.getCountry(); int32_t regionLen = static_cast(uprv_strlen(region)); if (regionLen == 0) { - char loc[ULOC_FULLNAME_CAPACITY]; - uloc_addLikelySubtags(fLocale.getName(), loc, sizeof(loc), &status); + CharString loc; + { + CharStringByteSink sink(&loc); + ulocimp_addLikelySubtags(fLocale.getName(), sink, &status); + } - regionLen = uloc_getCountry(loc, fTargetRegion, sizeof(fTargetRegion), &status); + regionLen = uloc_getCountry(loc.data(), fTargetRegion, sizeof(fTargetRegion), &status); if (U_SUCCESS(status)) { fTargetRegion[regionLen] = 0; } else { @@ -502,7 +505,7 @@ TimeZoneFormat::operator==(const Format& other) const { return isEqual; } -Format* +TimeZoneFormat* TimeZoneFormat::clone() const { return new TimeZoneFormat(*this); } @@ -1385,12 +1388,12 @@ TimeZoneFormat::getTimeZoneGenericNames(UErrorCode& status) const { return NULL; } - umtx_lock(gLock()); + umtx_lock(&gLock); if (fTimeZoneGenericNames == NULL) { TimeZoneFormat *nonConstThis = const_cast(this); nonConstThis->fTimeZoneGenericNames = TimeZoneGenericNames::createInstance(fLocale, status); } - umtx_unlock(gLock()); + umtx_unlock(&gLock); return fTimeZoneGenericNames; } @@ -1401,7 +1404,7 @@ TimeZoneFormat::getTZDBTimeZoneNames(UErrorCode& status) const { return NULL; } - umtx_lock(gLock()); + umtx_lock(&gLock); if (fTZDBTimeZoneNames == NULL) { TZDBTimeZoneNames *tzdbNames = new TZDBTimeZoneNames(fLocale); if (tzdbNames == NULL) { @@ -1411,7 +1414,7 @@ TimeZoneFormat::getTZDBTimeZoneNames(UErrorCode& status) const { nonConstThis->fTZDBTimeZoneNames = tzdbNames; } } - umtx_unlock(gLock()); + umtx_unlock(&gLock); return fTZDBTimeZoneNames; } @@ -1875,7 +1878,7 @@ TimeZoneFormat::parseOffsetFieldsWithPattern(const UnicodeString& text, int32_t while (len > 0) { UChar32 ch; int32_t chLen; - U16_GET(patStr, 0, 0, len, ch) + U16_GET(patStr, 0, 0, len, ch); if (PatternProps::isWhiteSpace(ch)) { chLen = U16_LENGTH(ch); len -= chLen; diff --git a/deps/icu-small/source/i18n/tzgnames.cpp b/deps/icu-small/source/i18n/tzgnames.cpp index 4e3ecb4c6073b8..e056461dc30a63 100644 --- a/deps/icu-small/source/i18n/tzgnames.cpp +++ b/deps/icu-small/source/i18n/tzgnames.cpp @@ -21,12 +21,15 @@ #include "unicode/strenum.h" #include "unicode/vtzone.h" +#include "bytesinkutil.h" +#include "charstr.h" #include "cmemory.h" #include "cstring.h" #include "mutex.h" #include "uhash.h" #include "uassert.h" #include "umutex.h" +#include "ulocimp.h" #include "uresimp.h" #include "ureslocs.h" #include "zonemeta.h" @@ -269,10 +272,7 @@ GNameSearchHandler::getMatches(int32_t& maxMatchLen) { return results; } -static UMutex *gLock() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex gLock; class TZGNCore : public UMemory { public: @@ -412,10 +412,13 @@ TZGNCore::initialize(const Locale& locale, UErrorCode& status) { const char* region = fLocale.getCountry(); int32_t regionLen = static_cast(uprv_strlen(region)); if (regionLen == 0) { - char loc[ULOC_FULLNAME_CAPACITY]; - uloc_addLikelySubtags(fLocale.getName(), loc, sizeof(loc), &status); + CharString loc; + { + CharStringByteSink sink(&loc); + ulocimp_addLikelySubtags(fLocale.getName(), sink, &status); + } - regionLen = uloc_getCountry(loc, fTargetRegion, sizeof(fTargetRegion), &status); + regionLen = uloc_getCountry(loc.data(), fTargetRegion, sizeof(fTargetRegion), &status); if (U_SUCCESS(status)) { fTargetRegion[regionLen] = 0; } else { @@ -488,11 +491,11 @@ TZGNCore::getGenericLocationName(const UnicodeString& tzCanonicalID, UnicodeStri const UChar *locname = NULL; TZGNCore *nonConstThis = const_cast(this); - umtx_lock(gLock()); + umtx_lock(&gLock); { locname = nonConstThis->getGenericLocationName(tzCanonicalID); } - umtx_unlock(gLock()); + umtx_unlock(&gLock); if (locname == NULL) { name.setToBogus(); @@ -743,11 +746,11 @@ TZGNCore::getPartialLocationName(const UnicodeString& tzCanonicalID, const UChar *uplname = NULL; TZGNCore *nonConstThis = const_cast(this); - umtx_lock(gLock()); + umtx_lock(&gLock); { uplname = nonConstThis->getPartialLocationName(tzCanonicalID, mzID, isLong, mzDisplayName); } - umtx_unlock(gLock()); + umtx_unlock(&gLock); if (uplname == NULL) { name.setToBogus(); @@ -1010,11 +1013,11 @@ TZGNCore::findLocal(const UnicodeString& text, int32_t start, uint32_t types, UE TZGNCore *nonConstThis = const_cast(this); - umtx_lock(gLock()); + umtx_lock(&gLock); { fGNamesTrie.search(text, start, (TextTrieMapSearchResultHandler *)&handler, status); } - umtx_unlock(gLock()); + umtx_unlock(&gLock); if (U_FAILURE(status)) { return NULL; @@ -1041,7 +1044,7 @@ TZGNCore::findLocal(const UnicodeString& text, int32_t start, uint32_t types, UE // All names are not yet loaded into the local trie. // Load all available names into the trie. This could be very heavy. - umtx_lock(gLock()); + umtx_lock(&gLock); { if (!fGNamesTrieFullyLoaded) { StringEnumeration *tzIDs = TimeZone::createTimeZoneIDEnumeration(UCAL_ZONE_TYPE_CANONICAL, NULL, NULL, status); @@ -1063,18 +1066,18 @@ TZGNCore::findLocal(const UnicodeString& text, int32_t start, uint32_t types, UE } } } - umtx_unlock(gLock()); + umtx_unlock(&gLock); if (U_FAILURE(status)) { return NULL; } - umtx_lock(gLock()); + umtx_lock(&gLock); { // now try it again fGNamesTrie.search(text, start, (TextTrieMapSearchResultHandler *)&handler, status); } - umtx_unlock(gLock()); + umtx_unlock(&gLock); results = handler.getMatches(maxLen); if (results != NULL && maxLen > 0) { @@ -1115,10 +1118,7 @@ typedef struct TZGNCoreRef { } TZGNCoreRef; // TZGNCore object cache handling -static UMutex *gTZGNLock() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex gTZGNLock; static UHashtable *gTZGNCoreCache = NULL; static UBool gTZGNCoreCacheInitialized = FALSE; @@ -1184,13 +1184,13 @@ TimeZoneGenericNames::TimeZoneGenericNames() } TimeZoneGenericNames::~TimeZoneGenericNames() { - umtx_lock(gTZGNLock()); + umtx_lock(&gTZGNLock); { U_ASSERT(fRef->refCount > 0); // Just decrement the reference count fRef->refCount--; } - umtx_unlock(gTZGNLock()); + umtx_unlock(&gTZGNLock); } TimeZoneGenericNames* @@ -1206,7 +1206,7 @@ TimeZoneGenericNames::createInstance(const Locale& locale, UErrorCode& status) { TZGNCoreRef *cacheEntry = NULL; { - Mutex lock(gTZGNLock()); + Mutex lock(&gTZGNLock); if (!gTZGNCoreCacheInitialized) { // Create empty hashtable @@ -1298,13 +1298,13 @@ TimeZoneGenericNames* TimeZoneGenericNames::clone() const { TimeZoneGenericNames* other = new TimeZoneGenericNames(); if (other) { - umtx_lock(gTZGNLock()); + umtx_lock(&gTZGNLock); { // Just increments the reference count fRef->refCount++; other->fRef = fRef; } - umtx_unlock(gTZGNLock()); + umtx_unlock(&gTZGNLock); } return other; } diff --git a/deps/icu-small/source/i18n/tznames.cpp b/deps/icu-small/source/i18n/tznames.cpp index acd6aecdc0ce7e..d789c123630260 100644 --- a/deps/icu-small/source/i18n/tznames.cpp +++ b/deps/icu-small/source/i18n/tznames.cpp @@ -29,10 +29,7 @@ U_NAMESPACE_BEGIN // TimeZoneNames object cache handling -static UMutex *gTimeZoneNamesLock() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex gTimeZoneNamesLock; static UHashtable *gTimeZoneNamesCache = NULL; static UBool gTimeZoneNamesCacheInitialized = FALSE; @@ -109,7 +106,7 @@ class TimeZoneNamesDelegate : public TimeZoneNames { virtual UBool operator==(const TimeZoneNames& other) const; virtual UBool operator!=(const TimeZoneNames& other) const {return !operator==(other);} - virtual TimeZoneNames* clone() const; + virtual TimeZoneNamesDelegate* clone() const; StringEnumeration* getAvailableMetaZoneIDs(UErrorCode& status) const; StringEnumeration* getAvailableMetaZoneIDs(const UnicodeString& tzID, UErrorCode& status) const; @@ -135,7 +132,7 @@ TimeZoneNamesDelegate::TimeZoneNamesDelegate() } TimeZoneNamesDelegate::TimeZoneNamesDelegate(const Locale& locale, UErrorCode& status) { - Mutex lock(gTimeZoneNamesLock()); + Mutex lock(&gTimeZoneNamesLock); if (!gTimeZoneNamesCacheInitialized) { // Create empty hashtable if it is not already initialized. gTimeZoneNamesCache = uhash_open(uhash_hashChars, uhash_compareChars, NULL, &status); @@ -211,7 +208,7 @@ TimeZoneNamesDelegate::TimeZoneNamesDelegate(const Locale& locale, UErrorCode& s } TimeZoneNamesDelegate::~TimeZoneNamesDelegate() { - umtx_lock(gTimeZoneNamesLock()); + umtx_lock(&gTimeZoneNamesLock); { if (fTZnamesCacheEntry) { U_ASSERT(fTZnamesCacheEntry->refCount > 0); @@ -219,7 +216,7 @@ TimeZoneNamesDelegate::~TimeZoneNamesDelegate() { fTZnamesCacheEntry->refCount--; } } - umtx_unlock(gTimeZoneNamesLock()); + umtx_unlock(&gTimeZoneNamesLock); } UBool @@ -236,17 +233,17 @@ TimeZoneNamesDelegate::operator==(const TimeZoneNames& other) const { return FALSE; } -TimeZoneNames* +TimeZoneNamesDelegate* TimeZoneNamesDelegate::clone() const { TimeZoneNamesDelegate* other = new TimeZoneNamesDelegate(); if (other != NULL) { - umtx_lock(gTimeZoneNamesLock()); + umtx_lock(&gTimeZoneNamesLock); { // Just increment the reference count fTZnamesCacheEntry->refCount++; other->fTZnamesCacheEntry = fTZnamesCacheEntry; } - umtx_unlock(gTimeZoneNamesLock()); + umtx_unlock(&gTimeZoneNamesLock); } return other; } diff --git a/deps/icu-small/source/i18n/tznames_impl.cpp b/deps/icu-small/source/i18n/tznames_impl.cpp index d6e0ee2fbb637a..180b7fefbf3623 100644 --- a/deps/icu-small/source/i18n/tznames_impl.cpp +++ b/deps/icu-small/source/i18n/tznames_impl.cpp @@ -21,11 +21,14 @@ #include "unicode/utf16.h" #include "tznames_impl.h" +#include "bytesinkutil.h" +#include "charstr.h" #include "cmemory.h" #include "cstring.h" #include "uassert.h" #include "mutex.h" #include "resource.h" +#include "ulocimp.h" #include "uresimp.h" #include "ureslocs.h" #include "zonemeta.h" @@ -49,10 +52,7 @@ static const UChar NO_NAME[] = { 0 }; // for empty no-fallback time static const char* TZDBNAMES_KEYS[] = {"ss", "sd"}; static const int32_t TZDBNAMES_KEYS_SIZE = UPRV_LENGTHOF(TZDBNAMES_KEYS); -static UMutex *gDataMutex() { - static UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static UMutex gDataMutex; static UHashtable* gTZDBNamesMap = NULL; static icu::UInitOnce gTZDBNamesMapInitOnce = U_INITONCE_INITIALIZER; @@ -388,7 +388,7 @@ TextTrieMap::search(const UnicodeString &text, int32_t start, // Don't do unless it's really required. // Mutex for protecting the lazy creation of the Trie node structure on the first call to search(). - static UMutex TextTrieMutex = U_MUTEX_INITIALIZER; + static UMutex TextTrieMutex; Mutex lock(&TextTrieMutex); if (fLazyContents != NULL) { @@ -1113,7 +1113,7 @@ TimeZoneNamesImpl::operator==(const TimeZoneNames& other) const { return FALSE; } -TimeZoneNames* +TimeZoneNamesImpl* TimeZoneNamesImpl::clone() const { UErrorCode status = U_ZERO_ERROR; return new TimeZoneNamesImpl(fLocale, status); @@ -1214,7 +1214,7 @@ TimeZoneNamesImpl::getMetaZoneDisplayName(const UnicodeString& mzID, TimeZoneNamesImpl *nonConstThis = const_cast(this); { - Mutex lock(gDataMutex()); + Mutex lock(&gDataMutex); UErrorCode status = U_ZERO_ERROR; znames = nonConstThis->loadMetaZoneNames(mzID, status); if (U_FAILURE(status)) { return name; } @@ -1240,7 +1240,7 @@ TimeZoneNamesImpl::getTimeZoneDisplayName(const UnicodeString& tzID, UTimeZoneNa TimeZoneNamesImpl *nonConstThis = const_cast(this); { - Mutex lock(gDataMutex()); + Mutex lock(&gDataMutex); UErrorCode status = U_ZERO_ERROR; tznames = nonConstThis->loadTimeZoneNames(tzID, status); if (U_FAILURE(status)) { return name; } @@ -1263,7 +1263,7 @@ TimeZoneNamesImpl::getExemplarLocationName(const UnicodeString& tzID, UnicodeStr TimeZoneNamesImpl *nonConstThis = const_cast(this); { - Mutex lock(gDataMutex()); + Mutex lock(&gDataMutex); UErrorCode status = U_ZERO_ERROR; tznames = nonConstThis->loadTimeZoneNames(tzID, status); if (U_FAILURE(status)) { return name; } @@ -1358,7 +1358,7 @@ TimeZoneNamesImpl::find(const UnicodeString& text, int32_t start, uint32_t types // Synchronize so that data is not loaded multiple times. // TODO: Consider more fine-grained synchronization. { - Mutex lock(gDataMutex()); + Mutex lock(&gDataMutex); // First try of lookup. matches = doFind(handler, text, start, status); @@ -1585,7 +1585,7 @@ void TimeZoneNamesImpl::loadAllDisplayNames(UErrorCode& status) { if (U_FAILURE(status)) return; { - Mutex lock(gDataMutex()); + Mutex lock(&gDataMutex); internalLoadAllDisplayNames(status); } } @@ -1602,7 +1602,7 @@ void TimeZoneNamesImpl::getDisplayNames(const UnicodeString& tzID, // Load the time zone strings { - Mutex lock(gDataMutex()); + Mutex lock(&gDataMutex); tznames = (void*) nonConstThis->loadTimeZoneNames(tzID, status); if (U_FAILURE(status)) { return; } } @@ -1622,7 +1622,7 @@ void TimeZoneNamesImpl::getDisplayNames(const UnicodeString& tzID, } else { // Load the meta zone strings // Mutex is scoped to the "else" statement - Mutex lock(gDataMutex()); + Mutex lock(&gDataMutex); mznames = (void*) nonConstThis->loadMetaZoneNames(mzID, status); if (U_FAILURE(status)) { return; } // Note: when the metazone doesn't exist, in Java, loadMetaZoneNames returns @@ -2135,9 +2135,12 @@ TZDBTimeZoneNames::TZDBTimeZoneNames(const Locale& locale) int32_t regionLen = static_cast(uprv_strlen(region)); if (regionLen == 0) { UErrorCode status = U_ZERO_ERROR; - char loc[ULOC_FULLNAME_CAPACITY]; - uloc_addLikelySubtags(fLocale.getName(), loc, sizeof(loc), &status); - regionLen = uloc_getCountry(loc, fRegion, sizeof(fRegion), &status); + CharString loc; + { + CharStringByteSink sink(&loc); + ulocimp_addLikelySubtags(fLocale.getName(), sink, &status); + } + regionLen = uloc_getCountry(loc.data(), fRegion, sizeof(fRegion), &status); if (U_SUCCESS(status) && regionLen < (int32_t)sizeof(fRegion)) { useWorld = FALSE; } @@ -2162,7 +2165,7 @@ TZDBTimeZoneNames::operator==(const TimeZoneNames& other) const { return FALSE; } -TimeZoneNames* +TZDBTimeZoneNames* TZDBTimeZoneNames::clone() const { return new TZDBTimeZoneNames(fLocale); } @@ -2247,7 +2250,7 @@ TZDBTimeZoneNames::getMetaZoneNames(const UnicodeString& mzID, UErrorCode& statu U_ASSERT(status == U_ZERO_ERROR); // already checked length above mzIDKey[mzID.length()] = 0; - static UMutex gTZDBNamesMapLock = U_MUTEX_INITIALIZER; + static UMutex gTZDBNamesMapLock; umtx_lock(&gTZDBNamesMapLock); { void *cacheVal = uhash_get(gTZDBNamesMap, mzIDKey); diff --git a/deps/icu-small/source/i18n/tznames_impl.h b/deps/icu-small/source/i18n/tznames_impl.h index 4db036e7475e35..1286eeb80dc503 100644 --- a/deps/icu-small/source/i18n/tznames_impl.h +++ b/deps/icu-small/source/i18n/tznames_impl.h @@ -174,7 +174,7 @@ class TimeZoneNamesImpl : public TimeZoneNames { virtual ~TimeZoneNamesImpl(); virtual UBool operator==(const TimeZoneNames& other) const; - virtual TimeZoneNames* clone() const; + virtual TimeZoneNamesImpl* clone() const; StringEnumeration* getAvailableMetaZoneIDs(UErrorCode& status) const; StringEnumeration* getAvailableMetaZoneIDs(const UnicodeString& tzID, UErrorCode& status) const; @@ -236,7 +236,7 @@ class TZDBTimeZoneNames : public TimeZoneNames { virtual ~TZDBTimeZoneNames(); virtual UBool operator==(const TimeZoneNames& other) const; - virtual TimeZoneNames* clone() const; + virtual TZDBTimeZoneNames* clone() const; StringEnumeration* getAvailableMetaZoneIDs(UErrorCode& status) const; StringEnumeration* getAvailableMetaZoneIDs(const UnicodeString& tzID, UErrorCode& status) const; diff --git a/deps/icu-small/source/i18n/tzrule.cpp b/deps/icu-small/source/i18n/tzrule.cpp index f60a5e0dd59a6a..c4bf386fd4996c 100644 --- a/deps/icu-small/source/i18n/tzrule.cpp +++ b/deps/icu-small/source/i18n/tzrule.cpp @@ -108,7 +108,7 @@ InitialTimeZoneRule::~InitialTimeZoneRule() { } InitialTimeZoneRule* -InitialTimeZoneRule::clone(void) const { +InitialTimeZoneRule::clone() const { return new InitialTimeZoneRule(*this); } diff --git a/deps/icu-small/source/i18n/ucal.cpp b/deps/icu-small/source/i18n/ucal.cpp index 4154eea83f2fa9..cca1f70cf54584 100644 --- a/deps/icu-small/source/i18n/ucal.cpp +++ b/deps/icu-small/source/i18n/ucal.cpp @@ -34,7 +34,7 @@ U_NAMESPACE_USE static TimeZone* _createTimeZone(const UChar* zoneID, int32_t len, UErrorCode* ec) { TimeZone* zone = NULL; - if (ec!=NULL && U_SUCCESS(*ec)) { + if (ec != NULL && U_SUCCESS(*ec)) { // Note that if zoneID is invalid, we get back GMT. This odd // behavior is by design and goes back to the JDK. The only // failure we will see is a memory allocation failure. @@ -69,7 +69,7 @@ ucal_openCountryTimeZones(const char* country, UErrorCode* ec) { U_CAPI int32_t U_EXPORT2 ucal_getDefaultTimeZone(UChar* result, int32_t resultCapacity, UErrorCode* ec) { int32_t len = 0; - if (ec!=NULL && U_SUCCESS(*ec)) { + if (ec != NULL && U_SUCCESS(*ec)) { TimeZone* zone = TimeZone::createDefault(); if (zone == NULL) { *ec = U_MEMORY_ALLOCATION_ERROR; @@ -91,6 +91,23 @@ ucal_setDefaultTimeZone(const UChar* zoneID, UErrorCode* ec) { } } +U_DRAFT int32_t U_EXPORT2 +ucal_getHostTimeZone(UChar* result, int32_t resultCapacity, UErrorCode* ec) { + int32_t len = 0; + if (ec != NULL && U_SUCCESS(*ec)) { + TimeZone *zone = TimeZone::detectHostTimeZone(); + if (zone == NULL) { + *ec = U_MEMORY_ALLOCATION_ERROR; + } else { + UnicodeString id; + zone->getID(id); + delete zone; + len = id.extract(result, resultCapacity, *ec); + } + } + return len; +} + U_CAPI int32_t U_EXPORT2 ucal_getDSTSavings(const UChar* zoneID, UErrorCode* ec) { int32_t result = 0; @@ -140,8 +157,8 @@ ucal_open( const UChar* zoneID, if(U_FAILURE(*status)) return 0; - TimeZone* zone = (zoneID==NULL) ? TimeZone::createDefault() - : _createTimeZone(zoneID, len, status); + LocalPointer zone( (zoneID==NULL) ? TimeZone::createDefault() + : _createTimeZone(zoneID, len, status), *status); if (U_FAILURE(*status)) { return NULL; @@ -157,9 +174,9 @@ ucal_open( const UChar* zoneID, if (U_FAILURE(*status)) { return NULL; } - return (UCalendar*)Calendar::createInstance(zone, Locale(localeBuf), *status); + return (UCalendar*)Calendar::createInstance(zone.orphan(), Locale(localeBuf), *status); } - return (UCalendar*)Calendar::createInstance(zone, Locale(locale), *status); + return (UCalendar*)Calendar::createInstance(zone.orphan(), Locale(locale), *status); } U_CAPI void U_EXPORT2 diff --git a/deps/icu-small/source/i18n/udat.cpp b/deps/icu-small/source/i18n/udat.cpp index b7d85cc179ef9a..da8befc9e3c65b 100644 --- a/deps/icu-small/source/i18n/udat.cpp +++ b/deps/icu-small/source/i18n/udat.cpp @@ -167,9 +167,13 @@ udat_open(UDateFormatStyle timeStyle, } } - if(fmt == 0) { + if(fmt == nullptr) { *status = U_MEMORY_ALLOCATION_ERROR; - return 0; + return nullptr; + } + if (U_FAILURE(*status)) { + delete fmt; + return nullptr; } if(tzID != 0) { diff --git a/deps/icu-small/source/i18n/unesctrn.cpp b/deps/icu-small/source/i18n/unesctrn.cpp index fcce9528e2f3dc..604cb0a4ba007f 100644 --- a/deps/icu-small/source/i18n/unesctrn.cpp +++ b/deps/icu-small/source/i18n/unesctrn.cpp @@ -164,7 +164,7 @@ UnescapeTransliterator::~UnescapeTransliterator() { /** * Transliterator API. */ -Transliterator* UnescapeTransliterator::clone() const { +UnescapeTransliterator* UnescapeTransliterator::clone() const { return new UnescapeTransliterator(*this); } diff --git a/deps/icu-small/source/i18n/unesctrn.h b/deps/icu-small/source/i18n/unesctrn.h index e8e171f2bc4a69..57dd8d32cf53f3 100644 --- a/deps/icu-small/source/i18n/unesctrn.h +++ b/deps/icu-small/source/i18n/unesctrn.h @@ -77,7 +77,7 @@ class UnescapeTransliterator : public Transliterator { /** * Transliterator API. */ - virtual Transliterator* clone() const; + virtual UnescapeTransliterator* clone() const; /** * ICU "poor man's RTTI", returns a UClassID for the actual class. diff --git a/deps/icu-small/source/i18n/uni2name.cpp b/deps/icu-small/source/i18n/uni2name.cpp index 86d7a4904a815e..9df3924ae5f147 100644 --- a/deps/icu-small/source/i18n/uni2name.cpp +++ b/deps/icu-small/source/i18n/uni2name.cpp @@ -60,7 +60,7 @@ UnicodeNameTransliterator::UnicodeNameTransliterator(const UnicodeNameTransliter /** * Transliterator API. */ -Transliterator* UnicodeNameTransliterator::clone(void) const { +UnicodeNameTransliterator* UnicodeNameTransliterator::clone() const { return new UnicodeNameTransliterator(*this); } diff --git a/deps/icu-small/source/i18n/uni2name.h b/deps/icu-small/source/i18n/uni2name.h index 4d6eaa0a9a6b65..99309c8e0f8785 100644 --- a/deps/icu-small/source/i18n/uni2name.h +++ b/deps/icu-small/source/i18n/uni2name.h @@ -48,7 +48,7 @@ class UnicodeNameTransliterator : public Transliterator { /** * Transliterator API. */ - virtual Transliterator* clone(void) const; + virtual UnicodeNameTransliterator* clone() const; /** * ICU "poor man's RTTI", returns a UClassID for the actual class. diff --git a/deps/icu-small/source/i18n/unicode/alphaindex.h b/deps/icu-small/source/i18n/unicode/alphaindex.h index dfb6110a36cf11..fe43995fe81155 100644 --- a/deps/icu-small/source/i18n/unicode/alphaindex.h +++ b/deps/icu-small/source/i18n/unicode/alphaindex.h @@ -13,6 +13,9 @@ #define INDEXCHARS_H #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" #include "unicode/locid.h" #include "unicode/unistr.h" @@ -757,4 +760,7 @@ class U_I18N_API AlphabeticIndex: public UObject { U_NAMESPACE_END #endif // !UCONFIG_NO_COLLATION + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/basictz.h b/deps/icu-small/source/i18n/unicode/basictz.h index eb62abaf0a679c..e1db2a8223adde 100644 --- a/deps/icu-small/source/i18n/unicode/basictz.h +++ b/deps/icu-small/source/i18n/unicode/basictz.h @@ -16,6 +16,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/timezone.h" @@ -41,6 +43,14 @@ class U_I18N_API BasicTimeZone: public TimeZone { */ virtual ~BasicTimeZone(); + /** + * Clones this object polymorphically. + * The caller owns the result and should delete it when done. + * @return clone, or nullptr if an error occurred + * @stable ICU 3.8 + */ + virtual BasicTimeZone* clone() const = 0; + /** * Gets the first time zone transition after the base time. * @param base The base time. @@ -211,6 +221,8 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // BASICTZ_H //eof diff --git a/deps/icu-small/source/i18n/unicode/calendar.h b/deps/icu-small/source/i18n/unicode/calendar.h index 023cf053f254fb..2a8c2935ca8e24 100644 --- a/deps/icu-small/source/i18n/unicode/calendar.h +++ b/deps/icu-small/source/i18n/unicode/calendar.h @@ -29,6 +29,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Calendar object @@ -184,7 +186,7 @@ class BasicTimeZone; */ class U_I18N_API Calendar : public UObject { public: - +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Field IDs for date and time. Used to specify date/time fields. ERA is calendar * specific. Example ranges given are for illustration only; see specific Calendar @@ -227,6 +229,7 @@ class U_I18N_API Calendar : public UObject { FIELD_COUNT = UCAL_FIELD_COUNT // See ucal.h for other fields. #endif /* U_HIDE_DEPRECATED_API */ }; +#endif // U_FORCE_HIDE_DEPRECATED_API #ifndef U_HIDE_DEPRECATED_API /** @@ -287,7 +290,7 @@ class U_I18N_API Calendar : public UObject { * @return a polymorphic copy of this calendar. * @stable ICU 2.0 */ - virtual Calendar* clone(void) const = 0; + virtual Calendar* clone() const = 0; /** * Creates a Calendar using the default timezone and locale. Clients are responsible @@ -518,6 +521,7 @@ class U_I18N_API Calendar : public UObject { */ UBool after(const Calendar& when, UErrorCode& status) const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * UDate Arithmetic function. Adds the specified (signed) amount of time to the given * time field, based on the calendar's rules. For example, to subtract 5 days from @@ -539,6 +543,7 @@ class U_I18N_API Calendar : public UObject { * @deprecated ICU 2.6. use add(UCalendarDateFields field, int32_t amount, UErrorCode& status) instead. */ virtual void add(EDateFields field, int32_t amount, UErrorCode& status); +#endif // U_FORCE_HIDE_DEPRECATED_API /** * UDate Arithmetic function. Adds the specified (signed) amount of time to the given @@ -632,6 +637,7 @@ class U_I18N_API Calendar : public UObject { */ inline void roll(UCalendarDateFields field, UBool up, UErrorCode& status); +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Time Field Rolling function. Rolls by the given amount on the given * time field. For example, to roll the current date up by one day, call @@ -664,6 +670,7 @@ class U_I18N_API Calendar : public UObject { * @deprecated ICU 2.6. Use roll(UCalendarDateFields field, int32_t amount, UErrorCode& status) instead. */ virtual void roll(EDateFields field, int32_t amount, UErrorCode& status); +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Time Field Rolling function. Rolls by the given amount on the given @@ -698,6 +705,7 @@ class U_I18N_API Calendar : public UObject { */ virtual void roll(UCalendarDateFields field, int32_t amount, UErrorCode& status); +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Return the difference between the given time and the time this * calendar object is set to. If this calendar is set @@ -754,6 +762,7 @@ class U_I18N_API Calendar : public UObject { * @deprecated ICU 2.6. Use fieldDifference(UDate when, UCalendarDateFields field, UErrorCode& status). */ virtual int32_t fieldDifference(UDate when, EDateFields field, UErrorCode& status); +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Return the difference between the given time and the time this @@ -1010,6 +1019,7 @@ class U_I18N_API Calendar : public UObject { */ uint8_t getMinimalDaysInFirstWeek(void) const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Gets the minimum value for the given time field. e.g., for Gregorian * DAY_OF_MONTH, 1. @@ -1019,6 +1029,7 @@ class U_I18N_API Calendar : public UObject { * @deprecated ICU 2.6. Use getMinimum(UCalendarDateFields field) instead. */ virtual int32_t getMinimum(EDateFields field) const; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Gets the minimum value for the given time field. e.g., for Gregorian @@ -1030,6 +1041,7 @@ class U_I18N_API Calendar : public UObject { */ virtual int32_t getMinimum(UCalendarDateFields field) const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Gets the maximum value for the given time field. e.g. for Gregorian DAY_OF_MONTH, * 31. @@ -1039,6 +1051,7 @@ class U_I18N_API Calendar : public UObject { * @deprecated ICU 2.6. Use getMaximum(UCalendarDateFields field) instead. */ virtual int32_t getMaximum(EDateFields field) const; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Gets the maximum value for the given time field. e.g. for Gregorian DAY_OF_MONTH, @@ -1050,6 +1063,7 @@ class U_I18N_API Calendar : public UObject { */ virtual int32_t getMaximum(UCalendarDateFields field) const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Gets the highest minimum value for the given field if varies. Otherwise same as * getMinimum(). For Gregorian, no difference. @@ -1059,6 +1073,7 @@ class U_I18N_API Calendar : public UObject { * @deprecated ICU 2.6. Use getGreatestMinimum(UCalendarDateFields field) instead. */ virtual int32_t getGreatestMinimum(EDateFields field) const; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Gets the highest minimum value for the given field if varies. Otherwise same as @@ -1070,6 +1085,7 @@ class U_I18N_API Calendar : public UObject { */ virtual int32_t getGreatestMinimum(UCalendarDateFields field) const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Gets the lowest maximum value for the given field if varies. Otherwise same as * getMaximum(). e.g., for Gregorian DAY_OF_MONTH, 28. @@ -1079,6 +1095,7 @@ class U_I18N_API Calendar : public UObject { * @deprecated ICU 2.6. Use getLeastMaximum(UCalendarDateFields field) instead. */ virtual int32_t getLeastMaximum(EDateFields field) const; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Gets the lowest maximum value for the given field if varies. Otherwise same as @@ -1895,11 +1912,13 @@ class U_I18N_API Calendar : public UObject { */ int32_t fFields[UCAL_FIELD_COUNT]; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * The flags which tell if a specified time field for the calendar is set. * @deprecated ICU 2.8 use (fStamp[n]!=kUnset) */ UBool fIsSet[UCAL_FIELD_COUNT]; +#endif // U_FORCE_HIDE_DEPRECATED_API /** Special values of stamp[] * @stable ICU 2.0 @@ -2281,7 +2300,6 @@ class U_I18N_API Calendar : public UObject { * should only be called if this calendar is not lenient. * @see #isLenient * @see #validateField(int, int&) - * @internal */ void validateFields(UErrorCode &status); @@ -2291,7 +2309,6 @@ class U_I18N_API Calendar : public UObject { * U_ILLEGAL_ARGUMENT_ERROR will be set. Subclasses may * use this method in their implementation of {@link * #validateField(int, int&)}. - * @internal */ void validateField(UCalendarDateFields field, int32_t min, int32_t max, UErrorCode& status); @@ -2529,4 +2546,6 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _CALENDAR diff --git a/deps/icu-small/source/i18n/unicode/choicfmt.h b/deps/icu-small/source/i18n/unicode/choicfmt.h index c9f0f1114f89ed..3b2f48cb1f853c 100644 --- a/deps/icu-small/source/i18n/unicode/choicfmt.h +++ b/deps/icu-small/source/i18n/unicode/choicfmt.h @@ -26,13 +26,14 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Choice Format. */ #if !UCONFIG_NO_FORMATTING -#ifndef U_HIDE_DEPRECATED_API #include "unicode/fieldpos.h" #include "unicode/format.h" @@ -40,6 +41,8 @@ #include "unicode/numfmt.h" #include "unicode/unistr.h" +#ifndef U_HIDE_DEPRECATED_API + U_NAMESPACE_BEGIN class MessageFormat; @@ -248,7 +251,7 @@ class U_I18N_API ChoiceFormat: public NumberFormat { * @return a copy of this object * @deprecated ICU 49 Use MessageFormat instead, with plural and select arguments. */ - virtual Format* clone(void) const; + virtual ChoiceFormat* clone() const; /** * Returns true if the given Format objects are semantically equal. @@ -592,5 +595,7 @@ U_NAMESPACE_END #endif // U_HIDE_DEPRECATED_API #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // CHOICFMT_H //eof diff --git a/deps/icu-small/source/i18n/unicode/coleitr.h b/deps/icu-small/source/i18n/unicode/coleitr.h index bf0e1d51a41833..809d435e509b49 100644 --- a/deps/icu-small/source/i18n/unicode/coleitr.h +++ b/deps/icu-small/source/i18n/unicode/coleitr.h @@ -35,6 +35,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_COLLATION #include "unicode/unistr.h" @@ -404,4 +406,6 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_COLLATION */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/coll.h b/deps/icu-small/source/i18n/unicode/coll.h index 653434f54ca664..f5564c73944bcb 100644 --- a/deps/icu-small/source/i18n/unicode/coll.h +++ b/deps/icu-small/source/i18n/unicode/coll.h @@ -54,6 +54,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_COLLATION #include "unicode/uobject.h" @@ -204,6 +206,7 @@ class U_I18N_API Collator : public UObject { // Cannot use #ifndef U_HIDE_DEPRECATED_API for the following, it is // used by virtual methods that cannot have that conditional. +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * LESS is returned if source string is compared to be less than target * string in the compare() method. @@ -220,6 +223,7 @@ class U_I18N_API Collator : public UObject { EQUAL = UCOL_EQUAL, // 0 GREATER = UCOL_GREATER // 1 }; +#endif // U_FORCE_HIDE_DEPRECATED_API // Collator public destructor ----------------------------------------- @@ -265,7 +269,7 @@ class U_I18N_API Collator : public UObject { * @return a copy of this object, owned by the caller * @stable ICU 2.0 */ - virtual Collator* clone(void) const = 0; + virtual Collator* clone() const = 0; /** * Creates the Collator object for the current default locale. @@ -323,6 +327,7 @@ class U_I18N_API Collator : public UObject { */ static Collator* U_EXPORT2 createInstance(const Locale& loc, UErrorCode& err); +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * The comparison function compares the character data stored in two * different strings. Returns information about whether a string is less @@ -336,6 +341,7 @@ class U_I18N_API Collator : public UObject { */ virtual EComparisonResult compare(const UnicodeString& source, const UnicodeString& target) const; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * The comparison function compares the character data stored in two @@ -353,6 +359,7 @@ class U_I18N_API Collator : public UObject { const UnicodeString& target, UErrorCode &status) const = 0; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Does the same thing as compare but limits the comparison to a specified * length @@ -368,6 +375,7 @@ class U_I18N_API Collator : public UObject { virtual EComparisonResult compare(const UnicodeString& source, const UnicodeString& target, int32_t length) const; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Does the same thing as compare but limits the comparison to a specified @@ -387,6 +395,7 @@ class U_I18N_API Collator : public UObject { int32_t length, UErrorCode &status) const = 0; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * The comparison function compares the character data stored in two * different string arrays. Returns information about whether a string array @@ -423,6 +432,7 @@ class U_I18N_API Collator : public UObject { virtual EComparisonResult compare(const char16_t* source, int32_t sourceLength, const char16_t* target, int32_t targetLength) const; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * The comparison function compares the character data stored in two @@ -527,6 +537,7 @@ class U_I18N_API Collator : public UObject { */ virtual int32_t hashCode(void) const = 0; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Gets the locale of the Collator * @@ -540,6 +551,7 @@ class U_I18N_API Collator : public UObject { * in ICU 3.0. */ virtual Locale getLocale(ULocDataLocaleType type, UErrorCode& status) const = 0; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Convenience method for comparing two strings based on the collation rules. @@ -576,6 +588,7 @@ class U_I18N_API Collator : public UObject { */ UBool equals(const UnicodeString& source, const UnicodeString& target) const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Determines the minimum strength that will be used in comparison or * transformation. @@ -607,6 +620,7 @@ class U_I18N_API Collator : public UObject { * @deprecated ICU 2.6 Use setAttribute(UCOL_STRENGTH...) instead */ virtual void setStrength(ECollationStrength newStrength); +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Retrieves the reordering codes for this collator. @@ -904,6 +918,7 @@ class U_I18N_API Collator : public UObject { */ virtual UColReorderCode getMaxVariable() const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Sets the variable top to the primary weight of the specified string. * @@ -951,6 +966,7 @@ class U_I18N_API Collator : public UObject { * @deprecated ICU 53 Call setMaxVariable() instead. */ virtual void setVariableTop(uint32_t varTop, UErrorCode &status) = 0; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Gets the variable top value of a Collator. @@ -972,6 +988,7 @@ class U_I18N_API Collator : public UObject { */ virtual UnicodeSet *getTailoredSet(UErrorCode &status) const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Same as clone(). * The base class implementation simply calls clone(). @@ -979,7 +996,8 @@ class U_I18N_API Collator : public UObject { * @see clone() * @deprecated ICU 50 no need to have two methods for cloning */ - virtual Collator* safeClone(void) const; + virtual Collator* safeClone() const; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Get the sort key as an array of bytes from a UnicodeString. @@ -1271,4 +1289,6 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_COLLATION */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/compactdecimalformat.h b/deps/icu-small/source/i18n/unicode/compactdecimalformat.h index 9c1e9183f4657b..9c1e2009969279 100644 --- a/deps/icu-small/source/i18n/unicode/compactdecimalformat.h +++ b/deps/icu-small/source/i18n/unicode/compactdecimalformat.h @@ -14,6 +14,9 @@ #define __COMPACT_DECIMAL_FORMAT_H__ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Compatibility APIs for compact decimal number formatting. @@ -102,7 +105,7 @@ class U_I18N_API CompactDecimalFormat : public DecimalFormat { * @return a polymorphic copy of this CompactDecimalFormat. * @stable ICU 51 */ - Format* clone() const U_OVERRIDE; + CompactDecimalFormat* clone() const U_OVERRIDE; using DecimalFormat::format; @@ -187,5 +190,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __COMPACT_DECIMAL_FORMAT_H__ //eof diff --git a/deps/icu-small/source/i18n/unicode/curramt.h b/deps/icu-small/source/i18n/unicode/curramt.h index 03ec856e3bf585..65e6619db30c16 100644 --- a/deps/icu-small/source/i18n/unicode/curramt.h +++ b/deps/icu-small/source/i18n/unicode/curramt.h @@ -15,6 +15,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/measure.h" @@ -79,7 +81,7 @@ class U_I18N_API CurrencyAmount: public Measure { * have the same class as returned by getDynamicClassID(). * @stable ICU 3.0 */ - virtual UObject* clone() const; + virtual CurrencyAmount* clone() const; /** * Destructor @@ -129,4 +131,7 @@ inline const char16_t* CurrencyAmount::getISOCurrency() const { U_NAMESPACE_END #endif // !UCONFIG_NO_FORMATTING + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __CURRENCYAMOUNT_H__ diff --git a/deps/icu-small/source/i18n/unicode/currpinf.h b/deps/icu-small/source/i18n/unicode/currpinf.h index 80b046251323e9..1b93be08316827 100644 --- a/deps/icu-small/source/i18n/unicode/currpinf.h +++ b/deps/icu-small/source/i18n/unicode/currpinf.h @@ -11,6 +11,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Currency Plural Information used by Decimal Format @@ -266,5 +268,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _CURRPINFO //eof diff --git a/deps/icu-small/source/i18n/unicode/currunit.h b/deps/icu-small/source/i18n/unicode/currunit.h index 63739c37fd569b..0446154e328f8f 100644 --- a/deps/icu-small/source/i18n/unicode/currunit.h +++ b/deps/icu-small/source/i18n/unicode/currunit.h @@ -15,6 +15,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/measunit.h" @@ -94,7 +96,7 @@ class U_I18N_API CurrencyUnit: public MeasureUnit { * have the same class as returned by getDynamicClassID(). * @stable ICU 3.0 */ - virtual UObject* clone() const; + virtual CurrencyUnit* clone() const; /** * Destructor @@ -140,4 +142,7 @@ inline const char16_t* CurrencyUnit::getISOCurrency() const { U_NAMESPACE_END #endif // !UCONFIG_NO_FORMATTING + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __CURRENCYUNIT_H__ diff --git a/deps/icu-small/source/i18n/unicode/datefmt.h b/deps/icu-small/source/i18n/unicode/datefmt.h index 13c63d937675ea..21217e567acf7d 100644 --- a/deps/icu-small/source/i18n/unicode/datefmt.h +++ b/deps/icu-small/source/i18n/unicode/datefmt.h @@ -23,6 +23,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/udat.h" @@ -221,6 +223,14 @@ class U_I18N_API DateFormat : public Format { */ virtual ~DateFormat(); + /** + * Clones this object polymorphically. + * The caller owns the result and should delete it when done. + * @return clone, or nullptr if an error occurred + * @stable ICU 2.0 + */ + virtual DateFormat* clone() const = 0; + /** * Equality operator. Returns true if the two formats have the same behavior. * @stable ICU 2.0 @@ -953,5 +963,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _DATEFMT //eof diff --git a/deps/icu-small/source/i18n/unicode/dcfmtsym.h b/deps/icu-small/source/i18n/unicode/dcfmtsym.h index 55e3d8a6b3b5ec..e1e0ab6b08c523 100644 --- a/deps/icu-small/source/i18n/unicode/dcfmtsym.h +++ b/deps/icu-small/source/i18n/unicode/dcfmtsym.h @@ -28,10 +28,12 @@ #define DCFMTSYM_H #include "unicode/utypes.h" -#include "unicode/uchar.h" + +#if U_SHOW_CPLUSPLUS_API #if !UCONFIG_NO_FORMATTING +#include "unicode/uchar.h" #include "unicode/uobject.h" #include "unicode/locid.h" #include "unicode/numsys.h" @@ -455,13 +457,11 @@ class U_I18N_API DecimalFormatSymbols : public UObject { * to non-resource bundle strings, * then regular UnicodeString copies must be used instead of fastCopyFrom(). * - * @internal */ UnicodeString fSymbols[kFormatSymbolCount]; /** * Non-symbol variable for getConstSymbol(). Always empty. - * @internal */ UnicodeString fNoSymbol; @@ -582,5 +582,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _DCFMTSYM //eof diff --git a/deps/icu-small/source/i18n/unicode/decimfmt.h b/deps/icu-small/source/i18n/unicode/decimfmt.h index 097a38fb88f6b2..e539b9af233ccb 100644 --- a/deps/icu-small/source/i18n/unicode/decimfmt.h +++ b/deps/icu-small/source/i18n/unicode/decimfmt.h @@ -28,6 +28,9 @@ #define DECIMFMT_H #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Compatibility APIs for decimal formatting. @@ -896,7 +899,7 @@ class U_I18N_API DecimalFormat : public NumberFormat { * @return a polymorphic copy of this DecimalFormat. * @stable ICU 2.0 */ - Format* clone(void) const U_OVERRIDE; + DecimalFormat* clone() const U_OVERRIDE; /** * Return true if the given Format objects are semantically equal. @@ -1331,7 +1334,6 @@ class U_I18N_API DecimalFormat : public NumberFormat { */ virtual void setMultiplier(int32_t newValue); -#ifndef U_HIDE_DRAFT_API /** * Gets the power of ten by which number should be multiplied before formatting, which * can be combined with setMultiplier() to multiply by any arbitrary decimal value. @@ -1342,7 +1344,7 @@ class U_I18N_API DecimalFormat : public NumberFormat { * This method is analogous to UNUM_SCALE in getAttribute. * * @return the current value of the power-of-ten multiplier. - * @draft ICU 62 + * @stable ICU 62 */ int32_t getMultiplierScale(void) const; @@ -1363,10 +1365,9 @@ class U_I18N_API DecimalFormat : public NumberFormat { * This method is analogous to UNUM_SCALE in setAttribute. * * @param newValue the new value of the power-of-ten multiplier. - * @draft ICU 62 + * @stable ICU 62 */ void setMultiplierScale(int32_t newValue); -#endif /* U_HIDE_DRAFT_API */ /** * Get the rounding increment. @@ -2020,12 +2021,14 @@ class U_I18N_API DecimalFormat : public NumberFormat { */ void setCurrency(const char16_t* theCurrency, UErrorCode& ec) U_OVERRIDE; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Sets the currency used to display currency amounts. See * setCurrency(const char16_t*, UErrorCode&). * @deprecated ICU 3.0. Use setCurrency(const char16_t*, UErrorCode&). */ virtual void setCurrency(const char16_t* theCurrency); +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Sets the `Currency Usage` object used to display currency. @@ -2113,22 +2116,6 @@ class U_I18N_API DecimalFormat : public NumberFormat { const number::LocalizedNumberFormatter* toNumberFormatter(UErrorCode& status) const; #endif /* U_HIDE_DRAFT_API */ -#ifndef U_HIDE_DEPRECATED_API - /** - * Deprecated: Like {@link #toNumberFormatter(UErrorCode&) const}, - * but does not take an error code. - * - * The new signature should be used in case an error occurs while returning the - * LocalizedNumberFormatter. - * - * This old signature will be removed in ICU 65. - * - * @return A reference to an internal object. - * @deprecated ICU 64 - */ - const number::LocalizedNumberFormatter& toNumberFormatter() const; -#endif /* U_HIDE_DEPRECATED_API */ - /** * Return the class ID for this class. This is useful only for * comparing to a return value from getDynamicClassID(). For example: @@ -2216,5 +2203,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _DECIMFMT //eof diff --git a/deps/icu-small/source/i18n/unicode/dtfmtsym.h b/deps/icu-small/source/i18n/unicode/dtfmtsym.h index ed7c1898465e5d..f9ec88272b2b5c 100644 --- a/deps/icu-small/source/i18n/unicode/dtfmtsym.h +++ b/deps/icu-small/source/i18n/unicode/dtfmtsym.h @@ -22,6 +22,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/calendar.h" @@ -1011,5 +1013,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _DTFMTSYM //eof diff --git a/deps/icu-small/source/i18n/unicode/dtitvfmt.h b/deps/icu-small/source/i18n/unicode/dtitvfmt.h index 42d77d041f8b28..23fc02e2a7b16b 100644 --- a/deps/icu-small/source/i18n/unicode/dtitvfmt.h +++ b/deps/icu-small/source/i18n/unicode/dtitvfmt.h @@ -16,6 +16,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Format and parse date interval in a language-independent manner. @@ -432,7 +434,7 @@ class U_I18N_API DateIntervalFormat : public Format { * @return A copy of the object. * @stable ICU 4.0 */ - virtual Format* clone(void) const; + virtual DateIntervalFormat* clone() const; /** * Return true if the given Format objects are semantically equal. Objects @@ -1151,5 +1153,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _DTITVFMT_H__ //eof diff --git a/deps/icu-small/source/i18n/unicode/dtitvinf.h b/deps/icu-small/source/i18n/unicode/dtitvinf.h index 65f568c0700218..3c666231abd060 100644 --- a/deps/icu-small/source/i18n/unicode/dtitvinf.h +++ b/deps/icu-small/source/i18n/unicode/dtitvinf.h @@ -16,6 +16,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Date/Time interval patterns for formatting date/time interval @@ -195,7 +197,7 @@ class U_I18N_API DateIntervalInfo U_FINAL : public UObject { * @return a copy of the object * @stable ICU 4.0 */ - virtual DateIntervalInfo* clone(void) const; + virtual DateIntervalInfo* clone() const; /** * Destructor. @@ -515,4 +517,6 @@ U_NAMESPACE_END #endif +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/dtptngen.h b/deps/icu-small/source/i18n/unicode/dtptngen.h index e50c01b4e360c9..a71938b31cf5d8 100644 --- a/deps/icu-small/source/i18n/unicode/dtptngen.h +++ b/deps/icu-small/source/i18n/unicode/dtptngen.h @@ -14,6 +14,10 @@ #ifndef __DTPTNGEN_H__ #define __DTPTNGEN_H__ +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/datefmt.h" #include "unicode/locid.h" #include "unicode/udat.h" @@ -279,7 +283,7 @@ class U_I18N_API DateTimePatternGenerator : public UObject { * * @param field The desired UDateTimePatternField, such as UDATPG_ERA_FIELD. * @param width The desired UDateTimePGDisplayWidth, such as UDATPG_ABBREVIATED. - * @return. The display name for field + * @return The display name for field * @stable ICU 61 */ UnicodeString getFieldDisplayName(UDateTimePatternField field, UDateTimePGDisplayWidth width) const; @@ -561,12 +565,10 @@ class U_I18N_API DateTimePatternGenerator : public UObject { void setDateTimeFromCalendar(const Locale& locale, UErrorCode& status); void setDecimalSymbols(const Locale& locale, UErrorCode& status); UDateTimePatternField getAppendFormatNumber(const char* field) const; -#ifndef U_HIDE_DRAFT_API - // The following three have to be U_HIDE_DRAFT_API (though private) because UDateTimePGDisplayWidth is + // Note for the next 3: UDateTimePGDisplayWidth is now stable ICU 61 UDateTimePatternField getFieldAndWidthIndices(const char* key, UDateTimePGDisplayWidth* widthP) const; void setFieldDisplayName(UDateTimePatternField field, UDateTimePGDisplayWidth width, const UnicodeString& value); UnicodeString& getMutableFieldDisplayName(UDateTimePatternField field, UDateTimePGDisplayWidth width); -#endif // U_HIDE_DRAFT_API void getAppendName(UDateTimePatternField field, UnicodeString& value); UnicodeString mapSkeletonMetacharacters(const UnicodeString& patternForm, int32_t* flags, UErrorCode& status); const UnicodeString* getBestRaw(DateTimeMatcher& source, int32_t includeMask, DistanceInfo* missingFields, UErrorCode& status, const PtnSkeleton** specifiedSkeletonPtr = 0); @@ -587,4 +589,6 @@ class U_I18N_API DateTimePatternGenerator : public UObject { U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/dtrule.h b/deps/icu-small/source/i18n/unicode/dtrule.h index 24dfc69de1df22..dba28bf2dc4ede 100644 --- a/deps/icu-small/source/i18n/unicode/dtrule.h +++ b/deps/icu-small/source/i18n/unicode/dtrule.h @@ -11,6 +11,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Rule for specifying date and time in an year @@ -126,7 +128,7 @@ class U_I18N_API DateTimeRule : public UObject { * @return A copy of the object. * @stable ICU 3.8 */ - DateTimeRule* clone(void) const; + DateTimeRule* clone() const; /** * Assignment operator. @@ -248,5 +250,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // DTRULE_H //eof diff --git a/deps/icu-small/source/i18n/unicode/fieldpos.h b/deps/icu-small/source/i18n/unicode/fieldpos.h index 78561a4de7d8b1..c9849d67a37d29 100644 --- a/deps/icu-small/source/i18n/unicode/fieldpos.h +++ b/deps/icu-small/source/i18n/unicode/fieldpos.h @@ -26,6 +26,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: FieldPosition identifies the fields in a formatted output. @@ -290,5 +292,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _FIELDPOS //eof diff --git a/deps/icu-small/source/i18n/unicode/fmtable.h b/deps/icu-small/source/i18n/unicode/fmtable.h index a06c23dc3bd532..7bec4f6906e7ee 100644 --- a/deps/icu-small/source/i18n/unicode/fmtable.h +++ b/deps/icu-small/source/i18n/unicode/fmtable.h @@ -19,6 +19,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Formattable is a thin wrapper for primitive types used for formatting and parsing @@ -751,5 +753,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif //_FMTABLE //eof diff --git a/deps/icu-small/source/i18n/unicode/format.h b/deps/icu-small/source/i18n/unicode/format.h index e64cc1c6eb39b4..28a09159bde1ab 100644 --- a/deps/icu-small/source/i18n/unicode/format.h +++ b/deps/icu-small/source/i18n/unicode/format.h @@ -26,6 +26,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Base class for all formats. @@ -303,5 +305,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _FORMAT //eof diff --git a/deps/icu-small/source/i18n/unicode/formattedvalue.h b/deps/icu-small/source/i18n/unicode/formattedvalue.h index 2e24c8d99e624b..1b130bbdd9d44c 100644 --- a/deps/icu-small/source/i18n/unicode/formattedvalue.h +++ b/deps/icu-small/source/i18n/unicode/formattedvalue.h @@ -5,8 +5,10 @@ #define __FORMATTEDVALUE_H__ #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING -#ifndef U_HIDE_DRAFT_API #include "unicode/appendable.h" #include "unicode/fpositer.h" @@ -24,6 +26,10 @@ U_NAMESPACE_BEGIN */ +// The following cannot have #ifndef U_HIDE_DRAFT_API because +// class FormattedValue depends on it, and FormattedValue cannot be +// hidden becauseclass FormattedNumber (stable ICU 60) depends on it. +#ifndef U_FORCE_HIDE_DRAFT_API /** * Represents a span of a string containing a given field. * @@ -52,6 +58,7 @@ class U_I18N_API ConstrainedFieldPosition : public UMemory { /** @draft ICU 64 */ ~ConstrainedFieldPosition(); +#ifndef U_HIDE_DRAFT_API /** * Resets this ConstrainedFieldPosition to its initial state, as if it were newly created: * @@ -221,17 +228,23 @@ class U_I18N_API ConstrainedFieldPosition : public UMemory { int32_t field, int32_t start, int32_t limit); +#endif /* U_HIDE_DRAFT_API */ private: int64_t fContext = 0LL; int32_t fField = 0; int32_t fStart = 0; int32_t fLimit = 0; +#ifndef U_HIDE_DRAFT_API int32_t fCategory = UFIELD_CATEGORY_UNDEFINED; +#else /* U_HIDE_DRAFT_API */ + int32_t fCategory = 0; +#endif /* U_HIDE_DRAFT_API */ int8_t fConstraint = 0; }; - +// The following cannot have #ifndef U_HIDE_DRAFT_API because +// class FormattedNumber (stable ICU 60) depends on it. /** * An abstract formatted value: a string with associated field attributes. * Many formatters format to classes implementing FormattedValue. @@ -308,10 +321,12 @@ class U_I18N_API FormattedValue /* not : public UObject because this is an inter */ virtual UBool nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const = 0; }; - +#endif // U_FORCE_HIDE_DRAFT_API U_NAMESPACE_END -#endif /* U_HIDE_DRAFT_API */ #endif /* #if !UCONFIG_NO_FORMATTING */ + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __FORMATTEDVALUE_H__ diff --git a/deps/icu-small/source/i18n/unicode/fpositer.h b/deps/icu-small/source/i18n/unicode/fpositer.h index 81091f0ffad6b6..ba2a838315c7cb 100644 --- a/deps/icu-small/source/i18n/unicode/fpositer.h +++ b/deps/icu-small/source/i18n/unicode/fpositer.h @@ -19,6 +19,9 @@ #define FPOSITER_H #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" /** @@ -116,4 +119,6 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // FPOSITER_H diff --git a/deps/icu-small/source/i18n/unicode/gender.h b/deps/icu-small/source/i18n/unicode/gender.h index b7c31cb554a696..5ae111a3aa816a 100644 --- a/deps/icu-small/source/i18n/unicode/gender.h +++ b/deps/icu-small/source/i18n/unicode/gender.h @@ -25,6 +25,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/locid.h" @@ -114,5 +116,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _GENDER //eof diff --git a/deps/icu-small/source/i18n/unicode/gregocal.h b/deps/icu-small/source/i18n/unicode/gregocal.h index 1d881e0be76067..236bd003c160a6 100644 --- a/deps/icu-small/source/i18n/unicode/gregocal.h +++ b/deps/icu-small/source/i18n/unicode/gregocal.h @@ -28,6 +28,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/calendar.h" @@ -301,7 +303,7 @@ class U_I18N_API GregorianCalendar: public Calendar { * @return return a polymorphic copy of this calendar. * @stable ICU 2.0 */ - virtual Calendar* clone(void) const; + virtual GregorianCalendar* clone() const; /** * Sets the GregorianCalendar change date. This is the point when the switch from @@ -350,6 +352,7 @@ class U_I18N_API GregorianCalendar: public Calendar { */ virtual UBool isEquivalentTo(const Calendar& other) const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * (Overrides Calendar) Rolls up or down by the given amount in the specified field. * For more information, see the documentation for Calendar::roll(). @@ -362,6 +365,7 @@ class U_I18N_API GregorianCalendar: public Calendar { * @deprecated ICU 2.6. Use roll(UCalendarDateFields field, int32_t amount, UErrorCode& status) instead. */ virtual void roll(EDateFields field, int32_t amount, UErrorCode& status); +#endif // U_FORCE_HIDE_DEPRECATED_API /** * (Overrides Calendar) Rolls up or down by the given amount in the specified field. @@ -774,5 +778,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _GREGOCAL //eof diff --git a/deps/icu-small/source/i18n/unicode/listformatter.h b/deps/icu-small/source/i18n/unicode/listformatter.h index 9ce8ec8617ce80..88fc46cf37b2a3 100644 --- a/deps/icu-small/source/i18n/unicode/listformatter.h +++ b/deps/icu-small/source/i18n/unicode/listformatter.h @@ -21,6 +21,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #include "unicode/unistr.h" #include "unicode/locid.h" #include "unicode/formattedvalue.h" @@ -237,7 +239,7 @@ class U_I18N_API ListFormatter : public UObject{ UnicodeString& format(const UnicodeString items[], int32_t n_items, UnicodeString & appendTo, FieldPositionIterator* posIter, UErrorCode& errorCode) const; -#endif /* U_HIDE_DRAFT_API */ +#endif // U_HIDE_DRAFT_API #if !UCONFIG_NO_FORMATTING #ifndef U_HIDE_DRAFT_API @@ -298,4 +300,6 @@ class U_I18N_API ListFormatter : public UObject{ U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __LISTFORMATTER_H__ diff --git a/deps/icu-small/source/i18n/unicode/measfmt.h b/deps/icu-small/source/i18n/unicode/measfmt.h index d518665e1448b5..8f73de87fa55d6 100644 --- a/deps/icu-small/source/i18n/unicode/measfmt.h +++ b/deps/icu-small/source/i18n/unicode/measfmt.h @@ -15,6 +15,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/format.h" @@ -151,7 +153,7 @@ class U_I18N_API MeasureFormat : public Format { * Clones this object polymorphically. * @stable ICU 53 */ - virtual Format *clone() const; + virtual MeasureFormat *clone() const; /** * Formats object to produce a string. @@ -163,6 +165,7 @@ class U_I18N_API MeasureFormat : public Format { FieldPosition &pos, UErrorCode &status) const; +#ifndef U_FORCE_HIDE_DRAFT_API /** * Parse a string to produce an object. This implementation sets * status to U_UNSUPPORTED_ERROR. @@ -173,6 +176,7 @@ class U_I18N_API MeasureFormat : public Format { const UnicodeString &source, Formattable &reslt, ParsePosition &pos) const; +#endif // U_FORCE_HIDE_DRAFT_API /** * Formats measure objects to produce a string. An example of such a @@ -382,17 +386,12 @@ class U_I18N_API MeasureFormat : public Format { int32_t bitMap, // 1=hour set, 2=minute set, 4=second set UnicodeString &appendTo, UErrorCode &status) const; - - UnicodeString &formatNumeric( - UDate date, - const DateFormat &dateFmt, - UDateFormatField smallestField, - const Formattable &smallestAmount, - UnicodeString &appendTo, - UErrorCode &status) const; }; U_NAMESPACE_END #endif // #if !UCONFIG_NO_FORMATTING + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // #ifndef MEASUREFORMAT_H diff --git a/deps/icu-small/source/i18n/unicode/measunit.h b/deps/icu-small/source/i18n/unicode/measunit.h index d8e3c73956f9c3..08f337cb5bb630 100644 --- a/deps/icu-small/source/i18n/unicode/measunit.h +++ b/deps/icu-small/source/i18n/unicode/measunit.h @@ -15,6 +15,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/unistr.h" @@ -62,7 +64,7 @@ class U_I18N_API MeasureUnit: public UObject { * have the same class as returned by getDynamicClassID(). * @stable ICU 3.0 */ - virtual UObject* clone() const; + virtual MeasureUnit* clone() const; /** * Destructor @@ -604,16 +606,14 @@ class U_I18N_API MeasureUnit: public UObject { static MeasureUnit getPartPerMillion(); #endif /* U_HIDE_DRAFT_API */ -#ifndef U_HIDE_DRAFT_API /** * Returns by pointer, unit of concentr: percent. * Caller owns returned value and must free it. * Also see {@link #getPercent()}. * @param status ICU error code. - * @draft ICU 63 + * @stable ICU 63 */ static MeasureUnit *createPercent(UErrorCode &status); -#endif /* U_HIDE_DRAFT_API */ #ifndef U_HIDE_DRAFT_API /** @@ -624,16 +624,14 @@ class U_I18N_API MeasureUnit: public UObject { static MeasureUnit getPercent(); #endif /* U_HIDE_DRAFT_API */ -#ifndef U_HIDE_DRAFT_API /** * Returns by pointer, unit of concentr: permille. * Caller owns returned value and must free it. * Also see {@link #getPermille()}. * @param status ICU error code. - * @draft ICU 63 + * @stable ICU 63 */ static MeasureUnit *createPermille(UErrorCode &status); -#endif /* U_HIDE_DRAFT_API */ #ifndef U_HIDE_DRAFT_API /** @@ -878,16 +876,14 @@ class U_I18N_API MeasureUnit: public UObject { static MeasureUnit getMegabyte(); #endif /* U_HIDE_DRAFT_API */ -#ifndef U_HIDE_DRAFT_API /** * Returns by pointer, unit of digital: petabyte. * Caller owns returned value and must free it. * Also see {@link #getPetabyte()}. * @param status ICU error code. - * @draft ICU 63 + * @stable ICU 63 */ static MeasureUnit *createPetabyte(UErrorCode &status); -#endif /* U_HIDE_DRAFT_API */ #ifndef U_HIDE_DRAFT_API /** @@ -979,9 +975,7 @@ class U_I18N_API MeasureUnit: public UObject { * @draft ICU 64 */ static MeasureUnit *createDayPerson(UErrorCode &status); -#endif /* U_HIDE_DRAFT_API */ -#ifndef U_HIDE_DRAFT_API /** * Returns by value, unit of duration: day-person. * Also see {@link #createDayPerson()}. @@ -990,6 +984,24 @@ class U_I18N_API MeasureUnit: public UObject { static MeasureUnit getDayPerson(); #endif /* U_HIDE_DRAFT_API */ +#ifndef U_HIDE_DRAFT_API + /** + * Returns by pointer, unit of duration: decade. + * Caller owns returned value and must free it. + * Also see {@link #getDecade()}. + * @param status ICU error code. + * @draft ICU 65 + */ + static MeasureUnit *createDecade(UErrorCode &status); + + /** + * Returns by value, unit of duration: decade. + * Also see {@link #createDecade()}. + * @draft ICU 65 + */ + static MeasureUnit getDecade(); +#endif /* U_HIDE_DRAFT_API */ + /** * Returns by pointer, unit of duration: hour. * Caller owns returned value and must free it. @@ -1089,9 +1101,7 @@ class U_I18N_API MeasureUnit: public UObject { * @draft ICU 64 */ static MeasureUnit *createMonthPerson(UErrorCode &status); -#endif /* U_HIDE_DRAFT_API */ -#ifndef U_HIDE_DRAFT_API /** * Returns by value, unit of duration: month-person. * Also see {@link #createMonthPerson()}. @@ -1163,9 +1173,7 @@ class U_I18N_API MeasureUnit: public UObject { * @draft ICU 64 */ static MeasureUnit *createWeekPerson(UErrorCode &status); -#endif /* U_HIDE_DRAFT_API */ -#ifndef U_HIDE_DRAFT_API /** * Returns by value, unit of duration: week-person. * Also see {@link #createWeekPerson()}. @@ -1201,9 +1209,7 @@ class U_I18N_API MeasureUnit: public UObject { * @draft ICU 64 */ static MeasureUnit *createYearPerson(UErrorCode &status); -#endif /* U_HIDE_DRAFT_API */ -#ifndef U_HIDE_DRAFT_API /** * Returns by value, unit of duration: year-person. * Also see {@link #createYearPerson()}. @@ -1428,6 +1434,24 @@ class U_I18N_API MeasureUnit: public UObject { static MeasureUnit getKilowattHour(); #endif /* U_HIDE_DRAFT_API */ +#ifndef U_HIDE_DRAFT_API + /** + * Returns by pointer, unit of energy: therm-us. + * Caller owns returned value and must free it. + * Also see {@link #getThermUs()}. + * @param status ICU error code. + * @draft ICU 65 + */ + static MeasureUnit *createThermUs(UErrorCode &status); + + /** + * Returns by value, unit of energy: therm-us. + * Also see {@link #createThermUs()}. + * @draft ICU 65 + */ + static MeasureUnit getThermUs(); +#endif /* U_HIDE_DRAFT_API */ + #ifndef U_HIDE_DRAFT_API /** * Returns by pointer, unit of force: newton. @@ -1536,6 +1560,132 @@ class U_I18N_API MeasureUnit: public UObject { static MeasureUnit getMegahertz(); #endif /* U_HIDE_DRAFT_API */ +#ifndef U_HIDE_DRAFT_API + /** + * Returns by pointer, unit of graphics: dot-per-centimeter. + * Caller owns returned value and must free it. + * Also see {@link #getDotPerCentimeter()}. + * @param status ICU error code. + * @draft ICU 65 + */ + static MeasureUnit *createDotPerCentimeter(UErrorCode &status); + + /** + * Returns by value, unit of graphics: dot-per-centimeter. + * Also see {@link #createDotPerCentimeter()}. + * @draft ICU 65 + */ + static MeasureUnit getDotPerCentimeter(); +#endif /* U_HIDE_DRAFT_API */ + +#ifndef U_HIDE_DRAFT_API + /** + * Returns by pointer, unit of graphics: dot-per-inch. + * Caller owns returned value and must free it. + * Also see {@link #getDotPerInch()}. + * @param status ICU error code. + * @draft ICU 65 + */ + static MeasureUnit *createDotPerInch(UErrorCode &status); + + /** + * Returns by value, unit of graphics: dot-per-inch. + * Also see {@link #createDotPerInch()}. + * @draft ICU 65 + */ + static MeasureUnit getDotPerInch(); +#endif /* U_HIDE_DRAFT_API */ + +#ifndef U_HIDE_DRAFT_API + /** + * Returns by pointer, unit of graphics: em. + * Caller owns returned value and must free it. + * Also see {@link #getEm()}. + * @param status ICU error code. + * @draft ICU 65 + */ + static MeasureUnit *createEm(UErrorCode &status); + + /** + * Returns by value, unit of graphics: em. + * Also see {@link #createEm()}. + * @draft ICU 65 + */ + static MeasureUnit getEm(); +#endif /* U_HIDE_DRAFT_API */ + +#ifndef U_HIDE_DRAFT_API + /** + * Returns by pointer, unit of graphics: megapixel. + * Caller owns returned value and must free it. + * Also see {@link #getMegapixel()}. + * @param status ICU error code. + * @draft ICU 65 + */ + static MeasureUnit *createMegapixel(UErrorCode &status); + + /** + * Returns by value, unit of graphics: megapixel. + * Also see {@link #createMegapixel()}. + * @draft ICU 65 + */ + static MeasureUnit getMegapixel(); +#endif /* U_HIDE_DRAFT_API */ + +#ifndef U_HIDE_DRAFT_API + /** + * Returns by pointer, unit of graphics: pixel. + * Caller owns returned value and must free it. + * Also see {@link #getPixel()}. + * @param status ICU error code. + * @draft ICU 65 + */ + static MeasureUnit *createPixel(UErrorCode &status); + + /** + * Returns by value, unit of graphics: pixel. + * Also see {@link #createPixel()}. + * @draft ICU 65 + */ + static MeasureUnit getPixel(); +#endif /* U_HIDE_DRAFT_API */ + +#ifndef U_HIDE_DRAFT_API + /** + * Returns by pointer, unit of graphics: pixel-per-centimeter. + * Caller owns returned value and must free it. + * Also see {@link #getPixelPerCentimeter()}. + * @param status ICU error code. + * @draft ICU 65 + */ + static MeasureUnit *createPixelPerCentimeter(UErrorCode &status); + + /** + * Returns by value, unit of graphics: pixel-per-centimeter. + * Also see {@link #createPixelPerCentimeter()}. + * @draft ICU 65 + */ + static MeasureUnit getPixelPerCentimeter(); +#endif /* U_HIDE_DRAFT_API */ + +#ifndef U_HIDE_DRAFT_API + /** + * Returns by pointer, unit of graphics: pixel-per-inch. + * Caller owns returned value and must free it. + * Also see {@link #getPixelPerInch()}. + * @param status ICU error code. + * @draft ICU 65 + */ + static MeasureUnit *createPixelPerInch(UErrorCode &status); + + /** + * Returns by value, unit of graphics: pixel-per-inch. + * Also see {@link #createPixelPerInch()}. + * @draft ICU 65 + */ + static MeasureUnit getPixelPerInch(); +#endif /* U_HIDE_DRAFT_API */ + /** * Returns by pointer, unit of length: astronomical-unit. * Caller owns returned value and must free it. @@ -2310,16 +2460,14 @@ class U_I18N_API MeasureUnit: public UObject { static MeasureUnit getWatt(); #endif /* U_HIDE_DRAFT_API */ -#ifndef U_HIDE_DRAFT_API /** * Returns by pointer, unit of pressure: atmosphere. * Caller owns returned value and must free it. * Also see {@link #getAtmosphere()}. * @param status ICU error code. - * @draft ICU 63 + * @stable ICU 63 */ static MeasureUnit *createAtmosphere(UErrorCode &status); -#endif /* U_HIDE_DRAFT_API */ #ifndef U_HIDE_DRAFT_API /** @@ -2330,6 +2478,24 @@ class U_I18N_API MeasureUnit: public UObject { static MeasureUnit getAtmosphere(); #endif /* U_HIDE_DRAFT_API */ +#ifndef U_HIDE_DRAFT_API + /** + * Returns by pointer, unit of pressure: bar. + * Caller owns returned value and must free it. + * Also see {@link #getBar()}. + * @param status ICU error code. + * @draft ICU 65 + */ + static MeasureUnit *createBar(UErrorCode &status); + + /** + * Returns by value, unit of pressure: bar. + * Also see {@link #createBar()}. + * @draft ICU 65 + */ + static MeasureUnit getBar(); +#endif /* U_HIDE_DRAFT_API */ + /** * Returns by pointer, unit of pressure: hectopascal. * Caller owns returned value and must free it. @@ -2438,6 +2604,24 @@ class U_I18N_API MeasureUnit: public UObject { static MeasureUnit getMillimeterOfMercury(); #endif /* U_HIDE_DRAFT_API */ +#ifndef U_HIDE_DRAFT_API + /** + * Returns by pointer, unit of pressure: pascal. + * Caller owns returned value and must free it. + * Also see {@link #getPascal()}. + * @param status ICU error code. + * @draft ICU 65 + */ + static MeasureUnit *createPascal(UErrorCode &status); + + /** + * Returns by value, unit of pressure: pascal. + * Also see {@link #createPascal()}. + * @draft ICU 65 + */ + static MeasureUnit getPascal(); +#endif /* U_HIDE_DRAFT_API */ + /** * Returns by pointer, unit of pressure: pound-per-square-inch. * Caller owns returned value and must free it. @@ -3164,4 +3348,7 @@ class U_I18N_API MeasureUnit: public UObject { U_NAMESPACE_END #endif // !UNCONFIG_NO_FORMATTING + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __MEASUREUNIT_H__ diff --git a/deps/icu-small/source/i18n/unicode/measure.h b/deps/icu-small/source/i18n/unicode/measure.h index 71438d5c856b78..a15173d739d94f 100644 --- a/deps/icu-small/source/i18n/unicode/measure.h +++ b/deps/icu-small/source/i18n/unicode/measure.h @@ -15,6 +15,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: MeasureUnit object. @@ -72,7 +74,7 @@ class U_I18N_API Measure: public UObject { * have the same class as returned by getDynamicClassID(). * @stable ICU 3.0 */ - virtual UObject* clone() const; + virtual Measure* clone() const; /** * Destructor @@ -158,4 +160,7 @@ inline const MeasureUnit& Measure::getUnit() const { U_NAMESPACE_END #endif // !UCONFIG_NO_FORMATTING + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __MEASURE_H__ diff --git a/deps/icu-small/source/i18n/unicode/msgfmt.h b/deps/icu-small/source/i18n/unicode/msgfmt.h index 8e1bf9b45f9184..99b0eaeec1dcd8 100644 --- a/deps/icu-small/source/i18n/unicode/msgfmt.h +++ b/deps/icu-small/source/i18n/unicode/msgfmt.h @@ -21,6 +21,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Formats messages in a language-neutral way. @@ -184,7 +186,7 @@ class NumberFormat; * argSkeletonText * NumberFormatter::forSkeleton(argSkeletonText, status).locale(getLocale()).toFormat(status) * - * date + * date * (none) * DateFormat.createDateInstance(kDefault, getLocale(), status) * @@ -418,7 +420,7 @@ class U_I18N_API MessageFormat : public Format { * result and should delete it when done. * @stable ICU 2.0 */ - virtual Format* clone(void) const; + virtual MessageFormat* clone() const; /** * Returns true if the given Format objects are semantically equal. @@ -1087,7 +1089,7 @@ class U_I18N_API MessageFormat : public Format { class U_I18N_API DummyFormat : public Format { public: virtual UBool operator==(const Format&) const; - virtual Format* clone() const; + virtual DummyFormat* clone() const; virtual UnicodeString& format(const Formattable& obj, UnicodeString& appendTo, UErrorCode& status) const; @@ -1111,5 +1113,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _MSGFMT //eof diff --git a/deps/icu-small/source/i18n/unicode/nounit.h b/deps/icu-small/source/i18n/unicode/nounit.h index 879849b16bd8e0..61b5c16ee3955b 100644 --- a/deps/icu-small/source/i18n/unicode/nounit.h +++ b/deps/icu-small/source/i18n/unicode/nounit.h @@ -12,11 +12,14 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING -#ifndef U_HIDE_DRAFT_API #include "unicode/measunit.h" +#ifndef U_HIDE_DRAFT_API + /** * \file * \brief C++ API: units for percent and permille @@ -72,7 +75,7 @@ class U_I18N_API NoUnit: public MeasureUnit { * have the same class as returned by getDynamicClassID(). * @draft ICU 60 */ - virtual UObject* clone() const; + virtual NoUnit* clone() const; /** * Returns a unique class ID for this object POLYMORPHICALLY. @@ -106,6 +109,8 @@ U_NAMESPACE_END #endif /* U_HIDE_DRAFT_API */ #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __NOUNIT_H__ //eof // diff --git a/deps/icu-small/source/i18n/unicode/numberformatter.h b/deps/icu-small/source/i18n/unicode/numberformatter.h index e9fe39a9316665..6d48f18ab55a4d 100644 --- a/deps/icu-small/source/i18n/unicode/numberformatter.h +++ b/deps/icu-small/source/i18n/unicode/numberformatter.h @@ -1,15 +1,19 @@ // © 2017 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html +#ifndef __NUMBERFORMATTER_H__ +#define __NUMBERFORMATTER_H__ + #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING -#ifndef __NUMBERFORMATTER_H__ -#define __NUMBERFORMATTER_H__ #include "unicode/appendable.h" -#include "unicode/dcfmtsym.h" +#include "unicode/bytestream.h" #include "unicode/currunit.h" +#include "unicode/dcfmtsym.h" #include "unicode/fieldpos.h" #include "unicode/formattedvalue.h" #include "unicode/fpositer.h" @@ -22,8 +26,6 @@ #include "unicode/unumberformatter.h" #include "unicode/uobject.h" -#ifndef U_HIDE_DRAFT_API - /** * \file * \brief C++ API: Library for localized number formatting introduced in ICU 60. @@ -85,6 +87,7 @@ U_NAMESPACE_BEGIN // Forward declarations: class IFixedDecimal; class FieldPositionIteratorHandler; +class FormattedStringBuilder; namespace numparse { namespace impl { @@ -142,7 +145,6 @@ class MultiplierProducer; class RoundingImpl; class ScientificHandler; class Modifier; -class NumberStringBuilder; class AffixPatternProvider; class NumberPropertyMapper; struct DecimalFormatProperties; @@ -167,21 +169,21 @@ void touchRangeLocales(impl::RangeMacroProps& macros); /** * Extra name reserved in case it is needed in the future. * - * @draft ICU 63 + * @stable ICU 63 */ typedef Notation CompactNotation; /** * Extra name reserved in case it is needed in the future. * - * @draft ICU 63 + * @stable ICU 63 */ typedef Notation SimpleNotation; /** * A class that defines the notation style to be used when formatting numbers in NumberFormatter. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API Notation : public UMemory { public: @@ -207,7 +209,7 @@ class U_I18N_API Notation : public UMemory { * * * @return A ScientificNotation for chaining or passing to the NumberFormatter notation() setter. - * @draft ICU 60 + * @stable ICU 60 */ static ScientificNotation scientific(); @@ -231,7 +233,7 @@ class U_I18N_API Notation : public UMemory { * * * @return A ScientificNotation for chaining or passing to the NumberFormatter notation() setter. - * @draft ICU 60 + * @stable ICU 60 */ static ScientificNotation engineering(); @@ -274,7 +276,7 @@ class U_I18N_API Notation : public UMemory { * * * @return A CompactNotation for passing to the NumberFormatter notation() setter. - * @draft ICU 60 + * @stable ICU 60 */ static CompactNotation compactShort(); @@ -298,7 +300,7 @@ class U_I18N_API Notation : public UMemory { * * * @return A CompactNotation for passing to the NumberFormatter notation() setter. - * @draft ICU 60 + * @stable ICU 60 */ static CompactNotation compactLong(); @@ -324,7 +326,7 @@ class U_I18N_API Notation : public UMemory { * * * @return A SimpleNotation for passing to the NumberFormatter notation() setter. - * @draft ICU 60 + * @stable ICU 60 */ static SimpleNotation simple(); @@ -391,7 +393,7 @@ class U_I18N_API Notation : public UMemory { *

* To create a ScientificNotation, use one of the factory methods in {@link Notation}. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API ScientificNotation : public Notation { public: @@ -406,7 +408,7 @@ class U_I18N_API ScientificNotation : public Notation { * @param minExponentDigits * The minimum number of digits to show in the exponent. * @return A ScientificNotation, for chaining. - * @draft ICU 60 + * @stable ICU 60 */ ScientificNotation withMinExponentDigits(int32_t minExponentDigits) const; @@ -421,7 +423,7 @@ class U_I18N_API ScientificNotation : public Notation { * @param exponentSignDisplay * The strategy for displaying the sign in the exponent. * @return A ScientificNotation, for chaining. - * @draft ICU 60 + * @stable ICU 60 */ ScientificNotation withExponentSignDisplay(UNumberSignDisplay exponentSignDisplay) const; @@ -442,7 +444,7 @@ class U_I18N_API ScientificNotation : public Notation { /** * Extra name reserved in case it is needed in the future. * - * @draft ICU 63 + * @stable ICU 63 */ typedef Precision SignificantDigitsPrecision; @@ -452,7 +454,7 @@ typedef Precision SignificantDigitsPrecision; *

* To create a Precision, use one of the factory methods. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API Precision : public UMemory { @@ -472,7 +474,7 @@ class U_I18N_API Precision : public UMemory { * http://www.serpentine.com/blog/2011/06/29/here-be-dragons-advances-in-problems-you-didnt-even-know-you-had/ * * @return A Precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static Precision unlimited(); @@ -480,7 +482,7 @@ class U_I18N_API Precision : public UMemory { * Show numbers rounded if necessary to the nearest integer. * * @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static FractionPrecision integer(); @@ -509,7 +511,7 @@ class U_I18N_API Precision : public UMemory { * The minimum and maximum number of numerals to display after the decimal separator (rounding if too * long or padding with zeros if too short). * @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static FractionPrecision fixedFraction(int32_t minMaxFractionPlaces); @@ -524,7 +526,7 @@ class U_I18N_API Precision : public UMemory { * The minimum number of numerals to display after the decimal separator (padding with zeros if * necessary). * @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static FractionPrecision minFraction(int32_t minFractionPlaces); @@ -536,7 +538,7 @@ class U_I18N_API Precision : public UMemory { * @param maxFractionPlaces * The maximum number of numerals to display after the decimal mark (rounding if necessary). * @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static FractionPrecision maxFraction(int32_t maxFractionPlaces); @@ -551,7 +553,7 @@ class U_I18N_API Precision : public UMemory { * @param maxFractionPlaces * The maximum number of numerals to display after the decimal separator (rounding if necessary). * @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static FractionPrecision minMaxFraction(int32_t minFractionPlaces, int32_t maxFractionPlaces); @@ -566,7 +568,7 @@ class U_I18N_API Precision : public UMemory { * The minimum and maximum number of significant digits to display (rounding if too long or padding with * zeros if too short). * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 62 + * @stable ICU 62 */ static SignificantDigitsPrecision fixedSignificantDigits(int32_t minMaxSignificantDigits); @@ -580,7 +582,7 @@ class U_I18N_API Precision : public UMemory { * @param minSignificantDigits * The minimum number of significant digits to display (padding with zeros if too short). * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 62 + * @stable ICU 62 */ static SignificantDigitsPrecision minSignificantDigits(int32_t minSignificantDigits); @@ -590,7 +592,7 @@ class U_I18N_API Precision : public UMemory { * @param maxSignificantDigits * The maximum number of significant digits to display (rounding if too long). * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 62 + * @stable ICU 62 */ static SignificantDigitsPrecision maxSignificantDigits(int32_t maxSignificantDigits); @@ -603,7 +605,7 @@ class U_I18N_API Precision : public UMemory { * @param maxSignificantDigits * The maximum number of significant digits to display (rounding if necessary). * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 62 + * @stable ICU 62 */ static SignificantDigitsPrecision minMaxSignificantDigits(int32_t minSignificantDigits, int32_t maxSignificantDigits); @@ -625,7 +627,7 @@ class U_I18N_API Precision : public UMemory { * @param roundingIncrement * The increment to which to round numbers. * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static IncrementPrecision increment(double roundingIncrement); @@ -644,7 +646,7 @@ class U_I18N_API Precision : public UMemory { * Either STANDARD (for digital transactions) or CASH (for transactions where the rounding increment may * be limited by the available denominations of cash or coins). * @return A CurrencyPrecision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ static CurrencyPrecision currency(UCurrencyUsage currencyUsage); @@ -771,7 +773,7 @@ class U_I18N_API Precision : public UMemory { *

* To create a FractionPrecision, use one of the factory methods on Precision. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API FractionPrecision : public Precision { public: @@ -789,7 +791,7 @@ class U_I18N_API FractionPrecision : public Precision { * @param minSignificantDigits * The number of significant figures to guarantee. * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ Precision withMinDigits(int32_t minSignificantDigits) const; @@ -808,7 +810,7 @@ class U_I18N_API FractionPrecision : public Precision { * @param maxSignificantDigits * Round the number to no more than this number of significant figures. * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ Precision withMaxDigits(int32_t maxSignificantDigits) const; @@ -827,7 +829,7 @@ class U_I18N_API FractionPrecision : public Precision { *

* To create a CurrencyPrecision, use one of the factory methods on Precision. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API CurrencyPrecision : public Precision { public: @@ -846,7 +848,7 @@ class U_I18N_API CurrencyPrecision : public Precision { * @param currency * The currency to associate with this rounding precision. * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ Precision withCurrency(const CurrencyUnit ¤cy) const; @@ -865,7 +867,7 @@ class U_I18N_API CurrencyPrecision : public Precision { *

* To create an IncrementPrecision, use one of the factory methods on Precision. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API IncrementPrecision : public Precision { public: @@ -882,7 +884,7 @@ class U_I18N_API IncrementPrecision : public Precision { * * @param minFrac The minimum number of digits after the decimal separator. * @return A precision for chaining or passing to the NumberFormatter precision() setter. - * @draft ICU 60 + * @stable ICU 60 */ Precision withMinFraction(int32_t minFrac) const; @@ -900,7 +902,7 @@ class U_I18N_API IncrementPrecision : public Precision { *

* To create an IntegerWidth, use one of the factory methods. * - * @draft ICU 60 + * @stable ICU 60 * @see NumberFormatter */ class U_I18N_API IntegerWidth : public UMemory { @@ -914,7 +916,7 @@ class U_I18N_API IntegerWidth : public UMemory { * @param minInt * The minimum number of places before the decimal separator. * @return An IntegerWidth for chaining or passing to the NumberFormatter integerWidth() setter. - * @draft ICU 60 + * @stable ICU 60 */ static IntegerWidth zeroFillTo(int32_t minInt); @@ -927,7 +929,7 @@ class U_I18N_API IntegerWidth : public UMemory { * The maximum number of places before the decimal separator. maxInt == -1 means no * truncation. * @return An IntegerWidth for passing to the NumberFormatter integerWidth() setter. - * @draft ICU 60 + * @stable ICU 60 */ IntegerWidth truncateAt(int32_t maxInt); @@ -994,7 +996,7 @@ class U_I18N_API IntegerWidth : public UMemory { *

* To create a Scale, use one of the factory methods. * - * @draft ICU 62 + * @stable ICU 62 */ class U_I18N_API Scale : public UMemory { public: @@ -1002,7 +1004,7 @@ class U_I18N_API Scale : public UMemory { * Do not change the value of numbers when formatting or parsing. * * @return A Scale to prevent any multiplication. - * @draft ICU 62 + * @stable ICU 62 */ static Scale none(); @@ -1014,7 +1016,7 @@ class U_I18N_API Scale : public UMemory { * * * @return A Scale for passing to the setter in NumberFormatter. - * @draft ICU 62 + * @stable ICU 62 */ static Scale powerOfTen(int32_t power); @@ -1028,7 +1030,7 @@ class U_I18N_API Scale : public UMemory { * Also see the version of this method that takes a double. * * @return A Scale for passing to the setter in NumberFormatter. - * @draft ICU 62 + * @stable ICU 62 */ static Scale byDecimal(StringPiece multiplicand); @@ -1038,7 +1040,7 @@ class U_I18N_API Scale : public UMemory { * This method takes a double; also see the version of this method that takes an exact decimal. * * @return A Scale for passing to the setter in NumberFormatter. - * @draft ICU 62 + * @stable ICU 62 */ static Scale byDouble(double multiplicand); @@ -1046,26 +1048,26 @@ class U_I18N_API Scale : public UMemory { * Multiply a number by both a power of ten and by an arbitrary double value. * * @return A Scale for passing to the setter in NumberFormatter. - * @draft ICU 62 + * @stable ICU 62 */ static Scale byDoubleAndPowerOfTen(double multiplicand, int32_t power); // We need a custom destructor for the DecNum, which means we need to declare // the copy/move constructor/assignment quartet. - /** @draft ICU 62 */ + /** @stable ICU 62 */ Scale(const Scale& other); - /** @draft ICU 62 */ + /** @stable ICU 62 */ Scale& operator=(const Scale& other); - /** @draft ICU 62 */ + /** @stable ICU 62 */ Scale(Scale&& src) U_NOEXCEPT; - /** @draft ICU 62 */ + /** @stable ICU 62 */ Scale& operator=(Scale&& src) U_NOEXCEPT; - /** @draft ICU 62 */ + /** @stable ICU 62 */ ~Scale(); #ifndef U_HIDE_INTERNAL_API @@ -1343,7 +1345,7 @@ class U_I18N_API Padder : public UMemory { } int32_t padAndApply(const impl::Modifier &mod1, const impl::Modifier &mod2, - impl::NumberStringBuilder &string, int32_t leftIndex, int32_t rightIndex, + FormattedStringBuilder &string, int32_t leftIndex, int32_t rightIndex, UErrorCode &status) const; // To allow MacroProps/MicroProps to initialize empty instances: @@ -1465,7 +1467,7 @@ class U_I18N_API NumberFormatterSettings { * The notation strategy to use. * @return The fluent chain. * @see Notation - * @draft ICU 60 + * @stable ICU 60 */ Derived notation(const Notation ¬ation) const &; @@ -1476,7 +1478,7 @@ class U_I18N_API NumberFormatterSettings { * The notation strategy to use. * @return The fluent chain. * @see #notation - * @draft ICU 62 + * @stable ICU 62 */ Derived notation(const Notation ¬ation) &&; @@ -1521,7 +1523,7 @@ class U_I18N_API NumberFormatterSettings { * @see Currency * @see NoUnit * @see #perUnit - * @draft ICU 60 + * @stable ICU 60 */ Derived unit(const icu::MeasureUnit &unit) const &; @@ -1532,7 +1534,7 @@ class U_I18N_API NumberFormatterSettings { * The unit to render. * @return The fluent chain. * @see #unit - * @draft ICU 62 + * @stable ICU 62 */ Derived unit(const icu::MeasureUnit &unit) &&; @@ -1547,7 +1549,7 @@ class U_I18N_API NumberFormatterSettings { * @return The fluent chain. * @see #unit * @see MeasureUnit - * @draft ICU 60 + * @stable ICU 60 */ Derived adoptUnit(icu::MeasureUnit *unit) const &; @@ -1558,7 +1560,7 @@ class U_I18N_API NumberFormatterSettings { * The unit to render. * @return The fluent chain. * @see #adoptUnit - * @draft ICU 62 + * @stable ICU 62 */ Derived adoptUnit(icu::MeasureUnit *unit) &&; @@ -1582,7 +1584,7 @@ class U_I18N_API NumberFormatterSettings { * The unit to render in the denominator. * @return The fluent chain * @see #unit - * @draft ICU 61 + * @stable ICU 61 */ Derived perUnit(const icu::MeasureUnit &perUnit) const &; @@ -1593,7 +1595,7 @@ class U_I18N_API NumberFormatterSettings { * The unit to render in the denominator. * @return The fluent chain. * @see #perUnit - * @draft ICU 62 + * @stable ICU 62 */ Derived perUnit(const icu::MeasureUnit &perUnit) &&; @@ -1608,7 +1610,7 @@ class U_I18N_API NumberFormatterSettings { * @return The fluent chain. * @see #perUnit * @see MeasureUnit - * @draft ICU 61 + * @stable ICU 61 */ Derived adoptPerUnit(icu::MeasureUnit *perUnit) const &; @@ -1619,7 +1621,7 @@ class U_I18N_API NumberFormatterSettings { * The unit to render in the denominator. * @return The fluent chain. * @see #adoptPerUnit - * @draft ICU 62 + * @stable ICU 62 */ Derived adoptPerUnit(icu::MeasureUnit *perUnit) &&; @@ -1651,7 +1653,7 @@ class U_I18N_API NumberFormatterSettings { * The rounding precision to use. * @return The fluent chain. * @see Precision - * @draft ICU 62 + * @stable ICU 62 */ Derived precision(const Precision& precision) const &; @@ -1662,7 +1664,7 @@ class U_I18N_API NumberFormatterSettings { * The rounding precision to use. * @return The fluent chain. * @see #precision - * @draft ICU 62 + * @stable ICU 62 */ Derived precision(const Precision& precision) &&; @@ -1682,7 +1684,7 @@ class U_I18N_API NumberFormatterSettings { * * @param roundingMode The rounding mode to use. * @return The fluent chain. - * @draft ICU 62 + * @stable ICU 62 */ Derived roundingMode(UNumberFormatRoundingMode roundingMode) const &; @@ -1692,7 +1694,7 @@ class U_I18N_API NumberFormatterSettings { * @param roundingMode The rounding mode to use. * @return The fluent chain. * @see #roundingMode - * @draft ICU 62 + * @stable ICU 62 */ Derived roundingMode(UNumberFormatRoundingMode roundingMode) &&; @@ -1721,7 +1723,7 @@ class U_I18N_API NumberFormatterSettings { * @param strategy * The grouping strategy to use. * @return The fluent chain. - * @draft ICU 61 + * @stable ICU 61 */ Derived grouping(UNumberGroupingStrategy strategy) const &; @@ -1732,7 +1734,7 @@ class U_I18N_API NumberFormatterSettings { * The grouping strategy to use. * @return The fluent chain. * @see #grouping - * @draft ICU 62 + * @stable ICU 62 */ Derived grouping(UNumberGroupingStrategy strategy) &&; @@ -1758,7 +1760,7 @@ class U_I18N_API NumberFormatterSettings { * The integer width to use. * @return The fluent chain. * @see IntegerWidth - * @draft ICU 60 + * @stable ICU 60 */ Derived integerWidth(const IntegerWidth &style) const &; @@ -1769,7 +1771,7 @@ class U_I18N_API NumberFormatterSettings { * The integer width to use. * @return The fluent chain. * @see #integerWidth - * @draft ICU 62 + * @stable ICU 62 */ Derived integerWidth(const IntegerWidth &style) &&; @@ -1811,7 +1813,7 @@ class U_I18N_API NumberFormatterSettings { * The DecimalFormatSymbols to use. * @return The fluent chain. * @see DecimalFormatSymbols - * @draft ICU 60 + * @stable ICU 60 */ Derived symbols(const DecimalFormatSymbols &symbols) const &; @@ -1822,7 +1824,7 @@ class U_I18N_API NumberFormatterSettings { * The DecimalFormatSymbols to use. * @return The fluent chain. * @see #symbols - * @draft ICU 62 + * @stable ICU 62 */ Derived symbols(const DecimalFormatSymbols &symbols) &&; @@ -1857,7 +1859,7 @@ class U_I18N_API NumberFormatterSettings { * The NumberingSystem to use. * @return The fluent chain. * @see NumberingSystem - * @draft ICU 60 + * @stable ICU 60 */ Derived adoptSymbols(NumberingSystem *symbols) const &; @@ -1868,7 +1870,7 @@ class U_I18N_API NumberFormatterSettings { * The NumberingSystem to use. * @return The fluent chain. * @see #adoptSymbols - * @draft ICU 62 + * @stable ICU 62 */ Derived adoptSymbols(NumberingSystem *symbols) &&; @@ -1895,7 +1897,7 @@ class U_I18N_API NumberFormatterSettings { * The width to use when rendering numbers. * @return The fluent chain * @see UNumberUnitWidth - * @draft ICU 60 + * @stable ICU 60 */ Derived unitWidth(UNumberUnitWidth width) const &; @@ -1906,7 +1908,7 @@ class U_I18N_API NumberFormatterSettings { * The width to use when rendering numbers. * @return The fluent chain. * @see #unitWidth - * @draft ICU 62 + * @stable ICU 62 */ Derived unitWidth(UNumberUnitWidth width) &&; @@ -1933,7 +1935,7 @@ class U_I18N_API NumberFormatterSettings { * The sign display strategy to use when rendering numbers. * @return The fluent chain * @see UNumberSignDisplay - * @draft ICU 60 + * @stable ICU 60 */ Derived sign(UNumberSignDisplay style) const &; @@ -1944,7 +1946,7 @@ class U_I18N_API NumberFormatterSettings { * The sign display strategy to use when rendering numbers. * @return The fluent chain. * @see #sign - * @draft ICU 62 + * @stable ICU 62 */ Derived sign(UNumberSignDisplay style) &&; @@ -1971,7 +1973,7 @@ class U_I18N_API NumberFormatterSettings { * The decimal separator display strategy to use when rendering numbers. * @return The fluent chain * @see UNumberDecimalSeparatorDisplay - * @draft ICU 60 + * @stable ICU 60 */ Derived decimal(UNumberDecimalSeparatorDisplay style) const &; @@ -1982,7 +1984,7 @@ class U_I18N_API NumberFormatterSettings { * The decimal separator display strategy to use when rendering numbers. * @return The fluent chain. * @see #decimal - * @draft ICU 62 + * @stable ICU 62 */ Derived decimal(UNumberDecimalSeparatorDisplay style) &&; @@ -2008,7 +2010,7 @@ class U_I18N_API NumberFormatterSettings { * @param scale * The scale to apply when rendering numbers. * @return The fluent chain - * @draft ICU 62 + * @stable ICU 62 */ Derived scale(const Scale &scale) const &; @@ -2019,7 +2021,7 @@ class U_I18N_API NumberFormatterSettings { * The scale to apply when rendering numbers. * @return The fluent chain. * @see #scale - * @draft ICU 62 + * @stable ICU 62 */ Derived scale(const Scale &scale) &&; @@ -2076,10 +2078,11 @@ class U_I18N_API NumberFormatterSettings { * behavior should produce the same skeleton. * * @return A number skeleton string with behavior corresponding to this number formatter. - * @draft ICU 62 + * @stable ICU 62 */ UnicodeString toSkeleton(UErrorCode& status) const; +#ifndef U_HIDE_DRAFT_API /** * Returns the current (Un)LocalizedNumberFormatter as a LocalPointer * wrapping a heap-allocated copy of the current object. @@ -2101,12 +2104,13 @@ class U_I18N_API NumberFormatterSettings { * @draft ICU 64 */ LocalPointer clone() &&; +#endif /* U_HIDE_DRAFT_API */ /** * Sets the UErrorCode if an error occurred in the fluent chain. * Preserves older error codes in the outErrorCode. * @return TRUE if U_FAILURE(outErrorCode) - * @draft ICU 60 + * @stable ICU 60 */ UBool copyErrorTo(UErrorCode &outErrorCode) const { if (U_FAILURE(outErrorCode)) { @@ -2139,7 +2143,7 @@ class U_I18N_API NumberFormatterSettings { * Instances of this class are immutable and thread-safe. * * @see NumberFormatter - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API UnlocalizedNumberFormatter : public NumberFormatterSettings, public UMemory { @@ -2152,7 +2156,7 @@ class U_I18N_API UnlocalizedNumberFormatter * @param locale * The locale to use when loading data for number formatting. * @return The fluent chain. - * @draft ICU 60 + * @stable ICU 60 */ LocalizedNumberFormatter locale(const icu::Locale &locale) const &; @@ -2163,40 +2167,40 @@ class U_I18N_API UnlocalizedNumberFormatter * The locale to use when loading data for number formatting. * @return The fluent chain. * @see #locale - * @draft ICU 62 + * @stable ICU 62 */ LocalizedNumberFormatter locale(const icu::Locale &locale) &&; /** * Default constructor: puts the formatter into a valid but undefined state. * - * @draft ICU 62 + * @stable ICU 62 */ UnlocalizedNumberFormatter() = default; /** * Returns a copy of this UnlocalizedNumberFormatter. - * @draft ICU 60 + * @stable ICU 60 */ UnlocalizedNumberFormatter(const UnlocalizedNumberFormatter &other); /** * Move constructor: * The source UnlocalizedNumberFormatter will be left in a valid but undefined state. - * @draft ICU 62 + * @stable ICU 62 */ UnlocalizedNumberFormatter(UnlocalizedNumberFormatter&& src) U_NOEXCEPT; /** * Copy assignment operator. - * @draft ICU 62 + * @stable ICU 62 */ UnlocalizedNumberFormatter& operator=(const UnlocalizedNumberFormatter& other); /** * Move assignment operator: * The source UnlocalizedNumberFormatter will be left in a valid but undefined state. - * @draft ICU 62 + * @stable ICU 62 */ UnlocalizedNumberFormatter& operator=(UnlocalizedNumberFormatter&& src) U_NOEXCEPT; @@ -2219,7 +2223,7 @@ class U_I18N_API UnlocalizedNumberFormatter * Instances of this class are immutable and thread-safe. * * @see NumberFormatter - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API LocalizedNumberFormatter : public NumberFormatterSettings, public UMemory { @@ -2233,7 +2237,7 @@ class U_I18N_API LocalizedNumberFormatter * @param status * Set to an ErrorCode if one occurred in the setter chain or during formatting. * @return A FormattedNumber object; call .toString() to get the string. - * @draft ICU 60 + * @stable ICU 60 */ FormattedNumber formatInt(int64_t value, UErrorCode &status) const; @@ -2246,7 +2250,7 @@ class U_I18N_API LocalizedNumberFormatter * @param status * Set to an ErrorCode if one occurred in the setter chain or during formatting. * @return A FormattedNumber object; call .toString() to get the string. - * @draft ICU 60 + * @stable ICU 60 */ FormattedNumber formatDouble(double value, UErrorCode &status) const; @@ -2262,7 +2266,7 @@ class U_I18N_API LocalizedNumberFormatter * @param status * Set to an ErrorCode if one occurred in the setter chain or during formatting. * @return A FormattedNumber object; call .toString() to get the string. - * @draft ICU 60 + * @stable ICU 60 */ FormattedNumber formatDecimal(StringPiece value, UErrorCode& status) const; @@ -2303,40 +2307,40 @@ class U_I18N_API LocalizedNumberFormatter * The caller owns the returned object and must delete it when finished. * * @return A Format wrapping this LocalizedNumberFormatter. - * @draft ICU 62 + * @stable ICU 62 */ Format* toFormat(UErrorCode& status) const; /** * Default constructor: puts the formatter into a valid but undefined state. * - * @draft ICU 62 + * @stable ICU 62 */ LocalizedNumberFormatter() = default; /** * Returns a copy of this LocalizedNumberFormatter. - * @draft ICU 60 + * @stable ICU 60 */ LocalizedNumberFormatter(const LocalizedNumberFormatter &other); /** * Move constructor: * The source LocalizedNumberFormatter will be left in a valid but undefined state. - * @draft ICU 62 + * @stable ICU 62 */ LocalizedNumberFormatter(LocalizedNumberFormatter&& src) U_NOEXCEPT; /** * Copy assignment operator. - * @draft ICU 62 + * @stable ICU 62 */ LocalizedNumberFormatter& operator=(const LocalizedNumberFormatter& other); /** * Move assignment operator: * The source LocalizedNumberFormatter will be left in a valid but undefined state. - * @draft ICU 62 + * @stable ICU 62 */ LocalizedNumberFormatter& operator=(LocalizedNumberFormatter&& src) U_NOEXCEPT; @@ -2360,7 +2364,7 @@ class U_I18N_API LocalizedNumberFormatter /** * Destruct this LocalizedNumberFormatter, cleaning up any memory it might own. - * @draft ICU 60 + * @stable ICU 60 */ ~LocalizedNumberFormatter(); @@ -2401,27 +2405,30 @@ class U_I18N_API LocalizedNumberFormatter * * Instances of this class are immutable and thread-safe. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API FormattedNumber : public UMemory, public FormattedValue { public: + // Default constructor cannot have #ifndef U_HIDE_DRAFT_API +#ifndef U_FORCE_HIDE_DRAFT_API /** * Default constructor; makes an empty FormattedNumber. * @draft ICU 64 */ FormattedNumber() : fData(nullptr), fErrorCode(U_INVALID_STATE_ERROR) {} +#endif // U_FORCE_HIDE_DRAFT_API /** * Move constructor: Leaves the source FormattedNumber in an undefined state. - * @draft ICU 62 + * @stable ICU 62 */ FormattedNumber(FormattedNumber&& src) U_NOEXCEPT; /** * Destruct an instance of FormattedNumber. - * @draft ICU 60 + * @stable ICU 60 */ virtual ~FormattedNumber() U_OVERRIDE; @@ -2433,7 +2440,7 @@ class U_I18N_API FormattedNumber : public UMemory, public FormattedValue { /** * Move assignment: Leaves the source FormattedNumber in an undefined state. - * @draft ICU 62 + * @stable ICU 62 */ FormattedNumber& operator=(FormattedNumber&& src) U_NOEXCEPT; @@ -2443,7 +2450,7 @@ class U_I18N_API FormattedNumber : public UMemory, public FormattedValue { * * For more information, see FormattedValue::toString() * - * @draft ICU 62 + * @stable ICU 62 */ UnicodeString toString(UErrorCode& status) const U_OVERRIDE; @@ -2457,7 +2464,7 @@ class U_I18N_API FormattedNumber : public UMemory, public FormattedValue { * * For more information, see FormattedValue::appendTo() * - * @draft ICU 62 + * @stable ICU 62 */ Appendable &appendTo(Appendable& appendable, UErrorCode& status) const U_OVERRIDE; @@ -2465,6 +2472,7 @@ class U_I18N_API FormattedNumber : public UMemory, public FormattedValue { /** @copydoc FormattedValue::nextPosition() */ UBool nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const U_OVERRIDE; +#ifndef U_HIDE_DRAFT_API /** * Determines the start (inclusive) and end (exclusive) indices of the next occurrence of the given * field in the output string. This allows you to determine the locations of, for example, @@ -2516,6 +2524,30 @@ class U_I18N_API FormattedNumber : public UMemory, public FormattedValue { * @see UNumberFormatFields */ void getAllFieldPositions(FieldPositionIterator &iterator, UErrorCode &status) const; +#endif /* U_HIDE_DRAFT_API */ + +#ifndef U_HIDE_DRAFT_API + /** + * Export the formatted number as a "numeric string" conforming to the + * syntax defined in the Decimal Arithmetic Specification, available at + * http://speleotrove.com/decimal + * + * This endpoint is useful for obtaining the exact number being printed + * after scaling and rounding have been applied by the number formatter. + * + * Example call site: + * + * auto decimalNumber = fn.toDecimalNumber(status); + * + * @tparam StringClass A string class compatible with StringByteSink; + * for example, std::string. + * @param status Set if an error occurs. + * @return A StringClass containing the numeric string. + * @draft ICU 65 + */ + template + inline StringClass toDecimalNumber(UErrorCode& status) const; +#endif // U_HIDE_DRAFT_API #ifndef U_HIDE_INTERNAL_API @@ -2550,6 +2582,9 @@ class U_I18N_API FormattedNumber : public UMemory, public FormattedValue { explicit FormattedNumber(UErrorCode errorCode) : fData(nullptr), fErrorCode(errorCode) {} + // TODO(ICU-20775): Propose this as API. + void toDecimalNumber(ByteSink& sink, UErrorCode& status) const; + // To give LocalizedNumberFormatter format methods access to this class's constructor: friend class LocalizedNumberFormatter; @@ -2557,10 +2592,21 @@ class U_I18N_API FormattedNumber : public UMemory, public FormattedValue { friend struct impl::UFormattedNumberImpl; }; +#ifndef U_HIDE_DRAFT_API +// Note: This is draft ICU 65 +template +StringClass FormattedNumber::toDecimalNumber(UErrorCode& status) const { + StringClass result; + StringByteSink sink(&result); + toDecimalNumber(sink, status); + return result; +}; +#endif // U_HIDE_DRAFT_API + /** * See the main description in numberformatter.h for documentation and examples. * - * @draft ICU 60 + * @stable ICU 60 */ class U_I18N_API NumberFormatter final { public: @@ -2569,7 +2615,7 @@ class U_I18N_API NumberFormatter final { * the call site. * * @return An {@link UnlocalizedNumberFormatter}, to be used for chaining. - * @draft ICU 60 + * @stable ICU 60 */ static UnlocalizedNumberFormatter with(); @@ -2580,7 +2626,7 @@ class U_I18N_API NumberFormatter final { * @param locale * The locale from which to load formats and symbols for number formatting. * @return A {@link LocalizedNumberFormatter}, to be used for chaining. - * @draft ICU 60 + * @stable ICU 60 */ static LocalizedNumberFormatter withLocale(const Locale &locale); @@ -2596,10 +2642,11 @@ class U_I18N_API NumberFormatter final { * @param status * Set to U_NUMBER_SKELETON_SYNTAX_ERROR if the skeleton was invalid. * @return An UnlocalizedNumberFormatter, to be used for chaining. - * @draft ICU 62 + * @stable ICU 62 */ static UnlocalizedNumberFormatter forSkeleton(const UnicodeString& skeleton, UErrorCode& status); +#ifndef U_HIDE_DRAFT_API /** * Call this method at the beginning of a NumberFormatter fluent chain to create an instance based * on a given number skeleton string. @@ -2619,6 +2666,7 @@ class U_I18N_API NumberFormatter final { */ static UnlocalizedNumberFormatter forSkeleton(const UnicodeString& skeleton, UParseError& perror, UErrorCode& status); +#endif /** * Use factory methods instead of the constructor to create a NumberFormatter. @@ -2629,8 +2677,9 @@ class U_I18N_API NumberFormatter final { } // namespace number U_NAMESPACE_END -#endif // U_HIDE_DRAFT_API +#endif /* #if !UCONFIG_NO_FORMATTING */ + +#endif /* U_SHOW_CPLUSPLUS_API */ #endif // __NUMBERFORMATTER_H__ -#endif /* #if !UCONFIG_NO_FORMATTING */ diff --git a/deps/icu-small/source/i18n/unicode/numberrangeformatter.h b/deps/icu-small/source/i18n/unicode/numberrangeformatter.h index 47c4bfe3f5ef76..e3a72aa8b21257 100644 --- a/deps/icu-small/source/i18n/unicode/numberrangeformatter.h +++ b/deps/icu-small/source/i18n/unicode/numberrangeformatter.h @@ -1,10 +1,15 @@ // © 2018 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html -#if !UCONFIG_NO_FORMATTING #ifndef __NUMBERRANGEFORMATTER_H__ #define __NUMBERRANGEFORMATTER_H__ +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + +#if !UCONFIG_NO_FORMATTING + #include #include "unicode/appendable.h" #include "unicode/fieldpos.h" @@ -12,8 +17,6 @@ #include "unicode/fpositer.h" #include "unicode/numberformatter.h" -#ifndef U_HIDE_DRAFT_API - /** * \file * \brief C++ API: Library for localized formatting of number, currency, and unit ranges. @@ -44,7 +47,7 @@ /** * Defines how to merge fields that are identical across the range sign. * - * @draft ICU 63 + * @stable ICU 63 */ typedef enum UNumberRangeCollapse { /** @@ -53,14 +56,14 @@ typedef enum UNumberRangeCollapse { * * The heuristics used for this option are subject to change over time. * - * @draft ICU 63 + * @stable ICU 63 */ UNUM_RANGE_COLLAPSE_AUTO, /** * Do not collapse any part of the number. Example: "3.2 thousand kilograms – 5.3 thousand kilograms" * - * @draft ICU 63 + * @stable ICU 63 */ UNUM_RANGE_COLLAPSE_NONE, @@ -68,7 +71,7 @@ typedef enum UNumberRangeCollapse { * Collapse the unit part of the number, but not the notation, if present. Example: "3.2 thousand – 5.3 thousand * kilograms" * - * @draft ICU 63 + * @stable ICU 63 */ UNUM_RANGE_COLLAPSE_UNIT, @@ -76,7 +79,7 @@ typedef enum UNumberRangeCollapse { * Collapse any field that is equal across the range sign. May introduce ambiguity on the magnitude of the * number. Example: "3.2 – 5.3 thousand kilograms" * - * @draft ICU 63 + * @stable ICU 63 */ UNUM_RANGE_COLLAPSE_ALL } UNumberRangeCollapse; @@ -85,14 +88,14 @@ typedef enum UNumberRangeCollapse { * Defines the behavior when the two numbers in the range are identical after rounding. To programmatically detect * when the identity fallback is used, compare the lower and upper BigDecimals via FormattedNumber. * - * @draft ICU 63 + * @stable ICU 63 * @see NumberRangeFormatter */ typedef enum UNumberRangeIdentityFallback { /** * Show the number as a single value rather than a range. Example: "$5" * - * @draft ICU 63 + * @stable ICU 63 */ UNUM_IDENTITY_FALLBACK_SINGLE_VALUE, @@ -100,7 +103,7 @@ typedef enum UNumberRangeIdentityFallback { * Show the number using a locale-sensitive approximation pattern. If the numbers were the same before rounding, * show the single value. Example: "~$5" or "$5" * - * @draft ICU 63 + * @stable ICU 63 */ UNUM_IDENTITY_FALLBACK_APPROXIMATELY_OR_SINGLE_VALUE, @@ -108,7 +111,7 @@ typedef enum UNumberRangeIdentityFallback { * Show the number using a locale-sensitive approximation pattern. Use the range pattern always, even if the * inputs are the same. Example: "~$5" * - * @draft ICU 63 + * @stable ICU 63 */ UNUM_IDENTITY_FALLBACK_APPROXIMATELY, @@ -116,7 +119,7 @@ typedef enum UNumberRangeIdentityFallback { * Show the number as the range of two equal values. Use the range pattern always, even if the inputs are the * same. Example (with RangeCollapse.NONE): "$5 – $5" * - * @draft ICU 63 + * @stable ICU 63 */ UNUM_IDENTITY_FALLBACK_RANGE } UNumberRangeIdentityFallback; @@ -125,14 +128,14 @@ typedef enum UNumberRangeIdentityFallback { * Used in the result class FormattedNumberRange to indicate to the user whether the numbers formatted in the range * were equal or not, and whether or not the identity fallback was applied. * - * @draft ICU 63 + * @stable ICU 63 * @see NumberRangeFormatter */ typedef enum UNumberRangeIdentityResult { /** * Used to indicate that the two numbers in the range were equal, even before any rounding rules were applied. * - * @draft ICU 63 + * @stable ICU 63 * @see NumberRangeFormatter */ UNUM_IDENTITY_RESULT_EQUAL_BEFORE_ROUNDING, @@ -140,7 +143,7 @@ typedef enum UNumberRangeIdentityResult { /** * Used to indicate that the two numbers in the range were equal, but only after rounding rules were applied. * - * @draft ICU 63 + * @stable ICU 63 * @see NumberRangeFormatter */ UNUM_IDENTITY_RESULT_EQUAL_AFTER_ROUNDING, @@ -148,7 +151,7 @@ typedef enum UNumberRangeIdentityResult { /** * Used to indicate that the two numbers in the range were not equal, even after rounding rules were applied. * - * @draft ICU 63 + * @stable ICU 63 * @see NumberRangeFormatter */ UNUM_IDENTITY_RESULT_NOT_EQUAL, @@ -254,7 +257,7 @@ class U_I18N_API NumberRangeFormatterSettings { * @param formatter * The formatter to use for both numbers in the range. * @return The fluent chain. - * @draft ICU 63 + * @stable ICU 63 */ Derived numberFormatterBoth(const UnlocalizedNumberFormatter &formatter) const &; @@ -265,7 +268,7 @@ class U_I18N_API NumberRangeFormatterSettings { * The formatter to use for both numbers in the range. * @return The fluent chain. * @see #numberFormatterBoth - * @draft ICU 63 + * @stable ICU 63 */ Derived numberFormatterBoth(const UnlocalizedNumberFormatter &formatter) &&; @@ -276,7 +279,7 @@ class U_I18N_API NumberRangeFormatterSettings { * The formatter to use for both numbers in the range. * @return The fluent chain. * @see #numberFormatterBoth - * @draft ICU 63 + * @stable ICU 63 */ Derived numberFormatterBoth(UnlocalizedNumberFormatter &&formatter) const &; @@ -287,7 +290,7 @@ class U_I18N_API NumberRangeFormatterSettings { * The formatter to use for both numbers in the range. * @return The fluent chain. * @see #numberFormatterBoth - * @draft ICU 63 + * @stable ICU 63 */ Derived numberFormatterBoth(UnlocalizedNumberFormatter &&formatter) &&; @@ -300,7 +303,7 @@ class U_I18N_API NumberRangeFormatterSettings { * @param formatterFirst * The formatter to use for the first number in the range. * @return The fluent chain. - * @draft ICU 63 + * @stable ICU 63 */ Derived numberFormatterFirst(const UnlocalizedNumberFormatter &formatterFirst) const &; @@ -311,7 +314,7 @@ class U_I18N_API NumberRangeFormatterSettings { * The formatter to use for the first number in the range. * @return The fluent chain. * @see #numberFormatterFirst - * @draft ICU 63 + * @stable ICU 63 */ Derived numberFormatterFirst(const UnlocalizedNumberFormatter &formatterFirst) &&; @@ -322,7 +325,7 @@ class U_I18N_API NumberRangeFormatterSettings { * The formatter to use for the first number in the range. * @return The fluent chain. * @see #numberFormatterFirst - * @draft ICU 63 + * @stable ICU 63 */ Derived numberFormatterFirst(UnlocalizedNumberFormatter &&formatterFirst) const &; @@ -333,7 +336,7 @@ class U_I18N_API NumberRangeFormatterSettings { * The formatter to use for the first number in the range. * @return The fluent chain. * @see #numberFormatterFirst - * @draft ICU 63 + * @stable ICU 63 */ Derived numberFormatterFirst(UnlocalizedNumberFormatter &&formatterFirst) &&; @@ -346,7 +349,7 @@ class U_I18N_API NumberRangeFormatterSettings { * @param formatterSecond * The formatter to use for the second number in the range. * @return The fluent chain. - * @draft ICU 63 + * @stable ICU 63 */ Derived numberFormatterSecond(const UnlocalizedNumberFormatter &formatterSecond) const &; @@ -357,7 +360,7 @@ class U_I18N_API NumberRangeFormatterSettings { * The formatter to use for the second number in the range. * @return The fluent chain. * @see #numberFormatterSecond - * @draft ICU 63 + * @stable ICU 63 */ Derived numberFormatterSecond(const UnlocalizedNumberFormatter &formatterSecond) &&; @@ -368,7 +371,7 @@ class U_I18N_API NumberRangeFormatterSettings { * The formatter to use for the second number in the range. * @return The fluent chain. * @see #numberFormatterSecond - * @draft ICU 63 + * @stable ICU 63 */ Derived numberFormatterSecond(UnlocalizedNumberFormatter &&formatterSecond) const &; @@ -379,7 +382,7 @@ class U_I18N_API NumberRangeFormatterSettings { * The formatter to use for the second number in the range. * @return The fluent chain. * @see #numberFormatterSecond - * @draft ICU 63 + * @stable ICU 63 */ Derived numberFormatterSecond(UnlocalizedNumberFormatter &&formatterSecond) &&; @@ -398,7 +401,7 @@ class U_I18N_API NumberRangeFormatterSettings { * @param collapse * The collapsing strategy to use for this range. * @return The fluent chain. - * @draft ICU 63 + * @stable ICU 63 */ Derived collapse(UNumberRangeCollapse collapse) const &; @@ -409,7 +412,7 @@ class U_I18N_API NumberRangeFormatterSettings { * The collapsing strategy to use for this range. * @return The fluent chain. * @see #collapse - * @draft ICU 63 + * @stable ICU 63 */ Derived collapse(UNumberRangeCollapse collapse) &&; @@ -431,7 +434,7 @@ class U_I18N_API NumberRangeFormatterSettings { * @param identityFallback * The strategy to use when formatting two numbers that end up being the same. * @return The fluent chain. - * @draft ICU 63 + * @stable ICU 63 */ Derived identityFallback(UNumberRangeIdentityFallback identityFallback) const &; @@ -442,10 +445,11 @@ class U_I18N_API NumberRangeFormatterSettings { * The strategy to use when formatting two numbers that end up being the same. * @return The fluent chain. * @see #identityFallback - * @draft ICU 63 + * @stable ICU 63 */ Derived identityFallback(UNumberRangeIdentityFallback identityFallback) &&; +#ifndef U_HIDE_DRAFT_API /** * Returns the current (Un)LocalizedNumberRangeFormatter as a LocalPointer * wrapping a heap-allocated copy of the current object. @@ -467,12 +471,13 @@ class U_I18N_API NumberRangeFormatterSettings { * @draft ICU 64 */ LocalPointer clone() &&; +#endif /* U_HIDE_DRAFT_API */ /** * Sets the UErrorCode if an error occurred in the fluent chain. * Preserves older error codes in the outErrorCode. * @return TRUE if U_FAILURE(outErrorCode) - * @draft ICU 63 + * @stable ICU 63 */ UBool copyErrorTo(UErrorCode &outErrorCode) const { if (U_FAILURE(outErrorCode)) { @@ -501,7 +506,7 @@ class U_I18N_API NumberRangeFormatterSettings { * Instances of this class are immutable and thread-safe. * * @see NumberRangeFormatter - * @draft ICU 63 + * @stable ICU 63 */ class U_I18N_API UnlocalizedNumberRangeFormatter : public NumberRangeFormatterSettings, public UMemory { @@ -514,7 +519,7 @@ class U_I18N_API UnlocalizedNumberRangeFormatter * @param locale * The locale to use when loading data for number formatting. * @return The fluent chain. - * @draft ICU 63 + * @stable ICU 63 */ LocalizedNumberRangeFormatter locale(const icu::Locale &locale) const &; @@ -525,40 +530,40 @@ class U_I18N_API UnlocalizedNumberRangeFormatter * The locale to use when loading data for number formatting. * @return The fluent chain. * @see #locale - * @draft ICU 63 + * @stable ICU 63 */ LocalizedNumberRangeFormatter locale(const icu::Locale &locale) &&; /** * Default constructor: puts the formatter into a valid but undefined state. * - * @draft ICU 63 + * @stable ICU 63 */ UnlocalizedNumberRangeFormatter() = default; /** * Returns a copy of this UnlocalizedNumberRangeFormatter. - * @draft ICU 63 + * @stable ICU 63 */ UnlocalizedNumberRangeFormatter(const UnlocalizedNumberRangeFormatter &other); /** * Move constructor: * The source UnlocalizedNumberRangeFormatter will be left in a valid but undefined state. - * @draft ICU 63 + * @stable ICU 63 */ UnlocalizedNumberRangeFormatter(UnlocalizedNumberRangeFormatter&& src) U_NOEXCEPT; /** * Copy assignment operator. - * @draft ICU 63 + * @stable ICU 63 */ UnlocalizedNumberRangeFormatter& operator=(const UnlocalizedNumberRangeFormatter& other); /** * Move assignment operator: * The source UnlocalizedNumberRangeFormatter will be left in a valid but undefined state. - * @draft ICU 63 + * @stable ICU 63 */ UnlocalizedNumberRangeFormatter& operator=(UnlocalizedNumberRangeFormatter&& src) U_NOEXCEPT; @@ -582,7 +587,7 @@ class U_I18N_API UnlocalizedNumberRangeFormatter * Instances of this class are immutable and thread-safe. * * @see NumberFormatter - * @draft ICU 63 + * @stable ICU 63 */ class U_I18N_API LocalizedNumberRangeFormatter : public NumberRangeFormatterSettings, public UMemory { @@ -598,7 +603,7 @@ class U_I18N_API LocalizedNumberRangeFormatter * @param status * Set if an error occurs while formatting. * @return A FormattedNumberRange object; call .toString() to get the string. - * @draft ICU 63 + * @stable ICU 63 */ FormattedNumberRange formatFormattableRange( const Formattable& first, const Formattable& second, UErrorCode& status) const; @@ -606,33 +611,33 @@ class U_I18N_API LocalizedNumberRangeFormatter /** * Default constructor: puts the formatter into a valid but undefined state. * - * @draft ICU 63 + * @stable ICU 63 */ LocalizedNumberRangeFormatter() = default; /** * Returns a copy of this LocalizedNumberRangeFormatter. - * @draft ICU 63 + * @stable ICU 63 */ LocalizedNumberRangeFormatter(const LocalizedNumberRangeFormatter &other); /** * Move constructor: * The source LocalizedNumberRangeFormatter will be left in a valid but undefined state. - * @draft ICU 63 + * @stable ICU 63 */ LocalizedNumberRangeFormatter(LocalizedNumberRangeFormatter&& src) U_NOEXCEPT; /** * Copy assignment operator. - * @draft ICU 63 + * @stable ICU 63 */ LocalizedNumberRangeFormatter& operator=(const LocalizedNumberRangeFormatter& other); /** * Move assignment operator: * The source LocalizedNumberRangeFormatter will be left in a valid but undefined state. - * @draft ICU 63 + * @stable ICU 63 */ LocalizedNumberRangeFormatter& operator=(LocalizedNumberRangeFormatter&& src) U_NOEXCEPT; @@ -651,11 +656,11 @@ class U_I18N_API LocalizedNumberRangeFormatter void formatImpl(impl::UFormattedNumberRangeData& results, bool equalBeforeRounding, UErrorCode& status) const; -#endif +#endif /* U_HIDE_INTERNAL_API */ /** * Destruct this LocalizedNumberRangeFormatter, cleaning up any memory it might own. - * @draft ICU 63 + * @stable ICU 63 */ ~LocalizedNumberRangeFormatter(); @@ -690,7 +695,7 @@ class U_I18N_API LocalizedNumberRangeFormatter * * Instances of this class are immutable and thread-safe. * - * @draft ICU 63 + * @stable ICU 63 */ class U_I18N_API FormattedNumberRange : public UMemory, public FormattedValue { public: @@ -700,7 +705,7 @@ class U_I18N_API FormattedNumberRange : public UMemory, public FormattedValue { * * For more information, see FormattedValue::toString() * - * @draft ICU 63 + * @stable ICU 63 */ UnicodeString toString(UErrorCode& status) const U_OVERRIDE; @@ -714,7 +719,7 @@ class U_I18N_API FormattedNumberRange : public UMemory, public FormattedValue { * * For more information, see FormattedValue::appendTo() * - * @draft ICU 63 + * @stable ICU 63 */ Appendable &appendTo(Appendable &appendable, UErrorCode& status) const U_OVERRIDE; @@ -722,6 +727,7 @@ class U_I18N_API FormattedNumberRange : public UMemory, public FormattedValue { /** @copydoc FormattedValue::nextPosition() */ UBool nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const U_OVERRIDE; +#ifndef U_HIDE_DRAFT_API /** * Determines the start (inclusive) and end (exclusive) indices of the next occurrence of the given * field in the output string. This allows you to determine the locations of, for example, @@ -799,6 +805,7 @@ class U_I18N_API FormattedNumberRange : public UMemory, public FormattedValue { * @see #getFirstDecimal */ UnicodeString getSecondDecimal(UErrorCode& status) const; +#endif // U_HIDE_DRAFT_API /** * Returns whether the pair of numbers was successfully formatted as a range or whether an identity fallback was @@ -806,7 +813,7 @@ class U_I18N_API FormattedNumberRange : public UMemory, public FormattedValue { * identity fallback was used. * * @return An indication the resulting identity situation in the formatted number range. - * @draft ICU 63 + * @stable ICU 63 * @see UNumberRangeIdentityFallback */ UNumberRangeIdentityResult getIdentityResult(UErrorCode& status) const; @@ -824,20 +831,20 @@ class U_I18N_API FormattedNumberRange : public UMemory, public FormattedValue { /** * Move constructor: * Leaves the source FormattedNumberRange in an undefined state. - * @draft ICU 63 + * @stable ICU 63 */ FormattedNumberRange(FormattedNumberRange&& src) U_NOEXCEPT; /** * Move assignment: * Leaves the source FormattedNumberRange in an undefined state. - * @draft ICU 63 + * @stable ICU 63 */ FormattedNumberRange& operator=(FormattedNumberRange&& src) U_NOEXCEPT; /** * Destruct an instance of FormattedNumberRange, cleaning up any memory it might own. - * @draft ICU 63 + * @stable ICU 63 */ ~FormattedNumberRange(); @@ -850,7 +857,6 @@ class U_I18N_API FormattedNumberRange : public UMemory, public FormattedValue { /** * Internal constructor from data type. Adopts the data pointer. - * @internal */ explicit FormattedNumberRange(impl::UFormattedNumberRangeData *results) : fData(results), fErrorCode(U_ZERO_ERROR) {} @@ -867,7 +873,7 @@ class U_I18N_API FormattedNumberRange : public UMemory, public FormattedValue { /** * See the main description in numberrangeformatter.h for documentation and examples. * - * @draft ICU 63 + * @stable ICU 63 */ class U_I18N_API NumberRangeFormatter final { public: @@ -876,7 +882,7 @@ class U_I18N_API NumberRangeFormatter final { * known at the call site. * * @return An {@link UnlocalizedNumberRangeFormatter}, to be used for chaining. - * @draft ICU 63 + * @stable ICU 63 */ static UnlocalizedNumberRangeFormatter with(); @@ -887,7 +893,7 @@ class U_I18N_API NumberRangeFormatter final { * @param locale * The locale from which to load formats and symbols for number range formatting. * @return A {@link LocalizedNumberRangeFormatter}, to be used for chaining. - * @draft ICU 63 + * @stable ICU 63 */ static LocalizedNumberRangeFormatter withLocale(const Locale &locale); @@ -900,8 +906,9 @@ class U_I18N_API NumberRangeFormatter final { } // namespace number U_NAMESPACE_END -#endif // U_HIDE_DRAFT_API +#endif /* #if !UCONFIG_NO_FORMATTING */ + +#endif /* U_SHOW_CPLUSPLUS_API */ #endif // __NUMBERRANGEFORMATTER_H__ -#endif /* #if !UCONFIG_NO_FORMATTING */ diff --git a/deps/icu-small/source/i18n/unicode/numfmt.h b/deps/icu-small/source/i18n/unicode/numfmt.h index d8704754dc79c2..fbd4fb4e5655b3 100644 --- a/deps/icu-small/source/i18n/unicode/numfmt.h +++ b/deps/icu-small/source/i18n/unicode/numfmt.h @@ -26,6 +26,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Compatibility APIs for number formatting. @@ -260,6 +262,14 @@ class U_I18N_API NumberFormat : public Format { */ virtual ~NumberFormat(); + /** + * Clones this object polymorphically. + * The caller owns the result and should delete it when done. + * @return clone, or nullptr if an error occurred + * @stable ICU 2.0 + */ + virtual NumberFormat* clone() const = 0; + /** * Return true if the given Format objects are semantically equal. * Objects of different subclasses are considered unequal. @@ -639,7 +649,9 @@ class U_I18N_API NumberFormat : public Format { * @param result Formattable to be set to the parse result. * If parse fails, return contents are undefined. * @param status Output parameter set to a failure error code - * when a failure occurs. + * when a failure occurs. The error code when the + * string fails to parse is U_INVALID_FORMAT_ERROR, + * unless overridden by a subclass. * @see NumberFormat::isParseIntegerOnly * @stable ICU 2.0 */ @@ -1255,5 +1267,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _NUMFMT //eof diff --git a/deps/icu-small/source/i18n/unicode/numsys.h b/deps/icu-small/source/i18n/unicode/numsys.h index 9e32478cf8de73..4fb7f044eddb76 100644 --- a/deps/icu-small/source/i18n/unicode/numsys.h +++ b/deps/icu-small/source/i18n/unicode/numsys.h @@ -20,6 +20,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: NumberingSystem object @@ -210,5 +212,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _NUMSYS //eof diff --git a/deps/icu-small/source/i18n/unicode/plurfmt.h b/deps/icu-small/source/i18n/unicode/plurfmt.h index 6b757c88419316..7373476dca8fc2 100644 --- a/deps/icu-small/source/i18n/unicode/plurfmt.h +++ b/deps/icu-small/source/i18n/unicode/plurfmt.h @@ -16,6 +16,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: PluralFormat object @@ -448,7 +450,7 @@ class U_I18N_API PluralFormat : public Format { * result and should delete it when done. * @stable ICU 4.0 */ - virtual Format* clone(void) const; + virtual PluralFormat* clone() const; /** * Formats a plural message for a number taken from a Formattable object. @@ -522,7 +524,7 @@ class U_I18N_API PluralFormat : public Format { private: /** - * @internal + * @internal (private) */ class U_I18N_API PluralSelector : public UMemory { public: @@ -534,14 +536,11 @@ class U_I18N_API PluralFormat : public Format { * @param number The number to be plural-formatted. * @param ec Error code. * @return The selected PluralFormat keyword. - * @internal + * @internal (private) */ virtual UnicodeString select(void *context, double number, UErrorCode& ec) const = 0; }; - /** - * @internal - */ class U_I18N_API PluralSelectorAdapter : public PluralSelector { public: PluralSelectorAdapter() : pluralRules(NULL) { @@ -549,7 +548,7 @@ class U_I18N_API PluralFormat : public Format { virtual ~PluralSelectorAdapter(); - virtual UnicodeString select(void *context, double number, UErrorCode& /*ec*/) const; /**< @internal */ + virtual UnicodeString select(void *context, double number, UErrorCode& /*ec*/) const; void reset(); @@ -573,7 +572,7 @@ class U_I18N_API PluralFormat : public Format { UnicodeString& format(const Formattable& numberObject, double number, UnicodeString& appendTo, FieldPosition& pos, - UErrorCode& status) const; /**< @internal */ + UErrorCode& status) const; /** * Finds the PluralFormat sub-message for the given number, or the "other" sub-message. @@ -601,5 +600,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _PLURFMT //eof diff --git a/deps/icu-small/source/i18n/unicode/plurrule.h b/deps/icu-small/source/i18n/unicode/plurrule.h index 04bf3970ba0825..a1553567caf8f5 100644 --- a/deps/icu-small/source/i18n/unicode/plurrule.h +++ b/deps/icu-small/source/i18n/unicode/plurrule.h @@ -20,6 +20,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: PluralRules object @@ -533,5 +535,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _PLURRULE //eof diff --git a/deps/icu-small/source/i18n/unicode/rbnf.h b/deps/icu-small/source/i18n/unicode/rbnf.h index f7cd85a322d1f5..1144bd2fb8b1ba 100644 --- a/deps/icu-small/source/i18n/unicode/rbnf.h +++ b/deps/icu-small/source/i18n/unicode/rbnf.h @@ -12,6 +12,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Rule Based Number Format @@ -696,7 +698,7 @@ class U_I18N_API RuleBasedNumberFormat : public NumberFormat { * @return A copy of the object. * @stable ICU 2.6 */ - virtual Format* clone(void) const; + virtual RuleBasedNumberFormat* clone() const; /** * Return true if the given Format objects are semantically equal. @@ -866,28 +868,6 @@ class U_I18N_API RuleBasedNumberFormat : public NumberFormat { UErrorCode& status) const; protected: - /** - * Format a decimal number. - * The number is a DigitList wrapper onto a floating point decimal number. - * The default implementation in NumberFormat converts the decimal number - * to a double and formats that. Subclasses of NumberFormat that want - * to specifically handle big decimal numbers must override this method. - * class DecimalFormat does so. - * - * @param number The number, a DigitList format Decimal Floating Point. - * @param appendTo Output parameter to receive result. - * Result is appended to existing contents. - * @param posIter On return, can be used to iterate over positions - * of fields generated by this format call. - * @param status Output param filled with success/failure status. - * @return Reference to 'appendTo' parameter. - * @internal - */ - virtual UnicodeString& format(const number::impl::DecimalQuantity &number, - UnicodeString& appendTo, - FieldPositionIterator* posIter, - UErrorCode& status) const; - /** * Format a decimal number. * The number is a DigitList wrapper onto a floating point decimal number. @@ -1135,5 +1115,7 @@ U_NAMESPACE_END /* U_HAVE_RBNF */ #endif +#endif /* U_SHOW_CPLUSPLUS_API */ + /* RBNF_H */ #endif diff --git a/deps/icu-small/source/i18n/unicode/rbtz.h b/deps/icu-small/source/i18n/unicode/rbtz.h index 542a7c140cda2b..95fd7ab85dd13a 100644 --- a/deps/icu-small/source/i18n/unicode/rbtz.h +++ b/deps/icu-small/source/i18n/unicode/rbtz.h @@ -11,6 +11,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Rule based customizable time zone @@ -121,7 +123,7 @@ class U_I18N_API RuleBasedTimeZone : public BasicTimeZone { * @return A new copy of this TimeZone object. * @stable ICU 3.8 */ - virtual TimeZone* clone(void) const; + virtual RuleBasedTimeZone* clone() const; /** * Returns the TimeZone's adjusted GMT offset (i.e., the number of milliseconds to add @@ -224,6 +226,7 @@ class U_I18N_API RuleBasedTimeZone : public BasicTimeZone { */ virtual UBool useDaylightTime(void) const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Queries if the given date is in daylight savings time in * this time zone. @@ -238,6 +241,7 @@ class U_I18N_API RuleBasedTimeZone : public BasicTimeZone { * @deprecated ICU 2.4. Use Calendar::inDaylightTime() instead. */ virtual UBool inDaylightTime(UDate date, UErrorCode& status) const; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Returns true if this zone has the same rule and offset as another zone. @@ -359,6 +363,8 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // RBTZ_H //eof diff --git a/deps/icu-small/source/i18n/unicode/regex.h b/deps/icu-small/source/i18n/unicode/regex.h index a0f9839fe75311..75048af06c9aaa 100644 --- a/deps/icu-small/source/i18n/unicode/regex.h +++ b/deps/icu-small/source/i18n/unicode/regex.h @@ -44,6 +44,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_REGULAR_EXPRESSIONS #include "unicode/uobject.h" @@ -1876,4 +1878,7 @@ class U_I18N_API RegexMatcher U_FINAL : public UObject { U_NAMESPACE_END #endif // UCONFIG_NO_REGULAR_EXPRESSIONS + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/region.h b/deps/icu-small/source/i18n/unicode/region.h index ccd63901a5d1b1..66f5f920757348 100644 --- a/deps/icu-small/source/i18n/unicode/region.h +++ b/deps/icu-small/source/i18n/unicode/region.h @@ -16,10 +16,12 @@ */ #include "unicode/utypes.h" -#include "unicode/uregion.h" + +#if U_SHOW_CPLUSPLUS_API #if !UCONFIG_NO_FORMATTING +#include "unicode/uregion.h" #include "unicode/uobject.h" #include "unicode/uniset.h" #include "unicode/unistr.h" @@ -219,6 +221,9 @@ class U_I18N_API Region : public UObject { U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // REGION_H //eof diff --git a/deps/icu-small/source/i18n/unicode/reldatefmt.h b/deps/icu-small/source/i18n/unicode/reldatefmt.h index cfcba0902675cc..fb691a545105b6 100644 --- a/deps/icu-small/source/i18n/unicode/reldatefmt.h +++ b/deps/icu-small/source/i18n/unicode/reldatefmt.h @@ -15,6 +15,9 @@ #define __RELDATEFMT_H #include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" #include "unicode/udisplaycontext.h" #include "unicode/ureldatefmt.h" @@ -166,12 +169,24 @@ typedef enum UDateAbsoluteUnit { */ UDAT_ABSOLUTE_NOW, -#ifndef U_HIDE_DRAFT_API /** * Quarter - * @draft ICU 63 + * @stable ICU 63 */ UDAT_ABSOLUTE_QUARTER, + +#ifndef U_HIDE_DRAFT_API + /** + * Hour + * @draft ICU 65 + */ + UDAT_ABSOLUTE_HOUR, + + /** + * Minute + * @draft ICU 65 + */ + UDAT_ABSOLUTE_MINUTE, #endif // U_HIDE_DRAFT_API #ifndef U_HIDE_DEPRECATED_API @@ -179,7 +194,7 @@ typedef enum UDateAbsoluteUnit { * One more than the highest normal UDateAbsoluteUnit value. * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. */ - UDAT_ABSOLUTE_UNIT_COUNT = UDAT_ABSOLUTE_NOW + 2 + UDAT_ABSOLUTE_UNIT_COUNT = UDAT_ABSOLUTE_NOW + 4 #endif // U_HIDE_DEPRECATED_API } UDateAbsoluteUnit; @@ -246,6 +261,7 @@ class SharedPluralRules; class SharedBreakIterator; class NumberFormat; class UnicodeString; +class FormattedRelativeDateTime; class FormattedRelativeDateTimeData; #ifndef U_HIDE_DRAFT_API @@ -743,4 +759,7 @@ U_NAMESPACE_END #endif /* !UCONFIG_NO_BREAK_ITERATION */ #endif /* !UCONFIG_NO_FORMATTING */ + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif /* __RELDATEFMT_H */ diff --git a/deps/icu-small/source/i18n/unicode/scientificnumberformatter.h b/deps/icu-small/source/i18n/unicode/scientificnumberformatter.h index 6c99a246625e2e..a56b8ca2685cf2 100644 --- a/deps/icu-small/source/i18n/unicode/scientificnumberformatter.h +++ b/deps/icu-small/source/i18n/unicode/scientificnumberformatter.h @@ -11,6 +11,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING @@ -157,7 +159,7 @@ class U_I18N_API ScientificNumberFormatter : public UObject { class U_I18N_API SuperscriptStyle : public Style { public: - virtual Style *clone() const; + virtual SuperscriptStyle *clone() const; protected: virtual UnicodeString &format( const UnicodeString &original, @@ -175,7 +177,7 @@ class U_I18N_API ScientificNumberFormatter : public UObject { : Style(), fBeginMarkup(beginMarkup), fEndMarkup(endMarkup) { } - virtual Style *clone() const; + virtual MarkupStyle *clone() const; protected: virtual UnicodeString &format( const UnicodeString &original, @@ -214,4 +216,7 @@ U_NAMESPACE_END #endif /* !UCONFIG_NO_FORMATTING */ + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/search.h b/deps/icu-small/source/i18n/unicode/search.h index 12dd5c77278f67..986205c62f1ec5 100644 --- a/deps/icu-small/source/i18n/unicode/search.h +++ b/deps/icu-small/source/i18n/unicode/search.h @@ -14,6 +14,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: SearchIterator object. @@ -70,8 +72,7 @@ U_NAMESPACE_BEGIN * UErrorCode error = U_ZERO_ERROR; * for (int pos = iter->first(error); pos != USEARCH_DONE; * pos = iter->next(error)) { - * printf("Found match at %d pos, length is %d\n", pos, - * iter.getMatchLength()); + * printf("Found match at %d pos, length is %d\n", pos, iter.getMatchedLength()); * } * * @@ -573,4 +574,6 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_COLLATION */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/selfmt.h b/deps/icu-small/source/i18n/unicode/selfmt.h index 08e9d444ee9715..9b98f6db7adb76 100755 --- a/deps/icu-small/source/i18n/unicode/selfmt.h +++ b/deps/icu-small/source/i18n/unicode/selfmt.h @@ -18,9 +18,12 @@ #ifndef SELFMT #define SELFMT +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/messagepattern.h" #include "unicode/numfmt.h" -#include "unicode/utypes.h" /** * \file @@ -272,7 +275,7 @@ class U_I18N_API SelectFormat : public Format { * result and should delete it when done. * @stable ICU 4.4 */ - virtual Format* clone(void) const; + virtual SelectFormat* clone() const; /** * Format an object to produce a string. @@ -365,5 +368,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _SELFMT //eof diff --git a/deps/icu-small/source/i18n/unicode/simpletz.h b/deps/icu-small/source/i18n/unicode/simpletz.h index 7f5f1664cca503..d7d4123187e071 100644 --- a/deps/icu-small/source/i18n/unicode/simpletz.h +++ b/deps/icu-small/source/i18n/unicode/simpletz.h @@ -28,6 +28,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: SimpleTimeZone is a concrete subclass of TimeZone. @@ -672,6 +674,7 @@ class U_I18N_API SimpleTimeZone: public BasicTimeZone { */ virtual UBool useDaylightTime(void) const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Returns true if the given date is within the period when daylight savings time * is in effect; false otherwise. If the TimeZone doesn't observe daylight savings @@ -687,6 +690,7 @@ class U_I18N_API SimpleTimeZone: public BasicTimeZone { * @deprecated ICU 2.4. Use Calendar::inDaylightTime() instead. */ virtual UBool inDaylightTime(UDate date, UErrorCode& status) const; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Return true if this zone has the same rules and offset as another zone. @@ -703,7 +707,7 @@ class U_I18N_API SimpleTimeZone: public BasicTimeZone { * @return A new copy of this TimeZone object. * @stable ICU 2.0 */ - virtual TimeZone* clone(void) const; + virtual SimpleTimeZone* clone() const; /** * Gets the first time zone transition after the base time. @@ -929,4 +933,6 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _SIMPLETZ diff --git a/deps/icu-small/source/i18n/unicode/smpdtfmt.h b/deps/icu-small/source/i18n/unicode/smpdtfmt.h index a015c5be5c877a..79fa817d5afb89 100644 --- a/deps/icu-small/source/i18n/unicode/smpdtfmt.h +++ b/deps/icu-small/source/i18n/unicode/smpdtfmt.h @@ -28,6 +28,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Format and parse dates in a language-independent manner. @@ -865,7 +867,7 @@ class U_I18N_API SimpleDateFormat: public DateFormat { * @return A copy of the object. * @stable ICU 2.0 */ - virtual Format* clone(void) const; + virtual SimpleDateFormat* clone() const; /** * Return true if the given Format objects are semantically equal. Objects @@ -1643,7 +1645,7 @@ class U_I18N_API SimpleDateFormat: public DateFormat { UBool fHaveDefaultCentury; - BreakIterator* fCapitalizationBrkIter; + const BreakIterator* fCapitalizationBrkIter; }; inline UDate @@ -1656,5 +1658,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // _SMPDTFMT //eof diff --git a/deps/icu-small/source/i18n/unicode/sortkey.h b/deps/icu-small/source/i18n/unicode/sortkey.h index 6895be7a2b0ee4..d2d3ca9fd57dd8 100644 --- a/deps/icu-small/source/i18n/unicode/sortkey.h +++ b/deps/icu-small/source/i18n/unicode/sortkey.h @@ -25,6 +25,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Keys for comparing strings multiple times. @@ -337,4 +339,6 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_COLLATION */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/stsearch.h b/deps/icu-small/source/i18n/unicode/stsearch.h index 46bc51b30e2346..f3963711432986 100644 --- a/deps/icu-small/source/i18n/unicode/stsearch.h +++ b/deps/icu-small/source/i18n/unicode/stsearch.h @@ -14,6 +14,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Service for searching text based on RuleBasedCollator. @@ -119,8 +121,7 @@ U_NAMESPACE_BEGIN * pos != USEARCH_DONE; * pos = iter.next(error)) * { - * printf("Found match at %d pos, length is %d\n", pos, - * iter.getMatchLength()); + * printf("Found match at %d pos, length is %d\n", pos, iter.getMatchedLength()); * } * *

@@ -412,7 +413,7 @@ class U_I18N_API StringSearch U_FINAL : public SearchIterator * @return cloned object * @stable ICU 2.0 */ - virtual SearchIterator * safeClone(void) const; + virtual StringSearch * safeClone() const; /** * ICU "poor man's RTTI", returns a UClassID for the actual class. @@ -502,4 +503,6 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_COLLATION */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/tblcoll.h b/deps/icu-small/source/i18n/unicode/tblcoll.h index 24ba213b41eacc..f5dc135bc49fc1 100644 --- a/deps/icu-small/source/i18n/unicode/tblcoll.h +++ b/deps/icu-small/source/i18n/unicode/tblcoll.h @@ -64,6 +64,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_COLLATION #include "unicode/coll.h" @@ -228,7 +230,7 @@ class U_I18N_API RuleBasedCollator : public Collator { * @return a copy of this object, owned by the caller * @stable ICU 2.0 */ - virtual Collator* clone(void) const; + virtual RuleBasedCollator* clone() const; /** * Creates a collation element iterator for the source string. The caller of @@ -389,6 +391,7 @@ class U_I18N_API RuleBasedCollator : public Collator { */ virtual int32_t hashCode() const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Gets the locale of the Collator * @param type can be either requested, valid or actual locale. For more @@ -400,6 +403,7 @@ class U_I18N_API RuleBasedCollator : public Collator { * @deprecated ICU 2.8 likely to change in ICU 3.0, based on feedback */ virtual Locale getLocale(ULocDataLocaleType type, UErrorCode& status) const; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Gets the tailoring rules for this collator. @@ -545,6 +549,7 @@ class U_I18N_API RuleBasedCollator : public Collator { */ virtual UColReorderCode getMaxVariable() const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Sets the variable top to the primary weight of the specified string. * @@ -592,6 +597,7 @@ class U_I18N_API RuleBasedCollator : public Collator { * @deprecated ICU 53 Call setMaxVariable() instead. */ virtual void setVariableTop(uint32_t varTop, UErrorCode &status); +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Gets the variable top value of a Collator. @@ -874,4 +880,7 @@ class U_I18N_API RuleBasedCollator : public Collator { U_NAMESPACE_END #endif // !UCONFIG_NO_COLLATION + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // TBLCOLL_H diff --git a/deps/icu-small/source/i18n/unicode/timezone.h b/deps/icu-small/source/i18n/unicode/timezone.h index 237ed911d09211..4d321186be495d 100644 --- a/deps/icu-small/source/i18n/unicode/timezone.h +++ b/deps/icu-small/source/i18n/unicode/timezone.h @@ -31,6 +31,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: TimeZone object @@ -321,10 +323,6 @@ class U_I18N_API TimeZone : public UObject { * zone is set to the default host time zone. This call adopts the TimeZone object * passed in; the client is no longer responsible for deleting it. * - *

This function is not thread safe. It is an error for multiple threads - * to concurrently attempt to set the default time zone, or for any thread - * to attempt to reference the default zone while another thread is setting it. - * * @param zone A pointer to the new TimeZone object to use as the default. * @stable ICU 2.0 */ @@ -335,8 +333,6 @@ class U_I18N_API TimeZone : public UObject { * Same as adoptDefault(), except that the TimeZone object passed in is NOT adopted; * the caller remains responsible for deleting it. * - *

See the thread safety note under adoptDefault(). - * * @param zone The given timezone. * @system * @stable ICU 2.0 @@ -726,6 +722,7 @@ class U_I18N_API TimeZone : public UObject { */ virtual UBool useDaylightTime(void) const = 0; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Queries if the given date is in daylight savings time in * this time zone. @@ -740,6 +737,7 @@ class U_I18N_API TimeZone : public UObject { * @deprecated ICU 2.4. Use Calendar::inDaylightTime() instead. */ virtual UBool inDaylightTime(UDate date, UErrorCode& status) const = 0; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Returns true if this zone has the same rule and offset as another zone. @@ -758,7 +756,7 @@ class U_I18N_API TimeZone : public UObject { * @return A new copy of this TimeZone object. * @stable ICU 2.0 */ - virtual TimeZone* clone(void) const = 0; + virtual TimeZone* clone() const = 0; /** * Return the class ID for this class. This is useful only for @@ -972,5 +970,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif //_TIMEZONE //eof diff --git a/deps/icu-small/source/i18n/unicode/tmunit.h b/deps/icu-small/source/i18n/unicode/tmunit.h index fa59f104734baa..2e949ddfbd560d 100644 --- a/deps/icu-small/source/i18n/unicode/tmunit.h +++ b/deps/icu-small/source/i18n/unicode/tmunit.h @@ -16,6 +16,9 @@ * \brief C++ API: time unit object */ +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API #include "unicode/measunit.h" @@ -70,7 +73,7 @@ class U_I18N_API TimeUnit: public MeasureUnit { * Override clone. * @stable ICU 4.2 */ - virtual UObject* clone() const; + virtual TimeUnit* clone() const; /** * Copy operator. @@ -132,6 +135,8 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __TMUNIT_H__ //eof // diff --git a/deps/icu-small/source/i18n/unicode/tmutamt.h b/deps/icu-small/source/i18n/unicode/tmutamt.h index 1717b7605fb3c5..5ce5922cea8346 100644 --- a/deps/icu-small/source/i18n/unicode/tmutamt.h +++ b/deps/icu-small/source/i18n/unicode/tmutamt.h @@ -16,11 +16,15 @@ * \brief C++ API: time unit amount object. */ -#include "unicode/measure.h" -#include "unicode/tmunit.h" +#include "unicode/utypes.h" + +#if U_SHOW_CPLUSPLUS_API #if !UCONFIG_NO_FORMATTING +#include "unicode/measure.h" +#include "unicode/tmunit.h" + U_NAMESPACE_BEGIN @@ -83,7 +87,7 @@ class U_I18N_API TimeUnitAmount: public Measure { * @return a polymorphic clone of this object. The result will have the same class as returned by getDynamicClassID(). * @stable ICU 4.2 */ - virtual UObject* clone() const; + virtual TimeUnitAmount* clone() const; /** @@ -165,6 +169,8 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __TMUTAMT_H__ //eof // diff --git a/deps/icu-small/source/i18n/unicode/tmutfmt.h b/deps/icu-small/source/i18n/unicode/tmutfmt.h index 8f245859a622ba..ad871f7c09fd4f 100644 --- a/deps/icu-small/source/i18n/unicode/tmutfmt.h +++ b/deps/icu-small/source/i18n/unicode/tmutfmt.h @@ -18,8 +18,9 @@ */ +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING -#ifndef U_HIDE_DEPRECATED_API #include "unicode/unistr.h" #include "unicode/tmunit.h" @@ -28,6 +29,7 @@ #include "unicode/numfmt.h" #include "unicode/plurrule.h" +#ifndef U_HIDE_DEPRECATED_API /** * Constants for various styles. @@ -124,7 +126,7 @@ class U_I18N_API TimeUnitFormat: public MeasureFormat { * @return A copy of the object. * @deprecated ICU 53 */ - virtual Format* clone(void) const; + virtual TimeUnitFormat* clone() const; /** * Assignment operator @@ -244,5 +246,7 @@ U_NAMESPACE_END #endif /* U_HIDE_DEPRECATED_API */ #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // __TMUTFMT_H__ //eof diff --git a/deps/icu-small/source/i18n/unicode/translit.h b/deps/icu-small/source/i18n/unicode/translit.h index 6b4888145f1be5..fe2568d50aa020 100644 --- a/deps/icu-small/source/i18n/unicode/translit.h +++ b/deps/icu-small/source/i18n/unicode/translit.h @@ -14,6 +14,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: Tranforms text from one format to another. @@ -1588,4 +1590,6 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_TRANSLITERATION */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/tzfmt.h b/deps/icu-small/source/i18n/unicode/tzfmt.h index d2aa768b8c8b34..6d3863b1e5add8 100644 --- a/deps/icu-small/source/i18n/unicode/tzfmt.h +++ b/deps/icu-small/source/i18n/unicode/tzfmt.h @@ -16,6 +16,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/format.h" @@ -305,7 +307,7 @@ class U_I18N_API TimeZoneFormat : public Format { * @return A copy of the object * @stable ICU 50 */ - virtual Format* clone() const; + virtual TimeZoneFormat* clone() const; /** * Creates an instance of TimeZoneFormat for the given locale. @@ -1094,4 +1096,7 @@ class U_I18N_API TimeZoneFormat : public Format { U_NAMESPACE_END #endif /* !UCONFIG_NO_FORMATTING */ + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/tznames.h b/deps/icu-small/source/i18n/unicode/tznames.h index 399265d85ae66c..860494221df4f8 100644 --- a/deps/icu-small/source/i18n/unicode/tznames.h +++ b/deps/icu-small/source/i18n/unicode/tznames.h @@ -15,6 +15,8 @@ */ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/uloc.h" @@ -411,4 +413,7 @@ class U_I18N_API TimeZoneNames : public UObject { U_NAMESPACE_END #endif + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/tzrule.h b/deps/icu-small/source/i18n/unicode/tzrule.h index 171486f1c79d2a..c6d6b9631fcd69 100644 --- a/deps/icu-small/source/i18n/unicode/tzrule.h +++ b/deps/icu-small/source/i18n/unicode/tzrule.h @@ -16,6 +16,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/uobject.h" @@ -45,7 +47,7 @@ class U_I18N_API TimeZoneRule : public UObject { * @return A copy of the object. * @stable ICU 3.8 */ - virtual TimeZoneRule* clone(void) const = 0; + virtual TimeZoneRule* clone() const = 0; /** * Return true if the given TimeZoneRule objects are semantically equal. Objects @@ -229,7 +231,7 @@ class U_I18N_API InitialTimeZoneRule : public TimeZoneRule { * @return A copy of the object. * @stable ICU 3.8 */ - virtual InitialTimeZoneRule* clone(void) const; + virtual InitialTimeZoneRule* clone() const; /** * Assignment operator. @@ -440,7 +442,7 @@ class U_I18N_API AnnualTimeZoneRule : public TimeZoneRule { * @return A copy of the object. * @stable ICU 3.8 */ - virtual AnnualTimeZoneRule* clone(void) const; + virtual AnnualTimeZoneRule* clone() const; /** * Assignment operator. @@ -656,7 +658,7 @@ class U_I18N_API TimeArrayTimeZoneRule : public TimeZoneRule { * @return A copy of the object. * @stable ICU 3.8 */ - virtual TimeArrayTimeZoneRule* clone(void) const; + virtual TimeArrayTimeZoneRule* clone() const; /** * Assignment operator. @@ -825,6 +827,8 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // TZRULE_H //eof diff --git a/deps/icu-small/source/i18n/unicode/tztrans.h b/deps/icu-small/source/i18n/unicode/tztrans.h index 1276d67c312b9a..e87fea7c3cee7f 100644 --- a/deps/icu-small/source/i18n/unicode/tztrans.h +++ b/deps/icu-small/source/i18n/unicode/tztrans.h @@ -16,6 +16,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + #if !UCONFIG_NO_FORMATTING #include "unicode/uobject.h" @@ -68,7 +70,7 @@ class U_I18N_API TimeZoneTransition : public UObject { * @return A copy of the object. * @stable ICU 3.8 */ - TimeZoneTransition* clone(void) const; + TimeZoneTransition* clone() const; /** * Assignment operator. @@ -192,6 +194,8 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // TZTRANS_H //eof diff --git a/deps/icu-small/source/i18n/unicode/ucal.h b/deps/icu-small/source/i18n/unicode/ucal.h index 71120b7aed6d0f..eee2ae9e226474 100644 --- a/deps/icu-small/source/i18n/unicode/ucal.h +++ b/deps/icu-small/source/i18n/unicode/ucal.h @@ -441,11 +441,13 @@ enum UCalendarDateFields { /* Do not conditionalize the following with #ifndef U_HIDE_DEPRECATED_API, * it is needed for layout of Calendar, DateFormat, and other objects */ +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * One more than the highest normal UCalendarDateFields value. * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. */ - UCAL_FIELD_COUNT, + UCAL_FIELD_COUNT, +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Field number indicating the @@ -657,6 +659,42 @@ ucal_getDefaultTimeZone(UChar* result, int32_t resultCapacity, UErrorCode* ec); U_STABLE void U_EXPORT2 ucal_setDefaultTimeZone(const UChar* zoneID, UErrorCode* ec); +#ifndef U_HIDE_DRAFT_API + +/** + * Return the current host time zone. The host time zone is detected from + * the current host system configuration by querying the host operating + * system. If the host system detection routines fail, or if they specify + * a TimeZone or TimeZone offset which is not recognized, then the special + * TimeZone "Etc/Unknown" is returned. + * + * Note that host time zone and the ICU default time zone can be different. + * + * The ICU default time zone does not change once initialized unless modified + * by calling `ucal_setDefaultTimeZone()` or with the C++ TimeZone API, + * `TimeZone::adoptDefault(TimeZone*)`. + * + * If the host operating system configuration has changed since ICU has + * initialized then the returned value can be different than the ICU default + * time zone, even if the default has not changed. + * + *

This function is not thread safe.

+ * + * @param result A buffer to receive the result, or NULL + * @param resultCapacity The capacity of the result buffer + * @param ec input/output error code + * @return The result string length, not including the terminating + * null + * + * @see #UCAL_UNKNOWN_ZONE_ID + * + * @draft ICU 65 + */ +U_DRAFT int32_t U_EXPORT2 +ucal_getHostTimeZone(UChar *result, int32_t resultCapacity, UErrorCode *ec); + +#endif // U_HIDE_DRAFT_API + /** * Return the amount of time in milliseconds that the clock is * advanced during daylight savings time for the given time zone, or diff --git a/deps/icu-small/source/i18n/unicode/ucol.h b/deps/icu-small/source/i18n/unicode/ucol.h index f084ac61e614f3..34b5d2476aaaa5 100644 --- a/deps/icu-small/source/i18n/unicode/ucol.h +++ b/deps/icu-small/source/i18n/unicode/ucol.h @@ -344,11 +344,13 @@ typedef enum { /* Do not conditionalize the following with #ifndef U_HIDE_DEPRECATED_API, * it is needed for layout of RuleBasedCollator object. */ +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * One more than the highest normal UColAttribute value. * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. */ UCOL_ATTRIBUTE_COUNT +#endif // U_FORCE_HIDE_DEPRECATED_API } UColAttribute; /** Options for retrieving the rule string diff --git a/deps/icu-small/source/i18n/unicode/udat.h b/deps/icu-small/source/i18n/unicode/udat.h index c67a6d6d4b3a79..bdbd080c005821 100644 --- a/deps/icu-small/source/i18n/unicode/udat.h +++ b/deps/icu-small/source/i18n/unicode/udat.h @@ -923,11 +923,13 @@ typedef enum UDateFormatBooleanAttribute { /* Do not conditionalize the following with #ifndef U_HIDE_DEPRECATED_API, * it is needed for layout of DateFormat object. */ +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * One more than the highest normal UDateFormatBooleanAttribute value. * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. */ UDAT_BOOLEAN_ATTRIBUTE_COUNT = 4 +#endif // U_FORCE_HIDE_DEPRECATED_API } UDateFormatBooleanAttribute; /** diff --git a/deps/icu-small/source/i18n/unicode/udatpg.h b/deps/icu-small/source/i18n/unicode/udatpg.h index 238a27b4f44a35..81956d12705d7d 100644 --- a/deps/icu-small/source/i18n/unicode/udatpg.h +++ b/deps/icu-small/source/i18n/unicode/udatpg.h @@ -88,11 +88,13 @@ typedef enum UDateTimePatternField { /* Do not conditionalize the following with #ifndef U_HIDE_DEPRECATED_API, * it is needed for layout of DateTimePatternGenerator object. */ +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * One more than the highest normal UDateTimePatternField value. * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. */ UDATPG_FIELD_COUNT +#endif // U_FORCE_HIDE_DEPRECATED_API } UDateTimePatternField; /** diff --git a/deps/icu-small/source/i18n/unicode/uformattedvalue.h b/deps/icu-small/source/i18n/unicode/uformattedvalue.h index d1c2ad1e49f94d..172558f7fb716a 100644 --- a/deps/icu-small/source/i18n/unicode/uformattedvalue.h +++ b/deps/icu-small/source/i18n/unicode/uformattedvalue.h @@ -7,10 +7,11 @@ #include "unicode/utypes.h" #if !UCONFIG_NO_FORMATTING -#ifndef U_HIDE_DRAFT_API #include "unicode/ufieldpositer.h" +#ifndef U_HIDE_DRAFT_API + /** * \file * \brief C API: Abstract operations for localized strings. diff --git a/deps/icu-small/source/i18n/unicode/ulistformatter.h b/deps/icu-small/source/i18n/unicode/ulistformatter.h index 4327fd5ec1bece..0fbf72c9ff6abb 100644 --- a/deps/icu-small/source/i18n/unicode/ulistformatter.h +++ b/deps/icu-small/source/i18n/unicode/ulistformatter.h @@ -41,7 +41,7 @@ struct UFormattedList; * @draft ICU 64 */ typedef struct UFormattedList UFormattedList; -#endif /* U_HIDE_DRAFT_API */ +#endif /* U_HIDE_DRAFT_API */ #ifndef U_HIDE_DRAFT_API /** @@ -61,7 +61,7 @@ typedef enum UListFormatterField { */ ULISTFMT_ELEMENT_FIELD } UListFormatterField; -#endif // U_HIDE_DRAFT_API +#endif /* U_HIDE_DRAFT_API */ /** * Open a new UListFormatter object using the rules for a given locale. diff --git a/deps/icu-small/source/i18n/unicode/unirepl.h b/deps/icu-small/source/i18n/unicode/unirepl.h index 8fb25d46890d9e..61ee37f07054fb 100644 --- a/deps/icu-small/source/i18n/unicode/unirepl.h +++ b/deps/icu-small/source/i18n/unicode/unirepl.h @@ -14,6 +14,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: UnicodeReplacer @@ -96,4 +98,6 @@ class U_I18N_API UnicodeReplacer /* not : public UObject because this is an inte U_NAMESPACE_END +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif diff --git a/deps/icu-small/source/i18n/unicode/unum.h b/deps/icu-small/source/i18n/unicode/unum.h index c03131f372b8ca..77cde03533f4d1 100644 --- a/deps/icu-small/source/i18n/unicode/unum.h +++ b/deps/icu-small/source/i18n/unicode/unum.h @@ -338,11 +338,13 @@ enum UCurrencySpacing { /* Do not conditionalize the following with #ifndef U_HIDE_DEPRECATED_API, * it is needed for layout of DecimalFormatSymbols object. */ +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * One more than the highest normal UCurrencySpacing value. * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. */ UNUM_CURRENCY_SPACING_COUNT +#endif // U_FORCE_HIDE_DEPRECATED_API }; typedef enum UCurrencySpacing UCurrencySpacing; /**< @stable ICU 4.8 */ @@ -409,7 +411,7 @@ typedef enum UNumberFormatFields { * respectively. * *

NOTE:: New users with are strongly encouraged to - * use unumf_openWithSkeletonAndLocale instead of unum_open. + * use unumf_openForSkeletonAndLocale instead of unum_open. * * @param pattern A pattern specifying the format to use. * This parameter is ignored unless the style is diff --git a/deps/icu-small/source/i18n/unicode/unumberformatter.h b/deps/icu-small/source/i18n/unicode/unumberformatter.h index e4c21a4e4ab1d1..b27507f7a8f561 100644 --- a/deps/icu-small/source/i18n/unicode/unumberformatter.h +++ b/deps/icu-small/source/i18n/unicode/unumberformatter.h @@ -77,8 +77,6 @@ * */ - -#ifndef U_HIDE_DRAFT_API /** * An enum declaring how to render units, including currencies. Example outputs when formatting 123 USD and 123 * meters in en-CA: @@ -95,7 +93,7 @@ *

* This enum is similar to {@link UMeasureFormatWidth}. * - * @draft ICU 60 + * @stable ICU 60 */ typedef enum UNumberUnitWidth { /** @@ -107,7 +105,7 @@ typedef enum UNumberUnitWidth { * In CLDR, this option corresponds to the "Narrow" format for measure units and the "¤¤¤¤¤" placeholder for * currencies. * - * @draft ICU 60 + * @stable ICU 60 */ UNUM_UNIT_WIDTH_NARROW, @@ -123,7 +121,7 @@ typedef enum UNumberUnitWidth { * In CLDR, this option corresponds to the "Short" format for measure units and the "¤" placeholder for * currencies. * - * @draft ICU 60 + * @stable ICU 60 */ UNUM_UNIT_WIDTH_SHORT, @@ -134,7 +132,7 @@ typedef enum UNumberUnitWidth { * In CLDR, this option corresponds to the default format for measure units and the "¤¤¤" placeholder for * currencies. * - * @draft ICU 60 + * @stable ICU 60 */ UNUM_UNIT_WIDTH_FULL_NAME, @@ -145,7 +143,7 @@ typedef enum UNumberUnitWidth { *

* In CLDR, this option corresponds to the "¤¤" placeholder for currencies. * - * @draft ICU 60 + * @stable ICU 60 */ UNUM_UNIT_WIDTH_ISO_CODE, @@ -154,7 +152,7 @@ typedef enum UNumberUnitWidth { * monetary symbols and formats as with SHORT, but omit the currency symbol. For measure units, the behavior is * equivalent to not specifying the unit at all. * - * @draft ICU 60 + * @stable ICU 60 */ UNUM_UNIT_WIDTH_HIDDEN, @@ -165,9 +163,7 @@ typedef enum UNumberUnitWidth { */ UNUM_UNIT_WIDTH_COUNT } UNumberUnitWidth; -#endif /* U_HIDE_DRAFT_API */ -#ifndef U_HIDE_DRAFT_API /** * An enum declaring the strategy for when and how to display grouping separators (i.e., the * separator, often a comma or period, after every 2-3 powers of ten). The choices are several @@ -192,13 +188,13 @@ typedef enum UNumberUnitWidth { * Note: This enum specifies the strategy for grouping sizes. To set which character to use as the * grouping separator, use the "symbols" setter. * - * @draft ICU 63 + * @stable ICU 63 */ typedef enum UNumberGroupingStrategy { /** * Do not display grouping separators in any locale. * - * @draft ICU 61 + * @stable ICU 61 */ UNUM_GROUPING_OFF, @@ -214,7 +210,7 @@ typedef enum UNumberGroupingStrategy { * Locale data is used to determine whether to separate larger numbers into groups of 2 * (customary in South Asia) or groups of 3 (customary in Europe and the Americas). * - * @draft ICU 61 + * @stable ICU 61 */ UNUM_GROUPING_MIN2, @@ -229,7 +225,7 @@ typedef enum UNumberGroupingStrategy { * Locale data is used to determine whether to separate larger numbers into groups of 2 * (customary in South Asia) or groups of 3 (customary in Europe and the Americas). * - * @draft ICU 61 + * @stable ICU 61 */ UNUM_GROUPING_AUTO, @@ -245,7 +241,7 @@ typedef enum UNumberGroupingStrategy { * Locale data is used to determine whether to separate larger numbers into groups of 2 * (customary in South Asia) or groups of 3 (customary in Europe and the Americas). * - * @draft ICU 61 + * @stable ICU 61 */ UNUM_GROUPING_ON_ALIGNED, @@ -253,7 +249,7 @@ typedef enum UNumberGroupingStrategy { * Use the Western defaults: groups of 3 and enabled for all numbers 1000 or greater. Do not use * locale data for determining the grouping strategy. * - * @draft ICU 61 + * @stable ICU 61 */ UNUM_GROUPING_THOUSANDS @@ -269,10 +265,6 @@ typedef enum UNumberGroupingStrategy { } UNumberGroupingStrategy; - -#endif /* U_HIDE_DRAFT_API */ - -#ifndef U_HIDE_DRAFT_API /** * An enum declaring how to denote positive and negative numbers. Example outputs when formatting * 123, 0, and -123 in en-US: @@ -290,14 +282,14 @@ typedef enum UNumberGroupingStrategy { *

* The exact format, including the position and the code point of the sign, differ by locale. * - * @draft ICU 60 + * @stable ICU 60 */ typedef enum UNumberSignDisplay { /** * Show the minus sign on negative numbers, and do not show the sign on positive numbers. This is the default * behavior. * - * @draft ICU 60 + * @stable ICU 60 */ UNUM_SIGN_AUTO, @@ -305,14 +297,14 @@ typedef enum UNumberSignDisplay { * Show the minus sign on negative numbers and the plus sign on positive numbers, including zero. * To hide the sign on zero, see {@link UNUM_SIGN_EXCEPT_ZERO}. * - * @draft ICU 60 + * @stable ICU 60 */ UNUM_SIGN_ALWAYS, /** * Do not show the sign on positive or negative numbers. * - * @draft ICU 60 + * @stable ICU 60 */ UNUM_SIGN_NEVER, @@ -328,7 +320,7 @@ typedef enum UNumberSignDisplay { * AUTO sign display strategy when formatting without a currency unit. This limitation may be lifted in the * future. * - * @draft ICU 60 + * @stable ICU 60 */ UNUM_SIGN_ACCOUNTING, @@ -338,24 +330,25 @@ typedef enum UNumberSignDisplay { * ACCOUNTING sign display strategy. To hide the sign on zero, see * {@link UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO}. * - * @draft ICU 60 + * @stable ICU 60 */ UNUM_SIGN_ACCOUNTING_ALWAYS, /** * Show the minus sign on negative numbers and the plus sign on positive numbers. Do not show a - * sign on zero. + * sign on zero or NaN, unless the sign bit is set (-0.0 gets a sign). * - * @draft ICU 61 + * @stable ICU 61 */ UNUM_SIGN_EXCEPT_ZERO, /** * Use the locale-dependent accounting format on negative numbers, and show the plus sign on - * positive numbers. Do not show a sign on zero. For more information on the accounting format, - * see the ACCOUNTING sign display strategy. + * positive numbers. Do not show a sign on zero or NaN, unless the sign bit is set (-0.0 gets a + * sign). For more information on the accounting format, see the ACCOUNTING sign display + * strategy. * - * @draft ICU 61 + * @stable ICU 61 */ UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO, @@ -366,9 +359,7 @@ typedef enum UNumberSignDisplay { */ UNUM_SIGN_COUNT } UNumberSignDisplay; -#endif /* U_HIDE_DRAFT_API */ -#ifndef U_HIDE_DRAFT_API /** * An enum declaring how to render the decimal separator. * @@ -378,21 +369,21 @@ typedef enum UNumberSignDisplay { *

  • UNUM_DECIMAL_SEPARATOR_ALWAYS: "1.", "1.1" * * - * @draft ICU 60 + * @stable ICU 60 */ typedef enum UNumberDecimalSeparatorDisplay { /** * Show the decimal separator when there are one or more digits to display after the separator, and do not show * it otherwise. This is the default behavior. * - * @draft ICU 60 + * @stable ICU 60 */ UNUM_DECIMAL_SEPARATOR_AUTO, /** * Always show the decimal separator, even if there are no digits to display after the separator. * - * @draft ICU 60 + * @stable ICU 60 */ UNUM_DECIMAL_SEPARATOR_ALWAYS, @@ -403,7 +394,6 @@ typedef enum UNumberDecimalSeparatorDisplay { */ UNUM_DECIMAL_SEPARATOR_COUNT } UNumberDecimalSeparatorDisplay; -#endif /* U_HIDE_DRAFT_API */ struct UNumberFormatter; /** @@ -649,6 +639,13 @@ unumf_resultGetAllFieldPositions(const UFormattedNumber* uresult, UFieldPosition UErrorCode* ec); +// TODO(ICU-20775): Propose this as API. +// NOTE: This is not currently implemented. +// U_DRAFT int32_t U_EXPORT2 +// unumf_resultToDecimalNumber(const UFormattedNumber* uresult, char* buffer, int32_t bufferCapacity, +// UErrorCode* ec); + + /** * Releases the UNumberFormatter created by unumf_openForSkeletonAndLocale(). * diff --git a/deps/icu-small/source/i18n/unicode/usearch.h b/deps/icu-small/source/i18n/unicode/usearch.h index 6b495ef00140f1..d9d84b4f6a9715 100644 --- a/deps/icu-small/source/i18n/unicode/usearch.h +++ b/deps/icu-small/source/i18n/unicode/usearch.h @@ -24,7 +24,7 @@ * \file * \brief C API: StringSearch * - * C Apis for an engine that provides language-sensitive text searching based + * C APIs for an engine that provides language-sensitive text searching based * on the comparison rules defined in a UCollator data struct, * see ucol.h. This ensures that language eccentricity can be * handled, e.g. for the German collator, characters ß and SS will be matched @@ -55,7 +55,7 @@ *

    * This search has APIs similar to that of other text iteration mechanisms * such as the break iterators in ubrk.h. Using these - * APIs, it is easy to scan through text looking for all occurances of + * APIs, it is easy to scan through text looking for all occurrences of * a given pattern. This search iterator allows changing of direction by * calling a reset followed by a next or previous. * Though a direction change can occur without calling reset first, @@ -130,7 +130,7 @@ * pos = usearch_next(search, &status)) * { * printf("Found match at %d pos, length is %d\n", pos, - * usearch_getMatchLength(search)); + * usearch_getMatchedLength(search)); * } * } * @@ -479,7 +479,7 @@ U_STABLE int32_t U_EXPORT2 usearch_getMatchedLength( * possible. If the buffer fits the matched text exactly, a null-termination * is not possible, then a U_STRING_NOT_TERMINATED_ERROR set in status. * Pre-flighting can be either done with length = 0 or the API -* usearch_getMatchLength. +* usearch_getMatchedLength. * @param strsrch search iterator data struct * @param result UChar buffer to store the matched string * @param resultCapacity length of the result buffer @@ -766,7 +766,7 @@ U_STABLE void U_EXPORT2 usearch_reset(UStringSearch *strsrch); #ifndef U_HIDE_INTERNAL_API /** * Simple forward search for the pattern, starting at a specified index, - * and using using a default set search options. + * and using a default set search options. * * This is an experimental function, and is not an official part of the * ICU API. @@ -783,7 +783,7 @@ U_STABLE void U_EXPORT2 usearch_reset(UStringSearch *strsrch); * are part of a combining sequence, as described below. * * A match will not include a partial combining sequence. Combining - * character sequences are considered to be inseperable units, + * character sequences are considered to be inseparable units, * and either match the pattern completely, or are considered to not match * at all. Thus, for example, an A followed a combining accent mark will * not be found when searching for a plain (unaccented) A. (unless @@ -792,7 +792,7 @@ U_STABLE void U_EXPORT2 usearch_reset(UStringSearch *strsrch); * When beginning a search, the initial starting position, startIdx, * is assumed to be an acceptable match boundary with respect to * combining characters. A combining sequence that spans across the - * starting point will not supress a match beginning at startIdx. + * starting point will not suppress a match beginning at startIdx. * * Characters that expand to multiple collation elements * (German sharp-S becoming 'ss', or the composed forms of accented @@ -843,7 +843,7 @@ U_INTERNAL UBool U_EXPORT2 usearch_search(UStringSearch *strsrch, * are part of a combining sequence, as described below. * * A match will not include a partial combining sequence. Combining - * character sequences are considered to be inseperable units, + * character sequences are considered to be inseparable units, * and either match the pattern completely, or are considered to not match * at all. Thus, for example, an A followed a combining accent mark will * not be found when searching for a plain (unaccented) A. (unless @@ -852,7 +852,7 @@ U_INTERNAL UBool U_EXPORT2 usearch_search(UStringSearch *strsrch, * When beginning a search, the initial starting position, startIdx, * is assumed to be an acceptable match boundary with respect to * combining characters. A combining sequence that spans across the - * starting point will not supress a match beginning at startIdx. + * starting point will not suppress a match beginning at startIdx. * * Characters that expand to multiple collation elements * (German sharp-S becoming 'ss', or the composed forms of accented diff --git a/deps/icu-small/source/i18n/unicode/uspoof.h b/deps/icu-small/source/i18n/unicode/uspoof.h index d15ba4b24235dc..63a13387b063be 100644 --- a/deps/icu-small/source/i18n/unicode/uspoof.h +++ b/deps/icu-small/source/i18n/unicode/uspoof.h @@ -353,6 +353,8 @@ * @stable ICU 4.6 */ +U_CDECL_BEGIN + struct USpoofChecker; /** * @stable ICU 4.2 @@ -471,7 +473,6 @@ typedef enum USpoofChecks { */ USPOOF_MIXED_NUMBERS = 128, -#ifndef U_HIDE_DRAFT_API /** * Check that an identifier does not have a combining character following a character in which that * combining character would be hidden; for example 'i' followed by a U+0307 combining dot. @@ -489,10 +490,9 @@ typedef enum USpoofChecks { * * This list and the number of combing characters considered by this check may grow over time. * - * @draft ICU 62 + * @stable ICU 62 */ USPOOF_HIDDEN_OVERLAY = 256, -#endif /* U_HIDE_DRAFT_API */ /** * Enable all spoof checks. @@ -674,25 +674,6 @@ uspoof_openFromSource(const char *confusables, int32_t confusablesLen, U_STABLE void U_EXPORT2 uspoof_close(USpoofChecker *sc); -#if U_SHOW_CPLUSPLUS_API - -U_NAMESPACE_BEGIN - -/** - * \class LocalUSpoofCheckerPointer - * "Smart pointer" class, closes a USpoofChecker via uspoof_close(). - * For most methods see the LocalPointerBase base class. - * - * @see LocalPointerBase - * @see LocalPointer - * @stable ICU 4.4 - */ -U_DEFINE_LOCAL_OPEN_POINTER(LocalUSpoofCheckerPointer, USpoofChecker, uspoof_close); - -U_NAMESPACE_END - -#endif - /** * Clone a Spoof Checker. The clone will be set to perform the same checks * as the original source. @@ -901,54 +882,6 @@ U_STABLE const USet * U_EXPORT2 uspoof_getAllowedChars(const USpoofChecker *sc, UErrorCode *status); -#if U_SHOW_CPLUSPLUS_API -/** - * Limit the acceptable characters to those specified by a Unicode Set. - * Any previously specified character limit is - * is replaced by the new settings. This includes limits on - * characters that were set with the uspoof_setAllowedLocales() function. - * - * The USPOOF_CHAR_LIMIT test is automatically enabled for this - * USoofChecker by this function. - * - * @param sc The USpoofChecker - * @param chars A Unicode Set containing the list of - * characters that are permitted. Ownership of the set - * remains with the caller. The incoming set is cloned by - * this function, so there are no restrictions on modifying - * or deleting the UnicodeSet after calling this function. - * @param status The error code, set if this function encounters a problem. - * @stable ICU 4.2 - */ -U_STABLE void U_EXPORT2 -uspoof_setAllowedUnicodeSet(USpoofChecker *sc, const icu::UnicodeSet *chars, UErrorCode *status); - - -/** - * Get a UnicodeSet for the characters permitted in an identifier. - * This corresponds to the limits imposed by the Set Allowed Characters / - * UnicodeSet functions. Limitations imposed by other checks will not be - * reflected in the set returned by this function. - * - * The returned set will be frozen, meaning that it cannot be modified - * by the caller. - * - * Ownership of the returned set remains with the Spoof Detector. The - * returned set will become invalid if the spoof detector is closed, - * or if a new set of allowed characters is specified. - * - * - * @param sc The USpoofChecker - * @param status The error code, set if this function encounters a problem. - * @return A UnicodeSet containing the characters that are permitted by - * the USPOOF_CHAR_LIMIT test. - * @stable ICU 4.2 - */ -U_STABLE const icu::UnicodeSet * U_EXPORT2 -uspoof_getAllowedUnicodeSet(const USpoofChecker *sc, UErrorCode *status); -#endif - - /** * Check the specified string for possible security issues. * The text to be checked will typically be an identifier of some sort. @@ -1027,43 +960,6 @@ uspoof_checkUTF8(const USpoofChecker *sc, UErrorCode *status); -#if U_SHOW_CPLUSPLUS_API -/** - * Check the specified string for possible security issues. - * The text to be checked will typically be an identifier of some sort. - * The set of checks to be performed is specified with uspoof_setChecks(). - * - * \note - * Consider using the newer API, {@link uspoof_check2UnicodeString}, instead. - * The newer API exposes additional information from the check procedure - * and is otherwise identical to this method. - * - * @param sc The USpoofChecker - * @param id A identifier to be checked for possible security issues. - * @param position Deprecated in ICU 51. Always returns zero. - * Originally, an out parameter for the index of the first - * string position that failed a check. - * This parameter may be NULL. - * @param status The error code, set if an error occurred while attempting to - * perform the check. - * Spoofing or security issues detected with the input string are - * not reported here, but through the function's return value. - * @return An integer value with bits set for any potential security - * or spoofing issues detected. The bits are defined by - * enum USpoofChecks. (returned_value & USPOOF_ALL_CHECKS) - * will be zero if the input string passes all of the - * enabled checks. - * @see uspoof_check2UnicodeString - * @stable ICU 4.2 - */ -U_STABLE int32_t U_EXPORT2 -uspoof_checkUnicodeString(const USpoofChecker *sc, - const icu::UnicodeString &id, - int32_t *position, - UErrorCode *status); -#endif - - /** * Check the specified string for possible security issues. * The text to be checked will typically be an identifier of some sort. @@ -1135,39 +1031,6 @@ uspoof_check2UTF8(const USpoofChecker *sc, USpoofCheckResult* checkResult, UErrorCode *status); -#if U_SHOW_CPLUSPLUS_API -/** - * Check the specified string for possible security issues. - * The text to be checked will typically be an identifier of some sort. - * The set of checks to be performed is specified with uspoof_setChecks(). - * - * @param sc The USpoofChecker - * @param id A identifier to be checked for possible security issues. - * @param checkResult An instance of USpoofCheckResult to be filled with - * details about the identifier. Can be NULL. - * @param status The error code, set if an error occurred while attempting to - * perform the check. - * Spoofing or security issues detected with the input string are - * not reported here, but through the function's return value. - * @return An integer value with bits set for any potential security - * or spoofing issues detected. The bits are defined by - * enum USpoofChecks. (returned_value & USPOOF_ALL_CHECKS) - * will be zero if the input string passes all of the - * enabled checks. Any information in this bitmask will be - * consistent with the information saved in the optional - * checkResult parameter. - * @see uspoof_openCheckResult - * @see uspoof_check2 - * @see uspoof_check2UTF8 - * @stable ICU 58 - */ -U_STABLE int32_t U_EXPORT2 -uspoof_check2UnicodeString(const USpoofChecker *sc, - const icu::UnicodeString &id, - USpoofCheckResult* checkResult, - UErrorCode *status); -#endif - /** * Create a USpoofCheckResult, used by the {@link uspoof_check2} class of functions to return * information about the identifier. Information includes: @@ -1199,32 +1062,6 @@ uspoof_openCheckResult(UErrorCode *status); U_STABLE void U_EXPORT2 uspoof_closeCheckResult(USpoofCheckResult *checkResult); -#if U_SHOW_CPLUSPLUS_API - -U_NAMESPACE_BEGIN - -/** - * \class LocalUSpoofCheckResultPointer - * "Smart pointer" class, closes a USpoofCheckResult via `uspoof_closeCheckResult()`. - * For most methods see the LocalPointerBase base class. - * - * @see LocalPointerBase - * @see LocalPointer - * @stable ICU 58 - */ - -/** - * \cond - * Note: Doxygen is giving a bogus warning on this U_DEFINE_LOCAL_OPEN_POINTER. - * For now, suppress with a Doxygen cond - */ -U_DEFINE_LOCAL_OPEN_POINTER(LocalUSpoofCheckResultPointer, USpoofCheckResult, uspoof_closeCheckResult); -/** \endcond */ - -U_NAMESPACE_END - -#endif - /** * Indicates which of the spoof check(s) have failed. The value is a bitwise OR of the constants for the tests * in question: USPOOF_RESTRICTION_LEVEL, USPOOF_CHAR_LIMIT, and so on. @@ -1355,36 +1192,6 @@ uspoof_areConfusableUTF8(const USpoofChecker *sc, -#if U_SHOW_CPLUSPLUS_API -/** - * A version of {@link uspoof_areConfusable} accepting UnicodeStrings. - * - * @param sc The USpoofChecker - * @param s1 The first of the two identifiers to be compared for - * confusability. The strings are in UTF-8 format. - * @param s2 The second of the two identifiers to be compared for - * confusability. The strings are in UTF-8 format. - * @param status The error code, set if an error occurred while attempting to - * perform the check. - * Confusability of the identifiers is not reported here, - * but through this function's return value. - * @return An integer value with bit(s) set corresponding to - * the type of confusability found, as defined by - * enum USpoofChecks. Zero is returned if the identifiers - * are not confusable. - * - * @stable ICU 4.2 - * - * @see uspoof_areConfusable - */ -U_STABLE int32_t U_EXPORT2 -uspoof_areConfusableUnicodeString(const USpoofChecker *sc, - const icu::UnicodeString &s1, - const icu::UnicodeString &s2, - UErrorCode *status); -#endif - - /** * Get the "skeleton" for an identifier. * Skeletons are a transformation of the input identifier; @@ -1463,38 +1270,6 @@ uspoof_getSkeletonUTF8(const USpoofChecker *sc, char *dest, int32_t destCapacity, UErrorCode *status); -#if U_SHOW_CPLUSPLUS_API -/** - * Get the "skeleton" for an identifier. - * Skeletons are a transformation of the input identifier; - * Two identifiers are confusable if their skeletons are identical. - * See Unicode UAX #39 for additional information. - * - * Using skeletons directly makes it possible to quickly check - * whether an identifier is confusable with any of some large - * set of existing identifiers, by creating an efficiently - * searchable collection of the skeletons. - * - * @param sc The USpoofChecker. - * @param type Deprecated in ICU 58. You may pass any number. - * Originally, controlled which of the Unicode confusable data - * tables to use. - * @param id The input identifier whose skeleton will be computed. - * @param dest The output identifier, to receive the skeleton string. - * @param status The error code, set if an error occurred while attempting to - * perform the check. - * @return A reference to the destination (skeleton) string. - * - * @stable ICU 4.2 - */ -U_I18N_API icu::UnicodeString & U_EXPORT2 -uspoof_getSkeletonUnicodeString(const USpoofChecker *sc, - uint32_t type, - const icu::UnicodeString &id, - icu::UnicodeString &dest, - UErrorCode *status); -#endif /* U_SHOW_CPLUSPLUS_API */ - /** * Get the set of Candidate Characters for Inclusion in Identifiers, as defined * in http://unicode.org/Public/security/latest/xidmodifications.txt @@ -1525,8 +1300,243 @@ uspoof_getInclusionSet(UErrorCode *status); U_STABLE const USet * U_EXPORT2 uspoof_getRecommendedSet(UErrorCode *status); +/** + * Serialize the data for a spoof detector into a chunk of memory. + * The flattened spoof detection tables can later be used to efficiently + * instantiate a new Spoof Detector. + * + * The serialized spoof checker includes only the data compiled from the + * Unicode data tables by uspoof_openFromSource(); it does not include + * include any other state or configuration that may have been set. + * + * @param sc the Spoof Detector whose data is to be serialized. + * @param data a pointer to 32-bit-aligned memory to be filled with the data, + * can be NULL if capacity==0 + * @param capacity the number of bytes available at data, + * or 0 for preflighting + * @param status an in/out ICU UErrorCode; possible errors include: + * - U_BUFFER_OVERFLOW_ERROR if the data storage block is too small for serialization + * - U_ILLEGAL_ARGUMENT_ERROR the data or capacity parameters are bad + * @return the number of bytes written or needed for the spoof data + * + * @see utrie2_openFromSerialized() + * @stable ICU 4.2 + */ +U_STABLE int32_t U_EXPORT2 +uspoof_serialize(USpoofChecker *sc, + void *data, int32_t capacity, + UErrorCode *status); + +U_CDECL_END + #if U_SHOW_CPLUSPLUS_API +U_NAMESPACE_BEGIN + +/** + * \class LocalUSpoofCheckerPointer + * "Smart pointer" class, closes a USpoofChecker via uspoof_close(). + * For most methods see the LocalPointerBase base class. + * + * @see LocalPointerBase + * @see LocalPointer + * @stable ICU 4.4 + */ +/** + * \cond + * Note: Doxygen is giving a bogus warning on this U_DEFINE_LOCAL_OPEN_POINTER. + * For now, suppress with a Doxygen cond + */ +U_DEFINE_LOCAL_OPEN_POINTER(LocalUSpoofCheckerPointer, USpoofChecker, uspoof_close); +/** \endcond */ + +/** + * \class LocalUSpoofCheckResultPointer + * "Smart pointer" class, closes a USpoofCheckResult via `uspoof_closeCheckResult()`. + * For most methods see the LocalPointerBase base class. + * + * @see LocalPointerBase + * @see LocalPointer + * @stable ICU 58 + */ + +/** + * \cond + * Note: Doxygen is giving a bogus warning on this U_DEFINE_LOCAL_OPEN_POINTER. + * For now, suppress with a Doxygen cond + */ +U_DEFINE_LOCAL_OPEN_POINTER(LocalUSpoofCheckResultPointer, USpoofCheckResult, uspoof_closeCheckResult); +/** \endcond */ + +U_NAMESPACE_END + +/** + * Limit the acceptable characters to those specified by a Unicode Set. + * Any previously specified character limit is + * is replaced by the new settings. This includes limits on + * characters that were set with the uspoof_setAllowedLocales() function. + * + * The USPOOF_CHAR_LIMIT test is automatically enabled for this + * USoofChecker by this function. + * + * @param sc The USpoofChecker + * @param chars A Unicode Set containing the list of + * characters that are permitted. Ownership of the set + * remains with the caller. The incoming set is cloned by + * this function, so there are no restrictions on modifying + * or deleting the UnicodeSet after calling this function. + * @param status The error code, set if this function encounters a problem. + * @stable ICU 4.2 + */ +U_STABLE void U_EXPORT2 +uspoof_setAllowedUnicodeSet(USpoofChecker *sc, const icu::UnicodeSet *chars, UErrorCode *status); + + +/** + * Get a UnicodeSet for the characters permitted in an identifier. + * This corresponds to the limits imposed by the Set Allowed Characters / + * UnicodeSet functions. Limitations imposed by other checks will not be + * reflected in the set returned by this function. + * + * The returned set will be frozen, meaning that it cannot be modified + * by the caller. + * + * Ownership of the returned set remains with the Spoof Detector. The + * returned set will become invalid if the spoof detector is closed, + * or if a new set of allowed characters is specified. + * + * + * @param sc The USpoofChecker + * @param status The error code, set if this function encounters a problem. + * @return A UnicodeSet containing the characters that are permitted by + * the USPOOF_CHAR_LIMIT test. + * @stable ICU 4.2 + */ +U_STABLE const icu::UnicodeSet * U_EXPORT2 +uspoof_getAllowedUnicodeSet(const USpoofChecker *sc, UErrorCode *status); + +/** + * Check the specified string for possible security issues. + * The text to be checked will typically be an identifier of some sort. + * The set of checks to be performed is specified with uspoof_setChecks(). + * + * \note + * Consider using the newer API, {@link uspoof_check2UnicodeString}, instead. + * The newer API exposes additional information from the check procedure + * and is otherwise identical to this method. + * + * @param sc The USpoofChecker + * @param id A identifier to be checked for possible security issues. + * @param position Deprecated in ICU 51. Always returns zero. + * Originally, an out parameter for the index of the first + * string position that failed a check. + * This parameter may be NULL. + * @param status The error code, set if an error occurred while attempting to + * perform the check. + * Spoofing or security issues detected with the input string are + * not reported here, but through the function's return value. + * @return An integer value with bits set for any potential security + * or spoofing issues detected. The bits are defined by + * enum USpoofChecks. (returned_value & USPOOF_ALL_CHECKS) + * will be zero if the input string passes all of the + * enabled checks. + * @see uspoof_check2UnicodeString + * @stable ICU 4.2 + */ +U_STABLE int32_t U_EXPORT2 +uspoof_checkUnicodeString(const USpoofChecker *sc, + const icu::UnicodeString &id, + int32_t *position, + UErrorCode *status); + +/** + * Check the specified string for possible security issues. + * The text to be checked will typically be an identifier of some sort. + * The set of checks to be performed is specified with uspoof_setChecks(). + * + * @param sc The USpoofChecker + * @param id A identifier to be checked for possible security issues. + * @param checkResult An instance of USpoofCheckResult to be filled with + * details about the identifier. Can be NULL. + * @param status The error code, set if an error occurred while attempting to + * perform the check. + * Spoofing or security issues detected with the input string are + * not reported here, but through the function's return value. + * @return An integer value with bits set for any potential security + * or spoofing issues detected. The bits are defined by + * enum USpoofChecks. (returned_value & USPOOF_ALL_CHECKS) + * will be zero if the input string passes all of the + * enabled checks. Any information in this bitmask will be + * consistent with the information saved in the optional + * checkResult parameter. + * @see uspoof_openCheckResult + * @see uspoof_check2 + * @see uspoof_check2UTF8 + * @stable ICU 58 + */ +U_STABLE int32_t U_EXPORT2 +uspoof_check2UnicodeString(const USpoofChecker *sc, + const icu::UnicodeString &id, + USpoofCheckResult* checkResult, + UErrorCode *status); + +/** + * A version of {@link uspoof_areConfusable} accepting UnicodeStrings. + * + * @param sc The USpoofChecker + * @param s1 The first of the two identifiers to be compared for + * confusability. The strings are in UTF-8 format. + * @param s2 The second of the two identifiers to be compared for + * confusability. The strings are in UTF-8 format. + * @param status The error code, set if an error occurred while attempting to + * perform the check. + * Confusability of the identifiers is not reported here, + * but through this function's return value. + * @return An integer value with bit(s) set corresponding to + * the type of confusability found, as defined by + * enum USpoofChecks. Zero is returned if the identifiers + * are not confusable. + * + * @stable ICU 4.2 + * + * @see uspoof_areConfusable + */ +U_STABLE int32_t U_EXPORT2 +uspoof_areConfusableUnicodeString(const USpoofChecker *sc, + const icu::UnicodeString &s1, + const icu::UnicodeString &s2, + UErrorCode *status); + +/** + * Get the "skeleton" for an identifier. + * Skeletons are a transformation of the input identifier; + * Two identifiers are confusable if their skeletons are identical. + * See Unicode UAX #39 for additional information. + * + * Using skeletons directly makes it possible to quickly check + * whether an identifier is confusable with any of some large + * set of existing identifiers, by creating an efficiently + * searchable collection of the skeletons. + * + * @param sc The USpoofChecker. + * @param type Deprecated in ICU 58. You may pass any number. + * Originally, controlled which of the Unicode confusable data + * tables to use. + * @param id The input identifier whose skeleton will be computed. + * @param dest The output identifier, to receive the skeleton string. + * @param status The error code, set if an error occurred while attempting to + * perform the check. + * @return A reference to the destination (skeleton) string. + * + * @stable ICU 4.2 + */ +U_I18N_API icu::UnicodeString & U_EXPORT2 +uspoof_getSkeletonUnicodeString(const USpoofChecker *sc, + uint32_t type, + const icu::UnicodeString &id, + icu::UnicodeString &dest, + UErrorCode *status); + /** * Get the set of Candidate Characters for Inclusion in Identifiers, as defined * in http://unicode.org/Public/security/latest/xidmodifications.txt @@ -1559,34 +1569,6 @@ uspoof_getRecommendedUnicodeSet(UErrorCode *status); #endif /* U_SHOW_CPLUSPLUS_API */ -/** - * Serialize the data for a spoof detector into a chunk of memory. - * The flattened spoof detection tables can later be used to efficiently - * instantiate a new Spoof Detector. - * - * The serialized spoof checker includes only the data compiled from the - * Unicode data tables by uspoof_openFromSource(); it does not include - * include any other state or configuration that may have been set. - * - * @param sc the Spoof Detector whose data is to be serialized. - * @param data a pointer to 32-bit-aligned memory to be filled with the data, - * can be NULL if capacity==0 - * @param capacity the number of bytes available at data, - * or 0 for preflighting - * @param status an in/out ICU UErrorCode; possible errors include: - * - U_BUFFER_OVERFLOW_ERROR if the data storage block is too small for serialization - * - U_ILLEGAL_ARGUMENT_ERROR the data or capacity parameters are bad - * @return the number of bytes written or needed for the spoof data - * - * @see utrie2_openFromSerialized() - * @stable ICU 4.2 - */ -U_STABLE int32_t U_EXPORT2 -uspoof_serialize(USpoofChecker *sc, - void *data, int32_t capacity, - UErrorCode *status); - - -#endif +#endif /* UCONFIG_NO_NORMALIZATION */ #endif /* USPOOF_H */ diff --git a/deps/icu-small/source/i18n/unicode/utrans.h b/deps/icu-small/source/i18n/unicode/utrans.h index 7672b4428fba3c..56640eda967cbe 100644 --- a/deps/icu-small/source/i18n/unicode/utrans.h +++ b/deps/icu-small/source/i18n/unicode/utrans.h @@ -142,7 +142,7 @@ typedef struct UTransPosition { int32_t contextLimit; /** - * Beginning index, inclusive, of the text to be transliteratd. + * Beginning index, inclusive, of the text to be transliterated. * INPUT/OUTPUT parameter: This parameter is advanced past * characters that have already been transliterated by a * transliteration operation. @@ -151,7 +151,7 @@ typedef struct UTransPosition { int32_t start; /** - * Ending index, exclusive, of the text to be transliteratd. + * Ending index, exclusive, of the text to be transliterated. * INPUT/OUTPUT parameter: This parameter is updated to reflect * changes in the length of the text, but points to the same * logical position in the text. @@ -389,7 +389,7 @@ utrans_trans(const UTransliterator* trans, /** * Transliterate the portion of the UReplaceable text buffer that can - * be transliterated unambiguosly. This method is typically called + * be transliterated unambiguously. This method is typically called * after new text has been inserted, e.g. as a result of a keyboard * event. The transliterator will try to transliterate characters of * rep between index.cursor and @@ -454,8 +454,7 @@ utrans_transIncremental(const UTransliterator* trans, * zero-terminated. Upon return, the new length is stored in * *textLength. If textLength is NULL then the string is assumed to * be zero-terminated. - * @param textCapacity a pointer to the length of the text buffer. - * Upon return, + * @param textCapacity the length of the text buffer * @param start the beginning index, inclusive; 0 <= start <= * limit. * @param limit pointer to the ending index, exclusive; start <= @@ -479,7 +478,7 @@ utrans_transUChars(const UTransliterator* trans, /** * Transliterate the portion of the UChar* text buffer that can be - * transliterated unambiguosly. See utrans_transIncremental(). The + * transliterated unambiguously. See utrans_transIncremental(). The * string is passed in in a UChar* buffer. The string is modified in * place. If the result is longer than textCapacity, it is truncated. * The actual length of the result is returned in *textLength, if diff --git a/deps/icu-small/source/i18n/unicode/vtzone.h b/deps/icu-small/source/i18n/unicode/vtzone.h index 5d161778682313..43a5652d6a20f0 100644 --- a/deps/icu-small/source/i18n/unicode/vtzone.h +++ b/deps/icu-small/source/i18n/unicode/vtzone.h @@ -11,6 +11,8 @@ #include "unicode/utypes.h" +#if U_SHOW_CPLUSPLUS_API + /** * \file * \brief C++ API: RFC2445 VTIMEZONE support @@ -185,7 +187,7 @@ class U_I18N_API VTimeZone : public BasicTimeZone { * @return A new copy of this TimeZone object. * @stable ICU 3.8 */ - virtual TimeZone* clone(void) const; + virtual VTimeZone* clone() const; /** * Returns the TimeZone's adjusted GMT offset (i.e., the number of milliseconds to add @@ -288,6 +290,7 @@ class U_I18N_API VTimeZone : public BasicTimeZone { */ virtual UBool useDaylightTime(void) const; +#ifndef U_FORCE_HIDE_DEPRECATED_API /** * Queries if the given date is in daylight savings time in * this time zone. @@ -302,6 +305,7 @@ class U_I18N_API VTimeZone : public BasicTimeZone { * @deprecated ICU 2.4. Use Calendar::inDaylightTime() instead. */ virtual UBool inDaylightTime(UDate date, UErrorCode& status) const; +#endif // U_FORCE_HIDE_DEPRECATED_API /** * Returns true if this zone has the same rule and offset as another zone. @@ -453,5 +457,7 @@ U_NAMESPACE_END #endif /* #if !UCONFIG_NO_FORMATTING */ +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif // VTZONE_H //eof diff --git a/deps/icu-small/source/i18n/unum.cpp b/deps/icu-small/source/i18n/unum.cpp index 907a1cd95e138f..ba3d519162ce54 100644 --- a/deps/icu-small/source/i18n/unum.cpp +++ b/deps/icu-small/source/i18n/unum.cpp @@ -135,6 +135,11 @@ unum_open( UNumberFormatStyle style, *status = U_MEMORY_ALLOCATION_ERROR; } + if (U_FAILURE(*status) && retVal != NULL) { + delete retVal; + retVal = NULL; + } + return reinterpret_cast(retVal); } diff --git a/deps/icu-small/source/i18n/usearch.cpp b/deps/icu-small/source/i18n/usearch.cpp index 0e9b876d2babb7..1b22e201e53294 100644 --- a/deps/icu-small/source/i18n/usearch.cpp +++ b/deps/icu-small/source/i18n/usearch.cpp @@ -317,7 +317,7 @@ inline uint16_t initializePatternCETable(UStringSearch *strsrch, uprv_free(pattern->ces); } - uint16_t offset = 0; + uint32_t offset = 0; uint16_t result = 0; int32_t ce; @@ -388,7 +388,7 @@ inline uint16_t initializePatternPCETable(UStringSearch *strsrch, uprv_free(pattern->pces); } - uint16_t offset = 0; + uint32_t offset = 0; uint16_t result = 0; int64_t pce; @@ -1351,7 +1351,7 @@ inline int getUnblockedAccentIndex(UChar *accents, int32_t *accentsindex) * @param destinationlength target array size, returning the appended length * @param source1 null-terminated first array * @param source2 second array -* @param source2length length of seond array +* @param source2length length of second array * @param source3 null-terminated third array * @param status error status if any * @return new destination array, destination if there was no new allocation @@ -1560,7 +1560,7 @@ inline void cleanUpSafeText(const UStringSearch *strsrch, UChar *safetext, /** * Take the rearranged end accents and tries matching. If match failed at -* a seperate preceding set of accents (seperated from the rearranged on by +* a separate preceding set of accents (separated from the rearranged on by * at least a base character) then we rearrange the preceding accents and * tries matching again. * We allow skipping of the ends of the accent set if the ces do not match. @@ -2220,7 +2220,7 @@ int32_t doPreviousCanonicalSuffixMatch(UStringSearch *strsrch, /** * Take the rearranged start accents and tries matching. If match failed at -* a seperate following set of accents (seperated from the rearranged on by +* a separate following set of accents (separated from the rearranged on by * at least a base character) then we rearrange the preceding accents and * tries matching again. * We allow skipping of the ends of the accent set if the ces do not match. @@ -3544,7 +3544,12 @@ const CEI *CEIBuffer::get(int32_t index) { // Verify that it is the next one in sequence, which is all // that is allowed. if (index != limitIx) { - UPRV_UNREACHABLE; + U_ASSERT(FALSE); + // TODO: In ICU 64 the above assert was changed to use UPRV_UNREACHABLE instead + // which unconditionally calls abort(). However, there were cases where this was + // being hit. This change is reverted for now, restoring the existing behavior. + // ICU-20792 tracks the follow-up work/further investigation on this. + return NULL; } // Manage the circular CE buffer indexing @@ -3581,7 +3586,12 @@ const CEI *CEIBuffer::getPrevious(int32_t index) { // Verify that it is the next one in sequence, which is all // that is allowed. if (index != limitIx) { - UPRV_UNREACHABLE; + U_ASSERT(FALSE); + // TODO: In ICU 64 the above assert was changed to use UPRV_UNREACHABLE instead + // which unconditionally calls abort(). However, there were cases where this was + // being hit. This change is reverted for now, restoring the existing behavior. + // ICU-20792 tracks the follow-up work/further investigation on this. + return NULL; } // Manage the circular CE buffer indexing @@ -3852,7 +3862,7 @@ U_CAPI UBool U_EXPORT2 usearch_search(UStringSearch *strsrch, #endif // Input parameter sanity check. - // TODO: should input indicies clip to the text length + // TODO: should input indices clip to the text length // in the same way that UText does. if(strsrch->pattern.cesLength == 0 || startIdx < 0 || @@ -4014,7 +4024,7 @@ U_CAPI UBool U_EXPORT2 usearch_search(UStringSearch *strsrch, // Check for the start of the match being within an Collation Element Expansion, // meaning that the first char of the match is only partially matched. - // With exapnsions, the first CE will report the index of the source + // With expansions, the first CE will report the index of the source // character, and all subsequent (expansions) CEs will report the source index of the // _following_ character. int32_t secondIx = firstCEI->highIndex; diff --git a/deps/icu-small/source/i18n/uspoof.cpp b/deps/icu-small/source/i18n/uspoof.cpp index c8fbec27bb9b6f..c44c60028badcc 100644 --- a/deps/icu-small/source/i18n/uspoof.cpp +++ b/deps/icu-small/source/i18n/uspoof.cpp @@ -349,7 +349,7 @@ uspoof_setAllowedUnicodeSet(USpoofChecker *sc, const UnicodeSet *chars, UErrorCo *status = U_ILLEGAL_ARGUMENT_ERROR; return; } - UnicodeSet *clonedSet = static_cast(chars->clone()); + UnicodeSet *clonedSet = chars->clone(); if (clonedSet == NULL || clonedSet->isBogus()) { *status = U_MEMORY_ALLOCATION_ERROR; return; diff --git a/deps/icu-small/source/i18n/uspoof_impl.cpp b/deps/icu-small/source/i18n/uspoof_impl.cpp index 85a028bdfa02f2..3c1f84a19ba929 100644 --- a/deps/icu-small/source/i18n/uspoof_impl.cpp +++ b/deps/icu-small/source/i18n/uspoof_impl.cpp @@ -82,7 +82,7 @@ SpoofImpl::SpoofImpl(const SpoofImpl &src, UErrorCode &status) : if (src.fSpoofData != NULL) { fSpoofData = src.fSpoofData->addReference(); } - fAllowedCharsSet = static_cast(src.fAllowedCharsSet->clone()); + fAllowedCharsSet = src.fAllowedCharsSet->clone(); fAllowedLocales = uprv_strdup(src.fAllowedLocales); if (fAllowedCharsSet == NULL || fAllowedLocales == NULL) { status = U_MEMORY_ALLOCATION_ERROR; @@ -193,7 +193,7 @@ void SpoofImpl::setAllowedLocales(const char *localesList, UErrorCode &status) { } // Store the updated spoof checker state. - tmpSet = static_cast(allowedChars.clone()); + tmpSet = allowedChars.clone(); const char *tmpLocalesList = uprv_strdup(localesList); if (tmpSet == NULL || tmpLocalesList == NULL) { status = U_MEMORY_ALLOCATION_ERROR; diff --git a/deps/icu-small/source/i18n/vtzone.cpp b/deps/icu-small/source/i18n/vtzone.cpp index e39eada51b7f61..bda3d1115e3d13 100644 --- a/deps/icu-small/source/i18n/vtzone.cpp +++ b/deps/icu-small/source/i18n/vtzone.cpp @@ -965,7 +965,7 @@ VTimeZone::VTimeZone(const VTimeZone& source) tzurl(source.tzurl), lastmod(source.lastmod), olsonzid(source.olsonzid), icutzver(source.icutzver) { if (source.tz != NULL) { - tz = (BasicTimeZone*)source.tz->clone(); + tz = source.tz->clone(); } if (source.vtzlines != NULL) { UErrorCode status = U_ZERO_ERROR; @@ -1007,7 +1007,7 @@ VTimeZone::operator=(const VTimeZone& right) { tz = NULL; } if (right.tz != NULL) { - tz = (BasicTimeZone*)right.tz->clone(); + tz = right.tz->clone(); } if (vtzlines != NULL) { delete vtzlines; @@ -1092,7 +1092,7 @@ VTimeZone::createVTimeZoneFromBasicTimeZone(const BasicTimeZone& basic_time_zone status = U_MEMORY_ALLOCATION_ERROR; return NULL; } - vtz->tz = (BasicTimeZone *)basic_time_zone.clone(); + vtz->tz = basic_time_zone.clone(); if (vtz->tz == NULL) { status = U_MEMORY_ALLOCATION_ERROR; delete vtz; @@ -1177,8 +1177,8 @@ VTimeZone::writeSimple(UDate time, UnicodeString& result, UErrorCode& status) co writeSimple(time, writer, status); } -TimeZone* -VTimeZone::clone(void) const { +VTimeZone* +VTimeZone::clone() const { return new VTimeZone(*this); } @@ -1957,7 +1957,7 @@ VTimeZone::writeZone(VTZWriter& w, BasicTimeZone& basictz, && (atzrule = dynamic_cast(tzt.getTo())) != NULL && atzrule->getEndYear() == AnnualTimeZoneRule::MAX_YEAR ) { - finalDstRule = (AnnualTimeZoneRule*)tzt.getTo()->clone(); + finalDstRule = atzrule->clone(); } if (dstCount > 0) { if (year == dstStartYear + dstCount @@ -2008,7 +2008,7 @@ VTimeZone::writeZone(VTZWriter& w, BasicTimeZone& basictz, && (atzrule = dynamic_cast(tzt.getTo())) != NULL && atzrule->getEndYear() == AnnualTimeZoneRule::MAX_YEAR ) { - finalStdRule = (AnnualTimeZoneRule*)tzt.getTo()->clone(); + finalStdRule = atzrule->clone(); } if (stdCount > 0) { if (year == stdStartYear + stdCount diff --git a/deps/icu-small/source/i18n/windtfmt.cpp b/deps/icu-small/source/i18n/windtfmt.cpp index 983fd46c122e6f..c35adc09875724 100644 --- a/deps/icu-small/source/i18n/windtfmt.cpp +++ b/deps/icu-small/source/i18n/windtfmt.cpp @@ -213,7 +213,7 @@ Win32DateFormat &Win32DateFormat::operator=(const Win32DateFormat &other) return *this; } -Format *Win32DateFormat::clone(void) const +Win32DateFormat *Win32DateFormat::clone() const { return new Win32DateFormat(*this); } diff --git a/deps/icu-small/source/i18n/windtfmt.h b/deps/icu-small/source/i18n/windtfmt.h index 43b6fe6dba269e..f13a1ae687c342 100644 --- a/deps/icu-small/source/i18n/windtfmt.h +++ b/deps/icu-small/source/i18n/windtfmt.h @@ -48,7 +48,7 @@ class Win32DateFormat : public DateFormat virtual ~Win32DateFormat(); - virtual Format *clone(void) const; + virtual Win32DateFormat *clone() const; Win32DateFormat &operator=(const Win32DateFormat &other); diff --git a/deps/icu-small/source/i18n/winnmfmt.cpp b/deps/icu-small/source/i18n/winnmfmt.cpp index b1724b62c27279..1ae2310123a252 100644 --- a/deps/icu-small/source/i18n/winnmfmt.cpp +++ b/deps/icu-small/source/i18n/winnmfmt.cpp @@ -294,7 +294,7 @@ Win32NumberFormat &Win32NumberFormat::operator=(const Win32NumberFormat &other) return *this; } -Format *Win32NumberFormat::clone(void) const +Win32NumberFormat *Win32NumberFormat::clone() const { return new Win32NumberFormat(*this); } diff --git a/deps/icu-small/source/i18n/winnmfmt.h b/deps/icu-small/source/i18n/winnmfmt.h index 7ea5da91705476..8cf59ccf48d740 100644 --- a/deps/icu-small/source/i18n/winnmfmt.h +++ b/deps/icu-small/source/i18n/winnmfmt.h @@ -44,7 +44,7 @@ class Win32NumberFormat : public NumberFormat virtual ~Win32NumberFormat(); - virtual Format *clone(void) const; + virtual Win32NumberFormat *clone() const; Win32NumberFormat &operator=(const Win32NumberFormat &other); diff --git a/deps/icu-small/source/i18n/zonemeta.cpp b/deps/icu-small/source/i18n/zonemeta.cpp index 0e3ee893161122..72c590f424723f 100644 --- a/deps/icu-small/source/i18n/zonemeta.cpp +++ b/deps/icu-small/source/i18n/zonemeta.cpp @@ -30,10 +30,7 @@ #include "olsontz.h" #include "uinvchar.h" -static icu::UMutex *gZoneMetaLock() { - static icu::UMutex m = U_MUTEX_INITIALIZER; - return &m; -} +static icu::UMutex gZoneMetaLock; // CLDR Canonical ID mapping table static UHashtable *gCanonicalIDCache = NULL; @@ -266,11 +263,11 @@ ZoneMeta::getCanonicalCLDRID(const UnicodeString &tzid, UErrorCode& status) { } // Check if it was already cached - umtx_lock(gZoneMetaLock()); + umtx_lock(&gZoneMetaLock); { canonicalID = (const UChar *)uhash_get(gCanonicalIDCache, utzid); } - umtx_unlock(gZoneMetaLock()); + umtx_unlock(&gZoneMetaLock); if (canonicalID != NULL) { return canonicalID; @@ -351,7 +348,7 @@ ZoneMeta::getCanonicalCLDRID(const UnicodeString &tzid, UErrorCode& status) { U_ASSERT(canonicalID != NULL); // canocanilD must be non-NULL here // Put the resolved canonical ID to the cache - umtx_lock(gZoneMetaLock()); + umtx_lock(&gZoneMetaLock); { const UChar* idInCache = (const UChar *)uhash_get(gCanonicalIDCache, utzid); if (idInCache == NULL) { @@ -371,7 +368,7 @@ ZoneMeta::getCanonicalCLDRID(const UnicodeString &tzid, UErrorCode& status) { } } } - umtx_unlock(gZoneMetaLock()); + umtx_unlock(&gZoneMetaLock); } return canonicalID; @@ -449,14 +446,14 @@ ZoneMeta::getCanonicalCountry(const UnicodeString &tzid, UnicodeString &country, // Check if it was already cached UBool cached = FALSE; UBool singleZone = FALSE; - umtx_lock(gZoneMetaLock()); + umtx_lock(&gZoneMetaLock); { singleZone = cached = gSingleZoneCountries->contains((void*)region); if (!cached) { cached = gMultiZonesCountries->contains((void*)region); } } - umtx_unlock(gZoneMetaLock()); + umtx_unlock(&gZoneMetaLock); if (!cached) { // We need to go through all zones associated with the region. @@ -475,7 +472,7 @@ ZoneMeta::getCanonicalCountry(const UnicodeString &tzid, UnicodeString &country, delete ids; // Cache the result - umtx_lock(gZoneMetaLock()); + umtx_lock(&gZoneMetaLock); { UErrorCode ec = U_ZERO_ERROR; if (singleZone) { @@ -488,7 +485,7 @@ ZoneMeta::getCanonicalCountry(const UnicodeString &tzid, UnicodeString &country, } } } - umtx_unlock(gZoneMetaLock()); + umtx_unlock(&gZoneMetaLock); } if (singleZone) { @@ -575,11 +572,11 @@ ZoneMeta::getMetazoneMappings(const UnicodeString &tzid) { // get the mapping from cache const UVector *result = NULL; - umtx_lock(gZoneMetaLock()); + umtx_lock(&gZoneMetaLock); { result = (UVector*) uhash_get(gOlsonToMeta, tzidUChars); } - umtx_unlock(gZoneMetaLock()); + umtx_unlock(&gZoneMetaLock); if (result != NULL) { return result; @@ -593,7 +590,7 @@ ZoneMeta::getMetazoneMappings(const UnicodeString &tzid) { } // put the new one into the cache - umtx_lock(gZoneMetaLock()); + umtx_lock(&gZoneMetaLock); { // make sure it's already created result = (UVector*) uhash_get(gOlsonToMeta, tzidUChars); @@ -621,7 +618,7 @@ ZoneMeta::getMetazoneMappings(const UnicodeString &tzid) { delete tmpResult; } } - umtx_unlock(gZoneMetaLock()); + umtx_unlock(&gZoneMetaLock); return result; } diff --git a/deps/icu-small/source/python/icutools/databuilder/filtration_schema.json b/deps/icu-small/source/python/icutools/databuilder/filtration_schema.json new file mode 100644 index 00000000000000..2b7ff9989992a1 --- /dev/null +++ b/deps/icu-small/source/python/icutools/databuilder/filtration_schema.json @@ -0,0 +1,169 @@ +// Copyright (C) 2018 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html + +{ + "$id": "http://unicode.org/icu-filter-schema", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "JSON Schema for an ICU data filter file", + "type": "object", + "properties": { + "strategy": { + "type": "string", + "enum": ["additive", "subtractive"] + }, + "localeFilter": { "$ref": "#/definitions/filter" }, + "featureFilters": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { "$ref": "#/definitions/filter" }, + { + "type": "string", + "enum": ["include", "exclude"] + } + ] + } + }, + "resourceFilters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "categories": { + "type": "array", + "items": { "type": "string" } + }, + "files": { "$ref": "#/definitions/filter" }, + "rules": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[+-]/[\\S]*$" + } + } + }, + "required": ["categories", "rules"], + "additionalProperties": false + } + }, + "fileReplacements": { + "type": "object", + "properties": { + "directory": { + "type": "string", + "pattern": "^(\\$SRC|\\$FILTERS|\\$CWD|/$|/[^/]+)(/[^/]+)*$" + }, + "replacements": { + "type": "array", + "items": { + "oneOf": [ + { "type": "string" }, + { + "type": "object", + "properties": { + "src": { "type": "string" }, + "dest": { "type": "string" } + }, + "additionalProperties": false, + "required": ["src", "dest"] + } + ] + } + } + }, + "additionalProperties": false, + "required": ["directory", "replacements"] + }, + "collationUCAData": { + "type": "string", + "enum": ["unihan", "implicithan"] + }, + "usePoolBundle": { + "type": "boolean" + } + }, + "additionalProperties": false, + "definitions": { + "filter": { + "type": "object", + "oneOf": [ + { + "properties": { + "filterType": { + "$ref": "#/definitions/blacklistWhitelistFilterTypes" + }, + "whitelist": { "$ref": "#/definitions/stringList" } + }, + "required": ["whitelist"], + "additionalProperties": false + }, + { + "properties": { + "filterType": { + "$ref": "#/definitions/blacklistWhitelistFilterTypes" + }, + "blacklist": { "$ref": "#/definitions/stringList" } + }, + "required": ["blacklist"], + "additionalProperties": false + }, + { + "properties": { + "filterType": { + "type": "string", + "enum": ["exclude"] + } + }, + "required": ["filterType"], + "additionalProperties": false + }, + { + "properties": { + "filterType": { + "type": "string", + "enum": ["locale"] + }, + "includeChildren": { + "type": "boolean" + }, + "includeScripts": { + "type": "boolean" + }, + "whitelist": { "$ref": "#/definitions/stringList" } + }, + "required": ["filterType", "whitelist"], + "additionalProperties": false + }, + { + "properties": { + "filterType": { + "type": "string", + "enum": ["union"] + }, + "unionOf": { + "type": "array", + "items": { "$ref": "#/definitions/filter" } + } + }, + "required": ["filterType", "unionOf"], + "additionalProperties": false + } + ] + }, + "blacklistWhitelistFilterTypes": { + "type": "string", + "enum": [ + "language", + "regex" + ] + }, + "stringList": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1, + "uniqueItems": true + } + } +} diff --git a/deps/icu-small/source/tools/genccode/genccode.c b/deps/icu-small/source/tools/genccode/genccode.c index d35b5890105d9c..91e94d7f5181c4 100644 --- a/deps/icu-small/source/tools/genccode/genccode.c +++ b/deps/icu-small/source/tools/genccode/genccode.c @@ -63,6 +63,7 @@ enum { kOptHelpH = 0, kOptHelpQuestionMark, kOptDestDir, + kOptQuiet, kOptName, kOptEntryPoint, #ifdef CAN_GENERATE_OBJECTS @@ -77,6 +78,7 @@ static UOption options[]={ /*0*/UOPTION_HELP_H, UOPTION_HELP_QUESTION_MARK, UOPTION_DESTDIR, + UOPTION_QUIET, UOPTION_DEF("name", 'n', UOPT_REQUIRES_ARG), UOPTION_DEF("entrypoint", 'e', UOPT_REQUIRES_ARG), #ifdef CAN_GENERATE_OBJECTS @@ -116,6 +118,7 @@ main(int argc, char* argv[]) { "options:\n" "\t-h or -? or --help this usage text\n" "\t-d or --destdir destination directory, followed by the path\n" + "\t-q or --quiet do not display warnings and progress\n" "\t-n or --name symbol prefix, followed by the prefix\n" "\t-e or --entrypoint entry point name, followed by the name (_dat will be appended)\n" "\t-r or --revision Specify a version\n" @@ -159,6 +162,9 @@ main(int argc, char* argv[]) { writeCode = CALL_WRITECCODE; /* TODO: remove writeCode=&writeCCode; */ } + if (options[kOptQuiet].doesOccur) { + verbose = FALSE; + } while(--argc) { filename=getLongPathname(argv[argc]); if (verbose) { @@ -170,13 +176,15 @@ main(int argc, char* argv[]) { writeCCode(filename, options[kOptDestDir].value, options[kOptName].doesOccur ? options[kOptName].value : NULL, options[kOptFilename].doesOccur ? options[kOptFilename].value : NULL, - NULL); + NULL, + 0); break; case CALL_WRITEASSEMBLY: writeAssemblyCode(filename, options[kOptDestDir].value, options[kOptEntryPoint].doesOccur ? options[kOptEntryPoint].value : NULL, options[kOptFilename].doesOccur ? options[kOptFilename].value : NULL, - NULL); + NULL, + 0); break; #ifdef CAN_GENERATE_OBJECTS case CALL_WRITEOBJECT: @@ -184,7 +192,8 @@ main(int argc, char* argv[]) { options[kOptEntryPoint].doesOccur ? options[kOptEntryPoint].value : NULL, options[kOptMatchArch].doesOccur ? options[kOptMatchArch].value : NULL, options[kOptFilename].doesOccur ? options[kOptFilename].value : NULL, - NULL); + NULL, + 0); break; #endif default: diff --git a/deps/icu-small/source/tools/genrb/derb.cpp b/deps/icu-small/source/tools/genrb/derb.cpp index ac26d95be4ca01..997b400129532c 100644 --- a/deps/icu-small/source/tools/genrb/derb.cpp +++ b/deps/icu-small/source/tools/genrb/derb.cpp @@ -631,7 +631,7 @@ static const char *getEncodingName(const char *encoding) { if (!(enc = ucnv_getStandardName(encoding, "MIME", &err))) { err = U_ZERO_ERROR; if (!(enc = ucnv_getStandardName(encoding, "IANA", &err))) { - ; + // do nothing } } diff --git a/deps/icu-small/source/tools/genrb/filterrb.cpp b/deps/icu-small/source/tools/genrb/filterrb.cpp index d62d185d773224..dcc02fc6210903 100644 --- a/deps/icu-small/source/tools/genrb/filterrb.cpp +++ b/deps/icu-small/source/tools/genrb/filterrb.cpp @@ -23,6 +23,9 @@ ResKeyPath::ResKeyPath(const std::string& path, UErrorCode& status) { status = U_PARSE_ERROR; return; } + if (path.length() == 1) { + return; + } size_t i; size_t j = 0; while (true) { diff --git a/deps/icu-small/source/tools/genrb/genrb.cpp b/deps/icu-small/source/tools/genrb/genrb.cpp index 885f3039bf6d7b..6f3a13a0a6107c 100644 --- a/deps/icu-small/source/tools/genrb/genrb.cpp +++ b/deps/icu-small/source/tools/genrb/genrb.cpp @@ -205,10 +205,10 @@ main(int argc, "\t-c or --copyright include copyright notice\n"); fprintf(stderr, "\t-e or --encoding encoding of source files\n" - "\t-d of --destdir destination directory, followed by the path, defaults to %s\n" - "\t-s or --sourcedir source directory for files followed by path, defaults to %s\n" + "\t-d or --destdir destination directory, followed by the path, defaults to '%s'\n" + "\t-s or --sourcedir source directory for files followed by path, defaults to '%s'\n" "\t-i or --icudatadir directory for locating any needed intermediate data files,\n" - "\t followed by path, defaults to %s\n", + "\t followed by path, defaults to '%s'\n", u_getDataDirectory(), u_getDataDirectory(), u_getDataDirectory()); fprintf(stderr, "\t-j or --write-java write a Java ListResourceBundle for ICU4J, followed by optional encoding\n" @@ -240,7 +240,7 @@ main(int argc, "\t (--writePoolBundle and --usePoolBundle cannot be combined)\n"); fprintf(stderr, "\t --filterDir Input directory where filter files are available.\n" - "\t For more on filter files, see Python buildtool.\n"); + "\t For more on filter files, see ICU Data Build Tool.\n"); return illegalArg ? U_ILLEGAL_ARGUMENT_ERROR : U_ZERO_ERROR; } diff --git a/deps/icu-small/source/tools/genrb/parse.cpp b/deps/icu-small/source/tools/genrb/parse.cpp index 884d5d5666081a..18a8c76dbc5df1 100644 --- a/deps/icu-small/source/tools/genrb/parse.cpp +++ b/deps/icu-small/source/tools/genrb/parse.cpp @@ -274,11 +274,11 @@ expect(ParseState* state, enum ETokenType expectedToken, struct UString **tokenV } } -static char *getInvariantString(ParseState* state, uint32_t *line, struct UString *comment, UErrorCode *status) +static char *getInvariantString(ParseState* state, uint32_t *line, struct UString *comment, + int32_t &stringLength, UErrorCode *status) { struct UString *tokenValue; char *result; - uint32_t count; expect(state, TOK_STRING, &tokenValue, comment, line, status); @@ -287,14 +287,13 @@ static char *getInvariantString(ParseState* state, uint32_t *line, struct UStrin return NULL; } - count = u_strlen(tokenValue->fChars); - if(!uprv_isInvariantUString(tokenValue->fChars, count)) { + if(!uprv_isInvariantUString(tokenValue->fChars, tokenValue->fLength)) { *status = U_INVALID_FORMAT_ERROR; error(*line, "invariant characters required for table keys, binary data, etc."); return NULL; } - result = static_cast(uprv_malloc(count+1)); + result = static_cast(uprv_malloc(tokenValue->fLength+1)); if (result == NULL) { @@ -302,7 +301,8 @@ static char *getInvariantString(ParseState* state, uint32_t *line, struct UStrin return NULL; } - u_UCharsToChars(tokenValue->fChars, result, count+1); + u_UCharsToChars(tokenValue->fChars, result, tokenValue->fLength+1); + stringLength = tokenValue->fLength; return result; } @@ -1371,7 +1371,6 @@ parseIntVector(ParseState* state, char *tag, uint32_t startline, const struct US int32_t value; UBool readToken = FALSE; char *stopstring; - uint32_t len; struct UString memberComments; IntVectorResource *result = intvector_open(state->bundle, tag, comment, status); @@ -1404,7 +1403,8 @@ parseIntVector(ParseState* state, char *tag, uint32_t startline, const struct US return result; } - string = getInvariantString(state, NULL, NULL, status); + int32_t stringLength; + string = getInvariantString(state, NULL, NULL, stringLength, status); if (U_FAILURE(*status)) { @@ -1414,9 +1414,9 @@ parseIntVector(ParseState* state, char *tag, uint32_t startline, const struct US /* For handling illegal char in the Intvector */ value = uprv_strtoul(string, &stopstring, 0);/* make intvector support decimal,hexdigit,octal digit ranging from -2^31-2^32-1*/ - len=(uint32_t)(stopstring-string); + int32_t len = (int32_t)(stopstring-string); - if(len==uprv_strlen(string)) + if(len==stringLength) { result->add(value, *status); uprv_free(string); @@ -1454,7 +1454,8 @@ static struct SResource * parseBinary(ParseState* state, char *tag, uint32_t startline, const struct UString *comment, UErrorCode *status) { uint32_t line; - LocalMemory string(getInvariantString(state, &line, NULL, status)); + int32_t stringLength; + LocalMemory string(getInvariantString(state, &line, NULL, stringLength, status)); if (string.isNull() || U_FAILURE(*status)) { return NULL; @@ -1470,46 +1471,45 @@ parseBinary(ParseState* state, char *tag, uint32_t startline, const struct UStri printf(" binary %s at line %i \n", (tag == NULL) ? "(null)" : tag, (int)startline); } - uint32_t count = (uint32_t)uprv_strlen(string.getAlias()); - if (count > 0){ - if((count % 2)==0){ - LocalMemory value; - if (value.allocateInsteadAndCopy(count) == NULL) - { - *status = U_MEMORY_ALLOCATION_ERROR; - return NULL; - } - - char toConv[3] = {'\0', '\0', '\0'}; - for (uint32_t i = 0; i < count; i += 2) - { - toConv[0] = string[i]; - toConv[1] = string[i + 1]; + LocalMemory value; + int32_t count = 0; + if (stringLength > 0 && value.allocateInsteadAndCopy(stringLength) == NULL) + { + *status = U_MEMORY_ALLOCATION_ERROR; + return NULL; + } - char *stopstring; - value[i >> 1] = (uint8_t) uprv_strtoul(toConv, &stopstring, 16); - uint32_t len=(uint32_t)(stopstring-toConv); + char toConv[3] = {'\0', '\0', '\0'}; + for (int32_t i = 0; i < stringLength;) + { + // Skip spaces (which may have been line endings). + char c0 = string[i++]; + if (c0 == ' ') { continue; } + if (i == stringLength) { + *status=U_INVALID_CHAR_FOUND; + error(line, "Encountered invalid binary value (odd number of hex digits)"); + return NULL; + } + toConv[0] = c0; + toConv[1] = string[i++]; - if(len!=2) - { - *status=U_INVALID_CHAR_FOUND; - return NULL; - } - } + char *stopstring; + value[count++] = (uint8_t) uprv_strtoul(toConv, &stopstring, 16); + uint32_t len=(uint32_t)(stopstring-toConv); - return bin_open(state->bundle, tag, count >> 1, value.getAlias(), NULL, comment, status); - } - else + if(len!=2) { - *status = U_INVALID_CHAR_FOUND; - error(line, "Encountered invalid binary value (length is odd)"); + *status=U_INVALID_CHAR_FOUND; + error(line, "Encountered invalid binary value (not all pairs of hex digits)"); return NULL; } } - else - { + + if (count == 0) { warning(startline, "Encountered empty binary value"); return bin_open(state->bundle, tag, 0, NULL, "", comment, status); + } else { + return bin_open(state->bundle, tag, count, value.getAlias(), NULL, comment, status); } } @@ -1520,9 +1520,9 @@ parseInteger(ParseState* state, char *tag, uint32_t startline, const struct UStr int32_t value; char *string; char *stopstring; - uint32_t len; - string = getInvariantString(state, NULL, NULL, status); + int32_t stringLength; + string = getInvariantString(state, NULL, NULL, stringLength, status); if (string == NULL || U_FAILURE(*status)) { @@ -1541,7 +1541,7 @@ parseInteger(ParseState* state, char *tag, uint32_t startline, const struct UStr printf(" integer %s at line %i \n", (tag == NULL) ? "(null)" : tag, (int)startline); } - if (uprv_strlen(string) <= 0) + if (stringLength == 0) { warning(startline, "Encountered empty integer. Default value is 0."); } @@ -1549,8 +1549,8 @@ parseInteger(ParseState* state, char *tag, uint32_t startline, const struct UStr /* Allow integer support for hexdecimal, octal digit and decimal*/ /* and handle illegal char in the integer*/ value = uprv_strtoul(string, &stopstring, 0); - len=(uint32_t)(stopstring-string); - if(len==uprv_strlen(string)) + int32_t len = (int32_t)(stopstring-string); + if(len==stringLength) { result = int_open(state->bundle, tag, value, comment, status); } @@ -1567,7 +1567,8 @@ static struct SResource * parseImport(ParseState* state, char *tag, uint32_t startline, const struct UString* comment, UErrorCode *status) { uint32_t line; - LocalMemory filename(getInvariantString(state, &line, NULL, status)); + int32_t stringLength; + LocalMemory filename(getInvariantString(state, &line, NULL, stringLength, status)); if (U_FAILURE(*status)) { return NULL; @@ -1628,12 +1629,11 @@ parseInclude(ParseState* state, char *tag, uint32_t startline, const struct UStr UCHARBUF *ucbuf; char *fullname = NULL; - int32_t count = 0; const char* cp = NULL; const UChar* uBuffer = NULL; - filename = getInvariantString(state, &line, NULL, status); - count = (int32_t)uprv_strlen(filename); + int32_t stringLength; + filename = getInvariantString(state, &line, NULL, stringLength, status); if (U_FAILURE(*status)) { @@ -1652,7 +1652,7 @@ parseInclude(ParseState* state, char *tag, uint32_t startline, const struct UStr printf(" include %s at line %i \n", (tag == NULL) ? "(null)" : tag, (int)startline); } - fullname = (char *) uprv_malloc(state->inputdirLength + count + 2); + fullname = (char *) uprv_malloc(state->inputdirLength + stringLength + 2); /* test for NULL */ if(fullname == NULL) { diff --git a/deps/icu-small/source/tools/genrb/reslist.cpp b/deps/icu-small/source/tools/genrb/reslist.cpp index bf57516047e901..3186c781e934f3 100644 --- a/deps/icu-small/source/tools/genrb/reslist.cpp +++ b/deps/icu-small/source/tools/genrb/reslist.cpp @@ -1371,7 +1371,7 @@ SRBRoot::compactKeys(UErrorCode &errorCode) { } int32_t keysCount = fUsePoolBundle->fKeysCount + fKeysCount; - if (U_FAILURE(errorCode) || fKeysCount == 0 || fKeyMap != NULL) { + if (U_FAILURE(errorCode) || fKeyMap != NULL) { return; } map = (KeyMapEntry *)uprv_malloc(keysCount * sizeof(KeyMapEntry)); diff --git a/deps/icu-small/source/tools/genrb/rle.c b/deps/icu-small/source/tools/genrb/rle.c index 08495c2b4f4666..3d034f78ca3881 100644 --- a/deps/icu-small/source/tools/genrb/rle.c +++ b/deps/icu-small/source/tools/genrb/rle.c @@ -91,14 +91,14 @@ encodeRunByte(uint16_t* buffer,uint16_t* bufLimit, uint8_t value, int32_t length return buffer; } -#define APPEND( buffer, bufLimit, value, num, status){ \ +#define APPEND( buffer, bufLimit, value, num, status) UPRV_BLOCK_MACRO_BEGIN { \ if(buffer3) && checkAssemblyHeaderName(genccodeAssembly+3)) { - writeAssemblyCode(datFileNamePath, o->tmpDir, o->entryName, NULL, gencFilePath); + writeAssemblyCode( + datFileNamePath, + o->tmpDir, + o->entryName, + NULL, + gencFilePath, + sizeof(gencFilePath)); result = pkg_createWithAssemblyCode(targetDir, mode, gencFilePath); if (result != 0) { @@ -753,7 +766,14 @@ static int32_t pkg_executeOptions(UPKGOptions *o) { /* Try to detect the arch type, use NULL if unsuccessful */ char optMatchArch[10] = { 0 }; pkg_createOptMatchArch(optMatchArch); - writeObjectCode(datFileNamePath, o->tmpDir, o->entryName, (optMatchArch[0] == 0 ? NULL : optMatchArch), NULL, gencFilePath); + writeObjectCode( + datFileNamePath, + o->tmpDir, + o->entryName, + (optMatchArch[0] == 0 ? NULL : optMatchArch), + NULL, + gencFilePath, + sizeof(gencFilePath)); pkg_destroyOptMatchArch(optMatchArch); #if U_PLATFORM_IS_LINUX_BASED result = pkg_generateLibraryFile(targetDir, mode, gencFilePath); @@ -1685,7 +1705,13 @@ static int32_t pkg_createWithoutAssemblyCode(UPKGOptions *o, const char *targetD printf("# Generating %s \n", gencmnFile); } - writeCCode(file, o->tmpDir, dataName[0] != 0 ? dataName : o->shortName, newName[0] != 0 ? newName : NULL, gencmnFile); + writeCCode( + file, + o->tmpDir, + dataName[0] != 0 ? dataName : o->shortName, + newName[0] != 0 ? newName : NULL, + gencmnFile, + sizeof(gencmnFile)); #ifdef USE_SINGLE_CCODE_FILE sprintf(cmd, "#include \"%s\"\n", gencmnFile); @@ -1758,14 +1784,12 @@ static int32_t pkg_createWithoutAssemblyCode(UPKGOptions *o, const char *targetD #ifdef WINDOWS_WITH_MSVC #define LINK_CMD "link.exe /nologo /release /out:" -#define LINK_FLAGS "/DLL /NOENTRY /MANIFEST:NO /implib:" -#ifdef _WIN64 -#define LINK_EXTRA_UWP_FLAGS "/NXCOMPAT /DYNAMICBASE /APPCONTAINER " -#else -#define LINK_EXTRA_UWP_FLAGS "/NXCOMPAT /SAFESEH /DYNAMICBASE /APPCONTAINER /MACHINE:X86" -#endif -#define LINK_EXTRA_UWP_FLAGS_ARM "/NXCOMPAT /DYNAMICBASE /APPCONTAINER /MACHINE:ARM" -#define LINK_EXTRA_NO_UWP_FLAGS "/base:0x4ad00000 " +#define LINK_FLAGS "/NXCOMPAT /DYNAMICBASE /DLL /NOENTRY /MANIFEST:NO /implib:" + +#define LINK_EXTRA_UWP_FLAGS "/APPCONTAINER " +#define LINK_EXTRA_UWP_FLAGS_X86_ONLY "/SAFESEH " + +#define LINK_EXTRA_FLAGS_MACHINE "/MACHINE:" #define LIB_CMD "LIB.exe /nologo /out:" #define LIB_FILE "icudt.lib" #define LIB_EXT UDATA_LIB_SUFFIX @@ -1845,23 +1869,23 @@ static int32_t pkg_createWindowsDLL(const char mode, const char *gencFilePath, U return 0; } - char *extraFlags = ""; + char extraFlags[SMALL_BUFFER_MAX_SIZE] = ""; #ifdef WINDOWS_WITH_MSVC - if (options[UWP_BUILD].doesOccur) - { - if (options[UWP_ARM_BUILD].doesOccur) - { - extraFlags = LINK_EXTRA_UWP_FLAGS_ARM; - } - else - { - extraFlags = LINK_EXTRA_UWP_FLAGS; + if (options[WIN_UWP_BUILD].doesOccur) { + uprv_strcat(extraFlags, LINK_EXTRA_UWP_FLAGS); + + if (options[WIN_DLL_ARCH].doesOccur) { + if (uprv_strcmp(options[WIN_DLL_ARCH].value, "X86") == 0) { + uprv_strcat(extraFlags, LINK_EXTRA_UWP_FLAGS_X86_ONLY); + } } } - else - { - extraFlags = LINK_EXTRA_NO_UWP_FLAGS; + + if (options[WIN_DLL_ARCH].doesOccur) { + uprv_strcat(extraFlags, LINK_EXTRA_FLAGS_MACHINE); + uprv_strcat(extraFlags, options[WIN_DLL_ARCH].value); } + #endif sprintf(cmd, "%s\"%s\" %s %s\"%s\" \"%s\" %s", LINK_CMD, diff --git a/deps/icu-small/source/tools/toolutil/filetools.cpp b/deps/icu-small/source/tools/toolutil/filetools.cpp index 6e88c94b5200b5..0f0e9c59846774 100644 --- a/deps/icu-small/source/tools/toolutil/filetools.cpp +++ b/deps/icu-small/source/tools/toolutil/filetools.cpp @@ -65,7 +65,7 @@ isFileModTimeLater(const char *filePath, const char *checkAgainst, UBool isDir) if (U_FAILURE(status)) { fprintf(stderr, "%s:%d: %s\n", __FILE__, __LINE__, u_errorName(status)); return FALSE; - }; + } if ((subDirp = opendir(newpath.data())) != NULL) { /* If this new path is a directory, make a recursive call with the newpath. */ diff --git a/deps/icu-small/source/tools/toolutil/pkg_genc.cpp b/deps/icu-small/source/tools/toolutil/pkg_genc.cpp index 2a8425e334119e..1a63eb0fa10225 100644 --- a/deps/icu-small/source/tools/toolutil/pkg_genc.cpp +++ b/deps/icu-small/source/tools/toolutil/pkg_genc.cpp @@ -48,6 +48,8 @@ #include "uoptions.h" #include "pkg_genc.h" #include "filetools.h" +#include "charstr.h" +#include "unicode/errorcode.h" #define MAX_COLUMN ((uint32_t)(0xFFFFFFFFU)) @@ -56,7 +58,15 @@ /* prototypes --------------------------------------------------------------- */ static void -getOutFilename(const char *inFilename, const char *destdir, char *outFilename, char *entryName, const char *newSuffix, const char *optFilename); +getOutFilename( + const char *inFilename, + const char *destdir, + char *outFilename, + int32_t outFilenameCapacity, + char *entryName, + int32_t entryNameCapacity, + const char *newSuffix, + const char *optFilename); static uint32_t write8(FileStream *out, uint8_t byte, uint32_t column); @@ -259,13 +269,21 @@ printAssemblyHeadersToStdErr(void) { } U_CAPI void U_EXPORT2 -writeAssemblyCode(const char *filename, const char *destdir, const char *optEntryPoint, const char *optFilename, char *outFilePath) { +writeAssemblyCode( + const char *filename, + const char *destdir, + const char *optEntryPoint, + const char *optFilename, + char *outFilePath, + size_t outFilePathCapacity) { uint32_t column = MAX_COLUMN; - char entry[64]; - uint32_t buffer[1024]; - char *bufferStr = (char *)buffer; + char entry[96]; + union { + uint32_t uint32s[1024]; + char chars[4096]; + } buffer; FileStream *in, *out; - size_t i, length; + size_t i, length, count; in=T_FileStream_open(filename, "rb"); if(in==NULL) { @@ -273,15 +291,27 @@ writeAssemblyCode(const char *filename, const char *destdir, const char *optEntr exit(U_FILE_ACCESS_ERROR); } - getOutFilename(filename, destdir, bufferStr, entry, ".S", optFilename); - out=T_FileStream_open(bufferStr, "w"); + getOutFilename( + filename, + destdir, + buffer.chars, + sizeof(buffer.chars), + entry, + sizeof(entry), + ".S", + optFilename); + out=T_FileStream_open(buffer.chars, "w"); if(out==NULL) { - fprintf(stderr, "genccode: unable to open output file %s\n", bufferStr); + fprintf(stderr, "genccode: unable to open output file %s\n", buffer.chars); exit(U_FILE_ACCESS_ERROR); } if (outFilePath != NULL) { - uprv_strcpy(outFilePath, bufferStr); + if (uprv_strlen(buffer.chars) >= outFilePathCapacity) { + fprintf(stderr, "genccode: filename too long\n"); + exit(U_ILLEGAL_ARGUMENT_ERROR); + } + uprv_strcpy(outFilePath, buffer.chars); } #if defined (WINDOWS_WITH_GNUC) && U_PLATFORM != U_PF_CYGWIN @@ -302,29 +332,42 @@ writeAssemblyCode(const char *filename, const char *destdir, const char *optEntr } } - sprintf(bufferStr, assemblyHeader[assemblyHeaderIndex].header, + count = snprintf( + buffer.chars, sizeof(buffer.chars), + assemblyHeader[assemblyHeaderIndex].header, entry, entry, entry, entry, entry, entry, entry, entry); - T_FileStream_writeLine(out, bufferStr); + if (count >= sizeof(buffer.chars)) { + fprintf(stderr, "genccode: entry name too long (long filename?)\n"); + exit(U_ILLEGAL_ARGUMENT_ERROR); + } + T_FileStream_writeLine(out, buffer.chars); T_FileStream_writeLine(out, assemblyHeader[assemblyHeaderIndex].beginLine); for(;;) { - memset(buffer, 0, sizeof(buffer)); - length=T_FileStream_read(in, buffer, sizeof(buffer)); + memset(buffer.uint32s, 0, sizeof(buffer.uint32s)); + length=T_FileStream_read(in, buffer.uint32s, sizeof(buffer.uint32s)); if(length==0) { break; } - for(i=0; i<(length/sizeof(buffer[0])); i++) { - column = write32(out, buffer[i], column); + for(i=0; i<(length/sizeof(buffer.uint32s[0])); i++) { + // TODO: What if the last read sees length not as a multiple of 4? + column = write32(out, buffer.uint32s[i], column); } } T_FileStream_writeLine(out, "\n"); - sprintf(bufferStr, assemblyHeader[assemblyHeaderIndex].footer, + count = snprintf( + buffer.chars, sizeof(buffer.chars), + assemblyHeader[assemblyHeaderIndex].footer, entry, entry, entry, entry, entry, entry, entry, entry); - T_FileStream_writeLine(out, bufferStr); + if (count >= sizeof(buffer.chars)) { + fprintf(stderr, "genccode: entry name too long (long filename?)\n"); + exit(U_ILLEGAL_ARGUMENT_ERROR); + } + T_FileStream_writeLine(out, buffer.chars); if(T_FileStream_error(in)) { fprintf(stderr, "genccode: file read error while generating from file %s\n", filename); @@ -341,11 +384,17 @@ writeAssemblyCode(const char *filename, const char *destdir, const char *optEntr } U_CAPI void U_EXPORT2 -writeCCode(const char *filename, const char *destdir, const char *optName, const char *optFilename, char *outFilePath) { +writeCCode( + const char *filename, + const char *destdir, + const char *optName, + const char *optFilename, + char *outFilePath, + size_t outFilePathCapacity) { uint32_t column = MAX_COLUMN; - char buffer[4096], entry[64]; + char buffer[4096], entry[96]; FileStream *in, *out; - size_t i, length; + size_t i, length, count; in=T_FileStream_open(filename, "rb"); if(in==NULL) { @@ -354,16 +403,35 @@ writeCCode(const char *filename, const char *destdir, const char *optName, const } if(optName != NULL) { /* prepend 'icudt28_' */ - strcpy(entry, optName); - strcat(entry, "_"); + // +2 includes the _ and the NUL + if (uprv_strlen(optName) + 2 > sizeof(entry)) { + fprintf(stderr, "genccode: entry name too long (long filename?)\n"); + exit(U_ILLEGAL_ARGUMENT_ERROR); + } + strcpy(entry, optName); + strcat(entry, "_"); } else { - entry[0] = 0; + entry[0] = 0; } - getOutFilename(filename, destdir, buffer, entry+uprv_strlen(entry), ".c", optFilename); + getOutFilename( + filename, + destdir, + buffer, + sizeof(buffer), + entry + uprv_strlen(entry), + sizeof(entry) - uprv_strlen(entry), + ".c", + optFilename); + if (outFilePath != NULL) { + if (uprv_strlen(buffer) >= outFilePathCapacity) { + fprintf(stderr, "genccode: filename too long\n"); + exit(U_ILLEGAL_ARGUMENT_ERROR); + } uprv_strcpy(outFilePath, buffer); } + out=T_FileStream_open(buffer, "w"); if(out==NULL) { fprintf(stderr, "genccode: unable to open output file %s\n", buffer); @@ -391,7 +459,7 @@ writeCCode(const char *filename, const char *destdir, const char *optName, const magic numbers we must still use the initial double. [grhoten 4/24/2003] */ - sprintf(buffer, + count = snprintf(buffer, sizeof(buffer), "#ifndef IN_GENERATED_CCODE\n" "#define IN_GENERATED_CCODE\n" "#define U_DISABLE_RENAMING 1\n" @@ -403,6 +471,10 @@ writeCCode(const char *filename, const char *destdir, const char *optName, const " const char *bytes; \n" "} %s={ 0.0, \n", entry); + if (count >= sizeof(buffer)) { + fprintf(stderr, "genccode: entry name too long (long filename?)\n"); + exit(U_ILLEGAL_ARGUMENT_ERROR); + } T_FileStream_writeLine(out, buffer); for(;;) { @@ -418,7 +490,7 @@ writeCCode(const char *filename, const char *destdir, const char *optName, const T_FileStream_writeLine(out, "\"\n};\nU_CDECL_END\n"); #else /* Function renaming shouldn't be done in data */ - sprintf(buffer, + count = snprintf(buffer, sizeof(buffer), "#ifndef IN_GENERATED_CCODE\n" "#define IN_GENERATED_CCODE\n" "#define U_DISABLE_RENAMING 1\n" @@ -430,6 +502,10 @@ writeCCode(const char *filename, const char *destdir, const char *optName, const " uint8_t bytes[%ld]; \n" "} %s={ 0.0, {\n", (long)T_FileStream_size(in), entry); + if (count >= sizeof(buffer)) { + fprintf(stderr, "genccode: entry name too long (long filename?)\n"); + exit(U_ILLEGAL_ARGUMENT_ERROR); + } T_FileStream_writeLine(out, buffer); for(;;) { @@ -583,66 +659,84 @@ write8str(FileStream *out, uint8_t byte, uint32_t column) { #endif static void -getOutFilename(const char *inFilename, const char *destdir, char *outFilename, char *entryName, const char *newSuffix, const char *optFilename) { +getOutFilename( + const char *inFilename, + const char *destdir, + char *outFilename, + int32_t outFilenameCapacity, + char *entryName, + int32_t entryNameCapacity, + const char *newSuffix, + const char *optFilename) { const char *basename=findBasename(inFilename), *suffix=uprv_strrchr(basename, '.'); + icu::CharString outFilenameBuilder; + icu::CharString entryNameBuilder; + icu::ErrorCode status; + /* copy path */ if(destdir!=NULL && *destdir!=0) { - do { - *outFilename++=*destdir++; - } while(*destdir!=0); - if(*(outFilename-1)!=U_FILE_SEP_CHAR) { - *outFilename++=U_FILE_SEP_CHAR; - } - inFilename=basename; + outFilenameBuilder.append(destdir, status); + outFilenameBuilder.ensureEndsWithFileSeparator(status); } else { - while(inFilename= outFilenameCapacity) { + fprintf(stderr, "genccode: output filename too long\n"); + exit(U_ILLEGAL_ARGUMENT_ERROR); + } + + if (entryNameBuilder.length() >= entryNameCapacity) { + fprintf(stderr, "genccode: entry name too long (long filename?)\n"); + exit(U_ILLEGAL_ARGUMENT_ERROR); + } + + uprv_strcpy(outFilename, outFilenameBuilder.data()); + uprv_strcpy(entryName, entryNameBuilder.data()); } #ifdef CAN_GENERATE_OBJECTS @@ -777,7 +871,14 @@ getArchitecture(uint16_t *pCPU, uint16_t *pBits, UBool *pIsBigEndian, const char } U_CAPI void U_EXPORT2 -writeObjectCode(const char *filename, const char *destdir, const char *optEntryPoint, const char *optMatchArch, const char *optFilename, char *outFilePath) { +writeObjectCode( + const char *filename, + const char *destdir, + const char *optEntryPoint, + const char *optMatchArch, + const char *optFilename, + char *outFilePath, + size_t outFilePathCapacity) { /* common variables */ char buffer[4096], entry[96]={ 0 }; FileStream *in, *out; @@ -1061,8 +1162,21 @@ writeObjectCode(const char *filename, const char *destdir, const char *optEntryP } size=T_FileStream_size(in); - getOutFilename(filename, destdir, buffer, entry+entryOffset, newSuffix, optFilename); + getOutFilename( + filename, + destdir, + buffer, + sizeof(buffer), + entry + entryOffset, + sizeof(entry) - entryOffset, + newSuffix, + optFilename); + if (outFilePath != NULL) { + if (uprv_strlen(buffer) >= outFilePathCapacity) { + fprintf(stderr, "genccode: filename too long\n"); + exit(U_ILLEGAL_ARGUMENT_ERROR); + } uprv_strcpy(outFilePath, buffer); } diff --git a/deps/icu-small/source/tools/toolutil/pkg_genc.h b/deps/icu-small/source/tools/toolutil/pkg_genc.h index 5039f27db5e030..47e8304a6890c5 100644 --- a/deps/icu-small/source/tools/toolutil/pkg_genc.h +++ b/deps/icu-small/source/tools/toolutil/pkg_genc.h @@ -75,12 +75,31 @@ U_INTERNAL UBool U_EXPORT2 checkAssemblyHeaderName(const char* optAssembly); U_INTERNAL void U_EXPORT2 -writeCCode(const char *filename, const char *destdir, const char *optName, const char *optFilename, char *outFilePath); +writeCCode( + const char *filename, + const char *destdir, + const char *optName, + const char *optFilename, + char *outFilePath, + size_t outFilePathCapacity); U_INTERNAL void U_EXPORT2 -writeAssemblyCode(const char *filename, const char *destdir, const char *optEntryPoint, const char *optFilename, char *outFilePath); +writeAssemblyCode( + const char *filename, + const char *destdir, + const char *optEntryPoint, + const char *optFilename, + char *outFilePath, + size_t outFilePathCapacity); U_INTERNAL void U_EXPORT2 -writeObjectCode(const char *filename, const char *destdir, const char *optEntryPoint, const char *optMatchArch, const char *optFilename, char *outFilePath); +writeObjectCode( + const char *filename, + const char *destdir, + const char *optEntryPoint, + const char *optMatchArch, + const char *optFilename, + char *outFilePath, + size_t outFilePathCapacity); #endif diff --git a/deps/icu-small/source/tools/toolutil/pkgitems.cpp b/deps/icu-small/source/tools/toolutil/pkgitems.cpp index dd414c2f873e22..b0ea980d605dcb 100644 --- a/deps/icu-small/source/tools/toolutil/pkgitems.cpp +++ b/deps/icu-small/source/tools/toolutil/pkgitems.cpp @@ -305,7 +305,8 @@ ures_enumDependencies(const char *itemName, break; } int32_t length; - const UChar *alias=res_getString(pResData, res, &length); + // No tracing: build tool + const UChar *alias=res_getStringNoTrace(pResData, res, &length); checkAlias(itemName, res, alias, length, useResSuffix, check, context, pErrorCode); } break; diff --git a/deps/icu-small/source/tools/toolutil/toolutil.cpp b/deps/icu-small/source/tools/toolutil/toolutil.cpp index 21dca7fe5d6a82..25f9c116ee18d4 100644 --- a/deps/icu-small/source/tools/toolutil/toolutil.cpp +++ b/deps/icu-small/source/tools/toolutil/toolutil.cpp @@ -243,7 +243,7 @@ struct UToolMemory { char name[64]; int32_t capacity, maxCapacity, size, idx; void *array; - UAlignedMemory staticArray[1]; + alignas(max_align_t) char staticArray[1]; }; U_CAPI UToolMemory * U_EXPORT2 diff --git a/deps/icu-small/source/tools/toolutil/ucbuf.h b/deps/icu-small/source/tools/toolutil/ucbuf.h index 48d41ef4cd2d95..7a9b7af5cc71ac 100644 --- a/deps/icu-small/source/tools/toolutil/ucbuf.h +++ b/deps/icu-small/source/tools/toolutil/ucbuf.h @@ -32,11 +32,11 @@ typedef struct UCHARBUF UCHARBUF; /** * End of file value */ -#define U_EOF 0xFFFFFFFF +#define U_EOF ((int32_t)0xFFFFFFFF) /** * Error value if a sequence cannot be unescaped */ -#define U_ERR 0xFFFFFFFE +#define U_ERR ((int32_t)0xFFFFFFFE) typedef struct ULine ULine; diff --git a/deps/icu-small/source/tools/toolutil/xmlparser.cpp b/deps/icu-small/source/tools/toolutil/xmlparser.cpp index ae7ef170207cf5..e3d5b42ef47a73 100644 --- a/deps/icu-small/source/tools/toolutil/xmlparser.cpp +++ b/deps/icu-small/source/tools/toolutil/xmlparser.cpp @@ -313,7 +313,7 @@ UXMLParser::parseFile(const char *filename, UErrorCode &errorCode) { // reached end of file, convert once more to flush the converter flush=TRUE; } - }; + } exit: ucnv_close(cnv); diff --git a/test/fixtures/bluebird/node_modules/bluebird/js/release/bluebird.js b/deps/npm/.npmrc similarity index 100% rename from test/fixtures/bluebird/node_modules/bluebird/js/release/bluebird.js rename to deps/npm/.npmrc diff --git a/deps/npm/.travis.yml b/deps/npm/.travis.yml index 151be8440adb19..cec3aac226b1c1 100644 --- a/deps/npm/.travis.yml +++ b/deps/npm/.travis.yml @@ -2,46 +2,16 @@ language: node_js os: - - linux + - windows node_js: - 12 - 10 - 8 + - 6 env: "DEPLOY_VERSION=testing" -# having top-level `env:` adds a phantom build -# https://github.com/travis-ci/travis-ci/issues/4681 -#env: DEPLOY_VERSION=testing -matrix: - include: - # Run the sudotest, but only on Linux - - node_js: "12" - # DEPLOY_VERSION is used to set the couchapp setup mode for test/tap/registry.js - # only gather coverage info for LTS - env: DEPLOY_VERSION=testing COVERALLS_REPO_TOKEN="$COVERALLS_OPTIONAL_TOKEN" - script: - # run the sudo tests, with coverage enabled - - "sudo PATH=$PATH $(which node) . run tap -- \"test/tap/*.js\" --coverage --timeout 600" - - # also run standard and license checking - - node_js: "10" - script: - - "npx standard" - - "node . run licenses" - - # separate out node 6 so we can turn off caching, because that - # always breaks for some reason. - - node_js: "6" - cache: false - env: "DEPLOY_VERSION=testing" - - # only run one test on Windows, because it's hella slow - - node_js: "12" - os: "windows" - env: "DEPLOY_VERSION=testing" - notifications: slack: npm-inc:kRqQjto7YbINqHPb1X6nS3g8 diff --git a/deps/npm/AUTHORS b/deps/npm/AUTHORS index 9e95ac15f62e79..c2a38c02d53f97 100644 --- a/deps/npm/AUTHORS +++ b/deps/npm/AUTHORS @@ -677,3 +677,17 @@ Fighting-Jack <574637316@qq.com> Bakel, Roel van Charlie West-Toebe <38671683+Hoidberg@users.noreply.github.com> Richard Lau +Felix Yan +Zhenya Vinogradov +Rafael Hengles +Jan-Philip Gehrcke +Caleb Sacks <16855387+clabe45@users.noreply.github.com> +Kyle Getz +Sean Healy +Netanel Gilad +Dave Nicolson +Ajay Narain Mathur +Vitaliy Markitanov <9357021+vit100@users.noreply.github.com> +simon_s +John Kennedy +Bernard Kitchens diff --git a/deps/npm/CHANGELOG.md b/deps/npm/CHANGELOG.md index 945ac7583bac2a..5cd9c8d8f88615 100644 --- a/deps/npm/CHANGELOG.md +++ b/deps/npm/CHANGELOG.md @@ -1,3 +1,141 @@ +## 6.14.4 (2020-03-24) + +### DEPENDENCIES + +* Bump `minimist@1.2.5` transitive dep to resolve security issue + * [`9c554fd8c`](https://github.com/npm/cli/commit/9c554fd8cd1e9aeb8eb122ccfa3c78d12af4097a) `update-notifier@2.5.0` + * bump `deep-extend@1.2.5` + * bump `deep-extend@0.6.0` + * bump `is-ci@1.2.1` + * bump `is-retry-allowed@1.2.0` + * bump `rc@1.2.8` + * bump `registry-auth-token@3.4.0` + * bump `widest-line@2.0.1` +* [`136832dca`](https://github.com/npm/cli/commit/136832dcae13cb5518b1fe17bd63ea9b2a195f92) `mkdirp@0.5.4` +* [`8bf99b2b5`](https://github.com/npm/cli/commit/8bf99b2b58c14d45dc6739fce77de051ebc8ffb7) [#1053](https://github.com/npm/cli/pull/1053) deps: updates term-size to use signed binary + * [`d2f08a1bdb`](https://github.com/nodejs/node/commit/d2f08a1bdb78655c4a3fc49825986c148d14117e) ([@rvagg](https://github.com/rvagg)) + +## 6.14.3 (2020-03-19) + +### DOCUMENTATION + +* [`4ad221487`](https://github.com/npm/cli/commit4ad2214873cddfd4a0eff1bd188516b08fae9f9e) [#1020](https://github.com/npm/cli/pull/1020) docs(teams): updated team docs to reflect MFA workflow ([@blkdm0n](https://github.com/blkdm0n)) +* [`4a31a4ba2`](https://github.com/npm/cli/commit/4a31a4ba2db0a5db2d1d0890ee934ba1babb73a6) [#1034](https://github.com/npm/cli/pull/1034) docs: cleanup ([@ruyadorno](https://github.com/ruyadorno)) +* [`0eac801cd`](https://github.com/npm/cli/commit/0eac801cdef344e9fbda6270145e062211255b0e) [#1013](https://github.com/npm/cli/pull/1013) docs: fix links to cli commands ([@alenros](https://github.com/alenros)) +* [`7d8e5b99c`](https://github.com/npm/cli/commit/7d8e5b99c4ef8c394cffa7fc845f54a25ff37e3a) [#755](https://github.com/npm/cli/pull/755) docs: correction to `npm update -g` behaviour ([@johnkennedy9147](https://github.com/johnkennedy9147)) + +### DEPENDENCIES + +* [`e11167646`](https://github.com/npm/cli/commit/e111676467f090f73802b97e8da7ece481b18f99) `mkdirp@0.5.3` + * [`c5b97d17d`](https://github.com/isaacs/node-mkdirp/commit/c5b97d17d45a22bcf4c815645cbb989dab57ddd8) fix: bump `minimist` dep to resolve security issue ([@isaacs](https://github.com/isaacs)) +* [`c50d679c6`](https://github.com/npm/cli/commit/c50d679c68b39dd03ad127d34f540ddcb1b1e804) `rimraf@2.7.1` +* [`a2de99ff9`](https://github.com/npm/cli/commit/a2de99ff9e02425a3ccc25280f390178be755a36) `npm-registry-mock@1.3.1` +* [`217debeb9`](https://github.com/npm/cli/commit/217debeb9812e037a6686cbf6ec67a0cd47fa68a) `npm-registry-couchapp@2.7.4` + +## 6.14.2 (2020-03-03) + +### DOCUMENTATION +* [`f9248c0be`](https://github.com/npm/cli/commit/f9248c0be63fba37a30098dc9215c752474380e3) [#730](https://github.com/npm/cli/pull/730) chore(docs): update unpublish docs & policy reference ([@nomadtechie](https://github.com/nomadtechie), [@mikemimik](https://github.com/mikemimik)) + +### DEPENDENCIES + +* [`909cc3918`](https://github.com/npm/cli/commit/909cc39180a352f206898481add5772206c8b65f) `hosted-git-info@2.8.8` ([@darcyclarke](https://github.com/darcyclarke)) + * [`5038b1891`](https://github.com/npm/hosted-git-info/commit/5038b1891a61ca3cd7453acbf85d7011fe0086bb) fix: regression in old node versions w/ respect to url.URL implmentation +* [`9204ffa58`](https://github.com/npm/cli/commit/9204ffa584c140c5e22b1ee37f6df2c98f5dc70b) `npm-profile@4.0.4` ([@isaacs](https://github.com/isaacs)) + * [`6bcf0860a`](https://github.com/npm/npm-profile/commit/6bcf0860a3841865099d0115dbcbde8b78109bd9) fix: treat non-http/https login urls as invalid +* [`0365d39bd`](https://github.com/npm/cli/commit/0365d39bdc74960a18caac674f51d0e2a98b31e6) `glob@7.1.6` ([@isaacs](https://github.com/isaacs)) +* [`dab030536`](https://github.com/nodejs/node-gyp/commit/dab030536b6a70ecae37debc74c581db9e5280fd) `node-gyp@5.1.0` ([@rvagg](https://github.com/rvagg)) + +## 6.14.1 (2020-02-26) + +* [`303e5c11e`](https://github.com/npm/cli/commit/303e5c11e7db34cf014107aecd2e81c821bfde8d) + `hosted-git-info@2.8.7` + Fixes a regression where scp-style git urls are passed to the WhatWG URL + parser, which does not handle them properly. + ([@isaacs](https://github.com/isaacs)) + +## 6.14.0 (2020-02-25) + +### FEATURES +* [`30f170877`](https://github.com/npm/cli/commit/30f170877954acd036cb234a581e4eb155049b82) [#731](https://github.com/npm/cli/pull/731) add support for multiple funding sources ([@ljharb](https://github.com/ljharb) & [@ruyadorno](hhttps://github.com/ruyadorno/)) + +### BUG FIXES +* [`55916b130`](https://github.com/npm/cli/commit/55916b130ef52984584678f2cc17c15c1f031cb5) [#508](https://github.com/npm/cli/pull/508) fix: check `npm.config` before accessing its members ([@kaiyoma](https://github.com/kaiyoma)) +* [`7d0cd65b2`](https://github.com/npm/cli/commit/7d0cd65b23c0986b631b9b54d87bbe74902cc023) [#733](https://github.com/npm/cli/pull/733) fix: access grant with unscoped packages ([@netanelgilad](https://github.com/netanelgilad)) +* [`28c3d40d6`](https://github.com/npm/cli/commit/28c3d40d65eef63f9d6ccb60b99ac57f5057a46e), [`0769c5b20`](https://github.com/npm/cli/commit/30f170877954acd036cb234a581e4eb155049b82) [#945](https://github.com/npm/cli/pull/945), [#697](https://github.com/npm/cli/pull/697) fix: allow new major versions of node to be automatically considered "supported" ([@isaacs](https://github.com/isaacs), [@ljharb](https://github.com/ljharb)) + +### DEPENDENCIES +* [`6f39e93`](https://github.com/npm/hosted-git-info/commit/6f39e93bae9162663af6f15a9d10bce675dd5de3) `hosted-git-info@2.8.6` ([@darcyclarke](https://github.com/darcyclarke)) + * fix: passwords & usernames are escaped properly in git deps ([@stevenhilder](https://github.com/stevenhilder)) +* [`f14b594ee`](https://github.com/npm/cli/commit/f14b594ee9dbfc98ed0b65c65d904782db4f31ad) `chownr@1.1.4` ([@isaacs](https://github.com/isaacs)) +* [`77044150b`](https://github.com/npm/cli/commit/77044150b763d67d997f9ff108219132ea922678) `npm-packlist@1.4.8` ([@isaacs](https://github.com/isaacs)) +* [`1d112461a`](https://github.com/npm/cli/commit/1d112461ad8dc99e5ff7fabb5177e8c2f89a9755) `npm-registry-fetch@4.0.3` ([@isaacs](https://github.com/isaacs)) + * [`ba8b4fe`](https://github.com/npm/npm-registry-fetch/commit/ba8b4fe60eb6cdf9b39012560aec596eda8ce924) fix: always bypass cache when ?write=true +* [`a47fed760`](https://github.com/npm/cli/commit/a47fed7603a6ed31dcc314c0c573805f05a96830) `readable-stream@3.6.0` + * [`3bbf2d6`](https://github.com/nodejs/readable-stream/commit/3bbf2d6feb45b03f4e46a2ae8251601ad2262121) fix: babel's "loose mode" class transform enbrittles BufferList ([@ljharb](https://github.com/ljharb)) + +### DOCUMENTATION +* [`284c1c055`](https://github.com/npm/cli/commit/284c1c055a28c4b334496101799acefe3c54ceb3), [`fbb5f0e50`](https://github.com/npm/cli/commit/fbb5f0e50e54425119fa3f03c5de93e4cb6bfda7) [#729](https://github.com/npm/cli/pull/729) update lifecycle hooks docs + ([@seanhealy](https://github.com/seanhealy), [@mikemimik](https://github.com/mikemimik)) +* [`1c272832d`](https://github.com/npm/cli/commit/1c272832d048300e409882313305c416dc6f21a2) [#787](https://github.com/npm/cli/pull/787) fix: trademarks typo ([@dnicolson](https://github.com/dnicolson)) +* [`f6ff41776`](https://github.com/npm/cli/commit/f6ff417767d52418cc8c9e7b9731ede2c3916d2e) [#936](https://github.com/npm/cli/pull/936) fix: postinstall example ([@ajaymathur](https://github.com/ajaymathur)) +* [`373224b16`](https://github.com/npm/cli/commit/373224b16e019b7b63d8f0b4c5d4adb7e5cb80dd) [#939](https://github.com/npm/cli/pull/939) fix: bad links in publish docs ([@vit100](https://github.com/vit100)) + +### MISCELLANEOUS +* [`85c79636d`](https://github.com/npm/cli/commit/85c79636df31bac586c0e380c4852ee155a7723c) [#736](https://github.com/npm/cli/pull/736) add script to update dist-tags ([@mikemimik](https://github.com/mikemimik)) + +## 6.13.7 (2020-01-28) + +### BUG FIXES +* [`7dbb91438`](https://github.com/npm/cli/commit/7dbb914382ecd2074fffb7eba81d93262e2d23c6) + [#655](https://github.com/npm/cli/pull/655) + Update CI detection cases + ([@isaacs](https://github.com/isaacs)) + +### DEPENDENCIES +* [`0fb1296c7`](https://github.com/npm/cli/commit/0fb1296c7d6d4bb9e78c96978c433cd65e55c0ea) + `libnpx@10.2.2` + ([@mikemimik](https://github.com/mikemimik)) +* [`c9b69d569`](https://github.com/npm/cli/commit/c9b69d569fec7944375a746e9c08a6fa9bec96ff) + `node-gyp@5.0.7` + ([@mikemimik](https://github.com/mikemimik)) +* [`e8dbaf452`](https://github.com/npm/cli/commit/e8dbaf452a1f6c5350bb0c37059b89a7448e7986) + `bin-links@1.1.7` + ([@mikemimik](https://github.com/mikemimik)) + * [#613](https://github.com/npm/cli/issues/613) Fixes bin entry for package + +## 6.13.6 (2020-01-09) + +### DEPENDENCIES + +* [`6dba897a1`](https://github.com/npm/cli/commit/6dba897a1e2d56388fb6df0c814b0bb85af366b4) + `pacote@9.5.12`: + * [`d2f4176`](https://github.com/npm/pacote/commit/d2f4176b6af393d7e29de27e9b638dbcbab9a0c7) + fix(git): Do not drop uid/gid when executing in root-owned directory + ([@isaacs](https://github.com/isaacs)) + +## 6.13.5 (2020-01-09) + +### BUG FIXES + +* [`fd0a802ec`](https://github.com/npm/cli/commit/fd0a802ec468ec7b98d6c15934c355fef0e7ff60) [#550](https://github.com/npm/cli/pull/550) Fix cache location for `npm ci` ([@zhenyavinogradov](https://github.com/zhenyavinogradov)) +* [`4b30f3cca`](https://github.com/npm/cli/commit/4b30f3ccaebf50d6ab3bad130ff94827c017cc16) [#648](https://github.com/npm/cli/pull/648) fix(version): using 'allow-same-version', git commit --allow-empty and git tag -f ([@rhengles](https://github.com/rhengles)) + +### TESTING + +* [`e16f68d30`](https://github.com/npm/cli/commit/e16f68d30d59ce1ddde9fe62f7681b2c07fce84d) test(ci): add failing cache config test ([@ruyadorno](https://github.com/ruyadorno)) +* [`3f009fbf2`](https://github.com/npm/cli/commit/3f009fbf2c42f68c5127efecc6e22db105a74fe0) [#659](https://github.com/npm/cli/pull/659) test: fix bin-overwriting test on Windows ([@isaacs](https://github.com/isaacs)) +* [`43ae0791f`](https://github.com/npm/cli/commit/43ae0791f74f68e02850201a64a6af693657b241) [#601](https://github.com/npm/cli/pull/601) ci: Allow builds to run even if one fails ([@XhmikosR](https://github.com/XhmikosR)) +* [`4a669bee4`](https://github.com/npm/cli/commit/4a669bee4ac54c70adc6979d45cd0605b6dc33fd) [#603](https://github.com/npm/cli/pull/603) Remove the unused appveyor.yml ([@XhmikosR](https://github.com/XhmikosR)) +* [`9295046ac`](https://github.com/npm/cli/commit/9295046ac92bbe82f4d84e1ec90cc81d3b80bfc7) [#600](https://github.com/npm/cli/pull/600) ci: switch to `actions/checkout@v2` ([@XhmikosR](https://github.com/XhmikosR)) + +### DOCUMENTATION + +* [`f2d770ac7`](https://github.com/npm/cli/commit/f2d770ac768ea84867772b90a3c9acbdd0c1cb6a) [#569](https://github.com/npm/cli/pull/569) fix netlify publish path config ([@claudiahdz](https://github.com/claudiahdz)) +* [`462cf0983`](https://github.com/npm/cli/commit/462cf0983dbc18a3d93f77212ca69f878060b2ec) [#627](https://github.com/npm/cli/pull/627) update gatsby dependencies ([@felixonmars](https://github.com/felixonmars)) +* [`6fb5dbb72`](https://github.com/npm/cli/commit/6fb5dbb7213c4c050c9a47a7d5131447b8b7dcc8) + [#532](https://github.com/npm/cli/pull/532) docs: clarify usage of global prefix ([@jgehrcke](https://github.com/jgehrcke)) + ## 6.13.4 (2019-12-11) ## BUGFIXES diff --git a/deps/npm/CONTRIBUTING.md b/deps/npm/CONTRIBUTING.md index 3fc4ff5dc7a828..981f0457d5c6bf 100644 --- a/deps/npm/CONTRIBUTING.md +++ b/deps/npm/CONTRIBUTING.md @@ -3,80 +3,190 @@ ## Table of Contents * [Introduction](#introduction) -* [Roles](#roles) - * [Community Members](#community-members) - * [Collaborators](#collaborators) - * [npm, Inc Employees](#npm-inc-employees) - +* [Code Structure](#code-structure) +* [Running Tests](#running-tests) +* [Debugging](#debugging) +* [Coverage](#coverage) +* [Benchmarking](#benchmarking) +* [Types of Contributions](#types-of-contributions) + * [Contributing an Issue?](#contributing-an-issue) + * [Contributing a Question?](#contributing-a-question) + * [Contributing a Bug Fix?](#contributing-a-bug-fix) + * [Contributing a Feature?](#contributing-a-bug-feature) +* [Development Dependencies](#development-dependencies) +* [Dependencies](#dependencies) ## Introduction -Welcome to the npm CLI Contributor Guide! This document outlines the npm CLI repository's process for community interaction and contribution. This includes the issue tracker, pull requests, wiki pages, and, to a certain extent, outside communication in the context of the npm CLI. It defines roles, responsibilities, and procedures, and is an entry point for anyone wishing to contribute their time and effort to making npm a better tool for the JavaScript community! +Welcome to the npm CLI Contributor Guide! This document outlines the npm CLI repository's process for community interaction and contribution. This includes the issue tracker, pull requests, wiki pages, and, to a certain extent, outside communication in the context of the npm CLI. This is an entry point for anyone wishing to contribute their time and effort to making npm a better tool for the JavaScript community! All interactions in the npm repository are covered by the [npm Code of Conduct](https://www.npmjs.com/policies/conduct) -## Roles -There are three main roles for people participating in the npm issue tracker. Each has a specific set of abilities and responsibilities: [Community members](#community-members), [Collaborators](#collaborators), and [npm, Inc employees](#npm-inc-employees). +## Code Structure +``` +/ +├── bin/ +│ │ # Directory for executable files. It's very rare that you +│ │ # will need to update a file in this directory. +│ │ +│ ├── npm # npm-cli entrypoint for bourne shell +│ ├── npm-cli.js # npm-cli entrypoint for node +│ ├── npm.cmd # npm-cli entrypoint for windows +│ ├── npx # npx entrypoint for bourne shell +│ ├── npx-cli.js # npx entrypoint for node +│ └── npx.cmd # npx entrypoint for windows +│ +├── docs/ 📖 +│ │ # Directory that contains the documentation website for +│ │ # the npm-cli. You can run this website locally, and have +│ │ # offline docs! 🔥📖🤓 +│ │ +│ ├── content/ # Markdown files for site content +│ ├── src/ # Source files for the website; gatsby related +│ └── package.json # Site manifest; scripts and dependencies +│ +├── lib/ 📦 +│ # All the Good Bits(tm) of the CLI project live here +│ +├── node_modules/ 🔋 +│ # Vendored dependencies for the CLI project (See the +│ # dependencies section below for more details). +│ +├── scripts/ 📜 +│ # We've created some helper scripts for working with the +│ # CLI project, specifically around managing our vendored +│ # dependencies, merging in pull-requests, and publishing +│ # releases. +│ +├── test/ 🧪 +│ # All the tests for the CLI live in this folder. We've +│ # got a lot of tests 🤓🧪🩺 +│ +├── CONTRIBUTING.md # This file! 🎉 +└── package.json # The projects main manifest file 📃 +``` + +## Running Tests + +``` +# Make sure you install the dependencies first before running tests. +$ npm install + +# Run tests for the CLI (it could take awhile). +$ npm run test +``` + +## Debugging + +It can be tricky to track down issues in the CLI. It's a large code base that has been evolving for over a decade. There is a handy `make` command that will connect the **cloned repository** you have on your machine with the global command, so you can add `console.log` statements or debug any other way you feel most comfortable with. + +``` +# Clone the repository to start with +$ git clone git@github.com:npm/cli.git + +# Change working directories into the repository +$ cd cli + +# Make sure you have the latest code (if that's what you're trying to debug) +$ git fetch origin latest + +# Connect repository to the global namespace +$ make link + +################# +# ALTERNATIVELY +################# +# If ou're working on a feature or bug, you can run the same command on your +# working branch and link that code. + +# Create new branch to work from (there are many ways) +$ git checkout -b feature/awesome-feature + +# Connect repository to global namespace +$ make link +``` + +## Coverage + +We try and make sure that each new feature or bug fix has tests to go along with them in order to keep code coverages consistent and increasing. We are actively striving for 100% code coverage! + +``` +# You can run the following command to find out coverage +$ npm run test-coverage +``` + +## Benchmarking + +We often want to know if the bug we've fixed for the feature we've added has any sort of performance impact. We've created a [benchmark suite](https://github.com/npm/benchmarks) to run against the CLI project from pull-requests. If you would like to know if there are any performance impacts to the work you're contributing, simply do the following: + +1. Make a pull-request against this repository +2. Add the following comment to the pull-request: "`test this please ✅`" + +This will trigger the [benmark suite](https://github.com/npm/benchmarks) to run against your pull-request, and when it's finished running it will post a comment on your pull-request just like bellow. You'll be able to see the results from the suite inline in your pull-request. + +> You'll notice that the bot-user will also add a 🚀 reaction to your comment to +let you know that it's sent the request to start the benchmark suite. + +![image](https://user-images.githubusercontent.com/2818462/72312698-e2e57f80-3656-11ea-9fcf-4a8f6b97b0d1.png) + +If you've updated your pull-reuqest and you'd like to run the the benchmark suite again, simple update your original comment, by adding `test this please ✅` again, or simply just adding another emoji to the **end**. _(The trigger is the phrase "test this please ✅" at the beginning of a comment. Updates will trigger as well, so long as the phrase stays at the beginning.)_. + +![image](https://user-images.githubusercontent.com/2818462/72313006-ec231c00-3657-11ea-9bd9-227634d67362.png) + +## Types of Contributions + +### Contributing an Issue? -Failure to comply with the expected responsibilities of each role, or violating the Code of Conduct will result in punitive action relative to the transgression, ranging from a warning to full removal from the project, at the discretion of npm employees. +Great!! Is your [new issue](https://github.com/npm/cli/issues/new/choose) a [bug](https://github.com/npm/cli/issues/new?template=bug.md&title=%5BBUG%5D+%3Ctitle%3E), a [feature](https://github.com/npm/cli/issues/new?template=feature.md&title=%5BFEATURE%5D+%3Ctitle%3E), or a [question](https://github.com/npm/cli/issues/new?template=question.md&title=%5BQUESTION%5D+%3Ctitle%3E)? -### Community Members +### Contributing a Question? -This includes anyone who may show up to the npm/npm repo with issues, PRs, comments etc. They may not have any other involvement with npm. +Huh? 🤔 Got a situation you're not sure about?! Perfect! We've got some resources you can use. -#### Abilities +* Our [documentation site](https://docs.npmjs.com/) +* The local docs that come with the CLI project -* Open issues and PRs -* Comment on issues and PRs + > **Example**: `npm help install --viewer browser` -#### Responsibilities +* The man pages that are built and shipped with the CLI -* Comment on issues when they have a reference to the answer. -* If community members aren't sure they are correct and don't have a reference to the answer, please leave the issue and try another one. -* Defer to collaborators and npm employees for answers. -* Make sure to search for [the troubleshooting posts on npm.community](https://npm.community/c/support/troubleshooting) and search on the issue tracker for similar issues before opening a new one. -* Any users with urgent support needs are welcome to email support@npmjs.com, and our dedicated support team will be happy to help. + > **Example**: `man npm-install` (only on linux/macOS) -PLEASE don't @ collaborators or npm employees on issues. The CLI team is small, and has many outstanding commitments to fulfill. +* Search of the [current issues](https://github.com/npm/cli/issues) -### Collaborators +### Contributing a Bug Fix? -These are folks who have the ability to label and close issues. The role of collaborators may expand over time, but for now it is a limited (& important) role. This is an excellent way to contribute to npm without writing code. +We'd be happy to triage and help! Head over to the issues and [create a new one](https://github.com/npm/cli/issues/new?template=bug.md&title=%5BBUG%5D+%3Ctitle%3E)! -Community members may become collaborators by showing consistent, proven track record of quality contributions to the project, a reasonable level of proficiency with the CLI, and regular participation through the tracker and other related mediums, including regular contact with the CLI team itself. This role entails a higher level of responsibility than community member, so we ask for a higher level of understanding and commitment. +> We'll need a little bit of information about what happened, rather than "it broke". Such as: +* When did/does this bug happen? +* Can you reproduce it? _(Can you make it happen more than once.)_ +* What version of `node`/`npm` are you running on your computer? +* What did you expect it to do? +* What did it _actually do? +* etc... -Collaborators who become inactive for 3 months or longer may have their collaborator privileges removed until they are ready to return. +### Contributing a Feature? -#### Abilities +Snazzy, we're always up for fancy new things! If the feature is fairly minor, the team can triage it and prioritize it into our backlog. However, if the feature is a little more complex, then it's best to create an [RFC](https://en.wikipedia.org/wiki/Request_for_Comments) in our [RFC repository](https://github.com/npm/rfcs). Exactly how to do that is outlined in that repository. If you're not sure _exactly_ how to implement your idea, or don't want to make a document about your idea, then please create an issue on that repository. We consider these RRFC's, or a "Requesting Request For Comment". -* Label/triage new issues -* Respond to ongoing issues -* Close resolved issues. +## Development Dependencies -#### Responsibilities +You'll need a few things installed in order to update and test the CLI project during development: -* Only answer questions when they know the answer, and provide a reference to the answer. -* If collaborators aren't totally confident about their answer, please leave the issue and try another one. -* If they've responded to an issue, it becomes their responsibility to see it to resolution. -* Defer to fellow Collaborators & npm employees for answers (Again, please don't @ collaborators or npm employees, thank you!) -* Make sure to search [the troubleshooting posts on npm.community](https://npm.community/c/support/troubleshooting) and search the rest of the forum for similar topics. +* [node](https://nodejs.org/) v8 or greater -### npm, Inc Employees +> We recommend that you have a [node version manager](https://github.com/nvm-sh/nvm) installed if you plan on fixing bugs that might be present in a specific version of node. With a version manager you can easily switch versions of node and test if your changes to the CLI project are working. -Folks who work at npm, Inc, who have a responsibility to ensure the stability and functionality of the tools npm offers. +* [git](https://git-scm.com/) v2.11+ -#### Abilities -* Label/triage new issues -* Respond to ongoing issues -* Close resolved issues -* Land PRs +## Dependencies -Please note that this is a living document, and the CLI team will put up PRs to it as needed. +> Package vendoring is commonly referred to as the case where dependent packages are stored in the same place as your project. That usually means you dependencies are checked into your source management system, such as Git. -#### Responsibilities +The CLI project vendors it's dependencies in the `node_modules/` folder. Meaning all the dependencies that the CLI project uses are contained withing the project itself. This is represented by the `bundledDependencies` section in the root level `package.json` file. The main reason for this is because the `npm` CLI project is distributed with the NodeJS runtime and needs to work out of the box, which means all dependencies need to be available after the runtime is installed. -* Preserve and promote the health of the CLI, the registry, the website, etc. +There are a couple scripts created to help manage this process in the `scripts/` folder. -In special cases, [Collaborators](#collaborators) may request time to speak with an npm employee directly, by contacting them and coordinating a time/place. diff --git a/deps/npm/README.md b/deps/npm/README.md index 16c7e4b18cdf00..05da169f259619 100644 --- a/deps/npm/README.md +++ b/deps/npm/README.md @@ -155,10 +155,6 @@ When you find issues, please report them: Be sure to include *all* of the output from the npm command that didn't work as expected. The `npm-debug.log` file is also helpful to provide. -You can also find npm people in `#npm` on https://package.community/ or -[on Twitter](https://twitter.com/npm_support). Whoever responds will no -doubt tell you to put the output in a gist or email. - ## SEE ALSO * npm(1) diff --git a/deps/npm/appveyor.yml b/deps/npm/appveyor.yml deleted file mode 100644 index 7b97e79d626efc..00000000000000 --- a/deps/npm/appveyor.yml +++ /dev/null @@ -1,34 +0,0 @@ -environment: - matrix: - # LTS is our most important target - - nodejs_version: "6" - # previous LTS is next most important - - nodejs_version: "4" - - nodejs_version: "7" - # then master - - nodejs_version: "8" - COVERALLS_REPO_TOKEN: - secure: XdC0aySefK0HLh1GNk6aKrzZPbCfPQLyA4mYtFGEp4DrTuZA/iuCUS0LDqFYO8JQ -platform: - - x86 - - x64 -install: - - ps: Install-Product node $env:nodejs_version $env:platform - - npm config set spin false - - npm rebuild - - node . install -g . - - set "PATH=%APPDATA%\npm;C:\Program Files\Git\mingw64\libexec;%PATH%" - - npm install --loglevel=http -test_script: - - node --version - - npm --version - - npm run test -- --reporter=classic -notifications: -- provider: Slack - incoming_webhook: - secure: vXiG5AgpqxJsXZ0N0CTYDuVrX6RMjBybZKtOx6IbRxCyjgd+DAx6Z9/0XgYQjuof7QFJY3M/U6HxaREQVYbNVHA+C5N5dNALRbKzAC8QNbA= -# GO_FAST -matrix: - fast_finish: true -# we don't need the builds, we just need tests -build: off diff --git a/deps/npm/docs/content/cli-commands/npm-access.md b/deps/npm/docs/content/cli-commands/npm-access.md index 0fbce9c0759d12..f4088fe8855139 100644 --- a/deps/npm/docs/content/cli-commands/npm-access.md +++ b/deps/npm/docs/content/cli-commands/npm-access.md @@ -87,7 +87,7 @@ Management of teams and team memberships is done with the `npm team` command. ### See Also * [`libnpmaccess`](https://npm.im/libnpmaccess) -* [npm team](/cli-commands/npm-team) -* [npm publish](/cli-commands/npm-publish) -* [npm config](/cli-commands/npm-config) +* [npm team](/cli-commands/team) +* [npm publish](/cli-commands/publish) +* [npm config](/cli-commands/config) * [npm registry](/using-npm/registry) diff --git a/deps/npm/docs/content/cli-commands/npm-adduser.md b/deps/npm/docs/content/cli-commands/npm-adduser.md index 2df35e45fc550e..ec61cdd39acbad 100644 --- a/deps/npm/docs/content/cli-commands/npm-adduser.md +++ b/deps/npm/docs/content/cli-commands/npm-adduser.md @@ -89,7 +89,7 @@ username/password entry in legacy npm. ### See Also * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) -* [npm owner](/cli-commands/npm-owner) -* [npm whoami](/cli-commands/npm-whoami) +* [npm owner](/cli-commands/owner) +* [npm whoami](/cli-commands/whoami) diff --git a/deps/npm/docs/content/cli-commands/npm-audit.md b/deps/npm/docs/content/cli-commands/npm-audit.md index 0aba874f96df8d..8b944e94cc12e2 100644 --- a/deps/npm/docs/content/cli-commands/npm-audit.md +++ b/deps/npm/docs/content/cli-commands/npm-audit.md @@ -131,6 +131,6 @@ configuration setting. ### See Also -* [npm install](/cli-commands/npm-install) +* [npm install](/cli-commands/install) * [package-locks](/configuring-npm/package-locks) * [config](/using-npm/config) diff --git a/deps/npm/docs/content/cli-commands/npm-bin.md b/deps/npm/docs/content/cli-commands/npm-bin.md index 6c7ce0eee54e21..eb0912ae48a92a 100644 --- a/deps/npm/docs/content/cli-commands/npm-bin.md +++ b/deps/npm/docs/content/cli-commands/npm-bin.md @@ -19,8 +19,8 @@ Print the folder where npm will install executables. ### See Also -* [npm prefix](/cli-commands/npm-prefix) -* [npm root](/cli-commands/npm-root) +* [npm prefix](/cli-commands/prefix) +* [npm root](/cli-commands/root) * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-bugs.md b/deps/npm/docs/content/cli-commands/npm-bugs.md index dcc9c358df14d8..6e59f2bd1a05e0 100644 --- a/deps/npm/docs/content/cli-commands/npm-bugs.md +++ b/deps/npm/docs/content/cli-commands/npm-bugs.md @@ -41,10 +41,10 @@ The base URL of the npm package registry. ### See Also -* [npm docs](/cli-commands/npm-docs) -* [npm view](/cli-commands/npm-view) -* [npm publish](/cli-commands/npm-publish) +* [npm docs](/cli-commands/docs) +* [npm view](/cli-commands/view) +* [npm publish](/cli-commands/publish) * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [package.json](/configuring-npm/package-json) diff --git a/deps/npm/docs/content/cli-commands/npm-build.md b/deps/npm/docs/content/cli-commands/npm-build.md index b657129787663d..eca5397d9c77d5 100644 --- a/deps/npm/docs/content/cli-commands/npm-build.md +++ b/deps/npm/docs/content/cli-commands/npm-build.md @@ -28,7 +28,7 @@ directly, run: ### See Also -* [npm install](/cli-commands/npm-install) -* [npm link](/cli-commands/npm-link) +* [npm install](/cli-commands/install) +* [npm link](/cli-commands/link) * [npm scripts](/using-npm/scripts) * [package.json](/configuring-npm/package-json) diff --git a/deps/npm/docs/content/cli-commands/npm-bundle.md b/deps/npm/docs/content/cli-commands/npm-bundle.md index 76417ac8b0b0c7..c4fdc5e6bb0e64 100644 --- a/deps/npm/docs/content/cli-commands/npm-bundle.md +++ b/deps/npm/docs/content/cli-commands/npm-bundle.md @@ -18,4 +18,4 @@ Just use `npm install` now to do what `npm bundle` used to do. ### See Also -* [npm install](/cli-commands/npm-install) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/content/cli-commands/npm-cache.md b/deps/npm/docs/content/cli-commands/npm-cache.md index ed31a320421b0c..4d19749b80f2d9 100644 --- a/deps/npm/docs/content/cli-commands/npm-cache.md +++ b/deps/npm/docs/content/cli-commands/npm-cache.md @@ -82,10 +82,10 @@ The root cache folder. ### See Also * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) -* [npm install](/cli-commands/npm-install) -* [npm publish](/cli-commands/npm-publish) -* [npm pack](/cli-commands/npm-pack) +* [npm install](/cli-commands/install) +* [npm publish](/cli-commands/publish) +* [npm pack](/cli-commands/pack) * https://npm.im/cacache * https://npm.im/pacote diff --git a/deps/npm/docs/content/cli-commands/npm-ci.md b/deps/npm/docs/content/cli-commands/npm-ci.md index 357ba16cf6ade1..b5b6447a485f8f 100644 --- a/deps/npm/docs/content/cli-commands/npm-ci.md +++ b/deps/npm/docs/content/cli-commands/npm-ci.md @@ -45,7 +45,7 @@ cache: ### Description -This command is similar to [`npm install`](/cli-commands/npm-install), except it's meant to be used in +This command is similar to [`npm install`](/cli-commands/install), except it's meant to be used in automated environments such as test platforms, continuous integration, and deployment -- or any situation where you want to make sure you're doing a clean install of your dependencies. It can be significantly faster than a regular npm @@ -63,5 +63,5 @@ In short, the main differences between using `npm install` and `npm ci` are: ### See Also -* [npm install](/cli-commands/npm-install) +* [npm install](/cli-commands/install) * [package-locks](/configuring-npm/package-locks) diff --git a/deps/npm/docs/content/cli-commands/npm-config.md b/deps/npm/docs/content/cli-commands/npm-config.md index c2f2033b066d29..68d403746fc103 100644 --- a/deps/npm/docs/content/cli-commands/npm-config.md +++ b/deps/npm/docs/content/cli-commands/npm-config.md @@ -79,7 +79,7 @@ global config. ### See Also * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [package.json](/configuring-npm/package-json) * [npmrc](/configuring-npm/npmrc) * [npm](/cli-commands/npm) diff --git a/deps/npm/docs/content/cli-commands/npm-dedupe.md b/deps/npm/docs/content/cli-commands/npm-dedupe.md index e15a12ba7c18a3..a146885a044086 100644 --- a/deps/npm/docs/content/cli-commands/npm-dedupe.md +++ b/deps/npm/docs/content/cli-commands/npm-dedupe.md @@ -62,6 +62,6 @@ result in new modules being installed. ### See Also -* [npm ls](/cli-commands/npm-ls) -* [npm update](/cli-commands/npm-update) -* [npm install](/cli-commands/npm-install) +* [npm ls](/cli-commands/ls) +* [npm update](/cli-commands/update) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/content/cli-commands/npm-deprecate.md b/deps/npm/docs/content/cli-commands/npm-deprecate.md index d2d9613f653c6c..252c0e70370791 100644 --- a/deps/npm/docs/content/cli-commands/npm-deprecate.md +++ b/deps/npm/docs/content/cli-commands/npm-deprecate.md @@ -32,5 +32,5 @@ format an empty string. ### See Also -* [npm publish](/cli-commands/npm-publish) +* [npm publish](/cli-commands/publish) * [npm registry](/using-npm/registry) diff --git a/deps/npm/docs/content/cli-commands/npm-dist-tag.md b/deps/npm/docs/content/cli-commands/npm-dist-tag.md index c7921c7f739d72..4f7fcb9f58f1ba 100644 --- a/deps/npm/docs/content/cli-commands/npm-dist-tag.md +++ b/deps/npm/docs/content/cli-commands/npm-dist-tag.md @@ -92,9 +92,9 @@ begin with a number or the letter `v`. ### See Also -* [npm publish](/cli-commands/npm-publish) -* [npm install](/cli-commands/npm-install) -* [npm dedupe](/cli-commands/npm-dedupe) +* [npm publish](/cli-commands/publish) +* [npm install](/cli-commands/install) +* [npm dedupe](/cli-commands/dedupe) * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-docs.md b/deps/npm/docs/content/cli-commands/npm-docs.md index 46f5cd0d900a47..f157e200dc514f 100644 --- a/deps/npm/docs/content/cli-commands/npm-docs.md +++ b/deps/npm/docs/content/cli-commands/npm-docs.md @@ -44,9 +44,9 @@ The base URL of the npm package registry. ### See Also -* [npm view](/cli-commands/npm-view) -* [npm publish](/cli-commands/npm-publish) +* [npm view](/cli-commands/view) +* [npm publish](/cli-commands/publish) * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [package.json](/configuring-npm/package-json) diff --git a/deps/npm/docs/content/cli-commands/npm-doctor.md b/deps/npm/docs/content/cli-commands/npm-doctor.md index 7cec349e5a8145..60a57ea4765a26 100644 --- a/deps/npm/docs/content/cli-commands/npm-doctor.md +++ b/deps/npm/docs/content/cli-commands/npm-doctor.md @@ -106,6 +106,6 @@ cache, you should probably run `npm cache clean` and reset the cache. ### See Also -* [npm bugs](/cli-commands/npm-bugs) -* [npm help](/cli-commands/npm-help) -* [npm ping](/cli-commands/npm-ping) +* [npm bugs](/cli-commands/bugs) +* [npm help](/cli-commands/help) +* [npm ping](/cli-commands/ping) diff --git a/deps/npm/docs/content/cli-commands/npm-edit.md b/deps/npm/docs/content/cli-commands/npm-edit.md index 94b6a087fa102f..d4b9bbb819b94f 100644 --- a/deps/npm/docs/content/cli-commands/npm-edit.md +++ b/deps/npm/docs/content/cli-commands/npm-edit.md @@ -41,7 +41,7 @@ The command to run for `npm edit` or `npm config edit`. ### See Also * [npm folders](/configuring-npm/folders) -* [npm explore](/cli-commands/npm-explore) -* [npm install](/cli-commands/npm-install) -* [npm config](/cli-commands/npm-config) +* [npm explore](/cli-commands/explore) +* [npm install](/cli-commands/install) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-explore.md b/deps/npm/docs/content/cli-commands/npm-explore.md index 8ded96d40984fe..dfa4d9c0737412 100644 --- a/deps/npm/docs/content/cli-commands/npm-explore.md +++ b/deps/npm/docs/content/cli-commands/npm-explore.md @@ -44,7 +44,7 @@ The shell to run for the `npm explore` command. ### See Also * [npm folders](/configuring-npm/folders) -* [npm edit](/cli-commands/npm-edit) -* [npm rebuild](/cli-commands/npm-rebuild) -* [npm build](/cli-commands/npm-build) -* [npm install](/cli-commands/npm-install) +* [npm edit](/cli-commands/edit) +* [npm rebuild](/cli-commands/rebuild) +* [npm build](/cli-commands/build) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/content/cli-commands/npm-fund.md b/deps/npm/docs/content/cli-commands/npm-fund.md index 64894e291fc4f6..73910ff7c07bde 100644 --- a/deps/npm/docs/content/cli-commands/npm-fund.md +++ b/deps/npm/docs/content/cli-commands/npm-fund.md @@ -21,7 +21,8 @@ a given project. If no package name is provided, it will list all dependencies that are looking for funding in a tree-structure in which are listed the type of funding and the url to visit. If a package name is provided then it tries to open its funding url using the `--browser` -config param. +config param; if there are multiple funding sources for the package, the +user will be instructed to pass the `--which` command to disambiguate. The list will avoid duplicated entries and will stack all packages that share the same type/url as a single entry. Given this nature the @@ -38,8 +39,8 @@ The browser that is called by the `npm fund` command to open websites. #### json -* Default: false * Type: Boolean +* Default: false Show information in JSON format. @@ -51,10 +52,17 @@ Show information in JSON format. Whether to represent the tree structure using unicode characters. Set it to `false` in order to use all-ansi output. +#### which + +* Type: Number +* Default: undefined + +If there are multiple funding sources, which 1-indexed source URL to open. + ## See Also -* [npm docs](/cli-commands/npm-docs) -* [npm config](/cli-commands/npm-config) -* [npm install](/cli-commands/npm-install) -* [npm ls](/cli-commands/npm-ls) +* [npm docs](/cli-commands/docs) +* [npm config](/cli-commands/config) +* [npm install](/cli-commands/install) +* [npm ls](/cli-commands/ls) diff --git a/deps/npm/docs/content/cli-commands/npm-help-search.md b/deps/npm/docs/content/cli-commands/npm-help-search.md index 69d005cb160ed7..96781856551383 100644 --- a/deps/npm/docs/content/cli-commands/npm-help-search.md +++ b/deps/npm/docs/content/cli-commands/npm-help-search.md @@ -40,4 +40,4 @@ If false, then help-search will just list out the help topics found. ### See Also * [npm](/cli-commands/npm) -* [npm help](/cli-commands/npm-help) +* [npm help](/cli-commands/help) diff --git a/deps/npm/docs/content/cli-commands/npm-help.md b/deps/npm/docs/content/cli-commands/npm-help.md index c47676ffcac1d3..358010c05ece33 100644 --- a/deps/npm/docs/content/cli-commands/npm-help.md +++ b/deps/npm/docs/content/cli-commands/npm-help.md @@ -38,7 +38,7 @@ Set to `"browser"` to view html help content in the default web browser. * [npm](/cli-commands/npm) * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [package.json](/configuring-npm/package-json) -* [npm help-search](/cli-commands/npm-help-search) +* [npm help-search](/cli-commands/help-search) diff --git a/deps/npm/docs/content/cli-commands/npm-init.md b/deps/npm/docs/content/cli-commands/npm-init.md index 73ad74b23ea998..32b7f823019910 100644 --- a/deps/npm/docs/content/cli-commands/npm-init.md +++ b/deps/npm/docs/content/cli-commands/npm-init.md @@ -70,5 +70,5 @@ will create a scoped package. * * [package.json](/configuring-npm/package-json) -* [npm version](/cli-commands/npm-version) +* [npm version](/cli-commands/version) * [npm scope](/using-npm/scope) diff --git a/deps/npm/docs/content/cli-commands/npm-install-ci-test.md b/deps/npm/docs/content/cli-commands/npm-install-ci-test.md index 98e40f4b27a77d..09d738c79fbed5 100644 --- a/deps/npm/docs/content/cli-commands/npm-install-ci-test.md +++ b/deps/npm/docs/content/cli-commands/npm-install-ci-test.md @@ -22,5 +22,5 @@ This command runs an `npm ci` followed immediately by an `npm test`. ### See Also -* [npm ci](/cli-commands/npm-ci) -* [npm test](/cli-commands/npm-test) +* [npm ci](/cli-commands/ci) +* [npm test](/cli-commands/test) diff --git a/deps/npm/docs/content/cli-commands/npm-install-test.md b/deps/npm/docs/content/cli-commands/npm-install-test.md index b86a5199117c4a..58b8844b4fcfff 100644 --- a/deps/npm/docs/content/cli-commands/npm-install-test.md +++ b/deps/npm/docs/content/cli-commands/npm-install-test.md @@ -31,5 +31,5 @@ takes exactly the same arguments as `npm install`. ### See Also -* [npm install](/cli-commands/npm-install) -* [npm test](/cli-commands/npm-test) +* [npm install](/cli-commands/install) +* [npm test](/cli-commands/test) diff --git a/deps/npm/docs/content/cli-commands/npm-install.md b/deps/npm/docs/content/cli-commands/npm-install.md index 8e661bf643f394..be196fa825546b 100644 --- a/deps/npm/docs/content/cli-commands/npm-install.md +++ b/deps/npm/docs/content/cli-commands/npm-install.md @@ -32,7 +32,7 @@ common options: [-P|--save-prod|-D|--save-dev|-O|--save-optional] [-E|--save-exa This command installs a package, and any packages that it depends on. If the package has a package-lock or shrinkwrap file, the installation of dependencies will be driven by that, with an `npm-shrinkwrap.json` taking precedence if both -files exist. See [package-lock.json](/configuring-npm/package-lock-json) and [`npm shrinkwrap`](/cli-commands/npm-shrinkwrap). +files exist. See [package-lock.json](/configuring-npm/package-lock-json) and [`npm shrinkwrap`](/cli-commands/shrinkwrap). A `package` is: @@ -40,7 +40,7 @@ A `package` is: * b) a gzipped tarball containing (a) * c) a url that resolves to (b) * d) a `@` that is published on the registry (see [`registry`](/using-npm/registry)) with (c) -* e) a `@` (see [`npm dist-tag`](/cli-commands/npm-dist-tag)) that points to (d) +* e) a `@` (see [`npm dist-tag`](/cli-commands/dist-tag)) that points to (d) * f) a `` that has a "latest" tag satisfying (e) * g) a `` that resolves to (a) @@ -503,17 +503,17 @@ affects a real use-case, it will be investigated. ### See Also * [npm folders](/configuring-npm/folders) -* [npm update](/cli-commands/npm-update) -* [npm audit](/cli-commands/npm-audit) -* [npm fund](/cli-commands/npm-fund) -* [npm link](/cli-commands/npm-link) -* [npm rebuild](/cli-commands/npm-rebuild) +* [npm update](/cli-commands/update) +* [npm audit](/cli-commands/audit) +* [npm fund](/cli-commands/fund) +* [npm link](/cli-commands/link) +* [npm rebuild](/cli-commands/rebuild) * [npm scripts](/using-npm/scripts) -* [npm build](/cli-commands/npm-build) -* [npm config](/cli-commands/npm-config) +* [npm build](/cli-commands/build) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [npm registry](/using-npm/registry) -* [npm dist-tag](/cli-commands/npm-dist-tag) -* [npm uninstall](/cli-commands/npm-uninstall) -* [npm shrinkwrap](/cli-commands/npm-shrinkwrap) +* [npm dist-tag](/cli-commands/dist-tag) +* [npm uninstall](/cli-commands/uninstall) +* [npm shrinkwrap](/cli-commands/shrinkwrap) * [package.json](/configuring-npm/package-json) diff --git a/deps/npm/docs/content/cli-commands/npm-link.md b/deps/npm/docs/content/cli-commands/npm-link.md index 5c417dd143778d..3f513868dfebd6 100644 --- a/deps/npm/docs/content/cli-commands/npm-link.md +++ b/deps/npm/docs/content/cli-commands/npm-link.md @@ -23,8 +23,8 @@ Package linking is a two-step process. First, `npm link` in a package folder will create a symlink in the global folder `{prefix}/lib/node_modules/` that links to the package where the `npm -link` command was executed. (see [`npm-config`](npm-config) for the value of `prefix`). It -will also link any bins in the package to `{prefix}/bin/{name}`. +link` command was executed. It will also link any bins in the package to `{prefix}/bin/{name}`. +Note that `npm link` uses the global prefix (see `npm prefix -g` for its value). Next, in some other location, `npm link package-name` will create a symbolic link from globally-installed `package-name` to `node_modules/` @@ -86,7 +86,7 @@ npm link @myorg/privatepackage * [npm developers](/using-npm/developers) * [package.json](/configuring-npm/package-json) -* [npm- nstall](/cli-commands/npm-install) +* [npm- nstall](/cli-commands/install) * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-logout.md b/deps/npm/docs/content/cli-commands/npm-logout.md index ca7d86f2d1960e..5fb7100e8ef7d0 100644 --- a/deps/npm/docs/content/cli-commands/npm-logout.md +++ b/deps/npm/docs/content/cli-commands/npm-logout.md @@ -48,7 +48,7 @@ npm logout --scope=@myco ### See Also -* [npm adduser](/cli-commands/npm-adduser) +* [npm adduser](/cli-commands/adduser) * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) -* [npm whoami](/cli-commands/npm-whoami) +* [npm config](/cli-commands/config) +* [npm whoami](/cli-commands/whoami) diff --git a/deps/npm/docs/content/cli-commands/npm-ls.md b/deps/npm/docs/content/cli-commands/npm-ls.md index 64a399155ff601..797f15a50d8494 100644 --- a/deps/npm/docs/content/cli-commands/npm-ls.md +++ b/deps/npm/docs/content/cli-commands/npm-ls.md @@ -119,11 +119,11 @@ Set it to false in order to use all-ansi output. ### See Also -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [npm folders](/configuring-npm/folders) -* [npm install](/cli-commands/npm-install) -* [npm link](/cli-commands/npm-link) -* [npm prune](/cli-commands/npm-prune) -* [npm outdated](/cli-commands/npm-outdated) -* [npm update](/cli-commands/npm-update) +* [npm install](/cli-commands/install) +* [npm link](/cli-commands/link) +* [npm prune](/cli-commands/prune) +* [npm outdated](/cli-commands/outdated) +* [npm update](/cli-commands/update) diff --git a/deps/npm/docs/content/cli-commands/npm-outdated.md b/deps/npm/docs/content/cli-commands/npm-outdated.md index c7934109dca370..3dae28c465f4e6 100644 --- a/deps/npm/docs/content/cli-commands/npm-outdated.md +++ b/deps/npm/docs/content/cli-commands/npm-outdated.md @@ -118,7 +118,7 @@ Max depth for checking dependency tree. ### See Also -* [npm update](/cli-commands/npm-update) -* [npm dist-tag](/cli-commands/npm-dist-tag) +* [npm update](/cli-commands/update) +* [npm dist-tag](/cli-commands/dist-tag) * [npm registry](/using-npm/registry) * [npm folders](/configuring-npm/folders) diff --git a/deps/npm/docs/content/cli-commands/npm-owner.md b/deps/npm/docs/content/cli-commands/npm-owner.md index bc2fbc82fb280e..7088cdaf5cb396 100644 --- a/deps/npm/docs/content/cli-commands/npm-owner.md +++ b/deps/npm/docs/content/cli-commands/npm-owner.md @@ -41,7 +41,7 @@ with `--otp`. ### See Also -* [npm publish](/cli-commands/npm-publish) +* [npm publish](/cli-commands/publish) * [npm registry](/using-npm/registry) -* [npm adduser](/cli-commands/npm-adduser) +* [npm adduser](/cli-commands/adduser) * [npm disputes](/using-npm/disputes) diff --git a/deps/npm/docs/content/cli-commands/npm-pack.md b/deps/npm/docs/content/cli-commands/npm-pack.md index acf18559c14e00..d4774ff3716710 100644 --- a/deps/npm/docs/content/cli-commands/npm-pack.md +++ b/deps/npm/docs/content/cli-commands/npm-pack.md @@ -32,7 +32,7 @@ actually packing anything. Reports on what would have gone into the tarball. ### See Also -* [npm cache](/cli-commands/npm-cache) -* [npm publish](/cli-commands/npm-publish) -* [npm config](/cli-commands/npm-config) +* [npm cache](/cli-commands/cache) +* [npm publish](/cli-commands/publish) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-ping.md b/deps/npm/docs/content/cli-commands/npm-ping.md index 93d18b57f840b0..8f765501ac9f33 100644 --- a/deps/npm/docs/content/cli-commands/npm-ping.md +++ b/deps/npm/docs/content/cli-commands/npm-ping.md @@ -29,5 +29,5 @@ Ping error: {*Detail about error} ### See Also -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-prefix.md b/deps/npm/docs/content/cli-commands/npm-prefix.md index b82fec663a147d..c6b1f7441bcd65 100644 --- a/deps/npm/docs/content/cli-commands/npm-prefix.md +++ b/deps/npm/docs/content/cli-commands/npm-prefix.md @@ -21,12 +21,12 @@ to contain a `package.json` file or `node_modules` directory, unless `-g` is also specified. If `-g` is specified, this will be the value of the global prefix. See -[`npm config`](/cli-commands/npm-config) for more detail. +[`npm config`](/cli-commands/config) for more detail. ### See Also -* [npm root](/cli-commands/npm-root) -* [npm bin](/cli-commands/npm-bin) +* [npm root](/cli-commands/root) +* [npm bin](/cli-commands/bin) * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-profile.md b/deps/npm/docs/content/cli-commands/npm-profile.md index 9fe82cd2d3a952..7cc38e2c9c3fe3 100644 --- a/deps/npm/docs/content/cli-commands/npm-profile.md +++ b/deps/npm/docs/content/cli-commands/npm-profile.md @@ -79,4 +79,4 @@ available on non npmjs.com registries. ### See Also -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) diff --git a/deps/npm/docs/content/cli-commands/npm-prune.md b/deps/npm/docs/content/cli-commands/npm-prune.md index c6b61e62f828a2..586c2e7024642b 100644 --- a/deps/npm/docs/content/cli-commands/npm-prune.md +++ b/deps/npm/docs/content/cli-commands/npm-prune.md @@ -41,6 +41,6 @@ and it's up to you to run `npm prune` from time-to-time to remove them. ### See Also -* [npm uninstall](/cli-commands/npm-uninstall) +* [npm uninstall](/cli-commands/uninstall) * [npm folders](/configuring-npm/folders) -* [npm ls](/cli-commands/npm-ls) +* [npm ls](/cli-commands/ls) diff --git a/deps/npm/docs/content/cli-commands/npm-publish.md b/deps/npm/docs/content/cli-commands/npm-publish.md index b9d0cf1449e760..199377fa0df32d 100644 --- a/deps/npm/docs/content/cli-commands/npm-publish.md +++ b/deps/npm/docs/content/cli-commands/npm-publish.md @@ -60,22 +60,22 @@ the specified registry. Once a package is published with a given name and version, that specific name and version combination can never be used again, even if -it is removed with [`npm unpublish`](/cli-commands/npm-unpublish). +it is removed with [`npm unpublish`](/cli-commands/unpublish). As of `npm@5`, both a sha1sum and an integrity field with a sha512sum of the tarball will be submitted to the registry during publication. Subsequent installs will use the strongest supported algorithm to verify downloads. -Similar to `--dry-run` see [`npm pack`](/cli-commands/npm-pack), which figures out the files to be +Similar to `--dry-run` see [`npm pack`](/cli-commands/pack), which figures out the files to be included and packs them into a tarball to be uploaded to the registry. ### See Also * [npm registry](/using-npm/registry) * [npm scope](/using-npm/scope) -* [npm adduser](/cli-commands/npm-adduser) -* [npm owner](/cli-commands/npm-owner) -* [npm deprecate](/cli-commands/npm-deprecate) -* [npm dist-tag](/cli-commands/npm-dist-tag) -* [npm pack](/cli-commands/npm-pack) -* [npm profile](/cli-commands/npm-profile) +* [npm adduser](/cli-commands/adduser) +* [npm owner](/cli-commands/owner) +* [npm deprecate](/cli-commands/deprecate) +* [npm dist-tag](/cli-commands/dist-tag) +* [npm pack](/cli-commands/pack) +* [npm profile](/cli-commands/profile) diff --git a/deps/npm/docs/content/cli-commands/npm-rebuild.md b/deps/npm/docs/content/cli-commands/npm-rebuild.md index 414b9ca55a1932..9503d6aae84263 100644 --- a/deps/npm/docs/content/cli-commands/npm-rebuild.md +++ b/deps/npm/docs/content/cli-commands/npm-rebuild.md @@ -22,5 +22,5 @@ This command runs the `npm build` command on the matched folders. This is usefu ### See Also -* [npm build](/cli-commands/npm-build) -* [npm install](/cli-commands/npm-install) +* [npm build](/cli-commands/build) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/content/cli-commands/npm-repo.md b/deps/npm/docs/content/cli-commands/npm-repo.md index ad41ea571253fd..48021d9af5d912 100644 --- a/deps/npm/docs/content/cli-commands/npm-repo.md +++ b/deps/npm/docs/content/cli-commands/npm-repo.md @@ -32,5 +32,5 @@ The browser that is called by the `npm repo` command to open websites. ### See Also -* [npm docs](/cli-commands/npm-docs) -* [npm config](/cli-commands/npm-config) +* [npm docs](/cli-commands/docs) +* [npm config](/cli-commands/config) diff --git a/deps/npm/docs/content/cli-commands/npm-restart.md b/deps/npm/docs/content/cli-commands/npm-restart.md index d6d388b224ab1f..663b8f45066084 100644 --- a/deps/npm/docs/content/cli-commands/npm-restart.md +++ b/deps/npm/docs/content/cli-commands/npm-restart.md @@ -41,9 +41,9 @@ behavior will be accompanied by an increase in major version number ### See Also -* [npm run-script](/cli-commands/npm-run-script) +* [npm run-script](/cli-commands/run-script) * [npm scripts](/using-npm/scripts) -* [npm test](/cli-commands/npm-test) -* [npm start](/cli-commands/npm-start) -* [npm stop](/cli-commands/npm-stop) -* [npm restart](/cli-commands/npm-restart) \ No newline at end of file +* [npm test](/cli-commands/test) +* [npm start](/cli-commands/start) +* [npm stop](/cli-commands/stop) +* [npm restart](/cli-commands/restart) \ No newline at end of file diff --git a/deps/npm/docs/content/cli-commands/npm-root.md b/deps/npm/docs/content/cli-commands/npm-root.md index 2b27878af4c6dc..fce4490de78eac 100644 --- a/deps/npm/docs/content/cli-commands/npm-root.md +++ b/deps/npm/docs/content/cli-commands/npm-root.md @@ -19,8 +19,8 @@ Print the effective `node_modules` folder to standard out. ### See Also -* [npm prefix](/cli-commands/npm-prefix) -* [npm bin](/cli-commands/npm-bin) +* [npm prefix](/cli-commands/prefix) +* [npm bin](/cli-commands/bin) * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-run-script.md b/deps/npm/docs/content/cli-commands/npm-run-script.md index 51def74c3c4c33..1ee381e00f2f1e 100644 --- a/deps/npm/docs/content/cli-commands/npm-run-script.md +++ b/deps/npm/docs/content/cli-commands/npm-run-script.md @@ -90,8 +90,8 @@ without breaking the execution chain. ### See Also * [npm scripts](/using-npm/scripts) -* [npm test](/cli-commands/npm-test) -* [npm start](/cli-commands/npm-start) -* [npm restart](/cli-commands/npm-restart) -* [npm stop](/cli-commands/npm-stop) -* [npm config](/cli-commands/npm-config) +* [npm test](/cli-commands/test) +* [npm start](/cli-commands/start) +* [npm restart](/cli-commands/restart) +* [npm stop](/cli-commands/stop) +* [npm config](/cli-commands/config) diff --git a/deps/npm/docs/content/cli-commands/npm-search.md b/deps/npm/docs/content/cli-commands/npm-search.md index e066106faf71f4..c65e489cba27c8 100644 --- a/deps/npm/docs/content/cli-commands/npm-search.md +++ b/deps/npm/docs/content/cli-commands/npm-search.md @@ -109,6 +109,6 @@ setting. ### See Also * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) -* [npm view](/cli-commands/npm-view) +* [npm view](/cli-commands/view) diff --git a/deps/npm/docs/content/cli-commands/npm-shrinkwrap.md b/deps/npm/docs/content/cli-commands/npm-shrinkwrap.md index 342fb001675ab3..a22aed88e125fe 100644 --- a/deps/npm/docs/content/cli-commands/npm-shrinkwrap.md +++ b/deps/npm/docs/content/cli-commands/npm-shrinkwrap.md @@ -24,11 +24,11 @@ of package locks in npm, see [package-locks](/configuring-npm/package-locks). ### See Also -* [npm install](/cli-commands/npm-install) -* [npm run-script](/cli-commands/npm-run-script) +* [npm install](/cli-commands/install) +* [npm run-script](/cli-commands/run-script) * [npm scripts](/using-npm/scripts) * [package.js](/configuring-npm/package-json) * [package-locks](/configuring-npm/package-locks) * [package-lock.json](/configuring-npm/package-lock-json) * [shrinkwrap.json](/configuring-npm/shrinkwrap-json) -* [npm ls](/cli-commands/npm-ls) +* [npm ls](/cli-commands/ls) diff --git a/deps/npm/docs/content/cli-commands/npm-star.md b/deps/npm/docs/content/cli-commands/npm-star.md index 1912e9c654bc28..440d15d05c652e 100644 --- a/deps/npm/docs/content/cli-commands/npm-star.md +++ b/deps/npm/docs/content/cli-commands/npm-star.md @@ -26,6 +26,6 @@ It's a boolean thing. Starring repeatedly has no additional effect. ### See Also -* [npm view](/cli-commands/npm-view) -* [npm whoami](/cli-commands/npm-whoami) -* [npm adduser](/cli-commands/npm-adduser) +* [npm view](/cli-commands/view) +* [npm whoami](/cli-commands/whoami) +* [npm adduser](/cli-commands/adduser) diff --git a/deps/npm/docs/content/cli-commands/npm-stars.md b/deps/npm/docs/content/cli-commands/npm-stars.md index 475547bb4b7f2f..87b1664ef8595d 100644 --- a/deps/npm/docs/content/cli-commands/npm-stars.md +++ b/deps/npm/docs/content/cli-commands/npm-stars.md @@ -23,7 +23,7 @@ you will most certainly enjoy this command. ### See Also -* [npm star](/cli-commands/npm-star) -* [npm view](/cli-commands/npm-view) -* [npm whoami](/cli-commands/npm-whoami) -* [npm adduser](/cli-commands/npm-adduser) +* [npm star](/cli-commands/star) +* [npm view](/cli-commands/view) +* [npm whoami](/cli-commands/whoami) +* [npm adduser](/cli-commands/adduser) diff --git a/deps/npm/docs/content/cli-commands/npm-start.md b/deps/npm/docs/content/cli-commands/npm-start.md index 839528257b6d95..70221c9926a5d8 100644 --- a/deps/npm/docs/content/cli-commands/npm-start.md +++ b/deps/npm/docs/content/cli-commands/npm-start.md @@ -21,12 +21,12 @@ its `"scripts"` object. If no `"start"` property is specified on the `"scripts"` object, it will run `node server.js`. As of [`npm@2.0.0`](https://blog.npmjs.org/post/98131109725/npm-2-0-0), you can -use custom arguments when executing scripts. Refer to [`npm run-script`](/cli-commands/npm-run-script) for more details. +use custom arguments when executing scripts. Refer to [`npm run-script`](/cli-commands/run-script) for more details. ### See Also -* [npm run-script](/cli-commands/npm-run-script) +* [npm run-script](/cli-commands/run-script) * [npm scripts](/using-npm/scripts) -* [npm test](/cli-commands/npm-test) -* [npm restart](/cli-commands/npm-restart) -* [npm stop](/cli-commands/npm-stop) +* [npm test](/cli-commands/test) +* [npm restart](/cli-commands/restart) +* [npm stop](/cli-commands/stop) diff --git a/deps/npm/docs/content/cli-commands/npm-stop.md b/deps/npm/docs/content/cli-commands/npm-stop.md index da759047cb19a5..889f04ec41e3e2 100644 --- a/deps/npm/docs/content/cli-commands/npm-stop.md +++ b/deps/npm/docs/content/cli-commands/npm-stop.md @@ -20,8 +20,8 @@ This runs a package's "stop" script, if one was provided. ### See Also -* [npm run-script](/cli-commands/npm-run-script) +* [npm run-script](/cli-commands/run-script) * [npm scripts](/using-npm/scripts) -* [npm test](/cli-commands/npm-test) -* [npm start](/cli-commands/npm-start) -* [npm restart](/cli-commands/npm-restart) +* [npm test](/cli-commands/test) +* [npm start](/cli-commands/start) +* [npm restart](/cli-commands/restart) diff --git a/deps/npm/docs/content/cli-commands/npm-team.md b/deps/npm/docs/content/cli-commands/npm-team.md index 9a63b10c26f325..53e084d47d14a3 100644 --- a/deps/npm/docs/content/cli-commands/npm-team.md +++ b/deps/npm/docs/content/cli-commands/npm-team.md @@ -30,6 +30,8 @@ handle permissions for packages. Teams must always be fully qualified with the organization/scope they belong to when operating on them, separated by a colon (`:`). That is, if you have a `wombats` team in a `wisdom` organization, you must always refer to that team as `wisdom:wombats` in these commands. +If you have two-factor authentication enabled in `auth-and-writes` mode, then you can provide a code from your authenticator with `[--otp ]`. If you don't include this then you will be prompted. + * create / destroy: Create a new team, or destroy an existing one. Note: You cannot remove the `developers` team, learn more. * add / rm: @@ -60,5 +62,5 @@ use the `npm access` command to grant or revoke the appropriate permissions. ### See Also -* [npm access](/cli-commands/npm-access) +* [npm access](/cli-commands/access) * [npm registry](/using-npm/registry) diff --git a/deps/npm/docs/content/cli-commands/npm-test.md b/deps/npm/docs/content/cli-commands/npm-test.md index 99c027e3e057af..11900fd2fbf5e1 100644 --- a/deps/npm/docs/content/cli-commands/npm-test.md +++ b/deps/npm/docs/content/cli-commands/npm-test.md @@ -22,8 +22,8 @@ This runs a package's "test" script, if one was provided. ### See Also -* [npm run-script](/cli-commands/npm-run-script) +* [npm run-script](/cli-commands/run-script) * [npm scripts](/using-npm/scripts) -* [npm start](/cli-commands/npm-start) -* [npm restart](/cli-commands/npm-restart) -* [npm stop](/cli-commands/npm-stop) +* [npm start](/cli-commands/start) +* [npm restart](/cli-commands/restart) +* [npm stop](/cli-commands/stop) diff --git a/deps/npm/docs/content/cli-commands/npm-uninstall.md b/deps/npm/docs/content/cli-commands/npm-uninstall.md index 96fdc4ebe05ba9..2b994ba6180b65 100644 --- a/deps/npm/docs/content/cli-commands/npm-uninstall.md +++ b/deps/npm/docs/content/cli-commands/npm-uninstall.md @@ -57,8 +57,8 @@ npm uninstall lodash --no-save ### See Also -* [npm prune](/cli-commands/npm-prune) -* [npm install](/cli-commands/npm-install) +* [npm prune](/cli-commands/prune) +* [npm install](/cli-commands/install) * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-unpublish.md b/deps/npm/docs/content/cli-commands/npm-unpublish.md index 5348023d9a8400..9b918ed432c306 100644 --- a/deps/npm/docs/content/cli-commands/npm-unpublish.md +++ b/deps/npm/docs/content/cli-commands/npm-unpublish.md @@ -10,19 +10,21 @@ description: Remove a package from the registry ### Synopsis +#### Unpublishing a single version of a package + ```bash -npm unpublish [<@scope>/][@] +npm unpublish [<@scope>/]@ ``` -### Warning +#### Unpublishing an entire package -**It is generally considered bad behavior to remove versions of a library -that others are depending on!** +```bash +npm unpublish [<@scope>/] --force +``` -Consider using the `deprecate` command -instead, if your intent is to encourage users to upgrade. +### Warning -There is plenty of room on the registry. +Consider using the `deprecate` command instead, if your intent is to encourage users to upgrade, or if you no longer want to maintain a package. ### Description @@ -34,21 +36,15 @@ the root package entry is removed from the registry entirely. Even if a package version is unpublished, that specific name and version combination can never be reused. In order to publish the -package again, a new version number must be used. Additionally, -new versions of packages with every version unpublished may not -be republished until 24 hours have passed. +package again, a new version number must be used. If you unpublish the entire package, you may not publish any new versions of that package until 24 hours have passed. -With the default registry (`registry.npmjs.org`), unpublish is -only allowed with versions published in the last 72 hours. If you -are trying to unpublish a version published longer ago than that, -contact support@npmjs.com. +To learn more about how unpublish is treated on the npm registry, see our unpublish policies. -The scope is optional and follows the usual rules for [`scope`](/using-npm/scope). ### See Also -* [npm deprecate](/cli-commands/npm-deprecate) -* [npm publish](/cli-commands/npm-publish) +* [npm deprecate](/cli-commands/deprecate) +* [npm publish](/cli-commands/publish) * [npm registry](/using-npm/registry) -* [npm adduser](/cli-commands/npm-adduser) -* [npm owner](/cli-commands/npm-owner) +* [npm adduser](/cli-commands/adduser) +* [npm owner](/cli-commands/owner) diff --git a/deps/npm/docs/content/cli-commands/npm-update.md b/deps/npm/docs/content/cli-commands/npm-update.md index f2e93b6dc33df1..706d8acf208f91 100644 --- a/deps/npm/docs/content/cli-commands/npm-update.md +++ b/deps/npm/docs/content/cli-commands/npm-update.md @@ -122,7 +122,9 @@ version that satisfies `^0.4.0` (`>= 0.4.0 <0.5.0`) `npm update -g` will apply the `update` action to each globally installed package that is `outdated` -- that is, has a version that is different from -`latest`. +`wanted`. + +Note: Globally installed packages are treated as if they are installed with a caret semver range specified. So if you require to update to `latest` you may need to run `npm install -g [...]` NOTE: If a package has been upgraded to a version newer than `latest`, it will be _downgraded_. @@ -130,9 +132,9 @@ be _downgraded_. ### See Also -* [npm install](/cli-commands/npm-install) -* [npm outdated](/cli-commands/npm-outdated) -* [npm shrinkwrap](/cli-commands/npm-shrinkwrap) +* [npm install](/cli-commands/install) +* [npm outdated](/cli-commands/outdated) +* [npm shrinkwrap](/cli-commands/shrinkwrap) * [npm registry](/using-npm/registry) * [npm folders](/configuring-npm/folders) -* [npm ls](/cli-commands/npm-ls) +* [npm ls](/cli-commands/ls) diff --git a/deps/npm/docs/content/cli-commands/npm-version.md b/deps/npm/docs/content/cli-commands/npm-version.md index a47e9e33326acf..05a2ea4c8d8097 100644 --- a/deps/npm/docs/content/cli-commands/npm-version.md +++ b/deps/npm/docs/content/cli-commands/npm-version.md @@ -126,8 +126,8 @@ Note that you must have a default GPG key set up in your git config for this to ### See Also -* [npm init](/cli-commands/npm-init) -* [npm run-script](/cli-commands/npm-run-script) +* [npm init](/cli-commands/init) +* [npm run-script](/cli-commands/run-script) * [npm scripts](/using-npm/scripts) * [package.json](/configuring-npm/package-json) * [semver](/using-npm/semver) diff --git a/deps/npm/docs/content/cli-commands/npm-view.md b/deps/npm/docs/content/cli-commands/npm-view.md index 0c108e6f566154..b4c68471f5a7dc 100644 --- a/deps/npm/docs/content/cli-commands/npm-view.md +++ b/deps/npm/docs/content/cli-commands/npm-view.md @@ -117,8 +117,8 @@ the field name. ### See Also -* [npm search](/cli-commands/npm-search) +* [npm search](/cli-commands/search) * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) -* [npm docs](/cli-commands/npm-docs) +* [npm docs](/cli-commands/docs) diff --git a/deps/npm/docs/content/cli-commands/npm-whoami.md b/deps/npm/docs/content/cli-commands/npm-whoami.md index b0eda4e46aa61b..d82f1f89732def 100644 --- a/deps/npm/docs/content/cli-commands/npm-whoami.md +++ b/deps/npm/docs/content/cli-commands/npm-whoami.md @@ -19,6 +19,6 @@ Print the `username` config to standard output. ### See Also -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) -* [npm adduser](/cli-commands/npm-adduser) +* [npm adduser](/cli-commands/adduser) diff --git a/deps/npm/docs/content/configuring-npm/folders.md b/deps/npm/docs/content/configuring-npm/folders.md index 96a8f4783d719b..abb6133fd1702f 100644 --- a/deps/npm/docs/content/configuring-npm/folders.md +++ b/deps/npm/docs/content/configuring-npm/folders.md @@ -73,7 +73,7 @@ Man pages are not installed on Windows systems. #### Cache -See [`npm cache`](/cli-commands/npm-cache). Cache files are stored in `~/.npm` on Posix, or +See [`npm cache`](/cli-commands/cache). Cache files are stored in `~/.npm` on Posix, or `%AppData%/npm-cache` on Windows. This is controlled by the `cache` configuration param. @@ -214,10 +214,10 @@ cannot be found elsewhere. See [`package.json`](/configuring-npm/package.json) ### See also * [package.json](/configuring-npm/package-json) -* [npm install](/cli-commands/npm-install) -* [npm pack](/cli-commands/npm-pack) -* [npm cache](/cli-commands/npm-cache) -* [npm config](/cli-commands/npm-config) +* [npm install](/cli-commands/install) +* [npm pack](/cli-commands/pack) +* [npm cache](/cli-commands/cache) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [config](/using-npm/config) -* [npm publish](/cli-commands/npm-publish) +* [npm publish](/cli-commands/publish) diff --git a/deps/npm/docs/content/configuring-npm/npmrc.md b/deps/npm/docs/content/configuring-npm/npmrc.md index 090ed5944fcce5..3439c0a8bfcf8b 100644 --- a/deps/npm/docs/content/configuring-npm/npmrc.md +++ b/deps/npm/docs/content/configuring-npm/npmrc.md @@ -97,7 +97,7 @@ manner. ### See also * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [config](/using-npm/config) * [package.json](/configuring-npm/package-json) * [npm](/cli-commands/npm) diff --git a/deps/npm/docs/content/configuring-npm/package-json.md b/deps/npm/docs/content/configuring-npm/package-json.md index b7759f482f914a..6d9cae346b1944 100644 --- a/deps/npm/docs/content/configuring-npm/package-json.md +++ b/deps/npm/docs/content/configuring-npm/package-json.md @@ -197,7 +197,8 @@ npm also sets a top-level "maintainers" field with your npm user info. ### funding You can specify an object containing an URL that provides up-to-date -information about ways to help fund development of your package: +information about ways to help fund development of your package, or +a string URL, or an array of these: "funding": { "type" : "individual", @@ -209,10 +210,26 @@ information about ways to help fund development of your package: "url" : "https://www.patreon.com/my-account" } + "funding": "http://example.com/donate" + + "funding": [ + { + "type" : "individual", + "url" : "http://example.com/donate" + }, + "http://example.com/donateAlso", + { + "type" : "patreon", + "url" : "https://www.patreon.com/my-account" + } + ] + + Users can use the `npm fund` subcommand to list the `funding` URLs of all dependencies of their project, direct and indirect. A shortcut to visit each funding url is also available when providing the project name such as: -`npm fund `. +`npm fund ` (when there are multiple URLs, the first one will be +visited) ### files @@ -516,7 +533,7 @@ See [semver](/using-npm/semver) for more details about specifying version ranges * `range1 || range2` Passes if either range1 or range2 are satisfied. * `git...` See 'Git URLs as Dependencies' below * `user/repo` See 'GitHub URLs' below -* `tag` A specific version tagged and published as `tag` See [`npm dist-tag`](/cli-commands/npm-dist-tag) +* `tag` A specific version tagged and published as `tag` See [`npm dist-tag`](/cli-commands/dist-tag) * `path/path/path` See [Local Paths](#local-paths) below For example, these are all valid: @@ -740,7 +757,8 @@ If a dependency can be used, but you would like npm to proceed if it cannot be found or fails to install, then you may put it in the `optionalDependencies` object. This is a map of package name to version or url, just like the `dependencies` object. The difference is that build failures do not cause -installation to fail. +installation to fail. Running `npm install --no-optional` will prevent these +dependencies from being installed. It is still your program's responsibility to handle the lack of the dependency. For example, something like this: @@ -892,10 +910,10 @@ npm will default some values based on package contents. ### SEE ALSO * [semver](/using-npm/semver) -* [npm init](/cli-commands/npm-init) -* [npm version](/cli-commands/npm-version) -* [npm config](/cli-commands/npm-config) -* [npm help](/cli-commands/npm-help) -* [npm install](/cli-commands/npm-install) -* [npm publish](/cli-commands/npm-publish) -* [npm uninstall](/cli-commands/npm-uninstall) +* [npm init](/cli-commands/init) +* [npm version](/cli-commands/version) +* [npm config](/cli-commands/config) +* [npm help](/cli-commands/help) +* [npm install](/cli-commands/install) +* [npm publish](/cli-commands/publish) +* [npm uninstall](/cli-commands/uninstall) diff --git a/deps/npm/docs/content/configuring-npm/package-lock-json.md b/deps/npm/docs/content/configuring-npm/package-lock-json.md index 9f3ca4683defe7..0ab0aaa4ce247e 100644 --- a/deps/npm/docs/content/configuring-npm/package-lock-json.md +++ b/deps/npm/docs/content/configuring-npm/package-lock-json.md @@ -142,8 +142,8 @@ The dependencies of this dependency, exactly as at the top level. ### See also -* [npm shrinkwrap](/cli-commands/npm-shrinkwrap) +* [npm shrinkwrap](/cli-commands/shrinkwrap) * [shrinkwrap.json](/configuring-npm/shrinkwrap-json) * [package-locks](/configuring-npm/package-locks) * [package.json](/configuring-npm/package-json) -* [npm install](/cli-commands/npm-install) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/content/configuring-npm/package-locks.md b/deps/npm/docs/content/configuring-npm/package-locks.md index de65e3c634f077..81d21298ae84dd 100644 --- a/deps/npm/docs/content/configuring-npm/package-locks.md +++ b/deps/npm/docs/content/configuring-npm/package-locks.md @@ -10,7 +10,7 @@ description: An explanation of npm lockfiles ### Description -Conceptually, the "input" to [`npm install`](/cli-commands/npm-install) is a [package.json](/configuring-npm/package-json), while its +Conceptually, the "input" to [`npm install`](/cli-commands/install) is a [package.json](/configuring-npm/package-json), while its "output" is a fully-formed `node_modules` tree: a representation of the dependencies you declared. In an ideal world, npm would work like a pure function: the same `package.json` should produce the exact same `node_modules` @@ -179,4 +179,4 @@ pre-`npm@5.7.0` versions of npm 5, albeit a bit more noisily. Note that if * [package.json](/configuring-npm/package-json) * [package-lock.json](/configuring-npm/package-lock-json) * [shrinkwrap.json](/configuring-npm/shrinkwrap-json) -* [npm shrinkwrap](/cli-commands/npm-shrinkwrap) +* [npm shrinkwrap](/cli-commands/shrinkwrap) diff --git a/deps/npm/docs/content/configuring-npm/shrinkwrap-json.md b/deps/npm/docs/content/configuring-npm/shrinkwrap-json.md index bc5e061d55b095..fcb32952f93776 100644 --- a/deps/npm/docs/content/configuring-npm/shrinkwrap-json.md +++ b/deps/npm/docs/content/configuring-npm/shrinkwrap-json.md @@ -10,7 +10,7 @@ description: A publishable lockfile ### Description -`npm-shrinkwrap.json` is a file created by [`npm shrinkwrap`](/cli-commands/npm-shrinkwrap). It is identical to +`npm-shrinkwrap.json` is a file created by [`npm shrinkwrap`](/cli-commands/shrinkwrap). It is identical to `package-lock.json`, with one major caveat: Unlike `package-lock.json`, `npm-shrinkwrap.json` may be included when publishing a package. @@ -28,7 +28,7 @@ to the manual page for [package-lock.json](/configuring-npm/package-lock-json). ### See also -* [npm shrinkwrap](/cli-commands/npm-shrinkwrap) +* [npm shrinkwrap](/cli-commands/shrinkwrap) * [package-lock.json](/configuring-npm/package-lock-json) * [package.json](/configuring-npm/package-json) -* [npm install](/cli-commands/npm-install) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/content/using-npm/config.md b/deps/npm/docs/content/using-npm/config.md index a6947b17d58d15..fcf116d7f1ff66 100644 --- a/deps/npm/docs/content/using-npm/config.md +++ b/deps/npm/docs/content/using-npm/config.md @@ -179,7 +179,7 @@ When "dev" or "development" and running local `npm shrinkwrap`, When "true" submit audit reports alongside `npm install` runs to the default registry and all registries configured for scopes. See the documentation -for [`npm audit`](/cli-commands/npm-audit) for details on what is submitted. +for [`npm audit`](/cli-commands/audit) for details on what is submitted. #### audit-level @@ -270,7 +270,7 @@ well as for the CA information to be stored in a file on disk. * Default: Windows: `%AppData%\npm-cache`, Posix: `~/.npm` * Type: path -The location of npm's cache directory. See [`npm cache`](/cli-commands/npm-cache) +The location of npm's cache directory. See [`npm cache`](/cli-commands/cache) #### cache-lock-stale @@ -456,7 +456,7 @@ packages. When "true" displays the message at the end of each `npm install` aknowledging the number of dependencies looking for funding. -See [`npm fund`](/cli-commands/npm-fund) for details. +See [`npm fund`](/cli-commands/fund) for details. #### git @@ -571,7 +571,7 @@ If true, npm does not run scripts specified in package.json files. A module that will be loaded by the `npm init` command. See the documentation for the [init-package-json](https://github.com/isaacs/init-package-json) module -for more information, or [npm init](/cli-commands/npm-init). +for more information, or [npm init](/cli-commands/init). #### init-author-name @@ -1228,7 +1228,7 @@ version of npm than the latest. * Type: Boolean Set to show short usage output (like the -H output) -instead of complete help when doing [`npm help`](/cli-commands/npm-help). +instead of complete help when doing [`npm help`](/cli-commands/help). #### user @@ -1293,7 +1293,7 @@ Set to `"browser"` to view html help content in the default web browser. ### See also -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [npm scripts](/using-npm/scripts) * [npm folders](/configuring-npm/folders) diff --git a/deps/npm/docs/content/using-npm/disputes.md b/deps/npm/docs/content/using-npm/disputes.md index 65751618cab8ae..37a724e6b0f1c2 100644 --- a/deps/npm/docs/content/using-npm/disputes.md +++ b/deps/npm/docs/content/using-npm/disputes.md @@ -105,7 +105,7 @@ If you see bad behavior like this, please report it to right away. **You are never expected to resolve abusive behavior on your own. We are here to help.** -### Trademarkss +### Trademarks If you think another npm publisher is infringing your trademark, such as by using a confusingly similar package name, email with a link to @@ -134,4 +134,4 @@ License. ### See also * [npm registry](/using-npm/registry) -* [npm owner](/cli-commands/npm-owner) +* [npm owner](/cli-commands/owner) diff --git a/deps/npm/docs/content/using-npm/orgs.md b/deps/npm/docs/content/using-npm/orgs.md index 9709a12d726752..107bac7a9454bd 100644 --- a/deps/npm/docs/content/using-npm/orgs.md +++ b/deps/npm/docs/content/using-npm/orgs.md @@ -24,8 +24,8 @@ The developer will be able to access packages based on the teams they are on. Ac There are two main commands: -1. `npm team` see [npm team](/cli-commands/npm-team) for more details -2. `npm access` see [npm access](/cli-commands/npm-access) for more details +1. `npm team` see [npm team](/cli-commands/team) for more details +2. `npm access` see [npm access](/cli-commands/access) for more details ### Team Admins create teams @@ -92,6 +92,6 @@ npm access ls-collaborators ### See also -* [npm team](/cli-commands/npm-team) -* [npm access](/cli-commands/npm-access) +* [npm team](/cli-commands/team) +* [npm access](/cli-commands/access) * [npm scope](/using-npm/scope) diff --git a/deps/npm/docs/content/using-npm/registry.md b/deps/npm/docs/content/using-npm/registry.md index cd6a2e4d71eebc..44d0594132929f 100644 --- a/deps/npm/docs/content/using-npm/registry.md +++ b/deps/npm/docs/content/using-npm/registry.md @@ -33,7 +33,7 @@ available at . The registry URL used is determined by the scope of the package (see [`scope`](/using-npm/scope). If no scope is specified, the default registry is used, which is -supplied by the `registry` config parameter. See [`npm config`](/cli-commands/npm-config), +supplied by the `registry` config parameter. See [`npm config`](/cli-commands/config), [`npmrc`](/configuring-npm/npmrc), and [`config`](/using-npm/config) for more on managing npm's configuration. ### Does npm send any information about me back to the registry? @@ -100,7 +100,7 @@ Yes, head over to ### See also -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [config](/using-npm/config) * [npmrc](/configuring-npm/npmrc) * [npm developers](/using-npm/developers) diff --git a/deps/npm/docs/content/using-npm/removal.md b/deps/npm/docs/content/using-npm/removal.md index 7c836846732403..20f353dc3475d8 100644 --- a/deps/npm/docs/content/using-npm/removal.md +++ b/deps/npm/docs/content/using-npm/removal.md @@ -66,5 +66,5 @@ find /usr/local/{lib/node,bin} -exec grep -l npm \{\} \; ; ### See also -* [npm uninstall](/cli-commands/npm-uninstall) -* [npm prune](/cli-commands/npm-prune) +* [npm uninstall](/cli-commands/uninstall) +* [npm prune](/cli-commands/prune) diff --git a/deps/npm/docs/content/using-npm/scope.md b/deps/npm/docs/content/using-npm/scope.md index 2cbc108f0db92c..81c55060ff601e 100644 --- a/deps/npm/docs/content/using-npm/scope.md +++ b/deps/npm/docs/content/using-npm/scope.md @@ -55,7 +55,7 @@ Or in `package.json`: ``` Note that if the `@` symbol is omitted, in either case, npm will instead attempt to -install from GitHub; see [`npm install`](/cli-commands/npm-install). +install from GitHub; see [`npm install`](/cli-commands/install). ### Requiring scoped packages @@ -125,7 +125,7 @@ that registry instead. ### See also -* [npm install](/cli-commands/npm-install) -* [npm publish](/cli-commands/npm-publish) -* [npm access](/cli-commands/npm-access) +* [npm install](/cli-commands/install) +* [npm publish](/cli-commands/publish) +* [npm access](/cli-commands/access) * [npm registry](/using-npm/registry) diff --git a/deps/npm/docs/content/using-npm/scripts.md b/deps/npm/docs/content/using-npm/scripts.md index 6a2522fba43a77..a9ca433fdea08c 100644 --- a/deps/npm/docs/content/using-npm/scripts.md +++ b/deps/npm/docs/content/using-npm/scripts.md @@ -10,90 +10,64 @@ description: How npm handles the "scripts" field ### Description -npm supports the "scripts" property of the package.json file, for the -following scripts: - -* **prepublish** (_as of npm@5, `prepublish` is deprecated. Use `prepare` for build steps and `prepublishOnly` for upload-only._): - Run BEFORE the package is packed and published, as well as on local `npm - install` without any arguments. (See below) -* **prepare**: - Run both BEFORE the package is packed and published, on local `npm - install` without any arguments, and when installing git dependencies (See - below). This is run AFTER `prepublish`, but BEFORE `prepublishOnly`. -* **prepublishOnly**: - Run BEFORE the package is prepared and packed, ONLY on `npm publish`. (See - below.) -* **prepack**: - run BEFORE a tarball is packed (on `npm pack`, `npm publish`, and when - installing git dependencies) -* **postpack**: - Run AFTER the tarball has been generated and moved to its final destination. -* **publish**, **postpublish**: - Run AFTER the package is published. -* **preinstall**: - Run BEFORE the package is installed -* **install**, **postinstall**: - Run AFTER the package is installed. -* **preuninstall**, **uninstall**: - Run BEFORE the package is uninstalled. -* **postuninstall**: - Run AFTER the package is uninstalled. -* **preversion**: - Run BEFORE bumping the package version. -* **version**: - Run AFTER bumping the package version, but BEFORE commit. -* **postversion**: - Run AFTER bumping the package version, and AFTER commit. -* **pretest**, **test**, **posttest**: - Run by the `npm test` command. -* **prestop**, **stop**, **poststop**: - Run by the `npm stop` command. -* **prestart**, **start**, **poststart**: - Run by the `npm start` command. -* **prerestart**, **restart**, **postrestart**: - Run by the `npm restart` command. Note: `npm restart` will run the - stop and start scripts if no `restart` script is provided. -* **preshrinkwrap**, **shrinkwrap**, **postshrinkwrap**: - Run by the `npm shrinkwrap` command. - -Additionally, arbitrary scripts can be executed by running `npm -run-script `. *Pre* and *post* commands with matching -names will be run for those as well (e.g. `premyscript`, `myscript`, -`postmyscript`). Scripts from dependencies can be run with -`npm explore -- npm run `. - -#### Prepublish and Prepare - -#### Deprecation Note - -Since `npm@1.1.71`, the npm CLI has run the `prepublish` script for both `npm -publish` and `npm install`, because it's a convenient way to prepare a package -for use (some common use cases are described in the section below). It has -also turned out to be, in practice, [very -confusing](https://github.com/npm/npm/issues/10074). As of `npm@4.0.0`, a new -event has been introduced, `prepare`, that preserves this existing behavior. A -_new_ event, `prepublishOnly` has been added as a transitional strategy to -allow users to avoid the confusing behavior of existing npm versions and only -run on `npm publish` (for instance, running the tests one last time to ensure -they're in good shape). - -See for a much lengthier -justification, with further reading, for this change. - -#### Use Cases - -If you need to perform operations on your package before it is used, in a way -that is not dependent on the operating system or architecture of the -target system, use a `prepublish` script. This includes -tasks such as: +The `"scripts"` property of of your `package.json` file supports a number of built-in scripts and their preset life cycle events as well as arbitrary scripts. These all can be executed by running `npm run-script ` or `npm run ` for short. *Pre* and *post* commands with matching names will be run for those as well (e.g. `premyscript`, `myscript`, `postmyscript`). Scripts from dependencies can be run with `npm explore -- npm run `. + +### Pre & Post Scripts + +To create "pre" or "post" scripts for any scripts defined in the `"scripts"` section of the `package.json`, simply create another script *with a matching name* and add "pre" or "post" to the beginning of them. + +```json +{ + "scripts": { + "precompress": "{{ executes BEFORE the `compress` script }}", + "compress": "{{ run command to compress files }}", + "postcompress": "{{ executes AFTER `compress` script }}" + } +} +``` + +### Life Cycle Scripts + +There are some special life cycle scripts that happen only in certain situations. These scripts happen in addtion to the "pre" and "post" script. +* `prepare`, `prepublish`, `prepublishOnly`, `prepack`, `postpack` + +**prepare** (since `npm@4.0.0`) +* Runs BEFORE the package is packed +* Runs BEFORE the package is published +* Runs on local `npm install` without any arguments +* Run AFTER `prepublish`, but BEFORE `prepublishOnly` +* NOTE: If a package being installed through git contains a `prepare` script, its `dependencies` and `devDependencies` will be installed, and the prepare script will be run, before the package is packaged and installed. + +**prepublish** (DEPRECATED) +* Same as `prepare` + +**prepublishOnly** +* Runs BEFORE the package is prepared and packed, ONLY on `npm publish`. + +**prepack** +* Runs BEFORE a tarball is packed (on "`npm pack`", "`npm publish`", and when installing a git dependencies). +* NOTE: "`npm run pack`" is NOT the same as "`npm pack`". "`npm run pack`" is an arbitrary user defined script name, where as, "`npm pack`" is a CLI defined command. + +**postpack** +* Runs AFTER the tarball has been generated and moved to its final destination. + +#### Prepare and Prepublish + +**Deprecation Note: prepublish** + +Since `npm@1.1.71`, the npm CLI has run the `prepublish` script for both `npm publish` and `npm install`, because it's a convenient way to prepare a package for use (some common use cases are described in the section below). It has also turned out to be, in practice, [very confusing](https://github.com/npm/npm/issues/10074). As of `npm@4.0.0`, a new event has been introduced, `prepare`, that preserves this existing behavior. A _new_ event, `prepublishOnly` has been added as a transitional strategy to allow users to avoid the confusing behavior of existing npm versions and only run on `npm publish` (for instance, running the tests one last time to ensure they're in good shape). + +See for a much lengthier justification, with further reading, for this change. + +**Use Cases** + +If you need to perform operations on your package before it is used, in a way that is not dependent on the operating system or architecture of the target system, use a `prepublish` script. This includes tasks such as: * Compiling CoffeeScript source code into JavaScript. * Creating minified versions of JavaScript source code. * Fetching remote resources that your package will use. -The advantage of doing these things at `prepublish` time is that they can be done once, in a -single place, thus reducing complexity and variability. -Additionally, this means that: +The advantage of doing these things at `prepublish` time is that they can be done once, in a single place, thus reducing complexity and variability. Additionally, this means that: * You can depend on `coffee-script` as a `devDependency`, and thus your users don't need to have it installed. @@ -102,8 +76,41 @@ Additionally, this means that: * You don't need to rely on your users having `curl` or `wget` or other system tools on the target machines. -### Default Values +### Life Cycle Operation Order + +#### [`npm publish`](/cli-commands/publish) + +* `prepublishOnly` +* `prepare` +* `prepublish` +* `publish` +* `postpublish` + +#### [`npm pack`](/cli-commands/pack) + +* `prepack` +* `postpack` +#### [`npm install`](/cli-commands/install) + +* `preinstall` +* `install` +* `postinstall` + +Also triggers + +* `prepublish` (when on local) +* `prepare` (when on local) + +#### [`npm start`](/cli-commands/start) + +`npm run start` has an `npm start` shorthand. + +* `prestart` +* `start` +* `poststart` + +### Default Values npm will default some script values based on package contents. * `"start": "node server.js"`: @@ -208,7 +215,7 @@ For example, if your package.json contains this: ```json { "scripts" : { "install" : "scripts/install.js" - , "postinstall" : "scripts/install.js" + , "postinstall" : "scripts/postinstall.js" , "uninstall" : "scripts/uninstall.js" } } @@ -283,7 +290,7 @@ above. ### See Also -* [npm run-script](/cli-commands/npm-run-script) +* [npm run-script](/cli-commands/run-script) * [package.json](/configuring-npm/package-json) * [npm developers](/using-npm/developers) -* [npm install](/cli-commands/npm-install) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/package-lock.json b/deps/npm/docs/package-lock.json index 7fbff27b294df3..75bda15a6ee8d0 100644 --- a/deps/npm/docs/package-lock.json +++ b/deps/npm/docs/package-lock.json @@ -13,18 +13,18 @@ } }, "@babel/core": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz", - "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==", + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz", + "integrity": "sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==", "requires": { "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.5.5", - "@babel/helpers": "^7.5.5", - "@babel/parser": "^7.5.5", - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5", - "convert-source-map": "^1.1.0", + "@babel/generator": "^7.7.7", + "@babel/helpers": "^7.7.4", + "@babel/parser": "^7.7.7", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4", + "convert-source-map": "^1.7.0", "debug": "^4.1.0", "json5": "^2.1.0", "lodash": "^4.17.13", @@ -33,157 +33,162 @@ "source-map": "^0.5.0" }, "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, "@babel/generator": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz", - "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==", + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz", + "integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==", "requires": { - "@babel/types": "^7.5.5", + "@babel/types": "^7.7.4", "jsesc": "^2.5.1", "lodash": "^4.17.13", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", - "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz", + "integrity": "sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.7.4" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", - "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz", + "integrity": "sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==", "requires": { - "@babel/helper-explode-assignable-expression": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-explode-assignable-expression": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-builder-react-jsx": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz", - "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.7.4.tgz", + "integrity": "sha512-kvbfHJNN9dg4rkEM4xn1s8d1/h6TYNvajy9L1wx4qLn9HFg0IkTsQi4rfBe92nxrPUFcMsHoMV+8rU7MJb3fCA==", "requires": { - "@babel/types": "^7.3.0", + "@babel/types": "^7.7.4", "esutils": "^2.0.0" } }, "@babel/helper-call-delegate": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", - "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz", + "integrity": "sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==", "requires": { - "@babel/helper-hoist-variables": "^7.4.4", - "@babel/traverse": "^7.4.4", - "@babel/types": "^7.4.4" + "@babel/helper-hoist-variables": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz", - "integrity": "sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.7.4.tgz", + "integrity": "sha512-l+OnKACG4uiDHQ/aJT8dwpR+LhCJALxL0mJ6nzjB25e5IPwqV1VOsY7ah6UB1DG+VOXAIMtuC54rFJGiHkxjgA==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-member-expression-to-functions": "^7.5.5", - "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-member-expression-to-functions": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5", - "@babel/helper-split-export-declaration": "^7.4.4" + "@babel/helper-replace-supers": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz", + "integrity": "sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==", + "requires": { + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" } }, "@babel/helper-define-map": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", - "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz", + "integrity": "sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.5.5", + "@babel/helper-function-name": "^7.7.4", + "@babel/types": "^7.7.4", "lodash": "^4.17.13" } }, "@babel/helper-explode-assignable-expression": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", - "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz", + "integrity": "sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==", "requires": { - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.7.4" } }, "@babel/helper-hoist-variables": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", - "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz", + "integrity": "sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==", "requires": { - "@babel/types": "^7.4.4" + "@babel/types": "^7.7.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", - "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz", + "integrity": "sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==", "requires": { - "@babel/types": "^7.5.5" + "@babel/types": "^7.7.4" } }, "@babel/helper-module-imports": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", - "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", + "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.7.4" } }, "@babel/helper-module-transforms": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", - "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/template": "^7.4.4", - "@babel/types": "^7.5.5", + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz", + "integrity": "sha512-A7pSxyJf1gN5qXVcidwLWydjftUN878VkalhXX5iQDuGyiGK3sOrrKKHF4/A4fwHtnsotv/NipwAeLzY4KQPvw==", + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-simple-access": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4", "lodash": "^4.17.13" } }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", - "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz", + "integrity": "sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.7.4" } }, "@babel/helper-plugin-utils": { @@ -200,64 +205,64 @@ } }, "@babel/helper-remap-async-to-generator": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", - "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz", + "integrity": "sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-wrap-function": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-wrap-function": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-replace-supers": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", - "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz", + "integrity": "sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.5.5", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5" + "@babel/helper-member-expression-to-functions": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-simple-access": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", - "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz", + "integrity": "sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==", "requires": { - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-split-export-declaration": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", - "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", "requires": { - "@babel/types": "^7.4.4" + "@babel/types": "^7.7.4" } }, "@babel/helper-wrap-function": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", - "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz", + "integrity": "sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" + "@babel/helper-function-name": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helpers": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz", - "integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz", + "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==", "requires": { - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5" + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/highlight": { @@ -271,640 +276,650 @@ } }, "@babel/parser": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", - "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==" + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz", + "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", - "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz", + "integrity": "sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0", - "@babel/plugin-syntax-async-generators": "^7.2.0" + "@babel/helper-remap-async-to-generator": "^7.7.4", + "@babel/plugin-syntax-async-generators": "^7.7.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz", - "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.7.4.tgz", + "integrity": "sha512-EcuXeV4Hv1X3+Q1TsuOmyyxeTRiSqurGJ26+I/FW1WbymmRRapVORm6x1Zl3iDIHyRxEs+VXWp6qnlcfcJSbbw==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.5.5", + "@babel/helper-create-class-features-plugin": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", - "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz", + "integrity": "sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0" + "@babel/plugin-syntax-dynamic-import": "^7.7.4" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", - "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz", + "integrity": "sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.7.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.7.4.tgz", + "integrity": "sha512-TbYHmr1Gl1UC7Vo2HVuj/Naci5BEGNZ0AJhzqD2Vpr6QPFWpUmBRLrIDjedzx7/CShq0bRDS2gI4FIs77VHLVQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.2.0" + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.7.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz", - "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==", + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.7.tgz", + "integrity": "sha512-3qp9I8lelgzNedI3hrhkvhaEYree6+WHnyA/q4Dza9z7iEIs1eyhWyJnetk3jJ69RT0AT4G0UhEGwyGFJ7GUuQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + "@babel/plugin-syntax-object-rest-spread": "^7.7.4" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz", + "integrity": "sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + "@babel/plugin-syntax-optional-catch-binding": "^7.7.4" } }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", - "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", + "@babel/plugin-proposal-optional-chaining": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.7.5.tgz", + "integrity": "sha512-sOwFqT8JSchtJeDD+CjmWCaiFoLxY4Ps7NjvwHC/U7l4e9i5pTRNt8nDMIFSOUL+ncFbYSwruHM8WknYItWdXw==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" + "@babel/plugin-syntax-optional-chaining": "^7.7.4" } }, - "@babel/plugin-syntax-async-generators": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", - "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.7.tgz", + "integrity": "sha512-80PbkKyORBUVm1fbTLrHpYdJxMThzM1UqFGh0ALEhO9TYbG86Ah9zQYAB/84axz2vcxefDLdZwWwZNlYARlu9w==", "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz", - "integrity": "sha512-UxYaGXYQ7rrKJS/PxIKRkv3exi05oH7rokBAsmCSsCxz1sVPZ7Fu6FzKoGgUvmY+0YgSkYHgUoCh5R5bCNBQlw==", + "@babel/plugin-syntax-async-generators": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz", + "integrity": "sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", - "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz", + "integrity": "sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, - "@babel/plugin-syntax-flow": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", - "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", + "@babel/plugin-syntax-json-strings": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz", + "integrity": "sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", - "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "@babel/plugin-syntax-jsx": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.7.4.tgz", + "integrity": "sha512-wuy6fiMe9y7HeZBWXYCGt2RGxZOj0BImZ9EyXJVnVGBKO/Br592rbR3rtIQn0eQhAk9vqaKP5n8tVqEFBQMfLg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, - "@babel/plugin-syntax-jsx": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", - "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.7.4.tgz", + "integrity": "sha512-XKh/yIRPiQTOeBg0QJjEus5qiSKucKAiApNtO1psqG7D17xmE+X2i5ZqBEuSvo0HRuyPaKaSN/Gy+Ha9KFQolw==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", - "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz", + "integrity": "sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz", + "integrity": "sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.7.4.tgz", + "integrity": "sha512-2MqYD5WjZSbJdUagnJvIdSfkb/ucOC9/1fRJxm7GAxY6YQLWlUvkfxoNbUPcPLHJyetKUDQ4+yyuUyAoc0HriA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz", + "integrity": "sha512-wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", - "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz", + "integrity": "sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", - "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz", + "integrity": "sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==", "requires": { - "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-module-imports": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0" + "@babel/helper-remap-async-to-generator": "^7.7.4" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", - "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz", + "integrity": "sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz", - "integrity": "sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz", + "integrity": "sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", "lodash": "^4.17.13" } }, "@babel/plugin-transform-classes": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", - "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.5.5", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-optimise-call-expression": "^7.0.0", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz", + "integrity": "sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-define-map": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5", - "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/helper-replace-supers": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + } } }, "@babel/plugin-transform-computed-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", - "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz", + "integrity": "sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-destructuring": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz", - "integrity": "sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz", + "integrity": "sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", - "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.7.tgz", + "integrity": "sha512-b4in+YlTeE/QmTgrllnb3bHA0HntYvjz8O3Mcbx75UBPJA2xhb5A8nle498VhxSXJHQefjtQxpnLPehDJ4TRlg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", - "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz", + "integrity": "sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", - "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz", + "integrity": "sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz", - "integrity": "sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0" - } - }, "@babel/plugin-transform-for-of": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", - "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz", + "integrity": "sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-function-name": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", - "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz", + "integrity": "sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==", "requires": { - "@babel/helper-function-name": "^7.1.0", + "@babel/helper-function-name": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", - "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz", + "integrity": "sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", - "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz", + "integrity": "sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", - "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.5.tgz", + "integrity": "sha512-CT57FG4A2ZUNU1v+HdvDSDrjNWBrtCmSH6YbbgN3Lrf0Di/q/lWRxZrE72p3+HCCz9UjfZOEBdphgC0nzOS6DQ==", "requires": { - "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-module-transforms": "^7.7.5", "@babel/helper-plugin-utils": "^7.0.0", "babel-plugin-dynamic-import-node": "^2.3.0" - }, - "dependencies": { - "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", - "requires": { - "object.assign": "^4.1.0" - } - } } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz", - "integrity": "sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==", + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz", + "integrity": "sha512-9Cq4zTFExwFhQI6MT1aFxgqhIsMWQWDVwOgLzl7PTWJHsNaqFvklAU+Oz6AQLAS0dJKTwZSOCo20INwktxpi3Q==", "requires": { - "@babel/helper-module-transforms": "^7.4.4", + "@babel/helper-module-transforms": "^7.7.5", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-simple-access": "^7.7.4", "babel-plugin-dynamic-import-node": "^2.3.0" - }, - "dependencies": { - "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", - "requires": { - "object.assign": "^4.1.0" - } - } } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", - "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz", + "integrity": "sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==", "requires": { - "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-hoist-variables": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", "babel-plugin-dynamic-import-node": "^2.3.0" - }, - "dependencies": { - "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", - "requires": { - "object.assign": "^4.1.0" - } - } } }, "@babel/plugin-transform-modules-umd": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", - "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz", + "integrity": "sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==", "requires": { - "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-module-transforms": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz", - "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz", + "integrity": "sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==", "requires": { - "regexp-tree": "^0.1.6" + "@babel/helper-create-regexp-features-plugin": "^7.7.4" } }, "@babel/plugin-transform-new-target": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", - "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz", + "integrity": "sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-object-super": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", - "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz", + "integrity": "sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5" + "@babel/helper-replace-supers": "^7.7.4" } }, "@babel/plugin-transform-parameters": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", - "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.7.tgz", + "integrity": "sha512-OhGSrf9ZBrr1fw84oFXj5hgi8Nmg+E2w5L7NhnG0lPvpDtqd7dbyilM2/vR8CKbJ907RyxPh2kj6sBCSSfI9Ew==", "requires": { - "@babel/helper-call-delegate": "^7.4.4", - "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-call-delegate": "^7.7.4", + "@babel/helper-get-function-arity": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-property-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", - "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz", + "integrity": "sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-react-display-name": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", - "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.7.4.tgz", + "integrity": "sha512-sBbIvqYkthai0X0vkD2xsAwluBp+LtNHH+/V4a5ydifmTtb8KOVOlrMIk/MYmIc4uTYDnjZUHQildYNo36SRJw==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", - "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.7.7.tgz", + "integrity": "sha512-SlPjWPbva2+7/ZJbGcoqjl4LsQaLpKEzxW9hcxU7675s24JmdotJOSJ4cgAbV82W3FcZpHIGmRZIlUL8ayMvjw==", "requires": { - "@babel/helper-builder-react-jsx": "^7.3.0", + "@babel/helper-builder-react-jsx": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" + "@babel/plugin-syntax-jsx": "^7.7.4" } }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz", - "integrity": "sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.7.4.tgz", + "integrity": "sha512-PWYjSfqrO273mc1pKCRTIJXyqfc9vWYBax88yIhQb+bpw3XChVC7VWS4VwRVs63wFHKxizvGSd00XEr+YB9Q2A==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" + "@babel/plugin-syntax-jsx": "^7.7.4" } }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz", - "integrity": "sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.7.4.tgz", + "integrity": "sha512-5ZU9FnPhqtHsOXxutRtXZAzoEJwDaP32QcobbMP1/qt7NYcsCNK8XgzJcJfoEr/ZnzVvUNInNjIW22Z6I8p9mg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" + "@babel/plugin-syntax-jsx": "^7.7.4" } }, "@babel/plugin-transform-regenerator": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", - "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.5.tgz", + "integrity": "sha512-/8I8tPvX2FkuEyWbjRCt4qTAgZK0DVy8QRguhA524UH48RfGJy94On2ri+dCuwOpcerPRl9O4ebQkRcVzIaGBw==", "requires": { "regenerator-transform": "^0.14.0" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", - "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz", + "integrity": "sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-runtime": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.5.tgz", - "integrity": "sha512-6Xmeidsun5rkwnGfMOp6/z9nSzWpHFNVr2Jx7kwoq4mVatQfQx5S56drBgEHF+XQbKOdIaOiMIINvp/kAwMN+w==", + "version": "7.7.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.7.6.tgz", + "integrity": "sha512-tajQY+YmXR7JjTwRvwL4HePqoL3DYxpYXIHKVvrOIvJmeHe2y1w4tz5qz9ObUDC9m76rCzIMPyn4eERuwA4a4A==", "requires": { - "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-module-imports": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", "resolve": "^1.8.1", "semver": "^5.5.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", - "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz", + "integrity": "sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-spread": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", - "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz", + "integrity": "sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", - "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz", + "integrity": "sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-regex": "^7.0.0" } }, "@babel/plugin-transform-template-literals": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", - "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz", + "integrity": "sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-annotate-as-pure": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", - "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz", + "integrity": "sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", - "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz", + "integrity": "sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/polyfill": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.4.4.tgz", - "integrity": "sha512-WlthFLfhQQhh+A2Gn5NSFl0Huxz36x86Jn+E9OW7ibK8edKPq+KLy4apM1yDpQ8kJOVi1OVjpP4vSDLdrI04dg==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.7.0.tgz", + "integrity": "sha512-/TS23MVvo34dFmf8mwCisCbWGrfhbiWZSwBo6HkADTBhUa2Q/jWltyY/tpofz/b6/RIhqaqQcquptCirqIhOaQ==", "requires": { "core-js": "^2.6.5", "regenerator-runtime": "^0.13.2" } }, "@babel/preset-env": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.5.tgz", - "integrity": "sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==", + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.7.tgz", + "integrity": "sha512-pCu0hrSSDVI7kCVUOdcMNQEbOPJ52E+LrQ14sN8uL2ALfSqePZQlKrOy+tM4uhEdYlCHi4imr8Zz2cZe9oSdIg==", "requires": { - "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-module-imports": "^7.7.4", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.2.0", - "@babel/plugin-proposal-dynamic-import": "^7.5.0", - "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.5.5", - "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-syntax-async-generators": "^7.2.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-syntax-json-strings": "^7.2.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", - "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.5.0", - "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.5.5", - "@babel/plugin-transform-classes": "^7.5.5", - "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.5.0", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/plugin-transform-duplicate-keys": "^7.5.0", - "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.4.4", - "@babel/plugin-transform-function-name": "^7.4.4", - "@babel/plugin-transform-literals": "^7.2.0", - "@babel/plugin-transform-member-expression-literals": "^7.2.0", - "@babel/plugin-transform-modules-amd": "^7.5.0", - "@babel/plugin-transform-modules-commonjs": "^7.5.0", - "@babel/plugin-transform-modules-systemjs": "^7.5.0", - "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5", - "@babel/plugin-transform-new-target": "^7.4.4", - "@babel/plugin-transform-object-super": "^7.5.5", - "@babel/plugin-transform-parameters": "^7.4.4", - "@babel/plugin-transform-property-literals": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.4.5", - "@babel/plugin-transform-reserved-words": "^7.2.0", - "@babel/plugin-transform-shorthand-properties": "^7.2.0", - "@babel/plugin-transform-spread": "^7.2.0", - "@babel/plugin-transform-sticky-regex": "^7.2.0", - "@babel/plugin-transform-template-literals": "^7.4.4", - "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.4.4", - "@babel/types": "^7.5.5", + "@babel/plugin-proposal-async-generator-functions": "^7.7.4", + "@babel/plugin-proposal-dynamic-import": "^7.7.4", + "@babel/plugin-proposal-json-strings": "^7.7.4", + "@babel/plugin-proposal-object-rest-spread": "^7.7.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.7.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.7.7", + "@babel/plugin-syntax-async-generators": "^7.7.4", + "@babel/plugin-syntax-dynamic-import": "^7.7.4", + "@babel/plugin-syntax-json-strings": "^7.7.4", + "@babel/plugin-syntax-object-rest-spread": "^7.7.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.7.4", + "@babel/plugin-syntax-top-level-await": "^7.7.4", + "@babel/plugin-transform-arrow-functions": "^7.7.4", + "@babel/plugin-transform-async-to-generator": "^7.7.4", + "@babel/plugin-transform-block-scoped-functions": "^7.7.4", + "@babel/plugin-transform-block-scoping": "^7.7.4", + "@babel/plugin-transform-classes": "^7.7.4", + "@babel/plugin-transform-computed-properties": "^7.7.4", + "@babel/plugin-transform-destructuring": "^7.7.4", + "@babel/plugin-transform-dotall-regex": "^7.7.7", + "@babel/plugin-transform-duplicate-keys": "^7.7.4", + "@babel/plugin-transform-exponentiation-operator": "^7.7.4", + "@babel/plugin-transform-for-of": "^7.7.4", + "@babel/plugin-transform-function-name": "^7.7.4", + "@babel/plugin-transform-literals": "^7.7.4", + "@babel/plugin-transform-member-expression-literals": "^7.7.4", + "@babel/plugin-transform-modules-amd": "^7.7.5", + "@babel/plugin-transform-modules-commonjs": "^7.7.5", + "@babel/plugin-transform-modules-systemjs": "^7.7.4", + "@babel/plugin-transform-modules-umd": "^7.7.4", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4", + "@babel/plugin-transform-new-target": "^7.7.4", + "@babel/plugin-transform-object-super": "^7.7.4", + "@babel/plugin-transform-parameters": "^7.7.7", + "@babel/plugin-transform-property-literals": "^7.7.4", + "@babel/plugin-transform-regenerator": "^7.7.5", + "@babel/plugin-transform-reserved-words": "^7.7.4", + "@babel/plugin-transform-shorthand-properties": "^7.7.4", + "@babel/plugin-transform-spread": "^7.7.4", + "@babel/plugin-transform-sticky-regex": "^7.7.4", + "@babel/plugin-transform-template-literals": "^7.7.4", + "@babel/plugin-transform-typeof-symbol": "^7.7.4", + "@babel/plugin-transform-unicode-regex": "^7.7.4", + "@babel/types": "^7.7.4", "browserslist": "^4.6.0", - "core-js-compat": "^3.1.1", + "core-js-compat": "^3.6.0", "invariant": "^2.2.2", "js-levenshtein": "^1.1.3", "semver": "^5.5.0" }, "dependencies": { "browserslist": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", - "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", + "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", "requires": { - "caniuse-lite": "^1.0.30000984", - "electron-to-chromium": "^1.3.191", - "node-releases": "^1.1.25" + "caniuse-lite": "^1.0.30001017", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.44" } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, "@babel/preset-react": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0.tgz", - "integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.7.4.tgz", + "integrity": "sha512-j+vZtg0/8pQr1H8wKoaJyGL2IEk3rG/GIvua7Sec7meXVIvGycihlGMx5xcU00kqCJbwzHs18xTu3YfREOqQ+g==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0" + "@babel/plugin-transform-react-display-name": "^7.7.4", + "@babel/plugin-transform-react-jsx": "^7.7.4", + "@babel/plugin-transform-react-jsx-self": "^7.7.4", + "@babel/plugin-transform-react-jsx-source": "^7.7.4" } }, "@babel/runtime": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.5.5.tgz", - "integrity": "sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ==", + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.7.tgz", + "integrity": "sha512-uCnC2JEVAu8AKB5do1WRIsvrdJ0flYx/A/9f/6chdacnEZ7LmavjdsDXr5ksYBegxtuTPR5Va9/+13QF/kFkCA==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "@babel/runtime-corejs3": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.7.7.tgz", + "integrity": "sha512-kr3W3Fw8mB/CTru2M5zIRQZZgC/9zOxNSoJ/tVCzjPt3H1/p5uuGbz6WwmaQy/TLQcW31rUhUUWKY28sXFRelA==", "requires": { + "core-js-pure": "^3.0.0", "regenerator-runtime": "^0.13.2" } }, "@babel/template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", - "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", "requires": { "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.4.4", - "@babel/types": "^7.4.4" + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/traverse": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz", - "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", "requires": { "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.5.5", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/parser": "^7.5.5", - "@babel/types": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" }, "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" } } }, "@babel/types": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", - "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", @@ -912,141 +927,118 @@ } }, "@emotion/cache": { - "version": "10.0.17", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.17.tgz", - "integrity": "sha512-442/miwbuwIDfSzfMqZNxuzxSEbskcz/bZ86QBYzEjFrr/oq9w+y5kJY1BHbGhDtr91GO232PZ5NN9XYMwr/Qg==", + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.27.tgz", + "integrity": "sha512-Zp8BEpbMunFsTcqAK4D7YTm3MvCp1SekflSLJH8lze2fCcSZ/yMkXHo8kb3t1/1Tdd3hAqf3Fb7z9VZ+FMiC9w==", "requires": { - "@emotion/sheet": "0.9.3", - "@emotion/stylis": "0.8.4", - "@emotion/utils": "0.11.2", - "@emotion/weak-memoize": "0.2.3" + "@emotion/sheet": "0.9.4", + "@emotion/stylis": "0.8.5", + "@emotion/utils": "0.11.3", + "@emotion/weak-memoize": "0.2.5" } }, "@emotion/core": { - "version": "10.0.17", - "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.17.tgz", - "integrity": "sha512-gykyjjr0sxzVuZBVTVK4dUmYsorc2qLhdYgSiOVK+m7WXgcYTKZevGWZ7TLAgTZvMelCTvhNq8xnf8FR1IdTbg==", + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.27.tgz", + "integrity": "sha512-XbD5R36pVbohQMnKfajHv43g8EbN4NHdF6Zh9zg/C0nr0jqwOw3gYnC07Xj3yG43OYSRyrGsoQ5qPwc8ycvLZw==", "requires": { "@babel/runtime": "^7.5.5", - "@emotion/cache": "^10.0.17", - "@emotion/css": "^10.0.14", - "@emotion/serialize": "^0.11.10", - "@emotion/sheet": "0.9.3", - "@emotion/utils": "0.11.2" + "@emotion/cache": "^10.0.27", + "@emotion/css": "^10.0.27", + "@emotion/serialize": "^0.11.15", + "@emotion/sheet": "0.9.4", + "@emotion/utils": "0.11.3" } }, "@emotion/css": { - "version": "10.0.14", - "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.14.tgz", - "integrity": "sha512-MozgPkBEWvorcdpqHZE5x1D/PLEHUitALQCQYt2wayf4UNhpgQs2tN0UwHYS4FMy5ROBH+0ALyCFVYJ/ywmwlg==", + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz", + "integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==", "requires": { - "@emotion/serialize": "^0.11.8", - "@emotion/utils": "0.11.2", - "babel-plugin-emotion": "^10.0.14" + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3", + "babel-plugin-emotion": "^10.0.27" } }, "@emotion/hash": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.7.2.tgz", - "integrity": "sha512-RMtr1i6E8MXaBWwhXL3yeOU8JXRnz8GNxHvaUfVvwxokvayUY0zoBeWbKw1S9XkufmGEEdQd228pSZXFkAln8Q==" + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.7.4.tgz", + "integrity": "sha512-fxfMSBMX3tlIbKUdtGKxqB1fyrH6gVrX39Gsv3y8lRYKUqlgDt3UMqQyGnR1bQMa2B8aGnhLZokZgg8vT0Le+A==" }, "@emotion/is-prop-valid": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.2.tgz", - "integrity": "sha512-ZQIMAA2kLUWiUeMZNJDTeCwYRx1l8SQL0kHktze4COT22occKpDML1GDUXP5/sxhOMrZO8vZw773ni4H5Snrsg==", + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.6.tgz", + "integrity": "sha512-mnZMho3Sq8BfzkYYRVc8ilQTnc8U02Ytp6J1AwM6taQStZ3AhsEJBX2LzhA/LJirNCwM2VtHL3VFIZ+sNJUgUQ==", "requires": { - "@emotion/memoize": "0.7.2" + "@emotion/memoize": "0.7.4" } }, "@emotion/memoize": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.2.tgz", - "integrity": "sha512-hnHhwQzvPCW1QjBWFyBtsETdllOM92BfrKWbUTmh9aeOlcVOiXvlPsK4104xH8NsaKfg86PTFsWkueQeUfMA/w==" + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" }, "@emotion/serialize": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.10.tgz", - "integrity": "sha512-04AB+wU00vv9jLgkWn13c/GJg2yXp3w7ZR3Q1O6mBSE6mbUmYeNX3OpBhfp//6r47lFyY0hBJJue+bA30iokHQ==", - "requires": { - "@emotion/hash": "0.7.2", - "@emotion/memoize": "0.7.2", - "@emotion/unitless": "0.7.4", - "@emotion/utils": "0.11.2", + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.15.tgz", + "integrity": "sha512-YE+qnrmGwyR+XB5j7Bi+0GT1JWsdcjM/d4POu+TXkcnrRs4RFCCsi3d/Ebf+wSStHqAlTT2+dfd+b9N9EO2KBg==", + "requires": { + "@emotion/hash": "0.7.4", + "@emotion/memoize": "0.7.4", + "@emotion/unitless": "0.7.5", + "@emotion/utils": "0.11.3", "csstype": "^2.5.7" } }, "@emotion/sheet": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.3.tgz", - "integrity": "sha512-c3Q6V7Df7jfwSq5AzQWbXHa5soeE4F5cbqi40xn0CzXxWW9/6Mxq48WJEtqfWzbZtW9odZdnRAkwCQwN12ob4A==" + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz", + "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==" }, "@emotion/styled": { - "version": "10.0.17", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.17.tgz", - "integrity": "sha512-zHMgWjHDMNjD+ux64POtDnjLAObniu3znxFBLSdV/RiEhSLjHIowfvSbbd/C33/3uwtI6Uzs2KXnRZtka/PpAQ==", + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz", + "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==", "requires": { - "@emotion/styled-base": "^10.0.17", - "babel-plugin-emotion": "^10.0.17" + "@emotion/styled-base": "^10.0.27", + "babel-plugin-emotion": "^10.0.27" } }, "@emotion/styled-base": { - "version": "10.0.17", - "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.0.17.tgz", - "integrity": "sha512-vqQvxluZZKPByAB4zYZys0Qo/kVDP/03hAeg1K+TYpnZRwTi7WteOodc+/5669RPVNcfb93fphQpM5BYJnI1/g==", + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.0.27.tgz", + "integrity": "sha512-ufHM/HhE3nr309hJG9jxuFt71r6aHn7p+bwXduFxcwPFEfBIqvmZUMtZ9YxIsY61PVwK3bp4G1XhaCzy9smVvw==", "requires": { "@babel/runtime": "^7.5.5", - "@emotion/is-prop-valid": "0.8.2", - "@emotion/serialize": "^0.11.10", - "@emotion/utils": "0.11.2" + "@emotion/is-prop-valid": "0.8.6", + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3" } }, "@emotion/stylis": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.4.tgz", - "integrity": "sha512-TLmkCVm8f8gH0oLv+HWKiu7e8xmBIaokhxcEKPh1m8pXiV/akCiq50FvYgOwY42rjejck8nsdQxZlXZ7pmyBUQ==" + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" }, "@emotion/unitless": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.4.tgz", - "integrity": "sha512-kBa+cDHOR9jpRJ+kcGMsysrls0leukrm68DmFQoMIWQcXdr2cZvyvypWuGYT7U+9kAExUE7+T7r6G3C3A6L8MQ==" + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" }, "@emotion/utils": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.2.tgz", - "integrity": "sha512-UHX2XklLl3sIaP6oiMmlVzT0J+2ATTVpf0dHQVyPJHTkOITvXfaSqnRk6mdDhV9pR8T/tHc3cex78IKXssmzrA==" + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz", + "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==" }, "@emotion/weak-memoize": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.3.tgz", - "integrity": "sha512-zVgvPwGK7c1aVdUVc9Qv7SqepOGRDrqCw7KZPSZziWGxSlbII3gmvGLPzLX4d0n0BMbamBacUrN22zOMyFFEkQ==" - }, - "@gatsbyjs/relay-compiler": { - "version": "2.0.0-printer-fix.2", - "resolved": "https://registry.npmjs.org/@gatsbyjs/relay-compiler/-/relay-compiler-2.0.0-printer-fix.2.tgz", - "integrity": "sha512-7GeCCEQ7O15lMTT/SXy9HuRde4cv5vs465ZnLK2QCajSDLior+20yrMqHn1PGsJYK6nNZH7p3lw9qTCpqmuc7Q==", - "requires": { - "@babel/generator": "^7.0.0", - "@babel/parser": "^7.0.0", - "@babel/polyfill": "^7.0.0", - "@babel/runtime": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "babel-preset-fbjs": "^3.1.2", - "chalk": "^2.4.1", - "fast-glob": "^2.2.2", - "fb-watchman": "^2.0.0", - "fbjs": "^1.0.0", - "immutable": "~3.7.6", - "nullthrows": "^1.1.0", - "relay-runtime": "2.0.0", - "signedsource": "^1.0.0", - "yargs": "^9.0.0" - } + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", + "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" }, "@hapi/address": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.0.0.tgz", - "integrity": "sha512-mV6T0IYqb0xL1UALPFplXYQmR0twnXG0M6jUswpquqT2sD12BOiCiLy3EvMp/Fy7s3DZElC4/aPjEjo2jeZpvw==" + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" }, "@hapi/bourne": { "version": "1.3.2", @@ -1054,9 +1046,9 @@ "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==" }, "@hapi/hoek": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.2.1.tgz", - "integrity": "sha512-JPiBy+oSmsq3St7XlipfN5pNA6bDJ1kpa73PrK/zR29CVClDVqy04AanM/M/qx5bSF+I61DdCfAvRrujau+zRg==" + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.0.tgz", + "integrity": "sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw==" }, "@hapi/joi": { "version": "15.1.1", @@ -1070,29 +1062,29 @@ } }, "@hapi/topo": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.3.tgz", - "integrity": "sha512-JmS9/vQK6dcUYn7wc2YZTqzIKubAQcJKu2KCKAru6es482U5RT5fP1EXCPtlXpiK7PR0On/kpQKI4fRKkzpZBQ==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", "requires": { - "@hapi/hoek": "8.x.x" + "@hapi/hoek": "^8.3.0" } }, "@jimp/bmp": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.6.4.tgz", - "integrity": "sha512-dhKM7Cjw4XoOefx3/we2+vWyTP6hQPpM7mEsziGjtsrK2f/e3/+hhHbEsQNgO9BOA1FPJRXAOiYHts9IlMH1mg==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.6.8.tgz", + "integrity": "sha512-uxVgSkI62uAzk5ZazYHEHBehow590WAkLKmDXLzkr/XP/Hv2Fx1T4DKwJ/15IY5ktq5VAhAUWGXTyd8KWFsx7w==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "bmp-js": "^0.1.0", "core-js": "^2.5.7" } }, "@jimp/core": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.6.4.tgz", - "integrity": "sha512-nyiAXI8/uU54fGO53KrRB8pdn1s+IODZ+rj0jG2owsNJlTlagFrsZAy8IVTUCOiiXjh9TbwFo7D5XMrmi4KUww==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.6.8.tgz", + "integrity": "sha512-JOFqBBcSNiDiMZJFr6OJqC6viXj5NVBQISua0eacoYvo4YJtTajOIxC4MqWyUmGrDpRMZBR8QhSsIOwsFrdROA==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "any-base": "^1.1.0", "buffer": "^5.2.0", "core-js": "^2.5.7", @@ -1106,9 +1098,9 @@ }, "dependencies": { "buffer": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.0.tgz", - "integrity": "sha512-Xpgy0IwHK2N01ncykXTy6FpCWuM+CJSHoPVBLyNqyrWxsedpLvwsYUhf0ME3WRFNUhos0dMamz9cOS/xRDtU5g==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", + "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4" @@ -1122,252 +1114,252 @@ } }, "@jimp/custom": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.6.4.tgz", - "integrity": "sha512-sdBHrBoVr1+PFx4dlUAgXvvu4dG0esQobhg7qhpSLRje1ScavIgE2iXdJKpycgzrqwAOL8vW4/E5w2/rONlaoQ==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.6.8.tgz", + "integrity": "sha512-FrYlzZRVXP2vuVwd7Nc2dlK+iZk4g6IaT1Ib8Z6vU5Kkwlt83FJIPJ2UUFABf3bF5big0wkk8ZUihWxE4Nzdng==", "requires": { - "@jimp/core": "^0.6.4", + "@jimp/core": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/gif": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.6.4.tgz", - "integrity": "sha512-14mLoyG0UrYJsGNRoXBFvSJdFtBD0BSBwQ1zCNeW+HpQqdl+Kh5E1Pz4nqT2KNylJe1jypyR51Q2yndgcfGVyg==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.6.8.tgz", + "integrity": "sha512-yyOlujjQcgz9zkjM5ihZDEppn9d1brJ7jQHP5rAKmqep0G7FU1D0AKcV+Ql18RhuI/CgWs10wAVcrQpmLnu4Yw==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7", "omggif": "^1.0.9" } }, "@jimp/jpeg": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.6.4.tgz", - "integrity": "sha512-NrFla9fZC/Bhw1Aa9vJ6cBOqpB5ylEPb9jD+yZ0fzcAw5HwILguS//oXv9EWLApIY1XsOMFFe0XWpY653rv8hw==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.6.8.tgz", + "integrity": "sha512-rGtXbYpFXAn471qLpTGvhbBMNHJo5KiufN+vC5AWyufntmkt5f0Ox2Cx4ijuBMDtirZchxbMLtrfGjznS4L/ew==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7", "jpeg-js": "^0.3.4" } }, "@jimp/plugin-blit": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.6.4.tgz", - "integrity": "sha512-suVznd4XozkQIuECX0u8kMl+cAQpZN3WcbWXUcJaVxRi+VBvHIetG1Qs5qGLzuEg9627+kE7ppv0UgZ5mkE6lg==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.6.8.tgz", + "integrity": "sha512-7Tl6YpKTSpvwQbnGNhsfX2zyl3jRVVopd276Y2hF2zpDz9Bycow7NdfNU/4Nx1jaf96X6uWOtSVINcQ7rGd47w==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-blur": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.6.4.tgz", - "integrity": "sha512-M2fDMYUUtEKVNnCJZk5J0KSMzzISobmWfnG88RdHXJCkOn98kdawQFwTsYOfJJfCM8jWfhIxwZLFhC/2lkTN2w==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.6.8.tgz", + "integrity": "sha512-NpZCMKxXHLDQsX9zPlWtpMA660DQStY6/z8ZetyxCDbqrLe9YCXpeR4MNhdJdABIiwTm1W5FyFF4kp81PHJx3Q==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-color": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.6.4.tgz", - "integrity": "sha512-6Nfr2l9KSb6zH2fij8G6fQOw85TTkyRaBlqMvDmsQp/I1IlaDbXzA2C2Eh9jkQYZQDPu61B1MkmlEhJp/TUx6Q==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.6.8.tgz", + "integrity": "sha512-jjFyU0zNmGOH2rjzHuOMU4kaia0oo82s/7UYfn5h7OUkmUZTd6Do3ZSK1PiXA7KR+s4B76/Omm6Doh/0SGb7BQ==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7", "tinycolor2": "^1.4.1" } }, "@jimp/plugin-contain": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.6.4.tgz", - "integrity": "sha512-qI1MxU1noS6NbEPu/bDDeP405aMviuIsfpOz8J3En8IwIwrJV22qt6QIHmF+eyng8CYgivwIPjEPzFzLR566Nw==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.6.8.tgz", + "integrity": "sha512-p/P2wCXhAzbmEgXvGsvmxLmbz45feF6VpR4m9suPSOr8PC/i/XvTklTqYEUidYYAft4vHgsYJdS74HKSMnH8lw==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-cover": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.6.4.tgz", - "integrity": "sha512-z6eafPonj3LJY8cTEfRkXmOfCDi1+f0tbYaNvmiu+OrWJ3Ojw2hMt+BVVvJ8pKe1dWIFkCjxOjyjZWj1gEkaLw==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.6.8.tgz", + "integrity": "sha512-2PvWgk+PJfRsfWDI1G8Fpjrsu0ZlpNyZxO2+fqWlVo6y/y2gP4v08FqvbkcqSjNlOu2IDWIFXpgyU0sTINWZLg==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-crop": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.6.4.tgz", - "integrity": "sha512-w9TR+pn+GeWbznscGe2HRkPxInge0whAF3TLPWhPwBVjZChTT8dSDXsUpUlxQqvI4SfzuKp8z3/0SBqYDCzxxA==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.6.8.tgz", + "integrity": "sha512-CbrcpWE2xxPK1n/JoTXzhRUhP4mO07mTWaSavenCg664oQl/9XCtL+A0FekuNHzIvn4myEqvkiTwN7FsbunS/Q==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-displace": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.6.4.tgz", - "integrity": "sha512-MEvtBXOAio/3iGJkKBrTtFs3Q38ez2Wy/wTD0Ruas+L8fjJR7l4mDgV+zjRr57CqB5mpY+L48VEoa2/gNXh9cg==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.6.8.tgz", + "integrity": "sha512-RmV2bPxoPE6mrPxtYSPtHxm2cGwBQr5a2p+9gH6SPy+eUMrbGjbvjwKNfXWUYD0leML+Pt5XOmAS9pIROmuruQ==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-dither": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.6.4.tgz", - "integrity": "sha512-w+AGLcIMUeJZ4CI0FvFomahgKLcW+ICsLidUNOqyLzceluPAfug4X7vDhQ41pNkzKg0M1+Q1j0aWV8bdyF+LhA==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.6.8.tgz", + "integrity": "sha512-x6V/qjxe+xypjpQm7GbiMNqci1EW5UizrcebOhHr8AHijOEqHd2hjXh5f6QIGfrkTFelc4/jzq1UyCsYntqz9Q==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-flip": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.6.4.tgz", - "integrity": "sha512-ukINMegMUM9KYjyDCiyYKYdSsbhNRLHDwOJN0xVRalmOKqNaZmjNbiMbaVxKlYt6sHW76RhSMOekw9f6GQB9tQ==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.6.8.tgz", + "integrity": "sha512-4il6Da6G39s9MyWBEee4jztEOUGJ40E6OlPjkMrdpDNvge6hYEAB31BczTYBP/CEY74j4LDSoY5LbcU4kv06yA==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-gaussian": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.6.4.tgz", - "integrity": "sha512-C1P6ohzIddpNb7CX5X+ygbp+ow8Fpt64ZLoIgdjYPs/42HxKluvY62fVfMhY6m5zUGKIMbg0uYeAtz/9LRJPyw==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.6.8.tgz", + "integrity": "sha512-pVOblmjv7stZjsqloi4YzHVwAPXKGdNaHPhp4KP4vj41qtc6Hxd9z/+VWGYRTunMFac84gUToe0UKIXd6GhoKw==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-invert": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.6.4.tgz", - "integrity": "sha512-sleGz1jXaNEsP/5Ayqw8oez/6KesWcyCqovIuK4Z4kDmMc2ncuhsXIJQXDWtIF4tTQVzNEgrxUDNA4bi9xpCUA==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.6.8.tgz", + "integrity": "sha512-11zuLiXDHr6tFv4U8aieXqNXQEKbDbSBG/h+X62gGTNFpyn8EVPpncHhOqrAFtZUaPibBqMFlNJ15SzwC7ExsQ==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-mask": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.6.4.tgz", - "integrity": "sha512-3D4FbRxnpO9nzwa6cF8AImgO1aVReYbfRRO4I4bku4/iZ+kuU3fBLV+SRhB4c7di3ejG5u+rGsIfaNc94iYYvw==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.6.8.tgz", + "integrity": "sha512-hZJ0OiKGJyv7hDSATwJDkunB1Ie80xJnONMgpUuUseteK45YeYNBOiZVUe8vum8QI1UwavgBzcvQ9u4fcgXc9g==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-normalize": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.6.4.tgz", - "integrity": "sha512-nOFMwOaVkOKArHkD/T6/1HKAPj3jlW6l0JduVDn1A5eIPCtlnyhlE9zdjgi5Q9IBR/gRjwW6tTzBKuJenS51kg==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.6.8.tgz", + "integrity": "sha512-Q4oYhU+sSyTJI7pMZlg9/mYh68ujLfOxXzQGEXuw0sHGoGQs3B0Jw7jmzGa6pIS06Hup5hD2Zuh1ppvMdjJBfQ==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-print": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.6.4.tgz", - "integrity": "sha512-3z5DLVCKg0NfZhHATEaYH/4XanIboPP1pOUoxIUeF++qOnGiGgH2giFJlRprHmx2l3E3DukR1v8pt54PGvfrFw==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.6.8.tgz", + "integrity": "sha512-2aokejGn4Drv1FesnZGqh5KEq0FQtR0drlmtyZrBH+r9cx7hh0Qgf4D1BOTDEgXkfSSngjGRjKKRW/fwOrVXYw==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7", "load-bmfont": "^1.4.0" } }, "@jimp/plugin-resize": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.6.4.tgz", - "integrity": "sha512-fk2+KheUNClrOWj6aDNWj1r4byVQb6Qxy4aT1UHX5GXPHDA+nhlej7ghaYdzeWZYodeM3lpasYtByu1XE2qScQ==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.6.8.tgz", + "integrity": "sha512-27nPh8L1YWsxtfmV/+Ub5dOTpXyC0HMF2cu52RQSCYxr+Lm1+23dJF70AF1poUbUe+FWXphwuUxQzjBJza9UoA==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-rotate": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.6.4.tgz", - "integrity": "sha512-44VgV5D4xQIYInJAVevdW9J3SOhGKyz0OEr2ciA8Q3ktonKx0O5Q1g2kbruiqxFSkK/u2CKPLeKXZzYCFrmJGQ==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.6.8.tgz", + "integrity": "sha512-GbjETvL05BDoLdszNUV4Y0yLkHf177MnqGqilA113LIvx9aD0FtUopGXYfRGVvmtTOTouoaGJUc+K6qngvKxww==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugin-scale": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.6.4.tgz", - "integrity": "sha512-RAQRaDiCHmEz+A8QS5d/Z38EnlNsQizz3Mu3NsjA8uFtJsv1yMKWXZSQuzniofZw8tlMV6oI3VdM0eQVE07/5w==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.6.8.tgz", + "integrity": "sha512-GzIYWR/oCUK2jAwku23zt19V1ssaEU4pL0x2XsLNKuuJEU6DvEytJyTMXCE7OLG/MpDBQcQclJKHgiyQm5gIOQ==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7" } }, "@jimp/plugins": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.6.4.tgz", - "integrity": "sha512-NpO/87CKnF4Q9r8gMl6w+jPKOM/C089qExkViD9cPvcFZEnyVOu7ucGzcMmTcabWOU62iQTOkRViPYr6XaK0LQ==", - "requires": { - "@jimp/plugin-blit": "^0.6.4", - "@jimp/plugin-blur": "^0.6.4", - "@jimp/plugin-color": "^0.6.4", - "@jimp/plugin-contain": "^0.6.4", - "@jimp/plugin-cover": "^0.6.4", - "@jimp/plugin-crop": "^0.6.4", - "@jimp/plugin-displace": "^0.6.4", - "@jimp/plugin-dither": "^0.6.4", - "@jimp/plugin-flip": "^0.6.4", - "@jimp/plugin-gaussian": "^0.6.4", - "@jimp/plugin-invert": "^0.6.4", - "@jimp/plugin-mask": "^0.6.4", - "@jimp/plugin-normalize": "^0.6.4", - "@jimp/plugin-print": "^0.6.4", - "@jimp/plugin-resize": "^0.6.4", - "@jimp/plugin-rotate": "^0.6.4", - "@jimp/plugin-scale": "^0.6.4", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.6.8.tgz", + "integrity": "sha512-fMcTI72Vn/Lz6JftezTURmyP5ml/xGMe0Ljx2KRJ85IWyP33vDmGIUuutFiBEbh2+y7lRT+aTSmjs0QGa/xTmQ==", + "requires": { + "@jimp/plugin-blit": "^0.6.8", + "@jimp/plugin-blur": "^0.6.8", + "@jimp/plugin-color": "^0.6.8", + "@jimp/plugin-contain": "^0.6.8", + "@jimp/plugin-cover": "^0.6.8", + "@jimp/plugin-crop": "^0.6.8", + "@jimp/plugin-displace": "^0.6.8", + "@jimp/plugin-dither": "^0.6.8", + "@jimp/plugin-flip": "^0.6.8", + "@jimp/plugin-gaussian": "^0.6.8", + "@jimp/plugin-invert": "^0.6.8", + "@jimp/plugin-mask": "^0.6.8", + "@jimp/plugin-normalize": "^0.6.8", + "@jimp/plugin-print": "^0.6.8", + "@jimp/plugin-resize": "^0.6.8", + "@jimp/plugin-rotate": "^0.6.8", + "@jimp/plugin-scale": "^0.6.8", "core-js": "^2.5.7", "timm": "^1.6.1" } }, "@jimp/png": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.6.4.tgz", - "integrity": "sha512-qv3oo6ll3XWVIToBwVC1wQX0MFKwpxbe2o+1ld9B4ZDavqvAHzalzcmTd/iyooI85CVDAcC3RRDo66oiizGZCQ==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.6.8.tgz", + "integrity": "sha512-JHHg/BZ7KDtHQrcG+a7fztw45rdf7okL/YwkN4qU5FH7Fcrp41nX5QnRviDtD9hN+GaNC7kvjvcqRAxW25qjew==", "requires": { - "@jimp/utils": "^0.6.4", + "@jimp/utils": "^0.6.8", "core-js": "^2.5.7", "pngjs": "^3.3.3" } }, "@jimp/tiff": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.6.4.tgz", - "integrity": "sha512-8/vD4qleexmhPdppiu6fSstj/n/kGNTn8iIlf1emiqOuMN2PL9q5GOPDWU0xWdGNyJMMIDXJPgUFUkKfqXdg7w==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.6.8.tgz", + "integrity": "sha512-iWHbxd+0IKWdJyJ0HhoJCGYmtjPBOusz1z1HT/DnpePs/Lo3TO4d9ALXqYfUkyG74ZK5jULZ69KLtwuhuJz1bg==", "requires": { "core-js": "^2.5.7", "utif": "^2.0.1" } }, "@jimp/types": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.6.4.tgz", - "integrity": "sha512-/EMbipQDg5U6DnBAgcSiydlMBRYoKhnaK7MJRImeTzhDJ6xfgNOF7lYq66o0kmaezKdG/cIwZ1CLecn2y3D8SQ==", - "requires": { - "@jimp/bmp": "^0.6.4", - "@jimp/gif": "^0.6.4", - "@jimp/jpeg": "^0.6.4", - "@jimp/png": "^0.6.4", - "@jimp/tiff": "^0.6.4", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.6.8.tgz", + "integrity": "sha512-vCZ/Cp2osy69VP21XOBACfHI5HeR60Rfd4Jidj4W73UL+HrFWOtyQiJ7hlToyu1vI5mR/NsUQpzyQvz56ADm5A==", + "requires": { + "@jimp/bmp": "^0.6.8", + "@jimp/gif": "^0.6.8", + "@jimp/jpeg": "^0.6.8", + "@jimp/png": "^0.6.8", + "@jimp/tiff": "^0.6.8", "core-js": "^2.5.7", "timm": "^1.6.1" } }, "@jimp/utils": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.6.4.tgz", - "integrity": "sha512-EFQurCyEnZLSM2Q1BYDTUmsOJPSOYEQd18Fvq8bGo8hnBHoGLWLWWyNi2l4cYhtpKmIXyhvQqa6/WaEpKPzvqA==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.6.8.tgz", + "integrity": "sha512-7RDfxQ2C/rarNG9iso5vmnKQbcvlQjBIlF/p7/uYj72WeZgVCB+5t1fFBKJSU4WhniHX4jUMijK+wYGE3Y3bGw==", "requires": { "core-js": "^2.5.7" } @@ -1386,10 +1378,28 @@ "glob-to-regexp": "^0.3.0" } }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + } + }, "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } }, "@pieh/friendly-errors-webpack-plugin": { "version": "1.7.0-chalk-2", @@ -1400,6 +1410,52 @@ "error-stack-parser": "^2.0.0", "string-width": "^2.0.0", "strip-ansi": "^3" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } + } + } } }, "@reach/router": { @@ -1415,122 +1471,135 @@ } }, "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" }, "@styled-system/background": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@styled-system/background/-/background-5.1.1.tgz", - "integrity": "sha512-AtcDYXVO3Rfui2jZGNBuFinqx25FQ54d6d8JKRPd4g/5wlyw24hgps6VvB3fqNgsA6JKwulIuZf9mfUX4RnPFg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@styled-system/background/-/background-5.1.2.tgz", + "integrity": "sha512-jtwH2C/U6ssuGSvwTN3ri/IyjdHb8W9X/g8Y0JLcrH02G+BW3OS8kZdHphF1/YyRklnrKrBT2ngwGUK6aqqV3A==", "requires": { - "@styled-system/core": "^5.1.1" + "@styled-system/core": "^5.1.2" } }, "@styled-system/border": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@styled-system/border/-/border-5.1.1.tgz", - "integrity": "sha512-N4jSiyq18zfY2xg1G2+adGCQ3s+geRYZPJ4R/PT/rZM7kbzCRr8xqHNg+OWkDiDTqgZ0eU7OSsRQD/byQpziZg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@styled-system/border/-/border-5.1.2.tgz", + "integrity": "sha512-mSSxyQGXELdNSOlf4RqaOKsX+w6//zooR3p6qDj5Zgc5pIdEsJm63QLz6EST/6xBJwTX0Z1w4ExItdd6Q7rlTQ==", "requires": { - "@styled-system/core": "^5.1.1" + "@styled-system/core": "^5.1.2" } }, "@styled-system/color": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@styled-system/color/-/color-5.1.1.tgz", - "integrity": "sha512-LHG5HQPZQdMNouXq9/cs/ovadNnnvPFkb6SkTqT9uxTUzTT416erGBaXZPGFqdwPpcDw4Y1MsmrAd1taeJEzvQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@styled-system/color/-/color-5.1.2.tgz", + "integrity": "sha512-1kCkeKDZkt4GYkuFNKc7vJQMcOmTl3bJY3YBUs7fCNM6mMYJeT1pViQ2LwBSBJytj3AB0o4IdLBoepgSgGl5MA==", "requires": { - "@styled-system/core": "^5.1.1" + "@styled-system/core": "^5.1.2" } }, "@styled-system/core": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@styled-system/core/-/core-5.1.1.tgz", - "integrity": "sha512-8doP1Uptn1nlNrG44O/DfiRtLvoh9OkPqxEv9Gp1YAKAD2RgRTTQou/wYw/4y4pqmV3Hjb3NA/5Nbp/Uo5eGUQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@styled-system/core/-/core-5.1.2.tgz", + "integrity": "sha512-XclBDdNIy7OPOsN4HBsawG2eiWfCcuFt6gxKn1x4QfMIgeO6TOlA2pZZ5GWZtIhCUqEPTgIBta6JXsGyCkLBYw==", "requires": { "object-assign": "^4.1.1" } }, "@styled-system/css": { - "version": "5.0.23", - "resolved": "https://registry.npmjs.org/@styled-system/css/-/css-5.0.23.tgz", - "integrity": "sha512-yC3S0Iox8OTPAyrP1t5yY9nURUICcUdhVYOkwffftuxa5+txxI4qkT2e9JNCc2aaem+DG8mlXTdnYefjqge5wg==" + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@styled-system/css/-/css-5.1.4.tgz", + "integrity": "sha512-79IFT37Kxb6dlbx/0hwIGOakNHkK5oU3cMypGziShnEK8WMgK/+vuAi4MHO7uLI+FZ5U8MGYvGY9Gtk0mBzxSg==" }, "@styled-system/flexbox": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@styled-system/flexbox/-/flexbox-5.1.1.tgz", - "integrity": "sha512-r9kBiCpXJee4zUQJnBom/c8d2CfUXEqrnZ5sdH62RsisoAByJ6vF5a3jI3zQXc8diEHjvNaunZL+K3gQjwJQGg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@styled-system/flexbox/-/flexbox-5.1.2.tgz", + "integrity": "sha512-6hHV52+eUk654Y1J2v77B8iLeBNtc+SA3R4necsu2VVinSD7+XY5PCCEzBFaWs42dtOEDIa2lMrgL0YBC01mDQ==", "requires": { - "@styled-system/core": "^5.1.1" + "@styled-system/core": "^5.1.2" } }, "@styled-system/grid": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@styled-system/grid/-/grid-5.1.1.tgz", - "integrity": "sha512-vzBNBg62syA62jEpxS21QEIwgndtxFgpCWWpitytApAybEll0mZctB06eOFhFgSNgarzOyox+1NdETB5h9KGnw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@styled-system/grid/-/grid-5.1.2.tgz", + "integrity": "sha512-K3YiV1KyHHzgdNuNlaw8oW2ktMuGga99o1e/NAfTEi5Zsa7JXxzwEnVSDSBdJC+z6R8WYTCYRQC6bkVFcvdTeg==", "requires": { - "@styled-system/core": "^5.1.1" + "@styled-system/core": "^5.1.2" } }, "@styled-system/layout": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@styled-system/layout/-/layout-5.1.1.tgz", - "integrity": "sha512-a0YnXNlORdpfcxejQEwMGd1k+pamRj+VjnAIafRdFBxBXsw55T8eG0iqWEs8U/d3i0+isKcfIyw/9OrElsksBg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@styled-system/layout/-/layout-5.1.2.tgz", + "integrity": "sha512-wUhkMBqSeacPFhoE9S6UF3fsMEKFv91gF4AdDWp0Aym1yeMPpqz9l9qS/6vjSsDPF7zOb5cOKC3tcKKOMuDCPw==", "requires": { - "@styled-system/core": "^5.1.1" + "@styled-system/core": "^5.1.2" } }, "@styled-system/position": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@styled-system/position/-/position-5.1.1.tgz", - "integrity": "sha512-75+EvQA5Juh+Zbq1Hkcm0QHx5GwEGoG7BABpG/n/K0Uz2aBGKVKJ4Y3NmPRvSS7fl1Ktl7azIGAPW9XOZ9TdHA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@styled-system/position/-/position-5.1.2.tgz", + "integrity": "sha512-60IZfMXEOOZe3l1mCu6sj/2NAyUmES2kR9Kzp7s2D3P4qKsZWxD1Se1+wJvevb+1TP+ZMkGPEYYXRyU8M1aF5A==", "requires": { - "@styled-system/core": "^5.1.1" + "@styled-system/core": "^5.1.2" } }, "@styled-system/shadow": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@styled-system/shadow/-/shadow-5.1.1.tgz", - "integrity": "sha512-axdgRJ0gU8Rbw/DS24G4AAQIxYjo/fMmqxiegWja2XZDpeljqjyiYfGc7Dad3fgc+DUMn3Jjc1fHcTziTGWA4g==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@styled-system/shadow/-/shadow-5.1.2.tgz", + "integrity": "sha512-wqniqYb7XuZM7K7C0d1Euxc4eGtqEe/lvM0WjuAFsQVImiq6KGT7s7is+0bNI8O4Dwg27jyu4Lfqo/oIQXNzAg==", "requires": { - "@styled-system/core": "^5.1.1" + "@styled-system/core": "^5.1.2" } }, "@styled-system/should-forward-prop": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@styled-system/should-forward-prop/-/should-forward-prop-5.1.1.tgz", - "integrity": "sha512-vWgA9qtmo+Cjg63UiLNbuIHUA+nUMvl2tAFtiYE8KKIAz+CB8D11spVXE4JL89HG77sjuuQFwI5D778CKz7q6Q==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@styled-system/should-forward-prop/-/should-forward-prop-5.1.4.tgz", + "integrity": "sha512-WvKlXdbzz64QX8E66dlt/t+AsHhE5mJPyxMAufKeUKn5DSj+1w7CfLtwVH2oYje7XFcrcZOV9elzaeMWE0znTw==", "requires": { "@emotion/is-prop-valid": "^0.8.1", "@emotion/memoize": "^0.7.1", - "styled-system": "^5.1.1" + "styled-system": "^5.1.4" } }, "@styled-system/space": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@styled-system/space/-/space-5.1.1.tgz", - "integrity": "sha512-hwF938Zx83YRZmk30HtBE2EPWT8Z8H3+Rvpkdg13Q6P93DpSNH8wIlIObFKSgcmbOcqXzvFlAYcQ3l6F6Hu3IA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@styled-system/space/-/space-5.1.2.tgz", + "integrity": "sha512-+zzYpR8uvfhcAbaPXhH8QgDAV//flxqxSjHiS9cDFQQUSznXMQmxJegbhcdEF7/eNnJgHeIXv1jmny78kipgBA==", "requires": { - "@styled-system/core": "^5.1.1" + "@styled-system/core": "^5.1.2" } }, "@styled-system/typography": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@styled-system/typography/-/typography-5.1.1.tgz", - "integrity": "sha512-zqrA9+nboPl5h/VhSKdlsUDUciHKb+Ly9YSCsvYb0Di1vI0lnYAtHzbBmI1xsfQW5us1BNflUpirCAQJshJMSQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@styled-system/typography/-/typography-5.1.2.tgz", + "integrity": "sha512-BxbVUnN8N7hJ4aaPOd7wEsudeT7CxarR+2hns8XCX1zp0DFfbWw4xYa/olA0oQaqx7F1hzDg+eRaGzAJbF+jOg==", "requires": { - "@styled-system/core": "^5.1.1" + "@styled-system/core": "^5.1.2" } }, "@styled-system/variant": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@styled-system/variant/-/variant-5.1.1.tgz", - "integrity": "sha512-Gh3iBqksx+cTx5drqazu56KL5cJrGEdxMFQ/6Yo4ravrZd0dRmzBhsUh0+UWtSvfWfN0M0ziE3m/Zu4ZKMHMaQ==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@styled-system/variant/-/variant-5.1.4.tgz", + "integrity": "sha512-4bI2AYQfWU/ljvWlysKU8T+6gsVx5xXEI/yBvg2De7Jd6o03ZQ9tsL3OJwbzyMkIKg+UZp7YG190txEOb8K6tg==", + "requires": { + "@styled-system/core": "^5.1.2", + "@styled-system/css": "^5.1.4" + } + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", "requires": { - "@styled-system/core": "^5.1.1", - "@styled-system/css": "^5.0.23" + "defer-to-connect": "^1.0.1" } }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" + }, "@types/configstore": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@types/configstore/-/configstore-2.1.1.tgz", @@ -1541,6 +1610,11 @@ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-0.0.29.tgz", "integrity": "sha1-oeUUrfvZLwOiJLpU1pMRHb8fN1Q=" }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" + }, "@types/events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", @@ -1552,9 +1626,9 @@ "integrity": "sha1-62u3Qj2fiItjJmDcfS/T5po1ZD4=" }, "@types/glob": { - "version": "5.0.36", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.36.tgz", - "integrity": "sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", "requires": { "@types/events": "*", "@types/minimatch": "*", @@ -1562,9 +1636,22 @@ } }, "@types/history": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.2.tgz", - "integrity": "sha512-ui3WwXmjTaY73fOQ3/m3nnajU/Orhi6cEu5rzX+BrAAJxa3eITXZ5ch9suPqtM03OWhAHhPSyBGCN4UKoxO20Q==" + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.3.tgz", + "integrity": "sha512-cS5owqtwzLN5kY+l+KgKdRJ/Cee8tlmQoGQuIE9tWnSmS3JMKzmxo2HIAk2wODMifGwO20d62xZQLYz+RLfXmw==" + }, + "@types/json-schema": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", + "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==" + }, + "@types/mdast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz", + "integrity": "sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==", + "requires": { + "@types/unist": "*" + } }, "@types/minimatch": { "version": "3.0.3", @@ -1577,14 +1664,19 @@ "integrity": "sha1-fyrX7FX5FEgvybHsS7GuYCjUYGY=" }, "@types/node": { - "version": "7.10.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-7.10.7.tgz", - "integrity": "sha512-4I7+hXKyq7e1deuzX9udu0hPIYqSSkdKXtjow6fMnQ3OR9qkxIErGHbGY08YrfZJrCS1ajK8lOuzd0k3n2WM4A==" + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.4.tgz", + "integrity": "sha512-Lue/mlp2egZJoHXZr4LndxDAd7i/7SQYhV0EjWfb/a4/OZ6tuVwMCVPiwkU5nsEipxEf7hmkSU7Em5VQ8P5NGA==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "@types/prop-types": { - "version": "15.7.1", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.1.tgz", - "integrity": "sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg==" + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" }, "@types/q": { "version": "1.5.2", @@ -1592,18 +1684,18 @@ "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" }, "@types/reach__router": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.2.4.tgz", - "integrity": "sha512-a+MFhebeSGi0LwHZ0UhH/ke77rWtNQnt8YmaHnquSaY3HmyEi+BPQi3GhPcUPnC9X5BLw/qORw3BPxGb1mCtEw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.2.6.tgz", + "integrity": "sha512-Oh5DAVr/L2svBvubw6QEFpXGu295Y406BPs4i9t1n2pp7M+q3pmCmhzb9oZV5wncR41KCD3NHl1Yhi7uKnTPsA==", "requires": { "@types/history": "*", "@types/react": "*" } }, "@types/react": { - "version": "16.9.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.2.tgz", - "integrity": "sha512-jYP2LWwlh+FTqGd9v7ynUKZzjj98T8x7Yclz479QdRhHfuW9yQ+0jjnD31eXSXutmBpppj5PYNLYLRfnZJvcfg==", + "version": "16.9.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.17.tgz", + "integrity": "sha512-UP27In4fp4sWF5JgyV6pwVPAQM83Fj76JOcg02X5BZcpSu5Wx+fP9RMqc2v0ssBoQIFvD5JdKY41gjJJKmw6Bg==", "requires": { "@types/prop-types": "*", "csstype": "^2.2.0" @@ -1630,166 +1722,223 @@ } }, "@types/vfile-message": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-1.0.1.tgz", - "integrity": "sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-2.0.0.tgz", + "integrity": "sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==", "requires": { - "@types/node": "*", - "@types/unist": "*" + "vfile-message": "*" } }, - "@webassemblyjs/ast": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz", - "integrity": "sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==", + "@typescript-eslint/eslint-plugin": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.15.0.tgz", + "integrity": "sha512-XRJFznI5v4K1WvIrWmjFjBAdQWaUTz4xJEdqR7+wAFsv6Q9dP3mOlE6BMNT3pdlp9eF1+bC5m5LZTmLMqffCVw==", "requires": { - "@webassemblyjs/helper-module-context": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/wast-parser": "1.7.11" + "@typescript-eslint/experimental-utils": "2.15.0", + "eslint-utils": "^1.4.3", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + }, + "dependencies": { + "regexpp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz", + "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==" + } } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz", - "integrity": "sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz", - "integrity": "sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz", - "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==" - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz", - "integrity": "sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==", + "@typescript-eslint/experimental-utils": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.15.0.tgz", + "integrity": "sha512-Qkxu5zndY5hqlcQkmA88gfLvqQulMpX/TN91XC7OuXsRf4XG5xLGie0sbpX97o/oeccjeZYRMipIsjKk/tjDHA==", "requires": { - "@webassemblyjs/wast-printer": "1.7.11" + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.15.0", + "eslint-scope": "^5.0.0" } }, - "@webassemblyjs/helper-fsm": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz", - "integrity": "sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==" + "@typescript-eslint/parser": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.15.0.tgz", + "integrity": "sha512-6iSgQsqAYTaHw59t0tdjzZJluRAjswdGltzKEdLtcJOxR2UVTPHYvZRqkAVGCkaMVb6Fpa60NnuozNCvsSpA9g==", + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.15.0", + "@typescript-eslint/typescript-estree": "2.15.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.15.0.tgz", + "integrity": "sha512-L6Pog+w3VZzXkAdyqA0VlwybF8WcwZX+mufso86CMxSdWmcizJ38lgBdpqTbc9bo92iyi0rOvmATKiwl+amjxg==", + "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash.unescape": "4.0.1", + "semver": "^6.3.0", + "tsutils": "^3.17.1" + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==" }, "@webassemblyjs/helper-module-context": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz", - "integrity": "sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==" + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz", - "integrity": "sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==" + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==" }, "@webassemblyjs/helper-wasm-section": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz", - "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-buffer": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/wasm-gen": "1.7.11" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" } }, "@webassemblyjs/ieee754": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz", - "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz", - "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", "requires": { - "@xtuc/long": "4.2.1" + "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz", - "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==" + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==" }, "@webassemblyjs/wasm-edit": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz", - "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-buffer": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/helper-wasm-section": "1.7.11", - "@webassemblyjs/wasm-gen": "1.7.11", - "@webassemblyjs/wasm-opt": "1.7.11", - "@webassemblyjs/wasm-parser": "1.7.11", - "@webassemblyjs/wast-printer": "1.7.11" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" } }, "@webassemblyjs/wasm-gen": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz", - "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/ieee754": "1.7.11", - "@webassemblyjs/leb128": "1.7.11", - "@webassemblyjs/utf8": "1.7.11" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" } }, "@webassemblyjs/wasm-opt": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz", - "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-buffer": "1.7.11", - "@webassemblyjs/wasm-gen": "1.7.11", - "@webassemblyjs/wasm-parser": "1.7.11" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" } }, "@webassemblyjs/wasm-parser": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz", - "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-api-error": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/ieee754": "1.7.11", - "@webassemblyjs/leb128": "1.7.11", - "@webassemblyjs/utf8": "1.7.11" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" } }, "@webassemblyjs/wast-parser": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz", - "integrity": "sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/floating-point-hex-parser": "1.7.11", - "@webassemblyjs/helper-api-error": "1.7.11", - "@webassemblyjs/helper-code-frame": "1.7.11", - "@webassemblyjs/helper-fsm": "1.7.11", - "@xtuc/long": "4.2.1" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" } }, "@webassemblyjs/wast-printer": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz", - "integrity": "sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/wast-parser": "1.7.11", - "@xtuc/long": "4.2.1" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" } }, "@xtuc/ieee754": { @@ -1798,9 +1947,9 @@ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, "@xtuc/long": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz", - "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==" + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "accepts": { "version": "1.3.7", @@ -1812,40 +1961,34 @@ } }, "acorn": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.0.0.tgz", - "integrity": "sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==" - }, - "acorn-dynamic-import": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", - "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", - "requires": { - "acorn": "^5.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" - } - } + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==" }, "acorn-jsx": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", - "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", + "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==" }, "address": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.0.tgz", - "integrity": "sha512-4diPfzWbLEIElVG4AnqP+00SULlPzNuyJFNnmMrLgyaxG6tZXJ1sn7mjBu4fHrJE+Yp/jgylOweJn2xsLMFggQ==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" }, "after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, "ajv": { "version": "6.10.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", @@ -1880,11 +2023,6 @@ "string-width": "^3.0.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -1904,14 +2042,6 @@ "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } } } }, @@ -1921,11 +2051,11 @@ "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" }, "ansi-escapes": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz", - "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", "requires": { - "type-fest": "^0.5.2" + "type-fest": "^0.8.1" } }, "ansi-html": { @@ -1934,9 +2064,9 @@ "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" }, "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "ansi-styles": { "version": "3.2.1", @@ -2047,12 +2177,13 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", - "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" } }, "array-iterate": { @@ -2071,12 +2202,9 @@ "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" }, "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "^1.0.1" - } + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, "array-uniq": { "version": "1.0.3", @@ -2088,15 +2216,25 @@ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, "arraybuffer.slice": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" }, "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "optional": true }, "asap": { "version": "2.0.6", @@ -2191,36 +2329,33 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "auto-bind": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-2.1.0.tgz", - "integrity": "sha512-qZuFvkes1eh9lB2mg8/HG18C+5GIO51r+RrCSst/lh+i5B1CtVlkhTE488M805Nr3dKl0sM/pIFKSKUIlg3zUg==", - "optional": true, - "requires": { - "@types/react": "^16.8.12" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-3.0.0.tgz", + "integrity": "sha512-v0A231a/lfOo6kxQtmEkdBfTApvC21aJYukA8pkKnoTvVqh3Wmm7/Rwy4GBCHTTHVoLVA5qsBDDvf1XY1nIV2g==", + "optional": true }, "autoprefixer": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.1.tgz", - "integrity": "sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw==", + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.3.tgz", + "integrity": "sha512-8T5Y1C5Iyj6PgkPSFd0ODvK9DIleuPKUPYniNxybS47g2k2wFgLZ46lGQHlBuGKIAEV8fbCDfKCCRS1tvOgc3Q==", "requires": { - "browserslist": "^4.6.3", - "caniuse-lite": "^1.0.30000980", + "browserslist": "^4.8.0", + "caniuse-lite": "^1.0.30001012", "chalk": "^2.4.2", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.17", - "postcss-value-parser": "^4.0.0" + "postcss": "^7.0.23", + "postcss-value-parser": "^4.0.2" }, "dependencies": { "browserslist": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", - "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", + "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", "requires": { - "caniuse-lite": "^1.0.30000984", - "electron-to-chromium": "^1.3.191", - "node-releases": "^1.1.25" + "caniuse-lite": "^1.0.30001017", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.44" } } } @@ -2231,9 +2366,9 @@ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz", + "integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==" }, "axios": { "version": "0.19.0", @@ -2242,21 +2377,15 @@ "requires": { "follow-redirects": "1.5.10", "is-buffer": "^2.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" - } } }, "axobject-query": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", - "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.1.1.tgz", + "integrity": "sha512-lF98xa/yvy6j3fBHAgQXIYl+J4eZadOSqsPojemUqClzNbBV38wWGpUbQbVEyf4eUF5yF7eHmGgGA2JiHyjeqw==", "requires": { - "ast-types-flow": "0.0.7" + "@babel/runtime": "^7.7.4", + "@babel/runtime-corejs3": "^7.7.4" } }, "babel-code-frame": { @@ -2269,6 +2398,11 @@ "js-tokens": "^3.0.2" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", @@ -2291,6 +2425,14 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -2304,16 +2446,16 @@ "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" }, "babel-eslint": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-9.0.0.tgz", - "integrity": "sha512-itv1MwE3TMbY0QtNfeL7wzak1mV47Uy+n6HtSOO4Xd7rvmO+tsGQSgyOEEgo6Y2vHZKZphaoelNeSVj4vkLA1g==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz", + "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==", "requires": { "@babel/code-frame": "^7.0.0", "@babel/parser": "^7.0.0", "@babel/traverse": "^7.0.0", "@babel/types": "^7.0.0", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "^1.0.0" + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" } }, "babel-extract-comments": { @@ -2333,13 +2475,6 @@ "loader-utils": "^1.0.2", "mkdirp": "^0.5.1", "pify": "^4.0.1" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - } } }, "babel-plugin-add-module-exports": { @@ -2348,25 +2483,74 @@ "integrity": "sha512-hC37mm7aAdEb1n8SgggG8a1QuhZapsY/XLCi4ETSH6AVjXBCWEa50CXlOsAMPPWLnSx5Ns6mzz39uvuseh0Xjg==", "requires": { "chokidar": "^2.0.4" + }, + "dependencies": { + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "optional": true + } } }, "babel-plugin-dynamic-import-node": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.2.0.tgz", - "integrity": "sha512-yeDwKaLgGdTpXL7RgGt5r6T4LmnTza/hUn5Ul8uZSGGMtEjYo13Nxai7SQaGCTEzUtg9Zq9qJn0EjEr7SeSlTQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", "requires": { - "babel-plugin-syntax-dynamic-import": "^6.18.0" + "object.assign": "^4.1.0" } }, "babel-plugin-emotion": { - "version": "10.0.17", - "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.17.tgz", - "integrity": "sha512-KNuBadotqYWpQexHhHOu7M9EV1j2c+Oh/JJqBfEQDusD6mnORsCZKHkl+xYwK82CPQ/23wRrsBIEYnKjtbMQJw==", + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.27.tgz", + "integrity": "sha512-SUNYcT4FqhOqvwv0z1oeYhqgheU8qrceLojuHyX17ngo7WtWqN5I9l3IGHzf21Xraj465CVzF4IvOlAF+3ed0A==", "requires": { "@babel/helper-module-imports": "^7.0.0", - "@emotion/hash": "0.7.2", - "@emotion/memoize": "0.7.2", - "@emotion/serialize": "^0.11.10", + "@emotion/hash": "0.7.4", + "@emotion/memoize": "0.7.4", + "@emotion/serialize": "^0.11.15", "babel-plugin-macros": "^2.0.0", "babel-plugin-syntax-jsx": "^6.18.0", "convert-source-map": "^1.5.0", @@ -2376,19 +2560,19 @@ } }, "babel-plugin-macros": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz", - "integrity": "sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", "requires": { - "@babel/runtime": "^7.4.2", - "cosmiconfig": "^5.2.0", - "resolve": "^1.10.0" + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" } }, "babel-plugin-remove-graphql-queries": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.7.3.tgz", - "integrity": "sha512-xuOzXil34XPhkIGE/1EmCyfPlMgX2sXBaNf3n+ico5pM3HNrKc8vHcng9CoK2jnSXEwoX5wASFfKZg1eNNdz1w==" + "version": "2.7.19", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.7.19.tgz", + "integrity": "sha512-/DS620ztyyrqrqjmz/KHDt++ktn+4RdvfDf5KCUmt6iJOglgNm7uHkE+snuvvL/xhNNuuPBLErc23Q0cR6MSiQ==" }, "babel-plugin-styled-components": { "version": "1.10.6", @@ -2401,11 +2585,6 @@ "lodash": "^4.17.11" } }, - "babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" - }, "babel-plugin-syntax-jsx": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", @@ -2416,11 +2595,6 @@ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", - "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" - }, "babel-plugin-transform-object-rest-spread": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", @@ -2435,54 +2609,22 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" }, - "babel-preset-fbjs": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.2.0.tgz", - "integrity": "sha512-5Jo+JeWiVz2wHUUyAlvb/sSYnXNig9r+HqGAOSfh5Fzxp7SnAaR/tEGRJ1ZX7C77kfk82658w6R5Z+uPATTD9g==", - "requires": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-syntax-class-properties": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-member-expression-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-property-literals": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" - } - }, "babel-preset-gatsby": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/babel-preset-gatsby/-/babel-preset-gatsby-0.2.10.tgz", - "integrity": "sha512-MQmh2nERGZvxhMSr5M00AK7mCWSIZBazX8vn75oUdbPQ9LI68xj3i1S0q01RJid+yFFI0k+oEAAKkYAa8TRyqA==", - "requires": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-spread": "^7.2.2", - "@babel/preset-env": "^7.4.1", - "@babel/preset-react": "^7.0.0", - "@babel/runtime": "^7.4.5", - "babel-plugin-dynamic-import-node": "^1.2.0", - "babel-plugin-macros": "^2.6.1", + "version": "0.2.26", + "resolved": "https://registry.npmjs.org/babel-preset-gatsby/-/babel-preset-gatsby-0.2.26.tgz", + "integrity": "sha512-qOM26AhAPW5xetUj579jBFICg16sqFHf3dPptRXi3zS7HpEHbtsOvB9VB68MEUj+WZrrlbR/EQuT69GA1XiBdQ==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.7.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.7.4", + "@babel/plugin-proposal-optional-chaining": "^7.7.5", + "@babel/plugin-syntax-dynamic-import": "^7.7.4", + "@babel/plugin-transform-runtime": "^7.7.6", + "@babel/plugin-transform-spread": "^7.7.4", + "@babel/preset-env": "^7.7.6", + "@babel/preset-react": "^7.7.4", + "@babel/runtime": "^7.7.6", + "babel-plugin-dynamic-import-node": "^2.3.0", + "babel-plugin-macros": "^2.8.0", "babel-plugin-transform-react-remove-prop-types": "^0.4.24" } }, @@ -2583,9 +2725,9 @@ "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" }, "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" }, "batch": { "version": "0.6.1", @@ -2609,11 +2751,11 @@ } }, "better-opn": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-0.1.4.tgz", - "integrity": "sha512-7V92EnOdjWOB9lKsVsthCcu1FdFT5qNJVTiOgGy5wPuTsSptMMxm2G1FGHgWu22MyX3tyDRzTWk4lxY2Ppdu7A==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-1.0.0.tgz", + "integrity": "sha512-q3eO2se4sFbTERB1dFBDdjTiIIpRohMErpwBX21lhPvmgmQNNrcQj0zbWRhMREDesJvyod9kxBS3kOtdAvkB/A==", "requires": { - "opn": "^5.4.0" + "open": "^6.4.0" } }, "better-queue": { @@ -2646,151 +2788,89 @@ "execa": "^0.7.0", "p-map-series": "^1.0.0", "tempfile": "^2.0.0" - } - }, - "bin-check": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", - "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", - "requires": { - "execa": "^0.7.0", - "executable": "^4.1.0" - } - }, - "bin-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", - "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", - "requires": { - "execa": "^1.0.0", - "find-versions": "^3.0.0" }, "dependencies": { "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", + "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", "which": "^1.2.9" } }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "bin-version-check": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", - "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", - "requires": { - "bin-version": "^3.0.0", - "semver": "^5.6.0", - "semver-truncate": "^1.1.2" - } - }, - "bin-wrapper": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", - "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", - "requires": { - "bin-check": "^4.1.0", - "bin-version-check": "^4.0.0", - "download": "^7.1.0", - "import-lazy": "^3.1.0", - "os-filter-obj": "^2.0.0", - "pify": "^4.0.1" - }, - "dependencies": { "download": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", - "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", + "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", "requires": { - "archive-type": "^4.0.0", - "caw": "^2.0.1", + "caw": "^2.0.0", "content-disposition": "^0.5.2", - "decompress": "^4.2.0", + "decompress": "^4.0.0", "ext-name": "^5.0.0", - "file-type": "^8.1.0", + "file-type": "5.2.0", "filenamify": "^2.0.0", "get-stream": "^3.0.0", - "got": "^8.3.1", - "make-dir": "^1.2.0", - "p-event": "^2.1.0", + "got": "^7.0.0", + "make-dir": "^1.0.0", + "p-event": "^1.0.0", "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "file-type": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", - "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", + "decompress-response": "^3.2.0", "duplexer3": "^0.1.4", "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", "isurl": "^1.0.0-alpha5", "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", "url-to-options": "^1.0.1" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } } }, - "import-lazy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", - "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==" + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } }, "make-dir": { "version": "1.3.0", @@ -2798,68 +2878,192 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "requires": { "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } } }, "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" }, "p-event": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", - "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", + "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", "requires": { - "p-timeout": "^2.0.1" + "p-timeout": "^1.1.1" } }, "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", "requires": { "p-finally": "^1.0.0" } }, "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" }, "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" }, "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "requires": { + "prepend-http": "^1.0.1" + } + } + } + }, + "bin-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", + "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", + "requires": { + "execa": "^0.7.0", + "executable": "^4.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + } + } + }, + "bin-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", + "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", + "requires": { + "execa": "^1.0.0", + "find-versions": "^3.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "requires": { - "prepend-http": "^2.0.0" + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } } } }, + "bin-version-check": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", + "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", + "requires": { + "bin-version": "^3.0.0", + "semver": "^5.6.0", + "semver-truncate": "^1.1.2" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "bin-wrapper": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", + "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", + "requires": { + "bin-check": "^4.1.0", + "bin-version-check": "^4.0.0", + "download": "^7.1.0", + "import-lazy": "^3.1.0", + "os-filter-obj": "^2.0.0", + "pify": "^4.0.1" + }, + "dependencies": { + "import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", + "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==" + } + } + }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz", + "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==", "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "readable-stream": "^3.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "blob": { @@ -2868,9 +3072,9 @@ "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" }, "bluebird": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "bmp-js": { "version": "0.1.0", @@ -2945,62 +3149,63 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, "boxen": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", - "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", "requires": { "ansi-align": "^3.0.0", "camelcase": "^5.3.1", - "chalk": "^2.4.2", + "chalk": "^3.0.0", "cli-boxes": "^2.2.0", - "string-width": "^3.0.0", - "term-size": "^1.2.0", - "type-fest": "^0.3.0", - "widest-line": "^2.0.0" + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "ansi-regex": "^4.1.0" + "color-name": "~1.1.4" } }, - "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -3119,18 +3324,10 @@ "electron-to-chromium": "^1.3.47" } }, - "bser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz", - "integrity": "sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==", - "requires": { - "node-int64": "^0.4.0" - } - }, "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", @@ -3197,15 +3394,16 @@ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, "cacache": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz", - "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==", + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", "requires": { "bluebird": "^3.5.5", "chownr": "^1.1.1", "figgy-pudding": "^3.5.1", "glob": "^7.1.4", "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", @@ -3225,15 +3423,10 @@ "yallist": "^3.0.2" } }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" - }, "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -3254,23 +3447,12 @@ } }, "cache-manager": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/cache-manager/-/cache-manager-2.10.0.tgz", - "integrity": "sha512-IuPx05r5L0uZyBDYicB2Llld1o+/1WYjoHUnrC0TNQejMAnkoYxYS9Y8Uwr+lIBytDiyu7dwwmBCup2M9KugwQ==", + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/cache-manager/-/cache-manager-2.10.1.tgz", + "integrity": "sha512-bk17v9IkLqNcbCzggEh82LEJhjHp+COnL57L7a0ESbM/cOuXIIBatdVjD/ps7vOsofI48++zAC14Ye+8v50flg==", "requires": { "async": "1.5.2", "lru-cache": "4.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz", - "integrity": "sha1-tcvwFVbBaWb+vlTO7A+03JDfbCg=", - "requires": { - "pseudomap": "^1.0.1", - "yallist": "^2.0.0" - } - } } }, "cache-manager-fs-hash": { @@ -3283,38 +3465,36 @@ } }, "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" }, "dependencies": { - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" - }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" + "pump": "^3.0.0" } }, - "prepend-http": { + "lowercase-keys": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" } } }, @@ -3329,6 +3509,13 @@ "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "requires": { "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + } } }, "caller-path": { @@ -3345,14 +3532,14 @@ "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" }, "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, "camelcase-keys": { "version": "2.1.0", @@ -3387,26 +3574,21 @@ }, "dependencies": { "browserslist": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", - "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", + "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", "requires": { - "caniuse-lite": "^1.0.30000984", - "electron-to-chromium": "^1.3.191", - "node-releases": "^1.1.25" + "caniuse-lite": "^1.0.30001017", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.44" } } } }, "caniuse-lite": { - "version": "1.0.30000989", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz", - "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==" - }, - "capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==" + "version": "1.0.30001019", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001019.tgz", + "integrity": "sha512-6ljkLtF1KM5fQ+5ZN0wuyVvvebJxgJPTmScOMaFuQN2QuOzvRJnWSKfzQskQU5IOU4Gap3zasYPIinzwUjoj/g==" }, "caseless": { "version": "0.12.0", @@ -3499,43 +3681,104 @@ } }, "chokidar": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", - "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" }, "dependencies": { - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - } - } - }, - "chownr": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", - "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==" - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "requires": { - "tslib": "^1.9.0" - } + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "optional": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "requires": { + "picomatch": "^2.0.4" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "requires": { + "tslib": "^1.9.0" + } }, "ci-info": { "version": "2.0.0", @@ -3587,6 +3830,11 @@ } } }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, "cli-boxes": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", @@ -3614,31 +3862,87 @@ "colors": "^1.1.2", "object-assign": "^4.1.0", "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } } }, "cli-truncate": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", - "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", "optional": true, "requires": { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0" + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" }, "dependencies": { - "is-fullwidth-code-point": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "optional": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "astral-regex": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "optional": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "optional": true }, "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "optional": true, "requires": { - "is-fullwidth-code-point": "^2.0.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" } } } @@ -3660,21 +3964,21 @@ } }, "clipboardy": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", - "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.1.0.tgz", + "integrity": "sha512-2pzOUxWcLlXWtn+Jd6js3o12TysNOOVes/aQfg+MT/35vrxWzedHlLwyoJpXjsFKWm95BTNEcMGD9+a7mKzZkQ==", "requires": { - "arch": "^2.1.0", - "execa": "^0.8.0" + "arch": "^2.1.1", + "execa": "^1.0.0" }, "dependencies": { "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", @@ -3685,23 +3989,33 @@ } }, "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" }, "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } } } @@ -3775,9 +4089,9 @@ } }, "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "optional": true }, "combined-stream": { @@ -3799,9 +4113,9 @@ "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==" }, "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "common-tags": { "version": "1.8.0", @@ -3829,11 +4143,11 @@ "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" }, "compressible": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", - "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "requires": { - "mime-db": ">= 1.40.0 < 2" + "mime-db": ">= 1.43.0 < 2" } }, "compression": { @@ -3919,9 +4233,9 @@ } }, "confusing-browser-globals": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.8.tgz", - "integrity": "sha512-lI7asCibVJ6Qd3FGU7mu4sfG4try4LX3+GVS+Gv8UlrEf2AeW57piecapnog2UHZSbcX/P/1UDWVaTsblowlZg==" + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", + "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==" }, "connect-history-api-fallback": { "version": "1.6.0", @@ -3929,12 +4243,9 @@ "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" }, "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "requires": { - "date-now": "^0.1.4" - } + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" }, "console-control-strings": { "version": "1.1.0", @@ -3970,14 +4281,14 @@ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "convert-hrtime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-2.0.0.tgz", - "integrity": "sha1-Gb+yyRYvnhHC8Ewsed4rfoCVxic=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-3.0.0.tgz", + "integrity": "sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==" }, "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "requires": { "safe-buffer": "~5.1.1" } @@ -4011,49 +4322,54 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "copyfiles": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-1.2.0.tgz", - "integrity": "sha1-qNo6xBqiIgrim9PFi2mEKU8sWTw=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.1.1.tgz", + "integrity": "sha512-y6DZHve80whydXzBal7r70TBgKMPKesVRR1Sn/raUu7Jh/i7iSLSyGvYaq0eMJ/3Y/CKghwzjY32q1WzEnpp3Q==", "requires": { "glob": "^7.0.5", - "ltcdr": "^2.2.1", "minimatch": "^3.0.3", "mkdirp": "^0.5.1", "noms": "0.0.0", - "through2": "^2.0.1" + "through2": "^2.0.1", + "yargs": "^13.2.4" } }, "core-js": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", - "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" }, "core-js-compat": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz", - "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.2.tgz", + "integrity": "sha512-+G28dzfYGtAM+XGvB1C5AS1ZPKfQ47HLhcdeIQdZgQnJVdp7/D0m+W/TErwhgsX6CujRUk/LebB6dCrKrtJrvQ==", "requires": { - "browserslist": "^4.6.6", - "semver": "^6.3.0" + "browserslist": "^4.8.3", + "semver": "7.0.0" }, "dependencies": { "browserslist": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", - "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", + "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", "requires": { - "caniuse-lite": "^1.0.30000984", - "electron-to-chromium": "^1.3.191", - "node-releases": "^1.1.25" + "caniuse-lite": "^1.0.30001017", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.44" } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" } } }, + "core-js-pure": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.2.tgz", + "integrity": "sha512-PRasaCPjjCB65au2dMBPtxuIR6LM8MVNdbIbN57KxcDV1FAYQWlF0pqje/HC2sM6nm/s9KqSTkMTU75pozaghA==" + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -4069,25 +4385,15 @@ } }, "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" } }, "create-ecdh": { @@ -4099,14 +4405,6 @@ "elliptic": "^6.0.0" } }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "requires": { - "capture-stack-trace": "^1.0.0" - } - }, "create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", @@ -4139,27 +4437,6 @@ "requires": { "fbjs": "^0.8.0", "gud": "^1.0.0" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - }, - "fbjs": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", - "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", - "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - } - } } }, "cross-fetch": { @@ -4184,13 +4461,22 @@ } }, "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "requires": { - "lru-cache": "^4.0.1", + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, "crypt": { @@ -4360,12 +4646,19 @@ } }, "css-tree": { - "version": "1.0.0-alpha.33", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz", - "integrity": "sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==", + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", "requires": { "mdn-data": "2.0.4", - "source-map": "^0.5.3" + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, "css-unit-converter": { @@ -4392,6 +4685,42 @@ "cssnano-preset-default": "^4.0.7", "is-resolvable": "^1.0.0", "postcss": "^7.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } } }, "cssnano-preset-default": { @@ -4455,33 +4784,17 @@ "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" }, "csso": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", - "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz", + "integrity": "sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==", "requires": { - "css-tree": "1.0.0-alpha.29" - }, - "dependencies": { - "css-tree": { - "version": "1.0.0-alpha.29", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", - "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", - "requires": { - "mdn-data": "~1.1.0", - "source-map": "^0.5.3" - } - }, - "mdn-data": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", - "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==" - } + "css-tree": "1.0.0-alpha.37" } }, "csstype": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.6.tgz", - "integrity": "sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg==" + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.8.tgz", + "integrity": "sha512-msVS9qTuMT5zwAGCVm4mxfrZ18BNc6Csd0oJAtiFMZ1FAx1CCvy2+5MDmYoix63LM/6NDbNtodCiGYGmFgO0dA==" }, "currently-unhandled": { "version": "0.4.1", @@ -4502,9 +4815,9 @@ } }, "cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" }, "damerau-levenshtein": { "version": "1.0.5", @@ -4519,15 +4832,10 @@ "assert-plus": "^1.0.0" } }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" - }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { "ms": "^2.1.1" } @@ -4571,6 +4879,11 @@ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" } } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, @@ -4592,10 +4905,33 @@ "tar-stream": "^1.5.2" }, "dependencies": { + "bl": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, "file-type": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } } } }, @@ -4659,13 +4995,26 @@ "object-assign": "^4.0.1", "pinkie-promise": "^2.0.0" } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } }, "deep-extend": { "version": "0.6.0", @@ -4678,9 +5027,9 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, "deepmerge": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.0.0.tgz", - "integrity": "sha512-YZ1rOP5+kHor4hMAH+HRQnBQHg+wvS1un1hAOuIcxcBy0hzcUf6Jg2a1w65kpoOUnurOfZbERwjI1TfZxNjcww==" + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" }, "default-gateway": { "version": "4.2.0", @@ -4691,18 +5040,6 @@ "ip-regex": "^2.1.0" }, "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -4716,17 +5053,14 @@ "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } } } }, + "defer-to-connect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.1.tgz", + "integrity": "sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ==" + }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -4773,22 +5107,27 @@ } }, "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "requires": { + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" }, "dependencies": { - "pify": { + "rimraf": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "requires": { + "glob": "^7.1.3" + } } } }, @@ -4814,9 +5153,9 @@ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "requires": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -4836,9 +5175,9 @@ } }, "detect-indent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", + "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==" }, "detect-libc": { "version": "1.0.3", @@ -4897,6 +5236,21 @@ "tslib": "^1.6.0" }, "dependencies": { + "@types/glob": { + "version": "5.0.36", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.36.tgz", + "integrity": "sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg==", + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/node": { + "version": "7.10.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-7.10.9.tgz", + "integrity": "sha512-usSpgoUsRtO5xNV5YEPU8PPnHisFx8u0rokj1BPVn/hDF7zwUDzVLiuKZM38B7z8V2111Fj6kd4rGtQFUZpNOw==" + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -4909,6 +5263,14 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "tmp": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", + "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", + "requires": { + "os-tmpdir": "~1.0.1" + } } } }, @@ -4923,27 +5285,11 @@ } }, "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - }, - "dependencies": { - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } + "path-type": "^4.0.0" } }, "dns-equal": { @@ -4993,9 +5339,9 @@ } }, "dom-serializer": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz", - "integrity": "sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "requires": { "domelementtype": "^2.0.1", "entities": "^2.0.0" @@ -5049,53 +5395,33 @@ } }, "dotenv": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz", - "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=" + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" }, "download": { - "version": "6.2.5", - "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", - "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", "requires": { - "caw": "^2.0.0", + "archive-type": "^4.0.0", + "caw": "^2.0.1", "content-disposition": "^0.5.2", - "decompress": "^4.0.0", + "decompress": "^4.2.0", "ext-name": "^5.0.0", - "file-type": "5.2.0", + "file-type": "^8.1.0", "filenamify": "^2.0.0", "get-stream": "^3.0.0", - "got": "^7.0.0", - "make-dir": "^1.0.0", - "p-event": "^1.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", "pify": "^3.0.0" }, "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - }, - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - } + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, "make-dir": { "version": "1.3.0", @@ -5148,14 +5474,14 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.237", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.237.tgz", - "integrity": "sha512-SPAFjDr/7iiVK2kgTluwxela6eaWjjFkS9rO/iYpB/KGXgccUom5YC7OIf19c8m8GGptWxLU0Em8xM64A/N7Fg==" + "version": "1.3.327", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.327.tgz", + "integrity": "sha512-DNMd91VtKt44LIkFtpICxAWu/GSGFLUMDM/kFINJ3Oe47OimSnbMvO3ChkUCdUyit+pRdhdCcM3+i5bpli5gqg==" }, "elliptic": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz", - "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", "requires": { "bn.js": "^4.4.0", "brorand": "^1.0.1", @@ -5190,55 +5516,42 @@ } }, "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "requires": { "once": "^1.4.0" } }, "engine.io": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.3.2.tgz", - "integrity": "sha512-AsaA9KG7cWPXWHp5FvHdDWY3AMWeZ8x+2pUVLcn71qE5AtAzgGbxuclOytygskw8XGmiQafTmnI9Bix3uihu2w==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.0.tgz", + "integrity": "sha512-XCyYVWzcHnK5cMz7G4VTu2W7zJS7SM1QkcelghyIk/FmobWBtXE7fwhBusEKvCSqc3bMh8fNFMlUkCKTFRxH2w==", "requires": { "accepts": "~1.3.4", - "base64id": "1.0.0", + "base64id": "2.0.0", "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~6.1.0" + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "^7.1.2" }, "dependencies": { "cookie": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, "engine.io-client": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.3.2.tgz", - "integrity": "sha512-y0CPINnhMvPuwtqXfsGuWE8BB66+B6wTtCofQDRecMQPYX3MYUZXFNKDhdrSe3EVjgOu4V3rxdeqN/Tr91IgbQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.0.tgz", + "integrity": "sha512-a4J5QO2k99CM2a0b12IznnyQndoEvtA4UAldhGzKqnHf42I3Qs2W5SPnDvatZRcMaNZs4IevVicBPayxYt6FwA==", "requires": { "component-emitter": "1.2.1", "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", "has-cors": "1.1.0", "indexof": "0.0.1", "parseqs": "0.0.5", @@ -5253,25 +5566,20 @@ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "ws": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", "requires": { - "ms": "2.0.0" + "async-limiter": "~1.0.0" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, "engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", + "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", "requires": { "after": "0.8.2", "arraybuffer.slice": "~0.0.7", @@ -5281,13 +5589,24 @@ } }, "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", "requires": { "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", + "memory-fs": "^0.5.0", "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } } }, "entities": { @@ -5296,9 +5615,9 @@ "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" }, "envinfo": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-5.12.1.tgz", - "integrity": "sha512-pwdo0/G3CIkQ0y6PCXq4RdkvId2elvtPCJMG0konqlrfkWQbf1DWeH9K2b/cvu2YgGvPPTOnonZxXM1gikFu1w==" + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.5.0.tgz", + "integrity": "sha512-jDgnJaF/Btomk+m3PZDTTCb5XIIIX3zYItnCRfF73zVgvinLoRomuhi75Y4su0PtQxWz4v66XnLLckyvyJTOIQ==" }, "eol": { "version": "0.8.1", @@ -5322,30 +5641,35 @@ } }, "error-stack-parser": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.3.tgz", - "integrity": "sha512-vRC4rKv87twMZy92X4+TmUdv3iYMsmePbpG/YguHsfzmZ8bYJZYYep7yrXH09yFUaCEPKgNK5X79+Yq7hwLVOA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", "requires": { - "stackframe": "^1.0.4" + "stackframe": "^1.1.1" } }, "es-abstract": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", - "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", "requires": { - "es-to-primitive": "^1.2.0", + "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-keys": "^1.0.12" + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" } }, "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -5353,9 +5677,9 @@ } }, "es6-promisify": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.0.1.tgz", - "integrity": "sha512-J3ZkwbEnnO+fGAKrjVpeUAnZshAdfZvbhQpqfIH9kSAspReRC4nJnu8ewm55b4y9ElyeuhCTzJD0XiH8Tsbhlw==" + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.0.2.tgz", + "integrity": "sha512-eO6vFm0JvqGzjWIQA6QVKjxpmELfhWbDUWHm1rPfIbn55mhKPiAa5xpLmQWJrNa629ZIeQ8ZvMAi13kvrjK6Mg==" }, "escape-html": { "version": "1.0.3", @@ -5368,9 +5692,9 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.3.0.tgz", - "integrity": "sha512-ZvZTKaqDue+N8Y9g0kp6UPZtS4FSY3qARxBs7p4f0H0iof381XHduqVerFWtK8DPtKmemqbqCFENWSQgPR/Gow==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "requires": { "@babel/code-frame": "^7.0.0", "ajv": "^6.10.0", @@ -5379,19 +5703,19 @@ "debug": "^4.0.1", "doctrine": "^3.0.0", "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.2", + "eslint-utils": "^1.4.3", "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.1", + "espree": "^6.1.2", "esquery": "^1.0.1", "esutils": "^2.0.2", "file-entry-cache": "^5.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", - "globals": "^11.7.0", + "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^6.4.1", + "inquirer": "^7.0.0", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", @@ -5400,7 +5724,7 @@ "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "optionator": "^0.8.2", + "optionator": "^0.8.3", "progress": "^2.0.0", "regexpp": "^2.0.1", "semver": "^6.1.2", @@ -5409,102 +5733,14 @@ "table": "^5.2.3", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", - "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "glob-parent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", - "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "import-fresh": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", - "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-json-comments": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", - "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==" - }, - "v8-compile-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", - "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==" - } } }, "eslint-config-react-app": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-3.0.8.tgz", - "integrity": "sha512-Ovi6Bva67OjXrom9Y/SLJRkrGqKhMAL0XCH8BizPhjEVEhYczl2ZKiNZI2CuqO5/CJwAfMwRXAVGY0KToWr1aA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.1.0.tgz", + "integrity": "sha512-hBaxisHC6HXRVvxX+/t1n8mOdmCVIKgkXsf2WoUkJi7upHJTwYTsdCmx01QPOjKNT34QMQQ9sL0tVBlbiMFjxA==", "requires": { - "confusing-browser-globals": "^1.0.6" + "confusing-browser-globals": "^1.0.9" } }, "eslint-import-resolver-node": { @@ -5544,11 +5780,11 @@ } }, "eslint-module-utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz", - "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.5.0.tgz", + "integrity": "sha512-kCo8pZaNz2dsAW7nCUjuVoI11EBXXpIzfNxmaoLhXoRDOnqXLC4iSGVRdZPhOitfbdEfMEfKOiENaK6wDPZEGw==", "requires": { - "debug": "^2.6.8", + "debug": "^2.6.9", "pkg-dir": "^2.0.0" }, "dependencies": { @@ -5560,11 +5796,49 @@ "ms": "2.0.0" } }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, "pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", @@ -5575,39 +5849,45 @@ } } }, + "eslint-plugin-eslint-plugin": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-2.1.0.tgz", + "integrity": "sha512-kT3A/ZJftt28gbl/Cv04qezb/NQ1dwYIbi8lyf806XMxkus7DvOVCLIfTXMrorp322Pnoez7+zabXH29tADIDg==" + }, "eslint-plugin-flowtype": { - "version": "2.50.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz", - "integrity": "sha512-X+AoKVOr7Re0ko/yEXyM5SSZ0tazc6ffdIOocp2fFUlWoDt7DV0Bz99mngOkAFLOAWjqRA5jPwqUCbrx13XoxQ==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", + "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", "requires": { - "lodash": "^4.17.10" + "lodash": "^4.17.15" } }, "eslint-plugin-graphql": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-graphql/-/eslint-plugin-graphql-3.0.3.tgz", - "integrity": "sha512-hHwLyxSkC5rkakJ/SNTWwOswPdVhvfyMCnEOloevrLQIOHUNVIQBg1ljCaRe9C40HdzgcGUFUdG5BHLCKm8tuw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-graphql/-/eslint-plugin-graphql-3.1.1.tgz", + "integrity": "sha512-VNu2AipS8P1BAnE/tcJ2EmBWjFlCnG+1jKdUlFNDQjocWZlFiPpMu9xYNXePoEXK+q+jG51M/6PdhOjEgJZEaQ==", "requires": { "graphql-config": "^2.0.1", "lodash": "^4.11.1" } }, "eslint-plugin-import": { - "version": "2.18.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", - "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", + "version": "2.19.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.19.1.tgz", + "integrity": "sha512-x68131aKoCZlCae7rDXKSAQmbT5DQuManyXo2sK6fJJ0aK5CWAkv6A6HJZGgqC8IhjQxYPgo6/IY4Oz8AFsbBw==", "requires": { "array-includes": "^3.0.3", + "array.prototype.flat": "^1.2.1", "contains-path": "^0.1.0", "debug": "^2.6.9", "doctrine": "1.5.0", "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.4.0", + "eslint-module-utils": "^2.4.1", "has": "^1.0.3", "minimatch": "^3.0.4", "object.values": "^1.1.0", "read-pkg-up": "^2.0.0", - "resolve": "^1.11.0" + "resolve": "^1.12.0" }, "dependencies": { "debug": { @@ -5658,19 +5938,20 @@ } }, "eslint-plugin-react": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz", - "integrity": "sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.17.0.tgz", + "integrity": "sha512-ODB7yg6lxhBVMeiH1c7E95FLD4E/TwmFjltiU+ethv7KPdCwgiFuOZg9zNRHyufStTDLl/dEFqI2Q1VPmCd78A==", "requires": { "array-includes": "^3.0.3", "doctrine": "^2.1.0", + "eslint-plugin-eslint-plugin": "^2.1.0", "has": "^1.0.3", - "jsx-ast-utils": "^2.1.0", + "jsx-ast-utils": "^2.2.3", "object.entries": "^1.1.0", - "object.fromentries": "^2.0.0", + "object.fromentries": "^2.0.1", "object.values": "^1.1.0", "prop-types": "^15.7.2", - "resolve": "^1.10.1" + "resolve": "^1.13.1" }, "dependencies": { "doctrine": { @@ -5683,21 +5964,26 @@ } } }, + "eslint-plugin-react-hooks": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz", + "integrity": "sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==" + }, "eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" } }, "eslint-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", - "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "requires": { - "eslint-visitor-keys": "^1.0.0" + "eslint-visitor-keys": "^1.1.0" } }, "eslint-visitor-keys": { @@ -5706,12 +5992,12 @@ "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==" }, "espree": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz", - "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", + "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", "requires": { - "acorn": "^7.0.0", - "acorn-jsx": "^5.0.2", + "acorn": "^7.1.0", + "acorn-jsx": "^5.1.0", "eslint-visitor-keys": "^1.1.0" } }, @@ -5752,14 +6038,14 @@ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, "event-source-polyfill": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-1.0.8.tgz", - "integrity": "sha512-wC9j5vjH9Xu9s8XhumgBoypdFJswraU1HXykqCCD/b7q+EH4P/avf5fM1e8IiHyHNZOeOiWwrki2775XFTYyeg==" + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-1.0.11.tgz", + "integrity": "sha512-fbo96OutP0Bb+gIYTTy8LGhNWySdetsFElCn/vhOzQL3cXWsS70TP/aRUe32U7F+PuOZH/tvb40tZgoJV8/Ilw==" }, "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==" }, "events": { "version": "3.0.0", @@ -5795,6 +6081,44 @@ "tempfile": "^2.0.0" }, "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -5803,17 +6127,84 @@ } }, "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } } }, "executable": { @@ -5822,13 +6213,15 @@ "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", "requires": { "pify": "^2.2.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } } }, - "exenv": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", - "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=" - }, "exif-parser": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", @@ -5945,14 +6338,44 @@ } }, "express-graphql": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/express-graphql/-/express-graphql-0.7.1.tgz", - "integrity": "sha512-YpheAqTbSKpb5h57rV2yu2dPNUBi4FvZDspZ5iEV3ov34PBRgnM4lEBkv60+vZRJ6SweYL14N8AGYdov7g6ooQ==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/express-graphql/-/express-graphql-0.9.0.tgz", + "integrity": "sha512-wccd9Lb6oeJ8yHpUs/8LcnGjFUUQYmOG9A5BNLybRdCzGw0PeUrtBxsIR8bfiur6uSW4OvPkVDoYH06z6/N9+w==", "requires": { - "accepts": "^1.3.5", + "accepts": "^1.3.7", "content-type": "^1.0.4", - "http-errors": "^1.7.1", - "raw-body": "^2.3.3" + "http-errors": "^1.7.3", + "raw-body": "^2.4.1" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "raw-body": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + } } }, "ext-list": { @@ -6004,16 +6427,6 @@ "chardet": "^0.7.0", "iconv-lite": "^0.4.24", "tmp": "^0.0.33" - }, - "dependencies": { - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - } } }, "extglob": { @@ -6086,22 +6499,61 @@ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.1.tgz", + "integrity": "sha512-nTCREpBY8w8r+boyFYAx21iL6faSsQynliPHM4Uf56SbkyohCNxpVPEH9xrF5TXKy+IsjkPUHDKiUkzBVRXn9g==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } } }, "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { "version": "2.0.6", @@ -6113,6 +6565,14 @@ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" }, + "fastq": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz", + "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==", + "requires": { + "reusify": "^1.0.0" + } + }, "faye-websocket": { "version": "0.11.3", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", @@ -6121,34 +6581,27 @@ "websocket-driver": ">=0.5.1" } }, - "fb-watchman": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", - "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", - "requires": { - "bser": "^2.0.0" - } - }, "fbjs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", - "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", "requires": { - "core-js": "^2.4.1", - "fbjs-css-vars": "^1.0.0", + "core-js": "^1.0.0", "isomorphic-fetch": "^2.1.1", "loose-envify": "^1.0.0", "object-assign": "^4.1.0", "promise": "^7.1.1", "setimmediate": "^1.0.5", "ua-parser-js": "^0.7.18" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + } } }, - "fbjs-css-vars": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" - }, "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -6163,9 +6616,9 @@ "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" }, "figures": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz", - "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", + "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", "requires": { "escape-string-regexp": "^1.0.5" } @@ -6188,9 +6641,15 @@ } }, "file-type": { - "version": "10.11.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", - "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==" + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true }, "filename-reserved-regex": { "version": "2.0.0", @@ -6278,27 +6737,19 @@ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "requires": { - "locate-path": "^2.0.0" + "locate-path": "^3.0.0" } }, "find-versions": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.1.0.tgz", - "integrity": "sha512-NCTfNiVzeE/xL+roNDffGuRbrWI6atI18lTJ22vKp7rs2OhYzMK3W1dIdO2TUndH/QMcacM4d1uWwgcZcHK69Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", + "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", "requires": { - "array-uniq": "^2.1.0", "semver-regex": "^2.0.0" - }, - "dependencies": { - "array-uniq": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-2.1.0.tgz", - "integrity": "sha512-bdHxtev7FN6+MXI1YFW0Q8mQ8dTJc2S8AMfju+ZR77pbg2yAdVyDlwkaUI7Har0LyOMRFPHrJ9lYdyjZZswdlQ==" - } } }, "flat": { @@ -6307,13 +6758,6 @@ "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", "requires": { "is-buffer": "~2.0.3" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" - } } }, "flat-cache": { @@ -6324,16 +6768,6 @@ "flatted": "^2.0.0", "rimraf": "2.6.3", "write": "1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": { - "glob": "^7.1.3" - } - } } }, "flatted": { @@ -6373,14 +6807,6 @@ } } }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -6433,32 +6859,27 @@ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, - "fs-copy-file-sync": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fs-copy-file-sync/-/fs-copy-file-sync-1.1.1.tgz", - "integrity": "sha512-2QY5eeqVv4m2PfyMiEuy9adxNP+ajf+8AR05cEi+OAzPcOj90hvFImeZhTmKLBgSd9EvG33jsD7ZRxsx9dThkQ==" - }, "fs-exists-cached": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=" }, "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "requires": { - "graceful-fs": "^4.1.2", + "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "fs-minipass": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.6.tgz", - "integrity": "sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.0.0.tgz", + "integrity": "sha512-40Qz+LFXmd9tzYVnnBmZvFfvAADfUA14TXPK1s7IfElJTIZ97rA8w4Kin7Wt5JBrC3ShnnFJO/5vPjPEeJIq9A==", "requires": { - "minipass": "^2.2.1" + "minipass": "^3.0.0" } }, "fs-write-stream-atomic": { @@ -6478,13 +6899,14 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", + "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" + "node-pre-gyp": "*" }, "dependencies": { "abbrev": { @@ -6526,7 +6948,7 @@ } }, "chownr": { - "version": "1.1.1", + "version": "1.1.3", "bundled": true, "optional": true }, @@ -6551,7 +6973,7 @@ "optional": true }, "debug": { - "version": "4.1.1", + "version": "3.2.6", "bundled": true, "optional": true, "requires": { @@ -6574,11 +6996,11 @@ "optional": true }, "fs-minipass": { - "version": "1.2.5", + "version": "1.2.7", "bundled": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.6.0" } }, "fs.realpath": { @@ -6602,7 +7024,7 @@ } }, "glob": { - "version": "7.1.3", + "version": "7.1.6", "bundled": true, "optional": true, "requires": { @@ -6628,7 +7050,7 @@ } }, "ignore-walk": { - "version": "3.0.1", + "version": "3.0.3", "bundled": true, "optional": true, "requires": { @@ -6645,7 +7067,7 @@ } }, "inherits": { - "version": "2.0.3", + "version": "2.0.4", "bundled": true, "optional": true }, @@ -6681,7 +7103,7 @@ "optional": true }, "minipass": { - "version": "2.3.5", + "version": "2.9.0", "bundled": true, "optional": true, "requires": { @@ -6690,11 +7112,11 @@ } }, "minizlib": { - "version": "1.2.1", + "version": "1.3.3", "bundled": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.9.0" } }, "mkdirp": { @@ -6706,22 +7128,22 @@ } }, "ms": { - "version": "2.1.1", + "version": "2.1.2", "bundled": true, "optional": true }, "needle": { - "version": "2.3.0", + "version": "2.4.0", "bundled": true, "optional": true, "requires": { - "debug": "^4.1.0", + "debug": "^3.2.6", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.12.0", + "version": "0.14.0", "bundled": true, "optional": true, "requires": { @@ -6734,7 +7156,7 @@ "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", - "tar": "^4" + "tar": "^4.4.2" } }, "nopt": { @@ -6747,12 +7169,20 @@ } }, "npm-bundled": { - "version": "1.0.6", + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", "bundled": true, "optional": true }, "npm-packlist": { - "version": "1.4.1", + "version": "1.4.7", "bundled": true, "optional": true, "requires": { @@ -6814,7 +7244,7 @@ "optional": true }, "process-nextick-args": { - "version": "2.0.0", + "version": "2.0.1", "bundled": true, "optional": true }, @@ -6851,7 +7281,7 @@ } }, "rimraf": { - "version": "2.6.3", + "version": "2.7.1", "bundled": true, "optional": true, "requires": { @@ -6874,7 +7304,7 @@ "optional": true }, "semver": { - "version": "5.7.0", + "version": "5.7.1", "bundled": true, "optional": true }, @@ -6920,17 +7350,17 @@ "optional": true }, "tar": { - "version": "4.4.8", + "version": "4.4.13", "bundled": true, "optional": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "yallist": "^3.0.3" } }, "util-deprecate": { @@ -6952,7 +7382,7 @@ "optional": true }, "yallist": { - "version": "3.0.3", + "version": "3.1.1", "bundled": true, "optional": true } @@ -6969,153 +7399,146 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "gatsby": { - "version": "2.13.73", - "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.13.73.tgz", - "integrity": "sha512-5zehGv6BGwOGpa/cX+QST/IH1jN3ebygcXMvb26S0ZoJGxIZyTY9jwGVYQtraoGP7XdQaAh24DF7htuqpjcGhA==", + "version": "2.18.18", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.18.18.tgz", + "integrity": "sha512-+XH0eLlGfe2+ziIMnDSklf2628zjR2Emej3CdOoW1gHQ/fhpbrZLcuNpPrekW0fE+tQyTS8vDPHsIE0FDSsVRw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/parser": "^7.0.0", - "@babel/polyfill": "^7.0.0", - "@babel/runtime": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@gatsbyjs/relay-compiler": "2.0.0-printer-fix.2", + "@babel/code-frame": "^7.5.5", + "@babel/core": "^7.7.5", + "@babel/parser": "^7.7.5", + "@babel/polyfill": "^7.7.0", + "@babel/runtime": "^7.7.6", + "@babel/traverse": "^7.7.4", "@hapi/joi": "^15.1.1", "@mikaelkristiansson/domready": "^1.0.9", "@pieh/friendly-errors-webpack-plugin": "1.7.0-chalk-2", "@reach/router": "^1.2.1", - "address": "1.1.0", - "autoprefixer": "^9.6.1", + "@typescript-eslint/eslint-plugin": "^2.11.0", + "@typescript-eslint/parser": "^2.11.0", + "address": "1.1.2", + "autoprefixer": "^9.7.3", "axios": "^0.19.0", "babel-core": "7.0.0-bridge.0", - "babel-eslint": "^9.0.0", - "babel-loader": "^8.0.0", + "babel-eslint": "^10.0.3", + "babel-loader": "^8.0.6", "babel-plugin-add-module-exports": "^0.3.3", - "babel-plugin-dynamic-import-node": "^1.2.0", - "babel-plugin-remove-graphql-queries": "^2.7.3", - "babel-preset-gatsby": "^0.2.10", - "better-opn": "0.1.4", + "babel-plugin-dynamic-import-node": "^2.3.0", + "babel-plugin-remove-graphql-queries": "^2.7.19", + "babel-preset-gatsby": "^0.2.26", + "better-opn": "1.0.0", "better-queue": "^3.8.10", - "bluebird": "^3.5.0", + "bluebird": "^3.7.2", "browserslist": "3.2.8", - "cache-manager": "^2.9.0", + "cache-manager": "^2.10.1", "cache-manager-fs-hash": "^0.0.7", - "chalk": "^2.3.2", - "chokidar": "2.1.6", - "common-tags": "^1.4.0", + "chalk": "^2.4.2", + "chokidar": "3.3.0", + "common-tags": "^1.8.0", "compression": "^1.7.4", - "convert-hrtime": "^2.0.0", - "copyfiles": "^1.2.0", - "core-js": "^2.5.0", + "convert-hrtime": "^3.0.0", + "copyfiles": "^2.1.1", + "core-js": "^2.6.11", "cors": "^2.8.5", - "css-loader": "^1.0.0", - "debug": "^3.1.0", - "del": "^3.0.0", - "detect-port": "^1.2.1", + "css-loader": "^1.0.1", + "debug": "^3.2.6", + "del": "^5.1.0", + "detect-port": "^1.3.0", "devcert-san": "^0.3.3", - "dotenv": "^4.0.0", - "eslint": "^5.6.0", - "eslint-config-react-app": "^3.0.0", - "eslint-loader": "^2.1.0", - "eslint-plugin-flowtype": "^2.46.1", - "eslint-plugin-graphql": "^3.0.3", - "eslint-plugin-import": "^2.9.0", - "eslint-plugin-jsx-a11y": "^6.0.3", - "eslint-plugin-react": "^7.8.2", - "event-source-polyfill": "^1.0.5", - "express": "^4.16.3", - "express-graphql": "^0.7.1", + "dotenv": "^8.2.0", + "eslint": "^6.7.2", + "eslint-config-react-app": "^5.1.0", + "eslint-loader": "^2.2.1", + "eslint-plugin-flowtype": "^3.13.0", + "eslint-plugin-graphql": "^3.1.0", + "eslint-plugin-import": "^2.19.1", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-react": "^7.17.0", + "eslint-plugin-react-hooks": "^1.7.0", + "event-source-polyfill": "^1.0.11", + "express": "^4.17.1", + "express-graphql": "^0.9.0", "fast-levenshtein": "^2.0.6", "file-loader": "^1.1.11", - "flat": "^4.0.0", + "flat": "^4.1.0", "fs-exists-cached": "1.0.0", - "fs-extra": "^5.0.0", - "gatsby-cli": "^2.7.34", - "gatsby-core-utils": "^1.0.5", - "gatsby-graphiql-explorer": "^0.2.4", - "gatsby-link": "^2.2.6", - "gatsby-plugin-page-creator": "^2.1.7", - "gatsby-react-router-scroll": "^2.1.4", - "gatsby-telemetry": "^1.1.15", - "glob": "^7.1.1", - "got": "8.0.0", - "graphql": "^14.4.2", - "graphql-compose": "^6.3.2", - "graphql-playground-middleware-express": "^1.7.10", + "fs-extra": "^8.1.0", + "gatsby-cli": "^2.8.23", + "gatsby-core-utils": "^1.0.25", + "gatsby-graphiql-explorer": "^0.2.31", + "gatsby-link": "^2.2.27", + "gatsby-plugin-page-creator": "^2.1.37", + "gatsby-react-router-scroll": "^2.1.19", + "gatsby-telemetry": "^1.1.46", + "glob": "^7.1.6", + "got": "8.3.2", + "graphql": "^14.5.8", + "graphql-compose": "^6.3.7", + "graphql-playground-middleware-express": "^1.7.12", "invariant": "^2.2.4", "is-relative": "^1.0.0", - "is-relative-url": "^2.0.0", - "is-wsl": "^1.1.0", - "jest-worker": "^23.2.0", + "is-relative-url": "^3.0.0", + "is-wsl": "^2.1.1", + "jest-worker": "^24.9.0", "json-loader": "^0.5.7", "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.14", - "lokijs": "^1.5.7", + "lodash": "^4.17.15", + "lokijs": "^1.5.8", "md5": "^2.2.1", - "md5-file": "^3.1.1", + "md5-file": "^3.2.3", "micromatch": "^3.1.10", - "mime": "^2.2.0", - "mini-css-extract-plugin": "^0.4.0", - "mitt": "^1.1.2", + "mime": "^2.4.4", + "mini-css-extract-plugin": "^0.8.0", + "mitt": "^1.2.0", "mkdirp": "^0.5.1", - "moment": "^2.21.0", + "moment": "^2.24.0", "name-all-modules-plugin": "^1.0.1", "normalize-path": "^2.1.1", "null-loader": "^0.1.1", - "opentracing": "^0.14.3", - "optimize-css-assets-webpack-plugin": "^5.0.1", - "parseurl": "^1.3.2", + "opentracing": "^0.14.4", + "optimize-css-assets-webpack-plugin": "^5.0.3", + "parseurl": "^1.3.3", "physical-cpu-count": "^2.0.0", - "pnp-webpack-plugin": "^1.4.1", - "postcss-flexbugs-fixes": "^3.0.0", - "postcss-loader": "^2.1.3", - "prop-types": "^15.6.1", + "pnp-webpack-plugin": "^1.5.0", + "postcss-flexbugs-fixes": "^3.3.1", + "postcss-loader": "^2.1.6", + "prompts": "^2.3.0", + "prop-types": "^15.7.2", "raw-loader": "^0.5.1", "react-dev-utils": "^4.2.3", "react-error-overlay": "^3.0.0", - "react-hot-loader": "^4.12.11", - "redux": "^4.0.0", + "react-hot-loader": "^4.12.18", + "redux": "^4.0.4", "redux-thunk": "^2.3.0", - "semver": "^5.6.0", + "semver": "^5.7.1", "shallow-compare": "^1.2.2", "sift": "^5.1.0", "signal-exit": "^3.0.2", - "slash": "^1.0.0", - "socket.io": "^2.0.3", + "slugify": "^1.3.6", + "socket.io": "^2.3.0", "stack-trace": "^0.0.10", - "string-similarity": "^1.2.0", - "style-loader": "^0.21.0", - "terser-webpack-plugin": "1.2.4", + "string-similarity": "^1.2.2", + "style-loader": "^0.23.1", + "terser-webpack-plugin": "^1.4.2", "true-case-path": "^2.2.1", "type-of": "^2.0.1", - "url-loader": "^1.0.1", + "url-loader": "^1.1.2", "util.promisify": "^1.0.0", - "uuid": "^3.1.0", - "v8-compile-cache": "^1.1.0", - "webpack": "~4.28.4", - "webpack-dev-middleware": "^3.0.1", - "webpack-dev-server": "^3.1.14", - "webpack-hot-middleware": "^2.21.0", - "webpack-merge": "^4.1.0", - "webpack-stats-plugin": "^0.1.5", - "xstate": "^4.3.2", + "uuid": "^3.3.3", + "v8-compile-cache": "^1.1.2", + "webpack": "~4.41.2", + "webpack-dev-middleware": "^3.7.2", + "webpack-dev-server": "^3.9.0", + "webpack-hot-middleware": "^2.25.0", + "webpack-merge": "^4.2.2", + "webpack-stats-plugin": "^0.3.0", + "xstate": "^4.7.2", "yaml-loader": "^0.5.0" }, "dependencies": { - "acorn": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", - "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==" - }, "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, "cliui": { "version": "4.1.0", @@ -7127,11 +7550,6 @@ "wrap-ansi": "^2.0.0" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -7143,348 +7561,254 @@ } }, "configstore": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", - "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.0.tgz", + "integrity": "sha512-eE/hvMs7qw7DlcB5JPRnthmrITuHMmACUJAp89v6PT6iOqzoLS7HRWhBtuHMlhNHo2AhUSA/3Dh1bKNJHcublQ==", "requires": { - "dot-prop": "^4.1.0", + "dot-prop": "^5.1.0", "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" - } - }, - "eslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.3", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.13.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" } }, - "espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "requires": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - } + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" }, - "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "ms": "^2.1.1" } }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", "requires": { - "locate-path": "^3.0.0" + "is-obj": "^2.0.0" } }, "gatsby-cli": { - "version": "2.7.34", - "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.7.34.tgz", - "integrity": "sha512-kc7+ne7cGC74KOv7dBmLC19m2nwYBsLoPZdX3qj9YLDjWsXR/GGGGU48eyADYY1gVpJacaMqk0Lu3dNbsfZBwQ==", + "version": "2.8.23", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.8.23.tgz", + "integrity": "sha512-e/ImmpW8dzZcmjeTqHaOhvr9gxNXPUE6MCLnl34yWlQwm2iMOWp86qhRvba5GfG6NJ2AX070JPYnkbO6RP5i5A==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/runtime": "^7.0.0", + "@babel/code-frame": "^7.5.5", + "@babel/runtime": "^7.7.6", "@hapi/joi": "^15.1.1", - "better-opn": "^0.1.4", - "bluebird": "^3.5.0", + "better-opn": "^1.0.0", + "bluebird": "^3.7.2", "chalk": "^2.4.2", - "ci-info": "^2.0.0", - "clipboardy": "^1.2.3", - "common-tags": "^1.4.0", - "configstore": "^4.0.0", - "convert-hrtime": "^2.0.0", - "core-js": "^2.5.0", - "envinfo": "^5.8.1", - "execa": "^0.8.0", + "clipboardy": "^2.1.0", + "common-tags": "^1.8.0", + "configstore": "^5.0.0", + "convert-hrtime": "^3.0.0", + "core-js": "^2.6.11", + "envinfo": "^7.5.0", + "execa": "^3.4.0", "fs-exists-cached": "^1.0.0", - "fs-extra": "^4.0.1", - "gatsby-telemetry": "^1.1.15", - "hosted-git-info": "^2.6.0", - "ink": "^2.3.0", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.0.25", + "gatsby-telemetry": "^1.1.46", + "hosted-git-info": "^3.0.2", + "ink": "^2.6.0", "ink-spinner": "^3.0.1", "is-valid-path": "^0.1.1", - "lodash": "^4.17.14", + "lodash": "^4.17.15", "meant": "^1.0.1", "node-fetch": "^2.6.0", "object.entries": "^1.1.0", - "opentracing": "^0.14.3", + "opentracing": "^0.14.4", "pretty-error": "^2.1.1", "progress": "^2.0.3", - "prompts": "^2.1.0", - "react": "^16.8.4", + "prompts": "^2.3.0", + "react": "^16.12.0", + "redux": "^4.0.4", "resolve-cwd": "^2.0.0", "semver": "^6.3.0", - "source-map": "0.5.7", + "signal-exit": "^3.0.2", + "source-map": "0.7.3", "stack-trace": "^0.0.10", "strip-ansi": "^5.2.0", - "update-notifier": "^2.3.0", - "uuid": "3.3.2", + "update-notifier": "^3.0.1", + "uuid": "3.3.3", "yargs": "^12.0.5", - "yurnalist": "^1.0.5" + "yurnalist": "^1.1.1" }, "dependencies": { - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" } } }, - "import-fresh": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", - "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "hosted-git-info": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.2.tgz", + "integrity": "sha512-ezZMWtHXm7Eb7Rq4Mwnx2vs79WUx2QmRg3+ZqeGroKzfDO+EprOcgRPYghsOP9JuYBfK18VojmRTGCg8Ma+ktw==", "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "lru-cache": "^5.1.1" } }, - "invert-kv": { + "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, - "lcid": { + "is-obj": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "requires": { - "invert-kv": "^2.0.0" - } + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "yallist": "^3.0.2" } }, "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "requires": { - "pify": "^3.0.0" - } - }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, "node-fetch": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "ansi-regex": "^3.0.0" } + } + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "v8-compile-cache": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz", + "integrity": "sha512-ejdrifsIydN1XDH7EuR2hn8ZrkRKUYF7tUcBjBy/lhrCvs2K+zRlbW9UHc0IQ9RsYFZJFqJrieoIHfkCa0DBRA==" + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, - "execa": { + "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "number-is-nan": "^1.0.0" } }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "pump": "^3.0.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" } } } }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "write-file-atomic": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.1.tgz", + "integrity": "sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw==", "requires": { - "p-limit": "^2.0.0" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "resolve-from": { + "xdg-basedir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "yargs": { "version": "12.0.5", @@ -7517,70 +7841,64 @@ } }, "gatsby-core-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-1.0.5.tgz", - "integrity": "sha512-XRyZMduCP3yvV8AEKI4sAVWT+M1roW20SWhQwOKtZrYIkMCzlOe9nMOjNOZcJb2vCJsaUBxh2fxLT+OZg8+25A==" + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-1.0.25.tgz", + "integrity": "sha512-Pz5xueweH9qv5TIW7wwlTxI/CbyzkiE5xvgLicbHbU+InH+lCNt4VuvGP1gQcIRuHMCIbuVKSiVCC7jnxEbtrA==", + "requires": { + "ci-info": "2.0.0", + "node-object-hash": "^2.0.0" + } }, "gatsby-graphiql-explorer": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-0.2.4.tgz", - "integrity": "sha512-2e1HnBuC06L9LInA5mNKyiuaiUEnnRfpedGuuvNFR3nu8+7Q9OwVXuE3EcbWihtjiINyZH7HHD7Za0WRZV6SkQ==", + "version": "0.2.31", + "resolved": "https://registry.npmjs.org/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-0.2.31.tgz", + "integrity": "sha512-pAK/HG/Ryw2ZDWb/5rnSBmPf8KsnFGlO/zS9m2IdLjnQS0kA0b9UbfZ5bjkg7pwPPLhWilEX+uON0l51N4gnmg==", "requires": { - "@babel/runtime": "^7.0.0" + "@babel/runtime": "^7.7.6" } }, "gatsby-image": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/gatsby-image/-/gatsby-image-2.2.10.tgz", - "integrity": "sha512-wvbxqYWxg7te7ui6RjCgohcVTvcI1b0PBZNor548Flg/0h+oSGnUXVDkz9HO8uS/vWlIbMpXonRxvnZCGu1Y8A==", + "version": "2.2.37", + "resolved": "https://registry.npmjs.org/gatsby-image/-/gatsby-image-2.2.37.tgz", + "integrity": "sha512-nm1PgitbK4ZR9YQ3mTlAXDXXNM/7JT2LYDFqTlWe1y78nhA6RfIfm+4bsNH5HCEUaYhZiedpkqguJiIYWYPsLg==", "requires": { - "@babel/runtime": "^7.0.0", + "@babel/runtime": "^7.7.6", "object-fit-images": "^3.2.4", - "prop-types": "^15.6.1" + "prop-types": "^15.7.2" } }, "gatsby-link": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/gatsby-link/-/gatsby-link-2.2.6.tgz", - "integrity": "sha512-FnQ4Z+a5KDmAIoipfGqtELZ/WPB0W67I/jo4ekOPwEu14t6N/VWdTS0mOdJoNCeElNvnJ7cNqlNnEopdU4vbKw==", + "version": "2.2.27", + "resolved": "https://registry.npmjs.org/gatsby-link/-/gatsby-link-2.2.27.tgz", + "integrity": "sha512-Jiz6ShReB25plqTKsTAVpfFvN1K/JziNhr1z8Q6p+dPzQaNWfEC61kpRKE69J1WWycvRdxCSZEkOgY/0nlAifg==", "requires": { - "@babel/runtime": "^7.0.0", - "@types/reach__router": "^1.2.4", - "prop-types": "^15.6.1" + "@babel/runtime": "^7.7.6", + "@types/reach__router": "^1.2.6", + "prop-types": "^15.7.2" } }, "gatsby-page-utils": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/gatsby-page-utils/-/gatsby-page-utils-0.0.7.tgz", - "integrity": "sha512-WhZj+VvxWCWU/JRiVFg0SJCXSAnsMz3ABpMJxQv2ByUB0gUUFG90my4oYNEZKuY+mRMKyRiVoexQVuQcnAnoGA==", + "version": "0.0.36", + "resolved": "https://registry.npmjs.org/gatsby-page-utils/-/gatsby-page-utils-0.0.36.tgz", + "integrity": "sha512-W+9+PdEWKCxO5cEr8D3F0vyN2sDLeoSwROwiuO+J791HHUj+HgnDzRAt97WjBwcD4ghT+ONs5Ao2WyR+bVrIzw==", "requires": { - "@babel/runtime": "^7.0.0", - "bluebird": "^3.5.0", - "chokidar": "2.1.6", + "@babel/runtime": "^7.7.6", + "bluebird": "^3.7.2", + "chokidar": "3.3.0", "fs-exists-cached": "^1.0.0", - "glob": "^7.1.1", - "lodash": "^4.17.14", - "micromatch": "^3.1.10", - "slash": "^1.0.0" + "gatsby-core-utils": "^1.0.25", + "glob": "^7.1.6", + "lodash": "^4.17.15", + "micromatch": "^3.1.10" } }, "gatsby-plugin-catch-links": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/gatsby-plugin-catch-links/-/gatsby-plugin-catch-links-2.1.9.tgz", - "integrity": "sha512-UWOty2yuV2tINSv5ToKJfFXUYtaSKtP4zRVeZ3dx+m2v7WO61ap/o3JEMWUAG1n+VaN+TIq2T5Qc9Ln0emDloQ==", + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/gatsby-plugin-catch-links/-/gatsby-plugin-catch-links-2.1.21.tgz", + "integrity": "sha512-AHsSVbb4PgdFlbVk4ZmwcJ9UETzYcGqh9Otzk1XeGRFra7msUoB4sCZIUTqSow+sThaHiO/hYgkcGfOlLIrD5g==", "requires": { - "@babel/runtime": "^7.6.0", + "@babel/runtime": "^7.7.6", "escape-string-regexp": "^1.0.5" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.0.tgz", - "integrity": "sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ==", - "requires": { - "regenerator-runtime": "^0.13.2" - } - } } }, "gatsby-plugin-ipfs": { @@ -7593,6 +7911,65 @@ "p-map": "^2.0.0" }, "dependencies": { + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, "globby": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", @@ -7617,22 +7994,42 @@ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "^3.0.0" + } + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" } } }, "gatsby-plugin-manifest": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.2.6.tgz", - "integrity": "sha512-QjOKUOrtwbmiXBAcFi0uvzQEGJa5PELXriJjXNuDmn++72sCybgoluOrY4Ajed+WUf82865RIXq58isK3Dmmgw==", - "requires": { - "@babel/runtime": "^7.0.0", - "gatsby-core-utils": "^1.0.5", - "semver": "^5.6.0", - "sharp": "^0.22.1" + "version": "2.2.34", + "resolved": "https://registry.npmjs.org/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.2.34.tgz", + "integrity": "sha512-Jo6fXZpJ/QSejrSj9BTfRNikVDjx9FuuKzT4w7il8I6qKtnM4z/lYOIMxRWkAdlK7dj+fpUlbTeClWjhlKRWAQ==", + "requires": { + "@babel/runtime": "^7.7.6", + "gatsby-core-utils": "^1.0.25", + "semver": "^5.7.1", + "sharp": "^0.23.4" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, "gatsby-plugin-no-sourcemaps": { @@ -7641,36 +8038,30 @@ "integrity": "sha512-IaRscMdXD8AFr922HlgftxN09gqmjsA1/RHuLgtJcv+bYhoGGs83XvSOrOq8Szs+5rLEixj3qdNJb59G0LnO8w==" }, "gatsby-plugin-offline": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-2.2.7.tgz", - "integrity": "sha512-AbX4kAEy8j+8P/kBITdzv/8JR1R+Lt5pAE49ICIzwb7tZDQB7fJisOSc1PGihhQTLuy+ppj9XJDgNhh205lETQ==", - "requires": { - "@babel/runtime": "^7.0.0", - "cheerio": "^1.0.0-rc.2", - "idb-keyval": "^3.1.0", - "lodash": "^4.17.14", - "slash": "^3.0.0", - "workbox-build": "^3.6.3" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } + "version": "3.0.30", + "resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-3.0.30.tgz", + "integrity": "sha512-aqv70nWayyjD88kre8mtDJ/AURQJYw8TScsqx9t+G64RgRtp/HTx5qVWdB9ab5NjJUjIFK474Lvjh9bpBPwTvg==", + "requires": { + "@babel/runtime": "^7.7.6", + "cheerio": "^1.0.0-rc.3", + "gatsby-core-utils": "^1.0.25", + "glob": "^7.1.6", + "idb-keyval": "^3.2.0", + "lodash": "^4.17.15", + "workbox-build": "^4.3.1" } }, "gatsby-plugin-page-creator": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.1.7.tgz", - "integrity": "sha512-2iRy0kLuAPcVev1VIv9eI05UKe3riiaVd5GMosAaGNI4oUJ9+LiPfXks3kWBSIqwRWv9CyCA6/GhOaVFjrzLLQ==", + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.1.37.tgz", + "integrity": "sha512-EsHDgT4hQx9Zxqf6zUIP9qQh+0Wk1tPyiJtPRADY1jkzwu2dAidJkaUtH4XR8BExhjZ9xYB5uDliSNrGkZg7fw==", "requires": { - "@babel/runtime": "^7.0.0", - "bluebird": "^3.5.0", + "@babel/runtime": "^7.7.6", + "bluebird": "^3.7.2", "fs-exists-cached": "^1.0.0", - "gatsby-page-utils": "^0.0.7", - "glob": "^7.1.1", - "lodash": "^4.17.14", + "gatsby-page-utils": "^0.0.36", + "glob": "^7.1.6", + "lodash": "^4.17.15", "micromatch": "^3.1.10" } }, @@ -7689,29 +8080,45 @@ "object-hash": "^1.3.0" }, "dependencies": { - "download": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", - "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "archive-type": "^4.0.0", - "caw": "^2.0.1", - "content-disposition": "^0.5.2", - "decompress": "^4.2.0", - "ext-name": "^5.0.0", - "file-type": "^8.1.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^8.3.1", - "make-dir": "^1.2.0", - "p-event": "^2.1.0", - "pify": "^3.0.0" + "array-uniq": "^1.0.1" } }, - "file-type": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", - "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } }, "fs-extra": { "version": "7.0.1", @@ -7723,6 +8130,25 @@ "universalify": "^0.1.0" } }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, "globby": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", @@ -7737,175 +8163,17 @@ "slash": "^1.0.0" } }, - "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - } - }, "ignore": { "version": "3.3.10", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "requires": { - "pify": "^3.0.0" - } - }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" - }, - "p-event": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", - "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", - "requires": { - "p-timeout": "^2.0.1" - } - }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "requires": { - "p-finally": "^1.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - }, - "url-parse-lax": { + "path-type": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "requires": { - "prepend-http": "^2.0.0" - } - } - } - }, - "gatsby-plugin-react-helmet": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.1.4.tgz", - "integrity": "sha512-L+nP4cv6zdxjKXN9eJJdni7JpPCCSN1V+KWBgID0FELKawFGegkI6zdvKhtBZHz5F+WHh+ak/qfOAYIuLO0eHA==", - "requires": { - "@babel/runtime": "^7.0.0" - } - }, - "gatsby-plugin-root-import": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/gatsby-plugin-root-import/-/gatsby-plugin-root-import-2.0.5.tgz", - "integrity": "sha512-/yA6rFjfjiFb8D6nCjfFrrGqYQMkOt4J3u2o6s7VYEF/zpA5dw2C9ENJ5fDKkJSCbbwLiEIGVMMee3vMEip2zA==" - }, - "gatsby-plugin-sharp": { - "version": "2.2.13", - "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.2.13.tgz", - "integrity": "sha512-Wzvwty3ho0T3FSFLDHGAf5D87hvqTsRvphnSP38HGFw0tHAbNtbJSrqr/HA1P5x7Cah4j5duQg4TNH6qtlkAZg==", - "requires": { - "@babel/runtime": "^7.0.0", - "async": "^2.6.3", - "bluebird": "^3.5.0", - "fs-extra": "^7.0.0", - "gatsby-core-utils": "^1.0.5", - "got": "^8.3.2", - "imagemin": "^6.0.0", - "imagemin-mozjpeg": "^8.0.0", - "imagemin-pngquant": "^6.0.0", - "imagemin-webp": "^5.0.0", - "lodash": "^4.17.14", - "mini-svg-data-uri": "^1.0.0", - "potrace": "^2.1.1", - "probe-image-size": "^4.0.0", - "progress": "^2.0.3", - "semver": "^5.6.0", - "sharp": "^0.22.1", - "svgo": "^1.2.0" - }, - "dependencies": { - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "requires": { - "lodash": "^4.17.14" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - } - }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" - }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "p-finally": "^1.0.0" + "pify": "^3.0.0" } }, "pify": { @@ -7913,191 +8181,144 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "requires": { - "prepend-http": "^2.0.0" - } + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" } } }, - "gatsby-plugin-styled-components": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/gatsby-plugin-styled-components/-/gatsby-plugin-styled-components-3.1.11.tgz", - "integrity": "sha512-10RgU3FcXNctDfFHpiAKQOmYBZlbeZSOfG1mqjWjz/BmYqkLoIaQfTwEMmBpH40DGf72pG2PUOGoDVDrikPKOA==", + "gatsby-plugin-react-helmet": { + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.1.18.tgz", + "integrity": "sha512-wwKH6Z5NK0Gl2hDfMnWNGE41GjWpZGq0eKczPydTJc/1SbPykBFCBrjYgrAPB2ZrRnA8AV06cRwPddJC0mY7sw==", "requires": { - "@babel/runtime": "^7.6.3" + "@babel/runtime": "^7.7.6" + } + }, + "gatsby-plugin-root-import": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/gatsby-plugin-root-import/-/gatsby-plugin-root-import-2.0.5.tgz", + "integrity": "sha512-/yA6rFjfjiFb8D6nCjfFrrGqYQMkOt4J3u2o6s7VYEF/zpA5dw2C9ENJ5fDKkJSCbbwLiEIGVMMee3vMEip2zA==" + }, + "gatsby-plugin-sharp": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.3.10.tgz", + "integrity": "sha512-uoVLdSnnrnpWxeI+ZNdQ7nuvx60LI8+nqsuUu0KfyAmEhNgcuuExTDYlM4WDn1BCIifCylTwBBTP0xZU4YvPeA==", + "requires": { + "@babel/runtime": "^7.7.6", + "async": "^2.6.3", + "bluebird": "^3.7.2", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.0.25", + "got": "^8.3.2", + "imagemin": "^6.1.0", + "imagemin-mozjpeg": "^8.0.0", + "imagemin-pngquant": "^6.0.1", + "imagemin-webp": "^5.1.0", + "lodash": "^4.17.15", + "mini-svg-data-uri": "^1.1.3", + "p-defer": "^3.0.0", + "potrace": "^2.1.2", + "probe-image-size": "^4.1.1", + "progress": "^2.0.3", + "semver": "^5.7.1", + "sharp": "^0.23.4", + "svgo": "1.3.2", + "uuid": "^3.3.3" }, "dependencies": { - "@babel/runtime": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.3.tgz", - "integrity": "sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA==", + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "requires": { - "regenerator-runtime": "^0.13.2" + "lodash": "^4.17.14" } + }, + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, + "gatsby-plugin-styled-components": { + "version": "3.1.16", + "resolved": "https://registry.npmjs.org/gatsby-plugin-styled-components/-/gatsby-plugin-styled-components-3.1.16.tgz", + "integrity": "sha512-ixvMwMCYm70iC23+zkMBmQPNX0UmmumzK+1TtK3LSYicdaXXz7dychaBdiljKD4WMNraXYx49JuZS01yjOZiOw==", + "requires": { + "@babel/runtime": "^7.7.6" + } + }, "gatsby-react-router-scroll": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/gatsby-react-router-scroll/-/gatsby-react-router-scroll-2.1.4.tgz", - "integrity": "sha512-p9HQ2GrIVmKL3UAk7jqKzOXaigj6tu1xQPAGguO+5+i5ZfD245TQq1UAj1bZr0dJ1DJqRLbTooxPiL7+K05pVg==", + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/gatsby-react-router-scroll/-/gatsby-react-router-scroll-2.1.19.tgz", + "integrity": "sha512-qK6kE48Efzf8zOsmRw6UiZH7VXuv4ti6taGu5je1D9IGDgMpETKXRA0jmKB1up50XQ4WXvyyLASOqWK3UdDNYw==", "requires": { - "@babel/runtime": "^7.0.0", - "scroll-behavior": "^0.9.9", + "@babel/runtime": "^7.7.6", + "scroll-behavior": "^0.9.10", "warning": "^3.0.0" } }, "gatsby-remark-autolink-headers": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/gatsby-remark-autolink-headers/-/gatsby-remark-autolink-headers-2.1.10.tgz", - "integrity": "sha512-MXQuxgTurOXMYi3Rpywz2kMe4Px/H3B2OBy5ZphL9WwOFfaiRK10GkRNMNlHSDNA0K5151PnuSd5mKxLOCxbYw==", + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/gatsby-remark-autolink-headers/-/gatsby-remark-autolink-headers-2.1.22.tgz", + "integrity": "sha512-YkqgbLv4CovkqDMG7Mq/RYjkZud6O79pG131TLmaLZmQkcESwZuzzpNxuaD9snIkth+UwUx1RAso207vN0yRVg==", "requires": { - "@babel/runtime": "^7.6.0", + "@babel/runtime": "^7.7.6", "github-slugger": "^1.2.1", "lodash": "^4.17.15", - "mdast-util-to-string": "^1.0.6", + "mdast-util-to-string": "^1.0.7", "unist-util-visit": "^1.4.1" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.0.tgz", - "integrity": "sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ==", - "requires": { - "regenerator-runtime": "^0.13.2" - } - } } }, "gatsby-remark-prismjs": { - "version": "3.3.13", - "resolved": "https://registry.npmjs.org/gatsby-remark-prismjs/-/gatsby-remark-prismjs-3.3.13.tgz", - "integrity": "sha512-m5EIH2D1PE6kpqaPbas8cd85rIdXoux5Q3FUo5gkKkiBefdTt3Kk1kA2eW/qzEs8hovHWmRigFzA/HsvK8A1/A==", + "version": "3.3.29", + "resolved": "https://registry.npmjs.org/gatsby-remark-prismjs/-/gatsby-remark-prismjs-3.3.29.tgz", + "integrity": "sha512-aF7gu+hfW1075nZNDTLo/88GiELaeeLiWLRKHghGql2FBaOszP/HuTBZCV0KaxRb5rGq8Pwdo1KO+wbkL9qYtw==", "requires": { - "@babel/runtime": "^7.6.0", + "@babel/runtime": "^7.7.6", "parse-numeric-range": "^0.0.2", "unist-util-visit": "^1.4.1" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.0.tgz", - "integrity": "sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ==", - "requires": { - "regenerator-runtime": "^0.13.2" - } - } } }, "gatsby-source-filesystem": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/gatsby-source-filesystem/-/gatsby-source-filesystem-2.1.21.tgz", - "integrity": "sha512-CYkj95vp6kNcO/UFYCYmJ78djJZAX1zO2hQyptFNRhto4J5SWB7Zy8Jc0r7sCitMeakfvNOT72y3r7LjcA0dNw==", + "version": "2.1.43", + "resolved": "https://registry.npmjs.org/gatsby-source-filesystem/-/gatsby-source-filesystem-2.1.43.tgz", + "integrity": "sha512-lmq64xMgHE6cXwLgddogcx2THPsMCia/HivWRGK6DCJhCOXDbkWSiNYthpMIgZXkfsGaYFiVjxRZSSn1QVOU9g==", "requires": { - "@babel/runtime": "^7.5.5", + "@babel/runtime": "^7.7.6", "better-queue": "^3.8.10", - "bluebird": "^3.5.5", - "chokidar": "3.0.2", - "file-type": "^12.3.0", + "bluebird": "^3.7.2", + "chokidar": "3.3.0", + "file-type": "^12.4.0", "fs-extra": "^8.1.0", - "gatsby-core-utils": "^1.0.7", + "gatsby-core-utils": "^1.0.25", "got": "^7.1.0", "md5-file": "^3.2.3", "mime": "^2.4.4", - "pretty-bytes": "^4.0.2", + "pretty-bytes": "^5.3.0", "progress": "^2.0.3", "read-chunk": "^3.2.0", "valid-url": "^1.0.9", - "xstate": "^4.6.7" + "xstate": "^4.7.2" }, "dependencies": { - "anymatch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.0.tgz", - "integrity": "sha512-Ozz7l4ixzI7Oxj2+cw+p0tVUt27BpaJ+1+q1TCeANWxHpvyn2+Un+YamBdfKu0uh8xLodGhoa1v7595NhKDAuA==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "chokidar": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz", - "integrity": "sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==", - "requires": { - "anymatch": "^3.0.1", - "braces": "^3.0.2", - "fsevents": "^2.0.6", - "glob-parent": "^5.0.0", - "is-binary-path": "^2.1.0", - "is-glob": "^4.0.1", - "normalize-path": "^3.0.0", - "readdirp": "^3.1.1" - } - }, "file-type": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.3.0.tgz", - "integrity": "sha512-4E4Esq9KLwjYCY32E7qSmd0h7LefcniZHX+XcdJ4Wfx1uGJX7QCigiqw/U0yT7WOslm28yhxl87DJ0wHYv0RAA==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==" }, - "fsevents": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz", - "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==", - "optional": true - }, - "gatsby-core-utils": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-1.0.7.tgz", - "integrity": "sha512-G4C/n8tzZVUgs+nLs8Gho7OfgcOWsoKij6az25vCATC9daqrCh1R0ouInqCtIBk7pBim/jt7UAtlClXpp6HyqQ==" - }, - "glob-parent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", - "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", - "requires": { - "is-glob": "^4.0.1" - } + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, "got": { "version": "7.1.0", @@ -8120,155 +8341,159 @@ "url-to-options": "^1.0.1" } }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" }, - "readdirp": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.2.tgz", - "integrity": "sha512-8rhl0xs2cxfVsqzreYCvs8EwBfn/DhVdqtoLmw19uI3SC5avYX9teCurlErfpPXGmYtMHReGaP2RsLnFvz/lnw==", + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", "requires": { - "picomatch": "^2.0.4" + "p-finally": "^1.0.0" } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "requires": { - "is-number": "^7.0.0" + "prepend-http": "^1.0.1" } } } }, "gatsby-telemetry": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-1.1.15.tgz", - "integrity": "sha512-EnKKEiIvqME9hlQRJZXp1V7xOQtgqGLRWHxcIYtRAYS5NJse6rPNnYXIRD3eZn8jXnuBB4kuUeatJLiTHxGbwQ==", + "version": "1.1.46", + "resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-1.1.46.tgz", + "integrity": "sha512-HFrrZc/mZtzt2DsMc34HZiIEHpaXt1kKcFZC6s3Q3KqkgUweCZMwE7N52jkhGA+c3aFOZU/D+CtyP9dWcrsM/Q==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/runtime": "^7.0.0", - "bluebird": "^3.5.0", - "boxen": "^3.2.0", - "ci-info": "2.0.0", - "configstore": "^4.0.0", - "envinfo": "^5.8.1", - "fs-extra": "^7.0.1", + "@babel/code-frame": "^7.5.5", + "@babel/runtime": "^7.7.6", + "bluebird": "^3.7.2", + "boxen": "^4.2.0", + "configstore": "^5.0.0", + "envinfo": "^7.5.0", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.0.25", "git-up": "4.0.1", - "is-docker": "1.1.0", - "lodash": "^4.17.14", - "node-fetch": "2.3.0", + "is-docker": "2.0.0", + "lodash": "^4.17.15", + "node-fetch": "2.6.0", "resolve-cwd": "^2.0.0", - "source-map": "^0.5.7", + "source-map": "^0.7.3", "stack-trace": "^0.0.10", "stack-utils": "1.0.2", - "uuid": "3.3.2" + "uuid": "3.3.3" }, "dependencies": { "configstore": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", - "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.0.tgz", + "integrity": "sha512-eE/hvMs7qw7DlcB5JPRnthmrITuHMmACUJAp89v6PT6iOqzoLS7HRWhBtuHMlhNHo2AhUSA/3Dh1bKNJHcublQ==", "requires": { - "dot-prop": "^4.1.0", + "dot-prop": "^5.1.0", "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" } }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "is-obj": "^2.0.0" } }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + }, "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", "requires": { - "pify": "^3.0.0" + "semver": "^6.0.0" } }, "node-fetch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", - "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.1.tgz", + "integrity": "sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" } } }, "gatsby-transformer-remark": { - "version": "2.6.22", - "resolved": "https://registry.npmjs.org/gatsby-transformer-remark/-/gatsby-transformer-remark-2.6.22.tgz", - "integrity": "sha512-WONmnxXJ86Ko9y7YgQRN+mVoHgv9nTd+IjgLyiuNDuMFKCAUrKSBpTVyqfv8AEYoovGFuaCx1gCp6aT6MKmyzQ==", + "version": "2.6.45", + "resolved": "https://registry.npmjs.org/gatsby-transformer-remark/-/gatsby-transformer-remark-2.6.45.tgz", + "integrity": "sha512-3oICZvZmQyecK+vGBpcLOuDMpJio2OsJEGnmEXlQuS0KOWALGvZCfu3sNu4ROHemEgwY8q5z7OANjqZVxIaloQ==", "requires": { - "@babel/runtime": "^7.6.0", - "bluebird": "^3.5.5", - "gatsby-core-utils": "^1.0.8", + "@babel/runtime": "^7.7.6", + "bluebird": "^3.7.2", + "gatsby-core-utils": "^1.0.25", "gray-matter": "^4.0.2", "hast-util-raw": "^4.0.0", "hast-util-to-html": "^4.0.1", "lodash": "^4.17.15", "mdast-util-to-hast": "^3.0.4", - "mdast-util-to-string": "^1.0.6", - "mdast-util-toc": "^2.1.0", + "mdast-util-to-string": "^1.0.7", + "mdast-util-toc": "^5.0", "remark": "^10.0.1", "remark-parse": "^6.0.3", "remark-retext": "^3.1.3", "remark-stringify": "^5.0.0", - "retext-english": "^3.0.3", + "retext-english": "^3.0.4", "sanitize-html": "^1.20.1", "underscore.string": "^3.3.5", "unified": "^6.2.0", - "unist-util-remove-position": "^1.1.3", + "unist-util-remove-position": "^1.1.4", "unist-util-select": "^1.5.0", "unist-util-visit": "^1.4.1" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.0.tgz", - "integrity": "sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ==", - "requires": { - "regenerator-runtime": "^0.13.2" - } - }, - "gatsby-core-utils": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-1.0.8.tgz", - "integrity": "sha512-080Jl8NamTbCGliKxXpMjEO1XUYU5FAow+VPR/j6hJk+Kl/gFmpE1mqa5QnHRGLZQhBP/h2T0mUwnSJn9m/Jsw==" - } } }, "gauge": { @@ -8286,6 +8511,19 @@ "wide-align": "^1.1.0" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -8295,18 +8533,26 @@ "is-fullwidth-code-point": "^1.0.0", "strip-ansi": "^3.0.0" } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } } } }, "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-own-enumerable-property-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz", - "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" }, "get-port": { "version": "3.2.0", @@ -8327,9 +8573,12 @@ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" }, "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } }, "get-urls": { "version": "8.0.0", @@ -8383,9 +8632,9 @@ } }, "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8396,22 +8645,11 @@ } }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } + "is-glob": "^4.0.1" } }, "glob-to-regexp": { @@ -8459,20 +8697,33 @@ } }, "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", + "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "requires": { + "type-fest": "^0.8.1" + } }, "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==" + } } }, "good-listener": { @@ -8504,32 +8755,26 @@ "follow-redirects": "1.5.10", "is-buffer": "^2.0.2" } - }, - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" } } }, "got": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/got/-/got-8.0.0.tgz", - "integrity": "sha512-lqVA9ORcSGfJPHfMXh1RW451aYMP1NyXivpGqGggnfDqNz3QVfMl7MkuEz+dr70gK2X8dhLiS5YzHhCV3/3yOQ==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", "requires": { + "@sindresorhus/is": "^0.7.0", "cacheable-request": "^2.1.1", "decompress-response": "^3.3.0", "duplexer3": "^0.1.4", "get-stream": "^3.0.0", "into-stream": "^3.1.0", - "is-plain-obj": "^1.1.0", "is-retry-allowed": "^1.1.0", - "is-stream": "^1.1.0", "isurl": "^1.0.0-alpha5", "lowercase-keys": "^1.0.0", "mimic-response": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.2.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", "pify": "^3.0.0", "safe-buffer": "^5.1.1", "timed-out": "^4.0.1", @@ -8537,30 +8782,76 @@ "url-to-options": "^1.0.1" }, "dependencies": { - "pify": { + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" + } + } + }, + "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" }, - "url-parse-lax": { + "keyv": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "requires": { - "prepend-http": "^2.0.0" + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" } + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" } } }, "graceful-fs": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", - "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" }, "graceful-readlink": { "version": "1.0.1", @@ -8568,17 +8859,17 @@ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" }, "graphql": { - "version": "14.4.2", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.4.2.tgz", - "integrity": "sha512-6uQadiRgnpnSS56hdZUSvFrVcQ6OF9y6wkxJfKquFtHlnl7+KSuWwSJsdwiK1vybm1HgcdbpGkCpvhvsVQ0UZQ==", + "version": "14.5.8", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.5.8.tgz", + "integrity": "sha512-MMwmi0zlVLQKLdGiMfWkgQD7dY/TUKt4L+zgJ/aR0Howebod3aNgP5JkgvAULiR2HPVZaP2VEElqtdidHweLkg==", "requires": { "iterall": "^1.2.2" } }, "graphql-compose": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/graphql-compose/-/graphql-compose-6.3.5.tgz", - "integrity": "sha512-XUpp7JqbaQ+vK/Nw4Jw0CQKs3UU8YFz3wpbBz+6WvPhrMkexco0bIbK4iGW9okQT7+/toAphEdVO4HFqM7lk2w==", + "version": "6.3.8", + "resolved": "https://registry.npmjs.org/graphql-compose/-/graphql-compose-6.3.8.tgz", + "integrity": "sha512-o0/jzQEMIpSjryLKwmD1vGrCubiPxD0LxlGTgWDSu38TBepu2GhugC9gYgTEbtiCZAHPtvkZ90SzzABOWZyQLA==", "requires": { "graphql-type-json": "^0.2.4", "object-path": "^0.11.4" @@ -8603,13 +8894,6 @@ "requires": { "lodash": "^4.17.4", "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - } } }, "graphql-playground-html": { @@ -8695,6 +8979,13 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } } }, "has-binary2": { @@ -8728,9 +9019,9 @@ "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" }, "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" }, "has-to-string-tag-x": { "version": "1.4.1", @@ -8764,6 +9055,11 @@ "kind-of": "^4.0.0" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", @@ -8774,6 +9070,11 @@ } } }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + }, "hash-base": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", @@ -8803,6 +9104,13 @@ "style-to-object": "^0.2.1", "unist-util-is": "^2.0.0", "web-namespaces": "^1.1.2" + }, + "dependencies": { + "unist-util-is": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz", + "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==" + } } }, "hast-util-from-parse5": { @@ -8823,9 +9131,9 @@ "integrity": "sha512-C62CVn7jbjp89yOhhy7vrkSaB7Vk906Gtcw/Ihd+Iufnq+2pwOZjdPmpzpKLWJXPJBMDX3wXg4FqmdOayPcewA==" }, "hast-util-parse-selector": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.2.tgz", - "integrity": "sha512-jIMtnzrLTjzqgVEQqPEmwEZV+ea4zHRFTP8Z2Utw0I5HuBOXHzUPPQWr6ouJdJqDKLbFU/OEiYwZ79LalZkmmw==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.3.tgz", + "integrity": "sha512-nxbeqjQNxsvo/uYYAw9kij6td05YVUlf1qti09rVfbWSLT5H6wo3c+USIwX6nzXWk5kFZzXnEqO82856r0aM2Q==" }, "hast-util-raw": { "version": "4.0.0", @@ -8843,9 +9151,9 @@ }, "dependencies": { "parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" } } }, @@ -8864,6 +9172,13 @@ "stringify-entities": "^1.0.1", "unist-util-is": "^2.0.0", "xtend": "^4.0.1" + }, + "dependencies": { + "unist-util-is": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz", + "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==" + } } }, "hast-util-to-parse5": { @@ -8909,15 +9224,10 @@ "minimalistic-crypto-utils": "^1.0.1" } }, - "hoek": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", - "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" - }, "hoist-non-react-statics": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", - "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-wbg3bpgA/ZqWrZuMOeJi8+SKMhr7X9TesL/rXMjTzh0p0JUBo3II8DHboYbuIXWRlttrUFxwcu/5kygrCw8fJw==", "requires": { "react-is": "^16.7.0" } @@ -8931,9 +9241,9 @@ } }, "hosted-git-info": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", - "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==" + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==" }, "hpack.js": { "version": "2.1.6", @@ -9002,9 +9312,9 @@ } }, "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", + "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==" }, "http-deceiver": { "version": "1.2.7", @@ -9036,11 +9346,11 @@ "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=" }, "http-proxy": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", - "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", "requires": { - "eventemitter3": "^3.0.0", + "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" } @@ -9071,6 +9381,11 @@ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -9142,6 +9457,70 @@ "replace-ext": "^1.0.0" }, "dependencies": { + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==" + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, "globby": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", @@ -9183,10 +9562,25 @@ } } }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" } } }, @@ -9200,18 +9594,6 @@ "mozjpeg": "^6.0.0" }, "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -9225,14 +9607,6 @@ "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } } } }, @@ -9247,18 +9621,6 @@ "pngquant-bin": "^5.0.0" }, "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, "execa": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", @@ -9272,6 +9634,11 @@ "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" } } }, @@ -9285,11 +9652,6 @@ "is-cwebp-readable": "^2.0.1" } }, - "immutable": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", - "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=" - }, "import-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", @@ -9299,12 +9661,12 @@ } }, "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, "import-from": { @@ -9313,6 +9675,13 @@ "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", "requires": { "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } } }, "import-lazy": { @@ -9335,12 +9704,9 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "requires": { - "repeating": "^2.0.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, "indexes-of": { "version": "1.0.1", @@ -9352,6 +9718,11 @@ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -9372,115 +9743,116 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "ink": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ink/-/ink-2.3.0.tgz", - "integrity": "sha512-931rgXHAS3hM++8ygWPOBeHOFwTzHh3pDAVZtiBVOUH6tVvJijym43ODUy22ySo2NwYUFeR/Zj3xuWzBEKMiHw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/ink/-/ink-2.6.0.tgz", + "integrity": "sha512-nD/wlSuB6WnFsFB0nUcOJdy28YvvDer3eo+gezjvZqojGA4Rx5sQpacvN//Aai83DRgwrRTyKBl5aciOcfP3zQ==", "optional": true, "requires": { - "@types/react": "^16.8.6", - "arrify": "^1.0.1", - "auto-bind": "^2.0.0", - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "cli-truncate": "^1.1.0", + "ansi-escapes": "^4.2.1", + "arrify": "^2.0.1", + "auto-bind": "^3.0.0", + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-truncate": "^2.0.0", "is-ci": "^2.0.0", "lodash.throttle": "^4.1.1", "log-update": "^3.0.0", "prop-types": "^15.6.2", - "react-reconciler": "^0.20.0", - "scheduler": "^0.13.2", + "react-reconciler": "^0.24.0", + "scheduler": "^0.18.0", "signal-exit": "^3.0.2", - "slice-ansi": "^1.0.0", - "string-length": "^2.0.0", - "widest-line": "^2.0.0", - "wrap-ansi": "^5.0.0", + "slice-ansi": "^3.0.0", + "string-length": "^3.1.0", + "widest-line": "^3.1.0", + "wrap-ansi": "^6.2.0", "yoga-layout-prebuilt": "^1.9.3" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "optional": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "optional": true, "requires": { - "restore-cursor": "^2.0.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "optional": true - }, - "is-fullwidth-code-point": { + "astral-regex": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "optional": true }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "optional": true, "requires": { - "mimic-fn": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "optional": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "color-name": "~1.1.4" } }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "optional": true + }, "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "optional": true, "requires": { - "is-fullwidth-code-point": "^2.0.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" } }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "optional": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "ansi-regex": "^5.0.0" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "optional": true, "requires": { - "ansi-regex": "^4.1.0" + "has-flag": "^4.0.0" } }, "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "optional": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } } } @@ -9501,9 +9873,9 @@ "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" }, "inquirer": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.1.tgz", - "integrity": "sha512-uxNHBeQhRXIoHWTSNYUFhQVrHYFThIt6IVo2fFmSe8aBwdR3/w6b58hJpiL/fMukFkvGzjg+hSxFtwvVmKZmXw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.2.tgz", + "integrity": "sha512-cZGvHaHwcR9E3xK9EGO5pHKELU+yaeJO7l2qGKIbqk4bCuDuAn15LCoUTS2nSkfv9JybFlnAGrOcVpCDZZOLhw==", "requires": { "ansi-escapes": "^4.2.1", "chalk": "^2.4.2", @@ -9514,40 +9886,10 @@ "lodash": "^4.17.15", "mute-stream": "0.0.8", "run-async": "^2.2.0", - "rxjs": "^6.4.0", + "rxjs": "^6.5.3", "string-width": "^4.1.0", "strip-ansi": "^5.1.0", "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", - "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^5.2.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } } }, "internal-ip": { @@ -9584,9 +9926,9 @@ } }, "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" }, "ip": { "version": "1.1.5", @@ -9604,9 +9946,9 @@ "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" }, "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" }, "is-accessor-descriptor": { "version": "0.1.6", @@ -9616,6 +9958,11 @@ "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -9645,6 +9992,11 @@ "is-decimal": "^1.0.0" } }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -9659,9 +10011,9 @@ } }, "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" }, "is-builtin-module": { "version": "3.0.0", @@ -9672,9 +10024,9 @@ } }, "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" }, "is-ci": { "version": "2.0.0", @@ -9720,6 +10072,11 @@ "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -9731,9 +10088,9 @@ } }, "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" }, "is-decimal": { "version": "1.0.3", @@ -9763,9 +10120,9 @@ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" }, "is-docker": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-1.1.0.tgz", - "integrity": "sha1-8EN01O7lMQ6ajhE78UlUEeRhdqE=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", + "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==" }, "is-extendable": { "version": "0.1.1", @@ -9786,12 +10143,9 @@ } }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-function": { "version": "1.0.1", @@ -9818,6 +10172,16 @@ "requires": { "global-dirs": "^0.1.0", "is-path-inside": "^1.0.0" + }, + "dependencies": { + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "requires": { + "path-is-inside": "^1.0.1" + } + } } }, "is-invalid-path": { @@ -9854,9 +10218,9 @@ "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" }, "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-3.0.0.tgz", + "integrity": "sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==" }, "is-number": { "version": "3.0.0", @@ -9866,6 +10230,11 @@ "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -9887,25 +10256,32 @@ "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" }, "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" }, "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "^2.1.0" + }, + "dependencies": { + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "requires": { + "path-is-inside": "^1.0.2" + } + } } }, "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "requires": { - "path-is-inside": "^1.0.1" - } + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==" }, "is-plain-obj": { "version": "1.1.0", @@ -9930,17 +10306,12 @@ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" - }, "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", "requires": { - "has": "^1.0.1" + "has": "^1.0.3" } }, "is-regexp": { @@ -9957,11 +10328,11 @@ } }, "is-relative-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-relative-url/-/is-relative-url-2.0.0.tgz", - "integrity": "sha1-cpAtf+BLPUeS59sV+duEtyBMnO8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-relative-url/-/is-relative-url-3.0.0.tgz", + "integrity": "sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA==", "requires": { - "is-absolute-url": "^2.0.0" + "is-absolute-url": "^3.0.0" } }, "is-resolvable": { @@ -9970,9 +10341,9 @@ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" }, "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" }, "is-root": { "version": "1.0.0", @@ -9992,6 +10363,11 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" + }, "is-svg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", @@ -10001,11 +10377,11 @@ } }, "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "requires": { - "has-symbols": "^1.0.0" + "has-symbols": "^1.0.1" } }, "is-text-path": { @@ -10043,9 +10419,9 @@ } }, "is-what": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.3.1.tgz", - "integrity": "sha512-seFn10yAXy+yJlTRO+8VfiafC+0QJanGLMPTBWLrJm/QPauuchy0UXh8B6H5o9VA8BAzk0iYievt6mNp6gfaqA==" + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.5.0.tgz", + "integrity": "sha512-00pwt/Jf7IaRh5m2Dp93Iw8LG2cd3OpDj3NrD1XPNUpAWVxPvBP296p4IiGmIU4Ur0f3f56IoIM+fS2pFYF+tQ==" }, "is-whitespace-character": { "version": "1.0.3", @@ -10063,23 +10439,20 @@ "integrity": "sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==" }, "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", + "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==" + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "isemail": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", - "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", - "requires": { - "punycode": "2.x.x" - } - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -10114,38 +10487,39 @@ } }, "iterall": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.2.2.tgz", - "integrity": "sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", + "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" }, "jest-worker": { - "version": "23.2.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", - "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", "requires": { - "merge-stream": "^1.0.1" + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, "jimp": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.6.4.tgz", - "integrity": "sha512-WQVMoNhkcq/fgthZOWeMdIguCVPg+t4PDFfSxvbNcrECwl8eq3/Ou2whcFWWjyW45m43yAJEY2UT7acDKl6uSQ==", - "requires": { - "@babel/polyfill": "^7.0.0", - "@jimp/custom": "^0.6.4", - "@jimp/plugins": "^0.6.4", - "@jimp/types": "^0.6.4", - "core-js": "^2.5.7" - } - }, - "joi": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-11.4.0.tgz", - "integrity": "sha512-O7Uw+w/zEWgbL6OcHbyACKSj0PkQeUgmehdoXVSxt92QFCq4+1390Rwh5moI2K/OgC7D8RHRZqHZxT2husMJHA==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.6.8.tgz", + "integrity": "sha512-F7emeG7Hp61IM8VFbNvWENLTuHe0ghizWPuP4JS9ujx2r5mCVYEd/zdaz6M2M42ZdN41blxPajLWl9FXo7Mr2Q==", "requires": { - "hoek": "4.x.x", - "isemail": "3.x.x", - "topo": "2.x.x" + "@jimp/custom": "^0.6.8", + "@jimp/plugins": "^0.6.8", + "@jimp/types": "^0.6.8", + "core-js": "^2.5.7", + "regenerator-runtime": "^0.13.3" } }, "jpeg-js": { @@ -10223,11 +10597,18 @@ "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" }, "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", "requires": { "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } } }, "jsonfile": { @@ -10255,18 +10636,18 @@ } }, "jsx-ast-utils": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz", - "integrity": "sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz", + "integrity": "sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA==", "requires": { "array-includes": "^3.0.3", "object.assign": "^4.1.0" } }, "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", "requires": { "json-buffer": "3.0.0" } @@ -10296,25 +10677,25 @@ } }, "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", "requires": { - "package-json": "^4.0.0" + "package-json": "^6.3.0" } }, "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "^2.0.0" } }, "leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" }, "levn": { "version": "0.3.0", @@ -10325,6 +10706,11 @@ "type-check": "~0.3.2" } }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, "load-bmfont": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.0.tgz", @@ -10356,6 +10742,21 @@ "parse-json": "^2.2.0", "pify": "^2.0.0", "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } } }, "loader-fs-cache": { @@ -10426,15 +10827,20 @@ "requires": { "minimist": "^1.2.0" } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "requires": { - "p-locate": "^2.0.0", + "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, @@ -10539,15 +10945,20 @@ "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" }, + "lodash.unescape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=" + }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, "log-update": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.2.0.tgz", - "integrity": "sha512-KJ6zAPIHWo7Xg1jYror6IUDFJBq1bQ4Bi4wAEp2y/0ScjBBVi/g0thr0sUVhuvuXauWzczt7T2QHghPDNnKBuw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.3.0.tgz", + "integrity": "sha512-YSKm5n+YjZoGZT5lfmOqasVH1fIH9xQA9A81Y48nZ99PxAP62vdCCtua+Gcu6oTn0nqtZd/LwRV+Vflo53ZDWA==", "optional": true, "requires": { "ansi-escapes": "^3.2.0", @@ -10561,12 +10972,6 @@ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "optional": true }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "optional": true - }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -10576,16 +10981,10 @@ "restore-cursor": "^2.0.0" } }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "optional": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "optional": true }, "onetime": { @@ -10606,37 +11005,6 @@ "onetime": "^2.0.0", "signal-exit": "^3.0.2" } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "optional": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "optional": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "optional": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } } } }, @@ -10661,14 +11029,14 @@ } }, "loglevel": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.3.tgz", - "integrity": "sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA==" + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz", + "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==" }, "lokijs": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/lokijs/-/lokijs-1.5.7.tgz", - "integrity": "sha512-2SqUV6JH4f15Z5/7LVsyadSUwHhZppxhujgy/VhVqiRYMGt5oaocb7fV/3JGjHJ6rTuEIajnpTLGRz9cJW/c3g==" + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/lokijs/-/lokijs-1.5.8.tgz", + "integrity": "sha512-D8E3TBrY35o1ELnonp2MF8b3wKu2tVNl2TqRjvS+95oPMMe7OoIAxNY1qr+5BEZwnWn2V4ErAjVt000DonM+FA==" }, "longest": { "version": "1.0.1", @@ -10689,12 +11057,12 @@ } }, "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-2.2.0.tgz", + "integrity": "sha512-S0FayMXku80toa5sZ6Ro4C+s+EtFDCsyJNG/AzFMfX3AxD5Si4dZsgzm/kKnbOxHl5Cv8jBlno8+3XYIh2pNjQ==", "requires": { "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "signal-exit": "^3.0.2" } }, "lowercase-keys": { @@ -10711,22 +11079,27 @@ "indent-string": "^2.1.0", "longest": "^1.0.0", "meow": "^3.3.0" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + } } }, "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz", + "integrity": "sha1-tcvwFVbBaWb+vlTO7A+03JDfbCg=", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "^1.0.1", + "yallist": "^2.0.0" } }, - "ltcdr": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltcdr/-/ltcdr-2.2.1.tgz", - "integrity": "sha1-Wrh60dTB2rjowIu/A37gwZAih88=" - }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -10736,13 +11109,18 @@ "semver": "^5.6.0" }, "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" + }, "map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", @@ -10787,6 +11165,13 @@ "charenc": "~0.0.1", "crypt": "~0.0.1", "is-buffer": "~1.1.1" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + } } }, "md5-file": { @@ -10808,17 +11193,17 @@ } }, "mdast-util-compact": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz", - "integrity": "sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", + "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", "requires": { "unist-util-visit": "^1.1.0" } }, "mdast-util-definitions": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.4.tgz", - "integrity": "sha512-HfUArPog1j4Z78Xlzy9Q4aHLnrF/7fb57cooTHypyGoe2XFNbcx/kWZDoOz+ra8CkUzvg3+VHV434yqEd1DRmA==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.5.tgz", + "integrity": "sha512-CJXEdoLfiISCDc2JB6QLb79pYfI6+GcIH+W2ox9nMc7od0Pz+bovcHsiq29xAQY6ayqe/9CsK2VzkSJdg1pFYA==", "requires": { "unist-util-visit": "^1.0.0" } @@ -10853,18 +11238,48 @@ } }, "mdast-util-to-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz", - "integrity": "sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.7.tgz", + "integrity": "sha512-P+gdtssCoHOX+eJUrrC30Sixqao86ZPlVjR5NEAoy0U79Pfxb1Y0Gntei0+GrnQD4T04X9xA8tcugp90cSmNow==" }, "mdast-util-toc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-2.1.0.tgz", - "integrity": "sha512-ove/QQWSrYOrf9G3xn2MTAjy7PKCtCmm261wpQwecoPAsUtkihkMVczxFqil7VihxgSz4ID9c8bBTsyXR30gQg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-5.0.0.tgz", + "integrity": "sha512-1ExJKC+85/+Q2LfuASOjdGTB7n/ikQperjiv+7OEVCpRbabr/DGZzEXEZfsZr/k4Pd3g/Gim9DV44/rPjczMAw==", "requires": { - "github-slugger": "^1.1.1", - "mdast-util-to-string": "^1.0.2", - "unist-util-visit": "^1.1.0" + "@types/mdast": "^3.0.3", + "@types/unist": "^2.0.3", + "extend": "^3.0.2", + "github-slugger": "^1.2.1", + "mdast-util-to-string": "^1.0.5", + "unist-util-is": "^4.0.0", + "unist-util-visit": "^2.0.0" + }, + "dependencies": { + "unist-util-is": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.1.tgz", + "integrity": "sha512-7NYjErP4LJtkEptPR22wO5RsCPnHZZrop7t2SoQzjvpFedCFer4WW8ujj9GI5DkUX7yVcffXLjoURf6h2QUv6Q==" + }, + "unist-util-visit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.1.tgz", + "integrity": "sha512-bEDa5S/O8WRDeI1mLaMoKuFFi89AjF+UAoMNxO+bbVdo06q+53Vhq4iiv1PenL6Rx1ZxIpXIzqZoc5HD2I1oMA==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + } + }, + "unist-util-visit-parents": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.1.tgz", + "integrity": "sha512-umEOTkm6/y1gIqPrqet55mYqlvGXCia/v1FSc5AveLAI7jFmOAIbqiwcHcviLcusAkEQt1bq2hixCKO9ltMb2Q==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + } + } } }, "mdn-data": { @@ -10888,11 +11303,13 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "requires": { - "mimic-fn": "^1.0.0" + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" } }, "memoize-one": { @@ -10947,6 +11364,28 @@ "strip-bom": "^2.0.0" } }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", @@ -10965,6 +11404,11 @@ "pinkie-promise": "^2.0.0" } }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -10995,9 +11439,9 @@ } }, "merge-anything": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/merge-anything/-/merge-anything-2.4.1.tgz", - "integrity": "sha512-dYOIAl9GFCJNctSIHWOj9OJtarCjsD16P8ObCl6oxrujAG+kOvlwJuOD9/O9iYZ9aTi1RGpGTG9q9etIvuUikQ==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/merge-anything/-/merge-anything-2.4.4.tgz", + "integrity": "sha512-l5XlriUDJKQT12bH+rVhAHjwIuXWdAIecGwsYjv2LJo+dA1AeRTmeQS+3QBpO6lEthBMDi2IUMpLC1yyRvGlwQ==", "requires": { "is-what": "^3.3.1" } @@ -11008,17 +11452,14 @@ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" }, "merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "requires": { - "readable-stream": "^2.0.1" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "merge2": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.4.tgz", - "integrity": "sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==" }, "methods": { "version": "1.1.2", @@ -11060,22 +11501,22 @@ "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" }, "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" }, "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", "requires": { - "mime-db": "1.40.0" + "mime-db": "1.43.0" } }, "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, "mimic-response": { "version": "1.0.1", @@ -11091,15 +11532,41 @@ } }, "mini-css-extract-plugin": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.5.tgz", - "integrity": "sha512-dqBanNfktnp2hwL2YguV9Jh91PFX7gu7nRLs4TGsbAfAG6WOtlynFRYzwDwmmeSb5uIwHo9nx1ta0f7vAZVp2w==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.2.tgz", + "integrity": "sha512-a3Y4of27Wz+mqK3qrcd3VhYz6cU0iW5x3Sgvqzbj+XmlrSizmvu8QQMl5oMYJjgHOC4iyt+w7l4umP+dQeW3bw==", "requires": { "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", "schema-utils": "^1.0.0", "webpack-sources": "^1.1.0" }, "dependencies": { + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -11109,6 +11576,14 @@ "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "^1.0.0" + } } } }, @@ -11136,32 +11611,39 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minipass": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", + "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "yallist": "^4.0.0" }, "dependencies": { "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, "minizlib": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", + "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", "requires": { - "minipass": "^2.2.1" + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } } }, "mississippi": { @@ -11182,9 +11664,9 @@ } }, "mitt": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.1.3.tgz", - "integrity": "sha512-mUDCnVNsAi+eD6qA0HkRkwYczbLHJ49z17BGe2PYRhZL4wpZUFZGJHU7/5tmvohoma+Hdn0Vh/oJTiPEmgSruA==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", + "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==" }, "mixin-deep": { "version": "1.3.2", @@ -11208,16 +11690,9 @@ "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" } }, "moment": { @@ -11341,11 +11816,18 @@ "integrity": "sha512-OY2QhGdf6jpYfHqS4vJwqF7aIBZkaMjMUkcHcskMPitvXLuYNGdQvgVWI/5yKwkmIdmhft3ounSJv+Re2yydng==" }, "node-abi": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.11.0.tgz", - "integrity": "sha512-kuy/aEg75u40v378WRllQ4ZexaXJiCvB68D2scDXclp/I4cRq6togpbOoKhmN07tns9Zldu51NNERo0wehfX9g==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.13.0.tgz", + "integrity": "sha512-9HrZGFVTR5SOu3PZAnAY2hLO36aW1wmA+FDsVkr85BTST32TLCA1H/AEcatVRAsWLyXS3bqUDYCAjq5/QGuSTA==", "requires": { "semver": "^5.4.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, "node-emoji": { @@ -11371,14 +11853,9 @@ } }, "node-forge": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", - "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==" }, "node-libs-browser": { "version": "2.2.1", @@ -11417,12 +11894,17 @@ } } }, + "node-object-hash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-object-hash/-/node-object-hash-2.0.0.tgz", + "integrity": "sha512-VZR0zroAusy1ETZMZiGeLkdu50LGjG5U1KHZqTruqtTyQ2wfWhHG2Ow4nsUbfTFGlaREgNHcCWoM/OzEm6p+NQ==" + }, "node-releases": { - "version": "1.1.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.27.tgz", - "integrity": "sha512-9iXUqHKSGo6ph/tdXVbHFbhRVQln4ZDTIBJCzsa90HimnBYc5jw8RWYt4wBYFHehGyC3koIz5O4mb2fHrbPOuA==", + "version": "1.1.44", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.44.tgz", + "integrity": "sha512-NwbdvJyR7nrcGrXvKAvzc5raj/NkoJudkarh2yIpJ4t0NH4aqjUDz/486P+ynIW5eokKOfzGNRdYoLfBlomruw==", "requires": { - "semver": "^5.3.0" + "semver": "^6.3.0" } }, "noms": { @@ -11471,6 +11953,13 @@ "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, "normalize-path": { @@ -11539,11 +12028,6 @@ "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-0.1.1.tgz", "integrity": "sha1-F76av80/8OFRL2/Er8sfUDk3j64=" }, - "nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" - }, "num2fraction": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", @@ -11587,6 +12071,11 @@ "is-descriptor": "^0.1.0" } }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -11607,6 +12096,16 @@ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==" }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" + }, + "object-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", + "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==" + }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -11637,34 +12136,34 @@ } }, "object.entries": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", - "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.1.tgz", + "integrity": "sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ==", "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", + "es-abstract": "^1.17.0-next.1", "function-bind": "^1.1.1", "has": "^1.0.3" } }, "object.fromentries": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.0.tgz", - "integrity": "sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", + "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.11.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", "function-bind": "^1.1.1", - "has": "^1.0.1" + "has": "^1.0.3" } }, "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" } }, "object.pick": { @@ -11676,12 +12175,12 @@ } }, "object.values": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", - "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", + "es-abstract": "^1.17.0-next.1", "function-bind": "^1.1.1", "has": "^1.0.3" } @@ -11723,12 +12222,20 @@ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", "requires": { "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "requires": { + "is-wsl": "^1.1.0" }, "dependencies": { - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" } } }, @@ -11738,11 +12245,18 @@ "integrity": "sha512-nNnZDkUNExBwEpb7LZaeMeQgvrlO8l4bgY/LvGNZCR0xG/dGWqHqjKrAmR5GUoYo0FIz38kxasvA1aevxWs2CA==" }, "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", + "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", "requires": { "is-wsl": "^1.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + } } }, "optimize-css-assets-webpack-plugin": { @@ -11755,16 +12269,16 @@ } }, "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "requires": { "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", + "fast-levenshtein": "~2.0.6", "levn": "~0.3.0", "prelude-ls": "~1.1.2", "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "word-wrap": "~1.2.3" } }, "original": { @@ -11788,19 +12302,30 @@ "arch": "^2.1.0" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } } }, "os-tmpdir": { @@ -11809,9 +12334,9 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" }, "p-defer": { "version": "1.0.0", @@ -11819,11 +12344,11 @@ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" }, "p-event": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", - "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", "requires": { - "p-timeout": "^1.1.1" + "p-timeout": "^2.0.1" } }, "p-finally": { @@ -11837,25 +12362,28 @@ "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", "requires": { - "p-try": "^1.0.0" + "p-try": "^2.0.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.0.0" } }, "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "requires": { + "aggregate-error": "^3.0.0" + } }, "p-map-series": { "version": "1.0.0", @@ -11884,45 +12412,45 @@ } }, "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "requires": { "p-finally": "^1.0.0" } }, "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" }, "dependencies": { "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", "requires": { - "create-error-class": "^3.0.0", + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" } } } @@ -11933,11 +12461,11 @@ "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==" }, "parallel-transform": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "requires": { - "cyclist": "~0.2.2", + "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" } @@ -11948,19 +12476,12 @@ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "requires": { "callsites": "^3.0.0" - }, - "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - } } }, "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", "requires": { "asn1.js": "^4.0.0", "browserify-aes": "^1.0.0", @@ -12014,20 +12535,19 @@ } }, "parse-headers": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz", - "integrity": "sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==", - "requires": { - "for-each": "^0.3.3", - "string.prototype.trim": "^1.1.2" - } + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", + "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" }, "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", "requires": { - "error-ex": "^1.2.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" } }, "parse-latin": { @@ -12169,12 +12689,9 @@ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "requires": { - "pify": "^2.0.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, "pbkdf2": { "version": "3.0.17", @@ -12209,14 +12726,14 @@ "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=" }, "picomatch": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", - "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==" + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz", + "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==" }, "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" }, "pinkie": { "version": "2.0.4", @@ -12245,46 +12762,6 @@ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "requires": { "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - } } }, "pngjs": { @@ -12303,18 +12780,6 @@ "logalot": "^2.0.0" }, "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, "execa": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", @@ -12328,6 +12793,11 @@ "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" } } }, @@ -12340,27 +12810,30 @@ } }, "portfinder": { - "version": "1.0.23", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.23.tgz", - "integrity": "sha512-B729mL/uLklxtxuiJKfQ84WPxNw5a7Yhx3geQZdcA4GjNjZSTSSMMWyoennMVnTWSmAR0lMdzWYN0JLnHrg1KQ==", + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", + "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", "requires": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "requires": { - "ms": "2.0.0" + "lodash": "^4.17.14" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } } } }, @@ -12370,9 +12843,9 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "postcss": { - "version": "7.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.17.tgz", - "integrity": "sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ==", + "version": "7.0.26", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.26.tgz", + "integrity": "sha512-IY4oRjpXWYshuTDFxMVkJDtWIk2LhsTlu8bZnbEJA4+bYT16Lvpo8Qv6EvDumhYRgzjZl489pmsY3qVgJQ08nA==", "requires": { "chalk": "^2.4.2", "source-map": "^0.6.1", @@ -12425,13 +12898,13 @@ }, "dependencies": { "browserslist": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", - "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", + "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", "requires": { - "caniuse-lite": "^1.0.30000984", - "electron-to-chromium": "^1.3.191", - "node-releases": "^1.1.25" + "caniuse-lite": "^1.0.30001017", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.44" } }, "postcss-value-parser": { @@ -12521,6 +12994,42 @@ "requires": { "cosmiconfig": "^5.0.0", "import-cwd": "^2.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } } }, "postcss-loader": { @@ -12583,13 +13092,13 @@ }, "dependencies": { "browserslist": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", - "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", + "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", "requires": { - "caniuse-lite": "^1.0.30000984", - "electron-to-chromium": "^1.3.191", - "node-releases": "^1.1.25" + "caniuse-lite": "^1.0.30001017", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.44" } }, "postcss-selector-parser": { @@ -12652,13 +13161,13 @@ }, "dependencies": { "browserslist": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", - "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", + "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", "requires": { - "caniuse-lite": "^1.0.30000984", - "electron-to-chromium": "^1.3.191", - "node-releases": "^1.1.25" + "caniuse-lite": "^1.0.30001017", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.44" } }, "postcss-value-parser": { @@ -12900,13 +13409,13 @@ }, "dependencies": { "browserslist": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", - "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", + "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", "requires": { - "caniuse-lite": "^1.0.30000984", - "electron-to-chromium": "^1.3.191", - "node-releases": "^1.1.25" + "caniuse-lite": "^1.0.30001017", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.44" } }, "postcss-value-parser": { @@ -12927,6 +13436,11 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", @@ -12979,13 +13493,13 @@ }, "dependencies": { "browserslist": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", - "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", + "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", "requires": { - "caniuse-lite": "^1.0.30000984", - "electron-to-chromium": "^1.3.191", - "node-releases": "^1.1.25" + "caniuse-lite": "^1.0.30001017", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.44" } } } @@ -13067,9 +13581,9 @@ } }, "prebuild-install": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.0.tgz", - "integrity": "sha512-aaLVANlj4HgZweKttFNUVNRxDukytuIuxeK2boIMHjagNJCiVKWFsKF4tCE3ql3GbrD2tExPQ7/pwtEJcHNZeg==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.3.tgz", + "integrity": "sha512-GV+nsUXuPW2p8Zy7SarF/2W/oiK8bFQgJcncoJ0d7kRpekEA0ftChjfEaF9/Y+QJEc/wFR7RAEa8lYByuUIe2g==", "requires": { "detect-libc": "^1.0.3", "expand-template": "^2.0.3", @@ -13080,33 +13594,18 @@ "node-abi": "^2.7.0", "noop-logger": "^0.1.1", "npmlog": "^4.0.1", - "os-homedir": "^1.0.1", - "pump": "^2.0.1", + "pump": "^3.0.0", "rc": "^1.2.7", - "simple-get": "^2.7.0", - "tar-fs": "^1.13.0", + "simple-get": "^3.0.3", + "tar-fs": "^2.0.0", "tunnel-agent": "^0.6.0", "which-pm-runs": "^1.0.0" }, "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "simple-get": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", - "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", - "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } }, @@ -13116,14 +13615,14 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, "pretty-bytes": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", - "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz", + "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==" }, "pretty-error": { "version": "2.1.1", @@ -13135,9 +13634,9 @@ } }, "prismjs": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.17.1.tgz", - "integrity": "sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.18.0.tgz", + "integrity": "sha512-N0r3i/Cto516V8+GKKamhsPVZSFcO0TMUBtIDW6uq6BVqoC3FNtZVZ+cmH16N2XtGQlgRN+sFUTjOdCsEP51qw==", "requires": { "clipboard": "^2.0.0" } @@ -13189,9 +13688,9 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" }, "prompts": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz", - "integrity": "sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.0.tgz", + "integrity": "sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg==", "requires": { "kleur": "^3.0.3", "sisteransi": "^1.0.3" @@ -13245,9 +13744,9 @@ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "psl": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz", - "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==" + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", + "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==" }, "public-encrypt": { "version": "4.0.3", @@ -13386,12 +13885,24 @@ "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + } } }, "react": { - "version": "16.9.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.9.0.tgz", - "integrity": "sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w==", + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.12.0.tgz", + "integrity": "sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -13434,9 +13945,9 @@ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" }, "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "2.2.1", @@ -13468,6 +13979,16 @@ "restore-cursor": "^2.0.0" } }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -13524,6 +14045,11 @@ "through": "^2.3.6" }, "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -13560,6 +14086,25 @@ } } }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -13578,14 +14123,6 @@ "mimic-fn": "^1.0.0" } }, - "opn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", - "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", - "requires": { - "is-wsl": "^1.1.0" - } - }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", @@ -13595,41 +14132,54 @@ "signal-exit": "^3.0.2" } }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } } } }, "react-dom": { - "version": "16.9.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.9.0.tgz", - "integrity": "sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ==", + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.12.0.tgz", + "integrity": "sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.15.0" - }, - "dependencies": { - "scheduler": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz", - "integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - } + "scheduler": "^0.18.0" } }, "react-error-overlay": { @@ -13654,9 +14204,9 @@ } }, "react-hot-loader": { - "version": "4.12.11", - "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.12.11.tgz", - "integrity": "sha512-ySsg1hPwr/5dkZCJVp1nZRbwbpbEQ+3e2+bn/D681Wvr9+o+5bLKkTGq0TXskj8HgCS3ScysXddOng9Cg+JKzw==", + "version": "4.12.18", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.12.18.tgz", + "integrity": "sha512-qYD0Qi9lIbg9jLyfmodfqvAQqCBsoPKxAhca8Nxvy2/2pO5Q9r2kM28jN0bbbSnhwK8dJ7FjsfVtXKOxMW+bqw==", "requires": { "fast-levenshtein": "^2.0.6", "global": "^4.3.0", @@ -13676,9 +14226,9 @@ } }, "react-is": { - "version": "16.8.3", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.3.tgz", - "integrity": "sha512-Y4rC1ZJmsxxkkPuMLwvKvlL1Zfpbcu+Bf4ZigkHup3v9EfdYhAlWAaVyA19olXq2o2mGn0w+dFKvk3pVVlYcIA==" + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", + "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==" }, "react-lifecycles-compat": { "version": "3.0.4", @@ -13686,23 +14236,22 @@ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "react-reconciler": { - "version": "0.20.4", - "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.20.4.tgz", - "integrity": "sha512-kxERc4H32zV2lXMg/iMiwQHOtyqf15qojvkcZ5Ja2CPkjVohHw9k70pdDBwrnQhLVetUJBSYyqU3yqrlVTOajA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.24.0.tgz", + "integrity": "sha512-gAGnwWkf+NOTig9oOowqid9O0HjTDC+XVGBCAmJYYJ2A2cN/O4gDdIuuUQjv8A4v6GDwVfJkagpBBLW5OW9HSw==", "optional": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.13.6" + "scheduler": "^0.18.0" } }, "react-side-effect": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.1.5.tgz", - "integrity": "sha512-Z2ZJE4p/jIfvUpiUMRydEVpQRf2f8GMHczT6qLcARmX7QRb28JDBTpnM2g/i5y/p7ZDEXYGHWg0RbhikE+hJRw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.2.0.tgz", + "integrity": "sha512-v1ht1aHg5k/thv56DRcjw+WtojuuDHFUgGfc+bFHOWsF4ZK6C2V57DO0Or0GPsg6+LSTE0M6Ry/gfzhzSwbc5w==", "requires": { - "exenv": "^1.2.1", "shallowequal": "^1.0.1" } }, @@ -13721,13 +14270,6 @@ "requires": { "pify": "^4.0.1", "with-open-file": "^0.1.6" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - } } }, "read-pkg": { @@ -13738,6 +14280,21 @@ "load-json-file": "^2.0.0", "normalize-package-data": "^2.3.2", "path-type": "^2.0.0" + }, + "dependencies": { + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } } }, "read-pkg-up": { @@ -13747,12 +14304,52 @@ "requires": { "find-up": "^2.0.0", "read-pkg": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + } } }, "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -13774,11 +14371,11 @@ } }, "rebass": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/rebass/-/rebass-4.0.5.tgz", - "integrity": "sha512-8MZngk/AmbC8u8pGmI1WelbsKYjmN9Z91C11G4ESB9QZnoppWsI+OAqio1/4/l6dxHmwZ/hR8Q4UApF+IVEprA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/rebass/-/rebass-4.0.7.tgz", + "integrity": "sha512-GJot6j6Qcr7jk1QIgf9qBoud75CGRpN8pGcEo98TSp4KNSWV01ZLvGwFKGI35oEBuNs+lpEd3+pnwkQUTSFytg==", "requires": { - "reflexbox": "^4.0.5" + "reflexbox": "^4.0.6" } }, "recursive-readdir": { @@ -13806,12 +14403,22 @@ "requires": { "indent-string": "^2.1.0", "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + } } }, "redux": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.4.tgz", - "integrity": "sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", + "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", "requires": { "loose-envify": "^1.4.0", "symbol-observable": "^1.2.0" @@ -13823,15 +14430,14 @@ "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" }, "reflexbox": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/reflexbox/-/reflexbox-4.0.5.tgz", - "integrity": "sha512-SFWlrlKusgQVqjEimlLGNls3khjMlaTLrrF1H7YY7FfXv/mKK5mREDOW4l95D6Qa1kGoyM3hF+H5RLb3N6bCCA==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/reflexbox/-/reflexbox-4.0.6.tgz", + "integrity": "sha512-UNUL4YoJEXAPjRKHuty1tuOk+LV1nDJ2KYViDcH7lYm5yU3AQ+EKNXxPU3E14bQNK/pE09b1hYl+ZKdA94tWLQ==", "requires": { "@emotion/core": "^10.0.0", "@emotion/styled": "^10.0.0", "@styled-system/css": "^5.0.0", "@styled-system/should-forward-prop": "^5.0.0", - "react": "^16.8.6", "styled-system": "^5.0.0" } }, @@ -13870,10 +14476,14 @@ "safe-regex": "^1.1.0" } }, - "regexp-tree": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.11.tgz", - "integrity": "sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg==" + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } }, "regexpp": { "version": "2.0.1", @@ -13881,9 +14491,9 @@ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" }, "regexpu-core": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz", - "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", "requires": { "regenerate": "^1.4.0", "regenerate-unicode-properties": "^8.1.0", @@ -13894,31 +14504,31 @@ } }, "registry-auth-token": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", - "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.0.0.tgz", + "integrity": "sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw==", "requires": { - "rc": "^1.1.6", + "rc": "^1.2.8", "safe-buffer": "^5.0.1" } }, "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", "requires": { - "rc": "^1.0.1" + "rc": "^1.2.8" } }, "regjsgen": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", - "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==" + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==" }, "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.2.tgz", + "integrity": "sha512-E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q==", "requires": { "jsesc": "~0.5.0" }, @@ -13930,15 +14540,6 @@ } } }, - "relay-runtime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/relay-runtime/-/relay-runtime-2.0.0.tgz", - "integrity": "sha512-o/LPFHTI6+3FLJXM3Ec4N6hzkKYILVHYRJThNX0UQlMnqjTVPR6NO4qFE2QzzEiUS+lys+qfnvBzSmNbSh1zWQ==", - "requires": { - "@babel/runtime": "^7.0.0", - "fbjs": "^1.0.0" - } - }, "remark": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz", @@ -14053,6 +14654,21 @@ "htmlparser2": "^3.3.0", "strip-ansi": "^3.0.0", "utila": "^0.4.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, "repeat-element": { @@ -14118,9 +14734,9 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, "requires-port": { "version": "1.0.0", @@ -14128,9 +14744,9 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "resolve": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", - "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz", + "integrity": "sha512-fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg==", "requires": { "path-parse": "^1.0.6" } @@ -14141,6 +14757,13 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "requires": { "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } } }, "resolve-dir": { @@ -14153,9 +14776,9 @@ } }, "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "resolve-url": { "version": "0.2.1", @@ -14185,9 +14808,9 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, "retext-english": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/retext-english/-/retext-english-3.0.3.tgz", - "integrity": "sha512-qltUsSjHMvCvpAm90qRvzK1DEBOnhSK3tUQk5aHFCBtiMHccp6FhlCH0mQ9vFcBf5BsG7GEBdPysTlY3g9Lchg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/retext-english/-/retext-english-3.0.4.tgz", + "integrity": "sha512-yr1PgaBDde+25aJXrnt3p1jvT8FVLVat2Bx8XeAWX13KXo8OT+3nWGU3HWxM4YFJvmfqvJYJZG2d7xxaO774gw==", "requires": { "parse-english": "^4.0.0", "unherit": "^1.0.4" @@ -14198,6 +14821,11 @@ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, "rgb-regex": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", @@ -14209,9 +14837,9 @@ "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" }, "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "requires": { "glob": "^7.1.3" } @@ -14233,6 +14861,11 @@ "is-promise": "^2.1.0" } }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" + }, "run-queue": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", @@ -14255,9 +14888,9 @@ } }, "rxjs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz", - "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", "requires": { "tslib": "^1.9.0" } @@ -14303,10 +14936,9 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "scheduler": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", - "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", - "optional": true, + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -14322,12 +14954,12 @@ } }, "scroll-behavior": { - "version": "0.9.10", - "resolved": "https://registry.npmjs.org/scroll-behavior/-/scroll-behavior-0.9.10.tgz", - "integrity": "sha512-JVJQkBkqMLEM4ATtbHTKare97zhz/qlla9mNttFYY/bcpyOb4BuBGEQ/N9AQWXvshzf6zo9jP60TlphnJ4YPoQ==", + "version": "0.9.11", + "resolved": "https://registry.npmjs.org/scroll-behavior/-/scroll-behavior-0.9.11.tgz", + "integrity": "sha512-Eo32cg2uFiQwEiJXHHoTfXLybTlyA1O3ZOIiTz8EqRWie+ExL+7l8PcejhKT+5QmRtykXSlsTRVDC3BVB3S/bg==", "requires": { - "dom-helpers": "^3.2.1", - "invariant": "^2.2.2" + "dom-helpers": "^3.4.0", + "invariant": "^2.2.4" } }, "section-matter": { @@ -14379,17 +15011,17 @@ "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" }, "selfsigned": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", - "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", "requires": { - "node-forge": "0.7.5" + "node-forge": "0.9.0" } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, "semver-diff": { "version": "2.1.0", @@ -14397,6 +15029,13 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "requires": { "semver": "^5.0.3" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, "semver-regex": { @@ -14410,6 +15049,13 @@ "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", "requires": { "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, "send": { @@ -14460,9 +15106,9 @@ } }, "serialize-javascript": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.8.0.tgz", - "integrity": "sha512-3tHgtF4OzDmeKYj6V9nSyceRS0UJ3C7VqyD2Yj28vC/z2j6jG5FmFGahOKMD9CrglxTm3tETr87jEypaYV8DUg==" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==" }, "serve-index": { "version": "1.9.1", @@ -14581,27 +15227,19 @@ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" }, "sharp": { - "version": "0.22.1", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.22.1.tgz", - "integrity": "sha512-lXzSk/FL5b/MpWrT1pQZneKe25stVjEbl6uhhJcTULm7PhmJgKKRbTDM/vtjyUuC/RLqL2PRyC4rpKwbv3soEw==", + "version": "0.23.4", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.23.4.tgz", + "integrity": "sha512-fJMagt6cT0UDy9XCsgyLi0eiwWWhQRxbwGmqQT6sY8Av4s0SVsT/deg8fobBQCTDU5iXRgz0rAeXoE2LBZ8g+Q==", "requires": { - "color": "^3.1.1", + "color": "^3.1.2", "detect-libc": "^1.0.3", - "fs-copy-file-sync": "^1.1.1", - "nan": "^2.13.2", + "nan": "^2.14.0", "npmlog": "^4.1.2", - "prebuild-install": "^5.3.0", - "semver": "^6.0.0", - "simple-get": "^3.0.3", - "tar": "^4.4.8", + "prebuild-install": "^5.3.3", + "semver": "^6.3.0", + "simple-get": "^3.1.0", + "tar": "^5.0.5", "tunnel-agent": "^0.6.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } } }, "shebang-command": { @@ -14638,24 +15276,34 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, - "signedsource": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/signedsource/-/signedsource-1.0.0.tgz", - "integrity": "sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo=" - }, "simple-concat": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" }, "simple-get": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.0.3.tgz", - "integrity": "sha512-Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", + "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", "requires": { - "decompress-response": "^3.3.0", + "decompress-response": "^4.2.0", "once": "^1.3.1", "simple-concat": "^1.0.0" + }, + "dependencies": { + "decompress-response": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "requires": { + "mimic-response": "^2.0.0" + } + }, + "mimic-response": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.0.0.tgz", + "integrity": "sha512-8ilDoEapqA4uQ3TwS0jakGONKXVJqpy+RpM+3b7pLdOjghCrEiGp9SRkFbUHAmZW9vdnrENWHjaweIoTIJExSQ==" + } } }, "simple-swizzle": { @@ -14674,14 +15322,14 @@ } }, "sisteransi": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz", - "integrity": "sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz", + "integrity": "sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==" }, "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, "slice-ansi": { "version": "2.1.0", @@ -14700,6 +15348,11 @@ } } }, + "slugify": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.3.6.tgz", + "integrity": "sha512-wA9XS475ZmGNlEnYYLPReSfuz/c3VQsEMoU43mi6OnKMCdbnFXd4/Yg7J0lBv8jkPolacMpOrWEaoYxuE1+hoQ==" + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -14800,6 +15453,11 @@ "kind-of": "^3.2.0" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -14811,44 +15469,34 @@ } }, "socket.io": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.2.0.tgz", - "integrity": "sha512-wxXrIuZ8AILcn+f1B4ez4hJTPG24iNgxBBDaJfT6MsyOhVYiTXWexGoPkd87ktJG8kQEcL/NBvRi64+9k4Kc0w==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", + "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", "requires": { "debug": "~4.1.0", - "engine.io": "~3.3.1", + "engine.io": "~3.4.0", "has-binary2": "~1.0.2", "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.2.0", - "socket.io-parser": "~3.3.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - } + "socket.io-client": "2.3.0", + "socket.io-parser": "~3.4.0" } }, "socket.io-adapter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", - "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", + "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" }, "socket.io-client": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.2.0.tgz", - "integrity": "sha512-56ZrkTDbdTLmBIyfFYesgOxsjcLnwAKoN4CiPyTVkMQj3zTUh0QAx3GbvIvLpFEOvQWu92yyWICxB0u7wkVbYA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", + "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", "requires": { "backo2": "1.0.2", "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.3.1", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", "has-binary2": "~1.0.2", "has-cors": "1.1.0", "indexof": "0.0.1", @@ -14864,28 +15512,45 @@ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "socket.io-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", + "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } } } }, "socket.io-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", - "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.0.tgz", + "integrity": "sha512-/G/VOI+3DBp0+DJKW4KesGnQkQPFmUCbA/oO2QGT6CWxU7hLGWqU3tyuzeSK/dqcyeHsQg1vTe9jiZI8GU9SCQ==", "requires": { "component-emitter": "1.2.1", - "debug": "~3.1.0", + "debug": "~4.1.0", "isarray": "2.0.1" }, "dependencies": { @@ -14894,23 +15559,10 @@ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, "isarray": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -14998,11 +15650,11 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "requires": { - "atob": "^2.1.1", + "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", @@ -15010,9 +15662,9 @@ } }, "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -15073,16 +15725,6 @@ "http-deceiver": "^1.2.7", "select-hose": "^2.0.0", "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - } } }, "spdy-transport": { @@ -15096,16 +15738,8 @@ "obuf": "^1.1.2", "readable-stream": "^3.0.6", "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, + }, + "dependencies": { "readable-stream": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", @@ -15141,6 +15775,11 @@ "lpad-align": "^1.0.1" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", @@ -15158,6 +15797,14 @@ "supports-color": "^2.0.0" } }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -15214,9 +15861,9 @@ "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==" }, "stackframe": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz", - "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.1.tgz", + "integrity": "sha512-0PlYhdKh6AfFxRyK/v+6/k+/mMfyiEBbTM5L94D0ZytQnJ166wuwoTYLHFWGbs2dpA8Rgq763KGWmN1EQEYHRQ==" }, "state-toggle": { "version": "1.0.2", @@ -15301,9 +15948,9 @@ } }, "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" }, "strict-uri-encode": { "version": "1.1.0", @@ -15311,30 +15958,13 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, "string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", "optional": true, "requires": { "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "optional": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "optional": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "strip-ansi": "^5.2.0" } }, "string-similarity": { @@ -15350,41 +15980,40 @@ } }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.0" } } } }, - "string.prototype.trim": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz", - "integrity": "sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg==", + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.13.0", "function-bind": "^1.1.1" } }, @@ -15418,11 +16047,18 @@ } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + } } }, "strip-bom": { @@ -15457,6 +16093,11 @@ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, "strip-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", @@ -15466,9 +16107,9 @@ } }, "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==" }, "strip-outer": { "version": "1.0.1", @@ -15479,12 +16120,24 @@ } }, "style-loader": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", - "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", + "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", "requires": { "loader-utils": "^1.1.0", - "schema-utils": "^0.4.5" + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } } }, "style-to-object": { @@ -15496,9 +16149,9 @@ } }, "styled-components": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-4.4.0.tgz", - "integrity": "sha512-xQ6vTI/0zNjZ1BBDRxyjvBddrxhQ3DxjeCdaLM1lSn5FDnkTOQgRkmWvcUiTajqc5nJqKVl+7sUioMqktD0+Zw==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-4.4.1.tgz", + "integrity": "sha512-RNqj14kYzw++6Sr38n7197xG33ipEOktGElty4I70IKzQF1jzaD1U4xQ+Ny/i03UUhHlC5NWEO+d8olRCDji6g==", "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/traverse": "^7.0.0", @@ -15516,22 +16169,22 @@ } }, "styled-system": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/styled-system/-/styled-system-5.1.1.tgz", - "integrity": "sha512-jTFstSW5valWSkCsJhgh0fqUFLi1hL+S7Zj6Q6Dj1VTkR77l8B3/mgtSROjjiIwRG9SLW1BsJWjLn8mTNiwqgg==", - "requires": { - "@styled-system/background": "^5.1.1", - "@styled-system/border": "^5.1.1", - "@styled-system/color": "^5.1.1", - "@styled-system/core": "^5.1.1", - "@styled-system/flexbox": "^5.1.1", - "@styled-system/grid": "^5.1.1", - "@styled-system/layout": "^5.1.1", - "@styled-system/position": "^5.1.1", - "@styled-system/shadow": "^5.1.1", - "@styled-system/space": "^5.1.1", - "@styled-system/typography": "^5.1.1", - "@styled-system/variant": "^5.1.1", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/styled-system/-/styled-system-5.1.4.tgz", + "integrity": "sha512-b1EdfZ41NDcR6vnvZauylhpFvSjsFl1yyQEUA+v3rLjcKdM//EIFY195Nh3YLwgj+hWIWsG0Tk1Kl0tq1xLw8Q==", + "requires": { + "@styled-system/background": "^5.1.2", + "@styled-system/border": "^5.1.2", + "@styled-system/color": "^5.1.2", + "@styled-system/core": "^5.1.2", + "@styled-system/flexbox": "^5.1.2", + "@styled-system/grid": "^5.1.2", + "@styled-system/layout": "^5.1.2", + "@styled-system/position": "^5.1.2", + "@styled-system/shadow": "^5.1.2", + "@styled-system/space": "^5.1.2", + "@styled-system/typography": "^5.1.2", + "@styled-system/variant": "^5.1.4", "object-assign": "^4.1.1" } }, @@ -15546,13 +16199,13 @@ }, "dependencies": { "browserslist": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", - "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", + "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", "requires": { - "caniuse-lite": "^1.0.30000984", - "electron-to-chromium": "^1.3.191", - "node-releases": "^1.1.25" + "caniuse-lite": "^1.0.30001017", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.44" } }, "postcss-selector-parser": { @@ -15586,16 +16239,16 @@ } }, "svgo": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz", - "integrity": "sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", "requires": { "chalk": "^2.4.1", "coa": "^2.0.2", "css-select": "^2.0.0", "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.33", - "csso": "^3.5.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", "js-yaml": "^3.13.1", "mkdirp": "~0.5.1", "object.values": "^1.1.0", @@ -15606,16 +16259,21 @@ }, "dependencies": { "css-select": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz", - "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", "requires": { "boolbase": "^1.0.0", - "css-what": "^2.1.2", + "css-what": "^3.2.1", "domutils": "^1.7.0", "nth-check": "^1.0.2" } }, + "css-what": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", + "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==" + }, "domutils": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", @@ -15643,11 +16301,6 @@ "string-width": "^3.0.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -15667,14 +16320,6 @@ "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } } } }, @@ -15684,60 +16329,58 @@ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" }, "tar": { - "version": "4.4.10", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz", - "integrity": "sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==", - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.5", - "minizlib": "^1.2.1", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/tar/-/tar-5.0.5.tgz", + "integrity": "sha512-MNIgJddrV2TkuwChwcSNds/5E9VijOiw7kAc1y5hTNJoLDSuIyid2QtLYiCYNnICebpuvjhPQZsXwUL0O3l7OQ==", + "requires": { + "chownr": "^1.1.3", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.0", "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" + "yallist": "^4.0.0" }, "dependencies": { "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, "tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz", + "integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==", "requires": { - "chownr": "^1.0.1", + "chownr": "^1.1.1", "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - }, - "dependencies": { - "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } + "pump": "^3.0.0", + "tar-stream": "^2.0.0" } }, "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.0.tgz", + "integrity": "sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==", "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", + "bl": "^3.0.0", + "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "temp-dir": { @@ -15755,21 +16398,18 @@ } }, "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", - "requires": { - "execa": "^0.7.0" - } + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.1.1.tgz", + "integrity": "sha512-UqvQSch04R+69g4RDhrslmGvGL3ucDRX/U+snYW0Mab4uCAyKSndUksaoqlJ81QKSpRnIsuOYQCbC2ZWx2896A==" }, "terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.1.tgz", + "integrity": "sha512-w0f2OWFD7ka3zwetgVAhNMeyzEbj39ht2Tb0qKflw9PmW9Qbo5tjTh01QJLkhO9t9RDDQYvk+WXqpECI2C6i2A==", "requires": { - "commander": "^2.19.0", + "commander": "^2.20.0", "source-map": "~0.6.1", - "source-map-support": "~0.5.10" + "source-map-support": "~0.5.12" }, "dependencies": { "source-map": { @@ -15780,21 +16420,26 @@ } }, "terser-webpack-plugin": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.4.tgz", - "integrity": "sha512-64IiILNQlACWZLzFlpzNaG0bpQ4ytaB7fwOsbpsdIV70AfLUmIGGeuKL0YV2WmtcrURjE2aOvHD4/lrFV3Rg+Q==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", + "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", "requires": { - "cacache": "^11.3.2", - "find-cache-dir": "^2.0.0", + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^1.7.0", + "serialize-javascript": "^2.1.2", "source-map": "^0.6.1", - "terser": "^3.17.0", - "webpack-sources": "^1.3.0", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", "worker-farm": "^1.7.0" }, "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -15837,9 +16482,9 @@ } }, "thunky": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", - "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" }, "timed-out": { "version": "4.0.1", @@ -15876,16 +16521,16 @@ "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" }, "tlds": { - "version": "1.203.1", - "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.203.1.tgz", - "integrity": "sha512-7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw==" + "version": "1.207.0", + "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.207.0.tgz", + "integrity": "sha512-k7d7Q1LqjtAvhtEOs3yN14EabsNO8ZCoY6RESSJDB9lst3bTx3as/m1UuAeCKzYxiyhR1qq72ZPhpSf+qlqiwg==" }, "tmp": { - "version": "0.0.31", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", - "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "~1.0.1" + "os-tmpdir": "~1.0.2" } }, "to-array": { @@ -15916,6 +16561,11 @@ "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -15926,6 +16576,11 @@ } } }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", @@ -15951,14 +16606,6 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, - "topo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz", - "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=", - "requires": { - "hoek": "4.x.x" - } - }, "tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", @@ -15998,11 +16645,6 @@ "escape-string-regexp": "^1.0.2" } }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" - }, "trim-trailing-lines": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz", @@ -16019,15 +16661,23 @@ "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" }, "ts-pnp": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.1.2.tgz", - "integrity": "sha512-f5Knjh7XCyRIzoC/z1Su1yLLRrPrFCgtUAh/9fCSP6NKbATwpOL1+idQVXQokK9GRFURn/jYPGPfegIctwunoA==" + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.1.5.tgz", + "integrity": "sha512-ti7OGMOUOzo66wLF3liskw6YQIaSsBgc4GOAlWRnIEj8htCxJUxskanMUoJOD6MDCRAXo36goXJZch+nOS0VMA==" }, "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "requires": { + "tslib": "^1.8.1" + } + }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -16055,9 +16705,9 @@ } }, "type-fest": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", - "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==" + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" }, "type-is": { "version": "1.6.18", @@ -16078,10 +16728,18 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, "ua-parser-js": { - "version": "0.7.20", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz", - "integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw==" + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz", + "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==" }, "unbzip2-stream": { "version": "1.3.3", @@ -16093,9 +16751,9 @@ }, "dependencies": { "buffer": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.0.tgz", - "integrity": "sha512-Xpgy0IwHK2N01ncykXTy6FpCWuM+CJSHoPVBLyNqyrWxsedpLvwsYUhf0ME3WRFNUhos0dMamz9cOS/xRDtU5g==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", + "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4" @@ -16163,6 +16821,16 @@ "x-is-string": "^0.1.0" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "unist-util-stringify-position": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", + "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==" + }, "vfile": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz", @@ -16173,6 +16841,14 @@ "unist-util-stringify-position": "^1.0.0", "vfile-message": "^1.0.0" } + }, + "vfile-message": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", + "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", + "requires": { + "unist-util-stringify-position": "^1.1.1" + } } } }, @@ -16230,32 +16906,32 @@ } }, "unist-util-generated": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.4.tgz", - "integrity": "sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww==" + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.5.tgz", + "integrity": "sha512-1TC+NxQa4N9pNdayCYA1EGUOCAO0Le3fVp7Jzns6lnua/mYgwHo0tz5WUAfrdpNch1RZLHc61VZ1SDgrtNXLSw==" }, "unist-util-is": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz", - "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", + "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" }, "unist-util-modify-children": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.4.tgz", - "integrity": "sha512-8iey9wkoB62C7Vi/8zcRUmi4b1f5AYKTwMkyEgLduo2D8+OY65RoSvbn6k9tVNri6qumXxAwXDVlXWQi0sENTw==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.5.tgz", + "integrity": "sha512-XeL5qqyoS3TEueCKEzHusWXE9JBDJPE4rl6LmcLOwlzv0RIZrcMNqKx02GSK3Ms4v45ldu+ltPxG42FBMVdPZw==", "requires": { "array-iterate": "^1.0.0" } }, "unist-util-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.3.tgz", - "integrity": "sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw==" + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.4.tgz", + "integrity": "sha512-tWvIbV8goayTjobxDIr4zVTyG+Q7ragMSMeKC3xnPl9xzIc0+she8mxXLM3JVNDDsfARPbCd3XdzkyLdo7fF3g==" }, "unist-util-remove-position": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz", - "integrity": "sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", + "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", "requires": { "unist-util-visit": "^1.1.0" } @@ -16286,9 +16962,12 @@ } }, "unist-util-stringify-position": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", - "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz", + "integrity": "sha512-nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA==", + "requires": { + "@types/unist": "^2.0.2" + } }, "unist-util-visit": { "version": "1.4.1", @@ -16309,13 +16988,6 @@ "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", "requires": { "unist-util-is": "^3.0.0" - }, - "dependencies": { - "unist-util-is": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", - "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" - } } }, "universalify": { @@ -16362,78 +17034,179 @@ } } }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" - }, - "upath": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", - "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==" - }, - "update-notifier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", - "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "ansi-align": { + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "update-notifier": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.1.tgz", + "integrity": "sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==", + "requires": { + "boxen": "^3.0.0", + "chalk": "^2.0.1", + "configstore": "^4.0.0", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.1.0", + "is-npm": "^3.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + } + }, + "configstore": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", + "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "requires": { - "string-width": "^2.0.0" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "boxen": { + "make-dir": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "pify": "^3.0.0" } }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" }, - "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=" + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + } + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", "requires": { - "ci-info": "^1.5.0" + "string-width": "^2.1.1" + }, + "dependencies": { + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } } } } @@ -16499,11 +17272,11 @@ } }, "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "^2.0.0" } }, "url-regex": { @@ -16585,9 +17358,9 @@ "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" }, "v8-compile-cache": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz", - "integrity": "sha512-ejdrifsIydN1XDH7EuR2hn8ZrkRKUYF7tUcBjBy/lhrCvs2K+zRlbW9UHc0IQ9RsYFZJFqJrieoIHfkCa0DBRA==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==" }, "valid-url": { "version": "1.0.9", @@ -16634,30 +17407,39 @@ "vfile-message": "^1.0.0" }, "dependencies": { - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" + "unist-util-stringify-position": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", + "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==" + }, + "vfile-message": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", + "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", + "requires": { + "unist-util-stringify-position": "^1.1.1" + } } } }, "vfile-location": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz", - "integrity": "sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", + "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==" }, "vfile-message": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", - "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.2.tgz", + "integrity": "sha512-gNV2Y2fDvDOOqq8bEe7cF3DXU6QgV4uA9zMR2P8tix11l1r7zju3zry3wZ8sx+BEfuO6WQ7z2QzfWTvqHQiwsA==", "requires": { - "unist-util-stringify-position": "^1.1.1" + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" } }, "vm-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", - "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" }, "warning": { "version": "3.0.0", @@ -16675,6 +17457,51 @@ "chokidar": "^2.0.2", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0" + }, + "dependencies": { + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + } } }, "wbuf": { @@ -16691,40 +17518,39 @@ "integrity": "sha512-r8sAtNmgR0WKOKOxzuSgk09JsHlpKlB+uHi937qypOu3PZ17UxPrierFKDye/uNHjNTTEshu5PId8rojIPj/tA==" }, "webpack": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.28.4.tgz", - "integrity": "sha512-NxjD61WsK/a3JIdwWjtIpimmvE6UrRi3yG54/74Hk9rwNj5FPkA4DJCf1z4ByDWLkvZhTZE+P3C/eh6UD5lDcw==", - "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-module-context": "1.7.11", - "@webassemblyjs/wasm-edit": "1.7.11", - "@webassemblyjs/wasm-parser": "1.7.11", - "acorn": "^5.6.2", - "acorn-dynamic-import": "^3.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", + "version": "4.41.5", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.5.tgz", + "integrity": "sha512-wp0Co4vpyumnp3KlkmpM5LWuzvZYayDwM2n17EHFr4qxBBbRokC7DJawPJC7TfSFZ9HZ6GsdH40EBj4UV0nmpw==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", + "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", - "schema-utils": "^0.4.4", - "tapable": "^1.1.0", - "terser-webpack-plugin": "^1.1.0", - "watchpack": "^1.5.0", - "webpack-sources": "^1.3.0" + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==" }, "eslint-scope": { "version": "4.0.3", @@ -16734,79 +17560,102 @@ "esrecurse": "^4.1.0", "estraverse": "^4.1.1" } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } } } }, "webpack-dev-middleware": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz", - "integrity": "sha512-qvDesR1QZRIAZHOE3iQ4CXLZZSQ1lAUsSpnQmlB1PBfoN/xdRjmge3Dok0W4IdaVLJOGJy3sGI4sZHwjRU0PCA==", + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", "requires": { "memory-fs": "^0.4.1", - "mime": "^2.4.2", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", "range-parser": "^1.2.1", "webpack-log": "^2.0.0" } }, "webpack-dev-server": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.0.tgz", - "integrity": "sha512-Hs8K9yI6pyMvGkaPTeTonhD6JXVsigXDApYk9JLW4M7viVBspQvb1WdAcWxqtmttxNW4zf2UFLsLNe0y87pIGQ==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.1.tgz", + "integrity": "sha512-AGG4+XrrXn4rbZUueyNrQgO4KGnol+0wm3MPdqGLmmA+NofZl3blZQKxZ9BND6RDNuvAK9OMYClhjOSnxpWRoA==", "requires": { "ansi-html": "0.0.7", "bonjour": "^3.5.0", - "chokidar": "^2.1.6", + "chokidar": "^2.1.8", "compression": "^1.7.4", "connect-history-api-fallback": "^1.6.0", "debug": "^4.1.1", "del": "^4.1.1", "express": "^4.17.1", "html-entities": "^1.2.1", - "http-proxy-middleware": "^0.19.1", + "http-proxy-middleware": "0.19.1", "import-local": "^2.0.0", "internal-ip": "^4.3.0", "ip": "^1.1.5", - "is-absolute-url": "^3.0.0", + "is-absolute-url": "^3.0.3", "killable": "^1.0.1", - "loglevel": "^1.6.3", + "loglevel": "^1.6.6", "opn": "^5.5.0", "p-retry": "^3.0.1", - "portfinder": "^1.0.21", + "portfinder": "^1.0.25", "schema-utils": "^1.0.0", - "selfsigned": "^1.10.4", + "selfsigned": "^1.10.7", "semver": "^6.3.0", "serve-index": "^1.9.1", "sockjs": "0.3.19", - "sockjs-client": "1.3.0", + "sockjs-client": "1.4.0", "spdy": "^4.0.1", "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.0", + "webpack-dev-middleware": "^3.7.2", "webpack-log": "^2.0.0", "ws": "^6.2.1", "yargs": "12.0.5" }, "dependencies": { - "@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" + "array-uniq": "^1.0.1" } }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } }, "cliui": { "version": "4.1.0", @@ -16818,6 +17667,11 @@ "wrap-ansi": "^2.0.0" }, "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -16828,172 +17682,92 @@ } } }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, "del": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - } - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "requires": { - "original": "^1.0.0" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" - }, - "is-absolute-url": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.1.tgz", - "integrity": "sha512-c2QjUwuMxLsld90sj3xYzpFYWJtuxkIn1f5ua9RTEYJt/vV2IsM+Py00/6qjV7qExgifUvt7qfyBGBBKm+2iBg==" - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "requires": { - "invert-kv": "^2.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" } }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" + "original": "^1.0.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, - "os-locale": { + "glob-parent": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } } }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "requires": { - "p-try": "^2.0.0" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } } }, - "p-locate": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", "requires": { - "p-limit": "^2.0.0" + "is-wsl": "^1.1.0" } }, "p-map": { @@ -17001,15 +17775,10 @@ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "schema-utils": { "version": "1.0.0", @@ -17021,15 +17790,10 @@ "ajv-keywords": "^3.1.0" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, "sockjs-client": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", - "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", "requires": { "debug": "^3.2.5", "eventsource": "^1.0.7", @@ -17049,6 +17813,38 @@ } } }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -17057,6 +17853,35 @@ "has-flag": "^3.0.0" } }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, "ws": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", @@ -17104,6 +17929,21 @@ "html-entities": "^1.2.0", "querystring": "^0.2.0", "strip-ansi": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, "webpack-log": { @@ -17116,11 +17956,11 @@ } }, "webpack-merge": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.1.tgz", - "integrity": "sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", "requires": { - "lodash": "^4.17.5" + "lodash": "^4.17.15" } }, "webpack-sources": { @@ -17140,9 +17980,9 @@ } }, "webpack-stats-plugin": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/webpack-stats-plugin/-/webpack-stats-plugin-0.1.5.tgz", - "integrity": "sha1-KeXxLr/VMVjTHWVqETrB97hhedk=" + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/webpack-stats-plugin/-/webpack-stats-plugin-0.3.1.tgz", + "integrity": "sha512-pxqzFE055NlNTlNyfDG3xlB2QwT1EWdm/CF5dCJI/e+rRHVxrWhWg1rf1lfsWhI1/EePv8gi/A36YxO/+u0FgQ==" }, "websocket-driver": { "version": "0.7.3", @@ -17188,86 +18028,104 @@ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "requires": { "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } } }, "widest-line": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "requires": { - "string-width": "^2.1.1" + "string-width": "^4.0.0" } }, "with-open-file": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.6.tgz", - "integrity": "sha512-SQS05JekbtwQSgCYlBsZn/+m2gpn4zWsqpCYIrCHva0+ojXcnmUEPsBN6Ipoz3vmY/81k5PvYEWSxER2g4BTqA==", + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.7.tgz", + "integrity": "sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA==", "requires": { "p-finally": "^1.0.0", "p-try": "^2.1.0", "pify": "^4.0.1" - }, - "dependencies": { - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - } } }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, "workbox-background-sync": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-3.6.3.tgz", - "integrity": "sha512-ypLo0B6dces4gSpaslmDg5wuoUWrHHVJfFWwl1udvSylLdXvnrfhFfriCS42SNEe5lsZtcNZF27W/SMzBlva7Q==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", + "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==", "requires": { - "workbox-core": "^3.6.3" + "workbox-core": "^4.3.1" } }, - "workbox-broadcast-cache-update": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-broadcast-cache-update/-/workbox-broadcast-cache-update-3.6.3.tgz", - "integrity": "sha512-pJl4lbClQcvp0SyTiEw0zLSsVYE1RDlCPtpKnpMjxFtu8lCFTAEuVyzxp9w7GF4/b3P4h5nyQ+q7V9mIR7YzGg==", + "workbox-broadcast-update": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz", + "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==", "requires": { - "workbox-core": "^3.6.3" + "workbox-core": "^4.3.1" } }, "workbox-build": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-3.6.3.tgz", - "integrity": "sha512-w0clZ/pVjL8VXy6GfthefxpEXs0T8uiRuopZSFVQ8ovfbH6c6kUpEh6DcYwm/Y6dyWPiCucdyAZotgjz+nRz8g==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz", + "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==", "requires": { - "babel-runtime": "^6.26.0", - "common-tags": "^1.4.0", + "@babel/runtime": "^7.3.4", + "@hapi/joi": "^15.0.0", + "common-tags": "^1.8.0", "fs-extra": "^4.0.2", - "glob": "^7.1.2", - "joi": "^11.1.1", + "glob": "^7.1.3", "lodash.template": "^4.4.0", - "pretty-bytes": "^4.0.2", - "stringify-object": "^3.2.2", + "pretty-bytes": "^5.1.0", + "stringify-object": "^3.3.0", "strip-comments": "^1.0.2", - "workbox-background-sync": "^3.6.3", - "workbox-broadcast-cache-update": "^3.6.3", - "workbox-cache-expiration": "^3.6.3", - "workbox-cacheable-response": "^3.6.3", - "workbox-core": "^3.6.3", - "workbox-google-analytics": "^3.6.3", - "workbox-navigation-preload": "^3.6.3", - "workbox-precaching": "^3.6.3", - "workbox-range-requests": "^3.6.3", - "workbox-routing": "^3.6.3", - "workbox-strategies": "^3.6.3", - "workbox-streams": "^3.6.3", - "workbox-sw": "^3.6.3" + "workbox-background-sync": "^4.3.1", + "workbox-broadcast-update": "^4.3.1", + "workbox-cacheable-response": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-expiration": "^4.3.1", + "workbox-google-analytics": "^4.3.1", + "workbox-navigation-preload": "^4.3.1", + "workbox-precaching": "^4.3.1", + "workbox-range-requests": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1", + "workbox-streams": "^4.3.1", + "workbox-sw": "^4.3.1", + "workbox-window": "^4.3.1" }, "dependencies": { "fs-extra": { @@ -17282,90 +18140,98 @@ } } }, - "workbox-cache-expiration": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-cache-expiration/-/workbox-cache-expiration-3.6.3.tgz", - "integrity": "sha512-+ECNph/6doYx89oopO/UolYdDmQtGUgo8KCgluwBF/RieyA1ZOFKfrSiNjztxOrGJoyBB7raTIOlEEwZ1LaHoA==", - "requires": { - "workbox-core": "^3.6.3" - } - }, "workbox-cacheable-response": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-3.6.3.tgz", - "integrity": "sha512-QpmbGA9SLcA7fklBLm06C4zFg577Dt8u3QgLM0eMnnbaVv3rhm4vbmDpBkyTqvgK/Ly8MBDQzlXDtUCswQwqqg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz", + "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==", "requires": { - "workbox-core": "^3.6.3" + "workbox-core": "^4.3.1" } }, "workbox-core": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-3.6.3.tgz", - "integrity": "sha512-cx9cx0nscPkIWs8Pt98HGrS9/aORuUcSkWjG25GqNWdvD/pSe7/5Oh3BKs0fC+rUshCiyLbxW54q0hA+GqZeSQ==" + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz", + "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==" + }, + "workbox-expiration": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", + "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", + "requires": { + "workbox-core": "^4.3.1" + } }, "workbox-google-analytics": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-3.6.3.tgz", - "integrity": "sha512-RQBUo/6SXtIaQTRFj4RQZ9e1gAl7D8oS5S+Hi173Kk70/BgJjzPwXpC5A249Jv5YfkCOLMQCeF9A27BiD0b0ig==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz", + "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==", "requires": { - "workbox-background-sync": "^3.6.3", - "workbox-core": "^3.6.3", - "workbox-routing": "^3.6.3", - "workbox-strategies": "^3.6.3" + "workbox-background-sync": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1" } }, "workbox-navigation-preload": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-3.6.3.tgz", - "integrity": "sha512-dd26xTX16DUu0i+MhqZK/jQXgfIitu0yATM4jhRXEmpMqQ4MxEeNvl2CgjDMOHBnCVMax+CFZQWwxMx/X/PqCw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz", + "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==", "requires": { - "workbox-core": "^3.6.3" + "workbox-core": "^4.3.1" } }, "workbox-precaching": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-3.6.3.tgz", - "integrity": "sha512-aBqT66BuMFviPTW6IpccZZHzpA8xzvZU2OM1AdhmSlYDXOJyb1+Z6blVD7z2Q8VNtV1UVwQIdImIX+hH3C3PIw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz", + "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==", "requires": { - "workbox-core": "^3.6.3" + "workbox-core": "^4.3.1" } }, "workbox-range-requests": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-3.6.3.tgz", - "integrity": "sha512-R+yLWQy7D9aRF9yJ3QzwYnGFnGDhMUij4jVBUVtkl67oaVoP1ymZ81AfCmfZro2kpPRI+vmNMfxxW531cqdx8A==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz", + "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==", "requires": { - "workbox-core": "^3.6.3" + "workbox-core": "^4.3.1" } }, "workbox-routing": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-3.6.3.tgz", - "integrity": "sha512-bX20i95OKXXQovXhFOViOK63HYmXvsIwZXKWbSpVeKToxMrp0G/6LZXnhg82ijj/S5yhKNRf9LeGDzaqxzAwMQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz", + "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==", "requires": { - "workbox-core": "^3.6.3" + "workbox-core": "^4.3.1" } }, "workbox-strategies": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-3.6.3.tgz", - "integrity": "sha512-Pg5eulqeKet2y8j73Yw6xTgLdElktcWExGkzDVCGqfV9JCvnGuEpz5eVsCIK70+k4oJcBCin9qEg3g3CwEIH3g==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz", + "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==", "requires": { - "workbox-core": "^3.6.3" + "workbox-core": "^4.3.1" } }, "workbox-streams": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-3.6.3.tgz", - "integrity": "sha512-rqDuS4duj+3aZUYI1LsrD2t9hHOjwPqnUIfrXSOxSVjVn83W2MisDF2Bj+dFUZv4GalL9xqErcFW++9gH+Z27w==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz", + "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==", "requires": { - "workbox-core": "^3.6.3" + "workbox-core": "^4.3.1" } }, "workbox-sw": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-3.6.3.tgz", - "integrity": "sha512-IQOUi+RLhvYCiv80RP23KBW/NTtIvzvjex28B8NW1jOm+iV4VIu3VXKXTA6er5/wjjuhmtB28qEAUqADLAyOSg==" + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz", + "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==" + }, + "workbox-window": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz", + "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==", + "requires": { + "workbox-core": "^4.3.1" + } }, "worker-farm": { "version": "1.7.0", @@ -17376,22 +18242,33 @@ } }, "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } } } @@ -17420,12 +18297,9 @@ } }, "ws": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", - "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", - "requires": { - "async-limiter": "~1.0.0" - } + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.1.tgz", + "integrity": "sha512-sucePNSafamSKoOqoNfBd8V0StlkzJKL2ZAhGQinCfNQ+oacw+Pk7lcdAElecBF2VkLNZRiIb5Oi1Q5lVUVt2A==" }, "x-is-string": { "version": "0.1.0", @@ -17470,18 +18344,18 @@ "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" }, "xml2js": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", "requires": { "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" + "xmlbuilder": "~11.0.0" } }, "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" }, "xmlhttprequest-ssl": { "version": "1.5.5", @@ -17489,9 +18363,9 @@ "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" }, "xstate": { - "version": "4.6.7", - "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.6.7.tgz", - "integrity": "sha512-mqgtH6BXOgjOHVDxZPyW/h6QUC5kfEggh5IN8uOitjzrdCScE/a/cwcRvgcH8CGAXYReDNvasOKD0aFBWAZ1fg==" + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.7.5.tgz", + "integrity": "sha512-1QbwTUviBCHSnT3ct+GZZspzbNsftMEzP1lXmeR/zJphA1BHeLh/JV+woCmRdTBHyuGcJ2I7u7pp/+Y9e4qq9A==" }, "xtend": { "version": "4.0.2", @@ -17499,15 +18373,23 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, + "yaml": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz", + "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==", + "requires": { + "@babel/runtime": "^7.6.3" + } + }, "yaml-loader": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.5.0.tgz", @@ -17517,31 +18399,51 @@ } }, "yargs": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", - "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", - "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } } }, "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", "requires": { - "camelcase": "^4.1.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, "yauzl": { @@ -17565,51 +18467,43 @@ "optional": true }, "yurnalist": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/yurnalist/-/yurnalist-1.0.5.tgz", - "integrity": "sha512-EuLjqX3Q15iVM0UtZa5Ju536uRmklKd2kKhdE5D5fIh8RZmh+pJ8c6wj2oGo0TA+T/Ii2o79cIHCTMfciW8jlA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yurnalist/-/yurnalist-1.1.1.tgz", + "integrity": "sha512-WMk8SL262zU/3Cr8twpfx/kdhPDAkhWN9HukNeb1U1xVrwU9iIAsCgYI8J5QMZTz+5N3Et/ZKzvOzVCjd/dAWA==", "requires": { "babel-runtime": "^6.26.0", - "chalk": "^2.1.0", + "chalk": "^2.4.2", "cli-table3": "^0.5.1", - "debug": "^4.1.0", - "deep-equal": "^1.0.1", - "detect-indent": "^5.0.0", - "inquirer": "^6.2.0", + "debug": "^4.1.1", + "deep-equal": "^1.1.0", + "detect-indent": "^6.0.0", + "inquirer": "^7.0.0", "invariant": "^2.2.0", "is-builtin-module": "^3.0.0", "is-ci": "^2.0.0", - "leven": "^2.0.0", - "loud-rejection": "^1.2.0", - "node-emoji": "^1.6.1", + "leven": "^3.1.0", + "loud-rejection": "^2.2.0", + "node-emoji": "^1.10.0", "object-path": "^0.11.2", "read": "^1.0.7", - "rimraf": "^2.5.0", - "semver": "^5.1.0", - "strip-ansi": "^5.0.0", - "strip-bom": "^3.0.0" + "rimraf": "^3.0.0", + "semver": "^6.3.0", + "strip-ansi": "^5.2.0", + "strip-bom": "^4.0.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", "requires": { - "ms": "^2.1.1" + "glob": "^7.1.3" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" } } }, diff --git a/deps/npm/docs/package.json b/deps/npm/docs/package.json index cc009c53b8a3ee..708dc1009c2d39 100644 --- a/deps/npm/docs/package.json +++ b/deps/npm/docs/package.json @@ -11,22 +11,22 @@ "dependencies": { "babel-plugin-styled-components": "^1.10.6", "eslint": "^6.3.0", - "gatsby": "^2.13.73", - "gatsby-image": "^2.2.10", - "gatsby-plugin-catch-links": "^2.1.9", + "gatsby": "^2.18.17", + "gatsby-image": "^2.2.37", + "gatsby-plugin-catch-links": "^2.1.21", "gatsby-plugin-ipfs": "^2.0.2", - "gatsby-plugin-manifest": "^2.2.6", + "gatsby-plugin-manifest": "^2.2.34", "gatsby-plugin-no-sourcemaps": "^2.1.1", - "gatsby-plugin-offline": "^2.2.7", + "gatsby-plugin-offline": "^3.0.30", "gatsby-plugin-prefetch-google-fonts": "^1.4.3", - "gatsby-plugin-react-helmet": "^3.1.4", + "gatsby-plugin-react-helmet": "^3.1.18", "gatsby-plugin-root-import": "^2.0.5", - "gatsby-plugin-sharp": "^2.2.13", - "gatsby-plugin-styled-components": "^3.1.11", - "gatsby-remark-autolink-headers": "^2.1.10", - "gatsby-remark-prismjs": "^3.3.13", - "gatsby-source-filesystem": "^2.1.21", - "gatsby-transformer-remark": "^2.6.22", + "gatsby-plugin-sharp": "^2.3.10", + "gatsby-plugin-styled-components": "^3.1.16", + "gatsby-remark-autolink-headers": "^2.1.21", + "gatsby-remark-prismjs": "^3.3.28", + "gatsby-source-filesystem": "^2.1.43", + "gatsby-transformer-remark": "^2.6.45", "prismjs": "^1.17.1", "prop-types": "^15.7.2", "react": "^16.9.0", diff --git a/deps/npm/docs/public/cli-commands/npm-access/index.html b/deps/npm/docs/public/cli-commands/npm-access/index.html index 7a4103aaaedf44..f3853e530b6b3a 100644 --- a/deps/npm/docs/public/cli-commands/npm-access/index.html +++ b/deps/npm/docs/public/cli-commands/npm-access/index.html @@ -1,4 +1,4 @@ -

    npm access

    -

    Set access level on published packages

    -

    Synopsis

    +

    npm access

    +

    Set access level on published packages

    +

    Synopsis

    -

    Description

    +

    Description

    Used to set access controls on private packages.

    For all of the subcommands, npm access will perform actions on the packages in the current working directory if no package name is passed to the @@ -108,7 +114,7 @@

    edit: Set the access privileges for a package at once using $EDITOR.

  • -

    Details

    +

    Details

    npm access always operates directly on the current registry, configurable from the command line using --registry=<registry url>.

    Unscoped packages are always public.

    @@ -128,12 +134,12 @@

    --access=public.

    Management of teams and team memberships is done with the npm team command.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file + \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-adduser/index.html b/deps/npm/docs/public/cli-commands/npm-adduser/index.html index 9c6a0432096eda..7b96fcce677001 100644 --- a/deps/npm/docs/public/cli-commands/npm-adduser/index.html +++ b/deps/npm/docs/public/cli-commands/npm-adduser/index.html @@ -1,4 +1,4 @@ -

    +

    section: cli-commands title: npm-adduser description: Set access level on published packages


    -

    npm adduser

    -

    Add a registry user account

    -

    Synopsis

    +

    npm adduser

    +

    Add a registry user account

    +

    Synopsis

    npm adduser [--registry=url] [--scope=@orgname] [--always-auth] [--auth-type=legacy]
     
     aliases: login, add-user
    -

    Description

    +

    Description

    Create or verify a user named <username> in the specified registry, and save the credentials to the .npmrc file. If no registry is specified, the default registry will be used (see config).

    @@ -91,13 +97,13 @@

    npm login is an alias to adduser and behaves exactly the same way.

    -

    Configuration

    -

    registry

    +

    Configuration

    +

    registry

    Default: https://registry.npmjs.org/

    The base URL of the npm package registry. If scope is also specified, this registry will only be used for packages with that scope. scope defaults to the scope of the project directory you're currently in, if any. See scope.

    -

    scope

    +

    scope

    Default: none

    If specified, the user and login credentials given will be associated with the specified scope. See scope. You can use both at the same time, @@ -105,7 +111,7 @@

        npm adduser --registry=http://myregistry.example.com --scope=@myco

    This will set a registry for the given scope and login or create a user for that registry at the same time.

    -

    always-auth

    +

    always-auth

    Default: false

    If specified, save configuration indicating that all requests to the given registry should include authorization information. Useful for private @@ -115,7 +121,7 @@

    always-auth in config for more details on always-auth. Registry-specific configuration of always-auth takes precedence over any global configuration.

    -

    auth-type

    +

    auth-type

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-audit/index.html b/deps/npm/docs/public/cli-commands/npm-audit/index.html index 96b3cda738bb77..5d57fac3d4e3e5 100644 --- a/deps/npm/docs/public/cli-commands/npm-audit/index.html +++ b/deps/npm/docs/public/cli-commands/npm-audit/index.html @@ -1,4 +1,4 @@ -

    npm audit

    -

    Run a security audit

    -

    Synopsis

    +

    npm audit

    +

    Run a security audit

    +

    Synopsis

    npm audit [--json|--parseable|--audit-level=(low|moderate|high|critical)]
     npm audit fix [--force|--package-lock-only|--dry-run]
     
     common options: [--production] [--only=(dev|prod)]
    -

    Examples

    +

    Examples

    Scan your project for vulnerabilities and automatically install any compatible updates to vulnerable dependencies:

    $ npm audit fix
    @@ -103,7 +109,7 @@

    $ npm audit --parseable | awk -F $'\t' '{print $1,$4}'

    Fail an audit only if the results include a vulnerability with a level of moderate or higher:

    $ npm audit --audit-level=moderate
    -

    Description

    +

    Description

    The audit command submits a description of the dependencies configured in your project to your default registry and asks for a report of known vulnerabilities. The report returned includes instructions on how to act on @@ -120,7 +126,7 @@

    -

    Content Submitted

    +

    Content Submitted

    • npm_version
    • node_version
    • @@ -128,7 +134,7 @@

      Scrubbing

      +

      Scrubbing

      In order to ensure that potentially sensitive information is not included in the audit data bundle, some dependencies may have their names (and sometimes versions) replaced with opaque non-reversible identifiers. It is done for @@ -143,13 +149,13 @@

      Exit Code

      +

      Exit Code

      The npm audit command will exit with a 0 exit code if no vulnerabilities were found.

      If vulnerabilities were found the exit code will depend on the audit-level configuration setting.

      -

      See Also

      +

      See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-bin/index.html b/deps/npm/docs/public/cli-commands/npm-bin/index.html index d7069d3798c7ee..c54afe93556aeb 100644 --- a/deps/npm/docs/public/cli-commands/npm-bin/index.html +++ b/deps/npm/docs/public/cli-commands/npm-bin/index.html @@ -1,4 +1,4 @@ -

    npm bin

    -

    Display npm bin folder

    -

    Synopsis

    +

    npm bin

    +

    Display npm bin folder

    +

    Synopsis

    npm bin [-g|--global]
    -

    Description

    +

    Description

    Print the folder where npm will install executables.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-bugs/index.html b/deps/npm/docs/public/cli-commands/npm-bugs/index.html index d2d1c7f4563e63..d9f5b5282ff212 100644 --- a/deps/npm/docs/public/cli-commands/npm-bugs/index.html +++ b/deps/npm/docs/public/cli-commands/npm-bugs/index.html @@ -1,4 +1,4 @@ -

    npm bugs

    -

    Bugs for a package in a web browser maybe

    -

    Synopsis

    +

    npm bugs

    +

    Bugs for a package in a web browser maybe

    +

    Synopsis

    npm bugs [<pkgname>]
     
     aliases: issues
    -

    Description

    +

    Description

    This command tries to guess at the likely location of a package's bug tracker URL, and then tries to open it using the --browser config param. If no package name is provided, it will search for a package.json in the current folder and use the name property.

    -

    Configuration

    -

    browser

    +

    Configuration

    +

    browser

    • Default: OS X: "open", Windows: "start", Others: "xdg-open"
    • Type: String

    The browser that is called by the npm bugs command to open websites.

    -

    registry

    +

    registry

    The base URL of the npm package registry.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-build/index.html b/deps/npm/docs/public/cli-commands/npm-build/index.html index 4ef773207957b2..8850a4e9d88f3e 100644 --- a/deps/npm/docs/public/cli-commands/npm-build/index.html +++ b/deps/npm/docs/public/cli-commands/npm-build/index.html @@ -1,4 +1,4 @@ -

    npm build

    -

    Build a package

    -

    Synopsis

    +

    npm build

    +

    Build a package

    +

    Synopsis

    npm build [<package-folder>]
    • <package-folder>: A folder containing a package.json file in its root.
    -

    Description

    +

    Description

    This is the plumbing command called by npm link and npm install.

    It should generally be called during installation, but if you need to run it directly, run:

        npm run-script build
    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-bundle/index.html b/deps/npm/docs/public/cli-commands/npm-bundle/index.html index 017939b4ecfb91..9e8457cc5ac1c3 100644 --- a/deps/npm/docs/public/cli-commands/npm-bundle/index.html +++ b/deps/npm/docs/public/cli-commands/npm-bundle/index.html @@ -1,4 +1,4 @@ -

    npm bundle

    -

    REMOVED

    -

    Description

    +

    npm bundle

    +

    REMOVED

    +

    Description

    The npm bundle command has been removed in 1.0, for the simple reason that it is no longer necessary, as the default behavior is now to install packages into the local space.

    Just use npm install now to do what npm bundle used to do.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-cache/index.html b/deps/npm/docs/public/cli-commands/npm-cache/index.html index 974582d36a1b66..bbf164e0fb1e5a 100644 --- a/deps/npm/docs/public/cli-commands/npm-cache/index.html +++ b/deps/npm/docs/public/cli-commands/npm-cache/index.html @@ -1,4 +1,4 @@ -

    npm cache

    -

    Manipulates packages cache

    -

    Synopsis

    +

    npm cache

    +

    Manipulates packages cache

    +

    Synopsis

    npm cache add <tarball file>
     npm cache add <folder>
     npm cache add <tarball url>
    @@ -80,7 +86,7 @@ 

    npm cache clear, npm cache rm npm cache verify

    -

    Description

    +

    Description

    Used to add, list, or clean the npm cache folder.

    • add: @@ -93,7 +99,7 @@

    -

    Details

    +

    Details

    npm stores cache data in an opaque directory within the configured cache, named _cacache. This directory is a cacache-based content-addressable cache that stores all http request data as well as other package-related data. This @@ -110,7 +116,7 @@

    A note about the cache's design

    +

    A note about the cache's design

    The npm cache is strictly a cache: it should not be relied upon as a persistent and reliable data store for package data. npm makes no guarantee that a previously-cached piece of data will be available later, and will automatically @@ -118,18 +124,18 @@

    npm cache verify.

    -

    Configuration

    -

    cache

    +

    Configuration

    +

    cache

    Default: ~/.npm on Posix, or %AppData%/npm-cache on Windows.

    The root cache folder.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-ci/index.html b/deps/npm/docs/public/cli-commands/npm-ci/index.html index f5620f496ae57c..08b46aff44b0d5 100644 --- a/deps/npm/docs/public/cli-commands/npm-ci/index.html +++ b/deps/npm/docs/public/cli-commands/npm-ci/index.html @@ -1,4 +1,4 @@ -

    npm ci

    -

    Install a project with a clean slate

    -

    Synopsis

    +

    npm ci

    +

    Install a project with a clean slate

    +

    Synopsis

    npm ci
    -

    Example

    +

    Example

    Make sure you have a package-lock and an up-to-date install:

    $ cd ./my/npm/project
     $ npm install
    @@ -89,8 +95,8 @@ 

    "$HOME/.npm"

    -

    Description

    -

    This command is similar to npm install, except it's meant to be used in +

    Description

    +

    This command is similar to npm install, except it's meant to be used in automated environments such as test platforms, continuous integration, and deployment -- or any situation where you want to make sure you're doing a clean install of your dependencies. It can be significantly faster than a regular npm @@ -105,9 +111,9 @@

    If a node_modules is already present, it will be automatically removed before npm ci begins its install.
  • It will never write to package.json or any of the package-locks: installs are essentially frozen.
  • -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-completion/index.html b/deps/npm/docs/public/cli-commands/npm-completion/index.html index 3483cbc66784f2..0a8d28382f08e5 100644 --- a/deps/npm/docs/public/cli-commands/npm-completion/index.html +++ b/deps/npm/docs/public/cli-commands/npm-completion/index.html @@ -1,4 +1,4 @@ -

    npm completion

    -

    Tab Completion for npm

    -

    Synopsis

    +

    npm completion

    +

    Tab Completion for npm

    +

    Synopsis

    source <(npm completion)
    -

    Description

    +

    Description

    Enables tab-completion in all npm commands.

    The synopsis above loads the completions into your current shell. Adding it to @@ -87,7 +93,7 @@

    When COMP_CWORD, COMP_LINE, and COMP_POINT are defined in the environment, npm completion acts in "plumbing mode", and outputs completions based on the arguments.

    -

    See Also

    +

    See Also

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-config/index.html b/deps/npm/docs/public/cli-commands/npm-config/index.html index f9beefcd4039b5..5f6c38423fd106 100644 --- a/deps/npm/docs/public/cli-commands/npm-config/index.html +++ b/deps/npm/docs/public/cli-commands/npm-config/index.html @@ -1,4 +1,4 @@ -

    npm config

    -

    Manage the npm configuration files

    -

    Synopsis

    +

    npm config

    +

    Manage the npm configuration files

    +

    Synopsis

    npm config set <key> <value> [-g|--global]
     npm config get <key>
     npm config delete <key>
    @@ -80,7 +86,7 @@ 

    npm set <key> <value> [-g|--global] aliases: c

    -

    Description

    +

    Description

    npm gets its config settings from the command line, environment variables, npmrc files, and in some cases, the package.json file.

    See npmrc for more information about the npmrc files.

    @@ -88,30 +94,30 @@

    The npm config command can be used to update and edit the contents of the user and global npmrc files.

    -

    Sub-commands

    +

    Sub-commands

    Config supports the following sub-commands:

    -

    set

    +

    set

    npm config set key value

    Sets the config key to the value.

    If value is omitted, then it sets it to "true".

    -

    get

    +

    get

    npm config get key

    Echo the config value to stdout.

    -

    list

    +

    list

    npm config list

    Show all the config settings. Use -l to also show defaults. Use --json to show the settings in json format.

    -

    delete

    +

    delete

    npm config delete key

    Deletes the key from all configuration files.

    -

    edit

    +

    edit

    npm config edit

    Opens the config file in an editor. Use the --global flag to edit the global config.

    -

    See Also

    +

    See Also

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-dedupe/index.html b/deps/npm/docs/public/cli-commands/npm-dedupe/index.html index 571a3a34f2e02d..0b9b4e795290c3 100644 --- a/deps/npm/docs/public/cli-commands/npm-dedupe/index.html +++ b/deps/npm/docs/public/cli-commands/npm-dedupe/index.html @@ -1,4 +1,4 @@ -

    npm dedupe

    -

    Reduce duplication

    -

    Synopsis

    +

    npm dedupe

    +

    Reduce duplication

    +

    Synopsis

    npm dedupe
     npm ddp
     
     aliases: find-dupes, ddp
    -

    Description

    +

    Description

    Searches the local package tree and attempts to simplify the overall structure by moving dependencies further up the tree, where they can be more effectively shared by multiple dependent packages.

    @@ -103,11 +109,11 @@

    Modules

    Note that this operation transforms the dependency tree, but will never result in new modules being installed.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-deprecate/index.html b/deps/npm/docs/public/cli-commands/npm-deprecate/index.html index ef5df5c9a1339e..503e6ec7fc4660 100644 --- a/deps/npm/docs/public/cli-commands/npm-deprecate/index.html +++ b/deps/npm/docs/public/cli-commands/npm-deprecate/index.html @@ -1,4 +1,4 @@ -

    npm deprecate

    -

    Deprecate a version of a package

    -

    Synopsis

    +

    npm deprecate

    +

    Deprecate a version of a package

    +

    Synopsis

    npm deprecate <pkg>[@<version>] <message>
    -

    Description

    +

    Description

    This command will update the npm registry entry for a package, providing a deprecation warning to all who attempt to install it.

    It works on version ranges as well as specific @@ -83,9 +89,9 @@

    To un-deprecate a package, specify an empty string ("") for the message argument. Note that you must use double quotes with no space between them to format an empty string.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-dist-tag/index.html b/deps/npm/docs/public/cli-commands/npm-dist-tag/index.html index c560d919aa6d29..7955f8def330eb 100644 --- a/deps/npm/docs/public/cli-commands/npm-dist-tag/index.html +++ b/deps/npm/docs/public/cli-commands/npm-dist-tag/index.html @@ -1,4 +1,4 @@ -

    +

    section: cli-commands title: npm-dist-tag description: Modify package distribution tags


    -

    npm dist-tag

    -

    Modify package distribution tags

    -

    Synopsis

    +

    npm dist-tag

    +

    Modify package distribution tags

    +

    Synopsis

    npm dist-tag add <pkg>@<version> [<tag>]
     npm dist-tag rm <pkg> <tag>
     npm dist-tag ls [<pkg>]
     
     aliases: dist-tags
    -

    Description

    +

    Description

    Add, remove, and enumerate distribution tags on a package:

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-docs/index.html b/deps/npm/docs/public/cli-commands/npm-docs/index.html index 99ba5bed69f941..42f18e75075ce1 100644 --- a/deps/npm/docs/public/cli-commands/npm-docs/index.html +++ b/deps/npm/docs/public/cli-commands/npm-docs/index.html @@ -1,4 +1,4 @@ -

    npm docs

    -

    Docs for a package in a web browser maybe

    -

    Synopsis

    +

    npm docs

    +

    Docs for a package in a web browser maybe

    +

    Synopsis

    npm docs [<pkgname> [<pkgname> ...]]
     npm docs .
     npm home [<pkgname> [<pkgname> ...]]
     npm home .
    -

    Description

    +

    Description

    This command tries to guess at the likely location of a package's documentation URL, and then tries to open it using the --browser config param. You can pass multiple package names at once. If no package name is provided, it will search for a package.json in the current folder and use the name property.

    -

    Configuration

    -

    browser

    +

    Configuration

    +

    browser

    • Default: OS X: "open", Windows: "start", Others: "xdg-open"
    • Type: String

    The browser that is called by the npm docs command to open websites.

    -

    registry

    +

    registry

    The base URL of the npm package registry.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-doctor/index.html b/deps/npm/docs/public/cli-commands/npm-doctor/index.html index 1edad5dff749e6..ac94c50d0edca3 100644 --- a/deps/npm/docs/public/cli-commands/npm-doctor/index.html +++ b/deps/npm/docs/public/cli-commands/npm-doctor/index.html @@ -1,4 +1,4 @@ -

    npm doctor

    -

    Check your environments

    -

    Synopsis

    +

    npm doctor

    +

    Check your environments

    +

    Synopsis

    npm doctor
    -

    Description

    +

    Description

    npm doctor runs a set of checks to ensure that your npm installation has what it needs to manage your JavaScript packages. npm is mostly a standalone tool, but it does have some basic requirements that must be met:

    @@ -92,7 +98,7 @@

    npm doctor verifies the following items in your environment, and if there are any recommended changes, it will display them.

    -

    npm ping

    +

    npm ping

    By default, npm installs from the primary npm registry, registry.npmjs.org. npm doctor hits a special ping endpoint within the registry. This can also be checked with npm ping. If this check fails, you may be using a proxy that @@ -102,7 +108,7 @@

    npm config get registry), and if you're using a private registry that doesn't support the /whoami endpoint supported by the primary registry, this check may fail.

    -

    npm -v

    +

    npm -v

    While Node.js may come bundled with a particular version of npm, it's the policy of the CLI team that we recommend all users run npm@latest if they can. As the CLI is maintained by a small team of contributors, there are only @@ -110,34 +116,34 @@

    node -v

    +

    node -v

    For most users, in most circumstances, the best version of Node will be the latest long-term support (LTS) release. Those of you who want access to new ECMAscript features or bleeding-edge changes to Node's standard library may be running a newer version, and some of you may be required to run an older version of Node because of enterprise change control policies. That's OK! But in general, the npm team recommends that most users run Node.js LTS.

    -

    npm config get registry

    +

    npm config get registry

    Some of you may be installing from private package registries for your project or company. That's great! Others of you may be following tutorials or StackOverflow questions in an effort to troubleshoot problems you may be having. Sometimes, this may entail changing the registry you're pointing at. This part of npm doctor just lets you, and maybe whoever's helping you with support, know that you're not using the default registry.

    -

    which git

    +

    which git

    While it's documented in the README, it may not be obvious that npm needs Git installed to do many of the things that it does. Also, in some cases – especially on Windows – you may have Git set up in such a way that it's not accessible via your PATH so that npm can find it. This check ensures that Git is available.

    -

    Permissions checks

    +

    Permissions checks

    • Your cache must be readable and writable by the user running npm.
    • Global package binaries must be writable by the user running npm.
    • Your local node_modules path, if you're running npm doctor with a project directory, must be readable and writable by the user running npm.
    -

    Validate the checksums of cached packages

    +

    Validate the checksums of cached packages

    When an npm package is published, the publishing process generates a checksum that npm uses at install time to verify that the package didn't get corrupted in transit. npm doctor uses these checksums to validate the package tarballs @@ -145,11 +151,11 @@

    npm cache ls – probably more than you were expecting!). In the event that there are corrupt packages in your cache, you should probably run npm cache clean and reset the cache.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-edit/index.html b/deps/npm/docs/public/cli-commands/npm-edit/index.html index 54e257bf84feef..bddb1c09c83afc 100644 --- a/deps/npm/docs/public/cli-commands/npm-edit/index.html +++ b/deps/npm/docs/public/cli-commands/npm-edit/index.html @@ -1,4 +1,4 @@ -

    npm edit

    -

    Edit an installed package

    -

    Synopsis

    +

    npm edit

    +

    Edit an installed package

    +

    Synopsis

    npm edit <pkg>[/<subpkg>...]
    -

    Description

    +

    Description

    Selects a (sub)dependency in the current working directory and opens the package folder in the default editor (or whatever you've configured as the npm editor config -- see @@ -82,20 +88,20 @@

    For instance, you can do npm install connect to install connect into your package, and then npm edit connect to make a few changes to your locally installed copy.

    -

    Configuration

    -

    editor

    +

    Configuration

    +

    editor

    • Default: EDITOR environment variable if set, or "vi" on Posix, or "notepad" on Windows.
    • Type: path

    The command to run for npm edit or npm config edit.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-explore/index.html b/deps/npm/docs/public/cli-commands/npm-explore/index.html index 0b94db69d86c4e..97f438294558d4 100644 --- a/deps/npm/docs/public/cli-commands/npm-explore/index.html +++ b/deps/npm/docs/public/cli-commands/npm-explore/index.html @@ -1,4 +1,4 @@ -

    +

    section: cli-commands title: npm-explore description: Browse an installed package


    -

    npm explore

    -

    Browse an installed package

    -

    Synopsis

    +

    npm explore

    +

    Browse an installed package

    +

    Synopsis

    npm explore <pkg> [ -- <command>]
    -

    Description

    +

    Description

    Spawn a subshell in the directory of the installed package specified.

    If a command is specified, then it is run in the subshell, which then immediately terminates.

    @@ -86,21 +92,21 @@

    npm explore some-dependency -- git pull origin master

    Note that the package is not automatically rebuilt afterwards, so be sure to use npm rebuild <pkg> if you make any changes.

    -

    Configuration

    -

    shell

    +

    Configuration

    +

    shell

    • Default: SHELL environment variable, or "bash" on Posix, or "cmd" on Windows
    • Type: path

    The shell to run for the npm explore command.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-fund/index.html b/deps/npm/docs/public/cli-commands/npm-fund/index.html index 77f637f4ba388c..f58901446cd58a 100644 --- a/deps/npm/docs/public/cli-commands/npm-fund/index.html +++ b/deps/npm/docs/public/cli-commands/npm-fund/index.html @@ -1,4 +1,4 @@ -

    npm fund

    -

    Retrieve funding information

    -

    Synopsis

    +

    npm fund

    +

    Retrieve funding information

    +

    Synopsis

        npm fund [<pkg>]
    -

    Description

    +

    Description

    This command retrieves information on how to fund the dependencies of a given project. If no package name is provided, it will list all dependencies that are looking for funding in a tree-structure in which are listed the type of funding and the url to visit. If a package name is provided then it tries to open its funding url using the --browser -config param.

    +config param; if there are multiple funding sources for the package, the +user will be instructed to pass the --which command to disambiguate.

    The list will avoid duplicated entries and will stack all packages that share the same type/url as a single entry. Given this nature the list is not going to have the same shape of the output from npm ls.

    -

    Configuration

    -

    browser

    +

    Configuration

    +

    browser

    • Default: OS X: "open", Windows: "start", Others: "xdg-open"
    • Type: String

    The browser that is called by the npm fund command to open websites.

    -

    json

    +

    json

      -
    • Default: false
    • Type: Boolean
    • +
    • Default: false

    Show information in JSON format.

    -

    unicode

    +

    unicode

    • Type: Boolean
    • Default: true

    Whether to represent the tree structure using unicode characters. Set it to false in order to use all-ansi output.

    -

    See Also

    +

    which

    +
      +
    • Type: Number
    • +
    • Default: undefined
    • +
    +

    If there are multiple funding sources, which 1-indexed source URL to open.

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-help-search/index.html b/deps/npm/docs/public/cli-commands/npm-help-search/index.html index 9c4a06fa9114d0..abd84b775782d5 100644 --- a/deps/npm/docs/public/cli-commands/npm-help-search/index.html +++ b/deps/npm/docs/public/cli-commands/npm-help-search/index.html @@ -1,4 +1,4 @@ -

    npm help-search

    -

    Search npm help documentation

    -

    Synopsis

    +

    npm help-search

    +

    Search npm help documentation

    +

    Synopsis

    npm help-search <text>
    -

    Description

    +

    Description

    This command will search the npm markdown documentation files for the terms provided, and then list the results, sorted by relevance.

    If only one result is found, then it will show that help topic.

    If the argument to npm help is not a known help topic, then it will call help-search. It is rarely if ever necessary to call this command directly.

    -

    Configuration

    -

    long

    +

    Configuration

    +

    long

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-help/index.html b/deps/npm/docs/public/cli-commands/npm-help/index.html index f6fb102efb1b3b..e38710dc87f52c 100644 --- a/deps/npm/docs/public/cli-commands/npm-help/index.html +++ b/deps/npm/docs/public/cli-commands/npm-help/index.html @@ -1,4 +1,4 @@ -

    npm help

    -

    Get help on npm

    -

    Synopsis

    +

    npm help

    +

    Get help on npm

    +

    Synopsis

    npm help <term> [<terms..>]
    -

    Description

    +

    Description

    If supplied a topic, then show the appropriate documentation page.

    If the topic does not exist, or if multiple terms are provided, then run the help-search command to find a match. Note that, if help-search finds a single subject, then it will run help on that topic, so unique matches are equivalent to specifying a topic name.

    -

    Configuration

    -

    viewer

    +

    Configuration

    +

    viewer

    • Default: "man" on Posix, "browser" on Windows
    • Type: path

    The program to use to view help content.

    Set to "browser" to view html help content in the default web browser.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-hook/index.html b/deps/npm/docs/public/cli-commands/npm-hook/index.html index 6556b3b3dc967d..bd3e717c829525 100644 --- a/deps/npm/docs/public/cli-commands/npm-hook/index.html +++ b/deps/npm/docs/public/cli-commands/npm-hook/index.html @@ -1,4 +1,4 @@ -

    npm hook

    -

    Manage registry hooks

    -

    Synopsis

    +

    npm hook

    +

    Manage registry hooks

    +

    Synopsis

    npm hook ls [pkg]
     npm hook add <entity> <url> <secret>
     npm hook update <id> <url> [secret]
     npm hook rm <id>
    -

    Example

    +

    Example

    Add a hook to watch a package for changes:

    $ npm hook add lodash https://example.com/ my-shared-secret

    Add a hook to watch packages belonging to the user substack:

    @@ -90,7 +96,7 @@

    $ npm hook update id-deadbeef https://my-new-website.here/

    Remove a hook:

    $ npm hook rm id-deadbeef
    -

    Description

    +

    Description

    Allows you to manage npm hooks, including adding, removing, listing, and updating.

    Hooks allow you to configure URL endpoints that will be notified whenever a @@ -103,7 +109,7 @@

    The shared secret will be sent along to the URL endpoint so you can verify the request came from your own configured hook.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-init/index.html b/deps/npm/docs/public/cli-commands/npm-init/index.html index 4f619bb65d0e7a..0515fcadc6ce4b 100644 --- a/deps/npm/docs/public/cli-commands/npm-init/index.html +++ b/deps/npm/docs/public/cli-commands/npm-init/index.html @@ -1,4 +1,4 @@ -

    npm init

    -

    create a package.json file

    -

    Synopsis

    +

    npm init

    +

    create a package.json file

    +

    Synopsis

    npm init [--force|-f|--yes|-y|--scope]
     npm init <@scope> (same as `npx <@scope>/create`)
     npm init [<@scope>/]<name> (same as `npx [<@scope>/]create-<name>`)
    -

    Examples

    +

    Examples

    Create a new React-based project using create-react-app:

    $ npm init react-app ./my-react-app

    Create a new esm-compatible package using create-esm:

    @@ -86,7 +92,7 @@

    npm init

    Generate it without having it ask any questions:

    $ npm init -y
    -

    Description

    +

    Description

    npm init <initializer> can be used to set up a new or existing npm package.

    initializer in this case is an npm package named create-<initializer>, which will be installed by npx, and then have its main bin @@ -107,11 +113,11 @@

    -y/--yes to skip the questionnaire altogether. If you pass --scope, it will create a scoped package.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-install-ci-test/index.html b/deps/npm/docs/public/cli-commands/npm-install-ci-test/index.html index 8e54986627e34a..78f717dc33e524 100644 --- a/deps/npm/docs/public/cli-commands/npm-install-ci-test/index.html +++ b/deps/npm/docs/public/cli-commands/npm-install-ci-test/index.html @@ -1,4 +1,4 @@ -

    npm install-ci-test

    -

    Install a project with a clean slate and run tests

    -

    Synopsis

    +

    npm install-ci-test

    +

    Install a project with a clean slate and run tests

    +

    Synopsis

    npm install-ci-test
     
     alias: npm cit
    -

    Description

    +

    Description

    This command runs an npm ci followed immediately by an npm test.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-install-test/index.html b/deps/npm/docs/public/cli-commands/npm-install-test/index.html index 7cde472b8564c7..d63b61afcf1249 100644 --- a/deps/npm/docs/public/cli-commands/npm-install-test/index.html +++ b/deps/npm/docs/public/cli-commands/npm-install-test/index.html @@ -1,4 +1,4 @@ -

    npm install-test

    -

    Install package(s) and run tests

    -

    Synopsis

    +

    npm install-test

    +

    Install package(s) and run tests

    +

    Synopsis

    npm install-test (with no args, in package dir)
     npm install-test [<@scope>/]<name>
     npm install-test [<@scope>/]<name>@<tag>
    @@ -82,13 +88,13 @@ 

    npm it common options: [--save|--save-dev|--save-optional] [--save-exact] [--dry-run]

    -

    Description

    +

    Description

    This command runs an npm install followed immediately by an npm test. It takes exactly the same arguments as npm install.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-install/index.html b/deps/npm/docs/public/cli-commands/npm-install/index.html index 9ab2a20f5ecc62..16a98c965a6d08 100644 --- a/deps/npm/docs/public/cli-commands/npm-install/index.html +++ b/deps/npm/docs/public/cli-commands/npm-install/index.html @@ -1,4 +1,4 @@ -

    npm install

    -

    Install a package

    -

    Synopsis

    +

    npm install

    +

    Install a package

    +

    Synopsis

    npm install (with no args, in package dir)
     npm install [<@scope>/]<name>
     npm install [<@scope>/]<name>@<tag>
    @@ -85,18 +91,18 @@ 

    npm i, npm add common options: [-P|--save-prod|-D|--save-dev|-O|--save-optional] [-E|--save-exact] [-B|--save-bundle] [--no-save] [--dry-run]

    -

    Description

    +

    Description

    This command installs a package, and any packages that it depends on. If the package has a package-lock or shrinkwrap file, the installation of dependencies will be driven by that, with an npm-shrinkwrap.json taking precedence if both -files exist. See package-lock.json and npm shrinkwrap.

    +files exist. See package-lock.json and npm shrinkwrap.

    A package is:

    • a) a folder containing a program described by a package.json file
    • b) a gzipped tarball containing (a)
    • c) a url that resolves to (b)
    • d) a <name>@<version> that is published on the registry (see registry) with (c)
    • -
    • e) a <name>@<tag> (see npm dist-tag) that points to (d)
    • +
    • e) a <name>@<tag> (see npm dist-tag) that points to (d)
    • f) a <name> that has a "latest" tag satisfying (e)
    • g) a <git remote url> that resolves to (a)
    @@ -387,7 +393,7 @@

    npm-audit for details on what is sent.

    See config. Many of the configuration params have some effect on installation, since that's most of what npm does.

    -

    Algorithm

    +

    Algorithm

    To install a package, npm uses the following algorithm:

    load the existing node_modules tree from disk
     clone the tree
    @@ -419,7 +425,7 @@ 

    folders for a more detailed description of the specific folder structures that npm creates.

    -

    Limitations of npm's Install Algorithm

    +

    Limitations of npm's Install Algorithm

    npm will refuse to install any package with an identical name to the current package. This can be overridden with the --force flag, but in most cases can simply be addressed by changing the local package name.

    @@ -438,22 +444,22 @@

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-link/index.html b/deps/npm/docs/public/cli-commands/npm-link/index.html index 330ea407c2767f..5b568995d6209d 100644 --- a/deps/npm/docs/public/cli-commands/npm-link/index.html +++ b/deps/npm/docs/public/cli-commands/npm-link/index.html @@ -1,4 +1,4 @@ -

    npm link

    - -

    Synopsis

    +

    npm link

    + +

    Synopsis

    npm link (in package dir)
     npm link [<@scope>/]<pkg>[@<version>]
     
     alias: npm ln
    -

    Description

    +

    Description

    Package linking is a two-step process.

    First, npm link in a package folder will create a symlink in the global folder {prefix}/lib/node_modules/<package> that links to the package where the npm -link command was executed. (see npm-config for the value of prefix). It -will also link any bins in the package to {prefix}/bin/{name}.

    +link command was executed. It will also link any bins in the package to {prefix}/bin/{name}. +Note that npm link uses the global prefix (see npm prefix -g for its value).

    Next, in some other location, npm link package-name will create a symbolic link from globally-installed package-name to node_modules/ of the current folder.

    @@ -113,13 +119,13 @@

    redis.

    If your linked package is scoped (see scope) your link command must include that scope, e.g.

    npm link @myorg/privatepackage
    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-logout/index.html b/deps/npm/docs/public/cli-commands/npm-logout/index.html index a5126df803b915..7e4ce934fb5c4c 100644 --- a/deps/npm/docs/public/cli-commands/npm-logout/index.html +++ b/deps/npm/docs/public/cli-commands/npm-logout/index.html @@ -1,4 +1,4 @@ -

    npm logout

    -

    Log out of the registry

    -

    Synopsis

    +

    npm logout

    +

    Log out of the registry

    +

    Synopsis

    npm logout [--registry=<url>] [--scope=<@scope>]
    -

    Description

    +

    Description

    When logged into a registry that supports token-based authentication, tell the server to end this token's session. This will invalidate the token everywhere you're using it, not just for the current environment.

    @@ -81,21 +87,21 @@

    If --scope is provided, this will find the credentials for the registry connected to that scope, if set.

    -

    Configuration

    -

    registry

    +

    Configuration

    +

    registry

    Default: https://registry.npmjs.org/

    The base URL of the npm package registry. If scope is also specified, it takes precedence.

    -

    scope

    +

    scope

    Default: The scope of your current project, if any, otherwise none.

    If specified, you will be logged out of the specified scope. See scope.

    npm logout --scope=@myco
    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-ls/index.html b/deps/npm/docs/public/cli-commands/npm-ls/index.html index 5658a377e99742..89ed133f3ab21b 100644 --- a/deps/npm/docs/public/cli-commands/npm-ls/index.html +++ b/deps/npm/docs/public/cli-commands/npm-ls/index.html @@ -1,4 +1,4 @@ -

    npm ls

    -

    List installed packages

    -

    Synopsis

    +

    npm ls

    +

    List installed packages

    +

    Synopsis

    npm ls [[<@scope>/]<pkg> ...]
     
     aliases: list, la, ll
    -

    Description

    +

    Description

    This command will print to stdout all the versions of packages that are installed, as well as their dependencies, in a tree-structure.

    Positional arguments are name@version-range identifiers, which will limit the results to only the paths to the packages named. Note that nested packages will also show the paths to the specified packages. For example, running npm ls promzard in npm's source tree will show:

    -
        npm@6.13.4 /path/to/npm
    +
        npm@6.14.4 /path/to/npm
         └─┬ init-package-json@0.0.4
           └── promzard@0.1.5

    It will print out extraneous, missing, and invalid packages.

    @@ -91,78 +97,78 @@

    The tree shown is the logical dependency tree, based on package dependencies, not the physical layout of your node_modules folder.

    When run as ll or la, it shows extended information by default.

    -

    Configuration

    -

    json

    +

    Configuration

    +

    json

    • Default: false
    • Type: Boolean

    Show information in JSON format.

    -

    long

    +

    long

    • Default: false
    • Type: Boolean

    Show extended information.

    -

    parseable

    +

    parseable

    • Default: false
    • Type: Boolean

    Show parseable output instead of tree view.

    -

    global

    +

    global

    • Default: false
    • Type: Boolean

    List packages in the global install prefix instead of in the current project.

    -

    depth

    +

    depth

    • Type: Int

    Max display depth of the dependency tree.

    -

    prod / production

    +

    prod / production

    • Type: Boolean
    • Default: false

    Display only the dependency tree for packages in dependencies.

    -

    dev / development

    +

    dev / development

    • Type: Boolean
    • Default: false

    Display only the dependency tree for packages in devDependencies.

    -

    only

    +

    only

    • Type: String

    When "dev" or "development", is an alias to dev.

    When "prod" or "production", is an alias to production.

    - +
    • Type: Boolean
    • Default: false

    Display only dependencies which are linked

    -

    unicode

    +

    unicode

    • Type: Boolean
    • Default: true

    Whether to represent the tree structure using unicode characters. Set it to false in order to use all-ansi output.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-org/index.html b/deps/npm/docs/public/cli-commands/npm-org/index.html index 977f4e8cef976e..0a7800216e28e1 100644 --- a/deps/npm/docs/public/cli-commands/npm-org/index.html +++ b/deps/npm/docs/public/cli-commands/npm-org/index.html @@ -1,4 +1,4 @@ -

    npm org

    -

    Manage orgs

    -

    Synopsis

    +

    npm org

    +

    Manage orgs

    +

    Synopsis

    npm org set <orgname> <username> [developer | admin | owner]
     npm org rm <orgname> <username>
     npm org ls <orgname> [<username>]
    -

    Example

    +

    Example

    Add a new developer to an org:

    $ npm org set my-org @mx-smith

    Add a new admin to an org (or change a developer to an admin):

    @@ -87,11 +93,11 @@

    $ npm org ls my-org --json

    See what role a user has in an org:

    $ npm org ls my-org @mx-santos
    -

    Description

    +

    Description

    You can use the npm org commands to manage and view users of an organization. It supports adding and removing users, changing their roles, listing them, and finding specific ones and their roles.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-outdated/index.html b/deps/npm/docs/public/cli-commands/npm-outdated/index.html index 98b2cf029157e7..77274aff6bf25d 100644 --- a/deps/npm/docs/public/cli-commands/npm-outdated/index.html +++ b/deps/npm/docs/public/cli-commands/npm-outdated/index.html @@ -1,4 +1,4 @@ -

    npm outdated

    -

    Check for outdated packages

    -

    Synopsis

    +

    npm outdated

    +

    Check for outdated packages

    +

    Synopsis

    npm outdated [[<@scope>/]<pkg> ...]
    -

    Description

    +

    Description

    This command will check the registry to see if any (or, specific) installed packages are currently outdated.

    In the output:

    @@ -96,7 +102,7 @@

    Red means there's a newer version matching your semver requirements, so you should update now.
  • Yellow indicates that there's a newer version above your semver requirements (usually new major, or new 0.x minor) so proceed with caution.
  • -

    An example

    +

    An example

    $ npm outdated
     Package      Current   Wanted   Latest  Location
     glob          5.0.15   5.0.15    6.0.1  test-outdated-output
    @@ -127,42 +133,42 @@ 

    once is just plain out of date. Reinstalling node_modules from scratch or running npm update will bring it up to spec. -

    Configuration

    -

    json

    +

    Configuration

    +

    json

    • Default: false
    • Type: Boolean

    Show information in JSON format.

    -

    long

    +

    long

    • Default: false
    • Type: Boolean

    Show extended information.

    -

    parseable

    +

    parseable

    • Default: false
    • Type: Boolean

    Show parseable output instead of tree view.

    -

    global

    +

    global

    • Default: false
    • Type: Boolean

    Check packages in the global install prefix instead of in the current project.

    -

    depth

    +

    depth

    • Default: 0
    • Type: Int

    Max depth for checking dependency tree.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-owner/index.html b/deps/npm/docs/public/cli-commands/npm-owner/index.html index 87d6510c7d37da..d128bf2ff1136a 100644 --- a/deps/npm/docs/public/cli-commands/npm-owner/index.html +++ b/deps/npm/docs/public/cli-commands/npm-owner/index.html @@ -1,4 +1,4 @@ -

    npm owner

    -

    Manage package owners

    -

    Synopsis

    +

    npm owner

    +

    Manage package owners

    +

    Synopsis

    npm owner add <user> [<@scope>/]<pkg>
     npm owner rm <user> [<@scope>/]<pkg>
     npm owner ls [<@scope>/]<pkg>
     
     aliases: author
    -

    Description

    +

    Description

    Manage ownership of published packages.

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-pack/index.html b/deps/npm/docs/public/cli-commands/npm-pack/index.html index 3db98ee2758b4a..1bdd218cfb3f11 100644 --- a/deps/npm/docs/public/cli-commands/npm-pack/index.html +++ b/deps/npm/docs/public/cli-commands/npm-pack/index.html @@ -1,4 +1,4 @@ -

    npm pack

    -

    Create a tarball from a package

    -

    Synopsis

    +

    npm pack

    +

    Create a tarball from a package

    +

    Synopsis

    npm pack [[<@scope>/]<pkg>...] [--dry-run]
    -

    Description

    +

    Description

    For anything that's installable (that is, a package folder, tarball, tarball url, name@tag, name@version, name, or scoped name), this command will fetch it to the cache, and then copy the tarball to the @@ -83,11 +89,11 @@

    If no arguments are supplied, then npm packs the current package folder.

    The --dry-run argument will do everything that pack usually does without actually packing anything. Reports on what would have gone into the tarball.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-ping/index.html b/deps/npm/docs/public/cli-commands/npm-ping/index.html index 202f197dd8a6e8..478c206499f759 100644 --- a/deps/npm/docs/public/cli-commands/npm-ping/index.html +++ b/deps/npm/docs/public/cli-commands/npm-ping/index.html @@ -1,4 +1,4 @@ -

    npm ping

    -

    Ping npm registry

    -

    Synopsis

    +

    npm ping

    +

    Ping npm registry

    +

    Synopsis

    npm ping [--registry <registry>]
    -

    Description

    +

    Description

    Ping the configured or given npm registry and verify authentication. If it works it will output something like:

    Ping success: {*Details about registry*}

    otherwise you will get:

    Ping error: {*Detail about error}
    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-prefix/index.html b/deps/npm/docs/public/cli-commands/npm-prefix/index.html index 35f8f6cdce2180..aa5515abf372bb 100644 --- a/deps/npm/docs/public/cli-commands/npm-prefix/index.html +++ b/deps/npm/docs/public/cli-commands/npm-prefix/index.html @@ -1,4 +1,4 @@ -

    npm prefix

    -

    Display prefix

    -

    Synopsis

    +

    npm prefix

    +

    Display prefix

    +

    Synopsis

    npm prefix [-g]
    -

    Description

    +

    Description

    Print the local prefix to standard out. This is the closest parent directory to contain a package.json file or node_modules directory, unless -g is also specified.

    If -g is specified, this will be the value of the global prefix. See -npm config for more detail.

    -

    See Also

    +npm config for more detail.

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-profile/index.html b/deps/npm/docs/public/cli-commands/npm-profile/index.html index e8301c809d213a..97617c3fb01b80 100644 --- a/deps/npm/docs/public/cli-commands/npm-profile/index.html +++ b/deps/npm/docs/public/cli-commands/npm-profile/index.html @@ -1,4 +1,4 @@ -

    npm profile

    -

    Change settings on your registry profile

    -

    Synopsis

    +

    npm profile

    +

    Change settings on your registry profile

    +

    Synopsis

    npm profile get [--json|--parseable] [<property>]
     npm profile set [--json|--parseable] <property> <value>
     npm profile set password
     npm profile enable-2fa [auth-and-writes|auth-only]
     npm profile disable-2fa
    -

    Description

    +

    Description

    Change your profile information on the registry. This not be available if you're using a non-npmjs registry.

    -

    Details

    +

    Details

    All of the npm profile subcommands accept --json and --parseable and will tailor their output based on those. Some of these commands may not be available on non npmjs.com registries.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-prune/index.html b/deps/npm/docs/public/cli-commands/npm-prune/index.html index 34c2f9905f1c50..8dc6092402f5e1 100644 --- a/deps/npm/docs/public/cli-commands/npm-prune/index.html +++ b/deps/npm/docs/public/cli-commands/npm-prune/index.html @@ -1,4 +1,4 @@ -

    npm prune

    -

    Remove extraneous packages

    -

    Synopsis

    +

    npm prune

    +

    Remove extraneous packages

    +

    Synopsis

    npm prune [[<@scope>/]<pkg>...] [--production] [--dry-run] [--json]
    -

    Description

    +

    Description

    This command removes "extraneous" packages. If a package name is provided, then only packages matching one of the supplied names are removed.

    @@ -90,11 +96,11 @@

    --production flag.

    If you've disabled package-locks then extraneous modules will not be removed and it's up to you to run npm prune from time-to-time to remove them.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-publish/index.html b/deps/npm/docs/public/cli-commands/npm-publish/index.html index 8096dd81de6628..4ba3e0db658254 100644 --- a/deps/npm/docs/public/cli-commands/npm-publish/index.html +++ b/deps/npm/docs/public/cli-commands/npm-publish/index.html @@ -1,4 +1,4 @@ -

    npm publish

    -

    Publish a package

    -

    Synopsis

    +

    npm publish

    +

    Publish a package

    +

    Synopsis

    npm publish [<tarball>|<folder>] [--tag <tag>] [--access <public|restricted>] [--otp otpcode] [--dry-run]
     
     Publishes '.' if no argument supplied
     Sets tag 'latest' if no --tag specified
    -

    Description

    +

    Description

    Publishes a package to the registry so that it can be installed by name. All files in the package directory are included if no local .gitignore or .npmignore file exists. If both files exist and a file is ignored by @@ -111,22 +117,22 @@

    Once a package is published with a given name and version, that specific name and version combination can never be used again, even if -it is removed with npm unpublish.

    +it is removed with npm unpublish.

    As of npm@5, both a sha1sum and an integrity field with a sha512sum of the tarball will be submitted to the registry during publication. Subsequent installs will use the strongest supported algorithm to verify downloads.

    -

    Similar to --dry-run see npm pack, which figures out the files to be +

    Similar to --dry-run see npm pack, which figures out the files to be included and packs them into a tarball to be uploaded to the registry.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-rebuild/index.html b/deps/npm/docs/public/cli-commands/npm-rebuild/index.html index cd37ea2810314e..1be8c34433293f 100644 --- a/deps/npm/docs/public/cli-commands/npm-rebuild/index.html +++ b/deps/npm/docs/public/cli-commands/npm-rebuild/index.html @@ -1,4 +1,4 @@ -

    npm rebuild

    -

    Rebuild a package

    -

    Synopsis

    +

    npm rebuild

    +

    Rebuild a package

    +

    Synopsis

    npm rebuild [[<@scope>/<name>]...]
     
     alias: npm rb
    -

    Description

    +

    Description

    This command runs the npm build command on the matched folders. This is useful when you install a new version of node, and must recompile all your C++ addons with the new binary.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-repo/index.html b/deps/npm/docs/public/cli-commands/npm-repo/index.html index 20bf77637ffb3b..790ee382f5e989 100644 --- a/deps/npm/docs/public/cli-commands/npm-repo/index.html +++ b/deps/npm/docs/public/cli-commands/npm-repo/index.html @@ -1,4 +1,4 @@ -

    npm repo

    -

    Open package repository page in the browser

    -

    Synopsis

    +

    npm repo

    +

    Open package repository page in the browser

    +

    Synopsis

    npm repo [<pkg>]
    -

    Description

    +

    Description

    This command tries to guess at the likely location of a package's repository URL, and then tries to open it using the --browser config param. If no package name is provided, it will search for a package.json in the current folder and use the name property.

    -

    Configuration

    -

    browser

    +

    Configuration

    +

    browser

    • Default: OS X: "open", Windows: "start", Others: "xdg-open"
    • Type: String

    The browser that is called by the npm repo command to open websites.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-restart/index.html b/deps/npm/docs/public/cli-commands/npm-restart/index.html index 16a9827976f183..0a360a63e88e8f 100644 --- a/deps/npm/docs/public/cli-commands/npm-restart/index.html +++ b/deps/npm/docs/public/cli-commands/npm-restart/index.html @@ -1,4 +1,4 @@ -

    npm restart

    -

    Restart a package

    -

    Synopsis

    +

    npm restart

    +

    Restart a package

    +

    Synopsis

    npm restart [-- <args>]
    -

    Description

    +

    Description

    This restarts a package.

    This runs a package's "stop", "restart", and "start" scripts, and associated pre- and post- scripts, in the order given below:

    @@ -87,19 +93,19 @@

    poststart
  • postrestart
  • -

    Note

    +

    Note

    Note that the "restart" script is run in addition to the "stop" and "start" scripts, not instead of them.

    This is the behavior as of npm major version 2. A change in this behavior will be accompanied by an increase in major version number

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-root/index.html b/deps/npm/docs/public/cli-commands/npm-root/index.html index 6c415ca02c99ae..28c9770f184c2a 100644 --- a/deps/npm/docs/public/cli-commands/npm-root/index.html +++ b/deps/npm/docs/public/cli-commands/npm-root/index.html @@ -1,4 +1,4 @@ -

    npm root

    -

    Display npm root

    -

    Synopsis

    +

    npm root

    +

    Display npm root

    +

    Synopsis

    npm root [-g]
    -

    Description

    +

    Description

    Print the effective node_modules folder to standard out.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-run-script/index.html b/deps/npm/docs/public/cli-commands/npm-run-script/index.html index 7b437ad7a938f8..3afd3d51c62c09 100644 --- a/deps/npm/docs/public/cli-commands/npm-run-script/index.html +++ b/deps/npm/docs/public/cli-commands/npm-run-script/index.html @@ -1,4 +1,4 @@ -

    npm run-script

    -

    Run arbitrary package scripts

    -

    Synopsis

    +

    npm run-script

    +

    Run arbitrary package scripts

    +

    Synopsis

    npm run-script <command> [--silent] [-- <args>...]
     
     alias: npm run
    -

    Description

    +

    Description

    This runs an arbitrary command from a package's "scripts" object. If no "command" is provided, it will list the available scripts. run[-script] is used by the test, start, restart, and stop commands, but can be called @@ -122,14 +128,14 @@

    You can use the --if-present flag to avoid exiting with a non-zero exit code when the script is undefined. This lets you run potentially undefined scripts without breaking the execution chain.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-search/index.html b/deps/npm/docs/public/cli-commands/npm-search/index.html index b2e91e373cf91e..d97c2b26efa3dd 100644 --- a/deps/npm/docs/public/cli-commands/npm-search/index.html +++ b/deps/npm/docs/public/cli-commands/npm-search/index.html @@ -1,4 +1,4 @@ -

    npm search

    -

    Search for packages

    -

    Synopsis

    +

    npm search

    +

    Search for packages

    +

    Synopsis

    npm search [-l|--long] [--json] [--parseable] [--no-description] [search terms ...]
     
     aliases: s, se, find
    -

    Description

    +

    Description

    Search the registry for packages matching the search terms. npm search performs a linear, incremental, lexically-ordered search through package metadata for all files in the registry. If color is enabled, it will further @@ -91,28 +97,28 @@

    / will be ignored in this case. (Note that many regular expression characters must be escaped or quoted in most shells.)

    -

    A Note on caching

    -

    Configuration

    -

    description

    +

    A Note on caching

    +

    Configuration

    +

    description

    • Default: true
    • Type: Boolean

    Used as --no-description, disables search matching in package descriptions and suppresses display of that field in results.

    -

    json

    +

    json

    • Default: false
    • Type: Boolean

    Output search results as a JSON array.

    -

    parseable

    +

    parseable

    • Default: false
    • Type: Boolean

    Output search results as lines with tab-separated columns.

    -

    long

    +

    long

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-shrinkwrap/index.html b/deps/npm/docs/public/cli-commands/npm-shrinkwrap/index.html index c4537b43edec05..2cff81bb8c896b 100644 --- a/deps/npm/docs/public/cli-commands/npm-shrinkwrap/index.html +++ b/deps/npm/docs/public/cli-commands/npm-shrinkwrap/index.html @@ -1,4 +1,4 @@ -

    npm shrinkwrap

    -

    Lock down dependency versions for publication

    -

    Synopsis

    +

    npm shrinkwrap

    +

    Lock down dependency versions for publication

    +

    Synopsis

    npm shrinkwrap
    -

    Description

    +

    Description

    This command repurposes package-lock.json into a publishable npm-shrinkwrap.json or simply creates a new one. The file created and updated by this command will then take precedence over any other existing or future package-lock.json files. For a detailed explanation of the design and purpose of package locks in npm, see package-locks.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-star/index.html b/deps/npm/docs/public/cli-commands/npm-star/index.html index f00ac985b1433a..d0c887c754a130 100644 --- a/deps/npm/docs/public/cli-commands/npm-star/index.html +++ b/deps/npm/docs/public/cli-commands/npm-star/index.html @@ -1,4 +1,4 @@ -

    npm star

    -

    Mark your favorite packages

    -

    Synopsis

    +

    npm star

    +

    Mark your favorite packages

    +

    Synopsis

    npm star [<pkg>...]
     npm unstar [<pkg>...]
    -

    Description

    +

    Description

    "Starring" a package means that you have some interest in it. It's a vaguely positive way to show that you care.

    "Unstarring" is the same thing, but in reverse.

    It's a boolean thing. Starring repeatedly has no additional effect.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-stars/index.html b/deps/npm/docs/public/cli-commands/npm-stars/index.html index ee36575ada2452..226a132de82039 100644 --- a/deps/npm/docs/public/cli-commands/npm-stars/index.html +++ b/deps/npm/docs/public/cli-commands/npm-stars/index.html @@ -1,4 +1,4 @@ -

    npm stars

    -

    View packages marked as favorites

    -

    Synopsis

    +

    npm stars

    +

    View packages marked as favorites

    +

    Synopsis

    npm stars [<user>]
    -

    Description

    +

    Description

    If you have starred a lot of neat things and want to find them again quickly this command lets you do just that.

    You may also want to see your friend's favorite packages, in this case you will most certainly enjoy this command.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-start/index.html b/deps/npm/docs/public/cli-commands/npm-start/index.html index c5b8984a11ecd2..387e4fe959e9c9 100644 --- a/deps/npm/docs/public/cli-commands/npm-start/index.html +++ b/deps/npm/docs/public/cli-commands/npm-start/index.html @@ -1,4 +1,4 @@ -

    npm start

    -

    Start a package

    -

    Synopsis

    +

    npm start

    +

    Start a package

    +

    Synopsis

    npm start [-- <args>]
    -

    Description

    +

    Description

    This runs an arbitrary command specified in the package's "start" property of its "scripts" object. If no "start" property is specified on the "scripts" object, it will run node server.js.

    As of npm@2.0.0, you can -use custom arguments when executing scripts. Refer to npm run-script for more details.

    -

    See Also

    +use custom arguments when executing scripts. Refer to npm run-script for more details.

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-stop/index.html b/deps/npm/docs/public/cli-commands/npm-stop/index.html index 3559b9b8ca3bf6..e6fed3aeec6c23 100644 --- a/deps/npm/docs/public/cli-commands/npm-stop/index.html +++ b/deps/npm/docs/public/cli-commands/npm-stop/index.html @@ -1,4 +1,4 @@ -

    npm stop

    -

    Stop a package

    -

    Synopsis

    +

    npm stop

    +

    Stop a package

    +

    Synopsis

    npm stop [-- <args>]
    -

    Description

    +

    Description

    This runs a package's "stop" script, if one was provided.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-team/index.html b/deps/npm/docs/public/cli-commands/npm-team/index.html index 58c99f13f84da2..6d6a0bd0866a40 100644 --- a/deps/npm/docs/public/cli-commands/npm-team/index.html +++ b/deps/npm/docs/public/cli-commands/npm-team/index.html @@ -1,4 +1,4 @@ -

    npm team

    -

    Manage organization teams and team memberships

    -

    Synopsis

    +

    npm team

    +

    Manage organization teams and team memberships

    +

    Synopsis

    npm team create <scope:team>
     npm team destroy <scope:team>
     
    @@ -80,11 +86,12 @@ 

    npm team ls <scope>|<scope:team> npm team edit <scope:team>

    -

    Description

    +

    Description

    Used to manage teams in organizations, and change team memberships. Does not handle permissions for packages.

    Teams must always be fully qualified with the organization/scope they belong to when operating on them, separated by a colon (:). That is, if you have a wombats team in a wisdom organization, you must always refer to that team as wisdom:wombats in these commands.

    +

    If you have two-factor authentication enabled in auth-and-writes mode, then you can provide a code from your authenticator with [--otp <otpcode>]. If you don't include this then you will be prompted.

    -

    Details

    +

    Details

    npm team always operates directly on the current registry, configurable from the command line using --registry=<registry url>.

    In order to create teams and manage team membership, you must be a team admin @@ -107,9 +114,9 @@

    npm access command to grant or revoke the appropriate permissions.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-test/index.html b/deps/npm/docs/public/cli-commands/npm-test/index.html index f0a6a411dc1783..7f47f2ab2d328d 100644 --- a/deps/npm/docs/public/cli-commands/npm-test/index.html +++ b/deps/npm/docs/public/cli-commands/npm-test/index.html @@ -1,4 +1,4 @@ -

    npm test

    -

    Test a package

    -

    Synopsis

    +

    npm test

    +

    Test a package

    +

    Synopsis

    npm test [-- <args>]
     
     aliases: t, tst
    -

    Description

    +

    Description

    This runs a package's "test" script, if one was provided.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-token/index.html b/deps/npm/docs/public/cli-commands/npm-token/index.html index f42f3b5e32e7f9..10f880ea2e132e 100644 --- a/deps/npm/docs/public/cli-commands/npm-token/index.html +++ b/deps/npm/docs/public/cli-commands/npm-token/index.html @@ -1,4 +1,4 @@ -

    npm token

    -

    Manage your authentication tokens

    -

    Synopsis

    +

    npm token

    +

    Manage your authentication tokens

    +

    Synopsis

      npm token list [--json|--parseable]
       npm token create [--read-only] [--cidr=1.1.1.1/24,2.2.2.2/16]
       npm token revoke <id|token>
    -

    Description

    +

    Description

    This lets you list, create and revoke authentication tokens.

    • npm token list: @@ -127,4 +133,4 @@

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-uninstall/index.html b/deps/npm/docs/public/cli-commands/npm-uninstall/index.html index 869c5d76cce8aa..059bac05a46a2d 100644 --- a/deps/npm/docs/public/cli-commands/npm-uninstall/index.html +++ b/deps/npm/docs/public/cli-commands/npm-uninstall/index.html @@ -1,4 +1,4 @@ -

    npm uninstall

    -

    Remove a package

    -

    Synopsis

    +

    npm uninstall

    +

    Remove a package

    +

    Synopsis

    npm uninstall [<@scope>/]<pkg>[@<version>]... [-S|--save|-D|--save-dev|-O|--save-optional|--no-save]
     
     aliases: remove, rm, r, un, unlink
    -

    Description

    +

    Description

    This uninstalls a package, completely removing everything npm installed on its behalf.

    Example:

    @@ -98,12 +104,12 @@

    npm uninstall node-tap --save-dev npm uninstall dtrace-provider --save-optional npm uninstall lodash --no-save

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-unpublish/index.html b/deps/npm/docs/public/cli-commands/npm-unpublish/index.html index ef80682fba888b..f9ea9a44155b54 100644 --- a/deps/npm/docs/public/cli-commands/npm-unpublish/index.html +++ b/deps/npm/docs/public/cli-commands/npm-unpublish/index.html @@ -1,4 +1,4 @@ -

    npm unpublish

    -

    Remove a package from the registry

    -

    Synopsis

    -
    npm unpublish [<@scope>/]<pkg>[@<version>]
    -

    Warning

    -

    It is generally considered bad behavior to remove versions of a library -that others are depending on!

    -

    Consider using the deprecate command -instead, if your intent is to encourage users to upgrade.

    -

    There is plenty of room on the registry.

    -

    Description

    +

    npm unpublish

    +

    Remove a package from the registry

    +

    Synopsis

    +

    Unpublishing a single version of a package

    +
    npm unpublish [<@scope>/]<pkg>@<version>
    +

    Unpublishing an entire package

    +
    npm unpublish [<@scope>/]<pkg> --force
    +

    Warning

    +

    Consider using the deprecate command instead, if your intent is to encourage users to upgrade, or if you no longer want to maintain a package.

    +

    Description

    This removes a package version from the registry, deleting its entry and removing the tarball.

    If no version is specified, or if all versions are removed then the root package entry is removed from the registry entirely.

    Even if a package version is unpublished, that specific name and version combination can never be reused. In order to publish the -package again, a new version number must be used. Additionally, -new versions of packages with every version unpublished may not -be republished until 24 hours have passed.

    -

    With the default registry (registry.npmjs.org), unpublish is -only allowed with versions published in the last 72 hours. If you -are trying to unpublish a version published longer ago than that, -contact support@npmjs.com.

    -

    The scope is optional and follows the usual rules for scope.

    -

    See Also

    +package again, a new version number must be used. If you unpublish the entire package, you may not publish any new versions of that package until 24 hours have passed.

    +

    To learn more about how unpublish is treated on the npm registry, see our unpublish policies.

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-update/index.html b/deps/npm/docs/public/cli-commands/npm-update/index.html index e7db5859958bc5..e6653d1f1908f8 100644 --- a/deps/npm/docs/public/cli-commands/npm-update/index.html +++ b/deps/npm/docs/public/cli-commands/npm-update/index.html @@ -1,4 +1,4 @@ -

    npm update

    -

    Update a package

    -

    Synopsis

    +

    npm update

    +

    Update a package

    +

    Synopsis

    npm update [-g] [<pkg>...]
     
     aliases: up, upgrade
    -

    Description

    +

    Description

    This command will update all the packages listed to the latest version (specified by the tag config), respecting semver.

    It will also install missing packages. As with all commands that install @@ -90,7 +96,7 @@

    As of npm@5.0.0, the npm update will change package.json to save the new version as the minimum required dependency. To get the old behavior, use npm update --no-save.

    -

    Example

    +

    Example

    IMPORTANT VERSION NOTE: these examples assume npm@2.6.1 or later. For older versions of npm, you must specify --depth 0 to get the behavior described below.

    @@ -110,14 +116,14 @@

    "0.2.0" ] }

    -

    Caret Dependencies

    +

    Caret Dependencies

    If app's package.json contains:

    "dependencies": {
       "dep1": "^1.1.1"
     }

    Then npm update will install dep1@1.2.2, because 1.2.2 is latest and 1.2.2 satisfies ^1.1.1.

    -

    Tilde Dependencies

    +

    Tilde Dependencies

    However, if app's package.json contains:

    "dependencies": {
       "dep1": "~1.1.1"
    @@ -126,7 +132,7 @@ 

    1.2.2, this version does not satisfy ~1.1.1, which is equivalent to >=1.1.1 <1.2.0. So the highest-sorting version that satisfies ~1.1.1 is used, which is 1.1.2.

    -

    Caret Dependencies below 1.0.0

    +

    Caret Dependencies below 1.0.0

    Suppose app has a caret dependency on a version below 1.0.0, for example:

    "dependencies": {
       "dep1": "^0.2.0"
    @@ -139,20 +145,21 @@ 

    }

    Then npm update will install dep1@0.4.1, because that is the highest-sorting version that satisfies ^0.4.0 (>= 0.4.0 <0.5.0)

    -

    Updating Globally-Installed Packages

    +

    Updating Globally-Installed Packages

    npm update -g will apply the update action to each globally installed package that is outdated -- that is, has a version that is different from -latest.

    +wanted.

    +

    Note: Globally installed packages are treated as if they are installed with a caret semver range specified. So if you require to update to latest you may need to run npm install -g [<pkg>...]

    NOTE: If a package has been upgraded to a version newer than latest, it will be downgraded.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-version/index.html b/deps/npm/docs/public/cli-commands/npm-version/index.html index 442bd78028293d..d540d9d254764a 100644 --- a/deps/npm/docs/public/cli-commands/npm-version/index.html +++ b/deps/npm/docs/public/cli-commands/npm-version/index.html @@ -1,4 +1,4 @@ -

    npm version

    -

    Bump a package version

    -

    Synopsis

    +

    npm version

    +

    Bump a package version

    +

    Synopsis

    npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]
     
     'npm [-v | --version]' to print npm version
     'npm view <pkg> version' to view a package's published version
     'npm ls' to inspect current package/dependency versions
    -

    Description

    +

    Description

    Run this in a package directory to bump the version and write the new data back to package.json, package-lock.json, and, if present, npm-shrinkwrap.json.

    The newversion argument should be a valid semver string, a @@ -132,37 +138,37 @@

    This runs all your tests, and proceeds only if they pass. Then runs your build script, and adds everything in the dist directory to the commit. After the commit, it pushes the new commit and tag up to the server, and deletes the build/temp directory.

    -

    Configuration

    -

    allow-same-version

    +

    Configuration

    +

    allow-same-version

    • Default: false
    • Type: Boolean

    Prevents throwing an error when npm version is used to set the new version to the same value as the current version.

    -

    git-tag-version

    +

    git-tag-version

    • Default: true
    • Type: Boolean

    Commit and tag the version change.

    -

    commit-hooks

    +

    commit-hooks

    • Default: true
    • Type: Boolean

    Run git commit hooks when committing the version change.

    -

    sign-git-tag

    +

    sign-git-tag

    • Default: false
    • Type: Boolean

    Pass the -s flag to git to sign the tag.

    Note that you must have a default GPG key set up in your git config for this to work properly.

    -

    See Also

    +

    See Also

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-view/index.html b/deps/npm/docs/public/cli-commands/npm-view/index.html index ffb7342d0fe1fa..c9345b8d0893a6 100644 --- a/deps/npm/docs/public/cli-commands/npm-view/index.html +++ b/deps/npm/docs/public/cli-commands/npm-view/index.html @@ -1,4 +1,4 @@ -

    npm view

    -

    View registry info

    -

    Synopsis

    +

    npm view

    +

    View registry info

    +

    Synopsis

    npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...]
     
     aliases: info, show, v
    -

    Description

    +

    Description

    This command shows data about a package and prints it to the stream referenced by the outfd config, which defaults to stdout.

    To show the package registry entry for the connect package, you can do @@ -116,7 +122,7 @@

    To show the connect package version history, you can do this:

    npm view connect versions
    -

    Output

    +

    Output

    If only a single string field for a single version is output, then it will not be colorized or quoted, so as to enable piping the output to another command. If the field is an object, it will be output as a JavaScript object literal.

    @@ -125,13 +131,13 @@

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-whoami/index.html b/deps/npm/docs/public/cli-commands/npm-whoami/index.html index 37249551ba1e66..e0c37ba0252cc8 100644 --- a/deps/npm/docs/public/cli-commands/npm-whoami/index.html +++ b/deps/npm/docs/public/cli-commands/npm-whoami/index.html @@ -1,4 +1,4 @@ -

    npm whoami

    -

    Display npm username

    -

    Synopsis

    +

    npm whoami

    +

    Display npm username

    +

    Synopsis

    npm whoami [--registry <registry>]
    -

    Description

    +

    Description

    Print the username config to standard output.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm/index.html b/deps/npm/docs/public/cli-commands/npm/index.html index 96bdcfe10462df..0d06bfb33ab2e2 100644 --- a/deps/npm/docs/public/cli-commands/npm/index.html +++ b/deps/npm/docs/public/cli-commands/npm/index.html @@ -1,4 +1,4 @@ -

    npm

    -

    javascript package manager

    -

    Synopsis

    +

    npm

    +

    javascript package manager

    +

    Synopsis

    npm <command> [args]
    -

    Version

    -

    6.13.4

    -

    Description

    +

    Version

    +

    6.14.4

    +

    Description

    npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency conflicts intelligently.

    @@ -82,20 +88,20 @@

    Run npm help to get a list of available commands.

    -

    Important

    +

    Important

    npm is configured to use npm, Inc.'s public registry at https://registry.npmjs.org by default. Use of the npm public registry is subject to terms of use available at https://www.npmjs.com/policies/terms.

    You can configure npm to use any compatible registry you like, and even run your own registry. Use of someone else's registry may be governed by their terms of use.

    -

    Introduction

    +

    Introduction

    You probably got npm because you want to install stuff.

    Use npm install blerg to install the latest version of "blerg". Check out npm install for more info. It can do a lot of stuff.

    Use the npm search command to show everything that's available. Use npm ls to show everything you've installed.

    -

    Dependencies

    +

    Dependencies

    If a package references to another package with a git URL, npm depends on a preinstalled git.

    If one of the packages npm tries to install is a native node module and @@ -108,7 +114,7 @@

    the node-gyp repository and the node-gyp Wiki.

    -

    Directories

    +

    Directories

    See folders to learn about where npm puts stuff.

    In particular, npm has two modes of operation:

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/folders/index.html b/deps/npm/docs/public/configuring-npm/folders/index.html index bf66afffd5d541..a48d6c70ff5ffd 100644 --- a/deps/npm/docs/public/configuring-npm/folders/index.html +++ b/deps/npm/docs/public/configuring-npm/folders/index.html @@ -1,4 +1,4 @@ -

    folders

    -

    Folder Structures Used by npm

    -

    Description

    +

    folders

    +

    Folder Structures Used by npm

    +

    Description

    npm puts various things on your computer. That's its job.

    This document will tell you what it puts where.

    -

    tl;dr

    +

    tl;dr

    • Local install (default): puts stuff in ./node_modules of the current package root.
    • @@ -83,7 +89,7 @@

      npm link.

    -

    prefix Configuration

    +

    prefix Configuration

    The prefix config defaults to the location where node is installed. On most systems, this is /usr/local. On Windows, it's %AppData%\npm. On Unix systems, it's one level up, since node is typically installed at @@ -91,7 +97,7 @@

    global flag is set, npm installs things into this prefix. When it is not set, it uses the root of the current package, or the current working directory if not in a package already.

    -

    Node Modules

    +

    Node Modules

    Packages are dropped into the node_modules folder under the prefix. When installing locally, this means that you can require("packagename") to load its main module, or @@ -104,28 +110,28 @@

    npm install @myorg/package would place the package in {prefix}/node_modules/@myorg/package. See scope for more details.

    If you wish to require() a package, then install it locally.

    -

    Executables

    +

    Executables

    When in global mode, executables are linked into {prefix}/bin on Unix, or directly into {prefix} on Windows.

    When in local mode, executables are linked into ./node_modules/.bin so that they can be made available to scripts run through npm. (For example, so that a test runner will be in the path when you run npm test.)

    -

    Man Pages

    +

    Man Pages

    When in global mode, man pages are linked into {prefix}/share/man.

    When in local mode, man pages are not installed.

    Man pages are not installed on Windows systems.

    -

    Cache

    -

    See npm cache. Cache files are stored in ~/.npm on Posix, or +

    Cache

    +

    See npm cache. Cache files are stored in ~/.npm on Posix, or %AppData%/npm-cache on Windows.

    This is controlled by the cache configuration param.

    -

    Temp Files

    +

    Temp Files

    Temporary files are stored by default in the folder specified by the tmp config, which defaults to the TMPDIR, TMP, or TEMP environment variables, or /tmp on Unix and c:\windows\temp on Windows.

    Temp files are given a unique folder under this root for each run of the program, and are deleted upon successful exit.

    -

    More Information

    +

    More Information

    When installing locally, npm first tries to find an appropriate prefix folder. This is so that npm install foo@1.2.3 will install to the sensible root of your package, even if you happen to have cded @@ -143,12 +149,12 @@

    ./node_modules/foo/node_modules/....

    Any bin files are symlinked to ./node_modules/.bin/, so that they may be found by npm scripts when necessary.

    -

    Global Installation

    +

    Global Installation

    If the global configuration is set to true, then npm will install packages "globally".

    For global installation, packages are installed roughly the same way, but using the folders described above.

    -

    Cycles, Conflicts, and Folder Parsimony

    +

    Cycles, Conflicts, and Folder Parsimony

    Cycles are handled using the property of node's module system that it walks up the directories looking for node_modules folders. So, at every stage, if a package is already installed in an ancestor node_modules @@ -168,7 +174,7 @@

    -

    Example

    +

    Example

    Consider this dependency graph:

    foo
     +-- blerg@1.2.5
    @@ -210,23 +216,23 @@ 

    foo -> baz [D], quux's [E] folder tree is empty, because its dependency on bar is satisfied by the parent folder copy installed at [B].

    For a graphical breakdown of what is installed where, use npm ls.

    -

    Publishing

    +

    Publishing

    Upon publishing, npm will look in the node_modules folder. If any of the items there are not in the bundledDependencies array, then they will not be included in the package tarball.

    This allows a package maintainer to install all of their dependencies (and dev dependencies) locally, but only re-publish those items that cannot be found elsewhere. See package.json for more information.

    -

    See also

    +

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/install/index.html b/deps/npm/docs/public/configuring-npm/install/index.html index 2d220314d40c8b..1464ac5477af5a 100644 --- a/deps/npm/docs/public/configuring-npm/install/index.html +++ b/deps/npm/docs/public/configuring-npm/install/index.html @@ -1,4 +1,4 @@ -

    install

    -

    Download and Install npm

    -

    Description

    +

    install

    +

    Download and Install npm

    +

    Description

    To publish and install packages to and from the public npm registry, you must install Node.js and the npm command line interface using either a Node version manager or a Node installer. We strongly recommend using a Node version manager to install Node.js and npm. We do not recommend using a Node installer, since the Node installation process installs npm in a directory with local permissions and can cause permissions errors when you run npm packages globally.

    -

    Overview

    +

    Overview

    -

    Checking your version of npm and Node.js

    +

    Checking your version of npm and Node.js

    To see if you already have Node.js and npm installed and check the installed version, run the following commands:

    node -v
     npm -v
    -

    Using a Node version manager to install Node.js and npm

    +

    Using a Node version manager to install Node.js and npm

    Node version managers allow you to install and switch between multiple versions of Node.js and npm on your system so you can test your applications on multiple versions of npm to ensure they work for users on different versions.

    -

    OSX or Linux Node version managers

    +

    OSX or Linux Node version managers

    -

    Windows Node version managers

    +

    Windows Node version managers

    -

    Using a Node installer to install Node.js and npm

    +

    Using a Node installer to install Node.js and npm

    If you are unable to use a Node version manager, you can use a Node installer to install both Node.js and npm on your system.

    -

    OS X or Windows Node installers

    +

    OS X or Windows Node installers

    If you're using OS X or Windows, use one of the installers from the Node.js download page. Be sure to install the version labeled LTS. Other versions have not yet been tested with npm.

    -

    Linux or other operating systems Node installers

    +

    Linux or other operating systems Node installers

    If you're using Linux or another operating system, use one of the following installers:

    Or see this page to install npm for Linux in the way many Linux developers prefer.

    -

    Less-common operating systems

    +

    Less-common operating systems

    For more information on installing Node.js on a variety of operating systems, see this page.

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/npmrc/index.html b/deps/npm/docs/public/configuring-npm/npmrc/index.html index efffdb4cfb40f8..e1a2c4efda160e 100644 --- a/deps/npm/docs/public/configuring-npm/npmrc/index.html +++ b/deps/npm/docs/public/configuring-npm/npmrc/index.html @@ -1,4 +1,4 @@ -

    npmrc

    -

    The npm config files

    -

    Description

    +

    npmrc

    +

    The npm config files

    +

    Description

    npm gets its config settings from the command line, environment variables, and npmrc files.

    The npm config command can be used to update and edit the contents of the user and global npmrc files.

    For a list of available configuration options, see config.

    -

    Files

    +

    Files

    The four relevant files are:

    -

    Comments

    +

    Comments

    Lines in .npmrc files are interpreted as comments when they begin with a ; or # character. .npmrc files are parsed by npm/ini, which specifies this comment syntax.

    For example:

    # last modified: 01 Jan 2016
     ; Set a new registry for a scoped package
     @myscope:registry=https://mycustomregistry.example.org
    -

    Per-project config file

    +

    Per-project config file

    When working locally in a project, a .npmrc file in the root of the project (ie, a sibling of node_modules and package.json) will set config values specific to this project.

    @@ -111,24 +117,24 @@

    npm install -g.

    -

    Per-user config file

    +

    Per-user config file

    $HOME/.npmrc (or the userconfig param, if set in the environment or on the command line)

    -

    Global config file

    +

    Global config file

    $PREFIX/etc/npmrc (or the globalconfig param, if set above): This file is an ini-file formatted list of key = value parameters. Environment variables can be replaced as above.

    -

    Built-in config file

    +

    Built-in config file

    path/to/npm/itself/npmrc

    This is an unchangeable "builtin" configuration file that npm keeps consistent across updates. Set fields in here using the ./configure script that comes with npm. This is primarily for distribution maintainers to override default configs in a standard and consistent manner.

    -

    See also

    +

    See also

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/package-json/index.html b/deps/npm/docs/public/configuring-npm/package-json/index.html index da8a44c1c371d0..0c18b027fdb734 100644 --- a/deps/npm/docs/public/configuring-npm/package-json/index.html +++ b/deps/npm/docs/public/configuring-npm/package-json/index.html @@ -1,4 +1,4 @@ -

    package.json

    -

    Specifics of npm's package.json handling

    -

    Description

    +

    package.json

    +

    Specifics of npm's package.json handling

    +

    Description

    This document is all you need to know about what's required in your package.json file. It must be actual JSON, not just a JavaScript object literal.

    A lot of the behavior described in this document is affected by the config settings described in config.

    -

    name

    +

    name

    If you plan to publish your package, the most important things in your package.json are the name and version fields as they will be required. The name and version together form an identifier that is assumed to be completely unique. @@ -104,7 +110,7 @@

    @myorg/mypackage. See scope for more detail.

    -

    version

    +

    version

    If you plan to publish your package, the most important things in your package.json are the name and version fields as they will be required. The name and version together form an identifier that is assumed to be completely unique. @@ -114,17 +120,17 @@

    node-semver, which is bundled with npm as a dependency. (npm install semver to use it yourself.)

    More on version numbers and ranges at semver.

    -

    description

    +

    description

    Put a description in it. It's a string. This helps people discover your package, as it's listed in npm search.

    -

    keywords

    +

    keywords

    Put keywords in it. It's an array of strings. This helps people discover your package as it's listed in npm search.

    -

    homepage

    +

    homepage

    The url to the project homepage.

    Example:

    "homepage": "https://github.com/owner/project#readme"
    -

    bugs

    +

    bugs

    The url to your project's issue tracker and / or the email address to which issues should be reported. These are helpful for people who encounter issues with your package.

    @@ -135,7 +141,7 @@

    If a url is provided, it will be used by the npm bugs command.

    -

    license

    +

    license

    You should specify a license for your package so that people know how they are permitted to use it, and any restrictions you're placing on it.

    If you're using a common license such as BSD-2-Clause or MIT, add a @@ -179,7 +185,7 @@

    { "license": "UNLICENSED" }

    Consider also setting "private": true to prevent accidental publication.

    -

    people fields: author, contributors

    +

    people fields: author, contributors

    The "author" is one person. "contributors" is an array of people. A "person" is an object with a "name" field and optionally "url" and "email", like this:

    { "name" : "Barney Rubble"
    @@ -190,9 +196,10 @@ 

    "Barney Rubble <b@rubble.com> (http://barnyrubble.tumblr.com/)"

    Both email and url are optional either way.

    npm also sets a top-level "maintainers" field with your npm user info.

    -

    funding

    +

    funding

    You can specify an object containing an URL that provides up-to-date -information about ways to help fund development of your package:

    +information about ways to help fund development of your package, or +a string URL, or an array of these:

    "funding": {
       "type" : "individual",
       "url" : "http://example.com/donate"
    @@ -201,12 +208,27 @@ 

    npm fund subcommand to list the funding URLs of all dependencies of their project, direct and indirect. A shortcut to visit each funding url is also available when providing the project name such as: -npm fund <projectname>.

    -

    files

    +npm fund <projectname> (when there are multiple URLs, the first one will be +visited)

    +

    files

    The optional files field is an array of file patterns that describes the entries to be included when your package is installed as a dependency. File patterns follow a similar syntax to .gitignore, but @@ -251,18 +273,18 @@

    *.orig
  • package-lock.json (use shrinkwrap instead)
  • -

    main

    +

    main

    The main field is a module ID that is the primary entry point to your program. That is, if your package is named foo, and a user installs it, and then does require("foo"), then your main module's exports object will be returned.

    This should be a module ID relative to the root of your package folder.

    For most modules, it makes the most sense to have a main script and often not much else.

    -

    browser

    +

    browser

    If your module is meant to be used client-side the browser field should be used instead of the main field. This is helpful to hint users that it might rely on primitives that aren't available in Node.js modules. (e.g. window)

    -

    bin

    +

    bin

    A lot of packages have one or more executable files that they'd like to install into the PATH. npm makes this pretty easy (in fact, it uses this feature to install the "npm" executable.)

    @@ -286,7 +308,7 @@

    Please make sure that your file(s) referenced in bin starts with #!/usr/bin/env node, otherwise the scripts are started without the node executable!

    -

    man

    +

    man

    Specify either a single file or an array of filenames to put in place for the man program to find.

    If only a single file is provided, then it's installed such that it is the @@ -316,34 +338,34 @@

    , "man" : [ "./man/foo.1", "./man/foo.2" ] }

    will create entries for man foo and man 2 foo

    -

    directories

    +

    directories

    The CommonJS Packages spec details a few ways that you can indicate the structure of your package using a directories object. If you look at npm's package.json, you'll see that it has directories for doc, lib, and man.

    In the future, this information may be used in other creative ways.

    -

    directories.lib

    +

    directories.lib

    Tell people where the bulk of your library is. Nothing special is done with the lib folder in any way, but it's useful meta info.

    -

    directories.bin

    +

    directories.bin

    If you specify a bin directory in directories.bin, all the files in that folder will be added.

    Because of the way the bin directive works, specifying both a bin path and setting directories.bin is an error. If you want to specify individual files, use bin, and for all the files in an existing bin directory, use directories.bin.

    -

    directories.man

    +

    directories.man

    A folder that is full of man pages. Sugar to generate a "man" array by walking the folder.

    -

    directories.doc

    +

    directories.doc

    Put markdown files in here. Eventually, these will be displayed nicely, maybe, someday.

    -

    directories.example

    +

    directories.example

    Put example scripts in here. Someday, it might be exposed in some clever way.

    -

    directories.test

    +

    directories.test

    Put your tests in here. It is currently not exposed, but it might be in the future.

    -

    repository

    +

    repository

    Specify the place where your code lives. This is helpful for people who want to contribute. If the git repo is on GitHub, then the npm docs command will be able to find you.

    @@ -378,12 +400,12 @@

    "url" : "https://github.com/facebook/react.git", "directory": "packages/react-dom" }

    -

    scripts

    +

    scripts

    The "scripts" property is a dictionary containing script commands that are run at various times in the lifecycle of your package. The key is the lifecycle event, and the value is the command to run at that point.

    See scripts to find out more about writing package scripts.

    -

    config

    +

    config

    A "config" object can be used to set configuration parameters used in package scripts that persist across upgrades. For instance, if a package had the following:

    @@ -394,7 +416,7 @@

    npm config set foo:port 8001.

    See config and scripts for more on package configs.

    -

    dependencies

    +

    dependencies

    Dependencies are specified in a simple object that maps a package name to a version range. The version range is a string which has one or more space-separated descriptors. Dependencies can also be identified with a @@ -418,7 +440,7 @@

    range1 || range2 Passes if either range1 or range2 are satisfied.
  • git... See 'Git URLs as Dependencies' below
  • user/repo See 'GitHub URLs' below
  • -
  • tag A specific version tagged and published as tag See npm dist-tag
  • +
  • tag A specific version tagged and published as tag See npm dist-tag
  • path/path/path See Local Paths below
  • For example, these are all valid:

    @@ -437,11 +459,11 @@

    , "dyl" : "file:../dyl" } }

    -

    URLs as Dependencies

    +

    URLs as Dependencies

    You may specify a tarball URL in place of a version range.

    This tarball will be downloaded and installed locally to your package at install time.

    -

    Git URLs as Dependencies

    +

    Git URLs as Dependencies

    Git urls are of the form:

    <protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish> | #semver:<semver>]

    <protocol> is one of git, git+ssh, git+http, git+https, or @@ -457,7 +479,7 @@

    #semver:^5.0 git+https://isaacs@github.com/npm/cli.git git://github.com/npm/cli.git#v1.0.27

    -

    GitHub URLs

    +

    GitHub URLs

    As of version 1.1.65, you can refer to GitHub urls as just "foo": "user/foo-project". Just as with git URLs, a commit-ish suffix can be included. For example:

    @@ -470,7 +492,7 @@

    "module": "user/repo#feature\/branch" } }

    -

    Local Paths

    +

    Local Paths

    As of version 2.0.0 you can provide a path to a local directory that contains a package. Local paths can be saved using npm install -S or npm install --save, using any of these forms:

    @@ -490,7 +512,7 @@

    -

    devDependencies

    +

    devDependencies

    If someone is planning on downloading and using your module in their program, then they probably don't want or need to download and build the external test or documentation framework that you use.

    @@ -518,7 +540,7 @@

    npm install), it'll run this script as well, so that you can test it easily.

    -

    peerDependencies

    +

    peerDependencies

    In some cases, you want to express the compatibility of your package with a host tool or library, while not necessarily doing a require of this host. This is usually referred to as a plugin. Notably, your module may be exposing @@ -549,7 +571,7 @@

    "^1.0" or "1.x" to express this. If you depend on features introduced in 1.5.2, use ">= 1.5.2 < 2".

    -

    bundledDependencies

    +

    bundledDependencies

    This defines an array of package names that will be bundled when publishing the package.

    In cases where you need to preserve npm packages locally or have them @@ -571,12 +593,13 @@

    dependencies.

    If this is spelled "bundleDependencies", then that is also honored.

    -

    optionalDependencies

    +

    optionalDependencies

    If a dependency can be used, but you would like npm to proceed if it cannot be found or fails to install, then you may put it in the optionalDependencies object. This is a map of package name to version or url, just like the dependencies object. The difference is that build failures do not cause -installation to fail.

    +installation to fail. Running npm install --no-optional will prevent these +dependencies from being installed.

    It is still your program's responsibility to handle the lack of the dependency. For example, something like this:

    try {
    @@ -596,7 +619,7 @@ 

    }

    Entries in optionalDependencies will override entries of the same name in dependencies, so it's usually best to only put in one place.

    -

    engines

    +

    engines

    You can specify the version of node that your stuff works on:

    { "engines" : { "node" : ">=0.10.3 <0.12" } }

    And, like with dependencies, if you don't specify the version (or if you @@ -609,11 +632,11 @@

    { "engines" : { "npm" : "~1.0.20" } }

    Unless the user has set the engine-strict config flag, this field is advisory only and will only produce warnings when your package is installed as a dependency.

    -

    engineStrict

    +

    engineStrict

    This feature was removed in npm 3.0.0

    Prior to npm 3.0.0, this feature was used to treat this package as if the user had set engine-strict. It is no longer used.

    -

    os

    +

    os

    You can specify which operating systems your module will run on:

    "os" : [ "darwin", "linux" ]
    @@ -623,19 +646,19 @@

    The host operating system is determined by process.platform

    It is allowed to both blacklist, and whitelist, although there isn't any good reason to do this.

    -

    cpu

    +

    cpu

    If your code only runs on certain cpu architectures, you can specify which ones.

    "cpu" : [ "x64", "ia32" ]

    Like the os option, you can also blacklist architectures:

    "cpu" : [ "!arm", "!mips" ]

    The host architecture is determined by process.arch

    -

    preferGlobal

    +

    preferGlobal

    DEPRECATED

    This option used to trigger an npm warning, but it will no longer warn. It is purely there for informational purposes. It is now recommended that you install any binaries as local devDependencies wherever possible.

    -

    private

    +

    private

    If you set "private": true in your package.json, then npm will refuse to publish it.

    This is a way to prevent accidental publication of private repositories. If @@ -643,7 +666,7 @@

    publishConfig dictionary described below to override the registry config param at publish-time.

    -

    publishConfig

    +

    publishConfig

    This is a set of config values that will be used at publish-time. It's especially handy if you want to set the tag, registry or access, so that you can ensure that a given package is not tagged with "latest", published @@ -652,7 +675,7 @@

    config to see the list of config options that can be overridden.

    -

    DEFAULT VALUES

    +

    DEFAULT VALUES

    npm will default some values based on package contents.

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file + \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/package-lock-json/index.html b/deps/npm/docs/public/configuring-npm/package-lock-json/index.html index 3f09e0ec572c60..6ffd16ebed3502 100644 --- a/deps/npm/docs/public/configuring-npm/package-lock-json/index.html +++ b/deps/npm/docs/public/configuring-npm/package-lock-json/index.html @@ -1,4 +1,4 @@ -

    package-lock.json

    -

    A manifestation of the manifest

    -

    Description

    +

    package-lock.json

    +

    A manifestation of the manifest

    +

    Description

    package-lock.json is automatically generated for any operations where npm modifies either the node_modules tree, or package.json. It describes the exact tree that was generated, such that subsequent installs are able to @@ -90,30 +96,30 @@

    If both package-lock.json and npm-shrinkwrap.json are present in the root of a package, package-lock.json will be completely ignored.

    -

    File Format

    -

    name

    +

    File Format

    +

    name

    The name of the package this is a package-lock for. This must match what's in package.json.

    -

    version

    +

    version

    The version of the package this is a package-lock for. This must match what's in package.json.

    -

    lockfileVersion

    +

    lockfileVersion

    An integer version, starting at 1 with the version number of this document whose semantics were used when generating this package-lock.json.

    -

    packageIntegrity

    +

    packageIntegrity

    This is a subresource integrity value created from the package.json. No preprocessing of the package.json should be done. Subresource integrity strings can be produced by modules like ssri.

    - +

    Indicates that the install was done with the environment variable NODE_PRESERVE_SYMLINKS enabled. The installer should insist that the value of this property match that environment variable.

    -

    dependencies

    +

    dependencies

    A mapping of package name to dependency object. Dependency objects have the following properties:

    -
    version
    +
    version

    This is a specifier that uniquely identifies this package and should be usable in fetching a new copy of it.

    -
    integrity
    +
    integrity

    This is a Standard Subresource Integrity for this resource.

    @@ -136,43 +142,43 @@
    resolved
    +
    resolved
    • For bundled dependencies this is not included, regardless of source.
    • For registry sources this is path of the tarball relative to the registry URL. If the tarball URL isn't on the same server as the registry URL then this is a complete URL.
    -
    bundled
    +
    bundled

    If true, this is the bundled dependency and will be installed by the parent module. When installing, this module will be extracted from the parent module during the extract phase, not installed as a separate dependency.

    -
    dev
    +
    dev

    If true then this dependency is either a development dependency ONLY of the top level module or a transitive dependency of one. This is false for dependencies that are both a development dependency of the top level and a transitive dependency of a non-development dependency of the top level.

    -
    optional
    +
    optional

    If true then this dependency is either an optional dependency ONLY of the top level module or a transitive dependency of one. This is false for dependencies that are both an optional dependency of the top level and a transitive dependency of a non-optional dependency of the top level.

    All optional dependencies should be included even if they're uninstallable on the current platform.

    -
    requires
    +
    requires

    This is a mapping of module name to version. This is a list of everything this module requires, regardless of where it will be installed. The version should match via normal matching rules a dependency either in our dependencies or in a level higher than us.

    -
    dependencies
    +
    dependencies

    The dependencies of this dependency, exactly as at the top level.

    -

    See also

    +

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/package-locks/index.html b/deps/npm/docs/public/configuring-npm/package-locks/index.html index 3308e55e82051a..535f83b28e08e2 100644 --- a/deps/npm/docs/public/configuring-npm/package-locks/index.html +++ b/deps/npm/docs/public/configuring-npm/package-locks/index.html @@ -1,4 +1,4 @@ -

    package-locks

    -

    An explanation of npm lockfiles

    -

    Description

    -

    Conceptually, the "input" to npm install is a package.json, while its +

    package-locks

    +

    An explanation of npm lockfiles

    +

    Description

    +

    Conceptually, the "input" to npm install is a package.json, while its "output" is a fully-formed node_modules tree: a representation of the dependencies you declared. In an ideal world, npm would work like a pure function: the same package.json should produce the exact same node_modules @@ -163,7 +169,7 @@

      "scripts": {
         "postshrinkwrap": "json -I -e \"this.myMetadata = $MY_APP_METADATA\""
       }

    -

    Using locked packages

    +

    Using locked packages

    Using a locked package is no different than using any package without a package lock: any commands that update node_modules and/or package.json's dependencies will automatically sync the existing lockfile. This includes npm @@ -178,7 +184,7 @@

    node_modules, so you can notice if any transitive dependencies were updated, hoisted, etc.

    -

    Resolving lockfile conflicts

    +

    Resolving lockfile conflicts

    Occasionally, two separate npm install will create package locks that cause merge conflicts in source control systems. As of npm@5.7.0, these conflicts can be resolved by manually fixing any package.json conflicts, and then @@ -194,13 +200,13 @@

    npm@5.7.0 versions of npm 5, albeit a bit more noisily. Note that if package.json itself conflicts, you will have to resolve that by hand and run npm install manually, even with the merge driver.

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/shrinkwrap-json/index.html b/deps/npm/docs/public/configuring-npm/shrinkwrap-json/index.html index 9c90ad71c562fb..e2ff06feb4c377 100644 --- a/deps/npm/docs/public/configuring-npm/shrinkwrap-json/index.html +++ b/deps/npm/docs/public/configuring-npm/shrinkwrap-json/index.html @@ -1,4 +1,4 @@ -

    npm shrinkwrap.json

    -

    A publishable lockfile

    -

    Description

    -

    npm-shrinkwrap.json is a file created by npm shrinkwrap. It is identical to +

    npm shrinkwrap.json

    +

    A publishable lockfile

    +

    Description

    +

    npm-shrinkwrap.json is a file created by npm shrinkwrap. It is identical to package-lock.json, with one major caveat: Unlike package-lock.json, npm-shrinkwrap.json may be included when publishing a package.

    The recommended use-case for npm-shrinkwrap.json is applications deployed @@ -83,12 +89,12 @@

    package-lock.json will be ignored in favor of this file.

    For full details and description of the npm-shrinkwrap.json file format, refer to the manual page for package-lock.json.

    -

    See also

    +

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/index.html b/deps/npm/docs/public/index.html index cab38416ba2291..a3bd3a8d519095 100644 --- a/deps/npm/docs/public/index.html +++ b/deps/npm/docs/public/index.html @@ -1,4 +1,4 @@ -npm cli | npm cli documentationnpm cli | npm cli documentation
    npm cli _
    The intelligent package manager for the Node Javascript Platform. Install stuff and get coding!
    npm cli _
    The intelligent package manager for the Node Javascript Platform. Install stuff and get coding!
    npm cli _
    The intelligent package manager for the Node Javascript Platform. Install stuff and get coding!

    The current stable version of npm is available on GitHub.

    To upgrade, run: npm install npm@latest -g

    \ No newline at end of file +
    npm cli _
    The intelligent package manager for the Node Javascript Platform. Install stuff and get coding!
    npm cli _
    The intelligent package manager for the Node Javascript Platform. Install stuff and get coding!
    npm cli _
    The intelligent package manager for the Node Javascript Platform. Install stuff and get coding!

    The current stable version of npm is available on GitHub.

    To upgrade, run: npm install npm@latest -g

    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/config/index.html b/deps/npm/docs/public/using-npm/config/index.html index 90b88a641b48ae..6d7c2995a95c3c 100644 --- a/deps/npm/docs/public/using-npm/config/index.html +++ b/deps/npm/docs/public/using-npm/config/index.html @@ -1,4 +1,4 @@ -

    config

    -

    More than you probably want to know about npm configuration

    -

    Description

    +

    config

    +

    More than you probably want to know about npm configuration

    +

    Description

    npm gets its configuration values from the following sources, sorted by priority:

    -

    Command Line Flags

    +

    Command Line Flags

    Putting --foo bar on the command line sets the foo configuration parameter to "bar". A -- argument tells the cli parser to stop reading flags. Using --flag without specifying any value will set @@ -82,7 +88,7 @@

    flag2 to bar. Finally, --flag1 --flag2 -- bar will set both configuration parameters to true, and the bar is taken as a command argument.

    -

    Environment Variables

    +

    Environment Variables

    Any environment variables that start with npm_config_ will be interpreted as a configuration parameter. For example, putting npm_config_foo=bar in your environment will set the foo @@ -95,7 +101,7 @@

    this issue.

    Notice that you need to use underscores instead of dashes, so --allow-same-version would become npm_config_allow_same_version=true.

    -

    npmrc Files

    +

    npmrc Files

    The four relevant files are:

    See npmrc for more details.

    -

    Default Configs

    +

    Default Configs

    Run npm config ls -l to see a set of configuration parameters that are internal to npm, and are defaults if nothing else is specified.

    -

    Shorthands and Other CLI Niceties

    +

    Shorthands and Other CLI Niceties

    The following shorthands are parsed on the command-line:

    -

    Per-Package Config Settings

    +

    Per-Package Config Settings

    When running scripts (see scripts) the package.json "config" keys are overwritten in the environment if there is a config param of <name>[@<version>]:<key>. For example, if the package.json has @@ -163,8 +169,8 @@

    then the user could change the behavior by doing:

    npm config set foo:port 80

    See package.json for more information.

    -

    Config Settings

    -

    access

    +

    Config Settings

    +

    access

    • Default: restricted
    • Type: Access
    • @@ -173,49 +179,49 @@

      --access=public. The only valid values for access are public and restricted. Unscoped packages always have an access level of public.

      -

      allow-same-version

      +

      allow-same-version

      • Default: false
      • Type: Boolean

      Prevents throwing an error when npm version is used to set the new version to the same value as the current version.

      -

      always-auth

      +

      always-auth

      • Default: false
      • Type: Boolean

      Force npm to always require authentication when accessing the registry, even for GET requests.

      -

      also

      +

      also

      • Default: null
      • Type: String

      When "dev" or "development" and running local npm shrinkwrap, npm outdated, or npm update, is an alias for --dev.

      -

      audit

      +

      audit

      • Default: true
      • Type: Boolean

      When "true" submit audit reports alongside npm install runs to the default registry and all registries configured for scopes. See the documentation -for npm audit for details on what is submitted.

      -

      audit-level

      +for npm audit for details on what is submitted.

      +

      audit-level

      • Default: "low"
      • Type: 'low', 'moderate', 'high', 'critical'

      The minimum level of vulnerability for npm audit to exit with a non-zero exit code.

      -

      auth-type

      +

      auth-type

      • Default: 'legacy'
      • Type: 'legacy', 'sso', 'saml', 'oauth'

      What authentication strategy to use with adduser/login.

      -

      before

      +

      before

    See also the strict-ssl config.

    -

    cafile

    +

    cafile

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/developers/index.html b/deps/npm/docs/public/using-npm/developers/index.html index c1a93d97d44cb2..a6cbcdf43bc5e3 100644 --- a/deps/npm/docs/public/using-npm/developers/index.html +++ b/deps/npm/docs/public/using-npm/developers/index.html @@ -1,4 +1,4 @@ -

    developers

    -

    Developer Guide

    -

    Description

    +

    developers

    +

    Developer Guide

    +

    Description

    So, you've decided to use npm to develop (and maybe publish/deploy) your project.

    Fantastic!

    There are a few things that you need to do above the simple steps that your users will do to install your program.

    -

    About These Documents

    +

    About These Documents

    These are man pages. If you install npm, you should be able to then do man npm-thing to get the documentation on a particular topic, or npm help thing to see the same information.

    -

    What is a package

    +

    What is a package

    A package is:

    • a) a folder containing a program described by a package.json file
    • @@ -102,7 +108,7 @@

      #commit-ish

    The commit-ish can be any tag, sha, or branch which can be supplied as an argument to git checkout. The default is master.

    -

    The package.json File

    +

    The package.json File

    You need to have a package.json file in the root of your project to do much of anything with npm. That is basically the whole interface.

    See package.json for details about what goes in that file. At the very @@ -143,7 +149,7 @@

    npm init in the root of your package in order to get you started with a pretty basic package.json file. See npm init for more info.

    -

    Keeping files out of your package

    +

    Keeping files out of your package

    Use a .npmignore file to keep stuff out of your package. If there's no .npmignore file, but there is a .gitignore file, then npm will ignore the stuff matched by the .gitignore file. If you want to @@ -191,18 +197,18 @@

    package.json, which is an array of file or directory names that should be included in your package. Sometimes a whitelist is easier to manage than a blacklist.

    -

    Testing whether your .npmignore or files config works

    +

    Testing whether your .npmignore or files config works

    If you want to double check that your package will include only the files you intend it to when published, you can run the npm pack command locally which will generate a tarball in the working directory, the same way it does for publishing.

    - +

    npm link is designed to install a development package and see the changes in real time without having to keep re-installing it. (You do need to either re-link or npm rebuild -g to update compiled packages, of course.)

    More info at npm link.

    -

    Before Publishing: Make Sure Your Package Installs and Works

    +

    Before Publishing: Make Sure Your Package Installs and Works

    This is important.

    If you can not install it locally, you'll have problems trying to publish it. Or, worse yet, you'll be able to @@ -220,12 +226,12 @@

    -

    Create a User Account

    +

    Create a User Account

    Create a user with the adduser command. It works like this:

    npm adduser

    and then follow the prompts.

    This is documented better in npm adduser.

    -

    Publish your package

    +

    Publish your package

    This part's easy. In the root of your folder, do this:

    npm publish

    You can give publish a url to a tarball, or a filename of a tarball, @@ -234,10 +240,10 @@

    .npmignore file to list out the globs to ignore, or publish from a fresh checkout.

    -

    Brag about it

    +

    Brag about it

    Send emails, write blogs, blab in IRC.

    Tell the world how easy it is to install your program!

    -

    See also

    +

    See also

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/disputes/index.html b/deps/npm/docs/public/using-npm/disputes/index.html index facb5d7c51f957..fa98276007062f 100644 --- a/deps/npm/docs/public/using-npm/disputes/index.html +++ b/deps/npm/docs/public/using-npm/disputes/index.html @@ -1,4 +1,4 @@ -

    disputes

    -

    Handling Module Name Disputes

    +

    disputes

    +

    Handling Module Name Disputes

    This document describes the steps that you should take to resolve module name disputes with other npm publishers. It also describes special steps you should take about names you think infringe your trademarks.

    @@ -77,14 +83,14 @@

    npm Code of Conduct, and nothing in this document should be interpreted to contradict any aspect of the npm Code of Conduct.

    -

    TL;DR

    +

    TL;DR

    1. Get the author email with npm owner ls <pkgname>
    2. Email the author, CC support@npmjs.com
    3. After a few weeks, if there's no resolution, we'll sort it out.

    Don't squat on package names. Publish code or move out of the way.

    -

    Description

    +

    Description

    There sometimes arise cases where a user publishes a module, and then later, some other user wants to use that name. Here are some common ways that happens (each of these is based on actual events.)

    @@ -121,7 +127,7 @@

    support@npmjs.com and we'll sort it out. ("Reasonable" is usually at least 4 weeks.) -

    Reasoning

    +

    Reasoning

    In almost every case so far, the parties involved have been able to reach an amicable resolution without any major intervention. Most people really do want to be reasonable, and are probably not even aware that they're in your way.

    @@ -130,7 +136,7 @@

    Exceptions

    +

    Exceptions

    Some things are not allowed, and will be removed without discussion if they are brought to the attention of the npm registry admins, including but not limited to:

    @@ -157,7 +163,7 @@

    If you see bad behavior like this, please report it to abuse@npmjs.com right away. You are never expected to resolve abusive behavior on your own. We are here to help.

    -

    Trademarkss

    +

    Trademarks

    If you think another npm publisher is infringing your trademark, such as by using a confusingly similar package name, email abuse@npmjs.com with a link to the package or user account on https://www.npmjs.com/. @@ -167,18 +173,18 @@

    README file or metadata.

    -

    Changes

    +

    Changes

    This is a living document and may be updated from time to time. Please refer to the git history for this document to view the changes.

    -

    License

    +

    License

    Copyright (C) npm, Inc., All rights reserved

    This document may be reused under a Creative Commons Attribution-ShareAlike License.

    -

    See also

    +

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/orgs/index.html b/deps/npm/docs/public/using-npm/orgs/index.html index 72fedfb33fcfba..3ebd3a1444a936 100644 --- a/deps/npm/docs/public/using-npm/orgs/index.html +++ b/deps/npm/docs/public/using-npm/orgs/index.html @@ -1,4 +1,4 @@ -

    orgs

    -

    Working with Teams & Orgs

    -

    Description

    +

    orgs

    +

    Working with Teams & Orgs

    +

    Description

    There are three levels of org users:

    1. Super admin, controls billing & adding people to the org.
    2. @@ -82,10 +88,10 @@

      The developer will be able to access packages based on the teams they are on. Access is either read-write or read-only.

      There are two main commands:

        -
      1. npm team see npm team for more details
      2. -
      3. npm access see npm access for more details
      4. +
      5. npm team see npm team for more details
      6. +
      7. npm access see npm access for more details
      -

      Team Admins create teams

      +

      Team Admins create teams

      • Check who you’ve added to your org:
      @@ -99,7 +105,7 @@

      Add members to that team:
      npm team add <org:team> <user>
      -

      Publish a package and adjust package access

      +

      Publish a package and adjust package access

      • In package directory, run
      @@ -113,7 +119,7 @@

      npm access revoke <org:team> [<package>]

    -

    Monitor your package access

    +

    Monitor your package access

    • See what org packages a team member can access:
    @@ -126,10 +132,10 @@

    Check which teams are collaborating on a package:
    npm access ls-collaborators <pkg>
    -

    See also

    +

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/registry/index.html b/deps/npm/docs/public/using-npm/registry/index.html index d6bdb097a6cc67..6cc806bc43651a 100644 --- a/deps/npm/docs/public/using-npm/registry/index.html +++ b/deps/npm/docs/public/using-npm/registry/index.html @@ -1,4 +1,4 @@ -

    registry

    -

    The JavaScript Package Registry

    -

    Description

    +

    registry

    +

    The JavaScript Package Registry

    +

    Description

    To resolve packages by name and version, npm talks to a registry website that implements the CommonJS Package Registry specification for reading package info.

    @@ -89,9 +95,9 @@

    https://github.com/npm/npm-registry-couchapp.

    The registry URL used is determined by the scope of the package (see scope. If no scope is specified, the default registry is used, which is -supplied by the registry config parameter. See npm config, +supplied by the registry config parameter. See npm config, npmrc, and config for more on managing npm's configuration.

    -

    Does npm send any information about me back to the registry?

    +

    Does npm send any information about me back to the registry?

    Yes.

    When making requests of the registry npm adds two headers with information about your environment:

    @@ -111,7 +117,7 @@

    Can I run my own private registry?

    +

    Can I run my own private registry?

    Yes!

    The easiest way is to replicate the couch database, and use the same (or similar) design doc to implement the APIs.

    @@ -121,24 +127,24 @@

    --registry option for that publish command.

    -

    I don't want my package published in the official registry. It's private.

    +

    I don't want my package published in the official registry. It's private.

    Set "private": true in your package.json to prevent it from being published at all, or "publishConfig":{"registry":"http://my-internal-registry.local"} to force it to be published only to your internal registry.

    See package.json for more info on what goes in the package.json file.

    -

    Will you replicate from my registry into the public one?

    +

    Will you replicate from my registry into the public one?

    No. If you want things to be public, then publish them into the public registry using npm. What little security there is would be for nought otherwise.

    -

    Do I have to use couchdb to build a registry that npm can talk to?

    +

    Do I have to use couchdb to build a registry that npm can talk to?

    No, but it's way easier. Basically, yes, you do, or you have to effectively implement the entire CouchDB API anyway.

    -

    Is there a website or something to see package docs and such?

    +

    Is there a website or something to see package docs and such?

    Yes, head over to https://www.npmjs.com/

    -

    See also

    +

    See also

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/removal/index.html b/deps/npm/docs/public/using-npm/removal/index.html index d75978c0b72b08..723334e4dae6e3 100644 --- a/deps/npm/docs/public/using-npm/removal/index.html +++ b/deps/npm/docs/public/using-npm/removal/index.html @@ -1,4 +1,4 @@ -

    removal

    -

    Cleaning the Slate

    -

    Synopsis

    +

    removal

    +

    Cleaning the Slate

    +

    Synopsis

    So sad to see you go.

    sudo npm uninstall npm -g

    Or, if that fails, get the npm source code, and do:

    sudo make uninstall
    -

    More Severe Uninstalling

    +

    More Severe Uninstalling

    Usually, the above instructions are sufficient. That will remove npm, but leave behind anything you've installed.

    If that doesn't work, or if you require more drastic measures, @@ -99,10 +105,10 @@

    find /usr/local/{lib/node,bin} -exec grep -l npm \{\} \; ;

    (This is also in the README file.)

    -

    See also

    +

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/scope/index.html b/deps/npm/docs/public/using-npm/scope/index.html index ab6ddaac128813..fe450fd3739bd7 100644 --- a/deps/npm/docs/public/using-npm/scope/index.html +++ b/deps/npm/docs/public/using-npm/scope/index.html @@ -1,4 +1,4 @@ -

    scope

    -

    Scoped packages

    -

    Description

    +

    scope

    +

    Scoped packages

    +

    Description

    All npm packages have a name. Some package names also have a scope. A scope follows the usual rules for package names (URL-safe characters, no leading dots or underscores). When used in package names, scopes are preceded by an @ symbol @@ -86,7 +92,7 @@

    -

    Installing scoped packages

    +

    Installing scoped packages

    Scoped packages are installed to a sub-folder of the regular installation folder, e.g. if your other packages are installed in node_modules/packagename, scoped modules will be installed in node_modules/@myorg/packagename. The scope @@ -100,25 +106,25 @@

    "@myorg/mypackage": "^1.3.0" }

    Note that if the @ symbol is omitted, in either case, npm will instead attempt to -install from GitHub; see npm install.

    -

    Requiring scoped packages

    +install from GitHub; see npm install.

    +

    Requiring scoped packages

    Because scoped packages are installed into a scope folder, you have to include the name of the scope when requiring them in your code, e.g.

    require('@myorg/mypackage')

    There is nothing special about the way Node treats scope folders. This simply requires the mypackage module in the folder named @myorg.

    -

    Publishing scoped packages

    +

    Publishing scoped packages

    Scoped packages can be published from the CLI as of npm@2 and can be published to any registry that supports them, including the primary npm registry.

    (As of 2015-04-19, and with npm 2.0 or better, the primary npm registry does support scoped packages.)

    If you wish, you may associate a scope with a registry; see below.

    -

    Publishing public scoped packages to the primary npm registry

    +

    Publishing public scoped packages to the primary npm registry

    To publish a public scoped package, you must specify --access public with the initial publication. This will publish the package and set access to public as if you had run npm access public after publishing.

    -

    Publishing private scoped packages to the npm registry

    +

    Publishing private scoped packages to the npm registry

    To publish a private scoped package to the npm registry, you must have an npm Private Modules account.

    @@ -126,7 +132,7 @@

    npm access or on the npmjs.com website.

    -

    Associating a scope with a registry

    +

    Associating a scope with a registry

    Scopes can be associated with a separate registry. This allows you to seamlessly use a mix of packages from the primary npm registry and one or more private registries, such as npm Enterprise.

    @@ -140,11 +146,11 @@

    npm publish for a package name that contains the scope will be published to that registry instead.

    -

    See also

    +

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/scripts/index.html b/deps/npm/docs/public/using-npm/scripts/index.html index f08811cc7d268b..d2376cf2754a68 100644 --- a/deps/npm/docs/public/using-npm/scripts/index.html +++ b/deps/npm/docs/public/using-npm/scripts/index.html @@ -1,4 +1,4 @@ -

    scripts

    -

    How npm handles the "scripts" field

    -

    Description

    -

    npm supports the "scripts" property of the package.json file, for the -following scripts:

    +

    scripts

    +

    How npm handles the "scripts" field

    +

    Description

    +

    The "scripts" property of of your package.json file supports a number of built-in scripts and their preset life cycle events as well as arbitrary scripts. These all can be executed by running npm run-script <stage> or npm run <stage> for short. Pre and post commands with matching names will be run for those as well (e.g. premyscript, myscript, postmyscript). Scripts from dependencies can be run with npm explore <pkg> -- npm run <stage>.

    +

    Pre & Post Scripts

    +

    To create "pre" or "post" scripts for any scripts defined in the "scripts" section of the package.json, simply create another script with a matching name and add "pre" or "post" to the beginning of them.

    +
    {
    +  "scripts": {
    +    "precompress": "{{ executes BEFORE the `compress` script }}",
    +    "compress": "{{ run command to compress files }}",
    +    "postcompress": "{{ executes AFTER `compress` script }}"
    +  }
    +}
    +

    Life Cycle Scripts

    +

    There are some special life cycle scripts that happen only in certain situations. These scripts happen in addtion to the "pre" and "post" script.

    +
      +
    • prepare, prepublish, prepublishOnly, prepack, postpack
    • +
    +

    prepare (since npm@4.0.0)

    +
      +
    • Runs BEFORE the package is packed
    • +
    • Runs BEFORE the package is published
    • +
    • Runs on local npm install without any arguments
    • +
    • Run AFTER prepublish, but BEFORE prepublishOnly
    • +
    • NOTE: If a package being installed through git contains a prepare script, its dependencies and devDependencies will be installed, and the prepare script will be run, before the package is packaged and installed.
    • +
    +

    prepublish (DEPRECATED)

    +
      +
    • Same as prepare
    • +
    +

    prepublishOnly

      -
    • prepublish (as of npm@5, prepublish is deprecated. Use prepare for build steps and prepublishOnly for upload-only.): -Run BEFORE the package is packed and published, as well as on local npm -install without any arguments. (See below)
    • -
    • prepare: -Run both BEFORE the package is packed and published, on local npm -install without any arguments, and when installing git dependencies (See -below). This is run AFTER prepublish, but BEFORE prepublishOnly.
    • -
    • prepublishOnly: -Run BEFORE the package is prepared and packed, ONLY on npm publish. (See -below.)
    • -
    • prepack: -run BEFORE a tarball is packed (on npm pack, npm publish, and when -installing git dependencies)
    • -
    • postpack: -Run AFTER the tarball has been generated and moved to its final destination.
    • -
    • publish, postpublish: -Run AFTER the package is published.
    • -
    • preinstall: -Run BEFORE the package is installed
    • -
    • install, postinstall: -Run AFTER the package is installed.
    • -
    • preuninstall, uninstall: -Run BEFORE the package is uninstalled.
    • -
    • postuninstall: -Run AFTER the package is uninstalled.
    • -
    • preversion: -Run BEFORE bumping the package version.
    • -
    • version: -Run AFTER bumping the package version, but BEFORE commit.
    • -
    • postversion: -Run AFTER bumping the package version, and AFTER commit.
    • -
    • pretest, test, posttest: -Run by the npm test command.
    • -
    • prestop, stop, poststop: -Run by the npm stop command.
    • -
    • prestart, start, poststart: -Run by the npm start command.
    • -
    • prerestart, restart, postrestart: -Run by the npm restart command. Note: npm restart will run the -stop and start scripts if no restart script is provided.
    • -
    • preshrinkwrap, shrinkwrap, postshrinkwrap: -Run by the npm shrinkwrap command.
    • +
    • Runs BEFORE the package is prepared and packed, ONLY on npm publish.
    -

    Additionally, arbitrary scripts can be executed by running npm -run-script <stage>. Pre and post commands with matching -names will be run for those as well (e.g. premyscript, myscript, -postmyscript). Scripts from dependencies can be run with -npm explore <pkg> -- npm run <stage>.

    -

    Prepublish and Prepare

    -

    Deprecation Note

    -

    Since npm@1.1.71, the npm CLI has run the prepublish script for both npm -publish and npm install, because it's a convenient way to prepare a package -for use (some common use cases are described in the section below). It has -also turned out to be, in practice, very -confusing. As of npm@4.0.0, a new -event has been introduced, prepare, that preserves this existing behavior. A -new event, prepublishOnly has been added as a transitional strategy to -allow users to avoid the confusing behavior of existing npm versions and only -run on npm publish (for instance, running the tests one last time to ensure -they're in good shape).

    -

    See https://github.com/npm/npm/issues/10074 for a much lengthier -justification, with further reading, for this change.

    -

    Use Cases

    -

    If you need to perform operations on your package before it is used, in a way -that is not dependent on the operating system or architecture of the -target system, use a prepublish script. This includes -tasks such as:

    +

    prepack

    +
      +
    • Runs BEFORE a tarball is packed (on "npm pack", "npm publish", and when installing a git dependencies).
    • +
    • NOTE: "npm run pack" is NOT the same as "npm pack". "npm run pack" is an arbitrary user defined script name, where as, "npm pack" is a CLI defined command.
    • +
    +

    postpack

    +
      +
    • Runs AFTER the tarball has been generated and moved to its final destination.
    • +
    +

    Prepare and Prepublish

    +

    Deprecation Note: prepublish

    +

    Since npm@1.1.71, the npm CLI has run the prepublish script for both npm publish and npm install, because it's a convenient way to prepare a package for use (some common use cases are described in the section below). It has also turned out to be, in practice, very confusing. As of npm@4.0.0, a new event has been introduced, prepare, that preserves this existing behavior. A new event, prepublishOnly has been added as a transitional strategy to allow users to avoid the confusing behavior of existing npm versions and only run on npm publish (for instance, running the tests one last time to ensure they're in good shape).

    +

    See https://github.com/npm/npm/issues/10074 for a much lengthier justification, with further reading, for this change.

    +

    Use Cases

    +

    If you need to perform operations on your package before it is used, in a way that is not dependent on the operating system or architecture of the target system, use a prepublish script. This includes tasks such as:

    • Compiling CoffeeScript source code into JavaScript.
    • Creating minified versions of JavaScript source code.
    • Fetching remote resources that your package will use.
    -

    The advantage of doing these things at prepublish time is that they can be done once, in a -single place, thus reducing complexity and variability. -Additionally, this means that:

    +

    The advantage of doing these things at prepublish time is that they can be done once, in a single place, thus reducing complexity and variability. Additionally, this means that:

    -

    Default Values

    +

    Life Cycle Operation Order

    +

    npm publish

    +
      +
    • prepublishOnly
    • +
    • prepare
    • +
    • prepublish
    • +
    • publish
    • +
    • postpublish
    • +
    +

    npm pack

    +
      +
    • prepack
    • +
    • postpack
    • +
    +

    npm install

    +
      +
    • preinstall
    • +
    • install
    • +
    • postinstall
    • +
    +

    Also triggers

    +
      +
    • prepublish (when on local)
    • +
    • prepare (when on local)
    • +
    +

    npm start

    +

    npm run start has an npm start shorthand.

    +
      +
    • prestart
    • +
    • start
    • +
    • poststart
    • +
    +

    Default Values

    npm will default some script values based on package contents.

    -

    User

    +

    User

    If npm was invoked with root privileges, then it will change the uid to the user account or uid specified by the user config, which defaults to nobody. Set the unsafe-perm flag to run scripts with root privileges.

    -

    Environment

    +

    Environment

    Package scripts run in an environment where many pieces of information are made available regarding the setup of npm and the current state of the process.

    -

    path

    +

    path

    If you depend on modules that define executable scripts, like test suites, then those executables will be added to the PATH for executing the scripts. So, if your package.json has this:

    @@ -190,7 +202,7 @@

    , "scripts": { "start" : "bar ./test" } }

    then you could run npm start to execute the bar script, which is exported into the node_modules/.bin directory on npm install.

    -

    package.json vars

    +

    package.json vars

    The package.json fields are tacked onto the npm_package_ prefix. So, for instance, if you had {"name":"foo", "version":"1.2.5"} in your package.json file, then your package scripts would have the @@ -198,11 +210,11 @@

    npm_package_version set to "1.2.5". You can access these variables in your code with process.env.npm_package_name and process.env.npm_package_version, and so on for other fields.

    -

    configuration

    +

    configuration

    Configuration parameters are put in the environment with the npm_config_ prefix. For instance, you can view the effective root config by checking the npm_config_root environment variable.

    -

    Special: package.json "config" object

    +

    Special: package.json "config" object

    The package.json "config" keys are overwritten in the environment if there is a config param of <name>[@<version>]:<key>. For example, if the package.json has this:

    @@ -213,7 +225,7 @@

    http.createServer(...).listen(process.env.npm_package_config_port)

    then the user could change the behavior by doing:

      npm config set foo:port 80
    -

    current lifecycle event

    +

    current lifecycle event

    Lastly, the npm_lifecycle_event environment variable is set to whichever stage of the cycle is being executed. So, you could have a single script used for different parts of the process which switches @@ -222,11 +234,11 @@

    {"scripts":{"install":"foo.js"}} in your package.json, then you'd see this in the script:

    process.env.npm_package_scripts_install === "foo.js"
    -

    Examples

    +

    Examples

    For example, if your package.json contains this:

    { "scripts" :
       { "install" : "scripts/install.js"
    -  , "postinstall" : "scripts/install.js"
    +  , "postinstall" : "scripts/postinstall.js"
       , "uninstall" : "scripts/uninstall.js"
       }
     }
    @@ -244,14 +256,14 @@

    , "test" : "make test" } }

    -

    Exiting

    +

    Exiting

    Scripts are run by passing the line as a script argument to sh.

    If the script exits with a code other than 0, then this will abort the process.

    Note that these script files don't have to be nodejs or even javascript programs. They just have to be some kind of executable file.

    -

    Hook Scripts

    +

    Hook Scripts

    If you want to run a specific script at a specific lifecycle event for ALL packages, then you can use a hook script.

    Place an executable file at node_modules/.hooks/{eventname}, and @@ -260,7 +272,7 @@

    Best Practices

    +

    Best Practices

    -

    See Also

    +

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/semver/index.html b/deps/npm/docs/public/using-npm/semver/index.html index d1bd745a08ea89..79ff8e1c437f92 100644 --- a/deps/npm/docs/public/using-npm/semver/index.html +++ b/deps/npm/docs/public/using-npm/semver/index.html @@ -1,4 +1,4 @@ -

    semver(7) -- The semantic versioner for npm

    -

    Install

    +

    semver(7) -- The semantic versioner for npm

    +

    Install

    npm install --save semver
    -

    Usage

    +

    Usage

    As a node module:

    const semver = require('semver')
     
    @@ -124,11 +130,11 @@ 

    Versions

    +

    Versions

    A "version" is described by the v2.0.0 specification found at https://semver.org/.

    A leading "=" or "v" character is stripped off and ignored.

    -

    Ranges

    +

    Ranges

    A version range is a set of comparators which specify versions that satisfy the range.

    A comparator is composed of an operator and a version. The set @@ -155,7 +161,7 @@

    1.1.0.

    The range 1.2.7 || >=1.2.9 <2.0.0 would match the versions 1.2.7, 1.2.9, and 1.4.6, but not the versions 1.2.8 or 2.0.0.

    -

    Prerelease Tags

    +

    Prerelease Tags

    If a version has a prerelease tag (for example, 1.2.3-alpha.3) then it will only be allowed to satisfy comparator sets if at least one comparator with the same [major, minor, patch] tuple also has a @@ -184,7 +190,7 @@

    functions that do range matching.

    -

    Prerelease Identifiers

    +

    Prerelease Identifiers

    The method .inc takes an additional identifier string argument that will append the value of the string as a prerelease identifier:

    semver.inc('1.2.3', 'prerelease', 'beta')
    @@ -195,12 +201,12 @@ 

    $ semver 1.2.4-beta.0 -i prerelease
     1.2.4-beta.1

    -

    Advanced Range Syntax

    +

    Advanced Range Syntax

    Advanced range syntax desugars to primitive comparators in deterministic ways.

    Advanced ranges may be combined in the same way as primitive comparators using white space or ||.

    -

    Hyphen Ranges X.Y.Z - A.B.C

    +

    Hyphen Ranges X.Y.Z - A.B.C

    Specifies an inclusive set.

    -

    X-Ranges 1.2.x 1.X 1.2.* *

    +

    X-Ranges 1.2.x 1.X 1.2.* *

    Any of X, x, or * may be used to "stand in" for one of the numeric values in the [major, minor, patch] tuple.

    -

    Tilde Ranges ~1.2.3 ~1.2 ~1

    +

    Tilde Ranges ~1.2.3 ~1.2 ~1

    Allows patch-level changes if a minor version is specified on the comparator. Allows minor-level changes if not.

    -

    Caret Ranges ^1.2.3 ^0.2.5 ^0.0.4

    +

    Caret Ranges ^1.2.3 ^0.2.5 ^0.0.4

    Allows changes that do not modify the left-most non-zero digit in the [major, minor, patch] tuple. In other words, this allows patch and minor updates for versions 1.0.0 and above, patch updates for @@ -289,7 +295,7 @@

    ^1.x := >=1.0.0 <2.0.0
  • ^0.x := >=0.0.0 <1.0.0
  • -

    Range Grammar

    +

    Range Grammar

    Putting all this together, here is a Backus-Naur grammar for ranges, for the benefit of parser authors:

    range-set  ::= range ( logical-or range ) *
    @@ -308,7 +314,7 @@ 

    ::= parts parts ::= part ( '.' part ) * part ::= nr | [-0-9A-Za-z]+

    -

    Functions

    +

    Functions

    All methods and classes take a final options object argument. All options in this object are false by default. The options supported are:

    @@ -351,7 +357,7 @@

    parse(v): Attempt to parse a string as a semantic version, returning either a SemVer object or null. -

    Comparison

    +

    Comparison

    -

    Comparators

    +

    Comparators

    • intersects(comparator): Return true if the comparators intersect
    -

    Ranges

    +

    Ranges

    • validRange(range): Return the valid range or null if it's not valid
    • satisfies(version, range): Return true if the version satisfies the @@ -407,7 +413,7 @@

      satisfies(version, range) function.

      -

      Coercion

      +

      Coercion

      • coerce(version): Coerces a string to semver if possible
      @@ -429,4 +435,4 @@

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/lib/access.js b/deps/npm/lib/access.js index 6657f4b0717a1f..e850c132eb24b2 100644 --- a/deps/npm/lib/access.js +++ b/deps/npm/lib/access.js @@ -112,7 +112,7 @@ access.grant = ([perms, scopeteam, pkg], opts) => { } return modifyPackage(pkg, opts, (pkgName, opts) => { return libaccess.grant(pkgName, scopeteam, perms, opts) - }) + }, false) }) } diff --git a/deps/npm/lib/ci.js b/deps/npm/lib/ci.js index a0df3b86ff42bc..d5b5c15442512d 100644 --- a/deps/npm/lib/ci.js +++ b/deps/npm/lib/ci.js @@ -33,7 +33,7 @@ function ci (args, cb) { } for (const key in npm.config.list[0]) { - if (key !== 'log') { + if (!['log', 'cache'].includes(key)) { opts[key] = npm.config.list[0][key] } } diff --git a/deps/npm/lib/fund.js b/deps/npm/lib/fund.js index 00954c844d7981..e605ea8c3fd039 100644 --- a/deps/npm/lib/fund.js +++ b/deps/npm/lib/fund.js @@ -14,13 +14,14 @@ const readShrinkwrap = require('./install/read-shrinkwrap.js') const mutateIntoLogicalTree = require('./install/mutate-into-logical-tree.js') const output = require('./utils/output.js') const openUrl = require('./utils/open-url.js') -const { getFundingInfo, retrieveFunding, validFundingUrl } = require('./utils/funding.js') +const { getFundingInfo, retrieveFunding, validFundingField, flatCacheSymbol } = require('./utils/funding.js') const FundConfig = figgyPudding({ browser: {}, // used by ./utils/open-url global: {}, json: {}, - unicode: {} + unicode: {}, + which: {} }) module.exports = fundCmd @@ -29,7 +30,7 @@ const usage = require('./utils/usage') fundCmd.usage = usage( 'fund', 'npm fund [--json]', - 'npm fund [--browser] [[<@scope>/]' + 'npm fund [--browser] [[<@scope>/] [--which=]' ) fundCmd.completion = function (opts, cb) { @@ -52,96 +53,52 @@ function printJSON (fundingInfo) { // level possible, in that process they also carry their dependencies along // with them, moving those up in the visual tree function printHuman (fundingInfo, opts) { - // mapping logic that keeps track of seen items in order to be able - // to push all other items from the same type/url in the same place - const seen = new Map() + const flatCache = fundingInfo[flatCacheSymbol] - function seenKey ({ type, url } = {}) { - return url ? String(type) + String(url) : null - } - - function setStackedItem (funding, result) { - const key = seenKey(funding) - if (key && !seen.has(key)) seen.set(key, result) - } + const { name, version } = fundingInfo + const printableVersion = version ? `@${version}` : '' - function retrieveStackedItem (funding) { - const key = seenKey(funding) - if (key && seen.has(key)) return seen.get(key) - } + const items = Object.keys(flatCache).map((url) => { + const deps = flatCache[url] - // --- - - const getFundingItems = (fundingItems) => - Object.keys(fundingItems || {}).map((fundingItemName) => { - // first-level loop, prepare the pretty-printed formatted data - const fundingItem = fundingItems[fundingItemName] - const { version, funding } = fundingItem - const { type, url } = funding || {} + const packages = deps.map((dep) => { + const { name, version } = dep const printableVersion = version ? `@${version}` : '' - const printableType = type && { label: `type: ${funding.type}` } - const printableUrl = url && { label: `url: ${funding.url}` } - const result = { - fundingItem, - label: fundingItemName + printableVersion, - nodes: [] - } - - if (printableType) { - result.nodes.push(printableType) - } - - if (printableUrl) { - result.nodes.push(printableUrl) - } - - setStackedItem(funding, result) - - return result - }).reduce((res, result) => { - // recurse and exclude nodes that are going to be stacked together - const { fundingItem } = result - const { dependencies, funding } = fundingItem - const items = getFundingItems(dependencies) - const stackedResult = retrieveStackedItem(funding) - items.forEach(i => result.nodes.push(i)) - - if (stackedResult && stackedResult !== result) { - stackedResult.label += `, ${result.label}` - items.forEach(i => stackedResult.nodes.push(i)) - return res - } - - res.push(result) - - return res - }, []) - - const [ result ] = getFundingItems({ - [fundingInfo.name]: { - dependencies: fundingInfo.dependencies, - funding: fundingInfo.funding, - version: fundingInfo.version + return `${name}${printableVersion}` + }) + + return { + label: url, + nodes: [packages.join(', ')] } }) - return archy(result, '', { unicode: opts.unicode }) + return archy({ label: `${name}${printableVersion}`, nodes: items }, '', { unicode: opts.unicode }) } -function openFundingUrl (packageName, cb) { +function openFundingUrl (packageName, fundingSourceNumber, cb) { function getUrlAndOpen (packageMetadata) { const { funding } = packageMetadata - const { type, url } = retrieveFunding(funding) || {} - const noFundingError = - new Error(`No funding method available for: ${packageName}`) - noFundingError.code = 'ENOFUND' - const typePrefix = type ? `${type} funding` : 'Funding' - const msg = `${typePrefix} available at the following URL` - - if (validFundingUrl(funding)) { + const validSources = [].concat(retrieveFunding(funding)).filter(validFundingField) + + if (validSources.length === 1 || (fundingSourceNumber > 0 && fundingSourceNumber <= validSources.length)) { + const { type, url } = validSources[fundingSourceNumber ? fundingSourceNumber - 1 : 0] + const typePrefix = type ? `${type} funding` : 'Funding' + const msg = `${typePrefix} available at the following URL` openUrl(url, msg, cb) + } else if (!(fundingSourceNumber >= 1)) { + validSources.forEach(({ type, url }, i) => { + const typePrefix = type ? `${type} funding` : 'Funding' + const msg = `${typePrefix} available at the following URL` + console.log(`${i + 1}: ${msg}: ${url}`) + }) + console.log('Run `npm fund [<@scope>/] --which=1`, for example, to open the first funding URL listed in that package') + cb() } else { + const noFundingError = new Error(`No valid funding method available for: ${packageName}`) + noFundingError.code = 'ENOFUND' + throw noFundingError } } @@ -161,15 +118,24 @@ function fundCmd (args, cb) { const opts = FundConfig(npmConfig()) const dir = path.resolve(npm.dir, '..') const packageName = args[0] + const numberArg = opts.which + + const fundingSourceNumber = numberArg && parseInt(numberArg, 10) + + if (numberArg !== undefined && (String(fundingSourceNumber) !== numberArg || fundingSourceNumber < 1)) { + const err = new Error('`npm fund [<@scope>/] [--which=fundingSourceNumber]` must be given a positive integer') + err.code = 'EFUNDNUMBER' + throw err + } if (opts.global) { - const err = new Error('`npm fund` does not support globals') + const err = new Error('`npm fund` does not support global packages') err.code = 'EFUNDGLOBAL' throw err } if (packageName) { - openFundingUrl(packageName, cb) + openFundingUrl(packageName, fundingSourceNumber, cb) return } diff --git a/deps/npm/lib/npm.js b/deps/npm/lib/npm.js index 35850078f834d1..74ef6ad2c6e748 100644 --- a/deps/npm/lib/npm.js +++ b/deps/npm/lib/npm.js @@ -283,22 +283,28 @@ ua = ua.replace(/\{arch\}/gi, process.arch) // continuous integration platforms - const ci = process.env.GERRIT_PROJECT ? 'ci/gerrit' - : process.env.GITLAB_CI ? 'ci/gitlab' - : process.env.CIRCLECI ? 'ci/circle-ci' - : process.env.SEMAPHORE ? 'ci/semaphore' - : process.env.DRONE ? 'ci/drone' - : process.env.GITHUB_ACTION ? 'ci/github-actions' - : process.env.TDDIUM ? 'ci/tddium' - : process.env.JENKINS_URL ? 'ci/jenkins' - : process.env['bamboo.buildKey'] ? 'ci/bamboo' - : process.env.GO_PIPELINE_NAME ? 'ci/gocd' - // codeship and a few others - : process.env.CI_NAME ? `ci/${process.env.CI_NAME}` - // test travis last, since many of these mimic it - : process.env.TRAVIS ? 'ci/travis-ci' - : process.env.CI === 'true' || process.env.CI === '1' ? 'ci/custom' - : '' + const ciName = process.env.GERRIT_PROJECT ? 'gerrit' + : process.env.GITLAB_CI ? 'gitlab' + : process.env.APPVEYOR ? 'appveyor' + : process.env.CIRCLECI ? 'circle-ci' + : process.env.SEMAPHORE ? 'semaphore' + : process.env.DRONE ? 'drone' + : process.env.GITHUB_ACTION ? 'github-actions' + : process.env.TDDIUM ? 'tddium' + : process.env.JENKINS_URL ? 'jenkins' + : process.env['bamboo.buildKey'] ? 'bamboo' + : process.env.GO_PIPELINE_NAME ? 'gocd' + // codeship and a few others + : process.env.CI_NAME ? process.env.CI_NAME + // test travis after the others, since several CI systems mimic it + : process.env.TRAVIS ? 'travis-ci' + // aws CodeBuild/CodePipeline + : process.env.CODEBUILD_SRC_DIR ? 'aws-codebuild' + : process.env.CI === 'true' || process.env.CI === '1' ? 'custom' + // Google Cloud Build - it sets almost nothing + : process.env.BUILDER_OUTPUT ? 'builder' + : false + const ci = ciName ? `ci/${ciName}` : '' ua = ua.replace(/\{ci\}/gi, ci) config.set('user-agent', ua.trim()) diff --git a/deps/npm/lib/team.js b/deps/npm/lib/team.js index 2b56e3b14f95bb..e24f733475a23a 100644 --- a/deps/npm/lib/team.js +++ b/deps/npm/lib/team.js @@ -14,10 +14,10 @@ team.subcommands = ['create', 'destroy', 'add', 'rm', 'ls', 'edit'] team.usage = usage( 'team', - 'npm team create \n' + - 'npm team destroy \n' + - 'npm team add \n' + - 'npm team rm \n' + + 'npm team create [--otp ]\n' + + 'npm team destroy [--otp ]\n' + + 'npm team add [--otp ]\n' + + 'npm team rm [--otp ]\n' + 'npm team ls |\n' + 'npm team edit ' ) diff --git a/deps/npm/lib/unpublish.js b/deps/npm/lib/unpublish.js index 203c8b592f1099..59d7d1b5887d21 100644 --- a/deps/npm/lib/unpublish.js +++ b/deps/npm/lib/unpublish.js @@ -20,7 +20,11 @@ const readJson = BB.promisify(require('read-package-json')) const usage = require('./utils/usage.js') const whoami = BB.promisify(require('./whoami.js')) -unpublish.usage = usage('npm unpublish [<@scope>/][@]') +unpublish.usage = usage( + 'unpublish', + '\nnpm unpublish [<@scope>/]@' + + '\nnpm unpublish [<@scope>/] --force' +) function UsageError () { throw Object.assign(new Error(`Usage: ${unpublish.usage}`), { @@ -75,7 +79,7 @@ function unpublish (args, cb) { 'Refusing to delete entire project.\n' + 'Run with --force to do this.\n' + unpublish.usage - ), {code: 'EUSAGE'}) + ), { code: 'EUSAGE' }) } if (!spec || path.resolve(spec.name) === npm.localPrefix) { // if there's a package.json in the current folder, then diff --git a/deps/npm/lib/utils/error-handler.js b/deps/npm/lib/utils/error-handler.js index 39e0035c272881..3e6f176ef8206b 100644 --- a/deps/npm/lib/utils/error-handler.js +++ b/deps/npm/lib/utils/error-handler.js @@ -36,7 +36,7 @@ process.on('timing', function (name, value) { process.on('exit', function (code) { process.emit('timeEnd', 'npm') log.disableProgress() - if (npm.config.loaded && npm.config.get('timing')) { + if (npm.config && npm.config.loaded && npm.config.get('timing')) { try { timings.logfile = getLogFile() cacheFile.append('_timing.json', JSON.stringify(timings) + '\n') @@ -64,7 +64,7 @@ process.on('exit', function (code) { log.verbose('code', code) } } - if (npm.config.loaded && npm.config.get('timing') && !wroteLogFile) writeLogFile() + if (npm.config && npm.config.loaded && npm.config.get('timing') && !wroteLogFile) writeLogFile() if (wroteLogFile) { // just a line break if (log.levels[log.level] <= log.levels.error) console.error('') @@ -79,7 +79,7 @@ process.on('exit', function (code) { wroteLogFile = false } - var doExit = npm.config.loaded && npm.config.get('_exit') + var doExit = npm.config && npm.config.loaded && npm.config.get('_exit') if (doExit) { // actually exit. if (exitCode === 0 && !itWorked) { @@ -94,7 +94,7 @@ process.on('exit', function (code) { function exit (code, noLog) { exitCode = exitCode || process.exitCode || code - var doExit = npm.config.loaded ? npm.config.get('_exit') : true + var doExit = npm.config && npm.config.loaded ? npm.config.get('_exit') : true log.verbose('exit', [code, doExit]) if (log.level === 'silent') noLog = true diff --git a/deps/npm/lib/utils/error-message.js b/deps/npm/lib/utils/error-message.js index 12f304d1e894ac..3faa78f3089146 100644 --- a/deps/npm/lib/utils/error-message.js +++ b/deps/npm/lib/utils/error-message.js @@ -35,9 +35,9 @@ function errorMessage (er) { case 'EACCES': case 'EPERM': const isCachePath = typeof er.path === 'string' && - er.path.startsWith(npm.config.get('cache')) + npm.config && er.path.startsWith(npm.config.get('cache')) const isCacheDest = typeof er.dest === 'string' && - er.dest.startsWith(npm.config.get('cache')) + npm.config && er.dest.startsWith(npm.config.get('cache')) const isWindows = process.platform === 'win32' diff --git a/deps/npm/lib/utils/funding.js b/deps/npm/lib/utils/funding.js index c3d06b10899638..5375639109ee2a 100644 --- a/deps/npm/lib/utils/funding.js +++ b/deps/npm/lib/utils/funding.js @@ -4,22 +4,31 @@ const URL = require('url').URL exports.getFundingInfo = getFundingInfo exports.retrieveFunding = retrieveFunding -exports.validFundingUrl = validFundingUrl +exports.validFundingField = validFundingField -// supports both object funding and string shorthand +const flatCacheSymbol = Symbol('npm flat cache') +exports.flatCacheSymbol = flatCacheSymbol + +// supports object funding and string shorthand, or an array of these +// if original was an array, returns an array; else returns the lone item function retrieveFunding (funding) { - return typeof funding === 'string' - ? { - url: funding - } - : funding + const sources = [].concat(funding || []).map(item => ( + typeof item === 'string' + ? { url: item } + : item + )) + return Array.isArray(funding) ? sources : sources[0] } // Is the value of a `funding` property of a `package.json` // a valid type+url for `npm fund` to display? -function validFundingUrl (funding) { +function validFundingField (funding) { if (!funding) return false + if (Array.isArray(funding)) { + return funding.every(f => !Array.isArray(f) && validFundingField(f)) + } + try { var parsed = new URL(funding.url || funding) } catch (error) { @@ -34,11 +43,13 @@ function validFundingUrl (funding) { return Boolean(parsed.host) } +const empty = () => Object.create(null) + function getFundingInfo (idealTree, opts) { - let length = 0 + let packageWithFundingCount = 0 + const flat = empty() const seen = new Set() const { countOnly } = opts || {} - const empty = () => Object.create(null) const _trailingDependencies = Symbol('trailingDependencies') function tracked (name, version) { @@ -70,52 +81,70 @@ function getFundingInfo (idealTree, opts) { ) } + function addToFlatCache (funding, dep) { + [].concat(funding || []).forEach((f) => { + const key = f.url + if (!Array.isArray(flat[key])) { + flat[key] = [] + } + flat[key].push(dep) + }) + } + + function attachFundingInfo (target, funding, dep) { + if (funding && validFundingField(funding)) { + target.funding = retrieveFunding(funding) + if (!countOnly) { + addToFlatCache(target.funding, dep) + } + + packageWithFundingCount++ + } + } + function getFundingDependencies (tree) { const deps = tree && tree.dependencies if (!deps) return empty() - // broken into two steps to make sure items appearance - // within top levels takes precedence over nested ones - return (Object.keys(deps)).map((key) => { + const directDepsWithFunding = Object.keys(deps).map((key) => { const dep = deps[key] const { name, funding, version } = dep - const fundingItem = {} - // avoids duplicated items within the funding tree if (tracked(name, version)) return empty() + const fundingItem = {} + if (version) { fundingItem.version = version } - if (funding && validFundingUrl(funding)) { - fundingItem.funding = retrieveFunding(funding) - length++ - } + attachFundingInfo(fundingItem, funding, dep) return { dep, fundingItem } - }).reduce((res, { dep, fundingItem }, i) => { - if (!fundingItem) return res + }) + + return directDepsWithFunding.reduce((res, { dep: directDep, fundingItem }, i) => { + if (!fundingItem || fundingItem.length === 0) return res // recurse - const dependencies = dep.dependencies && - Object.keys(dep.dependencies).length > 0 && - getFundingDependencies(dep) + const transitiveDependencies = directDep.dependencies && + Object.keys(directDep.dependencies).length > 0 && + getFundingDependencies(directDep) // if we're only counting items there's no need // to add all the data to the resulting object if (countOnly) return null - if (hasDependencies(dependencies)) { - fundingItem.dependencies = retrieveDependencies(dependencies) + if (hasDependencies(transitiveDependencies)) { + fundingItem.dependencies = retrieveDependencies(transitiveDependencies) } - if (fundingItem.funding) { - res[dep.name] = fundingItem + if (fundingItem.funding && fundingItem.funding.length !== 0) { + res[directDep.name] = fundingItem } else if (fundingItem.dependencies) { res[_trailingDependencies] = Object.assign( @@ -126,12 +155,12 @@ function getFundingInfo (idealTree, opts) { } return res - }, empty()) + }, countOnly ? null : empty()) } const idealTreeDependencies = getFundingDependencies(idealTree) const result = { - length + length: packageWithFundingCount } if (!countOnly) { @@ -145,8 +174,9 @@ function getFundingInfo (idealTree, opts) { result.funding = retrieveFunding(idealTree.funding) } - result.dependencies = - retrieveDependencies(idealTreeDependencies) + result.dependencies = retrieveDependencies(idealTreeDependencies) + + result[flatCacheSymbol] = flat } return result diff --git a/deps/npm/lib/utils/unsupported.js b/deps/npm/lib/utils/unsupported.js index 71a304030e2424..c78cdcbc294940 100644 --- a/deps/npm/lib/utils/unsupported.js +++ b/deps/npm/lib/utils/unsupported.js @@ -1,22 +1,14 @@ 'use strict' var semver = require('semver') -var supportedNode = [ - {ver: '6', min: '6.0.0'}, - {ver: '8', min: '8.0.0'}, - {ver: '9', min: '9.0.0'}, - {ver: '10', min: '10.0.0'}, - {ver: '11', min: '11.0.0'}, - {ver: '12', min: '12.0.0'}, - {ver: '13', min: '13.0.0'} -] -var knownBroken = '<6.2.0 || 9.0 - 9.2' +var supported = require('../../package.json').engines.node +var knownBroken = '<6.2.0 || 9 <9.3.0' var checkVersion = exports.checkVersion = function (version) { var versionNoPrerelease = version.replace(/-.*$/, '') return { version: versionNoPrerelease, broken: semver.satisfies(versionNoPrerelease, knownBroken), - unsupported: !semver.satisfies(versionNoPrerelease, supportedNode.map(function (n) { return '^' + n.min }).join('||')) + unsupported: !semver.satisfies(versionNoPrerelease, supported) } } @@ -24,18 +16,8 @@ exports.checkForBrokenNode = function () { var nodejs = checkVersion(process.version) if (nodejs.broken) { console.error('ERROR: npm is known not to run on Node.js ' + process.version) - supportedNode.forEach(function (rel) { - if (semver.satisfies(nodejs.version, rel.ver)) { - console.error('Node.js ' + rel.ver + " is supported but the specific version you're running has") - console.error('a bug known to break npm. Please update to at least ' + rel.min + ' to use this') - console.error('version of npm. You can find the latest release of Node.js at https://nodejs.org/') - process.exit(1) - } - }) - var supportedMajors = supportedNode.map(function (n) { return n.ver }).join(', ') - console.error("You'll need to upgrade to a newer version in order to use this") - console.error('version of npm. Supported versions are ' + supportedMajors + '. You can find the') - console.error('latest version at https://nodejs.org/') + console.error("You'll need to upgrade to a newer Node.js version in order to use this") + console.error('version of npm. You can find the latest version at https://nodejs.org/') process.exit(1) } } @@ -44,11 +26,9 @@ exports.checkForUnsupportedNode = function () { var nodejs = checkVersion(process.version) if (nodejs.unsupported) { var log = require('npmlog') - var supportedMajors = supportedNode.map(function (n) { return n.ver }).join(', ') log.warn('npm', 'npm does not support Node.js ' + process.version) log.warn('npm', 'You should probably upgrade to a newer version of node as we') log.warn('npm', "can't make any promises that npm will work with this version.") - log.warn('npm', 'Supported releases of Node.js are the latest release of ' + supportedMajors + '.') log.warn('npm', 'You can find the latest version at https://nodejs.org/') } } diff --git a/deps/npm/lib/version.js b/deps/npm/lib/version.js index a8c2a648c74736..6619a8ba9d0d76 100644 --- a/deps/npm/lib/version.js +++ b/deps/npm/lib/version.js @@ -286,22 +286,32 @@ function checkGit (localData, cb) { module.exports.buildCommitArgs = buildCommitArgs function buildCommitArgs (args) { - args = args || [ 'commit' ] - if (!npm.config.get('commit-hooks')) args.push('-n') - return args + const add = [] + args = args || [] + if (args[0] === 'commit') args.shift() + if (!npm.config.get('commit-hooks')) add.push('-n') + if (npm.config.get('allow-same-version')) add.push('--allow-empty') + return ['commit', ...add, ...args] +} + +module.exports.buildTagFlags = buildTagFlags +function buildTagFlags () { + return '-'.concat( + npm.config.get('sign-git-tag') ? 's' : '', + npm.config.get('allow-same-version') ? 'f' : '', + 'm' + ) } function _commit (version, localData, cb) { const options = { env: process.env } const message = npm.config.get('message').replace(/%s/g, version) - const signTag = npm.config.get('sign-git-tag') const signCommit = npm.config.get('sign-git-commit') const commitArgs = buildCommitArgs([ 'commit', ...(signCommit ? ['-S', '-m'] : ['-m']), message ]) - const flagForTag = signTag ? '-sm' : '-m' stagePackageFiles(localData, options).then(() => { return git.exec(commitArgs, options) @@ -309,7 +319,7 @@ function _commit (version, localData, cb) { if (!localData.existingTag) { return git.exec([ 'tag', npm.config.get('tag-version-prefix') + version, - flagForTag, message + buildTagFlags(), message ], options) } }).nodeify(cb) diff --git a/deps/npm/man/man1/npm-README.1 b/deps/npm/man/man1/npm-README.1 index d3028ee37bfd02..2ba6afd57c0e2f 100644 --- a/deps/npm/man/man1/npm-README.1 +++ b/deps/npm/man/man1/npm-README.1 @@ -1,4 +1,4 @@ -.TH "NPM" "1" "December 2019" "" "" +.TH "NPM" "1" "March 2020" "" "" .SH "NAME" \fBnpm\fR \- a JavaScript package manager .P @@ -158,10 +158,6 @@ https://npm\.community/c/bugs .P Be sure to include \fIall\fR of the output from the npm command that didn't work as expected\. The \fBnpm\-debug\.log\fP file is also helpful to provide\. -.P -You can also find npm people in \fB#npm\fP on https://package\.community/ or -on Twitter \fIhttps://twitter\.com/npm_support\fR\|\. Whoever responds will no -doubt tell you to put the output in a gist or email\. .SH SEE ALSO .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-access.1 b/deps/npm/man/man1/npm-access.1 index a08b24798002e3..448c9859a44a62 100644 --- a/deps/npm/man/man1/npm-access.1 +++ b/deps/npm/man/man1/npm-access.1 @@ -1,4 +1,4 @@ -.TH "NPM\-ACCESS" "1" "December 2019" "" "" +.TH "NPM\-ACCESS" "1" "March 2020" "" "" .SH "NAME" \fBnpm-access\fR \- Set access level on published packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-adduser.1 b/deps/npm/man/man1/npm-adduser.1 index f2f9557dcc7d13..3d005b13029d1a 100644 --- a/deps/npm/man/man1/npm-adduser.1 +++ b/deps/npm/man/man1/npm-adduser.1 @@ -1,4 +1,9 @@ -.TH "NPM\-ADDUSER" "1" "December 2019" "" "" +.HR +.P +section: cli\-commands +title: npm\-adduser +.SH description: Set access level on published packages +.TH "NPM\-ADDUSER" "1" "March 2020" "" "" .SH "NAME" \fBnpm-adduser\fR \- Add a registry user account .SS Synopsis diff --git a/deps/npm/man/man1/npm-audit.1 b/deps/npm/man/man1/npm-audit.1 index 1536217ad0a109..d0a77fdf0d7815 100644 --- a/deps/npm/man/man1/npm-audit.1 +++ b/deps/npm/man/man1/npm-audit.1 @@ -1,4 +1,4 @@ -.TH "NPM\-AUDIT" "1" "December 2019" "" "" +.TH "NPM\-AUDIT" "1" "March 2020" "" "" .SH "NAME" \fBnpm-audit\fR \- Run a security audit .SS Synopsis diff --git a/deps/npm/man/man1/npm-bin.1 b/deps/npm/man/man1/npm-bin.1 index 1045b8a057a38f..26480b0d0ff647 100644 --- a/deps/npm/man/man1/npm-bin.1 +++ b/deps/npm/man/man1/npm-bin.1 @@ -1,4 +1,4 @@ -.TH "NPM\-BIN" "1" "December 2019" "" "" +.TH "NPM\-BIN" "1" "March 2020" "" "" .SH "NAME" \fBnpm-bin\fR \- Display npm bin folder .SS Synopsis diff --git a/deps/npm/man/man1/npm-bugs.1 b/deps/npm/man/man1/npm-bugs.1 index 26cf705225edbf..1566c8706c1c53 100644 --- a/deps/npm/man/man1/npm-bugs.1 +++ b/deps/npm/man/man1/npm-bugs.1 @@ -1,4 +1,4 @@ -.TH "NPM\-BUGS" "1" "December 2019" "" "" +.TH "NPM\-BUGS" "1" "March 2020" "" "" .SH "NAME" \fBnpm-bugs\fR \- Bugs for a package in a web browser maybe .SS Synopsis diff --git a/deps/npm/man/man1/npm-build.1 b/deps/npm/man/man1/npm-build.1 index ccee0f7c094fdb..20919da86c19f8 100644 --- a/deps/npm/man/man1/npm-build.1 +++ b/deps/npm/man/man1/npm-build.1 @@ -1,4 +1,4 @@ -.TH "NPM\-BUILD" "1" "December 2019" "" "" +.TH "NPM\-BUILD" "1" "March 2020" "" "" .SH "NAME" \fBnpm-build\fR \- Build a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-bundle.1 b/deps/npm/man/man1/npm-bundle.1 index 936659595a8e3c..a2cb2ad35b4f2a 100644 --- a/deps/npm/man/man1/npm-bundle.1 +++ b/deps/npm/man/man1/npm-bundle.1 @@ -1,4 +1,4 @@ -.TH "NPM\-BUNDLE" "1" "December 2019" "" "" +.TH "NPM\-BUNDLE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-bundle\fR \- REMOVED .SS Description diff --git a/deps/npm/man/man1/npm-cache.1 b/deps/npm/man/man1/npm-cache.1 index da2a65f513b4ef..30186d7925cf8f 100644 --- a/deps/npm/man/man1/npm-cache.1 +++ b/deps/npm/man/man1/npm-cache.1 @@ -1,4 +1,4 @@ -.TH "NPM\-CACHE" "1" "December 2019" "" "" +.TH "NPM\-CACHE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-cache\fR \- Manipulates packages cache .SS Synopsis diff --git a/deps/npm/man/man1/npm-ci.1 b/deps/npm/man/man1/npm-ci.1 index 75cc55041a9c1f..625cf2ef7b4eea 100644 --- a/deps/npm/man/man1/npm-ci.1 +++ b/deps/npm/man/man1/npm-ci.1 @@ -1,4 +1,4 @@ -.TH "NPM\-CI" "1" "December 2019" "" "" +.TH "NPM\-CI" "1" "March 2020" "" "" .SH "NAME" \fBnpm-ci\fR \- Install a project with a clean slate .SS Synopsis diff --git a/deps/npm/man/man1/npm-completion.1 b/deps/npm/man/man1/npm-completion.1 index b267ffe8387016..263e04cba27875 100644 --- a/deps/npm/man/man1/npm-completion.1 +++ b/deps/npm/man/man1/npm-completion.1 @@ -1,4 +1,4 @@ -.TH "NPM\-COMPLETION" "1" "December 2019" "" "" +.TH "NPM\-COMPLETION" "1" "March 2020" "" "" .SH "NAME" \fBnpm-completion\fR \- Tab Completion for npm .SS Synopsis diff --git a/deps/npm/man/man1/npm-config.1 b/deps/npm/man/man1/npm-config.1 index 1300519368339f..2c71ad1410e40c 100644 --- a/deps/npm/man/man1/npm-config.1 +++ b/deps/npm/man/man1/npm-config.1 @@ -1,4 +1,4 @@ -.TH "NPM\-CONFIG" "1" "December 2019" "" "" +.TH "NPM\-CONFIG" "1" "March 2020" "" "" .SH "NAME" \fBnpm-config\fR \- Manage the npm configuration files .SS Synopsis diff --git a/deps/npm/man/man1/npm-dedupe.1 b/deps/npm/man/man1/npm-dedupe.1 index ef7c109d770f98..53e71c0f405040 100644 --- a/deps/npm/man/man1/npm-dedupe.1 +++ b/deps/npm/man/man1/npm-dedupe.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DEDUPE" "1" "December 2019" "" "" +.TH "NPM\-DEDUPE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-dedupe\fR \- Reduce duplication .SS Synopsis diff --git a/deps/npm/man/man1/npm-deprecate.1 b/deps/npm/man/man1/npm-deprecate.1 index ccbb03b550a3b4..3d7c160d987b33 100644 --- a/deps/npm/man/man1/npm-deprecate.1 +++ b/deps/npm/man/man1/npm-deprecate.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DEPRECATE" "1" "December 2019" "" "" +.TH "NPM\-DEPRECATE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-deprecate\fR \- Deprecate a version of a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-dist-tag.1 b/deps/npm/man/man1/npm-dist-tag.1 index 50896edfd10561..9e8fb37ac0db3b 100644 --- a/deps/npm/man/man1/npm-dist-tag.1 +++ b/deps/npm/man/man1/npm-dist-tag.1 @@ -1,4 +1,9 @@ -.TH "NPM\-DIST\-TAG" "1" "December 2019" "" "" +.HR +.P +section: cli\-commands +title: npm\-dist\-tag +.SH description: Modify package distribution tags +.TH "NPM\-DIST\-TAG" "1" "March 2020" "" "" .SH "NAME" \fBnpm-dist-tag\fR \- Modify package distribution tags .SS Synopsis diff --git a/deps/npm/man/man1/npm-docs.1 b/deps/npm/man/man1/npm-docs.1 index c4c80b2396e515..e518a5082fd6de 100644 --- a/deps/npm/man/man1/npm-docs.1 +++ b/deps/npm/man/man1/npm-docs.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DOCS" "1" "December 2019" "" "" +.TH "NPM\-DOCS" "1" "March 2020" "" "" .SH "NAME" \fBnpm-docs\fR \- Docs for a package in a web browser maybe .SS Synopsis diff --git a/deps/npm/man/man1/npm-doctor.1 b/deps/npm/man/man1/npm-doctor.1 index d92053da430b90..4c04a7b6be9d41 100644 --- a/deps/npm/man/man1/npm-doctor.1 +++ b/deps/npm/man/man1/npm-doctor.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DOCTOR" "1" "December 2019" "" "" +.TH "NPM\-DOCTOR" "1" "March 2020" "" "" .SH "NAME" \fBnpm-doctor\fR \- Check your environments .SS Synopsis diff --git a/deps/npm/man/man1/npm-edit.1 b/deps/npm/man/man1/npm-edit.1 index e76ae46c7af092..9f992f04d55f65 100644 --- a/deps/npm/man/man1/npm-edit.1 +++ b/deps/npm/man/man1/npm-edit.1 @@ -1,4 +1,4 @@ -.TH "NPM\-EDIT" "1" "December 2019" "" "" +.TH "NPM\-EDIT" "1" "March 2020" "" "" .SH "NAME" \fBnpm-edit\fR \- Edit an installed package .SS Synopsis diff --git a/deps/npm/man/man1/npm-explore.1 b/deps/npm/man/man1/npm-explore.1 index bf34d050ed4dca..74159220becef2 100644 --- a/deps/npm/man/man1/npm-explore.1 +++ b/deps/npm/man/man1/npm-explore.1 @@ -1,4 +1,9 @@ -.TH "NPM\-EXPLORE" "1" "December 2019" "" "" +.HR +.P +section: cli\-commands +title: npm\-explore +.SH description: Browse an installed package +.TH "NPM\-EXPLORE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-explore\fR \- Browse an installed package .SS Synopsis diff --git a/deps/npm/man/man1/npm-fund.1 b/deps/npm/man/man1/npm-fund.1 index 170d93753f56ca..e4c418f8dae881 100644 --- a/deps/npm/man/man1/npm-fund.1 +++ b/deps/npm/man/man1/npm-fund.1 @@ -1,4 +1,4 @@ -.TH "NPM\-FUND" "1" "December 2019" "" "" +.TH "NPM\-FUND" "1" "March 2020" "" "" .SH "NAME" \fBnpm-fund\fR \- Retrieve funding information .SS Synopsis @@ -15,7 +15,8 @@ a given project\. If no package name is provided, it will list all dependencies that are looking for funding in a tree\-structure in which are listed the type of funding and the url to visit\. If a package name is provided then it tries to open its funding url using the \fB\-\-browser\fP -config param\. +config param; if there are multiple funding sources for the package, the +user will be instructed to pass the \fB\-\-which\fP command to disambiguate\. .P The list will avoid duplicated entries and will stack all packages that share the same type/url as a single entry\. Given this nature the @@ -34,9 +35,9 @@ The browser that is called by the \fBnpm fund\fP command to open websites\. .SS json .RS 0 .IP \(bu 2 -Default: false -.IP \(bu 2 Type: Boolean +.IP \(bu 2 +Default: false .RE .P @@ -52,6 +53,16 @@ Default: true .P Whether to represent the tree structure using unicode characters\. Set it to \fBfalse\fP in order to use all\-ansi output\. +.SS which +.RS 0 +.IP \(bu 2 +Type: Number +.IP \(bu 2 +Default: undefined + +.RE +.P +If there are multiple funding sources, which 1\-indexed source URL to open\. .SH See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-help-search.1 b/deps/npm/man/man1/npm-help-search.1 index fcf4b863541cb4..19c7d7b5f5693d 100644 --- a/deps/npm/man/man1/npm-help-search.1 +++ b/deps/npm/man/man1/npm-help-search.1 @@ -1,4 +1,4 @@ -.TH "NPM\-HELP\-SEARCH" "1" "December 2019" "" "" +.TH "NPM\-HELP\-SEARCH" "1" "March 2020" "" "" .SH "NAME" \fBnpm-help-search\fR \- Search npm help documentation .SS Synopsis diff --git a/deps/npm/man/man1/npm-help.1 b/deps/npm/man/man1/npm-help.1 index 2fd749f88d1ade..6fa907cc9000f2 100644 --- a/deps/npm/man/man1/npm-help.1 +++ b/deps/npm/man/man1/npm-help.1 @@ -1,4 +1,4 @@ -.TH "NPM\-HELP" "1" "December 2019" "" "" +.TH "NPM\-HELP" "1" "March 2020" "" "" .SH "NAME" \fBnpm-help\fR \- Get help on npm .SS Synopsis diff --git a/deps/npm/man/man1/npm-hook.1 b/deps/npm/man/man1/npm-hook.1 index dbc6f8b898644a..74169fb4423c60 100644 --- a/deps/npm/man/man1/npm-hook.1 +++ b/deps/npm/man/man1/npm-hook.1 @@ -1,4 +1,4 @@ -.TH "NPM\-HOOK" "1" "December 2019" "" "" +.TH "NPM\-HOOK" "1" "March 2020" "" "" .SH "NAME" \fBnpm-hook\fR \- Manage registry hooks .SS Synopsis diff --git a/deps/npm/man/man1/npm-init.1 b/deps/npm/man/man1/npm-init.1 index bdd4ab126fa26f..5c1b522ccbf7bb 100644 --- a/deps/npm/man/man1/npm-init.1 +++ b/deps/npm/man/man1/npm-init.1 @@ -1,4 +1,4 @@ -.TH "NPM\-INIT" "1" "December 2019" "" "" +.TH "NPM\-INIT" "1" "March 2020" "" "" .SH "NAME" \fBnpm-init\fR \- create a package\.json file .SS Synopsis diff --git a/deps/npm/man/man1/npm-install-ci-test.1 b/deps/npm/man/man1/npm-install-ci-test.1 index 487de9cbe4ee45..e5962b93fdae02 100644 --- a/deps/npm/man/man1/npm-install-ci-test.1 +++ b/deps/npm/man/man1/npm-install-ci-test.1 @@ -1,4 +1,4 @@ -.TH "NPM" "" "December 2019" "" "" +.TH "NPM" "" "March 2020" "" "" .SH "NAME" \fBnpm\fR .SS Synopsis diff --git a/deps/npm/man/man1/npm-install-test.1 b/deps/npm/man/man1/npm-install-test.1 index 0b5915cd2ed5c7..73c7400b73d3de 100644 --- a/deps/npm/man/man1/npm-install-test.1 +++ b/deps/npm/man/man1/npm-install-test.1 @@ -1,4 +1,4 @@ -.TH "NPM" "" "December 2019" "" "" +.TH "NPM" "" "March 2020" "" "" .SH "NAME" \fBnpm\fR .SS Synopsis diff --git a/deps/npm/man/man1/npm-install.1 b/deps/npm/man/man1/npm-install.1 index ba9e8cc12dcfa1..6bd9a4cd58e440 100644 --- a/deps/npm/man/man1/npm-install.1 +++ b/deps/npm/man/man1/npm-install.1 @@ -1,4 +1,4 @@ -.TH "NPM\-INSTALL" "1" "December 2019" "" "" +.TH "NPM\-INSTALL" "1" "March 2020" "" "" .SH "NAME" \fBnpm-install\fR \- Install a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-link.1 b/deps/npm/man/man1/npm-link.1 index 9120d99ebfac26..79ad02d88ca0db 100644 --- a/deps/npm/man/man1/npm-link.1 +++ b/deps/npm/man/man1/npm-link.1 @@ -1,4 +1,4 @@ -.TH "NPM\-LINK" "1" "December 2019" "" "" +.TH "NPM\-LINK" "1" "March 2020" "" "" .SH "NAME" \fBnpm-link\fR \- Symlink a package folder .SS Synopsis @@ -17,8 +17,8 @@ Package linking is a two\-step process\. .P First, \fBnpm link\fP in a package folder will create a symlink in the global folder \fB{prefix}/lib/node_modules/\fP that links to the package where the \fBnpm -link\fP command was executed\. (see \fBnpm\-config\fP \fInpm\-config\fR for the value of \fBprefix\fP)\. It -will also link any bins in the package to \fB{prefix}/bin/{name}\fP\|\. +link\fP command was executed\. It will also link any bins in the package to \fB{prefix}/bin/{name}\fP\|\. +Note that \fBnpm link\fP uses the global prefix (see \fBnpm prefix \-g\fP for its value)\. .P Next, in some other location, \fBnpm link package\-name\fP will create a symbolic link from globally\-installed \fBpackage\-name\fP to \fBnode_modules/\fP diff --git a/deps/npm/man/man1/npm-logout.1 b/deps/npm/man/man1/npm-logout.1 index 1469659def9e49..d9020ea68413cb 100644 --- a/deps/npm/man/man1/npm-logout.1 +++ b/deps/npm/man/man1/npm-logout.1 @@ -1,4 +1,4 @@ -.TH "NPM\-LOGOUT" "1" "December 2019" "" "" +.TH "NPM\-LOGOUT" "1" "March 2020" "" "" .SH "NAME" \fBnpm-logout\fR \- Log out of the registry .SS Synopsis diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1 index fc46b3ad787e65..54ef77772f060f 100644 --- a/deps/npm/man/man1/npm-ls.1 +++ b/deps/npm/man/man1/npm-ls.1 @@ -1,4 +1,4 @@ -.TH "NPM\-LS" "1" "December 2019" "" "" +.TH "NPM\-LS" "1" "March 2020" "" "" .SH "NAME" \fBnpm-ls\fR \- List installed packages .SS Synopsis @@ -22,7 +22,7 @@ For example, running \fBnpm ls promzard\fP in npm's source tree will show: .P .RS 2 .nf - npm@6\.13\.4 /path/to/npm + npm@6\.14\.4 /path/to/npm └─┬ init\-package\-json@0\.0\.4 └── promzard@0\.1\.5 .fi diff --git a/deps/npm/man/man1/npm-org.1 b/deps/npm/man/man1/npm-org.1 index bb0f44eee8110a..d3f1531252ed66 100644 --- a/deps/npm/man/man1/npm-org.1 +++ b/deps/npm/man/man1/npm-org.1 @@ -1,4 +1,4 @@ -.TH "NPM\-ORG" "1" "December 2019" "" "" +.TH "NPM\-ORG" "1" "March 2020" "" "" .SH "NAME" \fBnpm-org\fR \- Manage orgs .SS Synopsis diff --git a/deps/npm/man/man1/npm-outdated.1 b/deps/npm/man/man1/npm-outdated.1 index c180c6f1c378a7..808555c7b1b989 100644 --- a/deps/npm/man/man1/npm-outdated.1 +++ b/deps/npm/man/man1/npm-outdated.1 @@ -1,4 +1,4 @@ -.TH "NPM\-OUTDATED" "1" "December 2019" "" "" +.TH "NPM\-OUTDATED" "1" "March 2020" "" "" .SH "NAME" \fBnpm-outdated\fR \- Check for outdated packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-owner.1 b/deps/npm/man/man1/npm-owner.1 index 609562e7aa105c..f0e2f07a0cbc9a 100644 --- a/deps/npm/man/man1/npm-owner.1 +++ b/deps/npm/man/man1/npm-owner.1 @@ -1,4 +1,4 @@ -.TH "NPM\-OWNER" "1" "December 2019" "" "" +.TH "NPM\-OWNER" "1" "March 2020" "" "" .SH "NAME" \fBnpm-owner\fR \- Manage package owners .SS Synopsis diff --git a/deps/npm/man/man1/npm-pack.1 b/deps/npm/man/man1/npm-pack.1 index 73d12bbab94fdb..dac6963b4a2672 100644 --- a/deps/npm/man/man1/npm-pack.1 +++ b/deps/npm/man/man1/npm-pack.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PACK" "1" "December 2019" "" "" +.TH "NPM\-PACK" "1" "March 2020" "" "" .SH "NAME" \fBnpm-pack\fR \- Create a tarball from a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-ping.1 b/deps/npm/man/man1/npm-ping.1 index f555c4f6e2ba0d..28ae935229cda4 100644 --- a/deps/npm/man/man1/npm-ping.1 +++ b/deps/npm/man/man1/npm-ping.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PING" "1" "December 2019" "" "" +.TH "NPM\-PING" "1" "March 2020" "" "" .SH "NAME" \fBnpm-ping\fR \- Ping npm registry .SS Synopsis diff --git a/deps/npm/man/man1/npm-prefix.1 b/deps/npm/man/man1/npm-prefix.1 index d4fe8fb2ef74e3..3b695b870e085b 100644 --- a/deps/npm/man/man1/npm-prefix.1 +++ b/deps/npm/man/man1/npm-prefix.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PREFIX" "1" "December 2019" "" "" +.TH "NPM\-PREFIX" "1" "March 2020" "" "" .SH "NAME" \fBnpm-prefix\fR \- Display prefix .SS Synopsis diff --git a/deps/npm/man/man1/npm-profile.1 b/deps/npm/man/man1/npm-profile.1 index d05b776e85e23b..b0990f099e5085 100644 --- a/deps/npm/man/man1/npm-profile.1 +++ b/deps/npm/man/man1/npm-profile.1 @@ -1,6 +1,54 @@ +.TH "NPM\-PROFILE" "1" "March 2020" "" "" +.SH "NAME" +\fBnpm-profile\fR \- Change settings on your registry profile +.SS Synopsis .P -+ -``` +.RS 2 +.nf +npm profile get [\-\-json|\-\-parseable] [] +npm profile set [\-\-json|\-\-parseable] +npm profile set password +npm profile enable\-2fa [auth\-and\-writes|auth\-only] +npm profile disable\-2fa +.fi +.RE +.SS Description +.P +Change your profile information on the registry\. This not be available if +you're using a non\-npmjs registry\. +.RS 0 +.IP \(bu 2 +\fBnpm profile get []\fP: +Display all of the properties of your profile, or one or more specific +properties\. It looks like: + +.RE +.P +.RS 2 +.nf ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| name | example | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| email | me@example\.com (verified) | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| two factor auth | auth\-and\-writes | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| fullname | Example User | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| homepage | | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| freenode | | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| twitter | | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| github | | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| created | 2015\-02\-26T01:38:35\.892Z | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| updated | 2017\-10\-02T21:29:45\.922Z | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +.fi +.RE .RS 0 .IP \(bu 2 \fBnpm profile set \fP: diff --git a/deps/npm/man/man1/npm-prune.1 b/deps/npm/man/man1/npm-prune.1 index 15cdbc2d69fa45..b51f829ca9c9fc 100644 --- a/deps/npm/man/man1/npm-prune.1 +++ b/deps/npm/man/man1/npm-prune.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PRUNE" "1" "December 2019" "" "" +.TH "NPM\-PRUNE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-prune\fR \- Remove extraneous packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-publish.1 b/deps/npm/man/man1/npm-publish.1 index 63a08a5f19bd0a..eec1f60120a4cd 100644 --- a/deps/npm/man/man1/npm-publish.1 +++ b/deps/npm/man/man1/npm-publish.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PUBLISH" "1" "December 2019" "" "" +.TH "NPM\-PUBLISH" "1" "March 2020" "" "" .SH "NAME" \fBnpm-publish\fR \- Publish a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-rebuild.1 b/deps/npm/man/man1/npm-rebuild.1 index 367766f81f5484..7e0d43fadf134d 100644 --- a/deps/npm/man/man1/npm-rebuild.1 +++ b/deps/npm/man/man1/npm-rebuild.1 @@ -1,4 +1,4 @@ -.TH "NPM\-REBUILD" "1" "December 2019" "" "" +.TH "NPM\-REBUILD" "1" "March 2020" "" "" .SH "NAME" \fBnpm-rebuild\fR \- Rebuild a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-repo.1 b/deps/npm/man/man1/npm-repo.1 index aa72275dfe730b..68920454a69173 100644 --- a/deps/npm/man/man1/npm-repo.1 +++ b/deps/npm/man/man1/npm-repo.1 @@ -1,4 +1,4 @@ -.TH "NPM\-REPO" "1" "December 2019" "" "" +.TH "NPM\-REPO" "1" "March 2020" "" "" .SH "NAME" \fBnpm-repo\fR \- Open package repository page in the browser .SS Synopsis diff --git a/deps/npm/man/man1/npm-restart.1 b/deps/npm/man/man1/npm-restart.1 index a10b578c2d18c8..d90bebb90633d5 100644 --- a/deps/npm/man/man1/npm-restart.1 +++ b/deps/npm/man/man1/npm-restart.1 @@ -1,4 +1,4 @@ -.TH "NPM\-RESTART" "1" "December 2019" "" "" +.TH "NPM\-RESTART" "1" "March 2020" "" "" .SH "NAME" \fBnpm-restart\fR \- Restart a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-root.1 b/deps/npm/man/man1/npm-root.1 index f670fd7edd226c..dab19fcabf5a0e 100644 --- a/deps/npm/man/man1/npm-root.1 +++ b/deps/npm/man/man1/npm-root.1 @@ -1,4 +1,4 @@ -.TH "NPM\-ROOT" "1" "December 2019" "" "" +.TH "NPM\-ROOT" "1" "March 2020" "" "" .SH "NAME" \fBnpm-root\fR \- Display npm root .SS Synopsis diff --git a/deps/npm/man/man1/npm-run-script.1 b/deps/npm/man/man1/npm-run-script.1 index d618c879456894..8a7d2b6e2ff06c 100644 --- a/deps/npm/man/man1/npm-run-script.1 +++ b/deps/npm/man/man1/npm-run-script.1 @@ -1,4 +1,4 @@ -.TH "NPM\-RUN\-SCRIPT" "1" "December 2019" "" "" +.TH "NPM\-RUN\-SCRIPT" "1" "March 2020" "" "" .SH "NAME" \fBnpm-run-script\fR \- Run arbitrary package scripts .SS Synopsis diff --git a/deps/npm/man/man1/npm-search.1 b/deps/npm/man/man1/npm-search.1 index 3fc442642c14f0..9b9b7861dab818 100644 --- a/deps/npm/man/man1/npm-search.1 +++ b/deps/npm/man/man1/npm-search.1 @@ -1,4 +1,4 @@ -.TH "NPM\-SEARCH" "1" "December 2019" "" "" +.TH "NPM\-SEARCH" "1" "March 2020" "" "" .SH "NAME" \fBnpm-search\fR \- Search for packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-shrinkwrap.1 b/deps/npm/man/man1/npm-shrinkwrap.1 index 70e8924d67b5ac..59b2e499d1e9bf 100644 --- a/deps/npm/man/man1/npm-shrinkwrap.1 +++ b/deps/npm/man/man1/npm-shrinkwrap.1 @@ -1,4 +1,4 @@ -.TH "NPM\-SHRINKWRAP" "1" "December 2019" "" "" +.TH "NPM\-SHRINKWRAP" "1" "March 2020" "" "" .SH "NAME" \fBnpm-shrinkwrap\fR \- Lock down dependency versions for publication .SS Synopsis diff --git a/deps/npm/man/man1/npm-star.1 b/deps/npm/man/man1/npm-star.1 index e5ba538f9ce361..e5a18f85be1374 100644 --- a/deps/npm/man/man1/npm-star.1 +++ b/deps/npm/man/man1/npm-star.1 @@ -1,4 +1,4 @@ -.TH "NPM\-STAR" "1" "December 2019" "" "" +.TH "NPM\-STAR" "1" "March 2020" "" "" .SH "NAME" \fBnpm-star\fR \- Mark your favorite packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-stars.1 b/deps/npm/man/man1/npm-stars.1 index e2d447fee790fe..bcc7cce20518c1 100644 --- a/deps/npm/man/man1/npm-stars.1 +++ b/deps/npm/man/man1/npm-stars.1 @@ -1,4 +1,4 @@ -.TH "NPM\-STARS" "1" "December 2019" "" "" +.TH "NPM\-STARS" "1" "March 2020" "" "" .SH "NAME" \fBnpm-stars\fR \- View packages marked as favorites .SS Synopsis diff --git a/deps/npm/man/man1/npm-start.1 b/deps/npm/man/man1/npm-start.1 index 7768a9bc9eea78..64a22b7cb9461a 100644 --- a/deps/npm/man/man1/npm-start.1 +++ b/deps/npm/man/man1/npm-start.1 @@ -1,4 +1,4 @@ -.TH "NPM\-START" "1" "December 2019" "" "" +.TH "NPM\-START" "1" "March 2020" "" "" .SH "NAME" \fBnpm-start\fR \- Start a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-stop.1 b/deps/npm/man/man1/npm-stop.1 index d81ba646e033b5..5144671e15fcdd 100644 --- a/deps/npm/man/man1/npm-stop.1 +++ b/deps/npm/man/man1/npm-stop.1 @@ -1,4 +1,4 @@ -.TH "NPM\-STOP" "1" "December 2019" "" "" +.TH "NPM\-STOP" "1" "March 2020" "" "" .SH "NAME" \fBnpm-stop\fR \- Stop a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-team.1 b/deps/npm/man/man1/npm-team.1 index d7194d5c8c2b83..6e0b1da57d6e06 100644 --- a/deps/npm/man/man1/npm-team.1 +++ b/deps/npm/man/man1/npm-team.1 @@ -1,4 +1,4 @@ -.TH "NPM\-TEAM" "1" "December 2019" "" "" +.TH "NPM\-TEAM" "1" "March 2020" "" "" .SH "NAME" \fBnpm-team\fR \- Manage organization teams and team memberships .SS Synopsis @@ -23,6 +23,8 @@ handle permissions for packages\. .P Teams must always be fully qualified with the organization/scope they belong to when operating on them, separated by a colon (\fB:\fP)\. That is, if you have a \fBwombats\fP team in a \fBwisdom\fP organization, you must always refer to that team as \fBwisdom:wombats\fP in these commands\. +.P +If you have two\-factor authentication enabled in \fBauth\-and\-writes\fP mode, then you can provide a code from your authenticator with \fB[\-\-otp ]\fP\|\. If you don't include this then you will be prompted\. .RS 0 .IP \(bu 2 create / destroy: diff --git a/deps/npm/man/man1/npm-test.1 b/deps/npm/man/man1/npm-test.1 index e68297858b4c4f..fed0b5d5bb2dd1 100644 --- a/deps/npm/man/man1/npm-test.1 +++ b/deps/npm/man/man1/npm-test.1 @@ -1,4 +1,4 @@ -.TH "NPM\-TEST" "1" "December 2019" "" "" +.TH "NPM\-TEST" "1" "March 2020" "" "" .SH "NAME" \fBnpm-test\fR \- Test a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-token.1 b/deps/npm/man/man1/npm-token.1 index 04a0f5f82f2c6c..2ef8c563f1eb30 100644 --- a/deps/npm/man/man1/npm-token.1 +++ b/deps/npm/man/man1/npm-token.1 @@ -1,6 +1,70 @@ +.TH "NPM\-TOKEN" "1" "March 2020" "" "" +.SH "NAME" +\fBnpm-token\fR \- Manage your authentication tokens +.SS Synopsis .P -+ -``` +.RS 2 +.nf + npm token list [\-\-json|\-\-parseable] + npm token create [\-\-read\-only] [\-\-cidr=1\.1\.1\.1/24,2\.2\.2\.2/16] + npm token revoke +.fi +.RE +.SS Description +.P +This lets you list, create and revoke authentication tokens\. +.RS 0 +.IP \(bu 2 +\fBnpm token list\fP: +Shows a table of all active authentication tokens\. You can request this as +JSON with \fB\-\-json\fP or tab\-separated values with \fB\-\-parseable\fP\|\. + +.RE +.P +.RS 2 +.nf ++\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| id | token | created | read\-only | CIDR whitelist | ++\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| 7f3134 | 1fa9ba… | 2017\-10\-02 | yes | | ++\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| c03241 | af7aef… | 2017\-10\-02 | no | 192\.168\.0\.1/24 | ++\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| e0cf92 | 3a436a… | 2017\-10\-02 | no | | ++\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| 63eb9d | 74ef35… | 2017\-09\-28 | no | | ++\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| 2daaa8 | cbad5f… | 2017\-09\-26 | no | | ++\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| 68c2fe | 127e51… | 2017\-09\-23 | no | | ++\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| 6334e1 | 1dadd1… | 2017\-09\-23 | no | | ++\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +.fi +.RE +.RS 0 +.IP \(bu 2 +\fBnpm token create [\-\-read\-only] [\-\-cidr=]\fP: +Create a new authentication token\. It can be \fB\-\-read\-only\fP or accept a list of +CIDR \fIhttps://en\.wikipedia\.org/wiki/Classless_Inter\-Domain_Routing\fR ranges to +limit use of this token to\. This will prompt you for your password, and, if you have +two\-factor authentication enabled, an otp\. + +.RE +.P +.RS 2 +.nf ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| token | a73c9572\-f1b9\-8983\-983d\-ba3ac3cc913d | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| cidr_whitelist | | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| readonly | false | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +| created | 2017\-10\-02T07:52:24\.838Z | ++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +.fi +.RE .RS 0 .IP \(bu 2 \fBnpm token revoke \fP: diff --git a/deps/npm/man/man1/npm-uninstall.1 b/deps/npm/man/man1/npm-uninstall.1 index 7e5a6feab701c1..72172f08c8f1fb 100644 --- a/deps/npm/man/man1/npm-uninstall.1 +++ b/deps/npm/man/man1/npm-uninstall.1 @@ -1,4 +1,4 @@ -.TH "NPM\-UNINSTALL" "1" "December 2019" "" "" +.TH "NPM\-UNINSTALL" "1" "March 2020" "" "" .SH "NAME" \fBnpm-uninstall\fR \- Remove a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-unpublish.1 b/deps/npm/man/man1/npm-unpublish.1 index 2cfa8071372e95..5db95caffc36d5 100644 --- a/deps/npm/man/man1/npm-unpublish.1 +++ b/deps/npm/man/man1/npm-unpublish.1 @@ -1,22 +1,24 @@ -.TH "NPM\-UNPUBLISH" "1" "December 2019" "" "" +.TH "NPM\-UNPUBLISH" "1" "March 2020" "" "" .SH "NAME" \fBnpm-unpublish\fR \- Remove a package from the registry .SS Synopsis +.SS Unpublishing a single version of a package .P .RS 2 .nf -npm unpublish [<@scope>/][@] +npm unpublish [<@scope>/]@ .fi .RE -.SS Warning -.P -\fBIt is generally considered bad behavior to remove versions of a library -that others are depending on!\fR +.SS Unpublishing an entire package .P -Consider using the \fBdeprecate\fP command -instead, if your intent is to encourage users to upgrade\. +.RS 2 +.nf +npm unpublish [<@scope>/] \-\-force +.fi +.RE +.SS Warning .P -There is plenty of room on the registry\. +Consider using the \fBdeprecate\fP command instead, if your intent is to encourage users to upgrade, or if you no longer want to maintain a package\. .SS Description .P This removes a package version from the registry, deleting its @@ -27,16 +29,9 @@ the root package entry is removed from the registry entirely\. .P Even if a package version is unpublished, that specific name and version combination can never be reused\. In order to publish the -package again, a new version number must be used\. Additionally, -new versions of packages with every version unpublished may not -be republished until 24 hours have passed\. -.P -With the default registry (\fBregistry\.npmjs\.org\fP), unpublish is -only allowed with versions published in the last 72 hours\. If you -are trying to unpublish a version published longer ago than that, -contact support@npmjs\.com\|\. +package again, a new version number must be used\. If you unpublish the entire package, you may not publish any new versions of that package until 24 hours have passed\. .P -The scope is optional and follows the usual rules for npm help \fBscope\fP\|\. +To learn more about how unpublish is treated on the npm registry, see our unpublish policies\|\. .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-update.1 b/deps/npm/man/man1/npm-update.1 index dd61226c352498..b236b1eaaaa561 100644 --- a/deps/npm/man/man1/npm-update.1 +++ b/deps/npm/man/man1/npm-update.1 @@ -1,4 +1,4 @@ -.TH "NPM\-UPDATE" "1" "December 2019" "" "" +.TH "NPM\-UPDATE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-update\fR \- Update a package .SS Synopsis @@ -120,7 +120,9 @@ version that satisfies \fB^0\.4\.0\fP (\fB>= 0\.4\.0 <0\.5\.0\fP) .P \fBnpm update \-g\fP will apply the \fBupdate\fP action to each globally installed package that is \fBoutdated\fP \-\- that is, has a version that is different from -\fBlatest\fP\|\. +\fBwanted\fP\|\. +.P +Note: Globally installed packages are treated as if they are installed with a caret semver range specified\. So if you require to update to \fBlatest\fP you may need to run \fBnpm install \-g [\.\.\.]\fP .P NOTE: If a package has been upgraded to a version newer than \fBlatest\fP, it will be \fIdowngraded\fR\|\. diff --git a/deps/npm/man/man1/npm-version.1 b/deps/npm/man/man1/npm-version.1 index f87f182c8d3809..22dc7a71ed4b01 100644 --- a/deps/npm/man/man1/npm-version.1 +++ b/deps/npm/man/man1/npm-version.1 @@ -1,4 +1,4 @@ -.TH "NPM\-VERSION" "1" "December 2019" "" "" +.TH "NPM\-VERSION" "1" "March 2020" "" "" .SH "NAME" \fBnpm-version\fR \- Bump a package version .SS Synopsis diff --git a/deps/npm/man/man1/npm-view.1 b/deps/npm/man/man1/npm-view.1 index ee47347e5c10ee..0bed92ababc3dd 100644 --- a/deps/npm/man/man1/npm-view.1 +++ b/deps/npm/man/man1/npm-view.1 @@ -1,4 +1,4 @@ -.TH "NPM\-VIEW" "1" "December 2019" "" "" +.TH "NPM\-VIEW" "1" "March 2020" "" "" .SH "NAME" \fBnpm-view\fR \- View registry info .SS Synopsis diff --git a/deps/npm/man/man1/npm-whoami.1 b/deps/npm/man/man1/npm-whoami.1 index 4958d4cc2d8fd1..c581a1f0a4d363 100644 --- a/deps/npm/man/man1/npm-whoami.1 +++ b/deps/npm/man/man1/npm-whoami.1 @@ -1,4 +1,4 @@ -.TH "NPM\-WHOAMI" "1" "December 2019" "" "" +.TH "NPM\-WHOAMI" "1" "March 2020" "" "" .SH "NAME" \fBnpm-whoami\fR \- Display npm username .SS Synopsis diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1 index 44859cc22e3123..a9ea697aea7dc2 100644 --- a/deps/npm/man/man1/npm.1 +++ b/deps/npm/man/man1/npm.1 @@ -1,4 +1,4 @@ -.TH "NPM" "1" "December 2019" "" "" +.TH "NPM" "1" "March 2020" "" "" .SH "NAME" \fBnpm\fR \- javascript package manager .SS Synopsis @@ -10,7 +10,7 @@ npm [args] .RE .SS Version .P -6\.13\.4 +6\.14\.4 .SS Description .P npm is the package manager for the Node JavaScript platform\. It puts diff --git a/deps/npm/man/man1/npx.1 b/deps/npm/man/man1/npx.1 index cd44dda044ad62..e5fc2d48e6fa5d 100644 --- a/deps/npm/man/man1/npx.1 +++ b/deps/npm/man/man1/npx.1 @@ -1,4 +1,4 @@ -.TH "NPX" "1" "April 2018" "npx@10.1.1" "User Commands" +.TH "NPX" "1" "January 2020" "npx@10.2.1" "User Commands" .SH "NAME" \fBnpx\fR \- execute npm package binaries .SH SYNOPSIS @@ -158,7 +158,7 @@ Huge thanks to Kwyn Meagher \fIhttps://blog\.kwyn\.io\fR for generously donating Written by Kat Marchan \fIhttps://github\.com/zkat\fR\|\. .SH REPORTING BUGS .P -Please file any relevant issues on Github\. \fIhttps://github\.com/zkat/npx\fR +Please file any relevant issues on Github\. \fIhttps://github\.com/npm/npx\fR .SH LICENSE .P This work is released by its authors into the public domain under CC0\-1\.0\. See \fBLICENSE\.md\fP for details\. diff --git a/deps/npm/man/man5/folders.5 b/deps/npm/man/man5/folders.5 index a6d802775989a0..c88bdecd34f1e8 100644 --- a/deps/npm/man/man5/folders.5 +++ b/deps/npm/man/man5/folders.5 @@ -1,6 +1,176 @@ +.TH "FOLDERS" "5" "March 2020" "" "" +.SH "NAME" +\fBfolders\fR \- Folder Structures Used by npm +.SS Description .P -[E] -``` +npm puts various things on your computer\. That's its job\. +.P +This document will tell you what it puts where\. +.SS tl;dr +.RS 0 +.IP \(bu 2 +Local install (default): puts stuff in \fB\|\./node_modules\fP of the current +package root\. +.IP \(bu 2 +Global install (with \fB\-g\fP): puts stuff in /usr/local or wherever node +is installed\. +.IP \(bu 2 +Install it \fBlocally\fR if you're going to \fBrequire()\fP it\. +.IP \(bu 2 +Install it \fBglobally\fR if you're going to run it on the command line\. +.IP \(bu 2 +If you need both, then install it in both places, or use \fBnpm link\fP\|\. + +.RE +.SS prefix Configuration +.P +The \fBprefix\fP config defaults to the location where node is installed\. +On most systems, this is \fB/usr/local\fP\|\. On Windows, it's \fB%AppData%\\npm\fP\|\. +On Unix systems, it's one level up, since node is typically installed at +\fB{prefix}/bin/node\fP rather than \fB{prefix}/node\.exe\fP\|\. +.P +When the \fBglobal\fP flag is set, npm installs things into this prefix\. +When it is not set, it uses the root of the current package, or the +current working directory if not in a package already\. +.SS Node Modules +.P +Packages are dropped into the \fBnode_modules\fP folder under the \fBprefix\fP\|\. +When installing locally, this means that you can +\fBrequire("packagename")\fP to load its main module, or +\fBrequire("packagename/lib/path/to/sub/module")\fP to load other modules\. +.P +Global installs on Unix systems go to \fB{prefix}/lib/node_modules\fP\|\. +Global installs on Windows go to \fB{prefix}/node_modules\fP (that is, no +\fBlib\fP folder\.) +.P +Scoped packages are installed the same way, except they are grouped together +in a sub\-folder of the relevant \fBnode_modules\fP folder with the name of that +scope prefix by the @ symbol, e\.g\. \fBnpm install @myorg/package\fP would place +the package in \fB{prefix}/node_modules/@myorg/package\fP\|\. See npm help \fBscope\fP for more details\. +.P +If you wish to \fBrequire()\fP a package, then install it locally\. +.SS Executables +.P +When in global mode, executables are linked into \fB{prefix}/bin\fP on Unix, +or directly into \fB{prefix}\fP on Windows\. +.P +When in local mode, executables are linked into +\fB\|\./node_modules/\.bin\fP so that they can be made available to scripts run +through npm\. (For example, so that a test runner will be in the path +when you run \fBnpm test\fP\|\.) +.SS Man Pages +.P +When in global mode, man pages are linked into \fB{prefix}/share/man\fP\|\. +.P +When in local mode, man pages are not installed\. +.P +Man pages are not installed on Windows systems\. +.SS Cache +.P +See npm help \fBcache\fP\|\. Cache files are stored in \fB~/\.npm\fP on Posix, or +\fB%AppData%/npm\-cache\fP on Windows\. +.P +This is controlled by the \fBcache\fP configuration param\. +.SS Temp Files +.P +Temporary files are stored by default in the folder specified by the +\fBtmp\fP config, which defaults to the TMPDIR, TMP, or TEMP environment +variables, or \fB/tmp\fP on Unix and \fBc:\\windows\\temp\fP on Windows\. +.P +Temp files are given a unique folder under this root for each run of the +program, and are deleted upon successful exit\. +.SS More Information +.P +When installing locally, npm first tries to find an appropriate +\fBprefix\fP folder\. This is so that \fBnpm install foo@1\.2\.3\fP will install +to the sensible root of your package, even if you happen to have \fBcd\fPed +into some other folder\. +.P +Starting at the $PWD, npm will walk up the folder tree checking for a +folder that contains either a \fBpackage\.json\fP file, or a \fBnode_modules\fP +folder\. If such a thing is found, then that is treated as the effective +"current directory" for the purpose of running npm commands\. (This +behavior is inspired by and similar to git's \.git\-folder seeking +logic when running git commands in a working dir\.) +.P +If no package root is found, then the current folder is used\. +.P +When you run \fBnpm install foo@1\.2\.3\fP, then the package is loaded into +the cache, and then unpacked into \fB\|\./node_modules/foo\fP\|\. Then, any of +foo's dependencies are similarly unpacked into +\fB\|\./node_modules/foo/node_modules/\.\.\.\fP\|\. +.P +Any bin files are symlinked to \fB\|\./node_modules/\.bin/\fP, so that they may +be found by npm scripts when necessary\. +.SS Global Installation +.P +If the \fBglobal\fP configuration is set to true, then npm will +install packages "globally"\. +.P +For global installation, packages are installed roughly the same way, +but using the folders described above\. +.SS Cycles, Conflicts, and Folder Parsimony +.P +Cycles are handled using the property of node's module system that it +walks up the directories looking for \fBnode_modules\fP folders\. So, at every +stage, if a package is already installed in an ancestor \fBnode_modules\fP +folder, then it is not installed at the current location\. +.P +Consider the case above, where \fBfoo \-> bar \-> baz\fP\|\. Imagine if, in +addition to that, baz depended on bar, so you'd have: +\fBfoo \-> bar \-> baz \-> bar \-> baz \.\.\.\fP\|\. However, since the folder +structure is: \fBfoo/node_modules/bar/node_modules/baz\fP, there's no need to +put another copy of bar into \fB\|\.\.\./baz/node_modules\fP, since when it calls +require("bar"), it will get the copy that is installed in +\fBfoo/node_modules/bar\fP\|\. +.P +This shortcut is only used if the exact same +version would be installed in multiple nested \fBnode_modules\fP folders\. It +is still possible to have \fBa/node_modules/b/node_modules/a\fP if the two +"a" packages are different versions\. However, without repeating the +exact same package multiple times, an infinite regress will always be +prevented\. +.P +Another optimization can be made by installing dependencies at the +highest level possible, below the localized "target" folder\. +.SS Example +.P +Consider this dependency graph: +.P +.RS 2 +.nf +foo ++\-\- blerg@1\.2\.5 ++\-\- bar@1\.2\.3 +| +\-\- blerg@1\.x (latest=1\.3\.7) +| +\-\- baz@2\.x +| | `\-\- quux@3\.x +| | `\-\- bar@1\.2\.3 (cycle) +| `\-\- asdf@* +`\-\- baz@1\.2\.3 + `\-\- quux@3\.x + `\-\- bar +.fi +.RE +.P +In this case, we might expect a folder structure like this: +.P +.RS 2 +.nf +foo ++\-\- node_modules + +\-\- blerg (1\.2\.5) <\-\-\-[A] + +\-\- bar (1\.2\.3) <\-\-\-[B] + | `\-\- node_modules + | +\-\- baz (2\.0\.2) <\-\-\-[C] + | | `\-\- node_modules + | | `\-\- quux (3\.2\.0) + | `\-\- asdf (2\.3\.4) + `\-\- baz (1\.2\.3) <\-\-\-[D] + `\-\- node_modules + `\-\- quux (3\.2\.0) <\-\-\-[E] +.fi +.RE .P Since foo depends directly on \fBbar@1\.2\.3\fP and \fBbaz@1\.2\.3\fP, those are installed in foo's \fBnode_modules\fP folder\. diff --git a/deps/npm/man/man5/install.5 b/deps/npm/man/man5/install.5 index f01da284796b41..9309aa1f17c006 100644 --- a/deps/npm/man/man5/install.5 +++ b/deps/npm/man/man5/install.5 @@ -1,4 +1,4 @@ -.TH "INSTALL" "5" "December 2019" "" "" +.TH "INSTALL" "5" "March 2020" "" "" .SH "NAME" \fBinstall\fR \- Download and Install npm .SS Description diff --git a/deps/npm/man/man5/npmrc.5 b/deps/npm/man/man5/npmrc.5 index 73a298cf626343..bc3f8fdaed0e5b 100644 --- a/deps/npm/man/man5/npmrc.5 +++ b/deps/npm/man/man5/npmrc.5 @@ -1,4 +1,4 @@ -.TH "NPMRC" "5" "December 2019" "" "" +.TH "NPMRC" "5" "March 2020" "" "" .SH "NAME" \fBnpmrc\fR \- The npm config files .SS Description diff --git a/deps/npm/man/man5/package-json.5 b/deps/npm/man/man5/package-json.5 index c278ee7acfc99c..13d90854131429 100644 --- a/deps/npm/man/man5/package-json.5 +++ b/deps/npm/man/man5/package-json.5 @@ -1,4 +1,4 @@ -.TH "PACKAGE\.JSON" "5" "December 2019" "" "" +.TH "PACKAGE\.JSON" "5" "March 2020" "" "" .SH "NAME" \fBpackage.json\fR \- Specifics of npm's package\.json handling .SS Description @@ -216,7 +216,8 @@ npm also sets a top\-level "maintainers" field with your npm user info\. .SS funding .P You can specify an object containing an URL that provides up\-to\-date -information about ways to help fund development of your package: +information about ways to help fund development of your package, or +a string URL, or an array of these: .P .RS 2 .nf @@ -229,13 +230,28 @@ information about ways to help fund development of your package: "type" : "patreon", "url" : "https://www\.patreon\.com/my\-account" } + +"funding": "http://example\.com/donate" + +"funding": [ + { + "type" : "individual", + "url" : "http://example\.com/donate" + }, + "http://example\.com/donateAlso", + { + "type" : "patreon", + "url" : "https://www\.patreon\.com/my\-account" + } +] .fi .RE .P Users can use the \fBnpm fund\fP subcommand to list the \fBfunding\fP URLs of all dependencies of their project, direct and indirect\. A shortcut to visit each funding url is also available when providing the project name such as: -\fBnpm fund \fP\|\. +\fBnpm fund \fP (when there are multiple URLs, the first one will be +visited) .SS files .P The optional \fBfiles\fP field is an array of file patterns that describes @@ -824,7 +840,8 @@ If a dependency can be used, but you would like npm to proceed if it cannot be found or fails to install, then you may put it in the \fBoptionalDependencies\fP object\. This is a map of package name to version or url, just like the \fBdependencies\fP object\. The difference is that build failures do not cause -installation to fail\. +installation to fail\. Running \fBnpm install \-\-no\-optional\fP will prevent these +dependencies from being installed\. .P It is still your program's responsibility to handle the lack of the dependency\. For example, something like this: diff --git a/deps/npm/man/man5/package-lock-json.5 b/deps/npm/man/man5/package-lock-json.5 index 5f190bf08c852d..43c6e419367742 100644 --- a/deps/npm/man/man5/package-lock-json.5 +++ b/deps/npm/man/man5/package-lock-json.5 @@ -1,4 +1,4 @@ -.TH "PACKAGE\-LOCK\.JSON" "5" "December 2019" "" "" +.TH "PACKAGE\-LOCK\.JSON" "5" "March 2020" "" "" .SH "NAME" \fBpackage-lock.json\fR \- A manifestation of the manifest .SS Description diff --git a/deps/npm/man/man5/package-locks.5 b/deps/npm/man/man5/package-locks.5 index 0c8af6163305a9..f610e42ba4ba4a 100644 --- a/deps/npm/man/man5/package-locks.5 +++ b/deps/npm/man/man5/package-locks.5 @@ -1,4 +1,4 @@ -.TH "PACKAGE\-LOCKS" "5" "December 2019" "" "" +.TH "PACKAGE\-LOCKS" "5" "March 2020" "" "" .SH "NAME" \fBpackage-locks\fR \- An explanation of npm lockfiles .SS Description diff --git a/deps/npm/man/man5/shrinkwrap-json.5 b/deps/npm/man/man5/shrinkwrap-json.5 index 22b517dbbbaf41..e891c84ecff4ee 100644 --- a/deps/npm/man/man5/shrinkwrap-json.5 +++ b/deps/npm/man/man5/shrinkwrap-json.5 @@ -1,4 +1,4 @@ -.TH "NPM\-SHRINKWRAP\.JSON" "5" "December 2019" "" "" +.TH "NPM\-SHRINKWRAP\.JSON" "5" "March 2020" "" "" .SH "NAME" \fBnpm-shrinkwrap.json\fR \- A publishable lockfile .SS Description diff --git a/deps/npm/man/man7/config.7 b/deps/npm/man/man7/config.7 index 617b5354c1db25..0f653366b1d287 100644 --- a/deps/npm/man/man7/config.7 +++ b/deps/npm/man/man7/config.7 @@ -1,6 +1,846 @@ +.TH "CONFIG" "7" "March 2020" "" "" +.SH "NAME" +\fBconfig\fR \- More than you probably want to know about npm configuration +.SS Description .P -" -``` +npm gets its configuration values from the following sources, sorted by priority: +.SS Command Line Flags +.P +Putting \fB\-\-foo bar\fP on the command line sets the \fBfoo\fP configuration +parameter to \fB"bar"\fP\|\. A \fB\-\-\fP argument tells the cli parser to stop +reading flags\. Using \fB\-\-flag\fP without specifying any value will set +the value to \fBtrue\fP\|\. +.P +Example: \fB\-\-flag1 \-\-flag2\fP will set both configuration parameters +to \fBtrue\fP, while \fB\-\-flag1 \-\-flag2 bar\fP will set \fBflag1\fP to \fBtrue\fP, +and \fBflag2\fP to \fBbar\fP\|\. Finally, \fB\-\-flag1 \-\-flag2 \-\- bar\fP will set +both configuration parameters to \fBtrue\fP, and the \fBbar\fP is taken +as a command argument\. +.SS Environment Variables +.P +Any environment variables that start with \fBnpm_config_\fP will be +interpreted as a configuration parameter\. For example, putting +\fBnpm_config_foo=bar\fP in your environment will set the \fBfoo\fP +configuration parameter to \fBbar\fP\|\. Any environment configurations that +are not given a value will be given the value of \fBtrue\fP\|\. Config +values are case\-insensitive, so \fBNPM_CONFIG_FOO=bar\fP will work the +same\. However, please note that inside npm help \fBscripts\fP +npm will set its own environment variables and Node will prefer +those lowercase versions over any uppercase ones that you might set\. +For details see this issue \fIhttps://github\.com/npm/npm/issues/14528\fR\|\. +.P +Notice that you need to use underscores instead of dashes, so \fB\-\-allow\-same\-version\fP +would become \fBnpm_config_allow_same_version=true\fP\|\. +.SS npmrc Files +.P +The four relevant files are: +.RS 0 +.IP \(bu 2 +per\-project configuration file (\fB/path/to/my/project/\.npmrc\fP) +.IP \(bu 2 +per\-user configuration file (defaults to \fB$HOME/\.npmrc\fP; configurable via CLI +option \fB\-\-userconfig\fP or environment variable \fB$NPM_CONFIG_USERCONFIG\fP) +.IP \(bu 2 +global configuration file (defaults to \fB$PREFIX/etc/npmrc\fP; configurable via +CLI option \fB\-\-globalconfig\fP or environment variable \fB$NPM_CONFIG_GLOBALCONFIG\fP) +.IP \(bu 2 +npm's built\-in configuration file (\fB/path/to/npm/npmrc\fP) + +.RE +.P +See npm help npmrc for more details\. +.SS Default Configs +.P +Run \fBnpm config ls \-l\fP to see a set of configuration parameters that are +internal to npm, and are defaults if nothing else is specified\. +.SS Shorthands and Other CLI Niceties +.P +The following shorthands are parsed on the command\-line: +.RS 0 +.IP \(bu 2 +\fB\-v\fP: \fB\-\-version\fP +.IP \(bu 2 +\fB\-h\fP, \fB\-?\fP, \fB\-\-help\fP, \fB\-H\fP: \fB\-\-usage\fP +.IP \(bu 2 +\fB\-s\fP, \fB\-\-silent\fP: \fB\-\-loglevel silent\fP +.IP \(bu 2 +\fB\-q\fP, \fB\-\-quiet\fP: \fB\-\-loglevel warn\fP +.IP \(bu 2 +\fB\-d\fP: \fB\-\-loglevel info\fP +.IP \(bu 2 +\fB\-dd\fP, \fB\-\-verbose\fP: \fB\-\-loglevel verbose\fP +.IP \(bu 2 +\fB\-ddd\fP: \fB\-\-loglevel silly\fP +.IP \(bu 2 +\fB\-g\fP: \fB\-\-global\fP +.IP \(bu 2 +\fB\-C\fP: \fB\-\-prefix\fP +.IP \(bu 2 +\fB\-l\fP: \fB\-\-long\fP +.IP \(bu 2 +\fB\-m\fP: \fB\-\-message\fP +.IP \(bu 2 +\fB\-p\fP, \fB\-\-porcelain\fP: \fB\-\-parseable\fP +.IP \(bu 2 +\fB\-reg\fP: \fB\-\-registry\fP +.IP \(bu 2 +\fB\-f\fP: \fB\-\-force\fP +.IP \(bu 2 +\fB\-desc\fP: \fB\-\-description\fP +.IP \(bu 2 +\fB\-S\fP: \fB\-\-save\fP +.IP \(bu 2 +\fB\-P\fP: \fB\-\-save\-prod\fP +.IP \(bu 2 +\fB\-D\fP: \fB\-\-save\-dev\fP +.IP \(bu 2 +\fB\-O\fP: \fB\-\-save\-optional\fP +.IP \(bu 2 +\fB\-B\fP: \fB\-\-save\-bundle\fP +.IP \(bu 2 +\fB\-E\fP: \fB\-\-save\-exact\fP +.IP \(bu 2 +\fB\-y\fP: \fB\-\-yes\fP +.IP \(bu 2 +\fB\-n\fP: \fB\-\-yes false\fP +.IP \(bu 2 +\fBll\fP and \fBla\fP commands: \fBls \-\-long\fP + +.RE +.P +If the specified configuration param resolves unambiguously to a known +configuration parameter, then it is expanded to that configuration +parameter\. For example: +.P +.RS 2 +.nf +npm ls \-\-par +# same as: +npm ls \-\-parseable +.fi +.RE +.P +If multiple single\-character shorthands are strung together, and the +resulting combination is unambiguously not some other configuration +param, then it is expanded to its various component pieces\. For +example: +.P +.RS 2 +.nf +npm ls \-gpld +# same as: +npm ls \-\-global \-\-parseable \-\-long \-\-loglevel info +.fi +.RE +.SS Per\-Package Config Settings +.P +When running scripts (see npm help \fBscripts\fP) the package\.json "config" +keys are overwritten in the environment if there is a config param of +\fB[@]:\fP\|\. For example, if the package\.json has +this: +.P +.RS 2 +.nf +{ "name" : "foo" +, "config" : { "port" : "8080" } +, "scripts" : { "start" : "node server\.js" } } +.fi +.RE +.P +and the server\.js is this: +.P +.RS 2 +.nf +http\.createServer(\.\.\.)\.listen(process\.env\.npm_package_config_port) +.fi +.RE +.P +then the user could change the behavior by doing: +.P +.RS 2 +.nf +npm config set foo:port 80 +.fi +.RE +.P +See npm help package\.json for more information\. +.SS Config Settings +.SS access +.RS 0 +.IP \(bu 2 +Default: \fBrestricted\fP +.IP \(bu 2 +Type: Access + +.RE +.P +When publishing scoped packages, the access level defaults to \fBrestricted\fP\|\. If +you want your scoped package to be publicly viewable (and installable) set +\fB\-\-access=public\fP\|\. The only valid values for \fBaccess\fP are \fBpublic\fP and +\fBrestricted\fP\|\. Unscoped packages \fIalways\fR have an access level of \fBpublic\fP\|\. +.SS allow\-same\-version +.RS 0 +.IP \(bu 2 +Default: false +.IP \(bu 2 +Type: Boolean + +.RE +.P +Prevents throwing an error when \fBnpm version\fP is used to set the new version +to the same value as the current version\. +.SS always\-auth +.RS 0 +.IP \(bu 2 +Default: false +.IP \(bu 2 +Type: Boolean + +.RE +.P +Force npm to always require authentication when accessing the registry, +even for \fBGET\fP requests\. +.SS also +.RS 0 +.IP \(bu 2 +Default: null +.IP \(bu 2 +Type: String + +.RE +.P +When "dev" or "development" and running local \fBnpm shrinkwrap\fP, +\fBnpm outdated\fP, or \fBnpm update\fP, is an alias for \fB\-\-dev\fP\|\. +.SS audit +.RS 0 +.IP \(bu 2 +Default: true +.IP \(bu 2 +Type: Boolean + +.RE +.P +When "true" submit audit reports alongside \fBnpm install\fP runs to the default +registry and all registries configured for scopes\. See the documentation +for npm help \fBaudit\fP for details on what is submitted\. +.SS audit\-level +.RS 0 +.IP \(bu 2 +Default: \fB"low"\fP +.IP \(bu 2 +Type: \fB\|'low'\fP, \fB\|'moderate'\fP, \fB\|'high'\fP, \fB\|'critical'\fP + +.RE +.P +The minimum level of vulnerability for \fBnpm audit\fP to exit with +a non\-zero exit code\. +.SS auth\-type +.RS 0 +.IP \(bu 2 +Default: \fB\|'legacy'\fP +.IP \(bu 2 +Type: \fB\|'legacy'\fP, \fB\|'sso'\fP, \fB\|'saml'\fP, \fB\|'oauth'\fP + +.RE +.P +What authentication strategy to use with \fBadduser\fP/\fBlogin\fP\|\. +.SS before +.RS 0 +.IP \(bu 2 +Alias: enjoy\-by +.IP \(bu 2 +Default: null +.IP \(bu 2 +Type: Date + +.RE +.P +If passed to \fBnpm install\fP, will rebuild the npm tree such that only versions +that were available \fBon or before\fR the \fB\-\-before\fP time get installed\. +If there's no versions available for the current set of direct dependencies, the +command will error\. +.P +If the requested version is a \fBdist\-tag\fP and the given tag does not pass the +\fB\-\-before\fP filter, the most recent version less than or equal to that tag will +be used\. For example, \fBfoo@latest\fP might install \fBfoo@1\.2\fP even though \fBlatest\fP +is \fB2\.0\fP\|\. +.SS bin\-links +.RS 0 +.IP \(bu 2 +Default: \fBtrue\fP +.IP \(bu 2 +Type: Boolean + +.RE +.P +Tells npm to create symlinks (or \fB\|\.cmd\fP shims on Windows) for package +executables\. +.P +Set to false to have it not do this\. This can be used to work around +the fact that some file systems don't support symlinks, even on +ostensibly Unix systems\. +.SS browser +.RS 0 +.IP \(bu 2 +Default: OS X: \fB"open"\fP, Windows: \fB"start"\fP, Others: \fB"xdg\-open"\fP +.IP \(bu 2 +Type: String + +.RE +.P +The browser that is called by the \fBnpm docs\fP command to open websites\. +.SS ca +.RS 0 +.IP \(bu 2 +Default: The npm CA certificate +.IP \(bu 2 +Type: String, Array or null + +.RE +.P +The Certificate Authority signing certificate that is trusted for SSL +connections to the registry\. Values should be in PEM format (Windows calls it "Base\-64 encoded X\.509 (\.CER)") with newlines +replaced by the string "\\n"\. For example: +.P +.RS 2 +.nf +ca="\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-\\nXXXX\\nXXXX\\n\-\-\-\-\-END CERTIFICATE\-\-\-\-\-" +.fi +.RE +.P +Set to \fBnull\fP to only allow "known" registrars, or to a specific CA cert +to trust only that specific signing authority\. +.P +Multiple CAs can be trusted by specifying an array of certificates: +.P +.RS 2 +.nf +ca[]="\.\.\." +ca[]="\.\.\." +.fi +.RE +.P +See also the \fBstrict\-ssl\fP config\. +.SS cafile +.RS 0 +.IP \(bu 2 +Default: \fBnull\fP +.IP \(bu 2 +Type: path + +.RE +.P +A path to a file containing one or multiple Certificate Authority signing +certificates\. Similar to the \fBca\fP setting, but allows for multiple CA's, as +well as for the CA information to be stored in a file on disk\. +.SS cache +.RS 0 +.IP \(bu 2 +Default: Windows: \fB%AppData%\\npm\-cache\fP, Posix: \fB~/\.npm\fP +.IP \(bu 2 +Type: path + +.RE +.P +The location of npm's cache directory\. See npm help \fBcache\fP +.SS cache\-lock\-stale +.RS 0 +.IP \(bu 2 +Default: 60000 (1 minute) +.IP \(bu 2 +Type: Number + +.RE +.P +The number of ms before cache folder lockfiles are considered stale\. +.SS cache\-lock\-retries +.RS 0 +.IP \(bu 2 +Default: 10 +.IP \(bu 2 +Type: Number + +.RE +.P +Number of times to retry to acquire a lock on cache folder lockfiles\. +.SS cache\-lock\-wait +.RS 0 +.IP \(bu 2 +Default: 10000 (10 seconds) +.IP \(bu 2 +Type: Number + +.RE +.P +Number of ms to wait for cache lock files to expire\. +.SS cache\-max +.RS 0 +.IP \(bu 2 +Default: Infinity +.IP \(bu 2 +Type: Number + +.RE +.P +\fBDEPRECATED\fR: This option has been deprecated in favor of \fB\-\-prefer\-online\fP\|\. +.P +\fB\-\-cache\-max=0\fP is an alias for \fB\-\-prefer\-online\fP\|\. +.SS cache\-min +.RS 0 +.IP \(bu 2 +Default: 10 +.IP \(bu 2 +Type: Number + +.RE +.P +\fBDEPRECATED\fR: This option has been deprecated in favor of \fB\-\-prefer\-offline\fP\|\. +.P +\fB\-\-cache\-min=9999 (or bigger)\fP is an alias for \fB\-\-prefer\-offline\fP\|\. +.SS cert +.RS 0 +.IP \(bu 2 +Default: \fBnull\fP +.IP \(bu 2 +Type: String + +.RE +.P +A client certificate to pass when accessing the registry\. Values should be in +PEM format (Windows calls it "Base\-64 encoded X\.509 (\.CER)") with newlines replaced by the string "\\n"\. For example: +.P +.RS 2 +.nf +cert="\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-\\nXXXX\\nXXXX\\n\-\-\-\-\-END CERTIFICATE\-\-\-\-\-" +.fi +.RE +.P +It is \fInot\fR the path to a certificate file (and there is no "certfile" option)\. +.SS cidr +.RS 0 +.IP \(bu 2 +Default: \fBnull\fP +.IP \(bu 2 +Type: String, Array, null + +.RE +.P +This is a list of CIDR address to be used when configuring limited access tokens with the \fBnpm token create\fP command\. +.SS color +.RS 0 +.IP \(bu 2 +Default: true +.IP \(bu 2 +Type: Boolean or \fB"always"\fP + +.RE +.P +If false, never shows colors\. If \fB"always"\fP then always shows colors\. +If true, then only prints color codes for tty file descriptors\. +.P +This option can also be changed using the environment: colors are +disabled when the environment variable \fBNO_COLOR\fP is set to any value\. +.SS depth +.RS 0 +.IP \(bu 2 +Default: Infinity +.IP \(bu 2 +Type: Number + +.RE +.P +The depth to go when recursing directories for \fBnpm ls\fP, +\fBnpm cache ls\fP, and \fBnpm outdated\fP\|\. +.P +For \fBnpm outdated\fP, a setting of \fBInfinity\fP will be treated as \fB0\fP +since that gives more useful information\. To show the outdated status +of all packages and dependents, use a large integer value, +e\.g\., \fBnpm outdated \-\-depth 9999\fP +.SS description +.RS 0 +.IP \(bu 2 +Default: true +.IP \(bu 2 +Type: Boolean + +.RE +.P +Show the description in \fBnpm search\fP +.SS dev +.RS 0 +.IP \(bu 2 +Default: false +.IP \(bu 2 +Type: Boolean + +.RE +.P +Install \fBdev\-dependencies\fP along with packages\. +.SS dry\-run +.RS 0 +.IP \(bu 2 +Default: false +.IP \(bu 2 +Type: Boolean + +.RE +.P +Indicates that you don't want npm to make any changes and that it should +only report what it would have done\. This can be passed into any of the +commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP, +\fBdedupe\fP, \fBuninstall\fP\|\. This is NOT currently honored by some network related +commands, eg \fBdist\-tags\fP, \fBowner\fP, etc\. +.SS editor +.RS 0 +.IP \(bu 2 +Default: \fBEDITOR\fP environment variable if set, or \fB"vi"\fP on Posix, +or \fB"notepad"\fP on Windows\. +.IP \(bu 2 +Type: path + +.RE +.P +The command to run for \fBnpm edit\fP or \fBnpm config edit\fP\|\. +.SS engine\-strict +.RS 0 +.IP \(bu 2 +Default: false +.IP \(bu 2 +Type: Boolean + +.RE +.P +If set to true, then npm will stubbornly refuse to install (or even +consider installing) any package that claims to not be compatible with +the current Node\.js version\. +.SS force +.RS 0 +.IP \(bu 2 +Default: false +.IP \(bu 2 +Type: Boolean + +.RE +.P +Makes various commands more forceful\. +.RS 0 +.IP \(bu 2 +lifecycle script failure does not block progress\. +.IP \(bu 2 +publishing clobbers previously published versions\. +.IP \(bu 2 +skips cache when requesting from the registry\. +.IP \(bu 2 +prevents checks against clobbering non\-npm files\. + +.RE +.SS format\-package\-lock +.RS 0 +.IP \(bu 2 +Default: true +.IP \(bu 2 +Type: Boolean + +.RE +.P +Format \fBpackage\-lock\.json\fP or \fBnpm\-shrinkwrap\.json\fP as a human readable file\. +.SS fetch\-retries +.RS 0 +.IP \(bu 2 +Default: 2 +.IP \(bu 2 +Type: Number + +.RE +.P +The "retries" config for the \fBretry\fP module to use when fetching +packages from the registry\. +.SS fetch\-retry\-factor +.RS 0 +.IP \(bu 2 +Default: 10 +.IP \(bu 2 +Type: Number + +.RE +.P +The "factor" config for the \fBretry\fP module to use when fetching +packages\. +.SS fetch\-retry\-mintimeout +.RS 0 +.IP \(bu 2 +Default: 10000 (10 seconds) +.IP \(bu 2 +Type: Number + +.RE +.P +The "minTimeout" config for the \fBretry\fP module to use when fetching +packages\. +.SS fetch\-retry\-maxtimeout +.RS 0 +.IP \(bu 2 +Default: 60000 (1 minute) +.IP \(bu 2 +Type: Number + +.RE +.P +The "maxTimeout" config for the \fBretry\fP module to use when fetching +packages\. +.SS fund +.RS 0 +.IP \(bu 2 +Default: true +.IP \(bu 2 +Type: Boolean + +.RE +.P +When "true" displays the message at the end of each \fBnpm install\fP +aknowledging the number of dependencies looking for funding\. +See npm help \fBfund\fP for details\. +.SS git +.RS 0 +.IP \(bu 2 +Default: \fB"git"\fP +.IP \(bu 2 +Type: String + +.RE +.P +The command to use for git commands\. If git is installed on the +computer, but is not in the \fBPATH\fP, then set this to the full path to +the git binary\. +.SS git\-tag\-version +.RS 0 +.IP \(bu 2 +Default: \fBtrue\fP +.IP \(bu 2 +Type: Boolean + +.RE +.P +Tag the commit when using the \fBnpm version\fP command\. +.SS commit\-hooks +.RS 0 +.IP \(bu 2 +Default: \fBtrue\fP +.IP \(bu 2 +Type: Boolean + +.RE +.P +Run git commit hooks when using the \fBnpm version\fP command\. +.SS global +.RS 0 +.IP \(bu 2 +Default: false +.IP \(bu 2 +Type: Boolean + +.RE +.P +Operates in "global" mode, so that packages are installed into the +\fBprefix\fP folder instead of the current working directory\. See +npm help folders for more on the differences in behavior\. +.RS 0 +.IP \(bu 2 +packages are installed into the \fB{prefix}/lib/node_modules\fP folder, instead of the +current working directory\. +.IP \(bu 2 +bin files are linked to \fB{prefix}/bin\fP +.IP \(bu 2 +man pages are linked to \fB{prefix}/share/man\fP + +.RE +.SS globalconfig +.RS 0 +.IP \(bu 2 +Default: {prefix}/etc/npmrc +.IP \(bu 2 +Type: path + +.RE +.P +The config file to read for global config options\. +.SS global\-style +.RS 0 +.IP \(bu 2 +Default: false +.IP \(bu 2 +Type: Boolean + +.RE +.P +Causes npm to install the package into your local \fBnode_modules\fP folder with +the same layout it uses with the global \fBnode_modules\fP folder\. Only your +direct dependencies will show in \fBnode_modules\fP and everything they depend +on will be flattened in their \fBnode_modules\fP folders\. This obviously will +eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP will be +preferred\. +.SS group +.RS 0 +.IP \(bu 2 +Default: GID of the current process +.IP \(bu 2 +Type: String or Number + +.RE +.P +The group to use when running package scripts in global mode as the root +user\. +.SS heading +.RS 0 +.IP \(bu 2 +Default: \fB"npm"\fP +.IP \(bu 2 +Type: String + +.RE +.P +The string that starts all the debugging log output\. +.SS https\-proxy +.RS 0 +.IP \(bu 2 +Default: null +.IP \(bu 2 +Type: url + +.RE +.P +A proxy to use for outgoing https requests\. If the \fBHTTPS_PROXY\fP or +\fBhttps_proxy\fP or \fBHTTP_PROXY\fP or \fBhttp_proxy\fP environment variables are set, +proxy settings will be honored by the underlying \fBrequest\fP library\. +.SS if\-present +.RS 0 +.IP \(bu 2 +Default: false +.IP \(bu 2 +Type: Boolean + +.RE +.P +If true, npm will not exit with an error code when \fBrun\-script\fP is invoked for +a script that isn't defined in the \fBscripts\fP section of \fBpackage\.json\fP\|\. This +option can be used when it's desirable to optionally run a script when it's +present and fail if the script fails\. This is useful, for example, when running +scripts that may only apply for some builds in an otherwise generic CI setup\. +.SS ignore\-prepublish +.RS 0 +.IP \(bu 2 +Default: false +.IP \(bu 2 +Type: Boolean + +.RE +.P +If true, npm will not run \fBprepublish\fP scripts\. +.SS ignore\-scripts +.RS 0 +.IP \(bu 2 +Default: false +.IP \(bu 2 +Type: Boolean + +.RE +.P +If true, npm does not run scripts specified in package\.json files\. +.SS init\-module +.RS 0 +.IP \(bu 2 +Default: ~/\.npm\-init\.js +.IP \(bu 2 +Type: path + +.RE +.P +A module that will be loaded by the \fBnpm init\fP command\. See the +documentation for the +init\-package\-json \fIhttps://github\.com/isaacs/init\-package\-json\fR module +for more information, or npm help init\. +.SS init\-author\-name +.RS 0 +.IP \(bu 2 +Default: "" +.IP \(bu 2 +Type: String + +.RE +.P +The value \fBnpm init\fP should use by default for the package author's name\. +.SS init\-author\-email +.RS 0 +.IP \(bu 2 +Default: "" +.IP \(bu 2 +Type: String + +.RE +.P +The value \fBnpm init\fP should use by default for the package author's email\. +.SS init\-author\-url +.RS 0 +.IP \(bu 2 +Default: "" +.IP \(bu 2 +Type: String + +.RE +.P +The value \fBnpm init\fP should use by default for the package author's homepage\. +.SS init\-license +.RS 0 +.IP \(bu 2 +Default: "ISC" +.IP \(bu 2 +Type: String + +.RE +.P +The value \fBnpm init\fP should use by default for the package license\. +.SS init\-version +.RS 0 +.IP \(bu 2 +Default: "1\.0\.0" +.IP \(bu 2 +Type: semver + +.RE +.P +The value that \fBnpm init\fP should use by default for the package +version number, if not already set in package\.json\. +.SS json +.RS 0 +.IP \(bu 2 +Default: false +.IP \(bu 2 +Type: Boolean + +.RE +.P +Whether or not to output JSON data, rather than the normal output\. +.P +This feature is currently experimental, and the output data structures for many +commands is either not implemented in JSON yet, or subject to change\. Only the +output from \fBnpm ls \-\-json\fP and \fBnpm search \-\-json\fP are currently valid\. +.SS key +.RS 0 +.IP \(bu 2 +Default: \fBnull\fP +.IP \(bu 2 +Type: String + +.RE +.P +A client key to pass when accessing the registry\. Values should be in PEM +format with newlines replaced by the string "\\n"\. For example: +.P +.RS 2 +.nf +key="\-\-\-\-\-BEGIN PRIVATE KEY\-\-\-\-\-\\nXXXX\\nXXXX\\n\-\-\-\-\-END PRIVATE KEY\-\-\-\-\-" +.fi +.RE .P It is \fInot\fR the path to a key file (and there is no "keyfile" option)\. .SS legacy\-bundling diff --git a/deps/npm/man/man7/developers.7 b/deps/npm/man/man7/developers.7 index 60fe6234cffd09..a84548af27c641 100644 --- a/deps/npm/man/man7/developers.7 +++ b/deps/npm/man/man7/developers.7 @@ -1,4 +1,4 @@ -.TH "DEVELOPERS" "7" "December 2019" "" "" +.TH "DEVELOPERS" "7" "March 2020" "" "" .SH "NAME" \fBdevelopers\fR \- Developer Guide .SS Description diff --git a/deps/npm/man/man7/disputes.7 b/deps/npm/man/man7/disputes.7 index 53cf2464a9ea8c..a94c70b3d833de 100644 --- a/deps/npm/man/man7/disputes.7 +++ b/deps/npm/man/man7/disputes.7 @@ -1,4 +1,4 @@ -.TH "DISPUTES" "7" "December 2019" "" "" +.TH "DISPUTES" "7" "March 2020" "" "" .SH "NAME" \fBdisputes\fR \- Handling Module Name Disputes .P @@ -116,7 +116,7 @@ language, pornographic content, or harassment\. If you see bad behavior like this, please report it to abuse@npmjs\.com right away\. \fBYou are never expected to resolve abusive behavior on your own\. We are here to help\.\fR -.SS Trademarkss +.SS Trademarks .P If you think another npm publisher is infringing your trademark, such as by using a confusingly similar package name, email abuse@npmjs\.com with a link to diff --git a/deps/npm/man/man7/orgs.7 b/deps/npm/man/man7/orgs.7 index bd3adcaa5eca12..418537ead8c219 100644 --- a/deps/npm/man/man7/orgs.7 +++ b/deps/npm/man/man7/orgs.7 @@ -1,4 +1,4 @@ -.TH "ORGS" "7" "December 2019" "" "" +.TH "ORGS" "7" "March 2020" "" "" .SH "NAME" \fBorgs\fR \- Working with Teams & Orgs .SS Description diff --git a/deps/npm/man/man7/registry.7 b/deps/npm/man/man7/registry.7 index c21d6d6e617817..f22059121e843b 100644 --- a/deps/npm/man/man7/registry.7 +++ b/deps/npm/man/man7/registry.7 @@ -1,4 +1,4 @@ -.TH "REGISTRY" "7" "December 2019" "" "" +.TH "REGISTRY" "7" "March 2020" "" "" .SH "NAME" \fBregistry\fR \- The JavaScript Package Registry .SS Description diff --git a/deps/npm/man/man7/removal.7 b/deps/npm/man/man7/removal.7 index 0a08017f0dcd2b..7b7322628f2c65 100644 --- a/deps/npm/man/man7/removal.7 +++ b/deps/npm/man/man7/removal.7 @@ -1,4 +1,4 @@ -.TH "REMOVAL" "7" "December 2019" "" "" +.TH "REMOVAL" "7" "March 2020" "" "" .SH "NAME" \fBremoval\fR \- Cleaning the Slate .SS Synopsis diff --git a/deps/npm/man/man7/scope.7 b/deps/npm/man/man7/scope.7 index 933e2e23c77430..1884347b8b6ab1 100644 --- a/deps/npm/man/man7/scope.7 +++ b/deps/npm/man/man7/scope.7 @@ -1,4 +1,4 @@ -.TH "SCOPE" "7" "December 2019" "" "" +.TH "SCOPE" "7" "March 2020" "" "" .SH "NAME" \fBscope\fR \- Scoped packages .SS Description diff --git a/deps/npm/man/man7/scripts.7 b/deps/npm/man/man7/scripts.7 index a6756a376c59bd..17b549b05e7c1c 100644 --- a/deps/npm/man/man7/scripts.7 +++ b/deps/npm/man/man7/scripts.7 @@ -1,101 +1,88 @@ -.TH "SCRIPTS" "7" "December 2019" "" "" +.TH "SCRIPTS" "7" "March 2020" "" "" .SH "NAME" \fBscripts\fR \- How npm handles the "scripts" field .SS Description .P -npm supports the "scripts" property of the package\.json file, for the -following scripts: +The \fB"scripts"\fP property of of your \fBpackage\.json\fP file supports a number of built\-in scripts and their preset life cycle events as well as arbitrary scripts\. These all can be executed by running \fBnpm run\-script \fP or \fBnpm run \fP for short\. \fIPre\fR and \fIpost\fR commands with matching names will be run for those as well (e\.g\. \fBpremyscript\fP, \fBmyscript\fP, \fBpostmyscript\fP)\. Scripts from dependencies can be run with \fBnpm explore \-\- npm run \fP\|\. +.SS Pre & Post Scripts +.P +To create "pre" or "post" scripts for any scripts defined in the \fB"scripts"\fP section of the \fBpackage\.json\fP, simply create another script \fIwith a matching name\fR and add "pre" or "post" to the beginning of them\. +.P +.RS 2 +.nf +{ + "scripts": { + "precompress": "{{ executes BEFORE the `compress` script }}", + "compress": "{{ run command to compress files }}", + "postcompress": "{{ executes AFTER `compress` script }}" + } +} +.fi +.RE +.SS Life Cycle Scripts +.P +There are some special life cycle scripts that happen only in certain situations\. These scripts happen in addtion to the "pre" and "post" script\. .RS 0 .IP \(bu 2 -\fBprepublish\fR (\fIas of npm@5, \fBprepublish\fP is deprecated\. Use \fBprepare\fP for build steps and \fBprepublishOnly\fP for upload\-only\.\fR): -Run BEFORE the package is packed and published, as well as on local \fBnpm -install\fP without any arguments\. (See below) -.IP \(bu 2 -\fBprepare\fR: -Run both BEFORE the package is packed and published, on local \fBnpm -install\fP without any arguments, and when installing git dependencies (See -below)\. This is run AFTER \fBprepublish\fP, but BEFORE \fBprepublishOnly\fP\|\. -.IP \(bu 2 -\fBprepublishOnly\fR: -Run BEFORE the package is prepared and packed, ONLY on \fBnpm publish\fP\|\. (See -below\.) -.IP \(bu 2 -\fBprepack\fR: -run BEFORE a tarball is packed (on \fBnpm pack\fP, \fBnpm publish\fP, and when -installing git dependencies) -.IP \(bu 2 -\fBpostpack\fR: -Run AFTER the tarball has been generated and moved to its final destination\. -.IP \(bu 2 -\fBpublish\fR, \fBpostpublish\fR: -Run AFTER the package is published\. -.IP \(bu 2 -\fBpreinstall\fR: -Run BEFORE the package is installed -.IP \(bu 2 -\fBinstall\fR, \fBpostinstall\fR: -Run AFTER the package is installed\. +\fBprepare\fP, \fBprepublish\fP, \fBprepublishOnly\fP, \fBprepack\fP, \fBpostpack\fP + +.RE +.P +\fBprepare\fR (since \fBnpm@4\.0\.0\fP) +.RS 0 .IP \(bu 2 -\fBpreuninstall\fR, \fBuninstall\fR: -Run BEFORE the package is uninstalled\. +Runs BEFORE the package is packed .IP \(bu 2 -\fBpostuninstall\fR: -Run AFTER the package is uninstalled\. +Runs BEFORE the package is published .IP \(bu 2 -\fBpreversion\fR: -Run BEFORE bumping the package version\. +Runs on local \fBnpm install\fP without any arguments .IP \(bu 2 -\fBversion\fR: -Run AFTER bumping the package version, but BEFORE commit\. +Run AFTER \fBprepublish\fP, but BEFORE \fBprepublishOnly\fP .IP \(bu 2 -\fBpostversion\fR: -Run AFTER bumping the package version, and AFTER commit\. +NOTE: If a package being installed through git contains a \fBprepare\fP script, its \fBdependencies\fP and \fBdevDependencies\fP will be installed, and the prepare script will be run, before the package is packaged and installed\. + +.RE +.P +\fBprepublish\fR (DEPRECATED) +.RS 0 .IP \(bu 2 -\fBpretest\fR, \fBtest\fR, \fBposttest\fR: -Run by the \fBnpm test\fP command\. +Same as \fBprepare\fP + +.RE +.P +\fBprepublishOnly\fR +.RS 0 .IP \(bu 2 -\fBprestop\fR, \fBstop\fR, \fBpoststop\fR: -Run by the \fBnpm stop\fP command\. +Runs BEFORE the package is prepared and packed, ONLY on \fBnpm publish\fP\|\. + +.RE +.P +\fBprepack\fR +.RS 0 .IP \(bu 2 -\fBprestart\fR, \fBstart\fR, \fBpoststart\fR: -Run by the \fBnpm start\fP command\. +Runs BEFORE a tarball is packed (on "\fBnpm pack\fP", "\fBnpm publish\fP", and when installing a git dependencies)\. .IP \(bu 2 -\fBprerestart\fR, \fBrestart\fR, \fBpostrestart\fR: -Run by the \fBnpm restart\fP command\. Note: \fBnpm restart\fP will run the -stop and start scripts if no \fBrestart\fP script is provided\. +NOTE: "\fBnpm run pack\fP" is NOT the same as "\fBnpm pack\fP"\. "\fBnpm run pack\fP" is an arbitrary user defined script name, where as, "\fBnpm pack\fP" is a CLI defined command\. + +.RE +.P +\fBpostpack\fR +.RS 0 .IP \(bu 2 -\fBpreshrinkwrap\fR, \fBshrinkwrap\fR, \fBpostshrinkwrap\fR: -Run by the \fBnpm shrinkwrap\fP command\. +Runs AFTER the tarball has been generated and moved to its final destination\. .RE +.SS Prepare and Prepublish .P -Additionally, arbitrary scripts can be executed by running \fBnpm -run\-script \fP\|\. \fIPre\fR and \fIpost\fR commands with matching -names will be run for those as well (e\.g\. \fBpremyscript\fP, \fBmyscript\fP, -\fBpostmyscript\fP)\. Scripts from dependencies can be run with -\fBnpm explore \-\- npm run \fP\|\. -.SS Prepublish and Prepare -.SS Deprecation Note -.P -Since \fBnpm@1\.1\.71\fP, the npm CLI has run the \fBprepublish\fP script for both \fBnpm -publish\fP and \fBnpm install\fP, because it's a convenient way to prepare a package -for use (some common use cases are described in the section below)\. It has -also turned out to be, in practice, very -confusing \fIhttps://github\.com/npm/npm/issues/10074\fR\|\. As of \fBnpm@4\.0\.0\fP, a new -event has been introduced, \fBprepare\fP, that preserves this existing behavior\. A -\fInew\fR event, \fBprepublishOnly\fP has been added as a transitional strategy to -allow users to avoid the confusing behavior of existing npm versions and only -run on \fBnpm publish\fP (for instance, running the tests one last time to ensure -they're in good shape)\. -.P -See https://github\.com/npm/npm/issues/10074 for a much lengthier -justification, with further reading, for this change\. -.SS Use Cases -.P -If you need to perform operations on your package before it is used, in a way -that is not dependent on the operating system or architecture of the -target system, use a \fBprepublish\fP script\. This includes -tasks such as: +\fBDeprecation Note: prepublish\fR +.P +Since \fBnpm@1\.1\.71\fP, the npm CLI has run the \fBprepublish\fP script for both \fBnpm publish\fP and \fBnpm install\fP, because it's a convenient way to prepare a package for use (some common use cases are described in the section below)\. It has also turned out to be, in practice, very confusing \fIhttps://github\.com/npm/npm/issues/10074\fR\|\. As of \fBnpm@4\.0\.0\fP, a new event has been introduced, \fBprepare\fP, that preserves this existing behavior\. A \fInew\fR event, \fBprepublishOnly\fP has been added as a transitional strategy to allow users to avoid the confusing behavior of existing npm versions and only run on \fBnpm publish\fP (for instance, running the tests one last time to ensure they're in good shape)\. +.P +See https://github\.com/npm/npm/issues/10074 for a much lengthier justification, with further reading, for this change\. +.P +\fBUse Cases\fR +.P +If you need to perform operations on your package before it is used, in a way that is not dependent on the operating system or architecture of the target system, use a \fBprepublish\fP script\. This includes tasks such as: .RS 0 .IP \(bu 2 Compiling CoffeeScript source code into JavaScript\. @@ -106,9 +93,7 @@ Fetching remote resources that your package will use\. .RE .P -The advantage of doing these things at \fBprepublish\fP time is that they can be done once, in a -single place, thus reducing complexity and variability\. -Additionally, this means that: +The advantage of doing these things at \fBprepublish\fP time is that they can be done once, in a single place, thus reducing complexity and variability\. Additionally, this means that: .RS 0 .IP \(bu 2 You can depend on \fBcoffee\-script\fP as a \fBdevDependency\fP, and thus @@ -120,6 +105,60 @@ the size for your users\. You don't need to rely on your users having \fBcurl\fP or \fBwget\fP or other system tools on the target machines\. +.RE +.SS Life Cycle Operation Order +.SS npm help \fBpublish\fP +.RS 0 +.IP \(bu 2 +\fBprepublishOnly\fP +.IP \(bu 2 +\fBprepare\fP +.IP \(bu 2 +\fBprepublish\fP +.IP \(bu 2 +\fBpublish\fP +.IP \(bu 2 +\fBpostpublish\fP + +.RE +.SS npm help \fBpack\fP +.RS 0 +.IP \(bu 2 +\fBprepack\fP +.IP \(bu 2 +\fBpostpack\fP + +.RE +.SS npm help \fBinstall\fP +.RS 0 +.IP \(bu 2 +\fBpreinstall\fP +.IP \(bu 2 +\fBinstall\fP +.IP \(bu 2 +\fBpostinstall\fP + +.RE +.P +Also triggers +.RS 0 +.IP \(bu 2 +\fBprepublish\fP (when on local) +.IP \(bu 2 +\fBprepare\fP (when on local) + +.RE +.SS npm help \fBstart\fP +.P +\fBnpm run start\fP has an \fBnpm start\fP shorthand\. +.RS 0 +.IP \(bu 2 +\fBprestart\fP +.IP \(bu 2 +\fBstart\fP +.IP \(bu 2 +\fBpoststart\fP + .RE .SS Default Values .P @@ -230,7 +269,7 @@ For example, if your package\.json contains this: .nf { "scripts" : { "install" : "scripts/install\.js" - , "postinstall" : "scripts/install\.js" + , "postinstall" : "scripts/postinstall\.js" , "uninstall" : "scripts/uninstall\.js" } } diff --git a/deps/npm/man/man7/semver.7 b/deps/npm/man/man7/semver.7 index 23d513d4238b28..419716a83d737a 100644 --- a/deps/npm/man/man7/semver.7 +++ b/deps/npm/man/man7/semver.7 @@ -1,4 +1,4 @@ -.TH "SEMVER" "7" "December 2019" "" "" +.TH "SEMVER" "7" "March 2020" "" "" .SH "NAME" \fBsemver\fR \- The semantic versioner for npm .SH Install diff --git a/deps/npm/node_modules/are-we-there-yet/node_modules/readable-stream/CONTRIBUTING.md b/deps/npm/node_modules/are-we-there-yet/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58dca85b2..00000000000000 --- a/deps/npm/node_modules/are-we-there-yet/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/deps/npm/node_modules/bcrypt-pbkdf/CONTRIBUTING.md b/deps/npm/node_modules/bcrypt-pbkdf/CONTRIBUTING.md deleted file mode 100644 index 401d34ed5c7a3f..00000000000000 --- a/deps/npm/node_modules/bcrypt-pbkdf/CONTRIBUTING.md +++ /dev/null @@ -1,13 +0,0 @@ -# Contributing - -This repository uses [cr.joyent.us](https://cr.joyent.us) (Gerrit) for new -changes. Anyone can submit changes. To get started, see the [cr.joyent.us user -guide](https://github.com/joyent/joyent-gerrit/blob/master/docs/user/README.md). -This repo does not use GitHub pull requests. - -See the [Joyent Engineering -Guidelines](https://github.com/joyent/eng/blob/master/docs/index.md) for general -best practices expected in this repository. - -If you're changing something non-trivial or user-facing, you may want to submit -an issue first. diff --git a/deps/npm/node_modules/bin-links/CHANGELOG.md b/deps/npm/node_modules/bin-links/CHANGELOG.md index 697e3c53559b40..e7b640c08d13fe 100644 --- a/deps/npm/node_modules/bin-links/CHANGELOG.md +++ b/deps/npm/node_modules/bin-links/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [1.1.7](https://github.com/npm/bin-links/compare/v1.1.6...v1.1.7) (2019-12-26) + + +### Bug Fixes + +* resolve folder that is passed in ([0bbd303](https://github.com/npm/bin-links/commit/0bbd303)) + + + ## [1.1.6](https://github.com/npm/bin-links/compare/v1.1.5...v1.1.6) (2019-12-11) diff --git a/deps/npm/node_modules/bin-links/index.js b/deps/npm/node_modules/bin-links/index.js index 4f6d3c055c02ee..79c2cb585bd73e 100644 --- a/deps/npm/node_modules/bin-links/index.js +++ b/deps/npm/node_modules/bin-links/index.js @@ -18,6 +18,7 @@ module.exports = BB.promisify(binLinks) function binLinks (pkg, folder, global, opts, cb) { pkg = normalize(pkg) + folder = path.resolve(folder) // if it's global, and folder is in {prefix}/node_modules, // then bins are in {prefix}/bin diff --git a/deps/npm/node_modules/bin-links/package.json b/deps/npm/node_modules/bin-links/package.json index a4d2c02226e5f1..45393d11c5fc87 100644 --- a/deps/npm/node_modules/bin-links/package.json +++ b/deps/npm/node_modules/bin-links/package.json @@ -1,19 +1,19 @@ { - "_from": "bin-links@1.1.6", - "_id": "bin-links@1.1.6", + "_from": "bin-links@1.1.7", + "_id": "bin-links@1.1.7", "_inBundle": false, - "_integrity": "sha512-b5rV3uVyrlrJWLI3mawUUf5t2f9mCEQm/TqT5zNj6DPYhYDZaNp0AYaYd/CVASkSEklayNDLliZHVdo2J3niPw==", + "_integrity": "sha512-/eaLaTu7G7/o7PV04QPy1HRT65zf+1tFkPGv0sPTV0tRwufooYBQO3zrcyGgm+ja+ZtBf2GEuKjDRJ2pPG+yqA==", "_location": "/bin-links", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "bin-links@1.1.6", + "raw": "bin-links@1.1.7", "name": "bin-links", "escapedName": "bin-links", - "rawSpec": "1.1.6", + "rawSpec": "1.1.7", "saveSpec": null, - "fetchSpec": "1.1.6" + "fetchSpec": "1.1.7" }, "_requiredBy": [ "#USER", @@ -21,10 +21,10 @@ "/libcipm", "/libnpm" ], - "_resolved": "https://registry.npmjs.org/bin-links/-/bin-links-1.1.6.tgz", - "_shasum": "30d33e810829305e5e61b90cfcb9a3a4f65eb516", - "_spec": "bin-links@1.1.6", - "_where": "/Users/isaacs/dev/npm/cli", + "_resolved": "https://registry.npmjs.org/bin-links/-/bin-links-1.1.7.tgz", + "_shasum": "34b79ea9d0e575d7308afeff0c6b2fc24c793359", + "_spec": "bin-links@1.1.7", + "_where": "/Users/mperrotte/npminc/cli", "author": { "name": "Mike Sherov" }, @@ -77,5 +77,5 @@ "update-coc": "weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'", "update-contrib": "weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'" }, - "version": "1.1.6" + "version": "1.1.7" } diff --git a/deps/npm/node_modules/chownr/chownr.js b/deps/npm/node_modules/chownr/chownr.js index 9f04393b7f498a..0d409321696540 100644 --- a/deps/npm/node_modules/chownr/chownr.js +++ b/deps/npm/node_modules/chownr/chownr.js @@ -7,10 +7,30 @@ const LCHOWN = fs.lchown ? 'lchown' : 'chown' /* istanbul ignore next */ const LCHOWNSYNC = fs.lchownSync ? 'lchownSync' : 'chownSync' +/* istanbul ignore next */ const needEISDIRHandled = fs.lchown && !process.version.match(/v1[1-9]+\./) && !process.version.match(/v10\.[6-9]/) +const lchownSync = (path, uid, gid) => { + try { + return fs[LCHOWNSYNC](path, uid, gid) + } catch (er) { + if (er.code !== 'ENOENT') + throw er + } +} + +/* istanbul ignore next */ +const chownSync = (path, uid, gid) => { + try { + return fs.chownSync(path, uid, gid) + } catch (er) { + if (er.code !== 'ENOENT') + throw er + } +} + /* istanbul ignore next */ const handleEISDIR = needEISDIRHandled ? (path, uid, gid, cb) => er => { @@ -28,14 +48,14 @@ const handleEISDIR = const handleEISDirSync = needEISDIRHandled ? (path, uid, gid) => { try { - return fs[LCHOWNSYNC](path, uid, gid) + return lchownSync(path, uid, gid) } catch (er) { if (er.code !== 'EISDIR') throw er - fs.chownSync(path, uid, gid) + chownSync(path, uid, gid) } } - : (path, uid, gid) => fs[LCHOWNSYNC](path, uid, gid) + : (path, uid, gid) => lchownSync(path, uid, gid) // fs.readdir could only accept an options object as of node v6 const nodeVersion = process.version @@ -45,11 +65,19 @@ let readdirSync = (path, options) => fs.readdirSync(path, options) if (/^v4\./.test(nodeVersion)) readdir = (path, options, cb) => fs.readdir(path, cb) +const chown = (cpath, uid, gid, cb) => { + fs[LCHOWN](cpath, uid, gid, handleEISDIR(cpath, uid, gid, er => { + // Skip ENOENT error + cb(er && er.code !== 'ENOENT' ? er : null) + })) +} + const chownrKid = (p, child, uid, gid, cb) => { if (typeof child === 'string') return fs.lstat(path.resolve(p, child), (er, stats) => { + // Skip ENOENT error if (er) - return cb(er) + return cb(er.code !== 'ENOENT' ? er : null) stats.name = child chownrKid(p, stats, uid, gid, cb) }) @@ -59,11 +87,11 @@ const chownrKid = (p, child, uid, gid, cb) => { if (er) return cb(er) const cpath = path.resolve(p, child.name) - fs[LCHOWN](cpath, uid, gid, handleEISDIR(cpath, uid, gid, cb)) + chown(cpath, uid, gid, cb) }) } else { const cpath = path.resolve(p, child.name) - fs[LCHOWN](cpath, uid, gid, handleEISDIR(cpath, uid, gid, cb)) + chown(cpath, uid, gid, cb) } } @@ -72,10 +100,14 @@ const chownr = (p, uid, gid, cb) => { readdir(p, { withFileTypes: true }, (er, children) => { // any error other than ENOTDIR or ENOTSUP means it's not readable, // or doesn't exist. give up. - if (er && er.code !== 'ENOTDIR' && er.code !== 'ENOTSUP') - return cb(er) + if (er) { + if (er.code === 'ENOENT') + return cb() + else if (er.code !== 'ENOTDIR' && er.code !== 'ENOTSUP') + return cb(er) + } if (er || !children.length) - return fs[LCHOWN](p, uid, gid, handleEISDIR(p, uid, gid, cb)) + return chown(p, uid, gid, cb) let len = children.length let errState = null @@ -85,7 +117,7 @@ const chownr = (p, uid, gid, cb) => { if (er) return cb(errState = er) if (-- len === 0) - return fs[LCHOWN](p, uid, gid, handleEISDIR(p, uid, gid, cb)) + return chown(p, uid, gid, cb) } children.forEach(child => chownrKid(p, child, uid, gid, then)) @@ -94,9 +126,16 @@ const chownr = (p, uid, gid, cb) => { const chownrKidSync = (p, child, uid, gid) => { if (typeof child === 'string') { - const stats = fs.lstatSync(path.resolve(p, child)) - stats.name = child - child = stats + try { + const stats = fs.lstatSync(path.resolve(p, child)) + stats.name = child + child = stats + } catch (er) { + if (er.code === 'ENOENT') + return + else + throw er + } } if (child.isDirectory()) @@ -110,12 +149,15 @@ const chownrSync = (p, uid, gid) => { try { children = readdirSync(p, { withFileTypes: true }) } catch (er) { - if (er && er.code === 'ENOTDIR' && er.code !== 'ENOTSUP') + if (er.code === 'ENOENT') + return + else if (er.code === 'ENOTDIR' || er.code === 'ENOTSUP') return handleEISDirSync(p, uid, gid) - throw er + else + throw er } - if (children.length) + if (children && children.length) children.forEach(child => chownrKidSync(p, child, uid, gid)) return handleEISDirSync(p, uid, gid) diff --git a/deps/npm/node_modules/chownr/package.json b/deps/npm/node_modules/chownr/package.json index cc48dc912cd7ec..5c125f8447b546 100644 --- a/deps/npm/node_modules/chownr/package.json +++ b/deps/npm/node_modules/chownr/package.json @@ -1,19 +1,19 @@ { - "_from": "chownr@1.1.3", - "_id": "chownr@1.1.3", + "_from": "chownr@1.1.4", + "_id": "chownr@1.1.4", "_inBundle": false, - "_integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "_integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "_location": "/chownr", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "chownr@1.1.3", + "raw": "chownr@1.1.4", "name": "chownr", "escapedName": "chownr", - "rawSpec": "1.1.3", + "rawSpec": "1.1.4", "saveSpec": null, - "fetchSpec": "1.1.3" + "fetchSpec": "1.1.4" }, "_requiredBy": [ "#USER", @@ -23,10 +23,10 @@ "/pacote", "/tar" ], - "_resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "_shasum": "42d837d5239688d55f303003a508230fa6727142", - "_spec": "chownr@1.1.3", - "_where": "/Users/mperrotte/npminc/cli", + "_resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "_shasum": "6fc9d7b42d32a583596337666e7d08084da2cc6b", + "_spec": "chownr@1.1.4", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", @@ -40,8 +40,8 @@ "description": "like `chown -R`", "devDependencies": { "mkdirp": "0.3", - "rimraf": "", - "tap": "^12.0.1" + "rimraf": "^2.7.1", + "tap": "^14.10.6" }, "files": [ "chownr.js" @@ -55,10 +55,13 @@ "url": "git://github.com/isaacs/chownr.git" }, "scripts": { - "postpublish": "git push origin --follow-tags", "postversion": "npm publish", + "prepublishOnly": "git push origin --follow-tags", "preversion": "npm test", - "test": "tap test/*.js --cov" + "test": "tap" }, - "version": "1.1.3" + "tap": { + "check-coverage": true + }, + "version": "1.1.4" } diff --git a/deps/npm/node_modules/concat-stream/node_modules/readable-stream/CONTRIBUTING.md b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58dca85b2..00000000000000 --- a/deps/npm/node_modules/concat-stream/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/deps/npm/node_modules/deep-extend/CHANGELOG.md b/deps/npm/node_modules/deep-extend/CHANGELOG.md index 3932f8f024e5ea..dd13ec1311b2b6 100644 --- a/deps/npm/node_modules/deep-extend/CHANGELOG.md +++ b/deps/npm/node_modules/deep-extend/CHANGELOG.md @@ -1,6 +1,14 @@ Changelog ========= +v0.6.0 +------ + +- Updated "devDependencies" versions to fix vulnerability alerts +- Dropped support of io.js and node.js v0.12.x and lower since new versions of + "devDependencies" couldn't work with those old node.js versions + (minimal supported version of node.js now is v4.0.0) + v0.5.1 ------ diff --git a/deps/npm/node_modules/deep-extend/README.md b/deps/npm/node_modules/deep-extend/README.md index cf84f70dedcbe0..67c7fc085903bc 100644 --- a/deps/npm/node_modules/deep-extend/README.md +++ b/deps/npm/node_modules/deep-extend/README.md @@ -7,8 +7,6 @@ Recursive object extending. [![NPM](https://nodei.co/npm/deep-extend.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/deep-extend/) -[![NPM](https://nodei.co/npm-dl/deep-extend.png?height=3)](https://nodei.co/npm/deep-extend/) - Install ------- diff --git a/deps/npm/node_modules/deep-extend/package.json b/deps/npm/node_modules/deep-extend/package.json index 3aaa6742ff9e2b..15386bcffeaafd 100644 --- a/deps/npm/node_modules/deep-extend/package.json +++ b/deps/npm/node_modules/deep-extend/package.json @@ -1,27 +1,27 @@ { - "_from": "deep-extend@^0.5.1", - "_id": "deep-extend@0.5.1", + "_from": "deep-extend@^0.6.0", + "_id": "deep-extend@0.6.0", "_inBundle": false, - "_integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", + "_integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "_location": "/deep-extend", "_phantomChildren": {}, "_requested": { "type": "range", "registry": true, - "raw": "deep-extend@^0.5.1", + "raw": "deep-extend@^0.6.0", "name": "deep-extend", "escapedName": "deep-extend", - "rawSpec": "^0.5.1", + "rawSpec": "^0.6.0", "saveSpec": null, - "fetchSpec": "^0.5.1" + "fetchSpec": "^0.6.0" }, "_requiredBy": [ "/rc" ], - "_resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", - "_shasum": "b894a9dd90d3023fbf1c55a394fb858eb2066f1f", - "_spec": "deep-extend@^0.5.1", - "_where": "/Users/rebecca/code/npm/node_modules/rc", + "_resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "_shasum": "c4fa7c95404a17a9c3e8ca7e1537312b736330ac", + "_spec": "deep-extend@^0.6.0", + "_where": "/Users/ruyadorno/Documents/workspace/cli/node_modules/rc", "author": { "name": "Viacheslav Lotsmanov", "email": "lotsmanov89@gmail.com" @@ -51,12 +51,11 @@ "deprecated": false, "description": "Recursive object extending", "devDependencies": { - "mocha": "2.2.1", - "should": "5.2.0" + "mocha": "5.2.0", + "should": "13.2.1" }, "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">=4.0.0" }, "files": [ "index.js", @@ -89,5 +88,5 @@ "scripts": { "test": "mocha" }, - "version": "0.5.1" + "version": "0.6.0" } diff --git a/deps/npm/node_modules/duplexify/node_modules/readable-stream/CONTRIBUTING.md b/deps/npm/node_modules/duplexify/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58dca85b2..00000000000000 --- a/deps/npm/node_modules/duplexify/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/deps/npm/node_modules/env-paths/index.d.ts b/deps/npm/node_modules/env-paths/index.d.ts new file mode 100644 index 00000000000000..e57fa8f661f1ff --- /dev/null +++ b/deps/npm/node_modules/env-paths/index.d.ts @@ -0,0 +1,69 @@ +declare namespace envPaths { + export interface Options { + /** + __Don't use this option unless you really have to!__ + + Suffix appended to the project name to avoid name conflicts with native apps. Pass an empty string to disable it. + + @default 'nodejs' + */ + readonly suffix?: string; + } + + export interface Paths { + /** + Directory for data files. + */ + readonly data: string; + + /** + Directory for data files. + */ + readonly config: string; + + /** + Directory for non-essential data files. + */ + readonly cache: string; + + /** + Directory for log files. + */ + readonly log: string; + + /** + Directory for temporary files. + */ + readonly temp: string; + } +} + +declare const envPaths: { + /** + Get paths for storing things like data, config, cache, etc. + + @param name - Name of your project. Used to generate the paths. + @returns The paths to use for your project on current OS. + + @example + ``` + import envPaths = require('env-paths'); + + const paths = envPaths('MyApp'); + + paths.data; + //=> '/home/sindresorhus/.local/share/MyApp-nodejs' + + paths.config + //=> '/home/sindresorhus/.config/MyApp-nodejs' + ``` + */ + (name: string, options?: envPaths.Options): envPaths.Paths; + + // TODO: Remove this for the next major release, refactor the whole definition to: + // declare function envPaths(name: string, options?: envPaths.Options): envPaths.Paths; + // export = envPaths; + default: typeof envPaths; +}; + +export = envPaths; diff --git a/deps/npm/node_modules/env-paths/index.js b/deps/npm/node_modules/env-paths/index.js index 4a04b712ff8a67..7e7b50baa4416f 100644 --- a/deps/npm/node_modules/env-paths/index.js +++ b/deps/npm/node_modules/env-paths/index.js @@ -4,7 +4,7 @@ const os = require('os'); const homedir = os.homedir(); const tmpdir = os.tmpdir(); -const env = process.env; +const {env} = process; const macos = name => { const library = path.join(homedir, 'Library'); @@ -19,14 +19,15 @@ const macos = name => { }; const windows = name => { - const appData = env.LOCALAPPDATA || path.join(homedir, 'AppData', 'Local'); + const appData = env.APPDATA || path.join(homedir, 'AppData', 'Roaming'); + const localAppData = env.LOCALAPPDATA || path.join(homedir, 'AppData', 'Local'); return { - // data/config/cache/log are invented by me as Windows isn't opinionated about this - data: path.join(appData, name, 'Data'), + // Data/config/cache/log are invented by me as Windows isn't opinionated about this + data: path.join(localAppData, name, 'Data'), config: path.join(appData, name, 'Config'), - cache: path.join(appData, name, 'Cache'), - log: path.join(appData, name, 'Log'), + cache: path.join(localAppData, name, 'Cache'), + log: path.join(localAppData, name, 'Log'), temp: path.join(tmpdir, name) }; }; @@ -45,16 +46,16 @@ const linux = name => { }; }; -module.exports = (name, opts) => { +const envPaths = (name, options) => { if (typeof name !== 'string') { throw new TypeError(`Expected string, got ${typeof name}`); } - opts = Object.assign({suffix: 'nodejs'}, opts); + options = Object.assign({suffix: 'nodejs'}, options); - if (opts.suffix) { - // add suffix to prevent possible conflict with native apps - name += `-${opts.suffix}`; + if (options.suffix) { + // Add suffix to prevent possible conflict with native apps + name += `-${options.suffix}`; } if (process.platform === 'darwin') { @@ -67,3 +68,7 @@ module.exports = (name, opts) => { return linux(name); }; + +module.exports = envPaths; +// TODO: Remove this for the next major release +module.exports.default = envPaths; diff --git a/deps/npm/node_modules/env-paths/license b/deps/npm/node_modules/env-paths/license index 654d0bfe943437..e7af2f77107d73 100644 --- a/deps/npm/node_modules/env-paths/license +++ b/deps/npm/node_modules/env-paths/license @@ -1,21 +1,9 @@ -The MIT License (MIT) +MIT License Copyright (c) Sindre Sorhus (sindresorhus.com) -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: +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 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. +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. diff --git a/deps/npm/node_modules/env-paths/package.json b/deps/npm/node_modules/env-paths/package.json index 3b1dfb74d8041a..6af6711479dff7 100644 --- a/deps/npm/node_modules/env-paths/package.json +++ b/deps/npm/node_modules/env-paths/package.json @@ -1,27 +1,27 @@ { - "_from": "env-paths@^1.0.0", - "_id": "env-paths@1.0.0", + "_from": "env-paths@^2.2.0", + "_id": "env-paths@2.2.0", "_inBundle": false, - "_integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=", + "_integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", "_location": "/env-paths", "_phantomChildren": {}, "_requested": { "type": "range", "registry": true, - "raw": "env-paths@^1.0.0", + "raw": "env-paths@^2.2.0", "name": "env-paths", "escapedName": "env-paths", - "rawSpec": "^1.0.0", + "rawSpec": "^2.2.0", "saveSpec": null, - "fetchSpec": "^1.0.0" + "fetchSpec": "^2.2.0" }, "_requiredBy": [ "/node-gyp" ], - "_resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz", - "_shasum": "4168133b42bb05c38a35b1ae4397c8298ab369e0", - "_spec": "env-paths@^1.0.0", - "_where": "/Users/isaacs/dev/npm/cli/node_modules/node-gyp", + "_resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", + "_shasum": "cdca557dc009152917d6166e2febe1f039685e43", + "_spec": "env-paths@^2.2.0", + "_where": "/Users/mperrotte/npminc/cli/node_modules/node-gyp", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", @@ -34,14 +34,16 @@ "deprecated": false, "description": "Get paths for storing things like data, config, cache, etc", "devDependencies": { - "ava": "*", - "xo": "*" + "ava": "^1.4.1", + "tsd": "^0.7.1", + "xo": "^0.24.0" }, "engines": { - "node": ">=4" + "node": ">=6" }, "files": [ - "index.js" + "index.js", + "index.d.ts" ], "homepage": "https://github.com/sindresorhus/env-paths#readme", "keywords": [ @@ -69,10 +71,7 @@ "url": "git+https://github.com/sindresorhus/env-paths.git" }, "scripts": { - "test": "xo && ava" + "test": "xo && ava && tsd" }, - "version": "1.0.0", - "xo": { - "esnext": true - } + "version": "2.2.0" } diff --git a/deps/npm/node_modules/env-paths/readme.md b/deps/npm/node_modules/env-paths/readme.md index 0bdc2ac1439b70..ec3439316f9a1b 100644 --- a/deps/npm/node_modules/env-paths/readme.md +++ b/deps/npm/node_modules/env-paths/readme.md @@ -2,11 +2,13 @@ > Get paths for storing things like data, config, cache, etc +Uses the correct OS-specific paths. Most developers get this wrong. + ## Install ``` -$ npm install --save env-paths +$ npm install env-paths ``` @@ -14,6 +16,7 @@ $ npm install --save env-paths ```js const envPaths = require('env-paths'); + const paths = envPaths('MyApp'); paths.data; @@ -36,6 +39,8 @@ Name of your project. Used to generate the paths. #### options +Type: `Object` + ##### suffix Type: `string`
    diff --git a/deps/npm/node_modules/flush-write-stream/node_modules/readable-stream/CONTRIBUTING.md b/deps/npm/node_modules/flush-write-stream/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58dca85b2..00000000000000 --- a/deps/npm/node_modules/flush-write-stream/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/deps/npm/node_modules/from2/node_modules/readable-stream/CONTRIBUTING.md b/deps/npm/node_modules/from2/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58dca85b2..00000000000000 --- a/deps/npm/node_modules/from2/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/deps/npm/node_modules/fs-write-stream-atomic/node_modules/readable-stream/CONTRIBUTING.md b/deps/npm/node_modules/fs-write-stream-atomic/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58dca85b2..00000000000000 --- a/deps/npm/node_modules/fs-write-stream-atomic/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/deps/npm/node_modules/get-caller-file/LICENSE.md b/deps/npm/node_modules/get-caller-file/LICENSE.md new file mode 100644 index 00000000000000..bf3e1c071bae44 --- /dev/null +++ b/deps/npm/node_modules/get-caller-file/LICENSE.md @@ -0,0 +1,6 @@ +ISC License (ISC) +Copyright 2018 Stefan Penner + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/get-caller-file/README.md b/deps/npm/node_modules/get-caller-file/README.md index c32df54c391352..194492736bc4fe 100644 --- a/deps/npm/node_modules/get-caller-file/README.md +++ b/deps/npm/node_modules/get-caller-file/README.md @@ -1,4 +1,4 @@ # get-caller-file -[![Build Status](https://travis-ci.org/ember-cli/ember-cli.svg?branch=master)](https://travis-ci.org/ember-cli/ember-cli) +[![Build Status](https://travis-ci.org/stefanpenner/get-caller-file.svg?branch=master)](https://travis-ci.org/stefanpenner/get-caller-file) [![Build status](https://ci.appveyor.com/api/projects/status/ol2q94g1932cy14a/branch/master?svg=true)](https://ci.appveyor.com/project/embercli/get-caller-file/branch/master) diff --git a/deps/npm/node_modules/get-caller-file/package.json b/deps/npm/node_modules/get-caller-file/package.json index d5c90d52fca1e5..e853deec1b0563 100644 --- a/deps/npm/node_modules/get-caller-file/package.json +++ b/deps/npm/node_modules/get-caller-file/package.json @@ -1,8 +1,8 @@ { "_from": "get-caller-file@^1.0.1", - "_id": "get-caller-file@1.0.2", + "_id": "get-caller-file@1.0.3", "_inBundle": false, - "_integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "_integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "_location": "/get-caller-file", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/yargs" ], - "_resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "_shasum": "f702e63127e7e231c160a80c1554acb70d5047e5", + "_resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "_shasum": "f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a", "_spec": "get-caller-file@^1.0.1", - "_where": "/Users/rebecca/code/npm/node_modules/yargs", + "_where": "/Users/mperrotte/npminc/cli/node_modules/yargs", "author": { "name": "Stefan Penner" }, @@ -30,11 +30,11 @@ }, "bundleDependencies": false, "deprecated": false, - "description": "[![Build Status](https://travis-ci.org/ember-cli/ember-cli.svg?branch=master)](https://travis-ci.org/ember-cli/ember-cli) [![Build status](https://ci.appveyor.com/api/projects/status/ol2q94g1932cy14a/branch/master?svg=true)](https://ci.appveyor.com/project/embercli/get-caller-file/branch/master)", + "description": "[![Build Status](https://travis-ci.org/stefanpenner/get-caller-file.svg?branch=master)](https://travis-ci.org/stefanpenner/get-caller-file) [![Build status](https://ci.appveyor.com/api/projects/status/ol2q94g1932cy14a/branch/master?svg=true)](https://ci.appveyor.com/project/embercli/get-caller-file/branch/master)", "devDependencies": { - "chai": "^3.4.1", + "chai": "^4.1.2", "ensure-posix-path": "^1.0.1", - "mocha": "^2.3.4" + "mocha": "^5.2.0" }, "directories": { "test": "tests" @@ -54,5 +54,5 @@ "test": "mocha test", "test:debug": "mocha test" }, - "version": "1.0.2" + "version": "1.0.3" } diff --git a/deps/npm/node_modules/glob/README.md b/deps/npm/node_modules/glob/README.md index e71b967ea28809..0916a48255cd6f 100644 --- a/deps/npm/node_modules/glob/README.md +++ b/deps/npm/node_modules/glob/README.md @@ -371,3 +371,5 @@ npm run bench # to profile javascript npm run prof ``` + +![](oh-my-glob.gif) diff --git a/deps/npm/node_modules/glob/package.json b/deps/npm/node_modules/glob/package.json index 788801e299e45f..0e1fa5805bccbc 100644 --- a/deps/npm/node_modules/glob/package.json +++ b/deps/npm/node_modules/glob/package.json @@ -1,23 +1,24 @@ { - "_from": "glob@7.1.4", - "_id": "glob@7.1.4", + "_from": "glob@7.1.6", + "_id": "glob@7.1.6", "_inBundle": false, - "_integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "_integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "_location": "/glob", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "glob@7.1.4", + "raw": "glob@7.1.6", "name": "glob", "escapedName": "glob", - "rawSpec": "7.1.4", + "rawSpec": "7.1.6", "saveSpec": null, - "fetchSpec": "7.1.4" + "fetchSpec": "7.1.6" }, "_requiredBy": [ "#USER", "/", + "/cacache", "/deglob", "/eslint", "/init-package-json", @@ -30,10 +31,10 @@ "/tap-mocha-reporter", "/test-exclude" ], - "_resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "_shasum": "aa608a2f6c577ad357e1ae5a5c26d9a8d1969255", - "_spec": "glob@7.1.4", - "_where": "/Users/isaacs/dev/npm/cli", + "_resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "_shasum": "141f33b81a7c2492e125594307480c46679278a6", + "_spec": "glob@7.1.6", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", @@ -67,6 +68,9 @@ "sync.js", "common.js" ], + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, "homepage": "https://github.com/isaacs/node-glob#readme", "license": "ISC", "main": "glob.js", @@ -84,5 +88,5 @@ "test": "tap test/*.js --cov", "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js" }, - "version": "7.1.4" + "version": "7.1.6" } diff --git a/deps/npm/node_modules/hosted-git-info/CHANGELOG.md b/deps/npm/node_modules/hosted-git-info/CHANGELOG.md index 479f24b6414eb7..4f86601e029e95 100644 --- a/deps/npm/node_modules/hosted-git-info/CHANGELOG.md +++ b/deps/npm/node_modules/hosted-git-info/CHANGELOG.md @@ -2,6 +2,32 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [2.8.8](https://github.com/npm/hosted-git-info/compare/v2.8.7...v2.8.8) (2020-02-29) + + +### Bug Fixes + +* [#61](https://github.com/npm/hosted-git-info/issues/61) & [#65](https://github.com/npm/hosted-git-info/issues/65) addressing issues w/ url.URL implmentation which regressed node 6 support ([5038b18](https://github.com/npm/hosted-git-info/commit/5038b18)), closes [#66](https://github.com/npm/hosted-git-info/issues/66) + + + + +## [2.8.7](https://github.com/npm/hosted-git-info/compare/v2.8.6...v2.8.7) (2020-02-26) + + +### Bug Fixes + +* Do not attempt to use url.URL when unavailable ([2d0bb66](https://github.com/npm/hosted-git-info/commit/2d0bb66)), closes [#61](https://github.com/npm/hosted-git-info/issues/61) [#62](https://github.com/npm/hosted-git-info/issues/62) +* Do not pass scp-style URLs to the WhatWG url.URL ([f2cdfcf](https://github.com/npm/hosted-git-info/commit/f2cdfcf)), closes [#60](https://github.com/npm/hosted-git-info/issues/60) + + + + +## [2.8.6](https://github.com/npm/hosted-git-info/compare/v2.8.5...v2.8.6) (2020-02-25) + + + ## [2.8.5](https://github.com/npm/hosted-git-info/compare/v2.8.4...v2.8.5) (2019-10-07) diff --git a/deps/npm/node_modules/hosted-git-info/index.js b/deps/npm/node_modules/hosted-git-info/index.js index fc959cb0434c82..21e53fe3724be1 100644 --- a/deps/npm/node_modules/hosted-git-info/index.js +++ b/deps/npm/node_modules/hosted-git-info/index.js @@ -47,7 +47,7 @@ function fromUrl (giturl, opts) { var gitHostInfo = gitHosts[gitHostName] var auth = null if (parsed.auth && authProtocols[parsed.protocol]) { - auth = decodeURIComponent(parsed.auth) + auth = parsed.auth } var committish = parsed.hash ? decodeURIComponent(parsed.hash.substr(1)) : null var user = null @@ -106,7 +106,30 @@ function fixupUnqualifiedGist (giturl) { function parseGitUrl (giturl) { var matched = giturl.match(/^([^@]+)@([^:/]+):[/]?((?:[^/]+[/])?[^/]+?)(?:[.]git)?(#.*)?$/) - if (!matched) return url.parse(giturl) + if (!matched) { + var legacy = url.parse(giturl) + // If we don't have url.URL, then sorry, this is just not fixable. + // This affects Node <= 6.12. + if (legacy.auth && typeof url.URL === 'function') { + // git urls can be in the form of scp-style/ssh-connect strings, like + // git+ssh://user@host.com:some/path, which the legacy url parser + // supports, but WhatWG url.URL class does not. However, the legacy + // parser de-urlencodes the username and password, so something like + // https://user%3An%40me:p%40ss%3Aword@x.com/ becomes + // https://user:n@me:p@ss:word@x.com/ which is all kinds of wrong. + // Pull off just the auth and host, so we dont' get the confusing + // scp-style URL, then pass that to the WhatWG parser to get the + // auth properly escaped. + var authmatch = giturl.match(/[^@]+@[^:/]+/) + /* istanbul ignore else - this should be impossible */ + if (authmatch) { + var whatwg = new url.URL(authmatch[0]) + legacy.auth = whatwg.username || '' + if (whatwg.password) legacy.auth += ':' + whatwg.password + } + } + return legacy + } return { protocol: 'git+ssh:', slashes: true, diff --git a/deps/npm/node_modules/hosted-git-info/package.json b/deps/npm/node_modules/hosted-git-info/package.json index 458b323a405189..8d9c2b2046c742 100644 --- a/deps/npm/node_modules/hosted-git-info/package.json +++ b/deps/npm/node_modules/hosted-git-info/package.json @@ -1,19 +1,19 @@ { - "_from": "hosted-git-info@2.8.5", - "_id": "hosted-git-info@2.8.5", + "_from": "hosted-git-info@2.8.8", + "_id": "hosted-git-info@2.8.8", "_inBundle": false, - "_integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "_integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "_location": "/hosted-git-info", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "hosted-git-info@2.8.5", + "raw": "hosted-git-info@2.8.8", "name": "hosted-git-info", "escapedName": "hosted-git-info", - "rawSpec": "2.8.5", + "rawSpec": "2.8.8", "saveSpec": null, - "fetchSpec": "2.8.5" + "fetchSpec": "2.8.8" }, "_requiredBy": [ "#USER", @@ -21,10 +21,10 @@ "/normalize-package-data", "/npm-package-arg" ], - "_resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", - "_shasum": "759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c", - "_spec": "hosted-git-info@2.8.5", - "_where": "/Users/isaacs/dev/npm/cli", + "_resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "_shasum": "7539bd4bc1e0e0a895815a2e0262420b12858488", + "_spec": "hosted-git-info@2.8.8", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli", "author": { "name": "Rebecca Turner", "email": "me@re-becca.org", @@ -62,11 +62,11 @@ }, "scripts": { "postrelease": "npm publish --tag=ancient-legacy-fixes && git push --follow-tags", + "posttest": "standard", "prerelease": "npm t", - "pretest": "standard", "release": "standard-version -s", - "test": "tap -J --100 --no-esm test/*.js", - "test:coverage": "tap --coverage-report=html -J --100 --no-esm test/*.js" + "test": "tap -J --coverage=90 --no-esm test/*.js", + "test:coverage": "tap --coverage-report=html -J --coverage=90 --no-esm test/*.js" }, - "version": "2.8.5" + "version": "2.8.8" } diff --git a/deps/npm/node_modules/invert-kv/index.js b/deps/npm/node_modules/invert-kv/index.js index 61e21961128f71..27f9cbb8eaf281 100644 --- a/deps/npm/node_modules/invert-kv/index.js +++ b/deps/npm/node_modules/invert-kv/index.js @@ -1,14 +1,14 @@ 'use strict'; -module.exports = function (obj) { - if (typeof obj !== 'object') { +module.exports = object => { + if (typeof object !== 'object') { throw new TypeError('Expected an object'); } - var ret = {}; + const ret = {}; - for (var key in obj) { - var val = obj[key]; - ret[val] = key; + for (const key of Object.keys(object)) { + const value = object[key]; + ret[value] = key; } return ret; diff --git a/deps/npm/node_modules/mimic-fn/license b/deps/npm/node_modules/invert-kv/license similarity index 100% rename from deps/npm/node_modules/mimic-fn/license rename to deps/npm/node_modules/invert-kv/license diff --git a/deps/npm/node_modules/invert-kv/package.json b/deps/npm/node_modules/invert-kv/package.json index c38e09e5d91bac..beb77fa37f6fa7 100644 --- a/deps/npm/node_modules/invert-kv/package.json +++ b/deps/npm/node_modules/invert-kv/package.json @@ -1,43 +1,44 @@ { - "_from": "invert-kv@^1.0.0", - "_id": "invert-kv@1.0.0", + "_from": "invert-kv@^2.0.0", + "_id": "invert-kv@2.0.0", "_inBundle": false, - "_integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "_integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", "_location": "/invert-kv", "_phantomChildren": {}, "_requested": { "type": "range", "registry": true, - "raw": "invert-kv@^1.0.0", + "raw": "invert-kv@^2.0.0", "name": "invert-kv", "escapedName": "invert-kv", - "rawSpec": "^1.0.0", + "rawSpec": "^2.0.0", "saveSpec": null, - "fetchSpec": "^1.0.0" + "fetchSpec": "^2.0.0" }, "_requiredBy": [ "/lcid" ], - "_resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "_shasum": "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6", - "_spec": "invert-kv@^1.0.0", - "_where": "/Users/rebecca/code/npm/node_modules/lcid", + "_resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "_shasum": "7393f5afa59ec9ff5f67a27620d11c226e3eec02", + "_spec": "invert-kv@^2.0.0", + "_where": "/Users/mperrotte/npminc/cli/node_modules/lcid", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" + "url": "sindresorhus.com" }, "bugs": { "url": "https://github.com/sindresorhus/invert-kv/issues" }, "bundleDependencies": false, "deprecated": false, - "description": "Invert the key/value of an object. Example: {foo: 'bar'} → {bar: 'foo'}", + "description": "Invert the key/value of an object. Example: `{foo: 'bar'}` → `{bar: 'foo'}`", "devDependencies": { - "mocha": "*" + "ava": "*", + "xo": "*" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" }, "files": [ "index.js" @@ -45,10 +46,8 @@ "homepage": "https://github.com/sindresorhus/invert-kv#readme", "keywords": [ "object", - "obj", "key", "value", - "val", "kv", "invert" ], @@ -59,7 +58,7 @@ "url": "git+https://github.com/sindresorhus/invert-kv.git" }, "scripts": { - "test": "mocha" + "test": "xo && ava" }, - "version": "1.0.0" + "version": "2.0.0" } diff --git a/deps/npm/node_modules/invert-kv/readme.md b/deps/npm/node_modules/invert-kv/readme.md index 039fc7cfa25b01..365a97997cac3f 100644 --- a/deps/npm/node_modules/invert-kv/readme.md +++ b/deps/npm/node_modules/invert-kv/readme.md @@ -5,15 +5,15 @@ ## Install -```sh -$ npm install --save invert-kv +``` +$ npm install invert-kv ``` ## Usage ```js -var invertKv = require('invert-kv'); +const invertKv = require('invert-kv'); invertKv({foo: 'bar', unicorn: 'rainbow'}); //=> {bar: 'foo', rainbow: 'unicorn'} @@ -22,4 +22,4 @@ invertKv({foo: 'bar', unicorn: 'rainbow'}); ## License -MIT © [Sindre Sorhus](http://sindresorhus.com) +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/deps/npm/node_modules/is-ci/.travis.yml b/deps/npm/node_modules/is-ci/.travis.yml deleted file mode 100644 index 21f721050948b7..00000000000000 --- a/deps/npm/node_modules/is-ci/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: node_js -node_js: -- '6' -- '5' -- '4' -- '0.12' -- '0.10' diff --git a/deps/npm/node_modules/is-ci/README.md b/deps/npm/node_modules/is-ci/README.md index 0e49db91bbe4ca..bc3840a220cfbd 100644 --- a/deps/npm/node_modules/is-ci/README.md +++ b/deps/npm/node_modules/is-ci/README.md @@ -6,12 +6,13 @@ server. Please [open an issue](https://github.com/watson/is-ci/issues) if your CI server isn't properly detected :) +[![npm](https://img.shields.io/npm/v/is-ci.svg)](https://www.npmjs.com/package/is-ci) [![Build status](https://travis-ci.org/watson/is-ci.svg?branch=master)](https://travis-ci.org/watson/is-ci) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](https://github.com/feross/standard) ## Installation -``` +```bash npm install is-ci --save ``` @@ -36,34 +37,14 @@ There's a few ways to do that: - Or provide the full path to the executable, e.g. `./node_modules/.bin/is-ci` -``` +```bash is-ci && echo "This is a CI server" ``` ## Supported CI tools -Officially supported CI servers: - -- [Travis CI](http://travis-ci.org) -- [CircleCI](http://circleci.com) -- [Jenkins CI](https://jenkins-ci.org) -- [Hudson](http://hudson-ci.org) -- [Bamboo](https://www.atlassian.com/software/bamboo) -- [TeamCity](https://www.jetbrains.com/teamcity/) -- [Team Foundation Server](https://www.visualstudio.com/en-us/products/tfs-overview-vs.aspx) -- [GitLab CI](https://about.gitlab.com/gitlab-ci/) -- [Codeship](https://codeship.com) -- [Drone.io](https://drone.io) -- [Magnum CI](https://magnum-ci.com) -- [Semaphore](https://semaphoreci.com) -- [AppVeyor](http://www.appveyor.com) -- [Buildkite](https://buildkite.com) -- [TaskCluster](http://docs.taskcluster.net) -- [GoCD](https://www.go.cd/) -- [Bitbucket Pipelines](https://bitbucket.org/product/features/pipelines) - -Other CI tools using environment variables like `BUILD_ID` or `CI` would be detected as well. +Refer to [ci-info](https://github.com/watson/ci-info#supported-ci-tools) docs for all supported CI's ## License -MIT +[MIT](LICENSE) diff --git a/deps/npm/node_modules/is-ci/package.json b/deps/npm/node_modules/is-ci/package.json index e87ba5d7fd903c..344aa2a1f59525 100644 --- a/deps/npm/node_modules/is-ci/package.json +++ b/deps/npm/node_modules/is-ci/package.json @@ -1,8 +1,8 @@ { "_from": "is-ci@^1.0.10", - "_id": "is-ci@1.1.0", + "_id": "is-ci@1.2.1", "_inBundle": false, - "_integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", + "_integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "_location": "/is-ci", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/update-notifier" ], - "_resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", - "_shasum": "247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5", + "_resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "_shasum": "e3779c8ee17fccf428488f6e281187f2e632841c", "_spec": "is-ci@^1.0.10", - "_where": "/Users/rebecca/code/npm/node_modules/update-notifier", + "_where": "/Users/ruyadorno/Documents/workspace/cli/node_modules/update-notifier", "author": { "name": "Thomas Watson Steen", "email": "w@tson.dk", @@ -35,17 +35,17 @@ }, "bundleDependencies": false, "coordinates": [ - 56.0093252, - 11.9592058 + 55.778255, + 12.593033 ], "dependencies": { - "ci-info": "^1.0.0" + "ci-info": "^1.5.0" }, "deprecated": false, - "description": "Detect if your code is running on a CI server", + "description": "Detect if the current environment is a CI server", "devDependencies": { "clear-require": "^1.0.1", - "standard": "^10.0.3" + "standard": "^11.0.1" }, "homepage": "https://github.com/watson/is-ci", "keywords": [ @@ -65,5 +65,5 @@ "scripts": { "test": "standard && node test.js" }, - "version": "1.1.0" + "version": "1.2.1" } diff --git a/deps/npm/node_modules/is-ci/test.js b/deps/npm/node_modules/is-ci/test.js deleted file mode 100644 index a9938bbdb8ecfc..00000000000000 --- a/deps/npm/node_modules/is-ci/test.js +++ /dev/null @@ -1,19 +0,0 @@ -'use strict' - -var assert = require('assert') -var clearRequire = require('clear-require') - -process.env.CI = 'true' - -var isCI = require('./') -assert(isCI) - -delete process.env.CI -delete process.env.CONTINUOUS_INTEGRATION -delete process.env.BUILD_NUMBER -delete process.env.TRAVIS - -clearRequire('./') -clearRequire('ci-info') -isCI = require('./') -assert(!isCI) diff --git a/deps/npm/node_modules/is-retry-allowed/index.js b/deps/npm/node_modules/is-retry-allowed/index.js index 663ee338fce94c..3bab6c16b26b9b 100644 --- a/deps/npm/node_modules/is-retry-allowed/index.js +++ b/deps/npm/node_modules/is-retry-allowed/index.js @@ -6,7 +6,9 @@ var WHITELIST = [ 'EADDRINUSE', 'ESOCKETTIMEDOUT', 'ECONNREFUSED', - 'EPIPE' + 'EPIPE', + 'EHOSTUNREACH', + 'EAI_AGAIN' ]; var BLACKLIST = [ diff --git a/deps/npm/node_modules/is-retry-allowed/package.json b/deps/npm/node_modules/is-retry-allowed/package.json index e494bb3f7841af..7bae1606a740c7 100644 --- a/deps/npm/node_modules/is-retry-allowed/package.json +++ b/deps/npm/node_modules/is-retry-allowed/package.json @@ -1,8 +1,8 @@ { "_from": "is-retry-allowed@^1.0.0", - "_id": "is-retry-allowed@1.1.0", + "_id": "is-retry-allowed@1.2.0", "_inBundle": false, - "_integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "_integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", "_location": "/is-retry-allowed", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/got" ], - "_resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "_shasum": "11a060568b67339444033d0125a61a20d564fb34", + "_resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "_shasum": "d778488bd0a4666a3be8a1482b9f2baafedea8b4", "_spec": "is-retry-allowed@^1.0.0", - "_where": "/Users/rebecca/code/npm/node_modules/got", + "_where": "/Users/ruyadorno/Documents/workspace/cli/node_modules/got", "author": { "name": "Vsevolod Strukchinsky", "email": "floatdrop@gmail.com", @@ -33,7 +33,7 @@ "bundleDependencies": false, "dependencies": {}, "deprecated": false, - "description": "My prime module", + "description": "Is retry allowed for Error?", "devDependencies": { "ava": "^0.8.0", "xo": "^0.12.1" @@ -55,5 +55,5 @@ "scripts": { "test": "xo && ava" }, - "version": "1.1.0" + "version": "1.2.0" } diff --git a/deps/npm/node_modules/jsprim/CONTRIBUTING.md b/deps/npm/node_modules/jsprim/CONTRIBUTING.md deleted file mode 100644 index 750cef8dfd54a6..00000000000000 --- a/deps/npm/node_modules/jsprim/CONTRIBUTING.md +++ /dev/null @@ -1,19 +0,0 @@ -# Contributing - -This repository uses [cr.joyent.us](https://cr.joyent.us) (Gerrit) for new -changes. Anyone can submit changes. To get started, see the [cr.joyent.us user -guide](https://github.com/joyent/joyent-gerrit/blob/master/docs/user/README.md). -This repo does not use GitHub pull requests. - -See the [Joyent Engineering -Guidelines](https://github.com/joyent/eng/blob/master/docs/index.md) for general -best practices expected in this repository. - -Contributions should be "make prepush" clean. The "prepush" target runs the -"check" target, which requires these separate tools: - -* https://github.com/davepacheco/jsstyle -* https://github.com/davepacheco/javascriptlint - -If you're changing something non-trivial or user-facing, you may want to submit -an issue first. diff --git a/deps/npm/node_modules/lcid/index.js b/deps/npm/node_modules/lcid/index.js index 69bd3d231e0594..b666ef00a4504c 100644 --- a/deps/npm/node_modules/lcid/index.js +++ b/deps/npm/node_modules/lcid/index.js @@ -1,9 +1,10 @@ 'use strict'; -var invertKv = require('invert-kv'); -var all = require('./lcid.json'); -var inverted = invertKv(all); +const invertKv = require('invert-kv'); +const all = require('./lcid.json'); -exports.from = function (lcidCode) { +const inverted = invertKv(all); + +exports.from = lcidCode => { if (typeof lcidCode !== 'number') { throw new TypeError('Expected a number'); } @@ -11,7 +12,7 @@ exports.from = function (lcidCode) { return inverted[lcidCode]; }; -exports.to = function (localeId) { +exports.to = localeId => { if (typeof localeId !== 'string') { throw new TypeError('Expected a string'); } diff --git a/deps/npm/node_modules/lcid/license b/deps/npm/node_modules/lcid/license index 654d0bfe943437..e7af2f77107d73 100644 --- a/deps/npm/node_modules/lcid/license +++ b/deps/npm/node_modules/lcid/license @@ -1,21 +1,9 @@ -The MIT License (MIT) +MIT License Copyright (c) Sindre Sorhus (sindresorhus.com) -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: +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 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. +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. diff --git a/deps/npm/node_modules/lcid/package.json b/deps/npm/node_modules/lcid/package.json index 6ab09a0881309b..3de023722441e6 100644 --- a/deps/npm/node_modules/lcid/package.json +++ b/deps/npm/node_modules/lcid/package.json @@ -1,28 +1,27 @@ { - "_from": "lcid@^1.0.0", - "_id": "lcid@1.0.0", + "_from": "lcid@^2.0.0", + "_id": "lcid@2.0.0", "_inBundle": false, - "_integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "_integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", "_location": "/lcid", "_phantomChildren": {}, "_requested": { "type": "range", "registry": true, - "raw": "lcid@^1.0.0", + "raw": "lcid@^2.0.0", "name": "lcid", "escapedName": "lcid", - "rawSpec": "^1.0.0", + "rawSpec": "^2.0.0", "saveSpec": null, - "fetchSpec": "^1.0.0" + "fetchSpec": "^2.0.0" }, "_requiredBy": [ - "/os-locale", - "/tacks/os-locale" + "/os-locale" ], - "_resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "_shasum": "308accafa0bc483a3867b4b6f2b9506251d1b835", - "_spec": "lcid@^1.0.0", - "_where": "/Users/rebecca/code/npm/node_modules/os-locale", + "_resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "_shasum": "6ef5d2df60e52f82eb228a4c373e8d1f397253cf", + "_spec": "lcid@^2.0.0", + "_where": "/Users/mperrotte/npminc/cli/node_modules/os-locale", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", @@ -33,15 +32,16 @@ }, "bundleDependencies": false, "dependencies": { - "invert-kv": "^1.0.0" + "invert-kv": "^2.0.0" }, "deprecated": false, "description": "Mapping between standard locale identifiers and Windows locale identifiers (LCID)", "devDependencies": { - "ava": "0.0.4" + "ava": "*", + "xo": "*" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" }, "files": [ "index.js", @@ -73,7 +73,7 @@ "url": "git+https://github.com/sindresorhus/lcid.git" }, "scripts": { - "test": "node test.js" + "test": "xo && ava" }, - "version": "1.0.0" + "version": "2.0.0" } diff --git a/deps/npm/node_modules/lcid/readme.md b/deps/npm/node_modules/lcid/readme.md index bee4a701669788..2b1aa798b69301 100644 --- a/deps/npm/node_modules/lcid/readme.md +++ b/deps/npm/node_modules/lcid/readme.md @@ -1,8 +1,8 @@ # lcid [![Build Status](https://travis-ci.org/sindresorhus/lcid.svg?branch=master)](https://travis-ci.org/sindresorhus/lcid) -> Mapping between [standard locale identifiers](http://en.wikipedia.org/wiki/Locale) and [Windows locale identifiers (LCID)](http://en.wikipedia.org/wiki/Locale#Specifics_for_Microsoft_platforms) +> Mapping between [standard locale identifiers](https://en.wikipedia.org/wiki/Locale_(computer_software)) and [Windows locale identifiers (LCID)](http://en.wikipedia.org/wiki/Locale#Specifics_for_Microsoft_platforms) -Based on the [mapping](https://github.com/python/cpython/blob/be2a1a76fa43bb1ea1b3577bb5bdd506a2e90e37/Lib/locale.py#L1395-L1604) used in the Python standard library. +Based on the [mapping](https://github.com/python/cpython/blob/8f7bb100d0fa7fb2714f3953b5b627878277c7c6/Lib/locale.py#L1465-L1674) used in the Python standard library. The mapping itself is just a [JSON file](lcid.json) and can be used wherever. @@ -10,14 +10,14 @@ The mapping itself is just a [JSON file](lcid.json) and can be used wherever. ## Install ``` -$ npm install --save lcid +$ npm install lcid ``` ## Usage ```js -var lcid = require('lcid'); +const lcid = require('lcid'); lcid.from(1044); //=> 'nb_NO' @@ -32,4 +32,4 @@ lcid.all; ## License -MIT © [Sindre Sorhus](http://sindresorhus.com) +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/deps/npm/node_modules/libnpmaccess/CODE_OF_CONDUCT.md b/deps/npm/node_modules/libnpmaccess/CODE_OF_CONDUCT.md deleted file mode 100644 index aeb72f598dcb45..00000000000000 --- a/deps/npm/node_modules/libnpmaccess/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,151 +0,0 @@ -# Code of Conduct - -## When Something Happens - -If you see a Code of Conduct violation, follow these steps: - -1. Let the person know that what they did is not appropriate and ask them to stop and/or edit their message(s) or commits. -2. That person should immediately stop the behavior and correct the issue. -3. If this doesn’t happen, or if you're uncomfortable speaking up, [contact the maintainers](#contacting-maintainers). -4. As soon as available, a maintainer will look into the issue, and take [further action (see below)](#further-enforcement), starting with a warning, then temporary block, then long-term repo or organization ban. - -When reporting, please include any relevant details, links, screenshots, context, or other information that may be used to better understand and resolve the situation. - -**The maintainer team will prioritize the well-being and comfort of the recipients of the violation over the comfort of the violator.** See [some examples below](#enforcement-examples). - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers of this project pledge to making participation in our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, technical preferences, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language. - * Being respectful of differing viewpoints and experiences. - * Gracefully accepting constructive feedback. - * Focusing on what is best for the community. - * Showing empathy and kindness towards other community members. - * Encouraging and raising up your peers in the project so you can all bask in hacks and glory. - -Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances, including when simulated online. The only exception to sexual topics is channels/spaces specifically for topics of sexual identity. - * Casual mention of slavery or indentured servitude and/or false comparisons of one's occupation or situation to slavery. Please consider using or asking about alternate terminology when referring to such metaphors in technology. - * Making light of/making mocking comments about trigger warnings and content warnings. - * Trolling, insulting/derogatory comments, and personal or political attacks. - * Public or private harassment, deliberate intimidation, or threats. - * Publishing others' private information, such as a physical or electronic address, without explicit permission. This includes any sort of "outing" of any aspect of someone's identity without their consent. - * Publishing private screenshots or quotes of interactions in the context of this project without all quoted users' *explicit* consent. - * Publishing of private communication that doesn't have to do with reporting harrassment. - * Any of the above even when [presented as "ironic" or "joking"](https://en.wikipedia.org/wiki/Hipster_racism). - * Any attempt to present "reverse-ism" versions of the above as violations. Examples of reverse-isms are "reverse racism", "reverse sexism", "heterophobia", and "cisphobia". - * Unsolicited explanations under the assumption that someone doesn't already know it. Ask before you teach! Don't assume what people's knowledge gaps are. - * [Feigning or exaggerating surprise](https://www.recurse.com/manual#no-feigned-surprise) when someone admits to not knowing something. - * "[Well-actuallies](https://www.recurse.com/manual#no-well-actuallys)" - * Other conduct which could reasonably be considered inappropriate in a professional or community setting. - -## Scope - -This Code of Conduct applies both within spaces involving this project and in other spaces involving community members. This includes the repository, its Pull Requests and Issue tracker, its Twitter community, private email communications in the context of the project, and any events where members of the project are participating, as well as adjacent communities and venues affecting the project's members. - -Depending on the violation, the maintainers may decide that violations of this code of conduct that have happened outside of the scope of the community may deem an individual unwelcome, and take appropriate action to maintain the comfort and safety of its members. - -### Other Community Standards - -As a project on GitHub, this project is additionally covered by the [GitHub Community Guidelines](https://help.github.com/articles/github-community-guidelines/). - -Additionally, as a project hosted on npm, is is covered by [npm, Inc's Code of Conduct](https://www.npmjs.com/policies/conduct). - -Enforcement of those guidelines after violations overlapping with the above are the responsibility of the entities, and enforcement may happen in any or all of the services/communities. - -## Maintainer Enforcement Process - -Once the maintainers get involved, they will follow a documented series of steps and do their best to preserve the well-being of project members. This section covers actual concrete steps. - -### Contacting Maintainers - -You may get in touch with the maintainer team through any of the following methods: - - * Through email: - * [kzm@zkat.tech](mailto:kzm@zkat.tech) (Kat Marchán) - - * Through Twitter: - * [@maybekatz](https://twitter.com/maybekatz) (Kat Marchán) - -### Further Enforcement - -If you've already followed the [initial enforcement steps](#enforcement), these are the steps maintainers will take for further enforcement, as needed: - - 1. Repeat the request to stop. - 2. If the person doubles down, they will have offending messages removed or edited by a maintainers given an official warning. The PR or Issue may be locked. - 3. If the behavior continues or is repeated later, the person will be blocked from participating for 24 hours. - 4. If the behavior continues or is repeated after the temporary block, a long-term (6-12mo) ban will be used. - -On top of this, maintainers may remove any offending messages, images, contributions, etc, as they deem necessary. - -Maintainers reserve full rights to skip any of these steps, at their discretion, if the violation is considered to be a serious and/or immediate threat to the health and well-being of members of the community. These include any threats, serious physical or verbal attacks, and other such behavior that would be completely unacceptable in any social setting that puts our members at risk. - -Members expelled from events or venues with any sort of paid attendance will not be refunded. - -### Who Watches the Watchers? - -Maintainers and other leaders who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. These may include anything from removal from the maintainer team to a permanent ban from the community. - -Additionally, as a project hosted on both GitHub and npm, [their own Codes of Conducts may be applied against maintainers of this project](#other-community-standards), externally of this project's procedures. - -### Enforcement Examples - -#### The Best Case - -The vast majority of situations work out like this. This interaction is common, and generally positive. - -> Alex: "Yeah I used X and it was really crazy!" - -> Patt (not a maintainer): "Hey, could you not use that word? What about 'ridiculous' instead?" - -> Alex: "oh sorry, sure." -> edits old comment to say "it was really confusing!" - -#### The Maintainer Case - -Sometimes, though, you need to get maintainers involved. Maintainers will do their best to resolve conflicts, but people who were harmed by something **will take priority**. - -> Patt: "Honestly, sometimes I just really hate using $library and anyone who uses it probably sucks at their job." - -> Alex: "Whoa there, could you dial it back a bit? There's a CoC thing about attacking folks' tech use like that." - -> Patt: "I'm not attacking anyone, what's your problem?" - -> Alex: "@maintainers hey uh. Can someone look at this issue? Patt is getting a bit aggro. I tried to nudge them about it, but nope." - -> KeeperOfCommitBits: (on issue) "Hey Patt, maintainer here. Could you tone it down? This sort of attack is really not okay in this space." - -> Patt: "Leave me alone I haven't said anything bad wtf is wrong with you." - -> KeeperOfCommitBits: (deletes user's comment), "@patt I mean it. Please refer to the CoC over at (URL to this CoC) if you have questions, but you can consider this an actual warning. I'd appreciate it if you reworded your messages in this thread, since they made folks there uncomfortable. Let's try and be kind, yeah?" - -> Patt: "@keeperofbits Okay sorry. I'm just frustrated and I'm kinda burnt out and I guess I got carried away. I'll DM Alex a note apologizing and edit my messages. Sorry for the trouble." - -> KeeperOfCommitBits: "@patt Thanks for that. I hear you on the stress. Burnout sucks :/. Have a good one!" - -#### The Nope Case - -> PepeTheFrog🐸: "Hi, I am a literal actual nazi and I think white supremacists are quite fashionable." - -> Patt: "NOOOOPE. OH NOPE NOPE." - -> Alex: "JFC NO. NOPE. @keeperofbits NOPE NOPE LOOK HERE" - -> KeeperOfCommitBits: "👀 Nope. NOPE NOPE NOPE. 🔥" - -> PepeTheFrog🐸 has been banned from all organization or user repositories belonging to KeeperOfCommitBits. - -## Attribution - -This Code of Conduct was generated using [WeAllJS Code of Conduct Generator](https://npm.im/weallbehave), which is based on the [WeAllJS Code of -Conduct](https://wealljs.org/code-of-conduct), which is itself based on -[Contributor Covenant](http://contributor-covenant.org), version 1.4, available -at -[http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4), -and the LGBTQ in Technology Slack [Code of -Conduct](http://lgbtq.technology/coc.html). diff --git a/deps/npm/node_modules/libnpmaccess/CONTRIBUTING.md b/deps/npm/node_modules/libnpmaccess/CONTRIBUTING.md deleted file mode 100644 index e13356ea444974..00000000000000 --- a/deps/npm/node_modules/libnpmaccess/CONTRIBUTING.md +++ /dev/null @@ -1,256 +0,0 @@ -# Contributing - -## How do I... - -* [Use This Guide](#introduction)? -* Ask or Say Something? 🤔🐛😱 - * [Request Support](#request-support) - * [Report an Error or Bug](#report-an-error-or-bug) - * [Request a Feature](#request-a-feature) -* Make Something? 🤓👩🏽‍💻📜🍳 - * [Project Setup](#project-setup) - * [Contribute Documentation](#contribute-documentation) - * [Contribute Code](#contribute-code) -* Manage Something ✅🙆🏼💃👔 - * [Provide Support on Issues](#provide-support-on-issues) - * [Label Issues](#label-issues) - * [Clean Up Issues and PRs](#clean-up-issues-and-prs) - * [Review Pull Requests](#review-pull-requests) - * [Merge Pull Requests](#merge-pull-requests) - * [Tag a Release](#tag-a-release) - * [Join the Project Team](#join-the-project-team) -* Add a Guide Like This One [To My Project](#attribution)? 🤖😻👻 - -## Introduction - -Thank you so much for your interest in contributing!. All types of contributions are encouraged and valued. See the [table of contents](#toc) for different ways to help and details about how this project handles them!📝 - -Please make sure to read the relevant section before making your contribution! It will make it a lot easier for us maintainers to make the most of it and smooth out the experience for all involved. 💚 - -The [Project Team](#join-the-project-team) looks forward to your contributions. 🙌🏾✨ - -## Request Support - -If you have a question about this project, how to use it, or just need clarification about something: - -* Open an Issue at https://github.com/npm/libnpmaccess/issues -* Provide as much context as you can about what you're running into. -* Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. If not, please be ready to provide that information if maintainers ask for it. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* Someone will try to have a response soon. -* If you or the maintainers don't respond to an issue for 30 days, the [issue will be closed](#clean-up-issues-and-prs). If you want to come back to it, reply (once, please), and we'll reopen the existing issue. Please avoid filing new issues as extensions of one you already made. - -## Report an Error or Bug - -If you run into an error or bug with the project: - -* Open an Issue at https://github.com/npm/libnpmaccess/issues -* Include *reproduction steps* that someone else can follow to recreate the bug or error on their own. -* Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. If not, please be ready to provide that information if maintainers ask for it. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* A team member will try to reproduce the issue with your provided steps. If there are no repro steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as `needs-repro`. Bugs with the `needs-repro` tag will not be addressed until they are reproduced. -* If the team is able to reproduce the issue, it will be marked `needs-fix`, as well as possibly other tags (such as `critical`), and the issue will be left to be [implemented by someone](#contribute-code). -* If you or the maintainers don't respond to an issue for 30 days, the [issue will be closed](#clean-up-issues-and-prs). If you want to come back to it, reply (once, please), and we'll reopen the existing issue. Please avoid filing new issues as extensions of one you already made. -* `critical` issues may be left open, depending on perceived immediacy and severity, even past the 30 day deadline. - -## Request a Feature - -If the project doesn't do something you need or want it to do: - -* Open an Issue at https://github.com/npm/libnpmaccess/issues -* Provide as much context as you can about what you're running into. -* Please try and be clear about why existing features and alternatives would not work for you. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* The project team will evaluate the feature request, possibly asking you more questions to understand its purpose and any relevant requirements. If the issue is closed, the team will convey their reasoning and suggest an alternative path forward. -* If the feature request is accepted, it will be marked for implementation with `feature-accepted`, which can then be done by either by a core team member or by anyone in the community who wants to [contribute code](#contribute-code). - -Note: The team is unlikely to be able to accept every single feature request that is filed. Please understand if they need to say no. - -## Project Setup - -So you wanna contribute some code! That's great! This project uses GitHub Pull Requests to manage contributions, so [read up on how to fork a GitHub project and file a PR](https://guides.github.com/activities/forking) if you've never done it before. - -If this seems like a lot or you aren't able to do all this setup, you might also be able to [edit the files directly](https://help.github.com/articles/editing-files-in-another-user-s-repository/) without having to do any of this setup. Yes, [even code](#contribute-code). - -If you want to go the usual route and run the project locally, though: - -* [Install Node.js](https://nodejs.org/en/download/) -* [Fork the project](https://guides.github.com/activities/forking/#fork) - -Then in your terminal: -* `cd path/to/your/clone` -* `npm install` -* `npm test` - -And you should be ready to go! - -## Contribute Documentation - -Documentation is a super important, critical part of this project. Docs are how we keep track of what we're doing, how, and why. It's how we stay on the same page about our policies. And it's how we tell others everything they need in order to be able to use this project -- or contribute to it. So thank you in advance. - -Documentation contributions of any size are welcome! Feel free to file a PR even if you're just rewording a sentence to be more clear, or fixing a spelling mistake! - -To contribute documentation: - -* [Set up the project](#project-setup). -* Edit or add any relevant documentation. -* Make sure your changes are formatted correctly and consistently with the rest of the documentation. -* Re-read what you wrote, and run a spellchecker on it to make sure you didn't miss anything. -* In your commit message(s), begin the first line with `docs: `. For example: `docs: Adding a doc contrib section to CONTRIBUTING.md`. -* Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). Documentation commits should use `docs(): `. -* Go to https://github.com/npm/libnpmaccess/pulls and open a new pull request with your changes. -* If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. - -Once you've filed the PR: - -* One or more maintainers will use GitHub's review feature to review your PR. -* If the maintainer asks for any changes, edit your changes, push, and ask for another review. -* If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes. That's ok! We still really appreciate you taking the time to do it, and we don't take that lightly. 💚 -* If your PR gets accepted, it will be marked as such, and merged into the `latest` branch soon after. Your contribution will be distributed to the masses next time the maintainers [tag a release](#tag-a-release) - -## Contribute Code - -We like code commits a lot! They're super handy, and they keep the project going and doing the work it needs to do to be useful to others. - -Code contributions of just about any size are acceptable! - -The main difference between code contributions and documentation contributions is that contributing code requires inclusion of relevant tests for the code being added or changed. Contributions without accompanying tests will be held off until a test is added, unless the maintainers consider the specific tests to be either impossible, or way too much of a burden for such a contribution. - -To contribute code: - -* [Set up the project](#project-setup). -* Make any necessary changes to the source code. -* Include any [additional documentation](#contribute-documentation) the changes might need. -* Write tests that verify that your contribution works as expected. -* Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). -* Dependency updates, additions, or removals must be in individual commits, and the message must use the format: `(deps): PKG@VERSION`, where `` is any of the usual `conventional-changelog` prefixes, at your discretion. -* Go to https://github.com/npm/libnpmaccess/pulls and open a new pull request with your changes. -* If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. - -Once you've filed the PR: - -* Barring special circumstances, maintainers will not review PRs until all checks pass (Travis, AppVeyor, etc). -* One or more maintainers will use GitHub's review feature to review your PR. -* If the maintainer asks for any changes, edit your changes, push, and ask for another review. Additional tags (such as `needs-tests`) will be added depending on the review. -* If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes. That's ok! We still really appreciate you taking the time to do it, and we don't take that lightly. 💚 -* If your PR gets accepted, it will be marked as such, and merged into the `latest` branch soon after. Your contribution will be distributed to the masses next time the maintainers [tag a release](#tag-a-release) - -## Provide Support on Issues - -[Needs Collaborator](#join-the-project-team): none - -Helping out other users with their questions is a really awesome way of contributing to any community. It's not uncommon for most of the issues on an open source projects being support-related questions by users trying to understand something they ran into, or find their way around a known bug. - -Sometimes, the `support` label will be added to things that turn out to actually be other things, like bugs or feature requests. In that case, suss out the details with the person who filed the original issue, add a comment explaining what the bug is, and change the label from `support` to `bug` or `feature`. If you can't do this yourself, @mention a maintainer so they can do it. - -In order to help other folks out with their questions: - -* Go to the issue tracker and [filter open issues by the `support` label](https://github.com/npm/libnpmaccess/issues?q=is%3Aopen+is%3Aissue+label%3Asupport). -* Read through the list until you find something that you're familiar enough with to give an answer to. -* Respond to the issue with whatever details are needed to clarify the question, or get more details about what's going on. -* Once the discussion wraps up and things are clarified, either close the issue, or ask the original issue filer (or a maintainer) to close it for you. - -Some notes on picking up support issues: - -* Avoid responding to issues you don't know you can answer accurately. -* As much as possible, try to refer to past issues with accepted answers. Link to them from your replies with the `#123` format. -* Be kind and patient with users -- often, folks who have run into confusing things might be upset or impatient. This is ok. Try to understand where they're coming from, and if you're too uncomfortable with the tone, feel free to stay away or withdraw from the issue. (note: if the user is outright hostile or is violating the CoC, [refer to the Code of Conduct](CODE_OF_CONDUCT.md) to resolve the conflict). - -## Label Issues - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -One of the most important tasks in handling issues is labeling them usefully and accurately. All other tasks involving issues ultimately rely on the issue being classified in such a way that relevant parties looking to do their own tasks can find them quickly and easily. - -In order to label issues, [open up the list of unlabeled issues](https://github.com/npm/libnpmaccess/issues?q=is%3Aopen+is%3Aissue+no%3Alabel) and, **from newest to oldest**, read through each one and apply issue labels according to the table below. If you're unsure about what label to apply, skip the issue and try the next one: don't feel obligated to label each and every issue yourself! - -Label | Apply When | Notes ---- | --- | --- -`bug` | Cases where the code (or documentation) is behaving in a way it wasn't intended to. | If something is happening that surprises the *user* but does not go against the way the code is designed, it should use the `enhancement` label. -`critical` | Added to `bug` issues if the problem described makes the code completely unusable in a common situation. | -`documentation` | Added to issues or pull requests that affect any of the documentation for the project. | Can be combined with other labels, such as `bug` or `enhancement`. -`duplicate` | Added to issues or PRs that refer to the exact same issue as another one that's been previously labeled. | Duplicate issues should be marked and closed right away, with a message referencing the issue it's a duplicate of (with `#123`) -`enhancement` | Added to [feature requests](#request-a-feature), PRs, or documentation issues that are purely additive: the code or docs currently work as expected, but a change is being requested or suggested. | -`help wanted` | Applied by [Committers](#join-the-project-team) to issues and PRs that they would like to get outside help for. Generally, this means it's lower priority for the maintainer team to itself implement, but that the community is encouraged to pick up if they so desire | Never applied on first-pass labeling. -`in-progress` | Applied by [Committers](#join-the-project-team) to PRs that are pending some work before they're ready for review. | The original PR submitter should @mention the team member that applied the label once the PR is complete. -`performance` | This issue or PR is directly related to improving performance. | -`refactor` | Added to issues or PRs that deal with cleaning up or modifying the project for the betterment of it. | -`starter` | Applied by [Committers](#join-the-project-team) to issues that they consider good introductions to the project for people who have not contributed before. These are not necessarily "easy", but rather focused around how much context is necessary in order to understand what needs to be done for this project in particular. | Existing project members are expected to stay away from these unless they increase in priority. -`support` | This issue is either asking a question about how to use the project, clarifying the reason for unexpected behavior, or possibly reporting a `bug` but does not have enough detail yet to determine whether it would count as such. | The label should be switched to `bug` if reliable reproduction steps are provided. Issues primarily with unintended configurations of a user's environment are not considered bugs, even if they cause crashes. -`tests` | This issue or PR either requests or adds primarily tests to the project. | If a PR is pending tests, that will be handled through the [PR review process](#review-pull-requests) -`wontfix` | Labelers may apply this label to issues that clearly have nothing at all to do with the project or are otherwise entirely outside of its scope/sphere of influence. [Committers](#join-the-project-team) may apply this label and close an issue or PR if they decide to pass on an otherwise relevant issue. | The issue or PR should be closed as soon as the label is applied, and a clear explanation provided of why the label was used. Contributors are free to contest the labeling, but the decision ultimately falls on committers as to whether to accept something or not. - -## Clean Up Issues and PRs - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -Issues and PRs can go stale after a while. Maybe they're abandoned. Maybe the team will just plain not have time to address them any time soon. - -In these cases, they should be closed until they're brought up again or the interaction starts over. - -To clean up issues and PRs: - -* Search the issue tracker for issues or PRs, and add the term `updated:<=YYYY-MM-DD`, where the date is 30 days before today. -* Go through each issue *from oldest to newest*, and close them if **all of the following are true**: - * not opened by a maintainer - * not marked as `critical` - * not marked as `starter` or `help wanted` (these might stick around for a while, in general, as they're intended to be available) - * no explicit messages in the comments asking for it to be left open - * does not belong to a milestone -* Leave a message when closing saying "Cleaning up stale issue. Please reopen or ping us if and when you're ready to resume this. See https://github.com/npm/libnpmaccess/blob/latest/CONTRIBUTING.md#clean-up-issues-and-prs for more details." - -## Review Pull Requests - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -While anyone can comment on a PR, add feedback, etc, PRs are only *approved* by team members with Issue Tracker or higher permissions. - -PR reviews use [GitHub's own review feature](https://help.github.com/articles/about-pull-request-reviews/), which manages comments, approval, and review iteration. - -Some notes: - -* You may ask for minor changes ("nitpicks"), but consider whether they are really blockers to merging: try to err on the side of "approve, with comments". -* *ALL PULL REQUESTS* should be covered by a test: either by a previously-failing test, an existing test that covers the entire functionality of the submitted code, or new tests to verify any new/changed behavior. All tests must also pass and follow established conventions. Test coverage should not drop, unless the specific case is considered reasonable by maintainers. -* Please make sure you're familiar with the code or documentation being updated, unless it's a minor change (spellchecking, minor formatting, etc). You may @mention another project member who you think is better suited for the review, but still provide a non-approving review of your own. -* Be extra kind: people who submit code/doc contributions are putting themselves in a pretty vulnerable position, and have put time and care into what they've done (even if that's not obvious to you!) -- always respond with respect, be understanding, but don't feel like you need to sacrifice your standards for their sake, either. Just don't be a jerk about it? - -## Merge Pull Requests - -[Needs Collaborator](#join-the-project-team): Committer - -TBD - need to hash out a bit more of this process. - -## Tag A Release - -[Needs Collaborator](#join-the-project-team): Committer - -TBD - need to hash out a bit more of this process. The most important bit here is probably that all tests must pass, and tags must use [semver](https://semver.org). - -## Join the Project Team - -### Ways to Join - -There are many ways to contribute! Most of them don't require any official status unless otherwise noted. That said, there's a couple of positions that grant special repository abilities, and this section describes how they're granted and what they do. - -All of the below positions are granted based on the project team's needs, as well as their consensus opinion about whether they would like to work with the person and think that they would fit well into that position. The process is relatively informal, and it's likely that people who express interest in participating can just be granted the permissions they'd like. - -You can spot a collaborator on the repo by looking for the `[Collaborator]` or `[Owner]` tags next to their names. - -Permission | Description ---- | --- -Issue Tracker | Granted to contributors who express a strong interest in spending time on the project's issue tracker. These tasks are mainly [labeling issues](#label-issues), [cleaning up old ones](#clean-up-issues-and-prs), and [reviewing pull requests](#review-pull-requests), as well as all the usual things non-team-member contributors can do. Issue handlers should not merge pull requests, tag releases, or directly commit code themselves: that should still be done through the usual pull request process. Becoming an Issue Handler means the project team trusts you to understand enough of the team's process and context to implement it on the issue tracker. -Committer | Granted to contributors who want to handle the actual pull request merges, tagging new versions, etc. Committers should have a good level of familiarity with the codebase, and enough context to understand the implications of various changes, as well as a good sense of the will and expectations of the project team. -Admin/Owner | Granted to people ultimately responsible for the project, its community, etc. - -## Attribution - -This guide was generated using the WeAllJS `CONTRIBUTING.md` generator. [Make your own](https://npm.im/weallcontribute)! diff --git a/deps/npm/node_modules/libnpmconfig/CODE_OF_CONDUCT.md b/deps/npm/node_modules/libnpmconfig/CODE_OF_CONDUCT.md deleted file mode 100644 index aeb72f598dcb45..00000000000000 --- a/deps/npm/node_modules/libnpmconfig/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,151 +0,0 @@ -# Code of Conduct - -## When Something Happens - -If you see a Code of Conduct violation, follow these steps: - -1. Let the person know that what they did is not appropriate and ask them to stop and/or edit their message(s) or commits. -2. That person should immediately stop the behavior and correct the issue. -3. If this doesn’t happen, or if you're uncomfortable speaking up, [contact the maintainers](#contacting-maintainers). -4. As soon as available, a maintainer will look into the issue, and take [further action (see below)](#further-enforcement), starting with a warning, then temporary block, then long-term repo or organization ban. - -When reporting, please include any relevant details, links, screenshots, context, or other information that may be used to better understand and resolve the situation. - -**The maintainer team will prioritize the well-being and comfort of the recipients of the violation over the comfort of the violator.** See [some examples below](#enforcement-examples). - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers of this project pledge to making participation in our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, technical preferences, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language. - * Being respectful of differing viewpoints and experiences. - * Gracefully accepting constructive feedback. - * Focusing on what is best for the community. - * Showing empathy and kindness towards other community members. - * Encouraging and raising up your peers in the project so you can all bask in hacks and glory. - -Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances, including when simulated online. The only exception to sexual topics is channels/spaces specifically for topics of sexual identity. - * Casual mention of slavery or indentured servitude and/or false comparisons of one's occupation or situation to slavery. Please consider using or asking about alternate terminology when referring to such metaphors in technology. - * Making light of/making mocking comments about trigger warnings and content warnings. - * Trolling, insulting/derogatory comments, and personal or political attacks. - * Public or private harassment, deliberate intimidation, or threats. - * Publishing others' private information, such as a physical or electronic address, without explicit permission. This includes any sort of "outing" of any aspect of someone's identity without their consent. - * Publishing private screenshots or quotes of interactions in the context of this project without all quoted users' *explicit* consent. - * Publishing of private communication that doesn't have to do with reporting harrassment. - * Any of the above even when [presented as "ironic" or "joking"](https://en.wikipedia.org/wiki/Hipster_racism). - * Any attempt to present "reverse-ism" versions of the above as violations. Examples of reverse-isms are "reverse racism", "reverse sexism", "heterophobia", and "cisphobia". - * Unsolicited explanations under the assumption that someone doesn't already know it. Ask before you teach! Don't assume what people's knowledge gaps are. - * [Feigning or exaggerating surprise](https://www.recurse.com/manual#no-feigned-surprise) when someone admits to not knowing something. - * "[Well-actuallies](https://www.recurse.com/manual#no-well-actuallys)" - * Other conduct which could reasonably be considered inappropriate in a professional or community setting. - -## Scope - -This Code of Conduct applies both within spaces involving this project and in other spaces involving community members. This includes the repository, its Pull Requests and Issue tracker, its Twitter community, private email communications in the context of the project, and any events where members of the project are participating, as well as adjacent communities and venues affecting the project's members. - -Depending on the violation, the maintainers may decide that violations of this code of conduct that have happened outside of the scope of the community may deem an individual unwelcome, and take appropriate action to maintain the comfort and safety of its members. - -### Other Community Standards - -As a project on GitHub, this project is additionally covered by the [GitHub Community Guidelines](https://help.github.com/articles/github-community-guidelines/). - -Additionally, as a project hosted on npm, is is covered by [npm, Inc's Code of Conduct](https://www.npmjs.com/policies/conduct). - -Enforcement of those guidelines after violations overlapping with the above are the responsibility of the entities, and enforcement may happen in any or all of the services/communities. - -## Maintainer Enforcement Process - -Once the maintainers get involved, they will follow a documented series of steps and do their best to preserve the well-being of project members. This section covers actual concrete steps. - -### Contacting Maintainers - -You may get in touch with the maintainer team through any of the following methods: - - * Through email: - * [kzm@zkat.tech](mailto:kzm@zkat.tech) (Kat Marchán) - - * Through Twitter: - * [@maybekatz](https://twitter.com/maybekatz) (Kat Marchán) - -### Further Enforcement - -If you've already followed the [initial enforcement steps](#enforcement), these are the steps maintainers will take for further enforcement, as needed: - - 1. Repeat the request to stop. - 2. If the person doubles down, they will have offending messages removed or edited by a maintainers given an official warning. The PR or Issue may be locked. - 3. If the behavior continues or is repeated later, the person will be blocked from participating for 24 hours. - 4. If the behavior continues or is repeated after the temporary block, a long-term (6-12mo) ban will be used. - -On top of this, maintainers may remove any offending messages, images, contributions, etc, as they deem necessary. - -Maintainers reserve full rights to skip any of these steps, at their discretion, if the violation is considered to be a serious and/or immediate threat to the health and well-being of members of the community. These include any threats, serious physical or verbal attacks, and other such behavior that would be completely unacceptable in any social setting that puts our members at risk. - -Members expelled from events or venues with any sort of paid attendance will not be refunded. - -### Who Watches the Watchers? - -Maintainers and other leaders who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. These may include anything from removal from the maintainer team to a permanent ban from the community. - -Additionally, as a project hosted on both GitHub and npm, [their own Codes of Conducts may be applied against maintainers of this project](#other-community-standards), externally of this project's procedures. - -### Enforcement Examples - -#### The Best Case - -The vast majority of situations work out like this. This interaction is common, and generally positive. - -> Alex: "Yeah I used X and it was really crazy!" - -> Patt (not a maintainer): "Hey, could you not use that word? What about 'ridiculous' instead?" - -> Alex: "oh sorry, sure." -> edits old comment to say "it was really confusing!" - -#### The Maintainer Case - -Sometimes, though, you need to get maintainers involved. Maintainers will do their best to resolve conflicts, but people who were harmed by something **will take priority**. - -> Patt: "Honestly, sometimes I just really hate using $library and anyone who uses it probably sucks at their job." - -> Alex: "Whoa there, could you dial it back a bit? There's a CoC thing about attacking folks' tech use like that." - -> Patt: "I'm not attacking anyone, what's your problem?" - -> Alex: "@maintainers hey uh. Can someone look at this issue? Patt is getting a bit aggro. I tried to nudge them about it, but nope." - -> KeeperOfCommitBits: (on issue) "Hey Patt, maintainer here. Could you tone it down? This sort of attack is really not okay in this space." - -> Patt: "Leave me alone I haven't said anything bad wtf is wrong with you." - -> KeeperOfCommitBits: (deletes user's comment), "@patt I mean it. Please refer to the CoC over at (URL to this CoC) if you have questions, but you can consider this an actual warning. I'd appreciate it if you reworded your messages in this thread, since they made folks there uncomfortable. Let's try and be kind, yeah?" - -> Patt: "@keeperofbits Okay sorry. I'm just frustrated and I'm kinda burnt out and I guess I got carried away. I'll DM Alex a note apologizing and edit my messages. Sorry for the trouble." - -> KeeperOfCommitBits: "@patt Thanks for that. I hear you on the stress. Burnout sucks :/. Have a good one!" - -#### The Nope Case - -> PepeTheFrog🐸: "Hi, I am a literal actual nazi and I think white supremacists are quite fashionable." - -> Patt: "NOOOOPE. OH NOPE NOPE." - -> Alex: "JFC NO. NOPE. @keeperofbits NOPE NOPE LOOK HERE" - -> KeeperOfCommitBits: "👀 Nope. NOPE NOPE NOPE. 🔥" - -> PepeTheFrog🐸 has been banned from all organization or user repositories belonging to KeeperOfCommitBits. - -## Attribution - -This Code of Conduct was generated using [WeAllJS Code of Conduct Generator](https://npm.im/weallbehave), which is based on the [WeAllJS Code of -Conduct](https://wealljs.org/code-of-conduct), which is itself based on -[Contributor Covenant](http://contributor-covenant.org), version 1.4, available -at -[http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4), -and the LGBTQ in Technology Slack [Code of -Conduct](http://lgbtq.technology/coc.html). diff --git a/deps/npm/node_modules/libnpmconfig/CONTRIBUTING.md b/deps/npm/node_modules/libnpmconfig/CONTRIBUTING.md deleted file mode 100644 index 970c1cf43aca08..00000000000000 --- a/deps/npm/node_modules/libnpmconfig/CONTRIBUTING.md +++ /dev/null @@ -1,256 +0,0 @@ -# Contributing - -## How do I... - -* [Use This Guide](#introduction)? -* Ask or Say Something? 🤔🐛😱 - * [Request Support](#request-support) - * [Report an Error or Bug](#report-an-error-or-bug) - * [Request a Feature](#request-a-feature) -* Make Something? 🤓👩🏽‍💻📜🍳 - * [Project Setup](#project-setup) - * [Contribute Documentation](#contribute-documentation) - * [Contribute Code](#contribute-code) -* Manage Something ✅🙆🏼💃👔 - * [Provide Support on Issues](#provide-support-on-issues) - * [Label Issues](#label-issues) - * [Clean Up Issues and PRs](#clean-up-issues-and-prs) - * [Review Pull Requests](#review-pull-requests) - * [Merge Pull Requests](#merge-pull-requests) - * [Tag a Release](#tag-a-release) - * [Join the Project Team](#join-the-project-team) -* Add a Guide Like This One [To My Project](#attribution)? 🤖😻👻 - -## Introduction - -Thank you so much for your interest in contributing!. All types of contributions are encouraged and valued. See the [table of contents](#toc) for different ways to help and details about how this project handles them!📝 - -Please make sure to read the relevant section before making your contribution! It will make it a lot easier for us maintainers to make the most of it and smooth out the experience for all involved. 💚 - -The [Project Team](#join-the-project-team) looks forward to your contributions. 🙌🏾✨ - -## Request Support - -If you have a question about this project, how to use it, or just need clarification about something: - -* Open an Issue at https://github.com/npm/libnpmconfig/issues -* Provide as much context as you can about what you're running into. -* Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. If not, please be ready to provide that information if maintainers ask for it. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* Someone will try to have a response soon. -* If you or the maintainers don't respond to an issue for 30 days, the [issue will be closed](#clean-up-issues-and-prs). If you want to come back to it, reply (once, please), and we'll reopen the existing issue. Please avoid filing new issues as extensions of one you already made. - -## Report an Error or Bug - -If you run into an error or bug with the project: - -* Open an Issue at https://github.com/npm/libnpmconfig/issues -* Include *reproduction steps* that someone else can follow to recreate the bug or error on their own. -* Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. If not, please be ready to provide that information if maintainers ask for it. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* A team member will try to reproduce the issue with your provided steps. If there are no repro steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as `needs-repro`. Bugs with the `needs-repro` tag will not be addressed until they are reproduced. -* If the team is able to reproduce the issue, it will be marked `needs-fix`, as well as possibly other tags (such as `critical`), and the issue will be left to be [implemented by someone](#contribute-code). -* If you or the maintainers don't respond to an issue for 30 days, the [issue will be closed](#clean-up-issues-and-prs). If you want to come back to it, reply (once, please), and we'll reopen the existing issue. Please avoid filing new issues as extensions of one you already made. -* `critical` issues may be left open, depending on perceived immediacy and severity, even past the 30 day deadline. - -## Request a Feature - -If the project doesn't do something you need or want it to do: - -* Open an Issue at https://github.com/npm/libnpmconfig/issues -* Provide as much context as you can about what you're running into. -* Please try and be clear about why existing features and alternatives would not work for you. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* The project team will evaluate the feature request, possibly asking you more questions to understand its purpose and any relevant requirements. If the issue is closed, the team will convey their reasoning and suggest an alternative path forward. -* If the feature request is accepted, it will be marked for implementation with `feature-accepted`, which can then be done by either by a core team member or by anyone in the community who wants to [contribute code](#contribute-code). - -Note: The team is unlikely to be able to accept every single feature request that is filed. Please understand if they need to say no. - -## Project Setup - -So you wanna contribute some code! That's great! This project uses GitHub Pull Requests to manage contributions, so [read up on how to fork a GitHub project and file a PR](https://guides.github.com/activities/forking) if you've never done it before. - -If this seems like a lot or you aren't able to do all this setup, you might also be able to [edit the files directly](https://help.github.com/articles/editing-files-in-another-user-s-repository/) without having to do any of this setup. Yes, [even code](#contribute-code). - -If you want to go the usual route and run the project locally, though: - -* [Install Node.js](https://nodejs.org/en/download/) -* [Fork the project](https://guides.github.com/activities/forking/#fork) - -Then in your terminal: -* `cd path/to/your/clone` -* `npm install` -* `npm test` - -And you should be ready to go! - -## Contribute Documentation - -Documentation is a super important, critical part of this project. Docs are how we keep track of what we're doing, how, and why. It's how we stay on the same page about our policies. And it's how we tell others everything they need in order to be able to use this project -- or contribute to it. So thank you in advance. - -Documentation contributions of any size are welcome! Feel free to file a PR even if you're just rewording a sentence to be more clear, or fixing a spelling mistake! - -To contribute documentation: - -* [Set up the project](#project-setup). -* Edit or add any relevant documentation. -* Make sure your changes are formatted correctly and consistently with the rest of the documentation. -* Re-read what you wrote, and run a spellchecker on it to make sure you didn't miss anything. -* In your commit message(s), begin the first line with `docs: `. For example: `docs: Adding a doc contrib section to CONTRIBUTING.md`. -* Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). Documentation commits should use `docs(): `. -* Go to https://github.com/npm/libnpmconfig/pulls and open a new pull request with your changes. -* If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. - -Once you've filed the PR: - -* One or more maintainers will use GitHub's review feature to review your PR. -* If the maintainer asks for any changes, edit your changes, push, and ask for another review. -* If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes. That's ok! We still really appreciate you taking the time to do it, and we don't take that lightly. 💚 -* If your PR gets accepted, it will be marked as such, and merged into the `latest` branch soon after. Your contribution will be distributed to the masses next time the maintainers [tag a release](#tag-a-release) - -## Contribute Code - -We like code commits a lot! They're super handy, and they keep the project going and doing the work it needs to do to be useful to others. - -Code contributions of just about any size are acceptable! - -The main difference between code contributions and documentation contributions is that contributing code requires inclusion of relevant tests for the code being added or changed. Contributions without accompanying tests will be held off until a test is added, unless the maintainers consider the specific tests to be either impossible, or way too much of a burden for such a contribution. - -To contribute code: - -* [Set up the project](#project-setup). -* Make any necessary changes to the source code. -* Include any [additional documentation](#contribute-documentation) the changes might need. -* Write tests that verify that your contribution works as expected. -* Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). -* Dependency updates, additions, or removals must be in individual commits, and the message must use the format: `(deps): PKG@VERSION`, where `` is any of the usual `conventional-changelog` prefixes, at your discretion. -* Go to https://github.com/npm/libnpmconfig/pulls and open a new pull request with your changes. -* If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. - -Once you've filed the PR: - -* Barring special circumstances, maintainers will not review PRs until all checks pass (Travis, AppVeyor, etc). -* One or more maintainers will use GitHub's review feature to review your PR. -* If the maintainer asks for any changes, edit your changes, push, and ask for another review. Additional tags (such as `needs-tests`) will be added depending on the review. -* If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes. That's ok! We still really appreciate you taking the time to do it, and we don't take that lightly. 💚 -* If your PR gets accepted, it will be marked as such, and merged into the `latest` branch soon after. Your contribution will be distributed to the masses next time the maintainers [tag a release](#tag-a-release) - -## Provide Support on Issues - -[Needs Collaborator](#join-the-project-team): none - -Helping out other users with their questions is a really awesome way of contributing to any community. It's not uncommon for most of the issues on an open source projects being support-related questions by users trying to understand something they ran into, or find their way around a known bug. - -Sometimes, the `support` label will be added to things that turn out to actually be other things, like bugs or feature requests. In that case, suss out the details with the person who filed the original issue, add a comment explaining what the bug is, and change the label from `support` to `bug` or `feature`. If you can't do this yourself, @mention a maintainer so they can do it. - -In order to help other folks out with their questions: - -* Go to the issue tracker and [filter open issues by the `support` label](https://github.com/npm/libnpmconfig/issues?q=is%3Aopen+is%3Aissue+label%3Asupport). -* Read through the list until you find something that you're familiar enough with to give an answer to. -* Respond to the issue with whatever details are needed to clarify the question, or get more details about what's going on. -* Once the discussion wraps up and things are clarified, either close the issue, or ask the original issue filer (or a maintainer) to close it for you. - -Some notes on picking up support issues: - -* Avoid responding to issues you don't know you can answer accurately. -* As much as possible, try to refer to past issues with accepted answers. Link to them from your replies with the `#123` format. -* Be kind and patient with users -- often, folks who have run into confusing things might be upset or impatient. This is ok. Try to understand where they're coming from, and if you're too uncomfortable with the tone, feel free to stay away or withdraw from the issue. (note: if the user is outright hostile or is violating the CoC, [refer to the Code of Conduct](CODE_OF_CONDUCT.md) to resolve the conflict). - -## Label Issues - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -One of the most important tasks in handling issues is labeling them usefully and accurately. All other tasks involving issues ultimately rely on the issue being classified in such a way that relevant parties looking to do their own tasks can find them quickly and easily. - -In order to label issues, [open up the list of unlabeled issues](https://github.com/npm/libnpmconfig/issues?q=is%3Aopen+is%3Aissue+no%3Alabel) and, **from newest to oldest**, read through each one and apply issue labels according to the table below. If you're unsure about what label to apply, skip the issue and try the next one: don't feel obligated to label each and every issue yourself! - -Label | Apply When | Notes ---- | --- | --- -`bug` | Cases where the code (or documentation) is behaving in a way it wasn't intended to. | If something is happening that surprises the *user* but does not go against the way the code is designed, it should use the `enhancement` label. -`critical` | Added to `bug` issues if the problem described makes the code completely unusable in a common situation. | -`documentation` | Added to issues or pull requests that affect any of the documentation for the project. | Can be combined with other labels, such as `bug` or `enhancement`. -`duplicate` | Added to issues or PRs that refer to the exact same issue as another one that's been previously labeled. | Duplicate issues should be marked and closed right away, with a message referencing the issue it's a duplicate of (with `#123`) -`enhancement` | Added to [feature requests](#request-a-feature), PRs, or documentation issues that are purely additive: the code or docs currently work as expected, but a change is being requested or suggested. | -`help wanted` | Applied by [Committers](#join-the-project-team) to issues and PRs that they would like to get outside help for. Generally, this means it's lower priority for the maintainer team to itself implement, but that the community is encouraged to pick up if they so desire | Never applied on first-pass labeling. -`in-progress` | Applied by [Committers](#join-the-project-team) to PRs that are pending some work before they're ready for review. | The original PR submitter should @mention the team member that applied the label once the PR is complete. -`performance` | This issue or PR is directly related to improving performance. | -`refactor` | Added to issues or PRs that deal with cleaning up or modifying the project for the betterment of it. | -`starter` | Applied by [Committers](#join-the-project-team) to issues that they consider good introductions to the project for people who have not contributed before. These are not necessarily "easy", but rather focused around how much context is necessary in order to understand what needs to be done for this project in particular. | Existing project members are expected to stay away from these unless they increase in priority. -`support` | This issue is either asking a question about how to use the project, clarifying the reason for unexpected behavior, or possibly reporting a `bug` but does not have enough detail yet to determine whether it would count as such. | The label should be switched to `bug` if reliable reproduction steps are provided. Issues primarily with unintended configurations of a user's environment are not considered bugs, even if they cause crashes. -`tests` | This issue or PR either requests or adds primarily tests to the project. | If a PR is pending tests, that will be handled through the [PR review process](#review-pull-requests) -`wontfix` | Labelers may apply this label to issues that clearly have nothing at all to do with the project or are otherwise entirely outside of its scope/sphere of influence. [Committers](#join-the-project-team) may apply this label and close an issue or PR if they decide to pass on an otherwise relevant issue. | The issue or PR should be closed as soon as the label is applied, and a clear explanation provided of why the label was used. Contributors are free to contest the labeling, but the decision ultimately falls on committers as to whether to accept something or not. - -## Clean Up Issues and PRs - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -Issues and PRs can go stale after a while. Maybe they're abandoned. Maybe the team will just plain not have time to address them any time soon. - -In these cases, they should be closed until they're brought up again or the interaction starts over. - -To clean up issues and PRs: - -* Search the issue tracker for issues or PRs, and add the term `updated:<=YYYY-MM-DD`, where the date is 30 days before today. -* Go through each issue *from oldest to newest*, and close them if **all of the following are true**: - * not opened by a maintainer - * not marked as `critical` - * not marked as `starter` or `help wanted` (these might stick around for a while, in general, as they're intended to be available) - * no explicit messages in the comments asking for it to be left open - * does not belong to a milestone -* Leave a message when closing saying "Cleaning up stale issue. Please reopen or ping us if and when you're ready to resume this. See https://github.com/npm/libnpmconfig/blob/latest/CONTRIBUTING.md#clean-up-issues-and-prs for more details." - -## Review Pull Requests - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -While anyone can comment on a PR, add feedback, etc, PRs are only *approved* by team members with Issue Tracker or higher permissions. - -PR reviews use [GitHub's own review feature](https://help.github.com/articles/about-pull-request-reviews/), which manages comments, approval, and review iteration. - -Some notes: - -* You may ask for minor changes ("nitpicks"), but consider whether they are really blockers to merging: try to err on the side of "approve, with comments". -* *ALL PULL REQUESTS* should be covered by a test: either by a previously-failing test, an existing test that covers the entire functionality of the submitted code, or new tests to verify any new/changed behavior. All tests must also pass and follow established conventions. Test coverage should not drop, unless the specific case is considered reasonable by maintainers. -* Please make sure you're familiar with the code or documentation being updated, unless it's a minor change (spellchecking, minor formatting, etc). You may @mention another project member who you think is better suited for the review, but still provide a non-approving review of your own. -* Be extra kind: people who submit code/doc contributions are putting themselves in a pretty vulnerable position, and have put time and care into what they've done (even if that's not obvious to you!) -- always respond with respect, be understanding, but don't feel like you need to sacrifice your standards for their sake, either. Just don't be a jerk about it? - -## Merge Pull Requests - -[Needs Collaborator](#join-the-project-team): Committer - -TBD - need to hash out a bit more of this process. - -## Tag A Release - -[Needs Collaborator](#join-the-project-team): Committer - -TBD - need to hash out a bit more of this process. The most important bit here is probably that all tests must pass, and tags must use [semver](https://semver.org). - -## Join the Project Team - -### Ways to Join - -There are many ways to contribute! Most of them don't require any official status unless otherwise noted. That said, there's a couple of positions that grant special repository abilities, and this section describes how they're granted and what they do. - -All of the below positions are granted based on the project team's needs, as well as their consensus opinion about whether they would like to work with the person and think that they would fit well into that position. The process is relatively informal, and it's likely that people who express interest in participating can just be granted the permissions they'd like. - -You can spot a collaborator on the repo by looking for the `[Collaborator]` or `[Owner]` tags next to their names. - -Permission | Description ---- | --- -Issue Tracker | Granted to contributors who express a strong interest in spending time on the project's issue tracker. These tasks are mainly [labeling issues](#label-issues), [cleaning up old ones](#clean-up-issues-and-prs), and [reviewing pull requests](#review-pull-requests), as well as all the usual things non-team-member contributors can do. Issue handlers should not merge pull requests, tag releases, or directly commit code themselves: that should still be done through the usual pull request process. Becoming an Issue Handler means the project team trusts you to understand enough of the team's process and context to implement it on the issue tracker. -Committer | Granted to contributors who want to handle the actual pull request merges, tagging new versions, etc. Committers should have a good level of familiarity with the codebase, and enough context to understand the implications of various changes, as well as a good sense of the will and expectations of the project team. -Admin/Owner | Granted to people ultimately responsible for the project, its community, etc. - -## Attribution - -This guide was generated using the WeAllJS `CONTRIBUTING.md` generator. [Make your own](https://npm.im/weallcontribute)! diff --git a/deps/npm/node_modules/libnpmorg/CODE_OF_CONDUCT.md b/deps/npm/node_modules/libnpmorg/CODE_OF_CONDUCT.md deleted file mode 100644 index aeb72f598dcb45..00000000000000 --- a/deps/npm/node_modules/libnpmorg/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,151 +0,0 @@ -# Code of Conduct - -## When Something Happens - -If you see a Code of Conduct violation, follow these steps: - -1. Let the person know that what they did is not appropriate and ask them to stop and/or edit their message(s) or commits. -2. That person should immediately stop the behavior and correct the issue. -3. If this doesn’t happen, or if you're uncomfortable speaking up, [contact the maintainers](#contacting-maintainers). -4. As soon as available, a maintainer will look into the issue, and take [further action (see below)](#further-enforcement), starting with a warning, then temporary block, then long-term repo or organization ban. - -When reporting, please include any relevant details, links, screenshots, context, or other information that may be used to better understand and resolve the situation. - -**The maintainer team will prioritize the well-being and comfort of the recipients of the violation over the comfort of the violator.** See [some examples below](#enforcement-examples). - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers of this project pledge to making participation in our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, technical preferences, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language. - * Being respectful of differing viewpoints and experiences. - * Gracefully accepting constructive feedback. - * Focusing on what is best for the community. - * Showing empathy and kindness towards other community members. - * Encouraging and raising up your peers in the project so you can all bask in hacks and glory. - -Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances, including when simulated online. The only exception to sexual topics is channels/spaces specifically for topics of sexual identity. - * Casual mention of slavery or indentured servitude and/or false comparisons of one's occupation or situation to slavery. Please consider using or asking about alternate terminology when referring to such metaphors in technology. - * Making light of/making mocking comments about trigger warnings and content warnings. - * Trolling, insulting/derogatory comments, and personal or political attacks. - * Public or private harassment, deliberate intimidation, or threats. - * Publishing others' private information, such as a physical or electronic address, without explicit permission. This includes any sort of "outing" of any aspect of someone's identity without their consent. - * Publishing private screenshots or quotes of interactions in the context of this project without all quoted users' *explicit* consent. - * Publishing of private communication that doesn't have to do with reporting harrassment. - * Any of the above even when [presented as "ironic" or "joking"](https://en.wikipedia.org/wiki/Hipster_racism). - * Any attempt to present "reverse-ism" versions of the above as violations. Examples of reverse-isms are "reverse racism", "reverse sexism", "heterophobia", and "cisphobia". - * Unsolicited explanations under the assumption that someone doesn't already know it. Ask before you teach! Don't assume what people's knowledge gaps are. - * [Feigning or exaggerating surprise](https://www.recurse.com/manual#no-feigned-surprise) when someone admits to not knowing something. - * "[Well-actuallies](https://www.recurse.com/manual#no-well-actuallys)" - * Other conduct which could reasonably be considered inappropriate in a professional or community setting. - -## Scope - -This Code of Conduct applies both within spaces involving this project and in other spaces involving community members. This includes the repository, its Pull Requests and Issue tracker, its Twitter community, private email communications in the context of the project, and any events where members of the project are participating, as well as adjacent communities and venues affecting the project's members. - -Depending on the violation, the maintainers may decide that violations of this code of conduct that have happened outside of the scope of the community may deem an individual unwelcome, and take appropriate action to maintain the comfort and safety of its members. - -### Other Community Standards - -As a project on GitHub, this project is additionally covered by the [GitHub Community Guidelines](https://help.github.com/articles/github-community-guidelines/). - -Additionally, as a project hosted on npm, is is covered by [npm, Inc's Code of Conduct](https://www.npmjs.com/policies/conduct). - -Enforcement of those guidelines after violations overlapping with the above are the responsibility of the entities, and enforcement may happen in any or all of the services/communities. - -## Maintainer Enforcement Process - -Once the maintainers get involved, they will follow a documented series of steps and do their best to preserve the well-being of project members. This section covers actual concrete steps. - -### Contacting Maintainers - -You may get in touch with the maintainer team through any of the following methods: - - * Through email: - * [kzm@zkat.tech](mailto:kzm@zkat.tech) (Kat Marchán) - - * Through Twitter: - * [@maybekatz](https://twitter.com/maybekatz) (Kat Marchán) - -### Further Enforcement - -If you've already followed the [initial enforcement steps](#enforcement), these are the steps maintainers will take for further enforcement, as needed: - - 1. Repeat the request to stop. - 2. If the person doubles down, they will have offending messages removed or edited by a maintainers given an official warning. The PR or Issue may be locked. - 3. If the behavior continues or is repeated later, the person will be blocked from participating for 24 hours. - 4. If the behavior continues or is repeated after the temporary block, a long-term (6-12mo) ban will be used. - -On top of this, maintainers may remove any offending messages, images, contributions, etc, as they deem necessary. - -Maintainers reserve full rights to skip any of these steps, at their discretion, if the violation is considered to be a serious and/or immediate threat to the health and well-being of members of the community. These include any threats, serious physical or verbal attacks, and other such behavior that would be completely unacceptable in any social setting that puts our members at risk. - -Members expelled from events or venues with any sort of paid attendance will not be refunded. - -### Who Watches the Watchers? - -Maintainers and other leaders who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. These may include anything from removal from the maintainer team to a permanent ban from the community. - -Additionally, as a project hosted on both GitHub and npm, [their own Codes of Conducts may be applied against maintainers of this project](#other-community-standards), externally of this project's procedures. - -### Enforcement Examples - -#### The Best Case - -The vast majority of situations work out like this. This interaction is common, and generally positive. - -> Alex: "Yeah I used X and it was really crazy!" - -> Patt (not a maintainer): "Hey, could you not use that word? What about 'ridiculous' instead?" - -> Alex: "oh sorry, sure." -> edits old comment to say "it was really confusing!" - -#### The Maintainer Case - -Sometimes, though, you need to get maintainers involved. Maintainers will do their best to resolve conflicts, but people who were harmed by something **will take priority**. - -> Patt: "Honestly, sometimes I just really hate using $library and anyone who uses it probably sucks at their job." - -> Alex: "Whoa there, could you dial it back a bit? There's a CoC thing about attacking folks' tech use like that." - -> Patt: "I'm not attacking anyone, what's your problem?" - -> Alex: "@maintainers hey uh. Can someone look at this issue? Patt is getting a bit aggro. I tried to nudge them about it, but nope." - -> KeeperOfCommitBits: (on issue) "Hey Patt, maintainer here. Could you tone it down? This sort of attack is really not okay in this space." - -> Patt: "Leave me alone I haven't said anything bad wtf is wrong with you." - -> KeeperOfCommitBits: (deletes user's comment), "@patt I mean it. Please refer to the CoC over at (URL to this CoC) if you have questions, but you can consider this an actual warning. I'd appreciate it if you reworded your messages in this thread, since they made folks there uncomfortable. Let's try and be kind, yeah?" - -> Patt: "@keeperofbits Okay sorry. I'm just frustrated and I'm kinda burnt out and I guess I got carried away. I'll DM Alex a note apologizing and edit my messages. Sorry for the trouble." - -> KeeperOfCommitBits: "@patt Thanks for that. I hear you on the stress. Burnout sucks :/. Have a good one!" - -#### The Nope Case - -> PepeTheFrog🐸: "Hi, I am a literal actual nazi and I think white supremacists are quite fashionable." - -> Patt: "NOOOOPE. OH NOPE NOPE." - -> Alex: "JFC NO. NOPE. @keeperofbits NOPE NOPE LOOK HERE" - -> KeeperOfCommitBits: "👀 Nope. NOPE NOPE NOPE. 🔥" - -> PepeTheFrog🐸 has been banned from all organization or user repositories belonging to KeeperOfCommitBits. - -## Attribution - -This Code of Conduct was generated using [WeAllJS Code of Conduct Generator](https://npm.im/weallbehave), which is based on the [WeAllJS Code of -Conduct](https://wealljs.org/code-of-conduct), which is itself based on -[Contributor Covenant](http://contributor-covenant.org), version 1.4, available -at -[http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4), -and the LGBTQ in Technology Slack [Code of -Conduct](http://lgbtq.technology/coc.html). diff --git a/deps/npm/node_modules/libnpmorg/CONTRIBUTING.md b/deps/npm/node_modules/libnpmorg/CONTRIBUTING.md deleted file mode 100644 index eb4b58b03ef1a8..00000000000000 --- a/deps/npm/node_modules/libnpmorg/CONTRIBUTING.md +++ /dev/null @@ -1,256 +0,0 @@ -# Contributing - -## How do I... - -* [Use This Guide](#introduction)? -* Ask or Say Something? 🤔🐛😱 - * [Request Support](#request-support) - * [Report an Error or Bug](#report-an-error-or-bug) - * [Request a Feature](#request-a-feature) -* Make Something? 🤓👩🏽‍💻📜🍳 - * [Project Setup](#project-setup) - * [Contribute Documentation](#contribute-documentation) - * [Contribute Code](#contribute-code) -* Manage Something ✅🙆🏼💃👔 - * [Provide Support on Issues](#provide-support-on-issues) - * [Label Issues](#label-issues) - * [Clean Up Issues and PRs](#clean-up-issues-and-prs) - * [Review Pull Requests](#review-pull-requests) - * [Merge Pull Requests](#merge-pull-requests) - * [Tag a Release](#tag-a-release) - * [Join the Project Team](#join-the-project-team) -* Add a Guide Like This One [To My Project](#attribution)? 🤖😻👻 - -## Introduction - -Thank you so much for your interest in contributing!. All types of contributions are encouraged and valued. See the [table of contents](#toc) for different ways to help and details about how this project handles them!📝 - -Please make sure to read the relevant section before making your contribution! It will make it a lot easier for us maintainers to make the most of it and smooth out the experience for all involved. 💚 - -The [Project Team](#join-the-project-team) looks forward to your contributions. 🙌🏾✨ - -## Request Support - -If you have a question about this project, how to use it, or just need clarification about something: - -* Open an Issue at https://github.com/npm/libnpmorg/issues -* Provide as much context as you can about what you're running into. -* Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. If not, please be ready to provide that information if maintainers ask for it. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* Someone will try to have a response soon. -* If you or the maintainers don't respond to an issue for 30 days, the [issue will be closed](#clean-up-issues-and-prs). If you want to come back to it, reply (once, please), and we'll reopen the existing issue. Please avoid filing new issues as extensions of one you already made. - -## Report an Error or Bug - -If you run into an error or bug with the project: - -* Open an Issue at https://github.com/npm/libnpmorg/issues -* Include *reproduction steps* that someone else can follow to recreate the bug or error on their own. -* Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. If not, please be ready to provide that information if maintainers ask for it. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* A team member will try to reproduce the issue with your provided steps. If there are no repro steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as `needs-repro`. Bugs with the `needs-repro` tag will not be addressed until they are reproduced. -* If the team is able to reproduce the issue, it will be marked `needs-fix`, as well as possibly other tags (such as `critical`), and the issue will be left to be [implemented by someone](#contribute-code). -* If you or the maintainers don't respond to an issue for 30 days, the [issue will be closed](#clean-up-issues-and-prs). If you want to come back to it, reply (once, please), and we'll reopen the existing issue. Please avoid filing new issues as extensions of one you already made. -* `critical` issues may be left open, depending on perceived immediacy and severity, even past the 30 day deadline. - -## Request a Feature - -If the project doesn't do something you need or want it to do: - -* Open an Issue at https://github.com/npm/libnpmorg/issues -* Provide as much context as you can about what you're running into. -* Please try and be clear about why existing features and alternatives would not work for you. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* The project team will evaluate the feature request, possibly asking you more questions to understand its purpose and any relevant requirements. If the issue is closed, the team will convey their reasoning and suggest an alternative path forward. -* If the feature request is accepted, it will be marked for implementation with `feature-accepted`, which can then be done by either by a core team member or by anyone in the community who wants to [contribute code](#contribute-code). - -Note: The team is unlikely to be able to accept every single feature request that is filed. Please understand if they need to say no. - -## Project Setup - -So you wanna contribute some code! That's great! This project uses GitHub Pull Requests to manage contributions, so [read up on how to fork a GitHub project and file a PR](https://guides.github.com/activities/forking) if you've never done it before. - -If this seems like a lot or you aren't able to do all this setup, you might also be able to [edit the files directly](https://help.github.com/articles/editing-files-in-another-user-s-repository/) without having to do any of this setup. Yes, [even code](#contribute-code). - -If you want to go the usual route and run the project locally, though: - -* [Install Node.js](https://nodejs.org/en/download/) -* [Fork the project](https://guides.github.com/activities/forking/#fork) - -Then in your terminal: -* `cd path/to/your/clone` -* `npm install` -* `npm test` - -And you should be ready to go! - -## Contribute Documentation - -Documentation is a super important, critical part of this project. Docs are how we keep track of what we're doing, how, and why. It's how we stay on the same page about our policies. And it's how we tell others everything they need in order to be able to use this project -- or contribute to it. So thank you in advance. - -Documentation contributions of any size are welcome! Feel free to file a PR even if you're just rewording a sentence to be more clear, or fixing a spelling mistake! - -To contribute documentation: - -* [Set up the project](#project-setup). -* Edit or add any relevant documentation. -* Make sure your changes are formatted correctly and consistently with the rest of the documentation. -* Re-read what you wrote, and run a spellchecker on it to make sure you didn't miss anything. -* In your commit message(s), begin the first line with `docs: `. For example: `docs: Adding a doc contrib section to CONTRIBUTING.md`. -* Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). Documentation commits should use `docs(): `. -* Go to https://github.com/npm/libnpmorg/pulls and open a new pull request with your changes. -* If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. - -Once you've filed the PR: - -* One or more maintainers will use GitHub's review feature to review your PR. -* If the maintainer asks for any changes, edit your changes, push, and ask for another review. -* If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes. That's ok! We still really appreciate you taking the time to do it, and we don't take that lightly. 💚 -* If your PR gets accepted, it will be marked as such, and merged into the `latest` branch soon after. Your contribution will be distributed to the masses next time the maintainers [tag a release](#tag-a-release) - -## Contribute Code - -We like code commits a lot! They're super handy, and they keep the project going and doing the work it needs to do to be useful to others. - -Code contributions of just about any size are acceptable! - -The main difference between code contributions and documentation contributions is that contributing code requires inclusion of relevant tests for the code being added or changed. Contributions without accompanying tests will be held off until a test is added, unless the maintainers consider the specific tests to be either impossible, or way too much of a burden for such a contribution. - -To contribute code: - -* [Set up the project](#project-setup). -* Make any necessary changes to the source code. -* Include any [additional documentation](#contribute-documentation) the changes might need. -* Write tests that verify that your contribution works as expected. -* Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). -* Dependency updates, additions, or removals must be in individual commits, and the message must use the format: `(deps): PKG@VERSION`, where `` is any of the usual `conventional-changelog` prefixes, at your discretion. -* Go to https://github.com/npm/libnpmorg/pulls and open a new pull request with your changes. -* If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. - -Once you've filed the PR: - -* Barring special circumstances, maintainers will not review PRs until all checks pass (Travis, AppVeyor, etc). -* One or more maintainers will use GitHub's review feature to review your PR. -* If the maintainer asks for any changes, edit your changes, push, and ask for another review. Additional tags (such as `needs-tests`) will be added depending on the review. -* If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes. That's ok! We still really appreciate you taking the time to do it, and we don't take that lightly. 💚 -* If your PR gets accepted, it will be marked as such, and merged into the `latest` branch soon after. Your contribution will be distributed to the masses next time the maintainers [tag a release](#tag-a-release) - -## Provide Support on Issues - -[Needs Collaborator](#join-the-project-team): none - -Helping out other users with their questions is a really awesome way of contributing to any community. It's not uncommon for most of the issues on an open source projects being support-related questions by users trying to understand something they ran into, or find their way around a known bug. - -Sometimes, the `support` label will be added to things that turn out to actually be other things, like bugs or feature requests. In that case, suss out the details with the person who filed the original issue, add a comment explaining what the bug is, and change the label from `support` to `bug` or `feature`. If you can't do this yourself, @mention a maintainer so they can do it. - -In order to help other folks out with their questions: - -* Go to the issue tracker and [filter open issues by the `support` label](https://github.com/npm/libnpmorg/issues?q=is%3Aopen+is%3Aissue+label%3Asupport). -* Read through the list until you find something that you're familiar enough with to give an answer to. -* Respond to the issue with whatever details are needed to clarify the question, or get more details about what's going on. -* Once the discussion wraps up and things are clarified, either close the issue, or ask the original issue filer (or a maintainer) to close it for you. - -Some notes on picking up support issues: - -* Avoid responding to issues you don't know you can answer accurately. -* As much as possible, try to refer to past issues with accepted answers. Link to them from your replies with the `#123` format. -* Be kind and patient with users -- often, folks who have run into confusing things might be upset or impatient. This is ok. Try to understand where they're coming from, and if you're too uncomfortable with the tone, feel free to stay away or withdraw from the issue. (note: if the user is outright hostile or is violating the CoC, [refer to the Code of Conduct](CODE_OF_CONDUCT.md) to resolve the conflict). - -## Label Issues - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -One of the most important tasks in handling issues is labeling them usefully and accurately. All other tasks involving issues ultimately rely on the issue being classified in such a way that relevant parties looking to do their own tasks can find them quickly and easily. - -In order to label issues, [open up the list of unlabeled issues](https://github.com/npm/libnpmorg/issues?q=is%3Aopen+is%3Aissue+no%3Alabel) and, **from newest to oldest**, read through each one and apply issue labels according to the table below. If you're unsure about what label to apply, skip the issue and try the next one: don't feel obligated to label each and every issue yourself! - -Label | Apply When | Notes ---- | --- | --- -`bug` | Cases where the code (or documentation) is behaving in a way it wasn't intended to. | If something is happening that surprises the *user* but does not go against the way the code is designed, it should use the `enhancement` label. -`critical` | Added to `bug` issues if the problem described makes the code completely unusable in a common situation. | -`documentation` | Added to issues or pull requests that affect any of the documentation for the project. | Can be combined with other labels, such as `bug` or `enhancement`. -`duplicate` | Added to issues or PRs that refer to the exact same issue as another one that's been previously labeled. | Duplicate issues should be marked and closed right away, with a message referencing the issue it's a duplicate of (with `#123`) -`enhancement` | Added to [feature requests](#request-a-feature), PRs, or documentation issues that are purely additive: the code or docs currently work as expected, but a change is being requested or suggested. | -`help wanted` | Applied by [Committers](#join-the-project-team) to issues and PRs that they would like to get outside help for. Generally, this means it's lower priority for the maintainer team to itself implement, but that the community is encouraged to pick up if they so desire | Never applied on first-pass labeling. -`in-progress` | Applied by [Committers](#join-the-project-team) to PRs that are pending some work before they're ready for review. | The original PR submitter should @mention the team member that applied the label once the PR is complete. -`performance` | This issue or PR is directly related to improving performance. | -`refactor` | Added to issues or PRs that deal with cleaning up or modifying the project for the betterment of it. | -`starter` | Applied by [Committers](#join-the-project-team) to issues that they consider good introductions to the project for people who have not contributed before. These are not necessarily "easy", but rather focused around how much context is necessary in order to understand what needs to be done for this project in particular. | Existing project members are expected to stay away from these unless they increase in priority. -`support` | This issue is either asking a question about how to use the project, clarifying the reason for unexpected behavior, or possibly reporting a `bug` but does not have enough detail yet to determine whether it would count as such. | The label should be switched to `bug` if reliable reproduction steps are provided. Issues primarily with unintended configurations of a user's environment are not considered bugs, even if they cause crashes. -`tests` | This issue or PR either requests or adds primarily tests to the project. | If a PR is pending tests, that will be handled through the [PR review process](#review-pull-requests) -`wontfix` | Labelers may apply this label to issues that clearly have nothing at all to do with the project or are otherwise entirely outside of its scope/sphere of influence. [Committers](#join-the-project-team) may apply this label and close an issue or PR if they decide to pass on an otherwise relevant issue. | The issue or PR should be closed as soon as the label is applied, and a clear explanation provided of why the label was used. Contributors are free to contest the labeling, but the decision ultimately falls on committers as to whether to accept something or not. - -## Clean Up Issues and PRs - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -Issues and PRs can go stale after a while. Maybe they're abandoned. Maybe the team will just plain not have time to address them any time soon. - -In these cases, they should be closed until they're brought up again or the interaction starts over. - -To clean up issues and PRs: - -* Search the issue tracker for issues or PRs, and add the term `updated:<=YYYY-MM-DD`, where the date is 30 days before today. -* Go through each issue *from oldest to newest*, and close them if **all of the following are true**: - * not opened by a maintainer - * not marked as `critical` - * not marked as `starter` or `help wanted` (these might stick around for a while, in general, as they're intended to be available) - * no explicit messages in the comments asking for it to be left open - * does not belong to a milestone -* Leave a message when closing saying "Cleaning up stale issue. Please reopen or ping us if and when you're ready to resume this. See https://github.com/npm/libnpmorg/blob/latest/CONTRIBUTING.md#clean-up-issues-and-prs for more details." - -## Review Pull Requests - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -While anyone can comment on a PR, add feedback, etc, PRs are only *approved* by team members with Issue Tracker or higher permissions. - -PR reviews use [GitHub's own review feature](https://help.github.com/articles/about-pull-request-reviews/), which manages comments, approval, and review iteration. - -Some notes: - -* You may ask for minor changes ("nitpicks"), but consider whether they are really blockers to merging: try to err on the side of "approve, with comments". -* *ALL PULL REQUESTS* should be covered by a test: either by a previously-failing test, an existing test that covers the entire functionality of the submitted code, or new tests to verify any new/changed behavior. All tests must also pass and follow established conventions. Test coverage should not drop, unless the specific case is considered reasonable by maintainers. -* Please make sure you're familiar with the code or documentation being updated, unless it's a minor change (spellchecking, minor formatting, etc). You may @mention another project member who you think is better suited for the review, but still provide a non-approving review of your own. -* Be extra kind: people who submit code/doc contributions are putting themselves in a pretty vulnerable position, and have put time and care into what they've done (even if that's not obvious to you!) -- always respond with respect, be understanding, but don't feel like you need to sacrifice your standards for their sake, either. Just don't be a jerk about it? - -## Merge Pull Requests - -[Needs Collaborator](#join-the-project-team): Committer - -TBD - need to hash out a bit more of this process. - -## Tag A Release - -[Needs Collaborator](#join-the-project-team): Committer - -TBD - need to hash out a bit more of this process. The most important bit here is probably that all tests must pass, and tags must use [semver](https://semver.org). - -## Join the Project Team - -### Ways to Join - -There are many ways to contribute! Most of them don't require any official status unless otherwise noted. That said, there's a couple of positions that grant special repository abilities, and this section describes how they're granted and what they do. - -All of the below positions are granted based on the project team's needs, as well as their consensus opinion about whether they would like to work with the person and think that they would fit well into that position. The process is relatively informal, and it's likely that people who express interest in participating can just be granted the permissions they'd like. - -You can spot a collaborator on the repo by looking for the `[Collaborator]` or `[Owner]` tags next to their names. - -Permission | Description ---- | --- -Issue Tracker | Granted to contributors who express a strong interest in spending time on the project's issue tracker. These tasks are mainly [labeling issues](#label-issues), [cleaning up old ones](#clean-up-issues-and-prs), and [reviewing pull requests](#review-pull-requests), as well as all the usual things non-team-member contributors can do. Issue handlers should not merge pull requests, tag releases, or directly commit code themselves: that should still be done through the usual pull request process. Becoming an Issue Handler means the project team trusts you to understand enough of the team's process and context to implement it on the issue tracker. -Committer | Granted to contributors who want to handle the actual pull request merges, tagging new versions, etc. Committers should have a good level of familiarity with the codebase, and enough context to understand the implications of various changes, as well as a good sense of the will and expectations of the project team. -Admin/Owner | Granted to people ultimately responsible for the project, its community, etc. - -## Attribution - -This guide was generated using the WeAllJS `CONTRIBUTING.md` generator. [Make your own](https://npm.im/weallcontribute)! diff --git a/deps/npm/node_modules/libnpmpublish/CODE_OF_CONDUCT.md b/deps/npm/node_modules/libnpmpublish/CODE_OF_CONDUCT.md deleted file mode 100644 index aeb72f598dcb45..00000000000000 --- a/deps/npm/node_modules/libnpmpublish/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,151 +0,0 @@ -# Code of Conduct - -## When Something Happens - -If you see a Code of Conduct violation, follow these steps: - -1. Let the person know that what they did is not appropriate and ask them to stop and/or edit their message(s) or commits. -2. That person should immediately stop the behavior and correct the issue. -3. If this doesn’t happen, or if you're uncomfortable speaking up, [contact the maintainers](#contacting-maintainers). -4. As soon as available, a maintainer will look into the issue, and take [further action (see below)](#further-enforcement), starting with a warning, then temporary block, then long-term repo or organization ban. - -When reporting, please include any relevant details, links, screenshots, context, or other information that may be used to better understand and resolve the situation. - -**The maintainer team will prioritize the well-being and comfort of the recipients of the violation over the comfort of the violator.** See [some examples below](#enforcement-examples). - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers of this project pledge to making participation in our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, technical preferences, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language. - * Being respectful of differing viewpoints and experiences. - * Gracefully accepting constructive feedback. - * Focusing on what is best for the community. - * Showing empathy and kindness towards other community members. - * Encouraging and raising up your peers in the project so you can all bask in hacks and glory. - -Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances, including when simulated online. The only exception to sexual topics is channels/spaces specifically for topics of sexual identity. - * Casual mention of slavery or indentured servitude and/or false comparisons of one's occupation or situation to slavery. Please consider using or asking about alternate terminology when referring to such metaphors in technology. - * Making light of/making mocking comments about trigger warnings and content warnings. - * Trolling, insulting/derogatory comments, and personal or political attacks. - * Public or private harassment, deliberate intimidation, or threats. - * Publishing others' private information, such as a physical or electronic address, without explicit permission. This includes any sort of "outing" of any aspect of someone's identity without their consent. - * Publishing private screenshots or quotes of interactions in the context of this project without all quoted users' *explicit* consent. - * Publishing of private communication that doesn't have to do with reporting harrassment. - * Any of the above even when [presented as "ironic" or "joking"](https://en.wikipedia.org/wiki/Hipster_racism). - * Any attempt to present "reverse-ism" versions of the above as violations. Examples of reverse-isms are "reverse racism", "reverse sexism", "heterophobia", and "cisphobia". - * Unsolicited explanations under the assumption that someone doesn't already know it. Ask before you teach! Don't assume what people's knowledge gaps are. - * [Feigning or exaggerating surprise](https://www.recurse.com/manual#no-feigned-surprise) when someone admits to not knowing something. - * "[Well-actuallies](https://www.recurse.com/manual#no-well-actuallys)" - * Other conduct which could reasonably be considered inappropriate in a professional or community setting. - -## Scope - -This Code of Conduct applies both within spaces involving this project and in other spaces involving community members. This includes the repository, its Pull Requests and Issue tracker, its Twitter community, private email communications in the context of the project, and any events where members of the project are participating, as well as adjacent communities and venues affecting the project's members. - -Depending on the violation, the maintainers may decide that violations of this code of conduct that have happened outside of the scope of the community may deem an individual unwelcome, and take appropriate action to maintain the comfort and safety of its members. - -### Other Community Standards - -As a project on GitHub, this project is additionally covered by the [GitHub Community Guidelines](https://help.github.com/articles/github-community-guidelines/). - -Additionally, as a project hosted on npm, is is covered by [npm, Inc's Code of Conduct](https://www.npmjs.com/policies/conduct). - -Enforcement of those guidelines after violations overlapping with the above are the responsibility of the entities, and enforcement may happen in any or all of the services/communities. - -## Maintainer Enforcement Process - -Once the maintainers get involved, they will follow a documented series of steps and do their best to preserve the well-being of project members. This section covers actual concrete steps. - -### Contacting Maintainers - -You may get in touch with the maintainer team through any of the following methods: - - * Through email: - * [kzm@zkat.tech](mailto:kzm@zkat.tech) (Kat Marchán) - - * Through Twitter: - * [@maybekatz](https://twitter.com/maybekatz) (Kat Marchán) - -### Further Enforcement - -If you've already followed the [initial enforcement steps](#enforcement), these are the steps maintainers will take for further enforcement, as needed: - - 1. Repeat the request to stop. - 2. If the person doubles down, they will have offending messages removed or edited by a maintainers given an official warning. The PR or Issue may be locked. - 3. If the behavior continues or is repeated later, the person will be blocked from participating for 24 hours. - 4. If the behavior continues or is repeated after the temporary block, a long-term (6-12mo) ban will be used. - -On top of this, maintainers may remove any offending messages, images, contributions, etc, as they deem necessary. - -Maintainers reserve full rights to skip any of these steps, at their discretion, if the violation is considered to be a serious and/or immediate threat to the health and well-being of members of the community. These include any threats, serious physical or verbal attacks, and other such behavior that would be completely unacceptable in any social setting that puts our members at risk. - -Members expelled from events or venues with any sort of paid attendance will not be refunded. - -### Who Watches the Watchers? - -Maintainers and other leaders who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. These may include anything from removal from the maintainer team to a permanent ban from the community. - -Additionally, as a project hosted on both GitHub and npm, [their own Codes of Conducts may be applied against maintainers of this project](#other-community-standards), externally of this project's procedures. - -### Enforcement Examples - -#### The Best Case - -The vast majority of situations work out like this. This interaction is common, and generally positive. - -> Alex: "Yeah I used X and it was really crazy!" - -> Patt (not a maintainer): "Hey, could you not use that word? What about 'ridiculous' instead?" - -> Alex: "oh sorry, sure." -> edits old comment to say "it was really confusing!" - -#### The Maintainer Case - -Sometimes, though, you need to get maintainers involved. Maintainers will do their best to resolve conflicts, but people who were harmed by something **will take priority**. - -> Patt: "Honestly, sometimes I just really hate using $library and anyone who uses it probably sucks at their job." - -> Alex: "Whoa there, could you dial it back a bit? There's a CoC thing about attacking folks' tech use like that." - -> Patt: "I'm not attacking anyone, what's your problem?" - -> Alex: "@maintainers hey uh. Can someone look at this issue? Patt is getting a bit aggro. I tried to nudge them about it, but nope." - -> KeeperOfCommitBits: (on issue) "Hey Patt, maintainer here. Could you tone it down? This sort of attack is really not okay in this space." - -> Patt: "Leave me alone I haven't said anything bad wtf is wrong with you." - -> KeeperOfCommitBits: (deletes user's comment), "@patt I mean it. Please refer to the CoC over at (URL to this CoC) if you have questions, but you can consider this an actual warning. I'd appreciate it if you reworded your messages in this thread, since they made folks there uncomfortable. Let's try and be kind, yeah?" - -> Patt: "@keeperofbits Okay sorry. I'm just frustrated and I'm kinda burnt out and I guess I got carried away. I'll DM Alex a note apologizing and edit my messages. Sorry for the trouble." - -> KeeperOfCommitBits: "@patt Thanks for that. I hear you on the stress. Burnout sucks :/. Have a good one!" - -#### The Nope Case - -> PepeTheFrog🐸: "Hi, I am a literal actual nazi and I think white supremacists are quite fashionable." - -> Patt: "NOOOOPE. OH NOPE NOPE." - -> Alex: "JFC NO. NOPE. @keeperofbits NOPE NOPE LOOK HERE" - -> KeeperOfCommitBits: "👀 Nope. NOPE NOPE NOPE. 🔥" - -> PepeTheFrog🐸 has been banned from all organization or user repositories belonging to KeeperOfCommitBits. - -## Attribution - -This Code of Conduct was generated using [WeAllJS Code of Conduct Generator](https://npm.im/weallbehave), which is based on the [WeAllJS Code of -Conduct](https://wealljs.org/code-of-conduct), which is itself based on -[Contributor Covenant](http://contributor-covenant.org), version 1.4, available -at -[http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4), -and the LGBTQ in Technology Slack [Code of -Conduct](http://lgbtq.technology/coc.html). diff --git a/deps/npm/node_modules/libnpmpublish/CONTRIBUTING.md b/deps/npm/node_modules/libnpmpublish/CONTRIBUTING.md deleted file mode 100644 index 780044ffcc0f36..00000000000000 --- a/deps/npm/node_modules/libnpmpublish/CONTRIBUTING.md +++ /dev/null @@ -1,256 +0,0 @@ -# Contributing - -## How do I... - -* [Use This Guide](#introduction)? -* Ask or Say Something? 🤔🐛😱 - * [Request Support](#request-support) - * [Report an Error or Bug](#report-an-error-or-bug) - * [Request a Feature](#request-a-feature) -* Make Something? 🤓👩🏽‍💻📜🍳 - * [Project Setup](#project-setup) - * [Contribute Documentation](#contribute-documentation) - * [Contribute Code](#contribute-code) -* Manage Something ✅🙆🏼💃👔 - * [Provide Support on Issues](#provide-support-on-issues) - * [Label Issues](#label-issues) - * [Clean Up Issues and PRs](#clean-up-issues-and-prs) - * [Review Pull Requests](#review-pull-requests) - * [Merge Pull Requests](#merge-pull-requests) - * [Tag a Release](#tag-a-release) - * [Join the Project Team](#join-the-project-team) -* Add a Guide Like This One [To My Project](#attribution)? 🤖😻👻 - -## Introduction - -Thank you so much for your interest in contributing!. All types of contributions are encouraged and valued. See the [table of contents](#toc) for different ways to help and details about how this project handles them!📝 - -Please make sure to read the relevant section before making your contribution! It will make it a lot easier for us maintainers to make the most of it and smooth out the experience for all involved. 💚 - -The [Project Team](#join-the-project-team) looks forward to your contributions. 🙌🏾✨ - -## Request Support - -If you have a question about this project, how to use it, or just need clarification about something: - -* Open an Issue at https://github.com/npm/libnpmpublish/issues -* Provide as much context as you can about what you're running into. -* Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. If not, please be ready to provide that information if maintainers ask for it. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* Someone will try to have a response soon. -* If you or the maintainers don't respond to an issue for 30 days, the [issue will be closed](#clean-up-issues-and-prs). If you want to come back to it, reply (once, please), and we'll reopen the existing issue. Please avoid filing new issues as extensions of one you already made. - -## Report an Error or Bug - -If you run into an error or bug with the project: - -* Open an Issue at https://github.com/npm/libnpmpublish/issues -* Include *reproduction steps* that someone else can follow to recreate the bug or error on their own. -* Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. If not, please be ready to provide that information if maintainers ask for it. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* A team member will try to reproduce the issue with your provided steps. If there are no repro steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as `needs-repro`. Bugs with the `needs-repro` tag will not be addressed until they are reproduced. -* If the team is able to reproduce the issue, it will be marked `needs-fix`, as well as possibly other tags (such as `critical`), and the issue will be left to be [implemented by someone](#contribute-code). -* If you or the maintainers don't respond to an issue for 30 days, the [issue will be closed](#clean-up-issues-and-prs). If you want to come back to it, reply (once, please), and we'll reopen the existing issue. Please avoid filing new issues as extensions of one you already made. -* `critical` issues may be left open, depending on perceived immediacy and severity, even past the 30 day deadline. - -## Request a Feature - -If the project doesn't do something you need or want it to do: - -* Open an Issue at https://github.com/npm/libnpmpublish/issues -* Provide as much context as you can about what you're running into. -* Please try and be clear about why existing features and alternatives would not work for you. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* The project team will evaluate the feature request, possibly asking you more questions to understand its purpose and any relevant requirements. If the issue is closed, the team will convey their reasoning and suggest an alternative path forward. -* If the feature request is accepted, it will be marked for implementation with `feature-accepted`, which can then be done by either by a core team member or by anyone in the community who wants to [contribute code](#contribute-code). - -Note: The team is unlikely to be able to accept every single feature request that is filed. Please understand if they need to say no. - -## Project Setup - -So you wanna contribute some code! That's great! This project uses GitHub Pull Requests to manage contributions, so [read up on how to fork a GitHub project and file a PR](https://guides.github.com/activities/forking) if you've never done it before. - -If this seems like a lot or you aren't able to do all this setup, you might also be able to [edit the files directly](https://help.github.com/articles/editing-files-in-another-user-s-repository/) without having to do any of this setup. Yes, [even code](#contribute-code). - -If you want to go the usual route and run the project locally, though: - -* [Install Node.js](https://nodejs.org/en/download/) -* [Fork the project](https://guides.github.com/activities/forking/#fork) - -Then in your terminal: -* `cd path/to/your/clone` -* `npm install` -* `npm test` - -And you should be ready to go! - -## Contribute Documentation - -Documentation is a super important, critical part of this project. Docs are how we keep track of what we're doing, how, and why. It's how we stay on the same page about our policies. And it's how we tell others everything they need in order to be able to use this project -- or contribute to it. So thank you in advance. - -Documentation contributions of any size are welcome! Feel free to file a PR even if you're just rewording a sentence to be more clear, or fixing a spelling mistake! - -To contribute documentation: - -* [Set up the project](#project-setup). -* Edit or add any relevant documentation. -* Make sure your changes are formatted correctly and consistently with the rest of the documentation. -* Re-read what you wrote, and run a spellchecker on it to make sure you didn't miss anything. -* In your commit message(s), begin the first line with `docs: `. For example: `docs: Adding a doc contrib section to CONTRIBUTING.md`. -* Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). Documentation commits should use `docs(): `. -* Go to https://github.com/npm/libnpmpublish/pulls and open a new pull request with your changes. -* If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. - -Once you've filed the PR: - -* One or more maintainers will use GitHub's review feature to review your PR. -* If the maintainer asks for any changes, edit your changes, push, and ask for another review. -* If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes. That's ok! We still really appreciate you taking the time to do it, and we don't take that lightly. 💚 -* If your PR gets accepted, it will be marked as such, and merged into the `latest` branch soon after. Your contribution will be distributed to the masses next time the maintainers [tag a release](#tag-a-release) - -## Contribute Code - -We like code commits a lot! They're super handy, and they keep the project going and doing the work it needs to do to be useful to others. - -Code contributions of just about any size are acceptable! - -The main difference between code contributions and documentation contributions is that contributing code requires inclusion of relevant tests for the code being added or changed. Contributions without accompanying tests will be held off until a test is added, unless the maintainers consider the specific tests to be either impossible, or way too much of a burden for such a contribution. - -To contribute code: - -* [Set up the project](#project-setup). -* Make any necessary changes to the source code. -* Include any [additional documentation](#contribute-documentation) the changes might need. -* Write tests that verify that your contribution works as expected. -* Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). -* Dependency updates, additions, or removals must be in individual commits, and the message must use the format: `(deps): PKG@VERSION`, where `` is any of the usual `conventional-changelog` prefixes, at your discretion. -* Go to https://github.com/npm/libnpmpublish/pulls and open a new pull request with your changes. -* If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. - -Once you've filed the PR: - -* Barring special circumstances, maintainers will not review PRs until all checks pass (Travis, AppVeyor, etc). -* One or more maintainers will use GitHub's review feature to review your PR. -* If the maintainer asks for any changes, edit your changes, push, and ask for another review. Additional tags (such as `needs-tests`) will be added depending on the review. -* If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes. That's ok! We still really appreciate you taking the time to do it, and we don't take that lightly. 💚 -* If your PR gets accepted, it will be marked as such, and merged into the `latest` branch soon after. Your contribution will be distributed to the masses next time the maintainers [tag a release](#tag-a-release) - -## Provide Support on Issues - -[Needs Collaborator](#join-the-project-team): none - -Helping out other users with their questions is a really awesome way of contributing to any community. It's not uncommon for most of the issues on an open source projects being support-related questions by users trying to understand something they ran into, or find their way around a known bug. - -Sometimes, the `support` label will be added to things that turn out to actually be other things, like bugs or feature requests. In that case, suss out the details with the person who filed the original issue, add a comment explaining what the bug is, and change the label from `support` to `bug` or `feature`. If you can't do this yourself, @mention a maintainer so they can do it. - -In order to help other folks out with their questions: - -* Go to the issue tracker and [filter open issues by the `support` label](https://github.com/npm/libnpmpublish/issues?q=is%3Aopen+is%3Aissue+label%3Asupport). -* Read through the list until you find something that you're familiar enough with to give an answer to. -* Respond to the issue with whatever details are needed to clarify the question, or get more details about what's going on. -* Once the discussion wraps up and things are clarified, either close the issue, or ask the original issue filer (or a maintainer) to close it for you. - -Some notes on picking up support issues: - -* Avoid responding to issues you don't know you can answer accurately. -* As much as possible, try to refer to past issues with accepted answers. Link to them from your replies with the `#123` format. -* Be kind and patient with users -- often, folks who have run into confusing things might be upset or impatient. This is ok. Try to understand where they're coming from, and if you're too uncomfortable with the tone, feel free to stay away or withdraw from the issue. (note: if the user is outright hostile or is violating the CoC, [refer to the Code of Conduct](CODE_OF_CONDUCT.md) to resolve the conflict). - -## Label Issues - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -One of the most important tasks in handling issues is labeling them usefully and accurately. All other tasks involving issues ultimately rely on the issue being classified in such a way that relevant parties looking to do their own tasks can find them quickly and easily. - -In order to label issues, [open up the list of unlabeled issues](https://github.com/npm/libnpmpublish/issues?q=is%3Aopen+is%3Aissue+no%3Alabel) and, **from newest to oldest**, read through each one and apply issue labels according to the table below. If you're unsure about what label to apply, skip the issue and try the next one: don't feel obligated to label each and every issue yourself! - -Label | Apply When | Notes ---- | --- | --- -`bug` | Cases where the code (or documentation) is behaving in a way it wasn't intended to. | If something is happening that surprises the *user* but does not go against the way the code is designed, it should use the `enhancement` label. -`critical` | Added to `bug` issues if the problem described makes the code completely unusable in a common situation. | -`documentation` | Added to issues or pull requests that affect any of the documentation for the project. | Can be combined with other labels, such as `bug` or `enhancement`. -`duplicate` | Added to issues or PRs that refer to the exact same issue as another one that's been previously labeled. | Duplicate issues should be marked and closed right away, with a message referencing the issue it's a duplicate of (with `#123`) -`enhancement` | Added to [feature requests](#request-a-feature), PRs, or documentation issues that are purely additive: the code or docs currently work as expected, but a change is being requested or suggested. | -`help wanted` | Applied by [Committers](#join-the-project-team) to issues and PRs that they would like to get outside help for. Generally, this means it's lower priority for the maintainer team to itself implement, but that the community is encouraged to pick up if they so desire | Never applied on first-pass labeling. -`in-progress` | Applied by [Committers](#join-the-project-team) to PRs that are pending some work before they're ready for review. | The original PR submitter should @mention the team member that applied the label once the PR is complete. -`performance` | This issue or PR is directly related to improving performance. | -`refactor` | Added to issues or PRs that deal with cleaning up or modifying the project for the betterment of it. | -`starter` | Applied by [Committers](#join-the-project-team) to issues that they consider good introductions to the project for people who have not contributed before. These are not necessarily "easy", but rather focused around how much context is necessary in order to understand what needs to be done for this project in particular. | Existing project members are expected to stay away from these unless they increase in priority. -`support` | This issue is either asking a question about how to use the project, clarifying the reason for unexpected behavior, or possibly reporting a `bug` but does not have enough detail yet to determine whether it would count as such. | The label should be switched to `bug` if reliable reproduction steps are provided. Issues primarily with unintended configurations of a user's environment are not considered bugs, even if they cause crashes. -`tests` | This issue or PR either requests or adds primarily tests to the project. | If a PR is pending tests, that will be handled through the [PR review process](#review-pull-requests) -`wontfix` | Labelers may apply this label to issues that clearly have nothing at all to do with the project or are otherwise entirely outside of its scope/sphere of influence. [Committers](#join-the-project-team) may apply this label and close an issue or PR if they decide to pass on an otherwise relevant issue. | The issue or PR should be closed as soon as the label is applied, and a clear explanation provided of why the label was used. Contributors are free to contest the labeling, but the decision ultimately falls on committers as to whether to accept something or not. - -## Clean Up Issues and PRs - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -Issues and PRs can go stale after a while. Maybe they're abandoned. Maybe the team will just plain not have time to address them any time soon. - -In these cases, they should be closed until they're brought up again or the interaction starts over. - -To clean up issues and PRs: - -* Search the issue tracker for issues or PRs, and add the term `updated:<=YYYY-MM-DD`, where the date is 30 days before today. -* Go through each issue *from oldest to newest*, and close them if **all of the following are true**: - * not opened by a maintainer - * not marked as `critical` - * not marked as `starter` or `help wanted` (these might stick around for a while, in general, as they're intended to be available) - * no explicit messages in the comments asking for it to be left open - * does not belong to a milestone -* Leave a message when closing saying "Cleaning up stale issue. Please reopen or ping us if and when you're ready to resume this. See https://github.com/npm/libnpmpublish/blob/latest/CONTRIBUTING.md#clean-up-issues-and-prs for more details." - -## Review Pull Requests - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -While anyone can comment on a PR, add feedback, etc, PRs are only *approved* by team members with Issue Tracker or higher permissions. - -PR reviews use [GitHub's own review feature](https://help.github.com/articles/about-pull-request-reviews/), which manages comments, approval, and review iteration. - -Some notes: - -* You may ask for minor changes ("nitpicks"), but consider whether they are really blockers to merging: try to err on the side of "approve, with comments". -* *ALL PULL REQUESTS* should be covered by a test: either by a previously-failing test, an existing test that covers the entire functionality of the submitted code, or new tests to verify any new/changed behavior. All tests must also pass and follow established conventions. Test coverage should not drop, unless the specific case is considered reasonable by maintainers. -* Please make sure you're familiar with the code or documentation being updated, unless it's a minor change (spellchecking, minor formatting, etc). You may @mention another project member who you think is better suited for the review, but still provide a non-approving review of your own. -* Be extra kind: people who submit code/doc contributions are putting themselves in a pretty vulnerable position, and have put time and care into what they've done (even if that's not obvious to you!) -- always respond with respect, be understanding, but don't feel like you need to sacrifice your standards for their sake, either. Just don't be a jerk about it? - -## Merge Pull Requests - -[Needs Collaborator](#join-the-project-team): Committer - -TBD - need to hash out a bit more of this process. - -## Tag A Release - -[Needs Collaborator](#join-the-project-team): Committer - -TBD - need to hash out a bit more of this process. The most important bit here is probably that all tests must pass, and tags must use [semver](https://semver.org). - -## Join the Project Team - -### Ways to Join - -There are many ways to contribute! Most of them don't require any official status unless otherwise noted. That said, there's a couple of positions that grant special repository abilities, and this section describes how they're granted and what they do. - -All of the below positions are granted based on the project team's needs, as well as their consensus opinion about whether they would like to work with the person and think that they would fit well into that position. The process is relatively informal, and it's likely that people who express interest in participating can just be granted the permissions they'd like. - -You can spot a collaborator on the repo by looking for the `[Collaborator]` or `[Owner]` tags next to their names. - -Permission | Description ---- | --- -Issue Tracker | Granted to contributors who express a strong interest in spending time on the project's issue tracker. These tasks are mainly [labeling issues](#label-issues), [cleaning up old ones](#clean-up-issues-and-prs), and [reviewing pull requests](#review-pull-requests), as well as all the usual things non-team-member contributors can do. Issue handlers should not merge pull requests, tag releases, or directly commit code themselves: that should still be done through the usual pull request process. Becoming an Issue Handler means the project team trusts you to understand enough of the team's process and context to implement it on the issue tracker. -Committer | Granted to contributors who want to handle the actual pull request merges, tagging new versions, etc. Committers should have a good level of familiarity with the codebase, and enough context to understand the implications of various changes, as well as a good sense of the will and expectations of the project team. -Admin/Owner | Granted to people ultimately responsible for the project, its community, etc. - -## Attribution - -This guide was generated using the WeAllJS `CONTRIBUTING.md` generator. [Make your own](https://npm.im/weallcontribute)! diff --git a/deps/npm/node_modules/libnpmsearch/CODE_OF_CONDUCT.md b/deps/npm/node_modules/libnpmsearch/CODE_OF_CONDUCT.md deleted file mode 100644 index aeb72f598dcb45..00000000000000 --- a/deps/npm/node_modules/libnpmsearch/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,151 +0,0 @@ -# Code of Conduct - -## When Something Happens - -If you see a Code of Conduct violation, follow these steps: - -1. Let the person know that what they did is not appropriate and ask them to stop and/or edit their message(s) or commits. -2. That person should immediately stop the behavior and correct the issue. -3. If this doesn’t happen, or if you're uncomfortable speaking up, [contact the maintainers](#contacting-maintainers). -4. As soon as available, a maintainer will look into the issue, and take [further action (see below)](#further-enforcement), starting with a warning, then temporary block, then long-term repo or organization ban. - -When reporting, please include any relevant details, links, screenshots, context, or other information that may be used to better understand and resolve the situation. - -**The maintainer team will prioritize the well-being and comfort of the recipients of the violation over the comfort of the violator.** See [some examples below](#enforcement-examples). - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers of this project pledge to making participation in our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, technical preferences, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language. - * Being respectful of differing viewpoints and experiences. - * Gracefully accepting constructive feedback. - * Focusing on what is best for the community. - * Showing empathy and kindness towards other community members. - * Encouraging and raising up your peers in the project so you can all bask in hacks and glory. - -Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances, including when simulated online. The only exception to sexual topics is channels/spaces specifically for topics of sexual identity. - * Casual mention of slavery or indentured servitude and/or false comparisons of one's occupation or situation to slavery. Please consider using or asking about alternate terminology when referring to such metaphors in technology. - * Making light of/making mocking comments about trigger warnings and content warnings. - * Trolling, insulting/derogatory comments, and personal or political attacks. - * Public or private harassment, deliberate intimidation, or threats. - * Publishing others' private information, such as a physical or electronic address, without explicit permission. This includes any sort of "outing" of any aspect of someone's identity without their consent. - * Publishing private screenshots or quotes of interactions in the context of this project without all quoted users' *explicit* consent. - * Publishing of private communication that doesn't have to do with reporting harrassment. - * Any of the above even when [presented as "ironic" or "joking"](https://en.wikipedia.org/wiki/Hipster_racism). - * Any attempt to present "reverse-ism" versions of the above as violations. Examples of reverse-isms are "reverse racism", "reverse sexism", "heterophobia", and "cisphobia". - * Unsolicited explanations under the assumption that someone doesn't already know it. Ask before you teach! Don't assume what people's knowledge gaps are. - * [Feigning or exaggerating surprise](https://www.recurse.com/manual#no-feigned-surprise) when someone admits to not knowing something. - * "[Well-actuallies](https://www.recurse.com/manual#no-well-actuallys)" - * Other conduct which could reasonably be considered inappropriate in a professional or community setting. - -## Scope - -This Code of Conduct applies both within spaces involving this project and in other spaces involving community members. This includes the repository, its Pull Requests and Issue tracker, its Twitter community, private email communications in the context of the project, and any events where members of the project are participating, as well as adjacent communities and venues affecting the project's members. - -Depending on the violation, the maintainers may decide that violations of this code of conduct that have happened outside of the scope of the community may deem an individual unwelcome, and take appropriate action to maintain the comfort and safety of its members. - -### Other Community Standards - -As a project on GitHub, this project is additionally covered by the [GitHub Community Guidelines](https://help.github.com/articles/github-community-guidelines/). - -Additionally, as a project hosted on npm, is is covered by [npm, Inc's Code of Conduct](https://www.npmjs.com/policies/conduct). - -Enforcement of those guidelines after violations overlapping with the above are the responsibility of the entities, and enforcement may happen in any or all of the services/communities. - -## Maintainer Enforcement Process - -Once the maintainers get involved, they will follow a documented series of steps and do their best to preserve the well-being of project members. This section covers actual concrete steps. - -### Contacting Maintainers - -You may get in touch with the maintainer team through any of the following methods: - - * Through email: - * [kzm@zkat.tech](mailto:kzm@zkat.tech) (Kat Marchán) - - * Through Twitter: - * [@maybekatz](https://twitter.com/maybekatz) (Kat Marchán) - -### Further Enforcement - -If you've already followed the [initial enforcement steps](#enforcement), these are the steps maintainers will take for further enforcement, as needed: - - 1. Repeat the request to stop. - 2. If the person doubles down, they will have offending messages removed or edited by a maintainers given an official warning. The PR or Issue may be locked. - 3. If the behavior continues or is repeated later, the person will be blocked from participating for 24 hours. - 4. If the behavior continues or is repeated after the temporary block, a long-term (6-12mo) ban will be used. - -On top of this, maintainers may remove any offending messages, images, contributions, etc, as they deem necessary. - -Maintainers reserve full rights to skip any of these steps, at their discretion, if the violation is considered to be a serious and/or immediate threat to the health and well-being of members of the community. These include any threats, serious physical or verbal attacks, and other such behavior that would be completely unacceptable in any social setting that puts our members at risk. - -Members expelled from events or venues with any sort of paid attendance will not be refunded. - -### Who Watches the Watchers? - -Maintainers and other leaders who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. These may include anything from removal from the maintainer team to a permanent ban from the community. - -Additionally, as a project hosted on both GitHub and npm, [their own Codes of Conducts may be applied against maintainers of this project](#other-community-standards), externally of this project's procedures. - -### Enforcement Examples - -#### The Best Case - -The vast majority of situations work out like this. This interaction is common, and generally positive. - -> Alex: "Yeah I used X and it was really crazy!" - -> Patt (not a maintainer): "Hey, could you not use that word? What about 'ridiculous' instead?" - -> Alex: "oh sorry, sure." -> edits old comment to say "it was really confusing!" - -#### The Maintainer Case - -Sometimes, though, you need to get maintainers involved. Maintainers will do their best to resolve conflicts, but people who were harmed by something **will take priority**. - -> Patt: "Honestly, sometimes I just really hate using $library and anyone who uses it probably sucks at their job." - -> Alex: "Whoa there, could you dial it back a bit? There's a CoC thing about attacking folks' tech use like that." - -> Patt: "I'm not attacking anyone, what's your problem?" - -> Alex: "@maintainers hey uh. Can someone look at this issue? Patt is getting a bit aggro. I tried to nudge them about it, but nope." - -> KeeperOfCommitBits: (on issue) "Hey Patt, maintainer here. Could you tone it down? This sort of attack is really not okay in this space." - -> Patt: "Leave me alone I haven't said anything bad wtf is wrong with you." - -> KeeperOfCommitBits: (deletes user's comment), "@patt I mean it. Please refer to the CoC over at (URL to this CoC) if you have questions, but you can consider this an actual warning. I'd appreciate it if you reworded your messages in this thread, since they made folks there uncomfortable. Let's try and be kind, yeah?" - -> Patt: "@keeperofbits Okay sorry. I'm just frustrated and I'm kinda burnt out and I guess I got carried away. I'll DM Alex a note apologizing and edit my messages. Sorry for the trouble." - -> KeeperOfCommitBits: "@patt Thanks for that. I hear you on the stress. Burnout sucks :/. Have a good one!" - -#### The Nope Case - -> PepeTheFrog🐸: "Hi, I am a literal actual nazi and I think white supremacists are quite fashionable." - -> Patt: "NOOOOPE. OH NOPE NOPE." - -> Alex: "JFC NO. NOPE. @keeperofbits NOPE NOPE LOOK HERE" - -> KeeperOfCommitBits: "👀 Nope. NOPE NOPE NOPE. 🔥" - -> PepeTheFrog🐸 has been banned from all organization or user repositories belonging to KeeperOfCommitBits. - -## Attribution - -This Code of Conduct was generated using [WeAllJS Code of Conduct Generator](https://npm.im/weallbehave), which is based on the [WeAllJS Code of -Conduct](https://wealljs.org/code-of-conduct), which is itself based on -[Contributor Covenant](http://contributor-covenant.org), version 1.4, available -at -[http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4), -and the LGBTQ in Technology Slack [Code of -Conduct](http://lgbtq.technology/coc.html). diff --git a/deps/npm/node_modules/libnpmsearch/CONTRIBUTING.md b/deps/npm/node_modules/libnpmsearch/CONTRIBUTING.md deleted file mode 100644 index 1a61601a16dbab..00000000000000 --- a/deps/npm/node_modules/libnpmsearch/CONTRIBUTING.md +++ /dev/null @@ -1,256 +0,0 @@ -# Contributing - -## How do I... - -* [Use This Guide](#introduction)? -* Ask or Say Something? 🤔🐛😱 - * [Request Support](#request-support) - * [Report an Error or Bug](#report-an-error-or-bug) - * [Request a Feature](#request-a-feature) -* Make Something? 🤓👩🏽‍💻📜🍳 - * [Project Setup](#project-setup) - * [Contribute Documentation](#contribute-documentation) - * [Contribute Code](#contribute-code) -* Manage Something ✅🙆🏼💃👔 - * [Provide Support on Issues](#provide-support-on-issues) - * [Label Issues](#label-issues) - * [Clean Up Issues and PRs](#clean-up-issues-and-prs) - * [Review Pull Requests](#review-pull-requests) - * [Merge Pull Requests](#merge-pull-requests) - * [Tag a Release](#tag-a-release) - * [Join the Project Team](#join-the-project-team) -* Add a Guide Like This One [To My Project](#attribution)? 🤖😻👻 - -## Introduction - -Thank you so much for your interest in contributing!. All types of contributions are encouraged and valued. See the [table of contents](#toc) for different ways to help and details about how this project handles them!📝 - -Please make sure to read the relevant section before making your contribution! It will make it a lot easier for us maintainers to make the most of it and smooth out the experience for all involved. 💚 - -The [Project Team](#join-the-project-team) looks forward to your contributions. 🙌🏾✨ - -## Request Support - -If you have a question about this project, how to use it, or just need clarification about something: - -* Open an Issue at https://github.com/npm/libnpmsearch/issues -* Provide as much context as you can about what you're running into. -* Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. If not, please be ready to provide that information if maintainers ask for it. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* Someone will try to have a response soon. -* If you or the maintainers don't respond to an issue for 30 days, the [issue will be closed](#clean-up-issues-and-prs). If you want to come back to it, reply (once, please), and we'll reopen the existing issue. Please avoid filing new issues as extensions of one you already made. - -## Report an Error or Bug - -If you run into an error or bug with the project: - -* Open an Issue at https://github.com/npm/libnpmsearch/issues -* Include *reproduction steps* that someone else can follow to recreate the bug or error on their own. -* Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. If not, please be ready to provide that information if maintainers ask for it. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* A team member will try to reproduce the issue with your provided steps. If there are no repro steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as `needs-repro`. Bugs with the `needs-repro` tag will not be addressed until they are reproduced. -* If the team is able to reproduce the issue, it will be marked `needs-fix`, as well as possibly other tags (such as `critical`), and the issue will be left to be [implemented by someone](#contribute-code). -* If you or the maintainers don't respond to an issue for 30 days, the [issue will be closed](#clean-up-issues-and-prs). If you want to come back to it, reply (once, please), and we'll reopen the existing issue. Please avoid filing new issues as extensions of one you already made. -* `critical` issues may be left open, depending on perceived immediacy and severity, even past the 30 day deadline. - -## Request a Feature - -If the project doesn't do something you need or want it to do: - -* Open an Issue at https://github.com/npm/libnpmsearch/issues -* Provide as much context as you can about what you're running into. -* Please try and be clear about why existing features and alternatives would not work for you. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* The project team will evaluate the feature request, possibly asking you more questions to understand its purpose and any relevant requirements. If the issue is closed, the team will convey their reasoning and suggest an alternative path forward. -* If the feature request is accepted, it will be marked for implementation with `feature-accepted`, which can then be done by either by a core team member or by anyone in the community who wants to [contribute code](#contribute-code). - -Note: The team is unlikely to be able to accept every single feature request that is filed. Please understand if they need to say no. - -## Project Setup - -So you wanna contribute some code! That's great! This project uses GitHub Pull Requests to manage contributions, so [read up on how to fork a GitHub project and file a PR](https://guides.github.com/activities/forking) if you've never done it before. - -If this seems like a lot or you aren't able to do all this setup, you might also be able to [edit the files directly](https://help.github.com/articles/editing-files-in-another-user-s-repository/) without having to do any of this setup. Yes, [even code](#contribute-code). - -If you want to go the usual route and run the project locally, though: - -* [Install Node.js](https://nodejs.org/en/download/) -* [Fork the project](https://guides.github.com/activities/forking/#fork) - -Then in your terminal: -* `cd path/to/your/clone` -* `npm install` -* `npm test` - -And you should be ready to go! - -## Contribute Documentation - -Documentation is a super important, critical part of this project. Docs are how we keep track of what we're doing, how, and why. It's how we stay on the same page about our policies. And it's how we tell others everything they need in order to be able to use this project -- or contribute to it. So thank you in advance. - -Documentation contributions of any size are welcome! Feel free to file a PR even if you're just rewording a sentence to be more clear, or fixing a spelling mistake! - -To contribute documentation: - -* [Set up the project](#project-setup). -* Edit or add any relevant documentation. -* Make sure your changes are formatted correctly and consistently with the rest of the documentation. -* Re-read what you wrote, and run a spellchecker on it to make sure you didn't miss anything. -* In your commit message(s), begin the first line with `docs: `. For example: `docs: Adding a doc contrib section to CONTRIBUTING.md`. -* Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). Documentation commits should use `docs(): `. -* Go to https://github.com/npm/libnpmsearch/pulls and open a new pull request with your changes. -* If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. - -Once you've filed the PR: - -* One or more maintainers will use GitHub's review feature to review your PR. -* If the maintainer asks for any changes, edit your changes, push, and ask for another review. -* If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes. That's ok! We still really appreciate you taking the time to do it, and we don't take that lightly. 💚 -* If your PR gets accepted, it will be marked as such, and merged into the `latest` branch soon after. Your contribution will be distributed to the masses next time the maintainers [tag a release](#tag-a-release) - -## Contribute Code - -We like code commits a lot! They're super handy, and they keep the project going and doing the work it needs to do to be useful to others. - -Code contributions of just about any size are acceptable! - -The main difference between code contributions and documentation contributions is that contributing code requires inclusion of relevant tests for the code being added or changed. Contributions without accompanying tests will be held off until a test is added, unless the maintainers consider the specific tests to be either impossible, or way too much of a burden for such a contribution. - -To contribute code: - -* [Set up the project](#project-setup). -* Make any necessary changes to the source code. -* Include any [additional documentation](#contribute-documentation) the changes might need. -* Write tests that verify that your contribution works as expected. -* Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). -* Dependency updates, additions, or removals must be in individual commits, and the message must use the format: `(deps): PKG@VERSION`, where `` is any of the usual `conventional-changelog` prefixes, at your discretion. -* Go to https://github.com/npm/libnpmsearch/pulls and open a new pull request with your changes. -* If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. - -Once you've filed the PR: - -* Barring special circumstances, maintainers will not review PRs until all checks pass (Travis, AppVeyor, etc). -* One or more maintainers will use GitHub's review feature to review your PR. -* If the maintainer asks for any changes, edit your changes, push, and ask for another review. Additional tags (such as `needs-tests`) will be added depending on the review. -* If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes. That's ok! We still really appreciate you taking the time to do it, and we don't take that lightly. 💚 -* If your PR gets accepted, it will be marked as such, and merged into the `latest` branch soon after. Your contribution will be distributed to the masses next time the maintainers [tag a release](#tag-a-release) - -## Provide Support on Issues - -[Needs Collaborator](#join-the-project-team): none - -Helping out other users with their questions is a really awesome way of contributing to any community. It's not uncommon for most of the issues on an open source projects being support-related questions by users trying to understand something they ran into, or find their way around a known bug. - -Sometimes, the `support` label will be added to things that turn out to actually be other things, like bugs or feature requests. In that case, suss out the details with the person who filed the original issue, add a comment explaining what the bug is, and change the label from `support` to `bug` or `feature`. If you can't do this yourself, @mention a maintainer so they can do it. - -In order to help other folks out with their questions: - -* Go to the issue tracker and [filter open issues by the `support` label](https://github.com/npm/libnpmsearch/issues?q=is%3Aopen+is%3Aissue+label%3Asupport). -* Read through the list until you find something that you're familiar enough with to give an answer to. -* Respond to the issue with whatever details are needed to clarify the question, or get more details about what's going on. -* Once the discussion wraps up and things are clarified, either close the issue, or ask the original issue filer (or a maintainer) to close it for you. - -Some notes on picking up support issues: - -* Avoid responding to issues you don't know you can answer accurately. -* As much as possible, try to refer to past issues with accepted answers. Link to them from your replies with the `#123` format. -* Be kind and patient with users -- often, folks who have run into confusing things might be upset or impatient. This is ok. Try to understand where they're coming from, and if you're too uncomfortable with the tone, feel free to stay away or withdraw from the issue. (note: if the user is outright hostile or is violating the CoC, [refer to the Code of Conduct](CODE_OF_CONDUCT.md) to resolve the conflict). - -## Label Issues - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -One of the most important tasks in handling issues is labeling them usefully and accurately. All other tasks involving issues ultimately rely on the issue being classified in such a way that relevant parties looking to do their own tasks can find them quickly and easily. - -In order to label issues, [open up the list of unlabeled issues](https://github.com/npm/libnpmsearch/issues?q=is%3Aopen+is%3Aissue+no%3Alabel) and, **from newest to oldest**, read through each one and apply issue labels according to the table below. If you're unsure about what label to apply, skip the issue and try the next one: don't feel obligated to label each and every issue yourself! - -Label | Apply When | Notes ---- | --- | --- -`bug` | Cases where the code (or documentation) is behaving in a way it wasn't intended to. | If something is happening that surprises the *user* but does not go against the way the code is designed, it should use the `enhancement` label. -`critical` | Added to `bug` issues if the problem described makes the code completely unusable in a common situation. | -`documentation` | Added to issues or pull requests that affect any of the documentation for the project. | Can be combined with other labels, such as `bug` or `enhancement`. -`duplicate` | Added to issues or PRs that refer to the exact same issue as another one that's been previously labeled. | Duplicate issues should be marked and closed right away, with a message referencing the issue it's a duplicate of (with `#123`) -`enhancement` | Added to [feature requests](#request-a-feature), PRs, or documentation issues that are purely additive: the code or docs currently work as expected, but a change is being requested or suggested. | -`help wanted` | Applied by [Committers](#join-the-project-team) to issues and PRs that they would like to get outside help for. Generally, this means it's lower priority for the maintainer team to itself implement, but that the community is encouraged to pick up if they so desire | Never applied on first-pass labeling. -`in-progress` | Applied by [Committers](#join-the-project-team) to PRs that are pending some work before they're ready for review. | The original PR submitter should @mention the team member that applied the label once the PR is complete. -`performance` | This issue or PR is directly related to improving performance. | -`refactor` | Added to issues or PRs that deal with cleaning up or modifying the project for the betterment of it. | -`starter` | Applied by [Committers](#join-the-project-team) to issues that they consider good introductions to the project for people who have not contributed before. These are not necessarily "easy", but rather focused around how much context is necessary in order to understand what needs to be done for this project in particular. | Existing project members are expected to stay away from these unless they increase in priority. -`support` | This issue is either asking a question about how to use the project, clarifying the reason for unexpected behavior, or possibly reporting a `bug` but does not have enough detail yet to determine whether it would count as such. | The label should be switched to `bug` if reliable reproduction steps are provided. Issues primarily with unintended configurations of a user's environment are not considered bugs, even if they cause crashes. -`tests` | This issue or PR either requests or adds primarily tests to the project. | If a PR is pending tests, that will be handled through the [PR review process](#review-pull-requests) -`wontfix` | Labelers may apply this label to issues that clearly have nothing at all to do with the project or are otherwise entirely outside of its scope/sphere of influence. [Committers](#join-the-project-team) may apply this label and close an issue or PR if they decide to pass on an otherwise relevant issue. | The issue or PR should be closed as soon as the label is applied, and a clear explanation provided of why the label was used. Contributors are free to contest the labeling, but the decision ultimately falls on committers as to whether to accept something or not. - -## Clean Up Issues and PRs - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -Issues and PRs can go stale after a while. Maybe they're abandoned. Maybe the team will just plain not have time to address them any time soon. - -In these cases, they should be closed until they're brought up again or the interaction starts over. - -To clean up issues and PRs: - -* Search the issue tracker for issues or PRs, and add the term `updated:<=YYYY-MM-DD`, where the date is 30 days before today. -* Go through each issue *from oldest to newest*, and close them if **all of the following are true**: - * not opened by a maintainer - * not marked as `critical` - * not marked as `starter` or `help wanted` (these might stick around for a while, in general, as they're intended to be available) - * no explicit messages in the comments asking for it to be left open - * does not belong to a milestone -* Leave a message when closing saying "Cleaning up stale issue. Please reopen or ping us if and when you're ready to resume this. See https://github.com/npm/libnpmsearch/blob/latest/CONTRIBUTING.md#clean-up-issues-and-prs for more details." - -## Review Pull Requests - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -While anyone can comment on a PR, add feedback, etc, PRs are only *approved* by team members with Issue Tracker or higher permissions. - -PR reviews use [GitHub's own review feature](https://help.github.com/articles/about-pull-request-reviews/), which manages comments, approval, and review iteration. - -Some notes: - -* You may ask for minor changes ("nitpicks"), but consider whether they are really blockers to merging: try to err on the side of "approve, with comments". -* *ALL PULL REQUESTS* should be covered by a test: either by a previously-failing test, an existing test that covers the entire functionality of the submitted code, or new tests to verify any new/changed behavior. All tests must also pass and follow established conventions. Test coverage should not drop, unless the specific case is considered reasonable by maintainers. -* Please make sure you're familiar with the code or documentation being updated, unless it's a minor change (spellchecking, minor formatting, etc). You may @mention another project member who you think is better suited for the review, but still provide a non-approving review of your own. -* Be extra kind: people who submit code/doc contributions are putting themselves in a pretty vulnerable position, and have put time and care into what they've done (even if that's not obvious to you!) -- always respond with respect, be understanding, but don't feel like you need to sacrifice your standards for their sake, either. Just don't be a jerk about it? - -## Merge Pull Requests - -[Needs Collaborator](#join-the-project-team): Committer - -TBD - need to hash out a bit more of this process. - -## Tag A Release - -[Needs Collaborator](#join-the-project-team): Committer - -TBD - need to hash out a bit more of this process. The most important bit here is probably that all tests must pass, and tags must use [semver](https://semver.org). - -## Join the Project Team - -### Ways to Join - -There are many ways to contribute! Most of them don't require any official status unless otherwise noted. That said, there's a couple of positions that grant special repository abilities, and this section describes how they're granted and what they do. - -All of the below positions are granted based on the project team's needs, as well as their consensus opinion about whether they would like to work with the person and think that they would fit well into that position. The process is relatively informal, and it's likely that people who express interest in participating can just be granted the permissions they'd like. - -You can spot a collaborator on the repo by looking for the `[Collaborator]` or `[Owner]` tags next to their names. - -Permission | Description ---- | --- -Issue Tracker | Granted to contributors who express a strong interest in spending time on the project's issue tracker. These tasks are mainly [labeling issues](#label-issues), [cleaning up old ones](#clean-up-issues-and-prs), and [reviewing pull requests](#review-pull-requests), as well as all the usual things non-team-member contributors can do. Issue handlers should not merge pull requests, tag releases, or directly commit code themselves: that should still be done through the usual pull request process. Becoming an Issue Handler means the project team trusts you to understand enough of the team's process and context to implement it on the issue tracker. -Committer | Granted to contributors who want to handle the actual pull request merges, tagging new versions, etc. Committers should have a good level of familiarity with the codebase, and enough context to understand the implications of various changes, as well as a good sense of the will and expectations of the project team. -Admin/Owner | Granted to people ultimately responsible for the project, its community, etc. - -## Attribution - -This guide was generated using the WeAllJS `CONTRIBUTING.md` generator. [Make your own](https://npm.im/weallcontribute)! diff --git a/deps/npm/node_modules/libnpmteam/CODE_OF_CONDUCT.md b/deps/npm/node_modules/libnpmteam/CODE_OF_CONDUCT.md deleted file mode 100644 index aeb72f598dcb45..00000000000000 --- a/deps/npm/node_modules/libnpmteam/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,151 +0,0 @@ -# Code of Conduct - -## When Something Happens - -If you see a Code of Conduct violation, follow these steps: - -1. Let the person know that what they did is not appropriate and ask them to stop and/or edit their message(s) or commits. -2. That person should immediately stop the behavior and correct the issue. -3. If this doesn’t happen, or if you're uncomfortable speaking up, [contact the maintainers](#contacting-maintainers). -4. As soon as available, a maintainer will look into the issue, and take [further action (see below)](#further-enforcement), starting with a warning, then temporary block, then long-term repo or organization ban. - -When reporting, please include any relevant details, links, screenshots, context, or other information that may be used to better understand and resolve the situation. - -**The maintainer team will prioritize the well-being and comfort of the recipients of the violation over the comfort of the violator.** See [some examples below](#enforcement-examples). - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers of this project pledge to making participation in our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, technical preferences, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language. - * Being respectful of differing viewpoints and experiences. - * Gracefully accepting constructive feedback. - * Focusing on what is best for the community. - * Showing empathy and kindness towards other community members. - * Encouraging and raising up your peers in the project so you can all bask in hacks and glory. - -Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances, including when simulated online. The only exception to sexual topics is channels/spaces specifically for topics of sexual identity. - * Casual mention of slavery or indentured servitude and/or false comparisons of one's occupation or situation to slavery. Please consider using or asking about alternate terminology when referring to such metaphors in technology. - * Making light of/making mocking comments about trigger warnings and content warnings. - * Trolling, insulting/derogatory comments, and personal or political attacks. - * Public or private harassment, deliberate intimidation, or threats. - * Publishing others' private information, such as a physical or electronic address, without explicit permission. This includes any sort of "outing" of any aspect of someone's identity without their consent. - * Publishing private screenshots or quotes of interactions in the context of this project without all quoted users' *explicit* consent. - * Publishing of private communication that doesn't have to do with reporting harrassment. - * Any of the above even when [presented as "ironic" or "joking"](https://en.wikipedia.org/wiki/Hipster_racism). - * Any attempt to present "reverse-ism" versions of the above as violations. Examples of reverse-isms are "reverse racism", "reverse sexism", "heterophobia", and "cisphobia". - * Unsolicited explanations under the assumption that someone doesn't already know it. Ask before you teach! Don't assume what people's knowledge gaps are. - * [Feigning or exaggerating surprise](https://www.recurse.com/manual#no-feigned-surprise) when someone admits to not knowing something. - * "[Well-actuallies](https://www.recurse.com/manual#no-well-actuallys)" - * Other conduct which could reasonably be considered inappropriate in a professional or community setting. - -## Scope - -This Code of Conduct applies both within spaces involving this project and in other spaces involving community members. This includes the repository, its Pull Requests and Issue tracker, its Twitter community, private email communications in the context of the project, and any events where members of the project are participating, as well as adjacent communities and venues affecting the project's members. - -Depending on the violation, the maintainers may decide that violations of this code of conduct that have happened outside of the scope of the community may deem an individual unwelcome, and take appropriate action to maintain the comfort and safety of its members. - -### Other Community Standards - -As a project on GitHub, this project is additionally covered by the [GitHub Community Guidelines](https://help.github.com/articles/github-community-guidelines/). - -Additionally, as a project hosted on npm, is is covered by [npm, Inc's Code of Conduct](https://www.npmjs.com/policies/conduct). - -Enforcement of those guidelines after violations overlapping with the above are the responsibility of the entities, and enforcement may happen in any or all of the services/communities. - -## Maintainer Enforcement Process - -Once the maintainers get involved, they will follow a documented series of steps and do their best to preserve the well-being of project members. This section covers actual concrete steps. - -### Contacting Maintainers - -You may get in touch with the maintainer team through any of the following methods: - - * Through email: - * [kzm@zkat.tech](mailto:kzm@zkat.tech) (Kat Marchán) - - * Through Twitter: - * [@maybekatz](https://twitter.com/maybekatz) (Kat Marchán) - -### Further Enforcement - -If you've already followed the [initial enforcement steps](#enforcement), these are the steps maintainers will take for further enforcement, as needed: - - 1. Repeat the request to stop. - 2. If the person doubles down, they will have offending messages removed or edited by a maintainers given an official warning. The PR or Issue may be locked. - 3. If the behavior continues or is repeated later, the person will be blocked from participating for 24 hours. - 4. If the behavior continues or is repeated after the temporary block, a long-term (6-12mo) ban will be used. - -On top of this, maintainers may remove any offending messages, images, contributions, etc, as they deem necessary. - -Maintainers reserve full rights to skip any of these steps, at their discretion, if the violation is considered to be a serious and/or immediate threat to the health and well-being of members of the community. These include any threats, serious physical or verbal attacks, and other such behavior that would be completely unacceptable in any social setting that puts our members at risk. - -Members expelled from events or venues with any sort of paid attendance will not be refunded. - -### Who Watches the Watchers? - -Maintainers and other leaders who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. These may include anything from removal from the maintainer team to a permanent ban from the community. - -Additionally, as a project hosted on both GitHub and npm, [their own Codes of Conducts may be applied against maintainers of this project](#other-community-standards), externally of this project's procedures. - -### Enforcement Examples - -#### The Best Case - -The vast majority of situations work out like this. This interaction is common, and generally positive. - -> Alex: "Yeah I used X and it was really crazy!" - -> Patt (not a maintainer): "Hey, could you not use that word? What about 'ridiculous' instead?" - -> Alex: "oh sorry, sure." -> edits old comment to say "it was really confusing!" - -#### The Maintainer Case - -Sometimes, though, you need to get maintainers involved. Maintainers will do their best to resolve conflicts, but people who were harmed by something **will take priority**. - -> Patt: "Honestly, sometimes I just really hate using $library and anyone who uses it probably sucks at their job." - -> Alex: "Whoa there, could you dial it back a bit? There's a CoC thing about attacking folks' tech use like that." - -> Patt: "I'm not attacking anyone, what's your problem?" - -> Alex: "@maintainers hey uh. Can someone look at this issue? Patt is getting a bit aggro. I tried to nudge them about it, but nope." - -> KeeperOfCommitBits: (on issue) "Hey Patt, maintainer here. Could you tone it down? This sort of attack is really not okay in this space." - -> Patt: "Leave me alone I haven't said anything bad wtf is wrong with you." - -> KeeperOfCommitBits: (deletes user's comment), "@patt I mean it. Please refer to the CoC over at (URL to this CoC) if you have questions, but you can consider this an actual warning. I'd appreciate it if you reworded your messages in this thread, since they made folks there uncomfortable. Let's try and be kind, yeah?" - -> Patt: "@keeperofbits Okay sorry. I'm just frustrated and I'm kinda burnt out and I guess I got carried away. I'll DM Alex a note apologizing and edit my messages. Sorry for the trouble." - -> KeeperOfCommitBits: "@patt Thanks for that. I hear you on the stress. Burnout sucks :/. Have a good one!" - -#### The Nope Case - -> PepeTheFrog🐸: "Hi, I am a literal actual nazi and I think white supremacists are quite fashionable." - -> Patt: "NOOOOPE. OH NOPE NOPE." - -> Alex: "JFC NO. NOPE. @keeperofbits NOPE NOPE LOOK HERE" - -> KeeperOfCommitBits: "👀 Nope. NOPE NOPE NOPE. 🔥" - -> PepeTheFrog🐸 has been banned from all organization or user repositories belonging to KeeperOfCommitBits. - -## Attribution - -This Code of Conduct was generated using [WeAllJS Code of Conduct Generator](https://npm.im/weallbehave), which is based on the [WeAllJS Code of -Conduct](https://wealljs.org/code-of-conduct), which is itself based on -[Contributor Covenant](http://contributor-covenant.org), version 1.4, available -at -[http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4), -and the LGBTQ in Technology Slack [Code of -Conduct](http://lgbtq.technology/coc.html). diff --git a/deps/npm/node_modules/libnpmteam/CONTRIBUTING.md b/deps/npm/node_modules/libnpmteam/CONTRIBUTING.md deleted file mode 100644 index 3fd40076caae85..00000000000000 --- a/deps/npm/node_modules/libnpmteam/CONTRIBUTING.md +++ /dev/null @@ -1,256 +0,0 @@ -# Contributing - -## How do I... - -* [Use This Guide](#introduction)? -* Ask or Say Something? 🤔🐛😱 - * [Request Support](#request-support) - * [Report an Error or Bug](#report-an-error-or-bug) - * [Request a Feature](#request-a-feature) -* Make Something? 🤓👩🏽‍💻📜🍳 - * [Project Setup](#project-setup) - * [Contribute Documentation](#contribute-documentation) - * [Contribute Code](#contribute-code) -* Manage Something ✅🙆🏼💃👔 - * [Provide Support on Issues](#provide-support-on-issues) - * [Label Issues](#label-issues) - * [Clean Up Issues and PRs](#clean-up-issues-and-prs) - * [Review Pull Requests](#review-pull-requests) - * [Merge Pull Requests](#merge-pull-requests) - * [Tag a Release](#tag-a-release) - * [Join the Project Team](#join-the-project-team) -* Add a Guide Like This One [To My Project](#attribution)? 🤖😻👻 - -## Introduction - -Thank you so much for your interest in contributing!. All types of contributions are encouraged and valued. See the [table of contents](#toc) for different ways to help and details about how this project handles them!📝 - -Please make sure to read the relevant section before making your contribution! It will make it a lot easier for us maintainers to make the most of it and smooth out the experience for all involved. 💚 - -The [Project Team](#join-the-project-team) looks forward to your contributions. 🙌🏾✨ - -## Request Support - -If you have a question about this project, how to use it, or just need clarification about something: - -* Open an Issue at https://github.com/npm/libnpmteam/issues -* Provide as much context as you can about what you're running into. -* Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. If not, please be ready to provide that information if maintainers ask for it. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* Someone will try to have a response soon. -* If you or the maintainers don't respond to an issue for 30 days, the [issue will be closed](#clean-up-issues-and-prs). If you want to come back to it, reply (once, please), and we'll reopen the existing issue. Please avoid filing new issues as extensions of one you already made. - -## Report an Error or Bug - -If you run into an error or bug with the project: - -* Open an Issue at https://github.com/npm/libnpmteam/issues -* Include *reproduction steps* that someone else can follow to recreate the bug or error on their own. -* Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. If not, please be ready to provide that information if maintainers ask for it. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* A team member will try to reproduce the issue with your provided steps. If there are no repro steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as `needs-repro`. Bugs with the `needs-repro` tag will not be addressed until they are reproduced. -* If the team is able to reproduce the issue, it will be marked `needs-fix`, as well as possibly other tags (such as `critical`), and the issue will be left to be [implemented by someone](#contribute-code). -* If you or the maintainers don't respond to an issue for 30 days, the [issue will be closed](#clean-up-issues-and-prs). If you want to come back to it, reply (once, please), and we'll reopen the existing issue. Please avoid filing new issues as extensions of one you already made. -* `critical` issues may be left open, depending on perceived immediacy and severity, even past the 30 day deadline. - -## Request a Feature - -If the project doesn't do something you need or want it to do: - -* Open an Issue at https://github.com/npm/libnpmteam/issues -* Provide as much context as you can about what you're running into. -* Please try and be clear about why existing features and alternatives would not work for you. - -Once it's filed: - -* The project team will [label the issue](#label-issues). -* The project team will evaluate the feature request, possibly asking you more questions to understand its purpose and any relevant requirements. If the issue is closed, the team will convey their reasoning and suggest an alternative path forward. -* If the feature request is accepted, it will be marked for implementation with `feature-accepted`, which can then be done by either by a core team member or by anyone in the community who wants to [contribute code](#contribute-code). - -Note: The team is unlikely to be able to accept every single feature request that is filed. Please understand if they need to say no. - -## Project Setup - -So you wanna contribute some code! That's great! This project uses GitHub Pull Requests to manage contributions, so [read up on how to fork a GitHub project and file a PR](https://guides.github.com/activities/forking) if you've never done it before. - -If this seems like a lot or you aren't able to do all this setup, you might also be able to [edit the files directly](https://help.github.com/articles/editing-files-in-another-user-s-repository/) without having to do any of this setup. Yes, [even code](#contribute-code). - -If you want to go the usual route and run the project locally, though: - -* [Install Node.js](https://nodejs.org/en/download/) -* [Fork the project](https://guides.github.com/activities/forking/#fork) - -Then in your terminal: -* `cd path/to/your/clone` -* `npm install` -* `npm test` - -And you should be ready to go! - -## Contribute Documentation - -Documentation is a super important, critical part of this project. Docs are how we keep track of what we're doing, how, and why. It's how we stay on the same page about our policies. And it's how we tell others everything they need in order to be able to use this project -- or contribute to it. So thank you in advance. - -Documentation contributions of any size are welcome! Feel free to file a PR even if you're just rewording a sentence to be more clear, or fixing a spelling mistake! - -To contribute documentation: - -* [Set up the project](#project-setup). -* Edit or add any relevant documentation. -* Make sure your changes are formatted correctly and consistently with the rest of the documentation. -* Re-read what you wrote, and run a spellchecker on it to make sure you didn't miss anything. -* In your commit message(s), begin the first line with `docs: `. For example: `docs: Adding a doc contrib section to CONTRIBUTING.md`. -* Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). Documentation commits should use `docs(): `. -* Go to https://github.com/npm/libnpmteam/pulls and open a new pull request with your changes. -* If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. - -Once you've filed the PR: - -* One or more maintainers will use GitHub's review feature to review your PR. -* If the maintainer asks for any changes, edit your changes, push, and ask for another review. -* If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes. That's ok! We still really appreciate you taking the time to do it, and we don't take that lightly. 💚 -* If your PR gets accepted, it will be marked as such, and merged into the `latest` branch soon after. Your contribution will be distributed to the masses next time the maintainers [tag a release](#tag-a-release) - -## Contribute Code - -We like code commits a lot! They're super handy, and they keep the project going and doing the work it needs to do to be useful to others. - -Code contributions of just about any size are acceptable! - -The main difference between code contributions and documentation contributions is that contributing code requires inclusion of relevant tests for the code being added or changed. Contributions without accompanying tests will be held off until a test is added, unless the maintainers consider the specific tests to be either impossible, or way too much of a burden for such a contribution. - -To contribute code: - -* [Set up the project](#project-setup). -* Make any necessary changes to the source code. -* Include any [additional documentation](#contribute-documentation) the changes might need. -* Write tests that verify that your contribution works as expected. -* Write clear, concise commit message(s) using [conventional-changelog format](https://github.com/conventional-changelog/conventional-changelog-angular/blob/master/convention.md). -* Dependency updates, additions, or removals must be in individual commits, and the message must use the format: `(deps): PKG@VERSION`, where `` is any of the usual `conventional-changelog` prefixes, at your discretion. -* Go to https://github.com/npm/libnpmteam/pulls and open a new pull request with your changes. -* If your PR is connected to an open issue, add a line in your PR's description that says `Fixes: #123`, where `#123` is the number of the issue you're fixing. - -Once you've filed the PR: - -* Barring special circumstances, maintainers will not review PRs until all checks pass (Travis, AppVeyor, etc). -* One or more maintainers will use GitHub's review feature to review your PR. -* If the maintainer asks for any changes, edit your changes, push, and ask for another review. Additional tags (such as `needs-tests`) will be added depending on the review. -* If the maintainer decides to pass on your PR, they will thank you for the contribution and explain why they won't be accepting the changes. That's ok! We still really appreciate you taking the time to do it, and we don't take that lightly. 💚 -* If your PR gets accepted, it will be marked as such, and merged into the `latest` branch soon after. Your contribution will be distributed to the masses next time the maintainers [tag a release](#tag-a-release) - -## Provide Support on Issues - -[Needs Collaborator](#join-the-project-team): none - -Helping out other users with their questions is a really awesome way of contributing to any community. It's not uncommon for most of the issues on an open source projects being support-related questions by users trying to understand something they ran into, or find their way around a known bug. - -Sometimes, the `support` label will be added to things that turn out to actually be other things, like bugs or feature requests. In that case, suss out the details with the person who filed the original issue, add a comment explaining what the bug is, and change the label from `support` to `bug` or `feature`. If you can't do this yourself, @mention a maintainer so they can do it. - -In order to help other folks out with their questions: - -* Go to the issue tracker and [filter open issues by the `support` label](https://github.com/npm/libnpmteam/issues?q=is%3Aopen+is%3Aissue+label%3Asupport). -* Read through the list until you find something that you're familiar enough with to give an answer to. -* Respond to the issue with whatever details are needed to clarify the question, or get more details about what's going on. -* Once the discussion wraps up and things are clarified, either close the issue, or ask the original issue filer (or a maintainer) to close it for you. - -Some notes on picking up support issues: - -* Avoid responding to issues you don't know you can answer accurately. -* As much as possible, try to refer to past issues with accepted answers. Link to them from your replies with the `#123` format. -* Be kind and patient with users -- often, folks who have run into confusing things might be upset or impatient. This is ok. Try to understand where they're coming from, and if you're too uncomfortable with the tone, feel free to stay away or withdraw from the issue. (note: if the user is outright hostile or is violating the CoC, [refer to the Code of Conduct](CODE_OF_CONDUCT.md) to resolve the conflict). - -## Label Issues - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -One of the most important tasks in handling issues is labeling them usefully and accurately. All other tasks involving issues ultimately rely on the issue being classified in such a way that relevant parties looking to do their own tasks can find them quickly and easily. - -In order to label issues, [open up the list of unlabeled issues](https://github.com/npm/libnpmteam/issues?q=is%3Aopen+is%3Aissue+no%3Alabel) and, **from newest to oldest**, read through each one and apply issue labels according to the table below. If you're unsure about what label to apply, skip the issue and try the next one: don't feel obligated to label each and every issue yourself! - -Label | Apply When | Notes ---- | --- | --- -`bug` | Cases where the code (or documentation) is behaving in a way it wasn't intended to. | If something is happening that surprises the *user* but does not go against the way the code is designed, it should use the `enhancement` label. -`critical` | Added to `bug` issues if the problem described makes the code completely unusable in a common situation. | -`documentation` | Added to issues or pull requests that affect any of the documentation for the project. | Can be combined with other labels, such as `bug` or `enhancement`. -`duplicate` | Added to issues or PRs that refer to the exact same issue as another one that's been previously labeled. | Duplicate issues should be marked and closed right away, with a message referencing the issue it's a duplicate of (with `#123`) -`enhancement` | Added to [feature requests](#request-a-feature), PRs, or documentation issues that are purely additive: the code or docs currently work as expected, but a change is being requested or suggested. | -`help wanted` | Applied by [Committers](#join-the-project-team) to issues and PRs that they would like to get outside help for. Generally, this means it's lower priority for the maintainer team to itself implement, but that the community is encouraged to pick up if they so desire | Never applied on first-pass labeling. -`in-progress` | Applied by [Committers](#join-the-project-team) to PRs that are pending some work before they're ready for review. | The original PR submitter should @mention the team member that applied the label once the PR is complete. -`performance` | This issue or PR is directly related to improving performance. | -`refactor` | Added to issues or PRs that deal with cleaning up or modifying the project for the betterment of it. | -`starter` | Applied by [Committers](#join-the-project-team) to issues that they consider good introductions to the project for people who have not contributed before. These are not necessarily "easy", but rather focused around how much context is necessary in order to understand what needs to be done for this project in particular. | Existing project members are expected to stay away from these unless they increase in priority. -`support` | This issue is either asking a question about how to use the project, clarifying the reason for unexpected behavior, or possibly reporting a `bug` but does not have enough detail yet to determine whether it would count as such. | The label should be switched to `bug` if reliable reproduction steps are provided. Issues primarily with unintended configurations of a user's environment are not considered bugs, even if they cause crashes. -`tests` | This issue or PR either requests or adds primarily tests to the project. | If a PR is pending tests, that will be handled through the [PR review process](#review-pull-requests) -`wontfix` | Labelers may apply this label to issues that clearly have nothing at all to do with the project or are otherwise entirely outside of its scope/sphere of influence. [Committers](#join-the-project-team) may apply this label and close an issue or PR if they decide to pass on an otherwise relevant issue. | The issue or PR should be closed as soon as the label is applied, and a clear explanation provided of why the label was used. Contributors are free to contest the labeling, but the decision ultimately falls on committers as to whether to accept something or not. - -## Clean Up Issues and PRs - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -Issues and PRs can go stale after a while. Maybe they're abandoned. Maybe the team will just plain not have time to address them any time soon. - -In these cases, they should be closed until they're brought up again or the interaction starts over. - -To clean up issues and PRs: - -* Search the issue tracker for issues or PRs, and add the term `updated:<=YYYY-MM-DD`, where the date is 30 days before today. -* Go through each issue *from oldest to newest*, and close them if **all of the following are true**: - * not opened by a maintainer - * not marked as `critical` - * not marked as `starter` or `help wanted` (these might stick around for a while, in general, as they're intended to be available) - * no explicit messages in the comments asking for it to be left open - * does not belong to a milestone -* Leave a message when closing saying "Cleaning up stale issue. Please reopen or ping us if and when you're ready to resume this. See https://github.com/npm/libnpmteam/blob/latest/CONTRIBUTING.md#clean-up-issues-and-prs for more details." - -## Review Pull Requests - -[Needs Collaborator](#join-the-project-team): Issue Tracker - -While anyone can comment on a PR, add feedback, etc, PRs are only *approved* by team members with Issue Tracker or higher permissions. - -PR reviews use [GitHub's own review feature](https://help.github.com/articles/about-pull-request-reviews/), which manages comments, approval, and review iteration. - -Some notes: - -* You may ask for minor changes ("nitpicks"), but consider whether they are really blockers to merging: try to err on the side of "approve, with comments". -* *ALL PULL REQUESTS* should be covered by a test: either by a previously-failing test, an existing test that covers the entire functionality of the submitted code, or new tests to verify any new/changed behavior. All tests must also pass and follow established conventions. Test coverage should not drop, unless the specific case is considered reasonable by maintainers. -* Please make sure you're familiar with the code or documentation being updated, unless it's a minor change (spellchecking, minor formatting, etc). You may @mention another project member who you think is better suited for the review, but still provide a non-approving review of your own. -* Be extra kind: people who submit code/doc contributions are putting themselves in a pretty vulnerable position, and have put time and care into what they've done (even if that's not obvious to you!) -- always respond with respect, be understanding, but don't feel like you need to sacrifice your standards for their sake, either. Just don't be a jerk about it? - -## Merge Pull Requests - -[Needs Collaborator](#join-the-project-team): Committer - -TBD - need to hash out a bit more of this process. - -## Tag A Release - -[Needs Collaborator](#join-the-project-team): Committer - -TBD - need to hash out a bit more of this process. The most important bit here is probably that all tests must pass, and tags must use [semver](https://semver.org). - -## Join the Project Team - -### Ways to Join - -There are many ways to contribute! Most of them don't require any official status unless otherwise noted. That said, there's a couple of positions that grant special repository abilities, and this section describes how they're granted and what they do. - -All of the below positions are granted based on the project team's needs, as well as their consensus opinion about whether they would like to work with the person and think that they would fit well into that position. The process is relatively informal, and it's likely that people who express interest in participating can just be granted the permissions they'd like. - -You can spot a collaborator on the repo by looking for the `[Collaborator]` or `[Owner]` tags next to their names. - -Permission | Description ---- | --- -Issue Tracker | Granted to contributors who express a strong interest in spending time on the project's issue tracker. These tasks are mainly [labeling issues](#label-issues), [cleaning up old ones](#clean-up-issues-and-prs), and [reviewing pull requests](#review-pull-requests), as well as all the usual things non-team-member contributors can do. Issue handlers should not merge pull requests, tag releases, or directly commit code themselves: that should still be done through the usual pull request process. Becoming an Issue Handler means the project team trusts you to understand enough of the team's process and context to implement it on the issue tracker. -Committer | Granted to contributors who want to handle the actual pull request merges, tagging new versions, etc. Committers should have a good level of familiarity with the codebase, and enough context to understand the implications of various changes, as well as a good sense of the will and expectations of the project team. -Admin/Owner | Granted to people ultimately responsible for the project, its community, etc. - -## Attribution - -This guide was generated using the WeAllJS `CONTRIBUTING.md` generator. [Make your own](https://npm.im/weallcontribute)! diff --git a/deps/npm/node_modules/libnpx/CHANGELOG.md b/deps/npm/node_modules/libnpx/CHANGELOG.md index 5fa91fac96ae70..74da62235d696e 100644 --- a/deps/npm/node_modules/libnpx/CHANGELOG.md +++ b/deps/npm/node_modules/libnpx/CHANGELOG.md @@ -2,61 +2,73 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [10.2.2](https://github.com/npm/npx/compare/v10.2.1...v10.2.2) (2020-01-28) + + +### Bug Fixes + +* correct Kat's github url ([9a23db1](https://github.com/npm/npx/commit/9a23db1)) +* install latest npm on travis for node 6 ([e0eb3cb](https://github.com/npm/npx/commit/e0eb3cb)) +* Update changelog to fix old issue links ([3733137](https://github.com/npm/npx/commit/3733137)) + + + -# [10.2.0](https://github.com/zkat/npx/compare/v10.1.1...v10.2.0) (2018-04-13) +# [10.2.0](https://github.com/npm/npx/compare/v10.1.1...v10.2.0) (2018-04-13) ### Bug Fixes -* **i18n:** fix korean; 쉘 -> 셸 ([#163](https://github.com/zkat/npx/issues/163)) ([11d9fe0](https://github.com/zkat/npx/commit/11d9fe0)) -* **spawn:** spawn child processes with node without relying on the shebang. ([#174](https://github.com/zkat/npx/issues/174)) ([cba97bb](https://github.com/zkat/npx/commit/cba97bb)) -* **windows:** Allow spaces in the node path when using --node-arg ([#173](https://github.com/zkat/npx/issues/173)) ([fe0d48a](https://github.com/zkat/npx/commit/fe0d48a)), closes [#170](https://github.com/zkat/npx/issues/170) +* **i18n:** fix korean; 쉘 -> 셸 ([#163](https://github.com/zkat/npx/issues/163)) ([11d9fe0](https://github.com/npm/npx/commit/11d9fe0)) +* **spawn:** spawn child processes with node without relying on the shebang. ([#174](https://github.com/zkat/npx/issues/174)) ([cba97bb](https://github.com/npm/npx/commit/cba97bb)) +* **windows:** Allow spaces in the node path when using --node-arg ([#173](https://github.com/zkat/npx/issues/173)) ([fe0d48a](https://github.com/npm/npx/commit/fe0d48a)), closes [#170](https://github.com/zkat/npx/issues/170) ### Features -* **i18n:** add translation ([#159](https://github.com/zkat/npx/issues/159)) ([5da008b](https://github.com/zkat/npx/commit/5da008b)) +* **i18n:** add translation ([#159](https://github.com/zkat/npx/issues/159)) ([5da008b](https://github.com/npm/npx/commit/5da008b)) -## [10.1.1](https://github.com/zkat/npx/compare/v10.1.0...v10.1.1) (2018-04-12) +## [10.1.1](https://github.com/npm/npx/compare/v10.1.0...v10.1.1) (2018-04-12) -# [10.1.0](https://github.com/zkat/npx/compare/v10.0.1...v10.1.0) (2018-04-12) +# [10.1.0](https://github.com/npm/npx/compare/v10.0.1...v10.1.0) (2018-04-12) ### Features -* **spawn:** add --always-spawn to opt out of process takeover optimization feature ([#172](https://github.com/zkat/npx/issues/172)) ([c0d6abc](https://github.com/zkat/npx/commit/c0d6abc)) +* **spawn:** add --always-spawn to opt out of process takeover optimization feature ([#172](https://github.com/zkat/npx/issues/172)) ([c0d6abc](https://github.com/npm/npx/commit/c0d6abc)) -## [10.0.1](https://github.com/zkat/npx/compare/v10.0.0...v10.0.1) (2018-03-08) +## [10.0.1](https://github.com/npm/npx/compare/v10.0.0...v10.0.1) (2018-03-08) ### Bug Fixes -* **i18n:** Improve French localization ([#158](https://github.com/zkat/npx/issues/158)) ([c88823e](https://github.com/zkat/npx/commit/c88823e)) -* **windows:** on Windows, throw useful error when package contains no binaries([#142](https://github.com/zkat/npx/issues/142)) ([a69276e](https://github.com/zkat/npx/commit/a69276e)), closes [#137](https://github.com/zkat/npx/issues/137) +* **i18n:** Improve French localization ([#158](https://github.com/zkat/npx/issues/158)) ([c88823e](https://github.com/npm/npx/commit/c88823e)) +* **windows:** on Windows, throw useful error when package contains no binaries([#142](https://github.com/zkat/npx/issues/142)) ([a69276e](https://github.com/npm/npx/commit/a69276e)), closes [#137](https://github.com/zkat/npx/issues/137) -# [10.0.0](https://github.com/zkat/npx/compare/v9.7.1...v10.0.0) (2018-03-08) +# [10.0.0](https://github.com/npm/npx/compare/v9.7.1...v10.0.0) (2018-03-08) ### Bug Fixes -* **i18n:** Fix Korean locale ([#130](https://github.com/zkat/npx/issues/130)) ([752db48](https://github.com/zkat/npx/commit/752db48)) -* **index:** remove extraneous logging on Windows ([#136](https://github.com/zkat/npx/issues/136)) ([357e6ab](https://github.com/zkat/npx/commit/357e6ab)), closes [#131](https://github.com/zkat/npx/issues/131) -* **license:** change npx license to ISC ([a617d7b](https://github.com/zkat/npx/commit/a617d7b)) -* **parse-args:** fix version thing for yargs ([30677ed](https://github.com/zkat/npx/commit/30677ed)) -* **prefix:** Handle node_modules without package.json ([#128](https://github.com/zkat/npx/issues/128)) ([f64ae43](https://github.com/zkat/npx/commit/f64ae43)), closes [/github.com/babel/babel/issues/4066#issuecomment-336705199](https://github.com//github.com/babel/babel/issues/4066/issues/issuecomment-336705199) -* **standard:** get things in line with standard 11 ([6cf8e88](https://github.com/zkat/npx/commit/6cf8e88)) +* **i18n:** Fix Korean locale ([#130](https://github.com/zkat/npx/issues/130)) ([752db48](https://github.com/npm/npx/commit/752db48)) +* **index:** remove extraneous logging on Windows ([#136](https://github.com/zkat/npx/issues/136)) ([357e6ab](https://github.com/npm/npx/commit/357e6ab)), closes [#131](https://github.com/zkat/npx/issues/131) +* **license:** change npx license to ISC ([a617d7b](https://github.com/npm/npx/commit/a617d7b)) +* **parse-args:** fix version thing for yargs ([30677ed](https://github.com/npm/npx/commit/30677ed)) +* **prefix:** Handle node_modules without package.json ([#128](https://github.com/zkat/npx/issues/128)) ([f64ae43](https://github.com/npm/npx/commit/f64ae43)), closes [/github.com/babel/babel/issues/4066#issuecomment-336705199](https://github.com//github.com/babel/babel/issues/4066/issues/issuecomment-336705199) +* **standard:** get things in line with standard 11 ([6cf8e88](https://github.com/npm/npx/commit/6cf8e88)) ### BREAKING CHANGES @@ -66,271 +78,271 @@ All notable changes to this project will be documented in this file. See [standa -## [9.7.1](https://github.com/zkat/npx/compare/v9.7.0...v9.7.1) (2017-10-19) +## [9.7.1](https://github.com/npm/npx/compare/v9.7.0...v9.7.1) (2017-10-19) ### Bug Fixes -* **main:** err... oops? ([f24b4e3](https://github.com/zkat/npx/commit/f24b4e3)) +* **main:** err... oops? ([f24b4e3](https://github.com/npm/npx/commit/f24b4e3)) -# [9.7.0](https://github.com/zkat/npx/compare/v9.6.0...v9.7.0) (2017-10-19) +# [9.7.0](https://github.com/npm/npx/compare/v9.6.0...v9.7.0) (2017-10-19) ### Bug Fixes -* **exec:** fixed unix binary pathing issues (#120) ([f80a970](https://github.com/zkat/npx/commit/f80a970)), closes [#120](https://github.com/zkat/npx/issues/120) +* **exec:** fixed unix binary pathing issues (#120) ([f80a970](https://github.com/npm/npx/commit/f80a970)), closes [#120](https://github.com/zkat/npx/issues/120) ### Features -* **child:** add opts.installerStdio (#126) ([ade03f7](https://github.com/zkat/npx/commit/ade03f7)) +* **child:** add opts.installerStdio (#126) ([ade03f7](https://github.com/npm/npx/commit/ade03f7)) -# [9.6.0](https://github.com/zkat/npx/compare/v9.5.0...v9.6.0) (2017-08-17) +# [9.6.0](https://github.com/npm/npx/compare/v9.5.0...v9.6.0) (2017-08-17) ### Features -* **i18n:** add Arabic translation (#111) ([3c5b99a](https://github.com/zkat/npx/commit/3c5b99a)) -* **i18n:** add Dutch (#108) ([ed116fd](https://github.com/zkat/npx/commit/ed116fd)) +* **i18n:** add Arabic translation (#111) ([3c5b99a](https://github.com/npm/npx/commit/3c5b99a)) +* **i18n:** add Dutch (#108) ([ed116fd](https://github.com/npm/npx/commit/ed116fd)) -# [9.5.0](https://github.com/zkat/npx/compare/v9.4.1...v9.5.0) (2017-07-28) +# [9.5.0](https://github.com/npm/npx/compare/v9.4.1...v9.5.0) (2017-07-28) ### Features -* **i18n:** add Polish translations (#99) ([8442f59](https://github.com/zkat/npx/commit/8442f59)) +* **i18n:** add Polish translations (#99) ([8442f59](https://github.com/npm/npx/commit/8442f59)) -## [9.4.1](https://github.com/zkat/npx/compare/v9.4.0...v9.4.1) (2017-07-21) +## [9.4.1](https://github.com/npm/npx/compare/v9.4.0...v9.4.1) (2017-07-21) ### Bug Fixes -* **i18n:** fix filename for uk.json locale ([2c770e4](https://github.com/zkat/npx/commit/2c770e4)) +* **i18n:** fix filename for uk.json locale ([2c770e4](https://github.com/npm/npx/commit/2c770e4)) -# [9.4.0](https://github.com/zkat/npx/compare/v9.3.2...v9.4.0) (2017-07-21) +# [9.4.0](https://github.com/npm/npx/compare/v9.3.2...v9.4.0) (2017-07-21) ### Bug Fixes -* **i18n:** minor fixes to ru locale (#92) ([f4d5051](https://github.com/zkat/npx/commit/f4d5051)), closes [#92](https://github.com/zkat/npx/issues/92) +* **i18n:** minor fixes to ru locale (#92) ([f4d5051](https://github.com/npm/npx/commit/f4d5051)), closes [#92](https://github.com/zkat/npx/issues/92) ### Features -* **i18n:** `no` locale fallback for Norwegian bokmål ⚠️ In case of weird setups ⚠️ (#91) ([74f0e4c](https://github.com/zkat/npx/commit/74f0e4c)) -* **i18n:** add Bahasa Indonesia locale (#95) ([80dceeb](https://github.com/zkat/npx/commit/80dceeb)) -* **i18n:** add serbian translation (#96) ([040de7a](https://github.com/zkat/npx/commit/040de7a)) -* **i18n:** add Ukrainian locale (#93) ([9a3ef33](https://github.com/zkat/npx/commit/9a3ef33)) -* **i18n:** Added Norwegian (bokmål and nynorsk) translations (#90) ([6c5c733](https://github.com/zkat/npx/commit/6c5c733)) +* **i18n:** `no` locale fallback for Norwegian bokmål ⚠️ In case of weird setups ⚠️ (#91) ([74f0e4c](https://github.com/npm/npx/commit/74f0e4c)) +* **i18n:** add Bahasa Indonesia locale (#95) ([80dceeb](https://github.com/npm/npx/commit/80dceeb)) +* **i18n:** add serbian translation (#96) ([040de7a](https://github.com/npm/npx/commit/040de7a)) +* **i18n:** add Ukrainian locale (#93) ([9a3ef33](https://github.com/npm/npx/commit/9a3ef33)) +* **i18n:** Added Norwegian (bokmål and nynorsk) translations (#90) ([6c5c733](https://github.com/npm/npx/commit/6c5c733)) -## [9.3.2](https://github.com/zkat/npx/compare/v9.3.1...v9.3.2) (2017-07-17) +## [9.3.2](https://github.com/npm/npx/compare/v9.3.1...v9.3.2) (2017-07-17) ### Bug Fixes -* **exec:** detect a wider range of shebang lines for node scripts (#89) ([1841b6f](https://github.com/zkat/npx/commit/1841b6f)) -* **windows:** escape spawn args because windows is picky (#87) ([314e5eb](https://github.com/zkat/npx/commit/314e5eb)) -* **windows:** get magic shim detection working on Windows (#88) ([255aeeb](https://github.com/zkat/npx/commit/255aeeb)) +* **exec:** detect a wider range of shebang lines for node scripts (#89) ([1841b6f](https://github.com/npm/npx/commit/1841b6f)) +* **windows:** escape spawn args because windows is picky (#87) ([314e5eb](https://github.com/npm/npx/commit/314e5eb)) +* **windows:** get magic shim detection working on Windows (#88) ([255aeeb](https://github.com/npm/npx/commit/255aeeb)) -## [9.3.1](https://github.com/zkat/npx/compare/v9.3.0...v9.3.1) (2017-07-17) +## [9.3.1](https://github.com/npm/npx/compare/v9.3.0...v9.3.1) (2017-07-17) ### Bug Fixes -* **deps:** update to npm[@5](https://github.com/5).3.0 ([2b14de2](https://github.com/zkat/npx/commit/2b14de2)) +* **deps:** update to npm[@5](https://github.com/5).3.0 ([2b14de2](https://github.com/npm/npx/commit/2b14de2)) -# [9.3.0](https://github.com/zkat/npx/compare/v9.2.3...v9.3.0) (2017-07-17) +# [9.3.0](https://github.com/npm/npx/compare/v9.2.3...v9.3.0) (2017-07-17) ### Features -* **i18n:** add Korean locale (#86) ([3655314](https://github.com/zkat/npx/commit/3655314)) +* **i18n:** add Korean locale (#86) ([3655314](https://github.com/npm/npx/commit/3655314)) -## [9.2.3](https://github.com/zkat/npx/compare/v9.2.2...v9.2.3) (2017-07-17) +## [9.2.3](https://github.com/npm/npx/compare/v9.2.2...v9.2.3) (2017-07-17) ### Bug Fixes -* **paths:** support npm/npx paths with spaces in them ([8f3b829](https://github.com/zkat/npx/commit/8f3b829)) +* **paths:** support npm/npx paths with spaces in them ([8f3b829](https://github.com/npm/npx/commit/8f3b829)) -## [9.2.2](https://github.com/zkat/npx/compare/v9.2.1...v9.2.2) (2017-07-15) +## [9.2.2](https://github.com/npm/npx/compare/v9.2.1...v9.2.2) (2017-07-15) ### Bug Fixes -* **npm:** escape path to npm, too ([333d2ff](https://github.com/zkat/npx/commit/333d2ff)) +* **npm:** escape path to npm, too ([333d2ff](https://github.com/npm/npx/commit/333d2ff)) -## [9.2.1](https://github.com/zkat/npx/compare/v9.2.0...v9.2.1) (2017-07-14) +## [9.2.1](https://github.com/npm/npx/compare/v9.2.0...v9.2.1) (2017-07-14) ### Bug Fixes -* **windows:** fixed windows binary pathing issues ([761dfe9](https://github.com/zkat/npx/commit/761dfe9)) +* **windows:** fixed windows binary pathing issues ([761dfe9](https://github.com/npm/npx/commit/761dfe9)) -# [9.2.0](https://github.com/zkat/npx/compare/v9.1.0...v9.2.0) (2017-07-14) +# [9.2.0](https://github.com/npm/npx/compare/v9.1.0...v9.2.0) (2017-07-14) ### Bug Fixes -* **binpath:** fix calling binaries from subdirectories ([f185d0d](https://github.com/zkat/npx/commit/f185d0d)) -* **i18n:** Fix typos in french locale (#78) ([f277fc7](https://github.com/zkat/npx/commit/f277fc7)), closes [#78](https://github.com/zkat/npx/issues/78) +* **binpath:** fix calling binaries from subdirectories ([f185d0d](https://github.com/npm/npx/commit/f185d0d)) +* **i18n:** Fix typos in french locale (#78) ([f277fc7](https://github.com/npm/npx/commit/f277fc7)), closes [#78](https://github.com/zkat/npx/issues/78) ### Features -* **i18n:** Add German translations (#79) ([c81e26d](https://github.com/zkat/npx/commit/c81e26d)) -* **i18n:** add zh_TW translation (#80) ([98288d8](https://github.com/zkat/npx/commit/98288d8)) +* **i18n:** Add German translations (#79) ([c81e26d](https://github.com/npm/npx/commit/c81e26d)) +* **i18n:** add zh_TW translation (#80) ([98288d8](https://github.com/npm/npx/commit/98288d8)) -# [9.1.0](https://github.com/zkat/npx/compare/v9.0.7...v9.1.0) (2017-07-12) +# [9.1.0](https://github.com/npm/npx/compare/v9.0.7...v9.1.0) (2017-07-12) ### Bug Fixes -* **call:** only npm run env if package.json exists ([370f395](https://github.com/zkat/npx/commit/370f395)) -* **i18n:** Fix grammar and spelling for de.json (#63) ([b14020f](https://github.com/zkat/npx/commit/b14020f)), closes [#63](https://github.com/zkat/npx/issues/63) -* **i18n:** wording revisions for Brazilian Portuguese (#75) ([b5dc536](https://github.com/zkat/npx/commit/b5dc536)) -* **npm:** path directly to the npm-cli.js script ([d531206](https://github.com/zkat/npx/commit/d531206)) -* **rimraf:** fix rimraf.sync is not a function issue ([d2ecba3](https://github.com/zkat/npx/commit/d2ecba3)) -* **windows:** get npx working well on Windows again (#69) ([6cfb8de](https://github.com/zkat/npx/commit/6cfb8de)), closes [#60](https://github.com/zkat/npx/issues/60) [#58](https://github.com/zkat/npx/issues/58) [#62](https://github.com/zkat/npx/issues/62) +* **call:** only npm run env if package.json exists ([370f395](https://github.com/npm/npx/commit/370f395)) +* **i18n:** Fix grammar and spelling for de.json (#63) ([b14020f](https://github.com/npm/npx/commit/b14020f)), closes [#63](https://github.com/zkat/npx/issues/63) +* **i18n:** wording revisions for Brazilian Portuguese (#75) ([b5dc536](https://github.com/npm/npx/commit/b5dc536)) +* **npm:** path directly to the npm-cli.js script ([d531206](https://github.com/npm/npx/commit/d531206)) +* **rimraf:** fix rimraf.sync is not a function issue ([d2ecba3](https://github.com/npm/npx/commit/d2ecba3)) +* **windows:** get npx working well on Windows again (#69) ([6cfb8de](https://github.com/npm/npx/commit/6cfb8de)), closes [#60](https://github.com/zkat/npx/issues/60) [#58](https://github.com/zkat/npx/issues/58) [#62](https://github.com/zkat/npx/issues/62) ### Features -* **i18n:** add Czech translation (#76) ([8a0b3f6](https://github.com/zkat/npx/commit/8a0b3f6)) -* **i18n:** Add Turkish translation (#73) ([26e5edf](https://github.com/zkat/npx/commit/26e5edf)) -* **i18n:** Added support for Italian language (#71) ([6883e75](https://github.com/zkat/npx/commit/6883e75)) -* **i18n:** Fix Romanian translation (#70) ([fd6bbcf](https://github.com/zkat/npx/commit/fd6bbcf)), closes [#70](https://github.com/zkat/npx/issues/70) -* **node:** add --node-arg support to pass flags to node for script binaries (#77) ([65665bd](https://github.com/zkat/npx/commit/65665bd)) +* **i18n:** add Czech translation (#76) ([8a0b3f6](https://github.com/npm/npx/commit/8a0b3f6)) +* **i18n:** Add Turkish translation (#73) ([26e5edf](https://github.com/npm/npx/commit/26e5edf)) +* **i18n:** Added support for Italian language (#71) ([6883e75](https://github.com/npm/npx/commit/6883e75)) +* **i18n:** Fix Romanian translation (#70) ([fd6bbcf](https://github.com/npm/npx/commit/fd6bbcf)), closes [#70](https://github.com/zkat/npx/issues/70) +* **node:** add --node-arg support to pass flags to node for script binaries (#77) ([65665bd](https://github.com/npm/npx/commit/65665bd)) -## [9.0.7](https://github.com/zkat/npx/compare/v9.0.6...v9.0.7) (2017-07-11) +## [9.0.7](https://github.com/npm/npx/compare/v9.0.6...v9.0.7) (2017-07-11) ### Bug Fixes -* **i18n:** Fix some Catalan translations (#59) ([11c8a19](https://github.com/zkat/npx/commit/11c8a19)), closes [#59](https://github.com/zkat/npx/issues/59) +* **i18n:** Fix some Catalan translations (#59) ([11c8a19](https://github.com/npm/npx/commit/11c8a19)), closes [#59](https://github.com/zkat/npx/issues/59) -## [9.0.6](https://github.com/zkat/npx/compare/v9.0.5...v9.0.6) (2017-07-11) +## [9.0.6](https://github.com/npm/npx/compare/v9.0.5...v9.0.6) (2017-07-11) ### Bug Fixes -* **auto-fallback:** fix syntax error in bash/zsh auto-fallback ([d8b19db](https://github.com/zkat/npx/commit/d8b19db)) +* **auto-fallback:** fix syntax error in bash/zsh auto-fallback ([d8b19db](https://github.com/npm/npx/commit/d8b19db)) -## [9.0.5](https://github.com/zkat/npx/compare/v9.0.4...v9.0.5) (2017-07-11) +## [9.0.5](https://github.com/npm/npx/compare/v9.0.4...v9.0.5) (2017-07-11) ### Bug Fixes -* **npx:** something went wrong with the 9.0.4 build and bundledeps ([75fc436](https://github.com/zkat/npx/commit/75fc436)) +* **npx:** something went wrong with the 9.0.4 build and bundledeps ([75fc436](https://github.com/npm/npx/commit/75fc436)) -## [9.0.4](https://github.com/zkat/npx/compare/v9.0.3...v9.0.4) (2017-07-11) +## [9.0.4](https://github.com/npm/npx/compare/v9.0.3...v9.0.4) (2017-07-11) ### Bug Fixes -* **auto-fallback:** prevent infinite loop if npx disappears ([6c24e58](https://github.com/zkat/npx/commit/6c24e58)) -* **bin:** add repository and more detailed author info ([906574e](https://github.com/zkat/npx/commit/906574e)) -* **bin:** pin the npx bin's dependencies ([ae62f7a](https://github.com/zkat/npx/commit/ae62f7a)) -* **build:** make sure changelog and license are copied to bin ([4fbb599](https://github.com/zkat/npx/commit/4fbb599)) -* **deps:** stop bundling deps in libnpx itself ([c3e56e9](https://github.com/zkat/npx/commit/c3e56e9)) -* **errors:** print command not found for packages without valid binaries ([9b24359](https://github.com/zkat/npx/commit/9b24359)) -* **help:** --no-install help text was contradicting itself ([9d96f5e](https://github.com/zkat/npx/commit/9d96f5e)) -* **install:** prevent concurrent npx runs from clobbering each other ([6b35c91](https://github.com/zkat/npx/commit/6b35c91)) -* **npx:** npx npx npx npx npx npx npx npx npx works again ([875d4cd](https://github.com/zkat/npx/commit/875d4cd)) -* **updater:** dependency injection for update-notifier target ([c3027a9](https://github.com/zkat/npx/commit/c3027a9)) -* **updater:** ignore some kinds of update-notifier errors ([7631bbe](https://github.com/zkat/npx/commit/7631bbe)) +* **auto-fallback:** prevent infinite loop if npx disappears ([6c24e58](https://github.com/npm/npx/commit/6c24e58)) +* **bin:** add repository and more detailed author info ([906574e](https://github.com/npm/npx/commit/906574e)) +* **bin:** pin the npx bin's dependencies ([ae62f7a](https://github.com/npm/npx/commit/ae62f7a)) +* **build:** make sure changelog and license are copied to bin ([4fbb599](https://github.com/npm/npx/commit/4fbb599)) +* **deps:** stop bundling deps in libnpx itself ([c3e56e9](https://github.com/npm/npx/commit/c3e56e9)) +* **errors:** print command not found for packages without valid binaries ([9b24359](https://github.com/npm/npx/commit/9b24359)) +* **help:** --no-install help text was contradicting itself ([9d96f5e](https://github.com/npm/npx/commit/9d96f5e)) +* **install:** prevent concurrent npx runs from clobbering each other ([6b35c91](https://github.com/npm/npx/commit/6b35c91)) +* **npx:** npx npx npx npx npx npx npx npx npx works again ([875d4cd](https://github.com/npm/npx/commit/875d4cd)) +* **updater:** dependency injection for update-notifier target ([c3027a9](https://github.com/npm/npx/commit/c3027a9)) +* **updater:** ignore some kinds of update-notifier errors ([7631bbe](https://github.com/npm/npx/commit/7631bbe)) -## [9.0.3](https://github.com/zkat/npx/compare/v9.0.2...v9.0.3) (2017-07-08) +## [9.0.3](https://github.com/npm/npx/compare/v9.0.2...v9.0.3) (2017-07-08) ### Bug Fixes -* **version:** hand version to yargs directly ([e0b5eeb](https://github.com/zkat/npx/commit/e0b5eeb)) +* **version:** hand version to yargs directly ([e0b5eeb](https://github.com/npm/npx/commit/e0b5eeb)) -## [9.0.2](https://github.com/zkat/npx/compare/v9.0.1...v9.0.2) (2017-07-08) +## [9.0.2](https://github.com/npm/npx/compare/v9.0.1...v9.0.2) (2017-07-08) ### Bug Fixes -* **manpage:** fix manpage for real because files syntax is weird ([9145e2a](https://github.com/zkat/npx/commit/9145e2a)) +* **manpage:** fix manpage for real because files syntax is weird ([9145e2a](https://github.com/npm/npx/commit/9145e2a)) -## [9.0.1](https://github.com/zkat/npx/compare/v9.0.0...v9.0.1) (2017-07-08) +## [9.0.1](https://github.com/npm/npx/compare/v9.0.0...v9.0.1) (2017-07-08) ### Bug Fixes -* **man:** make sure manpage is used in npx bin ([704b94f](https://github.com/zkat/npx/commit/704b94f)) +* **man:** make sure manpage is used in npx bin ([704b94f](https://github.com/npm/npx/commit/704b94f)) -# [9.0.0](https://github.com/zkat/npx/compare/v8.1.1...v9.0.0) (2017-07-08) +# [9.0.0](https://github.com/npm/npx/compare/v8.1.1...v9.0.0) (2017-07-08) ### Features -* **libnpx:** libify main npx codebase ([643f58e](https://github.com/zkat/npx/commit/643f58e)) -* **npx:** create a new binary for standalone publishing ([da5a3b7](https://github.com/zkat/npx/commit/da5a3b7)) +* **libnpx:** libify main npx codebase ([643f58e](https://github.com/npm/npx/commit/643f58e)) +* **npx:** create a new binary for standalone publishing ([da5a3b7](https://github.com/npm/npx/commit/da5a3b7)) ### BREAKING CHANGES @@ -342,49 +354,49 @@ and a separate project will take over the role of the main `npx` binary. -## [8.1.1](https://github.com/zkat/npx/compare/v8.1.0...v8.1.1) (2017-07-06) +## [8.1.1](https://github.com/npm/npx/compare/v8.1.0...v8.1.1) (2017-07-06) ### Bug Fixes -* **deps:** bump all deps ([6ea24bf](https://github.com/zkat/npx/commit/6ea24bf)) -* **npm:** bump npm to 5.1.0 for a bunch of fixes ([18e4587](https://github.com/zkat/npx/commit/18e4587)) +* **deps:** bump all deps ([6ea24bf](https://github.com/npm/npx/commit/6ea24bf)) +* **npm:** bump npm to 5.1.0 for a bunch of fixes ([18e4587](https://github.com/npm/npx/commit/18e4587)) -# [8.1.0](https://github.com/zkat/npx/compare/v8.0.1...v8.1.0) (2017-06-27) +# [8.1.0](https://github.com/npm/npx/compare/v8.0.1...v8.1.0) (2017-06-27) ### Bug Fixes -* **i18n:** minor tweaks to ja.json (#46) ([1ed63c2](https://github.com/zkat/npx/commit/1ed63c2)) +* **i18n:** minor tweaks to ja.json (#46) ([1ed63c2](https://github.com/npm/npx/commit/1ed63c2)) ### Features -* **i18n:** Update pt_BR.json (#51) ([d292f22](https://github.com/zkat/npx/commit/d292f22)) +* **i18n:** Update pt_BR.json (#51) ([d292f22](https://github.com/npm/npx/commit/d292f22)) -## [8.0.1](https://github.com/zkat/npx/compare/v8.0.0...v8.0.1) (2017-06-27) +## [8.0.1](https://github.com/npm/npx/compare/v8.0.0...v8.0.1) (2017-06-27) ### Bug Fixes -* **npm:** bump npm version for more bugfixes ([30711a8](https://github.com/zkat/npx/commit/30711a8)) -* **npm:** Use --parseable option to work around output quirks ([8cb75a2](https://github.com/zkat/npx/commit/8cb75a2)) +* **npm:** bump npm version for more bugfixes ([30711a8](https://github.com/npm/npx/commit/30711a8)) +* **npm:** Use --parseable option to work around output quirks ([8cb75a2](https://github.com/npm/npx/commit/8cb75a2)) -# [8.0.0](https://github.com/zkat/npx/compare/v7.0.0...v8.0.0) (2017-06-24) +# [8.0.0](https://github.com/npm/npx/compare/v7.0.0...v8.0.0) (2017-06-24) ### Features -* **exec:** auto-guess binaries when different from pkg name ([139c434](https://github.com/zkat/npx/commit/139c434)) +* **exec:** auto-guess binaries when different from pkg name ([139c434](https://github.com/npm/npx/commit/139c434)) ### BREAKING CHANGES @@ -398,17 +410,17 @@ multiple non-matching binaries, but that should be rare. -# [7.0.0](https://github.com/zkat/npx/compare/v6.2.0...v7.0.0) (2017-06-24) +# [7.0.0](https://github.com/npm/npx/compare/v6.2.0...v7.0.0) (2017-06-24) ### Bug Fixes -* **win32:** improve win32 situation a bit (#50) ([b7ad934](https://github.com/zkat/npx/commit/b7ad934)) +* **win32:** improve win32 situation a bit (#50) ([b7ad934](https://github.com/npm/npx/commit/b7ad934)) ### Features -* **local:** improve the behavior when calling ./local paths (#48) ([2e418d1](https://github.com/zkat/npx/commit/2e418d1)) +* **local:** improve the behavior when calling ./local paths (#48) ([2e418d1](https://github.com/npm/npx/commit/2e418d1)) ### BREAKING CHANGES @@ -422,71 +434,71 @@ of all the various cases and how each of them is handled. -# [6.2.0](https://github.com/zkat/npx/compare/v6.1.0...v6.2.0) (2017-06-23) +# [6.2.0](https://github.com/npm/npx/compare/v6.1.0...v6.2.0) (2017-06-23) ### Bug Fixes -* **child:** iron out a few crinkles and add tests ([b3b5ef6](https://github.com/zkat/npx/commit/b3b5ef6)) -* **execCmd:** only reuse the current process if no shell passed in ([e413cff](https://github.com/zkat/npx/commit/e413cff)) -* **execCmd:** use the module built-in directly ([6f741c2](https://github.com/zkat/npx/commit/6f741c2)) -* **help:** fuck it. just hard-code it ([d5d5085](https://github.com/zkat/npx/commit/d5d5085)) -* **main:** only exec if this is the main module ([9631e2a](https://github.com/zkat/npx/commit/9631e2a)) +* **child:** iron out a few crinkles and add tests ([b3b5ef6](https://github.com/npm/npx/commit/b3b5ef6)) +* **execCmd:** only reuse the current process if no shell passed in ([e413cff](https://github.com/npm/npx/commit/e413cff)) +* **execCmd:** use the module built-in directly ([6f741c2](https://github.com/npm/npx/commit/6f741c2)) +* **help:** fuck it. just hard-code it ([d5d5085](https://github.com/npm/npx/commit/d5d5085)) +* **main:** only exec if this is the main module ([9631e2a](https://github.com/npm/npx/commit/9631e2a)) ### Features -* **i18n:** Update fr.json (#44) ([ea47c4f](https://github.com/zkat/npx/commit/ea47c4f)) -* **i18n:** update the Romanian translation. (#42) ([2ed36b6](https://github.com/zkat/npx/commit/2ed36b6)) +* **i18n:** Update fr.json (#44) ([ea47c4f](https://github.com/npm/npx/commit/ea47c4f)) +* **i18n:** update the Romanian translation. (#42) ([2ed36b6](https://github.com/npm/npx/commit/2ed36b6)) -# [6.1.0](https://github.com/zkat/npx/compare/v6.0.0...v6.1.0) (2017-06-21) +# [6.1.0](https://github.com/npm/npx/compare/v6.0.0...v6.1.0) (2017-06-21) ### Bug Fixes -* **deps:** remove unused gauge dep ([aa40a34](https://github.com/zkat/npx/commit/aa40a34)) +* **deps:** remove unused gauge dep ([aa40a34](https://github.com/npm/npx/commit/aa40a34)) ### Features -* **i18n:** update ru locale (#41) ([7c84dee](https://github.com/zkat/npx/commit/7c84dee)) -* **i18n:** update zh_CN (#40) ([da4ec67](https://github.com/zkat/npx/commit/da4ec67)) -* **perf:** run node-based commands in the current process ([6efcde4](https://github.com/zkat/npx/commit/6efcde4)) +* **i18n:** update ru locale (#41) ([7c84dee](https://github.com/npm/npx/commit/7c84dee)) +* **i18n:** update zh_CN (#40) ([da4ec67](https://github.com/npm/npx/commit/da4ec67)) +* **perf:** run node-based commands in the current process ([6efcde4](https://github.com/npm/npx/commit/6efcde4)) -# [6.0.0](https://github.com/zkat/npx/compare/v5.4.0...v6.0.0) (2017-06-20) +# [6.0.0](https://github.com/npm/npx/compare/v5.4.0...v6.0.0) (2017-06-20) ### Bug Fixes -* **call:** stop parsing -c for commands + fix corner cases ([bd4e538](https://github.com/zkat/npx/commit/bd4e538)) -* **child:** exec does not have the information needed to correctly escape its args ([6714992](https://github.com/zkat/npx/commit/6714992)) -* **guessCmdName:** tests failed because of lazy npa ([53a0119](https://github.com/zkat/npx/commit/53a0119)) -* **i18n:** gender inclusiveness fix for french version (#37) ([04920ae](https://github.com/zkat/npx/commit/04920ae)), closes [#37](https://github.com/zkat/npx/issues/37) -* **i18n:** typo 😇 (#38) ([ede4a53](https://github.com/zkat/npx/commit/ede4a53)) -* **install:** handle JSON parsing failures ([bec2887](https://github.com/zkat/npx/commit/bec2887)) -* **output:** stop printing out Command Failed messages ([873cffe](https://github.com/zkat/npx/commit/873cffe)) -* **parseArgs:** fix booboo in fast path ([d1e5487](https://github.com/zkat/npx/commit/d1e5487)) -* **perf:** fast-path `npx foo` arg parsing ([ba4fe71](https://github.com/zkat/npx/commit/ba4fe71)) -* **perf:** remove bluebird and defer some requires for SPEED ([00fc313](https://github.com/zkat/npx/commit/00fc313)) +* **call:** stop parsing -c for commands + fix corner cases ([bd4e538](https://github.com/npm/npx/commit/bd4e538)) +* **child:** exec does not have the information needed to correctly escape its args ([6714992](https://github.com/npm/npx/commit/6714992)) +* **guessCmdName:** tests failed because of lazy npa ([53a0119](https://github.com/npm/npx/commit/53a0119)) +* **i18n:** gender inclusiveness fix for french version (#37) ([04920ae](https://github.com/npm/npx/commit/04920ae)), closes [#37](https://github.com/zkat/npx/issues/37) +* **i18n:** typo 😇 (#38) ([ede4a53](https://github.com/npm/npx/commit/ede4a53)) +* **install:** handle JSON parsing failures ([bec2887](https://github.com/npm/npx/commit/bec2887)) +* **output:** stop printing out Command Failed messages ([873cffe](https://github.com/npm/npx/commit/873cffe)) +* **parseArgs:** fix booboo in fast path ([d1e5487](https://github.com/npm/npx/commit/d1e5487)) +* **perf:** fast-path `npx foo` arg parsing ([ba4fe71](https://github.com/npm/npx/commit/ba4fe71)) +* **perf:** remove bluebird and defer some requires for SPEED ([00fc313](https://github.com/npm/npx/commit/00fc313)) ### Features -* **i18n:** add Romanian translations. (#34) ([9e98bd0](https://github.com/zkat/npx/commit/9e98bd0)) -* **i18n:** added a few more localizable strings ([779d950](https://github.com/zkat/npx/commit/779d950)) -* **i18n:** updated ca.json ([af7a035](https://github.com/zkat/npx/commit/af7a035)) -* **i18n:** updated es.json ([414644f](https://github.com/zkat/npx/commit/414644f)) -* **i18n:** updated ja.json ([448b082](https://github.com/zkat/npx/commit/448b082)) -* **i18n:** Ze German Translation (#35) ([6f003f5](https://github.com/zkat/npx/commit/6f003f5)) -* **package:** report number of temp packages installed ([5b7fe8d](https://github.com/zkat/npx/commit/5b7fe8d)) -* **perf:** only launch update-notifier when npx installs stuff ([549d413](https://github.com/zkat/npx/commit/549d413)) -* **quiet:** added -q/--quiet to suppress output from npx itself ([16607d9](https://github.com/zkat/npx/commit/16607d9)) +* **i18n:** add Romanian translations. (#34) ([9e98bd0](https://github.com/npm/npx/commit/9e98bd0)) +* **i18n:** added a few more localizable strings ([779d950](https://github.com/npm/npx/commit/779d950)) +* **i18n:** updated ca.json ([af7a035](https://github.com/npm/npx/commit/af7a035)) +* **i18n:** updated es.json ([414644f](https://github.com/npm/npx/commit/414644f)) +* **i18n:** updated ja.json ([448b082](https://github.com/npm/npx/commit/448b082)) +* **i18n:** Ze German Translation (#35) ([6f003f5](https://github.com/npm/npx/commit/6f003f5)) +* **package:** report number of temp packages installed ([5b7fe8d](https://github.com/npm/npx/commit/5b7fe8d)) +* **perf:** only launch update-notifier when npx installs stuff ([549d413](https://github.com/npm/npx/commit/549d413)) +* **quiet:** added -q/--quiet to suppress output from npx itself ([16607d9](https://github.com/npm/npx/commit/16607d9)) ### BREAKING CHANGES @@ -496,124 +508,124 @@ of all the various cases and how each of them is handled. -# [5.4.0](https://github.com/zkat/npx/compare/v5.3.0...v5.4.0) (2017-06-17) +# [5.4.0](https://github.com/npm/npx/compare/v5.3.0...v5.4.0) (2017-06-17) ### Bug Fixes -* **i18n:** some corrections for es.json ([4d50b71](https://github.com/zkat/npx/commit/4d50b71)) -* **i18n:** update locale files with bugfixes ([77caf82](https://github.com/zkat/npx/commit/77caf82)) -* **i18n:** Y utility was ignoring falsy entries ([f22a4d0](https://github.com/zkat/npx/commit/f22a4d0)) -* **i18n:** してください -> します ([01671af](https://github.com/zkat/npx/commit/01671af)) +* **i18n:** some corrections for es.json ([4d50b71](https://github.com/npm/npx/commit/4d50b71)) +* **i18n:** update locale files with bugfixes ([77caf82](https://github.com/npm/npx/commit/77caf82)) +* **i18n:** Y utility was ignoring falsy entries ([f22a4d0](https://github.com/npm/npx/commit/f22a4d0)) +* **i18n:** してください -> します ([01671af](https://github.com/npm/npx/commit/01671af)) ### Features -* **i18n:** add catalan translation ([579efa1](https://github.com/zkat/npx/commit/579efa1)) -* **i18n:** add pt-br translation (#33) ([6142551](https://github.com/zkat/npx/commit/6142551)) -* **i18n:** added largely machine-translated ja.json ([827705f](https://github.com/zkat/npx/commit/827705f)) -* **i18n:** adds russian translation (#32) ([b2619c1](https://github.com/zkat/npx/commit/b2619c1)) +* **i18n:** add catalan translation ([579efa1](https://github.com/npm/npx/commit/579efa1)) +* **i18n:** add pt-br translation (#33) ([6142551](https://github.com/npm/npx/commit/6142551)) +* **i18n:** added largely machine-translated ja.json ([827705f](https://github.com/npm/npx/commit/827705f)) +* **i18n:** adds russian translation (#32) ([b2619c1](https://github.com/npm/npx/commit/b2619c1)) -# [5.3.0](https://github.com/zkat/npx/compare/v5.2.0...v5.3.0) (2017-06-13) +# [5.3.0](https://github.com/npm/npx/compare/v5.2.0...v5.3.0) (2017-06-13) ### Features -* **i18n:** add Chinese translation (#31) ([24e1b31](https://github.com/zkat/npx/commit/24e1b31)) +* **i18n:** add Chinese translation (#31) ([24e1b31](https://github.com/npm/npx/commit/24e1b31)) -# [5.2.0](https://github.com/zkat/npx/compare/v5.1.3...v5.2.0) (2017-06-12) +# [5.2.0](https://github.com/npm/npx/compare/v5.1.3...v5.2.0) (2017-06-12) ### Bug Fixes -* **i18n:** removing extra spacing in fr.json ([002e2b8](https://github.com/zkat/npx/commit/002e2b8)) +* **i18n:** removing extra spacing in fr.json ([002e2b8](https://github.com/npm/npx/commit/002e2b8)) ### Features -* **i18n:** add french locale (#29) ([662395b](https://github.com/zkat/npx/commit/662395b)) +* **i18n:** add french locale (#29) ([662395b](https://github.com/npm/npx/commit/662395b)) -## [5.1.3](https://github.com/zkat/npx/compare/v5.1.2...v5.1.3) (2017-06-12) +## [5.1.3](https://github.com/npm/npx/compare/v5.1.2...v5.1.3) (2017-06-12) ### Bug Fixes -* **fallback:** put the Y in the wrong place lol ([d6bf8aa](https://github.com/zkat/npx/commit/d6bf8aa)) +* **fallback:** put the Y in the wrong place lol ([d6bf8aa](https://github.com/npm/npx/commit/d6bf8aa)) -## [5.1.2](https://github.com/zkat/npx/compare/v5.1.1...v5.1.2) (2017-06-10) +## [5.1.2](https://github.com/npm/npx/compare/v5.1.1...v5.1.2) (2017-06-10) -## [5.1.1](https://github.com/zkat/npx/compare/v5.1.0...v5.1.1) (2017-06-10) +## [5.1.1](https://github.com/npm/npx/compare/v5.1.0...v5.1.1) (2017-06-10) ### Bug Fixes -* **i18n:** forgot to add locales to files ([4118d6a](https://github.com/zkat/npx/commit/4118d6a)) +* **i18n:** forgot to add locales to files ([4118d6a](https://github.com/npm/npx/commit/4118d6a)) -# [5.1.0](https://github.com/zkat/npx/compare/v5.0.3...v5.1.0) (2017-06-10) +# [5.1.0](https://github.com/npm/npx/compare/v5.0.3...v5.1.0) (2017-06-10) ### Bug Fixes -* **exit:** let process exit normally to finish writes ([c50a398](https://github.com/zkat/npx/commit/c50a398)) +* **exit:** let process exit normally to finish writes ([c50a398](https://github.com/npm/npx/commit/c50a398)) ### Features -* **i18n:** added es.json ([6cf58b9](https://github.com/zkat/npx/commit/6cf58b9)) -* **i18n:** set up i18n plus baseline en.json locale ([b67bb3a](https://github.com/zkat/npx/commit/b67bb3a)) +* **i18n:** added es.json ([6cf58b9](https://github.com/npm/npx/commit/6cf58b9)) +* **i18n:** set up i18n plus baseline en.json locale ([b67bb3a](https://github.com/npm/npx/commit/b67bb3a)) -## [5.0.3](https://github.com/zkat/npx/compare/v5.0.2...v5.0.3) (2017-06-09) +## [5.0.3](https://github.com/npm/npx/compare/v5.0.2...v5.0.3) (2017-06-09) ### Bug Fixes -* **fallback:** exec is no ([42c1d30](https://github.com/zkat/npx/commit/42c1d30)) +* **fallback:** exec is no ([42c1d30](https://github.com/npm/npx/commit/42c1d30)) -## [5.0.2](https://github.com/zkat/npx/compare/v5.0.1...v5.0.2) (2017-06-09) +## [5.0.2](https://github.com/npm/npx/compare/v5.0.1...v5.0.2) (2017-06-09) ### Bug Fixes -* **fallback:** allow fallback to local anyway ([569cf2c](https://github.com/zkat/npx/commit/569cf2c)) +* **fallback:** allow fallback to local anyway ([569cf2c](https://github.com/npm/npx/commit/569cf2c)) -## [5.0.1](https://github.com/zkat/npx/compare/v5.0.0...v5.0.1) (2017-06-09) +## [5.0.1](https://github.com/npm/npx/compare/v5.0.0...v5.0.1) (2017-06-09) -# [5.0.0](https://github.com/zkat/npx/compare/v4.0.3...v5.0.0) (2017-06-09) +# [5.0.0](https://github.com/npm/npx/compare/v4.0.3...v5.0.0) (2017-06-09) ### Features -* **fallback:** by default, only fall back if you have an @ in the name ([bea08a0](https://github.com/zkat/npx/commit/bea08a0)) +* **fallback:** by default, only fall back if you have an @ in the name ([bea08a0](https://github.com/npm/npx/commit/bea08a0)) ### BREAKING CHANGES @@ -624,45 +636,45 @@ an @ sign in the command. -## [4.0.3](https://github.com/zkat/npx/compare/v4.0.2...v4.0.3) (2017-06-04) +## [4.0.3](https://github.com/npm/npx/compare/v4.0.2...v4.0.3) (2017-06-04) ### Bug Fixes -* **npm:** use --userconfig when querying for npm cache config (#28) ([21bc3bf](https://github.com/zkat/npx/commit/21bc3bf)) +* **npm:** use --userconfig when querying for npm cache config (#28) ([21bc3bf](https://github.com/npm/npx/commit/21bc3bf)) -## [4.0.2](https://github.com/zkat/npx/compare/v4.0.1...v4.0.2) (2017-06-04) +## [4.0.2](https://github.com/npm/npx/compare/v4.0.1...v4.0.2) (2017-06-04) ### Bug Fixes -* **install:** get windows workin (#27) ([9472175](https://github.com/zkat/npx/commit/9472175)) +* **install:** get windows workin (#27) ([9472175](https://github.com/npm/npx/commit/9472175)) -## [4.0.1](https://github.com/zkat/npx/compare/v4.0.0...v4.0.1) (2017-06-04) +## [4.0.1](https://github.com/npm/npx/compare/v4.0.0...v4.0.1) (2017-06-04) ### Bug Fixes -* **cmd:** make sure to use our own, enriched path ([9c89c2a](https://github.com/zkat/npx/commit/9c89c2a)) -* **error:** join args with a space on Command failed error ([c2f6f18](https://github.com/zkat/npx/commit/c2f6f18)) +* **cmd:** make sure to use our own, enriched path ([9c89c2a](https://github.com/npm/npx/commit/9c89c2a)) +* **error:** join args with a space on Command failed error ([c2f6f18](https://github.com/npm/npx/commit/c2f6f18)) -# [4.0.0](https://github.com/zkat/npx/compare/v3.0.0...v4.0.0) (2017-06-03) +# [4.0.0](https://github.com/npm/npx/compare/v3.0.0...v4.0.0) (2017-06-03) ### Features -* **call:** -c now loads same env as run-script ([76ae44c](https://github.com/zkat/npx/commit/76ae44c)) -* **npm:** allow configuration of npm binary ([e5d5634](https://github.com/zkat/npx/commit/e5d5634)) -* **npm:** embed npm binary ([a2cae9d](https://github.com/zkat/npx/commit/a2cae9d)) +* **call:** -c now loads same env as run-script ([76ae44c](https://github.com/npm/npx/commit/76ae44c)) +* **npm:** allow configuration of npm binary ([e5d5634](https://github.com/npm/npx/commit/e5d5634)) +* **npm:** embed npm binary ([a2cae9d](https://github.com/npm/npx/commit/a2cae9d)) ### BREAKING CHANGES @@ -674,29 +686,29 @@ variables added to them that were not there before. -# [3.0.0](https://github.com/zkat/npx/compare/v2.1.0...v3.0.0) (2017-06-03) +# [3.0.0](https://github.com/npm/npx/compare/v2.1.0...v3.0.0) (2017-06-03) ### Bug Fixes -* **args:** accept argv as arg and fix minor bugs ([46f10fe](https://github.com/zkat/npx/commit/46f10fe)) -* **deps:** explicitly add mkdirp and rimraf to devDeps ([832c75d](https://github.com/zkat/npx/commit/832c75d)) -* **docs:** misc tweaks to docs ([ed70a7b](https://github.com/zkat/npx/commit/ed70a7b)) -* **exec:** escape binaries and args to cp.exec (#18) ([55d6a11](https://github.com/zkat/npx/commit/55d6a11)) -* **fallback:** shells were sometimes ignored based on $SHELL ([07b7efc](https://github.com/zkat/npx/commit/07b7efc)) -* **get-prefix:** nudge isRootPath ([1ab31eb](https://github.com/zkat/npx/commit/1ab31eb)) -* **help:** correctly enable -h and --help ([adc2f45](https://github.com/zkat/npx/commit/adc2f45)) -* **startup:** delay loading some things to speed up startup ([6b32bf5](https://github.com/zkat/npx/commit/6b32bf5)) +* **args:** accept argv as arg and fix minor bugs ([46f10fe](https://github.com/npm/npx/commit/46f10fe)) +* **deps:** explicitly add mkdirp and rimraf to devDeps ([832c75d](https://github.com/npm/npx/commit/832c75d)) +* **docs:** misc tweaks to docs ([ed70a7b](https://github.com/npm/npx/commit/ed70a7b)) +* **exec:** escape binaries and args to cp.exec (#18) ([55d6a11](https://github.com/npm/npx/commit/55d6a11)) +* **fallback:** shells were sometimes ignored based on $SHELL ([07b7efc](https://github.com/npm/npx/commit/07b7efc)) +* **get-prefix:** nudge isRootPath ([1ab31eb](https://github.com/npm/npx/commit/1ab31eb)) +* **help:** correctly enable -h and --help ([adc2f45](https://github.com/npm/npx/commit/adc2f45)) +* **startup:** delay loading some things to speed up startup ([6b32bf5](https://github.com/npm/npx/commit/6b32bf5)) ### Features -* **cmd:** do some heuristic guesswork on default command names (#23) ([2404420](https://github.com/zkat/npx/commit/2404420)) -* **ignore:** add --ignore-existing option (#20) ([0866a83](https://github.com/zkat/npx/commit/0866a83)) -* **install:** added --no-install option to prevent install fallbacks ([a5fbdaf](https://github.com/zkat/npx/commit/a5fbdaf)) -* **package:** multiple --package options are now accepted ([f2fa6b3](https://github.com/zkat/npx/commit/f2fa6b3)) -* **save:** remove all save-related functionality (#19) ([ab77f6c](https://github.com/zkat/npx/commit/ab77f6c)) -* **shell:** run -c strings inside a system shell (#22) ([17db461](https://github.com/zkat/npx/commit/17db461)) +* **cmd:** do some heuristic guesswork on default command names (#23) ([2404420](https://github.com/npm/npx/commit/2404420)) +* **ignore:** add --ignore-existing option (#20) ([0866a83](https://github.com/npm/npx/commit/0866a83)) +* **install:** added --no-install option to prevent install fallbacks ([a5fbdaf](https://github.com/npm/npx/commit/a5fbdaf)) +* **package:** multiple --package options are now accepted ([f2fa6b3](https://github.com/npm/npx/commit/f2fa6b3)) +* **save:** remove all save-related functionality (#19) ([ab77f6c](https://github.com/npm/npx/commit/ab77f6c)) +* **shell:** run -c strings inside a system shell (#22) ([17db461](https://github.com/npm/npx/commit/17db461)) ### BREAKING CHANGES @@ -706,37 +718,37 @@ variables added to them that were not there before. -# [2.1.0](https://github.com/zkat/npx/compare/v2.0.1...v2.1.0) (2017-06-01) +# [2.1.0](https://github.com/npm/npx/compare/v2.0.1...v2.1.0) (2017-06-01) ### Features -* **opts:** add --shell-auto-fallback (#7) ([ac9cb40](https://github.com/zkat/npx/commit/ac9cb40)) +* **opts:** add --shell-auto-fallback (#7) ([ac9cb40](https://github.com/npm/npx/commit/ac9cb40)) -## [2.0.1](https://github.com/zkat/npx/compare/v2.0.0...v2.0.1) (2017-05-31) +## [2.0.1](https://github.com/npm/npx/compare/v2.0.0...v2.0.1) (2017-05-31) ### Bug Fixes -* **exec:** use command lookup joined with current PATH ([d9175e8](https://github.com/zkat/npx/commit/d9175e8)) +* **exec:** use command lookup joined with current PATH ([d9175e8](https://github.com/npm/npx/commit/d9175e8)) -# [2.0.0](https://github.com/zkat/npx/compare/v1.1.1...v2.0.0) (2017-05-31) +# [2.0.0](https://github.com/npm/npx/compare/v1.1.1...v2.0.0) (2017-05-31) ### Bug Fixes -* **npm:** manually look up npm path for Windows compat ([0fe8fbf](https://github.com/zkat/npx/commit/0fe8fbf)) +* **npm:** manually look up npm path for Windows compat ([0fe8fbf](https://github.com/npm/npx/commit/0fe8fbf)) ### Features -* **commands:** -p and [@version](https://github.com/version) now trigger installs ([9668c83](https://github.com/zkat/npx/commit/9668c83)) +* **commands:** -p and [@version](https://github.com/version) now trigger installs ([9668c83](https://github.com/npm/npx/commit/9668c83)) ### BREAKING CHANGES @@ -746,51 +758,51 @@ variables added to them that were not there before. -## [1.1.1](https://github.com/zkat/npx/compare/v1.1.0...v1.1.1) (2017-05-30) +## [1.1.1](https://github.com/npm/npx/compare/v1.1.0...v1.1.1) (2017-05-30) ### Bug Fixes -* **docs:** make sure man page gets installed ([2aadc16](https://github.com/zkat/npx/commit/2aadc16)) +* **docs:** make sure man page gets installed ([2aadc16](https://github.com/npm/npx/commit/2aadc16)) -# [1.1.0](https://github.com/zkat/npx/compare/v1.0.2...v1.1.0) (2017-05-30) +# [1.1.0](https://github.com/npm/npx/compare/v1.0.2...v1.1.0) (2017-05-30) ### Bug Fixes -* **help:** update usage string for help ([0747cff](https://github.com/zkat/npx/commit/0747cff)) -* **main:** exit if no package was parsed ([cdb579d](https://github.com/zkat/npx/commit/cdb579d)) -* **opts:** allow -- to prevent further parsing ([db7a0e4](https://github.com/zkat/npx/commit/db7a0e4)) +* **help:** update usage string for help ([0747cff](https://github.com/npm/npx/commit/0747cff)) +* **main:** exit if no package was parsed ([cdb579d](https://github.com/npm/npx/commit/cdb579d)) +* **opts:** allow -- to prevent further parsing ([db7a0e4](https://github.com/npm/npx/commit/db7a0e4)) ### Features -* **updates:** added update-notifier ([8dc91d4](https://github.com/zkat/npx/commit/8dc91d4)) +* **updates:** added update-notifier ([8dc91d4](https://github.com/npm/npx/commit/8dc91d4)) -## [1.0.2](https://github.com/zkat/npx/compare/v1.0.1...v1.0.2) (2017-05-30) +## [1.0.2](https://github.com/npm/npx/compare/v1.0.1...v1.0.2) (2017-05-30) ### Bug Fixes -* **pkg:** bundle deps to guarantee global install precision ([3e21217](https://github.com/zkat/npx/commit/3e21217)) +* **pkg:** bundle deps to guarantee global install precision ([3e21217](https://github.com/npm/npx/commit/3e21217)) -## [1.0.1](https://github.com/zkat/npx/compare/v1.0.0...v1.0.1) (2017-05-30) +## [1.0.1](https://github.com/npm/npx/compare/v1.0.0...v1.0.1) (2017-05-30) ### Bug Fixes -* **build:** add dummy test file to let things build ([6199eb6](https://github.com/zkat/npx/commit/6199eb6)) -* **docs:** fix arg documentation in readme/manpage ([d1cf44c](https://github.com/zkat/npx/commit/d1cf44c)) -* **opts:** add --version/-v ([2633a0e](https://github.com/zkat/npx/commit/2633a0e)) +* **build:** add dummy test file to let things build ([6199eb6](https://github.com/npm/npx/commit/6199eb6)) +* **docs:** fix arg documentation in readme/manpage ([d1cf44c](https://github.com/npm/npx/commit/d1cf44c)) +* **opts:** add --version/-v ([2633a0e](https://github.com/npm/npx/commit/2633a0e)) @@ -800,4 +812,4 @@ variables added to them that were not there before. ### Features -* **npx:** initial working implementation ([a83a67d](https://github.com/zkat/npx/commit/a83a67d)) +* **npx:** initial working implementation ([a83a67d](https://github.com/npm/npx/commit/a83a67d)) diff --git a/deps/npm/node_modules/libnpx/README.md b/deps/npm/node_modules/libnpx/README.md index 130f1bc3fdd023..fa7f37d878a067 100644 --- a/deps/npm/node_modules/libnpx/README.md +++ b/deps/npm/node_modules/libnpx/README.md @@ -1,4 +1,4 @@ -[![npm](https://img.shields.io/npm/v/npx.svg)](https://npm.im/npx) [![license](https://img.shields.io/npm/l/npx.svg)](https://npm.im/npx) [![Travis](https://img.shields.io/travis/zkat/npx.svg)](https://travis-ci.org/zkat/npx) [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/zkat/npx?svg=true)](https://ci.appveyor.com/project/zkat/npx) [![Coverage Status](https://coveralls.io/repos/github/zkat/npx/badge.svg?branch=latest)](https://coveralls.io/github/zkat/npx?branch=latest) +[![npm](https://img.shields.io/npm/v/npx.svg)](https://npm.im/npx) [![license](https://img.shields.io/npm/l/npx.svg)](https://npm.im/npx) [![Travis](https://img.shields.io/travis/npm/npx.svg)](https://travis-ci.org/npm/npx) [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/npm/npx?svg=true)](https://ci.appveyor.com/project/npm/npx) [![Coverage Status](https://coveralls.io/repos/github/npm/npx/badge.svg?branch=latest)](https://coveralls.io/github/npm/npx?branch=latest) # npx(1) -- execute npm package binaries @@ -152,7 +152,7 @@ Written by [Kat Marchan](https://github.com/zkat). ## REPORTING BUGS -Please file any relevant issues [on Github.](https://github.com/zkat/npx) +Please file any relevant issues [on Github.](https://github.com/npm/npx) ## LICENSE diff --git a/deps/npm/node_modules/libnpx/libnpx.1 b/deps/npm/node_modules/libnpx/libnpx.1 index 4215202da8e244..aea3ffe8f41922 100644 --- a/deps/npm/node_modules/libnpx/libnpx.1 +++ b/deps/npm/node_modules/libnpx/libnpx.1 @@ -1,4 +1,4 @@ -.TH "NPX" "1" "April 2018" "libnpx@10.1.1" "User Commands" +.TH "NPX" "1" "January 2020" "libnpx@10.2.1" "User Commands" .SH "NAME" \fBnpx\fR \- execute npm package binaries .SH SYNOPSIS @@ -158,7 +158,7 @@ Huge thanks to Kwyn Meagher \fIhttps://blog\.kwyn\.io\fR for generously donating Written by Kat Marchan \fIhttps://github\.com/zkat\fR\|\. .SH REPORTING BUGS .P -Please file any relevant issues on Github\. \fIhttps://github\.com/zkat/npx\fR +Please file any relevant issues on Github\. \fIhttps://github\.com/npm/npx\fR .SH LICENSE .P This work is released by its authors into the public domain under CC0\-1\.0\. See \fBLICENSE\.md\fP for details\. diff --git a/deps/npm/node_modules/libnpx/package.json b/deps/npm/node_modules/libnpx/package.json index b9d866b96a7d00..9b9949cd3ca4f4 100644 --- a/deps/npm/node_modules/libnpx/package.json +++ b/deps/npm/node_modules/libnpx/package.json @@ -1,39 +1,36 @@ { - "_args": [ - [ - "libnpx@10.2.0", - "/Users/rebecca/code/npm" - ] - ], - "_from": "libnpx@10.2.0", - "_id": "libnpx@10.2.0", + "_from": "libnpx@10.2.2", + "_id": "libnpx@10.2.2", "_inBundle": false, - "_integrity": "sha512-X28coei8/XRCt15cYStbLBph+KGhFra4VQhRBPuH/HHMkC5dxM8v24RVgUsvODKCrUZ0eTgiTqJp6zbl0sskQQ==", + "_integrity": "sha512-ujaYToga1SAX5r7FU5ShMFi88CWpY75meNZtr6RtEyv4l2ZK3+Wgvxq2IqlwWBiDZOqhumdeiocPS1aKrCMe3A==", "_location": "/libnpx", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "libnpx@10.2.0", + "raw": "libnpx@10.2.2", "name": "libnpx", "escapedName": "libnpx", - "rawSpec": "10.2.0", + "rawSpec": "10.2.2", "saveSpec": null, - "fetchSpec": "10.2.0" + "fetchSpec": "10.2.2" }, "_requiredBy": [ + "#USER", "/" ], - "_resolved": "https://registry.npmjs.org/libnpx/-/libnpx-10.2.0.tgz", - "_spec": "10.2.0", - "_where": "/Users/rebecca/code/npm", + "_resolved": "https://registry.npmjs.org/libnpx/-/libnpx-10.2.2.tgz", + "_shasum": "5a4171b9b92dd031463ef66a4af9f5cbd6b09572", + "_spec": "libnpx@10.2.2", + "_where": "/Users/mperrotte/npminc/cli", "author": { "name": "Kat Marchán", "email": "kzm@sykosomatic.org" }, "bugs": { - "url": "https://github.com/zkat/npx/issues" + "url": "https://github.com/npm/npx/issues" }, + "bundleDependencies": false, "config": { "nyc": { "exclude": [ @@ -52,6 +49,7 @@ "y18n": "^4.0.0", "yargs": "^11.0.0" }, + "deprecated": false, "description": "support library for npx -- an tool for executing npm-based packages.", "devDependencies": { "cross-env": "^5.1.3", @@ -76,7 +74,7 @@ "libnpx.1", "locales" ], - "homepage": "https://github.com/zkat/npx#readme", + "homepage": "https://github.com/npm/npx#readme", "keywords": [ "npm", "npm exec", @@ -93,7 +91,7 @@ "name": "libnpx", "repository": { "type": "git", - "url": "git+https://github.com/zkat/npx.git" + "url": "git+https://github.com/npm/npx.git" }, "scripts": { "bin": "make bin", @@ -107,5 +105,5 @@ "update-coc": "weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'", "update-contrib": "weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'" }, - "version": "10.2.0" + "version": "10.2.2" } diff --git a/deps/npm/node_modules/map-age-cleaner/dist/index.d.ts b/deps/npm/node_modules/map-age-cleaner/dist/index.d.ts new file mode 100644 index 00000000000000..fbf5ce08f5fc18 --- /dev/null +++ b/deps/npm/node_modules/map-age-cleaner/dist/index.d.ts @@ -0,0 +1,20 @@ +interface Entry { + [key: string]: any; +} +interface MaxAgeEntry extends Entry { + maxAge: number; +} +/** + * Automatically cleanup the items in the provided `map`. The property of the expiration timestamp should be named `maxAge`. + * + * @param map - Map instance which should be cleaned up. + */ +export default function mapAgeCleaner(map: Map): any; +/** + * Automatically cleanup the items in the provided `map`. + * + * @param map - Map instance which should be cleaned up. + * @param property - Name of the property which olds the expiry timestamp. + */ +export default function mapAgeCleaner(map: Map, property: string): any; +export {}; diff --git a/deps/npm/node_modules/map-age-cleaner/dist/index.js b/deps/npm/node_modules/map-age-cleaner/dist/index.js new file mode 100644 index 00000000000000..ff137dec85f56d --- /dev/null +++ b/deps/npm/node_modules/map-age-cleaner/dist/index.js @@ -0,0 +1,92 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + 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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const p_defer_1 = __importDefault(require("p-defer")); +function mapAgeCleaner(map, property = 'maxAge') { + let processingKey; + let processingTimer; + let processingDeferred; + const cleanup = () => __awaiter(this, void 0, void 0, function* () { + if (processingKey !== undefined) { + // If we are already processing an item, we can safely exit + return; + } + const setupTimer = (item) => __awaiter(this, void 0, void 0, function* () { + processingDeferred = p_defer_1.default(); + const delay = item[1][property] - Date.now(); + if (delay <= 0) { + // Remove the item immediately if the delay is equal to or below 0 + map.delete(item[0]); + processingDeferred.resolve(); + return; + } + // Keep track of the current processed key + processingKey = item[0]; + processingTimer = setTimeout(() => { + // Remove the item when the timeout fires + map.delete(item[0]); + if (processingDeferred) { + processingDeferred.resolve(); + } + }, delay); + // tslint:disable-next-line:strict-type-predicates + if (typeof processingTimer.unref === 'function') { + // Don't hold up the process from exiting + processingTimer.unref(); + } + return processingDeferred.promise; + }); + try { + for (const entry of map) { + yield setupTimer(entry); + } + } + catch (_a) { + // Do nothing if an error occurs, this means the timer was cleaned up and we should stop processing + } + processingKey = undefined; + }); + const reset = () => { + processingKey = undefined; + if (processingTimer !== undefined) { + clearTimeout(processingTimer); + processingTimer = undefined; + } + if (processingDeferred !== undefined) { // tslint:disable-line:early-exit + processingDeferred.reject(undefined); + processingDeferred = undefined; + } + }; + const originalSet = map.set.bind(map); + map.set = (key, value) => { + if (map.has(key)) { + // If the key already exist, remove it so we can add it back at the end of the map. + map.delete(key); + } + // Call the original `map.set` + const result = originalSet(key, value); + // If we are already processing a key and the key added is the current processed key, stop processing it + if (processingKey && processingKey === key) { + reset(); + } + // Always run the cleanup method in case it wasn't started yet + cleanup(); // tslint:disable-line:no-floating-promises + return result; + }; + cleanup(); // tslint:disable-line:no-floating-promises + return map; +} +exports.default = mapAgeCleaner; +// Add support for CJS +module.exports = mapAgeCleaner; +module.exports.default = mapAgeCleaner; diff --git a/deps/npm/node_modules/map-age-cleaner/license b/deps/npm/node_modules/map-age-cleaner/license new file mode 100644 index 00000000000000..0711ab006f8a92 --- /dev/null +++ b/deps/npm/node_modules/map-age-cleaner/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sam Verschueren (github.com/SamVerschueren) + +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. diff --git a/deps/npm/node_modules/map-age-cleaner/package.json b/deps/npm/node_modules/map-age-cleaner/package.json new file mode 100644 index 00000000000000..fc6be6aac5f145 --- /dev/null +++ b/deps/npm/node_modules/map-age-cleaner/package.json @@ -0,0 +1,95 @@ +{ + "_args": [ + [ + "map-age-cleaner@0.1.3", + "/Users/mperrotte/npminc/cli" + ] + ], + "_development": true, + "_from": "map-age-cleaner@0.1.3", + "_id": "map-age-cleaner@0.1.3", + "_inBundle": false, + "_integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "_location": "/map-age-cleaner", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "map-age-cleaner@0.1.3", + "name": "map-age-cleaner", + "escapedName": "map-age-cleaner", + "rawSpec": "0.1.3", + "saveSpec": null, + "fetchSpec": "0.1.3" + }, + "_requiredBy": [ + "/nyc/mem" + ], + "_resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "_spec": "0.1.3", + "_where": "/Users/mperrotte/npminc/cli", + "author": { + "name": "Sam Verschueren", + "email": "sam.verschueren@gmail.com", + "url": "github.com/SamVerschueren" + }, + "bugs": { + "url": "https://github.com/SamVerschueren/map-age-cleaner/issues" + }, + "dependencies": { + "p-defer": "^1.0.0" + }, + "description": "Automatically cleanup expired items in a Map", + "devDependencies": { + "@types/delay": "^2.0.1", + "@types/node": "^10.7.1", + "ava": "^0.25.0", + "codecov": "^3.0.0", + "del-cli": "^1.1.0", + "delay": "^3.0.0", + "nyc": "^12.0.0", + "tslint": "^5.11.0", + "tslint-xo": "^0.9.0", + "typescript": "^3.0.1" + }, + "engines": { + "node": ">=6" + }, + "files": [ + "dist/index.js", + "dist/index.d.ts" + ], + "homepage": "https://github.com/SamVerschueren/map-age-cleaner#readme", + "keywords": [ + "map", + "age", + "cleaner", + "maxage", + "expire", + "expiration", + "expiring" + ], + "license": "MIT", + "main": "dist/index.js", + "name": "map-age-cleaner", + "nyc": { + "exclude": [ + "dist/test.js" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/SamVerschueren/map-age-cleaner.git" + }, + "scripts": { + "build": "npm run clean && tsc", + "clean": "del-cli dist", + "lint": "tslint --format stylish --project .", + "prepublishOnly": "npm run build", + "pretest": "npm run build -- --sourceMap", + "test": "npm run lint && nyc ava dist/test.js" + }, + "sideEffects": false, + "typings": "dist/index.d.ts", + "version": "0.1.3" +} diff --git a/deps/npm/node_modules/map-age-cleaner/readme.md b/deps/npm/node_modules/map-age-cleaner/readme.md new file mode 100644 index 00000000000000..471d93353a07ec --- /dev/null +++ b/deps/npm/node_modules/map-age-cleaner/readme.md @@ -0,0 +1,67 @@ +# map-age-cleaner + +[![Build Status](https://travis-ci.org/SamVerschueren/map-age-cleaner.svg?branch=master)](https://travis-ci.org/SamVerschueren/map-age-cleaner) [![codecov](https://codecov.io/gh/SamVerschueren/map-age-cleaner/badge.svg?branch=master)](https://codecov.io/gh/SamVerschueren/map-age-cleaner?branch=master) + +> Automatically cleanup expired items in a Map + + +## Install + +``` +$ npm install map-age-cleaner +``` + + +## Usage + +```js +import mapAgeCleaner from 'map-age-cleaner'; + +const map = new Map([ + ['unicorn', {data: '🦄', maxAge: Date.now() + 1000}] +]); + +mapAgeCleaner(map); + +map.has('unicorn'); +//=> true + +// Wait for 1 second... + +map.has('unicorn'); +//=> false +``` + +> **Note**: Items have to be ordered ascending based on the expiry property. This means that the item which will be expired first, should be in the first position of the `Map`. + + +## API + +### mapAgeCleaner(map, [property]) + +Returns the `Map` instance. + +#### map + +Type: `Map` + +Map instance which should be cleaned up. + +#### property + +Type: `string`
    +Default: `maxAge` + +Name of the property which olds the expiry timestamp. + + +## Related + +- [expiry-map](https://github.com/SamVerschueren/expiry-map) - A `Map` implementation with expirable items +- [expiry-set](https://github.com/SamVerschueren/expiry-set) - A `Set` implementation with expirable keys +- [mem](https://github.com/sindresorhus/mem) - Memoize functions + + +## License + +MIT © [Sam Verschueren](https://github.com/SamVerschueren) diff --git a/deps/npm/node_modules/mem/index.d.ts b/deps/npm/node_modules/mem/index.d.ts new file mode 100644 index 00000000000000..786625520b2034 --- /dev/null +++ b/deps/npm/node_modules/mem/index.d.ts @@ -0,0 +1,96 @@ +declare namespace mem { + interface CacheStorage { + has(key: KeyType): boolean; + get(key: KeyType): ValueType | undefined; + set(key: KeyType, value: ValueType): void; + delete(key: KeyType): void; + clear?: () => void; + } + + interface Options< + ArgumentsType extends unknown[], + CacheKeyType extends unknown, + ReturnType extends unknown + > { + /** + Milliseconds until the cache expires. + + @default Infinity + */ + readonly maxAge?: number; + + /** + Determines the cache key for storing the result based on the function arguments. By default, if there's only one argument and it's a [primitive](https://developer.mozilla.org/en-US/docs/Glossary/Primitive), it's used directly as a key, otherwise it's all the function arguments JSON stringified as an array. + + You could for example change it to only cache on the first argument `x => JSON.stringify(x)`. + */ + readonly cacheKey?: (...arguments: ArgumentsType) => CacheKeyType; + + /** + Use a different cache storage. You could for example use a `WeakMap` instead or [`quick-lru`](https://github.com/sindresorhus/quick-lru) for a LRU cache. + + @default new Map() + */ + readonly cache?: CacheStorage; + + /** + Cache rejected promises. + + @default false + */ + readonly cachePromiseRejection?: boolean; + } +} + +declare const mem: { + /** + [Memoize](https://en.wikipedia.org/wiki/Memoization) functions - An optimization used to speed up consecutive function calls by caching the result of calls with identical input. + + @param fn - Function to be memoized. + + @example + ``` + import mem = require('mem'); + + let i = 0; + const counter = () => ++i; + const memoized = mem(counter); + + memoized('foo'); + //=> 1 + + // Cached as it's the same arguments + memoized('foo'); + //=> 1 + + // Not cached anymore as the arguments changed + memoized('bar'); + //=> 2 + + memoized('bar'); + //=> 2 + ``` + */ + < + ArgumentsType extends unknown[], + ReturnType extends unknown, + CacheKeyType extends unknown + >( + fn: (...arguments: ArgumentsType) => ReturnType, + options?: mem.Options + ): (...arguments: ArgumentsType) => ReturnType; + + /** + Clear all cached data of a memoized function. + + @param fn - Memoized function. + */ + clear( + fn: (...arguments: ArgumentsType) => ReturnType + ): void; + + // TODO: Remove this for the next major release + default: typeof mem; +}; + +export = mem; diff --git a/deps/npm/node_modules/mem/index.js b/deps/npm/node_modules/mem/index.js index aa5a0739822c7e..51faf012c2fc44 100644 --- a/deps/npm/node_modules/mem/index.js +++ b/deps/npm/node_modules/mem/index.js @@ -1,51 +1,84 @@ 'use strict'; const mimicFn = require('mimic-fn'); +const isPromise = require('p-is-promise'); +const mapAgeCleaner = require('map-age-cleaner'); const cacheStore = new WeakMap(); -const defaultCacheKey = function (x) { - if (arguments.length === 1 && (x === null || x === undefined || (typeof x !== 'function' && typeof x !== 'object'))) { - return x; +const defaultCacheKey = (...arguments_) => { + if (arguments_.length === 0) { + return '__defaultKey'; } - return JSON.stringify(arguments); + if (arguments_.length === 1) { + const [firstArgument] = arguments_; + if ( + firstArgument === null || + firstArgument === undefined || + (typeof firstArgument !== 'function' && typeof firstArgument !== 'object') + ) { + return firstArgument; + } + } + + return JSON.stringify(arguments_); }; -module.exports = (fn, opts) => { - opts = Object.assign({ +const mem = (fn, options) => { + options = Object.assign({ cacheKey: defaultCacheKey, - cache: new Map() - }, opts); + cache: new Map(), + cachePromiseRejection: false + }, options); + + if (typeof options.maxAge === 'number') { + mapAgeCleaner(options.cache); + } - const memoized = function () { - const cache = cacheStore.get(memoized); - const key = opts.cacheKey.apply(null, arguments); + const {cache} = options; + options.maxAge = options.maxAge || 0; - if (cache.has(key)) { - const c = cache.get(key); + const setData = (key, data) => { + cache.set(key, { + data, + maxAge: Date.now() + options.maxAge + }); + }; + + const memoized = function (...arguments_) { + const key = options.cacheKey(...arguments_); - if (typeof opts.maxAge !== 'number' || Date.now() < c.maxAge) { - return c.data; - } + if (cache.has(key)) { + return cache.get(key).data; } - const ret = fn.apply(null, arguments); + const cacheItem = fn.call(this, ...arguments_); - cache.set(key, { - data: ret, - maxAge: Date.now() + (opts.maxAge || 0) - }); + setData(key, cacheItem); + + if (isPromise(cacheItem) && options.cachePromiseRejection === false) { + // Remove rejected promises from cache unless `cachePromiseRejection` is set to `true` + cacheItem.catch(() => cache.delete(key)); + } - return ret; + return cacheItem; }; - mimicFn(memoized, fn); + try { + // The below call will throw in some host environments + // See https://github.com/sindresorhus/mimic-fn/issues/10 + mimicFn(memoized, fn); + } catch (_) {} - cacheStore.set(memoized, opts.cache); + cacheStore.set(memoized, options.cache); return memoized; }; +module.exports = mem; +// TODO: Remove this for the next major release +module.exports.default = mem; + module.exports.clear = fn => { const cache = cacheStore.get(fn); diff --git a/deps/npm/node_modules/mem/license b/deps/npm/node_modules/mem/license index 654d0bfe943437..e7af2f77107d73 100644 --- a/deps/npm/node_modules/mem/license +++ b/deps/npm/node_modules/mem/license @@ -1,21 +1,9 @@ -The MIT License (MIT) +MIT License Copyright (c) Sindre Sorhus (sindresorhus.com) -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: +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 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. +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. diff --git a/deps/npm/node_modules/mem/node_modules/mimic-fn/index.d.ts b/deps/npm/node_modules/mem/node_modules/mimic-fn/index.d.ts new file mode 100644 index 00000000000000..b4047d58902ebf --- /dev/null +++ b/deps/npm/node_modules/mem/node_modules/mimic-fn/index.d.ts @@ -0,0 +1,54 @@ +declare const mimicFn: { + /** + Make a function mimic another one. It will copy over the properties `name`, `length`, `displayName`, and any custom properties you may have set. + + @param to - Mimicking function. + @param from - Function to mimic. + @returns The modified `to` function. + + @example + ``` + import mimicFn = require('mimic-fn'); + + function foo() {} + foo.unicorn = '🦄'; + + function wrapper() { + return foo(); + } + + console.log(wrapper.name); + //=> 'wrapper' + + mimicFn(wrapper, foo); + + console.log(wrapper.name); + //=> 'foo' + + console.log(wrapper.unicorn); + //=> '🦄' + ``` + */ + < + ArgumentsType extends unknown[], + ReturnType, + FunctionType extends (...arguments: ArgumentsType) => ReturnType + >( + to: (...arguments: ArgumentsType) => ReturnType, + from: FunctionType + ): FunctionType; + + // TODO: Remove this for the next major release, refactor the whole definition to: + // declare function mimicFn< + // ArgumentsType extends unknown[], + // ReturnType, + // FunctionType extends (...arguments: ArgumentsType) => ReturnType + // >( + // to: (...arguments: ArgumentsType) => ReturnType, + // from: FunctionType + // ): FunctionType; + // export = mimicFn; + default: typeof mimicFn; +}; + +export = mimicFn; diff --git a/deps/npm/node_modules/mem/node_modules/mimic-fn/index.js b/deps/npm/node_modules/mem/node_modules/mimic-fn/index.js new file mode 100644 index 00000000000000..1a597051750da2 --- /dev/null +++ b/deps/npm/node_modules/mem/node_modules/mimic-fn/index.js @@ -0,0 +1,13 @@ +'use strict'; + +const mimicFn = (to, from) => { + for (const prop of Reflect.ownKeys(from)) { + Object.defineProperty(to, prop, Object.getOwnPropertyDescriptor(from, prop)); + } + + return to; +}; + +module.exports = mimicFn; +// TODO: Remove this for the next major release +module.exports.default = mimicFn; diff --git a/deps/npm/node_modules/mem/node_modules/mimic-fn/license b/deps/npm/node_modules/mem/node_modules/mimic-fn/license new file mode 100644 index 00000000000000..e7af2f77107d73 --- /dev/null +++ b/deps/npm/node_modules/mem/node_modules/mimic-fn/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +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. diff --git a/deps/npm/node_modules/mimic-fn/package.json b/deps/npm/node_modules/mem/node_modules/mimic-fn/package.json similarity index 59% rename from deps/npm/node_modules/mimic-fn/package.json rename to deps/npm/node_modules/mem/node_modules/mimic-fn/package.json index 4dc1bdae9aa20f..b4970a28d40c8a 100644 --- a/deps/npm/node_modules/mimic-fn/package.json +++ b/deps/npm/node_modules/mem/node_modules/mimic-fn/package.json @@ -1,28 +1,27 @@ { - "_from": "mimic-fn@^1.0.0", - "_id": "mimic-fn@1.2.0", + "_from": "mimic-fn@^2.0.0", + "_id": "mimic-fn@2.1.0", "_inBundle": false, - "_integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "_location": "/mimic-fn", + "_integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "_location": "/mem/mimic-fn", "_phantomChildren": {}, "_requested": { "type": "range", "registry": true, - "raw": "mimic-fn@^1.0.0", + "raw": "mimic-fn@^2.0.0", "name": "mimic-fn", "escapedName": "mimic-fn", - "rawSpec": "^1.0.0", + "rawSpec": "^2.0.0", "saveSpec": null, - "fetchSpec": "^1.0.0" + "fetchSpec": "^2.0.0" }, "_requiredBy": [ - "/mem", - "/onetime" + "/mem" ], - "_resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "_shasum": "820c86a39334640e99516928bd03fca88057d022", - "_spec": "mimic-fn@^1.0.0", - "_where": "/Users/rebecca/code/npm/node_modules/mem", + "_resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "_shasum": "7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b", + "_spec": "mimic-fn@^2.0.0", + "_where": "/Users/mperrotte/npminc/cli/node_modules/mem", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", @@ -35,14 +34,16 @@ "deprecated": false, "description": "Make a function mimic another one", "devDependencies": { - "ava": "*", - "xo": "*" + "ava": "^1.4.1", + "tsd": "^0.7.1", + "xo": "^0.24.0" }, "engines": { - "node": ">=4" + "node": ">=6" }, "files": [ - "index.js" + "index.js", + "index.d.ts" ], "homepage": "https://github.com/sindresorhus/mimic-fn#readme", "keywords": [ @@ -67,7 +68,7 @@ "url": "git+https://github.com/sindresorhus/mimic-fn.git" }, "scripts": { - "test": "xo && ava" + "test": "xo && ava && tsd" }, - "version": "1.2.0" + "version": "2.1.0" } diff --git a/deps/npm/node_modules/mimic-fn/readme.md b/deps/npm/node_modules/mem/node_modules/mimic-fn/readme.md similarity index 83% rename from deps/npm/node_modules/mimic-fn/readme.md rename to deps/npm/node_modules/mem/node_modules/mimic-fn/readme.md index e57573438997b1..0ef8a13d7e0d95 100644 --- a/deps/npm/node_modules/mimic-fn/readme.md +++ b/deps/npm/node_modules/mem/node_modules/mimic-fn/readme.md @@ -21,7 +21,7 @@ function foo() {} foo.unicorn = '🦄'; function wrapper() { - return foo() {}; + return foo(); } console.log(wrapper.name); @@ -43,7 +43,7 @@ It will copy over the properties `name`, `length`, `displayName`, and any custom ### mimicFn(to, from) -It will modify `to` and return it. +Modifies the `to` function and returns it. #### to @@ -61,6 +61,7 @@ Function to mimic. ## Related - [rename-fn](https://github.com/sindresorhus/rename-fn) - Rename a function +- [keep-func-props](https://github.com/ehmicky/keep-func-props) - Wrap a function without changing its name, length and other properties ## License diff --git a/deps/npm/node_modules/mem/package.json b/deps/npm/node_modules/mem/package.json index 27eefe8d720d4f..eedf07469c4c3c 100644 --- a/deps/npm/node_modules/mem/package.json +++ b/deps/npm/node_modules/mem/package.json @@ -1,27 +1,27 @@ { - "_from": "mem@^1.1.0", - "_id": "mem@1.1.0", + "_from": "mem@^4.0.0", + "_id": "mem@4.3.0", "_inBundle": false, - "_integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "_integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "_location": "/mem", "_phantomChildren": {}, "_requested": { "type": "range", "registry": true, - "raw": "mem@^1.1.0", + "raw": "mem@^4.0.0", "name": "mem", "escapedName": "mem", - "rawSpec": "^1.1.0", + "rawSpec": "^4.0.0", "saveSpec": null, - "fetchSpec": "^1.1.0" + "fetchSpec": "^4.0.0" }, "_requiredBy": [ "/os-locale" ], - "_resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "_shasum": "5edd52b485ca1d900fe64895505399a0dfa45f76", - "_spec": "mem@^1.1.0", - "_where": "/Users/rebecca/code/npm/node_modules/os-locale", + "_resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "_shasum": "461af497bc4ae09608cdb2e60eefb69bff744178", + "_spec": "mem@^4.0.0", + "_where": "/Users/mperrotte/npminc/cli/node_modules/os-locale", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", @@ -32,20 +32,24 @@ }, "bundleDependencies": false, "dependencies": { - "mimic-fn": "^1.0.0" + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" }, "deprecated": false, "description": "Memoize functions - An optimization used to speed up consecutive function calls by caching the result of calls with identical input", "devDependencies": { - "ava": "*", - "delay": "^1.1.0", - "xo": "*" + "ava": "^1.4.1", + "delay": "^4.1.0", + "tsd": "^0.7.1", + "xo": "^0.24.0" }, "engines": { - "node": ">=4" + "node": ">=6" }, "files": [ - "index.js" + "index.js", + "index.d.ts" ], "homepage": "https://github.com/sindresorhus/mem#readme", "keywords": [ @@ -68,10 +72,7 @@ "url": "git+https://github.com/sindresorhus/mem.git" }, "scripts": { - "test": "xo && ava" + "test": "xo && ava && tsd" }, - "version": "1.1.0", - "xo": { - "esnext": true - } + "version": "4.3.0" } diff --git a/deps/npm/node_modules/mem/readme.md b/deps/npm/node_modules/mem/readme.md index 7ebab84f0e716b..add4222b62d71a 100644 --- a/deps/npm/node_modules/mem/readme.md +++ b/deps/npm/node_modules/mem/readme.md @@ -2,11 +2,13 @@ > [Memoize](https://en.wikipedia.org/wiki/Memoization) functions - An optimization used to speed up consecutive function calls by caching the result of calls with identical input +Memory is automatically released when an item expires. + ## Install ``` -$ npm install --save mem +$ npm install mem ``` @@ -22,11 +24,11 @@ const memoized = mem(counter); memoized('foo'); //=> 1 -// cached as it's the same arguments +// Cached as it's the same arguments memoized('foo'); //=> 1 -// not cached anymore as the arguments changed +// Not cached anymore as the arguments changed memoized('bar'); //=> 2 @@ -40,35 +42,37 @@ memoized('bar'); const mem = require('mem'); let i = 0; -const counter = () => Promise.resolve(++i); +const counter = async () => ++i; const memoized = mem(counter); -memoized().then(a => { - console.log(a); +(async () => { + console.log(await memoized()); //=> 1 - memoized().then(b => { - // the return value didn't increase as it's cached - console.log(b); - //=> 1 - }); -}); + // The return value didn't increase as it's cached + console.log(await memoized()); + //=> 1 +})(); ``` ```js const mem = require('mem'); const got = require('got'); +const delay = require('delay'); + const memGot = mem(got, {maxAge: 1000}); -memGot('sindresorhus.com').then(() => { - // this call is cached - memGot('sindresorhus.com').then(() => { - setTimeout(() => { - // this call is not cached as the cache has expired - memGot('sindresorhus.com').then(() => {}); - }, 2000); - }); -}); +(async () => { + await memGot('sindresorhus.com'); + + // This call is cached + await memGot('sindresorhus.com'); + + await delay(2000); + + // This call is not cached as the cache has expired + await memGot('sindresorhus.com'); +})(); ``` @@ -84,6 +88,8 @@ Function to be memoized. #### options +Type: `Object` + ##### maxAge Type: `number`
    @@ -104,7 +110,14 @@ You could for example change it to only cache on the first argument `x => JSON.s Type: `Object`
    Default: `new Map()` -Use a different cache storage. Must implement the following methods: `.has(key)`, `.get(key)`, `.set(key, value)`, and optionally `.clear()`. You could for example use a `WeakMap` instead. +Use a different cache storage. Must implement the following methods: `.has(key)`, `.get(key)`, `.set(key, value)`, `.delete(key)`, and optionally `.clear()`. You could for example use a `WeakMap` instead or [`quick-lru`](https://github.com/sindresorhus/quick-lru) for a LRU cache. + +##### cachePromiseRejection + +Type: `boolean`
    +Default: `false` + +Cache rejected promises. ### mem.clear(fn) @@ -133,15 +146,22 @@ const got = require('got'); const cache = new StatsMap(); const memGot = mem(got, {cache}); -memGot('sindresorhus.com') - .then(() => memGot('sindresorhus.com')) - .then(() => memGot('sindresorhus.com')); +(async () => { + await memGot('sindresorhus.com'); + await memGot('sindresorhus.com'); + await memGot('sindresorhus.com'); -console.log(cache.stats); -//=> {hits: 2, misses: 1} + console.log(cache.stats); + //=> {hits: 2, misses: 1} +})(); ``` +## Related + +- [p-memoize](https://github.com/sindresorhus/p-memoize) - Memoize promise-returning & async functions + + ## License MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/deps/npm/node_modules/mimic-fn/index.js b/deps/npm/node_modules/mimic-fn/index.js deleted file mode 100644 index 08e69d3d88f020..00000000000000 --- a/deps/npm/node_modules/mimic-fn/index.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; -module.exports = (to, from) => { - // TODO: use `Reflect.ownKeys()` when targeting Node.js 6 - for (const prop of Object.getOwnPropertyNames(from).concat(Object.getOwnPropertySymbols(from))) { - Object.defineProperty(to, prop, Object.getOwnPropertyDescriptor(from, prop)); - } - - return to; -}; diff --git a/deps/npm/node_modules/minimist/.travis.yml b/deps/npm/node_modules/minimist/.travis.yml deleted file mode 100644 index cc4dba29d959a2..00000000000000 --- a/deps/npm/node_modules/minimist/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" diff --git a/deps/npm/node_modules/mkdirp/examples/pow.js b/deps/npm/node_modules/mkdirp/examples/pow.js deleted file mode 100644 index e6924212e6a244..00000000000000 --- a/deps/npm/node_modules/mkdirp/examples/pow.js +++ /dev/null @@ -1,6 +0,0 @@ -var mkdirp = require('mkdirp'); - -mkdirp('/tmp/foo/bar/baz', function (err) { - if (err) console.error(err) - else console.log('pow!') -}); diff --git a/deps/npm/node_modules/mkdirp/index.js b/deps/npm/node_modules/mkdirp/index.js index 6ce241b58c100f..2f1287071fc0d6 100644 --- a/deps/npm/node_modules/mkdirp/index.js +++ b/deps/npm/node_modules/mkdirp/index.js @@ -31,6 +31,7 @@ function mkdirP (p, opts, f, made) { } switch (er.code) { case 'ENOENT': + if (path.dirname(p) === p) return cb(er); mkdirP(path.dirname(p), opts, function (er, made) { if (er) cb(er, made); else mkdirP(p, opts, cb, made); diff --git a/deps/npm/node_modules/mkdirp/.travis.yml b/deps/npm/node_modules/mkdirp/node_modules/minimist/.travis.yml similarity index 100% rename from deps/npm/node_modules/mkdirp/.travis.yml rename to deps/npm/node_modules/mkdirp/node_modules/minimist/.travis.yml diff --git a/deps/npm/node_modules/minimist/LICENSE b/deps/npm/node_modules/mkdirp/node_modules/minimist/LICENSE similarity index 100% rename from deps/npm/node_modules/minimist/LICENSE rename to deps/npm/node_modules/mkdirp/node_modules/minimist/LICENSE diff --git a/deps/npm/node_modules/minimist/example/parse.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/example/parse.js similarity index 72% rename from deps/npm/node_modules/minimist/example/parse.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/example/parse.js index abff3e8ee8f5ef..f7c8d49807f32e 100644 --- a/deps/npm/node_modules/minimist/example/parse.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/example/parse.js @@ -1,2 +1,2 @@ var argv = require('../')(process.argv.slice(2)); -console.dir(argv); +console.log(argv); diff --git a/deps/npm/node_modules/minimist/index.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/index.js similarity index 50% rename from deps/npm/node_modules/minimist/index.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/index.js index 584f551a6da734..d5fa9d510fa17e 100644 --- a/deps/npm/node_modules/minimist/index.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/index.js @@ -1,16 +1,20 @@ module.exports = function (args, opts) { if (!opts) opts = {}; - - var flags = { bools : {}, strings : {} }; - - [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { - flags.bools[key] = true; - }); - - [].concat(opts.string).filter(Boolean).forEach(function (key) { - flags.strings[key] = true; - }); - + + var flags = { bools : {}, strings : {}, unknownFn: null }; + + if (typeof opts['unknown'] === 'function') { + flags.unknownFn = opts['unknown']; + } + + if (typeof opts['boolean'] === 'boolean' && opts['boolean']) { + flags.allBools = true; + } else { + [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { + flags.bools[key] = true; + }); + } + var aliases = {}; Object.keys(opts.alias || {}).forEach(function (key) { aliases[key] = [].concat(opts.alias[key]); @@ -20,14 +24,21 @@ module.exports = function (args, opts) { })); }); }); - + + [].concat(opts.string).filter(Boolean).forEach(function (key) { + flags.strings[key] = true; + if (aliases[key]) { + flags.strings[aliases[key]] = true; + } + }); + var defaults = opts['default'] || {}; - + var argv = { _ : [] }; Object.keys(flags.bools).forEach(function (key) { setArg(key, defaults[key] === undefined ? false : defaults[key]); }); - + var notFlags = []; if (args.indexOf('--') !== -1) { @@ -35,114 +46,183 @@ module.exports = function (args, opts) { args = args.slice(0, args.indexOf('--')); } - function setArg (key, val) { + function argDefined(key, arg) { + return (flags.allBools && /^--[^=]+$/.test(arg)) || + flags.strings[key] || flags.bools[key] || aliases[key]; + } + + function setArg (key, val, arg) { + if (arg && flags.unknownFn && !argDefined(key, arg)) { + if (flags.unknownFn(arg) === false) return; + } + var value = !flags.strings[key] && isNumber(val) ? Number(val) : val ; setKey(argv, key.split('.'), value); - + (aliases[key] || []).forEach(function (x) { setKey(argv, x.split('.'), value); }); } - + + function setKey (obj, keys, value) { + var o = obj; + for (var i = 0; i < keys.length-1; i++) { + var key = keys[i]; + if (key === '__proto__') return; + if (o[key] === undefined) o[key] = {}; + if (o[key] === Object.prototype || o[key] === Number.prototype + || o[key] === String.prototype) o[key] = {}; + if (o[key] === Array.prototype) o[key] = []; + o = o[key]; + } + + var key = keys[keys.length - 1]; + if (key === '__proto__') return; + if (o === Object.prototype || o === Number.prototype + || o === String.prototype) o = {}; + if (o === Array.prototype) o = []; + if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') { + o[key] = value; + } + else if (Array.isArray(o[key])) { + o[key].push(value); + } + else { + o[key] = [ o[key], value ]; + } + } + + function aliasIsBoolean(key) { + return aliases[key].some(function (x) { + return flags.bools[x]; + }); + } + for (var i = 0; i < args.length; i++) { var arg = args[i]; - + if (/^--.+=/.test(arg)) { // Using [\s\S] instead of . because js doesn't support the // 'dotall' regex modifier. See: // http://stackoverflow.com/a/1068308/13216 var m = arg.match(/^--([^=]+)=([\s\S]*)$/); - setArg(m[1], m[2]); + var key = m[1]; + var value = m[2]; + if (flags.bools[key]) { + value = value !== 'false'; + } + setArg(key, value, arg); } else if (/^--no-.+/.test(arg)) { var key = arg.match(/^--no-(.+)/)[1]; - setArg(key, false); + setArg(key, false, arg); } else if (/^--.+/.test(arg)) { var key = arg.match(/^--(.+)/)[1]; var next = args[i + 1]; if (next !== undefined && !/^-/.test(next) && !flags.bools[key] - && (aliases[key] ? !flags.bools[aliases[key]] : true)) { - setArg(key, next); + && !flags.allBools + && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, next, arg); i++; } else if (/^(true|false)$/.test(next)) { - setArg(key, next === 'true'); + setArg(key, next === 'true', arg); i++; } else { - setArg(key, flags.strings[key] ? '' : true); + setArg(key, flags.strings[key] ? '' : true, arg); } } else if (/^-[^-]+/.test(arg)) { var letters = arg.slice(1,-1).split(''); - + var broken = false; for (var j = 0; j < letters.length; j++) { var next = arg.slice(j+2); - + if (next === '-') { - setArg(letters[j], next) + setArg(letters[j], next, arg) continue; } - + + if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { + setArg(letters[j], next.split('=')[1], arg); + broken = true; + break; + } + if (/[A-Za-z]/.test(letters[j]) && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { - setArg(letters[j], next); + setArg(letters[j], next, arg); broken = true; break; } - + if (letters[j+1] && letters[j+1].match(/\W/)) { - setArg(letters[j], arg.slice(j+2)); + setArg(letters[j], arg.slice(j+2), arg); broken = true; break; } else { - setArg(letters[j], flags.strings[letters[j]] ? '' : true); + setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg); } } - + var key = arg.slice(-1)[0]; if (!broken && key !== '-') { if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1]) && !flags.bools[key] - && (aliases[key] ? !flags.bools[aliases[key]] : true)) { - setArg(key, args[i+1]); + && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, args[i+1], arg); i++; } - else if (args[i+1] && /true|false/.test(args[i+1])) { - setArg(key, args[i+1] === 'true'); + else if (args[i+1] && /^(true|false)$/.test(args[i+1])) { + setArg(key, args[i+1] === 'true', arg); i++; } else { - setArg(key, flags.strings[key] ? '' : true); + setArg(key, flags.strings[key] ? '' : true, arg); } } } else { - argv._.push( - flags.strings['_'] || !isNumber(arg) ? arg : Number(arg) - ); + if (!flags.unknownFn || flags.unknownFn(arg) !== false) { + argv._.push( + flags.strings['_'] || !isNumber(arg) ? arg : Number(arg) + ); + } + if (opts.stopEarly) { + argv._.push.apply(argv._, args.slice(i + 1)); + break; + } } } - + Object.keys(defaults).forEach(function (key) { if (!hasKey(argv, key.split('.'))) { setKey(argv, key.split('.'), defaults[key]); - + (aliases[key] || []).forEach(function (x) { setKey(argv, x.split('.'), defaults[key]); }); } }); - - notFlags.forEach(function(key) { - argv._.push(key); - }); + + if (opts['--']) { + argv['--'] = new Array(); + notFlags.forEach(function(key) { + argv['--'].push(key); + }); + } + else { + notFlags.forEach(function(key) { + argv._.push(key); + }); + } return argv; }; @@ -157,31 +237,8 @@ function hasKey (obj, keys) { return key in o; } -function setKey (obj, keys, value) { - var o = obj; - keys.slice(0,-1).forEach(function (key) { - if (o[key] === undefined) o[key] = {}; - o = o[key]; - }); - - var key = keys[keys.length - 1]; - if (o[key] === undefined || typeof o[key] === 'boolean') { - o[key] = value; - } - else if (Array.isArray(o[key])) { - o[key].push(value); - } - else { - o[key] = [ o[key], value ]; - } -} - function isNumber (x) { if (typeof x === 'number') return true; if (/^0x[0-9a-f]+$/i.test(x)) return true; return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); } - -function longest (xs) { - return Math.max.apply(null, xs.map(function (x) { return x.length })); -} diff --git a/deps/npm/node_modules/minimist/package.json b/deps/npm/node_modules/mkdirp/node_modules/minimist/package.json similarity index 63% rename from deps/npm/node_modules/minimist/package.json rename to deps/npm/node_modules/mkdirp/node_modules/minimist/package.json index 0a1961342b71b0..2846f6885ae634 100644 --- a/deps/npm/node_modules/minimist/package.json +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/package.json @@ -1,27 +1,27 @@ { - "_from": "minimist@0.0.8", - "_id": "minimist@0.0.8", + "_from": "minimist@^1.2.5", + "_id": "minimist@1.2.5", "_inBundle": false, - "_integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "_location": "/minimist", + "_integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "_location": "/mkdirp/minimist", "_phantomChildren": {}, "_requested": { - "type": "version", + "type": "range", "registry": true, - "raw": "minimist@0.0.8", + "raw": "minimist@^1.2.5", "name": "minimist", "escapedName": "minimist", - "rawSpec": "0.0.8", + "rawSpec": "^1.2.5", "saveSpec": null, - "fetchSpec": "0.0.8" + "fetchSpec": "^1.2.5" }, "_requiredBy": [ "/mkdirp" ], - "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "_shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d", - "_spec": "minimist@0.0.8", - "_where": "/Users/rebecca/code/npm/node_modules/mkdirp", + "_resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "_shasum": "67d66014b66a6a8aaa0c083c5fd58df4e4e97602", + "_spec": "minimist@^1.2.5", + "_where": "/Users/darcyclarke/Documents/Repos/npm/npm/cli/node_modules/mkdirp", "author": { "name": "James Halliday", "email": "mail@substack.net", @@ -34,8 +34,9 @@ "deprecated": false, "description": "parse argument options", "devDependencies": { + "covert": "^1.0.0", "tap": "~0.4.0", - "tape": "~1.0.4" + "tape": "^3.5.0" }, "homepage": "https://github.com/substack/minimist", "keywords": [ @@ -52,6 +53,7 @@ "url": "git://github.com/substack/minimist.git" }, "scripts": { + "coverage": "covert test/*.js", "test": "tap test/*.js" }, "testling": { @@ -67,5 +69,5 @@ "opera/12" ] }, - "version": "0.0.8" + "version": "1.2.5" } diff --git a/deps/npm/node_modules/minimist/readme.markdown b/deps/npm/node_modules/mkdirp/node_modules/minimist/readme.markdown similarity index 53% rename from deps/npm/node_modules/minimist/readme.markdown rename to deps/npm/node_modules/mkdirp/node_modules/minimist/readme.markdown index c25635323e1661..5fd97ab11ee9d8 100644 --- a/deps/npm/node_modules/minimist/readme.markdown +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/readme.markdown @@ -5,15 +5,11 @@ parse argument options This module is the guts of optimist's argument parser without all the fanciful decoration. -[![browser support](https://ci.testling.com/substack/minimist.png)](http://ci.testling.com/substack/minimist) - -[![build status](https://secure.travis-ci.org/substack/minimist.png)](http://travis-ci.org/substack/minimist) - # example ``` js var argv = require('minimist')(process.argv.slice(2)); -console.dir(argv); +console.log(argv); ``` ``` @@ -33,6 +29,13 @@ $ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz beep: 'boop' } ``` +# security + +Previous versions had a prototype pollution bug that could cause privilege +escalation in some circumstances when handling untrusted user input. + +Please use version 1.2.3 or later: https://snyk.io/vuln/SNYK-JS-MINIMIST-559764 + # methods ``` js @@ -55,10 +58,29 @@ options can be: * `opts.string` - a string or array of strings argument names to always treat as strings -* `opts.boolean` - a string or array of strings to always treat as booleans +* `opts.boolean` - a boolean, string or array of strings to always treat as +booleans. if `true` will treat all double hyphenated arguments without equal signs +as boolean (e.g. affects `--foo`, not `-f` or `--foo=bar`) * `opts.alias` - an object mapping string names to strings or arrays of string argument names to use as aliases * `opts.default` - an object mapping string argument names to default values +* `opts.stopEarly` - when true, populate `argv._` with everything after the +first non-option +* `opts['--']` - when true, populate `argv._` with everything before the `--` +and `argv['--']` with everything after the `--`. Here's an example: + + ``` + > require('./')('one two three -- four five --six'.split(' '), { '--': true }) + { _: [ 'one', 'two', 'three' ], + '--': [ 'four', 'five', '--six' ] } + ``` + + Note that with `opts['--']` set, parsing for arguments still stops after the + `--`. + +* `opts.unknown` - a function which is invoked with a command line parameter not +defined in the `opts` configuration object. If the function returns `false`, the +unknown option is not added to `argv`. # install diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/all_bool.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/all_bool.js new file mode 100644 index 00000000000000..25df1654bc99d9 --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/all_bool.js @@ -0,0 +1,32 @@ +var parse = require('../'); +var test = require('tape'); + +test('flag boolean true (default all --args to boolean)', function (t) { + var argv = parse(['moo', '--honk', 'cow'], { + boolean: true + }); + + t.deepEqual(argv, { + honk: true, + _: ['moo', 'cow'] + }); + + t.deepEqual(typeof argv.honk, 'boolean'); + t.end(); +}); + +test('flag boolean true only affects double hyphen arguments without equals signs', function (t) { + var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], { + boolean: true + }); + + t.deepEqual(argv, { + honk: true, + tacos: 'good', + p: 55, + _: ['moo', 'cow'] + }); + + t.deepEqual(typeof argv.honk, 'boolean'); + t.end(); +}); diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/bool.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/bool.js new file mode 100644 index 00000000000000..dc9666bc619755 --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/bool.js @@ -0,0 +1,178 @@ +var parse = require('../'); +var test = require('tape'); + +test('flag boolean default false', function (t) { + var argv = parse(['moo'], { + boolean: ['t', 'verbose'], + default: { verbose: false, t: false } + }); + + t.deepEqual(argv, { + verbose: false, + t: false, + _: ['moo'] + }); + + t.deepEqual(typeof argv.verbose, 'boolean'); + t.deepEqual(typeof argv.t, 'boolean'); + t.end(); + +}); + +test('boolean groups', function (t) { + var argv = parse([ '-x', '-z', 'one', 'two', 'three' ], { + boolean: ['x','y','z'] + }); + + t.deepEqual(argv, { + x : true, + y : false, + z : true, + _ : [ 'one', 'two', 'three' ] + }); + + t.deepEqual(typeof argv.x, 'boolean'); + t.deepEqual(typeof argv.y, 'boolean'); + t.deepEqual(typeof argv.z, 'boolean'); + t.end(); +}); +test('boolean and alias with chainable api', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + herp: { alias: 'h', boolean: true } + }; + var aliasedArgv = parse(aliased, { + boolean: 'herp', + alias: { h: 'herp' } + }); + var propertyArgv = parse(regular, { + boolean: 'herp', + alias: { h: 'herp' } + }); + var expected = { + herp: true, + h: true, + '_': [ 'derp' ] + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +test('boolean and alias with options hash', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + alias: { 'h': 'herp' }, + boolean: 'herp' + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + var expected = { + herp: true, + h: true, + '_': [ 'derp' ] + }; + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +test('boolean and alias array with options hash', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var alt = [ '--harp', 'derp' ]; + var opts = { + alias: { 'h': ['herp', 'harp'] }, + boolean: 'h' + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + var altPropertyArgv = parse(alt, opts); + var expected = { + harp: true, + herp: true, + h: true, + '_': [ 'derp' ] + }; + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.same(altPropertyArgv, expected); + t.end(); +}); + +test('boolean and alias using explicit true', function (t) { + var aliased = [ '-h', 'true' ]; + var regular = [ '--herp', 'true' ]; + var opts = { + alias: { h: 'herp' }, + boolean: 'h' + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + var expected = { + herp: true, + h: true, + '_': [ ] + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +// regression, see https://github.com/substack/node-optimist/issues/71 +test('boolean and --x=true', function(t) { + var parsed = parse(['--boool', '--other=true'], { + boolean: 'boool' + }); + + t.same(parsed.boool, true); + t.same(parsed.other, 'true'); + + parsed = parse(['--boool', '--other=false'], { + boolean: 'boool' + }); + + t.same(parsed.boool, true); + t.same(parsed.other, 'false'); + t.end(); +}); + +test('boolean --boool=true', function (t) { + var parsed = parse(['--boool=true'], { + default: { + boool: false + }, + boolean: ['boool'] + }); + + t.same(parsed.boool, true); + t.end(); +}); + +test('boolean --boool=false', function (t) { + var parsed = parse(['--boool=false'], { + default: { + boool: true + }, + boolean: ['boool'] + }); + + t.same(parsed.boool, false); + t.end(); +}); + +test('boolean using something similar to true', function (t) { + var opts = { boolean: 'h' }; + var result = parse(['-h', 'true.txt'], opts); + var expected = { + h: true, + '_': ['true.txt'] + }; + + t.same(result, expected); + t.end(); +}); \ No newline at end of file diff --git a/deps/npm/node_modules/minimist/test/dash.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/dash.js similarity index 74% rename from deps/npm/node_modules/minimist/test/dash.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/dash.js index 8b034b99a9eace..5a4fa5be418596 100644 --- a/deps/npm/node_modules/minimist/test/dash.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/dash.js @@ -22,3 +22,10 @@ test('-a -- b', function (t) { t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); }); + +test('move arguments after the -- into their own `--` array', function(t) { + t.plan(1); + t.deepEqual( + parse([ '--name', 'John', 'before', '--', 'after' ], { '--': true }), + { name: 'John', _: [ 'before' ], '--': [ 'after' ] }); +}); diff --git a/deps/npm/node_modules/minimist/test/default_bool.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/default_bool.js similarity index 58% rename from deps/npm/node_modules/minimist/test/default_bool.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/default_bool.js index f0041ee40cd05f..780a311270fcda 100644 --- a/deps/npm/node_modules/minimist/test/default_bool.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/default_bool.js @@ -18,3 +18,18 @@ test('boolean default false', function (t) { t.equal(argv.somefalse, false); t.end(); }); + +test('boolean default to null', function (t) { + var argv = parse([], { + boolean: 'maybe', + default: { maybe: null } + }); + t.equal(argv.maybe, null); + var argv = parse(['--maybe'], { + boolean: 'maybe', + default: { maybe: null } + }); + t.equal(argv.maybe, true); + t.end(); + +}) diff --git a/deps/npm/node_modules/minimist/test/dotted.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/dotted.js similarity index 75% rename from deps/npm/node_modules/minimist/test/dotted.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/dotted.js index ef0ae349bf3bf5..d8b3e856ec795f 100644 --- a/deps/npm/node_modules/minimist/test/dotted.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/dotted.js @@ -14,3 +14,9 @@ test('dotted default', function (t) { t.equal(argv.aa.bb, 11); t.end(); }); + +test('dotted default with no alias', function (t) { + var argv = parse('', {default: {'a.b': 11}}); + t.equal(argv.a.b, 11); + t.end(); +}); diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/kv_short.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/kv_short.js new file mode 100644 index 00000000000000..ae880be4661dd5 --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/kv_short.js @@ -0,0 +1,16 @@ +var parse = require('../'); +var test = require('tape'); + +test('short -k=v' , function (t) { + t.plan(1); + + var argv = parse([ '-b=123' ]); + t.deepEqual(argv, { b: 123, _: [] }); +}); + +test('multi short -k=v' , function (t) { + t.plan(1); + + var argv = parse([ '-a=whatever', '-b=robots' ]); + t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] }); +}); diff --git a/deps/npm/node_modules/minimist/test/long.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/long.js similarity index 100% rename from deps/npm/node_modules/minimist/test/long.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/long.js diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/num.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/num.js new file mode 100644 index 00000000000000..2cc77f4d62ffb2 --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/num.js @@ -0,0 +1,36 @@ +var parse = require('../'); +var test = require('tape'); + +test('nums', function (t) { + var argv = parse([ + '-x', '1234', + '-y', '5.67', + '-z', '1e7', + '-w', '10f', + '--hex', '0xdeadbeef', + '789' + ]); + t.deepEqual(argv, { + x : 1234, + y : 5.67, + z : 1e7, + w : '10f', + hex : 0xdeadbeef, + _ : [ 789 ] + }); + t.deepEqual(typeof argv.x, 'number'); + t.deepEqual(typeof argv.y, 'number'); + t.deepEqual(typeof argv.z, 'number'); + t.deepEqual(typeof argv.w, 'string'); + t.deepEqual(typeof argv.hex, 'number'); + t.deepEqual(typeof argv._[0], 'number'); + t.end(); +}); + +test('already a number', function (t) { + var argv = parse([ '-x', 1234, 789 ]); + t.deepEqual(argv, { x : 1234, _ : [ 789 ] }); + t.deepEqual(typeof argv.x, 'number'); + t.deepEqual(typeof argv._[0], 'number'); + t.end(); +}); diff --git a/deps/npm/node_modules/minimist/test/parse.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse.js similarity index 54% rename from deps/npm/node_modules/minimist/test/parse.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse.js index 8a90646696628e..58f24572c47d86 100644 --- a/deps/npm/node_modules/minimist/test/parse.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse.js @@ -14,7 +14,7 @@ test('parse args', function (t) { ); t.end(); }); - + test('comprehensive', function (t) { t.deepEqual( parse([ @@ -42,32 +42,6 @@ test('comprehensive', function (t) { t.end(); }); -test('nums', function (t) { - var argv = parse([ - '-x', '1234', - '-y', '5.67', - '-z', '1e7', - '-w', '10f', - '--hex', '0xdeadbeef', - '789' - ]); - t.deepEqual(argv, { - x : 1234, - y : 5.67, - z : 1e7, - w : '10f', - hex : 0xdeadbeef, - _ : [ 789 ] - }); - t.deepEqual(typeof argv.x, 'number'); - t.deepEqual(typeof argv.y, 'number'); - t.deepEqual(typeof argv.z, 'number'); - t.deepEqual(typeof argv.w, 'string'); - t.deepEqual(typeof argv.hex, 'number'); - t.deepEqual(typeof argv._[0], 'number'); - t.end(); -}); - test('flag boolean', function (t) { var argv = parse([ '-t', 'moo' ], { boolean: 't' }); t.deepEqual(argv, { t : true, _ : [ 'moo' ] }); @@ -80,58 +54,22 @@ test('flag boolean value', function (t) { boolean: [ 't', 'verbose' ], default: { verbose: true } }); - + t.deepEqual(argv, { verbose: false, t: true, _: ['moo'] }); - - t.deepEqual(typeof argv.verbose, 'boolean'); - t.deepEqual(typeof argv.t, 'boolean'); - t.end(); -}); -test('flag boolean default false', function (t) { - var argv = parse(['moo'], { - boolean: ['t', 'verbose'], - default: { verbose: false, t: false } - }); - - t.deepEqual(argv, { - verbose: false, - t: false, - _: ['moo'] - }); - t.deepEqual(typeof argv.verbose, 'boolean'); t.deepEqual(typeof argv.t, 'boolean'); t.end(); - -}); - -test('boolean groups', function (t) { - var argv = parse([ '-x', '-z', 'one', 'two', 'three' ], { - boolean: ['x','y','z'] - }); - - t.deepEqual(argv, { - x : true, - y : false, - z : true, - _ : [ 'one', 'two', 'three' ] - }); - - t.deepEqual(typeof argv.x, 'boolean'); - t.deepEqual(typeof argv.y, 'boolean'); - t.deepEqual(typeof argv.z, 'boolean'); - t.end(); }); test('newlines in params' , function (t) { var args = parse([ '-s', "X\nX" ]) t.deepEqual(args, { _ : [], s : "X\nX" }); - + // reproduce in bash: // VALUE="new // line" @@ -145,7 +83,7 @@ test('strings' , function (t) { var s = parse([ '-s', '0001234' ], { string: 's' }).s; t.equal(s, '0001234'); t.equal(typeof s, 'string'); - + var x = parse([ '-x', '56' ], { string: 'x' }).x; t.equal(x, '56'); t.equal(typeof x, 'string'); @@ -183,6 +121,29 @@ test('empty strings', function(t) { }); +test('string and alias', function(t) { + var x = parse([ '--str', '000123' ], { + string: 's', + alias: { s: 'str' } + }); + + t.equal(x.str, '000123'); + t.equal(typeof x.str, 'string'); + t.equal(x.s, '000123'); + t.equal(typeof x.s, 'string'); + + var y = parse([ '-s', '000123' ], { + string: 'str', + alias: { str: 's' } + }); + + t.equal(y.str, '000123'); + t.equal(typeof y.str, 'string'); + t.equal(y.s, '000123'); + t.equal(typeof y.s, 'string'); + t.end(); +}); + test('slashBreak', function (t) { t.same( parse([ '-I/foo/bar/baz' ]), @@ -222,7 +183,7 @@ test('nested dotted objects', function (t) { '--foo.quux.quibble', '5', '--foo.quux.o_O', '--beep.boop' ]); - + t.same(argv.foo, { bar : 3, baz : 4, @@ -234,85 +195,3 @@ test('nested dotted objects', function (t) { t.same(argv.beep, { boop : true }); t.end(); }); - -test('boolean and alias with chainable api', function (t) { - var aliased = [ '-h', 'derp' ]; - var regular = [ '--herp', 'derp' ]; - var opts = { - herp: { alias: 'h', boolean: true } - }; - var aliasedArgv = parse(aliased, { - boolean: 'herp', - alias: { h: 'herp' } - }); - var propertyArgv = parse(regular, { - boolean: 'herp', - alias: { h: 'herp' } - }); - var expected = { - herp: true, - h: true, - '_': [ 'derp' ] - }; - - t.same(aliasedArgv, expected); - t.same(propertyArgv, expected); - t.end(); -}); - -test('boolean and alias with options hash', function (t) { - var aliased = [ '-h', 'derp' ]; - var regular = [ '--herp', 'derp' ]; - var opts = { - alias: { 'h': 'herp' }, - boolean: 'herp' - }; - var aliasedArgv = parse(aliased, opts); - var propertyArgv = parse(regular, opts); - var expected = { - herp: true, - h: true, - '_': [ 'derp' ] - }; - t.same(aliasedArgv, expected); - t.same(propertyArgv, expected); - t.end(); -}); - -test('boolean and alias using explicit true', function (t) { - var aliased = [ '-h', 'true' ]; - var regular = [ '--herp', 'true' ]; - var opts = { - alias: { h: 'herp' }, - boolean: 'h' - }; - var aliasedArgv = parse(aliased, opts); - var propertyArgv = parse(regular, opts); - var expected = { - herp: true, - h: true, - '_': [ ] - }; - - t.same(aliasedArgv, expected); - t.same(propertyArgv, expected); - t.end(); -}); - -// regression, see https://github.com/substack/node-optimist/issues/71 -test('boolean and --x=true', function(t) { - var parsed = parse(['--boool', '--other=true'], { - boolean: 'boool' - }); - - t.same(parsed.boool, true); - t.same(parsed.other, 'true'); - - parsed = parse(['--boool', '--other=false'], { - boolean: 'boool' - }); - - t.same(parsed.boool, true); - t.same(parsed.other, 'false'); - t.end(); -}); diff --git a/deps/npm/node_modules/minimist/test/parse_modified.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js similarity index 77% rename from deps/npm/node_modules/minimist/test/parse_modified.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js index 21851b036ee6d9..a22248532f0c6f 100644 --- a/deps/npm/node_modules/minimist/test/parse_modified.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js @@ -3,7 +3,7 @@ var test = require('tape'); test('parse with modifier functions' , function (t) { t.plan(1); - + var argv = parse([ '-b', '123' ], { boolean: 'b' }); - t.deepEqual(argv, { b: true, _: ['123'] }); + t.deepEqual(argv, { b: true, _: [123] }); }); diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/proto.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/proto.js new file mode 100644 index 00000000000000..8649107ecba1f0 --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/proto.js @@ -0,0 +1,44 @@ +var parse = require('../'); +var test = require('tape'); + +test('proto pollution', function (t) { + var argv = parse(['--__proto__.x','123']); + t.equal({}.x, undefined); + t.equal(argv.__proto__.x, undefined); + t.equal(argv.x, undefined); + t.end(); +}); + +test('proto pollution (array)', function (t) { + var argv = parse(['--x','4','--x','5','--x.__proto__.z','789']); + t.equal({}.z, undefined); + t.deepEqual(argv.x, [4,5]); + t.equal(argv.x.z, undefined); + t.equal(argv.x.__proto__.z, undefined); + t.end(); +}); + +test('proto pollution (number)', function (t) { + var argv = parse(['--x','5','--x.__proto__.z','100']); + t.equal({}.z, undefined); + t.equal((4).z, undefined); + t.equal(argv.x, 5); + t.equal(argv.x.z, undefined); + t.end(); +}); + +test('proto pollution (string)', function (t) { + var argv = parse(['--x','abc','--x.__proto__.z','def']); + t.equal({}.z, undefined); + t.equal('...'.z, undefined); + t.equal(argv.x, 'abc'); + t.equal(argv.x.z, undefined); + t.end(); +}); + +test('proto pollution (constructor)', function (t) { + var argv = parse(['--constructor.prototype.y','123']); + t.equal({}.y, undefined); + t.equal(argv.y, undefined); + t.end(); +}); diff --git a/deps/npm/node_modules/minimist/test/short.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/short.js similarity index 99% rename from deps/npm/node_modules/minimist/test/short.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/short.js index d513a1c2529095..ac18880f1eb50c 100644 --- a/deps/npm/node_modules/minimist/test/short.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/short.js @@ -43,7 +43,7 @@ test('short', function (t) { ); t.end(); }); - + test('mixed short bool and capture', function (t) { t.same( parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), @@ -54,7 +54,7 @@ test('mixed short bool and capture', function (t) { ); t.end(); }); - + test('short and long', function (t) { t.deepEqual( parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/stop_early.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/stop_early.js new file mode 100644 index 00000000000000..bdf9fbcb0b57ab --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/stop_early.js @@ -0,0 +1,15 @@ +var parse = require('../'); +var test = require('tape'); + +test('stops parsing on the first non-option when stopEarly is set', function (t) { + var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], { + stopEarly: true + }); + + t.deepEqual(argv, { + aaa: 'bbb', + _: ['ccc', '--ddd'] + }); + + t.end(); +}); diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/unknown.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/unknown.js new file mode 100644 index 00000000000000..462a36bdd7ec9f --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/unknown.js @@ -0,0 +1,102 @@ +var parse = require('../'); +var test = require('tape'); + +test('boolean and alias is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '-h', 'true', '--derp', 'true' ]; + var regular = [ '--herp', 'true', '-d', 'true' ]; + var opts = { + alias: { h: 'herp' }, + boolean: 'h', + unknown: unknownFn + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + + t.same(unknown, ['--derp', '-d']); + t.end(); +}); + +test('flag boolean true any double hyphen argument is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var argv = parse(['--honk', '--tacos=good', 'cow', '-p', '55'], { + boolean: true, + unknown: unknownFn + }); + t.same(unknown, ['--tacos=good', 'cow', '-p']); + t.same(argv, { + honk: true, + _: [] + }); + t.end(); +}); + +test('string and alias is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '-h', 'hello', '--derp', 'goodbye' ]; + var regular = [ '--herp', 'hello', '-d', 'moon' ]; + var opts = { + alias: { h: 'herp' }, + string: 'h', + unknown: unknownFn + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + + t.same(unknown, ['--derp', '-d']); + t.end(); +}); + +test('default and alias is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '-h', 'hello' ]; + var regular = [ '--herp', 'hello' ]; + var opts = { + default: { 'h': 'bar' }, + alias: { 'h': 'herp' }, + unknown: unknownFn + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + + t.same(unknown, []); + t.end(); + unknownFn(); // exercise fn for 100% coverage +}); + +test('value following -- is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '--bad', '--', 'good', 'arg' ]; + var opts = { + '--': true, + unknown: unknownFn + }; + var argv = parse(aliased, opts); + + t.same(unknown, ['--bad']); + t.same(argv, { + '--': ['good', 'arg'], + '_': [] + }) + t.end(); +}); diff --git a/deps/npm/node_modules/minimist/test/whitespace.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/whitespace.js similarity index 100% rename from deps/npm/node_modules/minimist/test/whitespace.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/whitespace.js diff --git a/deps/npm/node_modules/mkdirp/package.json b/deps/npm/node_modules/mkdirp/package.json index aa7b9061128f2f..5ff5891b2c06d8 100644 --- a/deps/npm/node_modules/mkdirp/package.json +++ b/deps/npm/node_modules/mkdirp/package.json @@ -1,47 +1,41 @@ { - "_args": [ - [ - "mkdirp@0.5.1", - "/Users/rebecca/code/npm" - ] - ], - "_from": "mkdirp@0.5.1", - "_id": "mkdirp@0.5.1", + "_from": "mkdirp@0.5.4", + "_id": "mkdirp@0.5.4", "_inBundle": false, - "_integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "_integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", "_location": "/mkdirp", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "mkdirp@0.5.1", + "raw": "mkdirp@0.5.4", "name": "mkdirp", "escapedName": "mkdirp", - "rawSpec": "0.5.1", + "rawSpec": "0.5.4", "saveSpec": null, - "fetchSpec": "0.5.1" + "fetchSpec": "0.5.4" }, "_requiredBy": [ + "#USER", "/", "/cacache", "/cmd-shim", "/copy-concurrently", "/eslint", - "/fstream", "/gentle-fs", + "/libcipm", "/move-concurrently", "/node-gyp", - "/npm-profile/cacache", - "/npm-registry-fetch/cacache", "/pacote", - "/tacks", + "/spawn-wrap", "/tap", "/tar", "/write" ], - "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "_spec": "0.5.1", - "_where": "/Users/rebecca/code/npm", + "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", + "_shasum": "fd01504a6797ec5c9be81ff43d204961ed64a512", + "_spec": "mkdirp@0.5.4", + "_where": "/Users/ruyadorno/Documents/workspace/cli", "author": { "name": "James Halliday", "email": "mail@substack.net", @@ -53,14 +47,20 @@ "bugs": { "url": "https://github.com/substack/node-mkdirp/issues" }, + "bundleDependencies": false, "dependencies": { - "minimist": "0.0.8" + "minimist": "^1.2.5" }, + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", "description": "Recursively mkdir, like `mkdir -p`", "devDependencies": { - "mock-fs": "2 >=2.7.0", - "tap": "1" + "mock-fs": "^3.7.0", + "tap": "^5.4.2" }, + "files": [ + "bin", + "index.js" + ], "homepage": "https://github.com/substack/node-mkdirp#readme", "keywords": [ "mkdir", @@ -69,6 +69,9 @@ "license": "MIT", "main": "index.js", "name": "mkdirp", + "publishConfig": { + "tag": "legacy" + }, "repository": { "type": "git", "url": "git+https://github.com/substack/node-mkdirp.git" @@ -76,5 +79,5 @@ "scripts": { "test": "tap test/*.js" }, - "version": "0.5.1" + "version": "0.5.4" } diff --git a/deps/npm/node_modules/mkdirp/test/chmod.js b/deps/npm/node_modules/mkdirp/test/chmod.js deleted file mode 100644 index 6a404b932f941f..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/chmod.js +++ /dev/null @@ -1,41 +0,0 @@ -var mkdirp = require('../').mkdirp; -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); -var _0744 = parseInt('0744', 8); - -var ps = [ '', 'tmp' ]; - -for (var i = 0; i < 25; i++) { - var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - ps.push(dir); -} - -var file = ps.join('/'); - -test('chmod-pre', function (t) { - var mode = _0744 - mkdirp(file, mode, function (er) { - t.ifError(er, 'should not error'); - fs.stat(file, function (er, stat) { - t.ifError(er, 'should exist'); - t.ok(stat && stat.isDirectory(), 'should be directory'); - t.equal(stat && stat.mode & _0777, mode, 'should be 0744'); - t.end(); - }); - }); -}); - -test('chmod', function (t) { - var mode = _0755 - mkdirp(file, mode, function (er) { - t.ifError(er, 'should not error'); - fs.stat(file, function (er, stat) { - t.ifError(er, 'should exist'); - t.ok(stat && stat.isDirectory(), 'should be directory'); - t.end(); - }); - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/clobber.js b/deps/npm/node_modules/mkdirp/test/clobber.js deleted file mode 100644 index 2433b9ad548557..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/clobber.js +++ /dev/null @@ -1,38 +0,0 @@ -var mkdirp = require('../').mkdirp; -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; -var _0755 = parseInt('0755', 8); - -var ps = [ '', 'tmp' ]; - -for (var i = 0; i < 25; i++) { - var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - ps.push(dir); -} - -var file = ps.join('/'); - -// a file in the way -var itw = ps.slice(0, 3).join('/'); - - -test('clobber-pre', function (t) { - console.error("about to write to "+itw) - fs.writeFileSync(itw, 'I AM IN THE WAY, THE TRUTH, AND THE LIGHT.'); - - fs.stat(itw, function (er, stat) { - t.ifError(er) - t.ok(stat && stat.isFile(), 'should be file') - t.end() - }) -}) - -test('clobber', function (t) { - t.plan(2); - mkdirp(file, _0755, function (err) { - t.ok(err); - t.equal(err.code, 'ENOTDIR'); - t.end(); - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/mkdirp.js b/deps/npm/node_modules/mkdirp/test/mkdirp.js deleted file mode 100644 index eaa8921c7f1488..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/mkdirp.js +++ /dev/null @@ -1,28 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('woo', function (t) { - t.plan(5); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - mkdirp(file, _0755, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }) - }) - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/opts_fs.js b/deps/npm/node_modules/mkdirp/test/opts_fs.js deleted file mode 100644 index 97186b62e0bb90..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/opts_fs.js +++ /dev/null @@ -1,29 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var test = require('tap').test; -var mockfs = require('mock-fs'); -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('opts.fs', function (t) { - t.plan(5); - - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/beep/boop/' + [x,y,z].join('/'); - var xfs = mockfs.fs(); - - mkdirp(file, { fs: xfs, mode: _0755 }, function (err) { - t.ifError(err); - xfs.exists(file, function (ex) { - t.ok(ex, 'created file'); - xfs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/opts_fs_sync.js b/deps/npm/node_modules/mkdirp/test/opts_fs_sync.js deleted file mode 100644 index 6c370aa6e93a20..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/opts_fs_sync.js +++ /dev/null @@ -1,27 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var test = require('tap').test; -var mockfs = require('mock-fs'); -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('opts.fs sync', function (t) { - t.plan(4); - - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/beep/boop/' + [x,y,z].join('/'); - var xfs = mockfs.fs(); - - mkdirp.sync(file, { fs: xfs, mode: _0755 }); - xfs.exists(file, function (ex) { - t.ok(ex, 'created file'); - xfs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/perm.js b/deps/npm/node_modules/mkdirp/test/perm.js deleted file mode 100644 index fbce44b82bafee..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/perm.js +++ /dev/null @@ -1,32 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('async perm', function (t) { - t.plan(5); - var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); - - mkdirp(file, _0755, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }) - }) - }); -}); - -test('async root perm', function (t) { - mkdirp('/tmp', _0755, function (err) { - if (err) t.fail(err); - t.end(); - }); - t.end(); -}); diff --git a/deps/npm/node_modules/mkdirp/test/perm_sync.js b/deps/npm/node_modules/mkdirp/test/perm_sync.js deleted file mode 100644 index 398229fe54ab04..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/perm_sync.js +++ /dev/null @@ -1,36 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('sync perm', function (t) { - t.plan(4); - var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json'; - - mkdirp.sync(file, _0755); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); -}); - -test('sync root perm', function (t) { - t.plan(3); - - var file = '/tmp'; - mkdirp.sync(file, _0755); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.ok(stat.isDirectory(), 'target not a directory'); - }) - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/race.js b/deps/npm/node_modules/mkdirp/test/race.js deleted file mode 100644 index b0b9e183c902fb..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/race.js +++ /dev/null @@ -1,37 +0,0 @@ -var mkdirp = require('../').mkdirp; -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('race', function (t) { - t.plan(10); - var ps = [ '', 'tmp' ]; - - for (var i = 0; i < 25; i++) { - var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - ps.push(dir); - } - var file = ps.join('/'); - - var res = 2; - mk(file); - - mk(file); - - function mk (file, cb) { - mkdirp(file, _0755, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }) - }); - } -}); diff --git a/deps/npm/node_modules/mkdirp/test/rel.js b/deps/npm/node_modules/mkdirp/test/rel.js deleted file mode 100644 index 4ddb34276a72a2..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/rel.js +++ /dev/null @@ -1,32 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('rel', function (t) { - t.plan(5); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var cwd = process.cwd(); - process.chdir('/tmp'); - - var file = [x,y,z].join('/'); - - mkdirp(file, _0755, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - process.chdir(cwd); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }) - }) - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/return.js b/deps/npm/node_modules/mkdirp/test/return.js deleted file mode 100644 index bce68e5613e3f9..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/return.js +++ /dev/null @@ -1,25 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; - -test('return value', function (t) { - t.plan(4); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - // should return the first dir created. - // By this point, it would be profoundly surprising if /tmp didn't - // already exist, since every other test makes things in there. - mkdirp(file, function (err, made) { - t.ifError(err); - t.equal(made, '/tmp/' + x); - mkdirp(file, function (err, made) { - t.ifError(err); - t.equal(made, null); - }); - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/return_sync.js b/deps/npm/node_modules/mkdirp/test/return_sync.js deleted file mode 100644 index 7c222d3558d6f0..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/return_sync.js +++ /dev/null @@ -1,24 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; - -test('return value', function (t) { - t.plan(2); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - // should return the first dir created. - // By this point, it would be profoundly surprising if /tmp didn't - // already exist, since every other test makes things in there. - // Note that this will throw on failure, which will fail the test. - var made = mkdirp.sync(file); - t.equal(made, '/tmp/' + x); - - // making the same file again should have no effect. - made = mkdirp.sync(file); - t.equal(made, null); -}); diff --git a/deps/npm/node_modules/mkdirp/test/root.js b/deps/npm/node_modules/mkdirp/test/root.js deleted file mode 100644 index 9e7d079d9fc757..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/root.js +++ /dev/null @@ -1,19 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; -var _0755 = parseInt('0755', 8); - -test('root', function (t) { - // '/' on unix, 'c:/' on windows. - var file = path.resolve('/'); - - mkdirp(file, _0755, function (err) { - if (err) throw err - fs.stat(file, function (er, stat) { - if (er) throw er - t.ok(stat.isDirectory(), 'target is a directory'); - t.end(); - }) - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/sync.js b/deps/npm/node_modules/mkdirp/test/sync.js deleted file mode 100644 index 8c8dc938c8b4a8..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/sync.js +++ /dev/null @@ -1,32 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('sync', function (t) { - t.plan(4); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - try { - mkdirp.sync(file, _0755); - } catch (err) { - t.fail(err); - return t.end(); - } - - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/umask.js b/deps/npm/node_modules/mkdirp/test/umask.js deleted file mode 100644 index 2033c63a414efa..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/umask.js +++ /dev/null @@ -1,28 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('implicit mode from umask', function (t) { - t.plan(5); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - mkdirp(file, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0777 & (~process.umask())); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }) - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/umask_sync.js b/deps/npm/node_modules/mkdirp/test/umask_sync.js deleted file mode 100644 index 11a76147496a52..00000000000000 --- a/deps/npm/node_modules/mkdirp/test/umask_sync.js +++ /dev/null @@ -1,32 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('umask sync modes', function (t) { - t.plan(4); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - try { - mkdirp.sync(file); - } catch (err) { - t.fail(err); - return t.end(); - } - - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, (_0777 & (~process.umask()))); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); -}); diff --git a/deps/npm/node_modules/nice-try/CHANGELOG.md b/deps/npm/node_modules/nice-try/CHANGELOG.md new file mode 100644 index 00000000000000..9e6baf2fb59be2 --- /dev/null +++ b/deps/npm/node_modules/nice-try/CHANGELOG.md @@ -0,0 +1,21 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). + +## [1.0.5] - 2018-08-25 + +### Changed + +- Removed `prepublish` script from `package.json` + +## [1.0.4] - 2017-08-08 + +### New + +- Added a changelog + +### Changed + +- Ignore `yarn.lock` and `package-lock.json` files \ No newline at end of file diff --git a/deps/npm/node_modules/nice-try/LICENSE b/deps/npm/node_modules/nice-try/LICENSE new file mode 100644 index 00000000000000..681c8f507b00e7 --- /dev/null +++ b/deps/npm/node_modules/nice-try/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2018 Tobias Reich + +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. diff --git a/deps/npm/node_modules/nice-try/README.md b/deps/npm/node_modules/nice-try/README.md new file mode 100644 index 00000000000000..5b83b78824a0e5 --- /dev/null +++ b/deps/npm/node_modules/nice-try/README.md @@ -0,0 +1,32 @@ +# nice-try + +[![Travis Build Status](https://travis-ci.org/electerious/nice-try.svg?branch=master)](https://travis-ci.org/electerious/nice-try) [![AppVeyor Status](https://ci.appveyor.com/api/projects/status/8tqb09wrwci3xf8l?svg=true)](https://ci.appveyor.com/project/electerious/nice-try) [![Coverage Status](https://coveralls.io/repos/github/electerious/nice-try/badge.svg?branch=master)](https://coveralls.io/github/electerious/nice-try?branch=master) [![Dependencies](https://david-dm.org/electerious/nice-try.svg)](https://david-dm.org/electerious/nice-try#info=dependencies) [![Greenkeeper badge](https://badges.greenkeeper.io/electerious/nice-try.svg)](https://greenkeeper.io/) + +A function that tries to execute a function and discards any error that occurs. + +## Install + +``` +npm install nice-try +``` + +## Usage + +```js +const niceTry = require('nice-try') + +niceTry(() => JSON.parse('true')) // true +niceTry(() => JSON.parse('truee')) // undefined +niceTry() // undefined +niceTry(true) // undefined +``` + +## API + +### Parameters + +- `fn` `{Function}` Function that might or might not throw an error. + +### Returns + +- `{?*}` Return-value of the function when no error occurred. \ No newline at end of file diff --git a/deps/npm/node_modules/nice-try/package.json b/deps/npm/node_modules/nice-try/package.json new file mode 100644 index 00000000000000..787ce7a7a846e5 --- /dev/null +++ b/deps/npm/node_modules/nice-try/package.json @@ -0,0 +1,65 @@ +{ + "_args": [ + [ + "nice-try@1.0.5", + "/Users/mperrotte/npminc/cli" + ] + ], + "_development": true, + "_from": "nice-try@1.0.5", + "_id": "nice-try@1.0.5", + "_inBundle": false, + "_integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "_location": "/nice-try", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "nice-try@1.0.5", + "name": "nice-try", + "escapedName": "nice-try", + "rawSpec": "1.0.5", + "saveSpec": null, + "fetchSpec": "1.0.5" + }, + "_requiredBy": [ + "/nyc/cross-spawn" + ], + "_resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "_spec": "1.0.5", + "_where": "/Users/mperrotte/npminc/cli", + "authors": [ + "Tobias Reich " + ], + "bugs": { + "url": "https://github.com/electerious/nice-try/issues" + }, + "description": "Tries to execute a function and discards any error that occurs", + "devDependencies": { + "chai": "^4.1.2", + "coveralls": "^3.0.0", + "mocha": "^5.1.1", + "nyc": "^12.0.1" + }, + "files": [ + "src" + ], + "homepage": "https://github.com/electerious/nice-try", + "keywords": [ + "try", + "catch", + "error" + ], + "license": "MIT", + "main": "src/index.js", + "name": "nice-try", + "repository": { + "type": "git", + "url": "git+https://github.com/electerious/nice-try.git" + }, + "scripts": { + "coveralls": "nyc report --reporter=text-lcov | coveralls", + "test": "nyc node_modules/mocha/bin/_mocha" + }, + "version": "1.0.5" +} diff --git a/deps/npm/node_modules/nice-try/src/index.js b/deps/npm/node_modules/nice-try/src/index.js new file mode 100644 index 00000000000000..837506f2cc2db3 --- /dev/null +++ b/deps/npm/node_modules/nice-try/src/index.js @@ -0,0 +1,12 @@ +'use strict' + +/** + * Tries to execute a function and discards any error that occurs. + * @param {Function} fn - Function that might or might not throw an error. + * @returns {?*} Return-value of the function when no error occurred. + */ +module.exports = function(fn) { + + try { return fn() } catch (e) {} + +} \ No newline at end of file diff --git a/deps/npm/node_modules/node-gyp/.github/workflows/Python_tests.yml b/deps/npm/node_modules/node-gyp/.github/workflows/Python_tests.yml new file mode 100644 index 00000000000000..dba9d10933cbf9 --- /dev/null +++ b/deps/npm/node_modules/node-gyp/.github/workflows/Python_tests.yml @@ -0,0 +1,40 @@ +# TODO: Line 15, enable python-version: 3.5 +# TODO: Line 36, enable pytest --doctest-modules + +name: Python_tests +on: [push, pull_request] +jobs: + Python_tests: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + max-parallel: 15 + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + python-version: [2.7, 3.6, 3.7, 3.8] # 3.5, + steps: + - uses: actions/checkout@v1 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest # -r requirements.txt + - name: Lint with flake8 + if: matrix.os == 'ubuntu-latest' + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest (Linux and macOS) + if: matrix.os != 'windows-latest' + run: pytest + - name: Test with pytest (Windows) + if: matrix.os == 'windows-latest' + shell: bash + run: GYP_MSVS_VERSION=2015 GYP_MSVS_OVERRIDE_PATH="C:\\Dummy" pytest + # - name: Run doctests with pytest + # run: pytest --doctest-modules diff --git a/deps/npm/node_modules/node-gyp/.travis.yml b/deps/npm/node_modules/node-gyp/.travis.yml index cf0ea43fff2d6d..22f7bc12fc349c 100644 --- a/deps/npm/node_modules/node-gyp/.travis.yml +++ b/deps/npm/node_modules/node-gyp/.travis.yml @@ -1,44 +1,28 @@ dist: xenial language: python cache: pip -matrix: +addons: + homebrew: + update: true + packages: + - npm + - pyenv +jobs: include: - name: "Python 2.7 on Linux" env: NODE_GYP_FORCE_PYTHON=python2 python: 2.7 - - name: "Python 2.7 on macOS" - os: osx - osx_image: xcode11 - language: shell # 'language: python' is not yet supported on macOS - env: NODE_GYP_FORCE_PYTHON=python2 - before_install: HOMEBREW_NO_AUTO_UPDATE=1 brew install npm - - name: "Node.js 6 & Python 2.7 on Windows" - os: windows - language: node_js - node_js: 6 # node - env: >- - PATH=/c/Python27:/c/Python27/Scripts:$PATH - NODE_GYP_FORCE_PYTHON=/c/Python27/python.exe - before_install: choco install python2 - - name: "Node.js 12 & Python 2.7 on Windows" - os: windows - language: node_js - node_js: 12 # node - env: >- - PATH=/c/Python27:/c/Python27/Scripts:$PATH - NODE_GYP_FORCE_PYTHON=/c/Python27/python.exe - before_install: choco install python2 - - name: "Node.js 6 & Python 3.7 on Linux" - python: 3.7 + - name: "Node.js 6 & Python 3.8 on Linux" + python: 3.8 env: NODE_GYP_FORCE_PYTHON=python3 before_install: nvm install 6 - - name: "Node.js 8 & Python 3.7 on Linux" - python: 3.7 + - name: "Node.js 8 & Python 3.8 on Linux" + python: 3.8 env: NODE_GYP_FORCE_PYTHON=python3 before_install: nvm install 8 - - name: "Node.js 10 & Python 3.7 on Linux" - python: 3.7 + - name: "Node.js 10 & Python 3.8 on Linux" + python: 3.8 env: NODE_GYP_FORCE_PYTHON=python3 before_install: nvm install 10 - name: "Node.js 12 & Python 3.5 on Linux" @@ -53,12 +37,41 @@ matrix: python: 3.7 env: NODE_GYP_FORCE_PYTHON=python3 before_install: nvm install 12 - - name: "Python 3.7 on macOS" + - name: "Node.js 12 & Python 3.8 on Linux" + python: 3.8 + env: NODE_GYP_FORCE_PYTHON=python3 + before_install: nvm install 12 + + - name: "Python 2.7 on macOS" os: osx - #osx_image: xcode11 + osx_image: xcode11.2 language: shell # 'language: python' is not yet supported on macOS - env: NODE_GYP_FORCE_PYTHON=python3 - before_install: HOMEBREW_NO_AUTO_UPDATE=1 brew install npm + env: NODE_GYP_FORCE_PYTHON=python2 PATH=$HOME/.pyenv/shims:$PATH PYENV_VERSION=2.7.17 + before_install: pyenv install $PYENV_VERSION + - name: "Python 3.8 on macOS" + os: osx + osx_image: xcode11.2 + language: shell # 'language: python' is not yet supported on macOS + env: NODE_GYP_FORCE_PYTHON=python3 PATH=$HOME/.pyenv/shims:$PATH PYENV_VERSION=3.8.0 + before_install: pyenv install $PYENV_VERSION + + - name: "Node.js 6 & Python 2.7 on Windows" + os: windows + language: node_js + node_js: 6 # node + env: >- + PATH=/c/Python27:/c/Python27/Scripts:$PATH + NODE_GYP_FORCE_PYTHON=/c/Python27/python.exe + before_install: choco install python2 + - name: "Node.js 12 & Python 2.7 on Windows" + os: windows + language: node_js + node_js: 12 # node + env: >- + PATH=/c/Python27:/c/Python27/Scripts:$PATH + NODE_GYP_FORCE_PYTHON=/c/Python27/python.exe + before_install: choco install python2 + - name: "Node.js 12 & Python 3.7 on Windows" os: windows language: node_js @@ -66,23 +79,30 @@ matrix: env: >- PATH=/c/Python37:/c/Python37/Scripts:$PATH NODE_GYP_FORCE_PYTHON=/c/Python37/python.exe + before_install: choco install python --version=3.7.4 + - name: "Node.js 12 & Python 3.8 on Windows" + os: windows + language: node_js + node_js: 12 # node + env: >- + PATH=/c/Python38:/c/Python38/Scripts:$PATH + NODE_GYP_FORCE_PYTHON=/c/Python38/python.exe before_install: choco install python install: - #- pip install -r requirements.txt - - pip install flake8 # pytest # add another testing frameworks later + - python -m pip install --upgrade flake8 pytest==4.6.6 # pytest 5 no longer supports legacy Python before_script: - - flake8 --version + - python -m flake8 --version # stop the build if there are Python syntax errors or undefined names - - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + - python -m flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. Two space indentation is OK. The GitHub editor is 127 chars wide - - flake8 . --count --exit-zero --ignore=E111,E114,W503 --max-complexity=10 --max-line-length=127 --statistics + - python -m flake8 . --count --exit-zero --ignore=E111,E114,W503 --max-complexity=10 --max-line-length=127 --statistics - npm install - npm list script: - node -e 'require("npmlog").level="verbose"; require("./lib/find-python")(null,()=>{})' - npm test - #- pytest --capture=sys # add other tests here + - GYP_MSVS_VERSION=2015 GYP_MSVS_OVERRIDE_PATH="C:\\Dummy" python -m pytest notifications: on_success: change on_failure: change # `always` will be the setting once code changes slow down diff --git a/deps/npm/node_modules/node-gyp/CHANGELOG.md b/deps/npm/node_modules/node-gyp/CHANGELOG.md index ecc51b360dd183..5dc6bb4d47069b 100644 --- a/deps/npm/node_modules/node-gyp/CHANGELOG.md +++ b/deps/npm/node_modules/node-gyp/CHANGELOG.md @@ -1,3 +1,48 @@ +v5.1.0 2020-02-05 +================= + +* [[`f37a8b40d0`](https://github.com/nodejs/node-gyp/commit/f37a8b40d0)] - **doc**: add GitHub Actions badge (#1994) (Rod Vagg) [#1994](https://github.com/nodejs/node-gyp/pull/1994) +* [[`cb3f6aae5e`](https://github.com/nodejs/node-gyp/commit/cb3f6aae5e)] - **doc**: update macOS\_Catalina.md (#1992) (James Home) [#1992](https://github.com/nodejs/node-gyp/pull/1992) +* [[`0607596a4c`](https://github.com/nodejs/node-gyp/commit/0607596a4c)] - **doc**: fix typo in README.md (#1985) (Suraneti Rodsuwan) [#1985](https://github.com/nodejs/node-gyp/pull/1985) +* [[`0d5a415a14`](https://github.com/nodejs/node-gyp/commit/0d5a415a14)] - **doc**: add travis badge (Rod Vagg) [#1971](https://github.com/nodejs/node-gyp/pull/1971) +* [[`103740cd95`](https://github.com/nodejs/node-gyp/commit/103740cd95)] - **gyp**: list(dict) so we can del dict(key) while iterating (Christian Clauss) [#2009](https://github.com/nodejs/node-gyp/pull/2009) +* [[`278dcddbdd`](https://github.com/nodejs/node-gyp/commit/278dcddbdd)] - **lib**: ignore VS instances that cause COMExceptions (Andrew Casey) [#2018](https://github.com/nodejs/node-gyp/pull/2018) +* [[`1694907bbf`](https://github.com/nodejs/node-gyp/commit/1694907bbf)] - **lib**: compatibility with semver ≥ 7 (`new` for semver.Range) (Xavier Guimard) [#2006](https://github.com/nodejs/node-gyp/pull/2006) +* [[`a3f1143514`](https://github.com/nodejs/node-gyp/commit/a3f1143514)] - **(SEMVER-MINOR)** **lib**: noproxy support, match proxy detection to `request` (Matias Lopez) [#1978](https://github.com/nodejs/node-gyp/pull/1978) +* [[`52365819c7`](https://github.com/nodejs/node-gyp/commit/52365819c7)] - **test**: remove old docker test harness (#1993) (Rod Vagg) [#1993](https://github.com/nodejs/node-gyp/pull/1993) +* [[`bc509c511d`](https://github.com/nodejs/node-gyp/commit/bc509c511d)] - **test**: add Windows to GitHub Actions testing (#1996) (Christian Clauss) [#1996](https://github.com/nodejs/node-gyp/pull/1996) +* [[`91ee26dd48`](https://github.com/nodejs/node-gyp/commit/91ee26dd48)] - **test**: fix typo in header download test (#2001) (Richard Lau) [#2001](https://github.com/nodejs/node-gyp/pull/2001) +* [[`0923f344c9`](https://github.com/nodejs/node-gyp/commit/0923f344c9)] - **test**: direct python invocation & simpler pyenv (Matias Lopez) [#1979](https://github.com/nodejs/node-gyp/pull/1979) +* [[`32c8744b34`](https://github.com/nodejs/node-gyp/commit/32c8744b34)] - **test**: fix macOS Travis on Python 2.7 & 3.7 (Christian Clauss) [#1979](https://github.com/nodejs/node-gyp/pull/1979) +* [[`fd4b1351e4`](https://github.com/nodejs/node-gyp/commit/fd4b1351e4)] - **test**: initial Github Actions with Ubuntu & macOS (Christian Clauss) [#1985](https://github.com/nodejs/node-gyp/pull/1985) + +v5.0.7 2019-12-16 +================= + +Republish of v5.0.6 with unnecessary tarball removed from pack file. + +v5.0.6 2019-12-16 +================= + +* [[`cdec00286f`](https://github.com/nodejs/node-gyp/commit/cdec00286f)] - **doc**: adjustments to the README.md for new users (Dan Pike) [#1919](https://github.com/nodejs/node-gyp/pull/1919) +* [[`b7c8233ef2`](https://github.com/nodejs/node-gyp/commit/b7c8233ef2)] - **test**: fix Python unittests (cclauss) [#1961](https://github.com/nodejs/node-gyp/pull/1961) +* [[`e12b00ab0a`](https://github.com/nodejs/node-gyp/commit/e12b00ab0a)] - **doc**: macOS Catalina add two commands (Christian Clauss) [#1962](https://github.com/nodejs/node-gyp/pull/1962) +* [[`70b9890c0d`](https://github.com/nodejs/node-gyp/commit/70b9890c0d)] - **test**: add header download test (Rod Vagg) [#1796](https://github.com/nodejs/node-gyp/pull/1796) +* [[`4029fa8629`](https://github.com/nodejs/node-gyp/commit/4029fa8629)] - **test**: configure proper devDir for invoking configure() (Rod Vagg) [#1796](https://github.com/nodejs/node-gyp/pull/1796) +* [[`fe8b02cc8b`](https://github.com/nodejs/node-gyp/commit/fe8b02cc8b)] - **doc**: add macOS\_Catalina.md document (cclauss) [#1940](https://github.com/nodejs/node-gyp/pull/1940) +* [[`8ea47ce365`](https://github.com/nodejs/node-gyp/commit/8ea47ce365)] - **gyp**: python3 fixes: utf8 decode, use of 'None' in eval (Wilfried Goesgens) [#1925](https://github.com/nodejs/node-gyp/pull/1925) +* [[`c7229716ba`](https://github.com/nodejs/node-gyp/commit/c7229716ba)] - **gyp**: iteritems() -\> items() in compile\_commands\_json.py (cclauss) [#1947](https://github.com/nodejs/node-gyp/pull/1947) +* [[`2a18b2a0f8`](https://github.com/nodejs/node-gyp/commit/2a18b2a0f8)] - **gyp**: make cmake python3 compatible (gengjiawen) [#1944](https://github.com/nodejs/node-gyp/pull/1944) +* [[`70f391e844`](https://github.com/nodejs/node-gyp/commit/70f391e844)] - **gyp**: fix TypeError in XcodeVersion() (Christian Clauss) [#1939](https://github.com/nodejs/node-gyp/pull/1939) +* [[`9f4f0fa34e`](https://github.com/nodejs/node-gyp/commit/9f4f0fa34e)] - **gyp**: finish decode stdout on Python 3 (Christian Clauss) [#1937](https://github.com/nodejs/node-gyp/pull/1937) +* [[`7cf507906d`](https://github.com/nodejs/node-gyp/commit/7cf507906d)] - **src,win**: allow 403 errors for arm64 node.lib (Richard Lau) [#1934](https://github.com/nodejs/node-gyp/pull/1934) +* [[`ad0d182c01`](https://github.com/nodejs/node-gyp/commit/ad0d182c01)] - **deps**: update deps to roughly match current npm@6 (Rod Vagg) [#1920](https://github.com/nodejs/node-gyp/pull/1920) +* [[`1553081ed6`](https://github.com/nodejs/node-gyp/commit/1553081ed6)] - **test**: upgrade Linux Travis CI to Python 3.8 (Christian Clauss) [#1923](https://github.com/nodejs/node-gyp/pull/1923) +* [[`0705cae9aa`](https://github.com/nodejs/node-gyp/commit/0705cae9aa)] - **travis**: ignore failed `brew upgrade npm`, update xcode (Christian Clauss) [#1932](https://github.com/nodejs/node-gyp/pull/1932) +* [[`7bfdb6f5bf`](https://github.com/nodejs/node-gyp/commit/7bfdb6f5bf)] - **build**: avoid bare exceptions in xcode\_emulation.py (Christian Clauss) [#1932](https://github.com/nodejs/node-gyp/pull/1932) +* [[`7edf7658fa`](https://github.com/nodejs/node-gyp/commit/7edf7658fa)] - **lib,install**: always download SHA sums on Windows (Sam Hughes) [#1926](https://github.com/nodejs/node-gyp/pull/1926) +* [[`69056d04fe`](https://github.com/nodejs/node-gyp/commit/69056d04fe)] - **travis**: add Windows + Python 3.8 to the mix (Rod Vagg) [#1921](https://github.com/nodejs/node-gyp/pull/1921) + v5.0.5 2019-10-04 ================= diff --git a/deps/npm/node_modules/node-gyp/CONTRIBUTING.md b/deps/npm/node_modules/node-gyp/CONTRIBUTING.md deleted file mode 100644 index f48786bd84af31..00000000000000 --- a/deps/npm/node_modules/node-gyp/CONTRIBUTING.md +++ /dev/null @@ -1,34 +0,0 @@ -# Contributing to node-gyp - -## Code of Conduct - -Please read the -[Code of Conduct](https://github.com/nodejs/TSC/blob/master/CODE_OF_CONDUCT.md) -which explains the minimum behavior expectations for node-gyp contributors. - - -## Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. diff --git a/deps/npm/node_modules/node-gyp/README.md b/deps/npm/node_modules/node-gyp/README.md index d3930a253d4d1c..79abf4ba71fe3d 100644 --- a/deps/npm/node_modules/node-gyp/README.md +++ b/deps/npm/node_modules/node-gyp/README.md @@ -1,10 +1,12 @@ # `node-gyp` - Node.js native addon build tool +[![Travis CI](https://travis-ci.com/nodejs/node-gyp.svg?branch=master)](https://travis-ci.com/nodejs/node-gyp) +[![Build Status](https://github.com/nodejs/node-gyp/workflows/Python_tests/badge.svg)](https://github.com/nodejs/node-gyp/actions?workflow=Python_tests) + `node-gyp` is a cross-platform command-line tool written in Node.js for compiling native addon modules for Node.js. It contains a fork of the [gyp](https://gyp.gsrc.io) project that was previously used by the Chromium -team and takes away the pain of dealing with the various differences in build -platforms. +team, extended to support the development of Node.js native addons. Note that `node-gyp` is _not_ used to build Node.js itself. @@ -14,23 +16,18 @@ etc.), regardless of what version of Node.js is actually installed on your syste ## Features - * Easy to use, consistent interface - * Same commands to build your module on every platform - * Supports multiple target versions of Node.js + * The same build commands work on any of the supported platforms + * Supports the targeting of different versions of Node.js ## Installation -You can install with `npm`: +You can install `node-gyp` using `npm`: ``` bash $ npm install -g node-gyp ``` -You will also need to install: - -NOTE: node-gyp is compatible with Python v2.7, v3.5, v3.6, or v3.7. If the -Python to use is not explicitly configured (see "Configuring Python Dependency" -below) it will attempt to find a compatible Python executable. +Depending on your operating system, you will need to install: ### On Unix @@ -43,6 +40,7 @@ below) it will attempt to find a compatible Python executable. * Python v2.7, v3.5, v3.6, or v3.7 * [Xcode](https://developer.apple.com/xcode/download/) * You also need to install the `XCode Command Line Tools` by running `xcode-select --install`. Alternatively, if you already have the full Xcode installed, you can find them under the menu `Xcode -> Open Developer Tool -> More Developer Tools...`. This step will install `clang`, `clang++`, and `make`. + * If your Mac has been _upgraded_ to macOS Catalina (10.15), please read [macOS_Catalina.md](macOS_Catalina.md). ### On Windows @@ -66,14 +64,17 @@ Install tools and configuration manually: ### Configuring Python Dependency -If you have multiple Python versions installed, you can identify which Python -version `node-gyp` uses by setting the `--python` variable: +`node-gyp` requires that you have installed a compatible version of Python, one of: v2.7, v3.5, v3.6, +or v3.7. If you have multiple Python versions installed, you can identify which Python +version `node-gyp` should use in one of the following ways: + +1. by setting the `--python` command-line option, e.g.: ``` bash $ node-gyp --python /path/to/executable/python ``` -If `node-gyp` is called by way of `npm`, *and* you have multiple versions of +2. If `node-gyp` is called by way of `npm`, *and* you have multiple versions of Python installed, then you can set `npm`'s 'python' config key to the appropriate value: @@ -81,12 +82,12 @@ value: $ npm config set python /path/to/executable/python ``` -If the `PYTHON` environment variable is set to the path of a Python executable, -it will be used if it is a compatible Python. +3. If the `PYTHON` environment variable is set to the path of a Python executable, +then that version will be used, if it is a compatible version. -If the `NODE_GYP_FORCE_PYTHON` environment variable is set to the path of a +4. If the `NODE_GYP_FORCE_PYTHON` environment variable is set to the path of a Python executable, it will be used instead of any of the other configured or -builtin Python search paths. If its not a compatible Python, no further +builtin Python search paths. If it's not a compatible version, no further searching will be done. ## How to Use @@ -146,7 +147,9 @@ A barebones `gyp` file appropriate for building a Node.js addon could look like: } ``` -Some additional resources for addons and writing `gyp` files: +## Further reading + +Some additional resources for Node.js native addons and writing `gyp` configuration files: * ["Going Native" a nodeschool.io tutorial](http://nodeschool.io/#goingnative) * ["Hello World" node addon example](https://github.com/nodejs/node/tree/master/test/addons/hello-world) @@ -154,7 +157,6 @@ Some additional resources for addons and writing `gyp` files: * [gyp input format reference](https://gyp.gsrc.io/docs/InputFormatReference.md) * [*"binding.gyp" files out in the wild* wiki page](https://github.com/nodejs/node-gyp/wiki/%22binding.gyp%22-files-out-in-the-wild) - ## Commands `node-gyp` responds to the following commands: @@ -192,7 +194,8 @@ Some additional resources for addons and writing `gyp` files: | `--devdir=$path` | SDK download directory (default is OS cache directory) | `--ensure` | Don't reinstall headers if already present | `--dist-url=$url` | Download header tarball from custom URL -| `--proxy=$url` | Set HTTP proxy for downloading header tarball +| `--proxy=$url` | Set HTTP(S) proxy for downloading header tarball +| `--noproxy=$urls` | Set urls to ignore proxies when downloading header tarball | `--cafile=$cafile` | Override default CA chain (to download tarball) | `--nodedir=$path` | Set the path to the node source code | `--python=$path` | Set path to the Python binary diff --git a/deps/npm/node_modules/node-gyp/gyp/gyp_main.py b/deps/npm/node_modules/node-gyp/gyp/gyp_main.py index aece53c8eb3b05..f738e8009f71e7 100755 --- a/deps/npm/node_modules/node-gyp/gyp/gyp_main.py +++ b/deps/npm/node_modules/node-gyp/gyp/gyp_main.py @@ -31,7 +31,7 @@ def UnixifyPath(path): out = subprocess.Popen(["cygpath", "-u", path], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - stdout, stderr = out.communicate() + stdout, _ = out.communicate() if PY3: stdout = stdout.decode("utf-8") return str(stdout) diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py index c082bbea9b41da..ce71c38a9b94fa 100755 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py @@ -1085,6 +1085,7 @@ def testConvertToMSBuildSettings_full_synthetic(self): 'GenerateManifest': 'true', 'IgnoreImportLibrary': 'true', 'LinkIncremental': 'false'}} + self.maxDiff = 9999 # on failure display a long diff actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings( msvs_settings, self.stderr) @@ -1476,6 +1477,7 @@ def testConvertToMSBuildSettings_actual(self): 'ResourceOutputFileName': '$(IntDir)$(TargetFileName).embed.manifest.resfdsf'} } + self.maxDiff = 9999 # on failure display a long diff actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings( msvs_settings, self.stderr) diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py index 13d9777f0e1acc..c7cf68d3a1ba90 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py @@ -12,6 +12,8 @@ import gyp import glob +PY3 = bytes != str + class VisualStudioVersion(object): """Information regarding a version of Visual Studio.""" @@ -132,6 +134,8 @@ def _RegistryQueryBase(sysdir, key, value): # Obtain the stdout from reg.exe, reading to the end so p.returncode is valid # Note that the error text may be in [1] in some cases text = p.communicate()[0] + if PY3: + text = text.decode('utf-8') # Check return code from reg.exe; officially 0==success and 1==error if p.returncode: return None @@ -334,6 +338,8 @@ def _ConvertToCygpath(path): if sys.platform == 'cygwin': p = subprocess.Popen(['cygpath', path], stdout=subprocess.PIPE) path = p.communicate()[0].strip() + if PY3: + path = path.decode('utf-8') return path diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py index 071ad7e242c2e2..d866e81d40b0a4 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py @@ -2,7 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -import collections import errno import filecmp import os.path @@ -11,6 +10,11 @@ import sys import subprocess +try: + from collections.abc import MutableSet +except ImportError: + from collections import MutableSet + PY3 = bytes != str @@ -496,7 +500,7 @@ def uniquer(seq, idfun=None): # Based on http://code.activestate.com/recipes/576694/. -class OrderedSet(collections.MutableSet): +class OrderedSet(MutableSet): def __init__(self, iterable=None): self.end = end = [] end += [None, end, end] # sentinel node for doubly linked list diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py index 996b6f25fdb014..5601a6657e3d03 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py @@ -239,7 +239,10 @@ def StringToCMakeTargetName(a): Invalid for make: ':' Invalid for unknown reasons but cause failures: '.' """ - return a.translate(string.maketrans(' /():."', '_______')) + try: + return a.translate(str.maketrans(' /():."', '_______')) + except AttributeError: + return a.translate(string.maketrans(' /():."', '_______')) def WriteActions(target_name, actions, extra_sources, extra_deps, diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py index 575db63c4e1943..1b8490451f9793 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py @@ -43,7 +43,7 @@ def CalculateVariables(default_variables, params): def AddCommandsForTarget(cwd, target, params, per_config_commands): output_dir = params['generator_flags']['output_dir'] - for configuration_name, configuration in target['configurations'].iteritems(): + for configuration_name, configuration in target['configurations'].items(): builddir_name = os.path.join(output_dir, configuration_name) if IsMac(params): @@ -92,7 +92,7 @@ def resolve(filename): def GenerateOutput(target_list, target_dicts, data, params): per_config_commands = {} - for qualified_target, target in target_dicts.iteritems(): + for qualified_target, target in target_dicts.items(): build_file, target_name, toolset = ( gyp.common.ParseQualifiedTarget(qualified_target)) if IsMac(params): @@ -102,7 +102,7 @@ def GenerateOutput(target_list, target_dicts, data, params): AddCommandsForTarget(cwd, target, params, per_config_commands) output_dir = params['generator_flags']['output_dir'] - for configuration_name, commands in per_config_commands.iteritems(): + for configuration_name, commands in per_config_commands.items(): filename = os.path.join(output_dir, configuration_name, 'compile_commands.json') diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py index 6b49ad6760051e..91f187d685ad51 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py @@ -26,6 +26,8 @@ import shlex import xml.etree.cElementTree as ET +PY3 = bytes != str + generator_wants_static_library_dependencies_adjusted = False generator_default_variables = { @@ -97,6 +99,8 @@ def GetAllIncludeDirectories(target_list, target_dicts, proc = subprocess.Popen(args=command, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output = proc.communicate()[1] + if PY3: + output = output.decode('utf-8') # Extract the list of include dirs from the output, which has this format: # ... # #include "..." search starts here: @@ -234,6 +238,8 @@ def GetAllDefines(target_list, target_dicts, data, config_name, params, cpp_proc = subprocess.Popen(args=command, cwd='.', stdin=subprocess.PIPE, stdout=subprocess.PIPE) cpp_output = cpp_proc.communicate()[0] + if PY3: + cpp_output = cpp_output.decode('utf-8') cpp_lines = cpp_output.split('\n') for cpp_line in cpp_lines: if not cpp_line.strip(): diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py index bdf7134537022f..196053679492f2 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py @@ -1776,7 +1776,7 @@ def WriteMakeRule(self, outputs, inputs, actions=None, comment=None, # - The multi-output rule will have an do-nothing recipe. # Hash the target name to avoid generating overlong filenames. - cmddigest = hashlib.sha1(command if command else self.target).hexdigest() + cmddigest = hashlib.sha1((command or self.target).encode('utf-8')).hexdigest() intermediate = "%s.intermediate" % cmddigest self.WriteLn('%s: %s' % (' '.join(outputs), intermediate)) self.WriteLn('\t%s' % '@:') diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py index b3b4bc105366eb..8dbe0dc05b86b6 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py @@ -12,6 +12,8 @@ import subprocess import sys +from collections import OrderedDict + import gyp.common import gyp.easy_xml as easy_xml import gyp.generator.ninja as ninja_generator @@ -25,15 +27,7 @@ from gyp.common import GypError from gyp.common import OrderedSet -# TODO: Remove once bots are on 2.7, http://crbug.com/241769 -def _import_OrderedDict(): - import collections - try: - return collections.OrderedDict - except AttributeError: - import gyp.ordered_dict - return gyp.ordered_dict.OrderedDict -OrderedDict = _import_OrderedDict() +PY3 = bytes != str # Regular expression for validating Visual Studio GUIDs. If the GUID @@ -124,6 +118,8 @@ def _GetDomainAndUserName(): call = subprocess.Popen(['net', 'config', 'Workstation'], stdout=subprocess.PIPE) config = call.communicate()[0] + if PY3: + config = config.decode('utf-8') username_re = re.compile(r'^User name\s+(\S+)', re.MULTILINE) username_match = username_re.search(config) if username_match: @@ -175,7 +171,7 @@ def _FixPath(path): def _IsWindowsAbsPath(path): - """ + r""" On Cygwin systems Python needs a little help determining if a path is an absolute Windows path or not, so that it does not treat those as relative, which results in bad paths like: diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py index 1ad68e4fc9f072..5ecfbdf004d211 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py @@ -9,7 +9,6 @@ import gyp.generator.ninja as ninja import unittest import sys -import TestCommon class TestPrefixesAndSuffixes(unittest.TestCase): diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py index aba81cf6542e01..d1742800ac507e 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py @@ -22,6 +22,7 @@ from gyp.common import GypError from gyp.common import OrderedSet +PY3 = bytes != str # A list of types that are treated as linkable. linkable_types = [ @@ -239,7 +240,7 @@ def LoadOneBuildFile(build_file_path, data, aux_data, includes, if check: build_file_data = CheckedEval(build_file_contents) else: - build_file_data = eval(build_file_contents, {'__builtins__': None}, + build_file_data = eval(build_file_contents, {'__builtins__': {}}, None) except SyntaxError as e: e.filename = build_file_path @@ -909,6 +910,9 @@ def ExpandVariables(input, phase, variables, build_file): (e, contents, build_file)) p_stdout, p_stderr = p.communicate('') + if PY3: + p_stdout = p_stdout.decode('utf-8') + p_stderr = p_stderr.decode('utf-8') if p.wait() != 0 or p_stderr: sys.stderr.write(p_stderr) @@ -1090,7 +1094,7 @@ def EvalSingleCondition( else: ast_code = compile(cond_expr_expanded, '', 'eval') cached_conditions_asts[cond_expr_expanded] = ast_code - if eval(ast_code, {'__builtins__': None}, variables): + if eval(ast_code, {'__builtins__': {}}, variables): return true_dict return false_dict except SyntaxError as e: @@ -2282,7 +2286,7 @@ def SetUpConfigurations(target, target_dict): merged_configurations[configuration]) # Now drop all the abstract ones. - for configuration in target_dict['configurations'].keys(): + for configuration in list(target_dict['configurations']): old_configuration_dict = target_dict['configurations'][configuration] if old_configuration_dict.get('abstract'): del target_dict['configurations'][configuration] diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py index b8b7344eff85bf..222befb982a9d4 100755 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py @@ -23,6 +23,8 @@ import sys import tempfile +PY3 = bytes != str + def main(args): executor = MacTool() @@ -243,6 +245,8 @@ def ExecFilterLibtool(self, *cmd_list): env['ZERO_AR_DATE'] = '1' libtoolout = subprocess.Popen(cmd_list, stderr=subprocess.PIPE, env=env) _, err = libtoolout.communicate() + if PY3: + err = err.decode('utf-8') for line in err.splitlines(): if not libtool_re.match(line) and not libtool_re5.match(line): print(line, file=sys.stderr) diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py index 9d50bad1f558c7..9f1f547b907751 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py @@ -16,6 +16,7 @@ import gyp.MSVSUtil import gyp.MSVSVersion +PY3 = bytes != str windows_quoter_regex = re.compile(r'(\\*)"') @@ -126,7 +127,10 @@ def _FindDirectXInstallation(): # Setup params to pass to and attempt to launch reg.exe. cmd = ['reg.exe', 'query', r'HKLM\Software\Microsoft\DirectX', '/s'] p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - for line in p.communicate()[0].splitlines(): + stdout = p.communicate()[0] + if PY3: + stdout = stdout.decode('utf-8') + for line in stdout.splitlines(): if 'InstallPath' in line: dxsdk_dir = line.split(' ')[3] + "\\" @@ -1038,6 +1042,8 @@ def GenerateEnvironmentFiles(toplevel_build_dir, generator_flags, popen = subprocess.Popen( args, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) variables, _ = popen.communicate() + if PY3: + variables = variables.decode('utf-8') env = _ExtractImportantEnvironment(variables) # Inject system includes from gyp files into INCLUDE. @@ -1057,6 +1063,8 @@ def GenerateEnvironmentFiles(toplevel_build_dir, generator_flags, 'for', '%i', 'in', '(cl.exe)', 'do', '@echo', 'LOC:%~$PATH:i')) popen = subprocess.Popen(args, shell=True, stdout=subprocess.PIPE) output, _ = popen.communicate() + if PY3: + output = output.decode('utf-8') cl_paths[arch] = _ExtractCLPath(output) return cl_paths diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/ordered_dict.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/ordered_dict.py deleted file mode 100644 index 6fe9c1f6c7c22b..00000000000000 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/ordered_dict.py +++ /dev/null @@ -1,289 +0,0 @@ -# Unmodified from http://code.activestate.com/recipes/576693/ -# other than to add MIT license header (as specified on page, but not in code). -# Linked from Python documentation here: -# http://docs.python.org/2/library/collections.html#collections.OrderedDict -# -# This should be deleted once Py2.7 is available on all bots, see -# http://crbug.com/241769. -# -# Copyright (c) 2009 Raymond Hettinger. -# -# 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. - -# Backport of OrderedDict() class that runs on Python 2.4, 2.5, 2.6, 2.7 and pypy. -# Passes Python2.7's test suite and incorporates all the latest updates. - -try: - from thread import get_ident as _get_ident -except ImportError: - from dummy_thread import get_ident as _get_ident - -try: - from _abcoll import KeysView, ValuesView, ItemsView -except ImportError: - pass - - -class OrderedDict(dict): - 'Dictionary that remembers insertion order' - # An inherited dict maps keys to values. - # The inherited dict provides __getitem__, __len__, __contains__, and get. - # The remaining methods are order-aware. - # Big-O running times for all methods are the same as for regular dictionaries. - - # The internal self.__map dictionary maps keys to links in a doubly linked list. - # The circular doubly linked list starts and ends with a sentinel element. - # The sentinel element never gets deleted (this simplifies the algorithm). - # Each link is stored as a list of length three: [PREV, NEXT, KEY]. - - def __init__(self, *args, **kwds): - '''Initialize an ordered dictionary. Signature is the same as for - regular dictionaries, but keyword arguments are not recommended - because their insertion order is arbitrary. - - ''' - if len(args) > 1: - raise TypeError('expected at most 1 arguments, got %d' % len(args)) - try: - self.__root - except AttributeError: - self.__root = root = [] # sentinel node - root[:] = [root, root, None] - self.__map = {} - self.__update(*args, **kwds) - - def __setitem__(self, key, value, dict_setitem=dict.__setitem__): - 'od.__setitem__(i, y) <==> od[i]=y' - # Setting a new item creates a new link which goes at the end of the linked - # list, and the inherited dictionary is updated with the new key/value pair. - if key not in self: - root = self.__root - last = root[0] - last[1] = root[0] = self.__map[key] = [last, root, key] - dict_setitem(self, key, value) - - def __delitem__(self, key, dict_delitem=dict.__delitem__): - 'od.__delitem__(y) <==> del od[y]' - # Deleting an existing item uses self.__map to find the link which is - # then removed by updating the links in the predecessor and successor nodes. - dict_delitem(self, key) - link_prev, link_next, key = self.__map.pop(key) - link_prev[1] = link_next - link_next[0] = link_prev - - def __iter__(self): - 'od.__iter__() <==> iter(od)' - root = self.__root - curr = root[1] - while curr is not root: - yield curr[2] - curr = curr[1] - - def __reversed__(self): - 'od.__reversed__() <==> reversed(od)' - root = self.__root - curr = root[0] - while curr is not root: - yield curr[2] - curr = curr[0] - - def clear(self): - 'od.clear() -> None. Remove all items from od.' - try: - for node in self.__map.itervalues(): - del node[:] - root = self.__root - root[:] = [root, root, None] - self.__map.clear() - except AttributeError: - pass - dict.clear(self) - - def popitem(self, last=True): - '''od.popitem() -> (k, v), return and remove a (key, value) pair. - Pairs are returned in LIFO order if last is true or FIFO order if false. - - ''' - if not self: - raise KeyError('dictionary is empty') - root = self.__root - if last: - link = root[0] - link_prev = link[0] - link_prev[1] = root - root[0] = link_prev - else: - link = root[1] - link_next = link[1] - root[1] = link_next - link_next[0] = root - key = link[2] - del self.__map[key] - value = dict.pop(self, key) - return key, value - - # -- the following methods do not depend on the internal structure -- - - def keys(self): - 'od.keys() -> list of keys in od' - return list(self) - - def values(self): - 'od.values() -> list of values in od' - return [self[key] for key in self] - - def items(self): - 'od.items() -> list of (key, value) pairs in od' - return [(key, self[key]) for key in self] - - def iterkeys(self): - 'od.iterkeys() -> an iterator over the keys in od' - return iter(self) - - def itervalues(self): - 'od.itervalues -> an iterator over the values in od' - for k in self: - yield self[k] - - def items(self): - 'od.items -> an iterator over the (key, value) items in od' - for k in self: - yield (k, self[k]) - - # Suppress 'OrderedDict.update: Method has no argument': - # pylint: disable=E0211 - def update(*args, **kwds): - '''od.update(E, **F) -> None. Update od from dict/iterable E and F. - - If E is a dict instance, does: for k in E: od[k] = E[k] - If E has a .keys() method, does: for k in E.keys(): od[k] = E[k] - Or if E is an iterable of items, does: for k, v in E: od[k] = v - In either case, this is followed by: for k, v in F.items(): od[k] = v - - ''' - if len(args) > 2: - raise TypeError('update() takes at most 2 positional ' - 'arguments (%d given)' % (len(args),)) - elif not args: - raise TypeError('update() takes at least 1 argument (0 given)') - self = args[0] - # Make progressively weaker assumptions about "other" - other = () - if len(args) == 2: - other = args[1] - if isinstance(other, dict): - for key in other: - self[key] = other[key] - elif hasattr(other, 'keys'): - for key in other.keys(): - self[key] = other[key] - else: - for key, value in other: - self[key] = value - for key, value in kwds.items(): - self[key] = value - - __update = update # let subclasses override update without breaking __init__ - - __marker = object() - - def pop(self, key, default=__marker): - '''od.pop(k[,d]) -> v, remove specified key and return the corresponding value. - If key is not found, d is returned if given, otherwise KeyError is raised. - - ''' - if key in self: - result = self[key] - del self[key] - return result - if default is self.__marker: - raise KeyError(key) - return default - - def setdefault(self, key, default=None): - 'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od' - if key in self: - return self[key] - self[key] = default - return default - - def __repr__(self, _repr_running={}): - 'od.__repr__() <==> repr(od)' - call_key = id(self), _get_ident() - if call_key in _repr_running: - return '...' - _repr_running[call_key] = 1 - try: - if not self: - return '%s()' % (self.__class__.__name__,) - return '%s(%r)' % (self.__class__.__name__, self.items()) - finally: - del _repr_running[call_key] - - def __reduce__(self): - 'Return state information for pickling' - items = [[k, self[k]] for k in self] - inst_dict = vars(self).copy() - for k in vars(OrderedDict()): - inst_dict.pop(k, None) - if inst_dict: - return (self.__class__, (items,), inst_dict) - return self.__class__, (items,) - - def copy(self): - 'od.copy() -> a shallow copy of od' - return self.__class__(self) - - @classmethod - def fromkeys(cls, iterable, value=None): - '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S - and values equal to v (which defaults to None). - - ''' - d = cls() - for key in iterable: - d[key] = value - return d - - def __eq__(self, other): - '''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive - while comparison to a regular mapping is order-insensitive. - - ''' - if isinstance(other, OrderedDict): - return len(self)==len(other) and self.items() == other.items() - return dict.__eq__(self, other) - - def __ne__(self, other): - return not self == other - - # -- the following methods are only used in Python 2.7 -- - - def viewkeys(self): - "od.viewkeys() -> a set-like object providing a view on od's keys" - return KeysView(self) - - def viewvalues(self): - "od.viewvalues() -> an object providing a view on od's values" - return ValuesView(self) - - def viewitems(self): - "od.viewitems() -> a set-like object providing a view on od's items" - return ItemsView(self) - diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py index bca0b9e346a5ba..0a6daf203931e6 100755 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py @@ -20,6 +20,7 @@ import sys BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +PY3 = bytes != str # A regex matching an argument corresponding to the output filename passed to # link.exe. @@ -124,6 +125,8 @@ def ExecLinkWrapper(self, arch, use_separate_mspdbsrv, *args): stdout=subprocess.PIPE, stderr=subprocess.STDOUT) out, _ = link.communicate() + if PY3: + out = out.decode('utf-8') for line in out.splitlines(): if (not line.startswith(' Creating library ') and not line.startswith('Generating code') and @@ -215,6 +218,8 @@ def ExecManifestWrapper(self, arch, *args): popen = subprocess.Popen(args, shell=True, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) out, _ = popen.communicate() + if PY3: + out = out.decode('utf-8') for line in out.splitlines(): if line and 'manifest authoring warning 81010002' not in line: print(line) @@ -247,6 +252,8 @@ def ExecMidlWrapper(self, arch, outdir, tlb, h, dlldata, iid, proxy, idl, popen = subprocess.Popen(args, shell=True, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) out, _ = popen.communicate() + if PY3: + out = out.decode('utf-8') # Filter junk out of stdout, and write filtered versions. Output we want # to filter is pairs of lines that look like this: # Processing C:\Program Files (x86)\Microsoft SDKs\...\include\objidl.idl @@ -266,6 +273,8 @@ def ExecAsmWrapper(self, arch, *args): popen = subprocess.Popen(args, shell=True, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) out, _ = popen.communicate() + if PY3: + out = out.decode('utf-8') for line in out.splitlines(): if (not line.startswith('Copyright (C) Microsoft Corporation') and not line.startswith('Microsoft (R) Macro Assembler') and @@ -281,6 +290,8 @@ def ExecRcWrapper(self, arch, *args): popen = subprocess.Popen(args, shell=True, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) out, _ = popen.communicate() + if PY3: + out = out.decode('utf-8') for line in out.splitlines(): if (not line.startswith('Microsoft (R) Windows (R) Resource Compiler') and not line.startswith('Copyright (C) Microsoft Corporation') and diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py index 74735c033a90b1..60171649900aae 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py @@ -437,7 +437,7 @@ def _GetSdkVersionInfoItem(self, sdk, infoitem): # most sensible route and should still do the right thing. try: return GetStdoutQuiet(['xcodebuild', '-version', '-sdk', sdk, infoitem]) - except: + except GypError: pass def _SdkRoot(self, configname): @@ -855,7 +855,8 @@ def GetLdflags(self, configname, product_dir, gyp_to_build_path, arch=None): # These flags reflect the compilation options used by xcode to compile # extensions. ldflags.append('-lpkstart') - if XcodeVersion() < '0900': + xcode_version, _ = XcodeVersion() + if xcode_version < '0900': ldflags.append(sdk_root + '/System/Library/PrivateFrameworks/PlugInKit.framework/PlugInKit') ldflags.append('-fapplication-extension') @@ -1088,15 +1089,15 @@ def GetExtraPlistItems(self, configname=None): cache = {} cache['BuildMachineOSBuild'] = self._BuildMachineOSBuild() - xcode, xcode_build = XcodeVersion() - cache['DTXcode'] = xcode + xcode_version, xcode_build = XcodeVersion() + cache['DTXcode'] = xcode_version cache['DTXcodeBuild'] = xcode_build sdk_root = self._SdkRoot(configname) if not sdk_root: sdk_root = self._DefaultSdkRoot() cache['DTSDKName'] = sdk_root - if xcode >= '0430': + if xcode_version >= '0430': cache['DTSDKBuild'] = self._GetSdkVersionInfoItem( sdk_root, 'ProductBuildVersion') else: @@ -1126,7 +1127,7 @@ def _DefaultSdkRoot(self): project, then the environment variable was empty. Starting with this version, Xcode uses the name of the newest SDK installed. """ - xcode_version, xcode_build = XcodeVersion() + xcode_version, _ = XcodeVersion() if xcode_version < '0500': return '' default_sdk_path = self._XcodeSdkPath('') @@ -1135,7 +1136,7 @@ def _DefaultSdkRoot(self): return default_sdk_root try: all_sdks = GetStdout(['xcodebuild', '-showsdks']) - except: + except GypError: # If xcodebuild fails, there will be no valid SDKs return '' for line in all_sdks.splitlines(): @@ -1263,10 +1264,12 @@ def XcodeVersion(): # Xcode 3.2.6 # Component versions: DevToolsCore-1809.0; DevToolsSupport-1806.0 # BuildVersion: 10M2518 - # Convert that to '0463', '4H1503'. + # Convert that to ('0463', '4H1503') or ('0326', '10M2518'). global XCODE_VERSION_CACHE if XCODE_VERSION_CACHE: return XCODE_VERSION_CACHE + version = "" + build = "" try: version_list = GetStdoutQuiet(['xcodebuild', '-version']).splitlines() # In some circumstances xcodebuild exits 0 but doesn't return @@ -1276,21 +1279,16 @@ def XcodeVersion(): # checking that version. if len(version_list) < 2: raise GypError("xcodebuild returned unexpected results") - except: - version = CLTVersion() - if version: - version = ".".join(version.split(".")[:3]) - else: + version = version_list[0].split()[-1] # Last word on first line + build = version_list[-1].split()[-1] # Last word on last line + except GypError: # Xcode not installed so look for XCode Command Line Tools + version = CLTVersion() # macOS Catalina returns 11.0.0.0.1.1567737322 + if not version: raise GypError("No Xcode or CLT version detected!") - # The CLT has no build information, so we return an empty string. - version_list = [version, ''] - version = version_list[0] - build = version_list[-1] - # Be careful to convert "4.2" to "0420" and "10.0" to "1000": - version = format(''.join((version.split()[-1].split('.') + ['0', '0'])[:3]), - '>04s') - if build: - build = build.split()[-1] + # Be careful to convert "4.2.3" to "0423" and "11.0.0" to "1100": + version = version.split(".")[:3] # Just major, minor, micro + version[0] = version[0].zfill(2) # Add a leading zero if major is one digit + version = ("".join(version) + "00")[:4] # Limit to exactly four characters XCODE_VERSION_CACHE = (version, build) return XCODE_VERSION_CACHE @@ -1314,7 +1312,7 @@ def CLTVersion(): try: output = GetStdout(['/usr/sbin/pkgutil', '--pkg-info', key]) return re.search(regex, output).groupdict()['version'] - except: + except GypError: continue @@ -1524,7 +1522,8 @@ def _GetXcodeEnv(xcode_settings, built_products_dir, srcroot, configuration, install_name_base = xcode_settings.GetInstallNameBase() if install_name_base: env['DYLIB_INSTALL_NAME_BASE'] = install_name_base - if XcodeVersion() >= '0500' and not env.get('SDKROOT'): + xcode_version, _ = XcodeVersion() + if xcode_version >= '0500' and not env.get('SDKROOT'): sdk_root = xcode_settings._SdkRoot(configuration) if not sdk_root: sdk_root = xcode_settings._XcodeSdkPath('') diff --git a/deps/npm/node_modules/node-gyp/lib/Find-VisualStudio.cs b/deps/npm/node_modules/node-gyp/lib/Find-VisualStudio.cs index 0a533f42d6a4ff..d2e45a76275f53 100644 --- a/deps/npm/node_modules/node-gyp/lib/Find-VisualStudio.cs +++ b/deps/npm/node_modules/node-gyp/lib/Find-VisualStudio.cs @@ -205,7 +205,14 @@ public static void PrintJson() return; } - instances.Add(InstanceJson(rgelt[0])); + try + { + instances.Add(InstanceJson(rgelt[0])); + } + catch (COMException) + { + // Ignore instances that can't be queried. + } } } diff --git a/deps/npm/node_modules/node-gyp/lib/find-python.js b/deps/npm/node_modules/node-gyp/lib/find-python.js index e79bc50d5a1d54..fabc4630f15d44 100644 --- a/deps/npm/node_modules/node-gyp/lib/find-python.js +++ b/deps/npm/node_modules/node-gyp/lib/find-python.js @@ -226,7 +226,7 @@ PythonFinder.prototype = { } this.addLog(`- version is "${version}"`) - const range = semver.Range(this.semverRange) + const range = new semver.Range(this.semverRange) var valid = false try { valid = range.test(version) diff --git a/deps/npm/node_modules/node-gyp/lib/install.js b/deps/npm/node_modules/node-gyp/lib/install.js index b8705328806661..c919c1058811ee 100644 --- a/deps/npm/node_modules/node-gyp/lib/install.js +++ b/deps/npm/node_modules/node-gyp/lib/install.js @@ -11,6 +11,7 @@ const request = require('request') const mkdir = require('mkdirp') const processRelease = require('./process-release') const win = process.platform === 'win32' +const getProxyFromURI = require('./proxy') function install (fs, gyp, argv, callback) { var release = processRelease(argv, gyp, process.version, process.release) @@ -224,8 +225,8 @@ function install (fs, gyp, argv, callback) { var installVersionPath = path.resolve(devDir, 'installVersion') fs.writeFile(installVersionPath, gyp.package.installVersion + '\n', deref) - // Only download SHASUMS.txt if not using tarPath override - if (!tarPath) { + // Only download SHASUMS.txt if we downloaded something in need of SHA verification + if (!tarPath || win) { // download SHASUMS.txt async++ downloadShasums(deref) @@ -323,7 +324,7 @@ function install (fs, gyp, argv, callback) { req.on('error', done) req.on('response', function (res) { - if (res.statusCode === 404) { + if (res.statusCode === 403 || res.statusCode === 404) { if (arch === 'arm64') { // Arm64 is a newer platform on Windows and not all node distributions provide it. log.verbose(`${name} was not found in ${libUrl}`) @@ -410,10 +411,7 @@ function download (gyp, env, url) { } // basic support for a proxy server - var proxyUrl = gyp.opts.proxy || - env.http_proxy || - env.HTTP_PROXY || - env.npm_config_proxy + var proxyUrl = getProxyFromURI(gyp, env, url) if (proxyUrl) { if (/^https?:\/\//i.test(proxyUrl)) { log.verbose('download', 'using proxy url: "%s"', proxyUrl) diff --git a/deps/npm/node_modules/node-gyp/lib/node-gyp.js b/deps/npm/node_modules/node-gyp/lib/node-gyp.js index 9d24103900f702..81fc590919ba8e 100644 --- a/deps/npm/node_modules/node-gyp/lib/node-gyp.js +++ b/deps/npm/node_modules/node-gyp/lib/node-gyp.js @@ -67,6 +67,7 @@ proto.configDefs = { ensure: Boolean, // 'install' solution: String, // 'build' (windows only) proxy: String, // 'install' + noproxy: String, // 'install' devdir: String, // everywhere nodedir: String, // 'configure' loglevel: String, // everywhere diff --git a/deps/npm/node_modules/node-gyp/lib/proxy.js b/deps/npm/node_modules/node-gyp/lib/proxy.js new file mode 100644 index 00000000000000..92d9ed2f7f0855 --- /dev/null +++ b/deps/npm/node_modules/node-gyp/lib/proxy.js @@ -0,0 +1,92 @@ +'use strict' +// Taken from https://github.com/request/request/blob/212570b/lib/getProxyFromURI.js + +const url = require('url') + +function formatHostname (hostname) { + // canonicalize the hostname, so that 'oogle.com' won't match 'google.com' + return hostname.replace(/^\.*/, '.').toLowerCase() +} + +function parseNoProxyZone (zone) { + zone = zone.trim().toLowerCase() + + var zoneParts = zone.split(':', 2) + var zoneHost = formatHostname(zoneParts[0]) + var zonePort = zoneParts[1] + var hasPort = zone.indexOf(':') > -1 + + return { hostname: zoneHost, port: zonePort, hasPort: hasPort } +} + +function uriInNoProxy (uri, noProxy) { + var port = uri.port || (uri.protocol === 'https:' ? '443' : '80') + var hostname = formatHostname(uri.hostname) + var noProxyList = noProxy.split(',') + + // iterate through the noProxyList until it finds a match. + return noProxyList.map(parseNoProxyZone).some(function (noProxyZone) { + var isMatchedAt = hostname.indexOf(noProxyZone.hostname) + var hostnameMatched = ( + isMatchedAt > -1 && + (isMatchedAt === hostname.length - noProxyZone.hostname.length) + ) + + if (noProxyZone.hasPort) { + return (port === noProxyZone.port) && hostnameMatched + } + + return hostnameMatched + }) +} + +function getProxyFromURI (gyp, env, uri) { + // If a string URI/URL was given, parse it into a URL object + if (typeof uri === 'string') { + // eslint-disable-next-line + uri = url.parse(uri) + } + + // Decide the proper request proxy to use based on the request URI object and the + // environmental variables (NO_PROXY, HTTP_PROXY, etc.) + // respect NO_PROXY environment variables (see: https://lynx.invisible-island.net/lynx2.8.7/breakout/lynx_help/keystrokes/environments.html) + + var noProxy = gyp.opts.noproxy || env.NO_PROXY || env.no_proxy || env.npm_config_noproxy || '' + + // if the noProxy is a wildcard then return null + + if (noProxy === '*') { + return null + } + + // if the noProxy is not empty and the uri is found return null + + if (noProxy !== '' && uriInNoProxy(uri, noProxy)) { + return null + } + + // Check for HTTP or HTTPS Proxy in environment Else default to null + + if (uri.protocol === 'http:') { + return gyp.opts.proxy || + env.HTTP_PROXY || + env.http_proxy || + env.npm_config_proxy || null + } + + if (uri.protocol === 'https:') { + return gyp.opts.proxy || + env.HTTPS_PROXY || + env.https_proxy || + env.HTTP_PROXY || + env.http_proxy || + env.npm_config_proxy || null + } + + // if none of that works, return null + // (What uri protocol are you using then?) + + return null +} + +module.exports = getProxyFromURI diff --git a/deps/npm/node_modules/node-gyp/macOS_Catalina.md b/deps/npm/node_modules/node-gyp/macOS_Catalina.md new file mode 100644 index 00000000000000..d948f76caa074d --- /dev/null +++ b/deps/npm/node_modules/node-gyp/macOS_Catalina.md @@ -0,0 +1,83 @@ +# Installation notes for macOS Catalina (v10.15) + +_This document specifically refers to upgrades from previous versions of macOS to Catalina (10.15). It should be removed from the source repository when Catalina ceases to be the latest macOS version or when future Catalina versions no longer raise these issues._ + +**Upgrading to macOS Catalina may cause normal `node-gyp` installations to fail.** + +### Is my Mac running macOS Catalina? +Let's first make sure that your Mac is running Catalina: +``` +% sw_vers + ProductName: Mac OS X + ProductVersion: 10.15 + BuildVersion: 19A602 +``` +If `ProductVersion` is less then `10.15` then this document is not for you. Normal install docs for `node-gyp` on macOS can be found at https://github.com/nodejs/node-gyp#on-macos + + +### The acid test +To see if `Xcode Command Line Tools` is installed in a way that will work with `node-gyp`, run: +1. `/usr/sbin/pkgutil --packages | grep CL` + * `com.apple.pkg.CLTools_Executables` should be listed. If it isn't, this test failed. +2. `/usr/sbin/pkgutil --pkg-info com.apple.pkg.CLTools_Executables` + * `version: 11.0.0` (or later) should be listed. If it isn't, this test failed. + +If both tests succeeded, _you are done_! You should be ready to install `node-gyp`. + +If either test failed, there is a problem with your Xcode Command Line Tools installation. [Continue to Solutions](#Solutions). + +### Solutions +There are three ways to install the Xcode libraries `node-gyp` needs on macOS. People running Catalina have had success with some but not others in a way that has been unpredictable. + +1. With the full Xcode (~7.6 GB download) from the `App Store` app. +2. With the _much_ smaller Xcode Command Line Tools via `xcode-select --install` +3. With the _much_ smaller Xcode Command Line Tools via manual download. **For people running the latest version of Catalina (10.15.2 at the time of this writing), this has worked when the other two solutions haven't.** + +### Installing `node-gyp` using the full Xcode +1. `xcodebuild -version` should show `Xcode 11.1` or later. + * If not, then install/upgrade Xcode from the App Store app. +2. Open the Xcode app and... + * Under __Preferences > Locations__ select the tools if their location is empty. + * Allow Xcode app to do an essential install of the most recent compiler tools. +3. Once all installations are _complete_, quit out of Xcode. +4. `sudo xcodebuild -license accept` # If you agree with the licensing terms. +5. `softwareupdate -l` # No listing is a good sign. + * If Xcode or Tools upgrades are listed, use "Software Upgrade" to install them. +6. `xcode-select -version` # Should return `xcode-select version 2370` or later. +7. `xcode-select -print-path` # Should return `/Applications/Xcode.app/Contents/Developer` +8. Try the [_acid test_ steps above](#The-acid-test) to see if your Mac is ready. +9. If the _acid test_ does _not_ pass then... +10. `sudo xcode-select --reset` # Enter root password. No output is normal. +11. Repeat step 7 above. Is the path different this time? Repeat the _acid test_. + +### Installing `node-gyp` using the Xcode Command Line Tools via `xcode-select --install` +1. If the _acid test_ has not succeeded, then try `xcode-select --install` +2. Wait until the install process is _complete_. +3. `softwareupdate -l` # No listing is a good sign. + * If Xcode or Tools upgrades are listed, use "Software Update" to install them. +4. `xcode-select -version` # Should return `xcode-select version 2370` or later. +5. `xcode-select -print-path` # Should return `/Library/Developer/CommandLineTools` +6. Try the [_acid test_ steps above](#The-acid-test) to see if your Mac is ready. +7. If the _acid test_ does _not_ pass then... +8. `sudo xcode-select --reset` # Enter root password. No output is normal. +9. Repeat step 5 above. Is the path different this time? Repeat the _acid test_. + +### Installing `node-gyp` using the Xcode Command Line Tools via manual download +1. Download the appropriate version of the "Command Line Tools for Xcode" for your version of Catalina from developer.apple.com/download. As of MacOS 10.15.2, that's Command_Line_Tools_for_Xcode_11.3.dmg +2. Install the package. +3. Run the _acid test_. + +### I did all that and the acid test still does not pass :-( +1. `sudo rm -rf $(xcode-select -print-path)` # Enter root password. No output is normal. +2. `xcode-select --install` +3. If the [_acid test_](#The-acid-test) still does _not_ pass then... +4. `npm explore npm -g -- npm install node-gyp@latest` +5. `npm explore npm -g -- npm explore npm-lifecycle -- npm install node-gyp@latest` +6. If the _acid test_ still does _not_ pass then... +7. Add a comment to https://github.com/nodejs/node-gyp/issues/1927 so we can improve. + +Lessons learned from: +* https://github.com/nodejs/node-gyp/issues/1779 +* https://github.com/nodejs/node-gyp/issues/1861 +* https://github.com/nodejs/node-gyp/issues/1927 and elsewhere +* Thanks to @rrrix for discovering Solution 3 diff --git a/deps/npm/node_modules/node-gyp/node_modules/nopt/.npmignore b/deps/npm/node_modules/node-gyp/node_modules/nopt/.npmignore deleted file mode 100644 index 3c3629e647f5dd..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/nopt/.npmignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/deps/npm/node_modules/node-gyp/node_modules/nopt/.travis.yml b/deps/npm/node_modules/node-gyp/node_modules/nopt/.travis.yml deleted file mode 100644 index 99f2bbf5068a8c..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/nopt/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: node_js -language: node_js -node_js: - - '0.8' - - '0.10' - - '0.12' - - 'iojs' -before_install: - - npm install -g npm@latest diff --git a/deps/npm/node_modules/node-gyp/node_modules/nopt/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/nopt/LICENSE deleted file mode 100644 index 19129e315fe593..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/nopt/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/node-gyp/node_modules/nopt/README.md b/deps/npm/node_modules/node-gyp/node_modules/nopt/README.md deleted file mode 100644 index f21a4b31c5d482..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/nopt/README.md +++ /dev/null @@ -1,211 +0,0 @@ -If you want to write an option parser, and have it be good, there are -two ways to do it. The Right Way, and the Wrong Way. - -The Wrong Way is to sit down and write an option parser. We've all done -that. - -The Right Way is to write some complex configurable program with so many -options that you hit the limit of your frustration just trying to -manage them all, and defer it with duct-tape solutions until you see -exactly to the core of the problem, and finally snap and write an -awesome option parser. - -If you want to write an option parser, don't write an option parser. -Write a package manager, or a source control system, or a service -restarter, or an operating system. You probably won't end up with a -good one of those, but if you don't give up, and you are relentless and -diligent enough in your procrastination, you may just end up with a very -nice option parser. - -## USAGE - - // my-program.js - var nopt = require("nopt") - , Stream = require("stream").Stream - , path = require("path") - , knownOpts = { "foo" : [String, null] - , "bar" : [Stream, Number] - , "baz" : path - , "bloo" : [ "big", "medium", "small" ] - , "flag" : Boolean - , "pick" : Boolean - , "many1" : [String, Array] - , "many2" : [path] - } - , shortHands = { "foofoo" : ["--foo", "Mr. Foo"] - , "b7" : ["--bar", "7"] - , "m" : ["--bloo", "medium"] - , "p" : ["--pick"] - , "f" : ["--flag"] - } - // everything is optional. - // knownOpts and shorthands default to {} - // arg list defaults to process.argv - // slice defaults to 2 - , parsed = nopt(knownOpts, shortHands, process.argv, 2) - console.log(parsed) - -This would give you support for any of the following: - -```bash -$ node my-program.js --foo "blerp" --no-flag -{ "foo" : "blerp", "flag" : false } - -$ node my-program.js ---bar 7 --foo "Mr. Hand" --flag -{ bar: 7, foo: "Mr. Hand", flag: true } - -$ node my-program.js --foo "blerp" -f -----p -{ foo: "blerp", flag: true, pick: true } - -$ node my-program.js -fp --foofoo -{ foo: "Mr. Foo", flag: true, pick: true } - -$ node my-program.js --foofoo -- -fp # -- stops the flag parsing. -{ foo: "Mr. Foo", argv: { remain: ["-fp"] } } - -$ node my-program.js --blatzk -fp # unknown opts are ok. -{ blatzk: true, flag: true, pick: true } - -$ node my-program.js --blatzk=1000 -fp # but you need to use = if they have a value -{ blatzk: 1000, flag: true, pick: true } - -$ node my-program.js --no-blatzk -fp # unless they start with "no-" -{ blatzk: false, flag: true, pick: true } - -$ node my-program.js --baz b/a/z # known paths are resolved. -{ baz: "/Users/isaacs/b/a/z" } - -# if Array is one of the types, then it can take many -# values, and will always be an array. The other types provided -# specify what types are allowed in the list. - -$ node my-program.js --many1 5 --many1 null --many1 foo -{ many1: ["5", "null", "foo"] } - -$ node my-program.js --many2 foo --many2 bar -{ many2: ["/path/to/foo", "path/to/bar"] } -``` - -Read the tests at the bottom of `lib/nopt.js` for more examples of -what this puppy can do. - -## Types - -The following types are supported, and defined on `nopt.typeDefs` - -* String: A normal string. No parsing is done. -* path: A file system path. Gets resolved against cwd if not absolute. -* url: A url. If it doesn't parse, it isn't accepted. -* Number: Must be numeric. -* Date: Must parse as a date. If it does, and `Date` is one of the options, - then it will return a Date object, not a string. -* Boolean: Must be either `true` or `false`. If an option is a boolean, - then it does not need a value, and its presence will imply `true` as - the value. To negate boolean flags, do `--no-whatever` or `--whatever - false` -* NaN: Means that the option is strictly not allowed. Any value will - fail. -* Stream: An object matching the "Stream" class in node. Valuable - for use when validating programmatically. (npm uses this to let you - supply any WriteStream on the `outfd` and `logfd` config options.) -* Array: If `Array` is specified as one of the types, then the value - will be parsed as a list of options. This means that multiple values - can be specified, and that the value will always be an array. - -If a type is an array of values not on this list, then those are -considered valid values. For instance, in the example above, the -`--bloo` option can only be one of `"big"`, `"medium"`, or `"small"`, -and any other value will be rejected. - -When parsing unknown fields, `"true"`, `"false"`, and `"null"` will be -interpreted as their JavaScript equivalents. - -You can also mix types and values, or multiple types, in a list. For -instance `{ blah: [Number, null] }` would allow a value to be set to -either a Number or null. When types are ordered, this implies a -preference, and the first type that can be used to properly interpret -the value will be used. - -To define a new type, add it to `nopt.typeDefs`. Each item in that -hash is an object with a `type` member and a `validate` method. The -`type` member is an object that matches what goes in the type list. The -`validate` method is a function that gets called with `validate(data, -key, val)`. Validate methods should assign `data[key]` to the valid -value of `val` if it can be handled properly, or return boolean -`false` if it cannot. - -You can also call `nopt.clean(data, types, typeDefs)` to clean up a -config object and remove its invalid properties. - -## Error Handling - -By default, nopt outputs a warning to standard error when invalid values for -known options are found. You can change this behavior by assigning a method -to `nopt.invalidHandler`. This method will be called with -the offending `nopt.invalidHandler(key, val, types)`. - -If no `nopt.invalidHandler` is assigned, then it will console.error -its whining. If it is assigned to boolean `false` then the warning is -suppressed. - -## Abbreviations - -Yes, they are supported. If you define options like this: - -```javascript -{ "foolhardyelephants" : Boolean -, "pileofmonkeys" : Boolean } -``` - -Then this will work: - -```bash -node program.js --foolhar --pil -node program.js --no-f --pileofmon -# etc. -``` - -## Shorthands - -Shorthands are a hash of shorter option names to a snippet of args that -they expand to. - -If multiple one-character shorthands are all combined, and the -combination does not unambiguously match any other option or shorthand, -then they will be broken up into their constituent parts. For example: - -```json -{ "s" : ["--loglevel", "silent"] -, "g" : "--global" -, "f" : "--force" -, "p" : "--parseable" -, "l" : "--long" -} -``` - -```bash -npm ls -sgflp -# just like doing this: -npm ls --loglevel silent --global --force --long --parseable -``` - -## The Rest of the args - -The config object returned by nopt is given a special member called -`argv`, which is an object with the following fields: - -* `remain`: The remaining args after all the parsing has occurred. -* `original`: The args as they originally appeared. -* `cooked`: The args after flags and shorthands are expanded. - -## Slicing - -Node programs are called with more or less the exact argv as it appears -in C land, after the v8 and node-specific options have been plucked off. -As such, `argv[0]` is always `node` and `argv[1]` is always the -JavaScript program being run. - -That's usually not very useful to you. So they're sliced off by -default. If you want them, then you can pass in `0` as the last -argument, or any other number that you'd like to slice off the start of -the list. diff --git a/deps/npm/node_modules/node-gyp/node_modules/nopt/bin/nopt.js b/deps/npm/node_modules/node-gyp/node_modules/nopt/bin/nopt.js deleted file mode 100755 index 3232d4c570fdcb..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/nopt/bin/nopt.js +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env node -var nopt = require("../lib/nopt") - , path = require("path") - , types = { num: Number - , bool: Boolean - , help: Boolean - , list: Array - , "num-list": [Number, Array] - , "str-list": [String, Array] - , "bool-list": [Boolean, Array] - , str: String - , clear: Boolean - , config: Boolean - , length: Number - , file: path - } - , shorthands = { s: [ "--str", "astring" ] - , b: [ "--bool" ] - , nb: [ "--no-bool" ] - , tft: [ "--bool-list", "--no-bool-list", "--bool-list", "true" ] - , "?": ["--help"] - , h: ["--help"] - , H: ["--help"] - , n: [ "--num", "125" ] - , c: ["--config"] - , l: ["--length"] - , f: ["--file"] - } - , parsed = nopt( types - , shorthands - , process.argv - , 2 ) - -console.log("parsed", parsed) - -if (parsed.help) { - console.log("") - console.log("nopt cli tester") - console.log("") - console.log("types") - console.log(Object.keys(types).map(function M (t) { - var type = types[t] - if (Array.isArray(type)) { - return [t, type.map(function (type) { return type.name })] - } - return [t, type && type.name] - }).reduce(function (s, i) { - s[i[0]] = i[1] - return s - }, {})) - console.log("") - console.log("shorthands") - console.log(shorthands) -} diff --git a/deps/npm/node_modules/node-gyp/node_modules/nopt/examples/my-program.js b/deps/npm/node_modules/node-gyp/node_modules/nopt/examples/my-program.js deleted file mode 100755 index 142447e18e756c..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/nopt/examples/my-program.js +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env node - -//process.env.DEBUG_NOPT = 1 - -// my-program.js -var nopt = require("../lib/nopt") - , Stream = require("stream").Stream - , path = require("path") - , knownOpts = { "foo" : [String, null] - , "bar" : [Stream, Number] - , "baz" : path - , "bloo" : [ "big", "medium", "small" ] - , "flag" : Boolean - , "pick" : Boolean - } - , shortHands = { "foofoo" : ["--foo", "Mr. Foo"] - , "b7" : ["--bar", "7"] - , "m" : ["--bloo", "medium"] - , "p" : ["--pick"] - , "f" : ["--flag", "true"] - , "g" : ["--flag"] - , "s" : "--flag" - } - // everything is optional. - // knownOpts and shorthands default to {} - // arg list defaults to process.argv - // slice defaults to 2 - , parsed = nopt(knownOpts, shortHands, process.argv, 2) - -console.log("parsed =\n"+ require("util").inspect(parsed)) diff --git a/deps/npm/node_modules/node-gyp/node_modules/nopt/lib/nopt.js b/deps/npm/node_modules/node-gyp/node_modules/nopt/lib/nopt.js deleted file mode 100644 index 97707e784243bc..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/nopt/lib/nopt.js +++ /dev/null @@ -1,415 +0,0 @@ -// info about each config option. - -var debug = process.env.DEBUG_NOPT || process.env.NOPT_DEBUG - ? function () { console.error.apply(console, arguments) } - : function () {} - -var url = require("url") - , path = require("path") - , Stream = require("stream").Stream - , abbrev = require("abbrev") - -module.exports = exports = nopt -exports.clean = clean - -exports.typeDefs = - { String : { type: String, validate: validateString } - , Boolean : { type: Boolean, validate: validateBoolean } - , url : { type: url, validate: validateUrl } - , Number : { type: Number, validate: validateNumber } - , path : { type: path, validate: validatePath } - , Stream : { type: Stream, validate: validateStream } - , Date : { type: Date, validate: validateDate } - } - -function nopt (types, shorthands, args, slice) { - args = args || process.argv - types = types || {} - shorthands = shorthands || {} - if (typeof slice !== "number") slice = 2 - - debug(types, shorthands, args, slice) - - args = args.slice(slice) - var data = {} - , key - , remain = [] - , cooked = args - , original = args.slice(0) - - parse(args, data, remain, types, shorthands) - // now data is full - clean(data, types, exports.typeDefs) - data.argv = {remain:remain,cooked:cooked,original:original} - Object.defineProperty(data.argv, 'toString', { value: function () { - return this.original.map(JSON.stringify).join(" ") - }, enumerable: false }) - return data -} - -function clean (data, types, typeDefs) { - typeDefs = typeDefs || exports.typeDefs - var remove = {} - , typeDefault = [false, true, null, String, Array] - - Object.keys(data).forEach(function (k) { - if (k === "argv") return - var val = data[k] - , isArray = Array.isArray(val) - , type = types[k] - if (!isArray) val = [val] - if (!type) type = typeDefault - if (type === Array) type = typeDefault.concat(Array) - if (!Array.isArray(type)) type = [type] - - debug("val=%j", val) - debug("types=", type) - val = val.map(function (val) { - // if it's an unknown value, then parse false/true/null/numbers/dates - if (typeof val === "string") { - debug("string %j", val) - val = val.trim() - if ((val === "null" && ~type.indexOf(null)) - || (val === "true" && - (~type.indexOf(true) || ~type.indexOf(Boolean))) - || (val === "false" && - (~type.indexOf(false) || ~type.indexOf(Boolean)))) { - val = JSON.parse(val) - debug("jsonable %j", val) - } else if (~type.indexOf(Number) && !isNaN(val)) { - debug("convert to number", val) - val = +val - } else if (~type.indexOf(Date) && !isNaN(Date.parse(val))) { - debug("convert to date", val) - val = new Date(val) - } - } - - if (!types.hasOwnProperty(k)) { - return val - } - - // allow `--no-blah` to set 'blah' to null if null is allowed - if (val === false && ~type.indexOf(null) && - !(~type.indexOf(false) || ~type.indexOf(Boolean))) { - val = null - } - - var d = {} - d[k] = val - debug("prevalidated val", d, val, types[k]) - if (!validate(d, k, val, types[k], typeDefs)) { - if (exports.invalidHandler) { - exports.invalidHandler(k, val, types[k], data) - } else if (exports.invalidHandler !== false) { - debug("invalid: "+k+"="+val, types[k]) - } - return remove - } - debug("validated val", d, val, types[k]) - return d[k] - }).filter(function (val) { return val !== remove }) - - if (!val.length) delete data[k] - else if (isArray) { - debug(isArray, data[k], val) - data[k] = val - } else data[k] = val[0] - - debug("k=%s val=%j", k, val, data[k]) - }) -} - -function validateString (data, k, val) { - data[k] = String(val) -} - -function validatePath (data, k, val) { - if (val === true) return false - if (val === null) return true - - val = String(val) - var homePattern = process.platform === 'win32' ? /^~(\/|\\)/ : /^~\// - if (val.match(homePattern) && process.env.HOME) { - val = path.resolve(process.env.HOME, val.substr(2)) - } - data[k] = path.resolve(String(val)) - return true -} - -function validateNumber (data, k, val) { - debug("validate Number %j %j %j", k, val, isNaN(val)) - if (isNaN(val)) return false - data[k] = +val -} - -function validateDate (data, k, val) { - debug("validate Date %j %j %j", k, val, Date.parse(val)) - var s = Date.parse(val) - if (isNaN(s)) return false - data[k] = new Date(val) -} - -function validateBoolean (data, k, val) { - if (val instanceof Boolean) val = val.valueOf() - else if (typeof val === "string") { - if (!isNaN(val)) val = !!(+val) - else if (val === "null" || val === "false") val = false - else val = true - } else val = !!val - data[k] = val -} - -function validateUrl (data, k, val) { - val = url.parse(String(val)) - if (!val.host) return false - data[k] = val.href -} - -function validateStream (data, k, val) { - if (!(val instanceof Stream)) return false - data[k] = val -} - -function validate (data, k, val, type, typeDefs) { - // arrays are lists of types. - if (Array.isArray(type)) { - for (var i = 0, l = type.length; i < l; i ++) { - if (type[i] === Array) continue - if (validate(data, k, val, type[i], typeDefs)) return true - } - delete data[k] - return false - } - - // an array of anything? - if (type === Array) return true - - // NaN is poisonous. Means that something is not allowed. - if (type !== type) { - debug("Poison NaN", k, val, type) - delete data[k] - return false - } - - // explicit list of values - if (val === type) { - debug("Explicitly allowed %j", val) - // if (isArray) (data[k] = data[k] || []).push(val) - // else data[k] = val - data[k] = val - return true - } - - // now go through the list of typeDefs, validate against each one. - var ok = false - , types = Object.keys(typeDefs) - for (var i = 0, l = types.length; i < l; i ++) { - debug("test type %j %j %j", k, val, types[i]) - var t = typeDefs[types[i]] - if (t && - ((type && type.name && t.type && t.type.name) ? (type.name === t.type.name) : (type === t.type))) { - var d = {} - ok = false !== t.validate(d, k, val) - val = d[k] - if (ok) { - // if (isArray) (data[k] = data[k] || []).push(val) - // else data[k] = val - data[k] = val - break - } - } - } - debug("OK? %j (%j %j %j)", ok, k, val, types[i]) - - if (!ok) delete data[k] - return ok -} - -function parse (args, data, remain, types, shorthands) { - debug("parse", args, data, remain) - - var key = null - , abbrevs = abbrev(Object.keys(types)) - , shortAbbr = abbrev(Object.keys(shorthands)) - - for (var i = 0; i < args.length; i ++) { - var arg = args[i] - debug("arg", arg) - - if (arg.match(/^-{2,}$/)) { - // done with keys. - // the rest are args. - remain.push.apply(remain, args.slice(i + 1)) - args[i] = "--" - break - } - var hadEq = false - if (arg.charAt(0) === "-" && arg.length > 1) { - if (arg.indexOf("=") !== -1) { - hadEq = true - var v = arg.split("=") - arg = v.shift() - v = v.join("=") - args.splice.apply(args, [i, 1].concat([arg, v])) - } - - // see if it's a shorthand - // if so, splice and back up to re-parse it. - var shRes = resolveShort(arg, shorthands, shortAbbr, abbrevs) - debug("arg=%j shRes=%j", arg, shRes) - if (shRes) { - debug(arg, shRes) - args.splice.apply(args, [i, 1].concat(shRes)) - if (arg !== shRes[0]) { - i -- - continue - } - } - arg = arg.replace(/^-+/, "") - var no = null - while (arg.toLowerCase().indexOf("no-") === 0) { - no = !no - arg = arg.substr(3) - } - - if (abbrevs[arg]) arg = abbrevs[arg] - - var isArray = types[arg] === Array || - Array.isArray(types[arg]) && types[arg].indexOf(Array) !== -1 - - // allow unknown things to be arrays if specified multiple times. - if (!types.hasOwnProperty(arg) && data.hasOwnProperty(arg)) { - if (!Array.isArray(data[arg])) - data[arg] = [data[arg]] - isArray = true - } - - var val - , la = args[i + 1] - - var isBool = typeof no === 'boolean' || - types[arg] === Boolean || - Array.isArray(types[arg]) && types[arg].indexOf(Boolean) !== -1 || - (typeof types[arg] === 'undefined' && !hadEq) || - (la === "false" && - (types[arg] === null || - Array.isArray(types[arg]) && ~types[arg].indexOf(null))) - - if (isBool) { - // just set and move along - val = !no - // however, also support --bool true or --bool false - if (la === "true" || la === "false") { - val = JSON.parse(la) - la = null - if (no) val = !val - i ++ - } - - // also support "foo":[Boolean, "bar"] and "--foo bar" - if (Array.isArray(types[arg]) && la) { - if (~types[arg].indexOf(la)) { - // an explicit type - val = la - i ++ - } else if ( la === "null" && ~types[arg].indexOf(null) ) { - // null allowed - val = null - i ++ - } else if ( !la.match(/^-{2,}[^-]/) && - !isNaN(la) && - ~types[arg].indexOf(Number) ) { - // number - val = +la - i ++ - } else if ( !la.match(/^-[^-]/) && ~types[arg].indexOf(String) ) { - // string - val = la - i ++ - } - } - - if (isArray) (data[arg] = data[arg] || []).push(val) - else data[arg] = val - - continue - } - - if (types[arg] === String && la === undefined) - la = "" - - if (la && la.match(/^-{2,}$/)) { - la = undefined - i -- - } - - val = la === undefined ? true : la - if (isArray) (data[arg] = data[arg] || []).push(val) - else data[arg] = val - - i ++ - continue - } - remain.push(arg) - } -} - -function resolveShort (arg, shorthands, shortAbbr, abbrevs) { - // handle single-char shorthands glommed together, like - // npm ls -glp, but only if there is one dash, and only if - // all of the chars are single-char shorthands, and it's - // not a match to some other abbrev. - arg = arg.replace(/^-+/, '') - - // if it's an exact known option, then don't go any further - if (abbrevs[arg] === arg) - return null - - // if it's an exact known shortopt, same deal - if (shorthands[arg]) { - // make it an array, if it's a list of words - if (shorthands[arg] && !Array.isArray(shorthands[arg])) - shorthands[arg] = shorthands[arg].split(/\s+/) - - return shorthands[arg] - } - - // first check to see if this arg is a set of single-char shorthands - var singles = shorthands.___singles - if (!singles) { - singles = Object.keys(shorthands).filter(function (s) { - return s.length === 1 - }).reduce(function (l,r) { - l[r] = true - return l - }, {}) - shorthands.___singles = singles - debug('shorthand singles', singles) - } - - var chrs = arg.split("").filter(function (c) { - return singles[c] - }) - - if (chrs.join("") === arg) return chrs.map(function (c) { - return shorthands[c] - }).reduce(function (l, r) { - return l.concat(r) - }, []) - - - // if it's an arg abbrev, and not a literal shorthand, then prefer the arg - if (abbrevs[arg] && !shorthands[arg]) - return null - - // if it's an abbr for a shorthand, then use that - if (shortAbbr[arg]) - arg = shortAbbr[arg] - - // make it an array, if it's a list of words - if (shorthands[arg] && !Array.isArray(shorthands[arg])) - shorthands[arg] = shorthands[arg].split(/\s+/) - - return shorthands[arg] -} diff --git a/deps/npm/node_modules/node-gyp/node_modules/nopt/package.json b/deps/npm/node_modules/node-gyp/node_modules/nopt/package.json deleted file mode 100644 index 5179f473b1bbd4..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/nopt/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "_from": "nopt@2 || 3", - "_id": "nopt@3.0.6", - "_inBundle": false, - "_integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "_location": "/node-gyp/nopt", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "nopt@2 || 3", - "name": "nopt", - "escapedName": "nopt", - "rawSpec": "2 || 3", - "saveSpec": null, - "fetchSpec": "2 || 3" - }, - "_requiredBy": [ - "/node-gyp" - ], - "_resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "_shasum": "c6465dbf08abcd4db359317f79ac68a646b28ff9", - "_spec": "nopt@2 || 3", - "_where": "/Users/rebecca/code/npm/node_modules/node-gyp", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bin": { - "nopt": "./bin/nopt.js" - }, - "bugs": { - "url": "https://github.com/npm/nopt/issues" - }, - "bundleDependencies": false, - "dependencies": { - "abbrev": "1" - }, - "deprecated": false, - "description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.", - "devDependencies": { - "tap": "^1.2.0" - }, - "homepage": "https://github.com/npm/nopt#readme", - "license": "ISC", - "main": "lib/nopt.js", - "name": "nopt", - "repository": { - "type": "git", - "url": "git+https://github.com/npm/nopt.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "3.0.6" -} diff --git a/deps/npm/node_modules/node-gyp/node_modules/nopt/test/basic.js b/deps/npm/node_modules/node-gyp/node_modules/nopt/test/basic.js deleted file mode 100644 index d399de9209932c..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/nopt/test/basic.js +++ /dev/null @@ -1,273 +0,0 @@ -var nopt = require("../") - , test = require('tap').test - - -test("passing a string results in a string", function (t) { - var parsed = nopt({ key: String }, {}, ["--key", "myvalue"], 0) - t.same(parsed.key, "myvalue") - t.end() -}) - -// https://github.com/npm/nopt/issues/31 -test("Empty String results in empty string, not true", function (t) { - var parsed = nopt({ empty: String }, {}, ["--empty"], 0) - t.same(parsed.empty, "") - t.end() -}) - -test("~ path is resolved to $HOME", function (t) { - var path = require("path") - if (!process.env.HOME) process.env.HOME = "/tmp" - var parsed = nopt({key: path}, {}, ["--key=~/val"], 0) - t.same(parsed.key, path.resolve(process.env.HOME, "val")) - t.end() -}) - -// https://github.com/npm/nopt/issues/24 -test("Unknown options are not parsed as numbers", function (t) { - var parsed = nopt({"parse-me": Number}, null, ['--leave-as-is=1.20', '--parse-me=1.20'], 0) - t.equal(parsed['leave-as-is'], '1.20') - t.equal(parsed['parse-me'], 1.2) - t.end() -}); - -// https://github.com/npm/nopt/issues/48 -test("Check types based on name of type", function (t) { - var parsed = nopt({"parse-me": {name: "Number"}}, null, ['--parse-me=1.20'], 0) - t.equal(parsed['parse-me'], 1.2) - t.end() -}) - - -test("Missing types are not parsed", function (t) { - var parsed = nopt({"parse-me": {}}, null, ['--parse-me=1.20'], 0) - //should only contain argv - t.equal(Object.keys(parsed).length, 1) - t.end() -}) - -test("Types passed without a name are not parsed", function (t) { - var parsed = nopt({"parse-me": {}}, {}, ['--parse-me=1.20'], 0) - //should only contain argv - t.equal(Object.keys(parsed).length, 1) - t.end() -}) - -test("other tests", function (t) { - - var util = require("util") - , Stream = require("stream") - , path = require("path") - , url = require("url") - - , shorthands = - { s : ["--loglevel", "silent"] - , d : ["--loglevel", "info"] - , dd : ["--loglevel", "verbose"] - , ddd : ["--loglevel", "silly"] - , noreg : ["--no-registry"] - , reg : ["--registry"] - , "no-reg" : ["--no-registry"] - , silent : ["--loglevel", "silent"] - , verbose : ["--loglevel", "verbose"] - , h : ["--usage"] - , H : ["--usage"] - , "?" : ["--usage"] - , help : ["--usage"] - , v : ["--version"] - , f : ["--force"] - , desc : ["--description"] - , "no-desc" : ["--no-description"] - , "local" : ["--no-global"] - , l : ["--long"] - , p : ["--parseable"] - , porcelain : ["--parseable"] - , g : ["--global"] - } - - , types = - { aoa: Array - , nullstream: [null, Stream] - , date: Date - , str: String - , browser : String - , cache : path - , color : ["always", Boolean] - , depth : Number - , description : Boolean - , dev : Boolean - , editor : path - , force : Boolean - , global : Boolean - , globalconfig : path - , group : [String, Number] - , gzipbin : String - , logfd : [Number, Stream] - , loglevel : ["silent","win","error","warn","info","verbose","silly"] - , long : Boolean - , "node-version" : [false, String] - , npaturl : url - , npat : Boolean - , "onload-script" : [false, String] - , outfd : [Number, Stream] - , parseable : Boolean - , pre: Boolean - , prefix: path - , proxy : url - , "rebuild-bundle" : Boolean - , registry : url - , searchopts : String - , searchexclude: [null, String] - , shell : path - , t: [Array, String] - , tag : String - , tar : String - , tmp : path - , "unsafe-perm" : Boolean - , usage : Boolean - , user : String - , username : String - , userconfig : path - , version : Boolean - , viewer: path - , _exit : Boolean - , path: path - } - - ; [["-v", {version:true}, []] - ,["---v", {version:true}, []] - ,["ls -s --no-reg connect -d", - {loglevel:"info",registry:null},["ls","connect"]] - ,["ls ---s foo",{loglevel:"silent"},["ls","foo"]] - ,["ls --registry blargle", {}, ["ls"]] - ,["--no-registry", {registry:null}, []] - ,["--no-color true", {color:false}, []] - ,["--no-color false", {color:true}, []] - ,["--no-color", {color:false}, []] - ,["--color false", {color:false}, []] - ,["--color --logfd 7", {logfd:7,color:true}, []] - ,["--color=true", {color:true}, []] - ,["--logfd=10", {logfd:10}, []] - ,["--tmp=/tmp -tar=gtar",{tmp:"/tmp",tar:"gtar"},[]] - ,["--tmp=tmp -tar=gtar", - {tmp:path.resolve(process.cwd(), "tmp"),tar:"gtar"},[]] - ,["--logfd x", {}, []] - ,["a -true -- -no-false", {true:true},["a","-no-false"]] - ,["a -no-false", {false:false},["a"]] - ,["a -no-no-true", {true:true}, ["a"]] - ,["a -no-no-no-false", {false:false}, ["a"]] - ,["---NO-no-No-no-no-no-nO-no-no"+ - "-No-no-no-no-no-no-no-no-no"+ - "-no-no-no-no-NO-NO-no-no-no-no-no-no"+ - "-no-body-can-do-the-boogaloo-like-I-do" - ,{"body-can-do-the-boogaloo-like-I-do":false}, []] - ,["we are -no-strangers-to-love "+ - "--you-know=the-rules --and=so-do-i "+ - "---im-thinking-of=a-full-commitment "+ - "--no-you-would-get-this-from-any-other-guy "+ - "--no-gonna-give-you-up "+ - "-no-gonna-let-you-down=true "+ - "--no-no-gonna-run-around false "+ - "--desert-you=false "+ - "--make-you-cry false "+ - "--no-tell-a-lie "+ - "--no-no-and-hurt-you false" - ,{"strangers-to-love":false - ,"you-know":"the-rules" - ,"and":"so-do-i" - ,"you-would-get-this-from-any-other-guy":false - ,"gonna-give-you-up":false - ,"gonna-let-you-down":false - ,"gonna-run-around":false - ,"desert-you":false - ,"make-you-cry":false - ,"tell-a-lie":false - ,"and-hurt-you":false - },["we", "are"]] - ,["-t one -t two -t three" - ,{t: ["one", "two", "three"]} - ,[]] - ,["-t one -t null -t three four five null" - ,{t: ["one", "null", "three"]} - ,["four", "five", "null"]] - ,["-t foo" - ,{t:["foo"]} - ,[]] - ,["--no-t" - ,{t:["false"]} - ,[]] - ,["-no-no-t" - ,{t:["true"]} - ,[]] - ,["-aoa one -aoa null -aoa 100" - ,{aoa:["one", null, '100']} - ,[]] - ,["-str 100" - ,{str:"100"} - ,[]] - ,["--color always" - ,{color:"always"} - ,[]] - ,["--no-nullstream" - ,{nullstream:null} - ,[]] - ,["--nullstream false" - ,{nullstream:null} - ,[]] - ,["--notadate=2011-01-25" - ,{notadate: "2011-01-25"} - ,[]] - ,["--date 2011-01-25" - ,{date: new Date("2011-01-25")} - ,[]] - ,["-cl 1" - ,{config: true, length: 1} - ,[] - ,{config: Boolean, length: Number, clear: Boolean} - ,{c: "--config", l: "--length"}] - ,["--acount bla" - ,{"acount":true} - ,["bla"] - ,{account: Boolean, credentials: Boolean, options: String} - ,{a:"--account", c:"--credentials",o:"--options"}] - ,["--clear" - ,{clear:true} - ,[] - ,{clear:Boolean,con:Boolean,len:Boolean,exp:Boolean,add:Boolean,rep:Boolean} - ,{c:"--con",l:"--len",e:"--exp",a:"--add",r:"--rep"}] - ,["--file -" - ,{"file":"-"} - ,[] - ,{file:String} - ,{}] - ,["--file -" - ,{"file":true} - ,["-"] - ,{file:Boolean} - ,{}] - ,["--path" - ,{"path":null} - ,[]] - ,["--path ." - ,{"path":process.cwd()} - ,[]] - ].forEach(function (test) { - var argv = test[0].split(/\s+/) - , opts = test[1] - , rem = test[2] - , actual = nopt(test[3] || types, test[4] || shorthands, argv, 0) - , parsed = actual.argv - delete actual.argv - for (var i in opts) { - var e = JSON.stringify(opts[i]) - , a = JSON.stringify(actual[i] === undefined ? null : actual[i]) - if (e && typeof e === "object") { - t.deepEqual(e, a) - } else { - t.equal(e, a) - } - } - t.deepEqual(rem, parsed.remain) - }) - t.end() -}) diff --git a/deps/npm/node_modules/node-gyp/node_modules/semver/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/semver/LICENSE deleted file mode 100644 index 19129e315fe593..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/semver/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/node-gyp/node_modules/semver/README.md b/deps/npm/node_modules/node-gyp/node_modules/semver/README.md deleted file mode 100644 index cbd956549dbb01..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/semver/README.md +++ /dev/null @@ -1,350 +0,0 @@ -semver(1) -- The semantic versioner for npm -=========================================== - -## Usage - - $ npm install semver - $ node - var semver = require('semver') - - semver.valid('1.2.3') // '1.2.3' - semver.valid('a.b.c') // null - semver.clean(' =v1.2.3 ') // '1.2.3' - semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true - semver.gt('1.2.3', '9.8.7') // false - semver.lt('1.2.3', '9.8.7') // true - -As a command-line utility: - - $ semver -h - - SemVer 5.1.0 - - A JavaScript implementation of the http://semver.org/ specification - Copyright Isaac Z. Schlueter - - Usage: semver [options] [ [...]] - Prints valid versions sorted by SemVer precedence - - Options: - -r --range - Print versions that match the specified range. - - -i --increment [] - Increment a version by the specified level. Level can - be one of: major, minor, patch, premajor, preminor, - prepatch, or prerelease. Default level is 'patch'. - Only one version may be specified. - - --preid - Identifier to be used to prefix premajor, preminor, - prepatch or prerelease version increments. - - -l --loose - Interpret versions and ranges loosely - - Program exits successfully if any valid version satisfies - all supplied ranges, and prints all satisfying versions. - - If no satisfying versions are found, then exits failure. - - Versions are printed in ascending order, so supplying - multiple versions to the utility will just sort them. - -## Versions - -A "version" is described by the `v2.0.0` specification found at -. - -A leading `"="` or `"v"` character is stripped off and ignored. - -## Ranges - -A `version range` is a set of `comparators` which specify versions -that satisfy the range. - -A `comparator` is composed of an `operator` and a `version`. The set -of primitive `operators` is: - -* `<` Less than -* `<=` Less than or equal to -* `>` Greater than -* `>=` Greater than or equal to -* `=` Equal. If no operator is specified, then equality is assumed, - so this operator is optional, but MAY be included. - -For example, the comparator `>=1.2.7` would match the versions -`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6` -or `1.1.0`. - -Comparators can be joined by whitespace to form a `comparator set`, -which is satisfied by the **intersection** of all of the comparators -it includes. - -A range is composed of one or more comparator sets, joined by `||`. A -version matches a range if and only if every comparator in at least -one of the `||`-separated comparator sets is satisfied by the version. - -For example, the range `>=1.2.7 <1.3.0` would match the versions -`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`, -or `1.1.0`. - -The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`, -`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`. - -### Prerelease Tags - -If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then -it will only be allowed to satisfy comparator sets if at least one -comparator with the same `[major, minor, patch]` tuple also has a -prerelease tag. - -For example, the range `>1.2.3-alpha.3` would be allowed to match the -version `1.2.3-alpha.7`, but it would *not* be satisfied by -`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater -than" `1.2.3-alpha.3` according to the SemVer sort rules. The version -range only accepts prerelease tags on the `1.2.3` version. The -version `3.4.5` *would* satisfy the range, because it does not have a -prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`. - -The purpose for this behavior is twofold. First, prerelease versions -frequently are updated very quickly, and contain many breaking changes -that are (by the author's design) not yet fit for public consumption. -Therefore, by default, they are excluded from range matching -semantics. - -Second, a user who has opted into using a prerelease version has -clearly indicated the intent to use *that specific* set of -alpha/beta/rc versions. By including a prerelease tag in the range, -the user is indicating that they are aware of the risk. However, it -is still not appropriate to assume that they have opted into taking a -similar risk on the *next* set of prerelease versions. - -#### Prerelease Identifiers - -The method `.inc` takes an additional `identifier` string argument that -will append the value of the string as a prerelease identifier: - -```javascript -> semver.inc('1.2.3', 'prerelease', 'beta') -'1.2.4-beta.0' -``` - -command-line example: - -```shell -$ semver 1.2.3 -i prerelease --preid beta -1.2.4-beta.0 -``` - -Which then can be used to increment further: - -```shell -$ semver 1.2.4-beta.0 -i prerelease -1.2.4-beta.1 -``` - -### Advanced Range Syntax - -Advanced range syntax desugars to primitive comparators in -deterministic ways. - -Advanced ranges may be combined in the same way as primitive -comparators using white space or `||`. - -#### Hyphen Ranges `X.Y.Z - A.B.C` - -Specifies an inclusive set. - -* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4` - -If a partial version is provided as the first version in the inclusive -range, then the missing pieces are replaced with zeroes. - -* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4` - -If a partial version is provided as the second version in the -inclusive range, then all versions that start with the supplied parts -of the tuple are accepted, but nothing that would be greater than the -provided tuple parts. - -* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0` -* `1.2.3 - 2` := `>=1.2.3 <3.0.0` - -#### X-Ranges `1.2.x` `1.X` `1.2.*` `*` - -Any of `X`, `x`, or `*` may be used to "stand in" for one of the -numeric values in the `[major, minor, patch]` tuple. - -* `*` := `>=0.0.0` (Any version satisfies) -* `1.x` := `>=1.0.0 <2.0.0` (Matching major version) -* `1.2.x` := `>=1.2.0 <1.3.0` (Matching major and minor versions) - -A partial version range is treated as an X-Range, so the special -character is in fact optional. - -* `""` (empty string) := `*` := `>=0.0.0` -* `1` := `1.x.x` := `>=1.0.0 <2.0.0` -* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0` - -#### Tilde Ranges `~1.2.3` `~1.2` `~1` - -Allows patch-level changes if a minor version is specified on the -comparator. Allows minor-level changes if not. - -* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0` -* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0` (Same as `1.2.x`) -* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0` (Same as `1.x`) -* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0` -* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0` (Same as `0.2.x`) -* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0` (Same as `0.x`) -* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0` Note that prereleases in - the `1.2.3` version will be allowed, if they are greater than or - equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but - `1.2.4-beta.2` would not, because it is a prerelease of a - different `[major, minor, patch]` tuple. - -#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4` - -Allows changes that do not modify the left-most non-zero digit in the -`[major, minor, patch]` tuple. In other words, this allows patch and -minor updates for versions `1.0.0` and above, patch updates for -versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`. - -Many authors treat a `0.x` version as if the `x` were the major -"breaking-change" indicator. - -Caret ranges are ideal when an author may make breaking changes -between `0.2.4` and `0.3.0` releases, which is a common practice. -However, it presumes that there will *not* be breaking changes between -`0.2.4` and `0.2.5`. It allows for changes that are presumed to be -additive (but non-breaking), according to commonly observed practices. - -* `^1.2.3` := `>=1.2.3 <2.0.0` -* `^0.2.3` := `>=0.2.3 <0.3.0` -* `^0.0.3` := `>=0.0.3 <0.0.4` -* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0` Note that prereleases in - the `1.2.3` version will be allowed, if they are greater than or - equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but - `1.2.4-beta.2` would not, because it is a prerelease of a - different `[major, minor, patch]` tuple. -* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4` Note that prereleases in the - `0.0.3` version *only* will be allowed, if they are greater than or - equal to `beta`. So, `0.0.3-pr.2` would be allowed. - -When parsing caret ranges, a missing `patch` value desugars to the -number `0`, but will allow flexibility within that value, even if the -major and minor versions are both `0`. - -* `^1.2.x` := `>=1.2.0 <2.0.0` -* `^0.0.x` := `>=0.0.0 <0.1.0` -* `^0.0` := `>=0.0.0 <0.1.0` - -A missing `minor` and `patch` values will desugar to zero, but also -allow flexibility within those values, even if the major version is -zero. - -* `^1.x` := `>=1.0.0 <2.0.0` -* `^0.x` := `>=0.0.0 <1.0.0` - -### Range Grammar - -Putting all this together, here is a Backus-Naur grammar for ranges, -for the benefit of parser authors: - -```bnf -range-set ::= range ( logical-or range ) * -logical-or ::= ( ' ' ) * '||' ( ' ' ) * -range ::= hyphen | simple ( ' ' simple ) * | '' -hyphen ::= partial ' - ' partial -simple ::= primitive | partial | tilde | caret -primitive ::= ( '<' | '>' | '>=' | '<=' | '=' | ) partial -partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? -xr ::= 'x' | 'X' | '*' | nr -nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * -tilde ::= '~' partial -caret ::= '^' partial -qualifier ::= ( '-' pre )? ( '+' build )? -pre ::= parts -build ::= parts -parts ::= part ( '.' part ) * -part ::= nr | [-0-9A-Za-z]+ -``` - -## Functions - -All methods and classes take a final `loose` boolean argument that, if -true, will be more forgiving about not-quite-valid semver strings. -The resulting output will always be 100% strict, of course. - -Strict-mode Comparators and Ranges will be strict about the SemVer -strings that they parse. - -* `valid(v)`: Return the parsed version, or null if it's not valid. -* `inc(v, release)`: Return the version incremented by the release - type (`major`, `premajor`, `minor`, `preminor`, `patch`, - `prepatch`, or `prerelease`), or null if it's not valid - * `premajor` in one call will bump the version up to the next major - version and down to a prerelease of that major version. - `preminor`, and `prepatch` work the same way. - * If called from a non-prerelease version, the `prerelease` will work the - same as `prepatch`. It increments the patch version, then makes a - prerelease. If the input version is already a prerelease it simply - increments it. -* `prerelease(v)`: Returns an array of prerelease components, or null - if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]` -* `major(v)`: Return the major version number. -* `minor(v)`: Return the minor version number. -* `patch(v)`: Return the patch version number. - -### Comparison - -* `gt(v1, v2)`: `v1 > v2` -* `gte(v1, v2)`: `v1 >= v2` -* `lt(v1, v2)`: `v1 < v2` -* `lte(v1, v2)`: `v1 <= v2` -* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent, - even if they're not the exact same string. You already know how to - compare strings. -* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`. -* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call - the corresponding function above. `"==="` and `"!=="` do simple - string comparison, but are included for completeness. Throws if an - invalid comparison string is provided. -* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if - `v2` is greater. Sorts in ascending order if passed to `Array.sort()`. -* `rcompare(v1, v2)`: The reverse of compare. Sorts an array of versions - in descending order when passed to `Array.sort()`. -* `diff(v1, v2)`: Returns difference between two versions by the release type - (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`), - or null if the versions are the same. - - -### Ranges - -* `validRange(range)`: Return the valid range or null if it's not valid -* `satisfies(version, range)`: Return true if the version satisfies the - range. -* `maxSatisfying(versions, range)`: Return the highest version in the list - that satisfies the range, or `null` if none of them do. -* `minSatisfying(versions, range)`: Return the lowest version in the list - that satisfies the range, or `null` if none of them do. -* `gtr(version, range)`: Return `true` if version is greater than all the - versions possible in the range. -* `ltr(version, range)`: Return `true` if version is less than all the - versions possible in the range. -* `outside(version, range, hilo)`: Return true if the version is outside - the bounds of the range in either the high or low direction. The - `hilo` argument must be either the string `'>'` or `'<'`. (This is - the function called by `gtr` and `ltr`.) - -Note that, since ranges may be non-contiguous, a version might not be -greater than a range, less than a range, *or* satisfy a range! For -example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9` -until `2.0.0`, so the version `1.2.10` would not be greater than the -range (because `2.0.1` satisfies, which is higher), nor less than the -range (since `1.2.8` satisfies, which is lower), and it also does not -satisfy the range. - -If you want to know if a version satisfies or does not satisfy a -range, use the `satisfies(version, range)` function. diff --git a/deps/npm/node_modules/node-gyp/node_modules/semver/bin/semver b/deps/npm/node_modules/node-gyp/node_modules/semver/bin/semver deleted file mode 100755 index c5f2e857e82790..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/semver/bin/semver +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/env node -// Standalone semver comparison program. -// Exits successfully and prints matching version(s) if -// any supplied version is valid and passes all tests. - -var argv = process.argv.slice(2) - , versions = [] - , range = [] - , gt = [] - , lt = [] - , eq = [] - , inc = null - , version = require("../package.json").version - , loose = false - , identifier = undefined - , semver = require("../semver") - , reverse = false - -main() - -function main () { - if (!argv.length) return help() - while (argv.length) { - var a = argv.shift() - var i = a.indexOf('=') - if (i !== -1) { - a = a.slice(0, i) - argv.unshift(a.slice(i + 1)) - } - switch (a) { - case "-rv": case "-rev": case "--rev": case "--reverse": - reverse = true - break - case "-l": case "--loose": - loose = true - break - case "-v": case "--version": - versions.push(argv.shift()) - break - case "-i": case "--inc": case "--increment": - switch (argv[0]) { - case "major": case "minor": case "patch": case "prerelease": - case "premajor": case "preminor": case "prepatch": - inc = argv.shift() - break - default: - inc = "patch" - break - } - break - case "--preid": - identifier = argv.shift() - break - case "-r": case "--range": - range.push(argv.shift()) - break - case "-h": case "--help": case "-?": - return help() - default: - versions.push(a) - break - } - } - - versions = versions.filter(function (v) { - return semver.valid(v, loose) - }) - if (!versions.length) return fail() - if (inc && (versions.length !== 1 || range.length)) - return failInc() - - for (var i = 0, l = range.length; i < l ; i ++) { - versions = versions.filter(function (v) { - return semver.satisfies(v, range[i], loose) - }) - if (!versions.length) return fail() - } - return success(versions) -} - -function failInc () { - console.error("--inc can only be used on a single version with no range") - fail() -} - -function fail () { process.exit(1) } - -function success () { - var compare = reverse ? "rcompare" : "compare" - versions.sort(function (a, b) { - return semver[compare](a, b, loose) - }).map(function (v) { - return semver.clean(v, loose) - }).map(function (v) { - return inc ? semver.inc(v, inc, loose, identifier) : v - }).forEach(function (v,i,_) { console.log(v) }) -} - -function help () { - console.log(["SemVer " + version - ,"" - ,"A JavaScript implementation of the http://semver.org/ specification" - ,"Copyright Isaac Z. Schlueter" - ,"" - ,"Usage: semver [options] [ [...]]" - ,"Prints valid versions sorted by SemVer precedence" - ,"" - ,"Options:" - ,"-r --range " - ," Print versions that match the specified range." - ,"" - ,"-i --increment []" - ," Increment a version by the specified level. Level can" - ," be one of: major, minor, patch, premajor, preminor," - ," prepatch, or prerelease. Default level is 'patch'." - ," Only one version may be specified." - ,"" - ,"--preid " - ," Identifier to be used to prefix premajor, preminor," - ," prepatch or prerelease version increments." - ,"" - ,"-l --loose" - ," Interpret versions and ranges loosely" - ,"" - ,"Program exits successfully if any valid version satisfies" - ,"all supplied ranges, and prints all satisfying versions." - ,"" - ,"If no satisfying versions are found, then exits failure." - ,"" - ,"Versions are printed in ascending order, so supplying" - ,"multiple versions to the utility will just sort them." - ].join("\n")) -} diff --git a/deps/npm/node_modules/node-gyp/node_modules/semver/package.json b/deps/npm/node_modules/node-gyp/node_modules/semver/package.json deleted file mode 100644 index 8793bae37c297c..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/semver/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "_from": "semver@~5.3.0", - "_id": "semver@5.3.0", - "_inBundle": false, - "_integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "_location": "/node-gyp/semver", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "semver@~5.3.0", - "name": "semver", - "escapedName": "semver", - "rawSpec": "~5.3.0", - "saveSpec": null, - "fetchSpec": "~5.3.0" - }, - "_requiredBy": [ - "/node-gyp" - ], - "_resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "_shasum": "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f", - "_spec": "semver@~5.3.0", - "_where": "/Users/rebecca/code/npm/node_modules/node-gyp", - "bin": { - "semver": "./bin/semver" - }, - "bugs": { - "url": "https://github.com/npm/node-semver/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "The semantic version parser used by npm.", - "devDependencies": { - "tap": "^2.0.0" - }, - "files": [ - "bin", - "range.bnf", - "semver.js" - ], - "homepage": "https://github.com/npm/node-semver#readme", - "license": "ISC", - "main": "semver.js", - "name": "semver", - "repository": { - "type": "git", - "url": "git+https://github.com/npm/node-semver.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "5.3.0" -} diff --git a/deps/npm/node_modules/node-gyp/node_modules/semver/range.bnf b/deps/npm/node_modules/node-gyp/node_modules/semver/range.bnf deleted file mode 100644 index 25ebd5c8325488..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/semver/range.bnf +++ /dev/null @@ -1,16 +0,0 @@ -range-set ::= range ( logical-or range ) * -logical-or ::= ( ' ' ) * '||' ( ' ' ) * -range ::= hyphen | simple ( ' ' simple ) * | '' -hyphen ::= partial ' - ' partial -simple ::= primitive | partial | tilde | caret -primitive ::= ( '<' | '>' | '>=' | '<=' | '=' | ) partial -partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? -xr ::= 'x' | 'X' | '*' | nr -nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * -tilde ::= '~' partial -caret ::= '^' partial -qualifier ::= ( '-' pre )? ( '+' build )? -pre ::= parts -build ::= parts -parts ::= part ( '.' part ) * -part ::= nr | [-0-9A-Za-z]+ diff --git a/deps/npm/node_modules/node-gyp/node_modules/semver/semver.js b/deps/npm/node_modules/node-gyp/node_modules/semver/semver.js deleted file mode 100644 index 5f1a3c5c9e5dc9..00000000000000 --- a/deps/npm/node_modules/node-gyp/node_modules/semver/semver.js +++ /dev/null @@ -1,1203 +0,0 @@ -exports = module.exports = SemVer; - -// The debug function is excluded entirely from the minified version. -/* nomin */ var debug; -/* nomin */ if (typeof process === 'object' && - /* nomin */ process.env && - /* nomin */ process.env.NODE_DEBUG && - /* nomin */ /\bsemver\b/i.test(process.env.NODE_DEBUG)) - /* nomin */ debug = function() { - /* nomin */ var args = Array.prototype.slice.call(arguments, 0); - /* nomin */ args.unshift('SEMVER'); - /* nomin */ console.log.apply(console, args); - /* nomin */ }; -/* nomin */ else - /* nomin */ debug = function() {}; - -// Note: this is the semver.org version of the spec that it implements -// Not necessarily the package version of this code. -exports.SEMVER_SPEC_VERSION = '2.0.0'; - -var MAX_LENGTH = 256; -var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; - -// The actual regexps go on exports.re -var re = exports.re = []; -var src = exports.src = []; -var R = 0; - -// The following Regular Expressions can be used for tokenizing, -// validating, and parsing SemVer version strings. - -// ## Numeric Identifier -// A single `0`, or a non-zero digit followed by zero or more digits. - -var NUMERICIDENTIFIER = R++; -src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'; -var NUMERICIDENTIFIERLOOSE = R++; -src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'; - - -// ## Non-numeric Identifier -// Zero or more digits, followed by a letter or hyphen, and then zero or -// more letters, digits, or hyphens. - -var NONNUMERICIDENTIFIER = R++; -src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'; - - -// ## Main Version -// Three dot-separated numeric identifiers. - -var MAINVERSION = R++; -src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' + - '(' + src[NUMERICIDENTIFIER] + ')\\.' + - '(' + src[NUMERICIDENTIFIER] + ')'; - -var MAINVERSIONLOOSE = R++; -src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + - '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + - '(' + src[NUMERICIDENTIFIERLOOSE] + ')'; - -// ## Pre-release Version Identifier -// A numeric identifier, or a non-numeric identifier. - -var PRERELEASEIDENTIFIER = R++; -src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] + - '|' + src[NONNUMERICIDENTIFIER] + ')'; - -var PRERELEASEIDENTIFIERLOOSE = R++; -src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] + - '|' + src[NONNUMERICIDENTIFIER] + ')'; - - -// ## Pre-release Version -// Hyphen, followed by one or more dot-separated pre-release version -// identifiers. - -var PRERELEASE = R++; -src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] + - '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))'; - -var PRERELEASELOOSE = R++; -src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] + - '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'; - -// ## Build Metadata Identifier -// Any combination of digits, letters, or hyphens. - -var BUILDIDENTIFIER = R++; -src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'; - -// ## Build Metadata -// Plus sign, followed by one or more period-separated build metadata -// identifiers. - -var BUILD = R++; -src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] + - '(?:\\.' + src[BUILDIDENTIFIER] + ')*))'; - - -// ## Full Version String -// A main version, followed optionally by a pre-release version and -// build metadata. - -// Note that the only major, minor, patch, and pre-release sections of -// the version string are capturing groups. The build metadata is not a -// capturing group, because it should not ever be used in version -// comparison. - -var FULL = R++; -var FULLPLAIN = 'v?' + src[MAINVERSION] + - src[PRERELEASE] + '?' + - src[BUILD] + '?'; - -src[FULL] = '^' + FULLPLAIN + '$'; - -// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. -// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty -// common in the npm registry. -var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] + - src[PRERELEASELOOSE] + '?' + - src[BUILD] + '?'; - -var LOOSE = R++; -src[LOOSE] = '^' + LOOSEPLAIN + '$'; - -var GTLT = R++; -src[GTLT] = '((?:<|>)?=?)'; - -// Something like "2.*" or "1.2.x". -// Note that "x.x" is a valid xRange identifer, meaning "any version" -// Only the first item is strictly required. -var XRANGEIDENTIFIERLOOSE = R++; -src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'; -var XRANGEIDENTIFIER = R++; -src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*'; - -var XRANGEPLAIN = R++; -src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + - '(?:' + src[PRERELEASE] + ')?' + - src[BUILD] + '?' + - ')?)?'; - -var XRANGEPLAINLOOSE = R++; -src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:' + src[PRERELEASELOOSE] + ')?' + - src[BUILD] + '?' + - ')?)?'; - -var XRANGE = R++; -src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$'; -var XRANGELOOSE = R++; -src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$'; - -// Tilde ranges. -// Meaning is "reasonably at or greater than" -var LONETILDE = R++; -src[LONETILDE] = '(?:~>?)'; - -var TILDETRIM = R++; -src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'; -re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g'); -var tildeTrimReplace = '$1~'; - -var TILDE = R++; -src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'; -var TILDELOOSE = R++; -src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'; - -// Caret ranges. -// Meaning is "at least and backwards compatible with" -var LONECARET = R++; -src[LONECARET] = '(?:\\^)'; - -var CARETTRIM = R++; -src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'; -re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g'); -var caretTrimReplace = '$1^'; - -var CARET = R++; -src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'; -var CARETLOOSE = R++; -src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'; - -// A simple gt/lt/eq thing, or just "" to indicate "any version" -var COMPARATORLOOSE = R++; -src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$'; -var COMPARATOR = R++; -src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$'; - - -// An expression to strip any whitespace between the gtlt and the thing -// it modifies, so that `> 1.2.3` ==> `>1.2.3` -var COMPARATORTRIM = R++; -src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] + - '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'; - -// this one has to use the /g flag -re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g'); -var comparatorTrimReplace = '$1$2$3'; - - -// Something like `1.2.3 - 1.2.4` -// Note that these all use the loose form, because they'll be -// checked against either the strict or loose comparator form -// later. -var HYPHENRANGE = R++; -src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' + - '\\s+-\\s+' + - '(' + src[XRANGEPLAIN] + ')' + - '\\s*$'; - -var HYPHENRANGELOOSE = R++; -src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' + - '\\s+-\\s+' + - '(' + src[XRANGEPLAINLOOSE] + ')' + - '\\s*$'; - -// Star ranges basically just allow anything at all. -var STAR = R++; -src[STAR] = '(<|>)?=?\\s*\\*'; - -// Compile to actual regexp objects. -// All are flag-free, unless they were created above with a flag. -for (var i = 0; i < R; i++) { - debug(i, src[i]); - if (!re[i]) - re[i] = new RegExp(src[i]); -} - -exports.parse = parse; -function parse(version, loose) { - if (version instanceof SemVer) - return version; - - if (typeof version !== 'string') - return null; - - if (version.length > MAX_LENGTH) - return null; - - var r = loose ? re[LOOSE] : re[FULL]; - if (!r.test(version)) - return null; - - try { - return new SemVer(version, loose); - } catch (er) { - return null; - } -} - -exports.valid = valid; -function valid(version, loose) { - var v = parse(version, loose); - return v ? v.version : null; -} - - -exports.clean = clean; -function clean(version, loose) { - var s = parse(version.trim().replace(/^[=v]+/, ''), loose); - return s ? s.version : null; -} - -exports.SemVer = SemVer; - -function SemVer(version, loose) { - if (version instanceof SemVer) { - if (version.loose === loose) - return version; - else - version = version.version; - } else if (typeof version !== 'string') { - throw new TypeError('Invalid Version: ' + version); - } - - if (version.length > MAX_LENGTH) - throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters') - - if (!(this instanceof SemVer)) - return new SemVer(version, loose); - - debug('SemVer', version, loose); - this.loose = loose; - var m = version.trim().match(loose ? re[LOOSE] : re[FULL]); - - if (!m) - throw new TypeError('Invalid Version: ' + version); - - this.raw = version; - - // these are actually numbers - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - - if (this.major > MAX_SAFE_INTEGER || this.major < 0) - throw new TypeError('Invalid major version') - - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) - throw new TypeError('Invalid minor version') - - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) - throw new TypeError('Invalid patch version') - - // numberify any prerelease numeric ids - if (!m[4]) - this.prerelease = []; - else - this.prerelease = m[4].split('.').map(function(id) { - if (/^[0-9]+$/.test(id)) { - var num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER) - return num; - } - return id; - }); - - this.build = m[5] ? m[5].split('.') : []; - this.format(); -} - -SemVer.prototype.format = function() { - this.version = this.major + '.' + this.minor + '.' + this.patch; - if (this.prerelease.length) - this.version += '-' + this.prerelease.join('.'); - return this.version; -}; - -SemVer.prototype.toString = function() { - return this.version; -}; - -SemVer.prototype.compare = function(other) { - debug('SemVer.compare', this.version, this.loose, other); - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - return this.compareMain(other) || this.comparePre(other); -}; - -SemVer.prototype.compareMain = function(other) { - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - return compareIdentifiers(this.major, other.major) || - compareIdentifiers(this.minor, other.minor) || - compareIdentifiers(this.patch, other.patch); -}; - -SemVer.prototype.comparePre = function(other) { - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - // NOT having a prerelease is > having one - if (this.prerelease.length && !other.prerelease.length) - return -1; - else if (!this.prerelease.length && other.prerelease.length) - return 1; - else if (!this.prerelease.length && !other.prerelease.length) - return 0; - - var i = 0; - do { - var a = this.prerelease[i]; - var b = other.prerelease[i]; - debug('prerelease compare', i, a, b); - if (a === undefined && b === undefined) - return 0; - else if (b === undefined) - return 1; - else if (a === undefined) - return -1; - else if (a === b) - continue; - else - return compareIdentifiers(a, b); - } while (++i); -}; - -// preminor will bump the version up to the next minor release, and immediately -// down to pre-release. premajor and prepatch work the same way. -SemVer.prototype.inc = function(release, identifier) { - switch (release) { - case 'premajor': - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc('pre', identifier); - break; - case 'preminor': - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc('pre', identifier); - break; - case 'prepatch': - // If this is already a prerelease, it will bump to the next version - // drop any prereleases that might already exist, since they are not - // relevant at this point. - this.prerelease.length = 0; - this.inc('patch', identifier); - this.inc('pre', identifier); - break; - // If the input is a non-prerelease version, this acts the same as - // prepatch. - case 'prerelease': - if (this.prerelease.length === 0) - this.inc('patch', identifier); - this.inc('pre', identifier); - break; - - case 'major': - // If this is a pre-major version, bump up to the same major version. - // Otherwise increment major. - // 1.0.0-5 bumps to 1.0.0 - // 1.1.0 bumps to 2.0.0 - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) - this.major++; - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - case 'minor': - // If this is a pre-minor version, bump up to the same minor version. - // Otherwise increment minor. - // 1.2.0-5 bumps to 1.2.0 - // 1.2.1 bumps to 1.3.0 - if (this.patch !== 0 || this.prerelease.length === 0) - this.minor++; - this.patch = 0; - this.prerelease = []; - break; - case 'patch': - // If this is not a pre-release version, it will increment the patch. - // If it is a pre-release it will bump up to the same patch version. - // 1.2.0-5 patches to 1.2.0 - // 1.2.0 patches to 1.2.1 - if (this.prerelease.length === 0) - this.patch++; - this.prerelease = []; - break; - // This probably shouldn't be used publicly. - // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction. - case 'pre': - if (this.prerelease.length === 0) - this.prerelease = [0]; - else { - var i = this.prerelease.length; - while (--i >= 0) { - if (typeof this.prerelease[i] === 'number') { - this.prerelease[i]++; - i = -2; - } - } - if (i === -1) // didn't increment anything - this.prerelease.push(0); - } - if (identifier) { - // 1.2.0-beta.1 bumps to 1.2.0-beta.2, - // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 - if (this.prerelease[0] === identifier) { - if (isNaN(this.prerelease[1])) - this.prerelease = [identifier, 0]; - } else - this.prerelease = [identifier, 0]; - } - break; - - default: - throw new Error('invalid increment argument: ' + release); - } - this.format(); - this.raw = this.version; - return this; -}; - -exports.inc = inc; -function inc(version, release, loose, identifier) { - if (typeof(loose) === 'string') { - identifier = loose; - loose = undefined; - } - - try { - return new SemVer(version, loose).inc(release, identifier).version; - } catch (er) { - return null; - } -} - -exports.diff = diff; -function diff(version1, version2) { - if (eq(version1, version2)) { - return null; - } else { - var v1 = parse(version1); - var v2 = parse(version2); - if (v1.prerelease.length || v2.prerelease.length) { - for (var key in v1) { - if (key === 'major' || key === 'minor' || key === 'patch') { - if (v1[key] !== v2[key]) { - return 'pre'+key; - } - } - } - return 'prerelease'; - } - for (var key in v1) { - if (key === 'major' || key === 'minor' || key === 'patch') { - if (v1[key] !== v2[key]) { - return key; - } - } - } - } -} - -exports.compareIdentifiers = compareIdentifiers; - -var numeric = /^[0-9]+$/; -function compareIdentifiers(a, b) { - var anum = numeric.test(a); - var bnum = numeric.test(b); - - if (anum && bnum) { - a = +a; - b = +b; - } - - return (anum && !bnum) ? -1 : - (bnum && !anum) ? 1 : - a < b ? -1 : - a > b ? 1 : - 0; -} - -exports.rcompareIdentifiers = rcompareIdentifiers; -function rcompareIdentifiers(a, b) { - return compareIdentifiers(b, a); -} - -exports.major = major; -function major(a, loose) { - return new SemVer(a, loose).major; -} - -exports.minor = minor; -function minor(a, loose) { - return new SemVer(a, loose).minor; -} - -exports.patch = patch; -function patch(a, loose) { - return new SemVer(a, loose).patch; -} - -exports.compare = compare; -function compare(a, b, loose) { - return new SemVer(a, loose).compare(b); -} - -exports.compareLoose = compareLoose; -function compareLoose(a, b) { - return compare(a, b, true); -} - -exports.rcompare = rcompare; -function rcompare(a, b, loose) { - return compare(b, a, loose); -} - -exports.sort = sort; -function sort(list, loose) { - return list.sort(function(a, b) { - return exports.compare(a, b, loose); - }); -} - -exports.rsort = rsort; -function rsort(list, loose) { - return list.sort(function(a, b) { - return exports.rcompare(a, b, loose); - }); -} - -exports.gt = gt; -function gt(a, b, loose) { - return compare(a, b, loose) > 0; -} - -exports.lt = lt; -function lt(a, b, loose) { - return compare(a, b, loose) < 0; -} - -exports.eq = eq; -function eq(a, b, loose) { - return compare(a, b, loose) === 0; -} - -exports.neq = neq; -function neq(a, b, loose) { - return compare(a, b, loose) !== 0; -} - -exports.gte = gte; -function gte(a, b, loose) { - return compare(a, b, loose) >= 0; -} - -exports.lte = lte; -function lte(a, b, loose) { - return compare(a, b, loose) <= 0; -} - -exports.cmp = cmp; -function cmp(a, op, b, loose) { - var ret; - switch (op) { - case '===': - if (typeof a === 'object') a = a.version; - if (typeof b === 'object') b = b.version; - ret = a === b; - break; - case '!==': - if (typeof a === 'object') a = a.version; - if (typeof b === 'object') b = b.version; - ret = a !== b; - break; - case '': case '=': case '==': ret = eq(a, b, loose); break; - case '!=': ret = neq(a, b, loose); break; - case '>': ret = gt(a, b, loose); break; - case '>=': ret = gte(a, b, loose); break; - case '<': ret = lt(a, b, loose); break; - case '<=': ret = lte(a, b, loose); break; - default: throw new TypeError('Invalid operator: ' + op); - } - return ret; -} - -exports.Comparator = Comparator; -function Comparator(comp, loose) { - if (comp instanceof Comparator) { - if (comp.loose === loose) - return comp; - else - comp = comp.value; - } - - if (!(this instanceof Comparator)) - return new Comparator(comp, loose); - - debug('comparator', comp, loose); - this.loose = loose; - this.parse(comp); - - if (this.semver === ANY) - this.value = ''; - else - this.value = this.operator + this.semver.version; - - debug('comp', this); -} - -var ANY = {}; -Comparator.prototype.parse = function(comp) { - var r = this.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; - var m = comp.match(r); - - if (!m) - throw new TypeError('Invalid comparator: ' + comp); - - this.operator = m[1]; - if (this.operator === '=') - this.operator = ''; - - // if it literally is just '>' or '' then allow anything. - if (!m[2]) - this.semver = ANY; - else - this.semver = new SemVer(m[2], this.loose); -}; - -Comparator.prototype.toString = function() { - return this.value; -}; - -Comparator.prototype.test = function(version) { - debug('Comparator.test', version, this.loose); - - if (this.semver === ANY) - return true; - - if (typeof version === 'string') - version = new SemVer(version, this.loose); - - return cmp(version, this.operator, this.semver, this.loose); -}; - - -exports.Range = Range; -function Range(range, loose) { - if ((range instanceof Range) && range.loose === loose) - return range; - - if (!(this instanceof Range)) - return new Range(range, loose); - - this.loose = loose; - - // First, split based on boolean or || - this.raw = range; - this.set = range.split(/\s*\|\|\s*/).map(function(range) { - return this.parseRange(range.trim()); - }, this).filter(function(c) { - // throw out any that are not relevant for whatever reason - return c.length; - }); - - if (!this.set.length) { - throw new TypeError('Invalid SemVer Range: ' + range); - } - - this.format(); -} - -Range.prototype.format = function() { - this.range = this.set.map(function(comps) { - return comps.join(' ').trim(); - }).join('||').trim(); - return this.range; -}; - -Range.prototype.toString = function() { - return this.range; -}; - -Range.prototype.parseRange = function(range) { - var loose = this.loose; - range = range.trim(); - debug('range', range, loose); - // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` - var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]; - range = range.replace(hr, hyphenReplace); - debug('hyphen replace', range); - // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` - range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace); - debug('comparator trim', range, re[COMPARATORTRIM]); - - // `~ 1.2.3` => `~1.2.3` - range = range.replace(re[TILDETRIM], tildeTrimReplace); - - // `^ 1.2.3` => `^1.2.3` - range = range.replace(re[CARETTRIM], caretTrimReplace); - - // normalize spaces - range = range.split(/\s+/).join(' '); - - // At this point, the range is completely trimmed and - // ready to be split into comparators. - - var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; - var set = range.split(' ').map(function(comp) { - return parseComparator(comp, loose); - }).join(' ').split(/\s+/); - if (this.loose) { - // in loose mode, throw out any that are not valid comparators - set = set.filter(function(comp) { - return !!comp.match(compRe); - }); - } - set = set.map(function(comp) { - return new Comparator(comp, loose); - }); - - return set; -}; - -// Mostly just for testing and legacy API reasons -exports.toComparators = toComparators; -function toComparators(range, loose) { - return new Range(range, loose).set.map(function(comp) { - return comp.map(function(c) { - return c.value; - }).join(' ').trim().split(' '); - }); -} - -// comprised of xranges, tildes, stars, and gtlt's at this point. -// already replaced the hyphen ranges -// turn into a set of JUST comparators. -function parseComparator(comp, loose) { - debug('comp', comp); - comp = replaceCarets(comp, loose); - debug('caret', comp); - comp = replaceTildes(comp, loose); - debug('tildes', comp); - comp = replaceXRanges(comp, loose); - debug('xrange', comp); - comp = replaceStars(comp, loose); - debug('stars', comp); - return comp; -} - -function isX(id) { - return !id || id.toLowerCase() === 'x' || id === '*'; -} - -// ~, ~> --> * (any, kinda silly) -// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 -// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 -// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 -// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 -// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 -function replaceTildes(comp, loose) { - return comp.trim().split(/\s+/).map(function(comp) { - return replaceTilde(comp, loose); - }).join(' '); -} - -function replaceTilde(comp, loose) { - var r = loose ? re[TILDELOOSE] : re[TILDE]; - return comp.replace(r, function(_, M, m, p, pr) { - debug('tilde', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) - ret = ''; - else if (isX(m)) - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - else if (isX(p)) - // ~1.2 == >=1.2.0 <1.3.0 - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - else if (pr) { - debug('replaceTilde pr', pr); - if (pr.charAt(0) !== '-') - pr = '-' + pr; - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - // ~1.2.3 == >=1.2.3 <1.3.0 - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + (+m + 1) + '.0'; - - debug('tilde return', ret); - return ret; - }); -} - -// ^ --> * (any, kinda silly) -// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 -// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 -// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 -// ^1.2.3 --> >=1.2.3 <2.0.0 -// ^1.2.0 --> >=1.2.0 <2.0.0 -function replaceCarets(comp, loose) { - return comp.trim().split(/\s+/).map(function(comp) { - return replaceCaret(comp, loose); - }).join(' '); -} - -function replaceCaret(comp, loose) { - debug('caret', comp, loose); - var r = loose ? re[CARETLOOSE] : re[CARET]; - return comp.replace(r, function(_, M, m, p, pr) { - debug('caret', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) - ret = ''; - else if (isX(m)) - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - else if (isX(p)) { - if (M === '0') - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - else - ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'; - } else if (pr) { - debug('replaceCaret pr', pr); - if (pr.charAt(0) !== '-') - pr = '-' + pr; - if (M === '0') { - if (m === '0') - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + m + '.' + (+p + 1); - else - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + (+M + 1) + '.0.0'; - } else { - debug('no pr'); - if (M === '0') { - if (m === '0') - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + m + '.' + (+p + 1); - else - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - ret = '>=' + M + '.' + m + '.' + p + - ' <' + (+M + 1) + '.0.0'; - } - - debug('caret return', ret); - return ret; - }); -} - -function replaceXRanges(comp, loose) { - debug('replaceXRanges', comp, loose); - return comp.split(/\s+/).map(function(comp) { - return replaceXRange(comp, loose); - }).join(' '); -} - -function replaceXRange(comp, loose) { - comp = comp.trim(); - var r = loose ? re[XRANGELOOSE] : re[XRANGE]; - return comp.replace(r, function(ret, gtlt, M, m, p, pr) { - debug('xRange', comp, ret, gtlt, M, m, p, pr); - var xM = isX(M); - var xm = xM || isX(m); - var xp = xm || isX(p); - var anyX = xp; - - if (gtlt === '=' && anyX) - gtlt = ''; - - if (xM) { - if (gtlt === '>' || gtlt === '<') { - // nothing is allowed - ret = '<0.0.0'; - } else { - // nothing is forbidden - ret = '*'; - } - } else if (gtlt && anyX) { - // replace X with 0 - if (xm) - m = 0; - if (xp) - p = 0; - - if (gtlt === '>') { - // >1 => >=2.0.0 - // >1.2 => >=1.3.0 - // >1.2.3 => >= 1.2.4 - gtlt = '>='; - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else if (xp) { - m = +m + 1; - p = 0; - } - } else if (gtlt === '<=') { - // <=0.7.x is actually <0.8.0, since any 0.7.x should - // pass. Similarly, <=7.x is actually <8.0.0, etc. - gtlt = '<'; - if (xm) - M = +M + 1; - else - m = +m + 1; - } - - ret = gtlt + M + '.' + m + '.' + p; - } else if (xm) { - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - } else if (xp) { - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - } - - debug('xRange return', ret); - - return ret; - }); -} - -// Because * is AND-ed with everything else in the comparator, -// and '' means "any version", just remove the *s entirely. -function replaceStars(comp, loose) { - debug('replaceStars', comp, loose); - // Looseness is ignored here. star is always as loose as it gets! - return comp.trim().replace(re[STAR], ''); -} - -// This function is passed to string.replace(re[HYPHENRANGE]) -// M, m, patch, prerelease, build -// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 -// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do -// 1.2 - 3.4 => >=1.2.0 <3.5.0 -function hyphenReplace($0, - from, fM, fm, fp, fpr, fb, - to, tM, tm, tp, tpr, tb) { - - if (isX(fM)) - from = ''; - else if (isX(fm)) - from = '>=' + fM + '.0.0'; - else if (isX(fp)) - from = '>=' + fM + '.' + fm + '.0'; - else - from = '>=' + from; - - if (isX(tM)) - to = ''; - else if (isX(tm)) - to = '<' + (+tM + 1) + '.0.0'; - else if (isX(tp)) - to = '<' + tM + '.' + (+tm + 1) + '.0'; - else if (tpr) - to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr; - else - to = '<=' + to; - - return (from + ' ' + to).trim(); -} - - -// if ANY of the sets match ALL of its comparators, then pass -Range.prototype.test = function(version) { - if (!version) - return false; - - if (typeof version === 'string') - version = new SemVer(version, this.loose); - - for (var i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version)) - return true; - } - return false; -}; - -function testSet(set, version) { - for (var i = 0; i < set.length; i++) { - if (!set[i].test(version)) - return false; - } - - if (version.prerelease.length) { - // Find the set of versions that are allowed to have prereleases - // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 - // That should allow `1.2.3-pr.2` to pass. - // However, `1.2.4-alpha.notready` should NOT be allowed, - // even though it's within the range set by the comparators. - for (var i = 0; i < set.length; i++) { - debug(set[i].semver); - if (set[i].semver === ANY) - continue; - - if (set[i].semver.prerelease.length > 0) { - var allowed = set[i].semver; - if (allowed.major === version.major && - allowed.minor === version.minor && - allowed.patch === version.patch) - return true; - } - } - - // Version has a -pre, but it's not one of the ones we like. - return false; - } - - return true; -} - -exports.satisfies = satisfies; -function satisfies(version, range, loose) { - try { - range = new Range(range, loose); - } catch (er) { - return false; - } - return range.test(version); -} - -exports.maxSatisfying = maxSatisfying; -function maxSatisfying(versions, range, loose) { - return versions.filter(function(version) { - return satisfies(version, range, loose); - }).sort(function(a, b) { - return rcompare(a, b, loose); - })[0] || null; -} - -exports.minSatisfying = minSatisfying; -function minSatisfying(versions, range, loose) { - return versions.filter(function(version) { - return satisfies(version, range, loose); - }).sort(function(a, b) { - return compare(a, b, loose); - })[0] || null; -} - -exports.validRange = validRange; -function validRange(range, loose) { - try { - // Return '*' instead of '' so that truthiness works. - // This will throw if it's invalid anyway - return new Range(range, loose).range || '*'; - } catch (er) { - return null; - } -} - -// Determine if version is less than all the versions possible in the range -exports.ltr = ltr; -function ltr(version, range, loose) { - return outside(version, range, '<', loose); -} - -// Determine if version is greater than all the versions possible in the range. -exports.gtr = gtr; -function gtr(version, range, loose) { - return outside(version, range, '>', loose); -} - -exports.outside = outside; -function outside(version, range, hilo, loose) { - version = new SemVer(version, loose); - range = new Range(range, loose); - - var gtfn, ltefn, ltfn, comp, ecomp; - switch (hilo) { - case '>': - gtfn = gt; - ltefn = lte; - ltfn = lt; - comp = '>'; - ecomp = '>='; - break; - case '<': - gtfn = lt; - ltefn = gte; - ltfn = gt; - comp = '<'; - ecomp = '<='; - break; - default: - throw new TypeError('Must provide a hilo val of "<" or ">"'); - } - - // If it satisifes the range it is not outside - if (satisfies(version, range, loose)) { - return false; - } - - // From now on, variable terms are as if we're in "gtr" mode. - // but note that everything is flipped for the "ltr" function. - - for (var i = 0; i < range.set.length; ++i) { - var comparators = range.set[i]; - - var high = null; - var low = null; - - comparators.forEach(function(comparator) { - if (comparator.semver === ANY) { - comparator = new Comparator('>=0.0.0') - } - high = high || comparator; - low = low || comparator; - if (gtfn(comparator.semver, high.semver, loose)) { - high = comparator; - } else if (ltfn(comparator.semver, low.semver, loose)) { - low = comparator; - } - }); - - // If the edge version comparator has a operator then our version - // isn't outside it - if (high.operator === comp || high.operator === ecomp) { - return false; - } - - // If the lowest version comparator has an operator and our version - // is less than it then it isn't higher than the range - if ((!low.operator || low.operator === comp) && - ltefn(version, low.semver)) { - return false; - } else if (low.operator === ecomp && ltfn(version, low.semver)) { - return false; - } - } - return true; -} - -exports.prerelease = prerelease; -function prerelease(version, loose) { - var parsed = parse(version, loose); - return (parsed && parsed.prerelease.length) ? parsed.prerelease : null; -} diff --git a/deps/npm/node_modules/node-gyp/package.json b/deps/npm/node_modules/node-gyp/package.json index a5a39e3f2ba925..4638db5a3f4a30 100644 --- a/deps/npm/node_modules/node-gyp/package.json +++ b/deps/npm/node_modules/node-gyp/package.json @@ -1,63 +1,61 @@ { - "_from": "node-gyp@5.0.5", - "_id": "node-gyp@5.0.5", + "_from": "node-gyp@5.1.0", + "_id": "node-gyp@5.1.0", "_inBundle": false, - "_integrity": "sha512-WABl9s4/mqQdZneZHVWVG4TVr6QQJZUC6PAx47ITSk9lreZ1n+7Z9mMAIbA3vnO4J9W20P7LhCxtzfWsAD/KDw==", + "_integrity": "sha512-OUTryc5bt/P8zVgNUmC6xdXiDJxLMAW8cF5tLQOT9E5sOQj+UeQxnnPy74K3CLCa/SOjjBlbuzDLR8ANwA+wmw==", "_location": "/node-gyp", - "_phantomChildren": { - "abbrev": "1.1.1" - }, + "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "node-gyp@5.0.5", + "raw": "node-gyp@5.1.0", "name": "node-gyp", "escapedName": "node-gyp", - "rawSpec": "5.0.5", + "rawSpec": "5.1.0", "saveSpec": null, - "fetchSpec": "5.0.5" + "fetchSpec": "5.1.0" }, "_requiredBy": [ "#USER", "/", "/npm-lifecycle" ], - "_resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.0.5.tgz", - "_shasum": "f6cf1da246eb8c42b097d7cd4d6c3ce23a4163af", - "_spec": "node-gyp@5.0.5", - "_where": "/Users/isaacs/dev/npm/cli", + "_resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.0.tgz", + "_shasum": "8e31260a7af4a2e2f994b0673d4e0b3866156332", + "_spec": "node-gyp@5.1.0", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli", "author": { "name": "Nathan Rajlich", "email": "nathan@tootallnate.net", "url": "http://tootallnate.net" }, "bin": { - "node-gyp": "./bin/node-gyp.js" + "node-gyp": "bin/node-gyp.js" }, "bugs": { "url": "https://github.com/nodejs/node-gyp/issues" }, "bundleDependencies": false, "dependencies": { - "env-paths": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "npmlog": "^4.1.2", + "request": "^2.88.0", + "rimraf": "^2.6.3", + "semver": "^5.7.1", "tar": "^4.4.12", - "which": "1" + "which": "^1.3.1" }, "deprecated": false, "description": "Node.js native addon build tool", "devDependencies": { - "bindings": "~1.2.1", - "nan": "^2.0.0", - "require-inject": "~1.3.0", - "standard": "~14.3.1", + "bindings": "^1.5.0", + "nan": "^2.14.0", + "require-inject": "^1.4.4", + "standard": "^14.3.1", "tap": "~12.7.0" }, "engines": { @@ -86,5 +84,5 @@ "lint": "standard */*.js test/**/*.js", "test": "npm run lint && tap --timeout=120 test/test-*" }, - "version": "5.0.5" + "version": "5.1.0" } diff --git a/deps/npm/node_modules/node-gyp/test/common.js b/deps/npm/node_modules/node-gyp/test/common.js new file mode 100644 index 00000000000000..b714ee29029d36 --- /dev/null +++ b/deps/npm/node_modules/node-gyp/test/common.js @@ -0,0 +1,3 @@ +const envPaths = require('env-paths') + +module.exports.devDir = () => envPaths('node-gyp', { suffix: '' }).cache diff --git a/deps/npm/node_modules/node-gyp/test/docker.sh b/deps/npm/node_modules/node-gyp/test/docker.sh deleted file mode 100755 index 67014209d00038..00000000000000 --- a/deps/npm/node_modules/node-gyp/test/docker.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/bash - -#set -e - -test_node_versions="6.17.0 8.15.1 10.15.3 11.12.0" - -myuid=$(id -u) -mygid=$(id -g) -__dirname="$(CDPATH= cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -dot_node_gyp=${__dirname}/.node-gyp/ - -# borrows from https://github.com/rvagg/dnt/ - -# Simple setup function for a container: -# setup_container(image id, base image, commands to run to set up) -setup_container() { - local container_id="$1" - local base_container="$2" - local run_cmd="$3" - - # Does this image exist? If yes, ignore - docker inspect "$container_id" &> /dev/null - if [[ $? -eq 0 ]]; then - echo "Found existing container [$container_id]" - else - # No such image, so make it - echo "Did not find container [$container_id], creating..." - docker run -i $base_container /bin/bash -c "$run_cmd" - sleep 2 - docker commit $(docker ps -l -q) $container_id - fi -} - -# Run tests inside each of the versioned containers, copy cwd into npm's copy of node-gyp -# so it'll be invoked by npm when a compile is needed -# run_tests(version, test-commands) -run_tests() { - local version="$1" - local run_cmd="$2" - - run_cmd="rsync -aAXx --delete --exclude .git --exclude build /node-gyp-src/ /usr/lib/node_modules/npm/node_modules/node-gyp/; - /bin/su -s /bin/bash node-gyp -c 'cd && ${run_cmd}'" - - rm -rf $dot_node_gyp - mkdir $dot_node_gyp - - docker run \ - --rm -i \ - -v ~/.npm/:/node-gyp/.npm/ \ - -v ${dot_node_gyp}:/node-gyp/.node-gyp/ \ - -v $(pwd):/node-gyp-src/:ro \ - node-gyp-test/${version} /bin/bash -c "${run_cmd}" -} - -# A base image with build tools and a user account -setup_container "node-gyp-test/base" "ubuntu:14.04" " - adduser --gecos node-gyp --home /node-gyp/ --disabled-login node-gyp --uid $myuid && - echo "node-gyp:node-gyp" | chpasswd && - apt-get update && - apt-get install -y build-essential python git rsync curl -" - -# An image on top of the base containing clones of repos we want to use for testing -setup_container "node-gyp-test/clones" "node-gyp-test/base" " - cd /node-gyp/ && git clone https://github.com/justmoon/node-bignum.git && - cd /node-gyp/ && git clone https://github.com/bnoordhuis/node-buffertools.git && - chown -R node-gyp.node-gyp /node-gyp/ -" - -# An image for each of the node versions we want to test with that version installed and the latest npm -for v in $test_node_versions; do - setup_container "node-gyp-test/${v}" "node-gyp-test/clones" " - curl -sL https://nodejs.org/dist/v${v}/node-v${v}-linux-x64.tar.gz | tar -zxv --strip-components=1 -C /usr/ && - npm install npm@latest -g && - node -v && npm -v - " -done - -# Test use of --target=x.y.z to compile against alternate versions -test_download_node_version() { - local run_with_ver="$1" - local expected_dir="$2" - local expected_ver="$3" - run_tests $run_with_ver "cd node-buffertools && npm install --loglevel=info --target=${expected_ver}" - local node_ver=$(cat "${dot_node_gyp}${expected_dir}/node_version.h" | grep '#define NODE_\w*_VERSION [0-9]*$') - node_ver=$(echo $node_ver | sed 's/#define NODE_[A-Z]*_VERSION //g' | sed 's/ /./g') - if [ "X$(echo $node_ver)" != "X${expected_ver}" ]; then - echo "Did not download v${expected_ver} using --target, instead got: $(echo $node_ver)" - exit 1 - fi - echo "Verified correct download of [v${node_ver}]" -} - -test_download_node_version "0.12.7" "0.10.30/src" "0.10.30" -# should download the headers file -test_download_node_version "4.3.0" "4.3.0/include/node" "4.3.0" -test_download_node_version "5.6.0" "5.6.0/include/node" "5.6.0" - -# TODO: test --dist-url by starting up a localhost server and serving up tarballs - -# testing --dist-url, using simple-proxy.js to make localhost work as a distribution -# point for tarballs -# we can test whether it uses the proxy because after 2 connections the proxy will -# die and therefore should not be running at the end of the test, `nc` can tell us this -run_tests "0.12.7" " - (node /node-gyp-src/test/simple-proxy.js 8080 /boombar/ https://nodejs.org/dist/ &) && - cd node-buffertools && - NODEJS_ORG_MIRROR=http://localhost:8080/boombar/ /node-gyp-src/bin/node-gyp.js --loglevel=info rebuild && - nc -z localhost 8080 && echo -e \"\\n\\n\\033[31mFAILED TO USE LOCAL PROXY\\033[39m\\n\\n\" -" - -rm -rf $dot_node_gyp diff --git a/deps/npm/node_modules/node-gyp/test/test-configure-python.js b/deps/npm/node_modules/node-gyp/test/test-configure-python.js index 518bf036d0ecb3..d08f9e5ed38efd 100644 --- a/deps/npm/node_modules/node-gyp/test/test-configure-python.js +++ b/deps/npm/node_modules/node-gyp/test/test-configure-python.js @@ -2,6 +2,7 @@ const test = require('tap').test const path = require('path') +const devDir = require('./common').devDir() const gyp = require('../lib/node-gyp') const requireInject = require('require-inject') const configure = requireInject('../lib/configure', { @@ -30,6 +31,7 @@ test('configure PYTHONPATH with no existing env', function (t) { t.equal(process.env.PYTHONPATH, EXPECTED_PYPATH) return SPAWN_RESULT } + prog.devDir = devDir configure(prog, [], t.fail) }) @@ -49,6 +51,7 @@ test('configure PYTHONPATH with existing env of one dir', function (t) { return SPAWN_RESULT } + prog.devDir = devDir configure(prog, [], t.fail) }) @@ -70,5 +73,6 @@ test('configure PYTHONPATH with existing env of multiple dirs', function (t) { return SPAWN_RESULT } + prog.devDir = devDir configure(prog, [], t.fail) }) diff --git a/deps/npm/node_modules/node-gyp/test/test-download.js b/deps/npm/node_modules/node-gyp/test/test-download.js index dbffb20246267b..fe373e3280ce66 100644 --- a/deps/npm/node_modules/node-gyp/test/test-download.js +++ b/deps/npm/node_modules/node-gyp/test/test-download.js @@ -6,8 +6,13 @@ const path = require('path') const http = require('http') const https = require('https') const install = require('../lib/install') +const semver = require('semver') +const devDir = require('./common').devDir() +const rimraf = require('rimraf') +const gyp = require('../lib/node-gyp') +const log = require('npmlog') -require('npmlog').level = 'warn' +log.level = 'warn' test('download over http', function (t) { t.plan(2) @@ -85,6 +90,101 @@ test('download over https with custom ca', function (t) { }) }) +test('download over http with proxy', function (t) { + t.plan(2) + + var server = http.createServer(function (req, res) { + t.strictEqual(req.headers['user-agent'], + 'node-gyp v42 (node ' + process.version + ')') + res.end('ok') + pserver.close(function () { + server.close() + }) + }) + + var pserver = http.createServer(function (req, res) { + t.strictEqual(req.headers['user-agent'], + 'node-gyp v42 (node ' + process.version + ')') + res.end('proxy ok') + server.close(function () { + pserver.close() + }) + }) + + var host = 'localhost' + server.listen(0, host, function () { + var port = this.address().port + pserver.listen(port + 1, host, function () { + var gyp = { + opts: { + proxy: 'http://' + host + ':' + (port + 1) + }, + version: '42' + } + var url = 'http://' + host + ':' + port + var req = install.test.download(gyp, {}, url) + req.on('response', function (res) { + var body = '' + res.setEncoding('utf8') + res.on('data', function (data) { + body += data + }) + res.on('end', function () { + t.strictEqual(body, 'proxy ok') + }) + }) + }) + }) +}) + +test('download over http with noproxy', function (t) { + t.plan(2) + + var server = http.createServer(function (req, res) { + t.strictEqual(req.headers['user-agent'], + 'node-gyp v42 (node ' + process.version + ')') + res.end('ok') + pserver.close(function () { + server.close() + }) + }) + + var pserver = http.createServer(function (req, res) { + t.strictEqual(req.headers['user-agent'], + 'node-gyp v42 (node ' + process.version + ')') + res.end('proxy ok') + server.close(function () { + pserver.close() + }) + }) + + var host = 'localhost' + server.listen(0, host, function () { + var port = this.address().port + pserver.listen(port + 1, host, function () { + var gyp = { + opts: { + proxy: 'http://' + host + ':' + (port + 1), + noproxy: 'localhost' + }, + version: '42' + } + var url = 'http://' + host + ':' + port + var req = install.test.download(gyp, {}, url) + req.on('response', function (res) { + var body = '' + res.setEncoding('utf8') + res.on('data', function (data) { + body += data + }) + res.on('end', function () { + t.strictEqual(body, 'ok') + }) + }) + }) + }) +}) + test('download with missing cafile', function (t) { t.plan(1) var gyp = { @@ -103,3 +203,66 @@ test('check certificate splitting', function (t) { t.strictEqual(cas.length, 2) t.notStrictEqual(cas[0], cas[1]) }) + +// only run this test if we are running a version of Node with predictable version path behavior + +test('download headers (actual)', function (t) { + if (process.env.FAST_TEST || + process.release.name !== 'node' || + semver.prerelease(process.version) !== null || + semver.satisfies(process.version, '<10')) { + return t.skip('Skipping actual download of headers due to test environment configuration') + } + + t.plan(17) + + const expectedDir = path.join(devDir, process.version.replace(/^v/, '')) + rimraf(expectedDir, (err) => { + t.ifError(err) + + const prog = gyp() + prog.parseArgv([]) + prog.devDir = devDir + log.level = 'warn' + install(prog, [], (err) => { + t.ifError(err) + + fs.readFile(path.join(expectedDir, 'installVersion'), 'utf8', (err, data) => { + t.ifError(err) + t.strictEqual(data, '9\n', 'correct installVersion') + }) + + fs.readdir(path.join(expectedDir, 'include/node'), (err, list) => { + t.ifError(err) + + t.ok(list.includes('common.gypi')) + t.ok(list.includes('config.gypi')) + t.ok(list.includes('node.h')) + t.ok(list.includes('node_version.h')) + t.ok(list.includes('openssl')) + t.ok(list.includes('uv')) + t.ok(list.includes('uv.h')) + t.ok(list.includes('v8-platform.h')) + t.ok(list.includes('v8.h')) + t.ok(list.includes('zlib.h')) + }) + + fs.readFile(path.join(expectedDir, 'include/node/node_version.h'), 'utf8', (err, contents) => { + t.ifError(err) + + const lines = contents.split('\n') + + // extract the 3 version parts from the defines to build a valid version string and + // and check them against our current env version + const version = ['major', 'minor', 'patch'].reduce((version, type) => { + const re = new RegExp(`^#define\\sNODE_${type.toUpperCase()}_VERSION`) + const line = lines.find((l) => re.test(l)) + const i = line ? parseInt(line.replace(/^[^0-9]+([0-9]+).*$/, '$1'), 10) : 'ERROR' + return `${version}${type !== 'major' ? '.' : 'v'}${i}` + }, '') + + t.strictEqual(version, process.version) + }) + }) + }) +}) diff --git a/deps/npm/node_modules/npm-packlist/package.json b/deps/npm/node_modules/npm-packlist/package.json index c022dcef65b515..693c51b96140da 100644 --- a/deps/npm/node_modules/npm-packlist/package.json +++ b/deps/npm/node_modules/npm-packlist/package.json @@ -1,29 +1,29 @@ { - "_from": "npm-packlist@1.4.7", - "_id": "npm-packlist@1.4.7", + "_from": "npm-packlist@1.4.8", + "_id": "npm-packlist@1.4.8", "_inBundle": false, - "_integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", + "_integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", "_location": "/npm-packlist", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "npm-packlist@1.4.7", + "raw": "npm-packlist@1.4.8", "name": "npm-packlist", "escapedName": "npm-packlist", - "rawSpec": "1.4.7", + "rawSpec": "1.4.8", "saveSpec": null, - "fetchSpec": "1.4.7" + "fetchSpec": "1.4.8" }, "_requiredBy": [ "#USER", "/", "/pacote" ], - "_resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.7.tgz", - "_shasum": "9e954365a06b80b18111ea900945af4f88ed4848", - "_spec": "npm-packlist@1.4.7", - "_where": "/Users/isaacs/dev/npm/cli", + "_resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", + "_shasum": "56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e", + "_spec": "npm-packlist@1.4.8", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", @@ -35,7 +35,8 @@ "bundleDependencies": false, "dependencies": { "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" }, "deprecated": false, "description": "Get a list of the files to add from a folder into an npm package", @@ -71,5 +72,5 @@ "tap": { "jobs": 1 }, - "version": "1.4.7" + "version": "1.4.8" } diff --git a/deps/npm/node_modules/npm-profile/index.js b/deps/npm/node_modules/npm-profile/index.js index b7f753fb4d41da..d9c48c131bc927 100644 --- a/deps/npm/node_modules/npm-profile/index.js +++ b/deps/npm/node_modules/npm-profile/index.js @@ -1,7 +1,7 @@ 'use strict' const fetch = require('npm-registry-fetch') -const {HttpErrorBase} = require('npm-registry-fetch/errors.js') +const { HttpErrorBase } = require('npm-registry-fetch/errors.js') const os = require('os') const pudding = require('figgy-pudding') const validate = require('aproba') @@ -18,6 +18,16 @@ exports.listTokens = listTokens exports.removeToken = removeToken exports.createToken = createToken +const url = require('url') + +const isValidUrl = u => { + if (u && typeof u === 'string') { + const p = url.parse(u) + return p.slashes && p.host && p.path && /^https?:$/.test(p.protocol) + } + return false +} + const ProfileConfig = pudding({ creds: {}, hostname: {}, @@ -76,21 +86,16 @@ function webAuth (opener, opts, body) { })).then(res => { return Promise.all([res, res.json()]) }).then(([res, content]) => { - const {doneUrl, loginUrl} = content + const { doneUrl, loginUrl } = content process.emit('log', 'verbose', 'web auth', 'got response', content) - if ( - typeof doneUrl !== 'string' || - typeof loginUrl !== 'string' || - !doneUrl || - !loginUrl - ) { + if (!isValidUrl(doneUrl) || !isValidUrl(loginUrl)) { throw new WebLoginInvalidResponse('POST', res, content) } return content - }).then(({doneUrl, loginUrl}) => { + }).then(({ doneUrl, loginUrl }) => { process.emit('log', 'verbose', 'web auth', 'opening url pair') return opener(loginUrl).then( - () => webAuthCheckLogin(doneUrl, opts.concat({cache: false})) + () => webAuthCheckLogin(doneUrl, opts.concat({ cache: false })) ) }).catch(er => { if ((er.statusCode >= 400 && er.statusCode <= 499) || er.statusCode === 500) { @@ -183,7 +188,7 @@ function loginCouch (username, password, opts) { } if (err.code !== 'E409') throw err return fetch.json(target, opts.concat({ - query: {write: true} + query: { write: true } })).then(result => { Object.keys(result).forEach(function (k) { if (!body[k] || k === 'roles') { diff --git a/deps/npm/node_modules/npm-profile/package.json b/deps/npm/node_modules/npm-profile/package.json index 2f252aac85ab0d..e90e16ddf975d9 100644 --- a/deps/npm/node_modules/npm-profile/package.json +++ b/deps/npm/node_modules/npm-profile/package.json @@ -1,28 +1,29 @@ { - "_from": "npm-profile@4.0.2", - "_id": "npm-profile@4.0.2", + "_from": "npm-profile@4.0.4", + "_id": "npm-profile@4.0.4", "_inBundle": false, - "_integrity": "sha512-VRsC04pvRH+9cF+PoVh2nTmJjiG21yu59IHpsBpkxk+jaGAV8lxx96G4SDc0jOHAkfWLXbc6kIph3dGAuRnotQ==", + "_integrity": "sha512-Ta8xq8TLMpqssF0H60BXS1A90iMoM6GeKwsmravJ6wYjWwSzcYBTdyWa3DZCYqPutacBMEm7cxiOkiIeCUAHDQ==", "_location": "/npm-profile", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "npm-profile@4.0.2", + "raw": "npm-profile@4.0.4", "name": "npm-profile", "escapedName": "npm-profile", - "rawSpec": "4.0.2", + "rawSpec": "4.0.4", "saveSpec": null, - "fetchSpec": "4.0.2" + "fetchSpec": "4.0.4" }, "_requiredBy": [ "#USER", - "/" + "/", + "/libnpm" ], - "_resolved": "https://registry.npmjs.org/npm-profile/-/npm-profile-4.0.2.tgz", - "_shasum": "8272a71c19634d0dce9c35a5daf8ee589cbb0f52", - "_spec": "npm-profile@4.0.2", - "_where": "/Users/isaacs/dev/npm/cli", + "_resolved": "https://registry.npmjs.org/npm-profile/-/npm-profile-4.0.4.tgz", + "_shasum": "28ee94390e936df6d084263ee2061336a6a1581b", + "_spec": "npm-profile@4.0.4", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli", "author": { "name": "Rebecca Turner", "email": "me@re-becca.org", @@ -48,9 +49,12 @@ "license": "ISC", "main": "index.js", "name": "npm-profile", + "publishConfig": { + "tag": "legacy-v4" + }, "repository": { "type": "git", "url": "git+https://github.com/npm/npm-profile.git" }, - "version": "4.0.2" + "version": "4.0.4" } diff --git a/deps/npm/node_modules/npm-registry-fetch/CHANGELOG.md b/deps/npm/node_modules/npm-registry-fetch/CHANGELOG.md index 8eee50a4790a3c..3599c6b2fcac1b 100644 --- a/deps/npm/node_modules/npm-registry-fetch/CHANGELOG.md +++ b/deps/npm/node_modules/npm-registry-fetch/CHANGELOG.md @@ -2,6 +2,17 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [4.0.3](https://github.com/npm/registry-fetch/compare/v4.0.2...v4.0.3) (2020-02-13) + + +### Bug Fixes + +* always bypass cache when ?write=true ([ba8b4fe](https://github.com/npm/registry-fetch/commit/ba8b4fe)) +* use 30s default for timeout as per README ([69c2977](https://github.com/npm/registry-fetch/commit/69c2977)), closes [#20](https://github.com/npm/registry-fetch/issues/20) + + + ## [4.0.2](https://github.com/npm/registry-fetch/compare/v4.0.0...v4.0.2) (2019-10-04) diff --git a/deps/npm/node_modules/npm-registry-fetch/README.md b/deps/npm/node_modules/npm-registry-fetch/README.md index 0c3f4f9469955b..80ce64cda78efe 100644 --- a/deps/npm/node_modules/npm-registry-fetch/README.md +++ b/deps/npm/node_modules/npm-registry-fetch/README.md @@ -50,6 +50,25 @@ Happy hacking! ### API +#### Caching and `write=true` query strings + +Before performing any PUT or DELETE operation, npm clients first make a +GET request to the registry resource being updated, which includes +the query string `?write=true`. + +The semantics of this are, effectively, "I intend to write to this thing, +and need to know the latest current value, so that my write can land +cleanly". + +The public npm registry handles these `?write=true` requests by ensuring +that the cache is re-validated before sending a response. In order to +maintain the same behavior on the client, and not get tripped up by an +overeager local cache when we intend to write data to the registry, any +request that comes through `npm-registry-fetch` that contains `write=true` +in the query string will forcibly set the `prefer-online` option to `true`, +and set both `prefer-offline` and `offline` to false, so that any local +cached value will be revalidated. + #### `> fetch(url, [opts]) -> Promise` Performs a request to a given URL. @@ -391,6 +410,9 @@ Force offline mode: no network requests will be done during install. To allow This option is only really useful if you're also using [`opts.cache`](#opts-cache). +This option is set to `true` when the request includes `write=true` in the +query string. + ##### `opts.otp` * Type: Number | String @@ -402,7 +424,7 @@ account. ##### `opts.password` -* Alias: _password +* Alias: `_password` * Type: String * Default: null @@ -432,6 +454,9 @@ will be requested from the server. To force full offline mode, use This option is generally only useful if you're also using [`opts.cache`](#opts-cache). +This option is set to `false` when the request includes `write=true` in the +query string. + ##### `opts.prefer-online` * Type: Boolean @@ -443,6 +468,8 @@ for updates immediately even for fresh package data. This option is generally only useful if you're also using [`opts.cache`](#opts-cache). +This option is set to `true` when the request includes `write=true` in the +query string. ##### `opts.project-scope` @@ -606,4 +633,4 @@ See also [`opts.password`](#opts-password) * Default: null ** DEPRECATED ** This is a legacy authentication token supported only for -*compatibility. Please use [`opts.token`](#opts-token) instead. +compatibility. Please use [`opts.token`](#opts-token) instead. diff --git a/deps/npm/node_modules/npm-registry-fetch/config.js b/deps/npm/node_modules/npm-registry-fetch/config.js index 1c43b26eadd4c4..d7be3f9b38a167 100644 --- a/deps/npm/node_modules/npm-registry-fetch/config.js +++ b/deps/npm/node_modules/npm-registry-fetch/config.js @@ -75,7 +75,9 @@ module.exports = figgyPudding({ 'scope': {}, 'spec': {}, 'strict-ssl': {}, - 'timeout': {}, + 'timeout': { + default: 30 * 1000 + }, 'user-agent': { default: `${ pkg.name diff --git a/deps/npm/node_modules/npm-registry-fetch/index.js b/deps/npm/node_modules/npm-registry-fetch/index.js index c18487388b269f..9bd0ad32d7c9e9 100644 --- a/deps/npm/node_modules/npm-registry-fetch/index.js +++ b/deps/npm/node_modules/npm-registry-fetch/index.js @@ -53,26 +53,38 @@ function regFetch (uri, opts) { }) } } - if (opts.query) { - let q = opts.query + + let q = opts.query + if (q) { if (typeof q === 'string') { q = qs.parse(q) + } else if (typeof q !== 'object') { + throw new TypeError('invalid query option, must be string or object') } Object.keys(q).forEach(key => { if (q[key] === undefined) { delete q[key] } }) - if (Object.keys(q).length) { - const parsed = url.parse(uri) - parsed.search = '?' + qs.stringify( - parsed.query - ? Object.assign(qs.parse(parsed.query), q) - : q - ) - uri = url.format(parsed) + } + const parsed = url.parse(uri) + + const query = parsed.query ? Object.assign(qs.parse(parsed.query), q || {}) + : Object.keys(q || {}).length ? q + : null + + if (query) { + if (String(query.write) === 'true' && opts.method === 'GET') { + opts = opts.concat({ + offline: false, + 'prefer-offline': false, + 'prefer-online': true + }) } + parsed.search = '?' + qs.stringify(query) + uri = url.format(parsed) } + return opts.Promise.resolve(body).then(body => fetch(uri, { agent: opts.agent, algorithms: opts.algorithms, diff --git a/deps/npm/node_modules/npm-registry-fetch/package.json b/deps/npm/node_modules/npm-registry-fetch/package.json index 78e3100daa47f9..ca6c5f90c63527 100644 --- a/deps/npm/node_modules/npm-registry-fetch/package.json +++ b/deps/npm/node_modules/npm-registry-fetch/package.json @@ -1,19 +1,19 @@ { - "_from": "npm-registry-fetch@4.0.2", - "_id": "npm-registry-fetch@4.0.2", + "_from": "npm-registry-fetch@4.0.3", + "_id": "npm-registry-fetch@4.0.3", "_inBundle": false, - "_integrity": "sha512-Z0IFtPEozNdeZRPh3aHHxdG+ZRpzcbQaJLthsm3VhNf6DScicTFRHZzK82u8RsJUsUHkX+QH/zcB/5pmd20H4A==", + "_integrity": "sha512-WGvUx0lkKFhu9MbiGFuT9nG2NpfQ+4dCJwRwwtK2HK5izJEvwDxMeUyqbuMS7N/OkpVCqDorV6rO5E4V9F8lJw==", "_location": "/npm-registry-fetch", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "npm-registry-fetch@4.0.2", + "raw": "npm-registry-fetch@4.0.3", "name": "npm-registry-fetch", "escapedName": "npm-registry-fetch", - "rawSpec": "4.0.2", + "rawSpec": "4.0.3", "saveSpec": null, - "fetchSpec": "4.0.2" + "fetchSpec": "4.0.3" }, "_requiredBy": [ "#USER", @@ -28,10 +28,10 @@ "/npm-profile", "/pacote" ], - "_resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.2.tgz", - "_shasum": "2b1434f93ccbe6b6385f8e45f45db93e16921d7a", - "_spec": "npm-registry-fetch@4.0.2", - "_where": "/Users/mperrotte/npminc/cli", + "_resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.3.tgz", + "_shasum": "3c2179e39e04f9348b1c2979545951d36bee8766", + "_spec": "npm-registry-fetch@4.0.3", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli", "author": { "name": "Kat Marchán", "email": "kzm@sykosomatic.org" @@ -86,6 +86,9 @@ "license": "ISC", "main": "index.js", "name": "npm-registry-fetch", + "publishConfig": { + "tag": "latest-v4" + }, "repository": { "type": "git", "url": "git+https://github.com/npm/registry-fetch.git" @@ -99,5 +102,5 @@ "update-coc": "weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'", "update-contrib": "weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'" }, - "version": "4.0.2" + "version": "4.0.3" } diff --git a/deps/npm/node_modules/os-locale/index.js b/deps/npm/node_modules/os-locale/index.js index 1ada7a4949c7c6..8c73c99f20e2f1 100644 --- a/deps/npm/node_modules/os-locale/index.js +++ b/deps/npm/node_modules/os-locale/index.js @@ -3,33 +3,51 @@ const execa = require('execa'); const lcid = require('lcid'); const mem = require('mem'); -const defaultOpts = {spawn: true}; +const defaultOptions = {spawn: true}; const defaultLocale = 'en_US'; -function getEnvLocale(env) { - env = env || process.env; +function getEnvLocale(env = process.env) { return env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE; } -function parseLocale(x) { - const env = x.split('\n').reduce((env, def) => { - def = def.split('='); - env[def[0]] = def[1].replace(/^"|"$/g, ''); +function parseLocale(string) { + const env = string.split('\n').reduce((env, def) => { + const [key, value] = def.split('='); + env[key] = value.replace(/^"|"$/g, ''); return env; }, {}); + return getEnvLocale(env); } -function getLocale(str) { - return (str && str.replace(/[.:].*/, '')); +function getLocale(string) { + return (string && string.replace(/[.:].*/, '')); +} + +function getLocales() { + return execa.stdout('locale', ['-a']); +} + +function getLocalesSync() { + return execa.sync('locale', ['-a']).stdout; +} + +function getSupportedLocale(locale, locales = '') { + return locales.includes(locale) ? locale : defaultLocale; } function getAppleLocale() { - return execa.stdout('defaults', ['read', '-g', 'AppleLocale']); + return Promise.all([ + execa.stdout('defaults', ['read', '-globalDomain', 'AppleLocale']), + getLocales() + ]).then(results => getSupportedLocale(results[0], results[1])); } function getAppleLocaleSync() { - return execa.sync('defaults', ['read', '-g', 'AppleLocale']).stdout; + return getSupportedLocale( + execa.sync('defaults', ['read', '-globalDomain', 'AppleLocale']).stdout, + getLocalesSync() + ); } function getUnixLocale() { @@ -58,17 +76,16 @@ function getWinLocale() { } function getWinLocaleSync() { - const stdout = execa.sync('wmic', ['os', 'get', 'locale']).stdout; + const {stdout} = execa.sync('wmic', ['os', 'get', 'locale']); const lcidCode = parseInt(stdout.replace('Locale', ''), 16); return lcid.from(lcidCode); } -module.exports = mem(opts => { - opts = opts || defaultOpts; +module.exports = mem((options = defaultOptions) => { const envLocale = getEnvLocale(); - let thenable; - if (envLocale || opts.spawn === false) { + let thenable; + if (envLocale || options.spawn === false) { thenable = Promise.resolve(getLocale(envLocale)); } else if (process.platform === 'win32') { thenable = getWinLocale(); @@ -76,25 +93,21 @@ module.exports = mem(opts => { thenable = getUnixLocale(); } - return thenable.then(locale => locale || defaultLocale) + return thenable + .then(locale => locale || defaultLocale) .catch(() => defaultLocale); }); -module.exports.sync = mem(opts => { - opts = opts || defaultOpts; +module.exports.sync = mem((options = defaultOptions) => { const envLocale = getEnvLocale(); - let res; - if (envLocale || opts.spawn === false) { + let res; + if (envLocale || options.spawn === false) { res = getLocale(envLocale); } else { try { - if (process.platform === 'win32') { - res = getWinLocaleSync(); - } else { - res = getUnixLocaleSync(); - } - } catch (err) {} + res = process.platform === 'win32' ? getWinLocaleSync() : getUnixLocaleSync(); + } catch (_) {} } return res || defaultLocale; diff --git a/deps/npm/node_modules/os-locale/license b/deps/npm/node_modules/os-locale/license index 654d0bfe943437..e7af2f77107d73 100644 --- a/deps/npm/node_modules/os-locale/license +++ b/deps/npm/node_modules/os-locale/license @@ -1,21 +1,9 @@ -The MIT License (MIT) +MIT License Copyright (c) Sindre Sorhus (sindresorhus.com) -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: +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 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. +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. diff --git a/deps/npm/node_modules/os-locale/node_modules/cross-spawn/CHANGELOG.md b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/CHANGELOG.md new file mode 100644 index 00000000000000..ded9620b18d252 --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/CHANGELOG.md @@ -0,0 +1,100 @@ +# Change Log + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + + +## [6.0.5](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.4...v6.0.5) (2018-03-02) + + +### Bug Fixes + +* avoid using deprecated Buffer constructor ([#94](https://github.com/moxystudio/node-cross-spawn/issues/94)) ([d5770df](https://github.com/moxystudio/node-cross-spawn/commit/d5770df)), closes [/nodejs.org/api/deprecations.html#deprecations_dep0005](https://github.com//nodejs.org/api/deprecations.html/issues/deprecations_dep0005) + + + + +## [6.0.4](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.3...v6.0.4) (2018-01-31) + + +### Bug Fixes + +* fix paths being incorrectly normalized on unix ([06ee3c6](https://github.com/moxystudio/node-cross-spawn/commit/06ee3c6)), closes [#90](https://github.com/moxystudio/node-cross-spawn/issues/90) + + + + +## [6.0.3](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.2...v6.0.3) (2018-01-23) + + + + +## [6.0.2](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.1...v6.0.2) (2018-01-23) + + + + +## [6.0.1](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.0...v6.0.1) (2018-01-23) + + + + +# [6.0.0](https://github.com/moxystudio/node-cross-spawn/compare/5.1.0...6.0.0) (2018-01-23) + + +### Bug Fixes + +* fix certain arguments not being correctly escaped or causing batch syntax error ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)), closes [#82](https://github.com/moxystudio/node-cross-spawn/issues/82) [#51](https://github.com/moxystudio/node-cross-spawn/issues/51) +* fix commands as posix relatixe paths not working correctly, e.g.: `./my-command` ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) +* fix `options` argument being mutated ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) +* fix commands resolution when PATH was actually Path ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) + + +### Features + +* improve compliance with node's ENOENT errors ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) +* improve detection of node's shell option support ([900cf10](https://github.com/moxystudio/node-cross-spawn/commit/900cf10)) + + +### Chores + +* upgrade tooling +* upgrate project to es6 (node v4) + + +### BREAKING CHANGES + +* remove support for older nodejs versions, only `node >= 4` is supported + + + +## [5.1.0](https://github.com/moxystudio/node-cross-spawn/compare/5.0.1...5.1.0) (2017-02-26) + + +### Bug Fixes + +* fix `options.shell` support for NodeJS [v4.8](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V4.md#4.8.0) + + + +## [5.0.1](https://github.com/moxystudio/node-cross-spawn/compare/5.0.0...5.0.1) (2016-11-04) + + +### Bug Fixes + +* fix `options.shell` support for NodeJS v7 + + + +# [5.0.0](https://github.com/moxystudio/node-cross-spawn/compare/4.0.2...5.0.0) (2016-10-30) + + +## Features + +* add support for `options.shell` +* improve parsing of shebangs by using [`shebang-command`](https://github.com/kevva/shebang-command) module + + +## Chores + +* refactor some code to make it more clear +* update README caveats diff --git a/deps/npm/node_modules/os-locale/node_modules/cross-spawn/LICENSE b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/LICENSE new file mode 100644 index 00000000000000..8407b9a30f51b0 --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2018 Made With MOXY Lda + +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. diff --git a/deps/npm/node_modules/os-locale/node_modules/cross-spawn/README.md b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/README.md new file mode 100644 index 00000000000000..72c718c9d5bec2 --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/README.md @@ -0,0 +1,94 @@ +# cross-spawn + +[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Build status][appveyor-image]][appveyor-url] [![Coverage Status][codecov-image]][codecov-url] [![Dependency status][david-dm-image]][david-dm-url] [![Dev Dependency status][david-dm-dev-image]][david-dm-dev-url] [![Greenkeeper badge][greenkeeper-image]][greenkeeper-url] + +[npm-url]:https://npmjs.org/package/cross-spawn +[downloads-image]:http://img.shields.io/npm/dm/cross-spawn.svg +[npm-image]:http://img.shields.io/npm/v/cross-spawn.svg +[travis-url]:https://travis-ci.org/moxystudio/node-cross-spawn +[travis-image]:http://img.shields.io/travis/moxystudio/node-cross-spawn/master.svg +[appveyor-url]:https://ci.appveyor.com/project/satazor/node-cross-spawn +[appveyor-image]:https://img.shields.io/appveyor/ci/satazor/node-cross-spawn/master.svg +[codecov-url]:https://codecov.io/gh/moxystudio/node-cross-spawn +[codecov-image]:https://img.shields.io/codecov/c/github/moxystudio/node-cross-spawn/master.svg +[david-dm-url]:https://david-dm.org/moxystudio/node-cross-spawn +[david-dm-image]:https://img.shields.io/david/moxystudio/node-cross-spawn.svg +[david-dm-dev-url]:https://david-dm.org/moxystudio/node-cross-spawn?type=dev +[david-dm-dev-image]:https://img.shields.io/david/dev/moxystudio/node-cross-spawn.svg +[greenkeeper-image]:https://badges.greenkeeper.io/moxystudio/node-cross-spawn.svg +[greenkeeper-url]:https://greenkeeper.io/ + +A cross platform solution to node's spawn and spawnSync. + + +## Installation + +`$ npm install cross-spawn` + + +## Why + +Node has issues when using spawn on Windows: + +- It ignores [PATHEXT](https://github.com/joyent/node/issues/2318) +- It does not support [shebangs](https://en.wikipedia.org/wiki/Shebang_(Unix)) +- Has problems running commands with [spaces](https://github.com/nodejs/node/issues/7367) +- Has problems running commands with posix relative paths (e.g.: `./my-folder/my-executable`) +- Has an [issue](https://github.com/moxystudio/node-cross-spawn/issues/82) with command shims (files in `node_modules/.bin/`), where arguments with quotes and parenthesis would result in [invalid syntax error](https://github.com/moxystudio/node-cross-spawn/blob/e77b8f22a416db46b6196767bcd35601d7e11d54/test/index.test.js#L149) +- No `options.shell` support on node `` where `` must not contain any arguments. +If you would like to have the shebang support improved, feel free to contribute via a pull-request. + +Remember to always test your code on Windows! + + +## Tests + +`$ npm test` +`$ npm test -- --watch` during development + +## License + +Released under the [MIT License](http://www.opensource.org/licenses/mit-license.php). diff --git a/deps/npm/node_modules/os-locale/node_modules/cross-spawn/index.js b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/index.js new file mode 100644 index 00000000000000..5509742ca9fa8f --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/index.js @@ -0,0 +1,39 @@ +'use strict'; + +const cp = require('child_process'); +const parse = require('./lib/parse'); +const enoent = require('./lib/enoent'); + +function spawn(command, args, options) { + // Parse the arguments + const parsed = parse(command, args, options); + + // Spawn the child process + const spawned = cp.spawn(parsed.command, parsed.args, parsed.options); + + // Hook into child process "exit" event to emit an error if the command + // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 + enoent.hookChildProcess(spawned, parsed); + + return spawned; +} + +function spawnSync(command, args, options) { + // Parse the arguments + const parsed = parse(command, args, options); + + // Spawn the child process + const result = cp.spawnSync(parsed.command, parsed.args, parsed.options); + + // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 + result.error = result.error || enoent.verifyENOENTSync(result.status, parsed); + + return result; +} + +module.exports = spawn; +module.exports.spawn = spawn; +module.exports.sync = spawnSync; + +module.exports._parse = parse; +module.exports._enoent = enoent; diff --git a/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/enoent.js b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/enoent.js new file mode 100644 index 00000000000000..14df9b623d0a20 --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/enoent.js @@ -0,0 +1,59 @@ +'use strict'; + +const isWin = process.platform === 'win32'; + +function notFoundError(original, syscall) { + return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), { + code: 'ENOENT', + errno: 'ENOENT', + syscall: `${syscall} ${original.command}`, + path: original.command, + spawnargs: original.args, + }); +} + +function hookChildProcess(cp, parsed) { + if (!isWin) { + return; + } + + const originalEmit = cp.emit; + + cp.emit = function (name, arg1) { + // If emitting "exit" event and exit code is 1, we need to check if + // the command exists and emit an "error" instead + // See https://github.com/IndigoUnited/node-cross-spawn/issues/16 + if (name === 'exit') { + const err = verifyENOENT(arg1, parsed, 'spawn'); + + if (err) { + return originalEmit.call(cp, 'error', err); + } + } + + return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params + }; +} + +function verifyENOENT(status, parsed) { + if (isWin && status === 1 && !parsed.file) { + return notFoundError(parsed.original, 'spawn'); + } + + return null; +} + +function verifyENOENTSync(status, parsed) { + if (isWin && status === 1 && !parsed.file) { + return notFoundError(parsed.original, 'spawnSync'); + } + + return null; +} + +module.exports = { + hookChildProcess, + verifyENOENT, + verifyENOENTSync, + notFoundError, +}; diff --git a/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/parse.js b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/parse.js new file mode 100644 index 00000000000000..962827a94e8c07 --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/parse.js @@ -0,0 +1,125 @@ +'use strict'; + +const path = require('path'); +const niceTry = require('nice-try'); +const resolveCommand = require('./util/resolveCommand'); +const escape = require('./util/escape'); +const readShebang = require('./util/readShebang'); +const semver = require('semver'); + +const isWin = process.platform === 'win32'; +const isExecutableRegExp = /\.(?:com|exe)$/i; +const isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i; + +// `options.shell` is supported in Node ^4.8.0, ^5.7.0 and >= 6.0.0 +const supportsShellOption = niceTry(() => semver.satisfies(process.version, '^4.8.0 || ^5.7.0 || >= 6.0.0', true)) || false; + +function detectShebang(parsed) { + parsed.file = resolveCommand(parsed); + + const shebang = parsed.file && readShebang(parsed.file); + + if (shebang) { + parsed.args.unshift(parsed.file); + parsed.command = shebang; + + return resolveCommand(parsed); + } + + return parsed.file; +} + +function parseNonShell(parsed) { + if (!isWin) { + return parsed; + } + + // Detect & add support for shebangs + const commandFile = detectShebang(parsed); + + // We don't need a shell if the command filename is an executable + const needsShell = !isExecutableRegExp.test(commandFile); + + // If a shell is required, use cmd.exe and take care of escaping everything correctly + // Note that `forceShell` is an hidden option used only in tests + if (parsed.options.forceShell || needsShell) { + // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/` + // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument + // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called, + // we need to double escape them + const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile); + + // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar) + // This is necessary otherwise it will always fail with ENOENT in those cases + parsed.command = path.normalize(parsed.command); + + // Escape command & arguments + parsed.command = escape.command(parsed.command); + parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars)); + + const shellCommand = [parsed.command].concat(parsed.args).join(' '); + + parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; + parsed.command = process.env.comspec || 'cmd.exe'; + parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped + } + + return parsed; +} + +function parseShell(parsed) { + // If node supports the shell option, there's no need to mimic its behavior + if (supportsShellOption) { + return parsed; + } + + // Mimic node shell option + // See https://github.com/nodejs/node/blob/b9f6a2dc059a1062776133f3d4fd848c4da7d150/lib/child_process.js#L335 + const shellCommand = [parsed.command].concat(parsed.args).join(' '); + + if (isWin) { + parsed.command = typeof parsed.options.shell === 'string' ? parsed.options.shell : process.env.comspec || 'cmd.exe'; + parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; + parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped + } else { + if (typeof parsed.options.shell === 'string') { + parsed.command = parsed.options.shell; + } else if (process.platform === 'android') { + parsed.command = '/system/bin/sh'; + } else { + parsed.command = '/bin/sh'; + } + + parsed.args = ['-c', shellCommand]; + } + + return parsed; +} + +function parse(command, args, options) { + // Normalize arguments, similar to nodejs + if (args && !Array.isArray(args)) { + options = args; + args = null; + } + + args = args ? args.slice(0) : []; // Clone array to avoid changing the original + options = Object.assign({}, options); // Clone object to avoid changing the original + + // Build our parsed object + const parsed = { + command, + args, + options, + file: undefined, + original: { + command, + args, + }, + }; + + // Delegate further parsing to shell or non-shell + return options.shell ? parseShell(parsed) : parseNonShell(parsed); +} + +module.exports = parse; diff --git a/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/util/escape.js b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/util/escape.js new file mode 100644 index 00000000000000..b0bb84c3a14092 --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/util/escape.js @@ -0,0 +1,45 @@ +'use strict'; + +// See http://www.robvanderwoude.com/escapechars.php +const metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g; + +function escapeCommand(arg) { + // Escape meta chars + arg = arg.replace(metaCharsRegExp, '^$1'); + + return arg; +} + +function escapeArgument(arg, doubleEscapeMetaChars) { + // Convert to string + arg = `${arg}`; + + // Algorithm below is based on https://qntm.org/cmd + + // Sequence of backslashes followed by a double quote: + // double up all the backslashes and escape the double quote + arg = arg.replace(/(\\*)"/g, '$1$1\\"'); + + // Sequence of backslashes followed by the end of the string + // (which will become a double quote later): + // double up all the backslashes + arg = arg.replace(/(\\*)$/, '$1$1'); + + // All other backslashes occur literally + + // Quote the whole thing: + arg = `"${arg}"`; + + // Escape meta chars + arg = arg.replace(metaCharsRegExp, '^$1'); + + // Double escape meta chars if necessary + if (doubleEscapeMetaChars) { + arg = arg.replace(metaCharsRegExp, '^$1'); + } + + return arg; +} + +module.exports.command = escapeCommand; +module.exports.argument = escapeArgument; diff --git a/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/util/readShebang.js b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/util/readShebang.js new file mode 100644 index 00000000000000..bd4f1280c9cadb --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/util/readShebang.js @@ -0,0 +1,32 @@ +'use strict'; + +const fs = require('fs'); +const shebangCommand = require('shebang-command'); + +function readShebang(command) { + // Read the first 150 bytes from the file + const size = 150; + let buffer; + + if (Buffer.alloc) { + // Node.js v4.5+ / v5.10+ + buffer = Buffer.alloc(size); + } else { + // Old Node.js API + buffer = new Buffer(size); + buffer.fill(0); // zero-fill + } + + let fd; + + try { + fd = fs.openSync(command, 'r'); + fs.readSync(fd, buffer, 0, size, 0); + fs.closeSync(fd); + } catch (e) { /* Empty */ } + + // Attempt to extract shebang (null is returned if not a shebang) + return shebangCommand(buffer.toString()); +} + +module.exports = readShebang; diff --git a/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/util/resolveCommand.js b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/util/resolveCommand.js new file mode 100644 index 00000000000000..2fd5ad27056078 --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/lib/util/resolveCommand.js @@ -0,0 +1,47 @@ +'use strict'; + +const path = require('path'); +const which = require('which'); +const pathKey = require('path-key')(); + +function resolveCommandAttempt(parsed, withoutPathExt) { + const cwd = process.cwd(); + const hasCustomCwd = parsed.options.cwd != null; + + // If a custom `cwd` was specified, we need to change the process cwd + // because `which` will do stat calls but does not support a custom cwd + if (hasCustomCwd) { + try { + process.chdir(parsed.options.cwd); + } catch (err) { + /* Empty */ + } + } + + let resolved; + + try { + resolved = which.sync(parsed.command, { + path: (parsed.options.env || process.env)[pathKey], + pathExt: withoutPathExt ? path.delimiter : undefined, + }); + } catch (e) { + /* Empty */ + } finally { + process.chdir(cwd); + } + + // If we successfully resolved, ensure that an absolute path is returned + // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it + if (resolved) { + resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved); + } + + return resolved; +} + +function resolveCommand(parsed) { + return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true); +} + +module.exports = resolveCommand; diff --git a/deps/npm/node_modules/os-locale/node_modules/cross-spawn/package.json b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/package.json new file mode 100644 index 00000000000000..3fdff9f498b270 --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/cross-spawn/package.json @@ -0,0 +1,107 @@ +{ + "_from": "cross-spawn@^6.0.0", + "_id": "cross-spawn@6.0.5", + "_inBundle": false, + "_integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "_location": "/os-locale/cross-spawn", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "cross-spawn@^6.0.0", + "name": "cross-spawn", + "escapedName": "cross-spawn", + "rawSpec": "^6.0.0", + "saveSpec": null, + "fetchSpec": "^6.0.0" + }, + "_requiredBy": [ + "/os-locale/execa" + ], + "_resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "_shasum": "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4", + "_spec": "cross-spawn@^6.0.0", + "_where": "/Users/mperrotte/npminc/cli/node_modules/os-locale/node_modules/execa", + "author": { + "name": "André Cruz", + "email": "andre@moxy.studio" + }, + "bugs": { + "url": "https://github.com/moxystudio/node-cross-spawn/issues" + }, + "bundleDependencies": false, + "commitlint": { + "extends": [ + "@commitlint/config-conventional" + ] + }, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "deprecated": false, + "description": "Cross platform child_process#spawn and child_process#spawnSync", + "devDependencies": { + "@commitlint/cli": "^6.0.0", + "@commitlint/config-conventional": "^6.0.2", + "babel-core": "^6.26.0", + "babel-jest": "^22.1.0", + "babel-preset-moxy": "^2.2.1", + "eslint": "^4.3.0", + "eslint-config-moxy": "^5.0.0", + "husky": "^0.14.3", + "jest": "^22.0.0", + "lint-staged": "^7.0.0", + "mkdirp": "^0.5.1", + "regenerator-runtime": "^0.11.1", + "rimraf": "^2.6.2", + "standard-version": "^4.2.0" + }, + "engines": { + "node": ">=4.8" + }, + "files": [ + "lib" + ], + "homepage": "https://github.com/moxystudio/node-cross-spawn", + "keywords": [ + "spawn", + "spawnSync", + "windows", + "cross-platform", + "path-ext", + "shebang", + "cmd", + "execute" + ], + "license": "MIT", + "lint-staged": { + "*.js": [ + "eslint --fix", + "git add" + ] + }, + "main": "index.js", + "name": "cross-spawn", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/moxystudio/node-cross-spawn.git" + }, + "scripts": { + "commitmsg": "commitlint -e $GIT_PARAMS", + "lint": "eslint .", + "precommit": "lint-staged", + "prerelease": "npm t && npm run lint", + "release": "standard-version", + "test": "jest --env node --coverage" + }, + "standard-version": { + "scripts": { + "posttag": "git push --follow-tags origin master && npm publish" + } + }, + "version": "6.0.5" +} diff --git a/deps/npm/node_modules/os-locale/node_modules/execa/index.js b/deps/npm/node_modules/os-locale/node_modules/execa/index.js new file mode 100644 index 00000000000000..aad9ac88775cbc --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/execa/index.js @@ -0,0 +1,361 @@ +'use strict'; +const path = require('path'); +const childProcess = require('child_process'); +const crossSpawn = require('cross-spawn'); +const stripEof = require('strip-eof'); +const npmRunPath = require('npm-run-path'); +const isStream = require('is-stream'); +const _getStream = require('get-stream'); +const pFinally = require('p-finally'); +const onExit = require('signal-exit'); +const errname = require('./lib/errname'); +const stdio = require('./lib/stdio'); + +const TEN_MEGABYTES = 1000 * 1000 * 10; + +function handleArgs(cmd, args, opts) { + let parsed; + + opts = Object.assign({ + extendEnv: true, + env: {} + }, opts); + + if (opts.extendEnv) { + opts.env = Object.assign({}, process.env, opts.env); + } + + if (opts.__winShell === true) { + delete opts.__winShell; + parsed = { + command: cmd, + args, + options: opts, + file: cmd, + original: { + cmd, + args + } + }; + } else { + parsed = crossSpawn._parse(cmd, args, opts); + } + + opts = Object.assign({ + maxBuffer: TEN_MEGABYTES, + buffer: true, + stripEof: true, + preferLocal: true, + localDir: parsed.options.cwd || process.cwd(), + encoding: 'utf8', + reject: true, + cleanup: true + }, parsed.options); + + opts.stdio = stdio(opts); + + if (opts.preferLocal) { + opts.env = npmRunPath.env(Object.assign({}, opts, {cwd: opts.localDir})); + } + + if (opts.detached) { + // #115 + opts.cleanup = false; + } + + if (process.platform === 'win32' && path.basename(parsed.command) === 'cmd.exe') { + // #116 + parsed.args.unshift('/q'); + } + + return { + cmd: parsed.command, + args: parsed.args, + opts, + parsed + }; +} + +function handleInput(spawned, input) { + if (input === null || input === undefined) { + return; + } + + if (isStream(input)) { + input.pipe(spawned.stdin); + } else { + spawned.stdin.end(input); + } +} + +function handleOutput(opts, val) { + if (val && opts.stripEof) { + val = stripEof(val); + } + + return val; +} + +function handleShell(fn, cmd, opts) { + let file = '/bin/sh'; + let args = ['-c', cmd]; + + opts = Object.assign({}, opts); + + if (process.platform === 'win32') { + opts.__winShell = true; + file = process.env.comspec || 'cmd.exe'; + args = ['/s', '/c', `"${cmd}"`]; + opts.windowsVerbatimArguments = true; + } + + if (opts.shell) { + file = opts.shell; + delete opts.shell; + } + + return fn(file, args, opts); +} + +function getStream(process, stream, {encoding, buffer, maxBuffer}) { + if (!process[stream]) { + return null; + } + + let ret; + + if (!buffer) { + // TODO: Use `ret = util.promisify(stream.finished)(process[stream]);` when targeting Node.js 10 + ret = new Promise((resolve, reject) => { + process[stream] + .once('end', resolve) + .once('error', reject); + }); + } else if (encoding) { + ret = _getStream(process[stream], { + encoding, + maxBuffer + }); + } else { + ret = _getStream.buffer(process[stream], {maxBuffer}); + } + + return ret.catch(err => { + err.stream = stream; + err.message = `${stream} ${err.message}`; + throw err; + }); +} + +function makeError(result, options) { + const {stdout, stderr} = result; + + let err = result.error; + const {code, signal} = result; + + const {parsed, joinedCmd} = options; + const timedOut = options.timedOut || false; + + if (!err) { + let output = ''; + + if (Array.isArray(parsed.opts.stdio)) { + if (parsed.opts.stdio[2] !== 'inherit') { + output += output.length > 0 ? stderr : `\n${stderr}`; + } + + if (parsed.opts.stdio[1] !== 'inherit') { + output += `\n${stdout}`; + } + } else if (parsed.opts.stdio !== 'inherit') { + output = `\n${stderr}${stdout}`; + } + + err = new Error(`Command failed: ${joinedCmd}${output}`); + err.code = code < 0 ? errname(code) : code; + } + + err.stdout = stdout; + err.stderr = stderr; + err.failed = true; + err.signal = signal || null; + err.cmd = joinedCmd; + err.timedOut = timedOut; + + return err; +} + +function joinCmd(cmd, args) { + let joinedCmd = cmd; + + if (Array.isArray(args) && args.length > 0) { + joinedCmd += ' ' + args.join(' '); + } + + return joinedCmd; +} + +module.exports = (cmd, args, opts) => { + const parsed = handleArgs(cmd, args, opts); + const {encoding, buffer, maxBuffer} = parsed.opts; + const joinedCmd = joinCmd(cmd, args); + + let spawned; + try { + spawned = childProcess.spawn(parsed.cmd, parsed.args, parsed.opts); + } catch (err) { + return Promise.reject(err); + } + + let removeExitHandler; + if (parsed.opts.cleanup) { + removeExitHandler = onExit(() => { + spawned.kill(); + }); + } + + let timeoutId = null; + let timedOut = false; + + const cleanup = () => { + if (timeoutId) { + clearTimeout(timeoutId); + timeoutId = null; + } + + if (removeExitHandler) { + removeExitHandler(); + } + }; + + if (parsed.opts.timeout > 0) { + timeoutId = setTimeout(() => { + timeoutId = null; + timedOut = true; + spawned.kill(parsed.opts.killSignal); + }, parsed.opts.timeout); + } + + const processDone = new Promise(resolve => { + spawned.on('exit', (code, signal) => { + cleanup(); + resolve({code, signal}); + }); + + spawned.on('error', err => { + cleanup(); + resolve({error: err}); + }); + + if (spawned.stdin) { + spawned.stdin.on('error', err => { + cleanup(); + resolve({error: err}); + }); + } + }); + + function destroy() { + if (spawned.stdout) { + spawned.stdout.destroy(); + } + + if (spawned.stderr) { + spawned.stderr.destroy(); + } + } + + const handlePromise = () => pFinally(Promise.all([ + processDone, + getStream(spawned, 'stdout', {encoding, buffer, maxBuffer}), + getStream(spawned, 'stderr', {encoding, buffer, maxBuffer}) + ]).then(arr => { + const result = arr[0]; + result.stdout = arr[1]; + result.stderr = arr[2]; + + if (result.error || result.code !== 0 || result.signal !== null) { + const err = makeError(result, { + joinedCmd, + parsed, + timedOut + }); + + // TODO: missing some timeout logic for killed + // https://github.com/nodejs/node/blob/master/lib/child_process.js#L203 + // err.killed = spawned.killed || killed; + err.killed = err.killed || spawned.killed; + + if (!parsed.opts.reject) { + return err; + } + + throw err; + } + + return { + stdout: handleOutput(parsed.opts, result.stdout), + stderr: handleOutput(parsed.opts, result.stderr), + code: 0, + failed: false, + killed: false, + signal: null, + cmd: joinedCmd, + timedOut: false + }; + }), destroy); + + crossSpawn._enoent.hookChildProcess(spawned, parsed.parsed); + + handleInput(spawned, parsed.opts.input); + + spawned.then = (onfulfilled, onrejected) => handlePromise().then(onfulfilled, onrejected); + spawned.catch = onrejected => handlePromise().catch(onrejected); + + return spawned; +}; + +// TODO: set `stderr: 'ignore'` when that option is implemented +module.exports.stdout = (...args) => module.exports(...args).then(x => x.stdout); + +// TODO: set `stdout: 'ignore'` when that option is implemented +module.exports.stderr = (...args) => module.exports(...args).then(x => x.stderr); + +module.exports.shell = (cmd, opts) => handleShell(module.exports, cmd, opts); + +module.exports.sync = (cmd, args, opts) => { + const parsed = handleArgs(cmd, args, opts); + const joinedCmd = joinCmd(cmd, args); + + if (isStream(parsed.opts.input)) { + throw new TypeError('The `input` option cannot be a stream in sync mode'); + } + + const result = childProcess.spawnSync(parsed.cmd, parsed.args, parsed.opts); + result.code = result.status; + + if (result.error || result.status !== 0 || result.signal !== null) { + const err = makeError(result, { + joinedCmd, + parsed + }); + + if (!parsed.opts.reject) { + return err; + } + + throw err; + } + + return { + stdout: handleOutput(parsed.opts, result.stdout), + stderr: handleOutput(parsed.opts, result.stderr), + code: 0, + failed: false, + signal: null, + cmd: joinedCmd, + timedOut: false + }; +}; + +module.exports.shellSync = (cmd, opts) => handleShell(module.exports.sync, cmd, opts); diff --git a/deps/npm/node_modules/os-locale/node_modules/execa/lib/errname.js b/deps/npm/node_modules/os-locale/node_modules/execa/lib/errname.js new file mode 100644 index 00000000000000..a93a435dfc6663 --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/execa/lib/errname.js @@ -0,0 +1,38 @@ +'use strict'; +// Older verions of Node.js might not have `util.getSystemErrorName()`. +// In that case, fall back to a deprecated internal. +const util = require('util'); + +let uv; + +if (typeof util.getSystemErrorName === 'function') { + module.exports = util.getSystemErrorName; +} else { + try { + uv = process.binding('uv'); + + if (typeof uv.errname !== 'function') { + throw new TypeError('uv.errname is not a function'); + } + } catch (err) { + console.error('execa/lib/errname: unable to establish process.binding(\'uv\')', err); + uv = null; + } + + module.exports = code => errname(uv, code); +} + +// Used for testing the fallback behavior +module.exports.__test__ = errname; + +function errname(uv, code) { + if (uv) { + return uv.errname(code); + } + + if (!(code < 0)) { + throw new Error('err >= 0'); + } + + return `Unknown system error ${code}`; +} diff --git a/deps/npm/node_modules/os-locale/node_modules/execa/lib/stdio.js b/deps/npm/node_modules/os-locale/node_modules/execa/lib/stdio.js new file mode 100644 index 00000000000000..a82d46838ac9b9 --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/execa/lib/stdio.js @@ -0,0 +1,41 @@ +'use strict'; +const alias = ['stdin', 'stdout', 'stderr']; + +const hasAlias = opts => alias.some(x => Boolean(opts[x])); + +module.exports = opts => { + if (!opts) { + return null; + } + + if (opts.stdio && hasAlias(opts)) { + throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${alias.map(x => `\`${x}\``).join(', ')}`); + } + + if (typeof opts.stdio === 'string') { + return opts.stdio; + } + + const stdio = opts.stdio || []; + + if (!Array.isArray(stdio)) { + throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``); + } + + const result = []; + const len = Math.max(stdio.length, alias.length); + + for (let i = 0; i < len; i++) { + let value = null; + + if (stdio[i] !== undefined) { + value = stdio[i]; + } else if (opts[alias[i]] !== undefined) { + value = opts[alias[i]]; + } + + result[i] = value; + } + + return result; +}; diff --git a/deps/npm/node_modules/os-locale/node_modules/execa/license b/deps/npm/node_modules/os-locale/node_modules/execa/license new file mode 100644 index 00000000000000..e7af2f77107d73 --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/execa/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +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. diff --git a/deps/npm/node_modules/os-locale/node_modules/execa/package.json b/deps/npm/node_modules/os-locale/node_modules/execa/package.json new file mode 100644 index 00000000000000..7ab0a5777c7cd5 --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/execa/package.json @@ -0,0 +1,101 @@ +{ + "_from": "execa@^1.0.0", + "_id": "execa@1.0.0", + "_inBundle": false, + "_integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "_location": "/os-locale/execa", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "execa@^1.0.0", + "name": "execa", + "escapedName": "execa", + "rawSpec": "^1.0.0", + "saveSpec": null, + "fetchSpec": "^1.0.0" + }, + "_requiredBy": [ + "/os-locale" + ], + "_resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "_shasum": "c6236a5bb4df6d6f15e88e7f017798216749ddd8", + "_spec": "execa@^1.0.0", + "_where": "/Users/mperrotte/npminc/cli/node_modules/os-locale", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "bugs": { + "url": "https://github.com/sindresorhus/execa/issues" + }, + "bundleDependencies": false, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "deprecated": false, + "description": "A better `child_process`", + "devDependencies": { + "ava": "*", + "cat-names": "^1.0.2", + "coveralls": "^3.0.1", + "delay": "^3.0.0", + "is-running": "^2.0.0", + "nyc": "^13.0.1", + "tempfile": "^2.0.0", + "xo": "*" + }, + "engines": { + "node": ">=6" + }, + "files": [ + "index.js", + "lib" + ], + "homepage": "https://github.com/sindresorhus/execa#readme", + "keywords": [ + "exec", + "child", + "process", + "execute", + "fork", + "execfile", + "spawn", + "file", + "shell", + "bin", + "binary", + "binaries", + "npm", + "path", + "local" + ], + "license": "MIT", + "name": "execa", + "nyc": { + "reporter": [ + "text", + "lcov" + ], + "exclude": [ + "**/fixtures/**", + "**/test.js", + "**/test/**" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/sindresorhus/execa.git" + }, + "scripts": { + "test": "xo && nyc ava" + }, + "version": "1.0.0" +} diff --git a/deps/npm/node_modules/os-locale/node_modules/execa/readme.md b/deps/npm/node_modules/os-locale/node_modules/execa/readme.md new file mode 100644 index 00000000000000..f3f533d92915eb --- /dev/null +++ b/deps/npm/node_modules/os-locale/node_modules/execa/readme.md @@ -0,0 +1,327 @@ +# execa [![Build Status: Linux](https://travis-ci.org/sindresorhus/execa.svg?branch=master)](https://travis-ci.org/sindresorhus/execa) [![Build status: Windows](https://ci.appveyor.com/api/projects/status/x5ajamxtjtt93cqv/branch/master?svg=true)](https://ci.appveyor.com/project/sindresorhus/execa/branch/master) [![Coverage Status](https://coveralls.io/repos/github/sindresorhus/execa/badge.svg?branch=master)](https://coveralls.io/github/sindresorhus/execa?branch=master) + +> A better [`child_process`](https://nodejs.org/api/child_process.html) + + +## Why + +- Promise interface. +- [Strips EOF](https://github.com/sindresorhus/strip-eof) from the output so you don't have to `stdout.trim()`. +- Supports [shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)) binaries cross-platform. +- [Improved Windows support.](https://github.com/IndigoUnited/node-cross-spawn#why) +- Higher max buffer. 10 MB instead of 200 KB. +- [Executes locally installed binaries by name.](#preferlocal) +- [Cleans up spawned processes when the parent process dies.](#cleanup) + + +## Install + +``` +$ npm install execa +``` + + + + + + +## Usage + +```js +const execa = require('execa'); + +(async () => { + const {stdout} = await execa('echo', ['unicorns']); + console.log(stdout); + //=> 'unicorns' +})(); +``` + +Additional examples: + +```js +const execa = require('execa'); + +(async () => { + // Pipe the child process stdout to the current stdout + execa('echo', ['unicorns']).stdout.pipe(process.stdout); + + + // Run a shell command + const {stdout} = await execa.shell('echo unicorns'); + //=> 'unicorns' + + + // Catching an error + try { + await execa.shell('exit 3'); + } catch (error) { + console.log(error); + /* + { + message: 'Command failed: /bin/sh -c exit 3' + killed: false, + code: 3, + signal: null, + cmd: '/bin/sh -c exit 3', + stdout: '', + stderr: '', + timedOut: false + } + */ + } +})(); + +// Catching an error with a sync method +try { + execa.shellSync('exit 3'); +} catch (error) { + console.log(error); + /* + { + message: 'Command failed: /bin/sh -c exit 3' + code: 3, + signal: null, + cmd: '/bin/sh -c exit 3', + stdout: '', + stderr: '', + timedOut: false + } + */ +} +``` + + +## API + +### execa(file, [arguments], [options]) + +Execute a file. + +Think of this as a mix of `child_process.execFile` and `child_process.spawn`. + +Returns a [`child_process` instance](https://nodejs.org/api/child_process.html#child_process_class_childprocess), which is enhanced to also be a `Promise` for a result `Object` with `stdout` and `stderr` properties. + +### execa.stdout(file, [arguments], [options]) + +Same as `execa()`, but returns only `stdout`. + +### execa.stderr(file, [arguments], [options]) + +Same as `execa()`, but returns only `stderr`. + +### execa.shell(command, [options]) + +Execute a command through the system shell. Prefer `execa()` whenever possible, as it's both faster and safer. + +Returns a [`child_process` instance](https://nodejs.org/api/child_process.html#child_process_class_childprocess). + +The `child_process` instance is enhanced to also be promise for a result object with `stdout` and `stderr` properties. + +### execa.sync(file, [arguments], [options]) + +Execute a file synchronously. + +Returns the same result object as [`child_process.spawnSync`](https://nodejs.org/api/child_process.html#child_process_child_process_spawnsync_command_args_options). + +This method throws an `Error` if the command fails. + +### execa.shellSync(file, [options]) + +Execute a command synchronously through the system shell. + +Returns the same result object as [`child_process.spawnSync`](https://nodejs.org/api/child_process.html#child_process_child_process_spawnsync_command_args_options). + +### options + +Type: `Object` + +#### cwd + +Type: `string`
    +Default: `process.cwd()` + +Current working directory of the child process. + +#### env + +Type: `Object`
    +Default: `process.env` + +Environment key-value pairs. Extends automatically from `process.env`. Set `extendEnv` to `false` if you don't want this. + +#### extendEnv + +Type: `boolean`
    +Default: `true` + +Set to `false` if you don't want to extend the environment variables when providing the `env` property. + +#### argv0 + +Type: `string` + +Explicitly set the value of `argv[0]` sent to the child process. This will be set to `command` or `file` if not specified. + +#### stdio + +Type: `string[]` `string`
    +Default: `pipe` + +Child's [stdio](https://nodejs.org/api/child_process.html#child_process_options_stdio) configuration. + +#### detached + +Type: `boolean` + +Prepare child to run independently of its parent process. Specific behavior [depends on the platform](https://nodejs.org/api/child_process.html#child_process_options_detached). + +#### uid + +Type: `number` + +Sets the user identity of the process. + +#### gid + +Type: `number` + +Sets the group identity of the process. + +#### shell + +Type: `boolean` `string`
    +Default: `false` + +If `true`, runs `command` inside of a shell. Uses `/bin/sh` on UNIX and `cmd.exe` on Windows. A different shell can be specified as a string. The shell should understand the `-c` switch on UNIX or `/d /s /c` on Windows. + +#### stripEof + +Type: `boolean`
    +Default: `true` + +[Strip EOF](https://github.com/sindresorhus/strip-eof) (last newline) from the output. + +#### preferLocal + +Type: `boolean`
    +Default: `true` + +Prefer locally installed binaries when looking for a binary to execute.
    +If you `$ npm install foo`, you can then `execa('foo')`. + +#### localDir + +Type: `string`
    +Default: `process.cwd()` + +Preferred path to find locally installed binaries in (use with `preferLocal`). + +#### input + +Type: `string` `Buffer` `stream.Readable` + +Write some input to the `stdin` of your binary.
    +Streams are not allowed when using the synchronous methods. + +#### reject + +Type: `boolean`
    +Default: `true` + +Setting this to `false` resolves the promise with the error instead of rejecting it. + +#### cleanup + +Type: `boolean`
    +Default: `true` + +Keep track of the spawned process and `kill` it when the parent process exits. + +#### encoding + +Type: `string`
    +Default: `utf8` + +Specify the character encoding used to decode the `stdout` and `stderr` output. + +#### timeout + +Type: `number`
    +Default: `0` + +If timeout is greater than `0`, the parent will send the signal identified by the `killSignal` property (the default is `SIGTERM`) if the child runs longer than timeout milliseconds. + +#### buffer + +Type: `boolean`
    +Default: `true` + +Buffer the output from the spawned process. When buffering is disabled you must consume the output of the `stdout` and `stderr` streams because the promise will not be resolved/rejected until they have completed. + +#### maxBuffer + +Type: `number`
    +Default: `10000000` (10MB) + +Largest amount of data in bytes allowed on `stdout` or `stderr`. + +#### killSignal + +Type: `string` `number`
    +Default: `SIGTERM` + +Signal value to be used when the spawned process will be killed. + +#### stdin + +Type: `string` `number` `Stream` `undefined` `null`
    +Default: `pipe` + +Same options as [`stdio`](https://nodejs.org/dist/latest-v6.x/docs/api/child_process.html#child_process_options_stdio). + +#### stdout + +Type: `string` `number` `Stream` `undefined` `null`
    +Default: `pipe` + +Same options as [`stdio`](https://nodejs.org/dist/latest-v6.x/docs/api/child_process.html#child_process_options_stdio). + +#### stderr + +Type: `string` `number` `Stream` `undefined` `null`
    +Default: `pipe` + +Same options as [`stdio`](https://nodejs.org/dist/latest-v6.x/docs/api/child_process.html#child_process_options_stdio). + +#### windowsVerbatimArguments + +Type: `boolean`
    +Default: `false` + +If `true`, no quoting or escaping of arguments is done on Windows. Ignored on other platforms. This is set to `true` automatically when the `shell` option is `true`. + + +## Tips + +### Save and pipe output from a child process + +Let's say you want to show the output of a child process in real-time while also saving it to a variable. + +```js +const execa = require('execa'); +const getStream = require('get-stream'); + +const stream = execa('echo', ['foo']).stdout; + +stream.pipe(process.stdout); + +getStream(stream).then(value => { + console.log('child output:', value); +}); +``` + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/deps/npm/node_modules/os-locale/package.json b/deps/npm/node_modules/os-locale/package.json index 3777aec6a39517..fb6646ec9974b8 100644 --- a/deps/npm/node_modules/os-locale/package.json +++ b/deps/npm/node_modules/os-locale/package.json @@ -1,27 +1,39 @@ { - "_from": "os-locale@^2.0.0", - "_id": "os-locale@2.1.0", + "_from": "os-locale@^3.1.0", + "_id": "os-locale@3.1.0", "_inBundle": false, - "_integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "_integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", "_location": "/os-locale", - "_phantomChildren": {}, + "_phantomChildren": { + "get-stream": "4.1.0", + "is-stream": "1.1.0", + "nice-try": "1.0.5", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "path-key": "2.0.1", + "semver": "5.7.1", + "shebang-command": "1.2.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0", + "which": "1.3.1" + }, "_requested": { "type": "range", "registry": true, - "raw": "os-locale@^2.0.0", + "raw": "os-locale@^3.1.0", "name": "os-locale", "escapedName": "os-locale", - "rawSpec": "^2.0.0", + "rawSpec": "^3.1.0", "saveSpec": null, - "fetchSpec": "^2.0.0" + "fetchSpec": "^3.1.0" }, "_requiredBy": [ "/yargs" ], - "_resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "_shasum": "42bc2900a6b5b8bd17376c8e882b65afccf24bf2", - "_spec": "os-locale@^2.0.0", - "_where": "/Users/rebecca/code/npm/node_modules/yargs", + "_resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "_shasum": "a802a6ee17f24c10483ab9935719cef4ed16bf1a", + "_spec": "os-locale@^3.1.0", + "_where": "/Users/mperrotte/npminc/cli/node_modules/yargs", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", @@ -32,19 +44,19 @@ }, "bundleDependencies": false, "dependencies": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" }, "deprecated": false, "description": "Get the system locale", "devDependencies": { - "ava": "*", - "import-fresh": "^2.0.0", - "xo": "*" + "ava": "^1.0.1", + "import-fresh": "^3.0.0", + "xo": "^0.23.0" }, "engines": { - "node": ">=4" + "node": ">=6" }, "files": [ "index.js" @@ -73,5 +85,5 @@ "scripts": { "test": "xo && ava" }, - "version": "2.1.0" + "version": "3.1.0" } diff --git a/deps/npm/node_modules/os-locale/readme.md b/deps/npm/node_modules/os-locale/readme.md index 7c80d33589e4bb..8f9c280eedb85e 100644 --- a/deps/npm/node_modules/os-locale/readme.md +++ b/deps/npm/node_modules/os-locale/readme.md @@ -6,11 +6,24 @@ Useful for localizing your module or app. POSIX systems: The returned locale refers to the [`LC_MESSAGE`](http://www.gnu.org/software/libc/manual/html_node/Locale-Categories.html#Locale-Categories) category, suitable for selecting the language used in the user interface for message translation. +--- + +
    + + Get professional support for 'os-locale' with a Tidelift subscription + +
    + + Tidelift helps make open source sustainable for maintainers while giving companies
    assurances about security, maintenance, and licensing for their dependencies. +
    +
    + +--- ## Install ``` -$ npm install --save os-locale +$ npm install os-locale ``` @@ -19,10 +32,10 @@ $ npm install --save os-locale ```js const osLocale = require('os-locale'); -osLocale().then(locale => { - console.log(locale); +(async () => { + console.log(await osLocale()); //=> 'en_US' -}); +})(); ``` @@ -48,6 +61,11 @@ Default: `true` Set to `false` to avoid spawning subprocesses and instead only resolve the locale from environment variables. +## Security + +To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure. + + ## License MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/deps/npm/node_modules/p-defer/index.js b/deps/npm/node_modules/p-defer/index.js new file mode 100644 index 00000000000000..eaef75e4e5f723 --- /dev/null +++ b/deps/npm/node_modules/p-defer/index.js @@ -0,0 +1,11 @@ +'use strict'; +module.exports = () => { + const ret = {}; + + ret.promise = new Promise((resolve, reject) => { + ret.resolve = resolve; + ret.reject = reject; + }); + + return ret; +}; diff --git a/deps/npm/node_modules/p-defer/license b/deps/npm/node_modules/p-defer/license new file mode 100644 index 00000000000000..654d0bfe943437 --- /dev/null +++ b/deps/npm/node_modules/p-defer/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +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. diff --git a/deps/npm/node_modules/p-defer/package.json b/deps/npm/node_modules/p-defer/package.json new file mode 100644 index 00000000000000..ee706cd9308589 --- /dev/null +++ b/deps/npm/node_modules/p-defer/package.json @@ -0,0 +1,77 @@ +{ + "_args": [ + [ + "p-defer@1.0.0", + "/Users/mperrotte/npminc/cli" + ] + ], + "_development": true, + "_from": "p-defer@1.0.0", + "_id": "p-defer@1.0.0", + "_inBundle": false, + "_integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "_location": "/p-defer", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "p-defer@1.0.0", + "name": "p-defer", + "escapedName": "p-defer", + "rawSpec": "1.0.0", + "saveSpec": null, + "fetchSpec": "1.0.0" + }, + "_requiredBy": [ + "/map-age-cleaner" + ], + "_resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "_spec": "1.0.0", + "_where": "/Users/mperrotte/npminc/cli", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "bugs": { + "url": "https://github.com/sindresorhus/p-defer/issues" + }, + "description": "Create a deferred promise", + "devDependencies": { + "ava": "*", + "xo": "*" + }, + "engines": { + "node": ">=4" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/sindresorhus/p-defer#readme", + "keywords": [ + "promise", + "defer", + "deferred", + "resolve", + "reject", + "lazy", + "later", + "async", + "await", + "promises", + "bluebird" + ], + "license": "MIT", + "name": "p-defer", + "repository": { + "type": "git", + "url": "git+https://github.com/sindresorhus/p-defer.git" + }, + "scripts": { + "test": "xo && ava" + }, + "version": "1.0.0", + "xo": { + "esnext": true + } +} diff --git a/deps/npm/node_modules/p-defer/readme.md b/deps/npm/node_modules/p-defer/readme.md new file mode 100644 index 00000000000000..b94f137129d9df --- /dev/null +++ b/deps/npm/node_modules/p-defer/readme.md @@ -0,0 +1,47 @@ +# p-defer [![Build Status](https://travis-ci.org/sindresorhus/p-defer.svg?branch=master)](https://travis-ci.org/sindresorhus/p-defer) + +> Create a deferred promise + +[**Don't use this unless you know what you're doing!**](https://github.com/petkaantonov/bluebird/wiki/Promise-anti-patterns#the-deferred-anti-pattern) Prefer the `Promise` constructor. + + +## Install + +``` +$ npm install --save p-defer +``` + + +## Usage + +```js +const pDefer = require('p-defer'); + +function delay(ms) { + const deferred = pDefer(); + setTimeout(deferred.resolve, ms, '🦄'); + return deferred.promise; +} + +delay(100).then(console.log); +//=> '🦄' +``` + +*The above is just an example. Use [`delay`](https://github.com/sindresorhus/delay) if you need to delay a promise.* + + +## API + +### pDefer() + +Returns an `Object` with a `promise` property and functions to `resolve()` and `reject()`. + + +## Related + +- [More…](https://github.com/sindresorhus/promise-fun) + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/deps/npm/node_modules/p-is-promise/index.d.ts b/deps/npm/node_modules/p-is-promise/index.d.ts new file mode 100644 index 00000000000000..662d9e0c420f60 --- /dev/null +++ b/deps/npm/node_modules/p-is-promise/index.d.ts @@ -0,0 +1,23 @@ +declare const pIsPromise: { + /** + Check if `input` is a ES2015 promise. + + @param input - Value to be checked. + + @example + ``` + import isPromise = require('p-is-promise'); + + isPromise(Promise.resolve('🦄')); + //=> true + ``` + */ + (input: unknown): input is Promise; + + // TODO: Remove this for the next major release, refactor the whole definition to: + // declare function pIsPromise(input: unknown): input is Promise; + // export = pIsPromise; + default: typeof pIsPromise; +}; + +export = pIsPromise; diff --git a/deps/npm/node_modules/p-is-promise/index.js b/deps/npm/node_modules/p-is-promise/index.js new file mode 100644 index 00000000000000..389d38fc55f6f4 --- /dev/null +++ b/deps/npm/node_modules/p-is-promise/index.js @@ -0,0 +1,15 @@ +'use strict'; + +const isPromise = input => ( + input instanceof Promise || + ( + input !== null && + typeof input === 'object' && + typeof input.then === 'function' && + typeof input.catch === 'function' + ) +); + +module.exports = isPromise; +// TODO: Remove this for the next major release +module.exports.default = isPromise; diff --git a/deps/npm/node_modules/p-is-promise/license b/deps/npm/node_modules/p-is-promise/license new file mode 100644 index 00000000000000..e7af2f77107d73 --- /dev/null +++ b/deps/npm/node_modules/p-is-promise/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +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. diff --git a/deps/npm/node_modules/p-is-promise/package.json b/deps/npm/node_modules/p-is-promise/package.json new file mode 100644 index 00000000000000..3315effdfb15df --- /dev/null +++ b/deps/npm/node_modules/p-is-promise/package.json @@ -0,0 +1,78 @@ +{ + "_args": [ + [ + "p-is-promise@2.1.0", + "/Users/mperrotte/npminc/cli" + ] + ], + "_development": true, + "_from": "p-is-promise@2.1.0", + "_id": "p-is-promise@2.1.0", + "_inBundle": false, + "_integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "_location": "/p-is-promise", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "p-is-promise@2.1.0", + "name": "p-is-promise", + "escapedName": "p-is-promise", + "rawSpec": "2.1.0", + "saveSpec": null, + "fetchSpec": "2.1.0" + }, + "_requiredBy": [ + "/nyc/mem" + ], + "_resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "_spec": "2.1.0", + "_where": "/Users/mperrotte/npminc/cli", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "bugs": { + "url": "https://github.com/sindresorhus/p-is-promise/issues" + }, + "description": "Check if something is a promise", + "devDependencies": { + "ava": "^1.4.1", + "bluebird": "^3.5.4", + "tsd": "^0.7.2", + "xo": "^0.24.0" + }, + "engines": { + "node": ">=6" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "homepage": "https://github.com/sindresorhus/p-is-promise#readme", + "keywords": [ + "promise", + "is", + "detect", + "check", + "kind", + "type", + "thenable", + "es2015", + "async", + "await", + "promises", + "bluebird" + ], + "license": "MIT", + "name": "p-is-promise", + "repository": { + "type": "git", + "url": "git+https://github.com/sindresorhus/p-is-promise.git" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "version": "2.1.0" +} diff --git a/deps/npm/node_modules/p-is-promise/readme.md b/deps/npm/node_modules/p-is-promise/readme.md new file mode 100644 index 00000000000000..0e0e48171a919d --- /dev/null +++ b/deps/npm/node_modules/p-is-promise/readme.md @@ -0,0 +1,43 @@ +# p-is-promise [![Build Status](https://travis-ci.org/sindresorhus/p-is-promise.svg?branch=master)](https://travis-ci.org/sindresorhus/p-is-promise) + +> Check if something is a promise + +Why not [`is-promise`](https://github.com/then/is-promise)? That module [checks for a thenable](https://github.com/then/is-promise/issues/6), not an ES2015 promise. This one is stricter. + +You most likely don't need this. Just pass your value to `Promise.resolve()` and let it handle it. + +Can be useful if you need to create a fast path for a synchronous operation. + + +## Install + +``` +$ npm install p-is-promise +``` + + +## Usage + +```js +const pIsPromise = require('p-is-promise'); +const Bluebird = require('bluebird'); + +pIsPromise(Promise.resolve('🦄')); +//=> true + +pIsPromise(Bluebird.resolve('🦄')); +//=> true + +pIsPromise('🦄'); +//=> false +``` + + +## Related + +- [More…](https://github.com/sindresorhus/promise-fun) + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/deps/npm/node_modules/pacote/CHANGELOG.md b/deps/npm/node_modules/pacote/CHANGELOG.md index 722a9fa168876e..b632c4eb47d116 100644 --- a/deps/npm/node_modules/pacote/CHANGELOG.md +++ b/deps/npm/node_modules/pacote/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [9.5.12](https://github.com/npm/pacote/compare/v9.5.11...v9.5.12) (2020-01-06) + + +### Bug Fixes + +* **git:** Do not drop uid/gid when executing in root-owned directory ([d2f4176](https://github.com/npm/pacote/commit/d2f4176)) + + + ## [9.5.11](https://github.com/npm/pacote/compare/v9.5.10...v9.5.11) (2019-12-09) diff --git a/deps/npm/node_modules/pacote/lib/util/git.js b/deps/npm/node_modules/pacote/lib/util/git.js index d2282bae15edad..7642eb2c856303 100644 --- a/deps/npm/node_modules/pacote/lib/util/git.js +++ b/deps/npm/node_modules/pacote/lib/util/git.js @@ -16,6 +16,7 @@ const promiseRetry = require('promise-retry') const uniqueFilename = require('unique-filename') const which = BB.promisify(require('which')) const semver = require('semver') +const inferOwner = require('infer-owner') const GOOD_ENV_VARS = new Set([ 'GIT_ASKPASS', @@ -181,10 +182,24 @@ function revs (repo, opts) { }) } +// infer the owner from the cwd git is operating in, if not the +// process cwd, but only if we're root. +// See: https://github.com/npm/cli/issues/624 +module.exports._cwdOwner = cwdOwner +function cwdOwner (gitOpts, opts) { + const isRoot = process.getuid && process.getuid() === 0 + if (!isRoot || !gitOpts.cwd) { return Promise.resolve() } + + return BB.resolve(inferOwner(gitOpts.cwd).then(owner => { + gitOpts.uid = owner.uid + gitOpts.gid = owner.gid + })) +} + module.exports._exec = execGit function execGit (gitArgs, gitOpts, opts) { opts = optCheck(opts) - return checkGit(opts).then(gitPath => { + return BB.resolve(cwdOwner(gitOpts, opts).then(() => checkGit(opts).then(gitPath => { return promiseRetry((retry, number) => { if (number !== 1) { opts.log.silly('pacote', 'Retrying git command: ' + gitArgs.join(' ') + ' attempt # ' + number) @@ -202,13 +217,13 @@ function execGit (gitArgs, gitOpts, opts) { maxTimeout: opts['fetch-retry-maxtimeout'], minTimeout: opts['fetch-retry-mintimeout'] }) - }) + }))) } module.exports._spawn = spawnGit function spawnGit (gitArgs, gitOpts, opts) { opts = optCheck(opts) - return checkGit(opts).then(gitPath => { + return BB.resolve(cwdOwner(gitOpts, opts).then(() => checkGit(opts).then(gitPath => { return promiseRetry((retry, number) => { if (number !== 1) { opts.log.silly('pacote', 'Retrying git command: ' + gitArgs.join(' ') + ' attempt # ' + number) @@ -231,7 +246,7 @@ function spawnGit (gitArgs, gitOpts, opts) { return stdout }) }, opts.retry) - }) + }))) } module.exports._mkOpts = mkOpts diff --git a/deps/npm/node_modules/pacote/package.json b/deps/npm/node_modules/pacote/package.json index 1efb87c5838e68..d558df21856cf0 100644 --- a/deps/npm/node_modules/pacote/package.json +++ b/deps/npm/node_modules/pacote/package.json @@ -1,8 +1,8 @@ { - "_from": "pacote@9.5.11", - "_id": "pacote@9.5.11", + "_from": "pacote@9.5.12", + "_id": "pacote@9.5.12", "_inBundle": false, - "_integrity": "sha512-DMDPvFKCjCg6zMS4IfzZyvT57O/bX8XGG00eEoy4K/S4Wj+qiN8KbnmKpsTvfS6OL9r5TAicxMKWbj1yV2Yh4g==", + "_integrity": "sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ==", "_location": "/pacote", "_phantomChildren": { "safe-buffer": "5.1.2", @@ -11,12 +11,12 @@ "_requested": { "type": "version", "registry": true, - "raw": "pacote@9.5.11", + "raw": "pacote@9.5.12", "name": "pacote", "escapedName": "pacote", - "rawSpec": "9.5.11", + "rawSpec": "9.5.12", "saveSpec": null, - "fetchSpec": "9.5.11" + "fetchSpec": "9.5.12" }, "_requiredBy": [ "#USER", @@ -24,10 +24,10 @@ "/libcipm", "/libnpm" ], - "_resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.11.tgz", - "_shasum": "524152077cb392c47b1fbe198aa28f778bef7ee1", - "_spec": "pacote@9.5.11", - "_where": "/Users/isaacs/dev/npm/cli", + "_resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.12.tgz", + "_shasum": "1e11dd7a8d736bcc36b375a9804d41bb0377bf66", + "_spec": "pacote@9.5.12", + "_where": "/Users/ruyadorno/Documents/workspace/cli", "author": { "name": "Kat Marchán", "email": "kzm@sykosomatic.org" @@ -123,5 +123,5 @@ "update-coc": "weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'", "update-contrib": "weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'" }, - "version": "9.5.11" + "version": "9.5.12" } diff --git a/deps/npm/node_modules/parallel-transform/node_modules/readable-stream/CONTRIBUTING.md b/deps/npm/node_modules/parallel-transform/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58dca85b2..00000000000000 --- a/deps/npm/node_modules/parallel-transform/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/deps/npm/node_modules/rc/node_modules/minimist/example/parse.js b/deps/npm/node_modules/rc/node_modules/minimist/example/parse.js index abff3e8ee8f5ef..f7c8d49807f32e 100644 --- a/deps/npm/node_modules/rc/node_modules/minimist/example/parse.js +++ b/deps/npm/node_modules/rc/node_modules/minimist/example/parse.js @@ -1,2 +1,2 @@ var argv = require('../')(process.argv.slice(2)); -console.dir(argv); +console.log(argv); diff --git a/deps/npm/node_modules/rc/node_modules/minimist/index.js b/deps/npm/node_modules/rc/node_modules/minimist/index.js index 6a0559d58133a8..d2afe5e4d4056e 100644 --- a/deps/npm/node_modules/rc/node_modules/minimist/index.js +++ b/deps/npm/node_modules/rc/node_modules/minimist/index.js @@ -68,12 +68,21 @@ module.exports = function (args, opts) { function setKey (obj, keys, value) { var o = obj; - keys.slice(0,-1).forEach(function (key) { + for (var i = 0; i < keys.length-1; i++) { + var key = keys[i]; + if (key === '__proto__') return; if (o[key] === undefined) o[key] = {}; + if (o[key] === Object.prototype || o[key] === Number.prototype + || o[key] === String.prototype) o[key] = {}; + if (o[key] === Array.prototype) o[key] = []; o = o[key]; - }); + } var key = keys[keys.length - 1]; + if (key === '__proto__') return; + if (o === Object.prototype || o === Number.prototype + || o === String.prototype) o = {}; + if (o === Array.prototype) o = []; if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') { o[key] = value; } @@ -171,7 +180,7 @@ module.exports = function (args, opts) { setArg(key, args[i+1], arg); i++; } - else if (args[i+1] && /true|false/.test(args[i+1])) { + else if (args[i+1] && /^(true|false)$/.test(args[i+1])) { setArg(key, args[i+1] === 'true', arg); i++; } diff --git a/deps/npm/node_modules/rc/node_modules/minimist/package.json b/deps/npm/node_modules/rc/node_modules/minimist/package.json index e22b6fc47a309d..86e9c8ee28bd2d 100644 --- a/deps/npm/node_modules/rc/node_modules/minimist/package.json +++ b/deps/npm/node_modules/rc/node_modules/minimist/package.json @@ -1,8 +1,8 @@ { "_from": "minimist@^1.2.0", - "_id": "minimist@1.2.0", + "_id": "minimist@1.2.5", "_inBundle": false, - "_integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "_integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "_location": "/rc/minimist", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/rc" ], - "_resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "_shasum": "a35008b20f41383eec1fb914f4cd5df79a264284", + "_resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "_shasum": "67d66014b66a6a8aaa0c083c5fd58df4e4e97602", "_spec": "minimist@^1.2.0", - "_where": "/Users/rebecca/code/npm/node_modules/rc", + "_where": "/Users/ruyadorno/Documents/workspace/cli/node_modules/rc", "author": { "name": "James Halliday", "email": "mail@substack.net", @@ -69,5 +69,5 @@ "opera/12" ] }, - "version": "1.2.0" + "version": "1.2.5" } diff --git a/deps/npm/node_modules/rc/node_modules/minimist/readme.markdown b/deps/npm/node_modules/rc/node_modules/minimist/readme.markdown index 30a74cf8c158d7..5fd97ab11ee9d8 100644 --- a/deps/npm/node_modules/rc/node_modules/minimist/readme.markdown +++ b/deps/npm/node_modules/rc/node_modules/minimist/readme.markdown @@ -5,15 +5,11 @@ parse argument options This module is the guts of optimist's argument parser without all the fanciful decoration. -[![browser support](https://ci.testling.com/substack/minimist.png)](http://ci.testling.com/substack/minimist) - -[![build status](https://secure.travis-ci.org/substack/minimist.png)](http://travis-ci.org/substack/minimist) - # example ``` js var argv = require('minimist')(process.argv.slice(2)); -console.dir(argv); +console.log(argv); ``` ``` @@ -33,6 +29,13 @@ $ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz beep: 'boop' } ``` +# security + +Previous versions had a prototype pollution bug that could cause privilege +escalation in some circumstances when handling untrusted user input. + +Please use version 1.2.3 or later: https://snyk.io/vuln/SNYK-JS-MINIMIST-559764 + # methods ``` js @@ -65,19 +68,20 @@ argument names to use as aliases first non-option * `opts['--']` - when true, populate `argv._` with everything before the `--` and `argv['--']` with everything after the `--`. Here's an example: + + ``` + > require('./')('one two three -- four five --six'.split(' '), { '--': true }) + { _: [ 'one', 'two', 'three' ], + '--': [ 'four', 'five', '--six' ] } + ``` + + Note that with `opts['--']` set, parsing for arguments still stops after the + `--`. + * `opts.unknown` - a function which is invoked with a command line parameter not defined in the `opts` configuration object. If the function returns `false`, the unknown option is not added to `argv`. -``` -> require('./')('one two three -- four five --six'.split(' '), { '--': true }) -{ _: [ 'one', 'two', 'three' ], - '--': [ 'four', 'five', '--six' ] } -``` - -Note that with `opts['--']` set, parsing for arguments still stops after the -`--`. - # install With [npm](https://npmjs.org) do: diff --git a/deps/npm/node_modules/rc/node_modules/minimist/test/bool.js b/deps/npm/node_modules/rc/node_modules/minimist/test/bool.js index 14b0717cefd5e9..5f7dbde16cc914 100644 --- a/deps/npm/node_modules/rc/node_modules/minimist/test/bool.js +++ b/deps/npm/node_modules/rc/node_modules/minimist/test/bool.js @@ -164,3 +164,15 @@ test('boolean --boool=false', function (t) { t.same(parsed.boool, false); t.end(); }); + +test('boolean using something similar to true', function (t) { + var opts = { boolean: 'h' }; + var result = parse(['-h', 'true.txt'], opts); + var expected = { + h: true, + '_': ['true.txt'] + }; + + t.same(result, expected); + t.end(); +}); \ No newline at end of file diff --git a/deps/npm/node_modules/rc/node_modules/minimist/test/proto.js b/deps/npm/node_modules/rc/node_modules/minimist/test/proto.js new file mode 100644 index 00000000000000..8649107ecba1f0 --- /dev/null +++ b/deps/npm/node_modules/rc/node_modules/minimist/test/proto.js @@ -0,0 +1,44 @@ +var parse = require('../'); +var test = require('tape'); + +test('proto pollution', function (t) { + var argv = parse(['--__proto__.x','123']); + t.equal({}.x, undefined); + t.equal(argv.__proto__.x, undefined); + t.equal(argv.x, undefined); + t.end(); +}); + +test('proto pollution (array)', function (t) { + var argv = parse(['--x','4','--x','5','--x.__proto__.z','789']); + t.equal({}.z, undefined); + t.deepEqual(argv.x, [4,5]); + t.equal(argv.x.z, undefined); + t.equal(argv.x.__proto__.z, undefined); + t.end(); +}); + +test('proto pollution (number)', function (t) { + var argv = parse(['--x','5','--x.__proto__.z','100']); + t.equal({}.z, undefined); + t.equal((4).z, undefined); + t.equal(argv.x, 5); + t.equal(argv.x.z, undefined); + t.end(); +}); + +test('proto pollution (string)', function (t) { + var argv = parse(['--x','abc','--x.__proto__.z','def']); + t.equal({}.z, undefined); + t.equal('...'.z, undefined); + t.equal(argv.x, 'abc'); + t.equal(argv.x.z, undefined); + t.end(); +}); + +test('proto pollution (constructor)', function (t) { + var argv = parse(['--constructor.prototype.y','123']); + t.equal({}.y, undefined); + t.equal(argv.y, undefined); + t.end(); +}); diff --git a/deps/npm/node_modules/rc/package.json b/deps/npm/node_modules/rc/package.json index ba78e395b45d45..db6599e664b743 100644 --- a/deps/npm/node_modules/rc/package.json +++ b/deps/npm/node_modules/rc/package.json @@ -1,8 +1,8 @@ { "_from": "rc@^1.1.6", - "_id": "rc@1.2.7", + "_id": "rc@1.2.8", "_inBundle": false, - "_integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", + "_integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "_location": "/rc", "_phantomChildren": {}, "_requested": { @@ -19,17 +19,17 @@ "/registry-auth-token", "/registry-url" ], - "_resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", - "_shasum": "8a10ca30d588d00464360372b890d06dacd02297", + "_resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "_shasum": "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed", "_spec": "rc@^1.1.6", - "_where": "/Users/rebecca/code/npm/node_modules/registry-auth-token", + "_where": "/Users/ruyadorno/Documents/workspace/cli/node_modules/registry-auth-token", "author": { "name": "Dominic Tarr", "email": "dominic.tarr@gmail.com", "url": "dominictarr.com" }, "bin": { - "rc": "./cli.js" + "rc": "cli.js" }, "browser": "browser.js", "bugs": { @@ -37,7 +37,7 @@ }, "bundleDependencies": false, "dependencies": { - "deep-extend": "^0.5.1", + "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" @@ -61,5 +61,5 @@ "scripts": { "test": "set -e; node test/test.js; node test/ini.js; node test/nested-env-vars.js" }, - "version": "1.2.7" + "version": "1.2.8" } diff --git a/deps/npm/node_modules/readable-stream/CONTRIBUTING.md b/deps/npm/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58dca85b2..00000000000000 --- a/deps/npm/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/deps/npm/node_modules/readable-stream/README.md b/deps/npm/node_modules/readable-stream/README.md index 28ccae16165828..6f035ab16f29dd 100644 --- a/deps/npm/node_modules/readable-stream/README.md +++ b/deps/npm/node_modules/readable-stream/README.md @@ -15,7 +15,7 @@ npm install --save readable-stream This package is a mirror of the streams implementations in Node.js. -Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v10.15.3/docs/api/stream.html). +Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v10.19.0/docs/api/stream.html). If you want to guarantee a stable streams base, regardless of what version of Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html). @@ -24,10 +24,7 @@ As of version 2.0.0 **readable-stream** uses semantic versioning. ## Version 3.x.x -v3.x.x of `readable-stream` supports Node 6, 8, and 10, as well as -evergreen browsers, IE 11 and latest Safari. The breaking changes -introduced by v3 are composed by the combined breaking changes in [Node v9](https://nodejs.org/en/blog/release/v9.0.0/) -and [Node v10](https://nodejs.org/en/blog/release/v10.0.0/), as follows: +v3.x.x of `readable-stream` is a cut from Node 10. This version supports Node 6, 8, and 10, as well as evergreen browsers, IE 11 and latest Safari. The breaking changes introduced by v3 are composed by the combined breaking changes in [Node v9](https://nodejs.org/en/blog/release/v9.0.0/) and [Node v10](https://nodejs.org/en/blog/release/v10.0.0/), as follows: 1. Error codes: https://github.com/nodejs/node/pull/13310, https://github.com/nodejs/node/pull/13291, @@ -51,9 +48,7 @@ and [Node v10](https://nodejs.org/en/blog/release/v10.0.0/), as follows: https://github.com/nodejs/node/pull/17979 ## Version 2.x.x - -v2.x.x of `readable-stream` supports all Node.js version from 0.8, as well as -evergreen browsers and IE 10 & 11. +v2.x.x of `readable-stream` is a cut of the stream module from Node 8 (there have been no semver-major changes from Node 4 to 8). This version supports all Node.js versions from 0.8, as well as evergreen browsers and IE 10 & 11. ### Big Thanks diff --git a/deps/npm/node_modules/readable-stream/lib/_stream_readable.js b/deps/npm/node_modules/readable-stream/lib/_stream_readable.js index 33f478d7e8c25a..192d451488f208 100644 --- a/deps/npm/node_modules/readable-stream/lib/_stream_readable.js +++ b/deps/npm/node_modules/readable-stream/lib/_stream_readable.js @@ -80,17 +80,16 @@ var _require$codes = require('../errors').codes, ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF, ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, - ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; - -var _require2 = require('../experimentalWarning'), - emitExperimentalWarning = _require2.emitExperimentalWarning; // Lazy loaded to improve the startup performance. + ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance. var StringDecoder; var createReadableStreamAsyncIterator; +var from; require('inherits')(Readable, Stream); +var errorOrDestroy = destroyImpl.errorOrDestroy; var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume']; function prependListener(emitter, event, fn) { @@ -144,7 +143,9 @@ function ReadableState(options, stream, isDuplex) { this.resumeScheduled = false; this.paused = true; // Should close be emitted on destroy. Defaults to true. - this.emitClose = options.emitClose !== false; // has it been destroyed + this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish') + + this.autoDestroy = !!options.autoDestroy; // has it been destroyed this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string // encoding is 'binary' so we have to make this configurable. @@ -257,16 +258,16 @@ function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { if (!skipChunkCheck) er = chunkInvalid(state, chunk); if (er) { - stream.emit('error', er); + errorOrDestroy(stream, er); } else if (state.objectMode || chunk && chunk.length > 0) { if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) { chunk = _uint8ArrayToBuffer(chunk); } if (addToFront) { - if (state.endEmitted) stream.emit('error', new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true); + if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true); } else if (state.ended) { - stream.emit('error', new ERR_STREAM_PUSH_AFTER_EOF()); + errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF()); } else if (state.destroyed) { return false; } else { @@ -322,17 +323,32 @@ Readable.prototype.isPaused = function () { Readable.prototype.setEncoding = function (enc) { if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - this._readableState.decoder = new StringDecoder(enc); // if setEncoding(null), decoder.encoding equals utf8 + var decoder = new StringDecoder(enc); + this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8 + + this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers: + + var p = this._readableState.buffer.head; + var content = ''; + + while (p !== null) { + content += decoder.write(p.data); + p = p.next; + } + + this._readableState.buffer.clear(); - this._readableState.encoding = this._readableState.decoder.encoding; + if (content !== '') this._readableState.buffer.push(content); + this._readableState.length = content.length; return this; -}; // Don't raise the hwm > 8MB +}; // Don't raise the hwm > 1GB -var MAX_HWM = 0x800000; +var MAX_HWM = 0x40000000; function computeNewHighWaterMark(n) { if (n >= MAX_HWM) { + // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE. n = MAX_HWM; } else { // Get the next highest power of 2 to prevent increasing hwm excessively in @@ -449,7 +465,7 @@ Readable.prototype.read = function (n) { if (n > 0) ret = fromList(n, state);else ret = null; if (ret === null) { - state.needReadable = true; + state.needReadable = state.length <= state.highWaterMark; n = 0; } else { state.length -= n; @@ -469,6 +485,7 @@ Readable.prototype.read = function (n) { }; function onEofChunk(stream, state) { + debug('onEofChunk'); if (state.ended) return; if (state.decoder) { @@ -503,6 +520,7 @@ function onEofChunk(stream, state) { function emitReadable(stream) { var state = stream._readableState; + debug('emitReadable', state.needReadable, state.emittedReadable); state.needReadable = false; if (!state.emittedReadable) { @@ -518,6 +536,7 @@ function emitReadable_(stream) { if (!state.destroyed && (state.length || state.ended)) { stream.emit('readable'); + state.emittedReadable = false; } // The stream needs another readable event if // 1. It is not flowing, as the flow mechanism will take // care of it. @@ -583,7 +602,7 @@ function maybeReadMore_(stream, state) { Readable.prototype._read = function (n) { - this.emit('error', new ERR_METHOD_NOT_IMPLEMENTED('_read()')); + errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()')); }; Readable.prototype.pipe = function (dest, pipeOpts) { @@ -682,7 +701,7 @@ Readable.prototype.pipe = function (dest, pipeOpts) { debug('onerror', er); unpipe(); dest.removeListener('error', onerror); - if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er); + if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er); } // Make sure our error handler is attached before userland ones. @@ -986,8 +1005,6 @@ Readable.prototype.wrap = function (stream) { if (typeof Symbol === 'function') { Readable.prototype[Symbol.asyncIterator] = function () { - emitExperimentalWarning('Readable[Symbol.asyncIterator]'); - if (createReadableStreamAsyncIterator === undefined) { createReadableStreamAsyncIterator = require('./internal/streams/async_iterator'); } @@ -1075,9 +1092,29 @@ function endReadableNT(state, stream) { state.endEmitted = true; stream.readable = false; stream.emit('end'); + + if (state.autoDestroy) { + // In case of duplex streams we need a way to detect + // if the writable side is ready for autoDestroy as well + var wState = stream._writableState; + + if (!wState || wState.autoDestroy && wState.finished) { + stream.destroy(); + } + } } } +if (typeof Symbol === 'function') { + Readable.from = function (iterable, opts) { + if (from === undefined) { + from = require('./internal/streams/from'); + } + + return from(Readable, iterable, opts); + }; +} + function indexOf(xs, x) { for (var i = 0, l = xs.length; i < l; i++) { if (xs[i] === x) return i; diff --git a/deps/npm/node_modules/readable-stream/lib/_stream_writable.js b/deps/npm/node_modules/readable-stream/lib/_stream_writable.js index b35447aedc3a95..a2634d7c24fd5e 100644 --- a/deps/npm/node_modules/readable-stream/lib/_stream_writable.js +++ b/deps/npm/node_modules/readable-stream/lib/_stream_writable.js @@ -94,6 +94,8 @@ var _require$codes = require('../errors').codes, ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END, ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING; +var errorOrDestroy = destroyImpl.errorOrDestroy; + require('inherits')(Writable, Stream); function nop() {} @@ -173,7 +175,9 @@ function WritableState(options, stream, isDuplex) { this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true. - this.emitClose = options.emitClose !== false; // count buffered requests + this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end') + + this.autoDestroy = !!options.autoDestroy; // count buffered requests this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always // one allocated and free to use, and we maintain at most two @@ -250,13 +254,13 @@ function Writable(options) { Writable.prototype.pipe = function () { - this.emit('error', new ERR_STREAM_CANNOT_PIPE()); + errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE()); }; function writeAfterEnd(stream, cb) { var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb - stream.emit('error', er); + errorOrDestroy(stream, er); process.nextTick(cb, er); } // Checks that a user-supplied chunk is valid, especially for the particular // mode the stream is in. Currently this means that `null` is never accepted @@ -273,7 +277,7 @@ function validChunk(stream, state, chunk, cb) { } if (er) { - stream.emit('error', er); + errorOrDestroy(stream, er); process.nextTick(cb, er); return false; } @@ -417,13 +421,13 @@ function onwriteError(stream, state, sync, er, cb) { process.nextTick(finishMaybe, stream, state); stream._writableState.errorEmitted = true; - stream.emit('error', er); + errorOrDestroy(stream, er); } else { // the caller expect this to happen before if // it is async cb(er); stream._writableState.errorEmitted = true; - stream.emit('error', er); // this can emit finish, but finish must + errorOrDestroy(stream, er); // this can emit finish, but finish must // always follow error finishMaybe(stream, state); @@ -587,7 +591,7 @@ function callFinal(stream, state) { state.pendingcb--; if (err) { - stream.emit('error', err); + errorOrDestroy(stream, err); } state.prefinished = true; @@ -618,6 +622,16 @@ function finishMaybe(stream, state) { if (state.pendingcb === 0) { state.finished = true; stream.emit('finish'); + + if (state.autoDestroy) { + // In case of duplex streams we need a way to detect + // if the readable side is ready for autoDestroy as well + var rState = stream._readableState; + + if (!rState || rState.autoDestroy && rState.endEmitted) { + stream.destroy(); + } + } } } diff --git a/deps/npm/node_modules/readable-stream/lib/internal/streams/buffer_list.js b/deps/npm/node_modules/readable-stream/lib/internal/streams/buffer_list.js index ebaf5c72aa7a61..cdea425f19dd96 100644 --- a/deps/npm/node_modules/readable-stream/lib/internal/streams/buffer_list.js +++ b/deps/npm/node_modules/readable-stream/lib/internal/streams/buffer_list.js @@ -1,9 +1,17 @@ 'use strict'; -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + var _require = require('buffer'), Buffer = _require.Buffer; @@ -20,170 +28,183 @@ module.exports = /*#__PURE__*/ function () { function BufferList() { + _classCallCheck(this, BufferList); + this.head = null; this.tail = null; this.length = 0; } - var _proto = BufferList.prototype; - - _proto.push = function push(v) { - var entry = { - data: v, - next: null - }; - if (this.length > 0) this.tail.next = entry;else this.head = entry; - this.tail = entry; - ++this.length; - }; - - _proto.unshift = function unshift(v) { - var entry = { - data: v, - next: this.head - }; - if (this.length === 0) this.tail = entry; - this.head = entry; - ++this.length; - }; - - _proto.shift = function shift() { - if (this.length === 0) return; - var ret = this.head.data; - if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; - --this.length; - return ret; - }; - - _proto.clear = function clear() { - this.head = this.tail = null; - this.length = 0; - }; - - _proto.join = function join(s) { - if (this.length === 0) return ''; - var p = this.head; - var ret = '' + p.data; - - while (p = p.next) { - ret += s + p.data; + _createClass(BufferList, [{ + key: "push", + value: function push(v) { + var entry = { + data: v, + next: null + }; + if (this.length > 0) this.tail.next = entry;else this.head = entry; + this.tail = entry; + ++this.length; } - - return ret; - }; - - _proto.concat = function concat(n) { - if (this.length === 0) return Buffer.alloc(0); - var ret = Buffer.allocUnsafe(n >>> 0); - var p = this.head; - var i = 0; - - while (p) { - copyBuffer(p.data, ret, i); - i += p.data.length; - p = p.next; + }, { + key: "unshift", + value: function unshift(v) { + var entry = { + data: v, + next: this.head + }; + if (this.length === 0) this.tail = entry; + this.head = entry; + ++this.length; } - - return ret; - } // Consumes a specified amount of bytes or characters from the buffered data. - ; - - _proto.consume = function consume(n, hasStrings) { - var ret; - - if (n < this.head.data.length) { - // `slice` is the same for buffers and strings. - ret = this.head.data.slice(0, n); - this.head.data = this.head.data.slice(n); - } else if (n === this.head.data.length) { - // First chunk is a perfect match. - ret = this.shift(); - } else { - // Result spans more than one buffer. - ret = hasStrings ? this._getString(n) : this._getBuffer(n); + }, { + key: "shift", + value: function shift() { + if (this.length === 0) return; + var ret = this.head.data; + if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; + --this.length; + return ret; + } + }, { + key: "clear", + value: function clear() { + this.head = this.tail = null; + this.length = 0; } + }, { + key: "join", + value: function join(s) { + if (this.length === 0) return ''; + var p = this.head; + var ret = '' + p.data; + + while (p = p.next) { + ret += s + p.data; + } - return ret; - }; - - _proto.first = function first() { - return this.head.data; - } // Consumes a specified amount of characters from the buffered data. - ; - - _proto._getString = function _getString(n) { - var p = this.head; - var c = 1; - var ret = p.data; - n -= ret.length; - - while (p = p.next) { - var str = p.data; - var nb = n > str.length ? str.length : n; - if (nb === str.length) ret += str;else ret += str.slice(0, n); - n -= nb; - - if (n === 0) { - if (nb === str.length) { - ++c; - if (p.next) this.head = p.next;else this.head = this.tail = null; - } else { - this.head = p; - p.data = str.slice(nb); - } + return ret; + } + }, { + key: "concat", + value: function concat(n) { + if (this.length === 0) return Buffer.alloc(0); + var ret = Buffer.allocUnsafe(n >>> 0); + var p = this.head; + var i = 0; + + while (p) { + copyBuffer(p.data, ret, i); + i += p.data.length; + p = p.next; + } - break; + return ret; + } // Consumes a specified amount of bytes or characters from the buffered data. + + }, { + key: "consume", + value: function consume(n, hasStrings) { + var ret; + + if (n < this.head.data.length) { + // `slice` is the same for buffers and strings. + ret = this.head.data.slice(0, n); + this.head.data = this.head.data.slice(n); + } else if (n === this.head.data.length) { + // First chunk is a perfect match. + ret = this.shift(); + } else { + // Result spans more than one buffer. + ret = hasStrings ? this._getString(n) : this._getBuffer(n); } - ++c; + return ret; } + }, { + key: "first", + value: function first() { + return this.head.data; + } // Consumes a specified amount of characters from the buffered data. + + }, { + key: "_getString", + value: function _getString(n) { + var p = this.head; + var c = 1; + var ret = p.data; + n -= ret.length; + + while (p = p.next) { + var str = p.data; + var nb = n > str.length ? str.length : n; + if (nb === str.length) ret += str;else ret += str.slice(0, n); + n -= nb; + + if (n === 0) { + if (nb === str.length) { + ++c; + if (p.next) this.head = p.next;else this.head = this.tail = null; + } else { + this.head = p; + p.data = str.slice(nb); + } + + break; + } - this.length -= c; - return ret; - } // Consumes a specified amount of bytes from the buffered data. - ; - - _proto._getBuffer = function _getBuffer(n) { - var ret = Buffer.allocUnsafe(n); - var p = this.head; - var c = 1; - p.data.copy(ret); - n -= p.data.length; - - while (p = p.next) { - var buf = p.data; - var nb = n > buf.length ? buf.length : n; - buf.copy(ret, ret.length - n, 0, nb); - n -= nb; - - if (n === 0) { - if (nb === buf.length) { - ++c; - if (p.next) this.head = p.next;else this.head = this.tail = null; - } else { - this.head = p; - p.data = buf.slice(nb); + ++c; + } + + this.length -= c; + return ret; + } // Consumes a specified amount of bytes from the buffered data. + + }, { + key: "_getBuffer", + value: function _getBuffer(n) { + var ret = Buffer.allocUnsafe(n); + var p = this.head; + var c = 1; + p.data.copy(ret); + n -= p.data.length; + + while (p = p.next) { + var buf = p.data; + var nb = n > buf.length ? buf.length : n; + buf.copy(ret, ret.length - n, 0, nb); + n -= nb; + + if (n === 0) { + if (nb === buf.length) { + ++c; + if (p.next) this.head = p.next;else this.head = this.tail = null; + } else { + this.head = p; + p.data = buf.slice(nb); + } + + break; } - break; + ++c; } - ++c; + this.length -= c; + return ret; + } // Make sure the linked list only shows the minimal necessary information. + + }, { + key: custom, + value: function value(_, options) { + return inspect(this, _objectSpread({}, options, { + // Only inspect one level. + depth: 0, + // It should not recurse. + customInspect: false + })); } - - this.length -= c; - return ret; - } // Make sure the linked list only shows the minimal necessary information. - ; - - _proto[custom] = function (_, options) { - return inspect(this, _objectSpread({}, options, { - // Only inspect one level. - depth: 0, - // It should not recurse. - customInspect: false - })); - }; + }]); return BufferList; }(); \ No newline at end of file diff --git a/deps/npm/node_modules/readable-stream/lib/internal/streams/destroy.js b/deps/npm/node_modules/readable-stream/lib/internal/streams/destroy.js index 63ae49928dd95b..3268a16f3b6f23 100644 --- a/deps/npm/node_modules/readable-stream/lib/internal/streams/destroy.js +++ b/deps/npm/node_modules/readable-stream/lib/internal/streams/destroy.js @@ -9,8 +9,13 @@ function destroy(err, cb) { if (readableDestroyed || writableDestroyed) { if (cb) { cb(err); - } else if (err && (!this._writableState || !this._writableState.errorEmitted)) { - process.nextTick(emitErrorNT, this, err); + } else if (err) { + if (!this._writableState) { + process.nextTick(emitErrorNT, this, err); + } else if (!this._writableState.errorEmitted) { + this._writableState.errorEmitted = true; + process.nextTick(emitErrorNT, this, err); + } } return this; @@ -29,10 +34,13 @@ function destroy(err, cb) { this._destroy(err || null, function (err) { if (!cb && err) { - process.nextTick(emitErrorAndCloseNT, _this, err); - - if (_this._writableState) { + if (!_this._writableState) { + process.nextTick(emitErrorAndCloseNT, _this, err); + } else if (!_this._writableState.errorEmitted) { _this._writableState.errorEmitted = true; + process.nextTick(emitErrorAndCloseNT, _this, err); + } else { + process.nextTick(emitCloseNT, _this); } } else if (cb) { process.nextTick(emitCloseNT, _this); @@ -79,7 +87,19 @@ function emitErrorNT(self, err) { self.emit('error', err); } +function errorOrDestroy(stream, err) { + // We have tests that rely on errors being emitted + // in the same tick, so changing this is semver major. + // For now when you opt-in to autoDestroy we allow + // the error to be emitted nextTick. In a future + // semver major update we should change the default to this. + var rState = stream._readableState; + var wState = stream._writableState; + if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err); +} + module.exports = { destroy: destroy, - undestroy: undestroy + undestroy: undestroy, + errorOrDestroy: errorOrDestroy }; \ No newline at end of file diff --git a/deps/npm/node_modules/readable-stream/lib/internal/streams/from-browser.js b/deps/npm/node_modules/readable-stream/lib/internal/streams/from-browser.js new file mode 100644 index 00000000000000..a4ce56f3c90f60 --- /dev/null +++ b/deps/npm/node_modules/readable-stream/lib/internal/streams/from-browser.js @@ -0,0 +1,3 @@ +module.exports = function () { + throw new Error('Readable.from is not available in the browser') +}; diff --git a/deps/npm/node_modules/readable-stream/lib/internal/streams/from.js b/deps/npm/node_modules/readable-stream/lib/internal/streams/from.js new file mode 100644 index 00000000000000..6c41284416799c --- /dev/null +++ b/deps/npm/node_modules/readable-stream/lib/internal/streams/from.js @@ -0,0 +1,64 @@ +'use strict'; + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var ERR_INVALID_ARG_TYPE = require('../../../errors').codes.ERR_INVALID_ARG_TYPE; + +function from(Readable, iterable, opts) { + var iterator; + + if (iterable && typeof iterable.next === 'function') { + iterator = iterable; + } else if (iterable && iterable[Symbol.asyncIterator]) iterator = iterable[Symbol.asyncIterator]();else if (iterable && iterable[Symbol.iterator]) iterator = iterable[Symbol.iterator]();else throw new ERR_INVALID_ARG_TYPE('iterable', ['Iterable'], iterable); + + var readable = new Readable(_objectSpread({ + objectMode: true + }, opts)); // Reading boolean to protect against _read + // being called before last iteration completion. + + var reading = false; + + readable._read = function () { + if (!reading) { + reading = true; + next(); + } + }; + + function next() { + return _next2.apply(this, arguments); + } + + function _next2() { + _next2 = _asyncToGenerator(function* () { + try { + var _ref = yield iterator.next(), + value = _ref.value, + done = _ref.done; + + if (done) { + readable.push(null); + } else if (readable.push((yield value))) { + next(); + } else { + reading = false; + } + } catch (err) { + readable.destroy(err); + } + }); + return _next2.apply(this, arguments); + } + + return readable; +} + +module.exports = from; \ No newline at end of file diff --git a/deps/npm/node_modules/readable-stream/package.json b/deps/npm/node_modules/readable-stream/package.json index 67c7e602f26275..9c29e095cbd6be 100644 --- a/deps/npm/node_modules/readable-stream/package.json +++ b/deps/npm/node_modules/readable-stream/package.json @@ -1,19 +1,19 @@ { - "_from": "readable-stream@3.4.0", - "_id": "readable-stream@3.4.0", + "_from": "readable-stream@3.6.0", + "_id": "readable-stream@3.6.0", "_inBundle": false, - "_integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "_integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "_location": "/readable-stream", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "readable-stream@3.4.0", + "raw": "readable-stream@3.6.0", "name": "readable-stream", "escapedName": "readable-stream", - "rawSpec": "3.4.0", + "rawSpec": "3.6.0", "saveSpec": null, - "fetchSpec": "3.4.0" + "fetchSpec": "3.6.0" }, "_requiredBy": [ "#USER", @@ -21,15 +21,16 @@ "/bl", "/tar-stream" ], - "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "_shasum": "a51c26754658e0a3c21dbf59163bd45ba6f447fc", - "_spec": "readable-stream@3.4.0", - "_where": "/Users/isaacs/dev/npm/cli", + "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "_shasum": "337bbda3adc0706bd3e024426a286d4b4b2c9198", + "_spec": "readable-stream@3.6.0", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli", "browser": { "util": false, "worker_threads": false, "./errors": "./errors-browser.js", "./readable.js": "./readable-browser.js", + "./lib/internal/streams/from.js": "./lib/internal/streams/from-browser.js", "./lib/internal/streams/stream.js": "./lib/internal/streams/stream-browser.js" }, "bugs": { @@ -52,6 +53,7 @@ "assert": "^1.4.0", "bl": "^2.0.0", "deep-strict-equal": "^0.2.0", + "events.once": "^2.0.2", "glob": "^7.1.2", "gunzip-maybe": "^1.4.1", "hyperquest": "^2.1.3", @@ -94,5 +96,5 @@ "test-browsers": "airtap --sauce-connect --loopback airtap.local -- test/browser.js", "update-browser-errors": "babel -o errors-browser.js errors.js" }, - "version": "3.4.0" + "version": "3.6.0" } diff --git a/deps/npm/node_modules/registry-auth-token/.npmignore b/deps/npm/node_modules/registry-auth-token/.npmignore new file mode 100644 index 00000000000000..4196028460bfcb --- /dev/null +++ b/deps/npm/node_modules/registry-auth-token/.npmignore @@ -0,0 +1,6 @@ +.editorconfig +.eslintignore +.eslintrc +.travis.yml +npm-debug.log +coverage diff --git a/deps/npm/node_modules/registry-auth-token/CHANGELOG.md b/deps/npm/node_modules/registry-auth-token/CHANGELOG.md index 75f7b6f2f70713..20e82e870ef454 100644 --- a/deps/npm/node_modules/registry-auth-token/CHANGELOG.md +++ b/deps/npm/node_modules/registry-auth-token/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes will be documented in this file. +## [3.4.0] - 2019-03-20 + +### Changes + +- Enabled legacy auth token to be read from environment variable (Martin Flodin) + ## [3.3.2] - 2018-01-26 ### Changes diff --git a/deps/npm/node_modules/registry-auth-token/index.js b/deps/npm/node_modules/registry-auth-token/index.js index d68f7eeb4bc724..f8c6216eab9cd8 100644 --- a/deps/npm/node_modules/registry-auth-token/index.js +++ b/deps/npm/node_modules/registry-auth-token/index.js @@ -52,10 +52,13 @@ function getRegistryAuthInfo (checkUrl, options) { } function getLegacyAuthInfo (npmrc) { - if (npmrc._auth) { - return {token: npmrc._auth, type: 'Basic'} + if (!npmrc._auth) { + return undefined } - return undefined + + var token = replaceEnvironmentVariable(npmrc._auth) + + return {token: token, type: 'Basic'} } function normalizePath (path) { @@ -80,15 +83,19 @@ function getAuthInfoForUrl (regUrl, npmrc) { return undefined } +function replaceEnvironmentVariable (token) { + return token.replace(/^\$\{?([^}]*)\}?$/, function (fullMatch, envVar) { + return process.env[envVar] + }) +} + function getBearerToken (tok) { if (!tok) { return undefined } - // check if bearer token - var token = tok.replace(/^\$\{?([^}]*)\}?$/, function (fullMatch, envVar) { - return process.env[envVar] - }) + // check if bearer token is set as environment variable + var token = replaceEnvironmentVariable(tok) return {token: token, type: 'Bearer'} } @@ -100,9 +107,7 @@ function getTokenForUsernameAndPassword (username, password) { // passwords are base64 encoded, so we need to decode it // See https://github.com/npm/npm/blob/v3.10.6/lib/config/set-credentials-by-uri.js#L26 - var pass = decodeBase64(password.replace(/^\$\{?([^}]*)\}?$/, function (fullMatch, envVar) { - return process.env[envVar] - })) + var pass = decodeBase64(replaceEnvironmentVariable(password)) // a basic auth token is base64 encoded 'username:password' // See https://github.com/npm/npm/blob/v3.10.6/lib/config/get-credentials-by-uri.js#L70 diff --git a/deps/npm/node_modules/registry-auth-token/package.json b/deps/npm/node_modules/registry-auth-token/package.json index 3be95088b858dd..dd090a836b569a 100644 --- a/deps/npm/node_modules/registry-auth-token/package.json +++ b/deps/npm/node_modules/registry-auth-token/package.json @@ -1,8 +1,8 @@ { "_from": "registry-auth-token@^3.0.1", - "_id": "registry-auth-token@3.3.2", + "_id": "registry-auth-token@3.4.0", "_inBundle": false, - "_integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "_integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", "_location": "/registry-auth-token", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/package-json" ], - "_resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "_shasum": "851fd49038eecb586911115af845260eec983f20", + "_resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "_shasum": "d7446815433f5d5ed6431cd5dca21048f66b397e", "_spec": "registry-auth-token@^3.0.1", - "_where": "/Users/rebecca/code/npm/node_modules/package-json", + "_where": "/Users/ruyadorno/Documents/workspace/cli/node_modules/package-json", "author": { "name": "Espen Hovlandsdal", "email": "espen@hovlandsdal.com" @@ -70,5 +70,5 @@ "coverage/**" ] }, - "version": "3.3.2" + "version": "3.4.0" } diff --git a/deps/npm/node_modules/registry-auth-token/test/auth-token.test.js b/deps/npm/node_modules/registry-auth-token/test/auth-token.test.js index 824d1bf92e6de8..5db6f5a192890a 100644 --- a/deps/npm/node_modules/registry-auth-token/test/auth-token.test.js +++ b/deps/npm/node_modules/registry-auth-token/test/auth-token.test.js @@ -50,6 +50,42 @@ describe('auth-token', function () { done() }) }) + + it('should return legacy auth token defined by reference to an environment variable (with curly braces)', function (done) { + var environmentVariable = '__REGISTRY_AUTH_TOKEN_NPM_TOKEN__' + var content = [ + '_auth=${' + environmentVariable + '}', + 'registry=http://registry.foobar.eu/' + ].join('\n') + + process.env[environmentVariable] = 'foobar' + + fs.writeFile(npmRcPath, content, function (err) { + var getAuthToken = requireUncached('../index') + assert(!err, err) + assert.deepEqual(getAuthToken(), {token: 'foobar', type: 'Basic'}) + delete process.env[environmentVariable] + done() + }) + }) + + it('should return legacy auth token defined by reference to an environment variable (without curly braces)', function (done) { + var environmentVariable = '__REGISTRY_AUTH_TOKEN_NPM_TOKEN__' + var content = [ + '_auth=$' + environmentVariable, + 'registry=http://registry.foobar.eu/' + ].join('\n') + + process.env[environmentVariable] = 'foobar' + + fs.writeFile(npmRcPath, content, function (err) { + var getAuthToken = requireUncached('../index') + assert(!err, err) + assert.deepEqual(getAuthToken(), {token: 'foobar', type: 'Basic'}) + delete process.env[environmentVariable] + done() + }) + }) }) describe('bearer token', function () { diff --git a/deps/npm/node_modules/registry-auth-token/yarn.lock b/deps/npm/node_modules/registry-auth-token/yarn.lock index 23f7b13a766811..46c1357274cf6c 100644 --- a/deps/npm/node_modules/registry-auth-token/yarn.lock +++ b/deps/npm/node_modules/registry-auth-token/yarn.lock @@ -234,9 +234,9 @@ decamelize@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" -deep-extend@~0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" deep-is@~0.1.3: version "0.1.3" @@ -1197,11 +1197,11 @@ progress@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" -rc@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.4.tgz#a0f606caae2a3b862bbd0ef85482c0125b315fa3" +rc@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" dependencies: - deep-extend "~0.4.0" + deep-extend "^0.6.0" ini "~1.3.0" minimist "^1.2.0" strip-json-comments "~2.0.1" @@ -1290,7 +1290,11 @@ rx-lite@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" -safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" diff --git a/deps/npm/node_modules/rimraf/package.json b/deps/npm/node_modules/rimraf/package.json index a82c85a6954442..48f172fb29f5c0 100644 --- a/deps/npm/node_modules/rimraf/package.json +++ b/deps/npm/node_modules/rimraf/package.json @@ -1,46 +1,47 @@ { - "_from": "rimraf@2.6.3", - "_id": "rimraf@2.6.3", + "_from": "rimraf@2.7.1", + "_id": "rimraf@2.7.1", "_inBundle": false, - "_integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "_integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "_location": "/rimraf", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "rimraf@2.6.3", + "raw": "rimraf@2.7.1", "name": "rimraf", "escapedName": "rimraf", - "rawSpec": "2.6.3", + "rawSpec": "2.7.1", "saveSpec": null, - "fetchSpec": "2.6.3" + "fetchSpec": "2.7.1" }, "_requiredBy": [ "#USER", "/", "/cacache", "/copy-concurrently", - "/flat-cache", "/fs-vacuum", - "/fstream", + "/istanbul-lib-source-maps", "/libcipm", "/libnpx", "/move-concurrently", "/node-gyp", + "/nyc", "/pacote", + "/spawn-wrap", "/tap" ], - "_resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "_shasum": "b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab", - "_spec": "rimraf@2.6.3", - "_where": "/Users/aeschright/code/cli", + "_resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "_shasum": "35797f13a7fdadc566142c29d4f07ccad483e3ec", + "_spec": "rimraf@2.7.1", + "_where": "/Users/darcyclarke/Documents/Repos/npm/npm/cli", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", "url": "http://blog.izs.me/" }, "bin": { - "rimraf": "./bin.js" + "rimraf": "bin.js" }, "bugs": { "url": "https://github.com/isaacs/rimraf/issues" @@ -75,5 +76,5 @@ "preversion": "npm test", "test": "tap test/*.js" }, - "version": "2.6.3" + "version": "2.7.1" } diff --git a/deps/npm/node_modules/rimraf/rimraf.js b/deps/npm/node_modules/rimraf/rimraf.js index e80dd10693f8f6..a90ad029f3ece1 100644 --- a/deps/npm/node_modules/rimraf/rimraf.js +++ b/deps/npm/node_modules/rimraf/rimraf.js @@ -4,7 +4,12 @@ rimraf.sync = rimrafSync var assert = require("assert") var path = require("path") var fs = require("fs") -var glob = require("glob") +var glob = undefined +try { + glob = require("glob") +} catch (_err) { + // treat glob as optional. +} var _0666 = parseInt('666', 8) var defaultGlobOpts = { @@ -37,6 +42,9 @@ function defaults (options) { if (options.glob === false) { options.disableGlob = true } + if (options.disableGlob !== true && glob === undefined) { + throw Error('glob dependency not found, set `options.disableGlob = true` if intentional') + } options.disableGlob = options.disableGlob || false options.glob = options.glob || defaultGlobOpts } diff --git a/deps/npm/node_modules/stream-iterate/node_modules/readable-stream/CONTRIBUTING.md b/deps/npm/node_modules/stream-iterate/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58dca85b2..00000000000000 --- a/deps/npm/node_modules/stream-iterate/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/LICENSE b/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/LICENSE new file mode 100644 index 00000000000000..0c068ceecbd48f --- /dev/null +++ b/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +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. diff --git a/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/README.md b/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/README.md new file mode 100644 index 00000000000000..356e3519302cfa --- /dev/null +++ b/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/README.md @@ -0,0 +1,586 @@ +# safe-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url] + +[travis-image]: https://img.shields.io/travis/feross/safe-buffer/master.svg +[travis-url]: https://travis-ci.org/feross/safe-buffer +[npm-image]: https://img.shields.io/npm/v/safe-buffer.svg +[npm-url]: https://npmjs.org/package/safe-buffer +[downloads-image]: https://img.shields.io/npm/dm/safe-buffer.svg +[downloads-url]: https://npmjs.org/package/safe-buffer +[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg +[standard-url]: https://standardjs.com + +#### Safer Node.js Buffer API + +**Use the new Node.js Buffer APIs (`Buffer.from`, `Buffer.alloc`, +`Buffer.allocUnsafe`, `Buffer.allocUnsafeSlow`) in all versions of Node.js.** + +**Uses the built-in implementation when available.** + +## install + +``` +npm install safe-buffer +``` + +[Get supported safe-buffer with the Tidelift Subscription](https://tidelift.com/subscription/pkg/npm-safe-buffer?utm_source=npm-safe-buffer&utm_medium=referral&utm_campaign=readme) + +## usage + +The goal of this package is to provide a safe replacement for the node.js `Buffer`. + +It's a drop-in replacement for `Buffer`. You can use it by adding one `require` line to +the top of your node.js modules: + +```js +var Buffer = require('safe-buffer').Buffer + +// Existing buffer code will continue to work without issues: + +new Buffer('hey', 'utf8') +new Buffer([1, 2, 3], 'utf8') +new Buffer(obj) +new Buffer(16) // create an uninitialized buffer (potentially unsafe) + +// But you can use these new explicit APIs to make clear what you want: + +Buffer.from('hey', 'utf8') // convert from many types to a Buffer +Buffer.alloc(16) // create a zero-filled buffer (safe) +Buffer.allocUnsafe(16) // create an uninitialized buffer (potentially unsafe) +``` + +## api + +### Class Method: Buffer.from(array) + + +* `array` {Array} + +Allocates a new `Buffer` using an `array` of octets. + +```js +const buf = Buffer.from([0x62,0x75,0x66,0x66,0x65,0x72]); + // creates a new Buffer containing ASCII bytes + // ['b','u','f','f','e','r'] +``` + +A `TypeError` will be thrown if `array` is not an `Array`. + +### Class Method: Buffer.from(arrayBuffer[, byteOffset[, length]]) + + +* `arrayBuffer` {ArrayBuffer} The `.buffer` property of a `TypedArray` or + a `new ArrayBuffer()` +* `byteOffset` {Number} Default: `0` +* `length` {Number} Default: `arrayBuffer.length - byteOffset` + +When passed a reference to the `.buffer` property of a `TypedArray` instance, +the newly created `Buffer` will share the same allocated memory as the +TypedArray. + +```js +const arr = new Uint16Array(2); +arr[0] = 5000; +arr[1] = 4000; + +const buf = Buffer.from(arr.buffer); // shares the memory with arr; + +console.log(buf); + // Prints: + +// changing the TypedArray changes the Buffer also +arr[1] = 6000; + +console.log(buf); + // Prints: +``` + +The optional `byteOffset` and `length` arguments specify a memory range within +the `arrayBuffer` that will be shared by the `Buffer`. + +```js +const ab = new ArrayBuffer(10); +const buf = Buffer.from(ab, 0, 2); +console.log(buf.length); + // Prints: 2 +``` + +A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer`. + +### Class Method: Buffer.from(buffer) + + +* `buffer` {Buffer} + +Copies the passed `buffer` data onto a new `Buffer` instance. + +```js +const buf1 = Buffer.from('buffer'); +const buf2 = Buffer.from(buf1); + +buf1[0] = 0x61; +console.log(buf1.toString()); + // 'auffer' +console.log(buf2.toString()); + // 'buffer' (copy is not changed) +``` + +A `TypeError` will be thrown if `buffer` is not a `Buffer`. + +### Class Method: Buffer.from(str[, encoding]) + + +* `str` {String} String to encode. +* `encoding` {String} Encoding to use, Default: `'utf8'` + +Creates a new `Buffer` containing the given JavaScript string `str`. If +provided, the `encoding` parameter identifies the character encoding. +If not provided, `encoding` defaults to `'utf8'`. + +```js +const buf1 = Buffer.from('this is a tést'); +console.log(buf1.toString()); + // prints: this is a tést +console.log(buf1.toString('ascii')); + // prints: this is a tC)st + +const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex'); +console.log(buf2.toString()); + // prints: this is a tést +``` + +A `TypeError` will be thrown if `str` is not a string. + +### Class Method: Buffer.alloc(size[, fill[, encoding]]) + + +* `size` {Number} +* `fill` {Value} Default: `undefined` +* `encoding` {String} Default: `utf8` + +Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the +`Buffer` will be *zero-filled*. + +```js +const buf = Buffer.alloc(5); +console.log(buf); + // +``` + +The `size` must be less than or equal to the value of +`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is +`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will +be created if a `size` less than or equal to 0 is specified. + +If `fill` is specified, the allocated `Buffer` will be initialized by calling +`buf.fill(fill)`. See [`buf.fill()`][] for more information. + +```js +const buf = Buffer.alloc(5, 'a'); +console.log(buf); + // +``` + +If both `fill` and `encoding` are specified, the allocated `Buffer` will be +initialized by calling `buf.fill(fill, encoding)`. For example: + +```js +const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64'); +console.log(buf); + // +``` + +Calling `Buffer.alloc(size)` can be significantly slower than the alternative +`Buffer.allocUnsafe(size)` but ensures that the newly created `Buffer` instance +contents will *never contain sensitive data*. + +A `TypeError` will be thrown if `size` is not a number. + +### Class Method: Buffer.allocUnsafe(size) + + +* `size` {Number} + +Allocates a new *non-zero-filled* `Buffer` of `size` bytes. The `size` must +be less than or equal to the value of `require('buffer').kMaxLength` (on 64-bit +architectures, `kMaxLength` is `(2^31)-1`). Otherwise, a [`RangeError`][] is +thrown. A zero-length Buffer will be created if a `size` less than or equal to +0 is specified. + +The underlying memory for `Buffer` instances created in this way is *not +initialized*. The contents of the newly created `Buffer` are unknown and +*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such +`Buffer` instances to zeroes. + +```js +const buf = Buffer.allocUnsafe(5); +console.log(buf); + // + // (octets will be different, every time) +buf.fill(0); +console.log(buf); + // +``` + +A `TypeError` will be thrown if `size` is not a number. + +Note that the `Buffer` module pre-allocates an internal `Buffer` instance of +size `Buffer.poolSize` that is used as a pool for the fast allocation of new +`Buffer` instances created using `Buffer.allocUnsafe(size)` (and the deprecated +`new Buffer(size)` constructor) only when `size` is less than or equal to +`Buffer.poolSize >> 1` (floor of `Buffer.poolSize` divided by two). The default +value of `Buffer.poolSize` is `8192` but can be modified. + +Use of this pre-allocated internal memory pool is a key difference between +calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`. +Specifically, `Buffer.alloc(size, fill)` will *never* use the internal Buffer +pool, while `Buffer.allocUnsafe(size).fill(fill)` *will* use the internal +Buffer pool if `size` is less than or equal to half `Buffer.poolSize`. The +difference is subtle but can be important when an application requires the +additional performance that `Buffer.allocUnsafe(size)` provides. + +### Class Method: Buffer.allocUnsafeSlow(size) + + +* `size` {Number} + +Allocates a new *non-zero-filled* and non-pooled `Buffer` of `size` bytes. The +`size` must be less than or equal to the value of +`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is +`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will +be created if a `size` less than or equal to 0 is specified. + +The underlying memory for `Buffer` instances created in this way is *not +initialized*. The contents of the newly created `Buffer` are unknown and +*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such +`Buffer` instances to zeroes. + +When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances, +allocations under 4KB are, by default, sliced from a single pre-allocated +`Buffer`. This allows applications to avoid the garbage collection overhead of +creating many individually allocated Buffers. This approach improves both +performance and memory usage by eliminating the need to track and cleanup as +many `Persistent` objects. + +However, in the case where a developer may need to retain a small chunk of +memory from a pool for an indeterminate amount of time, it may be appropriate +to create an un-pooled Buffer instance using `Buffer.allocUnsafeSlow()` then +copy out the relevant bits. + +```js +// need to keep around a few small chunks of memory +const store = []; + +socket.on('readable', () => { + const data = socket.read(); + // allocate for retained data + const sb = Buffer.allocUnsafeSlow(10); + // copy the data into the new allocation + data.copy(sb, 0, 0, 10); + store.push(sb); +}); +``` + +Use of `Buffer.allocUnsafeSlow()` should be used only as a last resort *after* +a developer has observed undue memory retention in their applications. + +A `TypeError` will be thrown if `size` is not a number. + +### All the Rest + +The rest of the `Buffer` API is exactly the same as in node.js. +[See the docs](https://nodejs.org/api/buffer.html). + + +## Related links + +- [Node.js issue: Buffer(number) is unsafe](https://github.com/nodejs/node/issues/4660) +- [Node.js Enhancement Proposal: Buffer.from/Buffer.alloc/Buffer.zalloc/Buffer() soft-deprecate](https://github.com/nodejs/node-eps/pull/4) + +## Why is `Buffer` unsafe? + +Today, the node.js `Buffer` constructor is overloaded to handle many different argument +types like `String`, `Array`, `Object`, `TypedArrayView` (`Uint8Array`, etc.), +`ArrayBuffer`, and also `Number`. + +The API is optimized for convenience: you can throw any type at it, and it will try to do +what you want. + +Because the Buffer constructor is so powerful, you often see code like this: + +```js +// Convert UTF-8 strings to hex +function toHex (str) { + return new Buffer(str).toString('hex') +} +``` + +***But what happens if `toHex` is called with a `Number` argument?*** + +### Remote Memory Disclosure + +If an attacker can make your program call the `Buffer` constructor with a `Number` +argument, then they can make it allocate uninitialized memory from the node.js process. +This could potentially disclose TLS private keys, user data, or database passwords. + +When the `Buffer` constructor is passed a `Number` argument, it returns an +**UNINITIALIZED** block of memory of the specified `size`. When you create a `Buffer` like +this, you **MUST** overwrite the contents before returning it to the user. + +From the [node.js docs](https://nodejs.org/api/buffer.html#buffer_new_buffer_size): + +> `new Buffer(size)` +> +> - `size` Number +> +> The underlying memory for `Buffer` instances created in this way is not initialized. +> **The contents of a newly created `Buffer` are unknown and could contain sensitive +> data.** Use `buf.fill(0)` to initialize a Buffer to zeroes. + +(Emphasis our own.) + +Whenever the programmer intended to create an uninitialized `Buffer` you often see code +like this: + +```js +var buf = new Buffer(16) + +// Immediately overwrite the uninitialized buffer with data from another buffer +for (var i = 0; i < buf.length; i++) { + buf[i] = otherBuf[i] +} +``` + + +### Would this ever be a problem in real code? + +Yes. It's surprisingly common to forget to check the type of your variables in a +dynamically-typed language like JavaScript. + +Usually the consequences of assuming the wrong type is that your program crashes with an +uncaught exception. But the failure mode for forgetting to check the type of arguments to +the `Buffer` constructor is more catastrophic. + +Here's an example of a vulnerable service that takes a JSON payload and converts it to +hex: + +```js +// Take a JSON payload {str: "some string"} and convert it to hex +var server = http.createServer(function (req, res) { + var data = '' + req.setEncoding('utf8') + req.on('data', function (chunk) { + data += chunk + }) + req.on('end', function () { + var body = JSON.parse(data) + res.end(new Buffer(body.str).toString('hex')) + }) +}) + +server.listen(8080) +``` + +In this example, an http client just has to send: + +```json +{ + "str": 1000 +} +``` + +and it will get back 1,000 bytes of uninitialized memory from the server. + +This is a very serious bug. It's similar in severity to the +[the Heartbleed bug](http://heartbleed.com/) that allowed disclosure of OpenSSL process +memory by remote attackers. + + +### Which real-world packages were vulnerable? + +#### [`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht) + +[Mathias Buus](https://github.com/mafintosh) and I +([Feross Aboukhadijeh](http://feross.org/)) found this issue in one of our own packages, +[`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht). The bug would allow +anyone on the internet to send a series of messages to a user of `bittorrent-dht` and get +them to reveal 20 bytes at a time of uninitialized memory from the node.js process. + +Here's +[the commit](https://github.com/feross/bittorrent-dht/commit/6c7da04025d5633699800a99ec3fbadf70ad35b8) +that fixed it. We released a new fixed version, created a +[Node Security Project disclosure](https://nodesecurity.io/advisories/68), and deprecated all +vulnerable versions on npm so users will get a warning to upgrade to a newer version. + +#### [`ws`](https://www.npmjs.com/package/ws) + +That got us wondering if there were other vulnerable packages. Sure enough, within a short +period of time, we found the same issue in [`ws`](https://www.npmjs.com/package/ws), the +most popular WebSocket implementation in node.js. + +If certain APIs were called with `Number` parameters instead of `String` or `Buffer` as +expected, then uninitialized server memory would be disclosed to the remote peer. + +These were the vulnerable methods: + +```js +socket.send(number) +socket.ping(number) +socket.pong(number) +``` + +Here's a vulnerable socket server with some echo functionality: + +```js +server.on('connection', function (socket) { + socket.on('message', function (message) { + message = JSON.parse(message) + if (message.type === 'echo') { + socket.send(message.data) // send back the user's message + } + }) +}) +``` + +`socket.send(number)` called on the server, will disclose server memory. + +Here's [the release](https://github.com/websockets/ws/releases/tag/1.0.1) where the issue +was fixed, with a more detailed explanation. Props to +[Arnout Kazemier](https://github.com/3rd-Eden) for the quick fix. Here's the +[Node Security Project disclosure](https://nodesecurity.io/advisories/67). + + +### What's the solution? + +It's important that node.js offers a fast way to get memory otherwise performance-critical +applications would needlessly get a lot slower. + +But we need a better way to *signal our intent* as programmers. **When we want +uninitialized memory, we should request it explicitly.** + +Sensitive functionality should not be packed into a developer-friendly API that loosely +accepts many different types. This type of API encourages the lazy practice of passing +variables in without checking the type very carefully. + +#### A new API: `Buffer.allocUnsafe(number)` + +The functionality of creating buffers with uninitialized memory should be part of another +API. We propose `Buffer.allocUnsafe(number)`. This way, it's not part of an API that +frequently gets user input of all sorts of different types passed into it. + +```js +var buf = Buffer.allocUnsafe(16) // careful, uninitialized memory! + +// Immediately overwrite the uninitialized buffer with data from another buffer +for (var i = 0; i < buf.length; i++) { + buf[i] = otherBuf[i] +} +``` + + +### How do we fix node.js core? + +We sent [a PR to node.js core](https://github.com/nodejs/node/pull/4514) (merged as +`semver-major`) which defends against one case: + +```js +var str = 16 +new Buffer(str, 'utf8') +``` + +In this situation, it's implied that the programmer intended the first argument to be a +string, since they passed an encoding as a second argument. Today, node.js will allocate +uninitialized memory in the case of `new Buffer(number, encoding)`, which is probably not +what the programmer intended. + +But this is only a partial solution, since if the programmer does `new Buffer(variable)` +(without an `encoding` parameter) there's no way to know what they intended. If `variable` +is sometimes a number, then uninitialized memory will sometimes be returned. + +### What's the real long-term fix? + +We could deprecate and remove `new Buffer(number)` and use `Buffer.allocUnsafe(number)` when +we need uninitialized memory. But that would break 1000s of packages. + +~~We believe the best solution is to:~~ + +~~1. Change `new Buffer(number)` to return safe, zeroed-out memory~~ + +~~2. Create a new API for creating uninitialized Buffers. We propose: `Buffer.allocUnsafe(number)`~~ + +#### Update + +We now support adding three new APIs: + +- `Buffer.from(value)` - convert from any type to a buffer +- `Buffer.alloc(size)` - create a zero-filled buffer +- `Buffer.allocUnsafe(size)` - create an uninitialized buffer with given size + +This solves the core problem that affected `ws` and `bittorrent-dht` which is +`Buffer(variable)` getting tricked into taking a number argument. + +This way, existing code continues working and the impact on the npm ecosystem will be +minimal. Over time, npm maintainers can migrate performance-critical code to use +`Buffer.allocUnsafe(number)` instead of `new Buffer(number)`. + + +### Conclusion + +We think there's a serious design issue with the `Buffer` API as it exists today. It +promotes insecure software by putting high-risk functionality into a convenient API +with friendly "developer ergonomics". + +This wasn't merely a theoretical exercise because we found the issue in some of the +most popular npm packages. + +Fortunately, there's an easy fix that can be applied today. Use `safe-buffer` in place of +`buffer`. + +```js +var Buffer = require('safe-buffer').Buffer +``` + +Eventually, we hope that node.js core can switch to this new, safer behavior. We believe +the impact on the ecosystem would be minimal since it's not a breaking change. +Well-maintained, popular packages would be updated to use `Buffer.alloc` quickly, while +older, insecure packages would magically become safe from this attack vector. + + +## links + +- [Node.js PR: buffer: throw if both length and enc are passed](https://github.com/nodejs/node/pull/4514) +- [Node Security Project disclosure for `ws`](https://nodesecurity.io/advisories/67) +- [Node Security Project disclosure for`bittorrent-dht`](https://nodesecurity.io/advisories/68) + + +## credit + +The original issues in `bittorrent-dht` +([disclosure](https://nodesecurity.io/advisories/68)) and +`ws` ([disclosure](https://nodesecurity.io/advisories/67)) were discovered by +[Mathias Buus](https://github.com/mafintosh) and +[Feross Aboukhadijeh](http://feross.org/). + +Thanks to [Adam Baldwin](https://github.com/evilpacket) for helping disclose these issues +and for his work running the [Node Security Project](https://nodesecurity.io/). + +Thanks to [John Hiesey](https://github.com/jhiesey) for proofreading this README and +auditing the code. + + +## license + +MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org) diff --git a/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/index.d.ts b/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/index.d.ts new file mode 100644 index 00000000000000..e9fed809a5ab51 --- /dev/null +++ b/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/index.d.ts @@ -0,0 +1,187 @@ +declare module "safe-buffer" { + export class Buffer { + length: number + write(string: string, offset?: number, length?: number, encoding?: string): number; + toString(encoding?: string, start?: number, end?: number): string; + toJSON(): { type: 'Buffer', data: any[] }; + equals(otherBuffer: Buffer): boolean; + compare(otherBuffer: Buffer, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): number; + copy(targetBuffer: Buffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number; + slice(start?: number, end?: number): Buffer; + writeUIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + writeUIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + writeIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + writeIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number; + readUIntLE(offset: number, byteLength: number, noAssert?: boolean): number; + readUIntBE(offset: number, byteLength: number, noAssert?: boolean): number; + readIntLE(offset: number, byteLength: number, noAssert?: boolean): number; + readIntBE(offset: number, byteLength: number, noAssert?: boolean): number; + readUInt8(offset: number, noAssert?: boolean): number; + readUInt16LE(offset: number, noAssert?: boolean): number; + readUInt16BE(offset: number, noAssert?: boolean): number; + readUInt32LE(offset: number, noAssert?: boolean): number; + readUInt32BE(offset: number, noAssert?: boolean): number; + readInt8(offset: number, noAssert?: boolean): number; + readInt16LE(offset: number, noAssert?: boolean): number; + readInt16BE(offset: number, noAssert?: boolean): number; + readInt32LE(offset: number, noAssert?: boolean): number; + readInt32BE(offset: number, noAssert?: boolean): number; + readFloatLE(offset: number, noAssert?: boolean): number; + readFloatBE(offset: number, noAssert?: boolean): number; + readDoubleLE(offset: number, noAssert?: boolean): number; + readDoubleBE(offset: number, noAssert?: boolean): number; + swap16(): Buffer; + swap32(): Buffer; + swap64(): Buffer; + writeUInt8(value: number, offset: number, noAssert?: boolean): number; + writeUInt16LE(value: number, offset: number, noAssert?: boolean): number; + writeUInt16BE(value: number, offset: number, noAssert?: boolean): number; + writeUInt32LE(value: number, offset: number, noAssert?: boolean): number; + writeUInt32BE(value: number, offset: number, noAssert?: boolean): number; + writeInt8(value: number, offset: number, noAssert?: boolean): number; + writeInt16LE(value: number, offset: number, noAssert?: boolean): number; + writeInt16BE(value: number, offset: number, noAssert?: boolean): number; + writeInt32LE(value: number, offset: number, noAssert?: boolean): number; + writeInt32BE(value: number, offset: number, noAssert?: boolean): number; + writeFloatLE(value: number, offset: number, noAssert?: boolean): number; + writeFloatBE(value: number, offset: number, noAssert?: boolean): number; + writeDoubleLE(value: number, offset: number, noAssert?: boolean): number; + writeDoubleBE(value: number, offset: number, noAssert?: boolean): number; + fill(value: any, offset?: number, end?: number): this; + indexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number; + lastIndexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number; + includes(value: string | number | Buffer, byteOffset?: number, encoding?: string): boolean; + + /** + * Allocates a new buffer containing the given {str}. + * + * @param str String to store in buffer. + * @param encoding encoding to use, optional. Default is 'utf8' + */ + constructor (str: string, encoding?: string); + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + */ + constructor (size: number); + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + */ + constructor (array: Uint8Array); + /** + * Produces a Buffer backed by the same allocated memory as + * the given {ArrayBuffer}. + * + * + * @param arrayBuffer The ArrayBuffer with which to share memory. + */ + constructor (arrayBuffer: ArrayBuffer); + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + */ + constructor (array: any[]); + /** + * Copies the passed {buffer} data onto a new {Buffer} instance. + * + * @param buffer The buffer to copy. + */ + constructor (buffer: Buffer); + prototype: Buffer; + /** + * Allocates a new Buffer using an {array} of octets. + * + * @param array + */ + static from(array: any[]): Buffer; + /** + * When passed a reference to the .buffer property of a TypedArray instance, + * the newly created Buffer will share the same allocated memory as the TypedArray. + * The optional {byteOffset} and {length} arguments specify a memory range + * within the {arrayBuffer} that will be shared by the Buffer. + * + * @param arrayBuffer The .buffer property of a TypedArray or a new ArrayBuffer() + * @param byteOffset + * @param length + */ + static from(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): Buffer; + /** + * Copies the passed {buffer} data onto a new Buffer instance. + * + * @param buffer + */ + static from(buffer: Buffer): Buffer; + /** + * Creates a new Buffer containing the given JavaScript string {str}. + * If provided, the {encoding} parameter identifies the character encoding. + * If not provided, {encoding} defaults to 'utf8'. + * + * @param str + */ + static from(str: string, encoding?: string): Buffer; + /** + * Returns true if {obj} is a Buffer + * + * @param obj object to test. + */ + static isBuffer(obj: any): obj is Buffer; + /** + * Returns true if {encoding} is a valid encoding argument. + * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' + * + * @param encoding string to test. + */ + static isEncoding(encoding: string): boolean; + /** + * Gives the actual byte length of a string. encoding defaults to 'utf8'. + * This is not the same as String.prototype.length since that returns the number of characters in a string. + * + * @param string string to test. + * @param encoding encoding used to evaluate (defaults to 'utf8') + */ + static byteLength(string: string, encoding?: string): number; + /** + * Returns a buffer which is the result of concatenating all the buffers in the list together. + * + * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer. + * If the list has exactly one item, then the first item of the list is returned. + * If the list has more than one item, then a new Buffer is created. + * + * @param list An array of Buffer objects to concatenate + * @param totalLength Total length of the buffers when concatenated. + * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly. + */ + static concat(list: Buffer[], totalLength?: number): Buffer; + /** + * The same as buf1.compare(buf2). + */ + static compare(buf1: Buffer, buf2: Buffer): number; + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + * @param fill if specified, buffer will be initialized by calling buf.fill(fill). + * If parameter is omitted, buffer will be filled with zeros. + * @param encoding encoding used for call to buf.fill while initalizing + */ + static alloc(size: number, fill?: string | Buffer | number, encoding?: string): Buffer; + /** + * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + static allocUnsafe(size: number): Buffer; + /** + * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + static allocUnsafeSlow(size: number): Buffer; + } +} \ No newline at end of file diff --git a/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/index.js b/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/index.js new file mode 100644 index 00000000000000..054c8d30ddafb4 --- /dev/null +++ b/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/index.js @@ -0,0 +1,64 @@ +/* eslint-disable node/no-deprecated-api */ +var buffer = require('buffer') +var Buffer = buffer.Buffer + +// alternative to using Object.keys for old browsers +function copyProps (src, dst) { + for (var key in src) { + dst[key] = src[key] + } +} +if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { + module.exports = buffer +} else { + // Copy properties from require('buffer') + copyProps(buffer, exports) + exports.Buffer = SafeBuffer +} + +function SafeBuffer (arg, encodingOrOffset, length) { + return Buffer(arg, encodingOrOffset, length) +} + +SafeBuffer.prototype = Object.create(Buffer.prototype) + +// Copy static methods from Buffer +copyProps(Buffer, SafeBuffer) + +SafeBuffer.from = function (arg, encodingOrOffset, length) { + if (typeof arg === 'number') { + throw new TypeError('Argument must not be a number') + } + return Buffer(arg, encodingOrOffset, length) +} + +SafeBuffer.alloc = function (size, fill, encoding) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + var buf = Buffer(size) + if (fill !== undefined) { + if (typeof encoding === 'string') { + buf.fill(fill, encoding) + } else { + buf.fill(fill) + } + } else { + buf.fill(0) + } + return buf +} + +SafeBuffer.allocUnsafe = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + return Buffer(size) +} + +SafeBuffer.allocUnsafeSlow = function (size) { + if (typeof size !== 'number') { + throw new TypeError('Argument must be a number') + } + return buffer.SlowBuffer(size) +} diff --git a/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/package.json b/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/package.json new file mode 100644 index 00000000000000..e7f13cb4b47ac4 --- /dev/null +++ b/deps/npm/node_modules/string_decoder/node_modules/safe-buffer/package.json @@ -0,0 +1,62 @@ +{ + "_from": "safe-buffer@~5.2.0", + "_id": "safe-buffer@5.2.0", + "_inBundle": false, + "_integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "_location": "/string_decoder/safe-buffer", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "safe-buffer@~5.2.0", + "name": "safe-buffer", + "escapedName": "safe-buffer", + "rawSpec": "~5.2.0", + "saveSpec": null, + "fetchSpec": "~5.2.0" + }, + "_requiredBy": [ + "/string_decoder" + ], + "_resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "_shasum": "b74daec49b1148f88c64b68d49b1e815c1f2f519", + "_spec": "safe-buffer@~5.2.0", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli/node_modules/string_decoder", + "author": { + "name": "Feross Aboukhadijeh", + "email": "feross@feross.org", + "url": "http://feross.org" + }, + "bugs": { + "url": "https://github.com/feross/safe-buffer/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Safer Node.js Buffer API", + "devDependencies": { + "standard": "*", + "tape": "^4.0.0" + }, + "homepage": "https://github.com/feross/safe-buffer", + "keywords": [ + "buffer", + "buffer allocate", + "node security", + "safe", + "safe-buffer", + "security", + "uninitialized" + ], + "license": "MIT", + "main": "index.js", + "name": "safe-buffer", + "repository": { + "type": "git", + "url": "git://github.com/feross/safe-buffer.git" + }, + "scripts": { + "test": "standard && tape test/*.js" + }, + "types": "index.d.ts", + "version": "5.2.0" +} diff --git a/deps/npm/node_modules/string_decoder/package.json b/deps/npm/node_modules/string_decoder/package.json index 0b704d99a1bf50..cc843b66014507 100644 --- a/deps/npm/node_modules/string_decoder/package.json +++ b/deps/npm/node_modules/string_decoder/package.json @@ -1,8 +1,8 @@ { "_from": "string_decoder@^1.1.1", - "_id": "string_decoder@1.2.0", + "_id": "string_decoder@1.3.0", "_inBundle": false, - "_integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "_integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "_location": "/string_decoder", "_phantomChildren": {}, "_requested": { @@ -18,16 +18,16 @@ "_requiredBy": [ "/readable-stream" ], - "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "_shasum": "fe86e738b19544afe70469243b2a1ee9240eae8d", + "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "_shasum": "42f114594a46cf1a8e30b0a84f56c78c3edac21e", "_spec": "string_decoder@^1.1.1", - "_where": "/Users/aeschright/code/cli/node_modules/readable-stream", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli/node_modules/readable-stream", "bugs": { "url": "https://github.com/nodejs/string_decoder/issues" }, "bundleDependencies": false, "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" }, "deprecated": false, "description": "The string_decoder module from Node core", @@ -58,5 +58,5 @@ "ci": "tap test/parallel/*.js test/ours/*.js --tap | tee test.tap && node test/verify-dependencies.js", "test": "tap test/parallel/*.js && node test/verify-dependencies" }, - "version": "1.2.0" + "version": "1.3.0" } diff --git a/deps/npm/node_modules/term-size/vendor/macos/term-size b/deps/npm/node_modules/term-size/vendor/macos/term-size index e383cc737f8e23..c32a1fdc1b073b 100755 Binary files a/deps/npm/node_modules/term-size/vendor/macos/term-size and b/deps/npm/node_modules/term-size/vendor/macos/term-size differ diff --git a/deps/npm/node_modules/through2/node_modules/readable-stream/CONTRIBUTING.md b/deps/npm/node_modules/through2/node_modules/readable-stream/CONTRIBUTING.md deleted file mode 100644 index f478d58dca85b2..00000000000000 --- a/deps/npm/node_modules/through2/node_modules/readable-stream/CONTRIBUTING.md +++ /dev/null @@ -1,38 +0,0 @@ -# Developer's Certificate of Origin 1.1 - -By making a contribution to this project, I certify that: - -* (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - -* (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - -* (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - -* (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -## Moderation Policy - -The [Node.js Moderation Policy] applies to this WG. - -## Code of Conduct - -The [Node.js Code of Conduct][] applies to this WG. - -[Node.js Code of Conduct]: -https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md -[Node.js Moderation Policy]: -https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md diff --git a/deps/npm/node_modules/update-notifier/package.json b/deps/npm/node_modules/update-notifier/package.json index 836b3df2540275..c2c81fb3c7d73c 100644 --- a/deps/npm/node_modules/update-notifier/package.json +++ b/deps/npm/node_modules/update-notifier/package.json @@ -1,10 +1,4 @@ { - "_args": [ - [ - "update-notifier@2.5.0", - "/Users/rebecca/code/npm" - ] - ], "_from": "update-notifier@2.5.0", "_id": "update-notifier@2.5.0", "_inBundle": false, @@ -22,12 +16,14 @@ "fetchSpec": "2.5.0" }, "_requiredBy": [ + "#USER", "/", "/libnpx" ], "_resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "_spec": "2.5.0", - "_where": "/Users/rebecca/code/npm", + "_shasum": "d0744593e13f161e406acb1d9408b72cad08aff6", + "_spec": "update-notifier@2.5.0", + "_where": "/Users/ruyadorno/Documents/workspace/cli", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", @@ -36,6 +32,7 @@ "bugs": { "url": "https://github.com/yeoman/update-notifier/issues" }, + "bundleDependencies": false, "dependencies": { "boxen": "^1.2.1", "chalk": "^2.0.1", @@ -48,6 +45,7 @@ "semver-diff": "^2.0.0", "xdg-basedir": "^3.0.0" }, + "deprecated": false, "description": "Update notifications for your CLI app", "devDependencies": { "ava": "*", diff --git a/deps/npm/node_modules/verror/CONTRIBUTING.md b/deps/npm/node_modules/verror/CONTRIBUTING.md deleted file mode 100644 index 750cef8dfd54a6..00000000000000 --- a/deps/npm/node_modules/verror/CONTRIBUTING.md +++ /dev/null @@ -1,19 +0,0 @@ -# Contributing - -This repository uses [cr.joyent.us](https://cr.joyent.us) (Gerrit) for new -changes. Anyone can submit changes. To get started, see the [cr.joyent.us user -guide](https://github.com/joyent/joyent-gerrit/blob/master/docs/user/README.md). -This repo does not use GitHub pull requests. - -See the [Joyent Engineering -Guidelines](https://github.com/joyent/eng/blob/master/docs/index.md) for general -best practices expected in this repository. - -Contributions should be "make prepush" clean. The "prepush" target runs the -"check" target, which requires these separate tools: - -* https://github.com/davepacheco/jsstyle -* https://github.com/davepacheco/javascriptlint - -If you're changing something non-trivial or user-facing, you may want to submit -an issue first. diff --git a/deps/npm/node_modules/widest-line/index.js b/deps/npm/node_modules/widest-line/index.js index 173cec4f296bb8..a9865d00abd914 100644 --- a/deps/npm/node_modules/widest-line/index.js +++ b/deps/npm/node_modules/widest-line/index.js @@ -1,5 +1,8 @@ 'use strict'; const stringWidth = require('string-width'); -module.exports = input => Math.max.apply(null, input.split('\n').map(x => stringWidth(x))); - +module.exports = input => { + let max = 0; + for (const s of input.split('\n')) max = Math.max(max, stringWidth(s)); + return max; +}; diff --git a/deps/npm/node_modules/widest-line/package.json b/deps/npm/node_modules/widest-line/package.json index 2eb1d53fc9a60f..fc4bcfcbeb83c5 100644 --- a/deps/npm/node_modules/widest-line/package.json +++ b/deps/npm/node_modules/widest-line/package.json @@ -1,8 +1,8 @@ { "_from": "widest-line@^2.0.0", - "_id": "widest-line@2.0.0", + "_id": "widest-line@2.0.1", "_inBundle": false, - "_integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", + "_integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", "_location": "/widest-line", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/boxen" ], - "_resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", - "_shasum": "0142a4e8a243f8882c0233aa0e0281aa76152273", + "_resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "_shasum": "7438764730ec7ef4381ce4df82fb98a53142a3fc", "_spec": "widest-line@^2.0.0", - "_where": "/Users/rebecca/code/npm/node_modules/boxen", + "_where": "/Users/ruyadorno/Documents/workspace/cli/node_modules/boxen", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", @@ -82,5 +82,5 @@ "scripts": { "test": "xo && ava" }, - "version": "2.0.0" + "version": "2.0.1" } diff --git a/deps/npm/node_modules/yargs/CHANGELOG.md b/deps/npm/node_modules/yargs/CHANGELOG.md index 0eaf2f33edddb4..2cccca04c4113c 100644 --- a/deps/npm/node_modules/yargs/CHANGELOG.md +++ b/deps/npm/node_modules/yargs/CHANGELOG.md @@ -2,6 +2,25 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +# [11.1.1](https://github.com/yargs/yargs/compare/v11.1.0...v11.1.1) (2019-10-06) + +* backport security fix for os-locale. + + +# [11.1.0](https://github.com/yargs/yargs/compare/v11.0.0...v11.1.0) (2018-03-04) + + +### Bug Fixes + +* choose correct config directory when require.main does not exist ([#1056](https://github.com/yargs/yargs/issues/1056)) ([a04678c](https://github.com/yargs/yargs/commit/a04678c)) + + +### Features + +* allow hidden options to be displayed with --show-hidden ([#1061](https://github.com/yargs/yargs/issues/1061)) ([ea862ae](https://github.com/yargs/yargs/commit/ea862ae)) +* extend *.rc files in addition to json ([#1080](https://github.com/yargs/yargs/issues/1080)) ([11691a6](https://github.com/yargs/yargs/commit/11691a6)) + # [11.0.0](https://github.com/yargs/yargs/compare/v10.1.2...v11.0.0) (2018-01-22) diff --git a/deps/npm/node_modules/yargs/lib/apply-extends.js b/deps/npm/node_modules/yargs/lib/apply-extends.js index 3005848e3cdb78..530b022ac57b5a 100644 --- a/deps/npm/node_modules/yargs/lib/apply-extends.js +++ b/deps/npm/node_modules/yargs/lib/apply-extends.js @@ -6,9 +6,9 @@ const YError = require('./yerror') let previouslyVisitedConfigs = [] -function checkForCircularExtends (path) { - if (previouslyVisitedConfigs.indexOf(path) > -1) { - throw new YError(`Circular extended configurations: '${path}'.`) +function checkForCircularExtends (cfgPath) { + if (previouslyVisitedConfigs.indexOf(cfgPath) > -1) { + throw new YError(`Circular extended configurations: '${cfgPath}'.`) } } diff --git a/deps/npm/node_modules/yargs/package.json b/deps/npm/node_modules/yargs/package.json index 1fe51fedd4392b..fd0a1265c23ddb 100644 --- a/deps/npm/node_modules/yargs/package.json +++ b/deps/npm/node_modules/yargs/package.json @@ -1,8 +1,8 @@ { "_from": "yargs@^11.0.0", - "_id": "yargs@11.0.0", + "_id": "yargs@11.1.1", "_inBundle": false, - "_integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", + "_integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", "_location": "/yargs", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,10 @@ "_requiredBy": [ "/libnpx" ], - "_resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", - "_shasum": "c052931006c5eee74610e5fc0354bedfd08a201b", + "_resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "_shasum": "5052efe3446a4df5ed669c995886cc0f13702766", "_spec": "yargs@^11.0.0", - "_where": "/Users/rebecca/code/npm/node_modules/libnpx", + "_where": "/Users/mperrotte/npminc/cli/node_modules/libnpx", "bugs": { "url": "https://github.com/yargs/yargs/issues" }, @@ -31,7 +31,7 @@ "decamelize": "^1.1.1", "find-up": "^2.1.0", "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", + "os-locale": "^3.1.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", @@ -47,7 +47,7 @@ "chalk": "^1.1.3", "coveralls": "^2.11.11", "cpr": "^2.0.0", - "cross-spawn": "^5.0.1", + "cross-spawn": "^6.0.4", "es6-promise": "^4.0.2", "hashish": "0.0.4", "mocha": "^3.0.1", @@ -97,5 +97,5 @@ "**/example/**" ] }, - "version": "11.0.0" + "version": "11.1.1" } diff --git a/deps/npm/node_modules/yargs/yargs.js b/deps/npm/node_modules/yargs/yargs.js index 9b50b8bfeb0a44..38f1b2ea6e67f5 100644 --- a/deps/npm/node_modules/yargs/yargs.js +++ b/deps/npm/node_modules/yargs/yargs.js @@ -476,17 +476,17 @@ function Yargs (processArgs, cwd, parentRequire) { return self } - self.pkgConf = function pkgConf (key, path) { - argsert(' [string]', [key, path], arguments.length) + self.pkgConf = function pkgConf (key, rootPath) { + argsert(' [string]', [key, rootPath], arguments.length) let conf = null // prefer cwd to require-main-filename in this method // since we're looking for e.g. "nyc" config in nyc consumer // rather than "yargs" config in nyc (where nyc is the main filename) - const obj = pkgUp(path || cwd) + const obj = pkgUp(rootPath || cwd) // If an object exists in the key, add it to options.configObjects if (obj[key] && typeof obj[key] === 'object') { - conf = applyExtends(obj[key], path || cwd) + conf = applyExtends(obj[key], rootPath || cwd) options.configObjects = (options.configObjects || []).concat(conf) } @@ -494,16 +494,24 @@ function Yargs (processArgs, cwd, parentRequire) { } const pkgs = {} - function pkgUp (path) { - const npath = path || '*' + function pkgUp (rootPath) { + const npath = rootPath || '*' if (pkgs[npath]) return pkgs[npath] const findUp = require('find-up') let obj = {} try { + let startDir = rootPath || require('require-main-filename')(parentRequire || require) + + // When called in an environment that lacks require.main.filename, such as a jest test runner, + // startDir is already process.cwd(), and should not be shortened. + // Whether or not it is _actually_ a directory (e.g., extensionless bin) is irrelevant, find-up handles it. + if (!rootPath && path.extname(startDir)) { + startDir = path.dirname(startDir) + } + const pkgJsonPath = findUp.sync('package.json', { - cwd: path || require('path').dirname(require('require-main-filename')(parentRequire || require)), - normalize: false + cwd: startDir }) obj = JSON.parse(fs.readFileSync(pkgJsonPath)) } catch (noop) {} diff --git a/deps/npm/package.json b/deps/npm/package.json index d6c25dbca1457d..d367dc98b5982f 100644 --- a/deps/npm/package.json +++ b/deps/npm/package.json @@ -1,5 +1,5 @@ { - "version": "6.13.4", + "version": "6.14.4", "name": "npm", "description": "a package manager for JavaScript", "keywords": [ @@ -39,12 +39,12 @@ "ansistyles": "~0.1.3", "aproba": "^2.0.0", "archy": "~1.0.0", - "bin-links": "^1.1.6", + "bin-links": "^1.1.7", "bluebird": "^3.5.5", "byte-size": "^5.0.1", "cacache": "^12.0.3", "call-limit": "^1.1.1", - "chownr": "^1.1.3", + "chownr": "^1.1.4", "ci-info": "^2.0.0", "cli-columns": "^3.1.2", "cli-table3": "^0.5.1", @@ -60,10 +60,10 @@ "fs-vacuum": "~1.2.10", "fs-write-stream-atomic": "~1.0.10", "gentle-fs": "^2.3.0", - "glob": "^7.1.4", + "glob": "^7.1.6", "graceful-fs": "^4.2.3", "has-unicode": "~2.0.1", - "hosted-git-info": "^2.8.5", + "hosted-git-info": "^2.8.8", "iferr": "^1.0.2", "infer-owner": "^1.0.4", "inflight": "~1.0.6", @@ -80,7 +80,7 @@ "libnpmorg": "^1.0.1", "libnpmsearch": "^2.0.2", "libnpmteam": "^1.0.2", - "libnpx": "^10.2.0", + "libnpx": "^10.2.2", "lock-verify": "^2.1.0", "lockfile": "^1.0.4", "lodash._baseuniq": "~4.6.0", @@ -91,9 +91,9 @@ "lru-cache": "^5.1.1", "meant": "~1.0.1", "mississippi": "^3.0.0", - "mkdirp": "~0.5.1", + "mkdirp": "^0.5.4", "move-concurrently": "^1.0.1", - "node-gyp": "^5.0.5", + "node-gyp": "^5.1.0", "nopt": "~4.0.1", "normalize-package-data": "^2.5.0", "npm-audit-report": "^1.3.2", @@ -101,16 +101,16 @@ "npm-install-checks": "^3.0.2", "npm-lifecycle": "^3.1.4", "npm-package-arg": "^6.1.1", - "npm-packlist": "^1.4.7", + "npm-packlist": "^1.4.8", "npm-pick-manifest": "^3.0.2", - "npm-profile": "^4.0.2", - "npm-registry-fetch": "^4.0.2", + "npm-profile": "^4.0.4", + "npm-registry-fetch": "^4.0.3", "npm-user-validate": "~1.0.0", "npmlog": "~4.1.2", "once": "~1.4.0", "opener": "^1.5.1", "osenv": "^0.1.5", - "pacote": "^9.5.11", + "pacote": "^9.5.12", "path-is-inside": "~1.0.2", "promise-inflight": "~1.0.1", "qrcode-terminal": "^0.12.0", @@ -121,11 +121,11 @@ "read-installed": "~4.0.3", "read-package-json": "^2.1.1", "read-package-tree": "^5.3.1", - "readable-stream": "^3.4.0", + "readable-stream": "^3.6.0", "readdir-scoped-modules": "^1.1.0", "request": "^2.88.0", "retry": "^0.12.0", - "rimraf": "^2.6.3", + "rimraf": "^2.7.1", "safe-buffer": "^5.1.2", "semver": "^5.7.1", "sha": "^3.0.0", @@ -280,8 +280,8 @@ "licensee": "^7.0.3", "marked": "^0.6.3", "marked-man": "^0.6.0", - "npm-registry-couchapp": "^2.7.3", - "npm-registry-mock": "^1.3.0", + "npm-registry-couchapp": "^2.7.4", + "npm-registry-mock": "^1.3.1", "require-inject": "^1.4.4", "sprintf-js": "^1.1.2", "standard": "^11.0.1", @@ -296,7 +296,8 @@ "licenses": "licensee --production --errors-only", "tap": "tap -J --timeout 300 --no-esm", "tap-cover": "tap -J --nyc-arg=--cache --coverage --timeout 600 --no-esm", - "pretest": "standard", + "lint": "standard", + "pretest": "npm run lint", "test": "npm run test-tap --", "test:nocleanup": "NO_TEST_CLEANUP=1 npm run test --", "sudotest": "sudo npm run tap -- \"test/tap/*.js\"", @@ -306,5 +307,8 @@ "test-tap": "npm run tap -- \"test/tap/*.js\" \"test/network/*.js\"", "test-node": "tap --timeout 240 \"test/tap/*.js\" \"test/network/*.js\"" }, - "license": "Artistic-2.0" + "license": "Artistic-2.0", + "engines": { + "node": "6 >=6.2.0 || 8 || >=9.3.0" + } } diff --git a/deps/npm/scripts/dep-update b/deps/npm/scripts/dep-update index 006de17c7203a3..7e56dbba8ef53d 100755 --- a/deps/npm/scripts/dep-update +++ b/deps/npm/scripts/dep-update @@ -1,6 +1,7 @@ #!/usr/bin/env bash node . install --save $1@$2 &&\ node scripts/gen-dev-ignores.js &&\ +rm -f node_modules/{*,*/*}/CODE_OF_CONDUCT.md node_modules/{*,*/*}/CONTRIBUTING.md &&\ git add node_modules package.json package-lock.json &&\ git commit -m"$1@$2" &&\ node . repo $1 &&\ diff --git a/deps/npm/scripts/dev-dep-update b/deps/npm/scripts/dev-dep-update index cb0b783a837f4f..eee2e209cbbda0 100755 --- a/deps/npm/scripts/dev-dep-update +++ b/deps/npm/scripts/dev-dep-update @@ -1,6 +1,7 @@ #!/usr/bin/env bash node . install --save --save-dev $1@$2 &&\ node scripts/gen-dev-ignores.js &&\ +rm -f node_modules/{*,*/*}/CODE_OF_CONDUCT.md node_modules/{*,*/*}/CONTRIBUTING.md &&\ git add package.json package-lock.json &&\ git commit -m"$1@$2" &&\ node . repo $1 &&\ diff --git a/deps/npm/scripts/docs-build.js b/deps/npm/scripts/docs-build.js index e3cd2e9826f1e6..390ea20be706e1 100644 --- a/deps/npm/scripts/docs-build.js +++ b/deps/npm/scripts/docs-build.js @@ -15,7 +15,7 @@ fs.readFile(src, 'utf8', function (err, data) { } var result = data.replace(/@VERSION@/g, npm.version) - .replace(/---([\s\S]+)---/g, '') + .replace(/^---([\s\S]+?)---/g, '') .replace(/\[([^\]]+)\]\(\/cli-commands\/([^)]+)\)/g, replacer) .replace(/\[([^\]]+)\]\(\/configuring-npm\/([^)]+)\)/g, replacer) .replace(/\[([^\]]+)\]\(\/using-npm\/([^)]+)\)/g, replacer) diff --git a/deps/npm/scripts/gen-dev-ignores.js b/deps/npm/scripts/gen-dev-ignores.js index 3f6dcb301bcdbb..f07c2cd7e8c4d4 100644 --- a/deps/npm/scripts/gen-dev-ignores.js +++ b/deps/npm/scripts/gen-dev-ignores.js @@ -2,4 +2,6 @@ const fs = require('fs') const plock = require('../package-lock.json') fs.writeFileSync(`${__dirname}/../node_modules/.gitignore`, '## Automatically generated dev dependency ignores\n' + + 'CODE_OF_CONDUCT.md\n' + + 'CONTRIBUTING.md\n' + Object.keys(plock.dependencies).filter(_ => plock.dependencies[_].dev).map(_ => `/${_}`).join('\n') + '\n') diff --git a/deps/npm/scripts/release.sh b/deps/npm/scripts/release.sh index e071c7ededaf75..31fb6fa1941418 100644 --- a/deps/npm/scripts/release.sh +++ b/deps/npm/scripts/release.sh @@ -12,6 +12,8 @@ node ./bin/npm-cli.js pack --loglevel error >/dev/null mv *.tgz release cd release tar xzf *.tgz +cp ../.npmrc package/ +cp -r ../tap-snapshots package/ cp -r ../test package/ mkdir node_modules diff --git a/deps/npm/scripts/update-dist-tags.js b/deps/npm/scripts/update-dist-tags.js new file mode 100644 index 00000000000000..f28bfd0b917394 --- /dev/null +++ b/deps/npm/scripts/update-dist-tags.js @@ -0,0 +1,123 @@ +'use strict' + +/** + * Usage: + * + * node scripts/update-dist-tags.js --otp + * node scripts/update-dist-tags.js --otp= + * node scripts/update-dist-tags.js --otp + */ + +const usage = ` +Usage: + +node scripts/update-dist-tags.js --otp +node scripts/update-dist-tags.js --otp= +node scripts/update-dist-tags.js --otp +` + +const { execSync } = require('child_process') +const semver = require('semver') +const path = require('path') + +const getMajorVersion = (input) => semver.parse(input).major +const getMinorVersion = (input) => semver.parse(input).minor + +// INFO: String templates to generate the tags to update +const LATEST_TAG = (strings, major) => `latest-${major}` +const NEXT_TAG = (strings, major) => `next-${major}` +const TAG_LIST = ['lts', 'next', 'latest'] +const REMOVE_TAG = (strings, major, minor) => `v${major}.${minor}-next` + +// INFO: Finds `--otp` and subsequently otp value (if present) +const PARSE_OTP_FLAG = new RegExp(/(--otp)(=|\s)?([0-9]{6})?/, 'gm') +// INFO: Used to validate otp value (if not found by other regexp) +const PARSE_OTP_VALUE = new RegExp(/^[0-9]{6}$/, 'g') + +const args = process.argv.slice(2) +const versionPath = path.resolve(__dirname, '..', 'package.json') +const { version } = require(versionPath) + +// Run Script +main() + +function main () { + const otp = parseOTP(args) + if (version) { + const major = getMajorVersion(version) + const minor = getMinorVersion(version) + const latestTag = LATEST_TAG`${major}` + const nextTag = NEXT_TAG`${major}` + const removeTag = REMOVE_TAG`${major}${minor}` + const updateList = [].concat(TAG_LIST, latestTag, nextTag) + + updateList.forEach((tag) => { + setDistTag(tag, version, otp) + }) + removeDistTag(removeTag, version, otp) + } else { + console.error('Invalid semver.') + process.exit(1) + } +} + +function parseOTP (args) { + // NOTE: making assumption first _thing_ is a string with "--otp" in it + const parsedArgs = PARSE_OTP_FLAG.exec(args[0]) + if (!parsedArgs) { + console.error('Invalid arguments supplied. Must supply --otp flag.') + console.error(usage) + process.exit(1) + } + // INFO: From the regexp, third group is the OTP code + const otp = parsedArgs[3] + switch (args.length) { + case 0: { + console.error('No arguments supplied.') + console.error(usage) + process.exit(1) + } + case 1: { + // --otp=123456 or --otp123456 + if (otp) { + return otp + } + console.error('Invalid otp value supplied. [CASE 1]') + process.exit(1) + } + case 2: { + // --otp 123456 + // INFO: validating the second argument is an otp code + const isValidOtp = PARSE_OTP_VALUE.test(args[1]) + if (isValidOtp) { + return args[1] + } + console.error('Invalid otp value supplied. [CASE 2]') + process.exit(1) + } + default: { + console.error('Invalid arguments supplied.') + process.exit(1) + } + } +} + +function setDistTag (tag, version, otp) { + try { + const result = execSync(`npm dist-tag set npm@${version} ${tag} --otp=${otp}`, { encoding: 'utf-8' }) + console.log('Result:', result) + } catch (err) { + console.error('Bad dist-tag command.') + process.exit(1) + } +} + +function removeDistTag (tag, version, otp) { + try { + const result = execSync(`npm dist-tag rm npm ${tag} --otp=${otp}`, { encoding: 'utf-8' }) + console.log('Result:', result) + } catch (err) { + console.error('Bad dist-tag command.') + process.exit(1) + } +} diff --git a/deps/npm/tap-snapshots/test-tap-fund.js-TAP.test.js b/deps/npm/tap-snapshots/test-tap-fund.js-TAP.test.js new file mode 100644 index 00000000000000..963c59f3e12861 --- /dev/null +++ b/deps/npm/tap-snapshots/test-tap-fund.js-TAP.test.js @@ -0,0 +1,74 @@ +/* IMPORTANT + * This snapshot file is auto-generated, but designed for humans. + * It should be checked into source control and tracked carefully. + * Re-generate by setting TAP_SNAPSHOT=1 and running tests. + * Make sure to inspect the output below. Do not ignore changes! + */ +'use strict' +exports[`test/tap/fund.js TAP fund containing multi-level nested deps with no funding > should omit dependencies with no funding declared 1`] = ` +nested-no-funding-packages@1.0.0 ++-- https://example.com/lorem +| \`-- lorem@1.0.0 ++-- http://example.com/donate +| \`-- bar@1.0.0 +\`-- https://example.com/sponsor + \`-- sub-bar@1.0.0 + + +` + +exports[`test/tap/fund.js TAP fund does not support global > should throw EFUNDGLOBAL error 1`] = ` + +` + +exports[`test/tap/fund.js TAP fund does not support global > should write error msgs to stderr 1`] = ` +npm ERR! code EFUNDGLOBAL +npm ERR! \`npm fund\` does not support global packages +` + +exports[`test/tap/fund.js TAP fund does not support global, using --json option > should write error msgs to stderr 1`] = ` +npm ERR! code EFUNDGLOBAL +npm ERR! \`npm fund\` does not support global packages +` + +exports[`test/tap/fund.js TAP fund in which same maintainer owns all its deps > should print stack packages together 1`] = ` +maintainer-owns-all-deps@1.0.0 +\`-- http://example.com/donate + \`-- dep-bar@1.0.0, dep-foo@1.0.0, dep-sub-foo@1.0.0 + + +` + +exports[`test/tap/fund.js TAP fund using nested packages with multiple sources > should prompt with all available URLs 1`] = ` +1: Funding available at the following URL: https://one.example.com +2: Funding available at the following URL: https://two.example.com +Run \`npm fund [<@scope>/] --which=1\`, for example, to open the first funding URL listed in that package + +` + +exports[`test/tap/fund.js TAP fund using nested packages with multiple sources, with a source number > should open the numbered URL 1`] = ` +Funding available at the following URL: + +https://one.example.com + +` + +exports[`test/tap/fund.js TAP fund using package argument with no browser > should open funding url 1`] = ` +individual funding available at the following URL: + +http://example.com/donate + +` + +exports[`test/tap/fund.js TAP fund using string shorthand > should open string-only url 1`] = ` +Funding available at the following URL: + +https://example.com/sponsor + +` + +exports[`test/tap/fund.js TAP fund with no package containing funding > should print empty funding info 1`] = ` +no-funding-package@0.0.0 + + +` diff --git a/deps/npm/tap-snapshots/test-tap-repo.js-TAP.test.js b/deps/npm/tap-snapshots/test-tap-repo.js-TAP.test.js new file mode 100644 index 00000000000000..3fba79edb8d42b --- /dev/null +++ b/deps/npm/tap-snapshots/test-tap-repo.js-TAP.test.js @@ -0,0 +1,21 @@ +/* IMPORTANT + * This snapshot file is auto-generated, but designed for humans. + * It should be checked into source control and tracked carefully. + * Re-generate by setting TAP_SNAPSHOT=1 and running tests. + * Make sure to inspect the output below. Do not ignore changes! + */ +'use strict' +exports[`test/tap/repo.js TAP npm repo underscore --json > should print json result 1`] = ` +{ + "title": "repository available at the following URL", + "url": "https://github.com/jashkenas/underscore" +} + +` + +exports[`test/tap/repo.js TAP npm repo underscore --no-browser > should print alternative msg 1`] = ` +repository available at the following URL: + +https://github.com/jashkenas/underscore + +` diff --git a/deps/npm/test/fixtures/config/userconfig-with-gc b/deps/npm/test/fixtures/config/userconfig-with-gc index cf774bb883d966..866f78dab61ce5 100644 --- a/deps/npm/test/fixtures/config/userconfig-with-gc +++ b/deps/npm/test/fixtures/config/userconfig-with-gc @@ -1,4 +1,4 @@ -globalconfig = /Users/isaacs/dev/npm/cli/test/fixtures/config/globalconfig +globalconfig = /Users/ruyadorno/Documents/workspace/cli/test/fixtures/config/globalconfig email = i@izs.me env-thing = ${random_env_var} init.author.name = Isaac Z. Schlueter diff --git a/deps/npm/test/fixtures/third-party.md b/deps/npm/test/fixtures/third-party.md new file mode 100644 index 00000000000000..d5f33cc1e83155 --- /dev/null +++ b/deps/npm/test/fixtures/third-party.md @@ -0,0 +1,25 @@ +"scoped-underscore-1.3.1.tgz" includes content from the Underscore package, +including code adapted from ES 5.1 section 15.12.3, abstract operation +`JO`, used under the following license: + +Copyright (c) Ecma International 2010 + +DISCLAIMER This document may be copied and furnished to others, and +derivative works that comment on or otherwise explain it or assist in its +implementation may be prepared, copied, published, and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this section are included on all such copies and +derivative works. However, this document itself may not be modified in any +way, including by removing the copyright notice or references to Ecma +International, except as needed for the purpose of developing any document +or deliverable produced by Ecma International. + +The limited permissions are granted through the standardization phase and +will not be revoked by Ecma International or its successors or assigns +during this time. + +This document and the information contained herein is provided on an "AS +IS" basis and ECMA INTERNATIONAL DISCLAIMS ALL WARRANTIES, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED +WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. diff --git a/deps/npm/test/tap/access.js b/deps/npm/test/tap/access.js index 4183c46b538c0e..f537db2586409a 100644 --- a/deps/npm/test/tap/access.js +++ b/deps/npm/test/tap/access.js @@ -217,6 +217,33 @@ test('npm access grant read-write', function (t) { ) }) +test('npm access grant read-write on unscoped package', function (t) { + server.filteringRequestBody((body) => { + const data = JSON.parse(body) + t.deepEqual(data, { + permissions: 'read-write', + package: 'another' + }, 'got the right body') + return true + }) + server.put('/-/team/myorg/myteam/package', true).reply(201) + common.npm( + [ + 'access', + 'grant', 'read-write', + 'myorg:myteam', + 'another', + '--registry', common.registry + ], + { cwd: pkg }, + function (er, code, stdout, stderr) { + t.ifError(er, 'npm access grant') + t.equal(code, 0, 'exited with Error') + t.end() + } + ) +}) + test('npm access grant others', function (t) { common.npm( [ diff --git a/deps/npm/test/tap/bin-overwriting.js b/deps/npm/test/tap/bin-overwriting.js index 155d4abf520506..faaa78745a7423 100644 --- a/deps/npm/test/tap/bin-overwriting.js +++ b/deps/npm/test/tap/bin-overwriting.js @@ -8,10 +8,11 @@ const path = require('path') const readBinCb = process.platform === 'win32' ? readCmdShim : readlink const readBin = bin => new Promise((resolve, reject) => { readBinCb(bin, (er, target) => { - if (er) + if (er) { reject(er) - else - resolve(path.resolve(pkg + '/global/bin', target)) + } else { + resolve(path.resolve(path.dirname(bin), target)) + } }) }) diff --git a/deps/npm/test/tap/ci.js b/deps/npm/test/tap/ci.js index 3f3e251d03f1d7..e1c2d73b7a43d5 100644 --- a/deps/npm/test/tap/ci.js +++ b/deps/npm/test/tap/ci.js @@ -12,9 +12,13 @@ const test = require('tap').test const Dir = Tacks.Dir const File = Tacks.File +const cacheDir = common.cache const testDir = common.pkg -const EXEC_OPTS = { cwd: testDir } +const EXEC_OPTS = { + cwd: testDir, + nodeExecPath: process.execPath +} const PKG = { name: 'top', @@ -47,7 +51,7 @@ test('setup', () => { const fixture = new Tacks(Dir({ 'package.json': File(PKG) })) - return rimraf(testDir).then(() => { + return Promise.all([rimraf(cacheDir), rimraf(testDir)]).then(() => { fixture.create(testDir) return mr({port: common.port}) }) @@ -306,7 +310,35 @@ test('errors if package-lock.json invalid', (t) => { ) }) +test('correct cache location when using cache config', (t) => { + const fixture = new Tacks(Dir({ + 'package.json': File(PKG), + 'package-lock.json': File(RAW_LOCKFILE) + })) + return Promise.all([rimraf(cacheDir), rimraf(testDir)]) + .then(() => fixture.create(cacheDir)) + .then(() => fixture.create(testDir)) + .then(() => common.npm([ + 'ci', + `--cache=${cacheDir}`, + '--foo=asdf', + '--registry', common.registry, + '--loglevel', 'warn' + ], EXEC_OPTS)) + .then((ret) => { + const code = ret[0] + const stderr = ret[2] + t.equal(code, 0, 'command completed without error') + t.equal(stderr.trim(), '', 'no output on stderr') + return fs.readdirAsync(path.join(cacheDir, '_cacache')) + }) + .then((modules) => { + t.ok(modules, 'should create _cacache folder') + t.end() + }) +}) + test('cleanup', () => { SERVER.close() - return rimraf(testDir) + return Promise.all([rimraf(cacheDir), rimraf(testDir)]) }) diff --git a/deps/npm/test/tap/fund.js b/deps/npm/test/tap/fund.js index 97b414bf6e0173..48d903f9897f6f 100644 --- a/deps/npm/test/tap/fund.js +++ b/deps/npm/test/tap/fund.js @@ -14,6 +14,7 @@ const base = common.pkg const noFunding = path.join(base, 'no-funding-package') const maintainerOwnsAllDeps = path.join(base, 'maintainer-owns-all-deps') const nestedNoFundingPackages = path.join(base, 'nested-no-funding-packages') +const nestedMultipleFundingPackages = path.join(base, 'nested-multiple-funding-packages') const fundingStringShorthand = path.join(base, 'funding-string-shorthand') function getFixturePackage ({ name, version, dependencies, funding }, extras) { @@ -113,6 +114,37 @@ const fixture = new Tacks(Dir({ } }) }) + }), + 'nested-multiple-funding-packages': getFixturePackage({ + name: 'nested-multiple-funding-packages', + funding: [ + 'https://one.example.com', + 'https://two.example.com' + ], + dependencies: { + foo: '*' + }, + devDependencies: { + bar: '*' + } + }, { + node_modules: Dir({ + foo: getFixturePackage({ + name: 'foo', + funding: [ + 'http://example.com', + { url: 'http://sponsors.example.com/me' }, + 'http://collective.example.com' + ] + }), + bar: getFixturePackage({ + name: 'bar', + funding: [ + 'http://collective.example.com', + { url: 'http://sponsors.example.com/you' } + ] + }) + }) }) })) @@ -224,6 +256,54 @@ testFundCmd({ } }) +testFundCmd({ + title: 'fund containing multi-level nested deps with multiple funding sources, using --json option', + assertionMsg: 'should omit dependencies with no funding declared', + args: ['--json'], + opts: { cwd: nestedMultipleFundingPackages }, + assertion: jsonTest, + expected: { + length: 2, + name: 'nested-multiple-funding-packages', + version: '1.0.0', + funding: [ + { + url: 'https://one.example.com' + }, + { + url: 'https://two.example.com' + } + ], + dependencies: { + bar: { + version: '1.0.0', + funding: [ + { + url: 'http://collective.example.com' + }, + { + url: 'http://sponsors.example.com/you' + } + ] + }, + foo: { + version: '1.0.0', + funding: [ + { + url: 'http://example.com' + }, + { + url: 'http://sponsors.example.com/me' + }, + { + url: 'http://collective.example.com' + } + ] + } + } + } +}) + testFundCmd({ title: 'fund does not support global', assertionMsg: 'should throw EFUNDGLOBAL error', @@ -248,7 +328,7 @@ testFundCmd({ expected: { error: { code: 'EFUNDGLOBAL', - summary: '`npm fund` does not support globals', + summary: '`npm fund` does not support global packages', detail: '' } } @@ -268,6 +348,20 @@ testFundCmd({ opts: { cwd: fundingStringShorthand } }) +testFundCmd({ + title: 'fund using nested packages with multiple sources', + assertionMsg: 'should prompt with all available URLs', + args: ['.'], + opts: { cwd: nestedMultipleFundingPackages } +}) + +testFundCmd({ + title: 'fund using nested packages with multiple sources, with a source number', + assertionMsg: 'should open the numbered URL', + args: ['.', '--which=1', '--no-browser'], + opts: { cwd: nestedMultipleFundingPackages } +}) + testFundCmd({ title: 'fund using package argument with no browser, using --json option', assertionMsg: 'should open funding url', diff --git a/deps/npm/test/tap/prepare.js b/deps/npm/test/tap/prepare.js index 1169089b17e4d8..d0966000735c47 100644 --- a/deps/npm/test/tap/prepare.js +++ b/deps/npm/test/tap/prepare.js @@ -55,7 +55,11 @@ test('test', function (t) { common.npm([ 'pack', '--loglevel', 'warn' - ], { cwd: pkg, env: env }, function (err, code, stdout, stderr) { + ], { + cwd: pkg, + env: env, + nodeExecPath: process.execPath + }, function (err, code, stdout, stderr) { t.equal(code, 0, 'pack finished successfully') t.ifErr(err, 'pack finished successfully') diff --git a/deps/npm/test/tap/prepublish-only.js b/deps/npm/test/tap/prepublish-only.js index 56881494d23814..988d507c6359f4 100644 --- a/deps/npm/test/tap/prepublish-only.js +++ b/deps/npm/test/tap/prepublish-only.js @@ -98,7 +98,8 @@ test('test', function (t) { common.npm( [ 'publish', - '--loglevel', 'warn' + '--loglevel', 'warn', + '--scripts-prepend-node-path' ], { cwd: pkg, diff --git a/deps/npm/test/tap/publish-scoped.js b/deps/npm/test/tap/publish-scoped.js index 78ca4699d3a31b..82873688cdce9e 100644 --- a/deps/npm/test/tap/publish-scoped.js +++ b/deps/npm/test/tap/publish-scoped.js @@ -46,7 +46,7 @@ test('npm publish should honor scoping', function (t) { fs.writeFileSync(configFile, configuration.join('\n') + '\n') - common.npm(['publish'], {'cwd': pkg}, function (err, code, stdout, stderr) { + common.npm(['publish'], {'cwd': pkg, nodeExecPath: process.execPath}, function (err, code, stdout, stderr) { if (err) throw err t.is(code, 0, 'published without error') server.done() diff --git a/deps/npm/test/tap/publish.js b/deps/npm/test/tap/publish.js index 0913576a31b446..453abcecd47abd 100644 --- a/deps/npm/test/tap/publish.js +++ b/deps/npm/test/tap/publish.js @@ -52,7 +52,10 @@ test('basic npm publish', (t) => { `--//localhost:${server.port}/:username=username`, `--//localhost:${server.port}/:_password=` + Buffer.from('password').toString('base64'), `--//localhost:${server.port}/:email=` + 'ogd@aoaioxxysz.net' - ], {'cwd': testDir}) + ], { + 'cwd': testDir, + nodeExecPath: process.execPath + }) .spread((code, stdout, stderr) => { t.comment(stdout) t.comment(stderr) diff --git a/deps/npm/test/tap/umask-lifecycle.js b/deps/npm/test/tap/umask-lifecycle.js index 8b365d62335d79..dc365c94abbd56 100644 --- a/deps/npm/test/tap/umask-lifecycle.js +++ b/deps/npm/test/tap/umask-lifecycle.js @@ -40,12 +40,13 @@ test('setup', function (t) { }) test('umask script', function (t) { - common.npm(['run', 'umask'], { + common.npm(['run', 'umask', '--scripts-prepend-node-path'], { cwd: pkg, env: { PATH: process.env.PATH, Path: process.env.Path, - 'npm_config_loglevel': 'warn' + 'npm_config_loglevel': 'warn', + nodeExecPath: process.execPath } }, function (er, code, sout, serr) { t.equal(sout, expected) diff --git a/deps/npm/test/tap/unsupported.js b/deps/npm/test/tap/unsupported.js index deae8d3c034c19..2ebbd2d6542e2b 100644 --- a/deps/npm/test/tap/unsupported.js +++ b/deps/npm/test/tap/unsupported.js @@ -30,7 +30,8 @@ var versions = [ ['v9.3.0', false, false], ['v10.0.0-0', false, false], ['v11.0.0-0', false, false], - ['v12.0.0-0', false, false] + ['v12.0.0-0', false, false], + ['v13.0.0-0', false, false] ] test('versions', function (t) { diff --git a/deps/npm/test/tap/utils.funding.js b/deps/npm/test/tap/utils.funding.js index 709762eacb7bb2..4276f3e43a5cfe 100644 --- a/deps/npm/test/tap/utils.funding.js +++ b/deps/npm/test/tap/utils.funding.js @@ -612,3 +612,46 @@ test('retrieve funding info string shorthand', (t) => { ) t.end() }) + +test('retrieve funding info from an array', (t) => { + t.deepEqual( + retrieveFunding([ + 'http://example.com', + { + url: 'http://two.example.com' + }, + 'http://three.example.com', + { + url: 'http://three.example.com', + type: 'dos' + }, + { + url: 'http://three.example.com', + type: 'third copy!', + extra: 'extra metadata!' + } + ]), + [ + { + url: 'http://example.com' + }, + { + url: 'http://two.example.com' + }, + { + url: 'http://three.example.com' + }, + { + url: 'http://three.example.com', + type: 'dos' + }, + { + url: 'http://three.example.com', + type: 'third copy!', + extra: 'extra metadata!' + } + ], + 'should accept and normalize multiple funding sources' + ) + t.end() +}) diff --git a/deps/npm/test/tap/version-allow-same-version.js b/deps/npm/test/tap/version-allow-same-version.js index 41310e4eb2e278..14506aac7d9285 100644 --- a/deps/npm/test/tap/version-allow-same-version.js +++ b/deps/npm/test/tap/version-allow-same-version.js @@ -22,6 +22,21 @@ t.test('setup', t => { t.test('without --allow-same-version', t => { npm.config.set('allow-same-version', false) + + const version = require('../../lib/version') + + const commit1 = version.buildCommitArgs() + const commit2 = version.buildCommitArgs([ 'commit' ]) + const commit3 = version.buildCommitArgs([ 'commit', '-m', 'some commit message' ]) + + t.same(commit1, [ 'commit' ]) + t.same(commit2, [ 'commit' ]) + t.same(commit3, [ 'commit', '-m', 'some commit message' ]) + + const tag = version.buildTagFlags() + + t.same(tag, '-m') + npm.commands.version(['0.0.1'], function (err) { t.isa(err, Error, 'got an error') t.like(err.message, /Version not changed/) @@ -31,6 +46,21 @@ t.test('without --allow-same-version', t => { t.test('with --allow-same-version', t => { npm.config.set('allow-same-version', true) + + const version = require('../../lib/version') + + const commit1 = version.buildCommitArgs() + const commit2 = version.buildCommitArgs([ 'commit' ]) + const commit3 = version.buildCommitArgs([ 'commit', '-m', 'some commit message' ]) + + t.same(commit1, [ 'commit', '--allow-empty' ]) + t.same(commit2, [ 'commit', '--allow-empty' ]) + t.same(commit3, [ 'commit', '--allow-empty', '-m', 'some commit message' ]) + + const tag = version.buildTagFlags() + + t.same(tag, '-fm') + npm.commands.version(['0.0.1'], function (err) { if (err) { throw err diff --git a/deps/npm/test/tap/version-commit-hooks.js b/deps/npm/test/tap/version-commit-hooks.js index 028767ab4e5bab..36694d7eae9591 100644 --- a/deps/npm/test/tap/version-commit-hooks.js +++ b/deps/npm/test/tap/version-commit-hooks.js @@ -33,7 +33,7 @@ test('npm version with commit-hooks disabled', function (t) { t.same(args1, [ 'commit', '-n' ]) t.same(args2, [ 'commit', '-n' ]) - t.same(args3, [ 'commit', '-m', 'some commit message', '-n' ]) + t.same(args3, [ 'commit', '-n', '-m', 'some commit message' ]) t.end() }) }) diff --git a/deps/npm/test/tap/version-no-package.js b/deps/npm/test/tap/version-no-package.js index aa553b080148a9..60c0e3be7adb90 100644 --- a/deps/npm/test/tap/version-no-package.js +++ b/deps/npm/test/tap/version-no-package.js @@ -7,7 +7,7 @@ test('npm version in a prefix with no package.json', function (t) { process.chdir(pkg) common.npm( ['version', '--json', '--prefix', pkg], - { cwd: pkg }, + { cwd: pkg, nodeExecPath: process.execPath }, function (er, code, stdout, stderr) { t.ifError(er, "npm version doesn't care that there's no package.json") t.notOk(code, 'npm version ran without barfing') diff --git a/deps/openssl/config/Makefile b/deps/openssl/config/Makefile index 3a19925436d5f8..3ee51d770ec8e4 100644 --- a/deps/openssl/config/Makefile +++ b/deps/openssl/config/Makefile @@ -38,7 +38,7 @@ OPSSL_SRC = ../openssl CFG = opensslconf.h SRC_CFG = $(OPSSL_SRC)/include/openssl/$(CFG) INT_CFGS = bn_conf.h dso_conf.h -INT_CFG_DIR = $(OPSSL_SRC)/crypto/include/internal +INT_CFG_DIR = $(OPSSL_SRC)/include/crypto PHONY = all clean replace .PHONY: $(PHONY) diff --git a/deps/openssl/config/Makefile_VC-WIN32 b/deps/openssl/config/Makefile_VC-WIN32 index 96610567469082..975ff2e101bdf5 100644 --- a/deps/openssl/config/Makefile_VC-WIN32 +++ b/deps/openssl/config/Makefile_VC-WIN32 @@ -1,7 +1,7 @@ BLDDIR=. PERL=perl RM= rm -f -GENERATED_MANDATORY=crypto/include/internal/bn_conf.h crypto/include/internal/dso_conf.h include/openssl/opensslconf.h +GENERATED_MANDATORY=include/crypto/bn_conf.h include/crypto/dso_conf.h include/openssl/opensslconf.h GENERATED=apps/CA.pl apps/openssl.rc apps/progs.h apps/tsget.pl crypto/aes/aes-586.asm crypto/aes/aesni-x86.asm crypto/aes/vpaes-x86.asm crypto/bf/bf-586.asm crypto/bn/bn-586.asm crypto/bn/co-586.asm crypto/bn/x86-gf2m.asm crypto/bn/x86-mont.asm crypto/buildinf.h crypto/camellia/cmll-x86.asm crypto/chacha/chacha-x86.asm crypto/des/crypt586.asm crypto/des/des-586.asm crypto/ec/ecp_nistz256-x86.asm crypto/md5/md5-586.asm crypto/modes/ghash-x86.asm crypto/poly1305/poly1305-x86.asm crypto/rc4/rc4-586.asm crypto/ripemd/rmd-586.asm crypto/sha/sha1-586.asm crypto/sha/sha256-586.asm crypto/sha/sha512-586.asm crypto/whrlpool/wp-mmx.asm crypto/x86cpuid.asm engines/capi.def engines/dasync.def engines/e_padlock-x86.asm engines/ossltest.def engines/padlock.def libcrypto.def libcrypto.rc libssl.def libssl.rc test/buildtest_aes.c test/buildtest_asn1.c test/buildtest_asn1t.c test/buildtest_async.c test/buildtest_bio.c test/buildtest_blowfish.c test/buildtest_bn.c test/buildtest_buffer.c test/buildtest_camellia.c test/buildtest_cast.c test/buildtest_cmac.c test/buildtest_cms.c test/buildtest_comp.c test/buildtest_conf.c test/buildtest_conf_api.c test/buildtest_crypto.c test/buildtest_ct.c test/buildtest_des.c test/buildtest_dh.c test/buildtest_dsa.c test/buildtest_dtls1.c test/buildtest_e_os2.c test/buildtest_ebcdic.c test/buildtest_ec.c test/buildtest_ecdh.c test/buildtest_ecdsa.c test/buildtest_engine.c test/buildtest_evp.c test/buildtest_hmac.c test/buildtest_idea.c test/buildtest_kdf.c test/buildtest_lhash.c test/buildtest_md4.c test/buildtest_md5.c test/buildtest_mdc2.c test/buildtest_modes.c test/buildtest_obj_mac.c test/buildtest_objects.c test/buildtest_ocsp.c test/buildtest_opensslv.c test/buildtest_ossl_typ.c test/buildtest_pem.c test/buildtest_pem2.c test/buildtest_pkcs12.c test/buildtest_pkcs7.c test/buildtest_rand.c test/buildtest_rand_drbg.c test/buildtest_rc2.c test/buildtest_rc4.c test/buildtest_ripemd.c test/buildtest_rsa.c test/buildtest_safestack.c test/buildtest_seed.c test/buildtest_sha.c test/buildtest_srp.c test/buildtest_srtp.c test/buildtest_ssl.c test/buildtest_ssl2.c test/buildtest_stack.c test/buildtest_store.c test/buildtest_symhacks.c test/buildtest_tls1.c test/buildtest_ts.c test/buildtest_txt_db.c test/buildtest_ui.c test/buildtest_whrlpool.c test/buildtest_x509.c test/buildtest_x509_vfy.c test/buildtest_x509v3.c tools/c_rehash.pl # Variables starting with LIB_ are used to build library object files @@ -35,12 +35,12 @@ APPS_OPENSSL=apps/openssl # see https://github.com/openssl/openssl/blob/master/crypto/sha/asm/sha256-586.pl#L82 CFLAGS += -DOPENSSL_IA32_SSE2 -crypto/include/internal/bn_conf.h: crypto/include/internal/bn_conf.h.in configdata.pm +include/crypto/bn_conf.h: include/crypto/bn_conf.h.in configdata.pm $(PERL) -I$(BLDDIR) -Mconfigdata util/dofile.pl \ - -omakefile crypto/include/internal/bn_conf.h.in > $@ -crypto/include/internal/dso_conf.h: crypto/include/internal/dso_conf.h.in configdata.pm + -omakefile include/crypto/bn_conf.h.in > $@ +include/crypto/dso_conf.h: include/crypto/dso_conf.h.in configdata.pm $(PERL) -I$(BLDDIR) -Mconfigdata util/dofile.pl \ - -omakefile crypto/include/internal/dso_conf.h.in > $@ + -omakefile include/crypto/dso_conf.h.in > $@ include/openssl/opensslconf.h: include/openssl/opensslconf.h.in configdata.pm $(PERL) -I$(BLDDIR) -Mconfigdata util/dofile.pl \ -omakefile include/openssl/opensslconf.h.in > $@ diff --git a/deps/openssl/config/Makefile_VC-WIN64-ARM b/deps/openssl/config/Makefile_VC-WIN64-ARM index 03eaba0b078188..369e054fbb3684 100644 --- a/deps/openssl/config/Makefile_VC-WIN64-ARM +++ b/deps/openssl/config/Makefile_VC-WIN64-ARM @@ -16,7 +16,7 @@ MINOR=1.1 SHLIB_VERSION_NUMBER=1.1 -GENERATED_MANDATORY=crypto/include/internal/bn_conf.h crypto/include/internal/dso_conf.h include/openssl/opensslconf.h +GENERATED_MANDATORY=include/crypto/bn_conf.h include/crypto/dso_conf.h include/openssl/opensslconf.h GENERATED=crypto/buildinf.h apps/progs.h INSTALL_LIBS="libcrypto.lib" "libssl.lib" @@ -132,12 +132,12 @@ crypto/buildinf.h: apps/progs.h: "$(PERL)" "apps/progs.pl" $(APPS_OPENSSL) > $@ -crypto/include/internal/bn_conf.h: +include/crypto/bn_conf.h: "$(PERL)" "-I$(BLDDIR)" -Mconfigdata "util/dofile.pl" \ - "-omakefile" "crypto/include/internal/bn_conf.h.in" > $@ -crypto/include/internal/dso_conf.h: + "-omakefile" "include/crypto/bn_conf.h.in" > $@ +include/crypto/dso_conf.h: "$(PERL)" "-I$(BLDDIR)" -Mconfigdata "util/dofile.pl" \ - "-omakefile" "crypto/include/internal/dso_conf.h.in" > $@ + "-omakefile" "include/crypto/dso_conf.h.in" > $@ include/openssl/opensslconf.h: "$(PERL)" "-I$(BLDDIR)" -Mconfigdata "util/dofile.pl" \ "-omakefile" "include/openssl/opensslconf.h.in" > $@ diff --git a/deps/openssl/config/Makefile_VC-WIN64A b/deps/openssl/config/Makefile_VC-WIN64A index 3e4adce958e409..edf6c3955d7ea3 100644 --- a/deps/openssl/config/Makefile_VC-WIN64A +++ b/deps/openssl/config/Makefile_VC-WIN64A @@ -5,18 +5,18 @@ RM= rm -f AS=nasm ASFLAGS=-g -GENERATED_MANDATORY=crypto/include/internal/bn_conf.h crypto/include/internal/dso_conf.h include/openssl/opensslconf.h +GENERATED_MANDATORY=include/crypto/bn_conf.h include/crypto/dso_conf.h include/openssl/opensslconf.h GENERATED=apps/CA.pl apps/openssl.rc apps/progs.h apps/tsget.pl crypto/aes/aes-x86_64.asm crypto/aes/aesni-mb-x86_64.asm crypto/aes/aesni-sha1-x86_64.asm crypto/aes/aesni-sha256-x86_64.asm crypto/aes/aesni-x86_64.asm crypto/aes/bsaes-x86_64.asm crypto/aes/vpaes-x86_64.asm crypto/bn/rsaz-avx2.asm crypto/bn/rsaz-x86_64.asm crypto/bn/x86_64-gf2m.asm crypto/bn/x86_64-mont.asm crypto/bn/x86_64-mont5.asm crypto/buildinf.h crypto/camellia/cmll-x86_64.asm crypto/chacha/chacha-x86_64.asm crypto/ec/ecp_nistz256-x86_64.asm crypto/ec/x25519-x86_64.asm crypto/md5/md5-x86_64.asm crypto/modes/aesni-gcm-x86_64.asm crypto/modes/ghash-x86_64.asm crypto/poly1305/poly1305-x86_64.asm crypto/rc4/rc4-md5-x86_64.asm crypto/rc4/rc4-x86_64.asm crypto/sha/keccak1600-x86_64.asm crypto/sha/sha1-mb-x86_64.asm crypto/sha/sha1-x86_64.asm crypto/sha/sha256-mb-x86_64.asm crypto/sha/sha256-x86_64.asm crypto/sha/sha512-x86_64.asm crypto/uplink-x86_64.asm crypto/whrlpool/wp-x86_64.asm crypto/x86_64cpuid.asm engines/e_padlock-x86_64.asm libcrypto.def libcrypto.rc libssl.def libssl.rc test/buildtest_aes.c test/buildtest_asn1.c test/buildtest_asn1t.c test/buildtest_async.c test/buildtest_bio.c test/buildtest_blowfish.c test/buildtest_bn.c test/buildtest_buffer.c test/buildtest_camellia.c test/buildtest_cast.c test/buildtest_cmac.c test/buildtest_cms.c test/buildtest_comp.c test/buildtest_conf.c test/buildtest_conf_api.c test/buildtest_crypto.c test/buildtest_ct.c test/buildtest_des.c test/buildtest_dh.c test/buildtest_dsa.c test/buildtest_dtls1.c test/buildtest_e_os2.c test/buildtest_ebcdic.c test/buildtest_ec.c test/buildtest_ecdh.c test/buildtest_ecdsa.c test/buildtest_engine.c test/buildtest_evp.c test/buildtest_hmac.c test/buildtest_idea.c test/buildtest_kdf.c test/buildtest_lhash.c test/buildtest_md4.c test/buildtest_md5.c test/buildtest_mdc2.c test/buildtest_modes.c test/buildtest_obj_mac.c test/buildtest_objects.c test/buildtest_ocsp.c test/buildtest_opensslv.c test/buildtest_ossl_typ.c test/buildtest_pem.c test/buildtest_pem2.c test/buildtest_pkcs12.c test/buildtest_pkcs7.c test/buildtest_rand.c test/buildtest_rand_drbg.c test/buildtest_rc2.c test/buildtest_rc4.c test/buildtest_ripemd.c test/buildtest_rsa.c test/buildtest_safestack.c test/buildtest_seed.c test/buildtest_sha.c test/buildtest_srp.c test/buildtest_srtp.c test/buildtest_ssl.c test/buildtest_ssl2.c test/buildtest_stack.c test/buildtest_store.c test/buildtest_symhacks.c test/buildtest_tls1.c test/buildtest_ts.c test/buildtest_txt_db.c test/buildtest_ui.c test/buildtest_whrlpool.c test/buildtest_x509.c test/buildtest_x509_vfy.c test/buildtest_x509v3.c tools/c_rehash.pl PERLASM_SCHEME= auto APPS_OPENSSL=apps/openssl -crypto/include/internal/bn_conf.h: crypto/include/internal/bn_conf.h.in configdata.pm +include/crypto/bn_conf.h: include/crypto/bn_conf.h.in configdata.pm "$(PERL)" "-I$(BLDDIR)" -Mconfigdata "util/dofile.pl" \ - "-omakefile" "crypto/include/internal/bn_conf.h.in" > $@ -crypto/include/internal/dso_conf.h: crypto/include/internal/dso_conf.h.in configdata.pm + "-omakefile" "include/crypto/bn_conf.h.in" > $@ +include/crypto/dso_conf.h: include/crypto/dso_conf.h.in configdata.pm "$(PERL)" "-I$(BLDDIR)" -Mconfigdata "util/dofile.pl" \ - "-omakefile" "crypto/include/internal/dso_conf.h.in" > $@ + "-omakefile" "include/crypto/dso_conf.h.in" > $@ include/openssl/opensslconf.h: include/openssl/opensslconf.h.in configdata.pm "$(PERL)" "-I$(BLDDIR)" -Mconfigdata "util/dofile.pl" \ "-omakefile" "include/openssl/opensslconf.h.in" > $@ diff --git a/deps/openssl/config/archs/BSD-x86/asm/configdata.pm b/deps/openssl/config/archs/BSD-x86/asm/configdata.pm index 60838a7aa0d12e..765ef97df004ce 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/configdata.pm +++ b/deps/openssl/config/archs/BSD-x86/asm/configdata.pm @@ -48,14 +48,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "AESNI_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)gcc", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "BSD-x86", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -235,6 +235,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -351,8 +352,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -620,14 +621,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -703,6 +696,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1492,6 +1493,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3224,7 +3231,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3232,6 +3238,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3730,14 +3737,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4178,6 +4177,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4860,49 +4867,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4912,7 +4911,6 @@ our %unified_info = ( "crypto/aes/aesni-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4930,13 +4928,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4950,613 +4946,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5570,7 +5464,6 @@ our %unified_info = ( "crypto/bn/bn-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5580,188 +5473,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/co-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5791,25 +5653,21 @@ our %unified_info = ( "crypto/bn/x86-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5819,31 +5677,26 @@ our %unified_info = ( "crypto/camellia/cmll-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5853,31 +5706,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5895,284 +5743,237 @@ our %unified_info = ( "crypto/chacha/chacha-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/crypt586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des-586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6182,295 +5983,246 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6478,7 +6230,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6486,7 +6237,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6494,7 +6244,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6502,7 +6251,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6510,7 +6258,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6518,163 +6265,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6692,241 +6412,201 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_devcrypto.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6934,21 +6614,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6956,13 +6633,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6970,81 +6645,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7052,334 +6714,272 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-586.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7389,79 +6989,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7480,7 +7067,6 @@ our %unified_info = ( "crypto/modes/ghash-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7490,361 +7076,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7866,265 +7392,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8134,31 +7616,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8168,13 +7645,11 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8200,19 +7675,16 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8238,13 +7710,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8270,727 +7740,606 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-mmx.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9041,6 +8390,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9285,7 +8642,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9611,7 +8967,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9657,7 +9012,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9723,7 +9077,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9748,7 +9101,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9846,7 +9198,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9896,18 +9247,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9918,6 +9266,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9981,10 +9333,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10013,6 +9361,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10277,6 +9629,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15237,7 +14590,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15245,6 +14597,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15472,6 +14825,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15574,10 +14935,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15606,6 +14963,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/BSD-x86/asm/crypto/aes/aes-586.s b/deps/openssl/config/archs/BSD-x86/asm/crypto/aes/aes-586.s deleted file mode 100644 index 1ac5376af25fe1..00000000000000 --- a/deps/openssl/config/archs/BSD-x86/asm/crypto/aes/aes-586.s +++ /dev/null @@ -1,3218 +0,0 @@ -.text -.type __x86_AES_encrypt_compact,@function -.align 4 -__x86_AES_encrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 4,0x90 -L000loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ecx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ecx,%edi - xorl %esi,%ecx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ecx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%ecx - andl %edx,%ebp - leal (%edx,%edx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %edx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %edx,%edi - xorl %esi,%edx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%edx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%edx - andl %eax,%ebp - leal (%eax,%eax,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %eax,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %eax,%edi - xorl %esi,%eax - rorl $24,%edi - xorl %ebp,%esi - roll $24,%eax - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%eax - andl %ebx,%ebp - leal (%ebx,%ebx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ebx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ebx,%edi - xorl %esi,%ebx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ebx - xorl %edi,%esi - xorl %esi,%ebx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L000loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.type __sse_AES_encrypt_compact,@function -.align 4 -__sse_AES_encrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 4,0x90 -L001loop: - pshufw $8,%mm0,%mm1 - pshufw $13,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $13,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $8,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $8,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - movd %mm2,%eax - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - movd %mm6,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $8,%esi - shrl $16,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shrl $16,%eax - movd %ecx,%mm1 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - andl $255,%eax - orl %esi,%ecx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - andl $255,%ebx - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%ecx - shll $16,%eax - movzbl -128(%ebp,%edi,1),%esi - orl %eax,%edx - shll $8,%esi - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - orl %ebx,%edx - movl 20(%esp),%edi - movd %ecx,%mm4 - movd %edx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja L002out - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - movq %mm0,%mm1 - movq %mm4,%mm5 - pcmpgtb %mm0,%mm3 - pcmpgtb %mm4,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - pshufw $177,%mm0,%mm2 - pshufw $177,%mm4,%mm6 - paddb %mm0,%mm0 - paddb %mm4,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pshufw $177,%mm2,%mm3 - pshufw $177,%mm6,%mm7 - pxor %mm0,%mm1 - pxor %mm4,%mm5 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm3,%mm2 - movq %mm7,%mm6 - pslld $8,%mm3 - pslld $8,%mm7 - psrld $24,%mm2 - psrld $24,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - psrld $8,%mm1 - psrld $8,%mm5 - movl -128(%ebp),%eax - pslld $24,%mm3 - pslld $24,%mm7 - movl -64(%ebp),%ebx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl (%ebp),%ecx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl 64(%ebp),%edx - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp L001loop -.align 4,0x90 -L002out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.type __x86_AES_encrypt,@function -.align 4 -__x86_AES_encrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 4,0x90 -L003loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl (%ebp,%esi,8),%esi - movzbl %ch,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movzbl %bh,%edi - xorl 1(%ebp,%edi,8),%esi - movl 20(%esp),%edi - movl (%ebp,%edx,8),%edx - movzbl %ah,%eax - xorl 3(%ebp,%eax,8),%edx - movl 4(%esp),%eax - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - xorl 1(%ebp,%ecx,8),%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L003loop - movl %eax,%esi - andl $255,%esi - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %bh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %ch,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %dh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movzbl %bh,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movl 2(%ebp,%edx,8),%edx - andl $255,%edx - movzbl %ah,%eax - movl (%ebp,%eax,8),%eax - andl $65280,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movl (%ebp,%ebx,8),%ebx - andl $16711680,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movl 2(%ebp,%ecx,8),%ecx - andl $4278190080,%ecx - xorl %ecx,%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 6,0x90 -LAES_Te: -.long 2774754246,2774754246 -.long 2222750968,2222750968 -.long 2574743534,2574743534 -.long 2373680118,2373680118 -.long 234025727,234025727 -.long 3177933782,3177933782 -.long 2976870366,2976870366 -.long 1422247313,1422247313 -.long 1345335392,1345335392 -.long 50397442,50397442 -.long 2842126286,2842126286 -.long 2099981142,2099981142 -.long 436141799,436141799 -.long 1658312629,1658312629 -.long 3870010189,3870010189 -.long 2591454956,2591454956 -.long 1170918031,1170918031 -.long 2642575903,2642575903 -.long 1086966153,1086966153 -.long 2273148410,2273148410 -.long 368769775,368769775 -.long 3948501426,3948501426 -.long 3376891790,3376891790 -.long 200339707,200339707 -.long 3970805057,3970805057 -.long 1742001331,1742001331 -.long 4255294047,4255294047 -.long 3937382213,3937382213 -.long 3214711843,3214711843 -.long 4154762323,4154762323 -.long 2524082916,2524082916 -.long 1539358875,1539358875 -.long 3266819957,3266819957 -.long 486407649,486407649 -.long 2928907069,2928907069 -.long 1780885068,1780885068 -.long 1513502316,1513502316 -.long 1094664062,1094664062 -.long 49805301,49805301 -.long 1338821763,1338821763 -.long 1546925160,1546925160 -.long 4104496465,4104496465 -.long 887481809,887481809 -.long 150073849,150073849 -.long 2473685474,2473685474 -.long 1943591083,1943591083 -.long 1395732834,1395732834 -.long 1058346282,1058346282 -.long 201589768,201589768 -.long 1388824469,1388824469 -.long 1696801606,1696801606 -.long 1589887901,1589887901 -.long 672667696,672667696 -.long 2711000631,2711000631 -.long 251987210,251987210 -.long 3046808111,3046808111 -.long 151455502,151455502 -.long 907153956,907153956 -.long 2608889883,2608889883 -.long 1038279391,1038279391 -.long 652995533,652995533 -.long 1764173646,1764173646 -.long 3451040383,3451040383 -.long 2675275242,2675275242 -.long 453576978,453576978 -.long 2659418909,2659418909 -.long 1949051992,1949051992 -.long 773462580,773462580 -.long 756751158,756751158 -.long 2993581788,2993581788 -.long 3998898868,3998898868 -.long 4221608027,4221608027 -.long 4132590244,4132590244 -.long 1295727478,1295727478 -.long 1641469623,1641469623 -.long 3467883389,3467883389 -.long 2066295122,2066295122 -.long 1055122397,1055122397 -.long 1898917726,1898917726 -.long 2542044179,2542044179 -.long 4115878822,4115878822 -.long 1758581177,1758581177 -.long 0,0 -.long 753790401,753790401 -.long 1612718144,1612718144 -.long 536673507,536673507 -.long 3367088505,3367088505 -.long 3982187446,3982187446 -.long 3194645204,3194645204 -.long 1187761037,1187761037 -.long 3653156455,3653156455 -.long 1262041458,1262041458 -.long 3729410708,3729410708 -.long 3561770136,3561770136 -.long 3898103984,3898103984 -.long 1255133061,1255133061 -.long 1808847035,1808847035 -.long 720367557,720367557 -.long 3853167183,3853167183 -.long 385612781,385612781 -.long 3309519750,3309519750 -.long 3612167578,3612167578 -.long 1429418854,1429418854 -.long 2491778321,2491778321 -.long 3477423498,3477423498 -.long 284817897,284817897 -.long 100794884,100794884 -.long 2172616702,2172616702 -.long 4031795360,4031795360 -.long 1144798328,1144798328 -.long 3131023141,3131023141 -.long 3819481163,3819481163 -.long 4082192802,4082192802 -.long 4272137053,4272137053 -.long 3225436288,3225436288 -.long 2324664069,2324664069 -.long 2912064063,2912064063 -.long 3164445985,3164445985 -.long 1211644016,1211644016 -.long 83228145,83228145 -.long 3753688163,3753688163 -.long 3249976951,3249976951 -.long 1977277103,1977277103 -.long 1663115586,1663115586 -.long 806359072,806359072 -.long 452984805,452984805 -.long 250868733,250868733 -.long 1842533055,1842533055 -.long 1288555905,1288555905 -.long 336333848,336333848 -.long 890442534,890442534 -.long 804056259,804056259 -.long 3781124030,3781124030 -.long 2727843637,2727843637 -.long 3427026056,3427026056 -.long 957814574,957814574 -.long 1472513171,1472513171 -.long 4071073621,4071073621 -.long 2189328124,2189328124 -.long 1195195770,1195195770 -.long 2892260552,2892260552 -.long 3881655738,3881655738 -.long 723065138,723065138 -.long 2507371494,2507371494 -.long 2690670784,2690670784 -.long 2558624025,2558624025 -.long 3511635870,3511635870 -.long 2145180835,2145180835 -.long 1713513028,1713513028 -.long 2116692564,2116692564 -.long 2878378043,2878378043 -.long 2206763019,2206763019 -.long 3393603212,3393603212 -.long 703524551,703524551 -.long 3552098411,3552098411 -.long 1007948840,1007948840 -.long 2044649127,2044649127 -.long 3797835452,3797835452 -.long 487262998,487262998 -.long 1994120109,1994120109 -.long 1004593371,1004593371 -.long 1446130276,1446130276 -.long 1312438900,1312438900 -.long 503974420,503974420 -.long 3679013266,3679013266 -.long 168166924,168166924 -.long 1814307912,1814307912 -.long 3831258296,3831258296 -.long 1573044895,1573044895 -.long 1859376061,1859376061 -.long 4021070915,4021070915 -.long 2791465668,2791465668 -.long 2828112185,2828112185 -.long 2761266481,2761266481 -.long 937747667,937747667 -.long 2339994098,2339994098 -.long 854058965,854058965 -.long 1137232011,1137232011 -.long 1496790894,1496790894 -.long 3077402074,3077402074 -.long 2358086913,2358086913 -.long 1691735473,1691735473 -.long 3528347292,3528347292 -.long 3769215305,3769215305 -.long 3027004632,3027004632 -.long 4199962284,4199962284 -.long 133494003,133494003 -.long 636152527,636152527 -.long 2942657994,2942657994 -.long 2390391540,2390391540 -.long 3920539207,3920539207 -.long 403179536,403179536 -.long 3585784431,3585784431 -.long 2289596656,2289596656 -.long 1864705354,1864705354 -.long 1915629148,1915629148 -.long 605822008,605822008 -.long 4054230615,4054230615 -.long 3350508659,3350508659 -.long 1371981463,1371981463 -.long 602466507,602466507 -.long 2094914977,2094914977 -.long 2624877800,2624877800 -.long 555687742,555687742 -.long 3712699286,3712699286 -.long 3703422305,3703422305 -.long 2257292045,2257292045 -.long 2240449039,2240449039 -.long 2423288032,2423288032 -.long 1111375484,1111375484 -.long 3300242801,3300242801 -.long 2858837708,2858837708 -.long 3628615824,3628615824 -.long 84083462,84083462 -.long 32962295,32962295 -.long 302911004,302911004 -.long 2741068226,2741068226 -.long 1597322602,1597322602 -.long 4183250862,4183250862 -.long 3501832553,3501832553 -.long 2441512471,2441512471 -.long 1489093017,1489093017 -.long 656219450,656219450 -.long 3114180135,3114180135 -.long 954327513,954327513 -.long 335083755,335083755 -.long 3013122091,3013122091 -.long 856756514,856756514 -.long 3144247762,3144247762 -.long 1893325225,1893325225 -.long 2307821063,2307821063 -.long 2811532339,2811532339 -.long 3063651117,3063651117 -.long 572399164,572399164 -.long 2458355477,2458355477 -.long 552200649,552200649 -.long 1238290055,1238290055 -.long 4283782570,4283782570 -.long 2015897680,2015897680 -.long 2061492133,2061492133 -.long 2408352771,2408352771 -.long 4171342169,4171342169 -.long 2156497161,2156497161 -.long 386731290,386731290 -.long 3669999461,3669999461 -.long 837215959,837215959 -.long 3326231172,3326231172 -.long 3093850320,3093850320 -.long 3275833730,3275833730 -.long 2962856233,2962856233 -.long 1999449434,1999449434 -.long 286199582,286199582 -.long 3417354363,3417354363 -.long 4233385128,4233385128 -.long 3602627437,3602627437 -.long 974525996,974525996 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.long 1,2,4,8 -.long 16,32,64,128 -.long 27,54,0,0 -.long 0,0,0,0 -.globl _AES_encrypt -.type _AES_encrypt,@function -.align 4 -_AES_encrypt: -L_AES_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call L004pic_point -L004pic_point: - popl %ebp - leal __GLOBAL_OFFSET_TABLE_+[.-L004pic_point](%ebp),%eax - movl _OPENSSL_ia32cap_P@GOT(%eax),%eax - leal LAES_Te-L004pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc L005x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call __sse_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4,0x90 -L005x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call __x86_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.type __x86_AES_decrypt_compact,@function -.align 4 -__x86_AES_decrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 4,0x90 -L006loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%eax - subl %edi,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %ecx,%eax - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ecx,%ebx - roll $8,%ecx - xorl %esi,%ebp - xorl %eax,%ecx - xorl %ebp,%eax - xorl %ebx,%ecx - xorl %ebp,%ebx - roll $24,%eax - xorl %ebp,%ecx - roll $16,%ebx - xorl %eax,%ecx - roll $8,%ebp - xorl %ebx,%ecx - movl 4(%esp),%eax - xorl %ebp,%ecx - movl %ecx,12(%esp) - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %edx,%ebx - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %edx,%ecx - roll $8,%edx - xorl %esi,%ebp - xorl %ebx,%edx - xorl %ebp,%ebx - xorl %ecx,%edx - xorl %ebp,%ecx - roll $24,%ebx - xorl %ebp,%edx - roll $16,%ecx - xorl %ebx,%edx - roll $8,%ebp - xorl %ecx,%edx - movl 8(%esp),%ebx - xorl %ebp,%edx - movl %edx,16(%esp) - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %eax,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %eax,%edx - roll $8,%eax - xorl %esi,%ebp - xorl %ecx,%eax - xorl %ebp,%ecx - xorl %edx,%eax - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%eax - roll $16,%edx - xorl %ecx,%eax - roll $8,%ebp - xorl %edx,%eax - xorl %ebp,%eax - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ebx,%edx - roll $8,%ebx - xorl %esi,%ebp - xorl %ecx,%ebx - xorl %ebp,%ecx - xorl %edx,%ebx - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%ebp - xorl %edx,%ebx - movl 12(%esp),%ecx - xorl %ebp,%ebx - movl 16(%esp),%edx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L006loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.type __sse_AES_decrypt_compact,@function -.align 4 -__sse_AES_decrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 4,0x90 -L007loop: - pshufw $12,%mm0,%mm1 - pshufw $9,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $6,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $3,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movd %mm2,%eax - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $16,%esi - movd %mm6,%ebx - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %al,%edi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $16,%esi - shrl $16,%eax - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shrl $16,%ebx - shll $8,%esi - movd %edx,%mm1 - movzbl -128(%ebp,%edi,1),%edx - movzbl %bh,%edi - shll $24,%edx - andl $255,%ebx - orl %esi,%edx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movzbl %ah,%eax - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - orl %ebx,%edx - shll $16,%esi - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%edx - shll $24,%eax - orl %eax,%ecx - movl 20(%esp),%edi - movd %edx,%mm4 - movd %ecx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja L008out - movq %mm0,%mm3 - movq %mm4,%mm7 - pshufw $228,%mm0,%mm2 - pshufw $228,%mm4,%mm6 - movq %mm0,%mm1 - movq %mm4,%mm5 - pshufw $177,%mm0,%mm0 - pshufw $177,%mm4,%mm4 - pslld $8,%mm2 - pslld $8,%mm6 - psrld $8,%mm3 - psrld $8,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pslld $16,%mm2 - pslld $16,%mm6 - psrld $16,%mm3 - psrld $16,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movq 8(%esp),%mm3 - pxor %mm2,%mm2 - pxor %mm6,%mm6 - pcmpgtb %mm1,%mm2 - pcmpgtb %mm5,%mm6 - pand %mm3,%mm2 - pand %mm3,%mm6 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm2,%mm1 - pxor %mm6,%mm5 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq %mm1,%mm2 - movq %mm5,%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pslld $24,%mm3 - pslld $24,%mm7 - psrld $8,%mm2 - psrld $8,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pshufw $177,%mm1,%mm3 - pshufw $177,%mm5,%mm7 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - pshufw $177,%mm1,%mm2 - pshufw $177,%mm5,%mm6 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pslld $8,%mm1 - pslld $8,%mm5 - psrld $8,%mm3 - psrld $8,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl -128(%ebp),%eax - pslld $16,%mm1 - pslld $16,%mm5 - movl -64(%ebp),%ebx - psrld $16,%mm3 - psrld $16,%mm7 - movl (%ebp),%ecx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl 64(%ebp),%edx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp L007loop -.align 4,0x90 -L008out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.type __x86_AES_decrypt,@function -.align 4 -__x86_AES_decrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 4,0x90 -L009loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ebx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %ah,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl 20(%esp),%edi - andl $255,%edx - movl (%ebp,%edx,8),%edx - movzbl %ch,%ecx - xorl 3(%ebp,%ecx,8),%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - shrl $24,%eax - xorl 1(%ebp,%eax,8),%edx - movl 4(%esp),%eax - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L009loop - leal 2176(%ebp),%ebp - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi - leal -128(%ebp),%ebp - movl %eax,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl (%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl (%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl (%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl (%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - leal -2048(%ebp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 6,0x90 -LAES_Td: -.long 1353184337,1353184337 -.long 1399144830,1399144830 -.long 3282310938,3282310938 -.long 2522752826,2522752826 -.long 3412831035,3412831035 -.long 4047871263,4047871263 -.long 2874735276,2874735276 -.long 2466505547,2466505547 -.long 1442459680,1442459680 -.long 4134368941,4134368941 -.long 2440481928,2440481928 -.long 625738485,625738485 -.long 4242007375,4242007375 -.long 3620416197,3620416197 -.long 2151953702,2151953702 -.long 2409849525,2409849525 -.long 1230680542,1230680542 -.long 1729870373,1729870373 -.long 2551114309,2551114309 -.long 3787521629,3787521629 -.long 41234371,41234371 -.long 317738113,317738113 -.long 2744600205,2744600205 -.long 3338261355,3338261355 -.long 3881799427,3881799427 -.long 2510066197,2510066197 -.long 3950669247,3950669247 -.long 3663286933,3663286933 -.long 763608788,763608788 -.long 3542185048,3542185048 -.long 694804553,694804553 -.long 1154009486,1154009486 -.long 1787413109,1787413109 -.long 2021232372,2021232372 -.long 1799248025,1799248025 -.long 3715217703,3715217703 -.long 3058688446,3058688446 -.long 397248752,397248752 -.long 1722556617,1722556617 -.long 3023752829,3023752829 -.long 407560035,407560035 -.long 2184256229,2184256229 -.long 1613975959,1613975959 -.long 1165972322,1165972322 -.long 3765920945,3765920945 -.long 2226023355,2226023355 -.long 480281086,480281086 -.long 2485848313,2485848313 -.long 1483229296,1483229296 -.long 436028815,436028815 -.long 2272059028,2272059028 -.long 3086515026,3086515026 -.long 601060267,601060267 -.long 3791801202,3791801202 -.long 1468997603,1468997603 -.long 715871590,715871590 -.long 120122290,120122290 -.long 63092015,63092015 -.long 2591802758,2591802758 -.long 2768779219,2768779219 -.long 4068943920,4068943920 -.long 2997206819,2997206819 -.long 3127509762,3127509762 -.long 1552029421,1552029421 -.long 723308426,723308426 -.long 2461301159,2461301159 -.long 4042393587,4042393587 -.long 2715969870,2715969870 -.long 3455375973,3455375973 -.long 3586000134,3586000134 -.long 526529745,526529745 -.long 2331944644,2331944644 -.long 2639474228,2639474228 -.long 2689987490,2689987490 -.long 853641733,853641733 -.long 1978398372,1978398372 -.long 971801355,971801355 -.long 2867814464,2867814464 -.long 111112542,111112542 -.long 1360031421,1360031421 -.long 4186579262,4186579262 -.long 1023860118,1023860118 -.long 2919579357,2919579357 -.long 1186850381,1186850381 -.long 3045938321,3045938321 -.long 90031217,90031217 -.long 1876166148,1876166148 -.long 4279586912,4279586912 -.long 620468249,620468249 -.long 2548678102,2548678102 -.long 3426959497,3426959497 -.long 2006899047,2006899047 -.long 3175278768,3175278768 -.long 2290845959,2290845959 -.long 945494503,945494503 -.long 3689859193,3689859193 -.long 1191869601,1191869601 -.long 3910091388,3910091388 -.long 3374220536,3374220536 -.long 0,0 -.long 2206629897,2206629897 -.long 1223502642,1223502642 -.long 2893025566,2893025566 -.long 1316117100,1316117100 -.long 4227796733,4227796733 -.long 1446544655,1446544655 -.long 517320253,517320253 -.long 658058550,658058550 -.long 1691946762,1691946762 -.long 564550760,564550760 -.long 3511966619,3511966619 -.long 976107044,976107044 -.long 2976320012,2976320012 -.long 266819475,266819475 -.long 3533106868,3533106868 -.long 2660342555,2660342555 -.long 1338359936,1338359936 -.long 2720062561,2720062561 -.long 1766553434,1766553434 -.long 370807324,370807324 -.long 179999714,179999714 -.long 3844776128,3844776128 -.long 1138762300,1138762300 -.long 488053522,488053522 -.long 185403662,185403662 -.long 2915535858,2915535858 -.long 3114841645,3114841645 -.long 3366526484,3366526484 -.long 2233069911,2233069911 -.long 1275557295,1275557295 -.long 3151862254,3151862254 -.long 4250959779,4250959779 -.long 2670068215,2670068215 -.long 3170202204,3170202204 -.long 3309004356,3309004356 -.long 880737115,880737115 -.long 1982415755,1982415755 -.long 3703972811,3703972811 -.long 1761406390,1761406390 -.long 1676797112,1676797112 -.long 3403428311,3403428311 -.long 277177154,277177154 -.long 1076008723,1076008723 -.long 538035844,538035844 -.long 2099530373,2099530373 -.long 4164795346,4164795346 -.long 288553390,288553390 -.long 1839278535,1839278535 -.long 1261411869,1261411869 -.long 4080055004,4080055004 -.long 3964831245,3964831245 -.long 3504587127,3504587127 -.long 1813426987,1813426987 -.long 2579067049,2579067049 -.long 4199060497,4199060497 -.long 577038663,577038663 -.long 3297574056,3297574056 -.long 440397984,440397984 -.long 3626794326,3626794326 -.long 4019204898,4019204898 -.long 3343796615,3343796615 -.long 3251714265,3251714265 -.long 4272081548,4272081548 -.long 906744984,906744984 -.long 3481400742,3481400742 -.long 685669029,685669029 -.long 646887386,646887386 -.long 2764025151,2764025151 -.long 3835509292,3835509292 -.long 227702864,227702864 -.long 2613862250,2613862250 -.long 1648787028,1648787028 -.long 3256061430,3256061430 -.long 3904428176,3904428176 -.long 1593260334,1593260334 -.long 4121936770,4121936770 -.long 3196083615,3196083615 -.long 2090061929,2090061929 -.long 2838353263,2838353263 -.long 3004310991,3004310991 -.long 999926984,999926984 -.long 2809993232,2809993232 -.long 1852021992,1852021992 -.long 2075868123,2075868123 -.long 158869197,158869197 -.long 4095236462,4095236462 -.long 28809964,28809964 -.long 2828685187,2828685187 -.long 1701746150,1701746150 -.long 2129067946,2129067946 -.long 147831841,147831841 -.long 3873969647,3873969647 -.long 3650873274,3650873274 -.long 3459673930,3459673930 -.long 3557400554,3557400554 -.long 3598495785,3598495785 -.long 2947720241,2947720241 -.long 824393514,824393514 -.long 815048134,815048134 -.long 3227951669,3227951669 -.long 935087732,935087732 -.long 2798289660,2798289660 -.long 2966458592,2966458592 -.long 366520115,366520115 -.long 1251476721,1251476721 -.long 4158319681,4158319681 -.long 240176511,240176511 -.long 804688151,804688151 -.long 2379631990,2379631990 -.long 1303441219,1303441219 -.long 1414376140,1414376140 -.long 3741619940,3741619940 -.long 3820343710,3820343710 -.long 461924940,461924940 -.long 3089050817,3089050817 -.long 2136040774,2136040774 -.long 82468509,82468509 -.long 1563790337,1563790337 -.long 1937016826,1937016826 -.long 776014843,776014843 -.long 1511876531,1511876531 -.long 1389550482,1389550482 -.long 861278441,861278441 -.long 323475053,323475053 -.long 2355222426,2355222426 -.long 2047648055,2047648055 -.long 2383738969,2383738969 -.long 2302415851,2302415851 -.long 3995576782,3995576782 -.long 902390199,902390199 -.long 3991215329,3991215329 -.long 1018251130,1018251130 -.long 1507840668,1507840668 -.long 1064563285,1064563285 -.long 2043548696,2043548696 -.long 3208103795,3208103795 -.long 3939366739,3939366739 -.long 1537932639,1537932639 -.long 342834655,342834655 -.long 2262516856,2262516856 -.long 2180231114,2180231114 -.long 1053059257,1053059257 -.long 741614648,741614648 -.long 1598071746,1598071746 -.long 1925389590,1925389590 -.long 203809468,203809468 -.long 2336832552,2336832552 -.long 1100287487,1100287487 -.long 1895934009,1895934009 -.long 3736275976,3736275976 -.long 2632234200,2632234200 -.long 2428589668,2428589668 -.long 1636092795,1636092795 -.long 1890988757,1890988757 -.long 1952214088,1952214088 -.long 1113045200,1113045200 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.globl _AES_decrypt -.type _AES_decrypt,@function -.align 4 -_AES_decrypt: -L_AES_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call L010pic_point -L010pic_point: - popl %ebp - leal __GLOBAL_OFFSET_TABLE_+[.-L010pic_point](%ebp),%eax - movl _OPENSSL_ia32cap_P@GOT(%eax),%eax - leal LAES_Td-L010pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc L011x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call __sse_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4,0x90 -L011x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call __x86_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _AES_cbc_encrypt -.type _AES_cbc_encrypt,@function -.align 4 -_AES_cbc_encrypt: -L_AES_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%ecx - cmpl $0,%ecx - je L012drop_out - call L013pic_point -L013pic_point: - popl %ebp - leal __GLOBAL_OFFSET_TABLE_+[.-L013pic_point](%ebp),%eax - movl _OPENSSL_ia32cap_P@GOT(%eax),%eax - cmpl $0,40(%esp) - leal LAES_Te-L013pic_point(%ebp),%ebp - jne L014picked_te - leal LAES_Td-LAES_Te(%ebp),%ebp -L014picked_te: - pushfl - cld - cmpl $512,%ecx - jb L015slow_way - testl $15,%ecx - jnz L015slow_way - btl $28,(%eax) - jc L015slow_way - leal -324(%esp),%esi - andl $-64,%esi - movl %ebp,%eax - leal 2304(%ebp),%ebx - movl %esi,%edx - andl $4095,%eax - andl $4095,%ebx - andl $4095,%edx - cmpl %ebx,%edx - jb L016tbl_break_out - subl %ebx,%edx - subl %edx,%esi - jmp L017tbl_ok -.align 2,0x90 -L016tbl_break_out: - subl %eax,%edx - andl $4095,%edx - addl $384,%edx - subl %edx,%esi -.align 2,0x90 -L017tbl_ok: - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 12(%edx),%edi - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl $0,316(%esp) - movl %edi,%ebx - movl $61,%ecx - subl %ebp,%ebx - movl %edi,%esi - andl $4095,%ebx - leal 76(%esp),%edi - cmpl $2304,%ebx - jb L018do_copy - cmpl $3852,%ebx - jb L019skip_copy -.align 2,0x90 -L018do_copy: - movl %edi,44(%esp) -.long 2784229001 -L019skip_copy: - movl $16,%edi -.align 2,0x90 -L020prefetch_tbl: - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%esi - leal 128(%ebp),%ebp - subl $1,%edi - jnz L020prefetch_tbl - subl $2048,%ebp - movl 32(%esp),%esi - movl 48(%esp),%edi - cmpl $0,%edx - je L021fast_decrypt - movl (%edi),%eax - movl 4(%edi),%ebx -.align 4,0x90 -L022fast_enc_loop: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_encrypt - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - leal 16(%esi),%esi - movl 40(%esp),%ecx - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L022fast_enc_loop - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - cmpl $0,316(%esp) - movl 44(%esp),%edi - je L023skip_ezero - movl $60,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2884892297 -L023skip_ezero: - movl 28(%esp),%esp - popfl -L012drop_out: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L021fast_decrypt: - cmpl 36(%esp),%esi - je L024fast_dec_in_place - movl %edi,52(%esp) -.align 2,0x90 -.align 4,0x90 -L025fast_dec_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_decrypt - movl 52(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 36(%esp),%edi - movl 32(%esp),%esi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl %esi,52(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edi - movl %edi,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L025fast_dec_loop - movl 52(%esp),%edi - movl 48(%esp),%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - jmp L026fast_dec_out -.align 4,0x90 -L024fast_dec_in_place: -L027fast_dec_in_place_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call __x86_AES_decrypt - movl 48(%esp),%edi - movl 36(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L027fast_dec_in_place_loop -.align 2,0x90 -L026fast_dec_out: - cmpl $0,316(%esp) - movl 44(%esp),%edi - je L028skip_dzero - movl $60,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2884892297 -L028skip_dzero: - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L015slow_way: - movl (%eax),%eax - movl 36(%esp),%edi - leal -80(%esp),%esi - andl $-64,%esi - leal -143(%edi),%ebx - subl %esi,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esi - leal 768(%esi),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl %eax,52(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl %esi,%edi - movl %eax,%esi - cmpl $0,%edx - je L029slow_decrypt - cmpl $16,%ecx - movl %ebx,%edx - jb L030slow_enc_tail - btl $25,52(%esp) - jnc L031slow_enc_x86 - movq (%edi),%mm0 - movq 8(%edi),%mm4 -.align 4,0x90 -L032slow_enc_loop_sse: - pxor (%esi),%mm0 - pxor 8(%esi),%mm4 - movl 44(%esp),%edi - call __sse_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl 40(%esp),%ecx - movq %mm0,(%edi) - movq %mm4,8(%edi) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae L032slow_enc_loop_sse - testl $15,%ecx - jnz L030slow_enc_tail - movl 48(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L031slow_enc_x86: - movl (%edi),%eax - movl 4(%edi),%ebx -.align 2,0x90 -L033slow_enc_loop_x86: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae L033slow_enc_loop_x86 - testl $15,%ecx - jnz L030slow_enc_tail - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L030slow_enc_tail: - emms - movl %edx,%edi - movl $16,%ebx - subl %ecx,%ebx - cmpl %esi,%edi - je L034enc_in_place -.align 2,0x90 -.long 2767451785 - jmp L035enc_skip_in_place -L034enc_in_place: - leal (%edi,%ecx,1),%edi -L035enc_skip_in_place: - movl %ebx,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2868115081 - movl 48(%esp),%edi - movl %edx,%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl $16,40(%esp) - jmp L033slow_enc_loop_x86 -.align 4,0x90 -L029slow_decrypt: - btl $25,52(%esp) - jnc L036slow_dec_loop_x86 -.align 2,0x90 -L037slow_dec_loop_sse: - movq (%esi),%mm0 - movq 8(%esi),%mm4 - movl 44(%esp),%edi - call __sse_AES_decrypt_compact - movl 32(%esp),%esi - leal 60(%esp),%eax - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl 48(%esp),%edi - movq (%esi),%mm1 - movq 8(%esi),%mm5 - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movq %mm1,(%edi) - movq %mm5,8(%edi) - subl $16,%ecx - jc L038slow_dec_partial_sse - movq %mm0,(%ebx) - movq %mm4,8(%ebx) - leal 16(%ebx),%ebx - movl %ebx,36(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - movl %ecx,40(%esp) - jnz L037slow_dec_loop_sse - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L038slow_dec_partial_sse: - movq %mm0,(%eax) - movq %mm4,8(%eax) - emms - addl $16,%ecx - movl %ebx,%edi - movl %eax,%esi -.align 2,0x90 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L036slow_dec_loop_x86: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call __x86_AES_decrypt_compact - movl 48(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - subl $16,%esi - jc L039slow_dec_partial_x86 - movl %esi,40(%esp) - movl 36(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - leal 16(%esi),%esi - movl %esi,32(%esp) - jnz L036slow_dec_loop_x86 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L039slow_dec_partial_x86: - leal 60(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 32(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl 36(%esp),%edi - leal 60(%esp),%esi -.align 2,0x90 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.type __x86_AES_set_encrypt_key,@function -.align 4 -__x86_AES_set_encrypt_key: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 24(%esp),%esi - movl 32(%esp),%edi - testl $-1,%esi - jz L040badpointer - testl $-1,%edi - jz L040badpointer - call L041pic_point -L041pic_point: - popl %ebp - leal LAES_Te-L041pic_point(%ebp),%ebp - leal 2176(%ebp),%ebp - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx - movl 28(%esp),%ecx - cmpl $128,%ecx - je L04210rounds - cmpl $192,%ecx - je L04312rounds - cmpl $256,%ecx - je L04414rounds - movl $-2,%eax - jmp L045exit -L04210rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - xorl %ecx,%ecx - jmp L04610shortcut -.align 2,0x90 -L04710loop: - movl (%edi),%eax - movl 12(%edi),%edx -L04610shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,16(%edi) - xorl 4(%edi),%eax - movl %eax,20(%edi) - xorl 8(%edi),%eax - movl %eax,24(%edi) - xorl 12(%edi),%eax - movl %eax,28(%edi) - incl %ecx - addl $16,%edi - cmpl $10,%ecx - jl L04710loop - movl $10,80(%edi) - xorl %eax,%eax - jmp L045exit -L04312rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%ecx - movl 20(%esi),%edx - movl %ecx,16(%edi) - movl %edx,20(%edi) - xorl %ecx,%ecx - jmp L04812shortcut -.align 2,0x90 -L04912loop: - movl (%edi),%eax - movl 20(%edi),%edx -L04812shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,24(%edi) - xorl 4(%edi),%eax - movl %eax,28(%edi) - xorl 8(%edi),%eax - movl %eax,32(%edi) - xorl 12(%edi),%eax - movl %eax,36(%edi) - cmpl $7,%ecx - je L05012break - incl %ecx - xorl 16(%edi),%eax - movl %eax,40(%edi) - xorl 20(%edi),%eax - movl %eax,44(%edi) - addl $24,%edi - jmp L04912loop -L05012break: - movl $12,72(%edi) - xorl %eax,%eax - jmp L045exit -L04414rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - movl %eax,16(%edi) - movl %ebx,20(%edi) - movl %ecx,24(%edi) - movl %edx,28(%edi) - xorl %ecx,%ecx - jmp L05114shortcut -.align 2,0x90 -L05214loop: - movl 28(%edi),%edx -L05114shortcut: - movl (%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,32(%edi) - xorl 4(%edi),%eax - movl %eax,36(%edi) - xorl 8(%edi),%eax - movl %eax,40(%edi) - xorl 12(%edi),%eax - movl %eax,44(%edi) - cmpl $6,%ecx - je L05314break - incl %ecx - movl %eax,%edx - movl 16(%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - movl %eax,48(%edi) - xorl 20(%edi),%eax - movl %eax,52(%edi) - xorl 24(%edi),%eax - movl %eax,56(%edi) - xorl 28(%edi),%eax - movl %eax,60(%edi) - addl $32,%edi - jmp L05214loop -L05314break: - movl $14,48(%edi) - xorl %eax,%eax - jmp L045exit -L040badpointer: - movl $-1,%eax -L045exit: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _AES_set_encrypt_key -.type _AES_set_encrypt_key,@function -.align 4 -_AES_set_encrypt_key: -L_AES_set_encrypt_key_begin: - call __x86_AES_set_encrypt_key - ret -.globl _AES_set_decrypt_key -.type _AES_set_decrypt_key,@function -.align 4 -_AES_set_decrypt_key: -L_AES_set_decrypt_key_begin: - call __x86_AES_set_encrypt_key - cmpl $0,%eax - je L054proceed - ret -L054proceed: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%esi - movl 240(%esi),%ecx - leal (,%ecx,4),%ecx - leal (%esi,%ecx,4),%edi -.align 2,0x90 -L055invert: - movl (%esi),%eax - movl 4(%esi),%ebx - movl (%edi),%ecx - movl 4(%edi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,(%esi) - movl %edx,4(%esi) - movl 8(%esi),%eax - movl 12(%esi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,8(%edi) - movl %ebx,12(%edi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - addl $16,%esi - subl $16,%edi - cmpl %edi,%esi - jne L055invert - movl 28(%esp),%edi - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,28(%esp) - movl 16(%edi),%eax -.align 2,0x90 -L056permute: - addl $16,%edi - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %eax,%ebx - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - xorl %eax,%ecx - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - roll $8,%eax - xorl %esi,%edx - movl 4(%edi),%ebp - xorl %ebx,%eax - xorl %edx,%ebx - xorl %ecx,%eax - roll $24,%ebx - xorl %edx,%ecx - xorl %edx,%eax - roll $16,%ecx - xorl %ebx,%eax - roll $8,%edx - xorl %ecx,%eax - movl %ebp,%ebx - xorl %edx,%eax - movl %eax,(%edi) - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - xorl %ebx,%edx - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - roll $8,%ebx - xorl %esi,%eax - movl 8(%edi),%ebp - xorl %ecx,%ebx - xorl %eax,%ecx - xorl %edx,%ebx - roll $24,%ecx - xorl %eax,%edx - xorl %eax,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%eax - xorl %edx,%ebx - movl %ebp,%ecx - xorl %eax,%ebx - movl %ebx,4(%edi) - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %ecx,%edx - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - xorl %ecx,%eax - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - roll $8,%ecx - xorl %esi,%ebx - movl 12(%edi),%ebp - xorl %edx,%ecx - xorl %ebx,%edx - xorl %eax,%ecx - roll $24,%edx - xorl %ebx,%eax - xorl %ebx,%ecx - roll $16,%eax - xorl %edx,%ecx - roll $8,%ebx - xorl %eax,%ecx - movl %ebp,%edx - xorl %ebx,%ecx - movl %ecx,8(%edi) - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %edx,%eax - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - xorl %edx,%ebx - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - roll $8,%edx - xorl %esi,%ecx - movl 16(%edi),%ebp - xorl %eax,%edx - xorl %ecx,%eax - xorl %ebx,%edx - roll $24,%eax - xorl %ecx,%ebx - xorl %ecx,%edx - roll $16,%ebx - xorl %eax,%edx - roll $8,%ecx - xorl %ebx,%edx - movl %ebp,%eax - xorl %ecx,%edx - movl %edx,12(%edi) - cmpl 28(%esp),%edi - jb L056permute - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.comm _OPENSSL_ia32cap_P,16 diff --git a/deps/openssl/config/archs/BSD-x86/asm/crypto/buildinf.h b/deps/openssl/config/archs/BSD-x86/asm/crypto/buildinf.h index feabbb00ba4bc3..cc24d30a9b9b75 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/BSD-x86/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: BSD-x86" -#define DATE "built on: Fri Sep 13 15:57:16 2019 UTC" +#define DATE "built on: Wed Mar 18 21:04:48 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -36,12 +36,13 @@ static const char compiler_flags[] = { 'M',' ','-','D','S','H','A','2','5','6','_','A','S','M',' ','-', 'D','S','H','A','5','1','2','_','A','S','M',' ','-','D','R','C', '4','_','A','S','M',' ','-','D','M','D','5','_','A','S','M',' ', - '-','D','R','M','D','1','6','0','_','A','S','M',' ','-','D','V', - 'P','A','E','S','_','A','S','M',' ','-','D','W','H','I','R','L', - 'P','O','O','L','_','A','S','M',' ','-','D','G','H','A','S','H', - '_','A','S','M',' ','-','D','E','C','P','_','N','I','S','T','Z', - '2','5','6','_','A','S','M',' ','-','D','P','O','L','Y','1','3', - '0','5','_','A','S','M',' ','-','D','_','T','H','R','E','A','D', - '_','S','A','F','E',' ','-','D','_','R','E','E','N','T','R','A', - 'N','T',' ','-','D','N','D','E','B','U','G','\0' + '-','D','R','M','D','1','6','0','_','A','S','M',' ','-','D','A', + 'E','S','N','I','_','A','S','M',' ','-','D','V','P','A','E','S', + '_','A','S','M',' ','-','D','W','H','I','R','L','P','O','O','L', + '_','A','S','M',' ','-','D','G','H','A','S','H','_','A','S','M', + ' ','-','D','E','C','P','_','N','I','S','T','Z','2','5','6','_', + 'A','S','M',' ','-','D','P','O','L','Y','1','3','0','5','_','A', + 'S','M',' ','-','D','_','T','H','R','E','A','D','_','S','A','F', + 'E',' ','-','D','_','R','E','E','N','T','R','A','N','T',' ','-', + 'D','N','D','E','B','U','G','\0' }; diff --git a/deps/openssl/config/archs/BSD-x86/asm/crypto/ec/ecp_nistz256-x86.s b/deps/openssl/config/archs/BSD-x86/asm/crypto/ec/ecp_nistz256-x86.s index 569a636888684a..5299520882c6cd 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/crypto/ec/ecp_nistz256-x86.s +++ b/deps/openssl/config/archs/BSD-x86/asm/crypto/ec/ecp_nistz256-x86.s @@ -4405,19 +4405,15 @@ L009pic: orl 4(%edi),%eax orl 8(%edi),%eax orl 12(%edi),%eax + movl 576(%esp),%ebx + notl %ebx + orl %ebx,%eax + movl 580(%esp),%ebx + notl %ebx + orl %ebx,%eax + orl 584(%esp),%eax .byte 62 jnz L010add_proceed - movl 576(%esp),%eax - andl 580(%esp),%eax - movl 584(%esp),%ebx - jz L010add_proceed - testl %ebx,%ebx - jz L011add_double - movl 616(%esp),%edi - xorl %eax,%eax - movl $24,%ecx -.byte 252,243,171 - jmp L012add_done .align 4,0x90 L011add_double: movl 620(%esp),%esi diff --git a/deps/openssl/config/archs/BSD-x86/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/BSD-x86/asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/BSD-x86/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/BSD-x86/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/BSD-x86/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/BSD-x86/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/BSD-x86/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/BSD-x86/asm/include/openssl/opensslconf.h index dbeaee16f18f92..febd51aca07f47 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/BSD-x86/asm/include/openssl/opensslconf.h @@ -93,9 +93,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/BSD-x86/asm/include/progs.h b/deps/openssl/config/archs/BSD-x86/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/include/progs.h +++ b/deps/openssl/config/archs/BSD-x86/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/BSD-x86/asm/openssl-cl.gypi b/deps/openssl/config/archs/BSD-x86/asm/openssl-cl.gypi index 96efa1c4bb1118..55742c5a7dfc39 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/openssl-cl.gypi +++ b/deps/openssl/config/archs/BSD-x86/asm/openssl-cl.gypi @@ -15,6 +15,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/BSD-x86/asm/openssl.gypi b/deps/openssl/config/archs/BSD-x86/asm/openssl.gypi index 5e6af396479e3a..380077db34bbeb 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/openssl.gypi +++ b/deps/openssl/config/archs/BSD-x86/asm/openssl.gypi @@ -713,6 +713,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/configdata.pm b/deps/openssl/config/archs/BSD-x86/asm_avx2/configdata.pm index 15ac34550bee59..08151c2b5bbcad 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/configdata.pm @@ -48,14 +48,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "AESNI_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)../config/fake_gcc.pl", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "BSD-x86", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -235,6 +235,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -351,8 +352,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -620,14 +621,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -703,6 +696,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1492,6 +1493,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3224,7 +3231,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3232,6 +3238,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3730,14 +3737,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4178,6 +4177,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4860,49 +4867,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4912,7 +4911,6 @@ our %unified_info = ( "crypto/aes/aesni-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4930,13 +4928,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4950,613 +4946,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5570,7 +5464,6 @@ our %unified_info = ( "crypto/bn/bn-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5580,188 +5473,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/co-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5791,25 +5653,21 @@ our %unified_info = ( "crypto/bn/x86-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5819,31 +5677,26 @@ our %unified_info = ( "crypto/camellia/cmll-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5853,31 +5706,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5895,284 +5743,237 @@ our %unified_info = ( "crypto/chacha/chacha-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/crypt586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des-586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6182,295 +5983,246 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6478,7 +6230,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6486,7 +6237,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6494,7 +6244,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6502,7 +6251,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6510,7 +6258,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6518,163 +6265,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6692,241 +6412,201 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_devcrypto.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6934,21 +6614,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6956,13 +6633,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6970,81 +6645,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7052,334 +6714,272 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-586.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7389,79 +6989,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7480,7 +7067,6 @@ our %unified_info = ( "crypto/modes/ghash-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7490,361 +7076,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7866,265 +7392,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8134,31 +7616,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8168,13 +7645,11 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8200,19 +7675,16 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8238,13 +7710,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8270,727 +7740,606 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-mmx.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9041,6 +8390,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9285,7 +8642,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9611,7 +8967,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9657,7 +9012,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9723,7 +9077,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9748,7 +9101,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9846,7 +9198,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9896,18 +9247,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9918,6 +9266,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9981,10 +9333,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10013,6 +9361,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10277,6 +9629,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15237,7 +14590,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15245,6 +14597,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15472,6 +14825,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15574,10 +14935,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15606,6 +14963,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/aes/aes-586.s b/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/aes/aes-586.s deleted file mode 100644 index 1ac5376af25fe1..00000000000000 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/aes/aes-586.s +++ /dev/null @@ -1,3218 +0,0 @@ -.text -.type __x86_AES_encrypt_compact,@function -.align 4 -__x86_AES_encrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 4,0x90 -L000loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ecx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ecx,%edi - xorl %esi,%ecx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ecx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%ecx - andl %edx,%ebp - leal (%edx,%edx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %edx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %edx,%edi - xorl %esi,%edx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%edx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%edx - andl %eax,%ebp - leal (%eax,%eax,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %eax,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %eax,%edi - xorl %esi,%eax - rorl $24,%edi - xorl %ebp,%esi - roll $24,%eax - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%eax - andl %ebx,%ebp - leal (%ebx,%ebx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ebx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ebx,%edi - xorl %esi,%ebx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ebx - xorl %edi,%esi - xorl %esi,%ebx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L000loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.type __sse_AES_encrypt_compact,@function -.align 4 -__sse_AES_encrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 4,0x90 -L001loop: - pshufw $8,%mm0,%mm1 - pshufw $13,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $13,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $8,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $8,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - movd %mm2,%eax - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - movd %mm6,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $8,%esi - shrl $16,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shrl $16,%eax - movd %ecx,%mm1 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - andl $255,%eax - orl %esi,%ecx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - andl $255,%ebx - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%ecx - shll $16,%eax - movzbl -128(%ebp,%edi,1),%esi - orl %eax,%edx - shll $8,%esi - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - orl %ebx,%edx - movl 20(%esp),%edi - movd %ecx,%mm4 - movd %edx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja L002out - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - movq %mm0,%mm1 - movq %mm4,%mm5 - pcmpgtb %mm0,%mm3 - pcmpgtb %mm4,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - pshufw $177,%mm0,%mm2 - pshufw $177,%mm4,%mm6 - paddb %mm0,%mm0 - paddb %mm4,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pshufw $177,%mm2,%mm3 - pshufw $177,%mm6,%mm7 - pxor %mm0,%mm1 - pxor %mm4,%mm5 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm3,%mm2 - movq %mm7,%mm6 - pslld $8,%mm3 - pslld $8,%mm7 - psrld $24,%mm2 - psrld $24,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - psrld $8,%mm1 - psrld $8,%mm5 - movl -128(%ebp),%eax - pslld $24,%mm3 - pslld $24,%mm7 - movl -64(%ebp),%ebx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl (%ebp),%ecx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl 64(%ebp),%edx - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp L001loop -.align 4,0x90 -L002out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.type __x86_AES_encrypt,@function -.align 4 -__x86_AES_encrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 4,0x90 -L003loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl (%ebp,%esi,8),%esi - movzbl %ch,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movzbl %bh,%edi - xorl 1(%ebp,%edi,8),%esi - movl 20(%esp),%edi - movl (%ebp,%edx,8),%edx - movzbl %ah,%eax - xorl 3(%ebp,%eax,8),%edx - movl 4(%esp),%eax - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - xorl 1(%ebp,%ecx,8),%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L003loop - movl %eax,%esi - andl $255,%esi - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %bh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %ch,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %dh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movzbl %bh,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movl 2(%ebp,%edx,8),%edx - andl $255,%edx - movzbl %ah,%eax - movl (%ebp,%eax,8),%eax - andl $65280,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movl (%ebp,%ebx,8),%ebx - andl $16711680,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movl 2(%ebp,%ecx,8),%ecx - andl $4278190080,%ecx - xorl %ecx,%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 6,0x90 -LAES_Te: -.long 2774754246,2774754246 -.long 2222750968,2222750968 -.long 2574743534,2574743534 -.long 2373680118,2373680118 -.long 234025727,234025727 -.long 3177933782,3177933782 -.long 2976870366,2976870366 -.long 1422247313,1422247313 -.long 1345335392,1345335392 -.long 50397442,50397442 -.long 2842126286,2842126286 -.long 2099981142,2099981142 -.long 436141799,436141799 -.long 1658312629,1658312629 -.long 3870010189,3870010189 -.long 2591454956,2591454956 -.long 1170918031,1170918031 -.long 2642575903,2642575903 -.long 1086966153,1086966153 -.long 2273148410,2273148410 -.long 368769775,368769775 -.long 3948501426,3948501426 -.long 3376891790,3376891790 -.long 200339707,200339707 -.long 3970805057,3970805057 -.long 1742001331,1742001331 -.long 4255294047,4255294047 -.long 3937382213,3937382213 -.long 3214711843,3214711843 -.long 4154762323,4154762323 -.long 2524082916,2524082916 -.long 1539358875,1539358875 -.long 3266819957,3266819957 -.long 486407649,486407649 -.long 2928907069,2928907069 -.long 1780885068,1780885068 -.long 1513502316,1513502316 -.long 1094664062,1094664062 -.long 49805301,49805301 -.long 1338821763,1338821763 -.long 1546925160,1546925160 -.long 4104496465,4104496465 -.long 887481809,887481809 -.long 150073849,150073849 -.long 2473685474,2473685474 -.long 1943591083,1943591083 -.long 1395732834,1395732834 -.long 1058346282,1058346282 -.long 201589768,201589768 -.long 1388824469,1388824469 -.long 1696801606,1696801606 -.long 1589887901,1589887901 -.long 672667696,672667696 -.long 2711000631,2711000631 -.long 251987210,251987210 -.long 3046808111,3046808111 -.long 151455502,151455502 -.long 907153956,907153956 -.long 2608889883,2608889883 -.long 1038279391,1038279391 -.long 652995533,652995533 -.long 1764173646,1764173646 -.long 3451040383,3451040383 -.long 2675275242,2675275242 -.long 453576978,453576978 -.long 2659418909,2659418909 -.long 1949051992,1949051992 -.long 773462580,773462580 -.long 756751158,756751158 -.long 2993581788,2993581788 -.long 3998898868,3998898868 -.long 4221608027,4221608027 -.long 4132590244,4132590244 -.long 1295727478,1295727478 -.long 1641469623,1641469623 -.long 3467883389,3467883389 -.long 2066295122,2066295122 -.long 1055122397,1055122397 -.long 1898917726,1898917726 -.long 2542044179,2542044179 -.long 4115878822,4115878822 -.long 1758581177,1758581177 -.long 0,0 -.long 753790401,753790401 -.long 1612718144,1612718144 -.long 536673507,536673507 -.long 3367088505,3367088505 -.long 3982187446,3982187446 -.long 3194645204,3194645204 -.long 1187761037,1187761037 -.long 3653156455,3653156455 -.long 1262041458,1262041458 -.long 3729410708,3729410708 -.long 3561770136,3561770136 -.long 3898103984,3898103984 -.long 1255133061,1255133061 -.long 1808847035,1808847035 -.long 720367557,720367557 -.long 3853167183,3853167183 -.long 385612781,385612781 -.long 3309519750,3309519750 -.long 3612167578,3612167578 -.long 1429418854,1429418854 -.long 2491778321,2491778321 -.long 3477423498,3477423498 -.long 284817897,284817897 -.long 100794884,100794884 -.long 2172616702,2172616702 -.long 4031795360,4031795360 -.long 1144798328,1144798328 -.long 3131023141,3131023141 -.long 3819481163,3819481163 -.long 4082192802,4082192802 -.long 4272137053,4272137053 -.long 3225436288,3225436288 -.long 2324664069,2324664069 -.long 2912064063,2912064063 -.long 3164445985,3164445985 -.long 1211644016,1211644016 -.long 83228145,83228145 -.long 3753688163,3753688163 -.long 3249976951,3249976951 -.long 1977277103,1977277103 -.long 1663115586,1663115586 -.long 806359072,806359072 -.long 452984805,452984805 -.long 250868733,250868733 -.long 1842533055,1842533055 -.long 1288555905,1288555905 -.long 336333848,336333848 -.long 890442534,890442534 -.long 804056259,804056259 -.long 3781124030,3781124030 -.long 2727843637,2727843637 -.long 3427026056,3427026056 -.long 957814574,957814574 -.long 1472513171,1472513171 -.long 4071073621,4071073621 -.long 2189328124,2189328124 -.long 1195195770,1195195770 -.long 2892260552,2892260552 -.long 3881655738,3881655738 -.long 723065138,723065138 -.long 2507371494,2507371494 -.long 2690670784,2690670784 -.long 2558624025,2558624025 -.long 3511635870,3511635870 -.long 2145180835,2145180835 -.long 1713513028,1713513028 -.long 2116692564,2116692564 -.long 2878378043,2878378043 -.long 2206763019,2206763019 -.long 3393603212,3393603212 -.long 703524551,703524551 -.long 3552098411,3552098411 -.long 1007948840,1007948840 -.long 2044649127,2044649127 -.long 3797835452,3797835452 -.long 487262998,487262998 -.long 1994120109,1994120109 -.long 1004593371,1004593371 -.long 1446130276,1446130276 -.long 1312438900,1312438900 -.long 503974420,503974420 -.long 3679013266,3679013266 -.long 168166924,168166924 -.long 1814307912,1814307912 -.long 3831258296,3831258296 -.long 1573044895,1573044895 -.long 1859376061,1859376061 -.long 4021070915,4021070915 -.long 2791465668,2791465668 -.long 2828112185,2828112185 -.long 2761266481,2761266481 -.long 937747667,937747667 -.long 2339994098,2339994098 -.long 854058965,854058965 -.long 1137232011,1137232011 -.long 1496790894,1496790894 -.long 3077402074,3077402074 -.long 2358086913,2358086913 -.long 1691735473,1691735473 -.long 3528347292,3528347292 -.long 3769215305,3769215305 -.long 3027004632,3027004632 -.long 4199962284,4199962284 -.long 133494003,133494003 -.long 636152527,636152527 -.long 2942657994,2942657994 -.long 2390391540,2390391540 -.long 3920539207,3920539207 -.long 403179536,403179536 -.long 3585784431,3585784431 -.long 2289596656,2289596656 -.long 1864705354,1864705354 -.long 1915629148,1915629148 -.long 605822008,605822008 -.long 4054230615,4054230615 -.long 3350508659,3350508659 -.long 1371981463,1371981463 -.long 602466507,602466507 -.long 2094914977,2094914977 -.long 2624877800,2624877800 -.long 555687742,555687742 -.long 3712699286,3712699286 -.long 3703422305,3703422305 -.long 2257292045,2257292045 -.long 2240449039,2240449039 -.long 2423288032,2423288032 -.long 1111375484,1111375484 -.long 3300242801,3300242801 -.long 2858837708,2858837708 -.long 3628615824,3628615824 -.long 84083462,84083462 -.long 32962295,32962295 -.long 302911004,302911004 -.long 2741068226,2741068226 -.long 1597322602,1597322602 -.long 4183250862,4183250862 -.long 3501832553,3501832553 -.long 2441512471,2441512471 -.long 1489093017,1489093017 -.long 656219450,656219450 -.long 3114180135,3114180135 -.long 954327513,954327513 -.long 335083755,335083755 -.long 3013122091,3013122091 -.long 856756514,856756514 -.long 3144247762,3144247762 -.long 1893325225,1893325225 -.long 2307821063,2307821063 -.long 2811532339,2811532339 -.long 3063651117,3063651117 -.long 572399164,572399164 -.long 2458355477,2458355477 -.long 552200649,552200649 -.long 1238290055,1238290055 -.long 4283782570,4283782570 -.long 2015897680,2015897680 -.long 2061492133,2061492133 -.long 2408352771,2408352771 -.long 4171342169,4171342169 -.long 2156497161,2156497161 -.long 386731290,386731290 -.long 3669999461,3669999461 -.long 837215959,837215959 -.long 3326231172,3326231172 -.long 3093850320,3093850320 -.long 3275833730,3275833730 -.long 2962856233,2962856233 -.long 1999449434,1999449434 -.long 286199582,286199582 -.long 3417354363,3417354363 -.long 4233385128,4233385128 -.long 3602627437,3602627437 -.long 974525996,974525996 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.long 1,2,4,8 -.long 16,32,64,128 -.long 27,54,0,0 -.long 0,0,0,0 -.globl _AES_encrypt -.type _AES_encrypt,@function -.align 4 -_AES_encrypt: -L_AES_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call L004pic_point -L004pic_point: - popl %ebp - leal __GLOBAL_OFFSET_TABLE_+[.-L004pic_point](%ebp),%eax - movl _OPENSSL_ia32cap_P@GOT(%eax),%eax - leal LAES_Te-L004pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc L005x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call __sse_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4,0x90 -L005x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call __x86_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.type __x86_AES_decrypt_compact,@function -.align 4 -__x86_AES_decrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 4,0x90 -L006loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%eax - subl %edi,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %ecx,%eax - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ecx,%ebx - roll $8,%ecx - xorl %esi,%ebp - xorl %eax,%ecx - xorl %ebp,%eax - xorl %ebx,%ecx - xorl %ebp,%ebx - roll $24,%eax - xorl %ebp,%ecx - roll $16,%ebx - xorl %eax,%ecx - roll $8,%ebp - xorl %ebx,%ecx - movl 4(%esp),%eax - xorl %ebp,%ecx - movl %ecx,12(%esp) - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %edx,%ebx - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %edx,%ecx - roll $8,%edx - xorl %esi,%ebp - xorl %ebx,%edx - xorl %ebp,%ebx - xorl %ecx,%edx - xorl %ebp,%ecx - roll $24,%ebx - xorl %ebp,%edx - roll $16,%ecx - xorl %ebx,%edx - roll $8,%ebp - xorl %ecx,%edx - movl 8(%esp),%ebx - xorl %ebp,%edx - movl %edx,16(%esp) - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %eax,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %eax,%edx - roll $8,%eax - xorl %esi,%ebp - xorl %ecx,%eax - xorl %ebp,%ecx - xorl %edx,%eax - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%eax - roll $16,%edx - xorl %ecx,%eax - roll $8,%ebp - xorl %edx,%eax - xorl %ebp,%eax - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ebx,%edx - roll $8,%ebx - xorl %esi,%ebp - xorl %ecx,%ebx - xorl %ebp,%ecx - xorl %edx,%ebx - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%ebp - xorl %edx,%ebx - movl 12(%esp),%ecx - xorl %ebp,%ebx - movl 16(%esp),%edx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L006loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.type __sse_AES_decrypt_compact,@function -.align 4 -__sse_AES_decrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 4,0x90 -L007loop: - pshufw $12,%mm0,%mm1 - pshufw $9,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $6,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $3,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movd %mm2,%eax - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $16,%esi - movd %mm6,%ebx - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %al,%edi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $16,%esi - shrl $16,%eax - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shrl $16,%ebx - shll $8,%esi - movd %edx,%mm1 - movzbl -128(%ebp,%edi,1),%edx - movzbl %bh,%edi - shll $24,%edx - andl $255,%ebx - orl %esi,%edx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movzbl %ah,%eax - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - orl %ebx,%edx - shll $16,%esi - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%edx - shll $24,%eax - orl %eax,%ecx - movl 20(%esp),%edi - movd %edx,%mm4 - movd %ecx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja L008out - movq %mm0,%mm3 - movq %mm4,%mm7 - pshufw $228,%mm0,%mm2 - pshufw $228,%mm4,%mm6 - movq %mm0,%mm1 - movq %mm4,%mm5 - pshufw $177,%mm0,%mm0 - pshufw $177,%mm4,%mm4 - pslld $8,%mm2 - pslld $8,%mm6 - psrld $8,%mm3 - psrld $8,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pslld $16,%mm2 - pslld $16,%mm6 - psrld $16,%mm3 - psrld $16,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movq 8(%esp),%mm3 - pxor %mm2,%mm2 - pxor %mm6,%mm6 - pcmpgtb %mm1,%mm2 - pcmpgtb %mm5,%mm6 - pand %mm3,%mm2 - pand %mm3,%mm6 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm2,%mm1 - pxor %mm6,%mm5 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq %mm1,%mm2 - movq %mm5,%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pslld $24,%mm3 - pslld $24,%mm7 - psrld $8,%mm2 - psrld $8,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pshufw $177,%mm1,%mm3 - pshufw $177,%mm5,%mm7 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - pshufw $177,%mm1,%mm2 - pshufw $177,%mm5,%mm6 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pslld $8,%mm1 - pslld $8,%mm5 - psrld $8,%mm3 - psrld $8,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl -128(%ebp),%eax - pslld $16,%mm1 - pslld $16,%mm5 - movl -64(%ebp),%ebx - psrld $16,%mm3 - psrld $16,%mm7 - movl (%ebp),%ecx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl 64(%ebp),%edx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp L007loop -.align 4,0x90 -L008out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.type __x86_AES_decrypt,@function -.align 4 -__x86_AES_decrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 4,0x90 -L009loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ebx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %ah,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl 20(%esp),%edi - andl $255,%edx - movl (%ebp,%edx,8),%edx - movzbl %ch,%ecx - xorl 3(%ebp,%ecx,8),%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - shrl $24,%eax - xorl 1(%ebp,%eax,8),%edx - movl 4(%esp),%eax - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L009loop - leal 2176(%ebp),%ebp - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi - leal -128(%ebp),%ebp - movl %eax,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl (%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl (%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl (%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl (%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - leal -2048(%ebp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 6,0x90 -LAES_Td: -.long 1353184337,1353184337 -.long 1399144830,1399144830 -.long 3282310938,3282310938 -.long 2522752826,2522752826 -.long 3412831035,3412831035 -.long 4047871263,4047871263 -.long 2874735276,2874735276 -.long 2466505547,2466505547 -.long 1442459680,1442459680 -.long 4134368941,4134368941 -.long 2440481928,2440481928 -.long 625738485,625738485 -.long 4242007375,4242007375 -.long 3620416197,3620416197 -.long 2151953702,2151953702 -.long 2409849525,2409849525 -.long 1230680542,1230680542 -.long 1729870373,1729870373 -.long 2551114309,2551114309 -.long 3787521629,3787521629 -.long 41234371,41234371 -.long 317738113,317738113 -.long 2744600205,2744600205 -.long 3338261355,3338261355 -.long 3881799427,3881799427 -.long 2510066197,2510066197 -.long 3950669247,3950669247 -.long 3663286933,3663286933 -.long 763608788,763608788 -.long 3542185048,3542185048 -.long 694804553,694804553 -.long 1154009486,1154009486 -.long 1787413109,1787413109 -.long 2021232372,2021232372 -.long 1799248025,1799248025 -.long 3715217703,3715217703 -.long 3058688446,3058688446 -.long 397248752,397248752 -.long 1722556617,1722556617 -.long 3023752829,3023752829 -.long 407560035,407560035 -.long 2184256229,2184256229 -.long 1613975959,1613975959 -.long 1165972322,1165972322 -.long 3765920945,3765920945 -.long 2226023355,2226023355 -.long 480281086,480281086 -.long 2485848313,2485848313 -.long 1483229296,1483229296 -.long 436028815,436028815 -.long 2272059028,2272059028 -.long 3086515026,3086515026 -.long 601060267,601060267 -.long 3791801202,3791801202 -.long 1468997603,1468997603 -.long 715871590,715871590 -.long 120122290,120122290 -.long 63092015,63092015 -.long 2591802758,2591802758 -.long 2768779219,2768779219 -.long 4068943920,4068943920 -.long 2997206819,2997206819 -.long 3127509762,3127509762 -.long 1552029421,1552029421 -.long 723308426,723308426 -.long 2461301159,2461301159 -.long 4042393587,4042393587 -.long 2715969870,2715969870 -.long 3455375973,3455375973 -.long 3586000134,3586000134 -.long 526529745,526529745 -.long 2331944644,2331944644 -.long 2639474228,2639474228 -.long 2689987490,2689987490 -.long 853641733,853641733 -.long 1978398372,1978398372 -.long 971801355,971801355 -.long 2867814464,2867814464 -.long 111112542,111112542 -.long 1360031421,1360031421 -.long 4186579262,4186579262 -.long 1023860118,1023860118 -.long 2919579357,2919579357 -.long 1186850381,1186850381 -.long 3045938321,3045938321 -.long 90031217,90031217 -.long 1876166148,1876166148 -.long 4279586912,4279586912 -.long 620468249,620468249 -.long 2548678102,2548678102 -.long 3426959497,3426959497 -.long 2006899047,2006899047 -.long 3175278768,3175278768 -.long 2290845959,2290845959 -.long 945494503,945494503 -.long 3689859193,3689859193 -.long 1191869601,1191869601 -.long 3910091388,3910091388 -.long 3374220536,3374220536 -.long 0,0 -.long 2206629897,2206629897 -.long 1223502642,1223502642 -.long 2893025566,2893025566 -.long 1316117100,1316117100 -.long 4227796733,4227796733 -.long 1446544655,1446544655 -.long 517320253,517320253 -.long 658058550,658058550 -.long 1691946762,1691946762 -.long 564550760,564550760 -.long 3511966619,3511966619 -.long 976107044,976107044 -.long 2976320012,2976320012 -.long 266819475,266819475 -.long 3533106868,3533106868 -.long 2660342555,2660342555 -.long 1338359936,1338359936 -.long 2720062561,2720062561 -.long 1766553434,1766553434 -.long 370807324,370807324 -.long 179999714,179999714 -.long 3844776128,3844776128 -.long 1138762300,1138762300 -.long 488053522,488053522 -.long 185403662,185403662 -.long 2915535858,2915535858 -.long 3114841645,3114841645 -.long 3366526484,3366526484 -.long 2233069911,2233069911 -.long 1275557295,1275557295 -.long 3151862254,3151862254 -.long 4250959779,4250959779 -.long 2670068215,2670068215 -.long 3170202204,3170202204 -.long 3309004356,3309004356 -.long 880737115,880737115 -.long 1982415755,1982415755 -.long 3703972811,3703972811 -.long 1761406390,1761406390 -.long 1676797112,1676797112 -.long 3403428311,3403428311 -.long 277177154,277177154 -.long 1076008723,1076008723 -.long 538035844,538035844 -.long 2099530373,2099530373 -.long 4164795346,4164795346 -.long 288553390,288553390 -.long 1839278535,1839278535 -.long 1261411869,1261411869 -.long 4080055004,4080055004 -.long 3964831245,3964831245 -.long 3504587127,3504587127 -.long 1813426987,1813426987 -.long 2579067049,2579067049 -.long 4199060497,4199060497 -.long 577038663,577038663 -.long 3297574056,3297574056 -.long 440397984,440397984 -.long 3626794326,3626794326 -.long 4019204898,4019204898 -.long 3343796615,3343796615 -.long 3251714265,3251714265 -.long 4272081548,4272081548 -.long 906744984,906744984 -.long 3481400742,3481400742 -.long 685669029,685669029 -.long 646887386,646887386 -.long 2764025151,2764025151 -.long 3835509292,3835509292 -.long 227702864,227702864 -.long 2613862250,2613862250 -.long 1648787028,1648787028 -.long 3256061430,3256061430 -.long 3904428176,3904428176 -.long 1593260334,1593260334 -.long 4121936770,4121936770 -.long 3196083615,3196083615 -.long 2090061929,2090061929 -.long 2838353263,2838353263 -.long 3004310991,3004310991 -.long 999926984,999926984 -.long 2809993232,2809993232 -.long 1852021992,1852021992 -.long 2075868123,2075868123 -.long 158869197,158869197 -.long 4095236462,4095236462 -.long 28809964,28809964 -.long 2828685187,2828685187 -.long 1701746150,1701746150 -.long 2129067946,2129067946 -.long 147831841,147831841 -.long 3873969647,3873969647 -.long 3650873274,3650873274 -.long 3459673930,3459673930 -.long 3557400554,3557400554 -.long 3598495785,3598495785 -.long 2947720241,2947720241 -.long 824393514,824393514 -.long 815048134,815048134 -.long 3227951669,3227951669 -.long 935087732,935087732 -.long 2798289660,2798289660 -.long 2966458592,2966458592 -.long 366520115,366520115 -.long 1251476721,1251476721 -.long 4158319681,4158319681 -.long 240176511,240176511 -.long 804688151,804688151 -.long 2379631990,2379631990 -.long 1303441219,1303441219 -.long 1414376140,1414376140 -.long 3741619940,3741619940 -.long 3820343710,3820343710 -.long 461924940,461924940 -.long 3089050817,3089050817 -.long 2136040774,2136040774 -.long 82468509,82468509 -.long 1563790337,1563790337 -.long 1937016826,1937016826 -.long 776014843,776014843 -.long 1511876531,1511876531 -.long 1389550482,1389550482 -.long 861278441,861278441 -.long 323475053,323475053 -.long 2355222426,2355222426 -.long 2047648055,2047648055 -.long 2383738969,2383738969 -.long 2302415851,2302415851 -.long 3995576782,3995576782 -.long 902390199,902390199 -.long 3991215329,3991215329 -.long 1018251130,1018251130 -.long 1507840668,1507840668 -.long 1064563285,1064563285 -.long 2043548696,2043548696 -.long 3208103795,3208103795 -.long 3939366739,3939366739 -.long 1537932639,1537932639 -.long 342834655,342834655 -.long 2262516856,2262516856 -.long 2180231114,2180231114 -.long 1053059257,1053059257 -.long 741614648,741614648 -.long 1598071746,1598071746 -.long 1925389590,1925389590 -.long 203809468,203809468 -.long 2336832552,2336832552 -.long 1100287487,1100287487 -.long 1895934009,1895934009 -.long 3736275976,3736275976 -.long 2632234200,2632234200 -.long 2428589668,2428589668 -.long 1636092795,1636092795 -.long 1890988757,1890988757 -.long 1952214088,1952214088 -.long 1113045200,1113045200 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.globl _AES_decrypt -.type _AES_decrypt,@function -.align 4 -_AES_decrypt: -L_AES_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call L010pic_point -L010pic_point: - popl %ebp - leal __GLOBAL_OFFSET_TABLE_+[.-L010pic_point](%ebp),%eax - movl _OPENSSL_ia32cap_P@GOT(%eax),%eax - leal LAES_Td-L010pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc L011x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call __sse_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4,0x90 -L011x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call __x86_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _AES_cbc_encrypt -.type _AES_cbc_encrypt,@function -.align 4 -_AES_cbc_encrypt: -L_AES_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%ecx - cmpl $0,%ecx - je L012drop_out - call L013pic_point -L013pic_point: - popl %ebp - leal __GLOBAL_OFFSET_TABLE_+[.-L013pic_point](%ebp),%eax - movl _OPENSSL_ia32cap_P@GOT(%eax),%eax - cmpl $0,40(%esp) - leal LAES_Te-L013pic_point(%ebp),%ebp - jne L014picked_te - leal LAES_Td-LAES_Te(%ebp),%ebp -L014picked_te: - pushfl - cld - cmpl $512,%ecx - jb L015slow_way - testl $15,%ecx - jnz L015slow_way - btl $28,(%eax) - jc L015slow_way - leal -324(%esp),%esi - andl $-64,%esi - movl %ebp,%eax - leal 2304(%ebp),%ebx - movl %esi,%edx - andl $4095,%eax - andl $4095,%ebx - andl $4095,%edx - cmpl %ebx,%edx - jb L016tbl_break_out - subl %ebx,%edx - subl %edx,%esi - jmp L017tbl_ok -.align 2,0x90 -L016tbl_break_out: - subl %eax,%edx - andl $4095,%edx - addl $384,%edx - subl %edx,%esi -.align 2,0x90 -L017tbl_ok: - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 12(%edx),%edi - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl $0,316(%esp) - movl %edi,%ebx - movl $61,%ecx - subl %ebp,%ebx - movl %edi,%esi - andl $4095,%ebx - leal 76(%esp),%edi - cmpl $2304,%ebx - jb L018do_copy - cmpl $3852,%ebx - jb L019skip_copy -.align 2,0x90 -L018do_copy: - movl %edi,44(%esp) -.long 2784229001 -L019skip_copy: - movl $16,%edi -.align 2,0x90 -L020prefetch_tbl: - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%esi - leal 128(%ebp),%ebp - subl $1,%edi - jnz L020prefetch_tbl - subl $2048,%ebp - movl 32(%esp),%esi - movl 48(%esp),%edi - cmpl $0,%edx - je L021fast_decrypt - movl (%edi),%eax - movl 4(%edi),%ebx -.align 4,0x90 -L022fast_enc_loop: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_encrypt - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - leal 16(%esi),%esi - movl 40(%esp),%ecx - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L022fast_enc_loop - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - cmpl $0,316(%esp) - movl 44(%esp),%edi - je L023skip_ezero - movl $60,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2884892297 -L023skip_ezero: - movl 28(%esp),%esp - popfl -L012drop_out: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L021fast_decrypt: - cmpl 36(%esp),%esi - je L024fast_dec_in_place - movl %edi,52(%esp) -.align 2,0x90 -.align 4,0x90 -L025fast_dec_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_decrypt - movl 52(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 36(%esp),%edi - movl 32(%esp),%esi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl %esi,52(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edi - movl %edi,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L025fast_dec_loop - movl 52(%esp),%edi - movl 48(%esp),%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - jmp L026fast_dec_out -.align 4,0x90 -L024fast_dec_in_place: -L027fast_dec_in_place_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call __x86_AES_decrypt - movl 48(%esp),%edi - movl 36(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L027fast_dec_in_place_loop -.align 2,0x90 -L026fast_dec_out: - cmpl $0,316(%esp) - movl 44(%esp),%edi - je L028skip_dzero - movl $60,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2884892297 -L028skip_dzero: - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L015slow_way: - movl (%eax),%eax - movl 36(%esp),%edi - leal -80(%esp),%esi - andl $-64,%esi - leal -143(%edi),%ebx - subl %esi,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esi - leal 768(%esi),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl %eax,52(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl %esi,%edi - movl %eax,%esi - cmpl $0,%edx - je L029slow_decrypt - cmpl $16,%ecx - movl %ebx,%edx - jb L030slow_enc_tail - btl $25,52(%esp) - jnc L031slow_enc_x86 - movq (%edi),%mm0 - movq 8(%edi),%mm4 -.align 4,0x90 -L032slow_enc_loop_sse: - pxor (%esi),%mm0 - pxor 8(%esi),%mm4 - movl 44(%esp),%edi - call __sse_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl 40(%esp),%ecx - movq %mm0,(%edi) - movq %mm4,8(%edi) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae L032slow_enc_loop_sse - testl $15,%ecx - jnz L030slow_enc_tail - movl 48(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L031slow_enc_x86: - movl (%edi),%eax - movl 4(%edi),%ebx -.align 2,0x90 -L033slow_enc_loop_x86: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae L033slow_enc_loop_x86 - testl $15,%ecx - jnz L030slow_enc_tail - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L030slow_enc_tail: - emms - movl %edx,%edi - movl $16,%ebx - subl %ecx,%ebx - cmpl %esi,%edi - je L034enc_in_place -.align 2,0x90 -.long 2767451785 - jmp L035enc_skip_in_place -L034enc_in_place: - leal (%edi,%ecx,1),%edi -L035enc_skip_in_place: - movl %ebx,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2868115081 - movl 48(%esp),%edi - movl %edx,%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl $16,40(%esp) - jmp L033slow_enc_loop_x86 -.align 4,0x90 -L029slow_decrypt: - btl $25,52(%esp) - jnc L036slow_dec_loop_x86 -.align 2,0x90 -L037slow_dec_loop_sse: - movq (%esi),%mm0 - movq 8(%esi),%mm4 - movl 44(%esp),%edi - call __sse_AES_decrypt_compact - movl 32(%esp),%esi - leal 60(%esp),%eax - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl 48(%esp),%edi - movq (%esi),%mm1 - movq 8(%esi),%mm5 - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movq %mm1,(%edi) - movq %mm5,8(%edi) - subl $16,%ecx - jc L038slow_dec_partial_sse - movq %mm0,(%ebx) - movq %mm4,8(%ebx) - leal 16(%ebx),%ebx - movl %ebx,36(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - movl %ecx,40(%esp) - jnz L037slow_dec_loop_sse - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L038slow_dec_partial_sse: - movq %mm0,(%eax) - movq %mm4,8(%eax) - emms - addl $16,%ecx - movl %ebx,%edi - movl %eax,%esi -.align 2,0x90 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L036slow_dec_loop_x86: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call __x86_AES_decrypt_compact - movl 48(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - subl $16,%esi - jc L039slow_dec_partial_x86 - movl %esi,40(%esp) - movl 36(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - leal 16(%esi),%esi - movl %esi,32(%esp) - jnz L036slow_dec_loop_x86 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L039slow_dec_partial_x86: - leal 60(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 32(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl 36(%esp),%edi - leal 60(%esp),%esi -.align 2,0x90 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.type __x86_AES_set_encrypt_key,@function -.align 4 -__x86_AES_set_encrypt_key: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 24(%esp),%esi - movl 32(%esp),%edi - testl $-1,%esi - jz L040badpointer - testl $-1,%edi - jz L040badpointer - call L041pic_point -L041pic_point: - popl %ebp - leal LAES_Te-L041pic_point(%ebp),%ebp - leal 2176(%ebp),%ebp - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx - movl 28(%esp),%ecx - cmpl $128,%ecx - je L04210rounds - cmpl $192,%ecx - je L04312rounds - cmpl $256,%ecx - je L04414rounds - movl $-2,%eax - jmp L045exit -L04210rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - xorl %ecx,%ecx - jmp L04610shortcut -.align 2,0x90 -L04710loop: - movl (%edi),%eax - movl 12(%edi),%edx -L04610shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,16(%edi) - xorl 4(%edi),%eax - movl %eax,20(%edi) - xorl 8(%edi),%eax - movl %eax,24(%edi) - xorl 12(%edi),%eax - movl %eax,28(%edi) - incl %ecx - addl $16,%edi - cmpl $10,%ecx - jl L04710loop - movl $10,80(%edi) - xorl %eax,%eax - jmp L045exit -L04312rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%ecx - movl 20(%esi),%edx - movl %ecx,16(%edi) - movl %edx,20(%edi) - xorl %ecx,%ecx - jmp L04812shortcut -.align 2,0x90 -L04912loop: - movl (%edi),%eax - movl 20(%edi),%edx -L04812shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,24(%edi) - xorl 4(%edi),%eax - movl %eax,28(%edi) - xorl 8(%edi),%eax - movl %eax,32(%edi) - xorl 12(%edi),%eax - movl %eax,36(%edi) - cmpl $7,%ecx - je L05012break - incl %ecx - xorl 16(%edi),%eax - movl %eax,40(%edi) - xorl 20(%edi),%eax - movl %eax,44(%edi) - addl $24,%edi - jmp L04912loop -L05012break: - movl $12,72(%edi) - xorl %eax,%eax - jmp L045exit -L04414rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - movl %eax,16(%edi) - movl %ebx,20(%edi) - movl %ecx,24(%edi) - movl %edx,28(%edi) - xorl %ecx,%ecx - jmp L05114shortcut -.align 2,0x90 -L05214loop: - movl 28(%edi),%edx -L05114shortcut: - movl (%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,32(%edi) - xorl 4(%edi),%eax - movl %eax,36(%edi) - xorl 8(%edi),%eax - movl %eax,40(%edi) - xorl 12(%edi),%eax - movl %eax,44(%edi) - cmpl $6,%ecx - je L05314break - incl %ecx - movl %eax,%edx - movl 16(%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - movl %eax,48(%edi) - xorl 20(%edi),%eax - movl %eax,52(%edi) - xorl 24(%edi),%eax - movl %eax,56(%edi) - xorl 28(%edi),%eax - movl %eax,60(%edi) - addl $32,%edi - jmp L05214loop -L05314break: - movl $14,48(%edi) - xorl %eax,%eax - jmp L045exit -L040badpointer: - movl $-1,%eax -L045exit: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _AES_set_encrypt_key -.type _AES_set_encrypt_key,@function -.align 4 -_AES_set_encrypt_key: -L_AES_set_encrypt_key_begin: - call __x86_AES_set_encrypt_key - ret -.globl _AES_set_decrypt_key -.type _AES_set_decrypt_key,@function -.align 4 -_AES_set_decrypt_key: -L_AES_set_decrypt_key_begin: - call __x86_AES_set_encrypt_key - cmpl $0,%eax - je L054proceed - ret -L054proceed: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%esi - movl 240(%esi),%ecx - leal (,%ecx,4),%ecx - leal (%esi,%ecx,4),%edi -.align 2,0x90 -L055invert: - movl (%esi),%eax - movl 4(%esi),%ebx - movl (%edi),%ecx - movl 4(%edi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,(%esi) - movl %edx,4(%esi) - movl 8(%esi),%eax - movl 12(%esi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,8(%edi) - movl %ebx,12(%edi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - addl $16,%esi - subl $16,%edi - cmpl %edi,%esi - jne L055invert - movl 28(%esp),%edi - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,28(%esp) - movl 16(%edi),%eax -.align 2,0x90 -L056permute: - addl $16,%edi - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %eax,%ebx - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - xorl %eax,%ecx - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - roll $8,%eax - xorl %esi,%edx - movl 4(%edi),%ebp - xorl %ebx,%eax - xorl %edx,%ebx - xorl %ecx,%eax - roll $24,%ebx - xorl %edx,%ecx - xorl %edx,%eax - roll $16,%ecx - xorl %ebx,%eax - roll $8,%edx - xorl %ecx,%eax - movl %ebp,%ebx - xorl %edx,%eax - movl %eax,(%edi) - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - xorl %ebx,%edx - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - roll $8,%ebx - xorl %esi,%eax - movl 8(%edi),%ebp - xorl %ecx,%ebx - xorl %eax,%ecx - xorl %edx,%ebx - roll $24,%ecx - xorl %eax,%edx - xorl %eax,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%eax - xorl %edx,%ebx - movl %ebp,%ecx - xorl %eax,%ebx - movl %ebx,4(%edi) - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %ecx,%edx - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - xorl %ecx,%eax - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - roll $8,%ecx - xorl %esi,%ebx - movl 12(%edi),%ebp - xorl %edx,%ecx - xorl %ebx,%edx - xorl %eax,%ecx - roll $24,%edx - xorl %ebx,%eax - xorl %ebx,%ecx - roll $16,%eax - xorl %edx,%ecx - roll $8,%ebx - xorl %eax,%ecx - movl %ebp,%edx - xorl %ebx,%ecx - movl %ecx,8(%edi) - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %edx,%eax - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - xorl %edx,%ebx - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - roll $8,%edx - xorl %esi,%ecx - movl 16(%edi),%ebp - xorl %eax,%edx - xorl %ecx,%eax - xorl %ebx,%edx - roll $24,%eax - xorl %ecx,%ebx - xorl %ecx,%edx - roll $16,%ebx - xorl %eax,%edx - roll $8,%ecx - xorl %ebx,%edx - movl %ebp,%eax - xorl %ecx,%edx - movl %edx,12(%edi) - cmpl 28(%esp),%edi - jb L056permute - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.comm _OPENSSL_ia32cap_P,16 diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/buildinf.h index e3bc6a9e02edd8..96c786974c2af5 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: BSD-x86" -#define DATE "built on: Fri Sep 13 15:57:23 2019 UTC" +#define DATE "built on: Wed Mar 18 21:04:52 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -38,11 +38,12 @@ static const char compiler_flags[] = { ' ','-','D','S','H','A','5','1','2','_','A','S','M',' ','-','D', 'R','C','4','_','A','S','M',' ','-','D','M','D','5','_','A','S', 'M',' ','-','D','R','M','D','1','6','0','_','A','S','M',' ','-', - 'D','V','P','A','E','S','_','A','S','M',' ','-','D','W','H','I', - 'R','L','P','O','O','L','_','A','S','M',' ','-','D','G','H','A', - 'S','H','_','A','S','M',' ','-','D','E','C','P','_','N','I','S', - 'T','Z','2','5','6','_','A','S','M',' ','-','D','P','O','L','Y', - '1','3','0','5','_','A','S','M',' ','-','D','_','T','H','R','E', - 'A','D','_','S','A','F','E',' ','-','D','_','R','E','E','N','T', - 'R','A','N','T',' ','-','D','N','D','E','B','U','G','\0' + 'D','A','E','S','N','I','_','A','S','M',' ','-','D','V','P','A', + 'E','S','_','A','S','M',' ','-','D','W','H','I','R','L','P','O', + 'O','L','_','A','S','M',' ','-','D','G','H','A','S','H','_','A', + 'S','M',' ','-','D','E','C','P','_','N','I','S','T','Z','2','5', + '6','_','A','S','M',' ','-','D','P','O','L','Y','1','3','0','5', + '_','A','S','M',' ','-','D','_','T','H','R','E','A','D','_','S', + 'A','F','E',' ','-','D','_','R','E','E','N','T','R','A','N','T', + ' ','-','D','N','D','E','B','U','G','\0' }; diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/ec/ecp_nistz256-x86.s b/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/ec/ecp_nistz256-x86.s index 569a636888684a..5299520882c6cd 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/ec/ecp_nistz256-x86.s +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/ec/ecp_nistz256-x86.s @@ -4405,19 +4405,15 @@ L009pic: orl 4(%edi),%eax orl 8(%edi),%eax orl 12(%edi),%eax + movl 576(%esp),%ebx + notl %ebx + orl %ebx,%eax + movl 580(%esp),%ebx + notl %ebx + orl %ebx,%eax + orl 584(%esp),%eax .byte 62 jnz L010add_proceed - movl 576(%esp),%eax - andl 580(%esp),%eax - movl 584(%esp),%ebx - jz L010add_proceed - testl %ebx,%ebx - jz L011add_double - movl 616(%esp),%edi - xorl %eax,%eax - movl $24,%ecx -.byte 252,243,171 - jmp L012add_done .align 4,0x90 L011add_double: movl 620(%esp),%esi diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/opensslconf.h index dbeaee16f18f92..febd51aca07f47 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/opensslconf.h @@ -93,9 +93,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/include/progs.h b/deps/openssl/config/archs/BSD-x86/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/openssl-cl.gypi b/deps/openssl/config/archs/BSD-x86/asm_avx2/openssl-cl.gypi index 96efa1c4bb1118..55742c5a7dfc39 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/openssl-cl.gypi +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/openssl-cl.gypi @@ -15,6 +15,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/openssl.gypi b/deps/openssl/config/archs/BSD-x86/asm_avx2/openssl.gypi index 0645934ea717a8..86277a3f35ea43 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/openssl.gypi +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/openssl.gypi @@ -713,6 +713,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/BSD-x86/no-asm/configdata.pm b/deps/openssl/config/archs/BSD-x86/no-asm/configdata.pm index c406c0cc9873b8..c8fd824b7fa837 100644 --- a/deps/openssl/config/archs/BSD-x86/no-asm/configdata.pm +++ b/deps/openssl/config/archs/BSD-x86/no-asm/configdata.pm @@ -54,7 +54,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -110,8 +110,8 @@ our %config = ( sourcedir => ".", target => "BSD-x86", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -232,6 +232,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -349,8 +350,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -618,14 +619,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -701,6 +694,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1490,6 +1491,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3209,7 +3216,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3217,6 +3223,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3715,14 +3722,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4163,6 +4162,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4845,49 +4852,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4909,7 +4908,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4923,613 +4921,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5547,188 +5443,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5758,13 +5623,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5774,43 +5637,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5820,31 +5676,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5862,278 +5713,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6143,301 +5948,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6445,7 +6200,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6453,7 +6207,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6461,7 +6214,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6469,7 +6221,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6477,7 +6228,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6485,163 +6235,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6659,229 +6382,191 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_devcrypto.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6889,21 +6574,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6911,13 +6593,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6925,81 +6605,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7007,328 +6674,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7338,85 +6944,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7439,361 +7031,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7815,259 +7347,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8077,31 +7566,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8111,7 +7595,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8137,13 +7620,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8169,7 +7650,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8195,709 +7675,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8948,6 +8310,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9192,7 +8562,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9518,7 +8887,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9564,7 +8932,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9630,7 +8997,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9655,7 +9021,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9753,7 +9118,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9803,18 +9167,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9825,6 +9186,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9888,10 +9253,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9920,6 +9281,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10184,6 +9549,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15079,7 +14445,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15087,6 +14452,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15314,6 +14680,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15416,10 +14790,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15448,6 +14818,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/BSD-x86/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/BSD-x86/no-asm/crypto/buildinf.h index c1c537b3fb0604..4d7a6c77c175cd 100644 --- a/deps/openssl/config/archs/BSD-x86/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/BSD-x86/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: BSD-x86" -#define DATE "built on: Fri Sep 13 15:57:29 2019 UTC" +#define DATE "built on: Wed Mar 18 21:04:56 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/BSD-x86/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/BSD-x86/no-asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/BSD-x86/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/BSD-x86/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/BSD-x86/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/BSD-x86/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/BSD-x86/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/BSD-x86/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/opensslconf.h index bc67d870590f21..435e0e58ef14a2 100644 --- a/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/BSD-x86/no-asm/include/progs.h b/deps/openssl/config/archs/BSD-x86/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/BSD-x86/no-asm/include/progs.h +++ b/deps/openssl/config/archs/BSD-x86/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/configdata.pm b/deps/openssl/config/archs/BSD-x86_64/asm/configdata.pm index 958b30cc6a1612..49248aba5ea4b1 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/configdata.pm +++ b/deps/openssl/config/archs/BSD-x86_64/asm/configdata.pm @@ -48,14 +48,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "AESNI_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)gcc", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "BSD-x86_64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -236,6 +236,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -352,8 +353,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -621,14 +622,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -704,6 +697,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1501,6 +1502,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3256,7 +3263,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3264,6 +3270,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3762,14 +3769,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4210,6 +4209,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4904,49 +4911,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4956,25 +4955,21 @@ our %unified_info = ( "crypto/aes/aesni-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4992,13 +4987,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -5012,613 +5005,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5632,7 +5523,6 @@ our %unified_info = ( "crypto/bn/asm/x86_64-gcc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5642,182 +5532,152 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5827,19 +5687,16 @@ our %unified_info = ( "crypto/bn/rsaz-avx2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz_exp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5865,31 +5722,26 @@ our %unified_info = ( "crypto/bn/x86_64-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont5.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5899,37 +5751,31 @@ our %unified_info = ( "crypto/camellia/cmll-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5939,31 +5785,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5981,278 +5822,232 @@ our %unified_info = ( "crypto/chacha/chacha-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6262,301 +6057,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6564,7 +6309,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6572,7 +6316,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6580,7 +6323,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6588,7 +6330,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6596,7 +6337,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6604,163 +6344,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6778,247 +6491,206 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_devcrypto.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7026,21 +6698,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7048,13 +6717,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7062,81 +6729,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7144,328 +6798,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7475,91 +7068,76 @@ our %unified_info = ( "crypto/md5/md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/aesni-gcm-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7578,7 +7156,6 @@ our %unified_info = ( "crypto/modes/ghash-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7588,361 +7165,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7964,265 +7481,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8232,31 +7705,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8266,7 +7734,6 @@ our %unified_info = ( "crypto/sha/keccak1600-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8280,7 +7747,6 @@ our %unified_info = ( "crypto/sha/sha1-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-mips.o" => @@ -8298,19 +7764,16 @@ our %unified_info = ( "crypto/sha/sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8324,7 +7787,6 @@ our %unified_info = ( "crypto/sha/sha256-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-mips.o" => @@ -8342,13 +7804,11 @@ our %unified_info = ( "crypto/sha/sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8374,727 +7834,606 @@ our %unified_info = ( "crypto/sha/sha512-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86_64cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86_64.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9145,6 +8484,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9389,7 +8736,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9715,7 +9061,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9761,7 +9106,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9827,7 +9171,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9852,7 +9195,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9950,7 +9292,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -10000,18 +9341,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -10022,6 +9360,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10085,10 +9427,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10117,6 +9455,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10381,6 +9723,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15391,7 +14734,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15399,6 +14741,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15626,6 +14969,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15728,10 +15079,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15760,6 +15107,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aes-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aes-x86_64.s deleted file mode 100644 index f0c1685fb93450..00000000000000 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aes-x86_64.s +++ /dev/null @@ -1,2649 +0,0 @@ -.text -.type _x86_64_AES_encrypt,@function -.align 16 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Lenc_loop -.align 16 -.Lenc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz .Lenc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_encrypt,.-_x86_64_AES_encrypt -.type _x86_64_AES_encrypt_compact,@function -.align 16 -_x86_64_AES_encrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Lenc_loop_compact -.align 16 -.Lenc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Lenc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp .Lenc_loop_compact -.align 16 -.Lenc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact -.globl AES_encrypt -.type AES_encrypt,@function -.align 16 -.globl asm_AES_encrypt -.hidden asm_AES_encrypt -asm_AES_encrypt: -AES_encrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Lenc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lenc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_encrypt,.-AES_encrypt -.type _x86_64_AES_decrypt,@function -.align 16 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Ldec_loop -.align 16 -.Ldec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz .Ldec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_decrypt,.-_x86_64_AES_decrypt -.type _x86_64_AES_decrypt_compact,@function -.align 16 -_x86_64_AES_decrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Ldec_loop_compact - -.align 16 -.Ldec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Ldec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp .Ldec_loop_compact -.align 16 -.Ldec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact -.globl AES_decrypt -.type AES_decrypt,@function -.align 16 -.globl asm_AES_decrypt -.hidden asm_AES_decrypt -asm_AES_decrypt: -AES_decrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Ldec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Ldec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_decrypt,.-AES_decrypt -.globl AES_set_encrypt_key -.type AES_set_encrypt_key,@function -.align 16 -AES_set_encrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $8,%rsp -.cfi_adjust_cfa_offset 8 -.Lenc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Lenc_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_encrypt_key,.-AES_set_encrypt_key - -.type _x86_64_AES_set_encrypt_key,@function -.align 16 -_x86_64_AES_set_encrypt_key: -.cfi_startproc - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz .Lbadpointer - testq $-1,%rdi - jz .Lbadpointer - - leaq .LAES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je .L10rounds - cmpl $192,%ecx - je .L12rounds - cmpl $256,%ecx - je .L14rounds - movq $-2,%rax - jmp .Lexit - -.L10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L10shortcut -.align 4 -.L10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -.L10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl .L10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L12shortcut -.align 4 -.L12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -.L12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je .L12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp .L12loop -.L12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L14shortcut -.align 4 -.L14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -.L14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je .L14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp .L14loop -.L14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp .Lexit - -.Lbadpointer: - movq $-1,%rax -.Lexit: -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key -.globl AES_set_decrypt_key -.type AES_set_decrypt_key,@function -.align 16 -AES_set_decrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - pushq %rdx -.cfi_adjust_cfa_offset 8 -.Ldec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne .Labort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.align 4 -.Linvert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne .Linvert - - leaq .LAES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.align 4 -.Lpermute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz .Lpermute - - xorq %rax,%rax -.Labort: - movq 8(%rsp),%r15 -.cfi_restore %r15 - movq 16(%rsp),%r14 -.cfi_restore %r14 - movq 24(%rsp),%r13 -.cfi_restore %r13 - movq 32(%rsp),%r12 -.cfi_restore %r12 - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Ldec_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_decrypt_key,.-AES_set_decrypt_key -.globl AES_cbc_encrypt -.type AES_cbc_encrypt,@function -.align 16 - -.globl asm_AES_cbc_encrypt -.hidden asm_AES_cbc_encrypt -asm_AES_cbc_encrypt: -AES_cbc_encrypt: -.cfi_startproc - cmpq $0,%rdx - je .Lcbc_epilogue - pushfq - - -.cfi_adjust_cfa_offset 8 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-32 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-40 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-48 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-56 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-64 -.Lcbc_prologue: - - cld - movl %r9d,%r9d - - leaq .LAES_Te(%rip),%r14 - leaq .LAES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - -.cfi_remember_state - movl OPENSSL_ia32cap_P(%rip),%r10d - cmpq $512,%rdx - jb .Lcbc_slow_prologue - testq $15,%rdx - jnz .Lcbc_slow_prologue - btl $28,%r10d - jc .Lcbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb .Lcbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp .Lcbc_te_ok -.Lcbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.align 4 -.Lcbc_te_ok: - - xchgq %rsp,%r15 -.cfi_def_cfa_register %r15 - - movq %r15,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb .Lcbc_do_ecopy - cmpq $4096-248,%r10 - jb .Lcbc_skip_ecopy -.align 4 -.Lcbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -.Lcbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.align 4 -.Lcbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz .Lcbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je .LFAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.align 4 -.Lcbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz .Lcbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_fast_cleanup - - -.align 16 -.LFAST_DECRYPT: - cmpq %r8,%r9 - je .Lcbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.align 4 -.Lcbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz .Lcbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp .Lcbc_fast_cleanup - -.align 16 -.Lcbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.align 4 -.Lcbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz .Lcbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp .Lcbc_fast_dec_in_place_loop -.Lcbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.align 4 -.Lcbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je .Lcbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp .Lcbc_exit - - -.align 16 -.Lcbc_slow_prologue: -.cfi_restore_state - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp -.cfi_def_cfa_register %rbp - - movq %rbp,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je .LSLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz .Lcbc_slow_enc_tail - -.align 4 -.Lcbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz .Lcbc_slow_enc_loop - testq $15,%r10 - jnz .Lcbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp .Lcbc_slow_enc_loop - -.align 16 -.LSLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.align 4 -.Lcbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc .Lcbc_slow_dec_partial - jz .Lcbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp .Lcbc_slow_dec_loop -.Lcbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp .Lcbc_exit - -.align 16 -.Lcbc_exit: - movq 16(%rsp),%rsi -.cfi_def_cfa %rsi,64 - movq (%rsi),%r15 -.cfi_restore %r15 - movq 8(%rsi),%r14 -.cfi_restore %r14 - movq 16(%rsi),%r13 -.cfi_restore %r13 - movq 24(%rsi),%r12 -.cfi_restore %r12 - movq 32(%rsi),%rbp -.cfi_restore %rbp - movq 40(%rsi),%rbx -.cfi_restore %rbx - leaq 48(%rsi),%rsp -.cfi_def_cfa %rsp,16 -.Lcbc_popfq: - popfq - - -.cfi_adjust_cfa_offset -8 -.Lcbc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_cbc_encrypt,.-AES_cbc_encrypt -.align 64 -.LAES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.align 64 -.LAES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aesni-sha1-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aesni-sha1-x86_64.s index 4d2dfe44898fd5..978bd2b6239c15 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aesni-sha1-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha1_enc,@function .align 32 aesni_cbc_sha1_enc: +.cfi_startproc movl OPENSSL_ia32cap_P+0(%rip),%r10d movq OPENSSL_ia32cap_P+4(%rip),%r11 @@ -17,6 +18,7 @@ aesni_cbc_sha1_enc: je aesni_cbc_sha1_enc_avx jmp aesni_cbc_sha1_enc_ssse3 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc .type aesni_cbc_sha1_enc_ssse3,@function .align 32 @@ -2730,6 +2732,7 @@ K_XX_XX: .type aesni_cbc_sha1_enc_shaext,@function .align 32 aesni_cbc_sha1_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 movdqu (%r9),%xmm8 movd 16(%r9),%xmm9 @@ -3028,4 +3031,5 @@ aesni_cbc_sha1_enc_shaext: movdqu %xmm8,(%r9) movd %xmm9,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aesni-sha256-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aesni-sha256-x86_64.s index 5a47b3ee51b741..dd09f1b290af62 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aesni-sha256-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aesni-sha256-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha256_enc,@function .align 16 aesni_cbc_sha256_enc: +.cfi_startproc leaq OPENSSL_ia32cap_P(%rip),%r11 movl $1,%eax cmpq $0,%rdi @@ -30,6 +31,7 @@ aesni_cbc_sha256_enc: ud2 .Lprobe: .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc,.-aesni_cbc_sha256_enc .align 64 @@ -2528,7 +2530,15 @@ aesni_cbc_sha256_enc_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 120(%rsp),%rsi +.cfi_def_cfa %rsi,8 leaq -64(%rsp),%rsp + + + + movq %rsi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%esi vmovdqa %ymm6,0(%rsp) xorl %ecx,%esi @@ -2542,6 +2552,12 @@ aesni_cbc_sha256_enc_avx2: vmovdqu (%r13),%xmm9 vpinsrq $0,%r13,%xmm15,%xmm15 leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -2816,6 +2832,12 @@ aesni_cbc_sha256_enc_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4029,10 +4051,12 @@ aesni_cbc_sha256_enc_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xf8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 64+32(%rsp),%r8 - movq 120(%rsp),%rsi + movq 64+32(%rbp),%r8 + movq 64+56(%rbp),%rsi .cfi_def_cfa %rsi,8 vmovdqu %xmm8,(%r8) vzeroall @@ -4057,6 +4081,7 @@ aesni_cbc_sha256_enc_avx2: .type aesni_cbc_sha256_enc_shaext,@function .align 32 aesni_cbc_sha256_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 leaq K256+128(%rip),%rax movdqu (%r9),%xmm1 @@ -4406,4 +4431,5 @@ aesni_cbc_sha256_enc_shaext: movdqu %xmm1,(%r9) movdqu %xmm2,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc_shaext,.-aesni_cbc_sha256_enc_shaext diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aesni-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aesni-x86_64.s index 2986a647c1bb05..c1e791eff59235 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aesni-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/aesni-x86_64.s @@ -861,6 +861,7 @@ aesni_ecb_encrypt: .type aesni_ccm64_encrypt_blocks,@function .align 16 aesni_ccm64_encrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movdqu (%r8),%xmm6 movdqa .Lincrement64(%rip),%xmm9 @@ -919,11 +920,13 @@ aesni_ccm64_encrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks .globl aesni_ccm64_decrypt_blocks .type aesni_ccm64_decrypt_blocks,@function .align 16 aesni_ccm64_decrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movups (%r8),%xmm6 movdqu (%r9),%xmm3 @@ -1016,6 +1019,7 @@ aesni_ccm64_decrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks .globl aesni_ctr32_encrypt_blocks .type aesni_ctr32_encrypt_blocks,@function @@ -2790,6 +2794,7 @@ aesni_ocb_encrypt: .type __ocb_encrypt6,@function .align 32 __ocb_encrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2887,11 +2892,13 @@ __ocb_encrypt6: .byte 102,65,15,56,221,246 .byte 102,65,15,56,221,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt6,.-__ocb_encrypt6 .type __ocb_encrypt4,@function .align 32 __ocb_encrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2956,11 +2963,13 @@ __ocb_encrypt4: .byte 102,65,15,56,221,228 .byte 102,65,15,56,221,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt4,.-__ocb_encrypt4 .type __ocb_encrypt1,@function .align 32 __ocb_encrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm2,%xmm8 @@ -2991,6 +3000,7 @@ __ocb_encrypt1: .byte 102,15,56,221,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt1,.-__ocb_encrypt1 .globl aesni_ocb_decrypt @@ -3233,6 +3243,7 @@ aesni_ocb_decrypt: .type __ocb_decrypt6,@function .align 32 __ocb_decrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3324,11 +3335,13 @@ __ocb_decrypt6: .byte 102,65,15,56,223,246 .byte 102,65,15,56,223,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt6,.-__ocb_decrypt6 .type __ocb_decrypt4,@function .align 32 __ocb_decrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3389,11 +3402,13 @@ __ocb_decrypt4: .byte 102,65,15,56,223,228 .byte 102,65,15,56,223,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt4,.-__ocb_decrypt4 .type __ocb_decrypt1,@function .align 32 __ocb_decrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm7,%xmm2 @@ -3423,6 +3438,7 @@ __ocb_decrypt1: .byte 102,15,56,223,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt1,.-__ocb_decrypt1 .globl aesni_cbc_encrypt .type aesni_cbc_encrypt,@function @@ -4361,7 +4377,6 @@ __aesni_set_encrypt_key: addq $8,%rsp .cfi_adjust_cfa_offset -8 .byte 0xf3,0xc3 -.cfi_endproc .LSEH_end_set_encrypt_key: .align 16 @@ -4432,6 +4447,7 @@ __aesni_set_encrypt_key: shufps $170,%xmm1,%xmm1 xorps %xmm1,%xmm2 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_set_encrypt_key,.-aesni_set_encrypt_key .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key .align 64 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/bsaes-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/bsaes-x86_64.s deleted file mode 100644 index e1f3abadbc7214..00000000000000 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/aes/bsaes-x86_64.s +++ /dev/null @@ -1,2595 +0,0 @@ -.text - - - - -.type _bsaes_encrypt8,@function -.align 64 -_bsaes_encrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa 80(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 -_bsaes_encrypt8_bitslice: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Lenc_sbox -.align 16 -.Lenc_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Lenc_sbox: - pxor %xmm5,%xmm4 - pxor %xmm0,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm1,%xmm5 - pxor %xmm15,%xmm4 - - pxor %xmm2,%xmm5 - pxor %xmm6,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm3,%xmm2 - pxor %xmm4,%xmm3 - pxor %xmm0,%xmm2 - - pxor %xmm6,%xmm1 - pxor %xmm4,%xmm0 - movdqa %xmm6,%xmm10 - movdqa %xmm0,%xmm9 - movdqa %xmm4,%xmm8 - movdqa %xmm1,%xmm12 - movdqa %xmm5,%xmm11 - - pxor %xmm3,%xmm10 - pxor %xmm1,%xmm9 - pxor %xmm2,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm3,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm15,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm2,%xmm11 - pxor %xmm15,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm6,%xmm12 - movdqa %xmm4,%xmm11 - pxor %xmm0,%xmm12 - pxor %xmm5,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm1,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm3,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm0,%xmm13 - pand %xmm2,%xmm11 - movdqa %xmm6,%xmm14 - pand %xmm15,%xmm12 - pand %xmm4,%xmm13 - por %xmm5,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm5,%xmm11 - movdqa %xmm4,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm5,%xmm9 - pxor %xmm4,%xmm5 - pand %xmm14,%xmm4 - pand %xmm13,%xmm5 - pxor %xmm4,%xmm5 - pxor %xmm9,%xmm4 - pxor %xmm15,%xmm11 - pxor %xmm2,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm2,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm2 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm2,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm2 - pxor %xmm11,%xmm5 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm2 - - movdqa %xmm6,%xmm11 - movdqa %xmm0,%xmm7 - pxor %xmm3,%xmm11 - pxor %xmm1,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm3,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm1,%xmm3 - pand %xmm14,%xmm7 - pand %xmm12,%xmm1 - pand %xmm13,%xmm11 - pand %xmm8,%xmm3 - pxor %xmm11,%xmm7 - pxor %xmm1,%xmm3 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm1 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm6,%xmm10 - pxor %xmm0,%xmm6 - pand %xmm14,%xmm0 - pand %xmm13,%xmm6 - pxor %xmm0,%xmm6 - pxor %xmm10,%xmm0 - pxor %xmm11,%xmm6 - pxor %xmm11,%xmm3 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm1 - pxor %xmm15,%xmm6 - pxor %xmm5,%xmm0 - pxor %xmm6,%xmm3 - pxor %xmm15,%xmm5 - pxor %xmm0,%xmm15 - - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm4 - pxor %xmm2,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm4,%xmm3 - - pxor %xmm2,%xmm5 - decl %r10d - jl .Lenc_done - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm3,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm5,%xmm10 - pxor %xmm9,%xmm3 - pshufd $0x93,%xmm2,%xmm11 - pxor %xmm10,%xmm5 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm2 - pshufd $0x93,%xmm1,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm1 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm2,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm5,%xmm11 - pshufd $0x4E,%xmm2,%xmm7 - pxor %xmm1,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm3,%xmm10 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm1,%xmm5 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm12,%xmm8 - pxor %xmm10,%xmm2 - pxor %xmm14,%xmm6 - pxor %xmm13,%xmm5 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm1 - movdqa %xmm8,%xmm4 - movdqa 48(%r11),%xmm7 - jnz .Lenc_loop - movdqa 64(%r11),%xmm7 - jmp .Lenc_loop -.align 16 -.Lenc_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm2,%xmm10 - psrlq $1,%xmm2 - pxor %xmm4,%xmm1 - pxor %xmm6,%xmm2 - pand %xmm7,%xmm1 - pand %xmm7,%xmm2 - pxor %xmm1,%xmm4 - psllq $1,%xmm1 - pxor %xmm2,%xmm6 - psllq $1,%xmm2 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm2 - movdqa %xmm3,%xmm9 - psrlq $1,%xmm3 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm5,%xmm3 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm3 - pand %xmm7,%xmm15 - pxor %xmm3,%xmm5 - psllq $1,%xmm3 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm2,%xmm10 - psrlq $2,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm1,%xmm2 - pand %xmm8,%xmm6 - pand %xmm8,%xmm2 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm2,%xmm1 - psllq $2,%xmm2 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm2 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm5,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm5 - psllq $2,%xmm0 - pxor %xmm15,%xmm3 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm5,%xmm9 - psrlq $4,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $4,%xmm3 - pxor %xmm4,%xmm5 - pxor %xmm1,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm4 - psllq $4,%xmm5 - pxor %xmm3,%xmm1 - psllq $4,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm2,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm2 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_encrypt8,.-_bsaes_encrypt8 - -.type _bsaes_decrypt8,@function -.align 64 -_bsaes_decrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa -48(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Ldec_sbox -.align 16 -.Ldec_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Ldec_sbox: - pxor %xmm3,%xmm2 - - pxor %xmm6,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm3,%xmm5 - pxor %xmm5,%xmm6 - pxor %xmm6,%xmm0 - - pxor %xmm0,%xmm15 - pxor %xmm4,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm15,%xmm4 - pxor %xmm2,%xmm0 - movdqa %xmm2,%xmm10 - movdqa %xmm6,%xmm9 - movdqa %xmm0,%xmm8 - movdqa %xmm3,%xmm12 - movdqa %xmm4,%xmm11 - - pxor %xmm15,%xmm10 - pxor %xmm3,%xmm9 - pxor %xmm5,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm15,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm1,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm5,%xmm11 - pxor %xmm1,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm2,%xmm12 - movdqa %xmm0,%xmm11 - pxor %xmm6,%xmm12 - pxor %xmm4,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm3,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm15,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm6,%xmm13 - pand %xmm5,%xmm11 - movdqa %xmm2,%xmm14 - pand %xmm1,%xmm12 - pand %xmm0,%xmm13 - por %xmm4,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm4,%xmm11 - movdqa %xmm0,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm4,%xmm9 - pxor %xmm0,%xmm4 - pand %xmm14,%xmm0 - pand %xmm13,%xmm4 - pxor %xmm0,%xmm4 - pxor %xmm9,%xmm0 - pxor %xmm1,%xmm11 - pxor %xmm5,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm1,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm5,%xmm1 - pand %xmm14,%xmm7 - pand %xmm12,%xmm5 - pand %xmm13,%xmm11 - pand %xmm8,%xmm1 - pxor %xmm11,%xmm7 - pxor %xmm5,%xmm1 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm5 - pxor %xmm11,%xmm4 - pxor %xmm11,%xmm1 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm5 - - movdqa %xmm2,%xmm11 - movdqa %xmm6,%xmm7 - pxor %xmm15,%xmm11 - pxor %xmm3,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm3,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm3 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm3,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm3 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm2,%xmm10 - pxor %xmm6,%xmm2 - pand %xmm14,%xmm6 - pand %xmm13,%xmm2 - pxor %xmm6,%xmm2 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm3 - pxor %xmm6,%xmm0 - pxor %xmm4,%xmm5 - - pxor %xmm0,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm6,%xmm4 - pxor %xmm1,%xmm3 - pxor %xmm15,%xmm6 - pxor %xmm4,%xmm3 - pxor %xmm5,%xmm2 - pxor %xmm0,%xmm5 - pxor %xmm3,%xmm2 - - pxor %xmm15,%xmm3 - pxor %xmm2,%xmm6 - decl %r10d - jl .Ldec_done - - pshufd $0x4E,%xmm15,%xmm7 - pshufd $0x4E,%xmm2,%xmm13 - pxor %xmm15,%xmm7 - pshufd $0x4E,%xmm4,%xmm14 - pxor %xmm2,%xmm13 - pshufd $0x4E,%xmm0,%xmm8 - pxor %xmm4,%xmm14 - pshufd $0x4E,%xmm5,%xmm9 - pxor %xmm0,%xmm8 - pshufd $0x4E,%xmm3,%xmm10 - pxor %xmm5,%xmm9 - pxor %xmm13,%xmm15 - pxor %xmm13,%xmm0 - pshufd $0x4E,%xmm1,%xmm11 - pxor %xmm3,%xmm10 - pxor %xmm7,%xmm5 - pxor %xmm8,%xmm3 - pshufd $0x4E,%xmm6,%xmm12 - pxor %xmm1,%xmm11 - pxor %xmm14,%xmm0 - pxor %xmm9,%xmm1 - pxor %xmm6,%xmm12 - - pxor %xmm14,%xmm5 - pxor %xmm13,%xmm3 - pxor %xmm13,%xmm1 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm14,%xmm1 - pxor %xmm14,%xmm6 - pxor %xmm12,%xmm4 - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm5,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm3,%xmm10 - pxor %xmm9,%xmm5 - pshufd $0x93,%xmm1,%xmm11 - pxor %xmm10,%xmm3 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm1 - pshufd $0x93,%xmm2,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm2 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm1,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm3,%xmm11 - pshufd $0x4E,%xmm1,%xmm7 - pxor %xmm2,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm5,%xmm10 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm2,%xmm3 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm12,%xmm8 - pxor %xmm1,%xmm10 - pxor %xmm14,%xmm6 - pxor %xmm3,%xmm13 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm2 - movdqa %xmm13,%xmm5 - movdqa %xmm8,%xmm4 - movdqa %xmm2,%xmm1 - movdqa %xmm10,%xmm2 - movdqa -16(%r11),%xmm7 - jnz .Ldec_loop - movdqa -32(%r11),%xmm7 - jmp .Ldec_loop -.align 16 -.Ldec_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm2,%xmm9 - psrlq $1,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $1,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm6,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm4 - psllq $1,%xmm2 - pxor %xmm1,%xmm6 - psllq $1,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm3,%xmm5 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm5 - pand %xmm7,%xmm15 - pxor %xmm5,%xmm3 - psllq $1,%xmm5 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm1,%xmm10 - psrlq $2,%xmm1 - pxor %xmm4,%xmm6 - pxor %xmm2,%xmm1 - pand %xmm8,%xmm6 - pand %xmm8,%xmm1 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm1,%xmm2 - psllq $2,%xmm1 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm3,%xmm0 - pxor %xmm5,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm3 - psllq $2,%xmm0 - pxor %xmm15,%xmm5 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm3,%xmm9 - psrlq $4,%xmm3 - movdqa %xmm5,%xmm10 - psrlq $4,%xmm5 - pxor %xmm4,%xmm3 - pxor %xmm2,%xmm5 - pand %xmm7,%xmm3 - pand %xmm7,%xmm5 - pxor %xmm3,%xmm4 - psllq $4,%xmm3 - pxor %xmm5,%xmm2 - psllq $4,%xmm5 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm5 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm1 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_decrypt8,.-_bsaes_decrypt8 -.type _bsaes_key_convert,@function -.align 16 -_bsaes_key_convert: -.cfi_startproc - leaq .Lmasks(%rip),%r11 - movdqu (%rcx),%xmm7 - leaq 16(%rcx),%rcx - movdqa 0(%r11),%xmm0 - movdqa 16(%r11),%xmm1 - movdqa 32(%r11),%xmm2 - movdqa 48(%r11),%xmm3 - movdqa 64(%r11),%xmm4 - pcmpeqd %xmm5,%xmm5 - - movdqu (%rcx),%xmm6 - movdqa %xmm7,(%rax) - leaq 16(%rax),%rax - decl %r10d - jmp .Lkey_loop -.align 16 -.Lkey_loop: -.byte 102,15,56,0,244 - - movdqa %xmm0,%xmm8 - movdqa %xmm1,%xmm9 - - pand %xmm6,%xmm8 - pand %xmm6,%xmm9 - movdqa %xmm2,%xmm10 - pcmpeqb %xmm0,%xmm8 - psllq $4,%xmm0 - movdqa %xmm3,%xmm11 - pcmpeqb %xmm1,%xmm9 - psllq $4,%xmm1 - - pand %xmm6,%xmm10 - pand %xmm6,%xmm11 - movdqa %xmm0,%xmm12 - pcmpeqb %xmm2,%xmm10 - psllq $4,%xmm2 - movdqa %xmm1,%xmm13 - pcmpeqb %xmm3,%xmm11 - psllq $4,%xmm3 - - movdqa %xmm2,%xmm14 - movdqa %xmm3,%xmm15 - pxor %xmm5,%xmm8 - pxor %xmm5,%xmm9 - - pand %xmm6,%xmm12 - pand %xmm6,%xmm13 - movdqa %xmm8,0(%rax) - pcmpeqb %xmm0,%xmm12 - psrlq $4,%xmm0 - movdqa %xmm9,16(%rax) - pcmpeqb %xmm1,%xmm13 - psrlq $4,%xmm1 - leaq 16(%rcx),%rcx - - pand %xmm6,%xmm14 - pand %xmm6,%xmm15 - movdqa %xmm10,32(%rax) - pcmpeqb %xmm2,%xmm14 - psrlq $4,%xmm2 - movdqa %xmm11,48(%rax) - pcmpeqb %xmm3,%xmm15 - psrlq $4,%xmm3 - movdqu (%rcx),%xmm6 - - pxor %xmm5,%xmm13 - pxor %xmm5,%xmm14 - movdqa %xmm12,64(%rax) - movdqa %xmm13,80(%rax) - movdqa %xmm14,96(%rax) - movdqa %xmm15,112(%rax) - leaq 128(%rax),%rax - decl %r10d - jnz .Lkey_loop - - movdqa 80(%r11),%xmm7 - - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_key_convert,.-_bsaes_key_convert - -.globl bsaes_cbc_encrypt -.type bsaes_cbc_encrypt,@function -.align 16 -bsaes_cbc_encrypt: -.cfi_startproc - cmpl $0,%r9d - jne asm_AES_cbc_encrypt - cmpq $128,%rdx - jb asm_AES_cbc_encrypt - - movq %rsp,%rax -.Lcbc_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movq %r8,%rbx - shrq $4,%r14 - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - movdqu (%rbx),%xmm14 - subq $8,%r14 -.Lcbc_dec_loop: - movdqu 0(%r12),%xmm15 - movdqu 16(%r12),%xmm0 - movdqu 32(%r12),%xmm1 - movdqu 48(%r12),%xmm2 - movdqu 64(%r12),%xmm3 - movdqu 80(%r12),%xmm4 - movq %rsp,%rax - movdqu 96(%r12),%xmm5 - movl %edx,%r10d - movdqu 112(%r12),%xmm6 - movdqa %xmm14,32(%rbp) - - call _bsaes_decrypt8 - - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm2 - movdqu 112(%r12),%xmm14 - pxor %xmm13,%xmm4 - movdqu %xmm15,0(%r13) - leaq 128(%r12),%r12 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - subq $8,%r14 - jnc .Lcbc_dec_loop - - addq $8,%r14 - jz .Lcbc_dec_done - - movdqu 0(%r12),%xmm15 - movq %rsp,%rax - movl %edx,%r10d - cmpq $2,%r14 - jb .Lcbc_dec_one - movdqu 16(%r12),%xmm0 - je .Lcbc_dec_two - movdqu 32(%r12),%xmm1 - cmpq $4,%r14 - jb .Lcbc_dec_three - movdqu 48(%r12),%xmm2 - je .Lcbc_dec_four - movdqu 64(%r12),%xmm3 - cmpq $6,%r14 - jb .Lcbc_dec_five - movdqu 80(%r12),%xmm4 - je .Lcbc_dec_six - movdqu 96(%r12),%xmm5 - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm14 - pxor %xmm12,%xmm2 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_six: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm14 - pxor %xmm11,%xmm6 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_five: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm14 - pxor %xmm10,%xmm1 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_four: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm14 - pxor %xmm9,%xmm3 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_three: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm14 - pxor %xmm8,%xmm5 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_two: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm14 - pxor %xmm7,%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_one: - leaq (%r12),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm14 - movdqu %xmm14,(%r13) - movdqa %xmm15,%xmm14 - -.Lcbc_dec_done: - movdqu %xmm14,(%rbx) - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lcbc_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lcbc_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lcbc_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_cbc_encrypt,.-bsaes_cbc_encrypt - -.globl bsaes_ctr32_encrypt_blocks -.type bsaes_ctr32_encrypt_blocks,@function -.align 16 -bsaes_ctr32_encrypt_blocks: -.cfi_startproc - movq %rsp,%rax -.Lctr_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movdqu (%r8),%xmm0 - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movdqa %xmm0,32(%rbp) - cmpq $8,%rdx - jb .Lctr_enc_short - - movl %eax,%ebx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %ebx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - movdqa (%rsp),%xmm8 - leaq .LADD1(%rip),%r11 - movdqa 32(%rbp),%xmm15 - movdqa -32(%r11),%xmm7 -.byte 102,68,15,56,0,199 -.byte 102,68,15,56,0,255 - movdqa %xmm8,(%rsp) - jmp .Lctr_enc_loop -.align 16 -.Lctr_enc_loop: - movdqa %xmm15,32(%rbp) - movdqa %xmm15,%xmm0 - movdqa %xmm15,%xmm1 - paddd 0(%r11),%xmm0 - movdqa %xmm15,%xmm2 - paddd 16(%r11),%xmm1 - movdqa %xmm15,%xmm3 - paddd 32(%r11),%xmm2 - movdqa %xmm15,%xmm4 - paddd 48(%r11),%xmm3 - movdqa %xmm15,%xmm5 - paddd 64(%r11),%xmm4 - movdqa %xmm15,%xmm6 - paddd 80(%r11),%xmm5 - paddd 96(%r11),%xmm6 - - - - movdqa (%rsp),%xmm8 - leaq 16(%rsp),%rax - movdqa -16(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq .LBS0(%rip),%r11 - movl %ebx,%r10d - - call _bsaes_encrypt8_bitslice - - subq $8,%r14 - jc .Lctr_enc_loop_done - - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - movdqu 32(%r12),%xmm9 - movdqu 48(%r12),%xmm10 - movdqu 64(%r12),%xmm11 - movdqu 80(%r12),%xmm12 - movdqu 96(%r12),%xmm13 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - pxor %xmm15,%xmm7 - movdqa 32(%rbp),%xmm15 - pxor %xmm8,%xmm0 - movdqu %xmm7,0(%r13) - pxor %xmm9,%xmm3 - movdqu %xmm0,16(%r13) - pxor %xmm10,%xmm5 - movdqu %xmm3,32(%r13) - pxor %xmm11,%xmm2 - movdqu %xmm5,48(%r13) - pxor %xmm12,%xmm6 - movdqu %xmm2,64(%r13) - pxor %xmm13,%xmm1 - movdqu %xmm6,80(%r13) - pxor %xmm14,%xmm4 - movdqu %xmm1,96(%r13) - leaq .LADD1(%rip),%r11 - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - paddd 112(%r11),%xmm15 - jnz .Lctr_enc_loop - - jmp .Lctr_enc_done -.align 16 -.Lctr_enc_loop_done: - addq $8,%r14 - movdqu 0(%r12),%xmm7 - pxor %xmm7,%xmm15 - movdqu %xmm15,0(%r13) - cmpq $2,%r14 - jb .Lctr_enc_done - movdqu 16(%r12),%xmm8 - pxor %xmm8,%xmm0 - movdqu %xmm0,16(%r13) - je .Lctr_enc_done - movdqu 32(%r12),%xmm9 - pxor %xmm9,%xmm3 - movdqu %xmm3,32(%r13) - cmpq $4,%r14 - jb .Lctr_enc_done - movdqu 48(%r12),%xmm10 - pxor %xmm10,%xmm5 - movdqu %xmm5,48(%r13) - je .Lctr_enc_done - movdqu 64(%r12),%xmm11 - pxor %xmm11,%xmm2 - movdqu %xmm2,64(%r13) - cmpq $6,%r14 - jb .Lctr_enc_done - movdqu 80(%r12),%xmm12 - pxor %xmm12,%xmm6 - movdqu %xmm6,80(%r13) - je .Lctr_enc_done - movdqu 96(%r12),%xmm13 - pxor %xmm13,%xmm1 - movdqu %xmm1,96(%r13) - jmp .Lctr_enc_done - -.align 16 -.Lctr_enc_short: - leaq 32(%rbp),%rdi - leaq 48(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - movdqu (%r12),%xmm0 - leaq 16(%r12),%r12 - movl 44(%rbp),%eax - bswapl %eax - pxor 48(%rbp),%xmm0 - incl %eax - movdqu %xmm0,(%r13) - bswapl %eax - leaq 16(%r13),%r13 - movl %eax,44(%rsp) - decq %r14 - jnz .Lctr_enc_short - -.Lctr_enc_done: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lctr_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lctr_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lctr_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_ctr32_encrypt_blocks,.-bsaes_ctr32_encrypt_blocks -.globl bsaes_xts_encrypt -.type bsaes_xts_encrypt,@function -.align 16 -bsaes_xts_encrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - andq $-16,%r14 - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_enc_short - jmp .Lxts_enc_loop - -.align 16 -.Lxts_enc_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm1,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_enc_loop - -.Lxts_enc_short: - addq $0x80,%r14 - jz .Lxts_enc_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_enc_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_enc_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_enc_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_enc_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_enc_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_enc_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - movdqu %xmm1,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - movdqu %xmm2,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - movdqu %xmm5,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - movdqu %xmm3,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_enc_done: - andl $15,%ebx - jz .Lxts_enc_ret - movq %r13,%rdx - -.Lxts_enc_steal: - movzbl (%r12),%eax - movzbl -16(%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,-16(%rdx) - movb %cl,0(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_enc_steal - - movdqu -16(%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm6 - movdqu %xmm6,-16(%r13) - -.Lxts_enc_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_encrypt,.-bsaes_xts_encrypt - -.globl bsaes_xts_decrypt -.type bsaes_xts_decrypt,@function -.align 16 -bsaes_xts_decrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - xorl %eax,%eax - andq $-16,%r14 - testl $15,%ebx - setnz %al - shlq $4,%rax - subq %rax,%r14 - - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_dec_short - jmp .Lxts_dec_loop - -.align 16 -.Lxts_dec_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_dec_loop - -.Lxts_dec_short: - addq $0x80,%r14 - jz .Lxts_dec_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_dec_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_dec_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_dec_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_dec_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_dec_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_dec_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_dec_done: - andl $15,%ebx - jz .Lxts_dec_ret - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - movdqa %xmm6,%xmm5 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - movdqu (%r12),%xmm15 - pxor %xmm13,%xmm6 - - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm6 - movq %r13,%rdx - movdqu %xmm6,(%r13) - -.Lxts_dec_steal: - movzbl 16(%r12),%eax - movzbl (%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,(%rdx) - movb %cl,16(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_dec_steal - - movdqu (%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm5,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm5 - movdqu %xmm5,(%r13) - -.Lxts_dec_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_decrypt,.-bsaes_xts_decrypt -.type _bsaes_const,@object -.align 64 -_bsaes_const: -.LM0ISR: -.quad 0x0a0e0206070b0f03, 0x0004080c0d010509 -.LISRM0: -.quad 0x01040b0e0205080f, 0x0306090c00070a0d -.LISR: -.quad 0x0504070602010003, 0x0f0e0d0c080b0a09 -.LBS0: -.quad 0x5555555555555555, 0x5555555555555555 -.LBS1: -.quad 0x3333333333333333, 0x3333333333333333 -.LBS2: -.quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f -.LSR: -.quad 0x0504070600030201, 0x0f0e0d0c0a09080b -.LSRM0: -.quad 0x0304090e00050a0f, 0x01060b0c0207080d -.LM0SR: -.quad 0x0a0e02060f03070b, 0x0004080c05090d01 -.LSWPUP: -.quad 0x0706050403020100, 0x0c0d0e0f0b0a0908 -.LSWPUPM0SR: -.quad 0x0a0d02060c03070b, 0x0004080f05090e01 -.LADD1: -.quad 0x0000000000000000, 0x0000000100000000 -.LADD2: -.quad 0x0000000000000000, 0x0000000200000000 -.LADD3: -.quad 0x0000000000000000, 0x0000000300000000 -.LADD4: -.quad 0x0000000000000000, 0x0000000400000000 -.LADD5: -.quad 0x0000000000000000, 0x0000000500000000 -.LADD6: -.quad 0x0000000000000000, 0x0000000600000000 -.LADD7: -.quad 0x0000000000000000, 0x0000000700000000 -.LADD8: -.quad 0x0000000000000000, 0x0000000800000000 -.Lxts_magic: -.long 0x87,0,1,0 -.Lmasks: -.quad 0x0101010101010101, 0x0101010101010101 -.quad 0x0202020202020202, 0x0202020202020202 -.quad 0x0404040404040404, 0x0404040404040404 -.quad 0x0808080808080808, 0x0808080808080808 -.LM0: -.quad 0x02060a0e03070b0f, 0x0004080c0105090d -.L63: -.quad 0x6363636363636363, 0x6363636363636363 -.byte 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44,32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32,65,110,100,121,32,80,111,108,121,97,107,111,118,0 -.align 64 -.size _bsaes_const,.-_bsaes_const diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/bn/rsaz-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/bn/rsaz-x86_64.s index f8e4a805887366..7876e0b8f93d9c 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/bn/rsaz-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/bn/rsaz-x86_64.s @@ -29,7 +29,7 @@ rsaz_512_sqr: subq $128+24,%rsp .cfi_adjust_cfa_offset 128+24 .Lsqr_body: - movq %rdx,%rbp +.byte 102,72,15,110,202 movq (%rsi),%rdx movq 8(%rsi),%rax movq %rcx,128(%rsp) @@ -44,6 +44,7 @@ rsaz_512_sqr: movl %r8d,128+8(%rsp) movq %rdx,%rbx + movq %rax,%rbp mulq %rdx movq %rax,%r8 movq 16(%rsi),%rax @@ -82,31 +83,29 @@ rsaz_512_sqr: mulq %rbx addq %rax,%r14 movq %rbx,%rax - movq %rdx,%r15 - adcq $0,%r15 + adcq $0,%rdx + xorq %rcx,%rcx addq %r8,%r8 - movq %r9,%rcx - adcq %r9,%r9 + movq %rdx,%r15 + adcq $0,%rcx mulq %rax - movq %rax,(%rsp) - addq %rdx,%r8 - adcq $0,%r9 + addq %r8,%rdx + adcq $0,%rcx - movq %r8,8(%rsp) - shrq $63,%rcx + movq %rax,(%rsp) + movq %rdx,8(%rsp) - movq 8(%rsi),%r8 movq 16(%rsi),%rax - mulq %r8 + mulq %rbp addq %rax,%r10 movq 24(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r11 movq 32(%rsi),%rax adcq $0,%rdx @@ -114,7 +113,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r12 movq 40(%rsi),%rax adcq $0,%rdx @@ -122,7 +121,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r13 movq 48(%rsi),%rax adcq $0,%rdx @@ -130,7 +129,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r14 movq 56(%rsi),%rax adcq $0,%rdx @@ -138,39 +137,39 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r15 - movq %r8,%rax + movq %rbp,%rax adcq $0,%rdx addq %rbx,%r15 - movq %rdx,%r8 - movq %r10,%rdx - adcq $0,%r8 + adcq $0,%rdx - addq %rdx,%rdx - leaq (%rcx,%r10,2),%r10 - movq %r11,%rbx - adcq %r11,%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r8 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax + movq 16(%rsi),%rbp addq %rax,%r9 + movq 24(%rsi),%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,16(%rsp) movq %r10,24(%rsp) - shrq $63,%rbx - movq 16(%rsi),%r9 - movq 24(%rsi),%rax - mulq %r9 + mulq %rbp addq %rax,%r12 movq 32(%rsi),%rax movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r13 movq 40(%rsi),%rax adcq $0,%rdx @@ -178,7 +177,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r14 movq 48(%rsi),%rax adcq $0,%rdx @@ -186,9 +185,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - movq %r12,%r10 - leaq (%rbx,%r12,2),%r12 + mulq %rbp addq %rax,%r15 movq 56(%rsi),%rax adcq $0,%rdx @@ -196,36 +193,40 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - shrq $63,%r10 + mulq %rbp addq %rax,%r8 - movq %r9,%rax + movq %rbp,%rax adcq $0,%rdx addq %rcx,%r8 - movq %rdx,%r9 - adcq $0,%r9 + adcq $0,%rdx - movq %r13,%rcx - leaq (%r10,%r13,2),%r13 + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r9 + adcq %r12,%r12 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax + movq 24(%rsi),%r10 addq %rax,%r11 + movq 32(%rsi),%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,32(%rsp) movq %r12,40(%rsp) - shrq $63,%rcx - movq 24(%rsi),%r10 - movq 32(%rsi),%rax + movq %rax,%r11 mulq %r10 addq %rax,%r14 movq 40(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx + movq %rax,%r12 mulq %r10 addq %rax,%r15 movq 48(%rsi),%rax @@ -234,9 +235,8 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx + movq %rax,%rbp mulq %r10 - movq %r14,%r12 - leaq (%rcx,%r14,2),%r14 addq %rax,%r8 movq 56(%rsi),%rax adcq $0,%rdx @@ -245,32 +245,33 @@ rsaz_512_sqr: adcq $0,%rbx mulq %r10 - shrq $63,%r12 addq %rax,%r9 movq %r10,%rax adcq $0,%rdx addq %rbx,%r9 - movq %rdx,%r10 - adcq $0,%r10 + adcq $0,%rdx - movq %r15,%rbx - leaq (%r12,%r15,2),%r15 + xorq %rbx,%rbx + addq %r13,%r13 + movq %rdx,%r10 + adcq %r14,%r14 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r13 + movq %r12,%rax adcq %rdx,%r14 - adcq $0,%r15 + adcq $0,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) - shrq $63,%rbx - movq 32(%rsi),%r11 - movq 40(%rsi),%rax mulq %r11 addq %rax,%r8 - movq 48(%rsi),%rax + movq %rbp,%rax movq %rdx,%rcx adcq $0,%rcx @@ -278,97 +279,99 @@ rsaz_512_sqr: addq %rax,%r9 movq 56(%rsi),%rax adcq $0,%rdx - movq %r8,%r12 - leaq (%rbx,%r8,2),%r8 addq %rcx,%r9 movq %rdx,%rcx adcq $0,%rcx + movq %rax,%r14 mulq %r11 - shrq $63,%r12 addq %rax,%r10 movq %r11,%rax adcq $0,%rdx addq %rcx,%r10 - movq %rdx,%r11 - adcq $0,%r11 + adcq $0,%rdx - movq %r9,%rcx - leaq (%r12,%r9,2),%r9 + xorq %rcx,%rcx + addq %r15,%r15 + movq %rdx,%r11 + adcq %r8,%r8 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r15 + movq %rbp,%rax adcq %rdx,%r8 - adcq $0,%r9 + adcq $0,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) - shrq $63,%rcx - movq 40(%rsi),%r12 - movq 48(%rsi),%rax mulq %r12 addq %rax,%r10 - movq 56(%rsi),%rax + movq %r14,%rax movq %rdx,%rbx adcq $0,%rbx mulq %r12 addq %rax,%r11 movq %r12,%rax - movq %r10,%r15 - leaq (%rcx,%r10,2),%r10 adcq $0,%rdx - shrq $63,%r15 addq %rbx,%r11 - movq %rdx,%r12 - adcq $0,%r12 + adcq $0,%rdx - movq %r11,%rbx - leaq (%r15,%r11,2),%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r12 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r9 + movq %r14,%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) - movq 48(%rsi),%r13 - movq 56(%rsi),%rax - mulq %r13 + mulq %rbp addq %rax,%r12 - movq %r13,%rax - movq %rdx,%r13 - adcq $0,%r13 + movq %rbp,%rax + adcq $0,%rdx - xorq %r14,%r14 - shlq $1,%rbx + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r13 adcq %r12,%r12 - adcq %r13,%r13 - adcq %r14,%r14 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r11 + movq %r14,%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,96(%rsp) movq %r12,104(%rsp) - movq 56(%rsi),%rax - mulq %rax - addq %rax,%r13 - adcq $0,%rdx + xorq %rbx,%rbx + addq %r13,%r13 + adcq $0,%rbx - addq %rdx,%r14 + mulq %rax - movq %r13,112(%rsp) - movq %r14,120(%rsp) + addq %rcx,%rax + addq %r13,%rax + adcq %rbx,%rdx movq (%rsp),%r8 movq 8(%rsp),%r9 @@ -378,6 +381,10 @@ rsaz_512_sqr: movq 40(%rsp),%r13 movq 48(%rsp),%r14 movq 56(%rsp),%r15 +.byte 102,72,15,126,205 + + movq %rax,112(%rsp) + movq %rdx,120(%rsp) call __rsaz_512_reduce @@ -406,9 +413,9 @@ rsaz_512_sqr: .Loop_sqrx: movl %r8d,128+8(%rsp) .byte 102,72,15,110,199 -.byte 102,72,15,110,205 mulxq %rax,%r8,%r9 + movq %rax,%rbx mulxq 16(%rsi),%rcx,%r10 xorq %rbp,%rbp @@ -416,40 +423,39 @@ rsaz_512_sqr: mulxq 24(%rsi),%rax,%r11 adcxq %rcx,%r9 - mulxq 32(%rsi),%rcx,%r12 +.byte 0xc4,0x62,0xf3,0xf6,0xa6,0x20,0x00,0x00,0x00 adcxq %rax,%r10 - mulxq 40(%rsi),%rax,%r13 +.byte 0xc4,0x62,0xfb,0xf6,0xae,0x28,0x00,0x00,0x00 adcxq %rcx,%r11 -.byte 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 + mulxq 48(%rsi),%rcx,%r14 adcxq %rax,%r12 adcxq %rcx,%r13 -.byte 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rax,%r15 adcxq %rax,%r14 adcxq %rbp,%r15 - movq %r9,%rcx - shldq $1,%r8,%r9 - shlq $1,%r8 - - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx - adcxq %rdx,%r8 - movq 8(%rsi),%rdx - adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi + movq %rbx,%rdx + xorq %rcx,%rcx + adoxq %r8,%r8 + adcxq %rdi,%r8 + adoxq %rbp,%rcx + adcxq %rbp,%rcx movq %rax,(%rsp) movq %r8,8(%rsp) - mulxq 16(%rsi),%rax,%rbx +.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x10,0x00,0x00,0x00 adoxq %rax,%r10 adcxq %rbx,%r11 -.byte 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r8 adoxq %rdi,%r11 +.byte 0x66 adcxq %r8,%r12 mulxq 32(%rsi),%rax,%rbx @@ -467,24 +473,25 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 adoxq %rdi,%r15 adcxq %rbp,%r8 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r8 +.byte 0x48,0x8b,0x96,0x10,0x00,0x00,0x00 - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rcx - movq 16(%rsi),%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rcx,%r10 - adcxq %rbp,%r11 + adoxq %rbp,%rbx + adcxq %rdi,%r10 + adcxq %rbp,%rbx movq %r9,16(%rsp) .byte 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r9 adoxq %rdi,%r12 adcxq %r9,%r13 @@ -492,7 +499,7 @@ rsaz_512_sqr: adoxq %rax,%r13 adcxq %rcx,%r14 - mulxq 40(%rsi),%rdi,%r9 +.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x28,0x00,0x00,0x00 adoxq %rdi,%r14 adcxq %r9,%r15 @@ -500,27 +507,28 @@ rsaz_512_sqr: adoxq %rax,%r15 adcxq %rcx,%r8 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rdi,%r9 adoxq %rdi,%r8 adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r9 + movq 24(%rsi),%rdx - movq %r13,%rcx - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + xorq %rcx,%rcx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 24(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx movq %r11,32(%rsp) -.byte 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 + movq %r12,40(%rsp) -.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 + mulxq 32(%rsi),%rax,%rbx adoxq %rax,%r14 adcxq %rbx,%r15 @@ -535,25 +543,25 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r10 adoxq %rdi,%r9 adcxq %rbp,%r10 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r10 + movq 32(%rsi),%rdx -.byte 0x66 - movq %r15,%rbx - shldq $1,%r14,%r15 - shldq $1,%rcx,%r14 + xorq %rbx,%rbx + adoxq %r13,%r13 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r14,%r14 adcxq %rax,%r13 - adcxq %rdx,%r14 - movq 32(%rsi),%rdx - adcxq %rbp,%r15 + adoxq %rbp,%rbx + adcxq %rdi,%r14 + adcxq %rbp,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) -.byte 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 + mulxq 40(%rsi),%rdi,%r11 adoxq %rdi,%r8 adcxq %r11,%r9 @@ -564,18 +572,19 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r11 adoxq %rdi,%r10 adcxq %rbp,%r11 + mulxq %rdx,%rax,%rdi + movq 40(%rsi),%rdx adoxq %rbp,%r11 - movq %r9,%rcx - shldq $1,%r8,%r9 - shldq $1,%rbx,%r8 + xorq %rcx,%rcx + adoxq %r15,%r15 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r8,%r8 adcxq %rax,%r15 - adcxq %rdx,%r8 - movq 40(%rsi),%rdx - adcxq %rbp,%r9 + adoxq %rbp,%rcx + adcxq %rdi,%r8 + adcxq %rbp,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) @@ -588,18 +597,19 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 adoxq %rdi,%r11 adcxq %rbp,%r12 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r12 + movq 48(%rsi),%rdx - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rdx,%r10 - movq 48(%rsi),%rdx - adcxq %rbp,%r11 + adcxq %rdi,%r10 + adoxq %rbp,%rbx + adcxq %rbp,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) @@ -609,31 +619,31 @@ rsaz_512_sqr: adoxq %rax,%r12 adoxq %rbp,%r13 - xorq %r14,%r14 - shldq $1,%r13,%r14 - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + mulxq %rdx,%rax,%rdi + xorq %rcx,%rcx + movq 56(%rsi),%rdx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 56(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx .byte 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 .byte 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 mulxq %rdx,%rax,%rdx - adoxq %rax,%r13 - adoxq %rbp,%rdx + xorq %rbx,%rbx + adoxq %r13,%r13 -.byte 0x66 - addq %rdx,%r14 + adcxq %rcx,%rax + adoxq %rbp,%rbx + adcxq %r13,%rax + adcxq %rdx,%rbx - movq %r13,112(%rsp) - movq %r14,120(%rsp) .byte 102,72,15,126,199 .byte 102,72,15,126,205 @@ -647,6 +657,9 @@ rsaz_512_sqr: movq 48(%rsp),%r14 movq 56(%rsp),%r15 + movq %rax,112(%rsp) + movq %rbx,120(%rsp) + call __rsaz_512_reducex addq 64(%rsp),%r8 @@ -1440,6 +1453,7 @@ rsaz_512_mul_by_one: .type __rsaz_512_reduce,@function .align 32 __rsaz_512_reduce: +.cfi_startproc movq %r8,%rbx imulq 128+8(%rsp),%rbx movq 0(%rbp),%rax @@ -1519,10 +1533,12 @@ __rsaz_512_reduce: jne .Lreduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reduce,.-__rsaz_512_reduce .type __rsaz_512_reducex,@function .align 32 __rsaz_512_reducex: +.cfi_startproc imulq %r8,%rdx xorq %rsi,%rsi @@ -1575,10 +1591,12 @@ __rsaz_512_reducex: jne .Lreduction_loopx .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reducex,.-__rsaz_512_reducex .type __rsaz_512_subtract,@function .align 32 __rsaz_512_subtract: +.cfi_startproc movq %r8,(%rdi) movq %r9,8(%rdi) movq %r10,16(%rdi) @@ -1632,10 +1650,12 @@ __rsaz_512_subtract: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_subtract,.-__rsaz_512_subtract .type __rsaz_512_mul,@function .align 32 __rsaz_512_mul: +.cfi_startproc leaq 8(%rsp),%rdi movq (%rsi),%rax @@ -1774,10 +1794,12 @@ __rsaz_512_mul: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mul,.-__rsaz_512_mul .type __rsaz_512_mulx,@function .align 32 __rsaz_512_mulx: +.cfi_startproc mulxq (%rsi),%rbx,%r8 movq $-6,%rcx @@ -1894,11 +1916,13 @@ __rsaz_512_mulx: movq %r15,8+64+56(%rsp) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mulx,.-__rsaz_512_mulx .globl rsaz_512_scatter4 .type rsaz_512_scatter4,@function .align 16 rsaz_512_scatter4: +.cfi_startproc leaq (%rdi,%rdx,8),%rdi movl $8,%r9d jmp .Loop_scatter @@ -1911,12 +1935,14 @@ rsaz_512_scatter4: decl %r9d jnz .Loop_scatter .byte 0xf3,0xc3 +.cfi_endproc .size rsaz_512_scatter4,.-rsaz_512_scatter4 .globl rsaz_512_gather4 .type rsaz_512_gather4,@function .align 16 rsaz_512_gather4: +.cfi_startproc movd %edx,%xmm8 movdqa .Linc+16(%rip),%xmm1 movdqa .Linc(%rip),%xmm0 @@ -1980,6 +2006,7 @@ rsaz_512_gather4: jnz .Loop_gather .byte 0xf3,0xc3 .LSEH_end_rsaz_512_gather4: +.cfi_endproc .size rsaz_512_gather4,.-rsaz_512_gather4 .align 64 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/bn/x86_64-mont5.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/bn/x86_64-mont5.s index df4b6610a02a47..40a60a3c8fc6b9 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/bn/x86_64-mont5.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/bn/x86_64-mont5.s @@ -550,6 +550,7 @@ bn_mul4x_mont_gather5: .type mul4x_internal,@function .align 32 mul4x_internal: +.cfi_startproc shlq $5,%r9 movd 8(%rax),%xmm5 leaq .Linc(%rip),%rax @@ -1071,6 +1072,7 @@ mul4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqr4x_sub_entry +.cfi_endproc .size mul4x_internal,.-mul4x_internal .globl bn_power5 .type bn_power5,@function @@ -1213,6 +1215,7 @@ bn_power5: .align 32 bn_sqr8x_internal: __bn_sqr8x_internal: +.cfi_startproc @@ -1987,10 +1990,12 @@ __bn_sqr8x_reduction: cmpq %rdx,%rdi jb .L8x_reduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size bn_sqr8x_internal,.-bn_sqr8x_internal .type __bn_post4x_internal,@function .align 32 __bn_post4x_internal: +.cfi_startproc movq 0(%rbp),%r12 leaq (%rdi,%r9,1),%rbx movq %r9,%rcx @@ -2041,15 +2046,18 @@ __bn_post4x_internal: movq %r9,%r10 negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_post4x_internal,.-__bn_post4x_internal .globl bn_from_montgomery .type bn_from_montgomery,@function .align 32 bn_from_montgomery: +.cfi_startproc testl $7,%r9d jz bn_from_mont8x xorl %eax,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_from_montgomery,.-bn_from_montgomery .type bn_from_mont8x,@function @@ -2333,6 +2341,7 @@ bn_mulx4x_mont_gather5: .type mulx4x_internal,@function .align 32 mulx4x_internal: +.cfi_startproc movq %r9,8(%rsp) movq %r9,%r10 negq %r9 @@ -2751,6 +2760,7 @@ mulx4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqrx4x_sub_entry +.cfi_endproc .size mulx4x_internal,.-mulx4x_internal .type bn_powerx5,@function .align 32 @@ -3509,6 +3519,7 @@ __bn_sqrx8x_reduction: .size bn_sqrx8x_internal,.-bn_sqrx8x_internal .align 32 __bn_postx4x_internal: +.cfi_startproc movq 0(%rbp),%r12 movq %rcx,%r10 movq %rcx,%r9 @@ -3556,11 +3567,13 @@ __bn_postx4x_internal: negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_postx4x_internal,.-__bn_postx4x_internal .globl bn_get_bits5 .type bn_get_bits5,@function .align 16 bn_get_bits5: +.cfi_startproc leaq 0(%rdi),%r10 leaq 1(%rdi),%r11 movl %esi,%ecx @@ -3574,12 +3587,14 @@ bn_get_bits5: shrl %cl,%eax andl $31,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_get_bits5,.-bn_get_bits5 .globl bn_scatter5 .type bn_scatter5,@function .align 16 bn_scatter5: +.cfi_startproc cmpl $0,%esi jz .Lscatter_epilogue leaq (%rdx,%rcx,8),%rdx @@ -3592,6 +3607,7 @@ bn_scatter5: jnz .Lscatter .Lscatter_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_scatter5,.-bn_scatter5 .globl bn_gather5 @@ -3599,6 +3615,7 @@ bn_scatter5: .align 32 bn_gather5: .LSEH_begin_bn_gather5: +.cfi_startproc .byte 0x4c,0x8d,0x14,0x24 .byte 0x48,0x81,0xec,0x08,0x01,0x00,0x00 @@ -3756,6 +3773,7 @@ bn_gather5: leaq (%r10),%rsp .byte 0xf3,0xc3 .LSEH_end_bn_gather5: +.cfi_endproc .size bn_gather5,.-bn_gather5 .align 64 .Linc: diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/buildinf.h b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/buildinf.h index 3eb8d7ca6bad4a..b52f1881d3036e 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: BSD-x86_64" -#define DATE "built on: Fri Sep 13 15:57:33 2019 UTC" +#define DATE "built on: Wed Mar 18 21:04:59 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -35,12 +35,12 @@ static const char compiler_flags[] = { '_','A','S','M',' ','-','D','S','H','A','5','1','2','_','A','S', 'M',' ','-','D','K','E','C','C','A','K','1','6','0','0','_','A', 'S','M',' ','-','D','R','C','4','_','A','S','M',' ','-','D','M', - 'D','5','_','A','S','M',' ','-','D','V','P','A','E','S','_','A', - 'S','M',' ','-','D','G','H','A','S','H','_','A','S','M',' ','-', - 'D','E','C','P','_','N','I','S','T','Z','2','5','6','_','A','S', - 'M',' ','-','D','X','2','5','5','1','9','_','A','S','M',' ','-', - 'D','P','O','L','Y','1','3','0','5','_','A','S','M',' ','-','D', - '_','T','H','R','E','A','D','_','S','A','F','E',' ','-','D','_', - 'R','E','E','N','T','R','A','N','T',' ','-','D','N','D','E','B', - 'U','G','\0' + 'D','5','_','A','S','M',' ','-','D','A','E','S','N','I','_','A', + 'S','M',' ','-','D','V','P','A','E','S','_','A','S','M',' ','-', + 'D','G','H','A','S','H','_','A','S','M',' ','-','D','E','C','P', + '_','N','I','S','T','Z','2','5','6','_','A','S','M',' ','-','D', + 'X','2','5','5','1','9','_','A','S','M',' ','-','D','P','O','L', + 'Y','1','3','0','5','_','A','S','M',' ','-','D','_','T','H','R', + 'E','A','D','_','S','A','F','E',' ','-','D','_','R','E','E','N', + 'T','R','A','N','T',' ','-','D','N','D','E','B','U','G','\0' }; diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/camellia/cmll-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/camellia/cmll-x86_64.s index 405566b01cca6f..eeb20dd2291da7 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/camellia/cmll-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/camellia/cmll-x86_64.s @@ -5,11 +5,13 @@ .type Camellia_EncryptBlock,@function .align 16 Camellia_EncryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Lenc_rounds +.cfi_endproc .size Camellia_EncryptBlock,.-Camellia_EncryptBlock .globl Camellia_EncryptBlock_Rounds @@ -83,6 +85,7 @@ Camellia_EncryptBlock_Rounds: .type _x86_64_Camellia_encrypt,@function .align 16 _x86_64_Camellia_encrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -285,6 +288,7 @@ _x86_64_Camellia_encrypt: movl %edx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_encrypt,.-_x86_64_Camellia_encrypt @@ -292,11 +296,13 @@ _x86_64_Camellia_encrypt: .type Camellia_DecryptBlock,@function .align 16 Camellia_DecryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Ldec_rounds +.cfi_endproc .size Camellia_DecryptBlock,.-Camellia_DecryptBlock .globl Camellia_DecryptBlock_Rounds @@ -370,6 +376,7 @@ Camellia_DecryptBlock_Rounds: .type _x86_64_Camellia_decrypt,@function .align 16 _x86_64_Camellia_decrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -573,6 +580,7 @@ _x86_64_Camellia_decrypt: movl %ebx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_decrypt,.-_x86_64_Camellia_decrypt .globl Camellia_Ekeygen .type Camellia_Ekeygen,@function diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/ec/ecp_nistz256-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/ec/ecp_nistz256-x86_64.s index 62b9ac6616ba72..5c9e4050416212 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/ec/ecp_nistz256-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/ec/ecp_nistz256-x86_64.s @@ -3874,10 +3874,12 @@ ecp_nistz256_ord_sqr_montx: .type ecp_nistz256_to_mont,@function .align 32 ecp_nistz256_to_mont: +.cfi_startproc movl $0x80100,%ecx andl OPENSSL_ia32cap_P+8(%rip),%ecx leaq .LRR(%rip),%rdx jmp .Lmul_mont +.cfi_endproc .size ecp_nistz256_to_mont,.-ecp_nistz256_to_mont @@ -4821,6 +4823,7 @@ ecp_nistz256_from_mont: .type ecp_nistz256_scatter_w5,@function .align 32 ecp_nistz256_scatter_w5: +.cfi_startproc leal -3(%rdx,%rdx,2),%edx movdqa 0(%rsi),%xmm0 shll $5,%edx @@ -4837,6 +4840,7 @@ ecp_nistz256_scatter_w5: movdqa %xmm5,80(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w5,.-ecp_nistz256_scatter_w5 @@ -4910,6 +4914,7 @@ ecp_nistz256_gather_w5: .type ecp_nistz256_scatter_w7,@function .align 32 ecp_nistz256_scatter_w7: +.cfi_startproc movdqu 0(%rsi),%xmm0 shll $6,%edx movdqu 16(%rsi),%xmm1 @@ -4921,6 +4926,7 @@ ecp_nistz256_scatter_w7: movdqa %xmm3,48(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w7,.-ecp_nistz256_scatter_w7 @@ -5655,26 +5661,16 @@ ecp_nistz256_point_add: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedq .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedq - testq %r9,%r9 - jz .Ladd_doubleq -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_doneq + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedq -.align 32 .Ladd_doubleq: .byte 102,72,15,126,206 .byte 102,72,15,126,199 @@ -6774,26 +6770,16 @@ ecp_nistz256_point_addx: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedx .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedx - testq %r9,%r9 - jz .Ladd_doublex -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_donex + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedx -.align 32 .Ladd_doublex: .byte 102,72,15,126,206 .byte 102,72,15,126,199 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/ec/x25519-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/ec/x25519-x86_64.s index 2a18eaee288ce7..1788e568cda5d2 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/ec/x25519-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/ec/x25519-x86_64.s @@ -400,12 +400,14 @@ x25519_fe51_mul121666: .type x25519_fe64_eligible,@function .align 32 x25519_fe64_eligible: +.cfi_startproc movl OPENSSL_ia32cap_P+8(%rip),%ecx xorl %eax,%eax andl $0x80100,%ecx cmpl $0x80100,%ecx cmovel %ecx,%eax .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_eligible,.-x25519_fe64_eligible .globl x25519_fe64_mul @@ -648,6 +650,7 @@ x25519_fe64_sqr: .align 32 x25519_fe64_mul121666: .Lfe64_mul121666_body: +.cfi_startproc movl $121666,%edx mulxq 0(%rsi),%r8,%rcx mulxq 8(%rsi),%r9,%rax @@ -676,6 +679,7 @@ x25519_fe64_mul121666: .Lfe64_mul121666_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_mul121666,.-x25519_fe64_mul121666 .globl x25519_fe64_add @@ -683,6 +687,7 @@ x25519_fe64_mul121666: .align 32 x25519_fe64_add: .Lfe64_add_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -711,6 +716,7 @@ x25519_fe64_add: .Lfe64_add_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_add,.-x25519_fe64_add .globl x25519_fe64_sub @@ -718,6 +724,7 @@ x25519_fe64_add: .align 32 x25519_fe64_sub: .Lfe64_sub_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -746,6 +753,7 @@ x25519_fe64_sub: .Lfe64_sub_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_sub,.-x25519_fe64_sub .globl x25519_fe64_tobytes @@ -753,6 +761,7 @@ x25519_fe64_sub: .align 32 x25519_fe64_tobytes: .Lfe64_to_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -788,5 +797,6 @@ x25519_fe64_tobytes: .Lfe64_to_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_tobytes,.-x25519_fe64_tobytes .byte 88,50,53,53,49,57,32,112,114,105,109,105,116,105,118,101,115,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/modes/aesni-gcm-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/modes/aesni-gcm-x86_64.s index 6a7a9577c7142f..01d89630a42f73 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/modes/aesni-gcm-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/modes/aesni-gcm-x86_64.s @@ -3,6 +3,7 @@ .type _aesni_ctr32_ghash_6x,@function .align 32 _aesni_ctr32_ghash_6x: +.cfi_startproc vmovdqu 32(%r11),%xmm2 subq $6,%rdx vpxor %xmm4,%xmm4,%xmm4 @@ -310,6 +311,7 @@ _aesni_ctr32_ghash_6x: vpxor %xmm4,%xmm8,%xmm8 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_ctr32_ghash_6x,.-_aesni_ctr32_ghash_6x .globl aesni_gcm_decrypt .type aesni_gcm_decrypt,@function @@ -416,6 +418,7 @@ aesni_gcm_decrypt: .type _aesni_ctr32_6x,@function .align 32 _aesni_ctr32_6x: +.cfi_startproc vmovdqu 0-128(%rcx),%xmm4 vmovdqu 32(%r11),%xmm2 leaq -1(%rbp),%r13 @@ -502,6 +505,7 @@ _aesni_ctr32_6x: vpshufb %xmm0,%xmm1,%xmm1 vpxor %xmm4,%xmm14,%xmm14 jmp .Loop_ctr32 +.cfi_endproc .size _aesni_ctr32_6x,.-_aesni_ctr32_6x .globl aesni_gcm_encrypt diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/poly1305/poly1305-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/poly1305/poly1305-x86_64.s index deb4f74bfbcd1b..987a65aab38147 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/poly1305/poly1305-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/poly1305/poly1305-x86_64.s @@ -12,6 +12,7 @@ .type poly1305_init,@function .align 32 poly1305_init: +.cfi_startproc xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -47,6 +48,7 @@ poly1305_init: movl $1,%eax .Lno_key: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_init,.-poly1305_init .type poly1305_blocks,@function @@ -167,6 +169,7 @@ poly1305_blocks: .type poly1305_emit,@function .align 32 poly1305_emit: +.cfi_startproc .Lemit: movq 0(%rdi),%r8 movq 8(%rdi),%r9 @@ -187,10 +190,12 @@ poly1305_emit: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit,.-poly1305_emit .type __poly1305_block,@function .align 32 __poly1305_block: +.cfi_startproc mulq %r14 movq %rax,%r9 movq %r11,%rax @@ -230,11 +235,13 @@ __poly1305_block: adcq $0,%rbx adcq $0,%rbp .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_block,.-__poly1305_block .type __poly1305_init_avx,@function .align 32 __poly1305_init_avx: +.cfi_startproc movq %r11,%r14 movq %r12,%rbx xorq %rbp,%rbp @@ -392,6 +399,7 @@ __poly1305_init_avx: leaq -48-64(%rdi),%rdi .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_init_avx,.-__poly1305_init_avx .type poly1305_blocks_avx,@function @@ -1232,6 +1240,7 @@ poly1305_blocks_avx: .type poly1305_emit_avx,@function .align 32 poly1305_emit_avx: +.cfi_startproc cmpl $0,20(%rdi) je .Lemit @@ -1282,6 +1291,7 @@ poly1305_emit_avx: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit_avx,.-poly1305_emit_avx .type poly1305_blocks_avx2,@function .align 32 @@ -2478,6 +2488,7 @@ poly1305_blocks_avx512: .type poly1305_init_base2_44,@function .align 32 poly1305_init_base2_44: +.cfi_startproc xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -2511,10 +2522,12 @@ poly1305_init_base2_44: movq %r11,8(%rdx) movl $1,%eax .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_init_base2_44,.-poly1305_init_base2_44 .type poly1305_blocks_vpmadd52,@function .align 32 poly1305_blocks_vpmadd52: +.cfi_startproc shrq $4,%rdx jz .Lno_data_vpmadd52 @@ -2621,10 +2634,12 @@ poly1305_blocks_vpmadd52: .Lno_data_vpmadd52: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_blocks_vpmadd52,.-poly1305_blocks_vpmadd52 .type poly1305_blocks_vpmadd52_4x,@function .align 32 poly1305_blocks_vpmadd52_4x: +.cfi_startproc shrq $4,%rdx jz .Lno_data_vpmadd52_4x @@ -3049,10 +3064,12 @@ poly1305_blocks_vpmadd52_4x: .Lno_data_vpmadd52_4x: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_blocks_vpmadd52_4x,.-poly1305_blocks_vpmadd52_4x .type poly1305_blocks_vpmadd52_8x,@function .align 32 poly1305_blocks_vpmadd52_8x: +.cfi_startproc shrq $4,%rdx jz .Lno_data_vpmadd52_8x @@ -3393,10 +3410,12 @@ poly1305_blocks_vpmadd52_8x: .Lno_data_vpmadd52_8x: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_blocks_vpmadd52_8x,.-poly1305_blocks_vpmadd52_8x .type poly1305_emit_base2_44,@function .align 32 poly1305_emit_base2_44: +.cfi_startproc movq 0(%rdi),%r8 movq 8(%rdi),%r9 movq 16(%rdi),%r10 @@ -3427,6 +3446,7 @@ poly1305_emit_base2_44: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit_base2_44,.-poly1305_emit_base2_44 .align 64 .Lconst: @@ -3465,6 +3485,7 @@ poly1305_emit_base2_44: .type xor128_encrypt_n_pad,@function .align 16 xor128_encrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -3506,12 +3527,14 @@ xor128_encrypt_n_pad: .Ldone_enc: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_encrypt_n_pad,.-xor128_encrypt_n_pad .globl xor128_decrypt_n_pad .type xor128_decrypt_n_pad,@function .align 16 xor128_decrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -3557,4 +3580,5 @@ xor128_decrypt_n_pad: .Ldone_dec: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_decrypt_n_pad,.-xor128_decrypt_n_pad diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/rc4/rc4-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/rc4/rc4-x86_64.s index fba70351d48d5c..b97c757550aad0 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/rc4/rc4-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/rc4/rc4-x86_64.s @@ -4,11 +4,12 @@ .globl RC4 .type RC4,@function .align 16 -RC4: orq %rsi,%rsi +RC4: +.cfi_startproc + orq %rsi,%rsi jne .Lentry .byte 0xf3,0xc3 .Lentry: -.cfi_startproc pushq %rbx .cfi_adjust_cfa_offset 8 .cfi_offset %rbx,-16 @@ -533,6 +534,7 @@ RC4: orq %rsi,%rsi .type RC4_set_key,@function .align 16 RC4_set_key: +.cfi_startproc leaq 8(%rdi),%rdi leaq (%rdx,%rsi,1),%rdx negq %rsi @@ -599,12 +601,14 @@ RC4_set_key: movl %eax,-8(%rdi) movl %eax,-4(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size RC4_set_key,.-RC4_set_key .globl RC4_options .type RC4_options,@function .align 16 RC4_options: +.cfi_startproc leaq .Lopts(%rip),%rax movl OPENSSL_ia32cap_P(%rip),%edx btl $20,%edx @@ -617,6 +621,7 @@ RC4_options: addq $12,%rax .Ldone: .byte 0xf3,0xc3 +.cfi_endproc .align 64 .Lopts: .byte 114,99,52,40,56,120,44,105,110,116,41,0 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/keccak1600-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/keccak1600-x86_64.s index e511f25035b2b8..09617d014bdb7b 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/keccak1600-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/keccak1600-x86_64.s @@ -3,6 +3,7 @@ .type __KeccakF1600,@function .align 32 __KeccakF1600: +.cfi_startproc movq 60(%rdi),%rax movq 68(%rdi),%rbx movq 76(%rdi),%rcx @@ -255,6 +256,7 @@ __KeccakF1600: leaq -192(%r15),%r15 .byte 0xf3,0xc3 +.cfi_endproc .size __KeccakF1600,.-__KeccakF1600 .type KeccakF1600,@function diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/sha1-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/sha1-x86_64.s index e436521a040f66..98541727e555da 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/sha1-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/sha1-x86_64.s @@ -1421,8 +1421,8 @@ _shaext_shortcut: pshufd $27,%xmm1,%xmm1 movdqu %xmm0,(%rdi) movd %xmm1,16(%rdi) -.cfi_endproc .byte 0xf3,0xc3 +.cfi_endproc .size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext .type sha1_block_data_order_ssse3,@function .align 16 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/sha256-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/sha256-x86_64.s index 42b24df18e5afe..9357385da3c49b 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/sha256-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/sha256-x86_64.s @@ -1775,6 +1775,7 @@ K256: .align 64 sha256_block_data_order_shaext: _shaext_shortcut: +.cfi_startproc leaq K256+128(%rip),%rcx movdqu (%rdi),%xmm1 movdqu 16(%rdi),%xmm2 @@ -1977,6 +1978,7 @@ _shaext_shortcut: movdqu %xmm1,(%rdi) movdqu %xmm2,16(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size sha256_block_data_order_shaext,.-sha256_block_data_order_shaext .type sha256_block_data_order_ssse3,@function .align 64 @@ -4238,7 +4240,15 @@ sha256_block_data_order_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 88(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -64(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%edi vmovdqa %ymm6,0(%rsp) xorl %ecx,%edi @@ -4250,6 +4260,12 @@ sha256_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4505,6 +4521,12 @@ sha256_block_data_order_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -5380,6 +5402,8 @@ sha256_block_data_order_avx2: leaq 448(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08 + addl 0(%rdi),%eax addl 4(%rdi),%ebx addl 8(%rdi),%ecx @@ -5405,9 +5429,11 @@ sha256_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xd8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 88(%rsp),%rsi + movq 88(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/sha512-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/sha512-x86_64.s index 5931a2a93234d0..939f1ca71c9394 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/sha512-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/sha/sha512-x86_64.s @@ -4165,7 +4165,15 @@ sha512_block_data_order_avx2: vmovdqa %ymm10,64(%rsp) vpaddq 64(%rbp),%ymm6,%ymm10 vmovdqa %ymm11,96(%rsp) + + movq 152(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -128(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpaddq 96(%rbp),%ymm7,%ymm11 vmovdqa %ymm8,0(%rsp) xorq %r14,%r14 @@ -4181,6 +4189,12 @@ sha512_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm0,%ymm1,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -4474,6 +4488,12 @@ sha512_block_data_order_avx2: movq %r9,%r12 vmovdqa %ymm10,96(%rsp) leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm4,%ymm5,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -5387,6 +5407,8 @@ sha512_block_data_order_avx2: leaq 1152(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08 + addq 0(%rdi),%rax addq 8(%rdi),%rbx addq 16(%rdi),%rcx @@ -5412,9 +5434,11 @@ sha512_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0x98,0x01,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 152(%rsp),%rsi + movq 152(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/x86_64cpuid.s b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/x86_64cpuid.s index fd17eaaba49576..9268ce8c9a9d63 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/x86_64cpuid.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/x86_64cpuid.s @@ -12,6 +12,7 @@ .type OPENSSL_atomic_add,@function .align 16 OPENSSL_atomic_add: +.cfi_startproc movl (%rdi),%eax .Lspin: leaq (%rsi,%rax,1),%r8 .byte 0xf0 @@ -20,16 +21,19 @@ OPENSSL_atomic_add: movl %r8d,%eax .byte 0x48,0x98 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_atomic_add,.-OPENSSL_atomic_add .globl OPENSSL_rdtsc .type OPENSSL_rdtsc,@function .align 16 OPENSSL_rdtsc: +.cfi_startproc rdtsc shlq $32,%rdx orq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_rdtsc,.-OPENSSL_rdtsc .globl OPENSSL_ia32_cpuid @@ -205,6 +209,7 @@ OPENSSL_ia32_cpuid: .type OPENSSL_cleanse,@function .align 16 OPENSSL_cleanse: +.cfi_startproc xorq %rax,%rax cmpq $15,%rsi jae .Lot @@ -234,12 +239,14 @@ OPENSSL_cleanse: cmpq $0,%rsi jne .Little .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_cleanse,.-OPENSSL_cleanse .globl CRYPTO_memcmp .type CRYPTO_memcmp,@function .align 16 CRYPTO_memcmp: +.cfi_startproc xorq %rax,%rax xorq %r10,%r10 cmpq $0,%rdx @@ -268,11 +275,13 @@ CRYPTO_memcmp: shrq $63,%rax .Lno_data: .byte 0xf3,0xc3 +.cfi_endproc .size CRYPTO_memcmp,.-CRYPTO_memcmp .globl OPENSSL_wipe_cpu .type OPENSSL_wipe_cpu,@function .align 16 OPENSSL_wipe_cpu: +.cfi_startproc pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 @@ -299,11 +308,13 @@ OPENSSL_wipe_cpu: xorq %r11,%r11 leaq 8(%rsp),%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu .globl OPENSSL_instrument_bus .type OPENSSL_instrument_bus,@function .align 16 OPENSSL_instrument_bus: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rsi,%r11 @@ -330,12 +341,14 @@ OPENSSL_instrument_bus: movq %r11,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus,.-OPENSSL_instrument_bus .globl OPENSSL_instrument_bus2 .type OPENSSL_instrument_bus2,@function .align 16 OPENSSL_instrument_bus2: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rdx,%r11 @@ -378,11 +391,13 @@ OPENSSL_instrument_bus2: movq 8(%rsp),%rax subq %rcx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2 .globl OPENSSL_ia32_rdrand_bytes .type OPENSSL_ia32_rdrand_bytes,@function .align 16 OPENSSL_ia32_rdrand_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdrand_bytes @@ -419,11 +434,13 @@ OPENSSL_ia32_rdrand_bytes: .Ldone_rdrand_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdrand_bytes,.-OPENSSL_ia32_rdrand_bytes .globl OPENSSL_ia32_rdseed_bytes .type OPENSSL_ia32_rdseed_bytes,@function .align 16 OPENSSL_ia32_rdseed_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdseed_bytes @@ -460,4 +477,5 @@ OPENSSL_ia32_rdseed_bytes: .Ldone_rdseed_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdseed_bytes,.-OPENSSL_ia32_rdseed_bytes diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/opensslconf.h index 6094de421edbe2..80bda2b852187b 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/opensslconf.h @@ -93,9 +93,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/include/progs.h b/deps/openssl/config/archs/BSD-x86_64/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/include/progs.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/openssl-cl.gypi b/deps/openssl/config/archs/BSD-x86_64/asm/openssl-cl.gypi index 046ed1ab79500b..6ced0528cacc41 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/openssl-cl.gypi +++ b/deps/openssl/config/archs/BSD-x86_64/asm/openssl-cl.gypi @@ -15,6 +15,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/openssl.gypi b/deps/openssl/config/archs/BSD-x86_64/asm/openssl.gypi index 08b438900a5857..fec8bfc6a2f6e1 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/openssl.gypi +++ b/deps/openssl/config/archs/BSD-x86_64/asm/openssl.gypi @@ -723,6 +723,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/configdata.pm b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/configdata.pm index bf9459acade3c8..30164e88aa0d0c 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/configdata.pm @@ -48,14 +48,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "AESNI_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)../config/fake_gcc.pl", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "BSD-x86_64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -236,6 +236,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -352,8 +353,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -621,14 +622,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -704,6 +697,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1501,6 +1502,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3256,7 +3263,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3264,6 +3270,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3762,14 +3769,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4210,6 +4209,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4904,49 +4911,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4956,25 +4955,21 @@ our %unified_info = ( "crypto/aes/aesni-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4992,13 +4987,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -5012,613 +5005,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5632,7 +5523,6 @@ our %unified_info = ( "crypto/bn/asm/x86_64-gcc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5642,182 +5532,152 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5827,19 +5687,16 @@ our %unified_info = ( "crypto/bn/rsaz-avx2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz_exp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5865,31 +5722,26 @@ our %unified_info = ( "crypto/bn/x86_64-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont5.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5899,37 +5751,31 @@ our %unified_info = ( "crypto/camellia/cmll-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5939,31 +5785,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5981,278 +5822,232 @@ our %unified_info = ( "crypto/chacha/chacha-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6262,301 +6057,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6564,7 +6309,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6572,7 +6316,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6580,7 +6323,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6588,7 +6330,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6596,7 +6337,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6604,163 +6344,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6778,247 +6491,206 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_devcrypto.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7026,21 +6698,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7048,13 +6717,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7062,81 +6729,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7144,328 +6798,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7475,91 +7068,76 @@ our %unified_info = ( "crypto/md5/md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/aesni-gcm-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7578,7 +7156,6 @@ our %unified_info = ( "crypto/modes/ghash-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7588,361 +7165,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7964,265 +7481,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8232,31 +7705,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8266,7 +7734,6 @@ our %unified_info = ( "crypto/sha/keccak1600-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8280,7 +7747,6 @@ our %unified_info = ( "crypto/sha/sha1-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-mips.o" => @@ -8298,19 +7764,16 @@ our %unified_info = ( "crypto/sha/sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8324,7 +7787,6 @@ our %unified_info = ( "crypto/sha/sha256-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-mips.o" => @@ -8342,13 +7804,11 @@ our %unified_info = ( "crypto/sha/sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8374,727 +7834,606 @@ our %unified_info = ( "crypto/sha/sha512-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86_64cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86_64.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9145,6 +8484,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9389,7 +8736,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9715,7 +9061,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9761,7 +9106,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9827,7 +9171,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9852,7 +9195,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9950,7 +9292,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -10000,18 +9341,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -10022,6 +9360,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10085,10 +9427,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10117,6 +9455,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10381,6 +9723,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15391,7 +14734,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15399,6 +14741,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15626,6 +14969,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15728,10 +15079,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15760,6 +15107,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aes-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aes-x86_64.s deleted file mode 100644 index f0c1685fb93450..00000000000000 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aes-x86_64.s +++ /dev/null @@ -1,2649 +0,0 @@ -.text -.type _x86_64_AES_encrypt,@function -.align 16 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Lenc_loop -.align 16 -.Lenc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz .Lenc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_encrypt,.-_x86_64_AES_encrypt -.type _x86_64_AES_encrypt_compact,@function -.align 16 -_x86_64_AES_encrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Lenc_loop_compact -.align 16 -.Lenc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Lenc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp .Lenc_loop_compact -.align 16 -.Lenc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact -.globl AES_encrypt -.type AES_encrypt,@function -.align 16 -.globl asm_AES_encrypt -.hidden asm_AES_encrypt -asm_AES_encrypt: -AES_encrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Lenc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lenc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_encrypt,.-AES_encrypt -.type _x86_64_AES_decrypt,@function -.align 16 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Ldec_loop -.align 16 -.Ldec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz .Ldec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_decrypt,.-_x86_64_AES_decrypt -.type _x86_64_AES_decrypt_compact,@function -.align 16 -_x86_64_AES_decrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Ldec_loop_compact - -.align 16 -.Ldec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Ldec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp .Ldec_loop_compact -.align 16 -.Ldec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact -.globl AES_decrypt -.type AES_decrypt,@function -.align 16 -.globl asm_AES_decrypt -.hidden asm_AES_decrypt -asm_AES_decrypt: -AES_decrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Ldec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Ldec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_decrypt,.-AES_decrypt -.globl AES_set_encrypt_key -.type AES_set_encrypt_key,@function -.align 16 -AES_set_encrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $8,%rsp -.cfi_adjust_cfa_offset 8 -.Lenc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Lenc_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_encrypt_key,.-AES_set_encrypt_key - -.type _x86_64_AES_set_encrypt_key,@function -.align 16 -_x86_64_AES_set_encrypt_key: -.cfi_startproc - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz .Lbadpointer - testq $-1,%rdi - jz .Lbadpointer - - leaq .LAES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je .L10rounds - cmpl $192,%ecx - je .L12rounds - cmpl $256,%ecx - je .L14rounds - movq $-2,%rax - jmp .Lexit - -.L10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L10shortcut -.align 4 -.L10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -.L10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl .L10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L12shortcut -.align 4 -.L12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -.L12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je .L12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp .L12loop -.L12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L14shortcut -.align 4 -.L14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -.L14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je .L14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp .L14loop -.L14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp .Lexit - -.Lbadpointer: - movq $-1,%rax -.Lexit: -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key -.globl AES_set_decrypt_key -.type AES_set_decrypt_key,@function -.align 16 -AES_set_decrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - pushq %rdx -.cfi_adjust_cfa_offset 8 -.Ldec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne .Labort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.align 4 -.Linvert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne .Linvert - - leaq .LAES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.align 4 -.Lpermute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz .Lpermute - - xorq %rax,%rax -.Labort: - movq 8(%rsp),%r15 -.cfi_restore %r15 - movq 16(%rsp),%r14 -.cfi_restore %r14 - movq 24(%rsp),%r13 -.cfi_restore %r13 - movq 32(%rsp),%r12 -.cfi_restore %r12 - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Ldec_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_decrypt_key,.-AES_set_decrypt_key -.globl AES_cbc_encrypt -.type AES_cbc_encrypt,@function -.align 16 - -.globl asm_AES_cbc_encrypt -.hidden asm_AES_cbc_encrypt -asm_AES_cbc_encrypt: -AES_cbc_encrypt: -.cfi_startproc - cmpq $0,%rdx - je .Lcbc_epilogue - pushfq - - -.cfi_adjust_cfa_offset 8 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-32 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-40 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-48 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-56 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-64 -.Lcbc_prologue: - - cld - movl %r9d,%r9d - - leaq .LAES_Te(%rip),%r14 - leaq .LAES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - -.cfi_remember_state - movl OPENSSL_ia32cap_P(%rip),%r10d - cmpq $512,%rdx - jb .Lcbc_slow_prologue - testq $15,%rdx - jnz .Lcbc_slow_prologue - btl $28,%r10d - jc .Lcbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb .Lcbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp .Lcbc_te_ok -.Lcbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.align 4 -.Lcbc_te_ok: - - xchgq %rsp,%r15 -.cfi_def_cfa_register %r15 - - movq %r15,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb .Lcbc_do_ecopy - cmpq $4096-248,%r10 - jb .Lcbc_skip_ecopy -.align 4 -.Lcbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -.Lcbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.align 4 -.Lcbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz .Lcbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je .LFAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.align 4 -.Lcbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz .Lcbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_fast_cleanup - - -.align 16 -.LFAST_DECRYPT: - cmpq %r8,%r9 - je .Lcbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.align 4 -.Lcbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz .Lcbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp .Lcbc_fast_cleanup - -.align 16 -.Lcbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.align 4 -.Lcbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz .Lcbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp .Lcbc_fast_dec_in_place_loop -.Lcbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.align 4 -.Lcbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je .Lcbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp .Lcbc_exit - - -.align 16 -.Lcbc_slow_prologue: -.cfi_restore_state - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp -.cfi_def_cfa_register %rbp - - movq %rbp,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je .LSLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz .Lcbc_slow_enc_tail - -.align 4 -.Lcbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz .Lcbc_slow_enc_loop - testq $15,%r10 - jnz .Lcbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp .Lcbc_slow_enc_loop - -.align 16 -.LSLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.align 4 -.Lcbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc .Lcbc_slow_dec_partial - jz .Lcbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp .Lcbc_slow_dec_loop -.Lcbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp .Lcbc_exit - -.align 16 -.Lcbc_exit: - movq 16(%rsp),%rsi -.cfi_def_cfa %rsi,64 - movq (%rsi),%r15 -.cfi_restore %r15 - movq 8(%rsi),%r14 -.cfi_restore %r14 - movq 16(%rsi),%r13 -.cfi_restore %r13 - movq 24(%rsi),%r12 -.cfi_restore %r12 - movq 32(%rsi),%rbp -.cfi_restore %rbp - movq 40(%rsi),%rbx -.cfi_restore %rbx - leaq 48(%rsi),%rsp -.cfi_def_cfa %rsp,16 -.Lcbc_popfq: - popfq - - -.cfi_adjust_cfa_offset -8 -.Lcbc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_cbc_encrypt,.-AES_cbc_encrypt -.align 64 -.LAES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.align 64 -.LAES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aesni-sha1-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aesni-sha1-x86_64.s index 4d2dfe44898fd5..978bd2b6239c15 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aesni-sha1-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha1_enc,@function .align 32 aesni_cbc_sha1_enc: +.cfi_startproc movl OPENSSL_ia32cap_P+0(%rip),%r10d movq OPENSSL_ia32cap_P+4(%rip),%r11 @@ -17,6 +18,7 @@ aesni_cbc_sha1_enc: je aesni_cbc_sha1_enc_avx jmp aesni_cbc_sha1_enc_ssse3 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc .type aesni_cbc_sha1_enc_ssse3,@function .align 32 @@ -2730,6 +2732,7 @@ K_XX_XX: .type aesni_cbc_sha1_enc_shaext,@function .align 32 aesni_cbc_sha1_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 movdqu (%r9),%xmm8 movd 16(%r9),%xmm9 @@ -3028,4 +3031,5 @@ aesni_cbc_sha1_enc_shaext: movdqu %xmm8,(%r9) movd %xmm9,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aesni-sha256-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aesni-sha256-x86_64.s index 5a47b3ee51b741..dd09f1b290af62 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aesni-sha256-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aesni-sha256-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha256_enc,@function .align 16 aesni_cbc_sha256_enc: +.cfi_startproc leaq OPENSSL_ia32cap_P(%rip),%r11 movl $1,%eax cmpq $0,%rdi @@ -30,6 +31,7 @@ aesni_cbc_sha256_enc: ud2 .Lprobe: .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc,.-aesni_cbc_sha256_enc .align 64 @@ -2528,7 +2530,15 @@ aesni_cbc_sha256_enc_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 120(%rsp),%rsi +.cfi_def_cfa %rsi,8 leaq -64(%rsp),%rsp + + + + movq %rsi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%esi vmovdqa %ymm6,0(%rsp) xorl %ecx,%esi @@ -2542,6 +2552,12 @@ aesni_cbc_sha256_enc_avx2: vmovdqu (%r13),%xmm9 vpinsrq $0,%r13,%xmm15,%xmm15 leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -2816,6 +2832,12 @@ aesni_cbc_sha256_enc_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4029,10 +4051,12 @@ aesni_cbc_sha256_enc_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xf8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 64+32(%rsp),%r8 - movq 120(%rsp),%rsi + movq 64+32(%rbp),%r8 + movq 64+56(%rbp),%rsi .cfi_def_cfa %rsi,8 vmovdqu %xmm8,(%r8) vzeroall @@ -4057,6 +4081,7 @@ aesni_cbc_sha256_enc_avx2: .type aesni_cbc_sha256_enc_shaext,@function .align 32 aesni_cbc_sha256_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 leaq K256+128(%rip),%rax movdqu (%r9),%xmm1 @@ -4406,4 +4431,5 @@ aesni_cbc_sha256_enc_shaext: movdqu %xmm1,(%r9) movdqu %xmm2,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc_shaext,.-aesni_cbc_sha256_enc_shaext diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aesni-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aesni-x86_64.s index 2986a647c1bb05..c1e791eff59235 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aesni-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/aesni-x86_64.s @@ -861,6 +861,7 @@ aesni_ecb_encrypt: .type aesni_ccm64_encrypt_blocks,@function .align 16 aesni_ccm64_encrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movdqu (%r8),%xmm6 movdqa .Lincrement64(%rip),%xmm9 @@ -919,11 +920,13 @@ aesni_ccm64_encrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks .globl aesni_ccm64_decrypt_blocks .type aesni_ccm64_decrypt_blocks,@function .align 16 aesni_ccm64_decrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movups (%r8),%xmm6 movdqu (%r9),%xmm3 @@ -1016,6 +1019,7 @@ aesni_ccm64_decrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks .globl aesni_ctr32_encrypt_blocks .type aesni_ctr32_encrypt_blocks,@function @@ -2790,6 +2794,7 @@ aesni_ocb_encrypt: .type __ocb_encrypt6,@function .align 32 __ocb_encrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2887,11 +2892,13 @@ __ocb_encrypt6: .byte 102,65,15,56,221,246 .byte 102,65,15,56,221,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt6,.-__ocb_encrypt6 .type __ocb_encrypt4,@function .align 32 __ocb_encrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2956,11 +2963,13 @@ __ocb_encrypt4: .byte 102,65,15,56,221,228 .byte 102,65,15,56,221,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt4,.-__ocb_encrypt4 .type __ocb_encrypt1,@function .align 32 __ocb_encrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm2,%xmm8 @@ -2991,6 +3000,7 @@ __ocb_encrypt1: .byte 102,15,56,221,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt1,.-__ocb_encrypt1 .globl aesni_ocb_decrypt @@ -3233,6 +3243,7 @@ aesni_ocb_decrypt: .type __ocb_decrypt6,@function .align 32 __ocb_decrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3324,11 +3335,13 @@ __ocb_decrypt6: .byte 102,65,15,56,223,246 .byte 102,65,15,56,223,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt6,.-__ocb_decrypt6 .type __ocb_decrypt4,@function .align 32 __ocb_decrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3389,11 +3402,13 @@ __ocb_decrypt4: .byte 102,65,15,56,223,228 .byte 102,65,15,56,223,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt4,.-__ocb_decrypt4 .type __ocb_decrypt1,@function .align 32 __ocb_decrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm7,%xmm2 @@ -3423,6 +3438,7 @@ __ocb_decrypt1: .byte 102,15,56,223,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt1,.-__ocb_decrypt1 .globl aesni_cbc_encrypt .type aesni_cbc_encrypt,@function @@ -4361,7 +4377,6 @@ __aesni_set_encrypt_key: addq $8,%rsp .cfi_adjust_cfa_offset -8 .byte 0xf3,0xc3 -.cfi_endproc .LSEH_end_set_encrypt_key: .align 16 @@ -4432,6 +4447,7 @@ __aesni_set_encrypt_key: shufps $170,%xmm1,%xmm1 xorps %xmm1,%xmm2 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_set_encrypt_key,.-aesni_set_encrypt_key .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key .align 64 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/bsaes-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/bsaes-x86_64.s deleted file mode 100644 index e1f3abadbc7214..00000000000000 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/aes/bsaes-x86_64.s +++ /dev/null @@ -1,2595 +0,0 @@ -.text - - - - -.type _bsaes_encrypt8,@function -.align 64 -_bsaes_encrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa 80(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 -_bsaes_encrypt8_bitslice: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Lenc_sbox -.align 16 -.Lenc_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Lenc_sbox: - pxor %xmm5,%xmm4 - pxor %xmm0,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm1,%xmm5 - pxor %xmm15,%xmm4 - - pxor %xmm2,%xmm5 - pxor %xmm6,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm3,%xmm2 - pxor %xmm4,%xmm3 - pxor %xmm0,%xmm2 - - pxor %xmm6,%xmm1 - pxor %xmm4,%xmm0 - movdqa %xmm6,%xmm10 - movdqa %xmm0,%xmm9 - movdqa %xmm4,%xmm8 - movdqa %xmm1,%xmm12 - movdqa %xmm5,%xmm11 - - pxor %xmm3,%xmm10 - pxor %xmm1,%xmm9 - pxor %xmm2,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm3,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm15,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm2,%xmm11 - pxor %xmm15,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm6,%xmm12 - movdqa %xmm4,%xmm11 - pxor %xmm0,%xmm12 - pxor %xmm5,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm1,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm3,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm0,%xmm13 - pand %xmm2,%xmm11 - movdqa %xmm6,%xmm14 - pand %xmm15,%xmm12 - pand %xmm4,%xmm13 - por %xmm5,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm5,%xmm11 - movdqa %xmm4,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm5,%xmm9 - pxor %xmm4,%xmm5 - pand %xmm14,%xmm4 - pand %xmm13,%xmm5 - pxor %xmm4,%xmm5 - pxor %xmm9,%xmm4 - pxor %xmm15,%xmm11 - pxor %xmm2,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm2,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm2 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm2,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm2 - pxor %xmm11,%xmm5 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm2 - - movdqa %xmm6,%xmm11 - movdqa %xmm0,%xmm7 - pxor %xmm3,%xmm11 - pxor %xmm1,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm3,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm1,%xmm3 - pand %xmm14,%xmm7 - pand %xmm12,%xmm1 - pand %xmm13,%xmm11 - pand %xmm8,%xmm3 - pxor %xmm11,%xmm7 - pxor %xmm1,%xmm3 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm1 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm6,%xmm10 - pxor %xmm0,%xmm6 - pand %xmm14,%xmm0 - pand %xmm13,%xmm6 - pxor %xmm0,%xmm6 - pxor %xmm10,%xmm0 - pxor %xmm11,%xmm6 - pxor %xmm11,%xmm3 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm1 - pxor %xmm15,%xmm6 - pxor %xmm5,%xmm0 - pxor %xmm6,%xmm3 - pxor %xmm15,%xmm5 - pxor %xmm0,%xmm15 - - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm4 - pxor %xmm2,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm4,%xmm3 - - pxor %xmm2,%xmm5 - decl %r10d - jl .Lenc_done - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm3,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm5,%xmm10 - pxor %xmm9,%xmm3 - pshufd $0x93,%xmm2,%xmm11 - pxor %xmm10,%xmm5 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm2 - pshufd $0x93,%xmm1,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm1 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm2,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm5,%xmm11 - pshufd $0x4E,%xmm2,%xmm7 - pxor %xmm1,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm3,%xmm10 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm1,%xmm5 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm12,%xmm8 - pxor %xmm10,%xmm2 - pxor %xmm14,%xmm6 - pxor %xmm13,%xmm5 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm1 - movdqa %xmm8,%xmm4 - movdqa 48(%r11),%xmm7 - jnz .Lenc_loop - movdqa 64(%r11),%xmm7 - jmp .Lenc_loop -.align 16 -.Lenc_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm2,%xmm10 - psrlq $1,%xmm2 - pxor %xmm4,%xmm1 - pxor %xmm6,%xmm2 - pand %xmm7,%xmm1 - pand %xmm7,%xmm2 - pxor %xmm1,%xmm4 - psllq $1,%xmm1 - pxor %xmm2,%xmm6 - psllq $1,%xmm2 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm2 - movdqa %xmm3,%xmm9 - psrlq $1,%xmm3 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm5,%xmm3 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm3 - pand %xmm7,%xmm15 - pxor %xmm3,%xmm5 - psllq $1,%xmm3 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm2,%xmm10 - psrlq $2,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm1,%xmm2 - pand %xmm8,%xmm6 - pand %xmm8,%xmm2 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm2,%xmm1 - psllq $2,%xmm2 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm2 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm5,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm5 - psllq $2,%xmm0 - pxor %xmm15,%xmm3 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm5,%xmm9 - psrlq $4,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $4,%xmm3 - pxor %xmm4,%xmm5 - pxor %xmm1,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm4 - psllq $4,%xmm5 - pxor %xmm3,%xmm1 - psllq $4,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm2,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm2 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_encrypt8,.-_bsaes_encrypt8 - -.type _bsaes_decrypt8,@function -.align 64 -_bsaes_decrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa -48(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Ldec_sbox -.align 16 -.Ldec_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Ldec_sbox: - pxor %xmm3,%xmm2 - - pxor %xmm6,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm3,%xmm5 - pxor %xmm5,%xmm6 - pxor %xmm6,%xmm0 - - pxor %xmm0,%xmm15 - pxor %xmm4,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm15,%xmm4 - pxor %xmm2,%xmm0 - movdqa %xmm2,%xmm10 - movdqa %xmm6,%xmm9 - movdqa %xmm0,%xmm8 - movdqa %xmm3,%xmm12 - movdqa %xmm4,%xmm11 - - pxor %xmm15,%xmm10 - pxor %xmm3,%xmm9 - pxor %xmm5,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm15,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm1,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm5,%xmm11 - pxor %xmm1,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm2,%xmm12 - movdqa %xmm0,%xmm11 - pxor %xmm6,%xmm12 - pxor %xmm4,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm3,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm15,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm6,%xmm13 - pand %xmm5,%xmm11 - movdqa %xmm2,%xmm14 - pand %xmm1,%xmm12 - pand %xmm0,%xmm13 - por %xmm4,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm4,%xmm11 - movdqa %xmm0,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm4,%xmm9 - pxor %xmm0,%xmm4 - pand %xmm14,%xmm0 - pand %xmm13,%xmm4 - pxor %xmm0,%xmm4 - pxor %xmm9,%xmm0 - pxor %xmm1,%xmm11 - pxor %xmm5,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm1,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm5,%xmm1 - pand %xmm14,%xmm7 - pand %xmm12,%xmm5 - pand %xmm13,%xmm11 - pand %xmm8,%xmm1 - pxor %xmm11,%xmm7 - pxor %xmm5,%xmm1 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm5 - pxor %xmm11,%xmm4 - pxor %xmm11,%xmm1 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm5 - - movdqa %xmm2,%xmm11 - movdqa %xmm6,%xmm7 - pxor %xmm15,%xmm11 - pxor %xmm3,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm3,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm3 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm3,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm3 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm2,%xmm10 - pxor %xmm6,%xmm2 - pand %xmm14,%xmm6 - pand %xmm13,%xmm2 - pxor %xmm6,%xmm2 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm3 - pxor %xmm6,%xmm0 - pxor %xmm4,%xmm5 - - pxor %xmm0,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm6,%xmm4 - pxor %xmm1,%xmm3 - pxor %xmm15,%xmm6 - pxor %xmm4,%xmm3 - pxor %xmm5,%xmm2 - pxor %xmm0,%xmm5 - pxor %xmm3,%xmm2 - - pxor %xmm15,%xmm3 - pxor %xmm2,%xmm6 - decl %r10d - jl .Ldec_done - - pshufd $0x4E,%xmm15,%xmm7 - pshufd $0x4E,%xmm2,%xmm13 - pxor %xmm15,%xmm7 - pshufd $0x4E,%xmm4,%xmm14 - pxor %xmm2,%xmm13 - pshufd $0x4E,%xmm0,%xmm8 - pxor %xmm4,%xmm14 - pshufd $0x4E,%xmm5,%xmm9 - pxor %xmm0,%xmm8 - pshufd $0x4E,%xmm3,%xmm10 - pxor %xmm5,%xmm9 - pxor %xmm13,%xmm15 - pxor %xmm13,%xmm0 - pshufd $0x4E,%xmm1,%xmm11 - pxor %xmm3,%xmm10 - pxor %xmm7,%xmm5 - pxor %xmm8,%xmm3 - pshufd $0x4E,%xmm6,%xmm12 - pxor %xmm1,%xmm11 - pxor %xmm14,%xmm0 - pxor %xmm9,%xmm1 - pxor %xmm6,%xmm12 - - pxor %xmm14,%xmm5 - pxor %xmm13,%xmm3 - pxor %xmm13,%xmm1 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm14,%xmm1 - pxor %xmm14,%xmm6 - pxor %xmm12,%xmm4 - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm5,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm3,%xmm10 - pxor %xmm9,%xmm5 - pshufd $0x93,%xmm1,%xmm11 - pxor %xmm10,%xmm3 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm1 - pshufd $0x93,%xmm2,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm2 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm1,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm3,%xmm11 - pshufd $0x4E,%xmm1,%xmm7 - pxor %xmm2,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm5,%xmm10 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm2,%xmm3 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm12,%xmm8 - pxor %xmm1,%xmm10 - pxor %xmm14,%xmm6 - pxor %xmm3,%xmm13 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm2 - movdqa %xmm13,%xmm5 - movdqa %xmm8,%xmm4 - movdqa %xmm2,%xmm1 - movdqa %xmm10,%xmm2 - movdqa -16(%r11),%xmm7 - jnz .Ldec_loop - movdqa -32(%r11),%xmm7 - jmp .Ldec_loop -.align 16 -.Ldec_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm2,%xmm9 - psrlq $1,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $1,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm6,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm4 - psllq $1,%xmm2 - pxor %xmm1,%xmm6 - psllq $1,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm3,%xmm5 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm5 - pand %xmm7,%xmm15 - pxor %xmm5,%xmm3 - psllq $1,%xmm5 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm1,%xmm10 - psrlq $2,%xmm1 - pxor %xmm4,%xmm6 - pxor %xmm2,%xmm1 - pand %xmm8,%xmm6 - pand %xmm8,%xmm1 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm1,%xmm2 - psllq $2,%xmm1 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm3,%xmm0 - pxor %xmm5,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm3 - psllq $2,%xmm0 - pxor %xmm15,%xmm5 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm3,%xmm9 - psrlq $4,%xmm3 - movdqa %xmm5,%xmm10 - psrlq $4,%xmm5 - pxor %xmm4,%xmm3 - pxor %xmm2,%xmm5 - pand %xmm7,%xmm3 - pand %xmm7,%xmm5 - pxor %xmm3,%xmm4 - psllq $4,%xmm3 - pxor %xmm5,%xmm2 - psllq $4,%xmm5 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm5 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm1 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_decrypt8,.-_bsaes_decrypt8 -.type _bsaes_key_convert,@function -.align 16 -_bsaes_key_convert: -.cfi_startproc - leaq .Lmasks(%rip),%r11 - movdqu (%rcx),%xmm7 - leaq 16(%rcx),%rcx - movdqa 0(%r11),%xmm0 - movdqa 16(%r11),%xmm1 - movdqa 32(%r11),%xmm2 - movdqa 48(%r11),%xmm3 - movdqa 64(%r11),%xmm4 - pcmpeqd %xmm5,%xmm5 - - movdqu (%rcx),%xmm6 - movdqa %xmm7,(%rax) - leaq 16(%rax),%rax - decl %r10d - jmp .Lkey_loop -.align 16 -.Lkey_loop: -.byte 102,15,56,0,244 - - movdqa %xmm0,%xmm8 - movdqa %xmm1,%xmm9 - - pand %xmm6,%xmm8 - pand %xmm6,%xmm9 - movdqa %xmm2,%xmm10 - pcmpeqb %xmm0,%xmm8 - psllq $4,%xmm0 - movdqa %xmm3,%xmm11 - pcmpeqb %xmm1,%xmm9 - psllq $4,%xmm1 - - pand %xmm6,%xmm10 - pand %xmm6,%xmm11 - movdqa %xmm0,%xmm12 - pcmpeqb %xmm2,%xmm10 - psllq $4,%xmm2 - movdqa %xmm1,%xmm13 - pcmpeqb %xmm3,%xmm11 - psllq $4,%xmm3 - - movdqa %xmm2,%xmm14 - movdqa %xmm3,%xmm15 - pxor %xmm5,%xmm8 - pxor %xmm5,%xmm9 - - pand %xmm6,%xmm12 - pand %xmm6,%xmm13 - movdqa %xmm8,0(%rax) - pcmpeqb %xmm0,%xmm12 - psrlq $4,%xmm0 - movdqa %xmm9,16(%rax) - pcmpeqb %xmm1,%xmm13 - psrlq $4,%xmm1 - leaq 16(%rcx),%rcx - - pand %xmm6,%xmm14 - pand %xmm6,%xmm15 - movdqa %xmm10,32(%rax) - pcmpeqb %xmm2,%xmm14 - psrlq $4,%xmm2 - movdqa %xmm11,48(%rax) - pcmpeqb %xmm3,%xmm15 - psrlq $4,%xmm3 - movdqu (%rcx),%xmm6 - - pxor %xmm5,%xmm13 - pxor %xmm5,%xmm14 - movdqa %xmm12,64(%rax) - movdqa %xmm13,80(%rax) - movdqa %xmm14,96(%rax) - movdqa %xmm15,112(%rax) - leaq 128(%rax),%rax - decl %r10d - jnz .Lkey_loop - - movdqa 80(%r11),%xmm7 - - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_key_convert,.-_bsaes_key_convert - -.globl bsaes_cbc_encrypt -.type bsaes_cbc_encrypt,@function -.align 16 -bsaes_cbc_encrypt: -.cfi_startproc - cmpl $0,%r9d - jne asm_AES_cbc_encrypt - cmpq $128,%rdx - jb asm_AES_cbc_encrypt - - movq %rsp,%rax -.Lcbc_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movq %r8,%rbx - shrq $4,%r14 - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - movdqu (%rbx),%xmm14 - subq $8,%r14 -.Lcbc_dec_loop: - movdqu 0(%r12),%xmm15 - movdqu 16(%r12),%xmm0 - movdqu 32(%r12),%xmm1 - movdqu 48(%r12),%xmm2 - movdqu 64(%r12),%xmm3 - movdqu 80(%r12),%xmm4 - movq %rsp,%rax - movdqu 96(%r12),%xmm5 - movl %edx,%r10d - movdqu 112(%r12),%xmm6 - movdqa %xmm14,32(%rbp) - - call _bsaes_decrypt8 - - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm2 - movdqu 112(%r12),%xmm14 - pxor %xmm13,%xmm4 - movdqu %xmm15,0(%r13) - leaq 128(%r12),%r12 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - subq $8,%r14 - jnc .Lcbc_dec_loop - - addq $8,%r14 - jz .Lcbc_dec_done - - movdqu 0(%r12),%xmm15 - movq %rsp,%rax - movl %edx,%r10d - cmpq $2,%r14 - jb .Lcbc_dec_one - movdqu 16(%r12),%xmm0 - je .Lcbc_dec_two - movdqu 32(%r12),%xmm1 - cmpq $4,%r14 - jb .Lcbc_dec_three - movdqu 48(%r12),%xmm2 - je .Lcbc_dec_four - movdqu 64(%r12),%xmm3 - cmpq $6,%r14 - jb .Lcbc_dec_five - movdqu 80(%r12),%xmm4 - je .Lcbc_dec_six - movdqu 96(%r12),%xmm5 - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm14 - pxor %xmm12,%xmm2 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_six: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm14 - pxor %xmm11,%xmm6 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_five: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm14 - pxor %xmm10,%xmm1 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_four: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm14 - pxor %xmm9,%xmm3 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_three: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm14 - pxor %xmm8,%xmm5 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_two: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm14 - pxor %xmm7,%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_one: - leaq (%r12),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm14 - movdqu %xmm14,(%r13) - movdqa %xmm15,%xmm14 - -.Lcbc_dec_done: - movdqu %xmm14,(%rbx) - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lcbc_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lcbc_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lcbc_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_cbc_encrypt,.-bsaes_cbc_encrypt - -.globl bsaes_ctr32_encrypt_blocks -.type bsaes_ctr32_encrypt_blocks,@function -.align 16 -bsaes_ctr32_encrypt_blocks: -.cfi_startproc - movq %rsp,%rax -.Lctr_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movdqu (%r8),%xmm0 - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movdqa %xmm0,32(%rbp) - cmpq $8,%rdx - jb .Lctr_enc_short - - movl %eax,%ebx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %ebx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - movdqa (%rsp),%xmm8 - leaq .LADD1(%rip),%r11 - movdqa 32(%rbp),%xmm15 - movdqa -32(%r11),%xmm7 -.byte 102,68,15,56,0,199 -.byte 102,68,15,56,0,255 - movdqa %xmm8,(%rsp) - jmp .Lctr_enc_loop -.align 16 -.Lctr_enc_loop: - movdqa %xmm15,32(%rbp) - movdqa %xmm15,%xmm0 - movdqa %xmm15,%xmm1 - paddd 0(%r11),%xmm0 - movdqa %xmm15,%xmm2 - paddd 16(%r11),%xmm1 - movdqa %xmm15,%xmm3 - paddd 32(%r11),%xmm2 - movdqa %xmm15,%xmm4 - paddd 48(%r11),%xmm3 - movdqa %xmm15,%xmm5 - paddd 64(%r11),%xmm4 - movdqa %xmm15,%xmm6 - paddd 80(%r11),%xmm5 - paddd 96(%r11),%xmm6 - - - - movdqa (%rsp),%xmm8 - leaq 16(%rsp),%rax - movdqa -16(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq .LBS0(%rip),%r11 - movl %ebx,%r10d - - call _bsaes_encrypt8_bitslice - - subq $8,%r14 - jc .Lctr_enc_loop_done - - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - movdqu 32(%r12),%xmm9 - movdqu 48(%r12),%xmm10 - movdqu 64(%r12),%xmm11 - movdqu 80(%r12),%xmm12 - movdqu 96(%r12),%xmm13 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - pxor %xmm15,%xmm7 - movdqa 32(%rbp),%xmm15 - pxor %xmm8,%xmm0 - movdqu %xmm7,0(%r13) - pxor %xmm9,%xmm3 - movdqu %xmm0,16(%r13) - pxor %xmm10,%xmm5 - movdqu %xmm3,32(%r13) - pxor %xmm11,%xmm2 - movdqu %xmm5,48(%r13) - pxor %xmm12,%xmm6 - movdqu %xmm2,64(%r13) - pxor %xmm13,%xmm1 - movdqu %xmm6,80(%r13) - pxor %xmm14,%xmm4 - movdqu %xmm1,96(%r13) - leaq .LADD1(%rip),%r11 - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - paddd 112(%r11),%xmm15 - jnz .Lctr_enc_loop - - jmp .Lctr_enc_done -.align 16 -.Lctr_enc_loop_done: - addq $8,%r14 - movdqu 0(%r12),%xmm7 - pxor %xmm7,%xmm15 - movdqu %xmm15,0(%r13) - cmpq $2,%r14 - jb .Lctr_enc_done - movdqu 16(%r12),%xmm8 - pxor %xmm8,%xmm0 - movdqu %xmm0,16(%r13) - je .Lctr_enc_done - movdqu 32(%r12),%xmm9 - pxor %xmm9,%xmm3 - movdqu %xmm3,32(%r13) - cmpq $4,%r14 - jb .Lctr_enc_done - movdqu 48(%r12),%xmm10 - pxor %xmm10,%xmm5 - movdqu %xmm5,48(%r13) - je .Lctr_enc_done - movdqu 64(%r12),%xmm11 - pxor %xmm11,%xmm2 - movdqu %xmm2,64(%r13) - cmpq $6,%r14 - jb .Lctr_enc_done - movdqu 80(%r12),%xmm12 - pxor %xmm12,%xmm6 - movdqu %xmm6,80(%r13) - je .Lctr_enc_done - movdqu 96(%r12),%xmm13 - pxor %xmm13,%xmm1 - movdqu %xmm1,96(%r13) - jmp .Lctr_enc_done - -.align 16 -.Lctr_enc_short: - leaq 32(%rbp),%rdi - leaq 48(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - movdqu (%r12),%xmm0 - leaq 16(%r12),%r12 - movl 44(%rbp),%eax - bswapl %eax - pxor 48(%rbp),%xmm0 - incl %eax - movdqu %xmm0,(%r13) - bswapl %eax - leaq 16(%r13),%r13 - movl %eax,44(%rsp) - decq %r14 - jnz .Lctr_enc_short - -.Lctr_enc_done: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lctr_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lctr_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lctr_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_ctr32_encrypt_blocks,.-bsaes_ctr32_encrypt_blocks -.globl bsaes_xts_encrypt -.type bsaes_xts_encrypt,@function -.align 16 -bsaes_xts_encrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - andq $-16,%r14 - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_enc_short - jmp .Lxts_enc_loop - -.align 16 -.Lxts_enc_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm1,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_enc_loop - -.Lxts_enc_short: - addq $0x80,%r14 - jz .Lxts_enc_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_enc_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_enc_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_enc_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_enc_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_enc_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_enc_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - movdqu %xmm1,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - movdqu %xmm2,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - movdqu %xmm5,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - movdqu %xmm3,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_enc_done: - andl $15,%ebx - jz .Lxts_enc_ret - movq %r13,%rdx - -.Lxts_enc_steal: - movzbl (%r12),%eax - movzbl -16(%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,-16(%rdx) - movb %cl,0(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_enc_steal - - movdqu -16(%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm6 - movdqu %xmm6,-16(%r13) - -.Lxts_enc_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_encrypt,.-bsaes_xts_encrypt - -.globl bsaes_xts_decrypt -.type bsaes_xts_decrypt,@function -.align 16 -bsaes_xts_decrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - xorl %eax,%eax - andq $-16,%r14 - testl $15,%ebx - setnz %al - shlq $4,%rax - subq %rax,%r14 - - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_dec_short - jmp .Lxts_dec_loop - -.align 16 -.Lxts_dec_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_dec_loop - -.Lxts_dec_short: - addq $0x80,%r14 - jz .Lxts_dec_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_dec_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_dec_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_dec_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_dec_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_dec_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_dec_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_dec_done: - andl $15,%ebx - jz .Lxts_dec_ret - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - movdqa %xmm6,%xmm5 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - movdqu (%r12),%xmm15 - pxor %xmm13,%xmm6 - - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm6 - movq %r13,%rdx - movdqu %xmm6,(%r13) - -.Lxts_dec_steal: - movzbl 16(%r12),%eax - movzbl (%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,(%rdx) - movb %cl,16(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_dec_steal - - movdqu (%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm5,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm5 - movdqu %xmm5,(%r13) - -.Lxts_dec_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_decrypt,.-bsaes_xts_decrypt -.type _bsaes_const,@object -.align 64 -_bsaes_const: -.LM0ISR: -.quad 0x0a0e0206070b0f03, 0x0004080c0d010509 -.LISRM0: -.quad 0x01040b0e0205080f, 0x0306090c00070a0d -.LISR: -.quad 0x0504070602010003, 0x0f0e0d0c080b0a09 -.LBS0: -.quad 0x5555555555555555, 0x5555555555555555 -.LBS1: -.quad 0x3333333333333333, 0x3333333333333333 -.LBS2: -.quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f -.LSR: -.quad 0x0504070600030201, 0x0f0e0d0c0a09080b -.LSRM0: -.quad 0x0304090e00050a0f, 0x01060b0c0207080d -.LM0SR: -.quad 0x0a0e02060f03070b, 0x0004080c05090d01 -.LSWPUP: -.quad 0x0706050403020100, 0x0c0d0e0f0b0a0908 -.LSWPUPM0SR: -.quad 0x0a0d02060c03070b, 0x0004080f05090e01 -.LADD1: -.quad 0x0000000000000000, 0x0000000100000000 -.LADD2: -.quad 0x0000000000000000, 0x0000000200000000 -.LADD3: -.quad 0x0000000000000000, 0x0000000300000000 -.LADD4: -.quad 0x0000000000000000, 0x0000000400000000 -.LADD5: -.quad 0x0000000000000000, 0x0000000500000000 -.LADD6: -.quad 0x0000000000000000, 0x0000000600000000 -.LADD7: -.quad 0x0000000000000000, 0x0000000700000000 -.LADD8: -.quad 0x0000000000000000, 0x0000000800000000 -.Lxts_magic: -.long 0x87,0,1,0 -.Lmasks: -.quad 0x0101010101010101, 0x0101010101010101 -.quad 0x0202020202020202, 0x0202020202020202 -.quad 0x0404040404040404, 0x0404040404040404 -.quad 0x0808080808080808, 0x0808080808080808 -.LM0: -.quad 0x02060a0e03070b0f, 0x0004080c0105090d -.L63: -.quad 0x6363636363636363, 0x6363636363636363 -.byte 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44,32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32,65,110,100,121,32,80,111,108,121,97,107,111,118,0 -.align 64 -.size _bsaes_const,.-_bsaes_const diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/bn/rsaz-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/bn/rsaz-x86_64.s index f8e4a805887366..7876e0b8f93d9c 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/bn/rsaz-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/bn/rsaz-x86_64.s @@ -29,7 +29,7 @@ rsaz_512_sqr: subq $128+24,%rsp .cfi_adjust_cfa_offset 128+24 .Lsqr_body: - movq %rdx,%rbp +.byte 102,72,15,110,202 movq (%rsi),%rdx movq 8(%rsi),%rax movq %rcx,128(%rsp) @@ -44,6 +44,7 @@ rsaz_512_sqr: movl %r8d,128+8(%rsp) movq %rdx,%rbx + movq %rax,%rbp mulq %rdx movq %rax,%r8 movq 16(%rsi),%rax @@ -82,31 +83,29 @@ rsaz_512_sqr: mulq %rbx addq %rax,%r14 movq %rbx,%rax - movq %rdx,%r15 - adcq $0,%r15 + adcq $0,%rdx + xorq %rcx,%rcx addq %r8,%r8 - movq %r9,%rcx - adcq %r9,%r9 + movq %rdx,%r15 + adcq $0,%rcx mulq %rax - movq %rax,(%rsp) - addq %rdx,%r8 - adcq $0,%r9 + addq %r8,%rdx + adcq $0,%rcx - movq %r8,8(%rsp) - shrq $63,%rcx + movq %rax,(%rsp) + movq %rdx,8(%rsp) - movq 8(%rsi),%r8 movq 16(%rsi),%rax - mulq %r8 + mulq %rbp addq %rax,%r10 movq 24(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r11 movq 32(%rsi),%rax adcq $0,%rdx @@ -114,7 +113,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r12 movq 40(%rsi),%rax adcq $0,%rdx @@ -122,7 +121,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r13 movq 48(%rsi),%rax adcq $0,%rdx @@ -130,7 +129,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r14 movq 56(%rsi),%rax adcq $0,%rdx @@ -138,39 +137,39 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r15 - movq %r8,%rax + movq %rbp,%rax adcq $0,%rdx addq %rbx,%r15 - movq %rdx,%r8 - movq %r10,%rdx - adcq $0,%r8 + adcq $0,%rdx - addq %rdx,%rdx - leaq (%rcx,%r10,2),%r10 - movq %r11,%rbx - adcq %r11,%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r8 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax + movq 16(%rsi),%rbp addq %rax,%r9 + movq 24(%rsi),%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,16(%rsp) movq %r10,24(%rsp) - shrq $63,%rbx - movq 16(%rsi),%r9 - movq 24(%rsi),%rax - mulq %r9 + mulq %rbp addq %rax,%r12 movq 32(%rsi),%rax movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r13 movq 40(%rsi),%rax adcq $0,%rdx @@ -178,7 +177,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r14 movq 48(%rsi),%rax adcq $0,%rdx @@ -186,9 +185,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - movq %r12,%r10 - leaq (%rbx,%r12,2),%r12 + mulq %rbp addq %rax,%r15 movq 56(%rsi),%rax adcq $0,%rdx @@ -196,36 +193,40 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - shrq $63,%r10 + mulq %rbp addq %rax,%r8 - movq %r9,%rax + movq %rbp,%rax adcq $0,%rdx addq %rcx,%r8 - movq %rdx,%r9 - adcq $0,%r9 + adcq $0,%rdx - movq %r13,%rcx - leaq (%r10,%r13,2),%r13 + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r9 + adcq %r12,%r12 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax + movq 24(%rsi),%r10 addq %rax,%r11 + movq 32(%rsi),%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,32(%rsp) movq %r12,40(%rsp) - shrq $63,%rcx - movq 24(%rsi),%r10 - movq 32(%rsi),%rax + movq %rax,%r11 mulq %r10 addq %rax,%r14 movq 40(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx + movq %rax,%r12 mulq %r10 addq %rax,%r15 movq 48(%rsi),%rax @@ -234,9 +235,8 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx + movq %rax,%rbp mulq %r10 - movq %r14,%r12 - leaq (%rcx,%r14,2),%r14 addq %rax,%r8 movq 56(%rsi),%rax adcq $0,%rdx @@ -245,32 +245,33 @@ rsaz_512_sqr: adcq $0,%rbx mulq %r10 - shrq $63,%r12 addq %rax,%r9 movq %r10,%rax adcq $0,%rdx addq %rbx,%r9 - movq %rdx,%r10 - adcq $0,%r10 + adcq $0,%rdx - movq %r15,%rbx - leaq (%r12,%r15,2),%r15 + xorq %rbx,%rbx + addq %r13,%r13 + movq %rdx,%r10 + adcq %r14,%r14 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r13 + movq %r12,%rax adcq %rdx,%r14 - adcq $0,%r15 + adcq $0,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) - shrq $63,%rbx - movq 32(%rsi),%r11 - movq 40(%rsi),%rax mulq %r11 addq %rax,%r8 - movq 48(%rsi),%rax + movq %rbp,%rax movq %rdx,%rcx adcq $0,%rcx @@ -278,97 +279,99 @@ rsaz_512_sqr: addq %rax,%r9 movq 56(%rsi),%rax adcq $0,%rdx - movq %r8,%r12 - leaq (%rbx,%r8,2),%r8 addq %rcx,%r9 movq %rdx,%rcx adcq $0,%rcx + movq %rax,%r14 mulq %r11 - shrq $63,%r12 addq %rax,%r10 movq %r11,%rax adcq $0,%rdx addq %rcx,%r10 - movq %rdx,%r11 - adcq $0,%r11 + adcq $0,%rdx - movq %r9,%rcx - leaq (%r12,%r9,2),%r9 + xorq %rcx,%rcx + addq %r15,%r15 + movq %rdx,%r11 + adcq %r8,%r8 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r15 + movq %rbp,%rax adcq %rdx,%r8 - adcq $0,%r9 + adcq $0,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) - shrq $63,%rcx - movq 40(%rsi),%r12 - movq 48(%rsi),%rax mulq %r12 addq %rax,%r10 - movq 56(%rsi),%rax + movq %r14,%rax movq %rdx,%rbx adcq $0,%rbx mulq %r12 addq %rax,%r11 movq %r12,%rax - movq %r10,%r15 - leaq (%rcx,%r10,2),%r10 adcq $0,%rdx - shrq $63,%r15 addq %rbx,%r11 - movq %rdx,%r12 - adcq $0,%r12 + adcq $0,%rdx - movq %r11,%rbx - leaq (%r15,%r11,2),%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r12 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r9 + movq %r14,%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) - movq 48(%rsi),%r13 - movq 56(%rsi),%rax - mulq %r13 + mulq %rbp addq %rax,%r12 - movq %r13,%rax - movq %rdx,%r13 - adcq $0,%r13 + movq %rbp,%rax + adcq $0,%rdx - xorq %r14,%r14 - shlq $1,%rbx + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r13 adcq %r12,%r12 - adcq %r13,%r13 - adcq %r14,%r14 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r11 + movq %r14,%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,96(%rsp) movq %r12,104(%rsp) - movq 56(%rsi),%rax - mulq %rax - addq %rax,%r13 - adcq $0,%rdx + xorq %rbx,%rbx + addq %r13,%r13 + adcq $0,%rbx - addq %rdx,%r14 + mulq %rax - movq %r13,112(%rsp) - movq %r14,120(%rsp) + addq %rcx,%rax + addq %r13,%rax + adcq %rbx,%rdx movq (%rsp),%r8 movq 8(%rsp),%r9 @@ -378,6 +381,10 @@ rsaz_512_sqr: movq 40(%rsp),%r13 movq 48(%rsp),%r14 movq 56(%rsp),%r15 +.byte 102,72,15,126,205 + + movq %rax,112(%rsp) + movq %rdx,120(%rsp) call __rsaz_512_reduce @@ -406,9 +413,9 @@ rsaz_512_sqr: .Loop_sqrx: movl %r8d,128+8(%rsp) .byte 102,72,15,110,199 -.byte 102,72,15,110,205 mulxq %rax,%r8,%r9 + movq %rax,%rbx mulxq 16(%rsi),%rcx,%r10 xorq %rbp,%rbp @@ -416,40 +423,39 @@ rsaz_512_sqr: mulxq 24(%rsi),%rax,%r11 adcxq %rcx,%r9 - mulxq 32(%rsi),%rcx,%r12 +.byte 0xc4,0x62,0xf3,0xf6,0xa6,0x20,0x00,0x00,0x00 adcxq %rax,%r10 - mulxq 40(%rsi),%rax,%r13 +.byte 0xc4,0x62,0xfb,0xf6,0xae,0x28,0x00,0x00,0x00 adcxq %rcx,%r11 -.byte 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 + mulxq 48(%rsi),%rcx,%r14 adcxq %rax,%r12 adcxq %rcx,%r13 -.byte 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rax,%r15 adcxq %rax,%r14 adcxq %rbp,%r15 - movq %r9,%rcx - shldq $1,%r8,%r9 - shlq $1,%r8 - - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx - adcxq %rdx,%r8 - movq 8(%rsi),%rdx - adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi + movq %rbx,%rdx + xorq %rcx,%rcx + adoxq %r8,%r8 + adcxq %rdi,%r8 + adoxq %rbp,%rcx + adcxq %rbp,%rcx movq %rax,(%rsp) movq %r8,8(%rsp) - mulxq 16(%rsi),%rax,%rbx +.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x10,0x00,0x00,0x00 adoxq %rax,%r10 adcxq %rbx,%r11 -.byte 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r8 adoxq %rdi,%r11 +.byte 0x66 adcxq %r8,%r12 mulxq 32(%rsi),%rax,%rbx @@ -467,24 +473,25 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 adoxq %rdi,%r15 adcxq %rbp,%r8 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r8 +.byte 0x48,0x8b,0x96,0x10,0x00,0x00,0x00 - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rcx - movq 16(%rsi),%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rcx,%r10 - adcxq %rbp,%r11 + adoxq %rbp,%rbx + adcxq %rdi,%r10 + adcxq %rbp,%rbx movq %r9,16(%rsp) .byte 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r9 adoxq %rdi,%r12 adcxq %r9,%r13 @@ -492,7 +499,7 @@ rsaz_512_sqr: adoxq %rax,%r13 adcxq %rcx,%r14 - mulxq 40(%rsi),%rdi,%r9 +.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x28,0x00,0x00,0x00 adoxq %rdi,%r14 adcxq %r9,%r15 @@ -500,27 +507,28 @@ rsaz_512_sqr: adoxq %rax,%r15 adcxq %rcx,%r8 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rdi,%r9 adoxq %rdi,%r8 adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r9 + movq 24(%rsi),%rdx - movq %r13,%rcx - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + xorq %rcx,%rcx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 24(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx movq %r11,32(%rsp) -.byte 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 + movq %r12,40(%rsp) -.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 + mulxq 32(%rsi),%rax,%rbx adoxq %rax,%r14 adcxq %rbx,%r15 @@ -535,25 +543,25 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r10 adoxq %rdi,%r9 adcxq %rbp,%r10 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r10 + movq 32(%rsi),%rdx -.byte 0x66 - movq %r15,%rbx - shldq $1,%r14,%r15 - shldq $1,%rcx,%r14 + xorq %rbx,%rbx + adoxq %r13,%r13 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r14,%r14 adcxq %rax,%r13 - adcxq %rdx,%r14 - movq 32(%rsi),%rdx - adcxq %rbp,%r15 + adoxq %rbp,%rbx + adcxq %rdi,%r14 + adcxq %rbp,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) -.byte 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 + mulxq 40(%rsi),%rdi,%r11 adoxq %rdi,%r8 adcxq %r11,%r9 @@ -564,18 +572,19 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r11 adoxq %rdi,%r10 adcxq %rbp,%r11 + mulxq %rdx,%rax,%rdi + movq 40(%rsi),%rdx adoxq %rbp,%r11 - movq %r9,%rcx - shldq $1,%r8,%r9 - shldq $1,%rbx,%r8 + xorq %rcx,%rcx + adoxq %r15,%r15 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r8,%r8 adcxq %rax,%r15 - adcxq %rdx,%r8 - movq 40(%rsi),%rdx - adcxq %rbp,%r9 + adoxq %rbp,%rcx + adcxq %rdi,%r8 + adcxq %rbp,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) @@ -588,18 +597,19 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 adoxq %rdi,%r11 adcxq %rbp,%r12 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r12 + movq 48(%rsi),%rdx - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rdx,%r10 - movq 48(%rsi),%rdx - adcxq %rbp,%r11 + adcxq %rdi,%r10 + adoxq %rbp,%rbx + adcxq %rbp,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) @@ -609,31 +619,31 @@ rsaz_512_sqr: adoxq %rax,%r12 adoxq %rbp,%r13 - xorq %r14,%r14 - shldq $1,%r13,%r14 - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + mulxq %rdx,%rax,%rdi + xorq %rcx,%rcx + movq 56(%rsi),%rdx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 56(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx .byte 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 .byte 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 mulxq %rdx,%rax,%rdx - adoxq %rax,%r13 - adoxq %rbp,%rdx + xorq %rbx,%rbx + adoxq %r13,%r13 -.byte 0x66 - addq %rdx,%r14 + adcxq %rcx,%rax + adoxq %rbp,%rbx + adcxq %r13,%rax + adcxq %rdx,%rbx - movq %r13,112(%rsp) - movq %r14,120(%rsp) .byte 102,72,15,126,199 .byte 102,72,15,126,205 @@ -647,6 +657,9 @@ rsaz_512_sqr: movq 48(%rsp),%r14 movq 56(%rsp),%r15 + movq %rax,112(%rsp) + movq %rbx,120(%rsp) + call __rsaz_512_reducex addq 64(%rsp),%r8 @@ -1440,6 +1453,7 @@ rsaz_512_mul_by_one: .type __rsaz_512_reduce,@function .align 32 __rsaz_512_reduce: +.cfi_startproc movq %r8,%rbx imulq 128+8(%rsp),%rbx movq 0(%rbp),%rax @@ -1519,10 +1533,12 @@ __rsaz_512_reduce: jne .Lreduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reduce,.-__rsaz_512_reduce .type __rsaz_512_reducex,@function .align 32 __rsaz_512_reducex: +.cfi_startproc imulq %r8,%rdx xorq %rsi,%rsi @@ -1575,10 +1591,12 @@ __rsaz_512_reducex: jne .Lreduction_loopx .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reducex,.-__rsaz_512_reducex .type __rsaz_512_subtract,@function .align 32 __rsaz_512_subtract: +.cfi_startproc movq %r8,(%rdi) movq %r9,8(%rdi) movq %r10,16(%rdi) @@ -1632,10 +1650,12 @@ __rsaz_512_subtract: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_subtract,.-__rsaz_512_subtract .type __rsaz_512_mul,@function .align 32 __rsaz_512_mul: +.cfi_startproc leaq 8(%rsp),%rdi movq (%rsi),%rax @@ -1774,10 +1794,12 @@ __rsaz_512_mul: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mul,.-__rsaz_512_mul .type __rsaz_512_mulx,@function .align 32 __rsaz_512_mulx: +.cfi_startproc mulxq (%rsi),%rbx,%r8 movq $-6,%rcx @@ -1894,11 +1916,13 @@ __rsaz_512_mulx: movq %r15,8+64+56(%rsp) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mulx,.-__rsaz_512_mulx .globl rsaz_512_scatter4 .type rsaz_512_scatter4,@function .align 16 rsaz_512_scatter4: +.cfi_startproc leaq (%rdi,%rdx,8),%rdi movl $8,%r9d jmp .Loop_scatter @@ -1911,12 +1935,14 @@ rsaz_512_scatter4: decl %r9d jnz .Loop_scatter .byte 0xf3,0xc3 +.cfi_endproc .size rsaz_512_scatter4,.-rsaz_512_scatter4 .globl rsaz_512_gather4 .type rsaz_512_gather4,@function .align 16 rsaz_512_gather4: +.cfi_startproc movd %edx,%xmm8 movdqa .Linc+16(%rip),%xmm1 movdqa .Linc(%rip),%xmm0 @@ -1980,6 +2006,7 @@ rsaz_512_gather4: jnz .Loop_gather .byte 0xf3,0xc3 .LSEH_end_rsaz_512_gather4: +.cfi_endproc .size rsaz_512_gather4,.-rsaz_512_gather4 .align 64 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/bn/x86_64-mont5.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/bn/x86_64-mont5.s index df4b6610a02a47..40a60a3c8fc6b9 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/bn/x86_64-mont5.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/bn/x86_64-mont5.s @@ -550,6 +550,7 @@ bn_mul4x_mont_gather5: .type mul4x_internal,@function .align 32 mul4x_internal: +.cfi_startproc shlq $5,%r9 movd 8(%rax),%xmm5 leaq .Linc(%rip),%rax @@ -1071,6 +1072,7 @@ mul4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqr4x_sub_entry +.cfi_endproc .size mul4x_internal,.-mul4x_internal .globl bn_power5 .type bn_power5,@function @@ -1213,6 +1215,7 @@ bn_power5: .align 32 bn_sqr8x_internal: __bn_sqr8x_internal: +.cfi_startproc @@ -1987,10 +1990,12 @@ __bn_sqr8x_reduction: cmpq %rdx,%rdi jb .L8x_reduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size bn_sqr8x_internal,.-bn_sqr8x_internal .type __bn_post4x_internal,@function .align 32 __bn_post4x_internal: +.cfi_startproc movq 0(%rbp),%r12 leaq (%rdi,%r9,1),%rbx movq %r9,%rcx @@ -2041,15 +2046,18 @@ __bn_post4x_internal: movq %r9,%r10 negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_post4x_internal,.-__bn_post4x_internal .globl bn_from_montgomery .type bn_from_montgomery,@function .align 32 bn_from_montgomery: +.cfi_startproc testl $7,%r9d jz bn_from_mont8x xorl %eax,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_from_montgomery,.-bn_from_montgomery .type bn_from_mont8x,@function @@ -2333,6 +2341,7 @@ bn_mulx4x_mont_gather5: .type mulx4x_internal,@function .align 32 mulx4x_internal: +.cfi_startproc movq %r9,8(%rsp) movq %r9,%r10 negq %r9 @@ -2751,6 +2760,7 @@ mulx4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqrx4x_sub_entry +.cfi_endproc .size mulx4x_internal,.-mulx4x_internal .type bn_powerx5,@function .align 32 @@ -3509,6 +3519,7 @@ __bn_sqrx8x_reduction: .size bn_sqrx8x_internal,.-bn_sqrx8x_internal .align 32 __bn_postx4x_internal: +.cfi_startproc movq 0(%rbp),%r12 movq %rcx,%r10 movq %rcx,%r9 @@ -3556,11 +3567,13 @@ __bn_postx4x_internal: negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_postx4x_internal,.-__bn_postx4x_internal .globl bn_get_bits5 .type bn_get_bits5,@function .align 16 bn_get_bits5: +.cfi_startproc leaq 0(%rdi),%r10 leaq 1(%rdi),%r11 movl %esi,%ecx @@ -3574,12 +3587,14 @@ bn_get_bits5: shrl %cl,%eax andl $31,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_get_bits5,.-bn_get_bits5 .globl bn_scatter5 .type bn_scatter5,@function .align 16 bn_scatter5: +.cfi_startproc cmpl $0,%esi jz .Lscatter_epilogue leaq (%rdx,%rcx,8),%rdx @@ -3592,6 +3607,7 @@ bn_scatter5: jnz .Lscatter .Lscatter_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_scatter5,.-bn_scatter5 .globl bn_gather5 @@ -3599,6 +3615,7 @@ bn_scatter5: .align 32 bn_gather5: .LSEH_begin_bn_gather5: +.cfi_startproc .byte 0x4c,0x8d,0x14,0x24 .byte 0x48,0x81,0xec,0x08,0x01,0x00,0x00 @@ -3756,6 +3773,7 @@ bn_gather5: leaq (%r10),%rsp .byte 0xf3,0xc3 .LSEH_end_bn_gather5: +.cfi_endproc .size bn_gather5,.-bn_gather5 .align 64 .Linc: diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h index c9ffd0c3c093bf..6cb84c034f6626 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: BSD-x86_64" -#define DATE "built on: Fri Sep 13 15:57:48 2019 UTC" +#define DATE "built on: Wed Mar 18 21:05:08 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -36,12 +36,12 @@ static const char compiler_flags[] = { '5','6','_','A','S','M',' ','-','D','S','H','A','5','1','2','_', 'A','S','M',' ','-','D','K','E','C','C','A','K','1','6','0','0', '_','A','S','M',' ','-','D','R','C','4','_','A','S','M',' ','-', - 'D','M','D','5','_','A','S','M',' ','-','D','V','P','A','E','S', - '_','A','S','M',' ','-','D','G','H','A','S','H','_','A','S','M', - ' ','-','D','E','C','P','_','N','I','S','T','Z','2','5','6','_', - 'A','S','M',' ','-','D','X','2','5','5','1','9','_','A','S','M', - ' ','-','D','P','O','L','Y','1','3','0','5','_','A','S','M',' ', - '-','D','_','T','H','R','E','A','D','_','S','A','F','E',' ','-', - 'D','_','R','E','E','N','T','R','A','N','T',' ','-','D','N','D', - 'E','B','U','G','\0' + 'D','M','D','5','_','A','S','M',' ','-','D','A','E','S','N','I', + '_','A','S','M',' ','-','D','V','P','A','E','S','_','A','S','M', + ' ','-','D','G','H','A','S','H','_','A','S','M',' ','-','D','E', + 'C','P','_','N','I','S','T','Z','2','5','6','_','A','S','M',' ', + '-','D','X','2','5','5','1','9','_','A','S','M',' ','-','D','P', + 'O','L','Y','1','3','0','5','_','A','S','M',' ','-','D','_','T', + 'H','R','E','A','D','_','S','A','F','E',' ','-','D','_','R','E', + 'E','N','T','R','A','N','T',' ','-','D','N','D','E','B','U','G','\0' }; diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/camellia/cmll-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/camellia/cmll-x86_64.s index 405566b01cca6f..eeb20dd2291da7 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/camellia/cmll-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/camellia/cmll-x86_64.s @@ -5,11 +5,13 @@ .type Camellia_EncryptBlock,@function .align 16 Camellia_EncryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Lenc_rounds +.cfi_endproc .size Camellia_EncryptBlock,.-Camellia_EncryptBlock .globl Camellia_EncryptBlock_Rounds @@ -83,6 +85,7 @@ Camellia_EncryptBlock_Rounds: .type _x86_64_Camellia_encrypt,@function .align 16 _x86_64_Camellia_encrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -285,6 +288,7 @@ _x86_64_Camellia_encrypt: movl %edx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_encrypt,.-_x86_64_Camellia_encrypt @@ -292,11 +296,13 @@ _x86_64_Camellia_encrypt: .type Camellia_DecryptBlock,@function .align 16 Camellia_DecryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Ldec_rounds +.cfi_endproc .size Camellia_DecryptBlock,.-Camellia_DecryptBlock .globl Camellia_DecryptBlock_Rounds @@ -370,6 +376,7 @@ Camellia_DecryptBlock_Rounds: .type _x86_64_Camellia_decrypt,@function .align 16 _x86_64_Camellia_decrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -573,6 +580,7 @@ _x86_64_Camellia_decrypt: movl %ebx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_decrypt,.-_x86_64_Camellia_decrypt .globl Camellia_Ekeygen .type Camellia_Ekeygen,@function diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s index 62b9ac6616ba72..5c9e4050416212 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s @@ -3874,10 +3874,12 @@ ecp_nistz256_ord_sqr_montx: .type ecp_nistz256_to_mont,@function .align 32 ecp_nistz256_to_mont: +.cfi_startproc movl $0x80100,%ecx andl OPENSSL_ia32cap_P+8(%rip),%ecx leaq .LRR(%rip),%rdx jmp .Lmul_mont +.cfi_endproc .size ecp_nistz256_to_mont,.-ecp_nistz256_to_mont @@ -4821,6 +4823,7 @@ ecp_nistz256_from_mont: .type ecp_nistz256_scatter_w5,@function .align 32 ecp_nistz256_scatter_w5: +.cfi_startproc leal -3(%rdx,%rdx,2),%edx movdqa 0(%rsi),%xmm0 shll $5,%edx @@ -4837,6 +4840,7 @@ ecp_nistz256_scatter_w5: movdqa %xmm5,80(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w5,.-ecp_nistz256_scatter_w5 @@ -4910,6 +4914,7 @@ ecp_nistz256_gather_w5: .type ecp_nistz256_scatter_w7,@function .align 32 ecp_nistz256_scatter_w7: +.cfi_startproc movdqu 0(%rsi),%xmm0 shll $6,%edx movdqu 16(%rsi),%xmm1 @@ -4921,6 +4926,7 @@ ecp_nistz256_scatter_w7: movdqa %xmm3,48(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w7,.-ecp_nistz256_scatter_w7 @@ -5655,26 +5661,16 @@ ecp_nistz256_point_add: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedq .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedq - testq %r9,%r9 - jz .Ladd_doubleq -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_doneq + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedq -.align 32 .Ladd_doubleq: .byte 102,72,15,126,206 .byte 102,72,15,126,199 @@ -6774,26 +6770,16 @@ ecp_nistz256_point_addx: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedx .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedx - testq %r9,%r9 - jz .Ladd_doublex -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_donex + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedx -.align 32 .Ladd_doublex: .byte 102,72,15,126,206 .byte 102,72,15,126,199 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/ec/x25519-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/ec/x25519-x86_64.s index 2a18eaee288ce7..1788e568cda5d2 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/ec/x25519-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/ec/x25519-x86_64.s @@ -400,12 +400,14 @@ x25519_fe51_mul121666: .type x25519_fe64_eligible,@function .align 32 x25519_fe64_eligible: +.cfi_startproc movl OPENSSL_ia32cap_P+8(%rip),%ecx xorl %eax,%eax andl $0x80100,%ecx cmpl $0x80100,%ecx cmovel %ecx,%eax .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_eligible,.-x25519_fe64_eligible .globl x25519_fe64_mul @@ -648,6 +650,7 @@ x25519_fe64_sqr: .align 32 x25519_fe64_mul121666: .Lfe64_mul121666_body: +.cfi_startproc movl $121666,%edx mulxq 0(%rsi),%r8,%rcx mulxq 8(%rsi),%r9,%rax @@ -676,6 +679,7 @@ x25519_fe64_mul121666: .Lfe64_mul121666_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_mul121666,.-x25519_fe64_mul121666 .globl x25519_fe64_add @@ -683,6 +687,7 @@ x25519_fe64_mul121666: .align 32 x25519_fe64_add: .Lfe64_add_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -711,6 +716,7 @@ x25519_fe64_add: .Lfe64_add_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_add,.-x25519_fe64_add .globl x25519_fe64_sub @@ -718,6 +724,7 @@ x25519_fe64_add: .align 32 x25519_fe64_sub: .Lfe64_sub_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -746,6 +753,7 @@ x25519_fe64_sub: .Lfe64_sub_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_sub,.-x25519_fe64_sub .globl x25519_fe64_tobytes @@ -753,6 +761,7 @@ x25519_fe64_sub: .align 32 x25519_fe64_tobytes: .Lfe64_to_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -788,5 +797,6 @@ x25519_fe64_tobytes: .Lfe64_to_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_tobytes,.-x25519_fe64_tobytes .byte 88,50,53,53,49,57,32,112,114,105,109,105,116,105,118,101,115,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/modes/aesni-gcm-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/modes/aesni-gcm-x86_64.s index 6a7a9577c7142f..01d89630a42f73 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/modes/aesni-gcm-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/modes/aesni-gcm-x86_64.s @@ -3,6 +3,7 @@ .type _aesni_ctr32_ghash_6x,@function .align 32 _aesni_ctr32_ghash_6x: +.cfi_startproc vmovdqu 32(%r11),%xmm2 subq $6,%rdx vpxor %xmm4,%xmm4,%xmm4 @@ -310,6 +311,7 @@ _aesni_ctr32_ghash_6x: vpxor %xmm4,%xmm8,%xmm8 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_ctr32_ghash_6x,.-_aesni_ctr32_ghash_6x .globl aesni_gcm_decrypt .type aesni_gcm_decrypt,@function @@ -416,6 +418,7 @@ aesni_gcm_decrypt: .type _aesni_ctr32_6x,@function .align 32 _aesni_ctr32_6x: +.cfi_startproc vmovdqu 0-128(%rcx),%xmm4 vmovdqu 32(%r11),%xmm2 leaq -1(%rbp),%r13 @@ -502,6 +505,7 @@ _aesni_ctr32_6x: vpshufb %xmm0,%xmm1,%xmm1 vpxor %xmm4,%xmm14,%xmm14 jmp .Loop_ctr32 +.cfi_endproc .size _aesni_ctr32_6x,.-_aesni_ctr32_6x .globl aesni_gcm_encrypt diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/poly1305/poly1305-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/poly1305/poly1305-x86_64.s index 6f4cac8d3920c1..2636c52bbe5e48 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/poly1305/poly1305-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/poly1305/poly1305-x86_64.s @@ -12,6 +12,7 @@ .type poly1305_init,@function .align 32 poly1305_init: +.cfi_startproc xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -42,6 +43,7 @@ poly1305_init: movl $1,%eax .Lno_key: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_init,.-poly1305_init .type poly1305_blocks,@function @@ -162,6 +164,7 @@ poly1305_blocks: .type poly1305_emit,@function .align 32 poly1305_emit: +.cfi_startproc .Lemit: movq 0(%rdi),%r8 movq 8(%rdi),%r9 @@ -182,10 +185,12 @@ poly1305_emit: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit,.-poly1305_emit .type __poly1305_block,@function .align 32 __poly1305_block: +.cfi_startproc mulq %r14 movq %rax,%r9 movq %r11,%rax @@ -225,11 +230,13 @@ __poly1305_block: adcq $0,%rbx adcq $0,%rbp .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_block,.-__poly1305_block .type __poly1305_init_avx,@function .align 32 __poly1305_init_avx: +.cfi_startproc movq %r11,%r14 movq %r12,%rbx xorq %rbp,%rbp @@ -387,6 +394,7 @@ __poly1305_init_avx: leaq -48-64(%rdi),%rdi .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_init_avx,.-__poly1305_init_avx .type poly1305_blocks_avx,@function @@ -1227,6 +1235,7 @@ poly1305_blocks_avx: .type poly1305_emit_avx,@function .align 32 poly1305_emit_avx: +.cfi_startproc cmpl $0,20(%rdi) je .Lemit @@ -1277,6 +1286,7 @@ poly1305_emit_avx: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit_avx,.-poly1305_emit_avx .type poly1305_blocks_avx2,@function .align 32 @@ -1959,6 +1969,7 @@ poly1305_blocks_avx2: .type xor128_encrypt_n_pad,@function .align 16 xor128_encrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -2000,12 +2011,14 @@ xor128_encrypt_n_pad: .Ldone_enc: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_encrypt_n_pad,.-xor128_encrypt_n_pad .globl xor128_decrypt_n_pad .type xor128_decrypt_n_pad,@function .align 16 xor128_decrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -2051,4 +2064,5 @@ xor128_decrypt_n_pad: .Ldone_dec: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_decrypt_n_pad,.-xor128_decrypt_n_pad diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/rc4/rc4-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/rc4/rc4-x86_64.s index fba70351d48d5c..b97c757550aad0 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/rc4/rc4-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/rc4/rc4-x86_64.s @@ -4,11 +4,12 @@ .globl RC4 .type RC4,@function .align 16 -RC4: orq %rsi,%rsi +RC4: +.cfi_startproc + orq %rsi,%rsi jne .Lentry .byte 0xf3,0xc3 .Lentry: -.cfi_startproc pushq %rbx .cfi_adjust_cfa_offset 8 .cfi_offset %rbx,-16 @@ -533,6 +534,7 @@ RC4: orq %rsi,%rsi .type RC4_set_key,@function .align 16 RC4_set_key: +.cfi_startproc leaq 8(%rdi),%rdi leaq (%rdx,%rsi,1),%rdx negq %rsi @@ -599,12 +601,14 @@ RC4_set_key: movl %eax,-8(%rdi) movl %eax,-4(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size RC4_set_key,.-RC4_set_key .globl RC4_options .type RC4_options,@function .align 16 RC4_options: +.cfi_startproc leaq .Lopts(%rip),%rax movl OPENSSL_ia32cap_P(%rip),%edx btl $20,%edx @@ -617,6 +621,7 @@ RC4_options: addq $12,%rax .Ldone: .byte 0xf3,0xc3 +.cfi_endproc .align 64 .Lopts: .byte 114,99,52,40,56,120,44,105,110,116,41,0 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/keccak1600-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/keccak1600-x86_64.s index e511f25035b2b8..09617d014bdb7b 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/keccak1600-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/keccak1600-x86_64.s @@ -3,6 +3,7 @@ .type __KeccakF1600,@function .align 32 __KeccakF1600: +.cfi_startproc movq 60(%rdi),%rax movq 68(%rdi),%rbx movq 76(%rdi),%rcx @@ -255,6 +256,7 @@ __KeccakF1600: leaq -192(%r15),%r15 .byte 0xf3,0xc3 +.cfi_endproc .size __KeccakF1600,.-__KeccakF1600 .type KeccakF1600,@function diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/sha1-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/sha1-x86_64.s index e436521a040f66..98541727e555da 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/sha1-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/sha1-x86_64.s @@ -1421,8 +1421,8 @@ _shaext_shortcut: pshufd $27,%xmm1,%xmm1 movdqu %xmm0,(%rdi) movd %xmm1,16(%rdi) -.cfi_endproc .byte 0xf3,0xc3 +.cfi_endproc .size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext .type sha1_block_data_order_ssse3,@function .align 16 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/sha256-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/sha256-x86_64.s index 42b24df18e5afe..9357385da3c49b 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/sha256-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/sha256-x86_64.s @@ -1775,6 +1775,7 @@ K256: .align 64 sha256_block_data_order_shaext: _shaext_shortcut: +.cfi_startproc leaq K256+128(%rip),%rcx movdqu (%rdi),%xmm1 movdqu 16(%rdi),%xmm2 @@ -1977,6 +1978,7 @@ _shaext_shortcut: movdqu %xmm1,(%rdi) movdqu %xmm2,16(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size sha256_block_data_order_shaext,.-sha256_block_data_order_shaext .type sha256_block_data_order_ssse3,@function .align 64 @@ -4238,7 +4240,15 @@ sha256_block_data_order_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 88(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -64(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%edi vmovdqa %ymm6,0(%rsp) xorl %ecx,%edi @@ -4250,6 +4260,12 @@ sha256_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4505,6 +4521,12 @@ sha256_block_data_order_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -5380,6 +5402,8 @@ sha256_block_data_order_avx2: leaq 448(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08 + addl 0(%rdi),%eax addl 4(%rdi),%ebx addl 8(%rdi),%ecx @@ -5405,9 +5429,11 @@ sha256_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xd8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 88(%rsp),%rsi + movq 88(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/sha512-x86_64.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/sha512-x86_64.s index 5931a2a93234d0..939f1ca71c9394 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/sha512-x86_64.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/sha/sha512-x86_64.s @@ -4165,7 +4165,15 @@ sha512_block_data_order_avx2: vmovdqa %ymm10,64(%rsp) vpaddq 64(%rbp),%ymm6,%ymm10 vmovdqa %ymm11,96(%rsp) + + movq 152(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -128(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpaddq 96(%rbp),%ymm7,%ymm11 vmovdqa %ymm8,0(%rsp) xorq %r14,%r14 @@ -4181,6 +4189,12 @@ sha512_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm0,%ymm1,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -4474,6 +4488,12 @@ sha512_block_data_order_avx2: movq %r9,%r12 vmovdqa %ymm10,96(%rsp) leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm4,%ymm5,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -5387,6 +5407,8 @@ sha512_block_data_order_avx2: leaq 1152(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08 + addq 0(%rdi),%rax addq 8(%rdi),%rbx addq 16(%rdi),%rcx @@ -5412,9 +5434,11 @@ sha512_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0x98,0x01,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 152(%rsp),%rsi + movq 152(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/x86_64cpuid.s b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/x86_64cpuid.s index fd17eaaba49576..9268ce8c9a9d63 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/x86_64cpuid.s +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/x86_64cpuid.s @@ -12,6 +12,7 @@ .type OPENSSL_atomic_add,@function .align 16 OPENSSL_atomic_add: +.cfi_startproc movl (%rdi),%eax .Lspin: leaq (%rsi,%rax,1),%r8 .byte 0xf0 @@ -20,16 +21,19 @@ OPENSSL_atomic_add: movl %r8d,%eax .byte 0x48,0x98 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_atomic_add,.-OPENSSL_atomic_add .globl OPENSSL_rdtsc .type OPENSSL_rdtsc,@function .align 16 OPENSSL_rdtsc: +.cfi_startproc rdtsc shlq $32,%rdx orq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_rdtsc,.-OPENSSL_rdtsc .globl OPENSSL_ia32_cpuid @@ -205,6 +209,7 @@ OPENSSL_ia32_cpuid: .type OPENSSL_cleanse,@function .align 16 OPENSSL_cleanse: +.cfi_startproc xorq %rax,%rax cmpq $15,%rsi jae .Lot @@ -234,12 +239,14 @@ OPENSSL_cleanse: cmpq $0,%rsi jne .Little .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_cleanse,.-OPENSSL_cleanse .globl CRYPTO_memcmp .type CRYPTO_memcmp,@function .align 16 CRYPTO_memcmp: +.cfi_startproc xorq %rax,%rax xorq %r10,%r10 cmpq $0,%rdx @@ -268,11 +275,13 @@ CRYPTO_memcmp: shrq $63,%rax .Lno_data: .byte 0xf3,0xc3 +.cfi_endproc .size CRYPTO_memcmp,.-CRYPTO_memcmp .globl OPENSSL_wipe_cpu .type OPENSSL_wipe_cpu,@function .align 16 OPENSSL_wipe_cpu: +.cfi_startproc pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 @@ -299,11 +308,13 @@ OPENSSL_wipe_cpu: xorq %r11,%r11 leaq 8(%rsp),%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu .globl OPENSSL_instrument_bus .type OPENSSL_instrument_bus,@function .align 16 OPENSSL_instrument_bus: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rsi,%r11 @@ -330,12 +341,14 @@ OPENSSL_instrument_bus: movq %r11,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus,.-OPENSSL_instrument_bus .globl OPENSSL_instrument_bus2 .type OPENSSL_instrument_bus2,@function .align 16 OPENSSL_instrument_bus2: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rdx,%r11 @@ -378,11 +391,13 @@ OPENSSL_instrument_bus2: movq 8(%rsp),%rax subq %rcx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2 .globl OPENSSL_ia32_rdrand_bytes .type OPENSSL_ia32_rdrand_bytes,@function .align 16 OPENSSL_ia32_rdrand_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdrand_bytes @@ -419,11 +434,13 @@ OPENSSL_ia32_rdrand_bytes: .Ldone_rdrand_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdrand_bytes,.-OPENSSL_ia32_rdrand_bytes .globl OPENSSL_ia32_rdseed_bytes .type OPENSSL_ia32_rdseed_bytes,@function .align 16 OPENSSL_ia32_rdseed_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdseed_bytes @@ -460,4 +477,5 @@ OPENSSL_ia32_rdseed_bytes: .Ldone_rdseed_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdseed_bytes,.-OPENSSL_ia32_rdseed_bytes diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/opensslconf.h index 6094de421edbe2..80bda2b852187b 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/opensslconf.h @@ -93,9 +93,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/progs.h b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/openssl-cl.gypi b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/openssl-cl.gypi index 046ed1ab79500b..6ced0528cacc41 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/openssl-cl.gypi +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/openssl-cl.gypi @@ -15,6 +15,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/openssl.gypi b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/openssl.gypi index e9ccff96476c79..d56ffb91862e1a 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/openssl.gypi +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/openssl.gypi @@ -723,6 +723,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/BSD-x86_64/no-asm/configdata.pm b/deps/openssl/config/archs/BSD-x86_64/no-asm/configdata.pm index 84e3b187535590..23a0ff1905e00e 100644 --- a/deps/openssl/config/archs/BSD-x86_64/no-asm/configdata.pm +++ b/deps/openssl/config/archs/BSD-x86_64/no-asm/configdata.pm @@ -54,7 +54,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -110,8 +110,8 @@ our %config = ( sourcedir => ".", target => "BSD-x86_64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -233,6 +233,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -350,8 +351,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -619,14 +620,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -702,6 +695,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1499,6 +1500,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3218,7 +3225,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3226,6 +3232,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3724,14 +3731,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4172,6 +4171,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4866,49 +4873,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4930,7 +4929,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4944,613 +4942,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5568,188 +5464,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5779,13 +5644,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5795,43 +5658,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5841,31 +5697,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5883,278 +5734,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6164,301 +5969,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6466,7 +6221,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6474,7 +6228,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6482,7 +6235,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6490,7 +6242,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6498,7 +6249,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6506,163 +6256,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6680,229 +6403,191 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_devcrypto.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6910,21 +6595,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6932,13 +6614,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6946,81 +6626,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7028,328 +6695,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7359,85 +6965,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7460,361 +7052,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7836,259 +7368,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8098,31 +7587,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8132,7 +7616,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8158,13 +7641,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8190,7 +7671,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8216,709 +7696,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8969,6 +8331,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9213,7 +8583,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9539,7 +8908,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9585,7 +8953,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9651,7 +9018,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9676,7 +9042,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9774,7 +9139,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9824,18 +9188,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9846,6 +9207,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9909,10 +9274,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9941,6 +9302,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10205,6 +9570,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15100,7 +14466,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15108,6 +14473,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15335,6 +14701,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15437,10 +14811,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15469,6 +14839,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/buildinf.h index 7702df5969293b..06c423068a45b5 100644 --- a/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: BSD-x86_64" -#define DATE "built on: Fri Sep 13 15:58:03 2019 UTC" +#define DATE "built on: Wed Mar 18 21:05:17 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/opensslconf.h index df65780e39519f..ecb2a2aa8bf834 100644 --- a/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/BSD-x86_64/no-asm/include/progs.h b/deps/openssl/config/archs/BSD-x86_64/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/BSD-x86_64/no-asm/include/progs.h +++ b/deps/openssl/config/archs/BSD-x86_64/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/VC-WIN32/asm/configdata.pm b/deps/openssl/config/archs/VC-WIN32/asm/configdata.pm index ecd5ebea5fdb19..1354452500558b 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN32/asm/configdata.pm @@ -15,7 +15,7 @@ our %config = ( ARFLAGS => [ "/nologo" ], AS => "nasm", CC => "gcc", - CFLAGS => [ "/W3 /wd4090 /nologo /O2 /WX" ], + CFLAGS => [ "/W3 /wd4090 /nologo /O2" ], CPP => "\$(CC) /EP /C", CPPDEFINES => [ ], CPPFLAGS => [ ], @@ -53,13 +53,13 @@ our %config = ( export_var_as_fn => "1", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "AESNI_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], libdir => "", major => "1", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_WIN32" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -115,8 +115,8 @@ our %config = ( sourcedir => ".", target => "VC-WIN32", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -125,14 +125,14 @@ our %target = ( AS => "nasm", ASFLAGS => "", CC => "cl", - CFLAGS => "/W3 /wd4090 /nologo /O2 /WX", + CFLAGS => "/W3 /wd4090 /nologo /O2", CPP => "\$(CC) /EP /C", HASHBANGPERL => "/usr/bin/env perl", LD => "link", LDFLAGS => "/nologo /debug", MT => "mt", MTFLAGS => "-nologo", - RANLIB => "CODE(0x56535777ac98)", + RANLIB => "CODE(0x5567c34c1cd8)", RC => "rc", _conf_fname_int => [ "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/shared-info.pl" ], aes_asm_src => "aes_core.c aes_cbc.c vpaes-x86.s aesni-x86.s", @@ -257,6 +257,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -374,8 +375,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -643,14 +644,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -726,6 +719,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1523,6 +1524,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3254,7 +3261,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3262,6 +3268,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3755,14 +3762,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4203,6 +4202,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4912,49 +4919,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4964,7 +4963,6 @@ our %unified_info = ( "crypto/aes/aesni-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4982,13 +4980,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -5002,613 +4998,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5622,7 +5516,6 @@ our %unified_info = ( "crypto/bn/bn-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5632,188 +5525,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/co-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5843,25 +5705,21 @@ our %unified_info = ( "crypto/bn/x86-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5871,31 +5729,26 @@ our %unified_info = ( "crypto/camellia/cmll-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5905,31 +5758,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5947,284 +5795,237 @@ our %unified_info = ( "crypto/chacha/chacha-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/crypt586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des-586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6234,295 +6035,246 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6530,7 +6282,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6538,7 +6289,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6546,7 +6296,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6554,7 +6303,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6562,7 +6310,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6570,163 +6317,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6744,235 +6464,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6980,21 +6661,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7002,13 +6680,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7016,81 +6692,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7098,334 +6761,272 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-586.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7435,79 +7036,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7526,7 +7114,6 @@ our %unified_info = ( "crypto/modes/ghash-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7536,361 +7123,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7912,265 +7439,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8180,31 +7663,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8214,13 +7692,11 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8246,19 +7722,16 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8284,13 +7757,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8316,727 +7787,606 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-mmx.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9087,6 +8437,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9331,7 +8689,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9657,7 +9014,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9703,7 +9059,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9769,7 +9124,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9794,7 +9148,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9892,7 +9245,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9942,18 +9294,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9964,6 +9313,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10027,10 +9380,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10059,6 +9408,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10323,6 +9676,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15256,7 +14610,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15264,6 +14617,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15491,6 +14845,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15593,10 +14955,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15625,6 +14983,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/VC-WIN32/asm/crypto/aes/aes-586.asm b/deps/openssl/config/archs/VC-WIN32/asm/crypto/aes/aes-586.asm deleted file mode 100644 index 7a17e847c64a73..00000000000000 --- a/deps/openssl/config/archs/VC-WIN32/asm/crypto/aes/aes-586.asm +++ /dev/null @@ -1,3211 +0,0 @@ -%ifidn __OUTPUT_FORMAT__,obj -section code use32 class=code align=64 -%elifidn __OUTPUT_FORMAT__,win32 -$@feat.00 equ 1 -section .text code align=64 -%else -section .text code -%endif -align 16 -__x86_AES_encrypt_compact: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] -align 16 -L$000loop: - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ch - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,eax - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx eax,ah - movzx eax,BYTE [eax*1+ebp-128] - shl eax,8 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,24 - xor edx,ecx - mov ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edi,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,ecx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,ecx - xor ecx,esi - ror edi,24 - xor esi,ebp - rol ecx,24 - xor esi,edi - mov ebp,2155905152 - xor ecx,esi - and ebp,edx - lea edi,[edx*1+edx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,edx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,edx - xor edx,esi - ror edi,24 - xor esi,ebp - rol edx,24 - xor esi,edi - mov ebp,2155905152 - xor edx,esi - and ebp,eax - lea edi,[eax*1+eax] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,eax - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,eax - xor eax,esi - ror edi,24 - xor esi,ebp - rol eax,24 - xor esi,edi - mov ebp,2155905152 - xor eax,esi - and ebp,ebx - lea edi,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,ebx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,ebx - xor ebx,esi - ror edi,24 - xor esi,ebp - rol ebx,24 - xor esi,edi - xor ebx,esi - mov edi,DWORD [20+esp] - mov ebp,DWORD [28+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$000loop - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ch - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,eax - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx eax,ah - movzx eax,BYTE [eax*1+ebp-128] - shl eax,8 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,24 - xor edx,ecx - mov ecx,esi - xor eax,DWORD [16+edi] - xor ebx,DWORD [20+edi] - xor ecx,DWORD [24+edi] - xor edx,DWORD [28+edi] - ret -align 16 -__sse_AES_encrypt_compact: - pxor mm0,[edi] - pxor mm4,[8+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov eax,454761243 - mov DWORD [8+esp],eax - mov DWORD [12+esp],eax - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] -align 16 -L$001loop: - pshufw mm1,mm0,8 - pshufw mm5,mm4,13 - movd eax,mm1 - movd ebx,mm5 - mov DWORD [20+esp],edi - movzx esi,al - movzx edx,ah - pshufw mm2,mm0,13 - movzx ecx,BYTE [esi*1+ebp-128] - movzx edi,bl - movzx edx,BYTE [edx*1+ebp-128] - shr eax,16 - shl edx,8 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,16 - pshufw mm6,mm4,8 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,24 - shr ebx,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,8 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - movd eax,mm2 - movd mm0,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,ah - shl ecx,16 - movd ebx,mm6 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - shl esi,8 - shr ebx,16 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shr eax,16 - movd mm1,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,ah - shl ecx,16 - and eax,255 - or ecx,esi - punpckldq mm0,mm1 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - and ebx,255 - movzx eax,BYTE [eax*1+ebp-128] - or ecx,esi - shl eax,16 - movzx esi,BYTE [edi*1+ebp-128] - or edx,eax - shl esi,8 - movzx ebx,BYTE [ebx*1+ebp-128] - or ecx,esi - or edx,ebx - mov edi,DWORD [20+esp] - movd mm4,ecx - movd mm5,edx - punpckldq mm4,mm5 - add edi,16 - cmp edi,DWORD [24+esp] - ja NEAR L$002out - movq mm2,[8+esp] - pxor mm3,mm3 - pxor mm7,mm7 - movq mm1,mm0 - movq mm5,mm4 - pcmpgtb mm3,mm0 - pcmpgtb mm7,mm4 - pand mm3,mm2 - pand mm7,mm2 - pshufw mm2,mm0,177 - pshufw mm6,mm4,177 - paddb mm0,mm0 - paddb mm4,mm4 - pxor mm0,mm3 - pxor mm4,mm7 - pshufw mm3,mm2,177 - pshufw mm7,mm6,177 - pxor mm1,mm0 - pxor mm5,mm4 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm2,mm3 - movq mm6,mm7 - pslld mm3,8 - pslld mm7,8 - psrld mm2,24 - psrld mm6,24 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm3,mm1 - movq mm7,mm5 - movq mm2,[edi] - movq mm6,[8+edi] - psrld mm1,8 - psrld mm5,8 - mov eax,DWORD [ebp-128] - pslld mm3,24 - pslld mm7,24 - mov ebx,DWORD [ebp-64] - pxor mm0,mm1 - pxor mm4,mm5 - mov ecx,DWORD [ebp] - pxor mm0,mm3 - pxor mm4,mm7 - mov edx,DWORD [64+ebp] - pxor mm0,mm2 - pxor mm4,mm6 - jmp NEAR L$001loop -align 16 -L$002out: - pxor mm0,[edi] - pxor mm4,[8+edi] - ret -align 16 -__x86_AES_encrypt: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi -align 16 -L$003loop: - mov esi,eax - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,bh - xor esi,DWORD [3+edi*8+ebp] - mov edi,ecx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,edx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - mov esi,DWORD [esi*8+ebp] - movzx edi,ch - xor esi,DWORD [3+edi*8+ebp] - mov edi,edx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,eax - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - mov esi,DWORD [esi*8+ebp] - movzx edi,dh - xor esi,DWORD [3+edi*8+ebp] - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - movzx edi,bh - xor esi,DWORD [1+edi*8+ebp] - mov edi,DWORD [20+esp] - mov edx,DWORD [edx*8+ebp] - movzx eax,ah - xor edx,DWORD [3+eax*8+ebp] - mov eax,DWORD [4+esp] - and ebx,255 - xor edx,DWORD [2+ebx*8+ebp] - mov ebx,DWORD [8+esp] - xor edx,DWORD [1+ecx*8+ebp] - mov ecx,esi - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$003loop - mov esi,eax - and esi,255 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,bh - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - mov edi,edx - shr edi,24 - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,ch - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - mov edi,eax - shr edi,24 - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,dh - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - movzx edi,bh - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - mov edx,DWORD [2+edx*8+ebp] - and edx,255 - movzx eax,ah - mov eax,DWORD [eax*8+ebp] - and eax,65280 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - mov ebx,DWORD [ebx*8+ebp] - and ebx,16711680 - xor edx,ebx - mov ebx,DWORD [8+esp] - mov ecx,DWORD [2+ecx*8+ebp] - and ecx,4278190080 - xor edx,ecx - mov ecx,esi - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - ret -align 64 -L$AES_Te: -dd 2774754246,2774754246 -dd 2222750968,2222750968 -dd 2574743534,2574743534 -dd 2373680118,2373680118 -dd 234025727,234025727 -dd 3177933782,3177933782 -dd 2976870366,2976870366 -dd 1422247313,1422247313 -dd 1345335392,1345335392 -dd 50397442,50397442 -dd 2842126286,2842126286 -dd 2099981142,2099981142 -dd 436141799,436141799 -dd 1658312629,1658312629 -dd 3870010189,3870010189 -dd 2591454956,2591454956 -dd 1170918031,1170918031 -dd 2642575903,2642575903 -dd 1086966153,1086966153 -dd 2273148410,2273148410 -dd 368769775,368769775 -dd 3948501426,3948501426 -dd 3376891790,3376891790 -dd 200339707,200339707 -dd 3970805057,3970805057 -dd 1742001331,1742001331 -dd 4255294047,4255294047 -dd 3937382213,3937382213 -dd 3214711843,3214711843 -dd 4154762323,4154762323 -dd 2524082916,2524082916 -dd 1539358875,1539358875 -dd 3266819957,3266819957 -dd 486407649,486407649 -dd 2928907069,2928907069 -dd 1780885068,1780885068 -dd 1513502316,1513502316 -dd 1094664062,1094664062 -dd 49805301,49805301 -dd 1338821763,1338821763 -dd 1546925160,1546925160 -dd 4104496465,4104496465 -dd 887481809,887481809 -dd 150073849,150073849 -dd 2473685474,2473685474 -dd 1943591083,1943591083 -dd 1395732834,1395732834 -dd 1058346282,1058346282 -dd 201589768,201589768 -dd 1388824469,1388824469 -dd 1696801606,1696801606 -dd 1589887901,1589887901 -dd 672667696,672667696 -dd 2711000631,2711000631 -dd 251987210,251987210 -dd 3046808111,3046808111 -dd 151455502,151455502 -dd 907153956,907153956 -dd 2608889883,2608889883 -dd 1038279391,1038279391 -dd 652995533,652995533 -dd 1764173646,1764173646 -dd 3451040383,3451040383 -dd 2675275242,2675275242 -dd 453576978,453576978 -dd 2659418909,2659418909 -dd 1949051992,1949051992 -dd 773462580,773462580 -dd 756751158,756751158 -dd 2993581788,2993581788 -dd 3998898868,3998898868 -dd 4221608027,4221608027 -dd 4132590244,4132590244 -dd 1295727478,1295727478 -dd 1641469623,1641469623 -dd 3467883389,3467883389 -dd 2066295122,2066295122 -dd 1055122397,1055122397 -dd 1898917726,1898917726 -dd 2542044179,2542044179 -dd 4115878822,4115878822 -dd 1758581177,1758581177 -dd 0,0 -dd 753790401,753790401 -dd 1612718144,1612718144 -dd 536673507,536673507 -dd 3367088505,3367088505 -dd 3982187446,3982187446 -dd 3194645204,3194645204 -dd 1187761037,1187761037 -dd 3653156455,3653156455 -dd 1262041458,1262041458 -dd 3729410708,3729410708 -dd 3561770136,3561770136 -dd 3898103984,3898103984 -dd 1255133061,1255133061 -dd 1808847035,1808847035 -dd 720367557,720367557 -dd 3853167183,3853167183 -dd 385612781,385612781 -dd 3309519750,3309519750 -dd 3612167578,3612167578 -dd 1429418854,1429418854 -dd 2491778321,2491778321 -dd 3477423498,3477423498 -dd 284817897,284817897 -dd 100794884,100794884 -dd 2172616702,2172616702 -dd 4031795360,4031795360 -dd 1144798328,1144798328 -dd 3131023141,3131023141 -dd 3819481163,3819481163 -dd 4082192802,4082192802 -dd 4272137053,4272137053 -dd 3225436288,3225436288 -dd 2324664069,2324664069 -dd 2912064063,2912064063 -dd 3164445985,3164445985 -dd 1211644016,1211644016 -dd 83228145,83228145 -dd 3753688163,3753688163 -dd 3249976951,3249976951 -dd 1977277103,1977277103 -dd 1663115586,1663115586 -dd 806359072,806359072 -dd 452984805,452984805 -dd 250868733,250868733 -dd 1842533055,1842533055 -dd 1288555905,1288555905 -dd 336333848,336333848 -dd 890442534,890442534 -dd 804056259,804056259 -dd 3781124030,3781124030 -dd 2727843637,2727843637 -dd 3427026056,3427026056 -dd 957814574,957814574 -dd 1472513171,1472513171 -dd 4071073621,4071073621 -dd 2189328124,2189328124 -dd 1195195770,1195195770 -dd 2892260552,2892260552 -dd 3881655738,3881655738 -dd 723065138,723065138 -dd 2507371494,2507371494 -dd 2690670784,2690670784 -dd 2558624025,2558624025 -dd 3511635870,3511635870 -dd 2145180835,2145180835 -dd 1713513028,1713513028 -dd 2116692564,2116692564 -dd 2878378043,2878378043 -dd 2206763019,2206763019 -dd 3393603212,3393603212 -dd 703524551,703524551 -dd 3552098411,3552098411 -dd 1007948840,1007948840 -dd 2044649127,2044649127 -dd 3797835452,3797835452 -dd 487262998,487262998 -dd 1994120109,1994120109 -dd 1004593371,1004593371 -dd 1446130276,1446130276 -dd 1312438900,1312438900 -dd 503974420,503974420 -dd 3679013266,3679013266 -dd 168166924,168166924 -dd 1814307912,1814307912 -dd 3831258296,3831258296 -dd 1573044895,1573044895 -dd 1859376061,1859376061 -dd 4021070915,4021070915 -dd 2791465668,2791465668 -dd 2828112185,2828112185 -dd 2761266481,2761266481 -dd 937747667,937747667 -dd 2339994098,2339994098 -dd 854058965,854058965 -dd 1137232011,1137232011 -dd 1496790894,1496790894 -dd 3077402074,3077402074 -dd 2358086913,2358086913 -dd 1691735473,1691735473 -dd 3528347292,3528347292 -dd 3769215305,3769215305 -dd 3027004632,3027004632 -dd 4199962284,4199962284 -dd 133494003,133494003 -dd 636152527,636152527 -dd 2942657994,2942657994 -dd 2390391540,2390391540 -dd 3920539207,3920539207 -dd 403179536,403179536 -dd 3585784431,3585784431 -dd 2289596656,2289596656 -dd 1864705354,1864705354 -dd 1915629148,1915629148 -dd 605822008,605822008 -dd 4054230615,4054230615 -dd 3350508659,3350508659 -dd 1371981463,1371981463 -dd 602466507,602466507 -dd 2094914977,2094914977 -dd 2624877800,2624877800 -dd 555687742,555687742 -dd 3712699286,3712699286 -dd 3703422305,3703422305 -dd 2257292045,2257292045 -dd 2240449039,2240449039 -dd 2423288032,2423288032 -dd 1111375484,1111375484 -dd 3300242801,3300242801 -dd 2858837708,2858837708 -dd 3628615824,3628615824 -dd 84083462,84083462 -dd 32962295,32962295 -dd 302911004,302911004 -dd 2741068226,2741068226 -dd 1597322602,1597322602 -dd 4183250862,4183250862 -dd 3501832553,3501832553 -dd 2441512471,2441512471 -dd 1489093017,1489093017 -dd 656219450,656219450 -dd 3114180135,3114180135 -dd 954327513,954327513 -dd 335083755,335083755 -dd 3013122091,3013122091 -dd 856756514,856756514 -dd 3144247762,3144247762 -dd 1893325225,1893325225 -dd 2307821063,2307821063 -dd 2811532339,2811532339 -dd 3063651117,3063651117 -dd 572399164,572399164 -dd 2458355477,2458355477 -dd 552200649,552200649 -dd 1238290055,1238290055 -dd 4283782570,4283782570 -dd 2015897680,2015897680 -dd 2061492133,2061492133 -dd 2408352771,2408352771 -dd 4171342169,4171342169 -dd 2156497161,2156497161 -dd 386731290,386731290 -dd 3669999461,3669999461 -dd 837215959,837215959 -dd 3326231172,3326231172 -dd 3093850320,3093850320 -dd 3275833730,3275833730 -dd 2962856233,2962856233 -dd 1999449434,1999449434 -dd 286199582,286199582 -dd 3417354363,3417354363 -dd 4233385128,4233385128 -dd 3602627437,3602627437 -dd 974525996,974525996 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -dd 1,2,4,8 -dd 16,32,64,128 -dd 27,54,0,0 -dd 0,0,0,0 -global _AES_encrypt -align 16 -_AES_encrypt: -L$_AES_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [28+esp] - mov eax,esp - sub esp,36 - and esp,-64 - lea ebx,[edi-127] - sub ebx,esp - neg ebx - and ebx,960 - sub esp,ebx - add esp,4 - mov DWORD [28+esp],eax - call L$004pic_point -L$004pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - lea ebp,[(L$AES_Te-L$004pic_point)+ebp] - lea ebx,[764+esp] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - bt DWORD [eax],25 - jnc NEAR L$005x86 - movq mm0,[esi] - movq mm4,[8+esi] - call __sse_AES_encrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -L$005x86: - mov DWORD [24+esp],ebp - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - call __x86_AES_encrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__x86_AES_decrypt_compact: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] -align 16 -L$006loop: - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - shr eax,24 - movzx eax,BYTE [eax*1+ebp-128] - shl eax,24 - xor edx,eax - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea eax,[ecx*1+ecx] - sub esi,edi - and eax,4278124286 - and esi,454761243 - xor eax,esi - mov edi,2155905152 - and edi,eax - mov esi,edi - shr edi,7 - lea ebx,[eax*1+eax] - sub esi,edi - and ebx,4278124286 - and esi,454761243 - xor eax,ecx - xor ebx,esi - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ebp,[ebx*1+ebx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor ebx,ecx - rol ecx,8 - xor ebp,esi - xor ecx,eax - xor eax,ebp - xor ecx,ebx - xor ebx,ebp - rol eax,24 - xor ecx,ebp - rol ebx,16 - xor ecx,eax - rol ebp,8 - xor ecx,ebx - mov eax,DWORD [4+esp] - xor ecx,ebp - mov DWORD [12+esp],ecx - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebx,[edx*1+edx] - sub esi,edi - and ebx,4278124286 - and esi,454761243 - xor ebx,esi - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ecx,[ebx*1+ebx] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ebx,edx - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea ebp,[ecx*1+ecx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor ecx,edx - rol edx,8 - xor ebp,esi - xor edx,ebx - xor ebx,ebp - xor edx,ecx - xor ecx,ebp - rol ebx,24 - xor edx,ebp - rol ecx,16 - xor edx,ebx - rol ebp,8 - xor edx,ecx - mov ebx,DWORD [8+esp] - xor edx,ebp - mov DWORD [16+esp],edx - mov edi,2155905152 - and edi,eax - mov esi,edi - shr edi,7 - lea ecx,[eax*1+eax] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea edx,[ecx*1+ecx] - sub esi,edi - and edx,4278124286 - and esi,454761243 - xor ecx,eax - xor edx,esi - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebp,[edx*1+edx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor edx,eax - rol eax,8 - xor ebp,esi - xor eax,ecx - xor ecx,ebp - xor eax,edx - xor edx,ebp - rol ecx,24 - xor eax,ebp - rol edx,16 - xor eax,ecx - rol ebp,8 - xor eax,edx - xor eax,ebp - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ecx,[ebx*1+ebx] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea edx,[ecx*1+ecx] - sub esi,edi - and edx,4278124286 - and esi,454761243 - xor ecx,ebx - xor edx,esi - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebp,[edx*1+edx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor edx,ebx - rol ebx,8 - xor ebp,esi - xor ebx,ecx - xor ecx,ebp - xor ebx,edx - xor edx,ebp - rol ecx,24 - xor ebx,ebp - rol edx,16 - xor ebx,ecx - rol ebp,8 - xor ebx,edx - mov ecx,DWORD [12+esp] - xor ebx,ebp - mov edx,DWORD [16+esp] - mov edi,DWORD [20+esp] - mov ebp,DWORD [28+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$006loop - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - shr eax,24 - movzx eax,BYTE [eax*1+ebp-128] - shl eax,24 - xor edx,eax - mov eax,DWORD [4+esp] - xor eax,DWORD [16+edi] - xor ebx,DWORD [20+edi] - xor ecx,DWORD [24+edi] - xor edx,DWORD [28+edi] - ret -align 16 -__sse_AES_decrypt_compact: - pxor mm0,[edi] - pxor mm4,[8+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov eax,454761243 - mov DWORD [8+esp],eax - mov DWORD [12+esp],eax - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] -align 16 -L$007loop: - pshufw mm1,mm0,12 - pshufw mm5,mm4,9 - movd eax,mm1 - movd ebx,mm5 - mov DWORD [20+esp],edi - movzx esi,al - movzx edx,ah - pshufw mm2,mm0,6 - movzx ecx,BYTE [esi*1+ebp-128] - movzx edi,bl - movzx edx,BYTE [edx*1+ebp-128] - shr eax,16 - shl edx,8 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,16 - pshufw mm6,mm4,3 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,24 - shr ebx,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,8 - movd eax,mm2 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - shl esi,16 - movd ebx,mm6 - movd mm0,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,al - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,16 - shr eax,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shr ebx,16 - shl esi,8 - movd mm1,edx - movzx edx,BYTE [edi*1+ebp-128] - movzx edi,bh - shl edx,24 - and ebx,255 - or edx,esi - punpckldq mm0,mm1 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,8 - movzx eax,ah - movzx ebx,BYTE [ebx*1+ebp-128] - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - or edx,ebx - shl esi,16 - movzx eax,BYTE [eax*1+ebp-128] - or edx,esi - shl eax,24 - or ecx,eax - mov edi,DWORD [20+esp] - movd mm4,edx - movd mm5,ecx - punpckldq mm4,mm5 - add edi,16 - cmp edi,DWORD [24+esp] - ja NEAR L$008out - movq mm3,mm0 - movq mm7,mm4 - pshufw mm2,mm0,228 - pshufw mm6,mm4,228 - movq mm1,mm0 - movq mm5,mm4 - pshufw mm0,mm0,177 - pshufw mm4,mm4,177 - pslld mm2,8 - pslld mm6,8 - psrld mm3,8 - psrld mm7,8 - pxor mm0,mm2 - pxor mm4,mm6 - pxor mm0,mm3 - pxor mm4,mm7 - pslld mm2,16 - pslld mm6,16 - psrld mm3,16 - psrld mm7,16 - pxor mm0,mm2 - pxor mm4,mm6 - pxor mm0,mm3 - pxor mm4,mm7 - movq mm3,[8+esp] - pxor mm2,mm2 - pxor mm6,mm6 - pcmpgtb mm2,mm1 - pcmpgtb mm6,mm5 - pand mm2,mm3 - pand mm6,mm3 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm2 - pxor mm5,mm6 - movq mm3,mm1 - movq mm7,mm5 - movq mm2,mm1 - movq mm6,mm5 - pxor mm0,mm1 - pxor mm4,mm5 - pslld mm3,24 - pslld mm7,24 - psrld mm2,8 - psrld mm6,8 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm2,[8+esp] - pxor mm3,mm3 - pxor mm7,mm7 - pcmpgtb mm3,mm1 - pcmpgtb mm7,mm5 - pand mm3,mm2 - pand mm7,mm2 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm3 - pxor mm5,mm7 - pshufw mm3,mm1,177 - pshufw mm7,mm5,177 - pxor mm0,mm1 - pxor mm4,mm5 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm3,mm3 - pxor mm7,mm7 - pcmpgtb mm3,mm1 - pcmpgtb mm7,mm5 - pand mm3,mm2 - pand mm7,mm2 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm3 - pxor mm5,mm7 - pxor mm0,mm1 - pxor mm4,mm5 - movq mm3,mm1 - movq mm7,mm5 - pshufw mm2,mm1,177 - pshufw mm6,mm5,177 - pxor mm0,mm2 - pxor mm4,mm6 - pslld mm1,8 - pslld mm5,8 - psrld mm3,8 - psrld mm7,8 - movq mm2,[edi] - movq mm6,[8+edi] - pxor mm0,mm1 - pxor mm4,mm5 - pxor mm0,mm3 - pxor mm4,mm7 - mov eax,DWORD [ebp-128] - pslld mm1,16 - pslld mm5,16 - mov ebx,DWORD [ebp-64] - psrld mm3,16 - psrld mm7,16 - mov ecx,DWORD [ebp] - pxor mm0,mm1 - pxor mm4,mm5 - mov edx,DWORD [64+ebp] - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - jmp NEAR L$007loop -align 16 -L$008out: - pxor mm0,[edi] - pxor mm4,[8+edi] - ret -align 16 -__x86_AES_decrypt: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi -align 16 -L$009loop: - mov esi,eax - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,dh - xor esi,DWORD [3+edi*8+ebp] - mov edi,ecx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,ebx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,ah - xor esi,DWORD [3+edi*8+ebp] - mov edi,edx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,ecx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,bh - xor esi,DWORD [3+edi*8+ebp] - mov edi,eax - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,edx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov edi,DWORD [20+esp] - and edx,255 - mov edx,DWORD [edx*8+ebp] - movzx ecx,ch - xor edx,DWORD [3+ecx*8+ebp] - mov ecx,esi - shr ebx,16 - and ebx,255 - xor edx,DWORD [2+ebx*8+ebp] - mov ebx,DWORD [8+esp] - shr eax,24 - xor edx,DWORD [1+eax*8+ebp] - mov eax,DWORD [4+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$009loop - lea ebp,[2176+ebp] - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] - lea ebp,[ebp-128] - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - shr eax,24 - movzx eax,BYTE [eax*1+ebp] - shl eax,24 - xor edx,eax - mov eax,DWORD [4+esp] - lea ebp,[ebp-2048] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - ret -align 64 -L$AES_Td: -dd 1353184337,1353184337 -dd 1399144830,1399144830 -dd 3282310938,3282310938 -dd 2522752826,2522752826 -dd 3412831035,3412831035 -dd 4047871263,4047871263 -dd 2874735276,2874735276 -dd 2466505547,2466505547 -dd 1442459680,1442459680 -dd 4134368941,4134368941 -dd 2440481928,2440481928 -dd 625738485,625738485 -dd 4242007375,4242007375 -dd 3620416197,3620416197 -dd 2151953702,2151953702 -dd 2409849525,2409849525 -dd 1230680542,1230680542 -dd 1729870373,1729870373 -dd 2551114309,2551114309 -dd 3787521629,3787521629 -dd 41234371,41234371 -dd 317738113,317738113 -dd 2744600205,2744600205 -dd 3338261355,3338261355 -dd 3881799427,3881799427 -dd 2510066197,2510066197 -dd 3950669247,3950669247 -dd 3663286933,3663286933 -dd 763608788,763608788 -dd 3542185048,3542185048 -dd 694804553,694804553 -dd 1154009486,1154009486 -dd 1787413109,1787413109 -dd 2021232372,2021232372 -dd 1799248025,1799248025 -dd 3715217703,3715217703 -dd 3058688446,3058688446 -dd 397248752,397248752 -dd 1722556617,1722556617 -dd 3023752829,3023752829 -dd 407560035,407560035 -dd 2184256229,2184256229 -dd 1613975959,1613975959 -dd 1165972322,1165972322 -dd 3765920945,3765920945 -dd 2226023355,2226023355 -dd 480281086,480281086 -dd 2485848313,2485848313 -dd 1483229296,1483229296 -dd 436028815,436028815 -dd 2272059028,2272059028 -dd 3086515026,3086515026 -dd 601060267,601060267 -dd 3791801202,3791801202 -dd 1468997603,1468997603 -dd 715871590,715871590 -dd 120122290,120122290 -dd 63092015,63092015 -dd 2591802758,2591802758 -dd 2768779219,2768779219 -dd 4068943920,4068943920 -dd 2997206819,2997206819 -dd 3127509762,3127509762 -dd 1552029421,1552029421 -dd 723308426,723308426 -dd 2461301159,2461301159 -dd 4042393587,4042393587 -dd 2715969870,2715969870 -dd 3455375973,3455375973 -dd 3586000134,3586000134 -dd 526529745,526529745 -dd 2331944644,2331944644 -dd 2639474228,2639474228 -dd 2689987490,2689987490 -dd 853641733,853641733 -dd 1978398372,1978398372 -dd 971801355,971801355 -dd 2867814464,2867814464 -dd 111112542,111112542 -dd 1360031421,1360031421 -dd 4186579262,4186579262 -dd 1023860118,1023860118 -dd 2919579357,2919579357 -dd 1186850381,1186850381 -dd 3045938321,3045938321 -dd 90031217,90031217 -dd 1876166148,1876166148 -dd 4279586912,4279586912 -dd 620468249,620468249 -dd 2548678102,2548678102 -dd 3426959497,3426959497 -dd 2006899047,2006899047 -dd 3175278768,3175278768 -dd 2290845959,2290845959 -dd 945494503,945494503 -dd 3689859193,3689859193 -dd 1191869601,1191869601 -dd 3910091388,3910091388 -dd 3374220536,3374220536 -dd 0,0 -dd 2206629897,2206629897 -dd 1223502642,1223502642 -dd 2893025566,2893025566 -dd 1316117100,1316117100 -dd 4227796733,4227796733 -dd 1446544655,1446544655 -dd 517320253,517320253 -dd 658058550,658058550 -dd 1691946762,1691946762 -dd 564550760,564550760 -dd 3511966619,3511966619 -dd 976107044,976107044 -dd 2976320012,2976320012 -dd 266819475,266819475 -dd 3533106868,3533106868 -dd 2660342555,2660342555 -dd 1338359936,1338359936 -dd 2720062561,2720062561 -dd 1766553434,1766553434 -dd 370807324,370807324 -dd 179999714,179999714 -dd 3844776128,3844776128 -dd 1138762300,1138762300 -dd 488053522,488053522 -dd 185403662,185403662 -dd 2915535858,2915535858 -dd 3114841645,3114841645 -dd 3366526484,3366526484 -dd 2233069911,2233069911 -dd 1275557295,1275557295 -dd 3151862254,3151862254 -dd 4250959779,4250959779 -dd 2670068215,2670068215 -dd 3170202204,3170202204 -dd 3309004356,3309004356 -dd 880737115,880737115 -dd 1982415755,1982415755 -dd 3703972811,3703972811 -dd 1761406390,1761406390 -dd 1676797112,1676797112 -dd 3403428311,3403428311 -dd 277177154,277177154 -dd 1076008723,1076008723 -dd 538035844,538035844 -dd 2099530373,2099530373 -dd 4164795346,4164795346 -dd 288553390,288553390 -dd 1839278535,1839278535 -dd 1261411869,1261411869 -dd 4080055004,4080055004 -dd 3964831245,3964831245 -dd 3504587127,3504587127 -dd 1813426987,1813426987 -dd 2579067049,2579067049 -dd 4199060497,4199060497 -dd 577038663,577038663 -dd 3297574056,3297574056 -dd 440397984,440397984 -dd 3626794326,3626794326 -dd 4019204898,4019204898 -dd 3343796615,3343796615 -dd 3251714265,3251714265 -dd 4272081548,4272081548 -dd 906744984,906744984 -dd 3481400742,3481400742 -dd 685669029,685669029 -dd 646887386,646887386 -dd 2764025151,2764025151 -dd 3835509292,3835509292 -dd 227702864,227702864 -dd 2613862250,2613862250 -dd 1648787028,1648787028 -dd 3256061430,3256061430 -dd 3904428176,3904428176 -dd 1593260334,1593260334 -dd 4121936770,4121936770 -dd 3196083615,3196083615 -dd 2090061929,2090061929 -dd 2838353263,2838353263 -dd 3004310991,3004310991 -dd 999926984,999926984 -dd 2809993232,2809993232 -dd 1852021992,1852021992 -dd 2075868123,2075868123 -dd 158869197,158869197 -dd 4095236462,4095236462 -dd 28809964,28809964 -dd 2828685187,2828685187 -dd 1701746150,1701746150 -dd 2129067946,2129067946 -dd 147831841,147831841 -dd 3873969647,3873969647 -dd 3650873274,3650873274 -dd 3459673930,3459673930 -dd 3557400554,3557400554 -dd 3598495785,3598495785 -dd 2947720241,2947720241 -dd 824393514,824393514 -dd 815048134,815048134 -dd 3227951669,3227951669 -dd 935087732,935087732 -dd 2798289660,2798289660 -dd 2966458592,2966458592 -dd 366520115,366520115 -dd 1251476721,1251476721 -dd 4158319681,4158319681 -dd 240176511,240176511 -dd 804688151,804688151 -dd 2379631990,2379631990 -dd 1303441219,1303441219 -dd 1414376140,1414376140 -dd 3741619940,3741619940 -dd 3820343710,3820343710 -dd 461924940,461924940 -dd 3089050817,3089050817 -dd 2136040774,2136040774 -dd 82468509,82468509 -dd 1563790337,1563790337 -dd 1937016826,1937016826 -dd 776014843,776014843 -dd 1511876531,1511876531 -dd 1389550482,1389550482 -dd 861278441,861278441 -dd 323475053,323475053 -dd 2355222426,2355222426 -dd 2047648055,2047648055 -dd 2383738969,2383738969 -dd 2302415851,2302415851 -dd 3995576782,3995576782 -dd 902390199,902390199 -dd 3991215329,3991215329 -dd 1018251130,1018251130 -dd 1507840668,1507840668 -dd 1064563285,1064563285 -dd 2043548696,2043548696 -dd 3208103795,3208103795 -dd 3939366739,3939366739 -dd 1537932639,1537932639 -dd 342834655,342834655 -dd 2262516856,2262516856 -dd 2180231114,2180231114 -dd 1053059257,1053059257 -dd 741614648,741614648 -dd 1598071746,1598071746 -dd 1925389590,1925389590 -dd 203809468,203809468 -dd 2336832552,2336832552 -dd 1100287487,1100287487 -dd 1895934009,1895934009 -dd 3736275976,3736275976 -dd 2632234200,2632234200 -dd 2428589668,2428589668 -dd 1636092795,1636092795 -dd 1890988757,1890988757 -dd 1952214088,1952214088 -dd 1113045200,1113045200 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -global _AES_decrypt -align 16 -_AES_decrypt: -L$_AES_decrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [28+esp] - mov eax,esp - sub esp,36 - and esp,-64 - lea ebx,[edi-127] - sub ebx,esp - neg ebx - and ebx,960 - sub esp,ebx - add esp,4 - mov DWORD [28+esp],eax - call L$010pic_point -L$010pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - lea ebp,[(L$AES_Td-L$010pic_point)+ebp] - lea ebx,[764+esp] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - bt DWORD [eax],25 - jnc NEAR L$011x86 - movq mm0,[esi] - movq mm4,[8+esi] - call __sse_AES_decrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -L$011x86: - mov DWORD [24+esp],ebp - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - call __x86_AES_decrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -global _AES_cbc_encrypt -align 16 -_AES_cbc_encrypt: -L$_AES_cbc_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov ecx,DWORD [28+esp] - cmp ecx,0 - je NEAR L$012drop_out - call L$013pic_point -L$013pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - cmp DWORD [40+esp],0 - lea ebp,[(L$AES_Te-L$013pic_point)+ebp] - jne NEAR L$014picked_te - lea ebp,[(L$AES_Td-L$AES_Te)+ebp] -L$014picked_te: - pushfd - cld - cmp ecx,512 - jb NEAR L$015slow_way - test ecx,15 - jnz NEAR L$015slow_way - bt DWORD [eax],28 - jc NEAR L$015slow_way - lea esi,[esp-324] - and esi,-64 - mov eax,ebp - lea ebx,[2304+ebp] - mov edx,esi - and eax,4095 - and ebx,4095 - and edx,4095 - cmp edx,ebx - jb NEAR L$016tbl_break_out - sub edx,ebx - sub esi,edx - jmp NEAR L$017tbl_ok -align 4 -L$016tbl_break_out: - sub edx,eax - and edx,4095 - add edx,384 - sub esi,edx -align 4 -L$017tbl_ok: - lea edx,[24+esp] - xchg esp,esi - add esp,4 - mov DWORD [24+esp],ebp - mov DWORD [28+esp],esi - mov eax,DWORD [edx] - mov ebx,DWORD [4+edx] - mov edi,DWORD [12+edx] - mov esi,DWORD [16+edx] - mov edx,DWORD [20+edx] - mov DWORD [32+esp],eax - mov DWORD [36+esp],ebx - mov DWORD [40+esp],ecx - mov DWORD [44+esp],edi - mov DWORD [48+esp],esi - mov DWORD [316+esp],0 - mov ebx,edi - mov ecx,61 - sub ebx,ebp - mov esi,edi - and ebx,4095 - lea edi,[76+esp] - cmp ebx,2304 - jb NEAR L$018do_copy - cmp ebx,3852 - jb NEAR L$019skip_copy -align 4 -L$018do_copy: - mov DWORD [44+esp],edi -dd 2784229001 -L$019skip_copy: - mov edi,16 -align 4 -L$020prefetch_tbl: - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov esi,DWORD [96+ebp] - lea ebp,[128+ebp] - sub edi,1 - jnz NEAR L$020prefetch_tbl - sub ebp,2048 - mov esi,DWORD [32+esp] - mov edi,DWORD [48+esp] - cmp edx,0 - je NEAR L$021fast_decrypt - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] -align 16 -L$022fast_enc_loop: - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - xor eax,DWORD [esi] - xor ebx,DWORD [4+esi] - xor ecx,DWORD [8+esi] - xor edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_encrypt - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - lea esi,[16+esi] - mov ecx,DWORD [40+esp] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$022fast_enc_loop - mov esi,DWORD [48+esp] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - cmp DWORD [316+esp],0 - mov edi,DWORD [44+esp] - je NEAR L$023skip_ezero - mov ecx,60 - xor eax,eax -align 4 -dd 2884892297 -L$023skip_ezero: - mov esp,DWORD [28+esp] - popfd -L$012drop_out: - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$021fast_decrypt: - cmp esi,DWORD [36+esp] - je NEAR L$024fast_dec_in_place - mov DWORD [52+esp],edi -align 4 -align 16 -L$025fast_dec_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_decrypt - mov edi,DWORD [52+esp] - mov esi,DWORD [40+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov edi,DWORD [36+esp] - mov esi,DWORD [32+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - mov DWORD [52+esp],esi - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edi,[16+edi] - mov DWORD [36+esp],edi - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$025fast_dec_loop - mov edi,DWORD [52+esp] - mov esi,DWORD [48+esp] - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - jmp NEAR L$026fast_dec_out -align 16 -L$024fast_dec_in_place: -L$027fast_dec_in_place_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - lea edi,[60+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov edi,DWORD [44+esp] - call __x86_AES_decrypt - mov edi,DWORD [48+esp] - mov esi,DWORD [36+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - lea esi,[16+esi] - mov DWORD [36+esp],esi - lea esi,[60+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov esi,DWORD [32+esp] - mov ecx,DWORD [40+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$027fast_dec_in_place_loop -align 4 -L$026fast_dec_out: - cmp DWORD [316+esp],0 - mov edi,DWORD [44+esp] - je NEAR L$028skip_dzero - mov ecx,60 - xor eax,eax -align 4 -dd 2884892297 -L$028skip_dzero: - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$015slow_way: - mov eax,DWORD [eax] - mov edi,DWORD [36+esp] - lea esi,[esp-80] - and esi,-64 - lea ebx,[edi-143] - sub ebx,esi - neg ebx - and ebx,960 - sub esi,ebx - lea ebx,[768+esi] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - lea edx,[24+esp] - xchg esp,esi - add esp,4 - mov DWORD [24+esp],ebp - mov DWORD [28+esp],esi - mov DWORD [52+esp],eax - mov eax,DWORD [edx] - mov ebx,DWORD [4+edx] - mov esi,DWORD [16+edx] - mov edx,DWORD [20+edx] - mov DWORD [32+esp],eax - mov DWORD [36+esp],ebx - mov DWORD [40+esp],ecx - mov DWORD [44+esp],edi - mov DWORD [48+esp],esi - mov edi,esi - mov esi,eax - cmp edx,0 - je NEAR L$029slow_decrypt - cmp ecx,16 - mov edx,ebx - jb NEAR L$030slow_enc_tail - bt DWORD [52+esp],25 - jnc NEAR L$031slow_enc_x86 - movq mm0,[edi] - movq mm4,[8+edi] -align 16 -L$032slow_enc_loop_sse: - pxor mm0,[esi] - pxor mm4,[8+esi] - mov edi,DWORD [44+esp] - call __sse_AES_encrypt_compact - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov ecx,DWORD [40+esp] - movq [edi],mm0 - movq [8+edi],mm4 - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - cmp ecx,16 - mov DWORD [40+esp],ecx - jae NEAR L$032slow_enc_loop_sse - test ecx,15 - jnz NEAR L$030slow_enc_tail - mov esi,DWORD [48+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$031slow_enc_x86: - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] -align 4 -L$033slow_enc_loop_x86: - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - xor eax,DWORD [esi] - xor ebx,DWORD [4+esi] - xor ecx,DWORD [8+esi] - xor edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_encrypt_compact - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - cmp ecx,16 - mov DWORD [40+esp],ecx - jae NEAR L$033slow_enc_loop_x86 - test ecx,15 - jnz NEAR L$030slow_enc_tail - mov esi,DWORD [48+esp] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$030slow_enc_tail: - emms - mov edi,edx - mov ebx,16 - sub ebx,ecx - cmp edi,esi - je NEAR L$034enc_in_place -align 4 -dd 2767451785 - jmp NEAR L$035enc_skip_in_place -L$034enc_in_place: - lea edi,[ecx*1+edi] -L$035enc_skip_in_place: - mov ecx,ebx - xor eax,eax -align 4 -dd 2868115081 - mov edi,DWORD [48+esp] - mov esi,edx - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov DWORD [40+esp],16 - jmp NEAR L$033slow_enc_loop_x86 -align 16 -L$029slow_decrypt: - bt DWORD [52+esp],25 - jnc NEAR L$036slow_dec_loop_x86 -align 4 -L$037slow_dec_loop_sse: - movq mm0,[esi] - movq mm4,[8+esi] - mov edi,DWORD [44+esp] - call __sse_AES_decrypt_compact - mov esi,DWORD [32+esp] - lea eax,[60+esp] - mov ebx,DWORD [36+esp] - mov ecx,DWORD [40+esp] - mov edi,DWORD [48+esp] - movq mm1,[esi] - movq mm5,[8+esi] - pxor mm0,[edi] - pxor mm4,[8+edi] - movq [edi],mm1 - movq [8+edi],mm5 - sub ecx,16 - jc NEAR L$038slow_dec_partial_sse - movq [ebx],mm0 - movq [8+ebx],mm4 - lea ebx,[16+ebx] - mov DWORD [36+esp],ebx - lea esi,[16+esi] - mov DWORD [32+esp],esi - mov DWORD [40+esp],ecx - jnz NEAR L$037slow_dec_loop_sse - emms - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$038slow_dec_partial_sse: - movq [eax],mm0 - movq [8+eax],mm4 - emms - add ecx,16 - mov edi,ebx - mov esi,eax -align 4 -dd 2767451785 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$036slow_dec_loop_x86: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - lea edi,[60+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov edi,DWORD [44+esp] - call __x86_AES_decrypt_compact - mov edi,DWORD [48+esp] - mov esi,DWORD [40+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - sub esi,16 - jc NEAR L$039slow_dec_partial_x86 - mov DWORD [40+esp],esi - mov esi,DWORD [36+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - lea esi,[16+esi] - mov DWORD [36+esp],esi - lea esi,[60+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov esi,DWORD [32+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - jnz NEAR L$036slow_dec_loop_x86 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$039slow_dec_partial_x86: - lea esi,[60+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - mov esi,DWORD [32+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - mov edi,DWORD [36+esp] - lea esi,[60+esp] -align 4 -dd 2767451785 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__x86_AES_set_encrypt_key: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [24+esp] - mov edi,DWORD [32+esp] - test esi,-1 - jz NEAR L$040badpointer - test edi,-1 - jz NEAR L$040badpointer - call L$041pic_point -L$041pic_point: - pop ebp - lea ebp,[(L$AES_Te-L$041pic_point)+ebp] - lea ebp,[2176+ebp] - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] - mov ecx,DWORD [28+esp] - cmp ecx,128 - je NEAR L$04210rounds - cmp ecx,192 - je NEAR L$04312rounds - cmp ecx,256 - je NEAR L$04414rounds - mov eax,-2 - jmp NEAR L$045exit -L$04210rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - xor ecx,ecx - jmp NEAR L$04610shortcut -align 4 -L$04710loop: - mov eax,DWORD [edi] - mov edx,DWORD [12+edi] -L$04610shortcut: - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [16+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [20+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [24+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [28+edi],eax - inc ecx - add edi,16 - cmp ecx,10 - jl NEAR L$04710loop - mov DWORD [80+edi],10 - xor eax,eax - jmp NEAR L$045exit -L$04312rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [16+esi] - mov edx,DWORD [20+esi] - mov DWORD [16+edi],ecx - mov DWORD [20+edi],edx - xor ecx,ecx - jmp NEAR L$04812shortcut -align 4 -L$04912loop: - mov eax,DWORD [edi] - mov edx,DWORD [20+edi] -L$04812shortcut: - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [24+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [28+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [32+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [36+edi],eax - cmp ecx,7 - je NEAR L$05012break - inc ecx - xor eax,DWORD [16+edi] - mov DWORD [40+edi],eax - xor eax,DWORD [20+edi] - mov DWORD [44+edi],eax - add edi,24 - jmp NEAR L$04912loop -L$05012break: - mov DWORD [72+edi],12 - xor eax,eax - jmp NEAR L$045exit -L$04414rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov eax,DWORD [16+esi] - mov ebx,DWORD [20+esi] - mov ecx,DWORD [24+esi] - mov edx,DWORD [28+esi] - mov DWORD [16+edi],eax - mov DWORD [20+edi],ebx - mov DWORD [24+edi],ecx - mov DWORD [28+edi],edx - xor ecx,ecx - jmp NEAR L$05114shortcut -align 4 -L$05214loop: - mov edx,DWORD [28+edi] -L$05114shortcut: - mov eax,DWORD [edi] - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [32+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [36+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [40+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [44+edi],eax - cmp ecx,6 - je NEAR L$05314break - inc ecx - mov edx,eax - mov eax,DWORD [16+edi] - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - shl ebx,8 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,16 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,24 - xor eax,ebx - mov DWORD [48+edi],eax - xor eax,DWORD [20+edi] - mov DWORD [52+edi],eax - xor eax,DWORD [24+edi] - mov DWORD [56+edi],eax - xor eax,DWORD [28+edi] - mov DWORD [60+edi],eax - add edi,32 - jmp NEAR L$05214loop -L$05314break: - mov DWORD [48+edi],14 - xor eax,eax - jmp NEAR L$045exit -L$040badpointer: - mov eax,-1 -L$045exit: - pop edi - pop esi - pop ebx - pop ebp - ret -global _AES_set_encrypt_key -align 16 -_AES_set_encrypt_key: -L$_AES_set_encrypt_key_begin: - call __x86_AES_set_encrypt_key - ret -global _AES_set_decrypt_key -align 16 -_AES_set_decrypt_key: -L$_AES_set_decrypt_key_begin: - call __x86_AES_set_encrypt_key - cmp eax,0 - je NEAR L$054proceed - ret -L$054proceed: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [28+esp] - mov ecx,DWORD [240+esi] - lea ecx,[ecx*4] - lea edi,[ecx*4+esi] -align 4 -L$055invert: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [edi] - mov edx,DWORD [4+edi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [esi],ecx - mov DWORD [4+esi],edx - mov eax,DWORD [8+esi] - mov ebx,DWORD [12+esi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [8+edi],eax - mov DWORD [12+edi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - add esi,16 - sub edi,16 - cmp esi,edi - jne NEAR L$055invert - mov edi,DWORD [28+esp] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [28+esp],esi - mov eax,DWORD [16+edi] -align 4 -L$056permute: - add edi,16 - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - xor ebx,esi - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - xor ebx,eax - xor ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - xor ecx,eax - sub esi,ebp - and edx,4278124286 - and esi,454761243 - rol eax,8 - xor edx,esi - mov ebp,DWORD [4+edi] - xor eax,ebx - xor ebx,edx - xor eax,ecx - rol ebx,24 - xor ecx,edx - xor eax,edx - rol ecx,16 - xor eax,ebx - rol edx,8 - xor eax,ecx - mov ebx,ebp - xor eax,edx - mov DWORD [edi],eax - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and edx,4278124286 - and esi,454761243 - xor ecx,ebx - xor edx,esi - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - xor edx,ebx - sub esi,ebp - and eax,4278124286 - and esi,454761243 - rol ebx,8 - xor eax,esi - mov ebp,DWORD [8+edi] - xor ebx,ecx - xor ecx,eax - xor ebx,edx - rol ecx,24 - xor edx,eax - xor ebx,eax - rol edx,16 - xor ebx,ecx - rol eax,8 - xor ebx,edx - mov ecx,ebp - xor ebx,eax - mov DWORD [4+edi],ebx - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and edx,4278124286 - and esi,454761243 - xor edx,esi - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and eax,4278124286 - and esi,454761243 - xor edx,ecx - xor eax,esi - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - xor eax,ecx - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - rol ecx,8 - xor ebx,esi - mov ebp,DWORD [12+edi] - xor ecx,edx - xor edx,ebx - xor ecx,eax - rol edx,24 - xor eax,ebx - xor ecx,ebx - rol eax,16 - xor ecx,edx - rol ebx,8 - xor ecx,eax - mov edx,ebp - xor ecx,ebx - mov DWORD [8+edi],ecx - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and eax,4278124286 - and esi,454761243 - xor eax,esi - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - xor eax,edx - xor ebx,esi - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - xor ebx,edx - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - rol edx,8 - xor ecx,esi - mov ebp,DWORD [16+edi] - xor edx,eax - xor eax,ecx - xor edx,ebx - rol eax,24 - xor ebx,ecx - xor edx,ecx - rol ebx,16 - xor edx,eax - rol ecx,8 - xor edx,ebx - mov eax,ebp - xor edx,ecx - mov DWORD [12+edi],edx - cmp edi,DWORD [28+esp] - jb NEAR L$056permute - xor eax,eax - pop edi - pop esi - pop ebx - pop ebp - ret -db 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -db 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -db 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -segment .bss -common _OPENSSL_ia32cap_P 16 diff --git a/deps/openssl/config/archs/VC-WIN32/asm/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN32/asm/crypto/buildinf.h index b0dfdc7a561045..a0e422963d254b 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN32/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: " -#define DATE "built on: Fri Sep 13 16:03:33 2019 UTC" +#define DATE "built on: Wed Mar 18 21:11:00 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN32/asm/crypto/ec/ecp_nistz256-x86.asm b/deps/openssl/config/archs/VC-WIN32/asm/crypto/ec/ecp_nistz256-x86.asm index 7383523877eec8..96071a300ead92 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/crypto/ec/ecp_nistz256-x86.asm +++ b/deps/openssl/config/archs/VC-WIN32/asm/crypto/ec/ecp_nistz256-x86.asm @@ -4386,19 +4386,15 @@ L$009pic: or eax,DWORD [4+edi] or eax,DWORD [8+edi] or eax,DWORD [12+edi] + mov ebx,DWORD [576+esp] + not ebx + or eax,ebx + mov ebx,DWORD [580+esp] + not ebx + or eax,ebx + or eax,DWORD [584+esp] db 62 jnz NEAR L$010add_proceed - mov eax,DWORD [576+esp] - and eax,DWORD [580+esp] - mov ebx,DWORD [584+esp] - jz NEAR L$010add_proceed - test ebx,ebx - jz NEAR L$011add_double - mov edi,DWORD [616+esp] - xor eax,eax - mov ecx,24 -db 252,243,171 - jmp NEAR L$012add_done align 16 L$011add_double: mov esi,DWORD [620+esp] diff --git a/deps/openssl/config/archs/VC-WIN32/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/VC-WIN32/asm/crypto/include/internal/bn_conf.h index ce324699ae1f17..2242cd2fc05d89 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/VC-WIN32/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/VC-WIN32/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/VC-WIN32/asm/crypto/include/internal/dso_conf.h index c3b41df01e40a3..0c96ce73633dac 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/VC-WIN32/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_WIN32 # define DSO_EXTENSION ".dll" #endif diff --git a/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/opensslconf.h index e0b784dfe0539b..8fb667373af516 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/VC-WIN32/asm/include/progs.h b/deps/openssl/config/archs/VC-WIN32/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/include/progs.h +++ b/deps/openssl/config/archs/VC-WIN32/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/VC-WIN32/asm/openssl-cl.gypi b/deps/openssl/config/archs/VC-WIN32/asm/openssl-cl.gypi index 5028da71f3d37c..f15a17c0bebb0a 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/openssl-cl.gypi +++ b/deps/openssl/config/archs/VC-WIN32/asm/openssl-cl.gypi @@ -20,6 +20,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', @@ -28,9 +29,9 @@ ], 'openssl_cflags_VC-WIN32': [ '-Wa,--noexecstack', - '/W3 /wd4090 /nologo /O2 /WX', + '/W3 /wd4090 /nologo /O2', '/Gs0 /GF /Gy', - '/W3 /wd4090 /nologo /O2 /WX', + '/W3 /wd4090 /nologo /O2', ], 'openssl_ex_libs_VC-WIN32': [ 'ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib', diff --git a/deps/openssl/config/archs/VC-WIN32/asm/openssl.gypi b/deps/openssl/config/archs/VC-WIN32/asm/openssl.gypi index a718f985ec9427..4b319c319a5ef4 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/openssl.gypi +++ b/deps/openssl/config/archs/VC-WIN32/asm/openssl.gypi @@ -717,6 +717,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', @@ -725,9 +726,9 @@ ], 'openssl_cflags_VC-WIN32': [ '-Wa,--noexecstack', - '/W3 /wd4090 /nologo /O2 /WX', + '/W3 /wd4090 /nologo /O2', '/Gs0 /GF /Gy', - '/W3 /wd4090 /nologo /O2 /WX', + '/W3 /wd4090 /nologo /O2', ], 'openssl_ex_libs_VC-WIN32': [ 'ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib', diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/configdata.pm b/deps/openssl/config/archs/VC-WIN32/asm_avx2/configdata.pm index f0ae44934c40be..14713dbff02eeb 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/configdata.pm @@ -15,7 +15,7 @@ our %config = ( ARFLAGS => [ "/nologo" ], AS => "nasm", CC => "../config/fake_gcc.pl", - CFLAGS => [ "/W3 /wd4090 /nologo /O2 /WX" ], + CFLAGS => [ "/W3 /wd4090 /nologo /O2" ], CPP => "\$(CC) /EP /C", CPPDEFINES => [ ], CPPFLAGS => [ ], @@ -53,13 +53,13 @@ our %config = ( export_var_as_fn => "1", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "AESNI_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], libdir => "", major => "1", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_WIN32" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -115,8 +115,8 @@ our %config = ( sourcedir => ".", target => "VC-WIN32", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -125,14 +125,14 @@ our %target = ( AS => "nasm", ASFLAGS => "", CC => "cl", - CFLAGS => "/W3 /wd4090 /nologo /O2 /WX", + CFLAGS => "/W3 /wd4090 /nologo /O2", CPP => "\$(CC) /EP /C", HASHBANGPERL => "/usr/bin/env perl", LD => "link", LDFLAGS => "/nologo /debug", MT => "mt", MTFLAGS => "-nologo", - RANLIB => "CODE(0x55a934dbe798)", + RANLIB => "CODE(0x56041fcde128)", RC => "rc", _conf_fname_int => [ "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/shared-info.pl" ], aes_asm_src => "aes_core.c aes_cbc.c vpaes-x86.s aesni-x86.s", @@ -257,6 +257,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -374,8 +375,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -643,14 +644,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -726,6 +719,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1523,6 +1524,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3254,7 +3261,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3262,6 +3268,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3755,14 +3762,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4203,6 +4202,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4912,49 +4919,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4964,7 +4963,6 @@ our %unified_info = ( "crypto/aes/aesni-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4982,13 +4980,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -5002,613 +4998,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5622,7 +5516,6 @@ our %unified_info = ( "crypto/bn/bn-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5632,188 +5525,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/co-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5843,25 +5705,21 @@ our %unified_info = ( "crypto/bn/x86-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5871,31 +5729,26 @@ our %unified_info = ( "crypto/camellia/cmll-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5905,31 +5758,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5947,284 +5795,237 @@ our %unified_info = ( "crypto/chacha/chacha-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/crypt586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des-586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6234,295 +6035,246 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6530,7 +6282,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6538,7 +6289,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6546,7 +6296,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6554,7 +6303,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6562,7 +6310,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6570,163 +6317,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6744,235 +6464,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6980,21 +6661,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7002,13 +6680,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7016,81 +6692,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7098,334 +6761,272 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-586.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7435,79 +7036,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7526,7 +7114,6 @@ our %unified_info = ( "crypto/modes/ghash-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7536,361 +7123,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7912,265 +7439,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8180,31 +7663,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8214,13 +7692,11 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8246,19 +7722,16 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8284,13 +7757,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8316,727 +7787,606 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-mmx.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9087,6 +8437,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9331,7 +8689,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9657,7 +9014,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9703,7 +9059,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9769,7 +9124,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9794,7 +9148,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9892,7 +9245,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9942,18 +9294,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9964,6 +9313,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10027,10 +9380,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10059,6 +9408,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10323,6 +9676,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15256,7 +14610,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15264,6 +14617,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15491,6 +14845,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15593,10 +14955,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15625,6 +14983,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/aes/aes-586.asm b/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/aes/aes-586.asm deleted file mode 100644 index 7a17e847c64a73..00000000000000 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/aes/aes-586.asm +++ /dev/null @@ -1,3211 +0,0 @@ -%ifidn __OUTPUT_FORMAT__,obj -section code use32 class=code align=64 -%elifidn __OUTPUT_FORMAT__,win32 -$@feat.00 equ 1 -section .text code align=64 -%else -section .text code -%endif -align 16 -__x86_AES_encrypt_compact: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] -align 16 -L$000loop: - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ch - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,eax - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx eax,ah - movzx eax,BYTE [eax*1+ebp-128] - shl eax,8 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,24 - xor edx,ecx - mov ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edi,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,ecx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,ecx - xor ecx,esi - ror edi,24 - xor esi,ebp - rol ecx,24 - xor esi,edi - mov ebp,2155905152 - xor ecx,esi - and ebp,edx - lea edi,[edx*1+edx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,edx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,edx - xor edx,esi - ror edi,24 - xor esi,ebp - rol edx,24 - xor esi,edi - mov ebp,2155905152 - xor edx,esi - and ebp,eax - lea edi,[eax*1+eax] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,eax - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,eax - xor eax,esi - ror edi,24 - xor esi,ebp - rol eax,24 - xor esi,edi - mov ebp,2155905152 - xor eax,esi - and ebp,ebx - lea edi,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,ebx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,ebx - xor ebx,esi - ror edi,24 - xor esi,ebp - rol ebx,24 - xor esi,edi - xor ebx,esi - mov edi,DWORD [20+esp] - mov ebp,DWORD [28+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$000loop - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ch - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,eax - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx eax,ah - movzx eax,BYTE [eax*1+ebp-128] - shl eax,8 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,24 - xor edx,ecx - mov ecx,esi - xor eax,DWORD [16+edi] - xor ebx,DWORD [20+edi] - xor ecx,DWORD [24+edi] - xor edx,DWORD [28+edi] - ret -align 16 -__sse_AES_encrypt_compact: - pxor mm0,[edi] - pxor mm4,[8+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov eax,454761243 - mov DWORD [8+esp],eax - mov DWORD [12+esp],eax - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] -align 16 -L$001loop: - pshufw mm1,mm0,8 - pshufw mm5,mm4,13 - movd eax,mm1 - movd ebx,mm5 - mov DWORD [20+esp],edi - movzx esi,al - movzx edx,ah - pshufw mm2,mm0,13 - movzx ecx,BYTE [esi*1+ebp-128] - movzx edi,bl - movzx edx,BYTE [edx*1+ebp-128] - shr eax,16 - shl edx,8 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,16 - pshufw mm6,mm4,8 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,24 - shr ebx,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,8 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - movd eax,mm2 - movd mm0,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,ah - shl ecx,16 - movd ebx,mm6 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - shl esi,8 - shr ebx,16 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shr eax,16 - movd mm1,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,ah - shl ecx,16 - and eax,255 - or ecx,esi - punpckldq mm0,mm1 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - and ebx,255 - movzx eax,BYTE [eax*1+ebp-128] - or ecx,esi - shl eax,16 - movzx esi,BYTE [edi*1+ebp-128] - or edx,eax - shl esi,8 - movzx ebx,BYTE [ebx*1+ebp-128] - or ecx,esi - or edx,ebx - mov edi,DWORD [20+esp] - movd mm4,ecx - movd mm5,edx - punpckldq mm4,mm5 - add edi,16 - cmp edi,DWORD [24+esp] - ja NEAR L$002out - movq mm2,[8+esp] - pxor mm3,mm3 - pxor mm7,mm7 - movq mm1,mm0 - movq mm5,mm4 - pcmpgtb mm3,mm0 - pcmpgtb mm7,mm4 - pand mm3,mm2 - pand mm7,mm2 - pshufw mm2,mm0,177 - pshufw mm6,mm4,177 - paddb mm0,mm0 - paddb mm4,mm4 - pxor mm0,mm3 - pxor mm4,mm7 - pshufw mm3,mm2,177 - pshufw mm7,mm6,177 - pxor mm1,mm0 - pxor mm5,mm4 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm2,mm3 - movq mm6,mm7 - pslld mm3,8 - pslld mm7,8 - psrld mm2,24 - psrld mm6,24 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm3,mm1 - movq mm7,mm5 - movq mm2,[edi] - movq mm6,[8+edi] - psrld mm1,8 - psrld mm5,8 - mov eax,DWORD [ebp-128] - pslld mm3,24 - pslld mm7,24 - mov ebx,DWORD [ebp-64] - pxor mm0,mm1 - pxor mm4,mm5 - mov ecx,DWORD [ebp] - pxor mm0,mm3 - pxor mm4,mm7 - mov edx,DWORD [64+ebp] - pxor mm0,mm2 - pxor mm4,mm6 - jmp NEAR L$001loop -align 16 -L$002out: - pxor mm0,[edi] - pxor mm4,[8+edi] - ret -align 16 -__x86_AES_encrypt: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi -align 16 -L$003loop: - mov esi,eax - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,bh - xor esi,DWORD [3+edi*8+ebp] - mov edi,ecx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,edx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - mov esi,DWORD [esi*8+ebp] - movzx edi,ch - xor esi,DWORD [3+edi*8+ebp] - mov edi,edx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,eax - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - mov esi,DWORD [esi*8+ebp] - movzx edi,dh - xor esi,DWORD [3+edi*8+ebp] - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - movzx edi,bh - xor esi,DWORD [1+edi*8+ebp] - mov edi,DWORD [20+esp] - mov edx,DWORD [edx*8+ebp] - movzx eax,ah - xor edx,DWORD [3+eax*8+ebp] - mov eax,DWORD [4+esp] - and ebx,255 - xor edx,DWORD [2+ebx*8+ebp] - mov ebx,DWORD [8+esp] - xor edx,DWORD [1+ecx*8+ebp] - mov ecx,esi - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$003loop - mov esi,eax - and esi,255 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,bh - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - mov edi,edx - shr edi,24 - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,ch - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - mov edi,eax - shr edi,24 - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,dh - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - movzx edi,bh - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - mov edx,DWORD [2+edx*8+ebp] - and edx,255 - movzx eax,ah - mov eax,DWORD [eax*8+ebp] - and eax,65280 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - mov ebx,DWORD [ebx*8+ebp] - and ebx,16711680 - xor edx,ebx - mov ebx,DWORD [8+esp] - mov ecx,DWORD [2+ecx*8+ebp] - and ecx,4278190080 - xor edx,ecx - mov ecx,esi - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - ret -align 64 -L$AES_Te: -dd 2774754246,2774754246 -dd 2222750968,2222750968 -dd 2574743534,2574743534 -dd 2373680118,2373680118 -dd 234025727,234025727 -dd 3177933782,3177933782 -dd 2976870366,2976870366 -dd 1422247313,1422247313 -dd 1345335392,1345335392 -dd 50397442,50397442 -dd 2842126286,2842126286 -dd 2099981142,2099981142 -dd 436141799,436141799 -dd 1658312629,1658312629 -dd 3870010189,3870010189 -dd 2591454956,2591454956 -dd 1170918031,1170918031 -dd 2642575903,2642575903 -dd 1086966153,1086966153 -dd 2273148410,2273148410 -dd 368769775,368769775 -dd 3948501426,3948501426 -dd 3376891790,3376891790 -dd 200339707,200339707 -dd 3970805057,3970805057 -dd 1742001331,1742001331 -dd 4255294047,4255294047 -dd 3937382213,3937382213 -dd 3214711843,3214711843 -dd 4154762323,4154762323 -dd 2524082916,2524082916 -dd 1539358875,1539358875 -dd 3266819957,3266819957 -dd 486407649,486407649 -dd 2928907069,2928907069 -dd 1780885068,1780885068 -dd 1513502316,1513502316 -dd 1094664062,1094664062 -dd 49805301,49805301 -dd 1338821763,1338821763 -dd 1546925160,1546925160 -dd 4104496465,4104496465 -dd 887481809,887481809 -dd 150073849,150073849 -dd 2473685474,2473685474 -dd 1943591083,1943591083 -dd 1395732834,1395732834 -dd 1058346282,1058346282 -dd 201589768,201589768 -dd 1388824469,1388824469 -dd 1696801606,1696801606 -dd 1589887901,1589887901 -dd 672667696,672667696 -dd 2711000631,2711000631 -dd 251987210,251987210 -dd 3046808111,3046808111 -dd 151455502,151455502 -dd 907153956,907153956 -dd 2608889883,2608889883 -dd 1038279391,1038279391 -dd 652995533,652995533 -dd 1764173646,1764173646 -dd 3451040383,3451040383 -dd 2675275242,2675275242 -dd 453576978,453576978 -dd 2659418909,2659418909 -dd 1949051992,1949051992 -dd 773462580,773462580 -dd 756751158,756751158 -dd 2993581788,2993581788 -dd 3998898868,3998898868 -dd 4221608027,4221608027 -dd 4132590244,4132590244 -dd 1295727478,1295727478 -dd 1641469623,1641469623 -dd 3467883389,3467883389 -dd 2066295122,2066295122 -dd 1055122397,1055122397 -dd 1898917726,1898917726 -dd 2542044179,2542044179 -dd 4115878822,4115878822 -dd 1758581177,1758581177 -dd 0,0 -dd 753790401,753790401 -dd 1612718144,1612718144 -dd 536673507,536673507 -dd 3367088505,3367088505 -dd 3982187446,3982187446 -dd 3194645204,3194645204 -dd 1187761037,1187761037 -dd 3653156455,3653156455 -dd 1262041458,1262041458 -dd 3729410708,3729410708 -dd 3561770136,3561770136 -dd 3898103984,3898103984 -dd 1255133061,1255133061 -dd 1808847035,1808847035 -dd 720367557,720367557 -dd 3853167183,3853167183 -dd 385612781,385612781 -dd 3309519750,3309519750 -dd 3612167578,3612167578 -dd 1429418854,1429418854 -dd 2491778321,2491778321 -dd 3477423498,3477423498 -dd 284817897,284817897 -dd 100794884,100794884 -dd 2172616702,2172616702 -dd 4031795360,4031795360 -dd 1144798328,1144798328 -dd 3131023141,3131023141 -dd 3819481163,3819481163 -dd 4082192802,4082192802 -dd 4272137053,4272137053 -dd 3225436288,3225436288 -dd 2324664069,2324664069 -dd 2912064063,2912064063 -dd 3164445985,3164445985 -dd 1211644016,1211644016 -dd 83228145,83228145 -dd 3753688163,3753688163 -dd 3249976951,3249976951 -dd 1977277103,1977277103 -dd 1663115586,1663115586 -dd 806359072,806359072 -dd 452984805,452984805 -dd 250868733,250868733 -dd 1842533055,1842533055 -dd 1288555905,1288555905 -dd 336333848,336333848 -dd 890442534,890442534 -dd 804056259,804056259 -dd 3781124030,3781124030 -dd 2727843637,2727843637 -dd 3427026056,3427026056 -dd 957814574,957814574 -dd 1472513171,1472513171 -dd 4071073621,4071073621 -dd 2189328124,2189328124 -dd 1195195770,1195195770 -dd 2892260552,2892260552 -dd 3881655738,3881655738 -dd 723065138,723065138 -dd 2507371494,2507371494 -dd 2690670784,2690670784 -dd 2558624025,2558624025 -dd 3511635870,3511635870 -dd 2145180835,2145180835 -dd 1713513028,1713513028 -dd 2116692564,2116692564 -dd 2878378043,2878378043 -dd 2206763019,2206763019 -dd 3393603212,3393603212 -dd 703524551,703524551 -dd 3552098411,3552098411 -dd 1007948840,1007948840 -dd 2044649127,2044649127 -dd 3797835452,3797835452 -dd 487262998,487262998 -dd 1994120109,1994120109 -dd 1004593371,1004593371 -dd 1446130276,1446130276 -dd 1312438900,1312438900 -dd 503974420,503974420 -dd 3679013266,3679013266 -dd 168166924,168166924 -dd 1814307912,1814307912 -dd 3831258296,3831258296 -dd 1573044895,1573044895 -dd 1859376061,1859376061 -dd 4021070915,4021070915 -dd 2791465668,2791465668 -dd 2828112185,2828112185 -dd 2761266481,2761266481 -dd 937747667,937747667 -dd 2339994098,2339994098 -dd 854058965,854058965 -dd 1137232011,1137232011 -dd 1496790894,1496790894 -dd 3077402074,3077402074 -dd 2358086913,2358086913 -dd 1691735473,1691735473 -dd 3528347292,3528347292 -dd 3769215305,3769215305 -dd 3027004632,3027004632 -dd 4199962284,4199962284 -dd 133494003,133494003 -dd 636152527,636152527 -dd 2942657994,2942657994 -dd 2390391540,2390391540 -dd 3920539207,3920539207 -dd 403179536,403179536 -dd 3585784431,3585784431 -dd 2289596656,2289596656 -dd 1864705354,1864705354 -dd 1915629148,1915629148 -dd 605822008,605822008 -dd 4054230615,4054230615 -dd 3350508659,3350508659 -dd 1371981463,1371981463 -dd 602466507,602466507 -dd 2094914977,2094914977 -dd 2624877800,2624877800 -dd 555687742,555687742 -dd 3712699286,3712699286 -dd 3703422305,3703422305 -dd 2257292045,2257292045 -dd 2240449039,2240449039 -dd 2423288032,2423288032 -dd 1111375484,1111375484 -dd 3300242801,3300242801 -dd 2858837708,2858837708 -dd 3628615824,3628615824 -dd 84083462,84083462 -dd 32962295,32962295 -dd 302911004,302911004 -dd 2741068226,2741068226 -dd 1597322602,1597322602 -dd 4183250862,4183250862 -dd 3501832553,3501832553 -dd 2441512471,2441512471 -dd 1489093017,1489093017 -dd 656219450,656219450 -dd 3114180135,3114180135 -dd 954327513,954327513 -dd 335083755,335083755 -dd 3013122091,3013122091 -dd 856756514,856756514 -dd 3144247762,3144247762 -dd 1893325225,1893325225 -dd 2307821063,2307821063 -dd 2811532339,2811532339 -dd 3063651117,3063651117 -dd 572399164,572399164 -dd 2458355477,2458355477 -dd 552200649,552200649 -dd 1238290055,1238290055 -dd 4283782570,4283782570 -dd 2015897680,2015897680 -dd 2061492133,2061492133 -dd 2408352771,2408352771 -dd 4171342169,4171342169 -dd 2156497161,2156497161 -dd 386731290,386731290 -dd 3669999461,3669999461 -dd 837215959,837215959 -dd 3326231172,3326231172 -dd 3093850320,3093850320 -dd 3275833730,3275833730 -dd 2962856233,2962856233 -dd 1999449434,1999449434 -dd 286199582,286199582 -dd 3417354363,3417354363 -dd 4233385128,4233385128 -dd 3602627437,3602627437 -dd 974525996,974525996 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -dd 1,2,4,8 -dd 16,32,64,128 -dd 27,54,0,0 -dd 0,0,0,0 -global _AES_encrypt -align 16 -_AES_encrypt: -L$_AES_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [28+esp] - mov eax,esp - sub esp,36 - and esp,-64 - lea ebx,[edi-127] - sub ebx,esp - neg ebx - and ebx,960 - sub esp,ebx - add esp,4 - mov DWORD [28+esp],eax - call L$004pic_point -L$004pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - lea ebp,[(L$AES_Te-L$004pic_point)+ebp] - lea ebx,[764+esp] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - bt DWORD [eax],25 - jnc NEAR L$005x86 - movq mm0,[esi] - movq mm4,[8+esi] - call __sse_AES_encrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -L$005x86: - mov DWORD [24+esp],ebp - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - call __x86_AES_encrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__x86_AES_decrypt_compact: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] -align 16 -L$006loop: - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - shr eax,24 - movzx eax,BYTE [eax*1+ebp-128] - shl eax,24 - xor edx,eax - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea eax,[ecx*1+ecx] - sub esi,edi - and eax,4278124286 - and esi,454761243 - xor eax,esi - mov edi,2155905152 - and edi,eax - mov esi,edi - shr edi,7 - lea ebx,[eax*1+eax] - sub esi,edi - and ebx,4278124286 - and esi,454761243 - xor eax,ecx - xor ebx,esi - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ebp,[ebx*1+ebx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor ebx,ecx - rol ecx,8 - xor ebp,esi - xor ecx,eax - xor eax,ebp - xor ecx,ebx - xor ebx,ebp - rol eax,24 - xor ecx,ebp - rol ebx,16 - xor ecx,eax - rol ebp,8 - xor ecx,ebx - mov eax,DWORD [4+esp] - xor ecx,ebp - mov DWORD [12+esp],ecx - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebx,[edx*1+edx] - sub esi,edi - and ebx,4278124286 - and esi,454761243 - xor ebx,esi - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ecx,[ebx*1+ebx] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ebx,edx - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea ebp,[ecx*1+ecx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor ecx,edx - rol edx,8 - xor ebp,esi - xor edx,ebx - xor ebx,ebp - xor edx,ecx - xor ecx,ebp - rol ebx,24 - xor edx,ebp - rol ecx,16 - xor edx,ebx - rol ebp,8 - xor edx,ecx - mov ebx,DWORD [8+esp] - xor edx,ebp - mov DWORD [16+esp],edx - mov edi,2155905152 - and edi,eax - mov esi,edi - shr edi,7 - lea ecx,[eax*1+eax] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea edx,[ecx*1+ecx] - sub esi,edi - and edx,4278124286 - and esi,454761243 - xor ecx,eax - xor edx,esi - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebp,[edx*1+edx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor edx,eax - rol eax,8 - xor ebp,esi - xor eax,ecx - xor ecx,ebp - xor eax,edx - xor edx,ebp - rol ecx,24 - xor eax,ebp - rol edx,16 - xor eax,ecx - rol ebp,8 - xor eax,edx - xor eax,ebp - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ecx,[ebx*1+ebx] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea edx,[ecx*1+ecx] - sub esi,edi - and edx,4278124286 - and esi,454761243 - xor ecx,ebx - xor edx,esi - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebp,[edx*1+edx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor edx,ebx - rol ebx,8 - xor ebp,esi - xor ebx,ecx - xor ecx,ebp - xor ebx,edx - xor edx,ebp - rol ecx,24 - xor ebx,ebp - rol edx,16 - xor ebx,ecx - rol ebp,8 - xor ebx,edx - mov ecx,DWORD [12+esp] - xor ebx,ebp - mov edx,DWORD [16+esp] - mov edi,DWORD [20+esp] - mov ebp,DWORD [28+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$006loop - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - shr eax,24 - movzx eax,BYTE [eax*1+ebp-128] - shl eax,24 - xor edx,eax - mov eax,DWORD [4+esp] - xor eax,DWORD [16+edi] - xor ebx,DWORD [20+edi] - xor ecx,DWORD [24+edi] - xor edx,DWORD [28+edi] - ret -align 16 -__sse_AES_decrypt_compact: - pxor mm0,[edi] - pxor mm4,[8+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov eax,454761243 - mov DWORD [8+esp],eax - mov DWORD [12+esp],eax - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] -align 16 -L$007loop: - pshufw mm1,mm0,12 - pshufw mm5,mm4,9 - movd eax,mm1 - movd ebx,mm5 - mov DWORD [20+esp],edi - movzx esi,al - movzx edx,ah - pshufw mm2,mm0,6 - movzx ecx,BYTE [esi*1+ebp-128] - movzx edi,bl - movzx edx,BYTE [edx*1+ebp-128] - shr eax,16 - shl edx,8 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,16 - pshufw mm6,mm4,3 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,24 - shr ebx,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,8 - movd eax,mm2 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - shl esi,16 - movd ebx,mm6 - movd mm0,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,al - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,16 - shr eax,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shr ebx,16 - shl esi,8 - movd mm1,edx - movzx edx,BYTE [edi*1+ebp-128] - movzx edi,bh - shl edx,24 - and ebx,255 - or edx,esi - punpckldq mm0,mm1 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,8 - movzx eax,ah - movzx ebx,BYTE [ebx*1+ebp-128] - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - or edx,ebx - shl esi,16 - movzx eax,BYTE [eax*1+ebp-128] - or edx,esi - shl eax,24 - or ecx,eax - mov edi,DWORD [20+esp] - movd mm4,edx - movd mm5,ecx - punpckldq mm4,mm5 - add edi,16 - cmp edi,DWORD [24+esp] - ja NEAR L$008out - movq mm3,mm0 - movq mm7,mm4 - pshufw mm2,mm0,228 - pshufw mm6,mm4,228 - movq mm1,mm0 - movq mm5,mm4 - pshufw mm0,mm0,177 - pshufw mm4,mm4,177 - pslld mm2,8 - pslld mm6,8 - psrld mm3,8 - psrld mm7,8 - pxor mm0,mm2 - pxor mm4,mm6 - pxor mm0,mm3 - pxor mm4,mm7 - pslld mm2,16 - pslld mm6,16 - psrld mm3,16 - psrld mm7,16 - pxor mm0,mm2 - pxor mm4,mm6 - pxor mm0,mm3 - pxor mm4,mm7 - movq mm3,[8+esp] - pxor mm2,mm2 - pxor mm6,mm6 - pcmpgtb mm2,mm1 - pcmpgtb mm6,mm5 - pand mm2,mm3 - pand mm6,mm3 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm2 - pxor mm5,mm6 - movq mm3,mm1 - movq mm7,mm5 - movq mm2,mm1 - movq mm6,mm5 - pxor mm0,mm1 - pxor mm4,mm5 - pslld mm3,24 - pslld mm7,24 - psrld mm2,8 - psrld mm6,8 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm2,[8+esp] - pxor mm3,mm3 - pxor mm7,mm7 - pcmpgtb mm3,mm1 - pcmpgtb mm7,mm5 - pand mm3,mm2 - pand mm7,mm2 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm3 - pxor mm5,mm7 - pshufw mm3,mm1,177 - pshufw mm7,mm5,177 - pxor mm0,mm1 - pxor mm4,mm5 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm3,mm3 - pxor mm7,mm7 - pcmpgtb mm3,mm1 - pcmpgtb mm7,mm5 - pand mm3,mm2 - pand mm7,mm2 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm3 - pxor mm5,mm7 - pxor mm0,mm1 - pxor mm4,mm5 - movq mm3,mm1 - movq mm7,mm5 - pshufw mm2,mm1,177 - pshufw mm6,mm5,177 - pxor mm0,mm2 - pxor mm4,mm6 - pslld mm1,8 - pslld mm5,8 - psrld mm3,8 - psrld mm7,8 - movq mm2,[edi] - movq mm6,[8+edi] - pxor mm0,mm1 - pxor mm4,mm5 - pxor mm0,mm3 - pxor mm4,mm7 - mov eax,DWORD [ebp-128] - pslld mm1,16 - pslld mm5,16 - mov ebx,DWORD [ebp-64] - psrld mm3,16 - psrld mm7,16 - mov ecx,DWORD [ebp] - pxor mm0,mm1 - pxor mm4,mm5 - mov edx,DWORD [64+ebp] - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - jmp NEAR L$007loop -align 16 -L$008out: - pxor mm0,[edi] - pxor mm4,[8+edi] - ret -align 16 -__x86_AES_decrypt: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi -align 16 -L$009loop: - mov esi,eax - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,dh - xor esi,DWORD [3+edi*8+ebp] - mov edi,ecx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,ebx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,ah - xor esi,DWORD [3+edi*8+ebp] - mov edi,edx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,ecx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,bh - xor esi,DWORD [3+edi*8+ebp] - mov edi,eax - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,edx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov edi,DWORD [20+esp] - and edx,255 - mov edx,DWORD [edx*8+ebp] - movzx ecx,ch - xor edx,DWORD [3+ecx*8+ebp] - mov ecx,esi - shr ebx,16 - and ebx,255 - xor edx,DWORD [2+ebx*8+ebp] - mov ebx,DWORD [8+esp] - shr eax,24 - xor edx,DWORD [1+eax*8+ebp] - mov eax,DWORD [4+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$009loop - lea ebp,[2176+ebp] - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] - lea ebp,[ebp-128] - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - shr eax,24 - movzx eax,BYTE [eax*1+ebp] - shl eax,24 - xor edx,eax - mov eax,DWORD [4+esp] - lea ebp,[ebp-2048] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - ret -align 64 -L$AES_Td: -dd 1353184337,1353184337 -dd 1399144830,1399144830 -dd 3282310938,3282310938 -dd 2522752826,2522752826 -dd 3412831035,3412831035 -dd 4047871263,4047871263 -dd 2874735276,2874735276 -dd 2466505547,2466505547 -dd 1442459680,1442459680 -dd 4134368941,4134368941 -dd 2440481928,2440481928 -dd 625738485,625738485 -dd 4242007375,4242007375 -dd 3620416197,3620416197 -dd 2151953702,2151953702 -dd 2409849525,2409849525 -dd 1230680542,1230680542 -dd 1729870373,1729870373 -dd 2551114309,2551114309 -dd 3787521629,3787521629 -dd 41234371,41234371 -dd 317738113,317738113 -dd 2744600205,2744600205 -dd 3338261355,3338261355 -dd 3881799427,3881799427 -dd 2510066197,2510066197 -dd 3950669247,3950669247 -dd 3663286933,3663286933 -dd 763608788,763608788 -dd 3542185048,3542185048 -dd 694804553,694804553 -dd 1154009486,1154009486 -dd 1787413109,1787413109 -dd 2021232372,2021232372 -dd 1799248025,1799248025 -dd 3715217703,3715217703 -dd 3058688446,3058688446 -dd 397248752,397248752 -dd 1722556617,1722556617 -dd 3023752829,3023752829 -dd 407560035,407560035 -dd 2184256229,2184256229 -dd 1613975959,1613975959 -dd 1165972322,1165972322 -dd 3765920945,3765920945 -dd 2226023355,2226023355 -dd 480281086,480281086 -dd 2485848313,2485848313 -dd 1483229296,1483229296 -dd 436028815,436028815 -dd 2272059028,2272059028 -dd 3086515026,3086515026 -dd 601060267,601060267 -dd 3791801202,3791801202 -dd 1468997603,1468997603 -dd 715871590,715871590 -dd 120122290,120122290 -dd 63092015,63092015 -dd 2591802758,2591802758 -dd 2768779219,2768779219 -dd 4068943920,4068943920 -dd 2997206819,2997206819 -dd 3127509762,3127509762 -dd 1552029421,1552029421 -dd 723308426,723308426 -dd 2461301159,2461301159 -dd 4042393587,4042393587 -dd 2715969870,2715969870 -dd 3455375973,3455375973 -dd 3586000134,3586000134 -dd 526529745,526529745 -dd 2331944644,2331944644 -dd 2639474228,2639474228 -dd 2689987490,2689987490 -dd 853641733,853641733 -dd 1978398372,1978398372 -dd 971801355,971801355 -dd 2867814464,2867814464 -dd 111112542,111112542 -dd 1360031421,1360031421 -dd 4186579262,4186579262 -dd 1023860118,1023860118 -dd 2919579357,2919579357 -dd 1186850381,1186850381 -dd 3045938321,3045938321 -dd 90031217,90031217 -dd 1876166148,1876166148 -dd 4279586912,4279586912 -dd 620468249,620468249 -dd 2548678102,2548678102 -dd 3426959497,3426959497 -dd 2006899047,2006899047 -dd 3175278768,3175278768 -dd 2290845959,2290845959 -dd 945494503,945494503 -dd 3689859193,3689859193 -dd 1191869601,1191869601 -dd 3910091388,3910091388 -dd 3374220536,3374220536 -dd 0,0 -dd 2206629897,2206629897 -dd 1223502642,1223502642 -dd 2893025566,2893025566 -dd 1316117100,1316117100 -dd 4227796733,4227796733 -dd 1446544655,1446544655 -dd 517320253,517320253 -dd 658058550,658058550 -dd 1691946762,1691946762 -dd 564550760,564550760 -dd 3511966619,3511966619 -dd 976107044,976107044 -dd 2976320012,2976320012 -dd 266819475,266819475 -dd 3533106868,3533106868 -dd 2660342555,2660342555 -dd 1338359936,1338359936 -dd 2720062561,2720062561 -dd 1766553434,1766553434 -dd 370807324,370807324 -dd 179999714,179999714 -dd 3844776128,3844776128 -dd 1138762300,1138762300 -dd 488053522,488053522 -dd 185403662,185403662 -dd 2915535858,2915535858 -dd 3114841645,3114841645 -dd 3366526484,3366526484 -dd 2233069911,2233069911 -dd 1275557295,1275557295 -dd 3151862254,3151862254 -dd 4250959779,4250959779 -dd 2670068215,2670068215 -dd 3170202204,3170202204 -dd 3309004356,3309004356 -dd 880737115,880737115 -dd 1982415755,1982415755 -dd 3703972811,3703972811 -dd 1761406390,1761406390 -dd 1676797112,1676797112 -dd 3403428311,3403428311 -dd 277177154,277177154 -dd 1076008723,1076008723 -dd 538035844,538035844 -dd 2099530373,2099530373 -dd 4164795346,4164795346 -dd 288553390,288553390 -dd 1839278535,1839278535 -dd 1261411869,1261411869 -dd 4080055004,4080055004 -dd 3964831245,3964831245 -dd 3504587127,3504587127 -dd 1813426987,1813426987 -dd 2579067049,2579067049 -dd 4199060497,4199060497 -dd 577038663,577038663 -dd 3297574056,3297574056 -dd 440397984,440397984 -dd 3626794326,3626794326 -dd 4019204898,4019204898 -dd 3343796615,3343796615 -dd 3251714265,3251714265 -dd 4272081548,4272081548 -dd 906744984,906744984 -dd 3481400742,3481400742 -dd 685669029,685669029 -dd 646887386,646887386 -dd 2764025151,2764025151 -dd 3835509292,3835509292 -dd 227702864,227702864 -dd 2613862250,2613862250 -dd 1648787028,1648787028 -dd 3256061430,3256061430 -dd 3904428176,3904428176 -dd 1593260334,1593260334 -dd 4121936770,4121936770 -dd 3196083615,3196083615 -dd 2090061929,2090061929 -dd 2838353263,2838353263 -dd 3004310991,3004310991 -dd 999926984,999926984 -dd 2809993232,2809993232 -dd 1852021992,1852021992 -dd 2075868123,2075868123 -dd 158869197,158869197 -dd 4095236462,4095236462 -dd 28809964,28809964 -dd 2828685187,2828685187 -dd 1701746150,1701746150 -dd 2129067946,2129067946 -dd 147831841,147831841 -dd 3873969647,3873969647 -dd 3650873274,3650873274 -dd 3459673930,3459673930 -dd 3557400554,3557400554 -dd 3598495785,3598495785 -dd 2947720241,2947720241 -dd 824393514,824393514 -dd 815048134,815048134 -dd 3227951669,3227951669 -dd 935087732,935087732 -dd 2798289660,2798289660 -dd 2966458592,2966458592 -dd 366520115,366520115 -dd 1251476721,1251476721 -dd 4158319681,4158319681 -dd 240176511,240176511 -dd 804688151,804688151 -dd 2379631990,2379631990 -dd 1303441219,1303441219 -dd 1414376140,1414376140 -dd 3741619940,3741619940 -dd 3820343710,3820343710 -dd 461924940,461924940 -dd 3089050817,3089050817 -dd 2136040774,2136040774 -dd 82468509,82468509 -dd 1563790337,1563790337 -dd 1937016826,1937016826 -dd 776014843,776014843 -dd 1511876531,1511876531 -dd 1389550482,1389550482 -dd 861278441,861278441 -dd 323475053,323475053 -dd 2355222426,2355222426 -dd 2047648055,2047648055 -dd 2383738969,2383738969 -dd 2302415851,2302415851 -dd 3995576782,3995576782 -dd 902390199,902390199 -dd 3991215329,3991215329 -dd 1018251130,1018251130 -dd 1507840668,1507840668 -dd 1064563285,1064563285 -dd 2043548696,2043548696 -dd 3208103795,3208103795 -dd 3939366739,3939366739 -dd 1537932639,1537932639 -dd 342834655,342834655 -dd 2262516856,2262516856 -dd 2180231114,2180231114 -dd 1053059257,1053059257 -dd 741614648,741614648 -dd 1598071746,1598071746 -dd 1925389590,1925389590 -dd 203809468,203809468 -dd 2336832552,2336832552 -dd 1100287487,1100287487 -dd 1895934009,1895934009 -dd 3736275976,3736275976 -dd 2632234200,2632234200 -dd 2428589668,2428589668 -dd 1636092795,1636092795 -dd 1890988757,1890988757 -dd 1952214088,1952214088 -dd 1113045200,1113045200 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -global _AES_decrypt -align 16 -_AES_decrypt: -L$_AES_decrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [28+esp] - mov eax,esp - sub esp,36 - and esp,-64 - lea ebx,[edi-127] - sub ebx,esp - neg ebx - and ebx,960 - sub esp,ebx - add esp,4 - mov DWORD [28+esp],eax - call L$010pic_point -L$010pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - lea ebp,[(L$AES_Td-L$010pic_point)+ebp] - lea ebx,[764+esp] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - bt DWORD [eax],25 - jnc NEAR L$011x86 - movq mm0,[esi] - movq mm4,[8+esi] - call __sse_AES_decrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -L$011x86: - mov DWORD [24+esp],ebp - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - call __x86_AES_decrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -global _AES_cbc_encrypt -align 16 -_AES_cbc_encrypt: -L$_AES_cbc_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov ecx,DWORD [28+esp] - cmp ecx,0 - je NEAR L$012drop_out - call L$013pic_point -L$013pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - cmp DWORD [40+esp],0 - lea ebp,[(L$AES_Te-L$013pic_point)+ebp] - jne NEAR L$014picked_te - lea ebp,[(L$AES_Td-L$AES_Te)+ebp] -L$014picked_te: - pushfd - cld - cmp ecx,512 - jb NEAR L$015slow_way - test ecx,15 - jnz NEAR L$015slow_way - bt DWORD [eax],28 - jc NEAR L$015slow_way - lea esi,[esp-324] - and esi,-64 - mov eax,ebp - lea ebx,[2304+ebp] - mov edx,esi - and eax,4095 - and ebx,4095 - and edx,4095 - cmp edx,ebx - jb NEAR L$016tbl_break_out - sub edx,ebx - sub esi,edx - jmp NEAR L$017tbl_ok -align 4 -L$016tbl_break_out: - sub edx,eax - and edx,4095 - add edx,384 - sub esi,edx -align 4 -L$017tbl_ok: - lea edx,[24+esp] - xchg esp,esi - add esp,4 - mov DWORD [24+esp],ebp - mov DWORD [28+esp],esi - mov eax,DWORD [edx] - mov ebx,DWORD [4+edx] - mov edi,DWORD [12+edx] - mov esi,DWORD [16+edx] - mov edx,DWORD [20+edx] - mov DWORD [32+esp],eax - mov DWORD [36+esp],ebx - mov DWORD [40+esp],ecx - mov DWORD [44+esp],edi - mov DWORD [48+esp],esi - mov DWORD [316+esp],0 - mov ebx,edi - mov ecx,61 - sub ebx,ebp - mov esi,edi - and ebx,4095 - lea edi,[76+esp] - cmp ebx,2304 - jb NEAR L$018do_copy - cmp ebx,3852 - jb NEAR L$019skip_copy -align 4 -L$018do_copy: - mov DWORD [44+esp],edi -dd 2784229001 -L$019skip_copy: - mov edi,16 -align 4 -L$020prefetch_tbl: - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov esi,DWORD [96+ebp] - lea ebp,[128+ebp] - sub edi,1 - jnz NEAR L$020prefetch_tbl - sub ebp,2048 - mov esi,DWORD [32+esp] - mov edi,DWORD [48+esp] - cmp edx,0 - je NEAR L$021fast_decrypt - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] -align 16 -L$022fast_enc_loop: - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - xor eax,DWORD [esi] - xor ebx,DWORD [4+esi] - xor ecx,DWORD [8+esi] - xor edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_encrypt - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - lea esi,[16+esi] - mov ecx,DWORD [40+esp] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$022fast_enc_loop - mov esi,DWORD [48+esp] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - cmp DWORD [316+esp],0 - mov edi,DWORD [44+esp] - je NEAR L$023skip_ezero - mov ecx,60 - xor eax,eax -align 4 -dd 2884892297 -L$023skip_ezero: - mov esp,DWORD [28+esp] - popfd -L$012drop_out: - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$021fast_decrypt: - cmp esi,DWORD [36+esp] - je NEAR L$024fast_dec_in_place - mov DWORD [52+esp],edi -align 4 -align 16 -L$025fast_dec_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_decrypt - mov edi,DWORD [52+esp] - mov esi,DWORD [40+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov edi,DWORD [36+esp] - mov esi,DWORD [32+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - mov DWORD [52+esp],esi - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edi,[16+edi] - mov DWORD [36+esp],edi - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$025fast_dec_loop - mov edi,DWORD [52+esp] - mov esi,DWORD [48+esp] - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - jmp NEAR L$026fast_dec_out -align 16 -L$024fast_dec_in_place: -L$027fast_dec_in_place_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - lea edi,[60+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov edi,DWORD [44+esp] - call __x86_AES_decrypt - mov edi,DWORD [48+esp] - mov esi,DWORD [36+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - lea esi,[16+esi] - mov DWORD [36+esp],esi - lea esi,[60+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov esi,DWORD [32+esp] - mov ecx,DWORD [40+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$027fast_dec_in_place_loop -align 4 -L$026fast_dec_out: - cmp DWORD [316+esp],0 - mov edi,DWORD [44+esp] - je NEAR L$028skip_dzero - mov ecx,60 - xor eax,eax -align 4 -dd 2884892297 -L$028skip_dzero: - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$015slow_way: - mov eax,DWORD [eax] - mov edi,DWORD [36+esp] - lea esi,[esp-80] - and esi,-64 - lea ebx,[edi-143] - sub ebx,esi - neg ebx - and ebx,960 - sub esi,ebx - lea ebx,[768+esi] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - lea edx,[24+esp] - xchg esp,esi - add esp,4 - mov DWORD [24+esp],ebp - mov DWORD [28+esp],esi - mov DWORD [52+esp],eax - mov eax,DWORD [edx] - mov ebx,DWORD [4+edx] - mov esi,DWORD [16+edx] - mov edx,DWORD [20+edx] - mov DWORD [32+esp],eax - mov DWORD [36+esp],ebx - mov DWORD [40+esp],ecx - mov DWORD [44+esp],edi - mov DWORD [48+esp],esi - mov edi,esi - mov esi,eax - cmp edx,0 - je NEAR L$029slow_decrypt - cmp ecx,16 - mov edx,ebx - jb NEAR L$030slow_enc_tail - bt DWORD [52+esp],25 - jnc NEAR L$031slow_enc_x86 - movq mm0,[edi] - movq mm4,[8+edi] -align 16 -L$032slow_enc_loop_sse: - pxor mm0,[esi] - pxor mm4,[8+esi] - mov edi,DWORD [44+esp] - call __sse_AES_encrypt_compact - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov ecx,DWORD [40+esp] - movq [edi],mm0 - movq [8+edi],mm4 - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - cmp ecx,16 - mov DWORD [40+esp],ecx - jae NEAR L$032slow_enc_loop_sse - test ecx,15 - jnz NEAR L$030slow_enc_tail - mov esi,DWORD [48+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$031slow_enc_x86: - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] -align 4 -L$033slow_enc_loop_x86: - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - xor eax,DWORD [esi] - xor ebx,DWORD [4+esi] - xor ecx,DWORD [8+esi] - xor edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_encrypt_compact - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - cmp ecx,16 - mov DWORD [40+esp],ecx - jae NEAR L$033slow_enc_loop_x86 - test ecx,15 - jnz NEAR L$030slow_enc_tail - mov esi,DWORD [48+esp] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$030slow_enc_tail: - emms - mov edi,edx - mov ebx,16 - sub ebx,ecx - cmp edi,esi - je NEAR L$034enc_in_place -align 4 -dd 2767451785 - jmp NEAR L$035enc_skip_in_place -L$034enc_in_place: - lea edi,[ecx*1+edi] -L$035enc_skip_in_place: - mov ecx,ebx - xor eax,eax -align 4 -dd 2868115081 - mov edi,DWORD [48+esp] - mov esi,edx - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov DWORD [40+esp],16 - jmp NEAR L$033slow_enc_loop_x86 -align 16 -L$029slow_decrypt: - bt DWORD [52+esp],25 - jnc NEAR L$036slow_dec_loop_x86 -align 4 -L$037slow_dec_loop_sse: - movq mm0,[esi] - movq mm4,[8+esi] - mov edi,DWORD [44+esp] - call __sse_AES_decrypt_compact - mov esi,DWORD [32+esp] - lea eax,[60+esp] - mov ebx,DWORD [36+esp] - mov ecx,DWORD [40+esp] - mov edi,DWORD [48+esp] - movq mm1,[esi] - movq mm5,[8+esi] - pxor mm0,[edi] - pxor mm4,[8+edi] - movq [edi],mm1 - movq [8+edi],mm5 - sub ecx,16 - jc NEAR L$038slow_dec_partial_sse - movq [ebx],mm0 - movq [8+ebx],mm4 - lea ebx,[16+ebx] - mov DWORD [36+esp],ebx - lea esi,[16+esi] - mov DWORD [32+esp],esi - mov DWORD [40+esp],ecx - jnz NEAR L$037slow_dec_loop_sse - emms - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$038slow_dec_partial_sse: - movq [eax],mm0 - movq [8+eax],mm4 - emms - add ecx,16 - mov edi,ebx - mov esi,eax -align 4 -dd 2767451785 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$036slow_dec_loop_x86: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - lea edi,[60+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov edi,DWORD [44+esp] - call __x86_AES_decrypt_compact - mov edi,DWORD [48+esp] - mov esi,DWORD [40+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - sub esi,16 - jc NEAR L$039slow_dec_partial_x86 - mov DWORD [40+esp],esi - mov esi,DWORD [36+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - lea esi,[16+esi] - mov DWORD [36+esp],esi - lea esi,[60+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov esi,DWORD [32+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - jnz NEAR L$036slow_dec_loop_x86 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$039slow_dec_partial_x86: - lea esi,[60+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - mov esi,DWORD [32+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - mov edi,DWORD [36+esp] - lea esi,[60+esp] -align 4 -dd 2767451785 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__x86_AES_set_encrypt_key: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [24+esp] - mov edi,DWORD [32+esp] - test esi,-1 - jz NEAR L$040badpointer - test edi,-1 - jz NEAR L$040badpointer - call L$041pic_point -L$041pic_point: - pop ebp - lea ebp,[(L$AES_Te-L$041pic_point)+ebp] - lea ebp,[2176+ebp] - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] - mov ecx,DWORD [28+esp] - cmp ecx,128 - je NEAR L$04210rounds - cmp ecx,192 - je NEAR L$04312rounds - cmp ecx,256 - je NEAR L$04414rounds - mov eax,-2 - jmp NEAR L$045exit -L$04210rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - xor ecx,ecx - jmp NEAR L$04610shortcut -align 4 -L$04710loop: - mov eax,DWORD [edi] - mov edx,DWORD [12+edi] -L$04610shortcut: - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [16+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [20+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [24+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [28+edi],eax - inc ecx - add edi,16 - cmp ecx,10 - jl NEAR L$04710loop - mov DWORD [80+edi],10 - xor eax,eax - jmp NEAR L$045exit -L$04312rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [16+esi] - mov edx,DWORD [20+esi] - mov DWORD [16+edi],ecx - mov DWORD [20+edi],edx - xor ecx,ecx - jmp NEAR L$04812shortcut -align 4 -L$04912loop: - mov eax,DWORD [edi] - mov edx,DWORD [20+edi] -L$04812shortcut: - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [24+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [28+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [32+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [36+edi],eax - cmp ecx,7 - je NEAR L$05012break - inc ecx - xor eax,DWORD [16+edi] - mov DWORD [40+edi],eax - xor eax,DWORD [20+edi] - mov DWORD [44+edi],eax - add edi,24 - jmp NEAR L$04912loop -L$05012break: - mov DWORD [72+edi],12 - xor eax,eax - jmp NEAR L$045exit -L$04414rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov eax,DWORD [16+esi] - mov ebx,DWORD [20+esi] - mov ecx,DWORD [24+esi] - mov edx,DWORD [28+esi] - mov DWORD [16+edi],eax - mov DWORD [20+edi],ebx - mov DWORD [24+edi],ecx - mov DWORD [28+edi],edx - xor ecx,ecx - jmp NEAR L$05114shortcut -align 4 -L$05214loop: - mov edx,DWORD [28+edi] -L$05114shortcut: - mov eax,DWORD [edi] - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [32+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [36+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [40+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [44+edi],eax - cmp ecx,6 - je NEAR L$05314break - inc ecx - mov edx,eax - mov eax,DWORD [16+edi] - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - shl ebx,8 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,16 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,24 - xor eax,ebx - mov DWORD [48+edi],eax - xor eax,DWORD [20+edi] - mov DWORD [52+edi],eax - xor eax,DWORD [24+edi] - mov DWORD [56+edi],eax - xor eax,DWORD [28+edi] - mov DWORD [60+edi],eax - add edi,32 - jmp NEAR L$05214loop -L$05314break: - mov DWORD [48+edi],14 - xor eax,eax - jmp NEAR L$045exit -L$040badpointer: - mov eax,-1 -L$045exit: - pop edi - pop esi - pop ebx - pop ebp - ret -global _AES_set_encrypt_key -align 16 -_AES_set_encrypt_key: -L$_AES_set_encrypt_key_begin: - call __x86_AES_set_encrypt_key - ret -global _AES_set_decrypt_key -align 16 -_AES_set_decrypt_key: -L$_AES_set_decrypt_key_begin: - call __x86_AES_set_encrypt_key - cmp eax,0 - je NEAR L$054proceed - ret -L$054proceed: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [28+esp] - mov ecx,DWORD [240+esi] - lea ecx,[ecx*4] - lea edi,[ecx*4+esi] -align 4 -L$055invert: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [edi] - mov edx,DWORD [4+edi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [esi],ecx - mov DWORD [4+esi],edx - mov eax,DWORD [8+esi] - mov ebx,DWORD [12+esi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [8+edi],eax - mov DWORD [12+edi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - add esi,16 - sub edi,16 - cmp esi,edi - jne NEAR L$055invert - mov edi,DWORD [28+esp] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [28+esp],esi - mov eax,DWORD [16+edi] -align 4 -L$056permute: - add edi,16 - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - xor ebx,esi - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - xor ebx,eax - xor ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - xor ecx,eax - sub esi,ebp - and edx,4278124286 - and esi,454761243 - rol eax,8 - xor edx,esi - mov ebp,DWORD [4+edi] - xor eax,ebx - xor ebx,edx - xor eax,ecx - rol ebx,24 - xor ecx,edx - xor eax,edx - rol ecx,16 - xor eax,ebx - rol edx,8 - xor eax,ecx - mov ebx,ebp - xor eax,edx - mov DWORD [edi],eax - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and edx,4278124286 - and esi,454761243 - xor ecx,ebx - xor edx,esi - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - xor edx,ebx - sub esi,ebp - and eax,4278124286 - and esi,454761243 - rol ebx,8 - xor eax,esi - mov ebp,DWORD [8+edi] - xor ebx,ecx - xor ecx,eax - xor ebx,edx - rol ecx,24 - xor edx,eax - xor ebx,eax - rol edx,16 - xor ebx,ecx - rol eax,8 - xor ebx,edx - mov ecx,ebp - xor ebx,eax - mov DWORD [4+edi],ebx - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and edx,4278124286 - and esi,454761243 - xor edx,esi - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and eax,4278124286 - and esi,454761243 - xor edx,ecx - xor eax,esi - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - xor eax,ecx - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - rol ecx,8 - xor ebx,esi - mov ebp,DWORD [12+edi] - xor ecx,edx - xor edx,ebx - xor ecx,eax - rol edx,24 - xor eax,ebx - xor ecx,ebx - rol eax,16 - xor ecx,edx - rol ebx,8 - xor ecx,eax - mov edx,ebp - xor ecx,ebx - mov DWORD [8+edi],ecx - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and eax,4278124286 - and esi,454761243 - xor eax,esi - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - xor eax,edx - xor ebx,esi - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - xor ebx,edx - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - rol edx,8 - xor ecx,esi - mov ebp,DWORD [16+edi] - xor edx,eax - xor eax,ecx - xor edx,ebx - rol eax,24 - xor ebx,ecx - xor edx,ecx - rol ebx,16 - xor edx,eax - rol ecx,8 - xor edx,ebx - mov eax,ebp - xor edx,ecx - mov DWORD [12+edi],edx - cmp edi,DWORD [28+esp] - jb NEAR L$056permute - xor eax,eax - pop edi - pop esi - pop ebx - pop ebp - ret -db 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -db 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -db 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -segment .bss -common _OPENSSL_ia32cap_P 16 diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/buildinf.h index 6aeb27ba400834..77f65c3b5445e2 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: " -#define DATE "built on: Fri Sep 13 16:03:39 2019 UTC" +#define DATE "built on: Wed Mar 18 21:11:06 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/ec/ecp_nistz256-x86.asm b/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/ec/ecp_nistz256-x86.asm index 7383523877eec8..96071a300ead92 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/ec/ecp_nistz256-x86.asm +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/ec/ecp_nistz256-x86.asm @@ -4386,19 +4386,15 @@ L$009pic: or eax,DWORD [4+edi] or eax,DWORD [8+edi] or eax,DWORD [12+edi] + mov ebx,DWORD [576+esp] + not ebx + or eax,ebx + mov ebx,DWORD [580+esp] + not ebx + or eax,ebx + or eax,DWORD [584+esp] db 62 jnz NEAR L$010add_proceed - mov eax,DWORD [576+esp] - and eax,DWORD [580+esp] - mov ebx,DWORD [584+esp] - jz NEAR L$010add_proceed - test ebx,ebx - jz NEAR L$011add_double - mov edi,DWORD [616+esp] - xor eax,eax - mov ecx,24 -db 252,243,171 - jmp NEAR L$012add_done align 16 L$011add_double: mov esi,DWORD [620+esp] diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/include/internal/bn_conf.h index ce324699ae1f17..2242cd2fc05d89 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/include/internal/dso_conf.h index c3b41df01e40a3..0c96ce73633dac 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_WIN32 # define DSO_EXTENSION ".dll" #endif diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/opensslconf.h index e0b784dfe0539b..8fb667373af516 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/progs.h b/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/openssl-cl.gypi b/deps/openssl/config/archs/VC-WIN32/asm_avx2/openssl-cl.gypi index 5028da71f3d37c..f15a17c0bebb0a 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/openssl-cl.gypi +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/openssl-cl.gypi @@ -20,6 +20,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', @@ -28,9 +29,9 @@ ], 'openssl_cflags_VC-WIN32': [ '-Wa,--noexecstack', - '/W3 /wd4090 /nologo /O2 /WX', + '/W3 /wd4090 /nologo /O2', '/Gs0 /GF /Gy', - '/W3 /wd4090 /nologo /O2 /WX', + '/W3 /wd4090 /nologo /O2', ], 'openssl_ex_libs_VC-WIN32': [ 'ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib', diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/openssl.gypi b/deps/openssl/config/archs/VC-WIN32/asm_avx2/openssl.gypi index a5bb5f58ee45b3..0c3ab72e0a2f35 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/openssl.gypi +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/openssl.gypi @@ -717,6 +717,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', @@ -725,9 +726,9 @@ ], 'openssl_cflags_VC-WIN32': [ '-Wa,--noexecstack', - '/W3 /wd4090 /nologo /O2 /WX', + '/W3 /wd4090 /nologo /O2', '/Gs0 /GF /Gy', - '/W3 /wd4090 /nologo /O2 /WX', + '/W3 /wd4090 /nologo /O2', ], 'openssl_ex_libs_VC-WIN32': [ 'ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib', diff --git a/deps/openssl/config/archs/VC-WIN32/no-asm/configdata.pm b/deps/openssl/config/archs/VC-WIN32/no-asm/configdata.pm index 16ff6d982004a3..e2e28d75311dd3 100644 --- a/deps/openssl/config/archs/VC-WIN32/no-asm/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN32/no-asm/configdata.pm @@ -15,7 +15,7 @@ our %config = ( ARFLAGS => [ "/nologo" ], AS => "nasm", CC => "cl", - CFLAGS => [ "/W3 /wd4090 /nologo /O2 /WX" ], + CFLAGS => [ "/W3 /wd4090 /nologo /O2" ], CPP => "\$(CC) /EP /C", CPPDEFINES => [ ], CPPFLAGS => [ ], @@ -58,7 +58,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_WIN32" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -114,8 +114,8 @@ our %config = ( sourcedir => ".", target => "VC-WIN32", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -124,14 +124,14 @@ our %target = ( AS => "nasm", ASFLAGS => "", CC => "cl", - CFLAGS => "/W3 /wd4090 /nologo /O2 /WX", + CFLAGS => "/W3 /wd4090 /nologo /O2", CPP => "\$(CC) /EP /C", HASHBANGPERL => "/usr/bin/env perl", LD => "link", LDFLAGS => "/nologo /debug", MT => "mt", MTFLAGS => "-nologo", - RANLIB => "CODE(0x55ddfff979c8)", + RANLIB => "CODE(0x55e705f67598)", RC => "rc", _conf_fname_int => [ "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/shared-info.pl" ], aes_asm_src => "aes_core.c aes_cbc.c", @@ -254,6 +254,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -372,8 +373,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -641,14 +642,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -724,6 +717,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1521,6 +1522,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3239,7 +3246,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3247,6 +3253,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3740,14 +3747,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4188,6 +4187,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4897,49 +4904,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4961,7 +4960,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4975,613 +4973,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5599,188 +5495,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5810,13 +5675,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5826,43 +5689,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5872,31 +5728,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5914,278 +5765,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6195,301 +6000,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6497,7 +6252,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6505,7 +6259,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6513,7 +6266,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6521,7 +6273,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6529,7 +6280,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6537,163 +6287,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6711,223 +6434,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6935,21 +6621,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6957,13 +6640,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6971,81 +6652,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7053,328 +6721,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7384,85 +6991,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7485,361 +7078,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7861,259 +7394,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8123,31 +7613,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8157,7 +7642,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8183,13 +7667,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8215,7 +7697,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8241,709 +7722,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8994,6 +8357,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9238,7 +8609,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9564,7 +8934,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9610,7 +8979,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9676,7 +9044,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9701,7 +9068,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9799,7 +9165,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9849,18 +9214,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9871,6 +9233,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9934,10 +9300,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9966,6 +9328,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10230,6 +9596,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15098,7 +14465,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15106,6 +14472,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15333,6 +14700,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15435,10 +14810,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15467,6 +14838,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/buildinf.h index 916cdacd502875..71f5a9d1a106e9 100644 --- a/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: " -#define DATE "built on: Fri Sep 13 16:03:44 2019 UTC" +#define DATE "built on: Wed Mar 18 21:11:12 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/include/internal/bn_conf.h index ce324699ae1f17..2242cd2fc05d89 100644 --- a/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/include/internal/dso_conf.h index c3b41df01e40a3..0c96ce73633dac 100644 --- a/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_WIN32 # define DSO_EXTENSION ".dll" #endif diff --git a/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/opensslconf.h index 48cd14288af59b..24a8c49752807b 100644 --- a/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/opensslconf.h @@ -102,9 +102,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/VC-WIN32/no-asm/include/progs.h b/deps/openssl/config/archs/VC-WIN32/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/VC-WIN32/no-asm/include/progs.h +++ b/deps/openssl/config/archs/VC-WIN32/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/VC-WIN32/no-asm/openssl-cl.gypi b/deps/openssl/config/archs/VC-WIN32/no-asm/openssl-cl.gypi index e4ddabd2bb66e8..474ccf785b4e19 100644 --- a/deps/openssl/config/archs/VC-WIN32/no-asm/openssl-cl.gypi +++ b/deps/openssl/config/archs/VC-WIN32/no-asm/openssl-cl.gypi @@ -11,9 +11,9 @@ 'OPENSSL_PIC', ], 'openssl_cflags_VC-WIN32': [ - '/W3 /wd4090 /nologo /O2 /WX', + '/W3 /wd4090 /nologo /O2', '/Gs0 /GF /Gy', - '/W3 /wd4090 /nologo /O2 /WX', + '/W3 /wd4090 /nologo /O2', ], 'openssl_ex_libs_VC-WIN32': [ 'ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib', diff --git a/deps/openssl/config/archs/VC-WIN32/no-asm/openssl.gypi b/deps/openssl/config/archs/VC-WIN32/no-asm/openssl.gypi index 2c843d99020ec1..9776407687b5e2 100644 --- a/deps/openssl/config/archs/VC-WIN32/no-asm/openssl.gypi +++ b/deps/openssl/config/archs/VC-WIN32/no-asm/openssl.gypi @@ -695,9 +695,9 @@ 'OPENSSL_PIC', ], 'openssl_cflags_VC-WIN32': [ - '/W3 /wd4090 /nologo /O2 /WX', + '/W3 /wd4090 /nologo /O2', '/Gs0 /GF /Gy', - '/W3 /wd4090 /nologo /O2 /WX', + '/W3 /wd4090 /nologo /O2', ], 'openssl_ex_libs_VC-WIN32': [ 'ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib', diff --git a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/configdata.pm b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/configdata.pm index 1d006b56d6bc9e..949959ff1074ad 100644 --- a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/configdata.pm @@ -57,7 +57,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -113,8 +113,8 @@ our %config = ( sourcedir => ".", target => "VC-WIN64-ARM", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -128,7 +128,7 @@ our %target = ( LDFLAGS => "/nologo /debug", MT => "mt", MTFLAGS => "-nologo", - RANLIB => "CODE(0x55cd56acf3f8)", + RANLIB => "CODE(0x55748984a208)", RC => "rc", _conf_fname_int => [ "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/50-win-onecore.conf", "Configurations/shared-info.pl" ], aes_asm_src => "aes_core.c aes_cbc.c", @@ -248,6 +248,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -366,8 +367,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -635,14 +636,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -718,6 +711,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1515,6 +1516,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3233,7 +3240,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3241,6 +3247,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3734,14 +3741,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4182,6 +4181,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4891,49 +4898,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4955,7 +4954,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4969,613 +4967,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5593,188 +5489,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5804,13 +5669,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5820,43 +5683,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5866,31 +5722,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5908,278 +5759,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6189,301 +5994,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6491,7 +6246,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6499,7 +6253,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6507,7 +6260,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6515,7 +6267,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6523,7 +6274,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6531,163 +6281,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6705,223 +6428,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6929,21 +6615,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6951,13 +6634,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6965,81 +6646,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7047,328 +6715,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7378,85 +6985,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7479,361 +7072,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7855,259 +7388,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8117,31 +7607,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8151,7 +7636,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8177,13 +7661,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8209,7 +7691,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8235,709 +7716,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8988,6 +8351,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9232,7 +8603,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9558,7 +8928,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9604,7 +8973,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9670,7 +9038,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9695,7 +9062,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9793,7 +9159,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9843,18 +9208,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9865,6 +9227,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9928,10 +9294,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9960,6 +9322,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10224,6 +9590,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15092,7 +14459,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15100,6 +14466,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15327,6 +14694,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15429,10 +14804,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15461,6 +14832,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h index 3e790eb5d64363..95181bd2e5e4f9 100644 --- a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: VC-WIN64-ARM" -#define DATE "built on: Fri Sep 13 16:03:47 2019 UTC" +#define DATE "built on: Wed Mar 18 21:11:15 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/bn_conf.h index d803b518584f2e..dab67d1b37ae72 100644 --- a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/dso_conf.h index c3b41df01e40a3..0c96ce73633dac 100644 --- a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_WIN32 # define DSO_EXTENSION ".dll" #endif diff --git a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslconf.h index 8e89c3c5016be6..edc97abafd776f 100644 --- a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/progs.h b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/progs.h +++ b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/configdata.pm b/deps/openssl/config/archs/VC-WIN64A/asm/configdata.pm index fd72727b52092d..84a7982debc195 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/configdata.pm @@ -54,13 +54,13 @@ our %config = ( export_var_as_fn => "1", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "AESNI_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], libdir => "", major => "1", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_WIN64A" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -116,8 +116,8 @@ our %config = ( sourcedir => ".", target => "VC-WIN64A", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -133,7 +133,7 @@ our %target = ( LDFLAGS => "/nologo /debug", MT => "mt", MTFLAGS => "-nologo", - RANLIB => "CODE(0x560295a39668)", + RANLIB => "CODE(0x556e5b07ddf8)", RC => "rc", _conf_fname_int => [ "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/shared-info.pl" ], aes_asm_src => "aes_core.c aes_cbc.c vpaes-x86_64.s aesni-x86_64.s aesni-sha1-x86_64.s aesni-sha256-x86_64.s aesni-mb-x86_64.s", @@ -259,6 +259,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -376,8 +377,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -645,14 +646,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -728,6 +721,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1525,6 +1526,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3266,7 +3273,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3274,6 +3280,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3767,14 +3774,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4215,6 +4214,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4924,49 +4931,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4976,25 +4975,21 @@ our %unified_info = ( "crypto/aes/aesni-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -5012,13 +5007,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -5032,613 +5025,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5656,188 +5547,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5847,19 +5707,16 @@ our %unified_info = ( "crypto/bn/rsaz-avx2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz_exp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5885,31 +5742,26 @@ our %unified_info = ( "crypto/bn/x86_64-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont5.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5919,37 +5771,31 @@ our %unified_info = ( "crypto/camellia/cmll-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5959,31 +5805,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -6001,278 +5842,232 @@ our %unified_info = ( "crypto/chacha/chacha-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6282,301 +6077,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6584,7 +6329,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6592,7 +6336,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6600,7 +6343,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6608,7 +6350,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6616,7 +6357,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6624,163 +6364,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6798,241 +6511,201 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7040,21 +6713,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7062,13 +6732,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7076,81 +6744,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7158,328 +6813,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7489,91 +7083,76 @@ our %unified_info = ( "crypto/md5/md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/aesni-gcm-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7592,7 +7171,6 @@ our %unified_info = ( "crypto/modes/ghash-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7602,361 +7180,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7978,265 +7496,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8246,31 +7720,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8280,7 +7749,6 @@ our %unified_info = ( "crypto/sha/keccak1600-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8294,7 +7762,6 @@ our %unified_info = ( "crypto/sha/sha1-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-mips.o" => @@ -8312,19 +7779,16 @@ our %unified_info = ( "crypto/sha/sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8338,7 +7802,6 @@ our %unified_info = ( "crypto/sha/sha256-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-mips.o" => @@ -8356,13 +7819,11 @@ our %unified_info = ( "crypto/sha/sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8388,727 +7849,606 @@ our %unified_info = ( "crypto/sha/sha512-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86_64cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86_64.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9159,6 +8499,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9403,7 +8751,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9729,7 +9076,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9775,7 +9121,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9841,7 +9186,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9866,7 +9210,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9964,7 +9307,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -10014,18 +9356,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -10036,6 +9375,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10099,10 +9442,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10131,6 +9470,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10395,6 +9738,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15378,7 +14722,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15386,6 +14729,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15613,6 +14957,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15715,10 +15067,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15747,6 +15095,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aes-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aes-x86_64.asm deleted file mode 100644 index c01e41b30164db..00000000000000 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aes-x86_64.asm +++ /dev/null @@ -1,2960 +0,0 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -ALIGN 16 -_x86_64_AES_encrypt: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - - mov r13d,DWORD[240+r15] - sub r13d,1 - jmp NEAR $L$enc_loop -ALIGN 16 -$L$enc_loop: - - movzx esi,al - movzx edi,bl - movzx ebp,cl - mov r10d,DWORD[rsi*8+r14] - mov r11d,DWORD[rdi*8+r14] - mov r12d,DWORD[rbp*8+r14] - - movzx esi,bh - movzx edi,ch - movzx ebp,dl - xor r10d,DWORD[3+rsi*8+r14] - xor r11d,DWORD[3+rdi*8+r14] - mov r8d,DWORD[rbp*8+r14] - - movzx esi,dh - shr ecx,16 - movzx ebp,ah - xor r12d,DWORD[3+rsi*8+r14] - shr edx,16 - xor r8d,DWORD[3+rbp*8+r14] - - shr ebx,16 - lea r15,[16+r15] - shr eax,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - xor r10d,DWORD[2+rsi*8+r14] - xor r11d,DWORD[2+rdi*8+r14] - xor r12d,DWORD[2+rbp*8+r14] - - movzx esi,dh - movzx edi,ah - movzx ebp,bl - xor r10d,DWORD[1+rsi*8+r14] - xor r11d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[2+rbp*8+r14] - - mov edx,DWORD[12+r15] - movzx edi,bh - movzx ebp,ch - mov eax,DWORD[r15] - xor r12d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[1+rbp*8+r14] - - mov ebx,DWORD[4+r15] - mov ecx,DWORD[8+r15] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d - sub r13d,1 - jnz NEAR $L$enc_loop - movzx esi,al - movzx edi,bl - movzx ebp,cl - movzx r10d,BYTE[2+rsi*8+r14] - movzx r11d,BYTE[2+rdi*8+r14] - movzx r12d,BYTE[2+rbp*8+r14] - - movzx esi,dl - movzx edi,bh - movzx ebp,ch - movzx r8d,BYTE[2+rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - mov ebp,DWORD[rbp*8+r14] - - and edi,0x0000ff00 - and ebp,0x0000ff00 - - xor r10d,edi - xor r11d,ebp - shr ecx,16 - - movzx esi,dh - movzx edi,ah - shr edx,16 - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - - and esi,0x0000ff00 - and edi,0x0000ff00 - shr ebx,16 - xor r12d,esi - xor r8d,edi - shr eax,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - mov ebp,DWORD[rbp*8+r14] - - and esi,0x00ff0000 - and edi,0x00ff0000 - and ebp,0x00ff0000 - - xor r10d,esi - xor r11d,edi - xor r12d,ebp - - movzx esi,bl - movzx edi,dh - movzx ebp,ah - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[2+rdi*8+r14] - mov ebp,DWORD[2+rbp*8+r14] - - and esi,0x00ff0000 - and edi,0xff000000 - and ebp,0xff000000 - - xor r8d,esi - xor r10d,edi - xor r11d,ebp - - movzx esi,bh - movzx edi,ch - mov edx,DWORD[((16+12))+r15] - mov esi,DWORD[2+rsi*8+r14] - mov edi,DWORD[2+rdi*8+r14] - mov eax,DWORD[((16+0))+r15] - - and esi,0xff000000 - and edi,0xff000000 - - xor r12d,esi - xor r8d,edi - - mov ebx,DWORD[((16+4))+r15] - mov ecx,DWORD[((16+8))+r15] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d -DB 0xf3,0xc3 - - -ALIGN 16 -_x86_64_AES_encrypt_compact: - - lea r8,[128+r14] - mov edi,DWORD[((0-128))+r8] - mov ebp,DWORD[((32-128))+r8] - mov r10d,DWORD[((64-128))+r8] - mov r11d,DWORD[((96-128))+r8] - mov edi,DWORD[((128-128))+r8] - mov ebp,DWORD[((160-128))+r8] - mov r10d,DWORD[((192-128))+r8] - mov r11d,DWORD[((224-128))+r8] - jmp NEAR $L$enc_loop_compact -ALIGN 16 -$L$enc_loop_compact: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - lea r15,[16+r15] - movzx r10d,al - movzx r11d,bl - movzx r12d,cl - movzx r8d,dl - movzx esi,bh - movzx edi,ch - shr ecx,16 - movzx ebp,dh - movzx r10d,BYTE[r10*1+r14] - movzx r11d,BYTE[r11*1+r14] - movzx r12d,BYTE[r12*1+r14] - movzx r8d,BYTE[r8*1+r14] - - movzx r9d,BYTE[rsi*1+r14] - movzx esi,ah - movzx r13d,BYTE[rdi*1+r14] - movzx edi,cl - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - - shl r9d,8 - shr edx,16 - shl r13d,8 - xor r10d,r9d - shr eax,16 - movzx r9d,dl - shr ebx,16 - xor r11d,r13d - shl ebp,8 - movzx r13d,al - movzx edi,BYTE[rdi*1+r14] - xor r12d,ebp - - shl esi,8 - movzx ebp,bl - shl edi,16 - xor r8d,esi - movzx r9d,BYTE[r9*1+r14] - movzx esi,dh - movzx r13d,BYTE[r13*1+r14] - xor r10d,edi - - shr ecx,8 - movzx edi,ah - shl r9d,16 - shr ebx,8 - shl r13d,16 - xor r11d,r9d - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx edx,BYTE[rcx*1+r14] - movzx ecx,BYTE[rbx*1+r14] - - shl ebp,16 - xor r12d,r13d - shl esi,24 - xor r8d,ebp - shl edi,24 - xor r10d,esi - shl edx,24 - xor r11d,edi - shl ecx,24 - mov eax,r10d - mov ebx,r11d - xor ecx,r12d - xor edx,r8d - cmp r15,QWORD[16+rsp] - je NEAR $L$enc_compact_done - mov r10d,0x80808080 - mov r11d,0x80808080 - and r10d,eax - and r11d,ebx - mov esi,r10d - mov edi,r11d - shr r10d,7 - lea r8d,[rax*1+rax] - shr r11d,7 - lea r9d,[rbx*1+rbx] - sub esi,r10d - sub edi,r11d - and r8d,0xfefefefe - and r9d,0xfefefefe - and esi,0x1b1b1b1b - and edi,0x1b1b1b1b - mov r10d,eax - mov r11d,ebx - xor r8d,esi - xor r9d,edi - - xor eax,r8d - xor ebx,r9d - mov r12d,0x80808080 - rol eax,24 - mov ebp,0x80808080 - rol ebx,24 - and r12d,ecx - and ebp,edx - xor eax,r8d - xor ebx,r9d - mov esi,r12d - ror r10d,16 - mov edi,ebp - ror r11d,16 - lea r8d,[rcx*1+rcx] - shr r12d,7 - xor eax,r10d - shr ebp,7 - xor ebx,r11d - ror r10d,8 - lea r9d,[rdx*1+rdx] - ror r11d,8 - sub esi,r12d - sub edi,ebp - xor eax,r10d - xor ebx,r11d - - and r8d,0xfefefefe - and r9d,0xfefefefe - and esi,0x1b1b1b1b - and edi,0x1b1b1b1b - mov r12d,ecx - mov ebp,edx - xor r8d,esi - xor r9d,edi - - ror r12d,16 - xor ecx,r8d - ror ebp,16 - xor edx,r9d - rol ecx,24 - mov esi,DWORD[r14] - rol edx,24 - xor ecx,r8d - mov edi,DWORD[64+r14] - xor edx,r9d - mov r8d,DWORD[128+r14] - xor ecx,r12d - ror r12d,8 - xor edx,ebp - ror ebp,8 - xor ecx,r12d - mov r9d,DWORD[192+r14] - xor edx,ebp - jmp NEAR $L$enc_loop_compact -ALIGN 16 -$L$enc_compact_done: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] -DB 0xf3,0xc3 - - -global AES_encrypt - -ALIGN 16 -global asm_AES_encrypt - -asm_AES_encrypt: -AES_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_AES_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - mov rax,rsp - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - - - lea rcx,[((-63))+rdx] - and rsp,-64 - sub rcx,rsp - neg rcx - and rcx,0x3c0 - sub rsp,rcx - sub rsp,32 - - mov QWORD[16+rsp],rsi - mov QWORD[24+rsp],rax - -$L$enc_prologue: - - mov r15,rdx - mov r13d,DWORD[240+r15] - - mov eax,DWORD[rdi] - mov ebx,DWORD[4+rdi] - mov ecx,DWORD[8+rdi] - mov edx,DWORD[12+rdi] - - shl r13d,4 - lea rbp,[r13*1+r15] - mov QWORD[rsp],r15 - mov QWORD[8+rsp],rbp - - - lea r14,[(($L$AES_Te+2048))] - lea rbp,[768+rsp] - sub rbp,r14 - and rbp,0x300 - lea r14,[rbp*1+r14] - - call _x86_64_AES_encrypt_compact - - mov r9,QWORD[16+rsp] - mov rsi,QWORD[24+rsp] - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - mov r15,QWORD[((-48))+rsi] - - mov r14,QWORD[((-40))+rsi] - - mov r13,QWORD[((-32))+rsi] - - mov r12,QWORD[((-24))+rsi] - - mov rbp,QWORD[((-16))+rsi] - - mov rbx,QWORD[((-8))+rsi] - - lea rsp,[rsi] - -$L$enc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_AES_encrypt: - -ALIGN 16 -_x86_64_AES_decrypt: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - - mov r13d,DWORD[240+r15] - sub r13d,1 - jmp NEAR $L$dec_loop -ALIGN 16 -$L$dec_loop: - - movzx esi,al - movzx edi,bl - movzx ebp,cl - mov r10d,DWORD[rsi*8+r14] - mov r11d,DWORD[rdi*8+r14] - mov r12d,DWORD[rbp*8+r14] - - movzx esi,dh - movzx edi,ah - movzx ebp,dl - xor r10d,DWORD[3+rsi*8+r14] - xor r11d,DWORD[3+rdi*8+r14] - mov r8d,DWORD[rbp*8+r14] - - movzx esi,bh - shr eax,16 - movzx ebp,ch - xor r12d,DWORD[3+rsi*8+r14] - shr edx,16 - xor r8d,DWORD[3+rbp*8+r14] - - shr ebx,16 - lea r15,[16+r15] - shr ecx,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - xor r10d,DWORD[2+rsi*8+r14] - xor r11d,DWORD[2+rdi*8+r14] - xor r12d,DWORD[2+rbp*8+r14] - - movzx esi,bh - movzx edi,ch - movzx ebp,bl - xor r10d,DWORD[1+rsi*8+r14] - xor r11d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[2+rbp*8+r14] - - movzx esi,dh - mov edx,DWORD[12+r15] - movzx ebp,ah - xor r12d,DWORD[1+rsi*8+r14] - mov eax,DWORD[r15] - xor r8d,DWORD[1+rbp*8+r14] - - xor eax,r10d - mov ebx,DWORD[4+r15] - mov ecx,DWORD[8+r15] - xor ecx,r12d - xor ebx,r11d - xor edx,r8d - sub r13d,1 - jnz NEAR $L$dec_loop - lea r14,[2048+r14] - movzx esi,al - movzx edi,bl - movzx ebp,cl - movzx r10d,BYTE[rsi*1+r14] - movzx r11d,BYTE[rdi*1+r14] - movzx r12d,BYTE[rbp*1+r14] - - movzx esi,dl - movzx edi,dh - movzx ebp,ah - movzx r8d,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl edi,8 - shl ebp,8 - - xor r10d,edi - xor r11d,ebp - shr edx,16 - - movzx esi,bh - movzx edi,ch - shr eax,16 - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - - shl esi,8 - shl edi,8 - shr ebx,16 - xor r12d,esi - xor r8d,edi - shr ecx,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl esi,16 - shl edi,16 - shl ebp,16 - - xor r10d,esi - xor r11d,edi - xor r12d,ebp - - movzx esi,bl - movzx edi,bh - movzx ebp,ch - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl esi,16 - shl edi,24 - shl ebp,24 - - xor r8d,esi - xor r10d,edi - xor r11d,ebp - - movzx esi,dh - movzx edi,ah - mov edx,DWORD[((16+12))+r15] - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - mov eax,DWORD[((16+0))+r15] - - shl esi,24 - shl edi,24 - - xor r12d,esi - xor r8d,edi - - mov ebx,DWORD[((16+4))+r15] - mov ecx,DWORD[((16+8))+r15] - lea r14,[((-2048))+r14] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d -DB 0xf3,0xc3 - - -ALIGN 16 -_x86_64_AES_decrypt_compact: - - lea r8,[128+r14] - mov edi,DWORD[((0-128))+r8] - mov ebp,DWORD[((32-128))+r8] - mov r10d,DWORD[((64-128))+r8] - mov r11d,DWORD[((96-128))+r8] - mov edi,DWORD[((128-128))+r8] - mov ebp,DWORD[((160-128))+r8] - mov r10d,DWORD[((192-128))+r8] - mov r11d,DWORD[((224-128))+r8] - jmp NEAR $L$dec_loop_compact - -ALIGN 16 -$L$dec_loop_compact: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - lea r15,[16+r15] - movzx r10d,al - movzx r11d,bl - movzx r12d,cl - movzx r8d,dl - movzx esi,dh - movzx edi,ah - shr edx,16 - movzx ebp,bh - movzx r10d,BYTE[r10*1+r14] - movzx r11d,BYTE[r11*1+r14] - movzx r12d,BYTE[r12*1+r14] - movzx r8d,BYTE[r8*1+r14] - - movzx r9d,BYTE[rsi*1+r14] - movzx esi,ch - movzx r13d,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - - shr ecx,16 - shl r13d,8 - shl r9d,8 - movzx edi,cl - shr eax,16 - xor r10d,r9d - shr ebx,16 - movzx r9d,dl - - shl ebp,8 - xor r11d,r13d - shl esi,8 - movzx r13d,al - movzx edi,BYTE[rdi*1+r14] - xor r12d,ebp - movzx ebp,bl - - shl edi,16 - xor r8d,esi - movzx r9d,BYTE[r9*1+r14] - movzx esi,bh - movzx ebp,BYTE[rbp*1+r14] - xor r10d,edi - movzx r13d,BYTE[r13*1+r14] - movzx edi,ch - - shl ebp,16 - shl r9d,16 - shl r13d,16 - xor r8d,ebp - movzx ebp,dh - xor r11d,r9d - shr eax,8 - xor r12d,r13d - - movzx esi,BYTE[rsi*1+r14] - movzx ebx,BYTE[rdi*1+r14] - movzx ecx,BYTE[rbp*1+r14] - movzx edx,BYTE[rax*1+r14] - - mov eax,r10d - shl esi,24 - shl ebx,24 - shl ecx,24 - xor eax,esi - shl edx,24 - xor ebx,r11d - xor ecx,r12d - xor edx,r8d - cmp r15,QWORD[16+rsp] - je NEAR $L$dec_compact_done - - mov rsi,QWORD[((256+0))+r14] - shl rbx,32 - shl rdx,32 - mov rdi,QWORD[((256+8))+r14] - or rax,rbx - or rcx,rdx - mov rbp,QWORD[((256+16))+r14] - mov r9,rsi - mov r12,rsi - and r9,rax - and r12,rcx - mov rbx,r9 - mov rdx,r12 - shr r9,7 - lea r8,[rax*1+rax] - shr r12,7 - lea r11,[rcx*1+rcx] - sub rbx,r9 - sub rdx,r12 - and r8,rdi - and r11,rdi - and rbx,rbp - and rdx,rbp - xor r8,rbx - xor r11,rdx - mov r10,rsi - mov r13,rsi - - and r10,r8 - and r13,r11 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - lea r9,[r8*1+r8] - shr r13,7 - lea r12,[r11*1+r11] - sub rbx,r10 - sub rdx,r13 - and r9,rdi - and r12,rdi - and rbx,rbp - and rdx,rbp - xor r9,rbx - xor r12,rdx - mov r10,rsi - mov r13,rsi - - and r10,r9 - and r13,r12 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - xor r8,rax - shr r13,7 - xor r11,rcx - sub rbx,r10 - sub rdx,r13 - lea r10,[r9*1+r9] - lea r13,[r12*1+r12] - xor r9,rax - xor r12,rcx - and r10,rdi - and r13,rdi - and rbx,rbp - and rdx,rbp - xor r10,rbx - xor r13,rdx - - xor rax,r10 - xor rcx,r13 - xor r8,r10 - xor r11,r13 - mov rbx,rax - mov rdx,rcx - xor r9,r10 - shr rbx,32 - xor r12,r13 - shr rdx,32 - xor r10,r8 - rol eax,8 - xor r13,r11 - rol ecx,8 - xor r10,r9 - rol ebx,8 - xor r13,r12 - - rol edx,8 - xor eax,r10d - shr r10,32 - xor ecx,r13d - shr r13,32 - xor ebx,r10d - xor edx,r13d - - mov r10,r8 - rol r8d,24 - mov r13,r11 - rol r11d,24 - shr r10,32 - xor eax,r8d - shr r13,32 - xor ecx,r11d - rol r10d,24 - mov r8,r9 - rol r13d,24 - mov r11,r12 - shr r8,32 - xor ebx,r10d - shr r11,32 - xor edx,r13d - - mov rsi,QWORD[r14] - rol r9d,16 - mov rdi,QWORD[64+r14] - rol r12d,16 - mov rbp,QWORD[128+r14] - rol r8d,16 - mov r10,QWORD[192+r14] - xor eax,r9d - rol r11d,16 - xor ecx,r12d - mov r13,QWORD[256+r14] - xor ebx,r8d - xor edx,r11d - jmp NEAR $L$dec_loop_compact -ALIGN 16 -$L$dec_compact_done: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] -DB 0xf3,0xc3 - - -global AES_decrypt - -ALIGN 16 -global asm_AES_decrypt - -asm_AES_decrypt: -AES_decrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_AES_decrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - mov rax,rsp - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - - - lea rcx,[((-63))+rdx] - and rsp,-64 - sub rcx,rsp - neg rcx - and rcx,0x3c0 - sub rsp,rcx - sub rsp,32 - - mov QWORD[16+rsp],rsi - mov QWORD[24+rsp],rax - -$L$dec_prologue: - - mov r15,rdx - mov r13d,DWORD[240+r15] - - mov eax,DWORD[rdi] - mov ebx,DWORD[4+rdi] - mov ecx,DWORD[8+rdi] - mov edx,DWORD[12+rdi] - - shl r13d,4 - lea rbp,[r13*1+r15] - mov QWORD[rsp],r15 - mov QWORD[8+rsp],rbp - - - lea r14,[(($L$AES_Td+2048))] - lea rbp,[768+rsp] - sub rbp,r14 - and rbp,0x300 - lea r14,[rbp*1+r14] - shr rbp,3 - add r14,rbp - - call _x86_64_AES_decrypt_compact - - mov r9,QWORD[16+rsp] - mov rsi,QWORD[24+rsp] - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - mov r15,QWORD[((-48))+rsi] - - mov r14,QWORD[((-40))+rsi] - - mov r13,QWORD[((-32))+rsi] - - mov r12,QWORD[((-24))+rsi] - - mov rbp,QWORD[((-16))+rsi] - - mov rbx,QWORD[((-8))+rsi] - - lea rsp,[rsi] - -$L$dec_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_AES_decrypt: -global AES_set_encrypt_key - -ALIGN 16 -AES_set_encrypt_key: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_AES_set_encrypt_key: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - sub rsp,8 - -$L$enc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - mov rbp,QWORD[40+rsp] - - mov rbx,QWORD[48+rsp] - - add rsp,56 - -$L$enc_key_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_AES_set_encrypt_key: - - -ALIGN 16 -_x86_64_AES_set_encrypt_key: - - mov ecx,esi - mov rsi,rdi - mov rdi,rdx - - test rsi,-1 - jz NEAR $L$badpointer - test rdi,-1 - jz NEAR $L$badpointer - - lea rbp,[$L$AES_Te] - lea rbp,[((2048+128))+rbp] - - - mov eax,DWORD[((0-128))+rbp] - mov ebx,DWORD[((32-128))+rbp] - mov r8d,DWORD[((64-128))+rbp] - mov edx,DWORD[((96-128))+rbp] - mov eax,DWORD[((128-128))+rbp] - mov ebx,DWORD[((160-128))+rbp] - mov r8d,DWORD[((192-128))+rbp] - mov edx,DWORD[((224-128))+rbp] - - cmp ecx,128 - je NEAR $L$10rounds - cmp ecx,192 - je NEAR $L$12rounds - cmp ecx,256 - je NEAR $L$14rounds - mov rax,-2 - jmp NEAR $L$exit - -$L$10rounds: - mov rax,QWORD[rsi] - mov rdx,QWORD[8+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$10shortcut -ALIGN 4 -$L$10loop: - mov eax,DWORD[rdi] - mov edx,DWORD[12+rdi] -$L$10shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[16+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[20+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[24+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[28+rdi],eax - add ecx,1 - lea rdi,[16+rdi] - cmp ecx,10 - jl NEAR $L$10loop - - mov DWORD[80+rdi],10 - xor rax,rax - jmp NEAR $L$exit - -$L$12rounds: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rdx,QWORD[16+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$12shortcut -ALIGN 4 -$L$12loop: - mov eax,DWORD[rdi] - mov edx,DWORD[20+rdi] -$L$12shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[24+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[28+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[32+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[36+rdi],eax - - cmp ecx,7 - je NEAR $L$12break - add ecx,1 - - xor eax,DWORD[16+rdi] - mov DWORD[40+rdi],eax - xor eax,DWORD[20+rdi] - mov DWORD[44+rdi],eax - - lea rdi,[24+rdi] - jmp NEAR $L$12loop -$L$12break: - mov DWORD[72+rdi],12 - xor rax,rax - jmp NEAR $L$exit - -$L$14rounds: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rcx,QWORD[16+rsi] - mov rdx,QWORD[24+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rcx - mov QWORD[24+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$14shortcut -ALIGN 4 -$L$14loop: - mov eax,DWORD[rdi] - mov edx,DWORD[28+rdi] -$L$14shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[32+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[36+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[40+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[44+rdi],eax - - cmp ecx,6 - je NEAR $L$14break - add ecx,1 - - mov edx,eax - mov eax,DWORD[16+rdi] - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - shl ebx,8 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,16 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,24 - xor eax,ebx - - mov DWORD[48+rdi],eax - xor eax,DWORD[20+rdi] - mov DWORD[52+rdi],eax - xor eax,DWORD[24+rdi] - mov DWORD[56+rdi],eax - xor eax,DWORD[28+rdi] - mov DWORD[60+rdi],eax - - lea rdi,[32+rdi] - jmp NEAR $L$14loop -$L$14break: - mov DWORD[48+rdi],14 - xor rax,rax - jmp NEAR $L$exit - -$L$badpointer: - mov rax,-1 -$L$exit: -DB 0xf3,0xc3 - - -global AES_set_decrypt_key - -ALIGN 16 -AES_set_decrypt_key: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_AES_set_decrypt_key: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - push rdx - -$L$dec_key_prologue: - - call _x86_64_AES_set_encrypt_key - mov r8,QWORD[rsp] - cmp eax,0 - jne NEAR $L$abort - - mov r14d,DWORD[240+r8] - xor rdi,rdi - lea rcx,[r14*4+rdi] - mov rsi,r8 - lea rdi,[rcx*4+r8] -ALIGN 4 -$L$invert: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rcx,QWORD[rdi] - mov rdx,QWORD[8+rdi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[rsi],rcx - mov QWORD[8+rsi],rdx - lea rsi,[16+rsi] - lea rdi,[((-16))+rdi] - cmp rdi,rsi - jne NEAR $L$invert - - lea rax,[(($L$AES_Te+2048+1024))] - - mov rsi,QWORD[40+rax] - mov rdi,QWORD[48+rax] - mov rbp,QWORD[56+rax] - - mov r15,r8 - sub r14d,1 -ALIGN 4 -$L$permute: - lea r15,[16+r15] - mov rax,QWORD[r15] - mov rcx,QWORD[8+r15] - mov r9,rsi - mov r12,rsi - and r9,rax - and r12,rcx - mov rbx,r9 - mov rdx,r12 - shr r9,7 - lea r8,[rax*1+rax] - shr r12,7 - lea r11,[rcx*1+rcx] - sub rbx,r9 - sub rdx,r12 - and r8,rdi - and r11,rdi - and rbx,rbp - and rdx,rbp - xor r8,rbx - xor r11,rdx - mov r10,rsi - mov r13,rsi - - and r10,r8 - and r13,r11 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - lea r9,[r8*1+r8] - shr r13,7 - lea r12,[r11*1+r11] - sub rbx,r10 - sub rdx,r13 - and r9,rdi - and r12,rdi - and rbx,rbp - and rdx,rbp - xor r9,rbx - xor r12,rdx - mov r10,rsi - mov r13,rsi - - and r10,r9 - and r13,r12 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - xor r8,rax - shr r13,7 - xor r11,rcx - sub rbx,r10 - sub rdx,r13 - lea r10,[r9*1+r9] - lea r13,[r12*1+r12] - xor r9,rax - xor r12,rcx - and r10,rdi - and r13,rdi - and rbx,rbp - and rdx,rbp - xor r10,rbx - xor r13,rdx - - xor rax,r10 - xor rcx,r13 - xor r8,r10 - xor r11,r13 - mov rbx,rax - mov rdx,rcx - xor r9,r10 - shr rbx,32 - xor r12,r13 - shr rdx,32 - xor r10,r8 - rol eax,8 - xor r13,r11 - rol ecx,8 - xor r10,r9 - rol ebx,8 - xor r13,r12 - - rol edx,8 - xor eax,r10d - shr r10,32 - xor ecx,r13d - shr r13,32 - xor ebx,r10d - xor edx,r13d - - mov r10,r8 - rol r8d,24 - mov r13,r11 - rol r11d,24 - shr r10,32 - xor eax,r8d - shr r13,32 - xor ecx,r11d - rol r10d,24 - mov r8,r9 - rol r13d,24 - mov r11,r12 - shr r8,32 - xor ebx,r10d - shr r11,32 - xor edx,r13d - - - rol r9d,16 - - rol r12d,16 - - rol r8d,16 - - xor eax,r9d - rol r11d,16 - xor ecx,r12d - - xor ebx,r8d - xor edx,r11d - mov DWORD[r15],eax - mov DWORD[4+r15],ebx - mov DWORD[8+r15],ecx - mov DWORD[12+r15],edx - sub r14d,1 - jnz NEAR $L$permute - - xor rax,rax -$L$abort: - mov r15,QWORD[8+rsp] - - mov r14,QWORD[16+rsp] - - mov r13,QWORD[24+rsp] - - mov r12,QWORD[32+rsp] - - mov rbp,QWORD[40+rsp] - - mov rbx,QWORD[48+rsp] - - add rsp,56 - -$L$dec_key_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_AES_set_decrypt_key: -global AES_cbc_encrypt - -ALIGN 16 -EXTERN OPENSSL_ia32cap_P -global asm_AES_cbc_encrypt - -asm_AES_cbc_encrypt: -AES_cbc_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_AES_cbc_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - - cmp rdx,0 - je NEAR $L$cbc_epilogue - pushfq - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - -$L$cbc_prologue: - - cld - mov r9d,r9d - - lea r14,[$L$AES_Te] - lea r10,[$L$AES_Td] - cmp r9,0 - cmove r14,r10 - - - mov r10d,DWORD[OPENSSL_ia32cap_P] - cmp rdx,512 - jb NEAR $L$cbc_slow_prologue - test rdx,15 - jnz NEAR $L$cbc_slow_prologue - bt r10d,28 - jc NEAR $L$cbc_slow_prologue - - - lea r15,[((-88-248))+rsp] - and r15,-64 - - - mov r10,r14 - lea r11,[2304+r14] - mov r12,r15 - and r10,0xFFF - and r11,0xFFF - and r12,0xFFF - - cmp r12,r11 - jb NEAR $L$cbc_te_break_out - sub r12,r11 - sub r15,r12 - jmp NEAR $L$cbc_te_ok -$L$cbc_te_break_out: - sub r12,r10 - and r12,0xFFF - add r12,320 - sub r15,r12 -ALIGN 4 -$L$cbc_te_ok: - - xchg r15,rsp - - - mov QWORD[16+rsp],r15 - -$L$cbc_fast_body: - mov QWORD[24+rsp],rdi - mov QWORD[32+rsp],rsi - mov QWORD[40+rsp],rdx - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],r8 - mov DWORD[((80+240))+rsp],0 - mov rbp,r8 - mov rbx,r9 - mov r9,rsi - mov r8,rdi - mov r15,rcx - - mov eax,DWORD[240+r15] - - mov r10,r15 - sub r10,r14 - and r10,0xfff - cmp r10,2304 - jb NEAR $L$cbc_do_ecopy - cmp r10,4096-248 - jb NEAR $L$cbc_skip_ecopy -ALIGN 4 -$L$cbc_do_ecopy: - mov rsi,r15 - lea rdi,[80+rsp] - lea r15,[80+rsp] - mov ecx,240/8 - DD 0x90A548F3 - mov DWORD[rdi],eax -$L$cbc_skip_ecopy: - mov QWORD[rsp],r15 - - mov ecx,18 -ALIGN 4 -$L$cbc_prefetch_te: - mov r10,QWORD[r14] - mov r11,QWORD[32+r14] - mov r12,QWORD[64+r14] - mov r13,QWORD[96+r14] - lea r14,[128+r14] - sub ecx,1 - jnz NEAR $L$cbc_prefetch_te - lea r14,[((-2304))+r14] - - cmp rbx,0 - je NEAR $L$FAST_DECRYPT - - - mov eax,DWORD[rbp] - mov ebx,DWORD[4+rbp] - mov ecx,DWORD[8+rbp] - mov edx,DWORD[12+rbp] - -ALIGN 4 -$L$cbc_fast_enc_loop: - xor eax,DWORD[r8] - xor ebx,DWORD[4+r8] - xor ecx,DWORD[8+r8] - xor edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_encrypt - - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - sub r10,16 - test r10,-16 - mov QWORD[40+rsp],r10 - jnz NEAR $L$cbc_fast_enc_loop - mov rbp,QWORD[56+rsp] - mov DWORD[rbp],eax - mov DWORD[4+rbp],ebx - mov DWORD[8+rbp],ecx - mov DWORD[12+rbp],edx - - jmp NEAR $L$cbc_fast_cleanup - - -ALIGN 16 -$L$FAST_DECRYPT: - cmp r9,r8 - je NEAR $L$cbc_fast_dec_in_place - - mov QWORD[64+rsp],rbp -ALIGN 4 -$L$cbc_fast_dec_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_decrypt - - mov rbp,QWORD[64+rsp] - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[rbp] - xor ebx,DWORD[4+rbp] - xor ecx,DWORD[8+rbp] - xor edx,DWORD[12+rbp] - mov rbp,r8 - - sub r10,16 - mov QWORD[40+rsp],r10 - mov QWORD[64+rsp],rbp - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - jnz NEAR $L$cbc_fast_dec_loop - mov r12,QWORD[56+rsp] - mov r10,QWORD[rbp] - mov r11,QWORD[8+rbp] - mov QWORD[r12],r10 - mov QWORD[8+r12],r11 - jmp NEAR $L$cbc_fast_cleanup - -ALIGN 16 -$L$cbc_fast_dec_in_place: - mov r10,QWORD[rbp] - mov r11,QWORD[8+rbp] - mov QWORD[((0+64))+rsp],r10 - mov QWORD[((8+64))+rsp],r11 -ALIGN 4 -$L$cbc_fast_dec_in_place_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_decrypt - - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[((0+64))+rsp] - xor ebx,DWORD[((4+64))+rsp] - xor ecx,DWORD[((8+64))+rsp] - xor edx,DWORD[((12+64))+rsp] - - mov r11,QWORD[r8] - mov r12,QWORD[8+r8] - sub r10,16 - jz NEAR $L$cbc_fast_dec_in_place_done - - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - mov QWORD[40+rsp],r10 - jmp NEAR $L$cbc_fast_dec_in_place_loop -$L$cbc_fast_dec_in_place_done: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - -ALIGN 4 -$L$cbc_fast_cleanup: - cmp DWORD[((80+240))+rsp],0 - lea rdi,[80+rsp] - je NEAR $L$cbc_exit - mov ecx,240/8 - xor rax,rax - DD 0x90AB48F3 - - jmp NEAR $L$cbc_exit - - -ALIGN 16 -$L$cbc_slow_prologue: - - - lea rbp,[((-88))+rsp] - and rbp,-64 - - lea r10,[((-88-63))+rcx] - sub r10,rbp - neg r10 - and r10,0x3c0 - sub rbp,r10 - - xchg rbp,rsp - - - mov QWORD[16+rsp],rbp - -$L$cbc_slow_body: - - - - - mov QWORD[56+rsp],r8 - mov rbp,r8 - mov rbx,r9 - mov r9,rsi - mov r8,rdi - mov r15,rcx - mov r10,rdx - - mov eax,DWORD[240+r15] - mov QWORD[rsp],r15 - shl eax,4 - lea rax,[rax*1+r15] - mov QWORD[8+rsp],rax - - - lea r14,[2048+r14] - lea rax,[((768-8))+rsp] - sub rax,r14 - and rax,0x300 - lea r14,[rax*1+r14] - - cmp rbx,0 - je NEAR $L$SLOW_DECRYPT - - - test r10,-16 - mov eax,DWORD[rbp] - mov ebx,DWORD[4+rbp] - mov ecx,DWORD[8+rbp] - mov edx,DWORD[12+rbp] - jz NEAR $L$cbc_slow_enc_tail - -ALIGN 4 -$L$cbc_slow_enc_loop: - xor eax,DWORD[r8] - xor ebx,DWORD[4+r8] - xor ecx,DWORD[8+r8] - xor edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - mov QWORD[32+rsp],r9 - mov QWORD[40+rsp],r10 - - call _x86_64_AES_encrypt_compact - - mov r8,QWORD[24+rsp] - mov r9,QWORD[32+rsp] - mov r10,QWORD[40+rsp] - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - sub r10,16 - test r10,-16 - jnz NEAR $L$cbc_slow_enc_loop - test r10,15 - jnz NEAR $L$cbc_slow_enc_tail - mov rbp,QWORD[56+rsp] - mov DWORD[rbp],eax - mov DWORD[4+rbp],ebx - mov DWORD[8+rbp],ecx - mov DWORD[12+rbp],edx - - jmp NEAR $L$cbc_exit - -ALIGN 4 -$L$cbc_slow_enc_tail: - mov r11,rax - mov r12,rcx - mov rcx,r10 - mov rsi,r8 - mov rdi,r9 - DD 0x9066A4F3 - mov rcx,16 - sub rcx,r10 - xor rax,rax - DD 0x9066AAF3 - mov r8,r9 - mov r10,16 - mov rax,r11 - mov rcx,r12 - jmp NEAR $L$cbc_slow_enc_loop - -ALIGN 16 -$L$SLOW_DECRYPT: - shr rax,3 - add r14,rax - - mov r11,QWORD[rbp] - mov r12,QWORD[8+rbp] - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - -ALIGN 4 -$L$cbc_slow_dec_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - mov QWORD[32+rsp],r9 - mov QWORD[40+rsp],r10 - - call _x86_64_AES_decrypt_compact - - mov r8,QWORD[24+rsp] - mov r9,QWORD[32+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[((0+64))+rsp] - xor ebx,DWORD[((4+64))+rsp] - xor ecx,DWORD[((8+64))+rsp] - xor edx,DWORD[((12+64))+rsp] - - mov r11,QWORD[r8] - mov r12,QWORD[8+r8] - sub r10,16 - jc NEAR $L$cbc_slow_dec_partial - jz NEAR $L$cbc_slow_dec_done - - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - jmp NEAR $L$cbc_slow_dec_loop -$L$cbc_slow_dec_done: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - jmp NEAR $L$cbc_exit - -ALIGN 4 -$L$cbc_slow_dec_partial: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[((0+64))+rsp],eax - mov DWORD[((4+64))+rsp],ebx - mov DWORD[((8+64))+rsp],ecx - mov DWORD[((12+64))+rsp],edx - - mov rdi,r9 - lea rsi,[64+rsp] - lea rcx,[16+r10] - DD 0x9066A4F3 - jmp NEAR $L$cbc_exit - -ALIGN 16 -$L$cbc_exit: - mov rsi,QWORD[16+rsp] - - mov r15,QWORD[rsi] - - mov r14,QWORD[8+rsi] - - mov r13,QWORD[16+rsi] - - mov r12,QWORD[24+rsi] - - mov rbp,QWORD[32+rsi] - - mov rbx,QWORD[40+rsi] - - lea rsp,[48+rsi] - -$L$cbc_popfq: - popfq - - - -$L$cbc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_AES_cbc_encrypt: -ALIGN 64 -$L$AES_Te: - DD 0xa56363c6,0xa56363c6 - DD 0x847c7cf8,0x847c7cf8 - DD 0x997777ee,0x997777ee - DD 0x8d7b7bf6,0x8d7b7bf6 - DD 0x0df2f2ff,0x0df2f2ff - DD 0xbd6b6bd6,0xbd6b6bd6 - DD 0xb16f6fde,0xb16f6fde - DD 0x54c5c591,0x54c5c591 - DD 0x50303060,0x50303060 - DD 0x03010102,0x03010102 - DD 0xa96767ce,0xa96767ce - DD 0x7d2b2b56,0x7d2b2b56 - DD 0x19fefee7,0x19fefee7 - DD 0x62d7d7b5,0x62d7d7b5 - DD 0xe6abab4d,0xe6abab4d - DD 0x9a7676ec,0x9a7676ec - DD 0x45caca8f,0x45caca8f - DD 0x9d82821f,0x9d82821f - DD 0x40c9c989,0x40c9c989 - DD 0x877d7dfa,0x877d7dfa - DD 0x15fafaef,0x15fafaef - DD 0xeb5959b2,0xeb5959b2 - DD 0xc947478e,0xc947478e - DD 0x0bf0f0fb,0x0bf0f0fb - DD 0xecadad41,0xecadad41 - DD 0x67d4d4b3,0x67d4d4b3 - DD 0xfda2a25f,0xfda2a25f - DD 0xeaafaf45,0xeaafaf45 - DD 0xbf9c9c23,0xbf9c9c23 - DD 0xf7a4a453,0xf7a4a453 - DD 0x967272e4,0x967272e4 - DD 0x5bc0c09b,0x5bc0c09b - DD 0xc2b7b775,0xc2b7b775 - DD 0x1cfdfde1,0x1cfdfde1 - DD 0xae93933d,0xae93933d - DD 0x6a26264c,0x6a26264c - DD 0x5a36366c,0x5a36366c - DD 0x413f3f7e,0x413f3f7e - DD 0x02f7f7f5,0x02f7f7f5 - DD 0x4fcccc83,0x4fcccc83 - DD 0x5c343468,0x5c343468 - DD 0xf4a5a551,0xf4a5a551 - DD 0x34e5e5d1,0x34e5e5d1 - DD 0x08f1f1f9,0x08f1f1f9 - DD 0x937171e2,0x937171e2 - DD 0x73d8d8ab,0x73d8d8ab - DD 0x53313162,0x53313162 - DD 0x3f15152a,0x3f15152a - DD 0x0c040408,0x0c040408 - DD 0x52c7c795,0x52c7c795 - DD 0x65232346,0x65232346 - DD 0x5ec3c39d,0x5ec3c39d - DD 0x28181830,0x28181830 - DD 0xa1969637,0xa1969637 - DD 0x0f05050a,0x0f05050a - DD 0xb59a9a2f,0xb59a9a2f - DD 0x0907070e,0x0907070e - DD 0x36121224,0x36121224 - DD 0x9b80801b,0x9b80801b - DD 0x3de2e2df,0x3de2e2df - DD 0x26ebebcd,0x26ebebcd - DD 0x6927274e,0x6927274e - DD 0xcdb2b27f,0xcdb2b27f - DD 0x9f7575ea,0x9f7575ea - DD 0x1b090912,0x1b090912 - DD 0x9e83831d,0x9e83831d - DD 0x742c2c58,0x742c2c58 - DD 0x2e1a1a34,0x2e1a1a34 - DD 0x2d1b1b36,0x2d1b1b36 - DD 0xb26e6edc,0xb26e6edc - DD 0xee5a5ab4,0xee5a5ab4 - DD 0xfba0a05b,0xfba0a05b - DD 0xf65252a4,0xf65252a4 - DD 0x4d3b3b76,0x4d3b3b76 - DD 0x61d6d6b7,0x61d6d6b7 - DD 0xceb3b37d,0xceb3b37d - DD 0x7b292952,0x7b292952 - DD 0x3ee3e3dd,0x3ee3e3dd - DD 0x712f2f5e,0x712f2f5e - DD 0x97848413,0x97848413 - DD 0xf55353a6,0xf55353a6 - DD 0x68d1d1b9,0x68d1d1b9 - DD 0x00000000,0x00000000 - DD 0x2cededc1,0x2cededc1 - DD 0x60202040,0x60202040 - DD 0x1ffcfce3,0x1ffcfce3 - DD 0xc8b1b179,0xc8b1b179 - DD 0xed5b5bb6,0xed5b5bb6 - DD 0xbe6a6ad4,0xbe6a6ad4 - DD 0x46cbcb8d,0x46cbcb8d - DD 0xd9bebe67,0xd9bebe67 - DD 0x4b393972,0x4b393972 - DD 0xde4a4a94,0xde4a4a94 - DD 0xd44c4c98,0xd44c4c98 - DD 0xe85858b0,0xe85858b0 - DD 0x4acfcf85,0x4acfcf85 - DD 0x6bd0d0bb,0x6bd0d0bb - DD 0x2aefefc5,0x2aefefc5 - DD 0xe5aaaa4f,0xe5aaaa4f - DD 0x16fbfbed,0x16fbfbed - DD 0xc5434386,0xc5434386 - DD 0xd74d4d9a,0xd74d4d9a - DD 0x55333366,0x55333366 - DD 0x94858511,0x94858511 - DD 0xcf45458a,0xcf45458a - DD 0x10f9f9e9,0x10f9f9e9 - DD 0x06020204,0x06020204 - DD 0x817f7ffe,0x817f7ffe - DD 0xf05050a0,0xf05050a0 - DD 0x443c3c78,0x443c3c78 - DD 0xba9f9f25,0xba9f9f25 - DD 0xe3a8a84b,0xe3a8a84b - DD 0xf35151a2,0xf35151a2 - DD 0xfea3a35d,0xfea3a35d - DD 0xc0404080,0xc0404080 - DD 0x8a8f8f05,0x8a8f8f05 - DD 0xad92923f,0xad92923f - DD 0xbc9d9d21,0xbc9d9d21 - DD 0x48383870,0x48383870 - DD 0x04f5f5f1,0x04f5f5f1 - DD 0xdfbcbc63,0xdfbcbc63 - DD 0xc1b6b677,0xc1b6b677 - DD 0x75dadaaf,0x75dadaaf - DD 0x63212142,0x63212142 - DD 0x30101020,0x30101020 - DD 0x1affffe5,0x1affffe5 - DD 0x0ef3f3fd,0x0ef3f3fd - DD 0x6dd2d2bf,0x6dd2d2bf - DD 0x4ccdcd81,0x4ccdcd81 - DD 0x140c0c18,0x140c0c18 - DD 0x35131326,0x35131326 - DD 0x2fececc3,0x2fececc3 - DD 0xe15f5fbe,0xe15f5fbe - DD 0xa2979735,0xa2979735 - DD 0xcc444488,0xcc444488 - DD 0x3917172e,0x3917172e - DD 0x57c4c493,0x57c4c493 - DD 0xf2a7a755,0xf2a7a755 - DD 0x827e7efc,0x827e7efc - DD 0x473d3d7a,0x473d3d7a - DD 0xac6464c8,0xac6464c8 - DD 0xe75d5dba,0xe75d5dba - DD 0x2b191932,0x2b191932 - DD 0x957373e6,0x957373e6 - DD 0xa06060c0,0xa06060c0 - DD 0x98818119,0x98818119 - DD 0xd14f4f9e,0xd14f4f9e - DD 0x7fdcdca3,0x7fdcdca3 - DD 0x66222244,0x66222244 - DD 0x7e2a2a54,0x7e2a2a54 - DD 0xab90903b,0xab90903b - DD 0x8388880b,0x8388880b - DD 0xca46468c,0xca46468c - DD 0x29eeeec7,0x29eeeec7 - DD 0xd3b8b86b,0xd3b8b86b - DD 0x3c141428,0x3c141428 - DD 0x79dedea7,0x79dedea7 - DD 0xe25e5ebc,0xe25e5ebc - DD 0x1d0b0b16,0x1d0b0b16 - DD 0x76dbdbad,0x76dbdbad - DD 0x3be0e0db,0x3be0e0db - DD 0x56323264,0x56323264 - DD 0x4e3a3a74,0x4e3a3a74 - DD 0x1e0a0a14,0x1e0a0a14 - DD 0xdb494992,0xdb494992 - DD 0x0a06060c,0x0a06060c - DD 0x6c242448,0x6c242448 - DD 0xe45c5cb8,0xe45c5cb8 - DD 0x5dc2c29f,0x5dc2c29f - DD 0x6ed3d3bd,0x6ed3d3bd - DD 0xefacac43,0xefacac43 - DD 0xa66262c4,0xa66262c4 - DD 0xa8919139,0xa8919139 - DD 0xa4959531,0xa4959531 - DD 0x37e4e4d3,0x37e4e4d3 - DD 0x8b7979f2,0x8b7979f2 - DD 0x32e7e7d5,0x32e7e7d5 - DD 0x43c8c88b,0x43c8c88b - DD 0x5937376e,0x5937376e - DD 0xb76d6dda,0xb76d6dda - DD 0x8c8d8d01,0x8c8d8d01 - DD 0x64d5d5b1,0x64d5d5b1 - DD 0xd24e4e9c,0xd24e4e9c - DD 0xe0a9a949,0xe0a9a949 - DD 0xb46c6cd8,0xb46c6cd8 - DD 0xfa5656ac,0xfa5656ac - DD 0x07f4f4f3,0x07f4f4f3 - DD 0x25eaeacf,0x25eaeacf - DD 0xaf6565ca,0xaf6565ca - DD 0x8e7a7af4,0x8e7a7af4 - DD 0xe9aeae47,0xe9aeae47 - DD 0x18080810,0x18080810 - DD 0xd5baba6f,0xd5baba6f - DD 0x887878f0,0x887878f0 - DD 0x6f25254a,0x6f25254a - DD 0x722e2e5c,0x722e2e5c - DD 0x241c1c38,0x241c1c38 - DD 0xf1a6a657,0xf1a6a657 - DD 0xc7b4b473,0xc7b4b473 - DD 0x51c6c697,0x51c6c697 - DD 0x23e8e8cb,0x23e8e8cb - DD 0x7cdddda1,0x7cdddda1 - DD 0x9c7474e8,0x9c7474e8 - DD 0x211f1f3e,0x211f1f3e - DD 0xdd4b4b96,0xdd4b4b96 - DD 0xdcbdbd61,0xdcbdbd61 - DD 0x868b8b0d,0x868b8b0d - DD 0x858a8a0f,0x858a8a0f - DD 0x907070e0,0x907070e0 - DD 0x423e3e7c,0x423e3e7c - DD 0xc4b5b571,0xc4b5b571 - DD 0xaa6666cc,0xaa6666cc - DD 0xd8484890,0xd8484890 - DD 0x05030306,0x05030306 - DD 0x01f6f6f7,0x01f6f6f7 - DD 0x120e0e1c,0x120e0e1c - DD 0xa36161c2,0xa36161c2 - DD 0x5f35356a,0x5f35356a - DD 0xf95757ae,0xf95757ae - DD 0xd0b9b969,0xd0b9b969 - DD 0x91868617,0x91868617 - DD 0x58c1c199,0x58c1c199 - DD 0x271d1d3a,0x271d1d3a - DD 0xb99e9e27,0xb99e9e27 - DD 0x38e1e1d9,0x38e1e1d9 - DD 0x13f8f8eb,0x13f8f8eb - DD 0xb398982b,0xb398982b - DD 0x33111122,0x33111122 - DD 0xbb6969d2,0xbb6969d2 - DD 0x70d9d9a9,0x70d9d9a9 - DD 0x898e8e07,0x898e8e07 - DD 0xa7949433,0xa7949433 - DD 0xb69b9b2d,0xb69b9b2d - DD 0x221e1e3c,0x221e1e3c - DD 0x92878715,0x92878715 - DD 0x20e9e9c9,0x20e9e9c9 - DD 0x49cece87,0x49cece87 - DD 0xff5555aa,0xff5555aa - DD 0x78282850,0x78282850 - DD 0x7adfdfa5,0x7adfdfa5 - DD 0x8f8c8c03,0x8f8c8c03 - DD 0xf8a1a159,0xf8a1a159 - DD 0x80898909,0x80898909 - DD 0x170d0d1a,0x170d0d1a - DD 0xdabfbf65,0xdabfbf65 - DD 0x31e6e6d7,0x31e6e6d7 - DD 0xc6424284,0xc6424284 - DD 0xb86868d0,0xb86868d0 - DD 0xc3414182,0xc3414182 - DD 0xb0999929,0xb0999929 - DD 0x772d2d5a,0x772d2d5a - DD 0x110f0f1e,0x110f0f1e - DD 0xcbb0b07b,0xcbb0b07b - DD 0xfc5454a8,0xfc5454a8 - DD 0xd6bbbb6d,0xd6bbbb6d - DD 0x3a16162c,0x3a16162c -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 - DD 0x00000001,0x00000002,0x00000004,0x00000008 - DD 0x00000010,0x00000020,0x00000040,0x00000080 - DD 0x0000001b,0x00000036,0x80808080,0x80808080 - DD 0xfefefefe,0xfefefefe,0x1b1b1b1b,0x1b1b1b1b -ALIGN 64 -$L$AES_Td: - DD 0x50a7f451,0x50a7f451 - DD 0x5365417e,0x5365417e - DD 0xc3a4171a,0xc3a4171a - DD 0x965e273a,0x965e273a - DD 0xcb6bab3b,0xcb6bab3b - DD 0xf1459d1f,0xf1459d1f - DD 0xab58faac,0xab58faac - DD 0x9303e34b,0x9303e34b - DD 0x55fa3020,0x55fa3020 - DD 0xf66d76ad,0xf66d76ad - DD 0x9176cc88,0x9176cc88 - DD 0x254c02f5,0x254c02f5 - DD 0xfcd7e54f,0xfcd7e54f - DD 0xd7cb2ac5,0xd7cb2ac5 - DD 0x80443526,0x80443526 - DD 0x8fa362b5,0x8fa362b5 - DD 0x495ab1de,0x495ab1de - DD 0x671bba25,0x671bba25 - DD 0x980eea45,0x980eea45 - DD 0xe1c0fe5d,0xe1c0fe5d - DD 0x02752fc3,0x02752fc3 - DD 0x12f04c81,0x12f04c81 - DD 0xa397468d,0xa397468d - DD 0xc6f9d36b,0xc6f9d36b - DD 0xe75f8f03,0xe75f8f03 - DD 0x959c9215,0x959c9215 - DD 0xeb7a6dbf,0xeb7a6dbf - DD 0xda595295,0xda595295 - DD 0x2d83bed4,0x2d83bed4 - DD 0xd3217458,0xd3217458 - DD 0x2969e049,0x2969e049 - DD 0x44c8c98e,0x44c8c98e - DD 0x6a89c275,0x6a89c275 - DD 0x78798ef4,0x78798ef4 - DD 0x6b3e5899,0x6b3e5899 - DD 0xdd71b927,0xdd71b927 - DD 0xb64fe1be,0xb64fe1be - DD 0x17ad88f0,0x17ad88f0 - DD 0x66ac20c9,0x66ac20c9 - DD 0xb43ace7d,0xb43ace7d - DD 0x184adf63,0x184adf63 - DD 0x82311ae5,0x82311ae5 - DD 0x60335197,0x60335197 - DD 0x457f5362,0x457f5362 - DD 0xe07764b1,0xe07764b1 - DD 0x84ae6bbb,0x84ae6bbb - DD 0x1ca081fe,0x1ca081fe - DD 0x942b08f9,0x942b08f9 - DD 0x58684870,0x58684870 - DD 0x19fd458f,0x19fd458f - DD 0x876cde94,0x876cde94 - DD 0xb7f87b52,0xb7f87b52 - DD 0x23d373ab,0x23d373ab - DD 0xe2024b72,0xe2024b72 - DD 0x578f1fe3,0x578f1fe3 - DD 0x2aab5566,0x2aab5566 - DD 0x0728ebb2,0x0728ebb2 - DD 0x03c2b52f,0x03c2b52f - DD 0x9a7bc586,0x9a7bc586 - DD 0xa50837d3,0xa50837d3 - DD 0xf2872830,0xf2872830 - DD 0xb2a5bf23,0xb2a5bf23 - DD 0xba6a0302,0xba6a0302 - DD 0x5c8216ed,0x5c8216ed - DD 0x2b1ccf8a,0x2b1ccf8a - DD 0x92b479a7,0x92b479a7 - DD 0xf0f207f3,0xf0f207f3 - DD 0xa1e2694e,0xa1e2694e - DD 0xcdf4da65,0xcdf4da65 - DD 0xd5be0506,0xd5be0506 - DD 0x1f6234d1,0x1f6234d1 - DD 0x8afea6c4,0x8afea6c4 - DD 0x9d532e34,0x9d532e34 - DD 0xa055f3a2,0xa055f3a2 - DD 0x32e18a05,0x32e18a05 - DD 0x75ebf6a4,0x75ebf6a4 - DD 0x39ec830b,0x39ec830b - DD 0xaaef6040,0xaaef6040 - DD 0x069f715e,0x069f715e - DD 0x51106ebd,0x51106ebd - DD 0xf98a213e,0xf98a213e - DD 0x3d06dd96,0x3d06dd96 - DD 0xae053edd,0xae053edd - DD 0x46bde64d,0x46bde64d - DD 0xb58d5491,0xb58d5491 - DD 0x055dc471,0x055dc471 - DD 0x6fd40604,0x6fd40604 - DD 0xff155060,0xff155060 - DD 0x24fb9819,0x24fb9819 - DD 0x97e9bdd6,0x97e9bdd6 - DD 0xcc434089,0xcc434089 - DD 0x779ed967,0x779ed967 - DD 0xbd42e8b0,0xbd42e8b0 - DD 0x888b8907,0x888b8907 - DD 0x385b19e7,0x385b19e7 - DD 0xdbeec879,0xdbeec879 - DD 0x470a7ca1,0x470a7ca1 - DD 0xe90f427c,0xe90f427c - DD 0xc91e84f8,0xc91e84f8 - DD 0x00000000,0x00000000 - DD 0x83868009,0x83868009 - DD 0x48ed2b32,0x48ed2b32 - DD 0xac70111e,0xac70111e - DD 0x4e725a6c,0x4e725a6c - DD 0xfbff0efd,0xfbff0efd - DD 0x5638850f,0x5638850f - DD 0x1ed5ae3d,0x1ed5ae3d - DD 0x27392d36,0x27392d36 - DD 0x64d90f0a,0x64d90f0a - DD 0x21a65c68,0x21a65c68 - DD 0xd1545b9b,0xd1545b9b - DD 0x3a2e3624,0x3a2e3624 - DD 0xb1670a0c,0xb1670a0c - DD 0x0fe75793,0x0fe75793 - DD 0xd296eeb4,0xd296eeb4 - DD 0x9e919b1b,0x9e919b1b - DD 0x4fc5c080,0x4fc5c080 - DD 0xa220dc61,0xa220dc61 - DD 0x694b775a,0x694b775a - DD 0x161a121c,0x161a121c - DD 0x0aba93e2,0x0aba93e2 - DD 0xe52aa0c0,0xe52aa0c0 - DD 0x43e0223c,0x43e0223c - DD 0x1d171b12,0x1d171b12 - DD 0x0b0d090e,0x0b0d090e - DD 0xadc78bf2,0xadc78bf2 - DD 0xb9a8b62d,0xb9a8b62d - DD 0xc8a91e14,0xc8a91e14 - DD 0x8519f157,0x8519f157 - DD 0x4c0775af,0x4c0775af - DD 0xbbdd99ee,0xbbdd99ee - DD 0xfd607fa3,0xfd607fa3 - DD 0x9f2601f7,0x9f2601f7 - DD 0xbcf5725c,0xbcf5725c - DD 0xc53b6644,0xc53b6644 - DD 0x347efb5b,0x347efb5b - DD 0x7629438b,0x7629438b - DD 0xdcc623cb,0xdcc623cb - DD 0x68fcedb6,0x68fcedb6 - DD 0x63f1e4b8,0x63f1e4b8 - DD 0xcadc31d7,0xcadc31d7 - DD 0x10856342,0x10856342 - DD 0x40229713,0x40229713 - DD 0x2011c684,0x2011c684 - DD 0x7d244a85,0x7d244a85 - DD 0xf83dbbd2,0xf83dbbd2 - DD 0x1132f9ae,0x1132f9ae - DD 0x6da129c7,0x6da129c7 - DD 0x4b2f9e1d,0x4b2f9e1d - DD 0xf330b2dc,0xf330b2dc - DD 0xec52860d,0xec52860d - DD 0xd0e3c177,0xd0e3c177 - DD 0x6c16b32b,0x6c16b32b - DD 0x99b970a9,0x99b970a9 - DD 0xfa489411,0xfa489411 - DD 0x2264e947,0x2264e947 - DD 0xc48cfca8,0xc48cfca8 - DD 0x1a3ff0a0,0x1a3ff0a0 - DD 0xd82c7d56,0xd82c7d56 - DD 0xef903322,0xef903322 - DD 0xc74e4987,0xc74e4987 - DD 0xc1d138d9,0xc1d138d9 - DD 0xfea2ca8c,0xfea2ca8c - DD 0x360bd498,0x360bd498 - DD 0xcf81f5a6,0xcf81f5a6 - DD 0x28de7aa5,0x28de7aa5 - DD 0x268eb7da,0x268eb7da - DD 0xa4bfad3f,0xa4bfad3f - DD 0xe49d3a2c,0xe49d3a2c - DD 0x0d927850,0x0d927850 - DD 0x9bcc5f6a,0x9bcc5f6a - DD 0x62467e54,0x62467e54 - DD 0xc2138df6,0xc2138df6 - DD 0xe8b8d890,0xe8b8d890 - DD 0x5ef7392e,0x5ef7392e - DD 0xf5afc382,0xf5afc382 - DD 0xbe805d9f,0xbe805d9f - DD 0x7c93d069,0x7c93d069 - DD 0xa92dd56f,0xa92dd56f - DD 0xb31225cf,0xb31225cf - DD 0x3b99acc8,0x3b99acc8 - DD 0xa77d1810,0xa77d1810 - DD 0x6e639ce8,0x6e639ce8 - DD 0x7bbb3bdb,0x7bbb3bdb - DD 0x097826cd,0x097826cd - DD 0xf418596e,0xf418596e - DD 0x01b79aec,0x01b79aec - DD 0xa89a4f83,0xa89a4f83 - DD 0x656e95e6,0x656e95e6 - DD 0x7ee6ffaa,0x7ee6ffaa - DD 0x08cfbc21,0x08cfbc21 - DD 0xe6e815ef,0xe6e815ef - DD 0xd99be7ba,0xd99be7ba - DD 0xce366f4a,0xce366f4a - DD 0xd4099fea,0xd4099fea - DD 0xd67cb029,0xd67cb029 - DD 0xafb2a431,0xafb2a431 - DD 0x31233f2a,0x31233f2a - DD 0x3094a5c6,0x3094a5c6 - DD 0xc066a235,0xc066a235 - DD 0x37bc4e74,0x37bc4e74 - DD 0xa6ca82fc,0xa6ca82fc - DD 0xb0d090e0,0xb0d090e0 - DD 0x15d8a733,0x15d8a733 - DD 0x4a9804f1,0x4a9804f1 - DD 0xf7daec41,0xf7daec41 - DD 0x0e50cd7f,0x0e50cd7f - DD 0x2ff69117,0x2ff69117 - DD 0x8dd64d76,0x8dd64d76 - DD 0x4db0ef43,0x4db0ef43 - DD 0x544daacc,0x544daacc - DD 0xdf0496e4,0xdf0496e4 - DD 0xe3b5d19e,0xe3b5d19e - DD 0x1b886a4c,0x1b886a4c - DD 0xb81f2cc1,0xb81f2cc1 - DD 0x7f516546,0x7f516546 - DD 0x04ea5e9d,0x04ea5e9d - DD 0x5d358c01,0x5d358c01 - DD 0x737487fa,0x737487fa - DD 0x2e410bfb,0x2e410bfb - DD 0x5a1d67b3,0x5a1d67b3 - DD 0x52d2db92,0x52d2db92 - DD 0x335610e9,0x335610e9 - DD 0x1347d66d,0x1347d66d - DD 0x8c61d79a,0x8c61d79a - DD 0x7a0ca137,0x7a0ca137 - DD 0x8e14f859,0x8e14f859 - DD 0x893c13eb,0x893c13eb - DD 0xee27a9ce,0xee27a9ce - DD 0x35c961b7,0x35c961b7 - DD 0xede51ce1,0xede51ce1 - DD 0x3cb1477a,0x3cb1477a - DD 0x59dfd29c,0x59dfd29c - DD 0x3f73f255,0x3f73f255 - DD 0x79ce1418,0x79ce1418 - DD 0xbf37c773,0xbf37c773 - DD 0xeacdf753,0xeacdf753 - DD 0x5baafd5f,0x5baafd5f - DD 0x146f3ddf,0x146f3ddf - DD 0x86db4478,0x86db4478 - DD 0x81f3afca,0x81f3afca - DD 0x3ec468b9,0x3ec468b9 - DD 0x2c342438,0x2c342438 - DD 0x5f40a3c2,0x5f40a3c2 - DD 0x72c31d16,0x72c31d16 - DD 0x0c25e2bc,0x0c25e2bc - DD 0x8b493c28,0x8b493c28 - DD 0x41950dff,0x41950dff - DD 0x7101a839,0x7101a839 - DD 0xdeb30c08,0xdeb30c08 - DD 0x9ce4b4d8,0x9ce4b4d8 - DD 0x90c15664,0x90c15664 - DD 0x6184cb7b,0x6184cb7b - DD 0x70b632d5,0x70b632d5 - DD 0x745c6c48,0x745c6c48 - DD 0x4257b8d0,0x4257b8d0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32 -DB 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 -DB 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 -DB 62,0 -ALIGN 64 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -block_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_block_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_block_prologue - - mov rax,QWORD[24+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_block_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - jmp NEAR $L$common_seh_exit - - - -ALIGN 16 -key_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_key_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_key_prologue - - lea rax,[56+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_key_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - jmp NEAR $L$common_seh_exit - - - -ALIGN 16 -cbc_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$cbc_prologue] - cmp rbx,r10 - jb NEAR $L$in_cbc_prologue - - lea r10,[$L$cbc_fast_body] - cmp rbx,r10 - jb NEAR $L$in_cbc_frame_setup - - lea r10,[$L$cbc_slow_prologue] - cmp rbx,r10 - jb NEAR $L$in_cbc_body - - lea r10,[$L$cbc_slow_body] - cmp rbx,r10 - jb NEAR $L$in_cbc_frame_setup - -$L$in_cbc_body: - mov rax,QWORD[152+r8] - - lea r10,[$L$cbc_epilogue] - cmp rbx,r10 - jae NEAR $L$in_cbc_prologue - - lea rax,[8+rax] - - lea r10,[$L$cbc_popfq] - cmp rbx,r10 - jae NEAR $L$in_cbc_prologue - - mov rax,QWORD[8+rax] - lea rax,[56+rax] - -$L$in_cbc_frame_setup: - mov rbx,QWORD[((-16))+rax] - mov rbp,QWORD[((-24))+rax] - mov r12,QWORD[((-32))+rax] - mov r13,QWORD[((-40))+rax] - mov r14,QWORD[((-48))+rax] - mov r15,QWORD[((-56))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_cbc_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - -$L$common_seh_exit: - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_AES_encrypt wrt ..imagebase - DD $L$SEH_end_AES_encrypt wrt ..imagebase - DD $L$SEH_info_AES_encrypt wrt ..imagebase - - DD $L$SEH_begin_AES_decrypt wrt ..imagebase - DD $L$SEH_end_AES_decrypt wrt ..imagebase - DD $L$SEH_info_AES_decrypt wrt ..imagebase - - DD $L$SEH_begin_AES_set_encrypt_key wrt ..imagebase - DD $L$SEH_end_AES_set_encrypt_key wrt ..imagebase - DD $L$SEH_info_AES_set_encrypt_key wrt ..imagebase - - DD $L$SEH_begin_AES_set_decrypt_key wrt ..imagebase - DD $L$SEH_end_AES_set_decrypt_key wrt ..imagebase - DD $L$SEH_info_AES_set_decrypt_key wrt ..imagebase - - DD $L$SEH_begin_AES_cbc_encrypt wrt ..imagebase - DD $L$SEH_end_AES_cbc_encrypt wrt ..imagebase - DD $L$SEH_info_AES_cbc_encrypt wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_AES_encrypt: -DB 9,0,0,0 - DD block_se_handler wrt ..imagebase - DD $L$enc_prologue wrt ..imagebase,$L$enc_epilogue wrt ..imagebase -$L$SEH_info_AES_decrypt: -DB 9,0,0,0 - DD block_se_handler wrt ..imagebase - DD $L$dec_prologue wrt ..imagebase,$L$dec_epilogue wrt ..imagebase -$L$SEH_info_AES_set_encrypt_key: -DB 9,0,0,0 - DD key_se_handler wrt ..imagebase - DD $L$enc_key_prologue wrt ..imagebase,$L$enc_key_epilogue wrt ..imagebase -$L$SEH_info_AES_set_decrypt_key: -DB 9,0,0,0 - DD key_se_handler wrt ..imagebase - DD $L$dec_key_prologue wrt ..imagebase,$L$dec_key_epilogue wrt ..imagebase -$L$SEH_info_AES_cbc_encrypt: -DB 9,0,0,0 - DD cbc_se_handler wrt ..imagebase diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-sha1-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-sha1-x86_64.asm index 925d1be94a94c9..ac71215c45e2dc 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-sha1-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-sha1-x86_64.asm @@ -11,6 +11,7 @@ global aesni_cbc_sha1_enc ALIGN 32 aesni_cbc_sha1_enc: + mov r10d,DWORD[((OPENSSL_ia32cap_P+0))] mov r11,QWORD[((OPENSSL_ia32cap_P+4))] bt r11,61 @@ -24,6 +25,7 @@ aesni_cbc_sha1_enc: DB 0F3h,0C3h ;repret + ALIGN 32 aesni_cbc_sha1_enc_ssse3: mov QWORD[8+rsp],rdi ;WIN64 prologue @@ -2809,6 +2811,7 @@ $L$SEH_begin_aesni_cbc_sha1_enc_shaext: mov r9,QWORD[48+rsp] + mov r10,QWORD[56+rsp] lea rsp,[((-168))+rsp] movaps XMMWORD[(-8-160)+rax],xmm6 @@ -3133,6 +3136,7 @@ $L$epilogue_shaext: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_aesni_cbc_sha1_enc_shaext: EXTERN __imp_RtlVirtualUnwind diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-sha256-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-sha256-x86_64.asm index b5d50c74dbaaee..17e571d38b1846 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-sha256-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-sha256-x86_64.asm @@ -10,6 +10,7 @@ global aesni_cbc_sha256_enc ALIGN 16 aesni_cbc_sha256_enc: + lea r11,[OPENSSL_ia32cap_P] mov eax,1 cmp rcx,0 @@ -37,6 +38,7 @@ $L$probe: DB 0F3h,0C3h ;repret + ALIGN 64 K256: @@ -4128,23 +4130,25 @@ $L$ower_avx2: jbe NEAR $L$oop_avx2 lea rbp,[rsp] + + + $L$done_avx2: - lea rsp,[rbp] - mov r8,QWORD[((64+32))+rsp] - mov rsi,QWORD[120+rsp] + mov r8,QWORD[((64+32))+rbp] + mov rsi,QWORD[((64+56))+rbp] vmovdqu XMMWORD[r8],xmm8 vzeroall - movaps xmm6,XMMWORD[128+rsp] - movaps xmm7,XMMWORD[144+rsp] - movaps xmm8,XMMWORD[160+rsp] - movaps xmm9,XMMWORD[176+rsp] - movaps xmm10,XMMWORD[192+rsp] - movaps xmm11,XMMWORD[208+rsp] - movaps xmm12,XMMWORD[224+rsp] - movaps xmm13,XMMWORD[240+rsp] - movaps xmm14,XMMWORD[256+rsp] - movaps xmm15,XMMWORD[272+rsp] + movaps xmm6,XMMWORD[128+rbp] + movaps xmm7,XMMWORD[144+rbp] + movaps xmm8,XMMWORD[160+rbp] + movaps xmm9,XMMWORD[176+rbp] + movaps xmm10,XMMWORD[192+rbp] + movaps xmm11,XMMWORD[208+rbp] + movaps xmm12,XMMWORD[224+rbp] + movaps xmm13,XMMWORD[240+rbp] + movaps xmm14,XMMWORD[256+rbp] + movaps xmm15,XMMWORD[272+rbp] mov r15,QWORD[((-48))+rsi] mov r14,QWORD[((-40))+rsi] @@ -4180,6 +4184,7 @@ $L$SEH_begin_aesni_cbc_sha256_enc_shaext: mov r9,QWORD[48+rsp] + mov r10,QWORD[56+rsp] lea rsp,[((-168))+rsp] movaps XMMWORD[(-8-160)+rax],xmm6 @@ -4555,6 +4560,7 @@ $L$epilogue_shaext: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_aesni_cbc_sha256_enc_shaext: EXTERN __imp_RtlVirtualUnwind diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-x86_64.asm index 823ba771d0a3af..f6027245a377a7 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/aesni-x86_64.asm @@ -907,6 +907,7 @@ $L$SEH_begin_aesni_ccm64_encrypt_blocks: mov r9,QWORD[48+rsp] + lea rsp,[((-88))+rsp] movaps XMMWORD[rsp],xmm6 movaps XMMWORD[16+rsp],xmm7 @@ -983,6 +984,7 @@ $L$ccm64_enc_ret: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_aesni_ccm64_encrypt_blocks: global aesni_ccm64_decrypt_blocks @@ -1000,6 +1002,7 @@ $L$SEH_begin_aesni_ccm64_decrypt_blocks: mov r9,QWORD[48+rsp] + lea rsp,[((-88))+rsp] movaps XMMWORD[rsp],xmm6 movaps XMMWORD[16+rsp],xmm7 @@ -1110,6 +1113,7 @@ $L$ccm64_dec_ret: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_aesni_ccm64_decrypt_blocks: global aesni_ctr32_encrypt_blocks @@ -3019,6 +3023,7 @@ $L$SEH_end_aesni_ocb_encrypt: ALIGN 32 __ocb_encrypt6: + pxor xmm15,xmm9 movdqu xmm11,XMMWORD[r12*1+rbx] movdqa xmm12,xmm10 @@ -3119,8 +3124,10 @@ DB 102,65,15,56,221,255 + ALIGN 32 __ocb_encrypt4: + pxor xmm15,xmm9 movdqu xmm11,XMMWORD[r12*1+rbx] movdqa xmm12,xmm10 @@ -3188,8 +3195,10 @@ DB 102,65,15,56,221,237 + ALIGN 32 __ocb_encrypt1: + pxor xmm7,xmm15 pxor xmm7,xmm9 pxor xmm8,xmm2 @@ -3222,6 +3231,7 @@ DB 102,15,56,221,215 DB 0F3h,0C3h ;repret + global aesni_ocb_decrypt ALIGN 32 @@ -3493,6 +3503,7 @@ $L$SEH_end_aesni_ocb_decrypt: ALIGN 32 __ocb_decrypt6: + pxor xmm15,xmm9 movdqu xmm11,XMMWORD[r12*1+rbx] movdqa xmm12,xmm10 @@ -3587,8 +3598,10 @@ DB 102,65,15,56,223,255 + ALIGN 32 __ocb_decrypt4: + pxor xmm15,xmm9 movdqu xmm11,XMMWORD[r12*1+rbx] movdqa xmm12,xmm10 @@ -3652,8 +3665,10 @@ DB 102,65,15,56,223,237 + ALIGN 32 __ocb_decrypt1: + pxor xmm7,xmm15 pxor xmm7,xmm9 pxor xmm2,xmm7 @@ -3684,6 +3699,7 @@ DB 102,15,56,222,209 DB 102,15,56,223,215 DB 0F3h,0C3h ;repret + global aesni_cbc_encrypt ALIGN 16 @@ -4662,7 +4678,6 @@ $L$enc_key_ret: add rsp,8 DB 0F3h,0C3h ;repret - $L$SEH_end_set_encrypt_key: ALIGN 16 @@ -4735,6 +4750,7 @@ $L$key_expansion_256b: DB 0F3h,0C3h ;repret + ALIGN 64 $L$bswap_mask: DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/bsaes-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/bsaes-x86_64.asm deleted file mode 100644 index 7cccb6a46983c4..00000000000000 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/aes/bsaes-x86_64.asm +++ /dev/null @@ -1,2821 +0,0 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -EXTERN asm_AES_encrypt -EXTERN asm_AES_decrypt - - -ALIGN 64 -_bsaes_encrypt8: - - lea r11,[$L$BS0] - - movdqa xmm8,XMMWORD[rax] - lea rax,[16+rax] - movdqa xmm7,XMMWORD[80+r11] - pxor xmm15,xmm8 - pxor xmm0,xmm8 - pxor xmm1,xmm8 - pxor xmm2,xmm8 -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,xmm8 - pxor xmm4,xmm8 -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,xmm8 - pxor xmm6,xmm8 -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 -_bsaes_encrypt8_bitslice: - movdqa xmm7,XMMWORD[r11] - movdqa xmm8,XMMWORD[16+r11] - movdqa xmm9,xmm5 - psrlq xmm5,1 - movdqa xmm10,xmm3 - psrlq xmm3,1 - pxor xmm5,xmm6 - pxor xmm3,xmm4 - pand xmm5,xmm7 - pand xmm3,xmm7 - pxor xmm6,xmm5 - psllq xmm5,1 - pxor xmm4,xmm3 - psllq xmm3,1 - pxor xmm5,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm1 - psrlq xmm1,1 - movdqa xmm10,xmm15 - psrlq xmm15,1 - pxor xmm1,xmm2 - pxor xmm15,xmm0 - pand xmm1,xmm7 - pand xmm15,xmm7 - pxor xmm2,xmm1 - psllq xmm1,1 - pxor xmm0,xmm15 - psllq xmm15,1 - pxor xmm1,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[32+r11] - movdqa xmm9,xmm4 - psrlq xmm4,2 - movdqa xmm10,xmm3 - psrlq xmm3,2 - pxor xmm4,xmm6 - pxor xmm3,xmm5 - pand xmm4,xmm8 - pand xmm3,xmm8 - pxor xmm6,xmm4 - psllq xmm4,2 - pxor xmm5,xmm3 - psllq xmm3,2 - pxor xmm4,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,2 - movdqa xmm10,xmm15 - psrlq xmm15,2 - pxor xmm0,xmm2 - pxor xmm15,xmm1 - pand xmm0,xmm8 - pand xmm15,xmm8 - pxor xmm2,xmm0 - psllq xmm0,2 - pxor xmm1,xmm15 - psllq xmm15,2 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm9,xmm2 - psrlq xmm2,4 - movdqa xmm10,xmm1 - psrlq xmm1,4 - pxor xmm2,xmm6 - pxor xmm1,xmm5 - pand xmm2,xmm7 - pand xmm1,xmm7 - pxor xmm6,xmm2 - psllq xmm2,4 - pxor xmm5,xmm1 - psllq xmm1,4 - pxor xmm2,xmm9 - pxor xmm1,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,4 - movdqa xmm10,xmm15 - psrlq xmm15,4 - pxor xmm0,xmm4 - pxor xmm15,xmm3 - pand xmm0,xmm7 - pand xmm15,xmm7 - pxor xmm4,xmm0 - psllq xmm0,4 - pxor xmm3,xmm15 - psllq xmm15,4 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - dec r10d - jmp NEAR $L$enc_sbox -ALIGN 16 -$L$enc_loop: - pxor xmm15,XMMWORD[rax] - pxor xmm0,XMMWORD[16+rax] - pxor xmm1,XMMWORD[32+rax] - pxor xmm2,XMMWORD[48+rax] -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,XMMWORD[64+rax] - pxor xmm4,XMMWORD[80+rax] -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,XMMWORD[96+rax] - pxor xmm6,XMMWORD[112+rax] -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 - lea rax,[128+rax] -$L$enc_sbox: - pxor xmm4,xmm5 - pxor xmm1,xmm0 - pxor xmm2,xmm15 - pxor xmm5,xmm1 - pxor xmm4,xmm15 - - pxor xmm5,xmm2 - pxor xmm2,xmm6 - pxor xmm6,xmm4 - pxor xmm2,xmm3 - pxor xmm3,xmm4 - pxor xmm2,xmm0 - - pxor xmm1,xmm6 - pxor xmm0,xmm4 - movdqa xmm10,xmm6 - movdqa xmm9,xmm0 - movdqa xmm8,xmm4 - movdqa xmm12,xmm1 - movdqa xmm11,xmm5 - - pxor xmm10,xmm3 - pxor xmm9,xmm1 - pxor xmm8,xmm2 - movdqa xmm13,xmm10 - pxor xmm12,xmm3 - movdqa xmm7,xmm9 - pxor xmm11,xmm15 - movdqa xmm14,xmm10 - - por xmm9,xmm8 - por xmm10,xmm11 - pxor xmm14,xmm7 - pand xmm13,xmm11 - pxor xmm11,xmm8 - pand xmm7,xmm8 - pand xmm14,xmm11 - movdqa xmm11,xmm2 - pxor xmm11,xmm15 - pand xmm12,xmm11 - pxor xmm10,xmm12 - pxor xmm9,xmm12 - movdqa xmm12,xmm6 - movdqa xmm11,xmm4 - pxor xmm12,xmm0 - pxor xmm11,xmm5 - movdqa xmm8,xmm12 - pand xmm12,xmm11 - por xmm8,xmm11 - pxor xmm7,xmm12 - pxor xmm10,xmm14 - pxor xmm9,xmm13 - pxor xmm8,xmm14 - movdqa xmm11,xmm1 - pxor xmm7,xmm13 - movdqa xmm12,xmm3 - pxor xmm8,xmm13 - movdqa xmm13,xmm0 - pand xmm11,xmm2 - movdqa xmm14,xmm6 - pand xmm12,xmm15 - pand xmm13,xmm4 - por xmm14,xmm5 - pxor xmm10,xmm11 - pxor xmm9,xmm12 - pxor xmm8,xmm13 - pxor xmm7,xmm14 - - - - - - movdqa xmm11,xmm10 - pand xmm10,xmm8 - pxor xmm11,xmm9 - - movdqa xmm13,xmm7 - movdqa xmm14,xmm11 - pxor xmm13,xmm10 - pand xmm14,xmm13 - - movdqa xmm12,xmm8 - pxor xmm14,xmm9 - pxor xmm12,xmm7 - - pxor xmm10,xmm9 - - pand xmm12,xmm10 - - movdqa xmm9,xmm13 - pxor xmm12,xmm7 - - pxor xmm9,xmm12 - pxor xmm8,xmm12 - - pand xmm9,xmm7 - - pxor xmm13,xmm9 - pxor xmm8,xmm9 - - pand xmm13,xmm14 - - pxor xmm13,xmm11 - movdqa xmm11,xmm5 - movdqa xmm7,xmm4 - movdqa xmm9,xmm14 - pxor xmm9,xmm13 - pand xmm9,xmm5 - pxor xmm5,xmm4 - pand xmm4,xmm14 - pand xmm5,xmm13 - pxor xmm5,xmm4 - pxor xmm4,xmm9 - pxor xmm11,xmm15 - pxor xmm7,xmm2 - pxor xmm14,xmm12 - pxor xmm13,xmm8 - movdqa xmm10,xmm14 - movdqa xmm9,xmm12 - pxor xmm10,xmm13 - pxor xmm9,xmm8 - pand xmm10,xmm11 - pand xmm9,xmm15 - pxor xmm11,xmm7 - pxor xmm15,xmm2 - pand xmm7,xmm14 - pand xmm2,xmm12 - pand xmm11,xmm13 - pand xmm15,xmm8 - pxor xmm7,xmm11 - pxor xmm15,xmm2 - pxor xmm11,xmm10 - pxor xmm2,xmm9 - pxor xmm5,xmm11 - pxor xmm15,xmm11 - pxor xmm4,xmm7 - pxor xmm2,xmm7 - - movdqa xmm11,xmm6 - movdqa xmm7,xmm0 - pxor xmm11,xmm3 - pxor xmm7,xmm1 - movdqa xmm10,xmm14 - movdqa xmm9,xmm12 - pxor xmm10,xmm13 - pxor xmm9,xmm8 - pand xmm10,xmm11 - pand xmm9,xmm3 - pxor xmm11,xmm7 - pxor xmm3,xmm1 - pand xmm7,xmm14 - pand xmm1,xmm12 - pand xmm11,xmm13 - pand xmm3,xmm8 - pxor xmm7,xmm11 - pxor xmm3,xmm1 - pxor xmm11,xmm10 - pxor xmm1,xmm9 - pxor xmm14,xmm12 - pxor xmm13,xmm8 - movdqa xmm10,xmm14 - pxor xmm10,xmm13 - pand xmm10,xmm6 - pxor xmm6,xmm0 - pand xmm0,xmm14 - pand xmm6,xmm13 - pxor xmm6,xmm0 - pxor xmm0,xmm10 - pxor xmm6,xmm11 - pxor xmm3,xmm11 - pxor xmm0,xmm7 - pxor xmm1,xmm7 - pxor xmm6,xmm15 - pxor xmm0,xmm5 - pxor xmm3,xmm6 - pxor xmm5,xmm15 - pxor xmm15,xmm0 - - pxor xmm0,xmm4 - pxor xmm4,xmm1 - pxor xmm1,xmm2 - pxor xmm2,xmm4 - pxor xmm3,xmm4 - - pxor xmm5,xmm2 - dec r10d - jl NEAR $L$enc_done - pshufd xmm7,xmm15,0x93 - pshufd xmm8,xmm0,0x93 - pxor xmm15,xmm7 - pshufd xmm9,xmm3,0x93 - pxor xmm0,xmm8 - pshufd xmm10,xmm5,0x93 - pxor xmm3,xmm9 - pshufd xmm11,xmm2,0x93 - pxor xmm5,xmm10 - pshufd xmm12,xmm6,0x93 - pxor xmm2,xmm11 - pshufd xmm13,xmm1,0x93 - pxor xmm6,xmm12 - pshufd xmm14,xmm4,0x93 - pxor xmm1,xmm13 - pxor xmm4,xmm14 - - pxor xmm8,xmm15 - pxor xmm7,xmm4 - pxor xmm8,xmm4 - pshufd xmm15,xmm15,0x4E - pxor xmm9,xmm0 - pshufd xmm0,xmm0,0x4E - pxor xmm12,xmm2 - pxor xmm15,xmm7 - pxor xmm13,xmm6 - pxor xmm0,xmm8 - pxor xmm11,xmm5 - pshufd xmm7,xmm2,0x4E - pxor xmm14,xmm1 - pshufd xmm8,xmm6,0x4E - pxor xmm10,xmm3 - pshufd xmm2,xmm5,0x4E - pxor xmm10,xmm4 - pshufd xmm6,xmm4,0x4E - pxor xmm11,xmm4 - pshufd xmm5,xmm1,0x4E - pxor xmm7,xmm11 - pshufd xmm1,xmm3,0x4E - pxor xmm8,xmm12 - pxor xmm2,xmm10 - pxor xmm6,xmm14 - pxor xmm5,xmm13 - movdqa xmm3,xmm7 - pxor xmm1,xmm9 - movdqa xmm4,xmm8 - movdqa xmm7,XMMWORD[48+r11] - jnz NEAR $L$enc_loop - movdqa xmm7,XMMWORD[64+r11] - jmp NEAR $L$enc_loop -ALIGN 16 -$L$enc_done: - movdqa xmm7,XMMWORD[r11] - movdqa xmm8,XMMWORD[16+r11] - movdqa xmm9,xmm1 - psrlq xmm1,1 - movdqa xmm10,xmm2 - psrlq xmm2,1 - pxor xmm1,xmm4 - pxor xmm2,xmm6 - pand xmm1,xmm7 - pand xmm2,xmm7 - pxor xmm4,xmm1 - psllq xmm1,1 - pxor xmm6,xmm2 - psllq xmm2,1 - pxor xmm1,xmm9 - pxor xmm2,xmm10 - movdqa xmm9,xmm3 - psrlq xmm3,1 - movdqa xmm10,xmm15 - psrlq xmm15,1 - pxor xmm3,xmm5 - pxor xmm15,xmm0 - pand xmm3,xmm7 - pand xmm15,xmm7 - pxor xmm5,xmm3 - psllq xmm3,1 - pxor xmm0,xmm15 - psllq xmm15,1 - pxor xmm3,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[32+r11] - movdqa xmm9,xmm6 - psrlq xmm6,2 - movdqa xmm10,xmm2 - psrlq xmm2,2 - pxor xmm6,xmm4 - pxor xmm2,xmm1 - pand xmm6,xmm8 - pand xmm2,xmm8 - pxor xmm4,xmm6 - psllq xmm6,2 - pxor xmm1,xmm2 - psllq xmm2,2 - pxor xmm6,xmm9 - pxor xmm2,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,2 - movdqa xmm10,xmm15 - psrlq xmm15,2 - pxor xmm0,xmm5 - pxor xmm15,xmm3 - pand xmm0,xmm8 - pand xmm15,xmm8 - pxor xmm5,xmm0 - psllq xmm0,2 - pxor xmm3,xmm15 - psllq xmm15,2 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm9,xmm5 - psrlq xmm5,4 - movdqa xmm10,xmm3 - psrlq xmm3,4 - pxor xmm5,xmm4 - pxor xmm3,xmm1 - pand xmm5,xmm7 - pand xmm3,xmm7 - pxor xmm4,xmm5 - psllq xmm5,4 - pxor xmm1,xmm3 - psllq xmm3,4 - pxor xmm5,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,4 - movdqa xmm10,xmm15 - psrlq xmm15,4 - pxor xmm0,xmm6 - pxor xmm15,xmm2 - pand xmm0,xmm7 - pand xmm15,xmm7 - pxor xmm6,xmm0 - psllq xmm0,4 - pxor xmm2,xmm15 - psllq xmm15,4 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[rax] - pxor xmm3,xmm7 - pxor xmm5,xmm7 - pxor xmm2,xmm7 - pxor xmm6,xmm7 - pxor xmm1,xmm7 - pxor xmm4,xmm7 - pxor xmm15,xmm7 - pxor xmm0,xmm7 - DB 0F3h,0C3h ;repret - - - - -ALIGN 64 -_bsaes_decrypt8: - - lea r11,[$L$BS0] - - movdqa xmm8,XMMWORD[rax] - lea rax,[16+rax] - movdqa xmm7,XMMWORD[((-48))+r11] - pxor xmm15,xmm8 - pxor xmm0,xmm8 - pxor xmm1,xmm8 - pxor xmm2,xmm8 -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,xmm8 - pxor xmm4,xmm8 -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,xmm8 - pxor xmm6,xmm8 -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 - movdqa xmm7,XMMWORD[r11] - movdqa xmm8,XMMWORD[16+r11] - movdqa xmm9,xmm5 - psrlq xmm5,1 - movdqa xmm10,xmm3 - psrlq xmm3,1 - pxor xmm5,xmm6 - pxor xmm3,xmm4 - pand xmm5,xmm7 - pand xmm3,xmm7 - pxor xmm6,xmm5 - psllq xmm5,1 - pxor xmm4,xmm3 - psllq xmm3,1 - pxor xmm5,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm1 - psrlq xmm1,1 - movdqa xmm10,xmm15 - psrlq xmm15,1 - pxor xmm1,xmm2 - pxor xmm15,xmm0 - pand xmm1,xmm7 - pand xmm15,xmm7 - pxor xmm2,xmm1 - psllq xmm1,1 - pxor xmm0,xmm15 - psllq xmm15,1 - pxor xmm1,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[32+r11] - movdqa xmm9,xmm4 - psrlq xmm4,2 - movdqa xmm10,xmm3 - psrlq xmm3,2 - pxor xmm4,xmm6 - pxor xmm3,xmm5 - pand xmm4,xmm8 - pand xmm3,xmm8 - pxor xmm6,xmm4 - psllq xmm4,2 - pxor xmm5,xmm3 - psllq xmm3,2 - pxor xmm4,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,2 - movdqa xmm10,xmm15 - psrlq xmm15,2 - pxor xmm0,xmm2 - pxor xmm15,xmm1 - pand xmm0,xmm8 - pand xmm15,xmm8 - pxor xmm2,xmm0 - psllq xmm0,2 - pxor xmm1,xmm15 - psllq xmm15,2 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm9,xmm2 - psrlq xmm2,4 - movdqa xmm10,xmm1 - psrlq xmm1,4 - pxor xmm2,xmm6 - pxor xmm1,xmm5 - pand xmm2,xmm7 - pand xmm1,xmm7 - pxor xmm6,xmm2 - psllq xmm2,4 - pxor xmm5,xmm1 - psllq xmm1,4 - pxor xmm2,xmm9 - pxor xmm1,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,4 - movdqa xmm10,xmm15 - psrlq xmm15,4 - pxor xmm0,xmm4 - pxor xmm15,xmm3 - pand xmm0,xmm7 - pand xmm15,xmm7 - pxor xmm4,xmm0 - psllq xmm0,4 - pxor xmm3,xmm15 - psllq xmm15,4 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - dec r10d - jmp NEAR $L$dec_sbox -ALIGN 16 -$L$dec_loop: - pxor xmm15,XMMWORD[rax] - pxor xmm0,XMMWORD[16+rax] - pxor xmm1,XMMWORD[32+rax] - pxor xmm2,XMMWORD[48+rax] -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,XMMWORD[64+rax] - pxor xmm4,XMMWORD[80+rax] -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,XMMWORD[96+rax] - pxor xmm6,XMMWORD[112+rax] -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 - lea rax,[128+rax] -$L$dec_sbox: - pxor xmm2,xmm3 - - pxor xmm3,xmm6 - pxor xmm1,xmm6 - pxor xmm5,xmm3 - pxor xmm6,xmm5 - pxor xmm0,xmm6 - - pxor xmm15,xmm0 - pxor xmm1,xmm4 - pxor xmm2,xmm15 - pxor xmm4,xmm15 - pxor xmm0,xmm2 - movdqa xmm10,xmm2 - movdqa xmm9,xmm6 - movdqa xmm8,xmm0 - movdqa xmm12,xmm3 - movdqa xmm11,xmm4 - - pxor xmm10,xmm15 - pxor xmm9,xmm3 - pxor xmm8,xmm5 - movdqa xmm13,xmm10 - pxor xmm12,xmm15 - movdqa xmm7,xmm9 - pxor xmm11,xmm1 - movdqa xmm14,xmm10 - - por xmm9,xmm8 - por xmm10,xmm11 - pxor xmm14,xmm7 - pand xmm13,xmm11 - pxor xmm11,xmm8 - pand xmm7,xmm8 - pand xmm14,xmm11 - movdqa xmm11,xmm5 - pxor xmm11,xmm1 - pand xmm12,xmm11 - pxor xmm10,xmm12 - pxor xmm9,xmm12 - movdqa xmm12,xmm2 - movdqa xmm11,xmm0 - pxor xmm12,xmm6 - pxor xmm11,xmm4 - movdqa xmm8,xmm12 - pand xmm12,xmm11 - por xmm8,xmm11 - pxor xmm7,xmm12 - pxor xmm10,xmm14 - pxor xmm9,xmm13 - pxor xmm8,xmm14 - movdqa xmm11,xmm3 - pxor xmm7,xmm13 - movdqa xmm12,xmm15 - pxor xmm8,xmm13 - movdqa xmm13,xmm6 - pand xmm11,xmm5 - movdqa xmm14,xmm2 - pand xmm12,xmm1 - pand xmm13,xmm0 - por xmm14,xmm4 - pxor xmm10,xmm11 - pxor xmm9,xmm12 - pxor xmm8,xmm13 - pxor xmm7,xmm14 - - - - - - movdqa xmm11,xmm10 - pand xmm10,xmm8 - pxor xmm11,xmm9 - - movdqa xmm13,xmm7 - movdqa xmm14,xmm11 - pxor xmm13,xmm10 - pand xmm14,xmm13 - - movdqa xmm12,xmm8 - pxor xmm14,xmm9 - pxor xmm12,xmm7 - - pxor xmm10,xmm9 - - pand xmm12,xmm10 - - movdqa xmm9,xmm13 - pxor xmm12,xmm7 - - pxor xmm9,xmm12 - pxor xmm8,xmm12 - - pand xmm9,xmm7 - - pxor xmm13,xmm9 - pxor xmm8,xmm9 - - pand xmm13,xmm14 - - pxor xmm13,xmm11 - movdqa xmm11,xmm4 - movdqa xmm7,xmm0 - movdqa xmm9,xmm14 - pxor xmm9,xmm13 - pand xmm9,xmm4 - pxor xmm4,xmm0 - pand xmm0,xmm14 - pand xmm4,xmm13 - pxor xmm4,xmm0 - pxor xmm0,xmm9 - pxor xmm11,xmm1 - pxor xmm7,xmm5 - pxor xmm14,xmm12 - pxor xmm13,xmm8 - movdqa xmm10,xmm14 - movdqa xmm9,xmm12 - pxor xmm10,xmm13 - pxor xmm9,xmm8 - pand xmm10,xmm11 - pand xmm9,xmm1 - pxor xmm11,xmm7 - pxor xmm1,xmm5 - pand xmm7,xmm14 - pand xmm5,xmm12 - pand xmm11,xmm13 - pand xmm1,xmm8 - pxor xmm7,xmm11 - pxor xmm1,xmm5 - pxor xmm11,xmm10 - pxor xmm5,xmm9 - pxor xmm4,xmm11 - pxor xmm1,xmm11 - pxor xmm0,xmm7 - pxor xmm5,xmm7 - - movdqa xmm11,xmm2 - movdqa xmm7,xmm6 - pxor xmm11,xmm15 - pxor xmm7,xmm3 - movdqa xmm10,xmm14 - movdqa xmm9,xmm12 - pxor xmm10,xmm13 - pxor xmm9,xmm8 - pand xmm10,xmm11 - pand xmm9,xmm15 - pxor xmm11,xmm7 - pxor xmm15,xmm3 - pand xmm7,xmm14 - pand xmm3,xmm12 - pand xmm11,xmm13 - pand xmm15,xmm8 - pxor xmm7,xmm11 - pxor xmm15,xmm3 - pxor xmm11,xmm10 - pxor xmm3,xmm9 - pxor xmm14,xmm12 - pxor xmm13,xmm8 - movdqa xmm10,xmm14 - pxor xmm10,xmm13 - pand xmm10,xmm2 - pxor xmm2,xmm6 - pand xmm6,xmm14 - pand xmm2,xmm13 - pxor xmm2,xmm6 - pxor xmm6,xmm10 - pxor xmm2,xmm11 - pxor xmm15,xmm11 - pxor xmm6,xmm7 - pxor xmm3,xmm7 - pxor xmm0,xmm6 - pxor xmm5,xmm4 - - pxor xmm3,xmm0 - pxor xmm1,xmm6 - pxor xmm4,xmm6 - pxor xmm3,xmm1 - pxor xmm6,xmm15 - pxor xmm3,xmm4 - pxor xmm2,xmm5 - pxor xmm5,xmm0 - pxor xmm2,xmm3 - - pxor xmm3,xmm15 - pxor xmm6,xmm2 - dec r10d - jl NEAR $L$dec_done - - pshufd xmm7,xmm15,0x4E - pshufd xmm13,xmm2,0x4E - pxor xmm7,xmm15 - pshufd xmm14,xmm4,0x4E - pxor xmm13,xmm2 - pshufd xmm8,xmm0,0x4E - pxor xmm14,xmm4 - pshufd xmm9,xmm5,0x4E - pxor xmm8,xmm0 - pshufd xmm10,xmm3,0x4E - pxor xmm9,xmm5 - pxor xmm15,xmm13 - pxor xmm0,xmm13 - pshufd xmm11,xmm1,0x4E - pxor xmm10,xmm3 - pxor xmm5,xmm7 - pxor xmm3,xmm8 - pshufd xmm12,xmm6,0x4E - pxor xmm11,xmm1 - pxor xmm0,xmm14 - pxor xmm1,xmm9 - pxor xmm12,xmm6 - - pxor xmm5,xmm14 - pxor xmm3,xmm13 - pxor xmm1,xmm13 - pxor xmm6,xmm10 - pxor xmm2,xmm11 - pxor xmm1,xmm14 - pxor xmm6,xmm14 - pxor xmm4,xmm12 - pshufd xmm7,xmm15,0x93 - pshufd xmm8,xmm0,0x93 - pxor xmm15,xmm7 - pshufd xmm9,xmm5,0x93 - pxor xmm0,xmm8 - pshufd xmm10,xmm3,0x93 - pxor xmm5,xmm9 - pshufd xmm11,xmm1,0x93 - pxor xmm3,xmm10 - pshufd xmm12,xmm6,0x93 - pxor xmm1,xmm11 - pshufd xmm13,xmm2,0x93 - pxor xmm6,xmm12 - pshufd xmm14,xmm4,0x93 - pxor xmm2,xmm13 - pxor xmm4,xmm14 - - pxor xmm8,xmm15 - pxor xmm7,xmm4 - pxor xmm8,xmm4 - pshufd xmm15,xmm15,0x4E - pxor xmm9,xmm0 - pshufd xmm0,xmm0,0x4E - pxor xmm12,xmm1 - pxor xmm15,xmm7 - pxor xmm13,xmm6 - pxor xmm0,xmm8 - pxor xmm11,xmm3 - pshufd xmm7,xmm1,0x4E - pxor xmm14,xmm2 - pshufd xmm8,xmm6,0x4E - pxor xmm10,xmm5 - pshufd xmm1,xmm3,0x4E - pxor xmm10,xmm4 - pshufd xmm6,xmm4,0x4E - pxor xmm11,xmm4 - pshufd xmm3,xmm2,0x4E - pxor xmm7,xmm11 - pshufd xmm2,xmm5,0x4E - pxor xmm8,xmm12 - pxor xmm10,xmm1 - pxor xmm6,xmm14 - pxor xmm13,xmm3 - movdqa xmm3,xmm7 - pxor xmm2,xmm9 - movdqa xmm5,xmm13 - movdqa xmm4,xmm8 - movdqa xmm1,xmm2 - movdqa xmm2,xmm10 - movdqa xmm7,XMMWORD[((-16))+r11] - jnz NEAR $L$dec_loop - movdqa xmm7,XMMWORD[((-32))+r11] - jmp NEAR $L$dec_loop -ALIGN 16 -$L$dec_done: - movdqa xmm7,XMMWORD[r11] - movdqa xmm8,XMMWORD[16+r11] - movdqa xmm9,xmm2 - psrlq xmm2,1 - movdqa xmm10,xmm1 - psrlq xmm1,1 - pxor xmm2,xmm4 - pxor xmm1,xmm6 - pand xmm2,xmm7 - pand xmm1,xmm7 - pxor xmm4,xmm2 - psllq xmm2,1 - pxor xmm6,xmm1 - psllq xmm1,1 - pxor xmm2,xmm9 - pxor xmm1,xmm10 - movdqa xmm9,xmm5 - psrlq xmm5,1 - movdqa xmm10,xmm15 - psrlq xmm15,1 - pxor xmm5,xmm3 - pxor xmm15,xmm0 - pand xmm5,xmm7 - pand xmm15,xmm7 - pxor xmm3,xmm5 - psllq xmm5,1 - pxor xmm0,xmm15 - psllq xmm15,1 - pxor xmm5,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[32+r11] - movdqa xmm9,xmm6 - psrlq xmm6,2 - movdqa xmm10,xmm1 - psrlq xmm1,2 - pxor xmm6,xmm4 - pxor xmm1,xmm2 - pand xmm6,xmm8 - pand xmm1,xmm8 - pxor xmm4,xmm6 - psllq xmm6,2 - pxor xmm2,xmm1 - psllq xmm1,2 - pxor xmm6,xmm9 - pxor xmm1,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,2 - movdqa xmm10,xmm15 - psrlq xmm15,2 - pxor xmm0,xmm3 - pxor xmm15,xmm5 - pand xmm0,xmm8 - pand xmm15,xmm8 - pxor xmm3,xmm0 - psllq xmm0,2 - pxor xmm5,xmm15 - psllq xmm15,2 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm9,xmm3 - psrlq xmm3,4 - movdqa xmm10,xmm5 - psrlq xmm5,4 - pxor xmm3,xmm4 - pxor xmm5,xmm2 - pand xmm3,xmm7 - pand xmm5,xmm7 - pxor xmm4,xmm3 - psllq xmm3,4 - pxor xmm2,xmm5 - psllq xmm5,4 - pxor xmm3,xmm9 - pxor xmm5,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,4 - movdqa xmm10,xmm15 - psrlq xmm15,4 - pxor xmm0,xmm6 - pxor xmm15,xmm1 - pand xmm0,xmm7 - pand xmm15,xmm7 - pxor xmm6,xmm0 - psllq xmm0,4 - pxor xmm1,xmm15 - psllq xmm15,4 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[rax] - pxor xmm5,xmm7 - pxor xmm3,xmm7 - pxor xmm1,xmm7 - pxor xmm6,xmm7 - pxor xmm2,xmm7 - pxor xmm4,xmm7 - pxor xmm15,xmm7 - pxor xmm0,xmm7 - DB 0F3h,0C3h ;repret - - - -ALIGN 16 -_bsaes_key_convert: - - lea r11,[$L$masks] - movdqu xmm7,XMMWORD[rcx] - lea rcx,[16+rcx] - movdqa xmm0,XMMWORD[r11] - movdqa xmm1,XMMWORD[16+r11] - movdqa xmm2,XMMWORD[32+r11] - movdqa xmm3,XMMWORD[48+r11] - movdqa xmm4,XMMWORD[64+r11] - pcmpeqd xmm5,xmm5 - - movdqu xmm6,XMMWORD[rcx] - movdqa XMMWORD[rax],xmm7 - lea rax,[16+rax] - dec r10d - jmp NEAR $L$key_loop -ALIGN 16 -$L$key_loop: -DB 102,15,56,0,244 - - movdqa xmm8,xmm0 - movdqa xmm9,xmm1 - - pand xmm8,xmm6 - pand xmm9,xmm6 - movdqa xmm10,xmm2 - pcmpeqb xmm8,xmm0 - psllq xmm0,4 - movdqa xmm11,xmm3 - pcmpeqb xmm9,xmm1 - psllq xmm1,4 - - pand xmm10,xmm6 - pand xmm11,xmm6 - movdqa xmm12,xmm0 - pcmpeqb xmm10,xmm2 - psllq xmm2,4 - movdqa xmm13,xmm1 - pcmpeqb xmm11,xmm3 - psllq xmm3,4 - - movdqa xmm14,xmm2 - movdqa xmm15,xmm3 - pxor xmm8,xmm5 - pxor xmm9,xmm5 - - pand xmm12,xmm6 - pand xmm13,xmm6 - movdqa XMMWORD[rax],xmm8 - pcmpeqb xmm12,xmm0 - psrlq xmm0,4 - movdqa XMMWORD[16+rax],xmm9 - pcmpeqb xmm13,xmm1 - psrlq xmm1,4 - lea rcx,[16+rcx] - - pand xmm14,xmm6 - pand xmm15,xmm6 - movdqa XMMWORD[32+rax],xmm10 - pcmpeqb xmm14,xmm2 - psrlq xmm2,4 - movdqa XMMWORD[48+rax],xmm11 - pcmpeqb xmm15,xmm3 - psrlq xmm3,4 - movdqu xmm6,XMMWORD[rcx] - - pxor xmm13,xmm5 - pxor xmm14,xmm5 - movdqa XMMWORD[64+rax],xmm12 - movdqa XMMWORD[80+rax],xmm13 - movdqa XMMWORD[96+rax],xmm14 - movdqa XMMWORD[112+rax],xmm15 - lea rax,[128+rax] - dec r10d - jnz NEAR $L$key_loop - - movdqa xmm7,XMMWORD[80+r11] - - DB 0F3h,0C3h ;repret - - -EXTERN asm_AES_cbc_encrypt -global bsaes_cbc_encrypt - -ALIGN 16 -bsaes_cbc_encrypt: - - mov r11d,DWORD[48+rsp] - cmp r11d,0 - jne NEAR asm_AES_cbc_encrypt - cmp r8,128 - jb NEAR asm_AES_cbc_encrypt - - mov rax,rsp -$L$cbc_dec_prologue: - push rbp - - push rbx - - push r12 - - push r13 - - push r14 - - push r15 - - lea rsp,[((-72))+rsp] - - mov r10,QWORD[160+rsp] - lea rsp,[((-160))+rsp] - movaps XMMWORD[64+rsp],xmm6 - movaps XMMWORD[80+rsp],xmm7 - movaps XMMWORD[96+rsp],xmm8 - movaps XMMWORD[112+rsp],xmm9 - movaps XMMWORD[128+rsp],xmm10 - movaps XMMWORD[144+rsp],xmm11 - movaps XMMWORD[160+rsp],xmm12 - movaps XMMWORD[176+rsp],xmm13 - movaps XMMWORD[192+rsp],xmm14 - movaps XMMWORD[208+rsp],xmm15 -$L$cbc_dec_body: - mov rbp,rsp - - mov eax,DWORD[240+r9] - mov r12,rcx - mov r13,rdx - mov r14,r8 - mov r15,r9 - mov rbx,r10 - shr r14,4 - - mov edx,eax - shl rax,7 - sub rax,96 - sub rsp,rax - - mov rax,rsp - mov rcx,r15 - mov r10d,edx - call _bsaes_key_convert - pxor xmm7,XMMWORD[rsp] - movdqa XMMWORD[rax],xmm6 - movdqa XMMWORD[rsp],xmm7 - - movdqu xmm14,XMMWORD[rbx] - sub r14,8 -$L$cbc_dec_loop: - movdqu xmm15,XMMWORD[r12] - movdqu xmm0,XMMWORD[16+r12] - movdqu xmm1,XMMWORD[32+r12] - movdqu xmm2,XMMWORD[48+r12] - movdqu xmm3,XMMWORD[64+r12] - movdqu xmm4,XMMWORD[80+r12] - mov rax,rsp - movdqu xmm5,XMMWORD[96+r12] - mov r10d,edx - movdqu xmm6,XMMWORD[112+r12] - movdqa XMMWORD[32+rbp],xmm14 - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm1,xmm10 - movdqu xmm12,XMMWORD[80+r12] - pxor xmm6,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm2,xmm12 - movdqu xmm14,XMMWORD[112+r12] - pxor xmm4,xmm13 - movdqu XMMWORD[r13],xmm15 - lea r12,[128+r12] - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - movdqu XMMWORD[80+r13],xmm6 - movdqu XMMWORD[96+r13],xmm2 - movdqu XMMWORD[112+r13],xmm4 - lea r13,[128+r13] - sub r14,8 - jnc NEAR $L$cbc_dec_loop - - add r14,8 - jz NEAR $L$cbc_dec_done - - movdqu xmm15,XMMWORD[r12] - mov rax,rsp - mov r10d,edx - cmp r14,2 - jb NEAR $L$cbc_dec_one - movdqu xmm0,XMMWORD[16+r12] - je NEAR $L$cbc_dec_two - movdqu xmm1,XMMWORD[32+r12] - cmp r14,4 - jb NEAR $L$cbc_dec_three - movdqu xmm2,XMMWORD[48+r12] - je NEAR $L$cbc_dec_four - movdqu xmm3,XMMWORD[64+r12] - cmp r14,6 - jb NEAR $L$cbc_dec_five - movdqu xmm4,XMMWORD[80+r12] - je NEAR $L$cbc_dec_six - movdqu xmm5,XMMWORD[96+r12] - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm1,xmm10 - movdqu xmm12,XMMWORD[80+r12] - pxor xmm6,xmm11 - movdqu xmm14,XMMWORD[96+r12] - pxor xmm2,xmm12 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - movdqu XMMWORD[80+r13],xmm6 - movdqu XMMWORD[96+r13],xmm2 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_six: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm1,xmm10 - movdqu xmm14,XMMWORD[80+r12] - pxor xmm6,xmm11 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - movdqu XMMWORD[80+r13],xmm6 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_five: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu xmm14,XMMWORD[64+r12] - pxor xmm1,xmm10 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_four: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm14,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_three: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm14,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_two: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm14,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_one: - lea rcx,[r12] - lea rdx,[32+rbp] - lea r8,[r15] - call asm_AES_decrypt - pxor xmm14,XMMWORD[32+rbp] - movdqu XMMWORD[r13],xmm14 - movdqa xmm14,xmm15 - -$L$cbc_dec_done: - movdqu XMMWORD[rbx],xmm14 - lea rax,[rsp] - pxor xmm0,xmm0 -$L$cbc_dec_bzero: - movdqa XMMWORD[rax],xmm0 - movdqa XMMWORD[16+rax],xmm0 - lea rax,[32+rax] - cmp rbp,rax - ja NEAR $L$cbc_dec_bzero - - lea rax,[120+rbp] - - movaps xmm6,XMMWORD[64+rbp] - movaps xmm7,XMMWORD[80+rbp] - movaps xmm8,XMMWORD[96+rbp] - movaps xmm9,XMMWORD[112+rbp] - movaps xmm10,XMMWORD[128+rbp] - movaps xmm11,XMMWORD[144+rbp] - movaps xmm12,XMMWORD[160+rbp] - movaps xmm13,XMMWORD[176+rbp] - movaps xmm14,XMMWORD[192+rbp] - movaps xmm15,XMMWORD[208+rbp] - lea rax,[160+rax] -$L$cbc_dec_tail: - mov r15,QWORD[((-48))+rax] - - mov r14,QWORD[((-40))+rax] - - mov r13,QWORD[((-32))+rax] - - mov r12,QWORD[((-24))+rax] - - mov rbx,QWORD[((-16))+rax] - - mov rbp,QWORD[((-8))+rax] - - lea rsp,[rax] - -$L$cbc_dec_epilogue: - DB 0F3h,0C3h ;repret - - - -global bsaes_ctr32_encrypt_blocks - -ALIGN 16 -bsaes_ctr32_encrypt_blocks: - - mov rax,rsp -$L$ctr_enc_prologue: - push rbp - - push rbx - - push r12 - - push r13 - - push r14 - - push r15 - - lea rsp,[((-72))+rsp] - - mov r10,QWORD[160+rsp] - lea rsp,[((-160))+rsp] - movaps XMMWORD[64+rsp],xmm6 - movaps XMMWORD[80+rsp],xmm7 - movaps XMMWORD[96+rsp],xmm8 - movaps XMMWORD[112+rsp],xmm9 - movaps XMMWORD[128+rsp],xmm10 - movaps XMMWORD[144+rsp],xmm11 - movaps XMMWORD[160+rsp],xmm12 - movaps XMMWORD[176+rsp],xmm13 - movaps XMMWORD[192+rsp],xmm14 - movaps XMMWORD[208+rsp],xmm15 -$L$ctr_enc_body: - mov rbp,rsp - - movdqu xmm0,XMMWORD[r10] - mov eax,DWORD[240+r9] - mov r12,rcx - mov r13,rdx - mov r14,r8 - mov r15,r9 - movdqa XMMWORD[32+rbp],xmm0 - cmp r8,8 - jb NEAR $L$ctr_enc_short - - mov ebx,eax - shl rax,7 - sub rax,96 - sub rsp,rax - - mov rax,rsp - mov rcx,r15 - mov r10d,ebx - call _bsaes_key_convert - pxor xmm7,xmm6 - movdqa XMMWORD[rax],xmm7 - - movdqa xmm8,XMMWORD[rsp] - lea r11,[$L$ADD1] - movdqa xmm15,XMMWORD[32+rbp] - movdqa xmm7,XMMWORD[((-32))+r11] -DB 102,68,15,56,0,199 -DB 102,68,15,56,0,255 - movdqa XMMWORD[rsp],xmm8 - jmp NEAR $L$ctr_enc_loop -ALIGN 16 -$L$ctr_enc_loop: - movdqa XMMWORD[32+rbp],xmm15 - movdqa xmm0,xmm15 - movdqa xmm1,xmm15 - paddd xmm0,XMMWORD[r11] - movdqa xmm2,xmm15 - paddd xmm1,XMMWORD[16+r11] - movdqa xmm3,xmm15 - paddd xmm2,XMMWORD[32+r11] - movdqa xmm4,xmm15 - paddd xmm3,XMMWORD[48+r11] - movdqa xmm5,xmm15 - paddd xmm4,XMMWORD[64+r11] - movdqa xmm6,xmm15 - paddd xmm5,XMMWORD[80+r11] - paddd xmm6,XMMWORD[96+r11] - - - - movdqa xmm8,XMMWORD[rsp] - lea rax,[16+rsp] - movdqa xmm7,XMMWORD[((-16))+r11] - pxor xmm15,xmm8 - pxor xmm0,xmm8 - pxor xmm1,xmm8 - pxor xmm2,xmm8 -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,xmm8 - pxor xmm4,xmm8 -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,xmm8 - pxor xmm6,xmm8 -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 - lea r11,[$L$BS0] - mov r10d,ebx - - call _bsaes_encrypt8_bitslice - - sub r14,8 - jc NEAR $L$ctr_enc_loop_done - - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - movdqu xmm9,XMMWORD[32+r12] - movdqu xmm10,XMMWORD[48+r12] - movdqu xmm11,XMMWORD[64+r12] - movdqu xmm12,XMMWORD[80+r12] - movdqu xmm13,XMMWORD[96+r12] - movdqu xmm14,XMMWORD[112+r12] - lea r12,[128+r12] - pxor xmm7,xmm15 - movdqa xmm15,XMMWORD[32+rbp] - pxor xmm0,xmm8 - movdqu XMMWORD[r13],xmm7 - pxor xmm3,xmm9 - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,xmm10 - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,xmm11 - movdqu XMMWORD[48+r13],xmm5 - pxor xmm6,xmm12 - movdqu XMMWORD[64+r13],xmm2 - pxor xmm1,xmm13 - movdqu XMMWORD[80+r13],xmm6 - pxor xmm4,xmm14 - movdqu XMMWORD[96+r13],xmm1 - lea r11,[$L$ADD1] - movdqu XMMWORD[112+r13],xmm4 - lea r13,[128+r13] - paddd xmm15,XMMWORD[112+r11] - jnz NEAR $L$ctr_enc_loop - - jmp NEAR $L$ctr_enc_done -ALIGN 16 -$L$ctr_enc_loop_done: - add r14,8 - movdqu xmm7,XMMWORD[r12] - pxor xmm15,xmm7 - movdqu XMMWORD[r13],xmm15 - cmp r14,2 - jb NEAR $L$ctr_enc_done - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm8 - movdqu XMMWORD[16+r13],xmm0 - je NEAR $L$ctr_enc_done - movdqu xmm9,XMMWORD[32+r12] - pxor xmm3,xmm9 - movdqu XMMWORD[32+r13],xmm3 - cmp r14,4 - jb NEAR $L$ctr_enc_done - movdqu xmm10,XMMWORD[48+r12] - pxor xmm5,xmm10 - movdqu XMMWORD[48+r13],xmm5 - je NEAR $L$ctr_enc_done - movdqu xmm11,XMMWORD[64+r12] - pxor xmm2,xmm11 - movdqu XMMWORD[64+r13],xmm2 - cmp r14,6 - jb NEAR $L$ctr_enc_done - movdqu xmm12,XMMWORD[80+r12] - pxor xmm6,xmm12 - movdqu XMMWORD[80+r13],xmm6 - je NEAR $L$ctr_enc_done - movdqu xmm13,XMMWORD[96+r12] - pxor xmm1,xmm13 - movdqu XMMWORD[96+r13],xmm1 - jmp NEAR $L$ctr_enc_done - -ALIGN 16 -$L$ctr_enc_short: - lea rcx,[32+rbp] - lea rdx,[48+rbp] - lea r8,[r15] - call asm_AES_encrypt - movdqu xmm0,XMMWORD[r12] - lea r12,[16+r12] - mov eax,DWORD[44+rbp] - bswap eax - pxor xmm0,XMMWORD[48+rbp] - inc eax - movdqu XMMWORD[r13],xmm0 - bswap eax - lea r13,[16+r13] - mov DWORD[44+rsp],eax - dec r14 - jnz NEAR $L$ctr_enc_short - -$L$ctr_enc_done: - lea rax,[rsp] - pxor xmm0,xmm0 -$L$ctr_enc_bzero: - movdqa XMMWORD[rax],xmm0 - movdqa XMMWORD[16+rax],xmm0 - lea rax,[32+rax] - cmp rbp,rax - ja NEAR $L$ctr_enc_bzero - - lea rax,[120+rbp] - - movaps xmm6,XMMWORD[64+rbp] - movaps xmm7,XMMWORD[80+rbp] - movaps xmm8,XMMWORD[96+rbp] - movaps xmm9,XMMWORD[112+rbp] - movaps xmm10,XMMWORD[128+rbp] - movaps xmm11,XMMWORD[144+rbp] - movaps xmm12,XMMWORD[160+rbp] - movaps xmm13,XMMWORD[176+rbp] - movaps xmm14,XMMWORD[192+rbp] - movaps xmm15,XMMWORD[208+rbp] - lea rax,[160+rax] -$L$ctr_enc_tail: - mov r15,QWORD[((-48))+rax] - - mov r14,QWORD[((-40))+rax] - - mov r13,QWORD[((-32))+rax] - - mov r12,QWORD[((-24))+rax] - - mov rbx,QWORD[((-16))+rax] - - mov rbp,QWORD[((-8))+rax] - - lea rsp,[rax] - -$L$ctr_enc_epilogue: - DB 0F3h,0C3h ;repret - - -global bsaes_xts_encrypt - -ALIGN 16 -bsaes_xts_encrypt: - - mov rax,rsp -$L$xts_enc_prologue: - push rbp - - push rbx - - push r12 - - push r13 - - push r14 - - push r15 - - lea rsp,[((-72))+rsp] - - mov r10,QWORD[160+rsp] - mov r11,QWORD[168+rsp] - lea rsp,[((-160))+rsp] - movaps XMMWORD[64+rsp],xmm6 - movaps XMMWORD[80+rsp],xmm7 - movaps XMMWORD[96+rsp],xmm8 - movaps XMMWORD[112+rsp],xmm9 - movaps XMMWORD[128+rsp],xmm10 - movaps XMMWORD[144+rsp],xmm11 - movaps XMMWORD[160+rsp],xmm12 - movaps XMMWORD[176+rsp],xmm13 - movaps XMMWORD[192+rsp],xmm14 - movaps XMMWORD[208+rsp],xmm15 -$L$xts_enc_body: - mov rbp,rsp - - mov r12,rcx - mov r13,rdx - mov r14,r8 - mov r15,r9 - - lea rcx,[r11] - lea rdx,[32+rbp] - lea r8,[r10] - call asm_AES_encrypt - - mov eax,DWORD[240+r15] - mov rbx,r14 - - mov edx,eax - shl rax,7 - sub rax,96 - sub rsp,rax - - mov rax,rsp - mov rcx,r15 - mov r10d,edx - call _bsaes_key_convert - pxor xmm7,xmm6 - movdqa XMMWORD[rax],xmm7 - - and r14,-16 - sub rsp,0x80 - movdqa xmm6,XMMWORD[32+rbp] - - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - - sub r14,0x80 - jc NEAR $L$xts_enc_short - jmp NEAR $L$xts_enc_loop - -ALIGN 16 -$L$xts_enc_loop: - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm15,xmm6 - movdqa XMMWORD[rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm0,xmm6 - movdqa XMMWORD[16+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm7,XMMWORD[r12] - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm1,xmm6 - movdqa XMMWORD[32+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm8,XMMWORD[16+r12] - pxor xmm15,xmm7 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm2,xmm6 - movdqa XMMWORD[48+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm0,xmm8 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm3,xmm6 - movdqa XMMWORD[64+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm1,xmm9 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm4,xmm6 - movdqa XMMWORD[80+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm2,xmm10 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm5,xmm6 - movdqa XMMWORD[96+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm12,XMMWORD[80+r12] - pxor xmm3,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm4,xmm12 - movdqu xmm14,XMMWORD[112+r12] - lea r12,[128+r12] - movdqa XMMWORD[112+rsp],xmm6 - pxor xmm5,xmm13 - lea rax,[128+rsp] - pxor xmm6,xmm14 - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm5 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm2 - pxor xmm1,XMMWORD[96+rsp] - movdqu XMMWORD[80+r13],xmm6 - pxor xmm4,XMMWORD[112+rsp] - movdqu XMMWORD[96+r13],xmm1 - movdqu XMMWORD[112+r13],xmm4 - lea r13,[128+r13] - - movdqa xmm6,XMMWORD[112+rsp] - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - - sub r14,0x80 - jnc NEAR $L$xts_enc_loop - -$L$xts_enc_short: - add r14,0x80 - jz NEAR $L$xts_enc_done - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm15,xmm6 - movdqa XMMWORD[rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm0,xmm6 - movdqa XMMWORD[16+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm7,XMMWORD[r12] - cmp r14,16 - je NEAR $L$xts_enc_1 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm1,xmm6 - movdqa XMMWORD[32+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm8,XMMWORD[16+r12] - cmp r14,32 - je NEAR $L$xts_enc_2 - pxor xmm15,xmm7 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm2,xmm6 - movdqa XMMWORD[48+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm9,XMMWORD[32+r12] - cmp r14,48 - je NEAR $L$xts_enc_3 - pxor xmm0,xmm8 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm3,xmm6 - movdqa XMMWORD[64+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm10,XMMWORD[48+r12] - cmp r14,64 - je NEAR $L$xts_enc_4 - pxor xmm1,xmm9 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm4,xmm6 - movdqa XMMWORD[80+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm11,XMMWORD[64+r12] - cmp r14,80 - je NEAR $L$xts_enc_5 - pxor xmm2,xmm10 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm5,xmm6 - movdqa XMMWORD[96+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm12,XMMWORD[80+r12] - cmp r14,96 - je NEAR $L$xts_enc_6 - pxor xmm3,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm4,xmm12 - movdqa XMMWORD[112+rsp],xmm6 - lea r12,[112+r12] - pxor xmm5,xmm13 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm5 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm2 - pxor xmm1,XMMWORD[96+rsp] - movdqu XMMWORD[80+r13],xmm6 - movdqu XMMWORD[96+r13],xmm1 - lea r13,[112+r13] - - movdqa xmm6,XMMWORD[112+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_6: - pxor xmm3,xmm11 - lea r12,[96+r12] - pxor xmm4,xmm12 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm5 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm2 - movdqu XMMWORD[80+r13],xmm6 - lea r13,[96+r13] - - movdqa xmm6,XMMWORD[96+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_5: - pxor xmm2,xmm10 - lea r12,[80+r12] - pxor xmm3,xmm11 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm5 - movdqu XMMWORD[64+r13],xmm2 - lea r13,[80+r13] - - movdqa xmm6,XMMWORD[80+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_4: - pxor xmm1,xmm9 - lea r12,[64+r12] - pxor xmm2,xmm10 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - movdqu XMMWORD[48+r13],xmm5 - lea r13,[64+r13] - - movdqa xmm6,XMMWORD[64+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_3: - pxor xmm0,xmm8 - lea r12,[48+r12] - pxor xmm1,xmm9 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm3 - lea r13,[48+r13] - - movdqa xmm6,XMMWORD[48+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_2: - pxor xmm15,xmm7 - lea r12,[32+r12] - pxor xmm0,xmm8 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - lea r13,[32+r13] - - movdqa xmm6,XMMWORD[32+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_1: - pxor xmm7,xmm15 - lea r12,[16+r12] - movdqa XMMWORD[32+rbp],xmm7 - lea rcx,[32+rbp] - lea rdx,[32+rbp] - lea r8,[r15] - call asm_AES_encrypt - pxor xmm15,XMMWORD[32+rbp] - - - - - - movdqu XMMWORD[r13],xmm15 - lea r13,[16+r13] - - movdqa xmm6,XMMWORD[16+rsp] - -$L$xts_enc_done: - and ebx,15 - jz NEAR $L$xts_enc_ret - mov rdx,r13 - -$L$xts_enc_steal: - movzx eax,BYTE[r12] - movzx ecx,BYTE[((-16))+rdx] - lea r12,[1+r12] - mov BYTE[((-16))+rdx],al - mov BYTE[rdx],cl - lea rdx,[1+rdx] - sub ebx,1 - jnz NEAR $L$xts_enc_steal - - movdqu xmm15,XMMWORD[((-16))+r13] - lea rcx,[32+rbp] - pxor xmm15,xmm6 - lea rdx,[32+rbp] - movdqa XMMWORD[32+rbp],xmm15 - lea r8,[r15] - call asm_AES_encrypt - pxor xmm6,XMMWORD[32+rbp] - movdqu XMMWORD[(-16)+r13],xmm6 - -$L$xts_enc_ret: - lea rax,[rsp] - pxor xmm0,xmm0 -$L$xts_enc_bzero: - movdqa XMMWORD[rax],xmm0 - movdqa XMMWORD[16+rax],xmm0 - lea rax,[32+rax] - cmp rbp,rax - ja NEAR $L$xts_enc_bzero - - lea rax,[120+rbp] - - movaps xmm6,XMMWORD[64+rbp] - movaps xmm7,XMMWORD[80+rbp] - movaps xmm8,XMMWORD[96+rbp] - movaps xmm9,XMMWORD[112+rbp] - movaps xmm10,XMMWORD[128+rbp] - movaps xmm11,XMMWORD[144+rbp] - movaps xmm12,XMMWORD[160+rbp] - movaps xmm13,XMMWORD[176+rbp] - movaps xmm14,XMMWORD[192+rbp] - movaps xmm15,XMMWORD[208+rbp] - lea rax,[160+rax] -$L$xts_enc_tail: - mov r15,QWORD[((-48))+rax] - - mov r14,QWORD[((-40))+rax] - - mov r13,QWORD[((-32))+rax] - - mov r12,QWORD[((-24))+rax] - - mov rbx,QWORD[((-16))+rax] - - mov rbp,QWORD[((-8))+rax] - - lea rsp,[rax] - -$L$xts_enc_epilogue: - DB 0F3h,0C3h ;repret - - - -global bsaes_xts_decrypt - -ALIGN 16 -bsaes_xts_decrypt: - - mov rax,rsp -$L$xts_dec_prologue: - push rbp - - push rbx - - push r12 - - push r13 - - push r14 - - push r15 - - lea rsp,[((-72))+rsp] - - mov r10,QWORD[160+rsp] - mov r11,QWORD[168+rsp] - lea rsp,[((-160))+rsp] - movaps XMMWORD[64+rsp],xmm6 - movaps XMMWORD[80+rsp],xmm7 - movaps XMMWORD[96+rsp],xmm8 - movaps XMMWORD[112+rsp],xmm9 - movaps XMMWORD[128+rsp],xmm10 - movaps XMMWORD[144+rsp],xmm11 - movaps XMMWORD[160+rsp],xmm12 - movaps XMMWORD[176+rsp],xmm13 - movaps XMMWORD[192+rsp],xmm14 - movaps XMMWORD[208+rsp],xmm15 -$L$xts_dec_body: - mov rbp,rsp - mov r12,rcx - mov r13,rdx - mov r14,r8 - mov r15,r9 - - lea rcx,[r11] - lea rdx,[32+rbp] - lea r8,[r10] - call asm_AES_encrypt - - mov eax,DWORD[240+r15] - mov rbx,r14 - - mov edx,eax - shl rax,7 - sub rax,96 - sub rsp,rax - - mov rax,rsp - mov rcx,r15 - mov r10d,edx - call _bsaes_key_convert - pxor xmm7,XMMWORD[rsp] - movdqa XMMWORD[rax],xmm6 - movdqa XMMWORD[rsp],xmm7 - - xor eax,eax - and r14,-16 - test ebx,15 - setnz al - shl rax,4 - sub r14,rax - - sub rsp,0x80 - movdqa xmm6,XMMWORD[32+rbp] - - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - - sub r14,0x80 - jc NEAR $L$xts_dec_short - jmp NEAR $L$xts_dec_loop - -ALIGN 16 -$L$xts_dec_loop: - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm15,xmm6 - movdqa XMMWORD[rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm0,xmm6 - movdqa XMMWORD[16+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm7,XMMWORD[r12] - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm1,xmm6 - movdqa XMMWORD[32+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm8,XMMWORD[16+r12] - pxor xmm15,xmm7 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm2,xmm6 - movdqa XMMWORD[48+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm0,xmm8 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm3,xmm6 - movdqa XMMWORD[64+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm1,xmm9 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm4,xmm6 - movdqa XMMWORD[80+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm2,xmm10 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm5,xmm6 - movdqa XMMWORD[96+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm12,XMMWORD[80+r12] - pxor xmm3,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm4,xmm12 - movdqu xmm14,XMMWORD[112+r12] - lea r12,[128+r12] - movdqa XMMWORD[112+rsp],xmm6 - pxor xmm5,xmm13 - lea rax,[128+rsp] - pxor xmm6,xmm14 - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - pxor xmm1,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm3 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm1 - pxor xmm2,XMMWORD[96+rsp] - movdqu XMMWORD[80+r13],xmm6 - pxor xmm4,XMMWORD[112+rsp] - movdqu XMMWORD[96+r13],xmm2 - movdqu XMMWORD[112+r13],xmm4 - lea r13,[128+r13] - - movdqa xmm6,XMMWORD[112+rsp] - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - - sub r14,0x80 - jnc NEAR $L$xts_dec_loop - -$L$xts_dec_short: - add r14,0x80 - jz NEAR $L$xts_dec_done - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm15,xmm6 - movdqa XMMWORD[rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm0,xmm6 - movdqa XMMWORD[16+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm7,XMMWORD[r12] - cmp r14,16 - je NEAR $L$xts_dec_1 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm1,xmm6 - movdqa XMMWORD[32+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm8,XMMWORD[16+r12] - cmp r14,32 - je NEAR $L$xts_dec_2 - pxor xmm15,xmm7 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm2,xmm6 - movdqa XMMWORD[48+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm9,XMMWORD[32+r12] - cmp r14,48 - je NEAR $L$xts_dec_3 - pxor xmm0,xmm8 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm3,xmm6 - movdqa XMMWORD[64+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm10,XMMWORD[48+r12] - cmp r14,64 - je NEAR $L$xts_dec_4 - pxor xmm1,xmm9 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm4,xmm6 - movdqa XMMWORD[80+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm11,XMMWORD[64+r12] - cmp r14,80 - je NEAR $L$xts_dec_5 - pxor xmm2,xmm10 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm5,xmm6 - movdqa XMMWORD[96+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm12,XMMWORD[80+r12] - cmp r14,96 - je NEAR $L$xts_dec_6 - pxor xmm3,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm4,xmm12 - movdqa XMMWORD[112+rsp],xmm6 - lea r12,[112+r12] - pxor xmm5,xmm13 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - pxor xmm1,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm3 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm1 - pxor xmm2,XMMWORD[96+rsp] - movdqu XMMWORD[80+r13],xmm6 - movdqu XMMWORD[96+r13],xmm2 - lea r13,[112+r13] - - movdqa xmm6,XMMWORD[112+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_6: - pxor xmm3,xmm11 - lea r12,[96+r12] - pxor xmm4,xmm12 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - pxor xmm1,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm3 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm1 - movdqu XMMWORD[80+r13],xmm6 - lea r13,[96+r13] - - movdqa xmm6,XMMWORD[96+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_5: - pxor xmm2,xmm10 - lea r12,[80+r12] - pxor xmm3,xmm11 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - pxor xmm1,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - lea r13,[80+r13] - - movdqa xmm6,XMMWORD[80+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_4: - pxor xmm1,xmm9 - lea r12,[64+r12] - pxor xmm2,xmm10 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - lea r13,[64+r13] - - movdqa xmm6,XMMWORD[64+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_3: - pxor xmm0,xmm8 - lea r12,[48+r12] - pxor xmm1,xmm9 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - lea r13,[48+r13] - - movdqa xmm6,XMMWORD[48+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_2: - pxor xmm15,xmm7 - lea r12,[32+r12] - pxor xmm0,xmm8 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - lea r13,[32+r13] - - movdqa xmm6,XMMWORD[32+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_1: - pxor xmm7,xmm15 - lea r12,[16+r12] - movdqa XMMWORD[32+rbp],xmm7 - lea rcx,[32+rbp] - lea rdx,[32+rbp] - lea r8,[r15] - call asm_AES_decrypt - pxor xmm15,XMMWORD[32+rbp] - - - - - - movdqu XMMWORD[r13],xmm15 - lea r13,[16+r13] - - movdqa xmm6,XMMWORD[16+rsp] - -$L$xts_dec_done: - and ebx,15 - jz NEAR $L$xts_dec_ret - - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - pshufd xmm13,xmm14,0x13 - movdqa xmm5,xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - movdqu xmm15,XMMWORD[r12] - pxor xmm6,xmm13 - - lea rcx,[32+rbp] - pxor xmm15,xmm6 - lea rdx,[32+rbp] - movdqa XMMWORD[32+rbp],xmm15 - lea r8,[r15] - call asm_AES_decrypt - pxor xmm6,XMMWORD[32+rbp] - mov rdx,r13 - movdqu XMMWORD[r13],xmm6 - -$L$xts_dec_steal: - movzx eax,BYTE[16+r12] - movzx ecx,BYTE[rdx] - lea r12,[1+r12] - mov BYTE[rdx],al - mov BYTE[16+rdx],cl - lea rdx,[1+rdx] - sub ebx,1 - jnz NEAR $L$xts_dec_steal - - movdqu xmm15,XMMWORD[r13] - lea rcx,[32+rbp] - pxor xmm15,xmm5 - lea rdx,[32+rbp] - movdqa XMMWORD[32+rbp],xmm15 - lea r8,[r15] - call asm_AES_decrypt - pxor xmm5,XMMWORD[32+rbp] - movdqu XMMWORD[r13],xmm5 - -$L$xts_dec_ret: - lea rax,[rsp] - pxor xmm0,xmm0 -$L$xts_dec_bzero: - movdqa XMMWORD[rax],xmm0 - movdqa XMMWORD[16+rax],xmm0 - lea rax,[32+rax] - cmp rbp,rax - ja NEAR $L$xts_dec_bzero - - lea rax,[120+rbp] - - movaps xmm6,XMMWORD[64+rbp] - movaps xmm7,XMMWORD[80+rbp] - movaps xmm8,XMMWORD[96+rbp] - movaps xmm9,XMMWORD[112+rbp] - movaps xmm10,XMMWORD[128+rbp] - movaps xmm11,XMMWORD[144+rbp] - movaps xmm12,XMMWORD[160+rbp] - movaps xmm13,XMMWORD[176+rbp] - movaps xmm14,XMMWORD[192+rbp] - movaps xmm15,XMMWORD[208+rbp] - lea rax,[160+rax] -$L$xts_dec_tail: - mov r15,QWORD[((-48))+rax] - - mov r14,QWORD[((-40))+rax] - - mov r13,QWORD[((-32))+rax] - - mov r12,QWORD[((-24))+rax] - - mov rbx,QWORD[((-16))+rax] - - mov rbp,QWORD[((-8))+rax] - - lea rsp,[rax] - -$L$xts_dec_epilogue: - DB 0F3h,0C3h ;repret - - - -ALIGN 64 -_bsaes_const: -$L$M0ISR: - DQ 0x0a0e0206070b0f03,0x0004080c0d010509 -$L$ISRM0: - DQ 0x01040b0e0205080f,0x0306090c00070a0d -$L$ISR: - DQ 0x0504070602010003,0x0f0e0d0c080b0a09 -$L$BS0: - DQ 0x5555555555555555,0x5555555555555555 -$L$BS1: - DQ 0x3333333333333333,0x3333333333333333 -$L$BS2: - DQ 0x0f0f0f0f0f0f0f0f,0x0f0f0f0f0f0f0f0f -$L$SR: - DQ 0x0504070600030201,0x0f0e0d0c0a09080b -$L$SRM0: - DQ 0x0304090e00050a0f,0x01060b0c0207080d -$L$M0SR: - DQ 0x0a0e02060f03070b,0x0004080c05090d01 -$L$SWPUP: - DQ 0x0706050403020100,0x0c0d0e0f0b0a0908 -$L$SWPUPM0SR: - DQ 0x0a0d02060c03070b,0x0004080f05090e01 -$L$ADD1: - DQ 0x0000000000000000,0x0000000100000000 -$L$ADD2: - DQ 0x0000000000000000,0x0000000200000000 -$L$ADD3: - DQ 0x0000000000000000,0x0000000300000000 -$L$ADD4: - DQ 0x0000000000000000,0x0000000400000000 -$L$ADD5: - DQ 0x0000000000000000,0x0000000500000000 -$L$ADD6: - DQ 0x0000000000000000,0x0000000600000000 -$L$ADD7: - DQ 0x0000000000000000,0x0000000700000000 -$L$ADD8: - DQ 0x0000000000000000,0x0000000800000000 -$L$xts_magic: - DD 0x87,0,1,0 -$L$masks: - DQ 0x0101010101010101,0x0101010101010101 - DQ 0x0202020202020202,0x0202020202020202 - DQ 0x0404040404040404,0x0404040404040404 - DQ 0x0808080808080808,0x0808080808080808 -$L$M0: - DQ 0x02060a0e03070b0f,0x0004080c0105090d -$L$63: - DQ 0x6363636363636363,0x6363636363636363 -DB 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102 -DB 111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44 -DB 32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44 -DB 32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32 -DB 65,110,100,121,32,80,111,108,121,97,107,111,118,0 -ALIGN 64 - -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jbe NEAR $L$in_prologue - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - - mov r10d,DWORD[8+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_tail - - mov rax,QWORD[160+r8] - - lea rsi,[64+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - lea rax,[((160+120))+rax] - -$L$in_tail: - mov rbp,QWORD[((-48))+rax] - mov rbx,QWORD[((-40))+rax] - mov r12,QWORD[((-32))+rax] - mov r13,QWORD[((-24))+rax] - mov r14,QWORD[((-16))+rax] - mov r15,QWORD[((-8))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_prologue: - mov QWORD[152+r8],rax - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$cbc_dec_prologue wrt ..imagebase - DD $L$cbc_dec_epilogue wrt ..imagebase - DD $L$cbc_dec_info wrt ..imagebase - - DD $L$ctr_enc_prologue wrt ..imagebase - DD $L$ctr_enc_epilogue wrt ..imagebase - DD $L$ctr_enc_info wrt ..imagebase - - DD $L$xts_enc_prologue wrt ..imagebase - DD $L$xts_enc_epilogue wrt ..imagebase - DD $L$xts_enc_info wrt ..imagebase - - DD $L$xts_dec_prologue wrt ..imagebase - DD $L$xts_dec_epilogue wrt ..imagebase - DD $L$xts_dec_info wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$cbc_dec_info: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$cbc_dec_body wrt ..imagebase,$L$cbc_dec_epilogue wrt ..imagebase - DD $L$cbc_dec_tail wrt ..imagebase - DD 0 -$L$ctr_enc_info: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$ctr_enc_body wrt ..imagebase,$L$ctr_enc_epilogue wrt ..imagebase - DD $L$ctr_enc_tail wrt ..imagebase - DD 0 -$L$xts_enc_info: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$xts_enc_body wrt ..imagebase,$L$xts_enc_epilogue wrt ..imagebase - DD $L$xts_enc_tail wrt ..imagebase - DD 0 -$L$xts_dec_info: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$xts_dec_body wrt ..imagebase,$L$xts_dec_epilogue wrt ..imagebase - DD $L$xts_dec_tail wrt ..imagebase - DD 0 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/bn/rsaz-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/bn/rsaz-x86_64.asm index 603a8d17b870ab..a474c5d9a68c9f 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/bn/rsaz-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/bn/rsaz-x86_64.asm @@ -39,7 +39,7 @@ $L$SEH_begin_rsaz_512_sqr: sub rsp,128+24 $L$sqr_body: - mov rbp,rdx +DB 102,72,15,110,202 mov rdx,QWORD[rsi] mov rax,QWORD[8+rsi] mov QWORD[128+rsp],rcx @@ -54,6 +54,7 @@ $L$oop_sqr: mov DWORD[((128+8))+rsp],r8d mov rbx,rdx + mov rbp,rax mul rdx mov r8,rax mov rax,QWORD[16+rsi] @@ -92,31 +93,29 @@ $L$oop_sqr: mul rbx add r14,rax mov rax,rbx - mov r15,rdx - adc r15,0 + adc rdx,0 + xor rcx,rcx add r8,r8 - mov rcx,r9 - adc r9,r9 + mov r15,rdx + adc rcx,0 mul rax - mov QWORD[rsp],rax - add r8,rdx - adc r9,0 + add rdx,r8 + adc rcx,0 - mov QWORD[8+rsp],r8 - shr rcx,63 + mov QWORD[rsp],rax + mov QWORD[8+rsp],rdx - mov r8,QWORD[8+rsi] mov rax,QWORD[16+rsi] - mul r8 + mul rbp add r10,rax mov rax,QWORD[24+rsi] mov rbx,rdx adc rbx,0 - mul r8 + mul rbp add r11,rax mov rax,QWORD[32+rsi] adc rdx,0 @@ -124,7 +123,7 @@ $L$oop_sqr: mov rbx,rdx adc rbx,0 - mul r8 + mul rbp add r12,rax mov rax,QWORD[40+rsi] adc rdx,0 @@ -132,7 +131,7 @@ $L$oop_sqr: mov rbx,rdx adc rbx,0 - mul r8 + mul rbp add r13,rax mov rax,QWORD[48+rsi] adc rdx,0 @@ -140,7 +139,7 @@ $L$oop_sqr: mov rbx,rdx adc rbx,0 - mul r8 + mul rbp add r14,rax mov rax,QWORD[56+rsi] adc rdx,0 @@ -148,39 +147,39 @@ $L$oop_sqr: mov rbx,rdx adc rbx,0 - mul r8 + mul rbp add r15,rax - mov rax,r8 + mov rax,rbp adc rdx,0 add r15,rbx - mov r8,rdx - mov rdx,r10 - adc r8,0 + adc rdx,0 - add rdx,rdx - lea r10,[r10*2+rcx] - mov rbx,r11 - adc r11,r11 + xor rbx,rbx + add r9,r9 + mov r8,rdx + adc r10,r10 + adc rbx,0 mul rax + + add rax,rcx + mov rbp,QWORD[16+rsi] add r9,rax + mov rax,QWORD[24+rsi] adc r10,rdx - adc r11,0 + adc rbx,0 mov QWORD[16+rsp],r9 mov QWORD[24+rsp],r10 - shr rbx,63 - mov r9,QWORD[16+rsi] - mov rax,QWORD[24+rsi] - mul r9 + mul rbp add r12,rax mov rax,QWORD[32+rsi] mov rcx,rdx adc rcx,0 - mul r9 + mul rbp add r13,rax mov rax,QWORD[40+rsi] adc rdx,0 @@ -188,7 +187,7 @@ $L$oop_sqr: mov rcx,rdx adc rcx,0 - mul r9 + mul rbp add r14,rax mov rax,QWORD[48+rsi] adc rdx,0 @@ -196,9 +195,7 @@ $L$oop_sqr: mov rcx,rdx adc rcx,0 - mul r9 - mov r10,r12 - lea r12,[r12*2+rbx] + mul rbp add r15,rax mov rax,QWORD[56+rsi] adc rdx,0 @@ -206,36 +203,40 @@ $L$oop_sqr: mov rcx,rdx adc rcx,0 - mul r9 - shr r10,63 + mul rbp add r8,rax - mov rax,r9 + mov rax,rbp adc rdx,0 add r8,rcx - mov r9,rdx - adc r9,0 + adc rdx,0 - mov rcx,r13 - lea r13,[r13*2+r10] + xor rcx,rcx + add r11,r11 + mov r9,rdx + adc r12,r12 + adc rcx,0 mul rax + + add rax,rbx + mov r10,QWORD[24+rsi] add r11,rax + mov rax,QWORD[32+rsi] adc r12,rdx - adc r13,0 + adc rcx,0 mov QWORD[32+rsp],r11 mov QWORD[40+rsp],r12 - shr rcx,63 - mov r10,QWORD[24+rsi] - mov rax,QWORD[32+rsi] + mov r11,rax mul r10 add r14,rax mov rax,QWORD[40+rsi] mov rbx,rdx adc rbx,0 + mov r12,rax mul r10 add r15,rax mov rax,QWORD[48+rsi] @@ -244,9 +245,8 @@ $L$oop_sqr: mov rbx,rdx adc rbx,0 + mov rbp,rax mul r10 - mov r12,r14 - lea r14,[r14*2+rcx] add r8,rax mov rax,QWORD[56+rsi] adc rdx,0 @@ -255,32 +255,33 @@ $L$oop_sqr: adc rbx,0 mul r10 - shr r12,63 add r9,rax mov rax,r10 adc rdx,0 add r9,rbx - mov r10,rdx - adc r10,0 + adc rdx,0 - mov rbx,r15 - lea r15,[r15*2+r12] + xor rbx,rbx + add r13,r13 + mov r10,rdx + adc r14,r14 + adc rbx,0 mul rax + + add rax,rcx add r13,rax + mov rax,r12 adc r14,rdx - adc r15,0 + adc rbx,0 mov QWORD[48+rsp],r13 mov QWORD[56+rsp],r14 - shr rbx,63 - mov r11,QWORD[32+rsi] - mov rax,QWORD[40+rsi] mul r11 add r8,rax - mov rax,QWORD[48+rsi] + mov rax,rbp mov rcx,rdx adc rcx,0 @@ -288,97 +289,99 @@ $L$oop_sqr: add r9,rax mov rax,QWORD[56+rsi] adc rdx,0 - mov r12,r8 - lea r8,[r8*2+rbx] add r9,rcx mov rcx,rdx adc rcx,0 + mov r14,rax mul r11 - shr r12,63 add r10,rax mov rax,r11 adc rdx,0 add r10,rcx - mov r11,rdx - adc r11,0 + adc rdx,0 - mov rcx,r9 - lea r9,[r9*2+r12] + xor rcx,rcx + add r15,r15 + mov r11,rdx + adc r8,r8 + adc rcx,0 mul rax + + add rax,rbx add r15,rax + mov rax,rbp adc r8,rdx - adc r9,0 + adc rcx,0 mov QWORD[64+rsp],r15 mov QWORD[72+rsp],r8 - shr rcx,63 - mov r12,QWORD[40+rsi] - mov rax,QWORD[48+rsi] mul r12 add r10,rax - mov rax,QWORD[56+rsi] + mov rax,r14 mov rbx,rdx adc rbx,0 mul r12 add r11,rax mov rax,r12 - mov r15,r10 - lea r10,[r10*2+rcx] adc rdx,0 - shr r15,63 add r11,rbx - mov r12,rdx - adc r12,0 + adc rdx,0 - mov rbx,r11 - lea r11,[r11*2+r15] + xor rbx,rbx + add r9,r9 + mov r12,rdx + adc r10,r10 + adc rbx,0 mul rax + + add rax,rcx add r9,rax + mov rax,r14 adc r10,rdx - adc r11,0 + adc rbx,0 mov QWORD[80+rsp],r9 mov QWORD[88+rsp],r10 - mov r13,QWORD[48+rsi] - mov rax,QWORD[56+rsi] - mul r13 + mul rbp add r12,rax - mov rax,r13 - mov r13,rdx - adc r13,0 + mov rax,rbp + adc rdx,0 - xor r14,r14 - shl rbx,1 + xor rcx,rcx + add r11,r11 + mov r13,rdx adc r12,r12 - adc r13,r13 - adc r14,r14 + adc rcx,0 mul rax + + add rax,rbx add r11,rax + mov rax,r14 adc r12,rdx - adc r13,0 + adc rcx,0 mov QWORD[96+rsp],r11 mov QWORD[104+rsp],r12 - mov rax,QWORD[56+rsi] - mul rax - add r13,rax - adc rdx,0 + xor rbx,rbx + add r13,r13 + adc rbx,0 - add r14,rdx + mul rax - mov QWORD[112+rsp],r13 - mov QWORD[120+rsp],r14 + add rax,rcx + add rax,r13 + adc rdx,rbx mov r8,QWORD[rsp] mov r9,QWORD[8+rsp] @@ -388,6 +391,10 @@ $L$oop_sqr: mov r13,QWORD[40+rsp] mov r14,QWORD[48+rsp] mov r15,QWORD[56+rsp] +DB 102,72,15,126,205 + + mov QWORD[112+rsp],rax + mov QWORD[120+rsp],rdx call __rsaz_512_reduce @@ -416,9 +423,9 @@ ALIGN 32 $L$oop_sqrx: mov DWORD[((128+8))+rsp],r8d DB 102,72,15,110,199 -DB 102,72,15,110,205 mulx r9,r8,rax + mov rbx,rax mulx r10,rcx,QWORD[16+rsi] xor rbp,rbp @@ -426,40 +433,39 @@ DB 102,72,15,110,205 mulx r11,rax,QWORD[24+rsi] adcx r9,rcx - mulx r12,rcx,QWORD[32+rsi] +DB 0xc4,0x62,0xf3,0xf6,0xa6,0x20,0x00,0x00,0x00 adcx r10,rax - mulx r13,rax,QWORD[40+rsi] +DB 0xc4,0x62,0xfb,0xf6,0xae,0x28,0x00,0x00,0x00 adcx r11,rcx -DB 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 + mulx r14,rcx,QWORD[48+rsi] adcx r12,rax adcx r13,rcx -DB 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + mulx r15,rax,QWORD[56+rsi] adcx r14,rax adcx r15,rbp - mov rcx,r9 - shld r9,r8,1 - shl r8,1 - - xor ebp,ebp - mulx rdx,rax,rdx - adcx r8,rdx - mov rdx,QWORD[8+rsi] - adcx r9,rbp + mulx rdi,rax,rdx + mov rdx,rbx + xor rcx,rcx + adox r8,r8 + adcx r8,rdi + adox rcx,rbp + adcx rcx,rbp mov QWORD[rsp],rax mov QWORD[8+rsp],r8 - mulx rbx,rax,QWORD[16+rsi] +DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x10,0x00,0x00,0x00 adox r10,rax adcx r11,rbx -DB 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 + mulx r8,rdi,QWORD[24+rsi] adox r11,rdi +DB 0x66 adcx r12,r8 mulx rbx,rax,QWORD[32+rsi] @@ -477,24 +483,25 @@ DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x30,0x00,0x00,0x00 DB 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 adox r15,rdi adcx r8,rbp + mulx rdi,rax,rdx adox r8,rbp +DB 0x48,0x8b,0x96,0x10,0x00,0x00,0x00 - mov rbx,r11 - shld r11,r10,1 - shld r10,rcx,1 + xor rbx,rbx + adox r9,r9 - xor ebp,ebp - mulx rcx,rax,rdx - mov rdx,QWORD[16+rsi] + adcx rax,rcx + adox r10,r10 adcx r9,rax - adcx r10,rcx - adcx r11,rbp + adox rbx,rbp + adcx r10,rdi + adcx rbx,rbp mov QWORD[16+rsp],r9 DB 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 -DB 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 + mulx r9,rdi,QWORD[24+rsi] adox r12,rdi adcx r13,r9 @@ -502,7 +509,7 @@ DB 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 adox r13,rax adcx r14,rcx - mulx r9,rdi,QWORD[40+rsi] +DB 0xc4,0x62,0xc3,0xf6,0x8e,0x28,0x00,0x00,0x00 adox r14,rdi adcx r15,r9 @@ -510,27 +517,28 @@ DB 0xc4,0xe2,0xfb,0xf6,0x8e,0x30,0x00,0x00,0x00 adox r15,rax adcx r8,rcx -DB 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 + mulx r9,rdi,QWORD[56+rsi] adox r8,rdi adcx r9,rbp + mulx rdi,rax,rdx adox r9,rbp + mov rdx,QWORD[24+rsi] - mov rcx,r13 - shld r13,r12,1 - shld r12,rbx,1 + xor rcx,rcx + adox r11,r11 - xor ebp,ebp - mulx rdx,rax,rdx + adcx rax,rbx + adox r12,r12 adcx r11,rax - adcx r12,rdx - mov rdx,QWORD[24+rsi] - adcx r13,rbp + adox rcx,rbp + adcx r12,rdi + adcx rcx,rbp mov QWORD[32+rsp],r11 -DB 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 + mov QWORD[40+rsp],r12 -DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 + mulx rbx,rax,QWORD[32+rsi] adox r14,rax adcx r15,rbx @@ -545,25 +553,25 @@ DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 mulx r10,rdi,QWORD[56+rsi] adox r9,rdi adcx r10,rbp + mulx rdi,rax,rdx adox r10,rbp + mov rdx,QWORD[32+rsi] -DB 0x66 - mov rbx,r15 - shld r15,r14,1 - shld r14,rcx,1 + xor rbx,rbx + adox r13,r13 - xor ebp,ebp - mulx rdx,rax,rdx + adcx rax,rcx + adox r14,r14 adcx r13,rax - adcx r14,rdx - mov rdx,QWORD[32+rsi] - adcx r15,rbp + adox rbx,rbp + adcx r14,rdi + adcx rbx,rbp mov QWORD[48+rsp],r13 mov QWORD[56+rsp],r14 -DB 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 + mulx r11,rdi,QWORD[40+rsi] adox r8,rdi adcx r9,r11 @@ -574,18 +582,19 @@ DB 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 mulx r11,rdi,QWORD[56+rsi] adox r10,rdi adcx r11,rbp + mulx rdi,rax,rdx + mov rdx,QWORD[40+rsi] adox r11,rbp - mov rcx,r9 - shld r9,r8,1 - shld r8,rbx,1 + xor rcx,rcx + adox r15,r15 - xor ebp,ebp - mulx rdx,rax,rdx + adcx rax,rbx + adox r8,r8 adcx r15,rax - adcx r8,rdx - mov rdx,QWORD[40+rsi] - adcx r9,rbp + adox rcx,rbp + adcx r8,rdi + adcx rcx,rbp mov QWORD[64+rsp],r15 mov QWORD[72+rsp],r8 @@ -598,18 +607,19 @@ DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x30,0x00,0x00,0x00 DB 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 adox r11,rdi adcx r12,rbp + mulx rdi,rax,rdx adox r12,rbp + mov rdx,QWORD[48+rsi] - mov rbx,r11 - shld r11,r10,1 - shld r10,rcx,1 + xor rbx,rbx + adox r9,r9 - xor ebp,ebp - mulx rdx,rax,rdx + adcx rax,rcx + adox r10,r10 adcx r9,rax - adcx r10,rdx - mov rdx,QWORD[48+rsi] - adcx r11,rbp + adcx r10,rdi + adox rbx,rbp + adcx rbx,rbp mov QWORD[80+rsp],r9 mov QWORD[88+rsp],r10 @@ -619,31 +629,31 @@ DB 0xc4,0x62,0xfb,0xf6,0xae,0x38,0x00,0x00,0x00 adox r12,rax adox r13,rbp - xor r14,r14 - shld r14,r13,1 - shld r13,r12,1 - shld r12,rbx,1 + mulx rdi,rax,rdx + xor rcx,rcx + mov rdx,QWORD[56+rsi] + adox r11,r11 - xor ebp,ebp - mulx rdx,rax,rdx + adcx rax,rbx + adox r12,r12 adcx r11,rax - adcx r12,rdx - mov rdx,QWORD[56+rsi] - adcx r13,rbp + adox rcx,rbp + adcx r12,rdi + adcx rcx,rbp DB 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 DB 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 mulx rdx,rax,rdx - adox r13,rax - adox rdx,rbp + xor rbx,rbx + adox r13,r13 -DB 0x66 - add r14,rdx + adcx rax,rcx + adox rbx,rbp + adcx rax,r13 + adcx rbx,rdx - mov QWORD[112+rsp],r13 - mov QWORD[120+rsp],r14 DB 102,72,15,126,199 DB 102,72,15,126,205 @@ -657,6 +667,9 @@ DB 102,72,15,126,205 mov r14,QWORD[48+rsp] mov r15,QWORD[56+rsp] + mov QWORD[112+rsp],rax + mov QWORD[120+rsp],rbx + call __rsaz_512_reducex add r8,QWORD[64+rsp] @@ -1502,6 +1515,7 @@ $L$SEH_end_rsaz_512_mul_by_one: ALIGN 32 __rsaz_512_reduce: + mov rbx,r8 imul rbx,QWORD[((128+8))+rsp] mov rax,QWORD[rbp] @@ -1583,9 +1597,11 @@ $L$reduction_loop: DB 0F3h,0C3h ;repret + ALIGN 32 __rsaz_512_reducex: + imul rdx,r8 xor rsi,rsi mov ecx,8 @@ -1639,8 +1655,10 @@ DB 0xc4,0x62,0xfb,0xf6,0xb5,0x30,0x00,0x00,0x00 DB 0F3h,0C3h ;repret + ALIGN 32 __rsaz_512_subtract: + mov QWORD[rdi],r8 mov QWORD[8+rdi],r9 mov QWORD[16+rdi],r10 @@ -1696,8 +1714,10 @@ __rsaz_512_subtract: DB 0F3h,0C3h ;repret + ALIGN 32 __rsaz_512_mul: + lea rdi,[8+rsp] mov rax,QWORD[rsi] @@ -1838,8 +1858,10 @@ $L$oop_mul: DB 0F3h,0C3h ;repret + ALIGN 32 __rsaz_512_mulx: + mulx r8,rbx,QWORD[rsi] mov rcx,-6 @@ -1957,10 +1979,12 @@ DB 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 DB 0F3h,0C3h ;repret + global rsaz_512_scatter4 ALIGN 16 rsaz_512_scatter4: + lea rcx,[r8*8+rcx] mov r9d,8 jmp NEAR $L$oop_scatter @@ -1975,10 +1999,12 @@ $L$oop_scatter: DB 0F3h,0C3h ;repret + global rsaz_512_gather4 ALIGN 16 rsaz_512_gather4: + $L$SEH_begin_rsaz_512_gather4: DB 0x48,0x81,0xec,0xa8,0x00,0x00,0x00 DB 0x0f,0x29,0x34,0x24 @@ -2067,6 +2093,7 @@ $L$oop_gather: $L$SEH_end_rsaz_512_gather4: + ALIGN 64 $L$inc: DD 0,0,1,1 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/bn/x86_64-mont5.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/bn/x86_64-mont5.asm index 81570ab2060e9b..0756714904eaad 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/bn/x86_64-mont5.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/bn/x86_64-mont5.asm @@ -583,6 +583,7 @@ $L$SEH_end_bn_mul4x_mont_gather5: ALIGN 32 mul4x_internal: + shl r9,5 movd xmm5,DWORD[56+rax] lea rax,[$L$inc] @@ -1105,6 +1106,7 @@ $L$inner4x: mov r15,QWORD[24+rbp] jmp NEAR $L$sqr4x_sub_entry + global bn_power5 ALIGN 32 @@ -1331,6 +1333,7 @@ __bn_sqr8x_internal: + lea rbp,[32+r10] @@ -2036,8 +2039,10 @@ DB 102,73,15,126,217 DB 0F3h,0C3h ;repret + ALIGN 32 __bn_post4x_internal: + mov r12,QWORD[rbp] lea rbx,[r9*1+rdi] mov rcx,r9 @@ -2089,10 +2094,12 @@ $L$sqr4x_sub_entry: neg r9 DB 0F3h,0C3h ;repret + global bn_from_montgomery ALIGN 32 bn_from_montgomery: + test DWORD[48+rsp],7 jz NEAR bn_from_mont8x xor eax,eax @@ -2100,6 +2107,7 @@ bn_from_montgomery: + ALIGN 32 bn_from_mont8x: mov QWORD[8+rsp],rdi ;WIN64 prologue @@ -2408,6 +2416,7 @@ $L$SEH_end_bn_mulx4x_mont_gather5: ALIGN 32 mulx4x_internal: + mov QWORD[8+rsp],r9 mov r10,r9 neg r9 @@ -2828,6 +2837,7 @@ $L$mulx4x_inner: jmp NEAR $L$sqrx4x_sub_entry + ALIGN 32 bn_powerx5: mov QWORD[8+rsp],rdi ;WIN64 prologue @@ -3598,6 +3608,7 @@ DB 102,72,15,126,213 ALIGN 32 __bn_postx4x_internal: + mov r12,QWORD[rbp] mov r10,rcx mov r9,rcx @@ -3646,10 +3657,12 @@ $L$sqrx4x_sub_entry: DB 0F3h,0C3h ;repret + global bn_get_bits5 ALIGN 16 bn_get_bits5: + lea r10,[rcx] lea r11,[1+rcx] mov ecx,edx @@ -3665,10 +3678,12 @@ bn_get_bits5: DB 0F3h,0C3h ;repret + global bn_scatter5 ALIGN 16 bn_scatter5: + cmp edx,0 jz NEAR $L$scatter_epilogue lea r8,[r9*8+r8] @@ -3683,12 +3698,14 @@ $L$scatter_epilogue: DB 0F3h,0C3h ;repret + global bn_gather5 ALIGN 32 bn_gather5: $L$SEH_begin_bn_gather5: + DB 0x4c,0x8d,0x14,0x24 DB 0x48,0x81,0xec,0x08,0x01,0x00,0x00 lea rax,[$L$inc] @@ -3846,6 +3863,7 @@ $L$gather: DB 0F3h,0C3h ;repret $L$SEH_end_bn_gather5: + ALIGN 64 $L$inc: DD 0,0,1,1 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/buildinf.h index eba30a9c2857ac..eee9e84f1825ed 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: " -#define DATE "built on: Fri Sep 13 16:02:58 2019 UTC" +#define DATE "built on: Wed Mar 18 21:10:25 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/camellia/cmll-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/camellia/cmll-x86_64.asm index 7a0f351e51fc54..4cf1d322acc9d1 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/camellia/cmll-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/camellia/cmll-x86_64.asm @@ -10,6 +10,7 @@ global Camellia_EncryptBlock ALIGN 16 Camellia_EncryptBlock: + mov eax,128 sub eax,ecx mov ecx,3 @@ -17,6 +18,7 @@ Camellia_EncryptBlock: jmp NEAR $L$enc_rounds + global Camellia_EncryptBlock_Rounds ALIGN 16 @@ -95,6 +97,7 @@ $L$SEH_end_Camellia_EncryptBlock_Rounds: ALIGN 16 _x86_64_Camellia_encrypt: + xor r9d,DWORD[r14] xor r8d,DWORD[4+r14] xor r11d,DWORD[8+r14] @@ -300,10 +303,12 @@ DB 0xf3,0xc3 + global Camellia_DecryptBlock ALIGN 16 Camellia_DecryptBlock: + mov eax,128 sub eax,ecx mov ecx,3 @@ -311,6 +316,7 @@ Camellia_DecryptBlock: jmp NEAR $L$dec_rounds + global Camellia_DecryptBlock_Rounds ALIGN 16 @@ -389,6 +395,7 @@ $L$SEH_end_Camellia_DecryptBlock_Rounds: ALIGN 16 _x86_64_Camellia_decrypt: + xor r9d,DWORD[r14] xor r8d,DWORD[4+r14] xor r11d,DWORD[8+r14] @@ -593,6 +600,7 @@ $L$ddone: DB 0xf3,0xc3 + global Camellia_Ekeygen ALIGN 16 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/ec/ecp_nistz256-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/ec/ecp_nistz256-x86_64.asm index c87f73a8aaee06..9930dadce66880 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/ec/ecp_nistz256-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/ec/ecp_nistz256-x86_64.asm @@ -3958,10 +3958,12 @@ $L$SEH_begin_ecp_nistz256_to_mont: mov rsi,rdx + mov ecx,0x80100 and ecx,DWORD[((OPENSSL_ia32cap_P+8))] lea rdx,[$L$RR] jmp NEAR $L$mul_mont + $L$SEH_end_ecp_nistz256_to_mont: @@ -4922,6 +4924,7 @@ global ecp_nistz256_scatter_w5 ALIGN 32 ecp_nistz256_scatter_w5: + lea r8d,[((-3))+r8*2+r8] movdqa xmm0,XMMWORD[rdx] shl r8d,5 @@ -4942,6 +4945,7 @@ ecp_nistz256_scatter_w5: + global ecp_nistz256_gather_w5 ALIGN 32 @@ -5035,6 +5039,7 @@ global ecp_nistz256_scatter_w7 ALIGN 32 ecp_nistz256_scatter_w7: + movdqu xmm0,XMMWORD[rdx] shl r8d,6 movdqu xmm1,XMMWORD[16+rdx] @@ -5050,6 +5055,7 @@ ecp_nistz256_scatter_w7: + global ecp_nistz256_gather_w7 ALIGN 32 @@ -5861,26 +5867,16 @@ DB 102,73,15,110,220 or r12,r8 or r12,r9 -DB 0x3e - jnz NEAR $L$add_proceedq DB 102,73,15,126,208 DB 102,73,15,126,217 - test r8,r8 - jnz NEAR $L$add_proceedq - test r9,r9 - jz NEAR $L$add_doubleq -DB 102,72,15,126,199 - pxor xmm0,xmm0 - movdqu XMMWORD[rdi],xmm0 - movdqu XMMWORD[16+rdi],xmm0 - movdqu XMMWORD[32+rdi],xmm0 - movdqu XMMWORD[48+rdi],xmm0 - movdqu XMMWORD[64+rdi],xmm0 - movdqu XMMWORD[80+rdi],xmm0 - jmp NEAR $L$add_doneq + or r12,r8 + or r12,r9 + + +DB 0x3e + jnz NEAR $L$add_proceedq -ALIGN 32 $L$add_doubleq: DB 102,72,15,126,206 DB 102,72,15,126,199 @@ -6994,26 +6990,16 @@ DB 102,73,15,110,220 or r12,r8 or r12,r9 -DB 0x3e - jnz NEAR $L$add_proceedx DB 102,73,15,126,208 DB 102,73,15,126,217 - test r8,r8 - jnz NEAR $L$add_proceedx - test r9,r9 - jz NEAR $L$add_doublex -DB 102,72,15,126,199 - pxor xmm0,xmm0 - movdqu XMMWORD[rdi],xmm0 - movdqu XMMWORD[16+rdi],xmm0 - movdqu XMMWORD[32+rdi],xmm0 - movdqu XMMWORD[48+rdi],xmm0 - movdqu XMMWORD[64+rdi],xmm0 - movdqu XMMWORD[80+rdi],xmm0 - jmp NEAR $L$add_donex + or r12,r8 + or r12,r9 + + +DB 0x3e + jnz NEAR $L$add_proceedx -ALIGN 32 $L$add_doublex: DB 102,72,15,126,206 DB 102,72,15,126,199 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/ec/x25519-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/ec/x25519-x86_64.asm index 84d55134ac746b..d6c6312363e0fc 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/ec/x25519-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/ec/x25519-x86_64.asm @@ -414,6 +414,7 @@ global x25519_fe64_eligible ALIGN 32 x25519_fe64_eligible: + mov ecx,DWORD[((OPENSSL_ia32cap_P+8))] xor eax,eax and ecx,0x80100 @@ -422,6 +423,7 @@ x25519_fe64_eligible: DB 0F3h,0C3h ;repret + global x25519_fe64_mul ALIGN 32 @@ -675,6 +677,7 @@ $L$SEH_begin_x25519_fe64_mul121666: $L$fe64_mul121666_body: + mov edx,121666 mulx rcx,r8,QWORD[rsi] mulx rax,r9,QWORD[8+rsi] @@ -705,6 +708,7 @@ $L$fe64_mul121666_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_x25519_fe64_mul121666: global x25519_fe64_add @@ -721,6 +725,7 @@ $L$SEH_begin_x25519_fe64_add: $L$fe64_add_body: + mov r8,QWORD[rsi] mov r9,QWORD[8+rsi] mov r10,QWORD[16+rsi] @@ -751,6 +756,7 @@ $L$fe64_add_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_x25519_fe64_add: global x25519_fe64_sub @@ -767,6 +773,7 @@ $L$SEH_begin_x25519_fe64_sub: $L$fe64_sub_body: + mov r8,QWORD[rsi] mov r9,QWORD[8+rsi] mov r10,QWORD[16+rsi] @@ -797,6 +804,7 @@ $L$fe64_sub_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_x25519_fe64_sub: global x25519_fe64_tobytes @@ -812,6 +820,7 @@ $L$SEH_begin_x25519_fe64_tobytes: $L$fe64_to_body: + mov r8,QWORD[rsi] mov r9,QWORD[8+rsi] mov r10,QWORD[16+rsi] @@ -849,6 +858,7 @@ $L$fe64_to_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_x25519_fe64_tobytes: DB 88,50,53,53,49,57,32,112,114,105,109,105,116,105,118,101 DB 115,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/include/internal/bn_conf.h index d803b518584f2e..dab67d1b37ae72 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/include/internal/dso_conf.h index c3b41df01e40a3..0c96ce73633dac 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_WIN32 # define DSO_EXTENSION ".dll" #endif diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/modes/aesni-gcm-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/modes/aesni-gcm-x86_64.asm index b1d83324575b69..9fba32b883a6ba 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/modes/aesni-gcm-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/modes/aesni-gcm-x86_64.asm @@ -8,6 +8,7 @@ section .text code align=64 ALIGN 32 _aesni_ctr32_ghash_6x: + vmovdqu xmm2,XMMWORD[32+r11] sub rdx,6 vpxor xmm4,xmm4,xmm4 @@ -316,6 +317,7 @@ $L$6x_done: DB 0F3h,0C3h ;repret + global aesni_gcm_decrypt ALIGN 32 @@ -457,6 +459,7 @@ $L$SEH_end_aesni_gcm_decrypt: ALIGN 32 _aesni_ctr32_6x: + vmovdqu xmm4,XMMWORD[((0-128))+rcx] vmovdqu xmm2,XMMWORD[32+r11] lea r13,[((-1))+rbp] @@ -545,6 +548,7 @@ $L$handle_ctr32_2: jmp NEAR $L$oop_ctr32 + global aesni_gcm_encrypt ALIGN 32 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/poly1305/poly1305-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/poly1305/poly1305-x86_64.asm index 5717654508c112..6f688b63e0990a 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/poly1305/poly1305-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/poly1305/poly1305-x86_64.asm @@ -26,6 +26,7 @@ $L$SEH_begin_poly1305_init: mov rdx,r8 + xor rax,rax mov QWORD[rdi],rax mov QWORD[8+rdi],rax @@ -63,6 +64,7 @@ $L$no_key: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_init: @@ -198,6 +200,7 @@ $L$SEH_begin_poly1305_emit: mov rdx,r8 + $L$emit: mov r8,QWORD[rdi] mov r9,QWORD[8+rdi] @@ -220,10 +223,12 @@ $L$emit: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_emit: ALIGN 32 __poly1305_block: + mul r14 mov r9,rax mov rax,r11 @@ -266,8 +271,10 @@ __poly1305_block: + ALIGN 32 __poly1305_init_avx: + mov r14,r11 mov rbx,r12 xor rbp,rbp @@ -428,6 +435,7 @@ __poly1305_init_avx: + ALIGN 32 poly1305_blocks_avx: mov QWORD[8+rsp],rdi ;WIN64 prologue @@ -1296,6 +1304,7 @@ $L$SEH_begin_poly1305_emit_avx: mov rdx,r8 + cmp DWORD[20+rdi],0 je NEAR $L$emit @@ -1348,6 +1357,7 @@ $L$SEH_begin_poly1305_emit_avx: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_emit_avx: ALIGN 32 @@ -2607,6 +2617,7 @@ $L$SEH_begin_poly1305_init_base2_44: mov rdx,r8 + xor rax,rax mov QWORD[rdi],rax mov QWORD[8+rdi],rax @@ -2642,6 +2653,7 @@ $L$init_base2_44: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_init_base2_44: ALIGN 32 @@ -2656,6 +2668,7 @@ $L$SEH_begin_poly1305_blocks_vpmadd52: mov rcx,r9 + shr rdx,4 jz NEAR $L$no_data_vpmadd52 @@ -2764,6 +2777,7 @@ $L$no_data_vpmadd52: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_blocks_vpmadd52: ALIGN 32 @@ -2778,6 +2792,7 @@ $L$SEH_begin_poly1305_blocks_vpmadd52_4x: mov rcx,r9 + shr rdx,4 jz NEAR $L$no_data_vpmadd52_4x @@ -3204,6 +3219,7 @@ $L$no_data_vpmadd52_4x: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_blocks_vpmadd52_4x: ALIGN 32 @@ -3218,6 +3234,7 @@ $L$SEH_begin_poly1305_blocks_vpmadd52_8x: mov rcx,r9 + shr rdx,4 jz NEAR $L$no_data_vpmadd52_8x @@ -3560,6 +3577,7 @@ $L$no_data_vpmadd52_8x: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_blocks_vpmadd52_8x: ALIGN 32 @@ -3573,6 +3591,7 @@ $L$SEH_begin_poly1305_emit_base2_44: mov rdx,r8 + mov r8,QWORD[rdi] mov r9,QWORD[8+rdi] mov r10,QWORD[16+rdi] @@ -3605,6 +3624,7 @@ $L$SEH_begin_poly1305_emit_base2_44: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_emit_base2_44: ALIGN 64 $L$const: @@ -3646,6 +3666,7 @@ global xor128_encrypt_n_pad ALIGN 16 xor128_encrypt_n_pad: + sub rdx,r8 sub rcx,r8 mov r10,r9 @@ -3689,10 +3710,12 @@ $L$done_enc: DB 0F3h,0C3h ;repret + global xor128_decrypt_n_pad ALIGN 16 xor128_decrypt_n_pad: + sub rdx,r8 sub rcx,r8 mov r10,r9 @@ -3739,6 +3762,7 @@ $L$done_dec: mov rax,r8 DB 0F3h,0C3h ;repret + EXTERN __imp_RtlVirtualUnwind ALIGN 16 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/rc4/rc4-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/rc4/rc4-x86_64.asm index 5732b40ed64f3f..edbcc06e34b673 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/rc4/rc4-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/rc4/rc4-x86_64.asm @@ -19,13 +19,14 @@ $L$SEH_begin_RC4: mov rdx,r8 mov rcx,r9 + + or rsi,rsi jne NEAR $L$entry mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret $L$entry: - push rbx push r12 @@ -558,6 +559,7 @@ $L$SEH_begin_RC4_set_key: mov rdx,r8 + lea rdi,[8+rdi] lea rdx,[rsi*1+rdx] neg rsi @@ -626,12 +628,14 @@ $L$exit_key: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_RC4_set_key: global RC4_options ALIGN 16 RC4_options: + lea rax,[$L$opts] mov edx,DWORD[OPENSSL_ia32cap_P] bt edx,20 @@ -644,6 +648,7 @@ $L$8xchar: add rax,12 $L$done: DB 0F3h,0C3h ;repret + ALIGN 64 $L$opts: DB 114,99,52,40,56,120,44,105,110,116,41,0 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/keccak1600-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/keccak1600-x86_64.asm index d0471cb3b3e8c0..fdab35d95c2f29 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/keccak1600-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/keccak1600-x86_64.asm @@ -8,6 +8,7 @@ section .text code align=64 ALIGN 32 __KeccakF1600: + mov rax,QWORD[60+rdi] mov rbx,QWORD[68+rdi] mov rcx,QWORD[76+rdi] @@ -263,6 +264,7 @@ $L$oop: + ALIGN 32 KeccakF1600: diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/sha1-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/sha1-x86_64.asm index d796380ae8e82e..1b60a7ce75cae0 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/sha1-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/sha1-x86_64.asm @@ -1458,10 +1458,10 @@ DB 102,15,56,0,251 movaps xmm9,XMMWORD[((-8-16))+rax] mov rsp,rax $L$epilogue_shaext: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_sha1_block_data_order_shaext: ALIGN 16 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/sha256-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/sha256-x86_64.asm index fc102444ff49ff..9ff3cbb92b5df1 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/sha256-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/sha256-x86_64.asm @@ -1804,6 +1804,7 @@ $L$SEH_begin_sha256_block_data_order_shaext: _shaext_shortcut: + lea rsp,[((-88))+rsp] movaps XMMWORD[(-8-80)+rax],xmm6 movaps XMMWORD[(-8-64)+rax],xmm7 @@ -2022,6 +2023,7 @@ $L$epilogue_shaext: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_sha256_block_data_order_shaext: ALIGN 64 @@ -5476,6 +5478,8 @@ $L$ower_avx2: lea rsp,[448+rsp] + + add eax,DWORD[rdi] add ebx,DWORD[4+rdi] add ecx,DWORD[8+rdi] @@ -5501,15 +5505,17 @@ $L$ower_avx2: jbe NEAR $L$oop_avx2 lea rbp,[rsp] + + + $L$done_avx2: - lea rsp,[rbp] - mov rsi,QWORD[88+rsp] + mov rsi,QWORD[88+rbp] vzeroupper - movaps xmm6,XMMWORD[((64+32))+rsp] - movaps xmm7,XMMWORD[((64+48))+rsp] - movaps xmm8,XMMWORD[((64+64))+rsp] - movaps xmm9,XMMWORD[((64+80))+rsp] + movaps xmm6,XMMWORD[((64+32))+rbp] + movaps xmm7,XMMWORD[((64+48))+rbp] + movaps xmm8,XMMWORD[((64+64))+rbp] + movaps xmm9,XMMWORD[((64+80))+rbp] mov r15,QWORD[((-48))+rsi] mov r14,QWORD[((-40))+rsi] diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/sha512-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/sha512-x86_64.asm index 1a9935d7b6ffc2..fc2269c8435930 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/sha512-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/sha/sha512-x86_64.asm @@ -5468,6 +5468,8 @@ $L$ower_avx2: lea rsp,[1152+rsp] + + add rax,QWORD[rdi] add rbx,QWORD[8+rdi] add rcx,QWORD[16+rdi] @@ -5493,17 +5495,19 @@ $L$ower_avx2: jbe NEAR $L$oop_avx2 lea rbp,[rsp] + + + $L$done_avx2: - lea rsp,[rbp] - mov rsi,QWORD[152+rsp] + mov rsi,QWORD[152+rbp] vzeroupper - movaps xmm6,XMMWORD[((128+32))+rsp] - movaps xmm7,XMMWORD[((128+48))+rsp] - movaps xmm8,XMMWORD[((128+64))+rsp] - movaps xmm9,XMMWORD[((128+80))+rsp] - movaps xmm10,XMMWORD[((128+96))+rsp] - movaps xmm11,XMMWORD[((128+112))+rsp] + movaps xmm6,XMMWORD[((128+32))+rbp] + movaps xmm7,XMMWORD[((128+48))+rbp] + movaps xmm8,XMMWORD[((128+64))+rbp] + movaps xmm9,XMMWORD[((128+80))+rbp] + movaps xmm10,XMMWORD[((128+96))+rbp] + movaps xmm11,XMMWORD[((128+112))+rbp] mov r15,QWORD[((-48))+rsi] mov r14,QWORD[((-40))+rsi] diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/x86_64cpuid.asm b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/x86_64cpuid.asm index e2fec12d2211bf..f57d3210fc935f 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/x86_64cpuid.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/x86_64cpuid.asm @@ -17,6 +17,7 @@ global OPENSSL_atomic_add ALIGN 16 OPENSSL_atomic_add: + mov eax,DWORD[rcx] $L$spin: lea r8,[rax*1+rdx] DB 0xf0 @@ -27,16 +28,19 @@ DB 0x48,0x98 DB 0F3h,0C3h ;repret + global OPENSSL_rdtsc ALIGN 16 OPENSSL_rdtsc: + rdtsc shl rdx,32 or rax,rdx DB 0F3h,0C3h ;repret + global OPENSSL_ia32_cpuid ALIGN 16 @@ -219,6 +223,7 @@ global OPENSSL_cleanse ALIGN 16 OPENSSL_cleanse: + xor rax,rax cmp rdx,15 jae NEAR $L$ot @@ -250,10 +255,12 @@ $L$aligned: DB 0F3h,0C3h ;repret + global CRYPTO_memcmp ALIGN 16 CRYPTO_memcmp: + xor rax,rax xor r10,r10 cmp r8,0 @@ -283,6 +290,7 @@ $L$oop_cmp: $L$no_data: DB 0F3h,0C3h ;repret + global OPENSSL_wipe_cpu ALIGN 16 @@ -306,6 +314,7 @@ global OPENSSL_instrument_bus ALIGN 16 OPENSSL_instrument_bus: + mov r10,rcx mov rcx,rdx mov r11,rdx @@ -334,10 +343,12 @@ DB 0xf0 DB 0F3h,0C3h ;repret + global OPENSSL_instrument_bus2 ALIGN 16 OPENSSL_instrument_bus2: + mov r10,rcx mov rcx,rdx mov r11,r8 @@ -381,10 +392,12 @@ $L$done2: sub rax,rcx DB 0F3h,0C3h ;repret + global OPENSSL_ia32_rdrand_bytes ALIGN 16 OPENSSL_ia32_rdrand_bytes: + xor rax,rax cmp rdx,0 je NEAR $L$done_rdrand_bytes @@ -422,10 +435,12 @@ $L$done_rdrand_bytes: xor r10,r10 DB 0F3h,0C3h ;repret + global OPENSSL_ia32_rdseed_bytes ALIGN 16 OPENSSL_ia32_rdseed_bytes: + xor rax,rax cmp rdx,0 je NEAR $L$done_rdseed_bytes diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/opensslconf.h index c4bc935b0a25d2..de662de12be0f1 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/include/progs.h b/deps/openssl/config/archs/VC-WIN64A/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/include/progs.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/openssl-cl.gypi b/deps/openssl/config/archs/VC-WIN64A/asm/openssl-cl.gypi index 2d20ac387916a0..91ad847952bcc6 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/openssl-cl.gypi +++ b/deps/openssl/config/archs/VC-WIN64A/asm/openssl-cl.gypi @@ -20,6 +20,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/openssl.gypi b/deps/openssl/config/archs/VC-WIN64A/asm/openssl.gypi index 20ef5e5d4b3a08..5ddf062b390fc7 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/openssl.gypi +++ b/deps/openssl/config/archs/VC-WIN64A/asm/openssl.gypi @@ -727,6 +727,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/configdata.pm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/configdata.pm index 1a22e6b6ed13c0..a95fc8411c77fe 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/configdata.pm @@ -54,13 +54,13 @@ our %config = ( export_var_as_fn => "1", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "AESNI_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], libdir => "", major => "1", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_WIN64A" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -116,8 +116,8 @@ our %config = ( sourcedir => ".", target => "VC-WIN64A", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -133,7 +133,7 @@ our %target = ( LDFLAGS => "/nologo /debug", MT => "mt", MTFLAGS => "-nologo", - RANLIB => "CODE(0x562305dbe5d8)", + RANLIB => "CODE(0x55c8e9449798)", RC => "rc", _conf_fname_int => [ "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/shared-info.pl" ], aes_asm_src => "aes_core.c aes_cbc.c vpaes-x86_64.s aesni-x86_64.s aesni-sha1-x86_64.s aesni-sha256-x86_64.s aesni-mb-x86_64.s", @@ -259,6 +259,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -376,8 +377,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -645,14 +646,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -728,6 +721,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1525,6 +1526,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3266,7 +3273,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3274,6 +3280,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3767,14 +3774,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4215,6 +4214,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4924,49 +4931,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4976,25 +4975,21 @@ our %unified_info = ( "crypto/aes/aesni-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -5012,13 +5007,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -5032,613 +5025,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5656,188 +5547,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5847,19 +5707,16 @@ our %unified_info = ( "crypto/bn/rsaz-avx2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz_exp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5885,31 +5742,26 @@ our %unified_info = ( "crypto/bn/x86_64-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont5.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5919,37 +5771,31 @@ our %unified_info = ( "crypto/camellia/cmll-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5959,31 +5805,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -6001,278 +5842,232 @@ our %unified_info = ( "crypto/chacha/chacha-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6282,301 +6077,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6584,7 +6329,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6592,7 +6336,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6600,7 +6343,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6608,7 +6350,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6616,7 +6357,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6624,163 +6364,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6798,241 +6511,201 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7040,21 +6713,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7062,13 +6732,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7076,81 +6744,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7158,328 +6813,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7489,91 +7083,76 @@ our %unified_info = ( "crypto/md5/md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/aesni-gcm-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7592,7 +7171,6 @@ our %unified_info = ( "crypto/modes/ghash-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7602,361 +7180,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7978,265 +7496,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8246,31 +7720,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8280,7 +7749,6 @@ our %unified_info = ( "crypto/sha/keccak1600-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8294,7 +7762,6 @@ our %unified_info = ( "crypto/sha/sha1-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-mips.o" => @@ -8312,19 +7779,16 @@ our %unified_info = ( "crypto/sha/sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8338,7 +7802,6 @@ our %unified_info = ( "crypto/sha/sha256-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-mips.o" => @@ -8356,13 +7819,11 @@ our %unified_info = ( "crypto/sha/sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8388,727 +7849,606 @@ our %unified_info = ( "crypto/sha/sha512-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86_64cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86_64.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9159,6 +8499,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9403,7 +8751,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9729,7 +9076,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9775,7 +9121,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9841,7 +9186,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9866,7 +9210,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9964,7 +9307,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -10014,18 +9356,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -10036,6 +9375,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10099,10 +9442,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10131,6 +9470,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10395,6 +9738,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15378,7 +14722,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15386,6 +14729,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15613,6 +14957,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15715,10 +15067,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15747,6 +15095,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aes-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aes-x86_64.asm deleted file mode 100644 index c01e41b30164db..00000000000000 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aes-x86_64.asm +++ /dev/null @@ -1,2960 +0,0 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -ALIGN 16 -_x86_64_AES_encrypt: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - - mov r13d,DWORD[240+r15] - sub r13d,1 - jmp NEAR $L$enc_loop -ALIGN 16 -$L$enc_loop: - - movzx esi,al - movzx edi,bl - movzx ebp,cl - mov r10d,DWORD[rsi*8+r14] - mov r11d,DWORD[rdi*8+r14] - mov r12d,DWORD[rbp*8+r14] - - movzx esi,bh - movzx edi,ch - movzx ebp,dl - xor r10d,DWORD[3+rsi*8+r14] - xor r11d,DWORD[3+rdi*8+r14] - mov r8d,DWORD[rbp*8+r14] - - movzx esi,dh - shr ecx,16 - movzx ebp,ah - xor r12d,DWORD[3+rsi*8+r14] - shr edx,16 - xor r8d,DWORD[3+rbp*8+r14] - - shr ebx,16 - lea r15,[16+r15] - shr eax,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - xor r10d,DWORD[2+rsi*8+r14] - xor r11d,DWORD[2+rdi*8+r14] - xor r12d,DWORD[2+rbp*8+r14] - - movzx esi,dh - movzx edi,ah - movzx ebp,bl - xor r10d,DWORD[1+rsi*8+r14] - xor r11d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[2+rbp*8+r14] - - mov edx,DWORD[12+r15] - movzx edi,bh - movzx ebp,ch - mov eax,DWORD[r15] - xor r12d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[1+rbp*8+r14] - - mov ebx,DWORD[4+r15] - mov ecx,DWORD[8+r15] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d - sub r13d,1 - jnz NEAR $L$enc_loop - movzx esi,al - movzx edi,bl - movzx ebp,cl - movzx r10d,BYTE[2+rsi*8+r14] - movzx r11d,BYTE[2+rdi*8+r14] - movzx r12d,BYTE[2+rbp*8+r14] - - movzx esi,dl - movzx edi,bh - movzx ebp,ch - movzx r8d,BYTE[2+rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - mov ebp,DWORD[rbp*8+r14] - - and edi,0x0000ff00 - and ebp,0x0000ff00 - - xor r10d,edi - xor r11d,ebp - shr ecx,16 - - movzx esi,dh - movzx edi,ah - shr edx,16 - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - - and esi,0x0000ff00 - and edi,0x0000ff00 - shr ebx,16 - xor r12d,esi - xor r8d,edi - shr eax,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - mov ebp,DWORD[rbp*8+r14] - - and esi,0x00ff0000 - and edi,0x00ff0000 - and ebp,0x00ff0000 - - xor r10d,esi - xor r11d,edi - xor r12d,ebp - - movzx esi,bl - movzx edi,dh - movzx ebp,ah - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[2+rdi*8+r14] - mov ebp,DWORD[2+rbp*8+r14] - - and esi,0x00ff0000 - and edi,0xff000000 - and ebp,0xff000000 - - xor r8d,esi - xor r10d,edi - xor r11d,ebp - - movzx esi,bh - movzx edi,ch - mov edx,DWORD[((16+12))+r15] - mov esi,DWORD[2+rsi*8+r14] - mov edi,DWORD[2+rdi*8+r14] - mov eax,DWORD[((16+0))+r15] - - and esi,0xff000000 - and edi,0xff000000 - - xor r12d,esi - xor r8d,edi - - mov ebx,DWORD[((16+4))+r15] - mov ecx,DWORD[((16+8))+r15] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d -DB 0xf3,0xc3 - - -ALIGN 16 -_x86_64_AES_encrypt_compact: - - lea r8,[128+r14] - mov edi,DWORD[((0-128))+r8] - mov ebp,DWORD[((32-128))+r8] - mov r10d,DWORD[((64-128))+r8] - mov r11d,DWORD[((96-128))+r8] - mov edi,DWORD[((128-128))+r8] - mov ebp,DWORD[((160-128))+r8] - mov r10d,DWORD[((192-128))+r8] - mov r11d,DWORD[((224-128))+r8] - jmp NEAR $L$enc_loop_compact -ALIGN 16 -$L$enc_loop_compact: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - lea r15,[16+r15] - movzx r10d,al - movzx r11d,bl - movzx r12d,cl - movzx r8d,dl - movzx esi,bh - movzx edi,ch - shr ecx,16 - movzx ebp,dh - movzx r10d,BYTE[r10*1+r14] - movzx r11d,BYTE[r11*1+r14] - movzx r12d,BYTE[r12*1+r14] - movzx r8d,BYTE[r8*1+r14] - - movzx r9d,BYTE[rsi*1+r14] - movzx esi,ah - movzx r13d,BYTE[rdi*1+r14] - movzx edi,cl - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - - shl r9d,8 - shr edx,16 - shl r13d,8 - xor r10d,r9d - shr eax,16 - movzx r9d,dl - shr ebx,16 - xor r11d,r13d - shl ebp,8 - movzx r13d,al - movzx edi,BYTE[rdi*1+r14] - xor r12d,ebp - - shl esi,8 - movzx ebp,bl - shl edi,16 - xor r8d,esi - movzx r9d,BYTE[r9*1+r14] - movzx esi,dh - movzx r13d,BYTE[r13*1+r14] - xor r10d,edi - - shr ecx,8 - movzx edi,ah - shl r9d,16 - shr ebx,8 - shl r13d,16 - xor r11d,r9d - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx edx,BYTE[rcx*1+r14] - movzx ecx,BYTE[rbx*1+r14] - - shl ebp,16 - xor r12d,r13d - shl esi,24 - xor r8d,ebp - shl edi,24 - xor r10d,esi - shl edx,24 - xor r11d,edi - shl ecx,24 - mov eax,r10d - mov ebx,r11d - xor ecx,r12d - xor edx,r8d - cmp r15,QWORD[16+rsp] - je NEAR $L$enc_compact_done - mov r10d,0x80808080 - mov r11d,0x80808080 - and r10d,eax - and r11d,ebx - mov esi,r10d - mov edi,r11d - shr r10d,7 - lea r8d,[rax*1+rax] - shr r11d,7 - lea r9d,[rbx*1+rbx] - sub esi,r10d - sub edi,r11d - and r8d,0xfefefefe - and r9d,0xfefefefe - and esi,0x1b1b1b1b - and edi,0x1b1b1b1b - mov r10d,eax - mov r11d,ebx - xor r8d,esi - xor r9d,edi - - xor eax,r8d - xor ebx,r9d - mov r12d,0x80808080 - rol eax,24 - mov ebp,0x80808080 - rol ebx,24 - and r12d,ecx - and ebp,edx - xor eax,r8d - xor ebx,r9d - mov esi,r12d - ror r10d,16 - mov edi,ebp - ror r11d,16 - lea r8d,[rcx*1+rcx] - shr r12d,7 - xor eax,r10d - shr ebp,7 - xor ebx,r11d - ror r10d,8 - lea r9d,[rdx*1+rdx] - ror r11d,8 - sub esi,r12d - sub edi,ebp - xor eax,r10d - xor ebx,r11d - - and r8d,0xfefefefe - and r9d,0xfefefefe - and esi,0x1b1b1b1b - and edi,0x1b1b1b1b - mov r12d,ecx - mov ebp,edx - xor r8d,esi - xor r9d,edi - - ror r12d,16 - xor ecx,r8d - ror ebp,16 - xor edx,r9d - rol ecx,24 - mov esi,DWORD[r14] - rol edx,24 - xor ecx,r8d - mov edi,DWORD[64+r14] - xor edx,r9d - mov r8d,DWORD[128+r14] - xor ecx,r12d - ror r12d,8 - xor edx,ebp - ror ebp,8 - xor ecx,r12d - mov r9d,DWORD[192+r14] - xor edx,ebp - jmp NEAR $L$enc_loop_compact -ALIGN 16 -$L$enc_compact_done: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] -DB 0xf3,0xc3 - - -global AES_encrypt - -ALIGN 16 -global asm_AES_encrypt - -asm_AES_encrypt: -AES_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_AES_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - mov rax,rsp - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - - - lea rcx,[((-63))+rdx] - and rsp,-64 - sub rcx,rsp - neg rcx - and rcx,0x3c0 - sub rsp,rcx - sub rsp,32 - - mov QWORD[16+rsp],rsi - mov QWORD[24+rsp],rax - -$L$enc_prologue: - - mov r15,rdx - mov r13d,DWORD[240+r15] - - mov eax,DWORD[rdi] - mov ebx,DWORD[4+rdi] - mov ecx,DWORD[8+rdi] - mov edx,DWORD[12+rdi] - - shl r13d,4 - lea rbp,[r13*1+r15] - mov QWORD[rsp],r15 - mov QWORD[8+rsp],rbp - - - lea r14,[(($L$AES_Te+2048))] - lea rbp,[768+rsp] - sub rbp,r14 - and rbp,0x300 - lea r14,[rbp*1+r14] - - call _x86_64_AES_encrypt_compact - - mov r9,QWORD[16+rsp] - mov rsi,QWORD[24+rsp] - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - mov r15,QWORD[((-48))+rsi] - - mov r14,QWORD[((-40))+rsi] - - mov r13,QWORD[((-32))+rsi] - - mov r12,QWORD[((-24))+rsi] - - mov rbp,QWORD[((-16))+rsi] - - mov rbx,QWORD[((-8))+rsi] - - lea rsp,[rsi] - -$L$enc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_AES_encrypt: - -ALIGN 16 -_x86_64_AES_decrypt: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - - mov r13d,DWORD[240+r15] - sub r13d,1 - jmp NEAR $L$dec_loop -ALIGN 16 -$L$dec_loop: - - movzx esi,al - movzx edi,bl - movzx ebp,cl - mov r10d,DWORD[rsi*8+r14] - mov r11d,DWORD[rdi*8+r14] - mov r12d,DWORD[rbp*8+r14] - - movzx esi,dh - movzx edi,ah - movzx ebp,dl - xor r10d,DWORD[3+rsi*8+r14] - xor r11d,DWORD[3+rdi*8+r14] - mov r8d,DWORD[rbp*8+r14] - - movzx esi,bh - shr eax,16 - movzx ebp,ch - xor r12d,DWORD[3+rsi*8+r14] - shr edx,16 - xor r8d,DWORD[3+rbp*8+r14] - - shr ebx,16 - lea r15,[16+r15] - shr ecx,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - xor r10d,DWORD[2+rsi*8+r14] - xor r11d,DWORD[2+rdi*8+r14] - xor r12d,DWORD[2+rbp*8+r14] - - movzx esi,bh - movzx edi,ch - movzx ebp,bl - xor r10d,DWORD[1+rsi*8+r14] - xor r11d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[2+rbp*8+r14] - - movzx esi,dh - mov edx,DWORD[12+r15] - movzx ebp,ah - xor r12d,DWORD[1+rsi*8+r14] - mov eax,DWORD[r15] - xor r8d,DWORD[1+rbp*8+r14] - - xor eax,r10d - mov ebx,DWORD[4+r15] - mov ecx,DWORD[8+r15] - xor ecx,r12d - xor ebx,r11d - xor edx,r8d - sub r13d,1 - jnz NEAR $L$dec_loop - lea r14,[2048+r14] - movzx esi,al - movzx edi,bl - movzx ebp,cl - movzx r10d,BYTE[rsi*1+r14] - movzx r11d,BYTE[rdi*1+r14] - movzx r12d,BYTE[rbp*1+r14] - - movzx esi,dl - movzx edi,dh - movzx ebp,ah - movzx r8d,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl edi,8 - shl ebp,8 - - xor r10d,edi - xor r11d,ebp - shr edx,16 - - movzx esi,bh - movzx edi,ch - shr eax,16 - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - - shl esi,8 - shl edi,8 - shr ebx,16 - xor r12d,esi - xor r8d,edi - shr ecx,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl esi,16 - shl edi,16 - shl ebp,16 - - xor r10d,esi - xor r11d,edi - xor r12d,ebp - - movzx esi,bl - movzx edi,bh - movzx ebp,ch - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl esi,16 - shl edi,24 - shl ebp,24 - - xor r8d,esi - xor r10d,edi - xor r11d,ebp - - movzx esi,dh - movzx edi,ah - mov edx,DWORD[((16+12))+r15] - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - mov eax,DWORD[((16+0))+r15] - - shl esi,24 - shl edi,24 - - xor r12d,esi - xor r8d,edi - - mov ebx,DWORD[((16+4))+r15] - mov ecx,DWORD[((16+8))+r15] - lea r14,[((-2048))+r14] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d -DB 0xf3,0xc3 - - -ALIGN 16 -_x86_64_AES_decrypt_compact: - - lea r8,[128+r14] - mov edi,DWORD[((0-128))+r8] - mov ebp,DWORD[((32-128))+r8] - mov r10d,DWORD[((64-128))+r8] - mov r11d,DWORD[((96-128))+r8] - mov edi,DWORD[((128-128))+r8] - mov ebp,DWORD[((160-128))+r8] - mov r10d,DWORD[((192-128))+r8] - mov r11d,DWORD[((224-128))+r8] - jmp NEAR $L$dec_loop_compact - -ALIGN 16 -$L$dec_loop_compact: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - lea r15,[16+r15] - movzx r10d,al - movzx r11d,bl - movzx r12d,cl - movzx r8d,dl - movzx esi,dh - movzx edi,ah - shr edx,16 - movzx ebp,bh - movzx r10d,BYTE[r10*1+r14] - movzx r11d,BYTE[r11*1+r14] - movzx r12d,BYTE[r12*1+r14] - movzx r8d,BYTE[r8*1+r14] - - movzx r9d,BYTE[rsi*1+r14] - movzx esi,ch - movzx r13d,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - - shr ecx,16 - shl r13d,8 - shl r9d,8 - movzx edi,cl - shr eax,16 - xor r10d,r9d - shr ebx,16 - movzx r9d,dl - - shl ebp,8 - xor r11d,r13d - shl esi,8 - movzx r13d,al - movzx edi,BYTE[rdi*1+r14] - xor r12d,ebp - movzx ebp,bl - - shl edi,16 - xor r8d,esi - movzx r9d,BYTE[r9*1+r14] - movzx esi,bh - movzx ebp,BYTE[rbp*1+r14] - xor r10d,edi - movzx r13d,BYTE[r13*1+r14] - movzx edi,ch - - shl ebp,16 - shl r9d,16 - shl r13d,16 - xor r8d,ebp - movzx ebp,dh - xor r11d,r9d - shr eax,8 - xor r12d,r13d - - movzx esi,BYTE[rsi*1+r14] - movzx ebx,BYTE[rdi*1+r14] - movzx ecx,BYTE[rbp*1+r14] - movzx edx,BYTE[rax*1+r14] - - mov eax,r10d - shl esi,24 - shl ebx,24 - shl ecx,24 - xor eax,esi - shl edx,24 - xor ebx,r11d - xor ecx,r12d - xor edx,r8d - cmp r15,QWORD[16+rsp] - je NEAR $L$dec_compact_done - - mov rsi,QWORD[((256+0))+r14] - shl rbx,32 - shl rdx,32 - mov rdi,QWORD[((256+8))+r14] - or rax,rbx - or rcx,rdx - mov rbp,QWORD[((256+16))+r14] - mov r9,rsi - mov r12,rsi - and r9,rax - and r12,rcx - mov rbx,r9 - mov rdx,r12 - shr r9,7 - lea r8,[rax*1+rax] - shr r12,7 - lea r11,[rcx*1+rcx] - sub rbx,r9 - sub rdx,r12 - and r8,rdi - and r11,rdi - and rbx,rbp - and rdx,rbp - xor r8,rbx - xor r11,rdx - mov r10,rsi - mov r13,rsi - - and r10,r8 - and r13,r11 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - lea r9,[r8*1+r8] - shr r13,7 - lea r12,[r11*1+r11] - sub rbx,r10 - sub rdx,r13 - and r9,rdi - and r12,rdi - and rbx,rbp - and rdx,rbp - xor r9,rbx - xor r12,rdx - mov r10,rsi - mov r13,rsi - - and r10,r9 - and r13,r12 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - xor r8,rax - shr r13,7 - xor r11,rcx - sub rbx,r10 - sub rdx,r13 - lea r10,[r9*1+r9] - lea r13,[r12*1+r12] - xor r9,rax - xor r12,rcx - and r10,rdi - and r13,rdi - and rbx,rbp - and rdx,rbp - xor r10,rbx - xor r13,rdx - - xor rax,r10 - xor rcx,r13 - xor r8,r10 - xor r11,r13 - mov rbx,rax - mov rdx,rcx - xor r9,r10 - shr rbx,32 - xor r12,r13 - shr rdx,32 - xor r10,r8 - rol eax,8 - xor r13,r11 - rol ecx,8 - xor r10,r9 - rol ebx,8 - xor r13,r12 - - rol edx,8 - xor eax,r10d - shr r10,32 - xor ecx,r13d - shr r13,32 - xor ebx,r10d - xor edx,r13d - - mov r10,r8 - rol r8d,24 - mov r13,r11 - rol r11d,24 - shr r10,32 - xor eax,r8d - shr r13,32 - xor ecx,r11d - rol r10d,24 - mov r8,r9 - rol r13d,24 - mov r11,r12 - shr r8,32 - xor ebx,r10d - shr r11,32 - xor edx,r13d - - mov rsi,QWORD[r14] - rol r9d,16 - mov rdi,QWORD[64+r14] - rol r12d,16 - mov rbp,QWORD[128+r14] - rol r8d,16 - mov r10,QWORD[192+r14] - xor eax,r9d - rol r11d,16 - xor ecx,r12d - mov r13,QWORD[256+r14] - xor ebx,r8d - xor edx,r11d - jmp NEAR $L$dec_loop_compact -ALIGN 16 -$L$dec_compact_done: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] -DB 0xf3,0xc3 - - -global AES_decrypt - -ALIGN 16 -global asm_AES_decrypt - -asm_AES_decrypt: -AES_decrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_AES_decrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - mov rax,rsp - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - - - lea rcx,[((-63))+rdx] - and rsp,-64 - sub rcx,rsp - neg rcx - and rcx,0x3c0 - sub rsp,rcx - sub rsp,32 - - mov QWORD[16+rsp],rsi - mov QWORD[24+rsp],rax - -$L$dec_prologue: - - mov r15,rdx - mov r13d,DWORD[240+r15] - - mov eax,DWORD[rdi] - mov ebx,DWORD[4+rdi] - mov ecx,DWORD[8+rdi] - mov edx,DWORD[12+rdi] - - shl r13d,4 - lea rbp,[r13*1+r15] - mov QWORD[rsp],r15 - mov QWORD[8+rsp],rbp - - - lea r14,[(($L$AES_Td+2048))] - lea rbp,[768+rsp] - sub rbp,r14 - and rbp,0x300 - lea r14,[rbp*1+r14] - shr rbp,3 - add r14,rbp - - call _x86_64_AES_decrypt_compact - - mov r9,QWORD[16+rsp] - mov rsi,QWORD[24+rsp] - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - mov r15,QWORD[((-48))+rsi] - - mov r14,QWORD[((-40))+rsi] - - mov r13,QWORD[((-32))+rsi] - - mov r12,QWORD[((-24))+rsi] - - mov rbp,QWORD[((-16))+rsi] - - mov rbx,QWORD[((-8))+rsi] - - lea rsp,[rsi] - -$L$dec_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_AES_decrypt: -global AES_set_encrypt_key - -ALIGN 16 -AES_set_encrypt_key: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_AES_set_encrypt_key: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - sub rsp,8 - -$L$enc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - mov rbp,QWORD[40+rsp] - - mov rbx,QWORD[48+rsp] - - add rsp,56 - -$L$enc_key_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_AES_set_encrypt_key: - - -ALIGN 16 -_x86_64_AES_set_encrypt_key: - - mov ecx,esi - mov rsi,rdi - mov rdi,rdx - - test rsi,-1 - jz NEAR $L$badpointer - test rdi,-1 - jz NEAR $L$badpointer - - lea rbp,[$L$AES_Te] - lea rbp,[((2048+128))+rbp] - - - mov eax,DWORD[((0-128))+rbp] - mov ebx,DWORD[((32-128))+rbp] - mov r8d,DWORD[((64-128))+rbp] - mov edx,DWORD[((96-128))+rbp] - mov eax,DWORD[((128-128))+rbp] - mov ebx,DWORD[((160-128))+rbp] - mov r8d,DWORD[((192-128))+rbp] - mov edx,DWORD[((224-128))+rbp] - - cmp ecx,128 - je NEAR $L$10rounds - cmp ecx,192 - je NEAR $L$12rounds - cmp ecx,256 - je NEAR $L$14rounds - mov rax,-2 - jmp NEAR $L$exit - -$L$10rounds: - mov rax,QWORD[rsi] - mov rdx,QWORD[8+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$10shortcut -ALIGN 4 -$L$10loop: - mov eax,DWORD[rdi] - mov edx,DWORD[12+rdi] -$L$10shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[16+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[20+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[24+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[28+rdi],eax - add ecx,1 - lea rdi,[16+rdi] - cmp ecx,10 - jl NEAR $L$10loop - - mov DWORD[80+rdi],10 - xor rax,rax - jmp NEAR $L$exit - -$L$12rounds: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rdx,QWORD[16+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$12shortcut -ALIGN 4 -$L$12loop: - mov eax,DWORD[rdi] - mov edx,DWORD[20+rdi] -$L$12shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[24+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[28+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[32+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[36+rdi],eax - - cmp ecx,7 - je NEAR $L$12break - add ecx,1 - - xor eax,DWORD[16+rdi] - mov DWORD[40+rdi],eax - xor eax,DWORD[20+rdi] - mov DWORD[44+rdi],eax - - lea rdi,[24+rdi] - jmp NEAR $L$12loop -$L$12break: - mov DWORD[72+rdi],12 - xor rax,rax - jmp NEAR $L$exit - -$L$14rounds: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rcx,QWORD[16+rsi] - mov rdx,QWORD[24+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rcx - mov QWORD[24+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$14shortcut -ALIGN 4 -$L$14loop: - mov eax,DWORD[rdi] - mov edx,DWORD[28+rdi] -$L$14shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[32+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[36+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[40+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[44+rdi],eax - - cmp ecx,6 - je NEAR $L$14break - add ecx,1 - - mov edx,eax - mov eax,DWORD[16+rdi] - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - shl ebx,8 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,16 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,24 - xor eax,ebx - - mov DWORD[48+rdi],eax - xor eax,DWORD[20+rdi] - mov DWORD[52+rdi],eax - xor eax,DWORD[24+rdi] - mov DWORD[56+rdi],eax - xor eax,DWORD[28+rdi] - mov DWORD[60+rdi],eax - - lea rdi,[32+rdi] - jmp NEAR $L$14loop -$L$14break: - mov DWORD[48+rdi],14 - xor rax,rax - jmp NEAR $L$exit - -$L$badpointer: - mov rax,-1 -$L$exit: -DB 0xf3,0xc3 - - -global AES_set_decrypt_key - -ALIGN 16 -AES_set_decrypt_key: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_AES_set_decrypt_key: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - push rdx - -$L$dec_key_prologue: - - call _x86_64_AES_set_encrypt_key - mov r8,QWORD[rsp] - cmp eax,0 - jne NEAR $L$abort - - mov r14d,DWORD[240+r8] - xor rdi,rdi - lea rcx,[r14*4+rdi] - mov rsi,r8 - lea rdi,[rcx*4+r8] -ALIGN 4 -$L$invert: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rcx,QWORD[rdi] - mov rdx,QWORD[8+rdi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[rsi],rcx - mov QWORD[8+rsi],rdx - lea rsi,[16+rsi] - lea rdi,[((-16))+rdi] - cmp rdi,rsi - jne NEAR $L$invert - - lea rax,[(($L$AES_Te+2048+1024))] - - mov rsi,QWORD[40+rax] - mov rdi,QWORD[48+rax] - mov rbp,QWORD[56+rax] - - mov r15,r8 - sub r14d,1 -ALIGN 4 -$L$permute: - lea r15,[16+r15] - mov rax,QWORD[r15] - mov rcx,QWORD[8+r15] - mov r9,rsi - mov r12,rsi - and r9,rax - and r12,rcx - mov rbx,r9 - mov rdx,r12 - shr r9,7 - lea r8,[rax*1+rax] - shr r12,7 - lea r11,[rcx*1+rcx] - sub rbx,r9 - sub rdx,r12 - and r8,rdi - and r11,rdi - and rbx,rbp - and rdx,rbp - xor r8,rbx - xor r11,rdx - mov r10,rsi - mov r13,rsi - - and r10,r8 - and r13,r11 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - lea r9,[r8*1+r8] - shr r13,7 - lea r12,[r11*1+r11] - sub rbx,r10 - sub rdx,r13 - and r9,rdi - and r12,rdi - and rbx,rbp - and rdx,rbp - xor r9,rbx - xor r12,rdx - mov r10,rsi - mov r13,rsi - - and r10,r9 - and r13,r12 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - xor r8,rax - shr r13,7 - xor r11,rcx - sub rbx,r10 - sub rdx,r13 - lea r10,[r9*1+r9] - lea r13,[r12*1+r12] - xor r9,rax - xor r12,rcx - and r10,rdi - and r13,rdi - and rbx,rbp - and rdx,rbp - xor r10,rbx - xor r13,rdx - - xor rax,r10 - xor rcx,r13 - xor r8,r10 - xor r11,r13 - mov rbx,rax - mov rdx,rcx - xor r9,r10 - shr rbx,32 - xor r12,r13 - shr rdx,32 - xor r10,r8 - rol eax,8 - xor r13,r11 - rol ecx,8 - xor r10,r9 - rol ebx,8 - xor r13,r12 - - rol edx,8 - xor eax,r10d - shr r10,32 - xor ecx,r13d - shr r13,32 - xor ebx,r10d - xor edx,r13d - - mov r10,r8 - rol r8d,24 - mov r13,r11 - rol r11d,24 - shr r10,32 - xor eax,r8d - shr r13,32 - xor ecx,r11d - rol r10d,24 - mov r8,r9 - rol r13d,24 - mov r11,r12 - shr r8,32 - xor ebx,r10d - shr r11,32 - xor edx,r13d - - - rol r9d,16 - - rol r12d,16 - - rol r8d,16 - - xor eax,r9d - rol r11d,16 - xor ecx,r12d - - xor ebx,r8d - xor edx,r11d - mov DWORD[r15],eax - mov DWORD[4+r15],ebx - mov DWORD[8+r15],ecx - mov DWORD[12+r15],edx - sub r14d,1 - jnz NEAR $L$permute - - xor rax,rax -$L$abort: - mov r15,QWORD[8+rsp] - - mov r14,QWORD[16+rsp] - - mov r13,QWORD[24+rsp] - - mov r12,QWORD[32+rsp] - - mov rbp,QWORD[40+rsp] - - mov rbx,QWORD[48+rsp] - - add rsp,56 - -$L$dec_key_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_AES_set_decrypt_key: -global AES_cbc_encrypt - -ALIGN 16 -EXTERN OPENSSL_ia32cap_P -global asm_AES_cbc_encrypt - -asm_AES_cbc_encrypt: -AES_cbc_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_AES_cbc_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - - cmp rdx,0 - je NEAR $L$cbc_epilogue - pushfq - - - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - -$L$cbc_prologue: - - cld - mov r9d,r9d - - lea r14,[$L$AES_Te] - lea r10,[$L$AES_Td] - cmp r9,0 - cmove r14,r10 - - - mov r10d,DWORD[OPENSSL_ia32cap_P] - cmp rdx,512 - jb NEAR $L$cbc_slow_prologue - test rdx,15 - jnz NEAR $L$cbc_slow_prologue - bt r10d,28 - jc NEAR $L$cbc_slow_prologue - - - lea r15,[((-88-248))+rsp] - and r15,-64 - - - mov r10,r14 - lea r11,[2304+r14] - mov r12,r15 - and r10,0xFFF - and r11,0xFFF - and r12,0xFFF - - cmp r12,r11 - jb NEAR $L$cbc_te_break_out - sub r12,r11 - sub r15,r12 - jmp NEAR $L$cbc_te_ok -$L$cbc_te_break_out: - sub r12,r10 - and r12,0xFFF - add r12,320 - sub r15,r12 -ALIGN 4 -$L$cbc_te_ok: - - xchg r15,rsp - - - mov QWORD[16+rsp],r15 - -$L$cbc_fast_body: - mov QWORD[24+rsp],rdi - mov QWORD[32+rsp],rsi - mov QWORD[40+rsp],rdx - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],r8 - mov DWORD[((80+240))+rsp],0 - mov rbp,r8 - mov rbx,r9 - mov r9,rsi - mov r8,rdi - mov r15,rcx - - mov eax,DWORD[240+r15] - - mov r10,r15 - sub r10,r14 - and r10,0xfff - cmp r10,2304 - jb NEAR $L$cbc_do_ecopy - cmp r10,4096-248 - jb NEAR $L$cbc_skip_ecopy -ALIGN 4 -$L$cbc_do_ecopy: - mov rsi,r15 - lea rdi,[80+rsp] - lea r15,[80+rsp] - mov ecx,240/8 - DD 0x90A548F3 - mov DWORD[rdi],eax -$L$cbc_skip_ecopy: - mov QWORD[rsp],r15 - - mov ecx,18 -ALIGN 4 -$L$cbc_prefetch_te: - mov r10,QWORD[r14] - mov r11,QWORD[32+r14] - mov r12,QWORD[64+r14] - mov r13,QWORD[96+r14] - lea r14,[128+r14] - sub ecx,1 - jnz NEAR $L$cbc_prefetch_te - lea r14,[((-2304))+r14] - - cmp rbx,0 - je NEAR $L$FAST_DECRYPT - - - mov eax,DWORD[rbp] - mov ebx,DWORD[4+rbp] - mov ecx,DWORD[8+rbp] - mov edx,DWORD[12+rbp] - -ALIGN 4 -$L$cbc_fast_enc_loop: - xor eax,DWORD[r8] - xor ebx,DWORD[4+r8] - xor ecx,DWORD[8+r8] - xor edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_encrypt - - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - sub r10,16 - test r10,-16 - mov QWORD[40+rsp],r10 - jnz NEAR $L$cbc_fast_enc_loop - mov rbp,QWORD[56+rsp] - mov DWORD[rbp],eax - mov DWORD[4+rbp],ebx - mov DWORD[8+rbp],ecx - mov DWORD[12+rbp],edx - - jmp NEAR $L$cbc_fast_cleanup - - -ALIGN 16 -$L$FAST_DECRYPT: - cmp r9,r8 - je NEAR $L$cbc_fast_dec_in_place - - mov QWORD[64+rsp],rbp -ALIGN 4 -$L$cbc_fast_dec_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_decrypt - - mov rbp,QWORD[64+rsp] - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[rbp] - xor ebx,DWORD[4+rbp] - xor ecx,DWORD[8+rbp] - xor edx,DWORD[12+rbp] - mov rbp,r8 - - sub r10,16 - mov QWORD[40+rsp],r10 - mov QWORD[64+rsp],rbp - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - jnz NEAR $L$cbc_fast_dec_loop - mov r12,QWORD[56+rsp] - mov r10,QWORD[rbp] - mov r11,QWORD[8+rbp] - mov QWORD[r12],r10 - mov QWORD[8+r12],r11 - jmp NEAR $L$cbc_fast_cleanup - -ALIGN 16 -$L$cbc_fast_dec_in_place: - mov r10,QWORD[rbp] - mov r11,QWORD[8+rbp] - mov QWORD[((0+64))+rsp],r10 - mov QWORD[((8+64))+rsp],r11 -ALIGN 4 -$L$cbc_fast_dec_in_place_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_decrypt - - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[((0+64))+rsp] - xor ebx,DWORD[((4+64))+rsp] - xor ecx,DWORD[((8+64))+rsp] - xor edx,DWORD[((12+64))+rsp] - - mov r11,QWORD[r8] - mov r12,QWORD[8+r8] - sub r10,16 - jz NEAR $L$cbc_fast_dec_in_place_done - - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - mov QWORD[40+rsp],r10 - jmp NEAR $L$cbc_fast_dec_in_place_loop -$L$cbc_fast_dec_in_place_done: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - -ALIGN 4 -$L$cbc_fast_cleanup: - cmp DWORD[((80+240))+rsp],0 - lea rdi,[80+rsp] - je NEAR $L$cbc_exit - mov ecx,240/8 - xor rax,rax - DD 0x90AB48F3 - - jmp NEAR $L$cbc_exit - - -ALIGN 16 -$L$cbc_slow_prologue: - - - lea rbp,[((-88))+rsp] - and rbp,-64 - - lea r10,[((-88-63))+rcx] - sub r10,rbp - neg r10 - and r10,0x3c0 - sub rbp,r10 - - xchg rbp,rsp - - - mov QWORD[16+rsp],rbp - -$L$cbc_slow_body: - - - - - mov QWORD[56+rsp],r8 - mov rbp,r8 - mov rbx,r9 - mov r9,rsi - mov r8,rdi - mov r15,rcx - mov r10,rdx - - mov eax,DWORD[240+r15] - mov QWORD[rsp],r15 - shl eax,4 - lea rax,[rax*1+r15] - mov QWORD[8+rsp],rax - - - lea r14,[2048+r14] - lea rax,[((768-8))+rsp] - sub rax,r14 - and rax,0x300 - lea r14,[rax*1+r14] - - cmp rbx,0 - je NEAR $L$SLOW_DECRYPT - - - test r10,-16 - mov eax,DWORD[rbp] - mov ebx,DWORD[4+rbp] - mov ecx,DWORD[8+rbp] - mov edx,DWORD[12+rbp] - jz NEAR $L$cbc_slow_enc_tail - -ALIGN 4 -$L$cbc_slow_enc_loop: - xor eax,DWORD[r8] - xor ebx,DWORD[4+r8] - xor ecx,DWORD[8+r8] - xor edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - mov QWORD[32+rsp],r9 - mov QWORD[40+rsp],r10 - - call _x86_64_AES_encrypt_compact - - mov r8,QWORD[24+rsp] - mov r9,QWORD[32+rsp] - mov r10,QWORD[40+rsp] - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - sub r10,16 - test r10,-16 - jnz NEAR $L$cbc_slow_enc_loop - test r10,15 - jnz NEAR $L$cbc_slow_enc_tail - mov rbp,QWORD[56+rsp] - mov DWORD[rbp],eax - mov DWORD[4+rbp],ebx - mov DWORD[8+rbp],ecx - mov DWORD[12+rbp],edx - - jmp NEAR $L$cbc_exit - -ALIGN 4 -$L$cbc_slow_enc_tail: - mov r11,rax - mov r12,rcx - mov rcx,r10 - mov rsi,r8 - mov rdi,r9 - DD 0x9066A4F3 - mov rcx,16 - sub rcx,r10 - xor rax,rax - DD 0x9066AAF3 - mov r8,r9 - mov r10,16 - mov rax,r11 - mov rcx,r12 - jmp NEAR $L$cbc_slow_enc_loop - -ALIGN 16 -$L$SLOW_DECRYPT: - shr rax,3 - add r14,rax - - mov r11,QWORD[rbp] - mov r12,QWORD[8+rbp] - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - -ALIGN 4 -$L$cbc_slow_dec_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - mov QWORD[32+rsp],r9 - mov QWORD[40+rsp],r10 - - call _x86_64_AES_decrypt_compact - - mov r8,QWORD[24+rsp] - mov r9,QWORD[32+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[((0+64))+rsp] - xor ebx,DWORD[((4+64))+rsp] - xor ecx,DWORD[((8+64))+rsp] - xor edx,DWORD[((12+64))+rsp] - - mov r11,QWORD[r8] - mov r12,QWORD[8+r8] - sub r10,16 - jc NEAR $L$cbc_slow_dec_partial - jz NEAR $L$cbc_slow_dec_done - - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - jmp NEAR $L$cbc_slow_dec_loop -$L$cbc_slow_dec_done: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - jmp NEAR $L$cbc_exit - -ALIGN 4 -$L$cbc_slow_dec_partial: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[((0+64))+rsp],eax - mov DWORD[((4+64))+rsp],ebx - mov DWORD[((8+64))+rsp],ecx - mov DWORD[((12+64))+rsp],edx - - mov rdi,r9 - lea rsi,[64+rsp] - lea rcx,[16+r10] - DD 0x9066A4F3 - jmp NEAR $L$cbc_exit - -ALIGN 16 -$L$cbc_exit: - mov rsi,QWORD[16+rsp] - - mov r15,QWORD[rsi] - - mov r14,QWORD[8+rsi] - - mov r13,QWORD[16+rsi] - - mov r12,QWORD[24+rsi] - - mov rbp,QWORD[32+rsi] - - mov rbx,QWORD[40+rsi] - - lea rsp,[48+rsi] - -$L$cbc_popfq: - popfq - - - -$L$cbc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_AES_cbc_encrypt: -ALIGN 64 -$L$AES_Te: - DD 0xa56363c6,0xa56363c6 - DD 0x847c7cf8,0x847c7cf8 - DD 0x997777ee,0x997777ee - DD 0x8d7b7bf6,0x8d7b7bf6 - DD 0x0df2f2ff,0x0df2f2ff - DD 0xbd6b6bd6,0xbd6b6bd6 - DD 0xb16f6fde,0xb16f6fde - DD 0x54c5c591,0x54c5c591 - DD 0x50303060,0x50303060 - DD 0x03010102,0x03010102 - DD 0xa96767ce,0xa96767ce - DD 0x7d2b2b56,0x7d2b2b56 - DD 0x19fefee7,0x19fefee7 - DD 0x62d7d7b5,0x62d7d7b5 - DD 0xe6abab4d,0xe6abab4d - DD 0x9a7676ec,0x9a7676ec - DD 0x45caca8f,0x45caca8f - DD 0x9d82821f,0x9d82821f - DD 0x40c9c989,0x40c9c989 - DD 0x877d7dfa,0x877d7dfa - DD 0x15fafaef,0x15fafaef - DD 0xeb5959b2,0xeb5959b2 - DD 0xc947478e,0xc947478e - DD 0x0bf0f0fb,0x0bf0f0fb - DD 0xecadad41,0xecadad41 - DD 0x67d4d4b3,0x67d4d4b3 - DD 0xfda2a25f,0xfda2a25f - DD 0xeaafaf45,0xeaafaf45 - DD 0xbf9c9c23,0xbf9c9c23 - DD 0xf7a4a453,0xf7a4a453 - DD 0x967272e4,0x967272e4 - DD 0x5bc0c09b,0x5bc0c09b - DD 0xc2b7b775,0xc2b7b775 - DD 0x1cfdfde1,0x1cfdfde1 - DD 0xae93933d,0xae93933d - DD 0x6a26264c,0x6a26264c - DD 0x5a36366c,0x5a36366c - DD 0x413f3f7e,0x413f3f7e - DD 0x02f7f7f5,0x02f7f7f5 - DD 0x4fcccc83,0x4fcccc83 - DD 0x5c343468,0x5c343468 - DD 0xf4a5a551,0xf4a5a551 - DD 0x34e5e5d1,0x34e5e5d1 - DD 0x08f1f1f9,0x08f1f1f9 - DD 0x937171e2,0x937171e2 - DD 0x73d8d8ab,0x73d8d8ab - DD 0x53313162,0x53313162 - DD 0x3f15152a,0x3f15152a - DD 0x0c040408,0x0c040408 - DD 0x52c7c795,0x52c7c795 - DD 0x65232346,0x65232346 - DD 0x5ec3c39d,0x5ec3c39d - DD 0x28181830,0x28181830 - DD 0xa1969637,0xa1969637 - DD 0x0f05050a,0x0f05050a - DD 0xb59a9a2f,0xb59a9a2f - DD 0x0907070e,0x0907070e - DD 0x36121224,0x36121224 - DD 0x9b80801b,0x9b80801b - DD 0x3de2e2df,0x3de2e2df - DD 0x26ebebcd,0x26ebebcd - DD 0x6927274e,0x6927274e - DD 0xcdb2b27f,0xcdb2b27f - DD 0x9f7575ea,0x9f7575ea - DD 0x1b090912,0x1b090912 - DD 0x9e83831d,0x9e83831d - DD 0x742c2c58,0x742c2c58 - DD 0x2e1a1a34,0x2e1a1a34 - DD 0x2d1b1b36,0x2d1b1b36 - DD 0xb26e6edc,0xb26e6edc - DD 0xee5a5ab4,0xee5a5ab4 - DD 0xfba0a05b,0xfba0a05b - DD 0xf65252a4,0xf65252a4 - DD 0x4d3b3b76,0x4d3b3b76 - DD 0x61d6d6b7,0x61d6d6b7 - DD 0xceb3b37d,0xceb3b37d - DD 0x7b292952,0x7b292952 - DD 0x3ee3e3dd,0x3ee3e3dd - DD 0x712f2f5e,0x712f2f5e - DD 0x97848413,0x97848413 - DD 0xf55353a6,0xf55353a6 - DD 0x68d1d1b9,0x68d1d1b9 - DD 0x00000000,0x00000000 - DD 0x2cededc1,0x2cededc1 - DD 0x60202040,0x60202040 - DD 0x1ffcfce3,0x1ffcfce3 - DD 0xc8b1b179,0xc8b1b179 - DD 0xed5b5bb6,0xed5b5bb6 - DD 0xbe6a6ad4,0xbe6a6ad4 - DD 0x46cbcb8d,0x46cbcb8d - DD 0xd9bebe67,0xd9bebe67 - DD 0x4b393972,0x4b393972 - DD 0xde4a4a94,0xde4a4a94 - DD 0xd44c4c98,0xd44c4c98 - DD 0xe85858b0,0xe85858b0 - DD 0x4acfcf85,0x4acfcf85 - DD 0x6bd0d0bb,0x6bd0d0bb - DD 0x2aefefc5,0x2aefefc5 - DD 0xe5aaaa4f,0xe5aaaa4f - DD 0x16fbfbed,0x16fbfbed - DD 0xc5434386,0xc5434386 - DD 0xd74d4d9a,0xd74d4d9a - DD 0x55333366,0x55333366 - DD 0x94858511,0x94858511 - DD 0xcf45458a,0xcf45458a - DD 0x10f9f9e9,0x10f9f9e9 - DD 0x06020204,0x06020204 - DD 0x817f7ffe,0x817f7ffe - DD 0xf05050a0,0xf05050a0 - DD 0x443c3c78,0x443c3c78 - DD 0xba9f9f25,0xba9f9f25 - DD 0xe3a8a84b,0xe3a8a84b - DD 0xf35151a2,0xf35151a2 - DD 0xfea3a35d,0xfea3a35d - DD 0xc0404080,0xc0404080 - DD 0x8a8f8f05,0x8a8f8f05 - DD 0xad92923f,0xad92923f - DD 0xbc9d9d21,0xbc9d9d21 - DD 0x48383870,0x48383870 - DD 0x04f5f5f1,0x04f5f5f1 - DD 0xdfbcbc63,0xdfbcbc63 - DD 0xc1b6b677,0xc1b6b677 - DD 0x75dadaaf,0x75dadaaf - DD 0x63212142,0x63212142 - DD 0x30101020,0x30101020 - DD 0x1affffe5,0x1affffe5 - DD 0x0ef3f3fd,0x0ef3f3fd - DD 0x6dd2d2bf,0x6dd2d2bf - DD 0x4ccdcd81,0x4ccdcd81 - DD 0x140c0c18,0x140c0c18 - DD 0x35131326,0x35131326 - DD 0x2fececc3,0x2fececc3 - DD 0xe15f5fbe,0xe15f5fbe - DD 0xa2979735,0xa2979735 - DD 0xcc444488,0xcc444488 - DD 0x3917172e,0x3917172e - DD 0x57c4c493,0x57c4c493 - DD 0xf2a7a755,0xf2a7a755 - DD 0x827e7efc,0x827e7efc - DD 0x473d3d7a,0x473d3d7a - DD 0xac6464c8,0xac6464c8 - DD 0xe75d5dba,0xe75d5dba - DD 0x2b191932,0x2b191932 - DD 0x957373e6,0x957373e6 - DD 0xa06060c0,0xa06060c0 - DD 0x98818119,0x98818119 - DD 0xd14f4f9e,0xd14f4f9e - DD 0x7fdcdca3,0x7fdcdca3 - DD 0x66222244,0x66222244 - DD 0x7e2a2a54,0x7e2a2a54 - DD 0xab90903b,0xab90903b - DD 0x8388880b,0x8388880b - DD 0xca46468c,0xca46468c - DD 0x29eeeec7,0x29eeeec7 - DD 0xd3b8b86b,0xd3b8b86b - DD 0x3c141428,0x3c141428 - DD 0x79dedea7,0x79dedea7 - DD 0xe25e5ebc,0xe25e5ebc - DD 0x1d0b0b16,0x1d0b0b16 - DD 0x76dbdbad,0x76dbdbad - DD 0x3be0e0db,0x3be0e0db - DD 0x56323264,0x56323264 - DD 0x4e3a3a74,0x4e3a3a74 - DD 0x1e0a0a14,0x1e0a0a14 - DD 0xdb494992,0xdb494992 - DD 0x0a06060c,0x0a06060c - DD 0x6c242448,0x6c242448 - DD 0xe45c5cb8,0xe45c5cb8 - DD 0x5dc2c29f,0x5dc2c29f - DD 0x6ed3d3bd,0x6ed3d3bd - DD 0xefacac43,0xefacac43 - DD 0xa66262c4,0xa66262c4 - DD 0xa8919139,0xa8919139 - DD 0xa4959531,0xa4959531 - DD 0x37e4e4d3,0x37e4e4d3 - DD 0x8b7979f2,0x8b7979f2 - DD 0x32e7e7d5,0x32e7e7d5 - DD 0x43c8c88b,0x43c8c88b - DD 0x5937376e,0x5937376e - DD 0xb76d6dda,0xb76d6dda - DD 0x8c8d8d01,0x8c8d8d01 - DD 0x64d5d5b1,0x64d5d5b1 - DD 0xd24e4e9c,0xd24e4e9c - DD 0xe0a9a949,0xe0a9a949 - DD 0xb46c6cd8,0xb46c6cd8 - DD 0xfa5656ac,0xfa5656ac - DD 0x07f4f4f3,0x07f4f4f3 - DD 0x25eaeacf,0x25eaeacf - DD 0xaf6565ca,0xaf6565ca - DD 0x8e7a7af4,0x8e7a7af4 - DD 0xe9aeae47,0xe9aeae47 - DD 0x18080810,0x18080810 - DD 0xd5baba6f,0xd5baba6f - DD 0x887878f0,0x887878f0 - DD 0x6f25254a,0x6f25254a - DD 0x722e2e5c,0x722e2e5c - DD 0x241c1c38,0x241c1c38 - DD 0xf1a6a657,0xf1a6a657 - DD 0xc7b4b473,0xc7b4b473 - DD 0x51c6c697,0x51c6c697 - DD 0x23e8e8cb,0x23e8e8cb - DD 0x7cdddda1,0x7cdddda1 - DD 0x9c7474e8,0x9c7474e8 - DD 0x211f1f3e,0x211f1f3e - DD 0xdd4b4b96,0xdd4b4b96 - DD 0xdcbdbd61,0xdcbdbd61 - DD 0x868b8b0d,0x868b8b0d - DD 0x858a8a0f,0x858a8a0f - DD 0x907070e0,0x907070e0 - DD 0x423e3e7c,0x423e3e7c - DD 0xc4b5b571,0xc4b5b571 - DD 0xaa6666cc,0xaa6666cc - DD 0xd8484890,0xd8484890 - DD 0x05030306,0x05030306 - DD 0x01f6f6f7,0x01f6f6f7 - DD 0x120e0e1c,0x120e0e1c - DD 0xa36161c2,0xa36161c2 - DD 0x5f35356a,0x5f35356a - DD 0xf95757ae,0xf95757ae - DD 0xd0b9b969,0xd0b9b969 - DD 0x91868617,0x91868617 - DD 0x58c1c199,0x58c1c199 - DD 0x271d1d3a,0x271d1d3a - DD 0xb99e9e27,0xb99e9e27 - DD 0x38e1e1d9,0x38e1e1d9 - DD 0x13f8f8eb,0x13f8f8eb - DD 0xb398982b,0xb398982b - DD 0x33111122,0x33111122 - DD 0xbb6969d2,0xbb6969d2 - DD 0x70d9d9a9,0x70d9d9a9 - DD 0x898e8e07,0x898e8e07 - DD 0xa7949433,0xa7949433 - DD 0xb69b9b2d,0xb69b9b2d - DD 0x221e1e3c,0x221e1e3c - DD 0x92878715,0x92878715 - DD 0x20e9e9c9,0x20e9e9c9 - DD 0x49cece87,0x49cece87 - DD 0xff5555aa,0xff5555aa - DD 0x78282850,0x78282850 - DD 0x7adfdfa5,0x7adfdfa5 - DD 0x8f8c8c03,0x8f8c8c03 - DD 0xf8a1a159,0xf8a1a159 - DD 0x80898909,0x80898909 - DD 0x170d0d1a,0x170d0d1a - DD 0xdabfbf65,0xdabfbf65 - DD 0x31e6e6d7,0x31e6e6d7 - DD 0xc6424284,0xc6424284 - DD 0xb86868d0,0xb86868d0 - DD 0xc3414182,0xc3414182 - DD 0xb0999929,0xb0999929 - DD 0x772d2d5a,0x772d2d5a - DD 0x110f0f1e,0x110f0f1e - DD 0xcbb0b07b,0xcbb0b07b - DD 0xfc5454a8,0xfc5454a8 - DD 0xd6bbbb6d,0xd6bbbb6d - DD 0x3a16162c,0x3a16162c -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 - DD 0x00000001,0x00000002,0x00000004,0x00000008 - DD 0x00000010,0x00000020,0x00000040,0x00000080 - DD 0x0000001b,0x00000036,0x80808080,0x80808080 - DD 0xfefefefe,0xfefefefe,0x1b1b1b1b,0x1b1b1b1b -ALIGN 64 -$L$AES_Td: - DD 0x50a7f451,0x50a7f451 - DD 0x5365417e,0x5365417e - DD 0xc3a4171a,0xc3a4171a - DD 0x965e273a,0x965e273a - DD 0xcb6bab3b,0xcb6bab3b - DD 0xf1459d1f,0xf1459d1f - DD 0xab58faac,0xab58faac - DD 0x9303e34b,0x9303e34b - DD 0x55fa3020,0x55fa3020 - DD 0xf66d76ad,0xf66d76ad - DD 0x9176cc88,0x9176cc88 - DD 0x254c02f5,0x254c02f5 - DD 0xfcd7e54f,0xfcd7e54f - DD 0xd7cb2ac5,0xd7cb2ac5 - DD 0x80443526,0x80443526 - DD 0x8fa362b5,0x8fa362b5 - DD 0x495ab1de,0x495ab1de - DD 0x671bba25,0x671bba25 - DD 0x980eea45,0x980eea45 - DD 0xe1c0fe5d,0xe1c0fe5d - DD 0x02752fc3,0x02752fc3 - DD 0x12f04c81,0x12f04c81 - DD 0xa397468d,0xa397468d - DD 0xc6f9d36b,0xc6f9d36b - DD 0xe75f8f03,0xe75f8f03 - DD 0x959c9215,0x959c9215 - DD 0xeb7a6dbf,0xeb7a6dbf - DD 0xda595295,0xda595295 - DD 0x2d83bed4,0x2d83bed4 - DD 0xd3217458,0xd3217458 - DD 0x2969e049,0x2969e049 - DD 0x44c8c98e,0x44c8c98e - DD 0x6a89c275,0x6a89c275 - DD 0x78798ef4,0x78798ef4 - DD 0x6b3e5899,0x6b3e5899 - DD 0xdd71b927,0xdd71b927 - DD 0xb64fe1be,0xb64fe1be - DD 0x17ad88f0,0x17ad88f0 - DD 0x66ac20c9,0x66ac20c9 - DD 0xb43ace7d,0xb43ace7d - DD 0x184adf63,0x184adf63 - DD 0x82311ae5,0x82311ae5 - DD 0x60335197,0x60335197 - DD 0x457f5362,0x457f5362 - DD 0xe07764b1,0xe07764b1 - DD 0x84ae6bbb,0x84ae6bbb - DD 0x1ca081fe,0x1ca081fe - DD 0x942b08f9,0x942b08f9 - DD 0x58684870,0x58684870 - DD 0x19fd458f,0x19fd458f - DD 0x876cde94,0x876cde94 - DD 0xb7f87b52,0xb7f87b52 - DD 0x23d373ab,0x23d373ab - DD 0xe2024b72,0xe2024b72 - DD 0x578f1fe3,0x578f1fe3 - DD 0x2aab5566,0x2aab5566 - DD 0x0728ebb2,0x0728ebb2 - DD 0x03c2b52f,0x03c2b52f - DD 0x9a7bc586,0x9a7bc586 - DD 0xa50837d3,0xa50837d3 - DD 0xf2872830,0xf2872830 - DD 0xb2a5bf23,0xb2a5bf23 - DD 0xba6a0302,0xba6a0302 - DD 0x5c8216ed,0x5c8216ed - DD 0x2b1ccf8a,0x2b1ccf8a - DD 0x92b479a7,0x92b479a7 - DD 0xf0f207f3,0xf0f207f3 - DD 0xa1e2694e,0xa1e2694e - DD 0xcdf4da65,0xcdf4da65 - DD 0xd5be0506,0xd5be0506 - DD 0x1f6234d1,0x1f6234d1 - DD 0x8afea6c4,0x8afea6c4 - DD 0x9d532e34,0x9d532e34 - DD 0xa055f3a2,0xa055f3a2 - DD 0x32e18a05,0x32e18a05 - DD 0x75ebf6a4,0x75ebf6a4 - DD 0x39ec830b,0x39ec830b - DD 0xaaef6040,0xaaef6040 - DD 0x069f715e,0x069f715e - DD 0x51106ebd,0x51106ebd - DD 0xf98a213e,0xf98a213e - DD 0x3d06dd96,0x3d06dd96 - DD 0xae053edd,0xae053edd - DD 0x46bde64d,0x46bde64d - DD 0xb58d5491,0xb58d5491 - DD 0x055dc471,0x055dc471 - DD 0x6fd40604,0x6fd40604 - DD 0xff155060,0xff155060 - DD 0x24fb9819,0x24fb9819 - DD 0x97e9bdd6,0x97e9bdd6 - DD 0xcc434089,0xcc434089 - DD 0x779ed967,0x779ed967 - DD 0xbd42e8b0,0xbd42e8b0 - DD 0x888b8907,0x888b8907 - DD 0x385b19e7,0x385b19e7 - DD 0xdbeec879,0xdbeec879 - DD 0x470a7ca1,0x470a7ca1 - DD 0xe90f427c,0xe90f427c - DD 0xc91e84f8,0xc91e84f8 - DD 0x00000000,0x00000000 - DD 0x83868009,0x83868009 - DD 0x48ed2b32,0x48ed2b32 - DD 0xac70111e,0xac70111e - DD 0x4e725a6c,0x4e725a6c - DD 0xfbff0efd,0xfbff0efd - DD 0x5638850f,0x5638850f - DD 0x1ed5ae3d,0x1ed5ae3d - DD 0x27392d36,0x27392d36 - DD 0x64d90f0a,0x64d90f0a - DD 0x21a65c68,0x21a65c68 - DD 0xd1545b9b,0xd1545b9b - DD 0x3a2e3624,0x3a2e3624 - DD 0xb1670a0c,0xb1670a0c - DD 0x0fe75793,0x0fe75793 - DD 0xd296eeb4,0xd296eeb4 - DD 0x9e919b1b,0x9e919b1b - DD 0x4fc5c080,0x4fc5c080 - DD 0xa220dc61,0xa220dc61 - DD 0x694b775a,0x694b775a - DD 0x161a121c,0x161a121c - DD 0x0aba93e2,0x0aba93e2 - DD 0xe52aa0c0,0xe52aa0c0 - DD 0x43e0223c,0x43e0223c - DD 0x1d171b12,0x1d171b12 - DD 0x0b0d090e,0x0b0d090e - DD 0xadc78bf2,0xadc78bf2 - DD 0xb9a8b62d,0xb9a8b62d - DD 0xc8a91e14,0xc8a91e14 - DD 0x8519f157,0x8519f157 - DD 0x4c0775af,0x4c0775af - DD 0xbbdd99ee,0xbbdd99ee - DD 0xfd607fa3,0xfd607fa3 - DD 0x9f2601f7,0x9f2601f7 - DD 0xbcf5725c,0xbcf5725c - DD 0xc53b6644,0xc53b6644 - DD 0x347efb5b,0x347efb5b - DD 0x7629438b,0x7629438b - DD 0xdcc623cb,0xdcc623cb - DD 0x68fcedb6,0x68fcedb6 - DD 0x63f1e4b8,0x63f1e4b8 - DD 0xcadc31d7,0xcadc31d7 - DD 0x10856342,0x10856342 - DD 0x40229713,0x40229713 - DD 0x2011c684,0x2011c684 - DD 0x7d244a85,0x7d244a85 - DD 0xf83dbbd2,0xf83dbbd2 - DD 0x1132f9ae,0x1132f9ae - DD 0x6da129c7,0x6da129c7 - DD 0x4b2f9e1d,0x4b2f9e1d - DD 0xf330b2dc,0xf330b2dc - DD 0xec52860d,0xec52860d - DD 0xd0e3c177,0xd0e3c177 - DD 0x6c16b32b,0x6c16b32b - DD 0x99b970a9,0x99b970a9 - DD 0xfa489411,0xfa489411 - DD 0x2264e947,0x2264e947 - DD 0xc48cfca8,0xc48cfca8 - DD 0x1a3ff0a0,0x1a3ff0a0 - DD 0xd82c7d56,0xd82c7d56 - DD 0xef903322,0xef903322 - DD 0xc74e4987,0xc74e4987 - DD 0xc1d138d9,0xc1d138d9 - DD 0xfea2ca8c,0xfea2ca8c - DD 0x360bd498,0x360bd498 - DD 0xcf81f5a6,0xcf81f5a6 - DD 0x28de7aa5,0x28de7aa5 - DD 0x268eb7da,0x268eb7da - DD 0xa4bfad3f,0xa4bfad3f - DD 0xe49d3a2c,0xe49d3a2c - DD 0x0d927850,0x0d927850 - DD 0x9bcc5f6a,0x9bcc5f6a - DD 0x62467e54,0x62467e54 - DD 0xc2138df6,0xc2138df6 - DD 0xe8b8d890,0xe8b8d890 - DD 0x5ef7392e,0x5ef7392e - DD 0xf5afc382,0xf5afc382 - DD 0xbe805d9f,0xbe805d9f - DD 0x7c93d069,0x7c93d069 - DD 0xa92dd56f,0xa92dd56f - DD 0xb31225cf,0xb31225cf - DD 0x3b99acc8,0x3b99acc8 - DD 0xa77d1810,0xa77d1810 - DD 0x6e639ce8,0x6e639ce8 - DD 0x7bbb3bdb,0x7bbb3bdb - DD 0x097826cd,0x097826cd - DD 0xf418596e,0xf418596e - DD 0x01b79aec,0x01b79aec - DD 0xa89a4f83,0xa89a4f83 - DD 0x656e95e6,0x656e95e6 - DD 0x7ee6ffaa,0x7ee6ffaa - DD 0x08cfbc21,0x08cfbc21 - DD 0xe6e815ef,0xe6e815ef - DD 0xd99be7ba,0xd99be7ba - DD 0xce366f4a,0xce366f4a - DD 0xd4099fea,0xd4099fea - DD 0xd67cb029,0xd67cb029 - DD 0xafb2a431,0xafb2a431 - DD 0x31233f2a,0x31233f2a - DD 0x3094a5c6,0x3094a5c6 - DD 0xc066a235,0xc066a235 - DD 0x37bc4e74,0x37bc4e74 - DD 0xa6ca82fc,0xa6ca82fc - DD 0xb0d090e0,0xb0d090e0 - DD 0x15d8a733,0x15d8a733 - DD 0x4a9804f1,0x4a9804f1 - DD 0xf7daec41,0xf7daec41 - DD 0x0e50cd7f,0x0e50cd7f - DD 0x2ff69117,0x2ff69117 - DD 0x8dd64d76,0x8dd64d76 - DD 0x4db0ef43,0x4db0ef43 - DD 0x544daacc,0x544daacc - DD 0xdf0496e4,0xdf0496e4 - DD 0xe3b5d19e,0xe3b5d19e - DD 0x1b886a4c,0x1b886a4c - DD 0xb81f2cc1,0xb81f2cc1 - DD 0x7f516546,0x7f516546 - DD 0x04ea5e9d,0x04ea5e9d - DD 0x5d358c01,0x5d358c01 - DD 0x737487fa,0x737487fa - DD 0x2e410bfb,0x2e410bfb - DD 0x5a1d67b3,0x5a1d67b3 - DD 0x52d2db92,0x52d2db92 - DD 0x335610e9,0x335610e9 - DD 0x1347d66d,0x1347d66d - DD 0x8c61d79a,0x8c61d79a - DD 0x7a0ca137,0x7a0ca137 - DD 0x8e14f859,0x8e14f859 - DD 0x893c13eb,0x893c13eb - DD 0xee27a9ce,0xee27a9ce - DD 0x35c961b7,0x35c961b7 - DD 0xede51ce1,0xede51ce1 - DD 0x3cb1477a,0x3cb1477a - DD 0x59dfd29c,0x59dfd29c - DD 0x3f73f255,0x3f73f255 - DD 0x79ce1418,0x79ce1418 - DD 0xbf37c773,0xbf37c773 - DD 0xeacdf753,0xeacdf753 - DD 0x5baafd5f,0x5baafd5f - DD 0x146f3ddf,0x146f3ddf - DD 0x86db4478,0x86db4478 - DD 0x81f3afca,0x81f3afca - DD 0x3ec468b9,0x3ec468b9 - DD 0x2c342438,0x2c342438 - DD 0x5f40a3c2,0x5f40a3c2 - DD 0x72c31d16,0x72c31d16 - DD 0x0c25e2bc,0x0c25e2bc - DD 0x8b493c28,0x8b493c28 - DD 0x41950dff,0x41950dff - DD 0x7101a839,0x7101a839 - DD 0xdeb30c08,0xdeb30c08 - DD 0x9ce4b4d8,0x9ce4b4d8 - DD 0x90c15664,0x90c15664 - DD 0x6184cb7b,0x6184cb7b - DD 0x70b632d5,0x70b632d5 - DD 0x745c6c48,0x745c6c48 - DD 0x4257b8d0,0x4257b8d0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32 -DB 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 -DB 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 -DB 62,0 -ALIGN 64 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -block_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_block_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_block_prologue - - mov rax,QWORD[24+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_block_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - jmp NEAR $L$common_seh_exit - - - -ALIGN 16 -key_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_key_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_key_prologue - - lea rax,[56+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_key_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - jmp NEAR $L$common_seh_exit - - - -ALIGN 16 -cbc_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$cbc_prologue] - cmp rbx,r10 - jb NEAR $L$in_cbc_prologue - - lea r10,[$L$cbc_fast_body] - cmp rbx,r10 - jb NEAR $L$in_cbc_frame_setup - - lea r10,[$L$cbc_slow_prologue] - cmp rbx,r10 - jb NEAR $L$in_cbc_body - - lea r10,[$L$cbc_slow_body] - cmp rbx,r10 - jb NEAR $L$in_cbc_frame_setup - -$L$in_cbc_body: - mov rax,QWORD[152+r8] - - lea r10,[$L$cbc_epilogue] - cmp rbx,r10 - jae NEAR $L$in_cbc_prologue - - lea rax,[8+rax] - - lea r10,[$L$cbc_popfq] - cmp rbx,r10 - jae NEAR $L$in_cbc_prologue - - mov rax,QWORD[8+rax] - lea rax,[56+rax] - -$L$in_cbc_frame_setup: - mov rbx,QWORD[((-16))+rax] - mov rbp,QWORD[((-24))+rax] - mov r12,QWORD[((-32))+rax] - mov r13,QWORD[((-40))+rax] - mov r14,QWORD[((-48))+rax] - mov r15,QWORD[((-56))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_cbc_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - -$L$common_seh_exit: - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_AES_encrypt wrt ..imagebase - DD $L$SEH_end_AES_encrypt wrt ..imagebase - DD $L$SEH_info_AES_encrypt wrt ..imagebase - - DD $L$SEH_begin_AES_decrypt wrt ..imagebase - DD $L$SEH_end_AES_decrypt wrt ..imagebase - DD $L$SEH_info_AES_decrypt wrt ..imagebase - - DD $L$SEH_begin_AES_set_encrypt_key wrt ..imagebase - DD $L$SEH_end_AES_set_encrypt_key wrt ..imagebase - DD $L$SEH_info_AES_set_encrypt_key wrt ..imagebase - - DD $L$SEH_begin_AES_set_decrypt_key wrt ..imagebase - DD $L$SEH_end_AES_set_decrypt_key wrt ..imagebase - DD $L$SEH_info_AES_set_decrypt_key wrt ..imagebase - - DD $L$SEH_begin_AES_cbc_encrypt wrt ..imagebase - DD $L$SEH_end_AES_cbc_encrypt wrt ..imagebase - DD $L$SEH_info_AES_cbc_encrypt wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_AES_encrypt: -DB 9,0,0,0 - DD block_se_handler wrt ..imagebase - DD $L$enc_prologue wrt ..imagebase,$L$enc_epilogue wrt ..imagebase -$L$SEH_info_AES_decrypt: -DB 9,0,0,0 - DD block_se_handler wrt ..imagebase - DD $L$dec_prologue wrt ..imagebase,$L$dec_epilogue wrt ..imagebase -$L$SEH_info_AES_set_encrypt_key: -DB 9,0,0,0 - DD key_se_handler wrt ..imagebase - DD $L$enc_key_prologue wrt ..imagebase,$L$enc_key_epilogue wrt ..imagebase -$L$SEH_info_AES_set_decrypt_key: -DB 9,0,0,0 - DD key_se_handler wrt ..imagebase - DD $L$dec_key_prologue wrt ..imagebase,$L$dec_key_epilogue wrt ..imagebase -$L$SEH_info_AES_cbc_encrypt: -DB 9,0,0,0 - DD cbc_se_handler wrt ..imagebase diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aesni-sha1-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aesni-sha1-x86_64.asm index 925d1be94a94c9..ac71215c45e2dc 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aesni-sha1-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aesni-sha1-x86_64.asm @@ -11,6 +11,7 @@ global aesni_cbc_sha1_enc ALIGN 32 aesni_cbc_sha1_enc: + mov r10d,DWORD[((OPENSSL_ia32cap_P+0))] mov r11,QWORD[((OPENSSL_ia32cap_P+4))] bt r11,61 @@ -24,6 +25,7 @@ aesni_cbc_sha1_enc: DB 0F3h,0C3h ;repret + ALIGN 32 aesni_cbc_sha1_enc_ssse3: mov QWORD[8+rsp],rdi ;WIN64 prologue @@ -2809,6 +2811,7 @@ $L$SEH_begin_aesni_cbc_sha1_enc_shaext: mov r9,QWORD[48+rsp] + mov r10,QWORD[56+rsp] lea rsp,[((-168))+rsp] movaps XMMWORD[(-8-160)+rax],xmm6 @@ -3133,6 +3136,7 @@ $L$epilogue_shaext: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_aesni_cbc_sha1_enc_shaext: EXTERN __imp_RtlVirtualUnwind diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aesni-sha256-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aesni-sha256-x86_64.asm index b5d50c74dbaaee..17e571d38b1846 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aesni-sha256-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aesni-sha256-x86_64.asm @@ -10,6 +10,7 @@ global aesni_cbc_sha256_enc ALIGN 16 aesni_cbc_sha256_enc: + lea r11,[OPENSSL_ia32cap_P] mov eax,1 cmp rcx,0 @@ -37,6 +38,7 @@ $L$probe: DB 0F3h,0C3h ;repret + ALIGN 64 K256: @@ -4128,23 +4130,25 @@ $L$ower_avx2: jbe NEAR $L$oop_avx2 lea rbp,[rsp] + + + $L$done_avx2: - lea rsp,[rbp] - mov r8,QWORD[((64+32))+rsp] - mov rsi,QWORD[120+rsp] + mov r8,QWORD[((64+32))+rbp] + mov rsi,QWORD[((64+56))+rbp] vmovdqu XMMWORD[r8],xmm8 vzeroall - movaps xmm6,XMMWORD[128+rsp] - movaps xmm7,XMMWORD[144+rsp] - movaps xmm8,XMMWORD[160+rsp] - movaps xmm9,XMMWORD[176+rsp] - movaps xmm10,XMMWORD[192+rsp] - movaps xmm11,XMMWORD[208+rsp] - movaps xmm12,XMMWORD[224+rsp] - movaps xmm13,XMMWORD[240+rsp] - movaps xmm14,XMMWORD[256+rsp] - movaps xmm15,XMMWORD[272+rsp] + movaps xmm6,XMMWORD[128+rbp] + movaps xmm7,XMMWORD[144+rbp] + movaps xmm8,XMMWORD[160+rbp] + movaps xmm9,XMMWORD[176+rbp] + movaps xmm10,XMMWORD[192+rbp] + movaps xmm11,XMMWORD[208+rbp] + movaps xmm12,XMMWORD[224+rbp] + movaps xmm13,XMMWORD[240+rbp] + movaps xmm14,XMMWORD[256+rbp] + movaps xmm15,XMMWORD[272+rbp] mov r15,QWORD[((-48))+rsi] mov r14,QWORD[((-40))+rsi] @@ -4180,6 +4184,7 @@ $L$SEH_begin_aesni_cbc_sha256_enc_shaext: mov r9,QWORD[48+rsp] + mov r10,QWORD[56+rsp] lea rsp,[((-168))+rsp] movaps XMMWORD[(-8-160)+rax],xmm6 @@ -4555,6 +4560,7 @@ $L$epilogue_shaext: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_aesni_cbc_sha256_enc_shaext: EXTERN __imp_RtlVirtualUnwind diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aesni-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aesni-x86_64.asm index 823ba771d0a3af..f6027245a377a7 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aesni-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/aesni-x86_64.asm @@ -907,6 +907,7 @@ $L$SEH_begin_aesni_ccm64_encrypt_blocks: mov r9,QWORD[48+rsp] + lea rsp,[((-88))+rsp] movaps XMMWORD[rsp],xmm6 movaps XMMWORD[16+rsp],xmm7 @@ -983,6 +984,7 @@ $L$ccm64_enc_ret: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_aesni_ccm64_encrypt_blocks: global aesni_ccm64_decrypt_blocks @@ -1000,6 +1002,7 @@ $L$SEH_begin_aesni_ccm64_decrypt_blocks: mov r9,QWORD[48+rsp] + lea rsp,[((-88))+rsp] movaps XMMWORD[rsp],xmm6 movaps XMMWORD[16+rsp],xmm7 @@ -1110,6 +1113,7 @@ $L$ccm64_dec_ret: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_aesni_ccm64_decrypt_blocks: global aesni_ctr32_encrypt_blocks @@ -3019,6 +3023,7 @@ $L$SEH_end_aesni_ocb_encrypt: ALIGN 32 __ocb_encrypt6: + pxor xmm15,xmm9 movdqu xmm11,XMMWORD[r12*1+rbx] movdqa xmm12,xmm10 @@ -3119,8 +3124,10 @@ DB 102,65,15,56,221,255 + ALIGN 32 __ocb_encrypt4: + pxor xmm15,xmm9 movdqu xmm11,XMMWORD[r12*1+rbx] movdqa xmm12,xmm10 @@ -3188,8 +3195,10 @@ DB 102,65,15,56,221,237 + ALIGN 32 __ocb_encrypt1: + pxor xmm7,xmm15 pxor xmm7,xmm9 pxor xmm8,xmm2 @@ -3222,6 +3231,7 @@ DB 102,15,56,221,215 DB 0F3h,0C3h ;repret + global aesni_ocb_decrypt ALIGN 32 @@ -3493,6 +3503,7 @@ $L$SEH_end_aesni_ocb_decrypt: ALIGN 32 __ocb_decrypt6: + pxor xmm15,xmm9 movdqu xmm11,XMMWORD[r12*1+rbx] movdqa xmm12,xmm10 @@ -3587,8 +3598,10 @@ DB 102,65,15,56,223,255 + ALIGN 32 __ocb_decrypt4: + pxor xmm15,xmm9 movdqu xmm11,XMMWORD[r12*1+rbx] movdqa xmm12,xmm10 @@ -3652,8 +3665,10 @@ DB 102,65,15,56,223,237 + ALIGN 32 __ocb_decrypt1: + pxor xmm7,xmm15 pxor xmm7,xmm9 pxor xmm2,xmm7 @@ -3684,6 +3699,7 @@ DB 102,15,56,222,209 DB 102,15,56,223,215 DB 0F3h,0C3h ;repret + global aesni_cbc_encrypt ALIGN 16 @@ -4662,7 +4678,6 @@ $L$enc_key_ret: add rsp,8 DB 0F3h,0C3h ;repret - $L$SEH_end_set_encrypt_key: ALIGN 16 @@ -4735,6 +4750,7 @@ $L$key_expansion_256b: DB 0F3h,0C3h ;repret + ALIGN 64 $L$bswap_mask: DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/bsaes-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/bsaes-x86_64.asm deleted file mode 100644 index 7cccb6a46983c4..00000000000000 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/aes/bsaes-x86_64.asm +++ /dev/null @@ -1,2821 +0,0 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -EXTERN asm_AES_encrypt -EXTERN asm_AES_decrypt - - -ALIGN 64 -_bsaes_encrypt8: - - lea r11,[$L$BS0] - - movdqa xmm8,XMMWORD[rax] - lea rax,[16+rax] - movdqa xmm7,XMMWORD[80+r11] - pxor xmm15,xmm8 - pxor xmm0,xmm8 - pxor xmm1,xmm8 - pxor xmm2,xmm8 -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,xmm8 - pxor xmm4,xmm8 -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,xmm8 - pxor xmm6,xmm8 -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 -_bsaes_encrypt8_bitslice: - movdqa xmm7,XMMWORD[r11] - movdqa xmm8,XMMWORD[16+r11] - movdqa xmm9,xmm5 - psrlq xmm5,1 - movdqa xmm10,xmm3 - psrlq xmm3,1 - pxor xmm5,xmm6 - pxor xmm3,xmm4 - pand xmm5,xmm7 - pand xmm3,xmm7 - pxor xmm6,xmm5 - psllq xmm5,1 - pxor xmm4,xmm3 - psllq xmm3,1 - pxor xmm5,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm1 - psrlq xmm1,1 - movdqa xmm10,xmm15 - psrlq xmm15,1 - pxor xmm1,xmm2 - pxor xmm15,xmm0 - pand xmm1,xmm7 - pand xmm15,xmm7 - pxor xmm2,xmm1 - psllq xmm1,1 - pxor xmm0,xmm15 - psllq xmm15,1 - pxor xmm1,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[32+r11] - movdqa xmm9,xmm4 - psrlq xmm4,2 - movdqa xmm10,xmm3 - psrlq xmm3,2 - pxor xmm4,xmm6 - pxor xmm3,xmm5 - pand xmm4,xmm8 - pand xmm3,xmm8 - pxor xmm6,xmm4 - psllq xmm4,2 - pxor xmm5,xmm3 - psllq xmm3,2 - pxor xmm4,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,2 - movdqa xmm10,xmm15 - psrlq xmm15,2 - pxor xmm0,xmm2 - pxor xmm15,xmm1 - pand xmm0,xmm8 - pand xmm15,xmm8 - pxor xmm2,xmm0 - psllq xmm0,2 - pxor xmm1,xmm15 - psllq xmm15,2 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm9,xmm2 - psrlq xmm2,4 - movdqa xmm10,xmm1 - psrlq xmm1,4 - pxor xmm2,xmm6 - pxor xmm1,xmm5 - pand xmm2,xmm7 - pand xmm1,xmm7 - pxor xmm6,xmm2 - psllq xmm2,4 - pxor xmm5,xmm1 - psllq xmm1,4 - pxor xmm2,xmm9 - pxor xmm1,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,4 - movdqa xmm10,xmm15 - psrlq xmm15,4 - pxor xmm0,xmm4 - pxor xmm15,xmm3 - pand xmm0,xmm7 - pand xmm15,xmm7 - pxor xmm4,xmm0 - psllq xmm0,4 - pxor xmm3,xmm15 - psllq xmm15,4 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - dec r10d - jmp NEAR $L$enc_sbox -ALIGN 16 -$L$enc_loop: - pxor xmm15,XMMWORD[rax] - pxor xmm0,XMMWORD[16+rax] - pxor xmm1,XMMWORD[32+rax] - pxor xmm2,XMMWORD[48+rax] -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,XMMWORD[64+rax] - pxor xmm4,XMMWORD[80+rax] -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,XMMWORD[96+rax] - pxor xmm6,XMMWORD[112+rax] -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 - lea rax,[128+rax] -$L$enc_sbox: - pxor xmm4,xmm5 - pxor xmm1,xmm0 - pxor xmm2,xmm15 - pxor xmm5,xmm1 - pxor xmm4,xmm15 - - pxor xmm5,xmm2 - pxor xmm2,xmm6 - pxor xmm6,xmm4 - pxor xmm2,xmm3 - pxor xmm3,xmm4 - pxor xmm2,xmm0 - - pxor xmm1,xmm6 - pxor xmm0,xmm4 - movdqa xmm10,xmm6 - movdqa xmm9,xmm0 - movdqa xmm8,xmm4 - movdqa xmm12,xmm1 - movdqa xmm11,xmm5 - - pxor xmm10,xmm3 - pxor xmm9,xmm1 - pxor xmm8,xmm2 - movdqa xmm13,xmm10 - pxor xmm12,xmm3 - movdqa xmm7,xmm9 - pxor xmm11,xmm15 - movdqa xmm14,xmm10 - - por xmm9,xmm8 - por xmm10,xmm11 - pxor xmm14,xmm7 - pand xmm13,xmm11 - pxor xmm11,xmm8 - pand xmm7,xmm8 - pand xmm14,xmm11 - movdqa xmm11,xmm2 - pxor xmm11,xmm15 - pand xmm12,xmm11 - pxor xmm10,xmm12 - pxor xmm9,xmm12 - movdqa xmm12,xmm6 - movdqa xmm11,xmm4 - pxor xmm12,xmm0 - pxor xmm11,xmm5 - movdqa xmm8,xmm12 - pand xmm12,xmm11 - por xmm8,xmm11 - pxor xmm7,xmm12 - pxor xmm10,xmm14 - pxor xmm9,xmm13 - pxor xmm8,xmm14 - movdqa xmm11,xmm1 - pxor xmm7,xmm13 - movdqa xmm12,xmm3 - pxor xmm8,xmm13 - movdqa xmm13,xmm0 - pand xmm11,xmm2 - movdqa xmm14,xmm6 - pand xmm12,xmm15 - pand xmm13,xmm4 - por xmm14,xmm5 - pxor xmm10,xmm11 - pxor xmm9,xmm12 - pxor xmm8,xmm13 - pxor xmm7,xmm14 - - - - - - movdqa xmm11,xmm10 - pand xmm10,xmm8 - pxor xmm11,xmm9 - - movdqa xmm13,xmm7 - movdqa xmm14,xmm11 - pxor xmm13,xmm10 - pand xmm14,xmm13 - - movdqa xmm12,xmm8 - pxor xmm14,xmm9 - pxor xmm12,xmm7 - - pxor xmm10,xmm9 - - pand xmm12,xmm10 - - movdqa xmm9,xmm13 - pxor xmm12,xmm7 - - pxor xmm9,xmm12 - pxor xmm8,xmm12 - - pand xmm9,xmm7 - - pxor xmm13,xmm9 - pxor xmm8,xmm9 - - pand xmm13,xmm14 - - pxor xmm13,xmm11 - movdqa xmm11,xmm5 - movdqa xmm7,xmm4 - movdqa xmm9,xmm14 - pxor xmm9,xmm13 - pand xmm9,xmm5 - pxor xmm5,xmm4 - pand xmm4,xmm14 - pand xmm5,xmm13 - pxor xmm5,xmm4 - pxor xmm4,xmm9 - pxor xmm11,xmm15 - pxor xmm7,xmm2 - pxor xmm14,xmm12 - pxor xmm13,xmm8 - movdqa xmm10,xmm14 - movdqa xmm9,xmm12 - pxor xmm10,xmm13 - pxor xmm9,xmm8 - pand xmm10,xmm11 - pand xmm9,xmm15 - pxor xmm11,xmm7 - pxor xmm15,xmm2 - pand xmm7,xmm14 - pand xmm2,xmm12 - pand xmm11,xmm13 - pand xmm15,xmm8 - pxor xmm7,xmm11 - pxor xmm15,xmm2 - pxor xmm11,xmm10 - pxor xmm2,xmm9 - pxor xmm5,xmm11 - pxor xmm15,xmm11 - pxor xmm4,xmm7 - pxor xmm2,xmm7 - - movdqa xmm11,xmm6 - movdqa xmm7,xmm0 - pxor xmm11,xmm3 - pxor xmm7,xmm1 - movdqa xmm10,xmm14 - movdqa xmm9,xmm12 - pxor xmm10,xmm13 - pxor xmm9,xmm8 - pand xmm10,xmm11 - pand xmm9,xmm3 - pxor xmm11,xmm7 - pxor xmm3,xmm1 - pand xmm7,xmm14 - pand xmm1,xmm12 - pand xmm11,xmm13 - pand xmm3,xmm8 - pxor xmm7,xmm11 - pxor xmm3,xmm1 - pxor xmm11,xmm10 - pxor xmm1,xmm9 - pxor xmm14,xmm12 - pxor xmm13,xmm8 - movdqa xmm10,xmm14 - pxor xmm10,xmm13 - pand xmm10,xmm6 - pxor xmm6,xmm0 - pand xmm0,xmm14 - pand xmm6,xmm13 - pxor xmm6,xmm0 - pxor xmm0,xmm10 - pxor xmm6,xmm11 - pxor xmm3,xmm11 - pxor xmm0,xmm7 - pxor xmm1,xmm7 - pxor xmm6,xmm15 - pxor xmm0,xmm5 - pxor xmm3,xmm6 - pxor xmm5,xmm15 - pxor xmm15,xmm0 - - pxor xmm0,xmm4 - pxor xmm4,xmm1 - pxor xmm1,xmm2 - pxor xmm2,xmm4 - pxor xmm3,xmm4 - - pxor xmm5,xmm2 - dec r10d - jl NEAR $L$enc_done - pshufd xmm7,xmm15,0x93 - pshufd xmm8,xmm0,0x93 - pxor xmm15,xmm7 - pshufd xmm9,xmm3,0x93 - pxor xmm0,xmm8 - pshufd xmm10,xmm5,0x93 - pxor xmm3,xmm9 - pshufd xmm11,xmm2,0x93 - pxor xmm5,xmm10 - pshufd xmm12,xmm6,0x93 - pxor xmm2,xmm11 - pshufd xmm13,xmm1,0x93 - pxor xmm6,xmm12 - pshufd xmm14,xmm4,0x93 - pxor xmm1,xmm13 - pxor xmm4,xmm14 - - pxor xmm8,xmm15 - pxor xmm7,xmm4 - pxor xmm8,xmm4 - pshufd xmm15,xmm15,0x4E - pxor xmm9,xmm0 - pshufd xmm0,xmm0,0x4E - pxor xmm12,xmm2 - pxor xmm15,xmm7 - pxor xmm13,xmm6 - pxor xmm0,xmm8 - pxor xmm11,xmm5 - pshufd xmm7,xmm2,0x4E - pxor xmm14,xmm1 - pshufd xmm8,xmm6,0x4E - pxor xmm10,xmm3 - pshufd xmm2,xmm5,0x4E - pxor xmm10,xmm4 - pshufd xmm6,xmm4,0x4E - pxor xmm11,xmm4 - pshufd xmm5,xmm1,0x4E - pxor xmm7,xmm11 - pshufd xmm1,xmm3,0x4E - pxor xmm8,xmm12 - pxor xmm2,xmm10 - pxor xmm6,xmm14 - pxor xmm5,xmm13 - movdqa xmm3,xmm7 - pxor xmm1,xmm9 - movdqa xmm4,xmm8 - movdqa xmm7,XMMWORD[48+r11] - jnz NEAR $L$enc_loop - movdqa xmm7,XMMWORD[64+r11] - jmp NEAR $L$enc_loop -ALIGN 16 -$L$enc_done: - movdqa xmm7,XMMWORD[r11] - movdqa xmm8,XMMWORD[16+r11] - movdqa xmm9,xmm1 - psrlq xmm1,1 - movdqa xmm10,xmm2 - psrlq xmm2,1 - pxor xmm1,xmm4 - pxor xmm2,xmm6 - pand xmm1,xmm7 - pand xmm2,xmm7 - pxor xmm4,xmm1 - psllq xmm1,1 - pxor xmm6,xmm2 - psllq xmm2,1 - pxor xmm1,xmm9 - pxor xmm2,xmm10 - movdqa xmm9,xmm3 - psrlq xmm3,1 - movdqa xmm10,xmm15 - psrlq xmm15,1 - pxor xmm3,xmm5 - pxor xmm15,xmm0 - pand xmm3,xmm7 - pand xmm15,xmm7 - pxor xmm5,xmm3 - psllq xmm3,1 - pxor xmm0,xmm15 - psllq xmm15,1 - pxor xmm3,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[32+r11] - movdqa xmm9,xmm6 - psrlq xmm6,2 - movdqa xmm10,xmm2 - psrlq xmm2,2 - pxor xmm6,xmm4 - pxor xmm2,xmm1 - pand xmm6,xmm8 - pand xmm2,xmm8 - pxor xmm4,xmm6 - psllq xmm6,2 - pxor xmm1,xmm2 - psllq xmm2,2 - pxor xmm6,xmm9 - pxor xmm2,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,2 - movdqa xmm10,xmm15 - psrlq xmm15,2 - pxor xmm0,xmm5 - pxor xmm15,xmm3 - pand xmm0,xmm8 - pand xmm15,xmm8 - pxor xmm5,xmm0 - psllq xmm0,2 - pxor xmm3,xmm15 - psllq xmm15,2 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm9,xmm5 - psrlq xmm5,4 - movdqa xmm10,xmm3 - psrlq xmm3,4 - pxor xmm5,xmm4 - pxor xmm3,xmm1 - pand xmm5,xmm7 - pand xmm3,xmm7 - pxor xmm4,xmm5 - psllq xmm5,4 - pxor xmm1,xmm3 - psllq xmm3,4 - pxor xmm5,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,4 - movdqa xmm10,xmm15 - psrlq xmm15,4 - pxor xmm0,xmm6 - pxor xmm15,xmm2 - pand xmm0,xmm7 - pand xmm15,xmm7 - pxor xmm6,xmm0 - psllq xmm0,4 - pxor xmm2,xmm15 - psllq xmm15,4 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[rax] - pxor xmm3,xmm7 - pxor xmm5,xmm7 - pxor xmm2,xmm7 - pxor xmm6,xmm7 - pxor xmm1,xmm7 - pxor xmm4,xmm7 - pxor xmm15,xmm7 - pxor xmm0,xmm7 - DB 0F3h,0C3h ;repret - - - - -ALIGN 64 -_bsaes_decrypt8: - - lea r11,[$L$BS0] - - movdqa xmm8,XMMWORD[rax] - lea rax,[16+rax] - movdqa xmm7,XMMWORD[((-48))+r11] - pxor xmm15,xmm8 - pxor xmm0,xmm8 - pxor xmm1,xmm8 - pxor xmm2,xmm8 -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,xmm8 - pxor xmm4,xmm8 -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,xmm8 - pxor xmm6,xmm8 -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 - movdqa xmm7,XMMWORD[r11] - movdqa xmm8,XMMWORD[16+r11] - movdqa xmm9,xmm5 - psrlq xmm5,1 - movdqa xmm10,xmm3 - psrlq xmm3,1 - pxor xmm5,xmm6 - pxor xmm3,xmm4 - pand xmm5,xmm7 - pand xmm3,xmm7 - pxor xmm6,xmm5 - psllq xmm5,1 - pxor xmm4,xmm3 - psllq xmm3,1 - pxor xmm5,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm1 - psrlq xmm1,1 - movdqa xmm10,xmm15 - psrlq xmm15,1 - pxor xmm1,xmm2 - pxor xmm15,xmm0 - pand xmm1,xmm7 - pand xmm15,xmm7 - pxor xmm2,xmm1 - psllq xmm1,1 - pxor xmm0,xmm15 - psllq xmm15,1 - pxor xmm1,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[32+r11] - movdqa xmm9,xmm4 - psrlq xmm4,2 - movdqa xmm10,xmm3 - psrlq xmm3,2 - pxor xmm4,xmm6 - pxor xmm3,xmm5 - pand xmm4,xmm8 - pand xmm3,xmm8 - pxor xmm6,xmm4 - psllq xmm4,2 - pxor xmm5,xmm3 - psllq xmm3,2 - pxor xmm4,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,2 - movdqa xmm10,xmm15 - psrlq xmm15,2 - pxor xmm0,xmm2 - pxor xmm15,xmm1 - pand xmm0,xmm8 - pand xmm15,xmm8 - pxor xmm2,xmm0 - psllq xmm0,2 - pxor xmm1,xmm15 - psllq xmm15,2 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm9,xmm2 - psrlq xmm2,4 - movdqa xmm10,xmm1 - psrlq xmm1,4 - pxor xmm2,xmm6 - pxor xmm1,xmm5 - pand xmm2,xmm7 - pand xmm1,xmm7 - pxor xmm6,xmm2 - psllq xmm2,4 - pxor xmm5,xmm1 - psllq xmm1,4 - pxor xmm2,xmm9 - pxor xmm1,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,4 - movdqa xmm10,xmm15 - psrlq xmm15,4 - pxor xmm0,xmm4 - pxor xmm15,xmm3 - pand xmm0,xmm7 - pand xmm15,xmm7 - pxor xmm4,xmm0 - psllq xmm0,4 - pxor xmm3,xmm15 - psllq xmm15,4 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - dec r10d - jmp NEAR $L$dec_sbox -ALIGN 16 -$L$dec_loop: - pxor xmm15,XMMWORD[rax] - pxor xmm0,XMMWORD[16+rax] - pxor xmm1,XMMWORD[32+rax] - pxor xmm2,XMMWORD[48+rax] -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,XMMWORD[64+rax] - pxor xmm4,XMMWORD[80+rax] -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,XMMWORD[96+rax] - pxor xmm6,XMMWORD[112+rax] -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 - lea rax,[128+rax] -$L$dec_sbox: - pxor xmm2,xmm3 - - pxor xmm3,xmm6 - pxor xmm1,xmm6 - pxor xmm5,xmm3 - pxor xmm6,xmm5 - pxor xmm0,xmm6 - - pxor xmm15,xmm0 - pxor xmm1,xmm4 - pxor xmm2,xmm15 - pxor xmm4,xmm15 - pxor xmm0,xmm2 - movdqa xmm10,xmm2 - movdqa xmm9,xmm6 - movdqa xmm8,xmm0 - movdqa xmm12,xmm3 - movdqa xmm11,xmm4 - - pxor xmm10,xmm15 - pxor xmm9,xmm3 - pxor xmm8,xmm5 - movdqa xmm13,xmm10 - pxor xmm12,xmm15 - movdqa xmm7,xmm9 - pxor xmm11,xmm1 - movdqa xmm14,xmm10 - - por xmm9,xmm8 - por xmm10,xmm11 - pxor xmm14,xmm7 - pand xmm13,xmm11 - pxor xmm11,xmm8 - pand xmm7,xmm8 - pand xmm14,xmm11 - movdqa xmm11,xmm5 - pxor xmm11,xmm1 - pand xmm12,xmm11 - pxor xmm10,xmm12 - pxor xmm9,xmm12 - movdqa xmm12,xmm2 - movdqa xmm11,xmm0 - pxor xmm12,xmm6 - pxor xmm11,xmm4 - movdqa xmm8,xmm12 - pand xmm12,xmm11 - por xmm8,xmm11 - pxor xmm7,xmm12 - pxor xmm10,xmm14 - pxor xmm9,xmm13 - pxor xmm8,xmm14 - movdqa xmm11,xmm3 - pxor xmm7,xmm13 - movdqa xmm12,xmm15 - pxor xmm8,xmm13 - movdqa xmm13,xmm6 - pand xmm11,xmm5 - movdqa xmm14,xmm2 - pand xmm12,xmm1 - pand xmm13,xmm0 - por xmm14,xmm4 - pxor xmm10,xmm11 - pxor xmm9,xmm12 - pxor xmm8,xmm13 - pxor xmm7,xmm14 - - - - - - movdqa xmm11,xmm10 - pand xmm10,xmm8 - pxor xmm11,xmm9 - - movdqa xmm13,xmm7 - movdqa xmm14,xmm11 - pxor xmm13,xmm10 - pand xmm14,xmm13 - - movdqa xmm12,xmm8 - pxor xmm14,xmm9 - pxor xmm12,xmm7 - - pxor xmm10,xmm9 - - pand xmm12,xmm10 - - movdqa xmm9,xmm13 - pxor xmm12,xmm7 - - pxor xmm9,xmm12 - pxor xmm8,xmm12 - - pand xmm9,xmm7 - - pxor xmm13,xmm9 - pxor xmm8,xmm9 - - pand xmm13,xmm14 - - pxor xmm13,xmm11 - movdqa xmm11,xmm4 - movdqa xmm7,xmm0 - movdqa xmm9,xmm14 - pxor xmm9,xmm13 - pand xmm9,xmm4 - pxor xmm4,xmm0 - pand xmm0,xmm14 - pand xmm4,xmm13 - pxor xmm4,xmm0 - pxor xmm0,xmm9 - pxor xmm11,xmm1 - pxor xmm7,xmm5 - pxor xmm14,xmm12 - pxor xmm13,xmm8 - movdqa xmm10,xmm14 - movdqa xmm9,xmm12 - pxor xmm10,xmm13 - pxor xmm9,xmm8 - pand xmm10,xmm11 - pand xmm9,xmm1 - pxor xmm11,xmm7 - pxor xmm1,xmm5 - pand xmm7,xmm14 - pand xmm5,xmm12 - pand xmm11,xmm13 - pand xmm1,xmm8 - pxor xmm7,xmm11 - pxor xmm1,xmm5 - pxor xmm11,xmm10 - pxor xmm5,xmm9 - pxor xmm4,xmm11 - pxor xmm1,xmm11 - pxor xmm0,xmm7 - pxor xmm5,xmm7 - - movdqa xmm11,xmm2 - movdqa xmm7,xmm6 - pxor xmm11,xmm15 - pxor xmm7,xmm3 - movdqa xmm10,xmm14 - movdqa xmm9,xmm12 - pxor xmm10,xmm13 - pxor xmm9,xmm8 - pand xmm10,xmm11 - pand xmm9,xmm15 - pxor xmm11,xmm7 - pxor xmm15,xmm3 - pand xmm7,xmm14 - pand xmm3,xmm12 - pand xmm11,xmm13 - pand xmm15,xmm8 - pxor xmm7,xmm11 - pxor xmm15,xmm3 - pxor xmm11,xmm10 - pxor xmm3,xmm9 - pxor xmm14,xmm12 - pxor xmm13,xmm8 - movdqa xmm10,xmm14 - pxor xmm10,xmm13 - pand xmm10,xmm2 - pxor xmm2,xmm6 - pand xmm6,xmm14 - pand xmm2,xmm13 - pxor xmm2,xmm6 - pxor xmm6,xmm10 - pxor xmm2,xmm11 - pxor xmm15,xmm11 - pxor xmm6,xmm7 - pxor xmm3,xmm7 - pxor xmm0,xmm6 - pxor xmm5,xmm4 - - pxor xmm3,xmm0 - pxor xmm1,xmm6 - pxor xmm4,xmm6 - pxor xmm3,xmm1 - pxor xmm6,xmm15 - pxor xmm3,xmm4 - pxor xmm2,xmm5 - pxor xmm5,xmm0 - pxor xmm2,xmm3 - - pxor xmm3,xmm15 - pxor xmm6,xmm2 - dec r10d - jl NEAR $L$dec_done - - pshufd xmm7,xmm15,0x4E - pshufd xmm13,xmm2,0x4E - pxor xmm7,xmm15 - pshufd xmm14,xmm4,0x4E - pxor xmm13,xmm2 - pshufd xmm8,xmm0,0x4E - pxor xmm14,xmm4 - pshufd xmm9,xmm5,0x4E - pxor xmm8,xmm0 - pshufd xmm10,xmm3,0x4E - pxor xmm9,xmm5 - pxor xmm15,xmm13 - pxor xmm0,xmm13 - pshufd xmm11,xmm1,0x4E - pxor xmm10,xmm3 - pxor xmm5,xmm7 - pxor xmm3,xmm8 - pshufd xmm12,xmm6,0x4E - pxor xmm11,xmm1 - pxor xmm0,xmm14 - pxor xmm1,xmm9 - pxor xmm12,xmm6 - - pxor xmm5,xmm14 - pxor xmm3,xmm13 - pxor xmm1,xmm13 - pxor xmm6,xmm10 - pxor xmm2,xmm11 - pxor xmm1,xmm14 - pxor xmm6,xmm14 - pxor xmm4,xmm12 - pshufd xmm7,xmm15,0x93 - pshufd xmm8,xmm0,0x93 - pxor xmm15,xmm7 - pshufd xmm9,xmm5,0x93 - pxor xmm0,xmm8 - pshufd xmm10,xmm3,0x93 - pxor xmm5,xmm9 - pshufd xmm11,xmm1,0x93 - pxor xmm3,xmm10 - pshufd xmm12,xmm6,0x93 - pxor xmm1,xmm11 - pshufd xmm13,xmm2,0x93 - pxor xmm6,xmm12 - pshufd xmm14,xmm4,0x93 - pxor xmm2,xmm13 - pxor xmm4,xmm14 - - pxor xmm8,xmm15 - pxor xmm7,xmm4 - pxor xmm8,xmm4 - pshufd xmm15,xmm15,0x4E - pxor xmm9,xmm0 - pshufd xmm0,xmm0,0x4E - pxor xmm12,xmm1 - pxor xmm15,xmm7 - pxor xmm13,xmm6 - pxor xmm0,xmm8 - pxor xmm11,xmm3 - pshufd xmm7,xmm1,0x4E - pxor xmm14,xmm2 - pshufd xmm8,xmm6,0x4E - pxor xmm10,xmm5 - pshufd xmm1,xmm3,0x4E - pxor xmm10,xmm4 - pshufd xmm6,xmm4,0x4E - pxor xmm11,xmm4 - pshufd xmm3,xmm2,0x4E - pxor xmm7,xmm11 - pshufd xmm2,xmm5,0x4E - pxor xmm8,xmm12 - pxor xmm10,xmm1 - pxor xmm6,xmm14 - pxor xmm13,xmm3 - movdqa xmm3,xmm7 - pxor xmm2,xmm9 - movdqa xmm5,xmm13 - movdqa xmm4,xmm8 - movdqa xmm1,xmm2 - movdqa xmm2,xmm10 - movdqa xmm7,XMMWORD[((-16))+r11] - jnz NEAR $L$dec_loop - movdqa xmm7,XMMWORD[((-32))+r11] - jmp NEAR $L$dec_loop -ALIGN 16 -$L$dec_done: - movdqa xmm7,XMMWORD[r11] - movdqa xmm8,XMMWORD[16+r11] - movdqa xmm9,xmm2 - psrlq xmm2,1 - movdqa xmm10,xmm1 - psrlq xmm1,1 - pxor xmm2,xmm4 - pxor xmm1,xmm6 - pand xmm2,xmm7 - pand xmm1,xmm7 - pxor xmm4,xmm2 - psllq xmm2,1 - pxor xmm6,xmm1 - psllq xmm1,1 - pxor xmm2,xmm9 - pxor xmm1,xmm10 - movdqa xmm9,xmm5 - psrlq xmm5,1 - movdqa xmm10,xmm15 - psrlq xmm15,1 - pxor xmm5,xmm3 - pxor xmm15,xmm0 - pand xmm5,xmm7 - pand xmm15,xmm7 - pxor xmm3,xmm5 - psllq xmm5,1 - pxor xmm0,xmm15 - psllq xmm15,1 - pxor xmm5,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[32+r11] - movdqa xmm9,xmm6 - psrlq xmm6,2 - movdqa xmm10,xmm1 - psrlq xmm1,2 - pxor xmm6,xmm4 - pxor xmm1,xmm2 - pand xmm6,xmm8 - pand xmm1,xmm8 - pxor xmm4,xmm6 - psllq xmm6,2 - pxor xmm2,xmm1 - psllq xmm1,2 - pxor xmm6,xmm9 - pxor xmm1,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,2 - movdqa xmm10,xmm15 - psrlq xmm15,2 - pxor xmm0,xmm3 - pxor xmm15,xmm5 - pand xmm0,xmm8 - pand xmm15,xmm8 - pxor xmm3,xmm0 - psllq xmm0,2 - pxor xmm5,xmm15 - psllq xmm15,2 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm9,xmm3 - psrlq xmm3,4 - movdqa xmm10,xmm5 - psrlq xmm5,4 - pxor xmm3,xmm4 - pxor xmm5,xmm2 - pand xmm3,xmm7 - pand xmm5,xmm7 - pxor xmm4,xmm3 - psllq xmm3,4 - pxor xmm2,xmm5 - psllq xmm5,4 - pxor xmm3,xmm9 - pxor xmm5,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,4 - movdqa xmm10,xmm15 - psrlq xmm15,4 - pxor xmm0,xmm6 - pxor xmm15,xmm1 - pand xmm0,xmm7 - pand xmm15,xmm7 - pxor xmm6,xmm0 - psllq xmm0,4 - pxor xmm1,xmm15 - psllq xmm15,4 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[rax] - pxor xmm5,xmm7 - pxor xmm3,xmm7 - pxor xmm1,xmm7 - pxor xmm6,xmm7 - pxor xmm2,xmm7 - pxor xmm4,xmm7 - pxor xmm15,xmm7 - pxor xmm0,xmm7 - DB 0F3h,0C3h ;repret - - - -ALIGN 16 -_bsaes_key_convert: - - lea r11,[$L$masks] - movdqu xmm7,XMMWORD[rcx] - lea rcx,[16+rcx] - movdqa xmm0,XMMWORD[r11] - movdqa xmm1,XMMWORD[16+r11] - movdqa xmm2,XMMWORD[32+r11] - movdqa xmm3,XMMWORD[48+r11] - movdqa xmm4,XMMWORD[64+r11] - pcmpeqd xmm5,xmm5 - - movdqu xmm6,XMMWORD[rcx] - movdqa XMMWORD[rax],xmm7 - lea rax,[16+rax] - dec r10d - jmp NEAR $L$key_loop -ALIGN 16 -$L$key_loop: -DB 102,15,56,0,244 - - movdqa xmm8,xmm0 - movdqa xmm9,xmm1 - - pand xmm8,xmm6 - pand xmm9,xmm6 - movdqa xmm10,xmm2 - pcmpeqb xmm8,xmm0 - psllq xmm0,4 - movdqa xmm11,xmm3 - pcmpeqb xmm9,xmm1 - psllq xmm1,4 - - pand xmm10,xmm6 - pand xmm11,xmm6 - movdqa xmm12,xmm0 - pcmpeqb xmm10,xmm2 - psllq xmm2,4 - movdqa xmm13,xmm1 - pcmpeqb xmm11,xmm3 - psllq xmm3,4 - - movdqa xmm14,xmm2 - movdqa xmm15,xmm3 - pxor xmm8,xmm5 - pxor xmm9,xmm5 - - pand xmm12,xmm6 - pand xmm13,xmm6 - movdqa XMMWORD[rax],xmm8 - pcmpeqb xmm12,xmm0 - psrlq xmm0,4 - movdqa XMMWORD[16+rax],xmm9 - pcmpeqb xmm13,xmm1 - psrlq xmm1,4 - lea rcx,[16+rcx] - - pand xmm14,xmm6 - pand xmm15,xmm6 - movdqa XMMWORD[32+rax],xmm10 - pcmpeqb xmm14,xmm2 - psrlq xmm2,4 - movdqa XMMWORD[48+rax],xmm11 - pcmpeqb xmm15,xmm3 - psrlq xmm3,4 - movdqu xmm6,XMMWORD[rcx] - - pxor xmm13,xmm5 - pxor xmm14,xmm5 - movdqa XMMWORD[64+rax],xmm12 - movdqa XMMWORD[80+rax],xmm13 - movdqa XMMWORD[96+rax],xmm14 - movdqa XMMWORD[112+rax],xmm15 - lea rax,[128+rax] - dec r10d - jnz NEAR $L$key_loop - - movdqa xmm7,XMMWORD[80+r11] - - DB 0F3h,0C3h ;repret - - -EXTERN asm_AES_cbc_encrypt -global bsaes_cbc_encrypt - -ALIGN 16 -bsaes_cbc_encrypt: - - mov r11d,DWORD[48+rsp] - cmp r11d,0 - jne NEAR asm_AES_cbc_encrypt - cmp r8,128 - jb NEAR asm_AES_cbc_encrypt - - mov rax,rsp -$L$cbc_dec_prologue: - push rbp - - push rbx - - push r12 - - push r13 - - push r14 - - push r15 - - lea rsp,[((-72))+rsp] - - mov r10,QWORD[160+rsp] - lea rsp,[((-160))+rsp] - movaps XMMWORD[64+rsp],xmm6 - movaps XMMWORD[80+rsp],xmm7 - movaps XMMWORD[96+rsp],xmm8 - movaps XMMWORD[112+rsp],xmm9 - movaps XMMWORD[128+rsp],xmm10 - movaps XMMWORD[144+rsp],xmm11 - movaps XMMWORD[160+rsp],xmm12 - movaps XMMWORD[176+rsp],xmm13 - movaps XMMWORD[192+rsp],xmm14 - movaps XMMWORD[208+rsp],xmm15 -$L$cbc_dec_body: - mov rbp,rsp - - mov eax,DWORD[240+r9] - mov r12,rcx - mov r13,rdx - mov r14,r8 - mov r15,r9 - mov rbx,r10 - shr r14,4 - - mov edx,eax - shl rax,7 - sub rax,96 - sub rsp,rax - - mov rax,rsp - mov rcx,r15 - mov r10d,edx - call _bsaes_key_convert - pxor xmm7,XMMWORD[rsp] - movdqa XMMWORD[rax],xmm6 - movdqa XMMWORD[rsp],xmm7 - - movdqu xmm14,XMMWORD[rbx] - sub r14,8 -$L$cbc_dec_loop: - movdqu xmm15,XMMWORD[r12] - movdqu xmm0,XMMWORD[16+r12] - movdqu xmm1,XMMWORD[32+r12] - movdqu xmm2,XMMWORD[48+r12] - movdqu xmm3,XMMWORD[64+r12] - movdqu xmm4,XMMWORD[80+r12] - mov rax,rsp - movdqu xmm5,XMMWORD[96+r12] - mov r10d,edx - movdqu xmm6,XMMWORD[112+r12] - movdqa XMMWORD[32+rbp],xmm14 - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm1,xmm10 - movdqu xmm12,XMMWORD[80+r12] - pxor xmm6,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm2,xmm12 - movdqu xmm14,XMMWORD[112+r12] - pxor xmm4,xmm13 - movdqu XMMWORD[r13],xmm15 - lea r12,[128+r12] - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - movdqu XMMWORD[80+r13],xmm6 - movdqu XMMWORD[96+r13],xmm2 - movdqu XMMWORD[112+r13],xmm4 - lea r13,[128+r13] - sub r14,8 - jnc NEAR $L$cbc_dec_loop - - add r14,8 - jz NEAR $L$cbc_dec_done - - movdqu xmm15,XMMWORD[r12] - mov rax,rsp - mov r10d,edx - cmp r14,2 - jb NEAR $L$cbc_dec_one - movdqu xmm0,XMMWORD[16+r12] - je NEAR $L$cbc_dec_two - movdqu xmm1,XMMWORD[32+r12] - cmp r14,4 - jb NEAR $L$cbc_dec_three - movdqu xmm2,XMMWORD[48+r12] - je NEAR $L$cbc_dec_four - movdqu xmm3,XMMWORD[64+r12] - cmp r14,6 - jb NEAR $L$cbc_dec_five - movdqu xmm4,XMMWORD[80+r12] - je NEAR $L$cbc_dec_six - movdqu xmm5,XMMWORD[96+r12] - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm1,xmm10 - movdqu xmm12,XMMWORD[80+r12] - pxor xmm6,xmm11 - movdqu xmm14,XMMWORD[96+r12] - pxor xmm2,xmm12 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - movdqu XMMWORD[80+r13],xmm6 - movdqu XMMWORD[96+r13],xmm2 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_six: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm1,xmm10 - movdqu xmm14,XMMWORD[80+r12] - pxor xmm6,xmm11 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - movdqu XMMWORD[80+r13],xmm6 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_five: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu xmm14,XMMWORD[64+r12] - pxor xmm1,xmm10 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_four: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm14,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_three: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm14,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_two: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm14,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_one: - lea rcx,[r12] - lea rdx,[32+rbp] - lea r8,[r15] - call asm_AES_decrypt - pxor xmm14,XMMWORD[32+rbp] - movdqu XMMWORD[r13],xmm14 - movdqa xmm14,xmm15 - -$L$cbc_dec_done: - movdqu XMMWORD[rbx],xmm14 - lea rax,[rsp] - pxor xmm0,xmm0 -$L$cbc_dec_bzero: - movdqa XMMWORD[rax],xmm0 - movdqa XMMWORD[16+rax],xmm0 - lea rax,[32+rax] - cmp rbp,rax - ja NEAR $L$cbc_dec_bzero - - lea rax,[120+rbp] - - movaps xmm6,XMMWORD[64+rbp] - movaps xmm7,XMMWORD[80+rbp] - movaps xmm8,XMMWORD[96+rbp] - movaps xmm9,XMMWORD[112+rbp] - movaps xmm10,XMMWORD[128+rbp] - movaps xmm11,XMMWORD[144+rbp] - movaps xmm12,XMMWORD[160+rbp] - movaps xmm13,XMMWORD[176+rbp] - movaps xmm14,XMMWORD[192+rbp] - movaps xmm15,XMMWORD[208+rbp] - lea rax,[160+rax] -$L$cbc_dec_tail: - mov r15,QWORD[((-48))+rax] - - mov r14,QWORD[((-40))+rax] - - mov r13,QWORD[((-32))+rax] - - mov r12,QWORD[((-24))+rax] - - mov rbx,QWORD[((-16))+rax] - - mov rbp,QWORD[((-8))+rax] - - lea rsp,[rax] - -$L$cbc_dec_epilogue: - DB 0F3h,0C3h ;repret - - - -global bsaes_ctr32_encrypt_blocks - -ALIGN 16 -bsaes_ctr32_encrypt_blocks: - - mov rax,rsp -$L$ctr_enc_prologue: - push rbp - - push rbx - - push r12 - - push r13 - - push r14 - - push r15 - - lea rsp,[((-72))+rsp] - - mov r10,QWORD[160+rsp] - lea rsp,[((-160))+rsp] - movaps XMMWORD[64+rsp],xmm6 - movaps XMMWORD[80+rsp],xmm7 - movaps XMMWORD[96+rsp],xmm8 - movaps XMMWORD[112+rsp],xmm9 - movaps XMMWORD[128+rsp],xmm10 - movaps XMMWORD[144+rsp],xmm11 - movaps XMMWORD[160+rsp],xmm12 - movaps XMMWORD[176+rsp],xmm13 - movaps XMMWORD[192+rsp],xmm14 - movaps XMMWORD[208+rsp],xmm15 -$L$ctr_enc_body: - mov rbp,rsp - - movdqu xmm0,XMMWORD[r10] - mov eax,DWORD[240+r9] - mov r12,rcx - mov r13,rdx - mov r14,r8 - mov r15,r9 - movdqa XMMWORD[32+rbp],xmm0 - cmp r8,8 - jb NEAR $L$ctr_enc_short - - mov ebx,eax - shl rax,7 - sub rax,96 - sub rsp,rax - - mov rax,rsp - mov rcx,r15 - mov r10d,ebx - call _bsaes_key_convert - pxor xmm7,xmm6 - movdqa XMMWORD[rax],xmm7 - - movdqa xmm8,XMMWORD[rsp] - lea r11,[$L$ADD1] - movdqa xmm15,XMMWORD[32+rbp] - movdqa xmm7,XMMWORD[((-32))+r11] -DB 102,68,15,56,0,199 -DB 102,68,15,56,0,255 - movdqa XMMWORD[rsp],xmm8 - jmp NEAR $L$ctr_enc_loop -ALIGN 16 -$L$ctr_enc_loop: - movdqa XMMWORD[32+rbp],xmm15 - movdqa xmm0,xmm15 - movdqa xmm1,xmm15 - paddd xmm0,XMMWORD[r11] - movdqa xmm2,xmm15 - paddd xmm1,XMMWORD[16+r11] - movdqa xmm3,xmm15 - paddd xmm2,XMMWORD[32+r11] - movdqa xmm4,xmm15 - paddd xmm3,XMMWORD[48+r11] - movdqa xmm5,xmm15 - paddd xmm4,XMMWORD[64+r11] - movdqa xmm6,xmm15 - paddd xmm5,XMMWORD[80+r11] - paddd xmm6,XMMWORD[96+r11] - - - - movdqa xmm8,XMMWORD[rsp] - lea rax,[16+rsp] - movdqa xmm7,XMMWORD[((-16))+r11] - pxor xmm15,xmm8 - pxor xmm0,xmm8 - pxor xmm1,xmm8 - pxor xmm2,xmm8 -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,xmm8 - pxor xmm4,xmm8 -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,xmm8 - pxor xmm6,xmm8 -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 - lea r11,[$L$BS0] - mov r10d,ebx - - call _bsaes_encrypt8_bitslice - - sub r14,8 - jc NEAR $L$ctr_enc_loop_done - - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - movdqu xmm9,XMMWORD[32+r12] - movdqu xmm10,XMMWORD[48+r12] - movdqu xmm11,XMMWORD[64+r12] - movdqu xmm12,XMMWORD[80+r12] - movdqu xmm13,XMMWORD[96+r12] - movdqu xmm14,XMMWORD[112+r12] - lea r12,[128+r12] - pxor xmm7,xmm15 - movdqa xmm15,XMMWORD[32+rbp] - pxor xmm0,xmm8 - movdqu XMMWORD[r13],xmm7 - pxor xmm3,xmm9 - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,xmm10 - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,xmm11 - movdqu XMMWORD[48+r13],xmm5 - pxor xmm6,xmm12 - movdqu XMMWORD[64+r13],xmm2 - pxor xmm1,xmm13 - movdqu XMMWORD[80+r13],xmm6 - pxor xmm4,xmm14 - movdqu XMMWORD[96+r13],xmm1 - lea r11,[$L$ADD1] - movdqu XMMWORD[112+r13],xmm4 - lea r13,[128+r13] - paddd xmm15,XMMWORD[112+r11] - jnz NEAR $L$ctr_enc_loop - - jmp NEAR $L$ctr_enc_done -ALIGN 16 -$L$ctr_enc_loop_done: - add r14,8 - movdqu xmm7,XMMWORD[r12] - pxor xmm15,xmm7 - movdqu XMMWORD[r13],xmm15 - cmp r14,2 - jb NEAR $L$ctr_enc_done - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm8 - movdqu XMMWORD[16+r13],xmm0 - je NEAR $L$ctr_enc_done - movdqu xmm9,XMMWORD[32+r12] - pxor xmm3,xmm9 - movdqu XMMWORD[32+r13],xmm3 - cmp r14,4 - jb NEAR $L$ctr_enc_done - movdqu xmm10,XMMWORD[48+r12] - pxor xmm5,xmm10 - movdqu XMMWORD[48+r13],xmm5 - je NEAR $L$ctr_enc_done - movdqu xmm11,XMMWORD[64+r12] - pxor xmm2,xmm11 - movdqu XMMWORD[64+r13],xmm2 - cmp r14,6 - jb NEAR $L$ctr_enc_done - movdqu xmm12,XMMWORD[80+r12] - pxor xmm6,xmm12 - movdqu XMMWORD[80+r13],xmm6 - je NEAR $L$ctr_enc_done - movdqu xmm13,XMMWORD[96+r12] - pxor xmm1,xmm13 - movdqu XMMWORD[96+r13],xmm1 - jmp NEAR $L$ctr_enc_done - -ALIGN 16 -$L$ctr_enc_short: - lea rcx,[32+rbp] - lea rdx,[48+rbp] - lea r8,[r15] - call asm_AES_encrypt - movdqu xmm0,XMMWORD[r12] - lea r12,[16+r12] - mov eax,DWORD[44+rbp] - bswap eax - pxor xmm0,XMMWORD[48+rbp] - inc eax - movdqu XMMWORD[r13],xmm0 - bswap eax - lea r13,[16+r13] - mov DWORD[44+rsp],eax - dec r14 - jnz NEAR $L$ctr_enc_short - -$L$ctr_enc_done: - lea rax,[rsp] - pxor xmm0,xmm0 -$L$ctr_enc_bzero: - movdqa XMMWORD[rax],xmm0 - movdqa XMMWORD[16+rax],xmm0 - lea rax,[32+rax] - cmp rbp,rax - ja NEAR $L$ctr_enc_bzero - - lea rax,[120+rbp] - - movaps xmm6,XMMWORD[64+rbp] - movaps xmm7,XMMWORD[80+rbp] - movaps xmm8,XMMWORD[96+rbp] - movaps xmm9,XMMWORD[112+rbp] - movaps xmm10,XMMWORD[128+rbp] - movaps xmm11,XMMWORD[144+rbp] - movaps xmm12,XMMWORD[160+rbp] - movaps xmm13,XMMWORD[176+rbp] - movaps xmm14,XMMWORD[192+rbp] - movaps xmm15,XMMWORD[208+rbp] - lea rax,[160+rax] -$L$ctr_enc_tail: - mov r15,QWORD[((-48))+rax] - - mov r14,QWORD[((-40))+rax] - - mov r13,QWORD[((-32))+rax] - - mov r12,QWORD[((-24))+rax] - - mov rbx,QWORD[((-16))+rax] - - mov rbp,QWORD[((-8))+rax] - - lea rsp,[rax] - -$L$ctr_enc_epilogue: - DB 0F3h,0C3h ;repret - - -global bsaes_xts_encrypt - -ALIGN 16 -bsaes_xts_encrypt: - - mov rax,rsp -$L$xts_enc_prologue: - push rbp - - push rbx - - push r12 - - push r13 - - push r14 - - push r15 - - lea rsp,[((-72))+rsp] - - mov r10,QWORD[160+rsp] - mov r11,QWORD[168+rsp] - lea rsp,[((-160))+rsp] - movaps XMMWORD[64+rsp],xmm6 - movaps XMMWORD[80+rsp],xmm7 - movaps XMMWORD[96+rsp],xmm8 - movaps XMMWORD[112+rsp],xmm9 - movaps XMMWORD[128+rsp],xmm10 - movaps XMMWORD[144+rsp],xmm11 - movaps XMMWORD[160+rsp],xmm12 - movaps XMMWORD[176+rsp],xmm13 - movaps XMMWORD[192+rsp],xmm14 - movaps XMMWORD[208+rsp],xmm15 -$L$xts_enc_body: - mov rbp,rsp - - mov r12,rcx - mov r13,rdx - mov r14,r8 - mov r15,r9 - - lea rcx,[r11] - lea rdx,[32+rbp] - lea r8,[r10] - call asm_AES_encrypt - - mov eax,DWORD[240+r15] - mov rbx,r14 - - mov edx,eax - shl rax,7 - sub rax,96 - sub rsp,rax - - mov rax,rsp - mov rcx,r15 - mov r10d,edx - call _bsaes_key_convert - pxor xmm7,xmm6 - movdqa XMMWORD[rax],xmm7 - - and r14,-16 - sub rsp,0x80 - movdqa xmm6,XMMWORD[32+rbp] - - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - - sub r14,0x80 - jc NEAR $L$xts_enc_short - jmp NEAR $L$xts_enc_loop - -ALIGN 16 -$L$xts_enc_loop: - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm15,xmm6 - movdqa XMMWORD[rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm0,xmm6 - movdqa XMMWORD[16+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm7,XMMWORD[r12] - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm1,xmm6 - movdqa XMMWORD[32+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm8,XMMWORD[16+r12] - pxor xmm15,xmm7 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm2,xmm6 - movdqa XMMWORD[48+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm0,xmm8 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm3,xmm6 - movdqa XMMWORD[64+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm1,xmm9 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm4,xmm6 - movdqa XMMWORD[80+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm2,xmm10 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm5,xmm6 - movdqa XMMWORD[96+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm12,XMMWORD[80+r12] - pxor xmm3,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm4,xmm12 - movdqu xmm14,XMMWORD[112+r12] - lea r12,[128+r12] - movdqa XMMWORD[112+rsp],xmm6 - pxor xmm5,xmm13 - lea rax,[128+rsp] - pxor xmm6,xmm14 - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm5 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm2 - pxor xmm1,XMMWORD[96+rsp] - movdqu XMMWORD[80+r13],xmm6 - pxor xmm4,XMMWORD[112+rsp] - movdqu XMMWORD[96+r13],xmm1 - movdqu XMMWORD[112+r13],xmm4 - lea r13,[128+r13] - - movdqa xmm6,XMMWORD[112+rsp] - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - - sub r14,0x80 - jnc NEAR $L$xts_enc_loop - -$L$xts_enc_short: - add r14,0x80 - jz NEAR $L$xts_enc_done - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm15,xmm6 - movdqa XMMWORD[rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm0,xmm6 - movdqa XMMWORD[16+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm7,XMMWORD[r12] - cmp r14,16 - je NEAR $L$xts_enc_1 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm1,xmm6 - movdqa XMMWORD[32+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm8,XMMWORD[16+r12] - cmp r14,32 - je NEAR $L$xts_enc_2 - pxor xmm15,xmm7 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm2,xmm6 - movdqa XMMWORD[48+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm9,XMMWORD[32+r12] - cmp r14,48 - je NEAR $L$xts_enc_3 - pxor xmm0,xmm8 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm3,xmm6 - movdqa XMMWORD[64+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm10,XMMWORD[48+r12] - cmp r14,64 - je NEAR $L$xts_enc_4 - pxor xmm1,xmm9 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm4,xmm6 - movdqa XMMWORD[80+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm11,XMMWORD[64+r12] - cmp r14,80 - je NEAR $L$xts_enc_5 - pxor xmm2,xmm10 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm5,xmm6 - movdqa XMMWORD[96+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm12,XMMWORD[80+r12] - cmp r14,96 - je NEAR $L$xts_enc_6 - pxor xmm3,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm4,xmm12 - movdqa XMMWORD[112+rsp],xmm6 - lea r12,[112+r12] - pxor xmm5,xmm13 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm5 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm2 - pxor xmm1,XMMWORD[96+rsp] - movdqu XMMWORD[80+r13],xmm6 - movdqu XMMWORD[96+r13],xmm1 - lea r13,[112+r13] - - movdqa xmm6,XMMWORD[112+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_6: - pxor xmm3,xmm11 - lea r12,[96+r12] - pxor xmm4,xmm12 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm5 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm2 - movdqu XMMWORD[80+r13],xmm6 - lea r13,[96+r13] - - movdqa xmm6,XMMWORD[96+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_5: - pxor xmm2,xmm10 - lea r12,[80+r12] - pxor xmm3,xmm11 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm5 - movdqu XMMWORD[64+r13],xmm2 - lea r13,[80+r13] - - movdqa xmm6,XMMWORD[80+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_4: - pxor xmm1,xmm9 - lea r12,[64+r12] - pxor xmm2,xmm10 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - movdqu XMMWORD[48+r13],xmm5 - lea r13,[64+r13] - - movdqa xmm6,XMMWORD[64+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_3: - pxor xmm0,xmm8 - lea r12,[48+r12] - pxor xmm1,xmm9 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm3 - lea r13,[48+r13] - - movdqa xmm6,XMMWORD[48+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_2: - pxor xmm15,xmm7 - lea r12,[32+r12] - pxor xmm0,xmm8 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - lea r13,[32+r13] - - movdqa xmm6,XMMWORD[32+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_1: - pxor xmm7,xmm15 - lea r12,[16+r12] - movdqa XMMWORD[32+rbp],xmm7 - lea rcx,[32+rbp] - lea rdx,[32+rbp] - lea r8,[r15] - call asm_AES_encrypt - pxor xmm15,XMMWORD[32+rbp] - - - - - - movdqu XMMWORD[r13],xmm15 - lea r13,[16+r13] - - movdqa xmm6,XMMWORD[16+rsp] - -$L$xts_enc_done: - and ebx,15 - jz NEAR $L$xts_enc_ret - mov rdx,r13 - -$L$xts_enc_steal: - movzx eax,BYTE[r12] - movzx ecx,BYTE[((-16))+rdx] - lea r12,[1+r12] - mov BYTE[((-16))+rdx],al - mov BYTE[rdx],cl - lea rdx,[1+rdx] - sub ebx,1 - jnz NEAR $L$xts_enc_steal - - movdqu xmm15,XMMWORD[((-16))+r13] - lea rcx,[32+rbp] - pxor xmm15,xmm6 - lea rdx,[32+rbp] - movdqa XMMWORD[32+rbp],xmm15 - lea r8,[r15] - call asm_AES_encrypt - pxor xmm6,XMMWORD[32+rbp] - movdqu XMMWORD[(-16)+r13],xmm6 - -$L$xts_enc_ret: - lea rax,[rsp] - pxor xmm0,xmm0 -$L$xts_enc_bzero: - movdqa XMMWORD[rax],xmm0 - movdqa XMMWORD[16+rax],xmm0 - lea rax,[32+rax] - cmp rbp,rax - ja NEAR $L$xts_enc_bzero - - lea rax,[120+rbp] - - movaps xmm6,XMMWORD[64+rbp] - movaps xmm7,XMMWORD[80+rbp] - movaps xmm8,XMMWORD[96+rbp] - movaps xmm9,XMMWORD[112+rbp] - movaps xmm10,XMMWORD[128+rbp] - movaps xmm11,XMMWORD[144+rbp] - movaps xmm12,XMMWORD[160+rbp] - movaps xmm13,XMMWORD[176+rbp] - movaps xmm14,XMMWORD[192+rbp] - movaps xmm15,XMMWORD[208+rbp] - lea rax,[160+rax] -$L$xts_enc_tail: - mov r15,QWORD[((-48))+rax] - - mov r14,QWORD[((-40))+rax] - - mov r13,QWORD[((-32))+rax] - - mov r12,QWORD[((-24))+rax] - - mov rbx,QWORD[((-16))+rax] - - mov rbp,QWORD[((-8))+rax] - - lea rsp,[rax] - -$L$xts_enc_epilogue: - DB 0F3h,0C3h ;repret - - - -global bsaes_xts_decrypt - -ALIGN 16 -bsaes_xts_decrypt: - - mov rax,rsp -$L$xts_dec_prologue: - push rbp - - push rbx - - push r12 - - push r13 - - push r14 - - push r15 - - lea rsp,[((-72))+rsp] - - mov r10,QWORD[160+rsp] - mov r11,QWORD[168+rsp] - lea rsp,[((-160))+rsp] - movaps XMMWORD[64+rsp],xmm6 - movaps XMMWORD[80+rsp],xmm7 - movaps XMMWORD[96+rsp],xmm8 - movaps XMMWORD[112+rsp],xmm9 - movaps XMMWORD[128+rsp],xmm10 - movaps XMMWORD[144+rsp],xmm11 - movaps XMMWORD[160+rsp],xmm12 - movaps XMMWORD[176+rsp],xmm13 - movaps XMMWORD[192+rsp],xmm14 - movaps XMMWORD[208+rsp],xmm15 -$L$xts_dec_body: - mov rbp,rsp - mov r12,rcx - mov r13,rdx - mov r14,r8 - mov r15,r9 - - lea rcx,[r11] - lea rdx,[32+rbp] - lea r8,[r10] - call asm_AES_encrypt - - mov eax,DWORD[240+r15] - mov rbx,r14 - - mov edx,eax - shl rax,7 - sub rax,96 - sub rsp,rax - - mov rax,rsp - mov rcx,r15 - mov r10d,edx - call _bsaes_key_convert - pxor xmm7,XMMWORD[rsp] - movdqa XMMWORD[rax],xmm6 - movdqa XMMWORD[rsp],xmm7 - - xor eax,eax - and r14,-16 - test ebx,15 - setnz al - shl rax,4 - sub r14,rax - - sub rsp,0x80 - movdqa xmm6,XMMWORD[32+rbp] - - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - - sub r14,0x80 - jc NEAR $L$xts_dec_short - jmp NEAR $L$xts_dec_loop - -ALIGN 16 -$L$xts_dec_loop: - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm15,xmm6 - movdqa XMMWORD[rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm0,xmm6 - movdqa XMMWORD[16+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm7,XMMWORD[r12] - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm1,xmm6 - movdqa XMMWORD[32+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm8,XMMWORD[16+r12] - pxor xmm15,xmm7 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm2,xmm6 - movdqa XMMWORD[48+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm0,xmm8 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm3,xmm6 - movdqa XMMWORD[64+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm1,xmm9 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm4,xmm6 - movdqa XMMWORD[80+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm2,xmm10 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm5,xmm6 - movdqa XMMWORD[96+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm12,XMMWORD[80+r12] - pxor xmm3,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm4,xmm12 - movdqu xmm14,XMMWORD[112+r12] - lea r12,[128+r12] - movdqa XMMWORD[112+rsp],xmm6 - pxor xmm5,xmm13 - lea rax,[128+rsp] - pxor xmm6,xmm14 - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - pxor xmm1,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm3 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm1 - pxor xmm2,XMMWORD[96+rsp] - movdqu XMMWORD[80+r13],xmm6 - pxor xmm4,XMMWORD[112+rsp] - movdqu XMMWORD[96+r13],xmm2 - movdqu XMMWORD[112+r13],xmm4 - lea r13,[128+r13] - - movdqa xmm6,XMMWORD[112+rsp] - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - - sub r14,0x80 - jnc NEAR $L$xts_dec_loop - -$L$xts_dec_short: - add r14,0x80 - jz NEAR $L$xts_dec_done - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm15,xmm6 - movdqa XMMWORD[rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm0,xmm6 - movdqa XMMWORD[16+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm7,XMMWORD[r12] - cmp r14,16 - je NEAR $L$xts_dec_1 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm1,xmm6 - movdqa XMMWORD[32+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm8,XMMWORD[16+r12] - cmp r14,32 - je NEAR $L$xts_dec_2 - pxor xmm15,xmm7 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm2,xmm6 - movdqa XMMWORD[48+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm9,XMMWORD[32+r12] - cmp r14,48 - je NEAR $L$xts_dec_3 - pxor xmm0,xmm8 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm3,xmm6 - movdqa XMMWORD[64+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm10,XMMWORD[48+r12] - cmp r14,64 - je NEAR $L$xts_dec_4 - pxor xmm1,xmm9 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm4,xmm6 - movdqa XMMWORD[80+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm11,XMMWORD[64+r12] - cmp r14,80 - je NEAR $L$xts_dec_5 - pxor xmm2,xmm10 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm5,xmm6 - movdqa XMMWORD[96+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm12,XMMWORD[80+r12] - cmp r14,96 - je NEAR $L$xts_dec_6 - pxor xmm3,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm4,xmm12 - movdqa XMMWORD[112+rsp],xmm6 - lea r12,[112+r12] - pxor xmm5,xmm13 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - pxor xmm1,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm3 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm1 - pxor xmm2,XMMWORD[96+rsp] - movdqu XMMWORD[80+r13],xmm6 - movdqu XMMWORD[96+r13],xmm2 - lea r13,[112+r13] - - movdqa xmm6,XMMWORD[112+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_6: - pxor xmm3,xmm11 - lea r12,[96+r12] - pxor xmm4,xmm12 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - pxor xmm1,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm3 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm1 - movdqu XMMWORD[80+r13],xmm6 - lea r13,[96+r13] - - movdqa xmm6,XMMWORD[96+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_5: - pxor xmm2,xmm10 - lea r12,[80+r12] - pxor xmm3,xmm11 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - pxor xmm1,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - lea r13,[80+r13] - - movdqa xmm6,XMMWORD[80+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_4: - pxor xmm1,xmm9 - lea r12,[64+r12] - pxor xmm2,xmm10 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - lea r13,[64+r13] - - movdqa xmm6,XMMWORD[64+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_3: - pxor xmm0,xmm8 - lea r12,[48+r12] - pxor xmm1,xmm9 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - lea r13,[48+r13] - - movdqa xmm6,XMMWORD[48+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_2: - pxor xmm15,xmm7 - lea r12,[32+r12] - pxor xmm0,xmm8 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - lea r13,[32+r13] - - movdqa xmm6,XMMWORD[32+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_1: - pxor xmm7,xmm15 - lea r12,[16+r12] - movdqa XMMWORD[32+rbp],xmm7 - lea rcx,[32+rbp] - lea rdx,[32+rbp] - lea r8,[r15] - call asm_AES_decrypt - pxor xmm15,XMMWORD[32+rbp] - - - - - - movdqu XMMWORD[r13],xmm15 - lea r13,[16+r13] - - movdqa xmm6,XMMWORD[16+rsp] - -$L$xts_dec_done: - and ebx,15 - jz NEAR $L$xts_dec_ret - - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - pshufd xmm13,xmm14,0x13 - movdqa xmm5,xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - movdqu xmm15,XMMWORD[r12] - pxor xmm6,xmm13 - - lea rcx,[32+rbp] - pxor xmm15,xmm6 - lea rdx,[32+rbp] - movdqa XMMWORD[32+rbp],xmm15 - lea r8,[r15] - call asm_AES_decrypt - pxor xmm6,XMMWORD[32+rbp] - mov rdx,r13 - movdqu XMMWORD[r13],xmm6 - -$L$xts_dec_steal: - movzx eax,BYTE[16+r12] - movzx ecx,BYTE[rdx] - lea r12,[1+r12] - mov BYTE[rdx],al - mov BYTE[16+rdx],cl - lea rdx,[1+rdx] - sub ebx,1 - jnz NEAR $L$xts_dec_steal - - movdqu xmm15,XMMWORD[r13] - lea rcx,[32+rbp] - pxor xmm15,xmm5 - lea rdx,[32+rbp] - movdqa XMMWORD[32+rbp],xmm15 - lea r8,[r15] - call asm_AES_decrypt - pxor xmm5,XMMWORD[32+rbp] - movdqu XMMWORD[r13],xmm5 - -$L$xts_dec_ret: - lea rax,[rsp] - pxor xmm0,xmm0 -$L$xts_dec_bzero: - movdqa XMMWORD[rax],xmm0 - movdqa XMMWORD[16+rax],xmm0 - lea rax,[32+rax] - cmp rbp,rax - ja NEAR $L$xts_dec_bzero - - lea rax,[120+rbp] - - movaps xmm6,XMMWORD[64+rbp] - movaps xmm7,XMMWORD[80+rbp] - movaps xmm8,XMMWORD[96+rbp] - movaps xmm9,XMMWORD[112+rbp] - movaps xmm10,XMMWORD[128+rbp] - movaps xmm11,XMMWORD[144+rbp] - movaps xmm12,XMMWORD[160+rbp] - movaps xmm13,XMMWORD[176+rbp] - movaps xmm14,XMMWORD[192+rbp] - movaps xmm15,XMMWORD[208+rbp] - lea rax,[160+rax] -$L$xts_dec_tail: - mov r15,QWORD[((-48))+rax] - - mov r14,QWORD[((-40))+rax] - - mov r13,QWORD[((-32))+rax] - - mov r12,QWORD[((-24))+rax] - - mov rbx,QWORD[((-16))+rax] - - mov rbp,QWORD[((-8))+rax] - - lea rsp,[rax] - -$L$xts_dec_epilogue: - DB 0F3h,0C3h ;repret - - - -ALIGN 64 -_bsaes_const: -$L$M0ISR: - DQ 0x0a0e0206070b0f03,0x0004080c0d010509 -$L$ISRM0: - DQ 0x01040b0e0205080f,0x0306090c00070a0d -$L$ISR: - DQ 0x0504070602010003,0x0f0e0d0c080b0a09 -$L$BS0: - DQ 0x5555555555555555,0x5555555555555555 -$L$BS1: - DQ 0x3333333333333333,0x3333333333333333 -$L$BS2: - DQ 0x0f0f0f0f0f0f0f0f,0x0f0f0f0f0f0f0f0f -$L$SR: - DQ 0x0504070600030201,0x0f0e0d0c0a09080b -$L$SRM0: - DQ 0x0304090e00050a0f,0x01060b0c0207080d -$L$M0SR: - DQ 0x0a0e02060f03070b,0x0004080c05090d01 -$L$SWPUP: - DQ 0x0706050403020100,0x0c0d0e0f0b0a0908 -$L$SWPUPM0SR: - DQ 0x0a0d02060c03070b,0x0004080f05090e01 -$L$ADD1: - DQ 0x0000000000000000,0x0000000100000000 -$L$ADD2: - DQ 0x0000000000000000,0x0000000200000000 -$L$ADD3: - DQ 0x0000000000000000,0x0000000300000000 -$L$ADD4: - DQ 0x0000000000000000,0x0000000400000000 -$L$ADD5: - DQ 0x0000000000000000,0x0000000500000000 -$L$ADD6: - DQ 0x0000000000000000,0x0000000600000000 -$L$ADD7: - DQ 0x0000000000000000,0x0000000700000000 -$L$ADD8: - DQ 0x0000000000000000,0x0000000800000000 -$L$xts_magic: - DD 0x87,0,1,0 -$L$masks: - DQ 0x0101010101010101,0x0101010101010101 - DQ 0x0202020202020202,0x0202020202020202 - DQ 0x0404040404040404,0x0404040404040404 - DQ 0x0808080808080808,0x0808080808080808 -$L$M0: - DQ 0x02060a0e03070b0f,0x0004080c0105090d -$L$63: - DQ 0x6363636363636363,0x6363636363636363 -DB 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102 -DB 111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44 -DB 32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44 -DB 32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32 -DB 65,110,100,121,32,80,111,108,121,97,107,111,118,0 -ALIGN 64 - -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jbe NEAR $L$in_prologue - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - - mov r10d,DWORD[8+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_tail - - mov rax,QWORD[160+r8] - - lea rsi,[64+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - lea rax,[((160+120))+rax] - -$L$in_tail: - mov rbp,QWORD[((-48))+rax] - mov rbx,QWORD[((-40))+rax] - mov r12,QWORD[((-32))+rax] - mov r13,QWORD[((-24))+rax] - mov r14,QWORD[((-16))+rax] - mov r15,QWORD[((-8))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_prologue: - mov QWORD[152+r8],rax - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$cbc_dec_prologue wrt ..imagebase - DD $L$cbc_dec_epilogue wrt ..imagebase - DD $L$cbc_dec_info wrt ..imagebase - - DD $L$ctr_enc_prologue wrt ..imagebase - DD $L$ctr_enc_epilogue wrt ..imagebase - DD $L$ctr_enc_info wrt ..imagebase - - DD $L$xts_enc_prologue wrt ..imagebase - DD $L$xts_enc_epilogue wrt ..imagebase - DD $L$xts_enc_info wrt ..imagebase - - DD $L$xts_dec_prologue wrt ..imagebase - DD $L$xts_dec_epilogue wrt ..imagebase - DD $L$xts_dec_info wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$cbc_dec_info: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$cbc_dec_body wrt ..imagebase,$L$cbc_dec_epilogue wrt ..imagebase - DD $L$cbc_dec_tail wrt ..imagebase - DD 0 -$L$ctr_enc_info: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$ctr_enc_body wrt ..imagebase,$L$ctr_enc_epilogue wrt ..imagebase - DD $L$ctr_enc_tail wrt ..imagebase - DD 0 -$L$xts_enc_info: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$xts_enc_body wrt ..imagebase,$L$xts_enc_epilogue wrt ..imagebase - DD $L$xts_enc_tail wrt ..imagebase - DD 0 -$L$xts_dec_info: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$xts_dec_body wrt ..imagebase,$L$xts_dec_epilogue wrt ..imagebase - DD $L$xts_dec_tail wrt ..imagebase - DD 0 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/bn/rsaz-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/bn/rsaz-x86_64.asm index 603a8d17b870ab..a474c5d9a68c9f 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/bn/rsaz-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/bn/rsaz-x86_64.asm @@ -39,7 +39,7 @@ $L$SEH_begin_rsaz_512_sqr: sub rsp,128+24 $L$sqr_body: - mov rbp,rdx +DB 102,72,15,110,202 mov rdx,QWORD[rsi] mov rax,QWORD[8+rsi] mov QWORD[128+rsp],rcx @@ -54,6 +54,7 @@ $L$oop_sqr: mov DWORD[((128+8))+rsp],r8d mov rbx,rdx + mov rbp,rax mul rdx mov r8,rax mov rax,QWORD[16+rsi] @@ -92,31 +93,29 @@ $L$oop_sqr: mul rbx add r14,rax mov rax,rbx - mov r15,rdx - adc r15,0 + adc rdx,0 + xor rcx,rcx add r8,r8 - mov rcx,r9 - adc r9,r9 + mov r15,rdx + adc rcx,0 mul rax - mov QWORD[rsp],rax - add r8,rdx - adc r9,0 + add rdx,r8 + adc rcx,0 - mov QWORD[8+rsp],r8 - shr rcx,63 + mov QWORD[rsp],rax + mov QWORD[8+rsp],rdx - mov r8,QWORD[8+rsi] mov rax,QWORD[16+rsi] - mul r8 + mul rbp add r10,rax mov rax,QWORD[24+rsi] mov rbx,rdx adc rbx,0 - mul r8 + mul rbp add r11,rax mov rax,QWORD[32+rsi] adc rdx,0 @@ -124,7 +123,7 @@ $L$oop_sqr: mov rbx,rdx adc rbx,0 - mul r8 + mul rbp add r12,rax mov rax,QWORD[40+rsi] adc rdx,0 @@ -132,7 +131,7 @@ $L$oop_sqr: mov rbx,rdx adc rbx,0 - mul r8 + mul rbp add r13,rax mov rax,QWORD[48+rsi] adc rdx,0 @@ -140,7 +139,7 @@ $L$oop_sqr: mov rbx,rdx adc rbx,0 - mul r8 + mul rbp add r14,rax mov rax,QWORD[56+rsi] adc rdx,0 @@ -148,39 +147,39 @@ $L$oop_sqr: mov rbx,rdx adc rbx,0 - mul r8 + mul rbp add r15,rax - mov rax,r8 + mov rax,rbp adc rdx,0 add r15,rbx - mov r8,rdx - mov rdx,r10 - adc r8,0 + adc rdx,0 - add rdx,rdx - lea r10,[r10*2+rcx] - mov rbx,r11 - adc r11,r11 + xor rbx,rbx + add r9,r9 + mov r8,rdx + adc r10,r10 + adc rbx,0 mul rax + + add rax,rcx + mov rbp,QWORD[16+rsi] add r9,rax + mov rax,QWORD[24+rsi] adc r10,rdx - adc r11,0 + adc rbx,0 mov QWORD[16+rsp],r9 mov QWORD[24+rsp],r10 - shr rbx,63 - mov r9,QWORD[16+rsi] - mov rax,QWORD[24+rsi] - mul r9 + mul rbp add r12,rax mov rax,QWORD[32+rsi] mov rcx,rdx adc rcx,0 - mul r9 + mul rbp add r13,rax mov rax,QWORD[40+rsi] adc rdx,0 @@ -188,7 +187,7 @@ $L$oop_sqr: mov rcx,rdx adc rcx,0 - mul r9 + mul rbp add r14,rax mov rax,QWORD[48+rsi] adc rdx,0 @@ -196,9 +195,7 @@ $L$oop_sqr: mov rcx,rdx adc rcx,0 - mul r9 - mov r10,r12 - lea r12,[r12*2+rbx] + mul rbp add r15,rax mov rax,QWORD[56+rsi] adc rdx,0 @@ -206,36 +203,40 @@ $L$oop_sqr: mov rcx,rdx adc rcx,0 - mul r9 - shr r10,63 + mul rbp add r8,rax - mov rax,r9 + mov rax,rbp adc rdx,0 add r8,rcx - mov r9,rdx - adc r9,0 + adc rdx,0 - mov rcx,r13 - lea r13,[r13*2+r10] + xor rcx,rcx + add r11,r11 + mov r9,rdx + adc r12,r12 + adc rcx,0 mul rax + + add rax,rbx + mov r10,QWORD[24+rsi] add r11,rax + mov rax,QWORD[32+rsi] adc r12,rdx - adc r13,0 + adc rcx,0 mov QWORD[32+rsp],r11 mov QWORD[40+rsp],r12 - shr rcx,63 - mov r10,QWORD[24+rsi] - mov rax,QWORD[32+rsi] + mov r11,rax mul r10 add r14,rax mov rax,QWORD[40+rsi] mov rbx,rdx adc rbx,0 + mov r12,rax mul r10 add r15,rax mov rax,QWORD[48+rsi] @@ -244,9 +245,8 @@ $L$oop_sqr: mov rbx,rdx adc rbx,0 + mov rbp,rax mul r10 - mov r12,r14 - lea r14,[r14*2+rcx] add r8,rax mov rax,QWORD[56+rsi] adc rdx,0 @@ -255,32 +255,33 @@ $L$oop_sqr: adc rbx,0 mul r10 - shr r12,63 add r9,rax mov rax,r10 adc rdx,0 add r9,rbx - mov r10,rdx - adc r10,0 + adc rdx,0 - mov rbx,r15 - lea r15,[r15*2+r12] + xor rbx,rbx + add r13,r13 + mov r10,rdx + adc r14,r14 + adc rbx,0 mul rax + + add rax,rcx add r13,rax + mov rax,r12 adc r14,rdx - adc r15,0 + adc rbx,0 mov QWORD[48+rsp],r13 mov QWORD[56+rsp],r14 - shr rbx,63 - mov r11,QWORD[32+rsi] - mov rax,QWORD[40+rsi] mul r11 add r8,rax - mov rax,QWORD[48+rsi] + mov rax,rbp mov rcx,rdx adc rcx,0 @@ -288,97 +289,99 @@ $L$oop_sqr: add r9,rax mov rax,QWORD[56+rsi] adc rdx,0 - mov r12,r8 - lea r8,[r8*2+rbx] add r9,rcx mov rcx,rdx adc rcx,0 + mov r14,rax mul r11 - shr r12,63 add r10,rax mov rax,r11 adc rdx,0 add r10,rcx - mov r11,rdx - adc r11,0 + adc rdx,0 - mov rcx,r9 - lea r9,[r9*2+r12] + xor rcx,rcx + add r15,r15 + mov r11,rdx + adc r8,r8 + adc rcx,0 mul rax + + add rax,rbx add r15,rax + mov rax,rbp adc r8,rdx - adc r9,0 + adc rcx,0 mov QWORD[64+rsp],r15 mov QWORD[72+rsp],r8 - shr rcx,63 - mov r12,QWORD[40+rsi] - mov rax,QWORD[48+rsi] mul r12 add r10,rax - mov rax,QWORD[56+rsi] + mov rax,r14 mov rbx,rdx adc rbx,0 mul r12 add r11,rax mov rax,r12 - mov r15,r10 - lea r10,[r10*2+rcx] adc rdx,0 - shr r15,63 add r11,rbx - mov r12,rdx - adc r12,0 + adc rdx,0 - mov rbx,r11 - lea r11,[r11*2+r15] + xor rbx,rbx + add r9,r9 + mov r12,rdx + adc r10,r10 + adc rbx,0 mul rax + + add rax,rcx add r9,rax + mov rax,r14 adc r10,rdx - adc r11,0 + adc rbx,0 mov QWORD[80+rsp],r9 mov QWORD[88+rsp],r10 - mov r13,QWORD[48+rsi] - mov rax,QWORD[56+rsi] - mul r13 + mul rbp add r12,rax - mov rax,r13 - mov r13,rdx - adc r13,0 + mov rax,rbp + adc rdx,0 - xor r14,r14 - shl rbx,1 + xor rcx,rcx + add r11,r11 + mov r13,rdx adc r12,r12 - adc r13,r13 - adc r14,r14 + adc rcx,0 mul rax + + add rax,rbx add r11,rax + mov rax,r14 adc r12,rdx - adc r13,0 + adc rcx,0 mov QWORD[96+rsp],r11 mov QWORD[104+rsp],r12 - mov rax,QWORD[56+rsi] - mul rax - add r13,rax - adc rdx,0 + xor rbx,rbx + add r13,r13 + adc rbx,0 - add r14,rdx + mul rax - mov QWORD[112+rsp],r13 - mov QWORD[120+rsp],r14 + add rax,rcx + add rax,r13 + adc rdx,rbx mov r8,QWORD[rsp] mov r9,QWORD[8+rsp] @@ -388,6 +391,10 @@ $L$oop_sqr: mov r13,QWORD[40+rsp] mov r14,QWORD[48+rsp] mov r15,QWORD[56+rsp] +DB 102,72,15,126,205 + + mov QWORD[112+rsp],rax + mov QWORD[120+rsp],rdx call __rsaz_512_reduce @@ -416,9 +423,9 @@ ALIGN 32 $L$oop_sqrx: mov DWORD[((128+8))+rsp],r8d DB 102,72,15,110,199 -DB 102,72,15,110,205 mulx r9,r8,rax + mov rbx,rax mulx r10,rcx,QWORD[16+rsi] xor rbp,rbp @@ -426,40 +433,39 @@ DB 102,72,15,110,205 mulx r11,rax,QWORD[24+rsi] adcx r9,rcx - mulx r12,rcx,QWORD[32+rsi] +DB 0xc4,0x62,0xf3,0xf6,0xa6,0x20,0x00,0x00,0x00 adcx r10,rax - mulx r13,rax,QWORD[40+rsi] +DB 0xc4,0x62,0xfb,0xf6,0xae,0x28,0x00,0x00,0x00 adcx r11,rcx -DB 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 + mulx r14,rcx,QWORD[48+rsi] adcx r12,rax adcx r13,rcx -DB 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + mulx r15,rax,QWORD[56+rsi] adcx r14,rax adcx r15,rbp - mov rcx,r9 - shld r9,r8,1 - shl r8,1 - - xor ebp,ebp - mulx rdx,rax,rdx - adcx r8,rdx - mov rdx,QWORD[8+rsi] - adcx r9,rbp + mulx rdi,rax,rdx + mov rdx,rbx + xor rcx,rcx + adox r8,r8 + adcx r8,rdi + adox rcx,rbp + adcx rcx,rbp mov QWORD[rsp],rax mov QWORD[8+rsp],r8 - mulx rbx,rax,QWORD[16+rsi] +DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x10,0x00,0x00,0x00 adox r10,rax adcx r11,rbx -DB 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 + mulx r8,rdi,QWORD[24+rsi] adox r11,rdi +DB 0x66 adcx r12,r8 mulx rbx,rax,QWORD[32+rsi] @@ -477,24 +483,25 @@ DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x30,0x00,0x00,0x00 DB 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 adox r15,rdi adcx r8,rbp + mulx rdi,rax,rdx adox r8,rbp +DB 0x48,0x8b,0x96,0x10,0x00,0x00,0x00 - mov rbx,r11 - shld r11,r10,1 - shld r10,rcx,1 + xor rbx,rbx + adox r9,r9 - xor ebp,ebp - mulx rcx,rax,rdx - mov rdx,QWORD[16+rsi] + adcx rax,rcx + adox r10,r10 adcx r9,rax - adcx r10,rcx - adcx r11,rbp + adox rbx,rbp + adcx r10,rdi + adcx rbx,rbp mov QWORD[16+rsp],r9 DB 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 -DB 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 + mulx r9,rdi,QWORD[24+rsi] adox r12,rdi adcx r13,r9 @@ -502,7 +509,7 @@ DB 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 adox r13,rax adcx r14,rcx - mulx r9,rdi,QWORD[40+rsi] +DB 0xc4,0x62,0xc3,0xf6,0x8e,0x28,0x00,0x00,0x00 adox r14,rdi adcx r15,r9 @@ -510,27 +517,28 @@ DB 0xc4,0xe2,0xfb,0xf6,0x8e,0x30,0x00,0x00,0x00 adox r15,rax adcx r8,rcx -DB 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 + mulx r9,rdi,QWORD[56+rsi] adox r8,rdi adcx r9,rbp + mulx rdi,rax,rdx adox r9,rbp + mov rdx,QWORD[24+rsi] - mov rcx,r13 - shld r13,r12,1 - shld r12,rbx,1 + xor rcx,rcx + adox r11,r11 - xor ebp,ebp - mulx rdx,rax,rdx + adcx rax,rbx + adox r12,r12 adcx r11,rax - adcx r12,rdx - mov rdx,QWORD[24+rsi] - adcx r13,rbp + adox rcx,rbp + adcx r12,rdi + adcx rcx,rbp mov QWORD[32+rsp],r11 -DB 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 + mov QWORD[40+rsp],r12 -DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 + mulx rbx,rax,QWORD[32+rsi] adox r14,rax adcx r15,rbx @@ -545,25 +553,25 @@ DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 mulx r10,rdi,QWORD[56+rsi] adox r9,rdi adcx r10,rbp + mulx rdi,rax,rdx adox r10,rbp + mov rdx,QWORD[32+rsi] -DB 0x66 - mov rbx,r15 - shld r15,r14,1 - shld r14,rcx,1 + xor rbx,rbx + adox r13,r13 - xor ebp,ebp - mulx rdx,rax,rdx + adcx rax,rcx + adox r14,r14 adcx r13,rax - adcx r14,rdx - mov rdx,QWORD[32+rsi] - adcx r15,rbp + adox rbx,rbp + adcx r14,rdi + adcx rbx,rbp mov QWORD[48+rsp],r13 mov QWORD[56+rsp],r14 -DB 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 + mulx r11,rdi,QWORD[40+rsi] adox r8,rdi adcx r9,r11 @@ -574,18 +582,19 @@ DB 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 mulx r11,rdi,QWORD[56+rsi] adox r10,rdi adcx r11,rbp + mulx rdi,rax,rdx + mov rdx,QWORD[40+rsi] adox r11,rbp - mov rcx,r9 - shld r9,r8,1 - shld r8,rbx,1 + xor rcx,rcx + adox r15,r15 - xor ebp,ebp - mulx rdx,rax,rdx + adcx rax,rbx + adox r8,r8 adcx r15,rax - adcx r8,rdx - mov rdx,QWORD[40+rsi] - adcx r9,rbp + adox rcx,rbp + adcx r8,rdi + adcx rcx,rbp mov QWORD[64+rsp],r15 mov QWORD[72+rsp],r8 @@ -598,18 +607,19 @@ DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x30,0x00,0x00,0x00 DB 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 adox r11,rdi adcx r12,rbp + mulx rdi,rax,rdx adox r12,rbp + mov rdx,QWORD[48+rsi] - mov rbx,r11 - shld r11,r10,1 - shld r10,rcx,1 + xor rbx,rbx + adox r9,r9 - xor ebp,ebp - mulx rdx,rax,rdx + adcx rax,rcx + adox r10,r10 adcx r9,rax - adcx r10,rdx - mov rdx,QWORD[48+rsi] - adcx r11,rbp + adcx r10,rdi + adox rbx,rbp + adcx rbx,rbp mov QWORD[80+rsp],r9 mov QWORD[88+rsp],r10 @@ -619,31 +629,31 @@ DB 0xc4,0x62,0xfb,0xf6,0xae,0x38,0x00,0x00,0x00 adox r12,rax adox r13,rbp - xor r14,r14 - shld r14,r13,1 - shld r13,r12,1 - shld r12,rbx,1 + mulx rdi,rax,rdx + xor rcx,rcx + mov rdx,QWORD[56+rsi] + adox r11,r11 - xor ebp,ebp - mulx rdx,rax,rdx + adcx rax,rbx + adox r12,r12 adcx r11,rax - adcx r12,rdx - mov rdx,QWORD[56+rsi] - adcx r13,rbp + adox rcx,rbp + adcx r12,rdi + adcx rcx,rbp DB 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 DB 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 mulx rdx,rax,rdx - adox r13,rax - adox rdx,rbp + xor rbx,rbx + adox r13,r13 -DB 0x66 - add r14,rdx + adcx rax,rcx + adox rbx,rbp + adcx rax,r13 + adcx rbx,rdx - mov QWORD[112+rsp],r13 - mov QWORD[120+rsp],r14 DB 102,72,15,126,199 DB 102,72,15,126,205 @@ -657,6 +667,9 @@ DB 102,72,15,126,205 mov r14,QWORD[48+rsp] mov r15,QWORD[56+rsp] + mov QWORD[112+rsp],rax + mov QWORD[120+rsp],rbx + call __rsaz_512_reducex add r8,QWORD[64+rsp] @@ -1502,6 +1515,7 @@ $L$SEH_end_rsaz_512_mul_by_one: ALIGN 32 __rsaz_512_reduce: + mov rbx,r8 imul rbx,QWORD[((128+8))+rsp] mov rax,QWORD[rbp] @@ -1583,9 +1597,11 @@ $L$reduction_loop: DB 0F3h,0C3h ;repret + ALIGN 32 __rsaz_512_reducex: + imul rdx,r8 xor rsi,rsi mov ecx,8 @@ -1639,8 +1655,10 @@ DB 0xc4,0x62,0xfb,0xf6,0xb5,0x30,0x00,0x00,0x00 DB 0F3h,0C3h ;repret + ALIGN 32 __rsaz_512_subtract: + mov QWORD[rdi],r8 mov QWORD[8+rdi],r9 mov QWORD[16+rdi],r10 @@ -1696,8 +1714,10 @@ __rsaz_512_subtract: DB 0F3h,0C3h ;repret + ALIGN 32 __rsaz_512_mul: + lea rdi,[8+rsp] mov rax,QWORD[rsi] @@ -1838,8 +1858,10 @@ $L$oop_mul: DB 0F3h,0C3h ;repret + ALIGN 32 __rsaz_512_mulx: + mulx r8,rbx,QWORD[rsi] mov rcx,-6 @@ -1957,10 +1979,12 @@ DB 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 DB 0F3h,0C3h ;repret + global rsaz_512_scatter4 ALIGN 16 rsaz_512_scatter4: + lea rcx,[r8*8+rcx] mov r9d,8 jmp NEAR $L$oop_scatter @@ -1975,10 +1999,12 @@ $L$oop_scatter: DB 0F3h,0C3h ;repret + global rsaz_512_gather4 ALIGN 16 rsaz_512_gather4: + $L$SEH_begin_rsaz_512_gather4: DB 0x48,0x81,0xec,0xa8,0x00,0x00,0x00 DB 0x0f,0x29,0x34,0x24 @@ -2067,6 +2093,7 @@ $L$oop_gather: $L$SEH_end_rsaz_512_gather4: + ALIGN 64 $L$inc: DD 0,0,1,1 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/bn/x86_64-mont5.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/bn/x86_64-mont5.asm index 81570ab2060e9b..0756714904eaad 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/bn/x86_64-mont5.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/bn/x86_64-mont5.asm @@ -583,6 +583,7 @@ $L$SEH_end_bn_mul4x_mont_gather5: ALIGN 32 mul4x_internal: + shl r9,5 movd xmm5,DWORD[56+rax] lea rax,[$L$inc] @@ -1105,6 +1106,7 @@ $L$inner4x: mov r15,QWORD[24+rbp] jmp NEAR $L$sqr4x_sub_entry + global bn_power5 ALIGN 32 @@ -1331,6 +1333,7 @@ __bn_sqr8x_internal: + lea rbp,[32+r10] @@ -2036,8 +2039,10 @@ DB 102,73,15,126,217 DB 0F3h,0C3h ;repret + ALIGN 32 __bn_post4x_internal: + mov r12,QWORD[rbp] lea rbx,[r9*1+rdi] mov rcx,r9 @@ -2089,10 +2094,12 @@ $L$sqr4x_sub_entry: neg r9 DB 0F3h,0C3h ;repret + global bn_from_montgomery ALIGN 32 bn_from_montgomery: + test DWORD[48+rsp],7 jz NEAR bn_from_mont8x xor eax,eax @@ -2100,6 +2107,7 @@ bn_from_montgomery: + ALIGN 32 bn_from_mont8x: mov QWORD[8+rsp],rdi ;WIN64 prologue @@ -2408,6 +2416,7 @@ $L$SEH_end_bn_mulx4x_mont_gather5: ALIGN 32 mulx4x_internal: + mov QWORD[8+rsp],r9 mov r10,r9 neg r9 @@ -2828,6 +2837,7 @@ $L$mulx4x_inner: jmp NEAR $L$sqrx4x_sub_entry + ALIGN 32 bn_powerx5: mov QWORD[8+rsp],rdi ;WIN64 prologue @@ -3598,6 +3608,7 @@ DB 102,72,15,126,213 ALIGN 32 __bn_postx4x_internal: + mov r12,QWORD[rbp] mov r10,rcx mov r9,rcx @@ -3646,10 +3657,12 @@ $L$sqrx4x_sub_entry: DB 0F3h,0C3h ;repret + global bn_get_bits5 ALIGN 16 bn_get_bits5: + lea r10,[rcx] lea r11,[1+rcx] mov ecx,edx @@ -3665,10 +3678,12 @@ bn_get_bits5: DB 0F3h,0C3h ;repret + global bn_scatter5 ALIGN 16 bn_scatter5: + cmp edx,0 jz NEAR $L$scatter_epilogue lea r8,[r9*8+r8] @@ -3683,12 +3698,14 @@ $L$scatter_epilogue: DB 0F3h,0C3h ;repret + global bn_gather5 ALIGN 32 bn_gather5: $L$SEH_begin_bn_gather5: + DB 0x4c,0x8d,0x14,0x24 DB 0x48,0x81,0xec,0x08,0x01,0x00,0x00 lea rax,[$L$inc] @@ -3846,6 +3863,7 @@ $L$gather: DB 0F3h,0C3h ;repret $L$SEH_end_bn_gather5: + ALIGN 64 $L$inc: DD 0,0,1,1 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h index 8b7c50ce9a5416..59f6aefb5a0ecf 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: " -#define DATE "built on: Fri Sep 13 16:03:14 2019 UTC" +#define DATE "built on: Wed Mar 18 21:10:39 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/camellia/cmll-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/camellia/cmll-x86_64.asm index 7a0f351e51fc54..4cf1d322acc9d1 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/camellia/cmll-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/camellia/cmll-x86_64.asm @@ -10,6 +10,7 @@ global Camellia_EncryptBlock ALIGN 16 Camellia_EncryptBlock: + mov eax,128 sub eax,ecx mov ecx,3 @@ -17,6 +18,7 @@ Camellia_EncryptBlock: jmp NEAR $L$enc_rounds + global Camellia_EncryptBlock_Rounds ALIGN 16 @@ -95,6 +97,7 @@ $L$SEH_end_Camellia_EncryptBlock_Rounds: ALIGN 16 _x86_64_Camellia_encrypt: + xor r9d,DWORD[r14] xor r8d,DWORD[4+r14] xor r11d,DWORD[8+r14] @@ -300,10 +303,12 @@ DB 0xf3,0xc3 + global Camellia_DecryptBlock ALIGN 16 Camellia_DecryptBlock: + mov eax,128 sub eax,ecx mov ecx,3 @@ -311,6 +316,7 @@ Camellia_DecryptBlock: jmp NEAR $L$dec_rounds + global Camellia_DecryptBlock_Rounds ALIGN 16 @@ -389,6 +395,7 @@ $L$SEH_end_Camellia_DecryptBlock_Rounds: ALIGN 16 _x86_64_Camellia_decrypt: + xor r9d,DWORD[r14] xor r8d,DWORD[4+r14] xor r11d,DWORD[8+r14] @@ -593,6 +600,7 @@ $L$ddone: DB 0xf3,0xc3 + global Camellia_Ekeygen ALIGN 16 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/ec/ecp_nistz256-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/ec/ecp_nistz256-x86_64.asm index c87f73a8aaee06..9930dadce66880 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/ec/ecp_nistz256-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/ec/ecp_nistz256-x86_64.asm @@ -3958,10 +3958,12 @@ $L$SEH_begin_ecp_nistz256_to_mont: mov rsi,rdx + mov ecx,0x80100 and ecx,DWORD[((OPENSSL_ia32cap_P+8))] lea rdx,[$L$RR] jmp NEAR $L$mul_mont + $L$SEH_end_ecp_nistz256_to_mont: @@ -4922,6 +4924,7 @@ global ecp_nistz256_scatter_w5 ALIGN 32 ecp_nistz256_scatter_w5: + lea r8d,[((-3))+r8*2+r8] movdqa xmm0,XMMWORD[rdx] shl r8d,5 @@ -4942,6 +4945,7 @@ ecp_nistz256_scatter_w5: + global ecp_nistz256_gather_w5 ALIGN 32 @@ -5035,6 +5039,7 @@ global ecp_nistz256_scatter_w7 ALIGN 32 ecp_nistz256_scatter_w7: + movdqu xmm0,XMMWORD[rdx] shl r8d,6 movdqu xmm1,XMMWORD[16+rdx] @@ -5050,6 +5055,7 @@ ecp_nistz256_scatter_w7: + global ecp_nistz256_gather_w7 ALIGN 32 @@ -5861,26 +5867,16 @@ DB 102,73,15,110,220 or r12,r8 or r12,r9 -DB 0x3e - jnz NEAR $L$add_proceedq DB 102,73,15,126,208 DB 102,73,15,126,217 - test r8,r8 - jnz NEAR $L$add_proceedq - test r9,r9 - jz NEAR $L$add_doubleq -DB 102,72,15,126,199 - pxor xmm0,xmm0 - movdqu XMMWORD[rdi],xmm0 - movdqu XMMWORD[16+rdi],xmm0 - movdqu XMMWORD[32+rdi],xmm0 - movdqu XMMWORD[48+rdi],xmm0 - movdqu XMMWORD[64+rdi],xmm0 - movdqu XMMWORD[80+rdi],xmm0 - jmp NEAR $L$add_doneq + or r12,r8 + or r12,r9 + + +DB 0x3e + jnz NEAR $L$add_proceedq -ALIGN 32 $L$add_doubleq: DB 102,72,15,126,206 DB 102,72,15,126,199 @@ -6994,26 +6990,16 @@ DB 102,73,15,110,220 or r12,r8 or r12,r9 -DB 0x3e - jnz NEAR $L$add_proceedx DB 102,73,15,126,208 DB 102,73,15,126,217 - test r8,r8 - jnz NEAR $L$add_proceedx - test r9,r9 - jz NEAR $L$add_doublex -DB 102,72,15,126,199 - pxor xmm0,xmm0 - movdqu XMMWORD[rdi],xmm0 - movdqu XMMWORD[16+rdi],xmm0 - movdqu XMMWORD[32+rdi],xmm0 - movdqu XMMWORD[48+rdi],xmm0 - movdqu XMMWORD[64+rdi],xmm0 - movdqu XMMWORD[80+rdi],xmm0 - jmp NEAR $L$add_donex + or r12,r8 + or r12,r9 + + +DB 0x3e + jnz NEAR $L$add_proceedx -ALIGN 32 $L$add_doublex: DB 102,72,15,126,206 DB 102,72,15,126,199 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/ec/x25519-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/ec/x25519-x86_64.asm index 84d55134ac746b..d6c6312363e0fc 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/ec/x25519-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/ec/x25519-x86_64.asm @@ -414,6 +414,7 @@ global x25519_fe64_eligible ALIGN 32 x25519_fe64_eligible: + mov ecx,DWORD[((OPENSSL_ia32cap_P+8))] xor eax,eax and ecx,0x80100 @@ -422,6 +423,7 @@ x25519_fe64_eligible: DB 0F3h,0C3h ;repret + global x25519_fe64_mul ALIGN 32 @@ -675,6 +677,7 @@ $L$SEH_begin_x25519_fe64_mul121666: $L$fe64_mul121666_body: + mov edx,121666 mulx rcx,r8,QWORD[rsi] mulx rax,r9,QWORD[8+rsi] @@ -705,6 +708,7 @@ $L$fe64_mul121666_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_x25519_fe64_mul121666: global x25519_fe64_add @@ -721,6 +725,7 @@ $L$SEH_begin_x25519_fe64_add: $L$fe64_add_body: + mov r8,QWORD[rsi] mov r9,QWORD[8+rsi] mov r10,QWORD[16+rsi] @@ -751,6 +756,7 @@ $L$fe64_add_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_x25519_fe64_add: global x25519_fe64_sub @@ -767,6 +773,7 @@ $L$SEH_begin_x25519_fe64_sub: $L$fe64_sub_body: + mov r8,QWORD[rsi] mov r9,QWORD[8+rsi] mov r10,QWORD[16+rsi] @@ -797,6 +804,7 @@ $L$fe64_sub_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_x25519_fe64_sub: global x25519_fe64_tobytes @@ -812,6 +820,7 @@ $L$SEH_begin_x25519_fe64_tobytes: $L$fe64_to_body: + mov r8,QWORD[rsi] mov r9,QWORD[8+rsi] mov r10,QWORD[16+rsi] @@ -849,6 +858,7 @@ $L$fe64_to_epilogue: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_x25519_fe64_tobytes: DB 88,50,53,53,49,57,32,112,114,105,109,105,116,105,118,101 DB 115,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/include/internal/bn_conf.h index d803b518584f2e..dab67d1b37ae72 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/include/internal/dso_conf.h index c3b41df01e40a3..0c96ce73633dac 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_WIN32 # define DSO_EXTENSION ".dll" #endif diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/modes/aesni-gcm-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/modes/aesni-gcm-x86_64.asm index b1d83324575b69..9fba32b883a6ba 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/modes/aesni-gcm-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/modes/aesni-gcm-x86_64.asm @@ -8,6 +8,7 @@ section .text code align=64 ALIGN 32 _aesni_ctr32_ghash_6x: + vmovdqu xmm2,XMMWORD[32+r11] sub rdx,6 vpxor xmm4,xmm4,xmm4 @@ -316,6 +317,7 @@ $L$6x_done: DB 0F3h,0C3h ;repret + global aesni_gcm_decrypt ALIGN 32 @@ -457,6 +459,7 @@ $L$SEH_end_aesni_gcm_decrypt: ALIGN 32 _aesni_ctr32_6x: + vmovdqu xmm4,XMMWORD[((0-128))+rcx] vmovdqu xmm2,XMMWORD[32+r11] lea r13,[((-1))+rbp] @@ -545,6 +548,7 @@ $L$handle_ctr32_2: jmp NEAR $L$oop_ctr32 + global aesni_gcm_encrypt ALIGN 32 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/poly1305/poly1305-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/poly1305/poly1305-x86_64.asm index 5717654508c112..6f688b63e0990a 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/poly1305/poly1305-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/poly1305/poly1305-x86_64.asm @@ -26,6 +26,7 @@ $L$SEH_begin_poly1305_init: mov rdx,r8 + xor rax,rax mov QWORD[rdi],rax mov QWORD[8+rdi],rax @@ -63,6 +64,7 @@ $L$no_key: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_init: @@ -198,6 +200,7 @@ $L$SEH_begin_poly1305_emit: mov rdx,r8 + $L$emit: mov r8,QWORD[rdi] mov r9,QWORD[8+rdi] @@ -220,10 +223,12 @@ $L$emit: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_emit: ALIGN 32 __poly1305_block: + mul r14 mov r9,rax mov rax,r11 @@ -266,8 +271,10 @@ __poly1305_block: + ALIGN 32 __poly1305_init_avx: + mov r14,r11 mov rbx,r12 xor rbp,rbp @@ -428,6 +435,7 @@ __poly1305_init_avx: + ALIGN 32 poly1305_blocks_avx: mov QWORD[8+rsp],rdi ;WIN64 prologue @@ -1296,6 +1304,7 @@ $L$SEH_begin_poly1305_emit_avx: mov rdx,r8 + cmp DWORD[20+rdi],0 je NEAR $L$emit @@ -1348,6 +1357,7 @@ $L$SEH_begin_poly1305_emit_avx: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_emit_avx: ALIGN 32 @@ -2607,6 +2617,7 @@ $L$SEH_begin_poly1305_init_base2_44: mov rdx,r8 + xor rax,rax mov QWORD[rdi],rax mov QWORD[8+rdi],rax @@ -2642,6 +2653,7 @@ $L$init_base2_44: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_init_base2_44: ALIGN 32 @@ -2656,6 +2668,7 @@ $L$SEH_begin_poly1305_blocks_vpmadd52: mov rcx,r9 + shr rdx,4 jz NEAR $L$no_data_vpmadd52 @@ -2764,6 +2777,7 @@ $L$no_data_vpmadd52: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_blocks_vpmadd52: ALIGN 32 @@ -2778,6 +2792,7 @@ $L$SEH_begin_poly1305_blocks_vpmadd52_4x: mov rcx,r9 + shr rdx,4 jz NEAR $L$no_data_vpmadd52_4x @@ -3204,6 +3219,7 @@ $L$no_data_vpmadd52_4x: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_blocks_vpmadd52_4x: ALIGN 32 @@ -3218,6 +3234,7 @@ $L$SEH_begin_poly1305_blocks_vpmadd52_8x: mov rcx,r9 + shr rdx,4 jz NEAR $L$no_data_vpmadd52_8x @@ -3560,6 +3577,7 @@ $L$no_data_vpmadd52_8x: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_blocks_vpmadd52_8x: ALIGN 32 @@ -3573,6 +3591,7 @@ $L$SEH_begin_poly1305_emit_base2_44: mov rdx,r8 + mov r8,QWORD[rdi] mov r9,QWORD[8+rdi] mov r10,QWORD[16+rdi] @@ -3605,6 +3624,7 @@ $L$SEH_begin_poly1305_emit_base2_44: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_poly1305_emit_base2_44: ALIGN 64 $L$const: @@ -3646,6 +3666,7 @@ global xor128_encrypt_n_pad ALIGN 16 xor128_encrypt_n_pad: + sub rdx,r8 sub rcx,r8 mov r10,r9 @@ -3689,10 +3710,12 @@ $L$done_enc: DB 0F3h,0C3h ;repret + global xor128_decrypt_n_pad ALIGN 16 xor128_decrypt_n_pad: + sub rdx,r8 sub rcx,r8 mov r10,r9 @@ -3739,6 +3762,7 @@ $L$done_dec: mov rax,r8 DB 0F3h,0C3h ;repret + EXTERN __imp_RtlVirtualUnwind ALIGN 16 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/rc4/rc4-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/rc4/rc4-x86_64.asm index 5732b40ed64f3f..edbcc06e34b673 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/rc4/rc4-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/rc4/rc4-x86_64.asm @@ -19,13 +19,14 @@ $L$SEH_begin_RC4: mov rdx,r8 mov rcx,r9 + + or rsi,rsi jne NEAR $L$entry mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret $L$entry: - push rbx push r12 @@ -558,6 +559,7 @@ $L$SEH_begin_RC4_set_key: mov rdx,r8 + lea rdi,[8+rdi] lea rdx,[rsi*1+rdx] neg rsi @@ -626,12 +628,14 @@ $L$exit_key: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_RC4_set_key: global RC4_options ALIGN 16 RC4_options: + lea rax,[$L$opts] mov edx,DWORD[OPENSSL_ia32cap_P] bt edx,20 @@ -644,6 +648,7 @@ $L$8xchar: add rax,12 $L$done: DB 0F3h,0C3h ;repret + ALIGN 64 $L$opts: DB 114,99,52,40,56,120,44,105,110,116,41,0 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/keccak1600-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/keccak1600-x86_64.asm index d0471cb3b3e8c0..fdab35d95c2f29 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/keccak1600-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/keccak1600-x86_64.asm @@ -8,6 +8,7 @@ section .text code align=64 ALIGN 32 __KeccakF1600: + mov rax,QWORD[60+rdi] mov rbx,QWORD[68+rdi] mov rcx,QWORD[76+rdi] @@ -263,6 +264,7 @@ $L$oop: + ALIGN 32 KeccakF1600: diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/sha1-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/sha1-x86_64.asm index d796380ae8e82e..1b60a7ce75cae0 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/sha1-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/sha1-x86_64.asm @@ -1458,10 +1458,10 @@ DB 102,15,56,0,251 movaps xmm9,XMMWORD[((-8-16))+rax] mov rsp,rax $L$epilogue_shaext: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_sha1_block_data_order_shaext: ALIGN 16 diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/sha256-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/sha256-x86_64.asm index fc102444ff49ff..9ff3cbb92b5df1 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/sha256-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/sha256-x86_64.asm @@ -1804,6 +1804,7 @@ $L$SEH_begin_sha256_block_data_order_shaext: _shaext_shortcut: + lea rsp,[((-88))+rsp] movaps XMMWORD[(-8-80)+rax],xmm6 movaps XMMWORD[(-8-64)+rax],xmm7 @@ -2022,6 +2023,7 @@ $L$epilogue_shaext: mov rdi,QWORD[8+rsp] ;WIN64 epilogue mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret + $L$SEH_end_sha256_block_data_order_shaext: ALIGN 64 @@ -5476,6 +5478,8 @@ $L$ower_avx2: lea rsp,[448+rsp] + + add eax,DWORD[rdi] add ebx,DWORD[4+rdi] add ecx,DWORD[8+rdi] @@ -5501,15 +5505,17 @@ $L$ower_avx2: jbe NEAR $L$oop_avx2 lea rbp,[rsp] + + + $L$done_avx2: - lea rsp,[rbp] - mov rsi,QWORD[88+rsp] + mov rsi,QWORD[88+rbp] vzeroupper - movaps xmm6,XMMWORD[((64+32))+rsp] - movaps xmm7,XMMWORD[((64+48))+rsp] - movaps xmm8,XMMWORD[((64+64))+rsp] - movaps xmm9,XMMWORD[((64+80))+rsp] + movaps xmm6,XMMWORD[((64+32))+rbp] + movaps xmm7,XMMWORD[((64+48))+rbp] + movaps xmm8,XMMWORD[((64+64))+rbp] + movaps xmm9,XMMWORD[((64+80))+rbp] mov r15,QWORD[((-48))+rsi] mov r14,QWORD[((-40))+rsi] diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/sha512-x86_64.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/sha512-x86_64.asm index 1a9935d7b6ffc2..fc2269c8435930 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/sha512-x86_64.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/sha/sha512-x86_64.asm @@ -5468,6 +5468,8 @@ $L$ower_avx2: lea rsp,[1152+rsp] + + add rax,QWORD[rdi] add rbx,QWORD[8+rdi] add rcx,QWORD[16+rdi] @@ -5493,17 +5495,19 @@ $L$ower_avx2: jbe NEAR $L$oop_avx2 lea rbp,[rsp] + + + $L$done_avx2: - lea rsp,[rbp] - mov rsi,QWORD[152+rsp] + mov rsi,QWORD[152+rbp] vzeroupper - movaps xmm6,XMMWORD[((128+32))+rsp] - movaps xmm7,XMMWORD[((128+48))+rsp] - movaps xmm8,XMMWORD[((128+64))+rsp] - movaps xmm9,XMMWORD[((128+80))+rsp] - movaps xmm10,XMMWORD[((128+96))+rsp] - movaps xmm11,XMMWORD[((128+112))+rsp] + movaps xmm6,XMMWORD[((128+32))+rbp] + movaps xmm7,XMMWORD[((128+48))+rbp] + movaps xmm8,XMMWORD[((128+64))+rbp] + movaps xmm9,XMMWORD[((128+80))+rbp] + movaps xmm10,XMMWORD[((128+96))+rbp] + movaps xmm11,XMMWORD[((128+112))+rbp] mov r15,QWORD[((-48))+rsi] mov r14,QWORD[((-40))+rsi] diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/x86_64cpuid.asm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/x86_64cpuid.asm index e2fec12d2211bf..f57d3210fc935f 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/x86_64cpuid.asm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/x86_64cpuid.asm @@ -17,6 +17,7 @@ global OPENSSL_atomic_add ALIGN 16 OPENSSL_atomic_add: + mov eax,DWORD[rcx] $L$spin: lea r8,[rax*1+rdx] DB 0xf0 @@ -27,16 +28,19 @@ DB 0x48,0x98 DB 0F3h,0C3h ;repret + global OPENSSL_rdtsc ALIGN 16 OPENSSL_rdtsc: + rdtsc shl rdx,32 or rax,rdx DB 0F3h,0C3h ;repret + global OPENSSL_ia32_cpuid ALIGN 16 @@ -219,6 +223,7 @@ global OPENSSL_cleanse ALIGN 16 OPENSSL_cleanse: + xor rax,rax cmp rdx,15 jae NEAR $L$ot @@ -250,10 +255,12 @@ $L$aligned: DB 0F3h,0C3h ;repret + global CRYPTO_memcmp ALIGN 16 CRYPTO_memcmp: + xor rax,rax xor r10,r10 cmp r8,0 @@ -283,6 +290,7 @@ $L$oop_cmp: $L$no_data: DB 0F3h,0C3h ;repret + global OPENSSL_wipe_cpu ALIGN 16 @@ -306,6 +314,7 @@ global OPENSSL_instrument_bus ALIGN 16 OPENSSL_instrument_bus: + mov r10,rcx mov rcx,rdx mov r11,rdx @@ -334,10 +343,12 @@ DB 0xf0 DB 0F3h,0C3h ;repret + global OPENSSL_instrument_bus2 ALIGN 16 OPENSSL_instrument_bus2: + mov r10,rcx mov rcx,rdx mov r11,r8 @@ -381,10 +392,12 @@ $L$done2: sub rax,rcx DB 0F3h,0C3h ;repret + global OPENSSL_ia32_rdrand_bytes ALIGN 16 OPENSSL_ia32_rdrand_bytes: + xor rax,rax cmp rdx,0 je NEAR $L$done_rdrand_bytes @@ -422,10 +435,12 @@ $L$done_rdrand_bytes: xor r10,r10 DB 0F3h,0C3h ;repret + global OPENSSL_ia32_rdseed_bytes ALIGN 16 OPENSSL_ia32_rdseed_bytes: + xor rax,rax cmp rdx,0 je NEAR $L$done_rdseed_bytes diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/opensslconf.h index c4bc935b0a25d2..de662de12be0f1 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/progs.h b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/openssl-cl.gypi b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/openssl-cl.gypi index 2d20ac387916a0..91ad847952bcc6 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/openssl-cl.gypi +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/openssl-cl.gypi @@ -20,6 +20,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/openssl.gypi b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/openssl.gypi index 53d15ad06c0ecb..b70224fd8bd70c 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/openssl.gypi +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/openssl.gypi @@ -727,6 +727,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/VC-WIN64A/no-asm/configdata.pm b/deps/openssl/config/archs/VC-WIN64A/no-asm/configdata.pm index fdebb6f709d6b6..0091b95296b8f9 100644 --- a/deps/openssl/config/archs/VC-WIN64A/no-asm/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN64A/no-asm/configdata.pm @@ -59,7 +59,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_WIN64A" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -115,8 +115,8 @@ our %config = ( sourcedir => ".", target => "VC-WIN64A", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -132,7 +132,7 @@ our %target = ( LDFLAGS => "/nologo /debug", MT => "mt", MTFLAGS => "-nologo", - RANLIB => "CODE(0x557a48128d28)", + RANLIB => "CODE(0x557c73be49d8)", RC => "rc", _conf_fname_int => [ "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/shared-info.pl" ], aes_asm_src => "aes_core.c aes_cbc.c", @@ -256,6 +256,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -374,8 +375,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -643,14 +644,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -726,6 +719,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1523,6 +1524,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3241,7 +3248,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3249,6 +3255,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3742,14 +3749,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4190,6 +4189,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4899,49 +4906,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4963,7 +4962,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4977,613 +4975,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5601,188 +5497,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5812,13 +5677,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5828,43 +5691,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5874,31 +5730,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5916,278 +5767,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6197,301 +6002,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6499,7 +6254,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6507,7 +6261,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6515,7 +6268,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6523,7 +6275,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6531,7 +6282,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6539,163 +6289,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6713,223 +6436,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6937,21 +6623,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6959,13 +6642,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6973,81 +6654,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7055,328 +6723,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7386,85 +6993,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7487,361 +7080,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7863,259 +7396,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8125,31 +7615,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8159,7 +7644,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8185,13 +7669,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8217,7 +7699,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8243,709 +7724,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8996,6 +8359,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9240,7 +8611,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9566,7 +8936,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9612,7 +8981,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9678,7 +9046,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9703,7 +9070,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9801,7 +9167,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9851,18 +9216,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9873,6 +9235,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9936,10 +9302,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9968,6 +9330,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10232,6 +9598,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15100,7 +14467,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15108,6 +14474,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15335,6 +14702,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15437,10 +14812,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15469,6 +14840,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/buildinf.h index fae2f1183e9277..00baa0f8636963 100644 --- a/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: " -#define DATE "built on: Fri Sep 13 16:03:30 2019 UTC" +#define DATE "built on: Wed Mar 18 21:10:56 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/include/internal/bn_conf.h index d803b518584f2e..dab67d1b37ae72 100644 --- a/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/include/internal/dso_conf.h index c3b41df01e40a3..0c96ce73633dac 100644 --- a/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_WIN32 # define DSO_EXTENSION ".dll" #endif diff --git a/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/opensslconf.h index a89654ac77918c..0122f2c30dd818 100644 --- a/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/opensslconf.h @@ -102,9 +102,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/VC-WIN64A/no-asm/include/progs.h b/deps/openssl/config/archs/VC-WIN64A/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/VC-WIN64A/no-asm/include/progs.h +++ b/deps/openssl/config/archs/VC-WIN64A/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/aix-gcc/asm/configdata.pm b/deps/openssl/config/archs/aix-gcc/asm/configdata.pm index b79cebd14c344b..7dc4c54dd0fe4c 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/configdata.pm +++ b/deps/openssl/config/archs/aix-gcc/asm/configdata.pm @@ -54,7 +54,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_AIX" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -110,8 +110,8 @@ our %config = ( sourcedir => ".", target => "aix-gcc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -236,6 +236,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -353,8 +354,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -622,14 +623,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -705,6 +698,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1502,6 +1503,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3233,7 +3240,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3241,6 +3247,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3739,14 +3746,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4187,6 +4186,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4873,7 +4880,6 @@ our %unified_info = ( "crypto/aes/aes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes-s390x.o" => @@ -4887,49 +4893,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4939,7 +4937,6 @@ our %unified_info = ( "crypto/aes/aesp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4957,13 +4954,11 @@ our %unified_info = ( "crypto/aes/vpaes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4977,613 +4972,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5601,188 +5494,157 @@ our %unified_info = ( "crypto/bn/bn-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5792,7 +5654,6 @@ our %unified_info = ( "crypto/bn/ppc-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5818,13 +5679,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5834,43 +5693,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5880,31 +5732,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5918,7 +5765,6 @@ our %unified_info = ( "crypto/chacha/chacha-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-s390x.o" => @@ -5928,272 +5774,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6203,301 +6004,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6505,7 +6256,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6513,7 +6263,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6521,7 +6270,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6529,7 +6277,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6537,7 +6284,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6545,163 +6291,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6719,223 +6438,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6943,21 +6625,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6965,13 +6644,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6979,81 +6656,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7061,328 +6725,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7392,79 +6995,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7483,7 +7073,6 @@ our %unified_info = ( "crypto/modes/ghashp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7493,361 +7082,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7865,13 +7394,11 @@ our %unified_info = ( "crypto/poly1305/poly1305-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-ppcfp.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7881,271 +7408,226 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccap.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccpuid.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8155,31 +7637,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8189,7 +7666,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8207,7 +7683,6 @@ our %unified_info = ( "crypto/sha/sha1-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-s390x.o" => @@ -8221,13 +7696,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8245,7 +7718,6 @@ our %unified_info = ( "crypto/sha/sha256-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-s390x.o" => @@ -8259,13 +7731,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8283,7 +7753,6 @@ our %unified_info = ( "crypto/sha/sha512-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-s390x.o" => @@ -8297,715 +7766,596 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9056,6 +8406,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9300,7 +8658,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9626,7 +8983,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9672,7 +9028,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9738,7 +9093,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9763,7 +9117,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9861,7 +9214,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9911,18 +9263,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9933,6 +9282,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9996,10 +9349,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10028,6 +9377,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10292,6 +9645,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15247,7 +14601,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15255,6 +14608,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15482,6 +14836,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15584,10 +14946,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15616,6 +14974,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/bn/ppc64-mont.s b/deps/openssl/config/archs/aix-gcc/asm/crypto/bn/ppc64-mont.s deleted file mode 100644 index 1506bcc03aae10..00000000000000 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/bn/ppc64-mont.s +++ /dev/null @@ -1,968 +0,0 @@ -.machine "any" -.csect .text[PR],7 - -.globl .bn_mul_mont_fpu64 -.align 5 -.bn_mul_mont_fpu64: - cmpwi 8,6 - mr 9,3 - li 3,0 - bclr 14,0 - andi. 0,8,3 - bclr 6,2 - - slwi 8,8,2 - li 12,-4096 - slwi 10,8,2 - add 10,10,8 - addi 10,10,488 - subf 10,10,1 - and 10,10,12 - subf 10,1,10 - mr 12,1 - stwux 1,1,10 - - stw 19,-148(12) - stw 20,-144(12) - stw 21,-140(12) - stw 22,-136(12) - stw 23,-132(12) - stw 24,-128(12) - stw 25,-124(12) - stw 26,-120(12) - stw 27,-116(12) - stw 28,-112(12) - stw 29,-108(12) - stw 30,-104(12) - stw 31,-100(12) - stfd 20,-96(12) - stfd 21,-88(12) - stfd 22,-80(12) - stfd 23,-72(12) - stfd 24,-64(12) - stfd 25,-56(12) - stfd 26,-48(12) - stfd 27,-40(12) - stfd 28,-32(12) - stfd 29,-24(12) - stfd 30,-16(12) - stfd 31,-8(12) - - addi 10,1,264 - li 12,-64 - add 22,10,8 - and 22,22,12 - - addi 22,22,-8 - srwi 11,8,4 - addi 11,11,-1 - addi 10,1,184 - li 0,0 - mtctr 11 - lwz 23,0(4) - mr 20,7 - lwz 21,4(4) - li 19,0 - lwz 25,0(5) - lwz 27,4(5) - lwz 7,0(20) - lwz 20,4(20) - - mullw 28,23,25 - mulhwu 29,23,25 - mullw 30,21,25 - mullw 31,23,27 - add 29,29,30 - add 29,29,31 - - extrwi 24,25,16,16 - extrwi 25,25,16,0 - extrwi 26,27,16,16 - extrwi 27,27,16,0 - std 24,64(1) - std 25,72(1) - std 26,80(1) - std 27,88(1) - - mullw 24,28,7 - mulhwu 25,28,7 - mullw 26,29,7 - mullw 27,28,20 - add 25,25,26 - add 25,25,27 - - extrwi 28,24,16,16 - extrwi 29,24,16,0 - extrwi 30,25,16,16 - extrwi 31,25,16,0 - std 28,96(1) - std 29,104(1) - std 30,112(1) - std 31,120(1) - - mr 24,23 - mr 25,21 - lwz 26,8(4) - lwz 27,12(4) - lwz 28,0(6) - lwz 29,4(6) - lwz 30,8(6) - lwz 31,12(6) - lfd 0,64(1) - lfd 1,72(1) - lfd 2,80(1) - lfd 3,88(1) - lfd 4,96(1) - lfd 5,104(1) - lfd 6,112(1) - lfd 7,120(1) - std 24,128(1) - std 25,136(1) - std 26,144(1) - std 27,152(1) - std 28,160(1) - std 29,168(1) - std 30,176(1) - std 31,184(1) - fcfid 0,0 - fcfid 1,1 - fcfid 2,2 - fcfid 3,3 - fcfid 4,4 - fcfid 5,5 - fcfid 6,6 - fcfid 7,7 - - lfd 10,128(1) - lfd 11,136(1) - lfd 12,144(1) - lfd 13,152(1) - lfd 20,160(1) - lfd 21,168(1) - lfd 22,176(1) - lfd 23,184(1) - fcfid 10,10 - fcfid 11,11 - fcfid 12,12 - fcfid 13,13 - fcfid 20,20 - fcfid 21,21 - fcfid 22,22 - fcfid 23,23 - addi 4,4,16 - addi 6,6,16 - - fmul 26,11,0 - fmul 27,11,1 - stfd 10,8(22) - stfd 11,16(22) - fmul 28,12,0 - fmul 29,12,1 - stfd 12,24(22) - stfd 13,32(22) - fmul 30,13,0 - fmul 31,13,1 - stfd 20,40(22) - stfd 21,48(22) - fmul 24,10,0 - fmul 25,10,1 - stfd 22,56(22) - stfdu 23,64(22) - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - fmadd 28,22,4,28 - fmadd 29,22,5,29 - fmadd 30,23,4,30 - fmadd 31,23,5,31 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - - fctid 24,24 - fctid 25,25 - fctid 26,26 - fctid 27,27 - fctid 28,28 - fctid 29,29 - fctid 30,30 - fctid 31,31 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - -.align 5 -L1st: - lwz 24,0(4) - lwz 25,4(4) - lwz 26,8(4) - lwz 27,12(4) - lwz 28,0(6) - lwz 29,4(6) - lwz 30,8(6) - lwz 31,12(6) - std 24,128(1) - std 25,136(1) - std 26,144(1) - std 27,152(1) - std 28,160(1) - std 29,168(1) - std 30,176(1) - std 31,184(1) - lwz 25,64(1) - lwz 24,68(1) - lwz 27,72(1) - lwz 26,76(1) - lwz 29,80(1) - lwz 28,84(1) - lwz 31,88(1) - lwz 30,92(1) - lfd 10,128(1) - lfd 11,136(1) - lfd 12,144(1) - lfd 13,152(1) - lfd 20,160(1) - lfd 21,168(1) - lfd 22,176(1) - lfd 23,184(1) - fcfid 10,10 - fcfid 11,11 - fcfid 12,12 - fcfid 13,13 - fcfid 20,20 - fcfid 21,21 - fcfid 22,22 - fcfid 23,23 - addi 4,4,16 - addi 6,6,16 - - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - stfd 10,8(22) - stfd 11,16(22) - fmul 30,13,0 - fmul 31,13,1 - fmadd 24,10,0,8 - fmadd 25,10,1,9 - stfd 12,24(22) - stfd 13,32(22) - fmadd 26,10,2,26 - fmadd 27,10,3,27 - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - stfd 20,40(22) - stfd 21,48(22) - srwi 19,25,16 - insrwi 0,25,16,0 - fmadd 30,12,2,30 - fmadd 31,12,3,31 - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - fmul 8,13,2 - fmul 9,13,3 - stfd 22,56(22) - stfdu 23,64(22) - insrwi 24,26,16,0 - srwi 19,27,16 - insrwi 0,27,16,0 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - lwz 27,96(1) - lwz 26,100(1) - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - fmadd 28,22,4,28 - fmadd 29,22,5,29 - srwi 19,29,16 - insrwi 0,29,16,0 - fmadd 30,23,4,30 - fmadd 31,23,5,31 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - insrwi 28,30,16,0 - srwi 19,31,16 - insrwi 0,31,16,0 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - lwz 31,104(1) - lwz 30,108(1) - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - stw 24,12(10) - stw 28,8(10) - srwi 19,27,16 - insrwi 0,27,16,0 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - lwz 25,112(1) - lwz 24,116(1) - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - insrwi 26,30,16,0 - srwi 19,31,16 - insrwi 0,31,16,0 - - fctid 24,24 - fctid 25,25 - lwz 29,120(1) - lwz 28,124(1) - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - fctid 26,26 - fctid 27,27 - srwi 19,25,16 - insrwi 0,25,16,0 - fctid 28,28 - fctid 29,29 - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - fctid 30,30 - fctid 31,31 - insrwi 24,28,16,0 - srwi 19,29,16 - insrwi 0,29,16,0 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - stw 26,20(10) - stwu 24,16(10) - bc 16,0,L1st - - fctid 8,8 - fctid 9,9 - lwz 25,64(1) - lwz 24,68(1) - lwz 27,72(1) - lwz 26,76(1) - lwz 29,80(1) - lwz 28,84(1) - lwz 31,88(1) - lwz 30,92(1) - stfd 8,128(1) - stfd 9,136(1) - - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - insrwi 0,25,16,0 - srwi 19,25,16 - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - insrwi 24,26,16,0 - insrwi 0,27,16,0 - srwi 19,27,16 - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - insrwi 0,29,16,0 - srwi 19,29,16 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - insrwi 28,30,16,0 - insrwi 0,31,16,0 - srwi 19,31,16 - stw 24,12(10) - stw 28,8(10) - - lwz 27,96(1) - lwz 26,100(1) - lwz 31,104(1) - lwz 30,108(1) - lwz 25,112(1) - lwz 24,116(1) - lwz 29,120(1) - lwz 28,124(1) - - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - insrwi 0,27,16,0 - srwi 19,27,16 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - insrwi 26,30,16,0 - insrwi 0,31,16,0 - srwi 19,31,16 - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - insrwi 0,25,16,0 - srwi 19,25,16 - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - insrwi 24,28,16,0 - insrwi 0,29,16,0 - srwi 19,29,16 - stw 26,20(10) - stwu 24,16(10) - - lwz 31,128(1) - lwz 30,132(1) - lwz 29,136(1) - lwz 28,140(1) - - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - insrwi 0,31,16,0 - srwi 19,31,16 - addc 28,28,0 - adde 29,29,19 - - insrwi 30,28,16,0 - srwi 28,28,16 - insrwi 28,29,16,0 - srwi 3,29,16 - stw 30,12(10) - stw 28,8(10) - slwi 31,8,2 - subf 22,31,22 - - li 12,8 -.align 5 -Louter: - addi 10,1,192 - li 0,0 - mtctr 11 - add 24,5,12 - li 19,0 - lwz 25,0(24) - lwz 27,4(24) - - mullw 28,23,25 - lwz 24,204(1) - mulhwu 29,23,25 - lwz 26,200(1) - mullw 30,21,25 - mullw 31,23,27 - add 29,29,30 - add 29,29,31 - addc 28,28,24 - adde 29,29,26 - - extrwi 24,25,16,16 - extrwi 25,25,16,0 - extrwi 26,27,16,16 - extrwi 27,27,16,0 - std 24,64(1) - std 25,72(1) - std 26,80(1) - std 27,88(1) - - mullw 24,28,7 - mulhwu 25,28,7 - mullw 26,29,7 - mullw 27,28,20 - add 25,25,26 - add 25,25,27 - - extrwi 28,24,16,16 - extrwi 29,24,16,0 - extrwi 30,25,16,16 - extrwi 31,25,16,0 - std 28,96(1) - std 29,104(1) - std 30,112(1) - std 31,120(1) - lfd 10,8(22) - lfd 11,16(22) - lfd 12,24(22) - lfd 13,32(22) - lfd 20,40(22) - lfd 21,48(22) - lfd 22,56(22) - lfdu 23,64(22) - - lfd 0,64(1) - lfd 1,72(1) - lfd 2,80(1) - lfd 3,88(1) - lfd 4,96(1) - lfd 5,104(1) - lfd 6,112(1) - lfd 7,120(1) - - fcfid 0,0 - fcfid 1,1 - fcfid 2,2 - fcfid 3,3 - fcfid 4,4 - fcfid 5,5 - fcfid 6,6 - fcfid 7,7 - - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - fmul 30,13,0 - fmul 31,13,1 - fmul 24,10,0 - fmul 25,10,1 - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - lfd 10,8(22) - lfd 11,16(22) - fmadd 28,22,4,28 - fmadd 29,22,5,29 - lfd 12,24(22) - lfd 13,32(22) - fmadd 30,23,4,30 - fmadd 31,23,5,31 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - - fctid 24,24 - fctid 25,25 - fctid 26,26 - fctid 27,27 - fctid 28,28 - fctid 29,29 - fctid 30,30 - fctid 31,31 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - -.align 5 -Linner: - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - lfd 20,40(22) - lfd 21,48(22) - fmul 30,13,0 - fmul 31,13,1 - fmadd 24,10,0,8 - fmadd 25,10,1,9 - lfd 22,56(22) - lfdu 23,64(22) - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - lfd 10,8(22) - lfd 11,16(22) - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - lfd 12,24(22) - lfd 13,32(22) - fmadd 26,21,4,26 - fmadd 27,21,5,27 - lwz 25,64(1) - lwz 24,68(1) - fmadd 28,22,4,28 - fmadd 29,22,5,29 - lwz 27,72(1) - lwz 26,76(1) - fmadd 30,23,4,30 - fmadd 31,23,5,31 - lwz 29,80(1) - lwz 28,84(1) - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - lwz 31,88(1) - lwz 30,92(1) - srwi 19,25,16 - insrwi 0,25,16,0 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - insrwi 24,26,16,0 - srwi 19,27,16 - insrwi 0,27,16,0 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - lwz 26,12(10) - lwz 27,8(10) - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - srwi 19,29,16 - insrwi 0,29,16,0 - - fctid 24,24 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - fctid 25,25 - insrwi 28,30,16,0 - srwi 19,31,16 - insrwi 0,31,16,0 - fctid 26,26 - addc 24,24,26 - adde 28,28,27 - lwz 27,96(1) - lwz 26,100(1) - fctid 27,27 - addze 0,0 - addze 19,19 - stw 24,4(10) - stw 28,0(10) - fctid 28,28 - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - lwz 31,104(1) - lwz 30,108(1) - fctid 29,29 - srwi 19,27,16 - insrwi 0,27,16,0 - lwz 25,112(1) - lwz 24,116(1) - fctid 30,30 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - lwz 29,120(1) - lwz 28,124(1) - fctid 31,31 - - insrwi 26,30,16,0 - insrwi 0,31,16,0 - srwi 19,31,16 - lwz 30,20(10) - lwzu 31,16(10) - addc 24,24,0 - stfd 24,64(1) - adde 25,25,19 - srwi 0,24,16 - stfd 25,72(1) - insrwi 0,25,16,0 - srwi 19,25,16 - addc 28,28,0 - stfd 26,80(1) - adde 29,29,19 - srwi 0,28,16 - insrwi 24,28,16,0 - stfd 27,88(1) - insrwi 0,29,16,0 - srwi 19,29,16 - - addc 26,26,30 - stfd 28,96(1) - adde 24,24,31 - stfd 29,104(1) - addze 0,0 - stfd 30,112(1) - addze 19,19 - stfd 31,120(1) - stw 26,-4(10) - stw 24,-8(10) - bc 16,0,Linner - - fctid 8,8 - fctid 9,9 - lwz 25,64(1) - lwz 24,68(1) - lwz 27,72(1) - lwz 26,76(1) - lwz 29,80(1) - lwz 28,84(1) - lwz 31,88(1) - lwz 30,92(1) - stfd 8,128(1) - stfd 9,136(1) - - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - insrwi 0,25,16,0 - srwi 19,25,16 - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - insrwi 24,26,16,0 - lwz 26,12(10) - insrwi 0,27,16,0 - srwi 19,27,16 - lwz 27,8(10) - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - insrwi 0,29,16,0 - srwi 19,29,16 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - insrwi 28,30,16,0 - insrwi 0,31,16,0 - srwi 19,31,16 - - addc 24,24,26 - adde 28,28,27 - addze 0,0 - addze 19,19 - stw 24,4(10) - stw 28,0(10) - - lwz 27,96(1) - lwz 26,100(1) - lwz 31,104(1) - lwz 30,108(1) - lwz 25,112(1) - lwz 24,116(1) - lwz 29,120(1) - lwz 28,124(1) - - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - insrwi 0,27,16,0 - srwi 19,27,16 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - insrwi 26,30,16,0 - lwz 30,20(10) - insrwi 0,31,16,0 - srwi 19,31,16 - lwzu 31,16(10) - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - insrwi 0,25,16,0 - srwi 19,25,16 - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - insrwi 24,28,16,0 - insrwi 0,29,16,0 - srwi 19,29,16 - - addc 26,26,30 - adde 24,24,31 - lwz 31,128(1) - lwz 30,132(1) - addze 0,0 - addze 19,19 - lwz 29,136(1) - lwz 28,140(1) - - addc 30,30,0 - adde 31,31,19 - stw 26,-4(10) - stw 24,-8(10) - addc 30,30,3 - addze 31,31 - srwi 0,30,16 - insrwi 0,31,16,0 - srwi 19,31,16 - addc 28,28,0 - adde 29,29,19 - - insrwi 30,28,16,0 - srwi 28,28,16 - insrwi 28,29,16,0 - srwi 3,29,16 - stw 30,4(10) - stw 28,0(10) - slwi 31,8,2 - addi 12,12,8 - subf 22,31,22 - cmpw 12,8 - blt- Louter - subf 6,8,6 - addi 11,11,1 - subfc 12,12,12 - addi 10,1,192 - addi 6,6,-4 - addi 9,9,-4 - addi 4,1,196 - mtctr 11 - -.align 4 -Lsub: lwz 24,12(10) - lwz 25,8(10) - lwz 26,20(10) - lwzu 27,16(10) - lwz 28,4(6) - lwz 29,8(6) - lwz 30,12(6) - lwzu 31,16(6) - subfe 28,28,24 - stw 24,4(4) - subfe 29,29,25 - stw 25,8(4) - subfe 30,30,26 - stw 26,12(4) - subfe 31,31,27 - stwu 27,16(4) - stw 28,4(9) - stw 29,8(9) - stw 30,12(9) - stwu 31,16(9) - bc 16,0,Lsub - - li 12,0 - subfe 3,12,3 - addi 4,1,196 - subf 9,8,9 - addi 10,1,192 - mtctr 11 - -.align 4 -Lcopy: - lwz 24,4(4) - lwz 25,8(4) - lwz 26,12(4) - lwzu 27,16(4) - lwz 28,4(9) - lwz 29,8(9) - lwz 30,12(9) - lwz 31,16(9) - std 12,8(22) - std 12,16(22) - std 12,24(22) - std 12,32(22) - std 12,40(22) - std 12,48(22) - std 12,56(22) - stdu 12,64(22) - and 24,24,3 - and 25,25,3 - and 26,26,3 - and 27,27,3 - andc 28,28,3 - andc 29,29,3 - andc 30,30,3 - andc 31,31,3 - or 24,24,28 - or 25,25,29 - or 26,26,30 - or 27,27,31 - stw 24,4(9) - stw 25,8(9) - stw 26,12(9) - stwu 27,16(9) - std 12,8(10) - stdu 12,16(10) - bc 16,0,Lcopy - lwz 12,0(1) - li 3,1 - lwz 19,-148(12) - lwz 20,-144(12) - lwz 21,-140(12) - lwz 22,-136(12) - lwz 23,-132(12) - lwz 24,-128(12) - lwz 25,-124(12) - lwz 26,-120(12) - lwz 27,-116(12) - lwz 28,-112(12) - lwz 29,-108(12) - lwz 30,-104(12) - lwz 31,-100(12) - lfd 20,-96(12) - lfd 21,-88(12) - lfd 22,-80(12) - lfd 23,-72(12) - lfd 24,-64(12) - lfd 25,-56(12) - lfd 26,-48(12) - lfd 27,-40(12) - lfd 28,-32(12) - lfd 29,-24(12) - lfd 30,-16(12) - lfd 31,-8(12) - mr 1,12 - blr -.long 0 -.byte 0,12,4,0,0x8c,13,6,0 -.long 0 - - -.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,80,80,67,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 2 diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/buildinf.h b/deps/openssl/config/archs/aix-gcc/asm/crypto/buildinf.h index 23bf3c386089ea..39bc5ba3c4b295 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: aix-gcc" -#define DATE "built on: Fri Sep 13 15:56:47 2019 UTC" +#define DATE "built on: Wed Mar 18 21:04:29 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/aix-gcc/asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/aix-gcc/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/aix-gcc/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/aix-gcc/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/aix-gcc/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/aix-gcc/asm/include/openssl/opensslconf.h index 683c468946348b..9028305bd22cc1 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/aix-gcc/asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/aix-gcc/asm/include/progs.h b/deps/openssl/config/archs/aix-gcc/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/aix-gcc/asm/include/progs.h +++ b/deps/openssl/config/archs/aix-gcc/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/aix-gcc/asm_avx2/configdata.pm b/deps/openssl/config/archs/aix-gcc/asm_avx2/configdata.pm index 52c1848ab07914..2308e3e39b6966 100644 --- a/deps/openssl/config/archs/aix-gcc/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/aix-gcc/asm_avx2/configdata.pm @@ -54,7 +54,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_AIX" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -110,8 +110,8 @@ our %config = ( sourcedir => ".", target => "aix-gcc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -236,6 +236,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -353,8 +354,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -622,14 +623,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -705,6 +698,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1502,6 +1503,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3233,7 +3240,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3241,6 +3247,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3739,14 +3746,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4187,6 +4186,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4873,7 +4880,6 @@ our %unified_info = ( "crypto/aes/aes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes-s390x.o" => @@ -4887,49 +4893,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4939,7 +4937,6 @@ our %unified_info = ( "crypto/aes/aesp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4957,13 +4954,11 @@ our %unified_info = ( "crypto/aes/vpaes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4977,613 +4972,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5601,188 +5494,157 @@ our %unified_info = ( "crypto/bn/bn-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5792,7 +5654,6 @@ our %unified_info = ( "crypto/bn/ppc-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5818,13 +5679,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5834,43 +5693,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5880,31 +5732,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5918,7 +5765,6 @@ our %unified_info = ( "crypto/chacha/chacha-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-s390x.o" => @@ -5928,272 +5774,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6203,301 +6004,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6505,7 +6256,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6513,7 +6263,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6521,7 +6270,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6529,7 +6277,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6537,7 +6284,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6545,163 +6291,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6719,223 +6438,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6943,21 +6625,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6965,13 +6644,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6979,81 +6656,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7061,328 +6725,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7392,79 +6995,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7483,7 +7073,6 @@ our %unified_info = ( "crypto/modes/ghashp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7493,361 +7082,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7865,13 +7394,11 @@ our %unified_info = ( "crypto/poly1305/poly1305-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-ppcfp.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7881,271 +7408,226 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccap.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccpuid.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8155,31 +7637,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8189,7 +7666,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8207,7 +7683,6 @@ our %unified_info = ( "crypto/sha/sha1-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-s390x.o" => @@ -8221,13 +7696,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8245,7 +7718,6 @@ our %unified_info = ( "crypto/sha/sha256-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-s390x.o" => @@ -8259,13 +7731,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8283,7 +7753,6 @@ our %unified_info = ( "crypto/sha/sha512-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-s390x.o" => @@ -8297,715 +7766,596 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9056,6 +8406,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9300,7 +8658,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9626,7 +8983,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9672,7 +9028,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9738,7 +9093,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9763,7 +9117,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9861,7 +9214,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9911,18 +9263,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9933,6 +9282,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9996,10 +9349,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10028,6 +9377,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10292,6 +9645,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15247,7 +14601,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15255,6 +14608,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15482,6 +14836,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15584,10 +14946,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15616,6 +14974,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/aix-gcc/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/aix-gcc/asm_avx2/crypto/buildinf.h index 553eaaf94c54aa..eadeff3e4417da 100644 --- a/deps/openssl/config/archs/aix-gcc/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/aix-gcc/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: aix-gcc" -#define DATE "built on: Fri Sep 13 15:56:53 2019 UTC" +#define DATE "built on: Wed Mar 18 21:04:33 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/aix-gcc/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/aix-gcc/asm_avx2/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/aix-gcc/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/aix-gcc/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/aix-gcc/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/aix-gcc/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/aix-gcc/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/aix-gcc/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/aix-gcc/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/aix-gcc/asm_avx2/include/openssl/opensslconf.h index 683c468946348b..9028305bd22cc1 100644 --- a/deps/openssl/config/archs/aix-gcc/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/aix-gcc/asm_avx2/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/aix-gcc/asm_avx2/include/progs.h b/deps/openssl/config/archs/aix-gcc/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/aix-gcc/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/aix-gcc/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/aix-gcc/no-asm/configdata.pm b/deps/openssl/config/archs/aix-gcc/no-asm/configdata.pm index 48bc45df709b75..401c0fa7dc230a 100644 --- a/deps/openssl/config/archs/aix-gcc/no-asm/configdata.pm +++ b/deps/openssl/config/archs/aix-gcc/no-asm/configdata.pm @@ -54,7 +54,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_AIX" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -110,8 +110,8 @@ our %config = ( sourcedir => ".", target => "aix-gcc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -234,6 +234,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -352,8 +353,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -621,14 +622,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -704,6 +697,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1501,6 +1502,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3219,7 +3226,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3227,6 +3233,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3725,14 +3732,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4173,6 +4172,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4867,49 +4874,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4931,7 +4930,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4945,613 +4943,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5569,188 +5465,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5780,13 +5645,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5796,43 +5659,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5842,31 +5698,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5884,278 +5735,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6165,301 +5970,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6467,7 +6222,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6475,7 +6229,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6483,7 +6236,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6491,7 +6243,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6499,7 +6250,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6507,163 +6257,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6681,223 +6404,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6905,21 +6591,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6927,13 +6610,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6941,81 +6622,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7023,328 +6691,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7354,85 +6961,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7455,361 +7048,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7831,259 +7364,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8093,31 +7583,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8127,7 +7612,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8153,13 +7637,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8185,7 +7667,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8211,709 +7692,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8964,6 +8327,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9208,7 +8579,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9534,7 +8904,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9580,7 +8949,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9646,7 +9014,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9671,7 +9038,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9769,7 +9135,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9819,18 +9184,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9841,6 +9203,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9904,10 +9270,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9936,6 +9298,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10200,6 +9566,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15090,7 +14457,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15098,6 +14464,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15325,6 +14692,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15427,10 +14802,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15459,6 +14830,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/aix-gcc/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/aix-gcc/no-asm/crypto/buildinf.h index a3c2c5a66f7e4e..5a597aebe4a3eb 100644 --- a/deps/openssl/config/archs/aix-gcc/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/aix-gcc/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: aix-gcc" -#define DATE "built on: Fri Sep 13 15:56:58 2019 UTC" +#define DATE "built on: Wed Mar 18 21:04:36 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/aix-gcc/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/aix-gcc/no-asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/aix-gcc/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/aix-gcc/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/aix-gcc/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/aix-gcc/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/aix-gcc/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/aix-gcc/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/aix-gcc/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/aix-gcc/no-asm/include/openssl/opensslconf.h index 882ae5789d8a2c..5b3831705c7454 100644 --- a/deps/openssl/config/archs/aix-gcc/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/aix-gcc/no-asm/include/openssl/opensslconf.h @@ -102,9 +102,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/aix-gcc/no-asm/include/progs.h b/deps/openssl/config/archs/aix-gcc/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/aix-gcc/no-asm/include/progs.h +++ b/deps/openssl/config/archs/aix-gcc/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/aix64-gcc/asm/configdata.pm b/deps/openssl/config/archs/aix64-gcc/asm/configdata.pm index a91a3c0878db81..11958ce68b9186 100644 --- a/deps/openssl/config/archs/aix64-gcc/asm/configdata.pm +++ b/deps/openssl/config/archs/aix64-gcc/asm/configdata.pm @@ -54,7 +54,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_AIX" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -110,8 +110,8 @@ our %config = ( sourcedir => ".", target => "aix64-gcc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -236,6 +236,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -353,8 +354,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -622,14 +623,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -705,6 +698,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1502,6 +1503,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3236,7 +3243,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3244,6 +3250,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3742,14 +3749,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4190,6 +4189,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4876,7 +4883,6 @@ our %unified_info = ( "crypto/aes/aes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes-s390x.o" => @@ -4890,49 +4896,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4942,7 +4940,6 @@ our %unified_info = ( "crypto/aes/aesp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4960,13 +4957,11 @@ our %unified_info = ( "crypto/aes/vpaes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4980,613 +4975,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5604,188 +5497,157 @@ our %unified_info = ( "crypto/bn/bn-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5795,7 +5657,6 @@ our %unified_info = ( "crypto/bn/ppc-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5821,13 +5682,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5837,43 +5696,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5883,31 +5735,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5921,7 +5768,6 @@ our %unified_info = ( "crypto/chacha/chacha-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-s390x.o" => @@ -5931,272 +5777,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6206,301 +6007,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6508,7 +6259,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6516,7 +6266,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6524,7 +6273,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6532,7 +6280,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6540,7 +6287,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6548,163 +6294,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6718,7 +6437,6 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-sparcv9.o" => @@ -6728,235 +6446,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6964,21 +6643,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6986,13 +6662,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7000,81 +6674,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7082,328 +6743,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7413,79 +7013,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7504,7 +7091,6 @@ our %unified_info = ( "crypto/modes/ghashp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7514,361 +7100,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7886,13 +7412,11 @@ our %unified_info = ( "crypto/poly1305/poly1305-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-ppcfp.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7902,271 +7426,226 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccap.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccpuid.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8176,31 +7655,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8210,7 +7684,6 @@ our %unified_info = ( "crypto/sha/keccak1600-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8228,7 +7701,6 @@ our %unified_info = ( "crypto/sha/sha1-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-s390x.o" => @@ -8242,13 +7714,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8266,7 +7736,6 @@ our %unified_info = ( "crypto/sha/sha256-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-s390x.o" => @@ -8280,13 +7749,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8304,7 +7771,6 @@ our %unified_info = ( "crypto/sha/sha512-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-s390x.o" => @@ -8318,715 +7784,596 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9077,6 +8424,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9321,7 +8676,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9647,7 +9001,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9693,7 +9046,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9759,7 +9111,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9784,7 +9135,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9882,7 +9232,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9932,18 +9281,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9954,6 +9300,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10017,10 +9367,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10049,6 +9395,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10313,6 +9663,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15283,7 +14634,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15291,6 +14641,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15518,6 +14869,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15620,10 +14979,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15652,6 +15007,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/aix64-gcc/asm/crypto/bn/ppc64-mont.s b/deps/openssl/config/archs/aix64-gcc/asm/crypto/bn/ppc64-mont.s deleted file mode 100644 index 96ef2a9ea7b6ba..00000000000000 --- a/deps/openssl/config/archs/aix64-gcc/asm/crypto/bn/ppc64-mont.s +++ /dev/null @@ -1,745 +0,0 @@ -.machine "any" -.csect .text[PR],7 - -.globl .bn_mul_mont_fpu64 -.align 5 -.bn_mul_mont_fpu64: - cmpwi 8,3 - mr 9,3 - li 3,0 - bclr 14,0 - andi. 0,8,1 - bclr 6,2 - - slwi 8,8,3 - li 12,-4096 - slwi 10,8,2 - add 10,10,8 - addi 10,10,552 - subf 10,10,1 - and 10,10,12 - subf 10,1,10 - mr 12,1 - stdux 1,1,10 - - std 19,-200(12) - std 20,-192(12) - std 21,-184(12) - std 22,-176(12) - std 23,-168(12) - std 24,-160(12) - std 25,-152(12) - std 26,-144(12) - std 27,-136(12) - std 28,-128(12) - std 29,-120(12) - std 30,-112(12) - std 31,-104(12) - stfd 20,-96(12) - stfd 21,-88(12) - stfd 22,-80(12) - stfd 23,-72(12) - stfd 24,-64(12) - stfd 25,-56(12) - stfd 26,-48(12) - stfd 27,-40(12) - stfd 28,-32(12) - stfd 29,-24(12) - stfd 30,-16(12) - stfd 31,-8(12) - - addi 10,1,264 - li 12,-64 - add 22,10,8 - and 22,22,12 - - addi 22,22,-8 - srwi 11,8,4 - addi 11,11,-1 - addi 10,1,184 - li 0,0 - mtctr 11 - ld 23,0(4) - ld 27,0(5) - ld 7,0(7) - - mulld 31,23,27 - - rldicl 24,27,0,48 - rldicl 25,27,48,48 - rldicl 26,27,32,48 - rldicl 27,27,16,48 - std 24,64(1) - std 25,72(1) - std 26,80(1) - std 27,88(1) - - mulld 31,31,7 - - rldicl 28,31,0,48 - rldicl 29,31,48,48 - rldicl 30,31,32,48 - rldicl 31,31,16,48 - std 28,96(1) - std 29,104(1) - std 30,112(1) - std 31,120(1) - - rldicl 24,23,0,32 - rldicl 25,23,32,32 - lwz 26,12(4) - lwz 27,8(4) - lwz 28,4(6) - lwz 29,0(6) - lwz 30,12(6) - lwz 31,8(6) - lfd 0,64(1) - lfd 1,72(1) - lfd 2,80(1) - lfd 3,88(1) - lfd 4,96(1) - lfd 5,104(1) - lfd 6,112(1) - lfd 7,120(1) - std 24,128(1) - std 25,136(1) - std 26,144(1) - std 27,152(1) - std 28,160(1) - std 29,168(1) - std 30,176(1) - std 31,184(1) - fcfid 0,0 - fcfid 1,1 - fcfid 2,2 - fcfid 3,3 - fcfid 4,4 - fcfid 5,5 - fcfid 6,6 - fcfid 7,7 - - lfd 10,128(1) - lfd 11,136(1) - lfd 12,144(1) - lfd 13,152(1) - lfd 20,160(1) - lfd 21,168(1) - lfd 22,176(1) - lfd 23,184(1) - fcfid 10,10 - fcfid 11,11 - fcfid 12,12 - fcfid 13,13 - fcfid 20,20 - fcfid 21,21 - fcfid 22,22 - fcfid 23,23 - addi 4,4,16 - addi 6,6,16 - - fmul 26,11,0 - fmul 27,11,1 - stfd 10,8(22) - stfd 11,16(22) - fmul 28,12,0 - fmul 29,12,1 - stfd 12,24(22) - stfd 13,32(22) - fmul 30,13,0 - fmul 31,13,1 - stfd 20,40(22) - stfd 21,48(22) - fmul 24,10,0 - fmul 25,10,1 - stfd 22,56(22) - stfdu 23,64(22) - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - fmadd 28,22,4,28 - fmadd 29,22,5,29 - fmadd 30,23,4,30 - fmadd 31,23,5,31 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - - fctid 24,24 - fctid 25,25 - fctid 26,26 - fctid 27,27 - fctid 28,28 - fctid 29,29 - fctid 30,30 - fctid 31,31 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - -.align 5 -L1st: - lwz 24,4(4) - lwz 25,0(4) - lwz 26,12(4) - lwz 27,8(4) - lwz 28,4(6) - lwz 29,0(6) - lwz 30,12(6) - lwz 31,8(6) - std 24,128(1) - std 25,136(1) - std 26,144(1) - std 27,152(1) - std 28,160(1) - std 29,168(1) - std 30,176(1) - std 31,184(1) - ld 24,64(1) - ld 25,72(1) - ld 26,80(1) - ld 27,88(1) - ld 28,96(1) - ld 29,104(1) - ld 30,112(1) - ld 31,120(1) - lfd 10,128(1) - lfd 11,136(1) - lfd 12,144(1) - lfd 13,152(1) - lfd 20,160(1) - lfd 21,168(1) - lfd 22,176(1) - lfd 23,184(1) - fcfid 10,10 - fcfid 11,11 - fcfid 12,12 - fcfid 13,13 - fcfid 20,20 - fcfid 21,21 - fcfid 22,22 - fcfid 23,23 - addi 4,4,16 - addi 6,6,16 - - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - stfd 10,8(22) - stfd 11,16(22) - fmul 30,13,0 - fmul 31,13,1 - fmadd 24,10,0,8 - fmadd 25,10,1,9 - stfd 12,24(22) - stfd 13,32(22) - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - stfd 20,40(22) - stfd 21,48(22) - fmadd 30,12,2,30 - fmadd 31,12,3,31 - add 24,24,0 - fmul 8,13,2 - fmul 9,13,3 - stfd 22,56(22) - stfdu 23,64(22) - srdi 0,24,16 - add 25,25,0 - srdi 0,25,16 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - insrdi 24,25,16,32 - fmadd 28,22,4,28 - fmadd 29,22,5,29 - add 26,26,0 - fmadd 30,23,4,30 - fmadd 31,23,5,31 - srdi 0,26,16 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - insrdi 24,26,16,16 - add 27,27,0 - srdi 0,27,16 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - insrdi 24,27,16,0 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - add 28,28,0 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - srdi 0,28,16 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - add 29,29,0 - srdi 0,29,16 - insrdi 28,29,16,32 - - fctid 24,24 - fctid 25,25 - add 30,30,0 - fctid 26,26 - fctid 27,27 - srdi 0,30,16 - fctid 28,28 - fctid 29,29 - insrdi 28,30,16,16 - fctid 30,30 - fctid 31,31 - add 31,31,0 - insrdi 28,31,16,0 - srdi 0,31,16 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - std 24,8(10) - stdu 28,16(10) - bc 16,0,L1st - - fctid 8,8 - fctid 9,9 - ld 24,64(1) - ld 25,72(1) - ld 26,80(1) - ld 27,88(1) - ld 28,96(1) - ld 29,104(1) - ld 30,112(1) - ld 31,120(1) - stfd 8,128(1) - stfd 9,136(1) - - add 24,24,0 - srdi 0,24,16 - add 25,25,0 - srdi 0,25,16 - insrdi 24,25,16,32 - add 26,26,0 - srdi 0,26,16 - insrdi 24,26,16,16 - add 27,27,0 - srdi 0,27,16 - insrdi 24,27,16,0 - add 28,28,0 - srdi 0,28,16 - add 29,29,0 - srdi 0,29,16 - insrdi 28,29,16,32 - add 30,30,0 - srdi 0,30,16 - insrdi 28,30,16,16 - add 31,31,0 - insrdi 28,31,16,0 - srdi 0,31,16 - ld 30,128(1) - ld 31,136(1) - - std 24,8(10) - stdu 28,16(10) - - add 30,30,0 - srdi 0,30,16 - add 31,31,0 - insrdi 30,31,48,0 - srdi 3,31,48 - std 30,8(10) - slwi 31,8,2 - subf 22,31,22 - - li 12,8 -.align 5 -Louter: - addi 10,1,192 - li 0,0 - mtctr 11 - ldx 27,5,12 - - ld 30,200(1) - mulld 31,23,27 - add 31,31,30 - - rldicl 24,27,0,48 - rldicl 25,27,48,48 - rldicl 26,27,32,48 - rldicl 27,27,16,48 - std 24,64(1) - std 25,72(1) - std 26,80(1) - std 27,88(1) - - mulld 31,31,7 - - rldicl 28,31,0,48 - rldicl 29,31,48,48 - rldicl 30,31,32,48 - rldicl 31,31,16,48 - std 28,96(1) - std 29,104(1) - std 30,112(1) - std 31,120(1) - lfd 10,8(22) - lfd 11,16(22) - lfd 12,24(22) - lfd 13,32(22) - lfd 20,40(22) - lfd 21,48(22) - lfd 22,56(22) - lfdu 23,64(22) - - lfd 0,64(1) - lfd 1,72(1) - lfd 2,80(1) - lfd 3,88(1) - lfd 4,96(1) - lfd 5,104(1) - lfd 6,112(1) - lfd 7,120(1) - - fcfid 0,0 - fcfid 1,1 - fcfid 2,2 - fcfid 3,3 - fcfid 4,4 - fcfid 5,5 - fcfid 6,6 - fcfid 7,7 - - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - fmul 30,13,0 - fmul 31,13,1 - fmul 24,10,0 - fmul 25,10,1 - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - lfd 10,8(22) - lfd 11,16(22) - fmadd 28,22,4,28 - fmadd 29,22,5,29 - lfd 12,24(22) - lfd 13,32(22) - fmadd 30,23,4,30 - fmadd 31,23,5,31 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - - fctid 24,24 - fctid 25,25 - fctid 26,26 - fctid 27,27 - fctid 28,28 - fctid 29,29 - fctid 30,30 - fctid 31,31 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - -.align 5 -Linner: - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - lfd 20,40(22) - lfd 21,48(22) - fmul 30,13,0 - fmul 31,13,1 - fmadd 24,10,0,8 - fmadd 25,10,1,9 - lfd 22,56(22) - lfdu 23,64(22) - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - lfd 10,8(22) - lfd 11,16(22) - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - lfd 12,24(22) - lfd 13,32(22) - fmadd 26,21,4,26 - fmadd 27,21,5,27 - ld 24,64(1) - ld 25,72(1) - fmadd 28,22,4,28 - fmadd 29,22,5,29 - ld 26,80(1) - ld 27,88(1) - fmadd 30,23,4,30 - fmadd 31,23,5,31 - add 24,24,0 - ld 28,96(1) - ld 29,104(1) - fmadd 24,20,4,24 - fmadd 25,20,5,25 - srdi 0,24,16 - add 25,25,0 - srdi 0,25,16 - ld 30,112(1) - ld 31,120(1) - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - insrdi 24,25,16,32 - ld 25,8(10) - fmadd 28,21,6,28 - fmadd 29,21,7,29 - add 26,26,0 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - srdi 0,26,16 - insrdi 24,26,16,16 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - add 27,27,0 - ldu 26,16(10) - srdi 0,27,16 - insrdi 24,27,16,0 - add 28,28,0 - - fctid 24,24 - fctid 25,25 - srdi 0,28,16 - fctid 26,26 - fctid 27,27 - add 29,29,0 - fctid 28,28 - fctid 29,29 - srdi 0,29,16 - insrdi 28,29,16,32 - fctid 30,30 - fctid 31,31 - add 30,30,0 - srdi 0,30,16 - insrdi 28,30,16,16 - - stfd 24,64(1) - stfd 25,72(1) - add 31,31,0 - addc 27,24,25 - stfd 26,80(1) - stfd 27,88(1) - insrdi 28,31,16,0 - srdi 0,31,16 - stfd 28,96(1) - stfd 29,104(1) - adde 29,28,26 - stfd 30,112(1) - stfd 31,120(1) - addze 0,0 - std 27,-16(10) - std 29,-8(10) - bc 16,0,Linner - - fctid 8,8 - fctid 9,9 - ld 24,64(1) - ld 25,72(1) - ld 26,80(1) - ld 27,88(1) - ld 28,96(1) - ld 29,104(1) - ld 30,112(1) - ld 31,120(1) - stfd 8,128(1) - stfd 9,136(1) - - add 24,24,0 - srdi 0,24,16 - add 25,25,0 - srdi 0,25,16 - insrdi 24,25,16,32 - add 26,26,0 - ld 25,8(10) - srdi 0,26,16 - insrdi 24,26,16,16 - add 27,27,0 - ldu 26,16(10) - srdi 0,27,16 - insrdi 24,27,16,0 - add 28,28,0 - srdi 0,28,16 - add 29,29,0 - srdi 0,29,16 - insrdi 28,29,16,32 - add 30,30,0 - srdi 0,30,16 - insrdi 28,30,16,16 - add 31,31,0 - insrdi 28,31,16,0 - srdi 0,31,16 - ld 30,128(1) - ld 31,136(1) - - addc 27,24,25 - adde 29,28,26 - addze 0,0 - - std 27,-16(10) - std 29,-8(10) - - add 0,0,3 - add 30,30,0 - srdi 0,30,16 - add 31,31,0 - insrdi 30,31,48,0 - srdi 3,31,48 - std 30,0(10) - slwi 31,8,2 - addi 12,12,8 - subf 22,31,22 - cmpw 12,8 - blt- Louter - subf 6,8,6 - addi 11,11,1 - subfc 12,12,12 - addi 10,1,200 - addi 28,1,208 - addi 29,6,8 - addi 30,9,8 - mtctr 11 - -.align 4 -Lsub: ldx 24,10,12 - ldx 25,6,12 - ldx 26,28,12 - ldx 27,29,12 - subfe 24,25,24 - subfe 26,27,26 - stdx 24,9,12 - stdx 26,30,12 - addi 12,12,16 - bc 16,0,Lsub - - li 12,0 - subfe 3,12,3 - mtctr 11 - -.align 4 -Lcopy: - ldx 24,10,12 - ldx 25,28,12 - ldx 26,9,12 - ldx 27,30,12 - std 12,8(22) - std 12,16(22) - std 12,24(22) - std 12,32(22) - std 12,40(22) - std 12,48(22) - std 12,56(22) - stdu 12,64(22) - and 24,24,3 - and 25,25,3 - andc 26,26,3 - andc 27,27,3 - or 24,24,26 - or 25,25,27 - stdx 24,9,12 - stdx 25,30,12 - stdx 12,10,12 - stdx 12,28,12 - addi 12,12,16 - bc 16,0,Lcopy - ld 12,0(1) - li 3,1 - ld 19,-200(12) - ld 20,-192(12) - ld 21,-184(12) - ld 22,-176(12) - ld 23,-168(12) - ld 24,-160(12) - ld 25,-152(12) - ld 26,-144(12) - ld 27,-136(12) - ld 28,-128(12) - ld 29,-120(12) - ld 30,-112(12) - ld 31,-104(12) - lfd 20,-96(12) - lfd 21,-88(12) - lfd 22,-80(12) - lfd 23,-72(12) - lfd 24,-64(12) - lfd 25,-56(12) - lfd 26,-48(12) - lfd 27,-40(12) - lfd 28,-32(12) - lfd 29,-24(12) - lfd 30,-16(12) - lfd 31,-8(12) - mr 1,12 - blr -.long 0 -.byte 0,12,4,0,0x8c,13,6,0 -.long 0 - - -.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,80,80,67,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 2 diff --git a/deps/openssl/config/archs/aix64-gcc/asm/crypto/buildinf.h b/deps/openssl/config/archs/aix64-gcc/asm/crypto/buildinf.h index 4ec1ec8283c301..a994547d9f6878 100644 --- a/deps/openssl/config/archs/aix64-gcc/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/aix64-gcc/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: aix64-gcc" -#define DATE "built on: Fri Sep 13 15:57:01 2019 UTC" +#define DATE "built on: Wed Mar 18 21:04:38 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/aix64-gcc/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/aix64-gcc/asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/aix64-gcc/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/aix64-gcc/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/aix64-gcc/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/aix64-gcc/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/aix64-gcc/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/aix64-gcc/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/aix64-gcc/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/aix64-gcc/asm/include/openssl/opensslconf.h index 23ac57c116ac27..2ab0cdb917d5e3 100644 --- a/deps/openssl/config/archs/aix64-gcc/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/aix64-gcc/asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/aix64-gcc/asm/include/progs.h b/deps/openssl/config/archs/aix64-gcc/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/aix64-gcc/asm/include/progs.h +++ b/deps/openssl/config/archs/aix64-gcc/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/aix64-gcc/asm_avx2/configdata.pm b/deps/openssl/config/archs/aix64-gcc/asm_avx2/configdata.pm index 56f615362d9a45..ce4e06798c4b0e 100644 --- a/deps/openssl/config/archs/aix64-gcc/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/aix64-gcc/asm_avx2/configdata.pm @@ -54,7 +54,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_AIX" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -110,8 +110,8 @@ our %config = ( sourcedir => ".", target => "aix64-gcc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -236,6 +236,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -353,8 +354,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -622,14 +623,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -705,6 +698,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1502,6 +1503,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3236,7 +3243,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3244,6 +3250,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3742,14 +3749,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4190,6 +4189,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4876,7 +4883,6 @@ our %unified_info = ( "crypto/aes/aes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes-s390x.o" => @@ -4890,49 +4896,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4942,7 +4940,6 @@ our %unified_info = ( "crypto/aes/aesp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4960,13 +4957,11 @@ our %unified_info = ( "crypto/aes/vpaes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4980,613 +4975,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5604,188 +5497,157 @@ our %unified_info = ( "crypto/bn/bn-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5795,7 +5657,6 @@ our %unified_info = ( "crypto/bn/ppc-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5821,13 +5682,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5837,43 +5696,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5883,31 +5735,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5921,7 +5768,6 @@ our %unified_info = ( "crypto/chacha/chacha-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-s390x.o" => @@ -5931,272 +5777,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6206,301 +6007,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6508,7 +6259,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6516,7 +6266,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6524,7 +6273,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6532,7 +6280,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6540,7 +6287,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6548,163 +6294,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6718,7 +6437,6 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-sparcv9.o" => @@ -6728,235 +6446,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6964,21 +6643,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6986,13 +6662,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7000,81 +6674,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7082,328 +6743,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7413,79 +7013,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7504,7 +7091,6 @@ our %unified_info = ( "crypto/modes/ghashp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7514,361 +7100,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7886,13 +7412,11 @@ our %unified_info = ( "crypto/poly1305/poly1305-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-ppcfp.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7902,271 +7426,226 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccap.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccpuid.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8176,31 +7655,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8210,7 +7684,6 @@ our %unified_info = ( "crypto/sha/keccak1600-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8228,7 +7701,6 @@ our %unified_info = ( "crypto/sha/sha1-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-s390x.o" => @@ -8242,13 +7714,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8266,7 +7736,6 @@ our %unified_info = ( "crypto/sha/sha256-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-s390x.o" => @@ -8280,13 +7749,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8304,7 +7771,6 @@ our %unified_info = ( "crypto/sha/sha512-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-s390x.o" => @@ -8318,715 +7784,596 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9077,6 +8424,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9321,7 +8676,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9647,7 +9001,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9693,7 +9046,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9759,7 +9111,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9784,7 +9135,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9882,7 +9232,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9932,18 +9281,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9954,6 +9300,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10017,10 +9367,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10049,6 +9395,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10313,6 +9663,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15283,7 +14634,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15291,6 +14641,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15518,6 +14869,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15620,10 +14979,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15652,6 +15007,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/aix64-gcc/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/aix64-gcc/asm_avx2/crypto/buildinf.h index fe20db38c0347d..c53f28b67b46ab 100644 --- a/deps/openssl/config/archs/aix64-gcc/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/aix64-gcc/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: aix64-gcc" -#define DATE "built on: Fri Sep 13 15:57:07 2019 UTC" +#define DATE "built on: Wed Mar 18 21:04:42 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/aix64-gcc/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/aix64-gcc/asm_avx2/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/aix64-gcc/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/aix64-gcc/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/aix64-gcc/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/aix64-gcc/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/aix64-gcc/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/aix64-gcc/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/aix64-gcc/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/aix64-gcc/asm_avx2/include/openssl/opensslconf.h index 23ac57c116ac27..2ab0cdb917d5e3 100644 --- a/deps/openssl/config/archs/aix64-gcc/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/aix64-gcc/asm_avx2/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/aix64-gcc/asm_avx2/include/progs.h b/deps/openssl/config/archs/aix64-gcc/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/aix64-gcc/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/aix64-gcc/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/aix64-gcc/no-asm/configdata.pm b/deps/openssl/config/archs/aix64-gcc/no-asm/configdata.pm index d37f8ad8b04179..e5164e6d11a314 100644 --- a/deps/openssl/config/archs/aix64-gcc/no-asm/configdata.pm +++ b/deps/openssl/config/archs/aix64-gcc/no-asm/configdata.pm @@ -54,7 +54,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_AIX" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -110,8 +110,8 @@ our %config = ( sourcedir => ".", target => "aix64-gcc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -234,6 +234,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -352,8 +353,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -621,14 +622,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -704,6 +697,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1501,6 +1502,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3219,7 +3226,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3227,6 +3233,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3725,14 +3732,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4173,6 +4172,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4867,49 +4874,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4931,7 +4930,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4945,613 +4943,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5569,188 +5465,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5780,13 +5645,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5796,43 +5659,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5842,31 +5698,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5884,278 +5735,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6165,301 +5970,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6467,7 +6222,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6475,7 +6229,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6483,7 +6236,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6491,7 +6243,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6499,7 +6250,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6507,163 +6257,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6681,223 +6404,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6905,21 +6591,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6927,13 +6610,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6941,81 +6622,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7023,328 +6691,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7354,85 +6961,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7455,361 +7048,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7831,259 +7364,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8093,31 +7583,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8127,7 +7612,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8153,13 +7637,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8185,7 +7667,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8211,709 +7692,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8964,6 +8327,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9208,7 +8579,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9534,7 +8904,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9580,7 +8949,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9646,7 +9014,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9671,7 +9038,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9769,7 +9135,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9819,18 +9184,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9841,6 +9203,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9904,10 +9270,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9936,6 +9298,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10200,6 +9566,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15090,7 +14457,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15098,6 +14464,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15325,6 +14692,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15427,10 +14802,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15459,6 +14830,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/aix64-gcc/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/aix64-gcc/no-asm/crypto/buildinf.h index 533bf0b9e3e4a7..eca0e52e0aa6ff 100644 --- a/deps/openssl/config/archs/aix64-gcc/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/aix64-gcc/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: aix64-gcc" -#define DATE "built on: Fri Sep 13 15:57:13 2019 UTC" +#define DATE "built on: Wed Mar 18 21:04:46 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/aix64-gcc/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/aix64-gcc/no-asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/aix64-gcc/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/aix64-gcc/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/aix64-gcc/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/aix64-gcc/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/aix64-gcc/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/aix64-gcc/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/aix64-gcc/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/aix64-gcc/no-asm/include/openssl/opensslconf.h index c118ab6b899d5b..267f47f523ab26 100644 --- a/deps/openssl/config/archs/aix64-gcc/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/aix64-gcc/no-asm/include/openssl/opensslconf.h @@ -102,9 +102,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/aix64-gcc/no-asm/include/progs.h b/deps/openssl/config/archs/aix64-gcc/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/aix64-gcc/no-asm/include/progs.h +++ b/deps/openssl/config/archs/aix64-gcc/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/configdata.pm b/deps/openssl/config/archs/darwin-i386-cc/asm/configdata.pm index d9ceb02bb7bc17..e7607607e41f66 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/configdata.pm +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/configdata.pm @@ -48,14 +48,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "AESNI_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)gcc", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_MACOSX" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "darwin-i386-cc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -235,6 +235,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -352,8 +353,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -621,14 +622,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -704,6 +697,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1493,6 +1494,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3224,7 +3231,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3232,6 +3238,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3730,14 +3737,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4178,6 +4177,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4860,49 +4867,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4912,7 +4911,6 @@ our %unified_info = ( "crypto/aes/aesni-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4930,13 +4928,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4950,613 +4946,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5570,7 +5464,6 @@ our %unified_info = ( "crypto/bn/bn-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5580,188 +5473,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/co-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5791,25 +5653,21 @@ our %unified_info = ( "crypto/bn/x86-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5819,31 +5677,26 @@ our %unified_info = ( "crypto/camellia/cmll-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5853,31 +5706,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5895,284 +5743,237 @@ our %unified_info = ( "crypto/chacha/chacha-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/crypt586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des-586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6182,295 +5983,246 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6478,7 +6230,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6486,7 +6237,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6494,7 +6244,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6502,7 +6251,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6510,7 +6258,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6518,163 +6265,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6692,235 +6412,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6928,21 +6609,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6950,13 +6628,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6964,81 +6640,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7046,334 +6709,272 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-586.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7383,79 +6984,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7474,7 +7062,6 @@ our %unified_info = ( "crypto/modes/ghash-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7484,361 +7071,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7860,265 +7387,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8128,31 +7611,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8162,13 +7640,11 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8194,19 +7670,16 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8232,13 +7705,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8264,727 +7735,606 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-mmx.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9035,6 +8385,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9279,7 +8637,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9605,7 +8962,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9651,7 +9007,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9717,7 +9072,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9742,7 +9096,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9840,7 +9193,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9890,18 +9242,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9912,6 +9261,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9975,10 +9328,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10007,6 +9356,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10271,6 +9624,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15226,7 +14580,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15234,6 +14587,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15461,6 +14815,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15563,10 +14925,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15595,6 +14953,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/aes/aes-586.s b/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/aes/aes-586.s deleted file mode 100644 index 5e231470937c9d..00000000000000 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/aes/aes-586.s +++ /dev/null @@ -1,3207 +0,0 @@ -.text -.align 4 -__x86_AES_encrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 4,0x90 -L000loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ecx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ecx,%edi - xorl %esi,%ecx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ecx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%ecx - andl %edx,%ebp - leal (%edx,%edx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %edx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %edx,%edi - xorl %esi,%edx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%edx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%edx - andl %eax,%ebp - leal (%eax,%eax,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %eax,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %eax,%edi - xorl %esi,%eax - rorl $24,%edi - xorl %ebp,%esi - roll $24,%eax - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%eax - andl %ebx,%ebp - leal (%ebx,%ebx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ebx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ebx,%edi - xorl %esi,%ebx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ebx - xorl %edi,%esi - xorl %esi,%ebx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L000loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.align 4 -__sse_AES_encrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 4,0x90 -L001loop: - pshufw $8,%mm0,%mm1 - pshufw $13,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $13,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $8,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $8,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - movd %mm2,%eax - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - movd %mm6,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $8,%esi - shrl $16,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shrl $16,%eax - movd %ecx,%mm1 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - andl $255,%eax - orl %esi,%ecx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - andl $255,%ebx - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%ecx - shll $16,%eax - movzbl -128(%ebp,%edi,1),%esi - orl %eax,%edx - shll $8,%esi - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - orl %ebx,%edx - movl 20(%esp),%edi - movd %ecx,%mm4 - movd %edx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja L002out - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - movq %mm0,%mm1 - movq %mm4,%mm5 - pcmpgtb %mm0,%mm3 - pcmpgtb %mm4,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - pshufw $177,%mm0,%mm2 - pshufw $177,%mm4,%mm6 - paddb %mm0,%mm0 - paddb %mm4,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pshufw $177,%mm2,%mm3 - pshufw $177,%mm6,%mm7 - pxor %mm0,%mm1 - pxor %mm4,%mm5 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm3,%mm2 - movq %mm7,%mm6 - pslld $8,%mm3 - pslld $8,%mm7 - psrld $24,%mm2 - psrld $24,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - psrld $8,%mm1 - psrld $8,%mm5 - movl -128(%ebp),%eax - pslld $24,%mm3 - pslld $24,%mm7 - movl -64(%ebp),%ebx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl (%ebp),%ecx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl 64(%ebp),%edx - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp L001loop -.align 4,0x90 -L002out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.align 4 -__x86_AES_encrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 4,0x90 -L003loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl (%ebp,%esi,8),%esi - movzbl %ch,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movzbl %bh,%edi - xorl 1(%ebp,%edi,8),%esi - movl 20(%esp),%edi - movl (%ebp,%edx,8),%edx - movzbl %ah,%eax - xorl 3(%ebp,%eax,8),%edx - movl 4(%esp),%eax - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - xorl 1(%ebp,%ecx,8),%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L003loop - movl %eax,%esi - andl $255,%esi - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %bh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %ch,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %dh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movzbl %bh,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movl 2(%ebp,%edx,8),%edx - andl $255,%edx - movzbl %ah,%eax - movl (%ebp,%eax,8),%eax - andl $65280,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movl (%ebp,%ebx,8),%ebx - andl $16711680,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movl 2(%ebp,%ecx,8),%ecx - andl $4278190080,%ecx - xorl %ecx,%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 6,0x90 -LAES_Te: -.long 2774754246,2774754246 -.long 2222750968,2222750968 -.long 2574743534,2574743534 -.long 2373680118,2373680118 -.long 234025727,234025727 -.long 3177933782,3177933782 -.long 2976870366,2976870366 -.long 1422247313,1422247313 -.long 1345335392,1345335392 -.long 50397442,50397442 -.long 2842126286,2842126286 -.long 2099981142,2099981142 -.long 436141799,436141799 -.long 1658312629,1658312629 -.long 3870010189,3870010189 -.long 2591454956,2591454956 -.long 1170918031,1170918031 -.long 2642575903,2642575903 -.long 1086966153,1086966153 -.long 2273148410,2273148410 -.long 368769775,368769775 -.long 3948501426,3948501426 -.long 3376891790,3376891790 -.long 200339707,200339707 -.long 3970805057,3970805057 -.long 1742001331,1742001331 -.long 4255294047,4255294047 -.long 3937382213,3937382213 -.long 3214711843,3214711843 -.long 4154762323,4154762323 -.long 2524082916,2524082916 -.long 1539358875,1539358875 -.long 3266819957,3266819957 -.long 486407649,486407649 -.long 2928907069,2928907069 -.long 1780885068,1780885068 -.long 1513502316,1513502316 -.long 1094664062,1094664062 -.long 49805301,49805301 -.long 1338821763,1338821763 -.long 1546925160,1546925160 -.long 4104496465,4104496465 -.long 887481809,887481809 -.long 150073849,150073849 -.long 2473685474,2473685474 -.long 1943591083,1943591083 -.long 1395732834,1395732834 -.long 1058346282,1058346282 -.long 201589768,201589768 -.long 1388824469,1388824469 -.long 1696801606,1696801606 -.long 1589887901,1589887901 -.long 672667696,672667696 -.long 2711000631,2711000631 -.long 251987210,251987210 -.long 3046808111,3046808111 -.long 151455502,151455502 -.long 907153956,907153956 -.long 2608889883,2608889883 -.long 1038279391,1038279391 -.long 652995533,652995533 -.long 1764173646,1764173646 -.long 3451040383,3451040383 -.long 2675275242,2675275242 -.long 453576978,453576978 -.long 2659418909,2659418909 -.long 1949051992,1949051992 -.long 773462580,773462580 -.long 756751158,756751158 -.long 2993581788,2993581788 -.long 3998898868,3998898868 -.long 4221608027,4221608027 -.long 4132590244,4132590244 -.long 1295727478,1295727478 -.long 1641469623,1641469623 -.long 3467883389,3467883389 -.long 2066295122,2066295122 -.long 1055122397,1055122397 -.long 1898917726,1898917726 -.long 2542044179,2542044179 -.long 4115878822,4115878822 -.long 1758581177,1758581177 -.long 0,0 -.long 753790401,753790401 -.long 1612718144,1612718144 -.long 536673507,536673507 -.long 3367088505,3367088505 -.long 3982187446,3982187446 -.long 3194645204,3194645204 -.long 1187761037,1187761037 -.long 3653156455,3653156455 -.long 1262041458,1262041458 -.long 3729410708,3729410708 -.long 3561770136,3561770136 -.long 3898103984,3898103984 -.long 1255133061,1255133061 -.long 1808847035,1808847035 -.long 720367557,720367557 -.long 3853167183,3853167183 -.long 385612781,385612781 -.long 3309519750,3309519750 -.long 3612167578,3612167578 -.long 1429418854,1429418854 -.long 2491778321,2491778321 -.long 3477423498,3477423498 -.long 284817897,284817897 -.long 100794884,100794884 -.long 2172616702,2172616702 -.long 4031795360,4031795360 -.long 1144798328,1144798328 -.long 3131023141,3131023141 -.long 3819481163,3819481163 -.long 4082192802,4082192802 -.long 4272137053,4272137053 -.long 3225436288,3225436288 -.long 2324664069,2324664069 -.long 2912064063,2912064063 -.long 3164445985,3164445985 -.long 1211644016,1211644016 -.long 83228145,83228145 -.long 3753688163,3753688163 -.long 3249976951,3249976951 -.long 1977277103,1977277103 -.long 1663115586,1663115586 -.long 806359072,806359072 -.long 452984805,452984805 -.long 250868733,250868733 -.long 1842533055,1842533055 -.long 1288555905,1288555905 -.long 336333848,336333848 -.long 890442534,890442534 -.long 804056259,804056259 -.long 3781124030,3781124030 -.long 2727843637,2727843637 -.long 3427026056,3427026056 -.long 957814574,957814574 -.long 1472513171,1472513171 -.long 4071073621,4071073621 -.long 2189328124,2189328124 -.long 1195195770,1195195770 -.long 2892260552,2892260552 -.long 3881655738,3881655738 -.long 723065138,723065138 -.long 2507371494,2507371494 -.long 2690670784,2690670784 -.long 2558624025,2558624025 -.long 3511635870,3511635870 -.long 2145180835,2145180835 -.long 1713513028,1713513028 -.long 2116692564,2116692564 -.long 2878378043,2878378043 -.long 2206763019,2206763019 -.long 3393603212,3393603212 -.long 703524551,703524551 -.long 3552098411,3552098411 -.long 1007948840,1007948840 -.long 2044649127,2044649127 -.long 3797835452,3797835452 -.long 487262998,487262998 -.long 1994120109,1994120109 -.long 1004593371,1004593371 -.long 1446130276,1446130276 -.long 1312438900,1312438900 -.long 503974420,503974420 -.long 3679013266,3679013266 -.long 168166924,168166924 -.long 1814307912,1814307912 -.long 3831258296,3831258296 -.long 1573044895,1573044895 -.long 1859376061,1859376061 -.long 4021070915,4021070915 -.long 2791465668,2791465668 -.long 2828112185,2828112185 -.long 2761266481,2761266481 -.long 937747667,937747667 -.long 2339994098,2339994098 -.long 854058965,854058965 -.long 1137232011,1137232011 -.long 1496790894,1496790894 -.long 3077402074,3077402074 -.long 2358086913,2358086913 -.long 1691735473,1691735473 -.long 3528347292,3528347292 -.long 3769215305,3769215305 -.long 3027004632,3027004632 -.long 4199962284,4199962284 -.long 133494003,133494003 -.long 636152527,636152527 -.long 2942657994,2942657994 -.long 2390391540,2390391540 -.long 3920539207,3920539207 -.long 403179536,403179536 -.long 3585784431,3585784431 -.long 2289596656,2289596656 -.long 1864705354,1864705354 -.long 1915629148,1915629148 -.long 605822008,605822008 -.long 4054230615,4054230615 -.long 3350508659,3350508659 -.long 1371981463,1371981463 -.long 602466507,602466507 -.long 2094914977,2094914977 -.long 2624877800,2624877800 -.long 555687742,555687742 -.long 3712699286,3712699286 -.long 3703422305,3703422305 -.long 2257292045,2257292045 -.long 2240449039,2240449039 -.long 2423288032,2423288032 -.long 1111375484,1111375484 -.long 3300242801,3300242801 -.long 2858837708,2858837708 -.long 3628615824,3628615824 -.long 84083462,84083462 -.long 32962295,32962295 -.long 302911004,302911004 -.long 2741068226,2741068226 -.long 1597322602,1597322602 -.long 4183250862,4183250862 -.long 3501832553,3501832553 -.long 2441512471,2441512471 -.long 1489093017,1489093017 -.long 656219450,656219450 -.long 3114180135,3114180135 -.long 954327513,954327513 -.long 335083755,335083755 -.long 3013122091,3013122091 -.long 856756514,856756514 -.long 3144247762,3144247762 -.long 1893325225,1893325225 -.long 2307821063,2307821063 -.long 2811532339,2811532339 -.long 3063651117,3063651117 -.long 572399164,572399164 -.long 2458355477,2458355477 -.long 552200649,552200649 -.long 1238290055,1238290055 -.long 4283782570,4283782570 -.long 2015897680,2015897680 -.long 2061492133,2061492133 -.long 2408352771,2408352771 -.long 4171342169,4171342169 -.long 2156497161,2156497161 -.long 386731290,386731290 -.long 3669999461,3669999461 -.long 837215959,837215959 -.long 3326231172,3326231172 -.long 3093850320,3093850320 -.long 3275833730,3275833730 -.long 2962856233,2962856233 -.long 1999449434,1999449434 -.long 286199582,286199582 -.long 3417354363,3417354363 -.long 4233385128,4233385128 -.long 3602627437,3602627437 -.long 974525996,974525996 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.long 1,2,4,8 -.long 16,32,64,128 -.long 27,54,0,0 -.long 0,0,0,0 -.globl _AES_encrypt -.align 4 -_AES_encrypt: -L_AES_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call L004pic_point -L004pic_point: - popl %ebp - movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L004pic_point(%ebp),%eax - leal LAES_Te-L004pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc L005x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call __sse_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4,0x90 -L005x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call __x86_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4 -__x86_AES_decrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 4,0x90 -L006loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%eax - subl %edi,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %ecx,%eax - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ecx,%ebx - roll $8,%ecx - xorl %esi,%ebp - xorl %eax,%ecx - xorl %ebp,%eax - xorl %ebx,%ecx - xorl %ebp,%ebx - roll $24,%eax - xorl %ebp,%ecx - roll $16,%ebx - xorl %eax,%ecx - roll $8,%ebp - xorl %ebx,%ecx - movl 4(%esp),%eax - xorl %ebp,%ecx - movl %ecx,12(%esp) - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %edx,%ebx - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %edx,%ecx - roll $8,%edx - xorl %esi,%ebp - xorl %ebx,%edx - xorl %ebp,%ebx - xorl %ecx,%edx - xorl %ebp,%ecx - roll $24,%ebx - xorl %ebp,%edx - roll $16,%ecx - xorl %ebx,%edx - roll $8,%ebp - xorl %ecx,%edx - movl 8(%esp),%ebx - xorl %ebp,%edx - movl %edx,16(%esp) - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %eax,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %eax,%edx - roll $8,%eax - xorl %esi,%ebp - xorl %ecx,%eax - xorl %ebp,%ecx - xorl %edx,%eax - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%eax - roll $16,%edx - xorl %ecx,%eax - roll $8,%ebp - xorl %edx,%eax - xorl %ebp,%eax - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ebx,%edx - roll $8,%ebx - xorl %esi,%ebp - xorl %ecx,%ebx - xorl %ebp,%ecx - xorl %edx,%ebx - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%ebp - xorl %edx,%ebx - movl 12(%esp),%ecx - xorl %ebp,%ebx - movl 16(%esp),%edx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L006loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.align 4 -__sse_AES_decrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 4,0x90 -L007loop: - pshufw $12,%mm0,%mm1 - pshufw $9,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $6,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $3,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movd %mm2,%eax - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $16,%esi - movd %mm6,%ebx - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %al,%edi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $16,%esi - shrl $16,%eax - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shrl $16,%ebx - shll $8,%esi - movd %edx,%mm1 - movzbl -128(%ebp,%edi,1),%edx - movzbl %bh,%edi - shll $24,%edx - andl $255,%ebx - orl %esi,%edx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movzbl %ah,%eax - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - orl %ebx,%edx - shll $16,%esi - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%edx - shll $24,%eax - orl %eax,%ecx - movl 20(%esp),%edi - movd %edx,%mm4 - movd %ecx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja L008out - movq %mm0,%mm3 - movq %mm4,%mm7 - pshufw $228,%mm0,%mm2 - pshufw $228,%mm4,%mm6 - movq %mm0,%mm1 - movq %mm4,%mm5 - pshufw $177,%mm0,%mm0 - pshufw $177,%mm4,%mm4 - pslld $8,%mm2 - pslld $8,%mm6 - psrld $8,%mm3 - psrld $8,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pslld $16,%mm2 - pslld $16,%mm6 - psrld $16,%mm3 - psrld $16,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movq 8(%esp),%mm3 - pxor %mm2,%mm2 - pxor %mm6,%mm6 - pcmpgtb %mm1,%mm2 - pcmpgtb %mm5,%mm6 - pand %mm3,%mm2 - pand %mm3,%mm6 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm2,%mm1 - pxor %mm6,%mm5 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq %mm1,%mm2 - movq %mm5,%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pslld $24,%mm3 - pslld $24,%mm7 - psrld $8,%mm2 - psrld $8,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pshufw $177,%mm1,%mm3 - pshufw $177,%mm5,%mm7 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - pshufw $177,%mm1,%mm2 - pshufw $177,%mm5,%mm6 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pslld $8,%mm1 - pslld $8,%mm5 - psrld $8,%mm3 - psrld $8,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl -128(%ebp),%eax - pslld $16,%mm1 - pslld $16,%mm5 - movl -64(%ebp),%ebx - psrld $16,%mm3 - psrld $16,%mm7 - movl (%ebp),%ecx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl 64(%ebp),%edx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp L007loop -.align 4,0x90 -L008out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.align 4 -__x86_AES_decrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 4,0x90 -L009loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ebx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %ah,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl 20(%esp),%edi - andl $255,%edx - movl (%ebp,%edx,8),%edx - movzbl %ch,%ecx - xorl 3(%ebp,%ecx,8),%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - shrl $24,%eax - xorl 1(%ebp,%eax,8),%edx - movl 4(%esp),%eax - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L009loop - leal 2176(%ebp),%ebp - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi - leal -128(%ebp),%ebp - movl %eax,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl (%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl (%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl (%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl (%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - leal -2048(%ebp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 6,0x90 -LAES_Td: -.long 1353184337,1353184337 -.long 1399144830,1399144830 -.long 3282310938,3282310938 -.long 2522752826,2522752826 -.long 3412831035,3412831035 -.long 4047871263,4047871263 -.long 2874735276,2874735276 -.long 2466505547,2466505547 -.long 1442459680,1442459680 -.long 4134368941,4134368941 -.long 2440481928,2440481928 -.long 625738485,625738485 -.long 4242007375,4242007375 -.long 3620416197,3620416197 -.long 2151953702,2151953702 -.long 2409849525,2409849525 -.long 1230680542,1230680542 -.long 1729870373,1729870373 -.long 2551114309,2551114309 -.long 3787521629,3787521629 -.long 41234371,41234371 -.long 317738113,317738113 -.long 2744600205,2744600205 -.long 3338261355,3338261355 -.long 3881799427,3881799427 -.long 2510066197,2510066197 -.long 3950669247,3950669247 -.long 3663286933,3663286933 -.long 763608788,763608788 -.long 3542185048,3542185048 -.long 694804553,694804553 -.long 1154009486,1154009486 -.long 1787413109,1787413109 -.long 2021232372,2021232372 -.long 1799248025,1799248025 -.long 3715217703,3715217703 -.long 3058688446,3058688446 -.long 397248752,397248752 -.long 1722556617,1722556617 -.long 3023752829,3023752829 -.long 407560035,407560035 -.long 2184256229,2184256229 -.long 1613975959,1613975959 -.long 1165972322,1165972322 -.long 3765920945,3765920945 -.long 2226023355,2226023355 -.long 480281086,480281086 -.long 2485848313,2485848313 -.long 1483229296,1483229296 -.long 436028815,436028815 -.long 2272059028,2272059028 -.long 3086515026,3086515026 -.long 601060267,601060267 -.long 3791801202,3791801202 -.long 1468997603,1468997603 -.long 715871590,715871590 -.long 120122290,120122290 -.long 63092015,63092015 -.long 2591802758,2591802758 -.long 2768779219,2768779219 -.long 4068943920,4068943920 -.long 2997206819,2997206819 -.long 3127509762,3127509762 -.long 1552029421,1552029421 -.long 723308426,723308426 -.long 2461301159,2461301159 -.long 4042393587,4042393587 -.long 2715969870,2715969870 -.long 3455375973,3455375973 -.long 3586000134,3586000134 -.long 526529745,526529745 -.long 2331944644,2331944644 -.long 2639474228,2639474228 -.long 2689987490,2689987490 -.long 853641733,853641733 -.long 1978398372,1978398372 -.long 971801355,971801355 -.long 2867814464,2867814464 -.long 111112542,111112542 -.long 1360031421,1360031421 -.long 4186579262,4186579262 -.long 1023860118,1023860118 -.long 2919579357,2919579357 -.long 1186850381,1186850381 -.long 3045938321,3045938321 -.long 90031217,90031217 -.long 1876166148,1876166148 -.long 4279586912,4279586912 -.long 620468249,620468249 -.long 2548678102,2548678102 -.long 3426959497,3426959497 -.long 2006899047,2006899047 -.long 3175278768,3175278768 -.long 2290845959,2290845959 -.long 945494503,945494503 -.long 3689859193,3689859193 -.long 1191869601,1191869601 -.long 3910091388,3910091388 -.long 3374220536,3374220536 -.long 0,0 -.long 2206629897,2206629897 -.long 1223502642,1223502642 -.long 2893025566,2893025566 -.long 1316117100,1316117100 -.long 4227796733,4227796733 -.long 1446544655,1446544655 -.long 517320253,517320253 -.long 658058550,658058550 -.long 1691946762,1691946762 -.long 564550760,564550760 -.long 3511966619,3511966619 -.long 976107044,976107044 -.long 2976320012,2976320012 -.long 266819475,266819475 -.long 3533106868,3533106868 -.long 2660342555,2660342555 -.long 1338359936,1338359936 -.long 2720062561,2720062561 -.long 1766553434,1766553434 -.long 370807324,370807324 -.long 179999714,179999714 -.long 3844776128,3844776128 -.long 1138762300,1138762300 -.long 488053522,488053522 -.long 185403662,185403662 -.long 2915535858,2915535858 -.long 3114841645,3114841645 -.long 3366526484,3366526484 -.long 2233069911,2233069911 -.long 1275557295,1275557295 -.long 3151862254,3151862254 -.long 4250959779,4250959779 -.long 2670068215,2670068215 -.long 3170202204,3170202204 -.long 3309004356,3309004356 -.long 880737115,880737115 -.long 1982415755,1982415755 -.long 3703972811,3703972811 -.long 1761406390,1761406390 -.long 1676797112,1676797112 -.long 3403428311,3403428311 -.long 277177154,277177154 -.long 1076008723,1076008723 -.long 538035844,538035844 -.long 2099530373,2099530373 -.long 4164795346,4164795346 -.long 288553390,288553390 -.long 1839278535,1839278535 -.long 1261411869,1261411869 -.long 4080055004,4080055004 -.long 3964831245,3964831245 -.long 3504587127,3504587127 -.long 1813426987,1813426987 -.long 2579067049,2579067049 -.long 4199060497,4199060497 -.long 577038663,577038663 -.long 3297574056,3297574056 -.long 440397984,440397984 -.long 3626794326,3626794326 -.long 4019204898,4019204898 -.long 3343796615,3343796615 -.long 3251714265,3251714265 -.long 4272081548,4272081548 -.long 906744984,906744984 -.long 3481400742,3481400742 -.long 685669029,685669029 -.long 646887386,646887386 -.long 2764025151,2764025151 -.long 3835509292,3835509292 -.long 227702864,227702864 -.long 2613862250,2613862250 -.long 1648787028,1648787028 -.long 3256061430,3256061430 -.long 3904428176,3904428176 -.long 1593260334,1593260334 -.long 4121936770,4121936770 -.long 3196083615,3196083615 -.long 2090061929,2090061929 -.long 2838353263,2838353263 -.long 3004310991,3004310991 -.long 999926984,999926984 -.long 2809993232,2809993232 -.long 1852021992,1852021992 -.long 2075868123,2075868123 -.long 158869197,158869197 -.long 4095236462,4095236462 -.long 28809964,28809964 -.long 2828685187,2828685187 -.long 1701746150,1701746150 -.long 2129067946,2129067946 -.long 147831841,147831841 -.long 3873969647,3873969647 -.long 3650873274,3650873274 -.long 3459673930,3459673930 -.long 3557400554,3557400554 -.long 3598495785,3598495785 -.long 2947720241,2947720241 -.long 824393514,824393514 -.long 815048134,815048134 -.long 3227951669,3227951669 -.long 935087732,935087732 -.long 2798289660,2798289660 -.long 2966458592,2966458592 -.long 366520115,366520115 -.long 1251476721,1251476721 -.long 4158319681,4158319681 -.long 240176511,240176511 -.long 804688151,804688151 -.long 2379631990,2379631990 -.long 1303441219,1303441219 -.long 1414376140,1414376140 -.long 3741619940,3741619940 -.long 3820343710,3820343710 -.long 461924940,461924940 -.long 3089050817,3089050817 -.long 2136040774,2136040774 -.long 82468509,82468509 -.long 1563790337,1563790337 -.long 1937016826,1937016826 -.long 776014843,776014843 -.long 1511876531,1511876531 -.long 1389550482,1389550482 -.long 861278441,861278441 -.long 323475053,323475053 -.long 2355222426,2355222426 -.long 2047648055,2047648055 -.long 2383738969,2383738969 -.long 2302415851,2302415851 -.long 3995576782,3995576782 -.long 902390199,902390199 -.long 3991215329,3991215329 -.long 1018251130,1018251130 -.long 1507840668,1507840668 -.long 1064563285,1064563285 -.long 2043548696,2043548696 -.long 3208103795,3208103795 -.long 3939366739,3939366739 -.long 1537932639,1537932639 -.long 342834655,342834655 -.long 2262516856,2262516856 -.long 2180231114,2180231114 -.long 1053059257,1053059257 -.long 741614648,741614648 -.long 1598071746,1598071746 -.long 1925389590,1925389590 -.long 203809468,203809468 -.long 2336832552,2336832552 -.long 1100287487,1100287487 -.long 1895934009,1895934009 -.long 3736275976,3736275976 -.long 2632234200,2632234200 -.long 2428589668,2428589668 -.long 1636092795,1636092795 -.long 1890988757,1890988757 -.long 1952214088,1952214088 -.long 1113045200,1113045200 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.globl _AES_decrypt -.align 4 -_AES_decrypt: -L_AES_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call L010pic_point -L010pic_point: - popl %ebp - movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L010pic_point(%ebp),%eax - leal LAES_Td-L010pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc L011x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call __sse_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4,0x90 -L011x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call __x86_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _AES_cbc_encrypt -.align 4 -_AES_cbc_encrypt: -L_AES_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%ecx - cmpl $0,%ecx - je L012drop_out - call L013pic_point -L013pic_point: - popl %ebp - movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L013pic_point(%ebp),%eax - cmpl $0,40(%esp) - leal LAES_Te-L013pic_point(%ebp),%ebp - jne L014picked_te - leal LAES_Td-LAES_Te(%ebp),%ebp -L014picked_te: - pushfl - cld - cmpl $512,%ecx - jb L015slow_way - testl $15,%ecx - jnz L015slow_way - btl $28,(%eax) - jc L015slow_way - leal -324(%esp),%esi - andl $-64,%esi - movl %ebp,%eax - leal 2304(%ebp),%ebx - movl %esi,%edx - andl $4095,%eax - andl $4095,%ebx - andl $4095,%edx - cmpl %ebx,%edx - jb L016tbl_break_out - subl %ebx,%edx - subl %edx,%esi - jmp L017tbl_ok -.align 2,0x90 -L016tbl_break_out: - subl %eax,%edx - andl $4095,%edx - addl $384,%edx - subl %edx,%esi -.align 2,0x90 -L017tbl_ok: - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 12(%edx),%edi - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl $0,316(%esp) - movl %edi,%ebx - movl $61,%ecx - subl %ebp,%ebx - movl %edi,%esi - andl $4095,%ebx - leal 76(%esp),%edi - cmpl $2304,%ebx - jb L018do_copy - cmpl $3852,%ebx - jb L019skip_copy -.align 2,0x90 -L018do_copy: - movl %edi,44(%esp) -.long 2784229001 -L019skip_copy: - movl $16,%edi -.align 2,0x90 -L020prefetch_tbl: - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%esi - leal 128(%ebp),%ebp - subl $1,%edi - jnz L020prefetch_tbl - subl $2048,%ebp - movl 32(%esp),%esi - movl 48(%esp),%edi - cmpl $0,%edx - je L021fast_decrypt - movl (%edi),%eax - movl 4(%edi),%ebx -.align 4,0x90 -L022fast_enc_loop: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_encrypt - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - leal 16(%esi),%esi - movl 40(%esp),%ecx - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L022fast_enc_loop - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - cmpl $0,316(%esp) - movl 44(%esp),%edi - je L023skip_ezero - movl $60,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2884892297 -L023skip_ezero: - movl 28(%esp),%esp - popfl -L012drop_out: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L021fast_decrypt: - cmpl 36(%esp),%esi - je L024fast_dec_in_place - movl %edi,52(%esp) -.align 2,0x90 -.align 4,0x90 -L025fast_dec_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_decrypt - movl 52(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 36(%esp),%edi - movl 32(%esp),%esi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl %esi,52(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edi - movl %edi,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L025fast_dec_loop - movl 52(%esp),%edi - movl 48(%esp),%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - jmp L026fast_dec_out -.align 4,0x90 -L024fast_dec_in_place: -L027fast_dec_in_place_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call __x86_AES_decrypt - movl 48(%esp),%edi - movl 36(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L027fast_dec_in_place_loop -.align 2,0x90 -L026fast_dec_out: - cmpl $0,316(%esp) - movl 44(%esp),%edi - je L028skip_dzero - movl $60,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2884892297 -L028skip_dzero: - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L015slow_way: - movl (%eax),%eax - movl 36(%esp),%edi - leal -80(%esp),%esi - andl $-64,%esi - leal -143(%edi),%ebx - subl %esi,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esi - leal 768(%esi),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl %eax,52(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl %esi,%edi - movl %eax,%esi - cmpl $0,%edx - je L029slow_decrypt - cmpl $16,%ecx - movl %ebx,%edx - jb L030slow_enc_tail - btl $25,52(%esp) - jnc L031slow_enc_x86 - movq (%edi),%mm0 - movq 8(%edi),%mm4 -.align 4,0x90 -L032slow_enc_loop_sse: - pxor (%esi),%mm0 - pxor 8(%esi),%mm4 - movl 44(%esp),%edi - call __sse_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl 40(%esp),%ecx - movq %mm0,(%edi) - movq %mm4,8(%edi) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae L032slow_enc_loop_sse - testl $15,%ecx - jnz L030slow_enc_tail - movl 48(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L031slow_enc_x86: - movl (%edi),%eax - movl 4(%edi),%ebx -.align 2,0x90 -L033slow_enc_loop_x86: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae L033slow_enc_loop_x86 - testl $15,%ecx - jnz L030slow_enc_tail - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L030slow_enc_tail: - emms - movl %edx,%edi - movl $16,%ebx - subl %ecx,%ebx - cmpl %esi,%edi - je L034enc_in_place -.align 2,0x90 -.long 2767451785 - jmp L035enc_skip_in_place -L034enc_in_place: - leal (%edi,%ecx,1),%edi -L035enc_skip_in_place: - movl %ebx,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2868115081 - movl 48(%esp),%edi - movl %edx,%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl $16,40(%esp) - jmp L033slow_enc_loop_x86 -.align 4,0x90 -L029slow_decrypt: - btl $25,52(%esp) - jnc L036slow_dec_loop_x86 -.align 2,0x90 -L037slow_dec_loop_sse: - movq (%esi),%mm0 - movq 8(%esi),%mm4 - movl 44(%esp),%edi - call __sse_AES_decrypt_compact - movl 32(%esp),%esi - leal 60(%esp),%eax - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl 48(%esp),%edi - movq (%esi),%mm1 - movq 8(%esi),%mm5 - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movq %mm1,(%edi) - movq %mm5,8(%edi) - subl $16,%ecx - jc L038slow_dec_partial_sse - movq %mm0,(%ebx) - movq %mm4,8(%ebx) - leal 16(%ebx),%ebx - movl %ebx,36(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - movl %ecx,40(%esp) - jnz L037slow_dec_loop_sse - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L038slow_dec_partial_sse: - movq %mm0,(%eax) - movq %mm4,8(%eax) - emms - addl $16,%ecx - movl %ebx,%edi - movl %eax,%esi -.align 2,0x90 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L036slow_dec_loop_x86: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call __x86_AES_decrypt_compact - movl 48(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - subl $16,%esi - jc L039slow_dec_partial_x86 - movl %esi,40(%esp) - movl 36(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - leal 16(%esi),%esi - movl %esi,32(%esp) - jnz L036slow_dec_loop_x86 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L039slow_dec_partial_x86: - leal 60(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 32(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl 36(%esp),%edi - leal 60(%esp),%esi -.align 2,0x90 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4 -__x86_AES_set_encrypt_key: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 24(%esp),%esi - movl 32(%esp),%edi - testl $-1,%esi - jz L040badpointer - testl $-1,%edi - jz L040badpointer - call L041pic_point -L041pic_point: - popl %ebp - leal LAES_Te-L041pic_point(%ebp),%ebp - leal 2176(%ebp),%ebp - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx - movl 28(%esp),%ecx - cmpl $128,%ecx - je L04210rounds - cmpl $192,%ecx - je L04312rounds - cmpl $256,%ecx - je L04414rounds - movl $-2,%eax - jmp L045exit -L04210rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - xorl %ecx,%ecx - jmp L04610shortcut -.align 2,0x90 -L04710loop: - movl (%edi),%eax - movl 12(%edi),%edx -L04610shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,16(%edi) - xorl 4(%edi),%eax - movl %eax,20(%edi) - xorl 8(%edi),%eax - movl %eax,24(%edi) - xorl 12(%edi),%eax - movl %eax,28(%edi) - incl %ecx - addl $16,%edi - cmpl $10,%ecx - jl L04710loop - movl $10,80(%edi) - xorl %eax,%eax - jmp L045exit -L04312rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%ecx - movl 20(%esi),%edx - movl %ecx,16(%edi) - movl %edx,20(%edi) - xorl %ecx,%ecx - jmp L04812shortcut -.align 2,0x90 -L04912loop: - movl (%edi),%eax - movl 20(%edi),%edx -L04812shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,24(%edi) - xorl 4(%edi),%eax - movl %eax,28(%edi) - xorl 8(%edi),%eax - movl %eax,32(%edi) - xorl 12(%edi),%eax - movl %eax,36(%edi) - cmpl $7,%ecx - je L05012break - incl %ecx - xorl 16(%edi),%eax - movl %eax,40(%edi) - xorl 20(%edi),%eax - movl %eax,44(%edi) - addl $24,%edi - jmp L04912loop -L05012break: - movl $12,72(%edi) - xorl %eax,%eax - jmp L045exit -L04414rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - movl %eax,16(%edi) - movl %ebx,20(%edi) - movl %ecx,24(%edi) - movl %edx,28(%edi) - xorl %ecx,%ecx - jmp L05114shortcut -.align 2,0x90 -L05214loop: - movl 28(%edi),%edx -L05114shortcut: - movl (%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,32(%edi) - xorl 4(%edi),%eax - movl %eax,36(%edi) - xorl 8(%edi),%eax - movl %eax,40(%edi) - xorl 12(%edi),%eax - movl %eax,44(%edi) - cmpl $6,%ecx - je L05314break - incl %ecx - movl %eax,%edx - movl 16(%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - movl %eax,48(%edi) - xorl 20(%edi),%eax - movl %eax,52(%edi) - xorl 24(%edi),%eax - movl %eax,56(%edi) - xorl 28(%edi),%eax - movl %eax,60(%edi) - addl $32,%edi - jmp L05214loop -L05314break: - movl $14,48(%edi) - xorl %eax,%eax - jmp L045exit -L040badpointer: - movl $-1,%eax -L045exit: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _AES_set_encrypt_key -.align 4 -_AES_set_encrypt_key: -L_AES_set_encrypt_key_begin: - call __x86_AES_set_encrypt_key - ret -.globl _AES_set_decrypt_key -.align 4 -_AES_set_decrypt_key: -L_AES_set_decrypt_key_begin: - call __x86_AES_set_encrypt_key - cmpl $0,%eax - je L054proceed - ret -L054proceed: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%esi - movl 240(%esi),%ecx - leal (,%ecx,4),%ecx - leal (%esi,%ecx,4),%edi -.align 2,0x90 -L055invert: - movl (%esi),%eax - movl 4(%esi),%ebx - movl (%edi),%ecx - movl 4(%edi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,(%esi) - movl %edx,4(%esi) - movl 8(%esi),%eax - movl 12(%esi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,8(%edi) - movl %ebx,12(%edi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - addl $16,%esi - subl $16,%edi - cmpl %edi,%esi - jne L055invert - movl 28(%esp),%edi - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,28(%esp) - movl 16(%edi),%eax -.align 2,0x90 -L056permute: - addl $16,%edi - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %eax,%ebx - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - xorl %eax,%ecx - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - roll $8,%eax - xorl %esi,%edx - movl 4(%edi),%ebp - xorl %ebx,%eax - xorl %edx,%ebx - xorl %ecx,%eax - roll $24,%ebx - xorl %edx,%ecx - xorl %edx,%eax - roll $16,%ecx - xorl %ebx,%eax - roll $8,%edx - xorl %ecx,%eax - movl %ebp,%ebx - xorl %edx,%eax - movl %eax,(%edi) - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - xorl %ebx,%edx - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - roll $8,%ebx - xorl %esi,%eax - movl 8(%edi),%ebp - xorl %ecx,%ebx - xorl %eax,%ecx - xorl %edx,%ebx - roll $24,%ecx - xorl %eax,%edx - xorl %eax,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%eax - xorl %edx,%ebx - movl %ebp,%ecx - xorl %eax,%ebx - movl %ebx,4(%edi) - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %ecx,%edx - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - xorl %ecx,%eax - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - roll $8,%ecx - xorl %esi,%ebx - movl 12(%edi),%ebp - xorl %edx,%ecx - xorl %ebx,%edx - xorl %eax,%ecx - roll $24,%edx - xorl %ebx,%eax - xorl %ebx,%ecx - roll $16,%eax - xorl %edx,%ecx - roll $8,%ebx - xorl %eax,%ecx - movl %ebp,%edx - xorl %ebx,%ecx - movl %ecx,8(%edi) - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %edx,%eax - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - xorl %edx,%ebx - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - roll $8,%edx - xorl %esi,%ecx - movl 16(%edi),%ebp - xorl %eax,%edx - xorl %ecx,%eax - xorl %ebx,%edx - roll $24,%eax - xorl %ecx,%ebx - xorl %ecx,%edx - roll $16,%ebx - xorl %eax,%edx - roll $8,%ecx - xorl %ebx,%edx - movl %ebp,%eax - xorl %ecx,%edx - movl %edx,12(%edi) - cmpl 28(%esp),%edi - jb L056permute - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.section __IMPORT,__pointers,non_lazy_symbol_pointers -L_OPENSSL_ia32cap_P$non_lazy_ptr: -.indirect_symbol _OPENSSL_ia32cap_P -.long 0 -.comm _OPENSSL_ia32cap_P,16,2 diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/buildinf.h b/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/buildinf.h index abd541341f17ee..c577b784d27053 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin-i386-cc" -#define DATE "built on: Fri Sep 13 15:58:40 2019 UTC" +#define DATE "built on: Wed Mar 18 21:05:40 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -36,11 +36,12 @@ static const char compiler_flags[] = { 'S','H','A','2','5','6','_','A','S','M',' ','-','D','S','H','A', '5','1','2','_','A','S','M',' ','-','D','R','C','4','_','A','S', 'M',' ','-','D','M','D','5','_','A','S','M',' ','-','D','R','M', - 'D','1','6','0','_','A','S','M',' ','-','D','V','P','A','E','S', - '_','A','S','M',' ','-','D','W','H','I','R','L','P','O','O','L', - '_','A','S','M',' ','-','D','G','H','A','S','H','_','A','S','M', - ' ','-','D','E','C','P','_','N','I','S','T','Z','2','5','6','_', - 'A','S','M',' ','-','D','P','O','L','Y','1','3','0','5','_','A', - 'S','M',' ','-','D','_','R','E','E','N','T','R','A','N','T',' ', - '-','D','N','D','E','B','U','G','\0' + 'D','1','6','0','_','A','S','M',' ','-','D','A','E','S','N','I', + '_','A','S','M',' ','-','D','V','P','A','E','S','_','A','S','M', + ' ','-','D','W','H','I','R','L','P','O','O','L','_','A','S','M', + ' ','-','D','G','H','A','S','H','_','A','S','M',' ','-','D','E', + 'C','P','_','N','I','S','T','Z','2','5','6','_','A','S','M',' ', + '-','D','P','O','L','Y','1','3','0','5','_','A','S','M',' ','-', + 'D','_','R','E','E','N','T','R','A','N','T',' ','-','D','N','D', + 'E','B','U','G','\0' }; diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/ec/ecp_nistz256-x86.s b/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/ec/ecp_nistz256-x86.s index a6736904f3f974..891647b7edf847 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/ec/ecp_nistz256-x86.s +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/ec/ecp_nistz256-x86.s @@ -4378,19 +4378,15 @@ L009pic: orl 4(%edi),%eax orl 8(%edi),%eax orl 12(%edi),%eax + movl 576(%esp),%ebx + notl %ebx + orl %ebx,%eax + movl 580(%esp),%ebx + notl %ebx + orl %ebx,%eax + orl 584(%esp),%eax .byte 62 jnz L010add_proceed - movl 576(%esp),%eax - andl 580(%esp),%eax - movl 584(%esp),%ebx - jz L010add_proceed - testl %ebx,%ebx - jz L011add_double - movl 616(%esp),%edi - xorl %eax,%eax - movl $24,%ecx -.byte 252,243,171 - jmp L012add_done .align 4,0x90 L011add_double: movl 620(%esp),%esi diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/include/internal/dso_conf.h index a69309195ed634..e2d05cdbf49656 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".dylib" diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/opensslconf.h index 77a271f9955a27..7602fb815ac093 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/include/progs.h b/deps/openssl/config/archs/darwin-i386-cc/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/include/progs.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/openssl-cl.gypi b/deps/openssl/config/archs/darwin-i386-cc/asm/openssl-cl.gypi index 35d5734b533f73..aa3222e6e6e745 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/openssl-cl.gypi +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/openssl-cl.gypi @@ -15,6 +15,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/openssl.gypi b/deps/openssl/config/archs/darwin-i386-cc/asm/openssl.gypi index 38d1fdcc00e68c..5ff6a9e193ded2 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/openssl.gypi +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/openssl.gypi @@ -712,6 +712,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/configdata.pm b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/configdata.pm index e6aed64bed36d2..a35bca92f08a0d 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/configdata.pm @@ -48,14 +48,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "AESNI_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)../config/fake_gcc.pl", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_MACOSX" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "darwin-i386-cc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -235,6 +235,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -352,8 +353,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -621,14 +622,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -704,6 +697,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1493,6 +1494,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3224,7 +3231,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3232,6 +3238,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3730,14 +3737,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4178,6 +4177,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4860,49 +4867,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4912,7 +4911,6 @@ our %unified_info = ( "crypto/aes/aesni-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4930,13 +4928,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4950,613 +4946,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5570,7 +5464,6 @@ our %unified_info = ( "crypto/bn/bn-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5580,188 +5473,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/co-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5791,25 +5653,21 @@ our %unified_info = ( "crypto/bn/x86-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5819,31 +5677,26 @@ our %unified_info = ( "crypto/camellia/cmll-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5853,31 +5706,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5895,284 +5743,237 @@ our %unified_info = ( "crypto/chacha/chacha-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/crypt586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des-586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6182,295 +5983,246 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6478,7 +6230,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6486,7 +6237,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6494,7 +6244,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6502,7 +6251,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6510,7 +6258,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6518,163 +6265,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6692,235 +6412,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6928,21 +6609,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6950,13 +6628,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6964,81 +6640,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7046,334 +6709,272 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-586.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7383,79 +6984,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7474,7 +7062,6 @@ our %unified_info = ( "crypto/modes/ghash-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7484,361 +7071,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7860,265 +7387,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8128,31 +7611,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8162,13 +7640,11 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8194,19 +7670,16 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8232,13 +7705,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8264,727 +7735,606 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-mmx.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9035,6 +8385,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9279,7 +8637,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9605,7 +8962,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9651,7 +9007,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9717,7 +9072,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9742,7 +9096,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9840,7 +9193,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9890,18 +9242,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9912,6 +9261,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9975,10 +9328,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10007,6 +9356,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10271,6 +9624,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15226,7 +14580,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15234,6 +14587,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15461,6 +14815,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15563,10 +14925,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15595,6 +14953,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/aes/aes-586.s b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/aes/aes-586.s deleted file mode 100644 index 5e231470937c9d..00000000000000 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/aes/aes-586.s +++ /dev/null @@ -1,3207 +0,0 @@ -.text -.align 4 -__x86_AES_encrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 4,0x90 -L000loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ecx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ecx,%edi - xorl %esi,%ecx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ecx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%ecx - andl %edx,%ebp - leal (%edx,%edx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %edx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %edx,%edi - xorl %esi,%edx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%edx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%edx - andl %eax,%ebp - leal (%eax,%eax,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %eax,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %eax,%edi - xorl %esi,%eax - rorl $24,%edi - xorl %ebp,%esi - roll $24,%eax - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%eax - andl %ebx,%ebp - leal (%ebx,%ebx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ebx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ebx,%edi - xorl %esi,%ebx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ebx - xorl %edi,%esi - xorl %esi,%ebx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L000loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.align 4 -__sse_AES_encrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 4,0x90 -L001loop: - pshufw $8,%mm0,%mm1 - pshufw $13,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $13,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $8,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $8,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - movd %mm2,%eax - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - movd %mm6,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $8,%esi - shrl $16,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shrl $16,%eax - movd %ecx,%mm1 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - andl $255,%eax - orl %esi,%ecx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - andl $255,%ebx - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%ecx - shll $16,%eax - movzbl -128(%ebp,%edi,1),%esi - orl %eax,%edx - shll $8,%esi - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - orl %ebx,%edx - movl 20(%esp),%edi - movd %ecx,%mm4 - movd %edx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja L002out - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - movq %mm0,%mm1 - movq %mm4,%mm5 - pcmpgtb %mm0,%mm3 - pcmpgtb %mm4,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - pshufw $177,%mm0,%mm2 - pshufw $177,%mm4,%mm6 - paddb %mm0,%mm0 - paddb %mm4,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pshufw $177,%mm2,%mm3 - pshufw $177,%mm6,%mm7 - pxor %mm0,%mm1 - pxor %mm4,%mm5 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm3,%mm2 - movq %mm7,%mm6 - pslld $8,%mm3 - pslld $8,%mm7 - psrld $24,%mm2 - psrld $24,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - psrld $8,%mm1 - psrld $8,%mm5 - movl -128(%ebp),%eax - pslld $24,%mm3 - pslld $24,%mm7 - movl -64(%ebp),%ebx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl (%ebp),%ecx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl 64(%ebp),%edx - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp L001loop -.align 4,0x90 -L002out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.align 4 -__x86_AES_encrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 4,0x90 -L003loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl (%ebp,%esi,8),%esi - movzbl %ch,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movzbl %bh,%edi - xorl 1(%ebp,%edi,8),%esi - movl 20(%esp),%edi - movl (%ebp,%edx,8),%edx - movzbl %ah,%eax - xorl 3(%ebp,%eax,8),%edx - movl 4(%esp),%eax - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - xorl 1(%ebp,%ecx,8),%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L003loop - movl %eax,%esi - andl $255,%esi - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %bh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %ch,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %dh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movzbl %bh,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movl 2(%ebp,%edx,8),%edx - andl $255,%edx - movzbl %ah,%eax - movl (%ebp,%eax,8),%eax - andl $65280,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movl (%ebp,%ebx,8),%ebx - andl $16711680,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movl 2(%ebp,%ecx,8),%ecx - andl $4278190080,%ecx - xorl %ecx,%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 6,0x90 -LAES_Te: -.long 2774754246,2774754246 -.long 2222750968,2222750968 -.long 2574743534,2574743534 -.long 2373680118,2373680118 -.long 234025727,234025727 -.long 3177933782,3177933782 -.long 2976870366,2976870366 -.long 1422247313,1422247313 -.long 1345335392,1345335392 -.long 50397442,50397442 -.long 2842126286,2842126286 -.long 2099981142,2099981142 -.long 436141799,436141799 -.long 1658312629,1658312629 -.long 3870010189,3870010189 -.long 2591454956,2591454956 -.long 1170918031,1170918031 -.long 2642575903,2642575903 -.long 1086966153,1086966153 -.long 2273148410,2273148410 -.long 368769775,368769775 -.long 3948501426,3948501426 -.long 3376891790,3376891790 -.long 200339707,200339707 -.long 3970805057,3970805057 -.long 1742001331,1742001331 -.long 4255294047,4255294047 -.long 3937382213,3937382213 -.long 3214711843,3214711843 -.long 4154762323,4154762323 -.long 2524082916,2524082916 -.long 1539358875,1539358875 -.long 3266819957,3266819957 -.long 486407649,486407649 -.long 2928907069,2928907069 -.long 1780885068,1780885068 -.long 1513502316,1513502316 -.long 1094664062,1094664062 -.long 49805301,49805301 -.long 1338821763,1338821763 -.long 1546925160,1546925160 -.long 4104496465,4104496465 -.long 887481809,887481809 -.long 150073849,150073849 -.long 2473685474,2473685474 -.long 1943591083,1943591083 -.long 1395732834,1395732834 -.long 1058346282,1058346282 -.long 201589768,201589768 -.long 1388824469,1388824469 -.long 1696801606,1696801606 -.long 1589887901,1589887901 -.long 672667696,672667696 -.long 2711000631,2711000631 -.long 251987210,251987210 -.long 3046808111,3046808111 -.long 151455502,151455502 -.long 907153956,907153956 -.long 2608889883,2608889883 -.long 1038279391,1038279391 -.long 652995533,652995533 -.long 1764173646,1764173646 -.long 3451040383,3451040383 -.long 2675275242,2675275242 -.long 453576978,453576978 -.long 2659418909,2659418909 -.long 1949051992,1949051992 -.long 773462580,773462580 -.long 756751158,756751158 -.long 2993581788,2993581788 -.long 3998898868,3998898868 -.long 4221608027,4221608027 -.long 4132590244,4132590244 -.long 1295727478,1295727478 -.long 1641469623,1641469623 -.long 3467883389,3467883389 -.long 2066295122,2066295122 -.long 1055122397,1055122397 -.long 1898917726,1898917726 -.long 2542044179,2542044179 -.long 4115878822,4115878822 -.long 1758581177,1758581177 -.long 0,0 -.long 753790401,753790401 -.long 1612718144,1612718144 -.long 536673507,536673507 -.long 3367088505,3367088505 -.long 3982187446,3982187446 -.long 3194645204,3194645204 -.long 1187761037,1187761037 -.long 3653156455,3653156455 -.long 1262041458,1262041458 -.long 3729410708,3729410708 -.long 3561770136,3561770136 -.long 3898103984,3898103984 -.long 1255133061,1255133061 -.long 1808847035,1808847035 -.long 720367557,720367557 -.long 3853167183,3853167183 -.long 385612781,385612781 -.long 3309519750,3309519750 -.long 3612167578,3612167578 -.long 1429418854,1429418854 -.long 2491778321,2491778321 -.long 3477423498,3477423498 -.long 284817897,284817897 -.long 100794884,100794884 -.long 2172616702,2172616702 -.long 4031795360,4031795360 -.long 1144798328,1144798328 -.long 3131023141,3131023141 -.long 3819481163,3819481163 -.long 4082192802,4082192802 -.long 4272137053,4272137053 -.long 3225436288,3225436288 -.long 2324664069,2324664069 -.long 2912064063,2912064063 -.long 3164445985,3164445985 -.long 1211644016,1211644016 -.long 83228145,83228145 -.long 3753688163,3753688163 -.long 3249976951,3249976951 -.long 1977277103,1977277103 -.long 1663115586,1663115586 -.long 806359072,806359072 -.long 452984805,452984805 -.long 250868733,250868733 -.long 1842533055,1842533055 -.long 1288555905,1288555905 -.long 336333848,336333848 -.long 890442534,890442534 -.long 804056259,804056259 -.long 3781124030,3781124030 -.long 2727843637,2727843637 -.long 3427026056,3427026056 -.long 957814574,957814574 -.long 1472513171,1472513171 -.long 4071073621,4071073621 -.long 2189328124,2189328124 -.long 1195195770,1195195770 -.long 2892260552,2892260552 -.long 3881655738,3881655738 -.long 723065138,723065138 -.long 2507371494,2507371494 -.long 2690670784,2690670784 -.long 2558624025,2558624025 -.long 3511635870,3511635870 -.long 2145180835,2145180835 -.long 1713513028,1713513028 -.long 2116692564,2116692564 -.long 2878378043,2878378043 -.long 2206763019,2206763019 -.long 3393603212,3393603212 -.long 703524551,703524551 -.long 3552098411,3552098411 -.long 1007948840,1007948840 -.long 2044649127,2044649127 -.long 3797835452,3797835452 -.long 487262998,487262998 -.long 1994120109,1994120109 -.long 1004593371,1004593371 -.long 1446130276,1446130276 -.long 1312438900,1312438900 -.long 503974420,503974420 -.long 3679013266,3679013266 -.long 168166924,168166924 -.long 1814307912,1814307912 -.long 3831258296,3831258296 -.long 1573044895,1573044895 -.long 1859376061,1859376061 -.long 4021070915,4021070915 -.long 2791465668,2791465668 -.long 2828112185,2828112185 -.long 2761266481,2761266481 -.long 937747667,937747667 -.long 2339994098,2339994098 -.long 854058965,854058965 -.long 1137232011,1137232011 -.long 1496790894,1496790894 -.long 3077402074,3077402074 -.long 2358086913,2358086913 -.long 1691735473,1691735473 -.long 3528347292,3528347292 -.long 3769215305,3769215305 -.long 3027004632,3027004632 -.long 4199962284,4199962284 -.long 133494003,133494003 -.long 636152527,636152527 -.long 2942657994,2942657994 -.long 2390391540,2390391540 -.long 3920539207,3920539207 -.long 403179536,403179536 -.long 3585784431,3585784431 -.long 2289596656,2289596656 -.long 1864705354,1864705354 -.long 1915629148,1915629148 -.long 605822008,605822008 -.long 4054230615,4054230615 -.long 3350508659,3350508659 -.long 1371981463,1371981463 -.long 602466507,602466507 -.long 2094914977,2094914977 -.long 2624877800,2624877800 -.long 555687742,555687742 -.long 3712699286,3712699286 -.long 3703422305,3703422305 -.long 2257292045,2257292045 -.long 2240449039,2240449039 -.long 2423288032,2423288032 -.long 1111375484,1111375484 -.long 3300242801,3300242801 -.long 2858837708,2858837708 -.long 3628615824,3628615824 -.long 84083462,84083462 -.long 32962295,32962295 -.long 302911004,302911004 -.long 2741068226,2741068226 -.long 1597322602,1597322602 -.long 4183250862,4183250862 -.long 3501832553,3501832553 -.long 2441512471,2441512471 -.long 1489093017,1489093017 -.long 656219450,656219450 -.long 3114180135,3114180135 -.long 954327513,954327513 -.long 335083755,335083755 -.long 3013122091,3013122091 -.long 856756514,856756514 -.long 3144247762,3144247762 -.long 1893325225,1893325225 -.long 2307821063,2307821063 -.long 2811532339,2811532339 -.long 3063651117,3063651117 -.long 572399164,572399164 -.long 2458355477,2458355477 -.long 552200649,552200649 -.long 1238290055,1238290055 -.long 4283782570,4283782570 -.long 2015897680,2015897680 -.long 2061492133,2061492133 -.long 2408352771,2408352771 -.long 4171342169,4171342169 -.long 2156497161,2156497161 -.long 386731290,386731290 -.long 3669999461,3669999461 -.long 837215959,837215959 -.long 3326231172,3326231172 -.long 3093850320,3093850320 -.long 3275833730,3275833730 -.long 2962856233,2962856233 -.long 1999449434,1999449434 -.long 286199582,286199582 -.long 3417354363,3417354363 -.long 4233385128,4233385128 -.long 3602627437,3602627437 -.long 974525996,974525996 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.long 1,2,4,8 -.long 16,32,64,128 -.long 27,54,0,0 -.long 0,0,0,0 -.globl _AES_encrypt -.align 4 -_AES_encrypt: -L_AES_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call L004pic_point -L004pic_point: - popl %ebp - movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L004pic_point(%ebp),%eax - leal LAES_Te-L004pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc L005x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call __sse_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4,0x90 -L005x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call __x86_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4 -__x86_AES_decrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 4,0x90 -L006loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%eax - subl %edi,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %ecx,%eax - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ecx,%ebx - roll $8,%ecx - xorl %esi,%ebp - xorl %eax,%ecx - xorl %ebp,%eax - xorl %ebx,%ecx - xorl %ebp,%ebx - roll $24,%eax - xorl %ebp,%ecx - roll $16,%ebx - xorl %eax,%ecx - roll $8,%ebp - xorl %ebx,%ecx - movl 4(%esp),%eax - xorl %ebp,%ecx - movl %ecx,12(%esp) - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %edx,%ebx - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %edx,%ecx - roll $8,%edx - xorl %esi,%ebp - xorl %ebx,%edx - xorl %ebp,%ebx - xorl %ecx,%edx - xorl %ebp,%ecx - roll $24,%ebx - xorl %ebp,%edx - roll $16,%ecx - xorl %ebx,%edx - roll $8,%ebp - xorl %ecx,%edx - movl 8(%esp),%ebx - xorl %ebp,%edx - movl %edx,16(%esp) - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %eax,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %eax,%edx - roll $8,%eax - xorl %esi,%ebp - xorl %ecx,%eax - xorl %ebp,%ecx - xorl %edx,%eax - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%eax - roll $16,%edx - xorl %ecx,%eax - roll $8,%ebp - xorl %edx,%eax - xorl %ebp,%eax - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ebx,%edx - roll $8,%ebx - xorl %esi,%ebp - xorl %ecx,%ebx - xorl %ebp,%ecx - xorl %edx,%ebx - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%ebp - xorl %edx,%ebx - movl 12(%esp),%ecx - xorl %ebp,%ebx - movl 16(%esp),%edx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L006loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.align 4 -__sse_AES_decrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 4,0x90 -L007loop: - pshufw $12,%mm0,%mm1 - pshufw $9,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $6,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $3,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movd %mm2,%eax - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $16,%esi - movd %mm6,%ebx - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %al,%edi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $16,%esi - shrl $16,%eax - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shrl $16,%ebx - shll $8,%esi - movd %edx,%mm1 - movzbl -128(%ebp,%edi,1),%edx - movzbl %bh,%edi - shll $24,%edx - andl $255,%ebx - orl %esi,%edx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movzbl %ah,%eax - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - orl %ebx,%edx - shll $16,%esi - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%edx - shll $24,%eax - orl %eax,%ecx - movl 20(%esp),%edi - movd %edx,%mm4 - movd %ecx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja L008out - movq %mm0,%mm3 - movq %mm4,%mm7 - pshufw $228,%mm0,%mm2 - pshufw $228,%mm4,%mm6 - movq %mm0,%mm1 - movq %mm4,%mm5 - pshufw $177,%mm0,%mm0 - pshufw $177,%mm4,%mm4 - pslld $8,%mm2 - pslld $8,%mm6 - psrld $8,%mm3 - psrld $8,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pslld $16,%mm2 - pslld $16,%mm6 - psrld $16,%mm3 - psrld $16,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movq 8(%esp),%mm3 - pxor %mm2,%mm2 - pxor %mm6,%mm6 - pcmpgtb %mm1,%mm2 - pcmpgtb %mm5,%mm6 - pand %mm3,%mm2 - pand %mm3,%mm6 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm2,%mm1 - pxor %mm6,%mm5 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq %mm1,%mm2 - movq %mm5,%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pslld $24,%mm3 - pslld $24,%mm7 - psrld $8,%mm2 - psrld $8,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pshufw $177,%mm1,%mm3 - pshufw $177,%mm5,%mm7 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - pshufw $177,%mm1,%mm2 - pshufw $177,%mm5,%mm6 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pslld $8,%mm1 - pslld $8,%mm5 - psrld $8,%mm3 - psrld $8,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl -128(%ebp),%eax - pslld $16,%mm1 - pslld $16,%mm5 - movl -64(%ebp),%ebx - psrld $16,%mm3 - psrld $16,%mm7 - movl (%ebp),%ecx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl 64(%ebp),%edx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp L007loop -.align 4,0x90 -L008out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.align 4 -__x86_AES_decrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 4,0x90 -L009loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ebx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %ah,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl 20(%esp),%edi - andl $255,%edx - movl (%ebp,%edx,8),%edx - movzbl %ch,%ecx - xorl 3(%ebp,%ecx,8),%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - shrl $24,%eax - xorl 1(%ebp,%eax,8),%edx - movl 4(%esp),%eax - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb L009loop - leal 2176(%ebp),%ebp - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi - leal -128(%ebp),%ebp - movl %eax,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl (%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl (%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl (%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl (%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - leal -2048(%ebp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 6,0x90 -LAES_Td: -.long 1353184337,1353184337 -.long 1399144830,1399144830 -.long 3282310938,3282310938 -.long 2522752826,2522752826 -.long 3412831035,3412831035 -.long 4047871263,4047871263 -.long 2874735276,2874735276 -.long 2466505547,2466505547 -.long 1442459680,1442459680 -.long 4134368941,4134368941 -.long 2440481928,2440481928 -.long 625738485,625738485 -.long 4242007375,4242007375 -.long 3620416197,3620416197 -.long 2151953702,2151953702 -.long 2409849525,2409849525 -.long 1230680542,1230680542 -.long 1729870373,1729870373 -.long 2551114309,2551114309 -.long 3787521629,3787521629 -.long 41234371,41234371 -.long 317738113,317738113 -.long 2744600205,2744600205 -.long 3338261355,3338261355 -.long 3881799427,3881799427 -.long 2510066197,2510066197 -.long 3950669247,3950669247 -.long 3663286933,3663286933 -.long 763608788,763608788 -.long 3542185048,3542185048 -.long 694804553,694804553 -.long 1154009486,1154009486 -.long 1787413109,1787413109 -.long 2021232372,2021232372 -.long 1799248025,1799248025 -.long 3715217703,3715217703 -.long 3058688446,3058688446 -.long 397248752,397248752 -.long 1722556617,1722556617 -.long 3023752829,3023752829 -.long 407560035,407560035 -.long 2184256229,2184256229 -.long 1613975959,1613975959 -.long 1165972322,1165972322 -.long 3765920945,3765920945 -.long 2226023355,2226023355 -.long 480281086,480281086 -.long 2485848313,2485848313 -.long 1483229296,1483229296 -.long 436028815,436028815 -.long 2272059028,2272059028 -.long 3086515026,3086515026 -.long 601060267,601060267 -.long 3791801202,3791801202 -.long 1468997603,1468997603 -.long 715871590,715871590 -.long 120122290,120122290 -.long 63092015,63092015 -.long 2591802758,2591802758 -.long 2768779219,2768779219 -.long 4068943920,4068943920 -.long 2997206819,2997206819 -.long 3127509762,3127509762 -.long 1552029421,1552029421 -.long 723308426,723308426 -.long 2461301159,2461301159 -.long 4042393587,4042393587 -.long 2715969870,2715969870 -.long 3455375973,3455375973 -.long 3586000134,3586000134 -.long 526529745,526529745 -.long 2331944644,2331944644 -.long 2639474228,2639474228 -.long 2689987490,2689987490 -.long 853641733,853641733 -.long 1978398372,1978398372 -.long 971801355,971801355 -.long 2867814464,2867814464 -.long 111112542,111112542 -.long 1360031421,1360031421 -.long 4186579262,4186579262 -.long 1023860118,1023860118 -.long 2919579357,2919579357 -.long 1186850381,1186850381 -.long 3045938321,3045938321 -.long 90031217,90031217 -.long 1876166148,1876166148 -.long 4279586912,4279586912 -.long 620468249,620468249 -.long 2548678102,2548678102 -.long 3426959497,3426959497 -.long 2006899047,2006899047 -.long 3175278768,3175278768 -.long 2290845959,2290845959 -.long 945494503,945494503 -.long 3689859193,3689859193 -.long 1191869601,1191869601 -.long 3910091388,3910091388 -.long 3374220536,3374220536 -.long 0,0 -.long 2206629897,2206629897 -.long 1223502642,1223502642 -.long 2893025566,2893025566 -.long 1316117100,1316117100 -.long 4227796733,4227796733 -.long 1446544655,1446544655 -.long 517320253,517320253 -.long 658058550,658058550 -.long 1691946762,1691946762 -.long 564550760,564550760 -.long 3511966619,3511966619 -.long 976107044,976107044 -.long 2976320012,2976320012 -.long 266819475,266819475 -.long 3533106868,3533106868 -.long 2660342555,2660342555 -.long 1338359936,1338359936 -.long 2720062561,2720062561 -.long 1766553434,1766553434 -.long 370807324,370807324 -.long 179999714,179999714 -.long 3844776128,3844776128 -.long 1138762300,1138762300 -.long 488053522,488053522 -.long 185403662,185403662 -.long 2915535858,2915535858 -.long 3114841645,3114841645 -.long 3366526484,3366526484 -.long 2233069911,2233069911 -.long 1275557295,1275557295 -.long 3151862254,3151862254 -.long 4250959779,4250959779 -.long 2670068215,2670068215 -.long 3170202204,3170202204 -.long 3309004356,3309004356 -.long 880737115,880737115 -.long 1982415755,1982415755 -.long 3703972811,3703972811 -.long 1761406390,1761406390 -.long 1676797112,1676797112 -.long 3403428311,3403428311 -.long 277177154,277177154 -.long 1076008723,1076008723 -.long 538035844,538035844 -.long 2099530373,2099530373 -.long 4164795346,4164795346 -.long 288553390,288553390 -.long 1839278535,1839278535 -.long 1261411869,1261411869 -.long 4080055004,4080055004 -.long 3964831245,3964831245 -.long 3504587127,3504587127 -.long 1813426987,1813426987 -.long 2579067049,2579067049 -.long 4199060497,4199060497 -.long 577038663,577038663 -.long 3297574056,3297574056 -.long 440397984,440397984 -.long 3626794326,3626794326 -.long 4019204898,4019204898 -.long 3343796615,3343796615 -.long 3251714265,3251714265 -.long 4272081548,4272081548 -.long 906744984,906744984 -.long 3481400742,3481400742 -.long 685669029,685669029 -.long 646887386,646887386 -.long 2764025151,2764025151 -.long 3835509292,3835509292 -.long 227702864,227702864 -.long 2613862250,2613862250 -.long 1648787028,1648787028 -.long 3256061430,3256061430 -.long 3904428176,3904428176 -.long 1593260334,1593260334 -.long 4121936770,4121936770 -.long 3196083615,3196083615 -.long 2090061929,2090061929 -.long 2838353263,2838353263 -.long 3004310991,3004310991 -.long 999926984,999926984 -.long 2809993232,2809993232 -.long 1852021992,1852021992 -.long 2075868123,2075868123 -.long 158869197,158869197 -.long 4095236462,4095236462 -.long 28809964,28809964 -.long 2828685187,2828685187 -.long 1701746150,1701746150 -.long 2129067946,2129067946 -.long 147831841,147831841 -.long 3873969647,3873969647 -.long 3650873274,3650873274 -.long 3459673930,3459673930 -.long 3557400554,3557400554 -.long 3598495785,3598495785 -.long 2947720241,2947720241 -.long 824393514,824393514 -.long 815048134,815048134 -.long 3227951669,3227951669 -.long 935087732,935087732 -.long 2798289660,2798289660 -.long 2966458592,2966458592 -.long 366520115,366520115 -.long 1251476721,1251476721 -.long 4158319681,4158319681 -.long 240176511,240176511 -.long 804688151,804688151 -.long 2379631990,2379631990 -.long 1303441219,1303441219 -.long 1414376140,1414376140 -.long 3741619940,3741619940 -.long 3820343710,3820343710 -.long 461924940,461924940 -.long 3089050817,3089050817 -.long 2136040774,2136040774 -.long 82468509,82468509 -.long 1563790337,1563790337 -.long 1937016826,1937016826 -.long 776014843,776014843 -.long 1511876531,1511876531 -.long 1389550482,1389550482 -.long 861278441,861278441 -.long 323475053,323475053 -.long 2355222426,2355222426 -.long 2047648055,2047648055 -.long 2383738969,2383738969 -.long 2302415851,2302415851 -.long 3995576782,3995576782 -.long 902390199,902390199 -.long 3991215329,3991215329 -.long 1018251130,1018251130 -.long 1507840668,1507840668 -.long 1064563285,1064563285 -.long 2043548696,2043548696 -.long 3208103795,3208103795 -.long 3939366739,3939366739 -.long 1537932639,1537932639 -.long 342834655,342834655 -.long 2262516856,2262516856 -.long 2180231114,2180231114 -.long 1053059257,1053059257 -.long 741614648,741614648 -.long 1598071746,1598071746 -.long 1925389590,1925389590 -.long 203809468,203809468 -.long 2336832552,2336832552 -.long 1100287487,1100287487 -.long 1895934009,1895934009 -.long 3736275976,3736275976 -.long 2632234200,2632234200 -.long 2428589668,2428589668 -.long 1636092795,1636092795 -.long 1890988757,1890988757 -.long 1952214088,1952214088 -.long 1113045200,1113045200 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.globl _AES_decrypt -.align 4 -_AES_decrypt: -L_AES_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call L010pic_point -L010pic_point: - popl %ebp - movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L010pic_point(%ebp),%eax - leal LAES_Td-L010pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc L011x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call __sse_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4,0x90 -L011x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call __x86_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _AES_cbc_encrypt -.align 4 -_AES_cbc_encrypt: -L_AES_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%ecx - cmpl $0,%ecx - je L012drop_out - call L013pic_point -L013pic_point: - popl %ebp - movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L013pic_point(%ebp),%eax - cmpl $0,40(%esp) - leal LAES_Te-L013pic_point(%ebp),%ebp - jne L014picked_te - leal LAES_Td-LAES_Te(%ebp),%ebp -L014picked_te: - pushfl - cld - cmpl $512,%ecx - jb L015slow_way - testl $15,%ecx - jnz L015slow_way - btl $28,(%eax) - jc L015slow_way - leal -324(%esp),%esi - andl $-64,%esi - movl %ebp,%eax - leal 2304(%ebp),%ebx - movl %esi,%edx - andl $4095,%eax - andl $4095,%ebx - andl $4095,%edx - cmpl %ebx,%edx - jb L016tbl_break_out - subl %ebx,%edx - subl %edx,%esi - jmp L017tbl_ok -.align 2,0x90 -L016tbl_break_out: - subl %eax,%edx - andl $4095,%edx - addl $384,%edx - subl %edx,%esi -.align 2,0x90 -L017tbl_ok: - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 12(%edx),%edi - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl $0,316(%esp) - movl %edi,%ebx - movl $61,%ecx - subl %ebp,%ebx - movl %edi,%esi - andl $4095,%ebx - leal 76(%esp),%edi - cmpl $2304,%ebx - jb L018do_copy - cmpl $3852,%ebx - jb L019skip_copy -.align 2,0x90 -L018do_copy: - movl %edi,44(%esp) -.long 2784229001 -L019skip_copy: - movl $16,%edi -.align 2,0x90 -L020prefetch_tbl: - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%esi - leal 128(%ebp),%ebp - subl $1,%edi - jnz L020prefetch_tbl - subl $2048,%ebp - movl 32(%esp),%esi - movl 48(%esp),%edi - cmpl $0,%edx - je L021fast_decrypt - movl (%edi),%eax - movl 4(%edi),%ebx -.align 4,0x90 -L022fast_enc_loop: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_encrypt - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - leal 16(%esi),%esi - movl 40(%esp),%ecx - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L022fast_enc_loop - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - cmpl $0,316(%esp) - movl 44(%esp),%edi - je L023skip_ezero - movl $60,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2884892297 -L023skip_ezero: - movl 28(%esp),%esp - popfl -L012drop_out: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L021fast_decrypt: - cmpl 36(%esp),%esi - je L024fast_dec_in_place - movl %edi,52(%esp) -.align 2,0x90 -.align 4,0x90 -L025fast_dec_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_decrypt - movl 52(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 36(%esp),%edi - movl 32(%esp),%esi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl %esi,52(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edi - movl %edi,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L025fast_dec_loop - movl 52(%esp),%edi - movl 48(%esp),%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - jmp L026fast_dec_out -.align 4,0x90 -L024fast_dec_in_place: -L027fast_dec_in_place_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call __x86_AES_decrypt - movl 48(%esp),%edi - movl 36(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz L027fast_dec_in_place_loop -.align 2,0x90 -L026fast_dec_out: - cmpl $0,316(%esp) - movl 44(%esp),%edi - je L028skip_dzero - movl $60,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2884892297 -L028skip_dzero: - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L015slow_way: - movl (%eax),%eax - movl 36(%esp),%edi - leal -80(%esp),%esi - andl $-64,%esi - leal -143(%edi),%ebx - subl %esi,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esi - leal 768(%esi),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl %eax,52(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl %esi,%edi - movl %eax,%esi - cmpl $0,%edx - je L029slow_decrypt - cmpl $16,%ecx - movl %ebx,%edx - jb L030slow_enc_tail - btl $25,52(%esp) - jnc L031slow_enc_x86 - movq (%edi),%mm0 - movq 8(%edi),%mm4 -.align 4,0x90 -L032slow_enc_loop_sse: - pxor (%esi),%mm0 - pxor 8(%esi),%mm4 - movl 44(%esp),%edi - call __sse_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl 40(%esp),%ecx - movq %mm0,(%edi) - movq %mm4,8(%edi) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae L032slow_enc_loop_sse - testl $15,%ecx - jnz L030slow_enc_tail - movl 48(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L031slow_enc_x86: - movl (%edi),%eax - movl 4(%edi),%ebx -.align 2,0x90 -L033slow_enc_loop_x86: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call __x86_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae L033slow_enc_loop_x86 - testl $15,%ecx - jnz L030slow_enc_tail - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L030slow_enc_tail: - emms - movl %edx,%edi - movl $16,%ebx - subl %ecx,%ebx - cmpl %esi,%edi - je L034enc_in_place -.align 2,0x90 -.long 2767451785 - jmp L035enc_skip_in_place -L034enc_in_place: - leal (%edi,%ecx,1),%edi -L035enc_skip_in_place: - movl %ebx,%ecx - xorl %eax,%eax -.align 2,0x90 -.long 2868115081 - movl 48(%esp),%edi - movl %edx,%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl $16,40(%esp) - jmp L033slow_enc_loop_x86 -.align 4,0x90 -L029slow_decrypt: - btl $25,52(%esp) - jnc L036slow_dec_loop_x86 -.align 2,0x90 -L037slow_dec_loop_sse: - movq (%esi),%mm0 - movq 8(%esi),%mm4 - movl 44(%esp),%edi - call __sse_AES_decrypt_compact - movl 32(%esp),%esi - leal 60(%esp),%eax - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl 48(%esp),%edi - movq (%esi),%mm1 - movq 8(%esi),%mm5 - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movq %mm1,(%edi) - movq %mm5,8(%edi) - subl $16,%ecx - jc L038slow_dec_partial_sse - movq %mm0,(%ebx) - movq %mm4,8(%ebx) - leal 16(%ebx),%ebx - movl %ebx,36(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - movl %ecx,40(%esp) - jnz L037slow_dec_loop_sse - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L038slow_dec_partial_sse: - movq %mm0,(%eax) - movq %mm4,8(%eax) - emms - addl $16,%ecx - movl %ebx,%edi - movl %eax,%esi -.align 2,0x90 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L036slow_dec_loop_x86: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call __x86_AES_decrypt_compact - movl 48(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - subl $16,%esi - jc L039slow_dec_partial_x86 - movl %esi,40(%esp) - movl 36(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - leal 16(%esi),%esi - movl %esi,32(%esp) - jnz L036slow_dec_loop_x86 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 4,0x90 -L039slow_dec_partial_x86: - leal 60(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 32(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl 36(%esp),%edi - leal 60(%esp),%esi -.align 2,0x90 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 4 -__x86_AES_set_encrypt_key: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 24(%esp),%esi - movl 32(%esp),%edi - testl $-1,%esi - jz L040badpointer - testl $-1,%edi - jz L040badpointer - call L041pic_point -L041pic_point: - popl %ebp - leal LAES_Te-L041pic_point(%ebp),%ebp - leal 2176(%ebp),%ebp - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx - movl 28(%esp),%ecx - cmpl $128,%ecx - je L04210rounds - cmpl $192,%ecx - je L04312rounds - cmpl $256,%ecx - je L04414rounds - movl $-2,%eax - jmp L045exit -L04210rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - xorl %ecx,%ecx - jmp L04610shortcut -.align 2,0x90 -L04710loop: - movl (%edi),%eax - movl 12(%edi),%edx -L04610shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,16(%edi) - xorl 4(%edi),%eax - movl %eax,20(%edi) - xorl 8(%edi),%eax - movl %eax,24(%edi) - xorl 12(%edi),%eax - movl %eax,28(%edi) - incl %ecx - addl $16,%edi - cmpl $10,%ecx - jl L04710loop - movl $10,80(%edi) - xorl %eax,%eax - jmp L045exit -L04312rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%ecx - movl 20(%esi),%edx - movl %ecx,16(%edi) - movl %edx,20(%edi) - xorl %ecx,%ecx - jmp L04812shortcut -.align 2,0x90 -L04912loop: - movl (%edi),%eax - movl 20(%edi),%edx -L04812shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,24(%edi) - xorl 4(%edi),%eax - movl %eax,28(%edi) - xorl 8(%edi),%eax - movl %eax,32(%edi) - xorl 12(%edi),%eax - movl %eax,36(%edi) - cmpl $7,%ecx - je L05012break - incl %ecx - xorl 16(%edi),%eax - movl %eax,40(%edi) - xorl 20(%edi),%eax - movl %eax,44(%edi) - addl $24,%edi - jmp L04912loop -L05012break: - movl $12,72(%edi) - xorl %eax,%eax - jmp L045exit -L04414rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - movl %eax,16(%edi) - movl %ebx,20(%edi) - movl %ecx,24(%edi) - movl %edx,28(%edi) - xorl %ecx,%ecx - jmp L05114shortcut -.align 2,0x90 -L05214loop: - movl 28(%edi),%edx -L05114shortcut: - movl (%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,32(%edi) - xorl 4(%edi),%eax - movl %eax,36(%edi) - xorl 8(%edi),%eax - movl %eax,40(%edi) - xorl 12(%edi),%eax - movl %eax,44(%edi) - cmpl $6,%ecx - je L05314break - incl %ecx - movl %eax,%edx - movl 16(%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - movl %eax,48(%edi) - xorl 20(%edi),%eax - movl %eax,52(%edi) - xorl 24(%edi),%eax - movl %eax,56(%edi) - xorl 28(%edi),%eax - movl %eax,60(%edi) - addl $32,%edi - jmp L05214loop -L05314break: - movl $14,48(%edi) - xorl %eax,%eax - jmp L045exit -L040badpointer: - movl $-1,%eax -L045exit: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.globl _AES_set_encrypt_key -.align 4 -_AES_set_encrypt_key: -L_AES_set_encrypt_key_begin: - call __x86_AES_set_encrypt_key - ret -.globl _AES_set_decrypt_key -.align 4 -_AES_set_decrypt_key: -L_AES_set_decrypt_key_begin: - call __x86_AES_set_encrypt_key - cmpl $0,%eax - je L054proceed - ret -L054proceed: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%esi - movl 240(%esi),%ecx - leal (,%ecx,4),%ecx - leal (%esi,%ecx,4),%edi -.align 2,0x90 -L055invert: - movl (%esi),%eax - movl 4(%esi),%ebx - movl (%edi),%ecx - movl 4(%edi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,(%esi) - movl %edx,4(%esi) - movl 8(%esi),%eax - movl 12(%esi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,8(%edi) - movl %ebx,12(%edi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - addl $16,%esi - subl $16,%edi - cmpl %edi,%esi - jne L055invert - movl 28(%esp),%edi - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,28(%esp) - movl 16(%edi),%eax -.align 2,0x90 -L056permute: - addl $16,%edi - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %eax,%ebx - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - xorl %eax,%ecx - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - roll $8,%eax - xorl %esi,%edx - movl 4(%edi),%ebp - xorl %ebx,%eax - xorl %edx,%ebx - xorl %ecx,%eax - roll $24,%ebx - xorl %edx,%ecx - xorl %edx,%eax - roll $16,%ecx - xorl %ebx,%eax - roll $8,%edx - xorl %ecx,%eax - movl %ebp,%ebx - xorl %edx,%eax - movl %eax,(%edi) - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - xorl %ebx,%edx - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - roll $8,%ebx - xorl %esi,%eax - movl 8(%edi),%ebp - xorl %ecx,%ebx - xorl %eax,%ecx - xorl %edx,%ebx - roll $24,%ecx - xorl %eax,%edx - xorl %eax,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%eax - xorl %edx,%ebx - movl %ebp,%ecx - xorl %eax,%ebx - movl %ebx,4(%edi) - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %ecx,%edx - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - xorl %ecx,%eax - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - roll $8,%ecx - xorl %esi,%ebx - movl 12(%edi),%ebp - xorl %edx,%ecx - xorl %ebx,%edx - xorl %eax,%ecx - roll $24,%edx - xorl %ebx,%eax - xorl %ebx,%ecx - roll $16,%eax - xorl %edx,%ecx - roll $8,%ebx - xorl %eax,%ecx - movl %ebp,%edx - xorl %ebx,%ecx - movl %ecx,8(%edi) - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %edx,%eax - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - xorl %edx,%ebx - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - roll $8,%edx - xorl %esi,%ecx - movl 16(%edi),%ebp - xorl %eax,%edx - xorl %ecx,%eax - xorl %ebx,%edx - roll $24,%eax - xorl %ecx,%ebx - xorl %ecx,%edx - roll $16,%ebx - xorl %eax,%edx - roll $8,%ecx - xorl %ebx,%edx - movl %ebp,%eax - xorl %ecx,%edx - movl %edx,12(%edi) - cmpl 28(%esp),%edi - jb L056permute - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.section __IMPORT,__pointers,non_lazy_symbol_pointers -L_OPENSSL_ia32cap_P$non_lazy_ptr: -.indirect_symbol _OPENSSL_ia32cap_P -.long 0 -.comm _OPENSSL_ia32cap_P,16,2 diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h index a78ae310fc883b..a925b543a9fac5 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin-i386-cc" -#define DATE "built on: Fri Sep 13 15:58:46 2019 UTC" +#define DATE "built on: Wed Mar 18 21:05:45 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -37,11 +37,12 @@ static const char compiler_flags[] = { '-','D','S','H','A','2','5','6','_','A','S','M',' ','-','D','S', 'H','A','5','1','2','_','A','S','M',' ','-','D','R','C','4','_', 'A','S','M',' ','-','D','M','D','5','_','A','S','M',' ','-','D', - 'R','M','D','1','6','0','_','A','S','M',' ','-','D','V','P','A', - 'E','S','_','A','S','M',' ','-','D','W','H','I','R','L','P','O', - 'O','L','_','A','S','M',' ','-','D','G','H','A','S','H','_','A', - 'S','M',' ','-','D','E','C','P','_','N','I','S','T','Z','2','5', - '6','_','A','S','M',' ','-','D','P','O','L','Y','1','3','0','5', - '_','A','S','M',' ','-','D','_','R','E','E','N','T','R','A','N', - 'T',' ','-','D','N','D','E','B','U','G','\0' + 'R','M','D','1','6','0','_','A','S','M',' ','-','D','A','E','S', + 'N','I','_','A','S','M',' ','-','D','V','P','A','E','S','_','A', + 'S','M',' ','-','D','W','H','I','R','L','P','O','O','L','_','A', + 'S','M',' ','-','D','G','H','A','S','H','_','A','S','M',' ','-', + 'D','E','C','P','_','N','I','S','T','Z','2','5','6','_','A','S', + 'M',' ','-','D','P','O','L','Y','1','3','0','5','_','A','S','M', + ' ','-','D','_','R','E','E','N','T','R','A','N','T',' ','-','D', + 'N','D','E','B','U','G','\0' }; diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/ec/ecp_nistz256-x86.s b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/ec/ecp_nistz256-x86.s index a6736904f3f974..891647b7edf847 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/ec/ecp_nistz256-x86.s +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/ec/ecp_nistz256-x86.s @@ -4378,19 +4378,15 @@ L009pic: orl 4(%edi),%eax orl 8(%edi),%eax orl 12(%edi),%eax + movl 576(%esp),%ebx + notl %ebx + orl %ebx,%eax + movl 580(%esp),%ebx + notl %ebx + orl %ebx,%eax + orl 584(%esp),%eax .byte 62 jnz L010add_proceed - movl 576(%esp),%eax - andl 580(%esp),%eax - movl 584(%esp),%ebx - jz L010add_proceed - testl %ebx,%ebx - jz L011add_double - movl 616(%esp),%edi - xorl %eax,%eax - movl $24,%ecx -.byte 252,243,171 - jmp L012add_done .align 4,0x90 L011add_double: movl 620(%esp),%esi diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/dso_conf.h index a69309195ed634..e2d05cdbf49656 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".dylib" diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslconf.h index 77a271f9955a27..7602fb815ac093 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/progs.h b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/openssl-cl.gypi b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/openssl-cl.gypi index 35d5734b533f73..aa3222e6e6e745 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/openssl-cl.gypi +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/openssl-cl.gypi @@ -15,6 +15,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/openssl.gypi b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/openssl.gypi index c1f15b01a15b5a..47e1ff6afafed2 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/openssl.gypi +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/openssl.gypi @@ -712,6 +712,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/darwin-i386-cc/no-asm/configdata.pm b/deps/openssl/config/archs/darwin-i386-cc/no-asm/configdata.pm index a40cf9d26d3bd6..191fabfac75fcb 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/no-asm/configdata.pm +++ b/deps/openssl/config/archs/darwin-i386-cc/no-asm/configdata.pm @@ -54,7 +54,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_MACOSX" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -110,8 +110,8 @@ our %config = ( sourcedir => ".", target => "darwin-i386-cc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -232,6 +232,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -350,8 +351,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -619,14 +620,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -702,6 +695,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1491,6 +1492,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3209,7 +3216,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3217,6 +3223,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3715,14 +3722,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4163,6 +4162,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4845,49 +4852,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4909,7 +4908,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4923,613 +4921,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5547,188 +5443,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5758,13 +5623,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5774,43 +5637,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5820,31 +5676,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5862,278 +5713,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6143,301 +5948,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6445,7 +6200,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6453,7 +6207,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6461,7 +6214,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6469,7 +6221,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6477,7 +6228,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6485,163 +6235,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6659,223 +6382,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6883,21 +6569,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6905,13 +6588,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6919,81 +6600,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7001,328 +6669,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7332,85 +6939,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7433,361 +7026,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7809,259 +7342,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8071,31 +7561,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8105,7 +7590,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8131,13 +7615,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8163,7 +7645,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8189,709 +7670,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8942,6 +8305,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9186,7 +8557,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9512,7 +8882,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9558,7 +8927,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9624,7 +8992,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9649,7 +9016,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9747,7 +9113,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9797,18 +9162,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9819,6 +9181,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9882,10 +9248,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9914,6 +9276,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10178,6 +9544,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15068,7 +14435,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15076,6 +14442,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15303,6 +14670,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15405,10 +14780,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15437,6 +14808,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/buildinf.h index 5a6d99c66de2c9..17da37fa077fa2 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin-i386-cc" -#define DATE "built on: Fri Sep 13 15:58:53 2019 UTC" +#define DATE "built on: Wed Mar 18 21:05:49 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/include/internal/dso_conf.h index a69309195ed634..e2d05cdbf49656 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".dylib" diff --git a/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/opensslconf.h index 0688f411720334..9dd40e7e286128 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/opensslconf.h @@ -102,9 +102,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/progs.h b/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/progs.h +++ b/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/configdata.pm b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/configdata.pm index 667d891890ef1c..b4e4f412154218 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/configdata.pm +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/configdata.pm @@ -48,14 +48,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "AESNI_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)gcc", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_MACOSX" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "darwin64-x86_64-cc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -235,6 +235,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -352,8 +353,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -621,14 +622,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -704,6 +697,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1493,6 +1494,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3247,7 +3254,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3255,6 +3261,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3753,14 +3760,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4201,6 +4200,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4883,49 +4890,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4935,25 +4934,21 @@ our %unified_info = ( "crypto/aes/aesni-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4971,13 +4966,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4991,613 +4984,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5611,7 +5502,6 @@ our %unified_info = ( "crypto/bn/asm/x86_64-gcc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5621,182 +5511,152 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5806,19 +5666,16 @@ our %unified_info = ( "crypto/bn/rsaz-avx2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz_exp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5844,31 +5701,26 @@ our %unified_info = ( "crypto/bn/x86_64-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont5.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5878,37 +5730,31 @@ our %unified_info = ( "crypto/camellia/cmll-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5918,31 +5764,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5960,278 +5801,232 @@ our %unified_info = ( "crypto/chacha/chacha-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6241,301 +6036,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6543,7 +6288,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6551,7 +6295,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6559,7 +6302,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6567,7 +6309,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6575,7 +6316,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6583,163 +6323,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6757,241 +6470,201 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6999,21 +6672,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7021,13 +6691,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7035,81 +6703,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7117,328 +6772,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7448,91 +7042,76 @@ our %unified_info = ( "crypto/md5/md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/aesni-gcm-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7551,7 +7130,6 @@ our %unified_info = ( "crypto/modes/ghash-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7561,361 +7139,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7937,265 +7455,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8205,31 +7679,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8239,7 +7708,6 @@ our %unified_info = ( "crypto/sha/keccak1600-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8253,7 +7721,6 @@ our %unified_info = ( "crypto/sha/sha1-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-mips.o" => @@ -8271,19 +7738,16 @@ our %unified_info = ( "crypto/sha/sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8297,7 +7761,6 @@ our %unified_info = ( "crypto/sha/sha256-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-mips.o" => @@ -8315,13 +7778,11 @@ our %unified_info = ( "crypto/sha/sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8347,727 +7808,606 @@ our %unified_info = ( "crypto/sha/sha512-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86_64cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86_64.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9118,6 +8458,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9362,7 +8710,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9688,7 +9035,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9734,7 +9080,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9800,7 +9145,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9825,7 +9169,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9923,7 +9266,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9973,18 +9315,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9995,6 +9334,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10058,10 +9401,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10090,6 +9429,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10354,6 +9697,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15359,7 +14703,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15367,6 +14710,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15594,6 +14938,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15696,10 +15048,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15728,6 +15076,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aes-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aes-x86_64.s deleted file mode 100644 index ee148d19dcb0ff..00000000000000 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aes-x86_64.s +++ /dev/null @@ -1,2631 +0,0 @@ -.text - -.p2align 4 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp L$enc_loop -.p2align 4 -L$enc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz L$enc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 - - -.p2align 4 -_x86_64_AES_encrypt_compact: - - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp L$enc_loop_compact -.p2align 4 -L$enc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je L$enc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp L$enc_loop_compact -.p2align 4 -L$enc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 - - -.globl _AES_encrypt - -.p2align 4 -.globl _asm_AES_encrypt -.private_extern _asm_AES_encrypt -_asm_AES_encrypt: -_AES_encrypt: - - movq %rsp,%rax - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) - -L$enc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq L$AES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 - - movq -40(%rsi),%r14 - - movq -32(%rsi),%r13 - - movq -24(%rsi),%r12 - - movq -16(%rsi),%rbp - - movq -8(%rsi),%rbx - - leaq (%rsi),%rsp - -L$enc_epilogue: - .byte 0xf3,0xc3 - - - -.p2align 4 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp L$dec_loop -.p2align 4 -L$dec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz L$dec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 - - -.p2align 4 -_x86_64_AES_decrypt_compact: - - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp L$dec_loop_compact - -.p2align 4 -L$dec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je L$dec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp L$dec_loop_compact -.p2align 4 -L$dec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 - - -.globl _AES_decrypt - -.p2align 4 -.globl _asm_AES_decrypt -.private_extern _asm_AES_decrypt -_asm_AES_decrypt: -_AES_decrypt: - - movq %rsp,%rax - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) - -L$dec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq L$AES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 - - movq -40(%rsi),%r14 - - movq -32(%rsi),%r13 - - movq -24(%rsi),%r12 - - movq -16(%rsi),%rbp - - movq -8(%rsi),%rbx - - leaq (%rsi),%rsp - -L$dec_epilogue: - .byte 0xf3,0xc3 - - -.globl _AES_set_encrypt_key - -.p2align 4 -_AES_set_encrypt_key: - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - subq $8,%rsp - -L$enc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp - - movq 48(%rsp),%rbx - - addq $56,%rsp - -L$enc_key_epilogue: - .byte 0xf3,0xc3 - - - - -.p2align 4 -_x86_64_AES_set_encrypt_key: - - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz L$badpointer - testq $-1,%rdi - jz L$badpointer - - leaq L$AES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je L$10rounds - cmpl $192,%ecx - je L$12rounds - cmpl $256,%ecx - je L$14rounds - movq $-2,%rax - jmp L$exit - -L$10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp L$10shortcut -.p2align 2 -L$10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -L$10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl L$10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp L$exit - -L$12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp L$12shortcut -.p2align 2 -L$12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -L$12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je L$12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp L$12loop -L$12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp L$exit - -L$14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp L$14shortcut -.p2align 2 -L$14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -L$14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je L$14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp L$14loop -L$14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp L$exit - -L$badpointer: - movq $-1,%rax -L$exit: -.byte 0xf3,0xc3 - - -.globl _AES_set_decrypt_key - -.p2align 4 -_AES_set_decrypt_key: - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - pushq %rdx - -L$dec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne L$abort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.p2align 2 -L$invert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne L$invert - - leaq L$AES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.p2align 2 -L$permute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz L$permute - - xorq %rax,%rax -L$abort: - movq 8(%rsp),%r15 - - movq 16(%rsp),%r14 - - movq 24(%rsp),%r13 - - movq 32(%rsp),%r12 - - movq 40(%rsp),%rbp - - movq 48(%rsp),%rbx - - addq $56,%rsp - -L$dec_key_epilogue: - .byte 0xf3,0xc3 - - -.globl _AES_cbc_encrypt - -.p2align 4 - -.globl _asm_AES_cbc_encrypt -.private_extern _asm_AES_cbc_encrypt -_asm_AES_cbc_encrypt: -_AES_cbc_encrypt: - - cmpq $0,%rdx - je L$cbc_epilogue - pushfq - - - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - -L$cbc_prologue: - - cld - movl %r9d,%r9d - - leaq L$AES_Te(%rip),%r14 - leaq L$AES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - - - movl _OPENSSL_ia32cap_P(%rip),%r10d - cmpq $512,%rdx - jb L$cbc_slow_prologue - testq $15,%rdx - jnz L$cbc_slow_prologue - btl $28,%r10d - jc L$cbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb L$cbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp L$cbc_te_ok -L$cbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.p2align 2 -L$cbc_te_ok: - - xchgq %rsp,%r15 - - - movq %r15,16(%rsp) - -L$cbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb L$cbc_do_ecopy - cmpq $4096-248,%r10 - jb L$cbc_skip_ecopy -.p2align 2 -L$cbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -L$cbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.p2align 2 -L$cbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz L$cbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je L$FAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.p2align 2 -L$cbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz L$cbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp L$cbc_fast_cleanup - - -.p2align 4 -L$FAST_DECRYPT: - cmpq %r8,%r9 - je L$cbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.p2align 2 -L$cbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz L$cbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp L$cbc_fast_cleanup - -.p2align 4 -L$cbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.p2align 2 -L$cbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz L$cbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp L$cbc_fast_dec_in_place_loop -L$cbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.p2align 2 -L$cbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je L$cbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp L$cbc_exit - - -.p2align 4 -L$cbc_slow_prologue: - - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp - - - movq %rbp,16(%rsp) - -L$cbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je L$SLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz L$cbc_slow_enc_tail - -.p2align 2 -L$cbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz L$cbc_slow_enc_loop - testq $15,%r10 - jnz L$cbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp L$cbc_exit - -.p2align 2 -L$cbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp L$cbc_slow_enc_loop - -.p2align 4 -L$SLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.p2align 2 -L$cbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc L$cbc_slow_dec_partial - jz L$cbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp L$cbc_slow_dec_loop -L$cbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp L$cbc_exit - -.p2align 2 -L$cbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp L$cbc_exit - -.p2align 4 -L$cbc_exit: - movq 16(%rsp),%rsi - - movq (%rsi),%r15 - - movq 8(%rsi),%r14 - - movq 16(%rsi),%r13 - - movq 24(%rsi),%r12 - - movq 32(%rsi),%rbp - - movq 40(%rsi),%rbx - - leaq 48(%rsi),%rsp - -L$cbc_popfq: - popfq - - - -L$cbc_epilogue: - .byte 0xf3,0xc3 - - -.p2align 6 -L$AES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.p2align 6 -L$AES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.p2align 6 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha1-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha1-x86_64.s index aed8f3a345ad66..738aa6dc53b327 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha1-x86_64.s @@ -6,6 +6,7 @@ .p2align 5 _aesni_cbc_sha1_enc: + movl _OPENSSL_ia32cap_P+0(%rip),%r10d movq _OPENSSL_ia32cap_P+4(%rip),%r11 btq $61,%r11 @@ -19,6 +20,7 @@ _aesni_cbc_sha1_enc: .byte 0xf3,0xc3 + .p2align 5 aesni_cbc_sha1_enc_ssse3: @@ -2718,6 +2720,7 @@ K_XX_XX: .p2align 5 aesni_cbc_sha1_enc_shaext: + movq 8(%rsp),%r10 movdqu (%r9),%xmm8 movd 16(%r9),%xmm9 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha256-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha256-x86_64.s index 28cf0768cada91..3aee22c3bc57a8 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha256-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-sha256-x86_64.s @@ -5,6 +5,7 @@ .p2align 4 _aesni_cbc_sha256_enc: + leaq _OPENSSL_ia32cap_P(%rip),%r11 movl $1,%eax cmpq $0,%rdi @@ -32,6 +33,7 @@ L$probe: .byte 0xf3,0xc3 + .p2align 6 K256: @@ -2528,7 +2530,15 @@ L$oop_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 120(%rsp),%rsi + leaq -64(%rsp),%rsp + + + + movq %rsi,-8(%rsp) + movl %ebx,%esi vmovdqa %ymm6,0(%rsp) xorl %ecx,%esi @@ -2542,6 +2552,12 @@ L$avx2_00_47: vmovdqu (%r13),%xmm9 vpinsrq $0,%r13,%xmm15,%xmm15 leaq -64(%rsp),%rsp + + + pushq 64-8(%rsp) + + leaq 8(%rsp),%rsp + vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -2816,6 +2832,12 @@ L$avx2_00_47: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp + + + pushq 64-8(%rsp) + + leaq 8(%rsp),%rsp + vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4029,10 +4051,12 @@ L$ower_avx2: jbe L$oop_avx2 leaq (%rsp),%rbp + + + L$done_avx2: - leaq (%rbp),%rsp - movq 64+32(%rsp),%r8 - movq 120(%rsp),%rsi + movq 64+32(%rbp),%r8 + movq 64+56(%rbp),%rsi vmovdqu %xmm8,(%r8) vzeroall @@ -4057,6 +4081,7 @@ L$epilogue_avx2: .p2align 5 aesni_cbc_sha256_enc_shaext: + movq 8(%rsp),%r10 leaq K256+128(%rip),%rax movdqu (%r9),%xmm1 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-x86_64.s index 6792a530f28e8e..924900d84ebd18 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/aesni-x86_64.s @@ -861,6 +861,7 @@ L$ecb_ret: .p2align 4 _aesni_ccm64_encrypt_blocks: + movl 240(%rcx),%eax movdqu (%r8),%xmm6 movdqa L$increment64(%rip),%xmm9 @@ -920,10 +921,12 @@ L$ccm64_enc2_loop: pxor %xmm6,%xmm6 .byte 0xf3,0xc3 + .globl _aesni_ccm64_decrypt_blocks .p2align 4 _aesni_ccm64_decrypt_blocks: + movl 240(%rcx),%eax movups (%r8),%xmm6 movdqu (%r9),%xmm3 @@ -1017,6 +1020,7 @@ L$oop_enc1_6: pxor %xmm6,%xmm6 .byte 0xf3,0xc3 + .globl _aesni_ctr32_encrypt_blocks .p2align 4 @@ -2785,6 +2789,7 @@ L$ocb_enc_epilogue: .p2align 5 __ocb_encrypt6: + pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2885,8 +2890,10 @@ L$ocb_enc_loop6: + .p2align 5 __ocb_encrypt4: + pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2954,8 +2961,10 @@ L$ocb_enc_loop4: + .p2align 5 __ocb_encrypt1: + pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm2,%xmm8 @@ -2988,6 +2997,7 @@ L$ocb_enc_loop1: .byte 0xf3,0xc3 + .globl _aesni_ocb_decrypt .p2align 5 @@ -3223,6 +3233,7 @@ L$ocb_dec_epilogue: .p2align 5 __ocb_decrypt6: + pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3317,8 +3328,10 @@ L$ocb_dec_loop6: + .p2align 5 __ocb_decrypt4: + pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3382,8 +3395,10 @@ L$ocb_dec_loop4: + .p2align 5 __ocb_decrypt1: + pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm7,%xmm2 @@ -3414,6 +3429,7 @@ L$ocb_dec_loop1: .byte 102,15,56,223,215 .byte 0xf3,0xc3 + .globl _aesni_cbc_encrypt .p2align 4 @@ -4351,7 +4367,6 @@ L$enc_key_ret: addq $8,%rsp .byte 0xf3,0xc3 - L$SEH_end_set_encrypt_key: .p2align 4 @@ -4424,6 +4439,7 @@ L$key_expansion_256b: .byte 0xf3,0xc3 + .p2align 6 L$bswap_mask: .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/bsaes-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/bsaes-x86_64.s deleted file mode 100644 index 2fefb75ac36844..00000000000000 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/aes/bsaes-x86_64.s +++ /dev/null @@ -1,2571 +0,0 @@ -.text - - - - - -.p2align 6 -_bsaes_encrypt8: - - leaq L$BS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa 80(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 -_bsaes_encrypt8_bitslice: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp L$enc_sbox -.p2align 4 -L$enc_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -L$enc_sbox: - pxor %xmm5,%xmm4 - pxor %xmm0,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm1,%xmm5 - pxor %xmm15,%xmm4 - - pxor %xmm2,%xmm5 - pxor %xmm6,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm3,%xmm2 - pxor %xmm4,%xmm3 - pxor %xmm0,%xmm2 - - pxor %xmm6,%xmm1 - pxor %xmm4,%xmm0 - movdqa %xmm6,%xmm10 - movdqa %xmm0,%xmm9 - movdqa %xmm4,%xmm8 - movdqa %xmm1,%xmm12 - movdqa %xmm5,%xmm11 - - pxor %xmm3,%xmm10 - pxor %xmm1,%xmm9 - pxor %xmm2,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm3,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm15,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm2,%xmm11 - pxor %xmm15,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm6,%xmm12 - movdqa %xmm4,%xmm11 - pxor %xmm0,%xmm12 - pxor %xmm5,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm1,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm3,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm0,%xmm13 - pand %xmm2,%xmm11 - movdqa %xmm6,%xmm14 - pand %xmm15,%xmm12 - pand %xmm4,%xmm13 - por %xmm5,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm5,%xmm11 - movdqa %xmm4,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm5,%xmm9 - pxor %xmm4,%xmm5 - pand %xmm14,%xmm4 - pand %xmm13,%xmm5 - pxor %xmm4,%xmm5 - pxor %xmm9,%xmm4 - pxor %xmm15,%xmm11 - pxor %xmm2,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm2,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm2 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm2,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm2 - pxor %xmm11,%xmm5 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm2 - - movdqa %xmm6,%xmm11 - movdqa %xmm0,%xmm7 - pxor %xmm3,%xmm11 - pxor %xmm1,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm3,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm1,%xmm3 - pand %xmm14,%xmm7 - pand %xmm12,%xmm1 - pand %xmm13,%xmm11 - pand %xmm8,%xmm3 - pxor %xmm11,%xmm7 - pxor %xmm1,%xmm3 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm1 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm6,%xmm10 - pxor %xmm0,%xmm6 - pand %xmm14,%xmm0 - pand %xmm13,%xmm6 - pxor %xmm0,%xmm6 - pxor %xmm10,%xmm0 - pxor %xmm11,%xmm6 - pxor %xmm11,%xmm3 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm1 - pxor %xmm15,%xmm6 - pxor %xmm5,%xmm0 - pxor %xmm6,%xmm3 - pxor %xmm15,%xmm5 - pxor %xmm0,%xmm15 - - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm4 - pxor %xmm2,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm4,%xmm3 - - pxor %xmm2,%xmm5 - decl %r10d - jl L$enc_done - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm3,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm5,%xmm10 - pxor %xmm9,%xmm3 - pshufd $0x93,%xmm2,%xmm11 - pxor %xmm10,%xmm5 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm2 - pshufd $0x93,%xmm1,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm1 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm2,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm5,%xmm11 - pshufd $0x4E,%xmm2,%xmm7 - pxor %xmm1,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm3,%xmm10 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm1,%xmm5 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm12,%xmm8 - pxor %xmm10,%xmm2 - pxor %xmm14,%xmm6 - pxor %xmm13,%xmm5 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm1 - movdqa %xmm8,%xmm4 - movdqa 48(%r11),%xmm7 - jnz L$enc_loop - movdqa 64(%r11),%xmm7 - jmp L$enc_loop -.p2align 4 -L$enc_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm2,%xmm10 - psrlq $1,%xmm2 - pxor %xmm4,%xmm1 - pxor %xmm6,%xmm2 - pand %xmm7,%xmm1 - pand %xmm7,%xmm2 - pxor %xmm1,%xmm4 - psllq $1,%xmm1 - pxor %xmm2,%xmm6 - psllq $1,%xmm2 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm2 - movdqa %xmm3,%xmm9 - psrlq $1,%xmm3 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm5,%xmm3 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm3 - pand %xmm7,%xmm15 - pxor %xmm3,%xmm5 - psllq $1,%xmm3 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm2,%xmm10 - psrlq $2,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm1,%xmm2 - pand %xmm8,%xmm6 - pand %xmm8,%xmm2 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm2,%xmm1 - psllq $2,%xmm2 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm2 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm5,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm5 - psllq $2,%xmm0 - pxor %xmm15,%xmm3 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm5,%xmm9 - psrlq $4,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $4,%xmm3 - pxor %xmm4,%xmm5 - pxor %xmm1,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm4 - psllq $4,%xmm5 - pxor %xmm3,%xmm1 - psllq $4,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm2,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm2 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 - - - - -.p2align 6 -_bsaes_decrypt8: - - leaq L$BS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa -48(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp L$dec_sbox -.p2align 4 -L$dec_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -L$dec_sbox: - pxor %xmm3,%xmm2 - - pxor %xmm6,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm3,%xmm5 - pxor %xmm5,%xmm6 - pxor %xmm6,%xmm0 - - pxor %xmm0,%xmm15 - pxor %xmm4,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm15,%xmm4 - pxor %xmm2,%xmm0 - movdqa %xmm2,%xmm10 - movdqa %xmm6,%xmm9 - movdqa %xmm0,%xmm8 - movdqa %xmm3,%xmm12 - movdqa %xmm4,%xmm11 - - pxor %xmm15,%xmm10 - pxor %xmm3,%xmm9 - pxor %xmm5,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm15,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm1,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm5,%xmm11 - pxor %xmm1,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm2,%xmm12 - movdqa %xmm0,%xmm11 - pxor %xmm6,%xmm12 - pxor %xmm4,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm3,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm15,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm6,%xmm13 - pand %xmm5,%xmm11 - movdqa %xmm2,%xmm14 - pand %xmm1,%xmm12 - pand %xmm0,%xmm13 - por %xmm4,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm4,%xmm11 - movdqa %xmm0,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm4,%xmm9 - pxor %xmm0,%xmm4 - pand %xmm14,%xmm0 - pand %xmm13,%xmm4 - pxor %xmm0,%xmm4 - pxor %xmm9,%xmm0 - pxor %xmm1,%xmm11 - pxor %xmm5,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm1,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm5,%xmm1 - pand %xmm14,%xmm7 - pand %xmm12,%xmm5 - pand %xmm13,%xmm11 - pand %xmm8,%xmm1 - pxor %xmm11,%xmm7 - pxor %xmm5,%xmm1 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm5 - pxor %xmm11,%xmm4 - pxor %xmm11,%xmm1 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm5 - - movdqa %xmm2,%xmm11 - movdqa %xmm6,%xmm7 - pxor %xmm15,%xmm11 - pxor %xmm3,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm3,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm3 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm3,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm3 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm2,%xmm10 - pxor %xmm6,%xmm2 - pand %xmm14,%xmm6 - pand %xmm13,%xmm2 - pxor %xmm6,%xmm2 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm3 - pxor %xmm6,%xmm0 - pxor %xmm4,%xmm5 - - pxor %xmm0,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm6,%xmm4 - pxor %xmm1,%xmm3 - pxor %xmm15,%xmm6 - pxor %xmm4,%xmm3 - pxor %xmm5,%xmm2 - pxor %xmm0,%xmm5 - pxor %xmm3,%xmm2 - - pxor %xmm15,%xmm3 - pxor %xmm2,%xmm6 - decl %r10d - jl L$dec_done - - pshufd $0x4E,%xmm15,%xmm7 - pshufd $0x4E,%xmm2,%xmm13 - pxor %xmm15,%xmm7 - pshufd $0x4E,%xmm4,%xmm14 - pxor %xmm2,%xmm13 - pshufd $0x4E,%xmm0,%xmm8 - pxor %xmm4,%xmm14 - pshufd $0x4E,%xmm5,%xmm9 - pxor %xmm0,%xmm8 - pshufd $0x4E,%xmm3,%xmm10 - pxor %xmm5,%xmm9 - pxor %xmm13,%xmm15 - pxor %xmm13,%xmm0 - pshufd $0x4E,%xmm1,%xmm11 - pxor %xmm3,%xmm10 - pxor %xmm7,%xmm5 - pxor %xmm8,%xmm3 - pshufd $0x4E,%xmm6,%xmm12 - pxor %xmm1,%xmm11 - pxor %xmm14,%xmm0 - pxor %xmm9,%xmm1 - pxor %xmm6,%xmm12 - - pxor %xmm14,%xmm5 - pxor %xmm13,%xmm3 - pxor %xmm13,%xmm1 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm14,%xmm1 - pxor %xmm14,%xmm6 - pxor %xmm12,%xmm4 - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm5,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm3,%xmm10 - pxor %xmm9,%xmm5 - pshufd $0x93,%xmm1,%xmm11 - pxor %xmm10,%xmm3 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm1 - pshufd $0x93,%xmm2,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm2 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm1,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm3,%xmm11 - pshufd $0x4E,%xmm1,%xmm7 - pxor %xmm2,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm5,%xmm10 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm2,%xmm3 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm12,%xmm8 - pxor %xmm1,%xmm10 - pxor %xmm14,%xmm6 - pxor %xmm3,%xmm13 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm2 - movdqa %xmm13,%xmm5 - movdqa %xmm8,%xmm4 - movdqa %xmm2,%xmm1 - movdqa %xmm10,%xmm2 - movdqa -16(%r11),%xmm7 - jnz L$dec_loop - movdqa -32(%r11),%xmm7 - jmp L$dec_loop -.p2align 4 -L$dec_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm2,%xmm9 - psrlq $1,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $1,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm6,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm4 - psllq $1,%xmm2 - pxor %xmm1,%xmm6 - psllq $1,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm3,%xmm5 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm5 - pand %xmm7,%xmm15 - pxor %xmm5,%xmm3 - psllq $1,%xmm5 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm1,%xmm10 - psrlq $2,%xmm1 - pxor %xmm4,%xmm6 - pxor %xmm2,%xmm1 - pand %xmm8,%xmm6 - pand %xmm8,%xmm1 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm1,%xmm2 - psllq $2,%xmm1 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm3,%xmm0 - pxor %xmm5,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm3 - psllq $2,%xmm0 - pxor %xmm15,%xmm5 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm3,%xmm9 - psrlq $4,%xmm3 - movdqa %xmm5,%xmm10 - psrlq $4,%xmm5 - pxor %xmm4,%xmm3 - pxor %xmm2,%xmm5 - pand %xmm7,%xmm3 - pand %xmm7,%xmm5 - pxor %xmm3,%xmm4 - psllq $4,%xmm3 - pxor %xmm5,%xmm2 - psllq $4,%xmm5 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm5 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm1 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 - - - -.p2align 4 -_bsaes_key_convert: - - leaq L$masks(%rip),%r11 - movdqu (%rcx),%xmm7 - leaq 16(%rcx),%rcx - movdqa 0(%r11),%xmm0 - movdqa 16(%r11),%xmm1 - movdqa 32(%r11),%xmm2 - movdqa 48(%r11),%xmm3 - movdqa 64(%r11),%xmm4 - pcmpeqd %xmm5,%xmm5 - - movdqu (%rcx),%xmm6 - movdqa %xmm7,(%rax) - leaq 16(%rax),%rax - decl %r10d - jmp L$key_loop -.p2align 4 -L$key_loop: -.byte 102,15,56,0,244 - - movdqa %xmm0,%xmm8 - movdqa %xmm1,%xmm9 - - pand %xmm6,%xmm8 - pand %xmm6,%xmm9 - movdqa %xmm2,%xmm10 - pcmpeqb %xmm0,%xmm8 - psllq $4,%xmm0 - movdqa %xmm3,%xmm11 - pcmpeqb %xmm1,%xmm9 - psllq $4,%xmm1 - - pand %xmm6,%xmm10 - pand %xmm6,%xmm11 - movdqa %xmm0,%xmm12 - pcmpeqb %xmm2,%xmm10 - psllq $4,%xmm2 - movdqa %xmm1,%xmm13 - pcmpeqb %xmm3,%xmm11 - psllq $4,%xmm3 - - movdqa %xmm2,%xmm14 - movdqa %xmm3,%xmm15 - pxor %xmm5,%xmm8 - pxor %xmm5,%xmm9 - - pand %xmm6,%xmm12 - pand %xmm6,%xmm13 - movdqa %xmm8,0(%rax) - pcmpeqb %xmm0,%xmm12 - psrlq $4,%xmm0 - movdqa %xmm9,16(%rax) - pcmpeqb %xmm1,%xmm13 - psrlq $4,%xmm1 - leaq 16(%rcx),%rcx - - pand %xmm6,%xmm14 - pand %xmm6,%xmm15 - movdqa %xmm10,32(%rax) - pcmpeqb %xmm2,%xmm14 - psrlq $4,%xmm2 - movdqa %xmm11,48(%rax) - pcmpeqb %xmm3,%xmm15 - psrlq $4,%xmm3 - movdqu (%rcx),%xmm6 - - pxor %xmm5,%xmm13 - pxor %xmm5,%xmm14 - movdqa %xmm12,64(%rax) - movdqa %xmm13,80(%rax) - movdqa %xmm14,96(%rax) - movdqa %xmm15,112(%rax) - leaq 128(%rax),%rax - decl %r10d - jnz L$key_loop - - movdqa 80(%r11),%xmm7 - - .byte 0xf3,0xc3 - - - -.globl _bsaes_cbc_encrypt - -.p2align 4 -_bsaes_cbc_encrypt: - - cmpl $0,%r9d - jne _asm_AES_cbc_encrypt - cmpq $128,%rdx - jb _asm_AES_cbc_encrypt - - movq %rsp,%rax -L$cbc_dec_prologue: - pushq %rbp - - pushq %rbx - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - leaq -72(%rsp),%rsp - - movq %rsp,%rbp - - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movq %r8,%rbx - shrq $4,%r14 - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - movdqu (%rbx),%xmm14 - subq $8,%r14 -L$cbc_dec_loop: - movdqu 0(%r12),%xmm15 - movdqu 16(%r12),%xmm0 - movdqu 32(%r12),%xmm1 - movdqu 48(%r12),%xmm2 - movdqu 64(%r12),%xmm3 - movdqu 80(%r12),%xmm4 - movq %rsp,%rax - movdqu 96(%r12),%xmm5 - movl %edx,%r10d - movdqu 112(%r12),%xmm6 - movdqa %xmm14,32(%rbp) - - call _bsaes_decrypt8 - - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm2 - movdqu 112(%r12),%xmm14 - pxor %xmm13,%xmm4 - movdqu %xmm15,0(%r13) - leaq 128(%r12),%r12 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - subq $8,%r14 - jnc L$cbc_dec_loop - - addq $8,%r14 - jz L$cbc_dec_done - - movdqu 0(%r12),%xmm15 - movq %rsp,%rax - movl %edx,%r10d - cmpq $2,%r14 - jb L$cbc_dec_one - movdqu 16(%r12),%xmm0 - je L$cbc_dec_two - movdqu 32(%r12),%xmm1 - cmpq $4,%r14 - jb L$cbc_dec_three - movdqu 48(%r12),%xmm2 - je L$cbc_dec_four - movdqu 64(%r12),%xmm3 - cmpq $6,%r14 - jb L$cbc_dec_five - movdqu 80(%r12),%xmm4 - je L$cbc_dec_six - movdqu 96(%r12),%xmm5 - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm14 - pxor %xmm12,%xmm2 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - jmp L$cbc_dec_done -.p2align 4 -L$cbc_dec_six: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm14 - pxor %xmm11,%xmm6 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - jmp L$cbc_dec_done -.p2align 4 -L$cbc_dec_five: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm14 - pxor %xmm10,%xmm1 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - jmp L$cbc_dec_done -.p2align 4 -L$cbc_dec_four: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm14 - pxor %xmm9,%xmm3 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - jmp L$cbc_dec_done -.p2align 4 -L$cbc_dec_three: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm14 - pxor %xmm8,%xmm5 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - jmp L$cbc_dec_done -.p2align 4 -L$cbc_dec_two: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm14 - pxor %xmm7,%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - jmp L$cbc_dec_done -.p2align 4 -L$cbc_dec_one: - leaq (%r12),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call _asm_AES_decrypt - pxor 32(%rbp),%xmm14 - movdqu %xmm14,(%r13) - movdqa %xmm15,%xmm14 - -L$cbc_dec_done: - movdqu %xmm14,(%rbx) - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -L$cbc_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja L$cbc_dec_bzero - - leaq 120(%rbp),%rax - - movq -48(%rax),%r15 - - movq -40(%rax),%r14 - - movq -32(%rax),%r13 - - movq -24(%rax),%r12 - - movq -16(%rax),%rbx - - movq -8(%rax),%rbp - - leaq (%rax),%rsp - -L$cbc_dec_epilogue: - .byte 0xf3,0xc3 - - - -.globl _bsaes_ctr32_encrypt_blocks - -.p2align 4 -_bsaes_ctr32_encrypt_blocks: - - movq %rsp,%rax -L$ctr_enc_prologue: - pushq %rbp - - pushq %rbx - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - leaq -72(%rsp),%rsp - - movq %rsp,%rbp - - movdqu (%r8),%xmm0 - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movdqa %xmm0,32(%rbp) - cmpq $8,%rdx - jb L$ctr_enc_short - - movl %eax,%ebx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %ebx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - movdqa (%rsp),%xmm8 - leaq L$ADD1(%rip),%r11 - movdqa 32(%rbp),%xmm15 - movdqa -32(%r11),%xmm7 -.byte 102,68,15,56,0,199 -.byte 102,68,15,56,0,255 - movdqa %xmm8,(%rsp) - jmp L$ctr_enc_loop -.p2align 4 -L$ctr_enc_loop: - movdqa %xmm15,32(%rbp) - movdqa %xmm15,%xmm0 - movdqa %xmm15,%xmm1 - paddd 0(%r11),%xmm0 - movdqa %xmm15,%xmm2 - paddd 16(%r11),%xmm1 - movdqa %xmm15,%xmm3 - paddd 32(%r11),%xmm2 - movdqa %xmm15,%xmm4 - paddd 48(%r11),%xmm3 - movdqa %xmm15,%xmm5 - paddd 64(%r11),%xmm4 - movdqa %xmm15,%xmm6 - paddd 80(%r11),%xmm5 - paddd 96(%r11),%xmm6 - - - - movdqa (%rsp),%xmm8 - leaq 16(%rsp),%rax - movdqa -16(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq L$BS0(%rip),%r11 - movl %ebx,%r10d - - call _bsaes_encrypt8_bitslice - - subq $8,%r14 - jc L$ctr_enc_loop_done - - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - movdqu 32(%r12),%xmm9 - movdqu 48(%r12),%xmm10 - movdqu 64(%r12),%xmm11 - movdqu 80(%r12),%xmm12 - movdqu 96(%r12),%xmm13 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - pxor %xmm15,%xmm7 - movdqa 32(%rbp),%xmm15 - pxor %xmm8,%xmm0 - movdqu %xmm7,0(%r13) - pxor %xmm9,%xmm3 - movdqu %xmm0,16(%r13) - pxor %xmm10,%xmm5 - movdqu %xmm3,32(%r13) - pxor %xmm11,%xmm2 - movdqu %xmm5,48(%r13) - pxor %xmm12,%xmm6 - movdqu %xmm2,64(%r13) - pxor %xmm13,%xmm1 - movdqu %xmm6,80(%r13) - pxor %xmm14,%xmm4 - movdqu %xmm1,96(%r13) - leaq L$ADD1(%rip),%r11 - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - paddd 112(%r11),%xmm15 - jnz L$ctr_enc_loop - - jmp L$ctr_enc_done -.p2align 4 -L$ctr_enc_loop_done: - addq $8,%r14 - movdqu 0(%r12),%xmm7 - pxor %xmm7,%xmm15 - movdqu %xmm15,0(%r13) - cmpq $2,%r14 - jb L$ctr_enc_done - movdqu 16(%r12),%xmm8 - pxor %xmm8,%xmm0 - movdqu %xmm0,16(%r13) - je L$ctr_enc_done - movdqu 32(%r12),%xmm9 - pxor %xmm9,%xmm3 - movdqu %xmm3,32(%r13) - cmpq $4,%r14 - jb L$ctr_enc_done - movdqu 48(%r12),%xmm10 - pxor %xmm10,%xmm5 - movdqu %xmm5,48(%r13) - je L$ctr_enc_done - movdqu 64(%r12),%xmm11 - pxor %xmm11,%xmm2 - movdqu %xmm2,64(%r13) - cmpq $6,%r14 - jb L$ctr_enc_done - movdqu 80(%r12),%xmm12 - pxor %xmm12,%xmm6 - movdqu %xmm6,80(%r13) - je L$ctr_enc_done - movdqu 96(%r12),%xmm13 - pxor %xmm13,%xmm1 - movdqu %xmm1,96(%r13) - jmp L$ctr_enc_done - -.p2align 4 -L$ctr_enc_short: - leaq 32(%rbp),%rdi - leaq 48(%rbp),%rsi - leaq (%r15),%rdx - call _asm_AES_encrypt - movdqu (%r12),%xmm0 - leaq 16(%r12),%r12 - movl 44(%rbp),%eax - bswapl %eax - pxor 48(%rbp),%xmm0 - incl %eax - movdqu %xmm0,(%r13) - bswapl %eax - leaq 16(%r13),%r13 - movl %eax,44(%rsp) - decq %r14 - jnz L$ctr_enc_short - -L$ctr_enc_done: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -L$ctr_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja L$ctr_enc_bzero - - leaq 120(%rbp),%rax - - movq -48(%rax),%r15 - - movq -40(%rax),%r14 - - movq -32(%rax),%r13 - - movq -24(%rax),%r12 - - movq -16(%rax),%rbx - - movq -8(%rax),%rbp - - leaq (%rax),%rsp - -L$ctr_enc_epilogue: - .byte 0xf3,0xc3 - - -.globl _bsaes_xts_encrypt - -.p2align 4 -_bsaes_xts_encrypt: - - movq %rsp,%rax -L$xts_enc_prologue: - pushq %rbp - - pushq %rbx - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - leaq -72(%rsp),%rsp - - movq %rsp,%rbp - - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call _asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - andq $-16,%r14 - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa L$xts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc L$xts_enc_short - jmp L$xts_enc_loop - -.p2align 4 -L$xts_enc_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm1,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa L$xts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc L$xts_enc_loop - -L$xts_enc_short: - addq $0x80,%r14 - jz L$xts_enc_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je L$xts_enc_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je L$xts_enc_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je L$xts_enc_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je L$xts_enc_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je L$xts_enc_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je L$xts_enc_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - movdqu %xmm1,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp L$xts_enc_done -.p2align 4 -L$xts_enc_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp L$xts_enc_done -.p2align 4 -L$xts_enc_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - movdqu %xmm2,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp L$xts_enc_done -.p2align 4 -L$xts_enc_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - movdqu %xmm5,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp L$xts_enc_done -.p2align 4 -L$xts_enc_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - movdqu %xmm3,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp L$xts_enc_done -.p2align 4 -L$xts_enc_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp L$xts_enc_done -.p2align 4 -L$xts_enc_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call _asm_AES_encrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -L$xts_enc_done: - andl $15,%ebx - jz L$xts_enc_ret - movq %r13,%rdx - -L$xts_enc_steal: - movzbl (%r12),%eax - movzbl -16(%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,-16(%rdx) - movb %cl,0(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz L$xts_enc_steal - - movdqu -16(%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call _asm_AES_encrypt - pxor 32(%rbp),%xmm6 - movdqu %xmm6,-16(%r13) - -L$xts_enc_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -L$xts_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja L$xts_enc_bzero - - leaq 120(%rbp),%rax - - movq -48(%rax),%r15 - - movq -40(%rax),%r14 - - movq -32(%rax),%r13 - - movq -24(%rax),%r12 - - movq -16(%rax),%rbx - - movq -8(%rax),%rbp - - leaq (%rax),%rsp - -L$xts_enc_epilogue: - .byte 0xf3,0xc3 - - - -.globl _bsaes_xts_decrypt - -.p2align 4 -_bsaes_xts_decrypt: - - movq %rsp,%rax -L$xts_dec_prologue: - pushq %rbp - - pushq %rbx - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - leaq -72(%rsp),%rsp - - movq %rsp,%rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call _asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - xorl %eax,%eax - andq $-16,%r14 - testl $15,%ebx - setnz %al - shlq $4,%rax - subq %rax,%r14 - - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa L$xts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc L$xts_dec_short - jmp L$xts_dec_loop - -.p2align 4 -L$xts_dec_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa L$xts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc L$xts_dec_loop - -L$xts_dec_short: - addq $0x80,%r14 - jz L$xts_dec_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je L$xts_dec_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je L$xts_dec_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je L$xts_dec_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je L$xts_dec_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je L$xts_dec_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je L$xts_dec_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp L$xts_dec_done -.p2align 4 -L$xts_dec_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp L$xts_dec_done -.p2align 4 -L$xts_dec_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp L$xts_dec_done -.p2align 4 -L$xts_dec_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp L$xts_dec_done -.p2align 4 -L$xts_dec_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp L$xts_dec_done -.p2align 4 -L$xts_dec_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp L$xts_dec_done -.p2align 4 -L$xts_dec_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call _asm_AES_decrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -L$xts_dec_done: - andl $15,%ebx - jz L$xts_dec_ret - - pxor %xmm14,%xmm14 - movdqa L$xts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - movdqa %xmm6,%xmm5 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - movdqu (%r12),%xmm15 - pxor %xmm13,%xmm6 - - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call _asm_AES_decrypt - pxor 32(%rbp),%xmm6 - movq %r13,%rdx - movdqu %xmm6,(%r13) - -L$xts_dec_steal: - movzbl 16(%r12),%eax - movzbl (%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,(%rdx) - movb %cl,16(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz L$xts_dec_steal - - movdqu (%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm5,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call _asm_AES_decrypt - pxor 32(%rbp),%xmm5 - movdqu %xmm5,(%r13) - -L$xts_dec_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -L$xts_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja L$xts_dec_bzero - - leaq 120(%rbp),%rax - - movq -48(%rax),%r15 - - movq -40(%rax),%r14 - - movq -32(%rax),%r13 - - movq -24(%rax),%r12 - - movq -16(%rax),%rbx - - movq -8(%rax),%rbp - - leaq (%rax),%rsp - -L$xts_dec_epilogue: - .byte 0xf3,0xc3 - - - -.p2align 6 -_bsaes_const: -L$M0ISR: -.quad 0x0a0e0206070b0f03, 0x0004080c0d010509 -L$ISRM0: -.quad 0x01040b0e0205080f, 0x0306090c00070a0d -L$ISR: -.quad 0x0504070602010003, 0x0f0e0d0c080b0a09 -L$BS0: -.quad 0x5555555555555555, 0x5555555555555555 -L$BS1: -.quad 0x3333333333333333, 0x3333333333333333 -L$BS2: -.quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f -L$SR: -.quad 0x0504070600030201, 0x0f0e0d0c0a09080b -L$SRM0: -.quad 0x0304090e00050a0f, 0x01060b0c0207080d -L$M0SR: -.quad 0x0a0e02060f03070b, 0x0004080c05090d01 -L$SWPUP: -.quad 0x0706050403020100, 0x0c0d0e0f0b0a0908 -L$SWPUPM0SR: -.quad 0x0a0d02060c03070b, 0x0004080f05090e01 -L$ADD1: -.quad 0x0000000000000000, 0x0000000100000000 -L$ADD2: -.quad 0x0000000000000000, 0x0000000200000000 -L$ADD3: -.quad 0x0000000000000000, 0x0000000300000000 -L$ADD4: -.quad 0x0000000000000000, 0x0000000400000000 -L$ADD5: -.quad 0x0000000000000000, 0x0000000500000000 -L$ADD6: -.quad 0x0000000000000000, 0x0000000600000000 -L$ADD7: -.quad 0x0000000000000000, 0x0000000700000000 -L$ADD8: -.quad 0x0000000000000000, 0x0000000800000000 -L$xts_magic: -.long 0x87,0,1,0 -L$masks: -.quad 0x0101010101010101, 0x0101010101010101 -.quad 0x0202020202020202, 0x0202020202020202 -.quad 0x0404040404040404, 0x0404040404040404 -.quad 0x0808080808080808, 0x0808080808080808 -L$M0: -.quad 0x02060a0e03070b0f, 0x0004080c0105090d -L$63: -.quad 0x6363636363636363, 0x6363636363636363 -.byte 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44,32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32,65,110,100,121,32,80,111,108,121,97,107,111,118,0 -.p2align 6 - diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/rsaz-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/rsaz-x86_64.s index eab5b54b2c1846..b572410a065e03 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/rsaz-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/rsaz-x86_64.s @@ -23,7 +23,7 @@ _rsaz_512_sqr: subq $128+24,%rsp L$sqr_body: - movq %rdx,%rbp +.byte 102,72,15,110,202 movq (%rsi),%rdx movq 8(%rsi),%rax movq %rcx,128(%rsp) @@ -38,6 +38,7 @@ L$oop_sqr: movl %r8d,128+8(%rsp) movq %rdx,%rbx + movq %rax,%rbp mulq %rdx movq %rax,%r8 movq 16(%rsi),%rax @@ -76,31 +77,29 @@ L$oop_sqr: mulq %rbx addq %rax,%r14 movq %rbx,%rax - movq %rdx,%r15 - adcq $0,%r15 + adcq $0,%rdx + xorq %rcx,%rcx addq %r8,%r8 - movq %r9,%rcx - adcq %r9,%r9 + movq %rdx,%r15 + adcq $0,%rcx mulq %rax - movq %rax,(%rsp) - addq %rdx,%r8 - adcq $0,%r9 + addq %r8,%rdx + adcq $0,%rcx - movq %r8,8(%rsp) - shrq $63,%rcx + movq %rax,(%rsp) + movq %rdx,8(%rsp) - movq 8(%rsi),%r8 movq 16(%rsi),%rax - mulq %r8 + mulq %rbp addq %rax,%r10 movq 24(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r11 movq 32(%rsi),%rax adcq $0,%rdx @@ -108,7 +107,7 @@ L$oop_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r12 movq 40(%rsi),%rax adcq $0,%rdx @@ -116,7 +115,7 @@ L$oop_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r13 movq 48(%rsi),%rax adcq $0,%rdx @@ -124,7 +123,7 @@ L$oop_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r14 movq 56(%rsi),%rax adcq $0,%rdx @@ -132,39 +131,39 @@ L$oop_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r15 - movq %r8,%rax + movq %rbp,%rax adcq $0,%rdx addq %rbx,%r15 - movq %rdx,%r8 - movq %r10,%rdx - adcq $0,%r8 + adcq $0,%rdx - addq %rdx,%rdx - leaq (%rcx,%r10,2),%r10 - movq %r11,%rbx - adcq %r11,%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r8 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax + movq 16(%rsi),%rbp addq %rax,%r9 + movq 24(%rsi),%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,16(%rsp) movq %r10,24(%rsp) - shrq $63,%rbx - movq 16(%rsi),%r9 - movq 24(%rsi),%rax - mulq %r9 + mulq %rbp addq %rax,%r12 movq 32(%rsi),%rax movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r13 movq 40(%rsi),%rax adcq $0,%rdx @@ -172,7 +171,7 @@ L$oop_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r14 movq 48(%rsi),%rax adcq $0,%rdx @@ -180,9 +179,7 @@ L$oop_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - movq %r12,%r10 - leaq (%rbx,%r12,2),%r12 + mulq %rbp addq %rax,%r15 movq 56(%rsi),%rax adcq $0,%rdx @@ -190,36 +187,40 @@ L$oop_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - shrq $63,%r10 + mulq %rbp addq %rax,%r8 - movq %r9,%rax + movq %rbp,%rax adcq $0,%rdx addq %rcx,%r8 - movq %rdx,%r9 - adcq $0,%r9 + adcq $0,%rdx - movq %r13,%rcx - leaq (%r10,%r13,2),%r13 + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r9 + adcq %r12,%r12 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax + movq 24(%rsi),%r10 addq %rax,%r11 + movq 32(%rsi),%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,32(%rsp) movq %r12,40(%rsp) - shrq $63,%rcx - movq 24(%rsi),%r10 - movq 32(%rsi),%rax + movq %rax,%r11 mulq %r10 addq %rax,%r14 movq 40(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx + movq %rax,%r12 mulq %r10 addq %rax,%r15 movq 48(%rsi),%rax @@ -228,9 +229,8 @@ L$oop_sqr: movq %rdx,%rbx adcq $0,%rbx + movq %rax,%rbp mulq %r10 - movq %r14,%r12 - leaq (%rcx,%r14,2),%r14 addq %rax,%r8 movq 56(%rsi),%rax adcq $0,%rdx @@ -239,32 +239,33 @@ L$oop_sqr: adcq $0,%rbx mulq %r10 - shrq $63,%r12 addq %rax,%r9 movq %r10,%rax adcq $0,%rdx addq %rbx,%r9 - movq %rdx,%r10 - adcq $0,%r10 + adcq $0,%rdx - movq %r15,%rbx - leaq (%r12,%r15,2),%r15 + xorq %rbx,%rbx + addq %r13,%r13 + movq %rdx,%r10 + adcq %r14,%r14 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r13 + movq %r12,%rax adcq %rdx,%r14 - adcq $0,%r15 + adcq $0,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) - shrq $63,%rbx - movq 32(%rsi),%r11 - movq 40(%rsi),%rax mulq %r11 addq %rax,%r8 - movq 48(%rsi),%rax + movq %rbp,%rax movq %rdx,%rcx adcq $0,%rcx @@ -272,97 +273,99 @@ L$oop_sqr: addq %rax,%r9 movq 56(%rsi),%rax adcq $0,%rdx - movq %r8,%r12 - leaq (%rbx,%r8,2),%r8 addq %rcx,%r9 movq %rdx,%rcx adcq $0,%rcx + movq %rax,%r14 mulq %r11 - shrq $63,%r12 addq %rax,%r10 movq %r11,%rax adcq $0,%rdx addq %rcx,%r10 - movq %rdx,%r11 - adcq $0,%r11 + adcq $0,%rdx - movq %r9,%rcx - leaq (%r12,%r9,2),%r9 + xorq %rcx,%rcx + addq %r15,%r15 + movq %rdx,%r11 + adcq %r8,%r8 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r15 + movq %rbp,%rax adcq %rdx,%r8 - adcq $0,%r9 + adcq $0,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) - shrq $63,%rcx - movq 40(%rsi),%r12 - movq 48(%rsi),%rax mulq %r12 addq %rax,%r10 - movq 56(%rsi),%rax + movq %r14,%rax movq %rdx,%rbx adcq $0,%rbx mulq %r12 addq %rax,%r11 movq %r12,%rax - movq %r10,%r15 - leaq (%rcx,%r10,2),%r10 adcq $0,%rdx - shrq $63,%r15 addq %rbx,%r11 - movq %rdx,%r12 - adcq $0,%r12 + adcq $0,%rdx - movq %r11,%rbx - leaq (%r15,%r11,2),%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r12 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r9 + movq %r14,%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) - movq 48(%rsi),%r13 - movq 56(%rsi),%rax - mulq %r13 + mulq %rbp addq %rax,%r12 - movq %r13,%rax - movq %rdx,%r13 - adcq $0,%r13 + movq %rbp,%rax + adcq $0,%rdx - xorq %r14,%r14 - shlq $1,%rbx + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r13 adcq %r12,%r12 - adcq %r13,%r13 - adcq %r14,%r14 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r11 + movq %r14,%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,96(%rsp) movq %r12,104(%rsp) - movq 56(%rsi),%rax - mulq %rax - addq %rax,%r13 - adcq $0,%rdx + xorq %rbx,%rbx + addq %r13,%r13 + adcq $0,%rbx - addq %rdx,%r14 + mulq %rax - movq %r13,112(%rsp) - movq %r14,120(%rsp) + addq %rcx,%rax + addq %r13,%rax + adcq %rbx,%rdx movq (%rsp),%r8 movq 8(%rsp),%r9 @@ -372,6 +375,10 @@ L$oop_sqr: movq 40(%rsp),%r13 movq 48(%rsp),%r14 movq 56(%rsp),%r15 +.byte 102,72,15,126,205 + + movq %rax,112(%rsp) + movq %rdx,120(%rsp) call __rsaz_512_reduce @@ -400,9 +407,9 @@ L$oop_sqr: L$oop_sqrx: movl %r8d,128+8(%rsp) .byte 102,72,15,110,199 -.byte 102,72,15,110,205 mulxq %rax,%r8,%r9 + movq %rax,%rbx mulxq 16(%rsi),%rcx,%r10 xorq %rbp,%rbp @@ -410,40 +417,39 @@ L$oop_sqrx: mulxq 24(%rsi),%rax,%r11 adcxq %rcx,%r9 - mulxq 32(%rsi),%rcx,%r12 +.byte 0xc4,0x62,0xf3,0xf6,0xa6,0x20,0x00,0x00,0x00 adcxq %rax,%r10 - mulxq 40(%rsi),%rax,%r13 +.byte 0xc4,0x62,0xfb,0xf6,0xae,0x28,0x00,0x00,0x00 adcxq %rcx,%r11 -.byte 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 + mulxq 48(%rsi),%rcx,%r14 adcxq %rax,%r12 adcxq %rcx,%r13 -.byte 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rax,%r15 adcxq %rax,%r14 adcxq %rbp,%r15 - movq %r9,%rcx - shldq $1,%r8,%r9 - shlq $1,%r8 - - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx - adcxq %rdx,%r8 - movq 8(%rsi),%rdx - adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi + movq %rbx,%rdx + xorq %rcx,%rcx + adoxq %r8,%r8 + adcxq %rdi,%r8 + adoxq %rbp,%rcx + adcxq %rbp,%rcx movq %rax,(%rsp) movq %r8,8(%rsp) - mulxq 16(%rsi),%rax,%rbx +.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x10,0x00,0x00,0x00 adoxq %rax,%r10 adcxq %rbx,%r11 -.byte 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r8 adoxq %rdi,%r11 +.byte 0x66 adcxq %r8,%r12 mulxq 32(%rsi),%rax,%rbx @@ -461,24 +467,25 @@ L$oop_sqrx: .byte 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 adoxq %rdi,%r15 adcxq %rbp,%r8 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r8 +.byte 0x48,0x8b,0x96,0x10,0x00,0x00,0x00 - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rcx - movq 16(%rsi),%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rcx,%r10 - adcxq %rbp,%r11 + adoxq %rbp,%rbx + adcxq %rdi,%r10 + adcxq %rbp,%rbx movq %r9,16(%rsp) .byte 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r9 adoxq %rdi,%r12 adcxq %r9,%r13 @@ -486,7 +493,7 @@ L$oop_sqrx: adoxq %rax,%r13 adcxq %rcx,%r14 - mulxq 40(%rsi),%rdi,%r9 +.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x28,0x00,0x00,0x00 adoxq %rdi,%r14 adcxq %r9,%r15 @@ -494,27 +501,28 @@ L$oop_sqrx: adoxq %rax,%r15 adcxq %rcx,%r8 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rdi,%r9 adoxq %rdi,%r8 adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r9 + movq 24(%rsi),%rdx - movq %r13,%rcx - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + xorq %rcx,%rcx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 24(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx movq %r11,32(%rsp) -.byte 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 + movq %r12,40(%rsp) -.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 + mulxq 32(%rsi),%rax,%rbx adoxq %rax,%r14 adcxq %rbx,%r15 @@ -529,25 +537,25 @@ L$oop_sqrx: mulxq 56(%rsi),%rdi,%r10 adoxq %rdi,%r9 adcxq %rbp,%r10 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r10 + movq 32(%rsi),%rdx -.byte 0x66 - movq %r15,%rbx - shldq $1,%r14,%r15 - shldq $1,%rcx,%r14 + xorq %rbx,%rbx + adoxq %r13,%r13 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r14,%r14 adcxq %rax,%r13 - adcxq %rdx,%r14 - movq 32(%rsi),%rdx - adcxq %rbp,%r15 + adoxq %rbp,%rbx + adcxq %rdi,%r14 + adcxq %rbp,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) -.byte 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 + mulxq 40(%rsi),%rdi,%r11 adoxq %rdi,%r8 adcxq %r11,%r9 @@ -558,18 +566,19 @@ L$oop_sqrx: mulxq 56(%rsi),%rdi,%r11 adoxq %rdi,%r10 adcxq %rbp,%r11 + mulxq %rdx,%rax,%rdi + movq 40(%rsi),%rdx adoxq %rbp,%r11 - movq %r9,%rcx - shldq $1,%r8,%r9 - shldq $1,%rbx,%r8 + xorq %rcx,%rcx + adoxq %r15,%r15 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r8,%r8 adcxq %rax,%r15 - adcxq %rdx,%r8 - movq 40(%rsi),%rdx - adcxq %rbp,%r9 + adoxq %rbp,%rcx + adcxq %rdi,%r8 + adcxq %rbp,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) @@ -582,18 +591,19 @@ L$oop_sqrx: .byte 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 adoxq %rdi,%r11 adcxq %rbp,%r12 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r12 + movq 48(%rsi),%rdx - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rdx,%r10 - movq 48(%rsi),%rdx - adcxq %rbp,%r11 + adcxq %rdi,%r10 + adoxq %rbp,%rbx + adcxq %rbp,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) @@ -603,31 +613,31 @@ L$oop_sqrx: adoxq %rax,%r12 adoxq %rbp,%r13 - xorq %r14,%r14 - shldq $1,%r13,%r14 - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + mulxq %rdx,%rax,%rdi + xorq %rcx,%rcx + movq 56(%rsi),%rdx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 56(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx .byte 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 .byte 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 mulxq %rdx,%rax,%rdx - adoxq %rax,%r13 - adoxq %rbp,%rdx + xorq %rbx,%rbx + adoxq %r13,%r13 -.byte 0x66 - addq %rdx,%r14 + adcxq %rcx,%rax + adoxq %rbp,%rbx + adcxq %r13,%rax + adcxq %rdx,%rbx - movq %r13,112(%rsp) - movq %r14,120(%rsp) .byte 102,72,15,126,199 .byte 102,72,15,126,205 @@ -641,6 +651,9 @@ L$oop_sqrx: movq 48(%rsp),%r14 movq 56(%rsp),%r15 + movq %rax,112(%rsp) + movq %rbx,120(%rsp) + call __rsaz_512_reducex addq 64(%rsp),%r8 @@ -1410,6 +1423,7 @@ L$mul_by_one_epilogue: .p2align 5 __rsaz_512_reduce: + movq %r8,%rbx imulq 128+8(%rsp),%rbx movq 0(%rbp),%rax @@ -1491,9 +1505,11 @@ L$reduction_loop: .byte 0xf3,0xc3 + .p2align 5 __rsaz_512_reducex: + imulq %r8,%rdx xorq %rsi,%rsi movl $8,%ecx @@ -1547,8 +1563,10 @@ L$reduction_loopx: .byte 0xf3,0xc3 + .p2align 5 __rsaz_512_subtract: + movq %r8,(%rdi) movq %r9,8(%rdi) movq %r10,16(%rdi) @@ -1604,8 +1622,10 @@ __rsaz_512_subtract: .byte 0xf3,0xc3 + .p2align 5 __rsaz_512_mul: + leaq 8(%rsp),%rdi movq (%rsi),%rax @@ -1746,8 +1766,10 @@ L$oop_mul: .byte 0xf3,0xc3 + .p2align 5 __rsaz_512_mulx: + mulxq (%rsi),%rbx,%r8 movq $-6,%rcx @@ -1865,10 +1887,12 @@ L$oop_mulx: .byte 0xf3,0xc3 + .globl _rsaz_512_scatter4 .p2align 4 _rsaz_512_scatter4: + leaq (%rdi,%rdx,8),%rdi movl $8,%r9d jmp L$oop_scatter @@ -1883,10 +1907,12 @@ L$oop_scatter: .byte 0xf3,0xc3 + .globl _rsaz_512_gather4 .p2align 4 _rsaz_512_gather4: + movd %edx,%xmm8 movdqa L$inc+16(%rip),%xmm1 movdqa L$inc(%rip),%xmm0 @@ -1952,6 +1978,7 @@ L$oop_gather: L$SEH_end_rsaz_512_gather4: + .p2align 6 L$inc: .long 0,0, 1,1 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/x86_64-mont5.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/x86_64-mont5.s index ee0ef1639a1286..6712682a60e027 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/x86_64-mont5.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/bn/x86_64-mont5.s @@ -550,6 +550,7 @@ L$mul4x_epilogue: .p2align 5 mul4x_internal: + shlq $5,%r9 movd 8(%rax),%xmm5 leaq L$inc(%rip),%rax @@ -1072,6 +1073,7 @@ L$inner4x: movq 24(%rbp),%r15 jmp L$sqr4x_sub_entry + .globl _bn_power5 .p2align 5 @@ -1284,6 +1286,7 @@ __bn_sqr8x_internal: + leaq 32(%r10),%rbp @@ -1989,8 +1992,10 @@ L$8x_no_tail: .byte 0xf3,0xc3 + .p2align 5 __bn_post4x_internal: + movq 0(%rbp),%r12 leaq (%rdi,%r9,1),%rbx movq %r9,%rcx @@ -2042,10 +2047,12 @@ L$sqr4x_sub_entry: negq %r9 .byte 0xf3,0xc3 + .globl _bn_from_montgomery .p2align 5 _bn_from_montgomery: + testl $7,%r9d jz bn_from_mont8x xorl %eax,%eax @@ -2053,6 +2060,7 @@ _bn_from_montgomery: + .p2align 5 bn_from_mont8x: @@ -2333,6 +2341,7 @@ L$mulx4x_epilogue: .p2align 5 mulx4x_internal: + movq %r9,8(%rsp) movq %r9,%r10 negq %r9 @@ -2753,6 +2762,7 @@ L$mulx4x_inner: jmp L$sqrx4x_sub_entry + .p2align 5 bn_powerx5: @@ -3509,6 +3519,7 @@ L$sqrx8x_no_tail: .p2align 5 __bn_postx4x_internal: + movq 0(%rbp),%r12 movq %rcx,%r10 movq %rcx,%r9 @@ -3557,10 +3568,12 @@ L$sqrx4x_sub_entry: .byte 0xf3,0xc3 + .globl _bn_get_bits5 .p2align 4 _bn_get_bits5: + leaq 0(%rdi),%r10 leaq 1(%rdi),%r11 movl %esi,%ecx @@ -3576,10 +3589,12 @@ _bn_get_bits5: .byte 0xf3,0xc3 + .globl _bn_scatter5 .p2align 4 _bn_scatter5: + cmpl $0,%esi jz L$scatter_epilogue leaq (%rdx,%rcx,8),%rdx @@ -3594,12 +3609,14 @@ L$scatter_epilogue: .byte 0xf3,0xc3 + .globl _bn_gather5 .p2align 5 _bn_gather5: L$SEH_begin_bn_gather5: + .byte 0x4c,0x8d,0x14,0x24 .byte 0x48,0x81,0xec,0x08,0x01,0x00,0x00 leaq L$inc(%rip),%rax @@ -3757,6 +3774,7 @@ L$gather: .byte 0xf3,0xc3 L$SEH_end_bn_gather5: + .p2align 6 L$inc: .long 0,0, 1,1 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h index a6d2dadb30280a..ab5367073d6352 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin64-x86_64-cc" -#define DATE "built on: Fri Sep 13 15:58:07 2019 UTC" +#define DATE "built on: Wed Mar 18 21:05:19 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -35,11 +35,12 @@ static const char compiler_flags[] = { 'A','2','5','6','_','A','S','M',' ','-','D','S','H','A','5','1', '2','_','A','S','M',' ','-','D','K','E','C','C','A','K','1','6', '0','0','_','A','S','M',' ','-','D','R','C','4','_','A','S','M', - ' ','-','D','M','D','5','_','A','S','M',' ','-','D','V','P','A', - 'E','S','_','A','S','M',' ','-','D','G','H','A','S','H','_','A', - 'S','M',' ','-','D','E','C','P','_','N','I','S','T','Z','2','5', - '6','_','A','S','M',' ','-','D','X','2','5','5','1','9','_','A', - 'S','M',' ','-','D','P','O','L','Y','1','3','0','5','_','A','S', - 'M',' ','-','D','_','R','E','E','N','T','R','A','N','T',' ','-', - 'D','N','D','E','B','U','G','\0' + ' ','-','D','M','D','5','_','A','S','M',' ','-','D','A','E','S', + 'N','I','_','A','S','M',' ','-','D','V','P','A','E','S','_','A', + 'S','M',' ','-','D','G','H','A','S','H','_','A','S','M',' ','-', + 'D','E','C','P','_','N','I','S','T','Z','2','5','6','_','A','S', + 'M',' ','-','D','X','2','5','5','1','9','_','A','S','M',' ','-', + 'D','P','O','L','Y','1','3','0','5','_','A','S','M',' ','-','D', + '_','R','E','E','N','T','R','A','N','T',' ','-','D','N','D','E', + 'B','U','G','\0' }; diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/camellia/cmll-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/camellia/cmll-x86_64.s index 2ae924deeceba5..d815175ff57356 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/camellia/cmll-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/camellia/cmll-x86_64.s @@ -5,6 +5,7 @@ .p2align 4 _Camellia_EncryptBlock: + movl $128,%eax subl %edi,%eax movl $3,%edi @@ -12,6 +13,7 @@ _Camellia_EncryptBlock: jmp L$enc_rounds + .globl _Camellia_EncryptBlock_Rounds .p2align 4 @@ -78,6 +80,7 @@ L$enc_epilogue: .p2align 4 _x86_64_Camellia_encrypt: + xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -283,10 +286,12 @@ L$edone: + .globl _Camellia_DecryptBlock .p2align 4 _Camellia_DecryptBlock: + movl $128,%eax subl %edi,%eax movl $3,%edi @@ -294,6 +299,7 @@ _Camellia_DecryptBlock: jmp L$dec_rounds + .globl _Camellia_DecryptBlock_Rounds .p2align 4 @@ -360,6 +366,7 @@ L$dec_epilogue: .p2align 4 _x86_64_Camellia_decrypt: + xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -564,6 +571,7 @@ L$ddone: .byte 0xf3,0xc3 + .globl _Camellia_Ekeygen .p2align 4 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/ec/ecp_nistz256-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/ec/ecp_nistz256-x86_64.s index ff7ae723440e6c..dc6bed3b5bdea4 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/ec/ecp_nistz256-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/ec/ecp_nistz256-x86_64.s @@ -3838,6 +3838,7 @@ L$ord_sqrx_epilogue: .p2align 5 _ecp_nistz256_to_mont: + movl $0x80100,%ecx andl _OPENSSL_ia32cap_P+8(%rip),%ecx leaq L$RR(%rip),%rdx @@ -3850,6 +3851,7 @@ _ecp_nistz256_to_mont: + .globl _ecp_nistz256_mul_mont .p2align 5 @@ -4771,6 +4773,7 @@ L$from_epilogue: .p2align 5 _ecp_nistz256_scatter_w5: + leal -3(%rdx,%rdx,2),%edx movdqa 0(%rsi),%xmm0 shll $5,%edx @@ -4791,6 +4794,7 @@ _ecp_nistz256_scatter_w5: + .globl _ecp_nistz256_gather_w5 .p2align 5 @@ -4860,6 +4864,7 @@ L$SEH_end_ecp_nistz256_gather_w5: .p2align 5 _ecp_nistz256_scatter_w7: + movdqu 0(%rsi),%xmm0 shll $6,%edx movdqu 16(%rsi),%xmm1 @@ -4875,6 +4880,7 @@ _ecp_nistz256_scatter_w7: + .globl _ecp_nistz256_gather_w7 .p2align 5 @@ -5593,26 +5599,16 @@ L$point_addq_body: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz L$add_proceedq .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz L$add_proceedq - testq %r9,%r9 - jz L$add_doubleq -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp L$add_doneq + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz L$add_proceedq -.p2align 5 L$add_doubleq: .byte 102,72,15,126,206 .byte 102,72,15,126,199 @@ -6694,26 +6690,16 @@ L$point_addx_body: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz L$add_proceedx .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz L$add_proceedx - testq %r9,%r9 - jz L$add_doublex -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp L$add_donex + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz L$add_proceedx -.p2align 5 L$add_doublex: .byte 102,72,15,126,206 .byte 102,72,15,126,199 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/ec/x25519-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/ec/x25519-x86_64.s index cdb602d4ccc897..158e8496114df7 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/ec/x25519-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/ec/x25519-x86_64.s @@ -382,6 +382,7 @@ L$fe51_mul121666_epilogue: .p2align 5 _x25519_fe64_eligible: + movl _OPENSSL_ia32cap_P+8(%rip),%ecx xorl %eax,%eax andl $0x80100,%ecx @@ -390,6 +391,7 @@ _x25519_fe64_eligible: .byte 0xf3,0xc3 + .globl _x25519_fe64_mul .p2align 5 @@ -616,6 +618,7 @@ L$fe64_sqr_epilogue: .p2align 5 _x25519_fe64_mul121666: L$fe64_mul121666_body: + movl $121666,%edx mulxq 0(%rsi),%r8,%rcx mulxq 8(%rsi),%r9,%rax @@ -646,11 +649,13 @@ L$fe64_mul121666_epilogue: .byte 0xf3,0xc3 + .globl _x25519_fe64_add .p2align 5 _x25519_fe64_add: L$fe64_add_body: + movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -681,11 +686,13 @@ L$fe64_add_epilogue: .byte 0xf3,0xc3 + .globl _x25519_fe64_sub .p2align 5 _x25519_fe64_sub: L$fe64_sub_body: + movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -716,11 +723,13 @@ L$fe64_sub_epilogue: .byte 0xf3,0xc3 + .globl _x25519_fe64_tobytes .p2align 5 _x25519_fe64_tobytes: L$fe64_to_body: + movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -757,4 +766,5 @@ L$fe64_to_body: L$fe64_to_epilogue: .byte 0xf3,0xc3 + .byte 88,50,53,53,49,57,32,112,114,105,109,105,116,105,118,101,115,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/include/internal/dso_conf.h index a69309195ed634..e2d05cdbf49656 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".dylib" diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/modes/aesni-gcm-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/modes/aesni-gcm-x86_64.s index d5920186ce6e5c..c26df9da7e6377 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/modes/aesni-gcm-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/modes/aesni-gcm-x86_64.s @@ -3,6 +3,7 @@ .p2align 5 _aesni_ctr32_ghash_6x: + vmovdqu 32(%r11),%xmm2 subq $6,%rdx vpxor %xmm4,%xmm4,%xmm4 @@ -311,6 +312,7 @@ L$6x_done: .byte 0xf3,0xc3 + .globl _aesni_gcm_decrypt .p2align 5 @@ -416,6 +418,7 @@ L$gcm_dec_abort: .p2align 5 _aesni_ctr32_6x: + vmovdqu 0-128(%rcx),%xmm4 vmovdqu 32(%r11),%xmm2 leaq -1(%rbp),%r13 @@ -504,6 +507,7 @@ L$handle_ctr32_2: jmp L$oop_ctr32 + .globl _aesni_gcm_encrypt .p2align 5 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/poly1305/poly1305-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/poly1305/poly1305-x86_64.s index cbc8c808168601..19e55e1d329afe 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/poly1305/poly1305-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/poly1305/poly1305-x86_64.s @@ -12,6 +12,7 @@ .p2align 5 _poly1305_init: + xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -50,6 +51,7 @@ L$no_key: + .p2align 5 _poly1305_blocks: @@ -161,6 +163,7 @@ L$blocks_epilogue: .p2align 5 _poly1305_emit: + L$emit: movq 0(%rdi),%r8 movq 8(%rdi),%r9 @@ -183,8 +186,10 @@ L$emit: .byte 0xf3,0xc3 + .p2align 5 __poly1305_block: + mulq %r14 movq %rax,%r9 movq %r11,%rax @@ -227,8 +232,10 @@ __poly1305_block: + .p2align 5 __poly1305_init_avx: + movq %r11,%r14 movq %r12,%rbx xorq %rbp,%rbp @@ -389,6 +396,7 @@ __poly1305_init_avx: + .p2align 5 poly1305_blocks_avx: @@ -1214,6 +1222,7 @@ L$short_tail_avx: .p2align 5 poly1305_emit_avx: + cmpl $0,20(%rdi) je L$emit @@ -1266,6 +1275,7 @@ poly1305_emit_avx: .byte 0xf3,0xc3 + .p2align 5 poly1305_blocks_avx2: @@ -2448,6 +2458,7 @@ L$tail_avx512: .p2align 5 poly1305_init_base2_44: + xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -2483,8 +2494,10 @@ L$init_base2_44: .byte 0xf3,0xc3 + .p2align 5 poly1305_blocks_vpmadd52: + shrq $4,%rdx jz L$no_data_vpmadd52 @@ -2593,8 +2606,10 @@ L$no_data_vpmadd52: .byte 0xf3,0xc3 + .p2align 5 poly1305_blocks_vpmadd52_4x: + shrq $4,%rdx jz L$no_data_vpmadd52_4x @@ -3021,8 +3036,10 @@ L$no_data_vpmadd52_4x: .byte 0xf3,0xc3 + .p2align 5 poly1305_blocks_vpmadd52_8x: + shrq $4,%rdx jz L$no_data_vpmadd52_8x @@ -3365,8 +3382,10 @@ L$no_data_vpmadd52_8x: .byte 0xf3,0xc3 + .p2align 5 poly1305_emit_base2_44: + movq 0(%rdi),%r8 movq 8(%rdi),%r9 movq 16(%rdi),%r10 @@ -3398,6 +3417,7 @@ poly1305_emit_base2_44: .byte 0xf3,0xc3 + .p2align 6 L$const: L$mask24: @@ -3435,6 +3455,7 @@ L$x_mask42: .p2align 4 _xor128_encrypt_n_pad: + subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -3478,10 +3499,12 @@ L$done_enc: .byte 0xf3,0xc3 + .globl _xor128_decrypt_n_pad .p2align 4 _xor128_decrypt_n_pad: + subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/rc4/rc4-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/rc4/rc4-x86_64.s index 8bfb48b74a672e..8b6186f0e2bca7 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/rc4/rc4-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/rc4/rc4-x86_64.s @@ -4,11 +4,12 @@ .globl _RC4 .p2align 4 -_RC4: orq %rsi,%rsi +_RC4: + + orq %rsi,%rsi jne L$entry .byte 0xf3,0xc3 L$entry: - pushq %rbx pushq %r12 @@ -530,6 +531,7 @@ L$epilogue: .p2align 4 _RC4_set_key: + leaq 8(%rdi),%rdi leaq (%rdx,%rsi,1),%rdx negq %rsi @@ -598,10 +600,12 @@ L$exit_key: .byte 0xf3,0xc3 + .globl _RC4_options .p2align 4 _RC4_options: + leaq L$opts(%rip),%rax movl _OPENSSL_ia32cap_P(%rip),%edx btl $20,%edx @@ -614,6 +618,7 @@ L$8xchar: addq $12,%rax L$done: .byte 0xf3,0xc3 + .p2align 6 L$opts: .byte 114,99,52,40,56,120,44,105,110,116,41,0 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/keccak1600-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/keccak1600-x86_64.s index ec096c5ab0cae8..5105d9818b5575 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/keccak1600-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/keccak1600-x86_64.s @@ -3,6 +3,7 @@ .p2align 5 __KeccakF1600: + movq 60(%rdi),%rax movq 68(%rdi),%rbx movq 76(%rdi),%rcx @@ -258,6 +259,7 @@ L$oop: + .p2align 5 KeccakF1600: diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/sha1-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/sha1-x86_64.s index 02472d0b7d57e5..fb22d41c1a44ed 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/sha1-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/sha1-x86_64.s @@ -1421,10 +1421,10 @@ L$oop_shaext: pshufd $27,%xmm1,%xmm1 movdqu %xmm0,(%rdi) movd %xmm1,16(%rdi) - .byte 0xf3,0xc3 + .p2align 4 sha1_block_data_order_ssse3: _ssse3_shortcut: diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/sha256-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/sha256-x86_64.s index e43cdd7040f517..3952a775b92182 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/sha256-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/sha256-x86_64.s @@ -1775,6 +1775,7 @@ K256: .p2align 6 sha256_block_data_order_shaext: _shaext_shortcut: + leaq K256+128(%rip),%rcx movdqu (%rdi),%xmm1 movdqu 16(%rdi),%xmm2 @@ -1979,6 +1980,7 @@ L$oop_shaext: .byte 0xf3,0xc3 + .p2align 6 sha256_block_data_order_ssse3: @@ -4238,7 +4240,15 @@ L$oop_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 88(%rsp),%rdi + leaq -64(%rsp),%rsp + + + + movq %rdi,-8(%rsp) + movl %ebx,%edi vmovdqa %ymm6,0(%rsp) xorl %ecx,%edi @@ -4250,6 +4260,12 @@ L$oop_avx2: .p2align 4 L$avx2_00_47: leaq -64(%rsp),%rsp + + + pushq 64-8(%rsp) + + leaq 8(%rsp),%rsp + vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4505,6 +4521,12 @@ L$avx2_00_47: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp + + + pushq 64-8(%rsp) + + leaq 8(%rsp),%rsp + vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -5380,6 +5402,8 @@ L$ower_avx2: leaq 448(%rsp),%rsp + + addl 0(%rdi),%eax addl 4(%rdi),%ebx addl 8(%rdi),%ecx @@ -5405,9 +5429,11 @@ L$ower_avx2: jbe L$oop_avx2 leaq (%rsp),%rbp + + + L$done_avx2: - leaq (%rbp),%rsp - movq 88(%rsp),%rsi + movq 88(%rbp),%rsi vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/sha512-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/sha512-x86_64.s index 51ace9a686804c..6348b0a2c0f8fa 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/sha512-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/sha/sha512-x86_64.s @@ -4165,7 +4165,15 @@ L$oop_avx2: vmovdqa %ymm10,64(%rsp) vpaddq 64(%rbp),%ymm6,%ymm10 vmovdqa %ymm11,96(%rsp) + + movq 152(%rsp),%rdi + leaq -128(%rsp),%rsp + + + + movq %rdi,-8(%rsp) + vpaddq 96(%rbp),%ymm7,%ymm11 vmovdqa %ymm8,0(%rsp) xorq %r14,%r14 @@ -4181,6 +4189,12 @@ L$oop_avx2: .p2align 4 L$avx2_00_47: leaq -128(%rsp),%rsp + + + pushq 128-8(%rsp) + + leaq 8(%rsp),%rsp + vpalignr $8,%ymm0,%ymm1,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -4474,6 +4488,12 @@ L$avx2_00_47: movq %r9,%r12 vmovdqa %ymm10,96(%rsp) leaq -128(%rsp),%rsp + + + pushq 128-8(%rsp) + + leaq 8(%rsp),%rsp + vpalignr $8,%ymm4,%ymm5,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -5387,6 +5407,8 @@ L$ower_avx2: leaq 1152(%rsp),%rsp + + addq 0(%rdi),%rax addq 8(%rdi),%rbx addq 16(%rdi),%rcx @@ -5412,9 +5434,11 @@ L$ower_avx2: jbe L$oop_avx2 leaq (%rsp),%rbp + + + L$done_avx2: - leaq (%rbp),%rsp - movq 152(%rsp),%rsi + movq 152(%rbp),%rsi vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/x86_64cpuid.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/x86_64cpuid.s index 05afede678c954..32a92da69f0b8c 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/x86_64cpuid.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/x86_64cpuid.s @@ -13,6 +13,7 @@ .p2align 4 _OPENSSL_atomic_add: + movl (%rdi),%eax L$spin: leaq (%rsi,%rax,1),%r8 .byte 0xf0 @@ -23,16 +24,19 @@ L$spin: leaq (%rsi,%rax,1),%r8 .byte 0xf3,0xc3 + .globl _OPENSSL_rdtsc .p2align 4 _OPENSSL_rdtsc: + rdtsc shlq $32,%rdx orq %rdx,%rax .byte 0xf3,0xc3 + .globl _OPENSSL_ia32_cpuid .p2align 4 @@ -206,6 +210,7 @@ L$done: .p2align 4 _OPENSSL_cleanse: + xorq %rax,%rax cmpq $15,%rsi jae L$ot @@ -237,10 +242,12 @@ L$aligned: .byte 0xf3,0xc3 + .globl _CRYPTO_memcmp .p2align 4 _CRYPTO_memcmp: + xorq %rax,%rax xorq %r10,%r10 cmpq $0,%rdx @@ -270,10 +277,12 @@ L$oop_cmp: L$no_data: .byte 0xf3,0xc3 + .globl _OPENSSL_wipe_cpu .p2align 4 _OPENSSL_wipe_cpu: + pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 @@ -301,10 +310,12 @@ _OPENSSL_wipe_cpu: leaq 8(%rsp),%rax .byte 0xf3,0xc3 + .globl _OPENSSL_instrument_bus .p2align 4 _OPENSSL_instrument_bus: + movq %rdi,%r10 movq %rsi,%rcx movq %rsi,%r11 @@ -333,10 +344,12 @@ L$oop: rdtsc .byte 0xf3,0xc3 + .globl _OPENSSL_instrument_bus2 .p2align 4 _OPENSSL_instrument_bus2: + movq %rdi,%r10 movq %rsi,%rcx movq %rdx,%r11 @@ -380,10 +393,12 @@ L$done2: subq %rcx,%rax .byte 0xf3,0xc3 + .globl _OPENSSL_ia32_rdrand_bytes .p2align 4 _OPENSSL_ia32_rdrand_bytes: + xorq %rax,%rax cmpq $0,%rsi je L$done_rdrand_bytes @@ -421,10 +436,12 @@ L$done_rdrand_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 + .globl _OPENSSL_ia32_rdseed_bytes .p2align 4 _OPENSSL_ia32_rdseed_bytes: + xorq %rax,%rax cmpq $0,%rsi je L$done_rdseed_bytes diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/opensslconf.h index 2a63d7a6ba190f..25a4ebf76afc2f 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/progs.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/progs.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/openssl-cl.gypi b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/openssl-cl.gypi index 95e8dc567ee299..152f3f9fa54295 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/openssl-cl.gypi +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/openssl-cl.gypi @@ -15,6 +15,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/openssl.gypi b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/openssl.gypi index f87225df694da8..3b44bb5fc89404 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/openssl.gypi +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/openssl.gypi @@ -722,6 +722,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/configdata.pm b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/configdata.pm index 32bcc2c46627da..e07de8a9b50ad8 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/configdata.pm @@ -48,14 +48,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "AESNI_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)../config/fake_gcc.pl", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_MACOSX" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "darwin64-x86_64-cc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -235,6 +235,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -352,8 +353,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -621,14 +622,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -704,6 +697,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1493,6 +1494,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3247,7 +3254,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3255,6 +3261,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3753,14 +3760,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4201,6 +4200,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4883,49 +4890,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4935,25 +4934,21 @@ our %unified_info = ( "crypto/aes/aesni-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4971,13 +4966,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4991,613 +4984,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5611,7 +5502,6 @@ our %unified_info = ( "crypto/bn/asm/x86_64-gcc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5621,182 +5511,152 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5806,19 +5666,16 @@ our %unified_info = ( "crypto/bn/rsaz-avx2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz_exp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5844,31 +5701,26 @@ our %unified_info = ( "crypto/bn/x86_64-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont5.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5878,37 +5730,31 @@ our %unified_info = ( "crypto/camellia/cmll-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5918,31 +5764,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5960,278 +5801,232 @@ our %unified_info = ( "crypto/chacha/chacha-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6241,301 +6036,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6543,7 +6288,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6551,7 +6295,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6559,7 +6302,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6567,7 +6309,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6575,7 +6316,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6583,163 +6323,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6757,241 +6470,201 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6999,21 +6672,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7021,13 +6691,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7035,81 +6703,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7117,328 +6772,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7448,91 +7042,76 @@ our %unified_info = ( "crypto/md5/md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/aesni-gcm-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7551,7 +7130,6 @@ our %unified_info = ( "crypto/modes/ghash-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7561,361 +7139,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7937,265 +7455,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8205,31 +7679,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8239,7 +7708,6 @@ our %unified_info = ( "crypto/sha/keccak1600-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8253,7 +7721,6 @@ our %unified_info = ( "crypto/sha/sha1-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-mips.o" => @@ -8271,19 +7738,16 @@ our %unified_info = ( "crypto/sha/sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8297,7 +7761,6 @@ our %unified_info = ( "crypto/sha/sha256-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-mips.o" => @@ -8315,13 +7778,11 @@ our %unified_info = ( "crypto/sha/sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8347,727 +7808,606 @@ our %unified_info = ( "crypto/sha/sha512-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86_64cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86_64.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9118,6 +8458,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9362,7 +8710,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9688,7 +9035,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9734,7 +9080,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9800,7 +9145,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9825,7 +9169,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9923,7 +9266,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9973,18 +9315,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9995,6 +9334,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10058,10 +9401,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10090,6 +9429,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10354,6 +9697,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15359,7 +14703,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15367,6 +14710,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15594,6 +14938,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15696,10 +15048,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15728,6 +15076,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aes-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aes-x86_64.s deleted file mode 100644 index ee148d19dcb0ff..00000000000000 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aes-x86_64.s +++ /dev/null @@ -1,2631 +0,0 @@ -.text - -.p2align 4 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp L$enc_loop -.p2align 4 -L$enc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz L$enc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 - - -.p2align 4 -_x86_64_AES_encrypt_compact: - - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp L$enc_loop_compact -.p2align 4 -L$enc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je L$enc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp L$enc_loop_compact -.p2align 4 -L$enc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 - - -.globl _AES_encrypt - -.p2align 4 -.globl _asm_AES_encrypt -.private_extern _asm_AES_encrypt -_asm_AES_encrypt: -_AES_encrypt: - - movq %rsp,%rax - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) - -L$enc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq L$AES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 - - movq -40(%rsi),%r14 - - movq -32(%rsi),%r13 - - movq -24(%rsi),%r12 - - movq -16(%rsi),%rbp - - movq -8(%rsi),%rbx - - leaq (%rsi),%rsp - -L$enc_epilogue: - .byte 0xf3,0xc3 - - - -.p2align 4 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp L$dec_loop -.p2align 4 -L$dec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz L$dec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 - - -.p2align 4 -_x86_64_AES_decrypt_compact: - - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp L$dec_loop_compact - -.p2align 4 -L$dec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je L$dec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp L$dec_loop_compact -.p2align 4 -L$dec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 - - -.globl _AES_decrypt - -.p2align 4 -.globl _asm_AES_decrypt -.private_extern _asm_AES_decrypt -_asm_AES_decrypt: -_AES_decrypt: - - movq %rsp,%rax - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) - -L$dec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq L$AES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 - - movq -40(%rsi),%r14 - - movq -32(%rsi),%r13 - - movq -24(%rsi),%r12 - - movq -16(%rsi),%rbp - - movq -8(%rsi),%rbx - - leaq (%rsi),%rsp - -L$dec_epilogue: - .byte 0xf3,0xc3 - - -.globl _AES_set_encrypt_key - -.p2align 4 -_AES_set_encrypt_key: - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - subq $8,%rsp - -L$enc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp - - movq 48(%rsp),%rbx - - addq $56,%rsp - -L$enc_key_epilogue: - .byte 0xf3,0xc3 - - - - -.p2align 4 -_x86_64_AES_set_encrypt_key: - - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz L$badpointer - testq $-1,%rdi - jz L$badpointer - - leaq L$AES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je L$10rounds - cmpl $192,%ecx - je L$12rounds - cmpl $256,%ecx - je L$14rounds - movq $-2,%rax - jmp L$exit - -L$10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp L$10shortcut -.p2align 2 -L$10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -L$10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl L$10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp L$exit - -L$12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp L$12shortcut -.p2align 2 -L$12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -L$12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je L$12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp L$12loop -L$12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp L$exit - -L$14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp L$14shortcut -.p2align 2 -L$14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -L$14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je L$14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp L$14loop -L$14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp L$exit - -L$badpointer: - movq $-1,%rax -L$exit: -.byte 0xf3,0xc3 - - -.globl _AES_set_decrypt_key - -.p2align 4 -_AES_set_decrypt_key: - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - pushq %rdx - -L$dec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne L$abort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.p2align 2 -L$invert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne L$invert - - leaq L$AES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.p2align 2 -L$permute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz L$permute - - xorq %rax,%rax -L$abort: - movq 8(%rsp),%r15 - - movq 16(%rsp),%r14 - - movq 24(%rsp),%r13 - - movq 32(%rsp),%r12 - - movq 40(%rsp),%rbp - - movq 48(%rsp),%rbx - - addq $56,%rsp - -L$dec_key_epilogue: - .byte 0xf3,0xc3 - - -.globl _AES_cbc_encrypt - -.p2align 4 - -.globl _asm_AES_cbc_encrypt -.private_extern _asm_AES_cbc_encrypt -_asm_AES_cbc_encrypt: -_AES_cbc_encrypt: - - cmpq $0,%rdx - je L$cbc_epilogue - pushfq - - - - pushq %rbx - - pushq %rbp - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - -L$cbc_prologue: - - cld - movl %r9d,%r9d - - leaq L$AES_Te(%rip),%r14 - leaq L$AES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - - - movl _OPENSSL_ia32cap_P(%rip),%r10d - cmpq $512,%rdx - jb L$cbc_slow_prologue - testq $15,%rdx - jnz L$cbc_slow_prologue - btl $28,%r10d - jc L$cbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb L$cbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp L$cbc_te_ok -L$cbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.p2align 2 -L$cbc_te_ok: - - xchgq %rsp,%r15 - - - movq %r15,16(%rsp) - -L$cbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb L$cbc_do_ecopy - cmpq $4096-248,%r10 - jb L$cbc_skip_ecopy -.p2align 2 -L$cbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -L$cbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.p2align 2 -L$cbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz L$cbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je L$FAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.p2align 2 -L$cbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz L$cbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp L$cbc_fast_cleanup - - -.p2align 4 -L$FAST_DECRYPT: - cmpq %r8,%r9 - je L$cbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.p2align 2 -L$cbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz L$cbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp L$cbc_fast_cleanup - -.p2align 4 -L$cbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.p2align 2 -L$cbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz L$cbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp L$cbc_fast_dec_in_place_loop -L$cbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.p2align 2 -L$cbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je L$cbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp L$cbc_exit - - -.p2align 4 -L$cbc_slow_prologue: - - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp - - - movq %rbp,16(%rsp) - -L$cbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je L$SLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz L$cbc_slow_enc_tail - -.p2align 2 -L$cbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz L$cbc_slow_enc_loop - testq $15,%r10 - jnz L$cbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp L$cbc_exit - -.p2align 2 -L$cbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp L$cbc_slow_enc_loop - -.p2align 4 -L$SLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.p2align 2 -L$cbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc L$cbc_slow_dec_partial - jz L$cbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp L$cbc_slow_dec_loop -L$cbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp L$cbc_exit - -.p2align 2 -L$cbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp L$cbc_exit - -.p2align 4 -L$cbc_exit: - movq 16(%rsp),%rsi - - movq (%rsi),%r15 - - movq 8(%rsi),%r14 - - movq 16(%rsi),%r13 - - movq 24(%rsi),%r12 - - movq 32(%rsi),%rbp - - movq 40(%rsi),%rbx - - leaq 48(%rsi),%rsp - -L$cbc_popfq: - popfq - - - -L$cbc_epilogue: - .byte 0xf3,0xc3 - - -.p2align 6 -L$AES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.p2align 6 -L$AES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.p2align 6 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-sha1-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-sha1-x86_64.s index aed8f3a345ad66..738aa6dc53b327 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-sha1-x86_64.s @@ -6,6 +6,7 @@ .p2align 5 _aesni_cbc_sha1_enc: + movl _OPENSSL_ia32cap_P+0(%rip),%r10d movq _OPENSSL_ia32cap_P+4(%rip),%r11 btq $61,%r11 @@ -19,6 +20,7 @@ _aesni_cbc_sha1_enc: .byte 0xf3,0xc3 + .p2align 5 aesni_cbc_sha1_enc_ssse3: @@ -2718,6 +2720,7 @@ K_XX_XX: .p2align 5 aesni_cbc_sha1_enc_shaext: + movq 8(%rsp),%r10 movdqu (%r9),%xmm8 movd 16(%r9),%xmm9 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-sha256-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-sha256-x86_64.s index 28cf0768cada91..3aee22c3bc57a8 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-sha256-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-sha256-x86_64.s @@ -5,6 +5,7 @@ .p2align 4 _aesni_cbc_sha256_enc: + leaq _OPENSSL_ia32cap_P(%rip),%r11 movl $1,%eax cmpq $0,%rdi @@ -32,6 +33,7 @@ L$probe: .byte 0xf3,0xc3 + .p2align 6 K256: @@ -2528,7 +2530,15 @@ L$oop_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 120(%rsp),%rsi + leaq -64(%rsp),%rsp + + + + movq %rsi,-8(%rsp) + movl %ebx,%esi vmovdqa %ymm6,0(%rsp) xorl %ecx,%esi @@ -2542,6 +2552,12 @@ L$avx2_00_47: vmovdqu (%r13),%xmm9 vpinsrq $0,%r13,%xmm15,%xmm15 leaq -64(%rsp),%rsp + + + pushq 64-8(%rsp) + + leaq 8(%rsp),%rsp + vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -2816,6 +2832,12 @@ L$avx2_00_47: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp + + + pushq 64-8(%rsp) + + leaq 8(%rsp),%rsp + vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4029,10 +4051,12 @@ L$ower_avx2: jbe L$oop_avx2 leaq (%rsp),%rbp + + + L$done_avx2: - leaq (%rbp),%rsp - movq 64+32(%rsp),%r8 - movq 120(%rsp),%rsi + movq 64+32(%rbp),%r8 + movq 64+56(%rbp),%rsi vmovdqu %xmm8,(%r8) vzeroall @@ -4057,6 +4081,7 @@ L$epilogue_avx2: .p2align 5 aesni_cbc_sha256_enc_shaext: + movq 8(%rsp),%r10 leaq K256+128(%rip),%rax movdqu (%r9),%xmm1 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-x86_64.s index 6792a530f28e8e..924900d84ebd18 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/aesni-x86_64.s @@ -861,6 +861,7 @@ L$ecb_ret: .p2align 4 _aesni_ccm64_encrypt_blocks: + movl 240(%rcx),%eax movdqu (%r8),%xmm6 movdqa L$increment64(%rip),%xmm9 @@ -920,10 +921,12 @@ L$ccm64_enc2_loop: pxor %xmm6,%xmm6 .byte 0xf3,0xc3 + .globl _aesni_ccm64_decrypt_blocks .p2align 4 _aesni_ccm64_decrypt_blocks: + movl 240(%rcx),%eax movups (%r8),%xmm6 movdqu (%r9),%xmm3 @@ -1017,6 +1020,7 @@ L$oop_enc1_6: pxor %xmm6,%xmm6 .byte 0xf3,0xc3 + .globl _aesni_ctr32_encrypt_blocks .p2align 4 @@ -2785,6 +2789,7 @@ L$ocb_enc_epilogue: .p2align 5 __ocb_encrypt6: + pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2885,8 +2890,10 @@ L$ocb_enc_loop6: + .p2align 5 __ocb_encrypt4: + pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2954,8 +2961,10 @@ L$ocb_enc_loop4: + .p2align 5 __ocb_encrypt1: + pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm2,%xmm8 @@ -2988,6 +2997,7 @@ L$ocb_enc_loop1: .byte 0xf3,0xc3 + .globl _aesni_ocb_decrypt .p2align 5 @@ -3223,6 +3233,7 @@ L$ocb_dec_epilogue: .p2align 5 __ocb_decrypt6: + pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3317,8 +3328,10 @@ L$ocb_dec_loop6: + .p2align 5 __ocb_decrypt4: + pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3382,8 +3395,10 @@ L$ocb_dec_loop4: + .p2align 5 __ocb_decrypt1: + pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm7,%xmm2 @@ -3414,6 +3429,7 @@ L$ocb_dec_loop1: .byte 102,15,56,223,215 .byte 0xf3,0xc3 + .globl _aesni_cbc_encrypt .p2align 4 @@ -4351,7 +4367,6 @@ L$enc_key_ret: addq $8,%rsp .byte 0xf3,0xc3 - L$SEH_end_set_encrypt_key: .p2align 4 @@ -4424,6 +4439,7 @@ L$key_expansion_256b: .byte 0xf3,0xc3 + .p2align 6 L$bswap_mask: .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/bsaes-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/bsaes-x86_64.s deleted file mode 100644 index 2fefb75ac36844..00000000000000 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/aes/bsaes-x86_64.s +++ /dev/null @@ -1,2571 +0,0 @@ -.text - - - - - -.p2align 6 -_bsaes_encrypt8: - - leaq L$BS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa 80(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 -_bsaes_encrypt8_bitslice: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp L$enc_sbox -.p2align 4 -L$enc_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -L$enc_sbox: - pxor %xmm5,%xmm4 - pxor %xmm0,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm1,%xmm5 - pxor %xmm15,%xmm4 - - pxor %xmm2,%xmm5 - pxor %xmm6,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm3,%xmm2 - pxor %xmm4,%xmm3 - pxor %xmm0,%xmm2 - - pxor %xmm6,%xmm1 - pxor %xmm4,%xmm0 - movdqa %xmm6,%xmm10 - movdqa %xmm0,%xmm9 - movdqa %xmm4,%xmm8 - movdqa %xmm1,%xmm12 - movdqa %xmm5,%xmm11 - - pxor %xmm3,%xmm10 - pxor %xmm1,%xmm9 - pxor %xmm2,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm3,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm15,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm2,%xmm11 - pxor %xmm15,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm6,%xmm12 - movdqa %xmm4,%xmm11 - pxor %xmm0,%xmm12 - pxor %xmm5,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm1,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm3,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm0,%xmm13 - pand %xmm2,%xmm11 - movdqa %xmm6,%xmm14 - pand %xmm15,%xmm12 - pand %xmm4,%xmm13 - por %xmm5,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm5,%xmm11 - movdqa %xmm4,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm5,%xmm9 - pxor %xmm4,%xmm5 - pand %xmm14,%xmm4 - pand %xmm13,%xmm5 - pxor %xmm4,%xmm5 - pxor %xmm9,%xmm4 - pxor %xmm15,%xmm11 - pxor %xmm2,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm2,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm2 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm2,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm2 - pxor %xmm11,%xmm5 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm2 - - movdqa %xmm6,%xmm11 - movdqa %xmm0,%xmm7 - pxor %xmm3,%xmm11 - pxor %xmm1,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm3,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm1,%xmm3 - pand %xmm14,%xmm7 - pand %xmm12,%xmm1 - pand %xmm13,%xmm11 - pand %xmm8,%xmm3 - pxor %xmm11,%xmm7 - pxor %xmm1,%xmm3 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm1 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm6,%xmm10 - pxor %xmm0,%xmm6 - pand %xmm14,%xmm0 - pand %xmm13,%xmm6 - pxor %xmm0,%xmm6 - pxor %xmm10,%xmm0 - pxor %xmm11,%xmm6 - pxor %xmm11,%xmm3 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm1 - pxor %xmm15,%xmm6 - pxor %xmm5,%xmm0 - pxor %xmm6,%xmm3 - pxor %xmm15,%xmm5 - pxor %xmm0,%xmm15 - - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm4 - pxor %xmm2,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm4,%xmm3 - - pxor %xmm2,%xmm5 - decl %r10d - jl L$enc_done - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm3,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm5,%xmm10 - pxor %xmm9,%xmm3 - pshufd $0x93,%xmm2,%xmm11 - pxor %xmm10,%xmm5 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm2 - pshufd $0x93,%xmm1,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm1 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm2,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm5,%xmm11 - pshufd $0x4E,%xmm2,%xmm7 - pxor %xmm1,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm3,%xmm10 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm1,%xmm5 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm12,%xmm8 - pxor %xmm10,%xmm2 - pxor %xmm14,%xmm6 - pxor %xmm13,%xmm5 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm1 - movdqa %xmm8,%xmm4 - movdqa 48(%r11),%xmm7 - jnz L$enc_loop - movdqa 64(%r11),%xmm7 - jmp L$enc_loop -.p2align 4 -L$enc_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm2,%xmm10 - psrlq $1,%xmm2 - pxor %xmm4,%xmm1 - pxor %xmm6,%xmm2 - pand %xmm7,%xmm1 - pand %xmm7,%xmm2 - pxor %xmm1,%xmm4 - psllq $1,%xmm1 - pxor %xmm2,%xmm6 - psllq $1,%xmm2 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm2 - movdqa %xmm3,%xmm9 - psrlq $1,%xmm3 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm5,%xmm3 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm3 - pand %xmm7,%xmm15 - pxor %xmm3,%xmm5 - psllq $1,%xmm3 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm2,%xmm10 - psrlq $2,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm1,%xmm2 - pand %xmm8,%xmm6 - pand %xmm8,%xmm2 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm2,%xmm1 - psllq $2,%xmm2 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm2 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm5,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm5 - psllq $2,%xmm0 - pxor %xmm15,%xmm3 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm5,%xmm9 - psrlq $4,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $4,%xmm3 - pxor %xmm4,%xmm5 - pxor %xmm1,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm4 - psllq $4,%xmm5 - pxor %xmm3,%xmm1 - psllq $4,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm2,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm2 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 - - - - -.p2align 6 -_bsaes_decrypt8: - - leaq L$BS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa -48(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp L$dec_sbox -.p2align 4 -L$dec_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -L$dec_sbox: - pxor %xmm3,%xmm2 - - pxor %xmm6,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm3,%xmm5 - pxor %xmm5,%xmm6 - pxor %xmm6,%xmm0 - - pxor %xmm0,%xmm15 - pxor %xmm4,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm15,%xmm4 - pxor %xmm2,%xmm0 - movdqa %xmm2,%xmm10 - movdqa %xmm6,%xmm9 - movdqa %xmm0,%xmm8 - movdqa %xmm3,%xmm12 - movdqa %xmm4,%xmm11 - - pxor %xmm15,%xmm10 - pxor %xmm3,%xmm9 - pxor %xmm5,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm15,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm1,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm5,%xmm11 - pxor %xmm1,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm2,%xmm12 - movdqa %xmm0,%xmm11 - pxor %xmm6,%xmm12 - pxor %xmm4,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm3,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm15,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm6,%xmm13 - pand %xmm5,%xmm11 - movdqa %xmm2,%xmm14 - pand %xmm1,%xmm12 - pand %xmm0,%xmm13 - por %xmm4,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm4,%xmm11 - movdqa %xmm0,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm4,%xmm9 - pxor %xmm0,%xmm4 - pand %xmm14,%xmm0 - pand %xmm13,%xmm4 - pxor %xmm0,%xmm4 - pxor %xmm9,%xmm0 - pxor %xmm1,%xmm11 - pxor %xmm5,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm1,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm5,%xmm1 - pand %xmm14,%xmm7 - pand %xmm12,%xmm5 - pand %xmm13,%xmm11 - pand %xmm8,%xmm1 - pxor %xmm11,%xmm7 - pxor %xmm5,%xmm1 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm5 - pxor %xmm11,%xmm4 - pxor %xmm11,%xmm1 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm5 - - movdqa %xmm2,%xmm11 - movdqa %xmm6,%xmm7 - pxor %xmm15,%xmm11 - pxor %xmm3,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm3,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm3 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm3,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm3 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm2,%xmm10 - pxor %xmm6,%xmm2 - pand %xmm14,%xmm6 - pand %xmm13,%xmm2 - pxor %xmm6,%xmm2 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm3 - pxor %xmm6,%xmm0 - pxor %xmm4,%xmm5 - - pxor %xmm0,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm6,%xmm4 - pxor %xmm1,%xmm3 - pxor %xmm15,%xmm6 - pxor %xmm4,%xmm3 - pxor %xmm5,%xmm2 - pxor %xmm0,%xmm5 - pxor %xmm3,%xmm2 - - pxor %xmm15,%xmm3 - pxor %xmm2,%xmm6 - decl %r10d - jl L$dec_done - - pshufd $0x4E,%xmm15,%xmm7 - pshufd $0x4E,%xmm2,%xmm13 - pxor %xmm15,%xmm7 - pshufd $0x4E,%xmm4,%xmm14 - pxor %xmm2,%xmm13 - pshufd $0x4E,%xmm0,%xmm8 - pxor %xmm4,%xmm14 - pshufd $0x4E,%xmm5,%xmm9 - pxor %xmm0,%xmm8 - pshufd $0x4E,%xmm3,%xmm10 - pxor %xmm5,%xmm9 - pxor %xmm13,%xmm15 - pxor %xmm13,%xmm0 - pshufd $0x4E,%xmm1,%xmm11 - pxor %xmm3,%xmm10 - pxor %xmm7,%xmm5 - pxor %xmm8,%xmm3 - pshufd $0x4E,%xmm6,%xmm12 - pxor %xmm1,%xmm11 - pxor %xmm14,%xmm0 - pxor %xmm9,%xmm1 - pxor %xmm6,%xmm12 - - pxor %xmm14,%xmm5 - pxor %xmm13,%xmm3 - pxor %xmm13,%xmm1 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm14,%xmm1 - pxor %xmm14,%xmm6 - pxor %xmm12,%xmm4 - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm5,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm3,%xmm10 - pxor %xmm9,%xmm5 - pshufd $0x93,%xmm1,%xmm11 - pxor %xmm10,%xmm3 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm1 - pshufd $0x93,%xmm2,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm2 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm1,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm3,%xmm11 - pshufd $0x4E,%xmm1,%xmm7 - pxor %xmm2,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm5,%xmm10 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm2,%xmm3 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm12,%xmm8 - pxor %xmm1,%xmm10 - pxor %xmm14,%xmm6 - pxor %xmm3,%xmm13 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm2 - movdqa %xmm13,%xmm5 - movdqa %xmm8,%xmm4 - movdqa %xmm2,%xmm1 - movdqa %xmm10,%xmm2 - movdqa -16(%r11),%xmm7 - jnz L$dec_loop - movdqa -32(%r11),%xmm7 - jmp L$dec_loop -.p2align 4 -L$dec_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm2,%xmm9 - psrlq $1,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $1,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm6,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm4 - psllq $1,%xmm2 - pxor %xmm1,%xmm6 - psllq $1,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm3,%xmm5 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm5 - pand %xmm7,%xmm15 - pxor %xmm5,%xmm3 - psllq $1,%xmm5 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm1,%xmm10 - psrlq $2,%xmm1 - pxor %xmm4,%xmm6 - pxor %xmm2,%xmm1 - pand %xmm8,%xmm6 - pand %xmm8,%xmm1 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm1,%xmm2 - psllq $2,%xmm1 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm3,%xmm0 - pxor %xmm5,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm3 - psllq $2,%xmm0 - pxor %xmm15,%xmm5 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm3,%xmm9 - psrlq $4,%xmm3 - movdqa %xmm5,%xmm10 - psrlq $4,%xmm5 - pxor %xmm4,%xmm3 - pxor %xmm2,%xmm5 - pand %xmm7,%xmm3 - pand %xmm7,%xmm5 - pxor %xmm3,%xmm4 - psllq $4,%xmm3 - pxor %xmm5,%xmm2 - psllq $4,%xmm5 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm5 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm1 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 - - - -.p2align 4 -_bsaes_key_convert: - - leaq L$masks(%rip),%r11 - movdqu (%rcx),%xmm7 - leaq 16(%rcx),%rcx - movdqa 0(%r11),%xmm0 - movdqa 16(%r11),%xmm1 - movdqa 32(%r11),%xmm2 - movdqa 48(%r11),%xmm3 - movdqa 64(%r11),%xmm4 - pcmpeqd %xmm5,%xmm5 - - movdqu (%rcx),%xmm6 - movdqa %xmm7,(%rax) - leaq 16(%rax),%rax - decl %r10d - jmp L$key_loop -.p2align 4 -L$key_loop: -.byte 102,15,56,0,244 - - movdqa %xmm0,%xmm8 - movdqa %xmm1,%xmm9 - - pand %xmm6,%xmm8 - pand %xmm6,%xmm9 - movdqa %xmm2,%xmm10 - pcmpeqb %xmm0,%xmm8 - psllq $4,%xmm0 - movdqa %xmm3,%xmm11 - pcmpeqb %xmm1,%xmm9 - psllq $4,%xmm1 - - pand %xmm6,%xmm10 - pand %xmm6,%xmm11 - movdqa %xmm0,%xmm12 - pcmpeqb %xmm2,%xmm10 - psllq $4,%xmm2 - movdqa %xmm1,%xmm13 - pcmpeqb %xmm3,%xmm11 - psllq $4,%xmm3 - - movdqa %xmm2,%xmm14 - movdqa %xmm3,%xmm15 - pxor %xmm5,%xmm8 - pxor %xmm5,%xmm9 - - pand %xmm6,%xmm12 - pand %xmm6,%xmm13 - movdqa %xmm8,0(%rax) - pcmpeqb %xmm0,%xmm12 - psrlq $4,%xmm0 - movdqa %xmm9,16(%rax) - pcmpeqb %xmm1,%xmm13 - psrlq $4,%xmm1 - leaq 16(%rcx),%rcx - - pand %xmm6,%xmm14 - pand %xmm6,%xmm15 - movdqa %xmm10,32(%rax) - pcmpeqb %xmm2,%xmm14 - psrlq $4,%xmm2 - movdqa %xmm11,48(%rax) - pcmpeqb %xmm3,%xmm15 - psrlq $4,%xmm3 - movdqu (%rcx),%xmm6 - - pxor %xmm5,%xmm13 - pxor %xmm5,%xmm14 - movdqa %xmm12,64(%rax) - movdqa %xmm13,80(%rax) - movdqa %xmm14,96(%rax) - movdqa %xmm15,112(%rax) - leaq 128(%rax),%rax - decl %r10d - jnz L$key_loop - - movdqa 80(%r11),%xmm7 - - .byte 0xf3,0xc3 - - - -.globl _bsaes_cbc_encrypt - -.p2align 4 -_bsaes_cbc_encrypt: - - cmpl $0,%r9d - jne _asm_AES_cbc_encrypt - cmpq $128,%rdx - jb _asm_AES_cbc_encrypt - - movq %rsp,%rax -L$cbc_dec_prologue: - pushq %rbp - - pushq %rbx - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - leaq -72(%rsp),%rsp - - movq %rsp,%rbp - - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movq %r8,%rbx - shrq $4,%r14 - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - movdqu (%rbx),%xmm14 - subq $8,%r14 -L$cbc_dec_loop: - movdqu 0(%r12),%xmm15 - movdqu 16(%r12),%xmm0 - movdqu 32(%r12),%xmm1 - movdqu 48(%r12),%xmm2 - movdqu 64(%r12),%xmm3 - movdqu 80(%r12),%xmm4 - movq %rsp,%rax - movdqu 96(%r12),%xmm5 - movl %edx,%r10d - movdqu 112(%r12),%xmm6 - movdqa %xmm14,32(%rbp) - - call _bsaes_decrypt8 - - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm2 - movdqu 112(%r12),%xmm14 - pxor %xmm13,%xmm4 - movdqu %xmm15,0(%r13) - leaq 128(%r12),%r12 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - subq $8,%r14 - jnc L$cbc_dec_loop - - addq $8,%r14 - jz L$cbc_dec_done - - movdqu 0(%r12),%xmm15 - movq %rsp,%rax - movl %edx,%r10d - cmpq $2,%r14 - jb L$cbc_dec_one - movdqu 16(%r12),%xmm0 - je L$cbc_dec_two - movdqu 32(%r12),%xmm1 - cmpq $4,%r14 - jb L$cbc_dec_three - movdqu 48(%r12),%xmm2 - je L$cbc_dec_four - movdqu 64(%r12),%xmm3 - cmpq $6,%r14 - jb L$cbc_dec_five - movdqu 80(%r12),%xmm4 - je L$cbc_dec_six - movdqu 96(%r12),%xmm5 - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm14 - pxor %xmm12,%xmm2 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - jmp L$cbc_dec_done -.p2align 4 -L$cbc_dec_six: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm14 - pxor %xmm11,%xmm6 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - jmp L$cbc_dec_done -.p2align 4 -L$cbc_dec_five: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm14 - pxor %xmm10,%xmm1 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - jmp L$cbc_dec_done -.p2align 4 -L$cbc_dec_four: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm14 - pxor %xmm9,%xmm3 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - jmp L$cbc_dec_done -.p2align 4 -L$cbc_dec_three: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm14 - pxor %xmm8,%xmm5 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - jmp L$cbc_dec_done -.p2align 4 -L$cbc_dec_two: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm14 - pxor %xmm7,%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - jmp L$cbc_dec_done -.p2align 4 -L$cbc_dec_one: - leaq (%r12),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call _asm_AES_decrypt - pxor 32(%rbp),%xmm14 - movdqu %xmm14,(%r13) - movdqa %xmm15,%xmm14 - -L$cbc_dec_done: - movdqu %xmm14,(%rbx) - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -L$cbc_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja L$cbc_dec_bzero - - leaq 120(%rbp),%rax - - movq -48(%rax),%r15 - - movq -40(%rax),%r14 - - movq -32(%rax),%r13 - - movq -24(%rax),%r12 - - movq -16(%rax),%rbx - - movq -8(%rax),%rbp - - leaq (%rax),%rsp - -L$cbc_dec_epilogue: - .byte 0xf3,0xc3 - - - -.globl _bsaes_ctr32_encrypt_blocks - -.p2align 4 -_bsaes_ctr32_encrypt_blocks: - - movq %rsp,%rax -L$ctr_enc_prologue: - pushq %rbp - - pushq %rbx - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - leaq -72(%rsp),%rsp - - movq %rsp,%rbp - - movdqu (%r8),%xmm0 - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movdqa %xmm0,32(%rbp) - cmpq $8,%rdx - jb L$ctr_enc_short - - movl %eax,%ebx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %ebx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - movdqa (%rsp),%xmm8 - leaq L$ADD1(%rip),%r11 - movdqa 32(%rbp),%xmm15 - movdqa -32(%r11),%xmm7 -.byte 102,68,15,56,0,199 -.byte 102,68,15,56,0,255 - movdqa %xmm8,(%rsp) - jmp L$ctr_enc_loop -.p2align 4 -L$ctr_enc_loop: - movdqa %xmm15,32(%rbp) - movdqa %xmm15,%xmm0 - movdqa %xmm15,%xmm1 - paddd 0(%r11),%xmm0 - movdqa %xmm15,%xmm2 - paddd 16(%r11),%xmm1 - movdqa %xmm15,%xmm3 - paddd 32(%r11),%xmm2 - movdqa %xmm15,%xmm4 - paddd 48(%r11),%xmm3 - movdqa %xmm15,%xmm5 - paddd 64(%r11),%xmm4 - movdqa %xmm15,%xmm6 - paddd 80(%r11),%xmm5 - paddd 96(%r11),%xmm6 - - - - movdqa (%rsp),%xmm8 - leaq 16(%rsp),%rax - movdqa -16(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq L$BS0(%rip),%r11 - movl %ebx,%r10d - - call _bsaes_encrypt8_bitslice - - subq $8,%r14 - jc L$ctr_enc_loop_done - - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - movdqu 32(%r12),%xmm9 - movdqu 48(%r12),%xmm10 - movdqu 64(%r12),%xmm11 - movdqu 80(%r12),%xmm12 - movdqu 96(%r12),%xmm13 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - pxor %xmm15,%xmm7 - movdqa 32(%rbp),%xmm15 - pxor %xmm8,%xmm0 - movdqu %xmm7,0(%r13) - pxor %xmm9,%xmm3 - movdqu %xmm0,16(%r13) - pxor %xmm10,%xmm5 - movdqu %xmm3,32(%r13) - pxor %xmm11,%xmm2 - movdqu %xmm5,48(%r13) - pxor %xmm12,%xmm6 - movdqu %xmm2,64(%r13) - pxor %xmm13,%xmm1 - movdqu %xmm6,80(%r13) - pxor %xmm14,%xmm4 - movdqu %xmm1,96(%r13) - leaq L$ADD1(%rip),%r11 - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - paddd 112(%r11),%xmm15 - jnz L$ctr_enc_loop - - jmp L$ctr_enc_done -.p2align 4 -L$ctr_enc_loop_done: - addq $8,%r14 - movdqu 0(%r12),%xmm7 - pxor %xmm7,%xmm15 - movdqu %xmm15,0(%r13) - cmpq $2,%r14 - jb L$ctr_enc_done - movdqu 16(%r12),%xmm8 - pxor %xmm8,%xmm0 - movdqu %xmm0,16(%r13) - je L$ctr_enc_done - movdqu 32(%r12),%xmm9 - pxor %xmm9,%xmm3 - movdqu %xmm3,32(%r13) - cmpq $4,%r14 - jb L$ctr_enc_done - movdqu 48(%r12),%xmm10 - pxor %xmm10,%xmm5 - movdqu %xmm5,48(%r13) - je L$ctr_enc_done - movdqu 64(%r12),%xmm11 - pxor %xmm11,%xmm2 - movdqu %xmm2,64(%r13) - cmpq $6,%r14 - jb L$ctr_enc_done - movdqu 80(%r12),%xmm12 - pxor %xmm12,%xmm6 - movdqu %xmm6,80(%r13) - je L$ctr_enc_done - movdqu 96(%r12),%xmm13 - pxor %xmm13,%xmm1 - movdqu %xmm1,96(%r13) - jmp L$ctr_enc_done - -.p2align 4 -L$ctr_enc_short: - leaq 32(%rbp),%rdi - leaq 48(%rbp),%rsi - leaq (%r15),%rdx - call _asm_AES_encrypt - movdqu (%r12),%xmm0 - leaq 16(%r12),%r12 - movl 44(%rbp),%eax - bswapl %eax - pxor 48(%rbp),%xmm0 - incl %eax - movdqu %xmm0,(%r13) - bswapl %eax - leaq 16(%r13),%r13 - movl %eax,44(%rsp) - decq %r14 - jnz L$ctr_enc_short - -L$ctr_enc_done: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -L$ctr_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja L$ctr_enc_bzero - - leaq 120(%rbp),%rax - - movq -48(%rax),%r15 - - movq -40(%rax),%r14 - - movq -32(%rax),%r13 - - movq -24(%rax),%r12 - - movq -16(%rax),%rbx - - movq -8(%rax),%rbp - - leaq (%rax),%rsp - -L$ctr_enc_epilogue: - .byte 0xf3,0xc3 - - -.globl _bsaes_xts_encrypt - -.p2align 4 -_bsaes_xts_encrypt: - - movq %rsp,%rax -L$xts_enc_prologue: - pushq %rbp - - pushq %rbx - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - leaq -72(%rsp),%rsp - - movq %rsp,%rbp - - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call _asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - andq $-16,%r14 - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa L$xts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc L$xts_enc_short - jmp L$xts_enc_loop - -.p2align 4 -L$xts_enc_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm1,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa L$xts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc L$xts_enc_loop - -L$xts_enc_short: - addq $0x80,%r14 - jz L$xts_enc_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je L$xts_enc_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je L$xts_enc_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je L$xts_enc_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je L$xts_enc_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je L$xts_enc_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je L$xts_enc_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - movdqu %xmm1,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp L$xts_enc_done -.p2align 4 -L$xts_enc_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp L$xts_enc_done -.p2align 4 -L$xts_enc_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - movdqu %xmm2,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp L$xts_enc_done -.p2align 4 -L$xts_enc_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - movdqu %xmm5,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp L$xts_enc_done -.p2align 4 -L$xts_enc_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - movdqu %xmm3,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp L$xts_enc_done -.p2align 4 -L$xts_enc_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp L$xts_enc_done -.p2align 4 -L$xts_enc_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call _asm_AES_encrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -L$xts_enc_done: - andl $15,%ebx - jz L$xts_enc_ret - movq %r13,%rdx - -L$xts_enc_steal: - movzbl (%r12),%eax - movzbl -16(%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,-16(%rdx) - movb %cl,0(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz L$xts_enc_steal - - movdqu -16(%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call _asm_AES_encrypt - pxor 32(%rbp),%xmm6 - movdqu %xmm6,-16(%r13) - -L$xts_enc_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -L$xts_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja L$xts_enc_bzero - - leaq 120(%rbp),%rax - - movq -48(%rax),%r15 - - movq -40(%rax),%r14 - - movq -32(%rax),%r13 - - movq -24(%rax),%r12 - - movq -16(%rax),%rbx - - movq -8(%rax),%rbp - - leaq (%rax),%rsp - -L$xts_enc_epilogue: - .byte 0xf3,0xc3 - - - -.globl _bsaes_xts_decrypt - -.p2align 4 -_bsaes_xts_decrypt: - - movq %rsp,%rax -L$xts_dec_prologue: - pushq %rbp - - pushq %rbx - - pushq %r12 - - pushq %r13 - - pushq %r14 - - pushq %r15 - - leaq -72(%rsp),%rsp - - movq %rsp,%rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call _asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - xorl %eax,%eax - andq $-16,%r14 - testl $15,%ebx - setnz %al - shlq $4,%rax - subq %rax,%r14 - - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa L$xts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc L$xts_dec_short - jmp L$xts_dec_loop - -.p2align 4 -L$xts_dec_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa L$xts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc L$xts_dec_loop - -L$xts_dec_short: - addq $0x80,%r14 - jz L$xts_dec_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je L$xts_dec_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je L$xts_dec_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je L$xts_dec_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je L$xts_dec_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je L$xts_dec_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je L$xts_dec_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp L$xts_dec_done -.p2align 4 -L$xts_dec_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp L$xts_dec_done -.p2align 4 -L$xts_dec_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp L$xts_dec_done -.p2align 4 -L$xts_dec_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp L$xts_dec_done -.p2align 4 -L$xts_dec_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp L$xts_dec_done -.p2align 4 -L$xts_dec_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp L$xts_dec_done -.p2align 4 -L$xts_dec_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call _asm_AES_decrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -L$xts_dec_done: - andl $15,%ebx - jz L$xts_dec_ret - - pxor %xmm14,%xmm14 - movdqa L$xts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - movdqa %xmm6,%xmm5 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - movdqu (%r12),%xmm15 - pxor %xmm13,%xmm6 - - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call _asm_AES_decrypt - pxor 32(%rbp),%xmm6 - movq %r13,%rdx - movdqu %xmm6,(%r13) - -L$xts_dec_steal: - movzbl 16(%r12),%eax - movzbl (%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,(%rdx) - movb %cl,16(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz L$xts_dec_steal - - movdqu (%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm5,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call _asm_AES_decrypt - pxor 32(%rbp),%xmm5 - movdqu %xmm5,(%r13) - -L$xts_dec_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -L$xts_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja L$xts_dec_bzero - - leaq 120(%rbp),%rax - - movq -48(%rax),%r15 - - movq -40(%rax),%r14 - - movq -32(%rax),%r13 - - movq -24(%rax),%r12 - - movq -16(%rax),%rbx - - movq -8(%rax),%rbp - - leaq (%rax),%rsp - -L$xts_dec_epilogue: - .byte 0xf3,0xc3 - - - -.p2align 6 -_bsaes_const: -L$M0ISR: -.quad 0x0a0e0206070b0f03, 0x0004080c0d010509 -L$ISRM0: -.quad 0x01040b0e0205080f, 0x0306090c00070a0d -L$ISR: -.quad 0x0504070602010003, 0x0f0e0d0c080b0a09 -L$BS0: -.quad 0x5555555555555555, 0x5555555555555555 -L$BS1: -.quad 0x3333333333333333, 0x3333333333333333 -L$BS2: -.quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f -L$SR: -.quad 0x0504070600030201, 0x0f0e0d0c0a09080b -L$SRM0: -.quad 0x0304090e00050a0f, 0x01060b0c0207080d -L$M0SR: -.quad 0x0a0e02060f03070b, 0x0004080c05090d01 -L$SWPUP: -.quad 0x0706050403020100, 0x0c0d0e0f0b0a0908 -L$SWPUPM0SR: -.quad 0x0a0d02060c03070b, 0x0004080f05090e01 -L$ADD1: -.quad 0x0000000000000000, 0x0000000100000000 -L$ADD2: -.quad 0x0000000000000000, 0x0000000200000000 -L$ADD3: -.quad 0x0000000000000000, 0x0000000300000000 -L$ADD4: -.quad 0x0000000000000000, 0x0000000400000000 -L$ADD5: -.quad 0x0000000000000000, 0x0000000500000000 -L$ADD6: -.quad 0x0000000000000000, 0x0000000600000000 -L$ADD7: -.quad 0x0000000000000000, 0x0000000700000000 -L$ADD8: -.quad 0x0000000000000000, 0x0000000800000000 -L$xts_magic: -.long 0x87,0,1,0 -L$masks: -.quad 0x0101010101010101, 0x0101010101010101 -.quad 0x0202020202020202, 0x0202020202020202 -.quad 0x0404040404040404, 0x0404040404040404 -.quad 0x0808080808080808, 0x0808080808080808 -L$M0: -.quad 0x02060a0e03070b0f, 0x0004080c0105090d -L$63: -.quad 0x6363636363636363, 0x6363636363636363 -.byte 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44,32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32,65,110,100,121,32,80,111,108,121,97,107,111,118,0 -.p2align 6 - diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/rsaz-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/rsaz-x86_64.s index eab5b54b2c1846..b572410a065e03 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/rsaz-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/rsaz-x86_64.s @@ -23,7 +23,7 @@ _rsaz_512_sqr: subq $128+24,%rsp L$sqr_body: - movq %rdx,%rbp +.byte 102,72,15,110,202 movq (%rsi),%rdx movq 8(%rsi),%rax movq %rcx,128(%rsp) @@ -38,6 +38,7 @@ L$oop_sqr: movl %r8d,128+8(%rsp) movq %rdx,%rbx + movq %rax,%rbp mulq %rdx movq %rax,%r8 movq 16(%rsi),%rax @@ -76,31 +77,29 @@ L$oop_sqr: mulq %rbx addq %rax,%r14 movq %rbx,%rax - movq %rdx,%r15 - adcq $0,%r15 + adcq $0,%rdx + xorq %rcx,%rcx addq %r8,%r8 - movq %r9,%rcx - adcq %r9,%r9 + movq %rdx,%r15 + adcq $0,%rcx mulq %rax - movq %rax,(%rsp) - addq %rdx,%r8 - adcq $0,%r9 + addq %r8,%rdx + adcq $0,%rcx - movq %r8,8(%rsp) - shrq $63,%rcx + movq %rax,(%rsp) + movq %rdx,8(%rsp) - movq 8(%rsi),%r8 movq 16(%rsi),%rax - mulq %r8 + mulq %rbp addq %rax,%r10 movq 24(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r11 movq 32(%rsi),%rax adcq $0,%rdx @@ -108,7 +107,7 @@ L$oop_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r12 movq 40(%rsi),%rax adcq $0,%rdx @@ -116,7 +115,7 @@ L$oop_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r13 movq 48(%rsi),%rax adcq $0,%rdx @@ -124,7 +123,7 @@ L$oop_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r14 movq 56(%rsi),%rax adcq $0,%rdx @@ -132,39 +131,39 @@ L$oop_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r15 - movq %r8,%rax + movq %rbp,%rax adcq $0,%rdx addq %rbx,%r15 - movq %rdx,%r8 - movq %r10,%rdx - adcq $0,%r8 + adcq $0,%rdx - addq %rdx,%rdx - leaq (%rcx,%r10,2),%r10 - movq %r11,%rbx - adcq %r11,%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r8 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax + movq 16(%rsi),%rbp addq %rax,%r9 + movq 24(%rsi),%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,16(%rsp) movq %r10,24(%rsp) - shrq $63,%rbx - movq 16(%rsi),%r9 - movq 24(%rsi),%rax - mulq %r9 + mulq %rbp addq %rax,%r12 movq 32(%rsi),%rax movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r13 movq 40(%rsi),%rax adcq $0,%rdx @@ -172,7 +171,7 @@ L$oop_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r14 movq 48(%rsi),%rax adcq $0,%rdx @@ -180,9 +179,7 @@ L$oop_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - movq %r12,%r10 - leaq (%rbx,%r12,2),%r12 + mulq %rbp addq %rax,%r15 movq 56(%rsi),%rax adcq $0,%rdx @@ -190,36 +187,40 @@ L$oop_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - shrq $63,%r10 + mulq %rbp addq %rax,%r8 - movq %r9,%rax + movq %rbp,%rax adcq $0,%rdx addq %rcx,%r8 - movq %rdx,%r9 - adcq $0,%r9 + adcq $0,%rdx - movq %r13,%rcx - leaq (%r10,%r13,2),%r13 + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r9 + adcq %r12,%r12 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax + movq 24(%rsi),%r10 addq %rax,%r11 + movq 32(%rsi),%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,32(%rsp) movq %r12,40(%rsp) - shrq $63,%rcx - movq 24(%rsi),%r10 - movq 32(%rsi),%rax + movq %rax,%r11 mulq %r10 addq %rax,%r14 movq 40(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx + movq %rax,%r12 mulq %r10 addq %rax,%r15 movq 48(%rsi),%rax @@ -228,9 +229,8 @@ L$oop_sqr: movq %rdx,%rbx adcq $0,%rbx + movq %rax,%rbp mulq %r10 - movq %r14,%r12 - leaq (%rcx,%r14,2),%r14 addq %rax,%r8 movq 56(%rsi),%rax adcq $0,%rdx @@ -239,32 +239,33 @@ L$oop_sqr: adcq $0,%rbx mulq %r10 - shrq $63,%r12 addq %rax,%r9 movq %r10,%rax adcq $0,%rdx addq %rbx,%r9 - movq %rdx,%r10 - adcq $0,%r10 + adcq $0,%rdx - movq %r15,%rbx - leaq (%r12,%r15,2),%r15 + xorq %rbx,%rbx + addq %r13,%r13 + movq %rdx,%r10 + adcq %r14,%r14 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r13 + movq %r12,%rax adcq %rdx,%r14 - adcq $0,%r15 + adcq $0,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) - shrq $63,%rbx - movq 32(%rsi),%r11 - movq 40(%rsi),%rax mulq %r11 addq %rax,%r8 - movq 48(%rsi),%rax + movq %rbp,%rax movq %rdx,%rcx adcq $0,%rcx @@ -272,97 +273,99 @@ L$oop_sqr: addq %rax,%r9 movq 56(%rsi),%rax adcq $0,%rdx - movq %r8,%r12 - leaq (%rbx,%r8,2),%r8 addq %rcx,%r9 movq %rdx,%rcx adcq $0,%rcx + movq %rax,%r14 mulq %r11 - shrq $63,%r12 addq %rax,%r10 movq %r11,%rax adcq $0,%rdx addq %rcx,%r10 - movq %rdx,%r11 - adcq $0,%r11 + adcq $0,%rdx - movq %r9,%rcx - leaq (%r12,%r9,2),%r9 + xorq %rcx,%rcx + addq %r15,%r15 + movq %rdx,%r11 + adcq %r8,%r8 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r15 + movq %rbp,%rax adcq %rdx,%r8 - adcq $0,%r9 + adcq $0,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) - shrq $63,%rcx - movq 40(%rsi),%r12 - movq 48(%rsi),%rax mulq %r12 addq %rax,%r10 - movq 56(%rsi),%rax + movq %r14,%rax movq %rdx,%rbx adcq $0,%rbx mulq %r12 addq %rax,%r11 movq %r12,%rax - movq %r10,%r15 - leaq (%rcx,%r10,2),%r10 adcq $0,%rdx - shrq $63,%r15 addq %rbx,%r11 - movq %rdx,%r12 - adcq $0,%r12 + adcq $0,%rdx - movq %r11,%rbx - leaq (%r15,%r11,2),%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r12 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r9 + movq %r14,%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) - movq 48(%rsi),%r13 - movq 56(%rsi),%rax - mulq %r13 + mulq %rbp addq %rax,%r12 - movq %r13,%rax - movq %rdx,%r13 - adcq $0,%r13 + movq %rbp,%rax + adcq $0,%rdx - xorq %r14,%r14 - shlq $1,%rbx + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r13 adcq %r12,%r12 - adcq %r13,%r13 - adcq %r14,%r14 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r11 + movq %r14,%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,96(%rsp) movq %r12,104(%rsp) - movq 56(%rsi),%rax - mulq %rax - addq %rax,%r13 - adcq $0,%rdx + xorq %rbx,%rbx + addq %r13,%r13 + adcq $0,%rbx - addq %rdx,%r14 + mulq %rax - movq %r13,112(%rsp) - movq %r14,120(%rsp) + addq %rcx,%rax + addq %r13,%rax + adcq %rbx,%rdx movq (%rsp),%r8 movq 8(%rsp),%r9 @@ -372,6 +375,10 @@ L$oop_sqr: movq 40(%rsp),%r13 movq 48(%rsp),%r14 movq 56(%rsp),%r15 +.byte 102,72,15,126,205 + + movq %rax,112(%rsp) + movq %rdx,120(%rsp) call __rsaz_512_reduce @@ -400,9 +407,9 @@ L$oop_sqr: L$oop_sqrx: movl %r8d,128+8(%rsp) .byte 102,72,15,110,199 -.byte 102,72,15,110,205 mulxq %rax,%r8,%r9 + movq %rax,%rbx mulxq 16(%rsi),%rcx,%r10 xorq %rbp,%rbp @@ -410,40 +417,39 @@ L$oop_sqrx: mulxq 24(%rsi),%rax,%r11 adcxq %rcx,%r9 - mulxq 32(%rsi),%rcx,%r12 +.byte 0xc4,0x62,0xf3,0xf6,0xa6,0x20,0x00,0x00,0x00 adcxq %rax,%r10 - mulxq 40(%rsi),%rax,%r13 +.byte 0xc4,0x62,0xfb,0xf6,0xae,0x28,0x00,0x00,0x00 adcxq %rcx,%r11 -.byte 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 + mulxq 48(%rsi),%rcx,%r14 adcxq %rax,%r12 adcxq %rcx,%r13 -.byte 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rax,%r15 adcxq %rax,%r14 adcxq %rbp,%r15 - movq %r9,%rcx - shldq $1,%r8,%r9 - shlq $1,%r8 - - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx - adcxq %rdx,%r8 - movq 8(%rsi),%rdx - adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi + movq %rbx,%rdx + xorq %rcx,%rcx + adoxq %r8,%r8 + adcxq %rdi,%r8 + adoxq %rbp,%rcx + adcxq %rbp,%rcx movq %rax,(%rsp) movq %r8,8(%rsp) - mulxq 16(%rsi),%rax,%rbx +.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x10,0x00,0x00,0x00 adoxq %rax,%r10 adcxq %rbx,%r11 -.byte 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r8 adoxq %rdi,%r11 +.byte 0x66 adcxq %r8,%r12 mulxq 32(%rsi),%rax,%rbx @@ -461,24 +467,25 @@ L$oop_sqrx: .byte 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 adoxq %rdi,%r15 adcxq %rbp,%r8 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r8 +.byte 0x48,0x8b,0x96,0x10,0x00,0x00,0x00 - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rcx - movq 16(%rsi),%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rcx,%r10 - adcxq %rbp,%r11 + adoxq %rbp,%rbx + adcxq %rdi,%r10 + adcxq %rbp,%rbx movq %r9,16(%rsp) .byte 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r9 adoxq %rdi,%r12 adcxq %r9,%r13 @@ -486,7 +493,7 @@ L$oop_sqrx: adoxq %rax,%r13 adcxq %rcx,%r14 - mulxq 40(%rsi),%rdi,%r9 +.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x28,0x00,0x00,0x00 adoxq %rdi,%r14 adcxq %r9,%r15 @@ -494,27 +501,28 @@ L$oop_sqrx: adoxq %rax,%r15 adcxq %rcx,%r8 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rdi,%r9 adoxq %rdi,%r8 adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r9 + movq 24(%rsi),%rdx - movq %r13,%rcx - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + xorq %rcx,%rcx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 24(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx movq %r11,32(%rsp) -.byte 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 + movq %r12,40(%rsp) -.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 + mulxq 32(%rsi),%rax,%rbx adoxq %rax,%r14 adcxq %rbx,%r15 @@ -529,25 +537,25 @@ L$oop_sqrx: mulxq 56(%rsi),%rdi,%r10 adoxq %rdi,%r9 adcxq %rbp,%r10 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r10 + movq 32(%rsi),%rdx -.byte 0x66 - movq %r15,%rbx - shldq $1,%r14,%r15 - shldq $1,%rcx,%r14 + xorq %rbx,%rbx + adoxq %r13,%r13 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r14,%r14 adcxq %rax,%r13 - adcxq %rdx,%r14 - movq 32(%rsi),%rdx - adcxq %rbp,%r15 + adoxq %rbp,%rbx + adcxq %rdi,%r14 + adcxq %rbp,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) -.byte 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 + mulxq 40(%rsi),%rdi,%r11 adoxq %rdi,%r8 adcxq %r11,%r9 @@ -558,18 +566,19 @@ L$oop_sqrx: mulxq 56(%rsi),%rdi,%r11 adoxq %rdi,%r10 adcxq %rbp,%r11 + mulxq %rdx,%rax,%rdi + movq 40(%rsi),%rdx adoxq %rbp,%r11 - movq %r9,%rcx - shldq $1,%r8,%r9 - shldq $1,%rbx,%r8 + xorq %rcx,%rcx + adoxq %r15,%r15 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r8,%r8 adcxq %rax,%r15 - adcxq %rdx,%r8 - movq 40(%rsi),%rdx - adcxq %rbp,%r9 + adoxq %rbp,%rcx + adcxq %rdi,%r8 + adcxq %rbp,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) @@ -582,18 +591,19 @@ L$oop_sqrx: .byte 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 adoxq %rdi,%r11 adcxq %rbp,%r12 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r12 + movq 48(%rsi),%rdx - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rdx,%r10 - movq 48(%rsi),%rdx - adcxq %rbp,%r11 + adcxq %rdi,%r10 + adoxq %rbp,%rbx + adcxq %rbp,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) @@ -603,31 +613,31 @@ L$oop_sqrx: adoxq %rax,%r12 adoxq %rbp,%r13 - xorq %r14,%r14 - shldq $1,%r13,%r14 - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + mulxq %rdx,%rax,%rdi + xorq %rcx,%rcx + movq 56(%rsi),%rdx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 56(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx .byte 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 .byte 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 mulxq %rdx,%rax,%rdx - adoxq %rax,%r13 - adoxq %rbp,%rdx + xorq %rbx,%rbx + adoxq %r13,%r13 -.byte 0x66 - addq %rdx,%r14 + adcxq %rcx,%rax + adoxq %rbp,%rbx + adcxq %r13,%rax + adcxq %rdx,%rbx - movq %r13,112(%rsp) - movq %r14,120(%rsp) .byte 102,72,15,126,199 .byte 102,72,15,126,205 @@ -641,6 +651,9 @@ L$oop_sqrx: movq 48(%rsp),%r14 movq 56(%rsp),%r15 + movq %rax,112(%rsp) + movq %rbx,120(%rsp) + call __rsaz_512_reducex addq 64(%rsp),%r8 @@ -1410,6 +1423,7 @@ L$mul_by_one_epilogue: .p2align 5 __rsaz_512_reduce: + movq %r8,%rbx imulq 128+8(%rsp),%rbx movq 0(%rbp),%rax @@ -1491,9 +1505,11 @@ L$reduction_loop: .byte 0xf3,0xc3 + .p2align 5 __rsaz_512_reducex: + imulq %r8,%rdx xorq %rsi,%rsi movl $8,%ecx @@ -1547,8 +1563,10 @@ L$reduction_loopx: .byte 0xf3,0xc3 + .p2align 5 __rsaz_512_subtract: + movq %r8,(%rdi) movq %r9,8(%rdi) movq %r10,16(%rdi) @@ -1604,8 +1622,10 @@ __rsaz_512_subtract: .byte 0xf3,0xc3 + .p2align 5 __rsaz_512_mul: + leaq 8(%rsp),%rdi movq (%rsi),%rax @@ -1746,8 +1766,10 @@ L$oop_mul: .byte 0xf3,0xc3 + .p2align 5 __rsaz_512_mulx: + mulxq (%rsi),%rbx,%r8 movq $-6,%rcx @@ -1865,10 +1887,12 @@ L$oop_mulx: .byte 0xf3,0xc3 + .globl _rsaz_512_scatter4 .p2align 4 _rsaz_512_scatter4: + leaq (%rdi,%rdx,8),%rdi movl $8,%r9d jmp L$oop_scatter @@ -1883,10 +1907,12 @@ L$oop_scatter: .byte 0xf3,0xc3 + .globl _rsaz_512_gather4 .p2align 4 _rsaz_512_gather4: + movd %edx,%xmm8 movdqa L$inc+16(%rip),%xmm1 movdqa L$inc(%rip),%xmm0 @@ -1952,6 +1978,7 @@ L$oop_gather: L$SEH_end_rsaz_512_gather4: + .p2align 6 L$inc: .long 0,0, 1,1 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/x86_64-mont5.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/x86_64-mont5.s index ee0ef1639a1286..6712682a60e027 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/x86_64-mont5.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/bn/x86_64-mont5.s @@ -550,6 +550,7 @@ L$mul4x_epilogue: .p2align 5 mul4x_internal: + shlq $5,%r9 movd 8(%rax),%xmm5 leaq L$inc(%rip),%rax @@ -1072,6 +1073,7 @@ L$inner4x: movq 24(%rbp),%r15 jmp L$sqr4x_sub_entry + .globl _bn_power5 .p2align 5 @@ -1284,6 +1286,7 @@ __bn_sqr8x_internal: + leaq 32(%r10),%rbp @@ -1989,8 +1992,10 @@ L$8x_no_tail: .byte 0xf3,0xc3 + .p2align 5 __bn_post4x_internal: + movq 0(%rbp),%r12 leaq (%rdi,%r9,1),%rbx movq %r9,%rcx @@ -2042,10 +2047,12 @@ L$sqr4x_sub_entry: negq %r9 .byte 0xf3,0xc3 + .globl _bn_from_montgomery .p2align 5 _bn_from_montgomery: + testl $7,%r9d jz bn_from_mont8x xorl %eax,%eax @@ -2053,6 +2060,7 @@ _bn_from_montgomery: + .p2align 5 bn_from_mont8x: @@ -2333,6 +2341,7 @@ L$mulx4x_epilogue: .p2align 5 mulx4x_internal: + movq %r9,8(%rsp) movq %r9,%r10 negq %r9 @@ -2753,6 +2762,7 @@ L$mulx4x_inner: jmp L$sqrx4x_sub_entry + .p2align 5 bn_powerx5: @@ -3509,6 +3519,7 @@ L$sqrx8x_no_tail: .p2align 5 __bn_postx4x_internal: + movq 0(%rbp),%r12 movq %rcx,%r10 movq %rcx,%r9 @@ -3557,10 +3568,12 @@ L$sqrx4x_sub_entry: .byte 0xf3,0xc3 + .globl _bn_get_bits5 .p2align 4 _bn_get_bits5: + leaq 0(%rdi),%r10 leaq 1(%rdi),%r11 movl %esi,%ecx @@ -3576,10 +3589,12 @@ _bn_get_bits5: .byte 0xf3,0xc3 + .globl _bn_scatter5 .p2align 4 _bn_scatter5: + cmpl $0,%esi jz L$scatter_epilogue leaq (%rdx,%rcx,8),%rdx @@ -3594,12 +3609,14 @@ L$scatter_epilogue: .byte 0xf3,0xc3 + .globl _bn_gather5 .p2align 5 _bn_gather5: L$SEH_begin_bn_gather5: + .byte 0x4c,0x8d,0x14,0x24 .byte 0x48,0x81,0xec,0x08,0x01,0x00,0x00 leaq L$inc(%rip),%rax @@ -3757,6 +3774,7 @@ L$gather: .byte 0xf3,0xc3 L$SEH_end_bn_gather5: + .p2align 6 L$inc: .long 0,0, 1,1 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h index da2e3d51505ac4..7847154abb8994 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin64-x86_64-cc" -#define DATE "built on: Fri Sep 13 15:58:21 2019 UTC" +#define DATE "built on: Wed Mar 18 21:05:29 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -36,11 +36,12 @@ static const char compiler_flags[] = { 'S','H','A','2','5','6','_','A','S','M',' ','-','D','S','H','A', '5','1','2','_','A','S','M',' ','-','D','K','E','C','C','A','K', '1','6','0','0','_','A','S','M',' ','-','D','R','C','4','_','A', - 'S','M',' ','-','D','M','D','5','_','A','S','M',' ','-','D','V', - 'P','A','E','S','_','A','S','M',' ','-','D','G','H','A','S','H', - '_','A','S','M',' ','-','D','E','C','P','_','N','I','S','T','Z', - '2','5','6','_','A','S','M',' ','-','D','X','2','5','5','1','9', - '_','A','S','M',' ','-','D','P','O','L','Y','1','3','0','5','_', - 'A','S','M',' ','-','D','_','R','E','E','N','T','R','A','N','T', - ' ','-','D','N','D','E','B','U','G','\0' + 'S','M',' ','-','D','M','D','5','_','A','S','M',' ','-','D','A', + 'E','S','N','I','_','A','S','M',' ','-','D','V','P','A','E','S', + '_','A','S','M',' ','-','D','G','H','A','S','H','_','A','S','M', + ' ','-','D','E','C','P','_','N','I','S','T','Z','2','5','6','_', + 'A','S','M',' ','-','D','X','2','5','5','1','9','_','A','S','M', + ' ','-','D','P','O','L','Y','1','3','0','5','_','A','S','M',' ', + '-','D','_','R','E','E','N','T','R','A','N','T',' ','-','D','N', + 'D','E','B','U','G','\0' }; diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/camellia/cmll-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/camellia/cmll-x86_64.s index 2ae924deeceba5..d815175ff57356 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/camellia/cmll-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/camellia/cmll-x86_64.s @@ -5,6 +5,7 @@ .p2align 4 _Camellia_EncryptBlock: + movl $128,%eax subl %edi,%eax movl $3,%edi @@ -12,6 +13,7 @@ _Camellia_EncryptBlock: jmp L$enc_rounds + .globl _Camellia_EncryptBlock_Rounds .p2align 4 @@ -78,6 +80,7 @@ L$enc_epilogue: .p2align 4 _x86_64_Camellia_encrypt: + xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -283,10 +286,12 @@ L$edone: + .globl _Camellia_DecryptBlock .p2align 4 _Camellia_DecryptBlock: + movl $128,%eax subl %edi,%eax movl $3,%edi @@ -294,6 +299,7 @@ _Camellia_DecryptBlock: jmp L$dec_rounds + .globl _Camellia_DecryptBlock_Rounds .p2align 4 @@ -360,6 +366,7 @@ L$dec_epilogue: .p2align 4 _x86_64_Camellia_decrypt: + xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -564,6 +571,7 @@ L$ddone: .byte 0xf3,0xc3 + .globl _Camellia_Ekeygen .p2align 4 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s index ff7ae723440e6c..dc6bed3b5bdea4 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s @@ -3838,6 +3838,7 @@ L$ord_sqrx_epilogue: .p2align 5 _ecp_nistz256_to_mont: + movl $0x80100,%ecx andl _OPENSSL_ia32cap_P+8(%rip),%ecx leaq L$RR(%rip),%rdx @@ -3850,6 +3851,7 @@ _ecp_nistz256_to_mont: + .globl _ecp_nistz256_mul_mont .p2align 5 @@ -4771,6 +4773,7 @@ L$from_epilogue: .p2align 5 _ecp_nistz256_scatter_w5: + leal -3(%rdx,%rdx,2),%edx movdqa 0(%rsi),%xmm0 shll $5,%edx @@ -4791,6 +4794,7 @@ _ecp_nistz256_scatter_w5: + .globl _ecp_nistz256_gather_w5 .p2align 5 @@ -4860,6 +4864,7 @@ L$SEH_end_ecp_nistz256_gather_w5: .p2align 5 _ecp_nistz256_scatter_w7: + movdqu 0(%rsi),%xmm0 shll $6,%edx movdqu 16(%rsi),%xmm1 @@ -4875,6 +4880,7 @@ _ecp_nistz256_scatter_w7: + .globl _ecp_nistz256_gather_w7 .p2align 5 @@ -5593,26 +5599,16 @@ L$point_addq_body: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz L$add_proceedq .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz L$add_proceedq - testq %r9,%r9 - jz L$add_doubleq -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp L$add_doneq + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz L$add_proceedq -.p2align 5 L$add_doubleq: .byte 102,72,15,126,206 .byte 102,72,15,126,199 @@ -6694,26 +6690,16 @@ L$point_addx_body: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz L$add_proceedx .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz L$add_proceedx - testq %r9,%r9 - jz L$add_doublex -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp L$add_donex + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz L$add_proceedx -.p2align 5 L$add_doublex: .byte 102,72,15,126,206 .byte 102,72,15,126,199 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/ec/x25519-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/ec/x25519-x86_64.s index cdb602d4ccc897..158e8496114df7 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/ec/x25519-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/ec/x25519-x86_64.s @@ -382,6 +382,7 @@ L$fe51_mul121666_epilogue: .p2align 5 _x25519_fe64_eligible: + movl _OPENSSL_ia32cap_P+8(%rip),%ecx xorl %eax,%eax andl $0x80100,%ecx @@ -390,6 +391,7 @@ _x25519_fe64_eligible: .byte 0xf3,0xc3 + .globl _x25519_fe64_mul .p2align 5 @@ -616,6 +618,7 @@ L$fe64_sqr_epilogue: .p2align 5 _x25519_fe64_mul121666: L$fe64_mul121666_body: + movl $121666,%edx mulxq 0(%rsi),%r8,%rcx mulxq 8(%rsi),%r9,%rax @@ -646,11 +649,13 @@ L$fe64_mul121666_epilogue: .byte 0xf3,0xc3 + .globl _x25519_fe64_add .p2align 5 _x25519_fe64_add: L$fe64_add_body: + movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -681,11 +686,13 @@ L$fe64_add_epilogue: .byte 0xf3,0xc3 + .globl _x25519_fe64_sub .p2align 5 _x25519_fe64_sub: L$fe64_sub_body: + movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -716,11 +723,13 @@ L$fe64_sub_epilogue: .byte 0xf3,0xc3 + .globl _x25519_fe64_tobytes .p2align 5 _x25519_fe64_tobytes: L$fe64_to_body: + movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -757,4 +766,5 @@ L$fe64_to_body: L$fe64_to_epilogue: .byte 0xf3,0xc3 + .byte 88,50,53,53,49,57,32,112,114,105,109,105,116,105,118,101,115,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/dso_conf.h index a69309195ed634..e2d05cdbf49656 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".dylib" diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/modes/aesni-gcm-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/modes/aesni-gcm-x86_64.s index d5920186ce6e5c..c26df9da7e6377 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/modes/aesni-gcm-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/modes/aesni-gcm-x86_64.s @@ -3,6 +3,7 @@ .p2align 5 _aesni_ctr32_ghash_6x: + vmovdqu 32(%r11),%xmm2 subq $6,%rdx vpxor %xmm4,%xmm4,%xmm4 @@ -311,6 +312,7 @@ L$6x_done: .byte 0xf3,0xc3 + .globl _aesni_gcm_decrypt .p2align 5 @@ -416,6 +418,7 @@ L$gcm_dec_abort: .p2align 5 _aesni_ctr32_6x: + vmovdqu 0-128(%rcx),%xmm4 vmovdqu 32(%r11),%xmm2 leaq -1(%rbp),%r13 @@ -504,6 +507,7 @@ L$handle_ctr32_2: jmp L$oop_ctr32 + .globl _aesni_gcm_encrypt .p2align 5 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/poly1305/poly1305-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/poly1305/poly1305-x86_64.s index cf3ca1a4dbd7e3..f6afad8ff0c006 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/poly1305/poly1305-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/poly1305/poly1305-x86_64.s @@ -12,6 +12,7 @@ .p2align 5 _poly1305_init: + xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -45,6 +46,7 @@ L$no_key: + .p2align 5 _poly1305_blocks: @@ -156,6 +158,7 @@ L$blocks_epilogue: .p2align 5 _poly1305_emit: + L$emit: movq 0(%rdi),%r8 movq 8(%rdi),%r9 @@ -178,8 +181,10 @@ L$emit: .byte 0xf3,0xc3 + .p2align 5 __poly1305_block: + mulq %r14 movq %rax,%r9 movq %r11,%rax @@ -222,8 +227,10 @@ __poly1305_block: + .p2align 5 __poly1305_init_avx: + movq %r11,%r14 movq %r12,%rbx xorq %rbp,%rbp @@ -384,6 +391,7 @@ __poly1305_init_avx: + .p2align 5 poly1305_blocks_avx: @@ -1209,6 +1217,7 @@ L$short_tail_avx: .p2align 5 poly1305_emit_avx: + cmpl $0,20(%rdi) je L$emit @@ -1261,6 +1270,7 @@ poly1305_emit_avx: .byte 0xf3,0xc3 + .p2align 5 poly1305_blocks_avx2: @@ -1929,6 +1939,7 @@ L$x_mask42: .p2align 4 _xor128_encrypt_n_pad: + subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -1972,10 +1983,12 @@ L$done_enc: .byte 0xf3,0xc3 + .globl _xor128_decrypt_n_pad .p2align 4 _xor128_decrypt_n_pad: + subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/rc4/rc4-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/rc4/rc4-x86_64.s index 8bfb48b74a672e..8b6186f0e2bca7 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/rc4/rc4-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/rc4/rc4-x86_64.s @@ -4,11 +4,12 @@ .globl _RC4 .p2align 4 -_RC4: orq %rsi,%rsi +_RC4: + + orq %rsi,%rsi jne L$entry .byte 0xf3,0xc3 L$entry: - pushq %rbx pushq %r12 @@ -530,6 +531,7 @@ L$epilogue: .p2align 4 _RC4_set_key: + leaq 8(%rdi),%rdi leaq (%rdx,%rsi,1),%rdx negq %rsi @@ -598,10 +600,12 @@ L$exit_key: .byte 0xf3,0xc3 + .globl _RC4_options .p2align 4 _RC4_options: + leaq L$opts(%rip),%rax movl _OPENSSL_ia32cap_P(%rip),%edx btl $20,%edx @@ -614,6 +618,7 @@ L$8xchar: addq $12,%rax L$done: .byte 0xf3,0xc3 + .p2align 6 L$opts: .byte 114,99,52,40,56,120,44,105,110,116,41,0 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/keccak1600-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/keccak1600-x86_64.s index ec096c5ab0cae8..5105d9818b5575 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/keccak1600-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/keccak1600-x86_64.s @@ -3,6 +3,7 @@ .p2align 5 __KeccakF1600: + movq 60(%rdi),%rax movq 68(%rdi),%rbx movq 76(%rdi),%rcx @@ -258,6 +259,7 @@ L$oop: + .p2align 5 KeccakF1600: diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/sha1-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/sha1-x86_64.s index 02472d0b7d57e5..fb22d41c1a44ed 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/sha1-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/sha1-x86_64.s @@ -1421,10 +1421,10 @@ L$oop_shaext: pshufd $27,%xmm1,%xmm1 movdqu %xmm0,(%rdi) movd %xmm1,16(%rdi) - .byte 0xf3,0xc3 + .p2align 4 sha1_block_data_order_ssse3: _ssse3_shortcut: diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/sha256-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/sha256-x86_64.s index e43cdd7040f517..3952a775b92182 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/sha256-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/sha256-x86_64.s @@ -1775,6 +1775,7 @@ K256: .p2align 6 sha256_block_data_order_shaext: _shaext_shortcut: + leaq K256+128(%rip),%rcx movdqu (%rdi),%xmm1 movdqu 16(%rdi),%xmm2 @@ -1979,6 +1980,7 @@ L$oop_shaext: .byte 0xf3,0xc3 + .p2align 6 sha256_block_data_order_ssse3: @@ -4238,7 +4240,15 @@ L$oop_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 88(%rsp),%rdi + leaq -64(%rsp),%rsp + + + + movq %rdi,-8(%rsp) + movl %ebx,%edi vmovdqa %ymm6,0(%rsp) xorl %ecx,%edi @@ -4250,6 +4260,12 @@ L$oop_avx2: .p2align 4 L$avx2_00_47: leaq -64(%rsp),%rsp + + + pushq 64-8(%rsp) + + leaq 8(%rsp),%rsp + vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4505,6 +4521,12 @@ L$avx2_00_47: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp + + + pushq 64-8(%rsp) + + leaq 8(%rsp),%rsp + vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -5380,6 +5402,8 @@ L$ower_avx2: leaq 448(%rsp),%rsp + + addl 0(%rdi),%eax addl 4(%rdi),%ebx addl 8(%rdi),%ecx @@ -5405,9 +5429,11 @@ L$ower_avx2: jbe L$oop_avx2 leaq (%rsp),%rbp + + + L$done_avx2: - leaq (%rbp),%rsp - movq 88(%rsp),%rsi + movq 88(%rbp),%rsi vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/sha512-x86_64.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/sha512-x86_64.s index 51ace9a686804c..6348b0a2c0f8fa 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/sha512-x86_64.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/sha/sha512-x86_64.s @@ -4165,7 +4165,15 @@ L$oop_avx2: vmovdqa %ymm10,64(%rsp) vpaddq 64(%rbp),%ymm6,%ymm10 vmovdqa %ymm11,96(%rsp) + + movq 152(%rsp),%rdi + leaq -128(%rsp),%rsp + + + + movq %rdi,-8(%rsp) + vpaddq 96(%rbp),%ymm7,%ymm11 vmovdqa %ymm8,0(%rsp) xorq %r14,%r14 @@ -4181,6 +4189,12 @@ L$oop_avx2: .p2align 4 L$avx2_00_47: leaq -128(%rsp),%rsp + + + pushq 128-8(%rsp) + + leaq 8(%rsp),%rsp + vpalignr $8,%ymm0,%ymm1,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -4474,6 +4488,12 @@ L$avx2_00_47: movq %r9,%r12 vmovdqa %ymm10,96(%rsp) leaq -128(%rsp),%rsp + + + pushq 128-8(%rsp) + + leaq 8(%rsp),%rsp + vpalignr $8,%ymm4,%ymm5,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -5387,6 +5407,8 @@ L$ower_avx2: leaq 1152(%rsp),%rsp + + addq 0(%rdi),%rax addq 8(%rdi),%rbx addq 16(%rdi),%rcx @@ -5412,9 +5434,11 @@ L$ower_avx2: jbe L$oop_avx2 leaq (%rsp),%rbp + + + L$done_avx2: - leaq (%rbp),%rsp - movq 152(%rsp),%rsi + movq 152(%rbp),%rsi vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/x86_64cpuid.s b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/x86_64cpuid.s index 05afede678c954..32a92da69f0b8c 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/x86_64cpuid.s +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/x86_64cpuid.s @@ -13,6 +13,7 @@ .p2align 4 _OPENSSL_atomic_add: + movl (%rdi),%eax L$spin: leaq (%rsi,%rax,1),%r8 .byte 0xf0 @@ -23,16 +24,19 @@ L$spin: leaq (%rsi,%rax,1),%r8 .byte 0xf3,0xc3 + .globl _OPENSSL_rdtsc .p2align 4 _OPENSSL_rdtsc: + rdtsc shlq $32,%rdx orq %rdx,%rax .byte 0xf3,0xc3 + .globl _OPENSSL_ia32_cpuid .p2align 4 @@ -206,6 +210,7 @@ L$done: .p2align 4 _OPENSSL_cleanse: + xorq %rax,%rax cmpq $15,%rsi jae L$ot @@ -237,10 +242,12 @@ L$aligned: .byte 0xf3,0xc3 + .globl _CRYPTO_memcmp .p2align 4 _CRYPTO_memcmp: + xorq %rax,%rax xorq %r10,%r10 cmpq $0,%rdx @@ -270,10 +277,12 @@ L$oop_cmp: L$no_data: .byte 0xf3,0xc3 + .globl _OPENSSL_wipe_cpu .p2align 4 _OPENSSL_wipe_cpu: + pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 @@ -301,10 +310,12 @@ _OPENSSL_wipe_cpu: leaq 8(%rsp),%rax .byte 0xf3,0xc3 + .globl _OPENSSL_instrument_bus .p2align 4 _OPENSSL_instrument_bus: + movq %rdi,%r10 movq %rsi,%rcx movq %rsi,%r11 @@ -333,10 +344,12 @@ L$oop: rdtsc .byte 0xf3,0xc3 + .globl _OPENSSL_instrument_bus2 .p2align 4 _OPENSSL_instrument_bus2: + movq %rdi,%r10 movq %rsi,%rcx movq %rdx,%r11 @@ -380,10 +393,12 @@ L$done2: subq %rcx,%rax .byte 0xf3,0xc3 + .globl _OPENSSL_ia32_rdrand_bytes .p2align 4 _OPENSSL_ia32_rdrand_bytes: + xorq %rax,%rax cmpq $0,%rsi je L$done_rdrand_bytes @@ -421,10 +436,12 @@ L$done_rdrand_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 + .globl _OPENSSL_ia32_rdseed_bytes .p2align 4 _OPENSSL_ia32_rdseed_bytes: + xorq %rax,%rax cmpq $0,%rsi je L$done_rdseed_bytes diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslconf.h index 2a63d7a6ba190f..25a4ebf76afc2f 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/progs.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/openssl-cl.gypi b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/openssl-cl.gypi index 95e8dc567ee299..152f3f9fa54295 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/openssl-cl.gypi +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/openssl-cl.gypi @@ -15,6 +15,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/openssl.gypi b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/openssl.gypi index be4971efb1cbbf..3871c8129e4600 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/openssl.gypi +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/openssl.gypi @@ -722,6 +722,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/configdata.pm b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/configdata.pm index 02290abc08f011..12d99f475e421e 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/configdata.pm +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/configdata.pm @@ -54,7 +54,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ "OPENSSL_SYS_MACOSX" ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -110,8 +110,8 @@ our %config = ( sourcedir => ".", target => "darwin64-x86_64-cc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -232,6 +232,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -350,8 +351,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -619,14 +620,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -702,6 +695,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1491,6 +1492,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3209,7 +3216,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3217,6 +3223,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3715,14 +3722,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4163,6 +4162,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4845,49 +4852,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4909,7 +4908,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4923,613 +4921,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5547,188 +5443,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5758,13 +5623,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5774,43 +5637,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5820,31 +5676,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5862,278 +5713,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6143,301 +5948,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6445,7 +6200,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6453,7 +6207,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6461,7 +6214,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6469,7 +6221,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6477,7 +6228,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6485,163 +6235,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6659,223 +6382,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6883,21 +6569,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6905,13 +6588,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6919,81 +6600,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7001,328 +6669,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7332,85 +6939,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7433,361 +7026,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7809,259 +7342,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8071,31 +7561,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8105,7 +7590,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8131,13 +7615,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8163,7 +7645,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8189,709 +7670,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8942,6 +8305,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9186,7 +8557,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9512,7 +8882,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9558,7 +8927,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9624,7 +8992,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9649,7 +9016,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9747,7 +9113,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9797,18 +9162,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9819,6 +9181,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9882,10 +9248,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9914,6 +9276,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10178,6 +9544,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15068,7 +14435,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15076,6 +14442,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15303,6 +14670,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15405,10 +14780,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15437,6 +14808,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h index a2a8835315fef3..43f321a7ac65d0 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin64-x86_64-cc" -#define DATE "built on: Fri Sep 13 15:58:36 2019 UTC" +#define DATE "built on: Wed Mar 18 21:05:38 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/dso_conf.h index a69309195ed634..e2d05cdbf49656 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".dylib" diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslconf.h index 9079cf7ba8f58a..30e08538dd3653 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslconf.h @@ -102,9 +102,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/progs.h b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/progs.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-aarch64/asm/configdata.pm b/deps/openssl/config/archs/linux-aarch64/asm/configdata.pm index 832a223ee3ea9c..1e08556a96b2bc 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/configdata.pm +++ b/deps/openssl/config/archs/linux-aarch64/asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-aarch64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -239,6 +239,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3234,7 +3241,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3242,6 +3248,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3740,14 +3747,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4188,6 +4187,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4882,49 +4889,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4938,7 +4937,6 @@ our %unified_info = ( "crypto/aes/aesv8-armx.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -4949,26 +4947,22 @@ our %unified_info = ( "crypto/aes/vpaes-armv8.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/armcap.o" => [ ".", - "crypto/include", "include", ], "crypto/armv4cpuid.o" => @@ -4978,613 +4972,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5598,7 +5490,6 @@ our %unified_info = ( "crypto/bn/armv8-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5608,188 +5499,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5819,13 +5679,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5835,43 +5693,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5881,31 +5732,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5915,7 +5761,6 @@ our %unified_info = ( "crypto/chacha/chacha-armv8.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -5926,272 +5771,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6201,301 +6001,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6503,7 +6253,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6511,7 +6260,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6519,7 +6267,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6527,7 +6274,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6535,7 +6281,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6543,163 +6288,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6709,7 +6427,6 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-armv8.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -6720,229 +6437,191 @@ our %unified_info = ( "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6950,21 +6629,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6972,13 +6648,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6986,81 +6660,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7068,328 +6729,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7399,79 +6999,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7490,368 +7077,307 @@ our %unified_info = ( "crypto/modes/ghashv8-armx.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7861,7 +7387,6 @@ our %unified_info = ( "crypto/poly1305/poly1305-armv8.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7876,259 +7401,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8138,31 +7620,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8172,7 +7649,6 @@ our %unified_info = ( "crypto/sha/keccak1600-armv8.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8182,7 +7658,6 @@ our %unified_info = ( "crypto/sha/sha1-armv8.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8201,13 +7676,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8217,7 +7690,6 @@ our %unified_info = ( "crypto/sha/sha256-armv8.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8236,7 +7708,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8246,7 +7717,6 @@ our %unified_info = ( "crypto/sha/sha512-armv8.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8265,709 +7735,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9018,6 +8370,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9262,7 +8622,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9588,7 +8947,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9634,7 +8992,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9700,7 +9057,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9725,7 +9081,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9823,7 +9178,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9873,18 +9227,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9895,6 +9246,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9958,10 +9313,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9990,6 +9341,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10254,6 +9609,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15199,7 +14555,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15207,6 +14562,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15434,6 +14790,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15536,10 +14900,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15568,6 +14928,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-aarch64/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-aarch64/asm/crypto/buildinf.h index 6046c7d5fd9777..ed35c1e5ca7997 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-aarch64/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-aarch64" -#define DATE "built on: Fri Sep 13 15:58:56 2019 UTC" +#define DATE "built on: Wed Mar 18 21:05:53 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-aarch64/asm/crypto/ec/ecp_nistz256-armv8.S b/deps/openssl/config/archs/linux-aarch64/asm/crypto/ec/ecp_nistz256-armv8.S index 9b625b9560132b..7caa5816083f62 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/crypto/ec/ecp_nistz256-armv8.S +++ b/deps/openssl/config/archs/linux-aarch64/asm/crypto/ec/ecp_nistz256-armv8.S @@ -3015,7 +3015,7 @@ __ecp_nistz256_div_by_2: .align 5 ecp_nistz256_point_double: .inst 0xd503233f // paciasp - stp x29,x30,[sp,#-80]! + stp x29,x30,[sp,#-96]! add x29,sp,#0 stp x19,x20,[sp,#16] stp x21,x22,[sp,#32] @@ -3148,7 +3148,7 @@ ecp_nistz256_point_double: add sp,x29,#0 // destroy frame ldp x19,x20,[x29,#16] ldp x21,x22,[x29,#32] - ldp x29,x30,[sp],#80 + ldp x29,x30,[sp],#96 .inst 0xd50323bf // autiasp ret .size ecp_nistz256_point_double,.-ecp_nistz256_point_double @@ -3157,12 +3157,13 @@ ecp_nistz256_point_double: .align 5 ecp_nistz256_point_add: .inst 0xd503233f // paciasp - stp x29,x30,[sp,#-80]! + stp x29,x30,[sp,#-96]! add x29,sp,#0 stp x19,x20,[sp,#16] stp x21,x22,[sp,#32] stp x23,x24,[sp,#48] stp x25,x26,[sp,#64] + stp x27,x28,[sp,#80] sub sp,sp,#32*12 ldp x4,x5,[x2,#64] // in2_z @@ -3176,7 +3177,7 @@ ecp_nistz256_point_add: orr x10,x6,x7 orr x25,x8,x10 cmp x25,#0 - csetm x25,ne // !in2infty + csetm x25,ne // ~in2infty add x0,sp,#192 bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z2sqr, in2_z); @@ -3186,7 +3187,7 @@ ecp_nistz256_point_add: orr x10,x6,x7 orr x24,x8,x10 cmp x24,#0 - csetm x24,ne // !in1infty + csetm x24,ne // ~in1infty add x0,sp,#128 bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z1sqr, in1_z); @@ -3227,7 +3228,7 @@ ecp_nistz256_point_add: orr x14,x14,x15 // see if result is zero orr x16,x16,x17 - orr x26,x14,x16 + orr x26,x14,x16 // ~is_equal(S1,S2) add x2,sp,#192 add x0,sp,#256 @@ -3248,32 +3249,21 @@ ecp_nistz256_point_add: orr x14,x14,x15 // see if result is zero orr x16,x16,x17 - orr x14,x14,x16 - tst x14,x14 - b.ne .Ladd_proceed // is_equal(U1,U2)? + orr x14,x14,x16 // ~is_equal(U1,U2) - tst x24,x25 - b.eq .Ladd_proceed // (in1infty || in2infty)? + mvn x27,x24 // -1/0 -> 0/-1 + mvn x28,x25 // -1/0 -> 0/-1 + orr x14,x14,x27 + orr x14,x14,x28 + orr x14,x14,x26 + cbnz x14,.Ladd_proceed // if(~is_equal(U1,U2) | in1infty | in2infty | ~is_equal(S1,S2)) - tst x26,x26 - b.eq .Ladd_double // is_equal(S1,S2)? - - eor x4,x4,x4 - eor x5,x5,x5 - stp x4,x5,[x21] - stp x4,x5,[x21,#16] - stp x4,x5,[x21,#32] - stp x4,x5,[x21,#48] - stp x4,x5,[x21,#64] - stp x4,x5,[x21,#80] - b .Ladd_done - -.align 4 .Ladd_double: mov x1,x22 mov x0,x21 ldp x23,x24,[x29,#48] ldp x25,x26,[x29,#64] + ldp x27,x28,[x29,#80] add sp,sp,#32*(12-4) // difference in stack frames b .Ldouble_shortcut @@ -3355,14 +3345,14 @@ ecp_nistz256_point_add: ldp x8,x9,[x23] // in2 ldp x10,x11,[x23,#16] ldp x14,x15,[x22,#0] // in1 - cmp x24,#0 // !, remember? + cmp x24,#0 // ~, remember? ldp x16,x17,[x22,#0+16] csel x8,x4,x8,ne csel x9,x5,x9,ne ldp x4,x5,[sp,#0+0+32] // res csel x10,x6,x10,ne csel x11,x7,x11,ne - cmp x25,#0 // !, remember? + cmp x25,#0 // ~, remember? ldp x6,x7,[sp,#0+0+48] csel x14,x8,x14,ne csel x15,x9,x15,ne @@ -3373,14 +3363,14 @@ ecp_nistz256_point_add: stp x14,x15,[x21,#0] stp x16,x17,[x21,#0+16] ldp x14,x15,[x22,#32] // in1 - cmp x24,#0 // !, remember? + cmp x24,#0 // ~, remember? ldp x16,x17,[x22,#32+16] csel x8,x4,x8,ne csel x9,x5,x9,ne ldp x4,x5,[sp,#0+32+32] // res csel x10,x6,x10,ne csel x11,x7,x11,ne - cmp x25,#0 // !, remember? + cmp x25,#0 // ~, remember? ldp x6,x7,[sp,#0+32+48] csel x14,x8,x14,ne csel x15,x9,x15,ne @@ -3391,13 +3381,13 @@ ecp_nistz256_point_add: stp x14,x15,[x21,#32] stp x16,x17,[x21,#32+16] ldp x14,x15,[x22,#64] // in1 - cmp x24,#0 // !, remember? + cmp x24,#0 // ~, remember? ldp x16,x17,[x22,#64+16] csel x8,x4,x8,ne csel x9,x5,x9,ne csel x10,x6,x10,ne csel x11,x7,x11,ne - cmp x25,#0 // !, remember? + cmp x25,#0 // ~, remember? csel x14,x8,x14,ne csel x15,x9,x15,ne csel x16,x10,x16,ne @@ -3411,7 +3401,8 @@ ecp_nistz256_point_add: ldp x21,x22,[x29,#32] ldp x23,x24,[x29,#48] ldp x25,x26,[x29,#64] - ldp x29,x30,[sp],#80 + ldp x27,x28,[x29,#80] + ldp x29,x30,[sp],#96 .inst 0xd50323bf // autiasp ret .size ecp_nistz256_point_add,.-ecp_nistz256_point_add @@ -3440,7 +3431,7 @@ ecp_nistz256_point_add_affine: orr x10,x6,x7 orr x24,x8,x10 cmp x24,#0 - csetm x24,ne // !in1infty + csetm x24,ne // ~in1infty ldp x14,x15,[x2] // in2_x ldp x16,x17,[x2,#16] @@ -3454,7 +3445,7 @@ ecp_nistz256_point_add_affine: orr x8,x8,x10 orr x25,x14,x8 cmp x25,#0 - csetm x25,ne // !in2infty + csetm x25,ne // ~in2infty add x0,sp,#128 bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z1sqr, in1_z); @@ -3561,14 +3552,14 @@ ecp_nistz256_point_add_affine: ldp x8,x9,[x23] // in2 ldp x10,x11,[x23,#16] ldp x14,x15,[x22,#0] // in1 - cmp x24,#0 // !, remember? + cmp x24,#0 // ~, remember? ldp x16,x17,[x22,#0+16] csel x8,x4,x8,ne csel x9,x5,x9,ne ldp x4,x5,[sp,#0+0+32] // res csel x10,x6,x10,ne csel x11,x7,x11,ne - cmp x25,#0 // !, remember? + cmp x25,#0 // ~, remember? ldp x6,x7,[sp,#0+0+48] csel x14,x8,x14,ne csel x15,x9,x15,ne @@ -3580,14 +3571,14 @@ ecp_nistz256_point_add_affine: stp x16,x17,[x21,#0+16] adr x23,.Lone_mont-64 ldp x14,x15,[x22,#32] // in1 - cmp x24,#0 // !, remember? + cmp x24,#0 // ~, remember? ldp x16,x17,[x22,#32+16] csel x8,x4,x8,ne csel x9,x5,x9,ne ldp x4,x5,[sp,#0+32+32] // res csel x10,x6,x10,ne csel x11,x7,x11,ne - cmp x25,#0 // !, remember? + cmp x25,#0 // ~, remember? ldp x6,x7,[sp,#0+32+48] csel x14,x8,x14,ne csel x15,x9,x15,ne @@ -3598,13 +3589,13 @@ ecp_nistz256_point_add_affine: stp x14,x15,[x21,#32] stp x16,x17,[x21,#32+16] ldp x14,x15,[x22,#64] // in1 - cmp x24,#0 // !, remember? + cmp x24,#0 // ~, remember? ldp x16,x17,[x22,#64+16] csel x8,x4,x8,ne csel x9,x5,x9,ne csel x10,x6,x10,ne csel x11,x7,x11,ne - cmp x25,#0 // !, remember? + cmp x25,#0 // ~, remember? csel x14,x8,x14,ne csel x15,x9,x15,ne csel x16,x10,x16,ne diff --git a/deps/openssl/config/archs/linux-aarch64/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-aarch64/asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-aarch64/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-aarch64/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-aarch64/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-aarch64/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-aarch64/asm/crypto/sha/sha256-armv8.S b/deps/openssl/config/archs/linux-aarch64/asm/crypto/sha/sha256-armv8.S index 7dcc98ea95ce66..a8843c87d19265 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/crypto/sha/sha256-armv8.S +++ b/deps/openssl/config/archs/linux-aarch64/asm/crypto/sha/sha256-armv8.S @@ -1,4 +1,4 @@ -// Copyright 2014-2019 The OpenSSL Project Authors. All Rights Reserved. +// Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. // // Licensed under the OpenSSL license (the "License"). You may not use // this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-aarch64/asm/crypto/sha/sha512-armv8.S b/deps/openssl/config/archs/linux-aarch64/asm/crypto/sha/sha512-armv8.S index d341c63a289f8b..e86b69f011c955 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/crypto/sha/sha512-armv8.S +++ b/deps/openssl/config/archs/linux-aarch64/asm/crypto/sha/sha512-armv8.S @@ -1,4 +1,4 @@ -// Copyright 2014-2019 The OpenSSL Project Authors. All Rights Reserved. +// Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. // // Licensed under the OpenSSL license (the "License"). You may not use // this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/opensslconf.h index 30820b60518d47..937531fe9fc0c5 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-aarch64/asm/include/progs.h b/deps/openssl/config/archs/linux-aarch64/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/include/progs.h +++ b/deps/openssl/config/archs/linux-aarch64/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux-aarch64/asm_avx2/configdata.pm index bfc02733dc2706..591ab6875b226b 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-aarch64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -239,6 +239,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3234,7 +3241,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3242,6 +3248,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3740,14 +3747,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4188,6 +4187,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4882,49 +4889,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4938,7 +4937,6 @@ our %unified_info = ( "crypto/aes/aesv8-armx.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -4949,26 +4947,22 @@ our %unified_info = ( "crypto/aes/vpaes-armv8.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/armcap.o" => [ ".", - "crypto/include", "include", ], "crypto/armv4cpuid.o" => @@ -4978,613 +4972,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5598,7 +5490,6 @@ our %unified_info = ( "crypto/bn/armv8-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5608,188 +5499,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5819,13 +5679,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5835,43 +5693,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5881,31 +5732,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5915,7 +5761,6 @@ our %unified_info = ( "crypto/chacha/chacha-armv8.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -5926,272 +5771,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6201,301 +6001,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6503,7 +6253,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6511,7 +6260,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6519,7 +6267,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6527,7 +6274,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6535,7 +6281,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6543,163 +6288,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6709,7 +6427,6 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-armv8.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -6720,229 +6437,191 @@ our %unified_info = ( "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6950,21 +6629,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6972,13 +6648,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6986,81 +6660,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7068,328 +6729,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7399,79 +6999,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7490,368 +7077,307 @@ our %unified_info = ( "crypto/modes/ghashv8-armx.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7861,7 +7387,6 @@ our %unified_info = ( "crypto/poly1305/poly1305-armv8.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7876,259 +7401,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8138,31 +7620,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8172,7 +7649,6 @@ our %unified_info = ( "crypto/sha/keccak1600-armv8.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8182,7 +7658,6 @@ our %unified_info = ( "crypto/sha/sha1-armv8.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8201,13 +7676,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8217,7 +7690,6 @@ our %unified_info = ( "crypto/sha/sha256-armv8.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8236,7 +7708,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8246,7 +7717,6 @@ our %unified_info = ( "crypto/sha/sha512-armv8.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8265,709 +7735,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9018,6 +8370,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9262,7 +8622,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9588,7 +8947,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9634,7 +8992,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9700,7 +9057,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9725,7 +9081,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9823,7 +9178,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9873,18 +9227,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9895,6 +9246,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9958,10 +9313,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9990,6 +9341,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10254,6 +9609,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15199,7 +14555,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15207,6 +14562,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15434,6 +14790,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15536,10 +14900,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15568,6 +14928,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/buildinf.h index 566cfdfd842a9a..672273eb20e94a 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-aarch64" -#define DATE "built on: Fri Sep 13 15:59:02 2019 UTC" +#define DATE "built on: Wed Mar 18 21:05:58 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/ec/ecp_nistz256-armv8.S b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/ec/ecp_nistz256-armv8.S index 9b625b9560132b..7caa5816083f62 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/ec/ecp_nistz256-armv8.S +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/ec/ecp_nistz256-armv8.S @@ -3015,7 +3015,7 @@ __ecp_nistz256_div_by_2: .align 5 ecp_nistz256_point_double: .inst 0xd503233f // paciasp - stp x29,x30,[sp,#-80]! + stp x29,x30,[sp,#-96]! add x29,sp,#0 stp x19,x20,[sp,#16] stp x21,x22,[sp,#32] @@ -3148,7 +3148,7 @@ ecp_nistz256_point_double: add sp,x29,#0 // destroy frame ldp x19,x20,[x29,#16] ldp x21,x22,[x29,#32] - ldp x29,x30,[sp],#80 + ldp x29,x30,[sp],#96 .inst 0xd50323bf // autiasp ret .size ecp_nistz256_point_double,.-ecp_nistz256_point_double @@ -3157,12 +3157,13 @@ ecp_nistz256_point_double: .align 5 ecp_nistz256_point_add: .inst 0xd503233f // paciasp - stp x29,x30,[sp,#-80]! + stp x29,x30,[sp,#-96]! add x29,sp,#0 stp x19,x20,[sp,#16] stp x21,x22,[sp,#32] stp x23,x24,[sp,#48] stp x25,x26,[sp,#64] + stp x27,x28,[sp,#80] sub sp,sp,#32*12 ldp x4,x5,[x2,#64] // in2_z @@ -3176,7 +3177,7 @@ ecp_nistz256_point_add: orr x10,x6,x7 orr x25,x8,x10 cmp x25,#0 - csetm x25,ne // !in2infty + csetm x25,ne // ~in2infty add x0,sp,#192 bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z2sqr, in2_z); @@ -3186,7 +3187,7 @@ ecp_nistz256_point_add: orr x10,x6,x7 orr x24,x8,x10 cmp x24,#0 - csetm x24,ne // !in1infty + csetm x24,ne // ~in1infty add x0,sp,#128 bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z1sqr, in1_z); @@ -3227,7 +3228,7 @@ ecp_nistz256_point_add: orr x14,x14,x15 // see if result is zero orr x16,x16,x17 - orr x26,x14,x16 + orr x26,x14,x16 // ~is_equal(S1,S2) add x2,sp,#192 add x0,sp,#256 @@ -3248,32 +3249,21 @@ ecp_nistz256_point_add: orr x14,x14,x15 // see if result is zero orr x16,x16,x17 - orr x14,x14,x16 - tst x14,x14 - b.ne .Ladd_proceed // is_equal(U1,U2)? + orr x14,x14,x16 // ~is_equal(U1,U2) - tst x24,x25 - b.eq .Ladd_proceed // (in1infty || in2infty)? + mvn x27,x24 // -1/0 -> 0/-1 + mvn x28,x25 // -1/0 -> 0/-1 + orr x14,x14,x27 + orr x14,x14,x28 + orr x14,x14,x26 + cbnz x14,.Ladd_proceed // if(~is_equal(U1,U2) | in1infty | in2infty | ~is_equal(S1,S2)) - tst x26,x26 - b.eq .Ladd_double // is_equal(S1,S2)? - - eor x4,x4,x4 - eor x5,x5,x5 - stp x4,x5,[x21] - stp x4,x5,[x21,#16] - stp x4,x5,[x21,#32] - stp x4,x5,[x21,#48] - stp x4,x5,[x21,#64] - stp x4,x5,[x21,#80] - b .Ladd_done - -.align 4 .Ladd_double: mov x1,x22 mov x0,x21 ldp x23,x24,[x29,#48] ldp x25,x26,[x29,#64] + ldp x27,x28,[x29,#80] add sp,sp,#32*(12-4) // difference in stack frames b .Ldouble_shortcut @@ -3355,14 +3345,14 @@ ecp_nistz256_point_add: ldp x8,x9,[x23] // in2 ldp x10,x11,[x23,#16] ldp x14,x15,[x22,#0] // in1 - cmp x24,#0 // !, remember? + cmp x24,#0 // ~, remember? ldp x16,x17,[x22,#0+16] csel x8,x4,x8,ne csel x9,x5,x9,ne ldp x4,x5,[sp,#0+0+32] // res csel x10,x6,x10,ne csel x11,x7,x11,ne - cmp x25,#0 // !, remember? + cmp x25,#0 // ~, remember? ldp x6,x7,[sp,#0+0+48] csel x14,x8,x14,ne csel x15,x9,x15,ne @@ -3373,14 +3363,14 @@ ecp_nistz256_point_add: stp x14,x15,[x21,#0] stp x16,x17,[x21,#0+16] ldp x14,x15,[x22,#32] // in1 - cmp x24,#0 // !, remember? + cmp x24,#0 // ~, remember? ldp x16,x17,[x22,#32+16] csel x8,x4,x8,ne csel x9,x5,x9,ne ldp x4,x5,[sp,#0+32+32] // res csel x10,x6,x10,ne csel x11,x7,x11,ne - cmp x25,#0 // !, remember? + cmp x25,#0 // ~, remember? ldp x6,x7,[sp,#0+32+48] csel x14,x8,x14,ne csel x15,x9,x15,ne @@ -3391,13 +3381,13 @@ ecp_nistz256_point_add: stp x14,x15,[x21,#32] stp x16,x17,[x21,#32+16] ldp x14,x15,[x22,#64] // in1 - cmp x24,#0 // !, remember? + cmp x24,#0 // ~, remember? ldp x16,x17,[x22,#64+16] csel x8,x4,x8,ne csel x9,x5,x9,ne csel x10,x6,x10,ne csel x11,x7,x11,ne - cmp x25,#0 // !, remember? + cmp x25,#0 // ~, remember? csel x14,x8,x14,ne csel x15,x9,x15,ne csel x16,x10,x16,ne @@ -3411,7 +3401,8 @@ ecp_nistz256_point_add: ldp x21,x22,[x29,#32] ldp x23,x24,[x29,#48] ldp x25,x26,[x29,#64] - ldp x29,x30,[sp],#80 + ldp x27,x28,[x29,#80] + ldp x29,x30,[sp],#96 .inst 0xd50323bf // autiasp ret .size ecp_nistz256_point_add,.-ecp_nistz256_point_add @@ -3440,7 +3431,7 @@ ecp_nistz256_point_add_affine: orr x10,x6,x7 orr x24,x8,x10 cmp x24,#0 - csetm x24,ne // !in1infty + csetm x24,ne // ~in1infty ldp x14,x15,[x2] // in2_x ldp x16,x17,[x2,#16] @@ -3454,7 +3445,7 @@ ecp_nistz256_point_add_affine: orr x8,x8,x10 orr x25,x14,x8 cmp x25,#0 - csetm x25,ne // !in2infty + csetm x25,ne // ~in2infty add x0,sp,#128 bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z1sqr, in1_z); @@ -3561,14 +3552,14 @@ ecp_nistz256_point_add_affine: ldp x8,x9,[x23] // in2 ldp x10,x11,[x23,#16] ldp x14,x15,[x22,#0] // in1 - cmp x24,#0 // !, remember? + cmp x24,#0 // ~, remember? ldp x16,x17,[x22,#0+16] csel x8,x4,x8,ne csel x9,x5,x9,ne ldp x4,x5,[sp,#0+0+32] // res csel x10,x6,x10,ne csel x11,x7,x11,ne - cmp x25,#0 // !, remember? + cmp x25,#0 // ~, remember? ldp x6,x7,[sp,#0+0+48] csel x14,x8,x14,ne csel x15,x9,x15,ne @@ -3580,14 +3571,14 @@ ecp_nistz256_point_add_affine: stp x16,x17,[x21,#0+16] adr x23,.Lone_mont-64 ldp x14,x15,[x22,#32] // in1 - cmp x24,#0 // !, remember? + cmp x24,#0 // ~, remember? ldp x16,x17,[x22,#32+16] csel x8,x4,x8,ne csel x9,x5,x9,ne ldp x4,x5,[sp,#0+32+32] // res csel x10,x6,x10,ne csel x11,x7,x11,ne - cmp x25,#0 // !, remember? + cmp x25,#0 // ~, remember? ldp x6,x7,[sp,#0+32+48] csel x14,x8,x14,ne csel x15,x9,x15,ne @@ -3598,13 +3589,13 @@ ecp_nistz256_point_add_affine: stp x14,x15,[x21,#32] stp x16,x17,[x21,#32+16] ldp x14,x15,[x22,#64] // in1 - cmp x24,#0 // !, remember? + cmp x24,#0 // ~, remember? ldp x16,x17,[x22,#64+16] csel x8,x4,x8,ne csel x9,x5,x9,ne csel x10,x6,x10,ne csel x11,x7,x11,ne - cmp x25,#0 // !, remember? + cmp x25,#0 // ~, remember? csel x14,x8,x14,ne csel x15,x9,x15,ne csel x16,x10,x16,ne diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/sha/sha256-armv8.S b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/sha/sha256-armv8.S index 7dcc98ea95ce66..a8843c87d19265 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/sha/sha256-armv8.S +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/sha/sha256-armv8.S @@ -1,4 +1,4 @@ -// Copyright 2014-2019 The OpenSSL Project Authors. All Rights Reserved. +// Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. // // Licensed under the OpenSSL license (the "License"). You may not use // this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/sha/sha512-armv8.S b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/sha/sha512-armv8.S index d341c63a289f8b..e86b69f011c955 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/sha/sha512-armv8.S +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/sha/sha512-armv8.S @@ -1,4 +1,4 @@ -// Copyright 2014-2019 The OpenSSL Project Authors. All Rights Reserved. +// Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. // // Licensed under the OpenSSL license (the "License"). You may not use // this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/opensslconf.h index 30820b60518d47..937531fe9fc0c5 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/progs.h b/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-aarch64/no-asm/configdata.pm b/deps/openssl/config/archs/linux-aarch64/no-asm/configdata.pm index 320833b90223fa..a36f3889d4751f 100644 --- a/deps/openssl/config/archs/linux-aarch64/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux-aarch64/no-asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-aarch64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -237,6 +237,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -355,8 +356,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -624,14 +625,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -707,6 +700,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1504,6 +1505,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3222,7 +3229,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3230,6 +3236,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3728,14 +3735,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4176,6 +4175,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4870,49 +4877,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4934,7 +4933,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4948,613 +4946,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5572,188 +5468,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5783,13 +5648,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5799,43 +5662,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5845,31 +5701,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5887,278 +5738,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6168,301 +5973,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6470,7 +6225,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6478,7 +6232,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6486,7 +6239,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6494,7 +6246,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6502,7 +6253,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6510,163 +6260,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6684,223 +6407,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6908,21 +6594,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6930,13 +6613,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6944,81 +6625,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7026,328 +6694,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7357,85 +6964,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7458,361 +7051,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7834,259 +7367,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8096,31 +7586,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8130,7 +7615,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8156,13 +7640,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8188,7 +7670,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8214,709 +7695,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8967,6 +8330,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9211,7 +8582,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9537,7 +8907,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9583,7 +8952,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9649,7 +9017,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9674,7 +9041,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9772,7 +9138,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9822,18 +9187,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9844,6 +9206,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9907,10 +9273,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9939,6 +9301,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10203,6 +9569,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15093,7 +14460,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15101,6 +14467,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15328,6 +14695,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15430,10 +14805,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15462,6 +14833,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/buildinf.h index ed237c3102f71e..4f6ff84c2810f2 100644 --- a/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-aarch64" -#define DATE "built on: Fri Sep 13 15:59:08 2019 UTC" +#define DATE "built on: Wed Mar 18 21:06:04 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/opensslconf.h index 212e3f67d8e568..781ef739dc2274 100644 --- a/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-aarch64/no-asm/include/progs.h b/deps/openssl/config/archs/linux-aarch64/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-aarch64/no-asm/include/progs.h +++ b/deps/openssl/config/archs/linux-aarch64/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-armv4/asm/configdata.pm b/deps/openssl/config/archs/linux-armv4/asm/configdata.pm index c62115205baa7e..42746324ce6230 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/configdata.pm +++ b/deps/openssl/config/archs/linux-armv4/asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-armv4", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -239,6 +239,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3236,7 +3243,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3244,6 +3250,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3742,14 +3749,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4190,6 +4189,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4868,7 +4875,6 @@ our %unified_info = ( "crypto/aes/aes-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -4887,43 +4893,36 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4937,21 +4936,18 @@ our %unified_info = ( "crypto/aes/aesv8-armx.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/aes/bsaes-armv7.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4961,639 +4957,533 @@ our %unified_info = ( "crypto/armcap.o" => [ ".", - "crypto/include", "include", ], "crypto/armv4cpuid.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/armv4-mont.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -5604,188 +5494,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5815,13 +5674,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5831,43 +5688,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5877,37 +5727,31 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -5922,272 +5766,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6197,301 +5996,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6499,7 +6248,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6507,7 +6255,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6515,7 +6262,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6523,7 +6269,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6531,7 +6276,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6539,169 +6283,141 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -6716,229 +6432,191 @@ our %unified_info = ( "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6946,21 +6624,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6968,13 +6643,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6982,81 +6655,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7064,328 +6724,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7395,86 +6994,72 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/modes/ghash-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7489,374 +7074,312 @@ our %unified_info = ( "crypto/modes/ghashv8-armx.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7875,259 +7398,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8137,44 +7617,37 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/sha/sha1-armv4-large.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8197,19 +7670,16 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8232,13 +7702,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8261,709 +7729,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9014,6 +8364,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9258,7 +8616,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9584,7 +8941,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9630,7 +8986,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9696,7 +9051,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9721,7 +9075,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9819,7 +9172,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9869,18 +9221,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9891,6 +9240,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9954,10 +9307,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9986,6 +9335,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10250,6 +9603,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15205,7 +14559,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15213,6 +14566,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15440,6 +14794,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15542,10 +14904,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15574,6 +14932,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-armv4/asm/crypto/aes/aes-armv4.S b/deps/openssl/config/archs/linux-armv4/asm/crypto/aes/aes-armv4.S index 4746b714cad247..839663c84155b0 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/crypto/aes/aes-armv4.S +++ b/deps/openssl/config/archs/linux-armv4/asm/crypto/aes/aes-armv4.S @@ -1,4 +1,4 @@ -@ Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +@ Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. @ @ Licensed under the OpenSSL license (the "License"). You may not use @ this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-armv4/asm/crypto/aes/bsaes-armv7.S b/deps/openssl/config/archs/linux-armv4/asm/crypto/aes/bsaes-armv7.S index e05feb2ceeac32..ef3992c9aa7069 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/crypto/aes/bsaes-armv7.S +++ b/deps/openssl/config/archs/linux-armv4/asm/crypto/aes/bsaes-armv7.S @@ -1,4 +1,4 @@ -@ Copyright 2012-2018 The OpenSSL Project Authors. All Rights Reserved. +@ Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. @ @ Licensed under the OpenSSL license (the "License"). You may not use @ this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-armv4/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-armv4/asm/crypto/buildinf.h index ef86bdcf892a82..69027a7fb80eb8 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-armv4/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-armv4" -#define DATE "built on: Fri Sep 13 15:59:11 2019 UTC" +#define DATE "built on: Wed Mar 18 21:06:07 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-armv4/asm/crypto/ec/ecp_nistz256-armv4.S b/deps/openssl/config/archs/linux-armv4/asm/crypto/ec/ecp_nistz256-armv4.S index d96f1c339901cf..63f850e6b90da6 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/crypto/ec/ecp_nistz256-armv4.S +++ b/deps/openssl/config/archs/linux-armv4/asm/crypto/ec/ecp_nistz256-armv4.S @@ -3757,7 +3757,7 @@ ecp_nistz256_point_add: #endif movne r12,#-1 stmia r3,{r4,r5,r6,r7,r8,r9,r10,r11} - str r12,[sp,#32*18+8] @ !in2infty + str r12,[sp,#32*18+8] @ ~in2infty ldmia r1!,{r4,r5,r6,r7,r8,r9,r10,r11} @ copy in1_x add r3,sp,#96 @@ -3778,7 +3778,7 @@ ecp_nistz256_point_add: #endif movne r12,#-1 stmia r3,{r4,r5,r6,r7,r8,r9,r10,r11} - str r12,[sp,#32*18+4] @ !in1infty + str r12,[sp,#32*18+4] @ ~in1infty add r1,sp,#256 add r2,sp,#256 @@ -3843,33 +3843,20 @@ ecp_nistz256_point_add: orr r11,r11,r4 orr r6,r6,r8 orr r11,r11,r9 - orrs r11,r11,r6 + orr r11,r11,r6 @ ~is_equal(U1,U2) - bne .Ladd_proceed @ is_equal(U1,U2)? + ldr r10,[sp,#32*18+4] @ ~in1infty + ldr r12,[sp,#32*18+8] @ ~in2infty + ldr r14,[sp,#32*18+12] @ ~is_equal(S1,S2) + mvn r10,r10 @ -1/0 -> 0/-1 + mvn r12,r12 @ -1/0 -> 0/-1 + orr r11,r10 + orr r11,r12 + orrs r11,r14 @ set flags - ldr r10,[sp,#32*18+4] - ldr r12,[sp,#32*18+8] - ldr r14,[sp,#32*18+12] - tst r10,r12 - beq .Ladd_proceed @ (in1infty || in2infty)? - tst r14,r14 - beq .Ladd_double @ is_equal(S1,S2)? + @ if(~is_equal(U1,U2) | in1infty | in2infty | ~is_equal(S1,S2)) + bne .Ladd_proceed - ldr r0,[sp,#32*18+16] - eor r4,r4,r4 - eor r5,r5,r5 - eor r6,r6,r6 - eor r7,r7,r7 - eor r8,r8,r8 - eor r9,r9,r9 - eor r10,r10,r10 - eor r11,r11,r11 - stmia r0!,{r4,r5,r6,r7,r8,r9,r10,r11} - stmia r0!,{r4,r5,r6,r7,r8,r9,r10,r11} - stmia r0!,{r4,r5,r6,r7,r8,r9,r10,r11} - b .Ladd_done - -.align 4 .Ladd_double: ldr r1,[sp,#32*18+20] add sp,sp,#32*(18-5)+16 @ difference in frame sizes @@ -3934,24 +3921,24 @@ ecp_nistz256_point_add: add r2,sp,#544 bl __ecp_nistz256_sub_from @ p256_sub(res_y, res_y, S2); - ldr r11,[sp,#32*18+4] @ !in1intfy - ldr r12,[sp,#32*18+8] @ !in2intfy + ldr r11,[sp,#32*18+4] @ ~in1infty + ldr r12,[sp,#32*18+8] @ ~in2infty add r1,sp,#0 add r2,sp,#192 - and r10,r11,r12 + and r10,r11,r12 @ ~in1infty & ~in2infty mvn r11,r11 add r3,sp,#96 - and r11,r11,r12 - mvn r12,r12 + and r11,r11,r12 @ in1infty & ~in2infty + mvn r12,r12 @ in2infty ldr r0,[sp,#32*18+16] ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -3961,11 +3948,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -3975,11 +3962,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -3989,11 +3976,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4003,11 +3990,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4017,11 +4004,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4031,11 +4018,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4045,11 +4032,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4059,11 +4046,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4073,11 +4060,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4087,11 +4074,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4101,11 +4088,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4147,7 +4134,7 @@ ecp_nistz256_point_add_affine: #endif movne r12,#-1 stmia r3,{r4,r5,r6,r7,r8,r9,r10,r11} - str r12,[sp,#32*15+4] @ !in1infty + str r12,[sp,#32*15+4] @ ~in1infty ldmia r2!,{r4,r5,r6,r7,r8,r9,r10,r11} @ copy in2_x add r3,sp,#192 @@ -4174,7 +4161,7 @@ ecp_nistz256_point_add_affine: it ne #endif movne r12,#-1 - str r12,[sp,#32*15+8] @ !in2infty + str r12,[sp,#32*15+8] @ ~in2infty add r1,sp,#160 add r2,sp,#160 @@ -4256,24 +4243,24 @@ ecp_nistz256_point_add_affine: add r2,sp,#288 bl __ecp_nistz256_sub_from @ p256_sub(res_y, res_y, S2); - ldr r11,[sp,#32*15+4] @ !in1intfy - ldr r12,[sp,#32*15+8] @ !in2intfy + ldr r11,[sp,#32*15+4] @ ~in1infty + ldr r12,[sp,#32*15+8] @ ~in2infty add r1,sp,#0 add r2,sp,#192 - and r10,r11,r12 + and r10,r11,r12 @ ~in1infty & ~in2infty mvn r11,r11 add r3,sp,#96 - and r11,r11,r12 - mvn r12,r12 + and r11,r11,r12 @ in1infty & ~in2infty + mvn r12,r12 @ in2infty ldr r0,[sp,#32*15] ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4283,11 +4270,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4297,11 +4284,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4311,11 +4298,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4325,11 +4312,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4339,11 +4326,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4353,11 +4340,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4367,11 +4354,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 diff --git a/deps/openssl/config/archs/linux-armv4/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-armv4/asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-armv4/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-armv4/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-armv4/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-armv4/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-armv4/asm/crypto/sha/sha256-armv4.S b/deps/openssl/config/archs/linux-armv4/asm/crypto/sha/sha256-armv4.S index 3efcde6b6eb058..12c44793dea259 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/crypto/sha/sha256-armv4.S +++ b/deps/openssl/config/archs/linux-armv4/asm/crypto/sha/sha256-armv4.S @@ -1,4 +1,4 @@ -@ Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +@ Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. @ @ Licensed under the OpenSSL license (the "License"). You may not use @ this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-armv4/asm/crypto/sha/sha512-armv4.S b/deps/openssl/config/archs/linux-armv4/asm/crypto/sha/sha512-armv4.S index 1e2fbf635016f9..7c28e37a6f6498 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/crypto/sha/sha512-armv4.S +++ b/deps/openssl/config/archs/linux-armv4/asm/crypto/sha/sha512-armv4.S @@ -1,4 +1,4 @@ -@ Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +@ Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. @ @ Licensed under the OpenSSL license (the "License"). You may not use @ this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-armv4/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-armv4/asm/include/openssl/opensslconf.h index 1a2b31bdc7008c..71c4fecc40cc4e 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-armv4/asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-armv4/asm/include/progs.h b/deps/openssl/config/archs/linux-armv4/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/include/progs.h +++ b/deps/openssl/config/archs/linux-armv4/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux-armv4/asm_avx2/configdata.pm index 41e52a0bd5590d..ad3c832efe9312 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-armv4", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -239,6 +239,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3236,7 +3243,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3244,6 +3250,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3742,14 +3749,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4190,6 +4189,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4868,7 +4875,6 @@ our %unified_info = ( "crypto/aes/aes-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -4887,43 +4893,36 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4937,21 +4936,18 @@ our %unified_info = ( "crypto/aes/aesv8-armx.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/aes/bsaes-armv7.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4961,639 +4957,533 @@ our %unified_info = ( "crypto/armcap.o" => [ ".", - "crypto/include", "include", ], "crypto/armv4cpuid.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/armv4-mont.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -5604,188 +5494,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5815,13 +5674,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5831,43 +5688,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5877,37 +5727,31 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -5922,272 +5766,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6197,301 +5996,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6499,7 +6248,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6507,7 +6255,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6515,7 +6262,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6523,7 +6269,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6531,7 +6276,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6539,169 +6283,141 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -6716,229 +6432,191 @@ our %unified_info = ( "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6946,21 +6624,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6968,13 +6643,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6982,81 +6655,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7064,328 +6724,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7395,86 +6994,72 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/modes/ghash-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7489,374 +7074,312 @@ our %unified_info = ( "crypto/modes/ghashv8-armx.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7875,259 +7398,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8137,44 +7617,37 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/sha/sha1-armv4-large.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8197,19 +7670,16 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8232,13 +7702,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8261,709 +7729,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9014,6 +8364,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9258,7 +8616,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9584,7 +8941,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9630,7 +8986,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9696,7 +9051,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9721,7 +9075,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9819,7 +9172,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9869,18 +9221,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9891,6 +9240,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9954,10 +9307,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9986,6 +9335,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10250,6 +9603,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15205,7 +14559,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15213,6 +14566,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15440,6 +14794,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15542,10 +14904,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15574,6 +14932,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/aes/aes-armv4.S b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/aes/aes-armv4.S index 4746b714cad247..839663c84155b0 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/aes/aes-armv4.S +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/aes/aes-armv4.S @@ -1,4 +1,4 @@ -@ Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +@ Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. @ @ Licensed under the OpenSSL license (the "License"). You may not use @ this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/aes/bsaes-armv7.S b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/aes/bsaes-armv7.S index e05feb2ceeac32..ef3992c9aa7069 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/aes/bsaes-armv7.S +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/aes/bsaes-armv7.S @@ -1,4 +1,4 @@ -@ Copyright 2012-2018 The OpenSSL Project Authors. All Rights Reserved. +@ Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. @ @ Licensed under the OpenSSL license (the "License"). You may not use @ this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/buildinf.h index 3b9d482a1ab1ba..d1b23647596725 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-armv4" -#define DATE "built on: Fri Sep 13 15:59:17 2019 UTC" +#define DATE "built on: Wed Mar 18 21:06:14 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/ec/ecp_nistz256-armv4.S b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/ec/ecp_nistz256-armv4.S index d96f1c339901cf..63f850e6b90da6 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/ec/ecp_nistz256-armv4.S +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/ec/ecp_nistz256-armv4.S @@ -3757,7 +3757,7 @@ ecp_nistz256_point_add: #endif movne r12,#-1 stmia r3,{r4,r5,r6,r7,r8,r9,r10,r11} - str r12,[sp,#32*18+8] @ !in2infty + str r12,[sp,#32*18+8] @ ~in2infty ldmia r1!,{r4,r5,r6,r7,r8,r9,r10,r11} @ copy in1_x add r3,sp,#96 @@ -3778,7 +3778,7 @@ ecp_nistz256_point_add: #endif movne r12,#-1 stmia r3,{r4,r5,r6,r7,r8,r9,r10,r11} - str r12,[sp,#32*18+4] @ !in1infty + str r12,[sp,#32*18+4] @ ~in1infty add r1,sp,#256 add r2,sp,#256 @@ -3843,33 +3843,20 @@ ecp_nistz256_point_add: orr r11,r11,r4 orr r6,r6,r8 orr r11,r11,r9 - orrs r11,r11,r6 + orr r11,r11,r6 @ ~is_equal(U1,U2) - bne .Ladd_proceed @ is_equal(U1,U2)? + ldr r10,[sp,#32*18+4] @ ~in1infty + ldr r12,[sp,#32*18+8] @ ~in2infty + ldr r14,[sp,#32*18+12] @ ~is_equal(S1,S2) + mvn r10,r10 @ -1/0 -> 0/-1 + mvn r12,r12 @ -1/0 -> 0/-1 + orr r11,r10 + orr r11,r12 + orrs r11,r14 @ set flags - ldr r10,[sp,#32*18+4] - ldr r12,[sp,#32*18+8] - ldr r14,[sp,#32*18+12] - tst r10,r12 - beq .Ladd_proceed @ (in1infty || in2infty)? - tst r14,r14 - beq .Ladd_double @ is_equal(S1,S2)? + @ if(~is_equal(U1,U2) | in1infty | in2infty | ~is_equal(S1,S2)) + bne .Ladd_proceed - ldr r0,[sp,#32*18+16] - eor r4,r4,r4 - eor r5,r5,r5 - eor r6,r6,r6 - eor r7,r7,r7 - eor r8,r8,r8 - eor r9,r9,r9 - eor r10,r10,r10 - eor r11,r11,r11 - stmia r0!,{r4,r5,r6,r7,r8,r9,r10,r11} - stmia r0!,{r4,r5,r6,r7,r8,r9,r10,r11} - stmia r0!,{r4,r5,r6,r7,r8,r9,r10,r11} - b .Ladd_done - -.align 4 .Ladd_double: ldr r1,[sp,#32*18+20] add sp,sp,#32*(18-5)+16 @ difference in frame sizes @@ -3934,24 +3921,24 @@ ecp_nistz256_point_add: add r2,sp,#544 bl __ecp_nistz256_sub_from @ p256_sub(res_y, res_y, S2); - ldr r11,[sp,#32*18+4] @ !in1intfy - ldr r12,[sp,#32*18+8] @ !in2intfy + ldr r11,[sp,#32*18+4] @ ~in1infty + ldr r12,[sp,#32*18+8] @ ~in2infty add r1,sp,#0 add r2,sp,#192 - and r10,r11,r12 + and r10,r11,r12 @ ~in1infty & ~in2infty mvn r11,r11 add r3,sp,#96 - and r11,r11,r12 - mvn r12,r12 + and r11,r11,r12 @ in1infty & ~in2infty + mvn r12,r12 @ in2infty ldr r0,[sp,#32*18+16] ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -3961,11 +3948,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -3975,11 +3962,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -3989,11 +3976,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4003,11 +3990,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4017,11 +4004,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4031,11 +4018,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4045,11 +4032,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4059,11 +4046,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4073,11 +4060,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4087,11 +4074,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4101,11 +4088,11 @@ ecp_nistz256_point_add: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4147,7 +4134,7 @@ ecp_nistz256_point_add_affine: #endif movne r12,#-1 stmia r3,{r4,r5,r6,r7,r8,r9,r10,r11} - str r12,[sp,#32*15+4] @ !in1infty + str r12,[sp,#32*15+4] @ ~in1infty ldmia r2!,{r4,r5,r6,r7,r8,r9,r10,r11} @ copy in2_x add r3,sp,#192 @@ -4174,7 +4161,7 @@ ecp_nistz256_point_add_affine: it ne #endif movne r12,#-1 - str r12,[sp,#32*15+8] @ !in2infty + str r12,[sp,#32*15+8] @ ~in2infty add r1,sp,#160 add r2,sp,#160 @@ -4256,24 +4243,24 @@ ecp_nistz256_point_add_affine: add r2,sp,#288 bl __ecp_nistz256_sub_from @ p256_sub(res_y, res_y, S2); - ldr r11,[sp,#32*15+4] @ !in1intfy - ldr r12,[sp,#32*15+8] @ !in2intfy + ldr r11,[sp,#32*15+4] @ ~in1infty + ldr r12,[sp,#32*15+8] @ ~in2infty add r1,sp,#0 add r2,sp,#192 - and r10,r11,r12 + and r10,r11,r12 @ ~in1infty & ~in2infty mvn r11,r11 add r3,sp,#96 - and r11,r11,r12 - mvn r12,r12 + and r11,r11,r12 @ in1infty & ~in2infty + mvn r12,r12 @ in2infty ldr r0,[sp,#32*15] ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4283,11 +4270,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4297,11 +4284,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4311,11 +4298,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4325,11 +4312,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4339,11 +4326,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4353,11 +4340,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -4367,11 +4354,11 @@ ecp_nistz256_point_add_affine: ldmia r1!,{r4,r5} @ res_x ldmia r2!,{r6,r7} @ in2_x ldmia r3!,{r8,r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/sha/sha256-armv4.S b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/sha/sha256-armv4.S index 3efcde6b6eb058..12c44793dea259 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/sha/sha256-armv4.S +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/sha/sha256-armv4.S @@ -1,4 +1,4 @@ -@ Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +@ Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. @ @ Licensed under the OpenSSL license (the "License"). You may not use @ this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/sha/sha512-armv4.S b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/sha/sha512-armv4.S index 1e2fbf635016f9..7c28e37a6f6498 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/sha/sha512-armv4.S +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/sha/sha512-armv4.S @@ -1,4 +1,4 @@ -@ Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +@ Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. @ @ Licensed under the OpenSSL license (the "License"). You may not use @ this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/opensslconf.h index 1a2b31bdc7008c..71c4fecc40cc4e 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/include/progs.h b/deps/openssl/config/archs/linux-armv4/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-armv4/no-asm/configdata.pm b/deps/openssl/config/archs/linux-armv4/no-asm/configdata.pm index 9603f342e70290..c1fb4d9a7e6d75 100644 --- a/deps/openssl/config/archs/linux-armv4/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux-armv4/no-asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-armv4", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -237,6 +237,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -355,8 +356,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -624,14 +625,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -707,6 +700,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1504,6 +1505,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3222,7 +3229,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3230,6 +3236,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3728,14 +3735,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4176,6 +4175,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4870,49 +4877,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4934,7 +4933,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4948,613 +4946,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5572,188 +5468,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5783,13 +5648,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5799,43 +5662,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5845,31 +5701,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5887,278 +5738,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6168,301 +5973,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6470,7 +6225,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6478,7 +6232,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6486,7 +6239,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6494,7 +6246,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6502,7 +6253,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6510,163 +6260,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6684,223 +6407,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6908,21 +6594,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6930,13 +6613,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6944,81 +6625,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7026,328 +6694,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7357,85 +6964,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7458,361 +7051,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7834,259 +7367,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8096,31 +7586,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8130,7 +7615,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8156,13 +7640,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8188,7 +7670,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8214,709 +7695,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8967,6 +8330,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9211,7 +8582,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9537,7 +8907,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9583,7 +8952,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9649,7 +9017,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9674,7 +9041,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9772,7 +9138,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9822,18 +9187,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9844,6 +9206,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9907,10 +9273,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9939,6 +9301,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10203,6 +9569,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15093,7 +14460,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15101,6 +14467,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15328,6 +14695,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15430,10 +14805,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15462,6 +14833,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-armv4/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-armv4/no-asm/crypto/buildinf.h index 7cf872d12e9d2a..b5e738fe28df89 100644 --- a/deps/openssl/config/archs/linux-armv4/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-armv4/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-armv4" -#define DATE "built on: Fri Sep 13 15:59:23 2019 UTC" +#define DATE "built on: Wed Mar 18 21:06:19 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-armv4/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-armv4/no-asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/linux-armv4/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-armv4/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-armv4/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-armv4/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-armv4/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-armv4/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/opensslconf.h index 6419ec21a2675f..4cbafb777f2ce3 100644 --- a/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-armv4/no-asm/include/progs.h b/deps/openssl/config/archs/linux-armv4/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-armv4/no-asm/include/progs.h +++ b/deps/openssl/config/archs/linux-armv4/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-elf/asm/configdata.pm b/deps/openssl/config/archs/linux-elf/asm/configdata.pm index 2e07e0f655cb5d..8a4cc46d2bc848 100644 --- a/deps/openssl/config/archs/linux-elf/asm/configdata.pm +++ b/deps/openssl/config/archs/linux-elf/asm/configdata.pm @@ -49,14 +49,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "AESNI_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)gcc", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -112,8 +112,8 @@ our %config = ( sourcedir => ".", target => "linux-elf", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -240,6 +240,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -357,8 +358,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -626,14 +627,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -709,6 +702,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1506,6 +1507,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3237,7 +3244,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3245,6 +3251,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3743,14 +3750,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4191,6 +4190,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4885,49 +4892,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4937,7 +4936,6 @@ our %unified_info = ( "crypto/aes/aesni-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4955,13 +4953,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4975,613 +4971,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5595,7 +5489,6 @@ our %unified_info = ( "crypto/bn/bn-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5605,188 +5498,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/co-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5816,25 +5678,21 @@ our %unified_info = ( "crypto/bn/x86-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5844,31 +5702,26 @@ our %unified_info = ( "crypto/camellia/cmll-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5878,31 +5731,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5920,284 +5768,237 @@ our %unified_info = ( "crypto/chacha/chacha-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/crypt586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des-586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6207,295 +6008,246 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6503,7 +6255,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6511,7 +6262,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6519,7 +6269,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6527,7 +6276,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6535,7 +6283,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6543,163 +6290,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6717,235 +6437,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6953,21 +6634,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6975,13 +6653,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6989,81 +6665,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7071,334 +6734,272 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-586.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7408,79 +7009,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7499,7 +7087,6 @@ our %unified_info = ( "crypto/modes/ghash-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7509,361 +7096,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7885,265 +7412,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8153,31 +7636,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8187,13 +7665,11 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8219,19 +7695,16 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8257,13 +7730,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8289,727 +7760,606 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-mmx.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9060,6 +8410,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9304,7 +8662,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9630,7 +8987,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9676,7 +9032,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9742,7 +9097,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9767,7 +9121,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9865,7 +9218,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9915,18 +9267,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9937,6 +9286,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10000,10 +9353,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10032,6 +9381,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10296,6 +9649,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15251,7 +14605,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15259,6 +14612,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15486,6 +14840,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15588,10 +14950,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15620,6 +14978,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-elf/asm/crypto/aes/aes-586.s b/deps/openssl/config/archs/linux-elf/asm/crypto/aes/aes-586.s deleted file mode 100644 index 53cd2909ac69bb..00000000000000 --- a/deps/openssl/config/archs/linux-elf/asm/crypto/aes/aes-586.s +++ /dev/null @@ -1,3243 +0,0 @@ -.text -.type _x86_AES_encrypt_compact,@function -.align 16 -_x86_AES_encrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 16 -.L000loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ecx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ecx,%edi - xorl %esi,%ecx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ecx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%ecx - andl %edx,%ebp - leal (%edx,%edx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %edx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %edx,%edi - xorl %esi,%edx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%edx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%edx - andl %eax,%ebp - leal (%eax,%eax,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %eax,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %eax,%edi - xorl %esi,%eax - rorl $24,%edi - xorl %ebp,%esi - roll $24,%eax - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%eax - andl %ebx,%ebp - leal (%ebx,%ebx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ebx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ebx,%edi - xorl %esi,%ebx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ebx - xorl %edi,%esi - xorl %esi,%ebx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L000loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.size _x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact -.type _sse_AES_encrypt_compact,@function -.align 16 -_sse_AES_encrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 16 -.L001loop: - pshufw $8,%mm0,%mm1 - pshufw $13,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $13,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $8,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $8,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - movd %mm2,%eax - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - movd %mm6,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $8,%esi - shrl $16,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shrl $16,%eax - movd %ecx,%mm1 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - andl $255,%eax - orl %esi,%ecx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - andl $255,%ebx - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%ecx - shll $16,%eax - movzbl -128(%ebp,%edi,1),%esi - orl %eax,%edx - shll $8,%esi - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - orl %ebx,%edx - movl 20(%esp),%edi - movd %ecx,%mm4 - movd %edx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja .L002out - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - movq %mm0,%mm1 - movq %mm4,%mm5 - pcmpgtb %mm0,%mm3 - pcmpgtb %mm4,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - pshufw $177,%mm0,%mm2 - pshufw $177,%mm4,%mm6 - paddb %mm0,%mm0 - paddb %mm4,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pshufw $177,%mm2,%mm3 - pshufw $177,%mm6,%mm7 - pxor %mm0,%mm1 - pxor %mm4,%mm5 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm3,%mm2 - movq %mm7,%mm6 - pslld $8,%mm3 - pslld $8,%mm7 - psrld $24,%mm2 - psrld $24,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - psrld $8,%mm1 - psrld $8,%mm5 - movl -128(%ebp),%eax - pslld $24,%mm3 - pslld $24,%mm7 - movl -64(%ebp),%ebx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl (%ebp),%ecx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl 64(%ebp),%edx - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp .L001loop -.align 16 -.L002out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.size _sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact -.type _x86_AES_encrypt,@function -.align 16 -_x86_AES_encrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 16 -.L003loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl (%ebp,%esi,8),%esi - movzbl %ch,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movzbl %bh,%edi - xorl 1(%ebp,%edi,8),%esi - - movl 20(%esp),%edi - movl (%ebp,%edx,8),%edx - movzbl %ah,%eax - xorl 3(%ebp,%eax,8),%edx - movl 4(%esp),%eax - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - xorl 1(%ebp,%ecx,8),%edx - movl %esi,%ecx - - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L003loop - movl %eax,%esi - andl $255,%esi - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %bh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %ch,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %dh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movzbl %bh,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movl 2(%ebp,%edx,8),%edx - andl $255,%edx - movzbl %ah,%eax - movl (%ebp,%eax,8),%eax - andl $65280,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movl (%ebp,%ebx,8),%ebx - andl $16711680,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movl 2(%ebp,%ecx,8),%ecx - andl $4278190080,%ecx - xorl %ecx,%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 64 -.LAES_Te: -.long 2774754246,2774754246 -.long 2222750968,2222750968 -.long 2574743534,2574743534 -.long 2373680118,2373680118 -.long 234025727,234025727 -.long 3177933782,3177933782 -.long 2976870366,2976870366 -.long 1422247313,1422247313 -.long 1345335392,1345335392 -.long 50397442,50397442 -.long 2842126286,2842126286 -.long 2099981142,2099981142 -.long 436141799,436141799 -.long 1658312629,1658312629 -.long 3870010189,3870010189 -.long 2591454956,2591454956 -.long 1170918031,1170918031 -.long 2642575903,2642575903 -.long 1086966153,1086966153 -.long 2273148410,2273148410 -.long 368769775,368769775 -.long 3948501426,3948501426 -.long 3376891790,3376891790 -.long 200339707,200339707 -.long 3970805057,3970805057 -.long 1742001331,1742001331 -.long 4255294047,4255294047 -.long 3937382213,3937382213 -.long 3214711843,3214711843 -.long 4154762323,4154762323 -.long 2524082916,2524082916 -.long 1539358875,1539358875 -.long 3266819957,3266819957 -.long 486407649,486407649 -.long 2928907069,2928907069 -.long 1780885068,1780885068 -.long 1513502316,1513502316 -.long 1094664062,1094664062 -.long 49805301,49805301 -.long 1338821763,1338821763 -.long 1546925160,1546925160 -.long 4104496465,4104496465 -.long 887481809,887481809 -.long 150073849,150073849 -.long 2473685474,2473685474 -.long 1943591083,1943591083 -.long 1395732834,1395732834 -.long 1058346282,1058346282 -.long 201589768,201589768 -.long 1388824469,1388824469 -.long 1696801606,1696801606 -.long 1589887901,1589887901 -.long 672667696,672667696 -.long 2711000631,2711000631 -.long 251987210,251987210 -.long 3046808111,3046808111 -.long 151455502,151455502 -.long 907153956,907153956 -.long 2608889883,2608889883 -.long 1038279391,1038279391 -.long 652995533,652995533 -.long 1764173646,1764173646 -.long 3451040383,3451040383 -.long 2675275242,2675275242 -.long 453576978,453576978 -.long 2659418909,2659418909 -.long 1949051992,1949051992 -.long 773462580,773462580 -.long 756751158,756751158 -.long 2993581788,2993581788 -.long 3998898868,3998898868 -.long 4221608027,4221608027 -.long 4132590244,4132590244 -.long 1295727478,1295727478 -.long 1641469623,1641469623 -.long 3467883389,3467883389 -.long 2066295122,2066295122 -.long 1055122397,1055122397 -.long 1898917726,1898917726 -.long 2542044179,2542044179 -.long 4115878822,4115878822 -.long 1758581177,1758581177 -.long 0,0 -.long 753790401,753790401 -.long 1612718144,1612718144 -.long 536673507,536673507 -.long 3367088505,3367088505 -.long 3982187446,3982187446 -.long 3194645204,3194645204 -.long 1187761037,1187761037 -.long 3653156455,3653156455 -.long 1262041458,1262041458 -.long 3729410708,3729410708 -.long 3561770136,3561770136 -.long 3898103984,3898103984 -.long 1255133061,1255133061 -.long 1808847035,1808847035 -.long 720367557,720367557 -.long 3853167183,3853167183 -.long 385612781,385612781 -.long 3309519750,3309519750 -.long 3612167578,3612167578 -.long 1429418854,1429418854 -.long 2491778321,2491778321 -.long 3477423498,3477423498 -.long 284817897,284817897 -.long 100794884,100794884 -.long 2172616702,2172616702 -.long 4031795360,4031795360 -.long 1144798328,1144798328 -.long 3131023141,3131023141 -.long 3819481163,3819481163 -.long 4082192802,4082192802 -.long 4272137053,4272137053 -.long 3225436288,3225436288 -.long 2324664069,2324664069 -.long 2912064063,2912064063 -.long 3164445985,3164445985 -.long 1211644016,1211644016 -.long 83228145,83228145 -.long 3753688163,3753688163 -.long 3249976951,3249976951 -.long 1977277103,1977277103 -.long 1663115586,1663115586 -.long 806359072,806359072 -.long 452984805,452984805 -.long 250868733,250868733 -.long 1842533055,1842533055 -.long 1288555905,1288555905 -.long 336333848,336333848 -.long 890442534,890442534 -.long 804056259,804056259 -.long 3781124030,3781124030 -.long 2727843637,2727843637 -.long 3427026056,3427026056 -.long 957814574,957814574 -.long 1472513171,1472513171 -.long 4071073621,4071073621 -.long 2189328124,2189328124 -.long 1195195770,1195195770 -.long 2892260552,2892260552 -.long 3881655738,3881655738 -.long 723065138,723065138 -.long 2507371494,2507371494 -.long 2690670784,2690670784 -.long 2558624025,2558624025 -.long 3511635870,3511635870 -.long 2145180835,2145180835 -.long 1713513028,1713513028 -.long 2116692564,2116692564 -.long 2878378043,2878378043 -.long 2206763019,2206763019 -.long 3393603212,3393603212 -.long 703524551,703524551 -.long 3552098411,3552098411 -.long 1007948840,1007948840 -.long 2044649127,2044649127 -.long 3797835452,3797835452 -.long 487262998,487262998 -.long 1994120109,1994120109 -.long 1004593371,1004593371 -.long 1446130276,1446130276 -.long 1312438900,1312438900 -.long 503974420,503974420 -.long 3679013266,3679013266 -.long 168166924,168166924 -.long 1814307912,1814307912 -.long 3831258296,3831258296 -.long 1573044895,1573044895 -.long 1859376061,1859376061 -.long 4021070915,4021070915 -.long 2791465668,2791465668 -.long 2828112185,2828112185 -.long 2761266481,2761266481 -.long 937747667,937747667 -.long 2339994098,2339994098 -.long 854058965,854058965 -.long 1137232011,1137232011 -.long 1496790894,1496790894 -.long 3077402074,3077402074 -.long 2358086913,2358086913 -.long 1691735473,1691735473 -.long 3528347292,3528347292 -.long 3769215305,3769215305 -.long 3027004632,3027004632 -.long 4199962284,4199962284 -.long 133494003,133494003 -.long 636152527,636152527 -.long 2942657994,2942657994 -.long 2390391540,2390391540 -.long 3920539207,3920539207 -.long 403179536,403179536 -.long 3585784431,3585784431 -.long 2289596656,2289596656 -.long 1864705354,1864705354 -.long 1915629148,1915629148 -.long 605822008,605822008 -.long 4054230615,4054230615 -.long 3350508659,3350508659 -.long 1371981463,1371981463 -.long 602466507,602466507 -.long 2094914977,2094914977 -.long 2624877800,2624877800 -.long 555687742,555687742 -.long 3712699286,3712699286 -.long 3703422305,3703422305 -.long 2257292045,2257292045 -.long 2240449039,2240449039 -.long 2423288032,2423288032 -.long 1111375484,1111375484 -.long 3300242801,3300242801 -.long 2858837708,2858837708 -.long 3628615824,3628615824 -.long 84083462,84083462 -.long 32962295,32962295 -.long 302911004,302911004 -.long 2741068226,2741068226 -.long 1597322602,1597322602 -.long 4183250862,4183250862 -.long 3501832553,3501832553 -.long 2441512471,2441512471 -.long 1489093017,1489093017 -.long 656219450,656219450 -.long 3114180135,3114180135 -.long 954327513,954327513 -.long 335083755,335083755 -.long 3013122091,3013122091 -.long 856756514,856756514 -.long 3144247762,3144247762 -.long 1893325225,1893325225 -.long 2307821063,2307821063 -.long 2811532339,2811532339 -.long 3063651117,3063651117 -.long 572399164,572399164 -.long 2458355477,2458355477 -.long 552200649,552200649 -.long 1238290055,1238290055 -.long 4283782570,4283782570 -.long 2015897680,2015897680 -.long 2061492133,2061492133 -.long 2408352771,2408352771 -.long 4171342169,4171342169 -.long 2156497161,2156497161 -.long 386731290,386731290 -.long 3669999461,3669999461 -.long 837215959,837215959 -.long 3326231172,3326231172 -.long 3093850320,3093850320 -.long 3275833730,3275833730 -.long 2962856233,2962856233 -.long 1999449434,1999449434 -.long 286199582,286199582 -.long 3417354363,3417354363 -.long 4233385128,4233385128 -.long 3602627437,3602627437 -.long 974525996,974525996 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.long 1,2,4,8 -.long 16,32,64,128 -.long 27,54,0,0 -.long 0,0,0,0 -.size _x86_AES_encrypt,.-_x86_AES_encrypt -.globl AES_encrypt -.type AES_encrypt,@function -.align 16 -AES_encrypt: -.L_AES_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call .L004pic_point -.L004pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L004pic_point(%ebp),%eax - leal .LAES_Te-.L004pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc .L005x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call _sse_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 16 -.L005x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call _x86_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_encrypt,.-.L_AES_encrypt_begin -.type _x86_AES_decrypt_compact,@function -.align 16 -_x86_AES_decrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 16 -.L006loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%eax - subl %edi,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %ecx,%eax - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ecx,%ebx - roll $8,%ecx - xorl %esi,%ebp - xorl %eax,%ecx - xorl %ebp,%eax - xorl %ebx,%ecx - xorl %ebp,%ebx - roll $24,%eax - xorl %ebp,%ecx - roll $16,%ebx - xorl %eax,%ecx - roll $8,%ebp - xorl %ebx,%ecx - movl 4(%esp),%eax - xorl %ebp,%ecx - movl %ecx,12(%esp) - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %edx,%ebx - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %edx,%ecx - roll $8,%edx - xorl %esi,%ebp - xorl %ebx,%edx - xorl %ebp,%ebx - xorl %ecx,%edx - xorl %ebp,%ecx - roll $24,%ebx - xorl %ebp,%edx - roll $16,%ecx - xorl %ebx,%edx - roll $8,%ebp - xorl %ecx,%edx - movl 8(%esp),%ebx - xorl %ebp,%edx - movl %edx,16(%esp) - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %eax,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %eax,%edx - roll $8,%eax - xorl %esi,%ebp - xorl %ecx,%eax - xorl %ebp,%ecx - xorl %edx,%eax - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%eax - roll $16,%edx - xorl %ecx,%eax - roll $8,%ebp - xorl %edx,%eax - xorl %ebp,%eax - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ebx,%edx - roll $8,%ebx - xorl %esi,%ebp - xorl %ecx,%ebx - xorl %ebp,%ecx - xorl %edx,%ebx - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%ebp - xorl %edx,%ebx - movl 12(%esp),%ecx - xorl %ebp,%ebx - movl 16(%esp),%edx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L006loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.size _x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact -.type _sse_AES_decrypt_compact,@function -.align 16 -_sse_AES_decrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 16 -.L007loop: - pshufw $12,%mm0,%mm1 - pshufw $9,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $6,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $3,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movd %mm2,%eax - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $16,%esi - movd %mm6,%ebx - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %al,%edi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $16,%esi - shrl $16,%eax - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shrl $16,%ebx - shll $8,%esi - movd %edx,%mm1 - movzbl -128(%ebp,%edi,1),%edx - movzbl %bh,%edi - shll $24,%edx - andl $255,%ebx - orl %esi,%edx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movzbl %ah,%eax - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - orl %ebx,%edx - shll $16,%esi - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%edx - shll $24,%eax - orl %eax,%ecx - movl 20(%esp),%edi - movd %edx,%mm4 - movd %ecx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja .L008out - movq %mm0,%mm3 - movq %mm4,%mm7 - pshufw $228,%mm0,%mm2 - pshufw $228,%mm4,%mm6 - movq %mm0,%mm1 - movq %mm4,%mm5 - pshufw $177,%mm0,%mm0 - pshufw $177,%mm4,%mm4 - pslld $8,%mm2 - pslld $8,%mm6 - psrld $8,%mm3 - psrld $8,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pslld $16,%mm2 - pslld $16,%mm6 - psrld $16,%mm3 - psrld $16,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movq 8(%esp),%mm3 - pxor %mm2,%mm2 - pxor %mm6,%mm6 - pcmpgtb %mm1,%mm2 - pcmpgtb %mm5,%mm6 - pand %mm3,%mm2 - pand %mm3,%mm6 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm2,%mm1 - pxor %mm6,%mm5 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq %mm1,%mm2 - movq %mm5,%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pslld $24,%mm3 - pslld $24,%mm7 - psrld $8,%mm2 - psrld $8,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pshufw $177,%mm1,%mm3 - pshufw $177,%mm5,%mm7 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - pshufw $177,%mm1,%mm2 - pshufw $177,%mm5,%mm6 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pslld $8,%mm1 - pslld $8,%mm5 - psrld $8,%mm3 - psrld $8,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl -128(%ebp),%eax - pslld $16,%mm1 - pslld $16,%mm5 - movl -64(%ebp),%ebx - psrld $16,%mm3 - psrld $16,%mm7 - movl (%ebp),%ecx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl 64(%ebp),%edx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp .L007loop -.align 16 -.L008out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.size _sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact -.type _x86_AES_decrypt,@function -.align 16 -_x86_AES_decrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 16 -.L009loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ebx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %ah,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - - movl 20(%esp),%edi - andl $255,%edx - movl (%ebp,%edx,8),%edx - movzbl %ch,%ecx - xorl 3(%ebp,%ecx,8),%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - shrl $24,%eax - xorl 1(%ebp,%eax,8),%edx - movl 4(%esp),%eax - - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L009loop - leal 2176(%ebp),%ebp - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi - leal -128(%ebp),%ebp - movl %eax,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl (%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl (%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl (%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl (%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - leal -2048(%ebp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 64 -.LAES_Td: -.long 1353184337,1353184337 -.long 1399144830,1399144830 -.long 3282310938,3282310938 -.long 2522752826,2522752826 -.long 3412831035,3412831035 -.long 4047871263,4047871263 -.long 2874735276,2874735276 -.long 2466505547,2466505547 -.long 1442459680,1442459680 -.long 4134368941,4134368941 -.long 2440481928,2440481928 -.long 625738485,625738485 -.long 4242007375,4242007375 -.long 3620416197,3620416197 -.long 2151953702,2151953702 -.long 2409849525,2409849525 -.long 1230680542,1230680542 -.long 1729870373,1729870373 -.long 2551114309,2551114309 -.long 3787521629,3787521629 -.long 41234371,41234371 -.long 317738113,317738113 -.long 2744600205,2744600205 -.long 3338261355,3338261355 -.long 3881799427,3881799427 -.long 2510066197,2510066197 -.long 3950669247,3950669247 -.long 3663286933,3663286933 -.long 763608788,763608788 -.long 3542185048,3542185048 -.long 694804553,694804553 -.long 1154009486,1154009486 -.long 1787413109,1787413109 -.long 2021232372,2021232372 -.long 1799248025,1799248025 -.long 3715217703,3715217703 -.long 3058688446,3058688446 -.long 397248752,397248752 -.long 1722556617,1722556617 -.long 3023752829,3023752829 -.long 407560035,407560035 -.long 2184256229,2184256229 -.long 1613975959,1613975959 -.long 1165972322,1165972322 -.long 3765920945,3765920945 -.long 2226023355,2226023355 -.long 480281086,480281086 -.long 2485848313,2485848313 -.long 1483229296,1483229296 -.long 436028815,436028815 -.long 2272059028,2272059028 -.long 3086515026,3086515026 -.long 601060267,601060267 -.long 3791801202,3791801202 -.long 1468997603,1468997603 -.long 715871590,715871590 -.long 120122290,120122290 -.long 63092015,63092015 -.long 2591802758,2591802758 -.long 2768779219,2768779219 -.long 4068943920,4068943920 -.long 2997206819,2997206819 -.long 3127509762,3127509762 -.long 1552029421,1552029421 -.long 723308426,723308426 -.long 2461301159,2461301159 -.long 4042393587,4042393587 -.long 2715969870,2715969870 -.long 3455375973,3455375973 -.long 3586000134,3586000134 -.long 526529745,526529745 -.long 2331944644,2331944644 -.long 2639474228,2639474228 -.long 2689987490,2689987490 -.long 853641733,853641733 -.long 1978398372,1978398372 -.long 971801355,971801355 -.long 2867814464,2867814464 -.long 111112542,111112542 -.long 1360031421,1360031421 -.long 4186579262,4186579262 -.long 1023860118,1023860118 -.long 2919579357,2919579357 -.long 1186850381,1186850381 -.long 3045938321,3045938321 -.long 90031217,90031217 -.long 1876166148,1876166148 -.long 4279586912,4279586912 -.long 620468249,620468249 -.long 2548678102,2548678102 -.long 3426959497,3426959497 -.long 2006899047,2006899047 -.long 3175278768,3175278768 -.long 2290845959,2290845959 -.long 945494503,945494503 -.long 3689859193,3689859193 -.long 1191869601,1191869601 -.long 3910091388,3910091388 -.long 3374220536,3374220536 -.long 0,0 -.long 2206629897,2206629897 -.long 1223502642,1223502642 -.long 2893025566,2893025566 -.long 1316117100,1316117100 -.long 4227796733,4227796733 -.long 1446544655,1446544655 -.long 517320253,517320253 -.long 658058550,658058550 -.long 1691946762,1691946762 -.long 564550760,564550760 -.long 3511966619,3511966619 -.long 976107044,976107044 -.long 2976320012,2976320012 -.long 266819475,266819475 -.long 3533106868,3533106868 -.long 2660342555,2660342555 -.long 1338359936,1338359936 -.long 2720062561,2720062561 -.long 1766553434,1766553434 -.long 370807324,370807324 -.long 179999714,179999714 -.long 3844776128,3844776128 -.long 1138762300,1138762300 -.long 488053522,488053522 -.long 185403662,185403662 -.long 2915535858,2915535858 -.long 3114841645,3114841645 -.long 3366526484,3366526484 -.long 2233069911,2233069911 -.long 1275557295,1275557295 -.long 3151862254,3151862254 -.long 4250959779,4250959779 -.long 2670068215,2670068215 -.long 3170202204,3170202204 -.long 3309004356,3309004356 -.long 880737115,880737115 -.long 1982415755,1982415755 -.long 3703972811,3703972811 -.long 1761406390,1761406390 -.long 1676797112,1676797112 -.long 3403428311,3403428311 -.long 277177154,277177154 -.long 1076008723,1076008723 -.long 538035844,538035844 -.long 2099530373,2099530373 -.long 4164795346,4164795346 -.long 288553390,288553390 -.long 1839278535,1839278535 -.long 1261411869,1261411869 -.long 4080055004,4080055004 -.long 3964831245,3964831245 -.long 3504587127,3504587127 -.long 1813426987,1813426987 -.long 2579067049,2579067049 -.long 4199060497,4199060497 -.long 577038663,577038663 -.long 3297574056,3297574056 -.long 440397984,440397984 -.long 3626794326,3626794326 -.long 4019204898,4019204898 -.long 3343796615,3343796615 -.long 3251714265,3251714265 -.long 4272081548,4272081548 -.long 906744984,906744984 -.long 3481400742,3481400742 -.long 685669029,685669029 -.long 646887386,646887386 -.long 2764025151,2764025151 -.long 3835509292,3835509292 -.long 227702864,227702864 -.long 2613862250,2613862250 -.long 1648787028,1648787028 -.long 3256061430,3256061430 -.long 3904428176,3904428176 -.long 1593260334,1593260334 -.long 4121936770,4121936770 -.long 3196083615,3196083615 -.long 2090061929,2090061929 -.long 2838353263,2838353263 -.long 3004310991,3004310991 -.long 999926984,999926984 -.long 2809993232,2809993232 -.long 1852021992,1852021992 -.long 2075868123,2075868123 -.long 158869197,158869197 -.long 4095236462,4095236462 -.long 28809964,28809964 -.long 2828685187,2828685187 -.long 1701746150,1701746150 -.long 2129067946,2129067946 -.long 147831841,147831841 -.long 3873969647,3873969647 -.long 3650873274,3650873274 -.long 3459673930,3459673930 -.long 3557400554,3557400554 -.long 3598495785,3598495785 -.long 2947720241,2947720241 -.long 824393514,824393514 -.long 815048134,815048134 -.long 3227951669,3227951669 -.long 935087732,935087732 -.long 2798289660,2798289660 -.long 2966458592,2966458592 -.long 366520115,366520115 -.long 1251476721,1251476721 -.long 4158319681,4158319681 -.long 240176511,240176511 -.long 804688151,804688151 -.long 2379631990,2379631990 -.long 1303441219,1303441219 -.long 1414376140,1414376140 -.long 3741619940,3741619940 -.long 3820343710,3820343710 -.long 461924940,461924940 -.long 3089050817,3089050817 -.long 2136040774,2136040774 -.long 82468509,82468509 -.long 1563790337,1563790337 -.long 1937016826,1937016826 -.long 776014843,776014843 -.long 1511876531,1511876531 -.long 1389550482,1389550482 -.long 861278441,861278441 -.long 323475053,323475053 -.long 2355222426,2355222426 -.long 2047648055,2047648055 -.long 2383738969,2383738969 -.long 2302415851,2302415851 -.long 3995576782,3995576782 -.long 902390199,902390199 -.long 3991215329,3991215329 -.long 1018251130,1018251130 -.long 1507840668,1507840668 -.long 1064563285,1064563285 -.long 2043548696,2043548696 -.long 3208103795,3208103795 -.long 3939366739,3939366739 -.long 1537932639,1537932639 -.long 342834655,342834655 -.long 2262516856,2262516856 -.long 2180231114,2180231114 -.long 1053059257,1053059257 -.long 741614648,741614648 -.long 1598071746,1598071746 -.long 1925389590,1925389590 -.long 203809468,203809468 -.long 2336832552,2336832552 -.long 1100287487,1100287487 -.long 1895934009,1895934009 -.long 3736275976,3736275976 -.long 2632234200,2632234200 -.long 2428589668,2428589668 -.long 1636092795,1636092795 -.long 1890988757,1890988757 -.long 1952214088,1952214088 -.long 1113045200,1113045200 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.size _x86_AES_decrypt,.-_x86_AES_decrypt -.globl AES_decrypt -.type AES_decrypt,@function -.align 16 -AES_decrypt: -.L_AES_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call .L010pic_point -.L010pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L010pic_point(%ebp),%eax - leal .LAES_Td-.L010pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc .L011x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call _sse_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 16 -.L011x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call _x86_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_decrypt,.-.L_AES_decrypt_begin -.globl AES_cbc_encrypt -.type AES_cbc_encrypt,@function -.align 16 -AES_cbc_encrypt: -.L_AES_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%ecx - cmpl $0,%ecx - je .L012drop_out - call .L013pic_point -.L013pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L013pic_point(%ebp),%eax - cmpl $0,40(%esp) - leal .LAES_Te-.L013pic_point(%ebp),%ebp - jne .L014picked_te - leal .LAES_Td-.LAES_Te(%ebp),%ebp -.L014picked_te: - pushfl - cld - cmpl $512,%ecx - jb .L015slow_way - testl $15,%ecx - jnz .L015slow_way - btl $28,(%eax) - jc .L015slow_way - leal -324(%esp),%esi - andl $-64,%esi - movl %ebp,%eax - leal 2304(%ebp),%ebx - movl %esi,%edx - andl $4095,%eax - andl $4095,%ebx - andl $4095,%edx - cmpl %ebx,%edx - jb .L016tbl_break_out - subl %ebx,%edx - subl %edx,%esi - jmp .L017tbl_ok -.align 4 -.L016tbl_break_out: - subl %eax,%edx - andl $4095,%edx - addl $384,%edx - subl %edx,%esi -.align 4 -.L017tbl_ok: - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 12(%edx),%edi - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl $0,316(%esp) - movl %edi,%ebx - movl $61,%ecx - subl %ebp,%ebx - movl %edi,%esi - andl $4095,%ebx - leal 76(%esp),%edi - cmpl $2304,%ebx - jb .L018do_copy - cmpl $3852,%ebx - jb .L019skip_copy -.align 4 -.L018do_copy: - movl %edi,44(%esp) -.long 2784229001 -.L019skip_copy: - movl $16,%edi -.align 4 -.L020prefetch_tbl: - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%esi - leal 128(%ebp),%ebp - subl $1,%edi - jnz .L020prefetch_tbl - subl $2048,%ebp - movl 32(%esp),%esi - movl 48(%esp),%edi - cmpl $0,%edx - je .L021fast_decrypt - movl (%edi),%eax - movl 4(%edi),%ebx -.align 16 -.L022fast_enc_loop: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_encrypt - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - leal 16(%esi),%esi - movl 40(%esp),%ecx - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L022fast_enc_loop - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - cmpl $0,316(%esp) - movl 44(%esp),%edi - je .L023skip_ezero - movl $60,%ecx - xorl %eax,%eax -.align 4 -.long 2884892297 -.L023skip_ezero: - movl 28(%esp),%esp - popfl -.L012drop_out: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L021fast_decrypt: - cmpl 36(%esp),%esi - je .L024fast_dec_in_place - movl %edi,52(%esp) -.align 4 -.align 16 -.L025fast_dec_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_decrypt - movl 52(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 36(%esp),%edi - movl 32(%esp),%esi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl %esi,52(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edi - movl %edi,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L025fast_dec_loop - movl 52(%esp),%edi - movl 48(%esp),%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - jmp .L026fast_dec_out -.align 16 -.L024fast_dec_in_place: -.L027fast_dec_in_place_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call _x86_AES_decrypt - movl 48(%esp),%edi - movl 36(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L027fast_dec_in_place_loop -.align 4 -.L026fast_dec_out: - cmpl $0,316(%esp) - movl 44(%esp),%edi - je .L028skip_dzero - movl $60,%ecx - xorl %eax,%eax -.align 4 -.long 2884892297 -.L028skip_dzero: - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L015slow_way: - movl (%eax),%eax - movl 36(%esp),%edi - leal -80(%esp),%esi - andl $-64,%esi - leal -143(%edi),%ebx - subl %esi,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esi - leal 768(%esi),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl %eax,52(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl %esi,%edi - movl %eax,%esi - cmpl $0,%edx - je .L029slow_decrypt - cmpl $16,%ecx - movl %ebx,%edx - jb .L030slow_enc_tail - btl $25,52(%esp) - jnc .L031slow_enc_x86 - movq (%edi),%mm0 - movq 8(%edi),%mm4 -.align 16 -.L032slow_enc_loop_sse: - pxor (%esi),%mm0 - pxor 8(%esi),%mm4 - movl 44(%esp),%edi - call _sse_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl 40(%esp),%ecx - movq %mm0,(%edi) - movq %mm4,8(%edi) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae .L032slow_enc_loop_sse - testl $15,%ecx - jnz .L030slow_enc_tail - movl 48(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L031slow_enc_x86: - movl (%edi),%eax - movl 4(%edi),%ebx -.align 4 -.L033slow_enc_loop_x86: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae .L033slow_enc_loop_x86 - testl $15,%ecx - jnz .L030slow_enc_tail - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L030slow_enc_tail: - emms - movl %edx,%edi - movl $16,%ebx - subl %ecx,%ebx - cmpl %esi,%edi - je .L034enc_in_place -.align 4 -.long 2767451785 - jmp .L035enc_skip_in_place -.L034enc_in_place: - leal (%edi,%ecx,1),%edi -.L035enc_skip_in_place: - movl %ebx,%ecx - xorl %eax,%eax -.align 4 -.long 2868115081 - movl 48(%esp),%edi - movl %edx,%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl $16,40(%esp) - jmp .L033slow_enc_loop_x86 -.align 16 -.L029slow_decrypt: - btl $25,52(%esp) - jnc .L036slow_dec_loop_x86 -.align 4 -.L037slow_dec_loop_sse: - movq (%esi),%mm0 - movq 8(%esi),%mm4 - movl 44(%esp),%edi - call _sse_AES_decrypt_compact - movl 32(%esp),%esi - leal 60(%esp),%eax - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl 48(%esp),%edi - movq (%esi),%mm1 - movq 8(%esi),%mm5 - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movq %mm1,(%edi) - movq %mm5,8(%edi) - subl $16,%ecx - jc .L038slow_dec_partial_sse - movq %mm0,(%ebx) - movq %mm4,8(%ebx) - leal 16(%ebx),%ebx - movl %ebx,36(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - movl %ecx,40(%esp) - jnz .L037slow_dec_loop_sse - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L038slow_dec_partial_sse: - movq %mm0,(%eax) - movq %mm4,8(%eax) - emms - addl $16,%ecx - movl %ebx,%edi - movl %eax,%esi -.align 4 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L036slow_dec_loop_x86: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call _x86_AES_decrypt_compact - movl 48(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - subl $16,%esi - jc .L039slow_dec_partial_x86 - movl %esi,40(%esp) - movl 36(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - leal 16(%esi),%esi - movl %esi,32(%esp) - jnz .L036slow_dec_loop_x86 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L039slow_dec_partial_x86: - leal 60(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 32(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl 36(%esp),%edi - leal 60(%esp),%esi -.align 4 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_cbc_encrypt,.-.L_AES_cbc_encrypt_begin -.type _x86_AES_set_encrypt_key,@function -.align 16 -_x86_AES_set_encrypt_key: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 24(%esp),%esi - movl 32(%esp),%edi - testl $-1,%esi - jz .L040badpointer - testl $-1,%edi - jz .L040badpointer - call .L041pic_point -.L041pic_point: - popl %ebp - leal .LAES_Te-.L041pic_point(%ebp),%ebp - leal 2176(%ebp),%ebp - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx - movl 28(%esp),%ecx - cmpl $128,%ecx - je .L04210rounds - cmpl $192,%ecx - je .L04312rounds - cmpl $256,%ecx - je .L04414rounds - movl $-2,%eax - jmp .L045exit -.L04210rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - xorl %ecx,%ecx - jmp .L04610shortcut -.align 4 -.L04710loop: - movl (%edi),%eax - movl 12(%edi),%edx -.L04610shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,16(%edi) - xorl 4(%edi),%eax - movl %eax,20(%edi) - xorl 8(%edi),%eax - movl %eax,24(%edi) - xorl 12(%edi),%eax - movl %eax,28(%edi) - incl %ecx - addl $16,%edi - cmpl $10,%ecx - jl .L04710loop - movl $10,80(%edi) - xorl %eax,%eax - jmp .L045exit -.L04312rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%ecx - movl 20(%esi),%edx - movl %ecx,16(%edi) - movl %edx,20(%edi) - xorl %ecx,%ecx - jmp .L04812shortcut -.align 4 -.L04912loop: - movl (%edi),%eax - movl 20(%edi),%edx -.L04812shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,24(%edi) - xorl 4(%edi),%eax - movl %eax,28(%edi) - xorl 8(%edi),%eax - movl %eax,32(%edi) - xorl 12(%edi),%eax - movl %eax,36(%edi) - cmpl $7,%ecx - je .L05012break - incl %ecx - xorl 16(%edi),%eax - movl %eax,40(%edi) - xorl 20(%edi),%eax - movl %eax,44(%edi) - addl $24,%edi - jmp .L04912loop -.L05012break: - movl $12,72(%edi) - xorl %eax,%eax - jmp .L045exit -.L04414rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - movl %eax,16(%edi) - movl %ebx,20(%edi) - movl %ecx,24(%edi) - movl %edx,28(%edi) - xorl %ecx,%ecx - jmp .L05114shortcut -.align 4 -.L05214loop: - movl 28(%edi),%edx -.L05114shortcut: - movl (%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,32(%edi) - xorl 4(%edi),%eax - movl %eax,36(%edi) - xorl 8(%edi),%eax - movl %eax,40(%edi) - xorl 12(%edi),%eax - movl %eax,44(%edi) - cmpl $6,%ecx - je .L05314break - incl %ecx - movl %eax,%edx - movl 16(%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - movl %eax,48(%edi) - xorl 20(%edi),%eax - movl %eax,52(%edi) - xorl 24(%edi),%eax - movl %eax,56(%edi) - xorl 28(%edi),%eax - movl %eax,60(%edi) - addl $32,%edi - jmp .L05214loop -.L05314break: - movl $14,48(%edi) - xorl %eax,%eax - jmp .L045exit -.L040badpointer: - movl $-1,%eax -.L045exit: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key -.globl AES_set_encrypt_key -.type AES_set_encrypt_key,@function -.align 16 -AES_set_encrypt_key: -.L_AES_set_encrypt_key_begin: - call _x86_AES_set_encrypt_key - ret -.size AES_set_encrypt_key,.-.L_AES_set_encrypt_key_begin -.globl AES_set_decrypt_key -.type AES_set_decrypt_key,@function -.align 16 -AES_set_decrypt_key: -.L_AES_set_decrypt_key_begin: - call _x86_AES_set_encrypt_key - cmpl $0,%eax - je .L054proceed - ret -.L054proceed: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%esi - movl 240(%esi),%ecx - leal (,%ecx,4),%ecx - leal (%esi,%ecx,4),%edi -.align 4 -.L055invert: - movl (%esi),%eax - movl 4(%esi),%ebx - movl (%edi),%ecx - movl 4(%edi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,(%esi) - movl %edx,4(%esi) - movl 8(%esi),%eax - movl 12(%esi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,8(%edi) - movl %ebx,12(%edi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - addl $16,%esi - subl $16,%edi - cmpl %edi,%esi - jne .L055invert - movl 28(%esp),%edi - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,28(%esp) - movl 16(%edi),%eax -.align 4 -.L056permute: - addl $16,%edi - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %eax,%ebx - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - xorl %eax,%ecx - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - roll $8,%eax - xorl %esi,%edx - movl 4(%edi),%ebp - xorl %ebx,%eax - xorl %edx,%ebx - xorl %ecx,%eax - roll $24,%ebx - xorl %edx,%ecx - xorl %edx,%eax - roll $16,%ecx - xorl %ebx,%eax - roll $8,%edx - xorl %ecx,%eax - movl %ebp,%ebx - xorl %edx,%eax - movl %eax,(%edi) - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - xorl %ebx,%edx - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - roll $8,%ebx - xorl %esi,%eax - movl 8(%edi),%ebp - xorl %ecx,%ebx - xorl %eax,%ecx - xorl %edx,%ebx - roll $24,%ecx - xorl %eax,%edx - xorl %eax,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%eax - xorl %edx,%ebx - movl %ebp,%ecx - xorl %eax,%ebx - movl %ebx,4(%edi) - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %ecx,%edx - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - xorl %ecx,%eax - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - roll $8,%ecx - xorl %esi,%ebx - movl 12(%edi),%ebp - xorl %edx,%ecx - xorl %ebx,%edx - xorl %eax,%ecx - roll $24,%edx - xorl %ebx,%eax - xorl %ebx,%ecx - roll $16,%eax - xorl %edx,%ecx - roll $8,%ebx - xorl %eax,%ecx - movl %ebp,%edx - xorl %ebx,%ecx - movl %ecx,8(%edi) - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %edx,%eax - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - xorl %edx,%ebx - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - roll $8,%edx - xorl %esi,%ecx - movl 16(%edi),%ebp - xorl %eax,%edx - xorl %ecx,%eax - xorl %ebx,%edx - roll $24,%eax - xorl %ecx,%ebx - xorl %ecx,%edx - roll $16,%ebx - xorl %eax,%edx - roll $8,%ecx - xorl %ebx,%edx - movl %ebp,%eax - xorl %ecx,%edx - movl %edx,12(%edi) - cmpl 28(%esp),%edi - jb .L056permute - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_set_decrypt_key,.-.L_AES_set_decrypt_key_begin -.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.comm OPENSSL_ia32cap_P,16,4 diff --git a/deps/openssl/config/archs/linux-elf/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-elf/asm/crypto/buildinf.h index d35d80a968c59e..bd6dc58174b08f 100644 --- a/deps/openssl/config/archs/linux-elf/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-elf/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-elf" -#define DATE "built on: Fri Sep 13 15:59:27 2019 UTC" +#define DATE "built on: Wed Mar 18 21:06:23 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -38,10 +38,11 @@ static const char compiler_flags[] = { '6','_','A','S','M',' ','-','D','S','H','A','5','1','2','_','A', 'S','M',' ','-','D','R','C','4','_','A','S','M',' ','-','D','M', 'D','5','_','A','S','M',' ','-','D','R','M','D','1','6','0','_', - 'A','S','M',' ','-','D','V','P','A','E','S','_','A','S','M',' ', - '-','D','W','H','I','R','L','P','O','O','L','_','A','S','M',' ', - '-','D','G','H','A','S','H','_','A','S','M',' ','-','D','E','C', - 'P','_','N','I','S','T','Z','2','5','6','_','A','S','M',' ','-', - 'D','P','O','L','Y','1','3','0','5','_','A','S','M',' ','-','D', - 'N','D','E','B','U','G','\0' + 'A','S','M',' ','-','D','A','E','S','N','I','_','A','S','M',' ', + '-','D','V','P','A','E','S','_','A','S','M',' ','-','D','W','H', + 'I','R','L','P','O','O','L','_','A','S','M',' ','-','D','G','H', + 'A','S','H','_','A','S','M',' ','-','D','E','C','P','_','N','I', + 'S','T','Z','2','5','6','_','A','S','M',' ','-','D','P','O','L', + 'Y','1','3','0','5','_','A','S','M',' ','-','D','N','D','E','B', + 'U','G','\0' }; diff --git a/deps/openssl/config/archs/linux-elf/asm/crypto/ec/ecp_nistz256-x86.s b/deps/openssl/config/archs/linux-elf/asm/crypto/ec/ecp_nistz256-x86.s index da9b3a7ee1dc57..4cec24f4e21cf7 100644 --- a/deps/openssl/config/archs/linux-elf/asm/crypto/ec/ecp_nistz256-x86.s +++ b/deps/openssl/config/archs/linux-elf/asm/crypto/ec/ecp_nistz256-x86.s @@ -4419,19 +4419,15 @@ ecp_nistz256_point_add: orl 4(%edi),%eax orl 8(%edi),%eax orl 12(%edi),%eax + movl 576(%esp),%ebx + notl %ebx + orl %ebx,%eax + movl 580(%esp),%ebx + notl %ebx + orl %ebx,%eax + orl 584(%esp),%eax .byte 62 jnz .L010add_proceed - movl 576(%esp),%eax - andl 580(%esp),%eax - movl 584(%esp),%ebx - jz .L010add_proceed - testl %ebx,%ebx - jz .L011add_double - movl 616(%esp),%edi - xorl %eax,%eax - movl $24,%ecx -.byte 252,243,171 - jmp .L012add_done .align 16 .L011add_double: movl 620(%esp),%esi diff --git a/deps/openssl/config/archs/linux-elf/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-elf/asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/linux-elf/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-elf/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-elf/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-elf/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-elf/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-elf/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-elf/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-elf/asm/include/openssl/opensslconf.h index c43f2272966f7a..da0b080ce0c7a3 100644 --- a/deps/openssl/config/archs/linux-elf/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-elf/asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-elf/asm/include/progs.h b/deps/openssl/config/archs/linux-elf/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-elf/asm/include/progs.h +++ b/deps/openssl/config/archs/linux-elf/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-elf/asm/openssl-cl.gypi b/deps/openssl/config/archs/linux-elf/asm/openssl-cl.gypi index e2fe28d73a968d..37aa910e1d975f 100644 --- a/deps/openssl/config/archs/linux-elf/asm/openssl-cl.gypi +++ b/deps/openssl/config/archs/linux-elf/asm/openssl-cl.gypi @@ -16,6 +16,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/linux-elf/asm/openssl.gypi b/deps/openssl/config/archs/linux-elf/asm/openssl.gypi index 19fe9eac77262f..25646b678cab5f 100644 --- a/deps/openssl/config/archs/linux-elf/asm/openssl.gypi +++ b/deps/openssl/config/archs/linux-elf/asm/openssl.gypi @@ -713,6 +713,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux-elf/asm_avx2/configdata.pm index 9ddf36af0f5672..214775155c00f7 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/configdata.pm @@ -49,14 +49,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "AESNI_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)../config/fake_gcc.pl", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -112,8 +112,8 @@ our %config = ( sourcedir => ".", target => "linux-elf", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -240,6 +240,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -357,8 +358,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -626,14 +627,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -709,6 +702,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1506,6 +1507,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3237,7 +3244,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3245,6 +3251,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3743,14 +3750,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4191,6 +4190,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4885,49 +4892,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4937,7 +4936,6 @@ our %unified_info = ( "crypto/aes/aesni-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4955,13 +4953,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4975,613 +4971,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5595,7 +5489,6 @@ our %unified_info = ( "crypto/bn/bn-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5605,188 +5498,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/co-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5816,25 +5678,21 @@ our %unified_info = ( "crypto/bn/x86-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5844,31 +5702,26 @@ our %unified_info = ( "crypto/camellia/cmll-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5878,31 +5731,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5920,284 +5768,237 @@ our %unified_info = ( "crypto/chacha/chacha-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/crypt586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des-586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6207,295 +6008,246 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6503,7 +6255,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6511,7 +6262,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6519,7 +6269,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6527,7 +6276,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6535,7 +6283,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6543,163 +6290,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6717,235 +6437,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6953,21 +6634,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6975,13 +6653,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6989,81 +6665,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7071,334 +6734,272 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-586.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7408,79 +7009,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7499,7 +7087,6 @@ our %unified_info = ( "crypto/modes/ghash-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7509,361 +7096,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7885,265 +7412,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8153,31 +7636,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8187,13 +7665,11 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8219,19 +7695,16 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8257,13 +7730,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8289,727 +7760,606 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-mmx.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9060,6 +8410,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9304,7 +8662,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9630,7 +8987,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9676,7 +9032,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9742,7 +9097,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9767,7 +9121,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9865,7 +9218,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9915,18 +9267,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9937,6 +9286,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10000,10 +9353,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10032,6 +9381,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10296,6 +9649,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15251,7 +14605,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15259,6 +14612,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15486,6 +14840,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15588,10 +14950,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15620,6 +14978,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/aes/aes-586.s b/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/aes/aes-586.s deleted file mode 100644 index 53cd2909ac69bb..00000000000000 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/aes/aes-586.s +++ /dev/null @@ -1,3243 +0,0 @@ -.text -.type _x86_AES_encrypt_compact,@function -.align 16 -_x86_AES_encrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 16 -.L000loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ecx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ecx,%edi - xorl %esi,%ecx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ecx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%ecx - andl %edx,%ebp - leal (%edx,%edx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %edx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %edx,%edi - xorl %esi,%edx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%edx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%edx - andl %eax,%ebp - leal (%eax,%eax,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %eax,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %eax,%edi - xorl %esi,%eax - rorl $24,%edi - xorl %ebp,%esi - roll $24,%eax - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%eax - andl %ebx,%ebp - leal (%ebx,%ebx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ebx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ebx,%edi - xorl %esi,%ebx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ebx - xorl %edi,%esi - xorl %esi,%ebx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L000loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.size _x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact -.type _sse_AES_encrypt_compact,@function -.align 16 -_sse_AES_encrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 16 -.L001loop: - pshufw $8,%mm0,%mm1 - pshufw $13,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $13,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $8,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $8,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - movd %mm2,%eax - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - movd %mm6,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $8,%esi - shrl $16,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shrl $16,%eax - movd %ecx,%mm1 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - andl $255,%eax - orl %esi,%ecx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - andl $255,%ebx - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%ecx - shll $16,%eax - movzbl -128(%ebp,%edi,1),%esi - orl %eax,%edx - shll $8,%esi - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - orl %ebx,%edx - movl 20(%esp),%edi - movd %ecx,%mm4 - movd %edx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja .L002out - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - movq %mm0,%mm1 - movq %mm4,%mm5 - pcmpgtb %mm0,%mm3 - pcmpgtb %mm4,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - pshufw $177,%mm0,%mm2 - pshufw $177,%mm4,%mm6 - paddb %mm0,%mm0 - paddb %mm4,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pshufw $177,%mm2,%mm3 - pshufw $177,%mm6,%mm7 - pxor %mm0,%mm1 - pxor %mm4,%mm5 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm3,%mm2 - movq %mm7,%mm6 - pslld $8,%mm3 - pslld $8,%mm7 - psrld $24,%mm2 - psrld $24,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - psrld $8,%mm1 - psrld $8,%mm5 - movl -128(%ebp),%eax - pslld $24,%mm3 - pslld $24,%mm7 - movl -64(%ebp),%ebx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl (%ebp),%ecx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl 64(%ebp),%edx - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp .L001loop -.align 16 -.L002out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.size _sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact -.type _x86_AES_encrypt,@function -.align 16 -_x86_AES_encrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 16 -.L003loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl (%ebp,%esi,8),%esi - movzbl %ch,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movzbl %bh,%edi - xorl 1(%ebp,%edi,8),%esi - - movl 20(%esp),%edi - movl (%ebp,%edx,8),%edx - movzbl %ah,%eax - xorl 3(%ebp,%eax,8),%edx - movl 4(%esp),%eax - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - xorl 1(%ebp,%ecx,8),%edx - movl %esi,%ecx - - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L003loop - movl %eax,%esi - andl $255,%esi - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %bh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %ch,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %dh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movzbl %bh,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movl 2(%ebp,%edx,8),%edx - andl $255,%edx - movzbl %ah,%eax - movl (%ebp,%eax,8),%eax - andl $65280,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movl (%ebp,%ebx,8),%ebx - andl $16711680,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movl 2(%ebp,%ecx,8),%ecx - andl $4278190080,%ecx - xorl %ecx,%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 64 -.LAES_Te: -.long 2774754246,2774754246 -.long 2222750968,2222750968 -.long 2574743534,2574743534 -.long 2373680118,2373680118 -.long 234025727,234025727 -.long 3177933782,3177933782 -.long 2976870366,2976870366 -.long 1422247313,1422247313 -.long 1345335392,1345335392 -.long 50397442,50397442 -.long 2842126286,2842126286 -.long 2099981142,2099981142 -.long 436141799,436141799 -.long 1658312629,1658312629 -.long 3870010189,3870010189 -.long 2591454956,2591454956 -.long 1170918031,1170918031 -.long 2642575903,2642575903 -.long 1086966153,1086966153 -.long 2273148410,2273148410 -.long 368769775,368769775 -.long 3948501426,3948501426 -.long 3376891790,3376891790 -.long 200339707,200339707 -.long 3970805057,3970805057 -.long 1742001331,1742001331 -.long 4255294047,4255294047 -.long 3937382213,3937382213 -.long 3214711843,3214711843 -.long 4154762323,4154762323 -.long 2524082916,2524082916 -.long 1539358875,1539358875 -.long 3266819957,3266819957 -.long 486407649,486407649 -.long 2928907069,2928907069 -.long 1780885068,1780885068 -.long 1513502316,1513502316 -.long 1094664062,1094664062 -.long 49805301,49805301 -.long 1338821763,1338821763 -.long 1546925160,1546925160 -.long 4104496465,4104496465 -.long 887481809,887481809 -.long 150073849,150073849 -.long 2473685474,2473685474 -.long 1943591083,1943591083 -.long 1395732834,1395732834 -.long 1058346282,1058346282 -.long 201589768,201589768 -.long 1388824469,1388824469 -.long 1696801606,1696801606 -.long 1589887901,1589887901 -.long 672667696,672667696 -.long 2711000631,2711000631 -.long 251987210,251987210 -.long 3046808111,3046808111 -.long 151455502,151455502 -.long 907153956,907153956 -.long 2608889883,2608889883 -.long 1038279391,1038279391 -.long 652995533,652995533 -.long 1764173646,1764173646 -.long 3451040383,3451040383 -.long 2675275242,2675275242 -.long 453576978,453576978 -.long 2659418909,2659418909 -.long 1949051992,1949051992 -.long 773462580,773462580 -.long 756751158,756751158 -.long 2993581788,2993581788 -.long 3998898868,3998898868 -.long 4221608027,4221608027 -.long 4132590244,4132590244 -.long 1295727478,1295727478 -.long 1641469623,1641469623 -.long 3467883389,3467883389 -.long 2066295122,2066295122 -.long 1055122397,1055122397 -.long 1898917726,1898917726 -.long 2542044179,2542044179 -.long 4115878822,4115878822 -.long 1758581177,1758581177 -.long 0,0 -.long 753790401,753790401 -.long 1612718144,1612718144 -.long 536673507,536673507 -.long 3367088505,3367088505 -.long 3982187446,3982187446 -.long 3194645204,3194645204 -.long 1187761037,1187761037 -.long 3653156455,3653156455 -.long 1262041458,1262041458 -.long 3729410708,3729410708 -.long 3561770136,3561770136 -.long 3898103984,3898103984 -.long 1255133061,1255133061 -.long 1808847035,1808847035 -.long 720367557,720367557 -.long 3853167183,3853167183 -.long 385612781,385612781 -.long 3309519750,3309519750 -.long 3612167578,3612167578 -.long 1429418854,1429418854 -.long 2491778321,2491778321 -.long 3477423498,3477423498 -.long 284817897,284817897 -.long 100794884,100794884 -.long 2172616702,2172616702 -.long 4031795360,4031795360 -.long 1144798328,1144798328 -.long 3131023141,3131023141 -.long 3819481163,3819481163 -.long 4082192802,4082192802 -.long 4272137053,4272137053 -.long 3225436288,3225436288 -.long 2324664069,2324664069 -.long 2912064063,2912064063 -.long 3164445985,3164445985 -.long 1211644016,1211644016 -.long 83228145,83228145 -.long 3753688163,3753688163 -.long 3249976951,3249976951 -.long 1977277103,1977277103 -.long 1663115586,1663115586 -.long 806359072,806359072 -.long 452984805,452984805 -.long 250868733,250868733 -.long 1842533055,1842533055 -.long 1288555905,1288555905 -.long 336333848,336333848 -.long 890442534,890442534 -.long 804056259,804056259 -.long 3781124030,3781124030 -.long 2727843637,2727843637 -.long 3427026056,3427026056 -.long 957814574,957814574 -.long 1472513171,1472513171 -.long 4071073621,4071073621 -.long 2189328124,2189328124 -.long 1195195770,1195195770 -.long 2892260552,2892260552 -.long 3881655738,3881655738 -.long 723065138,723065138 -.long 2507371494,2507371494 -.long 2690670784,2690670784 -.long 2558624025,2558624025 -.long 3511635870,3511635870 -.long 2145180835,2145180835 -.long 1713513028,1713513028 -.long 2116692564,2116692564 -.long 2878378043,2878378043 -.long 2206763019,2206763019 -.long 3393603212,3393603212 -.long 703524551,703524551 -.long 3552098411,3552098411 -.long 1007948840,1007948840 -.long 2044649127,2044649127 -.long 3797835452,3797835452 -.long 487262998,487262998 -.long 1994120109,1994120109 -.long 1004593371,1004593371 -.long 1446130276,1446130276 -.long 1312438900,1312438900 -.long 503974420,503974420 -.long 3679013266,3679013266 -.long 168166924,168166924 -.long 1814307912,1814307912 -.long 3831258296,3831258296 -.long 1573044895,1573044895 -.long 1859376061,1859376061 -.long 4021070915,4021070915 -.long 2791465668,2791465668 -.long 2828112185,2828112185 -.long 2761266481,2761266481 -.long 937747667,937747667 -.long 2339994098,2339994098 -.long 854058965,854058965 -.long 1137232011,1137232011 -.long 1496790894,1496790894 -.long 3077402074,3077402074 -.long 2358086913,2358086913 -.long 1691735473,1691735473 -.long 3528347292,3528347292 -.long 3769215305,3769215305 -.long 3027004632,3027004632 -.long 4199962284,4199962284 -.long 133494003,133494003 -.long 636152527,636152527 -.long 2942657994,2942657994 -.long 2390391540,2390391540 -.long 3920539207,3920539207 -.long 403179536,403179536 -.long 3585784431,3585784431 -.long 2289596656,2289596656 -.long 1864705354,1864705354 -.long 1915629148,1915629148 -.long 605822008,605822008 -.long 4054230615,4054230615 -.long 3350508659,3350508659 -.long 1371981463,1371981463 -.long 602466507,602466507 -.long 2094914977,2094914977 -.long 2624877800,2624877800 -.long 555687742,555687742 -.long 3712699286,3712699286 -.long 3703422305,3703422305 -.long 2257292045,2257292045 -.long 2240449039,2240449039 -.long 2423288032,2423288032 -.long 1111375484,1111375484 -.long 3300242801,3300242801 -.long 2858837708,2858837708 -.long 3628615824,3628615824 -.long 84083462,84083462 -.long 32962295,32962295 -.long 302911004,302911004 -.long 2741068226,2741068226 -.long 1597322602,1597322602 -.long 4183250862,4183250862 -.long 3501832553,3501832553 -.long 2441512471,2441512471 -.long 1489093017,1489093017 -.long 656219450,656219450 -.long 3114180135,3114180135 -.long 954327513,954327513 -.long 335083755,335083755 -.long 3013122091,3013122091 -.long 856756514,856756514 -.long 3144247762,3144247762 -.long 1893325225,1893325225 -.long 2307821063,2307821063 -.long 2811532339,2811532339 -.long 3063651117,3063651117 -.long 572399164,572399164 -.long 2458355477,2458355477 -.long 552200649,552200649 -.long 1238290055,1238290055 -.long 4283782570,4283782570 -.long 2015897680,2015897680 -.long 2061492133,2061492133 -.long 2408352771,2408352771 -.long 4171342169,4171342169 -.long 2156497161,2156497161 -.long 386731290,386731290 -.long 3669999461,3669999461 -.long 837215959,837215959 -.long 3326231172,3326231172 -.long 3093850320,3093850320 -.long 3275833730,3275833730 -.long 2962856233,2962856233 -.long 1999449434,1999449434 -.long 286199582,286199582 -.long 3417354363,3417354363 -.long 4233385128,4233385128 -.long 3602627437,3602627437 -.long 974525996,974525996 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.long 1,2,4,8 -.long 16,32,64,128 -.long 27,54,0,0 -.long 0,0,0,0 -.size _x86_AES_encrypt,.-_x86_AES_encrypt -.globl AES_encrypt -.type AES_encrypt,@function -.align 16 -AES_encrypt: -.L_AES_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call .L004pic_point -.L004pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L004pic_point(%ebp),%eax - leal .LAES_Te-.L004pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc .L005x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call _sse_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 16 -.L005x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call _x86_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_encrypt,.-.L_AES_encrypt_begin -.type _x86_AES_decrypt_compact,@function -.align 16 -_x86_AES_decrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 16 -.L006loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%eax - subl %edi,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %ecx,%eax - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ecx,%ebx - roll $8,%ecx - xorl %esi,%ebp - xorl %eax,%ecx - xorl %ebp,%eax - xorl %ebx,%ecx - xorl %ebp,%ebx - roll $24,%eax - xorl %ebp,%ecx - roll $16,%ebx - xorl %eax,%ecx - roll $8,%ebp - xorl %ebx,%ecx - movl 4(%esp),%eax - xorl %ebp,%ecx - movl %ecx,12(%esp) - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %edx,%ebx - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %edx,%ecx - roll $8,%edx - xorl %esi,%ebp - xorl %ebx,%edx - xorl %ebp,%ebx - xorl %ecx,%edx - xorl %ebp,%ecx - roll $24,%ebx - xorl %ebp,%edx - roll $16,%ecx - xorl %ebx,%edx - roll $8,%ebp - xorl %ecx,%edx - movl 8(%esp),%ebx - xorl %ebp,%edx - movl %edx,16(%esp) - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %eax,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %eax,%edx - roll $8,%eax - xorl %esi,%ebp - xorl %ecx,%eax - xorl %ebp,%ecx - xorl %edx,%eax - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%eax - roll $16,%edx - xorl %ecx,%eax - roll $8,%ebp - xorl %edx,%eax - xorl %ebp,%eax - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ebx,%edx - roll $8,%ebx - xorl %esi,%ebp - xorl %ecx,%ebx - xorl %ebp,%ecx - xorl %edx,%ebx - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%ebp - xorl %edx,%ebx - movl 12(%esp),%ecx - xorl %ebp,%ebx - movl 16(%esp),%edx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L006loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.size _x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact -.type _sse_AES_decrypt_compact,@function -.align 16 -_sse_AES_decrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 16 -.L007loop: - pshufw $12,%mm0,%mm1 - pshufw $9,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $6,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $3,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movd %mm2,%eax - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $16,%esi - movd %mm6,%ebx - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %al,%edi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $16,%esi - shrl $16,%eax - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shrl $16,%ebx - shll $8,%esi - movd %edx,%mm1 - movzbl -128(%ebp,%edi,1),%edx - movzbl %bh,%edi - shll $24,%edx - andl $255,%ebx - orl %esi,%edx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movzbl %ah,%eax - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - orl %ebx,%edx - shll $16,%esi - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%edx - shll $24,%eax - orl %eax,%ecx - movl 20(%esp),%edi - movd %edx,%mm4 - movd %ecx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja .L008out - movq %mm0,%mm3 - movq %mm4,%mm7 - pshufw $228,%mm0,%mm2 - pshufw $228,%mm4,%mm6 - movq %mm0,%mm1 - movq %mm4,%mm5 - pshufw $177,%mm0,%mm0 - pshufw $177,%mm4,%mm4 - pslld $8,%mm2 - pslld $8,%mm6 - psrld $8,%mm3 - psrld $8,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pslld $16,%mm2 - pslld $16,%mm6 - psrld $16,%mm3 - psrld $16,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movq 8(%esp),%mm3 - pxor %mm2,%mm2 - pxor %mm6,%mm6 - pcmpgtb %mm1,%mm2 - pcmpgtb %mm5,%mm6 - pand %mm3,%mm2 - pand %mm3,%mm6 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm2,%mm1 - pxor %mm6,%mm5 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq %mm1,%mm2 - movq %mm5,%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pslld $24,%mm3 - pslld $24,%mm7 - psrld $8,%mm2 - psrld $8,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pshufw $177,%mm1,%mm3 - pshufw $177,%mm5,%mm7 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - pshufw $177,%mm1,%mm2 - pshufw $177,%mm5,%mm6 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pslld $8,%mm1 - pslld $8,%mm5 - psrld $8,%mm3 - psrld $8,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl -128(%ebp),%eax - pslld $16,%mm1 - pslld $16,%mm5 - movl -64(%ebp),%ebx - psrld $16,%mm3 - psrld $16,%mm7 - movl (%ebp),%ecx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl 64(%ebp),%edx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp .L007loop -.align 16 -.L008out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.size _sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact -.type _x86_AES_decrypt,@function -.align 16 -_x86_AES_decrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 16 -.L009loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ebx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %ah,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - - movl 20(%esp),%edi - andl $255,%edx - movl (%ebp,%edx,8),%edx - movzbl %ch,%ecx - xorl 3(%ebp,%ecx,8),%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - shrl $24,%eax - xorl 1(%ebp,%eax,8),%edx - movl 4(%esp),%eax - - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L009loop - leal 2176(%ebp),%ebp - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi - leal -128(%ebp),%ebp - movl %eax,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl (%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl (%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl (%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl (%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - leal -2048(%ebp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 64 -.LAES_Td: -.long 1353184337,1353184337 -.long 1399144830,1399144830 -.long 3282310938,3282310938 -.long 2522752826,2522752826 -.long 3412831035,3412831035 -.long 4047871263,4047871263 -.long 2874735276,2874735276 -.long 2466505547,2466505547 -.long 1442459680,1442459680 -.long 4134368941,4134368941 -.long 2440481928,2440481928 -.long 625738485,625738485 -.long 4242007375,4242007375 -.long 3620416197,3620416197 -.long 2151953702,2151953702 -.long 2409849525,2409849525 -.long 1230680542,1230680542 -.long 1729870373,1729870373 -.long 2551114309,2551114309 -.long 3787521629,3787521629 -.long 41234371,41234371 -.long 317738113,317738113 -.long 2744600205,2744600205 -.long 3338261355,3338261355 -.long 3881799427,3881799427 -.long 2510066197,2510066197 -.long 3950669247,3950669247 -.long 3663286933,3663286933 -.long 763608788,763608788 -.long 3542185048,3542185048 -.long 694804553,694804553 -.long 1154009486,1154009486 -.long 1787413109,1787413109 -.long 2021232372,2021232372 -.long 1799248025,1799248025 -.long 3715217703,3715217703 -.long 3058688446,3058688446 -.long 397248752,397248752 -.long 1722556617,1722556617 -.long 3023752829,3023752829 -.long 407560035,407560035 -.long 2184256229,2184256229 -.long 1613975959,1613975959 -.long 1165972322,1165972322 -.long 3765920945,3765920945 -.long 2226023355,2226023355 -.long 480281086,480281086 -.long 2485848313,2485848313 -.long 1483229296,1483229296 -.long 436028815,436028815 -.long 2272059028,2272059028 -.long 3086515026,3086515026 -.long 601060267,601060267 -.long 3791801202,3791801202 -.long 1468997603,1468997603 -.long 715871590,715871590 -.long 120122290,120122290 -.long 63092015,63092015 -.long 2591802758,2591802758 -.long 2768779219,2768779219 -.long 4068943920,4068943920 -.long 2997206819,2997206819 -.long 3127509762,3127509762 -.long 1552029421,1552029421 -.long 723308426,723308426 -.long 2461301159,2461301159 -.long 4042393587,4042393587 -.long 2715969870,2715969870 -.long 3455375973,3455375973 -.long 3586000134,3586000134 -.long 526529745,526529745 -.long 2331944644,2331944644 -.long 2639474228,2639474228 -.long 2689987490,2689987490 -.long 853641733,853641733 -.long 1978398372,1978398372 -.long 971801355,971801355 -.long 2867814464,2867814464 -.long 111112542,111112542 -.long 1360031421,1360031421 -.long 4186579262,4186579262 -.long 1023860118,1023860118 -.long 2919579357,2919579357 -.long 1186850381,1186850381 -.long 3045938321,3045938321 -.long 90031217,90031217 -.long 1876166148,1876166148 -.long 4279586912,4279586912 -.long 620468249,620468249 -.long 2548678102,2548678102 -.long 3426959497,3426959497 -.long 2006899047,2006899047 -.long 3175278768,3175278768 -.long 2290845959,2290845959 -.long 945494503,945494503 -.long 3689859193,3689859193 -.long 1191869601,1191869601 -.long 3910091388,3910091388 -.long 3374220536,3374220536 -.long 0,0 -.long 2206629897,2206629897 -.long 1223502642,1223502642 -.long 2893025566,2893025566 -.long 1316117100,1316117100 -.long 4227796733,4227796733 -.long 1446544655,1446544655 -.long 517320253,517320253 -.long 658058550,658058550 -.long 1691946762,1691946762 -.long 564550760,564550760 -.long 3511966619,3511966619 -.long 976107044,976107044 -.long 2976320012,2976320012 -.long 266819475,266819475 -.long 3533106868,3533106868 -.long 2660342555,2660342555 -.long 1338359936,1338359936 -.long 2720062561,2720062561 -.long 1766553434,1766553434 -.long 370807324,370807324 -.long 179999714,179999714 -.long 3844776128,3844776128 -.long 1138762300,1138762300 -.long 488053522,488053522 -.long 185403662,185403662 -.long 2915535858,2915535858 -.long 3114841645,3114841645 -.long 3366526484,3366526484 -.long 2233069911,2233069911 -.long 1275557295,1275557295 -.long 3151862254,3151862254 -.long 4250959779,4250959779 -.long 2670068215,2670068215 -.long 3170202204,3170202204 -.long 3309004356,3309004356 -.long 880737115,880737115 -.long 1982415755,1982415755 -.long 3703972811,3703972811 -.long 1761406390,1761406390 -.long 1676797112,1676797112 -.long 3403428311,3403428311 -.long 277177154,277177154 -.long 1076008723,1076008723 -.long 538035844,538035844 -.long 2099530373,2099530373 -.long 4164795346,4164795346 -.long 288553390,288553390 -.long 1839278535,1839278535 -.long 1261411869,1261411869 -.long 4080055004,4080055004 -.long 3964831245,3964831245 -.long 3504587127,3504587127 -.long 1813426987,1813426987 -.long 2579067049,2579067049 -.long 4199060497,4199060497 -.long 577038663,577038663 -.long 3297574056,3297574056 -.long 440397984,440397984 -.long 3626794326,3626794326 -.long 4019204898,4019204898 -.long 3343796615,3343796615 -.long 3251714265,3251714265 -.long 4272081548,4272081548 -.long 906744984,906744984 -.long 3481400742,3481400742 -.long 685669029,685669029 -.long 646887386,646887386 -.long 2764025151,2764025151 -.long 3835509292,3835509292 -.long 227702864,227702864 -.long 2613862250,2613862250 -.long 1648787028,1648787028 -.long 3256061430,3256061430 -.long 3904428176,3904428176 -.long 1593260334,1593260334 -.long 4121936770,4121936770 -.long 3196083615,3196083615 -.long 2090061929,2090061929 -.long 2838353263,2838353263 -.long 3004310991,3004310991 -.long 999926984,999926984 -.long 2809993232,2809993232 -.long 1852021992,1852021992 -.long 2075868123,2075868123 -.long 158869197,158869197 -.long 4095236462,4095236462 -.long 28809964,28809964 -.long 2828685187,2828685187 -.long 1701746150,1701746150 -.long 2129067946,2129067946 -.long 147831841,147831841 -.long 3873969647,3873969647 -.long 3650873274,3650873274 -.long 3459673930,3459673930 -.long 3557400554,3557400554 -.long 3598495785,3598495785 -.long 2947720241,2947720241 -.long 824393514,824393514 -.long 815048134,815048134 -.long 3227951669,3227951669 -.long 935087732,935087732 -.long 2798289660,2798289660 -.long 2966458592,2966458592 -.long 366520115,366520115 -.long 1251476721,1251476721 -.long 4158319681,4158319681 -.long 240176511,240176511 -.long 804688151,804688151 -.long 2379631990,2379631990 -.long 1303441219,1303441219 -.long 1414376140,1414376140 -.long 3741619940,3741619940 -.long 3820343710,3820343710 -.long 461924940,461924940 -.long 3089050817,3089050817 -.long 2136040774,2136040774 -.long 82468509,82468509 -.long 1563790337,1563790337 -.long 1937016826,1937016826 -.long 776014843,776014843 -.long 1511876531,1511876531 -.long 1389550482,1389550482 -.long 861278441,861278441 -.long 323475053,323475053 -.long 2355222426,2355222426 -.long 2047648055,2047648055 -.long 2383738969,2383738969 -.long 2302415851,2302415851 -.long 3995576782,3995576782 -.long 902390199,902390199 -.long 3991215329,3991215329 -.long 1018251130,1018251130 -.long 1507840668,1507840668 -.long 1064563285,1064563285 -.long 2043548696,2043548696 -.long 3208103795,3208103795 -.long 3939366739,3939366739 -.long 1537932639,1537932639 -.long 342834655,342834655 -.long 2262516856,2262516856 -.long 2180231114,2180231114 -.long 1053059257,1053059257 -.long 741614648,741614648 -.long 1598071746,1598071746 -.long 1925389590,1925389590 -.long 203809468,203809468 -.long 2336832552,2336832552 -.long 1100287487,1100287487 -.long 1895934009,1895934009 -.long 3736275976,3736275976 -.long 2632234200,2632234200 -.long 2428589668,2428589668 -.long 1636092795,1636092795 -.long 1890988757,1890988757 -.long 1952214088,1952214088 -.long 1113045200,1113045200 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.size _x86_AES_decrypt,.-_x86_AES_decrypt -.globl AES_decrypt -.type AES_decrypt,@function -.align 16 -AES_decrypt: -.L_AES_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call .L010pic_point -.L010pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L010pic_point(%ebp),%eax - leal .LAES_Td-.L010pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc .L011x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call _sse_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 16 -.L011x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call _x86_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_decrypt,.-.L_AES_decrypt_begin -.globl AES_cbc_encrypt -.type AES_cbc_encrypt,@function -.align 16 -AES_cbc_encrypt: -.L_AES_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%ecx - cmpl $0,%ecx - je .L012drop_out - call .L013pic_point -.L013pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L013pic_point(%ebp),%eax - cmpl $0,40(%esp) - leal .LAES_Te-.L013pic_point(%ebp),%ebp - jne .L014picked_te - leal .LAES_Td-.LAES_Te(%ebp),%ebp -.L014picked_te: - pushfl - cld - cmpl $512,%ecx - jb .L015slow_way - testl $15,%ecx - jnz .L015slow_way - btl $28,(%eax) - jc .L015slow_way - leal -324(%esp),%esi - andl $-64,%esi - movl %ebp,%eax - leal 2304(%ebp),%ebx - movl %esi,%edx - andl $4095,%eax - andl $4095,%ebx - andl $4095,%edx - cmpl %ebx,%edx - jb .L016tbl_break_out - subl %ebx,%edx - subl %edx,%esi - jmp .L017tbl_ok -.align 4 -.L016tbl_break_out: - subl %eax,%edx - andl $4095,%edx - addl $384,%edx - subl %edx,%esi -.align 4 -.L017tbl_ok: - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 12(%edx),%edi - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl $0,316(%esp) - movl %edi,%ebx - movl $61,%ecx - subl %ebp,%ebx - movl %edi,%esi - andl $4095,%ebx - leal 76(%esp),%edi - cmpl $2304,%ebx - jb .L018do_copy - cmpl $3852,%ebx - jb .L019skip_copy -.align 4 -.L018do_copy: - movl %edi,44(%esp) -.long 2784229001 -.L019skip_copy: - movl $16,%edi -.align 4 -.L020prefetch_tbl: - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%esi - leal 128(%ebp),%ebp - subl $1,%edi - jnz .L020prefetch_tbl - subl $2048,%ebp - movl 32(%esp),%esi - movl 48(%esp),%edi - cmpl $0,%edx - je .L021fast_decrypt - movl (%edi),%eax - movl 4(%edi),%ebx -.align 16 -.L022fast_enc_loop: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_encrypt - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - leal 16(%esi),%esi - movl 40(%esp),%ecx - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L022fast_enc_loop - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - cmpl $0,316(%esp) - movl 44(%esp),%edi - je .L023skip_ezero - movl $60,%ecx - xorl %eax,%eax -.align 4 -.long 2884892297 -.L023skip_ezero: - movl 28(%esp),%esp - popfl -.L012drop_out: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L021fast_decrypt: - cmpl 36(%esp),%esi - je .L024fast_dec_in_place - movl %edi,52(%esp) -.align 4 -.align 16 -.L025fast_dec_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_decrypt - movl 52(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 36(%esp),%edi - movl 32(%esp),%esi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl %esi,52(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edi - movl %edi,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L025fast_dec_loop - movl 52(%esp),%edi - movl 48(%esp),%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - jmp .L026fast_dec_out -.align 16 -.L024fast_dec_in_place: -.L027fast_dec_in_place_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call _x86_AES_decrypt - movl 48(%esp),%edi - movl 36(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L027fast_dec_in_place_loop -.align 4 -.L026fast_dec_out: - cmpl $0,316(%esp) - movl 44(%esp),%edi - je .L028skip_dzero - movl $60,%ecx - xorl %eax,%eax -.align 4 -.long 2884892297 -.L028skip_dzero: - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L015slow_way: - movl (%eax),%eax - movl 36(%esp),%edi - leal -80(%esp),%esi - andl $-64,%esi - leal -143(%edi),%ebx - subl %esi,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esi - leal 768(%esi),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl %eax,52(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl %esi,%edi - movl %eax,%esi - cmpl $0,%edx - je .L029slow_decrypt - cmpl $16,%ecx - movl %ebx,%edx - jb .L030slow_enc_tail - btl $25,52(%esp) - jnc .L031slow_enc_x86 - movq (%edi),%mm0 - movq 8(%edi),%mm4 -.align 16 -.L032slow_enc_loop_sse: - pxor (%esi),%mm0 - pxor 8(%esi),%mm4 - movl 44(%esp),%edi - call _sse_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl 40(%esp),%ecx - movq %mm0,(%edi) - movq %mm4,8(%edi) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae .L032slow_enc_loop_sse - testl $15,%ecx - jnz .L030slow_enc_tail - movl 48(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L031slow_enc_x86: - movl (%edi),%eax - movl 4(%edi),%ebx -.align 4 -.L033slow_enc_loop_x86: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae .L033slow_enc_loop_x86 - testl $15,%ecx - jnz .L030slow_enc_tail - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L030slow_enc_tail: - emms - movl %edx,%edi - movl $16,%ebx - subl %ecx,%ebx - cmpl %esi,%edi - je .L034enc_in_place -.align 4 -.long 2767451785 - jmp .L035enc_skip_in_place -.L034enc_in_place: - leal (%edi,%ecx,1),%edi -.L035enc_skip_in_place: - movl %ebx,%ecx - xorl %eax,%eax -.align 4 -.long 2868115081 - movl 48(%esp),%edi - movl %edx,%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl $16,40(%esp) - jmp .L033slow_enc_loop_x86 -.align 16 -.L029slow_decrypt: - btl $25,52(%esp) - jnc .L036slow_dec_loop_x86 -.align 4 -.L037slow_dec_loop_sse: - movq (%esi),%mm0 - movq 8(%esi),%mm4 - movl 44(%esp),%edi - call _sse_AES_decrypt_compact - movl 32(%esp),%esi - leal 60(%esp),%eax - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl 48(%esp),%edi - movq (%esi),%mm1 - movq 8(%esi),%mm5 - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movq %mm1,(%edi) - movq %mm5,8(%edi) - subl $16,%ecx - jc .L038slow_dec_partial_sse - movq %mm0,(%ebx) - movq %mm4,8(%ebx) - leal 16(%ebx),%ebx - movl %ebx,36(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - movl %ecx,40(%esp) - jnz .L037slow_dec_loop_sse - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L038slow_dec_partial_sse: - movq %mm0,(%eax) - movq %mm4,8(%eax) - emms - addl $16,%ecx - movl %ebx,%edi - movl %eax,%esi -.align 4 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L036slow_dec_loop_x86: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call _x86_AES_decrypt_compact - movl 48(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - subl $16,%esi - jc .L039slow_dec_partial_x86 - movl %esi,40(%esp) - movl 36(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - leal 16(%esi),%esi - movl %esi,32(%esp) - jnz .L036slow_dec_loop_x86 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L039slow_dec_partial_x86: - leal 60(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 32(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl 36(%esp),%edi - leal 60(%esp),%esi -.align 4 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_cbc_encrypt,.-.L_AES_cbc_encrypt_begin -.type _x86_AES_set_encrypt_key,@function -.align 16 -_x86_AES_set_encrypt_key: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 24(%esp),%esi - movl 32(%esp),%edi - testl $-1,%esi - jz .L040badpointer - testl $-1,%edi - jz .L040badpointer - call .L041pic_point -.L041pic_point: - popl %ebp - leal .LAES_Te-.L041pic_point(%ebp),%ebp - leal 2176(%ebp),%ebp - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx - movl 28(%esp),%ecx - cmpl $128,%ecx - je .L04210rounds - cmpl $192,%ecx - je .L04312rounds - cmpl $256,%ecx - je .L04414rounds - movl $-2,%eax - jmp .L045exit -.L04210rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - xorl %ecx,%ecx - jmp .L04610shortcut -.align 4 -.L04710loop: - movl (%edi),%eax - movl 12(%edi),%edx -.L04610shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,16(%edi) - xorl 4(%edi),%eax - movl %eax,20(%edi) - xorl 8(%edi),%eax - movl %eax,24(%edi) - xorl 12(%edi),%eax - movl %eax,28(%edi) - incl %ecx - addl $16,%edi - cmpl $10,%ecx - jl .L04710loop - movl $10,80(%edi) - xorl %eax,%eax - jmp .L045exit -.L04312rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%ecx - movl 20(%esi),%edx - movl %ecx,16(%edi) - movl %edx,20(%edi) - xorl %ecx,%ecx - jmp .L04812shortcut -.align 4 -.L04912loop: - movl (%edi),%eax - movl 20(%edi),%edx -.L04812shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,24(%edi) - xorl 4(%edi),%eax - movl %eax,28(%edi) - xorl 8(%edi),%eax - movl %eax,32(%edi) - xorl 12(%edi),%eax - movl %eax,36(%edi) - cmpl $7,%ecx - je .L05012break - incl %ecx - xorl 16(%edi),%eax - movl %eax,40(%edi) - xorl 20(%edi),%eax - movl %eax,44(%edi) - addl $24,%edi - jmp .L04912loop -.L05012break: - movl $12,72(%edi) - xorl %eax,%eax - jmp .L045exit -.L04414rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - movl %eax,16(%edi) - movl %ebx,20(%edi) - movl %ecx,24(%edi) - movl %edx,28(%edi) - xorl %ecx,%ecx - jmp .L05114shortcut -.align 4 -.L05214loop: - movl 28(%edi),%edx -.L05114shortcut: - movl (%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,32(%edi) - xorl 4(%edi),%eax - movl %eax,36(%edi) - xorl 8(%edi),%eax - movl %eax,40(%edi) - xorl 12(%edi),%eax - movl %eax,44(%edi) - cmpl $6,%ecx - je .L05314break - incl %ecx - movl %eax,%edx - movl 16(%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - movl %eax,48(%edi) - xorl 20(%edi),%eax - movl %eax,52(%edi) - xorl 24(%edi),%eax - movl %eax,56(%edi) - xorl 28(%edi),%eax - movl %eax,60(%edi) - addl $32,%edi - jmp .L05214loop -.L05314break: - movl $14,48(%edi) - xorl %eax,%eax - jmp .L045exit -.L040badpointer: - movl $-1,%eax -.L045exit: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key -.globl AES_set_encrypt_key -.type AES_set_encrypt_key,@function -.align 16 -AES_set_encrypt_key: -.L_AES_set_encrypt_key_begin: - call _x86_AES_set_encrypt_key - ret -.size AES_set_encrypt_key,.-.L_AES_set_encrypt_key_begin -.globl AES_set_decrypt_key -.type AES_set_decrypt_key,@function -.align 16 -AES_set_decrypt_key: -.L_AES_set_decrypt_key_begin: - call _x86_AES_set_encrypt_key - cmpl $0,%eax - je .L054proceed - ret -.L054proceed: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%esi - movl 240(%esi),%ecx - leal (,%ecx,4),%ecx - leal (%esi,%ecx,4),%edi -.align 4 -.L055invert: - movl (%esi),%eax - movl 4(%esi),%ebx - movl (%edi),%ecx - movl 4(%edi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,(%esi) - movl %edx,4(%esi) - movl 8(%esi),%eax - movl 12(%esi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,8(%edi) - movl %ebx,12(%edi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - addl $16,%esi - subl $16,%edi - cmpl %edi,%esi - jne .L055invert - movl 28(%esp),%edi - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,28(%esp) - movl 16(%edi),%eax -.align 4 -.L056permute: - addl $16,%edi - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %eax,%ebx - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - xorl %eax,%ecx - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - roll $8,%eax - xorl %esi,%edx - movl 4(%edi),%ebp - xorl %ebx,%eax - xorl %edx,%ebx - xorl %ecx,%eax - roll $24,%ebx - xorl %edx,%ecx - xorl %edx,%eax - roll $16,%ecx - xorl %ebx,%eax - roll $8,%edx - xorl %ecx,%eax - movl %ebp,%ebx - xorl %edx,%eax - movl %eax,(%edi) - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - xorl %ebx,%edx - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - roll $8,%ebx - xorl %esi,%eax - movl 8(%edi),%ebp - xorl %ecx,%ebx - xorl %eax,%ecx - xorl %edx,%ebx - roll $24,%ecx - xorl %eax,%edx - xorl %eax,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%eax - xorl %edx,%ebx - movl %ebp,%ecx - xorl %eax,%ebx - movl %ebx,4(%edi) - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %ecx,%edx - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - xorl %ecx,%eax - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - roll $8,%ecx - xorl %esi,%ebx - movl 12(%edi),%ebp - xorl %edx,%ecx - xorl %ebx,%edx - xorl %eax,%ecx - roll $24,%edx - xorl %ebx,%eax - xorl %ebx,%ecx - roll $16,%eax - xorl %edx,%ecx - roll $8,%ebx - xorl %eax,%ecx - movl %ebp,%edx - xorl %ebx,%ecx - movl %ecx,8(%edi) - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %edx,%eax - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - xorl %edx,%ebx - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - roll $8,%edx - xorl %esi,%ecx - movl 16(%edi),%ebp - xorl %eax,%edx - xorl %ecx,%eax - xorl %ebx,%edx - roll $24,%eax - xorl %ecx,%ebx - xorl %ecx,%edx - roll $16,%ebx - xorl %eax,%edx - roll $8,%ecx - xorl %ebx,%edx - movl %ebp,%eax - xorl %ecx,%edx - movl %edx,12(%edi) - cmpl 28(%esp),%edi - jb .L056permute - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_set_decrypt_key,.-.L_AES_set_decrypt_key_begin -.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.comm OPENSSL_ia32cap_P,16,4 diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/buildinf.h index 153225532e4c1c..c7df3525a0d884 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-elf" -#define DATE "built on: Fri Sep 13 15:59:33 2019 UTC" +#define DATE "built on: Wed Mar 18 21:06:30 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -39,10 +39,11 @@ static const char compiler_flags[] = { '2','5','6','_','A','S','M',' ','-','D','S','H','A','5','1','2', '_','A','S','M',' ','-','D','R','C','4','_','A','S','M',' ','-', 'D','M','D','5','_','A','S','M',' ','-','D','R','M','D','1','6', - '0','_','A','S','M',' ','-','D','V','P','A','E','S','_','A','S', - 'M',' ','-','D','W','H','I','R','L','P','O','O','L','_','A','S', - 'M',' ','-','D','G','H','A','S','H','_','A','S','M',' ','-','D', - 'E','C','P','_','N','I','S','T','Z','2','5','6','_','A','S','M', - ' ','-','D','P','O','L','Y','1','3','0','5','_','A','S','M',' ', - '-','D','N','D','E','B','U','G','\0' + '0','_','A','S','M',' ','-','D','A','E','S','N','I','_','A','S', + 'M',' ','-','D','V','P','A','E','S','_','A','S','M',' ','-','D', + 'W','H','I','R','L','P','O','O','L','_','A','S','M',' ','-','D', + 'G','H','A','S','H','_','A','S','M',' ','-','D','E','C','P','_', + 'N','I','S','T','Z','2','5','6','_','A','S','M',' ','-','D','P', + 'O','L','Y','1','3','0','5','_','A','S','M',' ','-','D','N','D', + 'E','B','U','G','\0' }; diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/ec/ecp_nistz256-x86.s b/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/ec/ecp_nistz256-x86.s index da9b3a7ee1dc57..4cec24f4e21cf7 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/ec/ecp_nistz256-x86.s +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/ec/ecp_nistz256-x86.s @@ -4419,19 +4419,15 @@ ecp_nistz256_point_add: orl 4(%edi),%eax orl 8(%edi),%eax orl 12(%edi),%eax + movl 576(%esp),%ebx + notl %ebx + orl %ebx,%eax + movl 580(%esp),%ebx + notl %ebx + orl %ebx,%eax + orl 584(%esp),%eax .byte 62 jnz .L010add_proceed - movl 576(%esp),%eax - andl 580(%esp),%eax - movl 584(%esp),%ebx - jz .L010add_proceed - testl %ebx,%ebx - jz .L011add_double - movl 616(%esp),%edi - xorl %eax,%eax - movl $24,%ecx -.byte 252,243,171 - jmp .L012add_done .align 16 .L011add_double: movl 620(%esp),%esi diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/opensslconf.h index c43f2272966f7a..da0b080ce0c7a3 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/include/progs.h b/deps/openssl/config/archs/linux-elf/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/openssl-cl.gypi b/deps/openssl/config/archs/linux-elf/asm_avx2/openssl-cl.gypi index e2fe28d73a968d..37aa910e1d975f 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/openssl-cl.gypi +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/openssl-cl.gypi @@ -16,6 +16,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/openssl.gypi b/deps/openssl/config/archs/linux-elf/asm_avx2/openssl.gypi index 5cfdf4bbe688ae..dd0ac7456b6840 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/openssl.gypi +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/openssl.gypi @@ -713,6 +713,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/linux-elf/no-asm/configdata.pm b/deps/openssl/config/archs/linux-elf/no-asm/configdata.pm index 0c657bee8b914c..cd93118c7746ca 100644 --- a/deps/openssl/config/archs/linux-elf/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux-elf/no-asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-elf", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -236,6 +236,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -354,8 +355,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -623,14 +624,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -706,6 +699,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1503,6 +1504,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3221,7 +3228,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3229,6 +3235,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3727,14 +3734,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4175,6 +4174,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4869,49 +4876,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4933,7 +4932,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4947,613 +4945,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5571,188 +5467,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5782,13 +5647,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5798,43 +5661,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5844,31 +5700,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5886,278 +5737,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6167,301 +5972,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6469,7 +6224,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6477,7 +6231,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6485,7 +6238,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6493,7 +6245,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6501,7 +6252,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6509,163 +6259,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6683,223 +6406,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6907,21 +6593,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6929,13 +6612,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6943,81 +6624,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7025,328 +6693,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7356,85 +6963,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7457,361 +7050,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7833,259 +7366,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8095,31 +7585,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8129,7 +7614,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8155,13 +7639,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8187,7 +7669,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8213,709 +7694,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8966,6 +8329,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9210,7 +8581,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9536,7 +8906,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9582,7 +8951,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9648,7 +9016,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9673,7 +9040,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9771,7 +9137,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9821,18 +9186,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9843,6 +9205,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9906,10 +9272,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9938,6 +9300,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10202,6 +9568,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15092,7 +14459,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15100,6 +14466,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15327,6 +14694,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15429,10 +14804,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15461,6 +14832,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-elf/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-elf/no-asm/crypto/buildinf.h index 39469e8298ae17..7dbb94e08737c2 100644 --- a/deps/openssl/config/archs/linux-elf/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-elf/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-elf" -#define DATE "built on: Fri Sep 13 15:59:39 2019 UTC" +#define DATE "built on: Wed Mar 18 21:06:37 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/opensslconf.h index f1f7572f38d64a..6db191cd5cb1fe 100644 --- a/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-elf/no-asm/include/progs.h b/deps/openssl/config/archs/linux-elf/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-elf/no-asm/include/progs.h +++ b/deps/openssl/config/archs/linux-elf/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-ppc/asm/configdata.pm b/deps/openssl/config/archs/linux-ppc/asm/configdata.pm index 47234ab9177f5b..1afb56190cf72d 100644 --- a/deps/openssl/config/archs/linux-ppc/asm/configdata.pm +++ b/deps/openssl/config/archs/linux-ppc/asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-ppc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -239,6 +239,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3236,7 +3243,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3244,6 +3250,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3742,14 +3749,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4190,6 +4189,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4876,7 +4883,6 @@ our %unified_info = ( "crypto/aes/aes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes-s390x.o" => @@ -4890,49 +4896,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4942,7 +4940,6 @@ our %unified_info = ( "crypto/aes/aesp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4960,13 +4957,11 @@ our %unified_info = ( "crypto/aes/vpaes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4980,613 +4975,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5604,188 +5497,157 @@ our %unified_info = ( "crypto/bn/bn-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5795,7 +5657,6 @@ our %unified_info = ( "crypto/bn/ppc-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5821,13 +5682,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5837,43 +5696,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5883,31 +5735,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5921,7 +5768,6 @@ our %unified_info = ( "crypto/chacha/chacha-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-s390x.o" => @@ -5931,272 +5777,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6206,301 +6007,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6508,7 +6259,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6516,7 +6266,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6524,7 +6273,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6532,7 +6280,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6540,7 +6287,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6548,163 +6294,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6722,223 +6441,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6946,21 +6628,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6968,13 +6647,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6982,81 +6659,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7064,328 +6728,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7395,79 +6998,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7486,7 +7076,6 @@ our %unified_info = ( "crypto/modes/ghashp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7496,361 +7085,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7868,13 +7397,11 @@ our %unified_info = ( "crypto/poly1305/poly1305-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-ppcfp.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7884,271 +7411,226 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccap.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccpuid.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8158,31 +7640,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8192,7 +7669,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8210,7 +7686,6 @@ our %unified_info = ( "crypto/sha/sha1-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-s390x.o" => @@ -8224,13 +7699,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8248,7 +7721,6 @@ our %unified_info = ( "crypto/sha/sha256-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-s390x.o" => @@ -8262,13 +7734,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8286,7 +7756,6 @@ our %unified_info = ( "crypto/sha/sha512-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-s390x.o" => @@ -8300,715 +7769,596 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9059,6 +8409,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9303,7 +8661,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9629,7 +8986,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9675,7 +9031,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9741,7 +9096,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9766,7 +9120,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9864,7 +9217,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9914,18 +9266,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9936,6 +9285,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9999,10 +9352,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10031,6 +9380,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10295,6 +9648,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15250,7 +14604,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15258,6 +14611,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15485,6 +14839,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15587,10 +14949,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15619,6 +14977,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-ppc/asm/crypto/bn/ppc64-mont.s b/deps/openssl/config/archs/linux-ppc/asm/crypto/bn/ppc64-mont.s deleted file mode 100644 index 774b4c4dea1cd5..00000000000000 --- a/deps/openssl/config/archs/linux-ppc/asm/crypto/bn/ppc64-mont.s +++ /dev/null @@ -1,969 +0,0 @@ -.machine "any" -.text - -.globl bn_mul_mont_fpu64 -.type bn_mul_mont_fpu64,@function -.align 5 -bn_mul_mont_fpu64: - cmpwi 8,6 - mr 9,3 - li 3,0 - .long 0x4dc00020 - andi. 0,8,3 - .long 0x4cc20020 - - slwi 8,8,2 - li 12,-4096 - slwi 10,8,2 - add 10,10,8 - addi 10,10,488 - subf 10,10,1 - and 10,10,12 - subf 10,1,10 - mr 12,1 - stwux 1,1,10 - - stw 19,-148(12) - stw 20,-144(12) - stw 21,-140(12) - stw 22,-136(12) - stw 23,-132(12) - stw 24,-128(12) - stw 25,-124(12) - stw 26,-120(12) - stw 27,-116(12) - stw 28,-112(12) - stw 29,-108(12) - stw 30,-104(12) - stw 31,-100(12) - stfd 20,-96(12) - stfd 21,-88(12) - stfd 22,-80(12) - stfd 23,-72(12) - stfd 24,-64(12) - stfd 25,-56(12) - stfd 26,-48(12) - stfd 27,-40(12) - stfd 28,-32(12) - stfd 29,-24(12) - stfd 30,-16(12) - stfd 31,-8(12) - - addi 10,1,264 - li 12,-64 - add 22,10,8 - and 22,22,12 - - addi 22,22,-8 - srwi 11,8,4 - addi 11,11,-1 - addi 10,1,184 - li 0,0 - mtctr 11 - lwz 23,0(4) - mr 20,7 - lwz 21,4(4) - li 19,0 - lwz 25,0(5) - lwz 27,4(5) - lwz 7,0(20) - lwz 20,4(20) - - mullw 28,23,25 - mulhwu 29,23,25 - mullw 30,21,25 - mullw 31,23,27 - add 29,29,30 - add 29,29,31 - - extrwi 24,25,16,16 - extrwi 25,25,16,0 - extrwi 26,27,16,16 - extrwi 27,27,16,0 - std 24,64(1) - std 25,72(1) - std 26,80(1) - std 27,88(1) - - mullw 24,28,7 - mulhwu 25,28,7 - mullw 26,29,7 - mullw 27,28,20 - add 25,25,26 - add 25,25,27 - - extrwi 28,24,16,16 - extrwi 29,24,16,0 - extrwi 30,25,16,16 - extrwi 31,25,16,0 - std 28,96(1) - std 29,104(1) - std 30,112(1) - std 31,120(1) - - mr 24,23 - mr 25,21 - lwz 26,8(4) - lwz 27,12(4) - lwz 28,0(6) - lwz 29,4(6) - lwz 30,8(6) - lwz 31,12(6) - lfd 0,64(1) - lfd 1,72(1) - lfd 2,80(1) - lfd 3,88(1) - lfd 4,96(1) - lfd 5,104(1) - lfd 6,112(1) - lfd 7,120(1) - std 24,128(1) - std 25,136(1) - std 26,144(1) - std 27,152(1) - std 28,160(1) - std 29,168(1) - std 30,176(1) - std 31,184(1) - fcfid 0,0 - fcfid 1,1 - fcfid 2,2 - fcfid 3,3 - fcfid 4,4 - fcfid 5,5 - fcfid 6,6 - fcfid 7,7 - - lfd 10,128(1) - lfd 11,136(1) - lfd 12,144(1) - lfd 13,152(1) - lfd 20,160(1) - lfd 21,168(1) - lfd 22,176(1) - lfd 23,184(1) - fcfid 10,10 - fcfid 11,11 - fcfid 12,12 - fcfid 13,13 - fcfid 20,20 - fcfid 21,21 - fcfid 22,22 - fcfid 23,23 - addi 4,4,16 - addi 6,6,16 - - fmul 26,11,0 - fmul 27,11,1 - stfd 10,8(22) - stfd 11,16(22) - fmul 28,12,0 - fmul 29,12,1 - stfd 12,24(22) - stfd 13,32(22) - fmul 30,13,0 - fmul 31,13,1 - stfd 20,40(22) - stfd 21,48(22) - fmul 24,10,0 - fmul 25,10,1 - stfd 22,56(22) - stfdu 23,64(22) - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - fmadd 28,22,4,28 - fmadd 29,22,5,29 - fmadd 30,23,4,30 - fmadd 31,23,5,31 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - - fctid 24,24 - fctid 25,25 - fctid 26,26 - fctid 27,27 - fctid 28,28 - fctid 29,29 - fctid 30,30 - fctid 31,31 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - -.align 5 -.L1st: - lwz 24,0(4) - lwz 25,4(4) - lwz 26,8(4) - lwz 27,12(4) - lwz 28,0(6) - lwz 29,4(6) - lwz 30,8(6) - lwz 31,12(6) - std 24,128(1) - std 25,136(1) - std 26,144(1) - std 27,152(1) - std 28,160(1) - std 29,168(1) - std 30,176(1) - std 31,184(1) - lwz 25,64(1) - lwz 24,68(1) - lwz 27,72(1) - lwz 26,76(1) - lwz 29,80(1) - lwz 28,84(1) - lwz 31,88(1) - lwz 30,92(1) - lfd 10,128(1) - lfd 11,136(1) - lfd 12,144(1) - lfd 13,152(1) - lfd 20,160(1) - lfd 21,168(1) - lfd 22,176(1) - lfd 23,184(1) - fcfid 10,10 - fcfid 11,11 - fcfid 12,12 - fcfid 13,13 - fcfid 20,20 - fcfid 21,21 - fcfid 22,22 - fcfid 23,23 - addi 4,4,16 - addi 6,6,16 - - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - stfd 10,8(22) - stfd 11,16(22) - fmul 30,13,0 - fmul 31,13,1 - fmadd 24,10,0,8 - fmadd 25,10,1,9 - stfd 12,24(22) - stfd 13,32(22) - fmadd 26,10,2,26 - fmadd 27,10,3,27 - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - stfd 20,40(22) - stfd 21,48(22) - srwi 19,25,16 - insrwi 0,25,16,0 - fmadd 30,12,2,30 - fmadd 31,12,3,31 - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - fmul 8,13,2 - fmul 9,13,3 - stfd 22,56(22) - stfdu 23,64(22) - insrwi 24,26,16,0 - srwi 19,27,16 - insrwi 0,27,16,0 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - lwz 27,96(1) - lwz 26,100(1) - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - fmadd 28,22,4,28 - fmadd 29,22,5,29 - srwi 19,29,16 - insrwi 0,29,16,0 - fmadd 30,23,4,30 - fmadd 31,23,5,31 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - insrwi 28,30,16,0 - srwi 19,31,16 - insrwi 0,31,16,0 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - lwz 31,104(1) - lwz 30,108(1) - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - stw 24,12(10) - stw 28,8(10) - srwi 19,27,16 - insrwi 0,27,16,0 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - lwz 25,112(1) - lwz 24,116(1) - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - insrwi 26,30,16,0 - srwi 19,31,16 - insrwi 0,31,16,0 - - fctid 24,24 - fctid 25,25 - lwz 29,120(1) - lwz 28,124(1) - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - fctid 26,26 - fctid 27,27 - srwi 19,25,16 - insrwi 0,25,16,0 - fctid 28,28 - fctid 29,29 - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - fctid 30,30 - fctid 31,31 - insrwi 24,28,16,0 - srwi 19,29,16 - insrwi 0,29,16,0 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - stw 26,20(10) - stwu 24,16(10) - bdnz .L1st - - fctid 8,8 - fctid 9,9 - lwz 25,64(1) - lwz 24,68(1) - lwz 27,72(1) - lwz 26,76(1) - lwz 29,80(1) - lwz 28,84(1) - lwz 31,88(1) - lwz 30,92(1) - stfd 8,128(1) - stfd 9,136(1) - - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - insrwi 0,25,16,0 - srwi 19,25,16 - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - insrwi 24,26,16,0 - insrwi 0,27,16,0 - srwi 19,27,16 - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - insrwi 0,29,16,0 - srwi 19,29,16 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - insrwi 28,30,16,0 - insrwi 0,31,16,0 - srwi 19,31,16 - stw 24,12(10) - stw 28,8(10) - - lwz 27,96(1) - lwz 26,100(1) - lwz 31,104(1) - lwz 30,108(1) - lwz 25,112(1) - lwz 24,116(1) - lwz 29,120(1) - lwz 28,124(1) - - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - insrwi 0,27,16,0 - srwi 19,27,16 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - insrwi 26,30,16,0 - insrwi 0,31,16,0 - srwi 19,31,16 - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - insrwi 0,25,16,0 - srwi 19,25,16 - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - insrwi 24,28,16,0 - insrwi 0,29,16,0 - srwi 19,29,16 - stw 26,20(10) - stwu 24,16(10) - - lwz 31,128(1) - lwz 30,132(1) - lwz 29,136(1) - lwz 28,140(1) - - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - insrwi 0,31,16,0 - srwi 19,31,16 - addc 28,28,0 - adde 29,29,19 - - insrwi 30,28,16,0 - srwi 28,28,16 - insrwi 28,29,16,0 - srwi 3,29,16 - stw 30,12(10) - stw 28,8(10) - slwi 31,8,2 - subf 22,31,22 - - li 12,8 -.align 5 -.Louter: - addi 10,1,192 - li 0,0 - mtctr 11 - add 24,5,12 - li 19,0 - lwz 25,0(24) - lwz 27,4(24) - - mullw 28,23,25 - lwz 24,204(1) - mulhwu 29,23,25 - lwz 26,200(1) - mullw 30,21,25 - mullw 31,23,27 - add 29,29,30 - add 29,29,31 - addc 28,28,24 - adde 29,29,26 - - extrwi 24,25,16,16 - extrwi 25,25,16,0 - extrwi 26,27,16,16 - extrwi 27,27,16,0 - std 24,64(1) - std 25,72(1) - std 26,80(1) - std 27,88(1) - - mullw 24,28,7 - mulhwu 25,28,7 - mullw 26,29,7 - mullw 27,28,20 - add 25,25,26 - add 25,25,27 - - extrwi 28,24,16,16 - extrwi 29,24,16,0 - extrwi 30,25,16,16 - extrwi 31,25,16,0 - std 28,96(1) - std 29,104(1) - std 30,112(1) - std 31,120(1) - lfd 10,8(22) - lfd 11,16(22) - lfd 12,24(22) - lfd 13,32(22) - lfd 20,40(22) - lfd 21,48(22) - lfd 22,56(22) - lfdu 23,64(22) - - lfd 0,64(1) - lfd 1,72(1) - lfd 2,80(1) - lfd 3,88(1) - lfd 4,96(1) - lfd 5,104(1) - lfd 6,112(1) - lfd 7,120(1) - - fcfid 0,0 - fcfid 1,1 - fcfid 2,2 - fcfid 3,3 - fcfid 4,4 - fcfid 5,5 - fcfid 6,6 - fcfid 7,7 - - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - fmul 30,13,0 - fmul 31,13,1 - fmul 24,10,0 - fmul 25,10,1 - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - lfd 10,8(22) - lfd 11,16(22) - fmadd 28,22,4,28 - fmadd 29,22,5,29 - lfd 12,24(22) - lfd 13,32(22) - fmadd 30,23,4,30 - fmadd 31,23,5,31 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - - fctid 24,24 - fctid 25,25 - fctid 26,26 - fctid 27,27 - fctid 28,28 - fctid 29,29 - fctid 30,30 - fctid 31,31 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - -.align 5 -.Linner: - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - lfd 20,40(22) - lfd 21,48(22) - fmul 30,13,0 - fmul 31,13,1 - fmadd 24,10,0,8 - fmadd 25,10,1,9 - lfd 22,56(22) - lfdu 23,64(22) - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - lfd 10,8(22) - lfd 11,16(22) - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - lfd 12,24(22) - lfd 13,32(22) - fmadd 26,21,4,26 - fmadd 27,21,5,27 - lwz 25,64(1) - lwz 24,68(1) - fmadd 28,22,4,28 - fmadd 29,22,5,29 - lwz 27,72(1) - lwz 26,76(1) - fmadd 30,23,4,30 - fmadd 31,23,5,31 - lwz 29,80(1) - lwz 28,84(1) - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - lwz 31,88(1) - lwz 30,92(1) - srwi 19,25,16 - insrwi 0,25,16,0 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - insrwi 24,26,16,0 - srwi 19,27,16 - insrwi 0,27,16,0 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - lwz 26,12(10) - lwz 27,8(10) - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - srwi 19,29,16 - insrwi 0,29,16,0 - - fctid 24,24 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - fctid 25,25 - insrwi 28,30,16,0 - srwi 19,31,16 - insrwi 0,31,16,0 - fctid 26,26 - addc 24,24,26 - adde 28,28,27 - lwz 27,96(1) - lwz 26,100(1) - fctid 27,27 - addze 0,0 - addze 19,19 - stw 24,4(10) - stw 28,0(10) - fctid 28,28 - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - lwz 31,104(1) - lwz 30,108(1) - fctid 29,29 - srwi 19,27,16 - insrwi 0,27,16,0 - lwz 25,112(1) - lwz 24,116(1) - fctid 30,30 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - lwz 29,120(1) - lwz 28,124(1) - fctid 31,31 - - insrwi 26,30,16,0 - insrwi 0,31,16,0 - srwi 19,31,16 - lwz 30,20(10) - lwzu 31,16(10) - addc 24,24,0 - stfd 24,64(1) - adde 25,25,19 - srwi 0,24,16 - stfd 25,72(1) - insrwi 0,25,16,0 - srwi 19,25,16 - addc 28,28,0 - stfd 26,80(1) - adde 29,29,19 - srwi 0,28,16 - insrwi 24,28,16,0 - stfd 27,88(1) - insrwi 0,29,16,0 - srwi 19,29,16 - - addc 26,26,30 - stfd 28,96(1) - adde 24,24,31 - stfd 29,104(1) - addze 0,0 - stfd 30,112(1) - addze 19,19 - stfd 31,120(1) - stw 26,-4(10) - stw 24,-8(10) - bdnz .Linner - - fctid 8,8 - fctid 9,9 - lwz 25,64(1) - lwz 24,68(1) - lwz 27,72(1) - lwz 26,76(1) - lwz 29,80(1) - lwz 28,84(1) - lwz 31,88(1) - lwz 30,92(1) - stfd 8,128(1) - stfd 9,136(1) - - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - insrwi 0,25,16,0 - srwi 19,25,16 - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - insrwi 24,26,16,0 - lwz 26,12(10) - insrwi 0,27,16,0 - srwi 19,27,16 - lwz 27,8(10) - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - insrwi 0,29,16,0 - srwi 19,29,16 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - insrwi 28,30,16,0 - insrwi 0,31,16,0 - srwi 19,31,16 - - addc 24,24,26 - adde 28,28,27 - addze 0,0 - addze 19,19 - stw 24,4(10) - stw 28,0(10) - - lwz 27,96(1) - lwz 26,100(1) - lwz 31,104(1) - lwz 30,108(1) - lwz 25,112(1) - lwz 24,116(1) - lwz 29,120(1) - lwz 28,124(1) - - addc 26,26,0 - adde 27,27,19 - srwi 0,26,16 - insrwi 0,27,16,0 - srwi 19,27,16 - addc 30,30,0 - adde 31,31,19 - srwi 0,30,16 - insrwi 26,30,16,0 - lwz 30,20(10) - insrwi 0,31,16,0 - srwi 19,31,16 - lwzu 31,16(10) - addc 24,24,0 - adde 25,25,19 - srwi 0,24,16 - insrwi 0,25,16,0 - srwi 19,25,16 - addc 28,28,0 - adde 29,29,19 - srwi 0,28,16 - insrwi 24,28,16,0 - insrwi 0,29,16,0 - srwi 19,29,16 - - addc 26,26,30 - adde 24,24,31 - lwz 31,128(1) - lwz 30,132(1) - addze 0,0 - addze 19,19 - lwz 29,136(1) - lwz 28,140(1) - - addc 30,30,0 - adde 31,31,19 - stw 26,-4(10) - stw 24,-8(10) - addc 30,30,3 - addze 31,31 - srwi 0,30,16 - insrwi 0,31,16,0 - srwi 19,31,16 - addc 28,28,0 - adde 29,29,19 - - insrwi 30,28,16,0 - srwi 28,28,16 - insrwi 28,29,16,0 - srwi 3,29,16 - stw 30,4(10) - stw 28,0(10) - slwi 31,8,2 - addi 12,12,8 - subf 22,31,22 - cmpw 12,8 - blt- .Louter - subf 6,8,6 - addi 11,11,1 - subfc 12,12,12 - addi 10,1,192 - addi 6,6,-4 - addi 9,9,-4 - addi 4,1,196 - mtctr 11 - -.align 4 -.Lsub: lwz 24,12(10) - lwz 25,8(10) - lwz 26,20(10) - lwzu 27,16(10) - lwz 28,4(6) - lwz 29,8(6) - lwz 30,12(6) - lwzu 31,16(6) - subfe 28,28,24 - stw 24,4(4) - subfe 29,29,25 - stw 25,8(4) - subfe 30,30,26 - stw 26,12(4) - subfe 31,31,27 - stwu 27,16(4) - stw 28,4(9) - stw 29,8(9) - stw 30,12(9) - stwu 31,16(9) - bdnz .Lsub - - li 12,0 - subfe 3,12,3 - addi 4,1,196 - subf 9,8,9 - addi 10,1,192 - mtctr 11 - -.align 4 -.Lcopy: - lwz 24,4(4) - lwz 25,8(4) - lwz 26,12(4) - lwzu 27,16(4) - lwz 28,4(9) - lwz 29,8(9) - lwz 30,12(9) - lwz 31,16(9) - std 12,8(22) - std 12,16(22) - std 12,24(22) - std 12,32(22) - std 12,40(22) - std 12,48(22) - std 12,56(22) - stdu 12,64(22) - and 24,24,3 - and 25,25,3 - and 26,26,3 - and 27,27,3 - andc 28,28,3 - andc 29,29,3 - andc 30,30,3 - andc 31,31,3 - or 24,24,28 - or 25,25,29 - or 26,26,30 - or 27,27,31 - stw 24,4(9) - stw 25,8(9) - stw 26,12(9) - stwu 27,16(9) - std 12,8(10) - stdu 12,16(10) - bdnz .Lcopy - lwz 12,0(1) - li 3,1 - lwz 19,-148(12) - lwz 20,-144(12) - lwz 21,-140(12) - lwz 22,-136(12) - lwz 23,-132(12) - lwz 24,-128(12) - lwz 25,-124(12) - lwz 26,-120(12) - lwz 27,-116(12) - lwz 28,-112(12) - lwz 29,-108(12) - lwz 30,-104(12) - lwz 31,-100(12) - lfd 20,-96(12) - lfd 21,-88(12) - lfd 22,-80(12) - lfd 23,-72(12) - lfd 24,-64(12) - lfd 25,-56(12) - lfd 26,-48(12) - lfd 27,-40(12) - lfd 28,-32(12) - lfd 29,-24(12) - lfd 30,-16(12) - lfd 31,-8(12) - mr 1,12 - blr -.long 0 -.byte 0,12,4,0,0x8c,13,6,0 -.long 0 -.size bn_mul_mont_fpu64,.-bn_mul_mont_fpu64 - -.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,80,80,67,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 2 diff --git a/deps/openssl/config/archs/linux-ppc/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-ppc/asm/crypto/buildinf.h index af759c6bdab883..1072f9d31176ca 100644 --- a/deps/openssl/config/archs/linux-ppc/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-ppc/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-ppc" -#define DATE "built on: Fri Sep 13 16:00:48 2019 UTC" +#define DATE "built on: Wed Mar 18 21:07:41 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-ppc/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-ppc/asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/linux-ppc/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-ppc/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-ppc/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-ppc/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-ppc/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-ppc/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-ppc/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-ppc/asm/include/openssl/opensslconf.h index 1a2b31bdc7008c..71c4fecc40cc4e 100644 --- a/deps/openssl/config/archs/linux-ppc/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-ppc/asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-ppc/asm/include/progs.h b/deps/openssl/config/archs/linux-ppc/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-ppc/asm/include/progs.h +++ b/deps/openssl/config/archs/linux-ppc/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-ppc/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux-ppc/asm_avx2/configdata.pm index 65b50577c3673c..ae2648d219adb7 100644 --- a/deps/openssl/config/archs/linux-ppc/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux-ppc/asm_avx2/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-ppc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -239,6 +239,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3236,7 +3243,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3244,6 +3250,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3742,14 +3749,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4190,6 +4189,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4876,7 +4883,6 @@ our %unified_info = ( "crypto/aes/aes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes-s390x.o" => @@ -4890,49 +4896,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4942,7 +4940,6 @@ our %unified_info = ( "crypto/aes/aesp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4960,13 +4957,11 @@ our %unified_info = ( "crypto/aes/vpaes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4980,613 +4975,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5604,188 +5497,157 @@ our %unified_info = ( "crypto/bn/bn-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5795,7 +5657,6 @@ our %unified_info = ( "crypto/bn/ppc-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5821,13 +5682,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5837,43 +5696,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5883,31 +5735,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5921,7 +5768,6 @@ our %unified_info = ( "crypto/chacha/chacha-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-s390x.o" => @@ -5931,272 +5777,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6206,301 +6007,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6508,7 +6259,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6516,7 +6266,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6524,7 +6273,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6532,7 +6280,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6540,7 +6287,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6548,163 +6294,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6722,223 +6441,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6946,21 +6628,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6968,13 +6647,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6982,81 +6659,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7064,328 +6728,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7395,79 +6998,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7486,7 +7076,6 @@ our %unified_info = ( "crypto/modes/ghashp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7496,361 +7085,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7868,13 +7397,11 @@ our %unified_info = ( "crypto/poly1305/poly1305-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-ppcfp.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7884,271 +7411,226 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccap.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccpuid.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8158,31 +7640,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8192,7 +7669,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8210,7 +7686,6 @@ our %unified_info = ( "crypto/sha/sha1-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-s390x.o" => @@ -8224,13 +7699,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8248,7 +7721,6 @@ our %unified_info = ( "crypto/sha/sha256-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-s390x.o" => @@ -8262,13 +7734,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8286,7 +7756,6 @@ our %unified_info = ( "crypto/sha/sha512-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-s390x.o" => @@ -8300,715 +7769,596 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9059,6 +8409,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9303,7 +8661,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9629,7 +8986,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9675,7 +9031,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9741,7 +9096,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9766,7 +9120,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9864,7 +9217,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9914,18 +9266,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9936,6 +9285,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9999,10 +9352,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10031,6 +9380,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10295,6 +9648,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15250,7 +14604,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15258,6 +14611,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15485,6 +14839,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15587,10 +14949,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15619,6 +14977,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/buildinf.h index d91d124d0d95f7..559beb8cb0d6b1 100644 --- a/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-ppc" -#define DATE "built on: Fri Sep 13 16:00:53 2019 UTC" +#define DATE "built on: Wed Mar 18 21:07:49 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-ppc/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-ppc/asm_avx2/include/openssl/opensslconf.h index 1a2b31bdc7008c..71c4fecc40cc4e 100644 --- a/deps/openssl/config/archs/linux-ppc/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-ppc/asm_avx2/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-ppc/asm_avx2/include/progs.h b/deps/openssl/config/archs/linux-ppc/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-ppc/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/linux-ppc/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-ppc/no-asm/configdata.pm b/deps/openssl/config/archs/linux-ppc/no-asm/configdata.pm index 41afbcc4445a44..30a59660025863 100644 --- a/deps/openssl/config/archs/linux-ppc/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux-ppc/no-asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-ppc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -237,6 +237,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -355,8 +356,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -624,14 +625,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -707,6 +700,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1504,6 +1505,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3222,7 +3229,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3230,6 +3236,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3728,14 +3735,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4176,6 +4175,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4870,49 +4877,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4934,7 +4933,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4948,613 +4946,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5572,188 +5468,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5783,13 +5648,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5799,43 +5662,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5845,31 +5701,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5887,278 +5738,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6168,301 +5973,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6470,7 +6225,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6478,7 +6232,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6486,7 +6239,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6494,7 +6246,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6502,7 +6253,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6510,163 +6260,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6684,223 +6407,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6908,21 +6594,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6930,13 +6613,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6944,81 +6625,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7026,328 +6694,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7357,85 +6964,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7458,361 +7051,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7834,259 +7367,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8096,31 +7586,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8130,7 +7615,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8156,13 +7640,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8188,7 +7670,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8214,709 +7695,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8967,6 +8330,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9211,7 +8582,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9537,7 +8907,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9583,7 +8952,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9649,7 +9017,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9674,7 +9041,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9772,7 +9138,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9822,18 +9187,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9844,6 +9206,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9907,10 +9273,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9939,6 +9301,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10203,6 +9569,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15093,7 +14460,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15101,6 +14467,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15328,6 +14695,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15430,10 +14805,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15462,6 +14833,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-ppc/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-ppc/no-asm/crypto/buildinf.h index feccd6e409e5d0..58a71fa717b68f 100644 --- a/deps/openssl/config/archs/linux-ppc/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-ppc/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-ppc" -#define DATE "built on: Fri Sep 13 16:00:59 2019 UTC" +#define DATE "built on: Wed Mar 18 21:07:59 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-ppc/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-ppc/no-asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/linux-ppc/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-ppc/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-ppc/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-ppc/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-ppc/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-ppc/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-ppc/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-ppc/no-asm/include/openssl/opensslconf.h index 6419ec21a2675f..4cbafb777f2ce3 100644 --- a/deps/openssl/config/archs/linux-ppc/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-ppc/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-ppc/no-asm/include/progs.h b/deps/openssl/config/archs/linux-ppc/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-ppc/no-asm/include/progs.h +++ b/deps/openssl/config/archs/linux-ppc/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-ppc64/asm/configdata.pm b/deps/openssl/config/archs/linux-ppc64/asm/configdata.pm index a8105b72abd10d..1f45e9693072bd 100644 --- a/deps/openssl/config/archs/linux-ppc64/asm/configdata.pm +++ b/deps/openssl/config/archs/linux-ppc64/asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-ppc64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -240,6 +240,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -357,8 +358,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -626,14 +627,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -709,6 +702,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1506,6 +1507,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3240,7 +3247,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3248,6 +3254,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3746,14 +3753,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4194,6 +4193,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4880,7 +4887,6 @@ our %unified_info = ( "crypto/aes/aes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes-s390x.o" => @@ -4894,49 +4900,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4946,7 +4944,6 @@ our %unified_info = ( "crypto/aes/aesp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4964,13 +4961,11 @@ our %unified_info = ( "crypto/aes/vpaes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4984,613 +4979,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5608,188 +5501,157 @@ our %unified_info = ( "crypto/bn/bn-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5799,7 +5661,6 @@ our %unified_info = ( "crypto/bn/ppc-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5825,13 +5686,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5841,43 +5700,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5887,31 +5739,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5925,7 +5772,6 @@ our %unified_info = ( "crypto/chacha/chacha-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-s390x.o" => @@ -5935,272 +5781,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6210,301 +6011,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6512,7 +6263,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6520,7 +6270,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6528,7 +6277,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6536,7 +6284,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6544,7 +6291,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6552,163 +6298,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6722,7 +6441,6 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-sparcv9.o" => @@ -6732,235 +6450,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6968,21 +6647,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6990,13 +6666,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7004,81 +6678,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7086,328 +6747,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7417,79 +7017,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7508,7 +7095,6 @@ our %unified_info = ( "crypto/modes/ghashp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7518,361 +7104,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7890,13 +7416,11 @@ our %unified_info = ( "crypto/poly1305/poly1305-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-ppcfp.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7906,271 +7430,226 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccap.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccpuid.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8180,31 +7659,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8214,7 +7688,6 @@ our %unified_info = ( "crypto/sha/keccak1600-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8232,7 +7705,6 @@ our %unified_info = ( "crypto/sha/sha1-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-s390x.o" => @@ -8246,13 +7718,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8270,7 +7740,6 @@ our %unified_info = ( "crypto/sha/sha256-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-s390x.o" => @@ -8284,13 +7753,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8308,7 +7775,6 @@ our %unified_info = ( "crypto/sha/sha512-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-s390x.o" => @@ -8322,715 +7788,596 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9081,6 +8428,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9325,7 +8680,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9651,7 +9005,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9697,7 +9050,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9763,7 +9115,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9788,7 +9139,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9886,7 +9236,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9936,18 +9285,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9958,6 +9304,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10021,10 +9371,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10053,6 +9399,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10317,6 +9667,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15287,7 +14638,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15295,6 +14645,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15522,6 +14873,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15624,10 +14983,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15656,6 +15011,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-ppc64/asm/crypto/bn/ppc64-mont.s b/deps/openssl/config/archs/linux-ppc64/asm/crypto/bn/ppc64-mont.s deleted file mode 100644 index c8a045698b28f7..00000000000000 --- a/deps/openssl/config/archs/linux-ppc64/asm/crypto/bn/ppc64-mont.s +++ /dev/null @@ -1,753 +0,0 @@ -.machine "any" -.text - -.globl bn_mul_mont_fpu64 -.type bn_mul_mont_fpu64,@function -.section ".opd","aw" -.align 3 -bn_mul_mont_fpu64: -.quad .bn_mul_mont_fpu64,.TOC.@tocbase,0 -.previous - -.align 5 -.bn_mul_mont_fpu64: - cmpwi 8,3 - mr 9,3 - li 3,0 - .long 0x4dc00020 - andi. 0,8,1 - .long 0x4cc20020 - - slwi 8,8,3 - li 12,-4096 - slwi 10,8,2 - add 10,10,8 - addi 10,10,552 - subf 10,10,1 - and 10,10,12 - subf 10,1,10 - mr 12,1 - stdux 1,1,10 - - std 19,-200(12) - std 20,-192(12) - std 21,-184(12) - std 22,-176(12) - std 23,-168(12) - std 24,-160(12) - std 25,-152(12) - std 26,-144(12) - std 27,-136(12) - std 28,-128(12) - std 29,-120(12) - std 30,-112(12) - std 31,-104(12) - stfd 20,-96(12) - stfd 21,-88(12) - stfd 22,-80(12) - stfd 23,-72(12) - stfd 24,-64(12) - stfd 25,-56(12) - stfd 26,-48(12) - stfd 27,-40(12) - stfd 28,-32(12) - stfd 29,-24(12) - stfd 30,-16(12) - stfd 31,-8(12) - - addi 10,1,264 - li 12,-64 - add 22,10,8 - and 22,22,12 - - addi 22,22,-8 - srwi 11,8,4 - addi 11,11,-1 - addi 10,1,184 - li 0,0 - mtctr 11 - ld 23,0(4) - ld 27,0(5) - ld 7,0(7) - - mulld 31,23,27 - - rldicl 24,27,0,48 - rldicl 25,27,48,48 - rldicl 26,27,32,48 - rldicl 27,27,16,48 - std 24,64(1) - std 25,72(1) - std 26,80(1) - std 27,88(1) - - mulld 31,31,7 - - rldicl 28,31,0,48 - rldicl 29,31,48,48 - rldicl 30,31,32,48 - rldicl 31,31,16,48 - std 28,96(1) - std 29,104(1) - std 30,112(1) - std 31,120(1) - - rldicl 24,23,0,32 - rldicl 25,23,32,32 - lwz 26,12(4) - lwz 27,8(4) - lwz 28,4(6) - lwz 29,0(6) - lwz 30,12(6) - lwz 31,8(6) - lfd 0,64(1) - lfd 1,72(1) - lfd 2,80(1) - lfd 3,88(1) - lfd 4,96(1) - lfd 5,104(1) - lfd 6,112(1) - lfd 7,120(1) - std 24,128(1) - std 25,136(1) - std 26,144(1) - std 27,152(1) - std 28,160(1) - std 29,168(1) - std 30,176(1) - std 31,184(1) - fcfid 0,0 - fcfid 1,1 - fcfid 2,2 - fcfid 3,3 - fcfid 4,4 - fcfid 5,5 - fcfid 6,6 - fcfid 7,7 - - lfd 10,128(1) - lfd 11,136(1) - lfd 12,144(1) - lfd 13,152(1) - lfd 20,160(1) - lfd 21,168(1) - lfd 22,176(1) - lfd 23,184(1) - fcfid 10,10 - fcfid 11,11 - fcfid 12,12 - fcfid 13,13 - fcfid 20,20 - fcfid 21,21 - fcfid 22,22 - fcfid 23,23 - addi 4,4,16 - addi 6,6,16 - - fmul 26,11,0 - fmul 27,11,1 - stfd 10,8(22) - stfd 11,16(22) - fmul 28,12,0 - fmul 29,12,1 - stfd 12,24(22) - stfd 13,32(22) - fmul 30,13,0 - fmul 31,13,1 - stfd 20,40(22) - stfd 21,48(22) - fmul 24,10,0 - fmul 25,10,1 - stfd 22,56(22) - stfdu 23,64(22) - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - fmadd 28,22,4,28 - fmadd 29,22,5,29 - fmadd 30,23,4,30 - fmadd 31,23,5,31 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - - fctid 24,24 - fctid 25,25 - fctid 26,26 - fctid 27,27 - fctid 28,28 - fctid 29,29 - fctid 30,30 - fctid 31,31 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - -.align 5 -.L1st: - lwz 24,4(4) - lwz 25,0(4) - lwz 26,12(4) - lwz 27,8(4) - lwz 28,4(6) - lwz 29,0(6) - lwz 30,12(6) - lwz 31,8(6) - std 24,128(1) - std 25,136(1) - std 26,144(1) - std 27,152(1) - std 28,160(1) - std 29,168(1) - std 30,176(1) - std 31,184(1) - ld 24,64(1) - ld 25,72(1) - ld 26,80(1) - ld 27,88(1) - ld 28,96(1) - ld 29,104(1) - ld 30,112(1) - ld 31,120(1) - lfd 10,128(1) - lfd 11,136(1) - lfd 12,144(1) - lfd 13,152(1) - lfd 20,160(1) - lfd 21,168(1) - lfd 22,176(1) - lfd 23,184(1) - fcfid 10,10 - fcfid 11,11 - fcfid 12,12 - fcfid 13,13 - fcfid 20,20 - fcfid 21,21 - fcfid 22,22 - fcfid 23,23 - addi 4,4,16 - addi 6,6,16 - - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - stfd 10,8(22) - stfd 11,16(22) - fmul 30,13,0 - fmul 31,13,1 - fmadd 24,10,0,8 - fmadd 25,10,1,9 - stfd 12,24(22) - stfd 13,32(22) - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - stfd 20,40(22) - stfd 21,48(22) - fmadd 30,12,2,30 - fmadd 31,12,3,31 - add 24,24,0 - fmul 8,13,2 - fmul 9,13,3 - stfd 22,56(22) - stfdu 23,64(22) - srdi 0,24,16 - add 25,25,0 - srdi 0,25,16 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - insrdi 24,25,16,32 - fmadd 28,22,4,28 - fmadd 29,22,5,29 - add 26,26,0 - fmadd 30,23,4,30 - fmadd 31,23,5,31 - srdi 0,26,16 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - insrdi 24,26,16,16 - add 27,27,0 - srdi 0,27,16 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - insrdi 24,27,16,0 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - add 28,28,0 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - srdi 0,28,16 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - add 29,29,0 - srdi 0,29,16 - insrdi 28,29,16,32 - - fctid 24,24 - fctid 25,25 - add 30,30,0 - fctid 26,26 - fctid 27,27 - srdi 0,30,16 - fctid 28,28 - fctid 29,29 - insrdi 28,30,16,16 - fctid 30,30 - fctid 31,31 - add 31,31,0 - insrdi 28,31,16,0 - srdi 0,31,16 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - std 24,8(10) - stdu 28,16(10) - bdnz .L1st - - fctid 8,8 - fctid 9,9 - ld 24,64(1) - ld 25,72(1) - ld 26,80(1) - ld 27,88(1) - ld 28,96(1) - ld 29,104(1) - ld 30,112(1) - ld 31,120(1) - stfd 8,128(1) - stfd 9,136(1) - - add 24,24,0 - srdi 0,24,16 - add 25,25,0 - srdi 0,25,16 - insrdi 24,25,16,32 - add 26,26,0 - srdi 0,26,16 - insrdi 24,26,16,16 - add 27,27,0 - srdi 0,27,16 - insrdi 24,27,16,0 - add 28,28,0 - srdi 0,28,16 - add 29,29,0 - srdi 0,29,16 - insrdi 28,29,16,32 - add 30,30,0 - srdi 0,30,16 - insrdi 28,30,16,16 - add 31,31,0 - insrdi 28,31,16,0 - srdi 0,31,16 - ld 30,128(1) - ld 31,136(1) - - std 24,8(10) - stdu 28,16(10) - - add 30,30,0 - srdi 0,30,16 - add 31,31,0 - insrdi 30,31,48,0 - srdi 3,31,48 - std 30,8(10) - slwi 31,8,2 - subf 22,31,22 - - li 12,8 -.align 5 -.Louter: - addi 10,1,192 - li 0,0 - mtctr 11 - ldx 27,5,12 - - ld 30,200(1) - mulld 31,23,27 - add 31,31,30 - - rldicl 24,27,0,48 - rldicl 25,27,48,48 - rldicl 26,27,32,48 - rldicl 27,27,16,48 - std 24,64(1) - std 25,72(1) - std 26,80(1) - std 27,88(1) - - mulld 31,31,7 - - rldicl 28,31,0,48 - rldicl 29,31,48,48 - rldicl 30,31,32,48 - rldicl 31,31,16,48 - std 28,96(1) - std 29,104(1) - std 30,112(1) - std 31,120(1) - lfd 10,8(22) - lfd 11,16(22) - lfd 12,24(22) - lfd 13,32(22) - lfd 20,40(22) - lfd 21,48(22) - lfd 22,56(22) - lfdu 23,64(22) - - lfd 0,64(1) - lfd 1,72(1) - lfd 2,80(1) - lfd 3,88(1) - lfd 4,96(1) - lfd 5,104(1) - lfd 6,112(1) - lfd 7,120(1) - - fcfid 0,0 - fcfid 1,1 - fcfid 2,2 - fcfid 3,3 - fcfid 4,4 - fcfid 5,5 - fcfid 6,6 - fcfid 7,7 - - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - fmul 30,13,0 - fmul 31,13,1 - fmul 24,10,0 - fmul 25,10,1 - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - lfd 10,8(22) - lfd 11,16(22) - fmadd 28,22,4,28 - fmadd 29,22,5,29 - lfd 12,24(22) - lfd 13,32(22) - fmadd 30,23,4,30 - fmadd 31,23,5,31 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - - fctid 24,24 - fctid 25,25 - fctid 26,26 - fctid 27,27 - fctid 28,28 - fctid 29,29 - fctid 30,30 - fctid 31,31 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - -.align 5 -.Linner: - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - lfd 20,40(22) - lfd 21,48(22) - fmul 30,13,0 - fmul 31,13,1 - fmadd 24,10,0,8 - fmadd 25,10,1,9 - lfd 22,56(22) - lfdu 23,64(22) - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - lfd 10,8(22) - lfd 11,16(22) - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - lfd 12,24(22) - lfd 13,32(22) - fmadd 26,21,4,26 - fmadd 27,21,5,27 - ld 24,64(1) - ld 25,72(1) - fmadd 28,22,4,28 - fmadd 29,22,5,29 - ld 26,80(1) - ld 27,88(1) - fmadd 30,23,4,30 - fmadd 31,23,5,31 - add 24,24,0 - ld 28,96(1) - ld 29,104(1) - fmadd 24,20,4,24 - fmadd 25,20,5,25 - srdi 0,24,16 - add 25,25,0 - srdi 0,25,16 - ld 30,112(1) - ld 31,120(1) - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - insrdi 24,25,16,32 - ld 25,8(10) - fmadd 28,21,6,28 - fmadd 29,21,7,29 - add 26,26,0 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - srdi 0,26,16 - insrdi 24,26,16,16 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - add 27,27,0 - ldu 26,16(10) - srdi 0,27,16 - insrdi 24,27,16,0 - add 28,28,0 - - fctid 24,24 - fctid 25,25 - srdi 0,28,16 - fctid 26,26 - fctid 27,27 - add 29,29,0 - fctid 28,28 - fctid 29,29 - srdi 0,29,16 - insrdi 28,29,16,32 - fctid 30,30 - fctid 31,31 - add 30,30,0 - srdi 0,30,16 - insrdi 28,30,16,16 - - stfd 24,64(1) - stfd 25,72(1) - add 31,31,0 - addc 27,24,25 - stfd 26,80(1) - stfd 27,88(1) - insrdi 28,31,16,0 - srdi 0,31,16 - stfd 28,96(1) - stfd 29,104(1) - adde 29,28,26 - stfd 30,112(1) - stfd 31,120(1) - addze 0,0 - std 27,-16(10) - std 29,-8(10) - bdnz .Linner - - fctid 8,8 - fctid 9,9 - ld 24,64(1) - ld 25,72(1) - ld 26,80(1) - ld 27,88(1) - ld 28,96(1) - ld 29,104(1) - ld 30,112(1) - ld 31,120(1) - stfd 8,128(1) - stfd 9,136(1) - - add 24,24,0 - srdi 0,24,16 - add 25,25,0 - srdi 0,25,16 - insrdi 24,25,16,32 - add 26,26,0 - ld 25,8(10) - srdi 0,26,16 - insrdi 24,26,16,16 - add 27,27,0 - ldu 26,16(10) - srdi 0,27,16 - insrdi 24,27,16,0 - add 28,28,0 - srdi 0,28,16 - add 29,29,0 - srdi 0,29,16 - insrdi 28,29,16,32 - add 30,30,0 - srdi 0,30,16 - insrdi 28,30,16,16 - add 31,31,0 - insrdi 28,31,16,0 - srdi 0,31,16 - ld 30,128(1) - ld 31,136(1) - - addc 27,24,25 - adde 29,28,26 - addze 0,0 - - std 27,-16(10) - std 29,-8(10) - - add 0,0,3 - add 30,30,0 - srdi 0,30,16 - add 31,31,0 - insrdi 30,31,48,0 - srdi 3,31,48 - std 30,0(10) - slwi 31,8,2 - addi 12,12,8 - subf 22,31,22 - cmpw 12,8 - blt- .Louter - subf 6,8,6 - addi 11,11,1 - subfc 12,12,12 - addi 10,1,200 - addi 28,1,208 - addi 29,6,8 - addi 30,9,8 - mtctr 11 - -.align 4 -.Lsub: ldx 24,10,12 - ldx 25,6,12 - ldx 26,28,12 - ldx 27,29,12 - subfe 24,25,24 - subfe 26,27,26 - stdx 24,9,12 - stdx 26,30,12 - addi 12,12,16 - bdnz .Lsub - - li 12,0 - subfe 3,12,3 - mtctr 11 - -.align 4 -.Lcopy: - ldx 24,10,12 - ldx 25,28,12 - ldx 26,9,12 - ldx 27,30,12 - std 12,8(22) - std 12,16(22) - std 12,24(22) - std 12,32(22) - std 12,40(22) - std 12,48(22) - std 12,56(22) - stdu 12,64(22) - and 24,24,3 - and 25,25,3 - andc 26,26,3 - andc 27,27,3 - or 24,24,26 - or 25,25,27 - stdx 24,9,12 - stdx 25,30,12 - stdx 12,10,12 - stdx 12,28,12 - addi 12,12,16 - bdnz .Lcopy - ld 12,0(1) - li 3,1 - ld 19,-200(12) - ld 20,-192(12) - ld 21,-184(12) - ld 22,-176(12) - ld 23,-168(12) - ld 24,-160(12) - ld 25,-152(12) - ld 26,-144(12) - ld 27,-136(12) - ld 28,-128(12) - ld 29,-120(12) - ld 30,-112(12) - ld 31,-104(12) - lfd 20,-96(12) - lfd 21,-88(12) - lfd 22,-80(12) - lfd 23,-72(12) - lfd 24,-64(12) - lfd 25,-56(12) - lfd 26,-48(12) - lfd 27,-40(12) - lfd 28,-32(12) - lfd 29,-24(12) - lfd 30,-16(12) - lfd 31,-8(12) - mr 1,12 - blr -.long 0 -.byte 0,12,4,0,0x8c,13,6,0 -.long 0 -.size bn_mul_mont_fpu64,.-.bn_mul_mont_fpu64 -.size .bn_mul_mont_fpu64,.-.bn_mul_mont_fpu64 - -.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,80,80,67,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 2 diff --git a/deps/openssl/config/archs/linux-ppc64/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-ppc64/asm/crypto/buildinf.h index 2c9f24fdee2e25..f367bbd3426450 100644 --- a/deps/openssl/config/archs/linux-ppc64/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-ppc64/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-ppc64" -#define DATE "built on: Fri Sep 13 16:01:02 2019 UTC" +#define DATE "built on: Wed Mar 18 21:08:05 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-ppc64/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-ppc64/asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux-ppc64/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-ppc64/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-ppc64/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-ppc64/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-ppc64/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-ppc64/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-ppc64/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-ppc64/asm/include/openssl/opensslconf.h index 30820b60518d47..937531fe9fc0c5 100644 --- a/deps/openssl/config/archs/linux-ppc64/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-ppc64/asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-ppc64/asm/include/progs.h b/deps/openssl/config/archs/linux-ppc64/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-ppc64/asm/include/progs.h +++ b/deps/openssl/config/archs/linux-ppc64/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-ppc64/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux-ppc64/asm_avx2/configdata.pm index fa53549253d37e..d1cc20b09ef1a5 100644 --- a/deps/openssl/config/archs/linux-ppc64/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux-ppc64/asm_avx2/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-ppc64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -240,6 +240,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -357,8 +358,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -626,14 +627,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -709,6 +702,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1506,6 +1507,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3240,7 +3247,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3248,6 +3254,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3746,14 +3753,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4194,6 +4193,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4880,7 +4887,6 @@ our %unified_info = ( "crypto/aes/aes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes-s390x.o" => @@ -4894,49 +4900,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4946,7 +4944,6 @@ our %unified_info = ( "crypto/aes/aesp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4964,13 +4961,11 @@ our %unified_info = ( "crypto/aes/vpaes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4984,613 +4979,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5608,188 +5501,157 @@ our %unified_info = ( "crypto/bn/bn-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5799,7 +5661,6 @@ our %unified_info = ( "crypto/bn/ppc-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5825,13 +5686,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5841,43 +5700,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5887,31 +5739,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5925,7 +5772,6 @@ our %unified_info = ( "crypto/chacha/chacha-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-s390x.o" => @@ -5935,272 +5781,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6210,301 +6011,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6512,7 +6263,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6520,7 +6270,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6528,7 +6277,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6536,7 +6284,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6544,7 +6291,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6552,163 +6298,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6722,7 +6441,6 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-sparcv9.o" => @@ -6732,235 +6450,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6968,21 +6647,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6990,13 +6666,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7004,81 +6678,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7086,328 +6747,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7417,79 +7017,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7508,7 +7095,6 @@ our %unified_info = ( "crypto/modes/ghashp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7518,361 +7104,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7890,13 +7416,11 @@ our %unified_info = ( "crypto/poly1305/poly1305-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-ppcfp.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7906,271 +7430,226 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccap.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccpuid.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8180,31 +7659,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8214,7 +7688,6 @@ our %unified_info = ( "crypto/sha/keccak1600-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8232,7 +7705,6 @@ our %unified_info = ( "crypto/sha/sha1-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-s390x.o" => @@ -8246,13 +7718,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8270,7 +7740,6 @@ our %unified_info = ( "crypto/sha/sha256-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-s390x.o" => @@ -8284,13 +7753,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8308,7 +7775,6 @@ our %unified_info = ( "crypto/sha/sha512-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-s390x.o" => @@ -8322,715 +7788,596 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9081,6 +8428,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9325,7 +8680,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9651,7 +9005,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9697,7 +9050,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9763,7 +9115,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9788,7 +9139,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9886,7 +9236,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9936,18 +9285,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9958,6 +9304,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10021,10 +9371,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10053,6 +9399,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10317,6 +9667,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15287,7 +14638,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15295,6 +14645,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15522,6 +14873,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15624,10 +14983,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15656,6 +15011,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-ppc64/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux-ppc64/asm_avx2/crypto/buildinf.h index 0e70ae12285ec6..dc7442135ad376 100644 --- a/deps/openssl/config/archs/linux-ppc64/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-ppc64/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-ppc64" -#define DATE "built on: Fri Sep 13 16:01:08 2019 UTC" +#define DATE "built on: Wed Mar 18 21:08:13 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-ppc64/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-ppc64/asm_avx2/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux-ppc64/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-ppc64/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-ppc64/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-ppc64/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-ppc64/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-ppc64/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-ppc64/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-ppc64/asm_avx2/include/openssl/opensslconf.h index 30820b60518d47..937531fe9fc0c5 100644 --- a/deps/openssl/config/archs/linux-ppc64/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-ppc64/asm_avx2/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-ppc64/asm_avx2/include/progs.h b/deps/openssl/config/archs/linux-ppc64/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-ppc64/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/linux-ppc64/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-ppc64/no-asm/configdata.pm b/deps/openssl/config/archs/linux-ppc64/no-asm/configdata.pm index 42b7f02251e94b..4b7653af00bde5 100644 --- a/deps/openssl/config/archs/linux-ppc64/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux-ppc64/no-asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-ppc64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -238,6 +238,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3223,7 +3230,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3231,6 +3237,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3729,14 +3736,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4177,6 +4176,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4871,49 +4878,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4935,7 +4934,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4949,613 +4947,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5573,188 +5469,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5784,13 +5649,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5800,43 +5663,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5846,31 +5702,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5888,278 +5739,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6169,301 +5974,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6471,7 +6226,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6479,7 +6233,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6487,7 +6240,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6495,7 +6247,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6503,7 +6254,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6511,163 +6261,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6685,223 +6408,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6909,21 +6595,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6931,13 +6614,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6945,81 +6626,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7027,328 +6695,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7358,85 +6965,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7459,361 +7052,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7835,259 +7368,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8097,31 +7587,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8131,7 +7616,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8157,13 +7641,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8189,7 +7671,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8215,709 +7696,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8968,6 +8331,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9212,7 +8583,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9538,7 +8908,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9584,7 +8953,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9650,7 +9018,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9675,7 +9042,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9773,7 +9139,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9823,18 +9188,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9845,6 +9207,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9908,10 +9274,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9940,6 +9302,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10204,6 +9570,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15094,7 +14461,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15102,6 +14468,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15329,6 +14696,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15431,10 +14806,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15463,6 +14834,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-ppc64/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-ppc64/no-asm/crypto/buildinf.h index 50c645ff13a868..ca91089788aedd 100644 --- a/deps/openssl/config/archs/linux-ppc64/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-ppc64/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-ppc64" -#define DATE "built on: Fri Sep 13 16:01:14 2019 UTC" +#define DATE "built on: Wed Mar 18 21:08:25 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-ppc64/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-ppc64/no-asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux-ppc64/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-ppc64/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-ppc64/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-ppc64/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-ppc64/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-ppc64/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-ppc64/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-ppc64/no-asm/include/openssl/opensslconf.h index 212e3f67d8e568..781ef739dc2274 100644 --- a/deps/openssl/config/archs/linux-ppc64/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-ppc64/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-ppc64/no-asm/include/progs.h b/deps/openssl/config/archs/linux-ppc64/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-ppc64/no-asm/include/progs.h +++ b/deps/openssl/config/archs/linux-ppc64/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-ppc64le/asm/configdata.pm b/deps/openssl/config/archs/linux-ppc64le/asm/configdata.pm index aff8df2a584ca8..be34b5bfb58064 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm/configdata.pm +++ b/deps/openssl/config/archs/linux-ppc64le/asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-ppc64le", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -239,6 +239,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3239,7 +3246,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3247,6 +3253,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3745,14 +3752,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4193,6 +4192,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4879,7 +4886,6 @@ our %unified_info = ( "crypto/aes/aes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes-s390x.o" => @@ -4893,49 +4899,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4945,7 +4943,6 @@ our %unified_info = ( "crypto/aes/aesp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4963,13 +4960,11 @@ our %unified_info = ( "crypto/aes/vpaes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4983,613 +4978,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5607,188 +5500,157 @@ our %unified_info = ( "crypto/bn/bn-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5798,7 +5660,6 @@ our %unified_info = ( "crypto/bn/ppc-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5824,13 +5685,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5840,43 +5699,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5886,31 +5738,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5924,7 +5771,6 @@ our %unified_info = ( "crypto/chacha/chacha-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-s390x.o" => @@ -5934,272 +5780,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6209,301 +6010,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6511,7 +6262,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6519,7 +6269,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6527,7 +6276,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6535,7 +6283,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6543,7 +6290,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6551,163 +6297,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6721,7 +6440,6 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-sparcv9.o" => @@ -6731,235 +6449,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6967,21 +6646,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6989,13 +6665,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7003,81 +6677,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7085,328 +6746,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7416,79 +7016,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7507,7 +7094,6 @@ our %unified_info = ( "crypto/modes/ghashp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7517,361 +7103,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7889,13 +7415,11 @@ our %unified_info = ( "crypto/poly1305/poly1305-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-ppcfp.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7905,271 +7429,226 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccap.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccpuid.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8179,31 +7658,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8213,7 +7687,6 @@ our %unified_info = ( "crypto/sha/keccak1600-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8231,7 +7704,6 @@ our %unified_info = ( "crypto/sha/sha1-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-s390x.o" => @@ -8245,13 +7717,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8269,7 +7739,6 @@ our %unified_info = ( "crypto/sha/sha256-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-s390x.o" => @@ -8283,13 +7752,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8307,7 +7774,6 @@ our %unified_info = ( "crypto/sha/sha512-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-s390x.o" => @@ -8321,715 +7787,596 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9080,6 +8427,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9324,7 +8679,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9650,7 +9004,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9696,7 +9049,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9762,7 +9114,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9787,7 +9138,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9885,7 +9235,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9935,18 +9284,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9957,6 +9303,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10020,10 +9370,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10052,6 +9398,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10316,6 +9666,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15286,7 +14637,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15294,6 +14644,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15521,6 +14872,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15623,10 +14982,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15655,6 +15010,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-ppc64le/asm/crypto/bn/ppc64-mont.s b/deps/openssl/config/archs/linux-ppc64le/asm/crypto/bn/ppc64-mont.s deleted file mode 100644 index 5bafae2b278d41..00000000000000 --- a/deps/openssl/config/archs/linux-ppc64le/asm/crypto/bn/ppc64-mont.s +++ /dev/null @@ -1,748 +0,0 @@ -.machine "any" -.abiversion 2 -.text - -.globl bn_mul_mont_fpu64 -.type bn_mul_mont_fpu64,@function -.align 5 -bn_mul_mont_fpu64: -.localentry bn_mul_mont_fpu64,0 - cmpwi 8,3 - mr 9,3 - li 3,0 - .long 0x4dc00020 - andi. 0,8,1 - .long 0x4cc20020 - - slwi 8,8,3 - li 12,-4096 - slwi 10,8,2 - add 10,10,8 - addi 10,10,552 - subf 10,10,1 - and 10,10,12 - subf 10,1,10 - mr 12,1 - stdux 1,1,10 - - std 19,-200(12) - std 20,-192(12) - std 21,-184(12) - std 22,-176(12) - std 23,-168(12) - std 24,-160(12) - std 25,-152(12) - std 26,-144(12) - std 27,-136(12) - std 28,-128(12) - std 29,-120(12) - std 30,-112(12) - std 31,-104(12) - stfd 20,-96(12) - stfd 21,-88(12) - stfd 22,-80(12) - stfd 23,-72(12) - stfd 24,-64(12) - stfd 25,-56(12) - stfd 26,-48(12) - stfd 27,-40(12) - stfd 28,-32(12) - stfd 29,-24(12) - stfd 30,-16(12) - stfd 31,-8(12) - - addi 10,1,264 - li 12,-64 - add 22,10,8 - and 22,22,12 - - addi 22,22,-8 - srwi 11,8,4 - addi 11,11,-1 - addi 10,1,184 - li 0,0 - mtctr 11 - ld 23,0(4) - ld 27,0(5) - ld 7,0(7) - - mulld 31,23,27 - - rldicl 24,27,0,48 - rldicl 25,27,48,48 - rldicl 26,27,32,48 - rldicl 27,27,16,48 - std 24,64(1) - std 25,72(1) - std 26,80(1) - std 27,88(1) - - mulld 31,31,7 - - rldicl 28,31,0,48 - rldicl 29,31,48,48 - rldicl 30,31,32,48 - rldicl 31,31,16,48 - std 28,96(1) - std 29,104(1) - std 30,112(1) - std 31,120(1) - - rldicl 24,23,0,32 - rldicl 25,23,32,32 - lwz 26,8(4) - lwz 27,12(4) - lwz 28,0(6) - lwz 29,4(6) - lwz 30,8(6) - lwz 31,12(6) - lfd 0,64(1) - lfd 1,72(1) - lfd 2,80(1) - lfd 3,88(1) - lfd 4,96(1) - lfd 5,104(1) - lfd 6,112(1) - lfd 7,120(1) - std 24,128(1) - std 25,136(1) - std 26,144(1) - std 27,152(1) - std 28,160(1) - std 29,168(1) - std 30,176(1) - std 31,184(1) - fcfid 0,0 - fcfid 1,1 - fcfid 2,2 - fcfid 3,3 - fcfid 4,4 - fcfid 5,5 - fcfid 6,6 - fcfid 7,7 - - lfd 10,128(1) - lfd 11,136(1) - lfd 12,144(1) - lfd 13,152(1) - lfd 20,160(1) - lfd 21,168(1) - lfd 22,176(1) - lfd 23,184(1) - fcfid 10,10 - fcfid 11,11 - fcfid 12,12 - fcfid 13,13 - fcfid 20,20 - fcfid 21,21 - fcfid 22,22 - fcfid 23,23 - addi 4,4,16 - addi 6,6,16 - - fmul 26,11,0 - fmul 27,11,1 - stfd 10,8(22) - stfd 11,16(22) - fmul 28,12,0 - fmul 29,12,1 - stfd 12,24(22) - stfd 13,32(22) - fmul 30,13,0 - fmul 31,13,1 - stfd 20,40(22) - stfd 21,48(22) - fmul 24,10,0 - fmul 25,10,1 - stfd 22,56(22) - stfdu 23,64(22) - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - fmadd 28,22,4,28 - fmadd 29,22,5,29 - fmadd 30,23,4,30 - fmadd 31,23,5,31 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - - fctid 24,24 - fctid 25,25 - fctid 26,26 - fctid 27,27 - fctid 28,28 - fctid 29,29 - fctid 30,30 - fctid 31,31 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - -.align 5 -.L1st: - lwz 24,0(4) - lwz 25,4(4) - lwz 26,8(4) - lwz 27,12(4) - lwz 28,0(6) - lwz 29,4(6) - lwz 30,8(6) - lwz 31,12(6) - std 24,128(1) - std 25,136(1) - std 26,144(1) - std 27,152(1) - std 28,160(1) - std 29,168(1) - std 30,176(1) - std 31,184(1) - ld 24,64(1) - ld 25,72(1) - ld 26,80(1) - ld 27,88(1) - ld 28,96(1) - ld 29,104(1) - ld 30,112(1) - ld 31,120(1) - lfd 10,128(1) - lfd 11,136(1) - lfd 12,144(1) - lfd 13,152(1) - lfd 20,160(1) - lfd 21,168(1) - lfd 22,176(1) - lfd 23,184(1) - fcfid 10,10 - fcfid 11,11 - fcfid 12,12 - fcfid 13,13 - fcfid 20,20 - fcfid 21,21 - fcfid 22,22 - fcfid 23,23 - addi 4,4,16 - addi 6,6,16 - - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - stfd 10,8(22) - stfd 11,16(22) - fmul 30,13,0 - fmul 31,13,1 - fmadd 24,10,0,8 - fmadd 25,10,1,9 - stfd 12,24(22) - stfd 13,32(22) - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - stfd 20,40(22) - stfd 21,48(22) - fmadd 30,12,2,30 - fmadd 31,12,3,31 - add 24,24,0 - fmul 8,13,2 - fmul 9,13,3 - stfd 22,56(22) - stfdu 23,64(22) - srdi 0,24,16 - add 25,25,0 - srdi 0,25,16 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - insrdi 24,25,16,32 - fmadd 28,22,4,28 - fmadd 29,22,5,29 - add 26,26,0 - fmadd 30,23,4,30 - fmadd 31,23,5,31 - srdi 0,26,16 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - insrdi 24,26,16,16 - add 27,27,0 - srdi 0,27,16 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - insrdi 24,27,16,0 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - add 28,28,0 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - srdi 0,28,16 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - add 29,29,0 - srdi 0,29,16 - insrdi 28,29,16,32 - - fctid 24,24 - fctid 25,25 - add 30,30,0 - fctid 26,26 - fctid 27,27 - srdi 0,30,16 - fctid 28,28 - fctid 29,29 - insrdi 28,30,16,16 - fctid 30,30 - fctid 31,31 - add 31,31,0 - insrdi 28,31,16,0 - srdi 0,31,16 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - std 24,8(10) - stdu 28,16(10) - bdnz .L1st - - fctid 8,8 - fctid 9,9 - ld 24,64(1) - ld 25,72(1) - ld 26,80(1) - ld 27,88(1) - ld 28,96(1) - ld 29,104(1) - ld 30,112(1) - ld 31,120(1) - stfd 8,128(1) - stfd 9,136(1) - - add 24,24,0 - srdi 0,24,16 - add 25,25,0 - srdi 0,25,16 - insrdi 24,25,16,32 - add 26,26,0 - srdi 0,26,16 - insrdi 24,26,16,16 - add 27,27,0 - srdi 0,27,16 - insrdi 24,27,16,0 - add 28,28,0 - srdi 0,28,16 - add 29,29,0 - srdi 0,29,16 - insrdi 28,29,16,32 - add 30,30,0 - srdi 0,30,16 - insrdi 28,30,16,16 - add 31,31,0 - insrdi 28,31,16,0 - srdi 0,31,16 - ld 30,128(1) - ld 31,136(1) - - std 24,8(10) - stdu 28,16(10) - - add 30,30,0 - srdi 0,30,16 - add 31,31,0 - insrdi 30,31,48,0 - srdi 3,31,48 - std 30,8(10) - slwi 31,8,2 - subf 22,31,22 - - li 12,8 -.align 5 -.Louter: - addi 10,1,192 - li 0,0 - mtctr 11 - ldx 27,5,12 - - ld 30,200(1) - mulld 31,23,27 - add 31,31,30 - - rldicl 24,27,0,48 - rldicl 25,27,48,48 - rldicl 26,27,32,48 - rldicl 27,27,16,48 - std 24,64(1) - std 25,72(1) - std 26,80(1) - std 27,88(1) - - mulld 31,31,7 - - rldicl 28,31,0,48 - rldicl 29,31,48,48 - rldicl 30,31,32,48 - rldicl 31,31,16,48 - std 28,96(1) - std 29,104(1) - std 30,112(1) - std 31,120(1) - lfd 10,8(22) - lfd 11,16(22) - lfd 12,24(22) - lfd 13,32(22) - lfd 20,40(22) - lfd 21,48(22) - lfd 22,56(22) - lfdu 23,64(22) - - lfd 0,64(1) - lfd 1,72(1) - lfd 2,80(1) - lfd 3,88(1) - lfd 4,96(1) - lfd 5,104(1) - lfd 6,112(1) - lfd 7,120(1) - - fcfid 0,0 - fcfid 1,1 - fcfid 2,2 - fcfid 3,3 - fcfid 4,4 - fcfid 5,5 - fcfid 6,6 - fcfid 7,7 - - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - fmul 30,13,0 - fmul 31,13,1 - fmul 24,10,0 - fmul 25,10,1 - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - - fmadd 26,21,4,26 - fmadd 27,21,5,27 - lfd 10,8(22) - lfd 11,16(22) - fmadd 28,22,4,28 - fmadd 29,22,5,29 - lfd 12,24(22) - lfd 13,32(22) - fmadd 30,23,4,30 - fmadd 31,23,5,31 - fmadd 24,20,4,24 - fmadd 25,20,5,25 - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - fmadd 28,21,6,28 - fmadd 29,21,7,29 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - - fctid 24,24 - fctid 25,25 - fctid 26,26 - fctid 27,27 - fctid 28,28 - fctid 29,29 - fctid 30,30 - fctid 31,31 - - stfd 24,64(1) - stfd 25,72(1) - stfd 26,80(1) - stfd 27,88(1) - stfd 28,96(1) - stfd 29,104(1) - stfd 30,112(1) - stfd 31,120(1) - -.align 5 -.Linner: - fmul 26,11,0 - fmul 27,11,1 - fmul 28,12,0 - fmul 29,12,1 - lfd 20,40(22) - lfd 21,48(22) - fmul 30,13,0 - fmul 31,13,1 - fmadd 24,10,0,8 - fmadd 25,10,1,9 - lfd 22,56(22) - lfdu 23,64(22) - - fmadd 26,10,2,26 - fmadd 27,10,3,27 - fmadd 28,11,2,28 - fmadd 29,11,3,29 - lfd 10,8(22) - lfd 11,16(22) - fmadd 30,12,2,30 - fmadd 31,12,3,31 - fmul 8,13,2 - fmul 9,13,3 - lfd 12,24(22) - lfd 13,32(22) - fmadd 26,21,4,26 - fmadd 27,21,5,27 - ld 24,64(1) - ld 25,72(1) - fmadd 28,22,4,28 - fmadd 29,22,5,29 - ld 26,80(1) - ld 27,88(1) - fmadd 30,23,4,30 - fmadd 31,23,5,31 - add 24,24,0 - ld 28,96(1) - ld 29,104(1) - fmadd 24,20,4,24 - fmadd 25,20,5,25 - srdi 0,24,16 - add 25,25,0 - srdi 0,25,16 - ld 30,112(1) - ld 31,120(1) - - fmadd 26,20,6,26 - fmadd 27,20,7,27 - insrdi 24,25,16,32 - ld 25,8(10) - fmadd 28,21,6,28 - fmadd 29,21,7,29 - add 26,26,0 - fmadd 30,22,6,30 - fmadd 31,22,7,31 - srdi 0,26,16 - insrdi 24,26,16,16 - fmadd 8,23,6,8 - fmadd 9,23,7,9 - add 27,27,0 - ldu 26,16(10) - srdi 0,27,16 - insrdi 24,27,16,0 - add 28,28,0 - - fctid 24,24 - fctid 25,25 - srdi 0,28,16 - fctid 26,26 - fctid 27,27 - add 29,29,0 - fctid 28,28 - fctid 29,29 - srdi 0,29,16 - insrdi 28,29,16,32 - fctid 30,30 - fctid 31,31 - add 30,30,0 - srdi 0,30,16 - insrdi 28,30,16,16 - - stfd 24,64(1) - stfd 25,72(1) - add 31,31,0 - addc 27,24,25 - stfd 26,80(1) - stfd 27,88(1) - insrdi 28,31,16,0 - srdi 0,31,16 - stfd 28,96(1) - stfd 29,104(1) - adde 29,28,26 - stfd 30,112(1) - stfd 31,120(1) - addze 0,0 - std 27,-16(10) - std 29,-8(10) - bdnz .Linner - - fctid 8,8 - fctid 9,9 - ld 24,64(1) - ld 25,72(1) - ld 26,80(1) - ld 27,88(1) - ld 28,96(1) - ld 29,104(1) - ld 30,112(1) - ld 31,120(1) - stfd 8,128(1) - stfd 9,136(1) - - add 24,24,0 - srdi 0,24,16 - add 25,25,0 - srdi 0,25,16 - insrdi 24,25,16,32 - add 26,26,0 - ld 25,8(10) - srdi 0,26,16 - insrdi 24,26,16,16 - add 27,27,0 - ldu 26,16(10) - srdi 0,27,16 - insrdi 24,27,16,0 - add 28,28,0 - srdi 0,28,16 - add 29,29,0 - srdi 0,29,16 - insrdi 28,29,16,32 - add 30,30,0 - srdi 0,30,16 - insrdi 28,30,16,16 - add 31,31,0 - insrdi 28,31,16,0 - srdi 0,31,16 - ld 30,128(1) - ld 31,136(1) - - addc 27,24,25 - adde 29,28,26 - addze 0,0 - - std 27,-16(10) - std 29,-8(10) - - add 0,0,3 - add 30,30,0 - srdi 0,30,16 - add 31,31,0 - insrdi 30,31,48,0 - srdi 3,31,48 - std 30,0(10) - slwi 31,8,2 - addi 12,12,8 - subf 22,31,22 - cmpw 12,8 - blt- .Louter - subf 6,8,6 - addi 11,11,1 - subfc 12,12,12 - addi 10,1,200 - addi 28,1,208 - addi 29,6,8 - addi 30,9,8 - mtctr 11 - -.align 4 -.Lsub: ldx 24,10,12 - ldx 25,6,12 - ldx 26,28,12 - ldx 27,29,12 - subfe 24,25,24 - subfe 26,27,26 - stdx 24,9,12 - stdx 26,30,12 - addi 12,12,16 - bdnz .Lsub - - li 12,0 - subfe 3,12,3 - mtctr 11 - -.align 4 -.Lcopy: - ldx 24,10,12 - ldx 25,28,12 - ldx 26,9,12 - ldx 27,30,12 - std 12,8(22) - std 12,16(22) - std 12,24(22) - std 12,32(22) - std 12,40(22) - std 12,48(22) - std 12,56(22) - stdu 12,64(22) - and 24,24,3 - and 25,25,3 - andc 26,26,3 - andc 27,27,3 - or 24,24,26 - or 25,25,27 - stdx 24,9,12 - stdx 25,30,12 - stdx 12,10,12 - stdx 12,28,12 - addi 12,12,16 - bdnz .Lcopy - ld 12,0(1) - li 3,1 - ld 19,-200(12) - ld 20,-192(12) - ld 21,-184(12) - ld 22,-176(12) - ld 23,-168(12) - ld 24,-160(12) - ld 25,-152(12) - ld 26,-144(12) - ld 27,-136(12) - ld 28,-128(12) - ld 29,-120(12) - ld 30,-112(12) - ld 31,-104(12) - lfd 20,-96(12) - lfd 21,-88(12) - lfd 22,-80(12) - lfd 23,-72(12) - lfd 24,-64(12) - lfd 25,-56(12) - lfd 26,-48(12) - lfd 27,-40(12) - lfd 28,-32(12) - lfd 29,-24(12) - lfd 30,-16(12) - lfd 31,-8(12) - mr 1,12 - blr -.long 0 -.byte 0,12,4,0,0x8c,13,6,0 -.long 0 -.size bn_mul_mont_fpu64,.-bn_mul_mont_fpu64 - -.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,80,80,67,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 2 diff --git a/deps/openssl/config/archs/linux-ppc64le/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-ppc64le/asm/crypto/buildinf.h index e7003954bb1a42..1dbf68d3564b60 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-ppc64le" -#define DATE "built on: Fri Sep 13 16:01:17 2019 UTC" +#define DATE "built on: Wed Mar 18 21:08:32 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-ppc64le/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-ppc64le/asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-ppc64le/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-ppc64le/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/opensslconf.h index 30820b60518d47..937531fe9fc0c5 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-ppc64le/asm/include/progs.h b/deps/openssl/config/archs/linux-ppc64le/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm/include/progs.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/configdata.pm index a92bb250672e06..f007db765e180d 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-ppc64le", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -239,6 +239,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3239,7 +3246,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3247,6 +3253,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3745,14 +3752,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4193,6 +4192,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4879,7 +4886,6 @@ our %unified_info = ( "crypto/aes/aes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes-s390x.o" => @@ -4893,49 +4899,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4945,7 +4943,6 @@ our %unified_info = ( "crypto/aes/aesp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4963,13 +4960,11 @@ our %unified_info = ( "crypto/aes/vpaes-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4983,613 +4978,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5607,188 +5500,157 @@ our %unified_info = ( "crypto/bn/bn-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5798,7 +5660,6 @@ our %unified_info = ( "crypto/bn/ppc-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5824,13 +5685,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5840,43 +5699,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5886,31 +5738,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5924,7 +5771,6 @@ our %unified_info = ( "crypto/chacha/chacha-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-s390x.o" => @@ -5934,272 +5780,227 @@ our %unified_info = ( "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6209,301 +6010,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6511,7 +6262,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6519,7 +6269,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6527,7 +6276,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6535,7 +6283,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6543,7 +6290,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6551,163 +6297,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6721,7 +6440,6 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-sparcv9.o" => @@ -6731,235 +6449,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6967,21 +6646,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6989,13 +6665,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7003,81 +6677,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7085,328 +6746,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7416,79 +7016,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7507,7 +7094,6 @@ our %unified_info = ( "crypto/modes/ghashp8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7517,361 +7103,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7889,13 +7415,11 @@ our %unified_info = ( "crypto/poly1305/poly1305-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-ppcfp.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7905,271 +7429,226 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccap.o" => [ ".", - "crypto/include", "include", ], "crypto/ppccpuid.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8179,31 +7658,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8213,7 +7687,6 @@ our %unified_info = ( "crypto/sha/keccak1600-ppc64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8231,7 +7704,6 @@ our %unified_info = ( "crypto/sha/sha1-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-s390x.o" => @@ -8245,13 +7717,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8269,7 +7739,6 @@ our %unified_info = ( "crypto/sha/sha256-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-s390x.o" => @@ -8283,13 +7752,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8307,7 +7774,6 @@ our %unified_info = ( "crypto/sha/sha512-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-s390x.o" => @@ -8321,715 +7787,596 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512p8-ppc.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9080,6 +8427,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9324,7 +8679,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9650,7 +9004,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9696,7 +9049,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9762,7 +9114,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9787,7 +9138,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9885,7 +9235,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9935,18 +9284,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9957,6 +9303,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10020,10 +9370,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10052,6 +9398,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10316,6 +9666,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15286,7 +14637,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15294,6 +14644,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15521,6 +14872,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15623,10 +14982,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15655,6 +15010,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h index e8e073c0d22a9f..2bb616361144e4 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-ppc64le" -#define DATE "built on: Fri Sep 13 16:01:23 2019 UTC" +#define DATE "built on: Wed Mar 18 21:08:43 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/opensslconf.h index 30820b60518d47..937531fe9fc0c5 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/progs.h b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-ppc64le/no-asm/configdata.pm b/deps/openssl/config/archs/linux-ppc64le/no-asm/configdata.pm index 9d91dea1de5354..b63dcfe765aa5e 100644 --- a/deps/openssl/config/archs/linux-ppc64le/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux-ppc64le/no-asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-ppc64le", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -237,6 +237,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -355,8 +356,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -624,14 +625,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -707,6 +700,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1504,6 +1505,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3222,7 +3229,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3230,6 +3236,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3728,14 +3735,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4176,6 +4175,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4870,49 +4877,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4934,7 +4933,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4948,613 +4946,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5572,188 +5468,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5783,13 +5648,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5799,43 +5662,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5845,31 +5701,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5887,278 +5738,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6168,301 +5973,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6470,7 +6225,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6478,7 +6232,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6486,7 +6239,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6494,7 +6246,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6502,7 +6253,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6510,163 +6260,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6684,223 +6407,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6908,21 +6594,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6930,13 +6613,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6944,81 +6625,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7026,328 +6694,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7357,85 +6964,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7458,361 +7051,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7834,259 +7367,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8096,31 +7586,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8130,7 +7615,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8156,13 +7640,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8188,7 +7670,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8214,709 +7695,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8967,6 +8330,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9211,7 +8582,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9537,7 +8907,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9583,7 +8952,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9649,7 +9017,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9674,7 +9041,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9772,7 +9138,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9822,18 +9187,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9844,6 +9206,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9907,10 +9273,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9939,6 +9301,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10203,6 +9569,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15093,7 +14460,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15101,6 +14467,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15328,6 +14695,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15430,10 +14805,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15462,6 +14833,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/buildinf.h index aebc739df4d2c0..98bbd243c19c9a 100644 --- a/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-ppc64le" -#define DATE "built on: Fri Sep 13 16:01:29 2019 UTC" +#define DATE "built on: Wed Mar 18 21:08:54 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/opensslconf.h index 212e3f67d8e568..781ef739dc2274 100644 --- a/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-ppc64le/no-asm/include/progs.h b/deps/openssl/config/archs/linux-ppc64le/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-ppc64le/no-asm/include/progs.h +++ b/deps/openssl/config/archs/linux-ppc64le/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-x32/asm/configdata.pm b/deps/openssl/config/archs/linux-x32/asm/configdata.pm index 58a473be95a3e6..87cae322cfb182 100644 --- a/deps/openssl/config/archs/linux-x32/asm/configdata.pm +++ b/deps/openssl/config/archs/linux-x32/asm/configdata.pm @@ -49,14 +49,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "AESNI_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)gcc", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -112,8 +112,8 @@ our %config = ( sourcedir => ".", target => "linux-x32", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -241,6 +241,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -358,8 +359,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -627,14 +628,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -710,6 +703,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1507,6 +1508,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3261,7 +3268,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3269,6 +3275,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3767,14 +3774,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4215,6 +4214,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4909,49 +4916,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4961,25 +4960,21 @@ our %unified_info = ( "crypto/aes/aesni-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4997,13 +4992,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -5017,613 +5010,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5637,7 +5528,6 @@ our %unified_info = ( "crypto/bn/asm/x86_64-gcc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5647,182 +5537,152 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5832,19 +5692,16 @@ our %unified_info = ( "crypto/bn/rsaz-avx2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz_exp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5870,31 +5727,26 @@ our %unified_info = ( "crypto/bn/x86_64-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont5.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5904,37 +5756,31 @@ our %unified_info = ( "crypto/camellia/cmll-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5944,31 +5790,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5986,278 +5827,232 @@ our %unified_info = ( "crypto/chacha/chacha-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6267,301 +6062,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6569,7 +6314,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6577,7 +6321,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6585,7 +6328,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6593,7 +6335,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6601,7 +6342,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6609,163 +6349,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6783,241 +6496,201 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7025,21 +6698,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7047,13 +6717,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7061,81 +6729,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7143,328 +6798,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7474,91 +7068,76 @@ our %unified_info = ( "crypto/md5/md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/aesni-gcm-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7577,7 +7156,6 @@ our %unified_info = ( "crypto/modes/ghash-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7587,361 +7165,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7963,265 +7481,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8231,31 +7705,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8265,7 +7734,6 @@ our %unified_info = ( "crypto/sha/keccak1600-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8279,7 +7747,6 @@ our %unified_info = ( "crypto/sha/sha1-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-mips.o" => @@ -8297,19 +7764,16 @@ our %unified_info = ( "crypto/sha/sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8323,7 +7787,6 @@ our %unified_info = ( "crypto/sha/sha256-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-mips.o" => @@ -8341,13 +7804,11 @@ our %unified_info = ( "crypto/sha/sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8373,727 +7834,606 @@ our %unified_info = ( "crypto/sha/sha512-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86_64cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86_64.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9144,6 +8484,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9388,7 +8736,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9714,7 +9061,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9760,7 +9106,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9826,7 +9171,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9851,7 +9195,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9949,7 +9292,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9999,18 +9341,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -10021,6 +9360,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10084,10 +9427,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10116,6 +9455,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10380,6 +9723,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15385,7 +14729,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15393,6 +14736,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15620,6 +14964,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15722,10 +15074,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15754,6 +15102,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aes-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aes-x86_64.s deleted file mode 100644 index f0c1685fb93450..00000000000000 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aes-x86_64.s +++ /dev/null @@ -1,2649 +0,0 @@ -.text -.type _x86_64_AES_encrypt,@function -.align 16 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Lenc_loop -.align 16 -.Lenc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz .Lenc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_encrypt,.-_x86_64_AES_encrypt -.type _x86_64_AES_encrypt_compact,@function -.align 16 -_x86_64_AES_encrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Lenc_loop_compact -.align 16 -.Lenc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Lenc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp .Lenc_loop_compact -.align 16 -.Lenc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact -.globl AES_encrypt -.type AES_encrypt,@function -.align 16 -.globl asm_AES_encrypt -.hidden asm_AES_encrypt -asm_AES_encrypt: -AES_encrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Lenc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lenc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_encrypt,.-AES_encrypt -.type _x86_64_AES_decrypt,@function -.align 16 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Ldec_loop -.align 16 -.Ldec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz .Ldec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_decrypt,.-_x86_64_AES_decrypt -.type _x86_64_AES_decrypt_compact,@function -.align 16 -_x86_64_AES_decrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Ldec_loop_compact - -.align 16 -.Ldec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Ldec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp .Ldec_loop_compact -.align 16 -.Ldec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact -.globl AES_decrypt -.type AES_decrypt,@function -.align 16 -.globl asm_AES_decrypt -.hidden asm_AES_decrypt -asm_AES_decrypt: -AES_decrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Ldec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Ldec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_decrypt,.-AES_decrypt -.globl AES_set_encrypt_key -.type AES_set_encrypt_key,@function -.align 16 -AES_set_encrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $8,%rsp -.cfi_adjust_cfa_offset 8 -.Lenc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Lenc_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_encrypt_key,.-AES_set_encrypt_key - -.type _x86_64_AES_set_encrypt_key,@function -.align 16 -_x86_64_AES_set_encrypt_key: -.cfi_startproc - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz .Lbadpointer - testq $-1,%rdi - jz .Lbadpointer - - leaq .LAES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je .L10rounds - cmpl $192,%ecx - je .L12rounds - cmpl $256,%ecx - je .L14rounds - movq $-2,%rax - jmp .Lexit - -.L10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L10shortcut -.align 4 -.L10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -.L10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl .L10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L12shortcut -.align 4 -.L12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -.L12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je .L12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp .L12loop -.L12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L14shortcut -.align 4 -.L14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -.L14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je .L14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp .L14loop -.L14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp .Lexit - -.Lbadpointer: - movq $-1,%rax -.Lexit: -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key -.globl AES_set_decrypt_key -.type AES_set_decrypt_key,@function -.align 16 -AES_set_decrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - pushq %rdx -.cfi_adjust_cfa_offset 8 -.Ldec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne .Labort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.align 4 -.Linvert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne .Linvert - - leaq .LAES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.align 4 -.Lpermute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz .Lpermute - - xorq %rax,%rax -.Labort: - movq 8(%rsp),%r15 -.cfi_restore %r15 - movq 16(%rsp),%r14 -.cfi_restore %r14 - movq 24(%rsp),%r13 -.cfi_restore %r13 - movq 32(%rsp),%r12 -.cfi_restore %r12 - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Ldec_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_decrypt_key,.-AES_set_decrypt_key -.globl AES_cbc_encrypt -.type AES_cbc_encrypt,@function -.align 16 - -.globl asm_AES_cbc_encrypt -.hidden asm_AES_cbc_encrypt -asm_AES_cbc_encrypt: -AES_cbc_encrypt: -.cfi_startproc - cmpq $0,%rdx - je .Lcbc_epilogue - pushfq - - -.cfi_adjust_cfa_offset 8 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-32 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-40 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-48 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-56 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-64 -.Lcbc_prologue: - - cld - movl %r9d,%r9d - - leaq .LAES_Te(%rip),%r14 - leaq .LAES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - -.cfi_remember_state - movl OPENSSL_ia32cap_P(%rip),%r10d - cmpq $512,%rdx - jb .Lcbc_slow_prologue - testq $15,%rdx - jnz .Lcbc_slow_prologue - btl $28,%r10d - jc .Lcbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb .Lcbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp .Lcbc_te_ok -.Lcbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.align 4 -.Lcbc_te_ok: - - xchgq %rsp,%r15 -.cfi_def_cfa_register %r15 - - movq %r15,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb .Lcbc_do_ecopy - cmpq $4096-248,%r10 - jb .Lcbc_skip_ecopy -.align 4 -.Lcbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -.Lcbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.align 4 -.Lcbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz .Lcbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je .LFAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.align 4 -.Lcbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz .Lcbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_fast_cleanup - - -.align 16 -.LFAST_DECRYPT: - cmpq %r8,%r9 - je .Lcbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.align 4 -.Lcbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz .Lcbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp .Lcbc_fast_cleanup - -.align 16 -.Lcbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.align 4 -.Lcbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz .Lcbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp .Lcbc_fast_dec_in_place_loop -.Lcbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.align 4 -.Lcbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je .Lcbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp .Lcbc_exit - - -.align 16 -.Lcbc_slow_prologue: -.cfi_restore_state - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp -.cfi_def_cfa_register %rbp - - movq %rbp,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je .LSLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz .Lcbc_slow_enc_tail - -.align 4 -.Lcbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz .Lcbc_slow_enc_loop - testq $15,%r10 - jnz .Lcbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp .Lcbc_slow_enc_loop - -.align 16 -.LSLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.align 4 -.Lcbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc .Lcbc_slow_dec_partial - jz .Lcbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp .Lcbc_slow_dec_loop -.Lcbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp .Lcbc_exit - -.align 16 -.Lcbc_exit: - movq 16(%rsp),%rsi -.cfi_def_cfa %rsi,64 - movq (%rsi),%r15 -.cfi_restore %r15 - movq 8(%rsi),%r14 -.cfi_restore %r14 - movq 16(%rsi),%r13 -.cfi_restore %r13 - movq 24(%rsi),%r12 -.cfi_restore %r12 - movq 32(%rsi),%rbp -.cfi_restore %rbp - movq 40(%rsi),%rbx -.cfi_restore %rbx - leaq 48(%rsi),%rsp -.cfi_def_cfa %rsp,16 -.Lcbc_popfq: - popfq - - -.cfi_adjust_cfa_offset -8 -.Lcbc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_cbc_encrypt,.-AES_cbc_encrypt -.align 64 -.LAES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.align 64 -.LAES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aesni-sha1-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aesni-sha1-x86_64.s index 4d2dfe44898fd5..978bd2b6239c15 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aesni-sha1-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha1_enc,@function .align 32 aesni_cbc_sha1_enc: +.cfi_startproc movl OPENSSL_ia32cap_P+0(%rip),%r10d movq OPENSSL_ia32cap_P+4(%rip),%r11 @@ -17,6 +18,7 @@ aesni_cbc_sha1_enc: je aesni_cbc_sha1_enc_avx jmp aesni_cbc_sha1_enc_ssse3 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc .type aesni_cbc_sha1_enc_ssse3,@function .align 32 @@ -2730,6 +2732,7 @@ K_XX_XX: .type aesni_cbc_sha1_enc_shaext,@function .align 32 aesni_cbc_sha1_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 movdqu (%r9),%xmm8 movd 16(%r9),%xmm9 @@ -3028,4 +3031,5 @@ aesni_cbc_sha1_enc_shaext: movdqu %xmm8,(%r9) movd %xmm9,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aesni-sha256-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aesni-sha256-x86_64.s index 5a47b3ee51b741..dd09f1b290af62 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aesni-sha256-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aesni-sha256-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha256_enc,@function .align 16 aesni_cbc_sha256_enc: +.cfi_startproc leaq OPENSSL_ia32cap_P(%rip),%r11 movl $1,%eax cmpq $0,%rdi @@ -30,6 +31,7 @@ aesni_cbc_sha256_enc: ud2 .Lprobe: .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc,.-aesni_cbc_sha256_enc .align 64 @@ -2528,7 +2530,15 @@ aesni_cbc_sha256_enc_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 120(%rsp),%rsi +.cfi_def_cfa %rsi,8 leaq -64(%rsp),%rsp + + + + movq %rsi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%esi vmovdqa %ymm6,0(%rsp) xorl %ecx,%esi @@ -2542,6 +2552,12 @@ aesni_cbc_sha256_enc_avx2: vmovdqu (%r13),%xmm9 vpinsrq $0,%r13,%xmm15,%xmm15 leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -2816,6 +2832,12 @@ aesni_cbc_sha256_enc_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4029,10 +4051,12 @@ aesni_cbc_sha256_enc_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xf8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 64+32(%rsp),%r8 - movq 120(%rsp),%rsi + movq 64+32(%rbp),%r8 + movq 64+56(%rbp),%rsi .cfi_def_cfa %rsi,8 vmovdqu %xmm8,(%r8) vzeroall @@ -4057,6 +4081,7 @@ aesni_cbc_sha256_enc_avx2: .type aesni_cbc_sha256_enc_shaext,@function .align 32 aesni_cbc_sha256_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 leaq K256+128(%rip),%rax movdqu (%r9),%xmm1 @@ -4406,4 +4431,5 @@ aesni_cbc_sha256_enc_shaext: movdqu %xmm1,(%r9) movdqu %xmm2,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc_shaext,.-aesni_cbc_sha256_enc_shaext diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aesni-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aesni-x86_64.s index 2986a647c1bb05..c1e791eff59235 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aesni-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/aes/aesni-x86_64.s @@ -861,6 +861,7 @@ aesni_ecb_encrypt: .type aesni_ccm64_encrypt_blocks,@function .align 16 aesni_ccm64_encrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movdqu (%r8),%xmm6 movdqa .Lincrement64(%rip),%xmm9 @@ -919,11 +920,13 @@ aesni_ccm64_encrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks .globl aesni_ccm64_decrypt_blocks .type aesni_ccm64_decrypt_blocks,@function .align 16 aesni_ccm64_decrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movups (%r8),%xmm6 movdqu (%r9),%xmm3 @@ -1016,6 +1019,7 @@ aesni_ccm64_decrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks .globl aesni_ctr32_encrypt_blocks .type aesni_ctr32_encrypt_blocks,@function @@ -2790,6 +2794,7 @@ aesni_ocb_encrypt: .type __ocb_encrypt6,@function .align 32 __ocb_encrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2887,11 +2892,13 @@ __ocb_encrypt6: .byte 102,65,15,56,221,246 .byte 102,65,15,56,221,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt6,.-__ocb_encrypt6 .type __ocb_encrypt4,@function .align 32 __ocb_encrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2956,11 +2963,13 @@ __ocb_encrypt4: .byte 102,65,15,56,221,228 .byte 102,65,15,56,221,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt4,.-__ocb_encrypt4 .type __ocb_encrypt1,@function .align 32 __ocb_encrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm2,%xmm8 @@ -2991,6 +3000,7 @@ __ocb_encrypt1: .byte 102,15,56,221,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt1,.-__ocb_encrypt1 .globl aesni_ocb_decrypt @@ -3233,6 +3243,7 @@ aesni_ocb_decrypt: .type __ocb_decrypt6,@function .align 32 __ocb_decrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3324,11 +3335,13 @@ __ocb_decrypt6: .byte 102,65,15,56,223,246 .byte 102,65,15,56,223,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt6,.-__ocb_decrypt6 .type __ocb_decrypt4,@function .align 32 __ocb_decrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3389,11 +3402,13 @@ __ocb_decrypt4: .byte 102,65,15,56,223,228 .byte 102,65,15,56,223,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt4,.-__ocb_decrypt4 .type __ocb_decrypt1,@function .align 32 __ocb_decrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm7,%xmm2 @@ -3423,6 +3438,7 @@ __ocb_decrypt1: .byte 102,15,56,223,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt1,.-__ocb_decrypt1 .globl aesni_cbc_encrypt .type aesni_cbc_encrypt,@function @@ -4361,7 +4377,6 @@ __aesni_set_encrypt_key: addq $8,%rsp .cfi_adjust_cfa_offset -8 .byte 0xf3,0xc3 -.cfi_endproc .LSEH_end_set_encrypt_key: .align 16 @@ -4432,6 +4447,7 @@ __aesni_set_encrypt_key: shufps $170,%xmm1,%xmm1 xorps %xmm1,%xmm2 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_set_encrypt_key,.-aesni_set_encrypt_key .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key .align 64 diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/aes/bsaes-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/aes/bsaes-x86_64.s deleted file mode 100644 index e1f3abadbc7214..00000000000000 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/aes/bsaes-x86_64.s +++ /dev/null @@ -1,2595 +0,0 @@ -.text - - - - -.type _bsaes_encrypt8,@function -.align 64 -_bsaes_encrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa 80(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 -_bsaes_encrypt8_bitslice: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Lenc_sbox -.align 16 -.Lenc_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Lenc_sbox: - pxor %xmm5,%xmm4 - pxor %xmm0,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm1,%xmm5 - pxor %xmm15,%xmm4 - - pxor %xmm2,%xmm5 - pxor %xmm6,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm3,%xmm2 - pxor %xmm4,%xmm3 - pxor %xmm0,%xmm2 - - pxor %xmm6,%xmm1 - pxor %xmm4,%xmm0 - movdqa %xmm6,%xmm10 - movdqa %xmm0,%xmm9 - movdqa %xmm4,%xmm8 - movdqa %xmm1,%xmm12 - movdqa %xmm5,%xmm11 - - pxor %xmm3,%xmm10 - pxor %xmm1,%xmm9 - pxor %xmm2,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm3,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm15,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm2,%xmm11 - pxor %xmm15,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm6,%xmm12 - movdqa %xmm4,%xmm11 - pxor %xmm0,%xmm12 - pxor %xmm5,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm1,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm3,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm0,%xmm13 - pand %xmm2,%xmm11 - movdqa %xmm6,%xmm14 - pand %xmm15,%xmm12 - pand %xmm4,%xmm13 - por %xmm5,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm5,%xmm11 - movdqa %xmm4,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm5,%xmm9 - pxor %xmm4,%xmm5 - pand %xmm14,%xmm4 - pand %xmm13,%xmm5 - pxor %xmm4,%xmm5 - pxor %xmm9,%xmm4 - pxor %xmm15,%xmm11 - pxor %xmm2,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm2,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm2 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm2,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm2 - pxor %xmm11,%xmm5 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm2 - - movdqa %xmm6,%xmm11 - movdqa %xmm0,%xmm7 - pxor %xmm3,%xmm11 - pxor %xmm1,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm3,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm1,%xmm3 - pand %xmm14,%xmm7 - pand %xmm12,%xmm1 - pand %xmm13,%xmm11 - pand %xmm8,%xmm3 - pxor %xmm11,%xmm7 - pxor %xmm1,%xmm3 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm1 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm6,%xmm10 - pxor %xmm0,%xmm6 - pand %xmm14,%xmm0 - pand %xmm13,%xmm6 - pxor %xmm0,%xmm6 - pxor %xmm10,%xmm0 - pxor %xmm11,%xmm6 - pxor %xmm11,%xmm3 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm1 - pxor %xmm15,%xmm6 - pxor %xmm5,%xmm0 - pxor %xmm6,%xmm3 - pxor %xmm15,%xmm5 - pxor %xmm0,%xmm15 - - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm4 - pxor %xmm2,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm4,%xmm3 - - pxor %xmm2,%xmm5 - decl %r10d - jl .Lenc_done - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm3,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm5,%xmm10 - pxor %xmm9,%xmm3 - pshufd $0x93,%xmm2,%xmm11 - pxor %xmm10,%xmm5 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm2 - pshufd $0x93,%xmm1,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm1 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm2,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm5,%xmm11 - pshufd $0x4E,%xmm2,%xmm7 - pxor %xmm1,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm3,%xmm10 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm1,%xmm5 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm12,%xmm8 - pxor %xmm10,%xmm2 - pxor %xmm14,%xmm6 - pxor %xmm13,%xmm5 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm1 - movdqa %xmm8,%xmm4 - movdqa 48(%r11),%xmm7 - jnz .Lenc_loop - movdqa 64(%r11),%xmm7 - jmp .Lenc_loop -.align 16 -.Lenc_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm2,%xmm10 - psrlq $1,%xmm2 - pxor %xmm4,%xmm1 - pxor %xmm6,%xmm2 - pand %xmm7,%xmm1 - pand %xmm7,%xmm2 - pxor %xmm1,%xmm4 - psllq $1,%xmm1 - pxor %xmm2,%xmm6 - psllq $1,%xmm2 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm2 - movdqa %xmm3,%xmm9 - psrlq $1,%xmm3 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm5,%xmm3 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm3 - pand %xmm7,%xmm15 - pxor %xmm3,%xmm5 - psllq $1,%xmm3 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm2,%xmm10 - psrlq $2,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm1,%xmm2 - pand %xmm8,%xmm6 - pand %xmm8,%xmm2 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm2,%xmm1 - psllq $2,%xmm2 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm2 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm5,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm5 - psllq $2,%xmm0 - pxor %xmm15,%xmm3 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm5,%xmm9 - psrlq $4,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $4,%xmm3 - pxor %xmm4,%xmm5 - pxor %xmm1,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm4 - psllq $4,%xmm5 - pxor %xmm3,%xmm1 - psllq $4,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm2,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm2 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_encrypt8,.-_bsaes_encrypt8 - -.type _bsaes_decrypt8,@function -.align 64 -_bsaes_decrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa -48(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Ldec_sbox -.align 16 -.Ldec_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Ldec_sbox: - pxor %xmm3,%xmm2 - - pxor %xmm6,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm3,%xmm5 - pxor %xmm5,%xmm6 - pxor %xmm6,%xmm0 - - pxor %xmm0,%xmm15 - pxor %xmm4,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm15,%xmm4 - pxor %xmm2,%xmm0 - movdqa %xmm2,%xmm10 - movdqa %xmm6,%xmm9 - movdqa %xmm0,%xmm8 - movdqa %xmm3,%xmm12 - movdqa %xmm4,%xmm11 - - pxor %xmm15,%xmm10 - pxor %xmm3,%xmm9 - pxor %xmm5,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm15,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm1,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm5,%xmm11 - pxor %xmm1,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm2,%xmm12 - movdqa %xmm0,%xmm11 - pxor %xmm6,%xmm12 - pxor %xmm4,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm3,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm15,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm6,%xmm13 - pand %xmm5,%xmm11 - movdqa %xmm2,%xmm14 - pand %xmm1,%xmm12 - pand %xmm0,%xmm13 - por %xmm4,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm4,%xmm11 - movdqa %xmm0,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm4,%xmm9 - pxor %xmm0,%xmm4 - pand %xmm14,%xmm0 - pand %xmm13,%xmm4 - pxor %xmm0,%xmm4 - pxor %xmm9,%xmm0 - pxor %xmm1,%xmm11 - pxor %xmm5,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm1,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm5,%xmm1 - pand %xmm14,%xmm7 - pand %xmm12,%xmm5 - pand %xmm13,%xmm11 - pand %xmm8,%xmm1 - pxor %xmm11,%xmm7 - pxor %xmm5,%xmm1 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm5 - pxor %xmm11,%xmm4 - pxor %xmm11,%xmm1 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm5 - - movdqa %xmm2,%xmm11 - movdqa %xmm6,%xmm7 - pxor %xmm15,%xmm11 - pxor %xmm3,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm3,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm3 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm3,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm3 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm2,%xmm10 - pxor %xmm6,%xmm2 - pand %xmm14,%xmm6 - pand %xmm13,%xmm2 - pxor %xmm6,%xmm2 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm3 - pxor %xmm6,%xmm0 - pxor %xmm4,%xmm5 - - pxor %xmm0,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm6,%xmm4 - pxor %xmm1,%xmm3 - pxor %xmm15,%xmm6 - pxor %xmm4,%xmm3 - pxor %xmm5,%xmm2 - pxor %xmm0,%xmm5 - pxor %xmm3,%xmm2 - - pxor %xmm15,%xmm3 - pxor %xmm2,%xmm6 - decl %r10d - jl .Ldec_done - - pshufd $0x4E,%xmm15,%xmm7 - pshufd $0x4E,%xmm2,%xmm13 - pxor %xmm15,%xmm7 - pshufd $0x4E,%xmm4,%xmm14 - pxor %xmm2,%xmm13 - pshufd $0x4E,%xmm0,%xmm8 - pxor %xmm4,%xmm14 - pshufd $0x4E,%xmm5,%xmm9 - pxor %xmm0,%xmm8 - pshufd $0x4E,%xmm3,%xmm10 - pxor %xmm5,%xmm9 - pxor %xmm13,%xmm15 - pxor %xmm13,%xmm0 - pshufd $0x4E,%xmm1,%xmm11 - pxor %xmm3,%xmm10 - pxor %xmm7,%xmm5 - pxor %xmm8,%xmm3 - pshufd $0x4E,%xmm6,%xmm12 - pxor %xmm1,%xmm11 - pxor %xmm14,%xmm0 - pxor %xmm9,%xmm1 - pxor %xmm6,%xmm12 - - pxor %xmm14,%xmm5 - pxor %xmm13,%xmm3 - pxor %xmm13,%xmm1 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm14,%xmm1 - pxor %xmm14,%xmm6 - pxor %xmm12,%xmm4 - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm5,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm3,%xmm10 - pxor %xmm9,%xmm5 - pshufd $0x93,%xmm1,%xmm11 - pxor %xmm10,%xmm3 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm1 - pshufd $0x93,%xmm2,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm2 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm1,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm3,%xmm11 - pshufd $0x4E,%xmm1,%xmm7 - pxor %xmm2,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm5,%xmm10 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm2,%xmm3 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm12,%xmm8 - pxor %xmm1,%xmm10 - pxor %xmm14,%xmm6 - pxor %xmm3,%xmm13 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm2 - movdqa %xmm13,%xmm5 - movdqa %xmm8,%xmm4 - movdqa %xmm2,%xmm1 - movdqa %xmm10,%xmm2 - movdqa -16(%r11),%xmm7 - jnz .Ldec_loop - movdqa -32(%r11),%xmm7 - jmp .Ldec_loop -.align 16 -.Ldec_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm2,%xmm9 - psrlq $1,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $1,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm6,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm4 - psllq $1,%xmm2 - pxor %xmm1,%xmm6 - psllq $1,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm3,%xmm5 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm5 - pand %xmm7,%xmm15 - pxor %xmm5,%xmm3 - psllq $1,%xmm5 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm1,%xmm10 - psrlq $2,%xmm1 - pxor %xmm4,%xmm6 - pxor %xmm2,%xmm1 - pand %xmm8,%xmm6 - pand %xmm8,%xmm1 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm1,%xmm2 - psllq $2,%xmm1 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm3,%xmm0 - pxor %xmm5,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm3 - psllq $2,%xmm0 - pxor %xmm15,%xmm5 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm3,%xmm9 - psrlq $4,%xmm3 - movdqa %xmm5,%xmm10 - psrlq $4,%xmm5 - pxor %xmm4,%xmm3 - pxor %xmm2,%xmm5 - pand %xmm7,%xmm3 - pand %xmm7,%xmm5 - pxor %xmm3,%xmm4 - psllq $4,%xmm3 - pxor %xmm5,%xmm2 - psllq $4,%xmm5 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm5 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm1 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_decrypt8,.-_bsaes_decrypt8 -.type _bsaes_key_convert,@function -.align 16 -_bsaes_key_convert: -.cfi_startproc - leaq .Lmasks(%rip),%r11 - movdqu (%rcx),%xmm7 - leaq 16(%rcx),%rcx - movdqa 0(%r11),%xmm0 - movdqa 16(%r11),%xmm1 - movdqa 32(%r11),%xmm2 - movdqa 48(%r11),%xmm3 - movdqa 64(%r11),%xmm4 - pcmpeqd %xmm5,%xmm5 - - movdqu (%rcx),%xmm6 - movdqa %xmm7,(%rax) - leaq 16(%rax),%rax - decl %r10d - jmp .Lkey_loop -.align 16 -.Lkey_loop: -.byte 102,15,56,0,244 - - movdqa %xmm0,%xmm8 - movdqa %xmm1,%xmm9 - - pand %xmm6,%xmm8 - pand %xmm6,%xmm9 - movdqa %xmm2,%xmm10 - pcmpeqb %xmm0,%xmm8 - psllq $4,%xmm0 - movdqa %xmm3,%xmm11 - pcmpeqb %xmm1,%xmm9 - psllq $4,%xmm1 - - pand %xmm6,%xmm10 - pand %xmm6,%xmm11 - movdqa %xmm0,%xmm12 - pcmpeqb %xmm2,%xmm10 - psllq $4,%xmm2 - movdqa %xmm1,%xmm13 - pcmpeqb %xmm3,%xmm11 - psllq $4,%xmm3 - - movdqa %xmm2,%xmm14 - movdqa %xmm3,%xmm15 - pxor %xmm5,%xmm8 - pxor %xmm5,%xmm9 - - pand %xmm6,%xmm12 - pand %xmm6,%xmm13 - movdqa %xmm8,0(%rax) - pcmpeqb %xmm0,%xmm12 - psrlq $4,%xmm0 - movdqa %xmm9,16(%rax) - pcmpeqb %xmm1,%xmm13 - psrlq $4,%xmm1 - leaq 16(%rcx),%rcx - - pand %xmm6,%xmm14 - pand %xmm6,%xmm15 - movdqa %xmm10,32(%rax) - pcmpeqb %xmm2,%xmm14 - psrlq $4,%xmm2 - movdqa %xmm11,48(%rax) - pcmpeqb %xmm3,%xmm15 - psrlq $4,%xmm3 - movdqu (%rcx),%xmm6 - - pxor %xmm5,%xmm13 - pxor %xmm5,%xmm14 - movdqa %xmm12,64(%rax) - movdqa %xmm13,80(%rax) - movdqa %xmm14,96(%rax) - movdqa %xmm15,112(%rax) - leaq 128(%rax),%rax - decl %r10d - jnz .Lkey_loop - - movdqa 80(%r11),%xmm7 - - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_key_convert,.-_bsaes_key_convert - -.globl bsaes_cbc_encrypt -.type bsaes_cbc_encrypt,@function -.align 16 -bsaes_cbc_encrypt: -.cfi_startproc - cmpl $0,%r9d - jne asm_AES_cbc_encrypt - cmpq $128,%rdx - jb asm_AES_cbc_encrypt - - movq %rsp,%rax -.Lcbc_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movq %r8,%rbx - shrq $4,%r14 - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - movdqu (%rbx),%xmm14 - subq $8,%r14 -.Lcbc_dec_loop: - movdqu 0(%r12),%xmm15 - movdqu 16(%r12),%xmm0 - movdqu 32(%r12),%xmm1 - movdqu 48(%r12),%xmm2 - movdqu 64(%r12),%xmm3 - movdqu 80(%r12),%xmm4 - movq %rsp,%rax - movdqu 96(%r12),%xmm5 - movl %edx,%r10d - movdqu 112(%r12),%xmm6 - movdqa %xmm14,32(%rbp) - - call _bsaes_decrypt8 - - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm2 - movdqu 112(%r12),%xmm14 - pxor %xmm13,%xmm4 - movdqu %xmm15,0(%r13) - leaq 128(%r12),%r12 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - subq $8,%r14 - jnc .Lcbc_dec_loop - - addq $8,%r14 - jz .Lcbc_dec_done - - movdqu 0(%r12),%xmm15 - movq %rsp,%rax - movl %edx,%r10d - cmpq $2,%r14 - jb .Lcbc_dec_one - movdqu 16(%r12),%xmm0 - je .Lcbc_dec_two - movdqu 32(%r12),%xmm1 - cmpq $4,%r14 - jb .Lcbc_dec_three - movdqu 48(%r12),%xmm2 - je .Lcbc_dec_four - movdqu 64(%r12),%xmm3 - cmpq $6,%r14 - jb .Lcbc_dec_five - movdqu 80(%r12),%xmm4 - je .Lcbc_dec_six - movdqu 96(%r12),%xmm5 - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm14 - pxor %xmm12,%xmm2 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_six: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm14 - pxor %xmm11,%xmm6 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_five: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm14 - pxor %xmm10,%xmm1 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_four: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm14 - pxor %xmm9,%xmm3 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_three: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm14 - pxor %xmm8,%xmm5 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_two: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm14 - pxor %xmm7,%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_one: - leaq (%r12),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm14 - movdqu %xmm14,(%r13) - movdqa %xmm15,%xmm14 - -.Lcbc_dec_done: - movdqu %xmm14,(%rbx) - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lcbc_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lcbc_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lcbc_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_cbc_encrypt,.-bsaes_cbc_encrypt - -.globl bsaes_ctr32_encrypt_blocks -.type bsaes_ctr32_encrypt_blocks,@function -.align 16 -bsaes_ctr32_encrypt_blocks: -.cfi_startproc - movq %rsp,%rax -.Lctr_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movdqu (%r8),%xmm0 - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movdqa %xmm0,32(%rbp) - cmpq $8,%rdx - jb .Lctr_enc_short - - movl %eax,%ebx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %ebx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - movdqa (%rsp),%xmm8 - leaq .LADD1(%rip),%r11 - movdqa 32(%rbp),%xmm15 - movdqa -32(%r11),%xmm7 -.byte 102,68,15,56,0,199 -.byte 102,68,15,56,0,255 - movdqa %xmm8,(%rsp) - jmp .Lctr_enc_loop -.align 16 -.Lctr_enc_loop: - movdqa %xmm15,32(%rbp) - movdqa %xmm15,%xmm0 - movdqa %xmm15,%xmm1 - paddd 0(%r11),%xmm0 - movdqa %xmm15,%xmm2 - paddd 16(%r11),%xmm1 - movdqa %xmm15,%xmm3 - paddd 32(%r11),%xmm2 - movdqa %xmm15,%xmm4 - paddd 48(%r11),%xmm3 - movdqa %xmm15,%xmm5 - paddd 64(%r11),%xmm4 - movdqa %xmm15,%xmm6 - paddd 80(%r11),%xmm5 - paddd 96(%r11),%xmm6 - - - - movdqa (%rsp),%xmm8 - leaq 16(%rsp),%rax - movdqa -16(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq .LBS0(%rip),%r11 - movl %ebx,%r10d - - call _bsaes_encrypt8_bitslice - - subq $8,%r14 - jc .Lctr_enc_loop_done - - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - movdqu 32(%r12),%xmm9 - movdqu 48(%r12),%xmm10 - movdqu 64(%r12),%xmm11 - movdqu 80(%r12),%xmm12 - movdqu 96(%r12),%xmm13 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - pxor %xmm15,%xmm7 - movdqa 32(%rbp),%xmm15 - pxor %xmm8,%xmm0 - movdqu %xmm7,0(%r13) - pxor %xmm9,%xmm3 - movdqu %xmm0,16(%r13) - pxor %xmm10,%xmm5 - movdqu %xmm3,32(%r13) - pxor %xmm11,%xmm2 - movdqu %xmm5,48(%r13) - pxor %xmm12,%xmm6 - movdqu %xmm2,64(%r13) - pxor %xmm13,%xmm1 - movdqu %xmm6,80(%r13) - pxor %xmm14,%xmm4 - movdqu %xmm1,96(%r13) - leaq .LADD1(%rip),%r11 - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - paddd 112(%r11),%xmm15 - jnz .Lctr_enc_loop - - jmp .Lctr_enc_done -.align 16 -.Lctr_enc_loop_done: - addq $8,%r14 - movdqu 0(%r12),%xmm7 - pxor %xmm7,%xmm15 - movdqu %xmm15,0(%r13) - cmpq $2,%r14 - jb .Lctr_enc_done - movdqu 16(%r12),%xmm8 - pxor %xmm8,%xmm0 - movdqu %xmm0,16(%r13) - je .Lctr_enc_done - movdqu 32(%r12),%xmm9 - pxor %xmm9,%xmm3 - movdqu %xmm3,32(%r13) - cmpq $4,%r14 - jb .Lctr_enc_done - movdqu 48(%r12),%xmm10 - pxor %xmm10,%xmm5 - movdqu %xmm5,48(%r13) - je .Lctr_enc_done - movdqu 64(%r12),%xmm11 - pxor %xmm11,%xmm2 - movdqu %xmm2,64(%r13) - cmpq $6,%r14 - jb .Lctr_enc_done - movdqu 80(%r12),%xmm12 - pxor %xmm12,%xmm6 - movdqu %xmm6,80(%r13) - je .Lctr_enc_done - movdqu 96(%r12),%xmm13 - pxor %xmm13,%xmm1 - movdqu %xmm1,96(%r13) - jmp .Lctr_enc_done - -.align 16 -.Lctr_enc_short: - leaq 32(%rbp),%rdi - leaq 48(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - movdqu (%r12),%xmm0 - leaq 16(%r12),%r12 - movl 44(%rbp),%eax - bswapl %eax - pxor 48(%rbp),%xmm0 - incl %eax - movdqu %xmm0,(%r13) - bswapl %eax - leaq 16(%r13),%r13 - movl %eax,44(%rsp) - decq %r14 - jnz .Lctr_enc_short - -.Lctr_enc_done: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lctr_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lctr_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lctr_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_ctr32_encrypt_blocks,.-bsaes_ctr32_encrypt_blocks -.globl bsaes_xts_encrypt -.type bsaes_xts_encrypt,@function -.align 16 -bsaes_xts_encrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - andq $-16,%r14 - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_enc_short - jmp .Lxts_enc_loop - -.align 16 -.Lxts_enc_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm1,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_enc_loop - -.Lxts_enc_short: - addq $0x80,%r14 - jz .Lxts_enc_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_enc_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_enc_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_enc_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_enc_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_enc_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_enc_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - movdqu %xmm1,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - movdqu %xmm2,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - movdqu %xmm5,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - movdqu %xmm3,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_enc_done: - andl $15,%ebx - jz .Lxts_enc_ret - movq %r13,%rdx - -.Lxts_enc_steal: - movzbl (%r12),%eax - movzbl -16(%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,-16(%rdx) - movb %cl,0(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_enc_steal - - movdqu -16(%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm6 - movdqu %xmm6,-16(%r13) - -.Lxts_enc_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_encrypt,.-bsaes_xts_encrypt - -.globl bsaes_xts_decrypt -.type bsaes_xts_decrypt,@function -.align 16 -bsaes_xts_decrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - xorl %eax,%eax - andq $-16,%r14 - testl $15,%ebx - setnz %al - shlq $4,%rax - subq %rax,%r14 - - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_dec_short - jmp .Lxts_dec_loop - -.align 16 -.Lxts_dec_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_dec_loop - -.Lxts_dec_short: - addq $0x80,%r14 - jz .Lxts_dec_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_dec_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_dec_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_dec_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_dec_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_dec_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_dec_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_dec_done: - andl $15,%ebx - jz .Lxts_dec_ret - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - movdqa %xmm6,%xmm5 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - movdqu (%r12),%xmm15 - pxor %xmm13,%xmm6 - - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm6 - movq %r13,%rdx - movdqu %xmm6,(%r13) - -.Lxts_dec_steal: - movzbl 16(%r12),%eax - movzbl (%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,(%rdx) - movb %cl,16(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_dec_steal - - movdqu (%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm5,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm5 - movdqu %xmm5,(%r13) - -.Lxts_dec_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_decrypt,.-bsaes_xts_decrypt -.type _bsaes_const,@object -.align 64 -_bsaes_const: -.LM0ISR: -.quad 0x0a0e0206070b0f03, 0x0004080c0d010509 -.LISRM0: -.quad 0x01040b0e0205080f, 0x0306090c00070a0d -.LISR: -.quad 0x0504070602010003, 0x0f0e0d0c080b0a09 -.LBS0: -.quad 0x5555555555555555, 0x5555555555555555 -.LBS1: -.quad 0x3333333333333333, 0x3333333333333333 -.LBS2: -.quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f -.LSR: -.quad 0x0504070600030201, 0x0f0e0d0c0a09080b -.LSRM0: -.quad 0x0304090e00050a0f, 0x01060b0c0207080d -.LM0SR: -.quad 0x0a0e02060f03070b, 0x0004080c05090d01 -.LSWPUP: -.quad 0x0706050403020100, 0x0c0d0e0f0b0a0908 -.LSWPUPM0SR: -.quad 0x0a0d02060c03070b, 0x0004080f05090e01 -.LADD1: -.quad 0x0000000000000000, 0x0000000100000000 -.LADD2: -.quad 0x0000000000000000, 0x0000000200000000 -.LADD3: -.quad 0x0000000000000000, 0x0000000300000000 -.LADD4: -.quad 0x0000000000000000, 0x0000000400000000 -.LADD5: -.quad 0x0000000000000000, 0x0000000500000000 -.LADD6: -.quad 0x0000000000000000, 0x0000000600000000 -.LADD7: -.quad 0x0000000000000000, 0x0000000700000000 -.LADD8: -.quad 0x0000000000000000, 0x0000000800000000 -.Lxts_magic: -.long 0x87,0,1,0 -.Lmasks: -.quad 0x0101010101010101, 0x0101010101010101 -.quad 0x0202020202020202, 0x0202020202020202 -.quad 0x0404040404040404, 0x0404040404040404 -.quad 0x0808080808080808, 0x0808080808080808 -.LM0: -.quad 0x02060a0e03070b0f, 0x0004080c0105090d -.L63: -.quad 0x6363636363636363, 0x6363636363636363 -.byte 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44,32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32,65,110,100,121,32,80,111,108,121,97,107,111,118,0 -.align 64 -.size _bsaes_const,.-_bsaes_const diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/bn/rsaz-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/bn/rsaz-x86_64.s index f8e4a805887366..7876e0b8f93d9c 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/bn/rsaz-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/bn/rsaz-x86_64.s @@ -29,7 +29,7 @@ rsaz_512_sqr: subq $128+24,%rsp .cfi_adjust_cfa_offset 128+24 .Lsqr_body: - movq %rdx,%rbp +.byte 102,72,15,110,202 movq (%rsi),%rdx movq 8(%rsi),%rax movq %rcx,128(%rsp) @@ -44,6 +44,7 @@ rsaz_512_sqr: movl %r8d,128+8(%rsp) movq %rdx,%rbx + movq %rax,%rbp mulq %rdx movq %rax,%r8 movq 16(%rsi),%rax @@ -82,31 +83,29 @@ rsaz_512_sqr: mulq %rbx addq %rax,%r14 movq %rbx,%rax - movq %rdx,%r15 - adcq $0,%r15 + adcq $0,%rdx + xorq %rcx,%rcx addq %r8,%r8 - movq %r9,%rcx - adcq %r9,%r9 + movq %rdx,%r15 + adcq $0,%rcx mulq %rax - movq %rax,(%rsp) - addq %rdx,%r8 - adcq $0,%r9 + addq %r8,%rdx + adcq $0,%rcx - movq %r8,8(%rsp) - shrq $63,%rcx + movq %rax,(%rsp) + movq %rdx,8(%rsp) - movq 8(%rsi),%r8 movq 16(%rsi),%rax - mulq %r8 + mulq %rbp addq %rax,%r10 movq 24(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r11 movq 32(%rsi),%rax adcq $0,%rdx @@ -114,7 +113,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r12 movq 40(%rsi),%rax adcq $0,%rdx @@ -122,7 +121,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r13 movq 48(%rsi),%rax adcq $0,%rdx @@ -130,7 +129,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r14 movq 56(%rsi),%rax adcq $0,%rdx @@ -138,39 +137,39 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r15 - movq %r8,%rax + movq %rbp,%rax adcq $0,%rdx addq %rbx,%r15 - movq %rdx,%r8 - movq %r10,%rdx - adcq $0,%r8 + adcq $0,%rdx - addq %rdx,%rdx - leaq (%rcx,%r10,2),%r10 - movq %r11,%rbx - adcq %r11,%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r8 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax + movq 16(%rsi),%rbp addq %rax,%r9 + movq 24(%rsi),%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,16(%rsp) movq %r10,24(%rsp) - shrq $63,%rbx - movq 16(%rsi),%r9 - movq 24(%rsi),%rax - mulq %r9 + mulq %rbp addq %rax,%r12 movq 32(%rsi),%rax movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r13 movq 40(%rsi),%rax adcq $0,%rdx @@ -178,7 +177,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r14 movq 48(%rsi),%rax adcq $0,%rdx @@ -186,9 +185,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - movq %r12,%r10 - leaq (%rbx,%r12,2),%r12 + mulq %rbp addq %rax,%r15 movq 56(%rsi),%rax adcq $0,%rdx @@ -196,36 +193,40 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - shrq $63,%r10 + mulq %rbp addq %rax,%r8 - movq %r9,%rax + movq %rbp,%rax adcq $0,%rdx addq %rcx,%r8 - movq %rdx,%r9 - adcq $0,%r9 + adcq $0,%rdx - movq %r13,%rcx - leaq (%r10,%r13,2),%r13 + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r9 + adcq %r12,%r12 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax + movq 24(%rsi),%r10 addq %rax,%r11 + movq 32(%rsi),%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,32(%rsp) movq %r12,40(%rsp) - shrq $63,%rcx - movq 24(%rsi),%r10 - movq 32(%rsi),%rax + movq %rax,%r11 mulq %r10 addq %rax,%r14 movq 40(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx + movq %rax,%r12 mulq %r10 addq %rax,%r15 movq 48(%rsi),%rax @@ -234,9 +235,8 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx + movq %rax,%rbp mulq %r10 - movq %r14,%r12 - leaq (%rcx,%r14,2),%r14 addq %rax,%r8 movq 56(%rsi),%rax adcq $0,%rdx @@ -245,32 +245,33 @@ rsaz_512_sqr: adcq $0,%rbx mulq %r10 - shrq $63,%r12 addq %rax,%r9 movq %r10,%rax adcq $0,%rdx addq %rbx,%r9 - movq %rdx,%r10 - adcq $0,%r10 + adcq $0,%rdx - movq %r15,%rbx - leaq (%r12,%r15,2),%r15 + xorq %rbx,%rbx + addq %r13,%r13 + movq %rdx,%r10 + adcq %r14,%r14 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r13 + movq %r12,%rax adcq %rdx,%r14 - adcq $0,%r15 + adcq $0,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) - shrq $63,%rbx - movq 32(%rsi),%r11 - movq 40(%rsi),%rax mulq %r11 addq %rax,%r8 - movq 48(%rsi),%rax + movq %rbp,%rax movq %rdx,%rcx adcq $0,%rcx @@ -278,97 +279,99 @@ rsaz_512_sqr: addq %rax,%r9 movq 56(%rsi),%rax adcq $0,%rdx - movq %r8,%r12 - leaq (%rbx,%r8,2),%r8 addq %rcx,%r9 movq %rdx,%rcx adcq $0,%rcx + movq %rax,%r14 mulq %r11 - shrq $63,%r12 addq %rax,%r10 movq %r11,%rax adcq $0,%rdx addq %rcx,%r10 - movq %rdx,%r11 - adcq $0,%r11 + adcq $0,%rdx - movq %r9,%rcx - leaq (%r12,%r9,2),%r9 + xorq %rcx,%rcx + addq %r15,%r15 + movq %rdx,%r11 + adcq %r8,%r8 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r15 + movq %rbp,%rax adcq %rdx,%r8 - adcq $0,%r9 + adcq $0,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) - shrq $63,%rcx - movq 40(%rsi),%r12 - movq 48(%rsi),%rax mulq %r12 addq %rax,%r10 - movq 56(%rsi),%rax + movq %r14,%rax movq %rdx,%rbx adcq $0,%rbx mulq %r12 addq %rax,%r11 movq %r12,%rax - movq %r10,%r15 - leaq (%rcx,%r10,2),%r10 adcq $0,%rdx - shrq $63,%r15 addq %rbx,%r11 - movq %rdx,%r12 - adcq $0,%r12 + adcq $0,%rdx - movq %r11,%rbx - leaq (%r15,%r11,2),%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r12 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r9 + movq %r14,%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) - movq 48(%rsi),%r13 - movq 56(%rsi),%rax - mulq %r13 + mulq %rbp addq %rax,%r12 - movq %r13,%rax - movq %rdx,%r13 - adcq $0,%r13 + movq %rbp,%rax + adcq $0,%rdx - xorq %r14,%r14 - shlq $1,%rbx + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r13 adcq %r12,%r12 - adcq %r13,%r13 - adcq %r14,%r14 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r11 + movq %r14,%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,96(%rsp) movq %r12,104(%rsp) - movq 56(%rsi),%rax - mulq %rax - addq %rax,%r13 - adcq $0,%rdx + xorq %rbx,%rbx + addq %r13,%r13 + adcq $0,%rbx - addq %rdx,%r14 + mulq %rax - movq %r13,112(%rsp) - movq %r14,120(%rsp) + addq %rcx,%rax + addq %r13,%rax + adcq %rbx,%rdx movq (%rsp),%r8 movq 8(%rsp),%r9 @@ -378,6 +381,10 @@ rsaz_512_sqr: movq 40(%rsp),%r13 movq 48(%rsp),%r14 movq 56(%rsp),%r15 +.byte 102,72,15,126,205 + + movq %rax,112(%rsp) + movq %rdx,120(%rsp) call __rsaz_512_reduce @@ -406,9 +413,9 @@ rsaz_512_sqr: .Loop_sqrx: movl %r8d,128+8(%rsp) .byte 102,72,15,110,199 -.byte 102,72,15,110,205 mulxq %rax,%r8,%r9 + movq %rax,%rbx mulxq 16(%rsi),%rcx,%r10 xorq %rbp,%rbp @@ -416,40 +423,39 @@ rsaz_512_sqr: mulxq 24(%rsi),%rax,%r11 adcxq %rcx,%r9 - mulxq 32(%rsi),%rcx,%r12 +.byte 0xc4,0x62,0xf3,0xf6,0xa6,0x20,0x00,0x00,0x00 adcxq %rax,%r10 - mulxq 40(%rsi),%rax,%r13 +.byte 0xc4,0x62,0xfb,0xf6,0xae,0x28,0x00,0x00,0x00 adcxq %rcx,%r11 -.byte 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 + mulxq 48(%rsi),%rcx,%r14 adcxq %rax,%r12 adcxq %rcx,%r13 -.byte 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rax,%r15 adcxq %rax,%r14 adcxq %rbp,%r15 - movq %r9,%rcx - shldq $1,%r8,%r9 - shlq $1,%r8 - - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx - adcxq %rdx,%r8 - movq 8(%rsi),%rdx - adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi + movq %rbx,%rdx + xorq %rcx,%rcx + adoxq %r8,%r8 + adcxq %rdi,%r8 + adoxq %rbp,%rcx + adcxq %rbp,%rcx movq %rax,(%rsp) movq %r8,8(%rsp) - mulxq 16(%rsi),%rax,%rbx +.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x10,0x00,0x00,0x00 adoxq %rax,%r10 adcxq %rbx,%r11 -.byte 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r8 adoxq %rdi,%r11 +.byte 0x66 adcxq %r8,%r12 mulxq 32(%rsi),%rax,%rbx @@ -467,24 +473,25 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 adoxq %rdi,%r15 adcxq %rbp,%r8 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r8 +.byte 0x48,0x8b,0x96,0x10,0x00,0x00,0x00 - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rcx - movq 16(%rsi),%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rcx,%r10 - adcxq %rbp,%r11 + adoxq %rbp,%rbx + adcxq %rdi,%r10 + adcxq %rbp,%rbx movq %r9,16(%rsp) .byte 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r9 adoxq %rdi,%r12 adcxq %r9,%r13 @@ -492,7 +499,7 @@ rsaz_512_sqr: adoxq %rax,%r13 adcxq %rcx,%r14 - mulxq 40(%rsi),%rdi,%r9 +.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x28,0x00,0x00,0x00 adoxq %rdi,%r14 adcxq %r9,%r15 @@ -500,27 +507,28 @@ rsaz_512_sqr: adoxq %rax,%r15 adcxq %rcx,%r8 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rdi,%r9 adoxq %rdi,%r8 adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r9 + movq 24(%rsi),%rdx - movq %r13,%rcx - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + xorq %rcx,%rcx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 24(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx movq %r11,32(%rsp) -.byte 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 + movq %r12,40(%rsp) -.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 + mulxq 32(%rsi),%rax,%rbx adoxq %rax,%r14 adcxq %rbx,%r15 @@ -535,25 +543,25 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r10 adoxq %rdi,%r9 adcxq %rbp,%r10 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r10 + movq 32(%rsi),%rdx -.byte 0x66 - movq %r15,%rbx - shldq $1,%r14,%r15 - shldq $1,%rcx,%r14 + xorq %rbx,%rbx + adoxq %r13,%r13 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r14,%r14 adcxq %rax,%r13 - adcxq %rdx,%r14 - movq 32(%rsi),%rdx - adcxq %rbp,%r15 + adoxq %rbp,%rbx + adcxq %rdi,%r14 + adcxq %rbp,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) -.byte 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 + mulxq 40(%rsi),%rdi,%r11 adoxq %rdi,%r8 adcxq %r11,%r9 @@ -564,18 +572,19 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r11 adoxq %rdi,%r10 adcxq %rbp,%r11 + mulxq %rdx,%rax,%rdi + movq 40(%rsi),%rdx adoxq %rbp,%r11 - movq %r9,%rcx - shldq $1,%r8,%r9 - shldq $1,%rbx,%r8 + xorq %rcx,%rcx + adoxq %r15,%r15 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r8,%r8 adcxq %rax,%r15 - adcxq %rdx,%r8 - movq 40(%rsi),%rdx - adcxq %rbp,%r9 + adoxq %rbp,%rcx + adcxq %rdi,%r8 + adcxq %rbp,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) @@ -588,18 +597,19 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 adoxq %rdi,%r11 adcxq %rbp,%r12 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r12 + movq 48(%rsi),%rdx - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rdx,%r10 - movq 48(%rsi),%rdx - adcxq %rbp,%r11 + adcxq %rdi,%r10 + adoxq %rbp,%rbx + adcxq %rbp,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) @@ -609,31 +619,31 @@ rsaz_512_sqr: adoxq %rax,%r12 adoxq %rbp,%r13 - xorq %r14,%r14 - shldq $1,%r13,%r14 - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + mulxq %rdx,%rax,%rdi + xorq %rcx,%rcx + movq 56(%rsi),%rdx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 56(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx .byte 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 .byte 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 mulxq %rdx,%rax,%rdx - adoxq %rax,%r13 - adoxq %rbp,%rdx + xorq %rbx,%rbx + adoxq %r13,%r13 -.byte 0x66 - addq %rdx,%r14 + adcxq %rcx,%rax + adoxq %rbp,%rbx + adcxq %r13,%rax + adcxq %rdx,%rbx - movq %r13,112(%rsp) - movq %r14,120(%rsp) .byte 102,72,15,126,199 .byte 102,72,15,126,205 @@ -647,6 +657,9 @@ rsaz_512_sqr: movq 48(%rsp),%r14 movq 56(%rsp),%r15 + movq %rax,112(%rsp) + movq %rbx,120(%rsp) + call __rsaz_512_reducex addq 64(%rsp),%r8 @@ -1440,6 +1453,7 @@ rsaz_512_mul_by_one: .type __rsaz_512_reduce,@function .align 32 __rsaz_512_reduce: +.cfi_startproc movq %r8,%rbx imulq 128+8(%rsp),%rbx movq 0(%rbp),%rax @@ -1519,10 +1533,12 @@ __rsaz_512_reduce: jne .Lreduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reduce,.-__rsaz_512_reduce .type __rsaz_512_reducex,@function .align 32 __rsaz_512_reducex: +.cfi_startproc imulq %r8,%rdx xorq %rsi,%rsi @@ -1575,10 +1591,12 @@ __rsaz_512_reducex: jne .Lreduction_loopx .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reducex,.-__rsaz_512_reducex .type __rsaz_512_subtract,@function .align 32 __rsaz_512_subtract: +.cfi_startproc movq %r8,(%rdi) movq %r9,8(%rdi) movq %r10,16(%rdi) @@ -1632,10 +1650,12 @@ __rsaz_512_subtract: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_subtract,.-__rsaz_512_subtract .type __rsaz_512_mul,@function .align 32 __rsaz_512_mul: +.cfi_startproc leaq 8(%rsp),%rdi movq (%rsi),%rax @@ -1774,10 +1794,12 @@ __rsaz_512_mul: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mul,.-__rsaz_512_mul .type __rsaz_512_mulx,@function .align 32 __rsaz_512_mulx: +.cfi_startproc mulxq (%rsi),%rbx,%r8 movq $-6,%rcx @@ -1894,11 +1916,13 @@ __rsaz_512_mulx: movq %r15,8+64+56(%rsp) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mulx,.-__rsaz_512_mulx .globl rsaz_512_scatter4 .type rsaz_512_scatter4,@function .align 16 rsaz_512_scatter4: +.cfi_startproc leaq (%rdi,%rdx,8),%rdi movl $8,%r9d jmp .Loop_scatter @@ -1911,12 +1935,14 @@ rsaz_512_scatter4: decl %r9d jnz .Loop_scatter .byte 0xf3,0xc3 +.cfi_endproc .size rsaz_512_scatter4,.-rsaz_512_scatter4 .globl rsaz_512_gather4 .type rsaz_512_gather4,@function .align 16 rsaz_512_gather4: +.cfi_startproc movd %edx,%xmm8 movdqa .Linc+16(%rip),%xmm1 movdqa .Linc(%rip),%xmm0 @@ -1980,6 +2006,7 @@ rsaz_512_gather4: jnz .Loop_gather .byte 0xf3,0xc3 .LSEH_end_rsaz_512_gather4: +.cfi_endproc .size rsaz_512_gather4,.-rsaz_512_gather4 .align 64 diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/bn/x86_64-mont5.s b/deps/openssl/config/archs/linux-x32/asm/crypto/bn/x86_64-mont5.s index df4b6610a02a47..40a60a3c8fc6b9 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/bn/x86_64-mont5.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/bn/x86_64-mont5.s @@ -550,6 +550,7 @@ bn_mul4x_mont_gather5: .type mul4x_internal,@function .align 32 mul4x_internal: +.cfi_startproc shlq $5,%r9 movd 8(%rax),%xmm5 leaq .Linc(%rip),%rax @@ -1071,6 +1072,7 @@ mul4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqr4x_sub_entry +.cfi_endproc .size mul4x_internal,.-mul4x_internal .globl bn_power5 .type bn_power5,@function @@ -1213,6 +1215,7 @@ bn_power5: .align 32 bn_sqr8x_internal: __bn_sqr8x_internal: +.cfi_startproc @@ -1987,10 +1990,12 @@ __bn_sqr8x_reduction: cmpq %rdx,%rdi jb .L8x_reduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size bn_sqr8x_internal,.-bn_sqr8x_internal .type __bn_post4x_internal,@function .align 32 __bn_post4x_internal: +.cfi_startproc movq 0(%rbp),%r12 leaq (%rdi,%r9,1),%rbx movq %r9,%rcx @@ -2041,15 +2046,18 @@ __bn_post4x_internal: movq %r9,%r10 negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_post4x_internal,.-__bn_post4x_internal .globl bn_from_montgomery .type bn_from_montgomery,@function .align 32 bn_from_montgomery: +.cfi_startproc testl $7,%r9d jz bn_from_mont8x xorl %eax,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_from_montgomery,.-bn_from_montgomery .type bn_from_mont8x,@function @@ -2333,6 +2341,7 @@ bn_mulx4x_mont_gather5: .type mulx4x_internal,@function .align 32 mulx4x_internal: +.cfi_startproc movq %r9,8(%rsp) movq %r9,%r10 negq %r9 @@ -2751,6 +2760,7 @@ mulx4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqrx4x_sub_entry +.cfi_endproc .size mulx4x_internal,.-mulx4x_internal .type bn_powerx5,@function .align 32 @@ -3509,6 +3519,7 @@ __bn_sqrx8x_reduction: .size bn_sqrx8x_internal,.-bn_sqrx8x_internal .align 32 __bn_postx4x_internal: +.cfi_startproc movq 0(%rbp),%r12 movq %rcx,%r10 movq %rcx,%r9 @@ -3556,11 +3567,13 @@ __bn_postx4x_internal: negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_postx4x_internal,.-__bn_postx4x_internal .globl bn_get_bits5 .type bn_get_bits5,@function .align 16 bn_get_bits5: +.cfi_startproc leaq 0(%rdi),%r10 leaq 1(%rdi),%r11 movl %esi,%ecx @@ -3574,12 +3587,14 @@ bn_get_bits5: shrl %cl,%eax andl $31,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_get_bits5,.-bn_get_bits5 .globl bn_scatter5 .type bn_scatter5,@function .align 16 bn_scatter5: +.cfi_startproc cmpl $0,%esi jz .Lscatter_epilogue leaq (%rdx,%rcx,8),%rdx @@ -3592,6 +3607,7 @@ bn_scatter5: jnz .Lscatter .Lscatter_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_scatter5,.-bn_scatter5 .globl bn_gather5 @@ -3599,6 +3615,7 @@ bn_scatter5: .align 32 bn_gather5: .LSEH_begin_bn_gather5: +.cfi_startproc .byte 0x4c,0x8d,0x14,0x24 .byte 0x48,0x81,0xec,0x08,0x01,0x00,0x00 @@ -3756,6 +3773,7 @@ bn_gather5: leaq (%r10),%rsp .byte 0xf3,0xc3 .LSEH_end_bn_gather5: +.cfi_endproc .size bn_gather5,.-bn_gather5 .align 64 .Linc: diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-x32/asm/crypto/buildinf.h index c9b1f198949916..2dbe97005cf8ad 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-x32" -#define DATE "built on: Fri Sep 13 15:59:43 2019 UTC" +#define DATE "built on: Wed Mar 18 21:06:40 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -37,10 +37,10 @@ static const char compiler_flags[] = { 'M',' ','-','D','S','H','A','5','1','2','_','A','S','M',' ','-', 'D','K','E','C','C','A','K','1','6','0','0','_','A','S','M',' ', '-','D','R','C','4','_','A','S','M',' ','-','D','M','D','5','_', - 'A','S','M',' ','-','D','V','P','A','E','S','_','A','S','M',' ', - '-','D','G','H','A','S','H','_','A','S','M',' ','-','D','E','C', - 'P','_','N','I','S','T','Z','2','5','6','_','A','S','M',' ','-', - 'D','X','2','5','5','1','9','_','A','S','M',' ','-','D','P','O', - 'L','Y','1','3','0','5','_','A','S','M',' ','-','D','N','D','E', - 'B','U','G','\0' + 'A','S','M',' ','-','D','A','E','S','N','I','_','A','S','M',' ', + '-','D','V','P','A','E','S','_','A','S','M',' ','-','D','G','H', + 'A','S','H','_','A','S','M',' ','-','D','E','C','P','_','N','I', + 'S','T','Z','2','5','6','_','A','S','M',' ','-','D','X','2','5', + '5','1','9','_','A','S','M',' ','-','D','P','O','L','Y','1','3', + '0','5','_','A','S','M',' ','-','D','N','D','E','B','U','G','\0' }; diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/camellia/cmll-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/camellia/cmll-x86_64.s index 405566b01cca6f..eeb20dd2291da7 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/camellia/cmll-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/camellia/cmll-x86_64.s @@ -5,11 +5,13 @@ .type Camellia_EncryptBlock,@function .align 16 Camellia_EncryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Lenc_rounds +.cfi_endproc .size Camellia_EncryptBlock,.-Camellia_EncryptBlock .globl Camellia_EncryptBlock_Rounds @@ -83,6 +85,7 @@ Camellia_EncryptBlock_Rounds: .type _x86_64_Camellia_encrypt,@function .align 16 _x86_64_Camellia_encrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -285,6 +288,7 @@ _x86_64_Camellia_encrypt: movl %edx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_encrypt,.-_x86_64_Camellia_encrypt @@ -292,11 +296,13 @@ _x86_64_Camellia_encrypt: .type Camellia_DecryptBlock,@function .align 16 Camellia_DecryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Ldec_rounds +.cfi_endproc .size Camellia_DecryptBlock,.-Camellia_DecryptBlock .globl Camellia_DecryptBlock_Rounds @@ -370,6 +376,7 @@ Camellia_DecryptBlock_Rounds: .type _x86_64_Camellia_decrypt,@function .align 16 _x86_64_Camellia_decrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -573,6 +580,7 @@ _x86_64_Camellia_decrypt: movl %ebx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_decrypt,.-_x86_64_Camellia_decrypt .globl Camellia_Ekeygen .type Camellia_Ekeygen,@function diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/ec/ecp_nistz256-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/ec/ecp_nistz256-x86_64.s index 62b9ac6616ba72..5c9e4050416212 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/ec/ecp_nistz256-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/ec/ecp_nistz256-x86_64.s @@ -3874,10 +3874,12 @@ ecp_nistz256_ord_sqr_montx: .type ecp_nistz256_to_mont,@function .align 32 ecp_nistz256_to_mont: +.cfi_startproc movl $0x80100,%ecx andl OPENSSL_ia32cap_P+8(%rip),%ecx leaq .LRR(%rip),%rdx jmp .Lmul_mont +.cfi_endproc .size ecp_nistz256_to_mont,.-ecp_nistz256_to_mont @@ -4821,6 +4823,7 @@ ecp_nistz256_from_mont: .type ecp_nistz256_scatter_w5,@function .align 32 ecp_nistz256_scatter_w5: +.cfi_startproc leal -3(%rdx,%rdx,2),%edx movdqa 0(%rsi),%xmm0 shll $5,%edx @@ -4837,6 +4840,7 @@ ecp_nistz256_scatter_w5: movdqa %xmm5,80(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w5,.-ecp_nistz256_scatter_w5 @@ -4910,6 +4914,7 @@ ecp_nistz256_gather_w5: .type ecp_nistz256_scatter_w7,@function .align 32 ecp_nistz256_scatter_w7: +.cfi_startproc movdqu 0(%rsi),%xmm0 shll $6,%edx movdqu 16(%rsi),%xmm1 @@ -4921,6 +4926,7 @@ ecp_nistz256_scatter_w7: movdqa %xmm3,48(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w7,.-ecp_nistz256_scatter_w7 @@ -5655,26 +5661,16 @@ ecp_nistz256_point_add: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedq .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedq - testq %r9,%r9 - jz .Ladd_doubleq -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_doneq + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedq -.align 32 .Ladd_doubleq: .byte 102,72,15,126,206 .byte 102,72,15,126,199 @@ -6774,26 +6770,16 @@ ecp_nistz256_point_addx: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedx .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedx - testq %r9,%r9 - jz .Ladd_doublex -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_donex + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedx -.align 32 .Ladd_doublex: .byte 102,72,15,126,206 .byte 102,72,15,126,199 diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/ec/x25519-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/ec/x25519-x86_64.s index 2a18eaee288ce7..1788e568cda5d2 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/ec/x25519-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/ec/x25519-x86_64.s @@ -400,12 +400,14 @@ x25519_fe51_mul121666: .type x25519_fe64_eligible,@function .align 32 x25519_fe64_eligible: +.cfi_startproc movl OPENSSL_ia32cap_P+8(%rip),%ecx xorl %eax,%eax andl $0x80100,%ecx cmpl $0x80100,%ecx cmovel %ecx,%eax .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_eligible,.-x25519_fe64_eligible .globl x25519_fe64_mul @@ -648,6 +650,7 @@ x25519_fe64_sqr: .align 32 x25519_fe64_mul121666: .Lfe64_mul121666_body: +.cfi_startproc movl $121666,%edx mulxq 0(%rsi),%r8,%rcx mulxq 8(%rsi),%r9,%rax @@ -676,6 +679,7 @@ x25519_fe64_mul121666: .Lfe64_mul121666_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_mul121666,.-x25519_fe64_mul121666 .globl x25519_fe64_add @@ -683,6 +687,7 @@ x25519_fe64_mul121666: .align 32 x25519_fe64_add: .Lfe64_add_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -711,6 +716,7 @@ x25519_fe64_add: .Lfe64_add_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_add,.-x25519_fe64_add .globl x25519_fe64_sub @@ -718,6 +724,7 @@ x25519_fe64_add: .align 32 x25519_fe64_sub: .Lfe64_sub_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -746,6 +753,7 @@ x25519_fe64_sub: .Lfe64_sub_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_sub,.-x25519_fe64_sub .globl x25519_fe64_tobytes @@ -753,6 +761,7 @@ x25519_fe64_sub: .align 32 x25519_fe64_tobytes: .Lfe64_to_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -788,5 +797,6 @@ x25519_fe64_tobytes: .Lfe64_to_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_tobytes,.-x25519_fe64_tobytes .byte 88,50,53,53,49,57,32,112,114,105,109,105,116,105,118,101,115,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-x32/asm/crypto/include/internal/bn_conf.h index 0d071bda66fd8e..93f75e2e1512cb 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-x32/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/modes/aesni-gcm-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/modes/aesni-gcm-x86_64.s index 6a7a9577c7142f..01d89630a42f73 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/modes/aesni-gcm-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/modes/aesni-gcm-x86_64.s @@ -3,6 +3,7 @@ .type _aesni_ctr32_ghash_6x,@function .align 32 _aesni_ctr32_ghash_6x: +.cfi_startproc vmovdqu 32(%r11),%xmm2 subq $6,%rdx vpxor %xmm4,%xmm4,%xmm4 @@ -310,6 +311,7 @@ _aesni_ctr32_ghash_6x: vpxor %xmm4,%xmm8,%xmm8 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_ctr32_ghash_6x,.-_aesni_ctr32_ghash_6x .globl aesni_gcm_decrypt .type aesni_gcm_decrypt,@function @@ -416,6 +418,7 @@ aesni_gcm_decrypt: .type _aesni_ctr32_6x,@function .align 32 _aesni_ctr32_6x: +.cfi_startproc vmovdqu 0-128(%rcx),%xmm4 vmovdqu 32(%r11),%xmm2 leaq -1(%rbp),%r13 @@ -502,6 +505,7 @@ _aesni_ctr32_6x: vpshufb %xmm0,%xmm1,%xmm1 vpxor %xmm4,%xmm14,%xmm14 jmp .Loop_ctr32 +.cfi_endproc .size _aesni_ctr32_6x,.-_aesni_ctr32_6x .globl aesni_gcm_encrypt diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/poly1305/poly1305-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/poly1305/poly1305-x86_64.s index 0e08513b6637c9..0cdd406e84740d 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/poly1305/poly1305-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/poly1305/poly1305-x86_64.s @@ -12,6 +12,7 @@ .type poly1305_init,@function .align 32 poly1305_init: +.cfi_startproc xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -47,6 +48,7 @@ poly1305_init: movl $1,%eax .Lno_key: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_init,.-poly1305_init .type poly1305_blocks,@function @@ -167,6 +169,7 @@ poly1305_blocks: .type poly1305_emit,@function .align 32 poly1305_emit: +.cfi_startproc .Lemit: movq 0(%rdi),%r8 movq 8(%rdi),%r9 @@ -187,10 +190,12 @@ poly1305_emit: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit,.-poly1305_emit .type __poly1305_block,@function .align 32 __poly1305_block: +.cfi_startproc mulq %r14 movq %rax,%r9 movq %r11,%rax @@ -230,11 +235,13 @@ __poly1305_block: adcq $0,%rbx adcq $0,%rbp .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_block,.-__poly1305_block .type __poly1305_init_avx,@function .align 32 __poly1305_init_avx: +.cfi_startproc movq %r11,%r14 movq %r12,%rbx xorq %rbp,%rbp @@ -392,6 +399,7 @@ __poly1305_init_avx: leaq -48-64(%rdi),%rdi .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_init_avx,.-__poly1305_init_avx .type poly1305_blocks_avx,@function @@ -1232,6 +1240,7 @@ poly1305_blocks_avx: .type poly1305_emit_avx,@function .align 32 poly1305_emit_avx: +.cfi_startproc cmpl $0,20(%rdi) je .Lemit @@ -1282,6 +1291,7 @@ poly1305_emit_avx: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit_avx,.-poly1305_emit_avx .type poly1305_blocks_avx2,@function .align 32 @@ -2478,6 +2488,7 @@ poly1305_blocks_avx512: .type poly1305_init_base2_44,@function .align 32 poly1305_init_base2_44: +.cfi_startproc xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -2511,10 +2522,12 @@ poly1305_init_base2_44: movl %r11d,4(%rdx) movl $1,%eax .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_init_base2_44,.-poly1305_init_base2_44 .type poly1305_blocks_vpmadd52,@function .align 32 poly1305_blocks_vpmadd52: +.cfi_startproc shrq $4,%rdx jz .Lno_data_vpmadd52 @@ -2621,10 +2634,12 @@ poly1305_blocks_vpmadd52: .Lno_data_vpmadd52: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_blocks_vpmadd52,.-poly1305_blocks_vpmadd52 .type poly1305_blocks_vpmadd52_4x,@function .align 32 poly1305_blocks_vpmadd52_4x: +.cfi_startproc shrq $4,%rdx jz .Lno_data_vpmadd52_4x @@ -3049,10 +3064,12 @@ poly1305_blocks_vpmadd52_4x: .Lno_data_vpmadd52_4x: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_blocks_vpmadd52_4x,.-poly1305_blocks_vpmadd52_4x .type poly1305_blocks_vpmadd52_8x,@function .align 32 poly1305_blocks_vpmadd52_8x: +.cfi_startproc shrq $4,%rdx jz .Lno_data_vpmadd52_8x @@ -3393,10 +3410,12 @@ poly1305_blocks_vpmadd52_8x: .Lno_data_vpmadd52_8x: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_blocks_vpmadd52_8x,.-poly1305_blocks_vpmadd52_8x .type poly1305_emit_base2_44,@function .align 32 poly1305_emit_base2_44: +.cfi_startproc movq 0(%rdi),%r8 movq 8(%rdi),%r9 movq 16(%rdi),%r10 @@ -3427,6 +3446,7 @@ poly1305_emit_base2_44: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit_base2_44,.-poly1305_emit_base2_44 .align 64 .Lconst: @@ -3465,6 +3485,7 @@ poly1305_emit_base2_44: .type xor128_encrypt_n_pad,@function .align 16 xor128_encrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -3506,12 +3527,14 @@ xor128_encrypt_n_pad: .Ldone_enc: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_encrypt_n_pad,.-xor128_encrypt_n_pad .globl xor128_decrypt_n_pad .type xor128_decrypt_n_pad,@function .align 16 xor128_decrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -3557,4 +3580,5 @@ xor128_decrypt_n_pad: .Ldone_dec: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_decrypt_n_pad,.-xor128_decrypt_n_pad diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/rc4/rc4-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/rc4/rc4-x86_64.s index fba70351d48d5c..b97c757550aad0 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/rc4/rc4-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/rc4/rc4-x86_64.s @@ -4,11 +4,12 @@ .globl RC4 .type RC4,@function .align 16 -RC4: orq %rsi,%rsi +RC4: +.cfi_startproc + orq %rsi,%rsi jne .Lentry .byte 0xf3,0xc3 .Lentry: -.cfi_startproc pushq %rbx .cfi_adjust_cfa_offset 8 .cfi_offset %rbx,-16 @@ -533,6 +534,7 @@ RC4: orq %rsi,%rsi .type RC4_set_key,@function .align 16 RC4_set_key: +.cfi_startproc leaq 8(%rdi),%rdi leaq (%rdx,%rsi,1),%rdx negq %rsi @@ -599,12 +601,14 @@ RC4_set_key: movl %eax,-8(%rdi) movl %eax,-4(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size RC4_set_key,.-RC4_set_key .globl RC4_options .type RC4_options,@function .align 16 RC4_options: +.cfi_startproc leaq .Lopts(%rip),%rax movl OPENSSL_ia32cap_P(%rip),%edx btl $20,%edx @@ -617,6 +621,7 @@ RC4_options: addq $12,%rax .Ldone: .byte 0xf3,0xc3 +.cfi_endproc .align 64 .Lopts: .byte 114,99,52,40,56,120,44,105,110,116,41,0 diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/sha/keccak1600-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/sha/keccak1600-x86_64.s index e511f25035b2b8..09617d014bdb7b 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/sha/keccak1600-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/sha/keccak1600-x86_64.s @@ -3,6 +3,7 @@ .type __KeccakF1600,@function .align 32 __KeccakF1600: +.cfi_startproc movq 60(%rdi),%rax movq 68(%rdi),%rbx movq 76(%rdi),%rcx @@ -255,6 +256,7 @@ __KeccakF1600: leaq -192(%r15),%r15 .byte 0xf3,0xc3 +.cfi_endproc .size __KeccakF1600,.-__KeccakF1600 .type KeccakF1600,@function diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/sha/sha1-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/sha/sha1-x86_64.s index e436521a040f66..98541727e555da 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/sha/sha1-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/sha/sha1-x86_64.s @@ -1421,8 +1421,8 @@ _shaext_shortcut: pshufd $27,%xmm1,%xmm1 movdqu %xmm0,(%rdi) movd %xmm1,16(%rdi) -.cfi_endproc .byte 0xf3,0xc3 +.cfi_endproc .size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext .type sha1_block_data_order_ssse3,@function .align 16 diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/sha/sha256-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/sha/sha256-x86_64.s index 42b24df18e5afe..9357385da3c49b 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/sha/sha256-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/sha/sha256-x86_64.s @@ -1775,6 +1775,7 @@ K256: .align 64 sha256_block_data_order_shaext: _shaext_shortcut: +.cfi_startproc leaq K256+128(%rip),%rcx movdqu (%rdi),%xmm1 movdqu 16(%rdi),%xmm2 @@ -1977,6 +1978,7 @@ _shaext_shortcut: movdqu %xmm1,(%rdi) movdqu %xmm2,16(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size sha256_block_data_order_shaext,.-sha256_block_data_order_shaext .type sha256_block_data_order_ssse3,@function .align 64 @@ -4238,7 +4240,15 @@ sha256_block_data_order_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 88(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -64(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%edi vmovdqa %ymm6,0(%rsp) xorl %ecx,%edi @@ -4250,6 +4260,12 @@ sha256_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4505,6 +4521,12 @@ sha256_block_data_order_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -5380,6 +5402,8 @@ sha256_block_data_order_avx2: leaq 448(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08 + addl 0(%rdi),%eax addl 4(%rdi),%ebx addl 8(%rdi),%ecx @@ -5405,9 +5429,11 @@ sha256_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xd8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 88(%rsp),%rsi + movq 88(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/sha/sha512-x86_64.s b/deps/openssl/config/archs/linux-x32/asm/crypto/sha/sha512-x86_64.s index 5931a2a93234d0..939f1ca71c9394 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/sha/sha512-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/sha/sha512-x86_64.s @@ -4165,7 +4165,15 @@ sha512_block_data_order_avx2: vmovdqa %ymm10,64(%rsp) vpaddq 64(%rbp),%ymm6,%ymm10 vmovdqa %ymm11,96(%rsp) + + movq 152(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -128(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpaddq 96(%rbp),%ymm7,%ymm11 vmovdqa %ymm8,0(%rsp) xorq %r14,%r14 @@ -4181,6 +4189,12 @@ sha512_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm0,%ymm1,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -4474,6 +4488,12 @@ sha512_block_data_order_avx2: movq %r9,%r12 vmovdqa %ymm10,96(%rsp) leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm4,%ymm5,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -5387,6 +5407,8 @@ sha512_block_data_order_avx2: leaq 1152(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08 + addq 0(%rdi),%rax addq 8(%rdi),%rbx addq 16(%rdi),%rcx @@ -5412,9 +5434,11 @@ sha512_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0x98,0x01,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 152(%rsp),%rsi + movq 152(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/linux-x32/asm/crypto/x86_64cpuid.s b/deps/openssl/config/archs/linux-x32/asm/crypto/x86_64cpuid.s index fd17eaaba49576..9268ce8c9a9d63 100644 --- a/deps/openssl/config/archs/linux-x32/asm/crypto/x86_64cpuid.s +++ b/deps/openssl/config/archs/linux-x32/asm/crypto/x86_64cpuid.s @@ -12,6 +12,7 @@ .type OPENSSL_atomic_add,@function .align 16 OPENSSL_atomic_add: +.cfi_startproc movl (%rdi),%eax .Lspin: leaq (%rsi,%rax,1),%r8 .byte 0xf0 @@ -20,16 +21,19 @@ OPENSSL_atomic_add: movl %r8d,%eax .byte 0x48,0x98 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_atomic_add,.-OPENSSL_atomic_add .globl OPENSSL_rdtsc .type OPENSSL_rdtsc,@function .align 16 OPENSSL_rdtsc: +.cfi_startproc rdtsc shlq $32,%rdx orq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_rdtsc,.-OPENSSL_rdtsc .globl OPENSSL_ia32_cpuid @@ -205,6 +209,7 @@ OPENSSL_ia32_cpuid: .type OPENSSL_cleanse,@function .align 16 OPENSSL_cleanse: +.cfi_startproc xorq %rax,%rax cmpq $15,%rsi jae .Lot @@ -234,12 +239,14 @@ OPENSSL_cleanse: cmpq $0,%rsi jne .Little .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_cleanse,.-OPENSSL_cleanse .globl CRYPTO_memcmp .type CRYPTO_memcmp,@function .align 16 CRYPTO_memcmp: +.cfi_startproc xorq %rax,%rax xorq %r10,%r10 cmpq $0,%rdx @@ -268,11 +275,13 @@ CRYPTO_memcmp: shrq $63,%rax .Lno_data: .byte 0xf3,0xc3 +.cfi_endproc .size CRYPTO_memcmp,.-CRYPTO_memcmp .globl OPENSSL_wipe_cpu .type OPENSSL_wipe_cpu,@function .align 16 OPENSSL_wipe_cpu: +.cfi_startproc pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 @@ -299,11 +308,13 @@ OPENSSL_wipe_cpu: xorq %r11,%r11 leaq 8(%rsp),%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu .globl OPENSSL_instrument_bus .type OPENSSL_instrument_bus,@function .align 16 OPENSSL_instrument_bus: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rsi,%r11 @@ -330,12 +341,14 @@ OPENSSL_instrument_bus: movq %r11,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus,.-OPENSSL_instrument_bus .globl OPENSSL_instrument_bus2 .type OPENSSL_instrument_bus2,@function .align 16 OPENSSL_instrument_bus2: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rdx,%r11 @@ -378,11 +391,13 @@ OPENSSL_instrument_bus2: movq 8(%rsp),%rax subq %rcx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2 .globl OPENSSL_ia32_rdrand_bytes .type OPENSSL_ia32_rdrand_bytes,@function .align 16 OPENSSL_ia32_rdrand_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdrand_bytes @@ -419,11 +434,13 @@ OPENSSL_ia32_rdrand_bytes: .Ldone_rdrand_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdrand_bytes,.-OPENSSL_ia32_rdrand_bytes .globl OPENSSL_ia32_rdseed_bytes .type OPENSSL_ia32_rdseed_bytes,@function .align 16 OPENSSL_ia32_rdseed_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdseed_bytes @@ -460,4 +477,5 @@ OPENSSL_ia32_rdseed_bytes: .Ldone_rdseed_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdseed_bytes,.-OPENSSL_ia32_rdseed_bytes diff --git a/deps/openssl/config/archs/linux-x32/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-x32/asm/include/openssl/opensslconf.h index 7dda69d359d2ac..992473943e5da4 100644 --- a/deps/openssl/config/archs/linux-x32/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-x32/asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-x32/asm/include/progs.h b/deps/openssl/config/archs/linux-x32/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-x32/asm/include/progs.h +++ b/deps/openssl/config/archs/linux-x32/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-x32/asm/openssl-cl.gypi b/deps/openssl/config/archs/linux-x32/asm/openssl-cl.gypi index 859eb1a3691ebf..8e2deecf8481f7 100644 --- a/deps/openssl/config/archs/linux-x32/asm/openssl-cl.gypi +++ b/deps/openssl/config/archs/linux-x32/asm/openssl-cl.gypi @@ -16,6 +16,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/linux-x32/asm/openssl.gypi b/deps/openssl/config/archs/linux-x32/asm/openssl.gypi index 5faef9c0e48f51..98d69c56a70e8b 100644 --- a/deps/openssl/config/archs/linux-x32/asm/openssl.gypi +++ b/deps/openssl/config/archs/linux-x32/asm/openssl.gypi @@ -723,6 +723,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux-x32/asm_avx2/configdata.pm index c85073cdc5ea14..73d49d831b99b4 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/configdata.pm @@ -49,14 +49,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "AESNI_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)../config/fake_gcc.pl", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -112,8 +112,8 @@ our %config = ( sourcedir => ".", target => "linux-x32", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -241,6 +241,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -358,8 +359,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -627,14 +628,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -710,6 +703,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1507,6 +1508,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3261,7 +3268,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3269,6 +3275,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3767,14 +3774,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4215,6 +4214,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4909,49 +4916,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4961,25 +4960,21 @@ our %unified_info = ( "crypto/aes/aesni-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4997,13 +4992,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -5017,613 +5010,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5637,7 +5528,6 @@ our %unified_info = ( "crypto/bn/asm/x86_64-gcc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5647,182 +5537,152 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5832,19 +5692,16 @@ our %unified_info = ( "crypto/bn/rsaz-avx2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz_exp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5870,31 +5727,26 @@ our %unified_info = ( "crypto/bn/x86_64-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont5.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5904,37 +5756,31 @@ our %unified_info = ( "crypto/camellia/cmll-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5944,31 +5790,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5986,278 +5827,232 @@ our %unified_info = ( "crypto/chacha/chacha-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6267,301 +6062,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6569,7 +6314,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6577,7 +6321,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6585,7 +6328,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6593,7 +6335,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6601,7 +6342,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6609,163 +6349,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6783,241 +6496,201 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7025,21 +6698,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7047,13 +6717,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7061,81 +6729,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7143,328 +6798,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7474,91 +7068,76 @@ our %unified_info = ( "crypto/md5/md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/aesni-gcm-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7577,7 +7156,6 @@ our %unified_info = ( "crypto/modes/ghash-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7587,361 +7165,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7963,265 +7481,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8231,31 +7705,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8265,7 +7734,6 @@ our %unified_info = ( "crypto/sha/keccak1600-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8279,7 +7747,6 @@ our %unified_info = ( "crypto/sha/sha1-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-mips.o" => @@ -8297,19 +7764,16 @@ our %unified_info = ( "crypto/sha/sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8323,7 +7787,6 @@ our %unified_info = ( "crypto/sha/sha256-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-mips.o" => @@ -8341,13 +7804,11 @@ our %unified_info = ( "crypto/sha/sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8373,727 +7834,606 @@ our %unified_info = ( "crypto/sha/sha512-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86_64cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86_64.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9144,6 +8484,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9388,7 +8736,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9714,7 +9061,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9760,7 +9106,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9826,7 +9171,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9851,7 +9195,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9949,7 +9292,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9999,18 +9341,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -10021,6 +9360,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10084,10 +9427,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10116,6 +9455,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10380,6 +9723,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15385,7 +14729,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15393,6 +14736,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15620,6 +14964,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15722,10 +15074,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15754,6 +15102,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aes-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aes-x86_64.s deleted file mode 100644 index f0c1685fb93450..00000000000000 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aes-x86_64.s +++ /dev/null @@ -1,2649 +0,0 @@ -.text -.type _x86_64_AES_encrypt,@function -.align 16 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Lenc_loop -.align 16 -.Lenc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz .Lenc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_encrypt,.-_x86_64_AES_encrypt -.type _x86_64_AES_encrypt_compact,@function -.align 16 -_x86_64_AES_encrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Lenc_loop_compact -.align 16 -.Lenc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Lenc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp .Lenc_loop_compact -.align 16 -.Lenc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact -.globl AES_encrypt -.type AES_encrypt,@function -.align 16 -.globl asm_AES_encrypt -.hidden asm_AES_encrypt -asm_AES_encrypt: -AES_encrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Lenc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lenc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_encrypt,.-AES_encrypt -.type _x86_64_AES_decrypt,@function -.align 16 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Ldec_loop -.align 16 -.Ldec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz .Ldec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_decrypt,.-_x86_64_AES_decrypt -.type _x86_64_AES_decrypt_compact,@function -.align 16 -_x86_64_AES_decrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Ldec_loop_compact - -.align 16 -.Ldec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Ldec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp .Ldec_loop_compact -.align 16 -.Ldec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact -.globl AES_decrypt -.type AES_decrypt,@function -.align 16 -.globl asm_AES_decrypt -.hidden asm_AES_decrypt -asm_AES_decrypt: -AES_decrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Ldec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Ldec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_decrypt,.-AES_decrypt -.globl AES_set_encrypt_key -.type AES_set_encrypt_key,@function -.align 16 -AES_set_encrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $8,%rsp -.cfi_adjust_cfa_offset 8 -.Lenc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Lenc_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_encrypt_key,.-AES_set_encrypt_key - -.type _x86_64_AES_set_encrypt_key,@function -.align 16 -_x86_64_AES_set_encrypt_key: -.cfi_startproc - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz .Lbadpointer - testq $-1,%rdi - jz .Lbadpointer - - leaq .LAES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je .L10rounds - cmpl $192,%ecx - je .L12rounds - cmpl $256,%ecx - je .L14rounds - movq $-2,%rax - jmp .Lexit - -.L10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L10shortcut -.align 4 -.L10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -.L10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl .L10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L12shortcut -.align 4 -.L12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -.L12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je .L12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp .L12loop -.L12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L14shortcut -.align 4 -.L14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -.L14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je .L14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp .L14loop -.L14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp .Lexit - -.Lbadpointer: - movq $-1,%rax -.Lexit: -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key -.globl AES_set_decrypt_key -.type AES_set_decrypt_key,@function -.align 16 -AES_set_decrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - pushq %rdx -.cfi_adjust_cfa_offset 8 -.Ldec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne .Labort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.align 4 -.Linvert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne .Linvert - - leaq .LAES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.align 4 -.Lpermute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz .Lpermute - - xorq %rax,%rax -.Labort: - movq 8(%rsp),%r15 -.cfi_restore %r15 - movq 16(%rsp),%r14 -.cfi_restore %r14 - movq 24(%rsp),%r13 -.cfi_restore %r13 - movq 32(%rsp),%r12 -.cfi_restore %r12 - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Ldec_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_decrypt_key,.-AES_set_decrypt_key -.globl AES_cbc_encrypt -.type AES_cbc_encrypt,@function -.align 16 - -.globl asm_AES_cbc_encrypt -.hidden asm_AES_cbc_encrypt -asm_AES_cbc_encrypt: -AES_cbc_encrypt: -.cfi_startproc - cmpq $0,%rdx - je .Lcbc_epilogue - pushfq - - -.cfi_adjust_cfa_offset 8 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-32 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-40 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-48 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-56 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-64 -.Lcbc_prologue: - - cld - movl %r9d,%r9d - - leaq .LAES_Te(%rip),%r14 - leaq .LAES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - -.cfi_remember_state - movl OPENSSL_ia32cap_P(%rip),%r10d - cmpq $512,%rdx - jb .Lcbc_slow_prologue - testq $15,%rdx - jnz .Lcbc_slow_prologue - btl $28,%r10d - jc .Lcbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb .Lcbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp .Lcbc_te_ok -.Lcbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.align 4 -.Lcbc_te_ok: - - xchgq %rsp,%r15 -.cfi_def_cfa_register %r15 - - movq %r15,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb .Lcbc_do_ecopy - cmpq $4096-248,%r10 - jb .Lcbc_skip_ecopy -.align 4 -.Lcbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -.Lcbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.align 4 -.Lcbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz .Lcbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je .LFAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.align 4 -.Lcbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz .Lcbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_fast_cleanup - - -.align 16 -.LFAST_DECRYPT: - cmpq %r8,%r9 - je .Lcbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.align 4 -.Lcbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz .Lcbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp .Lcbc_fast_cleanup - -.align 16 -.Lcbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.align 4 -.Lcbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz .Lcbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp .Lcbc_fast_dec_in_place_loop -.Lcbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.align 4 -.Lcbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je .Lcbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp .Lcbc_exit - - -.align 16 -.Lcbc_slow_prologue: -.cfi_restore_state - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp -.cfi_def_cfa_register %rbp - - movq %rbp,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je .LSLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz .Lcbc_slow_enc_tail - -.align 4 -.Lcbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz .Lcbc_slow_enc_loop - testq $15,%r10 - jnz .Lcbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp .Lcbc_slow_enc_loop - -.align 16 -.LSLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.align 4 -.Lcbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc .Lcbc_slow_dec_partial - jz .Lcbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp .Lcbc_slow_dec_loop -.Lcbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp .Lcbc_exit - -.align 16 -.Lcbc_exit: - movq 16(%rsp),%rsi -.cfi_def_cfa %rsi,64 - movq (%rsi),%r15 -.cfi_restore %r15 - movq 8(%rsi),%r14 -.cfi_restore %r14 - movq 16(%rsi),%r13 -.cfi_restore %r13 - movq 24(%rsi),%r12 -.cfi_restore %r12 - movq 32(%rsi),%rbp -.cfi_restore %rbp - movq 40(%rsi),%rbx -.cfi_restore %rbx - leaq 48(%rsi),%rsp -.cfi_def_cfa %rsp,16 -.Lcbc_popfq: - popfq - - -.cfi_adjust_cfa_offset -8 -.Lcbc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_cbc_encrypt,.-AES_cbc_encrypt -.align 64 -.LAES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.align 64 -.LAES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aesni-sha1-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aesni-sha1-x86_64.s index 4d2dfe44898fd5..978bd2b6239c15 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aesni-sha1-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha1_enc,@function .align 32 aesni_cbc_sha1_enc: +.cfi_startproc movl OPENSSL_ia32cap_P+0(%rip),%r10d movq OPENSSL_ia32cap_P+4(%rip),%r11 @@ -17,6 +18,7 @@ aesni_cbc_sha1_enc: je aesni_cbc_sha1_enc_avx jmp aesni_cbc_sha1_enc_ssse3 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc .type aesni_cbc_sha1_enc_ssse3,@function .align 32 @@ -2730,6 +2732,7 @@ K_XX_XX: .type aesni_cbc_sha1_enc_shaext,@function .align 32 aesni_cbc_sha1_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 movdqu (%r9),%xmm8 movd 16(%r9),%xmm9 @@ -3028,4 +3031,5 @@ aesni_cbc_sha1_enc_shaext: movdqu %xmm8,(%r9) movd %xmm9,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aesni-sha256-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aesni-sha256-x86_64.s index 5a47b3ee51b741..dd09f1b290af62 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aesni-sha256-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aesni-sha256-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha256_enc,@function .align 16 aesni_cbc_sha256_enc: +.cfi_startproc leaq OPENSSL_ia32cap_P(%rip),%r11 movl $1,%eax cmpq $0,%rdi @@ -30,6 +31,7 @@ aesni_cbc_sha256_enc: ud2 .Lprobe: .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc,.-aesni_cbc_sha256_enc .align 64 @@ -2528,7 +2530,15 @@ aesni_cbc_sha256_enc_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 120(%rsp),%rsi +.cfi_def_cfa %rsi,8 leaq -64(%rsp),%rsp + + + + movq %rsi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%esi vmovdqa %ymm6,0(%rsp) xorl %ecx,%esi @@ -2542,6 +2552,12 @@ aesni_cbc_sha256_enc_avx2: vmovdqu (%r13),%xmm9 vpinsrq $0,%r13,%xmm15,%xmm15 leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -2816,6 +2832,12 @@ aesni_cbc_sha256_enc_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4029,10 +4051,12 @@ aesni_cbc_sha256_enc_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xf8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 64+32(%rsp),%r8 - movq 120(%rsp),%rsi + movq 64+32(%rbp),%r8 + movq 64+56(%rbp),%rsi .cfi_def_cfa %rsi,8 vmovdqu %xmm8,(%r8) vzeroall @@ -4057,6 +4081,7 @@ aesni_cbc_sha256_enc_avx2: .type aesni_cbc_sha256_enc_shaext,@function .align 32 aesni_cbc_sha256_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 leaq K256+128(%rip),%rax movdqu (%r9),%xmm1 @@ -4406,4 +4431,5 @@ aesni_cbc_sha256_enc_shaext: movdqu %xmm1,(%r9) movdqu %xmm2,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc_shaext,.-aesni_cbc_sha256_enc_shaext diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aesni-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aesni-x86_64.s index 2986a647c1bb05..c1e791eff59235 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aesni-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/aesni-x86_64.s @@ -861,6 +861,7 @@ aesni_ecb_encrypt: .type aesni_ccm64_encrypt_blocks,@function .align 16 aesni_ccm64_encrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movdqu (%r8),%xmm6 movdqa .Lincrement64(%rip),%xmm9 @@ -919,11 +920,13 @@ aesni_ccm64_encrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks .globl aesni_ccm64_decrypt_blocks .type aesni_ccm64_decrypt_blocks,@function .align 16 aesni_ccm64_decrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movups (%r8),%xmm6 movdqu (%r9),%xmm3 @@ -1016,6 +1019,7 @@ aesni_ccm64_decrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks .globl aesni_ctr32_encrypt_blocks .type aesni_ctr32_encrypt_blocks,@function @@ -2790,6 +2794,7 @@ aesni_ocb_encrypt: .type __ocb_encrypt6,@function .align 32 __ocb_encrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2887,11 +2892,13 @@ __ocb_encrypt6: .byte 102,65,15,56,221,246 .byte 102,65,15,56,221,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt6,.-__ocb_encrypt6 .type __ocb_encrypt4,@function .align 32 __ocb_encrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2956,11 +2963,13 @@ __ocb_encrypt4: .byte 102,65,15,56,221,228 .byte 102,65,15,56,221,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt4,.-__ocb_encrypt4 .type __ocb_encrypt1,@function .align 32 __ocb_encrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm2,%xmm8 @@ -2991,6 +3000,7 @@ __ocb_encrypt1: .byte 102,15,56,221,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt1,.-__ocb_encrypt1 .globl aesni_ocb_decrypt @@ -3233,6 +3243,7 @@ aesni_ocb_decrypt: .type __ocb_decrypt6,@function .align 32 __ocb_decrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3324,11 +3335,13 @@ __ocb_decrypt6: .byte 102,65,15,56,223,246 .byte 102,65,15,56,223,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt6,.-__ocb_decrypt6 .type __ocb_decrypt4,@function .align 32 __ocb_decrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3389,11 +3402,13 @@ __ocb_decrypt4: .byte 102,65,15,56,223,228 .byte 102,65,15,56,223,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt4,.-__ocb_decrypt4 .type __ocb_decrypt1,@function .align 32 __ocb_decrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm7,%xmm2 @@ -3423,6 +3438,7 @@ __ocb_decrypt1: .byte 102,15,56,223,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt1,.-__ocb_decrypt1 .globl aesni_cbc_encrypt .type aesni_cbc_encrypt,@function @@ -4361,7 +4377,6 @@ __aesni_set_encrypt_key: addq $8,%rsp .cfi_adjust_cfa_offset -8 .byte 0xf3,0xc3 -.cfi_endproc .LSEH_end_set_encrypt_key: .align 16 @@ -4432,6 +4447,7 @@ __aesni_set_encrypt_key: shufps $170,%xmm1,%xmm1 xorps %xmm1,%xmm2 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_set_encrypt_key,.-aesni_set_encrypt_key .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key .align 64 diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/bsaes-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/bsaes-x86_64.s deleted file mode 100644 index e1f3abadbc7214..00000000000000 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/aes/bsaes-x86_64.s +++ /dev/null @@ -1,2595 +0,0 @@ -.text - - - - -.type _bsaes_encrypt8,@function -.align 64 -_bsaes_encrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa 80(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 -_bsaes_encrypt8_bitslice: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Lenc_sbox -.align 16 -.Lenc_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Lenc_sbox: - pxor %xmm5,%xmm4 - pxor %xmm0,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm1,%xmm5 - pxor %xmm15,%xmm4 - - pxor %xmm2,%xmm5 - pxor %xmm6,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm3,%xmm2 - pxor %xmm4,%xmm3 - pxor %xmm0,%xmm2 - - pxor %xmm6,%xmm1 - pxor %xmm4,%xmm0 - movdqa %xmm6,%xmm10 - movdqa %xmm0,%xmm9 - movdqa %xmm4,%xmm8 - movdqa %xmm1,%xmm12 - movdqa %xmm5,%xmm11 - - pxor %xmm3,%xmm10 - pxor %xmm1,%xmm9 - pxor %xmm2,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm3,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm15,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm2,%xmm11 - pxor %xmm15,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm6,%xmm12 - movdqa %xmm4,%xmm11 - pxor %xmm0,%xmm12 - pxor %xmm5,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm1,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm3,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm0,%xmm13 - pand %xmm2,%xmm11 - movdqa %xmm6,%xmm14 - pand %xmm15,%xmm12 - pand %xmm4,%xmm13 - por %xmm5,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm5,%xmm11 - movdqa %xmm4,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm5,%xmm9 - pxor %xmm4,%xmm5 - pand %xmm14,%xmm4 - pand %xmm13,%xmm5 - pxor %xmm4,%xmm5 - pxor %xmm9,%xmm4 - pxor %xmm15,%xmm11 - pxor %xmm2,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm2,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm2 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm2,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm2 - pxor %xmm11,%xmm5 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm2 - - movdqa %xmm6,%xmm11 - movdqa %xmm0,%xmm7 - pxor %xmm3,%xmm11 - pxor %xmm1,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm3,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm1,%xmm3 - pand %xmm14,%xmm7 - pand %xmm12,%xmm1 - pand %xmm13,%xmm11 - pand %xmm8,%xmm3 - pxor %xmm11,%xmm7 - pxor %xmm1,%xmm3 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm1 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm6,%xmm10 - pxor %xmm0,%xmm6 - pand %xmm14,%xmm0 - pand %xmm13,%xmm6 - pxor %xmm0,%xmm6 - pxor %xmm10,%xmm0 - pxor %xmm11,%xmm6 - pxor %xmm11,%xmm3 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm1 - pxor %xmm15,%xmm6 - pxor %xmm5,%xmm0 - pxor %xmm6,%xmm3 - pxor %xmm15,%xmm5 - pxor %xmm0,%xmm15 - - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm4 - pxor %xmm2,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm4,%xmm3 - - pxor %xmm2,%xmm5 - decl %r10d - jl .Lenc_done - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm3,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm5,%xmm10 - pxor %xmm9,%xmm3 - pshufd $0x93,%xmm2,%xmm11 - pxor %xmm10,%xmm5 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm2 - pshufd $0x93,%xmm1,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm1 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm2,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm5,%xmm11 - pshufd $0x4E,%xmm2,%xmm7 - pxor %xmm1,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm3,%xmm10 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm1,%xmm5 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm12,%xmm8 - pxor %xmm10,%xmm2 - pxor %xmm14,%xmm6 - pxor %xmm13,%xmm5 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm1 - movdqa %xmm8,%xmm4 - movdqa 48(%r11),%xmm7 - jnz .Lenc_loop - movdqa 64(%r11),%xmm7 - jmp .Lenc_loop -.align 16 -.Lenc_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm2,%xmm10 - psrlq $1,%xmm2 - pxor %xmm4,%xmm1 - pxor %xmm6,%xmm2 - pand %xmm7,%xmm1 - pand %xmm7,%xmm2 - pxor %xmm1,%xmm4 - psllq $1,%xmm1 - pxor %xmm2,%xmm6 - psllq $1,%xmm2 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm2 - movdqa %xmm3,%xmm9 - psrlq $1,%xmm3 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm5,%xmm3 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm3 - pand %xmm7,%xmm15 - pxor %xmm3,%xmm5 - psllq $1,%xmm3 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm2,%xmm10 - psrlq $2,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm1,%xmm2 - pand %xmm8,%xmm6 - pand %xmm8,%xmm2 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm2,%xmm1 - psllq $2,%xmm2 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm2 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm5,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm5 - psllq $2,%xmm0 - pxor %xmm15,%xmm3 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm5,%xmm9 - psrlq $4,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $4,%xmm3 - pxor %xmm4,%xmm5 - pxor %xmm1,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm4 - psllq $4,%xmm5 - pxor %xmm3,%xmm1 - psllq $4,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm2,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm2 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_encrypt8,.-_bsaes_encrypt8 - -.type _bsaes_decrypt8,@function -.align 64 -_bsaes_decrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa -48(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Ldec_sbox -.align 16 -.Ldec_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Ldec_sbox: - pxor %xmm3,%xmm2 - - pxor %xmm6,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm3,%xmm5 - pxor %xmm5,%xmm6 - pxor %xmm6,%xmm0 - - pxor %xmm0,%xmm15 - pxor %xmm4,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm15,%xmm4 - pxor %xmm2,%xmm0 - movdqa %xmm2,%xmm10 - movdqa %xmm6,%xmm9 - movdqa %xmm0,%xmm8 - movdqa %xmm3,%xmm12 - movdqa %xmm4,%xmm11 - - pxor %xmm15,%xmm10 - pxor %xmm3,%xmm9 - pxor %xmm5,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm15,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm1,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm5,%xmm11 - pxor %xmm1,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm2,%xmm12 - movdqa %xmm0,%xmm11 - pxor %xmm6,%xmm12 - pxor %xmm4,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm3,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm15,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm6,%xmm13 - pand %xmm5,%xmm11 - movdqa %xmm2,%xmm14 - pand %xmm1,%xmm12 - pand %xmm0,%xmm13 - por %xmm4,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm4,%xmm11 - movdqa %xmm0,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm4,%xmm9 - pxor %xmm0,%xmm4 - pand %xmm14,%xmm0 - pand %xmm13,%xmm4 - pxor %xmm0,%xmm4 - pxor %xmm9,%xmm0 - pxor %xmm1,%xmm11 - pxor %xmm5,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm1,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm5,%xmm1 - pand %xmm14,%xmm7 - pand %xmm12,%xmm5 - pand %xmm13,%xmm11 - pand %xmm8,%xmm1 - pxor %xmm11,%xmm7 - pxor %xmm5,%xmm1 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm5 - pxor %xmm11,%xmm4 - pxor %xmm11,%xmm1 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm5 - - movdqa %xmm2,%xmm11 - movdqa %xmm6,%xmm7 - pxor %xmm15,%xmm11 - pxor %xmm3,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm3,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm3 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm3,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm3 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm2,%xmm10 - pxor %xmm6,%xmm2 - pand %xmm14,%xmm6 - pand %xmm13,%xmm2 - pxor %xmm6,%xmm2 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm3 - pxor %xmm6,%xmm0 - pxor %xmm4,%xmm5 - - pxor %xmm0,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm6,%xmm4 - pxor %xmm1,%xmm3 - pxor %xmm15,%xmm6 - pxor %xmm4,%xmm3 - pxor %xmm5,%xmm2 - pxor %xmm0,%xmm5 - pxor %xmm3,%xmm2 - - pxor %xmm15,%xmm3 - pxor %xmm2,%xmm6 - decl %r10d - jl .Ldec_done - - pshufd $0x4E,%xmm15,%xmm7 - pshufd $0x4E,%xmm2,%xmm13 - pxor %xmm15,%xmm7 - pshufd $0x4E,%xmm4,%xmm14 - pxor %xmm2,%xmm13 - pshufd $0x4E,%xmm0,%xmm8 - pxor %xmm4,%xmm14 - pshufd $0x4E,%xmm5,%xmm9 - pxor %xmm0,%xmm8 - pshufd $0x4E,%xmm3,%xmm10 - pxor %xmm5,%xmm9 - pxor %xmm13,%xmm15 - pxor %xmm13,%xmm0 - pshufd $0x4E,%xmm1,%xmm11 - pxor %xmm3,%xmm10 - pxor %xmm7,%xmm5 - pxor %xmm8,%xmm3 - pshufd $0x4E,%xmm6,%xmm12 - pxor %xmm1,%xmm11 - pxor %xmm14,%xmm0 - pxor %xmm9,%xmm1 - pxor %xmm6,%xmm12 - - pxor %xmm14,%xmm5 - pxor %xmm13,%xmm3 - pxor %xmm13,%xmm1 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm14,%xmm1 - pxor %xmm14,%xmm6 - pxor %xmm12,%xmm4 - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm5,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm3,%xmm10 - pxor %xmm9,%xmm5 - pshufd $0x93,%xmm1,%xmm11 - pxor %xmm10,%xmm3 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm1 - pshufd $0x93,%xmm2,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm2 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm1,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm3,%xmm11 - pshufd $0x4E,%xmm1,%xmm7 - pxor %xmm2,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm5,%xmm10 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm2,%xmm3 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm12,%xmm8 - pxor %xmm1,%xmm10 - pxor %xmm14,%xmm6 - pxor %xmm3,%xmm13 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm2 - movdqa %xmm13,%xmm5 - movdqa %xmm8,%xmm4 - movdqa %xmm2,%xmm1 - movdqa %xmm10,%xmm2 - movdqa -16(%r11),%xmm7 - jnz .Ldec_loop - movdqa -32(%r11),%xmm7 - jmp .Ldec_loop -.align 16 -.Ldec_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm2,%xmm9 - psrlq $1,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $1,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm6,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm4 - psllq $1,%xmm2 - pxor %xmm1,%xmm6 - psllq $1,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm3,%xmm5 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm5 - pand %xmm7,%xmm15 - pxor %xmm5,%xmm3 - psllq $1,%xmm5 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm1,%xmm10 - psrlq $2,%xmm1 - pxor %xmm4,%xmm6 - pxor %xmm2,%xmm1 - pand %xmm8,%xmm6 - pand %xmm8,%xmm1 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm1,%xmm2 - psllq $2,%xmm1 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm3,%xmm0 - pxor %xmm5,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm3 - psllq $2,%xmm0 - pxor %xmm15,%xmm5 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm3,%xmm9 - psrlq $4,%xmm3 - movdqa %xmm5,%xmm10 - psrlq $4,%xmm5 - pxor %xmm4,%xmm3 - pxor %xmm2,%xmm5 - pand %xmm7,%xmm3 - pand %xmm7,%xmm5 - pxor %xmm3,%xmm4 - psllq $4,%xmm3 - pxor %xmm5,%xmm2 - psllq $4,%xmm5 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm5 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm1 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_decrypt8,.-_bsaes_decrypt8 -.type _bsaes_key_convert,@function -.align 16 -_bsaes_key_convert: -.cfi_startproc - leaq .Lmasks(%rip),%r11 - movdqu (%rcx),%xmm7 - leaq 16(%rcx),%rcx - movdqa 0(%r11),%xmm0 - movdqa 16(%r11),%xmm1 - movdqa 32(%r11),%xmm2 - movdqa 48(%r11),%xmm3 - movdqa 64(%r11),%xmm4 - pcmpeqd %xmm5,%xmm5 - - movdqu (%rcx),%xmm6 - movdqa %xmm7,(%rax) - leaq 16(%rax),%rax - decl %r10d - jmp .Lkey_loop -.align 16 -.Lkey_loop: -.byte 102,15,56,0,244 - - movdqa %xmm0,%xmm8 - movdqa %xmm1,%xmm9 - - pand %xmm6,%xmm8 - pand %xmm6,%xmm9 - movdqa %xmm2,%xmm10 - pcmpeqb %xmm0,%xmm8 - psllq $4,%xmm0 - movdqa %xmm3,%xmm11 - pcmpeqb %xmm1,%xmm9 - psllq $4,%xmm1 - - pand %xmm6,%xmm10 - pand %xmm6,%xmm11 - movdqa %xmm0,%xmm12 - pcmpeqb %xmm2,%xmm10 - psllq $4,%xmm2 - movdqa %xmm1,%xmm13 - pcmpeqb %xmm3,%xmm11 - psllq $4,%xmm3 - - movdqa %xmm2,%xmm14 - movdqa %xmm3,%xmm15 - pxor %xmm5,%xmm8 - pxor %xmm5,%xmm9 - - pand %xmm6,%xmm12 - pand %xmm6,%xmm13 - movdqa %xmm8,0(%rax) - pcmpeqb %xmm0,%xmm12 - psrlq $4,%xmm0 - movdqa %xmm9,16(%rax) - pcmpeqb %xmm1,%xmm13 - psrlq $4,%xmm1 - leaq 16(%rcx),%rcx - - pand %xmm6,%xmm14 - pand %xmm6,%xmm15 - movdqa %xmm10,32(%rax) - pcmpeqb %xmm2,%xmm14 - psrlq $4,%xmm2 - movdqa %xmm11,48(%rax) - pcmpeqb %xmm3,%xmm15 - psrlq $4,%xmm3 - movdqu (%rcx),%xmm6 - - pxor %xmm5,%xmm13 - pxor %xmm5,%xmm14 - movdqa %xmm12,64(%rax) - movdqa %xmm13,80(%rax) - movdqa %xmm14,96(%rax) - movdqa %xmm15,112(%rax) - leaq 128(%rax),%rax - decl %r10d - jnz .Lkey_loop - - movdqa 80(%r11),%xmm7 - - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_key_convert,.-_bsaes_key_convert - -.globl bsaes_cbc_encrypt -.type bsaes_cbc_encrypt,@function -.align 16 -bsaes_cbc_encrypt: -.cfi_startproc - cmpl $0,%r9d - jne asm_AES_cbc_encrypt - cmpq $128,%rdx - jb asm_AES_cbc_encrypt - - movq %rsp,%rax -.Lcbc_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movq %r8,%rbx - shrq $4,%r14 - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - movdqu (%rbx),%xmm14 - subq $8,%r14 -.Lcbc_dec_loop: - movdqu 0(%r12),%xmm15 - movdqu 16(%r12),%xmm0 - movdqu 32(%r12),%xmm1 - movdqu 48(%r12),%xmm2 - movdqu 64(%r12),%xmm3 - movdqu 80(%r12),%xmm4 - movq %rsp,%rax - movdqu 96(%r12),%xmm5 - movl %edx,%r10d - movdqu 112(%r12),%xmm6 - movdqa %xmm14,32(%rbp) - - call _bsaes_decrypt8 - - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm2 - movdqu 112(%r12),%xmm14 - pxor %xmm13,%xmm4 - movdqu %xmm15,0(%r13) - leaq 128(%r12),%r12 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - subq $8,%r14 - jnc .Lcbc_dec_loop - - addq $8,%r14 - jz .Lcbc_dec_done - - movdqu 0(%r12),%xmm15 - movq %rsp,%rax - movl %edx,%r10d - cmpq $2,%r14 - jb .Lcbc_dec_one - movdqu 16(%r12),%xmm0 - je .Lcbc_dec_two - movdqu 32(%r12),%xmm1 - cmpq $4,%r14 - jb .Lcbc_dec_three - movdqu 48(%r12),%xmm2 - je .Lcbc_dec_four - movdqu 64(%r12),%xmm3 - cmpq $6,%r14 - jb .Lcbc_dec_five - movdqu 80(%r12),%xmm4 - je .Lcbc_dec_six - movdqu 96(%r12),%xmm5 - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm14 - pxor %xmm12,%xmm2 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_six: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm14 - pxor %xmm11,%xmm6 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_five: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm14 - pxor %xmm10,%xmm1 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_four: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm14 - pxor %xmm9,%xmm3 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_three: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm14 - pxor %xmm8,%xmm5 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_two: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm14 - pxor %xmm7,%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_one: - leaq (%r12),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm14 - movdqu %xmm14,(%r13) - movdqa %xmm15,%xmm14 - -.Lcbc_dec_done: - movdqu %xmm14,(%rbx) - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lcbc_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lcbc_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lcbc_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_cbc_encrypt,.-bsaes_cbc_encrypt - -.globl bsaes_ctr32_encrypt_blocks -.type bsaes_ctr32_encrypt_blocks,@function -.align 16 -bsaes_ctr32_encrypt_blocks: -.cfi_startproc - movq %rsp,%rax -.Lctr_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movdqu (%r8),%xmm0 - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movdqa %xmm0,32(%rbp) - cmpq $8,%rdx - jb .Lctr_enc_short - - movl %eax,%ebx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %ebx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - movdqa (%rsp),%xmm8 - leaq .LADD1(%rip),%r11 - movdqa 32(%rbp),%xmm15 - movdqa -32(%r11),%xmm7 -.byte 102,68,15,56,0,199 -.byte 102,68,15,56,0,255 - movdqa %xmm8,(%rsp) - jmp .Lctr_enc_loop -.align 16 -.Lctr_enc_loop: - movdqa %xmm15,32(%rbp) - movdqa %xmm15,%xmm0 - movdqa %xmm15,%xmm1 - paddd 0(%r11),%xmm0 - movdqa %xmm15,%xmm2 - paddd 16(%r11),%xmm1 - movdqa %xmm15,%xmm3 - paddd 32(%r11),%xmm2 - movdqa %xmm15,%xmm4 - paddd 48(%r11),%xmm3 - movdqa %xmm15,%xmm5 - paddd 64(%r11),%xmm4 - movdqa %xmm15,%xmm6 - paddd 80(%r11),%xmm5 - paddd 96(%r11),%xmm6 - - - - movdqa (%rsp),%xmm8 - leaq 16(%rsp),%rax - movdqa -16(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq .LBS0(%rip),%r11 - movl %ebx,%r10d - - call _bsaes_encrypt8_bitslice - - subq $8,%r14 - jc .Lctr_enc_loop_done - - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - movdqu 32(%r12),%xmm9 - movdqu 48(%r12),%xmm10 - movdqu 64(%r12),%xmm11 - movdqu 80(%r12),%xmm12 - movdqu 96(%r12),%xmm13 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - pxor %xmm15,%xmm7 - movdqa 32(%rbp),%xmm15 - pxor %xmm8,%xmm0 - movdqu %xmm7,0(%r13) - pxor %xmm9,%xmm3 - movdqu %xmm0,16(%r13) - pxor %xmm10,%xmm5 - movdqu %xmm3,32(%r13) - pxor %xmm11,%xmm2 - movdqu %xmm5,48(%r13) - pxor %xmm12,%xmm6 - movdqu %xmm2,64(%r13) - pxor %xmm13,%xmm1 - movdqu %xmm6,80(%r13) - pxor %xmm14,%xmm4 - movdqu %xmm1,96(%r13) - leaq .LADD1(%rip),%r11 - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - paddd 112(%r11),%xmm15 - jnz .Lctr_enc_loop - - jmp .Lctr_enc_done -.align 16 -.Lctr_enc_loop_done: - addq $8,%r14 - movdqu 0(%r12),%xmm7 - pxor %xmm7,%xmm15 - movdqu %xmm15,0(%r13) - cmpq $2,%r14 - jb .Lctr_enc_done - movdqu 16(%r12),%xmm8 - pxor %xmm8,%xmm0 - movdqu %xmm0,16(%r13) - je .Lctr_enc_done - movdqu 32(%r12),%xmm9 - pxor %xmm9,%xmm3 - movdqu %xmm3,32(%r13) - cmpq $4,%r14 - jb .Lctr_enc_done - movdqu 48(%r12),%xmm10 - pxor %xmm10,%xmm5 - movdqu %xmm5,48(%r13) - je .Lctr_enc_done - movdqu 64(%r12),%xmm11 - pxor %xmm11,%xmm2 - movdqu %xmm2,64(%r13) - cmpq $6,%r14 - jb .Lctr_enc_done - movdqu 80(%r12),%xmm12 - pxor %xmm12,%xmm6 - movdqu %xmm6,80(%r13) - je .Lctr_enc_done - movdqu 96(%r12),%xmm13 - pxor %xmm13,%xmm1 - movdqu %xmm1,96(%r13) - jmp .Lctr_enc_done - -.align 16 -.Lctr_enc_short: - leaq 32(%rbp),%rdi - leaq 48(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - movdqu (%r12),%xmm0 - leaq 16(%r12),%r12 - movl 44(%rbp),%eax - bswapl %eax - pxor 48(%rbp),%xmm0 - incl %eax - movdqu %xmm0,(%r13) - bswapl %eax - leaq 16(%r13),%r13 - movl %eax,44(%rsp) - decq %r14 - jnz .Lctr_enc_short - -.Lctr_enc_done: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lctr_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lctr_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lctr_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_ctr32_encrypt_blocks,.-bsaes_ctr32_encrypt_blocks -.globl bsaes_xts_encrypt -.type bsaes_xts_encrypt,@function -.align 16 -bsaes_xts_encrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - andq $-16,%r14 - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_enc_short - jmp .Lxts_enc_loop - -.align 16 -.Lxts_enc_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm1,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_enc_loop - -.Lxts_enc_short: - addq $0x80,%r14 - jz .Lxts_enc_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_enc_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_enc_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_enc_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_enc_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_enc_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_enc_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - movdqu %xmm1,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - movdqu %xmm2,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - movdqu %xmm5,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - movdqu %xmm3,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_enc_done: - andl $15,%ebx - jz .Lxts_enc_ret - movq %r13,%rdx - -.Lxts_enc_steal: - movzbl (%r12),%eax - movzbl -16(%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,-16(%rdx) - movb %cl,0(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_enc_steal - - movdqu -16(%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm6 - movdqu %xmm6,-16(%r13) - -.Lxts_enc_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_encrypt,.-bsaes_xts_encrypt - -.globl bsaes_xts_decrypt -.type bsaes_xts_decrypt,@function -.align 16 -bsaes_xts_decrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - xorl %eax,%eax - andq $-16,%r14 - testl $15,%ebx - setnz %al - shlq $4,%rax - subq %rax,%r14 - - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_dec_short - jmp .Lxts_dec_loop - -.align 16 -.Lxts_dec_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_dec_loop - -.Lxts_dec_short: - addq $0x80,%r14 - jz .Lxts_dec_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_dec_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_dec_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_dec_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_dec_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_dec_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_dec_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_dec_done: - andl $15,%ebx - jz .Lxts_dec_ret - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - movdqa %xmm6,%xmm5 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - movdqu (%r12),%xmm15 - pxor %xmm13,%xmm6 - - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm6 - movq %r13,%rdx - movdqu %xmm6,(%r13) - -.Lxts_dec_steal: - movzbl 16(%r12),%eax - movzbl (%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,(%rdx) - movb %cl,16(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_dec_steal - - movdqu (%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm5,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm5 - movdqu %xmm5,(%r13) - -.Lxts_dec_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_decrypt,.-bsaes_xts_decrypt -.type _bsaes_const,@object -.align 64 -_bsaes_const: -.LM0ISR: -.quad 0x0a0e0206070b0f03, 0x0004080c0d010509 -.LISRM0: -.quad 0x01040b0e0205080f, 0x0306090c00070a0d -.LISR: -.quad 0x0504070602010003, 0x0f0e0d0c080b0a09 -.LBS0: -.quad 0x5555555555555555, 0x5555555555555555 -.LBS1: -.quad 0x3333333333333333, 0x3333333333333333 -.LBS2: -.quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f -.LSR: -.quad 0x0504070600030201, 0x0f0e0d0c0a09080b -.LSRM0: -.quad 0x0304090e00050a0f, 0x01060b0c0207080d -.LM0SR: -.quad 0x0a0e02060f03070b, 0x0004080c05090d01 -.LSWPUP: -.quad 0x0706050403020100, 0x0c0d0e0f0b0a0908 -.LSWPUPM0SR: -.quad 0x0a0d02060c03070b, 0x0004080f05090e01 -.LADD1: -.quad 0x0000000000000000, 0x0000000100000000 -.LADD2: -.quad 0x0000000000000000, 0x0000000200000000 -.LADD3: -.quad 0x0000000000000000, 0x0000000300000000 -.LADD4: -.quad 0x0000000000000000, 0x0000000400000000 -.LADD5: -.quad 0x0000000000000000, 0x0000000500000000 -.LADD6: -.quad 0x0000000000000000, 0x0000000600000000 -.LADD7: -.quad 0x0000000000000000, 0x0000000700000000 -.LADD8: -.quad 0x0000000000000000, 0x0000000800000000 -.Lxts_magic: -.long 0x87,0,1,0 -.Lmasks: -.quad 0x0101010101010101, 0x0101010101010101 -.quad 0x0202020202020202, 0x0202020202020202 -.quad 0x0404040404040404, 0x0404040404040404 -.quad 0x0808080808080808, 0x0808080808080808 -.LM0: -.quad 0x02060a0e03070b0f, 0x0004080c0105090d -.L63: -.quad 0x6363636363636363, 0x6363636363636363 -.byte 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44,32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32,65,110,100,121,32,80,111,108,121,97,107,111,118,0 -.align 64 -.size _bsaes_const,.-_bsaes_const diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/bn/rsaz-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/bn/rsaz-x86_64.s index f8e4a805887366..7876e0b8f93d9c 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/bn/rsaz-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/bn/rsaz-x86_64.s @@ -29,7 +29,7 @@ rsaz_512_sqr: subq $128+24,%rsp .cfi_adjust_cfa_offset 128+24 .Lsqr_body: - movq %rdx,%rbp +.byte 102,72,15,110,202 movq (%rsi),%rdx movq 8(%rsi),%rax movq %rcx,128(%rsp) @@ -44,6 +44,7 @@ rsaz_512_sqr: movl %r8d,128+8(%rsp) movq %rdx,%rbx + movq %rax,%rbp mulq %rdx movq %rax,%r8 movq 16(%rsi),%rax @@ -82,31 +83,29 @@ rsaz_512_sqr: mulq %rbx addq %rax,%r14 movq %rbx,%rax - movq %rdx,%r15 - adcq $0,%r15 + adcq $0,%rdx + xorq %rcx,%rcx addq %r8,%r8 - movq %r9,%rcx - adcq %r9,%r9 + movq %rdx,%r15 + adcq $0,%rcx mulq %rax - movq %rax,(%rsp) - addq %rdx,%r8 - adcq $0,%r9 + addq %r8,%rdx + adcq $0,%rcx - movq %r8,8(%rsp) - shrq $63,%rcx + movq %rax,(%rsp) + movq %rdx,8(%rsp) - movq 8(%rsi),%r8 movq 16(%rsi),%rax - mulq %r8 + mulq %rbp addq %rax,%r10 movq 24(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r11 movq 32(%rsi),%rax adcq $0,%rdx @@ -114,7 +113,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r12 movq 40(%rsi),%rax adcq $0,%rdx @@ -122,7 +121,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r13 movq 48(%rsi),%rax adcq $0,%rdx @@ -130,7 +129,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r14 movq 56(%rsi),%rax adcq $0,%rdx @@ -138,39 +137,39 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r15 - movq %r8,%rax + movq %rbp,%rax adcq $0,%rdx addq %rbx,%r15 - movq %rdx,%r8 - movq %r10,%rdx - adcq $0,%r8 + adcq $0,%rdx - addq %rdx,%rdx - leaq (%rcx,%r10,2),%r10 - movq %r11,%rbx - adcq %r11,%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r8 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax + movq 16(%rsi),%rbp addq %rax,%r9 + movq 24(%rsi),%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,16(%rsp) movq %r10,24(%rsp) - shrq $63,%rbx - movq 16(%rsi),%r9 - movq 24(%rsi),%rax - mulq %r9 + mulq %rbp addq %rax,%r12 movq 32(%rsi),%rax movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r13 movq 40(%rsi),%rax adcq $0,%rdx @@ -178,7 +177,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r14 movq 48(%rsi),%rax adcq $0,%rdx @@ -186,9 +185,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - movq %r12,%r10 - leaq (%rbx,%r12,2),%r12 + mulq %rbp addq %rax,%r15 movq 56(%rsi),%rax adcq $0,%rdx @@ -196,36 +193,40 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - shrq $63,%r10 + mulq %rbp addq %rax,%r8 - movq %r9,%rax + movq %rbp,%rax adcq $0,%rdx addq %rcx,%r8 - movq %rdx,%r9 - adcq $0,%r9 + adcq $0,%rdx - movq %r13,%rcx - leaq (%r10,%r13,2),%r13 + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r9 + adcq %r12,%r12 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax + movq 24(%rsi),%r10 addq %rax,%r11 + movq 32(%rsi),%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,32(%rsp) movq %r12,40(%rsp) - shrq $63,%rcx - movq 24(%rsi),%r10 - movq 32(%rsi),%rax + movq %rax,%r11 mulq %r10 addq %rax,%r14 movq 40(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx + movq %rax,%r12 mulq %r10 addq %rax,%r15 movq 48(%rsi),%rax @@ -234,9 +235,8 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx + movq %rax,%rbp mulq %r10 - movq %r14,%r12 - leaq (%rcx,%r14,2),%r14 addq %rax,%r8 movq 56(%rsi),%rax adcq $0,%rdx @@ -245,32 +245,33 @@ rsaz_512_sqr: adcq $0,%rbx mulq %r10 - shrq $63,%r12 addq %rax,%r9 movq %r10,%rax adcq $0,%rdx addq %rbx,%r9 - movq %rdx,%r10 - adcq $0,%r10 + adcq $0,%rdx - movq %r15,%rbx - leaq (%r12,%r15,2),%r15 + xorq %rbx,%rbx + addq %r13,%r13 + movq %rdx,%r10 + adcq %r14,%r14 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r13 + movq %r12,%rax adcq %rdx,%r14 - adcq $0,%r15 + adcq $0,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) - shrq $63,%rbx - movq 32(%rsi),%r11 - movq 40(%rsi),%rax mulq %r11 addq %rax,%r8 - movq 48(%rsi),%rax + movq %rbp,%rax movq %rdx,%rcx adcq $0,%rcx @@ -278,97 +279,99 @@ rsaz_512_sqr: addq %rax,%r9 movq 56(%rsi),%rax adcq $0,%rdx - movq %r8,%r12 - leaq (%rbx,%r8,2),%r8 addq %rcx,%r9 movq %rdx,%rcx adcq $0,%rcx + movq %rax,%r14 mulq %r11 - shrq $63,%r12 addq %rax,%r10 movq %r11,%rax adcq $0,%rdx addq %rcx,%r10 - movq %rdx,%r11 - adcq $0,%r11 + adcq $0,%rdx - movq %r9,%rcx - leaq (%r12,%r9,2),%r9 + xorq %rcx,%rcx + addq %r15,%r15 + movq %rdx,%r11 + adcq %r8,%r8 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r15 + movq %rbp,%rax adcq %rdx,%r8 - adcq $0,%r9 + adcq $0,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) - shrq $63,%rcx - movq 40(%rsi),%r12 - movq 48(%rsi),%rax mulq %r12 addq %rax,%r10 - movq 56(%rsi),%rax + movq %r14,%rax movq %rdx,%rbx adcq $0,%rbx mulq %r12 addq %rax,%r11 movq %r12,%rax - movq %r10,%r15 - leaq (%rcx,%r10,2),%r10 adcq $0,%rdx - shrq $63,%r15 addq %rbx,%r11 - movq %rdx,%r12 - adcq $0,%r12 + adcq $0,%rdx - movq %r11,%rbx - leaq (%r15,%r11,2),%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r12 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r9 + movq %r14,%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) - movq 48(%rsi),%r13 - movq 56(%rsi),%rax - mulq %r13 + mulq %rbp addq %rax,%r12 - movq %r13,%rax - movq %rdx,%r13 - adcq $0,%r13 + movq %rbp,%rax + adcq $0,%rdx - xorq %r14,%r14 - shlq $1,%rbx + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r13 adcq %r12,%r12 - adcq %r13,%r13 - adcq %r14,%r14 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r11 + movq %r14,%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,96(%rsp) movq %r12,104(%rsp) - movq 56(%rsi),%rax - mulq %rax - addq %rax,%r13 - adcq $0,%rdx + xorq %rbx,%rbx + addq %r13,%r13 + adcq $0,%rbx - addq %rdx,%r14 + mulq %rax - movq %r13,112(%rsp) - movq %r14,120(%rsp) + addq %rcx,%rax + addq %r13,%rax + adcq %rbx,%rdx movq (%rsp),%r8 movq 8(%rsp),%r9 @@ -378,6 +381,10 @@ rsaz_512_sqr: movq 40(%rsp),%r13 movq 48(%rsp),%r14 movq 56(%rsp),%r15 +.byte 102,72,15,126,205 + + movq %rax,112(%rsp) + movq %rdx,120(%rsp) call __rsaz_512_reduce @@ -406,9 +413,9 @@ rsaz_512_sqr: .Loop_sqrx: movl %r8d,128+8(%rsp) .byte 102,72,15,110,199 -.byte 102,72,15,110,205 mulxq %rax,%r8,%r9 + movq %rax,%rbx mulxq 16(%rsi),%rcx,%r10 xorq %rbp,%rbp @@ -416,40 +423,39 @@ rsaz_512_sqr: mulxq 24(%rsi),%rax,%r11 adcxq %rcx,%r9 - mulxq 32(%rsi),%rcx,%r12 +.byte 0xc4,0x62,0xf3,0xf6,0xa6,0x20,0x00,0x00,0x00 adcxq %rax,%r10 - mulxq 40(%rsi),%rax,%r13 +.byte 0xc4,0x62,0xfb,0xf6,0xae,0x28,0x00,0x00,0x00 adcxq %rcx,%r11 -.byte 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 + mulxq 48(%rsi),%rcx,%r14 adcxq %rax,%r12 adcxq %rcx,%r13 -.byte 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rax,%r15 adcxq %rax,%r14 adcxq %rbp,%r15 - movq %r9,%rcx - shldq $1,%r8,%r9 - shlq $1,%r8 - - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx - adcxq %rdx,%r8 - movq 8(%rsi),%rdx - adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi + movq %rbx,%rdx + xorq %rcx,%rcx + adoxq %r8,%r8 + adcxq %rdi,%r8 + adoxq %rbp,%rcx + adcxq %rbp,%rcx movq %rax,(%rsp) movq %r8,8(%rsp) - mulxq 16(%rsi),%rax,%rbx +.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x10,0x00,0x00,0x00 adoxq %rax,%r10 adcxq %rbx,%r11 -.byte 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r8 adoxq %rdi,%r11 +.byte 0x66 adcxq %r8,%r12 mulxq 32(%rsi),%rax,%rbx @@ -467,24 +473,25 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 adoxq %rdi,%r15 adcxq %rbp,%r8 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r8 +.byte 0x48,0x8b,0x96,0x10,0x00,0x00,0x00 - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rcx - movq 16(%rsi),%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rcx,%r10 - adcxq %rbp,%r11 + adoxq %rbp,%rbx + adcxq %rdi,%r10 + adcxq %rbp,%rbx movq %r9,16(%rsp) .byte 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r9 adoxq %rdi,%r12 adcxq %r9,%r13 @@ -492,7 +499,7 @@ rsaz_512_sqr: adoxq %rax,%r13 adcxq %rcx,%r14 - mulxq 40(%rsi),%rdi,%r9 +.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x28,0x00,0x00,0x00 adoxq %rdi,%r14 adcxq %r9,%r15 @@ -500,27 +507,28 @@ rsaz_512_sqr: adoxq %rax,%r15 adcxq %rcx,%r8 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rdi,%r9 adoxq %rdi,%r8 adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r9 + movq 24(%rsi),%rdx - movq %r13,%rcx - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + xorq %rcx,%rcx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 24(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx movq %r11,32(%rsp) -.byte 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 + movq %r12,40(%rsp) -.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 + mulxq 32(%rsi),%rax,%rbx adoxq %rax,%r14 adcxq %rbx,%r15 @@ -535,25 +543,25 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r10 adoxq %rdi,%r9 adcxq %rbp,%r10 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r10 + movq 32(%rsi),%rdx -.byte 0x66 - movq %r15,%rbx - shldq $1,%r14,%r15 - shldq $1,%rcx,%r14 + xorq %rbx,%rbx + adoxq %r13,%r13 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r14,%r14 adcxq %rax,%r13 - adcxq %rdx,%r14 - movq 32(%rsi),%rdx - adcxq %rbp,%r15 + adoxq %rbp,%rbx + adcxq %rdi,%r14 + adcxq %rbp,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) -.byte 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 + mulxq 40(%rsi),%rdi,%r11 adoxq %rdi,%r8 adcxq %r11,%r9 @@ -564,18 +572,19 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r11 adoxq %rdi,%r10 adcxq %rbp,%r11 + mulxq %rdx,%rax,%rdi + movq 40(%rsi),%rdx adoxq %rbp,%r11 - movq %r9,%rcx - shldq $1,%r8,%r9 - shldq $1,%rbx,%r8 + xorq %rcx,%rcx + adoxq %r15,%r15 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r8,%r8 adcxq %rax,%r15 - adcxq %rdx,%r8 - movq 40(%rsi),%rdx - adcxq %rbp,%r9 + adoxq %rbp,%rcx + adcxq %rdi,%r8 + adcxq %rbp,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) @@ -588,18 +597,19 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 adoxq %rdi,%r11 adcxq %rbp,%r12 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r12 + movq 48(%rsi),%rdx - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rdx,%r10 - movq 48(%rsi),%rdx - adcxq %rbp,%r11 + adcxq %rdi,%r10 + adoxq %rbp,%rbx + adcxq %rbp,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) @@ -609,31 +619,31 @@ rsaz_512_sqr: adoxq %rax,%r12 adoxq %rbp,%r13 - xorq %r14,%r14 - shldq $1,%r13,%r14 - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + mulxq %rdx,%rax,%rdi + xorq %rcx,%rcx + movq 56(%rsi),%rdx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 56(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx .byte 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 .byte 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 mulxq %rdx,%rax,%rdx - adoxq %rax,%r13 - adoxq %rbp,%rdx + xorq %rbx,%rbx + adoxq %r13,%r13 -.byte 0x66 - addq %rdx,%r14 + adcxq %rcx,%rax + adoxq %rbp,%rbx + adcxq %r13,%rax + adcxq %rdx,%rbx - movq %r13,112(%rsp) - movq %r14,120(%rsp) .byte 102,72,15,126,199 .byte 102,72,15,126,205 @@ -647,6 +657,9 @@ rsaz_512_sqr: movq 48(%rsp),%r14 movq 56(%rsp),%r15 + movq %rax,112(%rsp) + movq %rbx,120(%rsp) + call __rsaz_512_reducex addq 64(%rsp),%r8 @@ -1440,6 +1453,7 @@ rsaz_512_mul_by_one: .type __rsaz_512_reduce,@function .align 32 __rsaz_512_reduce: +.cfi_startproc movq %r8,%rbx imulq 128+8(%rsp),%rbx movq 0(%rbp),%rax @@ -1519,10 +1533,12 @@ __rsaz_512_reduce: jne .Lreduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reduce,.-__rsaz_512_reduce .type __rsaz_512_reducex,@function .align 32 __rsaz_512_reducex: +.cfi_startproc imulq %r8,%rdx xorq %rsi,%rsi @@ -1575,10 +1591,12 @@ __rsaz_512_reducex: jne .Lreduction_loopx .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reducex,.-__rsaz_512_reducex .type __rsaz_512_subtract,@function .align 32 __rsaz_512_subtract: +.cfi_startproc movq %r8,(%rdi) movq %r9,8(%rdi) movq %r10,16(%rdi) @@ -1632,10 +1650,12 @@ __rsaz_512_subtract: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_subtract,.-__rsaz_512_subtract .type __rsaz_512_mul,@function .align 32 __rsaz_512_mul: +.cfi_startproc leaq 8(%rsp),%rdi movq (%rsi),%rax @@ -1774,10 +1794,12 @@ __rsaz_512_mul: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mul,.-__rsaz_512_mul .type __rsaz_512_mulx,@function .align 32 __rsaz_512_mulx: +.cfi_startproc mulxq (%rsi),%rbx,%r8 movq $-6,%rcx @@ -1894,11 +1916,13 @@ __rsaz_512_mulx: movq %r15,8+64+56(%rsp) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mulx,.-__rsaz_512_mulx .globl rsaz_512_scatter4 .type rsaz_512_scatter4,@function .align 16 rsaz_512_scatter4: +.cfi_startproc leaq (%rdi,%rdx,8),%rdi movl $8,%r9d jmp .Loop_scatter @@ -1911,12 +1935,14 @@ rsaz_512_scatter4: decl %r9d jnz .Loop_scatter .byte 0xf3,0xc3 +.cfi_endproc .size rsaz_512_scatter4,.-rsaz_512_scatter4 .globl rsaz_512_gather4 .type rsaz_512_gather4,@function .align 16 rsaz_512_gather4: +.cfi_startproc movd %edx,%xmm8 movdqa .Linc+16(%rip),%xmm1 movdqa .Linc(%rip),%xmm0 @@ -1980,6 +2006,7 @@ rsaz_512_gather4: jnz .Loop_gather .byte 0xf3,0xc3 .LSEH_end_rsaz_512_gather4: +.cfi_endproc .size rsaz_512_gather4,.-rsaz_512_gather4 .align 64 diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/bn/x86_64-mont5.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/bn/x86_64-mont5.s index df4b6610a02a47..40a60a3c8fc6b9 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/bn/x86_64-mont5.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/bn/x86_64-mont5.s @@ -550,6 +550,7 @@ bn_mul4x_mont_gather5: .type mul4x_internal,@function .align 32 mul4x_internal: +.cfi_startproc shlq $5,%r9 movd 8(%rax),%xmm5 leaq .Linc(%rip),%rax @@ -1071,6 +1072,7 @@ mul4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqr4x_sub_entry +.cfi_endproc .size mul4x_internal,.-mul4x_internal .globl bn_power5 .type bn_power5,@function @@ -1213,6 +1215,7 @@ bn_power5: .align 32 bn_sqr8x_internal: __bn_sqr8x_internal: +.cfi_startproc @@ -1987,10 +1990,12 @@ __bn_sqr8x_reduction: cmpq %rdx,%rdi jb .L8x_reduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size bn_sqr8x_internal,.-bn_sqr8x_internal .type __bn_post4x_internal,@function .align 32 __bn_post4x_internal: +.cfi_startproc movq 0(%rbp),%r12 leaq (%rdi,%r9,1),%rbx movq %r9,%rcx @@ -2041,15 +2046,18 @@ __bn_post4x_internal: movq %r9,%r10 negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_post4x_internal,.-__bn_post4x_internal .globl bn_from_montgomery .type bn_from_montgomery,@function .align 32 bn_from_montgomery: +.cfi_startproc testl $7,%r9d jz bn_from_mont8x xorl %eax,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_from_montgomery,.-bn_from_montgomery .type bn_from_mont8x,@function @@ -2333,6 +2341,7 @@ bn_mulx4x_mont_gather5: .type mulx4x_internal,@function .align 32 mulx4x_internal: +.cfi_startproc movq %r9,8(%rsp) movq %r9,%r10 negq %r9 @@ -2751,6 +2760,7 @@ mulx4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqrx4x_sub_entry +.cfi_endproc .size mulx4x_internal,.-mulx4x_internal .type bn_powerx5,@function .align 32 @@ -3509,6 +3519,7 @@ __bn_sqrx8x_reduction: .size bn_sqrx8x_internal,.-bn_sqrx8x_internal .align 32 __bn_postx4x_internal: +.cfi_startproc movq 0(%rbp),%r12 movq %rcx,%r10 movq %rcx,%r9 @@ -3556,11 +3567,13 @@ __bn_postx4x_internal: negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_postx4x_internal,.-__bn_postx4x_internal .globl bn_get_bits5 .type bn_get_bits5,@function .align 16 bn_get_bits5: +.cfi_startproc leaq 0(%rdi),%r10 leaq 1(%rdi),%r11 movl %esi,%ecx @@ -3574,12 +3587,14 @@ bn_get_bits5: shrl %cl,%eax andl $31,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_get_bits5,.-bn_get_bits5 .globl bn_scatter5 .type bn_scatter5,@function .align 16 bn_scatter5: +.cfi_startproc cmpl $0,%esi jz .Lscatter_epilogue leaq (%rdx,%rcx,8),%rdx @@ -3592,6 +3607,7 @@ bn_scatter5: jnz .Lscatter .Lscatter_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_scatter5,.-bn_scatter5 .globl bn_gather5 @@ -3599,6 +3615,7 @@ bn_scatter5: .align 32 bn_gather5: .LSEH_begin_bn_gather5: +.cfi_startproc .byte 0x4c,0x8d,0x14,0x24 .byte 0x48,0x81,0xec,0x08,0x01,0x00,0x00 @@ -3756,6 +3773,7 @@ bn_gather5: leaq (%r10),%rsp .byte 0xf3,0xc3 .LSEH_end_bn_gather5: +.cfi_endproc .size bn_gather5,.-bn_gather5 .align 64 .Linc: diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/buildinf.h index f567041169936f..5b88a094e60a2d 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-x32" -#define DATE "built on: Fri Sep 13 15:59:58 2019 UTC" +#define DATE "built on: Wed Mar 18 21:06:52 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -38,10 +38,11 @@ static const char compiler_flags[] = { 'A','S','M',' ','-','D','S','H','A','5','1','2','_','A','S','M', ' ','-','D','K','E','C','C','A','K','1','6','0','0','_','A','S', 'M',' ','-','D','R','C','4','_','A','S','M',' ','-','D','M','D', - '5','_','A','S','M',' ','-','D','V','P','A','E','S','_','A','S', - 'M',' ','-','D','G','H','A','S','H','_','A','S','M',' ','-','D', - 'E','C','P','_','N','I','S','T','Z','2','5','6','_','A','S','M', - ' ','-','D','X','2','5','5','1','9','_','A','S','M',' ','-','D', - 'P','O','L','Y','1','3','0','5','_','A','S','M',' ','-','D','N', - 'D','E','B','U','G','\0' + '5','_','A','S','M',' ','-','D','A','E','S','N','I','_','A','S', + 'M',' ','-','D','V','P','A','E','S','_','A','S','M',' ','-','D', + 'G','H','A','S','H','_','A','S','M',' ','-','D','E','C','P','_', + 'N','I','S','T','Z','2','5','6','_','A','S','M',' ','-','D','X', + '2','5','5','1','9','_','A','S','M',' ','-','D','P','O','L','Y', + '1','3','0','5','_','A','S','M',' ','-','D','N','D','E','B','U', + 'G','\0' }; diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/camellia/cmll-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/camellia/cmll-x86_64.s index 405566b01cca6f..eeb20dd2291da7 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/camellia/cmll-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/camellia/cmll-x86_64.s @@ -5,11 +5,13 @@ .type Camellia_EncryptBlock,@function .align 16 Camellia_EncryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Lenc_rounds +.cfi_endproc .size Camellia_EncryptBlock,.-Camellia_EncryptBlock .globl Camellia_EncryptBlock_Rounds @@ -83,6 +85,7 @@ Camellia_EncryptBlock_Rounds: .type _x86_64_Camellia_encrypt,@function .align 16 _x86_64_Camellia_encrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -285,6 +288,7 @@ _x86_64_Camellia_encrypt: movl %edx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_encrypt,.-_x86_64_Camellia_encrypt @@ -292,11 +296,13 @@ _x86_64_Camellia_encrypt: .type Camellia_DecryptBlock,@function .align 16 Camellia_DecryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Ldec_rounds +.cfi_endproc .size Camellia_DecryptBlock,.-Camellia_DecryptBlock .globl Camellia_DecryptBlock_Rounds @@ -370,6 +376,7 @@ Camellia_DecryptBlock_Rounds: .type _x86_64_Camellia_decrypt,@function .align 16 _x86_64_Camellia_decrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -573,6 +580,7 @@ _x86_64_Camellia_decrypt: movl %ebx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_decrypt,.-_x86_64_Camellia_decrypt .globl Camellia_Ekeygen .type Camellia_Ekeygen,@function diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s index 62b9ac6616ba72..5c9e4050416212 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s @@ -3874,10 +3874,12 @@ ecp_nistz256_ord_sqr_montx: .type ecp_nistz256_to_mont,@function .align 32 ecp_nistz256_to_mont: +.cfi_startproc movl $0x80100,%ecx andl OPENSSL_ia32cap_P+8(%rip),%ecx leaq .LRR(%rip),%rdx jmp .Lmul_mont +.cfi_endproc .size ecp_nistz256_to_mont,.-ecp_nistz256_to_mont @@ -4821,6 +4823,7 @@ ecp_nistz256_from_mont: .type ecp_nistz256_scatter_w5,@function .align 32 ecp_nistz256_scatter_w5: +.cfi_startproc leal -3(%rdx,%rdx,2),%edx movdqa 0(%rsi),%xmm0 shll $5,%edx @@ -4837,6 +4840,7 @@ ecp_nistz256_scatter_w5: movdqa %xmm5,80(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w5,.-ecp_nistz256_scatter_w5 @@ -4910,6 +4914,7 @@ ecp_nistz256_gather_w5: .type ecp_nistz256_scatter_w7,@function .align 32 ecp_nistz256_scatter_w7: +.cfi_startproc movdqu 0(%rsi),%xmm0 shll $6,%edx movdqu 16(%rsi),%xmm1 @@ -4921,6 +4926,7 @@ ecp_nistz256_scatter_w7: movdqa %xmm3,48(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w7,.-ecp_nistz256_scatter_w7 @@ -5655,26 +5661,16 @@ ecp_nistz256_point_add: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedq .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedq - testq %r9,%r9 - jz .Ladd_doubleq -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_doneq + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedq -.align 32 .Ladd_doubleq: .byte 102,72,15,126,206 .byte 102,72,15,126,199 @@ -6774,26 +6770,16 @@ ecp_nistz256_point_addx: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedx .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedx - testq %r9,%r9 - jz .Ladd_doublex -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_donex + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedx -.align 32 .Ladd_doublex: .byte 102,72,15,126,206 .byte 102,72,15,126,199 diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/ec/x25519-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/ec/x25519-x86_64.s index 2a18eaee288ce7..1788e568cda5d2 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/ec/x25519-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/ec/x25519-x86_64.s @@ -400,12 +400,14 @@ x25519_fe51_mul121666: .type x25519_fe64_eligible,@function .align 32 x25519_fe64_eligible: +.cfi_startproc movl OPENSSL_ia32cap_P+8(%rip),%ecx xorl %eax,%eax andl $0x80100,%ecx cmpl $0x80100,%ecx cmovel %ecx,%eax .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_eligible,.-x25519_fe64_eligible .globl x25519_fe64_mul @@ -648,6 +650,7 @@ x25519_fe64_sqr: .align 32 x25519_fe64_mul121666: .Lfe64_mul121666_body: +.cfi_startproc movl $121666,%edx mulxq 0(%rsi),%r8,%rcx mulxq 8(%rsi),%r9,%rax @@ -676,6 +679,7 @@ x25519_fe64_mul121666: .Lfe64_mul121666_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_mul121666,.-x25519_fe64_mul121666 .globl x25519_fe64_add @@ -683,6 +687,7 @@ x25519_fe64_mul121666: .align 32 x25519_fe64_add: .Lfe64_add_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -711,6 +716,7 @@ x25519_fe64_add: .Lfe64_add_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_add,.-x25519_fe64_add .globl x25519_fe64_sub @@ -718,6 +724,7 @@ x25519_fe64_add: .align 32 x25519_fe64_sub: .Lfe64_sub_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -746,6 +753,7 @@ x25519_fe64_sub: .Lfe64_sub_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_sub,.-x25519_fe64_sub .globl x25519_fe64_tobytes @@ -753,6 +761,7 @@ x25519_fe64_sub: .align 32 x25519_fe64_tobytes: .Lfe64_to_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -788,5 +797,6 @@ x25519_fe64_tobytes: .Lfe64_to_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_tobytes,.-x25519_fe64_tobytes .byte 88,50,53,53,49,57,32,112,114,105,109,105,116,105,118,101,115,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/include/internal/bn_conf.h index 0d071bda66fd8e..93f75e2e1512cb 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/modes/aesni-gcm-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/modes/aesni-gcm-x86_64.s index 6a7a9577c7142f..01d89630a42f73 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/modes/aesni-gcm-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/modes/aesni-gcm-x86_64.s @@ -3,6 +3,7 @@ .type _aesni_ctr32_ghash_6x,@function .align 32 _aesni_ctr32_ghash_6x: +.cfi_startproc vmovdqu 32(%r11),%xmm2 subq $6,%rdx vpxor %xmm4,%xmm4,%xmm4 @@ -310,6 +311,7 @@ _aesni_ctr32_ghash_6x: vpxor %xmm4,%xmm8,%xmm8 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_ctr32_ghash_6x,.-_aesni_ctr32_ghash_6x .globl aesni_gcm_decrypt .type aesni_gcm_decrypt,@function @@ -416,6 +418,7 @@ aesni_gcm_decrypt: .type _aesni_ctr32_6x,@function .align 32 _aesni_ctr32_6x: +.cfi_startproc vmovdqu 0-128(%rcx),%xmm4 vmovdqu 32(%r11),%xmm2 leaq -1(%rbp),%r13 @@ -502,6 +505,7 @@ _aesni_ctr32_6x: vpshufb %xmm0,%xmm1,%xmm1 vpxor %xmm4,%xmm14,%xmm14 jmp .Loop_ctr32 +.cfi_endproc .size _aesni_ctr32_6x,.-_aesni_ctr32_6x .globl aesni_gcm_encrypt diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/poly1305/poly1305-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/poly1305/poly1305-x86_64.s index 2d829b713b866a..505c06471d45b0 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/poly1305/poly1305-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/poly1305/poly1305-x86_64.s @@ -12,6 +12,7 @@ .type poly1305_init,@function .align 32 poly1305_init: +.cfi_startproc xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -42,6 +43,7 @@ poly1305_init: movl $1,%eax .Lno_key: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_init,.-poly1305_init .type poly1305_blocks,@function @@ -162,6 +164,7 @@ poly1305_blocks: .type poly1305_emit,@function .align 32 poly1305_emit: +.cfi_startproc .Lemit: movq 0(%rdi),%r8 movq 8(%rdi),%r9 @@ -182,10 +185,12 @@ poly1305_emit: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit,.-poly1305_emit .type __poly1305_block,@function .align 32 __poly1305_block: +.cfi_startproc mulq %r14 movq %rax,%r9 movq %r11,%rax @@ -225,11 +230,13 @@ __poly1305_block: adcq $0,%rbx adcq $0,%rbp .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_block,.-__poly1305_block .type __poly1305_init_avx,@function .align 32 __poly1305_init_avx: +.cfi_startproc movq %r11,%r14 movq %r12,%rbx xorq %rbp,%rbp @@ -387,6 +394,7 @@ __poly1305_init_avx: leaq -48-64(%rdi),%rdi .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_init_avx,.-__poly1305_init_avx .type poly1305_blocks_avx,@function @@ -1227,6 +1235,7 @@ poly1305_blocks_avx: .type poly1305_emit_avx,@function .align 32 poly1305_emit_avx: +.cfi_startproc cmpl $0,20(%rdi) je .Lemit @@ -1277,6 +1286,7 @@ poly1305_emit_avx: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit_avx,.-poly1305_emit_avx .type poly1305_blocks_avx2,@function .align 32 @@ -1959,6 +1969,7 @@ poly1305_blocks_avx2: .type xor128_encrypt_n_pad,@function .align 16 xor128_encrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -2000,12 +2011,14 @@ xor128_encrypt_n_pad: .Ldone_enc: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_encrypt_n_pad,.-xor128_encrypt_n_pad .globl xor128_decrypt_n_pad .type xor128_decrypt_n_pad,@function .align 16 xor128_decrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -2051,4 +2064,5 @@ xor128_decrypt_n_pad: .Ldone_dec: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_decrypt_n_pad,.-xor128_decrypt_n_pad diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/rc4/rc4-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/rc4/rc4-x86_64.s index fba70351d48d5c..b97c757550aad0 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/rc4/rc4-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/rc4/rc4-x86_64.s @@ -4,11 +4,12 @@ .globl RC4 .type RC4,@function .align 16 -RC4: orq %rsi,%rsi +RC4: +.cfi_startproc + orq %rsi,%rsi jne .Lentry .byte 0xf3,0xc3 .Lentry: -.cfi_startproc pushq %rbx .cfi_adjust_cfa_offset 8 .cfi_offset %rbx,-16 @@ -533,6 +534,7 @@ RC4: orq %rsi,%rsi .type RC4_set_key,@function .align 16 RC4_set_key: +.cfi_startproc leaq 8(%rdi),%rdi leaq (%rdx,%rsi,1),%rdx negq %rsi @@ -599,12 +601,14 @@ RC4_set_key: movl %eax,-8(%rdi) movl %eax,-4(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size RC4_set_key,.-RC4_set_key .globl RC4_options .type RC4_options,@function .align 16 RC4_options: +.cfi_startproc leaq .Lopts(%rip),%rax movl OPENSSL_ia32cap_P(%rip),%edx btl $20,%edx @@ -617,6 +621,7 @@ RC4_options: addq $12,%rax .Ldone: .byte 0xf3,0xc3 +.cfi_endproc .align 64 .Lopts: .byte 114,99,52,40,56,120,44,105,110,116,41,0 diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/keccak1600-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/keccak1600-x86_64.s index e511f25035b2b8..09617d014bdb7b 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/keccak1600-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/keccak1600-x86_64.s @@ -3,6 +3,7 @@ .type __KeccakF1600,@function .align 32 __KeccakF1600: +.cfi_startproc movq 60(%rdi),%rax movq 68(%rdi),%rbx movq 76(%rdi),%rcx @@ -255,6 +256,7 @@ __KeccakF1600: leaq -192(%r15),%r15 .byte 0xf3,0xc3 +.cfi_endproc .size __KeccakF1600,.-__KeccakF1600 .type KeccakF1600,@function diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/sha1-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/sha1-x86_64.s index e436521a040f66..98541727e555da 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/sha1-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/sha1-x86_64.s @@ -1421,8 +1421,8 @@ _shaext_shortcut: pshufd $27,%xmm1,%xmm1 movdqu %xmm0,(%rdi) movd %xmm1,16(%rdi) -.cfi_endproc .byte 0xf3,0xc3 +.cfi_endproc .size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext .type sha1_block_data_order_ssse3,@function .align 16 diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/sha256-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/sha256-x86_64.s index 42b24df18e5afe..9357385da3c49b 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/sha256-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/sha256-x86_64.s @@ -1775,6 +1775,7 @@ K256: .align 64 sha256_block_data_order_shaext: _shaext_shortcut: +.cfi_startproc leaq K256+128(%rip),%rcx movdqu (%rdi),%xmm1 movdqu 16(%rdi),%xmm2 @@ -1977,6 +1978,7 @@ _shaext_shortcut: movdqu %xmm1,(%rdi) movdqu %xmm2,16(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size sha256_block_data_order_shaext,.-sha256_block_data_order_shaext .type sha256_block_data_order_ssse3,@function .align 64 @@ -4238,7 +4240,15 @@ sha256_block_data_order_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 88(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -64(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%edi vmovdqa %ymm6,0(%rsp) xorl %ecx,%edi @@ -4250,6 +4260,12 @@ sha256_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4505,6 +4521,12 @@ sha256_block_data_order_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -5380,6 +5402,8 @@ sha256_block_data_order_avx2: leaq 448(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08 + addl 0(%rdi),%eax addl 4(%rdi),%ebx addl 8(%rdi),%ecx @@ -5405,9 +5429,11 @@ sha256_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xd8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 88(%rsp),%rsi + movq 88(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/sha512-x86_64.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/sha512-x86_64.s index 5931a2a93234d0..939f1ca71c9394 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/sha512-x86_64.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/sha/sha512-x86_64.s @@ -4165,7 +4165,15 @@ sha512_block_data_order_avx2: vmovdqa %ymm10,64(%rsp) vpaddq 64(%rbp),%ymm6,%ymm10 vmovdqa %ymm11,96(%rsp) + + movq 152(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -128(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpaddq 96(%rbp),%ymm7,%ymm11 vmovdqa %ymm8,0(%rsp) xorq %r14,%r14 @@ -4181,6 +4189,12 @@ sha512_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm0,%ymm1,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -4474,6 +4488,12 @@ sha512_block_data_order_avx2: movq %r9,%r12 vmovdqa %ymm10,96(%rsp) leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm4,%ymm5,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -5387,6 +5407,8 @@ sha512_block_data_order_avx2: leaq 1152(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08 + addq 0(%rdi),%rax addq 8(%rdi),%rbx addq 16(%rdi),%rcx @@ -5412,9 +5434,11 @@ sha512_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0x98,0x01,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 152(%rsp),%rsi + movq 152(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/x86_64cpuid.s b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/x86_64cpuid.s index fd17eaaba49576..9268ce8c9a9d63 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/x86_64cpuid.s +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/crypto/x86_64cpuid.s @@ -12,6 +12,7 @@ .type OPENSSL_atomic_add,@function .align 16 OPENSSL_atomic_add: +.cfi_startproc movl (%rdi),%eax .Lspin: leaq (%rsi,%rax,1),%r8 .byte 0xf0 @@ -20,16 +21,19 @@ OPENSSL_atomic_add: movl %r8d,%eax .byte 0x48,0x98 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_atomic_add,.-OPENSSL_atomic_add .globl OPENSSL_rdtsc .type OPENSSL_rdtsc,@function .align 16 OPENSSL_rdtsc: +.cfi_startproc rdtsc shlq $32,%rdx orq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_rdtsc,.-OPENSSL_rdtsc .globl OPENSSL_ia32_cpuid @@ -205,6 +209,7 @@ OPENSSL_ia32_cpuid: .type OPENSSL_cleanse,@function .align 16 OPENSSL_cleanse: +.cfi_startproc xorq %rax,%rax cmpq $15,%rsi jae .Lot @@ -234,12 +239,14 @@ OPENSSL_cleanse: cmpq $0,%rsi jne .Little .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_cleanse,.-OPENSSL_cleanse .globl CRYPTO_memcmp .type CRYPTO_memcmp,@function .align 16 CRYPTO_memcmp: +.cfi_startproc xorq %rax,%rax xorq %r10,%r10 cmpq $0,%rdx @@ -268,11 +275,13 @@ CRYPTO_memcmp: shrq $63,%rax .Lno_data: .byte 0xf3,0xc3 +.cfi_endproc .size CRYPTO_memcmp,.-CRYPTO_memcmp .globl OPENSSL_wipe_cpu .type OPENSSL_wipe_cpu,@function .align 16 OPENSSL_wipe_cpu: +.cfi_startproc pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 @@ -299,11 +308,13 @@ OPENSSL_wipe_cpu: xorq %r11,%r11 leaq 8(%rsp),%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu .globl OPENSSL_instrument_bus .type OPENSSL_instrument_bus,@function .align 16 OPENSSL_instrument_bus: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rsi,%r11 @@ -330,12 +341,14 @@ OPENSSL_instrument_bus: movq %r11,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus,.-OPENSSL_instrument_bus .globl OPENSSL_instrument_bus2 .type OPENSSL_instrument_bus2,@function .align 16 OPENSSL_instrument_bus2: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rdx,%r11 @@ -378,11 +391,13 @@ OPENSSL_instrument_bus2: movq 8(%rsp),%rax subq %rcx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2 .globl OPENSSL_ia32_rdrand_bytes .type OPENSSL_ia32_rdrand_bytes,@function .align 16 OPENSSL_ia32_rdrand_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdrand_bytes @@ -419,11 +434,13 @@ OPENSSL_ia32_rdrand_bytes: .Ldone_rdrand_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdrand_bytes,.-OPENSSL_ia32_rdrand_bytes .globl OPENSSL_ia32_rdseed_bytes .type OPENSSL_ia32_rdseed_bytes,@function .align 16 OPENSSL_ia32_rdseed_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdseed_bytes @@ -460,4 +477,5 @@ OPENSSL_ia32_rdseed_bytes: .Ldone_rdseed_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdseed_bytes,.-OPENSSL_ia32_rdseed_bytes diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-x32/asm_avx2/include/openssl/opensslconf.h index 7dda69d359d2ac..992473943e5da4 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/include/progs.h b/deps/openssl/config/archs/linux-x32/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/openssl-cl.gypi b/deps/openssl/config/archs/linux-x32/asm_avx2/openssl-cl.gypi index 859eb1a3691ebf..8e2deecf8481f7 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/openssl-cl.gypi +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/openssl-cl.gypi @@ -16,6 +16,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/linux-x32/asm_avx2/openssl.gypi b/deps/openssl/config/archs/linux-x32/asm_avx2/openssl.gypi index 7dd6ee5dda657f..d907f1f290cb30 100644 --- a/deps/openssl/config/archs/linux-x32/asm_avx2/openssl.gypi +++ b/deps/openssl/config/archs/linux-x32/asm_avx2/openssl.gypi @@ -723,6 +723,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/linux-x32/no-asm/configdata.pm b/deps/openssl/config/archs/linux-x32/no-asm/configdata.pm index b9a8bebaa20a64..7943ec12dfc802 100644 --- a/deps/openssl/config/archs/linux-x32/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux-x32/no-asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-x32", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -238,6 +238,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3223,7 +3230,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3231,6 +3237,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3729,14 +3736,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4177,6 +4176,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4871,49 +4878,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4935,7 +4934,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4949,613 +4947,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5573,188 +5469,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5784,13 +5649,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5800,43 +5663,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5846,31 +5702,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5888,278 +5739,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6169,301 +5974,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6471,7 +6226,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6479,7 +6233,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6487,7 +6240,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6495,7 +6247,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6503,7 +6254,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6511,163 +6261,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6685,223 +6408,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6909,21 +6595,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6931,13 +6614,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6945,81 +6626,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7027,328 +6695,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7358,85 +6965,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7459,361 +7052,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7835,259 +7368,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8097,31 +7587,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8131,7 +7616,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8157,13 +7641,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8189,7 +7671,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8215,709 +7696,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8968,6 +8331,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9212,7 +8583,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9538,7 +8908,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9584,7 +8953,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9650,7 +9018,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9675,7 +9042,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9773,7 +9139,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9823,18 +9188,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9845,6 +9207,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9908,10 +9274,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9940,6 +9302,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10204,6 +9570,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15094,7 +14461,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15102,6 +14468,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15329,6 +14696,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15431,10 +14806,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15463,6 +14834,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-x32/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-x32/no-asm/crypto/buildinf.h index 369ee613964bf0..fb611fa2c2e720 100644 --- a/deps/openssl/config/archs/linux-x32/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-x32/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-x32" -#define DATE "built on: Fri Sep 13 16:00:12 2019 UTC" +#define DATE "built on: Wed Mar 18 21:07:03 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-x32/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-x32/no-asm/crypto/include/internal/bn_conf.h index 0d071bda66fd8e..93f75e2e1512cb 100644 --- a/deps/openssl/config/archs/linux-x32/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-x32/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-x32/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-x32/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-x32/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-x32/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-x32/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-x32/no-asm/include/openssl/opensslconf.h index 6ab9dc309c4861..3d85365931bc40 100644 --- a/deps/openssl/config/archs/linux-x32/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-x32/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-x32/no-asm/include/progs.h b/deps/openssl/config/archs/linux-x32/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-x32/no-asm/include/progs.h +++ b/deps/openssl/config/archs/linux-x32/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-x86_64/asm/configdata.pm b/deps/openssl/config/archs/linux-x86_64/asm/configdata.pm index 6eac1af414f413..6962df4c99b6be 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/configdata.pm +++ b/deps/openssl/config/archs/linux-x86_64/asm/configdata.pm @@ -49,14 +49,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "AESNI_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)gcc", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -112,8 +112,8 @@ our %config = ( sourcedir => ".", target => "linux-x86_64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -241,6 +241,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -358,8 +359,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -627,14 +628,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -710,6 +703,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1507,6 +1508,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3261,7 +3268,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3269,6 +3275,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3767,14 +3774,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4215,6 +4214,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4909,49 +4916,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4961,25 +4960,21 @@ our %unified_info = ( "crypto/aes/aesni-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4997,13 +4992,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -5017,613 +5010,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5637,7 +5528,6 @@ our %unified_info = ( "crypto/bn/asm/x86_64-gcc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5647,182 +5537,152 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5832,19 +5692,16 @@ our %unified_info = ( "crypto/bn/rsaz-avx2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz_exp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5870,31 +5727,26 @@ our %unified_info = ( "crypto/bn/x86_64-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont5.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5904,37 +5756,31 @@ our %unified_info = ( "crypto/camellia/cmll-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5944,31 +5790,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5986,278 +5827,232 @@ our %unified_info = ( "crypto/chacha/chacha-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6267,301 +6062,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6569,7 +6314,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6577,7 +6321,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6585,7 +6328,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6593,7 +6335,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6601,7 +6342,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6609,163 +6349,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6783,241 +6496,201 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7025,21 +6698,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7047,13 +6717,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7061,81 +6729,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7143,328 +6798,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7474,91 +7068,76 @@ our %unified_info = ( "crypto/md5/md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/aesni-gcm-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7577,7 +7156,6 @@ our %unified_info = ( "crypto/modes/ghash-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7587,361 +7165,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7963,265 +7481,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8231,31 +7705,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8265,7 +7734,6 @@ our %unified_info = ( "crypto/sha/keccak1600-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8279,7 +7747,6 @@ our %unified_info = ( "crypto/sha/sha1-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-mips.o" => @@ -8297,19 +7764,16 @@ our %unified_info = ( "crypto/sha/sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8323,7 +7787,6 @@ our %unified_info = ( "crypto/sha/sha256-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-mips.o" => @@ -8341,13 +7804,11 @@ our %unified_info = ( "crypto/sha/sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8373,727 +7834,606 @@ our %unified_info = ( "crypto/sha/sha512-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86_64cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86_64.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9144,6 +8484,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9388,7 +8736,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9714,7 +9061,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9760,7 +9106,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9826,7 +9171,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9851,7 +9195,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9949,7 +9292,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9999,18 +9341,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -10021,6 +9360,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10084,10 +9427,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10116,6 +9455,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10380,6 +9723,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15385,7 +14729,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15393,6 +14736,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15620,6 +14964,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15722,10 +15074,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15754,6 +15102,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aes-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aes-x86_64.s deleted file mode 100644 index f0c1685fb93450..00000000000000 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aes-x86_64.s +++ /dev/null @@ -1,2649 +0,0 @@ -.text -.type _x86_64_AES_encrypt,@function -.align 16 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Lenc_loop -.align 16 -.Lenc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz .Lenc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_encrypt,.-_x86_64_AES_encrypt -.type _x86_64_AES_encrypt_compact,@function -.align 16 -_x86_64_AES_encrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Lenc_loop_compact -.align 16 -.Lenc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Lenc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp .Lenc_loop_compact -.align 16 -.Lenc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact -.globl AES_encrypt -.type AES_encrypt,@function -.align 16 -.globl asm_AES_encrypt -.hidden asm_AES_encrypt -asm_AES_encrypt: -AES_encrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Lenc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lenc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_encrypt,.-AES_encrypt -.type _x86_64_AES_decrypt,@function -.align 16 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Ldec_loop -.align 16 -.Ldec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz .Ldec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_decrypt,.-_x86_64_AES_decrypt -.type _x86_64_AES_decrypt_compact,@function -.align 16 -_x86_64_AES_decrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Ldec_loop_compact - -.align 16 -.Ldec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Ldec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp .Ldec_loop_compact -.align 16 -.Ldec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact -.globl AES_decrypt -.type AES_decrypt,@function -.align 16 -.globl asm_AES_decrypt -.hidden asm_AES_decrypt -asm_AES_decrypt: -AES_decrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Ldec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Ldec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_decrypt,.-AES_decrypt -.globl AES_set_encrypt_key -.type AES_set_encrypt_key,@function -.align 16 -AES_set_encrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $8,%rsp -.cfi_adjust_cfa_offset 8 -.Lenc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Lenc_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_encrypt_key,.-AES_set_encrypt_key - -.type _x86_64_AES_set_encrypt_key,@function -.align 16 -_x86_64_AES_set_encrypt_key: -.cfi_startproc - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz .Lbadpointer - testq $-1,%rdi - jz .Lbadpointer - - leaq .LAES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je .L10rounds - cmpl $192,%ecx - je .L12rounds - cmpl $256,%ecx - je .L14rounds - movq $-2,%rax - jmp .Lexit - -.L10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L10shortcut -.align 4 -.L10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -.L10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl .L10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L12shortcut -.align 4 -.L12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -.L12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je .L12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp .L12loop -.L12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L14shortcut -.align 4 -.L14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -.L14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je .L14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp .L14loop -.L14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp .Lexit - -.Lbadpointer: - movq $-1,%rax -.Lexit: -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key -.globl AES_set_decrypt_key -.type AES_set_decrypt_key,@function -.align 16 -AES_set_decrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - pushq %rdx -.cfi_adjust_cfa_offset 8 -.Ldec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne .Labort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.align 4 -.Linvert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne .Linvert - - leaq .LAES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.align 4 -.Lpermute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz .Lpermute - - xorq %rax,%rax -.Labort: - movq 8(%rsp),%r15 -.cfi_restore %r15 - movq 16(%rsp),%r14 -.cfi_restore %r14 - movq 24(%rsp),%r13 -.cfi_restore %r13 - movq 32(%rsp),%r12 -.cfi_restore %r12 - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Ldec_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_decrypt_key,.-AES_set_decrypt_key -.globl AES_cbc_encrypt -.type AES_cbc_encrypt,@function -.align 16 - -.globl asm_AES_cbc_encrypt -.hidden asm_AES_cbc_encrypt -asm_AES_cbc_encrypt: -AES_cbc_encrypt: -.cfi_startproc - cmpq $0,%rdx - je .Lcbc_epilogue - pushfq - - -.cfi_adjust_cfa_offset 8 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-32 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-40 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-48 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-56 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-64 -.Lcbc_prologue: - - cld - movl %r9d,%r9d - - leaq .LAES_Te(%rip),%r14 - leaq .LAES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - -.cfi_remember_state - movl OPENSSL_ia32cap_P(%rip),%r10d - cmpq $512,%rdx - jb .Lcbc_slow_prologue - testq $15,%rdx - jnz .Lcbc_slow_prologue - btl $28,%r10d - jc .Lcbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb .Lcbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp .Lcbc_te_ok -.Lcbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.align 4 -.Lcbc_te_ok: - - xchgq %rsp,%r15 -.cfi_def_cfa_register %r15 - - movq %r15,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb .Lcbc_do_ecopy - cmpq $4096-248,%r10 - jb .Lcbc_skip_ecopy -.align 4 -.Lcbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -.Lcbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.align 4 -.Lcbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz .Lcbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je .LFAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.align 4 -.Lcbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz .Lcbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_fast_cleanup - - -.align 16 -.LFAST_DECRYPT: - cmpq %r8,%r9 - je .Lcbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.align 4 -.Lcbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz .Lcbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp .Lcbc_fast_cleanup - -.align 16 -.Lcbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.align 4 -.Lcbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz .Lcbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp .Lcbc_fast_dec_in_place_loop -.Lcbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.align 4 -.Lcbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je .Lcbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp .Lcbc_exit - - -.align 16 -.Lcbc_slow_prologue: -.cfi_restore_state - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp -.cfi_def_cfa_register %rbp - - movq %rbp,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je .LSLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz .Lcbc_slow_enc_tail - -.align 4 -.Lcbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz .Lcbc_slow_enc_loop - testq $15,%r10 - jnz .Lcbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp .Lcbc_slow_enc_loop - -.align 16 -.LSLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.align 4 -.Lcbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc .Lcbc_slow_dec_partial - jz .Lcbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp .Lcbc_slow_dec_loop -.Lcbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp .Lcbc_exit - -.align 16 -.Lcbc_exit: - movq 16(%rsp),%rsi -.cfi_def_cfa %rsi,64 - movq (%rsi),%r15 -.cfi_restore %r15 - movq 8(%rsi),%r14 -.cfi_restore %r14 - movq 16(%rsi),%r13 -.cfi_restore %r13 - movq 24(%rsi),%r12 -.cfi_restore %r12 - movq 32(%rsi),%rbp -.cfi_restore %rbp - movq 40(%rsi),%rbx -.cfi_restore %rbx - leaq 48(%rsi),%rsp -.cfi_def_cfa %rsp,16 -.Lcbc_popfq: - popfq - - -.cfi_adjust_cfa_offset -8 -.Lcbc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_cbc_encrypt,.-AES_cbc_encrypt -.align 64 -.LAES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.align 64 -.LAES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-sha1-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-sha1-x86_64.s index 4d2dfe44898fd5..978bd2b6239c15 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-sha1-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha1_enc,@function .align 32 aesni_cbc_sha1_enc: +.cfi_startproc movl OPENSSL_ia32cap_P+0(%rip),%r10d movq OPENSSL_ia32cap_P+4(%rip),%r11 @@ -17,6 +18,7 @@ aesni_cbc_sha1_enc: je aesni_cbc_sha1_enc_avx jmp aesni_cbc_sha1_enc_ssse3 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc .type aesni_cbc_sha1_enc_ssse3,@function .align 32 @@ -2730,6 +2732,7 @@ K_XX_XX: .type aesni_cbc_sha1_enc_shaext,@function .align 32 aesni_cbc_sha1_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 movdqu (%r9),%xmm8 movd 16(%r9),%xmm9 @@ -3028,4 +3031,5 @@ aesni_cbc_sha1_enc_shaext: movdqu %xmm8,(%r9) movd %xmm9,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-sha256-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-sha256-x86_64.s index 5a47b3ee51b741..dd09f1b290af62 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-sha256-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-sha256-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha256_enc,@function .align 16 aesni_cbc_sha256_enc: +.cfi_startproc leaq OPENSSL_ia32cap_P(%rip),%r11 movl $1,%eax cmpq $0,%rdi @@ -30,6 +31,7 @@ aesni_cbc_sha256_enc: ud2 .Lprobe: .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc,.-aesni_cbc_sha256_enc .align 64 @@ -2528,7 +2530,15 @@ aesni_cbc_sha256_enc_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 120(%rsp),%rsi +.cfi_def_cfa %rsi,8 leaq -64(%rsp),%rsp + + + + movq %rsi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%esi vmovdqa %ymm6,0(%rsp) xorl %ecx,%esi @@ -2542,6 +2552,12 @@ aesni_cbc_sha256_enc_avx2: vmovdqu (%r13),%xmm9 vpinsrq $0,%r13,%xmm15,%xmm15 leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -2816,6 +2832,12 @@ aesni_cbc_sha256_enc_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4029,10 +4051,12 @@ aesni_cbc_sha256_enc_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xf8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 64+32(%rsp),%r8 - movq 120(%rsp),%rsi + movq 64+32(%rbp),%r8 + movq 64+56(%rbp),%rsi .cfi_def_cfa %rsi,8 vmovdqu %xmm8,(%r8) vzeroall @@ -4057,6 +4081,7 @@ aesni_cbc_sha256_enc_avx2: .type aesni_cbc_sha256_enc_shaext,@function .align 32 aesni_cbc_sha256_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 leaq K256+128(%rip),%rax movdqu (%r9),%xmm1 @@ -4406,4 +4431,5 @@ aesni_cbc_sha256_enc_shaext: movdqu %xmm1,(%r9) movdqu %xmm2,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc_shaext,.-aesni_cbc_sha256_enc_shaext diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-x86_64.s index 2986a647c1bb05..c1e791eff59235 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/aesni-x86_64.s @@ -861,6 +861,7 @@ aesni_ecb_encrypt: .type aesni_ccm64_encrypt_blocks,@function .align 16 aesni_ccm64_encrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movdqu (%r8),%xmm6 movdqa .Lincrement64(%rip),%xmm9 @@ -919,11 +920,13 @@ aesni_ccm64_encrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks .globl aesni_ccm64_decrypt_blocks .type aesni_ccm64_decrypt_blocks,@function .align 16 aesni_ccm64_decrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movups (%r8),%xmm6 movdqu (%r9),%xmm3 @@ -1016,6 +1019,7 @@ aesni_ccm64_decrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks .globl aesni_ctr32_encrypt_blocks .type aesni_ctr32_encrypt_blocks,@function @@ -2790,6 +2794,7 @@ aesni_ocb_encrypt: .type __ocb_encrypt6,@function .align 32 __ocb_encrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2887,11 +2892,13 @@ __ocb_encrypt6: .byte 102,65,15,56,221,246 .byte 102,65,15,56,221,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt6,.-__ocb_encrypt6 .type __ocb_encrypt4,@function .align 32 __ocb_encrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2956,11 +2963,13 @@ __ocb_encrypt4: .byte 102,65,15,56,221,228 .byte 102,65,15,56,221,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt4,.-__ocb_encrypt4 .type __ocb_encrypt1,@function .align 32 __ocb_encrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm2,%xmm8 @@ -2991,6 +3000,7 @@ __ocb_encrypt1: .byte 102,15,56,221,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt1,.-__ocb_encrypt1 .globl aesni_ocb_decrypt @@ -3233,6 +3243,7 @@ aesni_ocb_decrypt: .type __ocb_decrypt6,@function .align 32 __ocb_decrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3324,11 +3335,13 @@ __ocb_decrypt6: .byte 102,65,15,56,223,246 .byte 102,65,15,56,223,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt6,.-__ocb_decrypt6 .type __ocb_decrypt4,@function .align 32 __ocb_decrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3389,11 +3402,13 @@ __ocb_decrypt4: .byte 102,65,15,56,223,228 .byte 102,65,15,56,223,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt4,.-__ocb_decrypt4 .type __ocb_decrypt1,@function .align 32 __ocb_decrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm7,%xmm2 @@ -3423,6 +3438,7 @@ __ocb_decrypt1: .byte 102,15,56,223,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt1,.-__ocb_decrypt1 .globl aesni_cbc_encrypt .type aesni_cbc_encrypt,@function @@ -4361,7 +4377,6 @@ __aesni_set_encrypt_key: addq $8,%rsp .cfi_adjust_cfa_offset -8 .byte 0xf3,0xc3 -.cfi_endproc .LSEH_end_set_encrypt_key: .align 16 @@ -4432,6 +4447,7 @@ __aesni_set_encrypt_key: shufps $170,%xmm1,%xmm1 xorps %xmm1,%xmm2 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_set_encrypt_key,.-aesni_set_encrypt_key .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key .align 64 diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/bsaes-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/bsaes-x86_64.s deleted file mode 100644 index e1f3abadbc7214..00000000000000 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/aes/bsaes-x86_64.s +++ /dev/null @@ -1,2595 +0,0 @@ -.text - - - - -.type _bsaes_encrypt8,@function -.align 64 -_bsaes_encrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa 80(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 -_bsaes_encrypt8_bitslice: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Lenc_sbox -.align 16 -.Lenc_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Lenc_sbox: - pxor %xmm5,%xmm4 - pxor %xmm0,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm1,%xmm5 - pxor %xmm15,%xmm4 - - pxor %xmm2,%xmm5 - pxor %xmm6,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm3,%xmm2 - pxor %xmm4,%xmm3 - pxor %xmm0,%xmm2 - - pxor %xmm6,%xmm1 - pxor %xmm4,%xmm0 - movdqa %xmm6,%xmm10 - movdqa %xmm0,%xmm9 - movdqa %xmm4,%xmm8 - movdqa %xmm1,%xmm12 - movdqa %xmm5,%xmm11 - - pxor %xmm3,%xmm10 - pxor %xmm1,%xmm9 - pxor %xmm2,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm3,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm15,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm2,%xmm11 - pxor %xmm15,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm6,%xmm12 - movdqa %xmm4,%xmm11 - pxor %xmm0,%xmm12 - pxor %xmm5,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm1,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm3,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm0,%xmm13 - pand %xmm2,%xmm11 - movdqa %xmm6,%xmm14 - pand %xmm15,%xmm12 - pand %xmm4,%xmm13 - por %xmm5,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm5,%xmm11 - movdqa %xmm4,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm5,%xmm9 - pxor %xmm4,%xmm5 - pand %xmm14,%xmm4 - pand %xmm13,%xmm5 - pxor %xmm4,%xmm5 - pxor %xmm9,%xmm4 - pxor %xmm15,%xmm11 - pxor %xmm2,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm2,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm2 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm2,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm2 - pxor %xmm11,%xmm5 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm2 - - movdqa %xmm6,%xmm11 - movdqa %xmm0,%xmm7 - pxor %xmm3,%xmm11 - pxor %xmm1,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm3,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm1,%xmm3 - pand %xmm14,%xmm7 - pand %xmm12,%xmm1 - pand %xmm13,%xmm11 - pand %xmm8,%xmm3 - pxor %xmm11,%xmm7 - pxor %xmm1,%xmm3 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm1 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm6,%xmm10 - pxor %xmm0,%xmm6 - pand %xmm14,%xmm0 - pand %xmm13,%xmm6 - pxor %xmm0,%xmm6 - pxor %xmm10,%xmm0 - pxor %xmm11,%xmm6 - pxor %xmm11,%xmm3 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm1 - pxor %xmm15,%xmm6 - pxor %xmm5,%xmm0 - pxor %xmm6,%xmm3 - pxor %xmm15,%xmm5 - pxor %xmm0,%xmm15 - - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm4 - pxor %xmm2,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm4,%xmm3 - - pxor %xmm2,%xmm5 - decl %r10d - jl .Lenc_done - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm3,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm5,%xmm10 - pxor %xmm9,%xmm3 - pshufd $0x93,%xmm2,%xmm11 - pxor %xmm10,%xmm5 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm2 - pshufd $0x93,%xmm1,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm1 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm2,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm5,%xmm11 - pshufd $0x4E,%xmm2,%xmm7 - pxor %xmm1,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm3,%xmm10 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm1,%xmm5 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm12,%xmm8 - pxor %xmm10,%xmm2 - pxor %xmm14,%xmm6 - pxor %xmm13,%xmm5 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm1 - movdqa %xmm8,%xmm4 - movdqa 48(%r11),%xmm7 - jnz .Lenc_loop - movdqa 64(%r11),%xmm7 - jmp .Lenc_loop -.align 16 -.Lenc_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm2,%xmm10 - psrlq $1,%xmm2 - pxor %xmm4,%xmm1 - pxor %xmm6,%xmm2 - pand %xmm7,%xmm1 - pand %xmm7,%xmm2 - pxor %xmm1,%xmm4 - psllq $1,%xmm1 - pxor %xmm2,%xmm6 - psllq $1,%xmm2 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm2 - movdqa %xmm3,%xmm9 - psrlq $1,%xmm3 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm5,%xmm3 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm3 - pand %xmm7,%xmm15 - pxor %xmm3,%xmm5 - psllq $1,%xmm3 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm2,%xmm10 - psrlq $2,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm1,%xmm2 - pand %xmm8,%xmm6 - pand %xmm8,%xmm2 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm2,%xmm1 - psllq $2,%xmm2 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm2 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm5,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm5 - psllq $2,%xmm0 - pxor %xmm15,%xmm3 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm5,%xmm9 - psrlq $4,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $4,%xmm3 - pxor %xmm4,%xmm5 - pxor %xmm1,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm4 - psllq $4,%xmm5 - pxor %xmm3,%xmm1 - psllq $4,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm2,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm2 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_encrypt8,.-_bsaes_encrypt8 - -.type _bsaes_decrypt8,@function -.align 64 -_bsaes_decrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa -48(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Ldec_sbox -.align 16 -.Ldec_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Ldec_sbox: - pxor %xmm3,%xmm2 - - pxor %xmm6,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm3,%xmm5 - pxor %xmm5,%xmm6 - pxor %xmm6,%xmm0 - - pxor %xmm0,%xmm15 - pxor %xmm4,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm15,%xmm4 - pxor %xmm2,%xmm0 - movdqa %xmm2,%xmm10 - movdqa %xmm6,%xmm9 - movdqa %xmm0,%xmm8 - movdqa %xmm3,%xmm12 - movdqa %xmm4,%xmm11 - - pxor %xmm15,%xmm10 - pxor %xmm3,%xmm9 - pxor %xmm5,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm15,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm1,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm5,%xmm11 - pxor %xmm1,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm2,%xmm12 - movdqa %xmm0,%xmm11 - pxor %xmm6,%xmm12 - pxor %xmm4,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm3,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm15,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm6,%xmm13 - pand %xmm5,%xmm11 - movdqa %xmm2,%xmm14 - pand %xmm1,%xmm12 - pand %xmm0,%xmm13 - por %xmm4,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm4,%xmm11 - movdqa %xmm0,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm4,%xmm9 - pxor %xmm0,%xmm4 - pand %xmm14,%xmm0 - pand %xmm13,%xmm4 - pxor %xmm0,%xmm4 - pxor %xmm9,%xmm0 - pxor %xmm1,%xmm11 - pxor %xmm5,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm1,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm5,%xmm1 - pand %xmm14,%xmm7 - pand %xmm12,%xmm5 - pand %xmm13,%xmm11 - pand %xmm8,%xmm1 - pxor %xmm11,%xmm7 - pxor %xmm5,%xmm1 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm5 - pxor %xmm11,%xmm4 - pxor %xmm11,%xmm1 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm5 - - movdqa %xmm2,%xmm11 - movdqa %xmm6,%xmm7 - pxor %xmm15,%xmm11 - pxor %xmm3,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm3,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm3 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm3,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm3 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm2,%xmm10 - pxor %xmm6,%xmm2 - pand %xmm14,%xmm6 - pand %xmm13,%xmm2 - pxor %xmm6,%xmm2 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm3 - pxor %xmm6,%xmm0 - pxor %xmm4,%xmm5 - - pxor %xmm0,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm6,%xmm4 - pxor %xmm1,%xmm3 - pxor %xmm15,%xmm6 - pxor %xmm4,%xmm3 - pxor %xmm5,%xmm2 - pxor %xmm0,%xmm5 - pxor %xmm3,%xmm2 - - pxor %xmm15,%xmm3 - pxor %xmm2,%xmm6 - decl %r10d - jl .Ldec_done - - pshufd $0x4E,%xmm15,%xmm7 - pshufd $0x4E,%xmm2,%xmm13 - pxor %xmm15,%xmm7 - pshufd $0x4E,%xmm4,%xmm14 - pxor %xmm2,%xmm13 - pshufd $0x4E,%xmm0,%xmm8 - pxor %xmm4,%xmm14 - pshufd $0x4E,%xmm5,%xmm9 - pxor %xmm0,%xmm8 - pshufd $0x4E,%xmm3,%xmm10 - pxor %xmm5,%xmm9 - pxor %xmm13,%xmm15 - pxor %xmm13,%xmm0 - pshufd $0x4E,%xmm1,%xmm11 - pxor %xmm3,%xmm10 - pxor %xmm7,%xmm5 - pxor %xmm8,%xmm3 - pshufd $0x4E,%xmm6,%xmm12 - pxor %xmm1,%xmm11 - pxor %xmm14,%xmm0 - pxor %xmm9,%xmm1 - pxor %xmm6,%xmm12 - - pxor %xmm14,%xmm5 - pxor %xmm13,%xmm3 - pxor %xmm13,%xmm1 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm14,%xmm1 - pxor %xmm14,%xmm6 - pxor %xmm12,%xmm4 - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm5,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm3,%xmm10 - pxor %xmm9,%xmm5 - pshufd $0x93,%xmm1,%xmm11 - pxor %xmm10,%xmm3 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm1 - pshufd $0x93,%xmm2,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm2 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm1,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm3,%xmm11 - pshufd $0x4E,%xmm1,%xmm7 - pxor %xmm2,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm5,%xmm10 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm2,%xmm3 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm12,%xmm8 - pxor %xmm1,%xmm10 - pxor %xmm14,%xmm6 - pxor %xmm3,%xmm13 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm2 - movdqa %xmm13,%xmm5 - movdqa %xmm8,%xmm4 - movdqa %xmm2,%xmm1 - movdqa %xmm10,%xmm2 - movdqa -16(%r11),%xmm7 - jnz .Ldec_loop - movdqa -32(%r11),%xmm7 - jmp .Ldec_loop -.align 16 -.Ldec_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm2,%xmm9 - psrlq $1,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $1,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm6,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm4 - psllq $1,%xmm2 - pxor %xmm1,%xmm6 - psllq $1,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm3,%xmm5 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm5 - pand %xmm7,%xmm15 - pxor %xmm5,%xmm3 - psllq $1,%xmm5 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm1,%xmm10 - psrlq $2,%xmm1 - pxor %xmm4,%xmm6 - pxor %xmm2,%xmm1 - pand %xmm8,%xmm6 - pand %xmm8,%xmm1 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm1,%xmm2 - psllq $2,%xmm1 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm3,%xmm0 - pxor %xmm5,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm3 - psllq $2,%xmm0 - pxor %xmm15,%xmm5 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm3,%xmm9 - psrlq $4,%xmm3 - movdqa %xmm5,%xmm10 - psrlq $4,%xmm5 - pxor %xmm4,%xmm3 - pxor %xmm2,%xmm5 - pand %xmm7,%xmm3 - pand %xmm7,%xmm5 - pxor %xmm3,%xmm4 - psllq $4,%xmm3 - pxor %xmm5,%xmm2 - psllq $4,%xmm5 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm5 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm1 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_decrypt8,.-_bsaes_decrypt8 -.type _bsaes_key_convert,@function -.align 16 -_bsaes_key_convert: -.cfi_startproc - leaq .Lmasks(%rip),%r11 - movdqu (%rcx),%xmm7 - leaq 16(%rcx),%rcx - movdqa 0(%r11),%xmm0 - movdqa 16(%r11),%xmm1 - movdqa 32(%r11),%xmm2 - movdqa 48(%r11),%xmm3 - movdqa 64(%r11),%xmm4 - pcmpeqd %xmm5,%xmm5 - - movdqu (%rcx),%xmm6 - movdqa %xmm7,(%rax) - leaq 16(%rax),%rax - decl %r10d - jmp .Lkey_loop -.align 16 -.Lkey_loop: -.byte 102,15,56,0,244 - - movdqa %xmm0,%xmm8 - movdqa %xmm1,%xmm9 - - pand %xmm6,%xmm8 - pand %xmm6,%xmm9 - movdqa %xmm2,%xmm10 - pcmpeqb %xmm0,%xmm8 - psllq $4,%xmm0 - movdqa %xmm3,%xmm11 - pcmpeqb %xmm1,%xmm9 - psllq $4,%xmm1 - - pand %xmm6,%xmm10 - pand %xmm6,%xmm11 - movdqa %xmm0,%xmm12 - pcmpeqb %xmm2,%xmm10 - psllq $4,%xmm2 - movdqa %xmm1,%xmm13 - pcmpeqb %xmm3,%xmm11 - psllq $4,%xmm3 - - movdqa %xmm2,%xmm14 - movdqa %xmm3,%xmm15 - pxor %xmm5,%xmm8 - pxor %xmm5,%xmm9 - - pand %xmm6,%xmm12 - pand %xmm6,%xmm13 - movdqa %xmm8,0(%rax) - pcmpeqb %xmm0,%xmm12 - psrlq $4,%xmm0 - movdqa %xmm9,16(%rax) - pcmpeqb %xmm1,%xmm13 - psrlq $4,%xmm1 - leaq 16(%rcx),%rcx - - pand %xmm6,%xmm14 - pand %xmm6,%xmm15 - movdqa %xmm10,32(%rax) - pcmpeqb %xmm2,%xmm14 - psrlq $4,%xmm2 - movdqa %xmm11,48(%rax) - pcmpeqb %xmm3,%xmm15 - psrlq $4,%xmm3 - movdqu (%rcx),%xmm6 - - pxor %xmm5,%xmm13 - pxor %xmm5,%xmm14 - movdqa %xmm12,64(%rax) - movdqa %xmm13,80(%rax) - movdqa %xmm14,96(%rax) - movdqa %xmm15,112(%rax) - leaq 128(%rax),%rax - decl %r10d - jnz .Lkey_loop - - movdqa 80(%r11),%xmm7 - - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_key_convert,.-_bsaes_key_convert - -.globl bsaes_cbc_encrypt -.type bsaes_cbc_encrypt,@function -.align 16 -bsaes_cbc_encrypt: -.cfi_startproc - cmpl $0,%r9d - jne asm_AES_cbc_encrypt - cmpq $128,%rdx - jb asm_AES_cbc_encrypt - - movq %rsp,%rax -.Lcbc_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movq %r8,%rbx - shrq $4,%r14 - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - movdqu (%rbx),%xmm14 - subq $8,%r14 -.Lcbc_dec_loop: - movdqu 0(%r12),%xmm15 - movdqu 16(%r12),%xmm0 - movdqu 32(%r12),%xmm1 - movdqu 48(%r12),%xmm2 - movdqu 64(%r12),%xmm3 - movdqu 80(%r12),%xmm4 - movq %rsp,%rax - movdqu 96(%r12),%xmm5 - movl %edx,%r10d - movdqu 112(%r12),%xmm6 - movdqa %xmm14,32(%rbp) - - call _bsaes_decrypt8 - - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm2 - movdqu 112(%r12),%xmm14 - pxor %xmm13,%xmm4 - movdqu %xmm15,0(%r13) - leaq 128(%r12),%r12 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - subq $8,%r14 - jnc .Lcbc_dec_loop - - addq $8,%r14 - jz .Lcbc_dec_done - - movdqu 0(%r12),%xmm15 - movq %rsp,%rax - movl %edx,%r10d - cmpq $2,%r14 - jb .Lcbc_dec_one - movdqu 16(%r12),%xmm0 - je .Lcbc_dec_two - movdqu 32(%r12),%xmm1 - cmpq $4,%r14 - jb .Lcbc_dec_three - movdqu 48(%r12),%xmm2 - je .Lcbc_dec_four - movdqu 64(%r12),%xmm3 - cmpq $6,%r14 - jb .Lcbc_dec_five - movdqu 80(%r12),%xmm4 - je .Lcbc_dec_six - movdqu 96(%r12),%xmm5 - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm14 - pxor %xmm12,%xmm2 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_six: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm14 - pxor %xmm11,%xmm6 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_five: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm14 - pxor %xmm10,%xmm1 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_four: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm14 - pxor %xmm9,%xmm3 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_three: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm14 - pxor %xmm8,%xmm5 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_two: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm14 - pxor %xmm7,%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_one: - leaq (%r12),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm14 - movdqu %xmm14,(%r13) - movdqa %xmm15,%xmm14 - -.Lcbc_dec_done: - movdqu %xmm14,(%rbx) - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lcbc_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lcbc_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lcbc_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_cbc_encrypt,.-bsaes_cbc_encrypt - -.globl bsaes_ctr32_encrypt_blocks -.type bsaes_ctr32_encrypt_blocks,@function -.align 16 -bsaes_ctr32_encrypt_blocks: -.cfi_startproc - movq %rsp,%rax -.Lctr_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movdqu (%r8),%xmm0 - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movdqa %xmm0,32(%rbp) - cmpq $8,%rdx - jb .Lctr_enc_short - - movl %eax,%ebx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %ebx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - movdqa (%rsp),%xmm8 - leaq .LADD1(%rip),%r11 - movdqa 32(%rbp),%xmm15 - movdqa -32(%r11),%xmm7 -.byte 102,68,15,56,0,199 -.byte 102,68,15,56,0,255 - movdqa %xmm8,(%rsp) - jmp .Lctr_enc_loop -.align 16 -.Lctr_enc_loop: - movdqa %xmm15,32(%rbp) - movdqa %xmm15,%xmm0 - movdqa %xmm15,%xmm1 - paddd 0(%r11),%xmm0 - movdqa %xmm15,%xmm2 - paddd 16(%r11),%xmm1 - movdqa %xmm15,%xmm3 - paddd 32(%r11),%xmm2 - movdqa %xmm15,%xmm4 - paddd 48(%r11),%xmm3 - movdqa %xmm15,%xmm5 - paddd 64(%r11),%xmm4 - movdqa %xmm15,%xmm6 - paddd 80(%r11),%xmm5 - paddd 96(%r11),%xmm6 - - - - movdqa (%rsp),%xmm8 - leaq 16(%rsp),%rax - movdqa -16(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq .LBS0(%rip),%r11 - movl %ebx,%r10d - - call _bsaes_encrypt8_bitslice - - subq $8,%r14 - jc .Lctr_enc_loop_done - - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - movdqu 32(%r12),%xmm9 - movdqu 48(%r12),%xmm10 - movdqu 64(%r12),%xmm11 - movdqu 80(%r12),%xmm12 - movdqu 96(%r12),%xmm13 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - pxor %xmm15,%xmm7 - movdqa 32(%rbp),%xmm15 - pxor %xmm8,%xmm0 - movdqu %xmm7,0(%r13) - pxor %xmm9,%xmm3 - movdqu %xmm0,16(%r13) - pxor %xmm10,%xmm5 - movdqu %xmm3,32(%r13) - pxor %xmm11,%xmm2 - movdqu %xmm5,48(%r13) - pxor %xmm12,%xmm6 - movdqu %xmm2,64(%r13) - pxor %xmm13,%xmm1 - movdqu %xmm6,80(%r13) - pxor %xmm14,%xmm4 - movdqu %xmm1,96(%r13) - leaq .LADD1(%rip),%r11 - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - paddd 112(%r11),%xmm15 - jnz .Lctr_enc_loop - - jmp .Lctr_enc_done -.align 16 -.Lctr_enc_loop_done: - addq $8,%r14 - movdqu 0(%r12),%xmm7 - pxor %xmm7,%xmm15 - movdqu %xmm15,0(%r13) - cmpq $2,%r14 - jb .Lctr_enc_done - movdqu 16(%r12),%xmm8 - pxor %xmm8,%xmm0 - movdqu %xmm0,16(%r13) - je .Lctr_enc_done - movdqu 32(%r12),%xmm9 - pxor %xmm9,%xmm3 - movdqu %xmm3,32(%r13) - cmpq $4,%r14 - jb .Lctr_enc_done - movdqu 48(%r12),%xmm10 - pxor %xmm10,%xmm5 - movdqu %xmm5,48(%r13) - je .Lctr_enc_done - movdqu 64(%r12),%xmm11 - pxor %xmm11,%xmm2 - movdqu %xmm2,64(%r13) - cmpq $6,%r14 - jb .Lctr_enc_done - movdqu 80(%r12),%xmm12 - pxor %xmm12,%xmm6 - movdqu %xmm6,80(%r13) - je .Lctr_enc_done - movdqu 96(%r12),%xmm13 - pxor %xmm13,%xmm1 - movdqu %xmm1,96(%r13) - jmp .Lctr_enc_done - -.align 16 -.Lctr_enc_short: - leaq 32(%rbp),%rdi - leaq 48(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - movdqu (%r12),%xmm0 - leaq 16(%r12),%r12 - movl 44(%rbp),%eax - bswapl %eax - pxor 48(%rbp),%xmm0 - incl %eax - movdqu %xmm0,(%r13) - bswapl %eax - leaq 16(%r13),%r13 - movl %eax,44(%rsp) - decq %r14 - jnz .Lctr_enc_short - -.Lctr_enc_done: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lctr_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lctr_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lctr_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_ctr32_encrypt_blocks,.-bsaes_ctr32_encrypt_blocks -.globl bsaes_xts_encrypt -.type bsaes_xts_encrypt,@function -.align 16 -bsaes_xts_encrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - andq $-16,%r14 - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_enc_short - jmp .Lxts_enc_loop - -.align 16 -.Lxts_enc_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm1,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_enc_loop - -.Lxts_enc_short: - addq $0x80,%r14 - jz .Lxts_enc_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_enc_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_enc_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_enc_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_enc_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_enc_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_enc_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - movdqu %xmm1,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - movdqu %xmm2,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - movdqu %xmm5,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - movdqu %xmm3,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_enc_done: - andl $15,%ebx - jz .Lxts_enc_ret - movq %r13,%rdx - -.Lxts_enc_steal: - movzbl (%r12),%eax - movzbl -16(%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,-16(%rdx) - movb %cl,0(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_enc_steal - - movdqu -16(%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm6 - movdqu %xmm6,-16(%r13) - -.Lxts_enc_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_encrypt,.-bsaes_xts_encrypt - -.globl bsaes_xts_decrypt -.type bsaes_xts_decrypt,@function -.align 16 -bsaes_xts_decrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - xorl %eax,%eax - andq $-16,%r14 - testl $15,%ebx - setnz %al - shlq $4,%rax - subq %rax,%r14 - - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_dec_short - jmp .Lxts_dec_loop - -.align 16 -.Lxts_dec_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_dec_loop - -.Lxts_dec_short: - addq $0x80,%r14 - jz .Lxts_dec_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_dec_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_dec_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_dec_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_dec_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_dec_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_dec_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_dec_done: - andl $15,%ebx - jz .Lxts_dec_ret - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - movdqa %xmm6,%xmm5 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - movdqu (%r12),%xmm15 - pxor %xmm13,%xmm6 - - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm6 - movq %r13,%rdx - movdqu %xmm6,(%r13) - -.Lxts_dec_steal: - movzbl 16(%r12),%eax - movzbl (%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,(%rdx) - movb %cl,16(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_dec_steal - - movdqu (%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm5,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm5 - movdqu %xmm5,(%r13) - -.Lxts_dec_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_decrypt,.-bsaes_xts_decrypt -.type _bsaes_const,@object -.align 64 -_bsaes_const: -.LM0ISR: -.quad 0x0a0e0206070b0f03, 0x0004080c0d010509 -.LISRM0: -.quad 0x01040b0e0205080f, 0x0306090c00070a0d -.LISR: -.quad 0x0504070602010003, 0x0f0e0d0c080b0a09 -.LBS0: -.quad 0x5555555555555555, 0x5555555555555555 -.LBS1: -.quad 0x3333333333333333, 0x3333333333333333 -.LBS2: -.quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f -.LSR: -.quad 0x0504070600030201, 0x0f0e0d0c0a09080b -.LSRM0: -.quad 0x0304090e00050a0f, 0x01060b0c0207080d -.LM0SR: -.quad 0x0a0e02060f03070b, 0x0004080c05090d01 -.LSWPUP: -.quad 0x0706050403020100, 0x0c0d0e0f0b0a0908 -.LSWPUPM0SR: -.quad 0x0a0d02060c03070b, 0x0004080f05090e01 -.LADD1: -.quad 0x0000000000000000, 0x0000000100000000 -.LADD2: -.quad 0x0000000000000000, 0x0000000200000000 -.LADD3: -.quad 0x0000000000000000, 0x0000000300000000 -.LADD4: -.quad 0x0000000000000000, 0x0000000400000000 -.LADD5: -.quad 0x0000000000000000, 0x0000000500000000 -.LADD6: -.quad 0x0000000000000000, 0x0000000600000000 -.LADD7: -.quad 0x0000000000000000, 0x0000000700000000 -.LADD8: -.quad 0x0000000000000000, 0x0000000800000000 -.Lxts_magic: -.long 0x87,0,1,0 -.Lmasks: -.quad 0x0101010101010101, 0x0101010101010101 -.quad 0x0202020202020202, 0x0202020202020202 -.quad 0x0404040404040404, 0x0404040404040404 -.quad 0x0808080808080808, 0x0808080808080808 -.LM0: -.quad 0x02060a0e03070b0f, 0x0004080c0105090d -.L63: -.quad 0x6363636363636363, 0x6363636363636363 -.byte 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44,32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32,65,110,100,121,32,80,111,108,121,97,107,111,118,0 -.align 64 -.size _bsaes_const,.-_bsaes_const diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/bn/rsaz-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/bn/rsaz-x86_64.s index f8e4a805887366..7876e0b8f93d9c 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/bn/rsaz-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/bn/rsaz-x86_64.s @@ -29,7 +29,7 @@ rsaz_512_sqr: subq $128+24,%rsp .cfi_adjust_cfa_offset 128+24 .Lsqr_body: - movq %rdx,%rbp +.byte 102,72,15,110,202 movq (%rsi),%rdx movq 8(%rsi),%rax movq %rcx,128(%rsp) @@ -44,6 +44,7 @@ rsaz_512_sqr: movl %r8d,128+8(%rsp) movq %rdx,%rbx + movq %rax,%rbp mulq %rdx movq %rax,%r8 movq 16(%rsi),%rax @@ -82,31 +83,29 @@ rsaz_512_sqr: mulq %rbx addq %rax,%r14 movq %rbx,%rax - movq %rdx,%r15 - adcq $0,%r15 + adcq $0,%rdx + xorq %rcx,%rcx addq %r8,%r8 - movq %r9,%rcx - adcq %r9,%r9 + movq %rdx,%r15 + adcq $0,%rcx mulq %rax - movq %rax,(%rsp) - addq %rdx,%r8 - adcq $0,%r9 + addq %r8,%rdx + adcq $0,%rcx - movq %r8,8(%rsp) - shrq $63,%rcx + movq %rax,(%rsp) + movq %rdx,8(%rsp) - movq 8(%rsi),%r8 movq 16(%rsi),%rax - mulq %r8 + mulq %rbp addq %rax,%r10 movq 24(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r11 movq 32(%rsi),%rax adcq $0,%rdx @@ -114,7 +113,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r12 movq 40(%rsi),%rax adcq $0,%rdx @@ -122,7 +121,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r13 movq 48(%rsi),%rax adcq $0,%rdx @@ -130,7 +129,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r14 movq 56(%rsi),%rax adcq $0,%rdx @@ -138,39 +137,39 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r15 - movq %r8,%rax + movq %rbp,%rax adcq $0,%rdx addq %rbx,%r15 - movq %rdx,%r8 - movq %r10,%rdx - adcq $0,%r8 + adcq $0,%rdx - addq %rdx,%rdx - leaq (%rcx,%r10,2),%r10 - movq %r11,%rbx - adcq %r11,%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r8 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax + movq 16(%rsi),%rbp addq %rax,%r9 + movq 24(%rsi),%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,16(%rsp) movq %r10,24(%rsp) - shrq $63,%rbx - movq 16(%rsi),%r9 - movq 24(%rsi),%rax - mulq %r9 + mulq %rbp addq %rax,%r12 movq 32(%rsi),%rax movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r13 movq 40(%rsi),%rax adcq $0,%rdx @@ -178,7 +177,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r14 movq 48(%rsi),%rax adcq $0,%rdx @@ -186,9 +185,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - movq %r12,%r10 - leaq (%rbx,%r12,2),%r12 + mulq %rbp addq %rax,%r15 movq 56(%rsi),%rax adcq $0,%rdx @@ -196,36 +193,40 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - shrq $63,%r10 + mulq %rbp addq %rax,%r8 - movq %r9,%rax + movq %rbp,%rax adcq $0,%rdx addq %rcx,%r8 - movq %rdx,%r9 - adcq $0,%r9 + adcq $0,%rdx - movq %r13,%rcx - leaq (%r10,%r13,2),%r13 + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r9 + adcq %r12,%r12 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax + movq 24(%rsi),%r10 addq %rax,%r11 + movq 32(%rsi),%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,32(%rsp) movq %r12,40(%rsp) - shrq $63,%rcx - movq 24(%rsi),%r10 - movq 32(%rsi),%rax + movq %rax,%r11 mulq %r10 addq %rax,%r14 movq 40(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx + movq %rax,%r12 mulq %r10 addq %rax,%r15 movq 48(%rsi),%rax @@ -234,9 +235,8 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx + movq %rax,%rbp mulq %r10 - movq %r14,%r12 - leaq (%rcx,%r14,2),%r14 addq %rax,%r8 movq 56(%rsi),%rax adcq $0,%rdx @@ -245,32 +245,33 @@ rsaz_512_sqr: adcq $0,%rbx mulq %r10 - shrq $63,%r12 addq %rax,%r9 movq %r10,%rax adcq $0,%rdx addq %rbx,%r9 - movq %rdx,%r10 - adcq $0,%r10 + adcq $0,%rdx - movq %r15,%rbx - leaq (%r12,%r15,2),%r15 + xorq %rbx,%rbx + addq %r13,%r13 + movq %rdx,%r10 + adcq %r14,%r14 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r13 + movq %r12,%rax adcq %rdx,%r14 - adcq $0,%r15 + adcq $0,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) - shrq $63,%rbx - movq 32(%rsi),%r11 - movq 40(%rsi),%rax mulq %r11 addq %rax,%r8 - movq 48(%rsi),%rax + movq %rbp,%rax movq %rdx,%rcx adcq $0,%rcx @@ -278,97 +279,99 @@ rsaz_512_sqr: addq %rax,%r9 movq 56(%rsi),%rax adcq $0,%rdx - movq %r8,%r12 - leaq (%rbx,%r8,2),%r8 addq %rcx,%r9 movq %rdx,%rcx adcq $0,%rcx + movq %rax,%r14 mulq %r11 - shrq $63,%r12 addq %rax,%r10 movq %r11,%rax adcq $0,%rdx addq %rcx,%r10 - movq %rdx,%r11 - adcq $0,%r11 + adcq $0,%rdx - movq %r9,%rcx - leaq (%r12,%r9,2),%r9 + xorq %rcx,%rcx + addq %r15,%r15 + movq %rdx,%r11 + adcq %r8,%r8 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r15 + movq %rbp,%rax adcq %rdx,%r8 - adcq $0,%r9 + adcq $0,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) - shrq $63,%rcx - movq 40(%rsi),%r12 - movq 48(%rsi),%rax mulq %r12 addq %rax,%r10 - movq 56(%rsi),%rax + movq %r14,%rax movq %rdx,%rbx adcq $0,%rbx mulq %r12 addq %rax,%r11 movq %r12,%rax - movq %r10,%r15 - leaq (%rcx,%r10,2),%r10 adcq $0,%rdx - shrq $63,%r15 addq %rbx,%r11 - movq %rdx,%r12 - adcq $0,%r12 + adcq $0,%rdx - movq %r11,%rbx - leaq (%r15,%r11,2),%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r12 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r9 + movq %r14,%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) - movq 48(%rsi),%r13 - movq 56(%rsi),%rax - mulq %r13 + mulq %rbp addq %rax,%r12 - movq %r13,%rax - movq %rdx,%r13 - adcq $0,%r13 + movq %rbp,%rax + adcq $0,%rdx - xorq %r14,%r14 - shlq $1,%rbx + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r13 adcq %r12,%r12 - adcq %r13,%r13 - adcq %r14,%r14 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r11 + movq %r14,%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,96(%rsp) movq %r12,104(%rsp) - movq 56(%rsi),%rax - mulq %rax - addq %rax,%r13 - adcq $0,%rdx + xorq %rbx,%rbx + addq %r13,%r13 + adcq $0,%rbx - addq %rdx,%r14 + mulq %rax - movq %r13,112(%rsp) - movq %r14,120(%rsp) + addq %rcx,%rax + addq %r13,%rax + adcq %rbx,%rdx movq (%rsp),%r8 movq 8(%rsp),%r9 @@ -378,6 +381,10 @@ rsaz_512_sqr: movq 40(%rsp),%r13 movq 48(%rsp),%r14 movq 56(%rsp),%r15 +.byte 102,72,15,126,205 + + movq %rax,112(%rsp) + movq %rdx,120(%rsp) call __rsaz_512_reduce @@ -406,9 +413,9 @@ rsaz_512_sqr: .Loop_sqrx: movl %r8d,128+8(%rsp) .byte 102,72,15,110,199 -.byte 102,72,15,110,205 mulxq %rax,%r8,%r9 + movq %rax,%rbx mulxq 16(%rsi),%rcx,%r10 xorq %rbp,%rbp @@ -416,40 +423,39 @@ rsaz_512_sqr: mulxq 24(%rsi),%rax,%r11 adcxq %rcx,%r9 - mulxq 32(%rsi),%rcx,%r12 +.byte 0xc4,0x62,0xf3,0xf6,0xa6,0x20,0x00,0x00,0x00 adcxq %rax,%r10 - mulxq 40(%rsi),%rax,%r13 +.byte 0xc4,0x62,0xfb,0xf6,0xae,0x28,0x00,0x00,0x00 adcxq %rcx,%r11 -.byte 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 + mulxq 48(%rsi),%rcx,%r14 adcxq %rax,%r12 adcxq %rcx,%r13 -.byte 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rax,%r15 adcxq %rax,%r14 adcxq %rbp,%r15 - movq %r9,%rcx - shldq $1,%r8,%r9 - shlq $1,%r8 - - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx - adcxq %rdx,%r8 - movq 8(%rsi),%rdx - adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi + movq %rbx,%rdx + xorq %rcx,%rcx + adoxq %r8,%r8 + adcxq %rdi,%r8 + adoxq %rbp,%rcx + adcxq %rbp,%rcx movq %rax,(%rsp) movq %r8,8(%rsp) - mulxq 16(%rsi),%rax,%rbx +.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x10,0x00,0x00,0x00 adoxq %rax,%r10 adcxq %rbx,%r11 -.byte 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r8 adoxq %rdi,%r11 +.byte 0x66 adcxq %r8,%r12 mulxq 32(%rsi),%rax,%rbx @@ -467,24 +473,25 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 adoxq %rdi,%r15 adcxq %rbp,%r8 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r8 +.byte 0x48,0x8b,0x96,0x10,0x00,0x00,0x00 - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rcx - movq 16(%rsi),%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rcx,%r10 - adcxq %rbp,%r11 + adoxq %rbp,%rbx + adcxq %rdi,%r10 + adcxq %rbp,%rbx movq %r9,16(%rsp) .byte 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r9 adoxq %rdi,%r12 adcxq %r9,%r13 @@ -492,7 +499,7 @@ rsaz_512_sqr: adoxq %rax,%r13 adcxq %rcx,%r14 - mulxq 40(%rsi),%rdi,%r9 +.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x28,0x00,0x00,0x00 adoxq %rdi,%r14 adcxq %r9,%r15 @@ -500,27 +507,28 @@ rsaz_512_sqr: adoxq %rax,%r15 adcxq %rcx,%r8 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rdi,%r9 adoxq %rdi,%r8 adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r9 + movq 24(%rsi),%rdx - movq %r13,%rcx - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + xorq %rcx,%rcx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 24(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx movq %r11,32(%rsp) -.byte 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 + movq %r12,40(%rsp) -.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 + mulxq 32(%rsi),%rax,%rbx adoxq %rax,%r14 adcxq %rbx,%r15 @@ -535,25 +543,25 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r10 adoxq %rdi,%r9 adcxq %rbp,%r10 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r10 + movq 32(%rsi),%rdx -.byte 0x66 - movq %r15,%rbx - shldq $1,%r14,%r15 - shldq $1,%rcx,%r14 + xorq %rbx,%rbx + adoxq %r13,%r13 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r14,%r14 adcxq %rax,%r13 - adcxq %rdx,%r14 - movq 32(%rsi),%rdx - adcxq %rbp,%r15 + adoxq %rbp,%rbx + adcxq %rdi,%r14 + adcxq %rbp,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) -.byte 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 + mulxq 40(%rsi),%rdi,%r11 adoxq %rdi,%r8 adcxq %r11,%r9 @@ -564,18 +572,19 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r11 adoxq %rdi,%r10 adcxq %rbp,%r11 + mulxq %rdx,%rax,%rdi + movq 40(%rsi),%rdx adoxq %rbp,%r11 - movq %r9,%rcx - shldq $1,%r8,%r9 - shldq $1,%rbx,%r8 + xorq %rcx,%rcx + adoxq %r15,%r15 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r8,%r8 adcxq %rax,%r15 - adcxq %rdx,%r8 - movq 40(%rsi),%rdx - adcxq %rbp,%r9 + adoxq %rbp,%rcx + adcxq %rdi,%r8 + adcxq %rbp,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) @@ -588,18 +597,19 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 adoxq %rdi,%r11 adcxq %rbp,%r12 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r12 + movq 48(%rsi),%rdx - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rdx,%r10 - movq 48(%rsi),%rdx - adcxq %rbp,%r11 + adcxq %rdi,%r10 + adoxq %rbp,%rbx + adcxq %rbp,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) @@ -609,31 +619,31 @@ rsaz_512_sqr: adoxq %rax,%r12 adoxq %rbp,%r13 - xorq %r14,%r14 - shldq $1,%r13,%r14 - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + mulxq %rdx,%rax,%rdi + xorq %rcx,%rcx + movq 56(%rsi),%rdx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 56(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx .byte 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 .byte 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 mulxq %rdx,%rax,%rdx - adoxq %rax,%r13 - adoxq %rbp,%rdx + xorq %rbx,%rbx + adoxq %r13,%r13 -.byte 0x66 - addq %rdx,%r14 + adcxq %rcx,%rax + adoxq %rbp,%rbx + adcxq %r13,%rax + adcxq %rdx,%rbx - movq %r13,112(%rsp) - movq %r14,120(%rsp) .byte 102,72,15,126,199 .byte 102,72,15,126,205 @@ -647,6 +657,9 @@ rsaz_512_sqr: movq 48(%rsp),%r14 movq 56(%rsp),%r15 + movq %rax,112(%rsp) + movq %rbx,120(%rsp) + call __rsaz_512_reducex addq 64(%rsp),%r8 @@ -1440,6 +1453,7 @@ rsaz_512_mul_by_one: .type __rsaz_512_reduce,@function .align 32 __rsaz_512_reduce: +.cfi_startproc movq %r8,%rbx imulq 128+8(%rsp),%rbx movq 0(%rbp),%rax @@ -1519,10 +1533,12 @@ __rsaz_512_reduce: jne .Lreduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reduce,.-__rsaz_512_reduce .type __rsaz_512_reducex,@function .align 32 __rsaz_512_reducex: +.cfi_startproc imulq %r8,%rdx xorq %rsi,%rsi @@ -1575,10 +1591,12 @@ __rsaz_512_reducex: jne .Lreduction_loopx .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reducex,.-__rsaz_512_reducex .type __rsaz_512_subtract,@function .align 32 __rsaz_512_subtract: +.cfi_startproc movq %r8,(%rdi) movq %r9,8(%rdi) movq %r10,16(%rdi) @@ -1632,10 +1650,12 @@ __rsaz_512_subtract: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_subtract,.-__rsaz_512_subtract .type __rsaz_512_mul,@function .align 32 __rsaz_512_mul: +.cfi_startproc leaq 8(%rsp),%rdi movq (%rsi),%rax @@ -1774,10 +1794,12 @@ __rsaz_512_mul: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mul,.-__rsaz_512_mul .type __rsaz_512_mulx,@function .align 32 __rsaz_512_mulx: +.cfi_startproc mulxq (%rsi),%rbx,%r8 movq $-6,%rcx @@ -1894,11 +1916,13 @@ __rsaz_512_mulx: movq %r15,8+64+56(%rsp) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mulx,.-__rsaz_512_mulx .globl rsaz_512_scatter4 .type rsaz_512_scatter4,@function .align 16 rsaz_512_scatter4: +.cfi_startproc leaq (%rdi,%rdx,8),%rdi movl $8,%r9d jmp .Loop_scatter @@ -1911,12 +1935,14 @@ rsaz_512_scatter4: decl %r9d jnz .Loop_scatter .byte 0xf3,0xc3 +.cfi_endproc .size rsaz_512_scatter4,.-rsaz_512_scatter4 .globl rsaz_512_gather4 .type rsaz_512_gather4,@function .align 16 rsaz_512_gather4: +.cfi_startproc movd %edx,%xmm8 movdqa .Linc+16(%rip),%xmm1 movdqa .Linc(%rip),%xmm0 @@ -1980,6 +2006,7 @@ rsaz_512_gather4: jnz .Loop_gather .byte 0xf3,0xc3 .LSEH_end_rsaz_512_gather4: +.cfi_endproc .size rsaz_512_gather4,.-rsaz_512_gather4 .align 64 diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/bn/x86_64-mont5.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/bn/x86_64-mont5.s index df4b6610a02a47..40a60a3c8fc6b9 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/bn/x86_64-mont5.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/bn/x86_64-mont5.s @@ -550,6 +550,7 @@ bn_mul4x_mont_gather5: .type mul4x_internal,@function .align 32 mul4x_internal: +.cfi_startproc shlq $5,%r9 movd 8(%rax),%xmm5 leaq .Linc(%rip),%rax @@ -1071,6 +1072,7 @@ mul4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqr4x_sub_entry +.cfi_endproc .size mul4x_internal,.-mul4x_internal .globl bn_power5 .type bn_power5,@function @@ -1213,6 +1215,7 @@ bn_power5: .align 32 bn_sqr8x_internal: __bn_sqr8x_internal: +.cfi_startproc @@ -1987,10 +1990,12 @@ __bn_sqr8x_reduction: cmpq %rdx,%rdi jb .L8x_reduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size bn_sqr8x_internal,.-bn_sqr8x_internal .type __bn_post4x_internal,@function .align 32 __bn_post4x_internal: +.cfi_startproc movq 0(%rbp),%r12 leaq (%rdi,%r9,1),%rbx movq %r9,%rcx @@ -2041,15 +2046,18 @@ __bn_post4x_internal: movq %r9,%r10 negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_post4x_internal,.-__bn_post4x_internal .globl bn_from_montgomery .type bn_from_montgomery,@function .align 32 bn_from_montgomery: +.cfi_startproc testl $7,%r9d jz bn_from_mont8x xorl %eax,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_from_montgomery,.-bn_from_montgomery .type bn_from_mont8x,@function @@ -2333,6 +2341,7 @@ bn_mulx4x_mont_gather5: .type mulx4x_internal,@function .align 32 mulx4x_internal: +.cfi_startproc movq %r9,8(%rsp) movq %r9,%r10 negq %r9 @@ -2751,6 +2760,7 @@ mulx4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqrx4x_sub_entry +.cfi_endproc .size mulx4x_internal,.-mulx4x_internal .type bn_powerx5,@function .align 32 @@ -3509,6 +3519,7 @@ __bn_sqrx8x_reduction: .size bn_sqrx8x_internal,.-bn_sqrx8x_internal .align 32 __bn_postx4x_internal: +.cfi_startproc movq 0(%rbp),%r12 movq %rcx,%r10 movq %rcx,%r9 @@ -3556,11 +3567,13 @@ __bn_postx4x_internal: negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_postx4x_internal,.-__bn_postx4x_internal .globl bn_get_bits5 .type bn_get_bits5,@function .align 16 bn_get_bits5: +.cfi_startproc leaq 0(%rdi),%r10 leaq 1(%rdi),%r11 movl %esi,%ecx @@ -3574,12 +3587,14 @@ bn_get_bits5: shrl %cl,%eax andl $31,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_get_bits5,.-bn_get_bits5 .globl bn_scatter5 .type bn_scatter5,@function .align 16 bn_scatter5: +.cfi_startproc cmpl $0,%esi jz .Lscatter_epilogue leaq (%rdx,%rcx,8),%rdx @@ -3592,6 +3607,7 @@ bn_scatter5: jnz .Lscatter .Lscatter_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_scatter5,.-bn_scatter5 .globl bn_gather5 @@ -3599,6 +3615,7 @@ bn_scatter5: .align 32 bn_gather5: .LSEH_begin_bn_gather5: +.cfi_startproc .byte 0x4c,0x8d,0x14,0x24 .byte 0x48,0x81,0xec,0x08,0x01,0x00,0x00 @@ -3756,6 +3773,7 @@ bn_gather5: leaq (%r10),%rsp .byte 0xf3,0xc3 .LSEH_end_bn_gather5: +.cfi_endproc .size bn_gather5,.-bn_gather5 .align 64 .Linc: diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-x86_64/asm/crypto/buildinf.h index 17e89914852fb5..83d6c611ca4206 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-x86_64" -#define DATE "built on: Fri Sep 13 16:00:16 2019 UTC" +#define DATE "built on: Wed Mar 18 21:07:06 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -37,10 +37,10 @@ static const char compiler_flags[] = { ' ','-','D','S','H','A','5','1','2','_','A','S','M',' ','-','D', 'K','E','C','C','A','K','1','6','0','0','_','A','S','M',' ','-', 'D','R','C','4','_','A','S','M',' ','-','D','M','D','5','_','A', - 'S','M',' ','-','D','V','P','A','E','S','_','A','S','M',' ','-', - 'D','G','H','A','S','H','_','A','S','M',' ','-','D','E','C','P', - '_','N','I','S','T','Z','2','5','6','_','A','S','M',' ','-','D', - 'X','2','5','5','1','9','_','A','S','M',' ','-','D','P','O','L', - 'Y','1','3','0','5','_','A','S','M',' ','-','D','N','D','E','B', - 'U','G','\0' + 'S','M',' ','-','D','A','E','S','N','I','_','A','S','M',' ','-', + 'D','V','P','A','E','S','_','A','S','M',' ','-','D','G','H','A', + 'S','H','_','A','S','M',' ','-','D','E','C','P','_','N','I','S', + 'T','Z','2','5','6','_','A','S','M',' ','-','D','X','2','5','5', + '1','9','_','A','S','M',' ','-','D','P','O','L','Y','1','3','0', + '5','_','A','S','M',' ','-','D','N','D','E','B','U','G','\0' }; diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/camellia/cmll-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/camellia/cmll-x86_64.s index 405566b01cca6f..eeb20dd2291da7 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/camellia/cmll-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/camellia/cmll-x86_64.s @@ -5,11 +5,13 @@ .type Camellia_EncryptBlock,@function .align 16 Camellia_EncryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Lenc_rounds +.cfi_endproc .size Camellia_EncryptBlock,.-Camellia_EncryptBlock .globl Camellia_EncryptBlock_Rounds @@ -83,6 +85,7 @@ Camellia_EncryptBlock_Rounds: .type _x86_64_Camellia_encrypt,@function .align 16 _x86_64_Camellia_encrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -285,6 +288,7 @@ _x86_64_Camellia_encrypt: movl %edx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_encrypt,.-_x86_64_Camellia_encrypt @@ -292,11 +296,13 @@ _x86_64_Camellia_encrypt: .type Camellia_DecryptBlock,@function .align 16 Camellia_DecryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Ldec_rounds +.cfi_endproc .size Camellia_DecryptBlock,.-Camellia_DecryptBlock .globl Camellia_DecryptBlock_Rounds @@ -370,6 +376,7 @@ Camellia_DecryptBlock_Rounds: .type _x86_64_Camellia_decrypt,@function .align 16 _x86_64_Camellia_decrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -573,6 +580,7 @@ _x86_64_Camellia_decrypt: movl %ebx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_decrypt,.-_x86_64_Camellia_decrypt .globl Camellia_Ekeygen .type Camellia_Ekeygen,@function diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/ec/ecp_nistz256-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/ec/ecp_nistz256-x86_64.s index 62b9ac6616ba72..5c9e4050416212 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/ec/ecp_nistz256-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/ec/ecp_nistz256-x86_64.s @@ -3874,10 +3874,12 @@ ecp_nistz256_ord_sqr_montx: .type ecp_nistz256_to_mont,@function .align 32 ecp_nistz256_to_mont: +.cfi_startproc movl $0x80100,%ecx andl OPENSSL_ia32cap_P+8(%rip),%ecx leaq .LRR(%rip),%rdx jmp .Lmul_mont +.cfi_endproc .size ecp_nistz256_to_mont,.-ecp_nistz256_to_mont @@ -4821,6 +4823,7 @@ ecp_nistz256_from_mont: .type ecp_nistz256_scatter_w5,@function .align 32 ecp_nistz256_scatter_w5: +.cfi_startproc leal -3(%rdx,%rdx,2),%edx movdqa 0(%rsi),%xmm0 shll $5,%edx @@ -4837,6 +4840,7 @@ ecp_nistz256_scatter_w5: movdqa %xmm5,80(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w5,.-ecp_nistz256_scatter_w5 @@ -4910,6 +4914,7 @@ ecp_nistz256_gather_w5: .type ecp_nistz256_scatter_w7,@function .align 32 ecp_nistz256_scatter_w7: +.cfi_startproc movdqu 0(%rsi),%xmm0 shll $6,%edx movdqu 16(%rsi),%xmm1 @@ -4921,6 +4926,7 @@ ecp_nistz256_scatter_w7: movdqa %xmm3,48(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w7,.-ecp_nistz256_scatter_w7 @@ -5655,26 +5661,16 @@ ecp_nistz256_point_add: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedq .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedq - testq %r9,%r9 - jz .Ladd_doubleq -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_doneq + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedq -.align 32 .Ladd_doubleq: .byte 102,72,15,126,206 .byte 102,72,15,126,199 @@ -6774,26 +6770,16 @@ ecp_nistz256_point_addx: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedx .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedx - testq %r9,%r9 - jz .Ladd_doublex -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_donex + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedx -.align 32 .Ladd_doublex: .byte 102,72,15,126,206 .byte 102,72,15,126,199 diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/ec/x25519-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/ec/x25519-x86_64.s index 2a18eaee288ce7..1788e568cda5d2 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/ec/x25519-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/ec/x25519-x86_64.s @@ -400,12 +400,14 @@ x25519_fe51_mul121666: .type x25519_fe64_eligible,@function .align 32 x25519_fe64_eligible: +.cfi_startproc movl OPENSSL_ia32cap_P+8(%rip),%ecx xorl %eax,%eax andl $0x80100,%ecx cmpl $0x80100,%ecx cmovel %ecx,%eax .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_eligible,.-x25519_fe64_eligible .globl x25519_fe64_mul @@ -648,6 +650,7 @@ x25519_fe64_sqr: .align 32 x25519_fe64_mul121666: .Lfe64_mul121666_body: +.cfi_startproc movl $121666,%edx mulxq 0(%rsi),%r8,%rcx mulxq 8(%rsi),%r9,%rax @@ -676,6 +679,7 @@ x25519_fe64_mul121666: .Lfe64_mul121666_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_mul121666,.-x25519_fe64_mul121666 .globl x25519_fe64_add @@ -683,6 +687,7 @@ x25519_fe64_mul121666: .align 32 x25519_fe64_add: .Lfe64_add_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -711,6 +716,7 @@ x25519_fe64_add: .Lfe64_add_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_add,.-x25519_fe64_add .globl x25519_fe64_sub @@ -718,6 +724,7 @@ x25519_fe64_add: .align 32 x25519_fe64_sub: .Lfe64_sub_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -746,6 +753,7 @@ x25519_fe64_sub: .Lfe64_sub_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_sub,.-x25519_fe64_sub .globl x25519_fe64_tobytes @@ -753,6 +761,7 @@ x25519_fe64_sub: .align 32 x25519_fe64_tobytes: .Lfe64_to_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -788,5 +797,6 @@ x25519_fe64_tobytes: .Lfe64_to_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_tobytes,.-x25519_fe64_tobytes .byte 88,50,53,53,49,57,32,112,114,105,109,105,116,105,118,101,115,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-x86_64/asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-x86_64/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/modes/aesni-gcm-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/modes/aesni-gcm-x86_64.s index 6a7a9577c7142f..01d89630a42f73 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/modes/aesni-gcm-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/modes/aesni-gcm-x86_64.s @@ -3,6 +3,7 @@ .type _aesni_ctr32_ghash_6x,@function .align 32 _aesni_ctr32_ghash_6x: +.cfi_startproc vmovdqu 32(%r11),%xmm2 subq $6,%rdx vpxor %xmm4,%xmm4,%xmm4 @@ -310,6 +311,7 @@ _aesni_ctr32_ghash_6x: vpxor %xmm4,%xmm8,%xmm8 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_ctr32_ghash_6x,.-_aesni_ctr32_ghash_6x .globl aesni_gcm_decrypt .type aesni_gcm_decrypt,@function @@ -416,6 +418,7 @@ aesni_gcm_decrypt: .type _aesni_ctr32_6x,@function .align 32 _aesni_ctr32_6x: +.cfi_startproc vmovdqu 0-128(%rcx),%xmm4 vmovdqu 32(%r11),%xmm2 leaq -1(%rbp),%r13 @@ -502,6 +505,7 @@ _aesni_ctr32_6x: vpshufb %xmm0,%xmm1,%xmm1 vpxor %xmm4,%xmm14,%xmm14 jmp .Loop_ctr32 +.cfi_endproc .size _aesni_ctr32_6x,.-_aesni_ctr32_6x .globl aesni_gcm_encrypt diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/poly1305/poly1305-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/poly1305/poly1305-x86_64.s index deb4f74bfbcd1b..987a65aab38147 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/poly1305/poly1305-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/poly1305/poly1305-x86_64.s @@ -12,6 +12,7 @@ .type poly1305_init,@function .align 32 poly1305_init: +.cfi_startproc xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -47,6 +48,7 @@ poly1305_init: movl $1,%eax .Lno_key: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_init,.-poly1305_init .type poly1305_blocks,@function @@ -167,6 +169,7 @@ poly1305_blocks: .type poly1305_emit,@function .align 32 poly1305_emit: +.cfi_startproc .Lemit: movq 0(%rdi),%r8 movq 8(%rdi),%r9 @@ -187,10 +190,12 @@ poly1305_emit: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit,.-poly1305_emit .type __poly1305_block,@function .align 32 __poly1305_block: +.cfi_startproc mulq %r14 movq %rax,%r9 movq %r11,%rax @@ -230,11 +235,13 @@ __poly1305_block: adcq $0,%rbx adcq $0,%rbp .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_block,.-__poly1305_block .type __poly1305_init_avx,@function .align 32 __poly1305_init_avx: +.cfi_startproc movq %r11,%r14 movq %r12,%rbx xorq %rbp,%rbp @@ -392,6 +399,7 @@ __poly1305_init_avx: leaq -48-64(%rdi),%rdi .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_init_avx,.-__poly1305_init_avx .type poly1305_blocks_avx,@function @@ -1232,6 +1240,7 @@ poly1305_blocks_avx: .type poly1305_emit_avx,@function .align 32 poly1305_emit_avx: +.cfi_startproc cmpl $0,20(%rdi) je .Lemit @@ -1282,6 +1291,7 @@ poly1305_emit_avx: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit_avx,.-poly1305_emit_avx .type poly1305_blocks_avx2,@function .align 32 @@ -2478,6 +2488,7 @@ poly1305_blocks_avx512: .type poly1305_init_base2_44,@function .align 32 poly1305_init_base2_44: +.cfi_startproc xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -2511,10 +2522,12 @@ poly1305_init_base2_44: movq %r11,8(%rdx) movl $1,%eax .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_init_base2_44,.-poly1305_init_base2_44 .type poly1305_blocks_vpmadd52,@function .align 32 poly1305_blocks_vpmadd52: +.cfi_startproc shrq $4,%rdx jz .Lno_data_vpmadd52 @@ -2621,10 +2634,12 @@ poly1305_blocks_vpmadd52: .Lno_data_vpmadd52: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_blocks_vpmadd52,.-poly1305_blocks_vpmadd52 .type poly1305_blocks_vpmadd52_4x,@function .align 32 poly1305_blocks_vpmadd52_4x: +.cfi_startproc shrq $4,%rdx jz .Lno_data_vpmadd52_4x @@ -3049,10 +3064,12 @@ poly1305_blocks_vpmadd52_4x: .Lno_data_vpmadd52_4x: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_blocks_vpmadd52_4x,.-poly1305_blocks_vpmadd52_4x .type poly1305_blocks_vpmadd52_8x,@function .align 32 poly1305_blocks_vpmadd52_8x: +.cfi_startproc shrq $4,%rdx jz .Lno_data_vpmadd52_8x @@ -3393,10 +3410,12 @@ poly1305_blocks_vpmadd52_8x: .Lno_data_vpmadd52_8x: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_blocks_vpmadd52_8x,.-poly1305_blocks_vpmadd52_8x .type poly1305_emit_base2_44,@function .align 32 poly1305_emit_base2_44: +.cfi_startproc movq 0(%rdi),%r8 movq 8(%rdi),%r9 movq 16(%rdi),%r10 @@ -3427,6 +3446,7 @@ poly1305_emit_base2_44: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit_base2_44,.-poly1305_emit_base2_44 .align 64 .Lconst: @@ -3465,6 +3485,7 @@ poly1305_emit_base2_44: .type xor128_encrypt_n_pad,@function .align 16 xor128_encrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -3506,12 +3527,14 @@ xor128_encrypt_n_pad: .Ldone_enc: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_encrypt_n_pad,.-xor128_encrypt_n_pad .globl xor128_decrypt_n_pad .type xor128_decrypt_n_pad,@function .align 16 xor128_decrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -3557,4 +3580,5 @@ xor128_decrypt_n_pad: .Ldone_dec: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_decrypt_n_pad,.-xor128_decrypt_n_pad diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/rc4/rc4-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/rc4/rc4-x86_64.s index fba70351d48d5c..b97c757550aad0 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/rc4/rc4-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/rc4/rc4-x86_64.s @@ -4,11 +4,12 @@ .globl RC4 .type RC4,@function .align 16 -RC4: orq %rsi,%rsi +RC4: +.cfi_startproc + orq %rsi,%rsi jne .Lentry .byte 0xf3,0xc3 .Lentry: -.cfi_startproc pushq %rbx .cfi_adjust_cfa_offset 8 .cfi_offset %rbx,-16 @@ -533,6 +534,7 @@ RC4: orq %rsi,%rsi .type RC4_set_key,@function .align 16 RC4_set_key: +.cfi_startproc leaq 8(%rdi),%rdi leaq (%rdx,%rsi,1),%rdx negq %rsi @@ -599,12 +601,14 @@ RC4_set_key: movl %eax,-8(%rdi) movl %eax,-4(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size RC4_set_key,.-RC4_set_key .globl RC4_options .type RC4_options,@function .align 16 RC4_options: +.cfi_startproc leaq .Lopts(%rip),%rax movl OPENSSL_ia32cap_P(%rip),%edx btl $20,%edx @@ -617,6 +621,7 @@ RC4_options: addq $12,%rax .Ldone: .byte 0xf3,0xc3 +.cfi_endproc .align 64 .Lopts: .byte 114,99,52,40,56,120,44,105,110,116,41,0 diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/keccak1600-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/keccak1600-x86_64.s index e511f25035b2b8..09617d014bdb7b 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/keccak1600-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/keccak1600-x86_64.s @@ -3,6 +3,7 @@ .type __KeccakF1600,@function .align 32 __KeccakF1600: +.cfi_startproc movq 60(%rdi),%rax movq 68(%rdi),%rbx movq 76(%rdi),%rcx @@ -255,6 +256,7 @@ __KeccakF1600: leaq -192(%r15),%r15 .byte 0xf3,0xc3 +.cfi_endproc .size __KeccakF1600,.-__KeccakF1600 .type KeccakF1600,@function diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/sha1-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/sha1-x86_64.s index e436521a040f66..98541727e555da 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/sha1-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/sha1-x86_64.s @@ -1421,8 +1421,8 @@ _shaext_shortcut: pshufd $27,%xmm1,%xmm1 movdqu %xmm0,(%rdi) movd %xmm1,16(%rdi) -.cfi_endproc .byte 0xf3,0xc3 +.cfi_endproc .size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext .type sha1_block_data_order_ssse3,@function .align 16 diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/sha256-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/sha256-x86_64.s index 42b24df18e5afe..9357385da3c49b 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/sha256-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/sha256-x86_64.s @@ -1775,6 +1775,7 @@ K256: .align 64 sha256_block_data_order_shaext: _shaext_shortcut: +.cfi_startproc leaq K256+128(%rip),%rcx movdqu (%rdi),%xmm1 movdqu 16(%rdi),%xmm2 @@ -1977,6 +1978,7 @@ _shaext_shortcut: movdqu %xmm1,(%rdi) movdqu %xmm2,16(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size sha256_block_data_order_shaext,.-sha256_block_data_order_shaext .type sha256_block_data_order_ssse3,@function .align 64 @@ -4238,7 +4240,15 @@ sha256_block_data_order_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 88(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -64(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%edi vmovdqa %ymm6,0(%rsp) xorl %ecx,%edi @@ -4250,6 +4260,12 @@ sha256_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4505,6 +4521,12 @@ sha256_block_data_order_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -5380,6 +5402,8 @@ sha256_block_data_order_avx2: leaq 448(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08 + addl 0(%rdi),%eax addl 4(%rdi),%ebx addl 8(%rdi),%ecx @@ -5405,9 +5429,11 @@ sha256_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xd8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 88(%rsp),%rsi + movq 88(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/sha512-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/sha512-x86_64.s index 5931a2a93234d0..939f1ca71c9394 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/sha512-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/sha/sha512-x86_64.s @@ -4165,7 +4165,15 @@ sha512_block_data_order_avx2: vmovdqa %ymm10,64(%rsp) vpaddq 64(%rbp),%ymm6,%ymm10 vmovdqa %ymm11,96(%rsp) + + movq 152(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -128(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpaddq 96(%rbp),%ymm7,%ymm11 vmovdqa %ymm8,0(%rsp) xorq %r14,%r14 @@ -4181,6 +4189,12 @@ sha512_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm0,%ymm1,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -4474,6 +4488,12 @@ sha512_block_data_order_avx2: movq %r9,%r12 vmovdqa %ymm10,96(%rsp) leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm4,%ymm5,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -5387,6 +5407,8 @@ sha512_block_data_order_avx2: leaq 1152(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08 + addq 0(%rdi),%rax addq 8(%rdi),%rbx addq 16(%rdi),%rcx @@ -5412,9 +5434,11 @@ sha512_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0x98,0x01,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 152(%rsp),%rsi + movq 152(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/x86_64cpuid.s b/deps/openssl/config/archs/linux-x86_64/asm/crypto/x86_64cpuid.s index fd17eaaba49576..9268ce8c9a9d63 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/x86_64cpuid.s +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/x86_64cpuid.s @@ -12,6 +12,7 @@ .type OPENSSL_atomic_add,@function .align 16 OPENSSL_atomic_add: +.cfi_startproc movl (%rdi),%eax .Lspin: leaq (%rsi,%rax,1),%r8 .byte 0xf0 @@ -20,16 +21,19 @@ OPENSSL_atomic_add: movl %r8d,%eax .byte 0x48,0x98 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_atomic_add,.-OPENSSL_atomic_add .globl OPENSSL_rdtsc .type OPENSSL_rdtsc,@function .align 16 OPENSSL_rdtsc: +.cfi_startproc rdtsc shlq $32,%rdx orq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_rdtsc,.-OPENSSL_rdtsc .globl OPENSSL_ia32_cpuid @@ -205,6 +209,7 @@ OPENSSL_ia32_cpuid: .type OPENSSL_cleanse,@function .align 16 OPENSSL_cleanse: +.cfi_startproc xorq %rax,%rax cmpq $15,%rsi jae .Lot @@ -234,12 +239,14 @@ OPENSSL_cleanse: cmpq $0,%rsi jne .Little .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_cleanse,.-OPENSSL_cleanse .globl CRYPTO_memcmp .type CRYPTO_memcmp,@function .align 16 CRYPTO_memcmp: +.cfi_startproc xorq %rax,%rax xorq %r10,%r10 cmpq $0,%rdx @@ -268,11 +275,13 @@ CRYPTO_memcmp: shrq $63,%rax .Lno_data: .byte 0xf3,0xc3 +.cfi_endproc .size CRYPTO_memcmp,.-CRYPTO_memcmp .globl OPENSSL_wipe_cpu .type OPENSSL_wipe_cpu,@function .align 16 OPENSSL_wipe_cpu: +.cfi_startproc pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 @@ -299,11 +308,13 @@ OPENSSL_wipe_cpu: xorq %r11,%r11 leaq 8(%rsp),%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu .globl OPENSSL_instrument_bus .type OPENSSL_instrument_bus,@function .align 16 OPENSSL_instrument_bus: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rsi,%r11 @@ -330,12 +341,14 @@ OPENSSL_instrument_bus: movq %r11,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus,.-OPENSSL_instrument_bus .globl OPENSSL_instrument_bus2 .type OPENSSL_instrument_bus2,@function .align 16 OPENSSL_instrument_bus2: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rdx,%r11 @@ -378,11 +391,13 @@ OPENSSL_instrument_bus2: movq 8(%rsp),%rax subq %rcx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2 .globl OPENSSL_ia32_rdrand_bytes .type OPENSSL_ia32_rdrand_bytes,@function .align 16 OPENSSL_ia32_rdrand_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdrand_bytes @@ -419,11 +434,13 @@ OPENSSL_ia32_rdrand_bytes: .Ldone_rdrand_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdrand_bytes,.-OPENSSL_ia32_rdrand_bytes .globl OPENSSL_ia32_rdseed_bytes .type OPENSSL_ia32_rdseed_bytes,@function .align 16 OPENSSL_ia32_rdseed_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdseed_bytes @@ -460,4 +477,5 @@ OPENSSL_ia32_rdseed_bytes: .Ldone_rdseed_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdseed_bytes,.-OPENSSL_ia32_rdseed_bytes diff --git a/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/opensslconf.h index 913bb95a5a8a42..14050a45347f62 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-x86_64/asm/include/progs.h b/deps/openssl/config/archs/linux-x86_64/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/include/progs.h +++ b/deps/openssl/config/archs/linux-x86_64/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-x86_64/asm/openssl-cl.gypi b/deps/openssl/config/archs/linux-x86_64/asm/openssl-cl.gypi index b134d72e7dc477..04e53d9f2ae658 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/openssl-cl.gypi +++ b/deps/openssl/config/archs/linux-x86_64/asm/openssl-cl.gypi @@ -16,6 +16,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/linux-x86_64/asm/openssl.gypi b/deps/openssl/config/archs/linux-x86_64/asm/openssl.gypi index 92491dbd9f1334..dd7045e3ac025a 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/openssl.gypi +++ b/deps/openssl/config/archs/linux-x86_64/asm/openssl.gypi @@ -723,6 +723,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux-x86_64/asm_avx2/configdata.pm index b2a66729ebcce6..4c4db242e4e88e 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/configdata.pm @@ -49,14 +49,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "AESNI_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)../config/fake_gcc.pl", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -112,8 +112,8 @@ our %config = ( sourcedir => ".", target => "linux-x86_64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -241,6 +241,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -358,8 +359,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -627,14 +628,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -710,6 +703,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1507,6 +1508,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3261,7 +3268,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3269,6 +3275,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3767,14 +3774,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4215,6 +4214,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4909,49 +4916,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4961,25 +4960,21 @@ our %unified_info = ( "crypto/aes/aesni-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4997,13 +4992,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -5017,613 +5010,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5637,7 +5528,6 @@ our %unified_info = ( "crypto/bn/asm/x86_64-gcc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5647,182 +5537,152 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5832,19 +5692,16 @@ our %unified_info = ( "crypto/bn/rsaz-avx2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz_exp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5870,31 +5727,26 @@ our %unified_info = ( "crypto/bn/x86_64-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont5.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5904,37 +5756,31 @@ our %unified_info = ( "crypto/camellia/cmll-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5944,31 +5790,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5986,278 +5827,232 @@ our %unified_info = ( "crypto/chacha/chacha-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6267,301 +6062,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6569,7 +6314,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6577,7 +6321,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6585,7 +6328,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6593,7 +6335,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6601,7 +6342,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6609,163 +6349,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6783,241 +6496,201 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7025,21 +6698,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7047,13 +6717,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7061,81 +6729,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7143,328 +6798,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7474,91 +7068,76 @@ our %unified_info = ( "crypto/md5/md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/aesni-gcm-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7577,7 +7156,6 @@ our %unified_info = ( "crypto/modes/ghash-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7587,361 +7165,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7963,265 +7481,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8231,31 +7705,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8265,7 +7734,6 @@ our %unified_info = ( "crypto/sha/keccak1600-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8279,7 +7747,6 @@ our %unified_info = ( "crypto/sha/sha1-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-mips.o" => @@ -8297,19 +7764,16 @@ our %unified_info = ( "crypto/sha/sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8323,7 +7787,6 @@ our %unified_info = ( "crypto/sha/sha256-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-mips.o" => @@ -8341,13 +7804,11 @@ our %unified_info = ( "crypto/sha/sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8373,727 +7834,606 @@ our %unified_info = ( "crypto/sha/sha512-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86_64cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86_64.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9144,6 +8484,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9388,7 +8736,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9714,7 +9061,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9760,7 +9106,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9826,7 +9171,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9851,7 +9195,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9949,7 +9292,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9999,18 +9341,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -10021,6 +9360,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10084,10 +9427,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10116,6 +9455,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10380,6 +9723,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15385,7 +14729,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15393,6 +14736,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15620,6 +14964,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15722,10 +15074,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15754,6 +15102,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aes-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aes-x86_64.s deleted file mode 100644 index f0c1685fb93450..00000000000000 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aes-x86_64.s +++ /dev/null @@ -1,2649 +0,0 @@ -.text -.type _x86_64_AES_encrypt,@function -.align 16 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Lenc_loop -.align 16 -.Lenc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz .Lenc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_encrypt,.-_x86_64_AES_encrypt -.type _x86_64_AES_encrypt_compact,@function -.align 16 -_x86_64_AES_encrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Lenc_loop_compact -.align 16 -.Lenc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Lenc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp .Lenc_loop_compact -.align 16 -.Lenc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact -.globl AES_encrypt -.type AES_encrypt,@function -.align 16 -.globl asm_AES_encrypt -.hidden asm_AES_encrypt -asm_AES_encrypt: -AES_encrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Lenc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lenc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_encrypt,.-AES_encrypt -.type _x86_64_AES_decrypt,@function -.align 16 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Ldec_loop -.align 16 -.Ldec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz .Ldec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_decrypt,.-_x86_64_AES_decrypt -.type _x86_64_AES_decrypt_compact,@function -.align 16 -_x86_64_AES_decrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Ldec_loop_compact - -.align 16 -.Ldec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Ldec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp .Ldec_loop_compact -.align 16 -.Ldec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact -.globl AES_decrypt -.type AES_decrypt,@function -.align 16 -.globl asm_AES_decrypt -.hidden asm_AES_decrypt -asm_AES_decrypt: -AES_decrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Ldec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Ldec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_decrypt,.-AES_decrypt -.globl AES_set_encrypt_key -.type AES_set_encrypt_key,@function -.align 16 -AES_set_encrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $8,%rsp -.cfi_adjust_cfa_offset 8 -.Lenc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Lenc_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_encrypt_key,.-AES_set_encrypt_key - -.type _x86_64_AES_set_encrypt_key,@function -.align 16 -_x86_64_AES_set_encrypt_key: -.cfi_startproc - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz .Lbadpointer - testq $-1,%rdi - jz .Lbadpointer - - leaq .LAES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je .L10rounds - cmpl $192,%ecx - je .L12rounds - cmpl $256,%ecx - je .L14rounds - movq $-2,%rax - jmp .Lexit - -.L10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L10shortcut -.align 4 -.L10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -.L10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl .L10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L12shortcut -.align 4 -.L12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -.L12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je .L12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp .L12loop -.L12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L14shortcut -.align 4 -.L14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -.L14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je .L14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp .L14loop -.L14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp .Lexit - -.Lbadpointer: - movq $-1,%rax -.Lexit: -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key -.globl AES_set_decrypt_key -.type AES_set_decrypt_key,@function -.align 16 -AES_set_decrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - pushq %rdx -.cfi_adjust_cfa_offset 8 -.Ldec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne .Labort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.align 4 -.Linvert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne .Linvert - - leaq .LAES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.align 4 -.Lpermute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz .Lpermute - - xorq %rax,%rax -.Labort: - movq 8(%rsp),%r15 -.cfi_restore %r15 - movq 16(%rsp),%r14 -.cfi_restore %r14 - movq 24(%rsp),%r13 -.cfi_restore %r13 - movq 32(%rsp),%r12 -.cfi_restore %r12 - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Ldec_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_decrypt_key,.-AES_set_decrypt_key -.globl AES_cbc_encrypt -.type AES_cbc_encrypt,@function -.align 16 - -.globl asm_AES_cbc_encrypt -.hidden asm_AES_cbc_encrypt -asm_AES_cbc_encrypt: -AES_cbc_encrypt: -.cfi_startproc - cmpq $0,%rdx - je .Lcbc_epilogue - pushfq - - -.cfi_adjust_cfa_offset 8 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-32 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-40 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-48 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-56 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-64 -.Lcbc_prologue: - - cld - movl %r9d,%r9d - - leaq .LAES_Te(%rip),%r14 - leaq .LAES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - -.cfi_remember_state - movl OPENSSL_ia32cap_P(%rip),%r10d - cmpq $512,%rdx - jb .Lcbc_slow_prologue - testq $15,%rdx - jnz .Lcbc_slow_prologue - btl $28,%r10d - jc .Lcbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb .Lcbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp .Lcbc_te_ok -.Lcbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.align 4 -.Lcbc_te_ok: - - xchgq %rsp,%r15 -.cfi_def_cfa_register %r15 - - movq %r15,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb .Lcbc_do_ecopy - cmpq $4096-248,%r10 - jb .Lcbc_skip_ecopy -.align 4 -.Lcbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -.Lcbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.align 4 -.Lcbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz .Lcbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je .LFAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.align 4 -.Lcbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz .Lcbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_fast_cleanup - - -.align 16 -.LFAST_DECRYPT: - cmpq %r8,%r9 - je .Lcbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.align 4 -.Lcbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz .Lcbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp .Lcbc_fast_cleanup - -.align 16 -.Lcbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.align 4 -.Lcbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz .Lcbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp .Lcbc_fast_dec_in_place_loop -.Lcbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.align 4 -.Lcbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je .Lcbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp .Lcbc_exit - - -.align 16 -.Lcbc_slow_prologue: -.cfi_restore_state - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp -.cfi_def_cfa_register %rbp - - movq %rbp,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je .LSLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz .Lcbc_slow_enc_tail - -.align 4 -.Lcbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz .Lcbc_slow_enc_loop - testq $15,%r10 - jnz .Lcbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp .Lcbc_slow_enc_loop - -.align 16 -.LSLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.align 4 -.Lcbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc .Lcbc_slow_dec_partial - jz .Lcbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp .Lcbc_slow_dec_loop -.Lcbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp .Lcbc_exit - -.align 16 -.Lcbc_exit: - movq 16(%rsp),%rsi -.cfi_def_cfa %rsi,64 - movq (%rsi),%r15 -.cfi_restore %r15 - movq 8(%rsi),%r14 -.cfi_restore %r14 - movq 16(%rsi),%r13 -.cfi_restore %r13 - movq 24(%rsi),%r12 -.cfi_restore %r12 - movq 32(%rsi),%rbp -.cfi_restore %rbp - movq 40(%rsi),%rbx -.cfi_restore %rbx - leaq 48(%rsi),%rsp -.cfi_def_cfa %rsp,16 -.Lcbc_popfq: - popfq - - -.cfi_adjust_cfa_offset -8 -.Lcbc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_cbc_encrypt,.-AES_cbc_encrypt -.align 64 -.LAES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.align 64 -.LAES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aesni-sha1-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aesni-sha1-x86_64.s index 4d2dfe44898fd5..978bd2b6239c15 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aesni-sha1-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha1_enc,@function .align 32 aesni_cbc_sha1_enc: +.cfi_startproc movl OPENSSL_ia32cap_P+0(%rip),%r10d movq OPENSSL_ia32cap_P+4(%rip),%r11 @@ -17,6 +18,7 @@ aesni_cbc_sha1_enc: je aesni_cbc_sha1_enc_avx jmp aesni_cbc_sha1_enc_ssse3 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc .type aesni_cbc_sha1_enc_ssse3,@function .align 32 @@ -2730,6 +2732,7 @@ K_XX_XX: .type aesni_cbc_sha1_enc_shaext,@function .align 32 aesni_cbc_sha1_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 movdqu (%r9),%xmm8 movd 16(%r9),%xmm9 @@ -3028,4 +3031,5 @@ aesni_cbc_sha1_enc_shaext: movdqu %xmm8,(%r9) movd %xmm9,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aesni-sha256-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aesni-sha256-x86_64.s index 5a47b3ee51b741..dd09f1b290af62 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aesni-sha256-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aesni-sha256-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha256_enc,@function .align 16 aesni_cbc_sha256_enc: +.cfi_startproc leaq OPENSSL_ia32cap_P(%rip),%r11 movl $1,%eax cmpq $0,%rdi @@ -30,6 +31,7 @@ aesni_cbc_sha256_enc: ud2 .Lprobe: .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc,.-aesni_cbc_sha256_enc .align 64 @@ -2528,7 +2530,15 @@ aesni_cbc_sha256_enc_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 120(%rsp),%rsi +.cfi_def_cfa %rsi,8 leaq -64(%rsp),%rsp + + + + movq %rsi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%esi vmovdqa %ymm6,0(%rsp) xorl %ecx,%esi @@ -2542,6 +2552,12 @@ aesni_cbc_sha256_enc_avx2: vmovdqu (%r13),%xmm9 vpinsrq $0,%r13,%xmm15,%xmm15 leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -2816,6 +2832,12 @@ aesni_cbc_sha256_enc_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4029,10 +4051,12 @@ aesni_cbc_sha256_enc_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xf8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 64+32(%rsp),%r8 - movq 120(%rsp),%rsi + movq 64+32(%rbp),%r8 + movq 64+56(%rbp),%rsi .cfi_def_cfa %rsi,8 vmovdqu %xmm8,(%r8) vzeroall @@ -4057,6 +4081,7 @@ aesni_cbc_sha256_enc_avx2: .type aesni_cbc_sha256_enc_shaext,@function .align 32 aesni_cbc_sha256_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 leaq K256+128(%rip),%rax movdqu (%r9),%xmm1 @@ -4406,4 +4431,5 @@ aesni_cbc_sha256_enc_shaext: movdqu %xmm1,(%r9) movdqu %xmm2,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc_shaext,.-aesni_cbc_sha256_enc_shaext diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aesni-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aesni-x86_64.s index 2986a647c1bb05..c1e791eff59235 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aesni-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/aesni-x86_64.s @@ -861,6 +861,7 @@ aesni_ecb_encrypt: .type aesni_ccm64_encrypt_blocks,@function .align 16 aesni_ccm64_encrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movdqu (%r8),%xmm6 movdqa .Lincrement64(%rip),%xmm9 @@ -919,11 +920,13 @@ aesni_ccm64_encrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks .globl aesni_ccm64_decrypt_blocks .type aesni_ccm64_decrypt_blocks,@function .align 16 aesni_ccm64_decrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movups (%r8),%xmm6 movdqu (%r9),%xmm3 @@ -1016,6 +1019,7 @@ aesni_ccm64_decrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks .globl aesni_ctr32_encrypt_blocks .type aesni_ctr32_encrypt_blocks,@function @@ -2790,6 +2794,7 @@ aesni_ocb_encrypt: .type __ocb_encrypt6,@function .align 32 __ocb_encrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2887,11 +2892,13 @@ __ocb_encrypt6: .byte 102,65,15,56,221,246 .byte 102,65,15,56,221,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt6,.-__ocb_encrypt6 .type __ocb_encrypt4,@function .align 32 __ocb_encrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2956,11 +2963,13 @@ __ocb_encrypt4: .byte 102,65,15,56,221,228 .byte 102,65,15,56,221,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt4,.-__ocb_encrypt4 .type __ocb_encrypt1,@function .align 32 __ocb_encrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm2,%xmm8 @@ -2991,6 +3000,7 @@ __ocb_encrypt1: .byte 102,15,56,221,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt1,.-__ocb_encrypt1 .globl aesni_ocb_decrypt @@ -3233,6 +3243,7 @@ aesni_ocb_decrypt: .type __ocb_decrypt6,@function .align 32 __ocb_decrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3324,11 +3335,13 @@ __ocb_decrypt6: .byte 102,65,15,56,223,246 .byte 102,65,15,56,223,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt6,.-__ocb_decrypt6 .type __ocb_decrypt4,@function .align 32 __ocb_decrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3389,11 +3402,13 @@ __ocb_decrypt4: .byte 102,65,15,56,223,228 .byte 102,65,15,56,223,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt4,.-__ocb_decrypt4 .type __ocb_decrypt1,@function .align 32 __ocb_decrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm7,%xmm2 @@ -3423,6 +3438,7 @@ __ocb_decrypt1: .byte 102,15,56,223,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt1,.-__ocb_decrypt1 .globl aesni_cbc_encrypt .type aesni_cbc_encrypt,@function @@ -4361,7 +4377,6 @@ __aesni_set_encrypt_key: addq $8,%rsp .cfi_adjust_cfa_offset -8 .byte 0xf3,0xc3 -.cfi_endproc .LSEH_end_set_encrypt_key: .align 16 @@ -4432,6 +4447,7 @@ __aesni_set_encrypt_key: shufps $170,%xmm1,%xmm1 xorps %xmm1,%xmm2 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_set_encrypt_key,.-aesni_set_encrypt_key .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key .align 64 diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/bsaes-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/bsaes-x86_64.s deleted file mode 100644 index e1f3abadbc7214..00000000000000 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/aes/bsaes-x86_64.s +++ /dev/null @@ -1,2595 +0,0 @@ -.text - - - - -.type _bsaes_encrypt8,@function -.align 64 -_bsaes_encrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa 80(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 -_bsaes_encrypt8_bitslice: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Lenc_sbox -.align 16 -.Lenc_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Lenc_sbox: - pxor %xmm5,%xmm4 - pxor %xmm0,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm1,%xmm5 - pxor %xmm15,%xmm4 - - pxor %xmm2,%xmm5 - pxor %xmm6,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm3,%xmm2 - pxor %xmm4,%xmm3 - pxor %xmm0,%xmm2 - - pxor %xmm6,%xmm1 - pxor %xmm4,%xmm0 - movdqa %xmm6,%xmm10 - movdqa %xmm0,%xmm9 - movdqa %xmm4,%xmm8 - movdqa %xmm1,%xmm12 - movdqa %xmm5,%xmm11 - - pxor %xmm3,%xmm10 - pxor %xmm1,%xmm9 - pxor %xmm2,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm3,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm15,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm2,%xmm11 - pxor %xmm15,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm6,%xmm12 - movdqa %xmm4,%xmm11 - pxor %xmm0,%xmm12 - pxor %xmm5,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm1,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm3,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm0,%xmm13 - pand %xmm2,%xmm11 - movdqa %xmm6,%xmm14 - pand %xmm15,%xmm12 - pand %xmm4,%xmm13 - por %xmm5,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm5,%xmm11 - movdqa %xmm4,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm5,%xmm9 - pxor %xmm4,%xmm5 - pand %xmm14,%xmm4 - pand %xmm13,%xmm5 - pxor %xmm4,%xmm5 - pxor %xmm9,%xmm4 - pxor %xmm15,%xmm11 - pxor %xmm2,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm2,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm2 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm2,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm2 - pxor %xmm11,%xmm5 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm2 - - movdqa %xmm6,%xmm11 - movdqa %xmm0,%xmm7 - pxor %xmm3,%xmm11 - pxor %xmm1,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm3,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm1,%xmm3 - pand %xmm14,%xmm7 - pand %xmm12,%xmm1 - pand %xmm13,%xmm11 - pand %xmm8,%xmm3 - pxor %xmm11,%xmm7 - pxor %xmm1,%xmm3 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm1 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm6,%xmm10 - pxor %xmm0,%xmm6 - pand %xmm14,%xmm0 - pand %xmm13,%xmm6 - pxor %xmm0,%xmm6 - pxor %xmm10,%xmm0 - pxor %xmm11,%xmm6 - pxor %xmm11,%xmm3 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm1 - pxor %xmm15,%xmm6 - pxor %xmm5,%xmm0 - pxor %xmm6,%xmm3 - pxor %xmm15,%xmm5 - pxor %xmm0,%xmm15 - - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm4 - pxor %xmm2,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm4,%xmm3 - - pxor %xmm2,%xmm5 - decl %r10d - jl .Lenc_done - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm3,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm5,%xmm10 - pxor %xmm9,%xmm3 - pshufd $0x93,%xmm2,%xmm11 - pxor %xmm10,%xmm5 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm2 - pshufd $0x93,%xmm1,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm1 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm2,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm5,%xmm11 - pshufd $0x4E,%xmm2,%xmm7 - pxor %xmm1,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm3,%xmm10 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm1,%xmm5 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm12,%xmm8 - pxor %xmm10,%xmm2 - pxor %xmm14,%xmm6 - pxor %xmm13,%xmm5 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm1 - movdqa %xmm8,%xmm4 - movdqa 48(%r11),%xmm7 - jnz .Lenc_loop - movdqa 64(%r11),%xmm7 - jmp .Lenc_loop -.align 16 -.Lenc_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm2,%xmm10 - psrlq $1,%xmm2 - pxor %xmm4,%xmm1 - pxor %xmm6,%xmm2 - pand %xmm7,%xmm1 - pand %xmm7,%xmm2 - pxor %xmm1,%xmm4 - psllq $1,%xmm1 - pxor %xmm2,%xmm6 - psllq $1,%xmm2 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm2 - movdqa %xmm3,%xmm9 - psrlq $1,%xmm3 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm5,%xmm3 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm3 - pand %xmm7,%xmm15 - pxor %xmm3,%xmm5 - psllq $1,%xmm3 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm2,%xmm10 - psrlq $2,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm1,%xmm2 - pand %xmm8,%xmm6 - pand %xmm8,%xmm2 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm2,%xmm1 - psllq $2,%xmm2 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm2 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm5,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm5 - psllq $2,%xmm0 - pxor %xmm15,%xmm3 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm5,%xmm9 - psrlq $4,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $4,%xmm3 - pxor %xmm4,%xmm5 - pxor %xmm1,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm4 - psllq $4,%xmm5 - pxor %xmm3,%xmm1 - psllq $4,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm2,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm2 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_encrypt8,.-_bsaes_encrypt8 - -.type _bsaes_decrypt8,@function -.align 64 -_bsaes_decrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa -48(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Ldec_sbox -.align 16 -.Ldec_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Ldec_sbox: - pxor %xmm3,%xmm2 - - pxor %xmm6,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm3,%xmm5 - pxor %xmm5,%xmm6 - pxor %xmm6,%xmm0 - - pxor %xmm0,%xmm15 - pxor %xmm4,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm15,%xmm4 - pxor %xmm2,%xmm0 - movdqa %xmm2,%xmm10 - movdqa %xmm6,%xmm9 - movdqa %xmm0,%xmm8 - movdqa %xmm3,%xmm12 - movdqa %xmm4,%xmm11 - - pxor %xmm15,%xmm10 - pxor %xmm3,%xmm9 - pxor %xmm5,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm15,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm1,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm5,%xmm11 - pxor %xmm1,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm2,%xmm12 - movdqa %xmm0,%xmm11 - pxor %xmm6,%xmm12 - pxor %xmm4,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm3,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm15,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm6,%xmm13 - pand %xmm5,%xmm11 - movdqa %xmm2,%xmm14 - pand %xmm1,%xmm12 - pand %xmm0,%xmm13 - por %xmm4,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm4,%xmm11 - movdqa %xmm0,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm4,%xmm9 - pxor %xmm0,%xmm4 - pand %xmm14,%xmm0 - pand %xmm13,%xmm4 - pxor %xmm0,%xmm4 - pxor %xmm9,%xmm0 - pxor %xmm1,%xmm11 - pxor %xmm5,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm1,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm5,%xmm1 - pand %xmm14,%xmm7 - pand %xmm12,%xmm5 - pand %xmm13,%xmm11 - pand %xmm8,%xmm1 - pxor %xmm11,%xmm7 - pxor %xmm5,%xmm1 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm5 - pxor %xmm11,%xmm4 - pxor %xmm11,%xmm1 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm5 - - movdqa %xmm2,%xmm11 - movdqa %xmm6,%xmm7 - pxor %xmm15,%xmm11 - pxor %xmm3,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm3,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm3 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm3,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm3 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm2,%xmm10 - pxor %xmm6,%xmm2 - pand %xmm14,%xmm6 - pand %xmm13,%xmm2 - pxor %xmm6,%xmm2 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm3 - pxor %xmm6,%xmm0 - pxor %xmm4,%xmm5 - - pxor %xmm0,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm6,%xmm4 - pxor %xmm1,%xmm3 - pxor %xmm15,%xmm6 - pxor %xmm4,%xmm3 - pxor %xmm5,%xmm2 - pxor %xmm0,%xmm5 - pxor %xmm3,%xmm2 - - pxor %xmm15,%xmm3 - pxor %xmm2,%xmm6 - decl %r10d - jl .Ldec_done - - pshufd $0x4E,%xmm15,%xmm7 - pshufd $0x4E,%xmm2,%xmm13 - pxor %xmm15,%xmm7 - pshufd $0x4E,%xmm4,%xmm14 - pxor %xmm2,%xmm13 - pshufd $0x4E,%xmm0,%xmm8 - pxor %xmm4,%xmm14 - pshufd $0x4E,%xmm5,%xmm9 - pxor %xmm0,%xmm8 - pshufd $0x4E,%xmm3,%xmm10 - pxor %xmm5,%xmm9 - pxor %xmm13,%xmm15 - pxor %xmm13,%xmm0 - pshufd $0x4E,%xmm1,%xmm11 - pxor %xmm3,%xmm10 - pxor %xmm7,%xmm5 - pxor %xmm8,%xmm3 - pshufd $0x4E,%xmm6,%xmm12 - pxor %xmm1,%xmm11 - pxor %xmm14,%xmm0 - pxor %xmm9,%xmm1 - pxor %xmm6,%xmm12 - - pxor %xmm14,%xmm5 - pxor %xmm13,%xmm3 - pxor %xmm13,%xmm1 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm14,%xmm1 - pxor %xmm14,%xmm6 - pxor %xmm12,%xmm4 - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm5,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm3,%xmm10 - pxor %xmm9,%xmm5 - pshufd $0x93,%xmm1,%xmm11 - pxor %xmm10,%xmm3 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm1 - pshufd $0x93,%xmm2,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm2 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm1,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm3,%xmm11 - pshufd $0x4E,%xmm1,%xmm7 - pxor %xmm2,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm5,%xmm10 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm2,%xmm3 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm12,%xmm8 - pxor %xmm1,%xmm10 - pxor %xmm14,%xmm6 - pxor %xmm3,%xmm13 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm2 - movdqa %xmm13,%xmm5 - movdqa %xmm8,%xmm4 - movdqa %xmm2,%xmm1 - movdqa %xmm10,%xmm2 - movdqa -16(%r11),%xmm7 - jnz .Ldec_loop - movdqa -32(%r11),%xmm7 - jmp .Ldec_loop -.align 16 -.Ldec_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm2,%xmm9 - psrlq $1,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $1,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm6,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm4 - psllq $1,%xmm2 - pxor %xmm1,%xmm6 - psllq $1,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm3,%xmm5 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm5 - pand %xmm7,%xmm15 - pxor %xmm5,%xmm3 - psllq $1,%xmm5 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm1,%xmm10 - psrlq $2,%xmm1 - pxor %xmm4,%xmm6 - pxor %xmm2,%xmm1 - pand %xmm8,%xmm6 - pand %xmm8,%xmm1 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm1,%xmm2 - psllq $2,%xmm1 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm3,%xmm0 - pxor %xmm5,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm3 - psllq $2,%xmm0 - pxor %xmm15,%xmm5 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm3,%xmm9 - psrlq $4,%xmm3 - movdqa %xmm5,%xmm10 - psrlq $4,%xmm5 - pxor %xmm4,%xmm3 - pxor %xmm2,%xmm5 - pand %xmm7,%xmm3 - pand %xmm7,%xmm5 - pxor %xmm3,%xmm4 - psllq $4,%xmm3 - pxor %xmm5,%xmm2 - psllq $4,%xmm5 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm5 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm1 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_decrypt8,.-_bsaes_decrypt8 -.type _bsaes_key_convert,@function -.align 16 -_bsaes_key_convert: -.cfi_startproc - leaq .Lmasks(%rip),%r11 - movdqu (%rcx),%xmm7 - leaq 16(%rcx),%rcx - movdqa 0(%r11),%xmm0 - movdqa 16(%r11),%xmm1 - movdqa 32(%r11),%xmm2 - movdqa 48(%r11),%xmm3 - movdqa 64(%r11),%xmm4 - pcmpeqd %xmm5,%xmm5 - - movdqu (%rcx),%xmm6 - movdqa %xmm7,(%rax) - leaq 16(%rax),%rax - decl %r10d - jmp .Lkey_loop -.align 16 -.Lkey_loop: -.byte 102,15,56,0,244 - - movdqa %xmm0,%xmm8 - movdqa %xmm1,%xmm9 - - pand %xmm6,%xmm8 - pand %xmm6,%xmm9 - movdqa %xmm2,%xmm10 - pcmpeqb %xmm0,%xmm8 - psllq $4,%xmm0 - movdqa %xmm3,%xmm11 - pcmpeqb %xmm1,%xmm9 - psllq $4,%xmm1 - - pand %xmm6,%xmm10 - pand %xmm6,%xmm11 - movdqa %xmm0,%xmm12 - pcmpeqb %xmm2,%xmm10 - psllq $4,%xmm2 - movdqa %xmm1,%xmm13 - pcmpeqb %xmm3,%xmm11 - psllq $4,%xmm3 - - movdqa %xmm2,%xmm14 - movdqa %xmm3,%xmm15 - pxor %xmm5,%xmm8 - pxor %xmm5,%xmm9 - - pand %xmm6,%xmm12 - pand %xmm6,%xmm13 - movdqa %xmm8,0(%rax) - pcmpeqb %xmm0,%xmm12 - psrlq $4,%xmm0 - movdqa %xmm9,16(%rax) - pcmpeqb %xmm1,%xmm13 - psrlq $4,%xmm1 - leaq 16(%rcx),%rcx - - pand %xmm6,%xmm14 - pand %xmm6,%xmm15 - movdqa %xmm10,32(%rax) - pcmpeqb %xmm2,%xmm14 - psrlq $4,%xmm2 - movdqa %xmm11,48(%rax) - pcmpeqb %xmm3,%xmm15 - psrlq $4,%xmm3 - movdqu (%rcx),%xmm6 - - pxor %xmm5,%xmm13 - pxor %xmm5,%xmm14 - movdqa %xmm12,64(%rax) - movdqa %xmm13,80(%rax) - movdqa %xmm14,96(%rax) - movdqa %xmm15,112(%rax) - leaq 128(%rax),%rax - decl %r10d - jnz .Lkey_loop - - movdqa 80(%r11),%xmm7 - - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_key_convert,.-_bsaes_key_convert - -.globl bsaes_cbc_encrypt -.type bsaes_cbc_encrypt,@function -.align 16 -bsaes_cbc_encrypt: -.cfi_startproc - cmpl $0,%r9d - jne asm_AES_cbc_encrypt - cmpq $128,%rdx - jb asm_AES_cbc_encrypt - - movq %rsp,%rax -.Lcbc_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movq %r8,%rbx - shrq $4,%r14 - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - movdqu (%rbx),%xmm14 - subq $8,%r14 -.Lcbc_dec_loop: - movdqu 0(%r12),%xmm15 - movdqu 16(%r12),%xmm0 - movdqu 32(%r12),%xmm1 - movdqu 48(%r12),%xmm2 - movdqu 64(%r12),%xmm3 - movdqu 80(%r12),%xmm4 - movq %rsp,%rax - movdqu 96(%r12),%xmm5 - movl %edx,%r10d - movdqu 112(%r12),%xmm6 - movdqa %xmm14,32(%rbp) - - call _bsaes_decrypt8 - - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm2 - movdqu 112(%r12),%xmm14 - pxor %xmm13,%xmm4 - movdqu %xmm15,0(%r13) - leaq 128(%r12),%r12 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - subq $8,%r14 - jnc .Lcbc_dec_loop - - addq $8,%r14 - jz .Lcbc_dec_done - - movdqu 0(%r12),%xmm15 - movq %rsp,%rax - movl %edx,%r10d - cmpq $2,%r14 - jb .Lcbc_dec_one - movdqu 16(%r12),%xmm0 - je .Lcbc_dec_two - movdqu 32(%r12),%xmm1 - cmpq $4,%r14 - jb .Lcbc_dec_three - movdqu 48(%r12),%xmm2 - je .Lcbc_dec_four - movdqu 64(%r12),%xmm3 - cmpq $6,%r14 - jb .Lcbc_dec_five - movdqu 80(%r12),%xmm4 - je .Lcbc_dec_six - movdqu 96(%r12),%xmm5 - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm14 - pxor %xmm12,%xmm2 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_six: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm14 - pxor %xmm11,%xmm6 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_five: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm14 - pxor %xmm10,%xmm1 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_four: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm14 - pxor %xmm9,%xmm3 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_three: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm14 - pxor %xmm8,%xmm5 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_two: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm14 - pxor %xmm7,%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_one: - leaq (%r12),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm14 - movdqu %xmm14,(%r13) - movdqa %xmm15,%xmm14 - -.Lcbc_dec_done: - movdqu %xmm14,(%rbx) - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lcbc_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lcbc_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lcbc_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_cbc_encrypt,.-bsaes_cbc_encrypt - -.globl bsaes_ctr32_encrypt_blocks -.type bsaes_ctr32_encrypt_blocks,@function -.align 16 -bsaes_ctr32_encrypt_blocks: -.cfi_startproc - movq %rsp,%rax -.Lctr_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movdqu (%r8),%xmm0 - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movdqa %xmm0,32(%rbp) - cmpq $8,%rdx - jb .Lctr_enc_short - - movl %eax,%ebx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %ebx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - movdqa (%rsp),%xmm8 - leaq .LADD1(%rip),%r11 - movdqa 32(%rbp),%xmm15 - movdqa -32(%r11),%xmm7 -.byte 102,68,15,56,0,199 -.byte 102,68,15,56,0,255 - movdqa %xmm8,(%rsp) - jmp .Lctr_enc_loop -.align 16 -.Lctr_enc_loop: - movdqa %xmm15,32(%rbp) - movdqa %xmm15,%xmm0 - movdqa %xmm15,%xmm1 - paddd 0(%r11),%xmm0 - movdqa %xmm15,%xmm2 - paddd 16(%r11),%xmm1 - movdqa %xmm15,%xmm3 - paddd 32(%r11),%xmm2 - movdqa %xmm15,%xmm4 - paddd 48(%r11),%xmm3 - movdqa %xmm15,%xmm5 - paddd 64(%r11),%xmm4 - movdqa %xmm15,%xmm6 - paddd 80(%r11),%xmm5 - paddd 96(%r11),%xmm6 - - - - movdqa (%rsp),%xmm8 - leaq 16(%rsp),%rax - movdqa -16(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq .LBS0(%rip),%r11 - movl %ebx,%r10d - - call _bsaes_encrypt8_bitslice - - subq $8,%r14 - jc .Lctr_enc_loop_done - - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - movdqu 32(%r12),%xmm9 - movdqu 48(%r12),%xmm10 - movdqu 64(%r12),%xmm11 - movdqu 80(%r12),%xmm12 - movdqu 96(%r12),%xmm13 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - pxor %xmm15,%xmm7 - movdqa 32(%rbp),%xmm15 - pxor %xmm8,%xmm0 - movdqu %xmm7,0(%r13) - pxor %xmm9,%xmm3 - movdqu %xmm0,16(%r13) - pxor %xmm10,%xmm5 - movdqu %xmm3,32(%r13) - pxor %xmm11,%xmm2 - movdqu %xmm5,48(%r13) - pxor %xmm12,%xmm6 - movdqu %xmm2,64(%r13) - pxor %xmm13,%xmm1 - movdqu %xmm6,80(%r13) - pxor %xmm14,%xmm4 - movdqu %xmm1,96(%r13) - leaq .LADD1(%rip),%r11 - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - paddd 112(%r11),%xmm15 - jnz .Lctr_enc_loop - - jmp .Lctr_enc_done -.align 16 -.Lctr_enc_loop_done: - addq $8,%r14 - movdqu 0(%r12),%xmm7 - pxor %xmm7,%xmm15 - movdqu %xmm15,0(%r13) - cmpq $2,%r14 - jb .Lctr_enc_done - movdqu 16(%r12),%xmm8 - pxor %xmm8,%xmm0 - movdqu %xmm0,16(%r13) - je .Lctr_enc_done - movdqu 32(%r12),%xmm9 - pxor %xmm9,%xmm3 - movdqu %xmm3,32(%r13) - cmpq $4,%r14 - jb .Lctr_enc_done - movdqu 48(%r12),%xmm10 - pxor %xmm10,%xmm5 - movdqu %xmm5,48(%r13) - je .Lctr_enc_done - movdqu 64(%r12),%xmm11 - pxor %xmm11,%xmm2 - movdqu %xmm2,64(%r13) - cmpq $6,%r14 - jb .Lctr_enc_done - movdqu 80(%r12),%xmm12 - pxor %xmm12,%xmm6 - movdqu %xmm6,80(%r13) - je .Lctr_enc_done - movdqu 96(%r12),%xmm13 - pxor %xmm13,%xmm1 - movdqu %xmm1,96(%r13) - jmp .Lctr_enc_done - -.align 16 -.Lctr_enc_short: - leaq 32(%rbp),%rdi - leaq 48(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - movdqu (%r12),%xmm0 - leaq 16(%r12),%r12 - movl 44(%rbp),%eax - bswapl %eax - pxor 48(%rbp),%xmm0 - incl %eax - movdqu %xmm0,(%r13) - bswapl %eax - leaq 16(%r13),%r13 - movl %eax,44(%rsp) - decq %r14 - jnz .Lctr_enc_short - -.Lctr_enc_done: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lctr_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lctr_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lctr_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_ctr32_encrypt_blocks,.-bsaes_ctr32_encrypt_blocks -.globl bsaes_xts_encrypt -.type bsaes_xts_encrypt,@function -.align 16 -bsaes_xts_encrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - andq $-16,%r14 - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_enc_short - jmp .Lxts_enc_loop - -.align 16 -.Lxts_enc_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm1,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_enc_loop - -.Lxts_enc_short: - addq $0x80,%r14 - jz .Lxts_enc_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_enc_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_enc_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_enc_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_enc_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_enc_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_enc_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - movdqu %xmm1,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - movdqu %xmm2,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - movdqu %xmm5,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - movdqu %xmm3,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_enc_done: - andl $15,%ebx - jz .Lxts_enc_ret - movq %r13,%rdx - -.Lxts_enc_steal: - movzbl (%r12),%eax - movzbl -16(%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,-16(%rdx) - movb %cl,0(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_enc_steal - - movdqu -16(%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm6 - movdqu %xmm6,-16(%r13) - -.Lxts_enc_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_encrypt,.-bsaes_xts_encrypt - -.globl bsaes_xts_decrypt -.type bsaes_xts_decrypt,@function -.align 16 -bsaes_xts_decrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - xorl %eax,%eax - andq $-16,%r14 - testl $15,%ebx - setnz %al - shlq $4,%rax - subq %rax,%r14 - - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_dec_short - jmp .Lxts_dec_loop - -.align 16 -.Lxts_dec_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_dec_loop - -.Lxts_dec_short: - addq $0x80,%r14 - jz .Lxts_dec_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_dec_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_dec_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_dec_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_dec_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_dec_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_dec_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_dec_done: - andl $15,%ebx - jz .Lxts_dec_ret - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - movdqa %xmm6,%xmm5 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - movdqu (%r12),%xmm15 - pxor %xmm13,%xmm6 - - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm6 - movq %r13,%rdx - movdqu %xmm6,(%r13) - -.Lxts_dec_steal: - movzbl 16(%r12),%eax - movzbl (%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,(%rdx) - movb %cl,16(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_dec_steal - - movdqu (%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm5,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm5 - movdqu %xmm5,(%r13) - -.Lxts_dec_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_decrypt,.-bsaes_xts_decrypt -.type _bsaes_const,@object -.align 64 -_bsaes_const: -.LM0ISR: -.quad 0x0a0e0206070b0f03, 0x0004080c0d010509 -.LISRM0: -.quad 0x01040b0e0205080f, 0x0306090c00070a0d -.LISR: -.quad 0x0504070602010003, 0x0f0e0d0c080b0a09 -.LBS0: -.quad 0x5555555555555555, 0x5555555555555555 -.LBS1: -.quad 0x3333333333333333, 0x3333333333333333 -.LBS2: -.quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f -.LSR: -.quad 0x0504070600030201, 0x0f0e0d0c0a09080b -.LSRM0: -.quad 0x0304090e00050a0f, 0x01060b0c0207080d -.LM0SR: -.quad 0x0a0e02060f03070b, 0x0004080c05090d01 -.LSWPUP: -.quad 0x0706050403020100, 0x0c0d0e0f0b0a0908 -.LSWPUPM0SR: -.quad 0x0a0d02060c03070b, 0x0004080f05090e01 -.LADD1: -.quad 0x0000000000000000, 0x0000000100000000 -.LADD2: -.quad 0x0000000000000000, 0x0000000200000000 -.LADD3: -.quad 0x0000000000000000, 0x0000000300000000 -.LADD4: -.quad 0x0000000000000000, 0x0000000400000000 -.LADD5: -.quad 0x0000000000000000, 0x0000000500000000 -.LADD6: -.quad 0x0000000000000000, 0x0000000600000000 -.LADD7: -.quad 0x0000000000000000, 0x0000000700000000 -.LADD8: -.quad 0x0000000000000000, 0x0000000800000000 -.Lxts_magic: -.long 0x87,0,1,0 -.Lmasks: -.quad 0x0101010101010101, 0x0101010101010101 -.quad 0x0202020202020202, 0x0202020202020202 -.quad 0x0404040404040404, 0x0404040404040404 -.quad 0x0808080808080808, 0x0808080808080808 -.LM0: -.quad 0x02060a0e03070b0f, 0x0004080c0105090d -.L63: -.quad 0x6363636363636363, 0x6363636363636363 -.byte 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44,32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32,65,110,100,121,32,80,111,108,121,97,107,111,118,0 -.align 64 -.size _bsaes_const,.-_bsaes_const diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/bn/rsaz-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/bn/rsaz-x86_64.s index f8e4a805887366..7876e0b8f93d9c 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/bn/rsaz-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/bn/rsaz-x86_64.s @@ -29,7 +29,7 @@ rsaz_512_sqr: subq $128+24,%rsp .cfi_adjust_cfa_offset 128+24 .Lsqr_body: - movq %rdx,%rbp +.byte 102,72,15,110,202 movq (%rsi),%rdx movq 8(%rsi),%rax movq %rcx,128(%rsp) @@ -44,6 +44,7 @@ rsaz_512_sqr: movl %r8d,128+8(%rsp) movq %rdx,%rbx + movq %rax,%rbp mulq %rdx movq %rax,%r8 movq 16(%rsi),%rax @@ -82,31 +83,29 @@ rsaz_512_sqr: mulq %rbx addq %rax,%r14 movq %rbx,%rax - movq %rdx,%r15 - adcq $0,%r15 + adcq $0,%rdx + xorq %rcx,%rcx addq %r8,%r8 - movq %r9,%rcx - adcq %r9,%r9 + movq %rdx,%r15 + adcq $0,%rcx mulq %rax - movq %rax,(%rsp) - addq %rdx,%r8 - adcq $0,%r9 + addq %r8,%rdx + adcq $0,%rcx - movq %r8,8(%rsp) - shrq $63,%rcx + movq %rax,(%rsp) + movq %rdx,8(%rsp) - movq 8(%rsi),%r8 movq 16(%rsi),%rax - mulq %r8 + mulq %rbp addq %rax,%r10 movq 24(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r11 movq 32(%rsi),%rax adcq $0,%rdx @@ -114,7 +113,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r12 movq 40(%rsi),%rax adcq $0,%rdx @@ -122,7 +121,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r13 movq 48(%rsi),%rax adcq $0,%rdx @@ -130,7 +129,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r14 movq 56(%rsi),%rax adcq $0,%rdx @@ -138,39 +137,39 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r15 - movq %r8,%rax + movq %rbp,%rax adcq $0,%rdx addq %rbx,%r15 - movq %rdx,%r8 - movq %r10,%rdx - adcq $0,%r8 + adcq $0,%rdx - addq %rdx,%rdx - leaq (%rcx,%r10,2),%r10 - movq %r11,%rbx - adcq %r11,%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r8 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax + movq 16(%rsi),%rbp addq %rax,%r9 + movq 24(%rsi),%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,16(%rsp) movq %r10,24(%rsp) - shrq $63,%rbx - movq 16(%rsi),%r9 - movq 24(%rsi),%rax - mulq %r9 + mulq %rbp addq %rax,%r12 movq 32(%rsi),%rax movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r13 movq 40(%rsi),%rax adcq $0,%rdx @@ -178,7 +177,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r14 movq 48(%rsi),%rax adcq $0,%rdx @@ -186,9 +185,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - movq %r12,%r10 - leaq (%rbx,%r12,2),%r12 + mulq %rbp addq %rax,%r15 movq 56(%rsi),%rax adcq $0,%rdx @@ -196,36 +193,40 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - shrq $63,%r10 + mulq %rbp addq %rax,%r8 - movq %r9,%rax + movq %rbp,%rax adcq $0,%rdx addq %rcx,%r8 - movq %rdx,%r9 - adcq $0,%r9 + adcq $0,%rdx - movq %r13,%rcx - leaq (%r10,%r13,2),%r13 + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r9 + adcq %r12,%r12 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax + movq 24(%rsi),%r10 addq %rax,%r11 + movq 32(%rsi),%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,32(%rsp) movq %r12,40(%rsp) - shrq $63,%rcx - movq 24(%rsi),%r10 - movq 32(%rsi),%rax + movq %rax,%r11 mulq %r10 addq %rax,%r14 movq 40(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx + movq %rax,%r12 mulq %r10 addq %rax,%r15 movq 48(%rsi),%rax @@ -234,9 +235,8 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx + movq %rax,%rbp mulq %r10 - movq %r14,%r12 - leaq (%rcx,%r14,2),%r14 addq %rax,%r8 movq 56(%rsi),%rax adcq $0,%rdx @@ -245,32 +245,33 @@ rsaz_512_sqr: adcq $0,%rbx mulq %r10 - shrq $63,%r12 addq %rax,%r9 movq %r10,%rax adcq $0,%rdx addq %rbx,%r9 - movq %rdx,%r10 - adcq $0,%r10 + adcq $0,%rdx - movq %r15,%rbx - leaq (%r12,%r15,2),%r15 + xorq %rbx,%rbx + addq %r13,%r13 + movq %rdx,%r10 + adcq %r14,%r14 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r13 + movq %r12,%rax adcq %rdx,%r14 - adcq $0,%r15 + adcq $0,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) - shrq $63,%rbx - movq 32(%rsi),%r11 - movq 40(%rsi),%rax mulq %r11 addq %rax,%r8 - movq 48(%rsi),%rax + movq %rbp,%rax movq %rdx,%rcx adcq $0,%rcx @@ -278,97 +279,99 @@ rsaz_512_sqr: addq %rax,%r9 movq 56(%rsi),%rax adcq $0,%rdx - movq %r8,%r12 - leaq (%rbx,%r8,2),%r8 addq %rcx,%r9 movq %rdx,%rcx adcq $0,%rcx + movq %rax,%r14 mulq %r11 - shrq $63,%r12 addq %rax,%r10 movq %r11,%rax adcq $0,%rdx addq %rcx,%r10 - movq %rdx,%r11 - adcq $0,%r11 + adcq $0,%rdx - movq %r9,%rcx - leaq (%r12,%r9,2),%r9 + xorq %rcx,%rcx + addq %r15,%r15 + movq %rdx,%r11 + adcq %r8,%r8 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r15 + movq %rbp,%rax adcq %rdx,%r8 - adcq $0,%r9 + adcq $0,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) - shrq $63,%rcx - movq 40(%rsi),%r12 - movq 48(%rsi),%rax mulq %r12 addq %rax,%r10 - movq 56(%rsi),%rax + movq %r14,%rax movq %rdx,%rbx adcq $0,%rbx mulq %r12 addq %rax,%r11 movq %r12,%rax - movq %r10,%r15 - leaq (%rcx,%r10,2),%r10 adcq $0,%rdx - shrq $63,%r15 addq %rbx,%r11 - movq %rdx,%r12 - adcq $0,%r12 + adcq $0,%rdx - movq %r11,%rbx - leaq (%r15,%r11,2),%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r12 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r9 + movq %r14,%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) - movq 48(%rsi),%r13 - movq 56(%rsi),%rax - mulq %r13 + mulq %rbp addq %rax,%r12 - movq %r13,%rax - movq %rdx,%r13 - adcq $0,%r13 + movq %rbp,%rax + adcq $0,%rdx - xorq %r14,%r14 - shlq $1,%rbx + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r13 adcq %r12,%r12 - adcq %r13,%r13 - adcq %r14,%r14 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r11 + movq %r14,%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,96(%rsp) movq %r12,104(%rsp) - movq 56(%rsi),%rax - mulq %rax - addq %rax,%r13 - adcq $0,%rdx + xorq %rbx,%rbx + addq %r13,%r13 + adcq $0,%rbx - addq %rdx,%r14 + mulq %rax - movq %r13,112(%rsp) - movq %r14,120(%rsp) + addq %rcx,%rax + addq %r13,%rax + adcq %rbx,%rdx movq (%rsp),%r8 movq 8(%rsp),%r9 @@ -378,6 +381,10 @@ rsaz_512_sqr: movq 40(%rsp),%r13 movq 48(%rsp),%r14 movq 56(%rsp),%r15 +.byte 102,72,15,126,205 + + movq %rax,112(%rsp) + movq %rdx,120(%rsp) call __rsaz_512_reduce @@ -406,9 +413,9 @@ rsaz_512_sqr: .Loop_sqrx: movl %r8d,128+8(%rsp) .byte 102,72,15,110,199 -.byte 102,72,15,110,205 mulxq %rax,%r8,%r9 + movq %rax,%rbx mulxq 16(%rsi),%rcx,%r10 xorq %rbp,%rbp @@ -416,40 +423,39 @@ rsaz_512_sqr: mulxq 24(%rsi),%rax,%r11 adcxq %rcx,%r9 - mulxq 32(%rsi),%rcx,%r12 +.byte 0xc4,0x62,0xf3,0xf6,0xa6,0x20,0x00,0x00,0x00 adcxq %rax,%r10 - mulxq 40(%rsi),%rax,%r13 +.byte 0xc4,0x62,0xfb,0xf6,0xae,0x28,0x00,0x00,0x00 adcxq %rcx,%r11 -.byte 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 + mulxq 48(%rsi),%rcx,%r14 adcxq %rax,%r12 adcxq %rcx,%r13 -.byte 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rax,%r15 adcxq %rax,%r14 adcxq %rbp,%r15 - movq %r9,%rcx - shldq $1,%r8,%r9 - shlq $1,%r8 - - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx - adcxq %rdx,%r8 - movq 8(%rsi),%rdx - adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi + movq %rbx,%rdx + xorq %rcx,%rcx + adoxq %r8,%r8 + adcxq %rdi,%r8 + adoxq %rbp,%rcx + adcxq %rbp,%rcx movq %rax,(%rsp) movq %r8,8(%rsp) - mulxq 16(%rsi),%rax,%rbx +.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x10,0x00,0x00,0x00 adoxq %rax,%r10 adcxq %rbx,%r11 -.byte 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r8 adoxq %rdi,%r11 +.byte 0x66 adcxq %r8,%r12 mulxq 32(%rsi),%rax,%rbx @@ -467,24 +473,25 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 adoxq %rdi,%r15 adcxq %rbp,%r8 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r8 +.byte 0x48,0x8b,0x96,0x10,0x00,0x00,0x00 - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rcx - movq 16(%rsi),%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rcx,%r10 - adcxq %rbp,%r11 + adoxq %rbp,%rbx + adcxq %rdi,%r10 + adcxq %rbp,%rbx movq %r9,16(%rsp) .byte 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r9 adoxq %rdi,%r12 adcxq %r9,%r13 @@ -492,7 +499,7 @@ rsaz_512_sqr: adoxq %rax,%r13 adcxq %rcx,%r14 - mulxq 40(%rsi),%rdi,%r9 +.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x28,0x00,0x00,0x00 adoxq %rdi,%r14 adcxq %r9,%r15 @@ -500,27 +507,28 @@ rsaz_512_sqr: adoxq %rax,%r15 adcxq %rcx,%r8 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rdi,%r9 adoxq %rdi,%r8 adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r9 + movq 24(%rsi),%rdx - movq %r13,%rcx - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + xorq %rcx,%rcx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 24(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx movq %r11,32(%rsp) -.byte 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 + movq %r12,40(%rsp) -.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 + mulxq 32(%rsi),%rax,%rbx adoxq %rax,%r14 adcxq %rbx,%r15 @@ -535,25 +543,25 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r10 adoxq %rdi,%r9 adcxq %rbp,%r10 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r10 + movq 32(%rsi),%rdx -.byte 0x66 - movq %r15,%rbx - shldq $1,%r14,%r15 - shldq $1,%rcx,%r14 + xorq %rbx,%rbx + adoxq %r13,%r13 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r14,%r14 adcxq %rax,%r13 - adcxq %rdx,%r14 - movq 32(%rsi),%rdx - adcxq %rbp,%r15 + adoxq %rbp,%rbx + adcxq %rdi,%r14 + adcxq %rbp,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) -.byte 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 + mulxq 40(%rsi),%rdi,%r11 adoxq %rdi,%r8 adcxq %r11,%r9 @@ -564,18 +572,19 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r11 adoxq %rdi,%r10 adcxq %rbp,%r11 + mulxq %rdx,%rax,%rdi + movq 40(%rsi),%rdx adoxq %rbp,%r11 - movq %r9,%rcx - shldq $1,%r8,%r9 - shldq $1,%rbx,%r8 + xorq %rcx,%rcx + adoxq %r15,%r15 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r8,%r8 adcxq %rax,%r15 - adcxq %rdx,%r8 - movq 40(%rsi),%rdx - adcxq %rbp,%r9 + adoxq %rbp,%rcx + adcxq %rdi,%r8 + adcxq %rbp,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) @@ -588,18 +597,19 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 adoxq %rdi,%r11 adcxq %rbp,%r12 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r12 + movq 48(%rsi),%rdx - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rdx,%r10 - movq 48(%rsi),%rdx - adcxq %rbp,%r11 + adcxq %rdi,%r10 + adoxq %rbp,%rbx + adcxq %rbp,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) @@ -609,31 +619,31 @@ rsaz_512_sqr: adoxq %rax,%r12 adoxq %rbp,%r13 - xorq %r14,%r14 - shldq $1,%r13,%r14 - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + mulxq %rdx,%rax,%rdi + xorq %rcx,%rcx + movq 56(%rsi),%rdx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 56(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx .byte 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 .byte 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 mulxq %rdx,%rax,%rdx - adoxq %rax,%r13 - adoxq %rbp,%rdx + xorq %rbx,%rbx + adoxq %r13,%r13 -.byte 0x66 - addq %rdx,%r14 + adcxq %rcx,%rax + adoxq %rbp,%rbx + adcxq %r13,%rax + adcxq %rdx,%rbx - movq %r13,112(%rsp) - movq %r14,120(%rsp) .byte 102,72,15,126,199 .byte 102,72,15,126,205 @@ -647,6 +657,9 @@ rsaz_512_sqr: movq 48(%rsp),%r14 movq 56(%rsp),%r15 + movq %rax,112(%rsp) + movq %rbx,120(%rsp) + call __rsaz_512_reducex addq 64(%rsp),%r8 @@ -1440,6 +1453,7 @@ rsaz_512_mul_by_one: .type __rsaz_512_reduce,@function .align 32 __rsaz_512_reduce: +.cfi_startproc movq %r8,%rbx imulq 128+8(%rsp),%rbx movq 0(%rbp),%rax @@ -1519,10 +1533,12 @@ __rsaz_512_reduce: jne .Lreduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reduce,.-__rsaz_512_reduce .type __rsaz_512_reducex,@function .align 32 __rsaz_512_reducex: +.cfi_startproc imulq %r8,%rdx xorq %rsi,%rsi @@ -1575,10 +1591,12 @@ __rsaz_512_reducex: jne .Lreduction_loopx .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reducex,.-__rsaz_512_reducex .type __rsaz_512_subtract,@function .align 32 __rsaz_512_subtract: +.cfi_startproc movq %r8,(%rdi) movq %r9,8(%rdi) movq %r10,16(%rdi) @@ -1632,10 +1650,12 @@ __rsaz_512_subtract: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_subtract,.-__rsaz_512_subtract .type __rsaz_512_mul,@function .align 32 __rsaz_512_mul: +.cfi_startproc leaq 8(%rsp),%rdi movq (%rsi),%rax @@ -1774,10 +1794,12 @@ __rsaz_512_mul: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mul,.-__rsaz_512_mul .type __rsaz_512_mulx,@function .align 32 __rsaz_512_mulx: +.cfi_startproc mulxq (%rsi),%rbx,%r8 movq $-6,%rcx @@ -1894,11 +1916,13 @@ __rsaz_512_mulx: movq %r15,8+64+56(%rsp) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mulx,.-__rsaz_512_mulx .globl rsaz_512_scatter4 .type rsaz_512_scatter4,@function .align 16 rsaz_512_scatter4: +.cfi_startproc leaq (%rdi,%rdx,8),%rdi movl $8,%r9d jmp .Loop_scatter @@ -1911,12 +1935,14 @@ rsaz_512_scatter4: decl %r9d jnz .Loop_scatter .byte 0xf3,0xc3 +.cfi_endproc .size rsaz_512_scatter4,.-rsaz_512_scatter4 .globl rsaz_512_gather4 .type rsaz_512_gather4,@function .align 16 rsaz_512_gather4: +.cfi_startproc movd %edx,%xmm8 movdqa .Linc+16(%rip),%xmm1 movdqa .Linc(%rip),%xmm0 @@ -1980,6 +2006,7 @@ rsaz_512_gather4: jnz .Loop_gather .byte 0xf3,0xc3 .LSEH_end_rsaz_512_gather4: +.cfi_endproc .size rsaz_512_gather4,.-rsaz_512_gather4 .align 64 diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/bn/x86_64-mont5.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/bn/x86_64-mont5.s index df4b6610a02a47..40a60a3c8fc6b9 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/bn/x86_64-mont5.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/bn/x86_64-mont5.s @@ -550,6 +550,7 @@ bn_mul4x_mont_gather5: .type mul4x_internal,@function .align 32 mul4x_internal: +.cfi_startproc shlq $5,%r9 movd 8(%rax),%xmm5 leaq .Linc(%rip),%rax @@ -1071,6 +1072,7 @@ mul4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqr4x_sub_entry +.cfi_endproc .size mul4x_internal,.-mul4x_internal .globl bn_power5 .type bn_power5,@function @@ -1213,6 +1215,7 @@ bn_power5: .align 32 bn_sqr8x_internal: __bn_sqr8x_internal: +.cfi_startproc @@ -1987,10 +1990,12 @@ __bn_sqr8x_reduction: cmpq %rdx,%rdi jb .L8x_reduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size bn_sqr8x_internal,.-bn_sqr8x_internal .type __bn_post4x_internal,@function .align 32 __bn_post4x_internal: +.cfi_startproc movq 0(%rbp),%r12 leaq (%rdi,%r9,1),%rbx movq %r9,%rcx @@ -2041,15 +2046,18 @@ __bn_post4x_internal: movq %r9,%r10 negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_post4x_internal,.-__bn_post4x_internal .globl bn_from_montgomery .type bn_from_montgomery,@function .align 32 bn_from_montgomery: +.cfi_startproc testl $7,%r9d jz bn_from_mont8x xorl %eax,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_from_montgomery,.-bn_from_montgomery .type bn_from_mont8x,@function @@ -2333,6 +2341,7 @@ bn_mulx4x_mont_gather5: .type mulx4x_internal,@function .align 32 mulx4x_internal: +.cfi_startproc movq %r9,8(%rsp) movq %r9,%r10 negq %r9 @@ -2751,6 +2760,7 @@ mulx4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqrx4x_sub_entry +.cfi_endproc .size mulx4x_internal,.-mulx4x_internal .type bn_powerx5,@function .align 32 @@ -3509,6 +3519,7 @@ __bn_sqrx8x_reduction: .size bn_sqrx8x_internal,.-bn_sqrx8x_internal .align 32 __bn_postx4x_internal: +.cfi_startproc movq 0(%rbp),%r12 movq %rcx,%r10 movq %rcx,%r9 @@ -3556,11 +3567,13 @@ __bn_postx4x_internal: negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_postx4x_internal,.-__bn_postx4x_internal .globl bn_get_bits5 .type bn_get_bits5,@function .align 16 bn_get_bits5: +.cfi_startproc leaq 0(%rdi),%r10 leaq 1(%rdi),%r11 movl %esi,%ecx @@ -3574,12 +3587,14 @@ bn_get_bits5: shrl %cl,%eax andl $31,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_get_bits5,.-bn_get_bits5 .globl bn_scatter5 .type bn_scatter5,@function .align 16 bn_scatter5: +.cfi_startproc cmpl $0,%esi jz .Lscatter_epilogue leaq (%rdx,%rcx,8),%rdx @@ -3592,6 +3607,7 @@ bn_scatter5: jnz .Lscatter .Lscatter_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_scatter5,.-bn_scatter5 .globl bn_gather5 @@ -3599,6 +3615,7 @@ bn_scatter5: .align 32 bn_gather5: .LSEH_begin_bn_gather5: +.cfi_startproc .byte 0x4c,0x8d,0x14,0x24 .byte 0x48,0x81,0xec,0x08,0x01,0x00,0x00 @@ -3756,6 +3773,7 @@ bn_gather5: leaq (%r10),%rsp .byte 0xf3,0xc3 .LSEH_end_bn_gather5: +.cfi_endproc .size bn_gather5,.-bn_gather5 .align 64 .Linc: diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/buildinf.h index 51e776d7cb1ade..62ab79d821c028 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-x86_64" -#define DATE "built on: Fri Sep 13 16:00:30 2019 UTC" +#define DATE "built on: Wed Mar 18 21:07:18 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -38,10 +38,10 @@ static const char compiler_flags[] = { 'S','M',' ','-','D','S','H','A','5','1','2','_','A','S','M',' ', '-','D','K','E','C','C','A','K','1','6','0','0','_','A','S','M', ' ','-','D','R','C','4','_','A','S','M',' ','-','D','M','D','5', - '_','A','S','M',' ','-','D','V','P','A','E','S','_','A','S','M', - ' ','-','D','G','H','A','S','H','_','A','S','M',' ','-','D','E', - 'C','P','_','N','I','S','T','Z','2','5','6','_','A','S','M',' ', - '-','D','X','2','5','5','1','9','_','A','S','M',' ','-','D','P', - 'O','L','Y','1','3','0','5','_','A','S','M',' ','-','D','N','D', - 'E','B','U','G','\0' + '_','A','S','M',' ','-','D','A','E','S','N','I','_','A','S','M', + ' ','-','D','V','P','A','E','S','_','A','S','M',' ','-','D','G', + 'H','A','S','H','_','A','S','M',' ','-','D','E','C','P','_','N', + 'I','S','T','Z','2','5','6','_','A','S','M',' ','-','D','X','2', + '5','5','1','9','_','A','S','M',' ','-','D','P','O','L','Y','1', + '3','0','5','_','A','S','M',' ','-','D','N','D','E','B','U','G','\0' }; diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/camellia/cmll-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/camellia/cmll-x86_64.s index 405566b01cca6f..eeb20dd2291da7 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/camellia/cmll-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/camellia/cmll-x86_64.s @@ -5,11 +5,13 @@ .type Camellia_EncryptBlock,@function .align 16 Camellia_EncryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Lenc_rounds +.cfi_endproc .size Camellia_EncryptBlock,.-Camellia_EncryptBlock .globl Camellia_EncryptBlock_Rounds @@ -83,6 +85,7 @@ Camellia_EncryptBlock_Rounds: .type _x86_64_Camellia_encrypt,@function .align 16 _x86_64_Camellia_encrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -285,6 +288,7 @@ _x86_64_Camellia_encrypt: movl %edx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_encrypt,.-_x86_64_Camellia_encrypt @@ -292,11 +296,13 @@ _x86_64_Camellia_encrypt: .type Camellia_DecryptBlock,@function .align 16 Camellia_DecryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Ldec_rounds +.cfi_endproc .size Camellia_DecryptBlock,.-Camellia_DecryptBlock .globl Camellia_DecryptBlock_Rounds @@ -370,6 +376,7 @@ Camellia_DecryptBlock_Rounds: .type _x86_64_Camellia_decrypt,@function .align 16 _x86_64_Camellia_decrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -573,6 +580,7 @@ _x86_64_Camellia_decrypt: movl %ebx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_decrypt,.-_x86_64_Camellia_decrypt .globl Camellia_Ekeygen .type Camellia_Ekeygen,@function diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s index 62b9ac6616ba72..5c9e4050416212 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s @@ -3874,10 +3874,12 @@ ecp_nistz256_ord_sqr_montx: .type ecp_nistz256_to_mont,@function .align 32 ecp_nistz256_to_mont: +.cfi_startproc movl $0x80100,%ecx andl OPENSSL_ia32cap_P+8(%rip),%ecx leaq .LRR(%rip),%rdx jmp .Lmul_mont +.cfi_endproc .size ecp_nistz256_to_mont,.-ecp_nistz256_to_mont @@ -4821,6 +4823,7 @@ ecp_nistz256_from_mont: .type ecp_nistz256_scatter_w5,@function .align 32 ecp_nistz256_scatter_w5: +.cfi_startproc leal -3(%rdx,%rdx,2),%edx movdqa 0(%rsi),%xmm0 shll $5,%edx @@ -4837,6 +4840,7 @@ ecp_nistz256_scatter_w5: movdqa %xmm5,80(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w5,.-ecp_nistz256_scatter_w5 @@ -4910,6 +4914,7 @@ ecp_nistz256_gather_w5: .type ecp_nistz256_scatter_w7,@function .align 32 ecp_nistz256_scatter_w7: +.cfi_startproc movdqu 0(%rsi),%xmm0 shll $6,%edx movdqu 16(%rsi),%xmm1 @@ -4921,6 +4926,7 @@ ecp_nistz256_scatter_w7: movdqa %xmm3,48(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w7,.-ecp_nistz256_scatter_w7 @@ -5655,26 +5661,16 @@ ecp_nistz256_point_add: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedq .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedq - testq %r9,%r9 - jz .Ladd_doubleq -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_doneq + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedq -.align 32 .Ladd_doubleq: .byte 102,72,15,126,206 .byte 102,72,15,126,199 @@ -6774,26 +6770,16 @@ ecp_nistz256_point_addx: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedx .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedx - testq %r9,%r9 - jz .Ladd_doublex -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_donex + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedx -.align 32 .Ladd_doublex: .byte 102,72,15,126,206 .byte 102,72,15,126,199 diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/ec/x25519-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/ec/x25519-x86_64.s index 2a18eaee288ce7..1788e568cda5d2 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/ec/x25519-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/ec/x25519-x86_64.s @@ -400,12 +400,14 @@ x25519_fe51_mul121666: .type x25519_fe64_eligible,@function .align 32 x25519_fe64_eligible: +.cfi_startproc movl OPENSSL_ia32cap_P+8(%rip),%ecx xorl %eax,%eax andl $0x80100,%ecx cmpl $0x80100,%ecx cmovel %ecx,%eax .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_eligible,.-x25519_fe64_eligible .globl x25519_fe64_mul @@ -648,6 +650,7 @@ x25519_fe64_sqr: .align 32 x25519_fe64_mul121666: .Lfe64_mul121666_body: +.cfi_startproc movl $121666,%edx mulxq 0(%rsi),%r8,%rcx mulxq 8(%rsi),%r9,%rax @@ -676,6 +679,7 @@ x25519_fe64_mul121666: .Lfe64_mul121666_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_mul121666,.-x25519_fe64_mul121666 .globl x25519_fe64_add @@ -683,6 +687,7 @@ x25519_fe64_mul121666: .align 32 x25519_fe64_add: .Lfe64_add_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -711,6 +716,7 @@ x25519_fe64_add: .Lfe64_add_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_add,.-x25519_fe64_add .globl x25519_fe64_sub @@ -718,6 +724,7 @@ x25519_fe64_add: .align 32 x25519_fe64_sub: .Lfe64_sub_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -746,6 +753,7 @@ x25519_fe64_sub: .Lfe64_sub_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_sub,.-x25519_fe64_sub .globl x25519_fe64_tobytes @@ -753,6 +761,7 @@ x25519_fe64_sub: .align 32 x25519_fe64_tobytes: .Lfe64_to_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -788,5 +797,6 @@ x25519_fe64_tobytes: .Lfe64_to_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_tobytes,.-x25519_fe64_tobytes .byte 88,50,53,53,49,57,32,112,114,105,109,105,116,105,118,101,115,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/modes/aesni-gcm-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/modes/aesni-gcm-x86_64.s index 6a7a9577c7142f..01d89630a42f73 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/modes/aesni-gcm-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/modes/aesni-gcm-x86_64.s @@ -3,6 +3,7 @@ .type _aesni_ctr32_ghash_6x,@function .align 32 _aesni_ctr32_ghash_6x: +.cfi_startproc vmovdqu 32(%r11),%xmm2 subq $6,%rdx vpxor %xmm4,%xmm4,%xmm4 @@ -310,6 +311,7 @@ _aesni_ctr32_ghash_6x: vpxor %xmm4,%xmm8,%xmm8 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_ctr32_ghash_6x,.-_aesni_ctr32_ghash_6x .globl aesni_gcm_decrypt .type aesni_gcm_decrypt,@function @@ -416,6 +418,7 @@ aesni_gcm_decrypt: .type _aesni_ctr32_6x,@function .align 32 _aesni_ctr32_6x: +.cfi_startproc vmovdqu 0-128(%rcx),%xmm4 vmovdqu 32(%r11),%xmm2 leaq -1(%rbp),%r13 @@ -502,6 +505,7 @@ _aesni_ctr32_6x: vpshufb %xmm0,%xmm1,%xmm1 vpxor %xmm4,%xmm14,%xmm14 jmp .Loop_ctr32 +.cfi_endproc .size _aesni_ctr32_6x,.-_aesni_ctr32_6x .globl aesni_gcm_encrypt diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/poly1305/poly1305-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/poly1305/poly1305-x86_64.s index 6f4cac8d3920c1..2636c52bbe5e48 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/poly1305/poly1305-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/poly1305/poly1305-x86_64.s @@ -12,6 +12,7 @@ .type poly1305_init,@function .align 32 poly1305_init: +.cfi_startproc xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -42,6 +43,7 @@ poly1305_init: movl $1,%eax .Lno_key: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_init,.-poly1305_init .type poly1305_blocks,@function @@ -162,6 +164,7 @@ poly1305_blocks: .type poly1305_emit,@function .align 32 poly1305_emit: +.cfi_startproc .Lemit: movq 0(%rdi),%r8 movq 8(%rdi),%r9 @@ -182,10 +185,12 @@ poly1305_emit: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit,.-poly1305_emit .type __poly1305_block,@function .align 32 __poly1305_block: +.cfi_startproc mulq %r14 movq %rax,%r9 movq %r11,%rax @@ -225,11 +230,13 @@ __poly1305_block: adcq $0,%rbx adcq $0,%rbp .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_block,.-__poly1305_block .type __poly1305_init_avx,@function .align 32 __poly1305_init_avx: +.cfi_startproc movq %r11,%r14 movq %r12,%rbx xorq %rbp,%rbp @@ -387,6 +394,7 @@ __poly1305_init_avx: leaq -48-64(%rdi),%rdi .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_init_avx,.-__poly1305_init_avx .type poly1305_blocks_avx,@function @@ -1227,6 +1235,7 @@ poly1305_blocks_avx: .type poly1305_emit_avx,@function .align 32 poly1305_emit_avx: +.cfi_startproc cmpl $0,20(%rdi) je .Lemit @@ -1277,6 +1286,7 @@ poly1305_emit_avx: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit_avx,.-poly1305_emit_avx .type poly1305_blocks_avx2,@function .align 32 @@ -1959,6 +1969,7 @@ poly1305_blocks_avx2: .type xor128_encrypt_n_pad,@function .align 16 xor128_encrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -2000,12 +2011,14 @@ xor128_encrypt_n_pad: .Ldone_enc: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_encrypt_n_pad,.-xor128_encrypt_n_pad .globl xor128_decrypt_n_pad .type xor128_decrypt_n_pad,@function .align 16 xor128_decrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -2051,4 +2064,5 @@ xor128_decrypt_n_pad: .Ldone_dec: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_decrypt_n_pad,.-xor128_decrypt_n_pad diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/rc4/rc4-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/rc4/rc4-x86_64.s index fba70351d48d5c..b97c757550aad0 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/rc4/rc4-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/rc4/rc4-x86_64.s @@ -4,11 +4,12 @@ .globl RC4 .type RC4,@function .align 16 -RC4: orq %rsi,%rsi +RC4: +.cfi_startproc + orq %rsi,%rsi jne .Lentry .byte 0xf3,0xc3 .Lentry: -.cfi_startproc pushq %rbx .cfi_adjust_cfa_offset 8 .cfi_offset %rbx,-16 @@ -533,6 +534,7 @@ RC4: orq %rsi,%rsi .type RC4_set_key,@function .align 16 RC4_set_key: +.cfi_startproc leaq 8(%rdi),%rdi leaq (%rdx,%rsi,1),%rdx negq %rsi @@ -599,12 +601,14 @@ RC4_set_key: movl %eax,-8(%rdi) movl %eax,-4(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size RC4_set_key,.-RC4_set_key .globl RC4_options .type RC4_options,@function .align 16 RC4_options: +.cfi_startproc leaq .Lopts(%rip),%rax movl OPENSSL_ia32cap_P(%rip),%edx btl $20,%edx @@ -617,6 +621,7 @@ RC4_options: addq $12,%rax .Ldone: .byte 0xf3,0xc3 +.cfi_endproc .align 64 .Lopts: .byte 114,99,52,40,56,120,44,105,110,116,41,0 diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/keccak1600-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/keccak1600-x86_64.s index e511f25035b2b8..09617d014bdb7b 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/keccak1600-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/keccak1600-x86_64.s @@ -3,6 +3,7 @@ .type __KeccakF1600,@function .align 32 __KeccakF1600: +.cfi_startproc movq 60(%rdi),%rax movq 68(%rdi),%rbx movq 76(%rdi),%rcx @@ -255,6 +256,7 @@ __KeccakF1600: leaq -192(%r15),%r15 .byte 0xf3,0xc3 +.cfi_endproc .size __KeccakF1600,.-__KeccakF1600 .type KeccakF1600,@function diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/sha1-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/sha1-x86_64.s index e436521a040f66..98541727e555da 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/sha1-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/sha1-x86_64.s @@ -1421,8 +1421,8 @@ _shaext_shortcut: pshufd $27,%xmm1,%xmm1 movdqu %xmm0,(%rdi) movd %xmm1,16(%rdi) -.cfi_endproc .byte 0xf3,0xc3 +.cfi_endproc .size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext .type sha1_block_data_order_ssse3,@function .align 16 diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/sha256-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/sha256-x86_64.s index 42b24df18e5afe..9357385da3c49b 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/sha256-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/sha256-x86_64.s @@ -1775,6 +1775,7 @@ K256: .align 64 sha256_block_data_order_shaext: _shaext_shortcut: +.cfi_startproc leaq K256+128(%rip),%rcx movdqu (%rdi),%xmm1 movdqu 16(%rdi),%xmm2 @@ -1977,6 +1978,7 @@ _shaext_shortcut: movdqu %xmm1,(%rdi) movdqu %xmm2,16(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size sha256_block_data_order_shaext,.-sha256_block_data_order_shaext .type sha256_block_data_order_ssse3,@function .align 64 @@ -4238,7 +4240,15 @@ sha256_block_data_order_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 88(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -64(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%edi vmovdqa %ymm6,0(%rsp) xorl %ecx,%edi @@ -4250,6 +4260,12 @@ sha256_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4505,6 +4521,12 @@ sha256_block_data_order_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -5380,6 +5402,8 @@ sha256_block_data_order_avx2: leaq 448(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08 + addl 0(%rdi),%eax addl 4(%rdi),%ebx addl 8(%rdi),%ecx @@ -5405,9 +5429,11 @@ sha256_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xd8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 88(%rsp),%rsi + movq 88(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/sha512-x86_64.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/sha512-x86_64.s index 5931a2a93234d0..939f1ca71c9394 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/sha512-x86_64.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/sha/sha512-x86_64.s @@ -4165,7 +4165,15 @@ sha512_block_data_order_avx2: vmovdqa %ymm10,64(%rsp) vpaddq 64(%rbp),%ymm6,%ymm10 vmovdqa %ymm11,96(%rsp) + + movq 152(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -128(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpaddq 96(%rbp),%ymm7,%ymm11 vmovdqa %ymm8,0(%rsp) xorq %r14,%r14 @@ -4181,6 +4189,12 @@ sha512_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm0,%ymm1,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -4474,6 +4488,12 @@ sha512_block_data_order_avx2: movq %r9,%r12 vmovdqa %ymm10,96(%rsp) leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm4,%ymm5,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -5387,6 +5407,8 @@ sha512_block_data_order_avx2: leaq 1152(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08 + addq 0(%rdi),%rax addq 8(%rdi),%rbx addq 16(%rdi),%rcx @@ -5412,9 +5434,11 @@ sha512_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0x98,0x01,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 152(%rsp),%rsi + movq 152(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/x86_64cpuid.s b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/x86_64cpuid.s index fd17eaaba49576..9268ce8c9a9d63 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/x86_64cpuid.s +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/x86_64cpuid.s @@ -12,6 +12,7 @@ .type OPENSSL_atomic_add,@function .align 16 OPENSSL_atomic_add: +.cfi_startproc movl (%rdi),%eax .Lspin: leaq (%rsi,%rax,1),%r8 .byte 0xf0 @@ -20,16 +21,19 @@ OPENSSL_atomic_add: movl %r8d,%eax .byte 0x48,0x98 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_atomic_add,.-OPENSSL_atomic_add .globl OPENSSL_rdtsc .type OPENSSL_rdtsc,@function .align 16 OPENSSL_rdtsc: +.cfi_startproc rdtsc shlq $32,%rdx orq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_rdtsc,.-OPENSSL_rdtsc .globl OPENSSL_ia32_cpuid @@ -205,6 +209,7 @@ OPENSSL_ia32_cpuid: .type OPENSSL_cleanse,@function .align 16 OPENSSL_cleanse: +.cfi_startproc xorq %rax,%rax cmpq $15,%rsi jae .Lot @@ -234,12 +239,14 @@ OPENSSL_cleanse: cmpq $0,%rsi jne .Little .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_cleanse,.-OPENSSL_cleanse .globl CRYPTO_memcmp .type CRYPTO_memcmp,@function .align 16 CRYPTO_memcmp: +.cfi_startproc xorq %rax,%rax xorq %r10,%r10 cmpq $0,%rdx @@ -268,11 +275,13 @@ CRYPTO_memcmp: shrq $63,%rax .Lno_data: .byte 0xf3,0xc3 +.cfi_endproc .size CRYPTO_memcmp,.-CRYPTO_memcmp .globl OPENSSL_wipe_cpu .type OPENSSL_wipe_cpu,@function .align 16 OPENSSL_wipe_cpu: +.cfi_startproc pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 @@ -299,11 +308,13 @@ OPENSSL_wipe_cpu: xorq %r11,%r11 leaq 8(%rsp),%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu .globl OPENSSL_instrument_bus .type OPENSSL_instrument_bus,@function .align 16 OPENSSL_instrument_bus: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rsi,%r11 @@ -330,12 +341,14 @@ OPENSSL_instrument_bus: movq %r11,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus,.-OPENSSL_instrument_bus .globl OPENSSL_instrument_bus2 .type OPENSSL_instrument_bus2,@function .align 16 OPENSSL_instrument_bus2: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rdx,%r11 @@ -378,11 +391,13 @@ OPENSSL_instrument_bus2: movq 8(%rsp),%rax subq %rcx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2 .globl OPENSSL_ia32_rdrand_bytes .type OPENSSL_ia32_rdrand_bytes,@function .align 16 OPENSSL_ia32_rdrand_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdrand_bytes @@ -419,11 +434,13 @@ OPENSSL_ia32_rdrand_bytes: .Ldone_rdrand_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdrand_bytes,.-OPENSSL_ia32_rdrand_bytes .globl OPENSSL_ia32_rdseed_bytes .type OPENSSL_ia32_rdseed_bytes,@function .align 16 OPENSSL_ia32_rdseed_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdseed_bytes @@ -460,4 +477,5 @@ OPENSSL_ia32_rdseed_bytes: .Ldone_rdseed_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdseed_bytes,.-OPENSSL_ia32_rdseed_bytes diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/opensslconf.h index 913bb95a5a8a42..14050a45347f62 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/progs.h b/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/openssl-cl.gypi b/deps/openssl/config/archs/linux-x86_64/asm_avx2/openssl-cl.gypi index b134d72e7dc477..04e53d9f2ae658 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/openssl-cl.gypi +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/openssl-cl.gypi @@ -16,6 +16,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/openssl.gypi b/deps/openssl/config/archs/linux-x86_64/asm_avx2/openssl.gypi index 05ee0df141731d..c69de8024db83b 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/openssl.gypi +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/openssl.gypi @@ -723,6 +723,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/configdata.pm b/deps/openssl/config/archs/linux-x86_64/no-asm/configdata.pm index 93da6e96905edd..e9a7a8ce9f17d7 100644 --- a/deps/openssl/config/archs/linux-x86_64/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux-x86_64/no-asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux-x86_64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -238,6 +238,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3223,7 +3230,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3231,6 +3237,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3729,14 +3736,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4177,6 +4176,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4871,49 +4878,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4935,7 +4934,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4949,613 +4947,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5573,188 +5469,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5784,13 +5649,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5800,43 +5663,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5846,31 +5702,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5888,278 +5739,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6169,301 +5974,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6471,7 +6226,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6479,7 +6233,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6487,7 +6240,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6495,7 +6247,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6503,7 +6254,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6511,163 +6261,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6685,223 +6408,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6909,21 +6595,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6931,13 +6614,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6945,81 +6626,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7027,328 +6695,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7358,85 +6965,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7459,361 +7052,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7835,259 +7368,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8097,31 +7587,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8131,7 +7616,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8157,13 +7641,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8189,7 +7671,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8215,709 +7696,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8968,6 +8331,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9212,7 +8583,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9538,7 +8908,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9584,7 +8953,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9650,7 +9018,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9675,7 +9042,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9773,7 +9139,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9823,18 +9188,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9845,6 +9207,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9908,10 +9274,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9940,6 +9302,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10204,6 +9570,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15094,7 +14461,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15102,6 +14468,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15329,6 +14696,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15431,10 +14806,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15463,6 +14834,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/buildinf.h index df3083b539c028..208c6e0e31cced 100644 --- a/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-x86_64" -#define DATE "built on: Fri Sep 13 16:00:45 2019 UTC" +#define DATE "built on: Wed Mar 18 21:07:36 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/opensslconf.h index 22c5ea87c47259..31bdb87ddb6c01 100644 --- a/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/include/progs.h b/deps/openssl/config/archs/linux-x86_64/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux-x86_64/no-asm/include/progs.h +++ b/deps/openssl/config/archs/linux-x86_64/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux32-s390x/asm/configdata.pm b/deps/openssl/config/archs/linux32-s390x/asm/configdata.pm index 02768931a01019..3efb27cfc66c16 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/configdata.pm +++ b/deps/openssl/config/archs/linux32-s390x/asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux32-s390x", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -240,6 +240,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -357,8 +358,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -626,14 +627,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -709,6 +702,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1506,6 +1507,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3230,7 +3237,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3238,6 +3244,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3736,14 +3743,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4184,6 +4183,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4870,7 +4877,6 @@ our %unified_info = ( "crypto/aes/aes-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -4881,37 +4887,31 @@ our %unified_info = ( "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4933,7 +4933,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4947,613 +4946,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5571,188 +5468,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5762,13 +5628,11 @@ our %unified_info = ( "crypto/bn/s390x-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/s390x-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5794,13 +5658,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5810,43 +5672,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5856,31 +5711,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5894,279 +5744,233 @@ our %unified_info = ( "crypto/chacha/chacha-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6176,301 +5980,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6478,7 +6232,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6486,7 +6239,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6494,7 +6246,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6502,7 +6253,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6510,7 +6260,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6518,163 +6267,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6692,223 +6414,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6916,21 +6601,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6938,13 +6620,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6952,81 +6632,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7034,328 +6701,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7365,79 +6971,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7448,7 +7041,6 @@ our %unified_info = ( "crypto/modes/ghash-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7463,361 +7055,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7835,7 +7367,6 @@ our %unified_info = ( "crypto/poly1305/poly1305-s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7845,296 +7376,247 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcap.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8144,7 +7626,6 @@ our %unified_info = ( "crypto/sha/keccak1600-s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8162,7 +7643,6 @@ our %unified_info = ( "crypto/sha/sha1-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8173,13 +7653,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8197,7 +7675,6 @@ our %unified_info = ( "crypto/sha/sha256-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8208,7 +7685,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8226,7 +7702,6 @@ our %unified_info = ( "crypto/sha/sha512-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8237,709 +7712,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8990,6 +8347,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9234,7 +8599,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9560,7 +8924,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9606,7 +8969,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9672,7 +9034,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9697,7 +9058,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9795,7 +9155,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9845,18 +9204,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9867,6 +9223,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9930,10 +9290,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9962,6 +9318,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10226,6 +9586,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15146,7 +14507,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15154,6 +14514,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15381,6 +14742,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15483,10 +14852,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15515,6 +14880,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux32-s390x/asm/crypto/aes/aes-s390x.S b/deps/openssl/config/archs/linux32-s390x/asm/crypto/aes/aes-s390x.S index 31e9aa9aee1906..83260ee4bc54c1 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/crypto/aes/aes-s390x.S +++ b/deps/openssl/config/archs/linux32-s390x/asm/crypto/aes/aes-s390x.S @@ -2094,7 +2094,7 @@ AES_xts_encrypt: .Lxts_enc_done: stg %r15,80+0(%r15) # wipe tweak - stg %r15,+8(%r15) + stg %r15,80+8(%r15) lm %r6,%r14,6*4(%r15) br %r14 .size AES_xts_encrypt,.-AES_xts_encrypt @@ -2360,7 +2360,7 @@ AES_xts_decrypt: stg %r15,80-16+8(%r15) .Lxts_dec_done: stg %r15,80+0(%r15) # wipe tweak - stg %r15,+8(%r15) + stg %r15,80+8(%r15) lm %r6,%r14,6*4(%r15) br %r14 .size AES_xts_decrypt,.-AES_xts_decrypt diff --git a/deps/openssl/config/archs/linux32-s390x/asm/crypto/bn/s390x-mont.S b/deps/openssl/config/archs/linux32-s390x/asm/crypto/bn/s390x-mont.S index 0a6c67545a6e51..4f5f4e4e96cab7 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/crypto/bn/s390x-mont.S +++ b/deps/openssl/config/archs/linux32-s390x/asm/crypto/bn/s390x-mont.S @@ -45,7 +45,7 @@ bn_mul_mont: lghi %r13,0 alcgr %r13,%r10 - la %r7,8(%r0) # j=1 + la %r7,8 # j=1 lr %r14,%r1 .align 16 @@ -97,7 +97,7 @@ bn_mul_mont: lghi %r13,0 alcgr %r13,%r10 - la %r7,8(%r0) # j=1 + la %r7,8 # j=1 lr %r14,%r1 .align 16 @@ -141,7 +141,7 @@ bn_mul_mont: la %r3,96(%r15) ahi %r1,1 # restore %r1, incidentally clears "borrow" - la %r7,0(%r0) + la %r7,0 lr %r14,%r1 .Lsub: lg %r9,0(%r7,%r3) lg %r11,0(%r7,%r5) @@ -155,7 +155,7 @@ bn_mul_mont: lghi %r13,-1 xgr %r13,%r12 - la %r7,0(%r0) + la %r7,0 lgr %r14,%r1 .Lcopy: lg %r8,96(%r7,%r15) # conditional copy lg %r9,0(%r7,%r2) diff --git a/deps/openssl/config/archs/linux32-s390x/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux32-s390x/asm/crypto/buildinf.h index e5da8365c7a61d..9d017d177882b0 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux32-s390x/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux32-s390x" -#define DATE "built on: Fri Sep 13 16:01:33 2019 UTC" +#define DATE "built on: Wed Mar 18 21:08:58 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux32-s390x/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux32-s390x/asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux32-s390x/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux32-s390x/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux32-s390x/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux32-s390x/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux32-s390x/asm/crypto/rc4/rc4-s390x.s b/deps/openssl/config/archs/linux32-s390x/asm/crypto/rc4/rc4-s390x.s index 1b06f9a8c422a2..c37d5fb2f9d620 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/crypto/rc4/rc4-s390x.s +++ b/deps/openssl/config/archs/linux32-s390x/asm/crypto/rc4/rc4-s390x.s @@ -193,7 +193,7 @@ RC4: RC4_set_key: stm %r6,%r8,6*4(%r15) lhi %r0,256 - la %r1,0(%r0) + la %r1,0 sth %r1,0(%r2) .align 4 .L1stloop: @@ -203,8 +203,8 @@ RC4_set_key: lghi %r7,-256 lr %r0,%r3 - la %r8,0(%r0) - la %r1,0(%r0) + la %r8,0 + la %r1,0 .align 16 .L2ndloop: llgc %r5,2+256(%r7,%r2) @@ -221,7 +221,7 @@ RC4_set_key: jz .Ldone brct %r0,.L2ndloop lr %r0,%r3 - la %r8,0(%r0) + la %r8,0 j .L2ndloop .Ldone: lm %r6,%r8,6*4(%r15) diff --git a/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/opensslconf.h index 1a2b31bdc7008c..71c4fecc40cc4e 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux32-s390x/asm/include/progs.h b/deps/openssl/config/archs/linux32-s390x/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/include/progs.h +++ b/deps/openssl/config/archs/linux32-s390x/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux32-s390x/asm_avx2/configdata.pm index 96ab247e83743d..d8384829df628d 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux32-s390x", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -240,6 +240,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -357,8 +358,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -626,14 +627,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -709,6 +702,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1506,6 +1507,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3230,7 +3237,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3238,6 +3244,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3736,14 +3743,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4184,6 +4183,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4870,7 +4877,6 @@ our %unified_info = ( "crypto/aes/aes-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -4881,37 +4887,31 @@ our %unified_info = ( "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4933,7 +4933,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4947,613 +4946,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5571,188 +5468,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5762,13 +5628,11 @@ our %unified_info = ( "crypto/bn/s390x-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/s390x-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5794,13 +5658,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5810,43 +5672,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5856,31 +5711,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5894,279 +5744,233 @@ our %unified_info = ( "crypto/chacha/chacha-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6176,301 +5980,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6478,7 +6232,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6486,7 +6239,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6494,7 +6246,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6502,7 +6253,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6510,7 +6260,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6518,163 +6267,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6692,223 +6414,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6916,21 +6601,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6938,13 +6620,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6952,81 +6632,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7034,328 +6701,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7365,79 +6971,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7448,7 +7041,6 @@ our %unified_info = ( "crypto/modes/ghash-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7463,361 +7055,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7835,7 +7367,6 @@ our %unified_info = ( "crypto/poly1305/poly1305-s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7845,296 +7376,247 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcap.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8144,7 +7626,6 @@ our %unified_info = ( "crypto/sha/keccak1600-s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8162,7 +7643,6 @@ our %unified_info = ( "crypto/sha/sha1-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8173,13 +7653,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8197,7 +7675,6 @@ our %unified_info = ( "crypto/sha/sha256-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8208,7 +7685,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8226,7 +7702,6 @@ our %unified_info = ( "crypto/sha/sha512-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8237,709 +7712,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8990,6 +8347,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9234,7 +8599,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9560,7 +8924,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9606,7 +8969,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9672,7 +9034,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9697,7 +9058,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9795,7 +9155,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9845,18 +9204,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9867,6 +9223,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9930,10 +9290,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9962,6 +9318,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10226,6 +9586,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15146,7 +14507,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15154,6 +14514,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15381,6 +14742,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15483,10 +14852,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15515,6 +14880,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/aes/aes-s390x.S b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/aes/aes-s390x.S index 31e9aa9aee1906..83260ee4bc54c1 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/aes/aes-s390x.S +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/aes/aes-s390x.S @@ -2094,7 +2094,7 @@ AES_xts_encrypt: .Lxts_enc_done: stg %r15,80+0(%r15) # wipe tweak - stg %r15,+8(%r15) + stg %r15,80+8(%r15) lm %r6,%r14,6*4(%r15) br %r14 .size AES_xts_encrypt,.-AES_xts_encrypt @@ -2360,7 +2360,7 @@ AES_xts_decrypt: stg %r15,80-16+8(%r15) .Lxts_dec_done: stg %r15,80+0(%r15) # wipe tweak - stg %r15,+8(%r15) + stg %r15,80+8(%r15) lm %r6,%r14,6*4(%r15) br %r14 .size AES_xts_decrypt,.-AES_xts_decrypt diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/bn/s390x-mont.S b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/bn/s390x-mont.S index 0a6c67545a6e51..4f5f4e4e96cab7 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/bn/s390x-mont.S +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/bn/s390x-mont.S @@ -45,7 +45,7 @@ bn_mul_mont: lghi %r13,0 alcgr %r13,%r10 - la %r7,8(%r0) # j=1 + la %r7,8 # j=1 lr %r14,%r1 .align 16 @@ -97,7 +97,7 @@ bn_mul_mont: lghi %r13,0 alcgr %r13,%r10 - la %r7,8(%r0) # j=1 + la %r7,8 # j=1 lr %r14,%r1 .align 16 @@ -141,7 +141,7 @@ bn_mul_mont: la %r3,96(%r15) ahi %r1,1 # restore %r1, incidentally clears "borrow" - la %r7,0(%r0) + la %r7,0 lr %r14,%r1 .Lsub: lg %r9,0(%r7,%r3) lg %r11,0(%r7,%r5) @@ -155,7 +155,7 @@ bn_mul_mont: lghi %r13,-1 xgr %r13,%r12 - la %r7,0(%r0) + la %r7,0 lgr %r14,%r1 .Lcopy: lg %r8,96(%r7,%r15) # conditional copy lg %r9,0(%r7,%r2) diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/buildinf.h index 71628ed04c6c4f..e7fee2eb3e3165 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux32-s390x" -#define DATE "built on: Fri Sep 13 16:01:37 2019 UTC" +#define DATE "built on: Wed Mar 18 21:09:02 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/rc4/rc4-s390x.s b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/rc4/rc4-s390x.s index 1b06f9a8c422a2..c37d5fb2f9d620 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/rc4/rc4-s390x.s +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/rc4/rc4-s390x.s @@ -193,7 +193,7 @@ RC4: RC4_set_key: stm %r6,%r8,6*4(%r15) lhi %r0,256 - la %r1,0(%r0) + la %r1,0 sth %r1,0(%r2) .align 4 .L1stloop: @@ -203,8 +203,8 @@ RC4_set_key: lghi %r7,-256 lr %r0,%r3 - la %r8,0(%r0) - la %r1,0(%r0) + la %r8,0 + la %r1,0 .align 16 .L2ndloop: llgc %r5,2+256(%r7,%r2) @@ -221,7 +221,7 @@ RC4_set_key: jz .Ldone brct %r0,.L2ndloop lr %r0,%r3 - la %r8,0(%r0) + la %r8,0 j .L2ndloop .Ldone: lm %r6,%r8,6*4(%r15) diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/opensslconf.h index 1a2b31bdc7008c..71c4fecc40cc4e 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/progs.h b/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux32-s390x/no-asm/configdata.pm b/deps/openssl/config/archs/linux32-s390x/no-asm/configdata.pm index 1fcc3a092d63ba..ba39c8551f82c0 100644 --- a/deps/openssl/config/archs/linux32-s390x/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux32-s390x/no-asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux32-s390x", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -238,6 +238,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3222,7 +3229,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3230,6 +3236,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3728,14 +3735,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4176,6 +4175,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4870,49 +4877,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4934,7 +4933,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4948,613 +4946,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5572,182 +5468,152 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5777,13 +5643,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5793,43 +5657,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5839,31 +5696,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5881,278 +5733,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6162,301 +5968,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6464,7 +6220,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6472,7 +6227,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6480,7 +6234,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6488,7 +6241,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6496,7 +6248,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6504,163 +6255,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6678,223 +6402,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6902,21 +6589,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6924,13 +6608,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6938,81 +6620,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7020,328 +6689,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7351,85 +6959,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7452,361 +7046,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7828,259 +7362,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8090,31 +7581,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8124,7 +7610,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8150,13 +7635,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8182,7 +7665,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8208,709 +7690,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8961,6 +8325,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9205,7 +8577,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9531,7 +8902,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9577,7 +8947,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9643,7 +9012,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9668,7 +9036,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9766,7 +9133,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9816,18 +9182,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9838,6 +9201,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9901,10 +9268,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9933,6 +9296,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10197,6 +9564,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15082,7 +14450,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15090,6 +14457,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15317,6 +14685,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15419,10 +14795,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15451,6 +14823,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/buildinf.h index e7256e3f12adc9..2fbe63990cc612 100644 --- a/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux32-s390x" -#define DATE "built on: Fri Sep 13 16:01:41 2019 UTC" +#define DATE "built on: Wed Mar 18 21:09:09 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/opensslconf.h index 6419ec21a2675f..4cbafb777f2ce3 100644 --- a/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux32-s390x/no-asm/include/progs.h b/deps/openssl/config/archs/linux32-s390x/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux32-s390x/no-asm/include/progs.h +++ b/deps/openssl/config/archs/linux32-s390x/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux64-mips64/asm/configdata.pm b/deps/openssl/config/archs/linux64-mips64/asm/configdata.pm index 6d77d25fe39da0..1302d730d02d59 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm/configdata.pm +++ b/deps/openssl/config/archs/linux64-mips64/asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux64-mips64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -240,6 +240,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -357,8 +358,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -626,14 +627,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -709,6 +702,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1506,6 +1507,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3229,7 +3236,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3237,6 +3243,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3735,14 +3742,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4183,6 +4182,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4865,7 +4872,6 @@ our %unified_info = ( "crypto/aes/aes-mips.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -4880,43 +4886,36 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4938,7 +4937,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4952,613 +4950,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5572,195 +5468,163 @@ our %unified_info = ( "crypto/bn/bn-mips.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -5787,13 +5651,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5803,43 +5665,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5849,31 +5704,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5891,278 +5741,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6172,301 +5976,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6474,7 +6228,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6482,7 +6235,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6490,7 +6242,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6498,7 +6249,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6506,7 +6256,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6514,163 +6263,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6688,223 +6410,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6912,21 +6597,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6934,13 +6616,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6948,81 +6628,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7030,328 +6697,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7361,85 +6967,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7462,361 +7054,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7830,7 +7362,6 @@ our %unified_info = ( "crypto/poly1305/poly1305-mips.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7841,259 +7372,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8103,31 +7591,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8137,7 +7620,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8151,7 +7633,6 @@ our %unified_info = ( "crypto/sha/sha1-mips.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8166,13 +7647,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8186,7 +7665,6 @@ our %unified_info = ( "crypto/sha/sha256-mips.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8201,7 +7679,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8215,7 +7692,6 @@ our %unified_info = ( "crypto/sha/sha512-mips.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8230,709 +7706,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8983,6 +8341,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9227,7 +8593,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9553,7 +8918,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9599,7 +8963,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9665,7 +9028,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9690,7 +9052,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9788,7 +9149,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9838,18 +9198,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9860,6 +9217,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9923,10 +9284,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9955,6 +9312,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10219,6 +9580,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15134,7 +14496,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15142,6 +14503,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15369,6 +14731,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15471,10 +14841,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15503,6 +14869,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux64-mips64/asm/crypto/buildinf.h index 865115208dc742..5f969bc3a4bfc0 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-mips64" -#define DATE "built on: Fri Sep 13 16:01:56 2019 UTC" +#define DATE "built on: Wed Mar 18 21:09:33 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/opensslconf.h index 30820b60518d47..937531fe9fc0c5 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux64-mips64/asm/include/progs.h b/deps/openssl/config/archs/linux64-mips64/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm/include/progs.h +++ b/deps/openssl/config/archs/linux64-mips64/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux64-mips64/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux64-mips64/asm_avx2/configdata.pm index 8324964ca7936e..f53a77e0a05edb 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux64-mips64/asm_avx2/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux64-mips64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -240,6 +240,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -357,8 +358,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -626,14 +627,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -709,6 +702,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1506,6 +1507,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3229,7 +3236,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3237,6 +3243,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3735,14 +3742,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4183,6 +4182,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4865,7 +4872,6 @@ our %unified_info = ( "crypto/aes/aes-mips.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -4880,43 +4886,36 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4938,7 +4937,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4952,613 +4950,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5572,195 +5468,163 @@ our %unified_info = ( "crypto/bn/bn-mips.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -5787,13 +5651,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5803,43 +5665,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5849,31 +5704,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5891,278 +5741,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6172,301 +5976,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6474,7 +6228,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6482,7 +6235,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6490,7 +6242,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6498,7 +6249,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6506,7 +6256,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6514,163 +6263,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6688,223 +6410,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6912,21 +6597,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6934,13 +6616,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6948,81 +6628,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7030,328 +6697,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7361,85 +6967,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7462,361 +7054,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7830,7 +7362,6 @@ our %unified_info = ( "crypto/poly1305/poly1305-mips.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7841,259 +7372,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8103,31 +7591,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8137,7 +7620,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8151,7 +7633,6 @@ our %unified_info = ( "crypto/sha/sha1-mips.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8166,13 +7647,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8186,7 +7665,6 @@ our %unified_info = ( "crypto/sha/sha256-mips.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8201,7 +7679,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8215,7 +7692,6 @@ our %unified_info = ( "crypto/sha/sha512-mips.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8230,709 +7706,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8983,6 +8341,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9227,7 +8593,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9553,7 +8918,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9599,7 +8963,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9665,7 +9028,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9690,7 +9052,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9788,7 +9149,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9838,18 +9198,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9860,6 +9217,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9923,10 +9284,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9955,6 +9312,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10219,6 +9580,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15134,7 +14496,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15142,6 +14503,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15369,6 +14731,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15471,10 +14841,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15503,6 +14869,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/buildinf.h index f6a9d770f1eb3e..87d8f13efafd96 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-mips64" -#define DATE "built on: Fri Sep 13 16:02:00 2019 UTC" +#define DATE "built on: Wed Mar 18 21:09:39 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/opensslconf.h index 30820b60518d47..937531fe9fc0c5 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/progs.h b/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/configdata.pm b/deps/openssl/config/archs/linux64-mips64/no-asm/configdata.pm index f5b0bfea293e48..62586346a8d849 100644 --- a/deps/openssl/config/archs/linux64-mips64/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux64-mips64", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -238,6 +238,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3223,7 +3230,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3231,6 +3237,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3729,14 +3736,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4177,6 +4176,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4871,49 +4878,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4935,7 +4934,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4949,613 +4947,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5573,188 +5469,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5784,13 +5649,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5800,43 +5663,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5846,31 +5702,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5888,278 +5739,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6169,301 +5974,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6471,7 +6226,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6479,7 +6233,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6487,7 +6240,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6495,7 +6247,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6503,7 +6254,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6511,163 +6261,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6685,223 +6408,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6909,21 +6595,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6931,13 +6614,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6945,81 +6626,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7027,328 +6695,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7358,85 +6965,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7459,361 +7052,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7835,259 +7368,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8097,31 +7587,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8131,7 +7616,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8157,13 +7641,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8189,7 +7671,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8215,709 +7696,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8968,6 +8331,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9212,7 +8583,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9538,7 +8908,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9584,7 +8953,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9650,7 +9018,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9675,7 +9042,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9773,7 +9139,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9823,18 +9188,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9845,6 +9207,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9908,10 +9274,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9940,6 +9302,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10204,6 +9570,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15094,7 +14461,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15102,6 +14468,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15329,6 +14696,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15431,10 +14806,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15463,6 +14834,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/buildinf.h index 3c6ad34101ddd7..f58b88ffe332db 100644 --- a/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-mips64" -#define DATE "built on: Fri Sep 13 16:02:04 2019 UTC" +#define DATE "built on: Wed Mar 18 21:09:46 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/opensslconf.h index 212e3f67d8e568..781ef739dc2274 100644 --- a/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/include/progs.h b/deps/openssl/config/archs/linux64-mips64/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux64-mips64/no-asm/include/progs.h +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux64-s390x/asm/configdata.pm b/deps/openssl/config/archs/linux64-s390x/asm/configdata.pm index e31688fe1aceae..b73e953e4d3b32 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/configdata.pm +++ b/deps/openssl/config/archs/linux64-s390x/asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux64-s390x", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -240,6 +240,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -357,8 +358,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -626,14 +627,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -709,6 +702,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1506,6 +1507,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3243,7 +3250,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3251,6 +3257,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3749,14 +3756,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4197,6 +4196,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4883,7 +4890,6 @@ our %unified_info = ( "crypto/aes/aes-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -4894,37 +4900,31 @@ our %unified_info = ( "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4946,7 +4946,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4960,613 +4959,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5580,7 +5477,6 @@ our %unified_info = ( "crypto/bn/asm/s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5590,182 +5486,152 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5775,13 +5641,11 @@ our %unified_info = ( "crypto/bn/s390x-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/s390x-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5807,13 +5671,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5823,43 +5685,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5869,31 +5724,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5907,279 +5757,233 @@ our %unified_info = ( "crypto/chacha/chacha-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6189,301 +5993,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6491,7 +6245,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6499,7 +6252,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6507,7 +6259,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6515,7 +6266,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6523,7 +6273,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6531,163 +6280,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6705,223 +6427,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6929,21 +6614,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6951,13 +6633,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6965,81 +6645,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7047,328 +6714,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7378,79 +6984,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7461,7 +7054,6 @@ our %unified_info = ( "crypto/modes/ghash-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7476,361 +7068,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7848,7 +7380,6 @@ our %unified_info = ( "crypto/poly1305/poly1305-s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7858,296 +7389,247 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcap.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8157,7 +7639,6 @@ our %unified_info = ( "crypto/sha/keccak1600-s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8175,7 +7656,6 @@ our %unified_info = ( "crypto/sha/sha1-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8186,13 +7666,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8210,7 +7688,6 @@ our %unified_info = ( "crypto/sha/sha256-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8221,7 +7698,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8239,7 +7715,6 @@ our %unified_info = ( "crypto/sha/sha512-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8250,709 +7725,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9003,6 +8360,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9247,7 +8612,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9573,7 +8937,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9619,7 +8982,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9685,7 +9047,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9710,7 +9071,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9808,7 +9168,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9858,18 +9217,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9880,6 +9236,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9943,10 +9303,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9975,6 +9331,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10239,6 +9599,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15159,7 +14520,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15167,6 +14527,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15394,6 +14755,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15496,10 +14865,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15528,6 +14893,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux64-s390x/asm/crypto/aes/aes-s390x.S b/deps/openssl/config/archs/linux64-s390x/asm/crypto/aes/aes-s390x.S index e00f81ecd485ad..c432d017beb30b 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/crypto/aes/aes-s390x.S +++ b/deps/openssl/config/archs/linux64-s390x/asm/crypto/aes/aes-s390x.S @@ -2093,7 +2093,7 @@ AES_xts_encrypt: .Lxts_enc_done: stg %r15,144+0(%r15) # wipe tweak - stg %r15,+8(%r15) + stg %r15,144+8(%r15) lmg %r6,%r14,6*8(%r15) br %r14 .size AES_xts_encrypt,.-AES_xts_encrypt @@ -2358,7 +2358,7 @@ AES_xts_decrypt: stg %r15,144-16+8(%r15) .Lxts_dec_done: stg %r15,144+0(%r15) # wipe tweak - stg %r15,+8(%r15) + stg %r15,144+8(%r15) lmg %r6,%r14,6*8(%r15) br %r14 .size AES_xts_decrypt,.-AES_xts_decrypt diff --git a/deps/openssl/config/archs/linux64-s390x/asm/crypto/bn/s390x-mont.S b/deps/openssl/config/archs/linux64-s390x/asm/crypto/bn/s390x-mont.S index b8dea0a66f382f..b6119c009bc19b 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/crypto/bn/s390x-mont.S +++ b/deps/openssl/config/archs/linux64-s390x/asm/crypto/bn/s390x-mont.S @@ -45,7 +45,7 @@ bn_mul_mont: lghi %r13,0 alcgr %r13,%r10 - la %r7,8(%r0) # j=1 + la %r7,8 # j=1 lr %r14,%r1 .align 16 @@ -97,7 +97,7 @@ bn_mul_mont: lghi %r13,0 alcgr %r13,%r10 - la %r7,8(%r0) # j=1 + la %r7,8 # j=1 lr %r14,%r1 .align 16 @@ -141,7 +141,7 @@ bn_mul_mont: la %r3,160(%r15) ahi %r1,1 # restore %r1, incidentally clears "borrow" - la %r7,0(%r0) + la %r7,0 lr %r14,%r1 .Lsub: lg %r9,0(%r7,%r3) lg %r11,0(%r7,%r5) @@ -155,7 +155,7 @@ bn_mul_mont: lghi %r13,-1 xgr %r13,%r12 - la %r7,0(%r0) + la %r7,0 lgr %r14,%r1 .Lcopy: lg %r8,160(%r7,%r15) # conditional copy lg %r9,0(%r7,%r2) diff --git a/deps/openssl/config/archs/linux64-s390x/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux64-s390x/asm/crypto/buildinf.h index 6d2d3ce3fd2bc9..48a866e7b2457e 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-s390x/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-s390x" -#define DATE "built on: Fri Sep 13 16:01:44 2019 UTC" +#define DATE "built on: Wed Mar 18 21:09:15 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-s390x/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux64-s390x/asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux64-s390x/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux64-s390x/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux64-s390x/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux64-s390x/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux64-s390x/asm/crypto/rc4/rc4-s390x.s b/deps/openssl/config/archs/linux64-s390x/asm/crypto/rc4/rc4-s390x.s index e5883fea428aa5..d88918c0134d55 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/crypto/rc4/rc4-s390x.s +++ b/deps/openssl/config/archs/linux64-s390x/asm/crypto/rc4/rc4-s390x.s @@ -192,7 +192,7 @@ RC4: RC4_set_key: stmg %r6,%r8,6*8(%r15) lhi %r0,256 - la %r1,0(%r0) + la %r1,0 sth %r1,0(%r2) .align 4 .L1stloop: @@ -202,8 +202,8 @@ RC4_set_key: lghi %r7,-256 lr %r0,%r3 - la %r8,0(%r0) - la %r1,0(%r0) + la %r8,0 + la %r1,0 .align 16 .L2ndloop: llgc %r5,2+256(%r7,%r2) @@ -220,7 +220,7 @@ RC4_set_key: jz .Ldone brct %r0,.L2ndloop lr %r0,%r3 - la %r8,0(%r0) + la %r8,0 j .L2ndloop .Ldone: lmg %r6,%r8,6*8(%r15) diff --git a/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/opensslconf.h index 30820b60518d47..937531fe9fc0c5 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux64-s390x/asm/include/progs.h b/deps/openssl/config/archs/linux64-s390x/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/include/progs.h +++ b/deps/openssl/config/archs/linux64-s390x/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux64-s390x/asm_avx2/configdata.pm index 8aa79776f95c01..4419066fcab00e 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux64-s390x", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -240,6 +240,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -357,8 +358,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -626,14 +627,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -709,6 +702,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1506,6 +1507,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3243,7 +3250,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3251,6 +3257,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3749,14 +3756,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4197,6 +4196,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4883,7 +4890,6 @@ our %unified_info = ( "crypto/aes/aes-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -4894,37 +4900,31 @@ our %unified_info = ( "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4946,7 +4946,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4960,613 +4959,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5580,7 +5477,6 @@ our %unified_info = ( "crypto/bn/asm/s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5590,182 +5486,152 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5775,13 +5641,11 @@ our %unified_info = ( "crypto/bn/s390x-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/s390x-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5807,13 +5671,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5823,43 +5685,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5869,31 +5724,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5907,279 +5757,233 @@ our %unified_info = ( "crypto/chacha/chacha-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6189,301 +5993,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6491,7 +6245,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6499,7 +6252,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6507,7 +6259,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6515,7 +6266,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6523,7 +6273,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6531,163 +6280,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6705,223 +6427,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6929,21 +6614,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6951,13 +6633,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6965,81 +6645,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7047,328 +6714,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7378,79 +6984,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7461,7 +7054,6 @@ our %unified_info = ( "crypto/modes/ghash-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7476,361 +7068,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7848,7 +7380,6 @@ our %unified_info = ( "crypto/poly1305/poly1305-s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-sparcv9.o" => @@ -7858,296 +7389,247 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcap.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8157,7 +7639,6 @@ our %unified_info = ( "crypto/sha/keccak1600-s390x.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8175,7 +7656,6 @@ our %unified_info = ( "crypto/sha/sha1-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8186,13 +7666,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8210,7 +7688,6 @@ our %unified_info = ( "crypto/sha/sha256-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8221,7 +7698,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8239,7 +7715,6 @@ our %unified_info = ( "crypto/sha/sha512-s390x.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -8250,709 +7725,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9003,6 +8360,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9247,7 +8612,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9573,7 +8937,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9619,7 +8982,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9685,7 +9047,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9710,7 +9071,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9808,7 +9168,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9858,18 +9217,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9880,6 +9236,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9943,10 +9303,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9975,6 +9331,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10239,6 +9599,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15159,7 +14520,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15167,6 +14527,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15394,6 +14755,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15496,10 +14865,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15528,6 +14893,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/aes/aes-s390x.S b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/aes/aes-s390x.S index e00f81ecd485ad..c432d017beb30b 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/aes/aes-s390x.S +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/aes/aes-s390x.S @@ -2093,7 +2093,7 @@ AES_xts_encrypt: .Lxts_enc_done: stg %r15,144+0(%r15) # wipe tweak - stg %r15,+8(%r15) + stg %r15,144+8(%r15) lmg %r6,%r14,6*8(%r15) br %r14 .size AES_xts_encrypt,.-AES_xts_encrypt @@ -2358,7 +2358,7 @@ AES_xts_decrypt: stg %r15,144-16+8(%r15) .Lxts_dec_done: stg %r15,144+0(%r15) # wipe tweak - stg %r15,+8(%r15) + stg %r15,144+8(%r15) lmg %r6,%r14,6*8(%r15) br %r14 .size AES_xts_decrypt,.-AES_xts_decrypt diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/bn/s390x-mont.S b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/bn/s390x-mont.S index b8dea0a66f382f..b6119c009bc19b 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/bn/s390x-mont.S +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/bn/s390x-mont.S @@ -45,7 +45,7 @@ bn_mul_mont: lghi %r13,0 alcgr %r13,%r10 - la %r7,8(%r0) # j=1 + la %r7,8 # j=1 lr %r14,%r1 .align 16 @@ -97,7 +97,7 @@ bn_mul_mont: lghi %r13,0 alcgr %r13,%r10 - la %r7,8(%r0) # j=1 + la %r7,8 # j=1 lr %r14,%r1 .align 16 @@ -141,7 +141,7 @@ bn_mul_mont: la %r3,160(%r15) ahi %r1,1 # restore %r1, incidentally clears "borrow" - la %r7,0(%r0) + la %r7,0 lr %r14,%r1 .Lsub: lg %r9,0(%r7,%r3) lg %r11,0(%r7,%r5) @@ -155,7 +155,7 @@ bn_mul_mont: lghi %r13,-1 xgr %r13,%r12 - la %r7,0(%r0) + la %r7,0 lgr %r14,%r1 .Lcopy: lg %r8,160(%r7,%r15) # conditional copy lg %r9,0(%r7,%r2) diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/buildinf.h index 34799d14b191e1..667449c83d298d 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-s390x" -#define DATE "built on: Fri Sep 13 16:01:49 2019 UTC" +#define DATE "built on: Wed Mar 18 21:09:21 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/rc4/rc4-s390x.s b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/rc4/rc4-s390x.s index e5883fea428aa5..d88918c0134d55 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/rc4/rc4-s390x.s +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/rc4/rc4-s390x.s @@ -192,7 +192,7 @@ RC4: RC4_set_key: stmg %r6,%r8,6*8(%r15) lhi %r0,256 - la %r1,0(%r0) + la %r1,0 sth %r1,0(%r2) .align 4 .L1stloop: @@ -202,8 +202,8 @@ RC4_set_key: lghi %r7,-256 lr %r0,%r3 - la %r8,0(%r0) - la %r1,0(%r0) + la %r8,0 + la %r1,0 .align 16 .L2ndloop: llgc %r5,2+256(%r7,%r2) @@ -220,7 +220,7 @@ RC4_set_key: jz .Ldone brct %r0,.L2ndloop lr %r0,%r3 - la %r8,0(%r0) + la %r8,0 j .L2ndloop .Ldone: lmg %r6,%r8,6*8(%r15) diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/opensslconf.h index 30820b60518d47..937531fe9fc0c5 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/progs.h b/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/linux64-s390x/no-asm/configdata.pm b/deps/openssl/config/archs/linux64-s390x/no-asm/configdata.pm index 0a65365f26b154..37fd739d54ceaa 100644 --- a/deps/openssl/config/archs/linux64-s390x/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux64-s390x/no-asm/configdata.pm @@ -55,7 +55,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "linux64-s390x", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -238,6 +238,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -356,8 +357,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -625,14 +626,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -708,6 +701,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1505,6 +1506,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3223,7 +3230,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3231,6 +3237,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3729,14 +3736,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4177,6 +4176,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4871,49 +4878,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4935,7 +4934,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4949,613 +4947,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5573,188 +5469,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5784,13 +5649,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5800,43 +5663,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5846,31 +5702,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5888,278 +5739,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6169,301 +5974,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6471,7 +6226,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6479,7 +6233,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6487,7 +6240,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6495,7 +6247,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6503,7 +6254,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6511,163 +6261,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6685,223 +6408,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6909,21 +6595,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6931,13 +6614,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6945,81 +6626,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7027,328 +6695,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7358,85 +6965,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7459,361 +7052,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7835,259 +7368,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8097,31 +7587,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8131,7 +7616,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8157,13 +7641,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8189,7 +7671,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8215,709 +7696,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8968,6 +8331,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9212,7 +8583,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9538,7 +8908,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9584,7 +8953,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9650,7 +9018,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9675,7 +9042,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9773,7 +9139,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9823,18 +9188,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9845,6 +9207,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9908,10 +9274,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9940,6 +9302,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10204,6 +9570,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15094,7 +14461,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15102,6 +14468,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15329,6 +14696,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15431,10 +14806,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15463,6 +14834,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/buildinf.h index e0fd887860b698..984838d0e04349 100644 --- a/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-s390x" -#define DATE "built on: Fri Sep 13 16:01:53 2019 UTC" +#define DATE "built on: Wed Mar 18 21:09:26 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/opensslconf.h index 212e3f67d8e568..781ef739dc2274 100644 --- a/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/linux64-s390x/no-asm/include/progs.h b/deps/openssl/config/archs/linux64-s390x/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/linux64-s390x/no-asm/include/progs.h +++ b/deps/openssl/config/archs/linux64-s390x/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/configdata.pm b/deps/openssl/config/archs/solaris-x86-gcc/asm/configdata.pm index c14020e995aa16..6374bc5069f5eb 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/configdata.pm +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/configdata.pm @@ -48,14 +48,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "AESNI_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)gcc", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "solaris-x86-gcc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -236,6 +236,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -353,8 +354,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -622,14 +623,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -705,6 +698,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1502,6 +1503,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3233,7 +3240,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3241,6 +3247,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3739,14 +3746,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4187,6 +4186,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4881,49 +4888,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4933,7 +4932,6 @@ our %unified_info = ( "crypto/aes/aesni-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4951,13 +4949,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4971,613 +4967,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5591,7 +5485,6 @@ our %unified_info = ( "crypto/bn/bn-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5601,188 +5494,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/co-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5812,25 +5674,21 @@ our %unified_info = ( "crypto/bn/x86-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5840,31 +5698,26 @@ our %unified_info = ( "crypto/camellia/cmll-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5874,31 +5727,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5916,284 +5764,237 @@ our %unified_info = ( "crypto/chacha/chacha-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/crypt586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des-586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6203,295 +6004,246 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6499,7 +6251,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6507,7 +6258,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6515,7 +6265,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6523,7 +6272,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6531,7 +6279,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6539,163 +6286,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6713,235 +6433,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6949,21 +6630,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6971,13 +6649,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6985,81 +6661,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7067,334 +6730,272 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-586.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7404,79 +7005,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7495,7 +7083,6 @@ our %unified_info = ( "crypto/modes/ghash-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7505,361 +7092,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7881,265 +7408,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8149,31 +7632,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8183,13 +7661,11 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8215,19 +7691,16 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8253,13 +7726,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8285,727 +7756,606 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-mmx.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9056,6 +8406,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9300,7 +8658,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9626,7 +8983,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9672,7 +9028,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9738,7 +9093,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9763,7 +9117,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9861,7 +9214,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9911,18 +9263,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9933,6 +9282,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9996,10 +9349,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10028,6 +9377,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10292,6 +9645,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15247,7 +14601,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15255,6 +14608,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15482,6 +14836,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15584,10 +14946,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15616,6 +14974,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/aes/aes-586.s b/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/aes/aes-586.s deleted file mode 100644 index 53cd2909ac69bb..00000000000000 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/aes/aes-586.s +++ /dev/null @@ -1,3243 +0,0 @@ -.text -.type _x86_AES_encrypt_compact,@function -.align 16 -_x86_AES_encrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 16 -.L000loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ecx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ecx,%edi - xorl %esi,%ecx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ecx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%ecx - andl %edx,%ebp - leal (%edx,%edx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %edx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %edx,%edi - xorl %esi,%edx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%edx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%edx - andl %eax,%ebp - leal (%eax,%eax,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %eax,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %eax,%edi - xorl %esi,%eax - rorl $24,%edi - xorl %ebp,%esi - roll $24,%eax - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%eax - andl %ebx,%ebp - leal (%ebx,%ebx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ebx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ebx,%edi - xorl %esi,%ebx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ebx - xorl %edi,%esi - xorl %esi,%ebx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L000loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.size _x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact -.type _sse_AES_encrypt_compact,@function -.align 16 -_sse_AES_encrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 16 -.L001loop: - pshufw $8,%mm0,%mm1 - pshufw $13,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $13,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $8,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $8,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - movd %mm2,%eax - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - movd %mm6,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $8,%esi - shrl $16,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shrl $16,%eax - movd %ecx,%mm1 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - andl $255,%eax - orl %esi,%ecx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - andl $255,%ebx - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%ecx - shll $16,%eax - movzbl -128(%ebp,%edi,1),%esi - orl %eax,%edx - shll $8,%esi - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - orl %ebx,%edx - movl 20(%esp),%edi - movd %ecx,%mm4 - movd %edx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja .L002out - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - movq %mm0,%mm1 - movq %mm4,%mm5 - pcmpgtb %mm0,%mm3 - pcmpgtb %mm4,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - pshufw $177,%mm0,%mm2 - pshufw $177,%mm4,%mm6 - paddb %mm0,%mm0 - paddb %mm4,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pshufw $177,%mm2,%mm3 - pshufw $177,%mm6,%mm7 - pxor %mm0,%mm1 - pxor %mm4,%mm5 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm3,%mm2 - movq %mm7,%mm6 - pslld $8,%mm3 - pslld $8,%mm7 - psrld $24,%mm2 - psrld $24,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - psrld $8,%mm1 - psrld $8,%mm5 - movl -128(%ebp),%eax - pslld $24,%mm3 - pslld $24,%mm7 - movl -64(%ebp),%ebx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl (%ebp),%ecx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl 64(%ebp),%edx - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp .L001loop -.align 16 -.L002out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.size _sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact -.type _x86_AES_encrypt,@function -.align 16 -_x86_AES_encrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 16 -.L003loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl (%ebp,%esi,8),%esi - movzbl %ch,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movzbl %bh,%edi - xorl 1(%ebp,%edi,8),%esi - - movl 20(%esp),%edi - movl (%ebp,%edx,8),%edx - movzbl %ah,%eax - xorl 3(%ebp,%eax,8),%edx - movl 4(%esp),%eax - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - xorl 1(%ebp,%ecx,8),%edx - movl %esi,%ecx - - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L003loop - movl %eax,%esi - andl $255,%esi - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %bh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %ch,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %dh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movzbl %bh,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movl 2(%ebp,%edx,8),%edx - andl $255,%edx - movzbl %ah,%eax - movl (%ebp,%eax,8),%eax - andl $65280,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movl (%ebp,%ebx,8),%ebx - andl $16711680,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movl 2(%ebp,%ecx,8),%ecx - andl $4278190080,%ecx - xorl %ecx,%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 64 -.LAES_Te: -.long 2774754246,2774754246 -.long 2222750968,2222750968 -.long 2574743534,2574743534 -.long 2373680118,2373680118 -.long 234025727,234025727 -.long 3177933782,3177933782 -.long 2976870366,2976870366 -.long 1422247313,1422247313 -.long 1345335392,1345335392 -.long 50397442,50397442 -.long 2842126286,2842126286 -.long 2099981142,2099981142 -.long 436141799,436141799 -.long 1658312629,1658312629 -.long 3870010189,3870010189 -.long 2591454956,2591454956 -.long 1170918031,1170918031 -.long 2642575903,2642575903 -.long 1086966153,1086966153 -.long 2273148410,2273148410 -.long 368769775,368769775 -.long 3948501426,3948501426 -.long 3376891790,3376891790 -.long 200339707,200339707 -.long 3970805057,3970805057 -.long 1742001331,1742001331 -.long 4255294047,4255294047 -.long 3937382213,3937382213 -.long 3214711843,3214711843 -.long 4154762323,4154762323 -.long 2524082916,2524082916 -.long 1539358875,1539358875 -.long 3266819957,3266819957 -.long 486407649,486407649 -.long 2928907069,2928907069 -.long 1780885068,1780885068 -.long 1513502316,1513502316 -.long 1094664062,1094664062 -.long 49805301,49805301 -.long 1338821763,1338821763 -.long 1546925160,1546925160 -.long 4104496465,4104496465 -.long 887481809,887481809 -.long 150073849,150073849 -.long 2473685474,2473685474 -.long 1943591083,1943591083 -.long 1395732834,1395732834 -.long 1058346282,1058346282 -.long 201589768,201589768 -.long 1388824469,1388824469 -.long 1696801606,1696801606 -.long 1589887901,1589887901 -.long 672667696,672667696 -.long 2711000631,2711000631 -.long 251987210,251987210 -.long 3046808111,3046808111 -.long 151455502,151455502 -.long 907153956,907153956 -.long 2608889883,2608889883 -.long 1038279391,1038279391 -.long 652995533,652995533 -.long 1764173646,1764173646 -.long 3451040383,3451040383 -.long 2675275242,2675275242 -.long 453576978,453576978 -.long 2659418909,2659418909 -.long 1949051992,1949051992 -.long 773462580,773462580 -.long 756751158,756751158 -.long 2993581788,2993581788 -.long 3998898868,3998898868 -.long 4221608027,4221608027 -.long 4132590244,4132590244 -.long 1295727478,1295727478 -.long 1641469623,1641469623 -.long 3467883389,3467883389 -.long 2066295122,2066295122 -.long 1055122397,1055122397 -.long 1898917726,1898917726 -.long 2542044179,2542044179 -.long 4115878822,4115878822 -.long 1758581177,1758581177 -.long 0,0 -.long 753790401,753790401 -.long 1612718144,1612718144 -.long 536673507,536673507 -.long 3367088505,3367088505 -.long 3982187446,3982187446 -.long 3194645204,3194645204 -.long 1187761037,1187761037 -.long 3653156455,3653156455 -.long 1262041458,1262041458 -.long 3729410708,3729410708 -.long 3561770136,3561770136 -.long 3898103984,3898103984 -.long 1255133061,1255133061 -.long 1808847035,1808847035 -.long 720367557,720367557 -.long 3853167183,3853167183 -.long 385612781,385612781 -.long 3309519750,3309519750 -.long 3612167578,3612167578 -.long 1429418854,1429418854 -.long 2491778321,2491778321 -.long 3477423498,3477423498 -.long 284817897,284817897 -.long 100794884,100794884 -.long 2172616702,2172616702 -.long 4031795360,4031795360 -.long 1144798328,1144798328 -.long 3131023141,3131023141 -.long 3819481163,3819481163 -.long 4082192802,4082192802 -.long 4272137053,4272137053 -.long 3225436288,3225436288 -.long 2324664069,2324664069 -.long 2912064063,2912064063 -.long 3164445985,3164445985 -.long 1211644016,1211644016 -.long 83228145,83228145 -.long 3753688163,3753688163 -.long 3249976951,3249976951 -.long 1977277103,1977277103 -.long 1663115586,1663115586 -.long 806359072,806359072 -.long 452984805,452984805 -.long 250868733,250868733 -.long 1842533055,1842533055 -.long 1288555905,1288555905 -.long 336333848,336333848 -.long 890442534,890442534 -.long 804056259,804056259 -.long 3781124030,3781124030 -.long 2727843637,2727843637 -.long 3427026056,3427026056 -.long 957814574,957814574 -.long 1472513171,1472513171 -.long 4071073621,4071073621 -.long 2189328124,2189328124 -.long 1195195770,1195195770 -.long 2892260552,2892260552 -.long 3881655738,3881655738 -.long 723065138,723065138 -.long 2507371494,2507371494 -.long 2690670784,2690670784 -.long 2558624025,2558624025 -.long 3511635870,3511635870 -.long 2145180835,2145180835 -.long 1713513028,1713513028 -.long 2116692564,2116692564 -.long 2878378043,2878378043 -.long 2206763019,2206763019 -.long 3393603212,3393603212 -.long 703524551,703524551 -.long 3552098411,3552098411 -.long 1007948840,1007948840 -.long 2044649127,2044649127 -.long 3797835452,3797835452 -.long 487262998,487262998 -.long 1994120109,1994120109 -.long 1004593371,1004593371 -.long 1446130276,1446130276 -.long 1312438900,1312438900 -.long 503974420,503974420 -.long 3679013266,3679013266 -.long 168166924,168166924 -.long 1814307912,1814307912 -.long 3831258296,3831258296 -.long 1573044895,1573044895 -.long 1859376061,1859376061 -.long 4021070915,4021070915 -.long 2791465668,2791465668 -.long 2828112185,2828112185 -.long 2761266481,2761266481 -.long 937747667,937747667 -.long 2339994098,2339994098 -.long 854058965,854058965 -.long 1137232011,1137232011 -.long 1496790894,1496790894 -.long 3077402074,3077402074 -.long 2358086913,2358086913 -.long 1691735473,1691735473 -.long 3528347292,3528347292 -.long 3769215305,3769215305 -.long 3027004632,3027004632 -.long 4199962284,4199962284 -.long 133494003,133494003 -.long 636152527,636152527 -.long 2942657994,2942657994 -.long 2390391540,2390391540 -.long 3920539207,3920539207 -.long 403179536,403179536 -.long 3585784431,3585784431 -.long 2289596656,2289596656 -.long 1864705354,1864705354 -.long 1915629148,1915629148 -.long 605822008,605822008 -.long 4054230615,4054230615 -.long 3350508659,3350508659 -.long 1371981463,1371981463 -.long 602466507,602466507 -.long 2094914977,2094914977 -.long 2624877800,2624877800 -.long 555687742,555687742 -.long 3712699286,3712699286 -.long 3703422305,3703422305 -.long 2257292045,2257292045 -.long 2240449039,2240449039 -.long 2423288032,2423288032 -.long 1111375484,1111375484 -.long 3300242801,3300242801 -.long 2858837708,2858837708 -.long 3628615824,3628615824 -.long 84083462,84083462 -.long 32962295,32962295 -.long 302911004,302911004 -.long 2741068226,2741068226 -.long 1597322602,1597322602 -.long 4183250862,4183250862 -.long 3501832553,3501832553 -.long 2441512471,2441512471 -.long 1489093017,1489093017 -.long 656219450,656219450 -.long 3114180135,3114180135 -.long 954327513,954327513 -.long 335083755,335083755 -.long 3013122091,3013122091 -.long 856756514,856756514 -.long 3144247762,3144247762 -.long 1893325225,1893325225 -.long 2307821063,2307821063 -.long 2811532339,2811532339 -.long 3063651117,3063651117 -.long 572399164,572399164 -.long 2458355477,2458355477 -.long 552200649,552200649 -.long 1238290055,1238290055 -.long 4283782570,4283782570 -.long 2015897680,2015897680 -.long 2061492133,2061492133 -.long 2408352771,2408352771 -.long 4171342169,4171342169 -.long 2156497161,2156497161 -.long 386731290,386731290 -.long 3669999461,3669999461 -.long 837215959,837215959 -.long 3326231172,3326231172 -.long 3093850320,3093850320 -.long 3275833730,3275833730 -.long 2962856233,2962856233 -.long 1999449434,1999449434 -.long 286199582,286199582 -.long 3417354363,3417354363 -.long 4233385128,4233385128 -.long 3602627437,3602627437 -.long 974525996,974525996 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.long 1,2,4,8 -.long 16,32,64,128 -.long 27,54,0,0 -.long 0,0,0,0 -.size _x86_AES_encrypt,.-_x86_AES_encrypt -.globl AES_encrypt -.type AES_encrypt,@function -.align 16 -AES_encrypt: -.L_AES_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call .L004pic_point -.L004pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L004pic_point(%ebp),%eax - leal .LAES_Te-.L004pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc .L005x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call _sse_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 16 -.L005x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call _x86_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_encrypt,.-.L_AES_encrypt_begin -.type _x86_AES_decrypt_compact,@function -.align 16 -_x86_AES_decrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 16 -.L006loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%eax - subl %edi,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %ecx,%eax - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ecx,%ebx - roll $8,%ecx - xorl %esi,%ebp - xorl %eax,%ecx - xorl %ebp,%eax - xorl %ebx,%ecx - xorl %ebp,%ebx - roll $24,%eax - xorl %ebp,%ecx - roll $16,%ebx - xorl %eax,%ecx - roll $8,%ebp - xorl %ebx,%ecx - movl 4(%esp),%eax - xorl %ebp,%ecx - movl %ecx,12(%esp) - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %edx,%ebx - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %edx,%ecx - roll $8,%edx - xorl %esi,%ebp - xorl %ebx,%edx - xorl %ebp,%ebx - xorl %ecx,%edx - xorl %ebp,%ecx - roll $24,%ebx - xorl %ebp,%edx - roll $16,%ecx - xorl %ebx,%edx - roll $8,%ebp - xorl %ecx,%edx - movl 8(%esp),%ebx - xorl %ebp,%edx - movl %edx,16(%esp) - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %eax,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %eax,%edx - roll $8,%eax - xorl %esi,%ebp - xorl %ecx,%eax - xorl %ebp,%ecx - xorl %edx,%eax - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%eax - roll $16,%edx - xorl %ecx,%eax - roll $8,%ebp - xorl %edx,%eax - xorl %ebp,%eax - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ebx,%edx - roll $8,%ebx - xorl %esi,%ebp - xorl %ecx,%ebx - xorl %ebp,%ecx - xorl %edx,%ebx - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%ebp - xorl %edx,%ebx - movl 12(%esp),%ecx - xorl %ebp,%ebx - movl 16(%esp),%edx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L006loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.size _x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact -.type _sse_AES_decrypt_compact,@function -.align 16 -_sse_AES_decrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 16 -.L007loop: - pshufw $12,%mm0,%mm1 - pshufw $9,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $6,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $3,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movd %mm2,%eax - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $16,%esi - movd %mm6,%ebx - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %al,%edi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $16,%esi - shrl $16,%eax - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shrl $16,%ebx - shll $8,%esi - movd %edx,%mm1 - movzbl -128(%ebp,%edi,1),%edx - movzbl %bh,%edi - shll $24,%edx - andl $255,%ebx - orl %esi,%edx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movzbl %ah,%eax - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - orl %ebx,%edx - shll $16,%esi - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%edx - shll $24,%eax - orl %eax,%ecx - movl 20(%esp),%edi - movd %edx,%mm4 - movd %ecx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja .L008out - movq %mm0,%mm3 - movq %mm4,%mm7 - pshufw $228,%mm0,%mm2 - pshufw $228,%mm4,%mm6 - movq %mm0,%mm1 - movq %mm4,%mm5 - pshufw $177,%mm0,%mm0 - pshufw $177,%mm4,%mm4 - pslld $8,%mm2 - pslld $8,%mm6 - psrld $8,%mm3 - psrld $8,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pslld $16,%mm2 - pslld $16,%mm6 - psrld $16,%mm3 - psrld $16,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movq 8(%esp),%mm3 - pxor %mm2,%mm2 - pxor %mm6,%mm6 - pcmpgtb %mm1,%mm2 - pcmpgtb %mm5,%mm6 - pand %mm3,%mm2 - pand %mm3,%mm6 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm2,%mm1 - pxor %mm6,%mm5 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq %mm1,%mm2 - movq %mm5,%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pslld $24,%mm3 - pslld $24,%mm7 - psrld $8,%mm2 - psrld $8,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pshufw $177,%mm1,%mm3 - pshufw $177,%mm5,%mm7 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - pshufw $177,%mm1,%mm2 - pshufw $177,%mm5,%mm6 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pslld $8,%mm1 - pslld $8,%mm5 - psrld $8,%mm3 - psrld $8,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl -128(%ebp),%eax - pslld $16,%mm1 - pslld $16,%mm5 - movl -64(%ebp),%ebx - psrld $16,%mm3 - psrld $16,%mm7 - movl (%ebp),%ecx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl 64(%ebp),%edx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp .L007loop -.align 16 -.L008out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.size _sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact -.type _x86_AES_decrypt,@function -.align 16 -_x86_AES_decrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 16 -.L009loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ebx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %ah,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - - movl 20(%esp),%edi - andl $255,%edx - movl (%ebp,%edx,8),%edx - movzbl %ch,%ecx - xorl 3(%ebp,%ecx,8),%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - shrl $24,%eax - xorl 1(%ebp,%eax,8),%edx - movl 4(%esp),%eax - - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L009loop - leal 2176(%ebp),%ebp - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi - leal -128(%ebp),%ebp - movl %eax,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl (%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl (%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl (%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl (%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - leal -2048(%ebp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 64 -.LAES_Td: -.long 1353184337,1353184337 -.long 1399144830,1399144830 -.long 3282310938,3282310938 -.long 2522752826,2522752826 -.long 3412831035,3412831035 -.long 4047871263,4047871263 -.long 2874735276,2874735276 -.long 2466505547,2466505547 -.long 1442459680,1442459680 -.long 4134368941,4134368941 -.long 2440481928,2440481928 -.long 625738485,625738485 -.long 4242007375,4242007375 -.long 3620416197,3620416197 -.long 2151953702,2151953702 -.long 2409849525,2409849525 -.long 1230680542,1230680542 -.long 1729870373,1729870373 -.long 2551114309,2551114309 -.long 3787521629,3787521629 -.long 41234371,41234371 -.long 317738113,317738113 -.long 2744600205,2744600205 -.long 3338261355,3338261355 -.long 3881799427,3881799427 -.long 2510066197,2510066197 -.long 3950669247,3950669247 -.long 3663286933,3663286933 -.long 763608788,763608788 -.long 3542185048,3542185048 -.long 694804553,694804553 -.long 1154009486,1154009486 -.long 1787413109,1787413109 -.long 2021232372,2021232372 -.long 1799248025,1799248025 -.long 3715217703,3715217703 -.long 3058688446,3058688446 -.long 397248752,397248752 -.long 1722556617,1722556617 -.long 3023752829,3023752829 -.long 407560035,407560035 -.long 2184256229,2184256229 -.long 1613975959,1613975959 -.long 1165972322,1165972322 -.long 3765920945,3765920945 -.long 2226023355,2226023355 -.long 480281086,480281086 -.long 2485848313,2485848313 -.long 1483229296,1483229296 -.long 436028815,436028815 -.long 2272059028,2272059028 -.long 3086515026,3086515026 -.long 601060267,601060267 -.long 3791801202,3791801202 -.long 1468997603,1468997603 -.long 715871590,715871590 -.long 120122290,120122290 -.long 63092015,63092015 -.long 2591802758,2591802758 -.long 2768779219,2768779219 -.long 4068943920,4068943920 -.long 2997206819,2997206819 -.long 3127509762,3127509762 -.long 1552029421,1552029421 -.long 723308426,723308426 -.long 2461301159,2461301159 -.long 4042393587,4042393587 -.long 2715969870,2715969870 -.long 3455375973,3455375973 -.long 3586000134,3586000134 -.long 526529745,526529745 -.long 2331944644,2331944644 -.long 2639474228,2639474228 -.long 2689987490,2689987490 -.long 853641733,853641733 -.long 1978398372,1978398372 -.long 971801355,971801355 -.long 2867814464,2867814464 -.long 111112542,111112542 -.long 1360031421,1360031421 -.long 4186579262,4186579262 -.long 1023860118,1023860118 -.long 2919579357,2919579357 -.long 1186850381,1186850381 -.long 3045938321,3045938321 -.long 90031217,90031217 -.long 1876166148,1876166148 -.long 4279586912,4279586912 -.long 620468249,620468249 -.long 2548678102,2548678102 -.long 3426959497,3426959497 -.long 2006899047,2006899047 -.long 3175278768,3175278768 -.long 2290845959,2290845959 -.long 945494503,945494503 -.long 3689859193,3689859193 -.long 1191869601,1191869601 -.long 3910091388,3910091388 -.long 3374220536,3374220536 -.long 0,0 -.long 2206629897,2206629897 -.long 1223502642,1223502642 -.long 2893025566,2893025566 -.long 1316117100,1316117100 -.long 4227796733,4227796733 -.long 1446544655,1446544655 -.long 517320253,517320253 -.long 658058550,658058550 -.long 1691946762,1691946762 -.long 564550760,564550760 -.long 3511966619,3511966619 -.long 976107044,976107044 -.long 2976320012,2976320012 -.long 266819475,266819475 -.long 3533106868,3533106868 -.long 2660342555,2660342555 -.long 1338359936,1338359936 -.long 2720062561,2720062561 -.long 1766553434,1766553434 -.long 370807324,370807324 -.long 179999714,179999714 -.long 3844776128,3844776128 -.long 1138762300,1138762300 -.long 488053522,488053522 -.long 185403662,185403662 -.long 2915535858,2915535858 -.long 3114841645,3114841645 -.long 3366526484,3366526484 -.long 2233069911,2233069911 -.long 1275557295,1275557295 -.long 3151862254,3151862254 -.long 4250959779,4250959779 -.long 2670068215,2670068215 -.long 3170202204,3170202204 -.long 3309004356,3309004356 -.long 880737115,880737115 -.long 1982415755,1982415755 -.long 3703972811,3703972811 -.long 1761406390,1761406390 -.long 1676797112,1676797112 -.long 3403428311,3403428311 -.long 277177154,277177154 -.long 1076008723,1076008723 -.long 538035844,538035844 -.long 2099530373,2099530373 -.long 4164795346,4164795346 -.long 288553390,288553390 -.long 1839278535,1839278535 -.long 1261411869,1261411869 -.long 4080055004,4080055004 -.long 3964831245,3964831245 -.long 3504587127,3504587127 -.long 1813426987,1813426987 -.long 2579067049,2579067049 -.long 4199060497,4199060497 -.long 577038663,577038663 -.long 3297574056,3297574056 -.long 440397984,440397984 -.long 3626794326,3626794326 -.long 4019204898,4019204898 -.long 3343796615,3343796615 -.long 3251714265,3251714265 -.long 4272081548,4272081548 -.long 906744984,906744984 -.long 3481400742,3481400742 -.long 685669029,685669029 -.long 646887386,646887386 -.long 2764025151,2764025151 -.long 3835509292,3835509292 -.long 227702864,227702864 -.long 2613862250,2613862250 -.long 1648787028,1648787028 -.long 3256061430,3256061430 -.long 3904428176,3904428176 -.long 1593260334,1593260334 -.long 4121936770,4121936770 -.long 3196083615,3196083615 -.long 2090061929,2090061929 -.long 2838353263,2838353263 -.long 3004310991,3004310991 -.long 999926984,999926984 -.long 2809993232,2809993232 -.long 1852021992,1852021992 -.long 2075868123,2075868123 -.long 158869197,158869197 -.long 4095236462,4095236462 -.long 28809964,28809964 -.long 2828685187,2828685187 -.long 1701746150,1701746150 -.long 2129067946,2129067946 -.long 147831841,147831841 -.long 3873969647,3873969647 -.long 3650873274,3650873274 -.long 3459673930,3459673930 -.long 3557400554,3557400554 -.long 3598495785,3598495785 -.long 2947720241,2947720241 -.long 824393514,824393514 -.long 815048134,815048134 -.long 3227951669,3227951669 -.long 935087732,935087732 -.long 2798289660,2798289660 -.long 2966458592,2966458592 -.long 366520115,366520115 -.long 1251476721,1251476721 -.long 4158319681,4158319681 -.long 240176511,240176511 -.long 804688151,804688151 -.long 2379631990,2379631990 -.long 1303441219,1303441219 -.long 1414376140,1414376140 -.long 3741619940,3741619940 -.long 3820343710,3820343710 -.long 461924940,461924940 -.long 3089050817,3089050817 -.long 2136040774,2136040774 -.long 82468509,82468509 -.long 1563790337,1563790337 -.long 1937016826,1937016826 -.long 776014843,776014843 -.long 1511876531,1511876531 -.long 1389550482,1389550482 -.long 861278441,861278441 -.long 323475053,323475053 -.long 2355222426,2355222426 -.long 2047648055,2047648055 -.long 2383738969,2383738969 -.long 2302415851,2302415851 -.long 3995576782,3995576782 -.long 902390199,902390199 -.long 3991215329,3991215329 -.long 1018251130,1018251130 -.long 1507840668,1507840668 -.long 1064563285,1064563285 -.long 2043548696,2043548696 -.long 3208103795,3208103795 -.long 3939366739,3939366739 -.long 1537932639,1537932639 -.long 342834655,342834655 -.long 2262516856,2262516856 -.long 2180231114,2180231114 -.long 1053059257,1053059257 -.long 741614648,741614648 -.long 1598071746,1598071746 -.long 1925389590,1925389590 -.long 203809468,203809468 -.long 2336832552,2336832552 -.long 1100287487,1100287487 -.long 1895934009,1895934009 -.long 3736275976,3736275976 -.long 2632234200,2632234200 -.long 2428589668,2428589668 -.long 1636092795,1636092795 -.long 1890988757,1890988757 -.long 1952214088,1952214088 -.long 1113045200,1113045200 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.size _x86_AES_decrypt,.-_x86_AES_decrypt -.globl AES_decrypt -.type AES_decrypt,@function -.align 16 -AES_decrypt: -.L_AES_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call .L010pic_point -.L010pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L010pic_point(%ebp),%eax - leal .LAES_Td-.L010pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc .L011x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call _sse_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 16 -.L011x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call _x86_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_decrypt,.-.L_AES_decrypt_begin -.globl AES_cbc_encrypt -.type AES_cbc_encrypt,@function -.align 16 -AES_cbc_encrypt: -.L_AES_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%ecx - cmpl $0,%ecx - je .L012drop_out - call .L013pic_point -.L013pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L013pic_point(%ebp),%eax - cmpl $0,40(%esp) - leal .LAES_Te-.L013pic_point(%ebp),%ebp - jne .L014picked_te - leal .LAES_Td-.LAES_Te(%ebp),%ebp -.L014picked_te: - pushfl - cld - cmpl $512,%ecx - jb .L015slow_way - testl $15,%ecx - jnz .L015slow_way - btl $28,(%eax) - jc .L015slow_way - leal -324(%esp),%esi - andl $-64,%esi - movl %ebp,%eax - leal 2304(%ebp),%ebx - movl %esi,%edx - andl $4095,%eax - andl $4095,%ebx - andl $4095,%edx - cmpl %ebx,%edx - jb .L016tbl_break_out - subl %ebx,%edx - subl %edx,%esi - jmp .L017tbl_ok -.align 4 -.L016tbl_break_out: - subl %eax,%edx - andl $4095,%edx - addl $384,%edx - subl %edx,%esi -.align 4 -.L017tbl_ok: - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 12(%edx),%edi - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl $0,316(%esp) - movl %edi,%ebx - movl $61,%ecx - subl %ebp,%ebx - movl %edi,%esi - andl $4095,%ebx - leal 76(%esp),%edi - cmpl $2304,%ebx - jb .L018do_copy - cmpl $3852,%ebx - jb .L019skip_copy -.align 4 -.L018do_copy: - movl %edi,44(%esp) -.long 2784229001 -.L019skip_copy: - movl $16,%edi -.align 4 -.L020prefetch_tbl: - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%esi - leal 128(%ebp),%ebp - subl $1,%edi - jnz .L020prefetch_tbl - subl $2048,%ebp - movl 32(%esp),%esi - movl 48(%esp),%edi - cmpl $0,%edx - je .L021fast_decrypt - movl (%edi),%eax - movl 4(%edi),%ebx -.align 16 -.L022fast_enc_loop: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_encrypt - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - leal 16(%esi),%esi - movl 40(%esp),%ecx - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L022fast_enc_loop - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - cmpl $0,316(%esp) - movl 44(%esp),%edi - je .L023skip_ezero - movl $60,%ecx - xorl %eax,%eax -.align 4 -.long 2884892297 -.L023skip_ezero: - movl 28(%esp),%esp - popfl -.L012drop_out: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L021fast_decrypt: - cmpl 36(%esp),%esi - je .L024fast_dec_in_place - movl %edi,52(%esp) -.align 4 -.align 16 -.L025fast_dec_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_decrypt - movl 52(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 36(%esp),%edi - movl 32(%esp),%esi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl %esi,52(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edi - movl %edi,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L025fast_dec_loop - movl 52(%esp),%edi - movl 48(%esp),%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - jmp .L026fast_dec_out -.align 16 -.L024fast_dec_in_place: -.L027fast_dec_in_place_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call _x86_AES_decrypt - movl 48(%esp),%edi - movl 36(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L027fast_dec_in_place_loop -.align 4 -.L026fast_dec_out: - cmpl $0,316(%esp) - movl 44(%esp),%edi - je .L028skip_dzero - movl $60,%ecx - xorl %eax,%eax -.align 4 -.long 2884892297 -.L028skip_dzero: - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L015slow_way: - movl (%eax),%eax - movl 36(%esp),%edi - leal -80(%esp),%esi - andl $-64,%esi - leal -143(%edi),%ebx - subl %esi,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esi - leal 768(%esi),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl %eax,52(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl %esi,%edi - movl %eax,%esi - cmpl $0,%edx - je .L029slow_decrypt - cmpl $16,%ecx - movl %ebx,%edx - jb .L030slow_enc_tail - btl $25,52(%esp) - jnc .L031slow_enc_x86 - movq (%edi),%mm0 - movq 8(%edi),%mm4 -.align 16 -.L032slow_enc_loop_sse: - pxor (%esi),%mm0 - pxor 8(%esi),%mm4 - movl 44(%esp),%edi - call _sse_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl 40(%esp),%ecx - movq %mm0,(%edi) - movq %mm4,8(%edi) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae .L032slow_enc_loop_sse - testl $15,%ecx - jnz .L030slow_enc_tail - movl 48(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L031slow_enc_x86: - movl (%edi),%eax - movl 4(%edi),%ebx -.align 4 -.L033slow_enc_loop_x86: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae .L033slow_enc_loop_x86 - testl $15,%ecx - jnz .L030slow_enc_tail - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L030slow_enc_tail: - emms - movl %edx,%edi - movl $16,%ebx - subl %ecx,%ebx - cmpl %esi,%edi - je .L034enc_in_place -.align 4 -.long 2767451785 - jmp .L035enc_skip_in_place -.L034enc_in_place: - leal (%edi,%ecx,1),%edi -.L035enc_skip_in_place: - movl %ebx,%ecx - xorl %eax,%eax -.align 4 -.long 2868115081 - movl 48(%esp),%edi - movl %edx,%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl $16,40(%esp) - jmp .L033slow_enc_loop_x86 -.align 16 -.L029slow_decrypt: - btl $25,52(%esp) - jnc .L036slow_dec_loop_x86 -.align 4 -.L037slow_dec_loop_sse: - movq (%esi),%mm0 - movq 8(%esi),%mm4 - movl 44(%esp),%edi - call _sse_AES_decrypt_compact - movl 32(%esp),%esi - leal 60(%esp),%eax - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl 48(%esp),%edi - movq (%esi),%mm1 - movq 8(%esi),%mm5 - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movq %mm1,(%edi) - movq %mm5,8(%edi) - subl $16,%ecx - jc .L038slow_dec_partial_sse - movq %mm0,(%ebx) - movq %mm4,8(%ebx) - leal 16(%ebx),%ebx - movl %ebx,36(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - movl %ecx,40(%esp) - jnz .L037slow_dec_loop_sse - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L038slow_dec_partial_sse: - movq %mm0,(%eax) - movq %mm4,8(%eax) - emms - addl $16,%ecx - movl %ebx,%edi - movl %eax,%esi -.align 4 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L036slow_dec_loop_x86: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call _x86_AES_decrypt_compact - movl 48(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - subl $16,%esi - jc .L039slow_dec_partial_x86 - movl %esi,40(%esp) - movl 36(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - leal 16(%esi),%esi - movl %esi,32(%esp) - jnz .L036slow_dec_loop_x86 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L039slow_dec_partial_x86: - leal 60(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 32(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl 36(%esp),%edi - leal 60(%esp),%esi -.align 4 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_cbc_encrypt,.-.L_AES_cbc_encrypt_begin -.type _x86_AES_set_encrypt_key,@function -.align 16 -_x86_AES_set_encrypt_key: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 24(%esp),%esi - movl 32(%esp),%edi - testl $-1,%esi - jz .L040badpointer - testl $-1,%edi - jz .L040badpointer - call .L041pic_point -.L041pic_point: - popl %ebp - leal .LAES_Te-.L041pic_point(%ebp),%ebp - leal 2176(%ebp),%ebp - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx - movl 28(%esp),%ecx - cmpl $128,%ecx - je .L04210rounds - cmpl $192,%ecx - je .L04312rounds - cmpl $256,%ecx - je .L04414rounds - movl $-2,%eax - jmp .L045exit -.L04210rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - xorl %ecx,%ecx - jmp .L04610shortcut -.align 4 -.L04710loop: - movl (%edi),%eax - movl 12(%edi),%edx -.L04610shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,16(%edi) - xorl 4(%edi),%eax - movl %eax,20(%edi) - xorl 8(%edi),%eax - movl %eax,24(%edi) - xorl 12(%edi),%eax - movl %eax,28(%edi) - incl %ecx - addl $16,%edi - cmpl $10,%ecx - jl .L04710loop - movl $10,80(%edi) - xorl %eax,%eax - jmp .L045exit -.L04312rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%ecx - movl 20(%esi),%edx - movl %ecx,16(%edi) - movl %edx,20(%edi) - xorl %ecx,%ecx - jmp .L04812shortcut -.align 4 -.L04912loop: - movl (%edi),%eax - movl 20(%edi),%edx -.L04812shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,24(%edi) - xorl 4(%edi),%eax - movl %eax,28(%edi) - xorl 8(%edi),%eax - movl %eax,32(%edi) - xorl 12(%edi),%eax - movl %eax,36(%edi) - cmpl $7,%ecx - je .L05012break - incl %ecx - xorl 16(%edi),%eax - movl %eax,40(%edi) - xorl 20(%edi),%eax - movl %eax,44(%edi) - addl $24,%edi - jmp .L04912loop -.L05012break: - movl $12,72(%edi) - xorl %eax,%eax - jmp .L045exit -.L04414rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - movl %eax,16(%edi) - movl %ebx,20(%edi) - movl %ecx,24(%edi) - movl %edx,28(%edi) - xorl %ecx,%ecx - jmp .L05114shortcut -.align 4 -.L05214loop: - movl 28(%edi),%edx -.L05114shortcut: - movl (%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,32(%edi) - xorl 4(%edi),%eax - movl %eax,36(%edi) - xorl 8(%edi),%eax - movl %eax,40(%edi) - xorl 12(%edi),%eax - movl %eax,44(%edi) - cmpl $6,%ecx - je .L05314break - incl %ecx - movl %eax,%edx - movl 16(%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - movl %eax,48(%edi) - xorl 20(%edi),%eax - movl %eax,52(%edi) - xorl 24(%edi),%eax - movl %eax,56(%edi) - xorl 28(%edi),%eax - movl %eax,60(%edi) - addl $32,%edi - jmp .L05214loop -.L05314break: - movl $14,48(%edi) - xorl %eax,%eax - jmp .L045exit -.L040badpointer: - movl $-1,%eax -.L045exit: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key -.globl AES_set_encrypt_key -.type AES_set_encrypt_key,@function -.align 16 -AES_set_encrypt_key: -.L_AES_set_encrypt_key_begin: - call _x86_AES_set_encrypt_key - ret -.size AES_set_encrypt_key,.-.L_AES_set_encrypt_key_begin -.globl AES_set_decrypt_key -.type AES_set_decrypt_key,@function -.align 16 -AES_set_decrypt_key: -.L_AES_set_decrypt_key_begin: - call _x86_AES_set_encrypt_key - cmpl $0,%eax - je .L054proceed - ret -.L054proceed: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%esi - movl 240(%esi),%ecx - leal (,%ecx,4),%ecx - leal (%esi,%ecx,4),%edi -.align 4 -.L055invert: - movl (%esi),%eax - movl 4(%esi),%ebx - movl (%edi),%ecx - movl 4(%edi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,(%esi) - movl %edx,4(%esi) - movl 8(%esi),%eax - movl 12(%esi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,8(%edi) - movl %ebx,12(%edi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - addl $16,%esi - subl $16,%edi - cmpl %edi,%esi - jne .L055invert - movl 28(%esp),%edi - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,28(%esp) - movl 16(%edi),%eax -.align 4 -.L056permute: - addl $16,%edi - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %eax,%ebx - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - xorl %eax,%ecx - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - roll $8,%eax - xorl %esi,%edx - movl 4(%edi),%ebp - xorl %ebx,%eax - xorl %edx,%ebx - xorl %ecx,%eax - roll $24,%ebx - xorl %edx,%ecx - xorl %edx,%eax - roll $16,%ecx - xorl %ebx,%eax - roll $8,%edx - xorl %ecx,%eax - movl %ebp,%ebx - xorl %edx,%eax - movl %eax,(%edi) - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - xorl %ebx,%edx - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - roll $8,%ebx - xorl %esi,%eax - movl 8(%edi),%ebp - xorl %ecx,%ebx - xorl %eax,%ecx - xorl %edx,%ebx - roll $24,%ecx - xorl %eax,%edx - xorl %eax,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%eax - xorl %edx,%ebx - movl %ebp,%ecx - xorl %eax,%ebx - movl %ebx,4(%edi) - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %ecx,%edx - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - xorl %ecx,%eax - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - roll $8,%ecx - xorl %esi,%ebx - movl 12(%edi),%ebp - xorl %edx,%ecx - xorl %ebx,%edx - xorl %eax,%ecx - roll $24,%edx - xorl %ebx,%eax - xorl %ebx,%ecx - roll $16,%eax - xorl %edx,%ecx - roll $8,%ebx - xorl %eax,%ecx - movl %ebp,%edx - xorl %ebx,%ecx - movl %ecx,8(%edi) - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %edx,%eax - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - xorl %edx,%ebx - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - roll $8,%edx - xorl %esi,%ecx - movl 16(%edi),%ebp - xorl %eax,%edx - xorl %ecx,%eax - xorl %ebx,%edx - roll $24,%eax - xorl %ecx,%ebx - xorl %ecx,%edx - roll $16,%ebx - xorl %eax,%edx - roll $8,%ecx - xorl %ebx,%edx - movl %ebp,%eax - xorl %ecx,%edx - movl %edx,12(%edi) - cmpl 28(%esp),%edi - jb .L056permute - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_set_decrypt_key,.-.L_AES_set_decrypt_key_begin -.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.comm OPENSSL_ia32cap_P,16,4 diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/buildinf.h b/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/buildinf.h index 15030d59077278..201a165d1cd70f 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: solaris-x86-gcc" -#define DATE "built on: Fri Sep 13 16:02:08 2019 UTC" +#define DATE "built on: Wed Mar 18 21:09:49 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -37,10 +37,11 @@ static const char compiler_flags[] = { 'A','2','5','6','_','A','S','M',' ','-','D','S','H','A','5','1', '2','_','A','S','M',' ','-','D','R','C','4','_','A','S','M',' ', '-','D','M','D','5','_','A','S','M',' ','-','D','R','M','D','1', - '6','0','_','A','S','M',' ','-','D','V','P','A','E','S','_','A', - 'S','M',' ','-','D','W','H','I','R','L','P','O','O','L','_','A', - 'S','M',' ','-','D','G','H','A','S','H','_','A','S','M',' ','-', - 'D','E','C','P','_','N','I','S','T','Z','2','5','6','_','A','S', - 'M',' ','-','D','P','O','L','Y','1','3','0','5','_','A','S','M', - ' ','-','D','N','D','E','B','U','G','\0' + '6','0','_','A','S','M',' ','-','D','A','E','S','N','I','_','A', + 'S','M',' ','-','D','V','P','A','E','S','_','A','S','M',' ','-', + 'D','W','H','I','R','L','P','O','O','L','_','A','S','M',' ','-', + 'D','G','H','A','S','H','_','A','S','M',' ','-','D','E','C','P', + '_','N','I','S','T','Z','2','5','6','_','A','S','M',' ','-','D', + 'P','O','L','Y','1','3','0','5','_','A','S','M',' ','-','D','N', + 'D','E','B','U','G','\0' }; diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/ec/ecp_nistz256-x86.s b/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/ec/ecp_nistz256-x86.s index da9b3a7ee1dc57..4cec24f4e21cf7 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/ec/ecp_nistz256-x86.s +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/ec/ecp_nistz256-x86.s @@ -4419,19 +4419,15 @@ ecp_nistz256_point_add: orl 4(%edi),%eax orl 8(%edi),%eax orl 12(%edi),%eax + movl 576(%esp),%ebx + notl %ebx + orl %ebx,%eax + movl 580(%esp),%ebx + notl %ebx + orl %ebx,%eax + orl 584(%esp),%eax .byte 62 jnz .L010add_proceed - movl 576(%esp),%eax - andl 580(%esp),%eax - movl 584(%esp),%ebx - jz .L010add_proceed - testl %ebx,%ebx - jz .L011add_double - movl 616(%esp),%edi - xorl %eax,%eax - movl $24,%ecx -.byte 252,243,171 - jmp .L012add_done .align 16 .L011add_double: movl 620(%esp),%esi diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/opensslconf.h index c43f2272966f7a..da0b080ce0c7a3 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/include/progs.h b/deps/openssl/config/archs/solaris-x86-gcc/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/include/progs.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/openssl-cl.gypi b/deps/openssl/config/archs/solaris-x86-gcc/asm/openssl-cl.gypi index 3f5a755eebce3f..f9a78c541be4c2 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/openssl-cl.gypi +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/openssl-cl.gypi @@ -16,6 +16,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/openssl.gypi b/deps/openssl/config/archs/solaris-x86-gcc/asm/openssl.gypi index 69bded9b4f426e..60c75c7f2eafd2 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/openssl.gypi +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/openssl.gypi @@ -713,6 +713,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/configdata.pm b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/configdata.pm index 7663c71cf63596..2cca99ea71113f 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/configdata.pm @@ -48,14 +48,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_BN_ASM_PART_WORDS", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "RC4_ASM", "MD5_ASM", "RMD160_ASM", "AESNI_ASM", "VPAES_ASM", "WHIRLPOOL_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)../config/fake_gcc.pl", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "solaris-x86-gcc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -236,6 +236,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -353,8 +354,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -622,14 +623,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -705,6 +698,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1502,6 +1503,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3233,7 +3240,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3241,6 +3247,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3739,14 +3746,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4187,6 +4186,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4881,49 +4888,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4933,7 +4932,6 @@ our %unified_info = ( "crypto/aes/aesni-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4951,13 +4949,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4971,613 +4967,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5591,7 +5485,6 @@ our %unified_info = ( "crypto/bn/bn-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5601,188 +5494,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/co-586.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5812,25 +5674,21 @@ our %unified_info = ( "crypto/bn/x86-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5840,31 +5698,26 @@ our %unified_info = ( "crypto/camellia/cmll-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5874,31 +5727,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5916,284 +5764,237 @@ our %unified_info = ( "crypto/chacha/chacha-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/crypt586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des-586.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6203,295 +6004,246 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6499,7 +6251,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6507,7 +6258,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6515,7 +6265,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6523,7 +6272,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6531,7 +6279,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6539,163 +6286,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6713,235 +6433,196 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6949,21 +6630,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6971,13 +6649,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6985,81 +6661,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7067,334 +6730,272 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-586.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7404,79 +7005,66 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7495,7 +7083,6 @@ our %unified_info = ( "crypto/modes/ghash-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7505,361 +7092,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7881,265 +7408,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd-586.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8149,31 +7632,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8183,13 +7661,11 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8215,19 +7691,16 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8253,13 +7726,11 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-586.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8285,727 +7756,606 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-mmx.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9056,6 +8406,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9300,7 +8658,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9626,7 +8983,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9672,7 +9028,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9738,7 +9093,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9763,7 +9117,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9861,7 +9214,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9911,18 +9263,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9933,6 +9282,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9996,10 +9349,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10028,6 +9377,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10292,6 +9645,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15247,7 +14601,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15255,6 +14608,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15482,6 +14836,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15584,10 +14946,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15616,6 +14974,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/aes/aes-586.s b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/aes/aes-586.s deleted file mode 100644 index 53cd2909ac69bb..00000000000000 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/aes/aes-586.s +++ /dev/null @@ -1,3243 +0,0 @@ -.text -.type _x86_AES_encrypt_compact,@function -.align 16 -_x86_AES_encrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 16 -.L000loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ecx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ecx,%edi - xorl %esi,%ecx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ecx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%ecx - andl %edx,%ebp - leal (%edx,%edx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %edx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %edx,%edi - xorl %esi,%edx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%edx - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%edx - andl %eax,%ebp - leal (%eax,%eax,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %eax,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %eax,%edi - xorl %esi,%eax - rorl $24,%edi - xorl %ebp,%esi - roll $24,%eax - xorl %edi,%esi - movl $2155905152,%ebp - xorl %esi,%eax - andl %ebx,%ebp - leal (%ebx,%ebx,1),%edi - movl %ebp,%esi - shrl $7,%ebp - andl $4278124286,%edi - subl %ebp,%esi - movl %ebx,%ebp - andl $454761243,%esi - rorl $16,%ebp - xorl %edi,%esi - movl %ebx,%edi - xorl %esi,%ebx - rorl $24,%edi - xorl %ebp,%esi - roll $24,%ebx - xorl %edi,%esi - xorl %esi,%ebx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L000loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movzbl -128(%ebp,%esi,1),%esi - movzbl %ch,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ah,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $8,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movzbl -128(%ebp,%ecx,1),%ecx - shll $24,%ecx - xorl %ecx,%edx - movl %esi,%ecx - - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.size _x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact -.type _sse_AES_encrypt_compact,@function -.align 16 -_sse_AES_encrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 16 -.L001loop: - pshufw $8,%mm0,%mm1 - pshufw $13,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $13,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $8,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $8,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - movd %mm2,%eax - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - movd %mm6,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $8,%esi - shrl $16,%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shrl $16,%eax - movd %ecx,%mm1 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %ah,%edi - shll $16,%ecx - andl $255,%eax - orl %esi,%ecx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - andl $255,%ebx - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%ecx - shll $16,%eax - movzbl -128(%ebp,%edi,1),%esi - orl %eax,%edx - shll $8,%esi - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - orl %ebx,%edx - movl 20(%esp),%edi - movd %ecx,%mm4 - movd %edx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja .L002out - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - movq %mm0,%mm1 - movq %mm4,%mm5 - pcmpgtb %mm0,%mm3 - pcmpgtb %mm4,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - pshufw $177,%mm0,%mm2 - pshufw $177,%mm4,%mm6 - paddb %mm0,%mm0 - paddb %mm4,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pshufw $177,%mm2,%mm3 - pshufw $177,%mm6,%mm7 - pxor %mm0,%mm1 - pxor %mm4,%mm5 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm3,%mm2 - movq %mm7,%mm6 - pslld $8,%mm3 - pslld $8,%mm7 - psrld $24,%mm2 - psrld $24,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - psrld $8,%mm1 - psrld $8,%mm5 - movl -128(%ebp),%eax - pslld $24,%mm3 - pslld $24,%mm7 - movl -64(%ebp),%ebx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl (%ebp),%ecx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl 64(%ebp),%edx - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp .L001loop -.align 16 -.L002out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.size _sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact -.type _x86_AES_encrypt,@function -.align 16 -_x86_AES_encrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 16 -.L003loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl (%ebp,%esi,8),%esi - movzbl %ch,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movzbl %bh,%edi - xorl 1(%ebp,%edi,8),%esi - - movl 20(%esp),%edi - movl (%ebp,%edx,8),%edx - movzbl %ah,%eax - xorl 3(%ebp,%eax,8),%edx - movl 4(%esp),%eax - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - xorl 1(%ebp,%ecx,8),%edx - movl %esi,%ecx - - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L003loop - movl %eax,%esi - andl $255,%esi - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %bh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - shrl $16,%ebx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %ch,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $24,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - shrl $24,%ecx - movl 2(%ebp,%esi,8),%esi - andl $255,%esi - movzbl %dh,%edi - movl (%ebp,%edi,8),%edi - andl $65280,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edx - andl $255,%edi - movl (%ebp,%edi,8),%edi - andl $16711680,%edi - xorl %edi,%esi - movzbl %bh,%edi - movl 2(%ebp,%edi,8),%edi - andl $4278190080,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movl 2(%ebp,%edx,8),%edx - andl $255,%edx - movzbl %ah,%eax - movl (%ebp,%eax,8),%eax - andl $65280,%eax - xorl %eax,%edx - movl 4(%esp),%eax - andl $255,%ebx - movl (%ebp,%ebx,8),%ebx - andl $16711680,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - movl 2(%ebp,%ecx,8),%ecx - andl $4278190080,%ecx - xorl %ecx,%edx - movl %esi,%ecx - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 64 -.LAES_Te: -.long 2774754246,2774754246 -.long 2222750968,2222750968 -.long 2574743534,2574743534 -.long 2373680118,2373680118 -.long 234025727,234025727 -.long 3177933782,3177933782 -.long 2976870366,2976870366 -.long 1422247313,1422247313 -.long 1345335392,1345335392 -.long 50397442,50397442 -.long 2842126286,2842126286 -.long 2099981142,2099981142 -.long 436141799,436141799 -.long 1658312629,1658312629 -.long 3870010189,3870010189 -.long 2591454956,2591454956 -.long 1170918031,1170918031 -.long 2642575903,2642575903 -.long 1086966153,1086966153 -.long 2273148410,2273148410 -.long 368769775,368769775 -.long 3948501426,3948501426 -.long 3376891790,3376891790 -.long 200339707,200339707 -.long 3970805057,3970805057 -.long 1742001331,1742001331 -.long 4255294047,4255294047 -.long 3937382213,3937382213 -.long 3214711843,3214711843 -.long 4154762323,4154762323 -.long 2524082916,2524082916 -.long 1539358875,1539358875 -.long 3266819957,3266819957 -.long 486407649,486407649 -.long 2928907069,2928907069 -.long 1780885068,1780885068 -.long 1513502316,1513502316 -.long 1094664062,1094664062 -.long 49805301,49805301 -.long 1338821763,1338821763 -.long 1546925160,1546925160 -.long 4104496465,4104496465 -.long 887481809,887481809 -.long 150073849,150073849 -.long 2473685474,2473685474 -.long 1943591083,1943591083 -.long 1395732834,1395732834 -.long 1058346282,1058346282 -.long 201589768,201589768 -.long 1388824469,1388824469 -.long 1696801606,1696801606 -.long 1589887901,1589887901 -.long 672667696,672667696 -.long 2711000631,2711000631 -.long 251987210,251987210 -.long 3046808111,3046808111 -.long 151455502,151455502 -.long 907153956,907153956 -.long 2608889883,2608889883 -.long 1038279391,1038279391 -.long 652995533,652995533 -.long 1764173646,1764173646 -.long 3451040383,3451040383 -.long 2675275242,2675275242 -.long 453576978,453576978 -.long 2659418909,2659418909 -.long 1949051992,1949051992 -.long 773462580,773462580 -.long 756751158,756751158 -.long 2993581788,2993581788 -.long 3998898868,3998898868 -.long 4221608027,4221608027 -.long 4132590244,4132590244 -.long 1295727478,1295727478 -.long 1641469623,1641469623 -.long 3467883389,3467883389 -.long 2066295122,2066295122 -.long 1055122397,1055122397 -.long 1898917726,1898917726 -.long 2542044179,2542044179 -.long 4115878822,4115878822 -.long 1758581177,1758581177 -.long 0,0 -.long 753790401,753790401 -.long 1612718144,1612718144 -.long 536673507,536673507 -.long 3367088505,3367088505 -.long 3982187446,3982187446 -.long 3194645204,3194645204 -.long 1187761037,1187761037 -.long 3653156455,3653156455 -.long 1262041458,1262041458 -.long 3729410708,3729410708 -.long 3561770136,3561770136 -.long 3898103984,3898103984 -.long 1255133061,1255133061 -.long 1808847035,1808847035 -.long 720367557,720367557 -.long 3853167183,3853167183 -.long 385612781,385612781 -.long 3309519750,3309519750 -.long 3612167578,3612167578 -.long 1429418854,1429418854 -.long 2491778321,2491778321 -.long 3477423498,3477423498 -.long 284817897,284817897 -.long 100794884,100794884 -.long 2172616702,2172616702 -.long 4031795360,4031795360 -.long 1144798328,1144798328 -.long 3131023141,3131023141 -.long 3819481163,3819481163 -.long 4082192802,4082192802 -.long 4272137053,4272137053 -.long 3225436288,3225436288 -.long 2324664069,2324664069 -.long 2912064063,2912064063 -.long 3164445985,3164445985 -.long 1211644016,1211644016 -.long 83228145,83228145 -.long 3753688163,3753688163 -.long 3249976951,3249976951 -.long 1977277103,1977277103 -.long 1663115586,1663115586 -.long 806359072,806359072 -.long 452984805,452984805 -.long 250868733,250868733 -.long 1842533055,1842533055 -.long 1288555905,1288555905 -.long 336333848,336333848 -.long 890442534,890442534 -.long 804056259,804056259 -.long 3781124030,3781124030 -.long 2727843637,2727843637 -.long 3427026056,3427026056 -.long 957814574,957814574 -.long 1472513171,1472513171 -.long 4071073621,4071073621 -.long 2189328124,2189328124 -.long 1195195770,1195195770 -.long 2892260552,2892260552 -.long 3881655738,3881655738 -.long 723065138,723065138 -.long 2507371494,2507371494 -.long 2690670784,2690670784 -.long 2558624025,2558624025 -.long 3511635870,3511635870 -.long 2145180835,2145180835 -.long 1713513028,1713513028 -.long 2116692564,2116692564 -.long 2878378043,2878378043 -.long 2206763019,2206763019 -.long 3393603212,3393603212 -.long 703524551,703524551 -.long 3552098411,3552098411 -.long 1007948840,1007948840 -.long 2044649127,2044649127 -.long 3797835452,3797835452 -.long 487262998,487262998 -.long 1994120109,1994120109 -.long 1004593371,1004593371 -.long 1446130276,1446130276 -.long 1312438900,1312438900 -.long 503974420,503974420 -.long 3679013266,3679013266 -.long 168166924,168166924 -.long 1814307912,1814307912 -.long 3831258296,3831258296 -.long 1573044895,1573044895 -.long 1859376061,1859376061 -.long 4021070915,4021070915 -.long 2791465668,2791465668 -.long 2828112185,2828112185 -.long 2761266481,2761266481 -.long 937747667,937747667 -.long 2339994098,2339994098 -.long 854058965,854058965 -.long 1137232011,1137232011 -.long 1496790894,1496790894 -.long 3077402074,3077402074 -.long 2358086913,2358086913 -.long 1691735473,1691735473 -.long 3528347292,3528347292 -.long 3769215305,3769215305 -.long 3027004632,3027004632 -.long 4199962284,4199962284 -.long 133494003,133494003 -.long 636152527,636152527 -.long 2942657994,2942657994 -.long 2390391540,2390391540 -.long 3920539207,3920539207 -.long 403179536,403179536 -.long 3585784431,3585784431 -.long 2289596656,2289596656 -.long 1864705354,1864705354 -.long 1915629148,1915629148 -.long 605822008,605822008 -.long 4054230615,4054230615 -.long 3350508659,3350508659 -.long 1371981463,1371981463 -.long 602466507,602466507 -.long 2094914977,2094914977 -.long 2624877800,2624877800 -.long 555687742,555687742 -.long 3712699286,3712699286 -.long 3703422305,3703422305 -.long 2257292045,2257292045 -.long 2240449039,2240449039 -.long 2423288032,2423288032 -.long 1111375484,1111375484 -.long 3300242801,3300242801 -.long 2858837708,2858837708 -.long 3628615824,3628615824 -.long 84083462,84083462 -.long 32962295,32962295 -.long 302911004,302911004 -.long 2741068226,2741068226 -.long 1597322602,1597322602 -.long 4183250862,4183250862 -.long 3501832553,3501832553 -.long 2441512471,2441512471 -.long 1489093017,1489093017 -.long 656219450,656219450 -.long 3114180135,3114180135 -.long 954327513,954327513 -.long 335083755,335083755 -.long 3013122091,3013122091 -.long 856756514,856756514 -.long 3144247762,3144247762 -.long 1893325225,1893325225 -.long 2307821063,2307821063 -.long 2811532339,2811532339 -.long 3063651117,3063651117 -.long 572399164,572399164 -.long 2458355477,2458355477 -.long 552200649,552200649 -.long 1238290055,1238290055 -.long 4283782570,4283782570 -.long 2015897680,2015897680 -.long 2061492133,2061492133 -.long 2408352771,2408352771 -.long 4171342169,4171342169 -.long 2156497161,2156497161 -.long 386731290,386731290 -.long 3669999461,3669999461 -.long 837215959,837215959 -.long 3326231172,3326231172 -.long 3093850320,3093850320 -.long 3275833730,3275833730 -.long 2962856233,2962856233 -.long 1999449434,1999449434 -.long 286199582,286199582 -.long 3417354363,3417354363 -.long 4233385128,4233385128 -.long 3602627437,3602627437 -.long 974525996,974525996 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.byte 99,124,119,123,242,107,111,197 -.byte 48,1,103,43,254,215,171,118 -.byte 202,130,201,125,250,89,71,240 -.byte 173,212,162,175,156,164,114,192 -.byte 183,253,147,38,54,63,247,204 -.byte 52,165,229,241,113,216,49,21 -.byte 4,199,35,195,24,150,5,154 -.byte 7,18,128,226,235,39,178,117 -.byte 9,131,44,26,27,110,90,160 -.byte 82,59,214,179,41,227,47,132 -.byte 83,209,0,237,32,252,177,91 -.byte 106,203,190,57,74,76,88,207 -.byte 208,239,170,251,67,77,51,133 -.byte 69,249,2,127,80,60,159,168 -.byte 81,163,64,143,146,157,56,245 -.byte 188,182,218,33,16,255,243,210 -.byte 205,12,19,236,95,151,68,23 -.byte 196,167,126,61,100,93,25,115 -.byte 96,129,79,220,34,42,144,136 -.byte 70,238,184,20,222,94,11,219 -.byte 224,50,58,10,73,6,36,92 -.byte 194,211,172,98,145,149,228,121 -.byte 231,200,55,109,141,213,78,169 -.byte 108,86,244,234,101,122,174,8 -.byte 186,120,37,46,28,166,180,198 -.byte 232,221,116,31,75,189,139,138 -.byte 112,62,181,102,72,3,246,14 -.byte 97,53,87,185,134,193,29,158 -.byte 225,248,152,17,105,217,142,148 -.byte 155,30,135,233,206,85,40,223 -.byte 140,161,137,13,191,230,66,104 -.byte 65,153,45,15,176,84,187,22 -.long 1,2,4,8 -.long 16,32,64,128 -.long 27,54,0,0 -.long 0,0,0,0 -.size _x86_AES_encrypt,.-_x86_AES_encrypt -.globl AES_encrypt -.type AES_encrypt,@function -.align 16 -AES_encrypt: -.L_AES_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call .L004pic_point -.L004pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L004pic_point(%ebp),%eax - leal .LAES_Te-.L004pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc .L005x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call _sse_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 16 -.L005x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call _x86_AES_encrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_encrypt,.-.L_AES_encrypt_begin -.type _x86_AES_decrypt_compact,@function -.align 16 -_x86_AES_decrypt_compact: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi -.align 16 -.L006loop: - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%eax - subl %edi,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %ecx,%eax - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ecx,%ebx - roll $8,%ecx - xorl %esi,%ebp - xorl %eax,%ecx - xorl %ebp,%eax - xorl %ebx,%ecx - xorl %ebp,%ebx - roll $24,%eax - xorl %ebp,%ecx - roll $16,%ebx - xorl %eax,%ecx - roll $8,%ebp - xorl %ebx,%ecx - movl 4(%esp),%eax - xorl %ebp,%ecx - movl %ecx,12(%esp) - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebx - subl %edi,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %edx,%ebx - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %edx,%ecx - roll $8,%edx - xorl %esi,%ebp - xorl %ebx,%edx - xorl %ebp,%ebx - xorl %ecx,%edx - xorl %ebp,%ecx - roll $24,%ebx - xorl %ebp,%edx - roll $16,%ecx - xorl %ebx,%edx - roll $8,%ebp - xorl %ecx,%edx - movl 8(%esp),%ebx - xorl %ebp,%edx - movl %edx,16(%esp) - movl $2155905152,%edi - andl %eax,%edi - movl %edi,%esi - shrl $7,%edi - leal (%eax,%eax,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %eax,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %eax,%edx - roll $8,%eax - xorl %esi,%ebp - xorl %ecx,%eax - xorl %ebp,%ecx - xorl %edx,%eax - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%eax - roll $16,%edx - xorl %ecx,%eax - roll $8,%ebp - xorl %edx,%eax - xorl %ebp,%eax - movl $2155905152,%edi - andl %ebx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ebx,%ebx,1),%ecx - subl %edi,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%edi - andl %ecx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%ecx,%ecx,1),%edx - subl %edi,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%edi - andl %edx,%edi - movl %edi,%esi - shrl $7,%edi - leal (%edx,%edx,1),%ebp - subl %edi,%esi - andl $4278124286,%ebp - andl $454761243,%esi - xorl %ebx,%edx - roll $8,%ebx - xorl %esi,%ebp - xorl %ecx,%ebx - xorl %ebp,%ecx - xorl %edx,%ebx - xorl %ebp,%edx - roll $24,%ecx - xorl %ebp,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%ebp - xorl %edx,%ebx - movl 12(%esp),%ecx - xorl %ebp,%ebx - movl 16(%esp),%edx - movl 20(%esp),%edi - movl 28(%esp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L006loop - movl %eax,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl -128(%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl -128(%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl -128(%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl -128(%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl -128(%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl -128(%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - xorl 16(%edi),%eax - xorl 20(%edi),%ebx - xorl 24(%edi),%ecx - xorl 28(%edi),%edx - ret -.size _x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact -.type _sse_AES_decrypt_compact,@function -.align 16 -_sse_AES_decrypt_compact: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) - movl $454761243,%eax - movl %eax,8(%esp) - movl %eax,12(%esp) - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx -.align 16 -.L007loop: - pshufw $12,%mm0,%mm1 - pshufw $9,%mm4,%mm5 - movd %mm1,%eax - movd %mm5,%ebx - movl %edi,20(%esp) - movzbl %al,%esi - movzbl %ah,%edx - pshufw $6,%mm0,%mm2 - movzbl -128(%ebp,%esi,1),%ecx - movzbl %bl,%edi - movzbl -128(%ebp,%edx,1),%edx - shrl $16,%eax - shll $8,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $16,%esi - pshufw $3,%mm4,%mm6 - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $24,%esi - shrl $16,%ebx - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shll $24,%esi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movd %mm2,%eax - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - shll $16,%esi - movd %mm6,%ebx - movd %ecx,%mm0 - movzbl -128(%ebp,%edi,1),%ecx - movzbl %al,%edi - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bl,%edi - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %ah,%edi - shll $16,%esi - shrl $16,%eax - orl %esi,%edx - movzbl -128(%ebp,%edi,1),%esi - movzbl %bh,%edi - shrl $16,%ebx - shll $8,%esi - movd %edx,%mm1 - movzbl -128(%ebp,%edi,1),%edx - movzbl %bh,%edi - shll $24,%edx - andl $255,%ebx - orl %esi,%edx - punpckldq %mm1,%mm0 - movzbl -128(%ebp,%edi,1),%esi - movzbl %al,%edi - shll $8,%esi - movzbl %ah,%eax - movzbl -128(%ebp,%ebx,1),%ebx - orl %esi,%ecx - movzbl -128(%ebp,%edi,1),%esi - orl %ebx,%edx - shll $16,%esi - movzbl -128(%ebp,%eax,1),%eax - orl %esi,%edx - shll $24,%eax - orl %eax,%ecx - movl 20(%esp),%edi - movd %edx,%mm4 - movd %ecx,%mm5 - punpckldq %mm5,%mm4 - addl $16,%edi - cmpl 24(%esp),%edi - ja .L008out - movq %mm0,%mm3 - movq %mm4,%mm7 - pshufw $228,%mm0,%mm2 - pshufw $228,%mm4,%mm6 - movq %mm0,%mm1 - movq %mm4,%mm5 - pshufw $177,%mm0,%mm0 - pshufw $177,%mm4,%mm4 - pslld $8,%mm2 - pslld $8,%mm6 - psrld $8,%mm3 - psrld $8,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pslld $16,%mm2 - pslld $16,%mm6 - psrld $16,%mm3 - psrld $16,%mm7 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movq 8(%esp),%mm3 - pxor %mm2,%mm2 - pxor %mm6,%mm6 - pcmpgtb %mm1,%mm2 - pcmpgtb %mm5,%mm6 - pand %mm3,%mm2 - pand %mm3,%mm6 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm2,%mm1 - pxor %mm6,%mm5 - movq %mm1,%mm3 - movq %mm5,%mm7 - movq %mm1,%mm2 - movq %mm5,%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pslld $24,%mm3 - pslld $24,%mm7 - psrld $8,%mm2 - psrld $8,%mm6 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - movq 8(%esp),%mm2 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pshufw $177,%mm1,%mm3 - pshufw $177,%mm5,%mm7 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm3,%mm3 - pxor %mm7,%mm7 - pcmpgtb %mm1,%mm3 - pcmpgtb %mm5,%mm7 - pand %mm2,%mm3 - pand %mm2,%mm7 - paddb %mm1,%mm1 - paddb %mm5,%mm5 - pxor %mm3,%mm1 - pxor %mm7,%mm5 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movq %mm1,%mm3 - movq %mm5,%mm7 - pshufw $177,%mm1,%mm2 - pshufw $177,%mm5,%mm6 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - pslld $8,%mm1 - pslld $8,%mm5 - psrld $8,%mm3 - psrld $8,%mm7 - movq (%edi),%mm2 - movq 8(%edi),%mm6 - pxor %mm1,%mm0 - pxor %mm5,%mm4 - pxor %mm3,%mm0 - pxor %mm7,%mm4 - movl -128(%ebp),%eax - pslld $16,%mm1 - pslld $16,%mm5 - movl -64(%ebp),%ebx - psrld $16,%mm3 - psrld $16,%mm7 - movl (%ebp),%ecx - pxor %mm1,%mm0 - pxor %mm5,%mm4 - movl 64(%ebp),%edx - pxor %mm3,%mm0 - pxor %mm7,%mm4 - pxor %mm2,%mm0 - pxor %mm6,%mm4 - jmp .L007loop -.align 16 -.L008out: - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - ret -.size _sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact -.type _x86_AES_decrypt,@function -.align 16 -_x86_AES_decrypt: - movl %edi,20(%esp) - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,24(%esp) -.align 16 -.L009loop: - movl %eax,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %dh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ebx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,4(%esp) - - movl %ebx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %ah,%edi - xorl 3(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %ecx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - movl %esi,8(%esp) - - movl %ecx,%esi - andl $255,%esi - movl (%ebp,%esi,8),%esi - movzbl %bh,%edi - xorl 3(%ebp,%edi,8),%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - xorl 2(%ebp,%edi,8),%esi - movl %edx,%edi - shrl $24,%edi - xorl 1(%ebp,%edi,8),%esi - - movl 20(%esp),%edi - andl $255,%edx - movl (%ebp,%edx,8),%edx - movzbl %ch,%ecx - xorl 3(%ebp,%ecx,8),%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - xorl 2(%ebp,%ebx,8),%edx - movl 8(%esp),%ebx - shrl $24,%eax - xorl 1(%ebp,%eax,8),%edx - movl 4(%esp),%eax - - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - cmpl 24(%esp),%edi - movl %edi,20(%esp) - jb .L009loop - leal 2176(%ebp),%ebp - movl -128(%ebp),%edi - movl -96(%ebp),%esi - movl -64(%ebp),%edi - movl -32(%ebp),%esi - movl (%ebp),%edi - movl 32(%ebp),%esi - movl 64(%ebp),%edi - movl 96(%ebp),%esi - leal -128(%ebp),%ebp - movl %eax,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %dh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ebx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,4(%esp) - movl %ebx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %ah,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %ecx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl %esi,8(%esp) - movl %ecx,%esi - andl $255,%esi - movzbl (%ebp,%esi,1),%esi - movzbl %bh,%edi - movzbl (%ebp,%edi,1),%edi - shll $8,%edi - xorl %edi,%esi - movl %eax,%edi - shrl $16,%edi - andl $255,%edi - movzbl (%ebp,%edi,1),%edi - shll $16,%edi - xorl %edi,%esi - movl %edx,%edi - shrl $24,%edi - movzbl (%ebp,%edi,1),%edi - shll $24,%edi - xorl %edi,%esi - movl 20(%esp),%edi - andl $255,%edx - movzbl (%ebp,%edx,1),%edx - movzbl %ch,%ecx - movzbl (%ebp,%ecx,1),%ecx - shll $8,%ecx - xorl %ecx,%edx - movl %esi,%ecx - shrl $16,%ebx - andl $255,%ebx - movzbl (%ebp,%ebx,1),%ebx - shll $16,%ebx - xorl %ebx,%edx - movl 8(%esp),%ebx - shrl $24,%eax - movzbl (%ebp,%eax,1),%eax - shll $24,%eax - xorl %eax,%edx - movl 4(%esp),%eax - leal -2048(%ebp),%ebp - addl $16,%edi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - ret -.align 64 -.LAES_Td: -.long 1353184337,1353184337 -.long 1399144830,1399144830 -.long 3282310938,3282310938 -.long 2522752826,2522752826 -.long 3412831035,3412831035 -.long 4047871263,4047871263 -.long 2874735276,2874735276 -.long 2466505547,2466505547 -.long 1442459680,1442459680 -.long 4134368941,4134368941 -.long 2440481928,2440481928 -.long 625738485,625738485 -.long 4242007375,4242007375 -.long 3620416197,3620416197 -.long 2151953702,2151953702 -.long 2409849525,2409849525 -.long 1230680542,1230680542 -.long 1729870373,1729870373 -.long 2551114309,2551114309 -.long 3787521629,3787521629 -.long 41234371,41234371 -.long 317738113,317738113 -.long 2744600205,2744600205 -.long 3338261355,3338261355 -.long 3881799427,3881799427 -.long 2510066197,2510066197 -.long 3950669247,3950669247 -.long 3663286933,3663286933 -.long 763608788,763608788 -.long 3542185048,3542185048 -.long 694804553,694804553 -.long 1154009486,1154009486 -.long 1787413109,1787413109 -.long 2021232372,2021232372 -.long 1799248025,1799248025 -.long 3715217703,3715217703 -.long 3058688446,3058688446 -.long 397248752,397248752 -.long 1722556617,1722556617 -.long 3023752829,3023752829 -.long 407560035,407560035 -.long 2184256229,2184256229 -.long 1613975959,1613975959 -.long 1165972322,1165972322 -.long 3765920945,3765920945 -.long 2226023355,2226023355 -.long 480281086,480281086 -.long 2485848313,2485848313 -.long 1483229296,1483229296 -.long 436028815,436028815 -.long 2272059028,2272059028 -.long 3086515026,3086515026 -.long 601060267,601060267 -.long 3791801202,3791801202 -.long 1468997603,1468997603 -.long 715871590,715871590 -.long 120122290,120122290 -.long 63092015,63092015 -.long 2591802758,2591802758 -.long 2768779219,2768779219 -.long 4068943920,4068943920 -.long 2997206819,2997206819 -.long 3127509762,3127509762 -.long 1552029421,1552029421 -.long 723308426,723308426 -.long 2461301159,2461301159 -.long 4042393587,4042393587 -.long 2715969870,2715969870 -.long 3455375973,3455375973 -.long 3586000134,3586000134 -.long 526529745,526529745 -.long 2331944644,2331944644 -.long 2639474228,2639474228 -.long 2689987490,2689987490 -.long 853641733,853641733 -.long 1978398372,1978398372 -.long 971801355,971801355 -.long 2867814464,2867814464 -.long 111112542,111112542 -.long 1360031421,1360031421 -.long 4186579262,4186579262 -.long 1023860118,1023860118 -.long 2919579357,2919579357 -.long 1186850381,1186850381 -.long 3045938321,3045938321 -.long 90031217,90031217 -.long 1876166148,1876166148 -.long 4279586912,4279586912 -.long 620468249,620468249 -.long 2548678102,2548678102 -.long 3426959497,3426959497 -.long 2006899047,2006899047 -.long 3175278768,3175278768 -.long 2290845959,2290845959 -.long 945494503,945494503 -.long 3689859193,3689859193 -.long 1191869601,1191869601 -.long 3910091388,3910091388 -.long 3374220536,3374220536 -.long 0,0 -.long 2206629897,2206629897 -.long 1223502642,1223502642 -.long 2893025566,2893025566 -.long 1316117100,1316117100 -.long 4227796733,4227796733 -.long 1446544655,1446544655 -.long 517320253,517320253 -.long 658058550,658058550 -.long 1691946762,1691946762 -.long 564550760,564550760 -.long 3511966619,3511966619 -.long 976107044,976107044 -.long 2976320012,2976320012 -.long 266819475,266819475 -.long 3533106868,3533106868 -.long 2660342555,2660342555 -.long 1338359936,1338359936 -.long 2720062561,2720062561 -.long 1766553434,1766553434 -.long 370807324,370807324 -.long 179999714,179999714 -.long 3844776128,3844776128 -.long 1138762300,1138762300 -.long 488053522,488053522 -.long 185403662,185403662 -.long 2915535858,2915535858 -.long 3114841645,3114841645 -.long 3366526484,3366526484 -.long 2233069911,2233069911 -.long 1275557295,1275557295 -.long 3151862254,3151862254 -.long 4250959779,4250959779 -.long 2670068215,2670068215 -.long 3170202204,3170202204 -.long 3309004356,3309004356 -.long 880737115,880737115 -.long 1982415755,1982415755 -.long 3703972811,3703972811 -.long 1761406390,1761406390 -.long 1676797112,1676797112 -.long 3403428311,3403428311 -.long 277177154,277177154 -.long 1076008723,1076008723 -.long 538035844,538035844 -.long 2099530373,2099530373 -.long 4164795346,4164795346 -.long 288553390,288553390 -.long 1839278535,1839278535 -.long 1261411869,1261411869 -.long 4080055004,4080055004 -.long 3964831245,3964831245 -.long 3504587127,3504587127 -.long 1813426987,1813426987 -.long 2579067049,2579067049 -.long 4199060497,4199060497 -.long 577038663,577038663 -.long 3297574056,3297574056 -.long 440397984,440397984 -.long 3626794326,3626794326 -.long 4019204898,4019204898 -.long 3343796615,3343796615 -.long 3251714265,3251714265 -.long 4272081548,4272081548 -.long 906744984,906744984 -.long 3481400742,3481400742 -.long 685669029,685669029 -.long 646887386,646887386 -.long 2764025151,2764025151 -.long 3835509292,3835509292 -.long 227702864,227702864 -.long 2613862250,2613862250 -.long 1648787028,1648787028 -.long 3256061430,3256061430 -.long 3904428176,3904428176 -.long 1593260334,1593260334 -.long 4121936770,4121936770 -.long 3196083615,3196083615 -.long 2090061929,2090061929 -.long 2838353263,2838353263 -.long 3004310991,3004310991 -.long 999926984,999926984 -.long 2809993232,2809993232 -.long 1852021992,1852021992 -.long 2075868123,2075868123 -.long 158869197,158869197 -.long 4095236462,4095236462 -.long 28809964,28809964 -.long 2828685187,2828685187 -.long 1701746150,1701746150 -.long 2129067946,2129067946 -.long 147831841,147831841 -.long 3873969647,3873969647 -.long 3650873274,3650873274 -.long 3459673930,3459673930 -.long 3557400554,3557400554 -.long 3598495785,3598495785 -.long 2947720241,2947720241 -.long 824393514,824393514 -.long 815048134,815048134 -.long 3227951669,3227951669 -.long 935087732,935087732 -.long 2798289660,2798289660 -.long 2966458592,2966458592 -.long 366520115,366520115 -.long 1251476721,1251476721 -.long 4158319681,4158319681 -.long 240176511,240176511 -.long 804688151,804688151 -.long 2379631990,2379631990 -.long 1303441219,1303441219 -.long 1414376140,1414376140 -.long 3741619940,3741619940 -.long 3820343710,3820343710 -.long 461924940,461924940 -.long 3089050817,3089050817 -.long 2136040774,2136040774 -.long 82468509,82468509 -.long 1563790337,1563790337 -.long 1937016826,1937016826 -.long 776014843,776014843 -.long 1511876531,1511876531 -.long 1389550482,1389550482 -.long 861278441,861278441 -.long 323475053,323475053 -.long 2355222426,2355222426 -.long 2047648055,2047648055 -.long 2383738969,2383738969 -.long 2302415851,2302415851 -.long 3995576782,3995576782 -.long 902390199,902390199 -.long 3991215329,3991215329 -.long 1018251130,1018251130 -.long 1507840668,1507840668 -.long 1064563285,1064563285 -.long 2043548696,2043548696 -.long 3208103795,3208103795 -.long 3939366739,3939366739 -.long 1537932639,1537932639 -.long 342834655,342834655 -.long 2262516856,2262516856 -.long 2180231114,2180231114 -.long 1053059257,1053059257 -.long 741614648,741614648 -.long 1598071746,1598071746 -.long 1925389590,1925389590 -.long 203809468,203809468 -.long 2336832552,2336832552 -.long 1100287487,1100287487 -.long 1895934009,1895934009 -.long 3736275976,3736275976 -.long 2632234200,2632234200 -.long 2428589668,2428589668 -.long 1636092795,1636092795 -.long 1890988757,1890988757 -.long 1952214088,1952214088 -.long 1113045200,1113045200 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.byte 82,9,106,213,48,54,165,56 -.byte 191,64,163,158,129,243,215,251 -.byte 124,227,57,130,155,47,255,135 -.byte 52,142,67,68,196,222,233,203 -.byte 84,123,148,50,166,194,35,61 -.byte 238,76,149,11,66,250,195,78 -.byte 8,46,161,102,40,217,36,178 -.byte 118,91,162,73,109,139,209,37 -.byte 114,248,246,100,134,104,152,22 -.byte 212,164,92,204,93,101,182,146 -.byte 108,112,72,80,253,237,185,218 -.byte 94,21,70,87,167,141,157,132 -.byte 144,216,171,0,140,188,211,10 -.byte 247,228,88,5,184,179,69,6 -.byte 208,44,30,143,202,63,15,2 -.byte 193,175,189,3,1,19,138,107 -.byte 58,145,17,65,79,103,220,234 -.byte 151,242,207,206,240,180,230,115 -.byte 150,172,116,34,231,173,53,133 -.byte 226,249,55,232,28,117,223,110 -.byte 71,241,26,113,29,41,197,137 -.byte 111,183,98,14,170,24,190,27 -.byte 252,86,62,75,198,210,121,32 -.byte 154,219,192,254,120,205,90,244 -.byte 31,221,168,51,136,7,199,49 -.byte 177,18,16,89,39,128,236,95 -.byte 96,81,127,169,25,181,74,13 -.byte 45,229,122,159,147,201,156,239 -.byte 160,224,59,77,174,42,245,176 -.byte 200,235,187,60,131,83,153,97 -.byte 23,43,4,126,186,119,214,38 -.byte 225,105,20,99,85,33,12,125 -.size _x86_AES_decrypt,.-_x86_AES_decrypt -.globl AES_decrypt -.type AES_decrypt,@function -.align 16 -AES_decrypt: -.L_AES_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 28(%esp),%edi - movl %esp,%eax - subl $36,%esp - andl $-64,%esp - leal -127(%edi),%ebx - subl %esp,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esp - addl $4,%esp - movl %eax,28(%esp) - call .L010pic_point -.L010pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L010pic_point(%ebp),%eax - leal .LAES_Td-.L010pic_point(%ebp),%ebp - leal 764(%esp),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - btl $25,(%eax) - jnc .L011x86 - movq (%esi),%mm0 - movq 8(%esi),%mm4 - call _sse_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 16 -.L011x86: - movl %ebp,24(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - call _x86_AES_decrypt_compact - movl 28(%esp),%esp - movl 24(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_decrypt,.-.L_AES_decrypt_begin -.globl AES_cbc_encrypt -.type AES_cbc_encrypt,@function -.align 16 -AES_cbc_encrypt: -.L_AES_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%ecx - cmpl $0,%ecx - je .L012drop_out - call .L013pic_point -.L013pic_point: - popl %ebp - leal OPENSSL_ia32cap_P-.L013pic_point(%ebp),%eax - cmpl $0,40(%esp) - leal .LAES_Te-.L013pic_point(%ebp),%ebp - jne .L014picked_te - leal .LAES_Td-.LAES_Te(%ebp),%ebp -.L014picked_te: - pushfl - cld - cmpl $512,%ecx - jb .L015slow_way - testl $15,%ecx - jnz .L015slow_way - btl $28,(%eax) - jc .L015slow_way - leal -324(%esp),%esi - andl $-64,%esi - movl %ebp,%eax - leal 2304(%ebp),%ebx - movl %esi,%edx - andl $4095,%eax - andl $4095,%ebx - andl $4095,%edx - cmpl %ebx,%edx - jb .L016tbl_break_out - subl %ebx,%edx - subl %edx,%esi - jmp .L017tbl_ok -.align 4 -.L016tbl_break_out: - subl %eax,%edx - andl $4095,%edx - addl $384,%edx - subl %edx,%esi -.align 4 -.L017tbl_ok: - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 12(%edx),%edi - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl $0,316(%esp) - movl %edi,%ebx - movl $61,%ecx - subl %ebp,%ebx - movl %edi,%esi - andl $4095,%ebx - leal 76(%esp),%edi - cmpl $2304,%ebx - jb .L018do_copy - cmpl $3852,%ebx - jb .L019skip_copy -.align 4 -.L018do_copy: - movl %edi,44(%esp) -.long 2784229001 -.L019skip_copy: - movl $16,%edi -.align 4 -.L020prefetch_tbl: - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%esi - leal 128(%ebp),%ebp - subl $1,%edi - jnz .L020prefetch_tbl - subl $2048,%ebp - movl 32(%esp),%esi - movl 48(%esp),%edi - cmpl $0,%edx - je .L021fast_decrypt - movl (%edi),%eax - movl 4(%edi),%ebx -.align 16 -.L022fast_enc_loop: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_encrypt - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - leal 16(%esi),%esi - movl 40(%esp),%ecx - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L022fast_enc_loop - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - cmpl $0,316(%esp) - movl 44(%esp),%edi - je .L023skip_ezero - movl $60,%ecx - xorl %eax,%eax -.align 4 -.long 2884892297 -.L023skip_ezero: - movl 28(%esp),%esp - popfl -.L012drop_out: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L021fast_decrypt: - cmpl 36(%esp),%esi - je .L024fast_dec_in_place - movl %edi,52(%esp) -.align 4 -.align 16 -.L025fast_dec_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_decrypt - movl 52(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl 36(%esp),%edi - movl 32(%esp),%esi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl %esi,52(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edi - movl %edi,36(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L025fast_dec_loop - movl 52(%esp),%edi - movl 48(%esp),%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - jmp .L026fast_dec_out -.align 16 -.L024fast_dec_in_place: -.L027fast_dec_in_place_loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call _x86_AES_decrypt - movl 48(%esp),%edi - movl 36(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - subl $16,%ecx - movl %ecx,40(%esp) - jnz .L027fast_dec_in_place_loop -.align 4 -.L026fast_dec_out: - cmpl $0,316(%esp) - movl 44(%esp),%edi - je .L028skip_dzero - movl $60,%ecx - xorl %eax,%eax -.align 4 -.long 2884892297 -.L028skip_dzero: - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L015slow_way: - movl (%eax),%eax - movl 36(%esp),%edi - leal -80(%esp),%esi - andl $-64,%esi - leal -143(%edi),%ebx - subl %esi,%ebx - negl %ebx - andl $960,%ebx - subl %ebx,%esi - leal 768(%esi),%ebx - subl %ebp,%ebx - andl $768,%ebx - leal 2176(%ebp,%ebx,1),%ebp - leal 24(%esp),%edx - xchgl %esi,%esp - addl $4,%esp - movl %ebp,24(%esp) - movl %esi,28(%esp) - movl %eax,52(%esp) - movl (%edx),%eax - movl 4(%edx),%ebx - movl 16(%edx),%esi - movl 20(%edx),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edi,44(%esp) - movl %esi,48(%esp) - movl %esi,%edi - movl %eax,%esi - cmpl $0,%edx - je .L029slow_decrypt - cmpl $16,%ecx - movl %ebx,%edx - jb .L030slow_enc_tail - btl $25,52(%esp) - jnc .L031slow_enc_x86 - movq (%edi),%mm0 - movq 8(%edi),%mm4 -.align 16 -.L032slow_enc_loop_sse: - pxor (%esi),%mm0 - pxor 8(%esi),%mm4 - movl 44(%esp),%edi - call _sse_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl 40(%esp),%ecx - movq %mm0,(%edi) - movq %mm4,8(%edi) - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae .L032slow_enc_loop_sse - testl $15,%ecx - jnz .L030slow_enc_tail - movl 48(%esp),%esi - movq %mm0,(%esi) - movq %mm4,8(%esi) - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L031slow_enc_x86: - movl (%edi),%eax - movl 4(%edi),%ebx -.align 4 -.L033slow_enc_loop_x86: - movl 8(%edi),%ecx - movl 12(%edi),%edx - xorl (%esi),%eax - xorl 4(%esi),%ebx - xorl 8(%esi),%ecx - xorl 12(%esi),%edx - movl 44(%esp),%edi - call _x86_AES_encrypt_compact - movl 32(%esp),%esi - movl 36(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - leal 16(%esi),%esi - movl %esi,32(%esp) - leal 16(%edi),%edx - movl %edx,36(%esp) - subl $16,%ecx - cmpl $16,%ecx - movl %ecx,40(%esp) - jae .L033slow_enc_loop_x86 - testl $15,%ecx - jnz .L030slow_enc_tail - movl 48(%esp),%esi - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L030slow_enc_tail: - emms - movl %edx,%edi - movl $16,%ebx - subl %ecx,%ebx - cmpl %esi,%edi - je .L034enc_in_place -.align 4 -.long 2767451785 - jmp .L035enc_skip_in_place -.L034enc_in_place: - leal (%edi,%ecx,1),%edi -.L035enc_skip_in_place: - movl %ebx,%ecx - xorl %eax,%eax -.align 4 -.long 2868115081 - movl 48(%esp),%edi - movl %edx,%esi - movl (%edi),%eax - movl 4(%edi),%ebx - movl $16,40(%esp) - jmp .L033slow_enc_loop_x86 -.align 16 -.L029slow_decrypt: - btl $25,52(%esp) - jnc .L036slow_dec_loop_x86 -.align 4 -.L037slow_dec_loop_sse: - movq (%esi),%mm0 - movq 8(%esi),%mm4 - movl 44(%esp),%edi - call _sse_AES_decrypt_compact - movl 32(%esp),%esi - leal 60(%esp),%eax - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl 48(%esp),%edi - movq (%esi),%mm1 - movq 8(%esi),%mm5 - pxor (%edi),%mm0 - pxor 8(%edi),%mm4 - movq %mm1,(%edi) - movq %mm5,8(%edi) - subl $16,%ecx - jc .L038slow_dec_partial_sse - movq %mm0,(%ebx) - movq %mm4,8(%ebx) - leal 16(%ebx),%ebx - movl %ebx,36(%esp) - leal 16(%esi),%esi - movl %esi,32(%esp) - movl %ecx,40(%esp) - jnz .L037slow_dec_loop_sse - emms - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L038slow_dec_partial_sse: - movq %mm0,(%eax) - movq %mm4,8(%eax) - emms - addl $16,%ecx - movl %ebx,%edi - movl %eax,%esi -.align 4 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L036slow_dec_loop_x86: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - leal 60(%esp),%edi - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 44(%esp),%edi - call _x86_AES_decrypt_compact - movl 48(%esp),%edi - movl 40(%esp),%esi - xorl (%edi),%eax - xorl 4(%edi),%ebx - xorl 8(%edi),%ecx - xorl 12(%edi),%edx - subl $16,%esi - jc .L039slow_dec_partial_x86 - movl %esi,40(%esp) - movl 36(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - leal 16(%esi),%esi - movl %esi,36(%esp) - leal 60(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 32(%esp),%esi - leal 16(%esi),%esi - movl %esi,32(%esp) - jnz .L036slow_dec_loop_x86 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret - pushfl -.align 16 -.L039slow_dec_partial_x86: - leal 60(%esp),%esi - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 32(%esp),%esi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 40(%esp),%ecx - movl 36(%esp),%edi - leal 60(%esp),%esi -.align 4 -.long 2767451785 - movl 28(%esp),%esp - popfl - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_cbc_encrypt,.-.L_AES_cbc_encrypt_begin -.type _x86_AES_set_encrypt_key,@function -.align 16 -_x86_AES_set_encrypt_key: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 24(%esp),%esi - movl 32(%esp),%edi - testl $-1,%esi - jz .L040badpointer - testl $-1,%edi - jz .L040badpointer - call .L041pic_point -.L041pic_point: - popl %ebp - leal .LAES_Te-.L041pic_point(%ebp),%ebp - leal 2176(%ebp),%ebp - movl -128(%ebp),%eax - movl -96(%ebp),%ebx - movl -64(%ebp),%ecx - movl -32(%ebp),%edx - movl (%ebp),%eax - movl 32(%ebp),%ebx - movl 64(%ebp),%ecx - movl 96(%ebp),%edx - movl 28(%esp),%ecx - cmpl $128,%ecx - je .L04210rounds - cmpl $192,%ecx - je .L04312rounds - cmpl $256,%ecx - je .L04414rounds - movl $-2,%eax - jmp .L045exit -.L04210rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - xorl %ecx,%ecx - jmp .L04610shortcut -.align 4 -.L04710loop: - movl (%edi),%eax - movl 12(%edi),%edx -.L04610shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,16(%edi) - xorl 4(%edi),%eax - movl %eax,20(%edi) - xorl 8(%edi),%eax - movl %eax,24(%edi) - xorl 12(%edi),%eax - movl %eax,28(%edi) - incl %ecx - addl $16,%edi - cmpl $10,%ecx - jl .L04710loop - movl $10,80(%edi) - xorl %eax,%eax - jmp .L045exit -.L04312rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%ecx - movl 20(%esi),%edx - movl %ecx,16(%edi) - movl %edx,20(%edi) - xorl %ecx,%ecx - jmp .L04812shortcut -.align 4 -.L04912loop: - movl (%edi),%eax - movl 20(%edi),%edx -.L04812shortcut: - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,24(%edi) - xorl 4(%edi),%eax - movl %eax,28(%edi) - xorl 8(%edi),%eax - movl %eax,32(%edi) - xorl 12(%edi),%eax - movl %eax,36(%edi) - cmpl $7,%ecx - je .L05012break - incl %ecx - xorl 16(%edi),%eax - movl %eax,40(%edi) - xorl 20(%edi),%eax - movl %eax,44(%edi) - addl $24,%edi - jmp .L04912loop -.L05012break: - movl $12,72(%edi) - xorl %eax,%eax - jmp .L045exit -.L04414rounds: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,8(%edi) - movl %edx,12(%edi) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - movl %eax,16(%edi) - movl %ebx,20(%edi) - movl %ecx,24(%edi) - movl %edx,28(%edi) - xorl %ecx,%ecx - jmp .L05114shortcut -.align 4 -.L05214loop: - movl 28(%edi),%edx -.L05114shortcut: - movl (%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - xorl 896(%ebp,%ecx,4),%eax - movl %eax,32(%edi) - xorl 4(%edi),%eax - movl %eax,36(%edi) - xorl 8(%edi),%eax - movl %eax,40(%edi) - xorl 12(%edi),%eax - movl %eax,44(%edi) - cmpl $6,%ecx - je .L05314break - incl %ecx - movl %eax,%edx - movl 16(%edi),%eax - movzbl %dl,%esi - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - movzbl -128(%ebp,%esi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - movl %eax,48(%edi) - xorl 20(%edi),%eax - movl %eax,52(%edi) - xorl 24(%edi),%eax - movl %eax,56(%edi) - xorl 28(%edi),%eax - movl %eax,60(%edi) - addl $32,%edi - jmp .L05214loop -.L05314break: - movl $14,48(%edi) - xorl %eax,%eax - jmp .L045exit -.L040badpointer: - movl $-1,%eax -.L045exit: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key -.globl AES_set_encrypt_key -.type AES_set_encrypt_key,@function -.align 16 -AES_set_encrypt_key: -.L_AES_set_encrypt_key_begin: - call _x86_AES_set_encrypt_key - ret -.size AES_set_encrypt_key,.-.L_AES_set_encrypt_key_begin -.globl AES_set_decrypt_key -.type AES_set_decrypt_key,@function -.align 16 -AES_set_decrypt_key: -.L_AES_set_decrypt_key_begin: - call _x86_AES_set_encrypt_key - cmpl $0,%eax - je .L054proceed - ret -.L054proceed: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 28(%esp),%esi - movl 240(%esi),%ecx - leal (,%ecx,4),%ecx - leal (%esi,%ecx,4),%edi -.align 4 -.L055invert: - movl (%esi),%eax - movl 4(%esi),%ebx - movl (%edi),%ecx - movl 4(%edi),%edx - movl %eax,(%edi) - movl %ebx,4(%edi) - movl %ecx,(%esi) - movl %edx,4(%esi) - movl 8(%esi),%eax - movl 12(%esi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - movl %eax,8(%edi) - movl %ebx,12(%edi) - movl %ecx,8(%esi) - movl %edx,12(%esi) - addl $16,%esi - subl $16,%edi - cmpl %edi,%esi - jne .L055invert - movl 28(%esp),%edi - movl 240(%edi),%esi - leal -2(%esi,%esi,1),%esi - leal (%edi,%esi,8),%esi - movl %esi,28(%esp) - movl 16(%edi),%eax -.align 4 -.L056permute: - addl $16,%edi - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %eax,%ebx - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - xorl %eax,%ecx - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - roll $8,%eax - xorl %esi,%edx - movl 4(%edi),%ebp - xorl %ebx,%eax - xorl %edx,%ebx - xorl %ecx,%eax - roll $24,%ebx - xorl %edx,%ecx - xorl %edx,%eax - roll $16,%ecx - xorl %ebx,%eax - roll $8,%edx - xorl %ecx,%eax - movl %ebp,%ebx - xorl %edx,%eax - movl %eax,(%edi) - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - xorl %esi,%ecx - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %ebx,%ecx - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - xorl %ebx,%edx - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - roll $8,%ebx - xorl %esi,%eax - movl 8(%edi),%ebp - xorl %ecx,%ebx - xorl %eax,%ecx - xorl %edx,%ebx - roll $24,%ecx - xorl %eax,%edx - xorl %eax,%ebx - roll $16,%edx - xorl %ecx,%ebx - roll $8,%eax - xorl %edx,%ebx - movl %ebp,%ecx - xorl %eax,%ebx - movl %ebx,4(%edi) - movl $2155905152,%ebp - andl %ecx,%ebp - leal (%ecx,%ecx,1),%edx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%edx - andl $454761243,%esi - xorl %esi,%edx - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %ecx,%edx - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - xorl %ecx,%eax - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - roll $8,%ecx - xorl %esi,%ebx - movl 12(%edi),%ebp - xorl %edx,%ecx - xorl %ebx,%edx - xorl %eax,%ecx - roll $24,%edx - xorl %ebx,%eax - xorl %ebx,%ecx - roll $16,%eax - xorl %edx,%ecx - roll $8,%ebx - xorl %eax,%ecx - movl %ebp,%edx - xorl %ebx,%ecx - movl %ecx,8(%edi) - movl $2155905152,%ebp - andl %edx,%ebp - leal (%edx,%edx,1),%eax - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%eax - andl $454761243,%esi - xorl %esi,%eax - movl $2155905152,%ebp - andl %eax,%ebp - leal (%eax,%eax,1),%ebx - movl %ebp,%esi - shrl $7,%ebp - subl %ebp,%esi - andl $4278124286,%ebx - andl $454761243,%esi - xorl %edx,%eax - xorl %esi,%ebx - movl $2155905152,%ebp - andl %ebx,%ebp - leal (%ebx,%ebx,1),%ecx - movl %ebp,%esi - shrl $7,%ebp - xorl %edx,%ebx - subl %ebp,%esi - andl $4278124286,%ecx - andl $454761243,%esi - roll $8,%edx - xorl %esi,%ecx - movl 16(%edi),%ebp - xorl %eax,%edx - xorl %ecx,%eax - xorl %ebx,%edx - roll $24,%eax - xorl %ecx,%ebx - xorl %ecx,%edx - roll $16,%ebx - xorl %eax,%edx - roll $8,%ecx - xorl %ebx,%edx - movl %ebp,%eax - xorl %ecx,%edx - movl %edx,12(%edi) - cmpl 28(%esp),%edi - jb .L056permute - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size AES_set_decrypt_key,.-.L_AES_set_decrypt_key_begin -.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.comm OPENSSL_ia32cap_P,16,4 diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h index 78995b8d82a7e3..98a20770933a66 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: solaris-x86-gcc" -#define DATE "built on: Fri Sep 13 16:02:14 2019 UTC" +#define DATE "built on: Wed Mar 18 21:09:53 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -38,10 +38,11 @@ static const char compiler_flags[] = { 'S','H','A','2','5','6','_','A','S','M',' ','-','D','S','H','A', '5','1','2','_','A','S','M',' ','-','D','R','C','4','_','A','S', 'M',' ','-','D','M','D','5','_','A','S','M',' ','-','D','R','M', - 'D','1','6','0','_','A','S','M',' ','-','D','V','P','A','E','S', - '_','A','S','M',' ','-','D','W','H','I','R','L','P','O','O','L', - '_','A','S','M',' ','-','D','G','H','A','S','H','_','A','S','M', - ' ','-','D','E','C','P','_','N','I','S','T','Z','2','5','6','_', - 'A','S','M',' ','-','D','P','O','L','Y','1','3','0','5','_','A', - 'S','M',' ','-','D','N','D','E','B','U','G','\0' + 'D','1','6','0','_','A','S','M',' ','-','D','A','E','S','N','I', + '_','A','S','M',' ','-','D','V','P','A','E','S','_','A','S','M', + ' ','-','D','W','H','I','R','L','P','O','O','L','_','A','S','M', + ' ','-','D','G','H','A','S','H','_','A','S','M',' ','-','D','E', + 'C','P','_','N','I','S','T','Z','2','5','6','_','A','S','M',' ', + '-','D','P','O','L','Y','1','3','0','5','_','A','S','M',' ','-', + 'D','N','D','E','B','U','G','\0' }; diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/ec/ecp_nistz256-x86.s b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/ec/ecp_nistz256-x86.s index da9b3a7ee1dc57..4cec24f4e21cf7 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/ec/ecp_nistz256-x86.s +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/ec/ecp_nistz256-x86.s @@ -4419,19 +4419,15 @@ ecp_nistz256_point_add: orl 4(%edi),%eax orl 8(%edi),%eax orl 12(%edi),%eax + movl 576(%esp),%ebx + notl %ebx + orl %ebx,%eax + movl 580(%esp),%ebx + notl %ebx + orl %ebx,%eax + orl 584(%esp),%eax .byte 62 jnz .L010add_proceed - movl 576(%esp),%eax - andl 580(%esp),%eax - movl 584(%esp),%ebx - jz .L010add_proceed - testl %ebx,%ebx - jz .L011add_double - movl 616(%esp),%edi - xorl %eax,%eax - movl $24,%ecx -.byte 252,243,171 - jmp .L012add_done .align 16 .L011add_double: movl 620(%esp),%esi diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslconf.h index c43f2272966f7a..da0b080ce0c7a3 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/progs.h b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/openssl-cl.gypi b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/openssl-cl.gypi index 3f5a755eebce3f..f9a78c541be4c2 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/openssl-cl.gypi +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/openssl-cl.gypi @@ -16,6 +16,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/openssl.gypi b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/openssl.gypi index 2e4804695fb92e..a154448014454c 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/openssl.gypi +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/openssl.gypi @@ -713,6 +713,7 @@ 'RC4_ASM', 'MD5_ASM', 'RMD160_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'WHIRLPOOL_ASM', 'GHASH_ASM', diff --git a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/configdata.pm b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/configdata.pm index b0d7b13f2220d9..2bdfa61a081508 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/configdata.pm +++ b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/configdata.pm @@ -54,7 +54,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -110,8 +110,8 @@ our %config = ( sourcedir => ".", target => "solaris-x86-gcc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -232,6 +232,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -350,8 +351,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -619,14 +620,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -702,6 +695,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1499,6 +1500,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3217,7 +3224,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3225,6 +3231,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3723,14 +3730,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4171,6 +4170,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4865,49 +4872,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4929,7 +4928,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4943,613 +4941,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5567,188 +5463,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5778,13 +5643,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5794,43 +5657,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5840,31 +5696,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5882,278 +5733,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6163,301 +5968,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6465,7 +6220,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6473,7 +6227,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6481,7 +6234,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6489,7 +6241,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6497,7 +6248,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6505,163 +6255,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6679,223 +6402,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6903,21 +6589,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6925,13 +6608,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6939,81 +6620,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7021,328 +6689,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7352,85 +6959,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7453,361 +7046,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7829,259 +7362,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8091,31 +7581,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8125,7 +7610,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8151,13 +7635,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8183,7 +7665,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8209,709 +7690,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8962,6 +8325,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9206,7 +8577,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9532,7 +8902,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9578,7 +8947,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9644,7 +9012,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9669,7 +9036,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9767,7 +9133,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9817,18 +9182,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9839,6 +9201,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9902,10 +9268,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9934,6 +9296,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10198,6 +9564,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15088,7 +14455,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15096,6 +14462,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15323,6 +14690,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15425,10 +14800,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15457,6 +14828,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h index e606a3cd7599e4..0418a6f8bac290 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: solaris-x86-gcc" -#define DATE "built on: Fri Sep 13 16:02:21 2019 UTC" +#define DATE "built on: Wed Mar 18 21:09:57 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/include/internal/bn_conf.h index fb52156bd0ced3..459055c96faea0 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/opensslconf.h index f1f7572f38d64a..6db191cd5cb1fe 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/progs.h b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/progs.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/configdata.pm b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/configdata.pm index d651ee1e5ffe7c..499dac23213ea1 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/configdata.pm +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/configdata.pm @@ -48,14 +48,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "AESNI_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)gcc", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "solaris64-x86_64-gcc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -237,6 +237,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -354,8 +355,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -623,14 +624,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -706,6 +699,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1503,6 +1504,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3257,7 +3264,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3265,6 +3271,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3763,14 +3770,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4211,6 +4210,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4905,49 +4912,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4957,25 +4956,21 @@ our %unified_info = ( "crypto/aes/aesni-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4993,13 +4988,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -5013,613 +5006,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5633,7 +5524,6 @@ our %unified_info = ( "crypto/bn/asm/x86_64-gcc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5643,182 +5533,152 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5828,19 +5688,16 @@ our %unified_info = ( "crypto/bn/rsaz-avx2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz_exp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5866,31 +5723,26 @@ our %unified_info = ( "crypto/bn/x86_64-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont5.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5900,37 +5752,31 @@ our %unified_info = ( "crypto/camellia/cmll-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5940,31 +5786,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5982,278 +5823,232 @@ our %unified_info = ( "crypto/chacha/chacha-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6263,301 +6058,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6565,7 +6310,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6573,7 +6317,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6581,7 +6324,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6589,7 +6331,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6597,7 +6338,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6605,163 +6345,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6779,241 +6492,201 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7021,21 +6694,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7043,13 +6713,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7057,81 +6725,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7139,328 +6794,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7470,91 +7064,76 @@ our %unified_info = ( "crypto/md5/md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/aesni-gcm-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7573,7 +7152,6 @@ our %unified_info = ( "crypto/modes/ghash-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7583,361 +7161,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7959,265 +7477,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8227,31 +7701,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8261,7 +7730,6 @@ our %unified_info = ( "crypto/sha/keccak1600-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8275,7 +7743,6 @@ our %unified_info = ( "crypto/sha/sha1-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-mips.o" => @@ -8293,19 +7760,16 @@ our %unified_info = ( "crypto/sha/sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8319,7 +7783,6 @@ our %unified_info = ( "crypto/sha/sha256-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-mips.o" => @@ -8337,13 +7800,11 @@ our %unified_info = ( "crypto/sha/sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8369,727 +7830,606 @@ our %unified_info = ( "crypto/sha/sha512-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86_64cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86_64.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9140,6 +8480,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9384,7 +8732,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9710,7 +9057,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9756,7 +9102,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9822,7 +9167,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9847,7 +9191,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9945,7 +9288,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9995,18 +9337,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -10017,6 +9356,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10080,10 +9423,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10112,6 +9451,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10376,6 +9719,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15381,7 +14725,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15389,6 +14732,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15616,6 +14960,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15718,10 +15070,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15750,6 +15098,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aes-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aes-x86_64.s deleted file mode 100644 index f0c1685fb93450..00000000000000 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aes-x86_64.s +++ /dev/null @@ -1,2649 +0,0 @@ -.text -.type _x86_64_AES_encrypt,@function -.align 16 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Lenc_loop -.align 16 -.Lenc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz .Lenc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_encrypt,.-_x86_64_AES_encrypt -.type _x86_64_AES_encrypt_compact,@function -.align 16 -_x86_64_AES_encrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Lenc_loop_compact -.align 16 -.Lenc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Lenc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp .Lenc_loop_compact -.align 16 -.Lenc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact -.globl AES_encrypt -.type AES_encrypt,@function -.align 16 -.globl asm_AES_encrypt -.hidden asm_AES_encrypt -asm_AES_encrypt: -AES_encrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Lenc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lenc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_encrypt,.-AES_encrypt -.type _x86_64_AES_decrypt,@function -.align 16 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Ldec_loop -.align 16 -.Ldec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz .Ldec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_decrypt,.-_x86_64_AES_decrypt -.type _x86_64_AES_decrypt_compact,@function -.align 16 -_x86_64_AES_decrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Ldec_loop_compact - -.align 16 -.Ldec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Ldec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp .Ldec_loop_compact -.align 16 -.Ldec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact -.globl AES_decrypt -.type AES_decrypt,@function -.align 16 -.globl asm_AES_decrypt -.hidden asm_AES_decrypt -asm_AES_decrypt: -AES_decrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Ldec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Ldec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_decrypt,.-AES_decrypt -.globl AES_set_encrypt_key -.type AES_set_encrypt_key,@function -.align 16 -AES_set_encrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $8,%rsp -.cfi_adjust_cfa_offset 8 -.Lenc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Lenc_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_encrypt_key,.-AES_set_encrypt_key - -.type _x86_64_AES_set_encrypt_key,@function -.align 16 -_x86_64_AES_set_encrypt_key: -.cfi_startproc - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz .Lbadpointer - testq $-1,%rdi - jz .Lbadpointer - - leaq .LAES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je .L10rounds - cmpl $192,%ecx - je .L12rounds - cmpl $256,%ecx - je .L14rounds - movq $-2,%rax - jmp .Lexit - -.L10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L10shortcut -.align 4 -.L10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -.L10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl .L10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L12shortcut -.align 4 -.L12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -.L12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je .L12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp .L12loop -.L12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L14shortcut -.align 4 -.L14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -.L14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je .L14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp .L14loop -.L14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp .Lexit - -.Lbadpointer: - movq $-1,%rax -.Lexit: -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key -.globl AES_set_decrypt_key -.type AES_set_decrypt_key,@function -.align 16 -AES_set_decrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - pushq %rdx -.cfi_adjust_cfa_offset 8 -.Ldec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne .Labort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.align 4 -.Linvert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne .Linvert - - leaq .LAES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.align 4 -.Lpermute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz .Lpermute - - xorq %rax,%rax -.Labort: - movq 8(%rsp),%r15 -.cfi_restore %r15 - movq 16(%rsp),%r14 -.cfi_restore %r14 - movq 24(%rsp),%r13 -.cfi_restore %r13 - movq 32(%rsp),%r12 -.cfi_restore %r12 - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Ldec_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_decrypt_key,.-AES_set_decrypt_key -.globl AES_cbc_encrypt -.type AES_cbc_encrypt,@function -.align 16 - -.globl asm_AES_cbc_encrypt -.hidden asm_AES_cbc_encrypt -asm_AES_cbc_encrypt: -AES_cbc_encrypt: -.cfi_startproc - cmpq $0,%rdx - je .Lcbc_epilogue - pushfq - - -.cfi_adjust_cfa_offset 8 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-32 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-40 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-48 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-56 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-64 -.Lcbc_prologue: - - cld - movl %r9d,%r9d - - leaq .LAES_Te(%rip),%r14 - leaq .LAES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - -.cfi_remember_state - movl OPENSSL_ia32cap_P(%rip),%r10d - cmpq $512,%rdx - jb .Lcbc_slow_prologue - testq $15,%rdx - jnz .Lcbc_slow_prologue - btl $28,%r10d - jc .Lcbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb .Lcbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp .Lcbc_te_ok -.Lcbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.align 4 -.Lcbc_te_ok: - - xchgq %rsp,%r15 -.cfi_def_cfa_register %r15 - - movq %r15,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb .Lcbc_do_ecopy - cmpq $4096-248,%r10 - jb .Lcbc_skip_ecopy -.align 4 -.Lcbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -.Lcbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.align 4 -.Lcbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz .Lcbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je .LFAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.align 4 -.Lcbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz .Lcbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_fast_cleanup - - -.align 16 -.LFAST_DECRYPT: - cmpq %r8,%r9 - je .Lcbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.align 4 -.Lcbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz .Lcbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp .Lcbc_fast_cleanup - -.align 16 -.Lcbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.align 4 -.Lcbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz .Lcbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp .Lcbc_fast_dec_in_place_loop -.Lcbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.align 4 -.Lcbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je .Lcbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp .Lcbc_exit - - -.align 16 -.Lcbc_slow_prologue: -.cfi_restore_state - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp -.cfi_def_cfa_register %rbp - - movq %rbp,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je .LSLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz .Lcbc_slow_enc_tail - -.align 4 -.Lcbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz .Lcbc_slow_enc_loop - testq $15,%r10 - jnz .Lcbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp .Lcbc_slow_enc_loop - -.align 16 -.LSLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.align 4 -.Lcbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc .Lcbc_slow_dec_partial - jz .Lcbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp .Lcbc_slow_dec_loop -.Lcbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp .Lcbc_exit - -.align 16 -.Lcbc_exit: - movq 16(%rsp),%rsi -.cfi_def_cfa %rsi,64 - movq (%rsi),%r15 -.cfi_restore %r15 - movq 8(%rsi),%r14 -.cfi_restore %r14 - movq 16(%rsi),%r13 -.cfi_restore %r13 - movq 24(%rsi),%r12 -.cfi_restore %r12 - movq 32(%rsi),%rbp -.cfi_restore %rbp - movq 40(%rsi),%rbx -.cfi_restore %rbx - leaq 48(%rsi),%rsp -.cfi_def_cfa %rsp,16 -.Lcbc_popfq: - popfq - - -.cfi_adjust_cfa_offset -8 -.Lcbc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_cbc_encrypt,.-AES_cbc_encrypt -.align 64 -.LAES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.align 64 -.LAES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aesni-sha1-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aesni-sha1-x86_64.s index 4d2dfe44898fd5..978bd2b6239c15 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aesni-sha1-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha1_enc,@function .align 32 aesni_cbc_sha1_enc: +.cfi_startproc movl OPENSSL_ia32cap_P+0(%rip),%r10d movq OPENSSL_ia32cap_P+4(%rip),%r11 @@ -17,6 +18,7 @@ aesni_cbc_sha1_enc: je aesni_cbc_sha1_enc_avx jmp aesni_cbc_sha1_enc_ssse3 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc .type aesni_cbc_sha1_enc_ssse3,@function .align 32 @@ -2730,6 +2732,7 @@ K_XX_XX: .type aesni_cbc_sha1_enc_shaext,@function .align 32 aesni_cbc_sha1_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 movdqu (%r9),%xmm8 movd 16(%r9),%xmm9 @@ -3028,4 +3031,5 @@ aesni_cbc_sha1_enc_shaext: movdqu %xmm8,(%r9) movd %xmm9,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aesni-sha256-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aesni-sha256-x86_64.s index 5a47b3ee51b741..dd09f1b290af62 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aesni-sha256-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aesni-sha256-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha256_enc,@function .align 16 aesni_cbc_sha256_enc: +.cfi_startproc leaq OPENSSL_ia32cap_P(%rip),%r11 movl $1,%eax cmpq $0,%rdi @@ -30,6 +31,7 @@ aesni_cbc_sha256_enc: ud2 .Lprobe: .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc,.-aesni_cbc_sha256_enc .align 64 @@ -2528,7 +2530,15 @@ aesni_cbc_sha256_enc_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 120(%rsp),%rsi +.cfi_def_cfa %rsi,8 leaq -64(%rsp),%rsp + + + + movq %rsi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%esi vmovdqa %ymm6,0(%rsp) xorl %ecx,%esi @@ -2542,6 +2552,12 @@ aesni_cbc_sha256_enc_avx2: vmovdqu (%r13),%xmm9 vpinsrq $0,%r13,%xmm15,%xmm15 leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -2816,6 +2832,12 @@ aesni_cbc_sha256_enc_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4029,10 +4051,12 @@ aesni_cbc_sha256_enc_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xf8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 64+32(%rsp),%r8 - movq 120(%rsp),%rsi + movq 64+32(%rbp),%r8 + movq 64+56(%rbp),%rsi .cfi_def_cfa %rsi,8 vmovdqu %xmm8,(%r8) vzeroall @@ -4057,6 +4081,7 @@ aesni_cbc_sha256_enc_avx2: .type aesni_cbc_sha256_enc_shaext,@function .align 32 aesni_cbc_sha256_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 leaq K256+128(%rip),%rax movdqu (%r9),%xmm1 @@ -4406,4 +4431,5 @@ aesni_cbc_sha256_enc_shaext: movdqu %xmm1,(%r9) movdqu %xmm2,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc_shaext,.-aesni_cbc_sha256_enc_shaext diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aesni-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aesni-x86_64.s index 2986a647c1bb05..c1e791eff59235 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aesni-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/aesni-x86_64.s @@ -861,6 +861,7 @@ aesni_ecb_encrypt: .type aesni_ccm64_encrypt_blocks,@function .align 16 aesni_ccm64_encrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movdqu (%r8),%xmm6 movdqa .Lincrement64(%rip),%xmm9 @@ -919,11 +920,13 @@ aesni_ccm64_encrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks .globl aesni_ccm64_decrypt_blocks .type aesni_ccm64_decrypt_blocks,@function .align 16 aesni_ccm64_decrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movups (%r8),%xmm6 movdqu (%r9),%xmm3 @@ -1016,6 +1019,7 @@ aesni_ccm64_decrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks .globl aesni_ctr32_encrypt_blocks .type aesni_ctr32_encrypt_blocks,@function @@ -2790,6 +2794,7 @@ aesni_ocb_encrypt: .type __ocb_encrypt6,@function .align 32 __ocb_encrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2887,11 +2892,13 @@ __ocb_encrypt6: .byte 102,65,15,56,221,246 .byte 102,65,15,56,221,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt6,.-__ocb_encrypt6 .type __ocb_encrypt4,@function .align 32 __ocb_encrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2956,11 +2963,13 @@ __ocb_encrypt4: .byte 102,65,15,56,221,228 .byte 102,65,15,56,221,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt4,.-__ocb_encrypt4 .type __ocb_encrypt1,@function .align 32 __ocb_encrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm2,%xmm8 @@ -2991,6 +3000,7 @@ __ocb_encrypt1: .byte 102,15,56,221,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt1,.-__ocb_encrypt1 .globl aesni_ocb_decrypt @@ -3233,6 +3243,7 @@ aesni_ocb_decrypt: .type __ocb_decrypt6,@function .align 32 __ocb_decrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3324,11 +3335,13 @@ __ocb_decrypt6: .byte 102,65,15,56,223,246 .byte 102,65,15,56,223,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt6,.-__ocb_decrypt6 .type __ocb_decrypt4,@function .align 32 __ocb_decrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3389,11 +3402,13 @@ __ocb_decrypt4: .byte 102,65,15,56,223,228 .byte 102,65,15,56,223,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt4,.-__ocb_decrypt4 .type __ocb_decrypt1,@function .align 32 __ocb_decrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm7,%xmm2 @@ -3423,6 +3438,7 @@ __ocb_decrypt1: .byte 102,15,56,223,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt1,.-__ocb_decrypt1 .globl aesni_cbc_encrypt .type aesni_cbc_encrypt,@function @@ -4361,7 +4377,6 @@ __aesni_set_encrypt_key: addq $8,%rsp .cfi_adjust_cfa_offset -8 .byte 0xf3,0xc3 -.cfi_endproc .LSEH_end_set_encrypt_key: .align 16 @@ -4432,6 +4447,7 @@ __aesni_set_encrypt_key: shufps $170,%xmm1,%xmm1 xorps %xmm1,%xmm2 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_set_encrypt_key,.-aesni_set_encrypt_key .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key .align 64 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/bsaes-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/bsaes-x86_64.s deleted file mode 100644 index e1f3abadbc7214..00000000000000 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/aes/bsaes-x86_64.s +++ /dev/null @@ -1,2595 +0,0 @@ -.text - - - - -.type _bsaes_encrypt8,@function -.align 64 -_bsaes_encrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa 80(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 -_bsaes_encrypt8_bitslice: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Lenc_sbox -.align 16 -.Lenc_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Lenc_sbox: - pxor %xmm5,%xmm4 - pxor %xmm0,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm1,%xmm5 - pxor %xmm15,%xmm4 - - pxor %xmm2,%xmm5 - pxor %xmm6,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm3,%xmm2 - pxor %xmm4,%xmm3 - pxor %xmm0,%xmm2 - - pxor %xmm6,%xmm1 - pxor %xmm4,%xmm0 - movdqa %xmm6,%xmm10 - movdqa %xmm0,%xmm9 - movdqa %xmm4,%xmm8 - movdqa %xmm1,%xmm12 - movdqa %xmm5,%xmm11 - - pxor %xmm3,%xmm10 - pxor %xmm1,%xmm9 - pxor %xmm2,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm3,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm15,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm2,%xmm11 - pxor %xmm15,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm6,%xmm12 - movdqa %xmm4,%xmm11 - pxor %xmm0,%xmm12 - pxor %xmm5,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm1,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm3,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm0,%xmm13 - pand %xmm2,%xmm11 - movdqa %xmm6,%xmm14 - pand %xmm15,%xmm12 - pand %xmm4,%xmm13 - por %xmm5,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm5,%xmm11 - movdqa %xmm4,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm5,%xmm9 - pxor %xmm4,%xmm5 - pand %xmm14,%xmm4 - pand %xmm13,%xmm5 - pxor %xmm4,%xmm5 - pxor %xmm9,%xmm4 - pxor %xmm15,%xmm11 - pxor %xmm2,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm2,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm2 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm2,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm2 - pxor %xmm11,%xmm5 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm2 - - movdqa %xmm6,%xmm11 - movdqa %xmm0,%xmm7 - pxor %xmm3,%xmm11 - pxor %xmm1,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm3,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm1,%xmm3 - pand %xmm14,%xmm7 - pand %xmm12,%xmm1 - pand %xmm13,%xmm11 - pand %xmm8,%xmm3 - pxor %xmm11,%xmm7 - pxor %xmm1,%xmm3 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm1 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm6,%xmm10 - pxor %xmm0,%xmm6 - pand %xmm14,%xmm0 - pand %xmm13,%xmm6 - pxor %xmm0,%xmm6 - pxor %xmm10,%xmm0 - pxor %xmm11,%xmm6 - pxor %xmm11,%xmm3 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm1 - pxor %xmm15,%xmm6 - pxor %xmm5,%xmm0 - pxor %xmm6,%xmm3 - pxor %xmm15,%xmm5 - pxor %xmm0,%xmm15 - - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm4 - pxor %xmm2,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm4,%xmm3 - - pxor %xmm2,%xmm5 - decl %r10d - jl .Lenc_done - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm3,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm5,%xmm10 - pxor %xmm9,%xmm3 - pshufd $0x93,%xmm2,%xmm11 - pxor %xmm10,%xmm5 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm2 - pshufd $0x93,%xmm1,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm1 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm2,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm5,%xmm11 - pshufd $0x4E,%xmm2,%xmm7 - pxor %xmm1,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm3,%xmm10 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm1,%xmm5 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm12,%xmm8 - pxor %xmm10,%xmm2 - pxor %xmm14,%xmm6 - pxor %xmm13,%xmm5 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm1 - movdqa %xmm8,%xmm4 - movdqa 48(%r11),%xmm7 - jnz .Lenc_loop - movdqa 64(%r11),%xmm7 - jmp .Lenc_loop -.align 16 -.Lenc_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm2,%xmm10 - psrlq $1,%xmm2 - pxor %xmm4,%xmm1 - pxor %xmm6,%xmm2 - pand %xmm7,%xmm1 - pand %xmm7,%xmm2 - pxor %xmm1,%xmm4 - psllq $1,%xmm1 - pxor %xmm2,%xmm6 - psllq $1,%xmm2 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm2 - movdqa %xmm3,%xmm9 - psrlq $1,%xmm3 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm5,%xmm3 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm3 - pand %xmm7,%xmm15 - pxor %xmm3,%xmm5 - psllq $1,%xmm3 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm2,%xmm10 - psrlq $2,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm1,%xmm2 - pand %xmm8,%xmm6 - pand %xmm8,%xmm2 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm2,%xmm1 - psllq $2,%xmm2 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm2 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm5,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm5 - psllq $2,%xmm0 - pxor %xmm15,%xmm3 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm5,%xmm9 - psrlq $4,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $4,%xmm3 - pxor %xmm4,%xmm5 - pxor %xmm1,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm4 - psllq $4,%xmm5 - pxor %xmm3,%xmm1 - psllq $4,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm2,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm2 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_encrypt8,.-_bsaes_encrypt8 - -.type _bsaes_decrypt8,@function -.align 64 -_bsaes_decrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa -48(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Ldec_sbox -.align 16 -.Ldec_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Ldec_sbox: - pxor %xmm3,%xmm2 - - pxor %xmm6,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm3,%xmm5 - pxor %xmm5,%xmm6 - pxor %xmm6,%xmm0 - - pxor %xmm0,%xmm15 - pxor %xmm4,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm15,%xmm4 - pxor %xmm2,%xmm0 - movdqa %xmm2,%xmm10 - movdqa %xmm6,%xmm9 - movdqa %xmm0,%xmm8 - movdqa %xmm3,%xmm12 - movdqa %xmm4,%xmm11 - - pxor %xmm15,%xmm10 - pxor %xmm3,%xmm9 - pxor %xmm5,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm15,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm1,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm5,%xmm11 - pxor %xmm1,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm2,%xmm12 - movdqa %xmm0,%xmm11 - pxor %xmm6,%xmm12 - pxor %xmm4,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm3,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm15,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm6,%xmm13 - pand %xmm5,%xmm11 - movdqa %xmm2,%xmm14 - pand %xmm1,%xmm12 - pand %xmm0,%xmm13 - por %xmm4,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm4,%xmm11 - movdqa %xmm0,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm4,%xmm9 - pxor %xmm0,%xmm4 - pand %xmm14,%xmm0 - pand %xmm13,%xmm4 - pxor %xmm0,%xmm4 - pxor %xmm9,%xmm0 - pxor %xmm1,%xmm11 - pxor %xmm5,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm1,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm5,%xmm1 - pand %xmm14,%xmm7 - pand %xmm12,%xmm5 - pand %xmm13,%xmm11 - pand %xmm8,%xmm1 - pxor %xmm11,%xmm7 - pxor %xmm5,%xmm1 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm5 - pxor %xmm11,%xmm4 - pxor %xmm11,%xmm1 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm5 - - movdqa %xmm2,%xmm11 - movdqa %xmm6,%xmm7 - pxor %xmm15,%xmm11 - pxor %xmm3,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm3,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm3 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm3,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm3 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm2,%xmm10 - pxor %xmm6,%xmm2 - pand %xmm14,%xmm6 - pand %xmm13,%xmm2 - pxor %xmm6,%xmm2 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm3 - pxor %xmm6,%xmm0 - pxor %xmm4,%xmm5 - - pxor %xmm0,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm6,%xmm4 - pxor %xmm1,%xmm3 - pxor %xmm15,%xmm6 - pxor %xmm4,%xmm3 - pxor %xmm5,%xmm2 - pxor %xmm0,%xmm5 - pxor %xmm3,%xmm2 - - pxor %xmm15,%xmm3 - pxor %xmm2,%xmm6 - decl %r10d - jl .Ldec_done - - pshufd $0x4E,%xmm15,%xmm7 - pshufd $0x4E,%xmm2,%xmm13 - pxor %xmm15,%xmm7 - pshufd $0x4E,%xmm4,%xmm14 - pxor %xmm2,%xmm13 - pshufd $0x4E,%xmm0,%xmm8 - pxor %xmm4,%xmm14 - pshufd $0x4E,%xmm5,%xmm9 - pxor %xmm0,%xmm8 - pshufd $0x4E,%xmm3,%xmm10 - pxor %xmm5,%xmm9 - pxor %xmm13,%xmm15 - pxor %xmm13,%xmm0 - pshufd $0x4E,%xmm1,%xmm11 - pxor %xmm3,%xmm10 - pxor %xmm7,%xmm5 - pxor %xmm8,%xmm3 - pshufd $0x4E,%xmm6,%xmm12 - pxor %xmm1,%xmm11 - pxor %xmm14,%xmm0 - pxor %xmm9,%xmm1 - pxor %xmm6,%xmm12 - - pxor %xmm14,%xmm5 - pxor %xmm13,%xmm3 - pxor %xmm13,%xmm1 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm14,%xmm1 - pxor %xmm14,%xmm6 - pxor %xmm12,%xmm4 - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm5,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm3,%xmm10 - pxor %xmm9,%xmm5 - pshufd $0x93,%xmm1,%xmm11 - pxor %xmm10,%xmm3 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm1 - pshufd $0x93,%xmm2,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm2 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm1,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm3,%xmm11 - pshufd $0x4E,%xmm1,%xmm7 - pxor %xmm2,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm5,%xmm10 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm2,%xmm3 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm12,%xmm8 - pxor %xmm1,%xmm10 - pxor %xmm14,%xmm6 - pxor %xmm3,%xmm13 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm2 - movdqa %xmm13,%xmm5 - movdqa %xmm8,%xmm4 - movdqa %xmm2,%xmm1 - movdqa %xmm10,%xmm2 - movdqa -16(%r11),%xmm7 - jnz .Ldec_loop - movdqa -32(%r11),%xmm7 - jmp .Ldec_loop -.align 16 -.Ldec_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm2,%xmm9 - psrlq $1,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $1,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm6,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm4 - psllq $1,%xmm2 - pxor %xmm1,%xmm6 - psllq $1,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm3,%xmm5 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm5 - pand %xmm7,%xmm15 - pxor %xmm5,%xmm3 - psllq $1,%xmm5 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm1,%xmm10 - psrlq $2,%xmm1 - pxor %xmm4,%xmm6 - pxor %xmm2,%xmm1 - pand %xmm8,%xmm6 - pand %xmm8,%xmm1 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm1,%xmm2 - psllq $2,%xmm1 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm3,%xmm0 - pxor %xmm5,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm3 - psllq $2,%xmm0 - pxor %xmm15,%xmm5 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm3,%xmm9 - psrlq $4,%xmm3 - movdqa %xmm5,%xmm10 - psrlq $4,%xmm5 - pxor %xmm4,%xmm3 - pxor %xmm2,%xmm5 - pand %xmm7,%xmm3 - pand %xmm7,%xmm5 - pxor %xmm3,%xmm4 - psllq $4,%xmm3 - pxor %xmm5,%xmm2 - psllq $4,%xmm5 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm5 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm1 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_decrypt8,.-_bsaes_decrypt8 -.type _bsaes_key_convert,@function -.align 16 -_bsaes_key_convert: -.cfi_startproc - leaq .Lmasks(%rip),%r11 - movdqu (%rcx),%xmm7 - leaq 16(%rcx),%rcx - movdqa 0(%r11),%xmm0 - movdqa 16(%r11),%xmm1 - movdqa 32(%r11),%xmm2 - movdqa 48(%r11),%xmm3 - movdqa 64(%r11),%xmm4 - pcmpeqd %xmm5,%xmm5 - - movdqu (%rcx),%xmm6 - movdqa %xmm7,(%rax) - leaq 16(%rax),%rax - decl %r10d - jmp .Lkey_loop -.align 16 -.Lkey_loop: -.byte 102,15,56,0,244 - - movdqa %xmm0,%xmm8 - movdqa %xmm1,%xmm9 - - pand %xmm6,%xmm8 - pand %xmm6,%xmm9 - movdqa %xmm2,%xmm10 - pcmpeqb %xmm0,%xmm8 - psllq $4,%xmm0 - movdqa %xmm3,%xmm11 - pcmpeqb %xmm1,%xmm9 - psllq $4,%xmm1 - - pand %xmm6,%xmm10 - pand %xmm6,%xmm11 - movdqa %xmm0,%xmm12 - pcmpeqb %xmm2,%xmm10 - psllq $4,%xmm2 - movdqa %xmm1,%xmm13 - pcmpeqb %xmm3,%xmm11 - psllq $4,%xmm3 - - movdqa %xmm2,%xmm14 - movdqa %xmm3,%xmm15 - pxor %xmm5,%xmm8 - pxor %xmm5,%xmm9 - - pand %xmm6,%xmm12 - pand %xmm6,%xmm13 - movdqa %xmm8,0(%rax) - pcmpeqb %xmm0,%xmm12 - psrlq $4,%xmm0 - movdqa %xmm9,16(%rax) - pcmpeqb %xmm1,%xmm13 - psrlq $4,%xmm1 - leaq 16(%rcx),%rcx - - pand %xmm6,%xmm14 - pand %xmm6,%xmm15 - movdqa %xmm10,32(%rax) - pcmpeqb %xmm2,%xmm14 - psrlq $4,%xmm2 - movdqa %xmm11,48(%rax) - pcmpeqb %xmm3,%xmm15 - psrlq $4,%xmm3 - movdqu (%rcx),%xmm6 - - pxor %xmm5,%xmm13 - pxor %xmm5,%xmm14 - movdqa %xmm12,64(%rax) - movdqa %xmm13,80(%rax) - movdqa %xmm14,96(%rax) - movdqa %xmm15,112(%rax) - leaq 128(%rax),%rax - decl %r10d - jnz .Lkey_loop - - movdqa 80(%r11),%xmm7 - - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_key_convert,.-_bsaes_key_convert - -.globl bsaes_cbc_encrypt -.type bsaes_cbc_encrypt,@function -.align 16 -bsaes_cbc_encrypt: -.cfi_startproc - cmpl $0,%r9d - jne asm_AES_cbc_encrypt - cmpq $128,%rdx - jb asm_AES_cbc_encrypt - - movq %rsp,%rax -.Lcbc_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movq %r8,%rbx - shrq $4,%r14 - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - movdqu (%rbx),%xmm14 - subq $8,%r14 -.Lcbc_dec_loop: - movdqu 0(%r12),%xmm15 - movdqu 16(%r12),%xmm0 - movdqu 32(%r12),%xmm1 - movdqu 48(%r12),%xmm2 - movdqu 64(%r12),%xmm3 - movdqu 80(%r12),%xmm4 - movq %rsp,%rax - movdqu 96(%r12),%xmm5 - movl %edx,%r10d - movdqu 112(%r12),%xmm6 - movdqa %xmm14,32(%rbp) - - call _bsaes_decrypt8 - - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm2 - movdqu 112(%r12),%xmm14 - pxor %xmm13,%xmm4 - movdqu %xmm15,0(%r13) - leaq 128(%r12),%r12 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - subq $8,%r14 - jnc .Lcbc_dec_loop - - addq $8,%r14 - jz .Lcbc_dec_done - - movdqu 0(%r12),%xmm15 - movq %rsp,%rax - movl %edx,%r10d - cmpq $2,%r14 - jb .Lcbc_dec_one - movdqu 16(%r12),%xmm0 - je .Lcbc_dec_two - movdqu 32(%r12),%xmm1 - cmpq $4,%r14 - jb .Lcbc_dec_three - movdqu 48(%r12),%xmm2 - je .Lcbc_dec_four - movdqu 64(%r12),%xmm3 - cmpq $6,%r14 - jb .Lcbc_dec_five - movdqu 80(%r12),%xmm4 - je .Lcbc_dec_six - movdqu 96(%r12),%xmm5 - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm14 - pxor %xmm12,%xmm2 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_six: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm14 - pxor %xmm11,%xmm6 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_five: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm14 - pxor %xmm10,%xmm1 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_four: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm14 - pxor %xmm9,%xmm3 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_three: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm14 - pxor %xmm8,%xmm5 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_two: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm14 - pxor %xmm7,%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_one: - leaq (%r12),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm14 - movdqu %xmm14,(%r13) - movdqa %xmm15,%xmm14 - -.Lcbc_dec_done: - movdqu %xmm14,(%rbx) - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lcbc_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lcbc_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lcbc_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_cbc_encrypt,.-bsaes_cbc_encrypt - -.globl bsaes_ctr32_encrypt_blocks -.type bsaes_ctr32_encrypt_blocks,@function -.align 16 -bsaes_ctr32_encrypt_blocks: -.cfi_startproc - movq %rsp,%rax -.Lctr_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movdqu (%r8),%xmm0 - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movdqa %xmm0,32(%rbp) - cmpq $8,%rdx - jb .Lctr_enc_short - - movl %eax,%ebx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %ebx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - movdqa (%rsp),%xmm8 - leaq .LADD1(%rip),%r11 - movdqa 32(%rbp),%xmm15 - movdqa -32(%r11),%xmm7 -.byte 102,68,15,56,0,199 -.byte 102,68,15,56,0,255 - movdqa %xmm8,(%rsp) - jmp .Lctr_enc_loop -.align 16 -.Lctr_enc_loop: - movdqa %xmm15,32(%rbp) - movdqa %xmm15,%xmm0 - movdqa %xmm15,%xmm1 - paddd 0(%r11),%xmm0 - movdqa %xmm15,%xmm2 - paddd 16(%r11),%xmm1 - movdqa %xmm15,%xmm3 - paddd 32(%r11),%xmm2 - movdqa %xmm15,%xmm4 - paddd 48(%r11),%xmm3 - movdqa %xmm15,%xmm5 - paddd 64(%r11),%xmm4 - movdqa %xmm15,%xmm6 - paddd 80(%r11),%xmm5 - paddd 96(%r11),%xmm6 - - - - movdqa (%rsp),%xmm8 - leaq 16(%rsp),%rax - movdqa -16(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq .LBS0(%rip),%r11 - movl %ebx,%r10d - - call _bsaes_encrypt8_bitslice - - subq $8,%r14 - jc .Lctr_enc_loop_done - - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - movdqu 32(%r12),%xmm9 - movdqu 48(%r12),%xmm10 - movdqu 64(%r12),%xmm11 - movdqu 80(%r12),%xmm12 - movdqu 96(%r12),%xmm13 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - pxor %xmm15,%xmm7 - movdqa 32(%rbp),%xmm15 - pxor %xmm8,%xmm0 - movdqu %xmm7,0(%r13) - pxor %xmm9,%xmm3 - movdqu %xmm0,16(%r13) - pxor %xmm10,%xmm5 - movdqu %xmm3,32(%r13) - pxor %xmm11,%xmm2 - movdqu %xmm5,48(%r13) - pxor %xmm12,%xmm6 - movdqu %xmm2,64(%r13) - pxor %xmm13,%xmm1 - movdqu %xmm6,80(%r13) - pxor %xmm14,%xmm4 - movdqu %xmm1,96(%r13) - leaq .LADD1(%rip),%r11 - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - paddd 112(%r11),%xmm15 - jnz .Lctr_enc_loop - - jmp .Lctr_enc_done -.align 16 -.Lctr_enc_loop_done: - addq $8,%r14 - movdqu 0(%r12),%xmm7 - pxor %xmm7,%xmm15 - movdqu %xmm15,0(%r13) - cmpq $2,%r14 - jb .Lctr_enc_done - movdqu 16(%r12),%xmm8 - pxor %xmm8,%xmm0 - movdqu %xmm0,16(%r13) - je .Lctr_enc_done - movdqu 32(%r12),%xmm9 - pxor %xmm9,%xmm3 - movdqu %xmm3,32(%r13) - cmpq $4,%r14 - jb .Lctr_enc_done - movdqu 48(%r12),%xmm10 - pxor %xmm10,%xmm5 - movdqu %xmm5,48(%r13) - je .Lctr_enc_done - movdqu 64(%r12),%xmm11 - pxor %xmm11,%xmm2 - movdqu %xmm2,64(%r13) - cmpq $6,%r14 - jb .Lctr_enc_done - movdqu 80(%r12),%xmm12 - pxor %xmm12,%xmm6 - movdqu %xmm6,80(%r13) - je .Lctr_enc_done - movdqu 96(%r12),%xmm13 - pxor %xmm13,%xmm1 - movdqu %xmm1,96(%r13) - jmp .Lctr_enc_done - -.align 16 -.Lctr_enc_short: - leaq 32(%rbp),%rdi - leaq 48(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - movdqu (%r12),%xmm0 - leaq 16(%r12),%r12 - movl 44(%rbp),%eax - bswapl %eax - pxor 48(%rbp),%xmm0 - incl %eax - movdqu %xmm0,(%r13) - bswapl %eax - leaq 16(%r13),%r13 - movl %eax,44(%rsp) - decq %r14 - jnz .Lctr_enc_short - -.Lctr_enc_done: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lctr_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lctr_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lctr_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_ctr32_encrypt_blocks,.-bsaes_ctr32_encrypt_blocks -.globl bsaes_xts_encrypt -.type bsaes_xts_encrypt,@function -.align 16 -bsaes_xts_encrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - andq $-16,%r14 - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_enc_short - jmp .Lxts_enc_loop - -.align 16 -.Lxts_enc_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm1,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_enc_loop - -.Lxts_enc_short: - addq $0x80,%r14 - jz .Lxts_enc_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_enc_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_enc_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_enc_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_enc_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_enc_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_enc_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - movdqu %xmm1,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - movdqu %xmm2,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - movdqu %xmm5,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - movdqu %xmm3,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_enc_done: - andl $15,%ebx - jz .Lxts_enc_ret - movq %r13,%rdx - -.Lxts_enc_steal: - movzbl (%r12),%eax - movzbl -16(%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,-16(%rdx) - movb %cl,0(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_enc_steal - - movdqu -16(%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm6 - movdqu %xmm6,-16(%r13) - -.Lxts_enc_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_encrypt,.-bsaes_xts_encrypt - -.globl bsaes_xts_decrypt -.type bsaes_xts_decrypt,@function -.align 16 -bsaes_xts_decrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - xorl %eax,%eax - andq $-16,%r14 - testl $15,%ebx - setnz %al - shlq $4,%rax - subq %rax,%r14 - - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_dec_short - jmp .Lxts_dec_loop - -.align 16 -.Lxts_dec_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_dec_loop - -.Lxts_dec_short: - addq $0x80,%r14 - jz .Lxts_dec_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_dec_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_dec_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_dec_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_dec_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_dec_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_dec_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_dec_done: - andl $15,%ebx - jz .Lxts_dec_ret - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - movdqa %xmm6,%xmm5 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - movdqu (%r12),%xmm15 - pxor %xmm13,%xmm6 - - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm6 - movq %r13,%rdx - movdqu %xmm6,(%r13) - -.Lxts_dec_steal: - movzbl 16(%r12),%eax - movzbl (%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,(%rdx) - movb %cl,16(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_dec_steal - - movdqu (%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm5,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm5 - movdqu %xmm5,(%r13) - -.Lxts_dec_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_decrypt,.-bsaes_xts_decrypt -.type _bsaes_const,@object -.align 64 -_bsaes_const: -.LM0ISR: -.quad 0x0a0e0206070b0f03, 0x0004080c0d010509 -.LISRM0: -.quad 0x01040b0e0205080f, 0x0306090c00070a0d -.LISR: -.quad 0x0504070602010003, 0x0f0e0d0c080b0a09 -.LBS0: -.quad 0x5555555555555555, 0x5555555555555555 -.LBS1: -.quad 0x3333333333333333, 0x3333333333333333 -.LBS2: -.quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f -.LSR: -.quad 0x0504070600030201, 0x0f0e0d0c0a09080b -.LSRM0: -.quad 0x0304090e00050a0f, 0x01060b0c0207080d -.LM0SR: -.quad 0x0a0e02060f03070b, 0x0004080c05090d01 -.LSWPUP: -.quad 0x0706050403020100, 0x0c0d0e0f0b0a0908 -.LSWPUPM0SR: -.quad 0x0a0d02060c03070b, 0x0004080f05090e01 -.LADD1: -.quad 0x0000000000000000, 0x0000000100000000 -.LADD2: -.quad 0x0000000000000000, 0x0000000200000000 -.LADD3: -.quad 0x0000000000000000, 0x0000000300000000 -.LADD4: -.quad 0x0000000000000000, 0x0000000400000000 -.LADD5: -.quad 0x0000000000000000, 0x0000000500000000 -.LADD6: -.quad 0x0000000000000000, 0x0000000600000000 -.LADD7: -.quad 0x0000000000000000, 0x0000000700000000 -.LADD8: -.quad 0x0000000000000000, 0x0000000800000000 -.Lxts_magic: -.long 0x87,0,1,0 -.Lmasks: -.quad 0x0101010101010101, 0x0101010101010101 -.quad 0x0202020202020202, 0x0202020202020202 -.quad 0x0404040404040404, 0x0404040404040404 -.quad 0x0808080808080808, 0x0808080808080808 -.LM0: -.quad 0x02060a0e03070b0f, 0x0004080c0105090d -.L63: -.quad 0x6363636363636363, 0x6363636363636363 -.byte 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44,32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32,65,110,100,121,32,80,111,108,121,97,107,111,118,0 -.align 64 -.size _bsaes_const,.-_bsaes_const diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/bn/rsaz-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/bn/rsaz-x86_64.s index f8e4a805887366..7876e0b8f93d9c 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/bn/rsaz-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/bn/rsaz-x86_64.s @@ -29,7 +29,7 @@ rsaz_512_sqr: subq $128+24,%rsp .cfi_adjust_cfa_offset 128+24 .Lsqr_body: - movq %rdx,%rbp +.byte 102,72,15,110,202 movq (%rsi),%rdx movq 8(%rsi),%rax movq %rcx,128(%rsp) @@ -44,6 +44,7 @@ rsaz_512_sqr: movl %r8d,128+8(%rsp) movq %rdx,%rbx + movq %rax,%rbp mulq %rdx movq %rax,%r8 movq 16(%rsi),%rax @@ -82,31 +83,29 @@ rsaz_512_sqr: mulq %rbx addq %rax,%r14 movq %rbx,%rax - movq %rdx,%r15 - adcq $0,%r15 + adcq $0,%rdx + xorq %rcx,%rcx addq %r8,%r8 - movq %r9,%rcx - adcq %r9,%r9 + movq %rdx,%r15 + adcq $0,%rcx mulq %rax - movq %rax,(%rsp) - addq %rdx,%r8 - adcq $0,%r9 + addq %r8,%rdx + adcq $0,%rcx - movq %r8,8(%rsp) - shrq $63,%rcx + movq %rax,(%rsp) + movq %rdx,8(%rsp) - movq 8(%rsi),%r8 movq 16(%rsi),%rax - mulq %r8 + mulq %rbp addq %rax,%r10 movq 24(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r11 movq 32(%rsi),%rax adcq $0,%rdx @@ -114,7 +113,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r12 movq 40(%rsi),%rax adcq $0,%rdx @@ -122,7 +121,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r13 movq 48(%rsi),%rax adcq $0,%rdx @@ -130,7 +129,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r14 movq 56(%rsi),%rax adcq $0,%rdx @@ -138,39 +137,39 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r15 - movq %r8,%rax + movq %rbp,%rax adcq $0,%rdx addq %rbx,%r15 - movq %rdx,%r8 - movq %r10,%rdx - adcq $0,%r8 + adcq $0,%rdx - addq %rdx,%rdx - leaq (%rcx,%r10,2),%r10 - movq %r11,%rbx - adcq %r11,%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r8 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax + movq 16(%rsi),%rbp addq %rax,%r9 + movq 24(%rsi),%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,16(%rsp) movq %r10,24(%rsp) - shrq $63,%rbx - movq 16(%rsi),%r9 - movq 24(%rsi),%rax - mulq %r9 + mulq %rbp addq %rax,%r12 movq 32(%rsi),%rax movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r13 movq 40(%rsi),%rax adcq $0,%rdx @@ -178,7 +177,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r14 movq 48(%rsi),%rax adcq $0,%rdx @@ -186,9 +185,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - movq %r12,%r10 - leaq (%rbx,%r12,2),%r12 + mulq %rbp addq %rax,%r15 movq 56(%rsi),%rax adcq $0,%rdx @@ -196,36 +193,40 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - shrq $63,%r10 + mulq %rbp addq %rax,%r8 - movq %r9,%rax + movq %rbp,%rax adcq $0,%rdx addq %rcx,%r8 - movq %rdx,%r9 - adcq $0,%r9 + adcq $0,%rdx - movq %r13,%rcx - leaq (%r10,%r13,2),%r13 + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r9 + adcq %r12,%r12 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax + movq 24(%rsi),%r10 addq %rax,%r11 + movq 32(%rsi),%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,32(%rsp) movq %r12,40(%rsp) - shrq $63,%rcx - movq 24(%rsi),%r10 - movq 32(%rsi),%rax + movq %rax,%r11 mulq %r10 addq %rax,%r14 movq 40(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx + movq %rax,%r12 mulq %r10 addq %rax,%r15 movq 48(%rsi),%rax @@ -234,9 +235,8 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx + movq %rax,%rbp mulq %r10 - movq %r14,%r12 - leaq (%rcx,%r14,2),%r14 addq %rax,%r8 movq 56(%rsi),%rax adcq $0,%rdx @@ -245,32 +245,33 @@ rsaz_512_sqr: adcq $0,%rbx mulq %r10 - shrq $63,%r12 addq %rax,%r9 movq %r10,%rax adcq $0,%rdx addq %rbx,%r9 - movq %rdx,%r10 - adcq $0,%r10 + adcq $0,%rdx - movq %r15,%rbx - leaq (%r12,%r15,2),%r15 + xorq %rbx,%rbx + addq %r13,%r13 + movq %rdx,%r10 + adcq %r14,%r14 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r13 + movq %r12,%rax adcq %rdx,%r14 - adcq $0,%r15 + adcq $0,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) - shrq $63,%rbx - movq 32(%rsi),%r11 - movq 40(%rsi),%rax mulq %r11 addq %rax,%r8 - movq 48(%rsi),%rax + movq %rbp,%rax movq %rdx,%rcx adcq $0,%rcx @@ -278,97 +279,99 @@ rsaz_512_sqr: addq %rax,%r9 movq 56(%rsi),%rax adcq $0,%rdx - movq %r8,%r12 - leaq (%rbx,%r8,2),%r8 addq %rcx,%r9 movq %rdx,%rcx adcq $0,%rcx + movq %rax,%r14 mulq %r11 - shrq $63,%r12 addq %rax,%r10 movq %r11,%rax adcq $0,%rdx addq %rcx,%r10 - movq %rdx,%r11 - adcq $0,%r11 + adcq $0,%rdx - movq %r9,%rcx - leaq (%r12,%r9,2),%r9 + xorq %rcx,%rcx + addq %r15,%r15 + movq %rdx,%r11 + adcq %r8,%r8 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r15 + movq %rbp,%rax adcq %rdx,%r8 - adcq $0,%r9 + adcq $0,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) - shrq $63,%rcx - movq 40(%rsi),%r12 - movq 48(%rsi),%rax mulq %r12 addq %rax,%r10 - movq 56(%rsi),%rax + movq %r14,%rax movq %rdx,%rbx adcq $0,%rbx mulq %r12 addq %rax,%r11 movq %r12,%rax - movq %r10,%r15 - leaq (%rcx,%r10,2),%r10 adcq $0,%rdx - shrq $63,%r15 addq %rbx,%r11 - movq %rdx,%r12 - adcq $0,%r12 + adcq $0,%rdx - movq %r11,%rbx - leaq (%r15,%r11,2),%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r12 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r9 + movq %r14,%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) - movq 48(%rsi),%r13 - movq 56(%rsi),%rax - mulq %r13 + mulq %rbp addq %rax,%r12 - movq %r13,%rax - movq %rdx,%r13 - adcq $0,%r13 + movq %rbp,%rax + adcq $0,%rdx - xorq %r14,%r14 - shlq $1,%rbx + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r13 adcq %r12,%r12 - adcq %r13,%r13 - adcq %r14,%r14 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r11 + movq %r14,%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,96(%rsp) movq %r12,104(%rsp) - movq 56(%rsi),%rax - mulq %rax - addq %rax,%r13 - adcq $0,%rdx + xorq %rbx,%rbx + addq %r13,%r13 + adcq $0,%rbx - addq %rdx,%r14 + mulq %rax - movq %r13,112(%rsp) - movq %r14,120(%rsp) + addq %rcx,%rax + addq %r13,%rax + adcq %rbx,%rdx movq (%rsp),%r8 movq 8(%rsp),%r9 @@ -378,6 +381,10 @@ rsaz_512_sqr: movq 40(%rsp),%r13 movq 48(%rsp),%r14 movq 56(%rsp),%r15 +.byte 102,72,15,126,205 + + movq %rax,112(%rsp) + movq %rdx,120(%rsp) call __rsaz_512_reduce @@ -406,9 +413,9 @@ rsaz_512_sqr: .Loop_sqrx: movl %r8d,128+8(%rsp) .byte 102,72,15,110,199 -.byte 102,72,15,110,205 mulxq %rax,%r8,%r9 + movq %rax,%rbx mulxq 16(%rsi),%rcx,%r10 xorq %rbp,%rbp @@ -416,40 +423,39 @@ rsaz_512_sqr: mulxq 24(%rsi),%rax,%r11 adcxq %rcx,%r9 - mulxq 32(%rsi),%rcx,%r12 +.byte 0xc4,0x62,0xf3,0xf6,0xa6,0x20,0x00,0x00,0x00 adcxq %rax,%r10 - mulxq 40(%rsi),%rax,%r13 +.byte 0xc4,0x62,0xfb,0xf6,0xae,0x28,0x00,0x00,0x00 adcxq %rcx,%r11 -.byte 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 + mulxq 48(%rsi),%rcx,%r14 adcxq %rax,%r12 adcxq %rcx,%r13 -.byte 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rax,%r15 adcxq %rax,%r14 adcxq %rbp,%r15 - movq %r9,%rcx - shldq $1,%r8,%r9 - shlq $1,%r8 - - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx - adcxq %rdx,%r8 - movq 8(%rsi),%rdx - adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi + movq %rbx,%rdx + xorq %rcx,%rcx + adoxq %r8,%r8 + adcxq %rdi,%r8 + adoxq %rbp,%rcx + adcxq %rbp,%rcx movq %rax,(%rsp) movq %r8,8(%rsp) - mulxq 16(%rsi),%rax,%rbx +.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x10,0x00,0x00,0x00 adoxq %rax,%r10 adcxq %rbx,%r11 -.byte 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r8 adoxq %rdi,%r11 +.byte 0x66 adcxq %r8,%r12 mulxq 32(%rsi),%rax,%rbx @@ -467,24 +473,25 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 adoxq %rdi,%r15 adcxq %rbp,%r8 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r8 +.byte 0x48,0x8b,0x96,0x10,0x00,0x00,0x00 - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rcx - movq 16(%rsi),%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rcx,%r10 - adcxq %rbp,%r11 + adoxq %rbp,%rbx + adcxq %rdi,%r10 + adcxq %rbp,%rbx movq %r9,16(%rsp) .byte 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r9 adoxq %rdi,%r12 adcxq %r9,%r13 @@ -492,7 +499,7 @@ rsaz_512_sqr: adoxq %rax,%r13 adcxq %rcx,%r14 - mulxq 40(%rsi),%rdi,%r9 +.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x28,0x00,0x00,0x00 adoxq %rdi,%r14 adcxq %r9,%r15 @@ -500,27 +507,28 @@ rsaz_512_sqr: adoxq %rax,%r15 adcxq %rcx,%r8 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rdi,%r9 adoxq %rdi,%r8 adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r9 + movq 24(%rsi),%rdx - movq %r13,%rcx - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + xorq %rcx,%rcx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 24(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx movq %r11,32(%rsp) -.byte 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 + movq %r12,40(%rsp) -.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 + mulxq 32(%rsi),%rax,%rbx adoxq %rax,%r14 adcxq %rbx,%r15 @@ -535,25 +543,25 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r10 adoxq %rdi,%r9 adcxq %rbp,%r10 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r10 + movq 32(%rsi),%rdx -.byte 0x66 - movq %r15,%rbx - shldq $1,%r14,%r15 - shldq $1,%rcx,%r14 + xorq %rbx,%rbx + adoxq %r13,%r13 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r14,%r14 adcxq %rax,%r13 - adcxq %rdx,%r14 - movq 32(%rsi),%rdx - adcxq %rbp,%r15 + adoxq %rbp,%rbx + adcxq %rdi,%r14 + adcxq %rbp,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) -.byte 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 + mulxq 40(%rsi),%rdi,%r11 adoxq %rdi,%r8 adcxq %r11,%r9 @@ -564,18 +572,19 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r11 adoxq %rdi,%r10 adcxq %rbp,%r11 + mulxq %rdx,%rax,%rdi + movq 40(%rsi),%rdx adoxq %rbp,%r11 - movq %r9,%rcx - shldq $1,%r8,%r9 - shldq $1,%rbx,%r8 + xorq %rcx,%rcx + adoxq %r15,%r15 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r8,%r8 adcxq %rax,%r15 - adcxq %rdx,%r8 - movq 40(%rsi),%rdx - adcxq %rbp,%r9 + adoxq %rbp,%rcx + adcxq %rdi,%r8 + adcxq %rbp,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) @@ -588,18 +597,19 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 adoxq %rdi,%r11 adcxq %rbp,%r12 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r12 + movq 48(%rsi),%rdx - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rdx,%r10 - movq 48(%rsi),%rdx - adcxq %rbp,%r11 + adcxq %rdi,%r10 + adoxq %rbp,%rbx + adcxq %rbp,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) @@ -609,31 +619,31 @@ rsaz_512_sqr: adoxq %rax,%r12 adoxq %rbp,%r13 - xorq %r14,%r14 - shldq $1,%r13,%r14 - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + mulxq %rdx,%rax,%rdi + xorq %rcx,%rcx + movq 56(%rsi),%rdx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 56(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx .byte 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 .byte 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 mulxq %rdx,%rax,%rdx - adoxq %rax,%r13 - adoxq %rbp,%rdx + xorq %rbx,%rbx + adoxq %r13,%r13 -.byte 0x66 - addq %rdx,%r14 + adcxq %rcx,%rax + adoxq %rbp,%rbx + adcxq %r13,%rax + adcxq %rdx,%rbx - movq %r13,112(%rsp) - movq %r14,120(%rsp) .byte 102,72,15,126,199 .byte 102,72,15,126,205 @@ -647,6 +657,9 @@ rsaz_512_sqr: movq 48(%rsp),%r14 movq 56(%rsp),%r15 + movq %rax,112(%rsp) + movq %rbx,120(%rsp) + call __rsaz_512_reducex addq 64(%rsp),%r8 @@ -1440,6 +1453,7 @@ rsaz_512_mul_by_one: .type __rsaz_512_reduce,@function .align 32 __rsaz_512_reduce: +.cfi_startproc movq %r8,%rbx imulq 128+8(%rsp),%rbx movq 0(%rbp),%rax @@ -1519,10 +1533,12 @@ __rsaz_512_reduce: jne .Lreduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reduce,.-__rsaz_512_reduce .type __rsaz_512_reducex,@function .align 32 __rsaz_512_reducex: +.cfi_startproc imulq %r8,%rdx xorq %rsi,%rsi @@ -1575,10 +1591,12 @@ __rsaz_512_reducex: jne .Lreduction_loopx .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reducex,.-__rsaz_512_reducex .type __rsaz_512_subtract,@function .align 32 __rsaz_512_subtract: +.cfi_startproc movq %r8,(%rdi) movq %r9,8(%rdi) movq %r10,16(%rdi) @@ -1632,10 +1650,12 @@ __rsaz_512_subtract: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_subtract,.-__rsaz_512_subtract .type __rsaz_512_mul,@function .align 32 __rsaz_512_mul: +.cfi_startproc leaq 8(%rsp),%rdi movq (%rsi),%rax @@ -1774,10 +1794,12 @@ __rsaz_512_mul: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mul,.-__rsaz_512_mul .type __rsaz_512_mulx,@function .align 32 __rsaz_512_mulx: +.cfi_startproc mulxq (%rsi),%rbx,%r8 movq $-6,%rcx @@ -1894,11 +1916,13 @@ __rsaz_512_mulx: movq %r15,8+64+56(%rsp) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mulx,.-__rsaz_512_mulx .globl rsaz_512_scatter4 .type rsaz_512_scatter4,@function .align 16 rsaz_512_scatter4: +.cfi_startproc leaq (%rdi,%rdx,8),%rdi movl $8,%r9d jmp .Loop_scatter @@ -1911,12 +1935,14 @@ rsaz_512_scatter4: decl %r9d jnz .Loop_scatter .byte 0xf3,0xc3 +.cfi_endproc .size rsaz_512_scatter4,.-rsaz_512_scatter4 .globl rsaz_512_gather4 .type rsaz_512_gather4,@function .align 16 rsaz_512_gather4: +.cfi_startproc movd %edx,%xmm8 movdqa .Linc+16(%rip),%xmm1 movdqa .Linc(%rip),%xmm0 @@ -1980,6 +2006,7 @@ rsaz_512_gather4: jnz .Loop_gather .byte 0xf3,0xc3 .LSEH_end_rsaz_512_gather4: +.cfi_endproc .size rsaz_512_gather4,.-rsaz_512_gather4 .align 64 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/bn/x86_64-mont5.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/bn/x86_64-mont5.s index df4b6610a02a47..40a60a3c8fc6b9 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/bn/x86_64-mont5.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/bn/x86_64-mont5.s @@ -550,6 +550,7 @@ bn_mul4x_mont_gather5: .type mul4x_internal,@function .align 32 mul4x_internal: +.cfi_startproc shlq $5,%r9 movd 8(%rax),%xmm5 leaq .Linc(%rip),%rax @@ -1071,6 +1072,7 @@ mul4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqr4x_sub_entry +.cfi_endproc .size mul4x_internal,.-mul4x_internal .globl bn_power5 .type bn_power5,@function @@ -1213,6 +1215,7 @@ bn_power5: .align 32 bn_sqr8x_internal: __bn_sqr8x_internal: +.cfi_startproc @@ -1987,10 +1990,12 @@ __bn_sqr8x_reduction: cmpq %rdx,%rdi jb .L8x_reduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size bn_sqr8x_internal,.-bn_sqr8x_internal .type __bn_post4x_internal,@function .align 32 __bn_post4x_internal: +.cfi_startproc movq 0(%rbp),%r12 leaq (%rdi,%r9,1),%rbx movq %r9,%rcx @@ -2041,15 +2046,18 @@ __bn_post4x_internal: movq %r9,%r10 negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_post4x_internal,.-__bn_post4x_internal .globl bn_from_montgomery .type bn_from_montgomery,@function .align 32 bn_from_montgomery: +.cfi_startproc testl $7,%r9d jz bn_from_mont8x xorl %eax,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_from_montgomery,.-bn_from_montgomery .type bn_from_mont8x,@function @@ -2333,6 +2341,7 @@ bn_mulx4x_mont_gather5: .type mulx4x_internal,@function .align 32 mulx4x_internal: +.cfi_startproc movq %r9,8(%rsp) movq %r9,%r10 negq %r9 @@ -2751,6 +2760,7 @@ mulx4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqrx4x_sub_entry +.cfi_endproc .size mulx4x_internal,.-mulx4x_internal .type bn_powerx5,@function .align 32 @@ -3509,6 +3519,7 @@ __bn_sqrx8x_reduction: .size bn_sqrx8x_internal,.-bn_sqrx8x_internal .align 32 __bn_postx4x_internal: +.cfi_startproc movq 0(%rbp),%r12 movq %rcx,%r10 movq %rcx,%r9 @@ -3556,11 +3567,13 @@ __bn_postx4x_internal: negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_postx4x_internal,.-__bn_postx4x_internal .globl bn_get_bits5 .type bn_get_bits5,@function .align 16 bn_get_bits5: +.cfi_startproc leaq 0(%rdi),%r10 leaq 1(%rdi),%r11 movl %esi,%ecx @@ -3574,12 +3587,14 @@ bn_get_bits5: shrl %cl,%eax andl $31,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_get_bits5,.-bn_get_bits5 .globl bn_scatter5 .type bn_scatter5,@function .align 16 bn_scatter5: +.cfi_startproc cmpl $0,%esi jz .Lscatter_epilogue leaq (%rdx,%rcx,8),%rdx @@ -3592,6 +3607,7 @@ bn_scatter5: jnz .Lscatter .Lscatter_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_scatter5,.-bn_scatter5 .globl bn_gather5 @@ -3599,6 +3615,7 @@ bn_scatter5: .align 32 bn_gather5: .LSEH_begin_bn_gather5: +.cfi_startproc .byte 0x4c,0x8d,0x14,0x24 .byte 0x48,0x81,0xec,0x08,0x01,0x00,0x00 @@ -3756,6 +3773,7 @@ bn_gather5: leaq (%r10),%rsp .byte 0xf3,0xc3 .LSEH_end_bn_gather5: +.cfi_endproc .size bn_gather5,.-bn_gather5 .align 64 .Linc: diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h index cc89c88b1cefa1..a8141d6c785966 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: solaris64-x86_64-gcc" -#define DATE "built on: Fri Sep 13 16:02:25 2019 UTC" +#define DATE "built on: Wed Mar 18 21:10:00 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -36,10 +36,11 @@ static const char compiler_flags[] = { 'A','S','M',' ','-','D','S','H','A','5','1','2','_','A','S','M', ' ','-','D','K','E','C','C','A','K','1','6','0','0','_','A','S', 'M',' ','-','D','R','C','4','_','A','S','M',' ','-','D','M','D', - '5','_','A','S','M',' ','-','D','V','P','A','E','S','_','A','S', - 'M',' ','-','D','G','H','A','S','H','_','A','S','M',' ','-','D', - 'E','C','P','_','N','I','S','T','Z','2','5','6','_','A','S','M', - ' ','-','D','X','2','5','5','1','9','_','A','S','M',' ','-','D', - 'P','O','L','Y','1','3','0','5','_','A','S','M',' ','-','D','N', - 'D','E','B','U','G','\0' + '5','_','A','S','M',' ','-','D','A','E','S','N','I','_','A','S', + 'M',' ','-','D','V','P','A','E','S','_','A','S','M',' ','-','D', + 'G','H','A','S','H','_','A','S','M',' ','-','D','E','C','P','_', + 'N','I','S','T','Z','2','5','6','_','A','S','M',' ','-','D','X', + '2','5','5','1','9','_','A','S','M',' ','-','D','P','O','L','Y', + '1','3','0','5','_','A','S','M',' ','-','D','N','D','E','B','U', + 'G','\0' }; diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/camellia/cmll-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/camellia/cmll-x86_64.s index 405566b01cca6f..eeb20dd2291da7 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/camellia/cmll-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/camellia/cmll-x86_64.s @@ -5,11 +5,13 @@ .type Camellia_EncryptBlock,@function .align 16 Camellia_EncryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Lenc_rounds +.cfi_endproc .size Camellia_EncryptBlock,.-Camellia_EncryptBlock .globl Camellia_EncryptBlock_Rounds @@ -83,6 +85,7 @@ Camellia_EncryptBlock_Rounds: .type _x86_64_Camellia_encrypt,@function .align 16 _x86_64_Camellia_encrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -285,6 +288,7 @@ _x86_64_Camellia_encrypt: movl %edx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_encrypt,.-_x86_64_Camellia_encrypt @@ -292,11 +296,13 @@ _x86_64_Camellia_encrypt: .type Camellia_DecryptBlock,@function .align 16 Camellia_DecryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Ldec_rounds +.cfi_endproc .size Camellia_DecryptBlock,.-Camellia_DecryptBlock .globl Camellia_DecryptBlock_Rounds @@ -370,6 +376,7 @@ Camellia_DecryptBlock_Rounds: .type _x86_64_Camellia_decrypt,@function .align 16 _x86_64_Camellia_decrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -573,6 +580,7 @@ _x86_64_Camellia_decrypt: movl %ebx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_decrypt,.-_x86_64_Camellia_decrypt .globl Camellia_Ekeygen .type Camellia_Ekeygen,@function diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/ec/ecp_nistz256-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/ec/ecp_nistz256-x86_64.s index 62b9ac6616ba72..5c9e4050416212 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/ec/ecp_nistz256-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/ec/ecp_nistz256-x86_64.s @@ -3874,10 +3874,12 @@ ecp_nistz256_ord_sqr_montx: .type ecp_nistz256_to_mont,@function .align 32 ecp_nistz256_to_mont: +.cfi_startproc movl $0x80100,%ecx andl OPENSSL_ia32cap_P+8(%rip),%ecx leaq .LRR(%rip),%rdx jmp .Lmul_mont +.cfi_endproc .size ecp_nistz256_to_mont,.-ecp_nistz256_to_mont @@ -4821,6 +4823,7 @@ ecp_nistz256_from_mont: .type ecp_nistz256_scatter_w5,@function .align 32 ecp_nistz256_scatter_w5: +.cfi_startproc leal -3(%rdx,%rdx,2),%edx movdqa 0(%rsi),%xmm0 shll $5,%edx @@ -4837,6 +4840,7 @@ ecp_nistz256_scatter_w5: movdqa %xmm5,80(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w5,.-ecp_nistz256_scatter_w5 @@ -4910,6 +4914,7 @@ ecp_nistz256_gather_w5: .type ecp_nistz256_scatter_w7,@function .align 32 ecp_nistz256_scatter_w7: +.cfi_startproc movdqu 0(%rsi),%xmm0 shll $6,%edx movdqu 16(%rsi),%xmm1 @@ -4921,6 +4926,7 @@ ecp_nistz256_scatter_w7: movdqa %xmm3,48(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w7,.-ecp_nistz256_scatter_w7 @@ -5655,26 +5661,16 @@ ecp_nistz256_point_add: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedq .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedq - testq %r9,%r9 - jz .Ladd_doubleq -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_doneq + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedq -.align 32 .Ladd_doubleq: .byte 102,72,15,126,206 .byte 102,72,15,126,199 @@ -6774,26 +6770,16 @@ ecp_nistz256_point_addx: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedx .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedx - testq %r9,%r9 - jz .Ladd_doublex -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_donex + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedx -.align 32 .Ladd_doublex: .byte 102,72,15,126,206 .byte 102,72,15,126,199 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/ec/x25519-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/ec/x25519-x86_64.s index 2a18eaee288ce7..1788e568cda5d2 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/ec/x25519-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/ec/x25519-x86_64.s @@ -400,12 +400,14 @@ x25519_fe51_mul121666: .type x25519_fe64_eligible,@function .align 32 x25519_fe64_eligible: +.cfi_startproc movl OPENSSL_ia32cap_P+8(%rip),%ecx xorl %eax,%eax andl $0x80100,%ecx cmpl $0x80100,%ecx cmovel %ecx,%eax .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_eligible,.-x25519_fe64_eligible .globl x25519_fe64_mul @@ -648,6 +650,7 @@ x25519_fe64_sqr: .align 32 x25519_fe64_mul121666: .Lfe64_mul121666_body: +.cfi_startproc movl $121666,%edx mulxq 0(%rsi),%r8,%rcx mulxq 8(%rsi),%r9,%rax @@ -676,6 +679,7 @@ x25519_fe64_mul121666: .Lfe64_mul121666_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_mul121666,.-x25519_fe64_mul121666 .globl x25519_fe64_add @@ -683,6 +687,7 @@ x25519_fe64_mul121666: .align 32 x25519_fe64_add: .Lfe64_add_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -711,6 +716,7 @@ x25519_fe64_add: .Lfe64_add_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_add,.-x25519_fe64_add .globl x25519_fe64_sub @@ -718,6 +724,7 @@ x25519_fe64_add: .align 32 x25519_fe64_sub: .Lfe64_sub_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -746,6 +753,7 @@ x25519_fe64_sub: .Lfe64_sub_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_sub,.-x25519_fe64_sub .globl x25519_fe64_tobytes @@ -753,6 +761,7 @@ x25519_fe64_sub: .align 32 x25519_fe64_tobytes: .Lfe64_to_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -788,5 +797,6 @@ x25519_fe64_tobytes: .Lfe64_to_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_tobytes,.-x25519_fe64_tobytes .byte 88,50,53,53,49,57,32,112,114,105,109,105,116,105,118,101,115,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/modes/aesni-gcm-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/modes/aesni-gcm-x86_64.s index 6a7a9577c7142f..01d89630a42f73 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/modes/aesni-gcm-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/modes/aesni-gcm-x86_64.s @@ -3,6 +3,7 @@ .type _aesni_ctr32_ghash_6x,@function .align 32 _aesni_ctr32_ghash_6x: +.cfi_startproc vmovdqu 32(%r11),%xmm2 subq $6,%rdx vpxor %xmm4,%xmm4,%xmm4 @@ -310,6 +311,7 @@ _aesni_ctr32_ghash_6x: vpxor %xmm4,%xmm8,%xmm8 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_ctr32_ghash_6x,.-_aesni_ctr32_ghash_6x .globl aesni_gcm_decrypt .type aesni_gcm_decrypt,@function @@ -416,6 +418,7 @@ aesni_gcm_decrypt: .type _aesni_ctr32_6x,@function .align 32 _aesni_ctr32_6x: +.cfi_startproc vmovdqu 0-128(%rcx),%xmm4 vmovdqu 32(%r11),%xmm2 leaq -1(%rbp),%r13 @@ -502,6 +505,7 @@ _aesni_ctr32_6x: vpshufb %xmm0,%xmm1,%xmm1 vpxor %xmm4,%xmm14,%xmm14 jmp .Loop_ctr32 +.cfi_endproc .size _aesni_ctr32_6x,.-_aesni_ctr32_6x .globl aesni_gcm_encrypt diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/poly1305/poly1305-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/poly1305/poly1305-x86_64.s index deb4f74bfbcd1b..987a65aab38147 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/poly1305/poly1305-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/poly1305/poly1305-x86_64.s @@ -12,6 +12,7 @@ .type poly1305_init,@function .align 32 poly1305_init: +.cfi_startproc xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -47,6 +48,7 @@ poly1305_init: movl $1,%eax .Lno_key: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_init,.-poly1305_init .type poly1305_blocks,@function @@ -167,6 +169,7 @@ poly1305_blocks: .type poly1305_emit,@function .align 32 poly1305_emit: +.cfi_startproc .Lemit: movq 0(%rdi),%r8 movq 8(%rdi),%r9 @@ -187,10 +190,12 @@ poly1305_emit: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit,.-poly1305_emit .type __poly1305_block,@function .align 32 __poly1305_block: +.cfi_startproc mulq %r14 movq %rax,%r9 movq %r11,%rax @@ -230,11 +235,13 @@ __poly1305_block: adcq $0,%rbx adcq $0,%rbp .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_block,.-__poly1305_block .type __poly1305_init_avx,@function .align 32 __poly1305_init_avx: +.cfi_startproc movq %r11,%r14 movq %r12,%rbx xorq %rbp,%rbp @@ -392,6 +399,7 @@ __poly1305_init_avx: leaq -48-64(%rdi),%rdi .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_init_avx,.-__poly1305_init_avx .type poly1305_blocks_avx,@function @@ -1232,6 +1240,7 @@ poly1305_blocks_avx: .type poly1305_emit_avx,@function .align 32 poly1305_emit_avx: +.cfi_startproc cmpl $0,20(%rdi) je .Lemit @@ -1282,6 +1291,7 @@ poly1305_emit_avx: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit_avx,.-poly1305_emit_avx .type poly1305_blocks_avx2,@function .align 32 @@ -2478,6 +2488,7 @@ poly1305_blocks_avx512: .type poly1305_init_base2_44,@function .align 32 poly1305_init_base2_44: +.cfi_startproc xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -2511,10 +2522,12 @@ poly1305_init_base2_44: movq %r11,8(%rdx) movl $1,%eax .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_init_base2_44,.-poly1305_init_base2_44 .type poly1305_blocks_vpmadd52,@function .align 32 poly1305_blocks_vpmadd52: +.cfi_startproc shrq $4,%rdx jz .Lno_data_vpmadd52 @@ -2621,10 +2634,12 @@ poly1305_blocks_vpmadd52: .Lno_data_vpmadd52: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_blocks_vpmadd52,.-poly1305_blocks_vpmadd52 .type poly1305_blocks_vpmadd52_4x,@function .align 32 poly1305_blocks_vpmadd52_4x: +.cfi_startproc shrq $4,%rdx jz .Lno_data_vpmadd52_4x @@ -3049,10 +3064,12 @@ poly1305_blocks_vpmadd52_4x: .Lno_data_vpmadd52_4x: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_blocks_vpmadd52_4x,.-poly1305_blocks_vpmadd52_4x .type poly1305_blocks_vpmadd52_8x,@function .align 32 poly1305_blocks_vpmadd52_8x: +.cfi_startproc shrq $4,%rdx jz .Lno_data_vpmadd52_8x @@ -3393,10 +3410,12 @@ poly1305_blocks_vpmadd52_8x: .Lno_data_vpmadd52_8x: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_blocks_vpmadd52_8x,.-poly1305_blocks_vpmadd52_8x .type poly1305_emit_base2_44,@function .align 32 poly1305_emit_base2_44: +.cfi_startproc movq 0(%rdi),%r8 movq 8(%rdi),%r9 movq 16(%rdi),%r10 @@ -3427,6 +3446,7 @@ poly1305_emit_base2_44: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit_base2_44,.-poly1305_emit_base2_44 .align 64 .Lconst: @@ -3465,6 +3485,7 @@ poly1305_emit_base2_44: .type xor128_encrypt_n_pad,@function .align 16 xor128_encrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -3506,12 +3527,14 @@ xor128_encrypt_n_pad: .Ldone_enc: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_encrypt_n_pad,.-xor128_encrypt_n_pad .globl xor128_decrypt_n_pad .type xor128_decrypt_n_pad,@function .align 16 xor128_decrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -3557,4 +3580,5 @@ xor128_decrypt_n_pad: .Ldone_dec: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_decrypt_n_pad,.-xor128_decrypt_n_pad diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/rc4/rc4-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/rc4/rc4-x86_64.s index fba70351d48d5c..b97c757550aad0 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/rc4/rc4-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/rc4/rc4-x86_64.s @@ -4,11 +4,12 @@ .globl RC4 .type RC4,@function .align 16 -RC4: orq %rsi,%rsi +RC4: +.cfi_startproc + orq %rsi,%rsi jne .Lentry .byte 0xf3,0xc3 .Lentry: -.cfi_startproc pushq %rbx .cfi_adjust_cfa_offset 8 .cfi_offset %rbx,-16 @@ -533,6 +534,7 @@ RC4: orq %rsi,%rsi .type RC4_set_key,@function .align 16 RC4_set_key: +.cfi_startproc leaq 8(%rdi),%rdi leaq (%rdx,%rsi,1),%rdx negq %rsi @@ -599,12 +601,14 @@ RC4_set_key: movl %eax,-8(%rdi) movl %eax,-4(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size RC4_set_key,.-RC4_set_key .globl RC4_options .type RC4_options,@function .align 16 RC4_options: +.cfi_startproc leaq .Lopts(%rip),%rax movl OPENSSL_ia32cap_P(%rip),%edx btl $20,%edx @@ -617,6 +621,7 @@ RC4_options: addq $12,%rax .Ldone: .byte 0xf3,0xc3 +.cfi_endproc .align 64 .Lopts: .byte 114,99,52,40,56,120,44,105,110,116,41,0 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/keccak1600-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/keccak1600-x86_64.s index e511f25035b2b8..09617d014bdb7b 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/keccak1600-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/keccak1600-x86_64.s @@ -3,6 +3,7 @@ .type __KeccakF1600,@function .align 32 __KeccakF1600: +.cfi_startproc movq 60(%rdi),%rax movq 68(%rdi),%rbx movq 76(%rdi),%rcx @@ -255,6 +256,7 @@ __KeccakF1600: leaq -192(%r15),%r15 .byte 0xf3,0xc3 +.cfi_endproc .size __KeccakF1600,.-__KeccakF1600 .type KeccakF1600,@function diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/sha1-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/sha1-x86_64.s index e436521a040f66..98541727e555da 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/sha1-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/sha1-x86_64.s @@ -1421,8 +1421,8 @@ _shaext_shortcut: pshufd $27,%xmm1,%xmm1 movdqu %xmm0,(%rdi) movd %xmm1,16(%rdi) -.cfi_endproc .byte 0xf3,0xc3 +.cfi_endproc .size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext .type sha1_block_data_order_ssse3,@function .align 16 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/sha256-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/sha256-x86_64.s index 42b24df18e5afe..9357385da3c49b 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/sha256-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/sha256-x86_64.s @@ -1775,6 +1775,7 @@ K256: .align 64 sha256_block_data_order_shaext: _shaext_shortcut: +.cfi_startproc leaq K256+128(%rip),%rcx movdqu (%rdi),%xmm1 movdqu 16(%rdi),%xmm2 @@ -1977,6 +1978,7 @@ _shaext_shortcut: movdqu %xmm1,(%rdi) movdqu %xmm2,16(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size sha256_block_data_order_shaext,.-sha256_block_data_order_shaext .type sha256_block_data_order_ssse3,@function .align 64 @@ -4238,7 +4240,15 @@ sha256_block_data_order_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 88(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -64(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%edi vmovdqa %ymm6,0(%rsp) xorl %ecx,%edi @@ -4250,6 +4260,12 @@ sha256_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4505,6 +4521,12 @@ sha256_block_data_order_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -5380,6 +5402,8 @@ sha256_block_data_order_avx2: leaq 448(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08 + addl 0(%rdi),%eax addl 4(%rdi),%ebx addl 8(%rdi),%ecx @@ -5405,9 +5429,11 @@ sha256_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xd8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 88(%rsp),%rsi + movq 88(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/sha512-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/sha512-x86_64.s index 5931a2a93234d0..939f1ca71c9394 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/sha512-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/sha/sha512-x86_64.s @@ -4165,7 +4165,15 @@ sha512_block_data_order_avx2: vmovdqa %ymm10,64(%rsp) vpaddq 64(%rbp),%ymm6,%ymm10 vmovdqa %ymm11,96(%rsp) + + movq 152(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -128(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpaddq 96(%rbp),%ymm7,%ymm11 vmovdqa %ymm8,0(%rsp) xorq %r14,%r14 @@ -4181,6 +4189,12 @@ sha512_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm0,%ymm1,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -4474,6 +4488,12 @@ sha512_block_data_order_avx2: movq %r9,%r12 vmovdqa %ymm10,96(%rsp) leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm4,%ymm5,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -5387,6 +5407,8 @@ sha512_block_data_order_avx2: leaq 1152(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08 + addq 0(%rdi),%rax addq 8(%rdi),%rbx addq 16(%rdi),%rcx @@ -5412,9 +5434,11 @@ sha512_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0x98,0x01,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 152(%rsp),%rsi + movq 152(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/x86_64cpuid.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/x86_64cpuid.s index fd17eaaba49576..9268ce8c9a9d63 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/x86_64cpuid.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/x86_64cpuid.s @@ -12,6 +12,7 @@ .type OPENSSL_atomic_add,@function .align 16 OPENSSL_atomic_add: +.cfi_startproc movl (%rdi),%eax .Lspin: leaq (%rsi,%rax,1),%r8 .byte 0xf0 @@ -20,16 +21,19 @@ OPENSSL_atomic_add: movl %r8d,%eax .byte 0x48,0x98 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_atomic_add,.-OPENSSL_atomic_add .globl OPENSSL_rdtsc .type OPENSSL_rdtsc,@function .align 16 OPENSSL_rdtsc: +.cfi_startproc rdtsc shlq $32,%rdx orq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_rdtsc,.-OPENSSL_rdtsc .globl OPENSSL_ia32_cpuid @@ -205,6 +209,7 @@ OPENSSL_ia32_cpuid: .type OPENSSL_cleanse,@function .align 16 OPENSSL_cleanse: +.cfi_startproc xorq %rax,%rax cmpq $15,%rsi jae .Lot @@ -234,12 +239,14 @@ OPENSSL_cleanse: cmpq $0,%rsi jne .Little .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_cleanse,.-OPENSSL_cleanse .globl CRYPTO_memcmp .type CRYPTO_memcmp,@function .align 16 CRYPTO_memcmp: +.cfi_startproc xorq %rax,%rax xorq %r10,%r10 cmpq $0,%rdx @@ -268,11 +275,13 @@ CRYPTO_memcmp: shrq $63,%rax .Lno_data: .byte 0xf3,0xc3 +.cfi_endproc .size CRYPTO_memcmp,.-CRYPTO_memcmp .globl OPENSSL_wipe_cpu .type OPENSSL_wipe_cpu,@function .align 16 OPENSSL_wipe_cpu: +.cfi_startproc pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 @@ -299,11 +308,13 @@ OPENSSL_wipe_cpu: xorq %r11,%r11 leaq 8(%rsp),%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu .globl OPENSSL_instrument_bus .type OPENSSL_instrument_bus,@function .align 16 OPENSSL_instrument_bus: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rsi,%r11 @@ -330,12 +341,14 @@ OPENSSL_instrument_bus: movq %r11,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus,.-OPENSSL_instrument_bus .globl OPENSSL_instrument_bus2 .type OPENSSL_instrument_bus2,@function .align 16 OPENSSL_instrument_bus2: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rdx,%r11 @@ -378,11 +391,13 @@ OPENSSL_instrument_bus2: movq 8(%rsp),%rax subq %rcx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2 .globl OPENSSL_ia32_rdrand_bytes .type OPENSSL_ia32_rdrand_bytes,@function .align 16 OPENSSL_ia32_rdrand_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdrand_bytes @@ -419,11 +434,13 @@ OPENSSL_ia32_rdrand_bytes: .Ldone_rdrand_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdrand_bytes,.-OPENSSL_ia32_rdrand_bytes .globl OPENSSL_ia32_rdseed_bytes .type OPENSSL_ia32_rdseed_bytes,@function .align 16 OPENSSL_ia32_rdseed_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdseed_bytes @@ -460,4 +477,5 @@ OPENSSL_ia32_rdseed_bytes: .Ldone_rdseed_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdseed_bytes,.-OPENSSL_ia32_rdseed_bytes diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslconf.h index 913bb95a5a8a42..14050a45347f62 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/progs.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/progs.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/openssl-cl.gypi b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/openssl-cl.gypi index ca28a8cbd3dede..863e9328e5e18e 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/openssl-cl.gypi +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/openssl-cl.gypi @@ -16,6 +16,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/openssl.gypi b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/openssl.gypi index 0a3feb2ad53f17..6785731033a520 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/openssl.gypi +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/openssl.gypi @@ -723,6 +723,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/configdata.pm b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/configdata.pm index f10bb2324203ea..6fb7716b83a4ac 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/configdata.pm @@ -48,14 +48,14 @@ our %config = ( export_var_as_fn => "0", includes => [ ], lflags => [ ], - lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_CPUID_OBJ", "OPENSSL_IA32_SSE2", "OPENSSL_BN_ASM_MONT", "OPENSSL_BN_ASM_MONT5", "OPENSSL_BN_ASM_GF2m", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "KECCAK1600_ASM", "RC4_ASM", "MD5_ASM", "AESNI_ASM", "VPAES_ASM", "GHASH_ASM", "ECP_NISTZ256_ASM", "X25519_ASM", "POLY1305_ASM" ], libdir => "", major => "1", makedepprog => "\$(CROSS_COMPILE)../config/fake_gcc.pl", minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -111,8 +111,8 @@ our %config = ( sourcedir => ".", target => "solaris64-x86_64-gcc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -237,6 +237,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -354,8 +355,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -623,14 +624,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -706,6 +699,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1503,6 +1504,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3257,7 +3264,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3265,6 +3271,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3763,14 +3770,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4211,6 +4210,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4905,49 +4912,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4957,25 +4956,21 @@ our %unified_info = ( "crypto/aes/aesni-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesni-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aest4-sparcv9.o" => @@ -4993,13 +4988,11 @@ our %unified_info = ( "crypto/aes/vpaes-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -5013,613 +5006,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5633,7 +5524,6 @@ our %unified_info = ( "crypto/bn/asm/x86_64-gcc.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn-mips.o" => @@ -5643,182 +5533,152 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5828,19 +5688,16 @@ our %unified_info = ( "crypto/bn/rsaz-avx2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/rsaz_exp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/sparct4-mont.o" => @@ -5866,31 +5723,26 @@ our %unified_info = ( "crypto/bn/x86_64-gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/x86_64-mont5.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5900,37 +5752,31 @@ our %unified_info = ( "crypto/camellia/cmll-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5940,31 +5786,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5982,278 +5823,232 @@ our %unified_info = ( "crypto/chacha/chacha-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6263,301 +6058,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6565,7 +6310,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6573,7 +6317,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6581,7 +6324,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6589,7 +6331,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6597,7 +6338,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6605,163 +6345,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6779,241 +6492,201 @@ our %unified_info = ( "crypto/ec/ecp_nistz256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/x25519-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7021,21 +6694,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7043,13 +6713,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7057,81 +6725,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7139,328 +6794,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7470,91 +7064,76 @@ our %unified_info = ( "crypto/md5/md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/aesni-gcm-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7573,7 +7152,6 @@ our %unified_info = ( "crypto/modes/ghash-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ghashv8-armx.o" => @@ -7583,361 +7161,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7959,265 +7477,221 @@ our %unified_info = ( "crypto/poly1305/poly1305-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-md5-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8227,31 +7701,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8261,7 +7730,6 @@ our %unified_info = ( "crypto/sha/keccak1600-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8275,7 +7743,6 @@ our %unified_info = ( "crypto/sha/sha1-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-mips.o" => @@ -8293,19 +7760,16 @@ our %unified_info = ( "crypto/sha/sha1-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8319,7 +7783,6 @@ our %unified_info = ( "crypto/sha/sha256-mb-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-mips.o" => @@ -8337,13 +7800,11 @@ our %unified_info = ( "crypto/sha/sha256-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8369,727 +7830,606 @@ our %unified_info = ( "crypto/sha/sha512-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp-x86_64.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "crypto/x86_64cpuid.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock-x86_64.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -9140,6 +8480,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9384,7 +8732,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9710,7 +9057,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9756,7 +9102,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9822,7 +9167,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9847,7 +9191,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9945,7 +9288,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9995,18 +9337,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -10017,6 +9356,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -10080,10 +9423,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -10112,6 +9451,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10376,6 +9719,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15381,7 +14725,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15389,6 +14732,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15616,6 +14960,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15718,10 +15070,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15750,6 +15098,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aes-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aes-x86_64.s deleted file mode 100644 index f0c1685fb93450..00000000000000 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aes-x86_64.s +++ /dev/null @@ -1,2649 +0,0 @@ -.text -.type _x86_64_AES_encrypt,@function -.align 16 -_x86_64_AES_encrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Lenc_loop -.align 16 -.Lenc_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - shrl $16,%ecx - movzbl %ah,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movl 12(%r15),%edx - movzbl %bh,%edi - movzbl %ch,%ebp - movl 0(%r15),%eax - xorl 1(%r14,%rdi,8),%r12d - xorl 1(%r14,%rbp,8),%r8d - - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - subl $1,%r13d - jnz .Lenc_loop - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl 2(%r14,%rsi,8),%r10d - movzbl 2(%r14,%rdi,8),%r11d - movzbl 2(%r14,%rbp,8),%r12d - - movzbl %dl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl 2(%r14,%rsi,8),%r8d - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x0000ff00,%edi - andl $0x0000ff00,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%ecx - - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - - andl $0x0000ff00,%esi - andl $0x0000ff00,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%eax - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movl 0(%r14,%rsi,8),%esi - movl 0(%r14,%rdi,8),%edi - movl 0(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0x00ff0000,%edi - andl $0x00ff0000,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movl 0(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 2(%r14,%rbp,8),%ebp - - andl $0x00ff0000,%esi - andl $0xff000000,%edi - andl $0xff000000,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %bh,%esi - movzbl %ch,%edi - movl 16+12(%r15),%edx - movl 2(%r14,%rsi,8),%esi - movl 2(%r14,%rdi,8),%edi - movl 16+0(%r15),%eax - - andl $0xff000000,%esi - andl $0xff000000,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_encrypt,.-_x86_64_AES_encrypt -.type _x86_64_AES_encrypt_compact,@function -.align 16 -_x86_64_AES_encrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Lenc_loop_compact -.align 16 -.Lenc_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%ecx - movzbl %dh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ah,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl %cl,%edi - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shll $8,%r9d - shrl $16,%edx - shll $8,%r13d - xorl %r9d,%r10d - shrl $16,%eax - movzbl %dl,%r9d - shrl $16,%ebx - xorl %r13d,%r11d - shll $8,%ebp - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - - shll $8,%esi - movzbl %bl,%ebp - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %dh,%esi - movzbl (%r14,%r13,1),%r13d - xorl %edi,%r10d - - shrl $8,%ecx - movzbl %ah,%edi - shll $16,%r9d - shrl $8,%ebx - shll $16,%r13d - xorl %r9d,%r11d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rcx,1),%edx - movzbl (%r14,%rbx,1),%ecx - - shll $16,%ebp - xorl %r13d,%r12d - shll $24,%esi - xorl %ebp,%r8d - shll $24,%edi - xorl %esi,%r10d - shll $24,%edx - xorl %edi,%r11d - shll $24,%ecx - movl %r10d,%eax - movl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Lenc_compact_done - movl $0x80808080,%r10d - movl $0x80808080,%r11d - andl %eax,%r10d - andl %ebx,%r11d - movl %r10d,%esi - movl %r11d,%edi - shrl $7,%r10d - leal (%rax,%rax,1),%r8d - shrl $7,%r11d - leal (%rbx,%rbx,1),%r9d - subl %r10d,%esi - subl %r11d,%edi - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %eax,%r10d - movl %ebx,%r11d - xorl %esi,%r8d - xorl %edi,%r9d - - xorl %r8d,%eax - xorl %r9d,%ebx - movl $0x80808080,%r12d - roll $24,%eax - movl $0x80808080,%ebp - roll $24,%ebx - andl %ecx,%r12d - andl %edx,%ebp - xorl %r8d,%eax - xorl %r9d,%ebx - movl %r12d,%esi - rorl $16,%r10d - movl %ebp,%edi - rorl $16,%r11d - leal (%rcx,%rcx,1),%r8d - shrl $7,%r12d - xorl %r10d,%eax - shrl $7,%ebp - xorl %r11d,%ebx - rorl $8,%r10d - leal (%rdx,%rdx,1),%r9d - rorl $8,%r11d - subl %r12d,%esi - subl %ebp,%edi - xorl %r10d,%eax - xorl %r11d,%ebx - - andl $0xfefefefe,%r8d - andl $0xfefefefe,%r9d - andl $0x1b1b1b1b,%esi - andl $0x1b1b1b1b,%edi - movl %ecx,%r12d - movl %edx,%ebp - xorl %esi,%r8d - xorl %edi,%r9d - - rorl $16,%r12d - xorl %r8d,%ecx - rorl $16,%ebp - xorl %r9d,%edx - roll $24,%ecx - movl 0(%r14),%esi - roll $24,%edx - xorl %r8d,%ecx - movl 64(%r14),%edi - xorl %r9d,%edx - movl 128(%r14),%r8d - xorl %r12d,%ecx - rorl $8,%r12d - xorl %ebp,%edx - rorl $8,%ebp - xorl %r12d,%ecx - movl 192(%r14),%r9d - xorl %ebp,%edx - jmp .Lenc_loop_compact -.align 16 -.Lenc_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact -.globl AES_encrypt -.type AES_encrypt,@function -.align 16 -.globl asm_AES_encrypt -.hidden asm_AES_encrypt -asm_AES_encrypt: -AES_encrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Lenc_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Te+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - - call _x86_64_AES_encrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lenc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_encrypt,.-AES_encrypt -.type _x86_64_AES_decrypt,@function -.align 16 -_x86_64_AES_decrypt: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - - movl 240(%r15),%r13d - subl $1,%r13d - jmp .Ldec_loop -.align 16 -.Ldec_loop: - - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movl 0(%r14,%rsi,8),%r10d - movl 0(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r12d - - movzbl %dh,%esi - movzbl %ah,%edi - movzbl %dl,%ebp - xorl 3(%r14,%rsi,8),%r10d - xorl 3(%r14,%rdi,8),%r11d - movl 0(%r14,%rbp,8),%r8d - - movzbl %bh,%esi - shrl $16,%eax - movzbl %ch,%ebp - xorl 3(%r14,%rsi,8),%r12d - shrl $16,%edx - xorl 3(%r14,%rbp,8),%r8d - - shrl $16,%ebx - leaq 16(%r15),%r15 - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - xorl 2(%r14,%rsi,8),%r10d - xorl 2(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r12d - - movzbl %bh,%esi - movzbl %ch,%edi - movzbl %bl,%ebp - xorl 1(%r14,%rsi,8),%r10d - xorl 1(%r14,%rdi,8),%r11d - xorl 2(%r14,%rbp,8),%r8d - - movzbl %dh,%esi - movl 12(%r15),%edx - movzbl %ah,%ebp - xorl 1(%r14,%rsi,8),%r12d - movl 0(%r15),%eax - xorl 1(%r14,%rbp,8),%r8d - - xorl %r10d,%eax - movl 4(%r15),%ebx - movl 8(%r15),%ecx - xorl %r12d,%ecx - xorl %r11d,%ebx - xorl %r8d,%edx - subl $1,%r13d - jnz .Ldec_loop - leaq 2048(%r14),%r14 - movzbl %al,%esi - movzbl %bl,%edi - movzbl %cl,%ebp - movzbl (%r14,%rsi,1),%r10d - movzbl (%r14,%rdi,1),%r11d - movzbl (%r14,%rbp,1),%r12d - - movzbl %dl,%esi - movzbl %dh,%edi - movzbl %ah,%ebp - movzbl (%r14,%rsi,1),%r8d - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $8,%edi - shll $8,%ebp - - xorl %edi,%r10d - xorl %ebp,%r11d - shrl $16,%edx - - movzbl %bh,%esi - movzbl %ch,%edi - shrl $16,%eax - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - - shll $8,%esi - shll $8,%edi - shrl $16,%ebx - xorl %esi,%r12d - xorl %edi,%r8d - shrl $16,%ecx - - movzbl %cl,%esi - movzbl %dl,%edi - movzbl %al,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $16,%edi - shll $16,%ebp - - xorl %esi,%r10d - xorl %edi,%r11d - xorl %ebp,%r12d - - movzbl %bl,%esi - movzbl %bh,%edi - movzbl %ch,%ebp - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movzbl (%r14,%rbp,1),%ebp - - shll $16,%esi - shll $24,%edi - shll $24,%ebp - - xorl %esi,%r8d - xorl %edi,%r10d - xorl %ebp,%r11d - - movzbl %dh,%esi - movzbl %ah,%edi - movl 16+12(%r15),%edx - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%edi - movl 16+0(%r15),%eax - - shll $24,%esi - shll $24,%edi - - xorl %esi,%r12d - xorl %edi,%r8d - - movl 16+4(%r15),%ebx - movl 16+8(%r15),%ecx - leaq -2048(%r14),%r14 - xorl %r10d,%eax - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx -.byte 0xf3,0xc3 -.size _x86_64_AES_decrypt,.-_x86_64_AES_decrypt -.type _x86_64_AES_decrypt_compact,@function -.align 16 -_x86_64_AES_decrypt_compact: -.cfi_startproc - leaq 128(%r14),%r8 - movl 0-128(%r8),%edi - movl 32-128(%r8),%ebp - movl 64-128(%r8),%r10d - movl 96-128(%r8),%r11d - movl 128-128(%r8),%edi - movl 160-128(%r8),%ebp - movl 192-128(%r8),%r10d - movl 224-128(%r8),%r11d - jmp .Ldec_loop_compact - -.align 16 -.Ldec_loop_compact: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx - leaq 16(%r15),%r15 - movzbl %al,%r10d - movzbl %bl,%r11d - movzbl %cl,%r12d - movzbl %dl,%r8d - movzbl %dh,%esi - movzbl %ah,%edi - shrl $16,%edx - movzbl %bh,%ebp - movzbl (%r14,%r10,1),%r10d - movzbl (%r14,%r11,1),%r11d - movzbl (%r14,%r12,1),%r12d - movzbl (%r14,%r8,1),%r8d - - movzbl (%r14,%rsi,1),%r9d - movzbl %ch,%esi - movzbl (%r14,%rdi,1),%r13d - movzbl (%r14,%rbp,1),%ebp - movzbl (%r14,%rsi,1),%esi - - shrl $16,%ecx - shll $8,%r13d - shll $8,%r9d - movzbl %cl,%edi - shrl $16,%eax - xorl %r9d,%r10d - shrl $16,%ebx - movzbl %dl,%r9d - - shll $8,%ebp - xorl %r13d,%r11d - shll $8,%esi - movzbl %al,%r13d - movzbl (%r14,%rdi,1),%edi - xorl %ebp,%r12d - movzbl %bl,%ebp - - shll $16,%edi - xorl %esi,%r8d - movzbl (%r14,%r9,1),%r9d - movzbl %bh,%esi - movzbl (%r14,%rbp,1),%ebp - xorl %edi,%r10d - movzbl (%r14,%r13,1),%r13d - movzbl %ch,%edi - - shll $16,%ebp - shll $16,%r9d - shll $16,%r13d - xorl %ebp,%r8d - movzbl %dh,%ebp - xorl %r9d,%r11d - shrl $8,%eax - xorl %r13d,%r12d - - movzbl (%r14,%rsi,1),%esi - movzbl (%r14,%rdi,1),%ebx - movzbl (%r14,%rbp,1),%ecx - movzbl (%r14,%rax,1),%edx - - movl %r10d,%eax - shll $24,%esi - shll $24,%ebx - shll $24,%ecx - xorl %esi,%eax - shll $24,%edx - xorl %r11d,%ebx - xorl %r12d,%ecx - xorl %r8d,%edx - cmpq 16(%rsp),%r15 - je .Ldec_compact_done - - movq 256+0(%r14),%rsi - shlq $32,%rbx - shlq $32,%rdx - movq 256+8(%r14),%rdi - orq %rbx,%rax - orq %rdx,%rcx - movq 256+16(%r14),%rbp - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - movq 0(%r14),%rsi - roll $16,%r9d - movq 64(%r14),%rdi - roll $16,%r12d - movq 128(%r14),%rbp - roll $16,%r8d - movq 192(%r14),%r10 - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - movq 256(%r14),%r13 - xorl %r8d,%ebx - xorl %r11d,%edx - jmp .Ldec_loop_compact -.align 16 -.Ldec_compact_done: - xorl 0(%r15),%eax - xorl 4(%r15),%ebx - xorl 8(%r15),%ecx - xorl 12(%r15),%edx -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact -.globl AES_decrypt -.type AES_decrypt,@function -.align 16 -.globl asm_AES_decrypt -.hidden asm_AES_decrypt -asm_AES_decrypt: -AES_decrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - leaq -63(%rdx),%rcx - andq $-64,%rsp - subq %rsp,%rcx - negq %rcx - andq $0x3c0,%rcx - subq %rcx,%rsp - subq $32,%rsp - - movq %rsi,16(%rsp) - movq %rax,24(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x18,0x06,0x23,0x08 -.Ldec_prologue: - - movq %rdx,%r15 - movl 240(%r15),%r13d - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - - shll $4,%r13d - leaq (%r15,%r13,1),%rbp - movq %r15,(%rsp) - movq %rbp,8(%rsp) - - - leaq .LAES_Td+2048(%rip),%r14 - leaq 768(%rsp),%rbp - subq %r14,%rbp - andq $0x300,%rbp - leaq (%r14,%rbp,1),%r14 - shrq $3,%rbp - addq %rbp,%r14 - - call _x86_64_AES_decrypt_compact - - movq 16(%rsp),%r9 - movq 24(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Ldec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_decrypt,.-AES_decrypt -.globl AES_set_encrypt_key -.type AES_set_encrypt_key,@function -.align 16 -AES_set_encrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $8,%rsp -.cfi_adjust_cfa_offset 8 -.Lenc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Lenc_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_encrypt_key,.-AES_set_encrypt_key - -.type _x86_64_AES_set_encrypt_key,@function -.align 16 -_x86_64_AES_set_encrypt_key: -.cfi_startproc - movl %esi,%ecx - movq %rdi,%rsi - movq %rdx,%rdi - - testq $-1,%rsi - jz .Lbadpointer - testq $-1,%rdi - jz .Lbadpointer - - leaq .LAES_Te(%rip),%rbp - leaq 2048+128(%rbp),%rbp - - - movl 0-128(%rbp),%eax - movl 32-128(%rbp),%ebx - movl 64-128(%rbp),%r8d - movl 96-128(%rbp),%edx - movl 128-128(%rbp),%eax - movl 160-128(%rbp),%ebx - movl 192-128(%rbp),%r8d - movl 224-128(%rbp),%edx - - cmpl $128,%ecx - je .L10rounds - cmpl $192,%ecx - je .L12rounds - cmpl $256,%ecx - je .L14rounds - movq $-2,%rax - jmp .Lexit - -.L10rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rdx - movq %rax,0(%rdi) - movq %rdx,8(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L10shortcut -.align 4 -.L10loop: - movl 0(%rdi),%eax - movl 12(%rdi),%edx -.L10shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,16(%rdi) - xorl 4(%rdi),%eax - movl %eax,20(%rdi) - xorl 8(%rdi),%eax - movl %eax,24(%rdi) - xorl 12(%rdi),%eax - movl %eax,28(%rdi) - addl $1,%ecx - leaq 16(%rdi),%rdi - cmpl $10,%ecx - jl .L10loop - - movl $10,80(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L12rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rdx,16(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L12shortcut -.align 4 -.L12loop: - movl 0(%rdi),%eax - movl 20(%rdi),%edx -.L12shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,24(%rdi) - xorl 4(%rdi),%eax - movl %eax,28(%rdi) - xorl 8(%rdi),%eax - movl %eax,32(%rdi) - xorl 12(%rdi),%eax - movl %eax,36(%rdi) - - cmpl $7,%ecx - je .L12break - addl $1,%ecx - - xorl 16(%rdi),%eax - movl %eax,40(%rdi) - xorl 20(%rdi),%eax - movl %eax,44(%rdi) - - leaq 24(%rdi),%rdi - jmp .L12loop -.L12break: - movl $12,72(%rdi) - xorq %rax,%rax - jmp .Lexit - -.L14rounds: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 16(%rsi),%rcx - movq 24(%rsi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - - shrq $32,%rdx - xorl %ecx,%ecx - jmp .L14shortcut -.align 4 -.L14loop: - movl 0(%rdi),%eax - movl 28(%rdi),%edx -.L14shortcut: - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $24,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $8,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $16,%ebx - xorl %ebx,%eax - - xorl 1024-128(%rbp,%rcx,4),%eax - movl %eax,32(%rdi) - xorl 4(%rdi),%eax - movl %eax,36(%rdi) - xorl 8(%rdi),%eax - movl %eax,40(%rdi) - xorl 12(%rdi),%eax - movl %eax,44(%rdi) - - cmpl $6,%ecx - je .L14break - addl $1,%ecx - - movl %eax,%edx - movl 16(%rdi),%eax - movzbl %dl,%esi - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shrl $16,%edx - shll $8,%ebx - movzbl %dl,%esi - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - movzbl %dh,%esi - shll $16,%ebx - xorl %ebx,%eax - - movzbl -128(%rbp,%rsi,1),%ebx - shll $24,%ebx - xorl %ebx,%eax - - movl %eax,48(%rdi) - xorl 20(%rdi),%eax - movl %eax,52(%rdi) - xorl 24(%rdi),%eax - movl %eax,56(%rdi) - xorl 28(%rdi),%eax - movl %eax,60(%rdi) - - leaq 32(%rdi),%rdi - jmp .L14loop -.L14break: - movl $14,48(%rdi) - xorq %rax,%rax - jmp .Lexit - -.Lbadpointer: - movq $-1,%rax -.Lexit: -.byte 0xf3,0xc3 -.cfi_endproc -.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key -.globl AES_set_decrypt_key -.type AES_set_decrypt_key,@function -.align 16 -AES_set_decrypt_key: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - pushq %rdx -.cfi_adjust_cfa_offset 8 -.Ldec_key_prologue: - - call _x86_64_AES_set_encrypt_key - movq (%rsp),%r8 - cmpl $0,%eax - jne .Labort - - movl 240(%r8),%r14d - xorq %rdi,%rdi - leaq (%rdi,%r14,4),%rcx - movq %r8,%rsi - leaq (%r8,%rcx,4),%rdi -.align 4 -.Linvert: - movq 0(%rsi),%rax - movq 8(%rsi),%rbx - movq 0(%rdi),%rcx - movq 8(%rdi),%rdx - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,0(%rsi) - movq %rdx,8(%rsi) - leaq 16(%rsi),%rsi - leaq -16(%rdi),%rdi - cmpq %rsi,%rdi - jne .Linvert - - leaq .LAES_Te+2048+1024(%rip),%rax - - movq 40(%rax),%rsi - movq 48(%rax),%rdi - movq 56(%rax),%rbp - - movq %r8,%r15 - subl $1,%r14d -.align 4 -.Lpermute: - leaq 16(%r15),%r15 - movq 0(%r15),%rax - movq 8(%r15),%rcx - movq %rsi,%r9 - movq %rsi,%r12 - andq %rax,%r9 - andq %rcx,%r12 - movq %r9,%rbx - movq %r12,%rdx - shrq $7,%r9 - leaq (%rax,%rax,1),%r8 - shrq $7,%r12 - leaq (%rcx,%rcx,1),%r11 - subq %r9,%rbx - subq %r12,%rdx - andq %rdi,%r8 - andq %rdi,%r11 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r8 - xorq %rdx,%r11 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r8,%r10 - andq %r11,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - leaq (%r8,%r8,1),%r9 - shrq $7,%r13 - leaq (%r11,%r11,1),%r12 - subq %r10,%rbx - subq %r13,%rdx - andq %rdi,%r9 - andq %rdi,%r12 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r9 - xorq %rdx,%r12 - movq %rsi,%r10 - movq %rsi,%r13 - - andq %r9,%r10 - andq %r12,%r13 - movq %r10,%rbx - movq %r13,%rdx - shrq $7,%r10 - xorq %rax,%r8 - shrq $7,%r13 - xorq %rcx,%r11 - subq %r10,%rbx - subq %r13,%rdx - leaq (%r9,%r9,1),%r10 - leaq (%r12,%r12,1),%r13 - xorq %rax,%r9 - xorq %rcx,%r12 - andq %rdi,%r10 - andq %rdi,%r13 - andq %rbp,%rbx - andq %rbp,%rdx - xorq %rbx,%r10 - xorq %rdx,%r13 - - xorq %r10,%rax - xorq %r13,%rcx - xorq %r10,%r8 - xorq %r13,%r11 - movq %rax,%rbx - movq %rcx,%rdx - xorq %r10,%r9 - shrq $32,%rbx - xorq %r13,%r12 - shrq $32,%rdx - xorq %r8,%r10 - roll $8,%eax - xorq %r11,%r13 - roll $8,%ecx - xorq %r9,%r10 - roll $8,%ebx - xorq %r12,%r13 - - roll $8,%edx - xorl %r10d,%eax - shrq $32,%r10 - xorl %r13d,%ecx - shrq $32,%r13 - xorl %r10d,%ebx - xorl %r13d,%edx - - movq %r8,%r10 - roll $24,%r8d - movq %r11,%r13 - roll $24,%r11d - shrq $32,%r10 - xorl %r8d,%eax - shrq $32,%r13 - xorl %r11d,%ecx - roll $24,%r10d - movq %r9,%r8 - roll $24,%r13d - movq %r12,%r11 - shrq $32,%r8 - xorl %r10d,%ebx - shrq $32,%r11 - xorl %r13d,%edx - - - roll $16,%r9d - - roll $16,%r12d - - roll $16,%r8d - - xorl %r9d,%eax - roll $16,%r11d - xorl %r12d,%ecx - - xorl %r8d,%ebx - xorl %r11d,%edx - movl %eax,0(%r15) - movl %ebx,4(%r15) - movl %ecx,8(%r15) - movl %edx,12(%r15) - subl $1,%r14d - jnz .Lpermute - - xorq %rax,%rax -.Labort: - movq 8(%rsp),%r15 -.cfi_restore %r15 - movq 16(%rsp),%r14 -.cfi_restore %r14 - movq 24(%rsp),%r13 -.cfi_restore %r13 - movq 32(%rsp),%r12 -.cfi_restore %r12 - movq 40(%rsp),%rbp -.cfi_restore %rbp - movq 48(%rsp),%rbx -.cfi_restore %rbx - addq $56,%rsp -.cfi_adjust_cfa_offset -56 -.Ldec_key_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_set_decrypt_key,.-AES_set_decrypt_key -.globl AES_cbc_encrypt -.type AES_cbc_encrypt,@function -.align 16 - -.globl asm_AES_cbc_encrypt -.hidden asm_AES_cbc_encrypt -asm_AES_cbc_encrypt: -AES_cbc_encrypt: -.cfi_startproc - cmpq $0,%rdx - je .Lcbc_epilogue - pushfq - - -.cfi_adjust_cfa_offset 8 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-32 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-40 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-48 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-56 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-64 -.Lcbc_prologue: - - cld - movl %r9d,%r9d - - leaq .LAES_Te(%rip),%r14 - leaq .LAES_Td(%rip),%r10 - cmpq $0,%r9 - cmoveq %r10,%r14 - -.cfi_remember_state - movl OPENSSL_ia32cap_P(%rip),%r10d - cmpq $512,%rdx - jb .Lcbc_slow_prologue - testq $15,%rdx - jnz .Lcbc_slow_prologue - btl $28,%r10d - jc .Lcbc_slow_prologue - - - leaq -88-248(%rsp),%r15 - andq $-64,%r15 - - - movq %r14,%r10 - leaq 2304(%r14),%r11 - movq %r15,%r12 - andq $0xFFF,%r10 - andq $0xFFF,%r11 - andq $0xFFF,%r12 - - cmpq %r11,%r12 - jb .Lcbc_te_break_out - subq %r11,%r12 - subq %r12,%r15 - jmp .Lcbc_te_ok -.Lcbc_te_break_out: - subq %r10,%r12 - andq $0xFFF,%r12 - addq $320,%r12 - subq %r12,%r15 -.align 4 -.Lcbc_te_ok: - - xchgq %rsp,%r15 -.cfi_def_cfa_register %r15 - - movq %r15,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_fast_body: - movq %rdi,24(%rsp) - movq %rsi,32(%rsp) - movq %rdx,40(%rsp) - movq %rcx,48(%rsp) - movq %r8,56(%rsp) - movl $0,80+240(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - - movl 240(%r15),%eax - - movq %r15,%r10 - subq %r14,%r10 - andq $0xfff,%r10 - cmpq $2304,%r10 - jb .Lcbc_do_ecopy - cmpq $4096-248,%r10 - jb .Lcbc_skip_ecopy -.align 4 -.Lcbc_do_ecopy: - movq %r15,%rsi - leaq 80(%rsp),%rdi - leaq 80(%rsp),%r15 - movl $30,%ecx -.long 0x90A548F3 - movl %eax,(%rdi) -.Lcbc_skip_ecopy: - movq %r15,0(%rsp) - - movl $18,%ecx -.align 4 -.Lcbc_prefetch_te: - movq 0(%r14),%r10 - movq 32(%r14),%r11 - movq 64(%r14),%r12 - movq 96(%r14),%r13 - leaq 128(%r14),%r14 - subl $1,%ecx - jnz .Lcbc_prefetch_te - leaq -2304(%r14),%r14 - - cmpq $0,%rbx - je .LFAST_DECRYPT - - - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - -.align 4 -.Lcbc_fast_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_encrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - movq %r10,40(%rsp) - jnz .Lcbc_fast_enc_loop - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_fast_cleanup - - -.align 16 -.LFAST_DECRYPT: - cmpq %r8,%r9 - je .Lcbc_fast_dec_in_place - - movq %rbp,64(%rsp) -.align 4 -.Lcbc_fast_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 64(%rsp),%rbp - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0(%rbp),%eax - xorl 4(%rbp),%ebx - xorl 8(%rbp),%ecx - xorl 12(%rbp),%edx - movq %r8,%rbp - - subq $16,%r10 - movq %r10,40(%rsp) - movq %rbp,64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jnz .Lcbc_fast_dec_loop - movq 56(%rsp),%r12 - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0(%r12) - movq %r11,8(%r12) - jmp .Lcbc_fast_cleanup - -.align 16 -.Lcbc_fast_dec_in_place: - movq 0(%rbp),%r10 - movq 8(%rbp),%r11 - movq %r10,0+64(%rsp) - movq %r11,8+64(%rsp) -.align 4 -.Lcbc_fast_dec_in_place_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - - call _x86_64_AES_decrypt - - movq 24(%rsp),%r8 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jz .Lcbc_fast_dec_in_place_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - movq %r10,40(%rsp) - jmp .Lcbc_fast_dec_in_place_loop -.Lcbc_fast_dec_in_place_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - -.align 4 -.Lcbc_fast_cleanup: - cmpl $0,80+240(%rsp) - leaq 80(%rsp),%rdi - je .Lcbc_exit - movl $30,%ecx - xorq %rax,%rax -.long 0x90AB48F3 - - jmp .Lcbc_exit - - -.align 16 -.Lcbc_slow_prologue: -.cfi_restore_state - - leaq -88(%rsp),%rbp - andq $-64,%rbp - - leaq -88-63(%rcx),%r10 - subq %rbp,%r10 - negq %r10 - andq $0x3c0,%r10 - subq %r10,%rbp - - xchgq %rsp,%rbp -.cfi_def_cfa_register %rbp - - movq %rbp,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x40 -.Lcbc_slow_body: - - - - - movq %r8,56(%rsp) - movq %r8,%rbp - movq %r9,%rbx - movq %rsi,%r9 - movq %rdi,%r8 - movq %rcx,%r15 - movq %rdx,%r10 - - movl 240(%r15),%eax - movq %r15,0(%rsp) - shll $4,%eax - leaq (%r15,%rax,1),%rax - movq %rax,8(%rsp) - - - leaq 2048(%r14),%r14 - leaq 768-8(%rsp),%rax - subq %r14,%rax - andq $0x300,%rax - leaq (%r14,%rax,1),%r14 - - cmpq $0,%rbx - je .LSLOW_DECRYPT - - - testq $-16,%r10 - movl 0(%rbp),%eax - movl 4(%rbp),%ebx - movl 8(%rbp),%ecx - movl 12(%rbp),%edx - jz .Lcbc_slow_enc_tail - -.align 4 -.Lcbc_slow_enc_loop: - xorl 0(%r8),%eax - xorl 4(%r8),%ebx - xorl 8(%r8),%ecx - xorl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_encrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - subq $16,%r10 - testq $-16,%r10 - jnz .Lcbc_slow_enc_loop - testq $15,%r10 - jnz .Lcbc_slow_enc_tail - movq 56(%rsp),%rbp - movl %eax,0(%rbp) - movl %ebx,4(%rbp) - movl %ecx,8(%rbp) - movl %edx,12(%rbp) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_enc_tail: - movq %rax,%r11 - movq %rcx,%r12 - movq %r10,%rcx - movq %r8,%rsi - movq %r9,%rdi -.long 0x9066A4F3 - movq $16,%rcx - subq %r10,%rcx - xorq %rax,%rax -.long 0x9066AAF3 - movq %r9,%r8 - movq $16,%r10 - movq %r11,%rax - movq %r12,%rcx - jmp .Lcbc_slow_enc_loop - -.align 16 -.LSLOW_DECRYPT: - shrq $3,%rax - addq %rax,%r14 - - movq 0(%rbp),%r11 - movq 8(%rbp),%r12 - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - -.align 4 -.Lcbc_slow_dec_loop: - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movq 0(%rsp),%r15 - movq %r8,24(%rsp) - movq %r9,32(%rsp) - movq %r10,40(%rsp) - - call _x86_64_AES_decrypt_compact - - movq 24(%rsp),%r8 - movq 32(%rsp),%r9 - movq 40(%rsp),%r10 - xorl 0+64(%rsp),%eax - xorl 4+64(%rsp),%ebx - xorl 8+64(%rsp),%ecx - xorl 12+64(%rsp),%edx - - movq 0(%r8),%r11 - movq 8(%r8),%r12 - subq $16,%r10 - jc .Lcbc_slow_dec_partial - jz .Lcbc_slow_dec_done - - movq %r11,0+64(%rsp) - movq %r12,8+64(%rsp) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - leaq 16(%r8),%r8 - leaq 16(%r9),%r9 - jmp .Lcbc_slow_dec_loop -.Lcbc_slow_dec_done: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0(%r9) - movl %ebx,4(%r9) - movl %ecx,8(%r9) - movl %edx,12(%r9) - - jmp .Lcbc_exit - -.align 4 -.Lcbc_slow_dec_partial: - movq 56(%rsp),%rdi - movq %r11,0(%rdi) - movq %r12,8(%rdi) - - movl %eax,0+64(%rsp) - movl %ebx,4+64(%rsp) - movl %ecx,8+64(%rsp) - movl %edx,12+64(%rsp) - - movq %r9,%rdi - leaq 64(%rsp),%rsi - leaq 16(%r10),%rcx -.long 0x9066A4F3 - jmp .Lcbc_exit - -.align 16 -.Lcbc_exit: - movq 16(%rsp),%rsi -.cfi_def_cfa %rsi,64 - movq (%rsi),%r15 -.cfi_restore %r15 - movq 8(%rsi),%r14 -.cfi_restore %r14 - movq 16(%rsi),%r13 -.cfi_restore %r13 - movq 24(%rsi),%r12 -.cfi_restore %r12 - movq 32(%rsi),%rbp -.cfi_restore %rbp - movq 40(%rsi),%rbx -.cfi_restore %rbx - leaq 48(%rsi),%rsp -.cfi_def_cfa %rsp,16 -.Lcbc_popfq: - popfq - - -.cfi_adjust_cfa_offset -8 -.Lcbc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size AES_cbc_encrypt,.-AES_cbc_encrypt -.align 64 -.LAES_Te: -.long 0xa56363c6,0xa56363c6 -.long 0x847c7cf8,0x847c7cf8 -.long 0x997777ee,0x997777ee -.long 0x8d7b7bf6,0x8d7b7bf6 -.long 0x0df2f2ff,0x0df2f2ff -.long 0xbd6b6bd6,0xbd6b6bd6 -.long 0xb16f6fde,0xb16f6fde -.long 0x54c5c591,0x54c5c591 -.long 0x50303060,0x50303060 -.long 0x03010102,0x03010102 -.long 0xa96767ce,0xa96767ce -.long 0x7d2b2b56,0x7d2b2b56 -.long 0x19fefee7,0x19fefee7 -.long 0x62d7d7b5,0x62d7d7b5 -.long 0xe6abab4d,0xe6abab4d -.long 0x9a7676ec,0x9a7676ec -.long 0x45caca8f,0x45caca8f -.long 0x9d82821f,0x9d82821f -.long 0x40c9c989,0x40c9c989 -.long 0x877d7dfa,0x877d7dfa -.long 0x15fafaef,0x15fafaef -.long 0xeb5959b2,0xeb5959b2 -.long 0xc947478e,0xc947478e -.long 0x0bf0f0fb,0x0bf0f0fb -.long 0xecadad41,0xecadad41 -.long 0x67d4d4b3,0x67d4d4b3 -.long 0xfda2a25f,0xfda2a25f -.long 0xeaafaf45,0xeaafaf45 -.long 0xbf9c9c23,0xbf9c9c23 -.long 0xf7a4a453,0xf7a4a453 -.long 0x967272e4,0x967272e4 -.long 0x5bc0c09b,0x5bc0c09b -.long 0xc2b7b775,0xc2b7b775 -.long 0x1cfdfde1,0x1cfdfde1 -.long 0xae93933d,0xae93933d -.long 0x6a26264c,0x6a26264c -.long 0x5a36366c,0x5a36366c -.long 0x413f3f7e,0x413f3f7e -.long 0x02f7f7f5,0x02f7f7f5 -.long 0x4fcccc83,0x4fcccc83 -.long 0x5c343468,0x5c343468 -.long 0xf4a5a551,0xf4a5a551 -.long 0x34e5e5d1,0x34e5e5d1 -.long 0x08f1f1f9,0x08f1f1f9 -.long 0x937171e2,0x937171e2 -.long 0x73d8d8ab,0x73d8d8ab -.long 0x53313162,0x53313162 -.long 0x3f15152a,0x3f15152a -.long 0x0c040408,0x0c040408 -.long 0x52c7c795,0x52c7c795 -.long 0x65232346,0x65232346 -.long 0x5ec3c39d,0x5ec3c39d -.long 0x28181830,0x28181830 -.long 0xa1969637,0xa1969637 -.long 0x0f05050a,0x0f05050a -.long 0xb59a9a2f,0xb59a9a2f -.long 0x0907070e,0x0907070e -.long 0x36121224,0x36121224 -.long 0x9b80801b,0x9b80801b -.long 0x3de2e2df,0x3de2e2df -.long 0x26ebebcd,0x26ebebcd -.long 0x6927274e,0x6927274e -.long 0xcdb2b27f,0xcdb2b27f -.long 0x9f7575ea,0x9f7575ea -.long 0x1b090912,0x1b090912 -.long 0x9e83831d,0x9e83831d -.long 0x742c2c58,0x742c2c58 -.long 0x2e1a1a34,0x2e1a1a34 -.long 0x2d1b1b36,0x2d1b1b36 -.long 0xb26e6edc,0xb26e6edc -.long 0xee5a5ab4,0xee5a5ab4 -.long 0xfba0a05b,0xfba0a05b -.long 0xf65252a4,0xf65252a4 -.long 0x4d3b3b76,0x4d3b3b76 -.long 0x61d6d6b7,0x61d6d6b7 -.long 0xceb3b37d,0xceb3b37d -.long 0x7b292952,0x7b292952 -.long 0x3ee3e3dd,0x3ee3e3dd -.long 0x712f2f5e,0x712f2f5e -.long 0x97848413,0x97848413 -.long 0xf55353a6,0xf55353a6 -.long 0x68d1d1b9,0x68d1d1b9 -.long 0x00000000,0x00000000 -.long 0x2cededc1,0x2cededc1 -.long 0x60202040,0x60202040 -.long 0x1ffcfce3,0x1ffcfce3 -.long 0xc8b1b179,0xc8b1b179 -.long 0xed5b5bb6,0xed5b5bb6 -.long 0xbe6a6ad4,0xbe6a6ad4 -.long 0x46cbcb8d,0x46cbcb8d -.long 0xd9bebe67,0xd9bebe67 -.long 0x4b393972,0x4b393972 -.long 0xde4a4a94,0xde4a4a94 -.long 0xd44c4c98,0xd44c4c98 -.long 0xe85858b0,0xe85858b0 -.long 0x4acfcf85,0x4acfcf85 -.long 0x6bd0d0bb,0x6bd0d0bb -.long 0x2aefefc5,0x2aefefc5 -.long 0xe5aaaa4f,0xe5aaaa4f -.long 0x16fbfbed,0x16fbfbed -.long 0xc5434386,0xc5434386 -.long 0xd74d4d9a,0xd74d4d9a -.long 0x55333366,0x55333366 -.long 0x94858511,0x94858511 -.long 0xcf45458a,0xcf45458a -.long 0x10f9f9e9,0x10f9f9e9 -.long 0x06020204,0x06020204 -.long 0x817f7ffe,0x817f7ffe -.long 0xf05050a0,0xf05050a0 -.long 0x443c3c78,0x443c3c78 -.long 0xba9f9f25,0xba9f9f25 -.long 0xe3a8a84b,0xe3a8a84b -.long 0xf35151a2,0xf35151a2 -.long 0xfea3a35d,0xfea3a35d -.long 0xc0404080,0xc0404080 -.long 0x8a8f8f05,0x8a8f8f05 -.long 0xad92923f,0xad92923f -.long 0xbc9d9d21,0xbc9d9d21 -.long 0x48383870,0x48383870 -.long 0x04f5f5f1,0x04f5f5f1 -.long 0xdfbcbc63,0xdfbcbc63 -.long 0xc1b6b677,0xc1b6b677 -.long 0x75dadaaf,0x75dadaaf -.long 0x63212142,0x63212142 -.long 0x30101020,0x30101020 -.long 0x1affffe5,0x1affffe5 -.long 0x0ef3f3fd,0x0ef3f3fd -.long 0x6dd2d2bf,0x6dd2d2bf -.long 0x4ccdcd81,0x4ccdcd81 -.long 0x140c0c18,0x140c0c18 -.long 0x35131326,0x35131326 -.long 0x2fececc3,0x2fececc3 -.long 0xe15f5fbe,0xe15f5fbe -.long 0xa2979735,0xa2979735 -.long 0xcc444488,0xcc444488 -.long 0x3917172e,0x3917172e -.long 0x57c4c493,0x57c4c493 -.long 0xf2a7a755,0xf2a7a755 -.long 0x827e7efc,0x827e7efc -.long 0x473d3d7a,0x473d3d7a -.long 0xac6464c8,0xac6464c8 -.long 0xe75d5dba,0xe75d5dba -.long 0x2b191932,0x2b191932 -.long 0x957373e6,0x957373e6 -.long 0xa06060c0,0xa06060c0 -.long 0x98818119,0x98818119 -.long 0xd14f4f9e,0xd14f4f9e -.long 0x7fdcdca3,0x7fdcdca3 -.long 0x66222244,0x66222244 -.long 0x7e2a2a54,0x7e2a2a54 -.long 0xab90903b,0xab90903b -.long 0x8388880b,0x8388880b -.long 0xca46468c,0xca46468c -.long 0x29eeeec7,0x29eeeec7 -.long 0xd3b8b86b,0xd3b8b86b -.long 0x3c141428,0x3c141428 -.long 0x79dedea7,0x79dedea7 -.long 0xe25e5ebc,0xe25e5ebc -.long 0x1d0b0b16,0x1d0b0b16 -.long 0x76dbdbad,0x76dbdbad -.long 0x3be0e0db,0x3be0e0db -.long 0x56323264,0x56323264 -.long 0x4e3a3a74,0x4e3a3a74 -.long 0x1e0a0a14,0x1e0a0a14 -.long 0xdb494992,0xdb494992 -.long 0x0a06060c,0x0a06060c -.long 0x6c242448,0x6c242448 -.long 0xe45c5cb8,0xe45c5cb8 -.long 0x5dc2c29f,0x5dc2c29f -.long 0x6ed3d3bd,0x6ed3d3bd -.long 0xefacac43,0xefacac43 -.long 0xa66262c4,0xa66262c4 -.long 0xa8919139,0xa8919139 -.long 0xa4959531,0xa4959531 -.long 0x37e4e4d3,0x37e4e4d3 -.long 0x8b7979f2,0x8b7979f2 -.long 0x32e7e7d5,0x32e7e7d5 -.long 0x43c8c88b,0x43c8c88b -.long 0x5937376e,0x5937376e -.long 0xb76d6dda,0xb76d6dda -.long 0x8c8d8d01,0x8c8d8d01 -.long 0x64d5d5b1,0x64d5d5b1 -.long 0xd24e4e9c,0xd24e4e9c -.long 0xe0a9a949,0xe0a9a949 -.long 0xb46c6cd8,0xb46c6cd8 -.long 0xfa5656ac,0xfa5656ac -.long 0x07f4f4f3,0x07f4f4f3 -.long 0x25eaeacf,0x25eaeacf -.long 0xaf6565ca,0xaf6565ca -.long 0x8e7a7af4,0x8e7a7af4 -.long 0xe9aeae47,0xe9aeae47 -.long 0x18080810,0x18080810 -.long 0xd5baba6f,0xd5baba6f -.long 0x887878f0,0x887878f0 -.long 0x6f25254a,0x6f25254a -.long 0x722e2e5c,0x722e2e5c -.long 0x241c1c38,0x241c1c38 -.long 0xf1a6a657,0xf1a6a657 -.long 0xc7b4b473,0xc7b4b473 -.long 0x51c6c697,0x51c6c697 -.long 0x23e8e8cb,0x23e8e8cb -.long 0x7cdddda1,0x7cdddda1 -.long 0x9c7474e8,0x9c7474e8 -.long 0x211f1f3e,0x211f1f3e -.long 0xdd4b4b96,0xdd4b4b96 -.long 0xdcbdbd61,0xdcbdbd61 -.long 0x868b8b0d,0x868b8b0d -.long 0x858a8a0f,0x858a8a0f -.long 0x907070e0,0x907070e0 -.long 0x423e3e7c,0x423e3e7c -.long 0xc4b5b571,0xc4b5b571 -.long 0xaa6666cc,0xaa6666cc -.long 0xd8484890,0xd8484890 -.long 0x05030306,0x05030306 -.long 0x01f6f6f7,0x01f6f6f7 -.long 0x120e0e1c,0x120e0e1c -.long 0xa36161c2,0xa36161c2 -.long 0x5f35356a,0x5f35356a -.long 0xf95757ae,0xf95757ae -.long 0xd0b9b969,0xd0b9b969 -.long 0x91868617,0x91868617 -.long 0x58c1c199,0x58c1c199 -.long 0x271d1d3a,0x271d1d3a -.long 0xb99e9e27,0xb99e9e27 -.long 0x38e1e1d9,0x38e1e1d9 -.long 0x13f8f8eb,0x13f8f8eb -.long 0xb398982b,0xb398982b -.long 0x33111122,0x33111122 -.long 0xbb6969d2,0xbb6969d2 -.long 0x70d9d9a9,0x70d9d9a9 -.long 0x898e8e07,0x898e8e07 -.long 0xa7949433,0xa7949433 -.long 0xb69b9b2d,0xb69b9b2d -.long 0x221e1e3c,0x221e1e3c -.long 0x92878715,0x92878715 -.long 0x20e9e9c9,0x20e9e9c9 -.long 0x49cece87,0x49cece87 -.long 0xff5555aa,0xff5555aa -.long 0x78282850,0x78282850 -.long 0x7adfdfa5,0x7adfdfa5 -.long 0x8f8c8c03,0x8f8c8c03 -.long 0xf8a1a159,0xf8a1a159 -.long 0x80898909,0x80898909 -.long 0x170d0d1a,0x170d0d1a -.long 0xdabfbf65,0xdabfbf65 -.long 0x31e6e6d7,0x31e6e6d7 -.long 0xc6424284,0xc6424284 -.long 0xb86868d0,0xb86868d0 -.long 0xc3414182,0xc3414182 -.long 0xb0999929,0xb0999929 -.long 0x772d2d5a,0x772d2d5a -.long 0x110f0f1e,0x110f0f1e -.long 0xcbb0b07b,0xcbb0b07b -.long 0xfc5454a8,0xfc5454a8 -.long 0xd6bbbb6d,0xd6bbbb6d -.long 0x3a16162c,0x3a16162c -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 -.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 -.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 -.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b -.align 64 -.LAES_Td: -.long 0x50a7f451,0x50a7f451 -.long 0x5365417e,0x5365417e -.long 0xc3a4171a,0xc3a4171a -.long 0x965e273a,0x965e273a -.long 0xcb6bab3b,0xcb6bab3b -.long 0xf1459d1f,0xf1459d1f -.long 0xab58faac,0xab58faac -.long 0x9303e34b,0x9303e34b -.long 0x55fa3020,0x55fa3020 -.long 0xf66d76ad,0xf66d76ad -.long 0x9176cc88,0x9176cc88 -.long 0x254c02f5,0x254c02f5 -.long 0xfcd7e54f,0xfcd7e54f -.long 0xd7cb2ac5,0xd7cb2ac5 -.long 0x80443526,0x80443526 -.long 0x8fa362b5,0x8fa362b5 -.long 0x495ab1de,0x495ab1de -.long 0x671bba25,0x671bba25 -.long 0x980eea45,0x980eea45 -.long 0xe1c0fe5d,0xe1c0fe5d -.long 0x02752fc3,0x02752fc3 -.long 0x12f04c81,0x12f04c81 -.long 0xa397468d,0xa397468d -.long 0xc6f9d36b,0xc6f9d36b -.long 0xe75f8f03,0xe75f8f03 -.long 0x959c9215,0x959c9215 -.long 0xeb7a6dbf,0xeb7a6dbf -.long 0xda595295,0xda595295 -.long 0x2d83bed4,0x2d83bed4 -.long 0xd3217458,0xd3217458 -.long 0x2969e049,0x2969e049 -.long 0x44c8c98e,0x44c8c98e -.long 0x6a89c275,0x6a89c275 -.long 0x78798ef4,0x78798ef4 -.long 0x6b3e5899,0x6b3e5899 -.long 0xdd71b927,0xdd71b927 -.long 0xb64fe1be,0xb64fe1be -.long 0x17ad88f0,0x17ad88f0 -.long 0x66ac20c9,0x66ac20c9 -.long 0xb43ace7d,0xb43ace7d -.long 0x184adf63,0x184adf63 -.long 0x82311ae5,0x82311ae5 -.long 0x60335197,0x60335197 -.long 0x457f5362,0x457f5362 -.long 0xe07764b1,0xe07764b1 -.long 0x84ae6bbb,0x84ae6bbb -.long 0x1ca081fe,0x1ca081fe -.long 0x942b08f9,0x942b08f9 -.long 0x58684870,0x58684870 -.long 0x19fd458f,0x19fd458f -.long 0x876cde94,0x876cde94 -.long 0xb7f87b52,0xb7f87b52 -.long 0x23d373ab,0x23d373ab -.long 0xe2024b72,0xe2024b72 -.long 0x578f1fe3,0x578f1fe3 -.long 0x2aab5566,0x2aab5566 -.long 0x0728ebb2,0x0728ebb2 -.long 0x03c2b52f,0x03c2b52f -.long 0x9a7bc586,0x9a7bc586 -.long 0xa50837d3,0xa50837d3 -.long 0xf2872830,0xf2872830 -.long 0xb2a5bf23,0xb2a5bf23 -.long 0xba6a0302,0xba6a0302 -.long 0x5c8216ed,0x5c8216ed -.long 0x2b1ccf8a,0x2b1ccf8a -.long 0x92b479a7,0x92b479a7 -.long 0xf0f207f3,0xf0f207f3 -.long 0xa1e2694e,0xa1e2694e -.long 0xcdf4da65,0xcdf4da65 -.long 0xd5be0506,0xd5be0506 -.long 0x1f6234d1,0x1f6234d1 -.long 0x8afea6c4,0x8afea6c4 -.long 0x9d532e34,0x9d532e34 -.long 0xa055f3a2,0xa055f3a2 -.long 0x32e18a05,0x32e18a05 -.long 0x75ebf6a4,0x75ebf6a4 -.long 0x39ec830b,0x39ec830b -.long 0xaaef6040,0xaaef6040 -.long 0x069f715e,0x069f715e -.long 0x51106ebd,0x51106ebd -.long 0xf98a213e,0xf98a213e -.long 0x3d06dd96,0x3d06dd96 -.long 0xae053edd,0xae053edd -.long 0x46bde64d,0x46bde64d -.long 0xb58d5491,0xb58d5491 -.long 0x055dc471,0x055dc471 -.long 0x6fd40604,0x6fd40604 -.long 0xff155060,0xff155060 -.long 0x24fb9819,0x24fb9819 -.long 0x97e9bdd6,0x97e9bdd6 -.long 0xcc434089,0xcc434089 -.long 0x779ed967,0x779ed967 -.long 0xbd42e8b0,0xbd42e8b0 -.long 0x888b8907,0x888b8907 -.long 0x385b19e7,0x385b19e7 -.long 0xdbeec879,0xdbeec879 -.long 0x470a7ca1,0x470a7ca1 -.long 0xe90f427c,0xe90f427c -.long 0xc91e84f8,0xc91e84f8 -.long 0x00000000,0x00000000 -.long 0x83868009,0x83868009 -.long 0x48ed2b32,0x48ed2b32 -.long 0xac70111e,0xac70111e -.long 0x4e725a6c,0x4e725a6c -.long 0xfbff0efd,0xfbff0efd -.long 0x5638850f,0x5638850f -.long 0x1ed5ae3d,0x1ed5ae3d -.long 0x27392d36,0x27392d36 -.long 0x64d90f0a,0x64d90f0a -.long 0x21a65c68,0x21a65c68 -.long 0xd1545b9b,0xd1545b9b -.long 0x3a2e3624,0x3a2e3624 -.long 0xb1670a0c,0xb1670a0c -.long 0x0fe75793,0x0fe75793 -.long 0xd296eeb4,0xd296eeb4 -.long 0x9e919b1b,0x9e919b1b -.long 0x4fc5c080,0x4fc5c080 -.long 0xa220dc61,0xa220dc61 -.long 0x694b775a,0x694b775a -.long 0x161a121c,0x161a121c -.long 0x0aba93e2,0x0aba93e2 -.long 0xe52aa0c0,0xe52aa0c0 -.long 0x43e0223c,0x43e0223c -.long 0x1d171b12,0x1d171b12 -.long 0x0b0d090e,0x0b0d090e -.long 0xadc78bf2,0xadc78bf2 -.long 0xb9a8b62d,0xb9a8b62d -.long 0xc8a91e14,0xc8a91e14 -.long 0x8519f157,0x8519f157 -.long 0x4c0775af,0x4c0775af -.long 0xbbdd99ee,0xbbdd99ee -.long 0xfd607fa3,0xfd607fa3 -.long 0x9f2601f7,0x9f2601f7 -.long 0xbcf5725c,0xbcf5725c -.long 0xc53b6644,0xc53b6644 -.long 0x347efb5b,0x347efb5b -.long 0x7629438b,0x7629438b -.long 0xdcc623cb,0xdcc623cb -.long 0x68fcedb6,0x68fcedb6 -.long 0x63f1e4b8,0x63f1e4b8 -.long 0xcadc31d7,0xcadc31d7 -.long 0x10856342,0x10856342 -.long 0x40229713,0x40229713 -.long 0x2011c684,0x2011c684 -.long 0x7d244a85,0x7d244a85 -.long 0xf83dbbd2,0xf83dbbd2 -.long 0x1132f9ae,0x1132f9ae -.long 0x6da129c7,0x6da129c7 -.long 0x4b2f9e1d,0x4b2f9e1d -.long 0xf330b2dc,0xf330b2dc -.long 0xec52860d,0xec52860d -.long 0xd0e3c177,0xd0e3c177 -.long 0x6c16b32b,0x6c16b32b -.long 0x99b970a9,0x99b970a9 -.long 0xfa489411,0xfa489411 -.long 0x2264e947,0x2264e947 -.long 0xc48cfca8,0xc48cfca8 -.long 0x1a3ff0a0,0x1a3ff0a0 -.long 0xd82c7d56,0xd82c7d56 -.long 0xef903322,0xef903322 -.long 0xc74e4987,0xc74e4987 -.long 0xc1d138d9,0xc1d138d9 -.long 0xfea2ca8c,0xfea2ca8c -.long 0x360bd498,0x360bd498 -.long 0xcf81f5a6,0xcf81f5a6 -.long 0x28de7aa5,0x28de7aa5 -.long 0x268eb7da,0x268eb7da -.long 0xa4bfad3f,0xa4bfad3f -.long 0xe49d3a2c,0xe49d3a2c -.long 0x0d927850,0x0d927850 -.long 0x9bcc5f6a,0x9bcc5f6a -.long 0x62467e54,0x62467e54 -.long 0xc2138df6,0xc2138df6 -.long 0xe8b8d890,0xe8b8d890 -.long 0x5ef7392e,0x5ef7392e -.long 0xf5afc382,0xf5afc382 -.long 0xbe805d9f,0xbe805d9f -.long 0x7c93d069,0x7c93d069 -.long 0xa92dd56f,0xa92dd56f -.long 0xb31225cf,0xb31225cf -.long 0x3b99acc8,0x3b99acc8 -.long 0xa77d1810,0xa77d1810 -.long 0x6e639ce8,0x6e639ce8 -.long 0x7bbb3bdb,0x7bbb3bdb -.long 0x097826cd,0x097826cd -.long 0xf418596e,0xf418596e -.long 0x01b79aec,0x01b79aec -.long 0xa89a4f83,0xa89a4f83 -.long 0x656e95e6,0x656e95e6 -.long 0x7ee6ffaa,0x7ee6ffaa -.long 0x08cfbc21,0x08cfbc21 -.long 0xe6e815ef,0xe6e815ef -.long 0xd99be7ba,0xd99be7ba -.long 0xce366f4a,0xce366f4a -.long 0xd4099fea,0xd4099fea -.long 0xd67cb029,0xd67cb029 -.long 0xafb2a431,0xafb2a431 -.long 0x31233f2a,0x31233f2a -.long 0x3094a5c6,0x3094a5c6 -.long 0xc066a235,0xc066a235 -.long 0x37bc4e74,0x37bc4e74 -.long 0xa6ca82fc,0xa6ca82fc -.long 0xb0d090e0,0xb0d090e0 -.long 0x15d8a733,0x15d8a733 -.long 0x4a9804f1,0x4a9804f1 -.long 0xf7daec41,0xf7daec41 -.long 0x0e50cd7f,0x0e50cd7f -.long 0x2ff69117,0x2ff69117 -.long 0x8dd64d76,0x8dd64d76 -.long 0x4db0ef43,0x4db0ef43 -.long 0x544daacc,0x544daacc -.long 0xdf0496e4,0xdf0496e4 -.long 0xe3b5d19e,0xe3b5d19e -.long 0x1b886a4c,0x1b886a4c -.long 0xb81f2cc1,0xb81f2cc1 -.long 0x7f516546,0x7f516546 -.long 0x04ea5e9d,0x04ea5e9d -.long 0x5d358c01,0x5d358c01 -.long 0x737487fa,0x737487fa -.long 0x2e410bfb,0x2e410bfb -.long 0x5a1d67b3,0x5a1d67b3 -.long 0x52d2db92,0x52d2db92 -.long 0x335610e9,0x335610e9 -.long 0x1347d66d,0x1347d66d -.long 0x8c61d79a,0x8c61d79a -.long 0x7a0ca137,0x7a0ca137 -.long 0x8e14f859,0x8e14f859 -.long 0x893c13eb,0x893c13eb -.long 0xee27a9ce,0xee27a9ce -.long 0x35c961b7,0x35c961b7 -.long 0xede51ce1,0xede51ce1 -.long 0x3cb1477a,0x3cb1477a -.long 0x59dfd29c,0x59dfd29c -.long 0x3f73f255,0x3f73f255 -.long 0x79ce1418,0x79ce1418 -.long 0xbf37c773,0xbf37c773 -.long 0xeacdf753,0xeacdf753 -.long 0x5baafd5f,0x5baafd5f -.long 0x146f3ddf,0x146f3ddf -.long 0x86db4478,0x86db4478 -.long 0x81f3afca,0x81f3afca -.long 0x3ec468b9,0x3ec468b9 -.long 0x2c342438,0x2c342438 -.long 0x5f40a3c2,0x5f40a3c2 -.long 0x72c31d16,0x72c31d16 -.long 0x0c25e2bc,0x0c25e2bc -.long 0x8b493c28,0x8b493c28 -.long 0x41950dff,0x41950dff -.long 0x7101a839,0x7101a839 -.long 0xdeb30c08,0xdeb30c08 -.long 0x9ce4b4d8,0x9ce4b4d8 -.long 0x90c15664,0x90c15664 -.long 0x6184cb7b,0x6184cb7b -.long 0x70b632d5,0x70b632d5 -.long 0x745c6c48,0x745c6c48 -.long 0x4257b8d0,0x4257b8d0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d -.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe -.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 -.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aesni-sha1-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aesni-sha1-x86_64.s index 4d2dfe44898fd5..978bd2b6239c15 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aesni-sha1-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aesni-sha1-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha1_enc,@function .align 32 aesni_cbc_sha1_enc: +.cfi_startproc movl OPENSSL_ia32cap_P+0(%rip),%r10d movq OPENSSL_ia32cap_P+4(%rip),%r11 @@ -17,6 +18,7 @@ aesni_cbc_sha1_enc: je aesni_cbc_sha1_enc_avx jmp aesni_cbc_sha1_enc_ssse3 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc .type aesni_cbc_sha1_enc_ssse3,@function .align 32 @@ -2730,6 +2732,7 @@ K_XX_XX: .type aesni_cbc_sha1_enc_shaext,@function .align 32 aesni_cbc_sha1_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 movdqu (%r9),%xmm8 movd 16(%r9),%xmm9 @@ -3028,4 +3031,5 @@ aesni_cbc_sha1_enc_shaext: movdqu %xmm8,(%r9) movd %xmm9,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aesni-sha256-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aesni-sha256-x86_64.s index 5a47b3ee51b741..dd09f1b290af62 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aesni-sha256-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aesni-sha256-x86_64.s @@ -5,6 +5,7 @@ .type aesni_cbc_sha256_enc,@function .align 16 aesni_cbc_sha256_enc: +.cfi_startproc leaq OPENSSL_ia32cap_P(%rip),%r11 movl $1,%eax cmpq $0,%rdi @@ -30,6 +31,7 @@ aesni_cbc_sha256_enc: ud2 .Lprobe: .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc,.-aesni_cbc_sha256_enc .align 64 @@ -2528,7 +2530,15 @@ aesni_cbc_sha256_enc_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 120(%rsp),%rsi +.cfi_def_cfa %rsi,8 leaq -64(%rsp),%rsp + + + + movq %rsi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%esi vmovdqa %ymm6,0(%rsp) xorl %ecx,%esi @@ -2542,6 +2552,12 @@ aesni_cbc_sha256_enc_avx2: vmovdqu (%r13),%xmm9 vpinsrq $0,%r13,%xmm15,%xmm15 leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -2816,6 +2832,12 @@ aesni_cbc_sha256_enc_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4029,10 +4051,12 @@ aesni_cbc_sha256_enc_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xf8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 64+32(%rsp),%r8 - movq 120(%rsp),%rsi + movq 64+32(%rbp),%r8 + movq 64+56(%rbp),%rsi .cfi_def_cfa %rsi,8 vmovdqu %xmm8,(%r8) vzeroall @@ -4057,6 +4081,7 @@ aesni_cbc_sha256_enc_avx2: .type aesni_cbc_sha256_enc_shaext,@function .align 32 aesni_cbc_sha256_enc_shaext: +.cfi_startproc movq 8(%rsp),%r10 leaq K256+128(%rip),%rax movdqu (%r9),%xmm1 @@ -4406,4 +4431,5 @@ aesni_cbc_sha256_enc_shaext: movdqu %xmm1,(%r9) movdqu %xmm2,16(%r9) .byte 0xf3,0xc3 +.cfi_endproc .size aesni_cbc_sha256_enc_shaext,.-aesni_cbc_sha256_enc_shaext diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aesni-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aesni-x86_64.s index 2986a647c1bb05..c1e791eff59235 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aesni-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/aesni-x86_64.s @@ -861,6 +861,7 @@ aesni_ecb_encrypt: .type aesni_ccm64_encrypt_blocks,@function .align 16 aesni_ccm64_encrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movdqu (%r8),%xmm6 movdqa .Lincrement64(%rip),%xmm9 @@ -919,11 +920,13 @@ aesni_ccm64_encrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks .globl aesni_ccm64_decrypt_blocks .type aesni_ccm64_decrypt_blocks,@function .align 16 aesni_ccm64_decrypt_blocks: +.cfi_startproc movl 240(%rcx),%eax movups (%r8),%xmm6 movdqu (%r9),%xmm3 @@ -1016,6 +1019,7 @@ aesni_ccm64_decrypt_blocks: pxor %xmm8,%xmm8 pxor %xmm6,%xmm6 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks .globl aesni_ctr32_encrypt_blocks .type aesni_ctr32_encrypt_blocks,@function @@ -2790,6 +2794,7 @@ aesni_ocb_encrypt: .type __ocb_encrypt6,@function .align 32 __ocb_encrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2887,11 +2892,13 @@ __ocb_encrypt6: .byte 102,65,15,56,221,246 .byte 102,65,15,56,221,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt6,.-__ocb_encrypt6 .type __ocb_encrypt4,@function .align 32 __ocb_encrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -2956,11 +2963,13 @@ __ocb_encrypt4: .byte 102,65,15,56,221,228 .byte 102,65,15,56,221,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt4,.-__ocb_encrypt4 .type __ocb_encrypt1,@function .align 32 __ocb_encrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm2,%xmm8 @@ -2991,6 +3000,7 @@ __ocb_encrypt1: .byte 102,15,56,221,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_encrypt1,.-__ocb_encrypt1 .globl aesni_ocb_decrypt @@ -3233,6 +3243,7 @@ aesni_ocb_decrypt: .type __ocb_decrypt6,@function .align 32 __ocb_decrypt6: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3324,11 +3335,13 @@ __ocb_decrypt6: .byte 102,65,15,56,223,246 .byte 102,65,15,56,223,255 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt6,.-__ocb_decrypt6 .type __ocb_decrypt4,@function .align 32 __ocb_decrypt4: +.cfi_startproc pxor %xmm9,%xmm15 movdqu (%rbx,%r12,1),%xmm11 movdqa %xmm10,%xmm12 @@ -3389,11 +3402,13 @@ __ocb_decrypt4: .byte 102,65,15,56,223,228 .byte 102,65,15,56,223,237 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt4,.-__ocb_decrypt4 .type __ocb_decrypt1,@function .align 32 __ocb_decrypt1: +.cfi_startproc pxor %xmm15,%xmm7 pxor %xmm9,%xmm7 pxor %xmm7,%xmm2 @@ -3423,6 +3438,7 @@ __ocb_decrypt1: .byte 102,15,56,223,215 .byte 0xf3,0xc3 +.cfi_endproc .size __ocb_decrypt1,.-__ocb_decrypt1 .globl aesni_cbc_encrypt .type aesni_cbc_encrypt,@function @@ -4361,7 +4377,6 @@ __aesni_set_encrypt_key: addq $8,%rsp .cfi_adjust_cfa_offset -8 .byte 0xf3,0xc3 -.cfi_endproc .LSEH_end_set_encrypt_key: .align 16 @@ -4432,6 +4447,7 @@ __aesni_set_encrypt_key: shufps $170,%xmm1,%xmm1 xorps %xmm1,%xmm2 .byte 0xf3,0xc3 +.cfi_endproc .size aesni_set_encrypt_key,.-aesni_set_encrypt_key .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key .align 64 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/bsaes-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/bsaes-x86_64.s deleted file mode 100644 index e1f3abadbc7214..00000000000000 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/aes/bsaes-x86_64.s +++ /dev/null @@ -1,2595 +0,0 @@ -.text - - - - -.type _bsaes_encrypt8,@function -.align 64 -_bsaes_encrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa 80(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 -_bsaes_encrypt8_bitslice: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Lenc_sbox -.align 16 -.Lenc_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Lenc_sbox: - pxor %xmm5,%xmm4 - pxor %xmm0,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm1,%xmm5 - pxor %xmm15,%xmm4 - - pxor %xmm2,%xmm5 - pxor %xmm6,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm3,%xmm2 - pxor %xmm4,%xmm3 - pxor %xmm0,%xmm2 - - pxor %xmm6,%xmm1 - pxor %xmm4,%xmm0 - movdqa %xmm6,%xmm10 - movdqa %xmm0,%xmm9 - movdqa %xmm4,%xmm8 - movdqa %xmm1,%xmm12 - movdqa %xmm5,%xmm11 - - pxor %xmm3,%xmm10 - pxor %xmm1,%xmm9 - pxor %xmm2,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm3,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm15,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm2,%xmm11 - pxor %xmm15,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm6,%xmm12 - movdqa %xmm4,%xmm11 - pxor %xmm0,%xmm12 - pxor %xmm5,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm1,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm3,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm0,%xmm13 - pand %xmm2,%xmm11 - movdqa %xmm6,%xmm14 - pand %xmm15,%xmm12 - pand %xmm4,%xmm13 - por %xmm5,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm5,%xmm11 - movdqa %xmm4,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm5,%xmm9 - pxor %xmm4,%xmm5 - pand %xmm14,%xmm4 - pand %xmm13,%xmm5 - pxor %xmm4,%xmm5 - pxor %xmm9,%xmm4 - pxor %xmm15,%xmm11 - pxor %xmm2,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm2,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm2 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm2,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm2 - pxor %xmm11,%xmm5 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm2 - - movdqa %xmm6,%xmm11 - movdqa %xmm0,%xmm7 - pxor %xmm3,%xmm11 - pxor %xmm1,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm3,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm1,%xmm3 - pand %xmm14,%xmm7 - pand %xmm12,%xmm1 - pand %xmm13,%xmm11 - pand %xmm8,%xmm3 - pxor %xmm11,%xmm7 - pxor %xmm1,%xmm3 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm1 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm6,%xmm10 - pxor %xmm0,%xmm6 - pand %xmm14,%xmm0 - pand %xmm13,%xmm6 - pxor %xmm0,%xmm6 - pxor %xmm10,%xmm0 - pxor %xmm11,%xmm6 - pxor %xmm11,%xmm3 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm1 - pxor %xmm15,%xmm6 - pxor %xmm5,%xmm0 - pxor %xmm6,%xmm3 - pxor %xmm15,%xmm5 - pxor %xmm0,%xmm15 - - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm4 - pxor %xmm2,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm4,%xmm3 - - pxor %xmm2,%xmm5 - decl %r10d - jl .Lenc_done - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm3,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm5,%xmm10 - pxor %xmm9,%xmm3 - pshufd $0x93,%xmm2,%xmm11 - pxor %xmm10,%xmm5 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm2 - pshufd $0x93,%xmm1,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm1 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm2,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm5,%xmm11 - pshufd $0x4E,%xmm2,%xmm7 - pxor %xmm1,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm3,%xmm10 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm1,%xmm5 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm12,%xmm8 - pxor %xmm10,%xmm2 - pxor %xmm14,%xmm6 - pxor %xmm13,%xmm5 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm1 - movdqa %xmm8,%xmm4 - movdqa 48(%r11),%xmm7 - jnz .Lenc_loop - movdqa 64(%r11),%xmm7 - jmp .Lenc_loop -.align 16 -.Lenc_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm2,%xmm10 - psrlq $1,%xmm2 - pxor %xmm4,%xmm1 - pxor %xmm6,%xmm2 - pand %xmm7,%xmm1 - pand %xmm7,%xmm2 - pxor %xmm1,%xmm4 - psllq $1,%xmm1 - pxor %xmm2,%xmm6 - psllq $1,%xmm2 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm2 - movdqa %xmm3,%xmm9 - psrlq $1,%xmm3 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm5,%xmm3 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm3 - pand %xmm7,%xmm15 - pxor %xmm3,%xmm5 - psllq $1,%xmm3 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm2,%xmm10 - psrlq $2,%xmm2 - pxor %xmm4,%xmm6 - pxor %xmm1,%xmm2 - pand %xmm8,%xmm6 - pand %xmm8,%xmm2 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm2,%xmm1 - psllq $2,%xmm2 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm2 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm5,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm5 - psllq $2,%xmm0 - pxor %xmm15,%xmm3 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm5,%xmm9 - psrlq $4,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $4,%xmm3 - pxor %xmm4,%xmm5 - pxor %xmm1,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm4 - psllq $4,%xmm5 - pxor %xmm3,%xmm1 - psllq $4,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm2,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm2 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_encrypt8,.-_bsaes_encrypt8 - -.type _bsaes_decrypt8,@function -.align 64 -_bsaes_decrypt8: -.cfi_startproc - leaq .LBS0(%rip),%r11 - - movdqa (%rax),%xmm8 - leaq 16(%rax),%rax - movdqa -48(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm3,%xmm10 - psrlq $1,%xmm3 - pxor %xmm6,%xmm5 - pxor %xmm4,%xmm3 - pand %xmm7,%xmm5 - pand %xmm7,%xmm3 - pxor %xmm5,%xmm6 - psllq $1,%xmm5 - pxor %xmm3,%xmm4 - psllq $1,%xmm3 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm3 - movdqa %xmm1,%xmm9 - psrlq $1,%xmm1 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm1 - pand %xmm7,%xmm15 - pxor %xmm1,%xmm2 - psllq $1,%xmm1 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm1 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm4,%xmm9 - psrlq $2,%xmm4 - movdqa %xmm3,%xmm10 - psrlq $2,%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm3 - pand %xmm8,%xmm4 - pand %xmm8,%xmm3 - pxor %xmm4,%xmm6 - psllq $2,%xmm4 - pxor %xmm3,%xmm5 - psllq $2,%xmm3 - pxor %xmm9,%xmm4 - pxor %xmm10,%xmm3 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm2,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm2 - psllq $2,%xmm0 - pxor %xmm15,%xmm1 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm2,%xmm9 - psrlq $4,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $4,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm5,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm6 - psllq $4,%xmm2 - pxor %xmm1,%xmm5 - psllq $4,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm4 - psllq $4,%xmm0 - pxor %xmm15,%xmm3 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - decl %r10d - jmp .Ldec_sbox -.align 16 -.Ldec_loop: - pxor 0(%rax),%xmm15 - pxor 16(%rax),%xmm0 - pxor 32(%rax),%xmm1 - pxor 48(%rax),%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor 64(%rax),%xmm3 - pxor 80(%rax),%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor 96(%rax),%xmm5 - pxor 112(%rax),%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq 128(%rax),%rax -.Ldec_sbox: - pxor %xmm3,%xmm2 - - pxor %xmm6,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm3,%xmm5 - pxor %xmm5,%xmm6 - pxor %xmm6,%xmm0 - - pxor %xmm0,%xmm15 - pxor %xmm4,%xmm1 - pxor %xmm15,%xmm2 - pxor %xmm15,%xmm4 - pxor %xmm2,%xmm0 - movdqa %xmm2,%xmm10 - movdqa %xmm6,%xmm9 - movdqa %xmm0,%xmm8 - movdqa %xmm3,%xmm12 - movdqa %xmm4,%xmm11 - - pxor %xmm15,%xmm10 - pxor %xmm3,%xmm9 - pxor %xmm5,%xmm8 - movdqa %xmm10,%xmm13 - pxor %xmm15,%xmm12 - movdqa %xmm9,%xmm7 - pxor %xmm1,%xmm11 - movdqa %xmm10,%xmm14 - - por %xmm8,%xmm9 - por %xmm11,%xmm10 - pxor %xmm7,%xmm14 - pand %xmm11,%xmm13 - pxor %xmm8,%xmm11 - pand %xmm8,%xmm7 - pand %xmm11,%xmm14 - movdqa %xmm5,%xmm11 - pxor %xmm1,%xmm11 - pand %xmm11,%xmm12 - pxor %xmm12,%xmm10 - pxor %xmm12,%xmm9 - movdqa %xmm2,%xmm12 - movdqa %xmm0,%xmm11 - pxor %xmm6,%xmm12 - pxor %xmm4,%xmm11 - movdqa %xmm12,%xmm8 - pand %xmm11,%xmm12 - por %xmm11,%xmm8 - pxor %xmm12,%xmm7 - pxor %xmm14,%xmm10 - pxor %xmm13,%xmm9 - pxor %xmm14,%xmm8 - movdqa %xmm3,%xmm11 - pxor %xmm13,%xmm7 - movdqa %xmm15,%xmm12 - pxor %xmm13,%xmm8 - movdqa %xmm6,%xmm13 - pand %xmm5,%xmm11 - movdqa %xmm2,%xmm14 - pand %xmm1,%xmm12 - pand %xmm0,%xmm13 - por %xmm4,%xmm14 - pxor %xmm11,%xmm10 - pxor %xmm12,%xmm9 - pxor %xmm13,%xmm8 - pxor %xmm14,%xmm7 - - - - - - movdqa %xmm10,%xmm11 - pand %xmm8,%xmm10 - pxor %xmm9,%xmm11 - - movdqa %xmm7,%xmm13 - movdqa %xmm11,%xmm14 - pxor %xmm10,%xmm13 - pand %xmm13,%xmm14 - - movdqa %xmm8,%xmm12 - pxor %xmm9,%xmm14 - pxor %xmm7,%xmm12 - - pxor %xmm9,%xmm10 - - pand %xmm10,%xmm12 - - movdqa %xmm13,%xmm9 - pxor %xmm7,%xmm12 - - pxor %xmm12,%xmm9 - pxor %xmm12,%xmm8 - - pand %xmm7,%xmm9 - - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm8 - - pand %xmm14,%xmm13 - - pxor %xmm11,%xmm13 - movdqa %xmm4,%xmm11 - movdqa %xmm0,%xmm7 - movdqa %xmm14,%xmm9 - pxor %xmm13,%xmm9 - pand %xmm4,%xmm9 - pxor %xmm0,%xmm4 - pand %xmm14,%xmm0 - pand %xmm13,%xmm4 - pxor %xmm0,%xmm4 - pxor %xmm9,%xmm0 - pxor %xmm1,%xmm11 - pxor %xmm5,%xmm7 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm1,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm5,%xmm1 - pand %xmm14,%xmm7 - pand %xmm12,%xmm5 - pand %xmm13,%xmm11 - pand %xmm8,%xmm1 - pxor %xmm11,%xmm7 - pxor %xmm5,%xmm1 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm5 - pxor %xmm11,%xmm4 - pxor %xmm11,%xmm1 - pxor %xmm7,%xmm0 - pxor %xmm7,%xmm5 - - movdqa %xmm2,%xmm11 - movdqa %xmm6,%xmm7 - pxor %xmm15,%xmm11 - pxor %xmm3,%xmm7 - movdqa %xmm14,%xmm10 - movdqa %xmm12,%xmm9 - pxor %xmm13,%xmm10 - pxor %xmm8,%xmm9 - pand %xmm11,%xmm10 - pand %xmm15,%xmm9 - pxor %xmm7,%xmm11 - pxor %xmm3,%xmm15 - pand %xmm14,%xmm7 - pand %xmm12,%xmm3 - pand %xmm13,%xmm11 - pand %xmm8,%xmm15 - pxor %xmm11,%xmm7 - pxor %xmm3,%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm9,%xmm3 - pxor %xmm12,%xmm14 - pxor %xmm8,%xmm13 - movdqa %xmm14,%xmm10 - pxor %xmm13,%xmm10 - pand %xmm2,%xmm10 - pxor %xmm6,%xmm2 - pand %xmm14,%xmm6 - pand %xmm13,%xmm2 - pxor %xmm6,%xmm2 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm11,%xmm15 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm3 - pxor %xmm6,%xmm0 - pxor %xmm4,%xmm5 - - pxor %xmm0,%xmm3 - pxor %xmm6,%xmm1 - pxor %xmm6,%xmm4 - pxor %xmm1,%xmm3 - pxor %xmm15,%xmm6 - pxor %xmm4,%xmm3 - pxor %xmm5,%xmm2 - pxor %xmm0,%xmm5 - pxor %xmm3,%xmm2 - - pxor %xmm15,%xmm3 - pxor %xmm2,%xmm6 - decl %r10d - jl .Ldec_done - - pshufd $0x4E,%xmm15,%xmm7 - pshufd $0x4E,%xmm2,%xmm13 - pxor %xmm15,%xmm7 - pshufd $0x4E,%xmm4,%xmm14 - pxor %xmm2,%xmm13 - pshufd $0x4E,%xmm0,%xmm8 - pxor %xmm4,%xmm14 - pshufd $0x4E,%xmm5,%xmm9 - pxor %xmm0,%xmm8 - pshufd $0x4E,%xmm3,%xmm10 - pxor %xmm5,%xmm9 - pxor %xmm13,%xmm15 - pxor %xmm13,%xmm0 - pshufd $0x4E,%xmm1,%xmm11 - pxor %xmm3,%xmm10 - pxor %xmm7,%xmm5 - pxor %xmm8,%xmm3 - pshufd $0x4E,%xmm6,%xmm12 - pxor %xmm1,%xmm11 - pxor %xmm14,%xmm0 - pxor %xmm9,%xmm1 - pxor %xmm6,%xmm12 - - pxor %xmm14,%xmm5 - pxor %xmm13,%xmm3 - pxor %xmm13,%xmm1 - pxor %xmm10,%xmm6 - pxor %xmm11,%xmm2 - pxor %xmm14,%xmm1 - pxor %xmm14,%xmm6 - pxor %xmm12,%xmm4 - pshufd $0x93,%xmm15,%xmm7 - pshufd $0x93,%xmm0,%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x93,%xmm5,%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x93,%xmm3,%xmm10 - pxor %xmm9,%xmm5 - pshufd $0x93,%xmm1,%xmm11 - pxor %xmm10,%xmm3 - pshufd $0x93,%xmm6,%xmm12 - pxor %xmm11,%xmm1 - pshufd $0x93,%xmm2,%xmm13 - pxor %xmm12,%xmm6 - pshufd $0x93,%xmm4,%xmm14 - pxor %xmm13,%xmm2 - pxor %xmm14,%xmm4 - - pxor %xmm15,%xmm8 - pxor %xmm4,%xmm7 - pxor %xmm4,%xmm8 - pshufd $0x4E,%xmm15,%xmm15 - pxor %xmm0,%xmm9 - pshufd $0x4E,%xmm0,%xmm0 - pxor %xmm1,%xmm12 - pxor %xmm7,%xmm15 - pxor %xmm6,%xmm13 - pxor %xmm8,%xmm0 - pxor %xmm3,%xmm11 - pshufd $0x4E,%xmm1,%xmm7 - pxor %xmm2,%xmm14 - pshufd $0x4E,%xmm6,%xmm8 - pxor %xmm5,%xmm10 - pshufd $0x4E,%xmm3,%xmm1 - pxor %xmm4,%xmm10 - pshufd $0x4E,%xmm4,%xmm6 - pxor %xmm4,%xmm11 - pshufd $0x4E,%xmm2,%xmm3 - pxor %xmm11,%xmm7 - pshufd $0x4E,%xmm5,%xmm2 - pxor %xmm12,%xmm8 - pxor %xmm1,%xmm10 - pxor %xmm14,%xmm6 - pxor %xmm3,%xmm13 - movdqa %xmm7,%xmm3 - pxor %xmm9,%xmm2 - movdqa %xmm13,%xmm5 - movdqa %xmm8,%xmm4 - movdqa %xmm2,%xmm1 - movdqa %xmm10,%xmm2 - movdqa -16(%r11),%xmm7 - jnz .Ldec_loop - movdqa -32(%r11),%xmm7 - jmp .Ldec_loop -.align 16 -.Ldec_done: - movdqa 0(%r11),%xmm7 - movdqa 16(%r11),%xmm8 - movdqa %xmm2,%xmm9 - psrlq $1,%xmm2 - movdqa %xmm1,%xmm10 - psrlq $1,%xmm1 - pxor %xmm4,%xmm2 - pxor %xmm6,%xmm1 - pand %xmm7,%xmm2 - pand %xmm7,%xmm1 - pxor %xmm2,%xmm4 - psllq $1,%xmm2 - pxor %xmm1,%xmm6 - psllq $1,%xmm1 - pxor %xmm9,%xmm2 - pxor %xmm10,%xmm1 - movdqa %xmm5,%xmm9 - psrlq $1,%xmm5 - movdqa %xmm15,%xmm10 - psrlq $1,%xmm15 - pxor %xmm3,%xmm5 - pxor %xmm0,%xmm15 - pand %xmm7,%xmm5 - pand %xmm7,%xmm15 - pxor %xmm5,%xmm3 - psllq $1,%xmm5 - pxor %xmm15,%xmm0 - psllq $1,%xmm15 - pxor %xmm9,%xmm5 - pxor %xmm10,%xmm15 - movdqa 32(%r11),%xmm7 - movdqa %xmm6,%xmm9 - psrlq $2,%xmm6 - movdqa %xmm1,%xmm10 - psrlq $2,%xmm1 - pxor %xmm4,%xmm6 - pxor %xmm2,%xmm1 - pand %xmm8,%xmm6 - pand %xmm8,%xmm1 - pxor %xmm6,%xmm4 - psllq $2,%xmm6 - pxor %xmm1,%xmm2 - psllq $2,%xmm1 - pxor %xmm9,%xmm6 - pxor %xmm10,%xmm1 - movdqa %xmm0,%xmm9 - psrlq $2,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $2,%xmm15 - pxor %xmm3,%xmm0 - pxor %xmm5,%xmm15 - pand %xmm8,%xmm0 - pand %xmm8,%xmm15 - pxor %xmm0,%xmm3 - psllq $2,%xmm0 - pxor %xmm15,%xmm5 - psllq $2,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa %xmm3,%xmm9 - psrlq $4,%xmm3 - movdqa %xmm5,%xmm10 - psrlq $4,%xmm5 - pxor %xmm4,%xmm3 - pxor %xmm2,%xmm5 - pand %xmm7,%xmm3 - pand %xmm7,%xmm5 - pxor %xmm3,%xmm4 - psllq $4,%xmm3 - pxor %xmm5,%xmm2 - psllq $4,%xmm5 - pxor %xmm9,%xmm3 - pxor %xmm10,%xmm5 - movdqa %xmm0,%xmm9 - psrlq $4,%xmm0 - movdqa %xmm15,%xmm10 - psrlq $4,%xmm15 - pxor %xmm6,%xmm0 - pxor %xmm1,%xmm15 - pand %xmm7,%xmm0 - pand %xmm7,%xmm15 - pxor %xmm0,%xmm6 - psllq $4,%xmm0 - pxor %xmm15,%xmm1 - psllq $4,%xmm15 - pxor %xmm9,%xmm0 - pxor %xmm10,%xmm15 - movdqa (%rax),%xmm7 - pxor %xmm7,%xmm5 - pxor %xmm7,%xmm3 - pxor %xmm7,%xmm1 - pxor %xmm7,%xmm6 - pxor %xmm7,%xmm2 - pxor %xmm7,%xmm4 - pxor %xmm7,%xmm15 - pxor %xmm7,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_decrypt8,.-_bsaes_decrypt8 -.type _bsaes_key_convert,@function -.align 16 -_bsaes_key_convert: -.cfi_startproc - leaq .Lmasks(%rip),%r11 - movdqu (%rcx),%xmm7 - leaq 16(%rcx),%rcx - movdqa 0(%r11),%xmm0 - movdqa 16(%r11),%xmm1 - movdqa 32(%r11),%xmm2 - movdqa 48(%r11),%xmm3 - movdqa 64(%r11),%xmm4 - pcmpeqd %xmm5,%xmm5 - - movdqu (%rcx),%xmm6 - movdqa %xmm7,(%rax) - leaq 16(%rax),%rax - decl %r10d - jmp .Lkey_loop -.align 16 -.Lkey_loop: -.byte 102,15,56,0,244 - - movdqa %xmm0,%xmm8 - movdqa %xmm1,%xmm9 - - pand %xmm6,%xmm8 - pand %xmm6,%xmm9 - movdqa %xmm2,%xmm10 - pcmpeqb %xmm0,%xmm8 - psllq $4,%xmm0 - movdqa %xmm3,%xmm11 - pcmpeqb %xmm1,%xmm9 - psllq $4,%xmm1 - - pand %xmm6,%xmm10 - pand %xmm6,%xmm11 - movdqa %xmm0,%xmm12 - pcmpeqb %xmm2,%xmm10 - psllq $4,%xmm2 - movdqa %xmm1,%xmm13 - pcmpeqb %xmm3,%xmm11 - psllq $4,%xmm3 - - movdqa %xmm2,%xmm14 - movdqa %xmm3,%xmm15 - pxor %xmm5,%xmm8 - pxor %xmm5,%xmm9 - - pand %xmm6,%xmm12 - pand %xmm6,%xmm13 - movdqa %xmm8,0(%rax) - pcmpeqb %xmm0,%xmm12 - psrlq $4,%xmm0 - movdqa %xmm9,16(%rax) - pcmpeqb %xmm1,%xmm13 - psrlq $4,%xmm1 - leaq 16(%rcx),%rcx - - pand %xmm6,%xmm14 - pand %xmm6,%xmm15 - movdqa %xmm10,32(%rax) - pcmpeqb %xmm2,%xmm14 - psrlq $4,%xmm2 - movdqa %xmm11,48(%rax) - pcmpeqb %xmm3,%xmm15 - psrlq $4,%xmm3 - movdqu (%rcx),%xmm6 - - pxor %xmm5,%xmm13 - pxor %xmm5,%xmm14 - movdqa %xmm12,64(%rax) - movdqa %xmm13,80(%rax) - movdqa %xmm14,96(%rax) - movdqa %xmm15,112(%rax) - leaq 128(%rax),%rax - decl %r10d - jnz .Lkey_loop - - movdqa 80(%r11),%xmm7 - - .byte 0xf3,0xc3 -.cfi_endproc -.size _bsaes_key_convert,.-_bsaes_key_convert - -.globl bsaes_cbc_encrypt -.type bsaes_cbc_encrypt,@function -.align 16 -bsaes_cbc_encrypt: -.cfi_startproc - cmpl $0,%r9d - jne asm_AES_cbc_encrypt - cmpq $128,%rdx - jb asm_AES_cbc_encrypt - - movq %rsp,%rax -.Lcbc_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movq %r8,%rbx - shrq $4,%r14 - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - movdqu (%rbx),%xmm14 - subq $8,%r14 -.Lcbc_dec_loop: - movdqu 0(%r12),%xmm15 - movdqu 16(%r12),%xmm0 - movdqu 32(%r12),%xmm1 - movdqu 48(%r12),%xmm2 - movdqu 64(%r12),%xmm3 - movdqu 80(%r12),%xmm4 - movq %rsp,%rax - movdqu 96(%r12),%xmm5 - movl %edx,%r10d - movdqu 112(%r12),%xmm6 - movdqa %xmm14,32(%rbp) - - call _bsaes_decrypt8 - - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm2 - movdqu 112(%r12),%xmm14 - pxor %xmm13,%xmm4 - movdqu %xmm15,0(%r13) - leaq 128(%r12),%r12 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - subq $8,%r14 - jnc .Lcbc_dec_loop - - addq $8,%r14 - jz .Lcbc_dec_done - - movdqu 0(%r12),%xmm15 - movq %rsp,%rax - movl %edx,%r10d - cmpq $2,%r14 - jb .Lcbc_dec_one - movdqu 16(%r12),%xmm0 - je .Lcbc_dec_two - movdqu 32(%r12),%xmm1 - cmpq $4,%r14 - jb .Lcbc_dec_three - movdqu 48(%r12),%xmm2 - je .Lcbc_dec_four - movdqu 64(%r12),%xmm3 - cmpq $6,%r14 - jb .Lcbc_dec_five - movdqu 80(%r12),%xmm4 - je .Lcbc_dec_six - movdqu 96(%r12),%xmm5 - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm6 - movdqu 96(%r12),%xmm14 - pxor %xmm12,%xmm2 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_six: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm1 - movdqu 80(%r12),%xmm14 - pxor %xmm11,%xmm6 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_five: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm3 - movdqu 64(%r12),%xmm14 - pxor %xmm10,%xmm1 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_four: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm5 - movdqu 48(%r12),%xmm14 - pxor %xmm9,%xmm3 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_three: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm0 - movdqu 32(%r12),%xmm14 - pxor %xmm8,%xmm5 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_two: - movdqa %xmm14,32(%rbp) - call _bsaes_decrypt8 - pxor 32(%rbp),%xmm15 - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm14 - pxor %xmm7,%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_one: - leaq (%r12),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm14 - movdqu %xmm14,(%r13) - movdqa %xmm15,%xmm14 - -.Lcbc_dec_done: - movdqu %xmm14,(%rbx) - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lcbc_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lcbc_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lcbc_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_cbc_encrypt,.-bsaes_cbc_encrypt - -.globl bsaes_ctr32_encrypt_blocks -.type bsaes_ctr32_encrypt_blocks,@function -.align 16 -bsaes_ctr32_encrypt_blocks: -.cfi_startproc - movq %rsp,%rax -.Lctr_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movdqu (%r8),%xmm0 - movl 240(%rcx),%eax - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - movdqa %xmm0,32(%rbp) - cmpq $8,%rdx - jb .Lctr_enc_short - - movl %eax,%ebx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %ebx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - movdqa (%rsp),%xmm8 - leaq .LADD1(%rip),%r11 - movdqa 32(%rbp),%xmm15 - movdqa -32(%r11),%xmm7 -.byte 102,68,15,56,0,199 -.byte 102,68,15,56,0,255 - movdqa %xmm8,(%rsp) - jmp .Lctr_enc_loop -.align 16 -.Lctr_enc_loop: - movdqa %xmm15,32(%rbp) - movdqa %xmm15,%xmm0 - movdqa %xmm15,%xmm1 - paddd 0(%r11),%xmm0 - movdqa %xmm15,%xmm2 - paddd 16(%r11),%xmm1 - movdqa %xmm15,%xmm3 - paddd 32(%r11),%xmm2 - movdqa %xmm15,%xmm4 - paddd 48(%r11),%xmm3 - movdqa %xmm15,%xmm5 - paddd 64(%r11),%xmm4 - movdqa %xmm15,%xmm6 - paddd 80(%r11),%xmm5 - paddd 96(%r11),%xmm6 - - - - movdqa (%rsp),%xmm8 - leaq 16(%rsp),%rax - movdqa -16(%r11),%xmm7 - pxor %xmm8,%xmm15 - pxor %xmm8,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm8,%xmm2 -.byte 102,68,15,56,0,255 -.byte 102,15,56,0,199 - pxor %xmm8,%xmm3 - pxor %xmm8,%xmm4 -.byte 102,15,56,0,207 -.byte 102,15,56,0,215 - pxor %xmm8,%xmm5 - pxor %xmm8,%xmm6 -.byte 102,15,56,0,223 -.byte 102,15,56,0,231 -.byte 102,15,56,0,239 -.byte 102,15,56,0,247 - leaq .LBS0(%rip),%r11 - movl %ebx,%r10d - - call _bsaes_encrypt8_bitslice - - subq $8,%r14 - jc .Lctr_enc_loop_done - - movdqu 0(%r12),%xmm7 - movdqu 16(%r12),%xmm8 - movdqu 32(%r12),%xmm9 - movdqu 48(%r12),%xmm10 - movdqu 64(%r12),%xmm11 - movdqu 80(%r12),%xmm12 - movdqu 96(%r12),%xmm13 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - pxor %xmm15,%xmm7 - movdqa 32(%rbp),%xmm15 - pxor %xmm8,%xmm0 - movdqu %xmm7,0(%r13) - pxor %xmm9,%xmm3 - movdqu %xmm0,16(%r13) - pxor %xmm10,%xmm5 - movdqu %xmm3,32(%r13) - pxor %xmm11,%xmm2 - movdqu %xmm5,48(%r13) - pxor %xmm12,%xmm6 - movdqu %xmm2,64(%r13) - pxor %xmm13,%xmm1 - movdqu %xmm6,80(%r13) - pxor %xmm14,%xmm4 - movdqu %xmm1,96(%r13) - leaq .LADD1(%rip),%r11 - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - paddd 112(%r11),%xmm15 - jnz .Lctr_enc_loop - - jmp .Lctr_enc_done -.align 16 -.Lctr_enc_loop_done: - addq $8,%r14 - movdqu 0(%r12),%xmm7 - pxor %xmm7,%xmm15 - movdqu %xmm15,0(%r13) - cmpq $2,%r14 - jb .Lctr_enc_done - movdqu 16(%r12),%xmm8 - pxor %xmm8,%xmm0 - movdqu %xmm0,16(%r13) - je .Lctr_enc_done - movdqu 32(%r12),%xmm9 - pxor %xmm9,%xmm3 - movdqu %xmm3,32(%r13) - cmpq $4,%r14 - jb .Lctr_enc_done - movdqu 48(%r12),%xmm10 - pxor %xmm10,%xmm5 - movdqu %xmm5,48(%r13) - je .Lctr_enc_done - movdqu 64(%r12),%xmm11 - pxor %xmm11,%xmm2 - movdqu %xmm2,64(%r13) - cmpq $6,%r14 - jb .Lctr_enc_done - movdqu 80(%r12),%xmm12 - pxor %xmm12,%xmm6 - movdqu %xmm6,80(%r13) - je .Lctr_enc_done - movdqu 96(%r12),%xmm13 - pxor %xmm13,%xmm1 - movdqu %xmm1,96(%r13) - jmp .Lctr_enc_done - -.align 16 -.Lctr_enc_short: - leaq 32(%rbp),%rdi - leaq 48(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - movdqu (%r12),%xmm0 - leaq 16(%r12),%r12 - movl 44(%rbp),%eax - bswapl %eax - pxor 48(%rbp),%xmm0 - incl %eax - movdqu %xmm0,(%r13) - bswapl %eax - leaq 16(%r13),%r13 - movl %eax,44(%rsp) - decq %r14 - jnz .Lctr_enc_short - -.Lctr_enc_done: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lctr_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lctr_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lctr_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_ctr32_encrypt_blocks,.-bsaes_ctr32_encrypt_blocks -.globl bsaes_xts_encrypt -.type bsaes_xts_encrypt,@function -.align 16 -bsaes_xts_encrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_enc_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp -.cfi_def_cfa_register %rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor %xmm6,%xmm7 - movdqa %xmm7,(%rax) - - andq $-16,%r14 - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_enc_short - jmp .Lxts_enc_loop - -.align 16 -.Lxts_enc_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm1,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_enc_loop - -.Lxts_enc_short: - addq $0x80,%r14 - jz .Lxts_enc_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_enc_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_enc_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_enc_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_enc_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_enc_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_enc_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - pxor 96(%rsp),%xmm1 - movdqu %xmm6,80(%r13) - movdqu %xmm1,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm2,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - pxor 64(%rsp),%xmm2 - movdqu %xmm5,48(%r13) - movdqu %xmm2,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm5 - movdqu %xmm3,32(%r13) - movdqu %xmm5,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm3 - movdqu %xmm0,16(%r13) - movdqu %xmm3,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_encrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_enc_done -.align 16 -.Lxts_enc_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_enc_done: - andl $15,%ebx - jz .Lxts_enc_ret - movq %r13,%rdx - -.Lxts_enc_steal: - movzbl (%r12),%eax - movzbl -16(%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,-16(%rdx) - movb %cl,0(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_enc_steal - - movdqu -16(%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_encrypt - pxor 32(%rbp),%xmm6 - movdqu %xmm6,-16(%r13) - -.Lxts_enc_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_enc_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_enc_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_encrypt,.-bsaes_xts_encrypt - -.globl bsaes_xts_decrypt -.type bsaes_xts_decrypt,@function -.align 16 -bsaes_xts_decrypt: -.cfi_startproc - movq %rsp,%rax -.Lxts_dec_prologue: - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-16 - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -72(%rsp),%rsp -.cfi_adjust_cfa_offset 0x48 - movq %rsp,%rbp - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - movq %rcx,%r15 - - leaq (%r9),%rdi - leaq 32(%rbp),%rsi - leaq (%r8),%rdx - call asm_AES_encrypt - - movl 240(%r15),%eax - movq %r14,%rbx - - movl %eax,%edx - shlq $7,%rax - subq $96,%rax - subq %rax,%rsp - - movq %rsp,%rax - movq %r15,%rcx - movl %edx,%r10d - call _bsaes_key_convert - pxor (%rsp),%xmm7 - movdqa %xmm6,(%rax) - movdqa %xmm7,(%rsp) - - xorl %eax,%eax - andq $-16,%r14 - testl $15,%ebx - setnz %al - shlq $4,%rax - subq %rax,%r14 - - subq $0x80,%rsp - movdqa 32(%rbp),%xmm6 - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - - subq $0x80,%r14 - jc .Lxts_dec_short - jmp .Lxts_dec_loop - -.align 16 -.Lxts_dec_loop: - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqu 112(%r12),%xmm14 - leaq 128(%r12),%r12 - movdqa %xmm6,112(%rsp) - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - pxor %xmm14,%xmm6 - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - pxor 112(%rsp),%xmm4 - movdqu %xmm2,96(%r13) - movdqu %xmm4,112(%r13) - leaq 128(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - - subq $0x80,%r14 - jnc .Lxts_dec_loop - -.Lxts_dec_short: - addq $0x80,%r14 - jz .Lxts_dec_done - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm15 - movdqa %xmm6,0(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm0 - movdqa %xmm6,16(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 0(%r12),%xmm7 - cmpq $16,%r14 - je .Lxts_dec_1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm1 - movdqa %xmm6,32(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 16(%r12),%xmm8 - cmpq $32,%r14 - je .Lxts_dec_2 - pxor %xmm7,%xmm15 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm2 - movdqa %xmm6,48(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 32(%r12),%xmm9 - cmpq $48,%r14 - je .Lxts_dec_3 - pxor %xmm8,%xmm0 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm3 - movdqa %xmm6,64(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 48(%r12),%xmm10 - cmpq $64,%r14 - je .Lxts_dec_4 - pxor %xmm9,%xmm1 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm4 - movdqa %xmm6,80(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 64(%r12),%xmm11 - cmpq $80,%r14 - je .Lxts_dec_5 - pxor %xmm10,%xmm2 - pshufd $0x13,%xmm14,%xmm13 - pxor %xmm14,%xmm14 - movdqa %xmm6,%xmm5 - movdqa %xmm6,96(%rsp) - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - pcmpgtd %xmm6,%xmm14 - pxor %xmm13,%xmm6 - movdqu 80(%r12),%xmm12 - cmpq $96,%r14 - je .Lxts_dec_6 - pxor %xmm11,%xmm3 - movdqu 96(%r12),%xmm13 - pxor %xmm12,%xmm4 - movdqa %xmm6,112(%rsp) - leaq 112(%r12),%r12 - pxor %xmm13,%xmm5 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - pxor 96(%rsp),%xmm2 - movdqu %xmm6,80(%r13) - movdqu %xmm2,96(%r13) - leaq 112(%r13),%r13 - - movdqa 112(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_6: - pxor %xmm11,%xmm3 - leaq 96(%r12),%r12 - pxor %xmm12,%xmm4 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - pxor 80(%rsp),%xmm6 - movdqu %xmm1,64(%r13) - movdqu %xmm6,80(%r13) - leaq 96(%r13),%r13 - - movdqa 96(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_5: - pxor %xmm10,%xmm2 - leaq 80(%r12),%r12 - pxor %xmm11,%xmm3 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - pxor 64(%rsp),%xmm1 - movdqu %xmm3,48(%r13) - movdqu %xmm1,64(%r13) - leaq 80(%r13),%r13 - - movdqa 80(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_4: - pxor %xmm9,%xmm1 - leaq 64(%r12),%r12 - pxor %xmm10,%xmm2 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - pxor 48(%rsp),%xmm3 - movdqu %xmm5,32(%r13) - movdqu %xmm3,48(%r13) - leaq 64(%r13),%r13 - - movdqa 64(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_3: - pxor %xmm8,%xmm0 - leaq 48(%r12),%r12 - pxor %xmm9,%xmm1 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - pxor 32(%rsp),%xmm5 - movdqu %xmm0,16(%r13) - movdqu %xmm5,32(%r13) - leaq 48(%r13),%r13 - - movdqa 48(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_2: - pxor %xmm7,%xmm15 - leaq 32(%r12),%r12 - pxor %xmm8,%xmm0 - leaq 128(%rsp),%rax - movl %edx,%r10d - - call _bsaes_decrypt8 - - pxor 0(%rsp),%xmm15 - pxor 16(%rsp),%xmm0 - movdqu %xmm15,0(%r13) - movdqu %xmm0,16(%r13) - leaq 32(%r13),%r13 - - movdqa 32(%rsp),%xmm6 - jmp .Lxts_dec_done -.align 16 -.Lxts_dec_1: - pxor %xmm15,%xmm7 - leaq 16(%r12),%r12 - movdqa %xmm7,32(%rbp) - leaq 32(%rbp),%rdi - leaq 32(%rbp),%rsi - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm15 - - - - - - movdqu %xmm15,0(%r13) - leaq 16(%r13),%r13 - - movdqa 16(%rsp),%xmm6 - -.Lxts_dec_done: - andl $15,%ebx - jz .Lxts_dec_ret - - pxor %xmm14,%xmm14 - movdqa .Lxts_magic(%rip),%xmm12 - pcmpgtd %xmm6,%xmm14 - pshufd $0x13,%xmm14,%xmm13 - movdqa %xmm6,%xmm5 - paddq %xmm6,%xmm6 - pand %xmm12,%xmm13 - movdqu (%r12),%xmm15 - pxor %xmm13,%xmm6 - - leaq 32(%rbp),%rdi - pxor %xmm6,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm6 - movq %r13,%rdx - movdqu %xmm6,(%r13) - -.Lxts_dec_steal: - movzbl 16(%r12),%eax - movzbl (%rdx),%ecx - leaq 1(%r12),%r12 - movb %al,(%rdx) - movb %cl,16(%rdx) - leaq 1(%rdx),%rdx - subl $1,%ebx - jnz .Lxts_dec_steal - - movdqu (%r13),%xmm15 - leaq 32(%rbp),%rdi - pxor %xmm5,%xmm15 - leaq 32(%rbp),%rsi - movdqa %xmm15,32(%rbp) - leaq (%r15),%rdx - call asm_AES_decrypt - pxor 32(%rbp),%xmm5 - movdqu %xmm5,(%r13) - -.Lxts_dec_ret: - leaq (%rsp),%rax - pxor %xmm0,%xmm0 -.Lxts_dec_bzero: - movdqa %xmm0,0(%rax) - movdqa %xmm0,16(%rax) - leaq 32(%rax),%rax - cmpq %rax,%rbp - ja .Lxts_dec_bzero - - leaq 120(%rbp),%rax -.cfi_def_cfa %rax,8 - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbx -.cfi_restore %rbx - movq -8(%rax),%rbp -.cfi_restore %rbp - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lxts_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size bsaes_xts_decrypt,.-bsaes_xts_decrypt -.type _bsaes_const,@object -.align 64 -_bsaes_const: -.LM0ISR: -.quad 0x0a0e0206070b0f03, 0x0004080c0d010509 -.LISRM0: -.quad 0x01040b0e0205080f, 0x0306090c00070a0d -.LISR: -.quad 0x0504070602010003, 0x0f0e0d0c080b0a09 -.LBS0: -.quad 0x5555555555555555, 0x5555555555555555 -.LBS1: -.quad 0x3333333333333333, 0x3333333333333333 -.LBS2: -.quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f -.LSR: -.quad 0x0504070600030201, 0x0f0e0d0c0a09080b -.LSRM0: -.quad 0x0304090e00050a0f, 0x01060b0c0207080d -.LM0SR: -.quad 0x0a0e02060f03070b, 0x0004080c05090d01 -.LSWPUP: -.quad 0x0706050403020100, 0x0c0d0e0f0b0a0908 -.LSWPUPM0SR: -.quad 0x0a0d02060c03070b, 0x0004080f05090e01 -.LADD1: -.quad 0x0000000000000000, 0x0000000100000000 -.LADD2: -.quad 0x0000000000000000, 0x0000000200000000 -.LADD3: -.quad 0x0000000000000000, 0x0000000300000000 -.LADD4: -.quad 0x0000000000000000, 0x0000000400000000 -.LADD5: -.quad 0x0000000000000000, 0x0000000500000000 -.LADD6: -.quad 0x0000000000000000, 0x0000000600000000 -.LADD7: -.quad 0x0000000000000000, 0x0000000700000000 -.LADD8: -.quad 0x0000000000000000, 0x0000000800000000 -.Lxts_magic: -.long 0x87,0,1,0 -.Lmasks: -.quad 0x0101010101010101, 0x0101010101010101 -.quad 0x0202020202020202, 0x0202020202020202 -.quad 0x0404040404040404, 0x0404040404040404 -.quad 0x0808080808080808, 0x0808080808080808 -.LM0: -.quad 0x02060a0e03070b0f, 0x0004080c0105090d -.L63: -.quad 0x6363636363636363, 0x6363636363636363 -.byte 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44,32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32,65,110,100,121,32,80,111,108,121,97,107,111,118,0 -.align 64 -.size _bsaes_const,.-_bsaes_const diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/bn/rsaz-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/bn/rsaz-x86_64.s index f8e4a805887366..7876e0b8f93d9c 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/bn/rsaz-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/bn/rsaz-x86_64.s @@ -29,7 +29,7 @@ rsaz_512_sqr: subq $128+24,%rsp .cfi_adjust_cfa_offset 128+24 .Lsqr_body: - movq %rdx,%rbp +.byte 102,72,15,110,202 movq (%rsi),%rdx movq 8(%rsi),%rax movq %rcx,128(%rsp) @@ -44,6 +44,7 @@ rsaz_512_sqr: movl %r8d,128+8(%rsp) movq %rdx,%rbx + movq %rax,%rbp mulq %rdx movq %rax,%r8 movq 16(%rsi),%rax @@ -82,31 +83,29 @@ rsaz_512_sqr: mulq %rbx addq %rax,%r14 movq %rbx,%rax - movq %rdx,%r15 - adcq $0,%r15 + adcq $0,%rdx + xorq %rcx,%rcx addq %r8,%r8 - movq %r9,%rcx - adcq %r9,%r9 + movq %rdx,%r15 + adcq $0,%rcx mulq %rax - movq %rax,(%rsp) - addq %rdx,%r8 - adcq $0,%r9 + addq %r8,%rdx + adcq $0,%rcx - movq %r8,8(%rsp) - shrq $63,%rcx + movq %rax,(%rsp) + movq %rdx,8(%rsp) - movq 8(%rsi),%r8 movq 16(%rsi),%rax - mulq %r8 + mulq %rbp addq %rax,%r10 movq 24(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r11 movq 32(%rsi),%rax adcq $0,%rdx @@ -114,7 +113,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r12 movq 40(%rsi),%rax adcq $0,%rdx @@ -122,7 +121,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r13 movq 48(%rsi),%rax adcq $0,%rdx @@ -130,7 +129,7 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r14 movq 56(%rsi),%rax adcq $0,%rdx @@ -138,39 +137,39 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx - mulq %r8 + mulq %rbp addq %rax,%r15 - movq %r8,%rax + movq %rbp,%rax adcq $0,%rdx addq %rbx,%r15 - movq %rdx,%r8 - movq %r10,%rdx - adcq $0,%r8 + adcq $0,%rdx - addq %rdx,%rdx - leaq (%rcx,%r10,2),%r10 - movq %r11,%rbx - adcq %r11,%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r8 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax + movq 16(%rsi),%rbp addq %rax,%r9 + movq 24(%rsi),%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,16(%rsp) movq %r10,24(%rsp) - shrq $63,%rbx - movq 16(%rsi),%r9 - movq 24(%rsi),%rax - mulq %r9 + mulq %rbp addq %rax,%r12 movq 32(%rsi),%rax movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r13 movq 40(%rsi),%rax adcq $0,%rdx @@ -178,7 +177,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 + mulq %rbp addq %rax,%r14 movq 48(%rsi),%rax adcq $0,%rdx @@ -186,9 +185,7 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - movq %r12,%r10 - leaq (%rbx,%r12,2),%r12 + mulq %rbp addq %rax,%r15 movq 56(%rsi),%rax adcq $0,%rdx @@ -196,36 +193,40 @@ rsaz_512_sqr: movq %rdx,%rcx adcq $0,%rcx - mulq %r9 - shrq $63,%r10 + mulq %rbp addq %rax,%r8 - movq %r9,%rax + movq %rbp,%rax adcq $0,%rdx addq %rcx,%r8 - movq %rdx,%r9 - adcq $0,%r9 + adcq $0,%rdx - movq %r13,%rcx - leaq (%r10,%r13,2),%r13 + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r9 + adcq %r12,%r12 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax + movq 24(%rsi),%r10 addq %rax,%r11 + movq 32(%rsi),%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,32(%rsp) movq %r12,40(%rsp) - shrq $63,%rcx - movq 24(%rsi),%r10 - movq 32(%rsi),%rax + movq %rax,%r11 mulq %r10 addq %rax,%r14 movq 40(%rsi),%rax movq %rdx,%rbx adcq $0,%rbx + movq %rax,%r12 mulq %r10 addq %rax,%r15 movq 48(%rsi),%rax @@ -234,9 +235,8 @@ rsaz_512_sqr: movq %rdx,%rbx adcq $0,%rbx + movq %rax,%rbp mulq %r10 - movq %r14,%r12 - leaq (%rcx,%r14,2),%r14 addq %rax,%r8 movq 56(%rsi),%rax adcq $0,%rdx @@ -245,32 +245,33 @@ rsaz_512_sqr: adcq $0,%rbx mulq %r10 - shrq $63,%r12 addq %rax,%r9 movq %r10,%rax adcq $0,%rdx addq %rbx,%r9 - movq %rdx,%r10 - adcq $0,%r10 + adcq $0,%rdx - movq %r15,%rbx - leaq (%r12,%r15,2),%r15 + xorq %rbx,%rbx + addq %r13,%r13 + movq %rdx,%r10 + adcq %r14,%r14 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r13 + movq %r12,%rax adcq %rdx,%r14 - adcq $0,%r15 + adcq $0,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) - shrq $63,%rbx - movq 32(%rsi),%r11 - movq 40(%rsi),%rax mulq %r11 addq %rax,%r8 - movq 48(%rsi),%rax + movq %rbp,%rax movq %rdx,%rcx adcq $0,%rcx @@ -278,97 +279,99 @@ rsaz_512_sqr: addq %rax,%r9 movq 56(%rsi),%rax adcq $0,%rdx - movq %r8,%r12 - leaq (%rbx,%r8,2),%r8 addq %rcx,%r9 movq %rdx,%rcx adcq $0,%rcx + movq %rax,%r14 mulq %r11 - shrq $63,%r12 addq %rax,%r10 movq %r11,%rax adcq $0,%rdx addq %rcx,%r10 - movq %rdx,%r11 - adcq $0,%r11 + adcq $0,%rdx - movq %r9,%rcx - leaq (%r12,%r9,2),%r9 + xorq %rcx,%rcx + addq %r15,%r15 + movq %rdx,%r11 + adcq %r8,%r8 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r15 + movq %rbp,%rax adcq %rdx,%r8 - adcq $0,%r9 + adcq $0,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) - shrq $63,%rcx - movq 40(%rsi),%r12 - movq 48(%rsi),%rax mulq %r12 addq %rax,%r10 - movq 56(%rsi),%rax + movq %r14,%rax movq %rdx,%rbx adcq $0,%rbx mulq %r12 addq %rax,%r11 movq %r12,%rax - movq %r10,%r15 - leaq (%rcx,%r10,2),%r10 adcq $0,%rdx - shrq $63,%r15 addq %rbx,%r11 - movq %rdx,%r12 - adcq $0,%r12 + adcq $0,%rdx - movq %r11,%rbx - leaq (%r15,%r11,2),%r11 + xorq %rbx,%rbx + addq %r9,%r9 + movq %rdx,%r12 + adcq %r10,%r10 + adcq $0,%rbx mulq %rax + + addq %rcx,%rax addq %rax,%r9 + movq %r14,%rax adcq %rdx,%r10 - adcq $0,%r11 + adcq $0,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) - movq 48(%rsi),%r13 - movq 56(%rsi),%rax - mulq %r13 + mulq %rbp addq %rax,%r12 - movq %r13,%rax - movq %rdx,%r13 - adcq $0,%r13 + movq %rbp,%rax + adcq $0,%rdx - xorq %r14,%r14 - shlq $1,%rbx + xorq %rcx,%rcx + addq %r11,%r11 + movq %rdx,%r13 adcq %r12,%r12 - adcq %r13,%r13 - adcq %r14,%r14 + adcq $0,%rcx mulq %rax + + addq %rbx,%rax addq %rax,%r11 + movq %r14,%rax adcq %rdx,%r12 - adcq $0,%r13 + adcq $0,%rcx movq %r11,96(%rsp) movq %r12,104(%rsp) - movq 56(%rsi),%rax - mulq %rax - addq %rax,%r13 - adcq $0,%rdx + xorq %rbx,%rbx + addq %r13,%r13 + adcq $0,%rbx - addq %rdx,%r14 + mulq %rax - movq %r13,112(%rsp) - movq %r14,120(%rsp) + addq %rcx,%rax + addq %r13,%rax + adcq %rbx,%rdx movq (%rsp),%r8 movq 8(%rsp),%r9 @@ -378,6 +381,10 @@ rsaz_512_sqr: movq 40(%rsp),%r13 movq 48(%rsp),%r14 movq 56(%rsp),%r15 +.byte 102,72,15,126,205 + + movq %rax,112(%rsp) + movq %rdx,120(%rsp) call __rsaz_512_reduce @@ -406,9 +413,9 @@ rsaz_512_sqr: .Loop_sqrx: movl %r8d,128+8(%rsp) .byte 102,72,15,110,199 -.byte 102,72,15,110,205 mulxq %rax,%r8,%r9 + movq %rax,%rbx mulxq 16(%rsi),%rcx,%r10 xorq %rbp,%rbp @@ -416,40 +423,39 @@ rsaz_512_sqr: mulxq 24(%rsi),%rax,%r11 adcxq %rcx,%r9 - mulxq 32(%rsi),%rcx,%r12 +.byte 0xc4,0x62,0xf3,0xf6,0xa6,0x20,0x00,0x00,0x00 adcxq %rax,%r10 - mulxq 40(%rsi),%rax,%r13 +.byte 0xc4,0x62,0xfb,0xf6,0xae,0x28,0x00,0x00,0x00 adcxq %rcx,%r11 -.byte 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 + mulxq 48(%rsi),%rcx,%r14 adcxq %rax,%r12 adcxq %rcx,%r13 -.byte 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rax,%r15 adcxq %rax,%r14 adcxq %rbp,%r15 - movq %r9,%rcx - shldq $1,%r8,%r9 - shlq $1,%r8 - - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx - adcxq %rdx,%r8 - movq 8(%rsi),%rdx - adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi + movq %rbx,%rdx + xorq %rcx,%rcx + adoxq %r8,%r8 + adcxq %rdi,%r8 + adoxq %rbp,%rcx + adcxq %rbp,%rcx movq %rax,(%rsp) movq %r8,8(%rsp) - mulxq 16(%rsi),%rax,%rbx +.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x10,0x00,0x00,0x00 adoxq %rax,%r10 adcxq %rbx,%r11 -.byte 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r8 adoxq %rdi,%r11 +.byte 0x66 adcxq %r8,%r12 mulxq 32(%rsi),%rax,%rbx @@ -467,24 +473,25 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 adoxq %rdi,%r15 adcxq %rbp,%r8 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r8 +.byte 0x48,0x8b,0x96,0x10,0x00,0x00,0x00 - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rcx - movq 16(%rsi),%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rcx,%r10 - adcxq %rbp,%r11 + adoxq %rbp,%rbx + adcxq %rdi,%r10 + adcxq %rbp,%rbx movq %r9,16(%rsp) .byte 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 + mulxq 24(%rsi),%rdi,%r9 adoxq %rdi,%r12 adcxq %r9,%r13 @@ -492,7 +499,7 @@ rsaz_512_sqr: adoxq %rax,%r13 adcxq %rcx,%r14 - mulxq 40(%rsi),%rdi,%r9 +.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x28,0x00,0x00,0x00 adoxq %rdi,%r14 adcxq %r9,%r15 @@ -500,27 +507,28 @@ rsaz_512_sqr: adoxq %rax,%r15 adcxq %rcx,%r8 -.byte 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 + mulxq 56(%rsi),%rdi,%r9 adoxq %rdi,%r8 adcxq %rbp,%r9 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r9 + movq 24(%rsi),%rdx - movq %r13,%rcx - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + xorq %rcx,%rcx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 24(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx movq %r11,32(%rsp) -.byte 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 + movq %r12,40(%rsp) -.byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 + mulxq 32(%rsi),%rax,%rbx adoxq %rax,%r14 adcxq %rbx,%r15 @@ -535,25 +543,25 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r10 adoxq %rdi,%r9 adcxq %rbp,%r10 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r10 + movq 32(%rsi),%rdx -.byte 0x66 - movq %r15,%rbx - shldq $1,%r14,%r15 - shldq $1,%rcx,%r14 + xorq %rbx,%rbx + adoxq %r13,%r13 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r14,%r14 adcxq %rax,%r13 - adcxq %rdx,%r14 - movq 32(%rsi),%rdx - adcxq %rbp,%r15 + adoxq %rbp,%rbx + adcxq %rdi,%r14 + adcxq %rbp,%rbx movq %r13,48(%rsp) movq %r14,56(%rsp) -.byte 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 + mulxq 40(%rsi),%rdi,%r11 adoxq %rdi,%r8 adcxq %r11,%r9 @@ -564,18 +572,19 @@ rsaz_512_sqr: mulxq 56(%rsi),%rdi,%r11 adoxq %rdi,%r10 adcxq %rbp,%r11 + mulxq %rdx,%rax,%rdi + movq 40(%rsi),%rdx adoxq %rbp,%r11 - movq %r9,%rcx - shldq $1,%r8,%r9 - shldq $1,%rbx,%r8 + xorq %rcx,%rcx + adoxq %r15,%r15 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r8,%r8 adcxq %rax,%r15 - adcxq %rdx,%r8 - movq 40(%rsi),%rdx - adcxq %rbp,%r9 + adoxq %rbp,%rcx + adcxq %rdi,%r8 + adcxq %rbp,%rcx movq %r15,64(%rsp) movq %r8,72(%rsp) @@ -588,18 +597,19 @@ rsaz_512_sqr: .byte 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 adoxq %rdi,%r11 adcxq %rbp,%r12 + mulxq %rdx,%rax,%rdi adoxq %rbp,%r12 + movq 48(%rsi),%rdx - movq %r11,%rbx - shldq $1,%r10,%r11 - shldq $1,%rcx,%r10 + xorq %rbx,%rbx + adoxq %r9,%r9 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rcx,%rax + adoxq %r10,%r10 adcxq %rax,%r9 - adcxq %rdx,%r10 - movq 48(%rsi),%rdx - adcxq %rbp,%r11 + adcxq %rdi,%r10 + adoxq %rbp,%rbx + adcxq %rbp,%rbx movq %r9,80(%rsp) movq %r10,88(%rsp) @@ -609,31 +619,31 @@ rsaz_512_sqr: adoxq %rax,%r12 adoxq %rbp,%r13 - xorq %r14,%r14 - shldq $1,%r13,%r14 - shldq $1,%r12,%r13 - shldq $1,%rbx,%r12 + mulxq %rdx,%rax,%rdi + xorq %rcx,%rcx + movq 56(%rsi),%rdx + adoxq %r11,%r11 - xorl %ebp,%ebp - mulxq %rdx,%rax,%rdx + adcxq %rbx,%rax + adoxq %r12,%r12 adcxq %rax,%r11 - adcxq %rdx,%r12 - movq 56(%rsi),%rdx - adcxq %rbp,%r13 + adoxq %rbp,%rcx + adcxq %rdi,%r12 + adcxq %rbp,%rcx .byte 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 .byte 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 mulxq %rdx,%rax,%rdx - adoxq %rax,%r13 - adoxq %rbp,%rdx + xorq %rbx,%rbx + adoxq %r13,%r13 -.byte 0x66 - addq %rdx,%r14 + adcxq %rcx,%rax + adoxq %rbp,%rbx + adcxq %r13,%rax + adcxq %rdx,%rbx - movq %r13,112(%rsp) - movq %r14,120(%rsp) .byte 102,72,15,126,199 .byte 102,72,15,126,205 @@ -647,6 +657,9 @@ rsaz_512_sqr: movq 48(%rsp),%r14 movq 56(%rsp),%r15 + movq %rax,112(%rsp) + movq %rbx,120(%rsp) + call __rsaz_512_reducex addq 64(%rsp),%r8 @@ -1440,6 +1453,7 @@ rsaz_512_mul_by_one: .type __rsaz_512_reduce,@function .align 32 __rsaz_512_reduce: +.cfi_startproc movq %r8,%rbx imulq 128+8(%rsp),%rbx movq 0(%rbp),%rax @@ -1519,10 +1533,12 @@ __rsaz_512_reduce: jne .Lreduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reduce,.-__rsaz_512_reduce .type __rsaz_512_reducex,@function .align 32 __rsaz_512_reducex: +.cfi_startproc imulq %r8,%rdx xorq %rsi,%rsi @@ -1575,10 +1591,12 @@ __rsaz_512_reducex: jne .Lreduction_loopx .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_reducex,.-__rsaz_512_reducex .type __rsaz_512_subtract,@function .align 32 __rsaz_512_subtract: +.cfi_startproc movq %r8,(%rdi) movq %r9,8(%rdi) movq %r10,16(%rdi) @@ -1632,10 +1650,12 @@ __rsaz_512_subtract: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_subtract,.-__rsaz_512_subtract .type __rsaz_512_mul,@function .align 32 __rsaz_512_mul: +.cfi_startproc leaq 8(%rsp),%rdi movq (%rsi),%rax @@ -1774,10 +1794,12 @@ __rsaz_512_mul: movq %r15,56(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mul,.-__rsaz_512_mul .type __rsaz_512_mulx,@function .align 32 __rsaz_512_mulx: +.cfi_startproc mulxq (%rsi),%rbx,%r8 movq $-6,%rcx @@ -1894,11 +1916,13 @@ __rsaz_512_mulx: movq %r15,8+64+56(%rsp) .byte 0xf3,0xc3 +.cfi_endproc .size __rsaz_512_mulx,.-__rsaz_512_mulx .globl rsaz_512_scatter4 .type rsaz_512_scatter4,@function .align 16 rsaz_512_scatter4: +.cfi_startproc leaq (%rdi,%rdx,8),%rdi movl $8,%r9d jmp .Loop_scatter @@ -1911,12 +1935,14 @@ rsaz_512_scatter4: decl %r9d jnz .Loop_scatter .byte 0xf3,0xc3 +.cfi_endproc .size rsaz_512_scatter4,.-rsaz_512_scatter4 .globl rsaz_512_gather4 .type rsaz_512_gather4,@function .align 16 rsaz_512_gather4: +.cfi_startproc movd %edx,%xmm8 movdqa .Linc+16(%rip),%xmm1 movdqa .Linc(%rip),%xmm0 @@ -1980,6 +2006,7 @@ rsaz_512_gather4: jnz .Loop_gather .byte 0xf3,0xc3 .LSEH_end_rsaz_512_gather4: +.cfi_endproc .size rsaz_512_gather4,.-rsaz_512_gather4 .align 64 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/bn/x86_64-mont5.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/bn/x86_64-mont5.s index df4b6610a02a47..40a60a3c8fc6b9 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/bn/x86_64-mont5.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/bn/x86_64-mont5.s @@ -550,6 +550,7 @@ bn_mul4x_mont_gather5: .type mul4x_internal,@function .align 32 mul4x_internal: +.cfi_startproc shlq $5,%r9 movd 8(%rax),%xmm5 leaq .Linc(%rip),%rax @@ -1071,6 +1072,7 @@ mul4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqr4x_sub_entry +.cfi_endproc .size mul4x_internal,.-mul4x_internal .globl bn_power5 .type bn_power5,@function @@ -1213,6 +1215,7 @@ bn_power5: .align 32 bn_sqr8x_internal: __bn_sqr8x_internal: +.cfi_startproc @@ -1987,10 +1990,12 @@ __bn_sqr8x_reduction: cmpq %rdx,%rdi jb .L8x_reduction_loop .byte 0xf3,0xc3 +.cfi_endproc .size bn_sqr8x_internal,.-bn_sqr8x_internal .type __bn_post4x_internal,@function .align 32 __bn_post4x_internal: +.cfi_startproc movq 0(%rbp),%r12 leaq (%rdi,%r9,1),%rbx movq %r9,%rcx @@ -2041,15 +2046,18 @@ __bn_post4x_internal: movq %r9,%r10 negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_post4x_internal,.-__bn_post4x_internal .globl bn_from_montgomery .type bn_from_montgomery,@function .align 32 bn_from_montgomery: +.cfi_startproc testl $7,%r9d jz bn_from_mont8x xorl %eax,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_from_montgomery,.-bn_from_montgomery .type bn_from_mont8x,@function @@ -2333,6 +2341,7 @@ bn_mulx4x_mont_gather5: .type mulx4x_internal,@function .align 32 mulx4x_internal: +.cfi_startproc movq %r9,8(%rsp) movq %r9,%r10 negq %r9 @@ -2751,6 +2760,7 @@ mulx4x_internal: movq 16(%rbp),%r14 movq 24(%rbp),%r15 jmp .Lsqrx4x_sub_entry +.cfi_endproc .size mulx4x_internal,.-mulx4x_internal .type bn_powerx5,@function .align 32 @@ -3509,6 +3519,7 @@ __bn_sqrx8x_reduction: .size bn_sqrx8x_internal,.-bn_sqrx8x_internal .align 32 __bn_postx4x_internal: +.cfi_startproc movq 0(%rbp),%r12 movq %rcx,%r10 movq %rcx,%r9 @@ -3556,11 +3567,13 @@ __bn_postx4x_internal: negq %r9 .byte 0xf3,0xc3 +.cfi_endproc .size __bn_postx4x_internal,.-__bn_postx4x_internal .globl bn_get_bits5 .type bn_get_bits5,@function .align 16 bn_get_bits5: +.cfi_startproc leaq 0(%rdi),%r10 leaq 1(%rdi),%r11 movl %esi,%ecx @@ -3574,12 +3587,14 @@ bn_get_bits5: shrl %cl,%eax andl $31,%eax .byte 0xf3,0xc3 +.cfi_endproc .size bn_get_bits5,.-bn_get_bits5 .globl bn_scatter5 .type bn_scatter5,@function .align 16 bn_scatter5: +.cfi_startproc cmpl $0,%esi jz .Lscatter_epilogue leaq (%rdx,%rcx,8),%rdx @@ -3592,6 +3607,7 @@ bn_scatter5: jnz .Lscatter .Lscatter_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size bn_scatter5,.-bn_scatter5 .globl bn_gather5 @@ -3599,6 +3615,7 @@ bn_scatter5: .align 32 bn_gather5: .LSEH_begin_bn_gather5: +.cfi_startproc .byte 0x4c,0x8d,0x14,0x24 .byte 0x48,0x81,0xec,0x08,0x01,0x00,0x00 @@ -3756,6 +3773,7 @@ bn_gather5: leaq (%r10),%rsp .byte 0xf3,0xc3 .LSEH_end_bn_gather5: +.cfi_endproc .size bn_gather5,.-bn_gather5 .align 64 .Linc: diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h index c7f32e0bb8b008..2e41bb9b2ce786 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: solaris64-x86_64-gcc" -#define DATE "built on: Fri Sep 13 16:02:40 2019 UTC" +#define DATE "built on: Wed Mar 18 21:10:11 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a @@ -37,10 +37,11 @@ static const char compiler_flags[] = { '6','_','A','S','M',' ','-','D','S','H','A','5','1','2','_','A', 'S','M',' ','-','D','K','E','C','C','A','K','1','6','0','0','_', 'A','S','M',' ','-','D','R','C','4','_','A','S','M',' ','-','D', - 'M','D','5','_','A','S','M',' ','-','D','V','P','A','E','S','_', - 'A','S','M',' ','-','D','G','H','A','S','H','_','A','S','M',' ', - '-','D','E','C','P','_','N','I','S','T','Z','2','5','6','_','A', - 'S','M',' ','-','D','X','2','5','5','1','9','_','A','S','M',' ', - '-','D','P','O','L','Y','1','3','0','5','_','A','S','M',' ','-', - 'D','N','D','E','B','U','G','\0' + 'M','D','5','_','A','S','M',' ','-','D','A','E','S','N','I','_', + 'A','S','M',' ','-','D','V','P','A','E','S','_','A','S','M',' ', + '-','D','G','H','A','S','H','_','A','S','M',' ','-','D','E','C', + 'P','_','N','I','S','T','Z','2','5','6','_','A','S','M',' ','-', + 'D','X','2','5','5','1','9','_','A','S','M',' ','-','D','P','O', + 'L','Y','1','3','0','5','_','A','S','M',' ','-','D','N','D','E', + 'B','U','G','\0' }; diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/camellia/cmll-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/camellia/cmll-x86_64.s index 405566b01cca6f..eeb20dd2291da7 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/camellia/cmll-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/camellia/cmll-x86_64.s @@ -5,11 +5,13 @@ .type Camellia_EncryptBlock,@function .align 16 Camellia_EncryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Lenc_rounds +.cfi_endproc .size Camellia_EncryptBlock,.-Camellia_EncryptBlock .globl Camellia_EncryptBlock_Rounds @@ -83,6 +85,7 @@ Camellia_EncryptBlock_Rounds: .type _x86_64_Camellia_encrypt,@function .align 16 _x86_64_Camellia_encrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -285,6 +288,7 @@ _x86_64_Camellia_encrypt: movl %edx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_encrypt,.-_x86_64_Camellia_encrypt @@ -292,11 +296,13 @@ _x86_64_Camellia_encrypt: .type Camellia_DecryptBlock,@function .align 16 Camellia_DecryptBlock: +.cfi_startproc movl $128,%eax subl %edi,%eax movl $3,%edi adcl $0,%edi jmp .Ldec_rounds +.cfi_endproc .size Camellia_DecryptBlock,.-Camellia_DecryptBlock .globl Camellia_DecryptBlock_Rounds @@ -370,6 +376,7 @@ Camellia_DecryptBlock_Rounds: .type _x86_64_Camellia_decrypt,@function .align 16 _x86_64_Camellia_decrypt: +.cfi_startproc xorl 0(%r14),%r9d xorl 4(%r14),%r8d xorl 8(%r14),%r11d @@ -573,6 +580,7 @@ _x86_64_Camellia_decrypt: movl %ebx,%r11d .byte 0xf3,0xc3 +.cfi_endproc .size _x86_64_Camellia_decrypt,.-_x86_64_Camellia_decrypt .globl Camellia_Ekeygen .type Camellia_Ekeygen,@function diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s index 62b9ac6616ba72..5c9e4050416212 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/ec/ecp_nistz256-x86_64.s @@ -3874,10 +3874,12 @@ ecp_nistz256_ord_sqr_montx: .type ecp_nistz256_to_mont,@function .align 32 ecp_nistz256_to_mont: +.cfi_startproc movl $0x80100,%ecx andl OPENSSL_ia32cap_P+8(%rip),%ecx leaq .LRR(%rip),%rdx jmp .Lmul_mont +.cfi_endproc .size ecp_nistz256_to_mont,.-ecp_nistz256_to_mont @@ -4821,6 +4823,7 @@ ecp_nistz256_from_mont: .type ecp_nistz256_scatter_w5,@function .align 32 ecp_nistz256_scatter_w5: +.cfi_startproc leal -3(%rdx,%rdx,2),%edx movdqa 0(%rsi),%xmm0 shll $5,%edx @@ -4837,6 +4840,7 @@ ecp_nistz256_scatter_w5: movdqa %xmm5,80(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w5,.-ecp_nistz256_scatter_w5 @@ -4910,6 +4914,7 @@ ecp_nistz256_gather_w5: .type ecp_nistz256_scatter_w7,@function .align 32 ecp_nistz256_scatter_w7: +.cfi_startproc movdqu 0(%rsi),%xmm0 shll $6,%edx movdqu 16(%rsi),%xmm1 @@ -4921,6 +4926,7 @@ ecp_nistz256_scatter_w7: movdqa %xmm3,48(%rdi,%rdx,1) .byte 0xf3,0xc3 +.cfi_endproc .size ecp_nistz256_scatter_w7,.-ecp_nistz256_scatter_w7 @@ -5655,26 +5661,16 @@ ecp_nistz256_point_add: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedq .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedq - testq %r9,%r9 - jz .Ladd_doubleq -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_doneq + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedq -.align 32 .Ladd_doubleq: .byte 102,72,15,126,206 .byte 102,72,15,126,199 @@ -6774,26 +6770,16 @@ ecp_nistz256_point_addx: orq %r8,%r12 orq %r9,%r12 -.byte 0x3e - jnz .Ladd_proceedx .byte 102,73,15,126,208 .byte 102,73,15,126,217 - testq %r8,%r8 - jnz .Ladd_proceedx - testq %r9,%r9 - jz .Ladd_doublex -.byte 102,72,15,126,199 - pxor %xmm0,%xmm0 - movdqu %xmm0,0(%rdi) - movdqu %xmm0,16(%rdi) - movdqu %xmm0,32(%rdi) - movdqu %xmm0,48(%rdi) - movdqu %xmm0,64(%rdi) - movdqu %xmm0,80(%rdi) - jmp .Ladd_donex + orq %r8,%r12 + orq %r9,%r12 + + +.byte 0x3e + jnz .Ladd_proceedx -.align 32 .Ladd_doublex: .byte 102,72,15,126,206 .byte 102,72,15,126,199 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/ec/x25519-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/ec/x25519-x86_64.s index 2a18eaee288ce7..1788e568cda5d2 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/ec/x25519-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/ec/x25519-x86_64.s @@ -400,12 +400,14 @@ x25519_fe51_mul121666: .type x25519_fe64_eligible,@function .align 32 x25519_fe64_eligible: +.cfi_startproc movl OPENSSL_ia32cap_P+8(%rip),%ecx xorl %eax,%eax andl $0x80100,%ecx cmpl $0x80100,%ecx cmovel %ecx,%eax .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_eligible,.-x25519_fe64_eligible .globl x25519_fe64_mul @@ -648,6 +650,7 @@ x25519_fe64_sqr: .align 32 x25519_fe64_mul121666: .Lfe64_mul121666_body: +.cfi_startproc movl $121666,%edx mulxq 0(%rsi),%r8,%rcx mulxq 8(%rsi),%r9,%rax @@ -676,6 +679,7 @@ x25519_fe64_mul121666: .Lfe64_mul121666_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_mul121666,.-x25519_fe64_mul121666 .globl x25519_fe64_add @@ -683,6 +687,7 @@ x25519_fe64_mul121666: .align 32 x25519_fe64_add: .Lfe64_add_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -711,6 +716,7 @@ x25519_fe64_add: .Lfe64_add_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_add,.-x25519_fe64_add .globl x25519_fe64_sub @@ -718,6 +724,7 @@ x25519_fe64_add: .align 32 x25519_fe64_sub: .Lfe64_sub_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -746,6 +753,7 @@ x25519_fe64_sub: .Lfe64_sub_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_sub,.-x25519_fe64_sub .globl x25519_fe64_tobytes @@ -753,6 +761,7 @@ x25519_fe64_sub: .align 32 x25519_fe64_tobytes: .Lfe64_to_body: +.cfi_startproc movq 0(%rsi),%r8 movq 8(%rsi),%r9 movq 16(%rsi),%r10 @@ -788,5 +797,6 @@ x25519_fe64_tobytes: .Lfe64_to_epilogue: .byte 0xf3,0xc3 +.cfi_endproc .size x25519_fe64_tobytes,.-x25519_fe64_tobytes .byte 88,50,53,53,49,57,32,112,114,105,109,105,116,105,118,101,115,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/modes/aesni-gcm-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/modes/aesni-gcm-x86_64.s index 6a7a9577c7142f..01d89630a42f73 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/modes/aesni-gcm-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/modes/aesni-gcm-x86_64.s @@ -3,6 +3,7 @@ .type _aesni_ctr32_ghash_6x,@function .align 32 _aesni_ctr32_ghash_6x: +.cfi_startproc vmovdqu 32(%r11),%xmm2 subq $6,%rdx vpxor %xmm4,%xmm4,%xmm4 @@ -310,6 +311,7 @@ _aesni_ctr32_ghash_6x: vpxor %xmm4,%xmm8,%xmm8 .byte 0xf3,0xc3 +.cfi_endproc .size _aesni_ctr32_ghash_6x,.-_aesni_ctr32_ghash_6x .globl aesni_gcm_decrypt .type aesni_gcm_decrypt,@function @@ -416,6 +418,7 @@ aesni_gcm_decrypt: .type _aesni_ctr32_6x,@function .align 32 _aesni_ctr32_6x: +.cfi_startproc vmovdqu 0-128(%rcx),%xmm4 vmovdqu 32(%r11),%xmm2 leaq -1(%rbp),%r13 @@ -502,6 +505,7 @@ _aesni_ctr32_6x: vpshufb %xmm0,%xmm1,%xmm1 vpxor %xmm4,%xmm14,%xmm14 jmp .Loop_ctr32 +.cfi_endproc .size _aesni_ctr32_6x,.-_aesni_ctr32_6x .globl aesni_gcm_encrypt diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/poly1305/poly1305-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/poly1305/poly1305-x86_64.s index 6f4cac8d3920c1..2636c52bbe5e48 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/poly1305/poly1305-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/poly1305/poly1305-x86_64.s @@ -12,6 +12,7 @@ .type poly1305_init,@function .align 32 poly1305_init: +.cfi_startproc xorq %rax,%rax movq %rax,0(%rdi) movq %rax,8(%rdi) @@ -42,6 +43,7 @@ poly1305_init: movl $1,%eax .Lno_key: .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_init,.-poly1305_init .type poly1305_blocks,@function @@ -162,6 +164,7 @@ poly1305_blocks: .type poly1305_emit,@function .align 32 poly1305_emit: +.cfi_startproc .Lemit: movq 0(%rdi),%r8 movq 8(%rdi),%r9 @@ -182,10 +185,12 @@ poly1305_emit: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit,.-poly1305_emit .type __poly1305_block,@function .align 32 __poly1305_block: +.cfi_startproc mulq %r14 movq %rax,%r9 movq %r11,%rax @@ -225,11 +230,13 @@ __poly1305_block: adcq $0,%rbx adcq $0,%rbp .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_block,.-__poly1305_block .type __poly1305_init_avx,@function .align 32 __poly1305_init_avx: +.cfi_startproc movq %r11,%r14 movq %r12,%rbx xorq %rbp,%rbp @@ -387,6 +394,7 @@ __poly1305_init_avx: leaq -48-64(%rdi),%rdi .byte 0xf3,0xc3 +.cfi_endproc .size __poly1305_init_avx,.-__poly1305_init_avx .type poly1305_blocks_avx,@function @@ -1227,6 +1235,7 @@ poly1305_blocks_avx: .type poly1305_emit_avx,@function .align 32 poly1305_emit_avx: +.cfi_startproc cmpl $0,20(%rdi) je .Lemit @@ -1277,6 +1286,7 @@ poly1305_emit_avx: movq %rcx,8(%rsi) .byte 0xf3,0xc3 +.cfi_endproc .size poly1305_emit_avx,.-poly1305_emit_avx .type poly1305_blocks_avx2,@function .align 32 @@ -1959,6 +1969,7 @@ poly1305_blocks_avx2: .type xor128_encrypt_n_pad,@function .align 16 xor128_encrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -2000,12 +2011,14 @@ xor128_encrypt_n_pad: .Ldone_enc: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_encrypt_n_pad,.-xor128_encrypt_n_pad .globl xor128_decrypt_n_pad .type xor128_decrypt_n_pad,@function .align 16 xor128_decrypt_n_pad: +.cfi_startproc subq %rdx,%rsi subq %rdx,%rdi movq %rcx,%r10 @@ -2051,4 +2064,5 @@ xor128_decrypt_n_pad: .Ldone_dec: movq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size xor128_decrypt_n_pad,.-xor128_decrypt_n_pad diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/rc4/rc4-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/rc4/rc4-x86_64.s index fba70351d48d5c..b97c757550aad0 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/rc4/rc4-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/rc4/rc4-x86_64.s @@ -4,11 +4,12 @@ .globl RC4 .type RC4,@function .align 16 -RC4: orq %rsi,%rsi +RC4: +.cfi_startproc + orq %rsi,%rsi jne .Lentry .byte 0xf3,0xc3 .Lentry: -.cfi_startproc pushq %rbx .cfi_adjust_cfa_offset 8 .cfi_offset %rbx,-16 @@ -533,6 +534,7 @@ RC4: orq %rsi,%rsi .type RC4_set_key,@function .align 16 RC4_set_key: +.cfi_startproc leaq 8(%rdi),%rdi leaq (%rdx,%rsi,1),%rdx negq %rsi @@ -599,12 +601,14 @@ RC4_set_key: movl %eax,-8(%rdi) movl %eax,-4(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size RC4_set_key,.-RC4_set_key .globl RC4_options .type RC4_options,@function .align 16 RC4_options: +.cfi_startproc leaq .Lopts(%rip),%rax movl OPENSSL_ia32cap_P(%rip),%edx btl $20,%edx @@ -617,6 +621,7 @@ RC4_options: addq $12,%rax .Ldone: .byte 0xf3,0xc3 +.cfi_endproc .align 64 .Lopts: .byte 114,99,52,40,56,120,44,105,110,116,41,0 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/keccak1600-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/keccak1600-x86_64.s index e511f25035b2b8..09617d014bdb7b 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/keccak1600-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/keccak1600-x86_64.s @@ -3,6 +3,7 @@ .type __KeccakF1600,@function .align 32 __KeccakF1600: +.cfi_startproc movq 60(%rdi),%rax movq 68(%rdi),%rbx movq 76(%rdi),%rcx @@ -255,6 +256,7 @@ __KeccakF1600: leaq -192(%r15),%r15 .byte 0xf3,0xc3 +.cfi_endproc .size __KeccakF1600,.-__KeccakF1600 .type KeccakF1600,@function diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/sha1-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/sha1-x86_64.s index e436521a040f66..98541727e555da 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/sha1-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/sha1-x86_64.s @@ -1421,8 +1421,8 @@ _shaext_shortcut: pshufd $27,%xmm1,%xmm1 movdqu %xmm0,(%rdi) movd %xmm1,16(%rdi) -.cfi_endproc .byte 0xf3,0xc3 +.cfi_endproc .size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext .type sha1_block_data_order_ssse3,@function .align 16 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/sha256-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/sha256-x86_64.s index 42b24df18e5afe..9357385da3c49b 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/sha256-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/sha256-x86_64.s @@ -1775,6 +1775,7 @@ K256: .align 64 sha256_block_data_order_shaext: _shaext_shortcut: +.cfi_startproc leaq K256+128(%rip),%rcx movdqu (%rdi),%xmm1 movdqu 16(%rdi),%xmm2 @@ -1977,6 +1978,7 @@ _shaext_shortcut: movdqu %xmm1,(%rdi) movdqu %xmm2,16(%rdi) .byte 0xf3,0xc3 +.cfi_endproc .size sha256_block_data_order_shaext,.-sha256_block_data_order_shaext .type sha256_block_data_order_ssse3,@function .align 64 @@ -4238,7 +4240,15 @@ sha256_block_data_order_avx2: vmovdqa %ymm4,0(%rsp) xorl %r14d,%r14d vmovdqa %ymm5,32(%rsp) + + movq 88(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -64(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 movl %ebx,%edi vmovdqa %ymm6,0(%rsp) xorl %ecx,%edi @@ -4250,6 +4260,12 @@ sha256_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm0,%ymm1,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -4505,6 +4521,12 @@ sha256_block_data_order_avx2: movl %r9d,%r12d vmovdqa %ymm6,32(%rsp) leaq -64(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08 + + pushq 64-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $4,%ymm2,%ymm3,%ymm4 addl 0+128(%rsp),%r11d andl %r8d,%r12d @@ -5380,6 +5402,8 @@ sha256_block_data_order_avx2: leaq 448(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08 + addl 0(%rdi),%eax addl 4(%rdi),%ebx addl 8(%rdi),%ecx @@ -5405,9 +5429,11 @@ sha256_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0xd8,0x00,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 88(%rsp),%rsi + movq 88(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/sha512-x86_64.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/sha512-x86_64.s index 5931a2a93234d0..939f1ca71c9394 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/sha512-x86_64.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/sha/sha512-x86_64.s @@ -4165,7 +4165,15 @@ sha512_block_data_order_avx2: vmovdqa %ymm10,64(%rsp) vpaddq 64(%rbp),%ymm6,%ymm10 vmovdqa %ymm11,96(%rsp) + + movq 152(%rsp),%rdi +.cfi_def_cfa %rdi,8 leaq -128(%rsp),%rsp + + + + movq %rdi,-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpaddq 96(%rbp),%ymm7,%ymm11 vmovdqa %ymm8,0(%rsp) xorq %r14,%r14 @@ -4181,6 +4189,12 @@ sha512_block_data_order_avx2: .align 16 .Lavx2_00_47: leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm0,%ymm1,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -4474,6 +4488,12 @@ sha512_block_data_order_avx2: movq %r9,%r12 vmovdqa %ymm10,96(%rsp) leaq -128(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 + + pushq 128-8(%rsp) +.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 + leaq 8(%rsp),%rsp +.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 vpalignr $8,%ymm4,%ymm5,%ymm8 addq 0+256(%rsp),%r11 andq %r8,%r12 @@ -5387,6 +5407,8 @@ sha512_block_data_order_avx2: leaq 1152(%rsp),%rsp +.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08 + addq 0(%rdi),%rax addq 8(%rdi),%rbx addq 16(%rdi),%rcx @@ -5412,9 +5434,11 @@ sha512_block_data_order_avx2: jbe .Loop_avx2 leaq (%rsp),%rbp + +.cfi_escape 0x0f,0x06,0x76,0x98,0x01,0x06,0x23,0x08 + .Ldone_avx2: - leaq (%rbp),%rsp - movq 152(%rsp),%rsi + movq 152(%rbp),%rsi .cfi_def_cfa %rsi,8 vzeroupper movq -48(%rsi),%r15 diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/x86_64cpuid.s b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/x86_64cpuid.s index fd17eaaba49576..9268ce8c9a9d63 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/x86_64cpuid.s +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/x86_64cpuid.s @@ -12,6 +12,7 @@ .type OPENSSL_atomic_add,@function .align 16 OPENSSL_atomic_add: +.cfi_startproc movl (%rdi),%eax .Lspin: leaq (%rsi,%rax,1),%r8 .byte 0xf0 @@ -20,16 +21,19 @@ OPENSSL_atomic_add: movl %r8d,%eax .byte 0x48,0x98 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_atomic_add,.-OPENSSL_atomic_add .globl OPENSSL_rdtsc .type OPENSSL_rdtsc,@function .align 16 OPENSSL_rdtsc: +.cfi_startproc rdtsc shlq $32,%rdx orq %rdx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_rdtsc,.-OPENSSL_rdtsc .globl OPENSSL_ia32_cpuid @@ -205,6 +209,7 @@ OPENSSL_ia32_cpuid: .type OPENSSL_cleanse,@function .align 16 OPENSSL_cleanse: +.cfi_startproc xorq %rax,%rax cmpq $15,%rsi jae .Lot @@ -234,12 +239,14 @@ OPENSSL_cleanse: cmpq $0,%rsi jne .Little .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_cleanse,.-OPENSSL_cleanse .globl CRYPTO_memcmp .type CRYPTO_memcmp,@function .align 16 CRYPTO_memcmp: +.cfi_startproc xorq %rax,%rax xorq %r10,%r10 cmpq $0,%rdx @@ -268,11 +275,13 @@ CRYPTO_memcmp: shrq $63,%rax .Lno_data: .byte 0xf3,0xc3 +.cfi_endproc .size CRYPTO_memcmp,.-CRYPTO_memcmp .globl OPENSSL_wipe_cpu .type OPENSSL_wipe_cpu,@function .align 16 OPENSSL_wipe_cpu: +.cfi_startproc pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 @@ -299,11 +308,13 @@ OPENSSL_wipe_cpu: xorq %r11,%r11 leaq 8(%rsp),%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu .globl OPENSSL_instrument_bus .type OPENSSL_instrument_bus,@function .align 16 OPENSSL_instrument_bus: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rsi,%r11 @@ -330,12 +341,14 @@ OPENSSL_instrument_bus: movq %r11,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus,.-OPENSSL_instrument_bus .globl OPENSSL_instrument_bus2 .type OPENSSL_instrument_bus2,@function .align 16 OPENSSL_instrument_bus2: +.cfi_startproc movq %rdi,%r10 movq %rsi,%rcx movq %rdx,%r11 @@ -378,11 +391,13 @@ OPENSSL_instrument_bus2: movq 8(%rsp),%rax subq %rcx,%rax .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2 .globl OPENSSL_ia32_rdrand_bytes .type OPENSSL_ia32_rdrand_bytes,@function .align 16 OPENSSL_ia32_rdrand_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdrand_bytes @@ -419,11 +434,13 @@ OPENSSL_ia32_rdrand_bytes: .Ldone_rdrand_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdrand_bytes,.-OPENSSL_ia32_rdrand_bytes .globl OPENSSL_ia32_rdseed_bytes .type OPENSSL_ia32_rdseed_bytes,@function .align 16 OPENSSL_ia32_rdseed_bytes: +.cfi_startproc xorq %rax,%rax cmpq $0,%rsi je .Ldone_rdseed_bytes @@ -460,4 +477,5 @@ OPENSSL_ia32_rdseed_bytes: .Ldone_rdseed_bytes: xorq %r10,%r10 .byte 0xf3,0xc3 +.cfi_endproc .size OPENSSL_ia32_rdseed_bytes,.-OPENSSL_ia32_rdseed_bytes diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslconf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslconf.h index 913bb95a5a8a42..14050a45347f62 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslconf.h @@ -96,9 +96,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/progs.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/progs.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/openssl-cl.gypi b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/openssl-cl.gypi index ca28a8cbd3dede..863e9328e5e18e 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/openssl-cl.gypi +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/openssl-cl.gypi @@ -16,6 +16,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/openssl.gypi b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/openssl.gypi index a634c666572987..9dd6bd88a275fc 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/openssl.gypi +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/openssl.gypi @@ -723,6 +723,7 @@ 'KECCAK1600_ASM', 'RC4_ASM', 'MD5_ASM', + 'AESNI_ASM', 'VPAES_ASM', 'GHASH_ASM', 'ECP_NISTZ256_ASM', diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/configdata.pm b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/configdata.pm index 50438e79f77475..d398c0a8c31c26 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/configdata.pm +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/configdata.pm @@ -54,7 +54,7 @@ our %config = ( minor => "1.1", openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], openssl_api_defines => [ ], - openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE" ], openssl_sys_defines => [ ], openssl_thread_defines => [ "OPENSSL_THREADS" ], openssldir => "", @@ -110,8 +110,8 @@ our %config = ( sourcedir => ".", target => "solaris64-x86_64-gcc", tdirs => [ "ossl_shim" ], - version => "1.1.1d", - version_num => "0x1010104fL", + version => "1.1.1e", + version_num => "0x1010105fL", ); our %target = ( @@ -234,6 +234,7 @@ our @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -352,8 +353,8 @@ our %unified_info = ( { "" => [ - "crypto/include/internal/bn_conf.h", - "crypto/include/internal/dso_conf.h", + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", "include/openssl/opensslconf.h", ], "apps/asn1pars.o" => @@ -621,14 +622,6 @@ our %unified_info = ( "crypto/perlasm/cbc.pl", "crypto/perlasm/x86asm.pl", ], - "crypto/include/internal/bn_conf.h" => - [ - "configdata.pm", - ], - "crypto/include/internal/dso_conf.h" => - [ - "configdata.pm", - ], "crypto/rc4/rc4-586.s" => [ "crypto/perlasm/x86asm.pl", @@ -704,6 +697,14 @@ our %unified_info = ( [ "libcrypto", ], + "include/crypto/bn_conf.h" => + [ + "configdata.pm", + ], + "include/crypto/dso_conf.h" => + [ + "configdata.pm", + ], "include/openssl/opensslconf.h" => [ "configdata.pm", @@ -1501,6 +1502,12 @@ our %unified_info = ( "libcrypto", "test/libtestutil.a", ], + "test/ssl_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], "test/ssl_test" => [ "libcrypto", @@ -3219,7 +3226,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -3227,6 +3233,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "products" => { @@ -3725,14 +3732,6 @@ our %unified_info = ( [ "crypto/ia64cpuid.S", ], - "crypto/include/internal/bn_conf.h" => - [ - "crypto/include/internal/bn_conf.h.in", - ], - "crypto/include/internal/dso_conf.h" => - [ - "crypto/include/internal/dso_conf.h.in", - ], "crypto/md5/md5-586.s" => [ "crypto/md5/asm/md5-586.pl", @@ -4173,6 +4172,14 @@ our %unified_info = ( "engines/asm/e_padlock-x86_64.pl", "\$(PERLASM_SCHEME)", ], + "include/crypto/bn_conf.h" => + [ + "include/crypto/bn_conf.h.in", + ], + "include/crypto/dso_conf.h" => + [ + "include/crypto/dso_conf.h.in", + ], "include/openssl/opensslconf.h" => [ "include/openssl/opensslconf.h.in", @@ -4867,49 +4874,41 @@ our %unified_info = ( "crypto/aes/aes_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_core.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ige.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aes_wrap.o" => [ ".", - "crypto/include", "include", ], "crypto/aes/aesfx-sparcv9.o" => @@ -4931,7 +4930,6 @@ our %unified_info = ( "crypto/aria/aria.o" => [ ".", - "crypto/include", "include", ], "crypto/arm64cpuid.o" => @@ -4945,613 +4943,511 @@ our %unified_info = ( "crypto/asn1/a_bitstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_d2i_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_dup.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_gentm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_i2d_fp.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_mbstr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_object.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_octet.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_print.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strex.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_strnid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_time.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_type.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utctm.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_utf8.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/a_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/ameth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_err.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_item_list.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn1_par.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_moid.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_mstbl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/asn_pack.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/bio_ndef.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/d2i_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/evp_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_int.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/f_string.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pr.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/i2d_pu.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/n_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/nsseq.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_pbev2.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p5_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/p8_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/t_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_fre.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_new.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_scn.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_typ.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/tasn_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_algor.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_bignum.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_info.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_int64.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_long.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_sig.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_spki.o" => [ ".", - "crypto/include", "include", ], "crypto/asn1/x_val.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_null.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_posix.o" => [ ".", - "crypto/include", "include", ], "crypto/async/arch/async_win.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_err.o" => [ ".", - "crypto/include", "include", ], "crypto/async/async_wait.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/bf/bf_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_dump.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/b_sock2.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_buff.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_lbuf.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_nbio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bf_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_cb.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bio_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_acpt.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_bio.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_conn.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_dgram.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_fd.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_file.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_log.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_mem.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_null.o" => [ ".", - "crypto/include", "include", ], "crypto/bio/bss_sock.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2b.o" => [ ".", - "crypto/include", "include", ], "crypto/blake2/m_blake2s.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/armv4-gf2m.o" => @@ -5569,188 +5465,157 @@ our %unified_info = ( "crypto/bn/bn_add.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_asm.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_blind.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_const.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_div.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_err.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_exp.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/bn/bn_exp2.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gcd.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_gf2m.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_intern.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_kron.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mpi.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_mul.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_prime.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_print.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_recp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_shift.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqr.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_sqrt.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_srp.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_word.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/bn_x931p.o" => [ ".", - "crypto/include", "include", ], "crypto/bn/mips-mont.o" => @@ -5780,13 +5645,11 @@ our %unified_info = ( "crypto/buffer/buf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/buffer/buffer.o" => [ ".", - "crypto/include", "include", ], "crypto/buildinf.h" => @@ -5796,43 +5659,36 @@ our %unified_info = ( "crypto/camellia/camellia.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_misc.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmll_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/camellia/cmllt4-sparcv9.o" => @@ -5842,31 +5698,26 @@ our %unified_info = ( "crypto/cast/c_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/cast/c_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/chacha/chacha-armv4.o" => @@ -5884,278 +5735,232 @@ our %unified_info = ( "crypto/chacha/chacha_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/cmac/cmac.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_att.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_cd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_dd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_env.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_ess.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_io.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_kari.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_pwri.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_sd.o" => [ ".", - "crypto/include", "include", ], "crypto/cms/cms_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_api.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_def.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mall.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_mod.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_sap.o" => [ ".", - "crypto/include", "include", ], "crypto/conf/conf_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/cpt_err.o" => [ ".", - "crypto/include", "include", ], "crypto/cryptlib.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_log.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_policy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_sct_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ct/ct_x509v3.o" => [ ".", - "crypto/include", "include", ], "crypto/ctype.o" => [ ".", - "crypto/include", "include", ], "crypto/cversion.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/des/cbc_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/cfb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/des_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/dest4-sparcv9.o" => @@ -6165,301 +5970,251 @@ our %unified_info = ( "crypto/des/ecb3_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ecb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/des/fcrypt_b.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64ede.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb64enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/ofb_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/pcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/des/qud_cksm.o" => [ ".", - "crypto/include", "include", ], "crypto/des/rand_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/set_key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/str2key.o" => [ ".", - "crypto/include", "include", ], "crypto/des/xcbc_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_check.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc5114.o" => [ ".", - "crypto/include", "include", ], "crypto/dh/dh_rfc7919.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_key.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/dsa/dsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_dlfcn.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_err.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/dso/dso_win32.o" => [ ".", - "crypto/include", "include", ], "crypto/ebcdic.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve25519.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/curve448/arch_32/f_impl.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6467,7 +6222,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6475,7 +6229,6 @@ our %unified_info = ( "crypto/ec/curve448/curve448_tables.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6483,7 +6236,6 @@ our %unified_info = ( "crypto/ec/curve448/eddsa.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6491,7 +6243,6 @@ our %unified_info = ( "crypto/ec/curve448/f_generic.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6499,7 +6250,6 @@ our %unified_info = ( "crypto/ec/curve448/scalar.o" => [ ".", - "crypto/include", "include", "crypto/ec/curve448/arch_32", "crypto/ec/curve448", @@ -6507,163 +6257,136 @@ our %unified_info = ( "crypto/ec/ec2_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec2_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_check.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_curve.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_cvt.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_key.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_kmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_mult.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ec_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_kdf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdh_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecdsa_vrf.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/eck_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_mont.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nist.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp224.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp256.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistp521.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistputil.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_nistz256-armv4.o" => @@ -6681,223 +6404,186 @@ our %unified_info = ( "crypto/ec/ecp_oct.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecp_smpl.o" => [ ".", - "crypto/include", "include", ], "crypto/ec/ecx_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_all.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_ctrl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_dyn.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_err.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_fat.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_init.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_list.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_rdrand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/eng_table.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_asnmth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_cipher.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dh.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_digest.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_dsa.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_eckey.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_pkmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rand.o" => [ ".", - "crypto/include", "include", ], "crypto/engine/tb_rsa.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_all.o" => [ ".", - "crypto/include", "include", ], "crypto/err/err_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_b64.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_md.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/bio_ok.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_allc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/c_alld.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/cmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/digest.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_aes.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6905,21 +6591,18 @@ our %unified_info = ( "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ ".", - "crypto/include", "include", "crypto/modes", ], "crypto/evp/e_aria.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6927,13 +6610,11 @@ our %unified_info = ( "crypto/evp/e_bf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_camellia.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -6941,81 +6622,68 @@ our %unified_info = ( "crypto/evp/e_cast.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_chacha20_poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_des.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_des3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/e_idea.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_old.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc4_hmac_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_rc5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_seed.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/e_sm4.o" => [ ".", - "crypto/include", "include", "crypto", "crypto/modes", @@ -7023,328 +6691,267 @@ our %unified_info = ( "crypto/evp/e_xcbc_d.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/encode.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_cnf.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_key.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pbe.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/evp_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md4.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_md5_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_mdc2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_null.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_ripemd.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha1.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_sha3.o" => [ ".", - "crypto/include", "include", "crypto", ], "crypto/evp/m_sigver.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/m_wp.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/names.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p5_crpt2.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_dec.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_open.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_seal.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/p_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pbe_scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_fn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_gn.o" => [ ".", - "crypto/include", "include", ], "crypto/evp/pmeth_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ex_data.o" => [ ".", - "crypto/include", "include", ], "crypto/getenv.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hm_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/hmac/hmac.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/idea/i_skey.o" => [ ".", - "crypto/include", "include", ], - "crypto/include/internal/bn_conf.h" => - [ - ".", - ], - "crypto/include/internal/dso_conf.h" => - [ - ".", - ], "crypto/init.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/hkdf.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/kdf_err.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/scrypt.o" => [ ".", - "crypto/include", "include", ], "crypto/kdf/tls1_prf.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lh_stats.o" => [ ".", - "crypto/include", "include", ], "crypto/lhash/lhash.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md4/md4_one.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5-sparcv9.o" => @@ -7354,85 +6961,71 @@ our %unified_info = ( "crypto/md5/md5_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/md5/md5_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2_one.o" => [ ".", - "crypto/include", "include", ], "crypto/mdc2/mdc2dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/mem.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_clr.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_dbg.o" => [ ".", - "crypto/include", "include", ], "crypto/mem_sec.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cbc128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ccm128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cfb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ctr128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/cts128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/gcm128.o" => [ ".", - "crypto/include", "include", "crypto", ], @@ -7455,361 +7048,301 @@ our %unified_info = ( "crypto/modes/ocb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/ofb128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/wrap128.o" => [ ".", - "crypto/include", "include", ], "crypto/modes/xts128.o" => [ ".", - "crypto/include", "include", ], "crypto/o_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fips.o" => [ ".", - "crypto/include", "include", ], "crypto/o_fopen.o" => [ ".", - "crypto/include", "include", ], "crypto/o_init.o" => [ ".", - "crypto/include", "include", ], "crypto/o_str.o" => [ ".", - "crypto/include", "include", ], "crypto/o_time.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/o_names.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_dat.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_err.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/objects/obj_xref.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_cl.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_ht.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_srv.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/ocsp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/ocsp/v3_ocsp.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_all.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_err.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_info.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_oth.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pk8.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_pkey.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pem_xaux.o" => [ ".", - "crypto/include", "include", ], "crypto/pem/pvkfmt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_add.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_asn.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_crt.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_decr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_init.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_key.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_kiss.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_mutl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_npas.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8d.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_p8e.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_sbag.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/p12_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs12/pk12err.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/bio_pk7.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_attr.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_doit.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_mime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pk7_smime.o" => [ ".", - "crypto/include", "include", ], "crypto/pkcs7/pkcs7err.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305-armv4.o" => @@ -7831,259 +7364,216 @@ our %unified_info = ( "crypto/poly1305/poly1305.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/poly1305/poly1305_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_ctr.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/drbg_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_egd.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_unix.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_vms.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/rand_win.o" => [ ".", - "crypto/include", "include", ], "crypto/rand/randfile.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2cfb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc2/rc2ofb64.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_enc.o" => [ ".", - "crypto/include", "include", ], "crypto/rc4/rc4_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/ripemd/rmd_one.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_chk.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_crpt.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_depr.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_err.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_gen.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_mp.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_none.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_oaep.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ossl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pk1.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_pss.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_saos.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_ssl.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931.o" => [ ".", - "crypto/include", "include", ], "crypto/rsa/rsa_x931g.o" => [ ".", - "crypto/include", "include", ], "crypto/s390xcpuid.o" => @@ -8093,31 +7583,26 @@ our %unified_info = ( "crypto/seed/seed.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cbc.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_cfb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ecb.o" => [ ".", - "crypto/include", "include", ], "crypto/seed/seed_ofb.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/keccak1600-armv4.o" => @@ -8127,7 +7612,6 @@ our %unified_info = ( "crypto/sha/keccak1600.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1-armv4-large.o" => @@ -8153,13 +7637,11 @@ our %unified_info = ( "crypto/sha/sha1_one.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha1dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha256-armv4.o" => @@ -8185,7 +7667,6 @@ our %unified_info = ( "crypto/sha/sha256.o" => [ ".", - "crypto/include", "include", ], "crypto/sha/sha512-armv4.o" => @@ -8211,709 +7692,591 @@ our %unified_info = ( "crypto/sha/sha512.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_ameth.o" => [ ".", - "crypto/include", "include", ], "crypto/siphash/siphash_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_crypt.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_err.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_pmeth.o" => [ ".", - "crypto/include", "include", ], "crypto/sm2/sm2_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/m_sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm3/sm3.o" => [ ".", - "crypto/include", "include", ], "crypto/sm4/sm4.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/srp/srp_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/stack/stack.o" => [ ".", - "crypto/include", "include", ], "crypto/store/loader_file.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_err.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_init.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_register.o" => [ ".", - "crypto/include", "include", ], "crypto/store/store_strings.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_none.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_pthread.o" => [ ".", - "crypto/include", "include", ], "crypto/threads_win.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_asn1.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_req_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_print.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_sign.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_utils.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_rsp_verify.o" => [ ".", - "crypto/include", "include", ], "crypto/ts/ts_verify_ctx.o" => [ ".", - "crypto/include", "include", ], "crypto/txt_db/txt_db.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_err.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_null.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_openssl.o" => [ ".", - "crypto/include", "include", ], "crypto/ui/ui_util.o" => [ ".", - "crypto/include", "include", ], "crypto/uid.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_block.o" => [ ".", - "crypto/include", "include", ], "crypto/whrlpool/wp_dgst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_dir.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/by_file.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/t_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_att.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_cmp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_d2.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_def.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_err.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_ext.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_lu.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_meth.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_obj.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_r2x.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_set.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_trs.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_txt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_v3.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vfy.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509_vpm.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509cset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509rset.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509spki.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x509type.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_all.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_attrib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_crl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_exten.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_name.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_pubkey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_req.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509.o" => [ ".", - "crypto/include", "include", ], "crypto/x509/x_x509a.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_cache.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_data.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_map.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_node.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/pcy_tree.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_addr.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_admis.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_akeya.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_alt.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_asid.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_bitst.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_conf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_cpols.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_crld.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_enum.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_extku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_genn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ia5.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_info.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_int.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_lib.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_ncons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pci.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcia.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pcons.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pku.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_pmaps.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_prn.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_purp.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_skey.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_sxnet.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_tlsf.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3_utl.o" => [ ".", - "crypto/include", "include", ], "crypto/x509v3/v3err.o" => [ ".", - "crypto/include", "include", ], "engines/e_capi.o" => [ ".", - "crypto/include", "include", ], "engines/e_padlock.o" => [ ".", - "crypto/include", "include", ], "fuzz/asn1.o" => @@ -8964,6 +8327,14 @@ our %unified_info = ( [ "include", ], + "include/crypto/bn_conf.h" => + [ + ".", + ], + "include/crypto/dso_conf.h" => + [ + ".", + ], "include/openssl/opensslconf.h" => [ ".", @@ -9208,7 +8579,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/asn1_string_table_test.o" => [ @@ -9534,7 +8904,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/cipher_overhead_test.o" => [ @@ -9580,7 +8949,6 @@ our %unified_info = ( "test/ctype_internal_test.o" => [ ".", - "crypto/include", "include", ], "test/curve448_internal_test.o" => @@ -9646,7 +9014,6 @@ our %unified_info = ( [ "include", "crypto/ec", - "crypto/include", ], "test/ecdsatest.o" => [ @@ -9671,7 +9038,6 @@ our %unified_info = ( "test/evp_extra_test.o" => [ "include", - "crypto/include", ], "test/evp_test.o" => [ @@ -9769,7 +9135,6 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/rc2test.o" => [ @@ -9819,18 +9184,15 @@ our %unified_info = ( [ ".", "include", - "crypto/include", ], "test/sm2_internal_test.o" => [ "include", - "crypto/include", ], "test/sm4_internal_test.o" => [ ".", "include", - "crypto/include", ], "test/srptest.o" => [ @@ -9841,6 +9203,10 @@ our %unified_info = ( ".", "include", ], + "test/ssl_ctx_test.o" => + [ + "include", + ], "test/ssl_test.o" => [ "include", @@ -9904,10 +9270,6 @@ our %unified_info = ( [ "include", ], - "test/testutil/init.o" => - [ - "include", - ], "test/testutil/main.o" => [ "include", @@ -9936,6 +9298,10 @@ our %unified_info = ( [ "include", ], + "test/testutil/testutil_init.o" => + [ + "include", + ], "test/threadstest.o" => [ "include", @@ -10200,6 +9566,7 @@ our %unified_info = ( "test/sm4_internal_test", "test/srptest", "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", "test/ssl_test", "test/ssl_test_ctx_test", "test/sslapitest", @@ -15090,7 +14457,6 @@ our %unified_info = ( "test/testutil/cb.o", "test/testutil/driver.o", "test/testutil/format_output.o", - "test/testutil/init.o", "test/testutil/main.o", "test/testutil/output_helpers.o", "test/testutil/random.o", @@ -15098,6 +14464,7 @@ our %unified_info = ( "test/testutil/tap_bio.o", "test/testutil/test_cleanup.o", "test/testutil/tests.o", + "test/testutil/testutil_init.o", ], "test/md2test" => [ @@ -15325,6 +14692,14 @@ our %unified_info = ( [ "test/ssl_cert_table_internal_test.c", ], + "test/ssl_ctx_test" => + [ + "test/ssl_ctx_test.o", + ], + "test/ssl_ctx_test.o" => + [ + "test/ssl_ctx_test.c", + ], "test/ssl_test" => [ "test/handshake_helper.o", @@ -15427,10 +14802,6 @@ our %unified_info = ( [ "test/testutil/format_output.c", ], - "test/testutil/init.o" => - [ - "test/testutil/init.c", - ], "test/testutil/main.o" => [ "test/testutil/main.c", @@ -15459,6 +14830,10 @@ our %unified_info = ( [ "test/testutil/tests.c", ], + "test/testutil/testutil_init.o" => + [ + "test/testutil/testutil_init.c", + ], "test/threadstest" => [ "test/threadstest.o", diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h index ae3b2d62e6e569..c97a2322371166 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: solaris64-x86_64-gcc" -#define DATE "built on: Fri Sep 13 16:02:54 2019 UTC" +#define DATE "built on: Wed Mar 18 21:10:22 2020 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/bn_conf.h index 34bd8b78b4f90f..5312ef5a7ac43b 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/bn_conf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/bn_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ /* * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/dso_conf.h index 252266ec2acad6..4b1167c3d8df3f 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/dso_conf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/dso_conf.h @@ -1,5 +1,5 @@ /* WARNING: do not edit! */ -/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ /* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H # define DSO_DLFCN # define HAVE_DLFCN_H # define DSO_EXTENSION ".so" diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslconf.h index 22c5ea87c47259..31bdb87ddb6c01 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslconf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslconf.h @@ -99,9 +99,6 @@ extern "C" { #ifndef OPENSSL_NO_DYNAMIC_ENGINE # define OPENSSL_NO_DYNAMIC_ENGINE #endif -#ifndef OPENSSL_NO_AFALGENG -# define OPENSSL_NO_AFALGENG -#endif /* diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/progs.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/progs.h index 9b3d270e20800e..308c65601bb960 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/progs.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/progs.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by apps/progs.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/config/generate_gypi.pl b/deps/openssl/config/generate_gypi.pl index 978ddbb3b3504a..f24d9ea6adb243 100755 --- a/deps/openssl/config/generate_gypi.pl +++ b/deps/openssl/config/generate_gypi.pl @@ -62,9 +62,9 @@ copy("$src_dir/configdata.pm", "$base_dir/") or die "Copy failed: $!"; copy("$src_dir/include/openssl/opensslconf.h", "$base_dir/include/openssl/") or die "Copy failed: $!"; -move("$src_dir/crypto/include/internal/bn_conf.h", +move("$src_dir/include/crypto/bn_conf.h", "$base_dir/crypto/include/internal/") or die "Move failed: $!"; -move("$src_dir/crypto/include/internal/dso_conf.h", +move("$src_dir/include/crypto/dso_conf.h", "$base_dir/crypto/include/internal/") or die "Move failed: $!"; copy("$src_dir/$buildinf", "$base_dir/crypto/") or die "Copy failed: $!"; diff --git a/deps/openssl/openssl/CHANGES b/deps/openssl/openssl/CHANGES index c6ca3439480e94..0250e4ef026bf7 100644 --- a/deps/openssl/openssl/CHANGES +++ b/deps/openssl/openssl/CHANGES @@ -7,6 +7,73 @@ https://github.com/openssl/openssl/commits/ and pick the appropriate release branch. + Changes between 1.1.1d and 1.1.1e [17 Mar 2020] + *) Properly detect EOF while reading in libssl. Previously if we hit an EOF + while reading in libssl then we would report an error back to the + application (SSL_ERROR_SYSCALL) but errno would be 0. We now add + an error to the stack (which means we instead return SSL_ERROR_SSL) and + therefore give a hint as to what went wrong. + [Matt Caswell] + + *) Check that ed25519 and ed448 are allowed by the security level. Previously + signature algorithms not using an MD were not being checked that they were + allowed by the security level. + [Kurt Roeckx] + + *) Fixed SSL_get_servername() behaviour. The behaviour of SSL_get_servername() + was not quite right. The behaviour was not consistent between resumption + and normal handshakes, and also not quite consistent with historical + behaviour. The behaviour in various scenarios has been clarified and + it has been updated to make it match historical behaviour as closely as + possible. + [Matt Caswell] + + *) [VMS only] The header files that the VMS compilers include automatically, + __DECC_INCLUDE_PROLOGUE.H and __DECC_INCLUDE_EPILOGUE.H, use pragmas that + the C++ compiler doesn't understand. This is a shortcoming in the + compiler, but can be worked around with __cplusplus guards. + + C++ applications that use OpenSSL libraries must be compiled using the + qualifier '/NAMES=(AS_IS,SHORTENED)' to be able to use all the OpenSSL + functions. Otherwise, only functions with symbols of less than 31 + characters can be used, as the linker will not be able to successfully + resolve symbols with longer names. + [Richard Levitte] + + *) Corrected the documentation of the return values from the EVP_DigestSign* + set of functions. The documentation mentioned negative values for some + errors, but this was never the case, so the mention of negative values + was removed. + + Code that followed the documentation and thereby check with something + like 'EVP_DigestSignInit(...) <= 0' will continue to work undisturbed. + [Richard Levitte] + + *) Fixed an an overflow bug in the x64_64 Montgomery squaring procedure + used in exponentiation with 512-bit moduli. No EC algorithms are + affected. Analysis suggests that attacks against 2-prime RSA1024, + 3-prime RSA1536, and DSA1024 as a result of this defect would be very + difficult to perform and are not believed likely. Attacks against DH512 + are considered just feasible. However, for an attack the target would + have to re-use the DH512 private key, which is not recommended anyway. + Also applications directly using the low level API BN_mod_exp may be + affected if they use BN_FLG_CONSTTIME. + (CVE-2019-1551) + [Andy Polyakov] + + *) Added a new method to gather entropy on VMS, based on SYS$GET_ENTROPY. + The presence of this system service is determined at run-time. + [Richard Levitte] + + *) Added newline escaping functionality to a filename when using openssl dgst. + This output format is to replicate the output format found in the '*sum' + checksum programs. This aims to preserve backward compatibility. + [Matt Eaton, Richard Levitte, and Paul Dale] + + *) Print all values for a PKCS#12 attribute with 'openssl pkcs12', not just + the first value. + [Jon Spillett] + Changes between 1.1.1c and 1.1.1d [10 Sep 2019] *) Fixed a fork protection issue. OpenSSL 1.1.1 introduced a rewritten random @@ -633,9 +700,9 @@ bytes long. In theory it is permissible in SSLv3 - TLSv1.2 to fragment such alerts across multiple records (some of which could be empty). In practice it make no sense to send an empty alert record, or to fragment one. TLSv1.3 - prohibts this altogether and other libraries (BoringSSL, NSS) do not + prohibits this altogether and other libraries (BoringSSL, NSS) do not support this at all. Supporting it adds significant complexity to the - record layer, and its removal is unlikely to cause inter-operability + record layer, and its removal is unlikely to cause interoperability issues. [Matt Caswell] @@ -3652,7 +3719,7 @@ implementations). [Emilia Käsper, Adam Langley, Bodo Moeller (Google)] - *) Use type ossl_ssize_t instad of ssize_t which isn't available on + *) Use type ossl_ssize_t instead of ssize_t which isn't available on all platforms. Move ssize_t definition from e_os.h to the public header file e_os2.h as it now appears in public header file cms.h [Steve Henson] @@ -8373,7 +8440,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k *) New OCSP utility. Allows OCSP requests to be generated or read. The request can be sent to a responder and the output - parsed, outputed or printed in text form. Not complete yet: + parsed, outputted or printed in text form. Not complete yet: still needs to check the OCSP response validity. [Steve Henson] @@ -9368,7 +9435,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k [Andy Polyakov] *) Modified SSL library such that the verify_callback that has been set - specificly for an SSL object with SSL_set_verify() is actually being + specifically for an SSL object with SSL_set_verify() is actually being used. Before the change, a verify_callback set with this function was ignored and the verify_callback() set in the SSL_CTX at the time of the call was used. New function X509_STORE_CTX_set_verify_cb() introduced @@ -10485,10 +10552,10 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k as other interfaces in OpenSSL, like the BIO interface. NCONF_dump_* dump the internal storage of the configuration file, which is useful for debugging. All other functions take the same - arguments as the old CONF_* functions wth the exception of the + arguments as the old CONF_* functions with the exception of the first that must be a `CONF *' instead of a `LHASH *'. - To make it easer to use the new classes with the old CONF_* functions, + To make it easier to use the new classes with the old CONF_* functions, the function CONF_set_default_method is provided. [Richard Levitte] @@ -12331,7 +12398,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k than the old method: it now uses a modified version of Ulf's parser to read the ANSI prototypes in all header files (thus the old K&R definitions aren't needed for error creation any more) and do a better job of - translating function codes into names. The old 'ASN1 error code imbedded + translating function codes into names. The old 'ASN1 error code embedded in a comment' is no longer necessary and it doesn't use .err files which have now been deleted. Also the error code call doesn't have to appear all on one line (which resulted in some large lines...). @@ -12632,7 +12699,7 @@ des-cbc 3624.96k 5258.21k 5530.91k 5624.30k 5628.26k *) Add a useful kludge to allow package maintainers to specify compiler and other platforms details on the command line without having to patch the - Configure script everytime: One now can use ``perl Configure + Configure script every time: One now can use ``perl Configure :
    '', i.e. platform ids are allowed to have details appended to them (separated by colons). This is treated as there would be a static pre-configured entry in Configure's %table under key with value diff --git a/deps/openssl/openssl/CONTRIBUTING b/deps/openssl/openssl/CONTRIBUTING index 5d717763d51e8a..57be75ce2b8a24 100644 --- a/deps/openssl/openssl/CONTRIBUTING +++ b/deps/openssl/openssl/CONTRIBUTING @@ -58,7 +58,7 @@ guidelines: consider adding a note in CHANGES. This could be a summarising description of the change, and could explain the grander details. Have a look through existing entries for inspiration. - Please note that this is NOT simply a copy of git-log oneliners. + Please note that this is NOT simply a copy of git-log one-liners. Also note that security fixes get an entry in CHANGES. This file helps users get more in depth information of what comes with a specific release without having to sift through the higher diff --git a/deps/openssl/openssl/Configurations/10-main.conf b/deps/openssl/openssl/Configurations/10-main.conf index 3c4299d2640488..df1cc005297836 100644 --- a/deps/openssl/openssl/Configurations/10-main.conf +++ b/deps/openssl/openssl/Configurations/10-main.conf @@ -263,7 +263,7 @@ my %targets = ( # primarily because vendor assembler can't assemble our modules # with -KPIC flag. As result it, assembly support, was not even # available as option. But its lack means lack of side-channel - # resistant code, which is incompatible with security by todays + # resistant code, which is incompatible with security by today's # standards. Fortunately gcc is readily available prepackaged # option, which we can firmly point at... # @@ -434,7 +434,7 @@ my %targets = ( # 32-bit message digests. (For the moment of this writing) HP C # doesn't seem to "digest" too many local variables (they make "him" # chew forever:-). For more details look-up MD32_XARRAY comment in -# crypto/sha/sha_lcl.h. +# crypto/sha/sha_local.h. # - originally there were 32-bit hpux-parisc2-* targets. They were # scrapped, because a) they were not interchangeable with other 32-bit # targets; b) performance-critical 32-bit assembly modules implement @@ -1313,7 +1313,6 @@ my %targets = ( "VC-WIN32" => { inherit_from => [ "VC-noCE-common", asm("x86_asm"), sub { $disabled{shared} ? () : "uplink_common" } ], - CFLAGS => add("/WX"), AS => sub { vc_win32_info()->{AS} }, ASFLAGS => sub { vc_win32_info()->{ASFLAGS} }, asoutflag => sub { vc_win32_info()->{asoutflag} }, diff --git a/deps/openssl/openssl/Configurations/15-android.conf b/deps/openssl/openssl/Configurations/15-android.conf index 7b496a4529bd30..4616394f8cfd43 100644 --- a/deps/openssl/openssl/Configurations/15-android.conf +++ b/deps/openssl/openssl/Configurations/15-android.conf @@ -241,7 +241,7 @@ my %targets = ( }, #################################################################### - # Backward compatible targets, (might) requre $CROSS_SYSROOT + # Backward compatible targets, (might) require $CROSS_SYSROOT # "android-armeabi" => { inherit_from => [ "android-arm" ], diff --git a/deps/openssl/openssl/Configurations/50-win-onecore.conf b/deps/openssl/openssl/Configurations/50-win-onecore.conf index d478f42b0f8d2b..c595279119250b 100644 --- a/deps/openssl/openssl/Configurations/50-win-onecore.conf +++ b/deps/openssl/openssl/Configurations/50-win-onecore.conf @@ -4,7 +4,7 @@ # Mobile[?] Windows editions. It's a set up "umbrella" libraries that # export subset of Win32 API that are common to all Windows 10 devices. # -# OneCore Configuration temporarly dedicated for console applications +# OneCore Configuration temporarily dedicated for console applications # due to disabled event logging, which is incompatible with one core. # Error messages are provided via standard error only. # TODO: extend error handling to use ETW based eventing diff --git a/deps/openssl/openssl/Configurations/descrip.mms.tmpl b/deps/openssl/openssl/Configurations/descrip.mms.tmpl index 0ccd5f0751b330..399f34b3eea0a8 100644 --- a/deps/openssl/openssl/Configurations/descrip.mms.tmpl +++ b/deps/openssl/openssl/Configurations/descrip.mms.tmpl @@ -343,6 +343,7 @@ CPPFLAGS_Q={- (my $c = $lib_cppflags.$cppflags2.$cppflags1) =~ s|"|""|g; # # #include # #include "internal/bar.h" +# #include "crypto/something.h" # # will use the logical names to find the files. Expecting # DECompHP C to find files in subdirectories of whatever was @@ -351,11 +352,13 @@ NODEBUG=@ .FIRST : $(NODEBUG) openssl_inc1 = F$PARSE("[.include.openssl]","A.;",,,"syntax_only") - "A.;" $(NODEBUG) openssl_inc2 = F$PARSE("{- catdir($config{sourcedir},"[.include.openssl]") -}","A.;",,,"SYNTAX_ONLY") - "A.;" - $(NODEBUG) internal_inc1 = F$PARSE("[.crypto.include.internal]","A.;",,,"SYNTAX_ONLY") - "A.;" + $(NODEBUG) internal_inc1 = F$PARSE("[.include.internal]","A.;",,,"SYNTAX_ONLY") - "A.;" $(NODEBUG) internal_inc2 = F$PARSE("{- catdir($config{sourcedir},"[.include.internal]") -}","A.;",,,"SYNTAX_ONLY") - "A.;" - $(NODEBUG) internal_inc3 = F$PARSE("{- catdir($config{sourcedir},"[.crypto.include.internal]") -}","A.;",,,"SYNTAX_ONLY") - "A.;" + $(NODEBUG) crypto_inc1 = F$PARSE("[.include.crypto]","A.;",,,"SYNTAX_ONLY") - "A.;" + $(NODEBUG) crypto_inc2 = F$PARSE("{- catdir($config{sourcedir},"[.include.crypto]") -}","A.;",,,"SYNTAX_ONLY") - "A.;" $(NODEBUG) DEFINE openssl 'openssl_inc1','openssl_inc2' - $(NODEBUG) DEFINE internal 'internal_inc1','internal_inc2','internal_inc3' + $(NODEBUG) DEFINE internal 'internal_inc1','internal_inc2' + $(NODEBUG) DEFINE crypto 'crypto_inc1','crypto_inc2' $(NODEBUG) staging_dir = "$(DESTDIR)" $(NODEBUG) staging_instdir = "" $(NODEBUG) staging_datadir = "" @@ -392,6 +395,7 @@ NODEBUG=@ $(NODEBUG) {- join("\n\t\$(NODEBUG) ", map { "DEASSIGN ".uc($_) } @shlibs) || "!" -} $(NODEBUG) DEASSIGN ossl_dataroot $(NODEBUG) DEASSIGN ossl_installroot + $(NODEBUG) DEASSIGN crypto $(NODEBUG) DEASSIGN internal $(NODEBUG) DEASSIGN openssl .DEFAULT : diff --git a/deps/openssl/openssl/Configurations/unix-Makefile.tmpl b/deps/openssl/openssl/Configurations/unix-Makefile.tmpl index 7db7578a4b64ab..9bf54f21277fcb 100644 --- a/deps/openssl/openssl/Configurations/unix-Makefile.tmpl +++ b/deps/openssl/openssl/Configurations/unix-Makefile.tmpl @@ -516,8 +516,8 @@ libclean: clean: libclean $(RM) $(PROGRAMS) $(TESTPROGS) $(ENGINES) $(SCRIPTS) $(RM) $(GENERATED_MANDATORY) $(GENERATED) - -$(RM) `find . -name '*{- $depext -}' \! -name '.*' -print` - -$(RM) `find . -name '*{- $objext -}' \! -name '.*' -print` + -$(RM) `find . -name '*{- $depext -}' \! -name '.*' \! -type d -print` + -$(RM) `find . -name '*{- $objext -}' \! -name '.*' \! -type d -print` $(RM) core $(RM) tags TAGS doc-nits $(RM) -r test/test-runs diff --git a/deps/openssl/openssl/Configure b/deps/openssl/openssl/Configure index 5a699836f32a09..2e9efaa5f3da8f 100755 --- a/deps/openssl/openssl/Configure +++ b/deps/openssl/openssl/Configure @@ -1,6 +1,6 @@ #! /usr/bin/env perl # -*- mode: perl; -*- -# Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -69,7 +69,15 @@ my $usage="Usage: Configure [no- ...] [enable- ...] [-Dxxx] [-lx # no-sse2 disables IA-32 SSE2 code in assembly modules, the above # mentioned '386' option implies this one # no- build without specified algorithm (rsa, idea, rc5, ...) -# - + compiler options are passed through +# - + All options which are unknown to the 'Configure' script are +# / passed through to the compiler. Unix-style options beginning +# with a '-' or '+' are recognized, as well as Windows-style +# options beginning with a '/'. If the option contains arguments +# separated by spaces, then the URL-style notation %20 can be +# used for the space character in order to avoid having to quote +# the option. For example, -opt%20arg gets expanded to -opt arg. +# In fact, any ASCII character can be encoded as %xx using its +# hexadecimal encoding. # -static while -static is also a pass-through compiler option (and # as such is limited to environments where it's actually # meaningful), it triggers a number configuration options, @@ -152,6 +160,10 @@ my @clang_devteam_warn = qw( -Wmissing-variable-declarations ); +my @cl_devteam_warn = qw( + /WX +); + # This adds backtrace information to the memory leak info. Is only used # when crypto-mdebug-backtrace is enabled. my $memleak_devteam_backtrace = "-rdynamic"; @@ -346,6 +358,7 @@ my @disablables = ( "dgram", "dh", "dsa", + "dso", "dtls", "dynamic-engine", "ec", @@ -423,7 +436,6 @@ my %deprecated_disablables = ( "buf-freelists" => undef, "ripemd" => "rmd160", "ui" => "ui-console", - "dso" => "", # Empty string means we're silent about it ); # All of the following are disabled by default: @@ -480,6 +492,7 @@ my @disable_cascades = ( # Without position independent code, there can be no shared libraries or DSOs "pic" => [ "shared" ], "shared" => [ "dynamic-engine" ], + "dso" => [ "dynamic-engine" ], "engine" => [ "afalgeng", "devcryptoeng" ], # no-autoalginit is only useful when building non-shared @@ -520,7 +533,7 @@ while ((my $first, my $second) = (shift @list, shift @list)) { &usage if ($#ARGV < 0); -# For the "make variables" CINCLUDES and CDEFINES, we support lists with +# For the "make variables" CPPINCLUDES and CPPDEFINES, we support lists with # platform specific list separators. Users from those platforms should # recognise those separators from how you set up the PATH to find executables. # The default is the Unix like separator, :, but as an exception, we also @@ -776,7 +789,7 @@ while (@argvcopy) { die "FIPS mode not supported\n"; } - elsif (/^[-+]/) + elsif (m|^[-+/]|) { if (/^--prefix=(.*)$/) { @@ -853,11 +866,11 @@ while (@argvcopy) { push @{$useradd{LDFLAGS}}, $_; } - elsif (/^-D(.*)$/) + elsif (m|^[-/]D(.*)$|) { push @{$useradd{CPPDEFINES}}, $1; } - elsif (/^-I(.*)$/) + elsif (m|^[-/]I(.*)$|) { push @{$useradd{CPPINCLUDES}}, $1; } @@ -867,11 +880,23 @@ while (@argvcopy) } else # common if (/^[-+]/), just pass down... { + # Treat %xx as an ASCII code (e.g. replace %20 by a space character). + # This provides a simple way to pass options with arguments separated + # by spaces without quoting (e.g. -opt%20arg translates to -opt arg). $_ =~ s/%([0-9a-f]{1,2})/chr(hex($1))/gei; push @{$useradd{CFLAGS}}, $_; push @{$useradd{CXXFLAGS}}, $_; } } + elsif (m|^/|) + { + # Treat %xx as an ASCII code (e.g. replace %20 by a space character). + # This provides a simple way to pass options with arguments separated + # by spaces without quoting (e.g. /opt%20arg translates to /opt arg). + $_ =~ s/%([0-9a-f]{1,2})/chr(hex($1))/gei; + push @{$useradd{CFLAGS}}, $_; + push @{$useradd{CXXFLAGS}}, $_; + } else { die "target already defined - $target (offending arg: $_)\n" if ($target ne ""); @@ -949,7 +974,11 @@ foreach (keys %user) { if (defined $value) { if (ref $user{$_} eq 'ARRAY') { - $user{$_} = [ split /$list_separator_re/, $value ]; + if ($_ eq 'CPPDEFINES' || $_ eq 'CPPINCLUDES') { + $user{$_} = [ split /$list_separator_re/, $value ]; + } else { + $user{$_} = [ $value ]; + } } elsif (!defined $user{$_}) { $user{$_} = $value; } @@ -1162,43 +1191,6 @@ foreach (keys %useradd) { # Allow overriding the build file name $config{build_file} = env('BUILDFILE') || $target{build_file} || "Makefile"; -my %disabled_info = (); # For configdata.pm -foreach my $what (sort keys %disabled) { - $config{options} .= " no-$what"; - - if (!grep { $what eq $_ } ( 'buildtest-c++', 'threads', 'shared', 'pic', - 'dynamic-engine', 'makedepend', - 'zlib-dynamic', 'zlib', 'sse2' )) { - (my $WHAT = uc $what) =~ s|-|_|g; - - # Fix up C macro end names - $WHAT = "RMD160" if $what eq "ripemd"; - - # fix-up crypto/directory name(s) - $what = "ripemd" if $what eq "rmd160"; - $what = "whrlpool" if $what eq "whirlpool"; - - my $macro = $disabled_info{$what}->{macro} = "OPENSSL_NO_$WHAT"; - - if ((grep { $what eq $_ } @{$config{sdirs}}) - && $what ne 'async' && $what ne 'err') { - @{$config{sdirs}} = grep { $what ne $_} @{$config{sdirs}}; - $disabled_info{$what}->{skipped} = [ catdir('crypto', $what) ]; - - if ($what ne 'engine') { - push @{$config{openssl_algorithm_defines}}, $macro; - } else { - @{$config{dirs}} = grep !/^engines$/, @{$config{dirs}}; - push @{$disabled_info{engine}->{skipped}}, catdir('engines'); - push @{$config{openssl_other_defines}}, $macro; - } - } else { - push @{$config{openssl_other_defines}}, $macro; - } - - } -} - # Make sure build_scheme is consistent. $target{build_scheme} = [ $target{build_scheme} ] if ref($target{build_scheme}) ne "ARRAY"; @@ -1288,10 +1280,8 @@ if ($target{shared_target} eq "") } if ($disabled{"dynamic-engine"}) { - push @{$config{openssl_other_defines}}, "OPENSSL_NO_DYNAMIC_ENGINE"; $config{dynamic_engines} = 0; } else { - push @{$config{openssl_other_defines}}, "OPENSSL_NO_STATIC_ENGINE"; $config{dynamic_engines} = 1; } @@ -1375,6 +1365,7 @@ unless ($disabled{asm}) { } if ($target{aes_asm_src}) { push @{$config{lib_defines}}, "AES_ASM" if ($target{aes_asm_src} =~ m/\baes-/);; + push @{$config{lib_defines}}, "AESNI_ASM" if ($target{aes_asm_src} =~ m/\baesni-/);; # aes-ctr.fake is not a real file, only indication that assembler # module implements AES_ctr32_encrypt... push @{$config{lib_defines}}, "AES_CTR_ASM" if ($target{aes_asm_src} =~ s/\s*aes-ctr\.fake//); @@ -1501,11 +1492,20 @@ if ($strict_warnings) my $wopt; my $gccver = $predefined_C{__GNUC__} // -1; - warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike" - unless $gccver >= 4; - push @strict_warnings_collection, @gcc_devteam_warn; - push @strict_warnings_collection, @clang_devteam_warn - if (defined($predefined_C{__clang__})); + if ($gccver >= 4) + { + push @strict_warnings_collection, @gcc_devteam_warn; + push @strict_warnings_collection, @clang_devteam_warn + if (defined($predefined_C{__clang__})); + } + elsif ($config{target} =~ /^VC-/) + { + push @strict_warnings_collection, @cl_devteam_warn; + } + else + { + warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike, or MSVC" + } } if (grep { $_ eq '-static' } @{$config{LDFLAGS}}) { @@ -1552,7 +1552,20 @@ unless ($disabled{afalgeng}) { } } -push @{$config{openssl_other_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalgeng}); +unless ($disabled{devcryptoeng}) { + if ($target =~ m/^BSD/) { + my $maxver = 5*100 + 7; + my $sysstr = `uname -s`; + my $verstr = `uname -r`; + $sysstr =~ s|\R$||; + $verstr =~ s|\R$||; + my ($ma, $mi, @rest) = split m|\.|, $verstr; + my $ver = $ma*100 + $mi; + if ($sysstr eq 'OpenBSD' && $ver >= $maxver) { + disable('too-new-kernel', 'devcryptoeng'); + } + } +} # Get the extra flags used when building shared libraries and modules. We # do this late because some of them depend on %disabled. @@ -1597,6 +1610,49 @@ $target{module_ldflags} = $target{shared_ldflag} unless defined $target{module_l # ALL MODIFICATIONS TO %disabled, %config and %target MUST BE DONE FROM HERE ON +my %disabled_info = (); # For configdata.pm +foreach my $what (sort keys %disabled) { + $config{options} .= " no-$what"; + + if (!grep { $what eq $_ } ( 'buildtest-c++', 'threads', 'shared', 'pic', + 'dynamic-engine', 'makedepend', + 'zlib-dynamic', 'zlib', 'sse2' )) { + (my $WHAT = uc $what) =~ s|-|_|g; + + # Fix up C macro end names + $WHAT = "RMD160" if $what eq "ripemd"; + + # fix-up crypto/directory name(s) + $what = "ripemd" if $what eq "rmd160"; + $what = "whrlpool" if $what eq "whirlpool"; + + my $macro = $disabled_info{$what}->{macro} = "OPENSSL_NO_$WHAT"; + + if ((grep { $what eq $_ } @{$config{sdirs}}) + && $what ne 'async' && $what ne 'err' && $what ne 'dso') { + @{$config{sdirs}} = grep { $what ne $_} @{$config{sdirs}}; + $disabled_info{$what}->{skipped} = [ catdir('crypto', $what) ]; + + if ($what ne 'engine') { + push @{$config{openssl_algorithm_defines}}, $macro; + } else { + @{$config{dirs}} = grep !/^engines$/, @{$config{dirs}}; + push @{$disabled_info{engine}->{skipped}}, catdir('engines'); + push @{$config{openssl_other_defines}}, $macro; + } + } else { + push @{$config{openssl_other_defines}}, $macro; + } + + } +} + +if ($disabled{"dynamic-engine"}) { + push @{$config{openssl_other_defines}}, "OPENSSL_NO_DYNAMIC_ENGINE"; +} else { + push @{$config{openssl_other_defines}}, "OPENSSL_NO_STATIC_ENGINE"; +} + # If we use the unified build, collect information from build.info files my %unified_info = (); diff --git a/deps/openssl/openssl/INSTALL b/deps/openssl/openssl/INSTALL index 2119cbae9e597d..328ad2baf480b4 100644 --- a/deps/openssl/openssl/INSTALL +++ b/deps/openssl/openssl/INSTALL @@ -351,6 +351,9 @@ Don't build support for datagram based BIOs. Selecting this option will also force the disabling of DTLS. + no-dso + Don't build support for loading Dynamic Shared Objects. + enable-devcryptoeng Build the /dev/crypto engine. It is automatically selected on BSD implementations, in which case it can be disabled with @@ -605,10 +608,19 @@ Take note of the VAR=value documentation below and how these flags interact with those variables. - -xxx, +xxx + -xxx, +xxx, /xxx Additional options that are not otherwise recognised are - passed through as they are to the compiler as well. Again, - consult your compiler documentation. + passed through as they are to the compiler as well. + Unix-style options beginning with a '-' or '+' and + Windows-style options beginning with a '/' are recognized. + Again, consult your compiler documentation. + + If the option contains arguments separated by spaces, + then the URL-style notation %20 can be used for the space + character in order to avoid having to quote the option. + For example, -opt%20arg gets expanded to -opt arg. + In fact, any ASCII character can be encoded as %xx using its + hexadecimal encoding. Take note of the VAR=value documentation below and how these flags interact with those variables. @@ -1071,7 +1083,7 @@ HASHBANGPERL The command string for the Perl executable to insert in the - #! line of perl scripts that will be publically installed. + #! line of perl scripts that will be publicly installed. Default: /usr/bin/env perl Note: the value of this variable is added to the same scripts on all platforms, but it's only relevant on Unix-like platforms. diff --git a/deps/openssl/openssl/NEWS b/deps/openssl/openssl/NEWS index 1c88dee35389bb..eba6c3b6d93fc2 100644 --- a/deps/openssl/openssl/NEWS +++ b/deps/openssl/openssl/NEWS @@ -5,6 +5,11 @@ This file gives a brief overview of the major changes between each OpenSSL release. For more details please read the CHANGES file. + Major changes between OpenSSL 1.1.1d and OpenSSL 1.1.1e [17 Mar 2020] + + o Fixed an overflow bug in the x64_64 Montgomery squaring procedure + used in exponentiation with 512-bit moduli (CVE-2019-1551) + Major changes between OpenSSL 1.1.1c and OpenSSL 1.1.1d [10 Sep 2019] o Fixed a fork protection issue (CVE-2019-1549) diff --git a/deps/openssl/openssl/NOTES.ANDROID b/deps/openssl/openssl/NOTES.ANDROID index 86459778fae1a9..f19ec71b8368a1 100644 --- a/deps/openssl/openssl/NOTES.ANDROID +++ b/deps/openssl/openssl/NOTES.ANDROID @@ -15,22 +15,33 @@ Configuration ------------- - Android is naturally cross-compiled target and you can't use ./config. + Android is a naturally cross-compiled target and you can't use ./config. You have to use ./Configure and name your target explicitly; there are android-arm, android-arm64, android-mips, android-mip64, android-x86 - and android-x86_64. Do not pass --cross-compile-prefix (as you might - be tempted), as it will be "calculated" automatically based on chosen - platform. Though you still need to know the prefix to extend your PATH, - in order to invoke $(CROSS_COMPILE)gcc and company. (Configure will fail - and give you a hint if you get it wrong.) Apart from PATH adjustment - you need to set ANDROID_NDK_HOME environment to point at NDK directory - as /some/where/android-ndk-. Both variables are significant at both - configuration and compilation times. NDK customarily supports multiple - Android API levels, e.g. android-14, android-21, etc. By default latest - one available is chosen. If you need to target older platform, pass - additional -D__ANDROID_API__=N to Configure. N is numeric value of the - target platform version. For example, to compile for ICS on ARM with - NDK 10d: + and android-x86_64 (*MIPS targets are no longer supported with NDK R20+). + Do not pass --cross-compile-prefix (as you might be tempted), as it will + be "calculated" automatically based on chosen platform. Though you still + need to know the prefix to extend your PATH, in order to invoke + $(CROSS_COMPILE)clang [*gcc on NDK 19 and lower] and company. (Configure + will fail and give you a hint if you get it wrong.) Apart from PATH + adjustment you need to set ANDROID_NDK_HOME environment to point at the + NDK directory. If you're using a side-by-side NDK the path will look + something like /some/where/android-sdk/ndk/, and for a standalone + NDK the path will be something like /some/where/android-ndk-. + Both variables are significant at both configuration and compilation times. + The NDK customarily supports multiple Android API levels, e.g. android-14, + android-21, etc. By default latest API level is chosen. If you need to + target an older platform pass the argument -D__ANDROID_API__=N to Configure, + with N being the numerical value of the target platform version. For example, + to compile for Android 10 arm64 with a side-by-side NDK r20.0.5594570 + + export ANDROID_NDK_HOME=/home/whoever/Android/android-sdk/ndk/20.0.5594570 + PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:$PATH + ./Configure android-arm64 -D__ANDROID_API__=29 + make + + Older versions of the NDK have GCC under their common prebuilt tools directory, so the bin path + will be slightly different. EG: to compile for ICS on ARM with NDK 10d: export ANDROID_NDK_HOME=/some/where/android-ndk-10d PATH=$ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin:$PATH diff --git a/deps/openssl/openssl/README b/deps/openssl/openssl/README index 51bb4789be2a9a..8e9ce75a335d74 100644 --- a/deps/openssl/openssl/README +++ b/deps/openssl/openssl/README @@ -1,5 +1,5 @@ - OpenSSL 1.1.1d 10 Sep 2019 + OpenSSL 1.1.1e 17 Mar 2020 Copyright (c) 1998-2019 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson diff --git a/deps/openssl/openssl/apps/apps.c b/deps/openssl/openssl/apps/apps.c index 7177c5d9826612..c06241abb97580 100644 --- a/deps/openssl/openssl/apps/apps.c +++ b/deps/openssl/openssl/apps/apps.c @@ -1962,26 +1962,46 @@ unsigned char *next_protos_parse(size_t *outlen, const char *in) size_t len; unsigned char *out; size_t i, start = 0; + size_t skipped = 0; len = strlen(in); - if (len >= 65535) + if (len == 0 || len >= 65535) return NULL; - out = app_malloc(strlen(in) + 1, "NPN buffer"); + out = app_malloc(len + 1, "NPN buffer"); for (i = 0; i <= len; ++i) { if (i == len || in[i] == ',') { + /* + * Zero-length ALPN elements are invalid on the wire, we could be + * strict and reject the entire string, but just ignoring extra + * commas seems harmless and more friendly. + * + * Every comma we skip in this way puts the input buffer another + * byte ahead of the output buffer, so all stores into the output + * buffer need to be decremented by the number commas skipped. + */ + if (i == start) { + ++start; + ++skipped; + continue; + } if (i - start > 255) { OPENSSL_free(out); return NULL; } - out[start] = (unsigned char)(i - start); + out[start-skipped] = (unsigned char)(i - start); start = i + 1; } else { - out[i + 1] = in[i]; + out[i + 1 - skipped] = in[i]; } } - *outlen = len + 1; + if (len <= skipped) { + OPENSSL_free(out); + return NULL; + } + + *outlen = len + 1 - skipped; return out; } diff --git a/deps/openssl/openssl/apps/apps.h b/deps/openssl/openssl/apps/apps.h index 4a3e1a88573eed..34c3fd8633c1e8 100644 --- a/deps/openssl/openssl/apps/apps.h +++ b/deps/openssl/openssl/apps/apps.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_APPS_H -# define HEADER_APPS_H +#ifndef OSSL_APPS_H +# define OSSL_APPS_H # include "e_os.h" /* struct timeval for DTLS */ # include "internal/nelem.h" diff --git a/deps/openssl/openssl/apps/dgst.c b/deps/openssl/openssl/apps/dgst.c index d6f5a0e2e71253..e595f7d8186f3f 100644 --- a/deps/openssl/openssl/apps/dgst.c +++ b/deps/openssl/openssl/apps/dgst.c @@ -19,6 +19,7 @@ #include #include #include +#include #undef BUFSIZE #define BUFSIZE 1024*8 @@ -27,9 +28,15 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout, EVP_PKEY *key, unsigned char *sigin, int siglen, const char *sig_name, const char *md_name, const char *file); +static void show_digests(const OBJ_NAME *name, void *bio_); + +struct doall_dgst_digests { + BIO *bio; + int n; +}; typedef enum OPTION_choice { - OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, + OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_LIST, OPT_C, OPT_R, OPT_OUT, OPT_SIGN, OPT_PASSIN, OPT_VERIFY, OPT_PRVERIFY, OPT_SIGNATURE, OPT_KEYFORM, OPT_ENGINE, OPT_ENGINE_IMPL, OPT_HEX, OPT_BINARY, OPT_DEBUG, OPT_FIPS_FINGERPRINT, @@ -43,6 +50,7 @@ const OPTIONS dgst_options[] = { {OPT_HELP_STR, 1, '-', " file... files to digest (default is stdin)\n"}, {"help", OPT_HELP, '-', "Display this summary"}, + {"list", OPT_LIST, '-', "List digests"}, {"c", OPT_C, '-', "Print the digest with separating colons"}, {"r", OPT_R, '-', "Print the digest in coreutils format"}, {"out", OPT_OUT, '>', "Output to filename rather than stdout"}, @@ -91,6 +99,7 @@ int dgst_main(int argc, char **argv) int i, ret = 1, out_bin = -1, want_pub = 0, do_verify = 0; unsigned char *buf = NULL, *sigbuf = NULL; int engine_impl = 0; + struct doall_dgst_digests dec; prog = opt_progname(argv[0]); buf = app_malloc(BUFSIZE, "I/O buffer"); @@ -108,6 +117,15 @@ int dgst_main(int argc, char **argv) opt_help(dgst_options); ret = 0; goto end; + case OPT_LIST: + BIO_printf(bio_out, "Supported digests:\n"); + dec.bio = bio_out; + dec.n = 0; + OBJ_NAME_do_all_sorted(OBJ_NAME_TYPE_MD_METH, + show_digests, &dec); + BIO_printf(bio_out, "\n"); + ret = 0; + goto end; case OPT_C: separator = 1; break; @@ -413,20 +431,86 @@ int dgst_main(int argc, char **argv) return ret; } +static void show_digests(const OBJ_NAME *name, void *arg) +{ + struct doall_dgst_digests *dec = (struct doall_dgst_digests *)arg; + const EVP_MD *md = NULL; + + /* Filter out signed digests (a.k.a signature algorithms) */ + if (strstr(name->name, "rsa") != NULL || strstr(name->name, "RSA") != NULL) + return; + + if (!islower((unsigned char)*name->name)) + return; + + /* Filter out message digests that we cannot use */ + md = EVP_get_digestbyname(name->name); + if (md == NULL) + return; + + BIO_printf(dec->bio, "-%-25s", name->name); + if (++dec->n == 3) { + BIO_printf(dec->bio, "\n"); + dec->n = 0; + } else { + BIO_printf(dec->bio, " "); + } +} + +/* + * The newline_escape_filename function performs newline escaping for any + * filename that contains a newline. This function also takes a pointer + * to backslash. The backslash pointer is a flag to indicating whether a newline + * is present in the filename. If a newline is present, the backslash flag is + * set and the output format will contain a backslash at the beginning of the + * digest output. This output format is to replicate the output format found + * in the '*sum' checksum programs. This aims to preserve backward + * compatibility. + */ +static const char *newline_escape_filename(const char *file, int * backslash) +{ + size_t i, e = 0, length = strlen(file), newline_count = 0, mem_len = 0; + char *file_cpy = NULL; + + for (i = 0; i < length; i++) + if (file[i] == '\n') + newline_count++; + + mem_len = length + newline_count + 1; + file_cpy = app_malloc(mem_len, file); + i = 0; + + while(e < length) { + const char c = file[e]; + if (c == '\n') { + file_cpy[i++] = '\\'; + file_cpy[i++] = 'n'; + *backslash = 1; + } else { + file_cpy[i++] = c; + } + e++; + } + file_cpy[i] = '\0'; + return (const char*)file_cpy; +} + + int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout, EVP_PKEY *key, unsigned char *sigin, int siglen, const char *sig_name, const char *md_name, const char *file) { - size_t len; - int i; + size_t len = BUFSIZE; + int i, backslash = 0, ret = 1; + unsigned char *sigbuf = NULL; while (BIO_pending(bp) || !BIO_eof(bp)) { i = BIO_read(bp, (char *)buf, BUFSIZE); if (i < 0) { BIO_printf(bio_err, "Read Error in %s\n", file); ERR_print_errors(bio_err); - return 1; + goto end; } if (i == 0) break; @@ -439,37 +523,51 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout, BIO_printf(out, "Verified OK\n"); } else if (i == 0) { BIO_printf(out, "Verification Failure\n"); - return 1; + goto end; } else { BIO_printf(bio_err, "Error Verifying Data\n"); ERR_print_errors(bio_err); - return 1; + goto end; } - return 0; + ret = 0; + goto end; } if (key != NULL) { EVP_MD_CTX *ctx; + int pkey_len; BIO_get_md_ctx(bp, &ctx); - len = BUFSIZE; + pkey_len = EVP_PKEY_size(key); + if (pkey_len > BUFSIZE) { + len = pkey_len; + sigbuf = app_malloc(len, "Signature buffer"); + buf = sigbuf; + } if (!EVP_DigestSignFinal(ctx, buf, &len)) { BIO_printf(bio_err, "Error Signing Data\n"); ERR_print_errors(bio_err); - return 1; + goto end; } } else { len = BIO_gets(bp, (char *)buf, BUFSIZE); if ((int)len < 0) { ERR_print_errors(bio_err); - return 1; + goto end; } } if (binout) { BIO_write(out, buf, len); } else if (sep == 2) { + file = newline_escape_filename(file, &backslash); + + if (backslash == 1) + BIO_puts(out, "\\"); + for (i = 0; i < (int)len; i++) BIO_printf(out, "%02x", buf[i]); + BIO_printf(out, " *%s\n", file); + OPENSSL_free((char *)file); } else { if (sig_name != NULL) { BIO_puts(out, sig_name); @@ -488,5 +586,11 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout, } BIO_printf(out, "\n"); } - return 0; + + ret = 0; + end: + if (sigbuf != NULL) + OPENSSL_clear_free(sigbuf, len); + + return ret; } diff --git a/deps/openssl/openssl/apps/enc.c b/deps/openssl/openssl/apps/enc.c index d1772f3eb9f25e..ddf51e0dba1563 100644 --- a/deps/openssl/openssl/apps/enc.c +++ b/deps/openssl/openssl/apps/enc.c @@ -50,7 +50,8 @@ typedef enum OPTION_choice { const OPTIONS enc_options[] = { {"help", OPT_HELP, '-', "Display this summary"}, - {"ciphers", OPT_LIST, '-', "List ciphers"}, + {"list", OPT_LIST, '-', "List ciphers"}, + {"ciphers", OPT_LIST, '-', "Alias for -list"}, {"in", OPT_IN, '<', "Input file"}, {"out", OPT_OUT, '>', "Output file"}, {"pass", OPT_PASS, 's', "Passphrase source"}, diff --git a/deps/openssl/openssl/apps/ocsp.c b/deps/openssl/openssl/apps/ocsp.c index 5d2391816995c3..b85a4d82c1bd14 100644 --- a/deps/openssl/openssl/apps/ocsp.c +++ b/deps/openssl/openssl/apps/ocsp.c @@ -114,7 +114,7 @@ static int acfd = (int) INVALID_SOCKET; static int index_changed(CA_DB *); static void spawn_loop(void); static int print_syslog(const char *str, size_t len, void *levPtr); -static void sock_timeout(int signum); +static void socket_timeout(int signum); # endif # ifndef OPENSSL_NO_SOCK @@ -597,7 +597,7 @@ int ocsp_main(int argc, char **argv) if (multi && acbio != NULL) spawn_loop(); if (acbio != NULL && req_timeout > 0) - signal(SIGALRM, sock_timeout); + signal(SIGALRM, socket_timeout); #endif if (acbio != NULL) @@ -1352,7 +1352,7 @@ static int urldecode(char *p) # endif # ifdef OCSP_DAEMON -static void sock_timeout(int signum) +static void socket_timeout(int signum) { if (acfd != (int)INVALID_SOCKET) (void)shutdown(acfd, SHUT_RD); diff --git a/deps/openssl/openssl/apps/openssl.c b/deps/openssl/openssl/apps/openssl.c index 9648f35b028446..ff7b759a40b1c0 100644 --- a/deps/openssl/openssl/apps/openssl.c +++ b/deps/openssl/openssl/apps/openssl.c @@ -164,6 +164,13 @@ int main(int argc, char *argv[]) } prog = prog_init(); + if (prog == NULL) { + BIO_printf(bio_err, + "FATAL: Startup failure (dev note: prog_init() failed)\n"); + ERR_print_errors(bio_err); + ret = 1; + goto end; + } pname = opt_progname(argv[0]); /* first check the program name */ diff --git a/deps/openssl/openssl/apps/passwd.c b/deps/openssl/openssl/apps/passwd.c index aa516c874e656f..d741d05335f89d 100644 --- a/deps/openssl/openssl/apps/passwd.c +++ b/deps/openssl/openssl/apps/passwd.c @@ -807,7 +807,7 @@ static int do_passwd(int passed_salt, char **salt_p, char **salt_malloc_p, (*salt_p)[i] = cov_2char[(*salt_p)[i] & 0x3f]; /* 6 bits */ (*salt_p)[i] = 0; # ifdef CHARSET_EBCDIC - /* The password encryption funtion will convert back to ASCII */ + /* The password encryption function will convert back to ASCII */ ascii2ebcdic(*salt_p, *salt_p, saltlen); # endif } diff --git a/deps/openssl/openssl/apps/pkcs12.c b/deps/openssl/openssl/apps/pkcs12.c index d0600b376043b8..3603b60c19b3ab 100644 --- a/deps/openssl/openssl/apps/pkcs12.c +++ b/deps/openssl/openssl/apps/pkcs12.c @@ -41,6 +41,7 @@ int dump_certs_pkeys_bags(BIO *out, const STACK_OF(PKCS12_SAFEBAG) *bags, int dump_certs_pkeys_bag(BIO *out, const PKCS12_SAFEBAG *bags, const char *pass, int passlen, int options, char *pempass, const EVP_CIPHER *enc); +void print_attribute(BIO *out, const ASN1_TYPE *av); int print_attribs(BIO *out, const STACK_OF(X509_ATTRIBUTE) *attrlst, const char *name); void hex_prin(BIO *out, unsigned char *buf, int len); @@ -878,6 +879,38 @@ int cert_load(BIO *in, STACK_OF(X509) *sk) return ret; } +/* Generalised x509 attribute value print */ + +void print_attribute(BIO *out, const ASN1_TYPE *av) +{ + char *value; + + switch (av->type) { + case V_ASN1_BMPSTRING: + value = OPENSSL_uni2asc(av->value.bmpstring->data, + av->value.bmpstring->length); + BIO_printf(out, "%s\n", value); + OPENSSL_free(value); + break; + + case V_ASN1_OCTET_STRING: + hex_prin(out, av->value.octet_string->data, + av->value.octet_string->length); + BIO_printf(out, "\n"); + break; + + case V_ASN1_BIT_STRING: + hex_prin(out, av->value.bit_string->data, + av->value.bit_string->length); + BIO_printf(out, "\n"); + break; + + default: + BIO_printf(out, "\n", av->type); + break; + } +} + /* Generalised attribute print: handle PKCS#8 and bag attributes */ int print_attribs(BIO *out, const STACK_OF(X509_ATTRIBUTE) *attrlst, @@ -885,8 +918,7 @@ int print_attribs(BIO *out, const STACK_OF(X509_ATTRIBUTE) *attrlst, { X509_ATTRIBUTE *attr; ASN1_TYPE *av; - char *value; - int i, attr_nid; + int i, j, attr_nid; if (!attrlst) { BIO_printf(out, "%s: \n", name); return 1; @@ -910,30 +942,10 @@ int print_attribs(BIO *out, const STACK_OF(X509_ATTRIBUTE) *attrlst, } if (X509_ATTRIBUTE_count(attr)) { - av = X509_ATTRIBUTE_get0_type(attr, 0); - switch (av->type) { - case V_ASN1_BMPSTRING: - value = OPENSSL_uni2asc(av->value.bmpstring->data, - av->value.bmpstring->length); - BIO_printf(out, "%s\n", value); - OPENSSL_free(value); - break; - - case V_ASN1_OCTET_STRING: - hex_prin(out, av->value.octet_string->data, - av->value.octet_string->length); - BIO_printf(out, "\n"); - break; - - case V_ASN1_BIT_STRING: - hex_prin(out, av->value.bit_string->data, - av->value.bit_string->length); - BIO_printf(out, "\n"); - break; - - default: - BIO_printf(out, "\n", av->type); - break; + for (j = 0; j < X509_ATTRIBUTE_count(attr); j++) + { + av = X509_ATTRIBUTE_get0_type(attr, j); + print_attribute(out, av); } } else { BIO_printf(out, "\n"); diff --git a/deps/openssl/openssl/apps/pkeyutl.c b/deps/openssl/openssl/apps/pkeyutl.c index 2c4e524b693e47..831e14dab4b39f 100644 --- a/deps/openssl/openssl/apps/pkeyutl.c +++ b/deps/openssl/openssl/apps/pkeyutl.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -299,8 +299,7 @@ int pkeyutl_main(int argc, char **argv) /* Sanity check the input */ if (buf_inlen > EVP_MAX_MD_SIZE && (pkey_op == EVP_PKEY_OP_SIGN - || pkey_op == EVP_PKEY_OP_VERIFY - || pkey_op == EVP_PKEY_OP_VERIFYRECOVER)) { + || pkey_op == EVP_PKEY_OP_VERIFY)) { BIO_printf(bio_err, "Error: The input data looks too long to be a hash\n"); goto end; diff --git a/deps/openssl/openssl/apps/req.c b/deps/openssl/openssl/apps/req.c index f9d6fba1094da7..a603907cd5af53 100644 --- a/deps/openssl/openssl/apps/req.c +++ b/deps/openssl/openssl/apps/req.c @@ -200,9 +200,12 @@ static int duplicated(LHASH_OF(OPENSSL_STRING) *addexts, char *kv) *p = '\0'; /* Finally have a clean "key"; see if it's there [by attempt to add it]. */ - if ((p = (char *)lh_OPENSSL_STRING_insert(addexts, (OPENSSL_STRING*)kv)) - != NULL || lh_OPENSSL_STRING_error(addexts)) { - OPENSSL_free(p != NULL ? p : kv); + p = (char *)lh_OPENSSL_STRING_insert(addexts, (OPENSSL_STRING*)kv); + if (p != NULL) { + OPENSSL_free(p); + return 1; + } else if (lh_OPENSSL_STRING_error(addexts)) { + OPENSSL_free(kv); return -1; } @@ -435,12 +438,14 @@ int req_main(int argc, char **argv) if (verbose) BIO_printf(bio_err, "Using configuration from %s\n", template); - req_conf = app_load_config(template); + if ((req_conf = app_load_config(template)) == NULL) + goto end; if (addext_bio) { if (verbose) BIO_printf(bio_err, "Using additional configuration from command line\n"); - addext_conf = app_load_config_bio(addext_bio, NULL); + if ((addext_conf = app_load_config_bio(addext_bio, NULL)) == NULL) + goto end; } if (template != default_config_file && !app_load_modules(req_conf)) goto end; diff --git a/deps/openssl/openssl/apps/s_cb.c b/deps/openssl/openssl/apps/s_cb.c index 5dc1d03f28837a..6406ddfb9e1b20 100644 --- a/deps/openssl/openssl/apps/s_cb.c +++ b/deps/openssl/openssl/apps/s_cb.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -188,6 +188,7 @@ static STRINT_PAIR cert_type_list[] = { {"RSA fixed ECDH", TLS_CT_RSA_FIXED_ECDH}, {"ECDSA fixed ECDH", TLS_CT_ECDSA_FIXED_ECDH}, {"GOST01 Sign", TLS_CT_GOST01_SIGN}, + {"GOST12 Sign", TLS_CT_GOST12_SIGN}, {NULL} }; diff --git a/deps/openssl/openssl/apps/s_server.c b/deps/openssl/openssl/apps/s_server.c index 929a08bd85b06c..2248a432e26814 100644 --- a/deps/openssl/openssl/apps/s_server.c +++ b/deps/openssl/openssl/apps/s_server.c @@ -180,9 +180,6 @@ static unsigned int psk_server_cb(SSL *ssl, const char *identity, } #endif -#define TLS13_AES_128_GCM_SHA256_BYTES ((const unsigned char *)"\x13\x01") -#define TLS13_AES_256_GCM_SHA384_BYTES ((const unsigned char *)"\x13\x02") - static int psk_find_session_cb(SSL *ssl, const unsigned char *identity, size_t identity_len, SSL_SESSION **sess) { @@ -3208,6 +3205,12 @@ static int www_body(int s, int stype, int prot, unsigned char *context) if (e[0] == ' ') break; + if (e[0] == ':') { + /* Windows drive. We treat this the same way as ".." */ + dot = -1; + break; + } + switch (dot) { case 1: dot = (e[0] == '.') ? 2 : 0; @@ -3216,11 +3219,11 @@ static int www_body(int s, int stype, int prot, unsigned char *context) dot = (e[0] == '.') ? 3 : 0; break; case 3: - dot = (e[0] == '/') ? -1 : 0; + dot = (e[0] == '/' || e[0] == '\\') ? -1 : 0; break; } if (dot == 0) - dot = (e[0] == '/') ? 1 : 0; + dot = (e[0] == '/' || e[0] == '\\') ? 1 : 0; } dot = (dot == 3) || (dot == -1); /* filename contains ".." * component */ @@ -3234,11 +3237,11 @@ static int www_body(int s, int stype, int prot, unsigned char *context) if (dot) { BIO_puts(io, text); - BIO_printf(io, "'%s' contains '..' reference\r\n", p); + BIO_printf(io, "'%s' contains '..' or ':'\r\n", p); break; } - if (*p == '/') { + if (*p == '/' || *p == '\\') { BIO_puts(io, text); BIO_printf(io, "'%s' is an invalid path\r\n", p); break; diff --git a/deps/openssl/openssl/apps/server.pem b/deps/openssl/openssl/apps/server.pem index d0fc265f045528..b3807591994df1 100644 --- a/deps/openssl/openssl/apps/server.pem +++ b/deps/openssl/openssl/apps/server.pem @@ -1,52 +1,47 @@ -subject= C = UK, O = OpenSSL Group, OU = FOR TESTING PURPOSES ONLY, CN = Test Server Cert -issuer= C = UK, O = OpenSSL Group, OU = FOR TESTING PURPOSES ONLY, CN = OpenSSL Test Intermediate CA -----BEGIN CERTIFICATE----- -MIID5zCCAs+gAwIBAgIJALnu1NlVpZ6zMA0GCSqGSIb3DQEBBQUAMHAxCzAJBgNV -BAYTAlVLMRYwFAYDVQQKDA1PcGVuU1NMIEdyb3VwMSIwIAYDVQQLDBlGT1IgVEVT -VElORyBQVVJQT1NFUyBPTkxZMSUwIwYDVQQDDBxPcGVuU1NMIFRlc3QgSW50ZXJt -ZWRpYXRlIENBMB4XDTExMTIwODE0MDE0OFoXDTIxMTAxNjE0MDE0OFowZDELMAkG -A1UEBhMCVUsxFjAUBgNVBAoMDU9wZW5TU0wgR3JvdXAxIjAgBgNVBAsMGUZPUiBU -RVNUSU5HIFBVUlBPU0VTIE9OTFkxGTAXBgNVBAMMEFRlc3QgU2VydmVyIENlcnQw -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDzhPOSNtyyRspmeuUpxfNJ -KCLTuf7g3uQ4zu4iHOmRO5TQci+HhVlLZrHF9XqFXcIP0y4pWDbMSGuiorUmzmfi -R7bfSdI/+qIQt8KXRH6HNG1t8ou0VSvWId5TS5Dq/er5ODUr9OaaDva7EquHIcMv -vPQGuI+OEAcnleVCy9HVEIySrO4P3CNIicnGkwwiAud05yUAq/gPXBC1hTtmlPD7 -TVcGVSEiJdvzqqlgv02qedGrkki6GY4S7GjZxrrf7Foc2EP+51LJzwLQx3/JfrCU -41NEWAsu/Sl0tQabXESN+zJ1pDqoZ3uHMgpQjeGiE0olr+YcsSW/tJmiU9OiAr8R -AgMBAAGjgY8wgYwwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBeAwLAYJYIZI -AYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQW -BBSCvM8AABPR9zklmifnr9LvIBturDAfBgNVHSMEGDAWgBQ2w2yI55X+sL3szj49 -hqshgYfa2jANBgkqhkiG9w0BAQUFAAOCAQEAqb1NV0B0/pbpK9Z4/bNjzPQLTRLK -WnSNm/Jh5v0GEUOE/Beg7GNjNrmeNmqxAlpqWz9qoeoFZax+QBpIZYjROU3TS3fp -yLsrnlr0CDQ5R7kCCDGa8dkXxemmpZZLbUCpW2Uoy8sAA4JjN9OtsZY7dvUXFgJ7 -vVNTRnI01ghknbtD+2SxSQd3CWF6QhcRMAzZJ1z1cbbwGDDzfvGFPzJ+Sq+zEPds -xoVLLSetCiBc+40ZcDS5dV98h9XD7JMTQfxzA7mNGv73JoZJA6nFgj+ADSlJsY/t -JBv+z1iQRueoh9Qeee+ZbRifPouCB8FDx+AltvHTANdAq0t/K3o+pplMVA== +MIIDJTCCAg2gAwIBAgIBAjANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdSb290 +IENBMCAXDTE2MDExNDIyMjk0NloYDzIxMTYwMTE1MjIyOTQ2WjAZMRcwFQYDVQQD +DA5zZXJ2ZXIuZXhhbXBsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANVdYGrf/GHuSKqMEUhDpW22Ul2qmEmxYZI1sfw6BCUMbXn/tNXJ6VwcO+Crs7h9 +o95tveDd11q/FEcRQl6mgtBhwX/dE0bmCYUHDvLU/Bpk0gqtIKsga5bwrczEGVNV +3AEdpLPvirRJU12KBRzx3OFEv8XX4ncZV1yXC3XuiENxD8pswbSyUKd3RmxYDxG/ +8XYkWq45QrdRZynh0FUwbxfkkeqt+CjCQ2+iZKn7nZiSYkg+6w1PgkqK/z9y7pa1 +rqHBmLrvfZB1bf9aUp6r9cB+0IdD24UHBw99OHr90dPuZR3T6jlqhzfuStPgDW71 +cKzCvfFu85KVXqnwoWWVk40CAwEAAaN9MHswHQYDVR0OBBYEFMDnhL/oWSczELBS +T1FSLwbWwHrNMB8GA1UdIwQYMBaAFHB/Lq6DaFmYBCMqzes+F80k3QFJMAkGA1Ud +EwQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwGQYDVR0RBBIwEIIOc2VydmVyLmV4 +YW1wbGUwDQYJKoZIhvcNAQELBQADggEBAHvTBEN1ig8RrsT716Ginv4gGNX0LzGI +RrZ1jO7lm5emuaPNYJpGw0iX5Zdo91qGNXPZaZ75X3S55pQTActq3OPEBOll2pyk +iyjz+Zp/v5cfRZLlBbFW5gv2R94eibYr4U3fSn4B0yPcl4xH/l/HzJhGDsSDW8qK +8VIJvmvsPwmL0JMCv+FR59F+NFYZdND/KCXet59WUpF9ICmFCoBEX3EyJXEPwhbi +X2sdPzJbCjx0HLli8e0HUKNttLQxCsBTRGo6iISLLamwN47mGDa9miBADwGSiz2q +YeeuLO02zToHhnQ6KbPXOrQAqcL1kngO4g+j/ru+4AZThFkdkGnltvk= -----END CERTIFICATE----- ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEA84TzkjbcskbKZnrlKcXzSSgi07n+4N7kOM7uIhzpkTuU0HIv -h4VZS2axxfV6hV3CD9MuKVg2zEhroqK1Js5n4ke230nSP/qiELfCl0R+hzRtbfKL -tFUr1iHeU0uQ6v3q+Tg1K/Tmmg72uxKrhyHDL7z0BriPjhAHJ5XlQsvR1RCMkqzu -D9wjSInJxpMMIgLndOclAKv4D1wQtYU7ZpTw+01XBlUhIiXb86qpYL9NqnnRq5JI -uhmOEuxo2ca63+xaHNhD/udSyc8C0Md/yX6wlONTRFgLLv0pdLUGm1xEjfsydaQ6 -qGd7hzIKUI3hohNKJa/mHLElv7SZolPTogK/EQIDAQABAoIBAADq9FwNtuE5IRQn -zGtO4q7Y5uCzZ8GDNYr9RKp+P2cbuWDbvVAecYq2NV9QoIiWJOAYZKklOvekIju3 -r0UZLA0PRiIrTg6NrESx3JrjWDK8QNlUO7CPTZ39/K+FrmMkV9lem9yxjJjyC34D -AQB+YRTx+l14HppjdxNwHjAVQpIx/uO2F5xAMuk32+3K+pq9CZUtrofe1q4Agj9R -5s8mSy9pbRo9kW9wl5xdEotz1LivFOEiqPUJTUq5J5PeMKao3vdK726XI4Z455Nm -W2/MA0YV0ug2FYinHcZdvKM6dimH8GLfa3X8xKRfzjGjTiMSwsdjgMa4awY3tEHH -674jhAECgYEA/zqMrc0zsbNk83sjgaYIug5kzEpN4ic020rSZsmQxSCerJTgNhmg -utKSCt0Re09Jt3LqG48msahX8ycqDsHNvlEGPQSbMu9IYeO3Wr3fAm75GEtFWePY -BhM73I7gkRt4s8bUiUepMG/wY45c5tRF23xi8foReHFFe9MDzh8fJFECgYEA9EFX -4qAik1pOJGNei9BMwmx0I0gfVEIgu0tzeVqT45vcxbxr7RkTEaDoAG6PlbWP6D9a -WQNLp4gsgRM90ZXOJ4up5DsAWDluvaF4/omabMA+MJJ5kGZ0gCj5rbZbKqUws7x8 -bp+6iBfUPJUbcqNqFmi/08Yt7vrDnMnyMw2A/sECgYEAiiuRMxnuzVm34hQcsbhH -6ymVqf7j0PW2qK0F4H1ocT9qhzWFd+RB3kHWrCjnqODQoI6GbGr/4JepHUpre1ex -4UEN5oSS3G0ru0rC3U4C59dZ5KwDHFm7ffZ1pr52ljfQDUsrjjIMRtuiwNK2OoRa -WSsqiaL+SDzSB+nBmpnAizECgYBdt/y6rerWUx4MhDwwtTnel7JwHyo2MDFS6/5g -n8qC2Lj6/fMDRE22w+CA2esp7EJNQJGv+b27iFpbJEDh+/Lf5YzIT4MwVskQ5bYB -JFcmRxUVmf4e09D7o705U/DjCgMH09iCsbLmqQ38ONIRSHZaJtMDtNTHD1yi+jF+ -OT43gQKBgQC/2OHZoko6iRlNOAQ/tMVFNq7fL81GivoQ9F1U0Qr+DH3ZfaH8eIkX -xT0ToMPJUzWAn8pZv0snA0um6SIgvkCuxO84OkANCVbttzXImIsL7pFzfcwV/ERK -UM6j0ZuSMFOCr/lGPAoOQU0fskidGEHi1/kW+suSr28TqsyYZpwBDQ== ------END RSA PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDVXWBq3/xh7kiq +jBFIQ6VttlJdqphJsWGSNbH8OgQlDG15/7TVyelcHDvgq7O4faPebb3g3ddavxRH +EUJepoLQYcF/3RNG5gmFBw7y1PwaZNIKrSCrIGuW8K3MxBlTVdwBHaSz74q0SVNd +igUc8dzhRL/F1+J3GVdclwt17ohDcQ/KbMG0slCnd0ZsWA8Rv/F2JFquOUK3UWcp +4dBVMG8X5JHqrfgowkNvomSp+52YkmJIPusNT4JKiv8/cu6Wta6hwZi6732QdW3/ +WlKeq/XAftCHQ9uFBwcPfTh6/dHT7mUd0+o5aoc37krT4A1u9XCswr3xbvOSlV6p +8KFllZONAgMBAAECggEADLTt7A+A2Vg2jamf0dztejY0e42QWjstI2b9PZc67fXq +gyx+WYkX07t+uWegYWliG/oPJ9guXiIpE/5sJHToL37S5kmFP2CtynVcJ4wVo4DD +nY0n9+kLX0bgIuS+2V6wpoRcbbbjXM9NHrH8kfe5ftT4UtEDlLI2qLX6IcDd7p4u +OYjILChR8GSGTw96yIy2Ws/1Uq9PMw64JoT4RcK5QqnkcPMDFRH1SeLOL+zXP2c4 +nEl9yOy3HauZKxwl/Ry/XK1s3DdjopIAU29ut+hAuMiTb06kzZnumL9NoplKoZtU +otw/gVcCKhT+Ep+p6i8InLF0XEME8A0qUR0niWebgQKBgQD6vkxR49B8ZZQrzjw4 +XKs1lI9cP7cgPiuWlDHMNjYou3WbOaGrMeScvbB1Ldh9A8pjAhxlw8AaV/xs4qcA +trmVmSISVMVyc1wSGlJXWi2nUzTNs9OE3vj22SyStihf8UUZtWwX2b5Y4JrYhA/V ++ThGGqHR03oLNLShNLtJc2c7YQKBgQDZ1nkibEyrepexw/fnwkw61IJKq9wRIh1G +PREakhbe9wU5ie0knuf9razt7awzQiwFmlixmWqsM7UEtLuXNnNPciwdrKhhbvrd +vD/rkbIEHEPllIhFlDtOzn3hRBWTzWmXFjpou/2LvHTSbVis4IYVZymTp2jb1ZLs +7VbiG9JTrQKBgQDc6n75g1szzpdehQT/r33U5j/syeJBUSU8NPMu9fB/sLHsgjlT +SNEf2+y1QSBE/Or6kmiMrIv7advn30W+Vj9qc5HWTsPrk4HiHTjA553jl2alebN5 +lK4LZspjtIQcC8mS3goPdXPEgJdM/gWpwzr2YQ6DfOxBJT2j7n64NyoT4QKBgH7/ +yx+GhCx1DHtXBPDZFhg2TL+78lEK0oZgk9gp06up2CHzh44SFq6O0oLkTcCUk5Ww +poTkLIy4mJBlzfgahp+KsK2cO46SZS9g0ONFzcMXt33hWpE2Gl2XhUwPpYTF/QlY +rDTjZK5S8Mi9dzVSsNlJi7PJphiEK2R1+nFYRwcBAoGBANWoIG85jpXAOnq/Kcgx +Rl3YivR0Ke6r1tFlP58rT7X3EkiboXyQl5vLIFCAwUte6RGrLl1dy3Qyh80B9ySL +Jx6vj42CK7vgv6A96TuVYhnXTnEI6ZvwAQ2VGaw4BizhjALs/kdSE/og9aSCs3ws +KQypwAFz0tbHxaNag/bSAN0J +-----END PRIVATE KEY----- diff --git a/deps/openssl/openssl/apps/speed.c b/deps/openssl/openssl/apps/speed.c index 20149506cc746e..d4ae7ab7bfdedc 100644 --- a/deps/openssl/openssl/apps/speed.c +++ b/deps/openssl/openssl/apps/speed.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the OpenSSL license (the "License"). You may not use @@ -1242,8 +1242,6 @@ static int run_benchmark(int async_jobs, OSSL_ASYNC_FD job_fd = 0; size_t num_job_fds = 0; - run = 1; - if (async_jobs == 0) { return loop_function((void *)&loopargs); } @@ -2412,7 +2410,7 @@ int speed_main(int argc, char **argv) print_message(names[D_CBC_128_CML], c[D_CBC_128_CML][testnum], lengths[testnum], seconds.sym); Time_F(START); - for (count = 0, run = 1; COND(c[D_CBC_128_CML][testnum]); count++) + for (count = 0; COND(c[D_CBC_128_CML][testnum]); count++) Camellia_cbc_encrypt(loopargs[0].buf, loopargs[0].buf, (size_t)lengths[testnum], &camellia_ks1, iv, CAMELLIA_ENCRYPT); @@ -2434,7 +2432,7 @@ int speed_main(int argc, char **argv) exit(1); } Time_F(START); - for (count = 0, run = 1; COND(c[D_CBC_192_CML][testnum]); count++) + for (count = 0; COND(c[D_CBC_192_CML][testnum]); count++) Camellia_cbc_encrypt(loopargs[0].buf, loopargs[0].buf, (size_t)lengths[testnum], &camellia_ks2, iv, CAMELLIA_ENCRYPT); @@ -2452,7 +2450,7 @@ int speed_main(int argc, char **argv) print_message(names[D_CBC_256_CML], c[D_CBC_256_CML][testnum], lengths[testnum], seconds.sym); Time_F(START); - for (count = 0, run = 1; COND(c[D_CBC_256_CML][testnum]); count++) + for (count = 0; COND(c[D_CBC_256_CML][testnum]); count++) Camellia_cbc_encrypt(loopargs[0].buf, loopargs[0].buf, (size_t)lengths[testnum], &camellia_ks3, iv, CAMELLIA_ENCRYPT); @@ -2472,7 +2470,7 @@ int speed_main(int argc, char **argv) print_message(names[D_CBC_IDEA], c[D_CBC_IDEA][testnum], lengths[testnum], seconds.sym); Time_F(START); - for (count = 0, run = 1; COND(c[D_CBC_IDEA][testnum]); count++) + for (count = 0; COND(c[D_CBC_IDEA][testnum]); count++) IDEA_cbc_encrypt(loopargs[0].buf, loopargs[0].buf, (size_t)lengths[testnum], &idea_ks, iv, IDEA_ENCRYPT); @@ -2492,7 +2490,7 @@ int speed_main(int argc, char **argv) print_message(names[D_CBC_SEED], c[D_CBC_SEED][testnum], lengths[testnum], seconds.sym); Time_F(START); - for (count = 0, run = 1; COND(c[D_CBC_SEED][testnum]); count++) + for (count = 0; COND(c[D_CBC_SEED][testnum]); count++) SEED_cbc_encrypt(loopargs[0].buf, loopargs[0].buf, (size_t)lengths[testnum], &seed_ks, iv, 1); d = Time_F(STOP); @@ -2515,7 +2513,7 @@ int speed_main(int argc, char **argv) exit(1); } Time_F(START); - for (count = 0, run = 1; COND(c[D_CBC_RC2][testnum]); count++) + for (count = 0; COND(c[D_CBC_RC2][testnum]); count++) RC2_cbc_encrypt(loopargs[0].buf, loopargs[0].buf, (size_t)lengths[testnum], &rc2_ks, iv, RC2_ENCRYPT); @@ -2539,7 +2537,7 @@ int speed_main(int argc, char **argv) exit(1); } Time_F(START); - for (count = 0, run = 1; COND(c[D_CBC_RC5][testnum]); count++) + for (count = 0; COND(c[D_CBC_RC5][testnum]); count++) RC5_32_cbc_encrypt(loopargs[0].buf, loopargs[0].buf, (size_t)lengths[testnum], &rc5_ks, iv, RC5_ENCRYPT); @@ -2559,7 +2557,7 @@ int speed_main(int argc, char **argv) print_message(names[D_CBC_BF], c[D_CBC_BF][testnum], lengths[testnum], seconds.sym); Time_F(START); - for (count = 0, run = 1; COND(c[D_CBC_BF][testnum]); count++) + for (count = 0; COND(c[D_CBC_BF][testnum]); count++) BF_cbc_encrypt(loopargs[0].buf, loopargs[0].buf, (size_t)lengths[testnum], &bf_ks, iv, BF_ENCRYPT); @@ -2579,7 +2577,7 @@ int speed_main(int argc, char **argv) print_message(names[D_CBC_CAST], c[D_CBC_CAST][testnum], lengths[testnum], seconds.sym); Time_F(START); - for (count = 0, run = 1; COND(c[D_CBC_CAST][testnum]); count++) + for (count = 0; COND(c[D_CBC_CAST][testnum]); count++) CAST_cbc_encrypt(loopargs[0].buf, loopargs[0].buf, (size_t)lengths[testnum], &cast_ks, iv, CAST_ENCRYPT); @@ -3006,7 +3004,7 @@ int speed_main(int argc, char **argv) pctx = NULL; } if (kctx == NULL || /* keygen ctx is not null */ - !EVP_PKEY_keygen_init(kctx) /* init keygen ctx */ ) { + EVP_PKEY_keygen_init(kctx) <= 0/* init keygen ctx */ ) { ecdh_checks = 0; BIO_printf(bio_err, "ECDH keygen failure.\n"); ERR_print_errors(bio_err); @@ -3014,12 +3012,12 @@ int speed_main(int argc, char **argv) break; } - if (!EVP_PKEY_keygen(kctx, &key_A) || /* generate secret key A */ - !EVP_PKEY_keygen(kctx, &key_B) || /* generate secret key B */ + if (EVP_PKEY_keygen(kctx, &key_A) <= 0 || /* generate secret key A */ + EVP_PKEY_keygen(kctx, &key_B) <= 0 || /* generate secret key B */ !(ctx = EVP_PKEY_CTX_new(key_A, NULL)) || /* derivation ctx from skeyA */ - !EVP_PKEY_derive_init(ctx) || /* init derivation ctx */ - !EVP_PKEY_derive_set_peer(ctx, key_B) || /* set peer pubkey in ctx */ - !EVP_PKEY_derive(ctx, NULL, &outlen) || /* determine max length */ + EVP_PKEY_derive_init(ctx) <= 0 || /* init derivation ctx */ + EVP_PKEY_derive_set_peer(ctx, key_B) <= 0 || /* set peer pubkey in ctx */ + EVP_PKEY_derive(ctx, NULL, &outlen) <= 0 || /* determine max length */ outlen == 0 || /* ensure outlen is a valid size */ outlen > MAX_ECDH_SIZE /* avoid buffer overflow */ ) { ecdh_checks = 0; @@ -3106,8 +3104,8 @@ int speed_main(int argc, char **argv) if ((ed_pctx = EVP_PKEY_CTX_new_id(test_ed_curves[testnum].nid, NULL)) == NULL - || !EVP_PKEY_keygen_init(ed_pctx) - || !EVP_PKEY_keygen(ed_pctx, &ed_pkey)) { + || EVP_PKEY_keygen_init(ed_pctx) <= 0 + || EVP_PKEY_keygen(ed_pctx, &ed_pkey) <= 0) { st = 0; EVP_PKEY_CTX_free(ed_pctx); break; @@ -3395,6 +3393,7 @@ static void print_message(const char *s, long num, int length, int tm) mr ? "+DT:%s:%d:%d\n" : "Doing %s for %ds on %d size blocks: ", s, tm, length); (void)BIO_flush(bio_err); + run = 1; alarm(tm); #else BIO_printf(bio_err, @@ -3412,6 +3411,7 @@ static void pkey_print_message(const char *str, const char *str2, long num, mr ? "+DTP:%d:%s:%s:%d\n" : "Doing %u bits %s %s's for %ds: ", bits, str, str2, tm); (void)BIO_flush(bio_err); + run = 1; alarm(tm); #else BIO_printf(bio_err, @@ -3584,6 +3584,7 @@ static int do_multi(int multi, int size_num) p = buf + 4; k = atoi(sstrsep(&p, sep)); sstrsep(&p, sep); + sstrsep(&p, sep); d = atof(sstrsep(&p, sep)); eddsa_results[k][0] += d; @@ -3641,7 +3642,7 @@ static void multiblock_speed(const EVP_CIPHER *evp_cipher, int lengths_single, for (j = 0; j < num; j++) { print_message(alg_name, 0, mblengths[j], seconds->sym); Time_F(START); - for (count = 0, run = 1; run && count < 0x7fffffff; count++) { + for (count = 0; run && count < 0x7fffffff; count++) { unsigned char aad[EVP_AEAD_TLS1_AAD_LEN]; EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM mb_param; size_t len = mblengths[j]; diff --git a/deps/openssl/openssl/apps/timeouts.h b/deps/openssl/openssl/apps/timeouts.h index e023b0aa49209a..7e606cba0b20ac 100644 --- a/deps/openssl/openssl/apps/timeouts.h +++ b/deps/openssl/openssl/apps/timeouts.h @@ -7,11 +7,11 @@ * https://www.openssl.org/source/license.html */ -#ifndef INCLUDED_TIMEOUTS_H -# define INCLUDED_TIMEOUTS_H +#ifndef OSSL_APPS_TIMEOUTS_H +# define OSSL_APPS_TIMEOUTS_H /* numbers in us */ # define DGRAM_RCV_TIMEOUT 250000 # define DGRAM_SND_TIMEOUT 250000 -#endif /* ! INCLUDED_TIMEOUTS_H */ +#endif /* ! OSSL_APPS_TIMEOUTS_H */ diff --git a/deps/openssl/openssl/apps/ts.c b/deps/openssl/openssl/apps/ts.c index 930c1daaab6d43..44a8f75d4a370b 100644 --- a/deps/openssl/openssl/apps/ts.c +++ b/deps/openssl/openssl/apps/ts.c @@ -282,7 +282,8 @@ int ts_main(int argc, char **argv) goto end; } - conf = load_config_file(configfile); + if ((conf = load_config_file(configfile)) == NULL) + goto end; if (configfile != default_config_file && !app_load_modules(conf)) goto end; diff --git a/deps/openssl/openssl/apps/vms_term_sock.h b/deps/openssl/openssl/apps/vms_term_sock.h index c4d1702d799ecc..e092b18eaa7d80 100644 --- a/deps/openssl/openssl/apps/vms_term_sock.h +++ b/deps/openssl/openssl/apps/vms_term_sock.h @@ -8,8 +8,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef TERM_SOCK_H -# define TERM_SOCK_H +#ifndef OSSL_APPS_VMS_TERM_SOCK_H +# define OSSL_APPS_VMS_TERM_SOCK_H /* ** Terminal Socket Function Codes diff --git a/deps/openssl/openssl/apps/x509.c b/deps/openssl/openssl/apps/x509.c index 81291a9a4f90f2..5bb110fe4a0a3a 100644 --- a/deps/openssl/openssl/apps/x509.c +++ b/deps/openssl/openssl/apps/x509.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -72,7 +72,7 @@ const OPTIONS x509_options[] = { {"outform", OPT_OUTFORM, 'f', "Output format - default PEM (one of DER or PEM)"}, {"out", OPT_OUT, '>', "Output file - default stdout"}, - {"keyform", OPT_KEYFORM, 'F', "Private key format - default PEM"}, + {"keyform", OPT_KEYFORM, 'E', "Private key format - default PEM"}, {"passin", OPT_PASSIN, 's', "Private key password/pass-phrase source"}, {"serial", OPT_SERIAL, '-', "Print serial number value"}, {"subject_hash", OPT_HASH, '-', "Print subject hash value"}, @@ -107,7 +107,7 @@ const OPTIONS x509_options[] = { {"checkend", OPT_CHECKEND, 'M', "Check whether the cert expires in the next arg seconds"}, {OPT_MORE_STR, 1, 1, "Exit 1 if so, 0 if not"}, - {"signkey", OPT_SIGNKEY, '<', "Self sign cert with arg"}, + {"signkey", OPT_SIGNKEY, 's', "Self sign cert with arg"}, {"x509toreq", OPT_X509TOREQ, '-', "Output a certification request object"}, {"req", OPT_REQ, '-', "Input is a certificate request, sign and output"}, @@ -130,7 +130,7 @@ const OPTIONS x509_options[] = { {"checkemail", OPT_CHECKEMAIL, 's', "Check certificate matches email"}, {"checkip", OPT_CHECKIP, 's', "Check certificate matches ipaddr"}, {"CAform", OPT_CAFORM, 'F', "CA format - default PEM"}, - {"CAkeyform", OPT_CAKEYFORM, 'f', "CA key format - default PEM"}, + {"CAkeyform", OPT_CAKEYFORM, 'E', "CA key format - default PEM"}, {"sigopt", OPT_SIGOPT, 's', "Signature parameter in n:v form"}, {"force_pubkey", OPT_FORCE_PUBKEY, '<', "Force the Key to put inside certificate"}, {"next_serial", OPT_NEXT_SERIAL, '-', "Increment current certificate serial number"}, @@ -217,7 +217,7 @@ int x509_main(int argc, char **argv) goto opthelp; break; case OPT_KEYFORM: - if (!opt_format(opt_arg(), OPT_FMT_PEMDER, &keyformat)) + if (!opt_format(opt_arg(), OPT_FMT_PDE, &keyformat)) goto opthelp; break; case OPT_CAFORM: @@ -225,7 +225,7 @@ int x509_main(int argc, char **argv) goto opthelp; break; case OPT_CAKEYFORM: - if (!opt_format(opt_arg(), OPT_FMT_ANY, &CAkeyformat)) + if (!opt_format(opt_arg(), OPT_FMT_PDE, &CAkeyformat)) goto opthelp; break; case OPT_OUT: diff --git a/deps/openssl/openssl/appveyor.yml b/deps/openssl/openssl/appveyor.yml index 24966c0faa5ce4..242d6a9ffe6fd0 100644 --- a/deps/openssl/openssl/appveyor.yml +++ b/deps/openssl/openssl/appveyor.yml @@ -1,3 +1,6 @@ +image: + - Visual Studio 2017 + platform: - x64 - x86 @@ -5,17 +8,24 @@ platform: environment: fast_finish: true matrix: - - VSVER: 14 + - VSVER: 15 configuration: - shared - plain + - minimal before_build: + - ps: >- + Install-Module VSSetup -Scope CurrentUser + - ps: >- + Get-VSSetupInstance -All + - ps: >- + gci env:* | sort-object name - ps: >- If ($env:Platform -Match "x86") { $env:VCVARS_PLATFORM="x86" - $env:TARGET="VC-WIN32 no-asm" + $env:TARGET="VC-WIN32 no-asm --strict-warnings" } Else { $env:VCVARS_PLATFORM="amd64" $env:TARGET="VC-WIN64A-masm" @@ -23,11 +33,12 @@ before_build: - ps: >- If ($env:Configuration -Match "shared") { $env:SHARED="no-makedepend" + } ElseIf ($env:Configuration -Match "minimal") { + $env:SHARED="no-shared no-dso no-makedepend no-aria no-async no-autoload-config no-blake2 no-bf no-camellia no-cast no-chacha no-cmac no-cms no-comp no-ct no-des no-dgram no-dh no-dsa no-dtls no-ec2m no-engine no-filenames no-gost no-idea no-mdc2 no-md4 no-multiblock no-nextprotoneg no-ocsp no-ocb no-poly1305 no-psk no-rc2 no-rc4 no-rmd160 no-seed no-siphash no-sm2 no-sm3 no-sm4 no-srp no-srtp no-ssl3 no-ssl3-method no-ts no-ui-console no-whirlpool no-asm -DOPENSSL_SMALL_FOOTPRINT" } Else { $env:SHARED="no-shared no-makedepend" } - - ps: $env:VSCOMNTOOLS=(Get-Content ("env:VS" + "$env:VSVER" + "0COMNTOOLS")) - - call "%VSCOMNTOOLS%\..\..\VC\vcvarsall.bat" %VCVARS_PLATFORM% + - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %VCVARS_PLATFORM% - mkdir _build - cd _build - perl ..\Configure %TARGET% %SHARED% diff --git a/deps/openssl/openssl/build.info b/deps/openssl/openssl/build.info index 3dda4e89bf5cc5..05c9bdd19c566d 100644 --- a/deps/openssl/openssl/build.info +++ b/deps/openssl/openssl/build.info @@ -9,20 +9,20 @@ ""; -} LIBS=libcrypto libssl -INCLUDE[libcrypto]=. crypto/include include +INCLUDE[libcrypto]=. include INCLUDE[libssl]=. include DEPEND[libssl]=libcrypto # Empty DEPEND "indices" means the dependencies are expected to be built # unconditionally before anything else. -DEPEND[]=include/openssl/opensslconf.h crypto/include/internal/bn_conf.h \ - crypto/include/internal/dso_conf.h +DEPEND[]=include/openssl/opensslconf.h include/crypto/bn_conf.h \ + include/crypto/dso_conf.h DEPEND[include/openssl/opensslconf.h]=configdata.pm GENERATE[include/openssl/opensslconf.h]=include/openssl/opensslconf.h.in -DEPEND[crypto/include/internal/bn_conf.h]=configdata.pm -GENERATE[crypto/include/internal/bn_conf.h]=crypto/include/internal/bn_conf.h.in -DEPEND[crypto/include/internal/dso_conf.h]=configdata.pm -GENERATE[crypto/include/internal/dso_conf.h]=crypto/include/internal/dso_conf.h.in +DEPEND[include/crypto/bn_conf.h]=configdata.pm +GENERATE[include/crypto/bn_conf.h]=include/crypto/bn_conf.h.in +DEPEND[include/crypto/dso_conf.h]=configdata.pm +GENERATE[include/crypto/dso_conf.h]=include/crypto/dso_conf.h.in IF[{- defined $target{shared_defflag} -}] IF[{- $config{target} =~ /^mingw/ -}] diff --git a/deps/openssl/openssl/config b/deps/openssl/openssl/config index c1a94d4e42fae8..f28828d4826eeb 100755 --- a/deps/openssl/openssl/config +++ b/deps/openssl/openssl/config @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 1998-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1998-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -509,10 +509,7 @@ case "$GUESSOS" in OUT="ios64-cross" ;; alpha-*-linux2) ISA=`awk '/cpu model/{print$4;exit(0);}' /proc/cpuinfo` - case ${ISA:-generic} in - *[678]) OUT="linux-alpha+bwx-$CC" ;; - *) OUT="linux-alpha-$CC" ;; - esac + OUT="linux-alpha-$CC" if [ "$CC" = "gcc" ]; then case ${ISA:-generic} in EV5|EV45) __CNF_CFLAGS="$__CNF_CFLAGS -mcpu=ev5" @@ -908,8 +905,12 @@ fi OUT="$OUT" -$PERL $THERE/Configure LIST | grep "$OUT" > /dev/null -if [ $? = "0" ]; then +if [ "$OUT" = "darwin64-x86_64-cc" ]; then + echo "WARNING! If you wish to build 32-bit libraries, then you have to" + echo " invoke 'KERNEL_BITS=32 $THERE/config $options'." +fi + +if $PERL $THERE/Configure LIST | grep "$OUT" > /dev/null; then if [ "$VERBOSE" = "true" ]; then echo /usr/bin/env \ __CNF_CPPDEFINES="'$__CNF_CPPDEFINES'" \ @@ -939,8 +940,5 @@ else exit 1 fi -if [ "$OUT" = "darwin64-x86_64-cc" ]; then - echo "WARNING! If you wish to build 32-bit libraries, then you have to" - echo " invoke 'KERNEL_BITS=32 $THERE/config $options'." -fi +# Do not add anothing from here on, so we don't lose the Configure exit code ) diff --git a/deps/openssl/openssl/crypto/LPdir_unix.c b/deps/openssl/openssl/crypto/LPdir_unix.c index b1022895c85540..bbbec0aee138af 100644 --- a/deps/openssl/openssl/crypto/LPdir_unix.c +++ b/deps/openssl/openssl/crypto/LPdir_unix.c @@ -131,9 +131,8 @@ const char *LP_find_file(LP_DIR_CTX **ctx, const char *directory) return 0; } - strncpy((*ctx)->entry_name, direntry->d_name, - sizeof((*ctx)->entry_name) - 1); - (*ctx)->entry_name[sizeof((*ctx)->entry_name) - 1] = '\0'; + OPENSSL_strlcpy((*ctx)->entry_name, direntry->d_name, + sizeof((*ctx)->entry_name)); #ifdef __VMS if ((*ctx)->expect_file_generations) { char *p = (*ctx)->entry_name + strlen((*ctx)->entry_name); diff --git a/deps/openssl/openssl/crypto/aes/aes_core.c b/deps/openssl/openssl/crypto/aes/aes_core.c index f1f11fd8de7bf5..e3e688f528a5d5 100644 --- a/deps/openssl/openssl/crypto/aes/aes_core.c +++ b/deps/openssl/openssl/crypto/aes/aes_core.c @@ -41,7 +41,7 @@ #include #include #include -#include "aes_locl.h" +#include "aes_local.h" #ifndef AES_ASM /*- diff --git a/deps/openssl/openssl/crypto/aes/aes_ecb.c b/deps/openssl/openssl/crypto/aes/aes_ecb.c index 29bfc1ad66f7a2..4fa360ca8b8d72 100644 --- a/deps/openssl/openssl/crypto/aes/aes_ecb.c +++ b/deps/openssl/openssl/crypto/aes/aes_ecb.c @@ -10,7 +10,7 @@ #include #include -#include "aes_locl.h" +#include "aes_local.h" void AES_ecb_encrypt(const unsigned char *in, unsigned char *out, const AES_KEY *key, const int enc) diff --git a/deps/openssl/openssl/crypto/aes/aes_ige.c b/deps/openssl/openssl/crypto/aes/aes_ige.c index 75f796cf3b8fba..dce4ef11be4f72 100644 --- a/deps/openssl/openssl/crypto/aes/aes_ige.c +++ b/deps/openssl/openssl/crypto/aes/aes_ige.c @@ -10,7 +10,7 @@ #include "internal/cryptlib.h" #include -#include "aes_locl.h" +#include "aes_local.h" #define N_WORDS (AES_BLOCK_SIZE / sizeof(unsigned long)) typedef struct { diff --git a/deps/openssl/openssl/crypto/aes/aes_locl.h b/deps/openssl/openssl/crypto/aes/aes_local.h similarity index 90% rename from deps/openssl/openssl/crypto/aes/aes_locl.h rename to deps/openssl/openssl/crypto/aes/aes_local.h index adee29df8d91a2..cc8456861d928e 100644 --- a/deps/openssl/openssl/crypto/aes/aes_locl.h +++ b/deps/openssl/openssl/crypto/aes/aes_local.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_AES_LOCL_H -# define HEADER_AES_LOCL_H +#ifndef OSSL_CRYPTO_AES_LOCAL_H +# define OSSL_CRYPTO_AES_LOCAL_H # include # include @@ -39,4 +39,4 @@ typedef unsigned char u8; /* This controls loop-unrolling in aes_core.c */ # undef FULL_UNROLL -#endif /* !HEADER_AES_LOCL_H */ +#endif /* !OSSL_CRYPTO_AES_LOCAL_H */ diff --git a/deps/openssl/openssl/crypto/aes/aes_misc.c b/deps/openssl/openssl/crypto/aes/aes_misc.c index 7403c84f82d243..e0edc72ba71cc8 100644 --- a/deps/openssl/openssl/crypto/aes/aes_misc.c +++ b/deps/openssl/openssl/crypto/aes/aes_misc.c @@ -9,7 +9,7 @@ #include #include -#include "aes_locl.h" +#include "aes_local.h" const char *AES_options(void) { diff --git a/deps/openssl/openssl/crypto/aes/aes_x86core.c b/deps/openssl/openssl/crypto/aes/aes_x86core.c index 1b660d716d6c18..50b53abc12195f 100644 --- a/deps/openssl/openssl/crypto/aes/aes_x86core.c +++ b/deps/openssl/openssl/crypto/aes/aes_x86core.c @@ -46,7 +46,7 @@ #include #include -#include "aes_locl.h" +#include "aes_local.h" /* * These two parameters control which table, 256-byte or 2KB, is diff --git a/deps/openssl/openssl/crypto/aes/asm/aes-armv4.pl b/deps/openssl/openssl/crypto/aes/asm/aes-armv4.pl index 998158998e9069..1112eef50c0b3a 100644 --- a/deps/openssl/openssl/crypto/aes/asm/aes-armv4.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aes-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1242,4 +1242,4 @@ close SELF; print $code; -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/aes/asm/aes-c64xplus.pl b/deps/openssl/openssl/crypto/aes/asm/aes-c64xplus.pl index 19d2cc176fb2bd..cad3fcd06e3679 100644 --- a/deps/openssl/openssl/crypto/aes/asm/aes-c64xplus.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aes-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1379,4 +1379,4 @@ ___ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/aes/asm/aes-mips.pl b/deps/openssl/openssl/crypto/aes/asm/aes-mips.pl index 716c3356ead90c..b5601e90ea3fd6 100644 --- a/deps/openssl/openssl/crypto/aes/asm/aes-mips.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aes-mips.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -2167,4 +2167,4 @@ print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/aes/asm/aes-parisc.pl b/deps/openssl/openssl/crypto/aes/asm/aes-parisc.pl index e817c757f8c282..5b07fac3d004b8 100644 --- a/deps/openssl/openssl/crypto/aes/asm/aes-parisc.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aes-parisc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1035,4 +1035,4 @@ print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/aes/asm/aes-ppc.pl b/deps/openssl/openssl/crypto/aes/asm/aes-ppc.pl index ca69df4c3e95bd..bb4ee84ae33741 100644 --- a/deps/openssl/openssl/crypto/aes/asm/aes-ppc.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aes-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1456,4 +1456,4 @@ () $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/aes/asm/aes-s390x.pl b/deps/openssl/openssl/crypto/aes/asm/aes-s390x.pl index 815fde8fcd7e2b..4cb8f433174288 100644 --- a/deps/openssl/openssl/crypto/aes/asm/aes-s390x.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aes-s390x.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1987,7 +1987,7 @@ () .Lxts_enc_done: stg $sp,$tweak+0($sp) # wipe tweak - stg $sp,$twesk+8($sp) + stg $sp,$tweak+8($sp) lm${g} %r6,$ra,6*$SIZE_T($sp) br $ra .size AES_xts_encrypt,.-AES_xts_encrypt @@ -2267,7 +2267,7 @@ () stg $sp,$tweak-16+8($sp) .Lxts_dec_done: stg $sp,$tweak+0($sp) # wipe tweak - stg $sp,$twesk+8($sp) + stg $sp,$tweak+8($sp) lm${g} %r6,$ra,6*$SIZE_T($sp) br $ra .size AES_xts_decrypt,.-AES_xts_decrypt @@ -2279,4 +2279,4 @@ () $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; # force flush +close STDOUT or die "error closing STDOUT: $!"; # force flush diff --git a/deps/openssl/openssl/crypto/aes/asm/aes-sparcv9.pl b/deps/openssl/openssl/crypto/aes/asm/aes-sparcv9.pl index 40d1f94ccd7213..1b37a9203c2750 100755 --- a/deps/openssl/openssl/crypto/aes/asm/aes-sparcv9.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aes-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1189,4 +1189,4 @@ () $code =~ s/fmovs.*$//gm; print $code; -close STDOUT; # ensure flush +close STDOUT or die "error closing STDOUT: $!"; # ensure flush diff --git a/deps/openssl/openssl/crypto/aes/asm/aesfx-sparcv9.pl b/deps/openssl/openssl/crypto/aes/asm/aesfx-sparcv9.pl index 9ddf0b4b00ecbe..1678c4f786f2cd 100644 --- a/deps/openssl/openssl/crypto/aes/asm/aesfx-sparcv9.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aesfx-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1267,4 +1267,4 @@ sub unfx3src { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/aes/asm/aesni-mb-x86_64.pl b/deps/openssl/openssl/crypto/aes/asm/aesni-mb-x86_64.pl index 1f356d2d3fbb61..be2434f1204150 100644 --- a/deps/openssl/openssl/crypto/aes/asm/aesni-mb-x86_64.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aesni-mb-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -70,7 +70,7 @@ $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9]\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } @@ -1471,4 +1471,4 @@ sub aesni { $code =~ s/\b(aes.*%xmm[0-9]+).*$/aesni($1)/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/aes/asm/aesni-sha1-x86_64.pl b/deps/openssl/openssl/crypto/aes/asm/aesni-sha1-x86_64.pl index b01a4c55c86aed..42fe5d469ea6c8 100644 --- a/deps/openssl/openssl/crypto/aes/asm/aesni-sha1-x86_64.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aesni-sha1-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -108,7 +108,7 @@ $avx=1 if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM} =~ /ml64/) && `ml64 2>&1` =~ /Version ([0-9]+)\./ && $1>=10); -$avx=1 if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9]\.[0-9]+)/ && $2>=3.0); +$avx=1 if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/ && $2>=3.0); $shaext=1; ### set to zero if compiling for 1.0.1 @@ -133,6 +133,7 @@ .type aesni_cbc_sha1_enc,\@abi-omnipotent .align 32 aesni_cbc_sha1_enc: +.cfi_startproc # caller should check for SSSE3 and AES-NI bits mov OPENSSL_ia32cap_P+0(%rip),%r10d mov OPENSSL_ia32cap_P+4(%rip),%r11 @@ -151,6 +152,7 @@ $code.=<<___; jmp aesni_cbc_sha1_enc_ssse3 ret +.cfi_endproc .size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc ___ @@ -840,6 +842,7 @@ () .type aesni256_cbc_sha1_dec,\@abi-omnipotent .align 32 aesni256_cbc_sha1_dec: +.cfi_startproc # caller should check for SSSE3 and AES-NI bits mov OPENSSL_ia32cap_P+0(%rip),%r10d mov OPENSSL_ia32cap_P+4(%rip),%r11d @@ -854,6 +857,7 @@ () $code.=<<___; jmp aesni256_cbc_sha1_dec_ssse3 ret +.cfi_endproc .size aesni256_cbc_sha1_dec,.-aesni256_cbc_sha1_dec .type aesni256_cbc_sha1_dec_ssse3,\@function,6 @@ -1760,6 +1764,7 @@ () .type aesni_cbc_sha1_enc_shaext,\@function,6 .align 32 aesni_cbc_sha1_enc_shaext: +.cfi_startproc mov `($win64?56:8)`(%rsp),$inp # load 7th argument ___ $code.=<<___ if ($win64); @@ -1911,6 +1916,7 @@ () ___ $code.=<<___; ret +.cfi_endproc .size aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext ___ }}} @@ -2137,4 +2143,4 @@ sub aesni { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/aes/asm/aesni-sha256-x86_64.pl b/deps/openssl/openssl/crypto/aes/asm/aesni-sha256-x86_64.pl index ef460237108ec4..f1b144eccbdd1d 100644 --- a/deps/openssl/openssl/crypto/aes/asm/aesni-sha256-x86_64.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aesni-sha256-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -70,7 +70,7 @@ $avx = ($1>=10) + ($1>=12); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9]\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } @@ -123,6 +123,7 @@ .type $func,\@abi-omnipotent .align 16 $func: +.cfi_startproc ___ if ($avx) { $code.=<<___; @@ -162,6 +163,7 @@ ud2 .Lprobe: ret +.cfi_endproc .size $func,.-$func .align 64 @@ -1084,7 +1086,23 @@ () vmovdqa $t0,0x00(%rsp) xor $a1,$a1 vmovdqa $t1,0x20(%rsp) +___ +$code.=<<___ if (!$win64); +# temporarily use %rsi as frame pointer + mov $_rsp,%rsi +.cfi_def_cfa %rsi,8 +___ +$code.=<<___; lea -$PUSH8(%rsp),%rsp +___ +$code.=<<___ if (!$win64); +# the frame info is at $_rsp, but the stack is moving... +# so a second frame pointer is saved at -8(%rsp) +# that is in the red zone + mov %rsi,-8(%rsp) +.cfi_cfa_expression %rsp-8,deref,+8 +___ +$code.=<<___; mov $B,$a3 vmovdqa $t2,0x00(%rsp) xor $C,$a3 # magic @@ -1106,7 +1124,17 @@ () my @insns = (&$body,&$body,&$body,&$body); # 96 instructions my $base = "+2*$PUSH8(%rsp)"; - &lea ("%rsp","-$PUSH8(%rsp)") if (($j%2)==0); + if (($j%2)==0) { + &lea ("%rsp","-$PUSH8(%rsp)"); +$code.=<<___ if (!$win64); +.cfi_cfa_expression %rsp+`$PUSH8-8`,deref,+8 +# copy secondary frame pointer to new location again at -8(%rsp) + pushq $PUSH8-8(%rsp) +.cfi_cfa_expression %rsp,deref,+8 + lea 8(%rsp),%rsp +.cfi_cfa_expression %rsp-8,deref,+8 +___ + } foreach (Xupdate_256_AVX()) { # 29 instructions eval; eval(shift(@insns)); @@ -1232,26 +1260,28 @@ () jbe .Loop_avx2 lea (%rsp),$Tbl +# temporarily use $Tbl as index to $_rsp +# this avoids the need to save a secondary frame pointer at -8(%rsp) +.cfi_cfa_expression $Tbl+`16*$SZ+7*8`,deref,+8 .Ldone_avx2: - lea ($Tbl),%rsp - mov $_ivp,$ivp - mov $_rsp,%rsi + mov 16*$SZ+4*8($Tbl),$ivp + mov 16*$SZ+7*8($Tbl),%rsi .cfi_def_cfa %rsi,8 vmovdqu $iv,($ivp) # output IV vzeroall ___ $code.=<<___ if ($win64); - movaps `$framesz+16*0`(%rsp),%xmm6 - movaps `$framesz+16*1`(%rsp),%xmm7 - movaps `$framesz+16*2`(%rsp),%xmm8 - movaps `$framesz+16*3`(%rsp),%xmm9 - movaps `$framesz+16*4`(%rsp),%xmm10 - movaps `$framesz+16*5`(%rsp),%xmm11 - movaps `$framesz+16*6`(%rsp),%xmm12 - movaps `$framesz+16*7`(%rsp),%xmm13 - movaps `$framesz+16*8`(%rsp),%xmm14 - movaps `$framesz+16*9`(%rsp),%xmm15 + movaps `$framesz+16*0`($Tbl),%xmm6 + movaps `$framesz+16*1`($Tbl),%xmm7 + movaps `$framesz+16*2`($Tbl),%xmm8 + movaps `$framesz+16*3`($Tbl),%xmm9 + movaps `$framesz+16*4`($Tbl),%xmm10 + movaps `$framesz+16*5`($Tbl),%xmm11 + movaps `$framesz+16*6`($Tbl),%xmm12 + movaps `$framesz+16*7`($Tbl),%xmm13 + movaps `$framesz+16*8`($Tbl),%xmm14 + movaps `$framesz+16*9`($Tbl),%xmm15 ___ $code.=<<___; mov -48(%rsi),%r15 @@ -1339,6 +1369,7 @@ () .type ${func}_shaext,\@function,6 .align 32 ${func}_shaext: +.cfi_startproc mov `($win64?56:8)`(%rsp),$inp # load 7th argument ___ $code.=<<___ if ($win64); @@ -1555,6 +1586,7 @@ () ___ $code.=<<___; ret +.cfi_endproc .size ${func}_shaext,.-${func}_shaext ___ } @@ -1767,4 +1799,4 @@ sub rex { $code =~ s/\`([^\`]*)\`/eval $1/gem; $code =~ s/\b(sha256[^\s]*)\s+(.*)/sha256op38($1,$2)/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/aes/asm/aesni-x86.pl b/deps/openssl/openssl/crypto/aes/asm/aesni-x86.pl index b351fca28e023f..fe2b26542ab6c5 100644 --- a/deps/openssl/openssl/crypto/aes/asm/aesni-x86.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aesni-x86.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -3412,4 +3412,4 @@ sub aesni_generate6 &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/aes/asm/aesni-x86_64.pl b/deps/openssl/openssl/crypto/aes/asm/aesni-x86_64.pl index b68c14da60ca1c..f8c2e2393438c8 100644 --- a/deps/openssl/openssl/crypto/aes/asm/aesni-x86_64.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aesni-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -59,7 +59,7 @@ # nothing one can do and the result appears optimal. CCM result is # identical to CBC, because CBC-MAC is essentially CBC encrypt without # saving output. CCM CTR "stays invisible," because it's neatly -# interleaved wih CBC-MAC. This provides ~30% improvement over +# interleaved with CBC-MAC. This provides ~30% improvement over # "straightforward" CCM implementation with CTR and CBC-MAC performed # disjointly. Parallelizable modes practically achieve the theoretical # limit. @@ -984,6 +984,7 @@ sub aesni_generate8 { .type aesni_ccm64_encrypt_blocks,\@function,6 .align 16 aesni_ccm64_encrypt_blocks: +.cfi_startproc ___ $code.=<<___ if ($win64); lea -0x58(%rsp),%rsp @@ -1066,6 +1067,7 @@ sub aesni_generate8 { ___ $code.=<<___; ret +.cfi_endproc .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks ___ ###################################################################### @@ -1074,6 +1076,7 @@ sub aesni_generate8 { .type aesni_ccm64_decrypt_blocks,\@function,6 .align 16 aesni_ccm64_decrypt_blocks: +.cfi_startproc ___ $code.=<<___ if ($win64); lea -0x58(%rsp),%rsp @@ -1173,6 +1176,7 @@ sub aesni_generate8 { ___ $code.=<<___; ret +.cfi_endproc .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks ___ } @@ -2339,7 +2343,7 @@ sub aesni_generate8 { movdqu `16*0`($inp),$inout0 # load input movdqa $rndkey0,$twmask movdqu `16*1`($inp),$inout1 - pxor @tweak[0],$inout0 # intput^=tweak^round[0] + pxor @tweak[0],$inout0 # input^=tweak^round[0] movdqu `16*2`($inp),$inout2 pxor @tweak[1],$inout1 aesdec $rndkey1,$inout0 @@ -3031,6 +3035,7 @@ sub aesni_generate8 { .type __ocb_encrypt6,\@abi-omnipotent .align 32 __ocb_encrypt6: +.cfi_startproc pxor $rndkey0l,@offset[5] # offset_i ^ round[0] movdqu ($L_p,$i1),@offset[1] movdqa @offset[0],@offset[2] @@ -3128,11 +3133,13 @@ sub aesni_generate8 { aesenclast @offset[4],$inout4 aesenclast @offset[5],$inout5 ret +.cfi_endproc .size __ocb_encrypt6,.-__ocb_encrypt6 .type __ocb_encrypt4,\@abi-omnipotent .align 32 __ocb_encrypt4: +.cfi_startproc pxor $rndkey0l,@offset[5] # offset_i ^ round[0] movdqu ($L_p,$i1),@offset[1] movdqa @offset[0],@offset[2] @@ -3197,11 +3204,13 @@ sub aesni_generate8 { aesenclast @offset[2],$inout2 aesenclast @offset[3],$inout3 ret +.cfi_endproc .size __ocb_encrypt4,.-__ocb_encrypt4 .type __ocb_encrypt1,\@abi-omnipotent .align 32 __ocb_encrypt1: +.cfi_startproc pxor @offset[5],$inout5 # offset_i pxor $rndkey0l,$inout5 # offset_i ^ round[0] pxor $inout0,$checksum # accumulate checksum @@ -3232,6 +3241,7 @@ sub aesni_generate8 { aesenclast $inout5,$inout0 ret +.cfi_endproc .size __ocb_encrypt1,.-__ocb_encrypt1 .globl aesni_ocb_decrypt @@ -3513,6 +3523,7 @@ sub aesni_generate8 { .type __ocb_decrypt6,\@abi-omnipotent .align 32 __ocb_decrypt6: +.cfi_startproc pxor $rndkey0l,@offset[5] # offset_i ^ round[0] movdqu ($L_p,$i1),@offset[1] movdqa @offset[0],@offset[2] @@ -3604,11 +3615,13 @@ sub aesni_generate8 { aesdeclast @offset[4],$inout4 aesdeclast @offset[5],$inout5 ret +.cfi_endproc .size __ocb_decrypt6,.-__ocb_decrypt6 .type __ocb_decrypt4,\@abi-omnipotent .align 32 __ocb_decrypt4: +.cfi_startproc pxor $rndkey0l,@offset[5] # offset_i ^ round[0] movdqu ($L_p,$i1),@offset[1] movdqa @offset[0],@offset[2] @@ -3669,11 +3682,13 @@ sub aesni_generate8 { aesdeclast @offset[2],$inout2 aesdeclast @offset[3],$inout3 ret +.cfi_endproc .size __ocb_decrypt4,.-__ocb_decrypt4 .type __ocb_decrypt1,\@abi-omnipotent .align 32 __ocb_decrypt1: +.cfi_startproc pxor @offset[5],$inout5 # offset_i pxor $rndkey0l,$inout5 # offset_i ^ round[0] pxor $inout5,$inout0 # input ^ round[0] ^ offset_i @@ -3703,6 +3718,7 @@ sub aesni_generate8 { aesdeclast $inout5,$inout0 ret +.cfi_endproc .size __ocb_decrypt1,.-__ocb_decrypt1 ___ } }} @@ -4637,7 +4653,6 @@ sub aesni_generate8 { add \$8,%rsp .cfi_adjust_cfa_offset -8 ret -.cfi_endproc .LSEH_end_set_encrypt_key: .align 16 @@ -4708,6 +4723,7 @@ sub aesni_generate8 { shufps \$0b10101010,%xmm1,%xmm1 # critical path xorps %xmm1,%xmm2 ret +.cfi_endproc .size ${PREFIX}_set_encrypt_key,.-${PREFIX}_set_encrypt_key .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key ___ @@ -4812,7 +4828,7 @@ sub aesni_generate8 { mov 56($disp),%r11 # disp->HandlerData mov 0(%r11),%r10d # HandlerData[0] - lea (%rsi,%r10),%r10 # prologue lable + lea (%rsi,%r10),%r10 # prologue label cmp %r10,%rbx # context->RipHandlerData mov 0(%r11),%r10d # HandlerData[0] - lea (%rsi,%r10),%r10 # prologue lable + lea (%rsi,%r10),%r10 # prologue label cmp %r10,%rbx # context->Rip -#include "internal/aria.h" +#include "crypto/aria.h" #include #include diff --git a/deps/openssl/openssl/crypto/arm64cpuid.pl b/deps/openssl/openssl/crypto/arm64cpuid.pl index 06c8add7a07561..319927e6c729e7 100755 --- a/deps/openssl/openssl/crypto/arm64cpuid.pl +++ b/deps/openssl/openssl/crypto/arm64cpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -144,4 +144,4 @@ ___ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/arm_arch.h b/deps/openssl/openssl/crypto/arm_arch.h index f11b543df64f0c..8b7105571d78a4 100644 --- a/deps/openssl/openssl/crypto/arm_arch.h +++ b/deps/openssl/openssl/crypto/arm_arch.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef __ARM_ARCH_H__ -# define __ARM_ARCH_H__ +#ifndef OSSL_CRYPTO_ARM_ARCH_H +# define OSSL_CRYPTO_ARM_ARCH_H # if !defined(__ARM_ARCH__) # if defined(__CC_ARM) diff --git a/deps/openssl/openssl/crypto/armv4cpuid.pl b/deps/openssl/openssl/crypto/armv4cpuid.pl index ab007c19c3cd0c..d1b71f836f10ad 100644 --- a/deps/openssl/openssl/crypto/armv4cpuid.pl +++ b/deps/openssl/openssl/crypto/armv4cpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -293,4 +293,4 @@ ___ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/asn1/a_bitstr.c b/deps/openssl/openssl/crypto/asn1/a_bitstr.c index bffbd160a233ee..f462dd107368ca 100644 --- a/deps/openssl/openssl/crypto/asn1/a_bitstr.c +++ b/deps/openssl/openssl/crypto/asn1/a_bitstr.c @@ -11,7 +11,7 @@ #include #include "internal/cryptlib.h" #include -#include "asn1_locl.h" +#include "asn1_local.h" int ASN1_BIT_STRING_set(ASN1_BIT_STRING *x, unsigned char *d, int len) { diff --git a/deps/openssl/openssl/crypto/asn1/a_d2i_fp.c b/deps/openssl/openssl/crypto/asn1/a_d2i_fp.c index a1a17901b8f8c1..a452b3deba088e 100644 --- a/deps/openssl/openssl/crypto/asn1/a_d2i_fp.c +++ b/deps/openssl/openssl/crypto/asn1/a_d2i_fp.c @@ -13,7 +13,7 @@ #include "internal/numbers.h" #include #include -#include "internal/asn1_int.h" +#include "crypto/asn1.h" #ifndef NO_OLD_ASN1 # ifndef OPENSSL_NO_STDIO diff --git a/deps/openssl/openssl/crypto/asn1/a_gentm.c b/deps/openssl/openssl/crypto/asn1/a_gentm.c index d3878d6e57fe47..133bbb1581cb6d 100644 --- a/deps/openssl/openssl/crypto/asn1/a_gentm.c +++ b/deps/openssl/openssl/crypto/asn1/a_gentm.c @@ -15,7 +15,7 @@ #include #include "internal/cryptlib.h" #include -#include "asn1_locl.h" +#include "asn1_local.h" /* This is the primary function used to parse ASN1_GENERALIZEDTIME */ int asn1_generalizedtime_to_tm(struct tm *tm, const ASN1_GENERALIZEDTIME *d) diff --git a/deps/openssl/openssl/crypto/asn1/a_int.c b/deps/openssl/openssl/crypto/asn1/a_int.c index 70a45cb3cc770d..9c1a9f52b5e67d 100644 --- a/deps/openssl/openssl/crypto/asn1/a_int.c +++ b/deps/openssl/openssl/crypto/asn1/a_int.c @@ -13,7 +13,7 @@ #include #include #include -#include "asn1_locl.h" +#include "asn1_local.h" ASN1_INTEGER *ASN1_INTEGER_dup(const ASN1_INTEGER *x) { diff --git a/deps/openssl/openssl/crypto/asn1/a_mbstr.c b/deps/openssl/openssl/crypto/asn1/a_mbstr.c index 949fe6c1611ac3..bdb697ab30c15f 100644 --- a/deps/openssl/openssl/crypto/asn1/a_mbstr.c +++ b/deps/openssl/openssl/crypto/asn1/a_mbstr.c @@ -8,7 +8,7 @@ */ #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include "internal/cryptlib.h" #include diff --git a/deps/openssl/openssl/crypto/asn1/a_object.c b/deps/openssl/openssl/crypto/asn1/a_object.c index 5e1424a806fbd9..d67a723c961160 100644 --- a/deps/openssl/openssl/crypto/asn1/a_object.c +++ b/deps/openssl/openssl/crypto/asn1/a_object.c @@ -9,14 +9,14 @@ #include #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include "internal/cryptlib.h" #include #include #include #include -#include "internal/asn1_int.h" -#include "asn1_locl.h" +#include "crypto/asn1.h" +#include "asn1_local.h" int i2d_ASN1_OBJECT(const ASN1_OBJECT *a, unsigned char **pp) { diff --git a/deps/openssl/openssl/crypto/asn1/a_print.c b/deps/openssl/openssl/crypto/asn1/a_print.c index 8a373d9da9f61a..85a631a27aa703 100644 --- a/deps/openssl/openssl/crypto/asn1/a_print.c +++ b/deps/openssl/openssl/crypto/asn1/a_print.c @@ -8,7 +8,7 @@ */ #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include "internal/cryptlib.h" #include diff --git a/deps/openssl/openssl/crypto/asn1/a_sign.c b/deps/openssl/openssl/crypto/asn1/a_sign.c index 146fdb96262810..72381b665551ba 100644 --- a/deps/openssl/openssl/crypto/asn1/a_sign.c +++ b/deps/openssl/openssl/crypto/asn1/a_sign.c @@ -18,8 +18,8 @@ #include #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" #ifndef NO_ASN1_OLD diff --git a/deps/openssl/openssl/crypto/asn1/a_strex.c b/deps/openssl/openssl/crypto/asn1/a_strex.c index ea4dd1c5b189e5..4879b33785e97e 100644 --- a/deps/openssl/openssl/crypto/asn1/a_strex.c +++ b/deps/openssl/openssl/crypto/asn1/a_strex.c @@ -10,7 +10,7 @@ #include #include #include "internal/cryptlib.h" -#include "internal/asn1_int.h" +#include "crypto/asn1.h" #include #include #include diff --git a/deps/openssl/openssl/crypto/asn1/a_time.c b/deps/openssl/openssl/crypto/asn1/a_time.c index c36dd9500169f5..54e0de1931c234 100644 --- a/deps/openssl/openssl/crypto/asn1/a_time.c +++ b/deps/openssl/openssl/crypto/asn1/a_time.c @@ -16,10 +16,10 @@ #include #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include "internal/cryptlib.h" #include -#include "asn1_locl.h" +#include "asn1_local.h" IMPLEMENT_ASN1_MSTRING(ASN1_TIME, B_ASN1_TIME) diff --git a/deps/openssl/openssl/crypto/asn1/a_type.c b/deps/openssl/openssl/crypto/asn1/a_type.c index 732328e050498c..4a96315df03b93 100644 --- a/deps/openssl/openssl/crypto/asn1/a_type.c +++ b/deps/openssl/openssl/crypto/asn1/a_type.c @@ -11,7 +11,7 @@ #include "internal/cryptlib.h" #include #include -#include "asn1_locl.h" +#include "asn1_local.h" int ASN1_TYPE_get(const ASN1_TYPE *a) { diff --git a/deps/openssl/openssl/crypto/asn1/a_utctm.c b/deps/openssl/openssl/crypto/asn1/a_utctm.c index b224991aa3df1e..0ff37b16c51fb7 100644 --- a/deps/openssl/openssl/crypto/asn1/a_utctm.c +++ b/deps/openssl/openssl/crypto/asn1/a_utctm.c @@ -11,7 +11,7 @@ #include #include "internal/cryptlib.h" #include -#include "asn1_locl.h" +#include "asn1_local.h" /* This is the primary function used to parse ASN1_UTCTIME */ int asn1_utctime_to_tm(struct tm *tm, const ASN1_UTCTIME *d) diff --git a/deps/openssl/openssl/crypto/asn1/a_verify.c b/deps/openssl/openssl/crypto/asn1/a_verify.c index cdaf17c3cbc1b4..4b5f54234fa558 100644 --- a/deps/openssl/openssl/crypto/asn1/a_verify.c +++ b/deps/openssl/openssl/crypto/asn1/a_verify.c @@ -18,8 +18,8 @@ #include #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" #ifndef NO_ASN1_OLD diff --git a/deps/openssl/openssl/crypto/asn1/ameth_lib.c b/deps/openssl/openssl/crypto/asn1/ameth_lib.c index d7d270dbb5819c..5e8c3ed1d5b0e0 100644 --- a/deps/openssl/openssl/crypto/asn1/ameth_lib.c +++ b/deps/openssl/openssl/crypto/asn1/ameth_lib.c @@ -13,8 +13,8 @@ #include #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" #include "standard_methods.h" diff --git a/deps/openssl/openssl/crypto/asn1/asn1_lib.c b/deps/openssl/openssl/crypto/asn1/asn1_lib.c index 88c4b539180267..a7d32ae5e2c3cf 100644 --- a/deps/openssl/openssl/crypto/asn1/asn1_lib.c +++ b/deps/openssl/openssl/crypto/asn1/asn1_lib.c @@ -11,7 +11,7 @@ #include #include "internal/cryptlib.h" #include -#include "asn1_locl.h" +#include "asn1_local.h" static int asn1_get_length(const unsigned char **pp, int *inf, long *rl, long max); diff --git a/deps/openssl/openssl/crypto/asn1/asn1_locl.h b/deps/openssl/openssl/crypto/asn1/asn1_local.h similarity index 100% rename from deps/openssl/openssl/crypto/asn1/asn1_locl.h rename to deps/openssl/openssl/crypto/asn1/asn1_local.h diff --git a/deps/openssl/openssl/crypto/asn1/asn1_par.c b/deps/openssl/openssl/crypto/asn1/asn1_par.c index 4b60c615de7645..3f10c7cb94c56d 100644 --- a/deps/openssl/openssl/crypto/asn1/asn1_par.c +++ b/deps/openssl/openssl/crypto/asn1/asn1_par.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -75,6 +75,8 @@ static int asn1_parse2(BIO *bp, const unsigned char **pp, long length, int nl, hl, j, r; ASN1_OBJECT *o = NULL; ASN1_OCTET_STRING *os = NULL; + ASN1_INTEGER *ai = NULL; + ASN1_ENUMERATED *ae = NULL; /* ASN1_BMPSTRING *bmp=NULL; */ int dump_indent, dump_cont = 0; @@ -250,22 +252,21 @@ static int asn1_parse2(BIO *bp, const unsigned char **pp, long length, ASN1_OCTET_STRING_free(os); os = NULL; } else if (tag == V_ASN1_INTEGER) { - ASN1_INTEGER *bs; int i; opp = op; - bs = d2i_ASN1_INTEGER(NULL, &opp, len + hl); - if (bs != NULL) { + ai = d2i_ASN1_INTEGER(NULL, &opp, len + hl); + if (ai != NULL) { if (BIO_write(bp, ":", 1) <= 0) goto end; - if (bs->type == V_ASN1_NEG_INTEGER) + if (ai->type == V_ASN1_NEG_INTEGER) if (BIO_write(bp, "-", 1) <= 0) goto end; - for (i = 0; i < bs->length; i++) { - if (BIO_printf(bp, "%02X", bs->data[i]) <= 0) + for (i = 0; i < ai->length; i++) { + if (BIO_printf(bp, "%02X", ai->data[i]) <= 0) goto end; } - if (bs->length == 0) { + if (ai->length == 0) { if (BIO_write(bp, "00", 2) <= 0) goto end; } @@ -274,24 +275,24 @@ static int asn1_parse2(BIO *bp, const unsigned char **pp, long length, goto end; dump_cont = 1; } - ASN1_INTEGER_free(bs); + ASN1_INTEGER_free(ai); + ai = NULL; } else if (tag == V_ASN1_ENUMERATED) { - ASN1_ENUMERATED *bs; int i; opp = op; - bs = d2i_ASN1_ENUMERATED(NULL, &opp, len + hl); - if (bs != NULL) { + ae = d2i_ASN1_ENUMERATED(NULL, &opp, len + hl); + if (ae != NULL) { if (BIO_write(bp, ":", 1) <= 0) goto end; - if (bs->type == V_ASN1_NEG_ENUMERATED) + if (ae->type == V_ASN1_NEG_ENUMERATED) if (BIO_write(bp, "-", 1) <= 0) goto end; - for (i = 0; i < bs->length; i++) { - if (BIO_printf(bp, "%02X", bs->data[i]) <= 0) + for (i = 0; i < ae->length; i++) { + if (BIO_printf(bp, "%02X", ae->data[i]) <= 0) goto end; } - if (bs->length == 0) { + if (ae->length == 0) { if (BIO_write(bp, "00", 2) <= 0) goto end; } @@ -300,7 +301,8 @@ static int asn1_parse2(BIO *bp, const unsigned char **pp, long length, goto end; dump_cont = 1; } - ASN1_ENUMERATED_free(bs); + ASN1_ENUMERATED_free(ae); + ae = NULL; } else if (len > 0 && dump) { if (!nl) { if (BIO_write(bp, "\n", 1) <= 0) @@ -341,6 +343,8 @@ static int asn1_parse2(BIO *bp, const unsigned char **pp, long length, end: ASN1_OBJECT_free(o); ASN1_OCTET_STRING_free(os); + ASN1_INTEGER_free(ai); + ASN1_ENUMERATED_free(ae); *pp = p; return ret; } diff --git a/deps/openssl/openssl/crypto/asn1/asn_mime.c b/deps/openssl/openssl/crypto/asn1/asn_mime.c index dfd5be6347543b..38735cd86f3ea9 100644 --- a/deps/openssl/openssl/crypto/asn1/asn_mime.c +++ b/deps/openssl/openssl/crypto/asn1/asn_mime.c @@ -1,5 +1,5 @@ /* - * Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -8,15 +8,15 @@ */ #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include "internal/cryptlib.h" #include #include #include #include -#include "internal/evp_int.h" +#include "crypto/evp.h" #include "internal/bio.h" -#include "asn1_locl.h" +#include "asn1_local.h" /* * Generalised MIME like utilities for streaming ASN1. Although many have a @@ -198,6 +198,14 @@ static int asn1_write_micalg(BIO *out, STACK_OF(X509_ALGOR) *mdalgs) BIO_puts(out, "gostr3411-94"); goto err; + case NID_id_GostR3411_2012_256: + BIO_puts(out, "gostr3411-2012-256"); + goto err; + + case NID_id_GostR3411_2012_512: + BIO_puts(out, "gostr3411-2012-512"); + goto err; + default: if (have_unknown) write_comma = 0; diff --git a/deps/openssl/openssl/crypto/asn1/asn_moid.c b/deps/openssl/openssl/crypto/asn1/asn_moid.c index 68a01f31179efe..732ce972aa2955 100644 --- a/deps/openssl/openssl/crypto/asn1/asn_moid.c +++ b/deps/openssl/openssl/crypto/asn1/asn_moid.c @@ -8,13 +8,13 @@ */ #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include #include "internal/cryptlib.h" #include #include -#include "internal/asn1_int.h" -#include "internal/objects.h" +#include "crypto/asn1.h" +#include "crypto/objects.h" /* Simple ASN1 OID module: add all objects in a given section */ diff --git a/deps/openssl/openssl/crypto/asn1/charmap.h b/deps/openssl/openssl/crypto/asn1/charmap.h index f15d72d73661d3..cac354c6bf33b3 100644 --- a/deps/openssl/openssl/crypto/asn1/charmap.h +++ b/deps/openssl/openssl/crypto/asn1/charmap.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by crypto/asn1/charmap.pl * - * Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/crypto/asn1/d2i_pr.c b/deps/openssl/openssl/crypto/asn1/d2i_pr.c index aa0d6ad6aed076..6ec0107380493d 100644 --- a/deps/openssl/openssl/crypto/asn1/d2i_pr.c +++ b/deps/openssl/openssl/crypto/asn1/d2i_pr.c @@ -15,8 +15,8 @@ #include #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length) diff --git a/deps/openssl/openssl/crypto/asn1/d2i_pu.c b/deps/openssl/openssl/crypto/asn1/d2i_pu.c index 7bc16c7bceb408..8327ac16ca9c77 100644 --- a/deps/openssl/openssl/crypto/asn1/d2i_pu.c +++ b/deps/openssl/openssl/crypto/asn1/d2i_pu.c @@ -17,7 +17,7 @@ #include #include -#include "internal/evp_int.h" +#include "crypto/evp.h" EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length) diff --git a/deps/openssl/openssl/crypto/asn1/f_int.c b/deps/openssl/openssl/crypto/asn1/f_int.c index 6d6bddc651cc73..3a18381173d42b 100644 --- a/deps/openssl/openssl/crypto/asn1/f_int.c +++ b/deps/openssl/openssl/crypto/asn1/f_int.c @@ -8,7 +8,7 @@ */ #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include "internal/cryptlib.h" #include #include diff --git a/deps/openssl/openssl/crypto/asn1/f_string.c b/deps/openssl/openssl/crypto/asn1/f_string.c index f893489a67198c..53dfec71b5d407 100644 --- a/deps/openssl/openssl/crypto/asn1/f_string.c +++ b/deps/openssl/openssl/crypto/asn1/f_string.c @@ -8,7 +8,7 @@ */ #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include "internal/cryptlib.h" #include #include diff --git a/deps/openssl/openssl/crypto/asn1/i2d_pr.c b/deps/openssl/openssl/crypto/asn1/i2d_pr.c index 445b0c84251fe6..0374c0bfbdc00f 100644 --- a/deps/openssl/openssl/crypto/asn1/i2d_pr.c +++ b/deps/openssl/openssl/crypto/asn1/i2d_pr.c @@ -11,8 +11,8 @@ #include "internal/cryptlib.h" #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp) { diff --git a/deps/openssl/openssl/crypto/asn1/p8_pkey.c b/deps/openssl/openssl/crypto/asn1/p8_pkey.c index dbee827e0d3788..ab509b1ac976d3 100644 --- a/deps/openssl/openssl/crypto/asn1/p8_pkey.c +++ b/deps/openssl/openssl/crypto/asn1/p8_pkey.c @@ -11,7 +11,7 @@ #include "internal/cryptlib.h" #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" /* Minor tweak to operation: zero private key data */ static int pkey_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, diff --git a/deps/openssl/openssl/crypto/asn1/t_pkey.c b/deps/openssl/openssl/crypto/asn1/t_pkey.c index 3b2c9df8917f46..651622aedc8ff4 100644 --- a/deps/openssl/openssl/crypto/asn1/t_pkey.c +++ b/deps/openssl/openssl/crypto/asn1/t_pkey.c @@ -11,7 +11,7 @@ #include "internal/cryptlib.h" #include #include -#include "internal/bn_int.h" +#include "crypto/bn.h" /* Number of octets per line */ #define ASN1_BUF_PRINT_WIDTH 15 diff --git a/deps/openssl/openssl/crypto/asn1/tasn_dec.c b/deps/openssl/openssl/crypto/asn1/tasn_dec.c index c2a521ed51800b..2332b204edc1ca 100644 --- a/deps/openssl/openssl/crypto/asn1/tasn_dec.c +++ b/deps/openssl/openssl/crypto/asn1/tasn_dec.c @@ -15,7 +15,7 @@ #include #include #include "internal/numbers.h" -#include "asn1_locl.h" +#include "asn1_local.h" /* diff --git a/deps/openssl/openssl/crypto/asn1/tasn_enc.c b/deps/openssl/openssl/crypto/asn1/tasn_enc.c index 30be314ff982a6..d600c7a538041e 100644 --- a/deps/openssl/openssl/crypto/asn1/tasn_enc.c +++ b/deps/openssl/openssl/crypto/asn1/tasn_enc.c @@ -13,8 +13,8 @@ #include #include #include -#include "internal/asn1_int.h" -#include "asn1_locl.h" +#include "crypto/asn1.h" +#include "asn1_local.h" static int asn1_i2d_ex_primitive(ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass); diff --git a/deps/openssl/openssl/crypto/asn1/tasn_fre.c b/deps/openssl/openssl/crypto/asn1/tasn_fre.c index bbce489fe0036d..2916bef7863af0 100644 --- a/deps/openssl/openssl/crypto/asn1/tasn_fre.c +++ b/deps/openssl/openssl/crypto/asn1/tasn_fre.c @@ -11,7 +11,7 @@ #include #include #include -#include "asn1_locl.h" +#include "asn1_local.h" /* Free up an ASN1 structure */ diff --git a/deps/openssl/openssl/crypto/asn1/tasn_new.c b/deps/openssl/openssl/crypto/asn1/tasn_new.c index 6b8ea8ddd74dbe..287f2af33b583b 100644 --- a/deps/openssl/openssl/crypto/asn1/tasn_new.c +++ b/deps/openssl/openssl/crypto/asn1/tasn_new.c @@ -13,7 +13,7 @@ #include #include #include -#include "asn1_locl.h" +#include "asn1_local.h" static int asn1_item_embed_new(ASN1_VALUE **pval, const ASN1_ITEM *it, int embed); diff --git a/deps/openssl/openssl/crypto/asn1/tasn_prn.c b/deps/openssl/openssl/crypto/asn1/tasn_prn.c index 1fb66f1062ba64..56d5ea0f39e376 100644 --- a/deps/openssl/openssl/crypto/asn1/tasn_prn.c +++ b/deps/openssl/openssl/crypto/asn1/tasn_prn.c @@ -15,8 +15,8 @@ #include #include #include -#include "internal/asn1_int.h" -#include "asn1_locl.h" +#include "crypto/asn1.h" +#include "asn1_local.h" /* * Print routines. diff --git a/deps/openssl/openssl/crypto/asn1/tasn_scn.c b/deps/openssl/openssl/crypto/asn1/tasn_scn.c index e1df2cfcae042d..f0f218ae8bbe07 100644 --- a/deps/openssl/openssl/crypto/asn1/tasn_scn.c +++ b/deps/openssl/openssl/crypto/asn1/tasn_scn.c @@ -15,7 +15,7 @@ #include #include #include -#include "asn1_locl.h" +#include "asn1_local.h" /* * General ASN1 structure recursive scanner: iterate through all fields diff --git a/deps/openssl/openssl/crypto/asn1/tasn_utl.c b/deps/openssl/openssl/crypto/asn1/tasn_utl.c index 7ceecffce75822..a448685e19a9bb 100644 --- a/deps/openssl/openssl/crypto/asn1/tasn_utl.c +++ b/deps/openssl/openssl/crypto/asn1/tasn_utl.c @@ -15,7 +15,7 @@ #include #include #include -#include "asn1_locl.h" +#include "asn1_local.h" /* Utility functions for manipulating fields and offsets */ diff --git a/deps/openssl/openssl/crypto/asn1/x_algor.c b/deps/openssl/openssl/crypto/asn1/x_algor.c index 853d45b8bc8aac..4c4a718850eed5 100644 --- a/deps/openssl/openssl/crypto/asn1/x_algor.c +++ b/deps/openssl/openssl/crypto/asn1/x_algor.c @@ -11,7 +11,7 @@ #include #include #include -#include "internal/evp_int.h" +#include "crypto/evp.h" ASN1_SEQUENCE(X509_ALGOR) = { ASN1_SIMPLE(X509_ALGOR, algorithm, ASN1_OBJECT), diff --git a/deps/openssl/openssl/crypto/asn1/x_bignum.c b/deps/openssl/openssl/crypto/asn1/x_bignum.c index 6c93ea7510da1e..c6b3accd3a105d 100644 --- a/deps/openssl/openssl/crypto/asn1/x_bignum.c +++ b/deps/openssl/openssl/crypto/asn1/x_bignum.c @@ -82,7 +82,7 @@ static int bn_secure_new(ASN1_VALUE **pval, const ASN1_ITEM *it) static void bn_free(ASN1_VALUE **pval, const ASN1_ITEM *it) { - if (!*pval) + if (*pval == NULL) return; if (it->size & BN_SENSITIVE) BN_clear_free((BIGNUM *)*pval); @@ -96,7 +96,7 @@ static int bn_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, { BIGNUM *bn; int pad; - if (!*pval) + if (*pval == NULL) return -1; bn = (BIGNUM *)*pval; /* If MSB set in an octet we need a padding byte */ @@ -133,7 +133,7 @@ static int bn_secure_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int ret; BIGNUM *bn; - if (!*pval && !bn_secure_new(pval, it)) + if (*pval == NULL && !bn_secure_new(pval, it)) return 0; ret = bn_c2i(pval, cont, len, utype, free_cont, it); diff --git a/deps/openssl/openssl/crypto/asn1/x_int64.c b/deps/openssl/openssl/crypto/asn1/x_int64.c index 0ee552cf0a4885..96c1a259e1fe4f 100644 --- a/deps/openssl/openssl/crypto/asn1/x_int64.c +++ b/deps/openssl/openssl/crypto/asn1/x_int64.c @@ -12,7 +12,7 @@ #include "internal/numbers.h" #include #include -#include "asn1_locl.h" +#include "asn1_local.h" /* * Custom primitive types for handling int32_t, int64_t, uint32_t, uint64_t. diff --git a/deps/openssl/openssl/crypto/asn1/x_sig.c b/deps/openssl/openssl/crypto/asn1/x_sig.c index e465cf2d4d1039..fb24e240cba8e9 100644 --- a/deps/openssl/openssl/crypto/asn1/x_sig.c +++ b/deps/openssl/openssl/crypto/asn1/x_sig.c @@ -11,7 +11,7 @@ #include "internal/cryptlib.h" #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" ASN1_SEQUENCE(X509_SIG) = { ASN1_SIMPLE(X509_SIG, algor, X509_ALGOR), diff --git a/deps/openssl/openssl/crypto/async/arch/async_null.c b/deps/openssl/openssl/crypto/async/arch/async_null.c index 3eaf170f2e5077..26801f8731307c 100644 --- a/deps/openssl/openssl/crypto/async/arch/async_null.c +++ b/deps/openssl/openssl/crypto/async/arch/async_null.c @@ -8,7 +8,7 @@ */ /* This must be the first #include file */ -#include "../async_locl.h" +#include "../async_local.h" #ifdef ASYNC_NULL int ASYNC_is_capable(void) diff --git a/deps/openssl/openssl/crypto/async/arch/async_posix.c b/deps/openssl/openssl/crypto/async/arch/async_posix.c index 02c342d3dfa93b..95678d4fa686ac 100644 --- a/deps/openssl/openssl/crypto/async/arch/async_posix.c +++ b/deps/openssl/openssl/crypto/async/arch/async_posix.c @@ -8,7 +8,7 @@ */ /* This must be the first #include file */ -#include "../async_locl.h" +#include "../async_local.h" #ifdef ASYNC_POSIX diff --git a/deps/openssl/openssl/crypto/async/arch/async_posix.h b/deps/openssl/openssl/crypto/async/arch/async_posix.h index 62449fe60e04ff..873c0316ddf3f3 100644 --- a/deps/openssl/openssl/crypto/async/arch/async_posix.h +++ b/deps/openssl/openssl/crypto/async/arch/async_posix.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_ASYNC_ARCH_ASYNC_POSIX_H -#define OPENSSL_ASYNC_ARCH_ASYNC_POSIX_H +#ifndef OSSL_CRYPTO_ASYNC_POSIX_H +#define OSSL_CRYPTO_ASYNC_POSIX_H #include #if defined(OPENSSL_SYS_UNIX) \ @@ -55,4 +55,4 @@ void async_fibre_free(async_fibre *fibre); # endif #endif -#endif /* OPENSSL_ASYNC_ARCH_ASYNC_POSIX_H */ +#endif /* OSSL_CRYPTO_ASYNC_POSIX_H */ diff --git a/deps/openssl/openssl/crypto/async/arch/async_win.c b/deps/openssl/openssl/crypto/async/arch/async_win.c index 077d56ced021f5..1f360d895b01a4 100644 --- a/deps/openssl/openssl/crypto/async/arch/async_win.c +++ b/deps/openssl/openssl/crypto/async/arch/async_win.c @@ -8,7 +8,7 @@ */ /* This must be the first #include file */ -#include "../async_locl.h" +#include "../async_local.h" #ifdef ASYNC_WIN diff --git a/deps/openssl/openssl/crypto/async/async.c b/deps/openssl/openssl/crypto/async/async.c index 1d83e4576f8145..326015c605e960 100644 --- a/deps/openssl/openssl/crypto/async/async.c +++ b/deps/openssl/openssl/crypto/async/async.c @@ -16,10 +16,10 @@ #undef _FORTIFY_SOURCE /* This must be the first #include file */ -#include "async_locl.h" +#include "async_local.h" #include -#include "internal/cryptlib_int.h" +#include "crypto/cryptlib.h" #include #define ASYNC_JOB_RUNNING 0 diff --git a/deps/openssl/openssl/crypto/async/async_locl.h b/deps/openssl/openssl/crypto/async/async_local.h similarity index 98% rename from deps/openssl/openssl/crypto/async/async_locl.h rename to deps/openssl/openssl/crypto/async/async_local.h index d7790293f74f52..dd1a85e02684a1 100644 --- a/deps/openssl/openssl/crypto/async/async_locl.h +++ b/deps/openssl/openssl/crypto/async/async_local.h @@ -20,7 +20,7 @@ # include #endif -#include "internal/async.h" +#include "crypto/async.h" #include typedef struct async_ctx_st async_ctx; diff --git a/deps/openssl/openssl/crypto/async/async_wait.c b/deps/openssl/openssl/crypto/async/async_wait.c index b23e43e8c8624a..7723f949a67eb2 100644 --- a/deps/openssl/openssl/crypto/async/async_wait.c +++ b/deps/openssl/openssl/crypto/async/async_wait.c @@ -8,7 +8,7 @@ */ /* This must be the first #include file */ -#include "async_locl.h" +#include "async_local.h" #include diff --git a/deps/openssl/openssl/crypto/bf/asm/bf-586.pl b/deps/openssl/openssl/crypto/bf/asm/bf-586.pl index 4e913aecf42da0..cddc17bddafa93 100644 --- a/deps/openssl/openssl/crypto/bf/asm/bf-586.pl +++ b/deps/openssl/openssl/crypto/bf/asm/bf-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -32,7 +32,7 @@ &cbc("BF_cbc_encrypt","BF_encrypt","BF_decrypt",1,4,5,3,-1,-1); &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; sub BF_encrypt { diff --git a/deps/openssl/openssl/crypto/bf/bf_cfb64.c b/deps/openssl/openssl/crypto/bf/bf_cfb64.c index ce6e13b5a4cc36..12332c540d666f 100644 --- a/deps/openssl/openssl/crypto/bf/bf_cfb64.c +++ b/deps/openssl/openssl/crypto/bf/bf_cfb64.c @@ -8,7 +8,7 @@ */ #include -#include "bf_locl.h" +#include "bf_local.h" /* * The input and output encrypted as though 64bit cfb mode is being used. diff --git a/deps/openssl/openssl/crypto/bf/bf_ecb.c b/deps/openssl/openssl/crypto/bf/bf_ecb.c index dc1becdbe4ed05..38e784cc2dad7a 100644 --- a/deps/openssl/openssl/crypto/bf/bf_ecb.c +++ b/deps/openssl/openssl/crypto/bf/bf_ecb.c @@ -8,7 +8,7 @@ */ #include -#include "bf_locl.h" +#include "bf_local.h" #include /* diff --git a/deps/openssl/openssl/crypto/bf/bf_enc.c b/deps/openssl/openssl/crypto/bf/bf_enc.c index 67c0d78aec5cba..423a4697a51e09 100644 --- a/deps/openssl/openssl/crypto/bf/bf_enc.c +++ b/deps/openssl/openssl/crypto/bf/bf_enc.c @@ -8,7 +8,7 @@ */ #include -#include "bf_locl.h" +#include "bf_local.h" /* * Blowfish as implemented from 'Blowfish: Springer-Verlag paper' (From diff --git a/deps/openssl/openssl/crypto/bf/bf_locl.h b/deps/openssl/openssl/crypto/bf/bf_local.h similarity index 98% rename from deps/openssl/openssl/crypto/bf/bf_locl.h rename to deps/openssl/openssl/crypto/bf/bf_local.h index b1a415e5132c1f..8c76976fa4d924 100644 --- a/deps/openssl/openssl/crypto/bf/bf_locl.h +++ b/deps/openssl/openssl/crypto/bf/bf_local.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BF_LOCL_H -# define HEADER_BF_LOCL_H +#ifndef OSSL_CRYPTO_BF_LOCAL_H +# define OSSL_CRYPTO_BF_LOCAL_H # include /* NOTE - c is not incremented as per n2l */ diff --git a/deps/openssl/openssl/crypto/bf/bf_ofb64.c b/deps/openssl/openssl/crypto/bf/bf_ofb64.c index 6418217b307d64..5d75401fcca5da 100644 --- a/deps/openssl/openssl/crypto/bf/bf_ofb64.c +++ b/deps/openssl/openssl/crypto/bf/bf_ofb64.c @@ -8,7 +8,7 @@ */ #include -#include "bf_locl.h" +#include "bf_local.h" /* * The input and output encrypted as though 64bit ofb mode is being used. diff --git a/deps/openssl/openssl/crypto/bf/bf_skey.c b/deps/openssl/openssl/crypto/bf/bf_skey.c index a4903a2a71de58..ed29cf9153a4b0 100644 --- a/deps/openssl/openssl/crypto/bf/bf_skey.c +++ b/deps/openssl/openssl/crypto/bf/bf_skey.c @@ -10,7 +10,7 @@ #include #include #include -#include "bf_locl.h" +#include "bf_local.h" #include "bf_pi.h" void BF_set_key(BF_KEY *key, int len, const unsigned char *data) diff --git a/deps/openssl/openssl/crypto/bio/b_addr.c b/deps/openssl/openssl/crypto/bio/b_addr.c index dd5008e636a477..d11268b6dc594a 100644 --- a/deps/openssl/openssl/crypto/bio/b_addr.c +++ b/deps/openssl/openssl/crypto/bio/b_addr.c @@ -10,7 +10,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include #ifndef OPENSSL_NO_SOCK @@ -22,7 +22,7 @@ CRYPTO_RWLOCK *bio_lookup_lock; static CRYPTO_ONCE bio_lookup_init = CRYPTO_ONCE_STATIC_INIT; /* - * Throughout this file and bio_lcl.h, the existence of the macro + * Throughout this file and bio_local.h, the existence of the macro * AI_PASSIVE is used to detect the availability of struct addrinfo, * getnameinfo() and getaddrinfo(). If that macro doesn't exist, * we use our own implementation instead, using gethostbyname, @@ -694,9 +694,11 @@ int BIO_lookup_ex(const char *host, const char *service, int lookup_type, hints.ai_flags |= AI_PASSIVE; /* Note that |res| SHOULD be a 'struct addrinfo **' thanks to - * macro magic in bio_lcl.h + * macro magic in bio_local.h */ +# if defined(AI_ADDRCONFIG) && defined(AI_NUMERICHOST) retry: +# endif switch ((gai_ret = getaddrinfo(host, service, &hints, res))) { # ifdef EAI_SYSTEM case EAI_SYSTEM: diff --git a/deps/openssl/openssl/crypto/bio/b_dump.c b/deps/openssl/openssl/crypto/bio/b_dump.c index 0d06414e7d912f..f175e244b23308 100644 --- a/deps/openssl/openssl/crypto/bio/b_dump.c +++ b/deps/openssl/openssl/crypto/bio/b_dump.c @@ -12,7 +12,7 @@ */ #include -#include "bio_lcl.h" +#include "bio_local.h" #define DUMP_WIDTH 16 #define DUMP_WIDTH_LESS_INDENT(i) (DUMP_WIDTH - ((i - (i > 6 ? 6 : i) + 3) / 4)) @@ -36,8 +36,8 @@ int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), if (indent < 0) indent = 0; - else if (indent > 128) - indent = 128; + else if (indent > 64) + indent = 64; dump_width = DUMP_WIDTH_LESS_INDENT(indent); rows = len / dump_width; diff --git a/deps/openssl/openssl/crypto/bio/b_print.c b/deps/openssl/openssl/crypto/bio/b_print.c index 9e907fcaa778c6..8ef90ac1d4f8bd 100644 --- a/deps/openssl/openssl/crypto/bio/b_print.c +++ b/deps/openssl/openssl/crypto/bio/b_print.c @@ -10,7 +10,7 @@ #include #include #include "internal/cryptlib.h" -#include "internal/ctype.h" +#include "crypto/ctype.h" #include "internal/numbers.h" #include diff --git a/deps/openssl/openssl/crypto/bio/b_sock.c b/deps/openssl/openssl/crypto/bio/b_sock.c index e7a24d02cbe5b0..df431e6d523d47 100644 --- a/deps/openssl/openssl/crypto/bio/b_sock.c +++ b/deps/openssl/openssl/crypto/bio/b_sock.c @@ -10,7 +10,7 @@ #include #include #include -#include "bio_lcl.h" +#include "bio_local.h" #ifndef OPENSSL_NO_SOCK # define SOCKET_PROTOCOL IPPROTO_TCP # ifdef SO_MAXCONN diff --git a/deps/openssl/openssl/crypto/bio/b_sock2.c b/deps/openssl/openssl/crypto/bio/b_sock2.c index 5d82ab22dc304c..335dfabc6180db 100644 --- a/deps/openssl/openssl/crypto/bio/b_sock2.c +++ b/deps/openssl/openssl/crypto/bio/b_sock2.c @@ -11,7 +11,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include diff --git a/deps/openssl/openssl/crypto/bio/bf_buff.c b/deps/openssl/openssl/crypto/bio/bf_buff.c index 8e87a629b8b542..51ae1f918d8770 100644 --- a/deps/openssl/openssl/crypto/bio/bf_buff.c +++ b/deps/openssl/openssl/crypto/bio/bf_buff.c @@ -9,7 +9,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include "internal/cryptlib.h" static int buffer_write(BIO *h, const char *buf, int num); diff --git a/deps/openssl/openssl/crypto/bio/bf_lbuf.c b/deps/openssl/openssl/crypto/bio/bf_lbuf.c index 194c7b8af7137f..72f9901813ea75 100644 --- a/deps/openssl/openssl/crypto/bio/bf_lbuf.c +++ b/deps/openssl/openssl/crypto/bio/bf_lbuf.c @@ -9,7 +9,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include "internal/cryptlib.h" #include diff --git a/deps/openssl/openssl/crypto/bio/bf_nbio.c b/deps/openssl/openssl/crypto/bio/bf_nbio.c index 4bc84eeba659c4..dd7011ab669f04 100644 --- a/deps/openssl/openssl/crypto/bio/bf_nbio.c +++ b/deps/openssl/openssl/crypto/bio/bf_nbio.c @@ -9,7 +9,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include "internal/cryptlib.h" #include diff --git a/deps/openssl/openssl/crypto/bio/bf_null.c b/deps/openssl/openssl/crypto/bio/bf_null.c index 613fb2e0583dd1..48c6be692a5d4d 100644 --- a/deps/openssl/openssl/crypto/bio/bf_null.c +++ b/deps/openssl/openssl/crypto/bio/bf_null.c @@ -9,7 +9,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include "internal/cryptlib.h" /* diff --git a/deps/openssl/openssl/crypto/bio/bio_cb.c b/deps/openssl/openssl/crypto/bio/bio_cb.c index 1154c233afd8d3..a153100a882543 100644 --- a/deps/openssl/openssl/crypto/bio/bio_cb.c +++ b/deps/openssl/openssl/crypto/bio/bio_cb.c @@ -10,7 +10,7 @@ #include #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include "internal/cryptlib.h" #include diff --git a/deps/openssl/openssl/crypto/bio/bio_lib.c b/deps/openssl/openssl/crypto/bio/bio_lib.c index ca375b911ae8b5..d2202e537b30a9 100644 --- a/deps/openssl/openssl/crypto/bio/bio_lib.c +++ b/deps/openssl/openssl/crypto/bio/bio_lib.c @@ -10,7 +10,7 @@ #include #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include "internal/cryptlib.h" diff --git a/deps/openssl/openssl/crypto/bio/bio_lcl.h b/deps/openssl/openssl/crypto/bio/bio_local.h similarity index 97% rename from deps/openssl/openssl/crypto/bio/bio_lcl.h rename to deps/openssl/openssl/crypto/bio/bio_local.h index e2c05a20de6cbc..8b2122129396d4 100644 --- a/deps/openssl/openssl/crypto/bio/bio_lcl.h +++ b/deps/openssl/openssl/crypto/bio/bio_local.h @@ -27,11 +27,11 @@ * For clarity, we check for internal/cryptlib.h since it's a common header * that also includes bio.h. */ -# ifdef HEADER_CRYPTLIB_H -# error internal/cryptlib.h included before bio_lcl.h +# ifdef OSSL_INTERNAL_CRYPTLIB_H +# error internal/cryptlib.h included before bio_local.h # endif # ifdef HEADER_BIO_H -# error openssl/bio.h included before bio_lcl.h +# error openssl/bio.h included before bio_local.h # endif /* diff --git a/deps/openssl/openssl/crypto/bio/bio_meth.c b/deps/openssl/openssl/crypto/bio/bio_meth.c index 493ff63a9012b6..da116461922eb5 100644 --- a/deps/openssl/openssl/crypto/bio/bio_meth.c +++ b/deps/openssl/openssl/crypto/bio/bio_meth.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "bio_lcl.h" +#include "bio_local.h" #include "internal/thread_once.h" CRYPTO_RWLOCK *bio_type_lock = NULL; diff --git a/deps/openssl/openssl/crypto/bio/bss_acpt.c b/deps/openssl/openssl/crypto/bio/bss_acpt.c index 993e5903a04fac..b38e47a592f44f 100644 --- a/deps/openssl/openssl/crypto/bio/bss_acpt.c +++ b/deps/openssl/openssl/crypto/bio/bss_acpt.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -9,7 +9,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #ifndef OPENSSL_NO_SOCK @@ -527,7 +527,12 @@ static long acpt_ctrl(BIO *b, int cmd, long num, void *ptr) break; case BIO_CTRL_DUP: break; - + case BIO_CTRL_EOF: + if (b->next_bio == NULL) + ret = 0; + else + ret = BIO_ctrl(b->next_bio, cmd, num, ptr); + break; default: ret = 0; break; diff --git a/deps/openssl/openssl/crypto/bio/bss_bio.c b/deps/openssl/openssl/crypto/bio/bss_bio.c index e34382c5578141..c97349e4328259 100644 --- a/deps/openssl/openssl/crypto/bio/bss_bio.c +++ b/deps/openssl/openssl/crypto/bio/bss_bio.c @@ -21,7 +21,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include #include diff --git a/deps/openssl/openssl/crypto/bio/bss_conn.c b/deps/openssl/openssl/crypto/bio/bss_conn.c index e9673fe7833693..dd43a406018ca8 100644 --- a/deps/openssl/openssl/crypto/bio/bss_conn.c +++ b/deps/openssl/openssl/crypto/bio/bss_conn.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -10,7 +10,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #ifndef OPENSSL_NO_SOCK @@ -54,6 +54,7 @@ void BIO_CONNECT_free(BIO_CONNECT *a); #define BIO_CONN_S_CONNECT 4 #define BIO_CONN_S_OK 5 #define BIO_CONN_S_BLOCKED_CONNECT 6 +#define BIO_CONN_S_CONNECT_ERROR 7 static const BIO_METHOD methods_connectp = { BIO_TYPE_CONNECT, @@ -174,7 +175,8 @@ static int conn_state(BIO *b, BIO_CONNECT *c) ERR_add_error_data(4, "hostname=", c->param_hostname, " service=", c->param_service); - BIOerr(BIO_F_CONN_STATE, BIO_R_CONNECT_ERROR); + c->state = BIO_CONN_S_CONNECT_ERROR; + break; } goto exit_loop; } else { @@ -197,6 +199,11 @@ static int conn_state(BIO *b, BIO_CONNECT *c) c->state = BIO_CONN_S_OK; break; + case BIO_CONN_S_CONNECT_ERROR: + BIOerr(BIO_F_CONN_STATE, BIO_R_CONNECT_ERROR); + ret = 0; + goto exit_loop; + case BIO_CONN_S_OK: ret = 1; goto exit_loop; @@ -309,6 +316,8 @@ static int conn_read(BIO *b, char *out, int outl) if (ret <= 0) { if (BIO_sock_should_retry(ret)) BIO_set_retry_read(b); + else if (ret == 0) + b->flags |= BIO_FLAGS_IN_EOF; } } return ret; @@ -488,6 +497,9 @@ static long conn_ctrl(BIO *b, int cmd, long num, void *ptr) *fptr = data->info_callback; } break; + case BIO_CTRL_EOF: + ret = (b->flags & BIO_FLAGS_IN_EOF) != 0 ? 1 : 0; + break; default: ret = 0; break; diff --git a/deps/openssl/openssl/crypto/bio/bss_dgram.c b/deps/openssl/openssl/crypto/bio/bss_dgram.c index 551821609f7313..942fd8b514be33 100644 --- a/deps/openssl/openssl/crypto/bio/bss_dgram.c +++ b/deps/openssl/openssl/crypto/bio/bss_dgram.c @@ -10,7 +10,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #ifndef OPENSSL_NO_DGRAM # ifndef OPENSSL_NO_SCTP diff --git a/deps/openssl/openssl/crypto/bio/bss_fd.c b/deps/openssl/openssl/crypto/bio/bss_fd.c index 5bc539c90b961f..ccbe1626baf22e 100644 --- a/deps/openssl/openssl/crypto/bio/bss_fd.c +++ b/deps/openssl/openssl/crypto/bio/bss_fd.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -10,7 +10,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #if defined(OPENSSL_NO_POSIX_IO) /* @@ -123,6 +123,8 @@ static int fd_read(BIO *b, char *out, int outl) if (ret <= 0) { if (BIO_fd_should_retry(ret)) BIO_set_retry_read(b); + else if (ret == 0) + b->flags |= BIO_FLAGS_IN_EOF; } } return ret; @@ -186,6 +188,9 @@ static long fd_ctrl(BIO *b, int cmd, long num, void *ptr) case BIO_CTRL_FLUSH: ret = 1; break; + case BIO_CTRL_EOF: + ret = (b->flags & BIO_FLAGS_IN_EOF) != 0 ? 1 : 0; + break; default: ret = 0; break; diff --git a/deps/openssl/openssl/crypto/bio/bss_file.c b/deps/openssl/openssl/crypto/bio/bss_file.c index a2102055976012..1a70ce79940499 100644 --- a/deps/openssl/openssl/crypto/bio/bss_file.c +++ b/deps/openssl/openssl/crypto/bio/bss_file.c @@ -27,7 +27,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include #if !defined(OPENSSL_NO_STDIO) diff --git a/deps/openssl/openssl/crypto/bio/bss_log.c b/deps/openssl/openssl/crypto/bio/bss_log.c index e9ab932ec29531..b9579faaa2a572 100644 --- a/deps/openssl/openssl/crypto/bio/bss_log.c +++ b/deps/openssl/openssl/crypto/bio/bss_log.c @@ -19,7 +19,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include "internal/cryptlib.h" #if defined(OPENSSL_SYS_WINCE) diff --git a/deps/openssl/openssl/crypto/bio/bss_mem.c b/deps/openssl/openssl/crypto/bio/bss_mem.c index 2d536e9db05f4c..7cb4a57813fdcf 100644 --- a/deps/openssl/openssl/crypto/bio/bss_mem.c +++ b/deps/openssl/openssl/crypto/bio/bss_mem.c @@ -9,7 +9,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include "internal/cryptlib.h" static int mem_write(BIO *h, const char *buf, int num); diff --git a/deps/openssl/openssl/crypto/bio/bss_null.c b/deps/openssl/openssl/crypto/bio/bss_null.c index 08f1d2bc98a37d..e73ce7841d4139 100644 --- a/deps/openssl/openssl/crypto/bio/bss_null.c +++ b/deps/openssl/openssl/crypto/bio/bss_null.c @@ -9,7 +9,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include "internal/cryptlib.h" static int null_write(BIO *h, const char *buf, int num); diff --git a/deps/openssl/openssl/crypto/bio/bss_sock.c b/deps/openssl/openssl/crypto/bio/bss_sock.c index ad38453201f171..6251f3d46a1774 100644 --- a/deps/openssl/openssl/crypto/bio/bss_sock.c +++ b/deps/openssl/openssl/crypto/bio/bss_sock.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -9,7 +9,7 @@ #include #include -#include "bio_lcl.h" +#include "bio_local.h" #include "internal/cryptlib.h" #ifndef OPENSSL_NO_SOCK @@ -101,6 +101,8 @@ static int sock_read(BIO *b, char *out, int outl) if (ret <= 0) { if (BIO_sock_should_retry(ret)) BIO_set_retry_read(b); + else if (ret == 0) + b->flags |= BIO_FLAGS_IN_EOF; } } return ret; @@ -151,6 +153,9 @@ static long sock_ctrl(BIO *b, int cmd, long num, void *ptr) case BIO_CTRL_FLUSH: ret = 1; break; + case BIO_CTRL_EOF: + ret = (b->flags & BIO_FLAGS_IN_EOF) != 0 ? 1 : 0; + break; default: ret = 0; break; diff --git a/deps/openssl/openssl/crypto/blake2/blake2_locl.h b/deps/openssl/openssl/crypto/blake2/blake2_local.h similarity index 100% rename from deps/openssl/openssl/crypto/blake2/blake2_locl.h rename to deps/openssl/openssl/crypto/blake2/blake2_local.h diff --git a/deps/openssl/openssl/crypto/blake2/blake2b.c b/deps/openssl/openssl/crypto/blake2/blake2b.c index 4b353dd498bb0c..fc6e5f1a3f3cc1 100644 --- a/deps/openssl/openssl/crypto/blake2/blake2b.c +++ b/deps/openssl/openssl/crypto/blake2/blake2b.c @@ -18,7 +18,7 @@ #include #include -#include "blake2_locl.h" +#include "blake2_local.h" #include "blake2_impl.h" static const uint64_t blake2b_IV[8] = diff --git a/deps/openssl/openssl/crypto/blake2/blake2s.c b/deps/openssl/openssl/crypto/blake2/blake2s.c index 8211374d123f12..d072e05ca36439 100644 --- a/deps/openssl/openssl/crypto/blake2/blake2s.c +++ b/deps/openssl/openssl/crypto/blake2/blake2s.c @@ -18,7 +18,7 @@ #include #include -#include "blake2_locl.h" +#include "blake2_local.h" #include "blake2_impl.h" static const uint32_t blake2s_IV[8] = diff --git a/deps/openssl/openssl/crypto/blake2/m_blake2b.c b/deps/openssl/openssl/crypto/blake2/m_blake2b.c index c493648c3cd086..ce4d8f95652f4c 100644 --- a/deps/openssl/openssl/crypto/blake2/m_blake2b.c +++ b/deps/openssl/openssl/crypto/blake2/m_blake2b.c @@ -20,8 +20,8 @@ # include # include -# include "blake2_locl.h" -# include "internal/evp_int.h" +# include "blake2_local.h" +# include "crypto/evp.h" static int init(EVP_MD_CTX *ctx) { diff --git a/deps/openssl/openssl/crypto/blake2/m_blake2s.c b/deps/openssl/openssl/crypto/blake2/m_blake2s.c index 83b2811e443283..b8fb048b30bf9f 100644 --- a/deps/openssl/openssl/crypto/blake2/m_blake2s.c +++ b/deps/openssl/openssl/crypto/blake2/m_blake2s.c @@ -20,8 +20,8 @@ # include # include -# include "blake2_locl.h" -# include "internal/evp_int.h" +# include "blake2_local.h" +# include "crypto/evp.h" static int init(EVP_MD_CTX *ctx) { diff --git a/deps/openssl/openssl/crypto/bn/README.pod b/deps/openssl/openssl/crypto/bn/README.pod index 706a140342cd69..5d5c4fa99fa109 100644 --- a/deps/openssl/openssl/crypto/bn/README.pod +++ b/deps/openssl/openssl/crypto/bn/README.pod @@ -188,7 +188,7 @@ B and the 2*B word arrays B and B. The implementations use the following macros which, depending on the architecture, may use "long long" C operations or inline assembler. -They are defined in C. +They are defined in C. mul(B, B, B, B) computes B*B+B and places the low word of the result in B and the high word in B. diff --git a/deps/openssl/openssl/crypto/bn/asm/alpha-mont.pl b/deps/openssl/openssl/crypto/bn/asm/alpha-mont.pl index c9b962a150de61..83717921eb8e55 100644 --- a/deps/openssl/openssl/crypto/bn/asm/alpha-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/alpha-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -325,4 +325,4 @@ ___ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/armv4-gf2m.pl b/deps/openssl/openssl/crypto/bn/asm/armv4-gf2m.pl index 7a0cdb2e8a0096..3a83cb855007d1 100644 --- a/deps/openssl/openssl/crypto/bn/asm/armv4-gf2m.pl +++ b/deps/openssl/openssl/crypto/bn/asm/armv4-gf2m.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -329,4 +329,4 @@ print $_,"\n"; } -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/bn/asm/armv4-mont.pl b/deps/openssl/openssl/crypto/bn/asm/armv4-mont.pl index 6bedc62ba62deb..eadc8bbf632280 100644 --- a/deps/openssl/openssl/crypto/bn/asm/armv4-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/armv4-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -754,4 +754,4 @@ print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/armv8-mont.pl b/deps/openssl/openssl/crypto/bn/asm/armv8-mont.pl index d8347bf9324928..bc9a18dc4ce6cd 100755 --- a/deps/openssl/openssl/crypto/bn/asm/armv8-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/armv8-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1511,4 +1511,4 @@ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/bn-586.pl b/deps/openssl/openssl/crypto/bn/asm/bn-586.pl index 58effc8808dd47..e0422405d5f311 100644 --- a/deps/openssl/openssl/crypto/bn/asm/bn-586.pl +++ b/deps/openssl/openssl/crypto/bn/asm/bn-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -31,7 +31,7 @@ &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; sub bn_mul_add_words { diff --git a/deps/openssl/openssl/crypto/bn/asm/c64xplus-gf2m.pl b/deps/openssl/openssl/crypto/bn/asm/c64xplus-gf2m.pl index 9c46da3af8d1f5..3bb8d120e96a47 100644 --- a/deps/openssl/openssl/crypto/bn/asm/c64xplus-gf2m.pl +++ b/deps/openssl/openssl/crypto/bn/asm/c64xplus-gf2m.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -157,4 +157,4 @@ sub mul_1x1_lower { ___ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/co-586.pl b/deps/openssl/openssl/crypto/bn/asm/co-586.pl index 97f5e3a19fc43a..3c34fa885c3073 100644 --- a/deps/openssl/openssl/crypto/bn/asm/co-586.pl +++ b/deps/openssl/openssl/crypto/bn/asm/co-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -22,7 +22,7 @@ &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; sub mul_add_c { @@ -39,17 +39,17 @@ sub mul_add_c &mul("edx"); &add($c0,"eax"); - &mov("eax",&DWP(($na)*4,$a,"",0)) if $pos == 0; # laod next a + &mov("eax",&DWP(($na)*4,$a,"",0)) if $pos == 0; # load next a &mov("eax",&wparam(0)) if $pos > 0; # load r[] ### &adc($c1,"edx"); - &mov("edx",&DWP(($nb)*4,$b,"",0)) if $pos == 0; # laod next b - &mov("edx",&DWP(($nb)*4,$b,"",0)) if $pos == 1; # laod next b + &mov("edx",&DWP(($nb)*4,$b,"",0)) if $pos == 0; # load next b + &mov("edx",&DWP(($nb)*4,$b,"",0)) if $pos == 1; # load next b ### &adc($c2,0); # is pos > 1, it means it is the last loop &mov(&DWP($i*4,"eax","",0),$c0) if $pos > 0; # save r[]; - &mov("eax",&DWP(($na)*4,$a,"",0)) if $pos == 1; # laod next a + &mov("eax",&DWP(($na)*4,$a,"",0)) if $pos == 1; # load next a } sub sqr_add_c diff --git a/deps/openssl/openssl/crypto/bn/asm/ia64-mont.pl b/deps/openssl/openssl/crypto/bn/asm/ia64-mont.pl index ec486f77792be6..7a4e74d719429c 100644 --- a/deps/openssl/openssl/crypto/bn/asm/ia64-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/ia64-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -857,4 +857,4 @@ open STDOUT,">$output" if $output; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/mips-mont.pl b/deps/openssl/openssl/crypto/bn/asm/mips-mont.pl index fbe5d04f716c98..3b79a4b186d77b 100644 --- a/deps/openssl/openssl/crypto/bn/asm/mips-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/mips-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -430,4 +430,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/mips.pl b/deps/openssl/openssl/crypto/bn/asm/mips.pl index a205189eb684fe..8ad715bda4d4e8 100644 --- a/deps/openssl/openssl/crypto/bn/asm/mips.pl +++ b/deps/openssl/openssl/crypto/bn/asm/mips.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -2260,4 +2260,4 @@ () .end bn_sqr_comba4 ___ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/parisc-mont.pl b/deps/openssl/openssl/crypto/bn/asm/parisc-mont.pl index aa9f626ed26768..6a7c714a156eed 100644 --- a/deps/openssl/openssl/crypto/bn/asm/parisc-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/parisc-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1003,4 +1003,4 @@ sub assemble { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/ppc-mont.pl b/deps/openssl/openssl/crypto/bn/asm/ppc-mont.pl index ec7e019a4380fb..278314c57bd607 100644 --- a/deps/openssl/openssl/crypto/bn/asm/ppc-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/ppc-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1987,4 +1987,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/ppc.pl b/deps/openssl/openssl/crypto/bn/asm/ppc.pl index d6d4e66f92e954..a8d3f14e9b8eef 100644 --- a/deps/openssl/openssl/crypto/bn/asm/ppc.pl +++ b/deps/openssl/openssl/crypto/bn/asm/ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2004-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -2009,4 +2009,4 @@ EOF $data =~ s/\`([^\`]*)\`/eval $1/gem; print $data; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/ppc64-mont.pl b/deps/openssl/openssl/crypto/bn/asm/ppc64-mont.pl index c41b620bc23ec8..b55fd46c824fb1 100644 --- a/deps/openssl/openssl/crypto/bn/asm/ppc64-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/ppc64-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1649,4 +1649,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/rsaz-avx2.pl b/deps/openssl/openssl/crypto/bn/asm/rsaz-avx2.pl index 85cd73c668bdda..9b54f9d9ed3ce5 100755 --- a/deps/openssl/openssl/crypto/bn/asm/rsaz-avx2.pl +++ b/deps/openssl/openssl/crypto/bn/asm/rsaz-avx2.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2012, Intel Corporation. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use @@ -66,7 +66,7 @@ $addx = ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([3-9])\.([0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $avx = ($ver>=3.0) + ($ver>=3.01); $addx = ($ver>=3.03); @@ -1979,4 +1979,4 @@ ___ }}} -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/rsaz-x86_64.pl b/deps/openssl/openssl/crypto/bn/asm/rsaz-x86_64.pl index b1797b649f0034..8172dace74ee70 100755 --- a/deps/openssl/openssl/crypto/bn/asm/rsaz-x86_64.pl +++ b/deps/openssl/openssl/crypto/bn/asm/rsaz-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2012, Intel Corporation. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use @@ -81,7 +81,7 @@ $addx = ($1>=12); } -if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9])\.([0-9]+)/) { +if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $addx = ($ver>=3.03); } @@ -116,7 +116,7 @@ subq \$128+24, %rsp .cfi_adjust_cfa_offset 128+24 .Lsqr_body: - movq $mod, %rbp # common argument + movq $mod, %xmm1 # common off-load movq ($inp), %rdx movq 8($inp), %rax movq $n0, 128(%rsp) @@ -134,7 +134,8 @@ .Loop_sqr: movl $times,128+8(%rsp) #first iteration - movq %rdx, %rbx + movq %rdx, %rbx # 0($inp) + mov %rax, %rbp # 8($inp) mulq %rdx movq %rax, %r8 movq 16($inp), %rax @@ -173,31 +174,29 @@ mulq %rbx addq %rax, %r14 movq %rbx, %rax - movq %rdx, %r15 - adcq \$0, %r15 + adcq \$0, %rdx - addq %r8, %r8 #shlq \$1, %r8 - movq %r9, %rcx - adcq %r9, %r9 #shld \$1, %r8, %r9 + xorq %rcx,%rcx # rcx:r8 = r8 << 1 + addq %r8, %r8 + movq %rdx, %r15 + adcq \$0, %rcx mulq %rax - movq %rax, (%rsp) - addq %rdx, %r8 - adcq \$0, %r9 + addq %r8, %rdx + adcq \$0, %rcx - movq %r8, 8(%rsp) - shrq \$63, %rcx + movq %rax, (%rsp) + movq %rdx, 8(%rsp) #second iteration - movq 8($inp), %r8 movq 16($inp), %rax - mulq %r8 + mulq %rbp addq %rax, %r10 movq 24($inp), %rax movq %rdx, %rbx adcq \$0, %rbx - mulq %r8 + mulq %rbp addq %rax, %r11 movq 32($inp), %rax adcq \$0, %rdx @@ -205,7 +204,7 @@ movq %rdx, %rbx adcq \$0, %rbx - mulq %r8 + mulq %rbp addq %rax, %r12 movq 40($inp), %rax adcq \$0, %rdx @@ -213,7 +212,7 @@ movq %rdx, %rbx adcq \$0, %rbx - mulq %r8 + mulq %rbp addq %rax, %r13 movq 48($inp), %rax adcq \$0, %rdx @@ -221,7 +220,7 @@ movq %rdx, %rbx adcq \$0, %rbx - mulq %r8 + mulq %rbp addq %rax, %r14 movq 56($inp), %rax adcq \$0, %rdx @@ -229,39 +228,39 @@ movq %rdx, %rbx adcq \$0, %rbx - mulq %r8 + mulq %rbp addq %rax, %r15 - movq %r8, %rax + movq %rbp, %rax adcq \$0, %rdx addq %rbx, %r15 - movq %rdx, %r8 - movq %r10, %rdx - adcq \$0, %r8 + adcq \$0, %rdx - add %rdx, %rdx - lea (%rcx,%r10,2), %r10 #shld \$1, %rcx, %r10 - movq %r11, %rbx - adcq %r11, %r11 #shld \$1, %r10, %r11 + xorq %rbx, %rbx # rbx:r10:r9 = r10:r9 << 1 + addq %r9, %r9 + movq %rdx, %r8 + adcq %r10, %r10 + adcq \$0, %rbx mulq %rax + # rcx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + addq %rcx, %rax + movq 16($inp), %rbp addq %rax, %r9 + movq 24($inp), %rax adcq %rdx, %r10 - adcq \$0, %r11 + adcq \$0, %rbx movq %r9, 16(%rsp) movq %r10, 24(%rsp) - shrq \$63, %rbx #third iteration - movq 16($inp), %r9 - movq 24($inp), %rax - mulq %r9 + mulq %rbp addq %rax, %r12 movq 32($inp), %rax movq %rdx, %rcx adcq \$0, %rcx - mulq %r9 + mulq %rbp addq %rax, %r13 movq 40($inp), %rax adcq \$0, %rdx @@ -269,7 +268,7 @@ movq %rdx, %rcx adcq \$0, %rcx - mulq %r9 + mulq %rbp addq %rax, %r14 movq 48($inp), %rax adcq \$0, %rdx @@ -277,9 +276,7 @@ movq %rdx, %rcx adcq \$0, %rcx - mulq %r9 - movq %r12, %r10 - lea (%rbx,%r12,2), %r12 #shld \$1, %rbx, %r12 + mulq %rbp addq %rax, %r15 movq 56($inp), %rax adcq \$0, %rdx @@ -287,36 +284,40 @@ movq %rdx, %rcx adcq \$0, %rcx - mulq %r9 - shrq \$63, %r10 + mulq %rbp addq %rax, %r8 - movq %r9, %rax + movq %rbp, %rax adcq \$0, %rdx addq %rcx, %r8 - movq %rdx, %r9 - adcq \$0, %r9 + adcq \$0, %rdx - movq %r13, %rcx - leaq (%r10,%r13,2), %r13 #shld \$1, %r12, %r13 + xorq %rcx, %rcx # rcx:r12:r11 = r12:r11 << 1 + addq %r11, %r11 + movq %rdx, %r9 + adcq %r12, %r12 + adcq \$0, %rcx mulq %rax + # rbx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + addq %rbx, %rax + movq 24($inp), %r10 addq %rax, %r11 + movq 32($inp), %rax adcq %rdx, %r12 - adcq \$0, %r13 + adcq \$0, %rcx movq %r11, 32(%rsp) movq %r12, 40(%rsp) - shrq \$63, %rcx #fourth iteration - movq 24($inp), %r10 - movq 32($inp), %rax + mov %rax, %r11 # 32($inp) mulq %r10 addq %rax, %r14 movq 40($inp), %rax movq %rdx, %rbx adcq \$0, %rbx + mov %rax, %r12 # 40($inp) mulq %r10 addq %rax, %r15 movq 48($inp), %rax @@ -325,9 +326,8 @@ movq %rdx, %rbx adcq \$0, %rbx + mov %rax, %rbp # 48($inp) mulq %r10 - movq %r14, %r12 - leaq (%rcx,%r14,2), %r14 #shld \$1, %rcx, %r14 addq %rax, %r8 movq 56($inp), %rax adcq \$0, %rdx @@ -336,32 +336,33 @@ adcq \$0, %rbx mulq %r10 - shrq \$63, %r12 addq %rax, %r9 movq %r10, %rax adcq \$0, %rdx addq %rbx, %r9 - movq %rdx, %r10 - adcq \$0, %r10 + adcq \$0, %rdx - movq %r15, %rbx - leaq (%r12,%r15,2),%r15 #shld \$1, %r14, %r15 + xorq %rbx, %rbx # rbx:r13:r14 = r13:r14 << 1 + addq %r13, %r13 + movq %rdx, %r10 + adcq %r14, %r14 + adcq \$0, %rbx mulq %rax + # rcx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + addq %rcx, %rax addq %rax, %r13 + movq %r12, %rax # 40($inp) adcq %rdx, %r14 - adcq \$0, %r15 + adcq \$0, %rbx movq %r13, 48(%rsp) movq %r14, 56(%rsp) - shrq \$63, %rbx #fifth iteration - movq 32($inp), %r11 - movq 40($inp), %rax mulq %r11 addq %rax, %r8 - movq 48($inp), %rax + movq %rbp, %rax # 48($inp) movq %rdx, %rcx adcq \$0, %rcx @@ -369,97 +370,99 @@ addq %rax, %r9 movq 56($inp), %rax adcq \$0, %rdx - movq %r8, %r12 - leaq (%rbx,%r8,2), %r8 #shld \$1, %rbx, %r8 addq %rcx, %r9 movq %rdx, %rcx adcq \$0, %rcx + mov %rax, %r14 # 56($inp) mulq %r11 - shrq \$63, %r12 addq %rax, %r10 movq %r11, %rax adcq \$0, %rdx addq %rcx, %r10 - movq %rdx, %r11 - adcq \$0, %r11 + adcq \$0, %rdx - movq %r9, %rcx - leaq (%r12,%r9,2), %r9 #shld \$1, %r8, %r9 + xorq %rcx, %rcx # rcx:r8:r15 = r8:r15 << 1 + addq %r15, %r15 + movq %rdx, %r11 + adcq %r8, %r8 + adcq \$0, %rcx mulq %rax + # rbx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + addq %rbx, %rax addq %rax, %r15 + movq %rbp, %rax # 48($inp) adcq %rdx, %r8 - adcq \$0, %r9 + adcq \$0, %rcx movq %r15, 64(%rsp) movq %r8, 72(%rsp) - shrq \$63, %rcx #sixth iteration - movq 40($inp), %r12 - movq 48($inp), %rax mulq %r12 addq %rax, %r10 - movq 56($inp), %rax + movq %r14, %rax # 56($inp) movq %rdx, %rbx adcq \$0, %rbx mulq %r12 addq %rax, %r11 movq %r12, %rax - movq %r10, %r15 - leaq (%rcx,%r10,2), %r10 #shld \$1, %rcx, %r10 adcq \$0, %rdx - shrq \$63, %r15 addq %rbx, %r11 - movq %rdx, %r12 - adcq \$0, %r12 + adcq \$0, %rdx - movq %r11, %rbx - leaq (%r15,%r11,2), %r11 #shld \$1, %r10, %r11 + xorq %rbx, %rbx # rbx:r10:r9 = r10:r9 << 1 + addq %r9, %r9 + movq %rdx, %r12 + adcq %r10, %r10 + adcq \$0, %rbx mulq %rax + # rcx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + addq %rcx, %rax addq %rax, %r9 + movq %r14, %rax # 56($inp) adcq %rdx, %r10 - adcq \$0, %r11 + adcq \$0, %rbx movq %r9, 80(%rsp) movq %r10, 88(%rsp) #seventh iteration - movq 48($inp), %r13 - movq 56($inp), %rax - mulq %r13 + mulq %rbp addq %rax, %r12 - movq %r13, %rax - movq %rdx, %r13 - adcq \$0, %r13 + movq %rbp, %rax + adcq \$0, %rdx - xorq %r14, %r14 - shlq \$1, %rbx - adcq %r12, %r12 #shld \$1, %rbx, %r12 - adcq %r13, %r13 #shld \$1, %r12, %r13 - adcq %r14, %r14 #shld \$1, %r13, %r14 + xorq %rcx, %rcx # rcx:r12:r11 = r12:r11 << 1 + addq %r11, %r11 + movq %rdx, %r13 + adcq %r12, %r12 + adcq \$0, %rcx mulq %rax + # rbx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + addq %rbx, %rax addq %rax, %r11 + movq %r14, %rax # 56($inp) adcq %rdx, %r12 - adcq \$0, %r13 + adcq \$0, %rcx movq %r11, 96(%rsp) movq %r12, 104(%rsp) #eighth iteration - movq 56($inp), %rax - mulq %rax - addq %rax, %r13 - adcq \$0, %rdx - - addq %rdx, %r14 + xorq %rbx, %rbx # rbx:r13 = r13 << 1 + addq %r13, %r13 + adcq \$0, %rbx - movq %r13, 112(%rsp) - movq %r14, 120(%rsp) + mulq %rax + # rcx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + addq %rcx, %rax + addq %r13, %rax + adcq %rbx, %rdx movq (%rsp), %r8 movq 8(%rsp), %r9 @@ -469,6 +472,10 @@ movq 40(%rsp), %r13 movq 48(%rsp), %r14 movq 56(%rsp), %r15 + movq %xmm1, %rbp + + movq %rax, 112(%rsp) + movq %rdx, 120(%rsp) call __rsaz_512_reduce @@ -500,9 +507,9 @@ .Loop_sqrx: movl $times,128+8(%rsp) movq $out, %xmm0 # off-load - movq %rbp, %xmm1 # off-load #first iteration mulx %rax, %r8, %r9 + mov %rax, %rbx mulx 16($inp), %rcx, %r10 xor %rbp, %rbp # cf=0, of=0 @@ -510,40 +517,39 @@ mulx 24($inp), %rax, %r11 adcx %rcx, %r9 - mulx 32($inp), %rcx, %r12 + .byte 0xc4,0x62,0xf3,0xf6,0xa6,0x20,0x00,0x00,0x00 # mulx 32($inp), %rcx, %r12 adcx %rax, %r10 - mulx 40($inp), %rax, %r13 + .byte 0xc4,0x62,0xfb,0xf6,0xae,0x28,0x00,0x00,0x00 # mulx 40($inp), %rax, %r13 adcx %rcx, %r11 - .byte 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 # mulx 48($inp), %rcx, %r14 + mulx 48($inp), %rcx, %r14 adcx %rax, %r12 adcx %rcx, %r13 - .byte 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 # mulx 56($inp), %rax, %r15 + mulx 56($inp), %rax, %r15 adcx %rax, %r14 adcx %rbp, %r15 # %rbp is 0 - mov %r9, %rcx - shld \$1, %r8, %r9 - shl \$1, %r8 - - xor %ebp, %ebp - mulx %rdx, %rax, %rdx - adcx %rdx, %r8 - mov 8($inp), %rdx - adcx %rbp, %r9 + mulx %rdx, %rax, $out + mov %rbx, %rdx # 8($inp) + xor %rcx, %rcx + adox %r8, %r8 + adcx $out, %r8 + adox %rbp, %rcx + adcx %rbp, %rcx mov %rax, (%rsp) mov %r8, 8(%rsp) #second iteration - mulx 16($inp), %rax, %rbx + .byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x10,0x00,0x00,0x00 # mulx 16($inp), %rax, %rbx adox %rax, %r10 adcx %rbx, %r11 - .byte 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 # mulx 24($inp), $out, %r8 + mulx 24($inp), $out, %r8 adox $out, %r11 + .byte 0x66 adcx %r8, %r12 mulx 32($inp), %rax, %rbx @@ -561,24 +567,25 @@ .byte 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 # mulx 56($inp), $out, %r8 adox $out, %r15 adcx %rbp, %r8 + mulx %rdx, %rax, $out adox %rbp, %r8 + .byte 0x48,0x8b,0x96,0x10,0x00,0x00,0x00 # mov 16($inp), %rdx - mov %r11, %rbx - shld \$1, %r10, %r11 - shld \$1, %rcx, %r10 - - xor %ebp,%ebp - mulx %rdx, %rax, %rcx - mov 16($inp), %rdx + xor %rbx, %rbx + adox %r9, %r9 + # rcx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + adcx %rcx, %rax + adox %r10, %r10 adcx %rax, %r9 - adcx %rcx, %r10 - adcx %rbp, %r11 + adox %rbp, %rbx + adcx $out, %r10 + adcx %rbp, %rbx mov %r9, 16(%rsp) .byte 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 # mov %r10, 24(%rsp) #third iteration - .byte 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 # mulx 24($inp), $out, %r9 + mulx 24($inp), $out, %r9 adox $out, %r12 adcx %r9, %r13 @@ -586,7 +593,7 @@ adox %rax, %r13 adcx %rcx, %r14 - mulx 40($inp), $out, %r9 + .byte 0xc4,0x62,0xc3,0xf6,0x8e,0x28,0x00,0x00,0x00 # mulx 40($inp), $out, %r9 adox $out, %r14 adcx %r9, %r15 @@ -594,27 +601,28 @@ adox %rax, %r15 adcx %rcx, %r8 - .byte 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 # mulx 56($inp), $out, %r9 + mulx 56($inp), $out, %r9 adox $out, %r8 adcx %rbp, %r9 + mulx %rdx, %rax, $out adox %rbp, %r9 + mov 24($inp), %rdx - mov %r13, %rcx - shld \$1, %r12, %r13 - shld \$1, %rbx, %r12 - - xor %ebp, %ebp - mulx %rdx, %rax, %rdx + xor %rcx, %rcx + adox %r11, %r11 + # rbx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + adcx %rbx, %rax + adox %r12, %r12 adcx %rax, %r11 - adcx %rdx, %r12 - mov 24($inp), %rdx - adcx %rbp, %r13 + adox %rbp, %rcx + adcx $out, %r12 + adcx %rbp, %rcx mov %r11, 32(%rsp) - .byte 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 # mov %r12, 40(%rsp) + mov %r12, 40(%rsp) #fourth iteration - .byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 # mulx 32($inp), %rax, %rbx + mulx 32($inp), %rax, %rbx adox %rax, %r14 adcx %rbx, %r15 @@ -629,25 +637,25 @@ mulx 56($inp), $out, %r10 adox $out, %r9 adcx %rbp, %r10 + mulx %rdx, %rax, $out adox %rbp, %r10 + mov 32($inp), %rdx - .byte 0x66 - mov %r15, %rbx - shld \$1, %r14, %r15 - shld \$1, %rcx, %r14 - - xor %ebp, %ebp - mulx %rdx, %rax, %rdx + xor %rbx, %rbx + adox %r13, %r13 + # rcx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + adcx %rcx, %rax + adox %r14, %r14 adcx %rax, %r13 - adcx %rdx, %r14 - mov 32($inp), %rdx - adcx %rbp, %r15 + adox %rbp, %rbx + adcx $out, %r14 + adcx %rbp, %rbx mov %r13, 48(%rsp) mov %r14, 56(%rsp) #fifth iteration - .byte 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 # mulx 40($inp), $out, %r11 + mulx 40($inp), $out, %r11 adox $out, %r8 adcx %r11, %r9 @@ -658,18 +666,19 @@ mulx 56($inp), $out, %r11 adox $out, %r10 adcx %rbp, %r11 + mulx %rdx, %rax, $out + mov 40($inp), %rdx adox %rbp, %r11 - mov %r9, %rcx - shld \$1, %r8, %r9 - shld \$1, %rbx, %r8 - - xor %ebp, %ebp - mulx %rdx, %rax, %rdx + xor %rcx, %rcx + adox %r15, %r15 + # rbx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + adcx %rbx, %rax + adox %r8, %r8 adcx %rax, %r15 - adcx %rdx, %r8 - mov 40($inp), %rdx - adcx %rbp, %r9 + adox %rbp, %rcx + adcx $out, %r8 + adcx %rbp, %rcx mov %r15, 64(%rsp) mov %r8, 72(%rsp) @@ -682,18 +691,19 @@ .byte 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 # mulx 56($inp), $out, %r12 adox $out, %r11 adcx %rbp, %r12 + mulx %rdx, %rax, $out adox %rbp, %r12 + mov 48($inp), %rdx - mov %r11, %rbx - shld \$1, %r10, %r11 - shld \$1, %rcx, %r10 - - xor %ebp, %ebp - mulx %rdx, %rax, %rdx + xor %rbx, %rbx + adox %r9, %r9 + # rcx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + adcx %rcx, %rax + adox %r10, %r10 adcx %rax, %r9 - adcx %rdx, %r10 - mov 48($inp), %rdx - adcx %rbp, %r11 + adcx $out, %r10 + adox %rbp, %rbx + adcx %rbp, %rbx mov %r9, 80(%rsp) mov %r10, 88(%rsp) @@ -703,31 +713,31 @@ adox %rax, %r12 adox %rbp, %r13 - xor %r14, %r14 - shld \$1, %r13, %r14 - shld \$1, %r12, %r13 - shld \$1, %rbx, %r12 - - xor %ebp, %ebp - mulx %rdx, %rax, %rdx - adcx %rax, %r11 - adcx %rdx, %r12 + mulx %rdx, %rax, $out + xor %rcx, %rcx mov 56($inp), %rdx - adcx %rbp, %r13 + adox %r11, %r11 + # rbx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + adcx %rbx, %rax + adox %r12, %r12 + adcx %rax, %r11 + adox %rbp, %rcx + adcx $out, %r12 + adcx %rbp, %rcx .byte 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 # mov %r11, 96(%rsp) .byte 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 # mov %r12, 104(%rsp) #eighth iteration mulx %rdx, %rax, %rdx - adox %rax, %r13 - adox %rbp, %rdx + xor %rbx, %rbx + adox %r13, %r13 + # rcx <= 2 and rax <= 0xFFFF..F9, so carry must be zero here + adcx %rcx, %rax + adox %rbp, %rbx + adcx %r13, %rax + adcx %rdx, %rbx - .byte 0x66 - add %rdx, %r14 - - movq %r13, 112(%rsp) - movq %r14, 120(%rsp) movq %xmm0, $out movq %xmm1, %rbp @@ -741,6 +751,9 @@ movq 48(%rsp), %r14 movq 56(%rsp), %r15 + movq %rax, 112(%rsp) + movq %rbx, 120(%rsp) + call __rsaz_512_reducex addq 64(%rsp), %r8 @@ -1606,6 +1619,7 @@ .type __rsaz_512_reduce,\@abi-omnipotent .align 32 __rsaz_512_reduce: +.cfi_startproc movq %r8, %rbx imulq 128+8(%rsp), %rbx movq 0(%rbp), %rax @@ -1685,6 +1699,7 @@ jne .Lreduction_loop ret +.cfi_endproc .size __rsaz_512_reduce,.-__rsaz_512_reduce ___ } @@ -1698,6 +1713,7 @@ .type __rsaz_512_reducex,\@abi-omnipotent .align 32 __rsaz_512_reducex: +.cfi_startproc #movq 128+8(%rsp), %rdx # pull $n0 imulq %r8, %rdx xorq %rsi, %rsi # cf=0,of=0 @@ -1750,6 +1766,7 @@ jne .Lreduction_loopx ret +.cfi_endproc .size __rsaz_512_reducex,.-__rsaz_512_reducex ___ } @@ -1761,6 +1778,7 @@ .type __rsaz_512_subtract,\@abi-omnipotent .align 32 __rsaz_512_subtract: +.cfi_startproc movq %r8, ($out) movq %r9, 8($out) movq %r10, 16($out) @@ -1814,6 +1832,7 @@ movq %r15, 56($out) ret +.cfi_endproc .size __rsaz_512_subtract,.-__rsaz_512_subtract ___ } @@ -1827,6 +1846,7 @@ .type __rsaz_512_mul,\@abi-omnipotent .align 32 __rsaz_512_mul: +.cfi_startproc leaq 8(%rsp), %rdi movq ($ap), %rax @@ -1965,6 +1985,7 @@ movq %r15, 56(%rdi) ret +.cfi_endproc .size __rsaz_512_mul,.-__rsaz_512_mul ___ } @@ -1979,6 +2000,7 @@ .type __rsaz_512_mulx,\@abi-omnipotent .align 32 __rsaz_512_mulx: +.cfi_startproc mulx ($ap), %rbx, %r8 # initial %rdx preloaded by caller mov \$-6, %rcx @@ -2095,6 +2117,7 @@ mov %r15, 8+64+56(%rsp) ret +.cfi_endproc .size __rsaz_512_mulx,.-__rsaz_512_mulx ___ } @@ -2105,6 +2128,7 @@ .type rsaz_512_scatter4,\@abi-omnipotent .align 16 rsaz_512_scatter4: +.cfi_startproc leaq ($out,$power,8), $out movl \$8, %r9d jmp .Loop_scatter @@ -2117,12 +2141,14 @@ decl %r9d jnz .Loop_scatter ret +.cfi_endproc .size rsaz_512_scatter4,.-rsaz_512_scatter4 .globl rsaz_512_gather4 .type rsaz_512_gather4,\@abi-omnipotent .align 16 rsaz_512_gather4: +.cfi_startproc ___ $code.=<<___ if ($win64); .LSEH_begin_rsaz_512_gather4: @@ -2217,6 +2243,7 @@ $code.=<<___; ret .LSEH_end_rsaz_512_gather4: +.cfi_endproc .size rsaz_512_gather4,.-rsaz_512_gather4 .align 64 @@ -2401,4 +2428,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/s390x-gf2m.pl b/deps/openssl/openssl/crypto/bn/asm/s390x-gf2m.pl index 06181bf9b95f77..a7e4b8a97d3071 100644 --- a/deps/openssl/openssl/crypto/bn/asm/s390x-gf2m.pl +++ b/deps/openssl/openssl/crypto/bn/asm/s390x-gf2m.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -225,4 +225,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/s390x-mont.pl b/deps/openssl/openssl/crypto/bn/asm/s390x-mont.pl index c2fc5adffe0d14..bc8c8951e0608e 100644 --- a/deps/openssl/openssl/crypto/bn/asm/s390x-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/s390x-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -145,7 +145,7 @@ lghi $NHI,0 alcgr $NHI,$nhi - la $j,8(%r0) # j=1 + la $j,8 # j=1 lr $count,$num .align 16 @@ -197,7 +197,7 @@ lghi $NHI,0 alcgr $NHI,$nhi - la $j,8(%r0) # j=1 + la $j,8 # j=1 lr $count,$num .align 16 @@ -241,7 +241,7 @@ la $ap,$stdframe($sp) ahi $num,1 # restore $num, incidentally clears "borrow" - la $j,0(%r0) + la $j,0 lr $count,$num .Lsub: lg $alo,0($j,$ap) lg $nlo,0($j,$np) @@ -255,7 +255,7 @@ lghi $NHI,-1 xgr $NHI,$AHI - la $j,0(%r0) + la $j,0 lgr $count,$num .Lcopy: lg $ahi,$stdframe($j,$sp) # conditional copy lg $alo,0($j,$rp) @@ -281,4 +281,4 @@ s/_dswap\s+(%r[0-9]+)/sprintf("rllg\t%s,%s,32",$1,$1) if($SIZE_T==4)/e; print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/s390x.S b/deps/openssl/openssl/crypto/bn/asm/s390x.S index 292a7a9998bd47..b666c41a88a402 100644 --- a/deps/openssl/openssl/crypto/bn/asm/s390x.S +++ b/deps/openssl/openssl/crypto/bn/asm/s390x.S @@ -511,7 +511,7 @@ bn_mul_comba4: lghi zero,0 mul_add_c(0,0,c1,c2,c3); - stg c1,0*8(%r3) + stg c1,0*8(%r2) lghi c1,0 mul_add_c(0,1,c2,c3,c1); diff --git a/deps/openssl/openssl/crypto/bn/asm/sparct4-mont.pl b/deps/openssl/openssl/crypto/bn/asm/sparct4-mont.pl index fcae9cfc5b44bf..62e297a01692dd 100755 --- a/deps/openssl/openssl/crypto/bn/asm/sparct4-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/sparct4-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1225,4 +1225,4 @@ () &emit_assembler(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/sparcv9-gf2m.pl b/deps/openssl/openssl/crypto/bn/asm/sparcv9-gf2m.pl index dcf11a87a18e2d..238a93dca56c63 100644 --- a/deps/openssl/openssl/crypto/bn/asm/sparcv9-gf2m.pl +++ b/deps/openssl/openssl/crypto/bn/asm/sparcv9-gf2m.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -197,4 +197,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/sparcv9-mont.pl b/deps/openssl/openssl/crypto/bn/asm/sparcv9-mont.pl index b41903af985f56..d1a3c2bc434342 100644 --- a/deps/openssl/openssl/crypto/bn/asm/sparcv9-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/sparcv9-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -617,4 +617,4 @@ ___ $code =~ s/\`([^\`]*)\`/eval($1)/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/sparcv9a-mont.pl b/deps/openssl/openssl/crypto/bn/asm/sparcv9a-mont.pl index c8f759df9fbd1a..7a1fca1263a960 100755 --- a/deps/openssl/openssl/crypto/bn/asm/sparcv9a-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/sparcv9a-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -884,4 +884,4 @@ print $code; # flush -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/via-mont.pl b/deps/openssl/openssl/crypto/bn/asm/via-mont.pl index 9cf717e8410248..9dbc8d4587923d 100644 --- a/deps/openssl/openssl/crypto/bn/asm/via-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/via-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -248,4 +248,4 @@ &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/vis3-mont.pl b/deps/openssl/openssl/crypto/bn/asm/vis3-mont.pl index 04833a0c876df0..d797af8745dc15 100644 --- a/deps/openssl/openssl/crypto/bn/asm/vis3-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/vis3-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -381,4 +381,4 @@ sub unvis3 { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/x86-gf2m.pl b/deps/openssl/openssl/crypto/bn/asm/x86-gf2m.pl index d03efcc75023dc..436d90b11ea4dc 100644 --- a/deps/openssl/openssl/crypto/bn/asm/x86-gf2m.pl +++ b/deps/openssl/openssl/crypto/bn/asm/x86-gf2m.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -322,4 +322,4 @@ &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/x86-mont.pl b/deps/openssl/openssl/crypto/bn/asm/x86-mont.pl index 7ba2133ac9c3a1..2103f806b65ac2 100755 --- a/deps/openssl/openssl/crypto/bn/asm/x86-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/x86-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -628,4 +628,4 @@ &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c b/deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c index 31839ba060fa5a..e6fdaadf0e9127 100644 --- a/deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c +++ b/deps/openssl/openssl/crypto/bn/asm/x86_64-gcc.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "../bn_lcl.h" +#include "../bn_local.h" #if !(defined(__GNUC__) && __GNUC__>=2) # include "../bn_asm.c" /* kind of dirty hack for Sun Studio */ #else diff --git a/deps/openssl/openssl/crypto/bn/asm/x86_64-gf2m.pl b/deps/openssl/openssl/crypto/bn/asm/x86_64-gf2m.pl index 0fd6e985d7b058..655f13c89ee8ad 100644 --- a/deps/openssl/openssl/crypto/bn/asm/x86_64-gf2m.pl +++ b/deps/openssl/openssl/crypto/bn/asm/x86_64-gf2m.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -421,4 +421,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/x86_64-mont.pl b/deps/openssl/openssl/crypto/bn/asm/x86_64-mont.pl index c051135e30dd33..e00cac448b8946 100755 --- a/deps/openssl/openssl/crypto/bn/asm/x86_64-mont.pl +++ b/deps/openssl/openssl/crypto/bn/asm/x86_64-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -75,7 +75,7 @@ $addx = ($1>=12); } -if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9])\.([0-9]+)/) { +if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $addx = ($ver>=3.03); } @@ -1589,4 +1589,4 @@ } print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/asm/x86_64-mont5.pl b/deps/openssl/openssl/crypto/bn/asm/x86_64-mont5.pl index f43e13d11643a5..887770b30db132 100755 --- a/deps/openssl/openssl/crypto/bn/asm/x86_64-mont5.pl +++ b/deps/openssl/openssl/crypto/bn/asm/x86_64-mont5.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -60,7 +60,7 @@ $addx = ($1>=12); } -if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9])\.([0-9]+)/) { +if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $addx = ($ver>=3.03); } @@ -580,6 +580,7 @@ .type mul4x_internal,\@abi-omnipotent .align 32 mul4x_internal: +.cfi_startproc shl \$5,$num # $num was in bytes movd `($win64?56:8)`(%rax),%xmm5 # load 7th argument, index lea .Linc(%rip),%rax @@ -1074,6 +1075,7 @@ ___ } $code.=<<___; +.cfi_endproc .size mul4x_internal,.-mul4x_internal ___ }}} @@ -1239,6 +1241,7 @@ .align 32 bn_sqr8x_internal: __bn_sqr8x_internal: +.cfi_startproc ############################################################## # Squaring part: # @@ -2030,6 +2033,7 @@ cmp %rdx,$tptr # end of t[]? jb .L8x_reduction_loop ret +.cfi_endproc .size bn_sqr8x_internal,.-bn_sqr8x_internal ___ } @@ -2042,6 +2046,7 @@ .type __bn_post4x_internal,\@abi-omnipotent .align 32 __bn_post4x_internal: +.cfi_startproc mov 8*0($nptr),%r12 lea (%rdi,$num),$tptr # %rdi was $tptr above mov $num,%rcx @@ -2092,6 +2097,7 @@ mov $num,%r10 # prepare for back-to-back call neg $num # restore $num ret +.cfi_endproc .size __bn_post4x_internal,.-__bn_post4x_internal ___ } @@ -2101,10 +2107,12 @@ .type bn_from_montgomery,\@abi-omnipotent .align 32 bn_from_montgomery: +.cfi_startproc testl \$7,`($win64?"48(%rsp)":"%r9d")` jz bn_from_mont8x xor %eax,%eax ret +.cfi_endproc .size bn_from_montgomery,.-bn_from_montgomery .type bn_from_mont8x,\@function,6 @@ -2400,6 +2408,7 @@ .type mulx4x_internal,\@abi-omnipotent .align 32 mulx4x_internal: +.cfi_startproc mov $num,8(%rsp) # save -$num (it was in bytes) mov $num,%r10 neg $num # restore $num @@ -2750,6 +2759,7 @@ mov 8*2(%rbp),%r14 mov 8*3(%rbp),%r15 jmp .Lsqrx4x_sub_entry # common post-condition +.cfi_endproc .size mulx4x_internal,.-mulx4x_internal ___ } { @@ -3555,6 +3565,7 @@ $code.=<<___; .align 32 __bn_postx4x_internal: +.cfi_startproc mov 8*0($nptr),%r12 mov %rcx,%r10 # -$num mov %rcx,%r9 # -$num @@ -3602,6 +3613,7 @@ neg %r9 # restore $num ret +.cfi_endproc .size __bn_postx4x_internal,.-__bn_postx4x_internal ___ } @@ -3618,6 +3630,7 @@ .type bn_get_bits5,\@abi-omnipotent .align 16 bn_get_bits5: +.cfi_startproc lea 0($inp),%r10 lea 1($inp),%r11 mov $num,%ecx @@ -3631,12 +3644,14 @@ shrl %cl,%eax and \$31,%eax ret +.cfi_endproc .size bn_get_bits5,.-bn_get_bits5 .globl bn_scatter5 .type bn_scatter5,\@abi-omnipotent .align 16 bn_scatter5: +.cfi_startproc cmp \$0, $num jz .Lscatter_epilogue lea ($tbl,$idx,8),$tbl @@ -3649,6 +3664,7 @@ jnz .Lscatter .Lscatter_epilogue: ret +.cfi_endproc .size bn_scatter5,.-bn_scatter5 .globl bn_gather5 @@ -3656,6 +3672,7 @@ .align 32 bn_gather5: .LSEH_begin_bn_gather5: # Win64 thing, but harmless in other cases +.cfi_startproc # I can't trust assembler to use specific encoding:-( .byte 0x4c,0x8d,0x14,0x24 #lea (%rsp),%r10 .byte 0x48,0x81,0xec,0x08,0x01,0x00,0x00 #sub $0x108,%rsp @@ -3740,6 +3757,7 @@ lea (%r10),%rsp ret .LSEH_end_bn_gather5: +.cfi_endproc .size bn_gather5,.-bn_gather5 ___ } @@ -3942,4 +3960,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/bn/bn_add.c b/deps/openssl/openssl/crypto/bn/bn_add.c index f2736b8f6d4194..8ffe49618a8be3 100644 --- a/deps/openssl/openssl/crypto/bn/bn_add.c +++ b/deps/openssl/openssl/crypto/bn/bn_add.c @@ -8,7 +8,7 @@ */ #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" /* signed add of b to a. */ int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b) diff --git a/deps/openssl/openssl/crypto/bn/bn_asm.c b/deps/openssl/openssl/crypto/bn/bn_asm.c index 729b2480acd18e..4d83a8cf1115de 100644 --- a/deps/openssl/openssl/crypto/bn/bn_asm.c +++ b/deps/openssl/openssl/crypto/bn/bn_asm.c @@ -10,7 +10,7 @@ #include #include #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" #if defined(BN_LLONG) || defined(BN_UMULT_HIGH) diff --git a/deps/openssl/openssl/crypto/bn/bn_blind.c b/deps/openssl/openssl/crypto/bn/bn_blind.c index 450cdfb34866e6..76fc7ebcffc0b7 100644 --- a/deps/openssl/openssl/crypto/bn/bn_blind.c +++ b/deps/openssl/openssl/crypto/bn/bn_blind.c @@ -9,7 +9,7 @@ #include #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" #define BN_BLINDING_COUNTER 32 diff --git a/deps/openssl/openssl/crypto/bn/bn_ctx.c b/deps/openssl/openssl/crypto/bn/bn_ctx.c index 90cecea2aa5d28..042cb247d37f78 100644 --- a/deps/openssl/openssl/crypto/bn/bn_ctx.c +++ b/deps/openssl/openssl/crypto/bn/bn_ctx.c @@ -8,7 +8,7 @@ */ #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" /*- * TODO list diff --git a/deps/openssl/openssl/crypto/bn/bn_depr.c b/deps/openssl/openssl/crypto/bn/bn_depr.c index 58bcf197a490eb..b60269cd57a65d 100644 --- a/deps/openssl/openssl/crypto/bn/bn_depr.c +++ b/deps/openssl/openssl/crypto/bn/bn_depr.c @@ -20,7 +20,7 @@ NON_EMPTY_TRANSLATION_UNIT # include # include # include "internal/cryptlib.h" -# include "bn_lcl.h" +# include "bn_local.h" BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe, const BIGNUM *add, const BIGNUM *rem, diff --git a/deps/openssl/openssl/crypto/bn/bn_dh.c b/deps/openssl/openssl/crypto/bn/bn_dh.c index 38acdee234d08f..58c44f0b179e3c 100644 --- a/deps/openssl/openssl/crypto/bn/bn_dh.c +++ b/deps/openssl/openssl/crypto/bn/bn_dh.c @@ -7,12 +7,12 @@ * https://www.openssl.org/source/license.html */ -#include "bn_lcl.h" +#include "bn_local.h" #include "internal/nelem.h" #ifndef OPENSSL_NO_DH #include -#include "internal/bn_dh.h" +#include "crypto/bn_dh.h" /* DH parameters from RFC5114 */ # if BN_BITS2 == 64 diff --git a/deps/openssl/openssl/crypto/bn/bn_div.c b/deps/openssl/openssl/crypto/bn/bn_div.c index 7fc0132830a12a..286d69c895fd16 100644 --- a/deps/openssl/openssl/crypto/bn/bn_div.c +++ b/deps/openssl/openssl/crypto/bn/bn_div.c @@ -10,7 +10,7 @@ #include #include #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" /* The old slow way */ #if 0 diff --git a/deps/openssl/openssl/crypto/bn/bn_exp.c b/deps/openssl/openssl/crypto/bn/bn_exp.c index 88f2baf0e553cf..9531acfc3c9484 100644 --- a/deps/openssl/openssl/crypto/bn/bn_exp.c +++ b/deps/openssl/openssl/crypto/bn/bn_exp.c @@ -8,8 +8,8 @@ */ #include "internal/cryptlib.h" -#include "internal/constant_time_locl.h" -#include "bn_lcl.h" +#include "internal/constant_time.h" +#include "bn_local.h" #include #ifdef _WIN32 diff --git a/deps/openssl/openssl/crypto/bn/bn_exp2.c b/deps/openssl/openssl/crypto/bn/bn_exp2.c index 082c9286a0f4b3..e542abe46fa10b 100644 --- a/deps/openssl/openssl/crypto/bn/bn_exp2.c +++ b/deps/openssl/openssl/crypto/bn/bn_exp2.c @@ -9,7 +9,7 @@ #include #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" #define TABLE_SIZE 32 diff --git a/deps/openssl/openssl/crypto/bn/bn_gcd.c b/deps/openssl/openssl/crypto/bn/bn_gcd.c index 0091ea4e08a67c..ef81acb77ba6b6 100644 --- a/deps/openssl/openssl/crypto/bn/bn_gcd.c +++ b/deps/openssl/openssl/crypto/bn/bn_gcd.c @@ -8,113 +8,7 @@ */ #include "internal/cryptlib.h" -#include "bn_lcl.h" - -static BIGNUM *euclid(BIGNUM *a, BIGNUM *b); - -int BN_gcd(BIGNUM *r, const BIGNUM *in_a, const BIGNUM *in_b, BN_CTX *ctx) -{ - BIGNUM *a, *b, *t; - int ret = 0; - - bn_check_top(in_a); - bn_check_top(in_b); - - BN_CTX_start(ctx); - a = BN_CTX_get(ctx); - b = BN_CTX_get(ctx); - if (b == NULL) - goto err; - - if (BN_copy(a, in_a) == NULL) - goto err; - if (BN_copy(b, in_b) == NULL) - goto err; - a->neg = 0; - b->neg = 0; - - if (BN_cmp(a, b) < 0) { - t = a; - a = b; - b = t; - } - t = euclid(a, b); - if (t == NULL) - goto err; - - if (BN_copy(r, t) == NULL) - goto err; - ret = 1; - err: - BN_CTX_end(ctx); - bn_check_top(r); - return ret; -} - -static BIGNUM *euclid(BIGNUM *a, BIGNUM *b) -{ - BIGNUM *t; - int shifts = 0; - - bn_check_top(a); - bn_check_top(b); - - /* 0 <= b <= a */ - while (!BN_is_zero(b)) { - /* 0 < b <= a */ - - if (BN_is_odd(a)) { - if (BN_is_odd(b)) { - if (!BN_sub(a, a, b)) - goto err; - if (!BN_rshift1(a, a)) - goto err; - if (BN_cmp(a, b) < 0) { - t = a; - a = b; - b = t; - } - } else { /* a odd - b even */ - - if (!BN_rshift1(b, b)) - goto err; - if (BN_cmp(a, b) < 0) { - t = a; - a = b; - b = t; - } - } - } else { /* a is even */ - - if (BN_is_odd(b)) { - if (!BN_rshift1(a, a)) - goto err; - if (BN_cmp(a, b) < 0) { - t = a; - a = b; - b = t; - } - } else { /* a even - b even */ - - if (!BN_rshift1(a, a)) - goto err; - if (!BN_rshift1(b, b)) - goto err; - shifts++; - } - } - /* 0 <= b <= a */ - } - - if (shifts) { - if (!BN_lshift(a, a, shifts)) - goto err; - } - bn_check_top(a); - return a; - err: - return NULL; -} +#include "bn_local.h" /* solves ax == 1 (mod n) */ static BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in, @@ -621,3 +515,115 @@ static BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in, bn_check_top(ret); return ret; } + +/*- + * This function is based on the constant-time GCD work by Bernstein and Yang: + * https://eprint.iacr.org/2019/266 + * Generalized fast GCD function to allow even inputs. + * The algorithm first finds the shared powers of 2 between + * the inputs, and removes them, reducing at least one of the + * inputs to an odd value. Then it proceeds to calculate the GCD. + * Before returning the resulting GCD, we take care of adding + * back the powers of two removed at the beginning. + * Note 1: we assume the bit length of both inputs is public information, + * since access to top potentially leaks this information. + */ +int BN_gcd(BIGNUM *r, const BIGNUM *in_a, const BIGNUM *in_b, BN_CTX *ctx) +{ + BIGNUM *g, *temp = NULL; + BN_ULONG mask = 0; + int i, j, top, rlen, glen, m, bit = 1, delta = 1, cond = 0, shifts = 0, ret = 0; + + /* Note 2: zero input corner cases are not constant-time since they are + * handled immediately. An attacker can run an attack under this + * assumption without the need of side-channel information. */ + if (BN_is_zero(in_b)) { + ret = BN_copy(r, in_a) != NULL; + r->neg = 0; + return ret; + } + if (BN_is_zero(in_a)) { + ret = BN_copy(r, in_b) != NULL; + r->neg = 0; + return ret; + } + + bn_check_top(in_a); + bn_check_top(in_b); + + BN_CTX_start(ctx); + temp = BN_CTX_get(ctx); + g = BN_CTX_get(ctx); + + /* make r != 0, g != 0 even, so BN_rshift is not a potential nop */ + if (g == NULL + || !BN_lshift1(g, in_b) + || !BN_lshift1(r, in_a)) + goto err; + + /* find shared powers of two, i.e. "shifts" >= 1 */ + for (i = 0; i < r->dmax && i < g->dmax; i++) { + mask = ~(r->d[i] | g->d[i]); + for (j = 0; j < BN_BITS2; j++) { + bit &= mask; + shifts += bit; + mask >>= 1; + } + } + + /* subtract shared powers of two; shifts >= 1 */ + if (!BN_rshift(r, r, shifts) + || !BN_rshift(g, g, shifts)) + goto err; + + /* expand to biggest nword, with room for a possible extra word */ + top = 1 + ((r->top >= g->top) ? r->top : g->top); + if (bn_wexpand(r, top) == NULL + || bn_wexpand(g, top) == NULL + || bn_wexpand(temp, top) == NULL) + goto err; + + /* re arrange inputs s.t. r is odd */ + BN_consttime_swap((~r->d[0]) & 1, r, g, top); + + /* compute the number of iterations */ + rlen = BN_num_bits(r); + glen = BN_num_bits(g); + m = 4 + 3 * ((rlen >= glen) ? rlen : glen); + + for (i = 0; i < m; i++) { + /* conditionally flip signs if delta is positive and g is odd */ + cond = (-delta >> (8 * sizeof(delta) - 1)) & g->d[0] & 1 + /* make sure g->top > 0 (i.e. if top == 0 then g == 0 always) */ + & (~((g->top - 1) >> (sizeof(g->top) * 8 - 1))); + delta = (-cond & -delta) | ((cond - 1) & delta); + r->neg ^= cond; + /* swap */ + BN_consttime_swap(cond, r, g, top); + + /* elimination step */ + delta++; + if (!BN_add(temp, g, r)) + goto err; + BN_consttime_swap(g->d[0] & 1 /* g is odd */ + /* make sure g->top > 0 (i.e. if top == 0 then g == 0 always) */ + & (~((g->top - 1) >> (sizeof(g->top) * 8 - 1))), + g, temp, top); + if (!BN_rshift1(g, g)) + goto err; + } + + /* remove possible negative sign */ + r->neg = 0; + /* add powers of 2 removed, then correct the artificial shift */ + if (!BN_lshift(r, r, shifts) + || !BN_rshift1(r, r)) + goto err; + + ret = 1; + + err: + BN_CTX_end(ctx); + bn_check_top(r); + return ret; +} diff --git a/deps/openssl/openssl/crypto/bn/bn_gf2m.c b/deps/openssl/openssl/crypto/bn/bn_gf2m.c index 34d8b69c1ec9d7..a2ea8675518229 100644 --- a/deps/openssl/openssl/crypto/bn/bn_gf2m.c +++ b/deps/openssl/openssl/crypto/bn/bn_gf2m.c @@ -12,7 +12,7 @@ #include #include #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" #ifndef OPENSSL_NO_EC2M diff --git a/deps/openssl/openssl/crypto/bn/bn_intern.c b/deps/openssl/openssl/crypto/bn/bn_intern.c index 46bc97575dfe47..147b4fa022cfe1 100644 --- a/deps/openssl/openssl/crypto/bn/bn_intern.c +++ b/deps/openssl/openssl/crypto/bn/bn_intern.c @@ -8,7 +8,7 @@ */ #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" /* * Determine the modified width-(w+1) Non-Adjacent Form (wNAF) of 'scalar'. diff --git a/deps/openssl/openssl/crypto/bn/bn_kron.c b/deps/openssl/openssl/crypto/bn/bn_kron.c index b9bc6cca27fe8c..c1e09d272120a6 100644 --- a/deps/openssl/openssl/crypto/bn/bn_kron.c +++ b/deps/openssl/openssl/crypto/bn/bn_kron.c @@ -8,7 +8,7 @@ */ #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" /* least significant word */ #define BN_lsw(n) (((n)->top == 0) ? (BN_ULONG) 0 : (n)->d[0]) diff --git a/deps/openssl/openssl/crypto/bn/bn_lib.c b/deps/openssl/openssl/crypto/bn/bn_lib.c index 254069ff38198d..86d4956c8a8cf2 100644 --- a/deps/openssl/openssl/crypto/bn/bn_lib.c +++ b/deps/openssl/openssl/crypto/bn/bn_lib.c @@ -10,9 +10,9 @@ #include #include #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" #include -#include "internal/constant_time_locl.h" +#include "internal/constant_time.h" /* This stuff appears to be completely unused, so is deprecated */ #if OPENSSL_API_COMPAT < 0x00908000L diff --git a/deps/openssl/openssl/crypto/bn/bn_lcl.h b/deps/openssl/openssl/crypto/bn/bn_local.h similarity index 99% rename from deps/openssl/openssl/crypto/bn/bn_lcl.h rename to deps/openssl/openssl/crypto/bn/bn_local.h index 7f823a6178a5bb..37228104c640f4 100644 --- a/deps/openssl/openssl/crypto/bn/bn_lcl.h +++ b/deps/openssl/openssl/crypto/bn/bn_local.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_LCL_H -# define HEADER_BN_LCL_H +#ifndef OSSL_CRYPTO_BN_LOCAL_H +# define OSSL_CRYPTO_BN_LOCAL_H /* * The EDK2 build doesn't use bn_conf.h; it sets THIRTY_TWO_BIT or @@ -18,10 +18,10 @@ # include # if !defined(OPENSSL_SYS_UEFI) -# include "internal/bn_conf.h" +# include "crypto/bn_conf.h" # endif -# include "internal/bn_int.h" +# include "crypto/bn.h" /* * These preprocessor symbols control various aspects of the bignum headers diff --git a/deps/openssl/openssl/crypto/bn/bn_mod.c b/deps/openssl/openssl/crypto/bn/bn_mod.c index 712fc8ac145be2..f7d2e2650ed8b6 100644 --- a/deps/openssl/openssl/crypto/bn/bn_mod.c +++ b/deps/openssl/openssl/crypto/bn/bn_mod.c @@ -8,7 +8,7 @@ */ #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx) { diff --git a/deps/openssl/openssl/crypto/bn/bn_mont.c b/deps/openssl/openssl/crypto/bn/bn_mont.c index 393d27c392c738..1e5045a010bb70 100644 --- a/deps/openssl/openssl/crypto/bn/bn_mont.c +++ b/deps/openssl/openssl/crypto/bn/bn_mont.c @@ -15,7 +15,7 @@ */ #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" #define MONT_WORD /* use the faster word-based algorithm */ diff --git a/deps/openssl/openssl/crypto/bn/bn_mpi.c b/deps/openssl/openssl/crypto/bn/bn_mpi.c index 043e21d26a38c7..bdbe822415c791 100644 --- a/deps/openssl/openssl/crypto/bn/bn_mpi.c +++ b/deps/openssl/openssl/crypto/bn/bn_mpi.c @@ -9,7 +9,7 @@ #include #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" int BN_bn2mpi(const BIGNUM *a, unsigned char *d) { diff --git a/deps/openssl/openssl/crypto/bn/bn_mul.c b/deps/openssl/openssl/crypto/bn/bn_mul.c index 5eda65cfbb0481..6743e7be816697 100644 --- a/deps/openssl/openssl/crypto/bn/bn_mul.c +++ b/deps/openssl/openssl/crypto/bn/bn_mul.c @@ -9,7 +9,7 @@ #include #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" #if defined(OPENSSL_NO_ASM) || !defined(OPENSSL_BN_ASM_PART_WORDS) /* diff --git a/deps/openssl/openssl/crypto/bn/bn_nist.c b/deps/openssl/openssl/crypto/bn/bn_nist.c index dcdd321c6688cd..325dc228490ad7 100644 --- a/deps/openssl/openssl/crypto/bn/bn_nist.c +++ b/deps/openssl/openssl/crypto/bn/bn_nist.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "bn_lcl.h" +#include "bn_local.h" #include "internal/cryptlib.h" #define BN_NIST_192_TOP (192+BN_BITS2-1)/BN_BITS2 diff --git a/deps/openssl/openssl/crypto/bn/bn_prime.c b/deps/openssl/openssl/crypto/bn/bn_prime.c index 19b081f38eb7b2..6d74da26d3c702 100644 --- a/deps/openssl/openssl/crypto/bn/bn_prime.c +++ b/deps/openssl/openssl/crypto/bn/bn_prime.c @@ -10,7 +10,7 @@ #include #include #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" /* * The quick sieve algorithm approach to weeding out primes is Philip diff --git a/deps/openssl/openssl/crypto/bn/bn_prime.h b/deps/openssl/openssl/crypto/bn/bn_prime.h index 2eb7b52f76f9a9..ba48244534b009 100644 --- a/deps/openssl/openssl/crypto/bn/bn_prime.h +++ b/deps/openssl/openssl/crypto/bn/bn_prime.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by crypto/bn/bn_prime.pl * - * Copyright 1998-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/crypto/bn/bn_print.c b/deps/openssl/openssl/crypto/bn/bn_print.c index 1853269d903df1..69749a9fa7dcbe 100644 --- a/deps/openssl/openssl/crypto/bn/bn_print.c +++ b/deps/openssl/openssl/crypto/bn/bn_print.c @@ -8,11 +8,11 @@ */ #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include #include "internal/cryptlib.h" #include -#include "bn_lcl.h" +#include "bn_local.h" static const char Hex[] = "0123456789ABCDEF"; diff --git a/deps/openssl/openssl/crypto/bn/bn_rand.c b/deps/openssl/openssl/crypto/bn/bn_rand.c index 051f29e34305cb..6b4b50a068f138 100644 --- a/deps/openssl/openssl/crypto/bn/bn_rand.c +++ b/deps/openssl/openssl/crypto/bn/bn_rand.c @@ -10,7 +10,7 @@ #include #include #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" #include #include diff --git a/deps/openssl/openssl/crypto/bn/bn_recp.c b/deps/openssl/openssl/crypto/bn/bn_recp.c index 9ab767f42fe9ff..e8223133412328 100644 --- a/deps/openssl/openssl/crypto/bn/bn_recp.c +++ b/deps/openssl/openssl/crypto/bn/bn_recp.c @@ -8,7 +8,7 @@ */ #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" void BN_RECP_CTX_init(BN_RECP_CTX *recp) { diff --git a/deps/openssl/openssl/crypto/bn/bn_shift.c b/deps/openssl/openssl/crypto/bn/bn_shift.c index b7a1e0ff9ae3c2..210a83f586d2b3 100644 --- a/deps/openssl/openssl/crypto/bn/bn_shift.c +++ b/deps/openssl/openssl/crypto/bn/bn_shift.c @@ -9,7 +9,7 @@ #include #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" int BN_lshift1(BIGNUM *r, const BIGNUM *a) { @@ -34,12 +34,10 @@ int BN_lshift1(BIGNUM *r, const BIGNUM *a) for (i = 0; i < a->top; i++) { t = *(ap++); *(rp++) = ((t << 1) | c) & BN_MASK2; - c = (t & BN_TBIT) ? 1 : 0; - } - if (c) { - *rp = 1; - r->top++; + c = t >> (BN_BITS2 - 1); } + *rp = c; + r->top += c; bn_check_top(r); return 1; } @@ -47,7 +45,7 @@ int BN_lshift1(BIGNUM *r, const BIGNUM *a) int BN_rshift1(BIGNUM *r, const BIGNUM *a) { BN_ULONG *ap, *rp, t, c; - int i, j; + int i; bn_check_top(r); bn_check_top(a); @@ -58,23 +56,22 @@ int BN_rshift1(BIGNUM *r, const BIGNUM *a) } i = a->top; ap = a->d; - j = i - (ap[i - 1] == 1); if (a != r) { - if (bn_wexpand(r, j) == NULL) + if (bn_wexpand(r, i) == NULL) return 0; r->neg = a->neg; } rp = r->d; + r->top = i; t = ap[--i]; - c = (t & 1) ? BN_TBIT : 0; - if (t >>= 1) - rp[i] = t; + rp[i] = t >> 1; + c = t << (BN_BITS2 - 1); + r->top -= (t == 1); while (i > 0) { t = ap[--i]; rp[i] = ((t >> 1) & BN_MASK2) | c; - c = (t & 1) ? BN_TBIT : 0; + c = t << (BN_BITS2 - 1); } - r->top = j; if (!r->top) r->neg = 0; /* don't allow negative zero */ bn_check_top(r); @@ -152,57 +149,19 @@ int bn_lshift_fixed_top(BIGNUM *r, const BIGNUM *a, int n) int BN_rshift(BIGNUM *r, const BIGNUM *a, int n) { - int i, j, nw, lb, rb; - BN_ULONG *t, *f; - BN_ULONG l, tmp; - - bn_check_top(r); - bn_check_top(a); + int ret = 0; if (n < 0) { BNerr(BN_F_BN_RSHIFT, BN_R_INVALID_SHIFT); return 0; } - nw = n / BN_BITS2; - rb = n % BN_BITS2; - lb = BN_BITS2 - rb; - if (nw >= a->top || a->top == 0) { - BN_zero(r); - return 1; - } - i = (BN_num_bits(a) - n + (BN_BITS2 - 1)) / BN_BITS2; - if (r != a) { - if (bn_wexpand(r, i) == NULL) - return 0; - r->neg = a->neg; - } else { - if (n == 0) - return 1; /* or the copying loop will go berserk */ - } - - f = &(a->d[nw]); - t = r->d; - j = a->top - nw; - r->top = i; + ret = bn_rshift_fixed_top(r, a, n); - if (rb == 0) { - for (i = j; i != 0; i--) - *(t++) = *(f++); - } else { - l = *(f++); - for (i = j - 1; i != 0; i--) { - tmp = (l >> rb) & BN_MASK2; - l = *(f++); - *(t++) = (tmp | (l << lb)) & BN_MASK2; - } - if ((l = (l >> rb) & BN_MASK2)) - *(t) = l; - } - if (!r->top) - r->neg = 0; /* don't allow negative zero */ + bn_correct_top(r); bn_check_top(r); - return 1; + + return ret; } /* diff --git a/deps/openssl/openssl/crypto/bn/bn_sqr.c b/deps/openssl/openssl/crypto/bn/bn_sqr.c index 0c0a590f0c6ab1..7f3a179177b6af 100644 --- a/deps/openssl/openssl/crypto/bn/bn_sqr.c +++ b/deps/openssl/openssl/crypto/bn/bn_sqr.c @@ -8,7 +8,7 @@ */ #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" /* r must not be a */ /* diff --git a/deps/openssl/openssl/crypto/bn/bn_sqrt.c b/deps/openssl/openssl/crypto/bn/bn_sqrt.c index c3e66b033bde5f..1723d5ded5a87a 100644 --- a/deps/openssl/openssl/crypto/bn/bn_sqrt.c +++ b/deps/openssl/openssl/crypto/bn/bn_sqrt.c @@ -8,7 +8,7 @@ */ #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" BIGNUM *BN_mod_sqrt(BIGNUM *in, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx) /* diff --git a/deps/openssl/openssl/crypto/bn/bn_srp.c b/deps/openssl/openssl/crypto/bn/bn_srp.c index 27b6ebe518ea88..820757be60e3e1 100644 --- a/deps/openssl/openssl/crypto/bn/bn_srp.c +++ b/deps/openssl/openssl/crypto/bn/bn_srp.c @@ -7,13 +7,13 @@ * https://www.openssl.org/source/license.html */ -#include "bn_lcl.h" +#include "bn_local.h" #include "internal/nelem.h" #ifndef OPENSSL_NO_SRP #include -#include "internal/bn_srp.h" +#include "crypto/bn_srp.h" # if (BN_BYTES == 8) # if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__) diff --git a/deps/openssl/openssl/crypto/bn/bn_word.c b/deps/openssl/openssl/crypto/bn/bn_word.c index 262d7668fcd4ee..18fb3030a8f441 100644 --- a/deps/openssl/openssl/crypto/bn/bn_word.c +++ b/deps/openssl/openssl/crypto/bn/bn_word.c @@ -8,7 +8,7 @@ */ #include "internal/cryptlib.h" -#include "bn_lcl.h" +#include "bn_local.h" BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w) { diff --git a/deps/openssl/openssl/crypto/bn/bn_x931p.c b/deps/openssl/openssl/crypto/bn/bn_x931p.c index 9eb8384fdeb281..009950259d418f 100644 --- a/deps/openssl/openssl/crypto/bn/bn_x931p.c +++ b/deps/openssl/openssl/crypto/bn/bn_x931p.c @@ -9,7 +9,7 @@ #include #include -#include "bn_lcl.h" +#include "bn_local.h" /* X9.31 routines for prime derivation */ diff --git a/deps/openssl/openssl/crypto/bn/build.info b/deps/openssl/openssl/crypto/bn/build.info index a463eddabbbbca..b9ed5322fa689b 100644 --- a/deps/openssl/openssl/crypto/bn/build.info +++ b/deps/openssl/openssl/crypto/bn/build.info @@ -6,7 +6,6 @@ SOURCE[../../libcrypto]=\ {- $target{bn_asm_src} -} \ bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c \ bn_depr.c bn_const.c bn_x931p.c bn_intern.c bn_dh.c bn_srp.c -INCLUDE[../../libcrypto]=../../crypto/include INCLUDE[bn_exp.o]=.. diff --git a/deps/openssl/openssl/crypto/bn/rsaz_exp.h b/deps/openssl/openssl/crypto/bn/rsaz_exp.h index c5864f8aaa8c9d..88f65a4bae4612 100644 --- a/deps/openssl/openssl/crypto/bn/rsaz_exp.h +++ b/deps/openssl/openssl/crypto/bn/rsaz_exp.h @@ -12,8 +12,8 @@ * (2) University of Haifa, Israel */ -#ifndef RSAZ_EXP_H -# define RSAZ_EXP_H +#ifndef OSSL_CRYPTO_BN_RSAZ_EXP_H +# define OSSL_CRYPTO_BN_RSAZ_EXP_H # undef RSAZ_ENABLED # if defined(OPENSSL_BN_ASM_MONT) && \ diff --git a/deps/openssl/openssl/crypto/c64xpluscpuid.pl b/deps/openssl/openssl/crypto/c64xpluscpuid.pl index b7b11d50316b1c..9aeee574ebf8a3 100644 --- a/deps/openssl/openssl/crypto/c64xpluscpuid.pl +++ b/deps/openssl/openssl/crypto/c64xpluscpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -284,4 +284,4 @@ ___ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/camellia/asm/cmll-x86.pl b/deps/openssl/openssl/crypto/camellia/asm/cmll-x86.pl index 55af9b4e3d01f0..cd514acfae4aac 100644 --- a/deps/openssl/openssl/crypto/camellia/asm/cmll-x86.pl +++ b/deps/openssl/openssl/crypto/camellia/asm/cmll-x86.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2008-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1147,4 +1147,4 @@ sub _loadround { &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/camellia/asm/cmll-x86_64.pl b/deps/openssl/openssl/crypto/camellia/asm/cmll-x86_64.pl index 02c52c3efe47dd..59e1840160ff92 100644 --- a/deps/openssl/openssl/crypto/camellia/asm/cmll-x86_64.pl +++ b/deps/openssl/openssl/crypto/camellia/asm/cmll-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2008-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -125,11 +125,13 @@ sub Camellia_Feistel { .type Camellia_EncryptBlock,\@abi-omnipotent .align 16 Camellia_EncryptBlock: +.cfi_startproc movl \$128,%eax subl $arg0d,%eax movl \$3,$arg0d adcl \$0,$arg0d # keyBitLength==128?3:4 jmp .Lenc_rounds +.cfi_endproc .size Camellia_EncryptBlock,.-Camellia_EncryptBlock # V2 .globl Camellia_EncryptBlock_Rounds @@ -198,6 +200,7 @@ sub Camellia_Feistel { .type _x86_64_Camellia_encrypt,\@abi-omnipotent .align 16 _x86_64_Camellia_encrypt: +.cfi_startproc xor 0($key),@S[1] xor 4($key),@S[0] # ^=key[0-3] xor 8($key),@S[3] @@ -241,6 +244,7 @@ sub Camellia_Feistel { mov $t3,@S[3] .byte 0xf3,0xc3 # rep ret +.cfi_endproc .size _x86_64_Camellia_encrypt,.-_x86_64_Camellia_encrypt # V1.x API @@ -248,11 +252,13 @@ sub Camellia_Feistel { .type Camellia_DecryptBlock,\@abi-omnipotent .align 16 Camellia_DecryptBlock: +.cfi_startproc movl \$128,%eax subl $arg0d,%eax movl \$3,$arg0d adcl \$0,$arg0d # keyBitLength==128?3:4 jmp .Ldec_rounds +.cfi_endproc .size Camellia_DecryptBlock,.-Camellia_DecryptBlock # V2 .globl Camellia_DecryptBlock_Rounds @@ -321,6 +327,7 @@ sub Camellia_Feistel { .type _x86_64_Camellia_decrypt,\@abi-omnipotent .align 16 _x86_64_Camellia_decrypt: +.cfi_startproc xor 0($key),@S[1] xor 4($key),@S[0] # ^=key[0-3] xor 8($key),@S[3] @@ -365,6 +372,7 @@ sub Camellia_Feistel { mov $t1,@S[3] .byte 0xf3,0xc3 # rep ret +.cfi_endproc .size _x86_64_Camellia_decrypt,.-_x86_64_Camellia_decrypt ___ @@ -1142,4 +1150,4 @@ sub _rotl128 { $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/camellia/asm/cmllt4-sparcv9.pl b/deps/openssl/openssl/crypto/camellia/asm/cmllt4-sparcv9.pl index 6396679a5af4b2..71a40f6af90c96 100644 --- a/deps/openssl/openssl/crypto/camellia/asm/cmllt4-sparcv9.pl +++ b/deps/openssl/openssl/crypto/camellia/asm/cmllt4-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -936,4 +936,4 @@ sub ROTL128 { &emit_assembler(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/camellia/camellia.c b/deps/openssl/openssl/crypto/camellia/camellia.c index c200b823041b02..f623864bc41341 100644 --- a/deps/openssl/openssl/crypto/camellia/camellia.c +++ b/deps/openssl/openssl/crypto/camellia/camellia.c @@ -40,7 +40,7 @@ */ #include -#include "cmll_locl.h" +#include "cmll_local.h" #include #include diff --git a/deps/openssl/openssl/crypto/camellia/cmll_ecb.c b/deps/openssl/openssl/crypto/camellia/cmll_ecb.c index d932f1b37517b9..5760d1ed35fc60 100644 --- a/deps/openssl/openssl/crypto/camellia/cmll_ecb.c +++ b/deps/openssl/openssl/crypto/camellia/cmll_ecb.c @@ -8,7 +8,7 @@ */ #include -#include "cmll_locl.h" +#include "cmll_local.h" void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out, const CAMELLIA_KEY *key, const int enc) diff --git a/deps/openssl/openssl/crypto/camellia/cmll_locl.h b/deps/openssl/openssl/crypto/camellia/cmll_local.h similarity index 91% rename from deps/openssl/openssl/crypto/camellia/cmll_locl.h rename to deps/openssl/openssl/crypto/camellia/cmll_local.h index 6403b390d82d47..d16baa55facc46 100644 --- a/deps/openssl/openssl/crypto/camellia/cmll_locl.h +++ b/deps/openssl/openssl/crypto/camellia/cmll_local.h @@ -22,8 +22,8 @@ * to the OpenSSL project. */ -#ifndef HEADER_CAMELLIA_LOCL_H -# define HEADER_CAMELLIA_LOCL_H +#ifndef OSSL_CRYPTO_CAMELLIA_CMLL_LOCAL_H +# define OSSL_CRYPTO_CAMELLIA_CMLL_LOCAL_H typedef unsigned int u32; typedef unsigned char u8; @@ -40,4 +40,4 @@ void Camellia_EncryptBlock(int keyBitLength, const u8 plaintext[], const KEY_TABLE_TYPE keyTable, u8 ciphertext[]); void Camellia_DecryptBlock(int keyBitLength, const u8 ciphertext[], const KEY_TABLE_TYPE keyTable, u8 plaintext[]); -#endif /* #ifndef HEADER_CAMELLIA_LOCL_H */ +#endif /* #ifndef OSSL_CRYPTO_CAMELLIA_CMLL_LOCAL_H */ diff --git a/deps/openssl/openssl/crypto/camellia/cmll_misc.c b/deps/openssl/openssl/crypto/camellia/cmll_misc.c index e5f014b79cbcd7..d8fc3738c4048f 100644 --- a/deps/openssl/openssl/crypto/camellia/cmll_misc.c +++ b/deps/openssl/openssl/crypto/camellia/cmll_misc.c @@ -9,7 +9,7 @@ #include #include -#include "cmll_locl.h" +#include "cmll_local.h" int Camellia_set_key(const unsigned char *userKey, const int bits, CAMELLIA_KEY *key) diff --git a/deps/openssl/openssl/crypto/cast/asm/cast-586.pl b/deps/openssl/openssl/crypto/cast/asm/cast-586.pl index d5d38965cf760a..04710819380a3d 100644 --- a/deps/openssl/openssl/crypto/cast/asm/cast-586.pl +++ b/deps/openssl/openssl/crypto/cast/asm/cast-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -46,7 +46,7 @@ &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; sub CAST_encrypt { local($name,$enc)=@_; diff --git a/deps/openssl/openssl/crypto/cast/c_cfb64.c b/deps/openssl/openssl/crypto/cast/c_cfb64.c index bd7cb2f4684301..72221595382b5e 100644 --- a/deps/openssl/openssl/crypto/cast/c_cfb64.c +++ b/deps/openssl/openssl/crypto/cast/c_cfb64.c @@ -8,7 +8,7 @@ */ #include -#include "cast_lcl.h" +#include "cast_local.h" /* * The input and output encrypted as though 64bit cfb mode is being used. diff --git a/deps/openssl/openssl/crypto/cast/c_ecb.c b/deps/openssl/openssl/crypto/cast/c_ecb.c index da4179438f1d46..6fe093f75b1b4f 100644 --- a/deps/openssl/openssl/crypto/cast/c_ecb.c +++ b/deps/openssl/openssl/crypto/cast/c_ecb.c @@ -8,7 +8,7 @@ */ #include -#include "cast_lcl.h" +#include "cast_local.h" #include void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, diff --git a/deps/openssl/openssl/crypto/cast/c_enc.c b/deps/openssl/openssl/crypto/cast/c_enc.c index 700b6d162a9fbc..d27d1fc0a54fcc 100644 --- a/deps/openssl/openssl/crypto/cast/c_enc.c +++ b/deps/openssl/openssl/crypto/cast/c_enc.c @@ -8,7 +8,7 @@ */ #include -#include "cast_lcl.h" +#include "cast_local.h" void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key) { diff --git a/deps/openssl/openssl/crypto/cast/c_ofb64.c b/deps/openssl/openssl/crypto/cast/c_ofb64.c index dffb074762c2b9..49c0cfade5775c 100644 --- a/deps/openssl/openssl/crypto/cast/c_ofb64.c +++ b/deps/openssl/openssl/crypto/cast/c_ofb64.c @@ -8,7 +8,7 @@ */ #include -#include "cast_lcl.h" +#include "cast_local.h" /* * The input and output encrypted as though 64bit ofb mode is being used. diff --git a/deps/openssl/openssl/crypto/cast/c_skey.c b/deps/openssl/openssl/crypto/cast/c_skey.c index 962d2a60b4c5d9..0311482d20ddbb 100644 --- a/deps/openssl/openssl/crypto/cast/c_skey.c +++ b/deps/openssl/openssl/crypto/cast/c_skey.c @@ -8,7 +8,7 @@ */ #include -#include "cast_lcl.h" +#include "cast_local.h" #include "cast_s.h" #define CAST_exp(l,A,a,n) \ diff --git a/deps/openssl/openssl/crypto/cast/cast_lcl.h b/deps/openssl/openssl/crypto/cast/cast_local.h similarity index 100% rename from deps/openssl/openssl/crypto/cast/cast_lcl.h rename to deps/openssl/openssl/crypto/cast/cast_local.h diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-armv4.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-armv4.pl index d3fadcc63d3338..81c616add313c5 100755 --- a/deps/openssl/openssl/crypto/chacha/asm/chacha-armv4.pl +++ b/deps/openssl/openssl/crypto/chacha/asm/chacha-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1157,4 +1157,4 @@ sub NEONROUND { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-armv8.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-armv8.pl index e90be6d0e5bdd6..22655747295e24 100755 --- a/deps/openssl/openssl/crypto/chacha/asm/chacha-armv8.pl +++ b/deps/openssl/openssl/crypto/chacha/asm/chacha-armv8.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1141,4 +1141,4 @@ sub NEONROUND { print $_,"\n"; } -close STDOUT; # flush +close STDOUT or die "error closing STDOUT: $!"; # flush diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-c64xplus.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-c64xplus.pl index 266401eb1644b5..4bd18a4f8f95d1 100755 --- a/deps/openssl/openssl/crypto/chacha/asm/chacha-c64xplus.pl +++ b/deps/openssl/openssl/crypto/chacha/asm/chacha-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -923,4 +923,4 @@ sub TAIL_STEP { ___ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-ppc.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-ppc.pl index f4f8610bf3bf78..3073deac17eef2 100755 --- a/deps/openssl/openssl/crypto/chacha/asm/chacha-ppc.pl +++ b/deps/openssl/openssl/crypto/chacha/asm/chacha-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1345,4 +1345,4 @@ sub VSX_lane_ROUND { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-s390x.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-s390x.pl index c31526473dba4d..dd66a9c6030924 100755 --- a/deps/openssl/openssl/crypto/chacha/asm/chacha-s390x.pl +++ b/deps/openssl/openssl/crypto/chacha/asm/chacha-s390x.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -323,4 +323,4 @@ sub ROUND { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-x86.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-x86.pl index 13c217dcf1f203..a1f5694b691e68 100755 --- a/deps/openssl/openssl/crypto/chacha/asm/chacha-x86.pl +++ b/deps/openssl/openssl/crypto/chacha/asm/chacha-x86.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -62,7 +62,7 @@ $1>=10); # first version supporting AVX $ymm=1 if ($xmm && !$ymm && - `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([3-9]\.[0-9]+)/ && + `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([0-9]+\.[0-9]+)/ && $2>=3.0); # first version supporting AVX $a="eax"; @@ -1152,4 +1152,4 @@ sub XOPROUND { &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-x86_64.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-x86_64.pl index b54f3b1525bc19..647d2537ceaebf 100755 --- a/deps/openssl/openssl/crypto/chacha/asm/chacha-x86_64.pl +++ b/deps/openssl/openssl/crypto/chacha/asm/chacha-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -85,7 +85,7 @@ $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9]\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } @@ -4002,4 +4002,4 @@ sub AVX512_lane_ROUND { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/chacha/chacha_enc.c b/deps/openssl/openssl/crypto/chacha/chacha_enc.c index 239f68ab825e3f..18251eac08de9f 100644 --- a/deps/openssl/openssl/crypto/chacha/chacha_enc.c +++ b/deps/openssl/openssl/crypto/chacha/chacha_enc.c @@ -11,7 +11,8 @@ #include -#include "internal/chacha.h" +#include "crypto/chacha.h" +#include "crypto/ctype.h" typedef unsigned int u32; typedef unsigned char u8; @@ -78,10 +79,18 @@ void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp, size_t todo, i; /* sigma constant "expand 32-byte k" in little-endian encoding */ - input[0] = ((u32)'e') | ((u32)'x'<<8) | ((u32)'p'<<16) | ((u32)'a'<<24); - input[1] = ((u32)'n') | ((u32)'d'<<8) | ((u32)' '<<16) | ((u32)'3'<<24); - input[2] = ((u32)'2') | ((u32)'-'<<8) | ((u32)'b'<<16) | ((u32)'y'<<24); - input[3] = ((u32)'t') | ((u32)'e'<<8) | ((u32)' '<<16) | ((u32)'k'<<24); + input[0] = ((u32)ossl_toascii('e')) | ((u32)ossl_toascii('x') << 8) + | ((u32)ossl_toascii('p') << 16) + | ((u32)ossl_toascii('a') << 24); + input[1] = ((u32)ossl_toascii('n')) | ((u32)ossl_toascii('d') << 8) + | ((u32)ossl_toascii(' ') << 16) + | ((u32)ossl_toascii('3') << 24); + input[2] = ((u32)ossl_toascii('2')) | ((u32)ossl_toascii('-') << 8) + | ((u32)ossl_toascii('b') << 16) + | ((u32)ossl_toascii('y') << 24); + input[3] = ((u32)ossl_toascii('t')) | ((u32)ossl_toascii('e') << 8) + | ((u32)ossl_toascii(' ') << 16) + | ((u32)ossl_toascii('k') << 24); input[4] = key[0]; input[5] = key[1]; diff --git a/deps/openssl/openssl/crypto/cmac/cm_ameth.c b/deps/openssl/openssl/crypto/cmac/cm_ameth.c index a58454a089c6de..82adf18c8019b4 100644 --- a/deps/openssl/openssl/crypto/cmac/cm_ameth.c +++ b/deps/openssl/openssl/crypto/cmac/cm_ameth.c @@ -11,7 +11,7 @@ #include "internal/cryptlib.h" #include #include -#include "internal/asn1_int.h" +#include "crypto/asn1.h" /* * CMAC "ASN1" method. This is just here to indicate the maximum CMAC output diff --git a/deps/openssl/openssl/crypto/cmac/cm_pmeth.c b/deps/openssl/openssl/crypto/cmac/cm_pmeth.c index 10748f148859f1..5574f25be86897 100644 --- a/deps/openssl/openssl/crypto/cmac/cm_pmeth.c +++ b/deps/openssl/openssl/crypto/cmac/cm_pmeth.c @@ -13,7 +13,7 @@ #include #include #include -#include "internal/evp_int.h" +#include "crypto/evp.h" /* The context structure and "key" is simply a CMAC_CTX */ diff --git a/deps/openssl/openssl/crypto/cms/cms_asn1.c b/deps/openssl/openssl/crypto/cms/cms_asn1.c index 993ea6b219ab79..08069d72a29e27 100644 --- a/deps/openssl/openssl/crypto/cms/cms_asn1.c +++ b/deps/openssl/openssl/crypto/cms/cms_asn1.c @@ -11,7 +11,7 @@ #include #include #include -#include "cms_lcl.h" +#include "cms_local.h" ASN1_SEQUENCE(CMS_IssuerAndSerialNumber) = { diff --git a/deps/openssl/openssl/crypto/cms/cms_att.c b/deps/openssl/openssl/crypto/cms/cms_att.c index 0566019753bdda..4f716619193ad4 100644 --- a/deps/openssl/openssl/crypto/cms/cms_att.c +++ b/deps/openssl/openssl/crypto/cms/cms_att.c @@ -12,7 +12,7 @@ #include #include #include -#include "cms_lcl.h" +#include "cms_local.h" #include "internal/nelem.h" /*- diff --git a/deps/openssl/openssl/crypto/cms/cms_cd.c b/deps/openssl/openssl/crypto/cms/cms_cd.c index f05e308418f887..45365b8ba24761 100644 --- a/deps/openssl/openssl/crypto/cms/cms_cd.c +++ b/deps/openssl/openssl/crypto/cms/cms_cd.c @@ -15,7 +15,7 @@ #include #include #include -#include "cms_lcl.h" +#include "cms_local.h" #ifdef ZLIB diff --git a/deps/openssl/openssl/crypto/cms/cms_dd.c b/deps/openssl/openssl/crypto/cms/cms_dd.c index 5da6802fcd5e6f..0df2e698c2379c 100644 --- a/deps/openssl/openssl/crypto/cms/cms_dd.c +++ b/deps/openssl/openssl/crypto/cms/cms_dd.c @@ -13,7 +13,7 @@ #include #include #include -#include "cms_lcl.h" +#include "cms_local.h" /* CMS DigestedData Utilities */ diff --git a/deps/openssl/openssl/crypto/cms/cms_enc.c b/deps/openssl/openssl/crypto/cms/cms_enc.c index a1719830e8d4f0..fc490303d4c6da 100644 --- a/deps/openssl/openssl/crypto/cms/cms_enc.c +++ b/deps/openssl/openssl/crypto/cms/cms_enc.c @@ -14,7 +14,7 @@ #include #include #include -#include "cms_lcl.h" +#include "cms_local.h" /* CMS EncryptedData Utilities */ diff --git a/deps/openssl/openssl/crypto/cms/cms_env.c b/deps/openssl/openssl/crypto/cms/cms_env.c index 26fb81f79ab1f2..04940146fd253c 100644 --- a/deps/openssl/openssl/crypto/cms/cms_env.c +++ b/deps/openssl/openssl/crypto/cms/cms_env.c @@ -14,9 +14,9 @@ #include #include #include -#include "cms_lcl.h" -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "cms_local.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" /* CMS EnvelopedData Utilities */ diff --git a/deps/openssl/openssl/crypto/cms/cms_ess.c b/deps/openssl/openssl/crypto/cms/cms_ess.c index 4780231c22bb3e..a21c443ae85e90 100644 --- a/deps/openssl/openssl/crypto/cms/cms_ess.c +++ b/deps/openssl/openssl/crypto/cms/cms_ess.c @@ -14,7 +14,7 @@ #include #include #include -#include "cms_lcl.h" +#include "cms_local.h" IMPLEMENT_ASN1_FUNCTIONS(CMS_ReceiptRequest) diff --git a/deps/openssl/openssl/crypto/cms/cms_io.c b/deps/openssl/openssl/crypto/cms/cms_io.c index d18f980a973235..b37e485f5a2823 100644 --- a/deps/openssl/openssl/crypto/cms/cms_io.c +++ b/deps/openssl/openssl/crypto/cms/cms_io.c @@ -12,7 +12,7 @@ #include #include #include -#include "cms_lcl.h" +#include "cms_local.h" int CMS_stream(unsigned char ***boundary, CMS_ContentInfo *cms) { diff --git a/deps/openssl/openssl/crypto/cms/cms_kari.c b/deps/openssl/openssl/crypto/cms/cms_kari.c index 5e83814d0fcf6e..cafc3040ac70a5 100644 --- a/deps/openssl/openssl/crypto/cms/cms_kari.c +++ b/deps/openssl/openssl/crypto/cms/cms_kari.c @@ -14,8 +14,8 @@ #include #include #include -#include "cms_lcl.h" -#include "internal/asn1_int.h" +#include "cms_local.h" +#include "crypto/asn1.h" /* Key Agreement Recipient Info (KARI) routines */ @@ -162,7 +162,7 @@ int CMS_RecipientInfo_kari_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pk) if (!pk) return 1; pctx = EVP_PKEY_CTX_new(pk, NULL); - if (!pctx || !EVP_PKEY_derive_init(pctx)) + if (!pctx || EVP_PKEY_derive_init(pctx) <= 0) goto err; kari->pctx = pctx; return 1; diff --git a/deps/openssl/openssl/crypto/cms/cms_lib.c b/deps/openssl/openssl/crypto/cms/cms_lib.c index c2cac260109d1f..57afba43611504 100644 --- a/deps/openssl/openssl/crypto/cms/cms_lib.c +++ b/deps/openssl/openssl/crypto/cms/cms_lib.c @@ -14,7 +14,7 @@ #include #include #include -#include "cms_lcl.h" +#include "cms_local.h" IMPLEMENT_ASN1_FUNCTIONS(CMS_ContentInfo) IMPLEMENT_ASN1_PRINT_FUNCTION(CMS_ContentInfo) diff --git a/deps/openssl/openssl/crypto/cms/cms_lcl.h b/deps/openssl/openssl/crypto/cms/cms_local.h similarity index 99% rename from deps/openssl/openssl/crypto/cms/cms_lcl.h rename to deps/openssl/openssl/crypto/cms/cms_local.h index 68aa01271bc2e7..a0ce4448f6036e 100644 --- a/deps/openssl/openssl/crypto/cms/cms_lcl.h +++ b/deps/openssl/openssl/crypto/cms/cms_local.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_CMS_LCL_H -# define HEADER_CMS_LCL_H +#ifndef OSSL_CRYPTO_CMS_LOCAL_H +# define OSSL_CRYPTO_CMS_LOCAL_H # include diff --git a/deps/openssl/openssl/crypto/cms/cms_pwri.c b/deps/openssl/openssl/crypto/cms/cms_pwri.c index 26e3bdcf9e4127..d7414883396cb5 100644 --- a/deps/openssl/openssl/crypto/cms/cms_pwri.c +++ b/deps/openssl/openssl/crypto/cms/cms_pwri.c @@ -15,8 +15,8 @@ #include #include #include -#include "cms_lcl.h" -#include "internal/asn1_int.h" +#include "cms_local.h" +#include "crypto/asn1.h" int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri, unsigned char *pass, ossl_ssize_t passlen) diff --git a/deps/openssl/openssl/crypto/cms/cms_sd.c b/deps/openssl/openssl/crypto/cms/cms_sd.c index 3841513f8bd237..29ba4c1b133428 100644 --- a/deps/openssl/openssl/crypto/cms/cms_sd.c +++ b/deps/openssl/openssl/crypto/cms/cms_sd.c @@ -14,9 +14,9 @@ #include #include #include -#include "cms_lcl.h" -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "cms_local.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" /* CMS SignedData Utilities */ diff --git a/deps/openssl/openssl/crypto/cms/cms_smime.c b/deps/openssl/openssl/crypto/cms/cms_smime.c index 10815639f81154..652e97b2e877fd 100644 --- a/deps/openssl/openssl/crypto/cms/cms_smime.c +++ b/deps/openssl/openssl/crypto/cms/cms_smime.c @@ -13,8 +13,8 @@ #include #include #include -#include "cms_lcl.h" -#include "internal/asn1_int.h" +#include "cms_local.h" +#include "crypto/asn1.h" static BIO *cms_get_text_bio(BIO *out, unsigned int flags) { diff --git a/deps/openssl/openssl/crypto/comp/c_zlib.c b/deps/openssl/openssl/crypto/comp/c_zlib.c index d688deee5f23fb..b8193379131232 100644 --- a/deps/openssl/openssl/crypto/comp/c_zlib.c +++ b/deps/openssl/openssl/crypto/comp/c_zlib.c @@ -13,9 +13,9 @@ #include #include "internal/comp.h" #include -#include "internal/cryptlib_int.h" +#include "crypto/cryptlib.h" #include "internal/bio.h" -#include "comp_lcl.h" +#include "comp_local.h" COMP_METHOD *COMP_zlib(void); @@ -598,6 +598,28 @@ static long bio_zlib_ctrl(BIO *b, int cmd, long num, void *ptr) BIO_copy_next_retry(b); break; + case BIO_CTRL_WPENDING: + if (ctx->obuf == NULL) + return 0; + + if (ctx->odone) { + ret = ctx->ocount; + } else { + ret = ctx->ocount; + if (ret == 0) + /* Unknown amount pending but we are not finished */ + ret = 1; + } + if (ret == 0) + ret = BIO_ctrl(next, cmd, num, ptr); + break; + + case BIO_CTRL_PENDING: + ret = ctx->zin.avail_in; + if (ret == 0) + ret = BIO_ctrl(next, cmd, num, ptr); + break; + default: ret = BIO_ctrl(next, cmd, num, ptr); break; diff --git a/deps/openssl/openssl/crypto/comp/comp_lib.c b/deps/openssl/openssl/crypto/comp/comp_lib.c index 6ae2114496b03b..56920e1cca5110 100644 --- a/deps/openssl/openssl/crypto/comp/comp_lib.c +++ b/deps/openssl/openssl/crypto/comp/comp_lib.c @@ -13,7 +13,7 @@ #include #include #include -#include "comp_lcl.h" +#include "comp_local.h" COMP_CTX *COMP_CTX_new(COMP_METHOD *meth) { diff --git a/deps/openssl/openssl/crypto/comp/comp_lcl.h b/deps/openssl/openssl/crypto/comp/comp_local.h similarity index 100% rename from deps/openssl/openssl/crypto/comp/comp_lcl.h rename to deps/openssl/openssl/crypto/comp/comp_local.h diff --git a/deps/openssl/openssl/crypto/conf/conf_def.c b/deps/openssl/openssl/crypto/conf/conf_def.c index 8e3f42a0caca29..ca76fa3679b8ab 100644 --- a/deps/openssl/openssl/crypto/conf/conf_def.c +++ b/deps/openssl/openssl/crypto/conf/conf_def.c @@ -703,7 +703,9 @@ static BIO *process_include(char *include, OPENSSL_DIR_CTX **dirctx, static BIO *get_next_file(const char *path, OPENSSL_DIR_CTX **dirctx) { const char *filename; + size_t pathlen; + pathlen = strlen(path); while ((filename = OPENSSL_DIR_read(dirctx, path)) != NULL) { size_t namelen; @@ -716,7 +718,7 @@ static BIO *get_next_file(const char *path, OPENSSL_DIR_CTX **dirctx) char *newpath; BIO *bio; - newlen = strlen(path) + namelen + 2; + newlen = pathlen + namelen + 2; newpath = OPENSSL_zalloc(newlen); if (newpath == NULL) { CONFerr(CONF_F_GET_NEXT_FILE, ERR_R_MALLOC_FAILURE); @@ -727,14 +729,11 @@ static BIO *get_next_file(const char *path, OPENSSL_DIR_CTX **dirctx) * If the given path isn't clear VMS syntax, * we treat it as on Unix. */ - { - size_t pathlen = strlen(path); - - if (path[pathlen - 1] == ']' || path[pathlen - 1] == '>' - || path[pathlen - 1] == ':') { - /* Clear VMS directory syntax, just copy as is */ - OPENSSL_strlcpy(newpath, path, newlen); - } + if (path[pathlen - 1] == ']' + || path[pathlen - 1] == '>' + || path[pathlen - 1] == ':') { + /* Clear VMS directory syntax, just copy as is */ + OPENSSL_strlcpy(newpath, path, newlen); } #endif if (newpath[0] == '\0') { diff --git a/deps/openssl/openssl/crypto/conf/conf_def.h b/deps/openssl/openssl/crypto/conf/conf_def.h index 2016d31b89290a..2ced300e40d667 100644 --- a/deps/openssl/openssl/crypto/conf/conf_def.h +++ b/deps/openssl/openssl/crypto/conf/conf_def.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by crypto/conf/keysets.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at diff --git a/deps/openssl/openssl/crypto/conf/conf_lib.c b/deps/openssl/openssl/crypto/conf/conf_lib.c index 2d40ac97ec2756..0b7dd26d63b0a0 100644 --- a/deps/openssl/openssl/crypto/conf/conf_lib.c +++ b/deps/openssl/openssl/crypto/conf/conf_lib.c @@ -11,7 +11,7 @@ #include #include #include "internal/conf.h" -#include "internal/ctype.h" +#include "crypto/ctype.h" #include #include #include diff --git a/deps/openssl/openssl/crypto/conf/conf_lcl.h b/deps/openssl/openssl/crypto/conf/conf_local.h similarity index 100% rename from deps/openssl/openssl/crypto/conf/conf_lcl.h rename to deps/openssl/openssl/crypto/conf/conf_local.h diff --git a/deps/openssl/openssl/crypto/conf/conf_mall.c b/deps/openssl/openssl/crypto/conf/conf_mall.c index 7e86948e89e9e7..d7eaa8509b2fbc 100644 --- a/deps/openssl/openssl/crypto/conf/conf_mall.c +++ b/deps/openssl/openssl/crypto/conf/conf_mall.c @@ -14,7 +14,7 @@ #include #include #include -#include "conf_lcl.h" +#include "conf_local.h" /* Load all OpenSSL builtin modules */ diff --git a/deps/openssl/openssl/crypto/conf/conf_ssl.c b/deps/openssl/openssl/crypto/conf/conf_ssl.c index 387f2cf46c31b7..4bd8117d365ca6 100644 --- a/deps/openssl/openssl/crypto/conf/conf_ssl.c +++ b/deps/openssl/openssl/crypto/conf/conf_ssl.c @@ -12,7 +12,7 @@ #include #include #include "internal/sslconf.h" -#include "conf_lcl.h" +#include "conf_local.h" /* * SSL library configuration module placeholder. We load it here but defer diff --git a/deps/openssl/openssl/crypto/cryptlib.c b/deps/openssl/openssl/crypto/cryptlib.c index 7b761a3adced99..1f36b20c86ed63 100644 --- a/deps/openssl/openssl/crypto/cryptlib.c +++ b/deps/openssl/openssl/crypto/cryptlib.c @@ -9,7 +9,7 @@ */ #include "e_os.h" -#include "internal/cryptlib_int.h" +#include "crypto/cryptlib.h" #include #if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \ @@ -49,7 +49,7 @@ typedef char variant_char; # define ossl_getenv getenv # endif -# include "internal/ctype.h" +# include "crypto/ctype.h" static int todigit(variant_char c) { diff --git a/deps/openssl/openssl/crypto/ct/ct_b64.c b/deps/openssl/openssl/crypto/ct/ct_b64.c index 109ffcdcf24ad5..4abe11ca298bd9 100644 --- a/deps/openssl/openssl/crypto/ct/ct_b64.c +++ b/deps/openssl/openssl/crypto/ct/ct_b64.c @@ -14,7 +14,7 @@ #include #include -#include "ct_locl.h" +#include "ct_local.h" /* * Decodes the base64 string |in| into |out|. diff --git a/deps/openssl/openssl/crypto/ct/ct_locl.h b/deps/openssl/openssl/crypto/ct/ct_local.h similarity index 100% rename from deps/openssl/openssl/crypto/ct/ct_locl.h rename to deps/openssl/openssl/crypto/ct/ct_local.h diff --git a/deps/openssl/openssl/crypto/ct/ct_oct.c b/deps/openssl/openssl/crypto/ct/ct_oct.c index 0dd691c0f711d4..d4b6645af48d88 100644 --- a/deps/openssl/openssl/crypto/ct/ct_oct.c +++ b/deps/openssl/openssl/crypto/ct/ct_oct.c @@ -19,7 +19,7 @@ #include #include -#include "ct_locl.h" +#include "ct_local.h" int o2i_SCT_signature(SCT *sct, const unsigned char **in, size_t len) { diff --git a/deps/openssl/openssl/crypto/ct/ct_policy.c b/deps/openssl/openssl/crypto/ct/ct_policy.c index 0d7b3463877d2b..df66e8a494d015 100644 --- a/deps/openssl/openssl/crypto/ct/ct_policy.c +++ b/deps/openssl/openssl/crypto/ct/ct_policy.c @@ -15,7 +15,7 @@ #include #include -#include "ct_locl.h" +#include "ct_local.h" /* * Number of seconds in the future that an SCT timestamp can be, by default, diff --git a/deps/openssl/openssl/crypto/ct/ct_prn.c b/deps/openssl/openssl/crypto/ct/ct_prn.c index 376e04523e5726..e6584b57f391c9 100644 --- a/deps/openssl/openssl/crypto/ct/ct_prn.c +++ b/deps/openssl/openssl/crypto/ct/ct_prn.c @@ -14,7 +14,7 @@ #include #include -#include "ct_locl.h" +#include "ct_local.h" static void SCT_signature_algorithms_print(const SCT *sct, BIO *out) { diff --git a/deps/openssl/openssl/crypto/ct/ct_sct.c b/deps/openssl/openssl/crypto/ct/ct_sct.c index 1dc16857ba50ba..4ff36e2fbd4940 100644 --- a/deps/openssl/openssl/crypto/ct/ct_sct.c +++ b/deps/openssl/openssl/crypto/ct/ct_sct.c @@ -17,7 +17,7 @@ #include #include -#include "ct_locl.h" +#include "ct_local.h" SCT *SCT_new(void) { diff --git a/deps/openssl/openssl/crypto/ct/ct_sct_ctx.c b/deps/openssl/openssl/crypto/ct/ct_sct_ctx.c index 75a5027df0e8a5..841e768033e5a9 100644 --- a/deps/openssl/openssl/crypto/ct/ct_sct_ctx.c +++ b/deps/openssl/openssl/crypto/ct/ct_sct_ctx.c @@ -18,7 +18,7 @@ #include #include -#include "ct_locl.h" +#include "ct_local.h" SCT_CTX *SCT_CTX_new(void) { diff --git a/deps/openssl/openssl/crypto/ct/ct_vfy.c b/deps/openssl/openssl/crypto/ct/ct_vfy.c index cabcf5782aa445..74fd34f4154eeb 100644 --- a/deps/openssl/openssl/crypto/ct/ct_vfy.c +++ b/deps/openssl/openssl/crypto/ct/ct_vfy.c @@ -14,7 +14,7 @@ #include #include -#include "ct_locl.h" +#include "ct_local.h" typedef enum sct_signature_type_t { SIGNATURE_TYPE_NOT_SET = -1, diff --git a/deps/openssl/openssl/crypto/ct/ct_x509v3.c b/deps/openssl/openssl/crypto/ct/ct_x509v3.c index ec186d1f5b8309..19c2a852d24a18 100644 --- a/deps/openssl/openssl/crypto/ct/ct_x509v3.c +++ b/deps/openssl/openssl/crypto/ct/ct_x509v3.c @@ -11,7 +11,7 @@ # error "CT is disabled" #endif -#include "ct_locl.h" +#include "ct_local.h" static char *i2s_poison(const X509V3_EXT_METHOD *method, void *val) { diff --git a/deps/openssl/openssl/crypto/ctype.c b/deps/openssl/openssl/crypto/ctype.c index e05f84cd40860a..b7f1183f9ccf1d 100644 --- a/deps/openssl/openssl/crypto/ctype.c +++ b/deps/openssl/openssl/crypto/ctype.c @@ -9,7 +9,7 @@ #include #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include "openssl/ebcdic.h" /* diff --git a/deps/openssl/openssl/crypto/des/asm/crypt586.pl b/deps/openssl/openssl/crypto/des/asm/crypt586.pl index a02d1806314949..d14b9f89b6b67d 100644 --- a/deps/openssl/openssl/crypto/des/asm/crypt586.pl +++ b/deps/openssl/openssl/crypto/des/asm/crypt586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -25,7 +25,7 @@ &fcrypt_body("fcrypt_body"); &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; sub fcrypt_body { diff --git a/deps/openssl/openssl/crypto/des/asm/des-586.pl b/deps/openssl/openssl/crypto/des/asm/des-586.pl index 2bcc54ef2f2551..07d9d87ac735a5 100644 --- a/deps/openssl/openssl/crypto/des/asm/des-586.pl +++ b/deps/openssl/openssl/crypto/des/asm/des-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -47,7 +47,7 @@ &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; sub DES_encrypt_internal() { diff --git a/deps/openssl/openssl/crypto/des/asm/des_enc.m4 b/deps/openssl/openssl/crypto/des/asm/des_enc.m4 index 4ada97b175d99a..ebb5e7cd1d75bc 100644 --- a/deps/openssl/openssl/crypto/des/asm/des_enc.m4 +++ b/deps/openssl/openssl/crypto/des/asm/des_enc.m4 @@ -106,15 +106,15 @@ changequote({,}) ! technique. ! ! The macro also loads address sbox 1 to 5 to global 1 to 5, address -! sbox 6 to local6, and addres sbox 8 to out3. +! sbox 6 to local6, and address sbox 8 to out3. ! -! Rotates the halfs 3 left to bring the sbox bits in convenient positions. +! Rotates the halves 3 left to bring the sbox bits in convenient positions. ! ! Loads key first round from address in parameter 5 to out0, out1. ! ! After the original LibDES initial permutation, the resulting left ! is in the variable initially used for right and vice versa. The macro -! implements the possibility to keep the halfs in the original registers. +! implements the possibility to keep the halves in the original registers. ! ! parameter 1 left ! parameter 2 right @@ -1184,7 +1184,7 @@ DES_encrypt2: add %o7,global1,global1 sub global1,.PIC.DES_SPtrans-.des_and,out2 - ! Set sbox address 1 to 6 and rotate halfs 3 left + ! Set sbox address 1 to 6 and rotate halves 3 left ! Errors caught by destest? Yes. Still? *NO* !sethi %hi(DES_SPtrans), global1 ! address sbox 1 diff --git a/deps/openssl/openssl/crypto/des/asm/dest4-sparcv9.pl b/deps/openssl/openssl/crypto/des/asm/dest4-sparcv9.pl index fe1fdc7025cf44..5c92a52b7957dd 100644 --- a/deps/openssl/openssl/crypto/des/asm/dest4-sparcv9.pl +++ b/deps/openssl/openssl/crypto/des/asm/dest4-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -624,4 +624,4 @@ &emit_assembler(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/des/cbc_cksm.c b/deps/openssl/openssl/crypto/des/cbc_cksm.c index 5a1f72f82db83a..c5e2e017b84e02 100644 --- a/deps/openssl/openssl/crypto/des/cbc_cksm.c +++ b/deps/openssl/openssl/crypto/des/cbc_cksm.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "des_locl.h" +#include "des_local.h" DES_LONG DES_cbc_cksum(const unsigned char *in, DES_cblock *output, long length, DES_key_schedule *schedule, diff --git a/deps/openssl/openssl/crypto/des/cfb64ede.c b/deps/openssl/openssl/crypto/des/cfb64ede.c index 21943f6143ead9..490d925f46f476 100644 --- a/deps/openssl/openssl/crypto/des/cfb64ede.c +++ b/deps/openssl/openssl/crypto/des/cfb64ede.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "des_locl.h" +#include "des_local.h" /* * The input and output encrypted as though 64bit cfb mode is being used. diff --git a/deps/openssl/openssl/crypto/des/cfb64enc.c b/deps/openssl/openssl/crypto/des/cfb64enc.c index 96de51b055ec4c..ca0e82164803cb 100644 --- a/deps/openssl/openssl/crypto/des/cfb64enc.c +++ b/deps/openssl/openssl/crypto/des/cfb64enc.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "des_locl.h" +#include "des_local.h" /* * The input and output encrypted as though 64bit cfb mode is being used. diff --git a/deps/openssl/openssl/crypto/des/cfb_enc.c b/deps/openssl/openssl/crypto/des/cfb_enc.c index 544392e405c2cc..17018420e6cc02 100644 --- a/deps/openssl/openssl/crypto/des/cfb_enc.c +++ b/deps/openssl/openssl/crypto/des/cfb_enc.c @@ -8,7 +8,7 @@ */ #include "e_os.h" -#include "des_locl.h" +#include "des_local.h" #include /* diff --git a/deps/openssl/openssl/crypto/des/des_enc.c b/deps/openssl/openssl/crypto/des/des_enc.c index ed134ace8c3228..45eec615d8b0b2 100644 --- a/deps/openssl/openssl/crypto/des/des_enc.c +++ b/deps/openssl/openssl/crypto/des/des_enc.c @@ -8,7 +8,7 @@ */ #include -#include "des_locl.h" +#include "des_local.h" #include "spr.h" void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc) diff --git a/deps/openssl/openssl/crypto/des/des_locl.h b/deps/openssl/openssl/crypto/des/des_local.h similarity index 99% rename from deps/openssl/openssl/crypto/des/des_locl.h rename to deps/openssl/openssl/crypto/des/des_local.h index f401e6f3ebe89f..0f58a1c9ae2e8f 100644 --- a/deps/openssl/openssl/crypto/des/des_locl.h +++ b/deps/openssl/openssl/crypto/des/des_local.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DES_LOCL_H -# define HEADER_DES_LOCL_H +#ifndef OSSL_CRYPTO_DES_LOCAL_H +# define OSSL_CRYPTO_DES_LOCAL_H # include diff --git a/deps/openssl/openssl/crypto/des/ecb3_enc.c b/deps/openssl/openssl/crypto/des/ecb3_enc.c index 6ac89d4e78bb61..7afa8eaadde7ce 100644 --- a/deps/openssl/openssl/crypto/des/ecb3_enc.c +++ b/deps/openssl/openssl/crypto/des/ecb3_enc.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "des_locl.h" +#include "des_local.h" void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output, DES_key_schedule *ks1, DES_key_schedule *ks2, diff --git a/deps/openssl/openssl/crypto/des/ecb_enc.c b/deps/openssl/openssl/crypto/des/ecb_enc.c index 5ed079d15fdc53..513c65e116cdba 100644 --- a/deps/openssl/openssl/crypto/des/ecb_enc.c +++ b/deps/openssl/openssl/crypto/des/ecb_enc.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "des_locl.h" +#include "des_local.h" #include #include diff --git a/deps/openssl/openssl/crypto/des/fcrypt.c b/deps/openssl/openssl/crypto/des/fcrypt.c index aaee4bf236a532..e83cf76b615cce 100644 --- a/deps/openssl/openssl/crypto/des/fcrypt.c +++ b/deps/openssl/openssl/crypto/des/fcrypt.c @@ -19,7 +19,7 @@ #endif #include -#include "des_locl.h" +#include "des_local.h" /* * Added more values to handle illegal salt values the way normal crypt() diff --git a/deps/openssl/openssl/crypto/des/fcrypt_b.c b/deps/openssl/openssl/crypto/des/fcrypt_b.c index fe2369a93526c1..22f967b8c6d389 100644 --- a/deps/openssl/openssl/crypto/des/fcrypt_b.c +++ b/deps/openssl/openssl/crypto/des/fcrypt_b.c @@ -10,7 +10,7 @@ #include #define DES_FCRYPT -#include "des_locl.h" +#include "des_local.h" #undef DES_FCRYPT #undef PERM_OP diff --git a/deps/openssl/openssl/crypto/des/ncbc_enc.c b/deps/openssl/openssl/crypto/des/ncbc_enc.c index 244f15ca2a9600..cd4b071a3d73b9 100644 --- a/deps/openssl/openssl/crypto/des/ncbc_enc.c +++ b/deps/openssl/openssl/crypto/des/ncbc_enc.c @@ -13,7 +13,7 @@ * des_enc.c (DES_ncbc_encrypt) */ -#include "des_locl.h" +#include "des_local.h" #ifdef CBC_ENC_C__DONT_UPDATE_IV void DES_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, diff --git a/deps/openssl/openssl/crypto/des/ofb64ede.c b/deps/openssl/openssl/crypto/des/ofb64ede.c index a551a07e0eb49d..68cf2dc557c64d 100644 --- a/deps/openssl/openssl/crypto/des/ofb64ede.c +++ b/deps/openssl/openssl/crypto/des/ofb64ede.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "des_locl.h" +#include "des_local.h" /* * The input and output encrypted as though 64bit ofb mode is being used. diff --git a/deps/openssl/openssl/crypto/des/ofb64enc.c b/deps/openssl/openssl/crypto/des/ofb64enc.c index 30976c871daa12..5796980c186537 100644 --- a/deps/openssl/openssl/crypto/des/ofb64enc.c +++ b/deps/openssl/openssl/crypto/des/ofb64enc.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "des_locl.h" +#include "des_local.h" /* * The input and output encrypted as though 64bit ofb mode is being used. diff --git a/deps/openssl/openssl/crypto/des/ofb_enc.c b/deps/openssl/openssl/crypto/des/ofb_enc.c index 65a9b8604d8032..2b0498994b5158 100644 --- a/deps/openssl/openssl/crypto/des/ofb_enc.c +++ b/deps/openssl/openssl/crypto/des/ofb_enc.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "des_locl.h" +#include "des_local.h" /* * The input and output are loaded in multiples of 8 bits. What this means is diff --git a/deps/openssl/openssl/crypto/des/pcbc_enc.c b/deps/openssl/openssl/crypto/des/pcbc_enc.c index 0fa058f03f0768..3490592741c60f 100644 --- a/deps/openssl/openssl/crypto/des/pcbc_enc.c +++ b/deps/openssl/openssl/crypto/des/pcbc_enc.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "des_locl.h" +#include "des_local.h" void DES_pcbc_encrypt(const unsigned char *input, unsigned char *output, long length, DES_key_schedule *schedule, diff --git a/deps/openssl/openssl/crypto/des/qud_cksm.c b/deps/openssl/openssl/crypto/des/qud_cksm.c index 81e6be8226aaf7..10b6abf69ea5d5 100644 --- a/deps/openssl/openssl/crypto/des/qud_cksm.c +++ b/deps/openssl/openssl/crypto/des/qud_cksm.c @@ -13,7 +13,7 @@ * only based on the code in this paper and is almost definitely not the same * as the MIT implementation. */ -#include "des_locl.h" +#include "des_local.h" #define Q_B0(a) (((DES_LONG)(a))) #define Q_B1(a) (((DES_LONG)(a))<<8) diff --git a/deps/openssl/openssl/crypto/des/set_key.c b/deps/openssl/openssl/crypto/des/set_key.c index adbad72362f53e..cbcb616cb2add8 100644 --- a/deps/openssl/openssl/crypto/des/set_key.c +++ b/deps/openssl/openssl/crypto/des/set_key.c @@ -16,7 +16,7 @@ * 1.0 First working version */ #include -#include "des_locl.h" +#include "des_local.h" /* defaults to false */ OPENSSL_IMPLEMENT_GLOBAL(int, DES_check_key, 0) diff --git a/deps/openssl/openssl/crypto/des/str2key.c b/deps/openssl/openssl/crypto/des/str2key.c index e18d726522ba31..61db60512567c5 100644 --- a/deps/openssl/openssl/crypto/des/str2key.c +++ b/deps/openssl/openssl/crypto/des/str2key.c @@ -8,7 +8,7 @@ */ #include -#include "des_locl.h" +#include "des_local.h" void DES_string_to_key(const char *str, DES_cblock *key) { diff --git a/deps/openssl/openssl/crypto/des/xcbc_enc.c b/deps/openssl/openssl/crypto/des/xcbc_enc.c index c4e455d9b9125f..fb3fd5292cb684 100644 --- a/deps/openssl/openssl/crypto/des/xcbc_enc.c +++ b/deps/openssl/openssl/crypto/des/xcbc_enc.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "des_locl.h" +#include "des_local.h" /* RSA's DESX */ diff --git a/deps/openssl/openssl/crypto/dh/dh_ameth.c b/deps/openssl/openssl/crypto/dh/dh_ameth.c index 05a1d4227ee310..d53004080d5e4d 100644 --- a/deps/openssl/openssl/crypto/dh/dh_ameth.c +++ b/deps/openssl/openssl/crypto/dh/dh_ameth.c @@ -11,10 +11,10 @@ #include "internal/cryptlib.h" #include #include -#include "dh_locl.h" +#include "dh_local.h" #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" #include /* @@ -901,6 +901,7 @@ static int dh_cms_encrypt(CMS_RecipientInfo *ri) err: OPENSSL_free(penc); X509_ALGOR_free(wrap_alg); + OPENSSL_free(dukm); return rv; } diff --git a/deps/openssl/openssl/crypto/dh/dh_asn1.c b/deps/openssl/openssl/crypto/dh/dh_asn1.c index 1a40633b48065e..e37f0904e560c6 100644 --- a/deps/openssl/openssl/crypto/dh/dh_asn1.c +++ b/deps/openssl/openssl/crypto/dh/dh_asn1.c @@ -10,7 +10,7 @@ #include #include "internal/cryptlib.h" #include -#include "dh_locl.h" +#include "dh_local.h" #include #include diff --git a/deps/openssl/openssl/crypto/dh/dh_check.c b/deps/openssl/openssl/crypto/dh/dh_check.c index d13d8206ce5093..4ac169e75c236c 100644 --- a/deps/openssl/openssl/crypto/dh/dh_check.c +++ b/deps/openssl/openssl/crypto/dh/dh_check.c @@ -10,7 +10,7 @@ #include #include "internal/cryptlib.h" #include -#include "dh_locl.h" +#include "dh_local.h" # define DH_NUMBER_ITERATIONS_FOR_PRIME 64 diff --git a/deps/openssl/openssl/crypto/dh/dh_gen.c b/deps/openssl/openssl/crypto/dh/dh_gen.c index d293835eb22b7e..ab82ab58bd2ac1 100644 --- a/deps/openssl/openssl/crypto/dh/dh_gen.c +++ b/deps/openssl/openssl/crypto/dh/dh_gen.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -15,7 +15,7 @@ #include #include "internal/cryptlib.h" #include -#include "dh_locl.h" +#include "dh_local.h" static int dh_builtin_genparams(DH *ret, int prime_len, int generator, BN_GENCB *cb); @@ -54,7 +54,7 @@ int DH_generate_parameters_ex(DH *ret, int prime_len, int generator, * for 3, p mod 12 == 11 * for 5, p mod 60 == 59 * - * However for compatibilty with previous versions we use: + * However for compatibility with previous versions we use: * for 2, p mod 24 == 11 * for 5, p mod 60 == 23 */ diff --git a/deps/openssl/openssl/crypto/dh/dh_key.c b/deps/openssl/openssl/crypto/dh/dh_key.c index 718aa422d9354a..daffdf74dd37b6 100644 --- a/deps/openssl/openssl/crypto/dh/dh_key.c +++ b/deps/openssl/openssl/crypto/dh/dh_key.c @@ -9,8 +9,8 @@ #include #include "internal/cryptlib.h" -#include "dh_locl.h" -#include "internal/bn_int.h" +#include "dh_local.h" +#include "crypto/bn.h" static int generate_key(DH *dh); static int compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh); diff --git a/deps/openssl/openssl/crypto/dh/dh_lib.c b/deps/openssl/openssl/crypto/dh/dh_lib.c index e7e7ef08e9e3ce..04b79d355ca48c 100644 --- a/deps/openssl/openssl/crypto/dh/dh_lib.c +++ b/deps/openssl/openssl/crypto/dh/dh_lib.c @@ -11,7 +11,7 @@ #include "internal/cryptlib.h" #include "internal/refcount.h" #include -#include "dh_locl.h" +#include "dh_local.h" #include int DH_set_method(DH *dh, const DH_METHOD *meth) diff --git a/deps/openssl/openssl/crypto/dh/dh_locl.h b/deps/openssl/openssl/crypto/dh/dh_local.h similarity index 100% rename from deps/openssl/openssl/crypto/dh/dh_locl.h rename to deps/openssl/openssl/crypto/dh/dh_local.h diff --git a/deps/openssl/openssl/crypto/dh/dh_meth.c b/deps/openssl/openssl/crypto/dh/dh_meth.c index 59c4d7e9678233..8a54a8108fc3fd 100644 --- a/deps/openssl/openssl/crypto/dh/dh_meth.c +++ b/deps/openssl/openssl/crypto/dh/dh_meth.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "dh_locl.h" +#include "dh_local.h" #include #include diff --git a/deps/openssl/openssl/crypto/dh/dh_pmeth.c b/deps/openssl/openssl/crypto/dh/dh_pmeth.c index 568831f1c2a75e..1fd94deb473195 100644 --- a/deps/openssl/openssl/crypto/dh/dh_pmeth.c +++ b/deps/openssl/openssl/crypto/dh/dh_pmeth.c @@ -12,11 +12,11 @@ #include #include #include -#include "dh_locl.h" +#include "dh_local.h" #include #include #include -#include "internal/evp_int.h" +#include "crypto/evp.h" /* DH pkey context structure */ diff --git a/deps/openssl/openssl/crypto/dh/dh_rfc5114.c b/deps/openssl/openssl/crypto/dh/dh_rfc5114.c index c4a219590e9e1e..e3603a05a322b8 100644 --- a/deps/openssl/openssl/crypto/dh/dh_rfc5114.c +++ b/deps/openssl/openssl/crypto/dh/dh_rfc5114.c @@ -9,9 +9,9 @@ #include #include "internal/cryptlib.h" -#include "dh_locl.h" +#include "dh_local.h" #include -#include "internal/bn_dh.h" +#include "crypto/bn_dh.h" /* * Macro to make a DH structure from BIGNUM data. NB: although just copying diff --git a/deps/openssl/openssl/crypto/dh/dh_rfc7919.c b/deps/openssl/openssl/crypto/dh/dh_rfc7919.c index a54b468e552ce1..03d30a1f5d5988 100644 --- a/deps/openssl/openssl/crypto/dh/dh_rfc7919.c +++ b/deps/openssl/openssl/crypto/dh/dh_rfc7919.c @@ -9,10 +9,10 @@ #include #include "internal/cryptlib.h" -#include "dh_locl.h" +#include "dh_local.h" #include #include -#include "internal/bn_dh.h" +#include "crypto/bn_dh.h" static DH *dh_param_init(const BIGNUM *p, int32_t nbits) { diff --git a/deps/openssl/openssl/crypto/dllmain.c b/deps/openssl/openssl/crypto/dllmain.c index 0838c55e489749..e8217893b9edb0 100644 --- a/deps/openssl/openssl/crypto/dllmain.c +++ b/deps/openssl/openssl/crypto/dllmain.c @@ -8,7 +8,7 @@ */ #include "e_os.h" -#include "internal/cryptlib_int.h" +#include "crypto/cryptlib.h" #if defined(_WIN32) || defined(__CYGWIN__) # ifdef __CYGWIN__ diff --git a/deps/openssl/openssl/crypto/dsa/dsa_ameth.c b/deps/openssl/openssl/crypto/dsa/dsa_ameth.c index 49aa1ae23bab08..2dcaa0815fd6ed 100644 --- a/deps/openssl/openssl/crypto/dsa/dsa_ameth.c +++ b/deps/openssl/openssl/crypto/dsa/dsa_ameth.c @@ -11,11 +11,11 @@ #include "internal/cryptlib.h" #include #include -#include "dsa_locl.h" +#include "dsa_local.h" #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" static int dsa_pub_decode(EVP_PKEY *pkey, X509_PUBKEY *pubkey) { diff --git a/deps/openssl/openssl/crypto/dsa/dsa_asn1.c b/deps/openssl/openssl/crypto/dsa/dsa_asn1.c index 6499e87ef31893..9cafd5ca8a90b2 100644 --- a/deps/openssl/openssl/crypto/dsa/dsa_asn1.c +++ b/deps/openssl/openssl/crypto/dsa/dsa_asn1.c @@ -9,7 +9,7 @@ #include #include "internal/cryptlib.h" -#include "dsa_locl.h" +#include "dsa_local.h" #include #include #include diff --git a/deps/openssl/openssl/crypto/dsa/dsa_gen.c b/deps/openssl/openssl/crypto/dsa/dsa_gen.c index af59a582b53e4e..5d066a06c546d9 100644 --- a/deps/openssl/openssl/crypto/dsa/dsa_gen.c +++ b/deps/openssl/openssl/crypto/dsa/dsa_gen.c @@ -21,7 +21,7 @@ #include #include #include -#include "dsa_locl.h" +#include "dsa_local.h" int DSA_generate_parameters_ex(DSA *ret, int bits, const unsigned char *seed_in, int seed_len, diff --git a/deps/openssl/openssl/crypto/dsa/dsa_key.c b/deps/openssl/openssl/crypto/dsa/dsa_key.c index a48af58492914c..bdeddd4f61df9b 100644 --- a/deps/openssl/openssl/crypto/dsa/dsa_key.c +++ b/deps/openssl/openssl/crypto/dsa/dsa_key.c @@ -11,7 +11,7 @@ #include #include "internal/cryptlib.h" #include -#include "dsa_locl.h" +#include "dsa_local.h" static int dsa_builtin_keygen(DSA *dsa); diff --git a/deps/openssl/openssl/crypto/dsa/dsa_lib.c b/deps/openssl/openssl/crypto/dsa/dsa_lib.c index 1048601bebde38..f98af5853dc120 100644 --- a/deps/openssl/openssl/crypto/dsa/dsa_lib.c +++ b/deps/openssl/openssl/crypto/dsa/dsa_lib.c @@ -11,7 +11,7 @@ #include "internal/cryptlib.h" #include "internal/refcount.h" #include -#include "dsa_locl.h" +#include "dsa_local.h" #include #include #include diff --git a/deps/openssl/openssl/crypto/dsa/dsa_locl.h b/deps/openssl/openssl/crypto/dsa/dsa_local.h similarity index 100% rename from deps/openssl/openssl/crypto/dsa/dsa_locl.h rename to deps/openssl/openssl/crypto/dsa/dsa_local.h diff --git a/deps/openssl/openssl/crypto/dsa/dsa_meth.c b/deps/openssl/openssl/crypto/dsa/dsa_meth.c index ff4fae44a7c309..1e6ee2f4ed3bc6 100644 --- a/deps/openssl/openssl/crypto/dsa/dsa_meth.c +++ b/deps/openssl/openssl/crypto/dsa/dsa_meth.c @@ -15,7 +15,7 @@ * or in the file LICENSE in the source distribution. */ -#include "dsa_locl.h" +#include "dsa_local.h" #include #include diff --git a/deps/openssl/openssl/crypto/dsa/dsa_ossl.c b/deps/openssl/openssl/crypto/dsa/dsa_ossl.c index 16161dcadf22bb..a983def64e76eb 100644 --- a/deps/openssl/openssl/crypto/dsa/dsa_ossl.c +++ b/deps/openssl/openssl/crypto/dsa/dsa_ossl.c @@ -9,10 +9,10 @@ #include #include "internal/cryptlib.h" -#include "internal/bn_int.h" +#include "crypto/bn.h" #include #include -#include "dsa_locl.h" +#include "dsa_local.h" #include static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa); diff --git a/deps/openssl/openssl/crypto/dsa/dsa_pmeth.c b/deps/openssl/openssl/crypto/dsa/dsa_pmeth.c index 1dd2fef9beb904..4ca3747a4646cf 100644 --- a/deps/openssl/openssl/crypto/dsa/dsa_pmeth.c +++ b/deps/openssl/openssl/crypto/dsa/dsa_pmeth.c @@ -13,8 +13,8 @@ #include #include #include -#include "internal/evp_int.h" -#include "dsa_locl.h" +#include "crypto/evp.h" +#include "dsa_local.h" /* DSA pkey context structure */ @@ -178,9 +178,7 @@ static int pkey_dsa_ctrl_str(EVP_PKEY_CTX *ctx, } if (strcmp(type, "dsa_paramgen_q_bits") == 0) { int qbits = atoi(value); - return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, - EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS, qbits, - NULL); + return EVP_PKEY_CTX_set_dsa_paramgen_q_bits(ctx, qbits); } if (strcmp(type, "dsa_paramgen_md") == 0) { const EVP_MD *md = EVP_get_digestbyname(value); @@ -189,9 +187,7 @@ static int pkey_dsa_ctrl_str(EVP_PKEY_CTX *ctx, DSAerr(DSA_F_PKEY_DSA_CTRL_STR, DSA_R_INVALID_DIGEST_TYPE); return 0; } - return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, - EVP_PKEY_CTRL_DSA_PARAMGEN_MD, 0, - (void *)md); + return EVP_PKEY_CTX_set_dsa_paramgen_md(ctx, md); } return -2; } diff --git a/deps/openssl/openssl/crypto/dsa/dsa_sign.c b/deps/openssl/openssl/crypto/dsa/dsa_sign.c index e9466b29f1d7bf..51c7754b93e463 100644 --- a/deps/openssl/openssl/crypto/dsa/dsa_sign.c +++ b/deps/openssl/openssl/crypto/dsa/dsa_sign.c @@ -8,7 +8,7 @@ */ #include "internal/cryptlib.h" -#include "dsa_locl.h" +#include "dsa_local.h" #include DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa) diff --git a/deps/openssl/openssl/crypto/dsa/dsa_vrf.c b/deps/openssl/openssl/crypto/dsa/dsa_vrf.c index 21f98cd94e5c14..6f80a4aab7a590 100644 --- a/deps/openssl/openssl/crypto/dsa/dsa_vrf.c +++ b/deps/openssl/openssl/crypto/dsa/dsa_vrf.c @@ -8,7 +8,7 @@ */ #include "internal/cryptlib.h" -#include "dsa_locl.h" +#include "dsa_local.h" int DSA_do_verify(const unsigned char *dgst, int dgst_len, DSA_SIG *sig, DSA *dsa) diff --git a/deps/openssl/openssl/crypto/dso/dso_dl.c b/deps/openssl/openssl/crypto/dso/dso_dl.c index 290d73cf3575ba..3bbb10e5ca987b 100644 --- a/deps/openssl/openssl/crypto/dso/dso_dl.c +++ b/deps/openssl/openssl/crypto/dso/dso_dl.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "dso_locl.h" +#include "dso_local.h" #ifdef DSO_DL diff --git a/deps/openssl/openssl/crypto/dso/dso_dlfcn.c b/deps/openssl/openssl/crypto/dso/dso_dlfcn.c index ba3b55fcbffad1..4719e8f4f33767 100644 --- a/deps/openssl/openssl/crypto/dso/dso_dlfcn.c +++ b/deps/openssl/openssl/crypto/dso/dso_dlfcn.c @@ -16,7 +16,7 @@ # define _GNU_SOURCE /* make sure dladdr is declared */ #endif -#include "dso_locl.h" +#include "dso_local.h" #include "e_os.h" #ifdef DSO_DLFCN diff --git a/deps/openssl/openssl/crypto/dso/dso_lib.c b/deps/openssl/openssl/crypto/dso/dso_lib.c index 2e75021d39ea63..50a39bb7d5d8a2 100644 --- a/deps/openssl/openssl/crypto/dso/dso_lib.c +++ b/deps/openssl/openssl/crypto/dso/dso_lib.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "dso_locl.h" +#include "dso_local.h" #include "internal/refcount.h" static DSO_METHOD *default_DSO_meth = NULL; diff --git a/deps/openssl/openssl/crypto/dso/dso_locl.h b/deps/openssl/openssl/crypto/dso/dso_local.h similarity index 99% rename from deps/openssl/openssl/crypto/dso/dso_locl.h rename to deps/openssl/openssl/crypto/dso/dso_local.h index 14a0ccb7c0128d..43b7df9d783294 100644 --- a/deps/openssl/openssl/crypto/dso/dso_locl.h +++ b/deps/openssl/openssl/crypto/dso/dso_local.h @@ -10,7 +10,7 @@ #include #include "internal/cryptlib.h" #include "internal/dso.h" -#include "internal/dso_conf.h" +#include "crypto/dso_conf.h" #include "internal/refcount.h" /**********************************************************************/ diff --git a/deps/openssl/openssl/crypto/dso/dso_openssl.c b/deps/openssl/openssl/crypto/dso/dso_openssl.c index f0dd38ace2599e..c76a04db23f980 100644 --- a/deps/openssl/openssl/crypto/dso/dso_openssl.c +++ b/deps/openssl/openssl/crypto/dso/dso_openssl.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "dso_locl.h" +#include "dso_local.h" #ifdef DSO_NONE diff --git a/deps/openssl/openssl/crypto/dso/dso_vms.c b/deps/openssl/openssl/crypto/dso/dso_vms.c index 178e7257983124..9d1066f915acb7 100644 --- a/deps/openssl/openssl/crypto/dso/dso_vms.c +++ b/deps/openssl/openssl/crypto/dso/dso_vms.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "dso_locl.h" +#include "dso_local.h" #ifdef OPENSSL_SYS_VMS diff --git a/deps/openssl/openssl/crypto/dso/dso_win32.c b/deps/openssl/openssl/crypto/dso/dso_win32.c index 6631d517f4c317..37892170c0f225 100644 --- a/deps/openssl/openssl/crypto/dso/dso_win32.c +++ b/deps/openssl/openssl/crypto/dso/dso_win32.c @@ -8,7 +8,7 @@ */ #include "e_os.h" -#include "dso_locl.h" +#include "dso_local.h" #if defined(DSO_WIN32) diff --git a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-armv4.pl b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-armv4.pl index 83abbdd895780d..ea538c0698d545 100755 --- a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-armv4.pl +++ b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1394,7 +1394,7 @@ # 256-bit vectors on top. Then note that we push # starting from r0, which means that we have copy of # input arguments just below these temporary vectors. -# We use three of them for !in1infty, !in2intfy and +# We use three of them for ~in1infty, ~in2infty and # result of check for zero. $code.=<<___; @@ -1424,7 +1424,7 @@ #endif movne r12,#-1 stmia r3,{r4-r11} - str r12,[sp,#32*18+8] @ !in2infty + str r12,[sp,#32*18+8] @ ~in2infty ldmia $a_ptr!,{r4-r11} @ copy in1_x add r3,sp,#$in1_x @@ -1445,7 +1445,7 @@ #endif movne r12,#-1 stmia r3,{r4-r11} - str r12,[sp,#32*18+4] @ !in1infty + str r12,[sp,#32*18+4] @ ~in1infty add $a_ptr,sp,#$in2_z add $b_ptr,sp,#$in2_z @@ -1510,33 +1510,20 @@ orr $a0,$a0,$a2 orr $a4,$a4,$a6 orr $a0,$a0,$a7 - orrs $a0,$a0,$a4 + orr $a0,$a0,$a4 @ ~is_equal(U1,U2) - bne .Ladd_proceed @ is_equal(U1,U2)? + ldr $t0,[sp,#32*18+4] @ ~in1infty + ldr $t1,[sp,#32*18+8] @ ~in2infty + ldr $t2,[sp,#32*18+12] @ ~is_equal(S1,S2) + mvn $t0,$t0 @ -1/0 -> 0/-1 + mvn $t1,$t1 @ -1/0 -> 0/-1 + orr $a0,$t0 + orr $a0,$t1 + orrs $a0,$t2 @ set flags - ldr $t0,[sp,#32*18+4] - ldr $t1,[sp,#32*18+8] - ldr $t2,[sp,#32*18+12] - tst $t0,$t1 - beq .Ladd_proceed @ (in1infty || in2infty)? - tst $t2,$t2 - beq .Ladd_double @ is_equal(S1,S2)? + @ if(~is_equal(U1,U2) | in1infty | in2infty | ~is_equal(S1,S2)) + bne .Ladd_proceed - ldr $r_ptr,[sp,#32*18+16] - eor r4,r4,r4 - eor r5,r5,r5 - eor r6,r6,r6 - eor r7,r7,r7 - eor r8,r8,r8 - eor r9,r9,r9 - eor r10,r10,r10 - eor r11,r11,r11 - stmia $r_ptr!,{r4-r11} - stmia $r_ptr!,{r4-r11} - stmia $r_ptr!,{r4-r11} - b .Ladd_done - -.align 4 .Ladd_double: ldr $a_ptr,[sp,#32*18+20] add sp,sp,#32*(18-5)+16 @ difference in frame sizes @@ -1601,15 +1588,15 @@ add $b_ptr,sp,#$S2 bl __ecp_nistz256_sub_from @ p256_sub(res_y, res_y, S2); - ldr r11,[sp,#32*18+4] @ !in1intfy - ldr r12,[sp,#32*18+8] @ !in2intfy + ldr r11,[sp,#32*18+4] @ ~in1infty + ldr r12,[sp,#32*18+8] @ ~in2infty add r1,sp,#$res_x add r2,sp,#$in2_x - and r10,r11,r12 + and r10,r11,r12 @ ~in1infty & ~in2infty mvn r11,r11 add r3,sp,#$in1_x - and r11,r11,r12 - mvn r12,r12 + and r11,r11,r12 @ in1infty & ~in2infty + mvn r12,r12 @ in2infty ldr $r_ptr,[sp,#32*18+16] ___ for($i=0;$i<96;$i+=8) { # conditional moves @@ -1617,11 +1604,11 @@ ldmia r1!,{r4-r5} @ res_x ldmia r2!,{r6-r7} @ in2_x ldmia r3!,{r8-r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -1656,7 +1643,7 @@ # 256-bit vectors on top. Then note that we push # starting from r0, which means that we have copy of # input arguments just below these temporary vectors. -# We use two of them for !in1infty, !in2intfy. +# We use two of them for ~in1infty, ~in2infty. my @ONE_mont=(1,0,0,-1,-1,-1,-2,0); @@ -1687,7 +1674,7 @@ #endif movne r12,#-1 stmia r3,{r4-r11} - str r12,[sp,#32*15+4] @ !in1infty + str r12,[sp,#32*15+4] @ ~in1infty ldmia $b_ptr!,{r4-r11} @ copy in2_x add r3,sp,#$in2_x @@ -1714,7 +1701,7 @@ it ne #endif movne r12,#-1 - str r12,[sp,#32*15+8] @ !in2infty + str r12,[sp,#32*15+8] @ ~in2infty add $a_ptr,sp,#$in1_z add $b_ptr,sp,#$in1_z @@ -1796,15 +1783,15 @@ add $b_ptr,sp,#$S2 bl __ecp_nistz256_sub_from @ p256_sub(res_y, res_y, S2); - ldr r11,[sp,#32*15+4] @ !in1intfy - ldr r12,[sp,#32*15+8] @ !in2intfy + ldr r11,[sp,#32*15+4] @ ~in1infty + ldr r12,[sp,#32*15+8] @ ~in2infty add r1,sp,#$res_x add r2,sp,#$in2_x - and r10,r11,r12 + and r10,r11,r12 @ ~in1infty & ~in2infty mvn r11,r11 add r3,sp,#$in1_x - and r11,r11,r12 - mvn r12,r12 + and r11,r11,r12 @ in1infty & ~in2infty + mvn r12,r12 @ in2infty ldr $r_ptr,[sp,#32*15] ___ for($i=0;$i<64;$i+=8) { # conditional moves @@ -1812,11 +1799,11 @@ ldmia r1!,{r4-r5} @ res_x ldmia r2!,{r6-r7} @ in2_x ldmia r3!,{r8-r9} @ in1_x - and r4,r4,r10 + and r4,r4,r10 @ ~in1infty & ~in2infty and r5,r5,r10 - and r6,r6,r11 + and r6,r6,r11 @ in1infty & ~in2infty and r7,r7,r11 - and r8,r8,r12 + and r8,r8,r12 @ in2infty and r9,r9,r12 orr r4,r4,r6 orr r5,r5,r7 @@ -1862,4 +1849,4 @@ print $_,"\n"; } -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-armv8.pl b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-armv8.pl index 887ddfb1ea9b1e..e93e18f29f19b9 100644 --- a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-armv8.pl +++ b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-armv8.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -722,7 +722,7 @@ .align 5 ecp_nistz256_point_double: .inst 0xd503233f // paciasp - stp x29,x30,[sp,#-80]! + stp x29,x30,[sp,#-96]! add x29,sp,#0 stp x19,x20,[sp,#16] stp x21,x22,[sp,#32] @@ -855,7 +855,7 @@ add sp,x29,#0 // destroy frame ldp x19,x20,[x29,#16] ldp x21,x22,[x29,#32] - ldp x29,x30,[sp],#80 + ldp x29,x30,[sp],#96 .inst 0xd50323bf // autiasp ret .size ecp_nistz256_point_double,.-ecp_nistz256_point_double @@ -872,7 +872,7 @@ my ($Z1sqr, $Z2sqr) = ($Hsqr, $Rsqr); # above map() describes stack layout with 12 temporary # 256-bit vectors on top. -my ($rp_real,$ap_real,$bp_real,$in1infty,$in2infty,$temp)=map("x$_",(21..26)); +my ($rp_real,$ap_real,$bp_real,$in1infty,$in2infty,$temp0,$temp1,$temp2)=map("x$_",(21..28)); $code.=<<___; .globl ecp_nistz256_point_add @@ -880,12 +880,13 @@ .align 5 ecp_nistz256_point_add: .inst 0xd503233f // paciasp - stp x29,x30,[sp,#-80]! + stp x29,x30,[sp,#-96]! add x29,sp,#0 stp x19,x20,[sp,#16] stp x21,x22,[sp,#32] stp x23,x24,[sp,#48] stp x25,x26,[sp,#64] + stp x27,x28,[sp,#80] sub sp,sp,#32*12 ldp $a0,$a1,[$bp,#64] // in2_z @@ -899,7 +900,7 @@ orr $t2,$a2,$a3 orr $in2infty,$t0,$t2 cmp $in2infty,#0 - csetm $in2infty,ne // !in2infty + csetm $in2infty,ne // ~in2infty add $rp,sp,#$Z2sqr bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z2sqr, in2_z); @@ -909,7 +910,7 @@ orr $t2,$a2,$a3 orr $in1infty,$t0,$t2 cmp $in1infty,#0 - csetm $in1infty,ne // !in1infty + csetm $in1infty,ne // ~in1infty add $rp,sp,#$Z1sqr bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z1sqr, in1_z); @@ -950,7 +951,7 @@ orr $acc0,$acc0,$acc1 // see if result is zero orr $acc2,$acc2,$acc3 - orr $temp,$acc0,$acc2 + orr $temp0,$acc0,$acc2 // ~is_equal(S1,S2) add $bp,sp,#$Z2sqr add $rp,sp,#$U1 @@ -971,32 +972,21 @@ orr $acc0,$acc0,$acc1 // see if result is zero orr $acc2,$acc2,$acc3 - orr $acc0,$acc0,$acc2 - tst $acc0,$acc0 - b.ne .Ladd_proceed // is_equal(U1,U2)? + orr $acc0,$acc0,$acc2 // ~is_equal(U1,U2) - tst $in1infty,$in2infty - b.eq .Ladd_proceed // (in1infty || in2infty)? + mvn $temp1,$in1infty // -1/0 -> 0/-1 + mvn $temp2,$in2infty // -1/0 -> 0/-1 + orr $acc0,$acc0,$temp1 + orr $acc0,$acc0,$temp2 + orr $acc0,$acc0,$temp0 + cbnz $acc0,.Ladd_proceed // if(~is_equal(U1,U2) | in1infty | in2infty | ~is_equal(S1,S2)) - tst $temp,$temp - b.eq .Ladd_double // is_equal(S1,S2)? - - eor $a0,$a0,$a0 - eor $a1,$a1,$a1 - stp $a0,$a1,[$rp_real] - stp $a0,$a1,[$rp_real,#16] - stp $a0,$a1,[$rp_real,#32] - stp $a0,$a1,[$rp_real,#48] - stp $a0,$a1,[$rp_real,#64] - stp $a0,$a1,[$rp_real,#80] - b .Ladd_done - -.align 4 .Ladd_double: mov $ap,$ap_real mov $rp,$rp_real ldp x23,x24,[x29,#48] ldp x25,x26,[x29,#64] + ldp x27,x28,[x29,#80] add sp,sp,#32*(12-4) // difference in stack frames b .Ldouble_shortcut @@ -1081,14 +1071,14 @@ for($i=0;$i<64;$i+=32) { # conditional moves $code.=<<___; ldp $acc0,$acc1,[$ap_real,#$i] // in1 - cmp $in1infty,#0 // !$in1intfy, remember? + cmp $in1infty,#0 // ~$in1intfy, remember? ldp $acc2,$acc3,[$ap_real,#$i+16] csel $t0,$a0,$t0,ne csel $t1,$a1,$t1,ne ldp $a0,$a1,[sp,#$res_x+$i+32] // res csel $t2,$a2,$t2,ne csel $t3,$a3,$t3,ne - cmp $in2infty,#0 // !$in2intfy, remember? + cmp $in2infty,#0 // ~$in2intfy, remember? ldp $a2,$a3,[sp,#$res_x+$i+48] csel $acc0,$t0,$acc0,ne csel $acc1,$t1,$acc1,ne @@ -1102,13 +1092,13 @@ } $code.=<<___; ldp $acc0,$acc1,[$ap_real,#$i] // in1 - cmp $in1infty,#0 // !$in1intfy, remember? + cmp $in1infty,#0 // ~$in1intfy, remember? ldp $acc2,$acc3,[$ap_real,#$i+16] csel $t0,$a0,$t0,ne csel $t1,$a1,$t1,ne csel $t2,$a2,$t2,ne csel $t3,$a3,$t3,ne - cmp $in2infty,#0 // !$in2intfy, remember? + cmp $in2infty,#0 // ~$in2intfy, remember? csel $acc0,$t0,$acc0,ne csel $acc1,$t1,$acc1,ne csel $acc2,$t2,$acc2,ne @@ -1122,7 +1112,8 @@ ldp x21,x22,[x29,#32] ldp x23,x24,[x29,#48] ldp x25,x26,[x29,#64] - ldp x29,x30,[sp],#80 + ldp x27,x28,[x29,#80] + ldp x29,x30,[sp],#96 .inst 0xd50323bf // autiasp ret .size ecp_nistz256_point_add,.-ecp_nistz256_point_add @@ -1166,7 +1157,7 @@ orr $t2,$a2,$a3 orr $in1infty,$t0,$t2 cmp $in1infty,#0 - csetm $in1infty,ne // !in1infty + csetm $in1infty,ne // ~in1infty ldp $acc0,$acc1,[$bp] // in2_x ldp $acc2,$acc3,[$bp,#16] @@ -1180,7 +1171,7 @@ orr $t0,$t0,$t2 orr $in2infty,$acc0,$t0 cmp $in2infty,#0 - csetm $in2infty,ne // !in2infty + csetm $in2infty,ne // ~in2infty add $rp,sp,#$Z1sqr bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z1sqr, in1_z); @@ -1290,14 +1281,14 @@ for($i=0;$i<64;$i+=32) { # conditional moves $code.=<<___; ldp $acc0,$acc1,[$ap_real,#$i] // in1 - cmp $in1infty,#0 // !$in1intfy, remember? + cmp $in1infty,#0 // ~$in1intfy, remember? ldp $acc2,$acc3,[$ap_real,#$i+16] csel $t0,$a0,$t0,ne csel $t1,$a1,$t1,ne ldp $a0,$a1,[sp,#$res_x+$i+32] // res csel $t2,$a2,$t2,ne csel $t3,$a3,$t3,ne - cmp $in2infty,#0 // !$in2intfy, remember? + cmp $in2infty,#0 // ~$in2intfy, remember? ldp $a2,$a3,[sp,#$res_x+$i+48] csel $acc0,$t0,$acc0,ne csel $acc1,$t1,$acc1,ne @@ -1314,13 +1305,13 @@ } $code.=<<___; ldp $acc0,$acc1,[$ap_real,#$i] // in1 - cmp $in1infty,#0 // !$in1intfy, remember? + cmp $in1infty,#0 // ~$in1intfy, remember? ldp $acc2,$acc3,[$ap_real,#$i+16] csel $t0,$a0,$t0,ne csel $t1,$a1,$t1,ne csel $t2,$a2,$t2,ne csel $t3,$a3,$t3,ne - cmp $in2infty,#0 // !$in2intfy, remember? + cmp $in2infty,#0 // ~$in2intfy, remember? csel $acc0,$t0,$acc0,ne csel $acc1,$t1,$acc1,ne csel $acc2,$t2,$acc2,ne @@ -1880,4 +1871,4 @@ print $_,"\n"; } -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-avx2.pl b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-avx2.pl index 794e56a082fc8c..5071d09ac2ecc0 100755 --- a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-avx2.pl +++ b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-avx2.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2014, Intel Corporation. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use @@ -47,7 +47,7 @@ $addx = ($1>=12); } -if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([3-9])\.([0-9]+)/) { +if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $avx = ($ver>=3.0) + ($ver>=3.01); $addx = ($ver>=3.03); @@ -2077,4 +2077,4 @@ sub STORE { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-ppc64.pl b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-ppc64.pl index 984c7f205056c7..2bf54e2aa544b9 100755 --- a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-ppc64.pl +++ b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-ppc64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -2379,4 +2379,4 @@ print $_,"\n"; } -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-sparcv9.pl b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-sparcv9.pl index 4383bea4a7bed6..042e122718b781 100755 --- a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-sparcv9.pl +++ b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -3057,4 +3057,4 @@ sub unvis3 { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86.pl b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86.pl index 0c6fc665bf4612..e926d69b020b1f 100755 --- a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86.pl +++ b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1388,7 +1388,7 @@ # above map() describes stack layout with 18 temporary # 256-bit vectors on top, then we take extra words for - # !in1infty, !in2infty, result of check for zero and + # ~in1infty, ~in2infty, result of check for zero and # OPENSSL_ia32cap_P copy. [one unused word for padding] &stack_push(8*18+5); if ($sse2) { @@ -1419,7 +1419,7 @@ &sub ("eax","ebp"); &or ("ebp","eax"); &sar ("ebp",31); - &mov (&DWP(32*18+4,"esp"),"ebp"); # !in2infty + &mov (&DWP(32*18+4,"esp"),"ebp"); # ~in2infty &lea ("edi",&DWP($in1_x,"esp")); for($i=0;$i<96;$i+=16) { @@ -1441,7 +1441,7 @@ &sub ("eax","ebp"); &or ("ebp","eax"); &sar ("ebp",31); - &mov (&DWP(32*18+0,"esp"),"ebp"); # !in1infty + &mov (&DWP(32*18+0,"esp"),"ebp"); # ~in1infty &mov ("eax",&DWP(32*18+12,"esp")); # OPENSSL_ia32cap_P copy &lea ("esi",&DWP($in2_z,"esp")); @@ -1516,23 +1516,19 @@ &or ("eax",&DWP(0,"edi")); &or ("eax",&DWP(4,"edi")); &or ("eax",&DWP(8,"edi")); - &or ("eax",&DWP(12,"edi")); + &or ("eax",&DWP(12,"edi")); # ~is_equal(U1,U2) - &data_byte(0x3e); # predict taken - &jnz (&label("add_proceed")); # is_equal(U1,U2)? - - &mov ("eax",&DWP(32*18+0,"esp")); - &and ("eax",&DWP(32*18+4,"esp")); - &mov ("ebx",&DWP(32*18+8,"esp")); - &jz (&label("add_proceed")); # (in1infty || in2infty)? - &test ("ebx","ebx"); - &jz (&label("add_double")); # is_equal(S1,S2)? + &mov ("ebx",&DWP(32*18+0,"esp")); # ~in1infty + ¬ ("ebx"); # -1/0 -> 0/-1 + &or ("eax","ebx"); + &mov ("ebx",&DWP(32*18+4,"esp")); # ~in2infty + ¬ ("ebx"); # -1/0 -> 0/-1 + &or ("eax","ebx"); + &or ("eax",&DWP(32*18+8,"esp")); # ~is_equal(S1,S2) - &mov ("edi",&wparam(0)); - &xor ("eax","eax"); - &mov ("ecx",96/4); - &data_byte(0xfc,0xf3,0xab); # cld; stosd - &jmp (&label("add_done")); + # if (~is_equal(U1,U2) | in1infty | in2infty | ~is_equal(S1,S2)) + &data_byte(0x3e); # predict taken + &jnz (&label("add_proceed")); &set_label("add_double",16); &mov ("esi",&wparam(1)); @@ -1614,34 +1610,34 @@ &lea ("edi",&DWP($res_y,"esp")); &call ("_ecp_nistz256_sub"); # p256_sub(res_y, res_y, S2); - &mov ("ebp",&DWP(32*18+0,"esp")); # !in1infty - &mov ("esi",&DWP(32*18+4,"esp")); # !in2infty + &mov ("ebp",&DWP(32*18+0,"esp")); # ~in1infty + &mov ("esi",&DWP(32*18+4,"esp")); # ~in2infty &mov ("edi",&wparam(0)); &mov ("edx","ebp"); ¬ ("ebp"); - &and ("edx","esi"); - &and ("ebp","esi"); - ¬ ("esi"); + &and ("edx","esi"); # ~in1infty & ~in2infty + &and ("ebp","esi"); # in1infty & ~in2infty + ¬ ("esi"); # in2infty ######################################## # conditional moves for($i=64;$i<96;$i+=4) { - &mov ("eax","edx"); + &mov ("eax","edx"); # ~in1infty & ~in2infty &and ("eax",&DWP($res_x+$i,"esp")); - &mov ("ebx","ebp"); + &mov ("ebx","ebp"); # in1infty & ~in2infty &and ("ebx",&DWP($in2_x+$i,"esp")); - &mov ("ecx","esi"); + &mov ("ecx","esi"); # in2infty &and ("ecx",&DWP($in1_x+$i,"esp")); &or ("eax","ebx"); &or ("eax","ecx"); &mov (&DWP($i,"edi"),"eax"); } for($i=0;$i<64;$i+=4) { - &mov ("eax","edx"); + &mov ("eax","edx"); # ~in1infty & ~in2infty &and ("eax",&DWP($res_x+$i,"esp")); - &mov ("ebx","ebp"); + &mov ("ebx","ebp"); # in1infty & ~in2infty &and ("ebx",&DWP($in2_x+$i,"esp")); - &mov ("ecx","esi"); + &mov ("ecx","esi"); # in2infty &and ("ecx",&DWP($in1_x+$i,"esp")); &or ("eax","ebx"); &or ("eax","ecx"); @@ -1668,7 +1664,7 @@ # above map() describes stack layout with 15 temporary # 256-bit vectors on top, then we take extra words for - # !in1infty, !in2infty, and OPENSSL_ia32cap_P copy. + # ~in1infty, ~in2infty, and OPENSSL_ia32cap_P copy. &stack_push(8*15+3); if ($sse2) { &call ("_picup_eax"); @@ -1698,7 +1694,7 @@ &sub ("eax","ebp"); &or ("ebp","eax"); &sar ("ebp",31); - &mov (&DWP(32*15+0,"esp"),"ebp"); # !in1infty + &mov (&DWP(32*15+0,"esp"),"ebp"); # ~in1infty &lea ("edi",&DWP($in2_x,"esp")); for($i=0;$i<64;$i+=16) { @@ -1724,7 +1720,7 @@ &lea ("ebp",&DWP($in1_z,"esp")); &sar ("ebx",31); &lea ("edi",&DWP($Z1sqr,"esp")); - &mov (&DWP(32*15+4,"esp"),"ebx"); # !in2infty + &mov (&DWP(32*15+4,"esp"),"ebx"); # ~in2infty &call ("_ecp_nistz256_mul_mont"); # p256_sqr_mont(Z1sqr, in1_z); @@ -1823,14 +1819,14 @@ &lea ("edi",&DWP($res_y,"esp")); &call ("_ecp_nistz256_sub"); # p256_sub(res_y, res_y, S2); - &mov ("ebp",&DWP(32*15+0,"esp")); # !in1infty - &mov ("esi",&DWP(32*15+4,"esp")); # !in2infty + &mov ("ebp",&DWP(32*15+0,"esp")); # ~in1infty + &mov ("esi",&DWP(32*15+4,"esp")); # ~in2infty &mov ("edi",&wparam(0)); &mov ("edx","ebp"); ¬ ("ebp"); - &and ("edx","esi"); - &and ("ebp","esi"); - ¬ ("esi"); + &and ("edx","esi"); # ~in1infty & ~in2infty + &and ("ebp","esi"); # in1infty & ~in2infty + ¬ ("esi"); # in2infty ######################################## # conditional moves @@ -1848,11 +1844,11 @@ &mov (&DWP($i,"edi"),"eax"); } for($i=0;$i<64;$i+=4) { - &mov ("eax","edx"); + &mov ("eax","edx"); # ~in1infty & ~in2infty &and ("eax",&DWP($res_x+$i,"esp")); - &mov ("ebx","ebp"); + &mov ("ebx","ebp"); # in1infty & ~in2infty &and ("ebx",&DWP($in2_x+$i,"esp")); - &mov ("ecx","esi"); + &mov ("ecx","esi"); # in2infty &and ("ecx",&DWP($in1_x+$i,"esp")); &or ("eax","ebx"); &or ("eax","ecx"); @@ -1863,4 +1859,4 @@ &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl index 10ccc6414a498c..de9b194510bf06 100755 --- a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl +++ b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2014, Intel Corporation. All Rights Reserved. # Copyright (c) 2015 CloudFlare, Inc. # @@ -72,7 +72,7 @@ $addx = ($1>=12); } -if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9])\.([0-9]+)/) { +if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $avx = ($ver>=3.0) + ($ver>=3.01); $addx = ($ver>=3.03); @@ -1579,6 +1579,7 @@ .type ecp_nistz256_to_mont,\@function,2 .align 32 ecp_nistz256_to_mont: +.cfi_startproc ___ $code.=<<___ if ($addx); mov \$0x80100, %ecx @@ -1587,6 +1588,7 @@ $code.=<<___; lea .LRR(%rip), $b_org jmp .Lmul_mont +.cfi_endproc .size ecp_nistz256_to_mont,.-ecp_nistz256_to_mont ################################################################################ @@ -2562,6 +2564,7 @@ .type ecp_nistz256_scatter_w5,\@abi-omnipotent .align 32 ecp_nistz256_scatter_w5: +.cfi_startproc lea -3($index,$index,2), $index movdqa 0x00($in_t), %xmm0 shl \$5, $index @@ -2578,6 +2581,7 @@ movdqa %xmm5, 0x50($val,$index) ret +.cfi_endproc .size ecp_nistz256_scatter_w5,.-ecp_nistz256_scatter_w5 ################################################################################ @@ -2685,6 +2689,7 @@ .type ecp_nistz256_scatter_w7,\@abi-omnipotent .align 32 ecp_nistz256_scatter_w7: +.cfi_startproc movdqu 0x00($in_t), %xmm0 shl \$6, $index movdqu 0x10($in_t), %xmm1 @@ -2696,6 +2701,7 @@ movdqa %xmm3, 0x30($val,$index) ret +.cfi_endproc .size ecp_nistz256_scatter_w7,.-ecp_nistz256_scatter_w7 ################################################################################ @@ -3020,8 +3026,10 @@ .type ecp_nistz256_avx2_gather_w7,\@function,3 .align 32 ecp_nistz256_avx2_gather_w7: +.cfi_startproc .byte 0x0f,0x0b # ud2 ret +.cfi_endproc .size ecp_nistz256_avx2_gather_w7,.-ecp_nistz256_avx2_gather_w7 ___ } @@ -3617,29 +3625,19 @@ () call __ecp_nistz256_sub_from$x # p256_sub(H, U2, U1); or $acc5, $acc4 # see if result is zero + or $acc0, $acc4 + or $acc1, $acc4 # !is_equal(U1, U2) + + movq %xmm2, $acc0 # in1infty | in2infty + movq %xmm3, $acc1 # !is_equal(S1, S2) + or $acc0, $acc4 or $acc1, $acc4 + # if (!is_equal(U1, U2) | in1infty | in2infty | !is_equal(S1, S2)) .byte 0x3e # predict taken - jnz .Ladd_proceed$x # is_equal(U1,U2)? - movq %xmm2, $acc0 - movq %xmm3, $acc1 - test $acc0, $acc0 - jnz .Ladd_proceed$x # (in1infty || in2infty)? - test $acc1, $acc1 - jz .Ladd_double$x # is_equal(S1,S2)? + jnz .Ladd_proceed$x - movq %xmm0, $r_ptr # restore $r_ptr - pxor %xmm0, %xmm0 - movdqu %xmm0, 0x00($r_ptr) - movdqu %xmm0, 0x10($r_ptr) - movdqu %xmm0, 0x20($r_ptr) - movdqu %xmm0, 0x30($r_ptr) - movdqu %xmm0, 0x40($r_ptr) - movdqu %xmm0, 0x50($r_ptr) - jmp .Ladd_done$x - -.align 32 .Ladd_double$x: movq %xmm1, $a_ptr # restore $a_ptr movq %xmm0, $r_ptr # restore $r_ptr @@ -4738,4 +4736,4 @@ () $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/ec/asm/x25519-ppc64.pl b/deps/openssl/openssl/crypto/ec/asm/x25519-ppc64.pl index 6e8b36420f53bf..f4b523bf8a081d 100755 --- a/deps/openssl/openssl/crypto/ec/asm/x25519-ppc64.pl +++ b/deps/openssl/openssl/crypto/ec/asm/x25519-ppc64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -821,4 +821,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/ec/asm/x25519-x86_64.pl b/deps/openssl/openssl/crypto/ec/asm/x25519-x86_64.pl index 18dc6af9fae9fa..3d9d1dc1ad0c5e 100755 --- a/deps/openssl/openssl/crypto/ec/asm/x25519-x86_64.pl +++ b/deps/openssl/openssl/crypto/ec/asm/x25519-x86_64.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -90,7 +90,7 @@ $addx = ($1>=12); } -if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9])\.([0-9]+)/) { +if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $addx = ($ver>=3.03); } @@ -488,12 +488,14 @@ .type x25519_fe64_eligible,\@abi-omnipotent .align 32 x25519_fe64_eligible: +.cfi_startproc mov OPENSSL_ia32cap_P+8(%rip),%ecx xor %eax,%eax and \$0x80100,%ecx cmp \$0x80100,%ecx cmove %ecx,%eax ret +.cfi_endproc .size x25519_fe64_eligible,.-x25519_fe64_eligible .globl x25519_fe64_mul @@ -722,6 +724,7 @@ .align 32 x25519_fe64_mul121666: .Lfe64_mul121666_body: +.cfi_startproc mov \$121666,%edx mulx 8*0(%rsi),$acc0,%rcx mulx 8*1(%rsi),$acc1,%rax @@ -750,6 +753,7 @@ .Lfe64_mul121666_epilogue: ret +.cfi_endproc .size x25519_fe64_mul121666,.-x25519_fe64_mul121666 .globl x25519_fe64_add @@ -757,6 +761,7 @@ .align 32 x25519_fe64_add: .Lfe64_add_body: +.cfi_startproc mov 8*0(%rsi),$acc0 mov 8*1(%rsi),$acc1 mov 8*2(%rsi),$acc2 @@ -785,6 +790,7 @@ .Lfe64_add_epilogue: ret +.cfi_endproc .size x25519_fe64_add,.-x25519_fe64_add .globl x25519_fe64_sub @@ -792,6 +798,7 @@ .align 32 x25519_fe64_sub: .Lfe64_sub_body: +.cfi_startproc mov 8*0(%rsi),$acc0 mov 8*1(%rsi),$acc1 mov 8*2(%rsi),$acc2 @@ -820,6 +827,7 @@ .Lfe64_sub_epilogue: ret +.cfi_endproc .size x25519_fe64_sub,.-x25519_fe64_sub .globl x25519_fe64_tobytes @@ -827,6 +835,7 @@ .align 32 x25519_fe64_tobytes: .Lfe64_to_body: +.cfi_startproc mov 8*0(%rsi),$acc0 mov 8*1(%rsi),$acc1 mov 8*2(%rsi),$acc2 @@ -862,6 +871,7 @@ .Lfe64_to_epilogue: ret +.cfi_endproc .size x25519_fe64_tobytes,.-x25519_fe64_tobytes ___ } else { @@ -870,8 +880,10 @@ .type x25519_fe64_eligible,\@abi-omnipotent .align 32 x25519_fe64_eligible: +.cfi_startproc xor %eax,%eax ret +.cfi_endproc .size x25519_fe64_eligible,.-x25519_fe64_eligible .globl x25519_fe64_mul @@ -887,8 +899,10 @@ x25519_fe64_add: x25519_fe64_sub: x25519_fe64_tobytes: +.cfi_startproc .byte 0x0f,0x0b # ud2 ret +.cfi_endproc .size x25519_fe64_mul,.-x25519_fe64_mul ___ } @@ -1114,4 +1128,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/ec/curve25519.c b/deps/openssl/openssl/crypto/ec/curve25519.c index c5d887ec4cd49f..952da0e653853c 100644 --- a/deps/openssl/openssl/crypto/ec/curve25519.c +++ b/deps/openssl/openssl/crypto/ec/curve25519.c @@ -8,7 +8,7 @@ */ #include -#include "ec_lcl.h" +#include "ec_local.h" #include #if defined(X25519_ASM) && (defined(__x86_64) || defined(__x86_64__) || \ diff --git a/deps/openssl/openssl/crypto/ec/curve448/arch_32/arch_intrinsics.h b/deps/openssl/openssl/crypto/ec/curve448/arch_32/arch_intrinsics.h index 48081c77170b08..5f6389863d151e 100644 --- a/deps/openssl/openssl/crypto/ec/curve448/arch_32/arch_intrinsics.h +++ b/deps/openssl/openssl/crypto/ec/curve448/arch_32/arch_intrinsics.h @@ -10,10 +10,10 @@ * Originally written by Mike Hamburg */ -#ifndef HEADER_ARCH_32_ARCH_INTRINSICS_H -# define HEADER_ARCH_32_ARCH_INTRINSICS_H +#ifndef OSSL_CRYPTO_EC_CURVE448_ARCH_32_INTRINSICS_H +# define OSSL_CRYPTO_EC_CURVE448_ARCH_32_INTRINSICS_H -#include "internal/constant_time_locl.h" +#include "internal/constant_time.h" # define ARCH_WORD_BITS 32 @@ -24,4 +24,4 @@ static ossl_inline uint64_t widemul(uint32_t a, uint32_t b) return ((uint64_t)a) * b; } -#endif /* HEADER_ARCH_32_ARCH_INTRINSICS_H */ +#endif /* OSSL_CRYPTO_EC_CURVE448_ARCH_32_INTRINSICS_H */ diff --git a/deps/openssl/openssl/crypto/ec/curve448/arch_32/f_impl.h b/deps/openssl/openssl/crypto/ec/curve448/arch_32/f_impl.h index bbde84a0389755..e1ddddaee08da7 100644 --- a/deps/openssl/openssl/crypto/ec/curve448/arch_32/f_impl.h +++ b/deps/openssl/openssl/crypto/ec/curve448/arch_32/f_impl.h @@ -10,8 +10,8 @@ * Originally written by Mike Hamburg */ -#ifndef HEADER_ARCH_32_F_IMPL_H -# define HEADER_ARCH_32_F_IMPL_H +#ifndef OSSL_CRYPTO_EC_CURVE448_ARCH_32_F_IMPL_H +# define OSSL_CRYPTO_EC_CURVE448_ARCH_32_F_IMPL_H # define GF_HEADROOM 2 # define LIMB(x) ((x) & ((1 << 28) - 1)), ((x) >> 28) @@ -57,4 +57,4 @@ void gf_weak_reduce(gf a) a->limb[0] = (a->limb[0] & mask) + tmp; } -#endif /* HEADER_ARCH_32_F_IMPL_H */ +#endif /* OSSL_CRYPTO_EC_CURVE448_ARCH_32_F_IMPL_H */ diff --git a/deps/openssl/openssl/crypto/ec/curve448/curve448.c b/deps/openssl/openssl/crypto/ec/curve448/curve448.c index 19bd3857812c53..12d97f06795b50 100644 --- a/deps/openssl/openssl/crypto/ec/curve448/curve448.c +++ b/deps/openssl/openssl/crypto/ec/curve448/curve448.c @@ -15,7 +15,7 @@ #include "point_448.h" #include "ed448.h" -#include "curve448_lcl.h" +#include "curve448_local.h" #define COFACTOR 4 diff --git a/deps/openssl/openssl/crypto/ec/curve448/curve448_lcl.h b/deps/openssl/openssl/crypto/ec/curve448/curve448_local.h similarity index 91% rename from deps/openssl/openssl/crypto/ec/curve448/curve448_lcl.h rename to deps/openssl/openssl/crypto/ec/curve448/curve448_local.h index 2bc3bd84c86d02..b27770661f8917 100644 --- a/deps/openssl/openssl/crypto/ec/curve448/curve448_lcl.h +++ b/deps/openssl/openssl/crypto/ec/curve448/curve448_local.h @@ -6,8 +6,8 @@ * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef HEADER_CURVE448_LCL_H -# define HEADER_CURVE448_LCL_H +#ifndef OSSL_CRYPTO_EC_CURVE448_LOCAL_H +# define OSSL_CRYPTO_EC_CURVE448_LOCAL_H # include "curve448utils.h" int X448(uint8_t out_shared_key[56], const uint8_t private_key[56], @@ -35,4 +35,4 @@ int ED448ph_verify(const uint8_t hash[64], const uint8_t signature[114], int ED448_public_from_private(uint8_t out_public_key[57], const uint8_t private_key[57]); -#endif /* HEADER_CURVE448_LCL_H */ +#endif /* OSSL_CRYPTO_EC_CURVE448_LOCAL_H */ diff --git a/deps/openssl/openssl/crypto/ec/curve448/curve448utils.h b/deps/openssl/openssl/crypto/ec/curve448/curve448utils.h index 9032bb4f730ada..86c258e745e4b8 100644 --- a/deps/openssl/openssl/crypto/ec/curve448/curve448utils.h +++ b/deps/openssl/openssl/crypto/ec/curve448/curve448utils.h @@ -10,8 +10,8 @@ * Originally written by Mike Hamburg */ -#ifndef HEADER_CURVE448UTILS_H -# define HEADER_CURVE448UTILS_H +#ifndef OSSL_CRYPTO_EC_CURVE448UTILS_H +# define OSSL_CRYPTO_EC_CURVE448UTILS_H # include diff --git a/deps/openssl/openssl/crypto/ec/curve448/ed448.h b/deps/openssl/openssl/crypto/ec/curve448/ed448.h index 5fe939e8e19daa..c1e5c2832f9bc5 100644 --- a/deps/openssl/openssl/crypto/ec/curve448/ed448.h +++ b/deps/openssl/openssl/crypto/ec/curve448/ed448.h @@ -10,8 +10,8 @@ * Originally written by Mike Hamburg */ -#ifndef HEADER_ED448_H -# define HEADER_ED448_H +#ifndef OSSL_CRYPTO_EC_CURVE448_ED448_H +# define OSSL_CRYPTO_EC_CURVE448_ED448_H # include "point_448.h" @@ -192,4 +192,4 @@ c448_error_t c448_ed448_convert_private_key_to_x448( uint8_t x[X448_PRIVATE_BYTES], const uint8_t ed[EDDSA_448_PRIVATE_BYTES]); -#endif /* HEADER_ED448_H */ +#endif /* OSSL_CRYPTO_EC_CURVE448_ED448_H */ diff --git a/deps/openssl/openssl/crypto/ec/curve448/eddsa.c b/deps/openssl/openssl/crypto/ec/curve448/eddsa.c index b28f7dff913867..82741f543549fc 100644 --- a/deps/openssl/openssl/crypto/ec/curve448/eddsa.c +++ b/deps/openssl/openssl/crypto/ec/curve448/eddsa.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2015-2016 Cryptography Research, Inc. * * Licensed under the OpenSSL license (the "License"). You may not use @@ -12,7 +12,7 @@ #include #include #include -#include "curve448_lcl.h" +#include "curve448_local.h" #include "word.h" #include "ed448.h" #include "internal/numbers.h" @@ -50,7 +50,12 @@ static c448_error_t hash_init_with_dom(EVP_MD_CTX *hashctx, uint8_t prehashed, const uint8_t *context, size_t context_len) { - const char *dom_s = "SigEd448"; +#ifdef CHARSET_EBCDIC + const char dom_s[] = {0x53, 0x69, 0x67, 0x45, + 0x64, 0x34, 0x34, 0x38, 0x00}; +#else + const char dom_s[] = "SigEd448"; +#endif uint8_t dom[2]; if (context_len > UINT8_MAX) diff --git a/deps/openssl/openssl/crypto/ec/curve448/field.h b/deps/openssl/openssl/crypto/ec/curve448/field.h index d96d4c023d446f..ccd04482d2053f 100644 --- a/deps/openssl/openssl/crypto/ec/curve448/field.h +++ b/deps/openssl/openssl/crypto/ec/curve448/field.h @@ -10,10 +10,10 @@ * Originally written by Mike Hamburg */ -#ifndef HEADER_FIELD_H -# define HEADER_FIELD_H +#ifndef OSSL_CRYPTO_EC_CURVE448_FIELD_H +# define OSSL_CRYPTO_EC_CURVE448_FIELD_H -# include "internal/constant_time_locl.h" +# include "internal/constant_time.h" # include # include # include "word.h" @@ -165,4 +165,4 @@ static ossl_inline void gf_cond_swap(gf x, gf_s * RESTRICT y, mask_t swap) } } -#endif /* HEADER_FIELD_H */ +#endif /* OSSL_CRYPTO_EC_CURVE448_FIELD_H */ diff --git a/deps/openssl/openssl/crypto/ec/curve448/point_448.h b/deps/openssl/openssl/crypto/ec/curve448/point_448.h index 399f91b9a1d980..93e715fd9c8d82 100644 --- a/deps/openssl/openssl/crypto/ec/curve448/point_448.h +++ b/deps/openssl/openssl/crypto/ec/curve448/point_448.h @@ -10,8 +10,8 @@ * Originally written by Mike Hamburg */ -#ifndef HEADER_POINT_448_H -# define HEADER_POINT_448_H +#ifndef OSSL_CRYPTO_EC_CURVE448_POINT_448_H +# define OSSL_CRYPTO_EC_CURVE448_POINT_448_H # include "curve448utils.h" # include "field.h" @@ -298,4 +298,4 @@ void curve448_scalar_destroy(curve448_scalar_t scalar); /* Overwrite point with zeros. */ void curve448_point_destroy(curve448_point_t point); -#endif /* HEADER_POINT_448_H */ +#endif /* OSSL_CRYPTO_EC_CURVE448_POINT_448_H */ diff --git a/deps/openssl/openssl/crypto/ec/curve448/word.h b/deps/openssl/openssl/crypto/ec/curve448/word.h index a48b9e053a5c9e..237cc9b63139a6 100644 --- a/deps/openssl/openssl/crypto/ec/curve448/word.h +++ b/deps/openssl/openssl/crypto/ec/curve448/word.h @@ -10,8 +10,8 @@ * Originally written by Mike Hamburg */ -#ifndef HEADER_WORD_H -# define HEADER_WORD_H +#ifndef OSSL_CRYPTO_EC_CURVE448_WORD_H +# define OSSL_CRYPTO_EC_CURVE448_WORD_H # include # include @@ -78,4 +78,4 @@ static ossl_inline mask_t bool_to_mask(c448_bool_t m) return ret; } -#endif /* HEADER_WORD_H */ +#endif /* OSSL_CRYPTO_EC_CURVE448_WORD_H */ diff --git a/deps/openssl/openssl/crypto/ec/ec2_oct.c b/deps/openssl/openssl/crypto/ec/ec2_oct.c index ee300518d69c95..48543265eeabb7 100644 --- a/deps/openssl/openssl/crypto/ec/ec2_oct.c +++ b/deps/openssl/openssl/crypto/ec/ec2_oct.c @@ -10,7 +10,7 @@ #include -#include "ec_lcl.h" +#include "ec_local.h" #ifndef OPENSSL_NO_EC2M diff --git a/deps/openssl/openssl/crypto/ec/ec2_smpl.c b/deps/openssl/openssl/crypto/ec/ec2_smpl.c index 898e741fcb97ed..84e5537a034a12 100644 --- a/deps/openssl/openssl/crypto/ec/ec2_smpl.c +++ b/deps/openssl/openssl/crypto/ec/ec2_smpl.c @@ -10,8 +10,8 @@ #include -#include "internal/bn_int.h" -#include "ec_lcl.h" +#include "crypto/bn.h" +#include "ec_local.h" #ifndef OPENSSL_NO_EC2M diff --git a/deps/openssl/openssl/crypto/ec/ec_ameth.c b/deps/openssl/openssl/crypto/ec/ec_ameth.c index c086f47ab3cccb..2210383739218e 100644 --- a/deps/openssl/openssl/crypto/ec/ec_ameth.c +++ b/deps/openssl/openssl/crypto/ec/ec_ameth.c @@ -14,9 +14,9 @@ #include #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" -#include "ec_lcl.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" +#include "ec_local.h" #ifndef OPENSSL_NO_CMS static int ecdh_cms_decrypt(CMS_RecipientInfo *ri); diff --git a/deps/openssl/openssl/crypto/ec/ec_asn1.c b/deps/openssl/openssl/crypto/ec/ec_asn1.c index 1ce1181fc10a2f..336afc989d3016 100644 --- a/deps/openssl/openssl/crypto/ec/ec_asn1.c +++ b/deps/openssl/openssl/crypto/ec/ec_asn1.c @@ -8,7 +8,7 @@ */ #include -#include "ec_lcl.h" +#include "ec_local.h" #include #include #include @@ -446,6 +446,7 @@ ECPARAMETERS *EC_GROUP_get_ecparameters(const EC_GROUP *group, unsigned char *buffer = NULL; const EC_POINT *point = NULL; point_conversion_form_t form; + ASN1_INTEGER *orig; if (params == NULL) { if ((ret = ECPARAMETERS_new()) == NULL) { @@ -496,8 +497,9 @@ ECPARAMETERS *EC_GROUP_get_ecparameters(const EC_GROUP *group, ECerr(EC_F_EC_GROUP_GET_ECPARAMETERS, ERR_R_EC_LIB); goto err; } - ret->order = BN_to_ASN1_INTEGER(tmp, ret->order); + ret->order = BN_to_ASN1_INTEGER(tmp, orig = ret->order); if (ret->order == NULL) { + ret->order = orig; ECerr(EC_F_EC_GROUP_GET_ECPARAMETERS, ERR_R_ASN1_LIB); goto err; } @@ -505,8 +507,9 @@ ECPARAMETERS *EC_GROUP_get_ecparameters(const EC_GROUP *group, /* set the cofactor (optional) */ tmp = EC_GROUP_get0_cofactor(group); if (tmp != NULL) { - ret->cofactor = BN_to_ASN1_INTEGER(tmp, ret->cofactor); + ret->cofactor = BN_to_ASN1_INTEGER(tmp, orig = ret->cofactor); if (ret->cofactor == NULL) { + ret->cofactor = orig; ECerr(EC_F_EC_GROUP_GET_ECPARAMETERS, ERR_R_ASN1_LIB); goto err; } @@ -846,6 +849,20 @@ EC_GROUP *EC_GROUP_new_from_ecparameters(const ECPARAMETERS *params) * serialized using explicit parameters by default. */ EC_GROUP_set_asn1_flag(ret, OPENSSL_EC_EXPLICIT_CURVE); + + /* + * If the input params do not contain the optional seed field we make + * sure it is not added to the returned group. + * + * The seed field is not really used inside libcrypto anyway, and + * adding it to parsed explicit parameter keys would alter their DER + * encoding output (because of the extra field) which could impact + * applications fingerprinting keys by their DER encoding. + */ + if (params->curve->seed == NULL) { + if (EC_GROUP_set_seed(ret, NULL, 0) != 1) + goto err; + } } ok = 1; diff --git a/deps/openssl/openssl/crypto/ec/ec_check.c b/deps/openssl/openssl/crypto/ec/ec_check.c index eeb06ec1cbe306..d0706d2857e69b 100644 --- a/deps/openssl/openssl/crypto/ec/ec_check.c +++ b/deps/openssl/openssl/crypto/ec/ec_check.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "ec_lcl.h" +#include "ec_local.h" #include int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx) diff --git a/deps/openssl/openssl/crypto/ec/ec_curve.c b/deps/openssl/openssl/crypto/ec/ec_curve.c index 477349d4413e1a..8de486cbd763e0 100644 --- a/deps/openssl/openssl/crypto/ec/ec_curve.c +++ b/deps/openssl/openssl/crypto/ec/ec_curve.c @@ -9,7 +9,7 @@ */ #include -#include "ec_lcl.h" +#include "ec_local.h" #include #include #include diff --git a/deps/openssl/openssl/crypto/ec/ec_cvt.c b/deps/openssl/openssl/crypto/ec/ec_cvt.c index 0ec346c125ade1..944e317d9d1409 100644 --- a/deps/openssl/openssl/crypto/ec/ec_cvt.c +++ b/deps/openssl/openssl/crypto/ec/ec_cvt.c @@ -9,7 +9,7 @@ */ #include -#include "ec_lcl.h" +#include "ec_local.h" EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) diff --git a/deps/openssl/openssl/crypto/ec/ec_key.c b/deps/openssl/openssl/crypto/ec/ec_key.c index 9349abf03079fe..08aaac5d8a6f5c 100644 --- a/deps/openssl/openssl/crypto/ec/ec_key.c +++ b/deps/openssl/openssl/crypto/ec/ec_key.c @@ -10,7 +10,7 @@ #include "internal/cryptlib.h" #include -#include "ec_lcl.h" +#include "ec_local.h" #include "internal/refcount.h" #include #include diff --git a/deps/openssl/openssl/crypto/ec/ec_kmeth.c b/deps/openssl/openssl/crypto/ec/ec_kmeth.c index 64a5d20872e446..53a4a9295201a0 100644 --- a/deps/openssl/openssl/crypto/ec/ec_kmeth.c +++ b/deps/openssl/openssl/crypto/ec/ec_kmeth.c @@ -11,7 +11,7 @@ #include #include #include -#include "ec_lcl.h" +#include "ec_local.h" static const EC_KEY_METHOD openssl_ec_key_method = { diff --git a/deps/openssl/openssl/crypto/ec/ec_lib.c b/deps/openssl/openssl/crypto/ec/ec_lib.c index 1289c8608eddfb..3554ada82797b9 100644 --- a/deps/openssl/openssl/crypto/ec/ec_lib.c +++ b/deps/openssl/openssl/crypto/ec/ec_lib.c @@ -13,7 +13,7 @@ #include #include -#include "ec_lcl.h" +#include "ec_local.h" /* functions for EC_GROUP objects */ diff --git a/deps/openssl/openssl/crypto/ec/ec_lcl.h b/deps/openssl/openssl/crypto/ec/ec_local.h similarity index 99% rename from deps/openssl/openssl/crypto/ec/ec_lcl.h rename to deps/openssl/openssl/crypto/ec/ec_local.h index fbdb04ea3a0423..e656fbd5e7755d 100644 --- a/deps/openssl/openssl/crypto/ec/ec_lcl.h +++ b/deps/openssl/openssl/crypto/ec/ec_local.h @@ -14,7 +14,7 @@ #include #include #include "internal/refcount.h" -#include "internal/ec_int.h" +#include "crypto/ec.h" #if defined(__SUNPRO_C) # if __SUNPRO_C >= 0x520 diff --git a/deps/openssl/openssl/crypto/ec/ec_mult.c b/deps/openssl/openssl/crypto/ec/ec_mult.c index 57bdf116f1b682..7980a6728288d8 100644 --- a/deps/openssl/openssl/crypto/ec/ec_mult.c +++ b/deps/openssl/openssl/crypto/ec/ec_mult.c @@ -12,8 +12,8 @@ #include #include "internal/cryptlib.h" -#include "internal/bn_int.h" -#include "ec_lcl.h" +#include "crypto/bn.h" +#include "ec_local.h" #include "internal/refcount.h" /* diff --git a/deps/openssl/openssl/crypto/ec/ec_oct.c b/deps/openssl/openssl/crypto/ec/ec_oct.c index 522f79e67360d7..7ddc86b047ca8a 100644 --- a/deps/openssl/openssl/crypto/ec/ec_oct.c +++ b/deps/openssl/openssl/crypto/ec/ec_oct.c @@ -13,7 +13,7 @@ #include #include -#include "ec_lcl.h" +#include "ec_local.h" int EC_POINT_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *point, const BIGNUM *x, int y_bit, BN_CTX *ctx) diff --git a/deps/openssl/openssl/crypto/ec/ec_pmeth.c b/deps/openssl/openssl/crypto/ec/ec_pmeth.c index 454be16c543911..64d2cc93a62015 100644 --- a/deps/openssl/openssl/crypto/ec/ec_pmeth.c +++ b/deps/openssl/openssl/crypto/ec/ec_pmeth.c @@ -12,9 +12,9 @@ #include #include #include -#include "ec_lcl.h" +#include "ec_local.h" #include -#include "internal/evp_int.h" +#include "crypto/evp.h" /* EC pkey context structure */ diff --git a/deps/openssl/openssl/crypto/ec/ec_print.c b/deps/openssl/openssl/crypto/ec/ec_print.c index 027a51928aab85..660fc400fb7580 100644 --- a/deps/openssl/openssl/crypto/ec/ec_print.c +++ b/deps/openssl/openssl/crypto/ec/ec_print.c @@ -9,7 +9,7 @@ #include #include -#include "ec_lcl.h" +#include "ec_local.h" BIGNUM *EC_POINT_point2bn(const EC_GROUP *group, const EC_POINT *point, @@ -39,13 +39,13 @@ EC_POINT *EC_POINT_bn2point(const EC_GROUP *group, EC_POINT *ret; if ((buf_len = BN_num_bytes(bn)) == 0) - return NULL; + buf_len = 1; if ((buf = OPENSSL_malloc(buf_len)) == NULL) { ECerr(EC_F_EC_POINT_BN2POINT, ERR_R_MALLOC_FAILURE); return NULL; } - if (!BN_bn2bin(bn, buf)) { + if (!BN_bn2binpad(bn, buf, buf_len)) { OPENSSL_free(buf); return NULL; } diff --git a/deps/openssl/openssl/crypto/ec/ecdh_kdf.c b/deps/openssl/openssl/crypto/ec/ecdh_kdf.c index d686f9d897df1a..96efac62f66f27 100644 --- a/deps/openssl/openssl/crypto/ec/ecdh_kdf.c +++ b/deps/openssl/openssl/crypto/ec/ecdh_kdf.c @@ -10,7 +10,7 @@ #include #include #include -#include "ec_lcl.h" +#include "ec_local.h" /* Key derivation function from X9.63/SECG */ /* Way more than we will ever need */ diff --git a/deps/openssl/openssl/crypto/ec/ecdh_ossl.c b/deps/openssl/openssl/crypto/ec/ecdh_ossl.c index ab51ee7138ff89..0be00d43da4e01 100644 --- a/deps/openssl/openssl/crypto/ec/ecdh_ossl.c +++ b/deps/openssl/openssl/crypto/ec/ecdh_ossl.c @@ -17,7 +17,7 @@ #include #include #include -#include "ec_lcl.h" +#include "ec_local.h" int ossl_ecdh_compute_key(unsigned char **psec, size_t *pseclen, const EC_POINT *pub_key, const EC_KEY *ecdh) diff --git a/deps/openssl/openssl/crypto/ec/ecdsa_ossl.c b/deps/openssl/openssl/crypto/ec/ecdsa_ossl.c index c35ed2dcd0e7db..1da87bfb5e3938 100644 --- a/deps/openssl/openssl/crypto/ec/ecdsa_ossl.c +++ b/deps/openssl/openssl/crypto/ec/ecdsa_ossl.c @@ -11,8 +11,8 @@ #include #include #include -#include "internal/bn_int.h" -#include "ec_lcl.h" +#include "crypto/bn.h" +#include "ec_local.h" int ossl_ecdsa_sign(int type, const unsigned char *dgst, int dlen, unsigned char *sig, unsigned int *siglen, @@ -309,7 +309,7 @@ int ossl_ecdsa_verify(int type, const unsigned char *dgst, int dgst_len, goto err; ret = ECDSA_do_verify(dgst, dgst_len, s, eckey); err: - OPENSSL_clear_free(der, derlen); + OPENSSL_free(der); ECDSA_SIG_free(s); return ret; } diff --git a/deps/openssl/openssl/crypto/ec/ecdsa_sign.c b/deps/openssl/openssl/crypto/ec/ecdsa_sign.c index aee06e991bada0..dc79c8c8e3dffa 100644 --- a/deps/openssl/openssl/crypto/ec/ecdsa_sign.c +++ b/deps/openssl/openssl/crypto/ec/ecdsa_sign.c @@ -8,7 +8,7 @@ */ #include -#include "ec_lcl.h" +#include "ec_local.h" #include ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dlen, EC_KEY *eckey) diff --git a/deps/openssl/openssl/crypto/ec/ecdsa_vrf.c b/deps/openssl/openssl/crypto/ec/ecdsa_vrf.c index f61a20063e4b51..ff597bdc143c97 100644 --- a/deps/openssl/openssl/crypto/ec/ecdsa_vrf.c +++ b/deps/openssl/openssl/crypto/ec/ecdsa_vrf.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -8,7 +8,7 @@ */ #include -#include "ec_lcl.h" +#include "ec_local.h" #include /*- @@ -23,7 +23,7 @@ int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, if (eckey->meth->verify_sig != NULL) return eckey->meth->verify_sig(dgst, dgst_len, sig, eckey); ECerr(EC_F_ECDSA_DO_VERIFY, EC_R_OPERATION_NOT_SUPPORTED); - return 0; + return -1; } /*- @@ -39,5 +39,5 @@ int ECDSA_verify(int type, const unsigned char *dgst, int dgst_len, return eckey->meth->verify(type, dgst, dgst_len, sigbuf, sig_len, eckey); ECerr(EC_F_ECDSA_VERIFY, EC_R_OPERATION_NOT_SUPPORTED); - return 0; + return -1; } diff --git a/deps/openssl/openssl/crypto/ec/ecp_mont.c b/deps/openssl/openssl/crypto/ec/ecp_mont.c index 252e66ef3791cb..bdc39d5efb0ef3 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_mont.c +++ b/deps/openssl/openssl/crypto/ec/ecp_mont.c @@ -10,7 +10,7 @@ #include -#include "ec_lcl.h" +#include "ec_local.h" const EC_METHOD *EC_GFp_mont_method(void) { diff --git a/deps/openssl/openssl/crypto/ec/ecp_nist.c b/deps/openssl/openssl/crypto/ec/ecp_nist.c index 5eaa99d8402b6c..9fd01279a89114 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_nist.c +++ b/deps/openssl/openssl/crypto/ec/ecp_nist.c @@ -12,7 +12,7 @@ #include #include -#include "ec_lcl.h" +#include "ec_local.h" const EC_METHOD *EC_GFp_nist_method(void) { diff --git a/deps/openssl/openssl/crypto/ec/ecp_nistp224.c b/deps/openssl/openssl/crypto/ec/ecp_nistp224.c index fbbdb9d9386cbf..9a9ced8f13434a 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_nistp224.c +++ b/deps/openssl/openssl/crypto/ec/ecp_nistp224.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -38,7 +38,7 @@ NON_EMPTY_TRANSLATION_UNIT # include # include # include -# include "ec_lcl.h" +# include "ec_local.h" # if defined(__SIZEOF_INT128__) && __SIZEOF_INT128__==16 /* even with gcc, the typedef won't work for 32-bit platforms */ @@ -907,6 +907,7 @@ static void point_add(felem x3, felem y3, felem z3, felem ftmp, ftmp2, ftmp3, ftmp4, ftmp5, x_out, y_out, z_out; widefelem tmp, tmp2; limb z1_is_zero, z2_is_zero, x_equal, y_equal; + limb points_equal; if (!mixed) { /* ftmp2 = z2^2 */ @@ -963,15 +964,41 @@ static void point_add(felem x3, felem y3, felem z3, felem_reduce(ftmp, tmp); /* - * the formulae are incorrect if the points are equal so we check for - * this and do doubling if this happens + * The formulae are incorrect if the points are equal, in affine coordinates + * (X_1, Y_1) == (X_2, Y_2), so we check for this and do doubling if this + * happens. + * + * We use bitwise operations to avoid potential side-channels introduced by + * the short-circuiting behaviour of boolean operators. */ x_equal = felem_is_zero(ftmp); y_equal = felem_is_zero(ftmp3); + /* + * The special case of either point being the point at infinity (z1 and/or + * z2 are zero), is handled separately later on in this function, so we + * avoid jumping to point_double here in those special cases. + */ z1_is_zero = felem_is_zero(z1); z2_is_zero = felem_is_zero(z2); - /* In affine coordinates, (X_1, Y_1) == (X_2, Y_2) */ - if (x_equal && y_equal && !z1_is_zero && !z2_is_zero) { + + /* + * Compared to `ecp_nistp256.c` and `ecp_nistp521.c`, in this + * specific implementation `felem_is_zero()` returns truth as `0x1` + * (rather than `0xff..ff`). + * + * This implies that `~true` in this implementation becomes + * `0xff..fe` (rather than `0x0`): for this reason, to be used in + * the if expression, we mask out only the last bit in the next + * line. + */ + points_equal = (x_equal & y_equal & (~z1_is_zero) & (~z2_is_zero)) & 1; + + if (points_equal) { + /* + * This is obviously not constant-time but, as mentioned before, this + * case never happens during single point multiplication, so there is no + * timing leak for ECDH or ECDSA signing. + */ point_double(x3, y3, z3, x1, y1, z1); return; } diff --git a/deps/openssl/openssl/crypto/ec/ecp_nistp256.c b/deps/openssl/openssl/crypto/ec/ecp_nistp256.c index 22ba69aa44bae8..e23e9d2a0b3483 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_nistp256.c +++ b/deps/openssl/openssl/crypto/ec/ecp_nistp256.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -39,7 +39,7 @@ NON_EMPTY_TRANSLATION_UNIT # include # include # include -# include "ec_lcl.h" +# include "ec_local.h" # if defined(__SIZEOF_INT128__) && __SIZEOF_INT128__==16 /* even with gcc, the typedef won't work for 32-bit platforms */ @@ -74,8 +74,8 @@ static const felem_bytearray nistp256_curve_params[5] = { {0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, /* a = -3 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc}, /* b */ - {0x5a, 0xc6, 0x35, 0xd8, 0xaa, 0x3a, 0x93, 0xe7, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc}, + {0x5a, 0xc6, 0x35, 0xd8, 0xaa, 0x3a, 0x93, 0xe7, /* b */ 0xb3, 0xeb, 0xbd, 0x55, 0x76, 0x98, 0x86, 0xbc, 0x65, 0x1d, 0x06, 0xb0, 0xcc, 0x53, 0xb0, 0xf6, 0x3b, 0xce, 0x3c, 0x3e, 0x27, 0xd2, 0x60, 0x4b}, @@ -1241,6 +1241,7 @@ static void point_add(felem x3, felem y3, felem z3, longfelem tmp, tmp2; smallfelem small1, small2, small3, small4, small5; limb x_equal, y_equal, z1_is_zero, z2_is_zero; + limb points_equal; felem_shrink(small3, z1); @@ -1340,7 +1341,26 @@ static void point_add(felem x3, felem y3, felem z3, felem_shrink(small1, ftmp5); y_equal = smallfelem_is_zero(small1); - if (x_equal && y_equal && !z1_is_zero && !z2_is_zero) { + /* + * The formulae are incorrect if the points are equal, in affine coordinates + * (X_1, Y_1) == (X_2, Y_2), so we check for this and do doubling if this + * happens. + * + * We use bitwise operations to avoid potential side-channels introduced by + * the short-circuiting behaviour of boolean operators. + * + * The special case of either point being the point at infinity (z1 and/or + * z2 are zero), is handled separately later on in this function, so we + * avoid jumping to point_double here in those special cases. + */ + points_equal = (x_equal & y_equal & (~z1_is_zero) & (~z2_is_zero)); + + if (points_equal) { + /* + * This is obviously not constant-time but, as mentioned before, this + * case never happens during single point multiplication, so there is no + * timing leak for ECDH or ECDSA signing. + */ point_double(x3, y3, z3, x1, y1, z1); return; } diff --git a/deps/openssl/openssl/crypto/ec/ecp_nistp521.c b/deps/openssl/openssl/crypto/ec/ecp_nistp521.c index 6340f48279374e..75eeba853679c5 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_nistp521.c +++ b/deps/openssl/openssl/crypto/ec/ecp_nistp521.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -38,7 +38,7 @@ NON_EMPTY_TRANSLATION_UNIT # include # include -# include "ec_lcl.h" +# include "ec_local.h" # if defined(__SIZEOF_INT128__) && __SIZEOF_INT128__==16 /* even with gcc, the typedef won't work for 32-bit platforms */ @@ -1158,6 +1158,7 @@ static void point_add(felem x3, felem y3, felem z3, felem ftmp, ftmp2, ftmp3, ftmp4, ftmp5, ftmp6, x_out, y_out, z_out; largefelem tmp, tmp2; limb x_equal, y_equal, z1_is_zero, z2_is_zero; + limb points_equal; z1_is_zero = felem_is_zero(z1); z2_is_zero = felem_is_zero(z2); @@ -1242,7 +1243,24 @@ static void point_add(felem x3, felem y3, felem z3, felem_scalar64(ftmp5, 2); /* ftmp5[i] < 2^61 */ - if (x_equal && y_equal && !z1_is_zero && !z2_is_zero) { + /* + * The formulae are incorrect if the points are equal, in affine coordinates + * (X_1, Y_1) == (X_2, Y_2), so we check for this and do doubling if this + * happens. + * + * We use bitwise operations to avoid potential side-channels introduced by + * the short-circuiting behaviour of boolean operators. + * + * The special case of either point being the point at infinity (z1 and/or + * z2 are zero), is handled separately later on in this function, so we + * avoid jumping to point_double here in those special cases. + * + * Notice the comment below on the implications of this branching for timing + * leaks and why it is considered practically irrelevant. + */ + points_equal = (x_equal & y_equal & (~z1_is_zero) & (~z2_is_zero)); + + if (points_equal) { /* * This is obviously not constant-time but it will almost-never happen * for ECDH / ECDSA. The case where it can happen is during scalar-mult diff --git a/deps/openssl/openssl/crypto/ec/ecp_nistputil.c b/deps/openssl/openssl/crypto/ec/ecp_nistputil.c index f89a2f0aacc188..60e1325c340fd4 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_nistputil.c +++ b/deps/openssl/openssl/crypto/ec/ecp_nistputil.c @@ -33,7 +33,7 @@ NON_EMPTY_TRANSLATION_UNIT */ # include -# include "ec_lcl.h" +# include "ec_local.h" /* * Convert an array of points into affine coordinates. (If the point at diff --git a/deps/openssl/openssl/crypto/ec/ecp_nistz256.c b/deps/openssl/openssl/crypto/ec/ecp_nistz256.c index 7ad5eb627de129..ba926813886230 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_nistz256.c +++ b/deps/openssl/openssl/crypto/ec/ecp_nistz256.c @@ -1,5 +1,5 @@ /* - * Copyright 2014-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2014, Intel Corporation. All Rights Reserved. * Copyright (c) 2015, CloudFlare, Inc. * @@ -21,8 +21,8 @@ #include #include "internal/cryptlib.h" -#include "internal/bn_int.h" -#include "ec_lcl.h" +#include "crypto/bn.h" +#include "ec_local.h" #include "internal/refcount.h" #if BN_BITS2 != 64 @@ -358,16 +358,47 @@ static void ecp_nistz256_point_add(P256_POINT *r, ecp_nistz256_sub(H, U2, U1); /* H = U2 - U1 */ /* - * This should not happen during sign/ecdh, so no constant time violation + * The formulae are incorrect if the points are equal so we check for + * this and do doubling if this happens. + * + * Points here are in Jacobian projective coordinates (Xi, Yi, Zi) + * that are bound to the affine coordinates (xi, yi) by the following + * equations: + * - xi = Xi / (Zi)^2 + * - y1 = Yi / (Zi)^3 + * + * For the sake of optimization, the algorithm operates over + * intermediate variables U1, U2 and S1, S2 that are derived from + * the projective coordinates: + * - U1 = X1 * (Z2)^2 ; U2 = X2 * (Z1)^2 + * - S1 = Y1 * (Z2)^3 ; S2 = Y2 * (Z1)^3 + * + * It is easy to prove that is_equal(U1, U2) implies that the affine + * x-coordinates are equal, or either point is at infinity. + * Likewise is_equal(S1, S2) implies that the affine y-coordinates are + * equal, or either point is at infinity. + * + * The special case of either point being the point at infinity (Z1 or Z2 + * is zero), is handled separately later on in this function, so we avoid + * jumping to point_double here in those special cases. + * + * When both points are inverse of each other, we know that the affine + * x-coordinates are equal, and the y-coordinates have different sign. + * Therefore since U1 = U2, we know H = 0, and therefore Z3 = H*Z1*Z2 + * will equal 0, thus the result is infinity, if we simply let this + * function continue normally. + * + * We use bitwise operations to avoid potential side-channels introduced by + * the short-circuiting behaviour of boolean operators. */ - if (is_equal(U1, U2) && !in1infty && !in2infty) { - if (is_equal(S1, S2)) { - ecp_nistz256_point_double(r, a); - return; - } else { - memset(r, 0, sizeof(*r)); - return; - } + if (is_equal(U1, U2) & ~in1infty & ~in2infty & is_equal(S1, S2)) { + /* + * This is obviously not constant-time but it should never happen during + * single point multiplication, so there is no timing leak for ECDH or + * ECDSA signing. + */ + ecp_nistz256_point_double(r, a); + return; } ecp_nistz256_sqr_mont(Rsqr, R); /* R^2 */ diff --git a/deps/openssl/openssl/crypto/ec/ecp_oct.c b/deps/openssl/openssl/crypto/ec/ecp_oct.c index 7ade1b3d217321..9460763256fdf6 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_oct.c +++ b/deps/openssl/openssl/crypto/ec/ecp_oct.c @@ -11,7 +11,7 @@ #include #include -#include "ec_lcl.h" +#include "ec_local.h" int ec_GFp_simple_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *point, diff --git a/deps/openssl/openssl/crypto/ec/ecp_smpl.c b/deps/openssl/openssl/crypto/ec/ecp_smpl.c index e6e4c9d2cbb76e..b354bfe9ce9ee4 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_smpl.c +++ b/deps/openssl/openssl/crypto/ec/ecp_smpl.c @@ -11,7 +11,7 @@ #include #include -#include "ec_lcl.h" +#include "ec_local.h" const EC_METHOD *EC_GFp_simple_method(void) { diff --git a/deps/openssl/openssl/crypto/ec/ecx_meth.c b/deps/openssl/openssl/crypto/ec/ecx_meth.c index c87419b5db3880..9dc5259e4afc8b 100644 --- a/deps/openssl/openssl/crypto/ec/ecx_meth.c +++ b/deps/openssl/openssl/crypto/ec/ecx_meth.c @@ -12,10 +12,10 @@ #include #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" -#include "ec_lcl.h" -#include "curve448/curve448_lcl.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" +#include "ec_local.h" +#include "curve448/curve448_local.h" #define X25519_BITS 253 #define X25519_SECURITY_BITS 128 @@ -191,7 +191,7 @@ static int ecx_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8) } rv = ecx_key_op(pkey, pkey->ameth->pkey_id, palg, p, plen, KEY_OP_PRIVATE); - ASN1_OCTET_STRING_free(oct); + ASN1_STRING_clear_free(oct); return rv; } diff --git a/deps/openssl/openssl/crypto/engine/README b/deps/openssl/openssl/crypto/engine/README index c7a5696ca14cd7..0f8a8fbde41032 100644 --- a/deps/openssl/openssl/crypto/engine/README +++ b/deps/openssl/openssl/crypto/engine/README @@ -9,7 +9,7 @@ for masochists" document *and* a rather extensive commit log message. (I'd get lynched for sticking all this in CHANGES or the commit mails :-). ENGINE_TABLE underlies this restructuring, as described in the internal header -"eng_int.h", implemented in eng_table.c, and used in each of the "class" files; +"eng_local.h", implemented in eng_table.c, and used in each of the "class" files; tb_rsa.c, tb_dsa.c, etc. However, "EVP_CIPHER" underlies the motivation and design of ENGINE_TABLE so diff --git a/deps/openssl/openssl/crypto/engine/eng_all.c b/deps/openssl/openssl/crypto/engine/eng_all.c index af306ccffc12a9..b675ed7892e273 100644 --- a/deps/openssl/openssl/crypto/engine/eng_all.c +++ b/deps/openssl/openssl/crypto/engine/eng_all.c @@ -8,7 +8,7 @@ */ #include "internal/cryptlib.h" -#include "eng_int.h" +#include "eng_local.h" void ENGINE_load_builtin_engines(void) { diff --git a/deps/openssl/openssl/crypto/engine/eng_cnf.c b/deps/openssl/openssl/crypto/engine/eng_cnf.c index 6f0a066d06d1cf..df00df6acd61f3 100644 --- a/deps/openssl/openssl/crypto/engine/eng_cnf.c +++ b/deps/openssl/openssl/crypto/engine/eng_cnf.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" #include /* #define ENGINE_CONF_DEBUG */ diff --git a/deps/openssl/openssl/crypto/engine/eng_ctrl.c b/deps/openssl/openssl/crypto/engine/eng_ctrl.c index 3bc4aab16feda6..e65e78447b43be 100644 --- a/deps/openssl/openssl/crypto/engine/eng_ctrl.c +++ b/deps/openssl/openssl/crypto/engine/eng_ctrl.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" /* * When querying a ENGINE-specific control command's 'description', this diff --git a/deps/openssl/openssl/crypto/engine/eng_devcrypto.c b/deps/openssl/openssl/crypto/engine/eng_devcrypto.c index a727c6f6460692..49e9ce1af33b09 100644 --- a/deps/openssl/openssl/crypto/engine/eng_devcrypto.c +++ b/deps/openssl/openssl/crypto/engine/eng_devcrypto.c @@ -22,7 +22,7 @@ #include #include -#include "internal/engine.h" +#include "crypto/engine.h" /* #define ENGINE_DEVCRYPTO_DEBUG */ diff --git a/deps/openssl/openssl/crypto/engine/eng_dyn.c b/deps/openssl/openssl/crypto/engine/eng_dyn.c index 843226c077db2f..06e677290a700b 100644 --- a/deps/openssl/openssl/crypto/engine/eng_dyn.c +++ b/deps/openssl/openssl/crypto/engine/eng_dyn.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" #include "internal/dso.h" #include diff --git a/deps/openssl/openssl/crypto/engine/eng_fat.c b/deps/openssl/openssl/crypto/engine/eng_fat.c index 591fddc8e4fb6c..fe231a65f658ba 100644 --- a/deps/openssl/openssl/crypto/engine/eng_fat.c +++ b/deps/openssl/openssl/crypto/engine/eng_fat.c @@ -8,7 +8,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" #include int ENGINE_set_default(ENGINE *e, unsigned int flags) diff --git a/deps/openssl/openssl/crypto/engine/eng_init.c b/deps/openssl/openssl/crypto/engine/eng_init.c index 7c235fc472a246..6c9063f8f68164 100644 --- a/deps/openssl/openssl/crypto/engine/eng_init.c +++ b/deps/openssl/openssl/crypto/engine/eng_init.c @@ -8,7 +8,7 @@ */ #include "e_os.h" -#include "eng_int.h" +#include "eng_local.h" /* * Initialise a engine type for use (or up its functional reference count if diff --git a/deps/openssl/openssl/crypto/engine/eng_lib.c b/deps/openssl/openssl/crypto/engine/eng_lib.c index d7f2026fac546c..b851ff69575684 100644 --- a/deps/openssl/openssl/crypto/engine/eng_lib.c +++ b/deps/openssl/openssl/crypto/engine/eng_lib.c @@ -8,7 +8,7 @@ */ #include "e_os.h" -#include "eng_int.h" +#include "eng_local.h" #include #include "internal/refcount.h" diff --git a/deps/openssl/openssl/crypto/engine/eng_list.c b/deps/openssl/openssl/crypto/engine/eng_list.c index 45c339c54157a4..1352fb7c961d83 100644 --- a/deps/openssl/openssl/crypto/engine/eng_list.c +++ b/deps/openssl/openssl/crypto/engine/eng_list.c @@ -8,7 +8,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" /* * The linked-list of pointers to engine types. engine_list_head incorporates diff --git a/deps/openssl/openssl/crypto/engine/eng_int.h b/deps/openssl/openssl/crypto/engine/eng_local.h similarity index 97% rename from deps/openssl/openssl/crypto/engine/eng_int.h rename to deps/openssl/openssl/crypto/engine/eng_local.h index b95483341e2003..8ef7172b9f45a1 100644 --- a/deps/openssl/openssl/crypto/engine/eng_int.h +++ b/deps/openssl/openssl/crypto/engine/eng_local.h @@ -8,11 +8,11 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_ENGINE_INT_H -# define HEADER_ENGINE_INT_H +#ifndef OSSL_CRYPTO_ENGINE_ENG_LOCAL_H +# define OSSL_CRYPTO_ENGINE_ENG_LOCAL_H # include "internal/cryptlib.h" -# include "internal/engine.h" +# include "crypto/engine.h" # include "internal/thread_once.h" # include "internal/refcount.h" @@ -168,4 +168,4 @@ typedef struct st_engine_pile ENGINE_PILE; DEFINE_LHASH_OF(ENGINE_PILE); -#endif /* HEADER_ENGINE_INT_H */ +#endif /* OSSL_CRYPTO_ENGINE_ENG_LOCAL_H */ diff --git a/deps/openssl/openssl/crypto/engine/eng_openssl.c b/deps/openssl/openssl/crypto/engine/eng_openssl.c index d9b3067a132227..25631fb879eea5 100644 --- a/deps/openssl/openssl/crypto/engine/eng_openssl.c +++ b/deps/openssl/openssl/crypto/engine/eng_openssl.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the OpenSSL license (the "License"). You may not use @@ -11,7 +11,7 @@ #include #include #include "internal/cryptlib.h" -#include "internal/engine.h" +#include "crypto/engine.h" #include #include #include @@ -167,7 +167,7 @@ static int bind_fn(ENGINE *e, const char *id) } IMPLEMENT_DYNAMIC_CHECK_FN() - IMPLEMENT_DYNAMIC_BIND_FN(bind_fn) +IMPLEMENT_DYNAMIC_BIND_FN(bind_fn) #endif /* ENGINE_DYNAMIC_SUPPORT */ #ifdef TEST_ENG_OPENSSL_RC4 /*- diff --git a/deps/openssl/openssl/crypto/engine/eng_pkey.c b/deps/openssl/openssl/crypto/engine/eng_pkey.c index 305a648feb6ad5..e813bc6db0e6e8 100644 --- a/deps/openssl/openssl/crypto/engine/eng_pkey.c +++ b/deps/openssl/openssl/crypto/engine/eng_pkey.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" /* Basic get/set stuff */ diff --git a/deps/openssl/openssl/crypto/engine/eng_rdrand.c b/deps/openssl/openssl/crypto/engine/eng_rdrand.c index 261e5debbfd73b..9dceb1671099a1 100644 --- a/deps/openssl/openssl/crypto/engine/eng_rdrand.c +++ b/deps/openssl/openssl/crypto/engine/eng_rdrand.c @@ -11,7 +11,7 @@ #include #include -#include "internal/engine.h" +#include "crypto/engine.h" #include #include #include diff --git a/deps/openssl/openssl/crypto/engine/eng_table.c b/deps/openssl/openssl/crypto/engine/eng_table.c index ac4b02fc12a893..72f393dbe143e3 100644 --- a/deps/openssl/openssl/crypto/engine/eng_table.c +++ b/deps/openssl/openssl/crypto/engine/eng_table.c @@ -10,7 +10,7 @@ #include "internal/cryptlib.h" #include #include -#include "eng_int.h" +#include "eng_local.h" /* The type of the items in the table */ struct st_engine_pile { @@ -26,7 +26,7 @@ struct st_engine_pile { int uptodate; }; -/* The type exposed in eng_int.h */ +/* The type exposed in eng_local.h */ struct st_engine_table { LHASH_OF(ENGINE_PILE) piles; }; /* ENGINE_TABLE */ @@ -76,7 +76,7 @@ static int int_table_check(ENGINE_TABLE **t, int create) } /* - * Privately exposed (via eng_int.h) functions for adding and/or removing + * Privately exposed (via eng_local.h) functions for adding and/or removing * ENGINEs from the implementation table */ int engine_table_register(ENGINE_TABLE **table, ENGINE_CLEANUP_CB *cleanup, diff --git a/deps/openssl/openssl/crypto/engine/tb_asnmth.c b/deps/openssl/openssl/crypto/engine/tb_asnmth.c index 4bcc76136a1098..72850b9398e360 100644 --- a/deps/openssl/openssl/crypto/engine/tb_asnmth.c +++ b/deps/openssl/openssl/crypto/engine/tb_asnmth.c @@ -8,9 +8,9 @@ */ #include "e_os.h" -#include "eng_int.h" +#include "eng_local.h" #include -#include "internal/asn1_int.h" +#include "crypto/asn1.h" /* * If this symbol is defined then ENGINE_get_pkey_asn1_meth_engine(), the @@ -147,7 +147,8 @@ const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str(ENGINE *e, nidcount = e->pkey_asn1_meths(e, NULL, &nids, 0); for (i = 0; i < nidcount; i++) { e->pkey_asn1_meths(e, &ameth, NULL, nids[i]); - if (((int)strlen(ameth->pem_str) == len) + if (ameth != NULL + && ((int)strlen(ameth->pem_str) == len) && strncasecmp(ameth->pem_str, str, len) == 0) return ameth; } diff --git a/deps/openssl/openssl/crypto/engine/tb_cipher.c b/deps/openssl/openssl/crypto/engine/tb_cipher.c index faa967c475f5df..236da346cd4c62 100644 --- a/deps/openssl/openssl/crypto/engine/tb_cipher.c +++ b/deps/openssl/openssl/crypto/engine/tb_cipher.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" static ENGINE_TABLE *cipher_table = NULL; diff --git a/deps/openssl/openssl/crypto/engine/tb_dh.c b/deps/openssl/openssl/crypto/engine/tb_dh.c index 785119f65af9de..a13a13950083f5 100644 --- a/deps/openssl/openssl/crypto/engine/tb_dh.c +++ b/deps/openssl/openssl/crypto/engine/tb_dh.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" static ENGINE_TABLE *dh_table = NULL; static const int dummy_nid = 1; diff --git a/deps/openssl/openssl/crypto/engine/tb_digest.c b/deps/openssl/openssl/crypto/engine/tb_digest.c index d644b1b0a825b2..a6e6337a01d915 100644 --- a/deps/openssl/openssl/crypto/engine/tb_digest.c +++ b/deps/openssl/openssl/crypto/engine/tb_digest.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" static ENGINE_TABLE *digest_table = NULL; diff --git a/deps/openssl/openssl/crypto/engine/tb_dsa.c b/deps/openssl/openssl/crypto/engine/tb_dsa.c index 65b6ea8d3a0ef1..2c77f0f3e151b9 100644 --- a/deps/openssl/openssl/crypto/engine/tb_dsa.c +++ b/deps/openssl/openssl/crypto/engine/tb_dsa.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" static ENGINE_TABLE *dsa_table = NULL; static const int dummy_nid = 1; diff --git a/deps/openssl/openssl/crypto/engine/tb_eckey.c b/deps/openssl/openssl/crypto/engine/tb_eckey.c index 1e50736854107d..907d55ae8c44e2 100644 --- a/deps/openssl/openssl/crypto/engine/tb_eckey.c +++ b/deps/openssl/openssl/crypto/engine/tb_eckey.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" static ENGINE_TABLE *dh_table = NULL; static const int dummy_nid = 1; diff --git a/deps/openssl/openssl/crypto/engine/tb_pkmeth.c b/deps/openssl/openssl/crypto/engine/tb_pkmeth.c index 03cd1e69dd6dec..c5c001c5cbecd5 100644 --- a/deps/openssl/openssl/crypto/engine/tb_pkmeth.c +++ b/deps/openssl/openssl/crypto/engine/tb_pkmeth.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" #include static ENGINE_TABLE *pkey_meth_table = NULL; diff --git a/deps/openssl/openssl/crypto/engine/tb_rand.c b/deps/openssl/openssl/crypto/engine/tb_rand.c index 98a98073cdd0d8..92f61c5a884019 100644 --- a/deps/openssl/openssl/crypto/engine/tb_rand.c +++ b/deps/openssl/openssl/crypto/engine/tb_rand.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" static ENGINE_TABLE *rand_table = NULL; static const int dummy_nid = 1; diff --git a/deps/openssl/openssl/crypto/engine/tb_rsa.c b/deps/openssl/openssl/crypto/engine/tb_rsa.c index d8d2e34f848bec..43e865e6d6d14e 100644 --- a/deps/openssl/openssl/crypto/engine/tb_rsa.c +++ b/deps/openssl/openssl/crypto/engine/tb_rsa.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "eng_int.h" +#include "eng_local.h" static ENGINE_TABLE *rsa_table = NULL; static const int dummy_nid = 1; diff --git a/deps/openssl/openssl/crypto/err/err.c b/deps/openssl/openssl/crypto/err/err.c index 3a58ccb9588296..1372d52f80ee4b 100644 --- a/deps/openssl/openssl/crypto/err/err.c +++ b/deps/openssl/openssl/crypto/err/err.c @@ -10,17 +10,17 @@ #include #include #include -#include "internal/cryptlib_int.h" +#include "crypto/cryptlib.h" #include "internal/err.h" -#include "internal/err_int.h" +#include "crypto/err.h" #include #include #include #include #include #include "internal/thread_once.h" -#include "internal/ctype.h" -#include "internal/constant_time_locl.h" +#include "crypto/ctype.h" +#include "internal/constant_time.h" #include "e_os.h" static int err_load_strings(const ERR_STRING_DATA *str); diff --git a/deps/openssl/openssl/crypto/err/err_all.c b/deps/openssl/openssl/crypto/err/err_all.c index d9ec04b60676c3..7c0a5f0b9c5fb2 100644 --- a/deps/openssl/openssl/crypto/err/err_all.c +++ b/deps/openssl/openssl/crypto/err/err_all.c @@ -8,7 +8,7 @@ */ #include -#include "internal/err_int.h" +#include "crypto/err.h" #include #include #include diff --git a/deps/openssl/openssl/crypto/err/openssl.ec b/deps/openssl/openssl/crypto/err/openssl.ec index 3e092eae0a2b87..5976d1501f562f 100644 --- a/deps/openssl/openssl/crypto/err/openssl.ec +++ b/deps/openssl/openssl/crypto/err/openssl.ec @@ -32,15 +32,15 @@ L CMS include/openssl/cms.h crypto/cms/cms_err.c L CT include/openssl/ct.h crypto/ct/ct_err.c L ASYNC include/openssl/async.h crypto/async/async_err.c L KDF include/openssl/kdf.h crypto/kdf/kdf_err.c -L SM2 crypto/include/internal/sm2.h crypto/sm2/sm2_err.c +L SM2 include/crypto/sm2.h crypto/sm2/sm2_err.c L OSSL_STORE include/openssl/store.h crypto/store/store_err.c # additional header files to be scanned for function names L NONE include/openssl/x509_vfy.h NONE -L NONE crypto/ec/ec_lcl.h NONE -L NONE crypto/cms/cms_lcl.h NONE -L NONE crypto/ct/ct_locl.h NONE -L NONE ssl/ssl_locl.h NONE +L NONE crypto/ec/ec_local.h NONE +L NONE crypto/cms/cms_local.h NONE +L NONE crypto/ct/ct_local.h NONE +L NONE ssl/ssl_local.h NONE # SSL/TLS alerts R SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010 diff --git a/deps/openssl/openssl/crypto/err/openssl.txt b/deps/openssl/openssl/crypto/err/openssl.txt index a433b032407889..f5324c6819d8e2 100644 --- a/deps/openssl/openssl/crypto/err/openssl.txt +++ b/deps/openssl/openssl/crypto/err/openssl.txt @@ -1,4 +1,4 @@ -# Copyright 1999-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1999-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1002,6 +1002,7 @@ PKCS7_F_PKCS7_SIGNER_INFO_SIGN:139:PKCS7_SIGNER_INFO_sign PKCS7_F_PKCS7_SIGN_ADD_SIGNER:137:PKCS7_sign_add_signer PKCS7_F_PKCS7_SIMPLE_SMIMECAP:119:PKCS7_simple_smimecap PKCS7_F_PKCS7_VERIFY:117:PKCS7_verify +RAND_F_DATA_COLLECT_METHOD:127:data_collect_method RAND_F_DRBG_BYTES:101:drbg_bytes RAND_F_DRBG_GET_ENTROPY:105:drbg_get_entropy RAND_F_DRBG_SETUP:117:drbg_setup @@ -1027,6 +1028,7 @@ RAND_F_RAND_POOL_ATTACH:124:rand_pool_attach RAND_F_RAND_POOL_BYTES_NEEDED:115:rand_pool_bytes_needed RAND_F_RAND_POOL_GROW:125:rand_pool_grow RAND_F_RAND_POOL_NEW:116:rand_pool_new +RAND_F_RAND_PSEUDO_BYTES:126:RAND_pseudo_bytes RAND_F_RAND_WRITE_FILE:112:RAND_write_file RSA_F_CHECK_PADDING_MD:140:check_padding_md RSA_F_ENCODE_PKCS1:146:encode_pkcs1 @@ -1178,6 +1180,7 @@ SSL_F_OSSL_STATEM_SERVER_CONSTRUCT_MESSAGE:431:* SSL_F_OSSL_STATEM_SERVER_POST_PROCESS_MESSAGE:601:\ ossl_statem_server_post_process_message SSL_F_OSSL_STATEM_SERVER_POST_WORK:602:ossl_statem_server_post_work +SSL_F_OSSL_STATEM_SERVER_PRE_WORK:640: SSL_F_OSSL_STATEM_SERVER_PROCESS_MESSAGE:603:ossl_statem_server_process_message SSL_F_OSSL_STATEM_SERVER_READ_TRANSITION:418:ossl_statem_server_read_transition SSL_F_OSSL_STATEM_SERVER_WRITE_TRANSITION:604:\ @@ -2254,6 +2257,7 @@ EVP_R_INITIALIZATION_ERROR:134:initialization error EVP_R_INPUT_NOT_INITIALIZED:111:input not initialized EVP_R_INVALID_DIGEST:152:invalid digest EVP_R_INVALID_FIPS_MODE:168:invalid fips mode +EVP_R_INVALID_IV_LENGTH:194:invalid iv length EVP_R_INVALID_KEY:163:invalid key EVP_R_INVALID_KEY_LENGTH:130:invalid key length EVP_R_INVALID_OPERATION:148:invalid operation @@ -2848,6 +2852,7 @@ SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES:242:unable to load ssl3 md5 routines SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES:243:unable to load ssl3 sha1 routines SSL_R_UNEXPECTED_CCS_MESSAGE:262:unexpected ccs message SSL_R_UNEXPECTED_END_OF_EARLY_DATA:178:unexpected end of early data +SSL_R_UNEXPECTED_EOF_WHILE_READING:294:unexpected eof while reading SSL_R_UNEXPECTED_MESSAGE:244:unexpected message SSL_R_UNEXPECTED_RECORD:245:unexpected record SSL_R_UNINITIALIZED:276:uninitialized diff --git a/deps/openssl/openssl/crypto/evp/bio_md.c b/deps/openssl/openssl/crypto/evp/bio_md.c index 288dee01b2203c..fed4cf1eb1ff5d 100644 --- a/deps/openssl/openssl/crypto/evp/bio_md.c +++ b/deps/openssl/openssl/crypto/evp/bio_md.c @@ -12,8 +12,8 @@ #include "internal/cryptlib.h" #include #include -#include "internal/evp_int.h" -#include "evp_locl.h" +#include "crypto/evp.h" +#include "evp_local.h" #include "internal/bio.h" /* diff --git a/deps/openssl/openssl/crypto/evp/bio_ok.c b/deps/openssl/openssl/crypto/evp/bio_ok.c index 300db6cd320d1a..a77cfb1552dea4 100644 --- a/deps/openssl/openssl/crypto/evp/bio_ok.c +++ b/deps/openssl/openssl/crypto/evp/bio_ok.c @@ -76,7 +76,7 @@ #include "internal/bio.h" #include #include -#include "internal/evp_int.h" +#include "crypto/evp.h" static int ok_write(BIO *h, const char *buf, int num); static int ok_read(BIO *h, char *buf, int size); diff --git a/deps/openssl/openssl/crypto/evp/c_allc.c b/deps/openssl/openssl/crypto/evp/c_allc.c index 086b3c4d51b400..22fdcc409c165c 100644 --- a/deps/openssl/openssl/crypto/evp/c_allc.c +++ b/deps/openssl/openssl/crypto/evp/c_allc.c @@ -10,7 +10,7 @@ #include #include "internal/cryptlib.h" #include -#include "internal/evp_int.h" +#include "crypto/evp.h" #include #include diff --git a/deps/openssl/openssl/crypto/evp/c_alld.c b/deps/openssl/openssl/crypto/evp/c_alld.c index 1267531a7d23b8..16ac1b67f465b3 100644 --- a/deps/openssl/openssl/crypto/evp/c_alld.c +++ b/deps/openssl/openssl/crypto/evp/c_alld.c @@ -10,7 +10,7 @@ #include #include "internal/cryptlib.h" #include -#include "internal/evp_int.h" +#include "crypto/evp.h" #include #include diff --git a/deps/openssl/openssl/crypto/evp/cmeth_lib.c b/deps/openssl/openssl/crypto/evp/cmeth_lib.c index e2295c4dc589b4..272e48249e421e 100644 --- a/deps/openssl/openssl/crypto/evp/cmeth_lib.c +++ b/deps/openssl/openssl/crypto/evp/cmeth_lib.c @@ -10,8 +10,8 @@ #include #include -#include "internal/evp_int.h" -#include "evp_locl.h" +#include "crypto/evp.h" +#include "evp_local.h" EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len) { diff --git a/deps/openssl/openssl/crypto/evp/digest.c b/deps/openssl/openssl/crypto/evp/digest.c index 6693f270b69436..d1bfa274ca8125 100644 --- a/deps/openssl/openssl/crypto/evp/digest.c +++ b/deps/openssl/openssl/crypto/evp/digest.c @@ -12,8 +12,8 @@ #include #include #include -#include "internal/evp_int.h" -#include "evp_locl.h" +#include "crypto/evp.h" +#include "evp_local.h" /* This call frees resources associated with the context */ int EVP_MD_CTX_reset(EVP_MD_CTX *ctx) diff --git a/deps/openssl/openssl/crypto/evp/e_aes.c b/deps/openssl/openssl/crypto/evp/e_aes.c index 35b1e711170d1a..4ebceeb95bb548 100644 --- a/deps/openssl/openssl/crypto/evp/e_aes.c +++ b/deps/openssl/openssl/crypto/evp/e_aes.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -14,10 +14,10 @@ #include #include #include -#include "internal/evp_int.h" -#include "modes_lcl.h" +#include "crypto/evp.h" +#include "modes_local.h" #include -#include "evp_locl.h" +#include "evp_local.h" typedef struct { union { @@ -176,7 +176,7 @@ static void ctr64_inc(unsigned char *counter) # define HWAES_xts_decrypt aes_p8_xts_decrypt #endif -#if !defined(OPENSSL_NO_ASM) && ( \ +#if defined(OPENSSL_CPUID_OBJ) && ( \ ((defined(__i386) || defined(__i386__) || \ defined(_M_IX86)) && defined(OPENSSL_IA32_SSE2))|| \ defined(__x86_64) || defined(__x86_64__) || \ @@ -1127,7 +1127,7 @@ typedef struct { } icv; unsigned char k[32]; } kmac_param; - /* KMAC-AES paramater block - end */ + /* KMAC-AES parameter block - end */ union { unsigned long long g[2]; @@ -1414,7 +1414,7 @@ static int s390x_aes_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, (OPENSSL_s390xcap_P.kma[0] & \ S390X_CAPBIT(S390X_AES_256))) -/* iv + padding length for iv lenghts != 12 */ +/* iv + padding length for iv lengths != 12 */ # define S390X_gcm_ivpadlen(i) ((((i) + 15) >> 4 << 4) + 16) /*- diff --git a/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c b/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c index 09d24dc3d02a02..27c36b46e7a4af 100644 --- a/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c +++ b/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c @@ -17,9 +17,9 @@ #include #include #include -#include "modes_lcl.h" -#include "internal/evp_int.h" -#include "internal/constant_time_locl.h" +#include "modes_local.h" +#include "crypto/evp.h" +#include "internal/constant_time.h" typedef struct { AES_KEY ks; @@ -33,7 +33,7 @@ typedef struct { #define NO_PAYLOAD_LENGTH ((size_t)-1) -#if defined(AES_ASM) && ( \ +#if defined(AESNI_ASM) && ( \ defined(__x86_64) || defined(__x86_64__) || \ defined(_M_AMD64) || defined(_M_X64) ) diff --git a/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c b/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c index caac0c9d3da236..cc622b6faa8c3b 100644 --- a/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c +++ b/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c @@ -18,9 +18,9 @@ #include #include #include -#include "modes_lcl.h" -#include "internal/constant_time_locl.h" -#include "internal/evp_int.h" +#include "modes_local.h" +#include "internal/constant_time.h" +#include "crypto/evp.h" typedef struct { AES_KEY ks; @@ -34,7 +34,7 @@ typedef struct { # define NO_PAYLOAD_LENGTH ((size_t)-1) -#if defined(AES_ASM) && ( \ +#if defined(AESNI_ASM) && ( \ defined(__x86_64) || defined(__x86_64__) || \ defined(_M_AMD64) || defined(_M_X64) ) @@ -947,4 +947,4 @@ const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void) { return NULL; } -#endif +#endif /* AESNI_ASM */ diff --git a/deps/openssl/openssl/crypto/evp/e_aria.c b/deps/openssl/openssl/crypto/evp/e_aria.c index fcaceb3bcadf8e..1cc6dd91a95a9e 100644 --- a/deps/openssl/openssl/crypto/evp/e_aria.c +++ b/deps/openssl/openssl/crypto/evp/e_aria.c @@ -14,10 +14,10 @@ # include # include # include -# include "internal/aria.h" -# include "internal/evp_int.h" -# include "modes_lcl.h" -# include "evp_locl.h" +# include "crypto/aria.h" +# include "crypto/evp.h" +# include "modes_local.h" +# include "evp_local.h" /* ARIA subkey Structure */ typedef struct { @@ -695,8 +695,6 @@ static int aria_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, if (!cctx->iv_set) return -1; - if (!EVP_CIPHER_CTX_encrypting(ctx) && !cctx->tag_set) - return -1; if (!out) { if (!in) { if (CRYPTO_ccm128_setiv(ccm, EVP_CIPHER_CTX_iv_noconst(ctx), @@ -711,6 +709,11 @@ static int aria_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, CRYPTO_ccm128_aad(ccm, in, len); return len; } + + /* The tag must be set before actually decrypting data */ + if (!EVP_CIPHER_CTX_encrypting(ctx) && !cctx->tag_set) + return -1; + /* If not set length yet do it */ if (!cctx->len_set) { if (CRYPTO_ccm128_setiv(ccm, EVP_CIPHER_CTX_iv_noconst(ctx), diff --git a/deps/openssl/openssl/crypto/evp/e_bf.c b/deps/openssl/openssl/crypto/evp/e_bf.c index dc386905c5cb27..9a065582c6c81f 100644 --- a/deps/openssl/openssl/crypto/evp/e_bf.c +++ b/deps/openssl/openssl/crypto/evp/e_bf.c @@ -11,7 +11,7 @@ #include "internal/cryptlib.h" #ifndef OPENSSL_NO_BF # include -# include "internal/evp_int.h" +# include "crypto/evp.h" # include # include diff --git a/deps/openssl/openssl/crypto/evp/e_camellia.c b/deps/openssl/openssl/crypto/evp/e_camellia.c index 2df4a6e3e011cf..502d6936cc1307 100644 --- a/deps/openssl/openssl/crypto/evp/e_camellia.c +++ b/deps/openssl/openssl/crypto/evp/e_camellia.c @@ -17,8 +17,8 @@ NON_EMPTY_TRANSLATION_UNIT # include # include # include -# include "internal/evp_int.h" -# include "modes_lcl.h" +# include "crypto/evp.h" +# include "modes_local.h" static int camellia_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc); diff --git a/deps/openssl/openssl/crypto/evp/e_cast.c b/deps/openssl/openssl/crypto/evp/e_cast.c index 259d44059b2015..df9f445bd0a2f8 100644 --- a/deps/openssl/openssl/crypto/evp/e_cast.c +++ b/deps/openssl/openssl/crypto/evp/e_cast.c @@ -13,7 +13,7 @@ #ifndef OPENSSL_NO_CAST # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" # include static int cast_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, diff --git a/deps/openssl/openssl/crypto/evp/e_chacha20_poly1305.c b/deps/openssl/openssl/crypto/evp/e_chacha20_poly1305.c index 435a38d3658d34..bdc406bb69dc27 100644 --- a/deps/openssl/openssl/crypto/evp/e_chacha20_poly1305.c +++ b/deps/openssl/openssl/crypto/evp/e_chacha20_poly1305.c @@ -14,9 +14,9 @@ # include # include -# include "evp_locl.h" -# include "internal/evp_int.h" -# include "internal/chacha.h" +# include "evp_local.h" +# include "crypto/evp.h" +# include "crypto/chacha.h" typedef struct { union { @@ -146,7 +146,7 @@ const EVP_CIPHER *EVP_chacha20(void) } # ifndef OPENSSL_NO_POLY1305 -# include "internal/poly1305.h" +# include "crypto/poly1305.h" typedef struct { EVP_CHACHA_KEY key; diff --git a/deps/openssl/openssl/crypto/evp/e_des.c b/deps/openssl/openssl/crypto/evp/e_des.c index c13fb3e25a9b24..6d6e919af69626 100644 --- a/deps/openssl/openssl/crypto/evp/e_des.c +++ b/deps/openssl/openssl/crypto/evp/e_des.c @@ -12,7 +12,7 @@ #ifndef OPENSSL_NO_DES # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" # include # include diff --git a/deps/openssl/openssl/crypto/evp/e_des3.c b/deps/openssl/openssl/crypto/evp/e_des3.c index 6b492ce4702390..2a5597fee527ec 100644 --- a/deps/openssl/openssl/crypto/evp/e_des3.c +++ b/deps/openssl/openssl/crypto/evp/e_des3.c @@ -12,10 +12,10 @@ #ifndef OPENSSL_NO_DES # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" # include # include -# include "evp_locl.h" +# include "evp_local.h" typedef struct { union { diff --git a/deps/openssl/openssl/crypto/evp/e_idea.c b/deps/openssl/openssl/crypto/evp/e_idea.c index 93f6a4131fa889..1068378ddc7510 100644 --- a/deps/openssl/openssl/crypto/evp/e_idea.c +++ b/deps/openssl/openssl/crypto/evp/e_idea.c @@ -13,7 +13,7 @@ #ifndef OPENSSL_NO_IDEA # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" # include /* Can't use IMPLEMENT_BLOCK_CIPHER because IDEA_ecb_encrypt is different */ diff --git a/deps/openssl/openssl/crypto/evp/e_null.c b/deps/openssl/openssl/crypto/evp/e_null.c index 18a8468216a01e..0725454a3a4ab5 100644 --- a/deps/openssl/openssl/crypto/evp/e_null.c +++ b/deps/openssl/openssl/crypto/evp/e_null.c @@ -11,7 +11,7 @@ #include "internal/cryptlib.h" #include #include -#include "internal/evp_int.h" +#include "crypto/evp.h" static int null_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc); diff --git a/deps/openssl/openssl/crypto/evp/e_rc2.c b/deps/openssl/openssl/crypto/evp/e_rc2.c index aa0d1401868782..4d8a0ee4b01512 100644 --- a/deps/openssl/openssl/crypto/evp/e_rc2.c +++ b/deps/openssl/openssl/crypto/evp/e_rc2.c @@ -14,7 +14,7 @@ # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" # include static int rc2_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, diff --git a/deps/openssl/openssl/crypto/evp/e_rc4.c b/deps/openssl/openssl/crypto/evp/e_rc4.c index d16abdd0d2d75d..c24bc8fe5982ba 100644 --- a/deps/openssl/openssl/crypto/evp/e_rc4.c +++ b/deps/openssl/openssl/crypto/evp/e_rc4.c @@ -16,7 +16,7 @@ # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" typedef struct { RC4_KEY ks; /* working key */ diff --git a/deps/openssl/openssl/crypto/evp/e_rc4_hmac_md5.c b/deps/openssl/openssl/crypto/evp/e_rc4_hmac_md5.c index b1e8ccd6ddca8f..201ce443435c7c 100644 --- a/deps/openssl/openssl/crypto/evp/e_rc4_hmac_md5.c +++ b/deps/openssl/openssl/crypto/evp/e_rc4_hmac_md5.c @@ -19,7 +19,7 @@ # include # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" typedef struct { RC4_KEY ks; diff --git a/deps/openssl/openssl/crypto/evp/e_rc5.c b/deps/openssl/openssl/crypto/evp/e_rc5.c index dc5589b6881381..c86e87b65ab4ad 100644 --- a/deps/openssl/openssl/crypto/evp/e_rc5.c +++ b/deps/openssl/openssl/crypto/evp/e_rc5.c @@ -13,9 +13,9 @@ #ifndef OPENSSL_NO_RC5 # include -# include "internal/evp_int.h" +# include "crypto/evp.h" # include -# include "evp_locl.h" +# include "evp_local.h" # include static int r_32_12_16_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, diff --git a/deps/openssl/openssl/crypto/evp/e_seed.c b/deps/openssl/openssl/crypto/evp/e_seed.c index 40aec5fc6ac09b..aeb2363beadea1 100644 --- a/deps/openssl/openssl/crypto/evp/e_seed.c +++ b/deps/openssl/openssl/crypto/evp/e_seed.c @@ -16,7 +16,7 @@ NON_EMPTY_TRANSLATION_UNIT # include # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" static int seed_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc); diff --git a/deps/openssl/openssl/crypto/evp/e_sm4.c b/deps/openssl/openssl/crypto/evp/e_sm4.c index 79deb6563646c3..fce32794fc5140 100644 --- a/deps/openssl/openssl/crypto/evp/e_sm4.c +++ b/deps/openssl/openssl/crypto/evp/e_sm4.c @@ -13,8 +13,8 @@ #ifndef OPENSSL_NO_SM4 # include # include -# include "internal/sm4.h" -# include "internal/evp_int.h" +# include "crypto/sm4.h" +# include "crypto/evp.h" typedef struct { SM4_KEY ks; diff --git a/deps/openssl/openssl/crypto/evp/e_xcbc_d.c b/deps/openssl/openssl/crypto/evp/e_xcbc_d.c index 57ce813da824fd..b730775422645d 100644 --- a/deps/openssl/openssl/crypto/evp/e_xcbc_d.c +++ b/deps/openssl/openssl/crypto/evp/e_xcbc_d.c @@ -14,7 +14,7 @@ # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" # include static int desx_cbc_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, diff --git a/deps/openssl/openssl/crypto/evp/encode.c b/deps/openssl/openssl/crypto/evp/encode.c index da32d4fd19734e..9307ff04642497 100644 --- a/deps/openssl/openssl/crypto/evp/encode.c +++ b/deps/openssl/openssl/crypto/evp/encode.c @@ -11,8 +11,8 @@ #include #include "internal/cryptlib.h" #include -#include "evp_locl.h" -#include "internal/evp_int.h" +#include "evp_local.h" +#include "crypto/evp.h" static unsigned char conv_ascii2bin(unsigned char a, const unsigned char *table); diff --git a/deps/openssl/openssl/crypto/evp/evp_enc.c b/deps/openssl/openssl/crypto/evp/evp_enc.c index 05dd791b6cb077..b9b6490fe069c7 100644 --- a/deps/openssl/openssl/crypto/evp/evp_enc.c +++ b/deps/openssl/openssl/crypto/evp/evp_enc.c @@ -15,8 +15,8 @@ #include #include #include -#include "internal/evp_int.h" -#include "evp_locl.h" +#include "crypto/evp.h" +#include "evp_local.h" int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c) { @@ -305,6 +305,17 @@ static int evp_EncryptDecryptUpdate(EVP_CIPHER_CTX *ctx, bl = ctx->cipher->block_size; + /* + * CCM mode needs to know about the case where inl == 0 && in == NULL - it + * means the plaintext/ciphertext length is 0 + */ + if (inl < 0 + || (inl == 0 + && EVP_CIPHER_mode(ctx->cipher) != EVP_CIPH_CCM_MODE)) { + *outl = 0; + return inl == 0; + } + if (ctx->cipher->flags & EVP_CIPH_FLAG_CUSTOM_CIPHER) { /* If block size > 1 then the cipher will have to do this check */ if (bl == 1 && is_partially_overlapping(out, in, cmpl)) { @@ -320,10 +331,6 @@ static int evp_EncryptDecryptUpdate(EVP_CIPHER_CTX *ctx, return 1; } - if (inl <= 0) { - *outl = 0; - return inl == 0; - } if (is_partially_overlapping(out + ctx->buf_len, in, cmpl)) { EVPerr(EVP_F_EVP_ENCRYPTDECRYPTUPDATE, EVP_R_PARTIALLY_OVERLAPPING); return 0; @@ -457,6 +464,17 @@ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, if (EVP_CIPHER_CTX_test_flags(ctx, EVP_CIPH_FLAG_LENGTH_BITS)) cmpl = (cmpl + 7) / 8; + /* + * CCM mode needs to know about the case where inl == 0 - it means the + * plaintext/ciphertext length is 0 + */ + if (inl < 0 + || (inl == 0 + && EVP_CIPHER_mode(ctx->cipher) != EVP_CIPH_CCM_MODE)) { + *outl = 0; + return inl == 0; + } + if (ctx->cipher->flags & EVP_CIPH_FLAG_CUSTOM_CIPHER) { if (b == 1 && is_partially_overlapping(out, in, cmpl)) { EVPerr(EVP_F_EVP_DECRYPTUPDATE, EVP_R_PARTIALLY_OVERLAPPING); @@ -472,11 +490,6 @@ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, return 1; } - if (inl <= 0) { - *outl = 0; - return inl == 0; - } - if (ctx->flags & EVP_CIPH_NO_PADDING) return evp_EncryptDecryptUpdate(ctx, out, outl, in, inl); diff --git a/deps/openssl/openssl/crypto/evp/evp_err.c b/deps/openssl/openssl/crypto/evp/evp_err.c index 84bd3c2dab27af..05481d827fb42e 100644 --- a/deps/openssl/openssl/crypto/evp/evp_err.c +++ b/deps/openssl/openssl/crypto/evp/evp_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -213,6 +213,7 @@ static const ERR_STRING_DATA EVP_str_reasons[] = { "input not initialized"}, {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_INVALID_DIGEST), "invalid digest"}, {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_INVALID_FIPS_MODE), "invalid fips mode"}, + {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_INVALID_IV_LENGTH), "invalid iv length"}, {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_INVALID_KEY), "invalid key"}, {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_INVALID_KEY_LENGTH), "invalid key length"}, {ERR_PACK(ERR_LIB_EVP, 0, EVP_R_INVALID_OPERATION), "invalid operation"}, diff --git a/deps/openssl/openssl/crypto/evp/evp_lib.c b/deps/openssl/openssl/crypto/evp/evp_lib.c index 4935c2a94a1a67..45cde0da8bfc90 100644 --- a/deps/openssl/openssl/crypto/evp/evp_lib.c +++ b/deps/openssl/openssl/crypto/evp/evp_lib.c @@ -11,8 +11,8 @@ #include "internal/cryptlib.h" #include #include -#include "internal/evp_int.h" -#include "evp_locl.h" +#include "crypto/evp.h" +#include "evp_local.h" int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type) { diff --git a/deps/openssl/openssl/crypto/evp/evp_locl.h b/deps/openssl/openssl/crypto/evp/evp_local.h similarity index 100% rename from deps/openssl/openssl/crypto/evp/evp_locl.h rename to deps/openssl/openssl/crypto/evp/evp_local.h diff --git a/deps/openssl/openssl/crypto/evp/evp_pbe.c b/deps/openssl/openssl/crypto/evp/evp_pbe.c index 5a88817b4aa91c..967203f373c9bd 100644 --- a/deps/openssl/openssl/crypto/evp/evp_pbe.c +++ b/deps/openssl/openssl/crypto/evp/evp_pbe.c @@ -12,7 +12,7 @@ #include #include #include -#include "evp_locl.h" +#include "evp_local.h" /* Password based encryption (PBE) functions */ diff --git a/deps/openssl/openssl/crypto/evp/evp_pkey.c b/deps/openssl/openssl/crypto/evp/evp_pkey.c index e61a8761a92d29..586b74605cbd90 100644 --- a/deps/openssl/openssl/crypto/evp/evp_pkey.c +++ b/deps/openssl/openssl/crypto/evp/evp_pkey.c @@ -12,9 +12,9 @@ #include "internal/cryptlib.h" #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" -#include "internal/x509_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" +#include "crypto/x509.h" /* Extract a private key from a PKCS8 structure */ diff --git a/deps/openssl/openssl/crypto/evp/m_md2.c b/deps/openssl/openssl/crypto/evp/m_md2.c index c4e28ae17af231..1aec5185239dc5 100644 --- a/deps/openssl/openssl/crypto/evp/m_md2.c +++ b/deps/openssl/openssl/crypto/evp/m_md2.c @@ -18,7 +18,7 @@ # include # include -#include "internal/evp_int.h" +#include "crypto/evp.h" static int init(EVP_MD_CTX *ctx) { diff --git a/deps/openssl/openssl/crypto/evp/m_md4.c b/deps/openssl/openssl/crypto/evp/m_md4.c index 0efc586dbaff0b..45d2cafee101be 100644 --- a/deps/openssl/openssl/crypto/evp/m_md4.c +++ b/deps/openssl/openssl/crypto/evp/m_md4.c @@ -17,7 +17,7 @@ # include # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" static int init(EVP_MD_CTX *ctx) { diff --git a/deps/openssl/openssl/crypto/evp/m_md5.c b/deps/openssl/openssl/crypto/evp/m_md5.c index 3d96ae93b6c4a5..d26b5a4d31dce9 100644 --- a/deps/openssl/openssl/crypto/evp/m_md5.c +++ b/deps/openssl/openssl/crypto/evp/m_md5.c @@ -17,7 +17,7 @@ # include # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" static int init(EVP_MD_CTX *ctx) { diff --git a/deps/openssl/openssl/crypto/evp/m_md5_sha1.c b/deps/openssl/openssl/crypto/evp/m_md5_sha1.c index 2d98886ba0e7cd..eeec2b13e9ed05 100644 --- a/deps/openssl/openssl/crypto/evp/m_md5_sha1.c +++ b/deps/openssl/openssl/crypto/evp/m_md5_sha1.c @@ -15,7 +15,7 @@ # include # include # include "internal/cryptlib.h" -# include "internal/evp_int.h" +# include "crypto/evp.h" # include struct md5_sha1_ctx { diff --git a/deps/openssl/openssl/crypto/evp/m_mdc2.c b/deps/openssl/openssl/crypto/evp/m_mdc2.c index 1051a9070f973d..fffa751efd1851 100644 --- a/deps/openssl/openssl/crypto/evp/m_mdc2.c +++ b/deps/openssl/openssl/crypto/evp/m_mdc2.c @@ -17,7 +17,7 @@ # include # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" static int init(EVP_MD_CTX *ctx) { diff --git a/deps/openssl/openssl/crypto/evp/m_null.c b/deps/openssl/openssl/crypto/evp/m_null.c index 5dce1d510e28c9..0847139df17b44 100644 --- a/deps/openssl/openssl/crypto/evp/m_null.c +++ b/deps/openssl/openssl/crypto/evp/m_null.c @@ -12,7 +12,7 @@ #include #include #include -#include "internal/evp_int.h" +#include "crypto/evp.h" static int init(EVP_MD_CTX *ctx) { diff --git a/deps/openssl/openssl/crypto/evp/m_ripemd.c b/deps/openssl/openssl/crypto/evp/m_ripemd.c index 7ab320843cee97..d93ad24fe58a7a 100644 --- a/deps/openssl/openssl/crypto/evp/m_ripemd.c +++ b/deps/openssl/openssl/crypto/evp/m_ripemd.c @@ -17,7 +17,7 @@ # include # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" static int init(EVP_MD_CTX *ctx) { diff --git a/deps/openssl/openssl/crypto/evp/m_sha1.c b/deps/openssl/openssl/crypto/evp/m_sha1.c index ac52417855b3a7..22b9bbc7d861ca 100644 --- a/deps/openssl/openssl/crypto/evp/m_sha1.c +++ b/deps/openssl/openssl/crypto/evp/m_sha1.c @@ -14,8 +14,8 @@ #include #include #include -#include "internal/evp_int.h" -#include "internal/sha.h" +#include "crypto/evp.h" +#include "crypto/sha.h" static int init(EVP_MD_CTX *ctx) { diff --git a/deps/openssl/openssl/crypto/evp/m_sha3.c b/deps/openssl/openssl/crypto/evp/m_sha3.c index 01cf57d313d08c..54c592a3cce249 100644 --- a/deps/openssl/openssl/crypto/evp/m_sha3.c +++ b/deps/openssl/openssl/crypto/evp/m_sha3.c @@ -12,8 +12,8 @@ #include #include -#include "internal/evp_int.h" -#include "evp_locl.h" +#include "crypto/evp.h" +#include "evp_local.h" size_t SHA3_absorb(uint64_t A[5][5], const unsigned char *inp, size_t len, size_t r); diff --git a/deps/openssl/openssl/crypto/evp/m_sigver.c b/deps/openssl/openssl/crypto/evp/m_sigver.c index 94e37f02b22eb4..04643acc8837ef 100644 --- a/deps/openssl/openssl/crypto/evp/m_sigver.c +++ b/deps/openssl/openssl/crypto/evp/m_sigver.c @@ -12,8 +12,8 @@ #include #include #include -#include "internal/evp_int.h" -#include "evp_locl.h" +#include "crypto/evp.h" +#include "evp_local.h" static int update(EVP_MD_CTX *ctx, const void *data, size_t datalen) { diff --git a/deps/openssl/openssl/crypto/evp/m_wp.c b/deps/openssl/openssl/crypto/evp/m_wp.c index 27e2b3c5cab8a3..5ce15d2d5e57de 100644 --- a/deps/openssl/openssl/crypto/evp/m_wp.c +++ b/deps/openssl/openssl/crypto/evp/m_wp.c @@ -16,7 +16,7 @@ # include # include # include -# include "internal/evp_int.h" +# include "crypto/evp.h" static int init(EVP_MD_CTX *ctx) { diff --git a/deps/openssl/openssl/crypto/evp/names.c b/deps/openssl/openssl/crypto/evp/names.c index 077c2a6c4b9a38..90c7b73b7a496c 100644 --- a/deps/openssl/openssl/crypto/evp/names.c +++ b/deps/openssl/openssl/crypto/evp/names.c @@ -10,9 +10,9 @@ #include #include "internal/cryptlib.h" #include -#include "internal/objects.h" +#include "crypto/objects.h" #include -#include "internal/evp_int.h" +#include "crypto/evp.h" int EVP_add_cipher(const EVP_CIPHER *c) { diff --git a/deps/openssl/openssl/crypto/evp/p5_crpt.c b/deps/openssl/openssl/crypto/evp/p5_crpt.c index 7e55d0bfb8172d..6c5f45f73368bc 100644 --- a/deps/openssl/openssl/crypto/evp/p5_crpt.c +++ b/deps/openssl/openssl/crypto/evp/p5_crpt.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -28,7 +28,7 @@ int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *cctx, const char *pass, int passlen, EVP_MD_CTX *ctx; unsigned char md_tmp[EVP_MAX_MD_SIZE]; unsigned char key[EVP_MAX_KEY_LENGTH], iv[EVP_MAX_IV_LENGTH]; - int i; + int i, ivl, kl; PBEPARAM *pbe; int saltlen, iter; unsigned char *salt; @@ -48,6 +48,19 @@ int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *cctx, const char *pass, int passlen, return 0; } + ivl = EVP_CIPHER_iv_length(cipher); + if (ivl < 0 || ivl > 16) { + EVPerr(EVP_F_PKCS5_PBE_KEYIVGEN, EVP_R_INVALID_IV_LENGTH); + PBEPARAM_free(pbe); + return 0; + } + kl = EVP_CIPHER_key_length(cipher); + if (kl < 0 || kl > (int)sizeof(md_tmp)) { + EVPerr(EVP_F_PKCS5_PBE_KEYIVGEN, EVP_R_INVALID_KEY_LENGTH); + PBEPARAM_free(pbe); + return 0; + } + if (!pbe->iter) iter = 1; else @@ -73,6 +86,7 @@ int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *cctx, const char *pass, int passlen, if (!EVP_DigestUpdate(ctx, salt, saltlen)) goto err; PBEPARAM_free(pbe); + pbe = NULL; if (!EVP_DigestFinal_ex(ctx, md_tmp, NULL)) goto err; mdsize = EVP_MD_size(md); @@ -86,11 +100,8 @@ int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *cctx, const char *pass, int passlen, if (!EVP_DigestFinal_ex(ctx, md_tmp, NULL)) goto err; } - OPENSSL_assert(EVP_CIPHER_key_length(cipher) <= (int)sizeof(md_tmp)); - memcpy(key, md_tmp, EVP_CIPHER_key_length(cipher)); - OPENSSL_assert(EVP_CIPHER_iv_length(cipher) <= 16); - memcpy(iv, md_tmp + (16 - EVP_CIPHER_iv_length(cipher)), - EVP_CIPHER_iv_length(cipher)); + memcpy(key, md_tmp, kl); + memcpy(iv, md_tmp + (16 - ivl), ivl); if (!EVP_CipherInit_ex(cctx, cipher, NULL, key, iv, en_de)) goto err; OPENSSL_cleanse(md_tmp, EVP_MAX_MD_SIZE); @@ -98,6 +109,7 @@ int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *cctx, const char *pass, int passlen, OPENSSL_cleanse(iv, EVP_MAX_IV_LENGTH); rv = 1; err: + PBEPARAM_free(pbe); EVP_MD_CTX_free(ctx); return rv; } diff --git a/deps/openssl/openssl/crypto/evp/p5_crpt2.c b/deps/openssl/openssl/crypto/evp/p5_crpt2.c index e819eb9b47dcb4..7f625b3d57f3ff 100644 --- a/deps/openssl/openssl/crypto/evp/p5_crpt2.c +++ b/deps/openssl/openssl/crypto/evp/p5_crpt2.c @@ -13,7 +13,7 @@ # include # include # include -# include "evp_locl.h" +# include "evp_local.h" /* set this to print out info about the keygen algorithm */ /* #define OPENSSL_DEBUG_PKCS5V2 */ diff --git a/deps/openssl/openssl/crypto/evp/p_lib.c b/deps/openssl/openssl/crypto/evp/p_lib.c index 3cd7ca8d54ca91..9f1a485a5b832b 100644 --- a/deps/openssl/openssl/crypto/evp/p_lib.c +++ b/deps/openssl/openssl/crypto/evp/p_lib.c @@ -21,8 +21,8 @@ #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" static void EVP_PKEY_free_it(EVP_PKEY *x); @@ -102,7 +102,7 @@ int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from) int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey) { - if (pkey->ameth && pkey->ameth->param_missing) + if (pkey != NULL && pkey->ameth && pkey->ameth->param_missing) return pkey->ameth->param_missing(pkey); return 0; } @@ -465,7 +465,7 @@ int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, RSA *key) RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey) { - if (pkey->type != EVP_PKEY_RSA) { + if (pkey->type != EVP_PKEY_RSA && pkey->type != EVP_PKEY_RSA_PSS) { EVPerr(EVP_F_EVP_PKEY_GET0_RSA, EVP_R_EXPECTING_AN_RSA_KEY); return NULL; } @@ -540,7 +540,9 @@ EC_KEY *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey) int EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *key) { - int ret = EVP_PKEY_assign_DH(pkey, key); + int type = DH_get0_q(key) == NULL ? EVP_PKEY_DH : EVP_PKEY_DHX; + int ret = EVP_PKEY_assign(pkey, type, key); + if (ret) DH_up_ref(key); return ret; diff --git a/deps/openssl/openssl/crypto/evp/p_sign.c b/deps/openssl/openssl/crypto/evp/p_sign.c index 6cb442e4f91df0..0383294a87c883 100644 --- a/deps/openssl/openssl/crypto/evp/p_sign.c +++ b/deps/openssl/openssl/crypto/evp/p_sign.c @@ -12,7 +12,7 @@ #include #include #include -#include "internal/evp_int.h" +#include "crypto/evp.h" int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, unsigned int *siglen, EVP_PKEY *pkey) diff --git a/deps/openssl/openssl/crypto/evp/p_verify.c b/deps/openssl/openssl/crypto/evp/p_verify.c index 6e8c565dfd6b98..e27196f7c2e6a3 100644 --- a/deps/openssl/openssl/crypto/evp/p_verify.c +++ b/deps/openssl/openssl/crypto/evp/p_verify.c @@ -12,7 +12,7 @@ #include #include #include -#include "internal/evp_int.h" +#include "crypto/evp.h" int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf, unsigned int siglen, EVP_PKEY *pkey) diff --git a/deps/openssl/openssl/crypto/evp/pmeth_fn.c b/deps/openssl/openssl/crypto/evp/pmeth_fn.c index de1c07e171144b..02f4093461d892 100644 --- a/deps/openssl/openssl/crypto/evp/pmeth_fn.c +++ b/deps/openssl/openssl/crypto/evp/pmeth_fn.c @@ -12,7 +12,7 @@ #include "internal/cryptlib.h" #include #include -#include "internal/evp_int.h" +#include "crypto/evp.h" #define M_check_autoarg(ctx, arg, arglen, err) \ if (ctx->pmeth->flags & EVP_PKEY_FLAG_AUTOARGLEN) { \ diff --git a/deps/openssl/openssl/crypto/evp/pmeth_gn.c b/deps/openssl/openssl/crypto/evp/pmeth_gn.c index e14965f3338453..3ad6d5c7c7a028 100644 --- a/deps/openssl/openssl/crypto/evp/pmeth_gn.c +++ b/deps/openssl/openssl/crypto/evp/pmeth_gn.c @@ -12,9 +12,9 @@ #include "internal/cryptlib.h" #include #include -#include "internal/bn_int.h" -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "crypto/bn.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx) { diff --git a/deps/openssl/openssl/crypto/evp/pmeth_lib.c b/deps/openssl/openssl/crypto/evp/pmeth_lib.c index 7fbf895e073216..603ccd835219b8 100644 --- a/deps/openssl/openssl/crypto/evp/pmeth_lib.c +++ b/deps/openssl/openssl/crypto/evp/pmeth_lib.c @@ -13,8 +13,8 @@ #include #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" #include "internal/numbers.h" typedef int sk_cmp_fn_type(const char *const *a, const char *const *b); @@ -642,6 +642,21 @@ void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, pmeth->ctrl_str = ctrl_str; } +void EVP_PKEY_meth_set_digestsign(EVP_PKEY_METHOD *pmeth, + int (*digestsign) (EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen, + const unsigned char *tbs, size_t tbslen)) +{ + pmeth->digestsign = digestsign; +} + +void EVP_PKEY_meth_set_digestverify(EVP_PKEY_METHOD *pmeth, + int (*digestverify) (EVP_MD_CTX *ctx, const unsigned char *sig, + size_t siglen, const unsigned char *tbs, + size_t tbslen)) +{ + pmeth->digestverify = digestverify; +} + void EVP_PKEY_meth_set_check(EVP_PKEY_METHOD *pmeth, int (*check) (EVP_PKEY *pkey)) { @@ -834,6 +849,23 @@ void EVP_PKEY_meth_get_ctrl(const EVP_PKEY_METHOD *pmeth, *pctrl_str = pmeth->ctrl_str; } +void EVP_PKEY_meth_get_digestsign(EVP_PKEY_METHOD *pmeth, + int (**digestsign) (EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen, + const unsigned char *tbs, size_t tbslen)) +{ + if (digestsign) + *digestsign = pmeth->digestsign; +} + +void EVP_PKEY_meth_get_digestverify(EVP_PKEY_METHOD *pmeth, + int (**digestverify) (EVP_MD_CTX *ctx, const unsigned char *sig, + size_t siglen, const unsigned char *tbs, + size_t tbslen)) +{ + if (digestverify) + *digestverify = pmeth->digestverify; +} + void EVP_PKEY_meth_get_check(const EVP_PKEY_METHOD *pmeth, int (**pcheck) (EVP_PKEY *pkey)) { diff --git a/deps/openssl/openssl/crypto/ex_data.c b/deps/openssl/openssl/crypto/ex_data.c index 08dc7c40734dec..22f3b70edf14e3 100644 --- a/deps/openssl/openssl/crypto/ex_data.c +++ b/deps/openssl/openssl/crypto/ex_data.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "internal/cryptlib_int.h" +#include "crypto/cryptlib.h" #include "internal/thread_once.h" /* diff --git a/deps/openssl/openssl/crypto/hmac/hm_ameth.c b/deps/openssl/openssl/crypto/hmac/hm_ameth.c index fa204e9068e402..638f61b5863aef 100644 --- a/deps/openssl/openssl/crypto/hmac/hm_ameth.c +++ b/deps/openssl/openssl/crypto/hmac/hm_ameth.c @@ -10,8 +10,8 @@ #include #include "internal/cryptlib.h" #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" /* * HMAC "ASN1" method. This is just here to indicate the maximum HMAC output diff --git a/deps/openssl/openssl/crypto/hmac/hm_pmeth.c b/deps/openssl/openssl/crypto/hmac/hm_pmeth.c index 55dd27d63b5ce5..56f98707f53999 100644 --- a/deps/openssl/openssl/crypto/hmac/hm_pmeth.c +++ b/deps/openssl/openssl/crypto/hmac/hm_pmeth.c @@ -14,7 +14,7 @@ #include #include #include -#include "internal/evp_int.h" +#include "crypto/evp.h" /* HMAC pkey context structure */ diff --git a/deps/openssl/openssl/crypto/hmac/hmac.c b/deps/openssl/openssl/crypto/hmac/hmac.c index 0c0a7133fb5aa9..5e087bf92ff251 100644 --- a/deps/openssl/openssl/crypto/hmac/hmac.c +++ b/deps/openssl/openssl/crypto/hmac/hmac.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -13,21 +13,22 @@ #include "internal/cryptlib.h" #include #include -#include "hmac_lcl.h" +#include "hmac_local.h" int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, const EVP_MD *md, ENGINE *impl) { - int rv = 0; - int i, j, reset = 0; + int rv = 0, reset = 0; + int i, j; unsigned char pad[HMAC_MAX_MD_CBLOCK_SIZE]; + unsigned int keytmp_length; + unsigned char keytmp[HMAC_MAX_MD_CBLOCK_SIZE]; /* If we are changing MD then we must have a key */ if (md != NULL && md != ctx->md && (key == NULL || len < 0)) return 0; if (md != NULL) { - reset = 1; ctx->md = md; } else if (ctx->md) { md = ctx->md; @@ -44,35 +45,34 @@ int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, if (key != NULL) { reset = 1; + j = EVP_MD_block_size(md); - if (!ossl_assert(j <= (int)sizeof(ctx->key))) + if (!ossl_assert(j <= (int)sizeof(keytmp))) return 0; if (j < len) { if (!EVP_DigestInit_ex(ctx->md_ctx, md, impl) || !EVP_DigestUpdate(ctx->md_ctx, key, len) - || !EVP_DigestFinal_ex(ctx->md_ctx, ctx->key, - &ctx->key_length)) + || !EVP_DigestFinal_ex(ctx->md_ctx, keytmp, + &keytmp_length)) return 0; } else { - if (len < 0 || len > (int)sizeof(ctx->key)) + if (len < 0 || len > (int)sizeof(keytmp)) return 0; - memcpy(ctx->key, key, len); - ctx->key_length = len; + memcpy(keytmp, key, len); + keytmp_length = len; } - if (ctx->key_length != HMAC_MAX_MD_CBLOCK_SIZE) - memset(&ctx->key[ctx->key_length], 0, - HMAC_MAX_MD_CBLOCK_SIZE - ctx->key_length); - } + if (keytmp_length != HMAC_MAX_MD_CBLOCK_SIZE) + memset(&keytmp[keytmp_length], 0, + HMAC_MAX_MD_CBLOCK_SIZE - keytmp_length); - if (reset) { for (i = 0; i < HMAC_MAX_MD_CBLOCK_SIZE; i++) - pad[i] = 0x36 ^ ctx->key[i]; + pad[i] = 0x36 ^ keytmp[i]; if (!EVP_DigestInit_ex(ctx->i_ctx, md, impl) || !EVP_DigestUpdate(ctx->i_ctx, pad, EVP_MD_block_size(md))) goto err; for (i = 0; i < HMAC_MAX_MD_CBLOCK_SIZE; i++) - pad[i] = 0x5c ^ ctx->key[i]; + pad[i] = 0x5c ^ keytmp[i]; if (!EVP_DigestInit_ex(ctx->o_ctx, md, impl) || !EVP_DigestUpdate(ctx->o_ctx, pad, EVP_MD_block_size(md))) goto err; @@ -81,8 +81,10 @@ int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, goto err; rv = 1; err: - if (reset) + if (reset) { + OPENSSL_cleanse(keytmp, sizeof(keytmp)); OPENSSL_cleanse(pad, sizeof(pad)); + } return rv; } @@ -149,8 +151,6 @@ static void hmac_ctx_cleanup(HMAC_CTX *ctx) EVP_MD_CTX_reset(ctx->o_ctx); EVP_MD_CTX_reset(ctx->md_ctx); ctx->md = NULL; - ctx->key_length = 0; - OPENSSL_cleanse(ctx->key, sizeof(ctx->key)); } void HMAC_CTX_free(HMAC_CTX *ctx) @@ -201,8 +201,6 @@ int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx) goto err; if (!EVP_MD_CTX_copy_ex(dctx->md_ctx, sctx->md_ctx)) goto err; - memcpy(dctx->key, sctx->key, HMAC_MAX_MD_CBLOCK_SIZE); - dctx->key_length = sctx->key_length; dctx->md = sctx->md; return 1; err: diff --git a/deps/openssl/openssl/crypto/hmac/hmac_lcl.h b/deps/openssl/openssl/crypto/hmac/hmac_local.h similarity index 71% rename from deps/openssl/openssl/crypto/hmac/hmac_lcl.h rename to deps/openssl/openssl/crypto/hmac/hmac_local.h index 8fd8345694a26b..8bcc55817ae582 100644 --- a/deps/openssl/openssl/crypto/hmac/hmac_lcl.h +++ b/deps/openssl/openssl/crypto/hmac/hmac_local.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_HMAC_LCL_H -# define HEADER_HMAC_LCL_H +#ifndef OSSL_CRYPTO_HMAC_LOCAL_H +# define OSSL_CRYPTO_HMAC_LOCAL_H /* The current largest case is for SHA3-224 */ #define HMAC_MAX_MD_CBLOCK_SIZE 144 @@ -18,8 +18,6 @@ struct hmac_ctx_st { EVP_MD_CTX *md_ctx; EVP_MD_CTX *i_ctx; EVP_MD_CTX *o_ctx; - unsigned int key_length; - unsigned char key[HMAC_MAX_MD_CBLOCK_SIZE]; }; #endif diff --git a/deps/openssl/openssl/crypto/idea/i_cbc.c b/deps/openssl/openssl/crypto/idea/i_cbc.c index a70a8682a7801d..4eff467111be14 100644 --- a/deps/openssl/openssl/crypto/idea/i_cbc.c +++ b/deps/openssl/openssl/crypto/idea/i_cbc.c @@ -8,7 +8,7 @@ */ #include -#include "idea_lcl.h" +#include "idea_local.h" void IDEA_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, diff --git a/deps/openssl/openssl/crypto/idea/i_cfb64.c b/deps/openssl/openssl/crypto/idea/i_cfb64.c index daf467eb5c26e2..61c723015b9901 100644 --- a/deps/openssl/openssl/crypto/idea/i_cfb64.c +++ b/deps/openssl/openssl/crypto/idea/i_cfb64.c @@ -8,7 +8,7 @@ */ #include -#include "idea_lcl.h" +#include "idea_local.h" /* * The input and output encrypted as though 64bit cfb mode is being used. diff --git a/deps/openssl/openssl/crypto/idea/i_ecb.c b/deps/openssl/openssl/crypto/idea/i_ecb.c index 058d0c14c005ab..cb724e1a6c0b1a 100644 --- a/deps/openssl/openssl/crypto/idea/i_ecb.c +++ b/deps/openssl/openssl/crypto/idea/i_ecb.c @@ -8,7 +8,7 @@ */ #include -#include "idea_lcl.h" +#include "idea_local.h" #include const char *IDEA_options(void) diff --git a/deps/openssl/openssl/crypto/idea/i_ofb64.c b/deps/openssl/openssl/crypto/idea/i_ofb64.c index 997a7b88edf4f9..f000ced58620bc 100644 --- a/deps/openssl/openssl/crypto/idea/i_ofb64.c +++ b/deps/openssl/openssl/crypto/idea/i_ofb64.c @@ -8,7 +8,7 @@ */ #include -#include "idea_lcl.h" +#include "idea_local.h" /* * The input and output encrypted as though 64bit ofb mode is being used. diff --git a/deps/openssl/openssl/crypto/idea/i_skey.c b/deps/openssl/openssl/crypto/idea/i_skey.c index 9d9145580fcf21..230338d7e3ab6b 100644 --- a/deps/openssl/openssl/crypto/idea/i_skey.c +++ b/deps/openssl/openssl/crypto/idea/i_skey.c @@ -8,7 +8,7 @@ */ #include -#include "idea_lcl.h" +#include "idea_local.h" static IDEA_INT inverse(unsigned int xin); void IDEA_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks) diff --git a/deps/openssl/openssl/crypto/idea/idea_lcl.h b/deps/openssl/openssl/crypto/idea/idea_local.h similarity index 100% rename from deps/openssl/openssl/crypto/idea/idea_lcl.h rename to deps/openssl/openssl/crypto/idea/idea_local.h diff --git a/deps/openssl/openssl/crypto/include/internal/store.h b/deps/openssl/openssl/crypto/include/internal/store.h deleted file mode 100644 index f5013dc36795fd..00000000000000 --- a/deps/openssl/openssl/crypto/include/internal/store.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -void ossl_store_cleanup_int(void); diff --git a/deps/openssl/openssl/crypto/init.c b/deps/openssl/openssl/crypto/init.c index 9fc0e8ef68aadb..1b0d523beae0f3 100644 --- a/deps/openssl/openssl/crypto/init.c +++ b/deps/openssl/openssl/crypto/init.c @@ -8,25 +8,25 @@ */ #include "e_os.h" -#include "internal/cryptlib_int.h" +#include "crypto/cryptlib.h" #include -#include "internal/rand_int.h" +#include "crypto/rand.h" #include "internal/bio.h" #include -#include "internal/evp_int.h" +#include "crypto/evp.h" #include "internal/conf.h" -#include "internal/async.h" -#include "internal/engine.h" +#include "crypto/async.h" +#include "crypto/engine.h" #include "internal/comp.h" #include "internal/err.h" -#include "internal/err_int.h" -#include "internal/objects.h" +#include "crypto/err.h" +#include "crypto/objects.h" #include #include #include "internal/thread_once.h" -#include "internal/dso_conf.h" +#include "crypto/dso_conf.h" #include "internal/dso.h" -#include "internal/store.h" +#include "crypto/store.h" static int stopped = 0; diff --git a/deps/openssl/openssl/crypto/kdf/hkdf.c b/deps/openssl/openssl/crypto/kdf/hkdf.c index ae46fad609ac99..25bf4b729f64ce 100644 --- a/deps/openssl/openssl/crypto/kdf/hkdf.c +++ b/deps/openssl/openssl/crypto/kdf/hkdf.c @@ -13,7 +13,7 @@ #include #include #include "internal/cryptlib.h" -#include "internal/evp_int.h" +#include "crypto/evp.h" #define HKDF_MAXBUF 1024 diff --git a/deps/openssl/openssl/crypto/kdf/scrypt.c b/deps/openssl/openssl/crypto/kdf/scrypt.c index 61fd390e95f076..68606ac00aed09 100644 --- a/deps/openssl/openssl/crypto/kdf/scrypt.c +++ b/deps/openssl/openssl/crypto/kdf/scrypt.c @@ -13,7 +13,7 @@ #include #include #include "internal/cryptlib.h" -#include "internal/evp_int.h" +#include "crypto/evp.h" #ifndef OPENSSL_NO_SCRYPT diff --git a/deps/openssl/openssl/crypto/kdf/tls1_prf.c b/deps/openssl/openssl/crypto/kdf/tls1_prf.c index 49f7ecced90615..e9ca8e12780bc7 100644 --- a/deps/openssl/openssl/crypto/kdf/tls1_prf.c +++ b/deps/openssl/openssl/crypto/kdf/tls1_prf.c @@ -11,7 +11,7 @@ #include "internal/cryptlib.h" #include #include -#include "internal/evp_int.h" +#include "crypto/evp.h" static int tls1_prf_alg(const EVP_MD *md, const unsigned char *sec, size_t slen, diff --git a/deps/openssl/openssl/crypto/lhash/lh_stats.c b/deps/openssl/openssl/crypto/lhash/lh_stats.c index 65b91e1ef415e6..45f1b105554f1c 100644 --- a/deps/openssl/openssl/crypto/lhash/lh_stats.c +++ b/deps/openssl/openssl/crypto/lhash/lh_stats.c @@ -18,7 +18,7 @@ #include #include -#include "lhash_lcl.h" +#include "lhash_local.h" # ifndef OPENSSL_NO_STDIO void OPENSSL_LH_stats(const OPENSSL_LHASH *lh, FILE *fp) diff --git a/deps/openssl/openssl/crypto/lhash/lhash.c b/deps/openssl/openssl/crypto/lhash/lhash.c index 485d4c3ffff454..9dc887d91e4b25 100644 --- a/deps/openssl/openssl/crypto/lhash/lhash.c +++ b/deps/openssl/openssl/crypto/lhash/lhash.c @@ -13,9 +13,9 @@ #include #include #include -#include "internal/ctype.h" -#include "internal/lhash.h" -#include "lhash_lcl.h" +#include "crypto/ctype.h" +#include "crypto/lhash.h" +#include "lhash_local.h" /* * A hashing implementation that appears to be based on the linear hashing diff --git a/deps/openssl/openssl/crypto/lhash/lhash_lcl.h b/deps/openssl/openssl/crypto/lhash/lhash_local.h similarity index 100% rename from deps/openssl/openssl/crypto/lhash/lhash_lcl.h rename to deps/openssl/openssl/crypto/lhash/lhash_local.h diff --git a/deps/openssl/openssl/crypto/md4/md4_dgst.c b/deps/openssl/openssl/crypto/md4/md4_dgst.c index 5319618615e3dd..29b6b252bae3fe 100644 --- a/deps/openssl/openssl/crypto/md4/md4_dgst.c +++ b/deps/openssl/openssl/crypto/md4/md4_dgst.c @@ -9,7 +9,7 @@ #include #include -#include "md4_locl.h" +#include "md4_local.h" /* * Implemented from RFC1186 The MD4 Message-Digest Algorithm @@ -39,7 +39,7 @@ void md4_block_data_order(MD4_CTX *c, const void *data_, size_t num) const unsigned char *data = data_; register unsigned MD32_REG_T A, B, C, D, l; # ifndef MD32_XARRAY - /* See comment in crypto/sha/sha_locl.h for details. */ + /* See comment in crypto/sha/sha_local.h for details. */ unsigned MD32_REG_T XX0, XX1, XX2, XX3, XX4, XX5, XX6, XX7, XX8, XX9, XX10, XX11, XX12, XX13, XX14, XX15; # define X(i) XX##i diff --git a/deps/openssl/openssl/crypto/md4/md4_locl.h b/deps/openssl/openssl/crypto/md4/md4_local.h similarity index 96% rename from deps/openssl/openssl/crypto/md4/md4_locl.h rename to deps/openssl/openssl/crypto/md4/md4_local.h index a6c4003fdbc295..5f05720e97691a 100644 --- a/deps/openssl/openssl/crypto/md4/md4_locl.h +++ b/deps/openssl/openssl/crypto/md4/md4_local.h @@ -31,7 +31,7 @@ void md4_block_data_order(MD4_CTX *c, const void *p, size_t num); } while (0) #define HASH_BLOCK_DATA_ORDER md4_block_data_order -#include "internal/md32_common.h" +#include "crypto/md32_common.h" /*- #define F(x,y,z) (((x) & (y)) | ((~(x)) & (z))) @@ -53,7 +53,7 @@ void md4_block_data_order(MD4_CTX *c, const void *p, size_t num); #define R1(a,b,c,d,k,s,t) { \ a+=((k)+(t)+G((b),(c),(d))); \ - a=ROTATE(a,s); };\ + a=ROTATE(a,s); }; #define R2(a,b,c,d,k,s,t) { \ a+=((k)+(t)+H((b),(c),(d))); \ diff --git a/deps/openssl/openssl/crypto/md5/asm/md5-586.pl b/deps/openssl/openssl/crypto/md5/asm/md5-586.pl index 15e14864d1950d..7986a2413da232 100644 --- a/deps/openssl/openssl/crypto/md5/asm/md5-586.pl +++ b/deps/openssl/openssl/crypto/md5/asm/md5-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -43,7 +43,7 @@ &md5_block("md5_block_asm_data_order"); &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; sub Np { diff --git a/deps/openssl/openssl/crypto/md5/asm/md5-sparcv9.pl b/deps/openssl/openssl/crypto/md5/asm/md5-sparcv9.pl index 6a62c62531899f..3595e3d32fc93e 100644 --- a/deps/openssl/openssl/crypto/md5/asm/md5-sparcv9.pl +++ b/deps/openssl/openssl/crypto/md5/asm/md5-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -434,4 +434,4 @@ sub unalignaddr { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/md5/asm/md5-x86_64.pl b/deps/openssl/openssl/crypto/md5/asm/md5-x86_64.pl index 386d8048ec02b2..c6a172d448c63e 100755 --- a/deps/openssl/openssl/crypto/md5/asm/md5-x86_64.pl +++ b/deps/openssl/openssl/crypto/md5/asm/md5-x86_64.pl @@ -1,6 +1,6 @@ #! /usr/bin/env perl # Author: Marc Bevand -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -390,4 +390,4 @@ sub round4_step print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/md5/md5_dgst.c b/deps/openssl/openssl/crypto/md5/md5_dgst.c index fbede6742af6ad..d84cba37ae984d 100644 --- a/deps/openssl/openssl/crypto/md5/md5_dgst.c +++ b/deps/openssl/openssl/crypto/md5/md5_dgst.c @@ -8,7 +8,7 @@ */ #include -#include "md5_locl.h" +#include "md5_local.h" #include /* @@ -39,7 +39,7 @@ void md5_block_data_order(MD5_CTX *c, const void *data_, size_t num) const unsigned char *data = data_; register unsigned MD32_REG_T A, B, C, D, l; # ifndef MD32_XARRAY - /* See comment in crypto/sha/sha_locl.h for details. */ + /* See comment in crypto/sha/sha_local.h for details. */ unsigned MD32_REG_T XX0, XX1, XX2, XX3, XX4, XX5, XX6, XX7, XX8, XX9, XX10, XX11, XX12, XX13, XX14, XX15; # define X(i) XX##i diff --git a/deps/openssl/openssl/crypto/md5/md5_locl.h b/deps/openssl/openssl/crypto/md5/md5_local.h similarity index 98% rename from deps/openssl/openssl/crypto/md5/md5_locl.h rename to deps/openssl/openssl/crypto/md5/md5_local.h index 4eb7e50ef4d0f0..b0087bea81c4b9 100644 --- a/deps/openssl/openssl/crypto/md5/md5_locl.h +++ b/deps/openssl/openssl/crypto/md5/md5_local.h @@ -42,7 +42,7 @@ void md5_block_data_order(MD5_CTX *c, const void *p, size_t num); } while (0) #define HASH_BLOCK_DATA_ORDER md5_block_data_order -#include "internal/md32_common.h" +#include "crypto/md32_common.h" /*- #define F(x,y,z) (((x) & (y)) | ((~(x)) & (z))) @@ -62,7 +62,7 @@ void md5_block_data_order(MD5_CTX *c, const void *p, size_t num); #define R0(a,b,c,d,k,s,t) { \ a+=((k)+(t)+F((b),(c),(d))); \ a=ROTATE(a,s); \ - a+=b; };\ + a+=b; }; #define R1(a,b,c,d,k,s,t) { \ a+=((k)+(t)+G((b),(c),(d))); \ diff --git a/deps/openssl/openssl/crypto/mem.c b/deps/openssl/openssl/crypto/mem.c index 780053ffeff1e2..2b39ca3a10498e 100644 --- a/deps/openssl/openssl/crypto/mem.c +++ b/deps/openssl/openssl/crypto/mem.c @@ -9,7 +9,7 @@ #include "e_os.h" #include "internal/cryptlib.h" -#include "internal/cryptlib_int.h" +#include "crypto/cryptlib.h" #include #include #include diff --git a/deps/openssl/openssl/crypto/mips_arch.h b/deps/openssl/openssl/crypto/mips_arch.h index e18ac07210c544..4ae1a1a9339e30 100644 --- a/deps/openssl/openssl/crypto/mips_arch.h +++ b/deps/openssl/openssl/crypto/mips_arch.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef __MIPS_ARCH_H__ -# define __MIPS_ARCH_H__ +#ifndef OSSL_CRYPTO_MIPS_ARCH_H +# define OSSL_CRYPTO_MIPS_ARCH_H # if (defined(__mips_smartmips) || defined(_MIPS_ARCH_MIPS32R3) || \ defined(_MIPS_ARCH_MIPS32R5) || defined(_MIPS_ARCH_MIPS32R6)) \ diff --git a/deps/openssl/openssl/crypto/modes/asm/aesni-gcm-x86_64.pl b/deps/openssl/openssl/crypto/modes/asm/aesni-gcm-x86_64.pl index b42016101ebc66..959efedb0de71e 100644 --- a/deps/openssl/openssl/crypto/modes/asm/aesni-gcm-x86_64.pl +++ b/deps/openssl/openssl/crypto/modes/asm/aesni-gcm-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -66,7 +66,7 @@ $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9]\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } @@ -90,6 +90,7 @@ .type _aesni_ctr32_ghash_6x,\@abi-omnipotent .align 32 _aesni_ctr32_ghash_6x: +.cfi_startproc vmovdqu 0x20($const),$T2 # borrow $T2, .Lone_msb sub \$6,$len vpxor $Z0,$Z0,$Z0 # $Z0 = 0 @@ -397,6 +398,7 @@ vpxor $Z0,$Xi,$Xi # modulo-scheduled ret +.cfi_endproc .size _aesni_ctr32_ghash_6x,.-_aesni_ctr32_ghash_6x ___ ###################################################################### @@ -543,6 +545,7 @@ .type _aesni_ctr32_6x,\@abi-omnipotent .align 32 _aesni_ctr32_6x: +.cfi_startproc vmovdqu 0x00-0x80($key),$Z0 # borrow $Z0 for $rndkey vmovdqu 0x20($const),$T2 # borrow $T2, .Lone_msb lea -1($rounds),%r13 @@ -629,6 +632,7 @@ vpshufb $Ii,$T1,$T1 # next counter value vpxor $Z0,$inout5,$inout5 jmp .Loop_ctr32 +.cfi_endproc .size _aesni_ctr32_6x,.-_aesni_ctr32_6x .globl aesni_gcm_encrypt @@ -1079,15 +1083,19 @@ .globl aesni_gcm_encrypt .type aesni_gcm_encrypt,\@abi-omnipotent aesni_gcm_encrypt: +.cfi_startproc xor %eax,%eax ret +.cfi_endproc .size aesni_gcm_encrypt,.-aesni_gcm_encrypt .globl aesni_gcm_decrypt .type aesni_gcm_decrypt,\@abi-omnipotent aesni_gcm_decrypt: +.cfi_startproc xor %eax,%eax ret +.cfi_endproc .size aesni_gcm_decrypt,.-aesni_gcm_decrypt ___ }}} @@ -1096,4 +1104,4 @@ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/modes/asm/ghash-alpha.pl b/deps/openssl/openssl/crypto/modes/asm/ghash-alpha.pl index ccf6b2bd6fac43..d80920723b002c 100644 --- a/deps/openssl/openssl/crypto/modes/asm/ghash-alpha.pl +++ b/deps/openssl/openssl/crypto/modes/asm/ghash-alpha.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -463,5 +463,5 @@ ___ $output=pop and open STDOUT,">$output"; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/modes/asm/ghash-armv4.pl b/deps/openssl/openssl/crypto/modes/asm/ghash-armv4.pl index dcc23f7d7dbe40..d84ac6f2bf4382 100644 --- a/deps/openssl/openssl/crypto/modes/asm/ghash-armv4.pl +++ b/deps/openssl/openssl/crypto/modes/asm/ghash-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -548,4 +548,4 @@ sub clmul64x64 { print $_,"\n"; } -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/modes/asm/ghash-c64xplus.pl b/deps/openssl/openssl/crypto/modes/asm/ghash-c64xplus.pl index 3cadda39945cf1..5826dcbdfe645c 100644 --- a/deps/openssl/openssl/crypto/modes/asm/ghash-c64xplus.pl +++ b/deps/openssl/openssl/crypto/modes/asm/ghash-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -244,4 +244,4 @@ ___ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/modes/asm/ghash-ia64.pl b/deps/openssl/openssl/crypto/modes/asm/ghash-ia64.pl index eb9ded91e5b655..6e29f995fa85ff 100755 --- a/deps/openssl/openssl/crypto/modes/asm/ghash-ia64.pl +++ b/deps/openssl/openssl/crypto/modes/asm/ghash-ia64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -467,4 +467,4 @@ () $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/modes/asm/ghash-parisc.pl b/deps/openssl/openssl/crypto/modes/asm/ghash-parisc.pl index a614c99c22ce28..d798b7abf4902b 100644 --- a/deps/openssl/openssl/crypto/modes/asm/ghash-parisc.pl +++ b/deps/openssl/openssl/crypto/modes/asm/ghash-parisc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -745,4 +745,4 @@ sub assemble { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/modes/asm/ghash-s390x.pl b/deps/openssl/openssl/crypto/modes/asm/ghash-s390x.pl index 17dc375053c5c0..2f3ca295bdcae5 100644 --- a/deps/openssl/openssl/crypto/modes/asm/ghash-s390x.pl +++ b/deps/openssl/openssl/crypto/modes/asm/ghash-s390x.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -259,4 +259,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/modes/asm/ghash-sparcv9.pl b/deps/openssl/openssl/crypto/modes/asm/ghash-sparcv9.pl index c4eb3b1f02060e..ccebc74b4e9753 100644 --- a/deps/openssl/openssl/crypto/modes/asm/ghash-sparcv9.pl +++ b/deps/openssl/openssl/crypto/modes/asm/ghash-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -578,4 +578,4 @@ sub unvis3 { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/modes/asm/ghash-x86.pl b/deps/openssl/openssl/crypto/modes/asm/ghash-x86.pl index bcbe6e399d13e8..4183d99b68b11c 100644 --- a/deps/openssl/openssl/crypto/modes/asm/ghash-x86.pl +++ b/deps/openssl/openssl/crypto/modes/asm/ghash-x86.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1378,7 +1378,7 @@ sub reduction_alg5 { # 19/16 times faster than Intel version &asciz("GHASH for x86, CRYPTOGAMS by "); &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; # A question was risen about choice of vanilla MMX. Or rather why wasn't # SSE2 chosen instead? In addition to the fact that MMX runs on legacy diff --git a/deps/openssl/openssl/crypto/modes/asm/ghash-x86_64.pl b/deps/openssl/openssl/crypto/modes/asm/ghash-x86_64.pl index 6b2a51ecd77e25..0a0bfd575ceeb5 100644 --- a/deps/openssl/openssl/crypto/modes/asm/ghash-x86_64.pl +++ b/deps/openssl/openssl/crypto/modes/asm/ghash-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -116,7 +116,7 @@ $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9]\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } @@ -1815,4 +1815,4 @@ sub reduction_avx { print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/modes/asm/ghashp8-ppc.pl b/deps/openssl/openssl/crypto/modes/asm/ghashp8-ppc.pl index 6a2ac712950b47..447472cb459294 100755 --- a/deps/openssl/openssl/crypto/modes/asm/ghashp8-ppc.pl +++ b/deps/openssl/openssl/crypto/modes/asm/ghashp8-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -668,4 +668,4 @@ print $_,"\n"; } -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/modes/asm/ghashv8-armx.pl b/deps/openssl/openssl/crypto/modes/asm/ghashv8-armx.pl index 47e8820080693f..d0e398b50ae049 100644 --- a/deps/openssl/openssl/crypto/modes/asm/ghashv8-armx.pl +++ b/deps/openssl/openssl/crypto/modes/asm/ghashv8-armx.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -778,4 +778,4 @@ } } -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/modes/cbc128.c b/deps/openssl/openssl/crypto/modes/cbc128.c index 4ce5eb2ae34184..fc7e0b60510b03 100644 --- a/deps/openssl/openssl/crypto/modes/cbc128.c +++ b/deps/openssl/openssl/crypto/modes/cbc128.c @@ -8,7 +8,7 @@ */ #include -#include "modes_lcl.h" +#include "modes_local.h" #include #if !defined(STRICT_ALIGNMENT) && !defined(PEDANTIC) diff --git a/deps/openssl/openssl/crypto/modes/ccm128.c b/deps/openssl/openssl/crypto/modes/ccm128.c index 05a33239f56e2a..424722811c16cc 100644 --- a/deps/openssl/openssl/crypto/modes/ccm128.c +++ b/deps/openssl/openssl/crypto/modes/ccm128.c @@ -8,7 +8,7 @@ */ #include -#include "modes_lcl.h" +#include "modes_local.h" #include /* diff --git a/deps/openssl/openssl/crypto/modes/cfb128.c b/deps/openssl/openssl/crypto/modes/cfb128.c index e439567fe59f31..b6bec414a966f6 100644 --- a/deps/openssl/openssl/crypto/modes/cfb128.c +++ b/deps/openssl/openssl/crypto/modes/cfb128.c @@ -8,7 +8,7 @@ */ #include -#include "modes_lcl.h" +#include "modes_local.h" #include /* diff --git a/deps/openssl/openssl/crypto/modes/ctr128.c b/deps/openssl/openssl/crypto/modes/ctr128.c index 03920b447333ea..ae35116e952411 100644 --- a/deps/openssl/openssl/crypto/modes/ctr128.c +++ b/deps/openssl/openssl/crypto/modes/ctr128.c @@ -8,7 +8,7 @@ */ #include -#include "modes_lcl.h" +#include "modes_local.h" #include /* diff --git a/deps/openssl/openssl/crypto/modes/cts128.c b/deps/openssl/openssl/crypto/modes/cts128.c index 93826a1e2f06c8..9052e857764fe7 100644 --- a/deps/openssl/openssl/crypto/modes/cts128.c +++ b/deps/openssl/openssl/crypto/modes/cts128.c @@ -8,7 +8,7 @@ */ #include -#include "modes_lcl.h" +#include "modes_local.h" #include /* diff --git a/deps/openssl/openssl/crypto/modes/gcm128.c b/deps/openssl/openssl/crypto/modes/gcm128.c index 15f76e3e86bc77..48775e6d05ffbf 100644 --- a/deps/openssl/openssl/crypto/modes/gcm128.c +++ b/deps/openssl/openssl/crypto/modes/gcm128.c @@ -8,7 +8,7 @@ */ #include -#include "modes_lcl.h" +#include "modes_local.h" #include #if defined(BSWAP4) && defined(STRICT_ALIGNMENT) diff --git a/deps/openssl/openssl/crypto/modes/modes_lcl.h b/deps/openssl/openssl/crypto/modes/modes_local.h similarity index 100% rename from deps/openssl/openssl/crypto/modes/modes_lcl.h rename to deps/openssl/openssl/crypto/modes/modes_local.h diff --git a/deps/openssl/openssl/crypto/modes/ocb128.c b/deps/openssl/openssl/crypto/modes/ocb128.c index 713b9aaf19d5ff..b39a55a1a1459e 100644 --- a/deps/openssl/openssl/crypto/modes/ocb128.c +++ b/deps/openssl/openssl/crypto/modes/ocb128.c @@ -10,7 +10,7 @@ #include #include #include -#include "modes_lcl.h" +#include "modes_local.h" #ifndef OPENSSL_NO_OCB diff --git a/deps/openssl/openssl/crypto/modes/ofb128.c b/deps/openssl/openssl/crypto/modes/ofb128.c index 83092564c6b6c0..44bdf888db1a18 100644 --- a/deps/openssl/openssl/crypto/modes/ofb128.c +++ b/deps/openssl/openssl/crypto/modes/ofb128.c @@ -8,7 +8,7 @@ */ #include -#include "modes_lcl.h" +#include "modes_local.h" #include /* diff --git a/deps/openssl/openssl/crypto/modes/xts128.c b/deps/openssl/openssl/crypto/modes/xts128.c index 81b1eacd592006..b5bda5e6402d96 100644 --- a/deps/openssl/openssl/crypto/modes/xts128.c +++ b/deps/openssl/openssl/crypto/modes/xts128.c @@ -8,7 +8,7 @@ */ #include -#include "modes_lcl.h" +#include "modes_local.h" #include int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, diff --git a/deps/openssl/openssl/crypto/objects/o_names.c b/deps/openssl/openssl/crypto/objects/o_names.c index c4355370cb154b..979d83577c22a1 100644 --- a/deps/openssl/openssl/crypto/objects/o_names.c +++ b/deps/openssl/openssl/crypto/objects/o_names.c @@ -17,8 +17,8 @@ #include #include #include "internal/thread_once.h" -#include "internal/lhash.h" -#include "obj_lcl.h" +#include "crypto/lhash.h" +#include "obj_local.h" #include "e_os.h" /* diff --git a/deps/openssl/openssl/crypto/objects/obj_dat.c b/deps/openssl/openssl/crypto/objects/obj_dat.c index ef2d1e0ddaf2c1..46006fe6cf9c46 100644 --- a/deps/openssl/openssl/crypto/objects/obj_dat.c +++ b/deps/openssl/openssl/crypto/objects/obj_dat.c @@ -8,15 +8,15 @@ */ #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include #include "internal/cryptlib.h" #include #include -#include "internal/objects.h" +#include "crypto/objects.h" #include -#include "internal/asn1_int.h" -#include "obj_lcl.h" +#include "crypto/asn1.h" +#include "obj_local.h" /* obj_dat.h is generated from objects.h by obj_dat.pl */ #include "obj_dat.h" diff --git a/deps/openssl/openssl/crypto/objects/obj_dat.h b/deps/openssl/openssl/crypto/objects/obj_dat.h index ea91db660b6558..d1b1bc7faf914e 100644 --- a/deps/openssl/openssl/crypto/objects/obj_dat.h +++ b/deps/openssl/openssl/crypto/objects/obj_dat.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by crypto/objects/obj_dat.pl * - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at @@ -1728,8 +1728,8 @@ static const ASN1_OBJECT nid_objs[NUM_NID] = { {"ITU-T", "itu-t", NID_itu_t}, {"JOINT-ISO-ITU-T", "joint-iso-itu-t", NID_joint_iso_itu_t}, {"international-organizations", "International Organizations", NID_international_organizations, 1, &so[4439]}, - {"msSmartcardLogin", "Microsoft Smartcardlogin", NID_ms_smartcard_login, 10, &so[4440]}, - {"msUPN", "Microsoft Universal Principal Name", NID_ms_upn, 10, &so[4450]}, + {"msSmartcardLogin", "Microsoft Smartcard Login", NID_ms_smartcard_login, 10, &so[4440]}, + {"msUPN", "Microsoft User Principal Name", NID_ms_upn, 10, &so[4450]}, {"AES-128-CFB1", "aes-128-cfb1", NID_aes_128_cfb1}, {"AES-192-CFB1", "aes-192-cfb1", NID_aes_192_cfb1}, {"AES-256-CFB1", "aes-256-cfb1", NID_aes_256_cfb1}, @@ -3578,9 +3578,9 @@ static const unsigned int ln_objs[NUM_LN] = { 134, /* "Microsoft Individual Code Signing" */ 856, /* "Microsoft Local Key set" */ 137, /* "Microsoft Server Gated Crypto" */ - 648, /* "Microsoft Smartcardlogin" */ + 648, /* "Microsoft Smartcard Login" */ 136, /* "Microsoft Trust List Signing" */ - 649, /* "Microsoft Universal Principal Name" */ + 649, /* "Microsoft User Principal Name" */ 393, /* "NULL" */ 404, /* "NULL" */ 72, /* "Netscape Base Url" */ diff --git a/deps/openssl/openssl/crypto/objects/obj_lib.c b/deps/openssl/openssl/crypto/objects/obj_lib.c index acbdeec2c9806b..456a1598cec5dd 100644 --- a/deps/openssl/openssl/crypto/objects/obj_lib.c +++ b/deps/openssl/openssl/crypto/objects/obj_lib.c @@ -11,7 +11,7 @@ #include "internal/cryptlib.h" #include #include -#include "internal/asn1_int.h" +#include "crypto/asn1.h" ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o) { diff --git a/deps/openssl/openssl/crypto/objects/obj_lcl.h b/deps/openssl/openssl/crypto/objects/obj_local.h similarity index 100% rename from deps/openssl/openssl/crypto/objects/obj_lcl.h rename to deps/openssl/openssl/crypto/objects/obj_local.h diff --git a/deps/openssl/openssl/crypto/objects/obj_xref.h b/deps/openssl/openssl/crypto/objects/obj_xref.h index 9144d569dcd045..1ca04bbff19fac 100644 --- a/deps/openssl/openssl/crypto/objects/obj_xref.h +++ b/deps/openssl/openssl/crypto/objects/obj_xref.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by objxref.pl * - * Copyright 1998-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/crypto/objects/objects.txt b/deps/openssl/openssl/crypto/objects/objects.txt index 5b2bb54eb929ec..c49d4c568b59e3 100644 --- a/deps/openssl/openssl/crypto/objects/objects.txt +++ b/deps/openssl/openssl/crypto/objects/objects.txt @@ -426,9 +426,9 @@ rsadsi 3 8 : RC5-CBC : rc5-cbc !Cname ms-efs 1 3 6 1 4 1 311 10 3 4 : msEFS : Microsoft Encrypted File System !Cname ms-smartcard-login -1 3 6 1 4 1 311 20 2 2 : msSmartcardLogin : Microsoft Smartcardlogin +1 3 6 1 4 1 311 20 2 2 : msSmartcardLogin : Microsoft Smartcard Login !Cname ms-upn -1 3 6 1 4 1 311 20 2 3 : msUPN : Microsoft Universal Principal Name +1 3 6 1 4 1 311 20 2 3 : msUPN : Microsoft User Principal Name 1 3 6 1 4 1 188 7 1 1 2 : IDEA-CBC : idea-cbc : IDEA-ECB : idea-ecb diff --git a/deps/openssl/openssl/crypto/ocsp/ocsp_asn.c b/deps/openssl/openssl/crypto/ocsp/ocsp_asn.c index 1e0b82797bdca7..a869e32bc8b353 100644 --- a/deps/openssl/openssl/crypto/ocsp/ocsp_asn.c +++ b/deps/openssl/openssl/crypto/ocsp/ocsp_asn.c @@ -10,7 +10,7 @@ #include #include #include -#include "ocsp_lcl.h" +#include "ocsp_local.h" ASN1_SEQUENCE(OCSP_SIGNATURE) = { ASN1_EMBED(OCSP_SIGNATURE, signatureAlgorithm, X509_ALGOR), diff --git a/deps/openssl/openssl/crypto/ocsp/ocsp_cl.c b/deps/openssl/openssl/crypto/ocsp/ocsp_cl.c index 739ac01807a07a..55ffd45c6ec032 100644 --- a/deps/openssl/openssl/crypto/ocsp/ocsp_cl.c +++ b/deps/openssl/openssl/crypto/ocsp/ocsp_cl.c @@ -16,7 +16,7 @@ #include #include #include -#include "ocsp_lcl.h" +#include "ocsp_local.h" /* * Utility functions related to sending OCSP requests and extracting relevant diff --git a/deps/openssl/openssl/crypto/ocsp/ocsp_ext.c b/deps/openssl/openssl/crypto/ocsp/ocsp_ext.c index 3ab5308a12bb15..f6c387ffb7d7cc 100644 --- a/deps/openssl/openssl/crypto/ocsp/ocsp_ext.c +++ b/deps/openssl/openssl/crypto/ocsp/ocsp_ext.c @@ -12,7 +12,7 @@ #include #include #include -#include "ocsp_lcl.h" +#include "ocsp_local.h" #include #include diff --git a/deps/openssl/openssl/crypto/ocsp/ocsp_ht.c b/deps/openssl/openssl/crypto/ocsp/ocsp_ht.c index 42c36864313534..ba408bc86f988d 100644 --- a/deps/openssl/openssl/crypto/ocsp/ocsp_ht.c +++ b/deps/openssl/openssl/crypto/ocsp/ocsp_ht.c @@ -10,7 +10,7 @@ #include "e_os.h" #include #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include #include #include diff --git a/deps/openssl/openssl/crypto/ocsp/ocsp_lib.c b/deps/openssl/openssl/crypto/ocsp/ocsp_lib.c index b8b91cc9eb3f08..37ac6c03fd0448 100644 --- a/deps/openssl/openssl/crypto/ocsp/ocsp_lib.c +++ b/deps/openssl/openssl/crypto/ocsp/ocsp_lib.c @@ -14,7 +14,7 @@ #include #include #include -#include "ocsp_lcl.h" +#include "ocsp_local.h" #include /* Convert a certificate and its issuer to an OCSP_CERTID */ diff --git a/deps/openssl/openssl/crypto/ocsp/ocsp_lcl.h b/deps/openssl/openssl/crypto/ocsp/ocsp_local.h similarity index 100% rename from deps/openssl/openssl/crypto/ocsp/ocsp_lcl.h rename to deps/openssl/openssl/crypto/ocsp/ocsp_local.h diff --git a/deps/openssl/openssl/crypto/ocsp/ocsp_prn.c b/deps/openssl/openssl/crypto/ocsp/ocsp_prn.c index 5605812ef74b37..1965f2a183b32d 100644 --- a/deps/openssl/openssl/crypto/ocsp/ocsp_prn.c +++ b/deps/openssl/openssl/crypto/ocsp/ocsp_prn.c @@ -10,7 +10,7 @@ #include #include #include -#include "ocsp_lcl.h" +#include "ocsp_local.h" #include "internal/cryptlib.h" #include diff --git a/deps/openssl/openssl/crypto/ocsp/ocsp_srv.c b/deps/openssl/openssl/crypto/ocsp/ocsp_srv.c index 6bd6f7b6d89283..e35fc52fd94407 100644 --- a/deps/openssl/openssl/crypto/ocsp/ocsp_srv.c +++ b/deps/openssl/openssl/crypto/ocsp/ocsp_srv.c @@ -14,7 +14,7 @@ #include #include #include -#include "ocsp_lcl.h" +#include "ocsp_local.h" /* * Utility functions related to sending OCSP responses and extracting diff --git a/deps/openssl/openssl/crypto/ocsp/ocsp_vfy.c b/deps/openssl/openssl/crypto/ocsp/ocsp_vfy.c index 9a8d343866217e..e87b71c0c79163 100644 --- a/deps/openssl/openssl/crypto/ocsp/ocsp_vfy.c +++ b/deps/openssl/openssl/crypto/ocsp/ocsp_vfy.c @@ -8,7 +8,7 @@ */ #include -#include "ocsp_lcl.h" +#include "ocsp_local.h" #include #include diff --git a/deps/openssl/openssl/crypto/ocsp/v3_ocsp.c b/deps/openssl/openssl/crypto/ocsp/v3_ocsp.c index 2d425a8951d692..a174ce15a60d57 100644 --- a/deps/openssl/openssl/crypto/ocsp/v3_ocsp.c +++ b/deps/openssl/openssl/crypto/ocsp/v3_ocsp.c @@ -12,7 +12,7 @@ # include # include # include -# include "ocsp_lcl.h" +# include "ocsp_local.h" # include # include "../x509v3/ext_dat.h" diff --git a/deps/openssl/openssl/crypto/pariscid.pl b/deps/openssl/openssl/crypto/pariscid.pl index 5a231c49f02a0a..f4d364754a1f8f 100644 --- a/deps/openssl/openssl/crypto/pariscid.pl +++ b/deps/openssl/openssl/crypto/pariscid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -272,5 +272,5 @@ print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/pem/pem_all.c b/deps/openssl/openssl/crypto/pem/pem_all.c index 0e71813113403e..9d57ee7cc2e5ac 100644 --- a/deps/openssl/openssl/crypto/pem/pem_all.c +++ b/deps/openssl/openssl/crypto/pem/pem_all.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -84,9 +84,8 @@ IMPLEMENT_PEM_write_cb_const(RSAPrivateKey, RSA, PEM_STRING_RSA, IMPLEMENT_PEM_rw_const(RSAPublicKey, RSA, PEM_STRING_RSA_PUBLIC, - RSAPublicKey) IMPLEMENT_PEM_rw(RSA_PUBKEY, RSA, - PEM_STRING_PUBLIC, - RSA_PUBKEY) + RSAPublicKey) +IMPLEMENT_PEM_rw(RSA_PUBKEY, RSA, PEM_STRING_PUBLIC, RSA_PUBKEY) #endif #ifndef OPENSSL_NO_DSA static DSA *pkey_get_dsa(EVP_PKEY *key, DSA **dsa) @@ -115,7 +114,7 @@ DSA *PEM_read_bio_DSAPrivateKey(BIO *bp, DSA **dsa, pem_password_cb *cb, IMPLEMENT_PEM_write_cb_const(DSAPrivateKey, DSA, PEM_STRING_DSA, DSAPrivateKey) - IMPLEMENT_PEM_rw(DSA_PUBKEY, DSA, PEM_STRING_PUBLIC, DSA_PUBKEY) +IMPLEMENT_PEM_rw(DSA_PUBKEY, DSA, PEM_STRING_PUBLIC, DSA_PUBKEY) # ifndef OPENSSL_NO_STDIO DSA *PEM_read_DSAPrivateKey(FILE *fp, DSA **dsa, pem_password_cb *cb, void *u) { @@ -176,6 +175,6 @@ EC_KEY *PEM_read_ECPrivateKey(FILE *fp, EC_KEY **eckey, pem_password_cb *cb, #ifndef OPENSSL_NO_DH IMPLEMENT_PEM_write_const(DHparams, DH, PEM_STRING_DHPARAMS, DHparams) - IMPLEMENT_PEM_write_const(DHxparams, DH, PEM_STRING_DHXPARAMS, DHxparams) +IMPLEMENT_PEM_write_const(DHxparams, DH, PEM_STRING_DHXPARAMS, DHxparams) #endif IMPLEMENT_PEM_rw(PUBKEY, EVP_PKEY, PEM_STRING_PUBLIC, PUBKEY) diff --git a/deps/openssl/openssl/crypto/pem/pem_lib.c b/deps/openssl/openssl/crypto/pem/pem_lib.c index 4bb86463fae5f2..64baf7108ea4f9 100644 --- a/deps/openssl/openssl/crypto/pem/pem_lib.c +++ b/deps/openssl/openssl/crypto/pem/pem_lib.c @@ -8,7 +8,7 @@ */ #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include #include "internal/cryptlib.h" #include @@ -18,7 +18,7 @@ #include #include #include -#include "internal/asn1_int.h" +#include "crypto/asn1.h" #include #include diff --git a/deps/openssl/openssl/crypto/pem/pem_pkey.c b/deps/openssl/openssl/crypto/pem/pem_pkey.c index aa032d2b1cac28..e58cdf4a3e0bff 100644 --- a/deps/openssl/openssl/crypto/pem/pem_pkey.c +++ b/deps/openssl/openssl/crypto/pem/pem_pkey.c @@ -17,8 +17,8 @@ #include #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" int pem_check_suffix(const char *pem_str, const char *suffix); diff --git a/deps/openssl/openssl/crypto/pem/pvkfmt.c b/deps/openssl/openssl/crypto/pem/pvkfmt.c index 2bbee4a306e4f1..1fc19c17f913e0 100644 --- a/deps/openssl/openssl/crypto/pem/pvkfmt.c +++ b/deps/openssl/openssl/crypto/pem/pvkfmt.c @@ -844,9 +844,9 @@ static int i2b_PVK(unsigned char **out, EVP_PKEY *pk, int enclevel, if (!EVP_EncryptInit_ex(cctx, EVP_rc4(), NULL, keybuf, NULL)) goto error; OPENSSL_cleanse(keybuf, 20); - if (!EVP_DecryptUpdate(cctx, p, &enctmplen, p, pklen - 8)) + if (!EVP_EncryptUpdate(cctx, p, &enctmplen, p, pklen - 8)) goto error; - if (!EVP_DecryptFinal_ex(cctx, p + enctmplen, &enctmplen)) + if (!EVP_EncryptFinal_ex(cctx, p + enctmplen, &enctmplen)) goto error; } diff --git a/deps/openssl/openssl/crypto/perlasm/README b/deps/openssl/openssl/crypto/perlasm/README index 3177c371654254..59f2c95515fec3 100644 --- a/deps/openssl/openssl/crypto/perlasm/README +++ b/deps/openssl/openssl/crypto/perlasm/README @@ -35,7 +35,7 @@ Functions of interest are: &function_begin_B(name,extra) Same as normal function_begin but no pushing. &function_end(name) Call at end of function. &function_end_A(name) Standard pop and ret, for use inside functions -&function_end_B(name) Call at end but with poping or 'ret'. +&function_end_B(name) Call at end but with pop or ret. &swtmp(num) Address on stack temp word. &wparam(num) Parameter number num, that was push in C convention. This all works over pushes diff --git a/deps/openssl/openssl/crypto/perlasm/arm-xlate.pl b/deps/openssl/openssl/crypto/perlasm/arm-xlate.pl index ca2f8b990b972c..48819be54052d5 100755 --- a/deps/openssl/openssl/crypto/perlasm/arm-xlate.pl +++ b/deps/openssl/openssl/crypto/perlasm/arm-xlate.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -174,4 +174,4 @@ sub expand_line { print "\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/perlasm/ppc-xlate.pl b/deps/openssl/openssl/crypto/perlasm/ppc-xlate.pl index d220c6245b563b..08668b295bf6de 100755 --- a/deps/openssl/openssl/crypto/perlasm/ppc-xlate.pl +++ b/deps/openssl/openssl/crypto/perlasm/ppc-xlate.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -341,4 +341,4 @@ sub vfour { print "\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/perlasm/x86_64-xlate.pl b/deps/openssl/openssl/crypto/perlasm/x86_64-xlate.pl index 29a0eacfd532a6..59af6df9c200d8 100755 --- a/deps/openssl/openssl/crypto/perlasm/x86_64-xlate.pl +++ b/deps/openssl/openssl/crypto/perlasm/x86_64-xlate.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1216,7 +1216,7 @@ sub rxb { print "\n$current_segment\tENDS\n" if ($current_segment && $masm); print "END\n" if ($masm); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; ################################################# # Cross-reference x86_64 ABI "card" diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_add.c b/deps/openssl/openssl/crypto/pkcs12/p12_add.c index 193ed8097dc3fd..af184c86af5dbf 100644 --- a/deps/openssl/openssl/crypto/pkcs12/p12_add.c +++ b/deps/openssl/openssl/crypto/pkcs12/p12_add.c @@ -10,7 +10,7 @@ #include #include "internal/cryptlib.h" #include -#include "p12_lcl.h" +#include "p12_local.h" /* Pack an object into an OCTET STRING and turn into a safebag */ diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_asn.c b/deps/openssl/openssl/crypto/pkcs12/p12_asn.c index 422dfc398fabc1..88f145890cf6e5 100644 --- a/deps/openssl/openssl/crypto/pkcs12/p12_asn.c +++ b/deps/openssl/openssl/crypto/pkcs12/p12_asn.c @@ -11,7 +11,7 @@ #include "internal/cryptlib.h" #include #include -#include "p12_lcl.h" +#include "p12_local.h" /* PKCS#12 ASN1 module */ diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_attr.c b/deps/openssl/openssl/crypto/pkcs12/p12_attr.c index c324f50514698d..a958fdf3465e62 100644 --- a/deps/openssl/openssl/crypto/pkcs12/p12_attr.c +++ b/deps/openssl/openssl/crypto/pkcs12/p12_attr.c @@ -10,7 +10,7 @@ #include #include "internal/cryptlib.h" #include -#include "p12_lcl.h" +#include "p12_local.h" /* Add a local keyid to a safebag */ diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_crt.c b/deps/openssl/openssl/crypto/pkcs12/p12_crt.c index 10cf8dd589d9d8..d43dc3b30cf3a6 100644 --- a/deps/openssl/openssl/crypto/pkcs12/p12_crt.c +++ b/deps/openssl/openssl/crypto/pkcs12/p12_crt.c @@ -10,7 +10,7 @@ #include #include "internal/cryptlib.h" #include -#include "p12_lcl.h" +#include "p12_local.h" static int pkcs12_add_bag(STACK_OF(PKCS12_SAFEBAG) **pbags, PKCS12_SAFEBAG *bag); diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_init.c b/deps/openssl/openssl/crypto/pkcs12/p12_init.c index 88db0f2dc4f9f9..7ecc29ec0ce097 100644 --- a/deps/openssl/openssl/crypto/pkcs12/p12_init.c +++ b/deps/openssl/openssl/crypto/pkcs12/p12_init.c @@ -10,7 +10,7 @@ #include #include "internal/cryptlib.h" #include -#include "p12_lcl.h" +#include "p12_local.h" /* Initialise a PKCS12 structure to take data */ diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_lcl.h b/deps/openssl/openssl/crypto/pkcs12/p12_local.h similarity index 100% rename from deps/openssl/openssl/crypto/pkcs12/p12_lcl.h rename to deps/openssl/openssl/crypto/pkcs12/p12_local.h diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_mutl.c b/deps/openssl/openssl/crypto/pkcs12/p12_mutl.c index 0cbbed364a210d..3658003fe5981a 100644 --- a/deps/openssl/openssl/crypto/pkcs12/p12_mutl.c +++ b/deps/openssl/openssl/crypto/pkcs12/p12_mutl.c @@ -13,7 +13,7 @@ #include #include #include -#include "p12_lcl.h" +#include "p12_local.h" int PKCS12_mac_present(const PKCS12 *p12) { diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_npas.c b/deps/openssl/openssl/crypto/pkcs12/p12_npas.c index 0ce75ed330ee53..0334289a89fa07 100644 --- a/deps/openssl/openssl/crypto/pkcs12/p12_npas.c +++ b/deps/openssl/openssl/crypto/pkcs12/p12_npas.c @@ -13,7 +13,7 @@ #include #include #include -#include "p12_lcl.h" +#include "p12_local.h" /* PKCS#12 password change routine */ diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_p8e.c b/deps/openssl/openssl/crypto/pkcs12/p12_p8e.c index 86a07e1335e4dd..05fc388a99694a 100644 --- a/deps/openssl/openssl/crypto/pkcs12/p12_p8e.c +++ b/deps/openssl/openssl/crypto/pkcs12/p12_p8e.c @@ -10,7 +10,7 @@ #include #include "internal/cryptlib.h" #include -#include "internal/x509_int.h" +#include "crypto/x509.h" X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, const char *pass, int passlen, diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_sbag.c b/deps/openssl/openssl/crypto/pkcs12/p12_sbag.c index a09c5b93132afe..7cf522786b03ec 100644 --- a/deps/openssl/openssl/crypto/pkcs12/p12_sbag.c +++ b/deps/openssl/openssl/crypto/pkcs12/p12_sbag.c @@ -10,7 +10,7 @@ #include #include "internal/cryptlib.h" #include -#include "p12_lcl.h" +#include "p12_local.h" #if OPENSSL_API_COMPAT < 0x10100000L ASN1_TYPE *PKCS12_get_attr(const PKCS12_SAFEBAG *bag, int attr_nid) diff --git a/deps/openssl/openssl/crypto/pkcs7/pk7_lib.c b/deps/openssl/openssl/crypto/pkcs7/pk7_lib.c index 16b76431d1bd3c..ec4d9abd587f28 100644 --- a/deps/openssl/openssl/crypto/pkcs7/pk7_lib.c +++ b/deps/openssl/openssl/crypto/pkcs7/pk7_lib.c @@ -11,8 +11,8 @@ #include "internal/cryptlib.h" #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg) { diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv4.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv4.pl index 5cdb6be05914a6..f77e1170f66b72 100755 --- a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv4.pl +++ b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1250,4 +1250,4 @@ print $_,"\n"; } -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv8.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv8.pl index 6c6c9bb05be074..9bfee2759579b0 100755 --- a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv8.pl +++ b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv8.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -943,4 +943,4 @@ print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-mips.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-mips.pl index 28b6772ee5fe79..965825dc3edabe 100755 --- a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-mips.pl +++ b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-mips.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -433,5 +433,5 @@ $output=pop and open STDOUT,">$output"; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppc.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppc.pl index 0c6d015d585bee..e5d6933ac4d572 100755 --- a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppc.pl +++ b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -642,4 +642,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppcfp.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppcfp.pl index 09f81858484274..a9ab2071469712 100755 --- a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppcfp.pl +++ b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppcfp.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -736,4 +736,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-s390x.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-s390x.pl index 82d757d9a1caa8..bcc8fd3b886aad 100755 --- a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-s390x.pl +++ b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-s390x.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -224,4 +224,4 @@ $code =~ s/\b(srlg\s+)(%r[0-9]+\s*,)\s*([0-9]+)/$1$2$2$3/gm; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-sparcv9.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-sparcv9.pl index 0bdd04892544a0..997e0d8344c66f 100755 --- a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-sparcv9.pl +++ b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1117,4 +1117,4 @@ sub unfma { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86.pl index 1e09ddcc10d75c..4aaf63a0a1dd4c 100755 --- a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86.pl +++ b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -71,7 +71,7 @@ $avx = ($1>=2.09) + ($1>=2.10); } - if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([3-9]\.[0-9]+)/) { + if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } } @@ -1812,4 +1812,4 @@ sub vlazy_reduction { &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86_64.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86_64.pl index 342ad7f18aa715..c014be1ca9fae2 100755 --- a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86_64.pl +++ b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -90,7 +90,7 @@ $avx = ($1>=10) + ($1>=12); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9]\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } @@ -168,6 +168,7 @@ sub poly1305_iteration { .type poly1305_init,\@function,3 .align 32 poly1305_init: +.cfi_startproc xor %rax,%rax mov %rax,0($ctx) # initialize hash value mov %rax,8($ctx) @@ -219,6 +220,7 @@ sub poly1305_iteration { mov \$1,%eax .Lno_key: ret +.cfi_endproc .size poly1305_init,.-poly1305_init .type poly1305_blocks,\@function,4 @@ -298,6 +300,7 @@ sub poly1305_iteration { .type poly1305_emit,\@function,3 .align 32 poly1305_emit: +.cfi_startproc .Lemit: mov 0($ctx),%r8 # load hash value mov 8($ctx),%r9 @@ -318,6 +321,7 @@ sub poly1305_iteration { mov %rcx,8($mac) ret +.cfi_endproc .size poly1305_emit,.-poly1305_emit ___ if ($avx) { @@ -342,15 +346,18 @@ sub poly1305_iteration { .type __poly1305_block,\@abi-omnipotent .align 32 __poly1305_block: +.cfi_startproc ___ &poly1305_iteration(); $code.=<<___; ret +.cfi_endproc .size __poly1305_block,.-__poly1305_block .type __poly1305_init_avx,\@abi-omnipotent .align 32 __poly1305_init_avx: +.cfi_startproc mov $r0,$h0 mov $r1,$h1 xor $h2,$h2 @@ -508,6 +515,7 @@ sub poly1305_iteration { lea -48-64($ctx),$ctx # size [de-]optimization ret +.cfi_endproc .size __poly1305_init_avx,.-__poly1305_init_avx .type poly1305_blocks_avx,\@function,4 @@ -1373,6 +1381,7 @@ sub poly1305_iteration { .type poly1305_emit_avx,\@function,3 .align 32 poly1305_emit_avx: +.cfi_startproc cmpl \$0,20($ctx) # is_base2_26? je .Lemit @@ -1423,6 +1432,7 @@ sub poly1305_iteration { mov %rcx,8($mac) ret +.cfi_endproc .size poly1305_emit_avx,.-poly1305_emit_avx ___ @@ -2741,6 +2751,7 @@ sub poly1305_iteration { .type poly1305_init_base2_44,\@function,3 .align 32 poly1305_init_base2_44: +.cfi_startproc xor %rax,%rax mov %rax,0($ctx) # initialize hash value mov %rax,8($ctx) @@ -2782,6 +2793,7 @@ sub poly1305_iteration { $code.=<<___; mov \$1,%eax ret +.cfi_endproc .size poly1305_init_base2_44,.-poly1305_init_base2_44 ___ { @@ -2793,6 +2805,7 @@ sub poly1305_iteration { .type poly1305_blocks_vpmadd52,\@function,4 .align 32 poly1305_blocks_vpmadd52: +.cfi_startproc shr \$4,$len jz .Lno_data_vpmadd52 # too short @@ -2899,6 +2912,7 @@ sub poly1305_iteration { .Lno_data_vpmadd52: ret +.cfi_endproc .size poly1305_blocks_vpmadd52,.-poly1305_blocks_vpmadd52 ___ } @@ -2916,6 +2930,7 @@ sub poly1305_iteration { .type poly1305_blocks_vpmadd52_4x,\@function,4 .align 32 poly1305_blocks_vpmadd52_4x: +.cfi_startproc shr \$4,$len jz .Lno_data_vpmadd52_4x # too short @@ -3340,6 +3355,7 @@ sub poly1305_iteration { .Lno_data_vpmadd52_4x: ret +.cfi_endproc .size poly1305_blocks_vpmadd52_4x,.-poly1305_blocks_vpmadd52_4x ___ } @@ -3358,6 +3374,7 @@ sub poly1305_iteration { .type poly1305_blocks_vpmadd52_8x,\@function,4 .align 32 poly1305_blocks_vpmadd52_8x: +.cfi_startproc shr \$4,$len jz .Lno_data_vpmadd52_8x # too short @@ -3713,6 +3730,7 @@ sub poly1305_iteration { .Lno_data_vpmadd52_8x: ret +.cfi_endproc .size poly1305_blocks_vpmadd52_8x,.-poly1305_blocks_vpmadd52_8x ___ } @@ -3720,6 +3738,7 @@ sub poly1305_iteration { .type poly1305_emit_base2_44,\@function,3 .align 32 poly1305_emit_base2_44: +.cfi_startproc mov 0($ctx),%r8 # load hash value mov 8($ctx),%r9 mov 16($ctx),%r10 @@ -3750,6 +3769,7 @@ sub poly1305_iteration { mov %rcx,8($mac) ret +.cfi_endproc .size poly1305_emit_base2_44,.-poly1305_emit_base2_44 ___ } } } @@ -3800,6 +3820,7 @@ sub poly1305_iteration { .type xor128_encrypt_n_pad,\@abi-omnipotent .align 16 xor128_encrypt_n_pad: +.cfi_startproc sub $otp,$inp sub $otp,$out mov $len,%r10 # put len aside @@ -3841,12 +3862,14 @@ sub poly1305_iteration { .Ldone_enc: mov $otp,%rax ret +.cfi_endproc .size xor128_encrypt_n_pad,.-xor128_encrypt_n_pad .globl xor128_decrypt_n_pad .type xor128_decrypt_n_pad,\@abi-omnipotent .align 16 xor128_decrypt_n_pad: +.cfi_startproc sub $otp,$inp sub $otp,$out mov $len,%r10 # put len aside @@ -3892,6 +3915,7 @@ sub poly1305_iteration { .Ldone_dec: mov $otp,%rax ret +.cfi_endproc .size xor128_decrypt_n_pad,.-xor128_decrypt_n_pad ___ } @@ -4156,4 +4180,4 @@ sub poly1305_iteration { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/poly1305/poly1305.c b/deps/openssl/openssl/crypto/poly1305/poly1305.c index 1d182364aee435..e7f5b92c8f3da7 100644 --- a/deps/openssl/openssl/crypto/poly1305/poly1305.c +++ b/deps/openssl/openssl/crypto/poly1305/poly1305.c @@ -11,7 +11,7 @@ #include #include -#include "internal/poly1305.h" +#include "crypto/poly1305.h" #include "poly1305_local.h" size_t Poly1305_ctx_size(void) @@ -89,7 +89,7 @@ static void poly1305_blocks(void *ctx, const unsigned char *inp, size_t len, u32 padbit); /* - * Type-agnostic "rip-off" from constant_time_locl.h + * Type-agnostic "rip-off" from constant_time.h */ # define CONSTANT_TIME_CARRY(a,b) ( \ (a ^ ((a ^ b) | ((a - b) ^ b))) >> (sizeof(a) * 8 - 1) \ diff --git a/deps/openssl/openssl/crypto/poly1305/poly1305_ameth.c b/deps/openssl/openssl/crypto/poly1305/poly1305_ameth.c index 033ee8cd969973..0c8a91dc79dcc5 100644 --- a/deps/openssl/openssl/crypto/poly1305/poly1305_ameth.c +++ b/deps/openssl/openssl/crypto/poly1305/poly1305_ameth.c @@ -10,10 +10,10 @@ #include #include "internal/cryptlib.h" #include -#include "internal/asn1_int.h" -#include "internal/poly1305.h" +#include "crypto/asn1.h" +#include "crypto/poly1305.h" #include "poly1305_local.h" -#include "internal/evp_int.h" +#include "crypto/evp.h" /* * POLY1305 "ASN1" method. This is just here to indicate the maximum diff --git a/deps/openssl/openssl/crypto/poly1305/poly1305_pmeth.c b/deps/openssl/openssl/crypto/poly1305/poly1305_pmeth.c index 3bc24c98cd6147..49a799a12f518d 100644 --- a/deps/openssl/openssl/crypto/poly1305/poly1305_pmeth.c +++ b/deps/openssl/openssl/crypto/poly1305/poly1305_pmeth.c @@ -13,9 +13,9 @@ #include #include #include -#include "internal/poly1305.h" +#include "crypto/poly1305.h" #include "poly1305_local.h" -#include "internal/evp_int.h" +#include "crypto/evp.h" /* POLY1305 pkey context structure */ diff --git a/deps/openssl/openssl/crypto/ppc_arch.h b/deps/openssl/openssl/crypto/ppc_arch.h index 72bd7468745c77..e3845e9394ae28 100644 --- a/deps/openssl/openssl/crypto/ppc_arch.h +++ b/deps/openssl/openssl/crypto/ppc_arch.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_PPC_ARCH_H -# define HEADER_PPC_ARCH_H +#ifndef OSSL_CRYPTO_PPC_ARCH_H +# define OSSL_CRYPTO_PPC_ARCH_H extern unsigned int OPENSSL_ppccap_P; diff --git a/deps/openssl/openssl/crypto/ppccap.c b/deps/openssl/openssl/crypto/ppccap.c index a59485207b167d..b12cd949ccfe1b 100644 --- a/deps/openssl/openssl/crypto/ppccap.c +++ b/deps/openssl/openssl/crypto/ppccap.c @@ -29,8 +29,8 @@ #include #include #include -#include -#include "bn/bn_lcl.h" +#include +#include "bn/bn_local.h" #include "ppc_arch.h" diff --git a/deps/openssl/openssl/crypto/ppccpuid.pl b/deps/openssl/openssl/crypto/ppccpuid.pl index a38445fd3c5292..2065cbb84b10d7 100755 --- a/deps/openssl/openssl/crypto/ppccpuid.pl +++ b/deps/openssl/openssl/crypto/ppccpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -379,4 +379,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/rand/drbg_ctr.c b/deps/openssl/openssl/crypto/rand/drbg_ctr.c index a243361b56e401..93b82f34ceda12 100644 --- a/deps/openssl/openssl/crypto/rand/drbg_ctr.c +++ b/deps/openssl/openssl/crypto/rand/drbg_ctr.c @@ -14,7 +14,7 @@ #include #include "internal/thread_once.h" #include "internal/thread_once.h" -#include "rand_lcl.h" +#include "rand_local.h" /* * Implementation of NIST SP 800-90A CTR DRBG. */ diff --git a/deps/openssl/openssl/crypto/rand/drbg_lib.c b/deps/openssl/openssl/crypto/rand/drbg_lib.c index 12bb627a04efab..faf0590c6c281e 100644 --- a/deps/openssl/openssl/crypto/rand/drbg_lib.c +++ b/deps/openssl/openssl/crypto/rand/drbg_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -11,10 +11,10 @@ #include #include #include -#include "rand_lcl.h" +#include "rand_local.h" #include "internal/thread_once.h" -#include "internal/rand_int.h" -#include "internal/cryptlib_int.h" +#include "crypto/rand.h" +#include "crypto/cryptlib.h" /* * Support framework for NIST SP 800-90A DRBG @@ -1044,7 +1044,7 @@ static int drbg_add(const void *buf, int num, double randomness) return ret; #else /* - * If an os entropy source is avaible then we declare the buffer content + * If an os entropy source is available then we declare the buffer content * as additional data by setting randomness to zero and trigger a regular * reseeding. */ diff --git a/deps/openssl/openssl/crypto/rand/rand_err.c b/deps/openssl/openssl/crypto/rand/rand_err.c index ae4d8559fb2850..a3ae5f53c2956a 100644 --- a/deps/openssl/openssl/crypto/rand/rand_err.c +++ b/deps/openssl/openssl/crypto/rand/rand_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -14,6 +14,8 @@ #ifndef OPENSSL_NO_ERR static const ERR_STRING_DATA RAND_str_functs[] = { + {ERR_PACK(ERR_LIB_RAND, RAND_F_DATA_COLLECT_METHOD, 0), + "data_collect_method"}, {ERR_PACK(ERR_LIB_RAND, RAND_F_DRBG_BYTES, 0), "drbg_bytes"}, {ERR_PACK(ERR_LIB_RAND, RAND_F_DRBG_GET_ENTROPY, 0), "drbg_get_entropy"}, {ERR_PACK(ERR_LIB_RAND, RAND_F_DRBG_SETUP, 0), "drbg_setup"}, @@ -49,6 +51,7 @@ static const ERR_STRING_DATA RAND_str_functs[] = { "rand_pool_bytes_needed"}, {ERR_PACK(ERR_LIB_RAND, RAND_F_RAND_POOL_GROW, 0), "rand_pool_grow"}, {ERR_PACK(ERR_LIB_RAND, RAND_F_RAND_POOL_NEW, 0), "rand_pool_new"}, + {ERR_PACK(ERR_LIB_RAND, RAND_F_RAND_PSEUDO_BYTES, 0), "RAND_pseudo_bytes"}, {ERR_PACK(ERR_LIB_RAND, RAND_F_RAND_WRITE_FILE, 0), "RAND_write_file"}, {0, NULL} }; diff --git a/deps/openssl/openssl/crypto/rand/rand_lib.c b/deps/openssl/openssl/crypto/rand/rand_lib.c index 91b26523110f34..ab4e9b5486cb38 100644 --- a/deps/openssl/openssl/crypto/rand/rand_lib.c +++ b/deps/openssl/openssl/crypto/rand/rand_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -11,10 +11,10 @@ #include #include "internal/cryptlib.h" #include -#include "internal/rand_int.h" +#include "crypto/rand.h" #include #include "internal/thread_once.h" -#include "rand_lcl.h" +#include "rand_local.h" #include "e_os.h" #ifndef OPENSSL_NO_ENGINE @@ -386,6 +386,9 @@ int RAND_poll(void) const RAND_METHOD *meth = RAND_get_rand_method(); + if (meth == NULL) + return 0; + if (meth == RAND_OpenSSL()) { /* fill random pool and seed the master DRBG */ RAND_DRBG *drbg = RAND_DRBG_get0_master(); @@ -765,7 +768,7 @@ int rand_pool_add(RAND_POOL *pool, * is returned without producing an error message. * * After updating the buffer, rand_pool_add_end() needs to be called - * to finish the udpate operation (see next comment). + * to finish the update operation (see next comment). */ unsigned char *rand_pool_add_begin(RAND_POOL *pool, size_t len) { @@ -896,7 +899,7 @@ void RAND_seed(const void *buf, int num) { const RAND_METHOD *meth = RAND_get_rand_method(); - if (meth->seed != NULL) + if (meth != NULL && meth->seed != NULL) meth->seed(buf, num); } @@ -904,7 +907,7 @@ void RAND_add(const void *buf, int num, double randomness) { const RAND_METHOD *meth = RAND_get_rand_method(); - if (meth->add != NULL) + if (meth != NULL && meth->add != NULL) meth->add(buf, num, randomness); } @@ -917,24 +920,22 @@ int RAND_priv_bytes(unsigned char *buf, int num) { const RAND_METHOD *meth = RAND_get_rand_method(); RAND_DRBG *drbg; - int ret; - if (meth != RAND_OpenSSL()) + if (meth != NULL && meth != RAND_OpenSSL()) return RAND_bytes(buf, num); drbg = RAND_DRBG_get0_private(); - if (drbg == NULL) - return 0; + if (drbg != NULL) + return RAND_DRBG_bytes(drbg, buf, num); - ret = RAND_DRBG_bytes(drbg, buf, num); - return ret; + return 0; } int RAND_bytes(unsigned char *buf, int num) { const RAND_METHOD *meth = RAND_get_rand_method(); - if (meth->bytes != NULL) + if (meth != NULL && meth->bytes != NULL) return meth->bytes(buf, num); RANDerr(RAND_F_RAND_BYTES, RAND_R_FUNC_NOT_IMPLEMENTED); return -1; @@ -945,8 +946,9 @@ int RAND_pseudo_bytes(unsigned char *buf, int num) { const RAND_METHOD *meth = RAND_get_rand_method(); - if (meth->pseudorand != NULL) + if (meth != NULL && meth->pseudorand != NULL) return meth->pseudorand(buf, num); + RANDerr(RAND_F_RAND_PSEUDO_BYTES, RAND_R_FUNC_NOT_IMPLEMENTED); return -1; } #endif @@ -955,7 +957,7 @@ int RAND_status(void) { const RAND_METHOD *meth = RAND_get_rand_method(); - if (meth->status != NULL) + if (meth != NULL && meth->status != NULL) return meth->status(); return 0; } diff --git a/deps/openssl/openssl/crypto/rand/rand_lcl.h b/deps/openssl/openssl/crypto/rand/rand_local.h similarity index 98% rename from deps/openssl/openssl/crypto/rand/rand_lcl.h rename to deps/openssl/openssl/crypto/rand/rand_local.h index 306c59f6efa0f6..1bc9bf7d266dd4 100644 --- a/deps/openssl/openssl/crypto/rand/rand_lcl.h +++ b/deps/openssl/openssl/crypto/rand/rand_local.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_RAND_LCL_H -# define HEADER_RAND_LCL_H +#ifndef OSSL_CRYPTO_RAND_LOCAL_H +# define OSSL_CRYPTO_RAND_LOCAL_H # include # include @@ -82,7 +82,7 @@ * Typically, the DRBGs will set a minimum larger than this so optimal * allocation ought to take place (for full quality seed material). * - * The normal value has been chosed by noticing that the rand_drbg_get_nonce + * The normal value has been chosen by noticing that the rand_drbg_get_nonce * function is usually the largest of the built in allocation (twenty four * bytes and then appending another sixteen bytes). This means the buffer ends * with 40 bytes. The value of forty eight is comfortably above this which diff --git a/deps/openssl/openssl/crypto/rand/rand_unix.c b/deps/openssl/openssl/crypto/rand/rand_unix.c index 69efcdeed752d7..fe457cab4a3b1a 100644 --- a/deps/openssl/openssl/crypto/rand/rand_unix.c +++ b/deps/openssl/openssl/crypto/rand/rand_unix.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -15,8 +15,8 @@ #include "internal/cryptlib.h" #include #include -#include "rand_lcl.h" -#include "internal/rand_int.h" +#include "rand_local.h" +#include "crypto/rand.h" #include #include "internal/dso.h" #ifdef __linux @@ -80,7 +80,8 @@ static uint64_t get_timer_bits(void); # define OSSL_POSIX_TIMER_OKAY # endif # endif -#endif /* defined(OPENSSL_SYS_UNIX) || defined(__DJGPP__) */ +#endif /* (defined(OPENSSL_SYS_UNIX) && !defined(OPENSSL_SYS_VXWORKS)) + || defined(__DJGPP__) */ #if defined(OPENSSL_RAND_SEED_NONE) /* none means none. this simplifies the following logic */ @@ -282,12 +283,58 @@ static ssize_t sysctl_random(char *buf, size_t buflen) # if defined(OPENSSL_RAND_SEED_GETRANDOM) # if defined(__linux) && !defined(__NR_getrandom) -# if defined(__arm__) && defined(__NR_SYSCALL_BASE) +# if defined(__arm__) # define __NR_getrandom (__NR_SYSCALL_BASE+384) # elif defined(__i386__) # define __NR_getrandom 355 -# elif defined(__x86_64__) && !defined(__ILP32__) -# define __NR_getrandom 318 +# elif defined(__x86_64__) +# if defined(__ILP32__) +# define __NR_getrandom (__X32_SYSCALL_BIT + 318) +# else +# define __NR_getrandom 318 +# endif +# elif defined(__xtensa__) +# define __NR_getrandom 338 +# elif defined(__s390__) || defined(__s390x__) +# define __NR_getrandom 349 +# elif defined(__bfin__) +# define __NR_getrandom 389 +# elif defined(__powerpc__) +# define __NR_getrandom 359 +# elif defined(__mips__) || defined(__mips64) +# if _MIPS_SIM == _MIPS_SIM_ABI32 +# define __NR_getrandom (__NR_Linux + 353) +# elif _MIPS_SIM == _MIPS_SIM_ABI64 +# define __NR_getrandom (__NR_Linux + 313) +# elif _MIPS_SIM == _MIPS_SIM_NABI32 +# define __NR_getrandom (__NR_Linux + 317) +# endif +# elif defined(__hppa__) +# define __NR_getrandom (__NR_Linux + 339) +# elif defined(__sparc__) +# define __NR_getrandom 347 +# elif defined(__ia64__) +# define __NR_getrandom 1339 +# elif defined(__alpha__) +# define __NR_getrandom 511 +# elif defined(__sh__) +# if defined(__SH5__) +# define __NR_getrandom 373 +# else +# define __NR_getrandom 384 +# endif +# elif defined(__avr32__) +# define __NR_getrandom 317 +# elif defined(__microblaze__) +# define __NR_getrandom 385 +# elif defined(__m68k__) +# define __NR_getrandom 352 +# elif defined(__cris__) +# define __NR_getrandom 356 +# elif defined(__aarch64__) +# define __NR_getrandom 278 +# else /* generic */ +# define __NR_getrandom 278 # endif # endif @@ -814,4 +861,5 @@ static uint64_t get_timer_bits(void) # endif return time(NULL); } -#endif /* defined(OPENSSL_SYS_UNIX) || defined(__DJGPP__) */ +#endif /* (defined(OPENSSL_SYS_UNIX) && !defined(OPENSSL_SYS_VXWORKS)) + || defined(__DJGPP__) */ diff --git a/deps/openssl/openssl/crypto/rand/rand_vms.c b/deps/openssl/openssl/crypto/rand/rand_vms.c index e1e1c0b9db8de9..61c2f102997c11 100644 --- a/deps/openssl/openssl/crypto/rand/rand_vms.c +++ b/deps/openssl/openssl/crypto/rand/rand_vms.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -13,9 +13,11 @@ # define __NEW_STARLET 1 /* New starlet definitions since VMS 7.0 */ # include # include "internal/cryptlib.h" +# include +# include # include -# include "internal/rand_int.h" -# include "rand_lcl.h" +# include "crypto/rand.h" +# include "rand_local.h" # include # include # include @@ -32,10 +34,21 @@ # pragma message disable DOLLARID # endif +# include /* SYS$GET_ENTROPY presence */ + # ifndef OPENSSL_RAND_SEED_OS # error "Unsupported seeding method configured; must be os" # endif +/* + * DATA COLLECTION METHOD + * ====================== + * + * This is a method to get low quality entropy. + * It works by collecting all kinds of statistical data that + * VMS offers and using them as random seed. + */ + /* We need to make sure we have the right size pointer in some cases */ # if __INITIAL_POINTER_SIZE == 64 # pragma pointer_size save @@ -330,7 +343,7 @@ static void massage_JPI(ILE3 *items) */ #define ENTROPY_FACTOR 20 -size_t rand_pool_acquire_entropy(RAND_POOL *pool) +size_t data_collect_method(RAND_POOL *pool) { ILE3 JPI_items_64bit[OSSL_NELEM(JPI_item_data_64bit) + 1]; ILE3 RMI_items_64bit[OSSL_NELEM(RMI_item_data_64bit) + 1]; @@ -445,15 +458,12 @@ size_t rand_pool_acquire_entropy(RAND_POOL *pool) * If we can't feed the requirements from the caller, we're in deep trouble. */ if (!ossl_assert(total_length >= bytes_needed)) { - char neededstr[20]; - char availablestr[20]; - - BIO_snprintf(neededstr, sizeof(neededstr), "%zu", bytes_needed); - BIO_snprintf(availablestr, sizeof(availablestr), "%zu", total_length); - RANDerr(RAND_F_RAND_POOL_ACQUIRE_ENTROPY, - RAND_R_RANDOM_POOL_UNDERFLOW); - ERR_add_error_data(4, "Needed: ", neededstr, ", Available: ", - availablestr); + char buf[100]; /* That should be enough */ + + BIO_snprintf(buf, sizeof(buf), "Needed: %zu, Available: %zu", + bytes_needed, total_length); + RANDerr(RAND_F_DATA_COLLECT_METHOD, RAND_R_RANDOM_POOL_UNDERFLOW); + ERR_add_error_data(1, buf); return 0; } @@ -480,7 +490,7 @@ int rand_pool_add_nonce_data(RAND_POOL *pool) /* * Add process id, thread id, and a high resolution timestamp * (where available, which is OpenVMS v8.4 and up) to ensure that - * the nonce is unique whith high probability for different process + * the nonce is unique with high probability for different process * instances. */ data.pid = getpid(); @@ -494,6 +504,80 @@ int rand_pool_add_nonce_data(RAND_POOL *pool) return rand_pool_add(pool, (unsigned char *)&data, sizeof(data), 0); } +/* + * SYS$GET_ENTROPY METHOD + * ====================== + * + * This is a high entropy method based on a new system service that is + * based on getentropy() from FreeBSD 12. It's only used if available, + * and its availability is detected at run-time. + * + * We assume that this function provides full entropy random output. + */ +#define PUBLIC_VECTORS "SYS$LIBRARY:SYS$PUBLIC_VECTORS.EXE" +#define GET_ENTROPY "SYS$GET_ENTROPY" + +static int get_entropy_address_flag = 0; +static int (*get_entropy_address)(void *buffer, size_t buffer_size) = NULL; +static int init_get_entropy_address(void) +{ + if (get_entropy_address_flag == 0) + get_entropy_address = dlsym(dlopen(PUBLIC_VECTORS, 0), GET_ENTROPY); + get_entropy_address_flag = 1; + return get_entropy_address != NULL; +} + +size_t get_entropy_method(RAND_POOL *pool) +{ + /* + * The documentation says that SYS$GET_ENTROPY will give a maximum of + * 256 bytes of data. + */ + unsigned char buffer[256]; + size_t bytes_needed; + size_t bytes_to_get = 0; + uint32_t status; + + for (bytes_needed = rand_pool_bytes_needed(pool, 1); + bytes_needed > 0; + bytes_needed -= bytes_to_get) { + bytes_to_get = + bytes_needed > sizeof(buffer) ? sizeof(buffer) : bytes_needed; + + status = get_entropy_address(buffer, bytes_to_get); + if (status == SS$_RETRY) { + /* Set to zero so the loop doesn't diminish |bytes_needed| */ + bytes_to_get = 0; + /* Should sleep some amount of time */ + continue; + } + + if (status != SS$_NORMAL) { + lib$signal(status); + return 0; + } + + rand_pool_add(pool, buffer, bytes_to_get, 8 * bytes_to_get); + } + + return rand_pool_entropy_available(pool); +} + +/* + * MAIN ENTROPY ACQUISITION FUNCTIONS + * ================================== + * + * These functions are called by the RAND / DRBG functions + */ + +size_t rand_pool_acquire_entropy(RAND_POOL *pool) +{ + if (init_get_entropy_address()) + return get_entropy_method(pool); + return data_collect_method(pool); +} + + int rand_pool_add_additional_data(RAND_POOL *pool) { struct { diff --git a/deps/openssl/openssl/crypto/rand/rand_win.c b/deps/openssl/openssl/crypto/rand/rand_win.c index a9c5751f1a2bc4..90365460085874 100644 --- a/deps/openssl/openssl/crypto/rand/rand_win.c +++ b/deps/openssl/openssl/crypto/rand/rand_win.c @@ -9,8 +9,8 @@ #include "internal/cryptlib.h" #include -#include "rand_lcl.h" -#include "internal/rand_int.h" +#include "rand_local.h" +#include "crypto/rand.h" #if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) # ifndef OPENSSL_RAND_SEED_OS @@ -130,7 +130,7 @@ int rand_pool_add_nonce_data(RAND_POOL *pool) /* * Add process id, thread id, and a high resolution timestamp to - * ensure that the nonce is unique whith high probability for + * ensure that the nonce is unique with high probability for * different process instances. */ data.pid = GetCurrentProcessId(); diff --git a/deps/openssl/openssl/crypto/rc2/rc2_cbc.c b/deps/openssl/openssl/crypto/rc2/rc2_cbc.c index 2b59353b11541d..17e86f690e01cc 100644 --- a/deps/openssl/openssl/crypto/rc2/rc2_cbc.c +++ b/deps/openssl/openssl/crypto/rc2/rc2_cbc.c @@ -8,7 +8,7 @@ */ #include -#include "rc2_locl.h" +#include "rc2_local.h" void RC2_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, RC2_KEY *ks, unsigned char *iv, int encrypt) diff --git a/deps/openssl/openssl/crypto/rc2/rc2_ecb.c b/deps/openssl/openssl/crypto/rc2/rc2_ecb.c index fb2f78273d8ee6..8d9927cd585890 100644 --- a/deps/openssl/openssl/crypto/rc2/rc2_ecb.c +++ b/deps/openssl/openssl/crypto/rc2/rc2_ecb.c @@ -8,7 +8,7 @@ */ #include -#include "rc2_locl.h" +#include "rc2_local.h" #include /*- diff --git a/deps/openssl/openssl/crypto/rc2/rc2_locl.h b/deps/openssl/openssl/crypto/rc2/rc2_local.h similarity index 100% rename from deps/openssl/openssl/crypto/rc2/rc2_locl.h rename to deps/openssl/openssl/crypto/rc2/rc2_local.h diff --git a/deps/openssl/openssl/crypto/rc2/rc2_skey.c b/deps/openssl/openssl/crypto/rc2/rc2_skey.c index 55d8ba37155c15..60ebd42f263601 100644 --- a/deps/openssl/openssl/crypto/rc2/rc2_skey.c +++ b/deps/openssl/openssl/crypto/rc2/rc2_skey.c @@ -8,7 +8,7 @@ */ #include -#include "rc2_locl.h" +#include "rc2_local.h" static const unsigned char key_table[256] = { 0xd9, 0x78, 0xf9, 0xc4, 0x19, 0xdd, 0xb5, 0xed, 0x28, 0xe9, 0xfd, 0x79, diff --git a/deps/openssl/openssl/crypto/rc2/rc2cfb64.c b/deps/openssl/openssl/crypto/rc2/rc2cfb64.c index e11093db9e21a9..8d1c3a4d8f66fa 100644 --- a/deps/openssl/openssl/crypto/rc2/rc2cfb64.c +++ b/deps/openssl/openssl/crypto/rc2/rc2cfb64.c @@ -8,7 +8,7 @@ */ #include -#include "rc2_locl.h" +#include "rc2_local.h" /* * The input and output encrypted as though 64bit cfb mode is being used. diff --git a/deps/openssl/openssl/crypto/rc2/rc2ofb64.c b/deps/openssl/openssl/crypto/rc2/rc2ofb64.c index d610278a9bdcb3..61b2c56434bfe7 100644 --- a/deps/openssl/openssl/crypto/rc2/rc2ofb64.c +++ b/deps/openssl/openssl/crypto/rc2/rc2ofb64.c @@ -8,7 +8,7 @@ */ #include -#include "rc2_locl.h" +#include "rc2_local.h" /* * The input and output encrypted as though 64bit ofb mode is being used. diff --git a/deps/openssl/openssl/crypto/rc4/asm/rc4-586.pl b/deps/openssl/openssl/crypto/rc4/asm/rc4-586.pl index 8c5cf87d05cecf..3a936de1f9a79b 100644 --- a/deps/openssl/openssl/crypto/rc4/asm/rc4-586.pl +++ b/deps/openssl/openssl/crypto/rc4/asm/rc4-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1998-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1998-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -423,4 +423,4 @@ sub RC4_loop { &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/rc4/asm/rc4-c64xplus.pl b/deps/openssl/openssl/crypto/rc4/asm/rc4-c64xplus.pl index 1354d182149335..b12d044af465df 100644 --- a/deps/openssl/openssl/crypto/rc4/asm/rc4-c64xplus.pl +++ b/deps/openssl/openssl/crypto/rc4/asm/rc4-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -189,4 +189,4 @@ $output=pop; open STDOUT,">$output"; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/rc4/asm/rc4-md5-x86_64.pl b/deps/openssl/openssl/crypto/rc4/asm/rc4-md5-x86_64.pl index 74e5191051eb7b..7aa5c21bd8364c 100644 --- a/deps/openssl/openssl/crypto/rc4/asm/rc4-md5-x86_64.pl +++ b/deps/openssl/openssl/crypto/rc4/asm/rc4-md5-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -484,6 +484,7 @@ sub R3 { .type RC4_set_key,\@function,3 .align 16 RC4_set_key: +.cfi_startproc lea 8($dat),$dat lea ($inp,$len),$inp neg $len @@ -519,6 +520,7 @@ sub R3 { mov %eax,-8($dat) mov %eax,-4($dat) ret +.cfi_endproc .size RC4_set_key,.-RC4_set_key .globl RC4_options @@ -658,4 +660,4 @@ sub reg_part { print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/rc4/asm/rc4-parisc.pl b/deps/openssl/openssl/crypto/rc4/asm/rc4-parisc.pl index 4111f339dae4f6..631e742b739dda 100644 --- a/deps/openssl/openssl/crypto/rc4/asm/rc4-parisc.pl +++ b/deps/openssl/openssl/crypto/rc4/asm/rc4-parisc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -330,4 +330,4 @@ sub foldedloop { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/rc4/asm/rc4-s390x.pl b/deps/openssl/openssl/crypto/rc4/asm/rc4-s390x.pl index 469f110fafeec2..dded0b75e7f95c 100644 --- a/deps/openssl/openssl/crypto/rc4/asm/rc4-s390x.pl +++ b/deps/openssl/openssl/crypto/rc4/asm/rc4-s390x.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -184,7 +184,7 @@ RC4_set_key: stm${g} %r6,%r8,6*$SIZE_T($sp) lhi $cnt,256 - la $idx,0(%r0) + la $idx,0 sth $idx,0($key) .align 4 .L1stloop: @@ -194,8 +194,8 @@ lghi $ikey,-256 lr $cnt,$len - la $iinp,0(%r0) - la $idx,0(%r0) + la $iinp,0 + la $idx,0 .align 16 .L2ndloop: llgc $acc,2+256($ikey,$key) @@ -212,7 +212,7 @@ jz .Ldone brct $cnt,.L2ndloop lr $cnt,$len - la $iinp,0(%r0) + la $iinp,0 j .L2ndloop .Ldone: lm${g} %r6,%r8,6*$SIZE_T($sp) @@ -238,4 +238,4 @@ ___ print $code; -close STDOUT; # force flush +close STDOUT or die "error closing STDOUT: $!"; # force flush diff --git a/deps/openssl/openssl/crypto/rc4/asm/rc4-x86_64.pl b/deps/openssl/openssl/crypto/rc4/asm/rc4-x86_64.pl index 1a9cc47d7253d2..423eb5b4a99782 100755 --- a/deps/openssl/openssl/crypto/rc4/asm/rc4-x86_64.pl +++ b/deps/openssl/openssl/crypto/rc4/asm/rc4-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -138,11 +138,12 @@ .globl RC4 .type RC4,\@function,4 .align 16 -RC4: or $len,$len +RC4: +.cfi_startproc + or $len,$len jne .Lentry ret .Lentry: -.cfi_startproc push %rbx .cfi_push %rbx push %r12 @@ -453,6 +454,7 @@ sub RC4_loop { .type RC4_set_key,\@function,3 .align 16 RC4_set_key: +.cfi_startproc lea 8($dat),$dat lea ($inp,$len),$inp neg $len @@ -519,12 +521,14 @@ sub RC4_loop { mov %eax,-8($dat) mov %eax,-4($dat) ret +.cfi_endproc .size RC4_set_key,.-RC4_set_key .globl RC4_options .type RC4_options,\@abi-omnipotent .align 16 RC4_options: +.cfi_startproc lea .Lopts(%rip),%rax mov OPENSSL_ia32cap_P(%rip),%edx bt \$20,%edx @@ -537,6 +541,7 @@ sub RC4_loop { add \$12,%rax .Ldone: ret +.cfi_endproc .align 64 .Lopts: .asciz "rc4(8x,int)" @@ -693,4 +698,4 @@ sub reg_part { print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/rc4/rc4_enc.c b/deps/openssl/openssl/crypto/rc4/rc4_enc.c index 638a75bb06a939..09ef6a896f072f 100644 --- a/deps/openssl/openssl/crypto/rc4/rc4_enc.c +++ b/deps/openssl/openssl/crypto/rc4/rc4_enc.c @@ -8,7 +8,7 @@ */ #include -#include "rc4_locl.h" +#include "rc4_local.h" /*- * RC4 as implemented from a posting from diff --git a/deps/openssl/openssl/crypto/rc4/rc4_locl.h b/deps/openssl/openssl/crypto/rc4/rc4_local.h similarity index 86% rename from deps/openssl/openssl/crypto/rc4/rc4_locl.h rename to deps/openssl/openssl/crypto/rc4/rc4_local.h index 4380addbccb21e..e739be4be79331 100644 --- a/deps/openssl/openssl/crypto/rc4/rc4_locl.h +++ b/deps/openssl/openssl/crypto/rc4/rc4_local.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_RC4_LOCL_H -# define HEADER_RC4_LOCL_H +#ifndef OSSL_CRYPTO_RC4_LOCAL_H +# define OSSL_CRYPTO_RC4_LOCAL_H # include # include "internal/cryptlib.h" diff --git a/deps/openssl/openssl/crypto/rc4/rc4_skey.c b/deps/openssl/openssl/crypto/rc4/rc4_skey.c index e9007331eb33e4..100eb79c2ada75 100644 --- a/deps/openssl/openssl/crypto/rc4/rc4_skey.c +++ b/deps/openssl/openssl/crypto/rc4/rc4_skey.c @@ -8,7 +8,7 @@ */ #include -#include "rc4_locl.h" +#include "rc4_local.h" #include const char *RC4_options(void) diff --git a/deps/openssl/openssl/crypto/rc5/asm/rc5-586.pl b/deps/openssl/openssl/crypto/rc5/asm/rc5-586.pl index e58a98bc83b609..af11be816259c4 100644 --- a/deps/openssl/openssl/crypto/rc5/asm/rc5-586.pl +++ b/deps/openssl/openssl/crypto/rc5/asm/rc5-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -32,7 +32,7 @@ &cbc("RC5_32_cbc_encrypt","RC5_32_encrypt","RC5_32_decrypt",0,4,5,3,-1,-1); &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; sub RC5_32_encrypt { diff --git a/deps/openssl/openssl/crypto/rc5/rc5_ecb.c b/deps/openssl/openssl/crypto/rc5/rc5_ecb.c index c32f38e473e892..94ec646390dd41 100644 --- a/deps/openssl/openssl/crypto/rc5/rc5_ecb.c +++ b/deps/openssl/openssl/crypto/rc5/rc5_ecb.c @@ -8,7 +8,7 @@ */ #include -#include "rc5_locl.h" +#include "rc5_local.h" #include void RC5_32_ecb_encrypt(const unsigned char *in, unsigned char *out, diff --git a/deps/openssl/openssl/crypto/rc5/rc5_enc.c b/deps/openssl/openssl/crypto/rc5/rc5_enc.c index 58631dee20d259..75ddeb2eaf2b91 100644 --- a/deps/openssl/openssl/crypto/rc5/rc5_enc.c +++ b/deps/openssl/openssl/crypto/rc5/rc5_enc.c @@ -9,7 +9,7 @@ #include #include -#include "rc5_locl.h" +#include "rc5_local.h" void RC5_32_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, RC5_32_KEY *ks, unsigned char *iv, diff --git a/deps/openssl/openssl/crypto/rc5/rc5_locl.h b/deps/openssl/openssl/crypto/rc5/rc5_local.h similarity index 100% rename from deps/openssl/openssl/crypto/rc5/rc5_locl.h rename to deps/openssl/openssl/crypto/rc5/rc5_local.h diff --git a/deps/openssl/openssl/crypto/rc5/rc5_skey.c b/deps/openssl/openssl/crypto/rc5/rc5_skey.c index 943a7849bb8958..b2e6bbb1af244c 100644 --- a/deps/openssl/openssl/crypto/rc5/rc5_skey.c +++ b/deps/openssl/openssl/crypto/rc5/rc5_skey.c @@ -8,7 +8,7 @@ */ #include -#include "rc5_locl.h" +#include "rc5_local.h" void RC5_32_set_key(RC5_32_KEY *key, int len, const unsigned char *data, int rounds) diff --git a/deps/openssl/openssl/crypto/rc5/rc5cfb64.c b/deps/openssl/openssl/crypto/rc5/rc5cfb64.c index 9a8aa6b244c9cb..cfce7ec1e84c98 100644 --- a/deps/openssl/openssl/crypto/rc5/rc5cfb64.c +++ b/deps/openssl/openssl/crypto/rc5/rc5cfb64.c @@ -8,7 +8,7 @@ */ #include -#include "rc5_locl.h" +#include "rc5_local.h" /* * The input and output encrypted as though 64bit cfb mode is being used. diff --git a/deps/openssl/openssl/crypto/rc5/rc5ofb64.c b/deps/openssl/openssl/crypto/rc5/rc5ofb64.c index 3a41d773cb6ecd..224eb968579c88 100644 --- a/deps/openssl/openssl/crypto/rc5/rc5ofb64.c +++ b/deps/openssl/openssl/crypto/rc5/rc5ofb64.c @@ -8,7 +8,7 @@ */ #include -#include "rc5_locl.h" +#include "rc5_local.h" /* * The input and output encrypted as though 64bit ofb mode is being used. diff --git a/deps/openssl/openssl/crypto/ripemd/asm/rmd-586.pl b/deps/openssl/openssl/crypto/ripemd/asm/rmd-586.pl index 84aa7ced17c065..e8d02812ba5e35 100644 --- a/deps/openssl/openssl/crypto/ripemd/asm/rmd-586.pl +++ b/deps/openssl/openssl/crypto/ripemd/asm/rmd-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -70,7 +70,7 @@ &ripemd160_block("ripemd160_block_asm_data_order"); &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; sub Xv { diff --git a/deps/openssl/openssl/crypto/ripemd/rmd_dgst.c b/deps/openssl/openssl/crypto/ripemd/rmd_dgst.c index a1670c7fbd8336..e9e440f18c1069 100644 --- a/deps/openssl/openssl/crypto/ripemd/rmd_dgst.c +++ b/deps/openssl/openssl/crypto/ripemd/rmd_dgst.c @@ -8,7 +8,7 @@ */ #include -#include "rmd_locl.h" +#include "rmd_local.h" #include #ifdef RMD160_ASM @@ -39,7 +39,7 @@ void ripemd160_block_data_order(RIPEMD160_CTX *ctx, const void *p, size_t num) register unsigned MD32_REG_T A, B, C, D, E; unsigned MD32_REG_T a, b, c, d, e, l; # ifndef MD32_XARRAY - /* See comment in crypto/sha/sha_locl.h for details. */ + /* See comment in crypto/sha/sha_local.h for details. */ unsigned MD32_REG_T XX0, XX1, XX2, XX3, XX4, XX5, XX6, XX7, XX8, XX9, XX10, XX11, XX12, XX13, XX14, XX15; # define X(i) XX##i diff --git a/deps/openssl/openssl/crypto/ripemd/rmd_locl.h b/deps/openssl/openssl/crypto/ripemd/rmd_local.h similarity index 96% rename from deps/openssl/openssl/crypto/ripemd/rmd_locl.h rename to deps/openssl/openssl/crypto/ripemd/rmd_local.h index f1ae4323ca9bf4..f3604e349006b3 100644 --- a/deps/openssl/openssl/crypto/ripemd/rmd_locl.h +++ b/deps/openssl/openssl/crypto/ripemd/rmd_local.h @@ -13,7 +13,7 @@ #include /* - * DO EXAMINE COMMENTS IN crypto/md5/md5_locl.h & crypto/md5/md5_dgst.c + * DO EXAMINE COMMENTS IN crypto/md5/md5_local.h & crypto/md5/md5_dgst.c * FOR EXPLANATIONS ON FOLLOWING "CODE." */ #ifdef RMD160_ASM @@ -42,7 +42,7 @@ void ripemd160_block_data_order(RIPEMD160_CTX *c, const void *p, size_t num); } while (0) #define HASH_BLOCK_DATA_ORDER ripemd160_block_data_order -#include "internal/md32_common.h" +#include "crypto/md32_common.h" /* * Transformed F2 and F4 are courtesy of Wei Dai diff --git a/deps/openssl/openssl/crypto/rsa/rsa_ameth.c b/deps/openssl/openssl/crypto/rsa/rsa_ameth.c index 9dcb85d837573e..6692a51ed8fe47 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_ameth.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_ameth.c @@ -13,9 +13,9 @@ #include #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" -#include "rsa_locl.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" +#include "rsa_local.h" #ifndef OPENSSL_NO_CMS static int rsa_cms_sign(CMS_SignerInfo *si); diff --git a/deps/openssl/openssl/crypto/rsa/rsa_asn1.c b/deps/openssl/openssl/crypto/rsa/rsa_asn1.c index 9fe62c82eb2fe4..e8df8d762e16fc 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_asn1.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_asn1.c @@ -12,7 +12,7 @@ #include #include #include -#include "rsa_locl.h" +#include "rsa_local.h" /* * Override the default free and new methods, diff --git a/deps/openssl/openssl/crypto/rsa/rsa_chk.c b/deps/openssl/openssl/crypto/rsa/rsa_chk.c index 1b69be30ca41db..b4ba7fce3ffbec 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_chk.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_chk.c @@ -9,7 +9,7 @@ #include #include -#include "rsa_locl.h" +#include "rsa_local.h" int RSA_check_key(const RSA *key) { diff --git a/deps/openssl/openssl/crypto/rsa/rsa_crpt.c b/deps/openssl/openssl/crypto/rsa/rsa_crpt.c index f4ef8b4381f71e..f1131ce9e0ad53 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_crpt.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_crpt.c @@ -10,9 +10,9 @@ #include #include #include "internal/cryptlib.h" -#include "internal/bn_int.h" +#include "crypto/bn.h" #include -#include "rsa_locl.h" +#include "rsa_local.h" int RSA_bits(const RSA *r) { diff --git a/deps/openssl/openssl/crypto/rsa/rsa_gen.c b/deps/openssl/openssl/crypto/rsa/rsa_gen.c index 2b818088606cdd..29056a62a1ae01 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_gen.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_gen.c @@ -17,7 +17,7 @@ #include #include "internal/cryptlib.h" #include -#include "rsa_locl.h" +#include "rsa_local.h" static int rsa_builtin_keygen(RSA *rsa, int bits, int primes, BIGNUM *e_value, BN_GENCB *cb); diff --git a/deps/openssl/openssl/crypto/rsa/rsa_lib.c b/deps/openssl/openssl/crypto/rsa/rsa_lib.c index e737a28898cc85..63fd1a6db492e2 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_lib.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_lib.c @@ -11,11 +11,11 @@ #include #include "internal/cryptlib.h" #include "internal/refcount.h" -#include "internal/bn_int.h" +#include "crypto/bn.h" #include #include -#include "internal/evp_int.h" -#include "rsa_locl.h" +#include "crypto/evp.h" +#include "rsa_local.h" RSA *RSA_new(void) { @@ -451,6 +451,11 @@ const BIGNUM *RSA_get0_iqmp(const RSA *r) return r->iqmp; } +const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r) +{ + return r->pss; +} + void RSA_clear_flags(RSA *r, int flags) { r->flags &= ~flags; diff --git a/deps/openssl/openssl/crypto/rsa/rsa_locl.h b/deps/openssl/openssl/crypto/rsa/rsa_local.h similarity index 100% rename from deps/openssl/openssl/crypto/rsa/rsa_locl.h rename to deps/openssl/openssl/crypto/rsa/rsa_local.h diff --git a/deps/openssl/openssl/crypto/rsa/rsa_meth.c b/deps/openssl/openssl/crypto/rsa/rsa_meth.c index def19f375f920b..2845b79db8ef7b 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_meth.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_meth.c @@ -8,7 +8,7 @@ */ #include -#include "rsa_locl.h" +#include "rsa_local.h" #include RSA_METHOD *RSA_meth_new(const char *name, int flags) diff --git a/deps/openssl/openssl/crypto/rsa/rsa_mp.c b/deps/openssl/openssl/crypto/rsa/rsa_mp.c index e7e810823b2778..44dda8f800bcb9 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_mp.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_mp.c @@ -10,7 +10,7 @@ #include #include -#include "rsa_locl.h" +#include "rsa_local.h" void rsa_multip_info_free_ex(RSA_PRIME_INFO *pinfo) { diff --git a/deps/openssl/openssl/crypto/rsa/rsa_oaep.c b/deps/openssl/openssl/crypto/rsa/rsa_oaep.c index 48b888bf27adb4..302360a96415c4 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_oaep.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_oaep.c @@ -20,7 +20,7 @@ * one-wayness. For the RSA function, this is an equivalent notion. */ -#include "internal/constant_time_locl.h" +#include "internal/constant_time.h" #include #include "internal/cryptlib.h" @@ -28,7 +28,7 @@ #include #include #include -#include "rsa_locl.h" +#include "rsa_local.h" int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen, const unsigned char *from, int flen, diff --git a/deps/openssl/openssl/crypto/rsa/rsa_ossl.c b/deps/openssl/openssl/crypto/rsa/rsa_ossl.c index c8c3b7886aa9a5..b52a66f6a62803 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_ossl.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_ossl.c @@ -8,9 +8,9 @@ */ #include "internal/cryptlib.h" -#include "internal/bn_int.h" -#include "rsa_locl.h" -#include "internal/constant_time_locl.h" +#include "crypto/bn.h" +#include "rsa_local.h" +#include "internal/constant_time.h" static int rsa_ossl_public_encrypt(int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding); diff --git a/deps/openssl/openssl/crypto/rsa/rsa_pk1.c b/deps/openssl/openssl/crypto/rsa/rsa_pk1.c index 5260d12f4c9138..a3d0b7cef81ef2 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_pk1.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_pk1.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "internal/constant_time_locl.h" +#include "internal/constant_time.h" #include #include "internal/cryptlib.h" @@ -57,7 +57,7 @@ int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen, * D - data. */ - if (num < 11) + if (num < RSA_PKCS1_PADDING_SIZE) return -1; /* Accept inputs with and without the leading 0-byte. */ @@ -120,7 +120,7 @@ int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen, int i, j; unsigned char *p; - if (flen > (tlen - 11)) { + if (flen > (tlen - RSA_PKCS1_PADDING_SIZE)) { RSAerr(RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2, RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE); return 0; @@ -169,7 +169,7 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, * section 7.2.2. */ - if (flen > num || num < 11) { + if (flen > num || num < RSA_PKCS1_PADDING_SIZE) { RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, RSA_R_PKCS_DECODING_ERROR); return -1; @@ -226,8 +226,8 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, good &= constant_time_ge(tlen, mlen); /* - * Move the result in-place by |num|-11-|mlen| bytes to the left. - * Then if |good| move |mlen| bytes from |em|+11 to |to|. + * Move the result in-place by |num|-RSA_PKCS1_PADDING_SIZE-|mlen| bytes to the left. + * Then if |good| move |mlen| bytes from |em|+RSA_PKCS1_PADDING_SIZE to |to|. * Otherwise leave |to| unchanged. * Copy the memory back in a way that does not reveal the size of * the data being copied via a timing side channel. This requires copying @@ -235,16 +235,16 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, * length. Clear bits do a non-copy with identical access pattern. * The loop below has overall complexity of O(N*log(N)). */ - tlen = constant_time_select_int(constant_time_lt(num - 11, tlen), - num - 11, tlen); - for (msg_index = 1; msg_index < num - 11; msg_index <<= 1) { - mask = ~constant_time_eq(msg_index & (num - 11 - mlen), 0); - for (i = 11; i < num - msg_index; i++) + tlen = constant_time_select_int(constant_time_lt(num - RSA_PKCS1_PADDING_SIZE, tlen), + num - RSA_PKCS1_PADDING_SIZE, tlen); + for (msg_index = 1; msg_index < num - RSA_PKCS1_PADDING_SIZE; msg_index <<= 1) { + mask = ~constant_time_eq(msg_index & (num - RSA_PKCS1_PADDING_SIZE - mlen), 0); + for (i = RSA_PKCS1_PADDING_SIZE; i < num - msg_index; i++) em[i] = constant_time_select_8(mask, em[i + msg_index], em[i]); } for (i = 0; i < tlen; i++) { mask = good & constant_time_lt(i, mlen); - to[i] = constant_time_select_8(mask, em[i + 11], to[i]); + to[i] = constant_time_select_8(mask, em[i + RSA_PKCS1_PADDING_SIZE], to[i]); } OPENSSL_clear_free(em, num); diff --git a/deps/openssl/openssl/crypto/rsa/rsa_pmeth.c b/deps/openssl/openssl/crypto/rsa/rsa_pmeth.c index 082ab8fd8a1f25..0eb21c8af9756d 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_pmeth.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_pmeth.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "internal/constant_time_locl.h" +#include "internal/constant_time.h" #include #include "internal/cryptlib.h" @@ -18,8 +18,8 @@ #include #include #include -#include "internal/evp_int.h" -#include "rsa_locl.h" +#include "crypto/evp.h" +#include "rsa_local.h" /* RSA pkey context structure */ diff --git a/deps/openssl/openssl/crypto/rsa/rsa_pss.c b/deps/openssl/openssl/crypto/rsa/rsa_pss.c index f7c575d00ab123..40ce1c4d378a65 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_pss.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_pss.c @@ -14,7 +14,7 @@ #include #include #include -#include "rsa_locl.h" +#include "rsa_local.h" static const unsigned char zeroes[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; diff --git a/deps/openssl/openssl/crypto/rsa/rsa_sign.c b/deps/openssl/openssl/crypto/rsa/rsa_sign.c index 952d24fb8ae414..7fc69361bf0a38 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_sign.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_sign.c @@ -13,8 +13,8 @@ #include #include #include -#include "internal/x509_int.h" -#include "rsa_locl.h" +#include "crypto/x509.h" +#include "rsa_local.h" /* Size of an SSL signature: MD5+SHA1 */ #define SSL_SIG_LENGTH 36 diff --git a/deps/openssl/openssl/crypto/rsa/rsa_ssl.c b/deps/openssl/openssl/crypto/rsa/rsa_ssl.c index 3859128a6d808e..1f155be175da7c 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_ssl.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_ssl.c @@ -12,7 +12,7 @@ #include #include #include -#include "internal/constant_time_locl.h" +#include "internal/constant_time.h" int RSA_padding_add_SSLv23(unsigned char *to, int tlen, const unsigned char *from, int flen) @@ -20,7 +20,7 @@ int RSA_padding_add_SSLv23(unsigned char *to, int tlen, int i, j; unsigned char *p; - if (flen > (tlen - 11)) { + if (flen > (tlen - RSA_PKCS1_PADDING_SIZE)) { RSAerr(RSA_F_RSA_PADDING_ADD_SSLV23, RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE); return 0; @@ -70,7 +70,7 @@ int RSA_padding_check_SSLv23(unsigned char *to, int tlen, if (tlen <= 0 || flen <= 0) return -1; - if (flen > num || num < 11) { + if (flen > num || num < RSA_PKCS1_PADDING_SIZE) { RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_DATA_TOO_SMALL); return -1; } @@ -141,8 +141,8 @@ int RSA_padding_check_SSLv23(unsigned char *to, int tlen, err = constant_time_select_int(mask | good, err, RSA_R_DATA_TOO_LARGE); /* - * Move the result in-place by |num|-11-|mlen| bytes to the left. - * Then if |good| move |mlen| bytes from |em|+11 to |to|. + * Move the result in-place by |num|-RSA_PKCS1_PADDING_SIZE-|mlen| bytes to the left. + * Then if |good| move |mlen| bytes from |em|+RSA_PKCS1_PADDING_SIZE to |to|. * Otherwise leave |to| unchanged. * Copy the memory back in a way that does not reveal the size of * the data being copied via a timing side channel. This requires copying @@ -150,16 +150,16 @@ int RSA_padding_check_SSLv23(unsigned char *to, int tlen, * length. Clear bits do a non-copy with identical access pattern. * The loop below has overall complexity of O(N*log(N)). */ - tlen = constant_time_select_int(constant_time_lt(num - 11, tlen), - num - 11, tlen); - for (msg_index = 1; msg_index < num - 11; msg_index <<= 1) { - mask = ~constant_time_eq(msg_index & (num - 11 - mlen), 0); - for (i = 11; i < num - msg_index; i++) + tlen = constant_time_select_int(constant_time_lt(num - RSA_PKCS1_PADDING_SIZE, tlen), + num - RSA_PKCS1_PADDING_SIZE, tlen); + for (msg_index = 1; msg_index < num - RSA_PKCS1_PADDING_SIZE; msg_index <<= 1) { + mask = ~constant_time_eq(msg_index & (num - RSA_PKCS1_PADDING_SIZE - mlen), 0); + for (i = RSA_PKCS1_PADDING_SIZE; i < num - msg_index; i++) em[i] = constant_time_select_8(mask, em[i + msg_index], em[i]); } for (i = 0; i < tlen; i++) { mask = good & constant_time_lt(i, mlen); - to[i] = constant_time_select_8(mask, em[i + 11], to[i]); + to[i] = constant_time_select_8(mask, em[i + RSA_PKCS1_PADDING_SIZE], to[i]); } OPENSSL_clear_free(em, num); diff --git a/deps/openssl/openssl/crypto/rsa/rsa_x931g.c b/deps/openssl/openssl/crypto/rsa/rsa_x931g.c index e7ac476bb4a4ff..322cd14a840d69 100644 --- a/deps/openssl/openssl/crypto/rsa/rsa_x931g.c +++ b/deps/openssl/openssl/crypto/rsa/rsa_x931g.c @@ -12,7 +12,7 @@ #include #include #include -#include "rsa_locl.h" +#include "rsa_local.h" /* X9.31 RSA key derivation and generation */ diff --git a/deps/openssl/openssl/crypto/s390x_arch.h b/deps/openssl/openssl/crypto/s390x_arch.h index 4a775a927db762..4d2cc02eb3d306 100644 --- a/deps/openssl/openssl/crypto/s390x_arch.h +++ b/deps/openssl/openssl/crypto/s390x_arch.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef S390X_ARCH_H -# define S390X_ARCH_H +#ifndef OSSL_CRYPTO_S390X_ARCH_H +# define OSSL_CRYPTO_S390X_ARCH_H # ifndef __ASSEMBLER__ diff --git a/deps/openssl/openssl/crypto/s390xcpuid.pl b/deps/openssl/openssl/crypto/s390xcpuid.pl index ec700a47d98e92..5cbb962530c570 100755 --- a/deps/openssl/openssl/crypto/s390xcpuid.pl +++ b/deps/openssl/openssl/crypto/s390xcpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -418,4 +418,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; # force flush +close STDOUT or die "error closing STDOUT: $!"; # force flush diff --git a/deps/openssl/openssl/crypto/seed/seed.c b/deps/openssl/openssl/crypto/seed/seed.c index d62da91edea689..c3a1f183a5cc3d 100644 --- a/deps/openssl/openssl/crypto/seed/seed.c +++ b/deps/openssl/openssl/crypto/seed/seed.c @@ -42,7 +42,7 @@ # endif # include -# include "seed_locl.h" +# include "seed_local.h" # ifdef SS /* can get defined on Solaris by inclusion of * */ diff --git a/deps/openssl/openssl/crypto/seed/seed_locl.h b/deps/openssl/openssl/crypto/seed/seed_local.h similarity index 97% rename from deps/openssl/openssl/crypto/seed/seed_locl.h rename to deps/openssl/openssl/crypto/seed/seed_local.h index ac2950d97c2b30..e3681f8bd45550 100644 --- a/deps/openssl/openssl/crypto/seed/seed_locl.h +++ b/deps/openssl/openssl/crypto/seed/seed_local.h @@ -32,8 +32,8 @@ * SUCH DAMAGE. * */ -#ifndef HEADER_SEED_LOCL_H -# define HEADER_SEED_LOCL_H +#ifndef OSSL_CRYPTO_SEED_LOCAL_H +# define OSSL_CRYPTO_SEED_LOCAL_H # include "openssl/e_os2.h" # include @@ -109,4 +109,4 @@ typedef unsigned int seed_word; (X1) ^= (T0); \ (X2) ^= (T1) -#endif /* HEADER_SEED_LOCL_H */ +#endif /* OSSL_CRYPTO_SEED_LOCAL_H */ diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-armv4.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-armv4.pl index cb8ccc90f5b931..39fe559e974b09 100755 --- a/deps/openssl/openssl/crypto/sha/asm/keccak1600-armv4.pl +++ b/deps/openssl/openssl/crypto/sha/asm/keccak1600-armv4.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -1603,4 +1603,4 @@ sub Round { print $_,"\n"; } -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-armv8.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-armv8.pl index 3173c77f53631b..ce5df4d6de1b3a 100755 --- a/deps/openssl/openssl/crypto/sha/asm/keccak1600-armv8.pl +++ b/deps/openssl/openssl/crypto/sha/asm/keccak1600-armv8.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -877,4 +877,4 @@ print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx2.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx2.pl index d9fc1c59ec29d0..6104caf4ff1f32 100755 --- a/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx2.pl +++ b/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx2.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -479,4 +479,4 @@ $output=pop; open STDOUT,">$output"; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512.pl index 9074ff02dec33b..6bfff78817569e 100755 --- a/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512.pl +++ b/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -548,4 +548,4 @@ $output=pop; open STDOUT,">$output"; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512vl.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512vl.pl index a21bb8615a7cb9..446706fc67d112 100755 --- a/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512vl.pl +++ b/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512vl.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -389,4 +389,4 @@ $output=pop; open STDOUT,">$output"; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-c64x.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-c64x.pl index b00af9af91d84c..4d1bbee2cfdd5a 100755 --- a/deps/openssl/openssl/crypto/sha/asm/keccak1600-c64x.pl +++ b/deps/openssl/openssl/crypto/sha/asm/keccak1600-c64x.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -882,4 +882,4 @@ sub ROL64 { $output=pop; open STDOUT,">$output"; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-mmx.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-mmx.pl index c7685add79dd85..353f1e147c3b7a 100755 --- a/deps/openssl/openssl/crypto/sha/asm/keccak1600-mmx.pl +++ b/deps/openssl/openssl/crypto/sha/asm/keccak1600-mmx.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -30,7 +30,7 @@ # produce worse code. On the other hand one can wonder why not 128-bit # SSE2? Well, SSE2 won't provide double improvement, rather far from # that, if any at all on some processors, because it will take extra -# permutations and inter-bank data trasfers. Besides, contemporary +# permutations and inter-bank data transfers. Besides, contemporary # CPUs are better off executing 64-bit code, and it makes lesser sense # to invest into fancy 32-bit code. And the decision doesn't seem to # be inadequate, if one compares below results to "64-bit platforms in @@ -437,4 +437,4 @@ () &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-ppc64.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-ppc64.pl index 30e70c5d6d7b9b..11b6329f09c0e3 100755 --- a/deps/openssl/openssl/crypto/sha/asm/keccak1600-ppc64.pl +++ b/deps/openssl/openssl/crypto/sha/asm/keccak1600-ppc64.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -755,4 +755,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-s390x.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-s390x.pl index 1184cf233eba2e..a7d819a5905761 100755 --- a/deps/openssl/openssl/crypto/sha/asm/keccak1600-s390x.pl +++ b/deps/openssl/openssl/crypto/sha/asm/keccak1600-s390x.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -557,4 +557,4 @@ $code =~ s/(srlg\s+)(%r[0-9]+),/$1$2,$2,/gm; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-x86_64.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-x86_64.pl index 42de5bf123447f..b1a7e65e6baa4b 100755 --- a/deps/openssl/openssl/crypto/sha/asm/keccak1600-x86_64.pl +++ b/deps/openssl/openssl/crypto/sha/asm/keccak1600-x86_64.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -44,7 +44,7 @@ # Ryzen 8.8 # # (*) Corresponds to SHA3-256. Improvement over compiler-generate -# varies a lot, most commont coefficient is 15% in comparison to +# varies a lot, most common coefficient is 15% in comparison to # gcc-5.x, 50% for gcc-4.x, 90% for gcc-3.x. # (**) Sandy Bridge has broken rotate instruction. Performance can be # improved by 14% by replacing rotates with double-precision @@ -84,6 +84,7 @@ .type __KeccakF1600,\@abi-omnipotent .align 32 __KeccakF1600: +.cfi_startproc mov $A[4][0](%rdi),@C[0] mov $A[4][1](%rdi),@C[1] mov $A[4][2](%rdi),@C[2] @@ -342,6 +343,7 @@ lea -192($iotas),$iotas # rewind iotas ret +.cfi_endproc .size __KeccakF1600,.-__KeccakF1600 .type KeccakF1600,\@abi-omnipotent @@ -604,4 +606,4 @@ print $_, "\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600p8-ppc.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600p8-ppc.pl index de2bcd660a0926..c04c7deafeda01 100755 --- a/deps/openssl/openssl/crypto/sha/asm/keccak1600p8-ppc.pl +++ b/deps/openssl/openssl/crypto/sha/asm/keccak1600p8-ppc.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -847,4 +847,4 @@ print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-586.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-586.pl index 9d4ff7f39a52f0..f7b85e6c6d7ef2 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-586.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1998-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -144,7 +144,7 @@ `ml 2>&1` =~ /Version ([0-9]+)\./ && $1>=10); # first version supporting AVX -$ymm=1 if ($xmm && !$ymm && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([3-9]\.[0-9]+)/ && +$ymm=1 if ($xmm && !$ymm && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([0-9]+\.[0-9]+)/ && $2>=3.0); # first version supporting AVX $shaext=$xmm; ### set to zero if compiling for 1.0.1 @@ -1488,4 +1488,4 @@ () &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-alpha.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-alpha.pl index c1a0b0c6904124..540ef3b47b1e12 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-alpha.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-alpha.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -326,4 +326,4 @@ sub BODY_40_59 { ___ $output=pop and open STDOUT,">$output"; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-armv4-large.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-armv4-large.pl index 7ff5bfbba6cbf5..52d426bb29f8ea 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-armv4-large.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-armv4-large.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -739,4 +739,4 @@ () print $_,$/; } -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-armv8.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-armv8.pl index 3ba871fedee65f..aa44feb9c7c53b 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-armv8.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-armv8.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -361,4 +361,4 @@ sub BODY_20_39 { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-c64xplus.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-c64xplus.pl index 4db2bcb06b3177..ceec503a9829ea 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-c64xplus.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -334,4 +334,4 @@ sub BODY_20_39 { ___ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-mb-x86_64.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-mb-x86_64.pl index 443b649830f454..a78266d62fc3d6 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-mb-x86_64.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-mb-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -66,7 +66,7 @@ $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9]\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } @@ -1625,4 +1625,4 @@ sub sha1op38 { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-mips.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-mips.pl index 08f84bc3b3d9bb..c293cd3bfa4e6b 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-mips.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-mips.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -458,4 +458,4 @@ sub BODY_40_59 { .asciiz "SHA1 for MIPS, CRYPTOGAMS by " ___ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-parisc.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-parisc.pl index b001be16a23cd1..70ef7956abfa18 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-parisc.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-parisc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -276,4 +276,4 @@ sub BODY_40_59 { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-ppc.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-ppc.pl index 0cda0a3e151755..650a6291200875 100755 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-ppc.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -348,4 +348,4 @@ sub BODY_40_59 { $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-s390x.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-s390x.pl index 5729c30898771f..653a6cb50a8a8e 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-s390x.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-s390x.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -246,4 +246,4 @@ sub BODY_40_59 { $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-sparcv9.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-sparcv9.pl index 3e612e3d5f68f7..8c23d85a3d09a5 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-sparcv9.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -431,4 +431,4 @@ sub unalignaddr { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-sparcv9a.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-sparcv9a.pl index 50d3e136a12db4..4e90da4b8bc93c 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-sparcv9a.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-sparcv9a.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -605,4 +605,4 @@ sub unalignaddr { &unalignaddr($1,$2,$3,$4) /gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-thumb.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-thumb.pl index ac74a25d6ead1e..b53e0bee052d3d 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-thumb.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-thumb.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -263,4 +263,4 @@ sub BODY_40_59 { ___ print $code; -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-x86_64.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-x86_64.pl index 60819f61867c52..0680d6d0a2b2a3 100755 --- a/deps/openssl/openssl/crypto/sha/asm/sha1-x86_64.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha1-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -119,7 +119,7 @@ $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([2-9]\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } @@ -468,8 +468,8 @@ sub BODY_40_59 { .Lepilogue_shaext: ___ $code.=<<___; -.cfi_endproc ret +.cfi_endproc .size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext ___ }}} @@ -2129,4 +2129,4 @@ sub sha1op38 { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha256-586.pl b/deps/openssl/openssl/crypto/sha/asm/sha256-586.pl index dccc771ad584b8..6989d59bd735e7 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha256-586.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha256-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -96,7 +96,7 @@ $avx = ($1>=10) + ($1>=11); } -if ($xmm && !$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([3-9]\.[0-9]+)/) { +if ($xmm && !$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } @@ -1293,4 +1293,4 @@ () &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha256-armv4.pl b/deps/openssl/openssl/crypto/sha/asm/sha256-armv4.pl index edcfc31278e376..d120febb48329d 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha256-armv4.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha256-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -729,4 +729,4 @@ () print $_,"\n"; } -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/sha/asm/sha256-c64xplus.pl b/deps/openssl/openssl/crypto/sha/asm/sha256-c64xplus.pl index 3ab7d9b6894637..b2d00e4fb1ab64 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha256-c64xplus.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha256-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -317,4 +317,4 @@ ___ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha256-mb-x86_64.pl b/deps/openssl/openssl/crypto/sha/asm/sha256-mb-x86_64.pl index 73978dbd81d6b2..81ac814effc467 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha256-mb-x86_64.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha256-mb-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -67,7 +67,7 @@ $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9]\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } @@ -1611,4 +1611,4 @@ sub sha256op38 { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-586.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-586.pl index 867ce30b97217d..66b6e96f9ded45 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha512-586.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha512-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -922,4 +922,4 @@ sub BODY_00_15_ssse3 { # "phase-less" copy of BODY_00_15_sse2 &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-armv4.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-armv4.pl index 0b4c5674d9df30..e9c5e0ce7687b9 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha512-armv4.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha512-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -665,4 +665,4 @@ () close SELF; print $code; -close STDOUT; # enforce flush +close STDOUT or die "error closing STDOUT: $!"; # enforce flush diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-armv8.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-armv8.pl index 01ffe9f98c3ea8..07dcba42dcf4c3 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha512-armv8.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha512-armv8.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -902,4 +902,4 @@ () print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-c64xplus.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-c64xplus.pl index 9ebfc92e23ae79..4263fb1349aa54 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha512-c64xplus.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha512-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -435,4 +435,4 @@ ___ print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-mips.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-mips.pl index dab684dde5bc79..15acd5308dda4b 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha512-mips.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha512-mips.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -518,4 +518,4 @@ sub BODY_16_XX { $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-parisc.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-parisc.pl index 59eb320ab6ed93..132f1db8eb9e77 100755 --- a/deps/openssl/openssl/crypto/sha/asm/sha512-parisc.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha512-parisc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -804,4 +804,4 @@ sub assemble { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-ppc.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-ppc.pl index 71699f66370640..265ecfa58c87f1 100755 --- a/deps/openssl/openssl/crypto/sha/asm/sha512-ppc.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha512-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -796,4 +796,4 @@ sub ROUND_16_xx_ppc32 { $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-s390x.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-s390x.pl index 4c0f4e79315b94..9752fed4ea2649 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha512-s390x.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha512-s390x.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -321,4 +321,4 @@ sub BODY_16_XX { $code =~ s/(srlg\s+)(%r[0-9]+),/$1$2,$2,/gm; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-sparcv9.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-sparcv9.pl index c215909633aec9..54429d34e39835 100644 --- a/deps/openssl/openssl/crypto/sha/asm/sha512-sparcv9.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha512-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -854,4 +854,4 @@ sub unalignaddr { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-x86_64.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-x86_64.pl index f2ebdfdb68b64e..64ae641c14075c 100755 --- a/deps/openssl/openssl/crypto/sha/asm/sha512-x86_64.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha512-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -135,7 +135,7 @@ $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([3-9]\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } @@ -569,6 +569,7 @@ () .align 64 sha256_block_data_order_shaext: _shaext_shortcut: +.cfi_startproc ___ $code.=<<___ if ($win64); lea `-8-5*16`(%rsp),%rsp @@ -712,6 +713,7 @@ () ___ $code.=<<___; ret +.cfi_endproc .size sha256_block_data_order_shaext,.-sha256_block_data_order_shaext ___ }}} @@ -1992,7 +1994,23 @@ () vmovdqa $t0,0x00(%rsp) xor $a1,$a1 vmovdqa $t1,0x20(%rsp) +___ +$code.=<<___ if (!$win64); +# temporarily use %rdi as frame pointer + mov $_rsp,%rdi +.cfi_def_cfa %rdi,8 +___ +$code.=<<___; lea -$PUSH8(%rsp),%rsp +___ +$code.=<<___ if (!$win64); +# the frame info is at $_rsp, but the stack is moving... +# so a second frame pointer is saved at -8(%rsp) +# that is in the red zone + mov %rdi,-8(%rsp) +.cfi_cfa_expression %rsp-8,deref,+8 +___ +$code.=<<___; mov $B,$a3 vmovdqa $t2,0x00(%rsp) xor $C,$a3 # magic @@ -2012,7 +2030,18 @@ () my @insns = (&$body,&$body,&$body,&$body); # 96 instructions my $base = "+2*$PUSH8(%rsp)"; - &lea ("%rsp","-$PUSH8(%rsp)") if (($j%2)==0); + if (($j%2)==0) { + &lea ("%rsp","-$PUSH8(%rsp)"); +$code.=<<___ if (!$win64); +.cfi_cfa_expression %rsp+`$PUSH8-8`,deref,+8 +# copy secondary frame pointer to new location again at -8(%rsp) + pushq $PUSH8-8(%rsp) +.cfi_cfa_expression %rsp,deref,+8 + lea 8(%rsp),%rsp +.cfi_cfa_expression %rsp-8,deref,+8 +___ + } + foreach (Xupdate_256_AVX()) { # 29 instructions eval; eval(shift(@insns)); @@ -2083,7 +2112,23 @@ () vmovdqa $t2,0x40(%rsp) vpaddq 0x40($Tbl),@X[6],$t2 vmovdqa $t3,0x60(%rsp) +___ +$code.=<<___ if (!$win64); +# temporarily use %rdi as frame pointer + mov $_rsp,%rdi +.cfi_def_cfa %rdi,8 +___ +$code.=<<___; lea -$PUSH8(%rsp),%rsp +___ +$code.=<<___ if (!$win64); +# the frame info is at $_rsp, but the stack is moving... +# so a second frame pointer is saved at -8(%rsp) +# that is in the red zone + mov %rdi,-8(%rsp) +.cfi_cfa_expression %rsp-8,deref,+8 +___ +$code.=<<___; vpaddq 0x60($Tbl),@X[7],$t3 vmovdqa $t0,0x00(%rsp) xor $a1,$a1 @@ -2107,7 +2152,18 @@ () my @insns = (&$body,&$body); # 48 instructions my $base = "+2*$PUSH8(%rsp)"; - &lea ("%rsp","-$PUSH8(%rsp)") if (($j%4)==0); + if (($j%4)==0) { + &lea ("%rsp","-$PUSH8(%rsp)"); +$code.=<<___ if (!$win64); +.cfi_cfa_expression %rsp+`$PUSH8-8`,deref,+8 +# copy secondary frame pointer to new location again at -8(%rsp) + pushq $PUSH8-8(%rsp) +.cfi_cfa_expression %rsp,deref,+8 + lea 8(%rsp),%rsp +.cfi_cfa_expression %rsp-8,deref,+8 +___ + } + foreach (Xupdate_512_AVX()) { # 23 instructions eval; if ($_ !~ /\;$/) { @@ -2182,6 +2238,8 @@ () add $a1,$A #mov `2*$SZ*$rounds+8`(%rsp),$inp # $_inp lea `2*$SZ*($rounds-8)`(%rsp),%rsp +# restore frame pointer to original location at $_rsp +.cfi_cfa_expression $_rsp,deref,+8 add $SZ*0($ctx),$A add $SZ*1($ctx),$B @@ -2207,22 +2265,24 @@ () jbe .Loop_avx2 lea (%rsp),$Tbl +# temporarily use $Tbl as index to $_rsp +# this avoids the need to save a secondary frame pointer at -8(%rsp) +.cfi_cfa_expression $Tbl+`16*$SZ+3*8`,deref,+8 .Ldone_avx2: - lea ($Tbl),%rsp - mov $_rsp,%rsi + mov `16*$SZ+3*8`($Tbl),%rsi .cfi_def_cfa %rsi,8 vzeroupper ___ $code.=<<___ if ($win64); - movaps 16*$SZ+32(%rsp),%xmm6 - movaps 16*$SZ+48(%rsp),%xmm7 - movaps 16*$SZ+64(%rsp),%xmm8 - movaps 16*$SZ+80(%rsp),%xmm9 + movaps 16*$SZ+32($Tbl),%xmm6 + movaps 16*$SZ+48($Tbl),%xmm7 + movaps 16*$SZ+64($Tbl),%xmm8 + movaps 16*$SZ+80($Tbl),%xmm9 ___ $code.=<<___ if ($win64 && $SZ>4); - movaps 16*$SZ+96(%rsp),%xmm10 - movaps 16*$SZ+112(%rsp),%xmm11 + movaps 16*$SZ+96($Tbl),%xmm10 + movaps 16*$SZ+112($Tbl),%xmm11 ___ $code.=<<___; mov -48(%rsi),%r15 @@ -2495,4 +2555,4 @@ sub sha256op38 { print $_,"\n"; } -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512p8-ppc.pl b/deps/openssl/openssl/crypto/sha/asm/sha512p8-ppc.pl index 0d4fdd292c07a5..3f202964261d10 100755 --- a/deps/openssl/openssl/crypto/sha/asm/sha512p8-ppc.pl +++ b/deps/openssl/openssl/crypto/sha/asm/sha512p8-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -417,4 +417,4 @@ sub ROUND { $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/sha/sha1dgst.c b/deps/openssl/openssl/crypto/sha/sha1dgst.c index 819370e61540f5..7965829e64b0bf 100644 --- a/deps/openssl/openssl/crypto/sha/sha1dgst.c +++ b/deps/openssl/openssl/crypto/sha/sha1dgst.c @@ -14,4 +14,4 @@ /* The implementation is in ../md32_common.h */ -# include "sha_locl.h" +# include "sha_local.h" diff --git a/deps/openssl/openssl/crypto/sha/sha256.c b/deps/openssl/openssl/crypto/sha/sha256.c index bf78f075eefbc8..11050ba5471466 100644 --- a/deps/openssl/openssl/crypto/sha/sha256.c +++ b/deps/openssl/openssl/crypto/sha/sha256.c @@ -128,7 +128,7 @@ static #endif void sha256_block_data_order(SHA256_CTX *ctx, const void *in, size_t num); -#include "internal/md32_common.h" +#include "crypto/md32_common.h" #ifndef SHA256_ASM static const SHA_LONG K256[64] = { diff --git a/deps/openssl/openssl/crypto/sha/sha512.c b/deps/openssl/openssl/crypto/sha/sha512.c index 50b65ee811d661..ca1f387a64f8a7 100644 --- a/deps/openssl/openssl/crypto/sha/sha512.c +++ b/deps/openssl/openssl/crypto/sha/sha512.c @@ -50,7 +50,7 @@ #include #include "internal/cryptlib.h" -#include "internal/sha.h" +#include "crypto/sha.h" #if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \ defined(__x86_64) || defined(_M_AMD64) || defined(_M_X64) || \ diff --git a/deps/openssl/openssl/crypto/sha/sha_locl.h b/deps/openssl/openssl/crypto/sha/sha_local.h similarity index 99% rename from deps/openssl/openssl/crypto/sha/sha_locl.h rename to deps/openssl/openssl/crypto/sha/sha_local.h index 4e5a0903826789..6edb9ef1d27e53 100644 --- a/deps/openssl/openssl/crypto/sha/sha_locl.h +++ b/deps/openssl/openssl/crypto/sha/sha_local.h @@ -42,7 +42,7 @@ static void sha1_block_data_order(SHA_CTX *c, const void *p, size_t num); void sha1_block_data_order(SHA_CTX *c, const void *p, size_t num); #endif -#include "internal/md32_common.h" +#include "crypto/md32_common.h" #define INIT_DATA_h0 0x67452301UL #define INIT_DATA_h1 0xefcdab89UL diff --git a/deps/openssl/openssl/crypto/siphash/siphash.c b/deps/openssl/openssl/crypto/siphash/siphash.c index be74a38d934df7..07d94c1e6e59d5 100644 --- a/deps/openssl/openssl/crypto/siphash/siphash.c +++ b/deps/openssl/openssl/crypto/siphash/siphash.c @@ -27,7 +27,7 @@ #include #include -#include "internal/siphash.h" +#include "crypto/siphash.h" #include "siphash_local.h" /* default: SipHash-2-4 */ diff --git a/deps/openssl/openssl/crypto/siphash/siphash_ameth.c b/deps/openssl/openssl/crypto/siphash/siphash_ameth.c index c0ab7efae4b6d3..2da6dfec8025d3 100644 --- a/deps/openssl/openssl/crypto/siphash/siphash_ameth.c +++ b/deps/openssl/openssl/crypto/siphash/siphash_ameth.c @@ -10,10 +10,10 @@ #include #include "internal/cryptlib.h" #include -#include "internal/asn1_int.h" -#include "internal/siphash.h" +#include "crypto/asn1.h" +#include "crypto/siphash.h" #include "siphash_local.h" -#include "internal/evp_int.h" +#include "crypto/evp.h" /* * SIPHASH "ASN1" method. This is just here to indicate the maximum diff --git a/deps/openssl/openssl/crypto/siphash/siphash_pmeth.c b/deps/openssl/openssl/crypto/siphash/siphash_pmeth.c index 66e552fec5e511..0c7d2c61902cae 100644 --- a/deps/openssl/openssl/crypto/siphash/siphash_pmeth.c +++ b/deps/openssl/openssl/crypto/siphash/siphash_pmeth.c @@ -13,9 +13,9 @@ #include #include #include -#include "internal/siphash.h" +#include "crypto/siphash.h" #include "siphash_local.h" -#include "internal/evp_int.h" +#include "crypto/evp.h" /* SIPHASH pkey context structure */ diff --git a/deps/openssl/openssl/crypto/sm2/sm2_crypt.c b/deps/openssl/openssl/crypto/sm2/sm2_crypt.c index 4389fc731edd89..ef505f64412bdc 100644 --- a/deps/openssl/openssl/crypto/sm2/sm2_crypt.c +++ b/deps/openssl/openssl/crypto/sm2/sm2_crypt.c @@ -9,9 +9,9 @@ * https://www.openssl.org/source/license.html */ -#include "internal/sm2.h" -#include "internal/sm2err.h" -#include "internal/ec_int.h" /* ecdh_KDF_X9_63() */ +#include "crypto/sm2.h" +#include "crypto/sm2err.h" +#include "crypto/ec.h" /* ecdh_KDF_X9_63() */ #include #include #include diff --git a/deps/openssl/openssl/crypto/sm2/sm2_err.c b/deps/openssl/openssl/crypto/sm2/sm2_err.c index 653c6797f86f23..e5973e9c7140c5 100644 --- a/deps/openssl/openssl/crypto/sm2/sm2_err.c +++ b/deps/openssl/openssl/crypto/sm2/sm2_err.c @@ -9,7 +9,7 @@ */ #include -#include "internal/sm2err.h" +#include "crypto/sm2err.h" #ifndef OPENSSL_NO_ERR diff --git a/deps/openssl/openssl/crypto/sm2/sm2_pmeth.c b/deps/openssl/openssl/crypto/sm2/sm2_pmeth.c index d187699cc41170..b42a14c32f265a 100644 --- a/deps/openssl/openssl/crypto/sm2/sm2_pmeth.c +++ b/deps/openssl/openssl/crypto/sm2/sm2_pmeth.c @@ -11,9 +11,9 @@ #include #include #include -#include "internal/evp_int.h" -#include "internal/sm2.h" -#include "internal/sm2err.h" +#include "crypto/evp.h" +#include "crypto/sm2.h" +#include "crypto/sm2err.h" /* EC pkey context structure */ @@ -220,6 +220,10 @@ static int pkey_sm2_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2) *(size_t *)p2 = smctx->id_len; return 1; + case EVP_PKEY_CTRL_DIGESTINIT: + /* nothing to be inited, this is to suppress the error... */ + return 1; + default: return -2; } diff --git a/deps/openssl/openssl/crypto/sm2/sm2_sign.c b/deps/openssl/openssl/crypto/sm2/sm2_sign.c index 50ecb4d68cc65b..683f03f93580ad 100644 --- a/deps/openssl/openssl/crypto/sm2/sm2_sign.c +++ b/deps/openssl/openssl/crypto/sm2/sm2_sign.c @@ -9,9 +9,9 @@ * https://www.openssl.org/source/license.html */ -#include "internal/sm2.h" -#include "internal/sm2err.h" -#include "internal/ec_int.h" /* ec_group_do_inverse_ord() */ +#include "crypto/sm2.h" +#include "crypto/sm2err.h" +#include "crypto/ec.h" /* ec_group_do_inverse_ord() */ #include "internal/numbers.h" #include #include diff --git a/deps/openssl/openssl/crypto/sm3/m_sm3.c b/deps/openssl/openssl/crypto/sm3/m_sm3.c index 85538dc8af06a3..7e54f4298431c8 100644 --- a/deps/openssl/openssl/crypto/sm3/m_sm3.c +++ b/deps/openssl/openssl/crypto/sm3/m_sm3.c @@ -12,8 +12,8 @@ #ifndef OPENSSL_NO_SM3 # include -# include "internal/evp_int.h" -# include "internal/sm3.h" +# include "crypto/evp.h" +# include "crypto/sm3.h" static int init(EVP_MD_CTX *ctx) { diff --git a/deps/openssl/openssl/crypto/sm3/sm3.c b/deps/openssl/openssl/crypto/sm3/sm3.c index 1588dd115aa286..d78292b4c5b7e7 100644 --- a/deps/openssl/openssl/crypto/sm3/sm3.c +++ b/deps/openssl/openssl/crypto/sm3/sm3.c @@ -10,7 +10,7 @@ */ #include -#include "sm3_locl.h" +#include "sm3_local.h" int sm3_init(SM3_CTX *c) { diff --git a/deps/openssl/openssl/crypto/sm3/sm3_locl.h b/deps/openssl/openssl/crypto/sm3/sm3_local.h similarity index 97% rename from deps/openssl/openssl/crypto/sm3/sm3_locl.h rename to deps/openssl/openssl/crypto/sm3/sm3_local.h index efa6db57c6cdd8..7171de510de3b7 100644 --- a/deps/openssl/openssl/crypto/sm3/sm3_locl.h +++ b/deps/openssl/openssl/crypto/sm3/sm3_local.h @@ -10,7 +10,7 @@ */ #include -#include "internal/sm3.h" +#include "crypto/sm3.h" #define DATA_ORDER_IS_BIG_ENDIAN @@ -36,7 +36,7 @@ void sm3_transform(SM3_CTX *c, const unsigned char *data); -#include "internal/md32_common.h" +#include "crypto/md32_common.h" #define P0(X) (X ^ ROTATE(X, 9) ^ ROTATE(X, 17)) #define P1(X) (X ^ ROTATE(X, 15) ^ ROTATE(X, 23)) diff --git a/deps/openssl/openssl/crypto/sm4/sm4.c b/deps/openssl/openssl/crypto/sm4/sm4.c index 0c819a4b68eb36..5750e763319a0a 100644 --- a/deps/openssl/openssl/crypto/sm4/sm4.c +++ b/deps/openssl/openssl/crypto/sm4/sm4.c @@ -10,7 +10,7 @@ */ #include -#include "internal/sm4.h" +#include "crypto/sm4.h" static const uint8_t SM4_S[256] = { 0xD6, 0x90, 0xE9, 0xFE, 0xCC, 0xE1, 0x3D, 0xB7, 0x16, 0xB6, 0x14, 0xC2, diff --git a/deps/openssl/openssl/crypto/sparc_arch.h b/deps/openssl/openssl/crypto/sparc_arch.h index 99eafb331352e8..c74063be2fa6ac 100644 --- a/deps/openssl/openssl/crypto/sparc_arch.h +++ b/deps/openssl/openssl/crypto/sparc_arch.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef __SPARC_ARCH_H__ -# define __SPARC_ARCH_H__ +#ifndef OSSL_CRYPTO_SPARC_ARCH_H +# define OSSL_CRYPTO_SPARC_ARCH_H # define SPARCV9_TICK_PRIVILEGED (1<<0) # define SPARCV9_PREFER_FPU (1<<1) @@ -115,4 +115,4 @@ mov tmp, %o7; # endif -#endif /* __SPARC_ARCH_H__ */ +#endif /* OSSL_CRYPTO_SPARC_ARCH_H */ diff --git a/deps/openssl/openssl/crypto/sparcv9cap.c b/deps/openssl/openssl/crypto/sparcv9cap.c index c8c567536b33d7..ff1a983ac98b4b 100644 --- a/deps/openssl/openssl/crypto/sparcv9cap.c +++ b/deps/openssl/openssl/crypto/sparcv9cap.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -268,7 +268,7 @@ void OPENSSL_cpuid_setup(void) /* * In wait for better solution _sparcv9_rdcfr is masked by - * VIS3 flag, because it goes to uninterruptable endless + * VIS3 flag, because it goes to uninterruptible endless * loop on UltraSPARC II running Solaris. Things might be * different on Linux... */ diff --git a/deps/openssl/openssl/crypto/srp/srp_lib.c b/deps/openssl/openssl/crypto/srp/srp_lib.c index ca20f6d0979815..4f417de0c98970 100644 --- a/deps/openssl/openssl/crypto/srp/srp_lib.c +++ b/deps/openssl/openssl/crypto/srp/srp_lib.c @@ -16,7 +16,7 @@ # include # include # include -# include "internal/bn_srp.h" +# include "crypto/bn_srp.h" /* calculate = SHA1(PAD(x) || PAD(y)) */ diff --git a/deps/openssl/openssl/crypto/srp/srp_vfy.c b/deps/openssl/openssl/crypto/srp/srp_vfy.c index eb279dd4187a22..3dd2ab05075718 100644 --- a/deps/openssl/openssl/crypto/srp/srp_vfy.c +++ b/deps/openssl/openssl/crypto/srp/srp_vfy.c @@ -13,7 +13,7 @@ #ifndef OPENSSL_NO_SRP # include "internal/cryptlib.h" -# include "internal/evp_int.h" +# include "crypto/evp.h" # include # include # include diff --git a/deps/openssl/openssl/crypto/store/loader_file.c b/deps/openssl/openssl/crypto/store/loader_file.c index 6f569ee62d71df..8f1d20e74aa4f4 100644 --- a/deps/openssl/openssl/crypto/store/loader_file.c +++ b/deps/openssl/openssl/crypto/store/loader_file.c @@ -24,12 +24,12 @@ #include #include #include /* For the PKCS8 stuff o.O */ -#include "internal/asn1_int.h" -#include "internal/ctype.h" +#include "crypto/asn1.h" +#include "crypto/ctype.h" #include "internal/o_dir.h" #include "internal/cryptlib.h" -#include "internal/store_int.h" -#include "store_locl.h" +#include "crypto/store.h" +#include "store_local.h" #ifdef _WIN32 # define stat _stat diff --git a/deps/openssl/openssl/crypto/store/store_init.c b/deps/openssl/openssl/crypto/store/store_init.c index b398bf598ff6d9..0103c8db8aaf5b 100644 --- a/deps/openssl/openssl/crypto/store/store_init.c +++ b/deps/openssl/openssl/crypto/store/store_init.c @@ -8,8 +8,8 @@ */ #include -#include "internal/store.h" -#include "store_locl.h" +#include "crypto/store.h" +#include "store_local.h" static CRYPTO_ONCE store_init = CRYPTO_ONCE_STATIC_INIT; DEFINE_RUN_ONCE_STATIC(do_store_init) diff --git a/deps/openssl/openssl/crypto/store/store_lib.c b/deps/openssl/openssl/crypto/store/store_lib.c index 7de2e31f556f75..fb8184d2d9b540 100644 --- a/deps/openssl/openssl/crypto/store/store_lib.c +++ b/deps/openssl/openssl/crypto/store/store_lib.c @@ -18,8 +18,8 @@ #include #include #include "internal/thread_once.h" -#include "internal/store_int.h" -#include "store_locl.h" +#include "crypto/store.h" +#include "store_local.h" struct ossl_store_ctx_st { const OSSL_STORE_LOADER *loader; diff --git a/deps/openssl/openssl/crypto/store/store_locl.h b/deps/openssl/openssl/crypto/store/store_local.h similarity index 100% rename from deps/openssl/openssl/crypto/store/store_locl.h rename to deps/openssl/openssl/crypto/store/store_local.h diff --git a/deps/openssl/openssl/crypto/store/store_register.c b/deps/openssl/openssl/crypto/store/store_register.c index e68cb3c5685376..3631d9b506346b 100644 --- a/deps/openssl/openssl/crypto/store/store_register.c +++ b/deps/openssl/openssl/crypto/store/store_register.c @@ -8,12 +8,12 @@ */ #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include #include #include -#include "store_locl.h" +#include "store_local.h" static CRYPTO_RWLOCK *registry_lock; static CRYPTO_ONCE registry_init = CRYPTO_ONCE_STATIC_INIT; diff --git a/deps/openssl/openssl/crypto/threads_none.c b/deps/openssl/openssl/crypto/threads_none.c index aabf0e0dc090b4..aaaaae872a9b05 100644 --- a/deps/openssl/openssl/crypto/threads_none.c +++ b/deps/openssl/openssl/crypto/threads_none.c @@ -143,7 +143,7 @@ int openssl_get_fork_id(void) # if defined(OPENSSL_SYS_UNIX) return getpid(); # else - return return 0; + return 0; # endif } #endif diff --git a/deps/openssl/openssl/crypto/threads_win.c b/deps/openssl/openssl/crypto/threads_win.c index 44a360fcabb8d6..ba25d2719aadb3 100644 --- a/deps/openssl/openssl/crypto/threads_win.c +++ b/deps/openssl/openssl/crypto/threads_win.c @@ -24,15 +24,15 @@ CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void) return NULL; } -#if !defined(_WIN32_WCE) +# if !defined(_WIN32_WCE) /* 0x400 is the spin count value suggested in the documentation */ if (!InitializeCriticalSectionAndSpinCount(lock, 0x400)) { OPENSSL_free(lock); return NULL; } -#else +# else InitializeCriticalSection(lock); -#endif +# endif return lock; } diff --git a/deps/openssl/openssl/crypto/ts/ts_asn1.c b/deps/openssl/openssl/crypto/ts/ts_asn1.c index 8707207082c9a1..2840f5858acbff 100644 --- a/deps/openssl/openssl/crypto/ts/ts_asn1.c +++ b/deps/openssl/openssl/crypto/ts/ts_asn1.c @@ -10,7 +10,7 @@ #include #include #include -#include "ts_lcl.h" +#include "ts_local.h" ASN1_SEQUENCE(TS_MSG_IMPRINT) = { ASN1_SIMPLE(TS_MSG_IMPRINT, hash_algo, X509_ALGOR), diff --git a/deps/openssl/openssl/crypto/ts/ts_lib.c b/deps/openssl/openssl/crypto/ts/ts_lib.c index ce2e12c593e068..bfe981364b03f8 100644 --- a/deps/openssl/openssl/crypto/ts/ts_lib.c +++ b/deps/openssl/openssl/crypto/ts/ts_lib.c @@ -14,7 +14,7 @@ #include #include #include -#include "ts_lcl.h" +#include "ts_local.h" int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num) { diff --git a/deps/openssl/openssl/crypto/ts/ts_lcl.h b/deps/openssl/openssl/crypto/ts/ts_local.h similarity index 100% rename from deps/openssl/openssl/crypto/ts/ts_lcl.h rename to deps/openssl/openssl/crypto/ts/ts_local.h diff --git a/deps/openssl/openssl/crypto/ts/ts_req_print.c b/deps/openssl/openssl/crypto/ts/ts_req_print.c index 0dedf47d924b1e..4eba5cf0181c4e 100644 --- a/deps/openssl/openssl/crypto/ts/ts_req_print.c +++ b/deps/openssl/openssl/crypto/ts/ts_req_print.c @@ -13,7 +13,7 @@ #include #include #include -#include "ts_lcl.h" +#include "ts_local.h" int TS_REQ_print_bio(BIO *bio, TS_REQ *a) { diff --git a/deps/openssl/openssl/crypto/ts/ts_req_utils.c b/deps/openssl/openssl/crypto/ts/ts_req_utils.c index 2073d3395d75e2..a4568e3b779d8b 100644 --- a/deps/openssl/openssl/crypto/ts/ts_req_utils.c +++ b/deps/openssl/openssl/crypto/ts/ts_req_utils.c @@ -12,7 +12,7 @@ #include #include #include -#include "ts_lcl.h" +#include "ts_local.h" int TS_REQ_set_version(TS_REQ *a, long version) { diff --git a/deps/openssl/openssl/crypto/ts/ts_rsp_print.c b/deps/openssl/openssl/crypto/ts/ts_rsp_print.c index 6eb0ec8d7504bf..a2451aaa8d8100 100644 --- a/deps/openssl/openssl/crypto/ts/ts_rsp_print.c +++ b/deps/openssl/openssl/crypto/ts/ts_rsp_print.c @@ -13,7 +13,7 @@ #include #include #include -#include "ts_lcl.h" +#include "ts_local.h" struct status_map_st { int bit; diff --git a/deps/openssl/openssl/crypto/ts/ts_rsp_sign.c b/deps/openssl/openssl/crypto/ts/ts_rsp_sign.c index 1b2b84ef6b67db..a584ae5f5edde0 100644 --- a/deps/openssl/openssl/crypto/ts/ts_rsp_sign.c +++ b/deps/openssl/openssl/crypto/ts/ts_rsp_sign.c @@ -14,7 +14,7 @@ #include #include #include -#include "ts_lcl.h" +#include "ts_local.h" static ASN1_INTEGER *def_serial_cb(struct TS_resp_ctx *, void *); static int def_time_cb(struct TS_resp_ctx *, void *, long *sec, long *usec); diff --git a/deps/openssl/openssl/crypto/ts/ts_rsp_utils.c b/deps/openssl/openssl/crypto/ts/ts_rsp_utils.c index 3ecee39a22c21e..3fa0dbd0f09eec 100644 --- a/deps/openssl/openssl/crypto/ts/ts_rsp_utils.c +++ b/deps/openssl/openssl/crypto/ts/ts_rsp_utils.c @@ -12,7 +12,7 @@ #include #include #include -#include "ts_lcl.h" +#include "ts_local.h" int TS_RESP_set_status_info(TS_RESP *a, TS_STATUS_INFO *status_info) { diff --git a/deps/openssl/openssl/crypto/ts/ts_rsp_verify.c b/deps/openssl/openssl/crypto/ts/ts_rsp_verify.c index 9deda81b07fb82..086021247c01ca 100644 --- a/deps/openssl/openssl/crypto/ts/ts_rsp_verify.c +++ b/deps/openssl/openssl/crypto/ts/ts_rsp_verify.c @@ -12,7 +12,7 @@ #include #include #include -#include "ts_lcl.h" +#include "ts_local.h" static int ts_verify_cert(X509_STORE *store, STACK_OF(X509) *untrusted, X509 *signer, STACK_OF(X509) **chain); diff --git a/deps/openssl/openssl/crypto/ts/ts_verify_ctx.c b/deps/openssl/openssl/crypto/ts/ts_verify_ctx.c index d4792ee04f597d..1e80e0d3702966 100644 --- a/deps/openssl/openssl/crypto/ts/ts_verify_ctx.c +++ b/deps/openssl/openssl/crypto/ts/ts_verify_ctx.c @@ -10,7 +10,7 @@ #include "internal/cryptlib.h" #include #include -#include "ts_lcl.h" +#include "ts_local.h" TS_VERIFY_CTX *TS_VERIFY_CTX_new(void) { diff --git a/deps/openssl/openssl/crypto/ui/ui_lib.c b/deps/openssl/openssl/crypto/ui/ui_lib.c index f550972d3eec58..49cc45057c4cfc 100644 --- a/deps/openssl/openssl/crypto/ui/ui_lib.c +++ b/deps/openssl/openssl/crypto/ui/ui_lib.c @@ -13,7 +13,7 @@ #include #include #include -#include "ui_locl.h" +#include "ui_local.h" UI *UI_new(void) { diff --git a/deps/openssl/openssl/crypto/ui/ui_locl.h b/deps/openssl/openssl/crypto/ui/ui_local.h similarity index 98% rename from deps/openssl/openssl/crypto/ui/ui_locl.h rename to deps/openssl/openssl/crypto/ui/ui_local.h index 19b33b8fc6776f..8a7dbda147216f 100644 --- a/deps/openssl/openssl/crypto/ui/ui_locl.h +++ b/deps/openssl/openssl/crypto/ui/ui_local.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_UI_LOCL_H -# define HEADER_UI_LOCL_H +#ifndef OSSL_CRYPTO_UI_LOCAL_H +# define OSSL_CRYPTO_UI_LOCAL_H # include # include diff --git a/deps/openssl/openssl/crypto/ui/ui_null.c b/deps/openssl/openssl/crypto/ui/ui_null.c index 9e5f6fca59e58c..9ab00e0a7cb8b6 100644 --- a/deps/openssl/openssl/crypto/ui/ui_null.c +++ b/deps/openssl/openssl/crypto/ui/ui_null.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "ui_locl.h" +#include "ui_local.h" static const UI_METHOD ui_null = { "OpenSSL NULL UI", diff --git a/deps/openssl/openssl/crypto/ui/ui_openssl.c b/deps/openssl/openssl/crypto/ui/ui_openssl.c index 0ec9f0daf333ee..168de4630dcc01 100644 --- a/deps/openssl/openssl/crypto/ui/ui_openssl.c +++ b/deps/openssl/openssl/crypto/ui/ui_openssl.c @@ -53,7 +53,7 @@ # endif # endif -# include "ui_locl.h" +# include "ui_local.h" # include "internal/cryptlib.h" # ifdef OPENSSL_SYS_VMS /* prototypes for sys$whatever */ diff --git a/deps/openssl/openssl/crypto/ui/ui_util.c b/deps/openssl/openssl/crypto/ui/ui_util.c index b379324f9bab3c..32a3c4e38de2c6 100644 --- a/deps/openssl/openssl/crypto/ui/ui_util.c +++ b/deps/openssl/openssl/crypto/ui/ui_util.c @@ -8,8 +8,9 @@ */ #include +#include /* PEM_def_callback() */ #include "internal/thread_once.h" -#include "ui_locl.h" +#include "ui_local.h" #ifndef BUFSIZ #define BUFSIZ 256 @@ -156,7 +157,7 @@ UI_METHOD *UI_UTIL_wrap_read_pem_callback(pem_password_cb *cb, int rwflag) return NULL; } data->rwflag = rwflag; - data->cb = cb; + data->cb = cb != NULL ? cb : PEM_def_callback; return ui_method; } diff --git a/deps/openssl/openssl/crypto/whrlpool/asm/wp-mmx.pl b/deps/openssl/openssl/crypto/whrlpool/asm/wp-mmx.pl index 2241c6f0f24e6e..176be50a67f218 100644 --- a/deps/openssl/openssl/crypto/whrlpool/asm/wp-mmx.pl +++ b/deps/openssl/openssl/crypto/whrlpool/asm/wp-mmx.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -69,19 +69,19 @@ () unshift(@_,pop(@_)); } } - else { die "unvalid SCALE value"; } + else { die "invalid SCALE value"; } } sub scale() { if ($SCALE==2) { &lea(@_[0],&DWP(0,@_[1],@_[1])); } elsif ($SCALE==8) { &lea(@_[0],&DWP(0,"",@_[1],8)); } - else { die "unvalid SCALE value"; } + else { die "invalid SCALE value"; } } sub row() { if ($SCALE==2) { ((8-shift)&7); } elsif ($SCALE==8) { (8*shift); } - else { die "unvalid SCALE value"; } + else { die "invalid SCALE value"; } } $tbl="ebp"; @@ -504,4 +504,4 @@ () &function_end_B("whirlpool_block_mmx"); &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/whrlpool/asm/wp-x86_64.pl b/deps/openssl/openssl/crypto/whrlpool/asm/wp-x86_64.pl index fe23d8cad00bac..b4fcd8be3c756f 100644 --- a/deps/openssl/openssl/crypto/whrlpool/asm/wp-x86_64.pl +++ b/deps/openssl/openssl/crypto/whrlpool/asm/wp-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -614,4 +614,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem; print $code; -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/crypto/whrlpool/wp_block.c b/deps/openssl/openssl/crypto/whrlpool/wp_block.c index 2ae5c38aba63e7..c21c04dbc1bbfb 100644 --- a/deps/openssl/openssl/crypto/whrlpool/wp_block.c +++ b/deps/openssl/openssl/crypto/whrlpool/wp_block.c @@ -36,7 +36,7 @@ * */ -#include "wp_locl.h" +#include "wp_local.h" #include typedef unsigned char u8; diff --git a/deps/openssl/openssl/crypto/whrlpool/wp_dgst.c b/deps/openssl/openssl/crypto/whrlpool/wp_dgst.c index 1ac29803a4d6aa..e8a3392268aa3c 100644 --- a/deps/openssl/openssl/crypto/whrlpool/wp_dgst.c +++ b/deps/openssl/openssl/crypto/whrlpool/wp_dgst.c @@ -53,7 +53,7 @@ */ #include -#include "wp_locl.h" +#include "wp_local.h" #include int WHIRLPOOL_Init(WHIRLPOOL_CTX *c) diff --git a/deps/openssl/openssl/crypto/whrlpool/wp_locl.h b/deps/openssl/openssl/crypto/whrlpool/wp_local.h similarity index 100% rename from deps/openssl/openssl/crypto/whrlpool/wp_locl.h rename to deps/openssl/openssl/crypto/whrlpool/wp_local.h diff --git a/deps/openssl/openssl/crypto/x509/by_dir.c b/deps/openssl/openssl/crypto/x509/by_dir.c index b691a83a0dfbd9..238c2519a6e2d2 100644 --- a/deps/openssl/openssl/crypto/x509/by_dir.c +++ b/deps/openssl/openssl/crypto/x509/by_dir.c @@ -19,8 +19,8 @@ #endif #include -#include "internal/x509_int.h" -#include "x509_lcl.h" +#include "crypto/x509.h" +#include "x509_local.h" struct lookup_dir_hashes_st { unsigned long hash; diff --git a/deps/openssl/openssl/crypto/x509/by_file.c b/deps/openssl/openssl/crypto/x509/by_file.c index 244512c9352b3a..237b362e274627 100644 --- a/deps/openssl/openssl/crypto/x509/by_file.c +++ b/deps/openssl/openssl/crypto/x509/by_file.c @@ -15,7 +15,7 @@ #include #include #include -#include "x509_lcl.h" +#include "x509_local.h" static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret); diff --git a/deps/openssl/openssl/crypto/x509/t_x509.c b/deps/openssl/openssl/crypto/x509/t_x509.c index ccacbe7cbf8f4e..12d807f705ede5 100644 --- a/deps/openssl/openssl/crypto/x509/t_x509.c +++ b/deps/openssl/openssl/crypto/x509/t_x509.c @@ -14,7 +14,7 @@ #include #include #include -#include "internal/asn1_int.h" +#include "crypto/asn1.h" #ifndef OPENSSL_NO_STDIO int X509_print_fp(FILE *fp, X509 *x) diff --git a/deps/openssl/openssl/crypto/x509/x509_att.c b/deps/openssl/openssl/crypto/x509/x509_att.c index 3c4566d2e708eb..651aa78083093e 100644 --- a/deps/openssl/openssl/crypto/x509/x509_att.c +++ b/deps/openssl/openssl/crypto/x509/x509_att.c @@ -15,7 +15,7 @@ #include #include #include -#include "x509_lcl.h" +#include "x509_local.h" int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x) { diff --git a/deps/openssl/openssl/crypto/x509/x509_cmp.c b/deps/openssl/openssl/crypto/x509/x509_cmp.c index 833bfce1bf23a8..e06489c3347b94 100644 --- a/deps/openssl/openssl/crypto/x509/x509_cmp.c +++ b/deps/openssl/openssl/crypto/x509/x509_cmp.c @@ -13,7 +13,7 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b) { diff --git a/deps/openssl/openssl/crypto/x509/x509_ext.c b/deps/openssl/openssl/crypto/x509/x509_ext.c index 2db843760c6895..4cdab724eadf05 100644 --- a/deps/openssl/openssl/crypto/x509/x509_ext.c +++ b/deps/openssl/openssl/crypto/x509/x509_ext.c @@ -13,7 +13,7 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include int X509_CRL_get_ext_count(const X509_CRL *x) diff --git a/deps/openssl/openssl/crypto/x509/x509_lcl.h b/deps/openssl/openssl/crypto/x509/x509_local.h similarity index 100% rename from deps/openssl/openssl/crypto/x509/x509_lcl.h rename to deps/openssl/openssl/crypto/x509/x509_local.h diff --git a/deps/openssl/openssl/crypto/x509/x509_lu.c b/deps/openssl/openssl/crypto/x509/x509_lu.c index b7d2e66574c454..641a41c35c784d 100644 --- a/deps/openssl/openssl/crypto/x509/x509_lu.c +++ b/deps/openssl/openssl/crypto/x509/x509_lu.c @@ -11,9 +11,9 @@ #include "internal/cryptlib.h" #include "internal/refcount.h" #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include -#include "x509_lcl.h" +#include "x509_local.h" X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method) { diff --git a/deps/openssl/openssl/crypto/x509/x509_meth.c b/deps/openssl/openssl/crypto/x509/x509_meth.c index 9dc587a0921243..9348cc8eb788a3 100644 --- a/deps/openssl/openssl/crypto/x509/x509_meth.c +++ b/deps/openssl/openssl/crypto/x509/x509_meth.c @@ -15,7 +15,7 @@ #include #include #include -#include "x509_lcl.h" +#include "x509_local.h" X509_LOOKUP_METHOD *X509_LOOKUP_meth_new(const char *name) { diff --git a/deps/openssl/openssl/crypto/x509/x509_obj.c b/deps/openssl/openssl/crypto/x509/x509_obj.c index 85c39415c11e9f..f54d483cc4ddc3 100644 --- a/deps/openssl/openssl/crypto/x509/x509_obj.c +++ b/deps/openssl/openssl/crypto/x509/x509_obj.c @@ -12,7 +12,7 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" /* * Limit to ensure we don't overflow: much greater than diff --git a/deps/openssl/openssl/crypto/x509/x509_r2x.c b/deps/openssl/openssl/crypto/x509/x509_r2x.c index 3d72787d3164dd..6b1623feacb719 100644 --- a/deps/openssl/openssl/crypto/x509/x509_r2x.c +++ b/deps/openssl/openssl/crypto/x509/x509_r2x.c @@ -13,7 +13,7 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include #include diff --git a/deps/openssl/openssl/crypto/x509/x509_req.c b/deps/openssl/openssl/crypto/x509/x509_req.c index 0bdbb81db894d0..7ba0f26495f976 100644 --- a/deps/openssl/openssl/crypto/x509/x509_req.c +++ b/deps/openssl/openssl/crypto/x509/x509_req.c @@ -14,7 +14,7 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include #include #include diff --git a/deps/openssl/openssl/crypto/x509/x509_set.c b/deps/openssl/openssl/crypto/x509/x509_set.c index 3ab6bf35115ffa..164b4e2be136a9 100644 --- a/deps/openssl/openssl/crypto/x509/x509_set.c +++ b/deps/openssl/openssl/crypto/x509/x509_set.c @@ -15,9 +15,9 @@ #include #include #include -#include "internal/asn1_int.h" -#include "internal/x509_int.h" -#include "x509_lcl.h" +#include "crypto/asn1.h" +#include "crypto/x509.h" +#include "x509_local.h" int X509_set_version(X509 *x, long version) { diff --git a/deps/openssl/openssl/crypto/x509/x509_trs.c b/deps/openssl/openssl/crypto/x509/x509_trs.c index d749af4d590a6c..9e199d63e46a31 100644 --- a/deps/openssl/openssl/crypto/x509/x509_trs.c +++ b/deps/openssl/openssl/crypto/x509/x509_trs.c @@ -10,7 +10,7 @@ #include #include "internal/cryptlib.h" #include -#include "internal/x509_int.h" +#include "crypto/x509.h" static int tr_cmp(const X509_TRUST *const *a, const X509_TRUST *const *b); static void trtable_free(X509_TRUST *p); diff --git a/deps/openssl/openssl/crypto/x509/x509_v3.c b/deps/openssl/openssl/crypto/x509/x509_v3.c index 75ae767d608c94..c7876023304ca4 100644 --- a/deps/openssl/openssl/crypto/x509/x509_v3.c +++ b/deps/openssl/openssl/crypto/x509/x509_v3.c @@ -15,7 +15,7 @@ #include #include #include -#include "x509_lcl.h" +#include "x509_local.h" int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x) { diff --git a/deps/openssl/openssl/crypto/x509/x509_vfy.c b/deps/openssl/openssl/crypto/x509/x509_vfy.c index 6be2c71e8692bf..361954c62ee785 100644 --- a/deps/openssl/openssl/crypto/x509/x509_vfy.c +++ b/deps/openssl/openssl/crypto/x509/x509_vfy.c @@ -12,7 +12,7 @@ #include #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include "internal/cryptlib.h" #include #include @@ -22,8 +22,8 @@ #include #include #include "internal/dane.h" -#include "internal/x509_int.h" -#include "x509_lcl.h" +#include "crypto/x509.h" +#include "x509_local.h" /* CRL score values */ diff --git a/deps/openssl/openssl/crypto/x509/x509_vpm.c b/deps/openssl/openssl/crypto/x509/x509_vpm.c index aea186295c2a02..68b681d5ee854a 100644 --- a/deps/openssl/openssl/crypto/x509/x509_vpm.c +++ b/deps/openssl/openssl/crypto/x509/x509_vpm.c @@ -14,9 +14,9 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" -#include "x509_lcl.h" +#include "x509_local.h" /* X509_VERIFY_PARAM functions */ diff --git a/deps/openssl/openssl/crypto/x509/x509cset.c b/deps/openssl/openssl/crypto/x509/x509cset.c index 7645ce37597061..6c08509138d5fc 100644 --- a/deps/openssl/openssl/crypto/x509/x509cset.c +++ b/deps/openssl/openssl/crypto/x509/x509cset.c @@ -14,7 +14,7 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" int X509_CRL_set_version(X509_CRL *x, long version) { diff --git a/deps/openssl/openssl/crypto/x509/x509name.c b/deps/openssl/openssl/crypto/x509/x509name.c index 64a73e793fdf5c..c86d8e7914f114 100644 --- a/deps/openssl/openssl/crypto/x509/x509name.c +++ b/deps/openssl/openssl/crypto/x509/x509name.c @@ -14,7 +14,7 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, char *buf, int len) { diff --git a/deps/openssl/openssl/crypto/x509/x509rset.c b/deps/openssl/openssl/crypto/x509/x509rset.c index e8921b82a83865..9da3f2ee27dfd8 100644 --- a/deps/openssl/openssl/crypto/x509/x509rset.c +++ b/deps/openssl/openssl/crypto/x509/x509rset.c @@ -13,7 +13,7 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" int X509_REQ_set_version(X509_REQ *x, long version) { diff --git a/deps/openssl/openssl/crypto/x509/x_all.c b/deps/openssl/openssl/crypto/x509/x_all.c index 24e4114601caec..6cccfa99d1a62e 100644 --- a/deps/openssl/openssl/crypto/x509/x_all.c +++ b/deps/openssl/openssl/crypto/x509/x_all.c @@ -13,7 +13,7 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include #include #include diff --git a/deps/openssl/openssl/crypto/x509/x_attrib.c b/deps/openssl/openssl/crypto/x509/x_attrib.c index 9a41e547cb2eea..813c5b01c3aeb6 100644 --- a/deps/openssl/openssl/crypto/x509/x_attrib.c +++ b/deps/openssl/openssl/crypto/x509/x_attrib.c @@ -12,7 +12,7 @@ #include #include #include -#include "x509_lcl.h" +#include "x509_local.h" /*- * X509_ATTRIBUTE: this has the following form: diff --git a/deps/openssl/openssl/crypto/x509/x_crl.c b/deps/openssl/openssl/crypto/x509/x_crl.c index 12ab3cca42c052..e864126fef3726 100644 --- a/deps/openssl/openssl/crypto/x509/x_crl.c +++ b/deps/openssl/openssl/crypto/x509/x_crl.c @@ -11,9 +11,9 @@ #include "internal/cryptlib.h" #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include -#include "x509_lcl.h" +#include "x509_local.h" static int X509_REVOKED_cmp(const X509_REVOKED *const *a, const X509_REVOKED *const *b); diff --git a/deps/openssl/openssl/crypto/x509/x_exten.c b/deps/openssl/openssl/crypto/x509/x_exten.c index f10f4a4d87698c..bd7518ef12bfca 100644 --- a/deps/openssl/openssl/crypto/x509/x_exten.c +++ b/deps/openssl/openssl/crypto/x509/x_exten.c @@ -11,7 +11,7 @@ #include #include #include -#include "x509_lcl.h" +#include "x509_local.h" ASN1_SEQUENCE(X509_EXTENSION) = { ASN1_SIMPLE(X509_EXTENSION, object, ASN1_OBJECT), diff --git a/deps/openssl/openssl/crypto/x509/x_name.c b/deps/openssl/openssl/crypto/x509/x_name.c index a1e9bbdb669d0c..aa7f4722b6b9ee 100644 --- a/deps/openssl/openssl/crypto/x509/x_name.c +++ b/deps/openssl/openssl/crypto/x509/x_name.c @@ -8,13 +8,13 @@ */ #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include "internal/cryptlib.h" #include #include -#include "internal/x509_int.h" -#include "internal/asn1_int.h" -#include "x509_lcl.h" +#include "crypto/x509.h" +#include "crypto/asn1.h" +#include "x509_local.h" /* * Maximum length of X509_NAME: much larger than anything we should diff --git a/deps/openssl/openssl/crypto/x509/x_pubkey.c b/deps/openssl/openssl/crypto/x509/x_pubkey.c index 1c87b8268eb57c..4f694b93fb0038 100644 --- a/deps/openssl/openssl/crypto/x509/x_pubkey.c +++ b/deps/openssl/openssl/crypto/x509/x_pubkey.c @@ -11,9 +11,9 @@ #include "internal/cryptlib.h" #include #include -#include "internal/asn1_int.h" -#include "internal/evp_int.h" -#include "internal/x509_int.h" +#include "crypto/asn1.h" +#include "crypto/evp.h" +#include "crypto/x509.h" #include #include diff --git a/deps/openssl/openssl/crypto/x509/x_req.c b/deps/openssl/openssl/crypto/x509/x_req.c index c2da95a73ecf7d..d2b02f6dae86d8 100644 --- a/deps/openssl/openssl/crypto/x509/x_req.c +++ b/deps/openssl/openssl/crypto/x509/x_req.c @@ -11,7 +11,7 @@ #include "internal/cryptlib.h" #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" /*- * X509_REQ_INFO is handled in an unusual way to get round diff --git a/deps/openssl/openssl/crypto/x509/x_x509.c b/deps/openssl/openssl/crypto/x509/x_x509.c index afe59c46c51884..7aa8b77ae73a2e 100644 --- a/deps/openssl/openssl/crypto/x509/x_x509.c +++ b/deps/openssl/openssl/crypto/x509/x_x509.c @@ -13,7 +13,7 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" ASN1_SEQUENCE_enc(X509_CINF, enc, 0) = { ASN1_EXP_OPT(X509_CINF, version, ASN1_INTEGER, 0), diff --git a/deps/openssl/openssl/crypto/x509/x_x509a.c b/deps/openssl/openssl/crypto/x509/x_x509a.c index 8c9ad71d1b2924..c5175faef7afa0 100644 --- a/deps/openssl/openssl/crypto/x509/x_x509a.c +++ b/deps/openssl/openssl/crypto/x509/x_x509a.c @@ -12,7 +12,7 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" /* * X509_CERT_AUX routines. These are used to encode additional user diff --git a/deps/openssl/openssl/crypto/x509v3/pcy_cache.c b/deps/openssl/openssl/crypto/x509v3/pcy_cache.c index 623870b1f6f5c0..04401bace8c588 100644 --- a/deps/openssl/openssl/crypto/x509v3/pcy_cache.c +++ b/deps/openssl/openssl/crypto/x509v3/pcy_cache.c @@ -10,9 +10,9 @@ #include "internal/cryptlib.h" #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" -#include "pcy_int.h" +#include "pcy_local.h" static int policy_data_cmp(const X509_POLICY_DATA *const *a, const X509_POLICY_DATA *const *b); diff --git a/deps/openssl/openssl/crypto/x509v3/pcy_data.c b/deps/openssl/openssl/crypto/x509v3/pcy_data.c index bd3bb0e40dfe6b..07350595132201 100644 --- a/deps/openssl/openssl/crypto/x509v3/pcy_data.c +++ b/deps/openssl/openssl/crypto/x509v3/pcy_data.c @@ -11,7 +11,7 @@ #include #include -#include "pcy_int.h" +#include "pcy_local.h" /* Policy Node routines */ diff --git a/deps/openssl/openssl/crypto/x509v3/pcy_lib.c b/deps/openssl/openssl/crypto/x509v3/pcy_lib.c index 67f7eafc6e8d2e..2e196b838ca264 100644 --- a/deps/openssl/openssl/crypto/x509v3/pcy_lib.c +++ b/deps/openssl/openssl/crypto/x509v3/pcy_lib.c @@ -11,7 +11,7 @@ #include #include -#include "pcy_int.h" +#include "pcy_local.h" /* accessor functions */ diff --git a/deps/openssl/openssl/crypto/x509v3/pcy_int.h b/deps/openssl/openssl/crypto/x509v3/pcy_local.h similarity index 100% rename from deps/openssl/openssl/crypto/x509v3/pcy_int.h rename to deps/openssl/openssl/crypto/x509v3/pcy_local.h diff --git a/deps/openssl/openssl/crypto/x509v3/pcy_map.c b/deps/openssl/openssl/crypto/x509v3/pcy_map.c index ab9dd21b7d9390..ae2a62c9778700 100644 --- a/deps/openssl/openssl/crypto/x509v3/pcy_map.c +++ b/deps/openssl/openssl/crypto/x509v3/pcy_map.c @@ -10,9 +10,9 @@ #include "internal/cryptlib.h" #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" -#include "pcy_int.h" +#include "pcy_local.h" /* * Set policy mapping entries in cache. Note: this modifies the passed diff --git a/deps/openssl/openssl/crypto/x509v3/pcy_node.c b/deps/openssl/openssl/crypto/x509v3/pcy_node.c index 1ffe98498bdb4a..e2d7b153223636 100644 --- a/deps/openssl/openssl/crypto/x509v3/pcy_node.c +++ b/deps/openssl/openssl/crypto/x509v3/pcy_node.c @@ -12,7 +12,7 @@ #include #include -#include "pcy_int.h" +#include "pcy_local.h" static int node_cmp(const X509_POLICY_NODE *const *a, const X509_POLICY_NODE *const *b) diff --git a/deps/openssl/openssl/crypto/x509v3/pcy_tree.c b/deps/openssl/openssl/crypto/x509v3/pcy_tree.c index 87f51d001bbbc1..6e8322cbc5e38c 100644 --- a/deps/openssl/openssl/crypto/x509v3/pcy_tree.c +++ b/deps/openssl/openssl/crypto/x509v3/pcy_tree.c @@ -11,7 +11,7 @@ #include #include -#include "pcy_int.h" +#include "pcy_local.h" /* * Enable this to print out the complete policy tree at various point during diff --git a/deps/openssl/openssl/crypto/x509v3/v3_addr.c b/deps/openssl/openssl/crypto/x509v3/v3_addr.c index bb58e0484611a4..4258dbc40c0f2f 100644 --- a/deps/openssl/openssl/crypto/x509v3/v3_addr.c +++ b/deps/openssl/openssl/crypto/x509v3/v3_addr.c @@ -20,7 +20,7 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include "ext_dat.h" #ifndef OPENSSL_NO_RFC3779 diff --git a/deps/openssl/openssl/crypto/x509v3/v3_admis.h b/deps/openssl/openssl/crypto/x509v3/v3_admis.h index fa23fc761759f2..ea7632b3708d0b 100644 --- a/deps/openssl/openssl/crypto/x509v3/v3_admis.h +++ b/deps/openssl/openssl/crypto/x509v3/v3_admis.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_V3_ADMISSION_H -# define HEADER_V3_ADMISSION_H +#ifndef OSSL_CRYPTO_X509V3_V3_ADMIS_H +# define OSSL_CRYPTO_X509V3_V3_ADMIS_H struct NamingAuthority_st { ASN1_OBJECT* namingAuthorityId; diff --git a/deps/openssl/openssl/crypto/x509v3/v3_alt.c b/deps/openssl/openssl/crypto/x509v3/v3_alt.c index dfcb9094f4fc9a..7ac2911b91af01 100644 --- a/deps/openssl/openssl/crypto/x509v3/v3_alt.c +++ b/deps/openssl/openssl/crypto/x509v3/v3_alt.c @@ -52,11 +52,24 @@ STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, { int i; GENERAL_NAME *gen; + STACK_OF(CONF_VALUE) *tmpret = NULL, *origret = ret; + for (i = 0; i < sk_GENERAL_NAME_num(gens); i++) { gen = sk_GENERAL_NAME_value(gens, i); - ret = i2v_GENERAL_NAME(method, gen, ret); + /* + * i2v_GENERAL_NAME allocates ret if it is NULL. If something goes + * wrong we need to free the stack - but only if it was empty when we + * originally entered this function. + */ + tmpret = i2v_GENERAL_NAME(method, gen, ret); + if (tmpret == NULL) { + if (origret == NULL) + sk_CONF_VALUE_pop_free(ret, X509V3_conf_free); + return NULL; + } + ret = tmpret; } - if (!ret) + if (ret == NULL) return sk_CONF_VALUE_new_null(); return ret; } diff --git a/deps/openssl/openssl/crypto/x509v3/v3_asid.c b/deps/openssl/openssl/crypto/x509v3/v3_asid.c index 089f2ae29f0c89..ac6857267291fb 100644 --- a/deps/openssl/openssl/crypto/x509v3/v3_asid.c +++ b/deps/openssl/openssl/crypto/x509v3/v3_asid.c @@ -20,7 +20,7 @@ #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include #include "ext_dat.h" @@ -256,6 +256,7 @@ static int extract_min_max(ASIdOrRange *aor, static int ASIdentifierChoice_is_canonical(ASIdentifierChoice *choice) { ASN1_INTEGER *a_max_plus_one = NULL; + ASN1_INTEGER *orig; BIGNUM *bn = NULL; int i, ret = 0; @@ -298,9 +299,15 @@ static int ASIdentifierChoice_is_canonical(ASIdentifierChoice *choice) */ if ((bn == NULL && (bn = BN_new()) == NULL) || ASN1_INTEGER_to_BN(a_max, bn) == NULL || - !BN_add_word(bn, 1) || - (a_max_plus_one = - BN_to_ASN1_INTEGER(bn, a_max_plus_one)) == NULL) { + !BN_add_word(bn, 1)) { + X509V3err(X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL, + ERR_R_MALLOC_FAILURE); + goto done; + } + + if ((a_max_plus_one = + BN_to_ASN1_INTEGER(bn, orig = a_max_plus_one)) == NULL) { + a_max_plus_one = orig; X509V3err(X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL, ERR_R_MALLOC_FAILURE); goto done; @@ -351,6 +358,7 @@ int X509v3_asid_is_canonical(ASIdentifiers *asid) static int ASIdentifierChoice_canonize(ASIdentifierChoice *choice) { ASN1_INTEGER *a_max_plus_one = NULL; + ASN1_INTEGER *orig; BIGNUM *bn = NULL; int i, ret = 0; @@ -416,9 +424,15 @@ static int ASIdentifierChoice_canonize(ASIdentifierChoice *choice) */ if ((bn == NULL && (bn = BN_new()) == NULL) || ASN1_INTEGER_to_BN(a_max, bn) == NULL || - !BN_add_word(bn, 1) || - (a_max_plus_one = - BN_to_ASN1_INTEGER(bn, a_max_plus_one)) == NULL) { + !BN_add_word(bn, 1)) { + X509V3err(X509V3_F_ASIDENTIFIERCHOICE_CANONIZE, + ERR_R_MALLOC_FAILURE); + goto done; + } + + if ((a_max_plus_one = + BN_to_ASN1_INTEGER(bn, orig = a_max_plus_one)) == NULL) { + a_max_plus_one = orig; X509V3err(X509V3_F_ASIDENTIFIERCHOICE_CANONIZE, ERR_R_MALLOC_FAILURE); goto done; diff --git a/deps/openssl/openssl/crypto/x509v3/v3_conf.c b/deps/openssl/openssl/crypto/x509v3/v3_conf.c index 7acaebfa2250ea..e93de3454604ff 100644 --- a/deps/openssl/openssl/crypto/x509v3/v3_conf.c +++ b/deps/openssl/openssl/crypto/x509v3/v3_conf.c @@ -10,11 +10,11 @@ /* extension creation utilities */ #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include "internal/cryptlib.h" #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include static int v3_check_critical(const char **value); diff --git a/deps/openssl/openssl/crypto/x509v3/v3_cpols.c b/deps/openssl/openssl/crypto/x509v3/v3_cpols.c index 7a47fd38b37901..1d12c899125c85 100644 --- a/deps/openssl/openssl/crypto/x509v3/v3_cpols.c +++ b/deps/openssl/openssl/crypto/x509v3/v3_cpols.c @@ -14,7 +14,7 @@ #include #include -#include "pcy_int.h" +#include "pcy_local.h" #include "ext_dat.h" /* Certificate policies extension support: this one is a bit complex... */ diff --git a/deps/openssl/openssl/crypto/x509v3/v3_crld.c b/deps/openssl/openssl/crypto/x509v3/v3_crld.c index 6cba4240abf1e0..4854748ffb51a2 100644 --- a/deps/openssl/openssl/crypto/x509v3/v3_crld.c +++ b/deps/openssl/openssl/crypto/x509v3/v3_crld.c @@ -14,7 +14,7 @@ #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include "ext_dat.h" static void *v2i_crld(const X509V3_EXT_METHOD *method, diff --git a/deps/openssl/openssl/crypto/x509v3/v3_ncons.c b/deps/openssl/openssl/crypto/x509v3/v3_ncons.c index 9a2cd5af00c7bd..2a7b4f0992a813 100644 --- a/deps/openssl/openssl/crypto/x509v3/v3_ncons.c +++ b/deps/openssl/openssl/crypto/x509v3/v3_ncons.c @@ -10,12 +10,12 @@ #include "internal/cryptlib.h" #include "internal/numbers.h" #include -#include "internal/asn1_int.h" +#include "crypto/asn1.h" #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include "ext_dat.h" static void *v2i_NAME_CONSTRAINTS(const X509V3_EXT_METHOD *method, diff --git a/deps/openssl/openssl/crypto/x509v3/v3_purp.c b/deps/openssl/openssl/crypto/x509v3/v3_purp.c index 2f06289d1949c0..3f60c2ea1da336 100644 --- a/deps/openssl/openssl/crypto/x509v3/v3_purp.c +++ b/deps/openssl/openssl/crypto/x509v3/v3_purp.c @@ -12,7 +12,7 @@ #include "internal/numbers.h" #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include "internal/tsan_assist.h" static void x509v3_cache_extensions(X509 *x); diff --git a/deps/openssl/openssl/crypto/x509v3/v3_skey.c b/deps/openssl/openssl/crypto/x509v3/v3_skey.c index 749f51b2f00eea..c2e82045682a16 100644 --- a/deps/openssl/openssl/crypto/x509v3/v3_skey.c +++ b/deps/openssl/openssl/crypto/x509v3/v3_skey.c @@ -10,7 +10,7 @@ #include #include "internal/cryptlib.h" #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include "ext_dat.h" static ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method, diff --git a/deps/openssl/openssl/crypto/x509v3/v3_utl.c b/deps/openssl/openssl/crypto/x509v3/v3_utl.c index c9b40d2c76eb6b..7281a7b917a8cc 100644 --- a/deps/openssl/openssl/crypto/x509v3/v3_utl.c +++ b/deps/openssl/openssl/crypto/x509v3/v3_utl.c @@ -12,11 +12,11 @@ #include "e_os.h" #include "internal/cryptlib.h" #include -#include "internal/ctype.h" +#include "crypto/ctype.h" #include #include #include -#include "internal/x509_int.h" +#include "crypto/x509.h" #include #include "ext_dat.h" diff --git a/deps/openssl/openssl/crypto/x86_64cpuid.pl b/deps/openssl/openssl/crypto/x86_64cpuid.pl index 6423e803b75954..d9536d65768f01 100644 --- a/deps/openssl/openssl/crypto/x86_64cpuid.pl +++ b/deps/openssl/openssl/crypto/x86_64cpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -39,6 +39,7 @@ .type OPENSSL_atomic_add,\@abi-omnipotent .align 16 OPENSSL_atomic_add: +.cfi_startproc movl ($arg1),%eax .Lspin: leaq ($arg2,%rax),%r8 .byte 0xf0 # lock @@ -47,16 +48,19 @@ movl %r8d,%eax .byte 0x48,0x98 # cltq/cdqe ret +.cfi_endproc .size OPENSSL_atomic_add,.-OPENSSL_atomic_add .globl OPENSSL_rdtsc .type OPENSSL_rdtsc,\@abi-omnipotent .align 16 OPENSSL_rdtsc: +.cfi_startproc rdtsc shl \$32,%rdx or %rdx,%rax ret +.cfi_endproc .size OPENSSL_rdtsc,.-OPENSSL_rdtsc .globl OPENSSL_ia32_cpuid @@ -232,6 +236,7 @@ .type OPENSSL_cleanse,\@abi-omnipotent .align 16 OPENSSL_cleanse: +.cfi_startproc xor %rax,%rax cmp \$15,$arg2 jae .Lot @@ -261,12 +266,14 @@ cmp \$0,$arg2 jne .Little ret +.cfi_endproc .size OPENSSL_cleanse,.-OPENSSL_cleanse .globl CRYPTO_memcmp .type CRYPTO_memcmp,\@abi-omnipotent .align 16 CRYPTO_memcmp: +.cfi_startproc xor %rax,%rax xor %r10,%r10 cmp \$0,$arg3 @@ -295,6 +302,7 @@ shr \$63,%rax .Lno_data: ret +.cfi_endproc .size CRYPTO_memcmp,.-CRYPTO_memcmp ___ @@ -303,6 +311,7 @@ .type OPENSSL_wipe_cpu,\@abi-omnipotent .align 16 OPENSSL_wipe_cpu: +.cfi_startproc pxor %xmm0,%xmm0 pxor %xmm1,%xmm1 pxor %xmm2,%xmm2 @@ -329,6 +338,7 @@ xorq %r11,%r11 leaq 8(%rsp),%rax ret +.cfi_endproc .size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu ___ print<<___ if ($win64); @@ -365,6 +375,7 @@ .type OPENSSL_instrument_bus,\@abi-omnipotent .align 16 OPENSSL_instrument_bus: +.cfi_startproc mov $arg1,$out # tribute to Win64 mov $arg2,$cnt mov $arg2,$max @@ -391,12 +402,14 @@ mov $max,%rax ret +.cfi_endproc .size OPENSSL_instrument_bus,.-OPENSSL_instrument_bus .globl OPENSSL_instrument_bus2 .type OPENSSL_instrument_bus2,\@abi-omnipotent .align 16 OPENSSL_instrument_bus2: +.cfi_startproc mov $arg1,$out # tribute to Win64 mov $arg2,$cnt mov $arg3,$max @@ -439,6 +452,7 @@ mov $redzone(%rsp),%rax sub $cnt,%rax ret +.cfi_endproc .size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2 ___ } @@ -450,6 +464,7 @@ sub gen_random { .type OPENSSL_ia32_${rdop}_bytes,\@abi-omnipotent .align 16 OPENSSL_ia32_${rdop}_bytes: +.cfi_startproc xor %rax, %rax # return value cmp \$0,$arg2 je .Ldone_${rdop}_bytes @@ -486,10 +501,11 @@ sub gen_random { .Ldone_${rdop}_bytes: xor %r10,%r10 # Clear sensitive data from register ret +.cfi_endproc .size OPENSSL_ia32_${rdop}_bytes,.-OPENSSL_ia32_${rdop}_bytes ___ } gen_random("rdrand"); gen_random("rdseed"); -close STDOUT; # flush +close STDOUT or die "error closing STDOUT: $!"; # flush diff --git a/deps/openssl/openssl/crypto/x86cpuid.pl b/deps/openssl/openssl/crypto/x86cpuid.pl index d43dda4d935cbd..ba4fd80fb32e21 100644 --- a/deps/openssl/openssl/crypto/x86cpuid.pl +++ b/deps/openssl/openssl/crypto/x86cpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -506,4 +506,4 @@ sub gen_random { &asm_finish(); -close STDOUT; +close STDOUT or die "error closing STDOUT: $!"; diff --git a/deps/openssl/openssl/doc/HOWTO/proxy_certificates.txt b/deps/openssl/openssl/doc/HOWTO/proxy_certificates.txt deleted file mode 100644 index 3c423492611114..00000000000000 --- a/deps/openssl/openssl/doc/HOWTO/proxy_certificates.txt +++ /dev/null @@ -1,319 +0,0 @@ - HOWTO proxy certificates - -0. WARNING - -NONE OF THE CODE PRESENTED HERE HAS BEEN CHECKED! The code is just examples to -show you how things could be done. There might be typos or type conflicts, and -you will have to resolve them. - -1. Introduction - -Proxy certificates are defined in RFC 3820. They are really usual certificates -with the mandatory extension proxyCertInfo. - -Proxy certificates are issued by an End Entity (typically a user), either -directly with the EE certificate as issuing certificate, or by extension through -an already issued proxy certificate. Proxy certificates are used to extend -rights to some other entity (a computer process, typically, or sometimes to the -user itself). This allows the entity to perform operations on behalf of the -owner of the EE certificate. - -See https://www.ietf.org/rfc/rfc3820.txt for more information. - - -2. A warning about proxy certificates - -No one seems to have tested proxy certificates with security in mind. To this -date, it seems that proxy certificates have only been used in a context highly -aware of them. - -Existing applications might misbehave when trying to validate a chain of -certificates which use a proxy certificate. They might incorrectly consider the -leaf to be the certificate to check for authorisation data, which is controlled -by the EE certificate owner. - -subjectAltName and issuerAltName are forbidden in proxy certificates, and this -is enforced in OpenSSL. The subject must be the same as the issuer, with one -commonName added on. - -Possible threats we can think of at this time include: - - - impersonation through commonName (think server certificates). - - use of additional extensions, possibly non-standard ones used in certain - environments, that would grant extra or different authorisation rights. - -For these reasons, OpenSSL requires that the use of proxy certificates be -explicitly allowed. Currently, this can be done using the following methods: - - - if the application directly calls X509_verify_cert(), it can first call: - - X509_STORE_CTX_set_flags(ctx, X509_V_FLAG_ALLOW_PROXY_CERTS); - - Where ctx is the pointer which then gets passed to X509_verify_cert(). - - - proxy certificate validation can be enabled before starting the application - by setting the environment variable OPENSSL_ALLOW_PROXY_CERTS. - -In the future, it might be possible to enable proxy certificates by editing -openssl.cnf. - - -3. How to create proxy certificates - -Creating proxy certificates is quite easy, by taking advantage of a lack of -checks in the 'openssl x509' application (*ahem*). You must first create a -configuration section that contains a definition of the proxyCertInfo extension, -for example: - - [ v3_proxy ] - # A proxy certificate MUST NEVER be a CA certificate. - basicConstraints=CA:FALSE - - # Usual authority key ID - authorityKeyIdentifier=keyid,issuer:always - - # The extension which marks this certificate as a proxy - proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:1,policy:text:AB - -It's also possible to specify the proxy extension in a separate section: - - proxyCertInfo=critical,@proxy_ext - - [ proxy_ext ] - language=id-ppl-anyLanguage - pathlen=0 - policy=text:BC - -The policy value has a specific syntax, {syntag}:{string}, where the syntag -determines what will be done with the string. The following syntags are -recognised: - - text indicates that the string is simply bytes, without any encoding: - - policy=text:räksmörgås - - Previous versions of this design had a specific tag for UTF-8 text. - However, since the bytes are copied as-is anyway, there is no need for - such a specific tag. - - hex indicates the string is encoded in hex, with colons between each byte - (every second hex digit): - - policy=hex:72:E4:6B:73:6D:F6:72:67:E5:73 - - Previous versions of this design had a tag to insert a complete DER - blob. However, the only legal use for this would be to surround the - bytes that would go with the hex: tag with whatever is needed to - construct a correct OCTET STRING. The DER tag therefore felt - superfluous, and was removed. - - file indicates that the text of the policy should really be taken from a - file. The string is then really a file name. This is useful for - policies that are large (more than a few lines, e.g. XML documents). - -The 'policy' setting can be split up in multiple lines like this: - - 0.policy=This is - 1.policy= a multi- - 2.policy=line policy. - -NOTE: the proxy policy value is the part which determines the rights granted to -the process using the proxy certificate. The value is completely dependent on -the application reading and interpreting it! - -Now that you have created an extension section for your proxy certificate, you -can easily create a proxy certificate by doing: - - openssl req -new -config openssl.cnf -out proxy.req -keyout proxy.key - openssl x509 -req -CAcreateserial -in proxy.req -days 7 -out proxy.crt \ - -CA user.crt -CAkey user.key -extfile openssl.cnf -extensions v3_proxy - -You can also create a proxy certificate using another proxy certificate as -issuer (note: I'm using a different configuration section for it): - - openssl req -new -config openssl.cnf -out proxy2.req -keyout proxy2.key - openssl x509 -req -CAcreateserial -in proxy2.req -days 7 -out proxy2.crt \ - -CA proxy.crt -CAkey proxy.key -extfile openssl.cnf -extensions v3_proxy2 - - -4. How to have your application interpret the policy? - -The basic way to interpret proxy policies is to start with some default rights, -then compute the resulting rights by checking the proxy certificate against -the chain of proxy certificates, user certificate and CA certificates. You then -use the final computed rights. Sounds easy, huh? It almost is. - -The slightly complicated part is figuring out how to pass data between your -application and the certificate validation procedure. - -You need the following ingredients: - - - a callback function that will be called for every certificate being - validated. The callback be called several times for each certificate, - so you must be careful to do the proxy policy interpretation at the right - time. You also need to fill in the defaults when the EE certificate is - checked. - - - a data structure that is shared between your application code and the - callback. - - - a wrapper function that sets it all up. - - - an ex_data index function that creates an index into the generic ex_data - store that is attached to an X509 validation context. - -Here is some skeleton code you can fill in: - - #include - #include - #include - #include - - #define total_rights 25 - - /* - * In this example, I will use a view of granted rights as a bit - * array, one bit for each possible right. - */ - typedef struct your_rights { - unsigned char rights[(total_rights + 7) / 8]; - } YOUR_RIGHTS; - - /* - * The following procedure will create an index for the ex_data - * store in the X509 validation context the first time it's called. - * Subsequent calls will return the same index. */ - static int get_proxy_auth_ex_data_idx(X509_STORE_CTX *ctx) - { - static volatile int idx = -1; - if (idx < 0) { - X509_STORE_lock(X509_STORE_CTX_get0_store(ctx)); - if (idx < 0) { - idx = X509_STORE_CTX_get_ex_new_index(0, - "for verify callback", - NULL,NULL,NULL); - } - X509_STORE_unlock(X509_STORE_CTX_get0_store(ctx)); - } - return idx; - } - - /* Callback to be given to the X509 validation procedure. */ - static int verify_callback(int ok, X509_STORE_CTX *ctx) - { - if (ok == 1) { - /* - * It's REALLY important you keep the proxy policy - * check within this section. It's important to know - * that when ok is 1, the certificates are checked - * from top to bottom. You get the CA root first, - * followed by the possible chain of intermediate - * CAs, followed by the EE certificate, followed by - * the possible proxy certificates. - */ - X509 *xs = X509_STORE_CTX_get_current_cert(ctx); - - if (X509_get_extension_flags(xs) & EXFLAG_PROXY) { - YOUR_RIGHTS *rights = - (YOUR_RIGHTS *)X509_STORE_CTX_get_ex_data(ctx, - get_proxy_auth_ex_data_idx(ctx)); - PROXY_CERT_INFO_EXTENSION *pci = - X509_get_ext_d2i(xs, NID_proxyCertInfo, NULL, NULL); - - switch (OBJ_obj2nid(pci->proxyPolicy->policyLanguage)) { - case NID_Independent: - /* - * Do whatever you need to grant explicit rights to - * this particular proxy certificate, usually by - * pulling them from some database. If there are none - * to be found, clear all rights (making this and any - * subsequent proxy certificate void of any rights). - */ - memset(rights->rights, 0, sizeof(rights->rights)); - break; - case NID_id_ppl_inheritAll: - /* - * This is basically a NOP, we simply let the current - * rights stand as they are. - */ - break; - default: - /* This is usually the most complex section of code. - * You really do whatever you want as long as you - * follow RFC 3820. In the example we use here, the - * simplest thing to do is to build another, temporary - * bit array and fill it with the rights granted by - * the current proxy certificate, then use it as a - * mask on the accumulated rights bit array, and - * voilà, you now have a new accumulated rights bit - * array. - */ - { - int i; - YOUR_RIGHTS tmp_rights; - memset(tmp_rights.rights, 0, sizeof(tmp_rights.rights)); - - /* - * process_rights() is supposed to be a procedure - * that takes a string and its length, interprets - * it and sets the bits in the YOUR_RIGHTS pointed - * at by the third argument. - */ - process_rights((char *) pci->proxyPolicy->policy->data, - pci->proxyPolicy->policy->length, - &tmp_rights); - - for(i = 0; i < total_rights / 8; i++) - rights->rights[i] &= tmp_rights.rights[i]; - } - break; - } - PROXY_CERT_INFO_EXTENSION_free(pci); - } else if (!(X509_get_extension_flags(xs) & EXFLAG_CA)) { - /* We have an EE certificate, let's use it to set default! */ - YOUR_RIGHTS *rights = - (YOUR_RIGHTS *)X509_STORE_CTX_get_ex_data(ctx, - get_proxy_auth_ex_data_idx(ctx)); - - /* The following procedure finds out what rights the owner - * of the current certificate has, and sets them in the - * YOUR_RIGHTS structure pointed at by the second - * argument. - */ - set_default_rights(xs, rights); - } - } - return ok; - } - - static int my_X509_verify_cert(X509_STORE_CTX *ctx, - YOUR_RIGHTS *needed_rights) - { - int ok; - int (*save_verify_cb)(int ok,X509_STORE_CTX *ctx) = - X509_STORE_CTX_get_verify_cb(ctx); - YOUR_RIGHTS rights; - - X509_STORE_CTX_set_verify_cb(ctx, verify_callback); - X509_STORE_CTX_set_ex_data(ctx, get_proxy_auth_ex_data_idx(ctx), &rights); - X509_STORE_CTX_set_flags(ctx, X509_V_FLAG_ALLOW_PROXY_CERTS); - ok = X509_verify_cert(ctx); - - if (ok == 1) { - ok = check_needed_rights(rights, needed_rights); - } - - X509_STORE_CTX_set_verify_cb(ctx, save_verify_cb); - - return ok; - } - - -If you use SSL or TLS, you can easily set up a callback to have the -certificates checked properly, using the code above: - - SSL_CTX_set_cert_verify_callback(s_ctx, my_X509_verify_cert, &needed_rights); - - --- -Richard Levitte diff --git a/deps/openssl/openssl/doc/man1/ca.pod b/deps/openssl/openssl/doc/man1/ca.pod index 7385a00941ea33..27bb31493a7ffe 100644 --- a/deps/openssl/openssl/doc/man1/ca.pod +++ b/deps/openssl/openssl/doc/man1/ca.pod @@ -51,6 +51,7 @@ B B [B<-engine id>] [B<-subj arg>] [B<-utf8>] +[B<-sigopt nm:v>] [B<-create_serial>] [B<-rand_serial>] [B<-multivalue-rdn>] @@ -134,6 +135,11 @@ The private key to sign requests with. The format of the data in the private key file. The default is PEM. +=item B<-sigopt nm:v> + +Pass options to the signature algorithm during sign or verify operations. +Names and values of these options are algorithm-specific. + =item B<-key password> The password used to encrypt the private key. Since on some diff --git a/deps/openssl/openssl/doc/man1/dgst.pod b/deps/openssl/openssl/doc/man1/dgst.pod index 66a6697eb10e86..ea2c4e3e1598b3 100644 --- a/deps/openssl/openssl/doc/man1/dgst.pod +++ b/deps/openssl/openssl/doc/man1/dgst.pod @@ -12,6 +12,7 @@ B [B<-help>] [B<-c>] [B<-d>] +[B<-list>] [B<-hex>] [B<-binary>] [B<-r>] @@ -22,6 +23,7 @@ B [B<-verify filename>] [B<-prverify filename>] [B<-signature filename>] +[B<-sigopt nm:v>] [B<-hmac key>] [B<-fips-fingerprint>] [B<-rand file...>] @@ -66,6 +68,10 @@ B format output is used. Print out BIO debugging information. +=item B<-list> + +Prints out a list of supported message digests. + =item B<-hex> Digest is to be output as a hex dump. This is the default case for a "normal" @@ -78,7 +84,8 @@ Output the digest or signature in binary form. =item B<-r> -Output the digest in the "coreutils" format used by programs like B. +Output the digest in the "coreutils" format, including newlines. +Used by programs like B. =item B<-out filename> diff --git a/deps/openssl/openssl/doc/man1/enc.pod b/deps/openssl/openssl/doc/man1/enc.pod index a3e0b03b2000b4..6f20ac1fc7d569 100644 --- a/deps/openssl/openssl/doc/man1/enc.pod +++ b/deps/openssl/openssl/doc/man1/enc.pod @@ -9,6 +9,7 @@ enc - symmetric cipher routines B> [B<-help>] +[B<-list>] [B<-ciphers>] [B<-in filename>] [B<-out filename>] @@ -56,10 +57,14 @@ either by itself or in addition to the encryption or decryption. Print out a usage message. -=item B<-ciphers> +=item B<-list> List all supported ciphers. +=item B<-ciphers> + +Alias of -list to display all supported ciphers. + =item B<-in filename> The input filename, standard input by default. @@ -419,6 +424,8 @@ certain parameters. So if, for example, you want to use RC2 with a The default digest was changed from MD5 to SHA256 in OpenSSL 1.1.0. +The B<-list> option was added in OpenSSL 1.1.1e. + =head1 COPYRIGHT Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. diff --git a/deps/openssl/openssl/doc/man1/rand.pod b/deps/openssl/openssl/doc/man1/rand.pod index 5dd9e8e0a56a70..b5d45ab51cf082 100644 --- a/deps/openssl/openssl/doc/man1/rand.pod +++ b/deps/openssl/openssl/doc/man1/rand.pod @@ -18,12 +18,14 @@ I =head1 DESCRIPTION -The B command outputs I pseudo-random bytes after seeding -the random number generator once. As in other B command -line tools, PRNG seeding uses the file I<$HOME/>B<.rnd> or B<.rnd> -in addition to the files given in the B<-rand> option. A new -I<$HOME>/B<.rnd> or B<.rnd> file will be written back if enough -seeding was obtained from these sources. +This command generates I random bytes using a cryptographically +secure pseudo random number generator (CSPRNG). + +The random bytes are generated using the L function, +which provides a security level of 256 bits, provided it managed to +seed itself successfully from a trusted operating system entropy source. +Otherwise, the command will fail with a nonzero error code. +For more details, see L, L, and L. =head1 OPTIONS @@ -44,6 +46,8 @@ generator. Multiple files can be specified separated by an OS-dependent character. The separator is B<;> for MS-Windows, B<,> for OpenVMS, and B<:> for all others. +Explicitly specifying a seed file is in general not necessary, see the +L section for more information. =item [B<-writerand file>] @@ -60,13 +64,28 @@ Show the output as a hex string. =back +=head1 NOTES + +Prior to OpenSSL 1.1.1, it was common for applications to store information +about the state of the random-number generator in a file that was loaded +at startup and rewritten upon exit. On modern operating systems, this is +generally no longer necessary as OpenSSL will seed itself from a trusted +entropy source provided by the operating system. The B<-rand> and +B<-writerand> flags are still supported for special platforms or +circumstances that might require them. + +It is generally an error to use the same seed file more than once and +every use of B<-rand> should be paired with B<-writerand>. + =head1 SEE ALSO -L +L, +L, +L =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man1/req.pod b/deps/openssl/openssl/doc/man1/req.pod index a9b5b1690a5cf3..730c59079d6797 100644 --- a/deps/openssl/openssl/doc/man1/req.pod +++ b/deps/openssl/openssl/doc/man1/req.pod @@ -46,6 +46,7 @@ B B [B<-reqopt>] [B<-subject>] [B<-subj arg>] +[B<-sigopt nm:v>] [B<-batch>] [B<-verbose>] [B<-engine id>] @@ -82,6 +83,11 @@ This specifies the input filename to read a request from or standard input if this option is not specified. A request is only read if the creation options (B<-new> and B<-newkey>) are not specified. +=item B<-sigopt nm:v> + +Pass options to the signature algorithm during sign or verify operations. +Names and values of these options are algorithm-specific. + =item B<-passin arg> The input file password source. For more information about the format of B @@ -689,7 +695,7 @@ L =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man1/s_client.pod b/deps/openssl/openssl/doc/man1/s_client.pod index 2f19aac1dcfc53..22428a09c78d48 100644 --- a/deps/openssl/openssl/doc/man1/s_client.pod +++ b/deps/openssl/openssl/doc/man1/s_client.pod @@ -335,7 +335,7 @@ at a positive depth or else "matched EE certificate" at depth 0. Use one or more times to specify the RRDATA fields of the DANE TLSA RRset associated with the target service. The B value is -specied in "presentation form", that is four whitespace separated +specified in "presentation form", that is four whitespace separated fields that specify the usage, selector, matching type and associated data, with the last of these encoded in hexadecimal. Optional whitespace is ignored in the associated data field. For example: @@ -828,7 +828,7 @@ The B<-name> option was added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man1/sess_id.pod b/deps/openssl/openssl/doc/man1/sess_id.pod index 1f7a1e8670cf87..6c54ed988bbec3 100644 --- a/deps/openssl/openssl/doc/man1/sess_id.pod +++ b/deps/openssl/openssl/doc/man1/sess_id.pod @@ -93,7 +93,7 @@ Typical output: Timeout : 300 (sec) Verify return code 0 (ok) -Theses are described below in more detail. +These are described below in more detail. =over 4 @@ -156,7 +156,7 @@ L, L =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man1/x509.pod b/deps/openssl/openssl/doc/man1/x509.pod index 7878753414da06..65cec9dbda6760 100644 --- a/deps/openssl/openssl/doc/man1/x509.pod +++ b/deps/openssl/openssl/doc/man1/x509.pod @@ -11,7 +11,7 @@ B B [B<-help>] [B<-inform DER|PEM>] [B<-outform DER|PEM>] -[B<-keyform DER|PEM>] +[B<-keyform DER|PEM|ENGINE>] [B<-CAform DER|PEM>] [B<-CAkeyform DER|PEM>] [B<-in filename>] @@ -44,7 +44,7 @@ B B [B<-setalias arg>] [B<-days arg>] [B<-set_serial n>] -[B<-signkey filename>] +[B<-signkey arg>] [B<-passin arg>] [B<-x509toreq>] [B<-req>] @@ -61,6 +61,7 @@ B B [B<-clrext>] [B<-extfile filename>] [B<-extensions section>] +[B<-sigopt nm:v>] [B<-rand file...>] [B<-writerand file>] [B<-engine id>] @@ -349,10 +350,11 @@ can thus behave like a "mini CA". =over 4 -=item B<-signkey filename> +=item B<-signkey arg> This option causes the input file to be self signed using the supplied -private key. +private key or engine. The private key's format is specified with the +B<-keyform> option. If the input file is a certificate it sets the issuer name to the subject name (i.e. makes it self signed) changes the public key to the @@ -366,6 +368,11 @@ If the input is a certificate request then a self signed certificate is created using the supplied private key using the subject name in the request. +=item B<-sigopt nm:v> + +Pass options to the signature algorithm during sign or verify operations. +Names and values of these options are algorithm-specific. + =item B<-passin arg> The key password source. For more information about the format of B @@ -378,7 +385,7 @@ certificate is being created from another certificate (for example with the B<-signkey> or the B<-CA> options). Normally all extensions are retained. -=item B<-keyform PEM|DER> +=item B<-keyform PEM|DER|ENGINE> Specifies the format (DER or PEM) of the private key file used in the B<-signkey> option. @@ -925,7 +932,7 @@ the old form must have their links rebuilt using B or similar. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/ASN1_INTEGER_get_int64.pod b/deps/openssl/openssl/doc/man3/ASN1_INTEGER_get_int64.pod index 9b73290742d4e7..ac6a5799df9d1e 100644 --- a/deps/openssl/openssl/doc/man3/ASN1_INTEGER_get_int64.pod +++ b/deps/openssl/openssl/doc/man3/ASN1_INTEGER_get_int64.pod @@ -22,10 +22,10 @@ ASN1_INTEGER_get_int64, ASN1_INTEGER_get, ASN1_INTEGER_set_int64, ASN1_INTEGER_s ASN1_INTEGER *BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai); BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn); - int ASN1_ENUMERATED_get_int64(int64_t *pr, const ASN1_INTEGER *a); + int ASN1_ENUMERATED_get_int64(int64_t *pr, const ASN1_ENUMERATED *a); long ASN1_ENUMERATED_get(const ASN1_ENUMERATED *a); - int ASN1_ENUMERATED_set_int64(ASN1_INTEGER *a, int64_t r); + int ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *a, int64_t r); int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v); ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai); diff --git a/deps/openssl/openssl/doc/man3/ASN1_TYPE_get.pod b/deps/openssl/openssl/doc/man3/ASN1_TYPE_get.pod index 70c56878b8e6c5..fb797220a47f07 100644 --- a/deps/openssl/openssl/doc/man3/ASN1_TYPE_get.pod +++ b/deps/openssl/openssl/doc/man3/ASN1_TYPE_get.pod @@ -69,7 +69,7 @@ If either or both of the parameters passed to ASN1_TYPE_cmp() is NULL the return value is non-zero. Technically if both parameters are NULL the two types could be absent OPTIONAL fields and so should match, however passing NULL values could also indicate a programming error (for example an -unparseable type which returns NULL) for types which do B match. So +unparsable type which returns NULL) for types which do B match. So applications should handle the case of two absent values separately. =head1 RETURN VALUES @@ -90,7 +90,7 @@ NULL on failure. =head1 COPYRIGHT -Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/BIO_f_buffer.pod b/deps/openssl/openssl/doc/man3/BIO_f_buffer.pod index 8ceaaa3c034307..047a11d2407c49 100644 --- a/deps/openssl/openssl/doc/man3/BIO_f_buffer.pod +++ b/deps/openssl/openssl/doc/man3/BIO_f_buffer.pod @@ -49,10 +49,20 @@ is expanded. These functions, other than BIO_f_buffer(), are implemented as macros. -Buffering BIOs implement BIO_gets() by using BIO_read_ex() operations on the -next BIO in the chain. By prepending a buffering BIO to a chain it is therefore -possible to provide BIO_gets() functionality if the following BIOs do not -support it (for example SSL BIOs). +Buffering BIOs implement BIO_read_ex() and BIO_gets() by using +BIO_read_ex() operations on the next BIO in the chain and storing the +result in an internal buffer, from which bytes are given back to the +caller as appropriate for the call; a BIO_gets() is guaranteed to give +the caller a whole line, and BIO_read_ex() is guaranteed to give the +caller the number of bytes it asks for, unless there's an error or end +of communication is reached in the next BIO. By prepending a +buffering BIO to a chain it is therefore possible to provide +BIO_gets() or exact size BIO_read_ex() functionality if the following +BIOs do not support it. + +Do not add more than one BIO_f_buffer() to a BIO chain. The result of +doing so will force a full read of the size of the internal buffer of +the top BIO_f_buffer(), which is 4 KiB at a minimum. Data is only written to the next BIO in the chain when the write buffer fills or when BIO_flush() is called. It is therefore important to call BIO_flush() @@ -82,7 +92,7 @@ L. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/BIO_get_ex_new_index.pod b/deps/openssl/openssl/doc/man3/BIO_get_ex_new_index.pod index e61228f1caeaf1..89008531d3810f 100644 --- a/deps/openssl/openssl/doc/man3/BIO_get_ex_new_index.pod +++ b/deps/openssl/openssl/doc/man3/BIO_get_ex_new_index.pod @@ -39,7 +39,7 @@ L. These functions handle application-specific data for OpenSSL data structures. -TYPE_get_new_ex_index() is a macro that calls CRYPTO_get_ex_new_index() +TYPE_get_ex_new_index() is a macro that calls CRYPTO_get_ex_new_index() with the correct B value. TYPE_set_ex_data() is a function that calls CRYPTO_set_ex_data() with @@ -50,7 +50,7 @@ an offset into the opaque exdata part of the TYPE object. =head1 RETURN VALUES -TYPE_get_new_ex_index() returns a new index on success or -1 on error. +TYPE_get_ex_new_index() returns a new index on success or -1 on error. TYPE_set_ex_data() returns 1 on success or 0 on error. @@ -62,7 +62,7 @@ L. =head1 COPYRIGHT -Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/DTLSv1_listen.pod b/deps/openssl/openssl/doc/man3/DTLSv1_listen.pod index 76be40b68f10cf..98511a475f9fda 100644 --- a/deps/openssl/openssl/doc/man3/DTLSv1_listen.pod +++ b/deps/openssl/openssl/doc/man3/DTLSv1_listen.pod @@ -66,9 +66,9 @@ the peer and continue the handshake in a connected state. Prior to calling DTLSv1_listen() user code must ensure that cookie generation and verification callbacks have been set up using -SSL_CTX_set_cookie_generate_cb() and SSL_CTX_set_cookie_verify_cb() -respectively. For SSL_stateless(), SSL_CTX_set_stateless_cookie_generate_cb() -and SSL_CTX_set_stateless_cookie_verify_cb() must be used instead. +L and L +respectively. For SSL_stateless(), L +and L must be used instead. Since DTLSv1_listen() operates entirely statelessly whilst processing incoming ClientHellos it is unable to process fragmented messages (since this would @@ -112,8 +112,10 @@ errors as non-fatal), whilst return codes >0 indicate success. =head1 SEE ALSO -L, L, -L, L +L, L, +L, +L, L, +L, L, L =head1 HISTORY diff --git a/deps/openssl/openssl/doc/man3/EC_GROUP_copy.pod b/deps/openssl/openssl/doc/man3/EC_GROUP_copy.pod index 7bf35006237584..0d50fdc0c74f33 100644 --- a/deps/openssl/openssl/doc/man3/EC_GROUP_copy.pod +++ b/deps/openssl/openssl/doc/man3/EC_GROUP_copy.pod @@ -40,7 +40,7 @@ EC_GROUP_get_pentanomial_basis int EC_GROUP_get_asn1_flag(const EC_GROUP *group); void EC_GROUP_set_point_conversion_form(EC_GROUP *group, point_conversion_form_t form); - point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *); + point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *group); unsigned char *EC_GROUP_get0_seed(const EC_GROUP *x); size_t EC_GROUP_get_seed_len(const EC_GROUP *); @@ -61,34 +61,39 @@ EC_GROUP_get_pentanomial_basis =head1 DESCRIPTION -EC_GROUP_copy copies the curve B into B. Both B and B must use the same EC_METHOD. +EC_GROUP_copy() copies the curve B into B. Both B and B must use the same EC_METHOD. -EC_GROUP_dup creates a new EC_GROUP object and copies the content from B to the newly created +EC_GROUP_dup() creates a new EC_GROUP object and copies the content from B to the newly created EC_GROUP object. -EC_GROUP_method_of obtains the EC_METHOD of B. +EC_GROUP_method_of() obtains the EC_METHOD of B. -EC_GROUP_set_generator sets curve parameters that must be agreed by all participants using the curve. These +EC_GROUP_set_generator() sets curve parameters that must be agreed by all participants using the curve. These parameters include the B, the B and the B. The B is a well defined point on the curve chosen for cryptographic operations. Integers used for point multiplications will be between 0 and n-1 where n is the B. The B multiplied by the B gives the number of points on the curve. -EC_GROUP_get0_generator returns the generator for the identified B. +EC_GROUP_get0_generator() returns the generator for the identified B. -The functions EC_GROUP_get_order and EC_GROUP_get_cofactor populate the provided B and B parameters -with the respective order and cofactors for the B. +EC_GROUP_get_order() retrieves the order of B and copies its value into +B. It fails in case B is not fully initialized (i.e., its order +is not set or set to zero). -The functions EC_GROUP_set_curve_name and EC_GROUP_get_curve_name, set and get the NID for the curve respectively +EC_GROUP_get_cofactor() retrieves the cofactor of B and copies its value +into B. It fails in case B is not fully initialized or if the +cofactor is not set (or set to zero). + +The functions EC_GROUP_set_curve_name() and EC_GROUP_get_curve_name(), set and get the NID for the curve respectively (see L). If a curve does not have a NID associated with it, then EC_GROUP_get_curve_name -will return 0. +will return NID_undef. The asn1_flag value is used to determine whether the curve encoding uses explicit parameters or a named curve using an ASN1 OID: many applications only support the latter form. If asn1_flag is B then the named curve form is used and the parameters must have a corresponding named curve NID set. If asn1_flags is B the -parameters are explicitly encoded. The functions EC_GROUP_get_asn1_flag and -EC_GROUP_set_asn1_flag get and set the status of the asn1_flag for the curve. +parameters are explicitly encoded. The functions EC_GROUP_get_asn1_flag() and +EC_GROUP_set_asn1_flag() get and set the status of the asn1_flag for the curve. Note: B was added in OpenSSL 1.1.0, for previous versions of OpenSSL the value 0 must be used instead. Before OpenSSL 1.1.0 the default form was to use explicit parameters (meaning that @@ -119,32 +124,32 @@ the two possible solutions for y has been used, followed by the octets for x. For POINT_CONVERSION_HYBRID the point is encoded as an octet signifying the HYBRID form has been used AND which of the two possible solutions for y has been used, followed by the octets for x, followed by the octets for y. -The functions EC_GROUP_set_point_conversion_form and EC_GROUP_get_point_conversion_form set and get the point_conversion_form +The functions EC_GROUP_set_point_conversion_form() and EC_GROUP_get_point_conversion_form(), set and get the point_conversion_form for the curve respectively. ANSI X9.62 (ECDSA standard) defines a method of generating the curve parameter b from a random number. This provides advantages in that a parameter obtained in this way is highly unlikely to be susceptible to special purpose attacks, or have any trapdoors in it. If the seed is present for a curve then the b parameter was generated in a verifiable fashion using that seed. The OpenSSL EC library -does not use this seed value but does enable you to inspect it using EC_GROUP_get0_seed. This returns a pointer to a memory block -containing the seed that was used. The length of the memory block can be obtained using EC_GROUP_get_seed_len. A number of the -builtin curves within the library provide seed values that can be obtained. It is also possible to set a custom seed using -EC_GROUP_set_seed and passing a pointer to a memory block, along with the length of the seed. Again, the EC library will not use +does not use this seed value but does enable you to inspect it using EC_GROUP_get0_seed(). This returns a pointer to a memory block +containing the seed that was used. The length of the memory block can be obtained using EC_GROUP_get_seed_len(). A number of the +built-in curves within the library provide seed values that can be obtained. It is also possible to set a custom seed using +EC_GROUP_set_seed() and passing a pointer to a memory block, along with the length of the seed. Again, the EC library will not use this seed value, although it will be preserved in any ASN1 based communications. -EC_GROUP_get_degree gets the degree of the field. For Fp fields this will be the number of bits in p. For F2^m fields this will be +EC_GROUP_get_degree() gets the degree of the field. For Fp fields this will be the number of bits in p. For F2^m fields this will be the value m. -The function EC_GROUP_check_discriminant calculates the discriminant for the curve and verifies that it is valid. +The function EC_GROUP_check_discriminant() calculates the discriminant for the curve and verifies that it is valid. For a curve defined over Fp the discriminant is given by the formula 4*a^3 + 27*b^2 whilst for F2^m curves the discriminant is simply b. In either case for the curve to be valid the discriminant must be non zero. -The function EC_GROUP_check performs a number of checks on a curve to verify that it is valid. Checks performed include +The function EC_GROUP_check() performs a number of checks on a curve to verify that it is valid. Checks performed include verifying that the discriminant is non zero; that a generator has been defined; that the generator is on the curve and has the correct order. -EC_GROUP_cmp compares B and B to determine whether they represent the same curve or not. +EC_GROUP_cmp() compares B and B to determine whether they represent the same curve or not. -The functions EC_GROUP_get_basis_type, EC_GROUP_get_trinomial_basis and EC_GROUP_get_pentanomial_basis should only be called for curves +The functions EC_GROUP_get_basis_type(), EC_GROUP_get_trinomial_basis() and EC_GROUP_get_pentanomial_basis() should only be called for curves defined over an F2^m field. Addition and multiplication operations within an F2^m field are performed using an irreducible polynomial function f(x). This function is either a trinomial of the form: @@ -154,39 +159,48 @@ or a pentanomial of the form: f(x) = x^m + x^k3 + x^k2 + x^k1 + 1 with m > k3 > k2 > k1 >= 1 -The function EC_GROUP_get_basis_type returns a NID identifying whether a trinomial or pentanomial is in use for the field. The -function EC_GROUP_get_trinomial_basis must only be called where f(x) is of the trinomial form, and returns the value of B. Similarly -the function EC_GROUP_get_pentanomial_basis must only be called where f(x) is of the pentanomial form, and returns the values of B, +The function EC_GROUP_get_basis_type() returns a NID identifying whether a trinomial or pentanomial is in use for the field. The +function EC_GROUP_get_trinomial_basis() must only be called where f(x) is of the trinomial form, and returns the value of B. Similarly +the function EC_GROUP_get_pentanomial_basis() must only be called where f(x) is of the pentanomial form, and returns the values of B, B and B respectively. =head1 RETURN VALUES -The following functions return 1 on success or 0 on error: EC_GROUP_copy, EC_GROUP_set_generator, EC_GROUP_check, -EC_GROUP_check_discriminant, EC_GROUP_get_trinomial_basis and EC_GROUP_get_pentanomial_basis. +The following functions return 1 on success or 0 on error: EC_GROUP_copy(), EC_GROUP_set_generator(), EC_GROUP_check(), +EC_GROUP_check_discriminant(), EC_GROUP_get_trinomial_basis() and EC_GROUP_get_pentanomial_basis(). + +EC_GROUP_dup() returns a pointer to the duplicated curve, or NULL on error. + +EC_GROUP_method_of() returns the EC_METHOD implementation in use for the given curve or NULL on error. + +EC_GROUP_get0_generator() returns the generator for the given curve or NULL on error. + +EC_GROUP_get_order() returns 0 if the order is not set (or set to zero) for +B or if copying into B fails, 1 otherwise. + +EC_GROUP_get_cofactor() returns 0 if the cofactor is not set (or is set to zero) for B or if copying into B fails, 1 otherwise. -EC_GROUP_dup returns a pointer to the duplicated curve, or NULL on error. +EC_GROUP_get_curve_name() returns the curve name (NID) for B or will return NID_undef if no curve name is associated. -EC_GROUP_method_of returns the EC_METHOD implementation in use for the given curve or NULL on error. +EC_GROUP_get_asn1_flag() returns the ASN1 flag for the specified B . -EC_GROUP_get0_generator returns the generator for the given curve or NULL on error. +EC_GROUP_get_point_conversion_form() returns the point_conversion_form for B. -EC_GROUP_get_order, EC_GROUP_get_cofactor, EC_GROUP_get_curve_name, EC_GROUP_get_asn1_flag, EC_GROUP_get_point_conversion_form -and EC_GROUP_get_degree return the order, cofactor, curve name (NID), ASN1 flag, point_conversion_form and degree for the -specified curve respectively. If there is no curve name associated with a curve then EC_GROUP_get_curve_name will return 0. +EC_GROUP_get_degree() returns the degree for B or 0 if the operation is not supported by the underlying group implementation. EC_GROUP_get0_order() returns an internal pointer to the group order. EC_GROUP_order_bits() returns the number of bits in the group order. EC_GROUP_get0_cofactor() returns an internal pointer to the group cofactor. -EC_GROUP_get0_seed returns a pointer to the seed that was used to generate the parameter b, or NULL if the seed is not -specified. EC_GROUP_get_seed_len returns the length of the seed or 0 if the seed is not specified. +EC_GROUP_get0_seed() returns a pointer to the seed that was used to generate the parameter b, or NULL if the seed is not +specified. EC_GROUP_get_seed_len() returns the length of the seed or 0 if the seed is not specified. -EC_GROUP_set_seed returns the length of the seed that has been set. If the supplied seed is NULL, or the supplied seed length is +EC_GROUP_set_seed() returns the length of the seed that has been set. If the supplied seed is NULL, or the supplied seed length is 0, the return value will be 1. On error 0 is returned. -EC_GROUP_cmp returns 0 if the curves are equal, 1 if they are not equal, or -1 on error. +EC_GROUP_cmp() returns 0 if the curves are equal, 1 if they are not equal, or -1 on error. -EC_GROUP_get_basis_type returns the values NID_X9_62_tpBasis or NID_X9_62_ppBasis (as defined in ) for a +EC_GROUP_get_basis_type() returns the values NID_X9_62_tpBasis or NID_X9_62_ppBasis (as defined in ) for a trinomial or pentanomial respectively. Alternatively in the event of an error a 0 is returned. =head1 SEE ALSO diff --git a/deps/openssl/openssl/doc/man3/EC_GROUP_new.pod b/deps/openssl/openssl/doc/man3/EC_GROUP_new.pod index 1eee494927f527..c80b191785c4dc 100644 --- a/deps/openssl/openssl/doc/man3/EC_GROUP_new.pod +++ b/deps/openssl/openssl/doc/man3/EC_GROUP_new.pod @@ -57,49 +57,63 @@ objects =head1 DESCRIPTION -Within the library there are two forms of elliptic curve that are of interest. The first form is those defined over the -prime field Fp. The elements of Fp are the integers 0 to p-1, where p is a prime number. This gives us a revised +Within the library there are two forms of elliptic curve that are of interest. +The first form is those defined over the prime field Fp. The elements of Fp are +the integers 0 to p-1, where p is a prime number. This gives us a revised elliptic curve equation as follows: y^2 mod p = x^3 +ax + b mod p -The second form is those defined over a binary field F2^m where the elements of the field are integers of length at -most m bits. For this form the elliptic curve equation is modified to: +The second form is those defined over a binary field F2^m where the elements of +the field are integers of length at most m bits. For this form the elliptic +curve equation is modified to: y^2 + xy = x^3 + ax^2 + b (where b != 0) -Operations in a binary field are performed relative to an B. All such curves with OpenSSL -use a trinomial or a pentanomial for this parameter. - -A new curve can be constructed by calling EC_GROUP_new, using the implementation provided by B (see -L). It is then necessary to call EC_GROUP_set_curve() to set the curve parameters. -EC_GROUP_new_from_ecparameters() will create a group from the -specified B and -EC_GROUP_new_from_ecpkparameters() will create a group from the specific PK B. - -EC_GROUP_set_curve() sets the curve parameters B

    represents the irreducible polynomial - each bit -represents a term in the polynomial. Therefore there will either be three or five bits set dependent on whether -the polynomial is a trinomial or a pentanomial. +Operations in a binary field are performed relative to an B. All such curves with OpenSSL use a trinomial or a pentanomial for +this parameter. + +A new curve can be constructed by calling EC_GROUP_new(), using the +implementation provided by B (see L). It is then +necessary to call EC_GROUP_set_curve() to set the curve parameters. +EC_GROUP_new_from_ecparameters() will create a group from the specified +B and EC_GROUP_new_from_ecpkparameters() will create a group from the +specific PK B. + +EC_GROUP_set_curve() sets the curve parameters B

    , B and B. For a curve +over Fp B

    is the prime for the field. For a curve over F2^m B

    represents +the irreducible polynomial - each bit represents a term in the polynomial. +Therefore there will either be three or five bits set dependent on whether the +polynomial is a trinomial or a pentanomial. +In either case, B and B represents the coefficients a and b from the +relevant equation introduced above. EC_group_get_curve() obtains the previously set curve parameters. -EC_GROUP_set_curve_GFp() and EC_GROUP_set_curve_GF2m() are synonyms for EC_GROUP_set_curve(). They are defined for -backwards compatibility only and should not be used. - -EC_GROUP_get_curve_GFp() and EC_GROUP_get_curve_GF2m() are synonyms for EC_GROUP_get_curve(). They are defined for -backwards compatibility only and should not be used. - -The functions EC_GROUP_new_curve_GFp and EC_GROUP_new_curve_GF2m are shortcuts for calling EC_GROUP_new and then the -EC_GROUP_set_curve function. An appropriate default implementation method will be used. - -Whilst the library can be used to create any curve using the functions described above, there are also a number of -predefined curves that are available. In order to obtain a list of all of the predefined curves, call the function -EC_get_builtin_curves. The parameter B should be an array of EC_builtin_curve structures of size B. The function -will populate the B array with information about the builtin curves. If B is less than the total number of -curves available, then the first B curves will be returned. Otherwise the total number of curves will be -provided. The return value is the total number of curves available (whether that number has been populated in B or -not). Passing a NULL B, or setting B to 0 will do nothing other than return the total number of curves available. +EC_GROUP_set_curve_GFp() and EC_GROUP_set_curve_GF2m() are synonyms for +EC_GROUP_set_curve(). They are defined for backwards compatibility only and +should not be used. + +EC_GROUP_get_curve_GFp() and EC_GROUP_get_curve_GF2m() are synonyms for +EC_GROUP_get_curve(). They are defined for backwards compatibility only and +should not be used. + +The functions EC_GROUP_new_curve_GFp() and EC_GROUP_new_curve_GF2m() are +shortcuts for calling EC_GROUP_new() and then the EC_GROUP_set_curve() function. +An appropriate default implementation method will be used. + +Whilst the library can be used to create any curve using the functions described +above, there are also a number of predefined curves that are available. In order +to obtain a list of all of the predefined curves, call the function +EC_get_builtin_curves(). The parameter B should be an array of +EC_builtin_curve structures of size B. The function will populate the +B array with information about the builtin curves. If B is less than +the total number of curves available, then the first B curves will be +returned. Otherwise the total number of curves will be provided. The return +value is the total number of curves available (whether that number has been +populated in B or not). Passing a NULL B, or setting B to 0 will +do nothing other than return the total number of curves available. The EC_builtin_curve structure is defined as follows: typedef struct { @@ -107,24 +121,28 @@ The EC_builtin_curve structure is defined as follows: const char *comment; } EC_builtin_curve; -Each EC_builtin_curve item has a unique integer id (B), and a human readable comment string describing the curve. +Each EC_builtin_curve item has a unique integer id (B), and a human +readable comment string describing the curve. -In order to construct a builtin curve use the function EC_GROUP_new_by_curve_name and provide the B of the curve to +In order to construct a builtin curve use the function +EC_GROUP_new_by_curve_name() and provide the B of the curve to be constructed. -EC_GROUP_free frees the memory associated with the EC_GROUP. +EC_GROUP_free() frees the memory associated with the EC_GROUP. If B is NULL nothing is done. -EC_GROUP_clear_free destroys any sensitive data held within the EC_GROUP and then frees its memory. -If B is NULL nothing is done. +EC_GROUP_clear_free() destroys any sensitive data held within the EC_GROUP and +then frees its memory. If B is NULL nothing is done. =head1 RETURN VALUES -All EC_GROUP_new* functions return a pointer to the newly constructed group, or NULL on error. +All EC_GROUP_new* functions return a pointer to the newly constructed group, or +NULL on error. -EC_get_builtin_curves returns the number of builtin curves that are available. +EC_get_builtin_curves() returns the number of builtin curves that are available. -EC_GROUP_set_curve_GFp, EC_GROUP_get_curve_GFp, EC_GROUP_set_curve_GF2m, EC_GROUP_get_curve_GF2m return 1 on success or 0 on error. +EC_GROUP_set_curve_GFp(), EC_GROUP_get_curve_GFp(), EC_GROUP_set_curve_GF2m(), +EC_GROUP_get_curve_GF2m() return 1 on success or 0 on error. =head1 SEE ALSO @@ -134,7 +152,7 @@ L, L =head1 COPYRIGHT -Copyright 2013-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2013-2019 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/EC_POINT_new.pod b/deps/openssl/openssl/doc/man3/EC_POINT_new.pod index 796f6666dd38bc..8cadaa75f145d7 100644 --- a/deps/openssl/openssl/doc/man3/EC_POINT_new.pod +++ b/deps/openssl/openssl/doc/man3/EC_POINT_new.pod @@ -171,6 +171,26 @@ The functions EC_POINT_point2oct(), EC_POINT_oct2point(), EC_POINT_point2bn(), EC_POINT_bn2point(), EC_POINT_point2hex() and EC_POINT_hex2point() convert from and to EC_POINTs for the formats: octet, BIGNUM and hexadecimal respectively. +The function EC_POINT_point2oct() encodes the given curve point B

    as an +octet string into the buffer B of size B, using the specified +conversion form B

    . +The encoding conforms with Sec. 2.3.3 of the SECG SEC 1 ("Elliptic Curve +Cryptography") standard. +Similarly the function EC_POINT_oct2point() decodes a curve point into B

    from +the octet string contained in the given buffer B of size B, conforming +to Sec. 2.3.4 of the SECG SEC 1 ("Elliptic Curve Cryptography") standard. + +The functions EC_POINT_point2hex() and EC_POINT_point2bn() convert a point B

    , +respectively, to the hexadecimal or BIGNUM representation of the same +encoding of the function EC_POINT_point2oct(). +Vice versa, similarly to the function EC_POINT_oct2point(), the functions +EC_POINT_hex2point() and EC_POINT_point2bn() decode the hexadecimal or +BIGNUM representation into the EC_POINT B

    . + +Notice that, according to the standard, the octet string encoding of the point +at infinity for a given curve is fixed to a single octet of value zero and that, +vice versa, a single octet of size zero is decoded as the point at infinity. + The function EC_POINT_point2oct() must be supplied with a buffer long enough to store the octet form. The return value provides the number of octets stored. Calling the function with a NULL buffer will not perform the conversion but diff --git a/deps/openssl/openssl/doc/man3/EVP_DigestInit.pod b/deps/openssl/openssl/doc/man3/EVP_DigestInit.pod index 3e3e3422976347..434e22030fdd3e 100644 --- a/deps/openssl/openssl/doc/man3/EVP_DigestInit.pod +++ b/deps/openssl/openssl/doc/man3/EVP_DigestInit.pod @@ -2,17 +2,17 @@ =head1 NAME -EVP_MD_CTX_new, EVP_MD_CTX_reset, EVP_MD_CTX_free, EVP_MD_CTX_copy_ex, -EVP_MD_CTX_ctrl, EVP_MD_CTX_set_flags, EVP_MD_CTX_clear_flags, -EVP_MD_CTX_test_flags, EVP_DigestInit_ex, EVP_DigestInit, EVP_DigestUpdate, +EVP_MD_CTX_new, EVP_MD_CTX_reset, EVP_MD_CTX_free, EVP_MD_CTX_copy, +EVP_MD_CTX_copy_ex, EVP_MD_CTX_ctrl, EVP_MD_CTX_set_flags, +EVP_MD_CTX_clear_flags, EVP_MD_CTX_test_flags, +EVP_Digest, EVP_DigestInit_ex, EVP_DigestInit, EVP_DigestUpdate, EVP_DigestFinal_ex, EVP_DigestFinalXOF, EVP_DigestFinal, -EVP_MD_CTX_copy, EVP_MD_type, EVP_MD_pkey_type, EVP_MD_size, -EVP_MD_block_size, EVP_MD_CTX_md, EVP_MD_CTX_size, -EVP_MD_CTX_block_size, EVP_MD_CTX_type, EVP_MD_CTX_md_data, +EVP_MD_type, EVP_MD_pkey_type, EVP_MD_size, EVP_MD_block_size, EVP_MD_flags, +EVP_MD_CTX_md, EVP_MD_CTX_type, EVP_MD_CTX_size, EVP_MD_CTX_block_size, +EVP_MD_CTX_md_data, EVP_MD_CTX_update_fn, EVP_MD_CTX_set_update_fn, EVP_md_null, -EVP_get_digestbyname, EVP_get_digestbynid, -EVP_get_digestbyobj, -EVP_MD_CTX_set_pkey_ctx - EVP digest routines +EVP_get_digestbyname, EVP_get_digestbynid, EVP_get_digestbyobj, +EVP_MD_CTX_pkey_ctx, EVP_MD_CTX_set_pkey_ctx - EVP digest routines =head1 SYNOPSIS @@ -26,6 +26,8 @@ EVP_MD_CTX_set_pkey_ctx - EVP digest routines void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags); int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags); + int EVP_Digest(const void *data, size_t count, unsigned char *md, + unsigned int *size, const EVP_MD *type, ENGINE *impl); int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl); int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt); int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s); @@ -42,12 +44,18 @@ EVP_MD_CTX_set_pkey_ctx - EVP digest routines int EVP_MD_pkey_type(const EVP_MD *md); int EVP_MD_size(const EVP_MD *md); int EVP_MD_block_size(const EVP_MD *md); + unsigned long EVP_MD_flags(const EVP_MD *md); const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx); - int EVP_MD_CTX_size(const EVP_MD *ctx); - int EVP_MD_CTX_block_size(const EVP_MD *ctx); - int EVP_MD_CTX_type(const EVP_MD *ctx); + int EVP_MD_CTX_size(const EVP_MD_CTX *ctx); + int EVP_MD_CTX_block_size(const EVP_MD_CTX *ctx); + int EVP_MD_CTX_type(const EVP_MD_CTX *ctx); void *EVP_MD_CTX_md_data(const EVP_MD_CTX *ctx); + int (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))(EVP_MD_CTX *ctx, + const void *data, size_t count); + void EVP_MD_CTX_set_update_fn(EVP_MD_CTX *ctx, + int (*update)(EVP_MD_CTX *ctx, + const void *data, size_t count)); const EVP_MD *EVP_md_null(void); @@ -55,6 +63,7 @@ EVP_MD_CTX_set_pkey_ctx - EVP digest routines const EVP_MD *EVP_get_digestbynid(int type); const EVP_MD *EVP_get_digestbyobj(const ASN1_OBJECT *o); + EVP_PKEY_CTX *EVP_MD_CTX_pkey_ctx(const EVP_MD_CTX *ctx); void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx); =head1 DESCRIPTION @@ -79,12 +88,24 @@ Cleans up digest context B and frees up the space allocated to it. =item EVP_MD_CTX_ctrl() -Performs digest-specific control actions on context B. +Performs digest-specific control actions on context B. The control command +is indicated in B and any additional arguments in B and B. +EVP_MD_CTX_ctrl() must be called after EVP_DigestInit_ex(). Other restrictions +may apply depending on the control type and digest implementation. +See L below for more information. =item EVP_MD_CTX_set_flags(), EVP_MD_CTX_clear_flags(), EVP_MD_CTX_test_flags() Sets, clears and tests B flags. See L below for more information. +=item EVP_Digest() + +A wrapper around the Digest Init_ex, Update and Final_ex functions. +Hashes B bytes of data at B using a digest B from ENGINE +B. The digest value is placed in B and its length is written at B +if the pointer is not NULL. At most B bytes will be written. +If B is NULL the default implementation of digest B is used. + =item EVP_DigestInit_ex() Sets up digest context B to use a digest B from ENGINE B. @@ -122,7 +143,7 @@ few bytes. =item EVP_DigestInit() Behaves in the same way as EVP_DigestInit_ex() except it always uses the -default digest implementation. +default digest implementation and calls EVP_MD_CTX_reset(). =item EVP_DigestFinal() @@ -163,6 +184,21 @@ EVP_MD_meth_set_app_datasize(). Returns the B structure corresponding to the passed B. +=item EVP_MD_CTX_set_update_fn() + +Sets the update function for B to B. +This is the function that is called by EVP_DigestUpdate. If not set, the +update function from the B type specified at initialization is used. + +=item EVP_MD_CTX_update_fn() + +Returns the update function for B. + +=item EVP_MD_flags() + +Returns the B flags. Note that these are different from the B +ones. See L for more information. + =item EVP_MD_pkey_type() Returns the NID of the public key signing algorithm associated with this @@ -182,10 +218,15 @@ EVP_get_digestbyobj() Returns an B structure when passed a digest name, a digest B or an B structure respectively. +=item EVP_MD_CTX_pkey_ctx() + +Returns the B assigned to B. The returned pointer should not +be freed by the caller. + =item EVP_MD_CTX_set_pkey_ctx() Assigns an B to B. This is usually used to provide -a customzied B to L or +a customized B to L or L. The B passed to this function should be freed by the caller. A NULL B pointer is also allowed to clear the B assigned to B. In such case, freeing the cleared B or not @@ -193,6 +234,27 @@ depends on how the B is created. =back +=head1 CONTROLS + +EVP_MD_CTX_ctrl() can be used to send the following standard controls: + +=over 4 + +=item EVP_MD_CTRL_MICALG + +Gets the digest Message Integrity Check algorithm string. This is used when +creating S/MIME multipart/signed messages, as specified in RFC 3851. +The string value is written to B. + +=item EVP_MD_CTRL_XOF_LEN + +This control sets the digest length for extendable output functions to B. +Sending this control directly should not be necessary, the use of +C is preferred. +Currently used by SHAKE. + +=back + =head1 FLAGS EVP_MD_CTX_set_flags(), EVP_MD_CTX_clear_flags() and EVP_MD_CTX_test_flags() @@ -245,8 +307,7 @@ Returns 1 if successful or 0 for failure. Returns 1 if successful or 0 for failure. =item EVP_MD_type(), -EVP_MD_pkey_type(), -EVP_MD_type() +EVP_MD_pkey_type() Returns the NID of the corresponding OBJECT IDENTIFIER or NID_undef if none exists. @@ -350,6 +411,7 @@ digest name passed on the command line. =head1 SEE ALSO +L, L, L diff --git a/deps/openssl/openssl/doc/man3/EVP_DigestSignInit.pod b/deps/openssl/openssl/doc/man3/EVP_DigestSignInit.pod index 0bbc3d0ff8f348..912880a5e1c5c8 100644 --- a/deps/openssl/openssl/doc/man3/EVP_DigestSignInit.pod +++ b/deps/openssl/openssl/doc/man3/EVP_DigestSignInit.pod @@ -36,7 +36,7 @@ EVP_MD_CTX is freed). The digest B may be NULL if the signing algorithm supports it. No B will be created by EVP_DigestSignInit() if the passed B -has already been assigned one via L. See also L. +has already been assigned one via L. See also L. Only EVP_PKEY types that support signing can be used with these functions. This includes MAC algorithms where the MAC generation is considered as a form of @@ -102,10 +102,8 @@ EVP_DigestSignFinal(). =head1 RETURN VALUES -EVP_DigestSignInit(), EVP_DigestSignUpdate(), EVP_DigestSignaFinal() and -EVP_DigestSign() return 1 for success and 0 or a negative value for failure. In -particular, a return value of -2 indicates the operation is not supported by the -public key algorithm. +EVP_DigestSignInit(), EVP_DigestSignUpdate(), EVP_DigestSignFinal() and +EVP_DigestSign() return 1 for success and 0 for failure. The error codes can be obtained from L. @@ -158,7 +156,7 @@ were added in OpenSSL 1.0.0. =head1 COPYRIGHT -Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/EVP_DigestVerifyInit.pod b/deps/openssl/openssl/doc/man3/EVP_DigestVerifyInit.pod index 05b99bb913ce3b..0806cd5d58c4d9 100644 --- a/deps/openssl/openssl/doc/man3/EVP_DigestVerifyInit.pod +++ b/deps/openssl/openssl/doc/man3/EVP_DigestVerifyInit.pod @@ -33,7 +33,7 @@ inside EVP_DigestVerifyInit() and it will be freed automatically when the EVP_MD_CTX is freed). No B will be created by EVP_DigestSignInit() if the passed B -has already been assigned one via L. See also L. +has already been assigned one via L. See also L. EVP_DigestVerifyUpdate() hashes B bytes of data at B into the verification context B. This function can be called several times on the diff --git a/deps/openssl/openssl/doc/man3/EVP_EncryptInit.pod b/deps/openssl/openssl/doc/man3/EVP_EncryptInit.pod index 6b068617b0adcf..aaf9975c4c2671 100644 --- a/deps/openssl/openssl/doc/man3/EVP_EncryptInit.pod +++ b/deps/openssl/openssl/doc/man3/EVP_EncryptInit.pod @@ -492,6 +492,15 @@ EVP_EncryptFinal_ex(), EVP_DecryptInit_ex(), EVP_DecryptFinal_ex(), EVP_CipherInit_ex() and EVP_CipherFinal_ex() because they can reuse an existing context without allocating and freeing it up on each call. +There are some differences between functions EVP_CipherInit() and +EVP_CipherInit_ex(), significant in some circumstances. EVP_CipherInit() fills +the passed context object with zeros. As a consequence, EVP_CipherInit() does +not allow step-by-step initialization of the ctx when the I and I are +passed in separate calls. It also means that the flags set for the CTX are +removed, and it is especially important for the +B flag treated specially in +EVP_CipherInit_ex(). + EVP_get_cipherbynid(), and EVP_get_cipherbyobj() are implemented as macros. =head1 BUGS diff --git a/deps/openssl/openssl/doc/man3/EVP_MD_meth_new.pod b/deps/openssl/openssl/doc/man3/EVP_MD_meth_new.pod index 0265c7d50456eb..e17a4cd519abe0 100644 --- a/deps/openssl/openssl/doc/man3/EVP_MD_meth_new.pod +++ b/deps/openssl/openssl/doc/man3/EVP_MD_meth_new.pod @@ -84,7 +84,12 @@ together. The available flags are: =item EVP_MD_FLAG_ONESHOT -This digest method can only handles one block of input. +This digest method can only handle one block of input. + +=item EVP_MD_FLAG_XOF + +This digest method is an extensible-output function (XOF) and supports +the B control. =item EVP_MD_FLAG_DIGALGID_NULL @@ -105,19 +110,24 @@ B as default. I Currently unused. +=item EVP_MD_FLAG_FIPS + +This digest method is suitable for use in FIPS mode. +Currently unused. + =back EVP_MD_meth_set_init() sets the digest init function for B. -The digest init function is called by EVP_DigestInit(), +The digest init function is called by EVP_Digest(), EVP_DigestInit(), EVP_DigestInit_ex(), EVP_SignInit, EVP_SignInit_ex(), EVP_VerifyInit() and EVP_VerifyInit_ex(). EVP_MD_meth_set_update() sets the digest update function for B. -The digest update function is called by EVP_DigestUpdate(), +The digest update function is called by EVP_Digest(), EVP_DigestUpdate() and EVP_SignUpdate(). EVP_MD_meth_set_final() sets the digest final function for B. -The digest final function is called by EVP_DigestFinal(), +The digest final function is called by EVP_Digest(), EVP_DigestFinal(), EVP_DigestFinal_ex(), EVP_SignFinal() and EVP_VerifyFinal(). EVP_MD_meth_set_copy() sets the function for B to do extra @@ -138,6 +148,7 @@ This cleanup function is called by EVP_MD_CTX_reset() and EVP_MD_CTX_free(). EVP_MD_meth_set_ctrl() sets the control function for B. +See L for the available controls. EVP_MD_meth_get_input_blocksize(), EVP_MD_meth_get_result_size(), EVP_MD_meth_get_app_datasize(), EVP_MD_meth_get_flags(), @@ -169,7 +180,7 @@ The B structure was openly available in OpenSSL before version =head1 COPYRIGHT -Copyright 2015-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/EVP_PKEY_CTX_ctrl.pod b/deps/openssl/openssl/doc/man3/EVP_PKEY_CTX_ctrl.pod index 75fad0f70ce0d1..16d8462a426374 100644 --- a/deps/openssl/openssl/doc/man3/EVP_PKEY_CTX_ctrl.pod +++ b/deps/openssl/openssl/doc/man3/EVP_PKEY_CTX_ctrl.pod @@ -23,6 +23,8 @@ EVP_PKEY_CTX_get_rsa_oaep_md, EVP_PKEY_CTX_set0_rsa_oaep_label, EVP_PKEY_CTX_get0_rsa_oaep_label, EVP_PKEY_CTX_set_dsa_paramgen_bits, +EVP_PKEY_CTX_set_dsa_paramgen_q_bits, +EVP_PKEY_CTX_set_dsa_paramgen_md, EVP_PKEY_CTX_set_dh_paramgen_prime_len, EVP_PKEY_CTX_set_dh_paramgen_subprime_len, EVP_PKEY_CTX_set_dh_paramgen_generator, @@ -93,6 +95,8 @@ EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len #include int EVP_PKEY_CTX_set_dsa_paramgen_bits(EVP_PKEY_CTX *ctx, int nbits); + int EVP_PKEY_CTX_set_dsa_paramgen_q_bits(EVP_PKEY_CTX *ctx, int qbits); + int EVP_PKEY_CTX_set_dsa_paramgen_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); #include @@ -255,7 +259,17 @@ by the library and should not be freed by the caller. =head2 DSA parameters The EVP_PKEY_CTX_set_dsa_paramgen_bits() macro sets the number of bits used -for DSA parameter generation to B. If not specified 1024 is used. +for DSA parameter generation to B. If not specified, 1024 is used. + +The EVP_PKEY_CTX_set_dsa_paramgen_q_bits() macro sets the number of bits in the +subprime parameter B for DSA parameter generation to B. If not +specified, 160 is used. If a digest function is specified below, this parameter +is ignored and instead, the number of bits in B matches the size of the +digest. + +The EVP_PKEY_CTX_set_dsa_paramgen_md() macro sets the digest function used for +DSA parameter generation to B. If not specified, one of SHA-1, SHA-224, or +SHA-256 is selected to match the bit length of B above. =head2 DH parameters diff --git a/deps/openssl/openssl/doc/man3/EVP_PKEY_meth_new.pod b/deps/openssl/openssl/doc/man3/EVP_PKEY_meth_new.pod index 8a167ce0d6ff08..106873d9acc190 100644 --- a/deps/openssl/openssl/doc/man3/EVP_PKEY_meth_new.pod +++ b/deps/openssl/openssl/doc/man3/EVP_PKEY_meth_new.pod @@ -8,14 +8,18 @@ EVP_PKEY_meth_set_init, EVP_PKEY_meth_set_copy, EVP_PKEY_meth_set_cleanup, EVP_PKEY_meth_set_paramgen, EVP_PKEY_meth_set_keygen, EVP_PKEY_meth_set_sign, EVP_PKEY_meth_set_verify, EVP_PKEY_meth_set_verify_recover, EVP_PKEY_meth_set_signctx, EVP_PKEY_meth_set_verifyctx, EVP_PKEY_meth_set_encrypt, EVP_PKEY_meth_set_decrypt, -EVP_PKEY_meth_set_derive, EVP_PKEY_meth_set_ctrl, EVP_PKEY_meth_set_check, +EVP_PKEY_meth_set_derive, EVP_PKEY_meth_set_ctrl, +EVP_PKEY_meth_set_digestsign, EVP_PKEY_meth_set_digestverify, +EVP_PKEY_meth_set_check, EVP_PKEY_meth_set_public_check, EVP_PKEY_meth_set_param_check, EVP_PKEY_meth_set_digest_custom, EVP_PKEY_meth_get_init, EVP_PKEY_meth_get_copy, EVP_PKEY_meth_get_cleanup, EVP_PKEY_meth_get_paramgen, EVP_PKEY_meth_get_keygen, EVP_PKEY_meth_get_sign, EVP_PKEY_meth_get_verify, EVP_PKEY_meth_get_verify_recover, EVP_PKEY_meth_get_signctx, EVP_PKEY_meth_get_verifyctx, EVP_PKEY_meth_get_encrypt, EVP_PKEY_meth_get_decrypt, -EVP_PKEY_meth_get_derive, EVP_PKEY_meth_get_ctrl, EVP_PKEY_meth_get_check, +EVP_PKEY_meth_get_derive, EVP_PKEY_meth_get_ctrl, +EVP_PKEY_meth_get_digestsign, EVP_PKEY_meth_get_digestverify, +EVP_PKEY_meth_get_check, EVP_PKEY_meth_get_public_check, EVP_PKEY_meth_get_param_check, EVP_PKEY_meth_get_digest_custom, EVP_PKEY_meth_remove @@ -112,6 +116,18 @@ EVP_PKEY_meth_remove int (*ctrl_str) (EVP_PKEY_CTX *ctx, const char *type, const char *value)); + void EVP_PKEY_meth_set_digestsign(EVP_PKEY_METHOD *pmeth, + int (*digestsign) (EVP_MD_CTX *ctx, + unsigned char *sig, + size_t *siglen, + const unsigned char *tbs, + size_t tbslen)); + void EVP_PKEY_meth_set_digestverify(EVP_PKEY_METHOD *pmeth, + int (*digestverify) (EVP_MD_CTX *ctx, + const unsigned char *sig, + size_t siglen, + const unsigned char *tbs, + size_t tbslen)); void EVP_PKEY_meth_set_check(EVP_PKEY_METHOD *pmeth, int (*check) (EVP_PKEY *pkey)); void EVP_PKEY_meth_set_public_check(EVP_PKEY_METHOD *pmeth, @@ -200,6 +216,18 @@ EVP_PKEY_meth_remove int (**pctrl_str) (EVP_PKEY_CTX *ctx, const char *type, const char *value)); + void EVP_PKEY_meth_get_digestsign(EVP_PKEY_METHOD *pmeth, + int (**digestsign) (EVP_MD_CTX *ctx, + unsigned char *sig, + size_t *siglen, + const unsigned char *tbs, + size_t tbslen)); + void EVP_PKEY_meth_get_digestverify(EVP_PKEY_METHOD *pmeth, + int (**digestverify) (EVP_MD_CTX *ctx, + const unsigned char *sig, + size_t siglen, + const unsigned char *tbs, + size_t tbslen)); void EVP_PKEY_meth_get_check(const EVP_PKEY_METHOD *pmeth, int (**pcheck) (EVP_PKEY *pkey)); void EVP_PKEY_meth_get_public_check(const EVP_PKEY_METHOD *pmeth, diff --git a/deps/openssl/openssl/doc/man3/EVP_PKEY_new.pod b/deps/openssl/openssl/doc/man3/EVP_PKEY_new.pod index ebe20986dba14b..667269cc624e55 100644 --- a/deps/openssl/openssl/doc/man3/EVP_PKEY_new.pod +++ b/deps/openssl/openssl/doc/man3/EVP_PKEY_new.pod @@ -72,21 +72,24 @@ EVP_PKEY_new_mac_key() works in the same way as EVP_PKEY_new_raw_private_key(). New applications should use EVP_PKEY_new_raw_private_key() instead. EVP_PKEY_get_raw_private_key() fills the buffer provided by B with raw -private key data. The number of bytes written is populated in B<*len>. If the -buffer B is NULL then B<*len> is populated with the number of bytes -required to hold the key. The calling application is responsible for ensuring -that the buffer is large enough to receive the private key data. This function -only works for algorithms that support raw private keys. Currently this is: -B, B, B, B, -B, B or B. +private key data. The size of the B buffer should be in B<*len> on entry +to the function, and on exit B<*len> is updated with the number of bytes +actually written. If the buffer B is NULL then B<*len> is populated with +the number of bytes required to hold the key. The calling application is +responsible for ensuring that the buffer is large enough to receive the private +key data. This function only works for algorithms that support raw private keys. +Currently this is: B, B, B, +B, B, B or B. EVP_PKEY_get_raw_public_key() fills the buffer provided by B with raw -public key data. The number of bytes written is populated in B<*len>. If the -buffer B is NULL then B<*len> is populated with the number of bytes -required to hold the key. The calling application is responsible for ensuring -that the buffer is large enough to receive the public key data. This function -only works for algorithms that support raw public keys. Currently this is: -B, B, B or B. +public key data. The size of the B buffer should be in B<*len> on entry +to the function, and on exit B<*len> is updated with the number of bytes +actually written. If the buffer B is NULL then B<*len> is populated with +the number of bytes required to hold the key. The calling application is +responsible for ensuring that the buffer is large enough to receive the public +key data. This function only works for algorithms that support raw public keys. +Currently this is: B, B, B or +B. =head1 NOTES @@ -126,7 +129,7 @@ EVP_PKEY_get_raw_public_key() functions were added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2002-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/EVP_PKEY_size.pod b/deps/openssl/openssl/doc/man3/EVP_PKEY_size.pod new file mode 100644 index 00000000000000..786c5039142c2a --- /dev/null +++ b/deps/openssl/openssl/doc/man3/EVP_PKEY_size.pod @@ -0,0 +1,80 @@ +=pod + +=head1 NAME + +EVP_PKEY_size, EVP_PKEY_bits, EVP_PKEY_security_bits +- EVP_PKEY information functions + +=head1 SYNOPSIS + + #include + + int EVP_PKEY_size(const EVP_PKEY *pkey); + int EVP_PKEY_bits(const EVP_PKEY *pkey); + int EVP_PKEY_security_bits(const EVP_PKEY *pkey); + +=head1 DESCRIPTION + +EVP_PKEY_size() returns the maximum suitable size for the output +buffers for almost all operations that can be done with I. +The primary documented use is with L and +L, but it isn't limited there. The returned size is +also large enough for the output buffer of L, +L, L, L. + +It must be stressed that, unless the documentation for the operation +that's being performed says otherwise, the size returned by +EVP_PKEY_size() is only preliminary and not exact, so the final +contents of the target buffer may be smaller. It is therefore crucial +to take note of the size given back by the function that performs the +operation, such as L (the I argument will +receive that length), to avoid bugs. + +EVP_PKEY_bits() returns the cryptographic length of the cryptosystem +to which the key in I belongs, in bits. Note that the definition +of cryptographic length is specific to the key cryptosystem. + +EVP_PKEY_security_bits() returns the number of security bits of the given +I, bits of security is defined in NIST SP800-57. + +=head1 RETURN VALUES + +EVP_PKEY_size(), EVP_PKEY_bits() and EVP_PKEY_security_bits() return a +positive number, or 0 if this size isn't available. + +=head1 NOTES + +Most functions that have an output buffer and are mentioned with +EVP_PKEY_size() have a functionality where you can pass NULL for the +buffer and still pass a pointer to an integer and get the exact size +that this function call delivers in the context that it's called in. +This allows those functions to be called twice, once to find out the +exact buffer size, then allocate the buffer in between, and call that +function again actually output the data. For those functions, it +isn't strictly necessary to call EVP_PKEY_size() to find out the +buffer size, but may be useful in cases where it's desirable to know +the upper limit in advance. + +It should also be especially noted that EVP_PKEY_size() shouldn't be +used to get the output size for EVP_DigestSignFinal(), according to +L. + +=head1 SEE ALSO + +L, +L, +L, +L, +L, +L + +=head1 COPYRIGHT + +Copyright 2020 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +L. + +=cut diff --git a/deps/openssl/openssl/doc/man3/EVP_SignInit.pod b/deps/openssl/openssl/doc/man3/EVP_SignInit.pod index c26b7f7d5d2209..22ce747d333f7b 100644 --- a/deps/openssl/openssl/doc/man3/EVP_SignInit.pod +++ b/deps/openssl/openssl/doc/man3/EVP_SignInit.pod @@ -2,10 +2,8 @@ =head1 NAME -EVP_PKEY_size, -EVP_SignInit, EVP_SignInit_ex, EVP_SignUpdate, EVP_SignFinal, -EVP_PKEY_security_bits - EVP signing -functions +EVP_SignInit, EVP_SignInit_ex, EVP_SignUpdate, EVP_SignFinal +- EVP signing functions =head1 SYNOPSIS @@ -17,49 +15,36 @@ functions void EVP_SignInit(EVP_MD_CTX *ctx, const EVP_MD *type); - int EVP_PKEY_size(const EVP_PKEY *pkey); - int EVP_PKEY_security_bits(const EVP_PKEY *pkey); - =head1 DESCRIPTION The EVP signature routines are a high level interface to digital signatures. -EVP_SignInit_ex() sets up signing context B to use digest -B from ENGINE B. B must be created with +EVP_SignInit_ex() sets up signing context I to use digest +I from B I. I must be created with EVP_MD_CTX_new() before calling this function. -EVP_SignUpdate() hashes B bytes of data at B into the -signature context B. This function can be called several times on the -same B to include additional data. +EVP_SignUpdate() hashes I bytes of data at I into the +signature context I. This function can be called several times on the +same I to include additional data. -EVP_SignFinal() signs the data in B using the private key B and -places the signature in B. B must be at least EVP_PKEY_size(pkey) -bytes in size. B is an OUT parameter, and not used as an IN parameter. +EVP_SignFinal() signs the data in I using the private key I and +places the signature in I. I must be at least C +bytes in size. I is an OUT parameter, and not used as an IN parameter. The number of bytes of data written (i.e. the length of the signature) -will be written to the integer at B, at most EVP_PKEY_size(pkey) bytes +will be written to the integer at I, at most C bytes will be written. -EVP_SignInit() initializes a signing context B to use the default -implementation of digest B. - -EVP_PKEY_size() returns the maximum size of a signature in bytes. The actual -signature returned by EVP_SignFinal() may be smaller. - -EVP_PKEY_security_bits() returns the number of security bits of the given B, -bits of security is defined in NIST SP800-57. +EVP_SignInit() initializes a signing context I to use the default +implementation of digest I. =head1 RETURN VALUES EVP_SignInit_ex(), EVP_SignUpdate() and EVP_SignFinal() return 1 for success and 0 for failure. -EVP_PKEY_size() returns the maximum size of a signature in bytes. - The error codes can be obtained by L. -EVP_PKEY_security_bits() returns the number of security bits. - =head1 NOTES The B interface to digital signatures should almost always be used in @@ -95,6 +80,7 @@ The previous two bugs are fixed in the newer EVP_SignDigest*() function. =head1 SEE ALSO +L, L, L, L, L, L, L, L, @@ -103,7 +89,7 @@ L, L =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/OCSP_request_add1_nonce.pod b/deps/openssl/openssl/doc/man3/OCSP_request_add1_nonce.pod index 66e4c7b8fb78be..81bf645108f3d1 100644 --- a/deps/openssl/openssl/doc/man3/OCSP_request_add1_nonce.pod +++ b/deps/openssl/openssl/doc/man3/OCSP_request_add1_nonce.pod @@ -24,7 +24,7 @@ it adds a nonce to OCSP basic response B. OCSP_check_nonce() compares the nonce value in B and B. -OCSP_copy_nonce() copys any nonce value present in B to B. +OCSP_copy_nonce() copies any nonce value present in B to B. =head1 RETURN VALUES @@ -74,7 +74,7 @@ L =head1 COPYRIGHT -Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/OCSP_response_status.pod b/deps/openssl/openssl/doc/man3/OCSP_response_status.pod index 82f95b3af1d190..e7e22e4cb54943 100644 --- a/deps/openssl/openssl/doc/man3/OCSP_response_status.pod +++ b/deps/openssl/openssl/doc/man3/OCSP_response_status.pod @@ -58,7 +58,7 @@ with the X509 certificate B. OCSP_basic_sign() signs OCSP response B using certificate B, private key B, digest B and additional certificates B. If the B option -B is set then no certificates will be included in the request. If the +B is set then no certificates will be included in the response. If the B option B is set then the responder is identified by key ID rather than by name. OCSP_basic_sign_ctx() also signs OCSP response B but uses the parameters contained in digest context B. @@ -107,7 +107,7 @@ The OCSP_basic_sign_ctx() function was added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/OCSP_sendreq_new.pod b/deps/openssl/openssl/doc/man3/OCSP_sendreq_new.pod index 65ba235c104ea4..a129a16bf23c16 100644 --- a/deps/openssl/openssl/doc/man3/OCSP_sendreq_new.pod +++ b/deps/openssl/openssl/doc/man3/OCSP_sendreq_new.pod @@ -24,8 +24,7 @@ OCSP_REQ_CTX_set1_req, OCSP_sendreq_bio - OCSP responder query functions int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, OCSP_REQUEST *req); - OCSP_RESPONSE *OCSP_sendreq_bio(BIO *io, const char *path, OCSP_REQUEST *req, - int maxline); + OCSP_RESPONSE *OCSP_sendreq_bio(BIO *io, const char *path, OCSP_REQUEST *req); =head1 DESCRIPTION @@ -54,8 +53,8 @@ OCSP_REQ_CTX_set1_req() sets the OCSP request in B to B. This function should be called after any calls to OCSP_REQ_CTX_add1_header(). OCSP_sendreq_bio() performs an OCSP request using the responder B, the URL -path B, the OCSP request B and with a response header maximum line -length of B. If B is zero a default value of 4k is used. +path B, and the OCSP request B with a response header maximum line +length 4k. It waits indefinitely on a response. =head1 RETURN VALUES @@ -112,7 +111,7 @@ L =head1 COPYRIGHT -Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/OPENSSL_malloc.pod b/deps/openssl/openssl/doc/man3/OPENSSL_malloc.pod index 2d678c951f0ae2..c60e038309a1db 100644 --- a/deps/openssl/openssl/doc/man3/OPENSSL_malloc.pod +++ b/deps/openssl/openssl/doc/man3/OPENSSL_malloc.pod @@ -160,7 +160,7 @@ about what is being done. For example, identifying the field names when parsing a complicated data structure. OPENSSL_mem_debug_push() (which calls CRYPTO_mem_debug_push()) -attachs an identifying string to the allocation stack. +attaches an identifying string to the allocation stack. This must be a global or other static string; it is not copied. OPENSSL_mem_debug_pop() removes identifying state from the stack. @@ -245,7 +245,7 @@ only, say, the malloc() implementation is outright dangerous.> =head1 COPYRIGHT -Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/OPENSSL_secure_malloc.pod b/deps/openssl/openssl/doc/man3/OPENSSL_secure_malloc.pod index 6c395383513b7c..86c2522afe4927 100644 --- a/deps/openssl/openssl/doc/man3/OPENSSL_secure_malloc.pod +++ b/deps/openssl/openssl/doc/man3/OPENSSL_secure_malloc.pod @@ -7,6 +7,7 @@ CRYPTO_secure_malloc_done, OPENSSL_secure_malloc, CRYPTO_secure_malloc, OPENSSL_secure_zalloc, CRYPTO_secure_zalloc, OPENSSL_secure_free, CRYPTO_secure_free, OPENSSL_secure_clear_free, CRYPTO_secure_clear_free, OPENSSL_secure_actual_size, +CRYPTO_secure_allocated, CRYPTO_secure_used - secure heap storage =head1 SYNOPSIS @@ -33,6 +34,7 @@ CRYPTO_secure_used - secure heap storage size_t OPENSSL_secure_actual_size(const void *ptr); + int CRYPTO_secure_allocated(const void *ptr); size_t CRYPTO_secure_used(); =head1 DESCRIPTION @@ -90,6 +92,8 @@ OPENSSL_secure_actual_size() tells the actual size allocated to the pointer; implementations may allocate more space than initially requested, in order to "round up" and reduce secure heap fragmentation. +OPENSSL_secure_allocated() tells if a pointer is allocated in the secure heap. + CRYPTO_secure_used() returns the number of bytes allocated in the secure heap. diff --git a/deps/openssl/openssl/doc/man3/PEM_bytes_read_bio.pod b/deps/openssl/openssl/doc/man3/PEM_bytes_read_bio.pod index 3a5bfee9969f82..eb2fb2059ee7b6 100644 --- a/deps/openssl/openssl/doc/man3/PEM_bytes_read_bio.pod +++ b/deps/openssl/openssl/doc/man3/PEM_bytes_read_bio.pod @@ -17,7 +17,8 @@ PEM_bytes_read_bio, PEM_bytes_read_bio_secmem - read a PEM-encoded data structur =head1 DESCRIPTION -PEM_bytes_read_bio() reads PEM-formatted (RFC 1421) data from the BIO +PEM_bytes_read_bio() reads PEM-formatted (IETF RFC 1421 and IETF RFC 7468) +data from the BIO I for the data type given in I (RSA PRIVATE KEY, CERTIFICATE, etc.). If multiple PEM-encoded data structures are present in the same stream, PEM_bytes_read_bio() will skip non-matching data types and @@ -66,7 +67,6 @@ PEM_bytes_read_bio() and PEM_bytes_read_bio_secmem() return 1 for success or =head1 SEE ALSO -L, L, L diff --git a/deps/openssl/openssl/doc/man3/PEM_read_bio_PrivateKey.pod b/deps/openssl/openssl/doc/man3/PEM_read_bio_PrivateKey.pod index 7c381e85feff73..a8306500fb3c50 100644 --- a/deps/openssl/openssl/doc/man3/PEM_read_bio_PrivateKey.pod +++ b/deps/openssl/openssl/doc/man3/PEM_read_bio_PrivateKey.pod @@ -15,7 +15,8 @@ PEM_write_RSAPublicKey, PEM_read_bio_RSA_PUBKEY, PEM_read_RSA_PUBKEY, PEM_write_bio_RSA_PUBKEY, PEM_write_RSA_PUBKEY, PEM_read_bio_DSAPrivateKey, PEM_read_DSAPrivateKey, PEM_write_bio_DSAPrivateKey, PEM_write_DSAPrivateKey, PEM_read_bio_DSA_PUBKEY, PEM_read_DSA_PUBKEY, PEM_write_bio_DSA_PUBKEY, -PEM_write_DSA_PUBKEY, PEM_read_bio_DSAparams, PEM_read_DSAparams, +PEM_write_DSA_PUBKEY, PEM_read_bio_Parameters, PEM_write_bio_Parameters, +PEM_read_bio_DSAparams, PEM_read_DSAparams, PEM_write_bio_DSAparams, PEM_write_DSAparams, PEM_read_bio_DHparams, PEM_read_DHparams, PEM_write_bio_DHparams, PEM_write_DHparams, PEM_read_bio_X509, PEM_read_X509, PEM_write_bio_X509, PEM_write_X509, @@ -110,6 +111,9 @@ PEM_write_bio_PKCS7, PEM_write_PKCS7 - PEM routines int PEM_write_bio_DSA_PUBKEY(BIO *bp, DSA *x); int PEM_write_DSA_PUBKEY(FILE *fp, DSA *x); + EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x); + int PEM_write_bio_Parameters(BIO *bp, const EVP_PKEY *x); + DSA *PEM_read_bio_DSAparams(BIO *bp, DSA **x, pem_password_cb *cb, void *u); DSA *PEM_read_DSAparams(FILE *fp, DSA **x, pem_password_cb *cb, void *u); int PEM_write_bio_DSAparams(BIO *bp, DSA *x); @@ -216,6 +220,12 @@ a DSA structure. The public key is encoded using a SubjectPublicKeyInfo structure and an error occurs if the public key is not DSA. +The B functions read or write key parameters in PEM format using +an EVP_PKEY structure. The encoding depends on the type of key; for DSA key +parameters, it will be a Dss-Parms structure as defined in RFC2459, and for DH +key parameters, it will be a PKCS#3 DHparameter structure. I type>. + The B functions process DSA parameters using a DSA structure. The parameters are encoded using a Dss-Parms structure as defined in RFC2459. diff --git a/deps/openssl/openssl/doc/man3/PEM_read_bio_ex.pod b/deps/openssl/openssl/doc/man3/PEM_read_bio_ex.pod index a16b0ede5a9c31..9748e74e0f77d3 100644 --- a/deps/openssl/openssl/doc/man3/PEM_read_bio_ex.pod +++ b/deps/openssl/openssl/doc/man3/PEM_read_bio_ex.pod @@ -52,7 +52,7 @@ PEM_read_bio_ex() returns 1 for success or 0 for failure. =head1 SEE ALSO -L +L =head1 HISTORY diff --git a/deps/openssl/openssl/doc/man3/RAND_bytes.pod b/deps/openssl/openssl/doc/man3/RAND_bytes.pod index e2265d170a6198..c44c2f96760752 100644 --- a/deps/openssl/openssl/doc/man3/RAND_bytes.pod +++ b/deps/openssl/openssl/doc/man3/RAND_bytes.pod @@ -19,8 +19,8 @@ Deprecated: =head1 DESCRIPTION -RAND_bytes() puts B cryptographically strong pseudo-random bytes -into B. +RAND_bytes() generates B random bytes using a cryptographically +secure pseudo random generator (CSPRNG) and stores them in B. RAND_priv_bytes() has the same semantics as RAND_bytes(). It is intended to be used for generating values that should remain private. If using the @@ -31,10 +31,22 @@ and L. =head1 NOTES -Always check the error return value of RAND_bytes() and -RAND_priv_bytes() and do not take randomness for granted: an error occurs -if the CSPRNG has not been seeded with enough randomness to ensure an -unpredictable byte sequence. +By default, the OpenSSL CSPRNG supports a security level of 256 bits, provided it +was able to seed itself from a trusted entropy source. +On all major platforms supported by OpenSSL (including the Unix-like platforms +and Windows), OpenSSL is configured to automatically seed the CSPRNG on first use +using the operating systems's random generator. + +If the entropy source fails or is not available, the CSPRNG will enter an +error state and refuse to generate random bytes. For that reason, it is important +to always check the error return value of RAND_bytes() and RAND_priv_bytes() and +not take randomness for granted. + +On other platforms, there might not be a trusted entropy source available +or OpenSSL might have been explicitly configured to use different entropy sources. +If you are in doubt about the quality of the entropy source, don't hesitate to ask +your operating system vendor or post a question on GitHub or the openssl-users +mailing list. =head1 RETURN VALUES @@ -68,7 +80,7 @@ The RAND_priv_bytes() function was added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/RAND_set_rand_method.pod b/deps/openssl/openssl/doc/man3/RAND_set_rand_method.pod index 83a6cac17a51d9..b120e712e6f3d7 100644 --- a/deps/openssl/openssl/doc/man3/RAND_set_rand_method.pod +++ b/deps/openssl/openssl/doc/man3/RAND_set_rand_method.pod @@ -48,7 +48,7 @@ Each pointer may be NULL if the function is not implemented. =head1 RETURN VALUES -RAND_set_rand_method() returns 1 on success and 0 on failue. +RAND_set_rand_method() returns 1 on success and 0 on failure. RAND_get_rand_method() and RAND_OpenSSL() return pointers to the respective methods. diff --git a/deps/openssl/openssl/doc/man3/RSA_get0_key.pod b/deps/openssl/openssl/doc/man3/RSA_get0_key.pod index 358c2de256f935..adcd57c4907132 100644 --- a/deps/openssl/openssl/doc/man3/RSA_get0_key.pod +++ b/deps/openssl/openssl/doc/man3/RSA_get0_key.pod @@ -5,7 +5,7 @@ RSA_set0_key, RSA_set0_factors, RSA_set0_crt_params, RSA_get0_key, RSA_get0_factors, RSA_get0_crt_params, RSA_get0_n, RSA_get0_e, RSA_get0_d, RSA_get0_p, RSA_get0_q, -RSA_get0_dmp1, RSA_get0_dmq1, RSA_get0_iqmp, +RSA_get0_dmp1, RSA_get0_dmq1, RSA_get0_iqmp, RSA_get0_pss_params, RSA_clear_flags, RSA_test_flags, RSA_set_flags, RSA_get0_engine, RSA_get_multi_prime_extra_count, RSA_get0_multi_prime_factors, RSA_get0_multi_prime_crt_params, @@ -33,6 +33,7 @@ RSA_set0_multi_prime_params, RSA_get_version const BIGNUM *RSA_get0_dmp1(const RSA *r); const BIGNUM *RSA_get0_dmq1(const RSA *r); const BIGNUM *RSA_get0_iqmp(const RSA *r); + const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r); void RSA_clear_flags(RSA *r, int flags); int RSA_test_flags(const RSA *r, int flags); void RSA_set_flags(RSA *r, int flags); @@ -98,6 +99,8 @@ retrieved separately by the corresponding function RSA_get0_n(), RSA_get0_e(), RSA_get0_d(), RSA_get0_p(), RSA_get0_q(), RSA_get0_dmp1(), RSA_get0_dmq1(), and RSA_get0_iqmp(), respectively. +RSA_get0_pss_params() is used to retrieve the RSA-PSS parameters. + RSA_set_flags() sets the flags in the B parameter on the RSA object. Multiple flags can be passed in one go (bitwise ORed together). Any flags that are already set are left set. RSA_test_flags() tests to @@ -157,6 +160,8 @@ L, L =head1 HISTORY +The RSA_get0_pss_params() function was added in OpenSSL 1.1.1e. + The RSA_get_multi_prime_extra_count(), RSA_get0_multi_prime_factors(), RSA_get0_multi_prime_crt_params(), RSA_set0_multi_prime_params(), diff --git a/deps/openssl/openssl/doc/man3/SSL_CTX_sess_set_get_cb.pod b/deps/openssl/openssl/doc/man3/SSL_CTX_sess_set_get_cb.pod index 774c4b120f6e30..d30f84d78a28c3 100644 --- a/deps/openssl/openssl/doc/man3/SSL_CTX_sess_set_get_cb.pod +++ b/deps/openssl/openssl/doc/man3/SSL_CTX_sess_set_get_cb.pod @@ -28,19 +28,19 @@ SSL_CTX_sess_set_new_cb, SSL_CTX_sess_set_remove_cb, SSL_CTX_sess_set_get_cb, SS =head1 DESCRIPTION -SSL_CTX_sess_set_new_cb() sets the callback function, which is automatically +SSL_CTX_sess_set_new_cb() sets the callback function that is called whenever a new session was negotiated. -SSL_CTX_sess_set_remove_cb() sets the callback function, which is -automatically called whenever a session is removed by the SSL engine, -because it is considered faulty or the session has become obsolete because -of exceeding the timeout value. +SSL_CTX_sess_set_remove_cb() sets the callback function that is +called whenever a session is removed by the SSL engine. For example, +this can occur because a session is considered faulty or has become obsolete +because of exceeding the timeout value. -SSL_CTX_sess_set_get_cb() sets the callback function which is called, -whenever a SSL/TLS client proposed to resume a session but the session +SSL_CTX_sess_set_get_cb() sets the callback function that is called +whenever a TLS client proposed to resume a session but the session could not be found in the internal session cache (see L). -(SSL/TLS server only.) +(TLS server only.) SSL_CTX_sess_get_new_cb(), SSL_CTX_sess_get_remove_cb(), and SSL_CTX_sess_get_get_cb() retrieve the function pointers set by the @@ -54,12 +54,19 @@ session cache is realized via callback functions. Inside these callback functions, session can be saved to disk or put into a database using the L interface. -The new_session_cb() is called, whenever a new session has been negotiated -and session caching is enabled (see -L). -The new_session_cb() is passed the B connection and the ssl session -B. If the callback returns B<0>, the session will be immediately -removed again. Note that in TLSv1.3, sessions are established after the main +The new_session_cb() is called whenever a new session has been negotiated and +session caching is enabled (see L). The +new_session_cb() is passed the B connection and the nascent +ssl session B. +Since sessions are reference-counted objects, the reference count on the +session is incremented before the callback, on behalf of the application. If +the callback returns B<0>, the session will be immediately removed from the +internal cache and the reference count released. If the callback returns B<1>, +the application retains the reference (for an entry in the +application-maintained "external session cache"), and is responsible for +calling SSL_SESSION_free() when the session reference is no longer in use. + +Note that in TLSv1.3, sessions are established after the main handshake has completed. The server decides when to send the client the session information and this may occur some time after the end of the handshake (or not at all). This means that applications should expect the new_session_cb() @@ -72,21 +79,23 @@ In TLSv1.3 it is recommended that each SSL_SESSION object is only used for resumption once. One way of enforcing that is for applications to call L after a session has been used. -The remove_session_cb() is called, whenever the SSL engine removes a session -from the internal cache. This happens when the session is removed because +The remove_session_cb() is called whenever the SSL engine removes a session +from the internal cache. This can happen when the session is removed because it is expired or when a connection was not shutdown cleanly. It also happens for all sessions in the internal session cache when L is called. The remove_session_cb() is passed the B and the ssl session B. It does not provide any feedback. -The get_session_cb() is only called on SSL/TLS servers with the session id -proposed by the client. The get_session_cb() is always called, also when +The get_session_cb() is only called on SSL/TLS servers, and is given +the session id +proposed by the client. The get_session_cb() is always called, even when session caching was disabled. The get_session_cb() is passed the -B connection, the session id of length B at the memory location -B. With the parameter B the callback can require the -SSL engine to increment the reference count of the SSL_SESSION object, -Normally the reference count is not incremented and therefore the -session must not be explicitly freed with +B connection and the session id of length B at the memory location +B. By setting the parameter B to B<1>, the callback can require the +SSL engine to increment the reference count of the SSL_SESSION object; +setting B to B<0> causes the reference count to remain unchanged. +If the get_session_cb() does not write to B, the reference count +is incremented and the session must be explicitly freed with L. =head1 RETURN VALUES @@ -104,7 +113,7 @@ L =head1 COPYRIGHT -Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod b/deps/openssl/openssl/doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod index f29153ed25d8ab..aa167f6332ed54 100644 --- a/deps/openssl/openssl/doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod +++ b/deps/openssl/openssl/doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod @@ -3,7 +3,9 @@ =head1 NAME SSL_CTX_set_stateless_cookie_generate_cb, -SSL_CTX_set_stateless_cookie_verify_cb +SSL_CTX_set_stateless_cookie_verify_cb, +SSL_CTX_set_cookie_generate_cb, +SSL_CTX_set_cookie_verify_cb - Callback functions for stateless TLS1.3 cookies =head1 SYNOPSIS @@ -21,22 +23,51 @@ SSL_CTX_set_stateless_cookie_verify_cb const unsigned char *cookie, size_t cookie_len)); + void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, + int (*app_gen_cookie_cb) (SSL *ssl, + unsigned char + *cookie, + unsigned int + *cookie_len)); + void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, + int (*app_verify_cookie_cb) (SSL *ssl, + const unsigned + char *cookie, + unsigned int + cookie_len)); + =head1 DESCRIPTION -SSL_CTX_set_cookie_generate_cb() sets the callback used by L -to generate the application-controlled portion of the cookie provided to clients -in the HelloRetryRequest transmitted as a response to a ClientHello with a -missing or invalid cookie. gen_stateless_cookie_cb() must write at most -SSL_COOKIE_LENGTH bytes into B, and must write the number of bytes -written to B. If a cookie cannot be generated, a zero return value -can be used to abort the handshake. - -SSL_CTX_set_cookie_verify_cb() sets the callback used by L to -determine whether the application-controlled portion of a ClientHello cookie is -valid. A nonzero return value from app_verify_cookie_cb() communicates that the -cookie is valid. The integrity of the entire cookie, including the -application-controlled portion, is automatically verified by HMAC before -verify_stateless_cookie_cb() is called. +SSL_CTX_set_stateless_cookie_generate_cb() sets the callback used by +L to generate the application-controlled portion of the cookie +provided to clients in the HelloRetryRequest transmitted as a response to a +ClientHello with a missing or invalid cookie. gen_stateless_cookie_cb() must +write at most SSL_COOKIE_LENGTH bytes into B, and must write the number +of bytes written to B. If a cookie cannot be generated, a zero +return value can be used to abort the handshake. + +SSL_CTX_set_stateless_cookie_verify_cb() sets the callback used by +L to determine whether the application-controlled portion of a +ClientHello cookie is valid. The cookie data is pointed to by B and is of +length B. A nonzero return value from verify_stateless_cookie_cb() +communicates that the cookie is valid. The integrity of the entire cookie, +including the application-controlled portion, is automatically verified by HMAC +before verify_stateless_cookie_cb() is called. + +SSL_CTX_set_cookie_generate_cb() sets the callback used by L +to generate the cookie provided to clients in the HelloVerifyRequest transmitted +as a response to a ClientHello with a missing or invalid cookie. +app_gen_cookie_cb() must write at most DTLS1_COOKIE_LENGTH bytes into +B, and must write the number of bytes written to B. If a +cookie cannot be generated, a zero return value can be used to abort the +handshake. + +SSL_CTX_set_cookie_verify_cb() sets the callback used by L to +determine whether the cookie in a ClientHello is valid. The cookie data is +pointed to by B and is of length B. A nonzero return value +from app_verify_cookie_cb() communicates that the cookie is valid. The +integrity of the cookie is not verified by OpenSSL. This is an application +responsibility. =head1 RETURN VALUES @@ -44,7 +75,13 @@ Neither function returns a value. =head1 SEE ALSO -L +L, +L + +=head1 HISTORY + +SSL_CTX_set_stateless_cookie_generate_cb() and +SSL_CTX_set_stateless_cookie_verify_cb() were added in OpenSSL 1.1.1. =head1 COPYRIGHT diff --git a/deps/openssl/openssl/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod b/deps/openssl/openssl/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod index b1fb5ab7d9fa5d..e971035734e172 100644 --- a/deps/openssl/openssl/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod +++ b/deps/openssl/openssl/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod @@ -11,7 +11,7 @@ SSL_set_tlsext_host_name - handle server name indication (SNI) #include long SSL_CTX_set_tlsext_servername_callback(SSL_CTX *ctx, - int (*cb)(SSL *, int *, void *)); + int (*cb)(SSL *s, int *al, void *arg)); long SSL_CTX_set_tlsext_servername_arg(SSL_CTX *ctx, void *arg); const char *SSL_get_servername(const SSL *s, const int type); @@ -21,21 +21,106 @@ SSL_set_tlsext_host_name - handle server name indication (SNI) =head1 DESCRIPTION -The functionality provided by the servername callback is superseded by the -ClientHello callback, which can be set using SSL_CTX_set_client_hello_cb(). -The servername callback is retained for historical compatibility. +The functionality provided by the servername callback is mostly superseded by +the ClientHello callback, which can be set using SSL_CTX_set_client_hello_cb(). +However, even where the ClientHello callback is used, the servername callback is +still necessary in order to acknowledge the servername requested by the client. SSL_CTX_set_tlsext_servername_callback() sets the application callback B used by a server to perform any actions or configuration required based on the servername extension received in the incoming connection. When B -is NULL, SNI is not used. The B value is a pointer which is passed to -the application callback. +is NULL, SNI is not used. + +The servername callback should return one of the following values: + +=over 4 + +=item SSL_TLSEXT_ERR_OK + +This is used to indicate that the servername requested by the client has been +accepted. Typically a server will call SSL_set_SSL_CTX() in the callback to set +up a different configuration for the selected servername in this case. + +=item SSL_TLSEXT_ERR_ALERT_FATAL + +In this case the servername requested by the client is not accepted and the +handshake will be aborted. The value of the alert to be used should be stored in +the location pointed to by the B parameter to the callback. By default this +value is initialised to SSL_AD_UNRECOGNIZED_NAME. + +=item SSL_TLSEXT_ERR_ALERT_WARNING + +If this value is returned then the servername is not accepted by the server. +However the handshake will continue and send a warning alert instead. The value +of the alert should be stored in the location pointed to by the B parameter +as for SSL_TLSEXT_ERR_ALERT_FATAL above. Note that TLSv1.3 does not support +warning alerts, so if TLSv1.3 has been negotiated then this return value is +treated the same way as SSL_TLSEXT_ERR_NOACK. + +=item SSL_TLSEXT_ERR_NOACK + +This return value indicates that the servername is not accepted by the server. +No alerts are sent and the server will not acknowledge the requested servername. + +=back SSL_CTX_set_tlsext_servername_arg() sets a context-specific argument to be -passed into the callback for this B. +passed into the callback (via the B parameter) for this B. + +The behaviour of SSL_get_servername() depends on a number of different factors. +In particular note that in TLSv1.3 the servername is negotiated in every +handshake. In TLSv1.2 the servername is only negotiated on initial handshakes +and not on resumption handshakes. + +=over 4 + +=item On the client, before the handshake + +If a servername has been set via a call to SSL_set_tlsext_host_name() then it +will return that servername. + +If one has not been set, but a TLSv1.2 resumption is being attempted and the +session from the original handshake had a servername accepted by the server then +it will return that servername. + +Otherwise it returns NULL. -SSL_get_servername() returns a servername extension value of the specified -type if provided in the Client Hello or NULL. +=item On the client, during or after the handshake and a TLSv1.2 (or below) +resumption occurred + +If the session from the orignal handshake had a servername accepted by the +server then it will return that servername. + +Otherwise it returns the servername set via SSL_set_tlsext_host_name() or NULL +if it was not called. + +=item On the client, during or after the handshake and a TLSv1.2 (or below) +resumption did not occur + +It will return the servername set via SSL_set_tlsext_host_name() or NULL if it +was not called. + +=item On the server, before the handshake + +The function will always return NULL before the handshake + +=item On the server, after the servername extension has been processed and a +TLSv1.2 (or below) resumption occurred + +If a servername was accepted by the server in the original handshake then it +will return that servername, or NULL otherwise. + +=item On the server, after the servername extension has been processed and a +TLSv1.2 (or below) resumption did not occur + +The function will return the servername requested by the client in this +handshake or NULL if none was requested. + +=back + +Note that the ClientHello callback occurs before a servername extension from the +client is processed. The servername, certificate and ALPN callbacks occur after +a servername extension from the client is processed. SSL_get_servername_type() returns the servername type or -1 if no servername is present. Currently the only supported type (defined in RFC3546) is @@ -65,9 +150,26 @@ SSL_set_tlsext_host_name() returns 1 on success, 0 in case of error. L, L, L, L +=head1 HISTORY + +SSL_get_servername() historically provided some unexpected results in certain +corner cases. This has been fixed from OpenSSL 1.1.1e. + +Prior to 1.1.1e, when the client requested a servername in an initial TLSv1.2 +handshake, the server accepted it, and then the client successfully resumed but +set a different explict servername in the second handshake then when called by +the client it returned the servername from the second handshake. This has now +been changed to return the servername requested in the original handshake. + +Also prior to 1.1.1e, if the client sent a servername in the first handshake but +the server did not accept it, and then a second handshake occured where TLSv1.2 +resumption was successful then when called by the server it returned the +servername requested in the original handshake. This has now been changed to +NULL. + =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/SSL_CTX_use_psk_identity_hint.pod b/deps/openssl/openssl/doc/man3/SSL_CTX_use_psk_identity_hint.pod index c8f7526610a8a5..0957ade5e106db 100644 --- a/deps/openssl/openssl/doc/man3/SSL_CTX_use_psk_identity_hint.pod +++ b/deps/openssl/openssl/doc/man3/SSL_CTX_use_psk_identity_hint.pod @@ -39,9 +39,9 @@ SSL_set_psk_find_session_callback =head1 DESCRIPTION -A client application wishing to use TLSv1.3 PSKs should set a callback -using either SSL_CTX_set_psk_use_session_callback() or -SSL_set_psk_use_session_callback() as appropriate. +A server application wishing to use TLSv1.3 PSKs should set a callback +using either SSL_CTX_set_psk_find_session_callback() or +SSL_set_psk_find_session_callback() as appropriate. The callback function is given a pointer to the SSL connection in B and an identity in B of length B. The callback function diff --git a/deps/openssl/openssl/doc/man3/SSL_SESSION_get0_hostname.pod b/deps/openssl/openssl/doc/man3/SSL_SESSION_get0_hostname.pod index 475f700a88c5c9..6e39cbc656dda4 100644 --- a/deps/openssl/openssl/doc/man3/SSL_SESSION_get0_hostname.pod +++ b/deps/openssl/openssl/doc/man3/SSL_SESSION_get0_hostname.pod @@ -24,7 +24,10 @@ SSL_SESSION_set1_alpn_selected =head1 DESCRIPTION SSL_SESSION_get0_hostname() retrieves the SNI value that was sent by the -client when the session was created, or NULL if no value was sent. +client when the session was created if it was accepted by the server and TLSv1.2 +or below was negotiated. Otherwise NULL is returned. Note that in TLSv1.3 the +SNI hostname is negotiated with each handshake including resumption handshakes +and is therefore never associated with the session. The value returned is a pointer to memory maintained within B and should not be free'd. @@ -64,7 +67,7 @@ SSL_SESSION_set1_alpn_selected() functions were added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/SSL_accept.pod b/deps/openssl/openssl/doc/man3/SSL_accept.pod index 335655f0c8c8cd..b1595f7acf3474 100644 --- a/deps/openssl/openssl/doc/man3/SSL_accept.pod +++ b/deps/openssl/openssl/doc/man3/SSL_accept.pod @@ -56,7 +56,7 @@ established. The TLS/SSL handshake was not successful because a fatal error occurred either at the protocol level or a connection failure occurred. The shutdown was -not clean. It can also occur of action is need to continue the operation +not clean. It can also occur if action is needed to continue the operation for non-blocking BIOs. Call SSL_get_error() with the return value B to find out the reason. @@ -72,7 +72,7 @@ L =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/SSL_connect.pod b/deps/openssl/openssl/doc/man3/SSL_connect.pod index 426b8ad757dbd1..f7d9e57db6224d 100644 --- a/deps/openssl/openssl/doc/man3/SSL_connect.pod +++ b/deps/openssl/openssl/doc/man3/SSL_connect.pod @@ -71,7 +71,7 @@ established. The TLS/SSL handshake was not successful, because a fatal error occurred either at the protocol level or a connection failure occurred. The shutdown was -not clean. It can also occur of action is need to continue the operation +not clean. It can also occur if action is needed to continue the operation for non-blocking BIOs. Call SSL_get_error() with the return value B to find out the reason. @@ -87,7 +87,7 @@ L =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/SSL_do_handshake.pod b/deps/openssl/openssl/doc/man3/SSL_do_handshake.pod index a1b973f7b80a36..8852f9d3e3dcea 100644 --- a/deps/openssl/openssl/doc/man3/SSL_do_handshake.pod +++ b/deps/openssl/openssl/doc/man3/SSL_do_handshake.pod @@ -57,7 +57,7 @@ established. The TLS/SSL handshake was not successful because a fatal error occurred either at the protocol level or a connection failure occurred. The shutdown was -not clean. It can also occur of action is need to continue the operation +not clean. It can also occur if action is needed to continue the operation for non-blocking BIOs. Call SSL_get_error() with the return value B to find out the reason. @@ -71,7 +71,7 @@ L =head1 COPYRIGHT -Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2002-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/SSL_load_client_CA_file.pod b/deps/openssl/openssl/doc/man3/SSL_load_client_CA_file.pod index a6cfb308d30c20..f354ef4177dc6f 100644 --- a/deps/openssl/openssl/doc/man3/SSL_load_client_CA_file.pod +++ b/deps/openssl/openssl/doc/man3/SSL_load_client_CA_file.pod @@ -2,7 +2,10 @@ =head1 NAME -SSL_load_client_CA_file - load certificate names from file +SSL_load_client_CA_file, +SSL_add_file_cert_subjects_to_stack, +SSL_add_dir_cert_subjects_to_stack +- load certificate names =head1 SYNOPSIS @@ -10,11 +13,23 @@ SSL_load_client_CA_file - load certificate names from file STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file); + int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, + const char *file) + int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, + const char *dir) + =head1 DESCRIPTION -SSL_load_client_CA_file() reads certificates from B and returns +SSL_load_client_CA_file() reads certificates from I and returns a STACK_OF(X509_NAME) with the subject names found. +SSL_add_file_cert_subjects_to_stack() reads certificates from I, +and adds their subject name to the already existing I. + +SSL_add_dir_cert_subjects_to_stack() reads certificates from every +file in the directory I

    , and adds their subject name to the +already existing I. + =head1 NOTES SSL_load_client_CA_file() reads a file of PEM formatted certificates and diff --git a/deps/openssl/openssl/doc/man3/X509_LOOKUP.pod b/deps/openssl/openssl/doc/man3/X509_LOOKUP.pod new file mode 100644 index 00000000000000..3e0bb6ab221c54 --- /dev/null +++ b/deps/openssl/openssl/doc/man3/X509_LOOKUP.pod @@ -0,0 +1,212 @@ +=pod + +=head1 NAME + +X509_LOOKUP, X509_LOOKUP_TYPE, +X509_LOOKUP_new, X509_LOOKUP_free, X509_LOOKUP_init, +X509_LOOKUP_shutdown, +X509_LOOKUP_set_method_data, X509_LOOKUP_get_method_data, +X509_LOOKUP_ctrl, +X509_LOOKUP_load_file, X509_LOOKUP_add_dir, +X509_LOOKUP_get_store, X509_LOOKUP_by_subject, +X509_LOOKUP_by_issuer_serial, X509_LOOKUP_by_fingerprint, +X509_LOOKUP_by_alias +- OpenSSL certificate lookup mechanisms + +=head1 SYNOPSIS + + #include + + typedef x509_lookup_st X509_LOOKUP; + + typedef enum X509_LOOKUP_TYPE; + + X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method); + int X509_LOOKUP_init(X509_LOOKUP *ctx); + int X509_LOOKUP_shutdown(X509_LOOKUP *ctx); + void X509_LOOKUP_free(X509_LOOKUP *ctx); + + int X509_LOOKUP_set_method_data(X509_LOOKUP *ctx, void *data); + void *X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx); + + int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, + long argl, char **ret); + int X509_LOOKUP_load_file(X509_LOOKUP *ctx, char *name, long type); + int X509_LOOKUP_add_dir(X509_LOOKUP *ctx, char *name, long type); + + X509_STORE *X509_LOOKUP_get_store(const X509_LOOKUP *ctx); + + int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + X509_NAME *name, X509_OBJECT *ret); + int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + X509_NAME *name, ASN1_INTEGER *serial, + X509_OBJECT *ret); + int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + const unsigned char *bytes, int len, + X509_OBJECT *ret); + int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + const char *str, int len, X509_OBJECT *ret); + +=head1 DESCRIPTION + +The B structure holds the information needed to look up +certificates and CRLs according to an associated L. +Multiple B instances can be added to an L +to enable lookup in that store. + +X509_LOOKUP_new() creates a new B using the given lookup +I. +It can also be created by calling L, which +will associate an B with the lookup mechanism. + +X509_LOOKUP_init() initializes the internal state and resources as +needed by the given B to do its work. + +X509_LOOKUP_shutdown() tears down the internal state and resources of +the given B. + +X509_LOOKUP_free() destructs the given B. + +X509_LOOKUP_set_method_data() associates a pointer to application data +to the given B. + +X509_LOOKUP_get_method_data() retrieves a pointer to application data +from the given B. + +X509_LOOKUP_ctrl() is used to set or get additional data to or from an +B structure or its associated L. +The arguments of the control command are passed via I and I, +its return value via I<*ret>. +The meaning of the arguments depends on the I number of the +control command. In general, this function is not called directly, but +wrapped by a macro call, see below. +The control Is known to OpenSSL are discussed in more depth +in L. + +X509_LOOKUP_load_file() passes a filename to be loaded immediately +into the associated B. +I indicates what type of object is expected. +This can only be used with a lookup using the implementation +L. + +X509_LOOKUP_add_dir() passes a directory specification from which +certificates and CRLs are loaded on demand into the associated +B. +I indicates what type of object is expected. +This can only be used with a lookup using the implementation +L. + +X509_LOOKUP_load_file(), X509_LOOKUP_add_dir(), +X509_LOOKUP_add_store(), and X509_LOOKUP_load_store() are implemented +as macros that use X509_LOOKUP_ctrl(). + +X509_LOOKUP_by_subject(), X509_LOOKUP_by_issuer_serial(), +X509_LOOKUP_by_fingerprint(), and X509_LOOKUP_by_alias() look up +certificates and CRLs in the L associated with the +B using different criteria, where the looked up object is +stored in I. +Some of the underlying Bs will also cache objects +matching the criteria in the associated B, which makes it +possible to handle cases where the criteria have more than one hit. + +=head2 File Types + +X509_LOOKUP_load_file() and X509_LOOKUP_add_dir() take a I, +which can be one of the following: + +=over 4 + +=item B + +The file or files that are loaded are expected to be in PEM format. + +=item B + +The file or files that are loaded are expected to be in raw DER format. + +=item B + +The default certificate file or directory is used. In this case, +I is ignored. + +=begin comment + +TODO +Document X509_get_default_cert_file_env(3), +X509_get_default_cert_file(3), X509_get_default_cert_dir_env(3) and +X509_get_default_cert_dir(3) and link to them here. + +=end comment + +=back + +=head2 Control Commands + +The Bs built into OpenSSL recognise the following +X509_LOOKUP_ctrl() Is: + +=over 4 + +=item B + +This is the command that X509_LOOKUP_load_file() uses. +The filename is passed in I, and the type in I. + +=item B + +This is the command that X509_LOOKUP_add_dir() uses. +The directory specification is passed in I, and the type in +I. + +=item B + +This is the command that X509_LOOKUP_add_store() uses. +The URI is passed in I. + +=item B + +This is the command that X509_LOOKUP_load_store() uses. +The URI is passed in I. + +=back + +=head1 RETURN VALUES + +X509_LOOKUP_new() returns an B pointer when successful, +or NULL on error. + +X509_LOOKUP_init() and X509_LOOKUP_shutdown() return 1 on success, or +0 on error. + +X509_LOOKUP_ctrl() returns -1 if the B doesn't have an +associated B, or 1 if the X<509_LOOKUP_METHOD> +doesn't have a control function. +Otherwise, it returns what the control function in the +B returns, which is usually 1 on success and 0 in +error. + +X509_LOOKUP_get_store() returns an B pointer if there is +one, otherwise NULL. + +X509_LOOKUP_by_subject(), X509_LOOKUP_by_issuer_serial(), +X509_LOOKUP_by_fingerprint(), and X509_LOOKUP_by_alias() all return 0 +if there is no B or that method doesn't implement +the corresponding function. +Otherwise, it returns what the corresponding function in the +B returns, which is usually 1 on success and 0 in +error. + +=head1 SEE ALSO + +L, L + +=head1 COPYRIGHT + +Copyright 2020 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +L. + +=cut diff --git a/deps/openssl/openssl/doc/man3/X509_LOOKUP_meth_new.pod b/deps/openssl/openssl/doc/man3/X509_LOOKUP_meth_new.pod index e5f0a098b3fa43..a4e7466395dd09 100644 --- a/deps/openssl/openssl/doc/man3/X509_LOOKUP_meth_new.pod +++ b/deps/openssl/openssl/doc/man3/X509_LOOKUP_meth_new.pod @@ -2,6 +2,7 @@ =head1 NAME +X509_LOOKUP_METHOD, X509_LOOKUP_meth_new, X509_LOOKUP_meth_free, X509_LOOKUP_meth_set_new_item, X509_LOOKUP_meth_get_new_item, X509_LOOKUP_meth_set_free, X509_LOOKUP_meth_get_free, X509_LOOKUP_meth_set_init, @@ -16,14 +17,15 @@ X509_LOOKUP_get_by_fingerprint_fn, X509_LOOKUP_meth_set_get_by_fingerprint, X509_LOOKUP_meth_get_get_by_fingerprint, X509_LOOKUP_get_by_alias_fn, X509_LOOKUP_meth_set_get_by_alias, X509_LOOKUP_meth_get_get_by_alias, -X509_LOOKUP_set_method_data, X509_LOOKUP_get_method_data, -X509_LOOKUP_get_store, X509_OBJECT_set1_X509, X509_OBJECT_set1_X509_CRL +X509_OBJECT_set1_X509, X509_OBJECT_set1_X509_CRL - Routines to build up X509_LOOKUP methods =head1 SYNOPSIS #include + typedef x509_lookup_method_st X509_LOOKUP_METHOD; + X509_LOOKUP_METHOD *X509_LOOKUP_meth_new(const char *name); void X509_LOOKUP_meth_free(X509_LOOKUP_METHOD *method); @@ -92,11 +94,6 @@ X509_LOOKUP_get_store, X509_OBJECT_set1_X509, X509_OBJECT_set1_X509_CRL X509_LOOKUP_get_by_alias_fn X509_LOOKUP_meth_get_get_by_alias( const X509_LOOKUP_METHOD *method); - int X509_LOOKUP_set_method_data(X509_LOOKUP *ctx, void *data); - void *X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx); - - X509_STORE *X509_LOOKUP_get_store(const X509_LOOKUP *ctx); - int X509_OBJECT_set1_X509(X509_OBJECT *a, X509 *obj); int X509_OBJECT_set1_X509_CRL(X509_OBJECT *a, X509_CRL *obj); @@ -118,7 +115,7 @@ X509_LOOKUP_get_new_item() and X509_LOOKUP_set_new_item() get and set the function that is called when an B object is created with X509_LOOKUP_new(). If an X509_LOOKUP_METHOD requires any per-X509_LOOKUP specific data, the supplied new_item function should allocate this data and -invoke X509_LOOKUP_set_method_data(). +invoke L. X509_LOOKUP_get_free() and X509_LOOKUP_set_free() get and set the function that is used to free any method data that was allocated and set from within @@ -126,7 +123,7 @@ new_item function. X509_LOOKUP_meth_get_init() and X509_LOOKUP_meth_set_init() get and set the function that is used to initialize the method data that was set with -X509_LOOKUP_set_method_data() as part of the new_item routine. +L as part of the new_item routine. X509_LOOKUP_meth_get_shutdown() and X509_LOOKUP_meth_set_shutdown() get and set the function that is used to shut down the method data whose state was @@ -164,9 +161,9 @@ increments the result's reference count. Any method data that was created as a result of the new_item function set by X509_LOOKUP_meth_set_new_item() can be accessed with -X509_LOOKUP_get_method_data(). The B object that owns the -X509_LOOKUP may be accessed with X509_LOOKUP_get_store(). Successful lookups -should return 1, and unsuccessful lookups should return 0. +L. The B object that owns the +X509_LOOKUP may be accessed with L. Successful +lookups should return 1, and unsuccessful lookups should return 0. X509_LOOKUP_get_get_by_subject(), X509_LOOKUP_get_get_by_issuer_serial(), X509_LOOKUP_get_get_by_fingerprint(), X509_LOOKUP_get_get_by_alias() retrieve @@ -189,7 +186,7 @@ The functions described here were added in OpenSSL 1.1.0i. =head1 COPYRIGHT -Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/X509_STORE_CTX_new.pod b/deps/openssl/openssl/doc/man3/X509_STORE_CTX_new.pod index 472db508bc4e21..c5042858be853e 100644 --- a/deps/openssl/openssl/doc/man3/X509_STORE_CTX_new.pod +++ b/deps/openssl/openssl/doc/man3/X509_STORE_CTX_new.pod @@ -28,7 +28,7 @@ X509_STORE_CTX_verify_fn void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); void X509_STORE_CTX_set_cert(X509_STORE_CTX *ctx, X509 *x); - STACK_OF(X509) *X509_STORE_CTX_get0_chain(X609_STORE_CTX *ctx); + STACK_OF(X509) *X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx); void X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *ctx, STACK_OF(X509) *chain); void X509_STORE_CTX_set0_crls(X509_STORE_CTX *ctx, STACK_OF(X509_CRL) *sk); diff --git a/deps/openssl/openssl/doc/man3/X509_STORE_add_cert.pod b/deps/openssl/openssl/doc/man3/X509_STORE_add_cert.pod index 3ea5b8b1272f21..d840bd6d69bf9e 100644 --- a/deps/openssl/openssl/doc/man3/X509_STORE_add_cert.pod +++ b/deps/openssl/openssl/doc/man3/X509_STORE_add_cert.pod @@ -2,8 +2,10 @@ =head1 NAME +X509_STORE, X509_STORE_add_cert, X509_STORE_add_crl, X509_STORE_set_depth, X509_STORE_set_flags, X509_STORE_set_purpose, X509_STORE_set_trust, +X509_STORE_add_lookup, X509_STORE_load_locations, X509_STORE_set_default_paths - X509_STORE manipulation @@ -12,6 +14,8 @@ X509_STORE_set_default_paths #include + typedef x509_store_st X509_STORE; + int X509_STORE_add_cert(X509_STORE *ctx, X509 *x); int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x); int X509_STORE_set_depth(X509_STORE *store, int depth); @@ -19,6 +23,9 @@ X509_STORE_set_default_paths int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); int X509_STORE_set_trust(X509_STORE *ctx, int trust); + X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *store, + X509_LOOKUP_METHOD *meth); + int X509_STORE_load_locations(X509_STORE *ctx, const char *file, const char *dir); int X509_STORE_set_default_paths(X509_STORE *ctx); @@ -65,6 +72,11 @@ for the corresponding values used in certificate chain validation. Their behavior is documented in the corresponding B manual pages, e.g., L. +X509_STORE_add_lookup() finds or creates a L with the +L I and adds it to the B +I. This also associates the B with the lookup, so +B functions can look up objects in that store. + X509_STORE_load_locations() loads trusted certificate(s) into an B from a given file and/or directory path. It is permitted to specify just a file, just a directory, or both paths. The certificates @@ -83,6 +95,9 @@ X509_STORE_set_flags(), X509_STORE_set_purpose(), X509_STORE_set_trust(), X509_STORE_load_locations(), and X509_STORE_set_default_paths() return 1 on success or 0 on failure. +X509_STORE_add_lookup() returns the found or created +L, or NULL on error. + =head1 SEE ALSO L. @@ -92,7 +107,7 @@ L =head1 COPYRIGHT -Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man3/d2i_X509.pod b/deps/openssl/openssl/doc/man3/d2i_X509.pod index e36270f7394009..a8319bd4715b60 100644 --- a/deps/openssl/openssl/doc/man3/d2i_X509.pod +++ b/deps/openssl/openssl/doc/man3/d2i_X509.pod @@ -307,7 +307,6 @@ i2d_POLICYQUALINFO, i2d_PROFESSION_INFO, i2d_PROXY_CERT_INFO_EXTENSION, i2d_PROXY_POLICY, -i2d_PublicKey, i2d_RSAPrivateKey, i2d_RSAPrivateKey_bio, i2d_RSAPrivateKey_fp, @@ -461,7 +460,7 @@ Represents an ASN1 OBJECT IDENTIFIER. Represents a PKCS#3 DH parameters structure. -=item B +=item B Represents an ANSI X9.42 DH parameters structure. @@ -611,7 +610,7 @@ efficiency reasons. =head1 COPYRIGHT -Copyright 1998-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 1998-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man5/config.pod b/deps/openssl/openssl/doc/man5/config.pod index 992fdfccf91710..7b50b099198cdf 100644 --- a/deps/openssl/openssl/doc/man5/config.pod +++ b/deps/openssl/openssl/doc/man5/config.pod @@ -355,6 +355,22 @@ Simple OpenSSL library configuration example to enter FIPS mode: Note: in the above example you will get an error in non FIPS capable versions of OpenSSL. +Simple OpenSSL library configuration to make TLS 1.3 the system-default +minimum TLS version: + + # Toplevel section for openssl (including libssl) + openssl_conf = default_conf_section + + [default_conf_section] + # We only specify configuration for the "ssl module" + ssl_conf = ssl_section + + [ssl_section] + system_default = system_default_section + + [system_default_section] + MinProtocol = TLSv1.3 + More complex OpenSSL library configuration. Add OID and don't enter FIPS mode: # Default appname: should match "appname" parameter (if any) @@ -426,7 +442,7 @@ L, L, L =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man7/Ed25519.pod b/deps/openssl/openssl/doc/man7/Ed25519.pod index 6442e0ea43785b..8ab4fff7649307 100644 --- a/deps/openssl/openssl/doc/man7/Ed25519.pod +++ b/deps/openssl/openssl/doc/man7/Ed25519.pod @@ -11,7 +11,7 @@ Ed448 The B and B EVP_PKEY implementation supports key generation, one-shot digest sign and digest verify using PureEdDSA and B or B (see RFC8032). It has associated private and public key formats compatible with -draft-ietf-curdle-pkix-04. +RFC 8410. No additional parameters can be set during key generation, one-shot signing or verification. In particular, because PureEdDSA is used, a digest must B be @@ -77,7 +77,7 @@ L, =head1 COPYRIGHT -Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man7/X25519.pod b/deps/openssl/openssl/doc/man7/X25519.pod index 4851f8a1d9dcb6..6f153cb4b983b0 100644 --- a/deps/openssl/openssl/doc/man7/X25519.pod +++ b/deps/openssl/openssl/doc/man7/X25519.pod @@ -10,7 +10,7 @@ X448 The B and B EVP_PKEY implementation supports key generation and key derivation using B and B. It has associated private and public -key formats compatible with draft-ietf-curdle-pkix-03. +key formats compatible with RFC 8410. No additional parameters can be set during key generation. @@ -64,7 +64,7 @@ L =head1 COPYRIGHT -Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man7/passphrase-encoding.pod b/deps/openssl/openssl/doc/man7/passphrase-encoding.pod index 68108445269b7a..19dcef9acc365d 100644 --- a/deps/openssl/openssl/doc/man7/passphrase-encoding.pod +++ b/deps/openssl/openssl/doc/man7/passphrase-encoding.pod @@ -65,7 +65,7 @@ A pass phrase encoded in ISO-8859-2 could very well have a sequence such as 0xC3 0xAF (which is the two characters "LATIN CAPITAL LETTER A WITH BREVE" and "LATIN CAPITAL LETTER Z WITH DOT ABOVE" in ISO-8859-2 encoding), but would be misinterpreted as the perfectly valid UTF-8 encoded code point U+00EF (LATIN -SMALL LETTER I WITH DIARESIS) I. A pass phrase that contains this kind of byte sequence will give a different outcome in OpenSSL 1.1.0 and newer than in OpenSSL older than 1.1.0. @@ -170,7 +170,7 @@ L =head1 COPYRIGHT -Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/deps/openssl/openssl/doc/man7/proxy-certificates.pod b/deps/openssl/openssl/doc/man7/proxy-certificates.pod new file mode 100644 index 00000000000000..bc0ae11f74eec3 --- /dev/null +++ b/deps/openssl/openssl/doc/man7/proxy-certificates.pod @@ -0,0 +1,363 @@ +=pod + +=encoding UTF-8 + +=head1 NAME + +proxy-certificates - Proxy certificates in OpenSSL + +=head1 DESCRIPTION + +Proxy certificates are defined in RFC 3820. They are used to +extend rights to some other entity (a computer process, typically, or +sometimes to the user itself). This allows the entity to perform +operations on behalf of the owner of the EE (End Entity) certificate. + +The requirements for a valid proxy certificate are: + +=over 4 + +=item * + +They are issued by an End Entity, either a normal EE certificate, or +another proxy certificate. + +=item * + +They must not have the B or B +extensions. + +=item * + +They must have the B extension. + +=item * + +They must have the subject of their issuer, with one B +added. + +=back + +=head2 Enabling proxy certificate verification + +OpenSSL expects applications that want to use proxy certificates to be +specially aware of them, and make that explicit. This is done by +setting an X509 verification flag: + + X509_STORE_CTX_set_flags(ctx, X509_V_FLAG_ALLOW_PROXY_CERTS); + +or + + X509_VERIFY_PARAM_set_flags(param, X509_V_FLAG_ALLOW_PROXY_CERTS); + +See L for a discussion on this requirement. + +=head2 Creating proxy certificates + +Creating proxy certificates can be done using the L +command, with some extra extensions: + + [ v3_proxy ] + # A proxy certificate MUST NEVER be a CA certificate. + basicConstraints=CA:FALSE + + # Usual authority key ID + authorityKeyIdentifier=keyid,issuer:always + + # The extension which marks this certificate as a proxy + proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:1,policy:text:AB + +It's also possible to specify the proxy extension in a separate section: + + proxyCertInfo=critical,@proxy_ext + + [ proxy_ext ] + language=id-ppl-anyLanguage + pathlen=0 + policy=text:BC + +The policy value has a specific syntax, I:I, where the +I determines what will be done with the string. The following +Is are recognised: + +=over 4 + +=item B + +indicates that the string is a byte sequence, without any encoding: + + policy=text:räksmörgås + +=item B + +indicates the string is encoded hexadecimal encoded binary data, with +colons between each byte (every second hex digit): + + policy=hex:72:E4:6B:73:6D:F6:72:67:E5:73 + +=item B + +indicates that the text of the policy should be taken from a file. +The string is then a filename. This is useful for policies that are +large (more than a few lines, e.g. XML documents). + +=back + +I + +With a proxy extension, creating a proxy certificate is a matter of +two commands: + + openssl req -new -config proxy.cnf \ + -out proxy.req -keyout proxy.key \ + -subj "/DC=org/DC=openssl/DC=users/CN=proxy 1" + + openssl x509 -req -CAcreateserial -in proxy.req -out proxy.crt \ + -CA user.crt -CAkey user.key -days 7 \ + -extfile proxy.cnf -extensions v3_proxy1 + +You can also create a proxy certificate using another proxy +certificate as issuer (note: using a different configuration +section for the proxy extensions): + + openssl req -new -config proxy.cnf \ + -out proxy2.req -keyout proxy2.key \ + -subj "/DC=org/DC=openssl/DC=users/CN=proxy 1/CN=proxy 2" + + openssl x509 -req -CAcreateserial -in proxy2.req -out proxy2.crt \ + -CA proxy.crt -CAkey proxy.key -days 7 \ + -extfile proxy.cnf -extensions v3_proxy2 + +=head2 Using proxy certs in applications + +To interpret proxy policies, the application would normally start with +some default rights (perhaps none at all), then compute the resulting +rights by checking the rights against the chain of proxy certificates, +user certificate and CA certificates. + +The complicated part is figuring out how to pass data between your +application and the certificate validation procedure. + +The following ingredients are needed for such processing: + +=over 4 + +=item * + +a callback function that will be called for every certificate being +validated. The callback is called several times for each certificate, +so you must be careful to do the proxy policy interpretation at the +right time. You also need to fill in the defaults when the EE +certificate is checked. + +=item * + +a data structure that is shared between your application code and the +callback. + +=item * + +a wrapper function that sets it all up. + +=item * + +an ex_data index function that creates an index into the generic +ex_data store that is attached to an X509 validation context. + +=back + +The following skeleton code can be used as a starting point: + + #include + #include + #include + #include + + #define total_rights 25 + + /* + * In this example, I will use a view of granted rights as a bit + * array, one bit for each possible right. + */ + typedef struct your_rights { + unsigned char rights[(total_rights + 7) / 8]; + } YOUR_RIGHTS; + + /* + * The following procedure will create an index for the ex_data + * store in the X509 validation context the first time it's + * called. Subsequent calls will return the same index. + */ + static int get_proxy_auth_ex_data_idx(X509_STORE_CTX *ctx) + { + static volatile int idx = -1; + + if (idx < 0) { + X509_STORE_lock(X509_STORE_CTX_get0_store(ctx)); + if (idx < 0) { + idx = X509_STORE_CTX_get_ex_new_index(0, + "for verify callback", + NULL,NULL,NULL); + } + X509_STORE_unlock(X509_STORE_CTX_get0_store(ctx)); + } + return idx; + } + + /* Callback to be given to the X509 validation procedure. */ + static int verify_callback(int ok, X509_STORE_CTX *ctx) + { + if (ok == 1) { + /* + * It's REALLY important you keep the proxy policy check + * within this section. It's important to know that when + * ok is 1, the certificates are checked from top to + * bottom. You get the CA root first, followed by the + * possible chain of intermediate CAs, followed by the EE + * certificate, followed by the possible proxy + * certificates. + */ + X509 *xs = X509_STORE_CTX_get_current_cert(ctx); + + if (X509_get_extension_flags(xs) & EXFLAG_PROXY) { + YOUR_RIGHTS *rights = + (YOUR_RIGHTS *)X509_STORE_CTX_get_ex_data(ctx, + get_proxy_auth_ex_data_idx(ctx)); + PROXY_CERT_INFO_EXTENSION *pci = + X509_get_ext_d2i(xs, NID_proxyCertInfo, NULL, NULL); + + switch (OBJ_obj2nid(pci->proxyPolicy->policyLanguage)) { + case NID_Independent: + /* + * Do whatever you need to grant explicit rights + * to this particular proxy certificate, usually + * by pulling them from some database. If there + * are none to be found, clear all rights (making + * this and any subsequent proxy certificate void + * of any rights). + */ + memset(rights->rights, 0, sizeof(rights->rights)); + break; + case NID_id_ppl_inheritAll: + /* + * This is basically a NOP, we simply let the + * current rights stand as they are. + */ + break; + default: + /* + * This is usually the most complex section of + * code. You really do whatever you want as long + * as you follow RFC 3820. In the example we use + * here, the simplest thing to do is to build + * another, temporary bit array and fill it with + * the rights granted by the current proxy + * certificate, then use it as a mask on the + * accumulated rights bit array, and voilà, you + * now have a new accumulated rights bit array. + */ + { + int i; + YOUR_RIGHTS tmp_rights; + memset(tmp_rights.rights, 0, + sizeof(tmp_rights.rights)); + + /* + * process_rights() is supposed to be a + * procedure that takes a string and its + * length, interprets it and sets the bits + * in the YOUR_RIGHTS pointed at by the + * third argument. + */ + process_rights((char *) pci->proxyPolicy->policy->data, + pci->proxyPolicy->policy->length, + &tmp_rights); + + for(i = 0; i < total_rights / 8; i++) + rights->rights[i] &= tmp_rights.rights[i]; + } + break; + } + PROXY_CERT_INFO_EXTENSION_free(pci); + } else if (!(X509_get_extension_flags(xs) & EXFLAG_CA)) { + /* We have an EE certificate, let's use it to set default! */ + YOUR_RIGHTS *rights = + (YOUR_RIGHTS *)X509_STORE_CTX_get_ex_data(ctx, + get_proxy_auth_ex_data_idx(ctx)); + + /* + * The following procedure finds out what rights the + * owner of the current certificate has, and sets them + * in the YOUR_RIGHTS structure pointed at by the + * second argument. + */ + set_default_rights(xs, rights); + } + } + return ok; + } + + static int my_X509_verify_cert(X509_STORE_CTX *ctx, + YOUR_RIGHTS *needed_rights) + { + int ok; + int (*save_verify_cb)(int ok,X509_STORE_CTX *ctx) = + X509_STORE_CTX_get_verify_cb(ctx); + YOUR_RIGHTS rights; + + X509_STORE_CTX_set_verify_cb(ctx, verify_callback); + X509_STORE_CTX_set_ex_data(ctx, get_proxy_auth_ex_data_idx(ctx), + &rights); + X509_STORE_CTX_set_flags(ctx, X509_V_FLAG_ALLOW_PROXY_CERTS); + ok = X509_verify_cert(ctx); + + if (ok == 1) { + ok = check_needed_rights(rights, needed_rights); + } + + X509_STORE_CTX_set_verify_cb(ctx, save_verify_cb); + + return ok; + } + +If you use SSL or TLS, you can easily set up a callback to have the +certificates checked properly, using the code above: + + SSL_CTX_set_cert_verify_callback(s_ctx, my_X509_verify_cert, + &needed_rights); + +=head1 NOTES + +To this date, it seems that proxy certificates have only been used in +environments that are aware of them, and no one seems to have +investigated how they can be used or misused outside of such an +environment. + +For that reason, OpenSSL requires that applications aware of proxy +certificates must also make that explicit. + +B and B are forbidden in proxy +certificates, and this is enforced in OpenSSL. The subject must be +the same as the issuer, with one commonName added on. + +=head1 SEE ALSO + +L, +L, +L, +L, +L, L, +L + +=head1 COPYRIGHT + +Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the Apache License 2.0 (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +L. + +=cut diff --git a/deps/openssl/openssl/e_os.h b/deps/openssl/openssl/e_os.h index 858bc40cb1fced..34223a0bcdb602 100644 --- a/deps/openssl/openssl/e_os.h +++ b/deps/openssl/openssl/e_os.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_E_OS_H -# define HEADER_E_OS_H +#ifndef OSSL_E_OS_H +# define OSSL_E_OS_H # include # include @@ -42,7 +42,7 @@ # endif /* * Some operating systems do not permit select(2) on their random devices, - * defining this to zero will force the used of read(2) to extract one byte + * defining this to zero will force the use of read(2) to extract one byte * from /dev/random. */ # ifndef DEVRANDM_WAIT_USE_SELECT diff --git a/deps/openssl/openssl/engines/e_afalg.c b/deps/openssl/openssl/engines/e_afalg.c index 7f62d77e5bc174..4b1722846133f7 100644 --- a/deps/openssl/openssl/engines/e_afalg.c +++ b/deps/openssl/openssl/engines/e_afalg.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -456,7 +456,7 @@ static int afalg_start_cipher_sk(afalg_ctx *actx, const unsigned char *in, /* * vmsplice and splice are used to pin the user space input buffer for - * kernel space processing avoiding copys from user to kernel space + * kernel space processing avoiding copies from user to kernel space */ ret = vmsplice(actx->zc_pipe[1], &iov, 1, SPLICE_F_GIFT); if (ret < 0) { diff --git a/deps/openssl/openssl/engines/e_afalg.h b/deps/openssl/openssl/engines/e_afalg.h index 2c03c448d684a4..3323c898c63444 100644 --- a/deps/openssl/openssl/engines/e_afalg.h +++ b/deps/openssl/openssl/engines/e_afalg.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_AFALG_H -# define HEADER_AFALG_H +#ifndef OSSL_ENGINES_E_AFALG_H +# define OSSL_ENGINES_E_AFALG_H # if defined(__GNUC__) && __GNUC__ >= 4 && \ (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) diff --git a/deps/openssl/openssl/engines/e_afalg_err.h b/deps/openssl/openssl/engines/e_afalg_err.h index 3eb1332bbfe465..3036443f447063 100644 --- a/deps/openssl/openssl/engines/e_afalg_err.h +++ b/deps/openssl/openssl/engines/e_afalg_err.h @@ -8,8 +8,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_AFALGERR_H -# define HEADER_AFALGERR_H +#ifndef OSSL_ENGINES_E_AFALG_ERR_H +# define OSSL_ENGINES_E_AFALG_ERR_H # define AFALGerr(f, r) ERR_AFALG_error((f), (r), OPENSSL_FILE, OPENSSL_LINE) diff --git a/deps/openssl/openssl/engines/e_capi_err.h b/deps/openssl/openssl/engines/e_capi_err.h index e034c98cae842e..e3a927aa73398d 100644 --- a/deps/openssl/openssl/engines/e_capi_err.h +++ b/deps/openssl/openssl/engines/e_capi_err.h @@ -8,8 +8,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_CAPIERR_H -# define HEADER_CAPIERR_H +#ifndef OSSL_ENGINES_E_CAPI_ERR_H +# define OSSL_ENGINES_E_CAPI_ERR_H # define CAPIerr(f, r) ERR_CAPI_error((f), (r), OPENSSL_FILE, OPENSSL_LINE) diff --git a/deps/openssl/openssl/engines/e_dasync_err.h b/deps/openssl/openssl/engines/e_dasync_err.h index 7c2c0278790b56..5b74d8be25f1ef 100644 --- a/deps/openssl/openssl/engines/e_dasync_err.h +++ b/deps/openssl/openssl/engines/e_dasync_err.h @@ -8,8 +8,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DASYNCERR_H -# define HEADER_DASYNCERR_H +#ifndef OSSL_ENGINES_E_DASYNC_ERR_H +# define OSSL_ENGINES_E_DASYNC_ERR_H # define DASYNCerr(f, r) ERR_DASYNC_error((f), (r), OPENSSL_FILE, OPENSSL_LINE) diff --git a/deps/openssl/openssl/engines/e_ossltest_err.h b/deps/openssl/openssl/engines/e_ossltest_err.h index e745c1a236d4db..8e6535b76c08e6 100644 --- a/deps/openssl/openssl/engines/e_ossltest_err.h +++ b/deps/openssl/openssl/engines/e_ossltest_err.h @@ -8,8 +8,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_OSSLTESTERR_H -# define HEADER_OSSLTESTERR_H +#ifndef OSSL_ENGINES_E_OSSLTEST_ERR_H +# define OSSL_ENGINES_E_OSSLTEST_ERR_H # define OSSLTESTerr(f, r) ERR_OSSLTEST_error((f), (r), OPENSSL_FILE, OPENSSL_LINE) diff --git a/deps/openssl/openssl/crypto/include/internal/__DECC_INCLUDE_EPILOGUE.H b/deps/openssl/openssl/include/crypto/__DECC_INCLUDE_EPILOGUE.H similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/__DECC_INCLUDE_EPILOGUE.H rename to deps/openssl/openssl/include/crypto/__DECC_INCLUDE_EPILOGUE.H diff --git a/deps/openssl/openssl/crypto/include/internal/__DECC_INCLUDE_PROLOGUE.H b/deps/openssl/openssl/include/crypto/__DECC_INCLUDE_PROLOGUE.H similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/__DECC_INCLUDE_PROLOGUE.H rename to deps/openssl/openssl/include/crypto/__DECC_INCLUDE_PROLOGUE.H diff --git a/deps/openssl/openssl/crypto/include/internal/aria.h b/deps/openssl/openssl/include/crypto/aria.h similarity index 96% rename from deps/openssl/openssl/crypto/include/internal/aria.h rename to deps/openssl/openssl/include/crypto/aria.h index 355abe5398059b..03a62950ae41e2 100644 --- a/deps/openssl/openssl/crypto/include/internal/aria.h +++ b/deps/openssl/openssl/include/crypto/aria.h @@ -10,8 +10,8 @@ /* Copyright (c) 2017 National Security Research Institute. All rights reserved. */ -#ifndef HEADER_ARIA_H -# define HEADER_ARIA_H +#ifndef OSSL_CRYPTO_ARIA_H +# define OSSL_CRYPTO_ARIA_H # include diff --git a/deps/openssl/openssl/crypto/include/internal/asn1_int.h b/deps/openssl/openssl/include/crypto/asn1.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/asn1_int.h rename to deps/openssl/openssl/include/crypto/asn1.h diff --git a/deps/openssl/openssl/crypto/include/internal/async.h b/deps/openssl/openssl/include/crypto/async.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/async.h rename to deps/openssl/openssl/include/crypto/async.h diff --git a/deps/openssl/openssl/crypto/include/internal/bn_int.h b/deps/openssl/openssl/include/crypto/bn.h similarity index 98% rename from deps/openssl/openssl/crypto/include/internal/bn_int.h rename to deps/openssl/openssl/include/crypto/bn.h index 30be7efe14d8d6..60afda1dadee0c 100644 --- a/deps/openssl/openssl/crypto/include/internal/bn_int.h +++ b/deps/openssl/openssl/include/crypto/bn.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_INT_H -# define HEADER_BN_INT_H +#ifndef OSSL_CRYPTO_BN_H +# define OSSL_CRYPTO_BN_H # include # include diff --git a/deps/openssl/openssl/crypto/include/internal/bn_conf.h b/deps/openssl/openssl/include/crypto/bn_conf.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/bn_conf.h rename to deps/openssl/openssl/include/crypto/bn_conf.h diff --git a/deps/openssl/openssl/crypto/include/internal/bn_conf.h.in b/deps/openssl/openssl/include/crypto/bn_conf.h.in similarity index 93% rename from deps/openssl/openssl/crypto/include/internal/bn_conf.h.in rename to deps/openssl/openssl/include/crypto/bn_conf.h.in index ec6e4f6c1b5ec1..b6b9eb743fd37c 100644 --- a/deps/openssl/openssl/crypto/include/internal/bn_conf.h.in +++ b/deps/openssl/openssl/include/crypto/bn_conf.h.in @@ -8,8 +8,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_BN_CONF_H -# define HEADER_BN_CONF_H +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H /* * The contents of this file are not used in the UEFI build, as diff --git a/deps/openssl/openssl/crypto/include/internal/bn_dh.h b/deps/openssl/openssl/include/crypto/bn_dh.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/bn_dh.h rename to deps/openssl/openssl/include/crypto/bn_dh.h diff --git a/deps/openssl/openssl/crypto/include/internal/bn_srp.h b/deps/openssl/openssl/include/crypto/bn_srp.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/bn_srp.h rename to deps/openssl/openssl/include/crypto/bn_srp.h diff --git a/deps/openssl/openssl/crypto/include/internal/chacha.h b/deps/openssl/openssl/include/crypto/chacha.h similarity index 96% rename from deps/openssl/openssl/crypto/include/internal/chacha.h rename to deps/openssl/openssl/include/crypto/chacha.h index 67243f22280166..4029400a670ccd 100644 --- a/deps/openssl/openssl/crypto/include/internal/chacha.h +++ b/deps/openssl/openssl/include/crypto/chacha.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_CHACHA_H -#define HEADER_CHACHA_H +#ifndef OSSL_CRYPTO_CHACHA_H +#define OSSL_CRYPTO_CHACHA_H #include diff --git a/deps/openssl/openssl/crypto/include/internal/cryptlib_int.h b/deps/openssl/openssl/include/crypto/cryptlib.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/cryptlib_int.h rename to deps/openssl/openssl/include/crypto/cryptlib.h diff --git a/deps/openssl/openssl/crypto/include/internal/ctype.h b/deps/openssl/openssl/include/crypto/ctype.h similarity index 98% rename from deps/openssl/openssl/crypto/include/internal/ctype.h rename to deps/openssl/openssl/include/crypto/ctype.h index 9f3a58339c4ffe..81ef8f5cf7e10c 100644 --- a/deps/openssl/openssl/crypto/include/internal/ctype.h +++ b/deps/openssl/openssl/include/crypto/ctype.h @@ -18,8 +18,8 @@ * throughout the rest of the source code. Refer to issue #4154 for * details. */ -#ifndef INTERNAL_CTYPE_H -# define INTERNAL_CTYPE_H +#ifndef OSSL_CRYPTO_CTYPE_H +# define OSSL_CRYPTO_CTYPE_H # define CTYPE_MASK_lower 0x1 # define CTYPE_MASK_upper 0x2 diff --git a/deps/openssl/openssl/crypto/include/internal/dso_conf.h b/deps/openssl/openssl/include/crypto/dso_conf.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/dso_conf.h rename to deps/openssl/openssl/include/crypto/dso_conf.h diff --git a/deps/openssl/openssl/crypto/include/internal/dso_conf.h.in b/deps/openssl/openssl/include/crypto/dso_conf.h.in similarity index 90% rename from deps/openssl/openssl/crypto/include/internal/dso_conf.h.in rename to deps/openssl/openssl/include/crypto/dso_conf.h.in index 2a76818b50d980..57a09b10a25970 100644 --- a/deps/openssl/openssl/crypto/include/internal/dso_conf.h.in +++ b/deps/openssl/openssl/include/crypto/dso_conf.h.in @@ -8,15 +8,15 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_CONF_H -# define HEADER_DSO_CONF_H +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H {- # The DSO code currently always implements all functions so that no # applications will have to worry about that from a compilation point # of view. However, the "method"s may return zero unless that platform # has support compiled in for them. Currently each method is enabled # by a define "DSO_" ... we translate the "dso_scheme" config # string entry into using the following logic; - my $scheme = uc $target{dso_scheme}; + my $scheme = $disabled{dso} ? undef : uc $target{dso_scheme}; if (!$scheme) { $scheme = "NONE"; } diff --git a/deps/openssl/openssl/crypto/include/internal/ec_int.h b/deps/openssl/openssl/include/crypto/ec.h similarity index 96% rename from deps/openssl/openssl/crypto/include/internal/ec_int.h rename to deps/openssl/openssl/include/crypto/ec.h index 182c39cc80566e..fe52ae704bb9fa 100644 --- a/deps/openssl/openssl/crypto/include/internal/ec_int.h +++ b/deps/openssl/openssl/include/crypto/ec.h @@ -9,8 +9,8 @@ /* Internal EC functions for other submodules: not for application use */ -#ifndef HEADER_OSSL_EC_INTERNAL_H -# define HEADER_OSSL_EC_INTERNAL_H +#ifndef OSSL_CRYPTO_EC_H +# define OSSL_CRYPTO_EC_H # include # ifndef OPENSSL_NO_EC diff --git a/deps/openssl/openssl/crypto/include/internal/engine.h b/deps/openssl/openssl/include/crypto/engine.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/engine.h rename to deps/openssl/openssl/include/crypto/engine.h diff --git a/deps/openssl/openssl/crypto/include/internal/err_int.h b/deps/openssl/openssl/include/crypto/err.h similarity index 90% rename from deps/openssl/openssl/crypto/include/internal/err_int.h rename to deps/openssl/openssl/include/crypto/err.h index 44ac9446275001..8ab0e5baaa2cf8 100644 --- a/deps/openssl/openssl/crypto/include/internal/err_int.h +++ b/deps/openssl/openssl/include/crypto/err.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef INTERNAL_ERR_INT_H -# define INTERNAL_ERR_INT_H +#ifndef OSSL_CRYPTO_ERR_H +# define OSSL_CRYPTO_ERR_H int err_load_crypto_strings_int(void); void err_cleanup(void); diff --git a/deps/openssl/openssl/crypto/include/internal/evp_int.h b/deps/openssl/openssl/include/crypto/evp.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/evp_int.h rename to deps/openssl/openssl/include/crypto/evp.h diff --git a/deps/openssl/openssl/crypto/include/internal/lhash.h b/deps/openssl/openssl/include/crypto/lhash.h similarity index 87% rename from deps/openssl/openssl/crypto/include/internal/lhash.h rename to deps/openssl/openssl/include/crypto/lhash.h index 200ba8685da255..ab060cce74b4ba 100644 --- a/deps/openssl/openssl/crypto/include/internal/lhash.h +++ b/deps/openssl/openssl/include/crypto/lhash.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef INTERNAL_LHASH_H -# define INTERNAL_LHASH_H +#ifndef OSSL_CRYPTO_LHASH_H +# define OSSL_CRYPTO_LHASH_H unsigned long openssl_lh_strcasehash(const char *); diff --git a/deps/openssl/openssl/crypto/include/internal/md32_common.h b/deps/openssl/openssl/include/crypto/md32_common.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/md32_common.h rename to deps/openssl/openssl/include/crypto/md32_common.h diff --git a/deps/openssl/openssl/crypto/include/internal/objects.h b/deps/openssl/openssl/include/crypto/objects.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/objects.h rename to deps/openssl/openssl/include/crypto/objects.h diff --git a/deps/openssl/openssl/crypto/include/internal/poly1305.h b/deps/openssl/openssl/include/crypto/poly1305.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/poly1305.h rename to deps/openssl/openssl/include/crypto/poly1305.h diff --git a/deps/openssl/openssl/crypto/include/internal/rand_int.h b/deps/openssl/openssl/include/crypto/rand.h similarity index 98% rename from deps/openssl/openssl/crypto/include/internal/rand_int.h rename to deps/openssl/openssl/include/crypto/rand.h index 10347ab0e37403..5350d3a931198a 100644 --- a/deps/openssl/openssl/crypto/include/internal/rand_int.h +++ b/deps/openssl/openssl/include/crypto/rand.h @@ -15,8 +15,8 @@ * or in the file LICENSE in the source distribution. */ -#ifndef HEADER_RAND_INT_H -# define HEADER_RAND_INT_H +#ifndef OSSL_CRYPTO_RAND_H +# define OSSL_CRYPTO_RAND_H # include diff --git a/deps/openssl/openssl/crypto/include/internal/sha.h b/deps/openssl/openssl/include/crypto/sha.h similarity index 89% rename from deps/openssl/openssl/crypto/include/internal/sha.h rename to deps/openssl/openssl/include/crypto/sha.h index 458a75e89d4a78..6d15edb9e57e29 100644 --- a/deps/openssl/openssl/crypto/include/internal/sha.h +++ b/deps/openssl/openssl/include/crypto/sha.h @@ -8,8 +8,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_INTERNAL_SHA_H -# define HEADER_INTERNAL_SHA_H +#ifndef OSSL_CRYPTO_SHA_H +# define OSSL_CRYPTO_SHA_H # include diff --git a/deps/openssl/openssl/crypto/include/internal/siphash.h b/deps/openssl/openssl/include/crypto/siphash.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/siphash.h rename to deps/openssl/openssl/include/crypto/siphash.h diff --git a/deps/openssl/openssl/crypto/include/internal/sm2.h b/deps/openssl/openssl/include/crypto/sm2.h similarity index 97% rename from deps/openssl/openssl/crypto/include/internal/sm2.h rename to deps/openssl/openssl/include/crypto/sm2.h index 5c5cd4b4f56725..76ee80baff1923 100644 --- a/deps/openssl/openssl/crypto/include/internal/sm2.h +++ b/deps/openssl/openssl/include/crypto/sm2.h @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_SM2_H -# define HEADER_SM2_H +#ifndef OSSL_CRYPTO_SM2_H +# define OSSL_CRYPTO_SM2_H # include # ifndef OPENSSL_NO_SM2 diff --git a/deps/openssl/openssl/crypto/include/internal/sm2err.h b/deps/openssl/openssl/include/crypto/sm2err.h similarity index 97% rename from deps/openssl/openssl/crypto/include/internal/sm2err.h rename to deps/openssl/openssl/include/crypto/sm2err.h index 09edfab787f415..d1c0ee25918c1a 100644 --- a/deps/openssl/openssl/crypto/include/internal/sm2err.h +++ b/deps/openssl/openssl/include/crypto/sm2err.h @@ -8,8 +8,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_SM2ERR_H -# define HEADER_SM2ERR_H +#ifndef OSSL_CRYPTO_SM2ERR_H +# define OSSL_CRYPTO_SM2ERR_H # ifndef HEADER_SYMHACKS_H # include diff --git a/deps/openssl/openssl/crypto/include/internal/sm3.h b/deps/openssl/openssl/include/crypto/sm3.h similarity index 94% rename from deps/openssl/openssl/crypto/include/internal/sm3.h rename to deps/openssl/openssl/include/crypto/sm3.h index 27eb471c283132..97e7460333313a 100644 --- a/deps/openssl/openssl/crypto/include/internal/sm3.h +++ b/deps/openssl/openssl/include/crypto/sm3.h @@ -8,8 +8,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_SM3_H -# define HEADER_SM3_H +#ifndef OSSL_CRYPTO_SM3_H +# define OSSL_CRYPTO_SM3_H # include diff --git a/deps/openssl/openssl/crypto/include/internal/sm4.h b/deps/openssl/openssl/include/crypto/sm4.h similarity index 94% rename from deps/openssl/openssl/crypto/include/internal/sm4.h rename to deps/openssl/openssl/include/crypto/sm4.h index f1f157ef535162..abe28f385e0a6f 100644 --- a/deps/openssl/openssl/crypto/include/internal/sm4.h +++ b/deps/openssl/openssl/include/crypto/sm4.h @@ -8,8 +8,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_SM4_H -# define HEADER_SM4_H +#ifndef OSSL_CRYPTO_SM4_H +# define OSSL_CRYPTO_SM4_H # include # include diff --git a/deps/openssl/openssl/crypto/include/internal/store_int.h b/deps/openssl/openssl/include/crypto/store.h similarity index 82% rename from deps/openssl/openssl/crypto/include/internal/store_int.h rename to deps/openssl/openssl/include/crypto/store.h index 6f31e019ea219d..428d3c60e13ea0 100644 --- a/deps/openssl/openssl/crypto/include/internal/store_int.h +++ b/deps/openssl/openssl/include/crypto/store.h @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_STORE_INT_H -# define HEADER_STORE_INT_H +#ifndef OSSL_CRYPTO_STORE_H +# define OSSL_CRYPTO_STORE_H # include # include @@ -23,4 +23,6 @@ OSSL_STORE_CTX *ossl_store_attach_pem_bio(BIO *bp, const UI_METHOD *ui_method, void *ui_data); int ossl_store_detach_pem_bio(OSSL_STORE_CTX *ctx); +void ossl_store_cleanup_int(void); + #endif diff --git a/deps/openssl/openssl/crypto/include/internal/x509_int.h b/deps/openssl/openssl/include/crypto/x509.h similarity index 100% rename from deps/openssl/openssl/crypto/include/internal/x509_int.h rename to deps/openssl/openssl/include/crypto/x509.h diff --git a/deps/openssl/openssl/include/internal/conf.h b/deps/openssl/openssl/include/internal/conf.h index 29bc9f963c91d2..163fea8de418a1 100644 --- a/deps/openssl/openssl/include/internal/conf.h +++ b/deps/openssl/openssl/include/internal/conf.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_INTERNAL_CONF_H -# define HEADER_INTERNAL_CONF_H +#ifndef OSSL_INTERNAL_CONF_H +# define OSSL_INTERNAL_CONF_H #include diff --git a/deps/openssl/openssl/include/internal/constant_time_locl.h b/deps/openssl/openssl/include/internal/constant_time.h similarity index 98% rename from deps/openssl/openssl/include/internal/constant_time_locl.h rename to deps/openssl/openssl/include/internal/constant_time.h index 0193a653d4bb1a..6600a1d72aeb00 100644 --- a/deps/openssl/openssl/include/internal/constant_time_locl.h +++ b/deps/openssl/openssl/include/internal/constant_time.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_CONSTANT_TIME_LOCL_H -# define HEADER_CONSTANT_TIME_LOCL_H +#ifndef OSSL_INTERNAL_CONSTANT_TIME_H +# define OSSL_INTERNAL_CONSTANT_TIME_H # include # include @@ -384,4 +384,4 @@ static ossl_inline void constant_time_lookup(void *out, */ void err_clear_last_constant_time(int clear); -#endif /* HEADER_CONSTANT_TIME_LOCL_H */ +#endif /* OSSL_INTERNAL_CONSTANT_TIME_H */ diff --git a/deps/openssl/openssl/include/internal/cryptlib.h b/deps/openssl/openssl/include/internal/cryptlib.h index 23e17e5586e8f5..6e7291ae41bc35 100644 --- a/deps/openssl/openssl/include/internal/cryptlib.h +++ b/deps/openssl/openssl/include/internal/cryptlib.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_CRYPTLIB_H -# define HEADER_CRYPTLIB_H +#ifndef OSSL_INTERNAL_CRYPTLIB_H +# define OSSL_INTERNAL_CRYPTLIB_H # include # include diff --git a/deps/openssl/openssl/include/internal/dane.h b/deps/openssl/openssl/include/internal/dane.h index a1cb5488ba0033..7a39bd7d7d46c6 100644 --- a/deps/openssl/openssl/include/internal/dane.h +++ b/deps/openssl/openssl/include/internal/dane.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_INTERNAL_DANE_H -#define HEADER_INTERNAL_DANE_H +#ifndef OSSL_INTERNAL_DANE_H +#define OSSL_INTERNAL_DANE_H #include @@ -100,4 +100,4 @@ struct ssl_dane_st { #define DANETLS_HAS_DANE_TA(dane) ((dane)&&((dane)->umask & DANETLS_DANE_TA_MASK)) #define DANETLS_HAS_DANE_EE(dane) ((dane)&&((dane)->umask & DANETLS_DANE_EE_MASK)) -#endif /* HEADER_INTERNAL_DANE_H */ +#endif /* OSSL_INTERNAL_DANE_H */ diff --git a/deps/openssl/openssl/include/internal/dso.h b/deps/openssl/openssl/include/internal/dso.h index eb5f7d53c7d6fb..c57c0c40759278 100644 --- a/deps/openssl/openssl/include/internal/dso.h +++ b/deps/openssl/openssl/include/internal/dso.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSO_H -# define HEADER_DSO_H +#ifndef OSSL_INTERNAL_DSO_H +# define OSSL_INTERNAL_DSO_H # include # include "internal/dsoerr.h" diff --git a/deps/openssl/openssl/include/internal/dsoerr.h b/deps/openssl/openssl/include/internal/dsoerr.h index 5f4511c4d6f889..94d642a22d8c91 100644 --- a/deps/openssl/openssl/include/internal/dsoerr.h +++ b/deps/openssl/openssl/include/internal/dsoerr.h @@ -8,8 +8,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_DSOERR_H -# define HEADER_DSOERR_H +#ifndef OSSL_INTERNAL_DSOERR_H +# define OSSL_INTERNAL_DSOERR_H # ifndef HEADER_SYMHACKS_H # include diff --git a/deps/openssl/openssl/include/internal/err.h b/deps/openssl/openssl/include/internal/err.h index d46b8bdb29256c..88dde7059157f0 100644 --- a/deps/openssl/openssl/include/internal/err.h +++ b/deps/openssl/openssl/include/internal/err.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef INTERNAL_ERR_H -# define INTERNAL_ERR_H +#ifndef OSSL_INTERNAL_ERR_H +# define OSSL_INTERNAL_ERR_H void err_free_strings_int(void); diff --git a/deps/openssl/openssl/include/internal/nelem.h b/deps/openssl/openssl/include/internal/nelem.h index d65a21a9fbef8b..699ef88ee5234a 100644 --- a/deps/openssl/openssl/include/internal/nelem.h +++ b/deps/openssl/openssl/include/internal/nelem.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_NELEM_H -# define HEADER_NELEM_H +#ifndef OSSL_INTERNAL_NELEM_H +# define OSSL_INTERNAL_NELEM_H # define OSSL_NELEM(x) (sizeof(x)/sizeof((x)[0])) #endif diff --git a/deps/openssl/openssl/include/internal/numbers.h b/deps/openssl/openssl/include/internal/numbers.h index 31931df3c2fff5..f5ade5226e5b52 100644 --- a/deps/openssl/openssl/include/internal/numbers.h +++ b/deps/openssl/openssl/include/internal/numbers.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_NUMBERS_H -# define HEADER_NUMBERS_H +#ifndef OSSL_INTERNAL_NUMBERS_H +# define OSSL_INTERNAL_NUMBERS_H # include diff --git a/deps/openssl/openssl/include/internal/o_dir.h b/deps/openssl/openssl/include/internal/o_dir.h index e7b55e0c18b3aa..dafc8dd2e74b8d 100644 --- a/deps/openssl/openssl/include/internal/o_dir.h +++ b/deps/openssl/openssl/include/internal/o_dir.h @@ -36,8 +36,8 @@ * SUCH DAMAGE. */ -#ifndef O_DIR_H -# define O_DIR_H +#ifndef OSSL_INTERNAL_O_DIR_H +# define OSSL_INTERNAL_O_DIR_H typedef struct OPENSSL_dir_context_st OPENSSL_DIR_CTX; diff --git a/deps/openssl/openssl/include/internal/o_str.h b/deps/openssl/openssl/include/internal/o_str.h index 86403c9ee2829a..15c12e820d2ba5 100644 --- a/deps/openssl/openssl/include/internal/o_str.h +++ b/deps/openssl/openssl/include/internal/o_str.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_O_STR_H -# define HEADER_O_STR_H +#ifndef OSSL_INTERNAL_O_STR_H +# define OSSL_INTERNAL_O_STR_H # include /* to get size_t */ diff --git a/deps/openssl/openssl/include/internal/refcount.h b/deps/openssl/openssl/include/internal/refcount.h index 6e1a840ef1ea6d..8fb536eadc0748 100644 --- a/deps/openssl/openssl/include/internal/refcount.h +++ b/deps/openssl/openssl/include/internal/refcount.h @@ -6,8 +6,8 @@ * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef HEADER_INTERNAL_REFCOUNT_H -# define HEADER_INTERNAL_REFCOUNT_H +#ifndef OSSL_INTERNAL_REFCOUNT_H +# define OSSL_INTERNAL_REFCOUNT_H /* Used to checking reference counts, most while doing perl5 stuff :-) */ # if defined(OPENSSL_NO_STDIO) diff --git a/deps/openssl/openssl/include/internal/sockets.h b/deps/openssl/openssl/include/internal/sockets.h index 5bb0355f07ed1a..39186efef2076d 100644 --- a/deps/openssl/openssl/include/internal/sockets.h +++ b/deps/openssl/openssl/include/internal/sockets.h @@ -8,8 +8,8 @@ */ -#ifndef HEADER_INTERNAL_SOCKETS -# define HEADER_INTERNAL_SOCKETS +#ifndef OSSL_INTERNAL_SOCKETS_H +# define OSSL_INTERNAL_SOCKETS_H # if defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_UEFI) # define NO_SYS_PARAM_H diff --git a/deps/openssl/openssl/include/internal/sslconf.h b/deps/openssl/openssl/include/internal/sslconf.h index d538f8614f5864..92c8941d0250c0 100644 --- a/deps/openssl/openssl/include/internal/sslconf.h +++ b/deps/openssl/openssl/include/internal/sslconf.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_SSLCONF_H -# define HEADER_SSLCONF_H +#ifndef OSSL_INTERNAL_SSLCONF_H +# define OSSL_INTERNAL_SSLCONF_H typedef struct ssl_conf_cmd_st SSL_CONF_CMD; diff --git a/deps/openssl/openssl/include/openssl/__DECC_INCLUDE_EPILOGUE.H b/deps/openssl/openssl/include/openssl/__DECC_INCLUDE_EPILOGUE.H index c350018ad19067..ad0a5f56dc9d66 100644 --- a/deps/openssl/openssl/include/openssl/__DECC_INCLUDE_EPILOGUE.H +++ b/deps/openssl/openssl/include/openssl/__DECC_INCLUDE_EPILOGUE.H @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -8,9 +8,15 @@ */ /* - * This file is only used by HP C on VMS, and is included automatically + * This file is only used by HP C/C++ on VMS, and is included automatically * after each header file from this directory */ +/* + * The C++ compiler doesn't understand these pragmas, even though it + * understands the corresponding command line qualifier. + */ +#ifndef __cplusplus /* restore state. Must correspond to the save in __decc_include_prologue.h */ -#pragma names restore +# pragma names restore +#endif diff --git a/deps/openssl/openssl/include/openssl/__DECC_INCLUDE_PROLOGUE.H b/deps/openssl/openssl/include/openssl/__DECC_INCLUDE_PROLOGUE.H index 9a9c777f93f8a0..5f5513e821acad 100644 --- a/deps/openssl/openssl/include/openssl/__DECC_INCLUDE_PROLOGUE.H +++ b/deps/openssl/openssl/include/openssl/__DECC_INCLUDE_PROLOGUE.H @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -8,13 +8,19 @@ */ /* - * This file is only used by HP C on VMS, and is included automatically + * This file is only used by HP C/C++ on VMS, and is included automatically * after each header file from this directory */ +/* + * The C++ compiler doesn't understand these pragmas, even though it + * understands the corresponding command line qualifier. + */ +#ifndef __cplusplus /* save state */ -#pragma names save +# pragma names save /* have the compiler shorten symbols larger than 31 chars to 23 chars * followed by a 8 hex char CRC */ -#pragma names as_is,shortened +# pragma names as_is,shortened +#endif diff --git a/deps/openssl/openssl/include/openssl/bio.h b/deps/openssl/openssl/include/openssl/bio.h index e1fddfb7969d6e..ae559a5105078c 100644 --- a/deps/openssl/openssl/include/openssl/bio.h +++ b/deps/openssl/openssl/include/openssl/bio.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -169,6 +169,7 @@ extern "C" { */ # define BIO_FLAGS_MEM_RDONLY 0x200 # define BIO_FLAGS_NONCLEAR_RST 0x400 +# define BIO_FLAGS_IN_EOF 0x800 typedef union bio_addr_st BIO_ADDR; typedef struct bio_addrinfo_st BIO_ADDRINFO; diff --git a/deps/openssl/openssl/include/openssl/ct.h b/deps/openssl/openssl/include/openssl/ct.h index d4262fa0480476..ebdba34d6777ae 100644 --- a/deps/openssl/openssl/include/openssl/ct.h +++ b/deps/openssl/openssl/include/openssl/ct.h @@ -463,8 +463,6 @@ __owur int CTLOG_STORE_load_file(CTLOG_STORE *store, const char *file); /* * Loads the default CT log list into a |store|. - * See internal/cryptlib.h for the environment variable and file path that are - * consulted to find the default file. * Returns 1 if loading is successful, or 0 otherwise. */ __owur int CTLOG_STORE_load_default_file(CTLOG_STORE *store); diff --git a/deps/openssl/openssl/include/openssl/dsa.h b/deps/openssl/openssl/include/openssl/dsa.h index 822eff347a293a..6d8a18a4ad5aa4 100644 --- a/deps/openssl/openssl/include/openssl/dsa.h +++ b/deps/openssl/openssl/include/openssl/dsa.h @@ -162,6 +162,12 @@ DH *DSA_dup_DH(const DSA *r); # define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL) +# 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, NULL) +# define EVP_PKEY_CTX_set_dsa_paramgen_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DSA_PARAMGEN_MD, 0, (void *)(md)) # define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS (EVP_PKEY_ALG_CTRL + 1) # define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS (EVP_PKEY_ALG_CTRL + 2) diff --git a/deps/openssl/openssl/include/openssl/dtls1.h b/deps/openssl/openssl/include/openssl/dtls1.h index a312e386cf9ac8..d55ca9c332dde9 100644 --- a/deps/openssl/openssl/include/openssl/dtls1.h +++ b/deps/openssl/openssl/include/openssl/dtls1.h @@ -43,7 +43,7 @@ extern "C" { # define DTLS1_AL_HEADER_LENGTH 2 -/* Timeout multipliers (timeout slice is defined in apps/timeouts.h */ +/* Timeout multipliers */ # define DTLS1_TMO_READ_COUNT 2 # define DTLS1_TMO_WRITE_COUNT 2 diff --git a/deps/openssl/openssl/include/openssl/evp.h b/deps/openssl/openssl/include/openssl/evp.h index 545654a98b1c08..a411f3f2f94918 100644 --- a/deps/openssl/openssl/include/openssl/evp.h +++ b/deps/openssl/openssl/include/openssl/evp.h @@ -180,7 +180,7 @@ int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int cmd, * if the following flag is set. */ # define EVP_MD_CTX_FLAG_FINALISE 0x0200 -/* NOTE: 0x0400 is reserved for internal usage in evp_int.h */ +/* NOTE: 0x0400 is reserved for internal usage */ EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len); EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher); @@ -1512,6 +1512,20 @@ void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, const char *type, const char *value)); +void EVP_PKEY_meth_set_digestsign(EVP_PKEY_METHOD *pmeth, + int (*digestsign) (EVP_MD_CTX *ctx, + unsigned char *sig, + size_t *siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_set_digestverify(EVP_PKEY_METHOD *pmeth, + int (*digestverify) (EVP_MD_CTX *ctx, + const unsigned char *sig, + size_t siglen, + const unsigned char *tbs, + size_t tbslen)); + void EVP_PKEY_meth_set_check(EVP_PKEY_METHOD *pmeth, int (*check) (EVP_PKEY *pkey)); @@ -1617,6 +1631,20 @@ void EVP_PKEY_meth_get_ctrl(const EVP_PKEY_METHOD *pmeth, const char *type, const char *value)); +void EVP_PKEY_meth_get_digestsign(EVP_PKEY_METHOD *pmeth, + int (**digestsign) (EVP_MD_CTX *ctx, + unsigned char *sig, + size_t *siglen, + const unsigned char *tbs, + size_t tbslen)); + +void EVP_PKEY_meth_get_digestverify(EVP_PKEY_METHOD *pmeth, + int (**digestverify) (EVP_MD_CTX *ctx, + const unsigned char *sig, + size_t siglen, + const unsigned char *tbs, + size_t tbslen)); + void EVP_PKEY_meth_get_check(const EVP_PKEY_METHOD *pmeth, int (**pcheck) (EVP_PKEY *pkey)); diff --git a/deps/openssl/openssl/include/openssl/evperr.h b/deps/openssl/openssl/include/openssl/evperr.h index 6a651f55635419..d2b26ea582dec5 100644 --- a/deps/openssl/openssl/include/openssl/evperr.h +++ b/deps/openssl/openssl/include/openssl/evperr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -160,6 +160,7 @@ int ERR_load_EVP_strings(void); # define EVP_R_INPUT_NOT_INITIALIZED 111 # define EVP_R_INVALID_DIGEST 152 # define EVP_R_INVALID_FIPS_MODE 168 +# define EVP_R_INVALID_IV_LENGTH 194 # define EVP_R_INVALID_KEY 163 # define EVP_R_INVALID_KEY_LENGTH 130 # define EVP_R_INVALID_OPERATION 148 diff --git a/deps/openssl/openssl/include/openssl/lhash.h b/deps/openssl/openssl/include/openssl/lhash.h index 47b99d17fb8a1e..2e42d727d4d66b 100644 --- a/deps/openssl/openssl/include/openssl/lhash.h +++ b/deps/openssl/openssl/include/openssl/lhash.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -120,9 +120,8 @@ void OPENSSL_LH_node_usage_stats_bio(const OPENSSL_LHASH *lh, BIO *out); # define DEFINE_LHASH_OF(type) \ LHASH_OF(type) { union lh_##type##_dummy { void* d1; unsigned long d2; int d3; } dummy; }; \ - static ossl_inline LHASH_OF(type) * \ - lh_##type##_new(unsigned long (*hfn)(const type *), \ - int (*cfn)(const type *, const type *)) \ + static ossl_unused ossl_inline LHASH_OF(type) *lh_##type##_new(unsigned long (*hfn)(const type *), \ + int (*cfn)(const type *, const type *)) \ { \ return (LHASH_OF(type) *) \ OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn); \ diff --git a/deps/openssl/openssl/include/openssl/obj_mac.h b/deps/openssl/openssl/include/openssl/obj_mac.h index 47dafe48d05651..483fc0509e1987 100644 --- a/deps/openssl/openssl/include/openssl/obj_mac.h +++ b/deps/openssl/openssl/include/openssl/obj_mac.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by crypto/objects/objects.pl * - * Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at @@ -1290,12 +1290,12 @@ #define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L #define SN_ms_smartcard_login "msSmartcardLogin" -#define LN_ms_smartcard_login "Microsoft Smartcardlogin" +#define LN_ms_smartcard_login "Microsoft Smartcard Login" #define NID_ms_smartcard_login 648 #define OBJ_ms_smartcard_login 1L,3L,6L,1L,4L,1L,311L,20L,2L,2L #define SN_ms_upn "msUPN" -#define LN_ms_upn "Microsoft Universal Principal Name" +#define LN_ms_upn "Microsoft User Principal Name" #define NID_ms_upn 649 #define OBJ_ms_upn 1L,3L,6L,1L,4L,1L,311L,20L,2L,3L diff --git a/deps/openssl/openssl/include/openssl/ocsp.h b/deps/openssl/openssl/include/openssl/ocsp.h index 8582fe1ee1a4dd..4d759a49de4380 100644 --- a/deps/openssl/openssl/include/openssl/ocsp.h +++ b/deps/openssl/openssl/include/openssl/ocsp.h @@ -123,7 +123,7 @@ typedef struct ocsp_service_locator_st OCSP_SERVICELOC; (char *(*)())d2i_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST, \ bp,(char **)(x),cb,NULL) -# define PEM_read_bio_OCSP_RESPONSE(bp,x,cb)(OCSP_RESPONSE *)PEM_ASN1_read_bio(\ +# define PEM_read_bio_OCSP_RESPONSE(bp,x,cb) (OCSP_RESPONSE *)PEM_ASN1_read_bio(\ (char *(*)())d2i_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE, \ bp,(char **)(x),cb,NULL) diff --git a/deps/openssl/openssl/include/openssl/opensslv.h b/deps/openssl/openssl/include/openssl/opensslv.h index c28e632c442504..dd8ef3df722f81 100644 --- a/deps/openssl/openssl/include/openssl/opensslv.h +++ b/deps/openssl/openssl/include/openssl/opensslv.h @@ -39,8 +39,8 @@ extern "C" { * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ -# define OPENSSL_VERSION_NUMBER 0x1010104fL -# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1d 10 Sep 2019" +# define OPENSSL_VERSION_NUMBER 0x1010105fL +# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1e 17 Mar 2020" /*- * The macros below are to be used for shared library (.so, .dll, ...) diff --git a/deps/openssl/openssl/include/openssl/ossl_typ.h b/deps/openssl/openssl/include/openssl/ossl_typ.h index 7993ca28f3da5c..e0edfaaf476059 100644 --- a/deps/openssl/openssl/include/openssl/ossl_typ.h +++ b/deps/openssl/openssl/include/openssl/ossl_typ.h @@ -109,6 +109,7 @@ typedef struct dsa_method DSA_METHOD; typedef struct rsa_st RSA; typedef struct rsa_meth_st RSA_METHOD; +typedef struct rsa_pss_params_st RSA_PSS_PARAMS; typedef struct ec_key_st EC_KEY; typedef struct ec_key_method_st EC_KEY_METHOD; diff --git a/deps/openssl/openssl/include/openssl/randerr.h b/deps/openssl/openssl/include/openssl/randerr.h index 70d1a17a4c6bdb..79d57905e3cb42 100644 --- a/deps/openssl/openssl/include/openssl/randerr.h +++ b/deps/openssl/openssl/include/openssl/randerr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -21,6 +21,7 @@ int ERR_load_RAND_strings(void); /* * RAND function codes. */ +# define RAND_F_DATA_COLLECT_METHOD 127 # define RAND_F_DRBG_BYTES 101 # define RAND_F_DRBG_GET_ENTROPY 105 # define RAND_F_DRBG_SETUP 117 @@ -46,6 +47,7 @@ int ERR_load_RAND_strings(void); # define RAND_F_RAND_POOL_BYTES_NEEDED 115 # define RAND_F_RAND_POOL_GROW 125 # define RAND_F_RAND_POOL_NEW 116 +# define RAND_F_RAND_PSEUDO_BYTES 126 # define RAND_F_RAND_WRITE_FILE 112 /* diff --git a/deps/openssl/openssl/include/openssl/rsa.h b/deps/openssl/openssl/include/openssl/rsa.h index cdce1264eb5ccd..5e76365c0dfea7 100644 --- a/deps/openssl/openssl/include/openssl/rsa.h +++ b/deps/openssl/openssl/include/openssl/rsa.h @@ -224,6 +224,7 @@ const BIGNUM *RSA_get0_q(const RSA *d); const BIGNUM *RSA_get0_dmp1(const RSA *r); const BIGNUM *RSA_get0_dmq1(const RSA *r); const BIGNUM *RSA_get0_iqmp(const RSA *r); +const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r); void RSA_clear_flags(RSA *r, int flags); int RSA_test_flags(const RSA *r, int flags); void RSA_set_flags(RSA *r, int flags); @@ -279,14 +280,14 @@ int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx, int optype, int cmd, int p1, void *p2); DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPublicKey) DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPrivateKey) -typedef struct rsa_pss_params_st { +struct rsa_pss_params_st { X509_ALGOR *hashAlgorithm; X509_ALGOR *maskGenAlgorithm; ASN1_INTEGER *saltLength; ASN1_INTEGER *trailerField; /* Decoded hash algorithm from maskGenAlgorithm */ X509_ALGOR *maskHash; -} RSA_PSS_PARAMS; +}; DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS) diff --git a/deps/openssl/openssl/include/openssl/sslerr.h b/deps/openssl/openssl/include/openssl/sslerr.h index 3d6850dea36e26..0ef684f3c13192 100644 --- a/deps/openssl/openssl/include/openssl/sslerr.h +++ b/deps/openssl/openssl/include/openssl/sslerr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -88,6 +88,7 @@ int ERR_load_SSL_strings(void); # define SSL_F_OSSL_STATEM_SERVER_CONSTRUCT_MESSAGE 431 # define SSL_F_OSSL_STATEM_SERVER_POST_PROCESS_MESSAGE 601 # define SSL_F_OSSL_STATEM_SERVER_POST_WORK 602 +# define SSL_F_OSSL_STATEM_SERVER_PRE_WORK 640 # define SSL_F_OSSL_STATEM_SERVER_PROCESS_MESSAGE 603 # define SSL_F_OSSL_STATEM_SERVER_READ_TRANSITION 418 # define SSL_F_OSSL_STATEM_SERVER_WRITE_TRANSITION 604 @@ -733,6 +734,7 @@ int ERR_load_SSL_strings(void); # define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243 # define SSL_R_UNEXPECTED_CCS_MESSAGE 262 # define SSL_R_UNEXPECTED_END_OF_EARLY_DATA 178 +# define SSL_R_UNEXPECTED_EOF_WHILE_READING 294 # define SSL_R_UNEXPECTED_MESSAGE 244 # define SSL_R_UNEXPECTED_RECORD 245 # define SSL_R_UNINITIALIZED 276 diff --git a/deps/openssl/openssl/ssl/bio_ssl.c b/deps/openssl/openssl/ssl/bio_ssl.c index d1876d8b8c1f4a..ab9e6668cd57f9 100644 --- a/deps/openssl/openssl/ssl/bio_ssl.c +++ b/deps/openssl/openssl/ssl/bio_ssl.c @@ -14,7 +14,7 @@ #include #include "internal/bio.h" #include -#include "ssl_locl.h" +#include "ssl_local.h" static int ssl_write(BIO *h, const char *buf, size_t size, size_t *written); static int ssl_read(BIO *b, char *buf, size_t size, size_t *readbytes); diff --git a/deps/openssl/openssl/ssl/d1_lib.c b/deps/openssl/openssl/ssl/d1_lib.c index fcda32754735ca..2a15ee8ad9654f 100644 --- a/deps/openssl/openssl/ssl/d1_lib.c +++ b/deps/openssl/openssl/ssl/d1_lib.c @@ -11,7 +11,7 @@ #include #include #include -#include "ssl_locl.h" +#include "ssl_local.h" static void get_current_time(struct timeval *t); static int dtls1_handshake_write(SSL *s); diff --git a/deps/openssl/openssl/ssl/d1_msg.c b/deps/openssl/openssl/ssl/d1_msg.c index 6365b365e7f621..8a31064ae13f54 100644 --- a/deps/openssl/openssl/ssl/d1_msg.c +++ b/deps/openssl/openssl/ssl/d1_msg.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "ssl_locl.h" +#include "ssl_local.h" int dtls1_write_app_data_bytes(SSL *s, int type, const void *buf_, size_t len, size_t *written) diff --git a/deps/openssl/openssl/ssl/d1_srtp.c b/deps/openssl/openssl/ssl/d1_srtp.c index ff8f0c5712df54..c05a77e34668c6 100644 --- a/deps/openssl/openssl/ssl/d1_srtp.c +++ b/deps/openssl/openssl/ssl/d1_srtp.c @@ -15,7 +15,7 @@ #include #include -#include "ssl_locl.h" +#include "ssl_local.h" #ifndef OPENSSL_NO_SRTP diff --git a/deps/openssl/openssl/ssl/methods.c b/deps/openssl/openssl/ssl/methods.c index 348efe467dbbcb..c5e8898364cd7d 100644 --- a/deps/openssl/openssl/ssl/methods.c +++ b/deps/openssl/openssl/ssl/methods.c @@ -9,7 +9,7 @@ #include #include -#include "ssl_locl.h" +#include "ssl_local.h" /*- * TLS/SSLv3 methods diff --git a/deps/openssl/openssl/ssl/packet.c b/deps/openssl/openssl/ssl/packet.c index 95031430ed6687..1ddde969f3b232 100644 --- a/deps/openssl/openssl/ssl/packet.c +++ b/deps/openssl/openssl/ssl/packet.c @@ -8,7 +8,7 @@ */ #include "internal/cryptlib.h" -#include "packet_locl.h" +#include "packet_local.h" #include #define DEFAULT_BUF_SIZE 256 diff --git a/deps/openssl/openssl/ssl/packet_locl.h b/deps/openssl/openssl/ssl/packet_local.h similarity index 99% rename from deps/openssl/openssl/ssl/packet_locl.h rename to deps/openssl/openssl/ssl/packet_local.h index 860360b8b2317a..1b6c2fb9bc3faf 100644 --- a/deps/openssl/openssl/ssl/packet_locl.h +++ b/deps/openssl/openssl/ssl/packet_local.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_PACKET_LOCL_H -# define HEADER_PACKET_LOCL_H +#ifndef OSSL_SSL_PACKET_LOCAL_H +# define OSSL_SSL_PACKET_LOCAL_H # include # include @@ -871,4 +871,4 @@ unsigned char *WPACKET_get_curr(WPACKET *pkt); /* Release resources in a WPACKET if a failure has occurred. */ void WPACKET_cleanup(WPACKET *pkt); -#endif /* HEADER_PACKET_LOCL_H */ +#endif /* OSSL_SSL_PACKET_LOCAL_H */ diff --git a/deps/openssl/openssl/ssl/pqueue.c b/deps/openssl/openssl/ssl/pqueue.c index 548a7a443d9145..758440217d4516 100644 --- a/deps/openssl/openssl/ssl/pqueue.c +++ b/deps/openssl/openssl/ssl/pqueue.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "ssl_locl.h" +#include "ssl_local.h" #include struct pqueue_st { diff --git a/deps/openssl/openssl/ssl/record/README b/deps/openssl/openssl/ssl/record/README index 987e9fd305d945..630fe8027af181 100644 --- a/deps/openssl/openssl/ssl/record/README +++ b/deps/openssl/openssl/ssl/record/README @@ -12,7 +12,7 @@ of these components is defined by: 3) A set of accessor macros All struct definitions are in record.h. The functions and macros are either -defined in record.h or record_locl.h dependent on whether they are intended to +defined in record.h or record_local.h dependent on whether they are intended to be private to the record layer, or whether they form part of the API to the rest of libssl. @@ -55,7 +55,7 @@ Conceptually it looks like this: || rec_layer_d1.c || ||____________________|| |______________________| - record_locl.h ^ ^ ^ + record_local.h ^ ^ ^ _________________| | |_________________ | | | _____V_________ ______V________ _______V________ diff --git a/deps/openssl/openssl/ssl/record/dtls1_bitmap.c b/deps/openssl/openssl/ssl/record/dtls1_bitmap.c index 5923c53717c9df..8167b41834045c 100644 --- a/deps/openssl/openssl/ssl/record/dtls1_bitmap.c +++ b/deps/openssl/openssl/ssl/record/dtls1_bitmap.c @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#include "../ssl_locl.h" -#include "record_locl.h" +#include "../ssl_local.h" +#include "record_local.h" /* mod 128 saturating subtract of two 64-bit values in big-endian order */ static int satsub64be(const unsigned char *v1, const unsigned char *v2) diff --git a/deps/openssl/openssl/ssl/record/rec_layer_d1.c b/deps/openssl/openssl/ssl/record/rec_layer_d1.c index cb5d54ef5a8f4a..73ca8a6ee4b973 100644 --- a/deps/openssl/openssl/ssl/record/rec_layer_d1.c +++ b/deps/openssl/openssl/ssl/record/rec_layer_d1.c @@ -9,11 +9,11 @@ #include #include -#include "../ssl_locl.h" +#include "../ssl_local.h" #include #include -#include "record_locl.h" -#include "../packet_locl.h" +#include "record_local.h" +#include "../packet_local.h" #include "internal/cryptlib.h" int DTLS_RECORD_LAYER_new(RECORD_LAYER *rl) diff --git a/deps/openssl/openssl/ssl/record/rec_layer_s3.c b/deps/openssl/openssl/ssl/record/rec_layer_s3.c index 982a06089c116b..1c885a664f35e3 100644 --- a/deps/openssl/openssl/ssl/record/rec_layer_s3.c +++ b/deps/openssl/openssl/ssl/record/rec_layer_s3.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -10,15 +10,15 @@ #include #include #include -#include "../ssl_locl.h" +#include "../ssl_local.h" #include #include #include -#include "record_locl.h" -#include "../packet_locl.h" +#include "record_local.h" +#include "../packet_local.h" #if defined(OPENSSL_SMALL_FOOTPRINT) || \ - !( defined(AES_ASM) && ( \ + !( defined(AESNI_ASM) && ( \ defined(__x86_64) || defined(__x86_64__) || \ defined(_M_AMD64) || defined(_M_X64) ) \ ) @@ -296,6 +296,12 @@ int ssl3_read_n(SSL *s, size_t n, size_t max, int extend, int clearold, ret = BIO_read(s->rbio, pkt + len + left, max - left); if (ret >= 0) bioread = ret; + if (ret <= 0 + && !BIO_should_retry(s->rbio) + && BIO_eof(s->rbio)) { + SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_F_SSL3_READ_N, + SSL_R_UNEXPECTED_EOF_WHILE_READING); + } } else { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL3_READ_N, SSL_R_READ_BIO_NOT_SET); diff --git a/deps/openssl/openssl/ssl/record/record_locl.h b/deps/openssl/openssl/ssl/record/record_local.h similarity index 100% rename from deps/openssl/openssl/ssl/record/record_locl.h rename to deps/openssl/openssl/ssl/record/record_local.h diff --git a/deps/openssl/openssl/ssl/record/ssl3_buffer.c b/deps/openssl/openssl/ssl/record/ssl3_buffer.c index 53bd4cb190d0e7..605f8f9b75be8f 100644 --- a/deps/openssl/openssl/ssl/record/ssl3_buffer.c +++ b/deps/openssl/openssl/ssl/record/ssl3_buffer.c @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#include "../ssl_locl.h" -#include "record_locl.h" +#include "../ssl_local.h" +#include "record_local.h" void SSL3_BUFFER_set_data(SSL3_BUFFER *b, const unsigned char *d, size_t n) { diff --git a/deps/openssl/openssl/ssl/record/ssl3_record.c b/deps/openssl/openssl/ssl/record/ssl3_record.c index e59ac5a676761e..ab5d22aa10cb1d 100644 --- a/deps/openssl/openssl/ssl/record/ssl3_record.c +++ b/deps/openssl/openssl/ssl/record/ssl3_record.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,10 +7,10 @@ * https://www.openssl.org/source/license.html */ -#include "../ssl_locl.h" -#include "internal/constant_time_locl.h" +#include "../ssl_local.h" +#include "internal/constant_time.h" #include -#include "record_locl.h" +#include "record_local.h" #include "internal/cryptlib.h" static const unsigned char ssl3_pad_1[48] = { @@ -559,7 +559,7 @@ int ssl3_get_record(SSL *s) RECORD_LAYER_reset_read_sequence(&s->rlayer); return 1; } - SSLfatal(s, SSL_AD_DECRYPTION_FAILED, SSL_F_SSL3_GET_RECORD, + SSLfatal(s, SSL_AD_BAD_RECORD_MAC, SSL_F_SSL3_GET_RECORD, SSL_R_BLOCK_CIPHER_PAD_IS_WRONG); return -1; } @@ -837,7 +837,7 @@ int ssl3_do_compress(SSL *ssl, SSL3_RECORD *wr) * SSLfatal() for internal errors, but not otherwise. * * Returns: - * 0: (in non-constant time) if the record is publically invalid (i.e. too + * 0: (in non-constant time) if the record is publicly invalid (i.e. too * short etc). * 1: if the record's padding is valid / the encryption was successful. * -1: if the record's padding is invalid or, if sending, an internal error @@ -928,7 +928,7 @@ int ssl3_enc(SSL *s, SSL3_RECORD *inrecs, size_t n_recs, int sending) * internal errors, but not otherwise. * * Returns: - * 0: (in non-constant time) if the record is publically invalid (i.e. too + * 0: (in non-constant time) if the record is publicly invalid (i.e. too * short etc). * 1: if the record's padding is valid / the encryption was successful. * -1: if the record's padding/AEAD-authenticator is invalid or, if sending, @@ -1075,7 +1075,7 @@ int tls1_enc(SSL *s, SSL3_RECORD *recs, size_t n_recs, int sending) } else if ((bs != 1) && sending) { padnum = bs - (reclen[ctr] % bs); - /* Add weird padding of upto 256 bytes */ + /* Add weird padding of up to 256 bytes */ if (padnum > MAX_PADDING) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS1_ENC, @@ -1610,6 +1610,7 @@ int dtls1_process_record(SSL *s, DTLS1_BITMAP *bitmap) int imac_size; size_t mac_size; unsigned char md[EVP_MAX_MD_SIZE]; + size_t max_plain_length = SSL3_RT_MAX_PLAIN_LENGTH; rr = RECORD_LAYER_get_rrec(&s->rlayer); sess = s->session; @@ -1669,7 +1670,7 @@ int dtls1_process_record(SSL *s, DTLS1_BITMAP *bitmap) enc_err = s->method->ssl3_enc->enc(s, rr, 1, 0); /*- * enc_err is: - * 0: (in non-constant time) if the record is publically invalid. + * 0: (in non-constant time) if the record is publicly invalid. * 1: if the padding is valid * -1: if the padding is invalid */ @@ -1782,7 +1783,12 @@ int dtls1_process_record(SSL *s, DTLS1_BITMAP *bitmap) } } - if (rr->length > SSL3_RT_MAX_PLAIN_LENGTH) { + /* use current Max Fragment Length setting if applicable */ + if (s->session != NULL && USE_MAX_FRAGMENT_LENGTH_EXT(s->session)) + max_plain_length = GET_MAX_FRAGMENT_LENGTH(s->session); + + /* send overflow if the plaintext is too long now it has passed MAC */ + if (rr->length > max_plain_length) { SSLfatal(s, SSL_AD_RECORD_OVERFLOW, SSL_F_DTLS1_PROCESS_RECORD, SSL_R_DATA_LENGTH_TOO_LONG); return 0; @@ -1926,7 +1932,7 @@ int dtls1_get_record(SSL *s) /* If received packet overflows own-client Max Fragment Length setting */ if (s->session != NULL && USE_MAX_FRAGMENT_LENGTH_EXT(s->session) - && rr->length > GET_MAX_FRAGMENT_LENGTH(s->session)) { + && rr->length > GET_MAX_FRAGMENT_LENGTH(s->session) + SSL3_RT_MAX_ENCRYPTED_OVERHEAD) { /* record too long, silently discard it */ rr->length = 0; rr->read = 1; diff --git a/deps/openssl/openssl/ssl/record/ssl3_record_tls13.c b/deps/openssl/openssl/ssl/record/ssl3_record_tls13.c index a11ed483e6682b..ab50e3762499e5 100644 --- a/deps/openssl/openssl/ssl/record/ssl3_record_tls13.c +++ b/deps/openssl/openssl/ssl/record/ssl3_record_tls13.c @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#include "../ssl_locl.h" -#include "record_locl.h" +#include "../ssl_local.h" +#include "record_local.h" #include "internal/cryptlib.h" /*- @@ -16,7 +16,7 @@ * internal errors, but not otherwise. * * Returns: - * 0: (in non-constant time) if the record is publically invalid (i.e. too + * 0: (in non-constant time) if the record is publicly invalid (i.e. too * short etc). * 1: if the record encryption was successful. * -1: if the record's AEAD-authenticator is invalid or, if sending, diff --git a/deps/openssl/openssl/ssl/s3_cbc.c b/deps/openssl/openssl/ssl/s3_cbc.c index 8377d7fe13dcb2..aa7d63f84a9f3f 100644 --- a/deps/openssl/openssl/ssl/s3_cbc.c +++ b/deps/openssl/openssl/ssl/s3_cbc.c @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#include "internal/constant_time_locl.h" -#include "ssl_locl.h" +#include "internal/constant_time.h" +#include "ssl_local.h" #include "internal/cryptlib.h" #include diff --git a/deps/openssl/openssl/ssl/s3_enc.c b/deps/openssl/openssl/ssl/s3_enc.c index 2e185e9fba9af7..8a89f512fe6085 100644 --- a/deps/openssl/openssl/ssl/s3_enc.c +++ b/deps/openssl/openssl/ssl/s3_enc.c @@ -9,7 +9,7 @@ */ #include -#include "ssl_locl.h" +#include "ssl_local.h" #include #include #include "internal/cryptlib.h" diff --git a/deps/openssl/openssl/ssl/s3_lib.c b/deps/openssl/openssl/ssl/s3_lib.c index 066bf47221e254..a987604bcd0e67 100644 --- a/deps/openssl/openssl/ssl/s3_lib.c +++ b/deps/openssl/openssl/ssl/s3_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -12,7 +12,7 @@ #include #include #include "internal/nelem.h" -#include "ssl_locl.h" +#include "ssl_local.h" #include #include #include @@ -4639,7 +4639,7 @@ int ssl_generate_master_secret(SSL *s, unsigned char *pms, size_t pmslen, OPENSSL_clear_free(s->s3->tmp.psk, psklen); s->s3->tmp.psk = NULL; if (!s->method->ssl3_enc->generate_master_secret(s, - s->session->master_key,pskpms, pskpmslen, + s->session->master_key, pskpms, pskpmslen, &s->session->master_key_length)) { OPENSSL_clear_free(pskpms, pskpmslen); /* SSLfatal() already called */ diff --git a/deps/openssl/openssl/ssl/s3_msg.c b/deps/openssl/openssl/ssl/s3_msg.c index 42382547fb2abb..339fb2774a6339 100644 --- a/deps/openssl/openssl/ssl/s3_msg.c +++ b/deps/openssl/openssl/ssl/s3_msg.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "ssl_locl.h" +#include "ssl_local.h" int ssl3_do_change_cipher_spec(SSL *s) { diff --git a/deps/openssl/openssl/ssl/ssl_asn1.c b/deps/openssl/openssl/ssl/ssl_asn1.c index b56c5e96c53019..799fee771ba517 100644 --- a/deps/openssl/openssl/ssl/ssl_asn1.c +++ b/deps/openssl/openssl/ssl/ssl_asn1.c @@ -10,7 +10,7 @@ #include #include -#include "ssl_locl.h" +#include "ssl_local.h" #include #include diff --git a/deps/openssl/openssl/ssl/ssl_cert.c b/deps/openssl/openssl/ssl/ssl_cert.c index 9df9fb96778d57..5d3e83f328974c 100644 --- a/deps/openssl/openssl/ssl/ssl_cert.c +++ b/deps/openssl/openssl/ssl/ssl_cert.c @@ -20,7 +20,7 @@ #include #include #include "internal/refcount.h" -#include "ssl_locl.h" +#include "ssl_local.h" #include "ssl_cert_table.h" #include "internal/thread_once.h" @@ -601,14 +601,6 @@ static unsigned long xname_hash(const X509_NAME *a) return X509_NAME_hash((X509_NAME *)a); } -/** - * Load CA certs from a file into a ::STACK. Note that it is somewhat misnamed; - * it doesn't really have anything to do with clients (except that a common use - * for a stack of CAs is to send it to the client). Actually, it doesn't have - * much to do with CAs, either, since it will load any old cert. - * \param file the file containing one or more certs. - * \return a ::STACK containing the certs. - */ STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file) { BIO *in = BIO_new(BIO_s_file()); @@ -666,15 +658,6 @@ STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file) return ret; } -/** - * Add a file of certs to a stack. - * \param stack the stack to add to. - * \param file the file to add from. All certs in this file that are not - * already in the stack will be added. - * \return 1 for success, 0 for failure. Note that in the case of failure some - * certs may have been added to \c stack. - */ - int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, const char *file) { @@ -725,17 +708,6 @@ int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, return ret; } -/** - * Add a directory of certs to a stack. - * \param stack the stack to append to. - * \param dir the directory to append from. All files in this directory will be - * examined as potential certs. Any that are acceptable to - * SSL_add_dir_cert_subjects_to_stack() that are not already in the stack will be - * included. - * \return 1 for success, 0 for failure. Note that in the case of failure some - * certs may have been added to \c stack. - */ - int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, const char *dir) { diff --git a/deps/openssl/openssl/ssl/ssl_ciph.c b/deps/openssl/openssl/ssl/ssl_ciph.c index 27a1b2ec68b3d0..735a483c64486a 100644 --- a/deps/openssl/openssl/ssl/ssl_ciph.c +++ b/deps/openssl/openssl/ssl/ssl_ciph.c @@ -17,7 +17,7 @@ #include #include #include "internal/nelem.h" -#include "ssl_locl.h" +#include "ssl_local.h" #include "internal/thread_once.h" #include "internal/cryptlib.h" @@ -92,7 +92,7 @@ static CRYPTO_ONCE ssl_load_builtin_comp_once = CRYPTO_ONCE_STATIC_INIT; /* * Constant SSL_MAX_DIGEST equal to size of digests array should be defined - * in the ssl_locl.h + * in the ssl_local.h */ #define SSL_MD_NUM_IDX SSL_MAX_DIGEST diff --git a/deps/openssl/openssl/ssl/ssl_conf.c b/deps/openssl/openssl/ssl/ssl_conf.c index 9c202708d7d9dd..8ef29bb3453535 100644 --- a/deps/openssl/openssl/ssl/ssl_conf.c +++ b/deps/openssl/openssl/ssl/ssl_conf.c @@ -8,7 +8,7 @@ */ #include -#include "ssl_locl.h" +#include "ssl_local.h" #include #include #include diff --git a/deps/openssl/openssl/ssl/ssl_err.c b/deps/openssl/openssl/ssl/ssl_err.c index 4b12ed1485d985..a0c7b79659d4d7 100644 --- a/deps/openssl/openssl/ssl/ssl_err.c +++ b/deps/openssl/openssl/ssl/ssl_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -1205,6 +1205,8 @@ static const ERR_STRING_DATA SSL_str_reasons[] = { "unexpected ccs message"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_END_OF_EARLY_DATA), "unexpected end of early data"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_EOF_WHILE_READING), + "unexpected eof while reading"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_MESSAGE), "unexpected message"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_RECORD), "unexpected record"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNINITIALIZED), "uninitialized"}, diff --git a/deps/openssl/openssl/ssl/ssl_init.c b/deps/openssl/openssl/ssl/ssl_init.c index f0969fa9b1afab..d083d9597091ab 100644 --- a/deps/openssl/openssl/ssl/ssl_init.c +++ b/deps/openssl/openssl/ssl/ssl_init.c @@ -12,7 +12,7 @@ #include "internal/err.h" #include #include -#include "ssl_locl.h" +#include "ssl_local.h" #include "internal/thread_once.h" static int stopped; diff --git a/deps/openssl/openssl/ssl/ssl_lib.c b/deps/openssl/openssl/ssl/ssl_lib.c index ac820cf9fe160c..b9adc45a8e471c 100644 --- a/deps/openssl/openssl/ssl/ssl_lib.c +++ b/deps/openssl/openssl/ssl/ssl_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -10,7 +10,7 @@ */ #include -#include "ssl_locl.h" +#include "ssl_local.h" #include #include #include @@ -2623,31 +2623,85 @@ char *SSL_get_shared_ciphers(const SSL *s, char *buf, int size) return buf; } -/** return a servername extension value if provided in Client Hello, or NULL. - * So far, only host_name types are defined (RFC 3546). +/** + * Return the requested servername (SNI) value. Note that the behaviour varies + * depending on: + * - whether this is called by the client or the server, + * - if we are before or during/after the handshake, + * - if a resumption or normal handshake is being attempted/has occurred + * - whether we have negotiated TLSv1.2 (or below) or TLSv1.3 + * + * Note that only the host_name type is defined (RFC 3546). */ - const char *SSL_get_servername(const SSL *s, const int type) { + /* + * If we don't know if we are the client or the server yet then we assume + * client. + */ + int server = s->handshake_func == NULL ? 0 : s->server; if (type != TLSEXT_NAMETYPE_host_name) return NULL; - /* - * SNI is not negotiated in pre-TLS-1.3 resumption flows, so fake up an - * SNI value to return if we are resuming/resumed. N.B. that we still - * call the relevant callbacks for such resumption flows, and callbacks - * might error out if there is not a SNI value available. - */ - if (s->hit) - return s->session->ext.hostname; + if (server) { + /** + * Server side + * In TLSv1.3 on the server SNI is not associated with the session + * but in TLSv1.2 or below it is. + * + * Before the handshake: + * - return NULL + * + * During/after the handshake (TLSv1.2 or below resumption occurred): + * - If a servername was accepted by the server in the original + * handshake then it will return that servername, or NULL otherwise. + * + * During/after the handshake (TLSv1.2 or below resumption did not occur): + * - The function will return the servername requested by the client in + * this handshake or NULL if none was requested. + */ + if (s->hit && !SSL_IS_TLS13(s)) + return s->session->ext.hostname; + } else { + /** + * Client side + * + * Before the handshake: + * - If a servername has been set via a call to + * SSL_set_tlsext_host_name() then it will return that servername + * - If one has not been set, but a TLSv1.2 resumption is being + * attempted and the session from the original handshake had a + * servername accepted by the server then it will return that + * servername + * - Otherwise it returns NULL + * + * During/after the handshake (TLSv1.2 or below resumption occurred): + * - If the session from the orignal handshake had a servername accepted + * by the server then it will return that servername. + * - Otherwise it returns the servername set via + * SSL_set_tlsext_host_name() (or NULL if it was not called). + * + * During/after the handshake (TLSv1.2 or below resumption did not occur): + * - It will return the servername set via SSL_set_tlsext_host_name() + * (or NULL if it was not called). + */ + if (SSL_in_before(s)) { + if (s->ext.hostname == NULL + && s->session != NULL + && s->session->ssl_version != TLS1_3_VERSION) + return s->session->ext.hostname; + } else { + if (!SSL_IS_TLS13(s) && s->hit && s->session->ext.hostname != NULL) + return s->session->ext.hostname; + } + } + return s->ext.hostname; } int SSL_get_servername_type(const SSL *s) { - if (s->session - && (!s->ext.hostname ? s->session-> - ext.hostname : s->ext.hostname)) + if (SSL_get_servername(s, TLSEXT_NAMETYPE_host_name) != NULL) return TLSEXT_NAMETYPE_host_name; return -1; } diff --git a/deps/openssl/openssl/ssl/ssl_locl.h b/deps/openssl/openssl/ssl/ssl_local.h similarity index 99% rename from deps/openssl/openssl/ssl/ssl_locl.h rename to deps/openssl/openssl/ssl/ssl_local.h index 25875c9f6d464f..8ddbde77296514 100644 --- a/deps/openssl/openssl/ssl/ssl_locl.h +++ b/deps/openssl/openssl/ssl/ssl_local.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -9,8 +9,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_SSL_LOCL_H -# define HEADER_SSL_LOCL_H +#ifndef OSSL_SSL_LOCAL_H +# define OSSL_SSL_LOCAL_H # include "e_os.h" /* struct timeval for DTLS */ # include @@ -30,7 +30,7 @@ # include # include "record/record.h" # include "statem/statem.h" -# include "packet_locl.h" +# include "packet_local.h" # include "internal/dane.h" # include "internal/refcount.h" # include "internal/tsan_assist.h" @@ -2581,7 +2581,7 @@ __owur int tls_check_sigalg_curve(const SSL *s, int curve); # endif __owur int tls12_check_peer_sigalg(SSL *s, uint16_t, EVP_PKEY *pkey); __owur int ssl_set_client_disabled(SSL *s); -__owur int ssl_cipher_disabled(SSL *s, const SSL_CIPHER *c, int op, int echde); +__owur int ssl_cipher_disabled(const SSL *s, const SSL_CIPHER *c, int op, int echde); __owur int ssl_handshake_hash(SSL *s, unsigned char *out, size_t outlen, size_t *hashlen); diff --git a/deps/openssl/openssl/ssl/ssl_mcnf.c b/deps/openssl/openssl/ssl/ssl_mcnf.c index a0e26577144917..583df416690863 100644 --- a/deps/openssl/openssl/ssl/ssl_mcnf.c +++ b/deps/openssl/openssl/ssl/ssl_mcnf.c @@ -10,7 +10,7 @@ #include #include #include -#include "ssl_locl.h" +#include "ssl_local.h" #include "internal/sslconf.h" /* SSL library configuration module. */ diff --git a/deps/openssl/openssl/ssl/ssl_rsa.c b/deps/openssl/openssl/ssl/ssl_rsa.c index 172e15f9208741..b9693527b3d2c7 100644 --- a/deps/openssl/openssl/ssl/ssl_rsa.c +++ b/deps/openssl/openssl/ssl/ssl_rsa.c @@ -8,8 +8,8 @@ */ #include -#include "ssl_locl.h" -#include "packet_locl.h" +#include "ssl_local.h" +#include "packet_local.h" #include #include #include diff --git a/deps/openssl/openssl/ssl/ssl_sess.c b/deps/openssl/openssl/ssl/ssl_sess.c index 52cfa7ef6d7f00..40c157bb42f839 100644 --- a/deps/openssl/openssl/ssl/ssl_sess.c +++ b/deps/openssl/openssl/ssl/ssl_sess.c @@ -13,8 +13,8 @@ #include #include "internal/refcount.h" #include "internal/cryptlib.h" -#include "ssl_locl.h" -#include "statem/statem_locl.h" +#include "ssl_local.h" +#include "statem/statem_local.h" static void SSL_SESSION_list_remove(SSL_CTX *ctx, SSL_SESSION *s); static void SSL_SESSION_list_add(SSL_CTX *ctx, SSL_SESSION *s); diff --git a/deps/openssl/openssl/ssl/ssl_stat.c b/deps/openssl/openssl/ssl/ssl_stat.c index 179513b1a3d0cd..ca51c0331c2282 100644 --- a/deps/openssl/openssl/ssl/ssl_stat.c +++ b/deps/openssl/openssl/ssl/ssl_stat.c @@ -9,7 +9,7 @@ */ #include -#include "ssl_locl.h" +#include "ssl_local.h" const char *SSL_state_string_long(const SSL *s) { diff --git a/deps/openssl/openssl/ssl/ssl_txt.c b/deps/openssl/openssl/ssl/ssl_txt.c index cf6e4c3c05799f..457bc8b3c20a98 100644 --- a/deps/openssl/openssl/ssl/ssl_txt.c +++ b/deps/openssl/openssl/ssl/ssl_txt.c @@ -10,7 +10,7 @@ #include #include -#include "ssl_locl.h" +#include "ssl_local.h" #ifndef OPENSSL_NO_STDIO int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *x) diff --git a/deps/openssl/openssl/ssl/ssl_utst.c b/deps/openssl/openssl/ssl/ssl_utst.c index cea1bc2707a835..487f56e539351c 100644 --- a/deps/openssl/openssl/ssl/ssl_utst.c +++ b/deps/openssl/openssl/ssl/ssl_utst.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "ssl_locl.h" +#include "ssl_local.h" #ifndef OPENSSL_NO_UNIT_TEST diff --git a/deps/openssl/openssl/ssl/statem/README b/deps/openssl/openssl/ssl/statem/README index 145c69db8d54c5..86cc0663729110 100644 --- a/deps/openssl/openssl/ssl/statem/README +++ b/deps/openssl/openssl/ssl/statem/README @@ -40,7 +40,7 @@ Conceptually the state machine component is designed as follows: | | | Core state machine code | |____________________________| - statem_locl.h ^ ^ + statem_local.h ^ ^ _________| |_______ | | _____________|____________ _____________|____________ diff --git a/deps/openssl/openssl/ssl/statem/extensions.c b/deps/openssl/openssl/ssl/statem/extensions.c index 24410991b29996..4ef8b417b8207f 100644 --- a/deps/openssl/openssl/ssl/statem/extensions.c +++ b/deps/openssl/openssl/ssl/statem/extensions.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -10,8 +10,8 @@ #include #include "internal/nelem.h" #include "internal/cryptlib.h" -#include "../ssl_locl.h" -#include "statem_locl.h" +#include "../ssl_local.h" +#include "statem_local.h" #include "internal/cryptlib.h" static int final_renegotiate(SSL *s, unsigned int context, int sent); @@ -94,7 +94,7 @@ typedef struct extensions_definition_st { /* * Definitions of all built-in extensions. NOTE: Changes in the number or order * of these extensions should be mirrored with equivalent changes to the - * indexes ( TLSEXT_IDX_* ) defined in ssl_locl.h. + * indexes ( TLSEXT_IDX_* ) defined in ssl_local.h. * Each extension has an initialiser, a client and * server side parser and a finaliser. The initialiser is called (if the * extension is relevant to the given context) even if we did not see the @@ -949,8 +949,7 @@ static int final_server_name(SSL *s, unsigned int context, int sent) * was successful. */ if (s->server) { - /* TODO(OpenSSL1.2) revisit !sent case */ - if (sent && ret == SSL_TLSEXT_ERR_OK && (!s->hit || SSL_IS_TLS13(s))) { + if (sent && ret == SSL_TLSEXT_ERR_OK && !s->hit) { /* Only store the hostname in the session if we accepted it. */ OPENSSL_free(s->session->ext.hostname); s->session->ext.hostname = OPENSSL_strdup(s->ext.hostname); @@ -1011,6 +1010,7 @@ static int final_server_name(SSL *s, unsigned int context, int sent) /* TLSv1.3 doesn't have warning alerts so we suppress this */ if (!SSL_IS_TLS13(s)) ssl3_send_alert(s, SSL3_AL_WARNING, altmp); + s->servername_done = 0; return 1; case SSL_TLSEXT_ERR_NOACK: @@ -1449,7 +1449,7 @@ int tls_psk_do_binder(SSL *s, const EVP_MD *md, const unsigned char *msgstart, unsigned char finishedkey[EVP_MAX_MD_SIZE], tmpbinder[EVP_MAX_MD_SIZE]; unsigned char *early_secret; #ifdef CHARSET_EBCDIC - static const unsigned char resumption_label[] = { 0x72, 0x65, 0x64, 0x20, 0x62, 0x69, 0x6E, 0x64, 0x65, 0x72, 0x00 }; + static const unsigned char resumption_label[] = { 0x72, 0x65, 0x73, 0x20, 0x62, 0x69, 0x6E, 0x64, 0x65, 0x72, 0x00 }; static const unsigned char external_label[] = { 0x65, 0x78, 0x74, 0x20, 0x62, 0x69, 0x6E, 0x64, 0x65, 0x72, 0x00 }; #else static const unsigned char resumption_label[] = "res binder"; diff --git a/deps/openssl/openssl/ssl/statem/extensions_clnt.c b/deps/openssl/openssl/ssl/statem/extensions_clnt.c index f0ae642fa09857..bcce0f1d9534b0 100644 --- a/deps/openssl/openssl/ssl/statem/extensions_clnt.c +++ b/deps/openssl/openssl/ssl/statem/extensions_clnt.c @@ -8,9 +8,9 @@ */ #include -#include "../ssl_locl.h" +#include "../ssl_local.h" #include "internal/cryptlib.h" -#include "statem_locl.h" +#include "statem_local.h" EXT_RETURN tls_construct_ctos_renegotiate(SSL *s, WPACKET *pkt, unsigned int context, X509 *x, diff --git a/deps/openssl/openssl/ssl/statem/extensions_cust.c b/deps/openssl/openssl/ssl/statem/extensions_cust.c index a4cdc81d68b922..a0ba18efa70474 100644 --- a/deps/openssl/openssl/ssl/statem/extensions_cust.c +++ b/deps/openssl/openssl/ssl/statem/extensions_cust.c @@ -10,9 +10,9 @@ /* Custom extension utility functions */ #include -#include "../ssl_locl.h" +#include "../ssl_local.h" #include "internal/cryptlib.h" -#include "statem_locl.h" +#include "statem_local.h" typedef struct { void *add_arg; diff --git a/deps/openssl/openssl/ssl/statem/extensions_srvr.c b/deps/openssl/openssl/ssl/statem/extensions_srvr.c index ab5453f63eccdb..3b07c6b940f4be 100644 --- a/deps/openssl/openssl/ssl/statem/extensions_srvr.c +++ b/deps/openssl/openssl/ssl/statem/extensions_srvr.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -8,8 +8,8 @@ */ #include -#include "../ssl_locl.h" -#include "statem_locl.h" +#include "../ssl_local.h" +#include "statem_local.h" #include "internal/cryptlib.h" #define COOKIE_STATE_FORMAT_VERSION 0 @@ -127,6 +127,10 @@ int tls_parse_ctos_server_name(SSL *s, PACKET *pkt, unsigned int context, return 0; } + /* + * In TLSv1.2 and below the SNI is associated with the session. In TLSv1.3 + * we always use the SNI value from the handshake. + */ if (!s->hit || SSL_IS_TLS13(s)) { if (PACKET_remaining(&hostname) > TLSEXT_MAXLEN_host_name) { SSLfatal(s, SSL_AD_UNRECOGNIZED_NAME, @@ -155,8 +159,12 @@ int tls_parse_ctos_server_name(SSL *s, PACKET *pkt, unsigned int context, } s->servername_done = 1; - } - if (s->hit) { + } else { + /* + * In TLSv1.2 and below we should check if the SNI is consistent between + * the initial handshake and the resumption. In TLSv1.3 SNI is not + * associated with the session. + */ /* * TODO(openssl-team): if the SNI doesn't match, we MUST * fall back to a full handshake. @@ -164,9 +172,6 @@ int tls_parse_ctos_server_name(SSL *s, PACKET *pkt, unsigned int context, s->servername_done = (s->session->ext.hostname != NULL) && PACKET_equal(&hostname, s->session->ext.hostname, strlen(s->session->ext.hostname)); - - if (!s->servername_done && s->session->ext.hostname != NULL) - s->ext.early_data_ok = 0; } return 1; @@ -1330,8 +1335,14 @@ EXT_RETURN tls_construct_stoc_server_name(SSL *s, WPACKET *pkt, unsigned int context, X509 *x, size_t chainidx) { - if (s->hit || s->servername_done != 1 - || s->ext.hostname == NULL) + if (s->servername_done != 1) + return EXT_RETURN_NOT_SENT; + + /* + * Prior to TLSv1.3 we ignore any SNI in the current handshake if resuming. + * We just use the servername from the initial handshake. + */ + if (s->hit && !SSL_IS_TLS13(s)) return EXT_RETURN_NOT_SENT; if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_server_name) diff --git a/deps/openssl/openssl/ssl/statem/statem.c b/deps/openssl/openssl/ssl/statem/statem.c index e3c5ec003874bb..20f5bd584e6c59 100644 --- a/deps/openssl/openssl/ssl/statem/statem.c +++ b/deps/openssl/openssl/ssl/statem/statem.c @@ -9,8 +9,8 @@ #include "internal/cryptlib.h" #include -#include "../ssl_locl.h" -#include "statem_locl.h" +#include "../ssl_local.h" +#include "statem_local.h" #include /* diff --git a/deps/openssl/openssl/ssl/statem/statem_clnt.c b/deps/openssl/openssl/ssl/statem/statem_clnt.c index 6410414fb64a66..64e392cfbfc772 100644 --- a/deps/openssl/openssl/ssl/statem/statem_clnt.c +++ b/deps/openssl/openssl/ssl/statem/statem_clnt.c @@ -12,8 +12,8 @@ #include #include #include -#include "../ssl_locl.h" -#include "statem_locl.h" +#include "../ssl_local.h" +#include "statem_local.h" #include #include #include diff --git a/deps/openssl/openssl/ssl/statem/statem_dtls.c b/deps/openssl/openssl/ssl/statem/statem_dtls.c index b016fa7cff74eb..8e3fb686ee272f 100644 --- a/deps/openssl/openssl/ssl/statem/statem_dtls.c +++ b/deps/openssl/openssl/ssl/statem/statem_dtls.c @@ -10,8 +10,8 @@ #include #include #include -#include "../ssl_locl.h" -#include "statem_locl.h" +#include "../ssl_local.h" +#include "statem_local.h" #include "internal/cryptlib.h" #include #include diff --git a/deps/openssl/openssl/ssl/statem/statem_lib.c b/deps/openssl/openssl/ssl/statem/statem_lib.c index 22e9f0490e2d94..43d6fd5de941bb 100644 --- a/deps/openssl/openssl/ssl/statem/statem_lib.c +++ b/deps/openssl/openssl/ssl/statem/statem_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the OpenSSL license (the "License"). You may not use @@ -11,8 +11,8 @@ #include #include #include -#include "../ssl_locl.h" -#include "statem_locl.h" +#include "../ssl_local.h" +#include "statem_local.h" #include "internal/cryptlib.h" #include #include @@ -169,17 +169,17 @@ static int get_cert_verify_tbs_data(SSL *s, unsigned char *tls13tbs, void **hdata, size_t *hdatalen) { #ifdef CHARSET_EBCDIC - static const char *servercontext = { 0x54, 0x4c, 0x53, 0x20, 0x31, 0x2e, + static const char servercontext[] = { 0x54, 0x4c, 0x53, 0x20, 0x31, 0x2e, 0x33, 0x2c, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x00 }; - static const char *clientcontext = { 0x54, 0x4c, 0x53, 0x20, 0x31, 0x2e, + static const char clientcontext[] = { 0x54, 0x4c, 0x53, 0x20, 0x31, 0x2e, 0x33, 0x2c, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x00 }; #else - static const char *servercontext = "TLS 1.3, server CertificateVerify"; - static const char *clientcontext = "TLS 1.3, client CertificateVerify"; + static const char servercontext[] = "TLS 1.3, server CertificateVerify"; + static const char clientcontext[] = "TLS 1.3, client CertificateVerify"; #endif if (SSL_IS_TLS13(s)) { size_t hashlen; @@ -844,9 +844,11 @@ MSG_PROCESS_RETURN tls_process_finished(SSL *s, PACKET *pkt) return MSG_PROCESS_ERROR; } } else { + /* TLS 1.3 gets the secret size from the handshake md */ + size_t dummy; if (!s->method->ssl3_enc->generate_master_secret(s, s->master_secret, s->handshake_secret, 0, - &s->session->master_key_length)) { + &dummy)) { /* SSLfatal() already called */ return MSG_PROCESS_ERROR; } @@ -1033,14 +1035,25 @@ WORK_STATE tls_finish_handshake(SSL *s, WORK_STATE wst, int clearbufs, int stop) int cleanuphand = s->statem.cleanuphand; if (clearbufs) { - if (!SSL_IS_DTLS(s)) { + if (!SSL_IS_DTLS(s) +#ifndef OPENSSL_NO_SCTP /* - * We don't do this in DTLS because we may still need the init_buf + * RFC6083: SCTP provides a reliable and in-sequence transport service for DTLS + * messages that require it. Therefore, DTLS procedures for retransmissions + * MUST NOT be used. + * Hence the init_buf can be cleared when DTLS over SCTP as transport is used. + */ + || BIO_dgram_is_sctp(SSL_get_wbio(s)) +#endif + ) { + /* + * We don't do this in DTLS over UDP because we may still need the init_buf * in case there are any unexpected retransmits */ BUF_MEM_free(s->init_buf); s->init_buf = NULL; } + if (!ssl_free_wbio_buffer(s)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_FINISH_HANDSHAKE, ERR_R_INTERNAL_ERROR); diff --git a/deps/openssl/openssl/ssl/statem/statem_locl.h b/deps/openssl/openssl/ssl/statem/statem_local.h similarity index 100% rename from deps/openssl/openssl/ssl/statem/statem_locl.h rename to deps/openssl/openssl/ssl/statem/statem_local.h diff --git a/deps/openssl/openssl/ssl/statem/statem_srvr.c b/deps/openssl/openssl/ssl/statem/statem_srvr.c index 8cf9c40d15c007..14cb27e6db0106 100644 --- a/deps/openssl/openssl/ssl/statem/statem_srvr.c +++ b/deps/openssl/openssl/ssl/statem/statem_srvr.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -10,9 +10,9 @@ */ #include -#include "../ssl_locl.h" -#include "statem_locl.h" -#include "internal/constant_time_locl.h" +#include "../ssl_local.h" +#include "statem_local.h" +#include "internal/constant_time.h" #include "internal/cryptlib.h" #include #include @@ -23,9 +23,24 @@ #include #include #include +#include #define TICKET_NONCE_SIZE 8 +typedef struct { + ASN1_TYPE *kxBlob; + ASN1_TYPE *opaqueBlob; +} GOST_KX_MESSAGE; + +DECLARE_ASN1_FUNCTIONS(GOST_KX_MESSAGE) + +ASN1_SEQUENCE(GOST_KX_MESSAGE) = { + ASN1_SIMPLE(GOST_KX_MESSAGE, kxBlob, ASN1_ANY), + ASN1_OPT(GOST_KX_MESSAGE, opaqueBlob, ASN1_ANY), +} ASN1_SEQUENCE_END(GOST_KX_MESSAGE) + +IMPLEMENT_ASN1_FUNCTIONS(GOST_KX_MESSAGE) + static int tls_construct_encrypted_extensions(SSL *s, WPACKET *pkt); /* @@ -728,7 +743,15 @@ WORK_STATE ossl_statem_server_pre_work(SSL *s, WORK_STATE wst) case TLS_ST_SW_CHANGE: if (SSL_IS_TLS13(s)) break; - s->session->cipher = s->s3->tmp.new_cipher; + /* Writes to s->session are only safe for initial handshakes */ + if (s->session->cipher == NULL) { + s->session->cipher = s->s3->tmp.new_cipher; + } else if (s->session->cipher != s->s3->tmp.new_cipher) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, + SSL_F_OSSL_STATEM_SERVER_PRE_WORK, + ERR_R_INTERNAL_ERROR); + return WORK_ERROR; + } if (!s->method->ssl3_enc->setup_key_block(s)) { /* SSLfatal() already called */ return WORK_ERROR; @@ -932,9 +955,11 @@ WORK_STATE ossl_statem_server_post_work(SSL *s, WORK_STATE wst) } #endif if (SSL_IS_TLS13(s)) { + /* TLS 1.3 gets the secret size from the handshake md */ + size_t dummy; if (!s->method->ssl3_enc->generate_master_secret(s, s->master_secret, s->handshake_secret, 0, - &s->session->master_key_length) + &dummy) || !s->method->ssl3_enc->change_cipher_state(s, SSL3_CC_APPLICATION | SSL3_CHANGE_CIPHER_SERVER_WRITE)) /* SSLfatal() already called */ @@ -3320,9 +3345,9 @@ static int tls_process_cke_gost(SSL *s, PACKET *pkt) const unsigned char *start; size_t outlen = 32, inlen; unsigned long alg_a; - unsigned int asn1id, asn1len; + GOST_KX_MESSAGE *pKX = NULL; + const unsigned char *ptr; int ret = 0; - PACKET encdata; /* Get our certificate private key */ alg_a = s->s3->tmp.new_cipher->algorithm_auth; @@ -3363,42 +3388,33 @@ static int tls_process_cke_gost(SSL *s, PACKET *pkt) if (EVP_PKEY_derive_set_peer(pkey_ctx, client_pub_pkey) <= 0) ERR_clear_error(); } - /* Decrypt session key */ - if (!PACKET_get_1(pkt, &asn1id) - || asn1id != (V_ASN1_SEQUENCE | V_ASN1_CONSTRUCTED) - || !PACKET_peek_1(pkt, &asn1len)) { - SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_F_TLS_PROCESS_CKE_GOST, - SSL_R_DECRYPTION_FAILED); - goto err; + + ptr = PACKET_data(pkt); + /* Some implementations provide extra data in the opaqueBlob + * We have nothing to do with this blob so we just skip it */ + pKX = d2i_GOST_KX_MESSAGE(NULL, &ptr, PACKET_remaining(pkt)); + if (pKX == NULL + || pKX->kxBlob == NULL + || ASN1_TYPE_get(pKX->kxBlob) != V_ASN1_SEQUENCE) { + SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_F_TLS_PROCESS_CKE_GOST, + SSL_R_DECRYPTION_FAILED); + goto err; } - if (asn1len == 0x81) { - /* - * Long form length. Should only be one byte of length. Anything else - * isn't supported. - * We did a successful peek before so this shouldn't fail - */ - if (!PACKET_forward(pkt, 1)) { - SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PROCESS_CKE_GOST, - SSL_R_DECRYPTION_FAILED); - goto err; - } - } else if (asn1len >= 0x80) { - /* - * Indefinite length, or more than one long form length bytes. We don't - * support it - */ - SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_F_TLS_PROCESS_CKE_GOST, + + if (!PACKET_forward(pkt, ptr - PACKET_data(pkt))) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PROCESS_CKE_GOST, SSL_R_DECRYPTION_FAILED); goto err; - } /* else short form length */ + } - if (!PACKET_as_length_prefixed_1(pkt, &encdata)) { - SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_F_TLS_PROCESS_CKE_GOST, + if (PACKET_remaining(pkt) != 0) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PROCESS_CKE_GOST, SSL_R_DECRYPTION_FAILED); goto err; } - inlen = PACKET_remaining(&encdata); - start = PACKET_data(&encdata); + + inlen = pKX->kxBlob->value.sequence->length; + start = pKX->kxBlob->value.sequence->data; if (EVP_PKEY_decrypt(pkey_ctx, premaster_secret, &outlen, start, inlen) <= 0) { @@ -3420,6 +3436,7 @@ static int tls_process_cke_gost(SSL *s, PACKET *pkt) ret = 1; err: EVP_PKEY_CTX_free(pkey_ctx); + GOST_KX_MESSAGE_free(pKX); return ret; #else /* Should never happen */ diff --git a/deps/openssl/openssl/ssl/t1_enc.c b/deps/openssl/openssl/ssl/t1_enc.c index 57fb17a66031b7..c85c0b0310e15f 100644 --- a/deps/openssl/openssl/ssl/t1_enc.c +++ b/deps/openssl/openssl/ssl/t1_enc.c @@ -9,7 +9,7 @@ */ #include -#include "ssl_locl.h" +#include "ssl_local.h" #include #include #include @@ -466,7 +466,7 @@ int tls1_generate_master_secret(SSL *s, unsigned char *out, unsigned char *p, unsigned char hash[EVP_MAX_MD_SIZE * 2]; size_t hashlen; /* - * Digest cached records keeping record buffer (if present): this wont + * Digest cached records keeping record buffer (if present): this won't * affect client auth because we're freezing the buffer at the same * point (after client key exchange and before certificate verify) */ diff --git a/deps/openssl/openssl/ssl/t1_lib.c b/deps/openssl/openssl/ssl/t1_lib.c index b482019c4c17f9..a254fd5a055913 100644 --- a/deps/openssl/openssl/ssl/t1_lib.c +++ b/deps/openssl/openssl/ssl/t1_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -18,10 +18,11 @@ #include #include #include "internal/nelem.h" -#include "ssl_locl.h" +#include "ssl_local.h" #include static const SIGALG_LOOKUP *find_sig_alg(SSL *s, X509 *x, EVP_PKEY *pkey); +static int tls12_sigalg_allowed(const SSL *s, int op, const SIGALG_LOOKUP *lu); SSL3_ENC_METHOD const TLSv1_enc_data = { tls1_enc, @@ -849,8 +850,11 @@ static int rsa_pss_check_min_key_size(const RSA *rsa, const SIGALG_LOOKUP *lu) } /* - * Return a signature algorithm for TLS < 1.2 where the signature type - * is fixed by the certificate type. + * Returns a signature algorithm when the peer did not send a list of supported + * signature algorithms. The signature algorithm is fixed for the certificate + * type. |idx| is a certificate type index (SSL_PKEY_*). When |idx| is -1 the + * certificate type from |s| will be used. + * Returns the signature algorithm to use, or NULL on error. */ static const SIGALG_LOOKUP *tls1_get_legacy_sigalg(const SSL *s, int idx) { @@ -893,8 +897,12 @@ static const SIGALG_LOOKUP *tls1_get_legacy_sigalg(const SSL *s, int idx) if (!tls1_lookup_md(lu, NULL)) return NULL; + if (!tls12_sigalg_allowed(s, SSL_SECOP_SIGALG_SUPPORTED, lu)) + return NULL; return lu; } + if (!tls12_sigalg_allowed(s, SSL_SECOP_SIGALG_SUPPORTED, &legacy_rsa_sigalg)) + return NULL; return &legacy_rsa_sigalg; } /* Set peer sigalg based key type */ @@ -983,6 +991,31 @@ int tls_check_sigalg_curve(const SSL *s, int curve) } #endif +/* + * Return the number of security bits for the signature algorithm, or 0 on + * error. + */ +static int sigalg_security_bits(const SIGALG_LOOKUP *lu) +{ + const EVP_MD *md = NULL; + int secbits = 0; + + if (!tls1_lookup_md(lu, &md)) + return 0; + if (md != NULL) + { + /* Security bits: half digest bits */ + secbits = EVP_MD_size(md) * 4; + } else { + /* Values from https://tools.ietf.org/html/rfc8032#section-8.5 */ + if (lu->sigalg == TLSEXT_SIGALG_ed25519) + secbits = 128; + else if (lu->sigalg == TLSEXT_SIGALG_ed448) + secbits = 224; + } + return secbits; +} + /* * Check signature algorithm is consistent with sent supported signature * algorithms and if so set relevant digest and signature scheme in @@ -996,6 +1029,7 @@ int tls12_check_peer_sigalg(SSL *s, uint16_t sig, EVP_PKEY *pkey) size_t sent_sigslen, i, cidx; int pkeyid = EVP_PKEY_id(pkey); const SIGALG_LOOKUP *lu; + int secbits = 0; /* Should never happen */ if (pkeyid == -1) @@ -1097,20 +1131,20 @@ int tls12_check_peer_sigalg(SSL *s, uint16_t sig, EVP_PKEY *pkey) SSL_R_UNKNOWN_DIGEST); return 0; } - if (md != NULL) { - /* - * Make sure security callback allows algorithm. For historical - * reasons we have to pass the sigalg as a two byte char array. - */ - sigalgstr[0] = (sig >> 8) & 0xff; - sigalgstr[1] = sig & 0xff; - if (!ssl_security(s, SSL_SECOP_SIGALG_CHECK, - EVP_MD_size(md) * 4, EVP_MD_type(md), - (void *)sigalgstr)) { - SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_F_TLS12_CHECK_PEER_SIGALG, - SSL_R_WRONG_SIGNATURE_TYPE); - return 0; - } + /* + * Make sure security callback allows algorithm. For historical + * reasons we have to pass the sigalg as a two byte char array. + */ + sigalgstr[0] = (sig >> 8) & 0xff; + sigalgstr[1] = sig & 0xff; + secbits = sigalg_security_bits(lu); + if (secbits == 0 || + !ssl_security(s, SSL_SECOP_SIGALG_CHECK, secbits, + md != NULL ? EVP_MD_type(md) : NID_undef, + (void *)sigalgstr)) { + SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_F_TLS12_CHECK_PEER_SIGALG, + SSL_R_WRONG_SIGNATURE_TYPE); + return 0; } /* Store the sigalg the peer uses */ s->s3->tmp.peer_sigalg = lu; @@ -1176,7 +1210,7 @@ int ssl_set_client_disabled(SSL *s) * * Returns 1 when it's disabled, 0 when enabled. */ -int ssl_cipher_disabled(SSL *s, const SSL_CIPHER *c, int op, int ecdhe) +int ssl_cipher_disabled(const SSL *s, const SSL_CIPHER *c, int op, int ecdhe) { if (c->algorithm_mkey & s->s3->tmp.mask_k || c->algorithm_auth & s->s3->tmp.mask_a) @@ -1556,7 +1590,7 @@ SSL_TICKET_STATUS tls_decrypt_ticket(SSL *s, const unsigned char *etick, } /* Check to see if a signature algorithm is allowed */ -static int tls12_sigalg_allowed(SSL *s, int op, const SIGALG_LOOKUP *lu) +static int tls12_sigalg_allowed(const SSL *s, int op, const SIGALG_LOOKUP *lu) { unsigned char sigalgstr[2]; int secbits; @@ -1617,11 +1651,8 @@ static int tls12_sigalg_allowed(SSL *s, int op, const SIGALG_LOOKUP *lu) } } - if (lu->hash == NID_undef) - return 1; - /* Security bits: half digest bits */ - secbits = EVP_MD_size(ssl_md(lu->hash_idx)) * 4; /* Finally see if security callback allows it */ + secbits = sigalg_security_bits(lu); sigalgstr[0] = (lu->sigalg >> 8) & 0xff; sigalgstr[1] = lu->sigalg & 0xff; return ssl_security(s, op, secbits, lu->hash, (void *)sigalgstr); @@ -2774,6 +2805,26 @@ int tls_choose_sigalg(SSL *s, int fatalerrs) #endif break; } +#ifndef OPENSSL_NO_GOST + /* + * Some Windows-based implementations do not send GOST algorithms indication + * in supported_algorithms extension, so when we have GOST-based ciphersuite, + * we have to assume GOST support. + */ + if (i == s->shared_sigalgslen && s->s3->tmp.new_cipher->algorithm_auth & (SSL_aGOST01 | SSL_aGOST12)) { + if ((lu = tls1_get_legacy_sigalg(s, -1)) == NULL) { + if (!fatalerrs) + return 1; + SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, + SSL_F_TLS_CHOOSE_SIGALG, + SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM); + return 0; + } else { + i = 0; + sig_idx = lu->sig_idx; + } + } +#endif if (i == s->shared_sigalgslen) { if (!fatalerrs) return 1; diff --git a/deps/openssl/openssl/ssl/t1_trce.c b/deps/openssl/openssl/ssl/t1_trce.c index be3039af38223d..5c84339314cdf9 100644 --- a/deps/openssl/openssl/ssl/t1_trce.c +++ b/deps/openssl/openssl/ssl/t1_trce.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "ssl_locl.h" +#include "ssl_local.h" #ifndef OPENSSL_NO_SSL_TRACE @@ -1246,8 +1246,9 @@ static int ssl_print_certificates(BIO *bio, const SSL *ssl, int server, while (clen > 0) { if (!ssl_print_certificate(bio, indent + 2, &msg, &clen)) return 0; - if (!ssl_print_extensions(bio, indent + 2, server, SSL3_MT_CERTIFICATE, - &msg, &clen)) + if (SSL_IS_TLS13(ssl) + && !ssl_print_extensions(bio, indent + 2, server, + SSL3_MT_CERTIFICATE, &msg, &clen)) return 0; } diff --git a/deps/openssl/openssl/ssl/tls13_enc.c b/deps/openssl/openssl/ssl/tls13_enc.c index b5f57a02f747f2..86754dc9677ca0 100644 --- a/deps/openssl/openssl/ssl/tls13_enc.c +++ b/deps/openssl/openssl/ssl/tls13_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -8,7 +8,7 @@ */ #include -#include "ssl_locl.h" +#include "ssl_local.h" #include "internal/cryptlib.h" #include #include @@ -44,7 +44,7 @@ int tls13_hkdf_expand(SSL *s, const EVP_MD *md, const unsigned char *secret, * prefix and label + bytes for the label itself + 1 byte length of hash * + bytes for the hash itself */ - unsigned char hkdflabel[sizeof(uint16_t) + sizeof(uint8_t) + + unsigned char hkdflabel[sizeof(uint16_t) + sizeof(uint8_t) + (sizeof(label_prefix) - 1) + TLS13_MAX_LABEL_LEN + 1 + EVP_MAX_MD_SIZE]; WPACKET pkt; diff --git a/deps/openssl/openssl/ssl/tls_srp.c b/deps/openssl/openssl/ssl/tls_srp.c index f94e46b4e872c0..ede7427ff89dbd 100644 --- a/deps/openssl/openssl/ssl/tls_srp.c +++ b/deps/openssl/openssl/ssl/tls_srp.c @@ -14,7 +14,7 @@ #include #include #include -#include "ssl_locl.h" +#include "ssl_local.h" #ifndef OPENSSL_NO_SRP # include diff --git a/deps/openssl/openssl/test/README b/deps/openssl/openssl/test/README index 37722e79f3934b..ebe7784605c544 100644 --- a/deps/openssl/openssl/test/README +++ b/deps/openssl/openssl/test/README @@ -114,7 +114,7 @@ Generic form of C test executables int observed; observed = function(); /* Call the code under test */ - if (!TEST_int_equal(observed, 2)) /* Check the result is correct */ + if (!TEST_int_eq(observed, 2)) /* Check the result is correct */ goto end; /* Exit on failure - optional */ testresult = 1; /* Mark the test case a success */ diff --git a/deps/openssl/openssl/test/asn1_decode_test.c b/deps/openssl/openssl/test/asn1_decode_test.c new file mode 100644 index 00000000000000..369023d5f1110f --- /dev/null +++ b/deps/openssl/openssl/test/asn1_decode_test.c @@ -0,0 +1,173 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include + +#include +#include +#include "internal/numbers.h" +#include "testutil.h" + +#ifdef __GNUC__ +# pragma GCC diagnostic ignored "-Wunused-function" +#endif +#ifdef __clang__ +# pragma clang diagnostic ignored "-Wunused-function" +#endif + +/* Badly coded ASN.1 INTEGER zero wrapped in a sequence */ +static unsigned char t_invalid_zero[] = { + 0x30, 0x02, /* SEQUENCE tag + length */ + 0x02, 0x00 /* INTEGER tag + length */ +}; + +#if OPENSSL_API_COMPAT < 0x10200000L +/* LONG case ************************************************************* */ + +typedef struct { + long test_long; +} ASN1_LONG_DATA; + +ASN1_SEQUENCE(ASN1_LONG_DATA) = { + ASN1_EMBED(ASN1_LONG_DATA, test_long, LONG), +} static_ASN1_SEQUENCE_END(ASN1_LONG_DATA) + +IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_LONG_DATA) +IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_LONG_DATA) + +static int test_long(void) +{ + const unsigned char *p = t_invalid_zero; + ASN1_LONG_DATA *dectst = + d2i_ASN1_LONG_DATA(NULL, &p, sizeof(t_invalid_zero)); + + if (dectst == NULL) + return 0; /* Fail */ + + ASN1_LONG_DATA_free(dectst); + return 1; +} +#endif + +/* INT32 case ************************************************************* */ + +typedef struct { + int32_t test_int32; +} ASN1_INT32_DATA; + +ASN1_SEQUENCE(ASN1_INT32_DATA) = { + ASN1_EMBED(ASN1_INT32_DATA, test_int32, INT32), +} static_ASN1_SEQUENCE_END(ASN1_INT32_DATA) + +IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_INT32_DATA) +IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_INT32_DATA) + +static int test_int32(void) +{ + const unsigned char *p = t_invalid_zero; + ASN1_INT32_DATA *dectst = + d2i_ASN1_INT32_DATA(NULL, &p, sizeof(t_invalid_zero)); + + if (dectst == NULL) + return 0; /* Fail */ + + ASN1_INT32_DATA_free(dectst); + return 1; +} + +/* UINT32 case ************************************************************* */ + +typedef struct { + uint32_t test_uint32; +} ASN1_UINT32_DATA; + +ASN1_SEQUENCE(ASN1_UINT32_DATA) = { + ASN1_EMBED(ASN1_UINT32_DATA, test_uint32, UINT32), +} static_ASN1_SEQUENCE_END(ASN1_UINT32_DATA) + +IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_UINT32_DATA) +IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_UINT32_DATA) + +static int test_uint32(void) +{ + const unsigned char *p = t_invalid_zero; + ASN1_UINT32_DATA *dectst = + d2i_ASN1_UINT32_DATA(NULL, &p, sizeof(t_invalid_zero)); + + if (dectst == NULL) + return 0; /* Fail */ + + ASN1_UINT32_DATA_free(dectst); + return 1; +} + +/* INT64 case ************************************************************* */ + +typedef struct { + int64_t test_int64; +} ASN1_INT64_DATA; + +ASN1_SEQUENCE(ASN1_INT64_DATA) = { + ASN1_EMBED(ASN1_INT64_DATA, test_int64, INT64), +} static_ASN1_SEQUENCE_END(ASN1_INT64_DATA) + +IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_INT64_DATA) +IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_INT64_DATA) + +static int test_int64(void) +{ + const unsigned char *p = t_invalid_zero; + ASN1_INT64_DATA *dectst = + d2i_ASN1_INT64_DATA(NULL, &p, sizeof(t_invalid_zero)); + + if (dectst == NULL) + return 0; /* Fail */ + + ASN1_INT64_DATA_free(dectst); + return 1; +} + +/* UINT64 case ************************************************************* */ + +typedef struct { + uint64_t test_uint64; +} ASN1_UINT64_DATA; + +ASN1_SEQUENCE(ASN1_UINT64_DATA) = { + ASN1_EMBED(ASN1_UINT64_DATA, test_uint64, UINT64), +} static_ASN1_SEQUENCE_END(ASN1_UINT64_DATA) + +IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_UINT64_DATA) +IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_UINT64_DATA) + +static int test_uint64(void) +{ + const unsigned char *p = t_invalid_zero; + ASN1_UINT64_DATA *dectst = + d2i_ASN1_UINT64_DATA(NULL, &p, sizeof(t_invalid_zero)); + + if (dectst == NULL) + return 0; /* Fail */ + + ASN1_UINT64_DATA_free(dectst); + return 1; +} + +int setup_tests(void) +{ +#if OPENSSL_API_COMPAT < 0x10200000L + ADD_TEST(test_long); +#endif + ADD_TEST(test_int32); + ADD_TEST(test_uint32); + ADD_TEST(test_int64); + ADD_TEST(test_uint64); + return 1; +} diff --git a/deps/openssl/openssl/test/asn1_encode_test.c b/deps/openssl/openssl/test/asn1_encode_test.c new file mode 100644 index 00000000000000..ed920a4d660aae --- /dev/null +++ b/deps/openssl/openssl/test/asn1_encode_test.c @@ -0,0 +1,870 @@ +/* + * Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include + +#include +#include +#include "internal/numbers.h" +#include "testutil.h" + +#ifdef __GNUC__ +# pragma GCC diagnostic ignored "-Wunused-function" +# pragma GCC diagnostic ignored "-Wformat" +#endif +#ifdef __clang__ +# pragma clang diagnostic ignored "-Wunused-function" +# pragma clang diagnostic ignored "-Wformat" +#endif + +/***** Custom test data ******************************************************/ + +/* + * We conduct tests with these arrays for every type we try out. + * You will find the expected results together with the test structures + * for each type, further down. + */ + +static unsigned char t_zero[] = { + 0x00 +}; +static unsigned char t_one[] = { + 0x01 +}; +static unsigned char t_one_neg[] = { + 0xff +}; +static unsigned char t_minus_256[] = { + 0xff, 0x00 +}; +static unsigned char t_longundef[] = { + 0x7f, 0xff, 0xff, 0xff +}; +static unsigned char t_9bytes_1[] = { + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +}; +static unsigned char t_8bytes_1[] = { + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +static unsigned char t_8bytes_2[] = { + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +}; +static unsigned char t_8bytes_3_pad[] = { + 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +}; +static unsigned char t_8bytes_4_neg[] = { + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +static unsigned char t_8bytes_5_negpad[] = { + 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +/* 32-bit long */ +static unsigned char t_5bytes_1[] = { + 0x01, 0xff, 0xff, 0xff, 0xff +}; +static unsigned char t_4bytes_1[] = { + 0x00, 0x80, 0x00, 0x00, 0x00 +}; +/* We make the last byte 0xfe to avoid a clash with ASN1_LONG_UNDEF */ +static unsigned char t_4bytes_2[] = { + 0x7f, 0xff, 0xff, 0xfe +}; +static unsigned char t_4bytes_3_pad[] = { + 0x00, 0x7f, 0xff, 0xff, 0xfe +}; +static unsigned char t_4bytes_4_neg[] = { + 0x80, 0x00, 0x00, 0x00 +}; +static unsigned char t_4bytes_5_negpad[] = { + 0xff, 0x80, 0x00, 0x00, 0x00 +}; + +typedef struct { + unsigned char *bytes1; + size_t nbytes1; + unsigned char *bytes2; + size_t nbytes2; +} TEST_CUSTOM_DATA; +#define CUSTOM_DATA(v) \ + { v, sizeof(v), t_one, sizeof(t_one) }, \ + { t_one, sizeof(t_one), v, sizeof(v) } + +static TEST_CUSTOM_DATA test_custom_data[] = { + CUSTOM_DATA(t_zero), + CUSTOM_DATA(t_longundef), + CUSTOM_DATA(t_one), + CUSTOM_DATA(t_one_neg), + CUSTOM_DATA(t_minus_256), + CUSTOM_DATA(t_9bytes_1), + CUSTOM_DATA(t_8bytes_1), + CUSTOM_DATA(t_8bytes_2), + CUSTOM_DATA(t_8bytes_3_pad), + CUSTOM_DATA(t_8bytes_4_neg), + CUSTOM_DATA(t_8bytes_5_negpad), + CUSTOM_DATA(t_5bytes_1), + CUSTOM_DATA(t_4bytes_1), + CUSTOM_DATA(t_4bytes_2), + CUSTOM_DATA(t_4bytes_3_pad), + CUSTOM_DATA(t_4bytes_4_neg), + CUSTOM_DATA(t_4bytes_5_negpad), +}; + + +/***** Type specific test data ***********************************************/ + +/* + * First, a few utility things that all type specific data can use, or in some + * cases, MUST use. + */ + +/* + * For easy creation of arrays of expected data. These macros correspond to + * the uses of CUSTOM_DATA above. + */ +#define CUSTOM_EXPECTED_SUCCESS(num, znum) \ + { 0xff, num, 1 }, \ + { 0xff, 1, znum } +#define CUSTOM_EXPECTED_FAILURE \ + { 0, 0, 0 }, \ + { 0, 0, 0 } + +/* + * A structure to collect all test information in. There MUST be one instance + * of this for each test + */ +typedef int i2d_fn(void *a, unsigned char **pp); +typedef void *d2i_fn(void **a, unsigned char **pp, long length); +typedef void ifree_fn(void *a); +typedef struct { + ASN1_ITEM_EXP *asn1_type; + const char *name; + int skip; /* 1 if this package should be skipped */ + + /* An array of structures to compare decoded custom data with */ + void *encode_expectations; + size_t encode_expectations_size; + size_t encode_expectations_elem_size; + + /* + * An array of structures that are encoded into a DER blob, which is + * then decoded, and result gets compared with the original. + */ + void *encdec_data; + size_t encdec_data_size; + size_t encdec_data_elem_size; + + /* The i2d function to use with this type */ + i2d_fn *i2d; + /* The d2i function to use with this type */ + d2i_fn *d2i; + /* Function to free a decoded structure */ + ifree_fn *ifree; +} TEST_PACKAGE; + +/* To facilitate the creation of an encdec_data array */ +#define ENCDEC_DATA(num, znum) \ + { 0xff, num, 1 }, { 0xff, 1, znum } +#define ENCDEC_ARRAY(max, zmax, min, zmin) \ + ENCDEC_DATA(max,zmax), \ + ENCDEC_DATA(min,zmin), \ + ENCDEC_DATA(1, 1), \ + ENCDEC_DATA(-1, -1), \ + ENCDEC_DATA(0, ASN1_LONG_UNDEF) + +#if OPENSSL_API_COMPAT < 0x10200000L +/***** LONG ******************************************************************/ + +typedef struct { + /* If decoding is expected to succeed, set this to 1, otherwise 0 */ + ASN1_BOOLEAN success; + long test_long; + long test_zlong; +} ASN1_LONG_DATA; + +ASN1_SEQUENCE(ASN1_LONG_DATA) = { + ASN1_SIMPLE(ASN1_LONG_DATA, success, ASN1_FBOOLEAN), + ASN1_SIMPLE(ASN1_LONG_DATA, test_long, LONG), + ASN1_EXP_OPT(ASN1_LONG_DATA, test_zlong, ZLONG, 0) +} static_ASN1_SEQUENCE_END(ASN1_LONG_DATA) + +IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_LONG_DATA) +IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_LONG_DATA) + +static ASN1_LONG_DATA long_expected_32bit[] = { + /* The following should fail on the second because it's the default */ + { 0xff, 0, 1 }, { 0, 0, 0 }, /* t_zero */ + { 0, 0, 0 }, { 0xff, 1, 0x7fffffff }, /* t_longundef */ + CUSTOM_EXPECTED_SUCCESS(1, 1), /* t_one */ + CUSTOM_EXPECTED_SUCCESS(-1, -1), /* t_one_neg */ + CUSTOM_EXPECTED_SUCCESS(-256, -256), /* t_minus_256 */ + CUSTOM_EXPECTED_FAILURE, /* t_9bytes_1 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_1 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_2 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_3_pad */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_4_neg */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_5_negpad */ + CUSTOM_EXPECTED_FAILURE, /* t_5bytes_1 */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_1 (too large positive) */ + CUSTOM_EXPECTED_SUCCESS(INT32_MAX - 1, INT32_MAX -1), /* t_4bytes_2 */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_3_pad (illegal padding) */ + CUSTOM_EXPECTED_SUCCESS(INT32_MIN, INT32_MIN), /* t_4bytes_4_neg */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_5_negpad (illegal padding) */ +}; +static ASN1_LONG_DATA long_encdec_data_32bit[] = { + ENCDEC_ARRAY(LONG_MAX - 1, LONG_MAX, LONG_MIN, LONG_MIN), + /* Check that default numbers fail */ + { 0, ASN1_LONG_UNDEF, 1 }, { 0, 1, 0 } +}; + +static TEST_PACKAGE long_test_package_32bit = { + ASN1_ITEM_ref(ASN1_LONG_DATA), "LONG", sizeof(long) != 4, + long_expected_32bit, + sizeof(long_expected_32bit), sizeof(long_expected_32bit[0]), + long_encdec_data_32bit, + sizeof(long_encdec_data_32bit), sizeof(long_encdec_data_32bit[0]), + (i2d_fn *)i2d_ASN1_LONG_DATA, (d2i_fn *)d2i_ASN1_LONG_DATA, + (ifree_fn *)ASN1_LONG_DATA_free +}; + +static ASN1_LONG_DATA long_expected_64bit[] = { + /* The following should fail on the second because it's the default */ + { 0xff, 0, 1 }, { 0, 0, 0 }, /* t_zero */ + { 0, 0, 0 }, { 0xff, 1, 0x7fffffff }, /* t_longundef */ + CUSTOM_EXPECTED_SUCCESS(1, 1), /* t_one */ + CUSTOM_EXPECTED_SUCCESS(-1, -1), /* t_one_neg */ + CUSTOM_EXPECTED_SUCCESS(-256, -256), /* t_minus_256 */ + CUSTOM_EXPECTED_FAILURE, /* t_9bytes_1 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_1 */ + CUSTOM_EXPECTED_SUCCESS(LONG_MAX, LONG_MAX), /* t_8bytes_2 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_3_pad (illegal padding) */ + CUSTOM_EXPECTED_SUCCESS(LONG_MIN, LONG_MIN), /* t_8bytes_4_neg */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_5_negpad (illegal padding) */ + CUSTOM_EXPECTED_SUCCESS((long)0x1ffffffff, (long)0x1ffffffff), /* t_5bytes_1 */ + CUSTOM_EXPECTED_SUCCESS((long)0x80000000, (long)0x80000000), /* t_4bytes_1 */ + CUSTOM_EXPECTED_SUCCESS(INT32_MAX - 1, INT32_MAX -1), /* t_4bytes_2 */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_3_pad (illegal padding) */ + CUSTOM_EXPECTED_SUCCESS(INT32_MIN, INT32_MIN), /* t_4bytes_4_neg */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_5_negpad (illegal padding) */ +}; +static ASN1_LONG_DATA long_encdec_data_64bit[] = { + ENCDEC_ARRAY(LONG_MAX, LONG_MAX, LONG_MIN, LONG_MIN), + /* Check that default numbers fail */ + { 0, ASN1_LONG_UNDEF, 1 }, { 0, 1, 0 } +}; + +static TEST_PACKAGE long_test_package_64bit = { + ASN1_ITEM_ref(ASN1_LONG_DATA), "LONG", sizeof(long) != 8, + long_expected_64bit, + sizeof(long_expected_64bit), sizeof(long_expected_64bit[0]), + long_encdec_data_64bit, + sizeof(long_encdec_data_64bit), sizeof(long_encdec_data_64bit[0]), + (i2d_fn *)i2d_ASN1_LONG_DATA, (d2i_fn *)d2i_ASN1_LONG_DATA, + (ifree_fn *)ASN1_LONG_DATA_free +}; +#endif + +/***** INT32 *****************************************************************/ + +typedef struct { + ASN1_BOOLEAN success; + int32_t test_int32; + int32_t test_zint32; +} ASN1_INT32_DATA; + +ASN1_SEQUENCE(ASN1_INT32_DATA) = { + ASN1_SIMPLE(ASN1_INT32_DATA, success, ASN1_FBOOLEAN), + ASN1_EMBED(ASN1_INT32_DATA, test_int32, INT32), + ASN1_EXP_OPT_EMBED(ASN1_INT32_DATA, test_zint32, ZINT32, 0) +} static_ASN1_SEQUENCE_END(ASN1_INT32_DATA) + +IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_INT32_DATA) +IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_INT32_DATA) + +static ASN1_INT32_DATA int32_expected[] = { + CUSTOM_EXPECTED_SUCCESS(0, 0), /* t_zero */ + CUSTOM_EXPECTED_SUCCESS(ASN1_LONG_UNDEF, ASN1_LONG_UNDEF), /* t_zero */ + CUSTOM_EXPECTED_SUCCESS(1, 1), /* t_one */ + CUSTOM_EXPECTED_SUCCESS(-1, -1), /* t_one_neg */ + CUSTOM_EXPECTED_SUCCESS(-256, -256), /* t_minus_256 */ + CUSTOM_EXPECTED_FAILURE, /* t_9bytes_1 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_1 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_2 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_3_pad */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_4_neg */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_5_negpad */ + CUSTOM_EXPECTED_FAILURE, /* t_5bytes_1 */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_1 (too large positive) */ + CUSTOM_EXPECTED_SUCCESS(INT32_MAX - 1, INT32_MAX -1), /* t_4bytes_2 */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_3_pad (illegal padding) */ + CUSTOM_EXPECTED_SUCCESS(INT32_MIN, INT32_MIN), /* t_4bytes_4_neg */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_5_negpad (illegal padding) */ +}; +static ASN1_INT32_DATA int32_encdec_data[] = { + ENCDEC_ARRAY(INT32_MAX, INT32_MAX, INT32_MIN, INT32_MIN), +}; + +static TEST_PACKAGE int32_test_package = { + ASN1_ITEM_ref(ASN1_INT32_DATA), "INT32", 0, + int32_expected, sizeof(int32_expected), sizeof(int32_expected[0]), + int32_encdec_data, sizeof(int32_encdec_data), sizeof(int32_encdec_data[0]), + (i2d_fn *)i2d_ASN1_INT32_DATA, (d2i_fn *)d2i_ASN1_INT32_DATA, + (ifree_fn *)ASN1_INT32_DATA_free +}; + +/***** UINT32 ****************************************************************/ + +typedef struct { + ASN1_BOOLEAN success; + uint32_t test_uint32; + uint32_t test_zuint32; +} ASN1_UINT32_DATA; + +ASN1_SEQUENCE(ASN1_UINT32_DATA) = { + ASN1_SIMPLE(ASN1_UINT32_DATA, success, ASN1_FBOOLEAN), + ASN1_EMBED(ASN1_UINT32_DATA, test_uint32, UINT32), + ASN1_EXP_OPT_EMBED(ASN1_UINT32_DATA, test_zuint32, ZUINT32, 0) +} static_ASN1_SEQUENCE_END(ASN1_UINT32_DATA) + +IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_UINT32_DATA) +IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_UINT32_DATA) + +static ASN1_UINT32_DATA uint32_expected[] = { + CUSTOM_EXPECTED_SUCCESS(0, 0), /* t_zero */ + CUSTOM_EXPECTED_SUCCESS(ASN1_LONG_UNDEF, ASN1_LONG_UNDEF), /* t_zero */ + CUSTOM_EXPECTED_SUCCESS(1, 1), /* t_one */ + CUSTOM_EXPECTED_FAILURE, /* t_one_neg (illegal negative value) */ + CUSTOM_EXPECTED_FAILURE, /* t_minus_256 (illegal negative value) */ + CUSTOM_EXPECTED_FAILURE, /* t_9bytes_1 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_1 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_2 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_3_pad */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_4_neg */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_5_negpad */ + CUSTOM_EXPECTED_FAILURE, /* t_5bytes_1 */ + CUSTOM_EXPECTED_SUCCESS(0x80000000, 0x80000000), /* t_4bytes_1 */ + CUSTOM_EXPECTED_SUCCESS(INT32_MAX - 1, INT32_MAX -1), /* t_4bytes_2 */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_3_pad (illegal padding) */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_4_neg (illegal negative value) */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_5_negpad (illegal padding) */ +}; +static ASN1_UINT32_DATA uint32_encdec_data[] = { + ENCDEC_ARRAY(UINT32_MAX, UINT32_MAX, 0, 0), +}; + +static TEST_PACKAGE uint32_test_package = { + ASN1_ITEM_ref(ASN1_UINT32_DATA), "UINT32", 0, + uint32_expected, sizeof(uint32_expected), sizeof(uint32_expected[0]), + uint32_encdec_data, sizeof(uint32_encdec_data), sizeof(uint32_encdec_data[0]), + (i2d_fn *)i2d_ASN1_UINT32_DATA, (d2i_fn *)d2i_ASN1_UINT32_DATA, + (ifree_fn *)ASN1_UINT32_DATA_free +}; + +/***** INT64 *****************************************************************/ + +typedef struct { + ASN1_BOOLEAN success; + int64_t test_int64; + int64_t test_zint64; +} ASN1_INT64_DATA; + +ASN1_SEQUENCE(ASN1_INT64_DATA) = { + ASN1_SIMPLE(ASN1_INT64_DATA, success, ASN1_FBOOLEAN), + ASN1_EMBED(ASN1_INT64_DATA, test_int64, INT64), + ASN1_EXP_OPT_EMBED(ASN1_INT64_DATA, test_zint64, ZINT64, 0) +} static_ASN1_SEQUENCE_END(ASN1_INT64_DATA) + +IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_INT64_DATA) +IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_INT64_DATA) + +static ASN1_INT64_DATA int64_expected[] = { + CUSTOM_EXPECTED_SUCCESS(0, 0), /* t_zero */ + CUSTOM_EXPECTED_SUCCESS(ASN1_LONG_UNDEF, ASN1_LONG_UNDEF), /* t_zero */ + CUSTOM_EXPECTED_SUCCESS(1, 1), /* t_one */ + CUSTOM_EXPECTED_SUCCESS(-1, -1), /* t_one_neg */ + CUSTOM_EXPECTED_SUCCESS(-256, -256), /* t_minus_256 */ + CUSTOM_EXPECTED_FAILURE, /* t_9bytes_1 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_1 (too large positive) */ + CUSTOM_EXPECTED_SUCCESS(INT64_MAX, INT64_MAX), /* t_8bytes_2 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_3_pad (illegal padding) */ + CUSTOM_EXPECTED_SUCCESS(INT64_MIN, INT64_MIN), /* t_8bytes_4_neg */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_5_negpad (illegal padding) */ + CUSTOM_EXPECTED_SUCCESS(0x1ffffffffULL, 0x1ffffffffULL), /* t_5bytes_1 */ + CUSTOM_EXPECTED_SUCCESS(0x80000000, 0x80000000), /* t_4bytes_1 */ + CUSTOM_EXPECTED_SUCCESS(INT32_MAX - 1, INT32_MAX -1), /* t_4bytes_2 */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_3_pad (illegal padding) */ + CUSTOM_EXPECTED_SUCCESS(INT32_MIN, INT32_MIN), /* t_4bytes_4_neg */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_5_negpad (illegal padding) */ +}; +static ASN1_INT64_DATA int64_encdec_data[] = { + ENCDEC_ARRAY(INT64_MAX, INT64_MAX, INT64_MIN, INT64_MIN), + ENCDEC_ARRAY(INT32_MAX, INT32_MAX, INT32_MIN, INT32_MIN), +}; + +static TEST_PACKAGE int64_test_package = { + ASN1_ITEM_ref(ASN1_INT64_DATA), "INT64", 0, + int64_expected, sizeof(int64_expected), sizeof(int64_expected[0]), + int64_encdec_data, sizeof(int64_encdec_data), sizeof(int64_encdec_data[0]), + (i2d_fn *)i2d_ASN1_INT64_DATA, (d2i_fn *)d2i_ASN1_INT64_DATA, + (ifree_fn *)ASN1_INT64_DATA_free +}; + +/***** UINT64 ****************************************************************/ + +typedef struct { + ASN1_BOOLEAN success; + uint64_t test_uint64; + uint64_t test_zuint64; +} ASN1_UINT64_DATA; + +ASN1_SEQUENCE(ASN1_UINT64_DATA) = { + ASN1_SIMPLE(ASN1_UINT64_DATA, success, ASN1_FBOOLEAN), + ASN1_EMBED(ASN1_UINT64_DATA, test_uint64, UINT64), + ASN1_EXP_OPT_EMBED(ASN1_UINT64_DATA, test_zuint64, ZUINT64, 0) +} static_ASN1_SEQUENCE_END(ASN1_UINT64_DATA) + +IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(ASN1_UINT64_DATA) +IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(ASN1_UINT64_DATA) + +static ASN1_UINT64_DATA uint64_expected[] = { + CUSTOM_EXPECTED_SUCCESS(0, 0), /* t_zero */ + CUSTOM_EXPECTED_SUCCESS(ASN1_LONG_UNDEF, ASN1_LONG_UNDEF), /* t_zero */ + CUSTOM_EXPECTED_SUCCESS(1, 1), /* t_one */ + CUSTOM_EXPECTED_FAILURE, /* t_one_neg (illegal negative value) */ + CUSTOM_EXPECTED_FAILURE, /* t_minus_256 (illegal negative value) */ + CUSTOM_EXPECTED_FAILURE, /* t_9bytes_1 */ + CUSTOM_EXPECTED_SUCCESS((uint64_t)INT64_MAX+1, (uint64_t)INT64_MAX+1), + /* t_8bytes_1 */ + CUSTOM_EXPECTED_SUCCESS(INT64_MAX, INT64_MAX), /* t_8bytes_2 */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_3_pad */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_4_neg */ + CUSTOM_EXPECTED_FAILURE, /* t_8bytes_5_negpad */ + CUSTOM_EXPECTED_SUCCESS(0x1ffffffffULL, 0x1ffffffffULL), /* t_5bytes_1 */ + CUSTOM_EXPECTED_SUCCESS(0x80000000, 0x80000000), /* t_4bytes_1 */ + CUSTOM_EXPECTED_SUCCESS(INT32_MAX - 1, INT32_MAX -1), /* t_4bytes_2 */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_3_pad (illegal padding) */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_4_neg (illegal negative value) */ + CUSTOM_EXPECTED_FAILURE, /* t_4bytes_5_negpad (illegal padding) */ +}; +static ASN1_UINT64_DATA uint64_encdec_data[] = { + ENCDEC_ARRAY(UINT64_MAX, UINT64_MAX, 0, 0), +}; + +static TEST_PACKAGE uint64_test_package = { + ASN1_ITEM_ref(ASN1_UINT64_DATA), "UINT64", 0, + uint64_expected, sizeof(uint64_expected), sizeof(uint64_expected[0]), + uint64_encdec_data, sizeof(uint64_encdec_data), sizeof(uint64_encdec_data[0]), + (i2d_fn *)i2d_ASN1_UINT64_DATA, (d2i_fn *)d2i_ASN1_UINT64_DATA, + (ifree_fn *)ASN1_UINT64_DATA_free +}; + +/***** General testing functions *********************************************/ + + +/* Template structure to map onto any test data structure */ +typedef struct { + ASN1_BOOLEAN success; + unsigned char bytes[1]; /* In reality, there's more */ +} EXPECTED; + +/* + * do_decode returns a tristate: + * + * -1 Couldn't decode + * 0 decoded structure wasn't what was expected (failure) + * 1 decoded structure was what was expected (success) + */ +static int do_decode(unsigned char *bytes, long nbytes, + const EXPECTED *expected, size_t expected_size, + const TEST_PACKAGE *package) +{ + EXPECTED *enctst = NULL; + const unsigned char *start; + int ret = 0; + + start = bytes; + enctst = package->d2i(NULL, &bytes, nbytes); + if (enctst == NULL) { + if (expected->success == 0) { + ret = 1; + ERR_clear_error(); + } else { + ret = -1; + } + } else { + if (start + nbytes == bytes + && memcmp(enctst, expected, expected_size) == 0) + ret = 1; + else + ret = 0; + } + + package->ifree(enctst); + return ret; +} + +/* + * do_encode returns a tristate: + * + * -1 Couldn't encode + * 0 encoded DER wasn't what was expected (failure) + * 1 encoded DER was what was expected (success) + */ +static int do_encode(EXPECTED *input, + const unsigned char *expected, size_t expected_len, + const TEST_PACKAGE *package) +{ + unsigned char *data = NULL; + int len; + int ret = 0; + + len = package->i2d(input, &data); + if (len < 0) + return -1; + + if ((size_t)len != expected_len + || memcmp(data, expected, expected_len) != 0) { + if (input->success == 0) { + ret = 1; + ERR_clear_error(); + } else { + ret = 0; + } + } else { + ret = 1; + } + + OPENSSL_free(data); + return ret; +} + +/* Do an encode/decode round trip */ +static int do_enc_dec(EXPECTED *bytes, long nbytes, + const TEST_PACKAGE *package) +{ + unsigned char *data = NULL; + int len; + int ret = 0; + void *p = bytes; + + len = package->i2d(p, &data); + if (len < 0) + return -1; + + ret = do_decode(data, len, bytes, nbytes, package); + OPENSSL_free(data); + return ret; +} + +static size_t der_encode_length(size_t len, unsigned char **pp) +{ + size_t lenbytes; + + OPENSSL_assert(len < 0x8000); + if (len > 255) + lenbytes = 3; + else if (len > 127) + lenbytes = 2; + else + lenbytes = 1; + + if (pp != NULL) { + if (lenbytes == 1) { + *(*pp)++ = (unsigned char)len; + } else { + *(*pp)++ = (unsigned char)(lenbytes - 1); + if (lenbytes == 2) { + *(*pp)++ = (unsigned char)(0x80 | len); + } else { + *(*pp)++ = (unsigned char)(0x80 | (len >> 8)); + *(*pp)++ = (unsigned char)(len); + } + } + } + return lenbytes; +} + +static size_t make_custom_der(const TEST_CUSTOM_DATA *custom_data, + unsigned char **encoding, int explicit_default) +{ + size_t firstbytes, secondbytes = 0, secondbytesinner = 0, seqbytes; + const unsigned char t_true[] = { V_ASN1_BOOLEAN, 0x01, 0xff }; + unsigned char *p = NULL; + size_t i; + + /* + * The first item is just an INTEGER tag, INTEGER length and INTEGER content + */ + firstbytes = + 1 + der_encode_length(custom_data->nbytes1, NULL) + + custom_data->nbytes1; + + for (i = custom_data->nbytes2; i > 0; i--) { + if (custom_data->bytes2[i - 1] != '\0') + break; + } + if (explicit_default || i > 0) { + /* + * The second item is an explicit tag, content length, INTEGER tag, + * INTEGER length, INTEGER bytes + */ + secondbytesinner = + 1 + der_encode_length(custom_data->nbytes2, NULL) + + custom_data->nbytes2; + secondbytes = + 1 + der_encode_length(secondbytesinner, NULL) + secondbytesinner; + } + + /* + * The whole sequence is the sequence tag, content length, BOOLEAN true + * (copied from t_true), the first (firstbytes) and second (secondbytes) + * items + */ + seqbytes = + 1 + der_encode_length(sizeof(t_true) + firstbytes + secondbytes, NULL) + + sizeof(t_true) + firstbytes + secondbytes; + + *encoding = p = OPENSSL_malloc(seqbytes); + if (*encoding == NULL) + return 0; + + /* Sequence tag */ + *p++ = 0x30; + der_encode_length(sizeof(t_true) + firstbytes + secondbytes, &p); + + /* ASN1_BOOLEAN TRUE */ + memcpy(p, t_true, sizeof(t_true)); /* Marks decoding success */ + p += sizeof(t_true); + + /* First INTEGER item (non-optional) */ + *p++ = V_ASN1_INTEGER; + der_encode_length(custom_data->nbytes1, &p); + memcpy(p, custom_data->bytes1, custom_data->nbytes1); + p += custom_data->nbytes1; + + if (secondbytes > 0) { + /* Second INTEGER item (optional) */ + /* Start with the explicit optional tag */ + *p++ = 0xa0; + der_encode_length(secondbytesinner, &p); + *p++ = V_ASN1_INTEGER; + der_encode_length(custom_data->nbytes2, &p); + memcpy(p, custom_data->bytes2, custom_data->nbytes2); + p += custom_data->nbytes2; + } + + OPENSSL_assert(seqbytes == (size_t)(p - *encoding)); + + return seqbytes; +} + +/* Attempt to decode a custom encoding of the test structure */ +static int do_decode_custom(const TEST_CUSTOM_DATA *custom_data, + const EXPECTED *expected, size_t expected_size, + const TEST_PACKAGE *package) +{ + unsigned char *encoding = NULL; + /* + * We force the defaults to be explicitly encoded to make sure we test + * for defaults that shouldn't be present (i.e. we check for failure) + */ + size_t encoding_length = make_custom_der(custom_data, &encoding, 1); + int ret; + + if (encoding_length == 0) + return -1; + + ret = do_decode(encoding, encoding_length, expected, expected_size, + package); + OPENSSL_free(encoding); + + return ret; +} + +/* Attempt to encode the test structure and compare it to custom DER */ +static int do_encode_custom(EXPECTED *input, + const TEST_CUSTOM_DATA *custom_data, + const TEST_PACKAGE *package) +{ + unsigned char *expected = NULL; + size_t expected_length = make_custom_der(custom_data, &expected, 0); + int ret; + + if (expected_length == 0) + return -1; + + ret = do_encode(input, expected, expected_length, package); + OPENSSL_free(expected); + + return ret; +} + +static int do_print_item(const TEST_PACKAGE *package) +{ +#define DATA_BUF_SIZE 256 + const ASN1_ITEM *i = ASN1_ITEM_ptr(package->asn1_type); + ASN1_VALUE *o; + int ret; + + OPENSSL_assert(package->encode_expectations_elem_size <= DATA_BUF_SIZE); + if ((o = OPENSSL_malloc(DATA_BUF_SIZE)) == NULL) + return 0; + + (void)RAND_bytes((unsigned char*)o, + (int)package->encode_expectations_elem_size); + ret = ASN1_item_print(bio_err, o, 0, i, NULL); + OPENSSL_free(o); + + return ret; +} + + +static int test_intern(const TEST_PACKAGE *package) +{ + unsigned int i; + size_t nelems; + int fail = 0; + + if (package->skip) + return 1; + + /* Do decode_custom checks */ + nelems = package->encode_expectations_size + / package->encode_expectations_elem_size; + OPENSSL_assert(nelems == + sizeof(test_custom_data) / sizeof(test_custom_data[0])); + for (i = 0; i < nelems; i++) { + size_t pos = i * package->encode_expectations_elem_size; + switch (do_encode_custom((EXPECTED *)&((unsigned char *)package + ->encode_expectations)[pos], + &test_custom_data[i], package)) { + case -1: + TEST_error("Failed custom encode round trip %u of %s", + i, package->name); + TEST_openssl_errors(); + fail++; + break; + case 0: + TEST_error("Custom encode round trip %u of %s mismatch", + i, package->name); + TEST_openssl_errors(); + fail++; + break; + case 1: + break; + default: + OPENSSL_die("do_encode_custom() return unknown value", + __FILE__, __LINE__); + } + switch (do_decode_custom(&test_custom_data[i], + (EXPECTED *)&((unsigned char *)package + ->encode_expectations)[pos], + package->encode_expectations_elem_size, + package)) { + case -1: + TEST_error("Failed custom decode round trip %u of %s", + i, package->name); + TEST_openssl_errors(); + fail++; + break; + case 0: + TEST_error("Custom decode round trip %u of %s mismatch", + i, package->name); + TEST_openssl_errors(); + fail++; + break; + case 1: + break; + default: + OPENSSL_die("do_decode_custom() return unknown value", + __FILE__, __LINE__); + } + } + + /* Do enc_dec checks */ + nelems = package->encdec_data_size / package->encdec_data_elem_size; + for (i = 0; i < nelems; i++) { + size_t pos = i * package->encdec_data_elem_size; + switch (do_enc_dec((EXPECTED *)&((unsigned char *)package + ->encdec_data)[pos], + package->encdec_data_elem_size, + package)) { + case -1: + TEST_error("Failed encode/decode round trip %u of %s", + i, package->name); + TEST_openssl_errors(); + fail++; + break; + case 0: + TEST_error("Encode/decode round trip %u of %s mismatch", + i, package->name); + fail++; + break; + case 1: + break; + default: + OPENSSL_die("do_enc_dec() return unknown value", + __FILE__, __LINE__); + } + } + + if (!do_print_item(package)) { + TEST_error("Printing of %s failed", package->name); + TEST_openssl_errors(); + fail++; + } + + return fail == 0; +} + +#if OPENSSL_API_COMPAT < 0x10200000L +static int test_long_32bit(void) +{ + return test_intern(&long_test_package_32bit); +} + +static int test_long_64bit(void) +{ + return test_intern(&long_test_package_64bit); +} +#endif + +static int test_int32(void) +{ + return test_intern(&int32_test_package); +} + +static int test_uint32(void) +{ + return test_intern(&uint32_test_package); +} + +static int test_int64(void) +{ + return test_intern(&int64_test_package); +} + +static int test_uint64(void) +{ + return test_intern(&uint64_test_package); +} + +int setup_tests(void) +{ +#if OPENSSL_API_COMPAT < 0x10200000L + ADD_TEST(test_long_32bit); + ADD_TEST(test_long_64bit); +#endif + ADD_TEST(test_int32); + ADD_TEST(test_uint32); + ADD_TEST(test_int64); + ADD_TEST(test_uint64); + return 1; +} diff --git a/deps/openssl/openssl/test/asn1_internal_test.c b/deps/openssl/openssl/test/asn1_internal_test.c new file mode 100644 index 00000000000000..865e0584219e94 --- /dev/null +++ b/deps/openssl/openssl/test/asn1_internal_test.c @@ -0,0 +1,115 @@ +/* + * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* Internal tests for the asn1 module */ + +#include +#include + +#include +#include +#include +#include "testutil.h" +#include "internal/nelem.h" + +/********************************************************************** + * + * Test of a_strnid's tbl_standard + * + ***/ + +#include "../crypto/asn1/tbl_standard.h" + +static int test_tbl_standard(void) +{ + const ASN1_STRING_TABLE *tmp; + int last_nid = -1; + size_t i; + + for (tmp = tbl_standard, i = 0; i < OSSL_NELEM(tbl_standard); i++, tmp++) { + if (tmp->nid < last_nid) { + last_nid = 0; + break; + } + last_nid = tmp->nid; + } + + if (TEST_int_ne(last_nid, 0)) { + TEST_info("asn1 tbl_standard: Table order OK"); + return 1; + } + + TEST_info("asn1 tbl_standard: out of order"); + for (tmp = tbl_standard, i = 0; i < OSSL_NELEM(tbl_standard); i++, tmp++) + TEST_note("asn1 tbl_standard: Index %zu, NID %d, Name=%s", + i, tmp->nid, OBJ_nid2ln(tmp->nid)); + + return 0; +} + +/********************************************************************** + * + * Test of ameth_lib's standard_methods + * + ***/ + +#include "crypto/asn1.h" +#include "../crypto/asn1/standard_methods.h" + +static int test_standard_methods(void) +{ + const EVP_PKEY_ASN1_METHOD **tmp; + int last_pkey_id = -1; + size_t i; + int ok = 1; + + for (tmp = standard_methods, i = 0; i < OSSL_NELEM(standard_methods); + i++, tmp++) { + if ((*tmp)->pkey_id < last_pkey_id) { + last_pkey_id = 0; + break; + } + last_pkey_id = (*tmp)->pkey_id; + + /* + * One of the following must be true: + * + * pem_str == NULL AND ASN1_PKEY_ALIAS is set + * pem_str != NULL AND ASN1_PKEY_ALIAS is clear + * + * Anything else is an error and may lead to a corrupt ASN1 method table + */ + if (!TEST_true(((*tmp)->pem_str == NULL && ((*tmp)->pkey_flags & ASN1_PKEY_ALIAS) != 0) + || ((*tmp)->pem_str != NULL && ((*tmp)->pkey_flags & ASN1_PKEY_ALIAS) == 0))) { + TEST_note("asn1 standard methods: Index %zu, pkey ID %d, Name=%s", + i, (*tmp)->pkey_id, OBJ_nid2sn((*tmp)->pkey_id)); + ok = 0; + } + } + + if (TEST_int_ne(last_pkey_id, 0)) { + TEST_info("asn1 standard methods: Table order OK"); + return ok; + } + + TEST_note("asn1 standard methods: out of order"); + for (tmp = standard_methods, i = 0; i < OSSL_NELEM(standard_methods); + i++, tmp++) + TEST_note("asn1 standard methods: Index %zu, pkey ID %d, Name=%s", + i, (*tmp)->pkey_id, OBJ_nid2sn((*tmp)->pkey_id)); + + return 0; +} + +int setup_tests(void) +{ + ADD_TEST(test_tbl_standard); + ADD_TEST(test_standard_methods); + return 1; +} diff --git a/deps/openssl/openssl/test/asn1_string_table_test.c b/deps/openssl/openssl/test/asn1_string_table_test.c new file mode 100644 index 00000000000000..3c6cc257bc939d --- /dev/null +++ b/deps/openssl/openssl/test/asn1_string_table_test.c @@ -0,0 +1,77 @@ +/* + * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* Tests for the ANS1_STRING_TABLE_* functions */ + +#include +#include + +#include +#include "testutil.h" + +static int test_string_tbl(void) +{ + const ASN1_STRING_TABLE *tmp = NULL; + int nid = 12345678, nid2 = 87654321, rv = 0, ret = 0; + + tmp = ASN1_STRING_TABLE_get(nid); + if (!TEST_ptr_null(tmp)) { + TEST_info("asn1 string table: ASN1_STRING_TABLE_get non-exist nid"); + goto out; + } + + ret = ASN1_STRING_TABLE_add(nid, -1, -1, MBSTRING_ASC, 0); + if (!TEST_true(ret)) { + TEST_info("asn1 string table: add NID(%d) failed", nid); + goto out; + } + + ret = ASN1_STRING_TABLE_add(nid2, -1, -1, MBSTRING_ASC, 0); + if (!TEST_true(ret)) { + TEST_info("asn1 string table: add NID(%d) failed", nid2); + goto out; + } + + tmp = ASN1_STRING_TABLE_get(nid); + if (!TEST_ptr(tmp)) { + TEST_info("asn1 string table: get NID(%d) failed", nid); + goto out; + } + + tmp = ASN1_STRING_TABLE_get(nid2); + if (!TEST_ptr(tmp)) { + TEST_info("asn1 string table: get NID(%d) failed", nid2); + goto out; + } + + ASN1_STRING_TABLE_cleanup(); + + /* check if all newly added NIDs are cleaned up */ + tmp = ASN1_STRING_TABLE_get(nid); + if (!TEST_ptr_null(tmp)) { + TEST_info("asn1 string table: get NID(%d) failed", nid); + goto out; + } + + tmp = ASN1_STRING_TABLE_get(nid2); + if (!TEST_ptr_null(tmp)) { + TEST_info("asn1 string table: get NID(%d) failed", nid2); + goto out; + } + + rv = 1; + out: + return rv; +} + +int setup_tests(void) +{ + ADD_TEST(test_string_tbl); + return 1; +} diff --git a/deps/openssl/openssl/test/asn1_time_test.c b/deps/openssl/openssl/test/asn1_time_test.c new file mode 100644 index 00000000000000..b43763d0500b74 --- /dev/null +++ b/deps/openssl/openssl/test/asn1_time_test.c @@ -0,0 +1,358 @@ +/* + * Copyright 1999-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* Time tests for the asn1 module */ + +#include +#include + +#include +#include +#include +#include "testutil.h" +#include "internal/nelem.h" + +struct testdata { + char *data; /* TIME string value */ + int type; /* GENERALIZED OR UTC */ + int expected_type; /* expected type after set/set_string_gmt */ + int check_result; /* check result */ + time_t t; /* expected time_t*/ + int cmp_result; /* comparison to baseline result */ + int convert_result; /* conversion result */ +}; + +static struct testdata tbl_testdata_pos[] = { + { "0", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, /* Bad time */ + { "ABCD", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "0ABCD", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "1-700101000000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "`9700101000000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "19700101000000Z", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 0, 0, 0, 0, }, + { "A00101000000Z", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 0, 0, 0, 0, }, + { "A9700101000000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "1A700101000000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "19A00101000000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "197A0101000000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "1970A101000000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "19700A01000000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "197001A1000000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "1970010A000000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "19700101A00000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "197001010A0000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "1970010100A000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "19700101000A00Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "197001010000A0Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "1970010100000AZ", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "700101000000X", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 0, 0, 0, 0, }, + { "19700101000000X", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 0, 0, 0, 0, }, + { "19700101000000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 1, 0, -1, 1, }, /* Epoch begins */ + { "700101000000Z", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 1, 0, -1, 1, }, /* ditto */ + { "20380119031407Z", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 1, 0x7FFFFFFF, 1, 1, }, /* Max 32bit time_t */ + { "380119031407Z", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 1, 0x7FFFFFFF, 1, 1, }, + { "20371231235959Z", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 1, 2145916799, 1, 1, }, /* Just before 2038 */ + { "20371231235959Z", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 0, 0, 0, 1, }, /* Bad UTC time */ + { "371231235959Z", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 1, 2145916799, 1, 1, }, + { "19701006121456Z", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 1, 24063296, -1, 1, }, + { "701006121456Z", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 1, 24063296, -1, 1, }, + { "19991231000000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 1, 946598400, 0, 1, }, /* Match baseline */ + { "199912310000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 1, 946598400, 0, 1, }, /* In various flavors */ + { "991231000000Z", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 1, 946598400, 0, 1, }, + { "9912310000Z", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 1, 946598400, 0, 1, }, + { "9912310000+0000", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 1, 946598400, 0, 1, }, + { "199912310000+0000", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 1, 946598400, 0, 1, }, + { "9912310000-0000", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 1, 946598400, 0, 1, }, + { "199912310000-0000", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 1, 946598400, 0, 1, }, + { "199912310100+0100", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 1, 946598400, 0, 1, }, + { "199912302300-0100", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 1, 946598400, 0, 1, }, + { "199912302300-A000", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 0, 946598400, 0, 1, }, + { "199912302300-0A00", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 0, 946598400, 0, 1, }, + { "9912310100+0100", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 1, 946598400, 0, 1, }, + { "9912302300-0100", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 1, 946598400, 0, 1, }, +}; + +/* ASSUMES SIGNED TIME_T */ +static struct testdata tbl_testdata_neg[] = { + { "19011213204552Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 1, INT_MIN, -1, 0, }, + { "691006121456Z", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 1, -7472704, -1, 1, }, + { "19691006121456Z", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 1, -7472704, -1, 1, }, +}; + +/* explicit casts to time_t short warnings on systems with 32-bit time_t */ +static struct testdata tbl_testdata_pos_64bit[] = { + { "20380119031408Z", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 1, (time_t)0x80000000, 1, 1, }, + { "20380119031409Z", V_ASN1_GENERALIZEDTIME, V_ASN1_UTCTIME, 1, (time_t)0x80000001, 1, 1, }, + { "380119031408Z", V_ASN1_UTCTIME, V_ASN1_UTCTIME, 1, (time_t)0x80000000, 1, 1, }, + { "20500101120000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 1, (time_t)0x967b1ec0, 1, 0, }, +}; + +/* ASSUMES SIGNED TIME_T */ +static struct testdata tbl_testdata_neg_64bit[] = { + { "19011213204551Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 1, (time_t)-2147483649LL, -1, 0, }, + { "19000101120000Z", V_ASN1_GENERALIZEDTIME, V_ASN1_GENERALIZEDTIME, 1, (time_t)-2208945600LL, -1, 0, }, +}; + +/* A baseline time to compare to */ +static ASN1_TIME gtime = { + 15, + V_ASN1_GENERALIZEDTIME, + (unsigned char*)"19991231000000Z", + 0 +}; +static time_t gtime_t = 946598400; + +static int test_table(struct testdata *tbl, int idx) +{ + int error = 0; + ASN1_TIME atime; + ASN1_TIME *ptime; + struct testdata *td = &tbl[idx]; + int day, sec; + + atime.data = (unsigned char*)td->data; + atime.length = strlen((char*)atime.data); + atime.type = td->type; + atime.flags = 0; + + if (!TEST_int_eq(ASN1_TIME_check(&atime), td->check_result)) { + TEST_info("ASN1_TIME_check(%s) unexpected result", atime.data); + error = 1; + } + if (td->check_result == 0) + return 1; + + if (!TEST_int_eq(ASN1_TIME_cmp_time_t(&atime, td->t), 0)) { + TEST_info("ASN1_TIME_cmp_time_t(%s vs %ld) compare failed", atime.data, (long)td->t); + error = 1; + } + + if (!TEST_true(ASN1_TIME_diff(&day, &sec, &atime, &atime))) { + TEST_info("ASN1_TIME_diff(%s) to self failed", atime.data); + error = 1; + } + if (!TEST_int_eq(day, 0) || !TEST_int_eq(sec, 0)) { + TEST_info("ASN1_TIME_diff(%s) to self not equal", atime.data); + error = 1; + } + + if (!TEST_true(ASN1_TIME_diff(&day, &sec, >ime, &atime))) { + TEST_info("ASN1_TIME_diff(%s) to baseline failed", atime.data); + error = 1; + } else if (!((td->cmp_result == 0 && TEST_true((day == 0 && sec == 0))) || + (td->cmp_result == -1 && TEST_true((day < 0 || sec < 0))) || + (td->cmp_result == 1 && TEST_true((day > 0 || sec > 0))))) { + TEST_info("ASN1_TIME_diff(%s) to baseline bad comparison", atime.data); + error = 1; + } + + if (!TEST_int_eq(ASN1_TIME_cmp_time_t(&atime, gtime_t), td->cmp_result)) { + TEST_info("ASN1_TIME_cmp_time_t(%s) to baseline bad comparison", atime.data); + error = 1; + } + + ptime = ASN1_TIME_set(NULL, td->t); + if (!TEST_ptr(ptime)) { + TEST_info("ASN1_TIME_set(%ld) failed", (long)td->t); + error = 1; + } else { + int local_error = 0; + if (!TEST_int_eq(ASN1_TIME_cmp_time_t(ptime, td->t), 0)) { + TEST_info("ASN1_TIME_set(%ld) compare failed (%s->%s)", + (long)td->t, td->data, ptime->data); + local_error = error = 1; + } + if (!TEST_int_eq(ptime->type, td->expected_type)) { + TEST_info("ASN1_TIME_set(%ld) unexpected type", (long)td->t); + local_error = error = 1; + } + if (local_error) + TEST_info("ASN1_TIME_set() = %*s", ptime->length, ptime->data); + ASN1_TIME_free(ptime); + } + + ptime = ASN1_TIME_new(); + if (!TEST_ptr(ptime)) { + TEST_info("ASN1_TIME_new() failed"); + error = 1; + } else { + int local_error = 0; + if (!TEST_int_eq(ASN1_TIME_set_string(ptime, td->data), td->check_result)) { + TEST_info("ASN1_TIME_set_string_gmt(%s) failed", td->data); + local_error = error = 1; + } + if (!TEST_int_eq(ASN1_TIME_normalize(ptime), td->check_result)) { + TEST_info("ASN1_TIME_normalize(%s) failed", td->data); + local_error = error = 1; + } + if (!TEST_int_eq(ptime->type, td->expected_type)) { + TEST_info("ASN1_TIME_set_string_gmt(%s) unexpected type", td->data); + local_error = error = 1; + } + day = sec = 0; + if (!TEST_true(ASN1_TIME_diff(&day, &sec, ptime, &atime)) || !TEST_int_eq(day, 0) || !TEST_int_eq(sec, 0)) { + TEST_info("ASN1_TIME_diff(day=%d, sec=%d, %s) after ASN1_TIME_set_string_gmt() failed", day, sec, td->data); + local_error = error = 1; + } + if (!TEST_int_eq(ASN1_TIME_cmp_time_t(ptime, gtime_t), td->cmp_result)) { + TEST_info("ASN1_TIME_cmp_time_t(%s) after ASN1_TIME_set_string_gnt() to baseline bad comparison", td->data); + local_error = error = 1; + } + if (local_error) + TEST_info("ASN1_TIME_set_string_gmt() = %*s", ptime->length, ptime->data); + ASN1_TIME_free(ptime); + } + + ptime = ASN1_TIME_new(); + if (!TEST_ptr(ptime)) { + TEST_info("ASN1_TIME_new() failed"); + error = 1; + } else { + int local_error = 0; + if (!TEST_int_eq(ASN1_TIME_set_string(ptime, td->data), td->check_result)) { + TEST_info("ASN1_TIME_set_string(%s) failed", td->data); + local_error = error = 1; + } + day = sec = 0; + if (!TEST_true(ASN1_TIME_diff(&day, &sec, ptime, &atime)) || !TEST_int_eq(day, 0) || !TEST_int_eq(sec, 0)) { + TEST_info("ASN1_TIME_diff(day=%d, sec=%d, %s) after ASN1_TIME_set_string() failed", day, sec, td->data); + local_error = error = 1; + } + if (!TEST_int_eq(ASN1_TIME_cmp_time_t(ptime, gtime_t), td->cmp_result)) { + TEST_info("ASN1_TIME_cmp_time_t(%s) after ASN1_TIME_set_string() to baseline bad comparison", td->data); + local_error = error = 1; + } + if (local_error) + TEST_info("ASN1_TIME_set_string() = %*s", ptime->length, ptime->data); + ASN1_TIME_free(ptime); + } + + if (td->type == V_ASN1_UTCTIME) { + ptime = ASN1_TIME_to_generalizedtime(&atime, NULL); + if (td->convert_result == 1 && !TEST_ptr(ptime)) { + TEST_info("ASN1_TIME_to_generalizedtime(%s) failed", atime.data); + error = 1; + } else if (td->convert_result == 0 && !TEST_ptr_null(ptime)) { + TEST_info("ASN1_TIME_to_generalizedtime(%s) should have failed", atime.data); + error = 1; + } + if (ptime != NULL && !TEST_int_eq(ASN1_TIME_cmp_time_t(ptime, td->t), 0)) { + TEST_info("ASN1_TIME_to_generalizedtime(%s->%s) bad result", atime.data, ptime->data); + error = 1; + } + ASN1_TIME_free(ptime); + } + /* else cannot simply convert GENERALIZEDTIME to UTCTIME */ + + if (error) + TEST_error("atime=%s", atime.data); + + return !error; +} + +static int test_table_pos(int idx) +{ + return test_table(tbl_testdata_pos, idx); +} + +static int test_table_neg(int idx) +{ + return test_table(tbl_testdata_neg, idx); +} + +static int test_table_pos_64bit(int idx) +{ + return test_table(tbl_testdata_pos_64bit, idx); +} + +static int test_table_neg_64bit(int idx) +{ + return test_table(tbl_testdata_neg_64bit, idx); +} + +struct compare_testdata { + ASN1_TIME t1; + ASN1_TIME t2; + int result; +}; + +static unsigned char TODAY_GEN_STR[] = "20170825000000Z"; +static unsigned char TOMORROW_GEN_STR[] = "20170826000000Z"; +static unsigned char TODAY_UTC_STR[] = "170825000000Z"; +static unsigned char TOMORROW_UTC_STR[] = "170826000000Z"; + +#define TODAY_GEN { sizeof(TODAY_GEN_STR)-1, V_ASN1_GENERALIZEDTIME, TODAY_GEN_STR, 0 } +#define TOMORROW_GEN { sizeof(TOMORROW_GEN_STR)-1, V_ASN1_GENERALIZEDTIME, TOMORROW_GEN_STR, 0 } +#define TODAY_UTC { sizeof(TODAY_UTC_STR)-1, V_ASN1_UTCTIME, TODAY_UTC_STR, 0 } +#define TOMORROW_UTC { sizeof(TOMORROW_UTC_STR)-1, V_ASN1_UTCTIME, TOMORROW_UTC_STR, 0 } + +static struct compare_testdata tbl_compare_testdata[] = { + { TODAY_GEN, TODAY_GEN, 0 }, + { TODAY_GEN, TODAY_UTC, 0 }, + { TODAY_GEN, TOMORROW_GEN, -1 }, + { TODAY_GEN, TOMORROW_UTC, -1 }, + + { TODAY_UTC, TODAY_GEN, 0 }, + { TODAY_UTC, TODAY_UTC, 0 }, + { TODAY_UTC, TOMORROW_GEN, -1 }, + { TODAY_UTC, TOMORROW_UTC, -1 }, + + { TOMORROW_GEN, TODAY_GEN, 1 }, + { TOMORROW_GEN, TODAY_UTC, 1 }, + { TOMORROW_GEN, TOMORROW_GEN, 0 }, + { TOMORROW_GEN, TOMORROW_UTC, 0 }, + + { TOMORROW_UTC, TODAY_GEN, 1 }, + { TOMORROW_UTC, TODAY_UTC, 1 }, + { TOMORROW_UTC, TOMORROW_GEN, 0 }, + { TOMORROW_UTC, TOMORROW_UTC, 0 } +}; + +static int test_table_compare(int idx) +{ + struct compare_testdata *td = &tbl_compare_testdata[idx]; + + return TEST_int_eq(ASN1_TIME_compare(&td->t1, &td->t2), td->result); +} + +int setup_tests(void) +{ + /* + * On platforms where |time_t| is an unsigned integer, t will be a + * positive number. + * + * We check if we're on a platform with a signed |time_t| with '!(t > 0)' + * because some compilers are picky if you do 't < 0', or even 't <= 0' + * if |t| is unsigned. + */ + time_t t = -1; + /* + * On some platforms, |time_t| is signed, but a negative value is an + * error, and using it with gmtime() or localtime() generates a NULL. + * If that is the case, we can't perform tests on negative values. + */ + struct tm *ptm = localtime(&t); + + ADD_ALL_TESTS(test_table_pos, OSSL_NELEM(tbl_testdata_pos)); + if (!(t > 0) && ptm != NULL) { + TEST_info("Adding negative-sign time_t tests"); + ADD_ALL_TESTS(test_table_neg, OSSL_NELEM(tbl_testdata_neg)); + } + if (sizeof(time_t) > sizeof(uint32_t)) { + TEST_info("Adding 64-bit time_t tests"); + ADD_ALL_TESTS(test_table_pos_64bit, OSSL_NELEM(tbl_testdata_pos_64bit)); +#ifndef __hpux + if (!(t > 0) && ptm != NULL) { + TEST_info("Adding negative-sign 64-bit time_t tests"); + ADD_ALL_TESTS(test_table_neg_64bit, OSSL_NELEM(tbl_testdata_neg_64bit)); + } +#endif + } + ADD_ALL_TESTS(test_table_compare, OSSL_NELEM(tbl_compare_testdata)); + return 1; +} diff --git a/deps/openssl/openssl/test/asynciotest.c b/deps/openssl/openssl/test/asynciotest.c index 5e85cbb044a2e0..5a12d013444f42 100644 --- a/deps/openssl/openssl/test/asynciotest.c +++ b/deps/openssl/openssl/test/asynciotest.c @@ -13,7 +13,7 @@ #include #include -#include "../ssl/packet_locl.h" +#include "../ssl/packet_local.h" #include "ssltestlib.h" #include "testutil.h" diff --git a/deps/openssl/openssl/test/bad_dtls_test.c b/deps/openssl/openssl/test/bad_dtls_test.c index 1c836b9c17cb41..e06206b6acdd9a 100644 --- a/deps/openssl/openssl/test/bad_dtls_test.c +++ b/deps/openssl/openssl/test/bad_dtls_test.c @@ -37,7 +37,7 @@ #include #include #include -#include "../ssl/packet_locl.h" +#include "../ssl/packet_local.h" #include "internal/nelem.h" #include "testutil.h" diff --git a/deps/openssl/openssl/test/bio_callback_test.c b/deps/openssl/openssl/test/bio_callback_test.c new file mode 100644 index 00000000000000..8a17602d791b2c --- /dev/null +++ b/deps/openssl/openssl/test/bio_callback_test.c @@ -0,0 +1,178 @@ +/* + * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ +#include +#include +#include + +#include "testutil.h" + +#define MAXCOUNT 5 +static int my_param_count; +static BIO *my_param_b[MAXCOUNT]; +static int my_param_oper[MAXCOUNT]; +static const char *my_param_argp[MAXCOUNT]; +static int my_param_argi[MAXCOUNT]; +static long my_param_argl[MAXCOUNT]; +static long my_param_ret[MAXCOUNT]; + +static long my_bio_callback(BIO *b, int oper, const char *argp, int argi, + long argl, long ret) +{ + if (my_param_count >= MAXCOUNT) + return -1; + my_param_b[my_param_count] = b; + my_param_oper[my_param_count] = oper; + my_param_argp[my_param_count] = argp; + my_param_argi[my_param_count] = argi; + my_param_argl[my_param_count] = argl; + my_param_ret[my_param_count] = ret; + my_param_count++; + return ret; +} + +static int test_bio_callback(void) +{ + int ok = 0; + BIO *bio; + int i; + char test1[] = "test"; + const int test1len = sizeof(test1) - 1; + char test2[] = "hello"; + const int test2len = sizeof(test2) - 1; + char buf[16]; + + my_param_count = 0; + + bio = BIO_new(BIO_s_mem()); + if (bio == NULL) + goto err; + + BIO_set_callback(bio, my_bio_callback); + i = BIO_write(bio, test1, test1len); + if (!TEST_int_eq(i, test1len) + || !TEST_int_eq(my_param_count, 2) + || !TEST_ptr_eq(my_param_b[0], bio) + || !TEST_int_eq(my_param_oper[0], BIO_CB_WRITE) + || !TEST_ptr_eq(my_param_argp[0], test1) + || !TEST_int_eq(my_param_argi[0], test1len) + || !TEST_long_eq(my_param_argl[0], 0L) + || !TEST_long_eq(my_param_ret[0], 1L) + || !TEST_ptr_eq(my_param_b[1], bio) + || !TEST_int_eq(my_param_oper[1], BIO_CB_WRITE | BIO_CB_RETURN) + || !TEST_ptr_eq(my_param_argp[1], test1) + || !TEST_int_eq(my_param_argi[1], test1len) + || !TEST_long_eq(my_param_argl[1], 0L) + || !TEST_long_eq(my_param_ret[1], (long)test1len)) + goto err; + + my_param_count = 0; + i = BIO_read(bio, buf, sizeof(buf)); + if (!TEST_mem_eq(buf, i, test1, test1len) + || !TEST_int_eq(my_param_count, 2) + || !TEST_ptr_eq(my_param_b[0], bio) + || !TEST_int_eq(my_param_oper[0], BIO_CB_READ) + || !TEST_ptr_eq(my_param_argp[0], buf) + || !TEST_int_eq(my_param_argi[0], sizeof(buf)) + || !TEST_long_eq(my_param_argl[0], 0L) + || !TEST_long_eq(my_param_ret[0], 1L) + || !TEST_ptr_eq(my_param_b[1], bio) + || !TEST_int_eq(my_param_oper[1], BIO_CB_READ | BIO_CB_RETURN) + || !TEST_ptr_eq(my_param_argp[1], buf) + || !TEST_int_eq(my_param_argi[1], sizeof(buf)) + || !TEST_long_eq(my_param_argl[1], 0L) + || !TEST_long_eq(my_param_ret[1], (long)test1len)) + goto err; + + /* By default a mem bio returns -1 if it has run out of data */ + my_param_count = 0; + i = BIO_read(bio, buf, sizeof(buf)); + if (!TEST_int_eq(i, -1) + || !TEST_int_eq(my_param_count, 2) + || !TEST_ptr_eq(my_param_b[0], bio) + || !TEST_int_eq(my_param_oper[0], BIO_CB_READ) + || !TEST_ptr_eq(my_param_argp[0], buf) + || !TEST_int_eq(my_param_argi[0], sizeof(buf)) + || !TEST_long_eq(my_param_argl[0], 0L) + || !TEST_long_eq(my_param_ret[0], 1L) + || !TEST_ptr_eq(my_param_b[1], bio) + || !TEST_int_eq(my_param_oper[1], BIO_CB_READ | BIO_CB_RETURN) + || !TEST_ptr_eq(my_param_argp[1], buf) + || !TEST_int_eq(my_param_argi[1], sizeof(buf)) + || !TEST_long_eq(my_param_argl[1], 0L) + || !TEST_long_eq(my_param_ret[1], -1L)) + goto err; + + /* Force the mem bio to return 0 if it has run out of data */ + BIO_set_mem_eof_return(bio, 0); + my_param_count = 0; + i = BIO_read(bio, buf, sizeof(buf)); + if (!TEST_int_eq(i, 0) + || !TEST_int_eq(my_param_count, 2) + || !TEST_ptr_eq(my_param_b[0], bio) + || !TEST_int_eq(my_param_oper[0], BIO_CB_READ) + || !TEST_ptr_eq(my_param_argp[0], buf) + || !TEST_int_eq(my_param_argi[0], sizeof(buf)) + || !TEST_long_eq(my_param_argl[0], 0L) + || !TEST_long_eq(my_param_ret[0], 1L) + || !TEST_ptr_eq(my_param_b[1], bio) + || !TEST_int_eq(my_param_oper[1], BIO_CB_READ | BIO_CB_RETURN) + || !TEST_ptr_eq(my_param_argp[1], buf) + || !TEST_int_eq(my_param_argi[1], sizeof(buf)) + || !TEST_long_eq(my_param_argl[1], 0L) + || !TEST_long_eq(my_param_ret[1], 0L)) + goto err; + + my_param_count = 0; + i = BIO_puts(bio, test2); + if (!TEST_int_eq(i, 5) + || !TEST_int_eq(my_param_count, 2) + || !TEST_ptr_eq(my_param_b[0], bio) + || !TEST_int_eq(my_param_oper[0], BIO_CB_PUTS) + || !TEST_ptr_eq(my_param_argp[0], test2) + || !TEST_int_eq(my_param_argi[0], 0) + || !TEST_long_eq(my_param_argl[0], 0L) + || !TEST_long_eq(my_param_ret[0], 1L) + || !TEST_ptr_eq(my_param_b[1], bio) + || !TEST_int_eq(my_param_oper[1], BIO_CB_PUTS | BIO_CB_RETURN) + || !TEST_ptr_eq(my_param_argp[1], test2) + || !TEST_int_eq(my_param_argi[1], 0) + || !TEST_long_eq(my_param_argl[1], 0L) + || !TEST_long_eq(my_param_ret[1], (long)test2len)) + goto err; + + my_param_count = 0; + i = BIO_free(bio); + if (!TEST_int_eq(i, 1) + || !TEST_int_eq(my_param_count, 1) + || !TEST_ptr_eq(my_param_b[0], bio) + || !TEST_int_eq(my_param_oper[0], BIO_CB_FREE) + || !TEST_ptr_eq(my_param_argp[0], NULL) + || !TEST_int_eq(my_param_argi[0], 0) + || !TEST_long_eq(my_param_argl[0], 0L) + || !TEST_long_eq(my_param_ret[0], 1L)) + goto finish; + + ok = 1; + goto finish; + +err: + BIO_free(bio); + +finish: + /* This helps finding memory leaks with ASAN */ + memset(my_param_b, 0, sizeof(my_param_b)); + memset(my_param_argp, 0, sizeof(my_param_argp)); + return ok; +} + +int setup_tests(void) +{ + ADD_TEST(test_bio_callback); + return 1; +} diff --git a/deps/openssl/openssl/test/bio_memleak_test.c b/deps/openssl/openssl/test/bio_memleak_test.c new file mode 100644 index 00000000000000..383c82d156c064 --- /dev/null +++ b/deps/openssl/openssl/test/bio_memleak_test.c @@ -0,0 +1,240 @@ +/* + * Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ +#include +#include +#include +#include + +#include "testutil.h" + +static int test_bio_memleak(void) +{ + int ok = 0; + BIO *bio; + BUF_MEM bufmem; + static const char str[] = "BIO test\n"; + char buf[100]; + + bio = BIO_new(BIO_s_mem()); + if (!TEST_ptr(bio)) + goto finish; + bufmem.length = sizeof(str); + bufmem.data = (char *) str; + bufmem.max = bufmem.length; + BIO_set_mem_buf(bio, &bufmem, BIO_NOCLOSE); + BIO_set_flags(bio, BIO_FLAGS_MEM_RDONLY); + if (!TEST_int_eq(BIO_read(bio, buf, sizeof(buf)), sizeof(str))) + goto finish; + if (!TEST_mem_eq(buf, sizeof(str), str, sizeof(str))) + goto finish; + ok = 1; + +finish: + BIO_free(bio); + return ok; +} + +static int test_bio_get_mem(void) +{ + int ok = 0; + BIO *bio = NULL; + BUF_MEM *bufmem = NULL; + + bio = BIO_new(BIO_s_mem()); + if (!TEST_ptr(bio)) + goto finish; + if (!TEST_int_eq(BIO_puts(bio, "Hello World\n"), 12)) + goto finish; + BIO_get_mem_ptr(bio, &bufmem); + if (!TEST_ptr(bufmem)) + goto finish; + if (!TEST_int_gt(BIO_set_close(bio, BIO_NOCLOSE), 0)) + goto finish; + BIO_free(bio); + bio = NULL; + if (!TEST_mem_eq(bufmem->data, bufmem->length, "Hello World\n", 12)) + goto finish; + ok = 1; + +finish: + BIO_free(bio); + BUF_MEM_free(bufmem); + return ok; +} + +static int test_bio_new_mem_buf(void) +{ + int ok = 0; + BIO *bio; + BUF_MEM *bufmem; + char data[16]; + + bio = BIO_new_mem_buf("Hello World\n", 12); + if (!TEST_ptr(bio)) + goto finish; + if (!TEST_int_eq(BIO_read(bio, data, 5), 5)) + goto finish; + if (!TEST_mem_eq(data, 5, "Hello", 5)) + goto finish; + if (!TEST_int_gt(BIO_get_mem_ptr(bio, &bufmem), 0)) + goto finish; + if (!TEST_int_lt(BIO_write(bio, "test", 4), 0)) + goto finish; + if (!TEST_int_eq(BIO_read(bio, data, 16), 7)) + goto finish; + if (!TEST_mem_eq(data, 7, " World\n", 7)) + goto finish; + if (!TEST_int_gt(BIO_reset(bio), 0)) + goto finish; + if (!TEST_int_eq(BIO_read(bio, data, 16), 12)) + goto finish; + if (!TEST_mem_eq(data, 12, "Hello World\n", 12)) + goto finish; + ok = 1; + +finish: + BIO_free(bio); + return ok; +} + +static int test_bio_rdonly_mem_buf(void) +{ + int ok = 0; + BIO *bio, *bio2 = NULL; + BUF_MEM *bufmem; + char data[16]; + + bio = BIO_new_mem_buf("Hello World\n", 12); + if (!TEST_ptr(bio)) + goto finish; + if (!TEST_int_eq(BIO_read(bio, data, 5), 5)) + goto finish; + if (!TEST_mem_eq(data, 5, "Hello", 5)) + goto finish; + if (!TEST_int_gt(BIO_get_mem_ptr(bio, &bufmem), 0)) + goto finish; + (void)BIO_set_close(bio, BIO_NOCLOSE); + + bio2 = BIO_new(BIO_s_mem()); + if (!TEST_ptr(bio2)) + goto finish; + BIO_set_mem_buf(bio2, bufmem, BIO_CLOSE); + BIO_set_flags(bio2, BIO_FLAGS_MEM_RDONLY); + + if (!TEST_int_eq(BIO_read(bio2, data, 16), 7)) + goto finish; + if (!TEST_mem_eq(data, 7, " World\n", 7)) + goto finish; + if (!TEST_int_gt(BIO_reset(bio2), 0)) + goto finish; + if (!TEST_int_eq(BIO_read(bio2, data, 16), 7)) + goto finish; + if (!TEST_mem_eq(data, 7, " World\n", 7)) + goto finish; + ok = 1; + +finish: + BIO_free(bio); + BIO_free(bio2); + return ok; +} + +static int test_bio_rdwr_rdonly(void) +{ + int ok = 0; + BIO *bio = NULL; + char data[16]; + + bio = BIO_new(BIO_s_mem()); + if (!TEST_ptr(bio)) + goto finish; + if (!TEST_int_eq(BIO_puts(bio, "Hello World\n"), 12)) + goto finish; + + BIO_set_flags(bio, BIO_FLAGS_MEM_RDONLY); + if (!TEST_int_eq(BIO_read(bio, data, 16), 12)) + goto finish; + if (!TEST_mem_eq(data, 12, "Hello World\n", 12)) + goto finish; + if (!TEST_int_gt(BIO_reset(bio), 0)) + goto finish; + + BIO_clear_flags(bio, BIO_FLAGS_MEM_RDONLY); + if (!TEST_int_eq(BIO_puts(bio, "Hi!\n"), 4)) + goto finish; + if (!TEST_int_eq(BIO_read(bio, data, 16), 16)) + goto finish; + + if (!TEST_mem_eq(data, 16, "Hello World\nHi!\n", 16)) + goto finish; + + ok = 1; + +finish: + BIO_free(bio); + return ok; +} + +static int test_bio_nonclear_rst(void) +{ + int ok = 0; + BIO *bio = NULL; + char data[16]; + + bio = BIO_new(BIO_s_mem()); + if (!TEST_ptr(bio)) + goto finish; + if (!TEST_int_eq(BIO_puts(bio, "Hello World\n"), 12)) + goto finish; + + BIO_set_flags(bio, BIO_FLAGS_NONCLEAR_RST); + + if (!TEST_int_eq(BIO_read(bio, data, 16), 12)) + goto finish; + if (!TEST_mem_eq(data, 12, "Hello World\n", 12)) + goto finish; + if (!TEST_int_gt(BIO_reset(bio), 0)) + goto finish; + + if (!TEST_int_eq(BIO_read(bio, data, 16), 12)) + goto finish; + if (!TEST_mem_eq(data, 12, "Hello World\n", 12)) + goto finish; + + BIO_clear_flags(bio, BIO_FLAGS_NONCLEAR_RST); + if (!TEST_int_gt(BIO_reset(bio), 0)) + goto finish; + + if (!TEST_int_lt(BIO_read(bio, data, 16), 1)) + goto finish; + + ok = 1; + +finish: + BIO_free(bio); + return ok; +} + +int global_init(void) +{ + CRYPTO_set_mem_debug(1); + CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); + return 1; +} + +int setup_tests(void) +{ + ADD_TEST(test_bio_memleak); + ADD_TEST(test_bio_get_mem); + ADD_TEST(test_bio_new_mem_buf); + ADD_TEST(test_bio_rdonly_mem_buf); + ADD_TEST(test_bio_rdwr_rdonly); + ADD_TEST(test_bio_nonclear_rst); + return 1; +} diff --git a/deps/openssl/openssl/test/bntest.c b/deps/openssl/openssl/test/bntest.c index 0bd9a06f728a5e..97d08ac0be6bc0 100644 --- a/deps/openssl/openssl/test/bntest.c +++ b/deps/openssl/openssl/test/bntest.c @@ -1634,6 +1634,30 @@ static int file_modsqrt(STANZA *s) return st; } +static int file_gcd(STANZA *s) +{ + BIGNUM *a = NULL, *b = NULL, *gcd = NULL, *ret = NULL; + int st = 0; + + if (!TEST_ptr(a = getBN(s, "A")) + || !TEST_ptr(b = getBN(s, "B")) + || !TEST_ptr(gcd = getBN(s, "GCD")) + || !TEST_ptr(ret = BN_new())) + goto err; + + if (!TEST_true(BN_gcd(ret, a, b, ctx)) + || !equalBN("gcd(A,B)", gcd, ret)) + goto err; + + st = 1; + err: + BN_free(a); + BN_free(b); + BN_free(gcd); + BN_free(ret); + return st; +} + static int test_bn2padded(void) { #if HAVE_BN_PADDED @@ -2352,6 +2376,316 @@ static int test_ctx_consttime_flag(void) return st; } +static int test_gcd_prime(void) +{ + BIGNUM *a = NULL, *b = NULL, *gcd = NULL; + int i, st = 0; + + if (!TEST_ptr(a = BN_new()) + || !TEST_ptr(b = BN_new()) + || !TEST_ptr(gcd = BN_new())) + goto err; + + if (!TEST_true(BN_generate_prime_ex(a, 1024, 0, NULL, NULL, NULL))) + goto err; + for (i = 0; i < NUM0; i++) { + if (!TEST_true(BN_generate_prime_ex(b, 1024, 0, + NULL, NULL, NULL)) + || !TEST_true(BN_gcd(gcd, a, b, ctx)) + || !TEST_true(BN_is_one(gcd))) + goto err; + } + + st = 1; + err: + BN_free(a); + BN_free(b); + BN_free(gcd); + return st; +} + +typedef struct mod_exp_test_st +{ + const char *base; + const char *exp; + const char *mod; + const char *res; +} MOD_EXP_TEST; + +static const MOD_EXP_TEST ModExpTests[] = { + /* original test vectors for rsaz_512_sqr bug, by OSS-Fuzz */ + { + "1166180238001879113042182292626169621106255558914000595999312084" + "4627946820899490684928760491249738643524880720584249698100907201" + "002086675047927600340800371", + "8000000000000000000000000000000000000000000000000000000000000000" + "0000000000000000000000000000000000000000000000000000000000000000" + "00000000", + "1340780792684523720980737645613191762604395855615117867483316354" + "3294276330515137663421134775482798690129946803802212663956180562" + "088664022929883876655300863", + "8243904058268085430037326628480645845409758077568738532059032482" + "8294114415890603594730158120426756266457928475330450251339773498" + "26758407619521544102068438" + }, + { + "4974270041410803822078866696159586946995877618987010219312844726" + "0284386121835740784990869050050504348861513337232530490826340663" + "197278031692737429054", + "4974270041410803822078866696159586946995877428188754995041148539" + "1663243362592271353668158565195557417149981094324650322556843202" + "946445882670777892608", + "1340780716511420227215592830971452482815377482627251725537099028" + "4429769497230131760206012644403029349547320953206103351725462999" + "947509743623340557059752191", + "5296244594780707015616522701706118082963369547253192207884519362" + "1767869984947542695665420219028522815539559194793619684334900442" + "49304558011362360473525933" + }, + /* test vectors for rsaz_512_srq bug, with rcx/rbx=1 */ + { /* between first and second iteration */ + "5148719036160389201525610950887605325980251964889646556085286545" + "3931548809178823413169359635978762036512397113080988070677858033" + "36463909753993540214027190", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042158", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042159", + "1" + }, + { /* between second and third iteration */ + "8908340854353752577419678771330460827942371434853054158622636544" + "8151360109722890949471912566649465436296659601091730745087014189" + "2672764191218875181826063", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042158", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042159", + "1" + }, + { /* between third and fourth iteration */ + "3427446396505596330634350984901719674479522569002785244080234738" + "4288743635435746136297299366444548736533053717416735379073185344" + "26985272974404612945608761", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042158", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042159", + "1" + }, + { /* between fourth and fifth iteration */ + "3472743044917564564078857826111874560045331237315597383869652985" + "6919870028890895988478351133601517365908445058405433832718206902" + "4088133164805266956353542", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042158", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042159", + "1" + }, + { /* between fifth and sixth iteration */ + "3608632990153469264412378349742339216742409743898601587274768025" + "0110772032985643555192767717344946174122842255204082586753499651" + "14483434992887431333675068", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042158", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042159", + "1" + }, + { /* between sixth and seventh iteration */ + "8455374370234070242910508226941981520235709767260723212165264877" + "8689064388017521524568434328264431772644802567028663962962025746" + "9283458217850119569539086", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042158", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042159", + "1" + }, + { /* between seventh and eighth iteration */ + "5155371529688532178421209781159131443543419764974688878527112131" + "7446518205609427412336183157918981038066636807317733319323257603" + "04416292040754017461076359", + "1005585594745694782468051874865438459560952436544429503329267108" + "2791323022555160232601405723625177570767523893639864538140315412" + "108959927459825236754563832", + "1005585594745694782468051874865438459560952436544429503329267108" + "2791323022555160232601405723625177570767523893639864538140315412" + "108959927459825236754563833", + "1" + }, + /* test vectors for rsaz_512_srq bug, with rcx/rbx=2 */ + { /* between first and second iteration */ + "3155666506033786929967309937640790361084670559125912405342594979" + "4345142818528956285490897841406338022378565972533508820577760065" + "58494345853302083699912572", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042158", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042159", + "1" + }, + { /* between second and third iteration */ + "3789819583801342198190405714582958759005991915505282362397087750" + "4213544724644823098843135685133927198668818185338794377239590049" + "41019388529192775771488319", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042158", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042159", + "1" + }, + { /* between third and forth iteration */ + "4695752552040706867080542538786056470322165281761525158189220280" + "4025547447667484759200742764246905647644662050122968912279199065" + "48065034299166336940507214", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042158", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042159", + "1" + }, + { /* between forth and fifth iteration */ + "2159140240970485794188159431017382878636879856244045329971239574" + "8919691133560661162828034323196457386059819832804593989740268964" + "74502911811812651475927076", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042158", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042159", + "1" + }, + { /* between fifth and sixth iteration */ + "5239312332984325668414624633307915097111691815000872662334695514" + "5436533521392362443557163429336808208137221322444780490437871903" + "99972784701334569424519255", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042158", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042159", + "1" + }, + { /* between sixth and seventh iteration */ + "1977953647322612860406858017869125467496941904523063466791308891" + "1172796739058531929470539758361774569875505293428856181093904091" + "33788264851714311303725089", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042158", + "6703903964971298549787012499102923063739682910296196688861780721" + "8608820150367734884009371490834517138450159290932430254268769414" + "05973284973216824503042159", + "1" + }, + { /* between seventh and eighth iteration */ + "6456987954117763835533395796948878140715006860263624787492985786" + "8514630216966738305923915688821526449499763719943997120302368211" + "04813318117996225041943964", + "1340780792994259709957402499820584612747936582059239337772356144" + "3721764030073546976801874298166903427690031858186486050853753882" + "811946551499689575296532556", + "1340780792994259709957402499820584612747936582059239337772356144" + "3721764030073546976801874298166903427690031858186486050853753882" + "811946551499689575296532557", + "1" + } +}; + +static int test_mod_exp(int i) +{ + const MOD_EXP_TEST *test = &ModExpTests[i]; + int res = 0; + BIGNUM* result = NULL; + BIGNUM *base = NULL, *exponent = NULL, *modulo = NULL; + char *s = NULL; + + if (!TEST_ptr(result = BN_new()) + || !TEST_true(BN_dec2bn(&base, test->base)) + || !TEST_true(BN_dec2bn(&exponent, test->exp)) + || !TEST_true(BN_dec2bn(&modulo, test->mod))) + goto err; + + if (!TEST_int_eq(BN_mod_exp(result, base, exponent, modulo, ctx), 1)) + goto err; + + if (!TEST_ptr(s = BN_bn2dec(result))) + goto err; + + if (!TEST_mem_eq(s, strlen(s), test->res, strlen(test->res))) + goto err; + + res = 1; + + err: + OPENSSL_free(s); + BN_free(result); + BN_free(base); + BN_free(exponent); + BN_free(modulo); + return res; +} + +static int test_mod_exp_consttime(int i) +{ + const MOD_EXP_TEST *test = &ModExpTests[i]; + int res = 0; + BIGNUM* result = NULL; + BIGNUM *base = NULL, *exponent = NULL, *modulo = NULL; + char *s = NULL; + + if (!TEST_ptr(result = BN_new()) + || !TEST_true(BN_dec2bn(&base, test->base)) + || !TEST_true(BN_dec2bn(&exponent, test->exp)) + || !TEST_true(BN_dec2bn(&modulo, test->mod))) + goto err; + + BN_set_flags(base, BN_FLG_CONSTTIME); + BN_set_flags(exponent, BN_FLG_CONSTTIME); + BN_set_flags(modulo, BN_FLG_CONSTTIME); + + if (!TEST_int_eq(BN_mod_exp(result, base, exponent, modulo, ctx), 1)) + goto err; + + if (!TEST_ptr(s = BN_bn2dec(result))) + goto err; + + if (!TEST_mem_eq(s, strlen(s), test->res, strlen(test->res))) + goto err; + + res = 1; + + err: + OPENSSL_free(s); + BN_free(result); + BN_free(base); + BN_free(exponent); + BN_free(modulo); + return res; +} + static int file_test_run(STANZA *s) { static const FILETEST filetests[] = { @@ -2366,6 +2700,7 @@ static int file_test_run(STANZA *s) {"ModExp", file_modexp}, {"Exp", file_exp}, {"ModSqrt", file_modsqrt}, + {"GCD", file_gcd}, }; int numtests = OSSL_NELEM(filetests); const FILETEST *tp = filetests; @@ -2454,6 +2789,9 @@ int setup_tests(void) #endif ADD_ALL_TESTS(test_is_prime, (int)OSSL_NELEM(primes)); ADD_ALL_TESTS(test_not_prime, (int)OSSL_NELEM(not_primes)); + ADD_TEST(test_gcd_prime); + ADD_ALL_TESTS(test_mod_exp, (int)OSSL_NELEM(ModExpTests)); + ADD_ALL_TESTS(test_mod_exp_consttime, (int)OSSL_NELEM(ModExpTests)); } else { ADD_ALL_TESTS(run_file_tests, n); } diff --git a/deps/openssl/openssl/test/build.info b/deps/openssl/openssl/test/build.info index 1727f28626937b..200fb8c141a900 100644 --- a/deps/openssl/openssl/test/build.info +++ b/deps/openssl/openssl/test/build.info @@ -12,7 +12,7 @@ IF[{- !$disabled{tests} -}] SOURCE[libtestutil.a]=testutil/basic_output.c testutil/output_helpers.c \ testutil/driver.c testutil/tests.c testutil/cb.c testutil/stanza.c \ testutil/format_output.c testutil/tap_bio.c \ - testutil/test_cleanup.c testutil/main.c testutil/init.c \ + testutil/test_cleanup.c testutil/main.c testutil/testutil_init.c \ testutil/random.c INCLUDE[libtestutil.a]=../include DEPEND[libtestutil.a]=../libcrypto @@ -51,7 +51,7 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=MAIN recordlentest drbgtest drbg_cavs_test sslbuffertest \ time_offset_test pemtest ssl_cert_table_internal_test ciphername_test \ servername_test ocspapitest rsa_mp_test fatalerrtest tls13ccstest \ - sysdefaulttest errtest gosttest + sysdefaulttest errtest ssl_ctx_test gosttest SOURCE[versions]=versions.c INCLUDE[versions]=../include @@ -185,7 +185,7 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=MAIN DEPEND[evp_test]=../libcrypto libtestutil.a SOURCE[evp_extra_test]=evp_extra_test.c - INCLUDE[evp_extra_test]=../include ../crypto/include + INCLUDE[evp_extra_test]=../include DEPEND[evp_extra_test]=../libcrypto libtestutil.a SOURCE[igetest]=igetest.c @@ -393,7 +393,7 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=MAIN IF[{- !$disabled{shared} -}] PROGRAMS_NO_INST=shlibloadtest SOURCE[shlibloadtest]=shlibloadtest.c - INCLUDE[shlibloadtest]=../include ../crypto/include + INCLUDE[shlibloadtest]=../include ENDIF IF[{- $disabled{shared} -}] @@ -463,15 +463,15 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=MAIN ENDIF SOURCE[poly1305_internal_test]=poly1305_internal_test.c - INCLUDE[poly1305_internal_test]=.. ../include ../crypto/include + INCLUDE[poly1305_internal_test]=.. ../include DEPEND[poly1305_internal_test]=../libcrypto.a libtestutil.a SOURCE[chacha_internal_test]=chacha_internal_test.c - INCLUDE[chacha_internal_test]=.. ../include ../crypto/include + INCLUDE[chacha_internal_test]=.. ../include DEPEND[chacha_internal_test]=../libcrypto.a libtestutil.a SOURCE[asn1_internal_test]=asn1_internal_test.c - INCLUDE[asn1_internal_test]=.. ../include ../crypto/include + INCLUDE[asn1_internal_test]=.. ../include DEPEND[asn1_internal_test]=../libcrypto.a libtestutil.a SOURCE[modes_internal_test]=modes_internal_test.c @@ -491,23 +491,23 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=MAIN DEPEND[wpackettest]=../libcrypto ../libssl.a libtestutil.a SOURCE[ctype_internal_test]=ctype_internal_test.c - INCLUDE[ctype_internal_test]=.. ../crypto/include ../include + INCLUDE[ctype_internal_test]=.. ../include DEPEND[ctype_internal_test]=../libcrypto.a libtestutil.a SOURCE[siphash_internal_test]=siphash_internal_test.c - INCLUDE[siphash_internal_test]=.. ../include ../crypto/include + INCLUDE[siphash_internal_test]=.. ../include DEPEND[siphash_internal_test]=../libcrypto.a libtestutil.a SOURCE[sm2_internal_test]=sm2_internal_test.c - INCLUDE[sm2_internal_test]=../include ../crypto/include + INCLUDE[sm2_internal_test]=../include DEPEND[sm2_internal_test]=../libcrypto.a libtestutil.a SOURCE[sm4_internal_test]=sm4_internal_test.c - INCLUDE[sm4_internal_test]=.. ../include ../crypto/include + INCLUDE[sm4_internal_test]=.. ../include DEPEND[sm4_internal_test]=../libcrypto.a libtestutil.a SOURCE[ec_internal_test]=ec_internal_test.c - INCLUDE[ec_internal_test]=../include ../crypto/ec ../crypto/include + INCLUDE[ec_internal_test]=../include ../crypto/ec DEPEND[ec_internal_test]=../libcrypto.a libtestutil.a SOURCE[curve448_internal_test]=curve448_internal_test.c @@ -560,6 +560,10 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=MAIN DEPEND[gosttest]=../libcrypto ../libssl libtestutil.a ENDIF + SOURCE[ssl_ctx_test]=ssl_ctx_test.c + INCLUDE[ssl_ctx_test]=../include + DEPEND[ssl_ctx_test]=../libcrypto ../libssl libtestutil.a + {- use File::Spec::Functions; use File::Basename; diff --git a/deps/openssl/openssl/test/certs/root-ed448-cert.pem b/deps/openssl/openssl/test/certs/root-ed448-cert.pem new file mode 100644 index 00000000000000..48e293d69d4ca3 --- /dev/null +++ b/deps/openssl/openssl/test/certs/root-ed448-cert.pem @@ -0,0 +1,10 @@ +-----BEGIN CERTIFICATE----- +MIIBeDCB+aADAgECAgEBMAUGAytlcTAVMRMwEQYDVQQDDApSb290IEVkNDQ4MCAX +DTIwMDIwOTEzMjY1NVoYDzIxMjAwMjEwMTMyNjU1WjAVMRMwEQYDVQQDDApSb290 +IEVkNDQ4MEMwBQYDK2VxAzoAbbhuwNA/rdlgdLSyTJ6WaCVNO1gzccKiKW6pCADM +McMBCNiQqWSt4EIbHpqDc+eWoiKbG6t7tjUAo1MwUTAdBgNVHQ4EFgQUVg2aQ+yh +VRhOuW1l19jtgxfTgj8wHwYDVR0jBBgwFoAUVg2aQ+yhVRhOuW1l19jtgxfTgj8w +DwYDVR0TAQH/BAUwAwEB/zAFBgMrZXEDcwCiXlZXyMubWFqLYiLXfKYrurajBMON +lclLrYr57Syd+nAIlgXiF0rGK2PawoMPXVB3VWWSigEb54AImb6tsW42gC+zC6oq +nkPC2FTLXPvqqgGXUpK/OfhPUP9bWw6mcJaIozlyzJD4AyebN9LDrBqCMwA= +-----END CERTIFICATE----- diff --git a/deps/openssl/openssl/test/certs/root-ed448-key.pem b/deps/openssl/openssl/test/certs/root-ed448-key.pem new file mode 100644 index 00000000000000..e0c36ff43a5260 --- /dev/null +++ b/deps/openssl/openssl/test/certs/root-ed448-key.pem @@ -0,0 +1,4 @@ +-----BEGIN PRIVATE KEY----- +MEcCAQAwBQYDK2VxBDsEOQeryQn6L8gItRarrM0pRHxjNdtaIz3BrWU2mwhLZQaq +8Cm6w5gP6aitAIde7Td3nQ55bIGC5roxFQ== +-----END PRIVATE KEY----- diff --git a/deps/openssl/openssl/test/certs/server-ed448-cert.pem b/deps/openssl/openssl/test/certs/server-ed448-cert.pem index 740f2755497738..ba050077c3e0c4 100644 --- a/deps/openssl/openssl/test/certs/server-ed448-cert.pem +++ b/deps/openssl/openssl/test/certs/server-ed448-cert.pem @@ -1,14 +1,11 @@ -----BEGIN CERTIFICATE----- -MIICHTCCAQWgAwIBAgIBAjANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdSb290 -IENBMCAXDTE4MDIyNzE1MDcxM1oYDzIxMTgwMjI4MTUwNzEzWjAQMQ4wDAYDVQQD -DAVFZDQ0ODBDMAUGAytlcQM6ABBicYlhG1s3AoG5BFmY3r50lJzjQoER4zwuieEe -QTvKxLEV06vGh79UWO6yQ5FxqmxvM1F/Xw7RAKNfMF0wHQYDVR0OBBYEFAwa1L4m -3pwA8+IEJ7K/4izrjJIHMB8GA1UdIwQYMBaAFHB/Lq6DaFmYBCMqzes+F80k3QFJ -MAkGA1UdEwQCMAAwEAYDVR0RBAkwB4IFRWQ0NDgwDQYJKoZIhvcNAQELBQADggEB -AAugH2aE6VvArnOVjKBtalqtHlx+NCC3+S65sdWc9A9sNgI1ZiN7dn76TKn5d0T7 -NqV8nY1rwQg6WPGrCD6Eh63qhotytqYIxltppb4MOUJcz/Zf0ZwhB5bUfwNB//Ih -5aZT86FpXVuyMnwUTWPcISJqpZiBv95yzZFMpniHFvecvV445ly4TFW5y6VURh40 -Tg4tMgjPTE7ADw+dX4FvnTWY3blxT1GzGxGvqWW4HgP8dOETnjmAwCzN0nUVmH9s -7ybHORcSljcpe0XH6L/K7mbI+r8mVLsAoIzUeDwUdKKJZ2uGEtdhQDmJBp4EjOXE -3qIn3wEQQ6ax4NIwkZihdLI= +MIIBlTCCARWgAwIBAgIBAjAFBgMrZXEwFTETMBEGA1UEAwwKUm9vdCBFZDQ0ODAg +Fw0yMDAyMDkxMzMwMjJaGA8yMTIwMDIxMDEzMzAyMlowEDEOMAwGA1UEAwwFZWQ0 +NDgwQzAFBgMrZXEDOgAQYnGJYRtbNwKBuQRZmN6+dJSc40KBEeM8LonhHkE7ysSx +FdOrxoe/VFjuskORcapsbzNRf18O0QCjdDByMB0GA1UdDgQWBBQMGtS+Jt6cAPPi +BCeyv+Is64ySBzAfBgNVHSMEGDAWgBRWDZpD7KFVGE65bWXX2O2DF9OCPzAJBgNV +HRMEAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMBMBAGA1UdEQQJMAeCBWVkNDQ4MAUG +AytlcQNzABLGZiaU6JPKa9eQ/VsE4HN9XjSogZBKIEHEWwyxrtGvjWiZ5MOnNJmQ +7mX+Y2eJzfZ6MGHc63IlgPdIPFPzInnnAugw297kUNoLTg9SsGYeVGLbI3PNjwFL +mQ3508f1Jobb8qZnf8YFUZrd85aurgoKAA== -----END CERTIFICATE----- diff --git a/deps/openssl/openssl/test/certs/setup.sh b/deps/openssl/openssl/test/certs/setup.sh index 26b2f1ddfe02e7..2d53ea5b08c6cb 100755 --- a/deps/openssl/openssl/test/certs/setup.sh +++ b/deps/openssl/openssl/test/certs/setup.sh @@ -375,3 +375,8 @@ openssl req -new -nodes -subj "/CN=localhost" \ -pkeyopt rsa_pss_keygen_md:sha256 -pkeyopt rsa_pss_keygen_saltlen:32 | \ ./mkcert.sh geneenocsr "Server RSA-PSS restricted cert" \ server-pss-restrict-cert rootkey rootcert + +OPENSSL_SIGALG=ED448 OPENSSL_KEYALG=ed448 ./mkcert.sh genroot "Root Ed448" \ + root-ed448-key root-ed448-cert +OPENSSL_SIGALG=ED448 OPENSSL_KEYALG=ed448 ./mkcert.sh genee ed448 \ + server-ed448-key server-ed448-cert root-ed448-key root-ed448-cert diff --git a/deps/openssl/openssl/test/chacha_internal_test.c b/deps/openssl/openssl/test/chacha_internal_test.c new file mode 100644 index 00000000000000..dcb3c23728dfea --- /dev/null +++ b/deps/openssl/openssl/test/chacha_internal_test.c @@ -0,0 +1,190 @@ +/* + * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * Internal tests for the chacha module. EVP tests would exercise + * complete 32-byte blocks. This test goes per byte... + */ + +#include +#include +#include "testutil.h" +#include "crypto/chacha.h" + +static const unsigned int key[] = { + 0x03020100, 0x07060504, 0x0b0a0908, 0x0f0e0d0c, + 0x13121110, 0x17161514, 0x1b1a1918, 0x1f1e1d1c +}; + +static const unsigned int ivp[] = { + 0x00000000, 0x00000000, 0x03020100, 0x07060504 +}; + +static const unsigned char ref[] = { + 0xf7, 0x98, 0xa1, 0x89, 0xf1, 0x95, 0xe6, 0x69, + 0x82, 0x10, 0x5f, 0xfb, 0x64, 0x0b, 0xb7, 0x75, + 0x7f, 0x57, 0x9d, 0xa3, 0x16, 0x02, 0xfc, 0x93, + 0xec, 0x01, 0xac, 0x56, 0xf8, 0x5a, 0xc3, 0xc1, + 0x34, 0xa4, 0x54, 0x7b, 0x73, 0x3b, 0x46, 0x41, + 0x30, 0x42, 0xc9, 0x44, 0x00, 0x49, 0x17, 0x69, + 0x05, 0xd3, 0xbe, 0x59, 0xea, 0x1c, 0x53, 0xf1, + 0x59, 0x16, 0x15, 0x5c, 0x2b, 0xe8, 0x24, 0x1a, + 0x38, 0x00, 0x8b, 0x9a, 0x26, 0xbc, 0x35, 0x94, + 0x1e, 0x24, 0x44, 0x17, 0x7c, 0x8a, 0xde, 0x66, + 0x89, 0xde, 0x95, 0x26, 0x49, 0x86, 0xd9, 0x58, + 0x89, 0xfb, 0x60, 0xe8, 0x46, 0x29, 0xc9, 0xbd, + 0x9a, 0x5a, 0xcb, 0x1c, 0xc1, 0x18, 0xbe, 0x56, + 0x3e, 0xb9, 0xb3, 0xa4, 0xa4, 0x72, 0xf8, 0x2e, + 0x09, 0xa7, 0xe7, 0x78, 0x49, 0x2b, 0x56, 0x2e, + 0xf7, 0x13, 0x0e, 0x88, 0xdf, 0xe0, 0x31, 0xc7, + 0x9d, 0xb9, 0xd4, 0xf7, 0xc7, 0xa8, 0x99, 0x15, + 0x1b, 0x9a, 0x47, 0x50, 0x32, 0xb6, 0x3f, 0xc3, + 0x85, 0x24, 0x5f, 0xe0, 0x54, 0xe3, 0xdd, 0x5a, + 0x97, 0xa5, 0xf5, 0x76, 0xfe, 0x06, 0x40, 0x25, + 0xd3, 0xce, 0x04, 0x2c, 0x56, 0x6a, 0xb2, 0xc5, + 0x07, 0xb1, 0x38, 0xdb, 0x85, 0x3e, 0x3d, 0x69, + 0x59, 0x66, 0x09, 0x96, 0x54, 0x6c, 0xc9, 0xc4, + 0xa6, 0xea, 0xfd, 0xc7, 0x77, 0xc0, 0x40, 0xd7, + 0x0e, 0xaf, 0x46, 0xf7, 0x6d, 0xad, 0x39, 0x79, + 0xe5, 0xc5, 0x36, 0x0c, 0x33, 0x17, 0x16, 0x6a, + 0x1c, 0x89, 0x4c, 0x94, 0xa3, 0x71, 0x87, 0x6a, + 0x94, 0xdf, 0x76, 0x28, 0xfe, 0x4e, 0xaa, 0xf2, + 0xcc, 0xb2, 0x7d, 0x5a, 0xaa, 0xe0, 0xad, 0x7a, + 0xd0, 0xf9, 0xd4, 0xb6, 0xad, 0x3b, 0x54, 0x09, + 0x87, 0x46, 0xd4, 0x52, 0x4d, 0x38, 0x40, 0x7a, + 0x6d, 0xeb, 0x3a, 0xb7, 0x8f, 0xab, 0x78, 0xc9, + 0x42, 0x13, 0x66, 0x8b, 0xbb, 0xd3, 0x94, 0xc5, + 0xde, 0x93, 0xb8, 0x53, 0x17, 0x8a, 0xdd, 0xd6, + 0xb9, 0x7f, 0x9f, 0xa1, 0xec, 0x3e, 0x56, 0xc0, + 0x0c, 0x9d, 0xdf, 0xf0, 0xa4, 0x4a, 0x20, 0x42, + 0x41, 0x17, 0x5a, 0x4c, 0xab, 0x0f, 0x96, 0x1b, + 0xa5, 0x3e, 0xde, 0x9b, 0xdf, 0x96, 0x0b, 0x94, + 0xf9, 0x82, 0x9b, 0x1f, 0x34, 0x14, 0x72, 0x64, + 0x29, 0xb3, 0x62, 0xc5, 0xb5, 0x38, 0xe3, 0x91, + 0x52, 0x0f, 0x48, 0x9b, 0x7e, 0xd8, 0xd2, 0x0a, + 0xe3, 0xfd, 0x49, 0xe9, 0xe2, 0x59, 0xe4, 0x43, + 0x97, 0x51, 0x4d, 0x61, 0x8c, 0x96, 0xc4, 0x84, + 0x6b, 0xe3, 0xc6, 0x80, 0xbd, 0xc1, 0x1c, 0x71, + 0xdc, 0xbb, 0xe2, 0x9c, 0xcf, 0x80, 0xd6, 0x2a, + 0x09, 0x38, 0xfa, 0x54, 0x93, 0x91, 0xe6, 0xea, + 0x57, 0xec, 0xbe, 0x26, 0x06, 0x79, 0x0e, 0xc1, + 0x5d, 0x22, 0x24, 0xae, 0x30, 0x7c, 0x14, 0x42, + 0x26, 0xb7, 0xc4, 0xe8, 0xc2, 0xf9, 0x7d, 0x2a, + 0x1d, 0x67, 0x85, 0x2d, 0x29, 0xbe, 0xba, 0x11, + 0x0e, 0xdd, 0x44, 0x51, 0x97, 0x01, 0x20, 0x62, + 0xa3, 0x93, 0xa9, 0xc9, 0x28, 0x03, 0xad, 0x3b, + 0x4f, 0x31, 0xd7, 0xbc, 0x60, 0x33, 0xcc, 0xf7, + 0x93, 0x2c, 0xfe, 0xd3, 0xf0, 0x19, 0x04, 0x4d, + 0x25, 0x90, 0x59, 0x16, 0x77, 0x72, 0x86, 0xf8, + 0x2f, 0x9a, 0x4c, 0xc1, 0xff, 0xe4, 0x30, 0xff, + 0xd1, 0xdc, 0xfc, 0x27, 0xde, 0xed, 0x32, 0x7b, + 0x9f, 0x96, 0x30, 0xd2, 0xfa, 0x96, 0x9f, 0xb6, + 0xf0, 0x60, 0x3c, 0xd1, 0x9d, 0xd9, 0xa9, 0x51, + 0x9e, 0x67, 0x3b, 0xcf, 0xcd, 0x90, 0x14, 0x12, + 0x52, 0x91, 0xa4, 0x46, 0x69, 0xef, 0x72, 0x85, + 0xe7, 0x4e, 0xd3, 0x72, 0x9b, 0x67, 0x7f, 0x80, + 0x1c, 0x3c, 0xdf, 0x05, 0x8c, 0x50, 0x96, 0x31, + 0x68, 0xb4, 0x96, 0x04, 0x37, 0x16, 0xc7, 0x30, + 0x7c, 0xd9, 0xe0, 0xcd, 0xd1, 0x37, 0xfc, 0xcb, + 0x0f, 0x05, 0xb4, 0x7c, 0xdb, 0xb9, 0x5c, 0x5f, + 0x54, 0x83, 0x16, 0x22, 0xc3, 0x65, 0x2a, 0x32, + 0xb2, 0x53, 0x1f, 0xe3, 0x26, 0xbc, 0xd6, 0xe2, + 0xbb, 0xf5, 0x6a, 0x19, 0x4f, 0xa1, 0x96, 0xfb, + 0xd1, 0xa5, 0x49, 0x52, 0x11, 0x0f, 0x51, 0xc7, + 0x34, 0x33, 0x86, 0x5f, 0x76, 0x64, 0xb8, 0x36, + 0x68, 0x5e, 0x36, 0x64, 0xb3, 0xd8, 0x44, 0x4a, + 0xf8, 0x9a, 0x24, 0x28, 0x05, 0xe1, 0x8c, 0x97, + 0x5f, 0x11, 0x46, 0x32, 0x49, 0x96, 0xfd, 0xe1, + 0x70, 0x07, 0xcf, 0x3e, 0x6e, 0x8f, 0x4e, 0x76, + 0x40, 0x22, 0x53, 0x3e, 0xdb, 0xfe, 0x07, 0xd4, + 0x73, 0x3e, 0x48, 0xbb, 0x37, 0x2d, 0x75, 0xb0, + 0xef, 0x48, 0xec, 0x98, 0x3e, 0xb7, 0x85, 0x32, + 0x16, 0x1c, 0xc5, 0x29, 0xe5, 0xab, 0xb8, 0x98, + 0x37, 0xdf, 0xcc, 0xa6, 0x26, 0x1d, 0xbb, 0x37, + 0xc7, 0xc5, 0xe6, 0xa8, 0x74, 0x78, 0xbf, 0x41, + 0xee, 0x85, 0xa5, 0x18, 0xc0, 0xf4, 0xef, 0xa9, + 0xbd, 0xe8, 0x28, 0xc5, 0xa7, 0x1b, 0x8e, 0x46, + 0x59, 0x7b, 0x63, 0x4a, 0xfd, 0x20, 0x4d, 0x3c, + 0x50, 0x13, 0x34, 0x23, 0x9c, 0x34, 0x14, 0x28, + 0x5e, 0xd7, 0x2d, 0x3a, 0x91, 0x69, 0xea, 0xbb, + 0xd4, 0xdc, 0x25, 0xd5, 0x2b, 0xb7, 0x51, 0x6d, + 0x3b, 0xa7, 0x12, 0xd7, 0x5a, 0xd8, 0xc0, 0xae, + 0x5d, 0x49, 0x3c, 0x19, 0xe3, 0x8a, 0x77, 0x93, + 0x9e, 0x7a, 0x05, 0x8d, 0x71, 0x3e, 0x9c, 0xcc, + 0xca, 0x58, 0x04, 0x5f, 0x43, 0x6b, 0x43, 0x4b, + 0x1c, 0x80, 0xd3, 0x65, 0x47, 0x24, 0x06, 0xe3, + 0x92, 0x95, 0x19, 0x87, 0xdb, 0x69, 0x05, 0xc8, + 0x0d, 0x43, 0x1d, 0xa1, 0x84, 0x51, 0x13, 0x5b, + 0xe7, 0xe8, 0x2b, 0xca, 0xb3, 0x58, 0xcb, 0x39, + 0x71, 0xe6, 0x14, 0x05, 0xb2, 0xff, 0x17, 0x98, + 0x0d, 0x6e, 0x7e, 0x67, 0xe8, 0x61, 0xe2, 0x82, + 0x01, 0xc1, 0xee, 0x30, 0xb4, 0x41, 0x04, 0x0f, + 0xd0, 0x68, 0x78, 0xd6, 0x50, 0x42, 0xc9, 0x55, + 0x82, 0xa4, 0x31, 0x82, 0x07, 0xbf, 0xc7, 0x00, + 0xbe, 0x0c, 0xe3, 0x28, 0x89, 0xae, 0xc2, 0xff, + 0xe5, 0x08, 0x5e, 0x89, 0x67, 0x91, 0x0d, 0x87, + 0x9f, 0xa0, 0xe8, 0xc0, 0xff, 0x85, 0xfd, 0xc5, + 0x10, 0xb9, 0xff, 0x2f, 0xbf, 0x87, 0xcf, 0xcb, + 0x29, 0x57, 0x7d, 0x68, 0x09, 0x9e, 0x04, 0xff, + 0xa0, 0x5f, 0x75, 0x2a, 0x73, 0xd3, 0x77, 0xc7, + 0x0d, 0x3a, 0x8b, 0xc2, 0xda, 0x80, 0xe6, 0xe7, + 0x80, 0xec, 0x05, 0x71, 0x82, 0xc3, 0x3a, 0xd1, + 0xde, 0x38, 0x72, 0x52, 0x25, 0x8a, 0x1e, 0x18, + 0xe6, 0xfa, 0xd9, 0x10, 0x32, 0x7c, 0xe7, 0xf4, + 0x2f, 0xd1, 0xe1, 0xe0, 0x51, 0x5f, 0x95, 0x86, + 0xe2, 0xf2, 0xef, 0xcb, 0x9f, 0x47, 0x2b, 0x1d, + 0xbd, 0xba, 0xc3, 0x54, 0xa4, 0x16, 0x21, 0x51, + 0xe9, 0xd9, 0x2c, 0x79, 0xfb, 0x08, 0xbb, 0x4d, + 0xdc, 0x56, 0xf1, 0x94, 0x48, 0xc0, 0x17, 0x5a, + 0x46, 0xe2, 0xe6, 0xc4, 0x91, 0xfe, 0xc7, 0x14, + 0x19, 0xaa, 0x43, 0xa3, 0x49, 0xbe, 0xa7, 0x68, + 0xa9, 0x2c, 0x75, 0xde, 0x68, 0xfd, 0x95, 0x91, + 0xe6, 0x80, 0x67, 0xf3, 0x19, 0x70, 0x94, 0xd3, + 0xfb, 0x87, 0xed, 0x81, 0x78, 0x5e, 0xa0, 0x75, + 0xe4, 0xb6, 0x5e, 0x3e, 0x4c, 0x78, 0xf8, 0x1d, + 0xa9, 0xb7, 0x51, 0xc5, 0xef, 0xe0, 0x24, 0x15, + 0x23, 0x01, 0xc4, 0x8e, 0x63, 0x24, 0x5b, 0x55, + 0x6c, 0x4c, 0x67, 0xaf, 0xf8, 0x57, 0xe5, 0xea, + 0x15, 0xa9, 0x08, 0xd8, 0x3a, 0x1d, 0x97, 0x04, + 0xf8, 0xe5, 0x5e, 0x73, 0x52, 0xb2, 0x0b, 0x69, + 0x4b, 0xf9, 0x97, 0x02, 0x98, 0xe6, 0xb5, 0xaa, + 0xd3, 0x3e, 0xa2, 0x15, 0x5d, 0x10, 0x5d, 0x4e +}; + +static int test_cha_cha_internal(int n) +{ + unsigned char buf[sizeof(ref)]; + unsigned int i = n + 1, j; + + memset(buf, 0, i); + memcpy(buf + i, ref + i, sizeof(ref) - i); + + ChaCha20_ctr32(buf, buf, i, key, ivp); + + /* + * Idea behind checking for whole sizeof(ref) is that if + * ChaCha20_ctr32 oversteps i-th byte, then we'd know + */ + for (j = 0; j < sizeof(ref); j++) + if (!TEST_uchar_eq(buf[j], ref[j])) { + TEST_info("%d failed at %u (%02x)\n", i, j, buf[j]); + return 0; + } + return 1; +} + +int setup_tests(void) +{ +#ifdef CPUID_OBJ + OPENSSL_cpuid_setup(); +#endif + + ADD_ALL_TESTS(test_cha_cha_internal, sizeof(ref)); + return 1; +} diff --git a/deps/openssl/openssl/test/cipher_overhead_test.c b/deps/openssl/openssl/test/cipher_overhead_test.c new file mode 100644 index 00000000000000..2275fceda0c5b3 --- /dev/null +++ b/deps/openssl/openssl/test/cipher_overhead_test.c @@ -0,0 +1,49 @@ +/* + * Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "internal/nelem.h" +#include "testutil.h" + +#ifdef __VMS +# pragma names save +# pragma names as_is,shortened +#endif + +#include "../ssl/ssl_local.h" + +#ifdef __VMS +# pragma names restore +#endif + +static int cipher_overhead(void) +{ + int ret = 1, i, n = ssl3_num_ciphers(); + const SSL_CIPHER *ciph; + size_t mac, in, blk, ex; + + for (i = 0; i < n; i++) { + ciph = ssl3_get_cipher(i); + if (!ciph->min_dtls) + continue; + if (!TEST_true(ssl_cipher_get_overhead(ciph, &mac, &in, &blk, &ex))) { + TEST_info("Failed getting %s", ciph->name); + ret = 0; + } else { + TEST_info("Cipher %s: %zu %zu %zu %zu", + ciph->name, mac, in, blk, ex); + } + } + return ret; +} + +int setup_tests(void) +{ + ADD_TEST(cipher_overhead); + return 1; +} diff --git a/deps/openssl/openssl/test/cipherbytes_test.c b/deps/openssl/openssl/test/cipherbytes_test.c new file mode 100644 index 00000000000000..6418b42408c851 --- /dev/null +++ b/deps/openssl/openssl/test/cipherbytes_test.c @@ -0,0 +1,149 @@ +/* + * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL licenses, (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.openssl.org/source/license.html + * or in the file LICENSE in the source distribution. + */ + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "internal/nelem.h" +#include "testutil.h" + +static SSL_CTX *ctx; +static SSL *s; + +static int test_empty(void) +{ + STACK_OF(SSL_CIPHER) *sk = NULL, *scsv = NULL; + const unsigned char bytes[] = {0x00}; + int ret = 0; + + if (!TEST_int_eq(SSL_bytes_to_cipher_list(s, bytes, 0, 0, &sk, &scsv), 0) + || !TEST_ptr_null(sk) + || !TEST_ptr_null(scsv)) + goto err; + ret = 1; + +err: + sk_SSL_CIPHER_free(sk); + sk_SSL_CIPHER_free(scsv); + return ret; +} + +static int test_unsupported(void) +{ + STACK_OF(SSL_CIPHER) *sk, *scsv; + /* ECDH-RSA-AES256 (unsupported), ECDHE-ECDSA-AES128, */ + const unsigned char bytes[] = {0xc0, 0x0f, 0x00, 0x2f, 0x01, 0x00}; + int ret = 0; + + if (!TEST_true(SSL_bytes_to_cipher_list(s, bytes, sizeof(bytes), + 0, &sk, &scsv)) + || !TEST_ptr(sk) + || !TEST_int_eq(sk_SSL_CIPHER_num(sk), 1) + || !TEST_ptr(scsv) + || !TEST_int_eq(sk_SSL_CIPHER_num(scsv), 0) + || !TEST_str_eq(SSL_CIPHER_get_name(sk_SSL_CIPHER_value(sk, 0)), + "AES128-SHA")) + goto err; + + ret = 1; +err: + sk_SSL_CIPHER_free(sk); + sk_SSL_CIPHER_free(scsv); + return ret; +} + +static int test_v2(void) +{ + STACK_OF(SSL_CIPHER) *sk, *scsv; + /* ECDHE-ECDSA-AES256GCM, SSL2_RC4_1238_WITH_MD5, + * ECDHE-ECDSA-CHACHA20-POLY1305 */ + const unsigned char bytes[] = {0x00, 0x00, 0x35, 0x01, 0x00, 0x80, + 0x00, 0x00, 0x33}; + int ret = 0; + + if (!TEST_true(SSL_bytes_to_cipher_list(s, bytes, sizeof(bytes), 1, + &sk, &scsv)) + || !TEST_ptr(sk) + || !TEST_int_eq(sk_SSL_CIPHER_num(sk), 2) + || !TEST_ptr(scsv) + || !TEST_int_eq(sk_SSL_CIPHER_num(scsv), 0)) + goto err; + if (strcmp(SSL_CIPHER_get_name(sk_SSL_CIPHER_value(sk, 0)), + "AES256-SHA") != 0 || + strcmp(SSL_CIPHER_get_name(sk_SSL_CIPHER_value(sk, 1)), + "DHE-RSA-AES128-SHA") != 0) + goto err; + + ret = 1; + +err: + sk_SSL_CIPHER_free(sk); + sk_SSL_CIPHER_free(scsv); + return ret; +} + +static int test_v3(void) +{ + STACK_OF(SSL_CIPHER) *sk = NULL, *scsv = NULL; + /* ECDHE-ECDSA-AES256GCM, ECDHE-ECDSA-CHACHAPOLY, DHE-RSA-AES256GCM, + * EMPTY-RENEGOTIATION-INFO-SCSV, FALLBACK-SCSV */ + const unsigned char bytes[] = {0x00, 0x2f, 0x00, 0x33, 0x00, 0x9f, 0x00, 0xff, + 0x56, 0x00}; + int ret = 0; + + if (!SSL_bytes_to_cipher_list(s, bytes, sizeof(bytes), 0, &sk, &scsv) + || !TEST_ptr(sk) + || !TEST_int_eq(sk_SSL_CIPHER_num(sk), 3) + || !TEST_ptr(scsv) + || !TEST_int_eq(sk_SSL_CIPHER_num(scsv), 2) + || !TEST_str_eq(SSL_CIPHER_get_name(sk_SSL_CIPHER_value(sk, 0)), + "AES128-SHA") + || !TEST_str_eq(SSL_CIPHER_get_name(sk_SSL_CIPHER_value(sk, 1)), + "DHE-RSA-AES128-SHA") + || !TEST_str_eq(SSL_CIPHER_get_name(sk_SSL_CIPHER_value(sk, 2)), + "DHE-RSA-AES256-GCM-SHA384") + || !TEST_str_eq(SSL_CIPHER_get_name(sk_SSL_CIPHER_value(scsv, 0)), + "TLS_EMPTY_RENEGOTIATION_INFO_SCSV") + || !TEST_str_eq(SSL_CIPHER_get_name(sk_SSL_CIPHER_value(scsv, 1)), + "TLS_FALLBACK_SCSV")) + goto err; + + ret = 1; +err: + sk_SSL_CIPHER_free(sk); + sk_SSL_CIPHER_free(scsv); + return ret; +} + +int setup_tests(void) +{ + if (!TEST_ptr(ctx = SSL_CTX_new(TLS_server_method())) + || !TEST_ptr(s = SSL_new(ctx))) + return 0; + + ADD_TEST(test_empty); + ADD_TEST(test_unsupported); + ADD_TEST(test_v2); + ADD_TEST(test_v3); + return 1; +} + +void cleanup_tests(void) +{ + SSL_free(s); + SSL_CTX_free(ctx); +} diff --git a/deps/openssl/openssl/test/ciphername_test.c b/deps/openssl/openssl/test/ciphername_test.c new file mode 100644 index 00000000000000..303e28f50ff5a3 --- /dev/null +++ b/deps/openssl/openssl/test/ciphername_test.c @@ -0,0 +1,470 @@ +/* + * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017 BaishanCloud. All rights reserved. + * + * Licensed under the OpenSSL licenses, (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.openssl.org/source/license.html + * or in the file LICENSE in the source distribution. + */ + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "internal/nelem.h" +#include "testutil.h" + +typedef struct cipher_id_name { + int id; + const char *name; +} CIPHER_ID_NAME; + +/* Cipher suites, copied from t1_trce.c */ +static CIPHER_ID_NAME cipher_names[] = { + {0x0000, "TLS_NULL_WITH_NULL_NULL"}, + {0x0001, "TLS_RSA_WITH_NULL_MD5"}, + {0x0002, "TLS_RSA_WITH_NULL_SHA"}, + {0x0003, "TLS_RSA_EXPORT_WITH_RC4_40_MD5"}, + {0x0004, "TLS_RSA_WITH_RC4_128_MD5"}, + {0x0005, "TLS_RSA_WITH_RC4_128_SHA"}, + {0x0006, "TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5"}, + {0x0007, "TLS_RSA_WITH_IDEA_CBC_SHA"}, + {0x0008, "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA"}, + {0x0009, "TLS_RSA_WITH_DES_CBC_SHA"}, + {0x000A, "TLS_RSA_WITH_3DES_EDE_CBC_SHA"}, + {0x000B, "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA"}, + {0x000C, "TLS_DH_DSS_WITH_DES_CBC_SHA"}, + {0x000D, "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA"}, + {0x000E, "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA"}, + {0x000F, "TLS_DH_RSA_WITH_DES_CBC_SHA"}, + {0x0010, "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA"}, + {0x0011, "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"}, + {0x0012, "TLS_DHE_DSS_WITH_DES_CBC_SHA"}, + {0x0013, "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"}, + {0x0014, "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"}, + {0x0015, "TLS_DHE_RSA_WITH_DES_CBC_SHA"}, + {0x0016, "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"}, + {0x0017, "TLS_DH_anon_EXPORT_WITH_RC4_40_MD5"}, + {0x0018, "TLS_DH_anon_WITH_RC4_128_MD5"}, + {0x0019, "TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA"}, + {0x001A, "TLS_DH_anon_WITH_DES_CBC_SHA"}, + {0x001B, "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA"}, + {0x001D, "SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA"}, + {0x001E, "SSL_FORTEZZA_KEA_WITH_RC4_128_SHA"}, + {0x001F, "TLS_KRB5_WITH_3DES_EDE_CBC_SHA"}, + {0x0020, "TLS_KRB5_WITH_RC4_128_SHA"}, + {0x0021, "TLS_KRB5_WITH_IDEA_CBC_SHA"}, + {0x0022, "TLS_KRB5_WITH_DES_CBC_MD5"}, + {0x0023, "TLS_KRB5_WITH_3DES_EDE_CBC_MD5"}, + {0x0024, "TLS_KRB5_WITH_RC4_128_MD5"}, + {0x0025, "TLS_KRB5_WITH_IDEA_CBC_MD5"}, + {0x0026, "TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA"}, + {0x0027, "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA"}, + {0x0028, "TLS_KRB5_EXPORT_WITH_RC4_40_SHA"}, + {0x0029, "TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5"}, + {0x002A, "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5"}, + {0x002B, "TLS_KRB5_EXPORT_WITH_RC4_40_MD5"}, + {0x002C, "TLS_PSK_WITH_NULL_SHA"}, + {0x002D, "TLS_DHE_PSK_WITH_NULL_SHA"}, + {0x002E, "TLS_RSA_PSK_WITH_NULL_SHA"}, + {0x002F, "TLS_RSA_WITH_AES_128_CBC_SHA"}, + {0x0030, "TLS_DH_DSS_WITH_AES_128_CBC_SHA"}, + {0x0031, "TLS_DH_RSA_WITH_AES_128_CBC_SHA"}, + {0x0032, "TLS_DHE_DSS_WITH_AES_128_CBC_SHA"}, + {0x0033, "TLS_DHE_RSA_WITH_AES_128_CBC_SHA"}, + {0x0034, "TLS_DH_anon_WITH_AES_128_CBC_SHA"}, + {0x0035, "TLS_RSA_WITH_AES_256_CBC_SHA"}, + {0x0036, "TLS_DH_DSS_WITH_AES_256_CBC_SHA"}, + {0x0037, "TLS_DH_RSA_WITH_AES_256_CBC_SHA"}, + {0x0038, "TLS_DHE_DSS_WITH_AES_256_CBC_SHA"}, + {0x0039, "TLS_DHE_RSA_WITH_AES_256_CBC_SHA"}, + {0x003A, "TLS_DH_anon_WITH_AES_256_CBC_SHA"}, + {0x003B, "TLS_RSA_WITH_NULL_SHA256"}, + {0x003C, "TLS_RSA_WITH_AES_128_CBC_SHA256"}, + {0x003D, "TLS_RSA_WITH_AES_256_CBC_SHA256"}, + {0x003E, "TLS_DH_DSS_WITH_AES_128_CBC_SHA256"}, + {0x003F, "TLS_DH_RSA_WITH_AES_128_CBC_SHA256"}, + {0x0040, "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256"}, + {0x0041, "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA"}, + {0x0042, "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA"}, + {0x0043, "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA"}, + {0x0044, "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA"}, + {0x0045, "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA"}, + {0x0046, "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA"}, + {0x0067, "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"}, + {0x0068, "TLS_DH_DSS_WITH_AES_256_CBC_SHA256"}, + {0x0069, "TLS_DH_RSA_WITH_AES_256_CBC_SHA256"}, + {0x006A, "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256"}, + {0x006B, "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"}, + {0x006C, "TLS_DH_anon_WITH_AES_128_CBC_SHA256"}, + {0x006D, "TLS_DH_anon_WITH_AES_256_CBC_SHA256"}, + {0x0084, "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA"}, + {0x0085, "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA"}, + {0x0086, "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA"}, + {0x0087, "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA"}, + {0x0088, "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA"}, + {0x0089, "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA"}, + {0x008A, "TLS_PSK_WITH_RC4_128_SHA"}, + {0x008B, "TLS_PSK_WITH_3DES_EDE_CBC_SHA"}, + {0x008C, "TLS_PSK_WITH_AES_128_CBC_SHA"}, + {0x008D, "TLS_PSK_WITH_AES_256_CBC_SHA"}, + {0x008E, "TLS_DHE_PSK_WITH_RC4_128_SHA"}, + {0x008F, "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA"}, + {0x0090, "TLS_DHE_PSK_WITH_AES_128_CBC_SHA"}, + {0x0091, "TLS_DHE_PSK_WITH_AES_256_CBC_SHA"}, + {0x0092, "TLS_RSA_PSK_WITH_RC4_128_SHA"}, + {0x0093, "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA"}, + {0x0094, "TLS_RSA_PSK_WITH_AES_128_CBC_SHA"}, + {0x0095, "TLS_RSA_PSK_WITH_AES_256_CBC_SHA"}, + {0x0096, "TLS_RSA_WITH_SEED_CBC_SHA"}, + {0x0097, "TLS_DH_DSS_WITH_SEED_CBC_SHA"}, + {0x0098, "TLS_DH_RSA_WITH_SEED_CBC_SHA"}, + {0x0099, "TLS_DHE_DSS_WITH_SEED_CBC_SHA"}, + {0x009A, "TLS_DHE_RSA_WITH_SEED_CBC_SHA"}, + {0x009B, "TLS_DH_anon_WITH_SEED_CBC_SHA"}, + {0x009C, "TLS_RSA_WITH_AES_128_GCM_SHA256"}, + {0x009D, "TLS_RSA_WITH_AES_256_GCM_SHA384"}, + {0x009E, "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"}, + {0x009F, "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384"}, + {0x00A0, "TLS_DH_RSA_WITH_AES_128_GCM_SHA256"}, + {0x00A1, "TLS_DH_RSA_WITH_AES_256_GCM_SHA384"}, + {0x00A2, "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256"}, + {0x00A3, "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384"}, + {0x00A4, "TLS_DH_DSS_WITH_AES_128_GCM_SHA256"}, + {0x00A5, "TLS_DH_DSS_WITH_AES_256_GCM_SHA384"}, + {0x00A6, "TLS_DH_anon_WITH_AES_128_GCM_SHA256"}, + {0x00A7, "TLS_DH_anon_WITH_AES_256_GCM_SHA384"}, + {0x00A8, "TLS_PSK_WITH_AES_128_GCM_SHA256"}, + {0x00A9, "TLS_PSK_WITH_AES_256_GCM_SHA384"}, + {0x00AA, "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256"}, + {0x00AB, "TLS_DHE_PSK_WITH_AES_256_GCM_SHA384"}, + {0x00AC, "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256"}, + {0x00AD, "TLS_RSA_PSK_WITH_AES_256_GCM_SHA384"}, + {0x00AE, "TLS_PSK_WITH_AES_128_CBC_SHA256"}, + {0x00AF, "TLS_PSK_WITH_AES_256_CBC_SHA384"}, + {0x00B0, "TLS_PSK_WITH_NULL_SHA256"}, + {0x00B1, "TLS_PSK_WITH_NULL_SHA384"}, + {0x00B2, "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256"}, + {0x00B3, "TLS_DHE_PSK_WITH_AES_256_CBC_SHA384"}, + {0x00B4, "TLS_DHE_PSK_WITH_NULL_SHA256"}, + {0x00B5, "TLS_DHE_PSK_WITH_NULL_SHA384"}, + {0x00B6, "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256"}, + {0x00B7, "TLS_RSA_PSK_WITH_AES_256_CBC_SHA384"}, + {0x00B8, "TLS_RSA_PSK_WITH_NULL_SHA256"}, + {0x00B9, "TLS_RSA_PSK_WITH_NULL_SHA384"}, + {0x00BA, "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256"}, + {0x00BB, "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256"}, + {0x00BC, "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256"}, + {0x00BD, "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256"}, + {0x00BE, "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256"}, + {0x00BF, "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256"}, + {0x00C0, "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256"}, + {0x00C1, "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256"}, + {0x00C2, "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256"}, + {0x00C3, "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256"}, + {0x00C4, "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256"}, + {0x00C5, "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256"}, + {0x00FF, "TLS_EMPTY_RENEGOTIATION_INFO_SCSV"}, + {0x5600, "TLS_FALLBACK_SCSV"}, + {0xC001, "TLS_ECDH_ECDSA_WITH_NULL_SHA"}, + {0xC002, "TLS_ECDH_ECDSA_WITH_RC4_128_SHA"}, + {0xC003, "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA"}, + {0xC004, "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA"}, + {0xC005, "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA"}, + {0xC006, "TLS_ECDHE_ECDSA_WITH_NULL_SHA"}, + {0xC007, "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA"}, + {0xC008, "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA"}, + {0xC009, "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA"}, + {0xC00A, "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"}, + {0xC00B, "TLS_ECDH_RSA_WITH_NULL_SHA"}, + {0xC00C, "TLS_ECDH_RSA_WITH_RC4_128_SHA"}, + {0xC00D, "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA"}, + {0xC00E, "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA"}, + {0xC00F, "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA"}, + {0xC010, "TLS_ECDHE_RSA_WITH_NULL_SHA"}, + {0xC011, "TLS_ECDHE_RSA_WITH_RC4_128_SHA"}, + {0xC012, "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA"}, + {0xC013, "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"}, + {0xC014, "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"}, + {0xC015, "TLS_ECDH_anon_WITH_NULL_SHA"}, + {0xC016, "TLS_ECDH_anon_WITH_RC4_128_SHA"}, + {0xC017, "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA"}, + {0xC018, "TLS_ECDH_anon_WITH_AES_128_CBC_SHA"}, + {0xC019, "TLS_ECDH_anon_WITH_AES_256_CBC_SHA"}, + {0xC01A, "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA"}, + {0xC01B, "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA"}, + {0xC01C, "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA"}, + {0xC01D, "TLS_SRP_SHA_WITH_AES_128_CBC_SHA"}, + {0xC01E, "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA"}, + {0xC01F, "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA"}, + {0xC020, "TLS_SRP_SHA_WITH_AES_256_CBC_SHA"}, + {0xC021, "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA"}, + {0xC022, "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA"}, + {0xC023, "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"}, + {0xC024, "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"}, + {0xC025, "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256"}, + {0xC026, "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384"}, + {0xC027, "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"}, + {0xC028, "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"}, + {0xC029, "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256"}, + {0xC02A, "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384"}, + {0xC02B, "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"}, + {0xC02C, "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"}, + {0xC02D, "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256"}, + {0xC02E, "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384"}, + {0xC02F, "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"}, + {0xC030, "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"}, + {0xC031, "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256"}, + {0xC032, "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384"}, + {0xC033, "TLS_ECDHE_PSK_WITH_RC4_128_SHA"}, + {0xC034, "TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA"}, + {0xC035, "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA"}, + {0xC036, "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA"}, + {0xC037, "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256"}, + {0xC038, "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384"}, + {0xC039, "TLS_ECDHE_PSK_WITH_NULL_SHA"}, + {0xC03A, "TLS_ECDHE_PSK_WITH_NULL_SHA256"}, + {0xC03B, "TLS_ECDHE_PSK_WITH_NULL_SHA384"}, + {0xC03C, "TLS_RSA_WITH_ARIA_128_CBC_SHA256"}, + {0xC03D, "TLS_RSA_WITH_ARIA_256_CBC_SHA384"}, + {0xC03E, "TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256"}, + {0xC03F, "TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384"}, + {0xC040, "TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256"}, + {0xC041, "TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384"}, + {0xC042, "TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256"}, + {0xC043, "TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384"}, + {0xC044, "TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256"}, + {0xC045, "TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384"}, + {0xC046, "TLS_DH_anon_WITH_ARIA_128_CBC_SHA256"}, + {0xC047, "TLS_DH_anon_WITH_ARIA_256_CBC_SHA384"}, + {0xC048, "TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256"}, + {0xC049, "TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384"}, + {0xC04A, "TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256"}, + {0xC04B, "TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384"}, + {0xC04C, "TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256"}, + {0xC04D, "TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384"}, + {0xC04E, "TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256"}, + {0xC04F, "TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384"}, + {0xC050, "TLS_RSA_WITH_ARIA_128_GCM_SHA256"}, + {0xC051, "TLS_RSA_WITH_ARIA_256_GCM_SHA384"}, + {0xC052, "TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256"}, + {0xC053, "TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384"}, + {0xC054, "TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256"}, + {0xC055, "TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384"}, + {0xC056, "TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256"}, + {0xC057, "TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384"}, + {0xC058, "TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256"}, + {0xC059, "TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384"}, + {0xC05A, "TLS_DH_anon_WITH_ARIA_128_GCM_SHA256"}, + {0xC05B, "TLS_DH_anon_WITH_ARIA_256_GCM_SHA384"}, + {0xC05C, "TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256"}, + {0xC05D, "TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384"}, + {0xC05E, "TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256"}, + {0xC05F, "TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384"}, + {0xC060, "TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256"}, + {0xC061, "TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384"}, + {0xC062, "TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256"}, + {0xC063, "TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384"}, + {0xC064, "TLS_PSK_WITH_ARIA_128_CBC_SHA256"}, + {0xC065, "TLS_PSK_WITH_ARIA_256_CBC_SHA384"}, + {0xC066, "TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256"}, + {0xC067, "TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384"}, + {0xC068, "TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256"}, + {0xC069, "TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384"}, + {0xC06A, "TLS_PSK_WITH_ARIA_128_GCM_SHA256"}, + {0xC06B, "TLS_PSK_WITH_ARIA_256_GCM_SHA384"}, + {0xC06C, "TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256"}, + {0xC06D, "TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384"}, + {0xC06E, "TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256"}, + {0xC06F, "TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384"}, + {0xC070, "TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256"}, + {0xC071, "TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384"}, + {0xC072, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256"}, + {0xC073, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384"}, + {0xC074, "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256"}, + {0xC075, "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384"}, + {0xC076, "TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256"}, + {0xC077, "TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384"}, + {0xC078, "TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256"}, + {0xC079, "TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384"}, + {0xC07A, "TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256"}, + {0xC07B, "TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384"}, + {0xC07C, "TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256"}, + {0xC07D, "TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384"}, + {0xC07E, "TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256"}, + {0xC07F, "TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384"}, + {0xC080, "TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256"}, + {0xC081, "TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384"}, + {0xC082, "TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256"}, + {0xC083, "TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384"}, + {0xC084, "TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256"}, + {0xC085, "TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384"}, + {0xC086, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256"}, + {0xC087, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384"}, + {0xC088, "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256"}, + {0xC089, "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384"}, + {0xC08A, "TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256"}, + {0xC08B, "TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384"}, + {0xC08C, "TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256"}, + {0xC08D, "TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384"}, + {0xC08E, "TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256"}, + {0xC08F, "TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384"}, + {0xC090, "TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256"}, + {0xC091, "TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384"}, + {0xC092, "TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256"}, + {0xC093, "TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384"}, + {0xC094, "TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256"}, + {0xC095, "TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384"}, + {0xC096, "TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256"}, + {0xC097, "TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384"}, + {0xC098, "TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256"}, + {0xC099, "TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384"}, + {0xC09A, "TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256"}, + {0xC09B, "TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384"}, + {0xC09C, "TLS_RSA_WITH_AES_128_CCM"}, + {0xC09D, "TLS_RSA_WITH_AES_256_CCM"}, + {0xC09E, "TLS_DHE_RSA_WITH_AES_128_CCM"}, + {0xC09F, "TLS_DHE_RSA_WITH_AES_256_CCM"}, + {0xC0A0, "TLS_RSA_WITH_AES_128_CCM_8"}, + {0xC0A1, "TLS_RSA_WITH_AES_256_CCM_8"}, + {0xC0A2, "TLS_DHE_RSA_WITH_AES_128_CCM_8"}, + {0xC0A3, "TLS_DHE_RSA_WITH_AES_256_CCM_8"}, + {0xC0A4, "TLS_PSK_WITH_AES_128_CCM"}, + {0xC0A5, "TLS_PSK_WITH_AES_256_CCM"}, + {0xC0A6, "TLS_DHE_PSK_WITH_AES_128_CCM"}, + {0xC0A7, "TLS_DHE_PSK_WITH_AES_256_CCM"}, + {0xC0A8, "TLS_PSK_WITH_AES_128_CCM_8"}, + {0xC0A9, "TLS_PSK_WITH_AES_256_CCM_8"}, + {0xC0AA, "TLS_PSK_DHE_WITH_AES_128_CCM_8"}, + {0xC0AB, "TLS_PSK_DHE_WITH_AES_256_CCM_8"}, + {0xC0AC, "TLS_ECDHE_ECDSA_WITH_AES_128_CCM"}, + {0xC0AD, "TLS_ECDHE_ECDSA_WITH_AES_256_CCM"}, + {0xC0AE, "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8"}, + {0xC0AF, "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8"}, + {0xCCA8, "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"}, + {0xCCA9, "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"}, + {0xCCAA, "TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256"}, + {0xCCAB, "TLS_PSK_WITH_CHACHA20_POLY1305_SHA256"}, + {0xCCAC, "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256"}, + {0xCCAD, "TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256"}, + {0xCCAE, "TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256"}, + {0x1301, "TLS_AES_128_GCM_SHA256"}, + {0x1302, "TLS_AES_256_GCM_SHA384"}, + {0x1303, "TLS_CHACHA20_POLY1305_SHA256"}, + {0x1304, "TLS_AES_128_CCM_SHA256"}, + {0x1305, "TLS_AES_128_CCM_8_SHA256"}, + {0xFEFE, "SSL_RSA_FIPS_WITH_DES_CBC_SHA"}, + {0xFEFF, "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA"}, +}; + +static const char *get_std_name_by_id(int id) +{ + size_t i; + + for (i = 0; i < OSSL_NELEM(cipher_names); i++) + if (cipher_names[i].id == id) + return cipher_names[i].name; + + return NULL; +} + +static int test_cipher_name(void) +{ + SSL_CTX *ctx = NULL; + SSL *ssl = NULL; + const SSL_CIPHER *c; + STACK_OF(SSL_CIPHER) *sk = NULL; + const char *ciphers = "ALL:eNULL", *p, *q, *r; + int i, id = 0, ret = 0; + + /* tests for invalid input */ + p = SSL_CIPHER_standard_name(NULL); + if (!TEST_str_eq(p, "(NONE)")) { + TEST_info("test_cipher_name(std) failed: NULL input doesn't return \"(NONE)\"\n"); + goto err; + } + + p = OPENSSL_cipher_name(NULL); + if (!TEST_str_eq(p, "(NONE)")) { + TEST_info("test_cipher_name(ossl) failed: NULL input doesn't return \"(NONE)\"\n"); + goto err; + } + + p = OPENSSL_cipher_name("This is not a valid cipher"); + if (!TEST_str_eq(p, "(NONE)")) { + TEST_info("test_cipher_name(ossl) failed: invalid input doesn't return \"(NONE)\"\n"); + goto err; + } + + /* tests for valid input */ + ctx = SSL_CTX_new(TLS_server_method()); + if (ctx == NULL) { + TEST_info("test_cipher_name failed: internal error\n"); + goto err; + } + + if (!SSL_CTX_set_cipher_list(ctx, ciphers)) { + TEST_info("test_cipher_name failed: internal error\n"); + goto err; + } + + ssl = SSL_new(ctx); + if (ssl == NULL) { + TEST_info("test_cipher_name failed: internal error\n"); + goto err; + } + + sk = SSL_get_ciphers(ssl); + if (sk == NULL) { + TEST_info("test_cipher_name failed: internal error\n"); + goto err; + } + + for (i = 0; i < sk_SSL_CIPHER_num(sk); i++) { + c = sk_SSL_CIPHER_value(sk, i); + id = SSL_CIPHER_get_id(c) & 0xFFFF; + if ((id == 0xFF85) || (id == 0xFF87)) + /* skip GOST2012-GOST8912-GOST891 and GOST2012-NULL-GOST12 */ + continue; + p = SSL_CIPHER_standard_name(c); + q = get_std_name_by_id(id); + if (!TEST_ptr(p)) { + TEST_info("test_cipher_name failed: expected %s, got NULL, cipher %x\n", + q, id); + goto err; + } + /* check if p is a valid standard name */ + if (!TEST_str_eq(p, q)) { + TEST_info("test_cipher_name(std) failed: expected %s, got %s, cipher %x\n", + q, p, id); + goto err; + } + /* test OPENSSL_cipher_name */ + q = SSL_CIPHER_get_name(c); + r = OPENSSL_cipher_name(p); + if (!TEST_str_eq(r, q)) { + TEST_info("test_cipher_name(ossl) failed: expected %s, got %s, cipher %x\n", + q, r, id); + goto err; + } + } + ret = 1; +err: + SSL_CTX_free(ctx); + SSL_free(ssl); + return ret; +} + +int setup_tests(void) +{ + ADD_TEST(test_cipher_name); + return 1; +} diff --git a/deps/openssl/openssl/test/clienthellotest.c b/deps/openssl/openssl/test/clienthellotest.c index 862ca9ff6c2635..8ae1e4d9c6425f 100644 --- a/deps/openssl/openssl/test/clienthellotest.c +++ b/deps/openssl/openssl/test/clienthellotest.c @@ -17,7 +17,7 @@ #include #include -#include "../ssl/packet_locl.h" +#include "../ssl/packet_local.h" #include "testutil.h" diff --git a/deps/openssl/openssl/test/cmsapitest.c b/deps/openssl/openssl/test/cmsapitest.c new file mode 100644 index 00000000000000..a79ae8c043d67b --- /dev/null +++ b/deps/openssl/openssl/test/cmsapitest.c @@ -0,0 +1,93 @@ +#include + +#include +#include +#include +#include + +#include "testutil.h" + +static X509 *cert = NULL; +static EVP_PKEY *privkey = NULL; + +static int test_encrypt_decrypt(void) +{ + int testresult = 0; + STACK_OF(X509) *certstack = sk_X509_new_null(); + const char *msg = "Hello world"; + BIO *msgbio = BIO_new_mem_buf(msg, strlen(msg)); + BIO *outmsgbio = BIO_new(BIO_s_mem()); + CMS_ContentInfo* content = NULL; + char buf[80]; + + if (!TEST_ptr(certstack) || !TEST_ptr(msgbio) || !TEST_ptr(outmsgbio)) + goto end; + + if (!TEST_int_gt(sk_X509_push(certstack, cert), 0)) + goto end; + + content = CMS_encrypt(certstack, msgbio, EVP_aes_128_cbc(), CMS_TEXT); + if (!TEST_ptr(content)) + goto end; + + if (!TEST_true(CMS_decrypt(content, privkey, cert, NULL, outmsgbio, + CMS_TEXT))) + goto end; + + /* Check we got the message we first started with */ + if (!TEST_int_eq(BIO_gets(outmsgbio, buf, sizeof(buf)), strlen(msg)) + || !TEST_int_eq(strcmp(buf, msg), 0)) + goto end; + + testresult = 1; + end: + sk_X509_free(certstack); + BIO_free(msgbio); + BIO_free(outmsgbio); + CMS_ContentInfo_free(content); + + return testresult; +} + +int setup_tests(void) +{ + char *certin = NULL, *privkeyin = NULL; + BIO *certbio = NULL, *privkeybio = NULL; + + if (!TEST_ptr(certin = test_get_argument(0)) + || !TEST_ptr(privkeyin = test_get_argument(1))) + return 0; + + certbio = BIO_new_file(certin, "r"); + if (!TEST_ptr(certbio)) + return 0; + if (!TEST_true(PEM_read_bio_X509(certbio, &cert, NULL, NULL))) { + BIO_free(certbio); + return 0; + } + BIO_free(certbio); + + privkeybio = BIO_new_file(privkeyin, "r"); + if (!TEST_ptr(privkeybio)) { + X509_free(cert); + cert = NULL; + return 0; + } + if (!TEST_true(PEM_read_bio_PrivateKey(privkeybio, &privkey, NULL, NULL))) { + BIO_free(privkeybio); + X509_free(cert); + cert = NULL; + return 0; + } + BIO_free(privkeybio); + + ADD_TEST(test_encrypt_decrypt); + + return 1; +} + +void cleanup_tests(void) +{ + X509_free(cert); + EVP_PKEY_free(privkey); +} diff --git a/deps/openssl/openssl/test/conf_include_test.c b/deps/openssl/openssl/test/conf_include_test.c new file mode 100644 index 00000000000000..ff0319a1c7f309 --- /dev/null +++ b/deps/openssl/openssl/test/conf_include_test.c @@ -0,0 +1,218 @@ +/* + * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include +#include +#include +#include "testutil.h" + +#ifdef _WIN32 +# include +# define DIRSEP "/\\" +# define chdir _chdir +# define DIRSEP_PRESERVE 0 +#elif !defined(OPENSSL_NO_POSIX_IO) +# include +# ifndef OPENSSL_SYS_VMS +# define DIRSEP "/" +# define DIRSEP_PRESERVE 0 +# else +# define DIRSEP "/]:" +# define DIRSEP_PRESERVE 1 +# endif +#else +/* the test does not work without chdir() */ +# define chdir(x) (-1); +# define DIRSEP "/" +# define DIRSEP_PRESERVE 0 +#endif + +/* changes path to that of the filename */ +static int change_path(const char *file) +{ + char *s = OPENSSL_strdup(file); + char *p = s; + char *last = NULL; + int ret; + + if (s == NULL) + return -1; + + while ((p = strpbrk(p, DIRSEP)) != NULL) { + last = p++; + } + if (last == NULL) + return 0; + last[DIRSEP_PRESERVE] = 0; + + TEST_note("changing path to %s", s); + ret = chdir(s); + OPENSSL_free(s); + return ret; +} + +/* + * This test program checks the operation of the .include directive. + */ + +static CONF *conf; +static BIO *in; +static int expect_failure = 0; + +static int test_load_config(void) +{ + long errline; + long val; + char *str; + long err; + + if (!TEST_int_gt(NCONF_load_bio(conf, in, &errline), 0) + || !TEST_int_eq(err = ERR_peek_error(), 0)) { + if (expect_failure) + return 1; + TEST_note("Failure loading the configuration at line %ld", errline); + return 0; + } + if (expect_failure) { + TEST_note("Failure expected but did not happen"); + return 0; + } + + if (!TEST_int_gt(CONF_modules_load(conf, NULL, 0), 0)) { + TEST_note("Failed in CONF_modules_load"); + return 0; + } + + /* verify whether RANDFILE is set correctly */ + str = NCONF_get_string(conf, "", "RANDFILE"); + if (!TEST_ptr(str) || !TEST_str_eq(str, "./.rnd")) { + TEST_note("RANDFILE incorrect"); + return 0; + } + + /* verify whether CA_default/default_days is set */ + val = 0; + if (!TEST_int_eq(NCONF_get_number(conf, "CA_default", "default_days", &val), 1) + || !TEST_int_eq(val, 365)) { + TEST_note("default_days incorrect"); + return 0; + } + + /* verify whether req/default_bits is set */ + val = 0; + if (!TEST_int_eq(NCONF_get_number(conf, "req", "default_bits", &val), 1) + || !TEST_int_eq(val, 2048)) { + TEST_note("default_bits incorrect"); + return 0; + } + + /* verify whether countryName_default is set correctly */ + str = NCONF_get_string(conf, "req_distinguished_name", "countryName_default"); + if (!TEST_ptr(str) || !TEST_str_eq(str, "AU")) { + TEST_note("countryName_default incorrect"); + return 0; + } + + return 1; +} + +static int test_check_null_numbers(void) +{ +#if defined(_BSD_SOURCE) \ + || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L) \ + || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 600) + long val = 0; + + /* Verify that a NULL config with a present environment variable returns + * success and the value. + */ + if (!TEST_int_eq(setenv("FNORD", "123", 1), 0) + || !TEST_true(NCONF_get_number(NULL, "missing", "FNORD", &val)) + || !TEST_long_eq(val, 123)) { + TEST_note("environment variable with NULL conf failed"); + return 0; + } + + /* + * Verify that a NULL config with a missing environment variable returns + * a failure code. + */ + if (!TEST_int_eq(unsetenv("FNORD"), 0) + || !TEST_false(NCONF_get_number(NULL, "missing", "FNORD", &val))) { + TEST_note("missing environment variable with NULL conf failed"); + return 0; + } +#endif + return 1; +} + +static int test_check_overflow(void) +{ +#if defined(_BSD_SOURCE) \ + || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L) \ + || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 600) + long val = 0; + char max[(sizeof(long) * 8) / 3 + 3]; + char *p; + + p = max + sprintf(max, "0%ld", LONG_MAX) - 1; + setenv("FNORD", max, 1); + if (!TEST_true(NCONF_get_number(NULL, "missing", "FNORD", &val)) + || !TEST_long_eq(val, LONG_MAX)) + return 0; + + while (++*p > '9') + *p-- = '0'; + + setenv("FNORD", max, 1); + if (!TEST_false(NCONF_get_number(NULL, "missing", "FNORD", &val))) + return 0; +#endif + return 1; +} + +int setup_tests(void) +{ + const char *conf_file; + const char *arg2; + + if (!TEST_ptr(conf = NCONF_new(NULL))) + return 0; + + conf_file = test_get_argument(0); + + if (!TEST_ptr(conf_file) + || !TEST_ptr(in = BIO_new_file(conf_file, "r"))) { + TEST_note("Unable to open the file argument"); + return 0; + } + + if ((arg2 = test_get_argument(1)) != NULL && *arg2 == 'f') { + expect_failure = 1; + } + + /* + * For this test we need to chdir as we use relative + * path names in the config files. + */ + change_path(conf_file); + + ADD_TEST(test_load_config); + ADD_TEST(test_check_null_numbers); + ADD_TEST(test_check_overflow); + return 1; +} + +void cleanup_tests(void) +{ + BIO_vfree(in); + NCONF_free(conf); + CONF_modules_unload(1); +} diff --git a/deps/openssl/openssl/test/constant_time_test.c b/deps/openssl/openssl/test/constant_time_test.c index e5e3e497c09945..25f53928014ad1 100644 --- a/deps/openssl/openssl/test/constant_time_test.c +++ b/deps/openssl/openssl/test/constant_time_test.c @@ -11,7 +11,7 @@ #include #include "internal/nelem.h" -#include "internal/constant_time_locl.h" +#include "internal/constant_time.h" #include "testutil.h" #include "internal/numbers.h" diff --git a/deps/openssl/openssl/test/ctype_internal_test.c b/deps/openssl/openssl/test/ctype_internal_test.c new file mode 100644 index 00000000000000..1bb61ab1fc9b44 --- /dev/null +++ b/deps/openssl/openssl/test/ctype_internal_test.c @@ -0,0 +1,90 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "testutil.h" +#include "crypto/ctype.h" +#include "internal/nelem.h" +#include +#include + +/* + * Even though the VMS C RTL claims to be C99 compatible, it's not entirely + * so far (C RTL version 8.4). Same applies to OSF. For the sake of these + * tests, we therefore define our own. + */ +#if (defined(__VMS) && __CRTL_VER <= 80400000) || defined(__osf__) +static int isblank(int c) +{ + return c == ' ' || c == '\t'; +} +#endif + +static int test_ctype_chars(int n) +{ + if (!TEST_int_eq(isascii((unsigned char)n) != 0, ossl_isascii(n) != 0)) + return 0; + + if (!ossl_isascii(n)) + return 1; + + return TEST_int_eq(isalpha(n) != 0, ossl_isalpha(n) != 0) + && TEST_int_eq(isalnum(n) != 0, ossl_isalnum(n) != 0) +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + && TEST_int_eq(isblank(n) != 0, ossl_isblank(n) != 0) +#endif + && TEST_int_eq(iscntrl(n) != 0, ossl_iscntrl(n) != 0) + && TEST_int_eq(isdigit(n) != 0, ossl_isdigit(n) != 0) + && TEST_int_eq(isgraph(n) != 0, ossl_isgraph(n) != 0) + && TEST_int_eq(islower(n) != 0, ossl_islower(n) != 0) + && TEST_int_eq(isprint(n) != 0, ossl_isprint(n) != 0) + && TEST_int_eq(ispunct(n) != 0, ossl_ispunct(n) != 0) + && TEST_int_eq(isspace(n) != 0, ossl_isspace(n) != 0) + && TEST_int_eq(isupper(n) != 0, ossl_isupper(n) != 0) + && TEST_int_eq(isxdigit(n) != 0, ossl_isxdigit(n) != 0); +} + +static struct { + int u; + int l; +} case_change[] = { + { 'A', 'a' }, + { 'X', 'x' }, + { 'Z', 'z' }, + { '0', '0' }, + { '%', '%' }, + { '~', '~' }, + { 0, 0 }, + { EOF, EOF } +}; + +static int test_ctype_toupper(int n) +{ + return TEST_int_eq(ossl_toupper(case_change[n].l), case_change[n].u) + && TEST_int_eq(ossl_toupper(case_change[n].u), case_change[n].u); +} + +static int test_ctype_tolower(int n) +{ + return TEST_int_eq(ossl_tolower(case_change[n].u), case_change[n].l) + && TEST_int_eq(ossl_tolower(case_change[n].l), case_change[n].l); +} + +static int test_ctype_eof(void) +{ + return test_ctype_chars(EOF); +} + +int setup_tests(void) +{ + ADD_ALL_TESTS(test_ctype_chars, 256); + ADD_ALL_TESTS(test_ctype_toupper, OSSL_NELEM(case_change)); + ADD_ALL_TESTS(test_ctype_tolower, OSSL_NELEM(case_change)); + ADD_TEST(test_ctype_eof); + return 1; +} diff --git a/deps/openssl/openssl/test/curve448_internal_test.c b/deps/openssl/openssl/test/curve448_internal_test.c new file mode 100644 index 00000000000000..4b65ee3fadd870 --- /dev/null +++ b/deps/openssl/openssl/test/curve448_internal_test.c @@ -0,0 +1,713 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ +#include +#include +#include +#include + +#ifdef __VMS +# pragma names save +# pragma names as_is,shortened +#endif + +#include "curve448_local.h" + +#ifdef __VMS +# pragma names restore +#endif + +#include "testutil.h" + +static unsigned int max = 1000; +static unsigned int verbose = 0; + +/* Test vectors from RFC7748 for X448 */ + +static const uint8_t in_scalar1[56] = { + 0x3d, 0x26, 0x2f, 0xdd, 0xf9, 0xec, 0x8e, 0x88, 0x49, 0x52, 0x66, 0xfe, + 0xa1, 0x9a, 0x34, 0xd2, 0x88, 0x82, 0xac, 0xef, 0x04, 0x51, 0x04, 0xd0, + 0xd1, 0xaa, 0xe1, 0x21, 0x70, 0x0a, 0x77, 0x9c, 0x98, 0x4c, 0x24, 0xf8, + 0xcd, 0xd7, 0x8f, 0xbf, 0xf4, 0x49, 0x43, 0xeb, 0xa3, 0x68, 0xf5, 0x4b, + 0x29, 0x25, 0x9a, 0x4f, 0x1c, 0x60, 0x0a, 0xd3 +}; + +static const uint8_t in_u1[56] = { + 0x06, 0xfc, 0xe6, 0x40, 0xfa, 0x34, 0x87, 0xbf, 0xda, 0x5f, 0x6c, 0xf2, + 0xd5, 0x26, 0x3f, 0x8a, 0xad, 0x88, 0x33, 0x4c, 0xbd, 0x07, 0x43, 0x7f, + 0x02, 0x0f, 0x08, 0xf9, 0x81, 0x4d, 0xc0, 0x31, 0xdd, 0xbd, 0xc3, 0x8c, + 0x19, 0xc6, 0xda, 0x25, 0x83, 0xfa, 0x54, 0x29, 0xdb, 0x94, 0xad, 0xa1, + 0x8a, 0xa7, 0xa7, 0xfb, 0x4e, 0xf8, 0xa0, 0x86 +}; + +static const uint8_t out_u1[56] = { + 0xce, 0x3e, 0x4f, 0xf9, 0x5a, 0x60, 0xdc, 0x66, 0x97, 0xda, 0x1d, 0xb1, + 0xd8, 0x5e, 0x6a, 0xfb, 0xdf, 0x79, 0xb5, 0x0a, 0x24, 0x12, 0xd7, 0x54, + 0x6d, 0x5f, 0x23, 0x9f, 0xe1, 0x4f, 0xba, 0xad, 0xeb, 0x44, 0x5f, 0xc6, + 0x6a, 0x01, 0xb0, 0x77, 0x9d, 0x98, 0x22, 0x39, 0x61, 0x11, 0x1e, 0x21, + 0x76, 0x62, 0x82, 0xf7, 0x3d, 0xd9, 0x6b, 0x6f +}; + +static const uint8_t in_scalar2[56] = { + 0x20, 0x3d, 0x49, 0x44, 0x28, 0xb8, 0x39, 0x93, 0x52, 0x66, 0x5d, 0xdc, + 0xa4, 0x2f, 0x9d, 0xe8, 0xfe, 0xf6, 0x00, 0x90, 0x8e, 0x0d, 0x46, 0x1c, + 0xb0, 0x21, 0xf8, 0xc5, 0x38, 0x34, 0x5d, 0xd7, 0x7c, 0x3e, 0x48, 0x06, + 0xe2, 0x5f, 0x46, 0xd3, 0x31, 0x5c, 0x44, 0xe0, 0xa5, 0xb4, 0x37, 0x12, + 0x82, 0xdd, 0x2c, 0x8d, 0x5b, 0xe3, 0x09, 0x5f +}; + +static const uint8_t in_u2[56] = { + 0x0f, 0xbc, 0xc2, 0xf9, 0x93, 0xcd, 0x56, 0xd3, 0x30, 0x5b, 0x0b, 0x7d, + 0x9e, 0x55, 0xd4, 0xc1, 0xa8, 0xfb, 0x5d, 0xbb, 0x52, 0xf8, 0xe9, 0xa1, + 0xe9, 0xb6, 0x20, 0x1b, 0x16, 0x5d, 0x01, 0x58, 0x94, 0xe5, 0x6c, 0x4d, + 0x35, 0x70, 0xbe, 0xe5, 0x2f, 0xe2, 0x05, 0xe2, 0x8a, 0x78, 0xb9, 0x1c, + 0xdf, 0xbd, 0xe7, 0x1c, 0xe8, 0xd1, 0x57, 0xdb +}; + +static const uint8_t out_u2[56] = { + 0x88, 0x4a, 0x02, 0x57, 0x62, 0x39, 0xff, 0x7a, 0x2f, 0x2f, 0x63, 0xb2, + 0xdb, 0x6a, 0x9f, 0xf3, 0x70, 0x47, 0xac, 0x13, 0x56, 0x8e, 0x1e, 0x30, + 0xfe, 0x63, 0xc4, 0xa7, 0xad, 0x1b, 0x3e, 0xe3, 0xa5, 0x70, 0x0d, 0xf3, + 0x43, 0x21, 0xd6, 0x20, 0x77, 0xe6, 0x36, 0x33, 0xc5, 0x75, 0xc1, 0xc9, + 0x54, 0x51, 0x4e, 0x99, 0xda, 0x7c, 0x17, 0x9d +}; + +static const uint8_t in_u3[56] = { + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +static const uint8_t out_u3[3][56] = { + { + 0x3f, 0x48, 0x2c, 0x8a, 0x9f, 0x19, 0xb0, 0x1e, 0x6c, 0x46, 0xee, 0x97, + 0x11, 0xd9, 0xdc, 0x14, 0xfd, 0x4b, 0xf6, 0x7a, 0xf3, 0x07, 0x65, 0xc2, + 0xae, 0x2b, 0x84, 0x6a, 0x4d, 0x23, 0xa8, 0xcd, 0x0d, 0xb8, 0x97, 0x08, + 0x62, 0x39, 0x49, 0x2c, 0xaf, 0x35, 0x0b, 0x51, 0xf8, 0x33, 0x86, 0x8b, + 0x9b, 0xc2, 0xb3, 0xbc, 0xa9, 0xcf, 0x41, 0x13 + }, { + 0xaa, 0x3b, 0x47, 0x49, 0xd5, 0x5b, 0x9d, 0xaf, 0x1e, 0x5b, 0x00, 0x28, + 0x88, 0x26, 0xc4, 0x67, 0x27, 0x4c, 0xe3, 0xeb, 0xbd, 0xd5, 0xc1, 0x7b, + 0x97, 0x5e, 0x09, 0xd4, 0xaf, 0x6c, 0x67, 0xcf, 0x10, 0xd0, 0x87, 0x20, + 0x2d, 0xb8, 0x82, 0x86, 0xe2, 0xb7, 0x9f, 0xce, 0xea, 0x3e, 0xc3, 0x53, + 0xef, 0x54, 0xfa, 0xa2, 0x6e, 0x21, 0x9f, 0x38 + }, { + 0x07, 0x7f, 0x45, 0x36, 0x81, 0xca, 0xca, 0x36, 0x93, 0x19, 0x84, 0x20, + 0xbb, 0xe5, 0x15, 0xca, 0xe0, 0x00, 0x24, 0x72, 0x51, 0x9b, 0x3e, 0x67, + 0x66, 0x1a, 0x7e, 0x89, 0xca, 0xb9, 0x46, 0x95, 0xc8, 0xf4, 0xbc, 0xd6, + 0x6e, 0x61, 0xb9, 0xb9, 0xc9, 0x46, 0xda, 0x8d, 0x52, 0x4d, 0xe3, 0xd6, + 0x9b, 0xd9, 0xd9, 0xd6, 0x6b, 0x99, 0x7e, 0x37 + } +}; + +/* Test vectors from RFC8032 for Ed448 */ + +/* Pure Ed448 */ + +static const uint8_t privkey1[57] = { + 0x6c, 0x82, 0xa5, 0x62, 0xcb, 0x80, 0x8d, 0x10, 0xd6, 0x32, 0xbe, 0x89, + 0xc8, 0x51, 0x3e, 0xbf, 0x6c, 0x92, 0x9f, 0x34, 0xdd, 0xfa, 0x8c, 0x9f, + 0x63, 0xc9, 0x96, 0x0e, 0xf6, 0xe3, 0x48, 0xa3, 0x52, 0x8c, 0x8a, 0x3f, + 0xcc, 0x2f, 0x04, 0x4e, 0x39, 0xa3, 0xfc, 0x5b, 0x94, 0x49, 0x2f, 0x8f, + 0x03, 0x2e, 0x75, 0x49, 0xa2, 0x00, 0x98, 0xf9, 0x5b +}; + +static const uint8_t pubkey1[57] = { + 0x5f, 0xd7, 0x44, 0x9b, 0x59, 0xb4, 0x61, 0xfd, 0x2c, 0xe7, 0x87, 0xec, + 0x61, 0x6a, 0xd4, 0x6a, 0x1d, 0xa1, 0x34, 0x24, 0x85, 0xa7, 0x0e, 0x1f, + 0x8a, 0x0e, 0xa7, 0x5d, 0x80, 0xe9, 0x67, 0x78, 0xed, 0xf1, 0x24, 0x76, + 0x9b, 0x46, 0xc7, 0x06, 0x1b, 0xd6, 0x78, 0x3d, 0xf1, 0xe5, 0x0f, 0x6c, + 0xd1, 0xfa, 0x1a, 0xbe, 0xaf, 0xe8, 0x25, 0x61, 0x80 +}; + +static const uint8_t sig1[114] = { + 0x53, 0x3a, 0x37, 0xf6, 0xbb, 0xe4, 0x57, 0x25, 0x1f, 0x02, 0x3c, 0x0d, + 0x88, 0xf9, 0x76, 0xae, 0x2d, 0xfb, 0x50, 0x4a, 0x84, 0x3e, 0x34, 0xd2, + 0x07, 0x4f, 0xd8, 0x23, 0xd4, 0x1a, 0x59, 0x1f, 0x2b, 0x23, 0x3f, 0x03, + 0x4f, 0x62, 0x82, 0x81, 0xf2, 0xfd, 0x7a, 0x22, 0xdd, 0xd4, 0x7d, 0x78, + 0x28, 0xc5, 0x9b, 0xd0, 0xa2, 0x1b, 0xfd, 0x39, 0x80, 0xff, 0x0d, 0x20, + 0x28, 0xd4, 0xb1, 0x8a, 0x9d, 0xf6, 0x3e, 0x00, 0x6c, 0x5d, 0x1c, 0x2d, + 0x34, 0x5b, 0x92, 0x5d, 0x8d, 0xc0, 0x0b, 0x41, 0x04, 0x85, 0x2d, 0xb9, + 0x9a, 0xc5, 0xc7, 0xcd, 0xda, 0x85, 0x30, 0xa1, 0x13, 0xa0, 0xf4, 0xdb, + 0xb6, 0x11, 0x49, 0xf0, 0x5a, 0x73, 0x63, 0x26, 0x8c, 0x71, 0xd9, 0x58, + 0x08, 0xff, 0x2e, 0x65, 0x26, 0x00 +}; + +static const uint8_t privkey2[57] = { + 0xc4, 0xea, 0xb0, 0x5d, 0x35, 0x70, 0x07, 0xc6, 0x32, 0xf3, 0xdb, 0xb4, + 0x84, 0x89, 0x92, 0x4d, 0x55, 0x2b, 0x08, 0xfe, 0x0c, 0x35, 0x3a, 0x0d, + 0x4a, 0x1f, 0x00, 0xac, 0xda, 0x2c, 0x46, 0x3a, 0xfb, 0xea, 0x67, 0xc5, + 0xe8, 0xd2, 0x87, 0x7c, 0x5e, 0x3b, 0xc3, 0x97, 0xa6, 0x59, 0x94, 0x9e, + 0xf8, 0x02, 0x1e, 0x95, 0x4e, 0x0a, 0x12, 0x27, 0x4e +}; + +static const uint8_t pubkey2[57] = { + 0x43, 0xba, 0x28, 0xf4, 0x30, 0xcd, 0xff, 0x45, 0x6a, 0xe5, 0x31, 0x54, + 0x5f, 0x7e, 0xcd, 0x0a, 0xc8, 0x34, 0xa5, 0x5d, 0x93, 0x58, 0xc0, 0x37, + 0x2b, 0xfa, 0x0c, 0x6c, 0x67, 0x98, 0xc0, 0x86, 0x6a, 0xea, 0x01, 0xeb, + 0x00, 0x74, 0x28, 0x02, 0xb8, 0x43, 0x8e, 0xa4, 0xcb, 0x82, 0x16, 0x9c, + 0x23, 0x51, 0x60, 0x62, 0x7b, 0x4c, 0x3a, 0x94, 0x80 +}; + +static const uint8_t msg2[1] = { + 0x03 +}; + +static const uint8_t sig2[114] = { + 0x26, 0xb8, 0xf9, 0x17, 0x27, 0xbd, 0x62, 0x89, 0x7a, 0xf1, 0x5e, 0x41, + 0xeb, 0x43, 0xc3, 0x77, 0xef, 0xb9, 0xc6, 0x10, 0xd4, 0x8f, 0x23, 0x35, + 0xcb, 0x0b, 0xd0, 0x08, 0x78, 0x10, 0xf4, 0x35, 0x25, 0x41, 0xb1, 0x43, + 0xc4, 0xb9, 0x81, 0xb7, 0xe1, 0x8f, 0x62, 0xde, 0x8c, 0xcd, 0xf6, 0x33, + 0xfc, 0x1b, 0xf0, 0x37, 0xab, 0x7c, 0xd7, 0x79, 0x80, 0x5e, 0x0d, 0xbc, + 0xc0, 0xaa, 0xe1, 0xcb, 0xce, 0xe1, 0xaf, 0xb2, 0xe0, 0x27, 0xdf, 0x36, + 0xbc, 0x04, 0xdc, 0xec, 0xbf, 0x15, 0x43, 0x36, 0xc1, 0x9f, 0x0a, 0xf7, + 0xe0, 0xa6, 0x47, 0x29, 0x05, 0xe7, 0x99, 0xf1, 0x95, 0x3d, 0x2a, 0x0f, + 0xf3, 0x34, 0x8a, 0xb2, 0x1a, 0xa4, 0xad, 0xaf, 0xd1, 0xd2, 0x34, 0x44, + 0x1c, 0xf8, 0x07, 0xc0, 0x3a, 0x00 +}; + +static const uint8_t privkey3[57] = { + 0xc4, 0xea, 0xb0, 0x5d, 0x35, 0x70, 0x07, 0xc6, 0x32, 0xf3, 0xdb, 0xb4, + 0x84, 0x89, 0x92, 0x4d, 0x55, 0x2b, 0x08, 0xfe, 0x0c, 0x35, 0x3a, 0x0d, + 0x4a, 0x1f, 0x00, 0xac, 0xda, 0x2c, 0x46, 0x3a, 0xfb, 0xea, 0x67, 0xc5, + 0xe8, 0xd2, 0x87, 0x7c, 0x5e, 0x3b, 0xc3, 0x97, 0xa6, 0x59, 0x94, 0x9e, + 0xf8, 0x02, 0x1e, 0x95, 0x4e, 0x0a, 0x12, 0x27, 0x4e +}; + +static const uint8_t pubkey3[57] = { + 0x43, 0xba, 0x28, 0xf4, 0x30, 0xcd, 0xff, 0x45, 0x6a, 0xe5, 0x31, 0x54, + 0x5f, 0x7e, 0xcd, 0x0a, 0xc8, 0x34, 0xa5, 0x5d, 0x93, 0x58, 0xc0, 0x37, + 0x2b, 0xfa, 0x0c, 0x6c, 0x67, 0x98, 0xc0, 0x86, 0x6a, 0xea, 0x01, 0xeb, + 0x00, 0x74, 0x28, 0x02, 0xb8, 0x43, 0x8e, 0xa4, 0xcb, 0x82, 0x16, 0x9c, + 0x23, 0x51, 0x60, 0x62, 0x7b, 0x4c, 0x3a, 0x94, 0x80 +}; + +static const uint8_t msg3[1] = { + 0x03 +}; + +static const uint8_t context3[3] = { + 0x66, 0x6f, 0x6f +}; + +static const uint8_t sig3[114] = { + 0xd4, 0xf8, 0xf6, 0x13, 0x17, 0x70, 0xdd, 0x46, 0xf4, 0x08, 0x67, 0xd6, + 0xfd, 0x5d, 0x50, 0x55, 0xde, 0x43, 0x54, 0x1f, 0x8c, 0x5e, 0x35, 0xab, + 0xbc, 0xd0, 0x01, 0xb3, 0x2a, 0x89, 0xf7, 0xd2, 0x15, 0x1f, 0x76, 0x47, + 0xf1, 0x1d, 0x8c, 0xa2, 0xae, 0x27, 0x9f, 0xb8, 0x42, 0xd6, 0x07, 0x21, + 0x7f, 0xce, 0x6e, 0x04, 0x2f, 0x68, 0x15, 0xea, 0x00, 0x0c, 0x85, 0x74, + 0x1d, 0xe5, 0xc8, 0xda, 0x11, 0x44, 0xa6, 0xa1, 0xab, 0xa7, 0xf9, 0x6d, + 0xe4, 0x25, 0x05, 0xd7, 0xa7, 0x29, 0x85, 0x24, 0xfd, 0xa5, 0x38, 0xfc, + 0xcb, 0xbb, 0x75, 0x4f, 0x57, 0x8c, 0x1c, 0xad, 0x10, 0xd5, 0x4d, 0x0d, + 0x54, 0x28, 0x40, 0x7e, 0x85, 0xdc, 0xbc, 0x98, 0xa4, 0x91, 0x55, 0xc1, + 0x37, 0x64, 0xe6, 0x6c, 0x3c, 0x00 +}; + +static const uint8_t privkey4[57] = { + 0xcd, 0x23, 0xd2, 0x4f, 0x71, 0x42, 0x74, 0xe7, 0x44, 0x34, 0x32, 0x37, + 0xb9, 0x32, 0x90, 0xf5, 0x11, 0xf6, 0x42, 0x5f, 0x98, 0xe6, 0x44, 0x59, + 0xff, 0x20, 0x3e, 0x89, 0x85, 0x08, 0x3f, 0xfd, 0xf6, 0x05, 0x00, 0x55, + 0x3a, 0xbc, 0x0e, 0x05, 0xcd, 0x02, 0x18, 0x4b, 0xdb, 0x89, 0xc4, 0xcc, + 0xd6, 0x7e, 0x18, 0x79, 0x51, 0x26, 0x7e, 0xb3, 0x28 +}; + +static const uint8_t pubkey4[57] = { + 0xdc, 0xea, 0x9e, 0x78, 0xf3, 0x5a, 0x1b, 0xf3, 0x49, 0x9a, 0x83, 0x1b, + 0x10, 0xb8, 0x6c, 0x90, 0xaa, 0xc0, 0x1c, 0xd8, 0x4b, 0x67, 0xa0, 0x10, + 0x9b, 0x55, 0xa3, 0x6e, 0x93, 0x28, 0xb1, 0xe3, 0x65, 0xfc, 0xe1, 0x61, + 0xd7, 0x1c, 0xe7, 0x13, 0x1a, 0x54, 0x3e, 0xa4, 0xcb, 0x5f, 0x7e, 0x9f, + 0x1d, 0x8b, 0x00, 0x69, 0x64, 0x47, 0x00, 0x14, 0x00 +}; + +static const uint8_t msg4[11] = { + 0x0c, 0x3e, 0x54, 0x40, 0x74, 0xec, 0x63, 0xb0, 0x26, 0x5e, 0x0c +}; + +static const uint8_t sig4[114] = { + 0x1f, 0x0a, 0x88, 0x88, 0xce, 0x25, 0xe8, 0xd4, 0x58, 0xa2, 0x11, 0x30, + 0x87, 0x9b, 0x84, 0x0a, 0x90, 0x89, 0xd9, 0x99, 0xaa, 0xba, 0x03, 0x9e, + 0xaf, 0x3e, 0x3a, 0xfa, 0x09, 0x0a, 0x09, 0xd3, 0x89, 0xdb, 0xa8, 0x2c, + 0x4f, 0xf2, 0xae, 0x8a, 0xc5, 0xcd, 0xfb, 0x7c, 0x55, 0xe9, 0x4d, 0x5d, + 0x96, 0x1a, 0x29, 0xfe, 0x01, 0x09, 0x94, 0x1e, 0x00, 0xb8, 0xdb, 0xde, + 0xea, 0x6d, 0x3b, 0x05, 0x10, 0x68, 0xdf, 0x72, 0x54, 0xc0, 0xcd, 0xc1, + 0x29, 0xcb, 0xe6, 0x2d, 0xb2, 0xdc, 0x95, 0x7d, 0xbb, 0x47, 0xb5, 0x1f, + 0xd3, 0xf2, 0x13, 0xfb, 0x86, 0x98, 0xf0, 0x64, 0x77, 0x42, 0x50, 0xa5, + 0x02, 0x89, 0x61, 0xc9, 0xbf, 0x8f, 0xfd, 0x97, 0x3f, 0xe5, 0xd5, 0xc2, + 0x06, 0x49, 0x2b, 0x14, 0x0e, 0x00 +}; + +static const uint8_t privkey5[57] = { + 0x25, 0x8c, 0xdd, 0x4a, 0xda, 0x32, 0xed, 0x9c, 0x9f, 0xf5, 0x4e, 0x63, + 0x75, 0x6a, 0xe5, 0x82, 0xfb, 0x8f, 0xab, 0x2a, 0xc7, 0x21, 0xf2, 0xc8, + 0xe6, 0x76, 0xa7, 0x27, 0x68, 0x51, 0x3d, 0x93, 0x9f, 0x63, 0xdd, 0xdb, + 0x55, 0x60, 0x91, 0x33, 0xf2, 0x9a, 0xdf, 0x86, 0xec, 0x99, 0x29, 0xdc, + 0xcb, 0x52, 0xc1, 0xc5, 0xfd, 0x2f, 0xf7, 0xe2, 0x1b +}; + +static const uint8_t pubkey5[57] = { + 0x3b, 0xa1, 0x6d, 0xa0, 0xc6, 0xf2, 0xcc, 0x1f, 0x30, 0x18, 0x77, 0x40, + 0x75, 0x6f, 0x5e, 0x79, 0x8d, 0x6b, 0xc5, 0xfc, 0x01, 0x5d, 0x7c, 0x63, + 0xcc, 0x95, 0x10, 0xee, 0x3f, 0xd4, 0x4a, 0xdc, 0x24, 0xd8, 0xe9, 0x68, + 0xb6, 0xe4, 0x6e, 0x6f, 0x94, 0xd1, 0x9b, 0x94, 0x53, 0x61, 0x72, 0x6b, + 0xd7, 0x5e, 0x14, 0x9e, 0xf0, 0x98, 0x17, 0xf5, 0x80 +}; + +static const uint8_t msg5[12] = { + 0x64, 0xa6, 0x5f, 0x3c, 0xde, 0xdc, 0xdd, 0x66, 0x81, 0x1e, 0x29, 0x15 +}; + +static const uint8_t sig5[114] = { + 0x7e, 0xee, 0xab, 0x7c, 0x4e, 0x50, 0xfb, 0x79, 0x9b, 0x41, 0x8e, 0xe5, + 0xe3, 0x19, 0x7f, 0xf6, 0xbf, 0x15, 0xd4, 0x3a, 0x14, 0xc3, 0x43, 0x89, + 0xb5, 0x9d, 0xd1, 0xa7, 0xb1, 0xb8, 0x5b, 0x4a, 0xe9, 0x04, 0x38, 0xac, + 0xa6, 0x34, 0xbe, 0xa4, 0x5e, 0x3a, 0x26, 0x95, 0xf1, 0x27, 0x0f, 0x07, + 0xfd, 0xcd, 0xf7, 0xc6, 0x2b, 0x8e, 0xfe, 0xaf, 0x00, 0xb4, 0x5c, 0x2c, + 0x96, 0xba, 0x45, 0x7e, 0xb1, 0xa8, 0xbf, 0x07, 0x5a, 0x3d, 0xb2, 0x8e, + 0x5c, 0x24, 0xf6, 0xb9, 0x23, 0xed, 0x4a, 0xd7, 0x47, 0xc3, 0xc9, 0xe0, + 0x3c, 0x70, 0x79, 0xef, 0xb8, 0x7c, 0xb1, 0x10, 0xd3, 0xa9, 0x98, 0x61, + 0xe7, 0x20, 0x03, 0xcb, 0xae, 0x6d, 0x6b, 0x8b, 0x82, 0x7e, 0x4e, 0x6c, + 0x14, 0x30, 0x64, 0xff, 0x3c, 0x00 +}; + +static const uint8_t privkey6[57] = { + 0x7e, 0xf4, 0xe8, 0x45, 0x44, 0x23, 0x67, 0x52, 0xfb, 0xb5, 0x6b, 0x8f, + 0x31, 0xa2, 0x3a, 0x10, 0xe4, 0x28, 0x14, 0xf5, 0xf5, 0x5c, 0xa0, 0x37, + 0xcd, 0xcc, 0x11, 0xc6, 0x4c, 0x9a, 0x3b, 0x29, 0x49, 0xc1, 0xbb, 0x60, + 0x70, 0x03, 0x14, 0x61, 0x17, 0x32, 0xa6, 0xc2, 0xfe, 0xa9, 0x8e, 0xeb, + 0xc0, 0x26, 0x6a, 0x11, 0xa9, 0x39, 0x70, 0x10, 0x0e +}; + +static const uint8_t pubkey6[57] = { + 0xb3, 0xda, 0x07, 0x9b, 0x0a, 0xa4, 0x93, 0xa5, 0x77, 0x20, 0x29, 0xf0, + 0x46, 0x7b, 0xae, 0xbe, 0xe5, 0xa8, 0x11, 0x2d, 0x9d, 0x3a, 0x22, 0x53, + 0x23, 0x61, 0xda, 0x29, 0x4f, 0x7b, 0xb3, 0x81, 0x5c, 0x5d, 0xc5, 0x9e, + 0x17, 0x6b, 0x4d, 0x9f, 0x38, 0x1c, 0xa0, 0x93, 0x8e, 0x13, 0xc6, 0xc0, + 0x7b, 0x17, 0x4b, 0xe6, 0x5d, 0xfa, 0x57, 0x8e, 0x80 +}; + +static const uint8_t msg6[13] = { + 0x64, 0xa6, 0x5f, 0x3c, 0xde, 0xdc, 0xdd, 0x66, 0x81, 0x1e, 0x29, 0x15, + 0xe7 +}; + +static const uint8_t sig6[114] = { + 0x6a, 0x12, 0x06, 0x6f, 0x55, 0x33, 0x1b, 0x6c, 0x22, 0xac, 0xd5, 0xd5, + 0xbf, 0xc5, 0xd7, 0x12, 0x28, 0xfb, 0xda, 0x80, 0xae, 0x8d, 0xec, 0x26, + 0xbd, 0xd3, 0x06, 0x74, 0x3c, 0x50, 0x27, 0xcb, 0x48, 0x90, 0x81, 0x0c, + 0x16, 0x2c, 0x02, 0x74, 0x68, 0x67, 0x5e, 0xcf, 0x64, 0x5a, 0x83, 0x17, + 0x6c, 0x0d, 0x73, 0x23, 0xa2, 0xcc, 0xde, 0x2d, 0x80, 0xef, 0xe5, 0xa1, + 0x26, 0x8e, 0x8a, 0xca, 0x1d, 0x6f, 0xbc, 0x19, 0x4d, 0x3f, 0x77, 0xc4, + 0x49, 0x86, 0xeb, 0x4a, 0xb4, 0x17, 0x79, 0x19, 0xad, 0x8b, 0xec, 0x33, + 0xeb, 0x47, 0xbb, 0xb5, 0xfc, 0x6e, 0x28, 0x19, 0x6f, 0xd1, 0xca, 0xf5, + 0x6b, 0x4e, 0x7e, 0x0b, 0xa5, 0x51, 0x92, 0x34, 0xd0, 0x47, 0x15, 0x5a, + 0xc7, 0x27, 0xa1, 0x05, 0x31, 0x00 +}; + +static const uint8_t privkey7[57] = { + 0xd6, 0x5d, 0xf3, 0x41, 0xad, 0x13, 0xe0, 0x08, 0x56, 0x76, 0x88, 0xba, + 0xed, 0xda, 0x8e, 0x9d, 0xcd, 0xc1, 0x7d, 0xc0, 0x24, 0x97, 0x4e, 0xa5, + 0xb4, 0x22, 0x7b, 0x65, 0x30, 0xe3, 0x39, 0xbf, 0xf2, 0x1f, 0x99, 0xe6, + 0x8c, 0xa6, 0x96, 0x8f, 0x3c, 0xca, 0x6d, 0xfe, 0x0f, 0xb9, 0xf4, 0xfa, + 0xb4, 0xfa, 0x13, 0x5d, 0x55, 0x42, 0xea, 0x3f, 0x01 +}; + +static const uint8_t pubkey7[57] = { + 0xdf, 0x97, 0x05, 0xf5, 0x8e, 0xdb, 0xab, 0x80, 0x2c, 0x7f, 0x83, 0x63, + 0xcf, 0xe5, 0x56, 0x0a, 0xb1, 0xc6, 0x13, 0x2c, 0x20, 0xa9, 0xf1, 0xdd, + 0x16, 0x34, 0x83, 0xa2, 0x6f, 0x8a, 0xc5, 0x3a, 0x39, 0xd6, 0x80, 0x8b, + 0xf4, 0xa1, 0xdf, 0xbd, 0x26, 0x1b, 0x09, 0x9b, 0xb0, 0x3b, 0x3f, 0xb5, + 0x09, 0x06, 0xcb, 0x28, 0xbd, 0x8a, 0x08, 0x1f, 0x00 +}; + +static const uint8_t msg7[64] = { + 0xbd, 0x0f, 0x6a, 0x37, 0x47, 0xcd, 0x56, 0x1b, 0xdd, 0xdf, 0x46, 0x40, + 0xa3, 0x32, 0x46, 0x1a, 0x4a, 0x30, 0xa1, 0x2a, 0x43, 0x4c, 0xd0, 0xbf, + 0x40, 0xd7, 0x66, 0xd9, 0xc6, 0xd4, 0x58, 0xe5, 0x51, 0x22, 0x04, 0xa3, + 0x0c, 0x17, 0xd1, 0xf5, 0x0b, 0x50, 0x79, 0x63, 0x1f, 0x64, 0xeb, 0x31, + 0x12, 0x18, 0x2d, 0xa3, 0x00, 0x58, 0x35, 0x46, 0x11, 0x13, 0x71, 0x8d, + 0x1a, 0x5e, 0xf9, 0x44 +}; + +static const uint8_t sig7[114] = { + 0x55, 0x4b, 0xc2, 0x48, 0x08, 0x60, 0xb4, 0x9e, 0xab, 0x85, 0x32, 0xd2, + 0xa5, 0x33, 0xb7, 0xd5, 0x78, 0xef, 0x47, 0x3e, 0xeb, 0x58, 0xc9, 0x8b, + 0xb2, 0xd0, 0xe1, 0xce, 0x48, 0x8a, 0x98, 0xb1, 0x8d, 0xfd, 0xe9, 0xb9, + 0xb9, 0x07, 0x75, 0xe6, 0x7f, 0x47, 0xd4, 0xa1, 0xc3, 0x48, 0x20, 0x58, + 0xef, 0xc9, 0xf4, 0x0d, 0x2c, 0xa0, 0x33, 0xa0, 0x80, 0x1b, 0x63, 0xd4, + 0x5b, 0x3b, 0x72, 0x2e, 0xf5, 0x52, 0xba, 0xd3, 0xb4, 0xcc, 0xb6, 0x67, + 0xda, 0x35, 0x01, 0x92, 0xb6, 0x1c, 0x50, 0x8c, 0xf7, 0xb6, 0xb5, 0xad, + 0xad, 0xc2, 0xc8, 0xd9, 0xa4, 0x46, 0xef, 0x00, 0x3f, 0xb0, 0x5c, 0xba, + 0x5f, 0x30, 0xe8, 0x8e, 0x36, 0xec, 0x27, 0x03, 0xb3, 0x49, 0xca, 0x22, + 0x9c, 0x26, 0x70, 0x83, 0x39, 0x00 +}; + +static const uint8_t privkey8[57] = { + 0x2e, 0xc5, 0xfe, 0x3c, 0x17, 0x04, 0x5a, 0xbd, 0xb1, 0x36, 0xa5, 0xe6, + 0xa9, 0x13, 0xe3, 0x2a, 0xb7, 0x5a, 0xe6, 0x8b, 0x53, 0xd2, 0xfc, 0x14, + 0x9b, 0x77, 0xe5, 0x04, 0x13, 0x2d, 0x37, 0x56, 0x9b, 0x7e, 0x76, 0x6b, + 0xa7, 0x4a, 0x19, 0xbd, 0x61, 0x62, 0x34, 0x3a, 0x21, 0xc8, 0x59, 0x0a, + 0xa9, 0xce, 0xbc, 0xa9, 0x01, 0x4c, 0x63, 0x6d, 0xf5 +}; + +static const uint8_t pubkey8[57] = { + 0x79, 0x75, 0x6f, 0x01, 0x4d, 0xcf, 0xe2, 0x07, 0x9f, 0x5d, 0xd9, 0xe7, + 0x18, 0xbe, 0x41, 0x71, 0xe2, 0xef, 0x24, 0x86, 0xa0, 0x8f, 0x25, 0x18, + 0x6f, 0x6b, 0xff, 0x43, 0xa9, 0x93, 0x6b, 0x9b, 0xfe, 0x12, 0x40, 0x2b, + 0x08, 0xae, 0x65, 0x79, 0x8a, 0x3d, 0x81, 0xe2, 0x2e, 0x9e, 0xc8, 0x0e, + 0x76, 0x90, 0x86, 0x2e, 0xf3, 0xd4, 0xed, 0x3a, 0x00 +}; + +static const uint8_t msg8[256] = { + 0x15, 0x77, 0x75, 0x32, 0xb0, 0xbd, 0xd0, 0xd1, 0x38, 0x9f, 0x63, 0x6c, + 0x5f, 0x6b, 0x9b, 0xa7, 0x34, 0xc9, 0x0a, 0xf5, 0x72, 0x87, 0x7e, 0x2d, + 0x27, 0x2d, 0xd0, 0x78, 0xaa, 0x1e, 0x56, 0x7c, 0xfa, 0x80, 0xe1, 0x29, + 0x28, 0xbb, 0x54, 0x23, 0x30, 0xe8, 0x40, 0x9f, 0x31, 0x74, 0x50, 0x41, + 0x07, 0xec, 0xd5, 0xef, 0xac, 0x61, 0xae, 0x75, 0x04, 0xda, 0xbe, 0x2a, + 0x60, 0x2e, 0xde, 0x89, 0xe5, 0xcc, 0xa6, 0x25, 0x7a, 0x7c, 0x77, 0xe2, + 0x7a, 0x70, 0x2b, 0x3a, 0xe3, 0x9f, 0xc7, 0x69, 0xfc, 0x54, 0xf2, 0x39, + 0x5a, 0xe6, 0xa1, 0x17, 0x8c, 0xab, 0x47, 0x38, 0xe5, 0x43, 0x07, 0x2f, + 0xc1, 0xc1, 0x77, 0xfe, 0x71, 0xe9, 0x2e, 0x25, 0xbf, 0x03, 0xe4, 0xec, + 0xb7, 0x2f, 0x47, 0xb6, 0x4d, 0x04, 0x65, 0xaa, 0xea, 0x4c, 0x7f, 0xad, + 0x37, 0x25, 0x36, 0xc8, 0xba, 0x51, 0x6a, 0x60, 0x39, 0xc3, 0xc2, 0xa3, + 0x9f, 0x0e, 0x4d, 0x83, 0x2b, 0xe4, 0x32, 0xdf, 0xa9, 0xa7, 0x06, 0xa6, + 0xe5, 0xc7, 0xe1, 0x9f, 0x39, 0x79, 0x64, 0xca, 0x42, 0x58, 0x00, 0x2f, + 0x7c, 0x05, 0x41, 0xb5, 0x90, 0x31, 0x6d, 0xbc, 0x56, 0x22, 0xb6, 0xb2, + 0xa6, 0xfe, 0x7a, 0x4a, 0xbf, 0xfd, 0x96, 0x10, 0x5e, 0xca, 0x76, 0xea, + 0x7b, 0x98, 0x81, 0x6a, 0xf0, 0x74, 0x8c, 0x10, 0xdf, 0x04, 0x8c, 0xe0, + 0x12, 0xd9, 0x01, 0x01, 0x5a, 0x51, 0xf1, 0x89, 0xf3, 0x88, 0x81, 0x45, + 0xc0, 0x36, 0x50, 0xaa, 0x23, 0xce, 0x89, 0x4c, 0x3b, 0xd8, 0x89, 0xe0, + 0x30, 0xd5, 0x65, 0x07, 0x1c, 0x59, 0xf4, 0x09, 0xa9, 0x98, 0x1b, 0x51, + 0x87, 0x8f, 0xd6, 0xfc, 0x11, 0x06, 0x24, 0xdc, 0xbc, 0xde, 0x0b, 0xf7, + 0xa6, 0x9c, 0xcc, 0xe3, 0x8f, 0xab, 0xdf, 0x86, 0xf3, 0xbe, 0xf6, 0x04, + 0x48, 0x19, 0xde, 0x11 +}; + +static const uint8_t sig8[114] = { + 0xc6, 0x50, 0xdd, 0xbb, 0x06, 0x01, 0xc1, 0x9c, 0xa1, 0x14, 0x39, 0xe1, + 0x64, 0x0d, 0xd9, 0x31, 0xf4, 0x3c, 0x51, 0x8e, 0xa5, 0xbe, 0xa7, 0x0d, + 0x3d, 0xcd, 0xe5, 0xf4, 0x19, 0x1f, 0xe5, 0x3f, 0x00, 0xcf, 0x96, 0x65, + 0x46, 0xb7, 0x2b, 0xcc, 0x7d, 0x58, 0xbe, 0x2b, 0x9b, 0xad, 0xef, 0x28, + 0x74, 0x39, 0x54, 0xe3, 0xa4, 0x4a, 0x23, 0xf8, 0x80, 0xe8, 0xd4, 0xf1, + 0xcf, 0xce, 0x2d, 0x7a, 0x61, 0x45, 0x2d, 0x26, 0xda, 0x05, 0x89, 0x6f, + 0x0a, 0x50, 0xda, 0x66, 0xa2, 0x39, 0xa8, 0xa1, 0x88, 0xb6, 0xd8, 0x25, + 0xb3, 0x30, 0x5a, 0xd7, 0x7b, 0x73, 0xfb, 0xac, 0x08, 0x36, 0xec, 0xc6, + 0x09, 0x87, 0xfd, 0x08, 0x52, 0x7c, 0x1a, 0x8e, 0x80, 0xd5, 0x82, 0x3e, + 0x65, 0xca, 0xfe, 0x2a, 0x3d, 0x00 +}; + +static const uint8_t privkey9[57] = { + 0x87, 0x2d, 0x09, 0x37, 0x80, 0xf5, 0xd3, 0x73, 0x0d, 0xf7, 0xc2, 0x12, + 0x66, 0x4b, 0x37, 0xb8, 0xa0, 0xf2, 0x4f, 0x56, 0x81, 0x0d, 0xaa, 0x83, + 0x82, 0xcd, 0x4f, 0xa3, 0xf7, 0x76, 0x34, 0xec, 0x44, 0xdc, 0x54, 0xf1, + 0xc2, 0xed, 0x9b, 0xea, 0x86, 0xfa, 0xfb, 0x76, 0x32, 0xd8, 0xbe, 0x19, + 0x9e, 0xa1, 0x65, 0xf5, 0xad, 0x55, 0xdd, 0x9c, 0xe8 +}; + +static const uint8_t pubkey9[57] = { + 0xa8, 0x1b, 0x2e, 0x8a, 0x70, 0xa5, 0xac, 0x94, 0xff, 0xdb, 0xcc, 0x9b, + 0xad, 0xfc, 0x3f, 0xeb, 0x08, 0x01, 0xf2, 0x58, 0x57, 0x8b, 0xb1, 0x14, + 0xad, 0x44, 0xec, 0xe1, 0xec, 0x0e, 0x79, 0x9d, 0xa0, 0x8e, 0xff, 0xb8, + 0x1c, 0x5d, 0x68, 0x5c, 0x0c, 0x56, 0xf6, 0x4e, 0xec, 0xae, 0xf8, 0xcd, + 0xf1, 0x1c, 0xc3, 0x87, 0x37, 0x83, 0x8c, 0xf4, 0x00 +}; + +static const uint8_t msg9[1023] = { + 0x6d, 0xdf, 0x80, 0x2e, 0x1a, 0xae, 0x49, 0x86, 0x93, 0x5f, 0x7f, 0x98, + 0x1b, 0xa3, 0xf0, 0x35, 0x1d, 0x62, 0x73, 0xc0, 0xa0, 0xc2, 0x2c, 0x9c, + 0x0e, 0x83, 0x39, 0x16, 0x8e, 0x67, 0x54, 0x12, 0xa3, 0xde, 0xbf, 0xaf, + 0x43, 0x5e, 0xd6, 0x51, 0x55, 0x80, 0x07, 0xdb, 0x43, 0x84, 0xb6, 0x50, + 0xfc, 0xc0, 0x7e, 0x3b, 0x58, 0x6a, 0x27, 0xa4, 0xf7, 0xa0, 0x0a, 0xc8, + 0xa6, 0xfe, 0xc2, 0xcd, 0x86, 0xae, 0x4b, 0xf1, 0x57, 0x0c, 0x41, 0xe6, + 0xa4, 0x0c, 0x93, 0x1d, 0xb2, 0x7b, 0x2f, 0xaa, 0x15, 0xa8, 0xce, 0xdd, + 0x52, 0xcf, 0xf7, 0x36, 0x2c, 0x4e, 0x6e, 0x23, 0xda, 0xec, 0x0f, 0xbc, + 0x3a, 0x79, 0xb6, 0x80, 0x6e, 0x31, 0x6e, 0xfc, 0xc7, 0xb6, 0x81, 0x19, + 0xbf, 0x46, 0xbc, 0x76, 0xa2, 0x60, 0x67, 0xa5, 0x3f, 0x29, 0x6d, 0xaf, + 0xdb, 0xdc, 0x11, 0xc7, 0x7f, 0x77, 0x77, 0xe9, 0x72, 0x66, 0x0c, 0xf4, + 0xb6, 0xa9, 0xb3, 0x69, 0xa6, 0x66, 0x5f, 0x02, 0xe0, 0xcc, 0x9b, 0x6e, + 0xdf, 0xad, 0x13, 0x6b, 0x4f, 0xab, 0xe7, 0x23, 0xd2, 0x81, 0x3d, 0xb3, + 0x13, 0x6c, 0xfd, 0xe9, 0xb6, 0xd0, 0x44, 0x32, 0x2f, 0xee, 0x29, 0x47, + 0x95, 0x2e, 0x03, 0x1b, 0x73, 0xab, 0x5c, 0x60, 0x33, 0x49, 0xb3, 0x07, + 0xbd, 0xc2, 0x7b, 0xc6, 0xcb, 0x8b, 0x8b, 0xbd, 0x7b, 0xd3, 0x23, 0x21, + 0x9b, 0x80, 0x33, 0xa5, 0x81, 0xb5, 0x9e, 0xad, 0xeb, 0xb0, 0x9b, 0x3c, + 0x4f, 0x3d, 0x22, 0x77, 0xd4, 0xf0, 0x34, 0x36, 0x24, 0xac, 0xc8, 0x17, + 0x80, 0x47, 0x28, 0xb2, 0x5a, 0xb7, 0x97, 0x17, 0x2b, 0x4c, 0x5c, 0x21, + 0xa2, 0x2f, 0x9c, 0x78, 0x39, 0xd6, 0x43, 0x00, 0x23, 0x2e, 0xb6, 0x6e, + 0x53, 0xf3, 0x1c, 0x72, 0x3f, 0xa3, 0x7f, 0xe3, 0x87, 0xc7, 0xd3, 0xe5, + 0x0b, 0xdf, 0x98, 0x13, 0xa3, 0x0e, 0x5b, 0xb1, 0x2c, 0xf4, 0xcd, 0x93, + 0x0c, 0x40, 0xcf, 0xb4, 0xe1, 0xfc, 0x62, 0x25, 0x92, 0xa4, 0x95, 0x88, + 0x79, 0x44, 0x94, 0xd5, 0x6d, 0x24, 0xea, 0x4b, 0x40, 0xc8, 0x9f, 0xc0, + 0x59, 0x6c, 0xc9, 0xeb, 0xb9, 0x61, 0xc8, 0xcb, 0x10, 0xad, 0xde, 0x97, + 0x6a, 0x5d, 0x60, 0x2b, 0x1c, 0x3f, 0x85, 0xb9, 0xb9, 0xa0, 0x01, 0xed, + 0x3c, 0x6a, 0x4d, 0x3b, 0x14, 0x37, 0xf5, 0x20, 0x96, 0xcd, 0x19, 0x56, + 0xd0, 0x42, 0xa5, 0x97, 0xd5, 0x61, 0xa5, 0x96, 0xec, 0xd3, 0xd1, 0x73, + 0x5a, 0x8d, 0x57, 0x0e, 0xa0, 0xec, 0x27, 0x22, 0x5a, 0x2c, 0x4a, 0xaf, + 0xf2, 0x63, 0x06, 0xd1, 0x52, 0x6c, 0x1a, 0xf3, 0xca, 0x6d, 0x9c, 0xf5, + 0xa2, 0xc9, 0x8f, 0x47, 0xe1, 0xc4, 0x6d, 0xb9, 0xa3, 0x32, 0x34, 0xcf, + 0xd4, 0xd8, 0x1f, 0x2c, 0x98, 0x53, 0x8a, 0x09, 0xeb, 0xe7, 0x69, 0x98, + 0xd0, 0xd8, 0xfd, 0x25, 0x99, 0x7c, 0x7d, 0x25, 0x5c, 0x6d, 0x66, 0xec, + 0xe6, 0xfa, 0x56, 0xf1, 0x11, 0x44, 0x95, 0x0f, 0x02, 0x77, 0x95, 0xe6, + 0x53, 0x00, 0x8f, 0x4b, 0xd7, 0xca, 0x2d, 0xee, 0x85, 0xd8, 0xe9, 0x0f, + 0x3d, 0xc3, 0x15, 0x13, 0x0c, 0xe2, 0xa0, 0x03, 0x75, 0xa3, 0x18, 0xc7, + 0xc3, 0xd9, 0x7b, 0xe2, 0xc8, 0xce, 0x5b, 0x6d, 0xb4, 0x1a, 0x62, 0x54, + 0xff, 0x26, 0x4f, 0xa6, 0x15, 0x5b, 0xae, 0xe3, 0xb0, 0x77, 0x3c, 0x0f, + 0x49, 0x7c, 0x57, 0x3f, 0x19, 0xbb, 0x4f, 0x42, 0x40, 0x28, 0x1f, 0x0b, + 0x1f, 0x4f, 0x7b, 0xe8, 0x57, 0xa4, 0xe5, 0x9d, 0x41, 0x6c, 0x06, 0xb4, + 0xc5, 0x0f, 0xa0, 0x9e, 0x18, 0x10, 0xdd, 0xc6, 0xb1, 0x46, 0x7b, 0xae, + 0xac, 0x5a, 0x36, 0x68, 0xd1, 0x1b, 0x6e, 0xca, 0xa9, 0x01, 0x44, 0x00, + 0x16, 0xf3, 0x89, 0xf8, 0x0a, 0xcc, 0x4d, 0xb9, 0x77, 0x02, 0x5e, 0x7f, + 0x59, 0x24, 0x38, 0x8c, 0x7e, 0x34, 0x0a, 0x73, 0x2e, 0x55, 0x44, 0x40, + 0xe7, 0x65, 0x70, 0xf8, 0xdd, 0x71, 0xb7, 0xd6, 0x40, 0xb3, 0x45, 0x0d, + 0x1f, 0xd5, 0xf0, 0x41, 0x0a, 0x18, 0xf9, 0xa3, 0x49, 0x4f, 0x70, 0x7c, + 0x71, 0x7b, 0x79, 0xb4, 0xbf, 0x75, 0xc9, 0x84, 0x00, 0xb0, 0x96, 0xb2, + 0x16, 0x53, 0xb5, 0xd2, 0x17, 0xcf, 0x35, 0x65, 0xc9, 0x59, 0x74, 0x56, + 0xf7, 0x07, 0x03, 0x49, 0x7a, 0x07, 0x87, 0x63, 0x82, 0x9b, 0xc0, 0x1b, + 0xb1, 0xcb, 0xc8, 0xfa, 0x04, 0xea, 0xdc, 0x9a, 0x6e, 0x3f, 0x66, 0x99, + 0x58, 0x7a, 0x9e, 0x75, 0xc9, 0x4e, 0x5b, 0xab, 0x00, 0x36, 0xe0, 0xb2, + 0xe7, 0x11, 0x39, 0x2c, 0xff, 0x00, 0x47, 0xd0, 0xd6, 0xb0, 0x5b, 0xd2, + 0xa5, 0x88, 0xbc, 0x10, 0x97, 0x18, 0x95, 0x42, 0x59, 0xf1, 0xd8, 0x66, + 0x78, 0xa5, 0x79, 0xa3, 0x12, 0x0f, 0x19, 0xcf, 0xb2, 0x96, 0x3f, 0x17, + 0x7a, 0xeb, 0x70, 0xf2, 0xd4, 0x84, 0x48, 0x26, 0x26, 0x2e, 0x51, 0xb8, + 0x02, 0x71, 0x27, 0x20, 0x68, 0xef, 0x5b, 0x38, 0x56, 0xfa, 0x85, 0x35, + 0xaa, 0x2a, 0x88, 0xb2, 0xd4, 0x1f, 0x2a, 0x0e, 0x2f, 0xda, 0x76, 0x24, + 0xc2, 0x85, 0x02, 0x72, 0xac, 0x4a, 0x2f, 0x56, 0x1f, 0x8f, 0x2f, 0x7a, + 0x31, 0x8b, 0xfd, 0x5c, 0xaf, 0x96, 0x96, 0x14, 0x9e, 0x4a, 0xc8, 0x24, + 0xad, 0x34, 0x60, 0x53, 0x8f, 0xdc, 0x25, 0x42, 0x1b, 0xee, 0xc2, 0xcc, + 0x68, 0x18, 0x16, 0x2d, 0x06, 0xbb, 0xed, 0x0c, 0x40, 0xa3, 0x87, 0x19, + 0x23, 0x49, 0xdb, 0x67, 0xa1, 0x18, 0xba, 0xda, 0x6c, 0xd5, 0xab, 0x01, + 0x40, 0xee, 0x27, 0x32, 0x04, 0xf6, 0x28, 0xaa, 0xd1, 0xc1, 0x35, 0xf7, + 0x70, 0x27, 0x9a, 0x65, 0x1e, 0x24, 0xd8, 0xc1, 0x4d, 0x75, 0xa6, 0x05, + 0x9d, 0x76, 0xb9, 0x6a, 0x6f, 0xd8, 0x57, 0xde, 0xf5, 0xe0, 0xb3, 0x54, + 0xb2, 0x7a, 0xb9, 0x37, 0xa5, 0x81, 0x5d, 0x16, 0xb5, 0xfa, 0xe4, 0x07, + 0xff, 0x18, 0x22, 0x2c, 0x6d, 0x1e, 0xd2, 0x63, 0xbe, 0x68, 0xc9, 0x5f, + 0x32, 0xd9, 0x08, 0xbd, 0x89, 0x5c, 0xd7, 0x62, 0x07, 0xae, 0x72, 0x64, + 0x87, 0x56, 0x7f, 0x9a, 0x67, 0xda, 0xd7, 0x9a, 0xbe, 0xc3, 0x16, 0xf6, + 0x83, 0xb1, 0x7f, 0x2d, 0x02, 0xbf, 0x07, 0xe0, 0xac, 0x8b, 0x5b, 0xc6, + 0x16, 0x2c, 0xf9, 0x46, 0x97, 0xb3, 0xc2, 0x7c, 0xd1, 0xfe, 0xa4, 0x9b, + 0x27, 0xf2, 0x3b, 0xa2, 0x90, 0x18, 0x71, 0x96, 0x25, 0x06, 0x52, 0x0c, + 0x39, 0x2d, 0xa8, 0xb6, 0xad, 0x0d, 0x99, 0xf7, 0x01, 0x3f, 0xbc, 0x06, + 0xc2, 0xc1, 0x7a, 0x56, 0x95, 0x00, 0xc8, 0xa7, 0x69, 0x64, 0x81, 0xc1, + 0xcd, 0x33, 0xe9, 0xb1, 0x4e, 0x40, 0xb8, 0x2e, 0x79, 0xa5, 0xf5, 0xdb, + 0x82, 0x57, 0x1b, 0xa9, 0x7b, 0xae, 0x3a, 0xd3, 0xe0, 0x47, 0x95, 0x15, + 0xbb, 0x0e, 0x2b, 0x0f, 0x3b, 0xfc, 0xd1, 0xfd, 0x33, 0x03, 0x4e, 0xfc, + 0x62, 0x45, 0xed, 0xdd, 0x7e, 0xe2, 0x08, 0x6d, 0xda, 0xe2, 0x60, 0x0d, + 0x8c, 0xa7, 0x3e, 0x21, 0x4e, 0x8c, 0x2b, 0x0b, 0xdb, 0x2b, 0x04, 0x7c, + 0x6a, 0x46, 0x4a, 0x56, 0x2e, 0xd7, 0x7b, 0x73, 0xd2, 0xd8, 0x41, 0xc4, + 0xb3, 0x49, 0x73, 0x55, 0x12, 0x57, 0x71, 0x3b, 0x75, 0x36, 0x32, 0xef, + 0xba, 0x34, 0x81, 0x69, 0xab, 0xc9, 0x0a, 0x68, 0xf4, 0x26, 0x11, 0xa4, + 0x01, 0x26, 0xd7, 0xcb, 0x21, 0xb5, 0x86, 0x95, 0x56, 0x81, 0x86, 0xf7, + 0xe5, 0x69, 0xd2, 0xff, 0x0f, 0x9e, 0x74, 0x5d, 0x04, 0x87, 0xdd, 0x2e, + 0xb9, 0x97, 0xca, 0xfc, 0x5a, 0xbf, 0x9d, 0xd1, 0x02, 0xe6, 0x2f, 0xf6, + 0x6c, 0xba, 0x87 +}; + +static const uint8_t sig9[114] = { + 0xe3, 0x01, 0x34, 0x5a, 0x41, 0xa3, 0x9a, 0x4d, 0x72, 0xff, 0xf8, 0xdf, + 0x69, 0xc9, 0x80, 0x75, 0xa0, 0xcc, 0x08, 0x2b, 0x80, 0x2f, 0xc9, 0xb2, + 0xb6, 0xbc, 0x50, 0x3f, 0x92, 0x6b, 0x65, 0xbd, 0xdf, 0x7f, 0x4c, 0x8f, + 0x1c, 0xb4, 0x9f, 0x63, 0x96, 0xaf, 0xc8, 0xa7, 0x0a, 0xbe, 0x6d, 0x8a, + 0xef, 0x0d, 0xb4, 0x78, 0xd4, 0xc6, 0xb2, 0x97, 0x00, 0x76, 0xc6, 0xa0, + 0x48, 0x4f, 0xe7, 0x6d, 0x76, 0xb3, 0xa9, 0x76, 0x25, 0xd7, 0x9f, 0x1c, + 0xe2, 0x40, 0xe7, 0xc5, 0x76, 0x75, 0x0d, 0x29, 0x55, 0x28, 0x28, 0x6f, + 0x71, 0x9b, 0x41, 0x3d, 0xe9, 0xad, 0xa3, 0xe8, 0xeb, 0x78, 0xed, 0x57, + 0x36, 0x03, 0xce, 0x30, 0xd8, 0xbb, 0x76, 0x17, 0x85, 0xdc, 0x30, 0xdb, + 0xc3, 0x20, 0x86, 0x9e, 0x1a, 0x00 +}; + +/* Prehash Ed448 */ + +static const uint8_t phprivkey1[57] = { + 0x83, 0x3f, 0xe6, 0x24, 0x09, 0x23, 0x7b, 0x9d, 0x62, 0xec, 0x77, 0x58, + 0x75, 0x20, 0x91, 0x1e, 0x9a, 0x75, 0x9c, 0xec, 0x1d, 0x19, 0x75, 0x5b, + 0x7d, 0xa9, 0x01, 0xb9, 0x6d, 0xca, 0x3d, 0x42, 0xef, 0x78, 0x22, 0xe0, + 0xd5, 0x10, 0x41, 0x27, 0xdc, 0x05, 0xd6, 0xdb, 0xef, 0xde, 0x69, 0xe3, + 0xab, 0x2c, 0xec, 0x7c, 0x86, 0x7c, 0x6e, 0x2c, 0x49 +}; + +static const uint8_t phpubkey1[57] = { + 0x25, 0x9b, 0x71, 0xc1, 0x9f, 0x83, 0xef, 0x77, 0xa7, 0xab, 0xd2, 0x65, + 0x24, 0xcb, 0xdb, 0x31, 0x61, 0xb5, 0x90, 0xa4, 0x8f, 0x7d, 0x17, 0xde, + 0x3e, 0xe0, 0xba, 0x9c, 0x52, 0xbe, 0xb7, 0x43, 0xc0, 0x94, 0x28, 0xa1, + 0x31, 0xd6, 0xb1, 0xb5, 0x73, 0x03, 0xd9, 0x0d, 0x81, 0x32, 0xc2, 0x76, + 0xd5, 0xed, 0x3d, 0x5d, 0x01, 0xc0, 0xf5, 0x38, 0x80 +}; + +static const uint8_t phmsg1[3] = { + 0x61, 0x62, 0x63 +}; + +static const uint8_t phsig1[114] = { + 0x82, 0x2f, 0x69, 0x01, 0xf7, 0x48, 0x0f, 0x3d, 0x5f, 0x56, 0x2c, 0x59, + 0x29, 0x94, 0xd9, 0x69, 0x36, 0x02, 0x87, 0x56, 0x14, 0x48, 0x32, 0x56, + 0x50, 0x56, 0x00, 0xbb, 0xc2, 0x81, 0xae, 0x38, 0x1f, 0x54, 0xd6, 0xbc, + 0xe2, 0xea, 0x91, 0x15, 0x74, 0x93, 0x2f, 0x52, 0xa4, 0xe6, 0xca, 0xdd, + 0x78, 0x76, 0x93, 0x75, 0xec, 0x3f, 0xfd, 0x1b, 0x80, 0x1a, 0x0d, 0x9b, + 0x3f, 0x40, 0x30, 0xcd, 0x43, 0x39, 0x64, 0xb6, 0x45, 0x7e, 0xa3, 0x94, + 0x76, 0x51, 0x12, 0x14, 0xf9, 0x74, 0x69, 0xb5, 0x7d, 0xd3, 0x2d, 0xbc, + 0x56, 0x0a, 0x9a, 0x94, 0xd0, 0x0b, 0xff, 0x07, 0x62, 0x04, 0x64, 0xa3, + 0xad, 0x20, 0x3d, 0xf7, 0xdc, 0x7c, 0xe3, 0x60, 0xc3, 0xcd, 0x36, 0x96, + 0xd9, 0xd9, 0xfa, 0xb9, 0x0f, 0x00 +}; + +static const uint8_t phprivkey2[57] = { + 0x83, 0x3f, 0xe6, 0x24, 0x09, 0x23, 0x7b, 0x9d, 0x62, 0xec, 0x77, 0x58, + 0x75, 0x20, 0x91, 0x1e, 0x9a, 0x75, 0x9c, 0xec, 0x1d, 0x19, 0x75, 0x5b, + 0x7d, 0xa9, 0x01, 0xb9, 0x6d, 0xca, 0x3d, 0x42, 0xef, 0x78, 0x22, 0xe0, + 0xd5, 0x10, 0x41, 0x27, 0xdc, 0x05, 0xd6, 0xdb, 0xef, 0xde, 0x69, 0xe3, + 0xab, 0x2c, 0xec, 0x7c, 0x86, 0x7c, 0x6e, 0x2c, 0x49 +}; + +static const uint8_t phpubkey2[57] = { + 0x25, 0x9b, 0x71, 0xc1, 0x9f, 0x83, 0xef, 0x77, 0xa7, 0xab, 0xd2, 0x65, + 0x24, 0xcb, 0xdb, 0x31, 0x61, 0xb5, 0x90, 0xa4, 0x8f, 0x7d, 0x17, 0xde, + 0x3e, 0xe0, 0xba, 0x9c, 0x52, 0xbe, 0xb7, 0x43, 0xc0, 0x94, 0x28, 0xa1, + 0x31, 0xd6, 0xb1, 0xb5, 0x73, 0x03, 0xd9, 0x0d, 0x81, 0x32, 0xc2, 0x76, + 0xd5, 0xed, 0x3d, 0x5d, 0x01, 0xc0, 0xf5, 0x38, 0x80 +}; + +static const uint8_t phmsg2[3] = { + 0x61, 0x62, 0x63 +}; + +static const uint8_t phcontext2[3] = { + 0x66, 0x6f, 0x6f +}; + +static const uint8_t phsig2[114] = { + 0xc3, 0x22, 0x99, 0xd4, 0x6e, 0xc8, 0xff, 0x02, 0xb5, 0x45, 0x40, 0x98, + 0x28, 0x14, 0xdc, 0xe9, 0xa0, 0x58, 0x12, 0xf8, 0x19, 0x62, 0xb6, 0x49, + 0xd5, 0x28, 0x09, 0x59, 0x16, 0xa2, 0xaa, 0x48, 0x10, 0x65, 0xb1, 0x58, + 0x04, 0x23, 0xef, 0x92, 0x7e, 0xcf, 0x0a, 0xf5, 0x88, 0x8f, 0x90, 0xda, + 0x0f, 0x6a, 0x9a, 0x85, 0xad, 0x5d, 0xc3, 0xf2, 0x80, 0xd9, 0x12, 0x24, + 0xba, 0x99, 0x11, 0xa3, 0x65, 0x3d, 0x00, 0xe4, 0x84, 0xe2, 0xce, 0x23, + 0x25, 0x21, 0x48, 0x1c, 0x86, 0x58, 0xdf, 0x30, 0x4b, 0xb7, 0x74, 0x5a, + 0x73, 0x51, 0x4c, 0xdb, 0x9b, 0xf3, 0xe1, 0x57, 0x84, 0xab, 0x71, 0x28, + 0x4f, 0x8d, 0x07, 0x04, 0xa6, 0x08, 0xc5, 0x4a, 0x6b, 0x62, 0xd9, 0x7b, + 0xeb, 0x51, 0x1d, 0x13, 0x21, 0x00 +}; + +static const uint8_t *dohash(EVP_MD_CTX *hashctx, const uint8_t *msg, + size_t msglen) +{ + static uint8_t hashout[64]; + + if (!EVP_DigestInit_ex(hashctx, EVP_shake256(), NULL) + || !EVP_DigestUpdate(hashctx, msg, msglen) + || !EVP_DigestFinalXOF(hashctx, hashout, sizeof(hashout))) + return NULL; + + return hashout; +} + +static int test_ed448(void) +{ + uint8_t outsig[114]; + EVP_MD_CTX *hashctx = EVP_MD_CTX_new(); + + if (!TEST_ptr(hashctx) + || !TEST_true(ED448_sign(outsig, NULL, 0, pubkey1, privkey1, NULL, + 0)) + || !TEST_int_eq(memcmp(sig1, outsig, sizeof(sig1)), 0) + || !TEST_true(ED448_sign(outsig, msg2, sizeof(msg2), pubkey2, + privkey2, NULL, 0)) + || !TEST_int_eq(memcmp(sig2, outsig, sizeof(sig2)), 0) + || !TEST_true(ED448_sign(outsig, msg3, sizeof(msg3), pubkey3, + privkey3, context3, sizeof(context3))) + || !TEST_int_eq(memcmp(sig3, outsig, sizeof(sig3)), 0) + || !TEST_true(ED448_sign(outsig, msg4, sizeof(msg4), pubkey4, + privkey4, NULL, 0)) + || !TEST_int_eq(memcmp(sig4, outsig, sizeof(sig4)), 0) + || !TEST_true(ED448_sign(outsig, msg5, sizeof(msg5), pubkey5, + privkey5, NULL, 0)) + || !TEST_int_eq(memcmp(sig5, outsig, sizeof(sig5)), 0) + || !TEST_true(ED448_sign(outsig, msg6, sizeof(msg6), pubkey6, + privkey6, NULL, 0)) + || !TEST_int_eq(memcmp(sig6, outsig, sizeof(sig6)), 0) + || !TEST_true(ED448_sign(outsig, msg7, sizeof(msg7), pubkey7, + privkey7, NULL, 0)) + || !TEST_int_eq(memcmp(sig7, outsig, sizeof(sig7)), 0) + || !TEST_true(ED448_sign(outsig, msg8, sizeof(msg8), pubkey8, + privkey8, NULL, 0)) + || !TEST_int_eq(memcmp(sig8, outsig, sizeof(sig8)), 0) + || !TEST_true(ED448_sign(outsig, msg9, sizeof(msg9), pubkey9, + privkey9, NULL, 0)) + || !TEST_int_eq(memcmp(sig9, outsig, sizeof(sig9)), 0) + || !TEST_true(ED448ph_sign(outsig, dohash(hashctx, phmsg1, + sizeof(phmsg1)), phpubkey1, phprivkey1, + NULL, 0)) + || !TEST_int_eq(memcmp(phsig1, outsig, sizeof(phsig1)), 0) + || !TEST_true(ED448ph_sign(outsig, dohash(hashctx, phmsg2, + sizeof(phmsg2)), phpubkey2, phprivkey2, + phcontext2, sizeof(phcontext2))) + || !TEST_int_eq(memcmp(phsig2, outsig, sizeof(phsig2)), 0)) { + EVP_MD_CTX_free(hashctx); + return 0; + } + + EVP_MD_CTX_free(hashctx); + return 1; +} + +static int test_x448(void) +{ + uint8_t u[56], k[56], out[56]; + unsigned int i; + int j = -1; + + /* Curve448 tests */ + + if (!TEST_true(X448(out, in_scalar1, in_u1)) + || !TEST_int_eq(memcmp(out, out_u1, sizeof(out)), 0) + || !TEST_true(X448(out, in_scalar2, in_u2)) + || !TEST_int_eq(memcmp(out, out_u2, sizeof(out)), 0)) + return 0; + + memcpy(u, in_u3, sizeof(u)); + memcpy(k, in_u3, sizeof(k)); + for (i = 1; i <= max; i++) { + if (verbose && i % 10000 == 0) { + printf("."); + fflush(stdout); + } + + if (!TEST_true(X448(out, k, u))) + return 0; + + if (i == 1 || i == 1000 || i == 1000000) { + j++; + if (!TEST_int_eq(memcmp(out, out_u3[j], sizeof(out)), 0)) { + TEST_info("Failed at iteration %d", i); + return 0; + } + } + memcpy(u, k, sizeof(u)); + memcpy(k, out, sizeof(k)); + } + + return 1; +} + +int setup_tests(void) +{ + /* + * The test vectors contain one test which takes a very long time to run, + * so we don't do that be default. Using the -f option will cause it to be + * run. + */ + if (test_has_option("-f")) + max = 1000000; + + /* Print progress dots */ + if (test_has_option("-v")) + verbose = 1; + + ADD_TEST(test_x448); + ADD_TEST(test_ed448); + return 1; +} diff --git a/deps/openssl/openssl/test/drbg_cavs_data.c b/deps/openssl/openssl/test/drbg_cavs_data.c new file mode 100644 index 00000000000000..6f676ab097fcd7 --- /dev/null +++ b/deps/openssl/openssl/test/drbg_cavs_data.c @@ -0,0 +1,170320 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * DRBG test vectors from: + * https://csrc.nist.gov/projects/cryptographic-algorithm-validation-program/ + */ + +#include +#include "internal/nelem.h" +#include "drbg_cavs_data.h" + +static const unsigned char kat1_entropyin[] = { + 0x89, 0x0e, 0xb0, 0x67, 0xac, 0xf7, 0x38, 0x2e, 0xff, 0x80, 0xb0, 0xc7, + 0x3b, 0xc8, 0x72, 0xc6, +}; +static const unsigned char kat1_nonce[] = { + 0xaa, 0xd4, 0x71, 0xef, 0x3e, 0xf1, 0xd2, 0x03, +}; +static const unsigned char kat1_persstr[] = {0}; +static const unsigned char kat1_addin0[] = {0}; +static const unsigned char kat1_addin1[] = {0}; +static const unsigned char kat1_retbits[] = { + 0xa5, 0x51, 0x4e, 0xd7, 0x09, 0x5f, 0x64, 0xf3, 0xd0, 0xd3, 0xa5, 0x76, + 0x03, 0x94, 0xab, 0x42, 0x06, 0x2f, 0x37, 0x3a, 0x25, 0x07, 0x2a, 0x6e, + 0xa6, 0xbc, 0xfd, 0x84, 0x89, 0xe9, 0x4a, 0xf6, 0xcf, 0x18, 0x65, 0x9f, + 0xea, 0x22, 0xed, 0x1c, 0xa0, 0xa9, 0xe3, 0x3f, 0x71, 0x8b, 0x11, 0x5e, + 0xe5, 0x36, 0xb1, 0x28, 0x09, 0xc3, 0x1b, 0x72, 0xb0, 0x8d, 0xdd, 0x8b, + 0xe1, 0x91, 0x0f, 0xa3, +}; +static const struct drbg_kat_no_reseed kat1_t = { + 0, kat1_entropyin, kat1_nonce, kat1_persstr, + kat1_addin0, kat1_addin1, kat1_retbits +}; +static const struct drbg_kat kat1 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1_t +}; + +static const unsigned char kat2_entropyin[] = { + 0xc4, 0x7b, 0xe8, 0xe8, 0x21, 0x9a, 0x5a, 0x87, 0xc9, 0x40, 0x64, 0xa5, + 0x12, 0x08, 0x9f, 0x2b, +}; +static const unsigned char kat2_nonce[] = { + 0xf2, 0xa2, 0x3e, 0x63, 0x6a, 0xee, 0x75, 0xc6, +}; +static const unsigned char kat2_persstr[] = {0}; +static const unsigned char kat2_addin0[] = {0}; +static const unsigned char kat2_addin1[] = {0}; +static const unsigned char kat2_retbits[] = { + 0x5a, 0x16, 0x50, 0xbb, 0x6d, 0x6a, 0x16, 0xf6, 0x04, 0x05, 0x91, 0xd5, + 0x6a, 0xbc, 0xd5, 0xdd, 0x3d, 0xb8, 0x77, 0x2a, 0x9c, 0x75, 0xc4, 0x4d, + 0x9f, 0xc6, 0x4d, 0x51, 0xb7, 0x33, 0xd4, 0xa6, 0x75, 0x9b, 0xd5, 0xa6, + 0x4e, 0xc4, 0x23, 0x1a, 0x24, 0xe6, 0x62, 0xfd, 0xd4, 0x7c, 0x82, 0xdb, + 0x63, 0xb2, 0x00, 0xda, 0xf8, 0xd0, 0x98, 0x56, 0x0e, 0xb5, 0xba, 0x7b, + 0xf3, 0xf9, 0xab, 0xf7, +}; +static const struct drbg_kat_no_reseed kat2_t = { + 1, kat2_entropyin, kat2_nonce, kat2_persstr, + kat2_addin0, kat2_addin1, kat2_retbits +}; +static const struct drbg_kat kat2 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2_t +}; + +static const unsigned char kat3_entropyin[] = { + 0x13, 0x0b, 0x8c, 0x3d, 0x2d, 0x7b, 0x6e, 0x02, 0xc4, 0x10, 0xb4, 0x16, + 0x8e, 0x12, 0x2c, 0x38, +}; +static const unsigned char kat3_nonce[] = { + 0x79, 0xa6, 0x74, 0xc5, 0xb2, 0xc5, 0x1a, 0xa9, +}; +static const unsigned char kat3_persstr[] = {0}; +static const unsigned char kat3_addin0[] = {0}; +static const unsigned char kat3_addin1[] = {0}; +static const unsigned char kat3_retbits[] = { + 0x57, 0xe8, 0xa1, 0xe5, 0x78, 0xed, 0xe1, 0xc6, 0x68, 0x79, 0xc4, 0x30, + 0xdf, 0x72, 0x64, 0x35, 0xd5, 0x1a, 0x36, 0x9a, 0x0f, 0xe5, 0x9a, 0x03, + 0x58, 0xd1, 0xde, 0x35, 0x2d, 0x42, 0x80, 0xfd, 0x7b, 0x22, 0x5f, 0x5f, + 0x38, 0x6a, 0x4f, 0xcf, 0x12, 0xf7, 0x27, 0x94, 0xad, 0x0f, 0x37, 0x57, + 0xfb, 0x25, 0xde, 0xba, 0x3c, 0x75, 0x12, 0xce, 0x4d, 0x37, 0x33, 0xc7, + 0xee, 0x06, 0x70, 0x43, +}; +static const struct drbg_kat_no_reseed kat3_t = { + 2, kat3_entropyin, kat3_nonce, kat3_persstr, + kat3_addin0, kat3_addin1, kat3_retbits +}; +static const struct drbg_kat kat3 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3_t +}; + +static const unsigned char kat4_entropyin[] = { + 0x04, 0xd2, 0x41, 0x45, 0x28, 0x76, 0x64, 0xf6, 0x76, 0x2b, 0x5d, 0x2a, + 0x10, 0x2a, 0xc6, 0x03, +}; +static const unsigned char kat4_nonce[] = { + 0xec, 0xac, 0x63, 0xe1, 0x21, 0x7e, 0xe3, 0x35, +}; +static const unsigned char kat4_persstr[] = {0}; +static const unsigned char kat4_addin0[] = {0}; +static const unsigned char kat4_addin1[] = {0}; +static const unsigned char kat4_retbits[] = { + 0xfa, 0x5e, 0x74, 0x6d, 0xec, 0xd6, 0x80, 0x1e, 0xb7, 0x08, 0x3b, 0x6f, + 0x0e, 0x72, 0x43, 0x2e, 0x1f, 0xd4, 0x24, 0x31, 0x04, 0xf7, 0x48, 0xd0, + 0xf1, 0x90, 0x83, 0x92, 0x3b, 0x95, 0x55, 0x68, 0x8f, 0x43, 0x14, 0x6d, + 0x5a, 0xce, 0xa9, 0x62, 0xda, 0x01, 0x23, 0x1d, 0x9e, 0x5f, 0xaf, 0xf0, + 0xe8, 0x1f, 0x3d, 0x39, 0x4a, 0xce, 0x3a, 0x34, 0x54, 0x53, 0x6d, 0x72, + 0x65, 0x75, 0x04, 0x1f, +}; +static const struct drbg_kat_no_reseed kat4_t = { + 3, kat4_entropyin, kat4_nonce, kat4_persstr, + kat4_addin0, kat4_addin1, kat4_retbits +}; +static const struct drbg_kat kat4 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat4_t +}; + +static const unsigned char kat5_entropyin[] = { + 0xae, 0xde, 0x4e, 0x61, 0x35, 0x56, 0xb1, 0xd5, 0xa3, 0x0f, 0xce, 0x26, + 0x1f, 0xbb, 0x82, 0x0c, +}; +static const unsigned char kat5_nonce[] = { + 0x39, 0xac, 0xba, 0x03, 0xc5, 0xf1, 0x0a, 0xf4, +}; +static const unsigned char kat5_persstr[] = {0}; +static const unsigned char kat5_addin0[] = {0}; +static const unsigned char kat5_addin1[] = {0}; +static const unsigned char kat5_retbits[] = { + 0x23, 0x2c, 0x44, 0xb8, 0x19, 0xb8, 0x8f, 0x1a, 0xeb, 0x83, 0xf2, 0x03, + 0x4f, 0x84, 0x2d, 0x5a, 0x00, 0xf0, 0x30, 0x15, 0x05, 0xd2, 0xaa, 0x69, + 0xaa, 0xec, 0xb3, 0xcb, 0x14, 0xbc, 0xb1, 0x58, 0x75, 0xe0, 0xfd, 0x60, + 0x07, 0x1a, 0x80, 0xf6, 0x26, 0x2d, 0xce, 0xbc, 0xf4, 0x1a, 0x0e, 0x14, + 0x76, 0xd9, 0x6f, 0x40, 0x97, 0x12, 0xd8, 0x28, 0xae, 0x31, 0x3a, 0x9d, + 0x28, 0xec, 0x2d, 0xee, +}; +static const struct drbg_kat_no_reseed kat5_t = { + 4, kat5_entropyin, kat5_nonce, kat5_persstr, + kat5_addin0, kat5_addin1, kat5_retbits +}; +static const struct drbg_kat kat5 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat5_t +}; + +static const unsigned char kat6_entropyin[] = { + 0x9f, 0x90, 0x54, 0x1c, 0x10, 0xd4, 0xb7, 0xc0, 0x89, 0xfe, 0x68, 0x8e, + 0xa3, 0xef, 0x4f, 0xc6, +}; +static const unsigned char kat6_nonce[] = { + 0x1e, 0xac, 0x1c, 0x22, 0x03, 0x6e, 0x2b, 0x22, +}; +static const unsigned char kat6_persstr[] = {0}; +static const unsigned char kat6_addin0[] = {0}; +static const unsigned char kat6_addin1[] = {0}; +static const unsigned char kat6_retbits[] = { + 0x71, 0xaf, 0x3f, 0xdf, 0x67, 0x34, 0x04, 0x16, 0x3b, 0x06, 0x73, 0x7e, + 0x0f, 0x39, 0x91, 0x5f, 0xae, 0xc2, 0x18, 0x21, 0x81, 0x6c, 0x31, 0x42, + 0xe8, 0x0a, 0x50, 0x3c, 0x70, 0xcb, 0x2e, 0xdd, 0x46, 0x8c, 0x3f, 0x03, + 0xcb, 0x1f, 0x8a, 0x2f, 0x92, 0x48, 0x63, 0x5b, 0x63, 0xd7, 0xb8, 0xf1, + 0x9e, 0x9e, 0x11, 0xca, 0xf0, 0xab, 0x0c, 0x3d, 0x2f, 0xf9, 0xc7, 0x13, + 0x21, 0xca, 0xc1, 0x54, +}; +static const struct drbg_kat_no_reseed kat6_t = { + 5, kat6_entropyin, kat6_nonce, kat6_persstr, + kat6_addin0, kat6_addin1, kat6_retbits +}; +static const struct drbg_kat kat6 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat6_t +}; + +static const unsigned char kat7_entropyin[] = { + 0x3b, 0x8a, 0x18, 0x1c, 0xea, 0x83, 0x90, 0xd5, 0xd7, 0xa4, 0xe6, 0x51, + 0x5c, 0xf9, 0x2e, 0x3e, +}; +static const unsigned char kat7_nonce[] = { + 0x37, 0xf4, 0xd1, 0x74, 0x87, 0x14, 0x34, 0x5b, +}; +static const unsigned char kat7_persstr[] = {0}; +static const unsigned char kat7_addin0[] = {0}; +static const unsigned char kat7_addin1[] = {0}; +static const unsigned char kat7_retbits[] = { + 0xd6, 0xfd, 0x0f, 0xfb, 0x10, 0x85, 0x0e, 0xb6, 0xeb, 0x70, 0x50, 0xe6, + 0x1e, 0xac, 0x00, 0xd4, 0x72, 0xf6, 0x5c, 0xd3, 0xd9, 0x35, 0x08, 0x14, + 0x77, 0xfe, 0x44, 0xaa, 0x85, 0x69, 0x4e, 0x12, 0x0a, 0xb5, 0xa1, 0xca, + 0x1f, 0xa1, 0x98, 0xaf, 0x76, 0xdf, 0xa8, 0xd0, 0xab, 0xdf, 0x53, 0xe8, + 0x5a, 0xa8, 0xc8, 0x7f, 0xed, 0x0a, 0x8c, 0x24, 0x16, 0x39, 0x43, 0xb9, + 0x6d, 0x80, 0xaa, 0xfb, +}; +static const struct drbg_kat_no_reseed kat7_t = { + 6, kat7_entropyin, kat7_nonce, kat7_persstr, + kat7_addin0, kat7_addin1, kat7_retbits +}; +static const struct drbg_kat kat7 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat7_t +}; + +static const unsigned char kat8_entropyin[] = { + 0x85, 0x4c, 0xaa, 0x2a, 0x74, 0xf3, 0xf4, 0x3b, 0x6a, 0xbd, 0x80, 0x6d, + 0x67, 0x48, 0xed, 0x80, +}; +static const unsigned char kat8_nonce[] = { + 0x0c, 0xbd, 0x13, 0x72, 0xbe, 0xb6, 0x27, 0x36, +}; +static const unsigned char kat8_persstr[] = {0}; +static const unsigned char kat8_addin0[] = {0}; +static const unsigned char kat8_addin1[] = {0}; +static const unsigned char kat8_retbits[] = { + 0x46, 0x53, 0x40, 0x28, 0x16, 0x5f, 0xfe, 0x28, 0x45, 0xa9, 0x72, 0x62, + 0x7e, 0x67, 0xe1, 0x53, 0x51, 0x0c, 0xa1, 0x88, 0x0e, 0x6a, 0x3a, 0xd3, + 0x1f, 0xde, 0xe7, 0x1f, 0xf2, 0x40, 0xd3, 0x27, 0x86, 0x24, 0xb3, 0x1f, + 0x2d, 0x38, 0x6d, 0x7b, 0x22, 0x28, 0xce, 0xd6, 0x24, 0xa4, 0x2e, 0x7a, + 0x3b, 0x07, 0x48, 0x0b, 0x23, 0x23, 0x16, 0x6c, 0x18, 0xd1, 0xac, 0x0f, + 0x60, 0x00, 0x2e, 0xc4, +}; +static const struct drbg_kat_no_reseed kat8_t = { + 7, kat8_entropyin, kat8_nonce, kat8_persstr, + kat8_addin0, kat8_addin1, kat8_retbits +}; +static const struct drbg_kat kat8 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat8_t +}; + +static const unsigned char kat9_entropyin[] = { + 0x87, 0xe1, 0xc5, 0x32, 0x99, 0x7f, 0x57, 0xa3, 0x5c, 0x28, 0x6d, 0xe8, + 0x64, 0xbf, 0xf2, 0x64, +}; +static const unsigned char kat9_nonce[] = { + 0xa3, 0x9e, 0x98, 0xdb, 0x6c, 0x10, 0x78, 0x7f, +}; +static const unsigned char kat9_persstr[] = {0}; +static const unsigned char kat9_addin0[] = {0}; +static const unsigned char kat9_addin1[] = {0}; +static const unsigned char kat9_retbits[] = { + 0x2c, 0x14, 0x7e, 0x24, 0x11, 0x9a, 0xd8, 0xd4, 0xb2, 0xed, 0x61, 0xc1, + 0x53, 0xd0, 0x50, 0xc9, 0x24, 0xff, 0x59, 0x75, 0x15, 0xf1, 0x17, 0x3a, + 0x3d, 0xf4, 0x4b, 0x2c, 0x84, 0x28, 0xef, 0x89, 0x0e, 0xb9, 0xde, 0xf3, + 0xe4, 0x78, 0x04, 0xb2, 0xfd, 0x9b, 0x35, 0x7f, 0xe1, 0x3f, 0x8a, 0x3e, + 0x10, 0xc8, 0x67, 0x0a, 0xf9, 0xdf, 0x2d, 0x6c, 0x96, 0xfb, 0xb2, 0xb8, + 0xcb, 0x2d, 0xd6, 0xb0, +}; +static const struct drbg_kat_no_reseed kat9_t = { + 8, kat9_entropyin, kat9_nonce, kat9_persstr, + kat9_addin0, kat9_addin1, kat9_retbits +}; +static const struct drbg_kat kat9 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat9_t +}; + +static const unsigned char kat10_entropyin[] = { + 0x2f, 0xc6, 0x23, 0x42, 0x90, 0x29, 0xc9, 0x6e, 0xde, 0xf6, 0x16, 0x62, + 0x47, 0xb0, 0x8c, 0xb0, +}; +static const unsigned char kat10_nonce[] = { + 0x99, 0x82, 0x66, 0x33, 0x55, 0x58, 0x27, 0x88, +}; +static const unsigned char kat10_persstr[] = {0}; +static const unsigned char kat10_addin0[] = {0}; +static const unsigned char kat10_addin1[] = {0}; +static const unsigned char kat10_retbits[] = { + 0x55, 0x96, 0xcb, 0x16, 0xf3, 0xbe, 0x85, 0x52, 0xc1, 0xe5, 0xc1, 0x64, + 0xd5, 0x40, 0xcb, 0x1f, 0xaf, 0x4b, 0xea, 0x87, 0x33, 0xb6, 0x0a, 0x8a, + 0xd0, 0xc4, 0x06, 0x26, 0x25, 0x65, 0x48, 0xc7, 0xaa, 0x96, 0xd1, 0xd2, + 0x72, 0x9d, 0x26, 0xf0, 0x08, 0x73, 0x1f, 0xc3, 0x93, 0x07, 0xbe, 0x5b, + 0xcd, 0x20, 0x81, 0xc6, 0x9e, 0x31, 0x4e, 0x0c, 0x73, 0xe3, 0xd0, 0xfd, + 0x1d, 0x90, 0x58, 0x28, +}; +static const struct drbg_kat_no_reseed kat10_t = { + 9, kat10_entropyin, kat10_nonce, kat10_persstr, + kat10_addin0, kat10_addin1, kat10_retbits +}; +static const struct drbg_kat kat10 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat10_t +}; + +static const unsigned char kat11_entropyin[] = { + 0x98, 0xab, 0x8b, 0x4e, 0xaf, 0xab, 0x6e, 0x53, 0x6f, 0x78, 0x45, 0xab, + 0xec, 0x13, 0x78, 0x08, +}; +static const unsigned char kat11_nonce[] = { + 0xdb, 0xa9, 0x44, 0xc9, 0x8b, 0x31, 0x1d, 0x8e, +}; +static const unsigned char kat11_persstr[] = {0}; +static const unsigned char kat11_addin0[] = {0}; +static const unsigned char kat11_addin1[] = {0}; +static const unsigned char kat11_retbits[] = { + 0x86, 0xee, 0xd3, 0xa9, 0xfa, 0x53, 0x45, 0x2f, 0xb1, 0x1d, 0xba, 0x9c, + 0xac, 0x8e, 0x44, 0x02, 0x52, 0x29, 0x28, 0xf2, 0x70, 0x5a, 0x5e, 0x58, + 0x2f, 0x4d, 0x00, 0xeb, 0x8f, 0xed, 0x81, 0x8e, 0x62, 0x9c, 0x72, 0xa6, + 0xa7, 0x79, 0xbe, 0xb4, 0xed, 0x9a, 0x23, 0x93, 0x68, 0x23, 0x3c, 0xbf, + 0xcf, 0x55, 0x68, 0x5d, 0xbf, 0x2d, 0xe3, 0x4a, 0xb5, 0x89, 0x20, 0xcf, + 0xac, 0xa4, 0xaa, 0xfe, +}; +static const struct drbg_kat_no_reseed kat11_t = { + 10, kat11_entropyin, kat11_nonce, kat11_persstr, + kat11_addin0, kat11_addin1, kat11_retbits +}; +static const struct drbg_kat kat11 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat11_t +}; + +static const unsigned char kat12_entropyin[] = { + 0x7d, 0xcf, 0x4f, 0xa7, 0x31, 0x13, 0x9c, 0x5b, 0xb6, 0x44, 0x2f, 0xed, + 0x91, 0xe8, 0x9f, 0x68, +}; +static const unsigned char kat12_nonce[] = { + 0xff, 0xd9, 0x4f, 0xe2, 0x1a, 0x80, 0x8b, 0x15, +}; +static const unsigned char kat12_persstr[] = {0}; +static const unsigned char kat12_addin0[] = {0}; +static const unsigned char kat12_addin1[] = {0}; +static const unsigned char kat12_retbits[] = { + 0x8e, 0xca, 0x20, 0xe3, 0x1c, 0x98, 0x39, 0xb7, 0x41, 0xaa, 0xa9, 0xbf, + 0x6c, 0xee, 0xe2, 0x24, 0xd3, 0x21, 0x26, 0xb3, 0x19, 0x6e, 0xef, 0x3e, + 0xcd, 0x34, 0x3d, 0x41, 0x4d, 0x32, 0x33, 0xb9, 0xfd, 0x0e, 0xa0, 0xed, + 0x1b, 0xc7, 0x70, 0x0c, 0x88, 0xcd, 0x7c, 0x88, 0xd3, 0xc0, 0x76, 0x13, + 0xc4, 0x2c, 0xd1, 0xf9, 0x09, 0xfe, 0xd8, 0xc6, 0xa7, 0x08, 0xd0, 0x5d, + 0x6b, 0x68, 0xfb, 0x2e, +}; +static const struct drbg_kat_no_reseed kat12_t = { + 11, kat12_entropyin, kat12_nonce, kat12_persstr, + kat12_addin0, kat12_addin1, kat12_retbits +}; +static const struct drbg_kat kat12 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat12_t +}; + +static const unsigned char kat13_entropyin[] = { + 0x51, 0x9c, 0x6e, 0xfe, 0xde, 0xd2, 0xa1, 0x10, 0xac, 0x41, 0x83, 0x9a, + 0x8b, 0x8a, 0xbf, 0xce, +}; +static const unsigned char kat13_nonce[] = { + 0x81, 0xd9, 0x5e, 0xdc, 0x06, 0xdd, 0xe6, 0xb3, +}; +static const unsigned char kat13_persstr[] = {0}; +static const unsigned char kat13_addin0[] = {0}; +static const unsigned char kat13_addin1[] = {0}; +static const unsigned char kat13_retbits[] = { + 0x39, 0xcd, 0xd1, 0x0e, 0x49, 0xe0, 0x35, 0x81, 0xe3, 0x81, 0x1d, 0xdd, + 0x07, 0xd9, 0xd0, 0xac, 0xc3, 0x40, 0x85, 0xa1, 0x2c, 0x1c, 0x6b, 0x87, + 0xa7, 0x63, 0x86, 0xe9, 0x70, 0x32, 0xdc, 0x01, 0xf5, 0x23, 0xf6, 0x32, + 0xec, 0x95, 0x0d, 0x04, 0x34, 0xc2, 0x59, 0x37, 0xe4, 0x32, 0xd9, 0x85, + 0x54, 0x59, 0x9a, 0x85, 0x5d, 0xb9, 0xad, 0xf5, 0x8b, 0x9e, 0x04, 0x59, + 0x7a, 0x21, 0xd0, 0x0d, +}; +static const struct drbg_kat_no_reseed kat13_t = { + 12, kat13_entropyin, kat13_nonce, kat13_persstr, + kat13_addin0, kat13_addin1, kat13_retbits +}; +static const struct drbg_kat kat13 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat13_t +}; + +static const unsigned char kat14_entropyin[] = { + 0x80, 0xc1, 0x9e, 0xea, 0xad, 0x1a, 0x58, 0x37, 0x94, 0x66, 0xaf, 0xae, + 0x1d, 0x80, 0x87, 0x6d, +}; +static const unsigned char kat14_nonce[] = { + 0xd9, 0xa2, 0x09, 0x3f, 0x11, 0x89, 0x2b, 0x82, +}; +static const unsigned char kat14_persstr[] = {0}; +static const unsigned char kat14_addin0[] = {0}; +static const unsigned char kat14_addin1[] = {0}; +static const unsigned char kat14_retbits[] = { + 0xce, 0xc5, 0x1b, 0x98, 0x5e, 0xc9, 0x7b, 0x18, 0xee, 0x8e, 0xad, 0x36, + 0x15, 0x7b, 0xea, 0xf9, 0x6f, 0x12, 0x9f, 0x28, 0x28, 0x08, 0x89, 0xec, + 0x87, 0x3c, 0x27, 0xb5, 0x62, 0x71, 0x98, 0xc5, 0x85, 0xa6, 0xad, 0x21, + 0xae, 0x23, 0xa9, 0x59, 0xc9, 0xfa, 0x49, 0xd9, 0x85, 0xaf, 0x0d, 0xf4, + 0x02, 0x8f, 0xdf, 0x1f, 0x51, 0xd8, 0x2e, 0x8f, 0x2b, 0x3f, 0x02, 0x88, + 0x53, 0xf1, 0x4e, 0x8f, +}; +static const struct drbg_kat_no_reseed kat14_t = { + 13, kat14_entropyin, kat14_nonce, kat14_persstr, + kat14_addin0, kat14_addin1, kat14_retbits +}; +static const struct drbg_kat kat14 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat14_t +}; + +static const unsigned char kat15_entropyin[] = { + 0xb7, 0x7b, 0xd2, 0x2e, 0xfe, 0xb7, 0x71, 0x58, 0x6d, 0x51, 0x6f, 0x58, + 0x21, 0x92, 0xa3, 0x11, +}; +static const unsigned char kat15_nonce[] = { + 0xa6, 0x99, 0xf4, 0x2a, 0x49, 0x81, 0xfe, 0xfc, +}; +static const unsigned char kat15_persstr[] = {0}; +static const unsigned char kat15_addin0[] = {0}; +static const unsigned char kat15_addin1[] = {0}; +static const unsigned char kat15_retbits[] = { + 0x7f, 0xf0, 0xab, 0xea, 0xff, 0xc6, 0xec, 0x92, 0x3c, 0xeb, 0xd9, 0x10, + 0xf5, 0x93, 0x7b, 0xf1, 0x4f, 0xc5, 0x2d, 0x2a, 0x74, 0x25, 0x83, 0x88, + 0xc7, 0x6c, 0x1b, 0xc9, 0xe6, 0x35, 0xad, 0xf1, 0x75, 0x85, 0x8f, 0x0a, + 0x55, 0x87, 0x7e, 0x7e, 0x9f, 0x5f, 0x86, 0x7d, 0x00, 0xb9, 0xb1, 0x36, + 0x3d, 0xde, 0x46, 0x28, 0x8a, 0x6f, 0xff, 0x53, 0x21, 0xf4, 0x69, 0x44, + 0x5a, 0xad, 0x41, 0x98, +}; +static const struct drbg_kat_no_reseed kat15_t = { + 14, kat15_entropyin, kat15_nonce, kat15_persstr, + kat15_addin0, kat15_addin1, kat15_retbits +}; +static const struct drbg_kat kat15 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat15_t +}; + +static const unsigned char kat16_entropyin[] = { + 0xb4, 0x08, 0xce, 0xfb, 0x5b, 0xc7, 0x15, 0x7d, 0x3f, 0x26, 0xcb, 0x95, + 0xa8, 0xb1, 0xd7, 0xac, +}; +static const unsigned char kat16_nonce[] = { + 0x02, 0x6c, 0x76, 0x8f, 0xd5, 0x77, 0xb9, 0x2a, +}; +static const unsigned char kat16_persstr[] = {0}; +static const unsigned char kat16_addin0[] = { + 0x57, 0x37, 0xef, 0x81, 0xde, 0xe3, 0x65, 0xb6, 0xda, 0xdb, 0x3f, 0xee, + 0xbf, 0x5d, 0x10, 0x84, +}; +static const unsigned char kat16_addin1[] = { + 0x33, 0x68, 0xa5, 0x16, 0xb3, 0x43, 0x1a, 0x3d, 0xaa, 0xa6, 0x0d, 0xc8, + 0x74, 0x3c, 0x82, 0x97, +}; +static const unsigned char kat16_retbits[] = { + 0x4e, 0x90, 0x9e, 0xbb, 0x24, 0x14, 0x7a, 0x00, 0x04, 0x06, 0x3a, 0x5e, + 0x47, 0xee, 0x04, 0x4f, 0xea, 0xd6, 0x10, 0xd6, 0x23, 0x24, 0xbd, 0x0f, + 0x96, 0x3f, 0x75, 0x6f, 0xb9, 0x13, 0x61, 0xe8, 0xb8, 0x7e, 0x3a, 0x76, + 0xa3, 0x98, 0x14, 0x3f, 0xe8, 0x81, 0x30, 0xfe, 0x1b, 0x54, 0x7b, 0x66, + 0x1a, 0x64, 0x80, 0xc7, 0x11, 0xb7, 0x39, 0xf1, 0x8a, 0x9d, 0xf3, 0xae, + 0x51, 0xd4, 0x1b, 0xc9, +}; +static const struct drbg_kat_no_reseed kat16_t = { + 0, kat16_entropyin, kat16_nonce, kat16_persstr, + kat16_addin0, kat16_addin1, kat16_retbits +}; +static const struct drbg_kat kat16 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat16_t +}; + +static const unsigned char kat17_entropyin[] = { + 0x71, 0xbd, 0xce, 0x35, 0x42, 0x7d, 0x20, 0xbf, 0x58, 0xcf, 0x17, 0x74, + 0xce, 0x72, 0xd8, 0x33, +}; +static const unsigned char kat17_nonce[] = { + 0x34, 0x50, 0x2d, 0x8f, 0x5b, 0x14, 0xc4, 0xdd, +}; +static const unsigned char kat17_persstr[] = {0}; +static const unsigned char kat17_addin0[] = { + 0x66, 0xef, 0x42, 0xd6, 0x9a, 0x8c, 0x3d, 0x6d, 0x4a, 0x9e, 0x95, 0xa6, + 0x91, 0x4d, 0x81, 0x56, +}; +static const unsigned char kat17_addin1[] = { + 0xe3, 0x18, 0x83, 0xd9, 0x4b, 0x5e, 0xc4, 0xcc, 0xaa, 0x61, 0x2f, 0xbb, + 0x4a, 0x55, 0xd1, 0xc6, +}; +static const unsigned char kat17_retbits[] = { + 0x97, 0x33, 0xe8, 0x20, 0x12, 0xe2, 0x7b, 0xa1, 0x46, 0x8f, 0xf2, 0x34, + 0xb3, 0xc9, 0xb6, 0x6b, 0x20, 0xb2, 0x4f, 0xee, 0x27, 0xd8, 0x0b, 0x21, + 0x8c, 0xff, 0x63, 0x73, 0x69, 0x29, 0xfb, 0xf3, 0x85, 0xcd, 0x88, 0x8e, + 0x43, 0x2c, 0x71, 0x8b, 0xa2, 0x55, 0xd2, 0x0f, 0x1d, 0x7f, 0xe3, 0xe1, + 0x2a, 0xa3, 0xe9, 0x2c, 0x25, 0x89, 0xc7, 0x14, 0x52, 0x99, 0x56, 0xcc, + 0xc3, 0xdf, 0xb3, 0x81, +}; +static const struct drbg_kat_no_reseed kat17_t = { + 1, kat17_entropyin, kat17_nonce, kat17_persstr, + kat17_addin0, kat17_addin1, kat17_retbits +}; +static const struct drbg_kat kat17 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat17_t +}; + +static const unsigned char kat18_entropyin[] = { + 0x9c, 0x0e, 0x4a, 0xea, 0xfc, 0x35, 0x7f, 0xf8, 0xe3, 0xf5, 0x40, 0xa4, + 0x55, 0x67, 0x8d, 0x7e, +}; +static const unsigned char kat18_nonce[] = { + 0xef, 0xd8, 0x3d, 0xc5, 0xc5, 0x31, 0xd1, 0x67, +}; +static const unsigned char kat18_persstr[] = {0}; +static const unsigned char kat18_addin0[] = { + 0x58, 0xa1, 0x18, 0x14, 0x08, 0x1c, 0x1c, 0x35, 0xaf, 0x89, 0x88, 0xf1, + 0x31, 0x40, 0xf6, 0xcc, +}; +static const unsigned char kat18_addin1[] = { + 0x19, 0x19, 0x22, 0x70, 0xd6, 0x1a, 0x43, 0x26, 0x4a, 0x30, 0xba, 0x9e, + 0xbc, 0x72, 0x8a, 0x5b, +}; +static const unsigned char kat18_retbits[] = { + 0x1e, 0xff, 0x1c, 0xf6, 0xb5, 0x75, 0x31, 0x55, 0x90, 0x70, 0x38, 0x82, + 0x35, 0x9b, 0x6a, 0xdb, 0x3c, 0x21, 0xeb, 0xcf, 0xda, 0x5d, 0x3b, 0x5d, + 0x6e, 0x88, 0xac, 0xab, 0x6e, 0x87, 0x9e, 0x0a, 0x6f, 0x75, 0x37, 0x5c, + 0x02, 0xd1, 0xd3, 0xfb, 0xae, 0x94, 0x3c, 0x34, 0x43, 0xe3, 0x9c, 0x29, + 0x9b, 0x80, 0xe2, 0x41, 0xcd, 0x36, 0x5d, 0x4a, 0xf8, 0xcd, 0x1a, 0xd5, + 0xd9, 0xd5, 0x4c, 0x58, +}; +static const struct drbg_kat_no_reseed kat18_t = { + 2, kat18_entropyin, kat18_nonce, kat18_persstr, + kat18_addin0, kat18_addin1, kat18_retbits +}; +static const struct drbg_kat kat18 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat18_t +}; + +static const unsigned char kat19_entropyin[] = { + 0x95, 0x07, 0x01, 0x9b, 0x1f, 0xe8, 0x79, 0x84, 0xbe, 0xc1, 0xd0, 0x9c, + 0xec, 0xcf, 0x36, 0x35, +}; +static const unsigned char kat19_nonce[] = { + 0x47, 0x58, 0x62, 0x74, 0xfa, 0x75, 0x3e, 0x0d, +}; +static const unsigned char kat19_persstr[] = {0}; +static const unsigned char kat19_addin0[] = { + 0xf1, 0x7d, 0xe4, 0xce, 0xef, 0x9f, 0x2f, 0x23, 0x42, 0x20, 0xcb, 0x71, + 0xd8, 0xce, 0xb7, 0x0d, +}; +static const unsigned char kat19_addin1[] = { + 0x99, 0xd4, 0x8d, 0x9c, 0xe2, 0xfe, 0x76, 0xdc, 0xb8, 0xd0, 0x5f, 0xa4, + 0xec, 0x07, 0x1a, 0xec, +}; +static const unsigned char kat19_retbits[] = { + 0x25, 0xa0, 0xd1, 0x67, 0x8e, 0x25, 0xb1, 0x94, 0x39, 0xd8, 0x33, 0x4c, + 0xa9, 0x02, 0xdb, 0x63, 0x47, 0xa9, 0xa4, 0x2b, 0x86, 0xf3, 0x54, 0xb9, + 0xe0, 0xb3, 0xc4, 0xf4, 0xe8, 0xba, 0x9d, 0x19, 0x2a, 0x5d, 0x76, 0x5a, + 0xae, 0x5f, 0x4c, 0x5a, 0x74, 0xa0, 0x17, 0x7d, 0x3e, 0xb6, 0x13, 0x70, + 0x62, 0xe6, 0xd9, 0x8b, 0x65, 0x18, 0x22, 0x26, 0x5b, 0xfe, 0xfc, 0x92, + 0x9a, 0x39, 0x69, 0xdd, +}; +static const struct drbg_kat_no_reseed kat19_t = { + 3, kat19_entropyin, kat19_nonce, kat19_persstr, + kat19_addin0, kat19_addin1, kat19_retbits +}; +static const struct drbg_kat kat19 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat19_t +}; + +static const unsigned char kat20_entropyin[] = { + 0x12, 0xe8, 0xb3, 0xda, 0x3a, 0x3b, 0x3e, 0x77, 0x3a, 0xfc, 0x23, 0x05, + 0xbd, 0xa8, 0x6d, 0xb6, +}; +static const unsigned char kat20_nonce[] = { + 0xc4, 0x9f, 0x26, 0x1a, 0x9a, 0xb9, 0xd9, 0xf8, +}; +static const unsigned char kat20_persstr[] = {0}; +static const unsigned char kat20_addin0[] = { + 0x86, 0xb6, 0x38, 0x52, 0x41, 0x96, 0x15, 0x9d, 0xea, 0x01, 0x76, 0xe5, + 0x46, 0x2a, 0xe6, 0x5c, +}; +static const unsigned char kat20_addin1[] = { + 0x5e, 0xad, 0xb7, 0x67, 0x72, 0xbe, 0x3c, 0xe8, 0x47, 0xaf, 0x6b, 0x77, + 0x94, 0xe0, 0x02, 0xe3, +}; +static const unsigned char kat20_retbits[] = { + 0x1b, 0xbf, 0x85, 0xe0, 0x2c, 0x1f, 0xc0, 0x4b, 0xea, 0x5f, 0xc4, 0x7f, + 0x23, 0x6a, 0x07, 0x1c, 0x13, 0xf8, 0xf5, 0x2e, 0xb1, 0x13, 0xcb, 0x83, + 0xc4, 0x15, 0x2a, 0xc8, 0x32, 0x62, 0x7a, 0xbb, 0xa6, 0xec, 0xde, 0xc1, + 0x7a, 0x9f, 0xf0, 0x30, 0x5b, 0x7a, 0x49, 0x81, 0x79, 0x83, 0xfa, 0x5b, + 0x66, 0x51, 0x45, 0xe7, 0xba, 0x9a, 0x5d, 0xf5, 0x72, 0x26, 0xec, 0xcf, + 0xc1, 0x64, 0xe3, 0xbb, +}; +static const struct drbg_kat_no_reseed kat20_t = { + 4, kat20_entropyin, kat20_nonce, kat20_persstr, + kat20_addin0, kat20_addin1, kat20_retbits +}; +static const struct drbg_kat kat20 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat20_t +}; + +static const unsigned char kat21_entropyin[] = { + 0xb6, 0x08, 0xb1, 0x49, 0xcf, 0x44, 0xfe, 0x06, 0x06, 0x13, 0xb1, 0x66, + 0x1d, 0xa0, 0xdf, 0x63, +}; +static const unsigned char kat21_nonce[] = { + 0x95, 0x17, 0xc9, 0x93, 0xf1, 0x50, 0x34, 0x77, +}; +static const unsigned char kat21_persstr[] = {0}; +static const unsigned char kat21_addin0[] = { + 0x55, 0x9c, 0xb8, 0x12, 0xc3, 0x75, 0x8b, 0x2b, 0x31, 0x9d, 0xd9, 0xf5, + 0x76, 0x8e, 0x8d, 0x3d, +}; +static const unsigned char kat21_addin1[] = { + 0xc9, 0xaf, 0x98, 0x7e, 0xfc, 0xe4, 0x70, 0x0f, 0xa9, 0xc8, 0xeb, 0xb9, + 0xfe, 0xcf, 0x00, 0xda, +}; +static const unsigned char kat21_retbits[] = { + 0x5b, 0x48, 0x13, 0x4d, 0xc7, 0xe6, 0x58, 0x9f, 0x1b, 0x40, 0x2c, 0xf5, + 0xc4, 0xf6, 0xe3, 0xa3, 0xeb, 0xfd, 0xa8, 0x26, 0x72, 0x50, 0xe8, 0xe8, + 0x11, 0xec, 0x05, 0x98, 0x6f, 0xf2, 0x1c, 0x78, 0xa1, 0x69, 0x30, 0xa8, + 0xe0, 0x81, 0x03, 0x07, 0x76, 0x08, 0xc0, 0x6f, 0xa5, 0xe2, 0xa0, 0x48, + 0xe8, 0x5d, 0xd6, 0xf3, 0x95, 0xce, 0xe2, 0x01, 0xd3, 0xcd, 0xe6, 0x35, + 0xe1, 0x7e, 0x20, 0x3e, +}; +static const struct drbg_kat_no_reseed kat21_t = { + 5, kat21_entropyin, kat21_nonce, kat21_persstr, + kat21_addin0, kat21_addin1, kat21_retbits +}; +static const struct drbg_kat kat21 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat21_t +}; + +static const unsigned char kat22_entropyin[] = { + 0xe9, 0x2f, 0xd0, 0x7a, 0x09, 0xf2, 0xbc, 0xcb, 0x43, 0x42, 0x4c, 0x57, + 0x57, 0x73, 0xb0, 0xf0, +}; +static const unsigned char kat22_nonce[] = { + 0xb4, 0xe3, 0xca, 0x71, 0xae, 0x15, 0xa0, 0x36, +}; +static const unsigned char kat22_persstr[] = {0}; +static const unsigned char kat22_addin0[] = { + 0xe1, 0xb4, 0xb0, 0x40, 0x13, 0xdc, 0x12, 0x18, 0x8c, 0x62, 0x3d, 0x10, + 0x11, 0xd4, 0x08, 0xf1, +}; +static const unsigned char kat22_addin1[] = { + 0x79, 0x56, 0xbf, 0x5b, 0x16, 0x58, 0x0b, 0x3e, 0x72, 0x0a, 0x81, 0x33, + 0x3e, 0xae, 0x24, 0x83, +}; +static const unsigned char kat22_retbits[] = { + 0x21, 0xa4, 0x67, 0x22, 0x42, 0x46, 0x56, 0x37, 0x0c, 0x47, 0x5b, 0x69, + 0xa1, 0xfb, 0xc7, 0x0c, 0x8c, 0xbf, 0x44, 0x2d, 0xc2, 0xbc, 0x28, 0xe0, + 0xab, 0x34, 0xbb, 0x6f, 0xfe, 0xd0, 0x6d, 0x10, 0xf4, 0x90, 0xdf, 0x7e, + 0x78, 0x7c, 0x12, 0xb6, 0x52, 0xd2, 0x19, 0xa5, 0x77, 0x30, 0x6f, 0x04, + 0xa9, 0xc8, 0x78, 0xb6, 0xcf, 0xdf, 0xf4, 0x3e, 0x13, 0x55, 0xc4, 0xd1, + 0x10, 0xfb, 0x0f, 0xb2, +}; +static const struct drbg_kat_no_reseed kat22_t = { + 6, kat22_entropyin, kat22_nonce, kat22_persstr, + kat22_addin0, kat22_addin1, kat22_retbits +}; +static const struct drbg_kat kat22 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat22_t +}; + +static const unsigned char kat23_entropyin[] = { + 0xde, 0x0b, 0x4e, 0xa1, 0xa4, 0x40, 0xce, 0x68, 0x0e, 0xd0, 0x04, 0xcf, + 0x64, 0xaf, 0xbe, 0x0f, +}; +static const unsigned char kat23_nonce[] = { + 0xab, 0xb3, 0x1a, 0x3a, 0xb1, 0x5e, 0xd4, 0x49, +}; +static const unsigned char kat23_persstr[] = {0}; +static const unsigned char kat23_addin0[] = { + 0x45, 0xe7, 0x10, 0x10, 0x0c, 0xad, 0x00, 0xf3, 0xd2, 0x93, 0xdb, 0x75, + 0x5e, 0xe1, 0x99, 0x0d, +}; +static const unsigned char kat23_addin1[] = { + 0xb9, 0x11, 0xc9, 0xa4, 0x38, 0x9e, 0x71, 0x67, 0x98, 0x2a, 0x51, 0x24, + 0x8e, 0xe2, 0x93, 0x7e, +}; +static const unsigned char kat23_retbits[] = { + 0x01, 0xc3, 0xaf, 0x83, 0x55, 0x7c, 0x63, 0x2d, 0xd8, 0x22, 0x83, 0x3f, + 0x18, 0xe5, 0x48, 0xfb, 0x60, 0x36, 0xe9, 0xcc, 0xac, 0xc3, 0xb4, 0x33, + 0xc5, 0xa7, 0x00, 0x79, 0x39, 0x93, 0x30, 0x89, 0x16, 0x22, 0x0e, 0x5a, + 0x74, 0x16, 0x39, 0x86, 0x1c, 0x2f, 0x17, 0x71, 0x9b, 0x32, 0x51, 0x22, + 0x06, 0xe3, 0x6e, 0x94, 0x7b, 0x28, 0x60, 0x07, 0x3b, 0x11, 0x3c, 0xcd, + 0xa3, 0xfe, 0x31, 0x68, +}; +static const struct drbg_kat_no_reseed kat23_t = { + 7, kat23_entropyin, kat23_nonce, kat23_persstr, + kat23_addin0, kat23_addin1, kat23_retbits +}; +static const struct drbg_kat kat23 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat23_t +}; + +static const unsigned char kat24_entropyin[] = { + 0x72, 0x27, 0xe1, 0x1c, 0xfc, 0x1a, 0x6b, 0x84, 0xb4, 0x0e, 0xca, 0x24, + 0xe7, 0x7f, 0x8c, 0x64, +}; +static const unsigned char kat24_nonce[] = { + 0xab, 0x7e, 0x9f, 0xc4, 0x5e, 0x58, 0x63, 0xfb, +}; +static const unsigned char kat24_persstr[] = {0}; +static const unsigned char kat24_addin0[] = { + 0xca, 0xeb, 0xb3, 0xcd, 0x32, 0xc9, 0xd3, 0xe1, 0xf5, 0xd3, 0x8f, 0x8b, + 0xdd, 0x89, 0x58, 0x7d, +}; +static const unsigned char kat24_addin1[] = { + 0x31, 0x38, 0x09, 0x26, 0xb8, 0x60, 0x80, 0x06, 0xb7, 0xc7, 0x93, 0x61, + 0xf0, 0xf9, 0x1d, 0x5e, +}; +static const unsigned char kat24_retbits[] = { + 0x3a, 0xd7, 0xb9, 0x32, 0x59, 0xc6, 0xd0, 0xfd, 0xb5, 0x14, 0x27, 0x7a, + 0xe9, 0x95, 0x01, 0x22, 0xfb, 0x97, 0x11, 0x33, 0x74, 0x2d, 0xe8, 0xe5, + 0x17, 0xdd, 0x22, 0x69, 0xdd, 0x5a, 0x3c, 0x25, 0x7e, 0x3d, 0x10, 0x6b, + 0x55, 0x56, 0x60, 0xcf, 0xdd, 0x6a, 0x92, 0xc2, 0xcd, 0xdf, 0x1e, 0x53, + 0xc4, 0x94, 0x5e, 0xd7, 0x72, 0xee, 0x30, 0x38, 0x04, 0xd0, 0x56, 0xf2, + 0x42, 0xbf, 0x53, 0x99, +}; +static const struct drbg_kat_no_reseed kat24_t = { + 8, kat24_entropyin, kat24_nonce, kat24_persstr, + kat24_addin0, kat24_addin1, kat24_retbits +}; +static const struct drbg_kat kat24 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat24_t +}; + +static const unsigned char kat25_entropyin[] = { + 0x3b, 0x9e, 0xe2, 0x0c, 0x82, 0x42, 0xb3, 0xf3, 0x58, 0xdb, 0xe8, 0xea, + 0x58, 0x9e, 0x6e, 0x7c, +}; +static const unsigned char kat25_nonce[] = { + 0xb1, 0xdc, 0x3a, 0x47, 0x03, 0x68, 0x52, 0x15, +}; +static const unsigned char kat25_persstr[] = {0}; +static const unsigned char kat25_addin0[] = { + 0x47, 0x33, 0x34, 0x47, 0x86, 0x73, 0xe7, 0xb4, 0xa4, 0x3e, 0x9a, 0xe6, + 0xa8, 0xac, 0x98, 0xbf, +}; +static const unsigned char kat25_addin1[] = { + 0x06, 0x1f, 0xe4, 0x45, 0x5a, 0x17, 0x08, 0x74, 0x98, 0xfe, 0x20, 0x9c, + 0x2c, 0xba, 0x7a, 0x91, +}; +static const unsigned char kat25_retbits[] = { + 0x8e, 0x50, 0x62, 0xb1, 0xfb, 0x29, 0x05, 0xc1, 0x57, 0xc5, 0x26, 0xfa, + 0x5f, 0x67, 0xcc, 0x99, 0xc6, 0xd7, 0x08, 0x0a, 0x3d, 0x31, 0x42, 0xfa, + 0x37, 0xc2, 0x09, 0xcf, 0x53, 0x4a, 0xf1, 0x6a, 0x9a, 0x2f, 0x28, 0x61, + 0xb8, 0x94, 0xea, 0x84, 0xa3, 0x73, 0xd4, 0xa8, 0x04, 0xc3, 0xdc, 0xd5, + 0x1f, 0xcc, 0x09, 0xdd, 0x0f, 0x5b, 0x39, 0x45, 0x69, 0x7a, 0xac, 0xd0, + 0xb8, 0xf3, 0xea, 0xfd, +}; +static const struct drbg_kat_no_reseed kat25_t = { + 9, kat25_entropyin, kat25_nonce, kat25_persstr, + kat25_addin0, kat25_addin1, kat25_retbits +}; +static const struct drbg_kat kat25 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat25_t +}; + +static const unsigned char kat26_entropyin[] = { + 0x8f, 0xf7, 0x57, 0xb2, 0x11, 0x69, 0xb3, 0xfd, 0x6e, 0x88, 0x00, 0xaa, + 0xc0, 0xe3, 0xc4, 0x1f, +}; +static const unsigned char kat26_nonce[] = { + 0x49, 0x4d, 0x42, 0x51, 0xe8, 0x88, 0x15, 0xb4, +}; +static const unsigned char kat26_persstr[] = {0}; +static const unsigned char kat26_addin0[] = { + 0xe0, 0x19, 0x9f, 0xb9, 0xf0, 0xf0, 0xa1, 0xa8, 0xdd, 0x9d, 0x19, 0xd1, + 0x43, 0x68, 0xfa, 0x1e, +}; +static const unsigned char kat26_addin1[] = { + 0x21, 0x91, 0xab, 0xe7, 0x24, 0x41, 0x28, 0x56, 0x36, 0xc1, 0x1b, 0xde, + 0xe9, 0x83, 0xed, 0x8c, +}; +static const unsigned char kat26_retbits[] = { + 0x06, 0x75, 0xb2, 0x25, 0x4b, 0x71, 0x31, 0x8e, 0xb3, 0xa3, 0x60, 0x4d, + 0x7b, 0x6d, 0x77, 0x80, 0x6c, 0xd7, 0xdf, 0x32, 0x5c, 0x7c, 0xe8, 0x9e, + 0x16, 0xd3, 0xbd, 0x56, 0x16, 0xb0, 0xfa, 0xec, 0x33, 0x0c, 0xfe, 0x6b, + 0x84, 0xb6, 0x87, 0x61, 0xad, 0xf7, 0x0c, 0xc1, 0x4e, 0x46, 0x25, 0x3e, + 0x11, 0x55, 0x72, 0xc1, 0xa4, 0xac, 0xbb, 0xae, 0xee, 0x1a, 0xd6, 0x81, + 0xb5, 0x38, 0xd6, 0xc9, +}; +static const struct drbg_kat_no_reseed kat26_t = { + 10, kat26_entropyin, kat26_nonce, kat26_persstr, + kat26_addin0, kat26_addin1, kat26_retbits +}; +static const struct drbg_kat kat26 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat26_t +}; + +static const unsigned char kat27_entropyin[] = { + 0x46, 0x0c, 0x0a, 0x1e, 0x92, 0x9b, 0x75, 0x18, 0xdb, 0xcf, 0x44, 0xe4, + 0xe7, 0xee, 0x4d, 0x83, +}; +static const unsigned char kat27_nonce[] = { + 0x88, 0x65, 0xd5, 0x01, 0x53, 0x48, 0x25, 0x9e, +}; +static const unsigned char kat27_persstr[] = {0}; +static const unsigned char kat27_addin0[] = { + 0xf9, 0x32, 0x78, 0x91, 0x40, 0xa0, 0xa7, 0x6f, 0x07, 0xb2, 0x5b, 0x5f, + 0x8e, 0x1d, 0x00, 0xdc, +}; +static const unsigned char kat27_addin1[] = { + 0xe6, 0x44, 0x6a, 0xe2, 0xc6, 0x62, 0x66, 0x73, 0xe1, 0x8e, 0x37, 0x3d, + 0xeb, 0x12, 0xbd, 0x26, +}; +static const unsigned char kat27_retbits[] = { + 0xc5, 0xde, 0x2e, 0x1a, 0x2a, 0xa7, 0x0a, 0x28, 0xac, 0xe6, 0x8e, 0x62, + 0x0c, 0x94, 0xb8, 0x88, 0xa0, 0x7b, 0x07, 0x80, 0xb3, 0x14, 0x38, 0xc5, + 0xe1, 0x1c, 0x5d, 0x76, 0xdf, 0xd6, 0x15, 0xf4, 0x1d, 0x4b, 0xa3, 0x24, + 0xd2, 0x2c, 0x12, 0xfe, 0xe3, 0x8f, 0x58, 0x93, 0x5d, 0xad, 0x35, 0xe0, + 0x0f, 0xe6, 0xa6, 0xe6, 0x11, 0x86, 0xc7, 0x88, 0x1c, 0x30, 0x6e, 0x96, + 0x31, 0xcc, 0x15, 0xec, +}; +static const struct drbg_kat_no_reseed kat27_t = { + 11, kat27_entropyin, kat27_nonce, kat27_persstr, + kat27_addin0, kat27_addin1, kat27_retbits +}; +static const struct drbg_kat kat27 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat27_t +}; + +static const unsigned char kat28_entropyin[] = { + 0xb2, 0xda, 0x44, 0xbc, 0x3b, 0xe2, 0xd1, 0x7a, 0x9a, 0xc2, 0x08, 0x80, + 0x85, 0xe9, 0x26, 0xf8, +}; +static const unsigned char kat28_nonce[] = { + 0x04, 0xbe, 0x54, 0x49, 0x35, 0x26, 0xc5, 0x78, +}; +static const unsigned char kat28_persstr[] = {0}; +static const unsigned char kat28_addin0[] = { + 0x67, 0xbe, 0x89, 0x19, 0x59, 0x65, 0xcd, 0x7d, 0xc9, 0x84, 0x27, 0x1b, + 0x49, 0x7d, 0x61, 0x90, +}; +static const unsigned char kat28_addin1[] = { + 0xc9, 0x95, 0x6b, 0x00, 0x4b, 0x0c, 0x26, 0xb3, 0xf6, 0x57, 0xc6, 0xc1, + 0x55, 0xd3, 0x60, 0xcc, +}; +static const unsigned char kat28_retbits[] = { + 0xc7, 0x74, 0x56, 0x62, 0x19, 0x48, 0xf6, 0x08, 0x38, 0xe3, 0x77, 0x9a, + 0x14, 0x60, 0x63, 0x22, 0x52, 0x96, 0xda, 0x38, 0x18, 0x0e, 0x2c, 0x4c, + 0x58, 0x35, 0xea, 0x27, 0xb2, 0x84, 0x24, 0xa8, 0x83, 0x1c, 0xee, 0x8c, + 0x8d, 0xf7, 0x39, 0xa2, 0xb1, 0x73, 0xb3, 0x7b, 0xe2, 0xc0, 0x2b, 0xff, + 0x38, 0xe0, 0xb3, 0x67, 0xd4, 0x82, 0xfb, 0x76, 0x54, 0x5f, 0xb3, 0xc9, + 0x8d, 0x82, 0xb6, 0xe7, +}; +static const struct drbg_kat_no_reseed kat28_t = { + 12, kat28_entropyin, kat28_nonce, kat28_persstr, + kat28_addin0, kat28_addin1, kat28_retbits +}; +static const struct drbg_kat kat28 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat28_t +}; + +static const unsigned char kat29_entropyin[] = { + 0xf1, 0x77, 0xbc, 0x8a, 0xf7, 0x5c, 0x49, 0xe1, 0xd3, 0x79, 0xb5, 0x72, + 0x26, 0x92, 0xbb, 0x3f, +}; +static const unsigned char kat29_nonce[] = { + 0xd8, 0xb5, 0xfb, 0xdc, 0x5d, 0xa7, 0xea, 0x7b, +}; +static const unsigned char kat29_persstr[] = {0}; +static const unsigned char kat29_addin0[] = { + 0x37, 0x41, 0x94, 0x38, 0x35, 0x54, 0xa4, 0x21, 0x41, 0x0a, 0xf5, 0xde, + 0x2f, 0xc2, 0xec, 0x82, +}; +static const unsigned char kat29_addin1[] = { + 0x00, 0x0b, 0xe9, 0xac, 0x8e, 0x4b, 0x0c, 0xd1, 0x24, 0x5d, 0x7b, 0x7d, + 0xbf, 0x8d, 0x87, 0x4f, +}; +static const unsigned char kat29_retbits[] = { + 0xb4, 0xa0, 0x0c, 0xd6, 0xe5, 0xf4, 0x7e, 0xa8, 0x7b, 0x12, 0x07, 0xc3, + 0xa2, 0x18, 0xd8, 0x98, 0x8d, 0x4c, 0xb7, 0xed, 0x52, 0xb1, 0x4b, 0x79, + 0xbb, 0xa5, 0x6a, 0xa7, 0xe5, 0x7e, 0x63, 0x64, 0x05, 0x70, 0x25, 0xab, + 0x8f, 0x60, 0xd9, 0x7b, 0x84, 0x71, 0x7b, 0xbf, 0x25, 0x58, 0xdd, 0x43, + 0x1f, 0x4b, 0xc3, 0x8c, 0xf1, 0xf6, 0x1e, 0xc0, 0xe7, 0xc2, 0xb4, 0xae, + 0xb5, 0x4b, 0x2f, 0xaa, +}; +static const struct drbg_kat_no_reseed kat29_t = { + 13, kat29_entropyin, kat29_nonce, kat29_persstr, + kat29_addin0, kat29_addin1, kat29_retbits +}; +static const struct drbg_kat kat29 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat29_t +}; + +static const unsigned char kat30_entropyin[] = { + 0x52, 0x6b, 0xc8, 0xb7, 0x97, 0xad, 0x67, 0xeb, 0x9b, 0x11, 0xbb, 0x5d, + 0x17, 0x32, 0x00, 0x87, +}; +static const unsigned char kat30_nonce[] = { + 0x64, 0x7b, 0xd2, 0x32, 0xad, 0x4d, 0x13, 0x00, +}; +static const unsigned char kat30_persstr[] = {0}; +static const unsigned char kat30_addin0[] = { + 0x58, 0xc8, 0xbf, 0x95, 0x0f, 0xab, 0x02, 0x71, 0x19, 0xee, 0x4a, 0x59, + 0x27, 0x27, 0xaa, 0x02, +}; +static const unsigned char kat30_addin1[] = { + 0x25, 0x39, 0xe1, 0x23, 0x92, 0x6b, 0x74, 0xab, 0x23, 0x41, 0x4d, 0x63, + 0x50, 0xb8, 0x92, 0x87, +}; +static const unsigned char kat30_retbits[] = { + 0x35, 0x9c, 0x56, 0x08, 0x34, 0xbb, 0xeb, 0xdb, 0x41, 0x34, 0xcc, 0x3e, + 0x66, 0xbc, 0x06, 0x95, 0xce, 0xfd, 0xb4, 0xfe, 0x56, 0x63, 0x75, 0x2b, + 0x6e, 0xba, 0x97, 0x4c, 0x4b, 0x85, 0x92, 0x4a, 0x01, 0xdc, 0xd4, 0xea, + 0x3e, 0xd7, 0x7f, 0x2a, 0xf3, 0x95, 0x7b, 0x87, 0x51, 0xf7, 0x37, 0x15, + 0x74, 0xbb, 0x8b, 0x09, 0x0b, 0xc0, 0xd5, 0x12, 0xc1, 0x57, 0xc6, 0x55, + 0x9c, 0x16, 0xd0, 0xfd, +}; +static const struct drbg_kat_no_reseed kat30_t = { + 14, kat30_entropyin, kat30_nonce, kat30_persstr, + kat30_addin0, kat30_addin1, kat30_retbits +}; +static const struct drbg_kat kat30 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat30_t +}; + +static const unsigned char kat31_entropyin[] = { + 0xe1, 0x0b, 0xc2, 0x8a, 0x0b, 0xfd, 0xdf, 0xe9, 0x3e, 0x7f, 0x51, 0x86, + 0xe0, 0xca, 0x0b, 0x3b, +}; +static const unsigned char kat31_nonce[] = { + 0x9f, 0xf4, 0x77, 0xc1, 0x86, 0x73, 0x84, 0x0d, +}; +static const unsigned char kat31_persstr[] = { + 0xc9, 0x80, 0xde, 0xdf, 0x98, 0x82, 0xed, 0x44, 0x64, 0xa6, 0x74, 0x96, + 0x78, 0x68, 0xf1, 0x43, +}; +static const unsigned char kat31_addin0[] = {0}; +static const unsigned char kat31_addin1[] = {0}; +static const unsigned char kat31_retbits[] = { + 0x35, 0xb0, 0x0d, 0xf6, 0x26, 0x9b, 0x66, 0x41, 0xfd, 0x4c, 0xcb, 0x35, + 0x4d, 0x56, 0xd8, 0x51, 0xde, 0x7a, 0x77, 0x52, 0x7e, 0x03, 0x4d, 0x60, + 0xc9, 0xe1, 0xa9, 0xe1, 0x52, 0x5a, 0x30, 0xed, 0x36, 0x1f, 0xde, 0xd8, + 0x9d, 0x3d, 0xcc, 0xb9, 0x78, 0xd4, 0xe7, 0xa9, 0xe1, 0x00, 0xeb, 0xf6, + 0x30, 0x62, 0x73, 0x5b, 0x52, 0x83, 0x1c, 0x6f, 0x0a, 0x1d, 0x3e, 0x1b, + 0xdc, 0x5e, 0xbc, 0x72, +}; +static const struct drbg_kat_no_reseed kat31_t = { + 0, kat31_entropyin, kat31_nonce, kat31_persstr, + kat31_addin0, kat31_addin1, kat31_retbits +}; +static const struct drbg_kat kat31 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat31_t +}; + +static const unsigned char kat32_entropyin[] = { + 0xca, 0x4b, 0x1e, 0xfa, 0x75, 0xbd, 0x69, 0x36, 0x38, 0x73, 0xb8, 0xf9, + 0xdb, 0x4d, 0x35, 0x0e, +}; +static const unsigned char kat32_nonce[] = { + 0x47, 0xbf, 0x6c, 0x37, 0x72, 0xfd, 0xf7, 0xa9, +}; +static const unsigned char kat32_persstr[] = { + 0xeb, 0xaa, 0x60, 0x2c, 0x4d, 0xbe, 0x33, 0xff, 0x1b, 0xef, 0xbf, 0x0a, + 0x0b, 0xc6, 0x97, 0x54, +}; +static const unsigned char kat32_addin0[] = {0}; +static const unsigned char kat32_addin1[] = {0}; +static const unsigned char kat32_retbits[] = { + 0x59, 0xc3, 0x19, 0x79, 0x1b, 0xb1, 0xf3, 0x0e, 0xe9, 0x34, 0xae, 0x6e, + 0x8b, 0x1f, 0xad, 0x1f, 0x74, 0xca, 0x25, 0x45, 0x68, 0xb8, 0x7f, 0x75, + 0x12, 0xf8, 0xf2, 0xab, 0x4c, 0x23, 0x01, 0x03, 0x05, 0xe1, 0x70, 0xee, + 0x75, 0xd8, 0xcb, 0xeb, 0x23, 0x4c, 0x7a, 0x23, 0x6e, 0x12, 0x27, 0xdb, + 0x6f, 0x7a, 0xac, 0x3c, 0x44, 0xb7, 0x87, 0x4b, 0x65, 0x56, 0x74, 0x45, + 0x34, 0x30, 0x0c, 0x3d, +}; +static const struct drbg_kat_no_reseed kat32_t = { + 1, kat32_entropyin, kat32_nonce, kat32_persstr, + kat32_addin0, kat32_addin1, kat32_retbits +}; +static const struct drbg_kat kat32 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat32_t +}; + +static const unsigned char kat33_entropyin[] = { + 0x35, 0x19, 0x49, 0x15, 0x74, 0x71, 0x9d, 0xdb, 0x1f, 0x51, 0xb5, 0xf5, + 0x9e, 0x21, 0xad, 0x3d, +}; +static const unsigned char kat33_nonce[] = { + 0xef, 0x1d, 0xbe, 0xae, 0x79, 0xf0, 0x89, 0x8b, +}; +static const unsigned char kat33_persstr[] = { + 0x7f, 0xdc, 0x21, 0xe3, 0x53, 0x24, 0x9e, 0x93, 0xdf, 0x98, 0xf2, 0x91, + 0x02, 0xb9, 0xac, 0xec, +}; +static const unsigned char kat33_addin0[] = {0}; +static const unsigned char kat33_addin1[] = {0}; +static const unsigned char kat33_retbits[] = { + 0x19, 0x2c, 0x71, 0x85, 0x74, 0x47, 0xaf, 0x82, 0x01, 0x37, 0x06, 0xb8, + 0xeb, 0x00, 0x8f, 0x8e, 0x2c, 0x2e, 0xb3, 0x99, 0x4a, 0x23, 0x8c, 0xf7, + 0x39, 0xe1, 0x74, 0x60, 0xfe, 0x84, 0xef, 0x71, 0xca, 0x43, 0x7e, 0x8a, + 0xcb, 0xb8, 0xd9, 0xd2, 0x88, 0x07, 0xc4, 0x7a, 0x5f, 0x03, 0x44, 0x42, + 0xaa, 0xf3, 0xc2, 0xf3, 0xe7, 0xde, 0xbe, 0x53, 0x1b, 0xc3, 0x59, 0x60, + 0x56, 0x68, 0x58, 0x48, +}; +static const struct drbg_kat_no_reseed kat33_t = { + 2, kat33_entropyin, kat33_nonce, kat33_persstr, + kat33_addin0, kat33_addin1, kat33_retbits +}; +static const struct drbg_kat kat33 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat33_t +}; + +static const unsigned char kat34_entropyin[] = { + 0x68, 0xed, 0xc1, 0xc7, 0xf0, 0x4f, 0xa2, 0x2f, 0x75, 0x1b, 0x91, 0x8b, + 0x01, 0x6b, 0xbf, 0xb5, +}; +static const unsigned char kat34_nonce[] = { + 0xa9, 0xb6, 0x7a, 0x39, 0x58, 0xf2, 0x02, 0xf0, +}; +static const unsigned char kat34_persstr[] = { + 0x9d, 0x6f, 0xbb, 0x02, 0x0e, 0x3d, 0x99, 0xd1, 0x95, 0xff, 0x46, 0x9f, + 0x0a, 0xc0, 0xb8, 0xca, +}; +static const unsigned char kat34_addin0[] = {0}; +static const unsigned char kat34_addin1[] = {0}; +static const unsigned char kat34_retbits[] = { + 0xd9, 0x02, 0x89, 0xb1, 0xb6, 0x76, 0x3a, 0x76, 0x90, 0xfc, 0xb5, 0xd6, + 0x7c, 0x81, 0xc2, 0x03, 0xa1, 0xcf, 0xb0, 0x88, 0x71, 0xb9, 0x4a, 0xf6, + 0x51, 0xc4, 0xcd, 0x7e, 0xc2, 0xfa, 0x4b, 0x9d, 0x47, 0xc8, 0xe5, 0xfc, + 0xc9, 0x9a, 0xff, 0xc2, 0x21, 0x43, 0xb6, 0x12, 0x70, 0x18, 0xe9, 0xe2, + 0xc0, 0x91, 0x4f, 0x9d, 0x47, 0xa5, 0xa3, 0x0b, 0x26, 0xe7, 0x4d, 0xdc, + 0x31, 0xa4, 0x48, 0x42, +}; +static const struct drbg_kat_no_reseed kat34_t = { + 3, kat34_entropyin, kat34_nonce, kat34_persstr, + kat34_addin0, kat34_addin1, kat34_retbits +}; +static const struct drbg_kat kat34 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat34_t +}; + +static const unsigned char kat35_entropyin[] = { + 0x8e, 0x6b, 0xaf, 0x81, 0xa3, 0xf9, 0xe7, 0x32, 0xef, 0xb9, 0x65, 0xaf, + 0xa5, 0x9e, 0x71, 0xee, +}; +static const unsigned char kat35_nonce[] = { + 0x9a, 0x40, 0x36, 0xfe, 0x7f, 0xf2, 0x25, 0xb8, +}; +static const unsigned char kat35_persstr[] = { + 0xc5, 0x7e, 0x42, 0xad, 0x7a, 0xef, 0x53, 0x77, 0xfc, 0x4c, 0xd6, 0x20, + 0xd6, 0x31, 0xb0, 0x61, +}; +static const unsigned char kat35_addin0[] = {0}; +static const unsigned char kat35_addin1[] = {0}; +static const unsigned char kat35_retbits[] = { + 0x71, 0x39, 0xa2, 0xd6, 0x74, 0xee, 0xfe, 0x54, 0x08, 0x7a, 0x2d, 0xd5, + 0xf4, 0x97, 0xf5, 0xa1, 0xcb, 0x44, 0x44, 0x72, 0xe3, 0x64, 0x04, 0x5c, + 0xb9, 0x20, 0x2b, 0xce, 0x24, 0x58, 0x1b, 0x4b, 0x1b, 0x80, 0x3f, 0xa5, + 0xf4, 0xa9, 0xac, 0x6d, 0x66, 0x37, 0xbd, 0xd9, 0x06, 0xaf, 0x3d, 0x8f, + 0x49, 0xb5, 0xb8, 0x0f, 0x44, 0xcd, 0x16, 0xee, 0x5b, 0x1a, 0xe3, 0xbf, + 0x51, 0xb5, 0x98, 0xba, +}; +static const struct drbg_kat_no_reseed kat35_t = { + 4, kat35_entropyin, kat35_nonce, kat35_persstr, + kat35_addin0, kat35_addin1, kat35_retbits +}; +static const struct drbg_kat kat35 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat35_t +}; + +static const unsigned char kat36_entropyin[] = { + 0xf8, 0x99, 0x2f, 0x34, 0x0f, 0x90, 0xc8, 0xd8, 0x16, 0xb4, 0xbd, 0x8b, + 0x43, 0x5d, 0xa0, 0x35, +}; +static const unsigned char kat36_nonce[] = { + 0xfc, 0xf9, 0x44, 0x00, 0x6f, 0x29, 0x27, 0x98, +}; +static const unsigned char kat36_persstr[] = { + 0x56, 0x32, 0x23, 0x5e, 0x85, 0x2c, 0x07, 0x40, 0x09, 0xb4, 0x97, 0xed, + 0xa4, 0x38, 0xa1, 0x6f, +}; +static const unsigned char kat36_addin0[] = {0}; +static const unsigned char kat36_addin1[] = {0}; +static const unsigned char kat36_retbits[] = { + 0x9e, 0xab, 0x55, 0xfa, 0x4b, 0x2c, 0x1c, 0xfa, 0xc6, 0x3d, 0x4d, 0xe4, + 0x7a, 0xa8, 0xf5, 0x9f, 0x78, 0x5e, 0xe4, 0x90, 0xda, 0x44, 0xce, 0xe3, + 0x0f, 0x91, 0x61, 0xe9, 0x3a, 0xfc, 0x46, 0x1d, 0xad, 0x0e, 0x7f, 0x4a, + 0x06, 0x4e, 0x92, 0xef, 0xd6, 0x00, 0x89, 0x16, 0xc2, 0x2f, 0x83, 0x64, + 0xc1, 0x90, 0x46, 0x7a, 0xde, 0x12, 0xab, 0x4e, 0x18, 0xb1, 0xf3, 0x9c, + 0xe1, 0x8b, 0x35, 0x8a, +}; +static const struct drbg_kat_no_reseed kat36_t = { + 5, kat36_entropyin, kat36_nonce, kat36_persstr, + kat36_addin0, kat36_addin1, kat36_retbits +}; +static const struct drbg_kat kat36 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat36_t +}; + +static const unsigned char kat37_entropyin[] = { + 0x07, 0x43, 0x8f, 0x83, 0x53, 0xb7, 0xb0, 0x67, 0x42, 0x18, 0x31, 0x9e, + 0x29, 0x54, 0x0b, 0xca, +}; +static const unsigned char kat37_nonce[] = { + 0x41, 0x14, 0x77, 0x63, 0x6a, 0x50, 0x0c, 0x62, +}; +static const unsigned char kat37_persstr[] = { + 0xcf, 0x36, 0xf2, 0xaa, 0x72, 0xf2, 0xf3, 0x5e, 0x33, 0x5e, 0x65, 0xcf, + 0xd1, 0x7e, 0x2d, 0x3d, +}; +static const unsigned char kat37_addin0[] = {0}; +static const unsigned char kat37_addin1[] = {0}; +static const unsigned char kat37_retbits[] = { + 0x6c, 0xfa, 0xcf, 0xe4, 0x7a, 0xcf, 0x8f, 0x61, 0xd8, 0xaf, 0x3e, 0xd4, + 0xfb, 0xac, 0xef, 0x5c, 0xd7, 0x41, 0xac, 0x2f, 0x16, 0x5e, 0x15, 0xbd, + 0xaa, 0xb1, 0xd0, 0x30, 0xc6, 0x85, 0x67, 0x83, 0x7e, 0xf3, 0xda, 0x1e, + 0xc8, 0x3d, 0xa0, 0x42, 0x3c, 0xa3, 0x42, 0x4c, 0xf2, 0x93, 0xf6, 0x1f, + 0x71, 0x75, 0xfb, 0xa8, 0xe9, 0x1e, 0x5f, 0xdc, 0x8b, 0x39, 0x55, 0x77, + 0x73, 0x61, 0xd6, 0x90, +}; +static const struct drbg_kat_no_reseed kat37_t = { + 6, kat37_entropyin, kat37_nonce, kat37_persstr, + kat37_addin0, kat37_addin1, kat37_retbits +}; +static const struct drbg_kat kat37 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat37_t +}; + +static const unsigned char kat38_entropyin[] = { + 0x8e, 0x93, 0x73, 0x5c, 0x34, 0xae, 0x0c, 0x5e, 0xa5, 0x21, 0x3d, 0x83, + 0xa8, 0xda, 0x80, 0x45, +}; +static const unsigned char kat38_nonce[] = { + 0x2a, 0x0b, 0x27, 0x9a, 0x9d, 0x67, 0x78, 0x38, +}; +static const unsigned char kat38_persstr[] = { + 0x14, 0xf4, 0x52, 0x66, 0x52, 0x4a, 0x81, 0x52, 0x85, 0x7a, 0x83, 0x31, + 0x6a, 0x17, 0x75, 0x85, +}; +static const unsigned char kat38_addin0[] = {0}; +static const unsigned char kat38_addin1[] = {0}; +static const unsigned char kat38_retbits[] = { + 0xe0, 0x0c, 0xb8, 0x63, 0x6f, 0x96, 0x02, 0xc3, 0x30, 0x21, 0xa8, 0x2a, + 0x7f, 0x9d, 0xc9, 0xc7, 0x4e, 0xd3, 0x43, 0x5b, 0x34, 0x89, 0x7d, 0x6e, + 0xfd, 0x8c, 0x05, 0xf1, 0x77, 0xe8, 0x55, 0x6a, 0x44, 0x3b, 0xd1, 0x8c, + 0x20, 0xa5, 0x57, 0xb9, 0xbd, 0xc4, 0x17, 0xe8, 0x99, 0x85, 0x06, 0x48, + 0x50, 0x91, 0xd6, 0xbc, 0x91, 0x8e, 0x9c, 0xbf, 0xfb, 0xb8, 0x5c, 0x62, + 0x0f, 0x74, 0xc6, 0xec, +}; +static const struct drbg_kat_no_reseed kat38_t = { + 7, kat38_entropyin, kat38_nonce, kat38_persstr, + kat38_addin0, kat38_addin1, kat38_retbits +}; +static const struct drbg_kat kat38 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat38_t +}; + +static const unsigned char kat39_entropyin[] = { + 0xec, 0x6b, 0x87, 0xe9, 0xe0, 0x3f, 0x44, 0xf9, 0x19, 0xe4, 0x0e, 0x1d, + 0xac, 0x02, 0xf8, 0x73, +}; +static const unsigned char kat39_nonce[] = { + 0x5e, 0x9a, 0xc5, 0x09, 0x0a, 0x5e, 0x28, 0x97, +}; +static const unsigned char kat39_persstr[] = { + 0x0d, 0x9b, 0xa4, 0x62, 0xbf, 0x16, 0x6f, 0x3b, 0x36, 0x6a, 0x2a, 0xdf, + 0x55, 0xd2, 0x76, 0x45, +}; +static const unsigned char kat39_addin0[] = {0}; +static const unsigned char kat39_addin1[] = {0}; +static const unsigned char kat39_retbits[] = { + 0xec, 0x37, 0xac, 0xbd, 0xdf, 0xb0, 0x41, 0xe4, 0x24, 0x9c, 0x1c, 0xb9, + 0x83, 0x3a, 0x31, 0xfc, 0x6f, 0xbd, 0xaa, 0x66, 0x58, 0xe4, 0xb7, 0x48, + 0xc0, 0xeb, 0xf6, 0xab, 0x54, 0xa3, 0xb9, 0xc0, 0xf6, 0x2d, 0x7c, 0x89, + 0xdb, 0xb2, 0x1d, 0x1d, 0xe1, 0x33, 0x15, 0xcb, 0xae, 0x2f, 0xf4, 0xf5, + 0x46, 0x24, 0x91, 0x32, 0x1f, 0xbe, 0x04, 0xb4, 0x14, 0xfb, 0xa2, 0x80, + 0x7e, 0xd9, 0x14, 0xee, +}; +static const struct drbg_kat_no_reseed kat39_t = { + 8, kat39_entropyin, kat39_nonce, kat39_persstr, + kat39_addin0, kat39_addin1, kat39_retbits +}; +static const struct drbg_kat kat39 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat39_t +}; + +static const unsigned char kat40_entropyin[] = { + 0x9d, 0x28, 0x2f, 0x5a, 0x0c, 0x15, 0xa6, 0x53, 0x04, 0x73, 0x10, 0xb5, + 0x62, 0x7d, 0x8f, 0xa2, +}; +static const unsigned char kat40_nonce[] = { + 0x55, 0x22, 0xc4, 0x2f, 0x4b, 0xb0, 0x76, 0xdc, +}; +static const unsigned char kat40_persstr[] = { + 0x84, 0x6b, 0x2e, 0x17, 0xb0, 0x62, 0xc4, 0xc7, 0xc5, 0x61, 0x94, 0x3b, + 0x5d, 0x97, 0x56, 0x5d, +}; +static const unsigned char kat40_addin0[] = {0}; +static const unsigned char kat40_addin1[] = {0}; +static const unsigned char kat40_retbits[] = { + 0x45, 0xf6, 0x0e, 0x1b, 0xa9, 0x81, 0xaf, 0x7f, 0x52, 0xef, 0x49, 0x39, + 0xc0, 0xbb, 0x0b, 0xdb, 0x6f, 0xe4, 0x6f, 0x37, 0x2c, 0xc6, 0x48, 0x06, + 0x4b, 0xbd, 0x3a, 0x0a, 0x2b, 0x85, 0xc0, 0x23, 0x91, 0xb2, 0x97, 0x92, + 0xcc, 0x88, 0x05, 0xbb, 0x5d, 0x45, 0x3e, 0xe2, 0x90, 0xcd, 0x1b, 0x9c, + 0x9f, 0x8f, 0x20, 0xb0, 0x91, 0x16, 0xaf, 0x1f, 0xd5, 0xec, 0xea, 0xe8, + 0x0d, 0x03, 0x58, 0xd8, +}; +static const struct drbg_kat_no_reseed kat40_t = { + 9, kat40_entropyin, kat40_nonce, kat40_persstr, + kat40_addin0, kat40_addin1, kat40_retbits +}; +static const struct drbg_kat kat40 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat40_t +}; + +static const unsigned char kat41_entropyin[] = { + 0x83, 0x82, 0x7c, 0x08, 0x52, 0x4b, 0x54, 0xe8, 0x0f, 0x60, 0xe1, 0x86, + 0xcf, 0xce, 0x36, 0xdb, +}; +static const unsigned char kat41_nonce[] = { + 0x17, 0x7e, 0x5c, 0x00, 0xf7, 0x85, 0xa6, 0xf9, +}; +static const unsigned char kat41_persstr[] = { + 0x71, 0x75, 0xa2, 0xc2, 0x2e, 0xab, 0x4d, 0x0b, 0x1a, 0x65, 0xfd, 0xad, + 0xed, 0x35, 0x6a, 0xeb, +}; +static const unsigned char kat41_addin0[] = {0}; +static const unsigned char kat41_addin1[] = {0}; +static const unsigned char kat41_retbits[] = { + 0x84, 0x24, 0xe7, 0x6c, 0x73, 0x6c, 0x03, 0x09, 0x42, 0x3c, 0xf4, 0x8d, + 0xc1, 0x05, 0xfe, 0xef, 0x22, 0x8d, 0xd4, 0x7b, 0xfd, 0x8d, 0x33, 0x80, + 0x19, 0x50, 0xd2, 0x10, 0x2d, 0x5d, 0xba, 0xfb, 0x51, 0xe1, 0xa8, 0x5b, + 0x4a, 0x97, 0x1e, 0x4f, 0x0b, 0x9d, 0x52, 0x65, 0x69, 0x73, 0xdb, 0x45, + 0x5b, 0x28, 0x6f, 0x58, 0x8c, 0xa6, 0x1d, 0x15, 0x99, 0xc4, 0xec, 0x60, + 0xdd, 0x80, 0xbe, 0x98, +}; +static const struct drbg_kat_no_reseed kat41_t = { + 10, kat41_entropyin, kat41_nonce, kat41_persstr, + kat41_addin0, kat41_addin1, kat41_retbits +}; +static const struct drbg_kat kat41 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat41_t +}; + +static const unsigned char kat42_entropyin[] = { + 0x9f, 0x32, 0x13, 0xa2, 0xd6, 0xfe, 0x5f, 0x3d, 0xfa, 0xf0, 0xe4, 0xed, + 0x29, 0x2e, 0x0f, 0x2a, +}; +static const unsigned char kat42_nonce[] = { + 0xf9, 0xc0, 0x55, 0x3b, 0x18, 0xb2, 0x1c, 0xc3, +}; +static const unsigned char kat42_persstr[] = { + 0x21, 0x73, 0xd3, 0x9b, 0x37, 0x55, 0x04, 0x19, 0x11, 0x98, 0x9f, 0x89, + 0xf1, 0xe9, 0x5d, 0x3e, +}; +static const unsigned char kat42_addin0[] = {0}; +static const unsigned char kat42_addin1[] = {0}; +static const unsigned char kat42_retbits[] = { + 0x10, 0x45, 0xf7, 0xb5, 0x36, 0xda, 0xb4, 0xde, 0x01, 0x54, 0x48, 0xac, + 0x47, 0x66, 0x18, 0x8a, 0x36, 0x7b, 0xb6, 0x93, 0x97, 0x91, 0x3d, 0xfd, + 0x3d, 0x5b, 0xbf, 0x83, 0xf1, 0xbb, 0xac, 0x73, 0x23, 0x2d, 0x47, 0x64, + 0x4e, 0x5a, 0x9c, 0x16, 0x99, 0x60, 0x58, 0x1e, 0x4a, 0xd5, 0xed, 0x26, + 0x95, 0x36, 0x0b, 0x94, 0xf4, 0x20, 0x9c, 0x77, 0xd7, 0x69, 0x40, 0x16, + 0xb4, 0xb3, 0x97, 0xc2, +}; +static const struct drbg_kat_no_reseed kat42_t = { + 11, kat42_entropyin, kat42_nonce, kat42_persstr, + kat42_addin0, kat42_addin1, kat42_retbits +}; +static const struct drbg_kat kat42 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat42_t +}; + +static const unsigned char kat43_entropyin[] = { + 0xfb, 0xc8, 0x19, 0x90, 0x74, 0xa7, 0x6f, 0x23, 0x68, 0x86, 0x36, 0xae, + 0x31, 0x14, 0x28, 0x1e, +}; +static const unsigned char kat43_nonce[] = { + 0xeb, 0xc2, 0x2e, 0x95, 0xdd, 0xae, 0xb6, 0xfc, +}; +static const unsigned char kat43_persstr[] = { + 0x71, 0xfb, 0xd5, 0x9f, 0x88, 0xfc, 0x99, 0xa9, 0xb6, 0x07, 0x00, 0x27, + 0xe7, 0x35, 0x41, 0xc2, +}; +static const unsigned char kat43_addin0[] = {0}; +static const unsigned char kat43_addin1[] = {0}; +static const unsigned char kat43_retbits[] = { + 0x87, 0x25, 0x66, 0xa7, 0x00, 0x47, 0x98, 0xe0, 0x06, 0x97, 0xbd, 0xb3, + 0x3a, 0xf1, 0xee, 0x7a, 0x07, 0x6e, 0x9f, 0xd2, 0x89, 0xaf, 0x83, 0xaf, + 0xcb, 0x10, 0xa0, 0x25, 0x2b, 0xb5, 0xc1, 0x06, 0xc8, 0xdd, 0x20, 0xd7, + 0x7c, 0x85, 0x9f, 0x14, 0x01, 0x11, 0x8c, 0x24, 0xf5, 0xa8, 0x96, 0x8f, + 0x11, 0xfa, 0x9f, 0x77, 0x78, 0xc2, 0x80, 0x31, 0x89, 0xc8, 0xda, 0x87, + 0xe6, 0x49, 0x45, 0xc8, +}; +static const struct drbg_kat_no_reseed kat43_t = { + 12, kat43_entropyin, kat43_nonce, kat43_persstr, + kat43_addin0, kat43_addin1, kat43_retbits +}; +static const struct drbg_kat kat43 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat43_t +}; + +static const unsigned char kat44_entropyin[] = { + 0x43, 0xf4, 0xd0, 0x89, 0x06, 0x0c, 0x90, 0x7f, 0x38, 0x76, 0x05, 0x1f, + 0xd5, 0xe3, 0x6f, 0x74, +}; +static const unsigned char kat44_nonce[] = { + 0x45, 0x71, 0xe6, 0x61, 0x5b, 0xa3, 0xbb, 0xce, +}; +static const unsigned char kat44_persstr[] = { + 0xfc, 0x90, 0x57, 0x74, 0x9b, 0xa4, 0x37, 0xd8, 0xfb, 0xe9, 0xf8, 0x1d, + 0x29, 0xdf, 0x5e, 0xf1, +}; +static const unsigned char kat44_addin0[] = {0}; +static const unsigned char kat44_addin1[] = {0}; +static const unsigned char kat44_retbits[] = { + 0x90, 0x78, 0xf1, 0xbc, 0x92, 0x91, 0x0e, 0xbc, 0xf8, 0xe3, 0x17, 0x57, + 0xb6, 0x24, 0xbd, 0x23, 0xdb, 0xcd, 0x74, 0xf9, 0xca, 0x70, 0xff, 0x1c, + 0x6f, 0x2b, 0x21, 0xd8, 0x59, 0xa4, 0xe8, 0xa4, 0xe9, 0x96, 0x3e, 0xf1, + 0x32, 0xa0, 0x25, 0xb3, 0xae, 0x28, 0x5b, 0x43, 0xa6, 0x96, 0x98, 0x90, + 0x0d, 0x4f, 0x8a, 0x30, 0xbb, 0x5e, 0x99, 0x29, 0x0e, 0x45, 0x04, 0x16, + 0x19, 0x97, 0xa8, 0x37, +}; +static const struct drbg_kat_no_reseed kat44_t = { + 13, kat44_entropyin, kat44_nonce, kat44_persstr, + kat44_addin0, kat44_addin1, kat44_retbits +}; +static const struct drbg_kat kat44 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat44_t +}; + +static const unsigned char kat45_entropyin[] = { + 0x0e, 0xe3, 0x8e, 0xa2, 0x9d, 0x71, 0x95, 0x00, 0x3e, 0x2b, 0x94, 0x2a, + 0xbf, 0x13, 0x48, 0xfc, +}; +static const unsigned char kat45_nonce[] = { + 0x80, 0xa7, 0x5c, 0x77, 0xce, 0xff, 0x54, 0xe4, +}; +static const unsigned char kat45_persstr[] = { + 0x83, 0x8e, 0xae, 0xbc, 0x98, 0x2c, 0xaa, 0x15, 0x62, 0xc3, 0x06, 0x4c, + 0xce, 0x42, 0xe5, 0x1e, +}; +static const unsigned char kat45_addin0[] = {0}; +static const unsigned char kat45_addin1[] = {0}; +static const unsigned char kat45_retbits[] = { + 0x66, 0x29, 0x1b, 0x86, 0x85, 0xe9, 0x7c, 0x76, 0xe2, 0x21, 0x6d, 0x70, + 0x8b, 0x40, 0x70, 0x22, 0x68, 0x4b, 0x28, 0x29, 0x1f, 0x3d, 0xc7, 0x1b, + 0x5d, 0x60, 0xde, 0x14, 0x3f, 0x5f, 0xdf, 0x0b, 0xb0, 0x7a, 0xe9, 0xd7, + 0x52, 0x44, 0x56, 0xc4, 0xdf, 0xd0, 0x89, 0xea, 0x88, 0xde, 0x86, 0xdd, + 0xfa, 0x1d, 0x48, 0xca, 0x54, 0x2f, 0x00, 0xfa, 0x58, 0x6d, 0xa7, 0xa6, + 0x02, 0x7d, 0x83, 0x7b, +}; +static const struct drbg_kat_no_reseed kat45_t = { + 14, kat45_entropyin, kat45_nonce, kat45_persstr, + kat45_addin0, kat45_addin1, kat45_retbits +}; +static const struct drbg_kat kat45 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat45_t +}; + +static const unsigned char kat46_entropyin[] = { + 0xca, 0xe4, 0x8d, 0xd8, 0x0d, 0x29, 0x81, 0x03, 0xef, 0x1e, 0xc0, 0xbf, + 0x1b, 0xb9, 0x62, 0x70, +}; +static const unsigned char kat46_nonce[] = { + 0xd8, 0x27, 0xf9, 0x16, 0x13, 0xe0, 0xb4, 0x7f, +}; +static const unsigned char kat46_persstr[] = { + 0xcc, 0x92, 0x8f, 0x3d, 0x2d, 0xf3, 0x1a, 0x29, 0xf4, 0xe4, 0x44, 0xf3, + 0xdf, 0x08, 0xbe, 0x21, +}; +static const unsigned char kat46_addin0[] = { + 0x7e, 0xaa, 0x1b, 0xbe, 0xc7, 0x93, 0x93, 0xa7, 0xf4, 0xa8, 0x22, 0x7b, + 0x69, 0x1e, 0xcb, 0x68, +}; +static const unsigned char kat46_addin1[] = { + 0x68, 0x69, 0xc6, 0xc7, 0xb9, 0xe6, 0x65, 0x3b, 0x39, 0x77, 0xf0, 0x78, + 0x9e, 0x94, 0x47, 0x8a, +}; +static const unsigned char kat46_retbits[] = { + 0x92, 0x01, 0x32, 0xcd, 0x28, 0x46, 0x95, 0xb8, 0x68, 0xb5, 0xbc, 0x4b, + 0x70, 0x3a, 0xfe, 0xa4, 0xd9, 0x96, 0x62, 0x4a, 0x8f, 0x57, 0xe9, 0xfb, + 0xf5, 0xe7, 0x93, 0xb5, 0x09, 0xcb, 0x15, 0xb4, 0xbe, 0xaf, 0x70, 0x2d, + 0xac, 0x28, 0x71, 0x2d, 0x24, 0x9a, 0xe7, 0x50, 0x90, 0xa9, 0x1f, 0xd3, + 0x57, 0x75, 0x29, 0x4b, 0xf2, 0x4d, 0xde, 0xbf, 0xd2, 0x4e, 0x45, 0xd1, + 0x3f, 0x4a, 0x17, 0x48, +}; +static const struct drbg_kat_no_reseed kat46_t = { + 0, kat46_entropyin, kat46_nonce, kat46_persstr, + kat46_addin0, kat46_addin1, kat46_retbits +}; +static const struct drbg_kat kat46 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat46_t +}; + +static const unsigned char kat47_entropyin[] = { + 0xc0, 0x70, 0x1f, 0x92, 0x50, 0x75, 0x8f, 0xcd, 0xf2, 0xbe, 0x73, 0x98, + 0x80, 0xdb, 0x66, 0xeb, +}; +static const unsigned char kat47_nonce[] = { + 0x14, 0x68, 0xb4, 0xa5, 0x87, 0x9c, 0x2d, 0xa6, +}; +static const unsigned char kat47_persstr[] = { + 0x80, 0x08, 0xae, 0xe8, 0xe9, 0x69, 0x40, 0xc5, 0x08, 0x73, 0xc7, 0x9f, + 0x8e, 0xcf, 0xe0, 0x02, +}; +static const unsigned char kat47_addin0[] = { + 0xf9, 0x01, 0xf8, 0x16, 0x7a, 0x1d, 0xff, 0xde, 0x8e, 0x3c, 0x83, 0xe2, + 0x44, 0x85, 0xe7, 0xfe, +}; +static const unsigned char kat47_addin1[] = { + 0x17, 0x1c, 0x09, 0x38, 0xc2, 0x38, 0x9f, 0x97, 0x87, 0x60, 0x55, 0xb4, + 0x82, 0x16, 0x62, 0x7f, +}; +static const unsigned char kat47_retbits[] = { + 0x97, 0xc0, 0xc0, 0xe5, 0xa0, 0xcc, 0xf2, 0x4f, 0x33, 0x63, 0x48, 0x8a, + 0xdb, 0x13, 0x0a, 0x35, 0x89, 0xbf, 0x80, 0x65, 0x62, 0xee, 0x13, 0x95, + 0x7c, 0x33, 0xd3, 0x7d, 0xf4, 0x07, 0x77, 0x7a, 0x2b, 0x65, 0x0b, 0x5f, + 0x45, 0x5c, 0x13, 0xf1, 0x90, 0x77, 0x7f, 0xc5, 0x04, 0x3f, 0xcc, 0x1a, + 0x38, 0xf8, 0xcd, 0x1b, 0xbb, 0xd5, 0x57, 0xd1, 0x4a, 0x4c, 0x2e, 0x8a, + 0x2b, 0x49, 0x1e, 0x5c, +}; +static const struct drbg_kat_no_reseed kat47_t = { + 1, kat47_entropyin, kat47_nonce, kat47_persstr, + kat47_addin0, kat47_addin1, kat47_retbits +}; +static const struct drbg_kat kat47 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat47_t +}; + +static const unsigned char kat48_entropyin[] = { + 0x6b, 0x98, 0x53, 0x2d, 0x67, 0x8f, 0xd2, 0x79, 0xcf, 0x73, 0x7c, 0x58, + 0x15, 0x0c, 0xe5, 0x89, +}; +static const unsigned char kat48_nonce[] = { + 0xca, 0x55, 0x45, 0x07, 0x3d, 0x54, 0x9d, 0x06, +}; +static const unsigned char kat48_persstr[] = { + 0x80, 0x90, 0x8a, 0xc1, 0x34, 0xe0, 0xcd, 0x23, 0xef, 0x7e, 0x31, 0x85, + 0x48, 0xf9, 0x21, 0x91, +}; +static const unsigned char kat48_addin0[] = { + 0x53, 0x79, 0x0d, 0xa9, 0x09, 0xbf, 0xde, 0xed, 0xaa, 0xfd, 0x99, 0x61, + 0x9f, 0x3f, 0x46, 0x1b, +}; +static const unsigned char kat48_addin1[] = { + 0xc7, 0xa5, 0x87, 0x77, 0xd1, 0xfb, 0xd1, 0x55, 0x3e, 0x95, 0x46, 0xc8, + 0x3e, 0x40, 0x9f, 0xc2, +}; +static const unsigned char kat48_retbits[] = { + 0xd9, 0x84, 0xa2, 0x40, 0x58, 0x87, 0x39, 0x02, 0x27, 0x94, 0x09, 0x59, + 0xe4, 0x9f, 0x94, 0x4e, 0x49, 0x04, 0xc4, 0xf0, 0x46, 0x7f, 0xf2, 0x4d, + 0x87, 0x64, 0xdb, 0x91, 0x53, 0x0a, 0x1e, 0x59, 0x65, 0x68, 0x84, 0x72, + 0xfa, 0xc1, 0x31, 0xbe, 0xa0, 0x55, 0xc7, 0x15, 0x12, 0x27, 0xe2, 0xfc, + 0xb0, 0xda, 0xd9, 0x65, 0x5e, 0xc3, 0xac, 0x22, 0xcd, 0x7d, 0xff, 0x72, + 0xf6, 0xc7, 0x4a, 0xa0, +}; +static const struct drbg_kat_no_reseed kat48_t = { + 2, kat48_entropyin, kat48_nonce, kat48_persstr, + kat48_addin0, kat48_addin1, kat48_retbits +}; +static const struct drbg_kat kat48 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat48_t +}; + +static const unsigned char kat49_entropyin[] = { + 0x97, 0x51, 0x6e, 0x48, 0xd9, 0x10, 0x37, 0x2a, 0x3f, 0x1f, 0xb4, 0xaa, + 0x7a, 0xe4, 0x93, 0x0f, +}; +static const unsigned char kat49_nonce[] = { + 0xbb, 0xa3, 0x0b, 0x3d, 0xeb, 0x19, 0x33, 0x89, +}; +static const unsigned char kat49_persstr[] = { + 0x8c, 0x0e, 0x3e, 0x71, 0xc8, 0x20, 0x1a, 0x77, 0x10, 0x55, 0x19, 0xdf, + 0xfa, 0x89, 0xc1, 0xaa, +}; +static const unsigned char kat49_addin0[] = { + 0x0a, 0x18, 0x78, 0x7e, 0x46, 0x50, 0xfa, 0x02, 0x49, 0xf7, 0x79, 0x62, + 0xac, 0x15, 0x8c, 0x63, +}; +static const unsigned char kat49_addin1[] = { + 0x2f, 0xb1, 0x92, 0x31, 0x4c, 0x3e, 0x07, 0xf9, 0x63, 0xfb, 0xa3, 0x4d, + 0x8d, 0xfc, 0x8c, 0x9c, +}; +static const unsigned char kat49_retbits[] = { + 0xd7, 0xb7, 0x3e, 0x44, 0x9a, 0xed, 0x8f, 0x0a, 0x06, 0x93, 0x84, 0x83, + 0xe8, 0x78, 0x11, 0x04, 0x9b, 0x4a, 0xcf, 0xe5, 0x1c, 0xa5, 0x55, 0xf1, + 0xee, 0x97, 0x86, 0xe3, 0x3f, 0xce, 0x90, 0x69, 0x7d, 0xb6, 0x8d, 0x2d, + 0xc6, 0x36, 0x1c, 0x94, 0x2c, 0xf6, 0x7d, 0x89, 0x26, 0x19, 0x49, 0x7e, + 0x96, 0x19, 0x43, 0x32, 0xae, 0x32, 0xa6, 0x35, 0xcf, 0x35, 0x5b, 0xbc, + 0x3c, 0x66, 0x79, 0x55, +}; +static const struct drbg_kat_no_reseed kat49_t = { + 3, kat49_entropyin, kat49_nonce, kat49_persstr, + kat49_addin0, kat49_addin1, kat49_retbits +}; +static const struct drbg_kat kat49 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat49_t +}; + +static const unsigned char kat50_entropyin[] = { + 0x62, 0xce, 0xf3, 0x5a, 0x51, 0x8e, 0xf6, 0x52, 0x0b, 0x6e, 0xdb, 0x1a, + 0xa9, 0xa2, 0x14, 0x96, +}; +static const unsigned char kat50_nonce[] = { + 0x2b, 0x98, 0xe2, 0x69, 0xf5, 0x1f, 0xb3, 0xba, +}; +static const unsigned char kat50_persstr[] = { + 0x89, 0xa6, 0xc9, 0x11, 0x27, 0x13, 0xd0, 0xd1, 0x96, 0xc8, 0xe0, 0x26, + 0x60, 0xa2, 0x51, 0x31, +}; +static const unsigned char kat50_addin0[] = { + 0x35, 0xed, 0xb8, 0x77, 0x01, 0xcb, 0x50, 0x01, 0x43, 0x4d, 0xb1, 0x85, + 0x7b, 0xf9, 0x8e, 0xfb, +}; +static const unsigned char kat50_addin1[] = { + 0xa9, 0xfa, 0x53, 0xb5, 0xd3, 0x03, 0x2e, 0x4b, 0xe6, 0x0d, 0xcd, 0xb1, + 0xe9, 0x4b, 0x4f, 0x50, +}; +static const unsigned char kat50_retbits[] = { + 0xde, 0x8b, 0x77, 0x0b, 0x3e, 0xd4, 0x33, 0x15, 0xab, 0x7e, 0x83, 0x31, + 0xe2, 0xdf, 0x12, 0xcb, 0x9a, 0xbe, 0xb3, 0xf6, 0xb1, 0x4c, 0x45, 0x7a, + 0x30, 0x4b, 0xcd, 0x1d, 0xf7, 0x30, 0xdb, 0x52, 0xd4, 0xb4, 0x02, 0xf7, + 0x8b, 0x80, 0x54, 0x59, 0x65, 0xfc, 0x5a, 0x83, 0xdd, 0xf9, 0x99, 0x63, + 0xaa, 0xb5, 0xe1, 0xb3, 0x79, 0x24, 0x57, 0xdf, 0x4b, 0xf9, 0x27, 0xb6, + 0x6a, 0x4d, 0x67, 0x45, +}; +static const struct drbg_kat_no_reseed kat50_t = { + 4, kat50_entropyin, kat50_nonce, kat50_persstr, + kat50_addin0, kat50_addin1, kat50_retbits +}; +static const struct drbg_kat kat50 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat50_t +}; + +static const unsigned char kat51_entropyin[] = { + 0xc0, 0x2a, 0xf7, 0x05, 0xf6, 0x99, 0xc3, 0xa7, 0xf5, 0xe2, 0xbb, 0x9b, + 0x14, 0xc7, 0xce, 0xa7, +}; +static const unsigned char kat51_nonce[] = { + 0xeb, 0x24, 0x6b, 0x26, 0xa3, 0xa0, 0xa1, 0x0b, +}; +static const unsigned char kat51_persstr[] = { + 0x07, 0xdf, 0x3d, 0x3d, 0x48, 0x6b, 0xbe, 0x68, 0x19, 0x04, 0x40, 0x94, + 0xc9, 0x15, 0x89, 0x99, +}; +static const unsigned char kat51_addin0[] = { + 0xf4, 0x9d, 0x27, 0x9f, 0x04, 0x81, 0x5d, 0x98, 0x30, 0x92, 0xb6, 0xb5, + 0xfe, 0x4f, 0x10, 0xf7, +}; +static const unsigned char kat51_addin1[] = { + 0xd7, 0x66, 0x07, 0x00, 0x64, 0xdf, 0xe2, 0x03, 0xb2, 0xa3, 0x9d, 0x1b, + 0x24, 0x75, 0x84, 0x10, +}; +static const unsigned char kat51_retbits[] = { + 0xdd, 0xbb, 0x48, 0x8c, 0x6b, 0x6f, 0x0f, 0x9c, 0xb7, 0x05, 0xa3, 0xc5, + 0xab, 0x13, 0xc3, 0x17, 0x6f, 0x86, 0x7b, 0x12, 0x0c, 0x29, 0xdb, 0x37, + 0xf7, 0x9c, 0x00, 0x23, 0x8a, 0x77, 0xa0, 0x41, 0x45, 0x04, 0xd3, 0x28, + 0x93, 0xa0, 0x8c, 0x7e, 0x99, 0xc2, 0xb1, 0xa8, 0x8d, 0x50, 0x92, 0x2e, + 0x52, 0xb0, 0xdf, 0x56, 0x0b, 0x75, 0x3a, 0xdd, 0x48, 0x60, 0x4c, 0xaa, + 0xbb, 0xb9, 0x75, 0x2f, +}; +static const struct drbg_kat_no_reseed kat51_t = { + 5, kat51_entropyin, kat51_nonce, kat51_persstr, + kat51_addin0, kat51_addin1, kat51_retbits +}; +static const struct drbg_kat kat51 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat51_t +}; + +static const unsigned char kat52_entropyin[] = { + 0x56, 0x6f, 0xc3, 0x38, 0x98, 0x5a, 0x8f, 0xc8, 0x67, 0xda, 0xbe, 0x24, + 0xf7, 0xf9, 0x09, 0x7d, +}; +static const unsigned char kat52_nonce[] = { + 0xdb, 0xf7, 0x1d, 0x79, 0x17, 0xe0, 0xb1, 0x51, +}; +static const unsigned char kat52_persstr[] = { + 0x66, 0x56, 0x94, 0x18, 0x17, 0xa6, 0x15, 0xe2, 0x9f, 0x62, 0xbd, 0x4f, + 0x1d, 0x93, 0xcb, 0x11, +}; +static const unsigned char kat52_addin0[] = { + 0xa2, 0x74, 0xbe, 0x52, 0x97, 0x46, 0xbd, 0x0b, 0x6a, 0x58, 0x73, 0xdc, + 0x3c, 0x1d, 0xae, 0xbc, +}; +static const unsigned char kat52_addin1[] = { + 0x4e, 0x23, 0xfa, 0x29, 0xd2, 0x6b, 0x1f, 0xe9, 0x2b, 0xb4, 0x2b, 0x3e, + 0x9f, 0x2b, 0x4c, 0x08, +}; +static const unsigned char kat52_retbits[] = { + 0xb5, 0xda, 0x60, 0xb8, 0x70, 0x22, 0x6a, 0x48, 0xb2, 0xb9, 0xb5, 0xd9, + 0xa9, 0x46, 0x49, 0x54, 0xa8, 0xdb, 0x0d, 0x3e, 0x5f, 0xb3, 0x06, 0x3c, + 0x80, 0xe6, 0x75, 0x19, 0x7d, 0xc5, 0x84, 0x07, 0xb4, 0xc0, 0x40, 0x9c, + 0xd0, 0x69, 0x75, 0xed, 0xa8, 0xaf, 0xe6, 0x66, 0x7a, 0xa0, 0xd7, 0x9e, + 0xcf, 0x55, 0x5e, 0x23, 0x8f, 0x83, 0x42, 0x4f, 0x13, 0x08, 0x19, 0x20, + 0x0c, 0x24, 0x4a, 0x77, +}; +static const struct drbg_kat_no_reseed kat52_t = { + 6, kat52_entropyin, kat52_nonce, kat52_persstr, + kat52_addin0, kat52_addin1, kat52_retbits +}; +static const struct drbg_kat kat52 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat52_t +}; + +static const unsigned char kat53_entropyin[] = { + 0x67, 0x43, 0xbc, 0x12, 0x2a, 0xaa, 0x13, 0x4f, 0x82, 0xac, 0x8c, 0x78, + 0xcc, 0x0b, 0x64, 0xe7, +}; +static const unsigned char kat53_nonce[] = { + 0x2d, 0xc3, 0x2e, 0x4f, 0x3b, 0xba, 0x5a, 0x20, +}; +static const unsigned char kat53_persstr[] = { + 0xb8, 0x07, 0x7f, 0x23, 0xa9, 0x08, 0xc4, 0x25, 0x92, 0xc1, 0x3b, 0x63, + 0x89, 0x09, 0x98, 0xd0, +}; +static const unsigned char kat53_addin0[] = { + 0xd6, 0x83, 0x74, 0xf5, 0x8c, 0xe2, 0x5b, 0xd8, 0xe9, 0x5f, 0xe0, 0x6d, + 0xe8, 0xa9, 0x50, 0xa1, +}; +static const unsigned char kat53_addin1[] = { + 0x07, 0xb7, 0xab, 0x9c, 0x32, 0xa9, 0x78, 0x30, 0xa0, 0x0e, 0xd9, 0x89, + 0x5e, 0x3b, 0xbe, 0x19, +}; +static const unsigned char kat53_retbits[] = { + 0xfe, 0x82, 0x7f, 0x53, 0x07, 0x6d, 0xf3, 0x08, 0x47, 0xd0, 0xfb, 0x0f, + 0x55, 0xa2, 0xcd, 0x63, 0x81, 0xca, 0x0e, 0x79, 0xe6, 0x81, 0x62, 0x1f, + 0x49, 0xf3, 0x1e, 0x48, 0x11, 0xe9, 0xa6, 0x4c, 0x57, 0xc0, 0x99, 0x4f, + 0x18, 0x0c, 0x31, 0x1a, 0x40, 0x44, 0x40, 0xf2, 0x77, 0xfa, 0x62, 0xe0, + 0xf9, 0x9c, 0x6f, 0x5c, 0x7b, 0x88, 0xbe, 0xe2, 0x07, 0xfc, 0xa9, 0x92, + 0x6b, 0xfc, 0x9e, 0x46, +}; +static const struct drbg_kat_no_reseed kat53_t = { + 7, kat53_entropyin, kat53_nonce, kat53_persstr, + kat53_addin0, kat53_addin1, kat53_retbits +}; +static const struct drbg_kat kat53 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat53_t +}; + +static const unsigned char kat54_entropyin[] = { + 0xf2, 0xad, 0xdf, 0x01, 0x67, 0xa1, 0x6d, 0xa3, 0x8d, 0x2f, 0xd7, 0x92, + 0xa7, 0x18, 0x9c, 0x06, +}; +static const unsigned char kat54_nonce[] = { + 0x2b, 0x50, 0xd8, 0xcc, 0x7f, 0x71, 0x40, 0x1c, +}; +static const unsigned char kat54_persstr[] = { + 0xb9, 0x17, 0xa5, 0x4c, 0x13, 0xd5, 0x8c, 0xb6, 0xad, 0x47, 0xc8, 0xfa, + 0xf6, 0xf9, 0xa7, 0xf5, +}; +static const unsigned char kat54_addin0[] = { + 0xcf, 0x2e, 0x78, 0x5a, 0x06, 0xbc, 0x5e, 0xb7, 0x1e, 0x3b, 0x52, 0x4f, + 0x11, 0x72, 0xc7, 0x55, +}; +static const unsigned char kat54_addin1[] = { + 0xc9, 0xa7, 0x53, 0xa9, 0xce, 0xdd, 0xd7, 0x5d, 0x1a, 0x62, 0x6d, 0xa7, + 0x27, 0x95, 0xa3, 0xc6, +}; +static const unsigned char kat54_retbits[] = { + 0xe2, 0xaa, 0xf1, 0x1c, 0x20, 0xde, 0x2b, 0xaf, 0x89, 0x23, 0x04, 0x1d, + 0x83, 0x8f, 0x4a, 0xcb, 0x38, 0xe2, 0x22, 0xd3, 0x06, 0xb9, 0x7c, 0x97, + 0xbf, 0xe5, 0x46, 0x61, 0x7b, 0x3d, 0x8d, 0x92, 0xe4, 0x0c, 0xaa, 0x2e, + 0xdc, 0xac, 0x7a, 0x2f, 0xb0, 0x64, 0x3e, 0xd5, 0x7d, 0x47, 0xa9, 0x0a, + 0x11, 0x64, 0x10, 0x44, 0xb6, 0xc6, 0xa7, 0xdf, 0x42, 0x4d, 0xbd, 0xa2, + 0xb4, 0x5f, 0x0d, 0xf9, +}; +static const struct drbg_kat_no_reseed kat54_t = { + 8, kat54_entropyin, kat54_nonce, kat54_persstr, + kat54_addin0, kat54_addin1, kat54_retbits +}; +static const struct drbg_kat kat54 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat54_t +}; + +static const unsigned char kat55_entropyin[] = { + 0xca, 0x23, 0x34, 0x58, 0xf6, 0x6b, 0x26, 0xf2, 0xc1, 0x35, 0x7a, 0xef, + 0xce, 0xb6, 0x79, 0xef, +}; +static const unsigned char kat55_nonce[] = { + 0xfe, 0x13, 0x64, 0x04, 0xad, 0x7a, 0x49, 0xe7, +}; +static const unsigned char kat55_persstr[] = { + 0x26, 0x83, 0xdc, 0x31, 0x3b, 0xc0, 0xbb, 0x93, 0xeb, 0xb4, 0x6b, 0xbb, + 0x55, 0x3f, 0x58, 0x75, +}; +static const unsigned char kat55_addin0[] = { + 0xf7, 0x8a, 0xb1, 0xf4, 0x52, 0x6f, 0x0f, 0xa5, 0xcb, 0x75, 0x43, 0xd1, + 0x46, 0x43, 0xfe, 0xb5, +}; +static const unsigned char kat55_addin1[] = { + 0x40, 0xb9, 0x26, 0x32, 0x4c, 0xc2, 0x94, 0x3a, 0xca, 0x83, 0x7f, 0x69, + 0x0d, 0x0b, 0xcd, 0xa4, +}; +static const unsigned char kat55_retbits[] = { + 0x37, 0x24, 0xd0, 0xe5, 0x80, 0xe9, 0x0d, 0x4e, 0xf3, 0x2e, 0x5f, 0x8a, + 0x5b, 0xb5, 0x62, 0x25, 0xa9, 0x13, 0xf2, 0x10, 0xb7, 0x6d, 0x5a, 0x78, + 0xfd, 0x8e, 0xf2, 0x5d, 0x6e, 0xec, 0x9f, 0xf1, 0x47, 0x11, 0xd6, 0xdb, + 0x80, 0xe1, 0xe8, 0x11, 0x42, 0xa5, 0x60, 0x75, 0x34, 0xa7, 0x25, 0xd2, + 0x78, 0x5c, 0x8e, 0x3e, 0x4a, 0x48, 0xa5, 0x94, 0xb0, 0xd9, 0x1b, 0xc9, + 0x32, 0x82, 0x7b, 0xd7, +}; +static const struct drbg_kat_no_reseed kat55_t = { + 9, kat55_entropyin, kat55_nonce, kat55_persstr, + kat55_addin0, kat55_addin1, kat55_retbits +}; +static const struct drbg_kat kat55 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat55_t +}; + +static const unsigned char kat56_entropyin[] = { + 0x2b, 0x52, 0x1d, 0xc4, 0x03, 0x12, 0x9f, 0xd9, 0xed, 0x0b, 0xe9, 0xf5, + 0xfd, 0xe0, 0x66, 0x17, +}; +static const unsigned char kat56_nonce[] = { + 0xf0, 0xdf, 0xa0, 0x1e, 0x09, 0x9b, 0x95, 0xa1, +}; +static const unsigned char kat56_persstr[] = { + 0xfe, 0x85, 0x8d, 0x59, 0xd7, 0x34, 0xf6, 0x0f, 0x71, 0xa3, 0x87, 0x55, + 0x3c, 0xca, 0x46, 0xff, +}; +static const unsigned char kat56_addin0[] = { + 0x6f, 0xba, 0x8d, 0x06, 0xff, 0x43, 0x30, 0x07, 0xbd, 0x7d, 0x15, 0x56, + 0x9a, 0xf3, 0xd0, 0x69, +}; +static const unsigned char kat56_addin1[] = { + 0x80, 0xb0, 0xc1, 0x1f, 0x18, 0xb5, 0x92, 0x3a, 0x89, 0xf0, 0xfe, 0x23, + 0x77, 0x6d, 0x39, 0x05, +}; +static const unsigned char kat56_retbits[] = { + 0x41, 0x73, 0x88, 0xde, 0xe9, 0x08, 0x4f, 0x58, 0x8d, 0x0a, 0xdb, 0x5e, + 0x5d, 0x1b, 0x54, 0x6b, 0x12, 0x55, 0xcd, 0xf5, 0x9d, 0x69, 0x95, 0x7a, + 0xe6, 0x87, 0xc7, 0x82, 0x2b, 0x93, 0x5c, 0xe0, 0x29, 0x30, 0x6c, 0x02, + 0x50, 0xd4, 0x69, 0x83, 0x9c, 0x7d, 0xf9, 0xd3, 0xd0, 0x8e, 0xc8, 0xc5, + 0x0a, 0x66, 0x7a, 0xf1, 0x0d, 0x8d, 0x5b, 0x00, 0x73, 0x02, 0xa6, 0xe8, + 0x7b, 0x4e, 0x7f, 0x2c, +}; +static const struct drbg_kat_no_reseed kat56_t = { + 10, kat56_entropyin, kat56_nonce, kat56_persstr, + kat56_addin0, kat56_addin1, kat56_retbits +}; +static const struct drbg_kat kat56 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat56_t +}; + +static const unsigned char kat57_entropyin[] = { + 0xd0, 0x50, 0x2b, 0x78, 0xf7, 0xaa, 0x6f, 0xa1, 0xd8, 0x88, 0x42, 0x1d, + 0x70, 0x2c, 0xad, 0xd1, +}; +static const unsigned char kat57_nonce[] = { + 0x4b, 0x37, 0xb8, 0x96, 0x59, 0x69, 0xea, 0x8d, +}; +static const unsigned char kat57_persstr[] = { + 0x56, 0xbd, 0x43, 0x1f, 0x04, 0x88, 0xfe, 0x6d, 0x7b, 0xa3, 0x83, 0x6e, + 0x5c, 0x8c, 0x7a, 0xa9, +}; +static const unsigned char kat57_addin0[] = { + 0x26, 0x92, 0x5d, 0xbc, 0xbe, 0xd7, 0x33, 0xbe, 0x2a, 0x5e, 0x76, 0x49, + 0xc8, 0x76, 0xa0, 0xf8, +}; +static const unsigned char kat57_addin1[] = { + 0x9c, 0x70, 0x35, 0x2d, 0x4f, 0x9c, 0x88, 0x0e, 0x76, 0xd4, 0x68, 0x08, + 0x38, 0xdd, 0x0d, 0xea, +}; +static const unsigned char kat57_retbits[] = { + 0x65, 0x00, 0x24, 0x2c, 0x35, 0x88, 0xb4, 0x52, 0x30, 0x7b, 0x2a, 0x06, + 0x34, 0x90, 0x0e, 0x75, 0x6a, 0x3d, 0x26, 0x19, 0xfc, 0x2a, 0xdf, 0x10, + 0x77, 0x69, 0x22, 0xb0, 0x06, 0x61, 0x7e, 0xe8, 0x81, 0x82, 0x83, 0x66, + 0xac, 0x52, 0x7f, 0xad, 0xa0, 0x01, 0x86, 0xbc, 0x8b, 0xfd, 0x6b, 0xee, + 0x66, 0xd6, 0x38, 0x03, 0x5a, 0xaf, 0xff, 0xbc, 0x83, 0x32, 0xa5, 0x4c, + 0xa1, 0x7d, 0xf1, 0x6f, +}; +static const struct drbg_kat_no_reseed kat57_t = { + 11, kat57_entropyin, kat57_nonce, kat57_persstr, + kat57_addin0, kat57_addin1, kat57_retbits +}; +static const struct drbg_kat kat57 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat57_t +}; + +static const unsigned char kat58_entropyin[] = { + 0xa3, 0xb9, 0x5f, 0x32, 0x01, 0xfa, 0x01, 0x01, 0x07, 0x57, 0x30, 0x74, + 0xb1, 0x19, 0x9b, 0xc0, +}; +static const unsigned char kat58_nonce[] = { + 0x60, 0x30, 0xe5, 0xb6, 0x13, 0x47, 0xb0, 0xe2, +}; +static const unsigned char kat58_persstr[] = { + 0x9e, 0x77, 0x85, 0x46, 0xd4, 0x5f, 0x17, 0x93, 0xa1, 0x1d, 0x80, 0xa0, + 0x2e, 0x4c, 0xa3, 0xc3, +}; +static const unsigned char kat58_addin0[] = { + 0xe5, 0x07, 0x33, 0x61, 0x98, 0x25, 0x31, 0x37, 0xa5, 0x55, 0xe8, 0xc1, + 0x18, 0xa1, 0x2d, 0x2f, +}; +static const unsigned char kat58_addin1[] = { + 0xe5, 0xce, 0xea, 0xcb, 0xb5, 0x22, 0xf5, 0xde, 0x81, 0x78, 0x9c, 0x32, + 0xcb, 0xcd, 0xef, 0x30, +}; +static const unsigned char kat58_retbits[] = { + 0x4a, 0xd1, 0x8e, 0xa0, 0x83, 0x7f, 0x06, 0x3e, 0x9f, 0xbf, 0x6c, 0x72, + 0xd1, 0xaf, 0x6f, 0x77, 0x96, 0x41, 0xf4, 0xe1, 0x1c, 0x40, 0x0d, 0x95, + 0xcb, 0x2b, 0xa4, 0x22, 0x99, 0xa9, 0x66, 0x48, 0xe0, 0x59, 0xe1, 0xa6, + 0x3f, 0x7c, 0x03, 0x79, 0x25, 0x44, 0x89, 0xc7, 0xcb, 0xff, 0xfb, 0x22, + 0x11, 0x84, 0x57, 0x18, 0xc5, 0x26, 0x00, 0xc9, 0xe8, 0x58, 0x49, 0xd6, + 0xe0, 0x95, 0x1f, 0x7b, +}; +static const struct drbg_kat_no_reseed kat58_t = { + 12, kat58_entropyin, kat58_nonce, kat58_persstr, + kat58_addin0, kat58_addin1, kat58_retbits +}; +static const struct drbg_kat kat58 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat58_t +}; + +static const unsigned char kat59_entropyin[] = { + 0x88, 0x18, 0xbe, 0x7e, 0x8e, 0x81, 0x5b, 0xca, 0x0c, 0xb5, 0xa0, 0x14, + 0x4d, 0x44, 0xb6, 0x72, +}; +static const unsigned char kat59_nonce[] = { + 0x12, 0x2b, 0x14, 0x8c, 0xa1, 0xaa, 0xba, 0x60, +}; +static const unsigned char kat59_persstr[] = { + 0x90, 0x6d, 0xc3, 0x0b, 0x39, 0x54, 0x27, 0x38, 0x56, 0x73, 0x26, 0x13, + 0x66, 0xf5, 0xe9, 0xa8, +}; +static const unsigned char kat59_addin0[] = { + 0x56, 0xee, 0x67, 0xff, 0x14, 0x66, 0xce, 0xed, 0xd7, 0x28, 0x1d, 0x73, + 0xf3, 0x9c, 0x6c, 0x85, +}; +static const unsigned char kat59_addin1[] = { + 0x82, 0xe4, 0xa6, 0xed, 0xb0, 0x78, 0x00, 0x79, 0xfa, 0xee, 0x25, 0x8e, + 0xd1, 0x13, 0x7e, 0xcf, +}; +static const unsigned char kat59_retbits[] = { + 0x88, 0x55, 0xad, 0x03, 0xe3, 0x87, 0x27, 0xd0, 0x49, 0xe8, 0x55, 0x8e, + 0xcc, 0x66, 0x3b, 0x8c, 0x89, 0xcb, 0x5b, 0xd1, 0x38, 0xac, 0x34, 0x9c, + 0x6e, 0x5f, 0x78, 0x41, 0x70, 0xc5, 0x07, 0x69, 0xc8, 0xc9, 0x7b, 0x09, + 0x4d, 0xfa, 0x07, 0x52, 0xd0, 0x65, 0x53, 0x1d, 0xa4, 0x00, 0x85, 0x81, + 0x7c, 0xcb, 0x08, 0xf2, 0xb9, 0x4c, 0xbb, 0xba, 0xe7, 0x59, 0x8c, 0x96, + 0x3e, 0x3a, 0xd6, 0xd1, +}; +static const struct drbg_kat_no_reseed kat59_t = { + 13, kat59_entropyin, kat59_nonce, kat59_persstr, + kat59_addin0, kat59_addin1, kat59_retbits +}; +static const struct drbg_kat kat59 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat59_t +}; + +static const unsigned char kat60_entropyin[] = { + 0x00, 0x90, 0xdc, 0xb9, 0x1f, 0x02, 0x70, 0xf6, 0x58, 0x20, 0x7d, 0x49, + 0xa7, 0x47, 0x38, 0xe2, +}; +static const unsigned char kat60_nonce[] = { + 0x9d, 0x18, 0xae, 0xa2, 0x68, 0x4e, 0xe2, 0xb7, +}; +static const unsigned char kat60_persstr[] = { + 0x64, 0xa8, 0x18, 0x57, 0xce, 0x29, 0xf0, 0xd2, 0xa8, 0x51, 0x03, 0x00, + 0xb0, 0xa3, 0xfa, 0xc0, +}; +static const unsigned char kat60_addin0[] = { + 0xcd, 0x7f, 0x89, 0xf8, 0xd5, 0x46, 0x8e, 0xae, 0x8b, 0xca, 0x31, 0x4f, + 0xd9, 0xf2, 0x5b, 0x23, +}; +static const unsigned char kat60_addin1[] = { + 0x94, 0x9b, 0x94, 0x41, 0x7f, 0xb4, 0x2b, 0xbc, 0x7c, 0xdb, 0x3f, 0x53, + 0xa0, 0x55, 0x80, 0x19, +}; +static const unsigned char kat60_retbits[] = { + 0x63, 0xd3, 0xe9, 0x19, 0x88, 0x1f, 0x87, 0xd6, 0x9c, 0xba, 0xdc, 0xb6, + 0x78, 0x9e, 0x0b, 0x8f, 0x2e, 0x49, 0xf4, 0xc9, 0xd0, 0xe3, 0xba, 0x1e, + 0x4a, 0x59, 0x16, 0x2a, 0xf7, 0x18, 0xbc, 0x40, 0xdd, 0x67, 0x3e, 0xae, + 0x8f, 0x48, 0xfd, 0x27, 0x82, 0xe0, 0x6c, 0xde, 0xc5, 0x63, 0x2a, 0x4b, + 0x2e, 0x60, 0x65, 0x5c, 0xba, 0x75, 0xaf, 0xaf, 0x4c, 0x12, 0xa6, 0x74, + 0xee, 0xe4, 0xd3, 0xfc, +}; +static const struct drbg_kat_no_reseed kat60_t = { + 14, kat60_entropyin, kat60_nonce, kat60_persstr, + kat60_addin0, kat60_addin1, kat60_retbits +}; +static const struct drbg_kat kat60 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat60_t +}; + +static const unsigned char kat61_entropyin[] = { + 0x2d, 0x2a, 0xb5, 0x64, 0x20, 0x29, 0x18, 0xc4, 0xef, 0x5b, 0x10, 0x2d, + 0xda, 0x38, 0x5a, 0x18, +}; +static const unsigned char kat61_nonce[] = { + 0x25, 0x91, 0x95, 0x26, 0x9e, 0xc1, 0x1a, 0xf6, +}; +static const unsigned char kat61_persstr[] = {0}; +static const unsigned char kat61_addin0[] = {0}; +static const unsigned char kat61_addin1[] = {0}; +static const unsigned char kat61_retbits[] = { + 0x2c, 0x5c, 0xd7, 0x9e, 0xd8, 0x76, 0x22, 0xa9, 0x1b, 0x86, 0x54, 0xc8, + 0x90, 0x3d, 0x85, 0x22, 0x42, 0xcd, 0x49, 0xcb, 0x5d, 0xf2, 0xd4, 0xb4, + 0x15, 0x05, 0x84, 0x30, 0x1c, 0x59, 0xf0, 0x1f, 0xd9, 0x5a, 0x70, 0x2a, + 0xc1, 0x57, 0xc8, 0x4c, 0xc1, 0x5f, 0x42, 0xc8, 0x21, 0x13, 0x35, 0x67, + 0x2d, 0x8c, 0xe1, 0x29, 0x1e, 0xf9, 0xb1, 0xde, 0xf7, 0x81, 0x49, 0xa0, + 0x4f, 0xa2, 0x69, 0x7c, +}; +static const struct drbg_kat_no_reseed kat61_t = { + 0, kat61_entropyin, kat61_nonce, kat61_persstr, + kat61_addin0, kat61_addin1, kat61_retbits +}; +static const struct drbg_kat kat61 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat61_t +}; + +static const unsigned char kat62_entropyin[] = { + 0xa0, 0x16, 0x46, 0x3d, 0xbb, 0x49, 0x99, 0x90, 0xcb, 0xcd, 0xa4, 0x50, + 0x46, 0xd8, 0xf3, 0x37, +}; +static const unsigned char kat62_nonce[] = { + 0x24, 0x9d, 0x02, 0xde, 0x2d, 0xcf, 0x3e, 0x57, +}; +static const unsigned char kat62_persstr[] = {0}; +static const unsigned char kat62_addin0[] = {0}; +static const unsigned char kat62_addin1[] = {0}; +static const unsigned char kat62_retbits[] = { + 0x35, 0xb8, 0x1f, 0xb9, 0x42, 0x41, 0xf4, 0xc9, 0x31, 0x9a, 0x7f, 0x16, + 0xb4, 0x42, 0x49, 0x52, 0x52, 0xdb, 0x4c, 0x98, 0x48, 0x60, 0xd0, 0x35, + 0xf6, 0xc4, 0x54, 0x03, 0xf9, 0x74, 0xf5, 0x34, 0xfa, 0x93, 0xb2, 0x1b, + 0x6b, 0x89, 0x44, 0x1b, 0xe0, 0x7c, 0x5c, 0x29, 0x31, 0x7f, 0x86, 0x8d, + 0xc9, 0xab, 0x5c, 0x18, 0x37, 0x74, 0x37, 0xfa, 0xdb, 0x4d, 0x85, 0x7e, + 0xe0, 0x92, 0xf9, 0x23, +}; +static const struct drbg_kat_no_reseed kat62_t = { + 1, kat62_entropyin, kat62_nonce, kat62_persstr, + kat62_addin0, kat62_addin1, kat62_retbits +}; +static const struct drbg_kat kat62 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat62_t +}; + +static const unsigned char kat63_entropyin[] = { + 0x1e, 0x38, 0x20, 0xc4, 0x6e, 0x50, 0xb7, 0xcb, 0xc5, 0x8b, 0x05, 0xaa, + 0x72, 0x24, 0x27, 0xa8, +}; +static const unsigned char kat63_nonce[] = { + 0xfe, 0x0f, 0x40, 0x01, 0x4e, 0xb3, 0x27, 0x9f, +}; +static const unsigned char kat63_persstr[] = {0}; +static const unsigned char kat63_addin0[] = {0}; +static const unsigned char kat63_addin1[] = {0}; +static const unsigned char kat63_retbits[] = { + 0x18, 0x53, 0x0b, 0x9d, 0xe8, 0x89, 0xd8, 0xad, 0x3f, 0x41, 0xd5, 0x39, + 0x79, 0x6c, 0x2a, 0x95, 0xd6, 0x82, 0xfb, 0x02, 0x6d, 0xf7, 0xca, 0x09, + 0x4a, 0xf4, 0xab, 0x23, 0x95, 0x29, 0x2e, 0x6f, 0xcd, 0xb1, 0x75, 0xba, + 0x25, 0x7d, 0x61, 0x27, 0x9d, 0xa4, 0xd0, 0xfc, 0x78, 0xfd, 0xf8, 0xa4, + 0xeb, 0x46, 0xa0, 0xe2, 0xd7, 0x54, 0xf5, 0xf8, 0xf0, 0x9e, 0xcb, 0x15, + 0x7c, 0x8a, 0x58, 0xa1, +}; +static const struct drbg_kat_no_reseed kat63_t = { + 2, kat63_entropyin, kat63_nonce, kat63_persstr, + kat63_addin0, kat63_addin1, kat63_retbits +}; +static const struct drbg_kat kat63 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat63_t +}; + +static const unsigned char kat64_entropyin[] = { + 0x3b, 0x02, 0xc5, 0xa4, 0x74, 0x67, 0x96, 0x48, 0xe2, 0xfe, 0x09, 0x0a, + 0x13, 0xbe, 0x04, 0x1c, +}; +static const unsigned char kat64_nonce[] = { + 0x71, 0xed, 0x5a, 0xa0, 0x78, 0xb8, 0x3a, 0x7b, +}; +static const unsigned char kat64_persstr[] = {0}; +static const unsigned char kat64_addin0[] = {0}; +static const unsigned char kat64_addin1[] = {0}; +static const unsigned char kat64_retbits[] = { + 0xe8, 0xe2, 0xe5, 0xd8, 0xbd, 0x99, 0x29, 0xe4, 0xe1, 0x67, 0x5c, 0x84, + 0x61, 0x45, 0x7c, 0xab, 0x06, 0x33, 0xd8, 0x3f, 0x9b, 0xd2, 0x43, 0xbc, + 0x58, 0x29, 0x37, 0xc2, 0xb9, 0x61, 0xb7, 0x1c, 0x11, 0x85, 0x6f, 0x83, + 0x6c, 0x37, 0x32, 0x9d, 0x3f, 0xa8, 0x63, 0x76, 0xee, 0xc9, 0x71, 0x39, + 0x10, 0x4d, 0xe5, 0x32, 0x60, 0xe1, 0x22, 0xcb, 0x2b, 0x6d, 0x82, 0x4e, + 0x21, 0xe7, 0x5c, 0xe7, +}; +static const struct drbg_kat_no_reseed kat64_t = { + 3, kat64_entropyin, kat64_nonce, kat64_persstr, + kat64_addin0, kat64_addin1, kat64_retbits +}; +static const struct drbg_kat kat64 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat64_t +}; + +static const unsigned char kat65_entropyin[] = { + 0x05, 0x0c, 0x48, 0xab, 0x8a, 0x05, 0xff, 0x69, 0x0b, 0x62, 0xe3, 0x7d, + 0x9b, 0x21, 0xf2, 0xfa, +}; +static const unsigned char kat65_nonce[] = { + 0xf7, 0x96, 0x48, 0x75, 0xbe, 0x28, 0x83, 0x53, +}; +static const unsigned char kat65_persstr[] = {0}; +static const unsigned char kat65_addin0[] = {0}; +static const unsigned char kat65_addin1[] = {0}; +static const unsigned char kat65_retbits[] = { + 0x24, 0xcb, 0x0e, 0xdc, 0xb8, 0x9e, 0xec, 0x61, 0x76, 0x13, 0xa2, 0x7f, + 0xe3, 0xe4, 0x47, 0x5a, 0xff, 0xab, 0x49, 0x8d, 0x57, 0xbc, 0x3c, 0x4e, + 0xf8, 0x44, 0xfe, 0x19, 0xb3, 0x84, 0x13, 0x47, 0x7c, 0x1d, 0xb0, 0x40, + 0xf1, 0x67, 0x57, 0xf1, 0x85, 0x1b, 0x79, 0x9c, 0x1f, 0x26, 0x69, 0xaa, + 0x9f, 0x9c, 0x50, 0x53, 0x2e, 0xaf, 0xbe, 0x1e, 0x29, 0x48, 0xe3, 0x38, + 0xd1, 0xca, 0x4b, 0xd7, +}; +static const struct drbg_kat_no_reseed kat65_t = { + 4, kat65_entropyin, kat65_nonce, kat65_persstr, + kat65_addin0, kat65_addin1, kat65_retbits +}; +static const struct drbg_kat kat65 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat65_t +}; + +static const unsigned char kat66_entropyin[] = { + 0xec, 0xd9, 0x9c, 0x0b, 0x49, 0x1c, 0xf6, 0xa3, 0x23, 0xbc, 0x33, 0x36, + 0x46, 0xe5, 0xc5, 0x6a, +}; +static const unsigned char kat66_nonce[] = { + 0xb1, 0x0a, 0x17, 0x84, 0x99, 0x5c, 0xb3, 0x4c, +}; +static const unsigned char kat66_persstr[] = {0}; +static const unsigned char kat66_addin0[] = {0}; +static const unsigned char kat66_addin1[] = {0}; +static const unsigned char kat66_retbits[] = { + 0x65, 0x35, 0xc4, 0x8d, 0x99, 0x9a, 0x30, 0x6a, 0xcb, 0x83, 0xf7, 0xb7, + 0x20, 0xb3, 0xc3, 0x97, 0x72, 0xa4, 0x96, 0xe7, 0x5a, 0x89, 0x0f, 0x6e, + 0x14, 0xd7, 0x0a, 0x82, 0x41, 0x42, 0xa1, 0x2d, 0x01, 0xde, 0xe5, 0x52, + 0x71, 0xb8, 0x2c, 0x7b, 0x02, 0x7b, 0x94, 0x68, 0xc3, 0x09, 0xfa, 0x2d, + 0x08, 0xe9, 0x1e, 0x5e, 0x37, 0x9e, 0xb9, 0x0c, 0xf8, 0x91, 0x5c, 0xf4, + 0xcc, 0x24, 0x1b, 0x50, +}; +static const struct drbg_kat_no_reseed kat66_t = { + 5, kat66_entropyin, kat66_nonce, kat66_persstr, + kat66_addin0, kat66_addin1, kat66_retbits +}; +static const struct drbg_kat kat66 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat66_t +}; + +static const unsigned char kat67_entropyin[] = { + 0x34, 0xae, 0xe3, 0xef, 0x35, 0xb2, 0xa1, 0xe3, 0x1c, 0x42, 0x97, 0x25, + 0xfe, 0xaa, 0x6b, 0xfd, +}; +static const unsigned char kat67_nonce[] = { + 0xe4, 0x36, 0x9b, 0x6a, 0xda, 0x90, 0x91, 0xed, +}; +static const unsigned char kat67_persstr[] = {0}; +static const unsigned char kat67_addin0[] = {0}; +static const unsigned char kat67_addin1[] = {0}; +static const unsigned char kat67_retbits[] = { + 0xaf, 0x9d, 0xb4, 0xdf, 0x46, 0xac, 0x80, 0xfe, 0xca, 0xd6, 0xc3, 0xd1, + 0xd9, 0x75, 0xd2, 0xd0, 0xa6, 0x65, 0xf3, 0x1b, 0x4e, 0x3b, 0x07, 0xd9, + 0x62, 0x63, 0x22, 0x96, 0xb7, 0x60, 0x39, 0xdd, 0xca, 0xb8, 0xed, 0xde, + 0x17, 0xba, 0xd6, 0x23, 0x01, 0x31, 0x16, 0x2e, 0x59, 0xd0, 0x7d, 0xbb, + 0xd0, 0xf0, 0xb5, 0x2e, 0x5c, 0xa9, 0x3c, 0xf3, 0x7f, 0x12, 0xc0, 0x30, + 0x42, 0xbf, 0x0c, 0x82, +}; +static const struct drbg_kat_no_reseed kat67_t = { + 6, kat67_entropyin, kat67_nonce, kat67_persstr, + kat67_addin0, kat67_addin1, kat67_retbits +}; +static const struct drbg_kat kat67 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat67_t +}; + +static const unsigned char kat68_entropyin[] = { + 0x91, 0x15, 0x64, 0x69, 0x54, 0x0c, 0x78, 0x5d, 0xf5, 0x6a, 0x10, 0xe1, + 0x6b, 0x66, 0x10, 0x7c, +}; +static const unsigned char kat68_nonce[] = { + 0x7e, 0x2b, 0x2a, 0x7f, 0x58, 0xf3, 0xef, 0x20, +}; +static const unsigned char kat68_persstr[] = {0}; +static const unsigned char kat68_addin0[] = {0}; +static const unsigned char kat68_addin1[] = {0}; +static const unsigned char kat68_retbits[] = { + 0x9a, 0x76, 0x3a, 0x4c, 0x05, 0x27, 0x25, 0xe7, 0xae, 0x9d, 0x21, 0x22, + 0xa4, 0x5c, 0xd1, 0x8e, 0xa2, 0x8c, 0x58, 0x17, 0x2b, 0x87, 0xc5, 0x7e, + 0xdb, 0x9d, 0xaa, 0x32, 0xf8, 0xa2, 0x6e, 0xb9, 0x8d, 0x6b, 0x88, 0x12, + 0x09, 0x5a, 0x54, 0xcf, 0x62, 0x82, 0xc5, 0xe0, 0xfc, 0x18, 0xcd, 0x30, + 0x12, 0x44, 0x15, 0xd2, 0x67, 0xc9, 0xfc, 0x2c, 0xda, 0xe9, 0xbe, 0xed, + 0xbb, 0x86, 0x58, 0x4e, +}; +static const struct drbg_kat_no_reseed kat68_t = { + 7, kat68_entropyin, kat68_nonce, kat68_persstr, + kat68_addin0, kat68_addin1, kat68_retbits +}; +static const struct drbg_kat kat68 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat68_t +}; + +static const unsigned char kat69_entropyin[] = { + 0xcd, 0x5d, 0xbc, 0x35, 0xd1, 0xb4, 0x43, 0x5c, 0x4c, 0x94, 0x5b, 0xaf, + 0xe4, 0xb8, 0xfc, 0x7a, +}; +static const unsigned char kat69_nonce[] = { + 0xaf, 0x4a, 0xcd, 0xfc, 0x81, 0x19, 0x32, 0x2c, +}; +static const unsigned char kat69_persstr[] = {0}; +static const unsigned char kat69_addin0[] = {0}; +static const unsigned char kat69_addin1[] = {0}; +static const unsigned char kat69_retbits[] = { + 0xfe, 0x67, 0x82, 0x99, 0xf1, 0xad, 0xe1, 0x96, 0x21, 0x88, 0x02, 0x35, + 0xfa, 0x6f, 0xe2, 0xb5, 0x01, 0x84, 0xf8, 0x12, 0x43, 0x83, 0x3e, 0xbe, + 0x68, 0xc6, 0x16, 0xa9, 0x03, 0x4e, 0x23, 0xe0, 0xcc, 0x87, 0x3e, 0x8a, + 0xc4, 0xd0, 0xe3, 0x65, 0xb5, 0x24, 0xa3, 0x78, 0x32, 0xb5, 0x2d, 0x97, + 0xa8, 0x38, 0x62, 0x93, 0x24, 0x91, 0xd2, 0x64, 0x3a, 0x73, 0xe4, 0x6a, + 0x80, 0xb5, 0x14, 0x9c, +}; +static const struct drbg_kat_no_reseed kat69_t = { + 8, kat69_entropyin, kat69_nonce, kat69_persstr, + kat69_addin0, kat69_addin1, kat69_retbits +}; +static const struct drbg_kat kat69 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat69_t +}; + +static const unsigned char kat70_entropyin[] = { + 0xd5, 0x2d, 0x11, 0x59, 0x78, 0x7b, 0xaa, 0xb2, 0x13, 0xe8, 0x79, 0x21, + 0xfd, 0x95, 0x91, 0x10, +}; +static const unsigned char kat70_nonce[] = { + 0x7a, 0xb3, 0x75, 0x38, 0xee, 0x02, 0x45, 0xc8, +}; +static const unsigned char kat70_persstr[] = {0}; +static const unsigned char kat70_addin0[] = {0}; +static const unsigned char kat70_addin1[] = {0}; +static const unsigned char kat70_retbits[] = { + 0xf4, 0xd9, 0xea, 0xd3, 0x59, 0x46, 0x06, 0xac, 0x51, 0x94, 0x22, 0x15, + 0xaa, 0x0b, 0xd2, 0x9b, 0xaa, 0x7c, 0x28, 0x1e, 0x62, 0xd2, 0xbc, 0xc1, + 0xa7, 0x7f, 0x57, 0xe3, 0x59, 0x66, 0x83, 0x19, 0x9d, 0x70, 0xc0, 0x09, + 0xc0, 0x84, 0xeb, 0x36, 0x54, 0x22, 0x4e, 0xd7, 0xb0, 0x7a, 0x09, 0xb4, + 0x94, 0x48, 0x0a, 0x11, 0x3b, 0x33, 0xe0, 0x36, 0x6c, 0xb2, 0x25, 0x3e, + 0xdb, 0xb0, 0xcb, 0x5e, +}; +static const struct drbg_kat_no_reseed kat70_t = { + 9, kat70_entropyin, kat70_nonce, kat70_persstr, + kat70_addin0, kat70_addin1, kat70_retbits +}; +static const struct drbg_kat kat70 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat70_t +}; + +static const unsigned char kat71_entropyin[] = { + 0x51, 0x10, 0xdb, 0x9d, 0x5f, 0x4f, 0xbd, 0xc0, 0x37, 0x55, 0x0e, 0x83, + 0xc2, 0xbd, 0x96, 0xfe, +}; +static const unsigned char kat71_nonce[] = { + 0xde, 0xe6, 0x41, 0xf9, 0x17, 0x7c, 0x9d, 0xa4, +}; +static const unsigned char kat71_persstr[] = {0}; +static const unsigned char kat71_addin0[] = {0}; +static const unsigned char kat71_addin1[] = {0}; +static const unsigned char kat71_retbits[] = { + 0x05, 0xf8, 0xca, 0xd2, 0xd0, 0x31, 0xce, 0x6b, 0x52, 0x7e, 0xe0, 0x43, + 0xb5, 0x05, 0x6d, 0xb2, 0x0e, 0xe5, 0xca, 0x66, 0x0a, 0x95, 0xc2, 0x9b, + 0x8f, 0x8b, 0x2e, 0x43, 0xef, 0xa5, 0xc7, 0xaa, 0x62, 0x35, 0x12, 0x33, + 0xf4, 0xf1, 0x60, 0x36, 0x8c, 0x3d, 0xad, 0x4a, 0x74, 0xf4, 0x71, 0xbb, + 0x02, 0x15, 0x3f, 0x86, 0xc8, 0x7a, 0x14, 0x0a, 0x36, 0xe0, 0xf1, 0x22, + 0xc6, 0x8b, 0xa7, 0x7d, +}; +static const struct drbg_kat_no_reseed kat71_t = { + 10, kat71_entropyin, kat71_nonce, kat71_persstr, + kat71_addin0, kat71_addin1, kat71_retbits +}; +static const struct drbg_kat kat71 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat71_t +}; + +static const unsigned char kat72_entropyin[] = { + 0x97, 0x90, 0x65, 0xbc, 0x1a, 0x1c, 0x8c, 0x82, 0x90, 0xdd, 0xe2, 0x19, + 0xf0, 0x12, 0x1a, 0xbe, +}; +static const unsigned char kat72_nonce[] = { + 0x59, 0x3a, 0x0e, 0x1f, 0xa9, 0x85, 0x64, 0xa3, +}; +static const unsigned char kat72_persstr[] = {0}; +static const unsigned char kat72_addin0[] = {0}; +static const unsigned char kat72_addin1[] = {0}; +static const unsigned char kat72_retbits[] = { + 0x19, 0x9e, 0x68, 0xe5, 0xb6, 0x37, 0xa2, 0x7b, 0xe7, 0x94, 0x53, 0xd9, + 0x95, 0x3a, 0x0e, 0x52, 0x95, 0x36, 0x37, 0x4e, 0x7f, 0x63, 0xe8, 0x59, + 0x5a, 0xfe, 0x4b, 0x5d, 0x4e, 0x3b, 0xb3, 0x79, 0xc6, 0xd4, 0x62, 0xf6, + 0x43, 0x12, 0x44, 0xaf, 0x43, 0x36, 0xb1, 0x7f, 0x9d, 0xfd, 0xfe, 0xaf, + 0xa6, 0xf4, 0xff, 0xf5, 0x00, 0x4a, 0xa6, 0x5f, 0x7d, 0x6b, 0xb3, 0xb8, + 0x8a, 0xf8, 0xe9, 0xe2, +}; +static const struct drbg_kat_no_reseed kat72_t = { + 11, kat72_entropyin, kat72_nonce, kat72_persstr, + kat72_addin0, kat72_addin1, kat72_retbits +}; +static const struct drbg_kat kat72 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat72_t +}; + +static const unsigned char kat73_entropyin[] = { + 0x89, 0xa7, 0x87, 0xbe, 0x64, 0xba, 0x33, 0x58, 0x95, 0x2f, 0x9d, 0x60, + 0x2b, 0xd8, 0xfa, 0xb4, +}; +static const unsigned char kat73_nonce[] = { + 0xab, 0x96, 0x1b, 0x68, 0xc6, 0x58, 0x92, 0xd3, +}; +static const unsigned char kat73_persstr[] = {0}; +static const unsigned char kat73_addin0[] = {0}; +static const unsigned char kat73_addin1[] = {0}; +static const unsigned char kat73_retbits[] = { + 0x6e, 0x5d, 0xd2, 0xa6, 0x51, 0xf2, 0x61, 0x4f, 0xca, 0x88, 0x1f, 0x5e, + 0xdb, 0x05, 0xd5, 0xee, 0xc6, 0x12, 0x75, 0xdd, 0x05, 0xb3, 0x1f, 0xd8, + 0xa3, 0x06, 0x2f, 0xac, 0x51, 0x59, 0x60, 0xde, 0xf7, 0xb0, 0xd4, 0xdb, + 0x30, 0x4f, 0x64, 0x2b, 0x91, 0xe6, 0x40, 0x1f, 0x2a, 0x00, 0xb0, 0xfb, + 0x69, 0x3e, 0xdd, 0x73, 0x13, 0x10, 0x2f, 0x58, 0xd7, 0x33, 0x02, 0xea, + 0x8b, 0x5a, 0x9d, 0x7a, +}; +static const struct drbg_kat_no_reseed kat73_t = { + 12, kat73_entropyin, kat73_nonce, kat73_persstr, + kat73_addin0, kat73_addin1, kat73_retbits +}; +static const struct drbg_kat kat73 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat73_t +}; + +static const unsigned char kat74_entropyin[] = { + 0x21, 0xf0, 0x2f, 0xc7, 0x5a, 0x28, 0x2d, 0x7f, 0x87, 0xca, 0xb0, 0x57, + 0x67, 0x55, 0x8e, 0x08, +}; +static const unsigned char kat74_nonce[] = { + 0x3b, 0x43, 0xd7, 0x7b, 0x0c, 0x64, 0x71, 0xe9, +}; +static const unsigned char kat74_persstr[] = {0}; +static const unsigned char kat74_addin0[] = {0}; +static const unsigned char kat74_addin1[] = {0}; +static const unsigned char kat74_retbits[] = { + 0x3b, 0x87, 0x09, 0xce, 0xfe, 0x27, 0x06, 0x27, 0xeb, 0x49, 0x47, 0xf3, + 0xc7, 0x69, 0x5e, 0xed, 0x2c, 0x85, 0xcc, 0x15, 0x25, 0xbe, 0x25, 0x3f, + 0x20, 0x0a, 0x44, 0xad, 0x55, 0xf7, 0x58, 0x3e, 0x10, 0x91, 0xb8, 0x80, + 0xee, 0x16, 0xa8, 0x08, 0xe9, 0x0d, 0xc1, 0xdd, 0x5c, 0x0e, 0xd3, 0xb8, + 0xd1, 0x96, 0x40, 0x76, 0x61, 0xde, 0x80, 0x61, 0xf6, 0xa2, 0xd7, 0x8c, + 0xdc, 0x93, 0x42, 0x9d, +}; +static const struct drbg_kat_no_reseed kat74_t = { + 13, kat74_entropyin, kat74_nonce, kat74_persstr, + kat74_addin0, kat74_addin1, kat74_retbits +}; +static const struct drbg_kat kat74 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat74_t +}; + +static const unsigned char kat75_entropyin[] = { + 0xdf, 0x5b, 0x1c, 0xd5, 0x10, 0x45, 0xc8, 0x38, 0x01, 0x53, 0x24, 0x49, + 0xd6, 0xa8, 0x7a, 0xed, +}; +static const unsigned char kat75_nonce[] = { + 0x8d, 0xd1, 0x72, 0xb8, 0x12, 0x86, 0xa2, 0x38, +}; +static const unsigned char kat75_persstr[] = {0}; +static const unsigned char kat75_addin0[] = {0}; +static const unsigned char kat75_addin1[] = {0}; +static const unsigned char kat75_retbits[] = { + 0xf0, 0x17, 0x2b, 0x3a, 0x5b, 0x42, 0xea, 0xd6, 0xe6, 0x54, 0xd3, 0xab, + 0xc7, 0x8d, 0xda, 0x08, 0x78, 0x0e, 0xa4, 0x32, 0x23, 0x62, 0x57, 0x07, + 0xf8, 0xab, 0x02, 0x1b, 0xef, 0x54, 0x12, 0xdb, 0x89, 0xb0, 0x89, 0xcf, + 0x75, 0x11, 0x78, 0xeb, 0x1b, 0x97, 0xbe, 0x13, 0xf5, 0xe8, 0x3b, 0x9f, + 0x10, 0x76, 0xd0, 0xfc, 0x88, 0xe6, 0xbb, 0xd6, 0xee, 0xf1, 0xef, 0x63, + 0x55, 0xe3, 0x67, 0x2b, +}; +static const struct drbg_kat_no_reseed kat75_t = { + 14, kat75_entropyin, kat75_nonce, kat75_persstr, + kat75_addin0, kat75_addin1, kat75_retbits +}; +static const struct drbg_kat kat75 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat75_t +}; + +static const unsigned char kat76_entropyin[] = { + 0xad, 0xf5, 0x71, 0x1f, 0x93, 0xd8, 0xc8, 0x99, 0x73, 0x49, 0x42, 0x9c, + 0xca, 0xed, 0xae, 0x0a, +}; +static const unsigned char kat76_nonce[] = { + 0xb2, 0x57, 0x16, 0x93, 0x1b, 0x6e, 0x3c, 0xc1, +}; +static const unsigned char kat76_persstr[] = {0}; +static const unsigned char kat76_addin0[] = { + 0xab, 0xf8, 0xcd, 0x66, 0xdd, 0x39, 0x75, 0x8b, 0x01, 0xd7, 0xdb, 0xb9, + 0x9a, 0xb1, 0x7d, 0xc3, +}; +static const unsigned char kat76_addin1[] = { + 0x4b, 0xe0, 0xf6, 0xb2, 0x75, 0x53, 0x77, 0xc6, 0xe8, 0x81, 0xfb, 0xb2, + 0x61, 0xb5, 0x6b, 0xeb, +}; +static const unsigned char kat76_retbits[] = { + 0xd4, 0x20, 0x60, 0x4d, 0xee, 0x64, 0x67, 0x49, 0x2d, 0xb5, 0x95, 0x7c, + 0x86, 0x20, 0x7a, 0x70, 0x8f, 0xd2, 0x42, 0xed, 0x67, 0x94, 0x2a, 0xed, + 0x29, 0x94, 0x25, 0x33, 0x5c, 0x83, 0xb4, 0x14, 0x37, 0x41, 0x85, 0x82, + 0xf4, 0x1b, 0xc7, 0xfc, 0x0e, 0xf0, 0xd6, 0x92, 0x7f, 0x34, 0xd8, 0x3a, + 0xcd, 0x67, 0xc7, 0x01, 0x33, 0x64, 0x4f, 0xd7, 0x11, 0xdd, 0x5a, 0x65, + 0x73, 0x1f, 0x9f, 0x02, +}; +static const struct drbg_kat_no_reseed kat76_t = { + 0, kat76_entropyin, kat76_nonce, kat76_persstr, + kat76_addin0, kat76_addin1, kat76_retbits +}; +static const struct drbg_kat kat76 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat76_t +}; + +static const unsigned char kat77_entropyin[] = { + 0xe9, 0x21, 0x00, 0x02, 0x07, 0x34, 0x90, 0x9d, 0x61, 0x09, 0xd2, 0x9c, + 0xf2, 0xc8, 0x98, 0xb0, +}; +static const unsigned char kat77_nonce[] = { + 0x91, 0xfb, 0xd9, 0xa3, 0xa8, 0xed, 0xc3, 0xa4, +}; +static const unsigned char kat77_persstr[] = {0}; +static const unsigned char kat77_addin0[] = { + 0x09, 0x80, 0xc7, 0xdb, 0xcf, 0xd0, 0xe7, 0xf7, 0x7a, 0xf8, 0x35, 0xac, + 0xc7, 0x4a, 0x4b, 0xa3, +}; +static const unsigned char kat77_addin1[] = { + 0x3c, 0xbf, 0x47, 0xd4, 0x66, 0x55, 0xa0, 0xce, 0x75, 0xa5, 0xd5, 0x65, + 0x28, 0x12, 0x7b, 0xc0, +}; +static const unsigned char kat77_retbits[] = { + 0xe7, 0x7c, 0xcc, 0x52, 0x63, 0x62, 0x54, 0x29, 0xce, 0x7e, 0x53, 0x56, + 0x22, 0x48, 0x1d, 0x0b, 0xef, 0x47, 0x61, 0x41, 0xd1, 0xa0, 0xab, 0xfa, + 0x7f, 0x69, 0x67, 0xc1, 0x1f, 0x47, 0xf7, 0xa7, 0x0f, 0xa9, 0xbc, 0x70, + 0x59, 0x8e, 0xce, 0x3f, 0xf2, 0x83, 0xe5, 0xae, 0x04, 0xf1, 0x05, 0x35, + 0xd3, 0x49, 0xc2, 0x31, 0x34, 0x9a, 0xf8, 0x07, 0x1a, 0x22, 0x32, 0x3a, + 0x6e, 0x95, 0x10, 0x39, +}; +static const struct drbg_kat_no_reseed kat77_t = { + 1, kat77_entropyin, kat77_nonce, kat77_persstr, + kat77_addin0, kat77_addin1, kat77_retbits +}; +static const struct drbg_kat kat77 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat77_t +}; + +static const unsigned char kat78_entropyin[] = { + 0x09, 0x2f, 0xfe, 0x74, 0x57, 0xd6, 0x17, 0x3e, 0x67, 0x13, 0xb0, 0xaf, + 0x76, 0x52, 0x1d, 0x82, +}; +static const unsigned char kat78_nonce[] = { + 0xd0, 0xb8, 0xca, 0xe6, 0xab, 0x9e, 0x29, 0xac, +}; +static const unsigned char kat78_persstr[] = {0}; +static const unsigned char kat78_addin0[] = { + 0xe3, 0x1a, 0xf5, 0xe1, 0x81, 0xc4, 0x34, 0x6e, 0x42, 0x3e, 0xbc, 0x1f, + 0xf9, 0xf4, 0x6d, 0xdd, +}; +static const unsigned char kat78_addin1[] = { + 0x02, 0xb9, 0x49, 0xd1, 0x34, 0xfc, 0x89, 0x68, 0xba, 0x51, 0x8f, 0xda, + 0x3b, 0x42, 0xc9, 0x7f, +}; +static const unsigned char kat78_retbits[] = { + 0x0b, 0x64, 0xd9, 0xc6, 0x1d, 0x1f, 0x23, 0x44, 0x0c, 0xe5, 0x7d, 0xbf, + 0x46, 0x5f, 0x8c, 0x62, 0x9a, 0x9f, 0xfe, 0xdd, 0x16, 0x43, 0x99, 0xab, + 0x84, 0xfc, 0x11, 0x84, 0x66, 0xa5, 0x67, 0x9b, 0xb2, 0xd9, 0xc8, 0x05, + 0xea, 0x9d, 0x29, 0x49, 0x72, 0x61, 0xea, 0x58, 0xbd, 0x8f, 0xa4, 0x5c, + 0xf2, 0x4e, 0x21, 0x2c, 0x07, 0x7b, 0xab, 0xa4, 0xd4, 0xe5, 0x73, 0x8b, + 0xb8, 0x83, 0xc8, 0x83, +}; +static const struct drbg_kat_no_reseed kat78_t = { + 2, kat78_entropyin, kat78_nonce, kat78_persstr, + kat78_addin0, kat78_addin1, kat78_retbits +}; +static const struct drbg_kat kat78 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat78_t +}; + +static const unsigned char kat79_entropyin[] = { + 0xa7, 0xa4, 0x78, 0x41, 0xcf, 0x1a, 0x75, 0xee, 0x96, 0x93, 0x5f, 0x52, + 0xa3, 0x32, 0x2d, 0x9d, +}; +static const unsigned char kat79_nonce[] = { + 0x5b, 0x48, 0xc3, 0xc3, 0x47, 0x39, 0x46, 0x56, +}; +static const unsigned char kat79_persstr[] = {0}; +static const unsigned char kat79_addin0[] = { + 0xaa, 0xc2, 0x03, 0x1f, 0x6a, 0xa4, 0x0f, 0x08, 0x75, 0x49, 0x33, 0x70, + 0x92, 0x7c, 0x7c, 0xa8, +}; +static const unsigned char kat79_addin1[] = { + 0x1a, 0x67, 0x44, 0xd0, 0x3f, 0xc2, 0x15, 0x12, 0x94, 0x70, 0x7c, 0x3b, + 0xce, 0xa8, 0x84, 0x02, +}; +static const unsigned char kat79_retbits[] = { + 0xb4, 0x67, 0x48, 0x67, 0xcb, 0x6c, 0xd4, 0xfa, 0xde, 0x78, 0x46, 0xf4, + 0x92, 0xbd, 0x9e, 0xca, 0x69, 0xc1, 0x33, 0xf1, 0x17, 0x1c, 0xc6, 0x0b, + 0x6c, 0xd7, 0x5f, 0x22, 0xe2, 0xba, 0x7e, 0x70, 0x20, 0x7c, 0xa3, 0x8b, + 0xdc, 0xef, 0x17, 0xac, 0x15, 0xe4, 0x88, 0x49, 0xba, 0x13, 0x0d, 0x5f, + 0xb8, 0x10, 0x84, 0x4c, 0x25, 0x39, 0xfe, 0xc5, 0x19, 0xc4, 0xfa, 0x97, + 0x7f, 0xfa, 0x07, 0x38, +}; +static const struct drbg_kat_no_reseed kat79_t = { + 3, kat79_entropyin, kat79_nonce, kat79_persstr, + kat79_addin0, kat79_addin1, kat79_retbits +}; +static const struct drbg_kat kat79 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat79_t +}; + +static const unsigned char kat80_entropyin[] = { + 0x52, 0x89, 0xc3, 0x33, 0xce, 0x1c, 0xee, 0xf5, 0x6a, 0x19, 0xa1, 0x11, + 0xe9, 0x20, 0x1a, 0x38, +}; +static const unsigned char kat80_nonce[] = { + 0xdb, 0xd6, 0xb7, 0x6b, 0x1f, 0xdf, 0x5d, 0x1b, +}; +static const unsigned char kat80_persstr[] = {0}; +static const unsigned char kat80_addin0[] = { + 0xf1, 0xfa, 0x6e, 0xc8, 0xca, 0xf9, 0x4f, 0x65, 0xf1, 0x2e, 0x9c, 0x0d, + 0x8f, 0x57, 0x04, 0xf6, +}; +static const unsigned char kat80_addin1[] = { + 0x6e, 0xb6, 0xa5, 0x57, 0xf1, 0x70, 0x18, 0x83, 0x0b, 0x5d, 0x72, 0xb6, + 0x7d, 0x32, 0x22, 0x63, +}; +static const unsigned char kat80_retbits[] = { + 0x39, 0xec, 0x96, 0xbc, 0x71, 0x6e, 0x1d, 0x21, 0x48, 0x80, 0xd1, 0xf4, + 0xb8, 0xa9, 0x84, 0xbb, 0x83, 0x39, 0x94, 0x53, 0xec, 0x1e, 0xb9, 0xf3, + 0x71, 0x28, 0x2d, 0x65, 0x8e, 0x32, 0xd7, 0x39, 0xb4, 0x89, 0xf4, 0xc5, + 0xee, 0xae, 0x62, 0xa8, 0xfe, 0xe8, 0xe0, 0x84, 0xee, 0xae, 0x6d, 0x01, + 0xcc, 0xa0, 0xad, 0x80, 0xda, 0x1c, 0x53, 0x23, 0x0f, 0x8a, 0x1f, 0xaf, + 0x7c, 0x33, 0x5e, 0xdf, +}; +static const struct drbg_kat_no_reseed kat80_t = { + 4, kat80_entropyin, kat80_nonce, kat80_persstr, + kat80_addin0, kat80_addin1, kat80_retbits +}; +static const struct drbg_kat kat80 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat80_t +}; + +static const unsigned char kat81_entropyin[] = { + 0x4f, 0x05, 0xef, 0x26, 0xc6, 0x85, 0x44, 0x4d, 0x6e, 0x65, 0xd8, 0xf2, + 0x6e, 0x0f, 0x2e, 0xf2, +}; +static const unsigned char kat81_nonce[] = { + 0xd0, 0xab, 0x06, 0x6c, 0x7a, 0x49, 0x03, 0xb7, +}; +static const unsigned char kat81_persstr[] = {0}; +static const unsigned char kat81_addin0[] = { + 0xd2, 0x75, 0x42, 0x60, 0x43, 0xa8, 0x2d, 0xe2, 0x0f, 0x89, 0xf1, 0xcb, + 0x2c, 0xff, 0x5c, 0x9b, +}; +static const unsigned char kat81_addin1[] = { + 0x02, 0xa3, 0x27, 0x63, 0xed, 0x9a, 0xab, 0x16, 0x72, 0x82, 0xd0, 0xa0, + 0x97, 0xf3, 0x10, 0x3e, +}; +static const unsigned char kat81_retbits[] = { + 0xaf, 0xa2, 0xd3, 0x7c, 0xc1, 0xc7, 0x9d, 0x20, 0xa6, 0x10, 0x4d, 0x67, + 0x29, 0xfc, 0x75, 0x44, 0x36, 0x1b, 0x95, 0xd2, 0x36, 0x33, 0x48, 0x7e, + 0x8b, 0xb2, 0x82, 0xb2, 0x77, 0xe2, 0x5f, 0x8a, 0xd5, 0x31, 0x36, 0x10, + 0x9b, 0x21, 0xc3, 0x80, 0xaa, 0x05, 0xe4, 0x1d, 0xd9, 0xef, 0xd8, 0xad, + 0xf4, 0x6b, 0x7d, 0x69, 0x5b, 0xba, 0xf5, 0xb0, 0x30, 0x72, 0x16, 0xa1, + 0x94, 0xfd, 0x91, 0x28, +}; +static const struct drbg_kat_no_reseed kat81_t = { + 5, kat81_entropyin, kat81_nonce, kat81_persstr, + kat81_addin0, kat81_addin1, kat81_retbits +}; +static const struct drbg_kat kat81 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat81_t +}; + +static const unsigned char kat82_entropyin[] = { + 0x0c, 0x2c, 0xcf, 0xd6, 0x5c, 0x23, 0xbc, 0x06, 0x93, 0xc9, 0xd4, 0x66, + 0x7a, 0x94, 0x2b, 0x42, +}; +static const unsigned char kat82_nonce[] = { + 0xc0, 0x8d, 0x55, 0x22, 0x8f, 0xe8, 0x4b, 0xd7, +}; +static const unsigned char kat82_persstr[] = {0}; +static const unsigned char kat82_addin0[] = { + 0xcc, 0x01, 0x7b, 0xb7, 0x96, 0x2d, 0xa6, 0xdb, 0x0f, 0x51, 0x7b, 0xe9, + 0x18, 0x3f, 0xa6, 0xf4, +}; +static const unsigned char kat82_addin1[] = { + 0xc4, 0x24, 0xaa, 0x0c, 0xe8, 0x4a, 0x80, 0x7a, 0x78, 0xb7, 0xb7, 0x32, + 0x11, 0x3c, 0x22, 0xa1, +}; +static const unsigned char kat82_retbits[] = { + 0xcb, 0x55, 0x6f, 0x6d, 0x22, 0x3a, 0x51, 0xa2, 0x00, 0xd7, 0x35, 0xf2, + 0xf4, 0xba, 0x21, 0x7a, 0x67, 0x2e, 0xf6, 0xbc, 0x14, 0x51, 0x97, 0x6d, + 0x1d, 0x05, 0xb4, 0x4a, 0x2c, 0x0d, 0x54, 0x27, 0x8a, 0xf7, 0x47, 0x83, + 0x79, 0x22, 0xcd, 0x0b, 0x28, 0xd7, 0xaa, 0xa2, 0xa8, 0x7e, 0x23, 0x05, + 0x5e, 0x18, 0xd6, 0x7d, 0x76, 0xfa, 0x90, 0x72, 0x82, 0x94, 0xab, 0xa4, + 0xac, 0x36, 0x96, 0x5e, +}; +static const struct drbg_kat_no_reseed kat82_t = { + 6, kat82_entropyin, kat82_nonce, kat82_persstr, + kat82_addin0, kat82_addin1, kat82_retbits +}; +static const struct drbg_kat kat82 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat82_t +}; + +static const unsigned char kat83_entropyin[] = { + 0x3b, 0x74, 0x81, 0x3e, 0xeb, 0xf5, 0xf5, 0xf2, 0xa6, 0xa5, 0xa4, 0xf3, + 0xf9, 0x07, 0xdc, 0xb8, +}; +static const unsigned char kat83_nonce[] = { + 0x35, 0xda, 0xa2, 0xef, 0xda, 0xd8, 0x8f, 0xb8, +}; +static const unsigned char kat83_persstr[] = {0}; +static const unsigned char kat83_addin0[] = { + 0x5e, 0x0a, 0xe3, 0x69, 0xb6, 0xe8, 0x50, 0xed, 0x30, 0xf9, 0xae, 0x64, + 0xfe, 0x10, 0x5a, 0xf3, +}; +static const unsigned char kat83_addin1[] = { + 0x3e, 0x69, 0x7b, 0xb2, 0xbf, 0x25, 0x85, 0x26, 0x45, 0xf2, 0xd1, 0x6f, + 0x67, 0x6f, 0x90, 0x78, +}; +static const unsigned char kat83_retbits[] = { + 0x79, 0x0b, 0x1f, 0x6c, 0xcd, 0xf3, 0x52, 0xde, 0xc0, 0xe5, 0x7f, 0xa0, + 0xc7, 0x72, 0xc6, 0x4d, 0x77, 0x77, 0xe4, 0xbd, 0xb9, 0xff, 0x8a, 0x91, + 0xda, 0x01, 0x89, 0x02, 0x20, 0x3d, 0xb5, 0x82, 0xf9, 0x01, 0xc2, 0x0d, + 0xd2, 0x53, 0x61, 0xdf, 0x22, 0xe7, 0x17, 0x12, 0xa4, 0x97, 0x57, 0x8d, + 0x22, 0xee, 0xa8, 0x52, 0x46, 0xce, 0xfd, 0x42, 0x5b, 0x08, 0xf1, 0x50, + 0x74, 0x34, 0x1f, 0x39, +}; +static const struct drbg_kat_no_reseed kat83_t = { + 7, kat83_entropyin, kat83_nonce, kat83_persstr, + kat83_addin0, kat83_addin1, kat83_retbits +}; +static const struct drbg_kat kat83 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat83_t +}; + +static const unsigned char kat84_entropyin[] = { + 0x46, 0x26, 0x07, 0xb2, 0xb7, 0x7b, 0x90, 0x3f, 0xdb, 0xd4, 0x2b, 0xf1, + 0xd7, 0x7b, 0xc8, 0x1a, +}; +static const unsigned char kat84_nonce[] = { + 0xb5, 0x4d, 0x43, 0x00, 0x6a, 0xde, 0x2a, 0x7c, +}; +static const unsigned char kat84_persstr[] = {0}; +static const unsigned char kat84_addin0[] = { + 0x61, 0x05, 0xc5, 0xdd, 0xed, 0xcc, 0x74, 0x46, 0x65, 0x91, 0x5e, 0xbe, + 0x48, 0xad, 0x3b, 0x54, +}; +static const unsigned char kat84_addin1[] = { + 0xfd, 0xde, 0xe2, 0x35, 0xc3, 0x7e, 0xd4, 0xbc, 0x21, 0xea, 0xe0, 0x8e, + 0x61, 0x53, 0x33, 0x1f, +}; +static const unsigned char kat84_retbits[] = { + 0x16, 0x33, 0x9e, 0x91, 0x0e, 0xaf, 0x9b, 0xad, 0x90, 0x4a, 0x7b, 0x3f, + 0x9b, 0x2e, 0x02, 0x41, 0xd2, 0xb4, 0x66, 0x5d, 0x1f, 0x9c, 0x76, 0x55, + 0xf9, 0x21, 0x7e, 0x34, 0x25, 0x3a, 0xcc, 0x33, 0x0d, 0xfc, 0x98, 0x81, + 0x7d, 0x97, 0x81, 0x86, 0xf8, 0xad, 0x77, 0xb1, 0x0f, 0x38, 0xdd, 0x72, + 0xf4, 0x71, 0xb4, 0x61, 0x5b, 0x28, 0xf3, 0xa3, 0x9c, 0x40, 0x66, 0x23, + 0xea, 0x5d, 0x63, 0x77, +}; +static const struct drbg_kat_no_reseed kat84_t = { + 8, kat84_entropyin, kat84_nonce, kat84_persstr, + kat84_addin0, kat84_addin1, kat84_retbits +}; +static const struct drbg_kat kat84 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat84_t +}; + +static const unsigned char kat85_entropyin[] = { + 0xba, 0x2e, 0xa9, 0x9b, 0x79, 0x2b, 0xde, 0xe8, 0xbd, 0xba, 0xf9, 0xc0, + 0x5a, 0xb7, 0xb6, 0x33, +}; +static const unsigned char kat85_nonce[] = { + 0x44, 0x53, 0x34, 0x46, 0x44, 0xd4, 0x34, 0xa5, +}; +static const unsigned char kat85_persstr[] = {0}; +static const unsigned char kat85_addin0[] = { + 0x81, 0x72, 0x7d, 0x30, 0xd6, 0x4a, 0xe0, 0x7f, 0xf6, 0x15, 0x69, 0xfc, + 0x7a, 0x35, 0x0c, 0xcc, +}; +static const unsigned char kat85_addin1[] = { + 0x65, 0x56, 0xf6, 0x2f, 0x75, 0xd5, 0x26, 0x84, 0x93, 0xcc, 0xa5, 0x12, + 0x01, 0x14, 0x93, 0x4c, +}; +static const unsigned char kat85_retbits[] = { + 0x2a, 0x3b, 0x39, 0x87, 0x02, 0xbc, 0x5f, 0xff, 0xd9, 0x14, 0xf9, 0x16, + 0x72, 0xaa, 0x05, 0xbe, 0xb6, 0x87, 0x82, 0xe0, 0xa6, 0x22, 0xf6, 0x7b, + 0x21, 0x82, 0x6c, 0x23, 0x32, 0x6c, 0x50, 0x78, 0xcc, 0xda, 0x6a, 0xa3, + 0xdb, 0x01, 0x4c, 0xec, 0x56, 0xa0, 0x65, 0x63, 0x6b, 0x80, 0x57, 0xe8, + 0x12, 0xa6, 0xf4, 0xb7, 0xc6, 0xc4, 0xde, 0x6e, 0x9f, 0x06, 0xaa, 0x53, + 0x77, 0xb2, 0x8b, 0xe6, +}; +static const struct drbg_kat_no_reseed kat85_t = { + 9, kat85_entropyin, kat85_nonce, kat85_persstr, + kat85_addin0, kat85_addin1, kat85_retbits +}; +static const struct drbg_kat kat85 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat85_t +}; + +static const unsigned char kat86_entropyin[] = { + 0x61, 0xcf, 0x4e, 0x09, 0xd9, 0xa4, 0x6a, 0xf3, 0x18, 0xc7, 0x06, 0x42, + 0x5c, 0xd3, 0x50, 0xfb, +}; +static const unsigned char kat86_nonce[] = { + 0x28, 0xec, 0x9c, 0x4a, 0xe9, 0x8f, 0x05, 0x74, +}; +static const unsigned char kat86_persstr[] = {0}; +static const unsigned char kat86_addin0[] = { + 0x7f, 0xc3, 0xbf, 0x8a, 0xd3, 0x3e, 0x59, 0x61, 0x74, 0x5b, 0xb2, 0xae, + 0x7c, 0x39, 0x9b, 0xa0, +}; +static const unsigned char kat86_addin1[] = { + 0x31, 0x35, 0x71, 0xd3, 0x0d, 0xc5, 0x90, 0x9a, 0x03, 0x38, 0x8c, 0x69, + 0x3f, 0x4e, 0xf9, 0x4c, +}; +static const unsigned char kat86_retbits[] = { + 0xd2, 0x25, 0xf0, 0xc6, 0x5e, 0x9a, 0xe8, 0xc3, 0x64, 0x93, 0xb0, 0x09, + 0x47, 0x6f, 0x5a, 0x56, 0x36, 0xd4, 0x52, 0x54, 0x4c, 0xe1, 0x6b, 0x99, + 0x1c, 0x73, 0xd6, 0xea, 0xe5, 0xef, 0x5e, 0xff, 0x3b, 0x74, 0xe0, 0x03, + 0x28, 0xf8, 0x7f, 0x20, 0x30, 0xf3, 0xdf, 0x53, 0xb2, 0xfc, 0x26, 0x47, + 0xd6, 0x3a, 0x28, 0xe5, 0xc7, 0xb5, 0x83, 0x44, 0xed, 0x99, 0xc5, 0xd0, + 0xbc, 0x62, 0x93, 0xb4, +}; +static const struct drbg_kat_no_reseed kat86_t = { + 10, kat86_entropyin, kat86_nonce, kat86_persstr, + kat86_addin0, kat86_addin1, kat86_retbits +}; +static const struct drbg_kat kat86 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat86_t +}; + +static const unsigned char kat87_entropyin[] = { + 0xdd, 0x6c, 0x7d, 0xba, 0xc4, 0xfc, 0x4c, 0x8d, 0x9c, 0x69, 0xce, 0x4d, + 0xcf, 0x43, 0xb6, 0x67, +}; +static const unsigned char kat87_nonce[] = { + 0x83, 0x26, 0x16, 0x1c, 0x2a, 0xac, 0x48, 0x06, +}; +static const unsigned char kat87_persstr[] = {0}; +static const unsigned char kat87_addin0[] = { + 0xcf, 0x95, 0x9f, 0x9e, 0x93, 0x89, 0x09, 0xd9, 0x5c, 0x47, 0x25, 0xdc, + 0x39, 0xd7, 0xef, 0xd7, +}; +static const unsigned char kat87_addin1[] = { + 0xe4, 0x37, 0xd2, 0x26, 0xc4, 0x02, 0x68, 0xcb, 0x9f, 0x63, 0x94, 0x5c, + 0xbc, 0xe5, 0x4b, 0x2d, +}; +static const unsigned char kat87_retbits[] = { + 0x90, 0xdd, 0xc5, 0x3c, 0x48, 0x04, 0x1f, 0x0c, 0x45, 0x01, 0xff, 0xee, + 0x61, 0x7b, 0x3a, 0x35, 0x83, 0xcb, 0xf5, 0x1a, 0x4c, 0x45, 0xad, 0x7b, + 0xa5, 0xb3, 0xdd, 0x34, 0x65, 0xff, 0x13, 0x92, 0xbd, 0x2e, 0xb4, 0x65, + 0x1a, 0xc2, 0x2a, 0x34, 0xa0, 0xf5, 0x37, 0x72, 0x01, 0x27, 0x12, 0xf2, + 0x39, 0x31, 0xba, 0x8f, 0x0a, 0x3b, 0x74, 0xfa, 0xe0, 0xa1, 0x6b, 0xd4, + 0xa1, 0x88, 0x35, 0x13, +}; +static const struct drbg_kat_no_reseed kat87_t = { + 11, kat87_entropyin, kat87_nonce, kat87_persstr, + kat87_addin0, kat87_addin1, kat87_retbits +}; +static const struct drbg_kat kat87 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat87_t +}; + +static const unsigned char kat88_entropyin[] = { + 0xdf, 0x4f, 0xef, 0xc1, 0xc3, 0xd4, 0x03, 0xfb, 0x17, 0x9b, 0x9b, 0x95, + 0x77, 0x53, 0x81, 0xe3, +}; +static const unsigned char kat88_nonce[] = { + 0xd6, 0x84, 0x83, 0xae, 0xe4, 0x2c, 0xfc, 0x00, +}; +static const unsigned char kat88_persstr[] = {0}; +static const unsigned char kat88_addin0[] = { + 0xe8, 0x77, 0xeb, 0x37, 0x51, 0xe2, 0xba, 0xfe, 0xa0, 0x33, 0xac, 0x8c, + 0xc5, 0xba, 0x66, 0xf6, +}; +static const unsigned char kat88_addin1[] = { + 0x79, 0x56, 0x87, 0x40, 0x22, 0xb5, 0x0a, 0xa0, 0x32, 0xba, 0xfa, 0x29, + 0xe7, 0x21, 0xf3, 0x56, +}; +static const unsigned char kat88_retbits[] = { + 0x6a, 0xda, 0x06, 0x20, 0xd4, 0x29, 0xcd, 0x38, 0x75, 0x4e, 0x55, 0x9a, + 0x2e, 0xb8, 0x8c, 0x08, 0x26, 0x6c, 0xd9, 0xcb, 0xac, 0x24, 0x48, 0xb2, + 0xb8, 0xa0, 0x5d, 0x92, 0x7d, 0xa1, 0x72, 0x59, 0x19, 0x9d, 0xbc, 0xc5, + 0xeb, 0x0b, 0x7a, 0xde, 0xe6, 0x1c, 0x60, 0x74, 0xae, 0x2e, 0x7a, 0xf6, + 0xb2, 0xc9, 0xb1, 0xfd, 0x52, 0x89, 0xfb, 0xc3, 0xd9, 0xbe, 0x30, 0x85, + 0x84, 0xd0, 0xae, 0x4a, +}; +static const struct drbg_kat_no_reseed kat88_t = { + 12, kat88_entropyin, kat88_nonce, kat88_persstr, + kat88_addin0, kat88_addin1, kat88_retbits +}; +static const struct drbg_kat kat88 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat88_t +}; + +static const unsigned char kat89_entropyin[] = { + 0x62, 0x0e, 0xa3, 0x17, 0x34, 0x4d, 0x86, 0x85, 0x8d, 0x64, 0xf6, 0xbb, + 0x05, 0xd4, 0x47, 0x97, +}; +static const unsigned char kat89_nonce[] = { + 0xf6, 0xdd, 0xc5, 0x84, 0x4f, 0xbd, 0x73, 0x9e, +}; +static const unsigned char kat89_persstr[] = {0}; +static const unsigned char kat89_addin0[] = { + 0x3c, 0xcf, 0xb0, 0x69, 0xef, 0x27, 0xf8, 0x64, 0xe3, 0xb7, 0x31, 0xd9, + 0x4c, 0x3f, 0x2c, 0x6c, +}; +static const unsigned char kat89_addin1[] = { + 0x80, 0x85, 0x7d, 0x3f, 0x59, 0x8b, 0x1b, 0x16, 0x01, 0x4e, 0x6a, 0x35, + 0x49, 0xa2, 0xd2, 0x2c, +}; +static const unsigned char kat89_retbits[] = { + 0xd7, 0xa7, 0x87, 0xbe, 0xeb, 0x7e, 0xfc, 0x9c, 0x58, 0x4f, 0x93, 0x34, + 0x55, 0x33, 0xa5, 0x99, 0xed, 0x61, 0x5e, 0xb2, 0x13, 0x6b, 0x8f, 0xb8, + 0x74, 0xa7, 0xf5, 0xa7, 0x1a, 0xea, 0x98, 0xf8, 0x0c, 0x56, 0x92, 0x30, + 0x98, 0x56, 0x7a, 0xa3, 0xb4, 0xc3, 0x16, 0x96, 0x82, 0x6f, 0x08, 0x16, + 0x76, 0xa3, 0xce, 0xed, 0x1d, 0x91, 0x4c, 0x94, 0x9d, 0x54, 0x23, 0x90, + 0xb6, 0x99, 0xd3, 0xfe, +}; +static const struct drbg_kat_no_reseed kat89_t = { + 13, kat89_entropyin, kat89_nonce, kat89_persstr, + kat89_addin0, kat89_addin1, kat89_retbits +}; +static const struct drbg_kat kat89 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat89_t +}; + +static const unsigned char kat90_entropyin[] = { + 0xd8, 0xba, 0x9d, 0x16, 0xa0, 0x07, 0x0f, 0xbd, 0xf5, 0x10, 0x9d, 0x3c, + 0x1e, 0xd8, 0x59, 0x16, +}; +static const unsigned char kat90_nonce[] = { + 0x29, 0xce, 0x07, 0xdd, 0xa6, 0x1b, 0x50, 0x14, +}; +static const unsigned char kat90_persstr[] = {0}; +static const unsigned char kat90_addin0[] = { + 0x16, 0x0a, 0xd7, 0x76, 0x75, 0xc6, 0x4c, 0x74, 0x87, 0xee, 0xdb, 0x34, + 0x34, 0x37, 0x00, 0xc0, +}; +static const unsigned char kat90_addin1[] = { + 0x16, 0x32, 0x54, 0x60, 0x58, 0xf1, 0x9e, 0xe1, 0xb8, 0x49, 0xe5, 0xd2, + 0x7e, 0x2d, 0x75, 0x5a, +}; +static const unsigned char kat90_retbits[] = { + 0xe0, 0x5c, 0x62, 0xcb, 0xef, 0xaf, 0x03, 0x80, 0x43, 0xd4, 0x9c, 0x97, + 0x6b, 0xa8, 0x55, 0x21, 0xc2, 0x06, 0x71, 0xd9, 0xf8, 0x1c, 0xeb, 0xf5, + 0xa8, 0x75, 0x81, 0x65, 0x9e, 0x3d, 0x18, 0x19, 0x90, 0x8e, 0x84, 0xec, + 0x01, 0x93, 0xa5, 0x30, 0xf3, 0x10, 0xcc, 0x35, 0x44, 0xba, 0x90, 0xad, + 0x92, 0xa6, 0xc9, 0x9d, 0x3a, 0x1a, 0xf5, 0x5b, 0x5a, 0xed, 0x72, 0x87, + 0x1d, 0xb8, 0x90, 0x02, +}; +static const struct drbg_kat_no_reseed kat90_t = { + 14, kat90_entropyin, kat90_nonce, kat90_persstr, + kat90_addin0, kat90_addin1, kat90_retbits +}; +static const struct drbg_kat kat90 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat90_t +}; + +static const unsigned char kat91_entropyin[] = { + 0x0a, 0xf1, 0x3f, 0x64, 0x59, 0x02, 0xaf, 0x49, 0xe9, 0xa7, 0xce, 0xd6, + 0xe3, 0x6a, 0x21, 0x0d, +}; +static const unsigned char kat91_nonce[] = { + 0xc3, 0xbf, 0xf2, 0x91, 0xa1, 0x1a, 0xc4, 0x97, +}; +static const unsigned char kat91_persstr[] = { + 0xe8, 0xf1, 0xd1, 0xb4, 0x73, 0x1c, 0x4d, 0x57, 0xd7, 0xea, 0xd9, 0xc2, + 0xf6, 0x00, 0xfd, 0xc6, +}; +static const unsigned char kat91_addin0[] = {0}; +static const unsigned char kat91_addin1[] = {0}; +static const unsigned char kat91_retbits[] = { + 0xac, 0x6f, 0x94, 0x5a, 0x4b, 0x9f, 0xd3, 0xb4, 0x7c, 0x74, 0x37, 0x9e, + 0xb1, 0xf2, 0xa7, 0xbb, 0xed, 0xf8, 0xee, 0xc6, 0x8e, 0xfd, 0x3c, 0x7a, + 0x6c, 0xf6, 0x8c, 0x54, 0xae, 0x7a, 0x3f, 0x7b, 0xe7, 0x28, 0x0f, 0x45, + 0x9c, 0x2e, 0x0b, 0x72, 0xaf, 0xa4, 0x5c, 0xeb, 0xbe, 0xbb, 0xa1, 0x7c, + 0x86, 0x7e, 0x96, 0x11, 0xc8, 0x96, 0xa5, 0x7d, 0x51, 0x5b, 0xeb, 0x06, + 0xa7, 0xb9, 0x1f, 0x4c, +}; +static const struct drbg_kat_no_reseed kat91_t = { + 0, kat91_entropyin, kat91_nonce, kat91_persstr, + kat91_addin0, kat91_addin1, kat91_retbits +}; +static const struct drbg_kat kat91 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat91_t +}; + +static const unsigned char kat92_entropyin[] = { + 0x0e, 0x11, 0x3f, 0x47, 0xf2, 0xfc, 0x76, 0xe8, 0x3e, 0x2d, 0x13, 0xd5, + 0x72, 0x24, 0x56, 0x08, +}; +static const unsigned char kat92_nonce[] = { + 0x5f, 0xf8, 0x5c, 0xc6, 0xa5, 0x34, 0xf1, 0x5a, +}; +static const unsigned char kat92_persstr[] = { + 0x50, 0x25, 0x06, 0x68, 0xe5, 0x9d, 0xe3, 0x5f, 0xde, 0x91, 0xe0, 0x8f, + 0xe1, 0x84, 0x84, 0xab, +}; +static const unsigned char kat92_addin0[] = {0}; +static const unsigned char kat92_addin1[] = {0}; +static const unsigned char kat92_retbits[] = { + 0xdc, 0xc6, 0x4a, 0x96, 0x6a, 0x52, 0xd6, 0x00, 0x8d, 0xbe, 0x07, 0xa2, + 0x48, 0x4b, 0xca, 0xad, 0x67, 0xb2, 0x54, 0xd6, 0xf2, 0x46, 0xe4, 0x50, + 0x1d, 0x98, 0x64, 0xb6, 0x4a, 0xd8, 0xb7, 0xed, 0xf1, 0x0f, 0xdb, 0xc6, + 0xdd, 0xc4, 0x14, 0xa9, 0xb4, 0x31, 0xb0, 0x58, 0xa7, 0xee, 0x5c, 0xed, + 0x23, 0xf7, 0xa6, 0xac, 0x7e, 0xea, 0x0f, 0xe6, 0x13, 0x1c, 0x9e, 0xb7, + 0x41, 0x2e, 0x68, 0xdf, +}; +static const struct drbg_kat_no_reseed kat92_t = { + 1, kat92_entropyin, kat92_nonce, kat92_persstr, + kat92_addin0, kat92_addin1, kat92_retbits +}; +static const struct drbg_kat kat92 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat92_t +}; + +static const unsigned char kat93_entropyin[] = { + 0x16, 0xd2, 0xa2, 0x33, 0xf0, 0x49, 0x7c, 0x75, 0x1d, 0xdd, 0x85, 0xef, + 0x7c, 0xd8, 0x62, 0xe6, +}; +static const unsigned char kat93_nonce[] = { + 0x7e, 0x7e, 0x1a, 0xab, 0x1b, 0x82, 0x67, 0x5d, +}; +static const unsigned char kat93_persstr[] = { + 0x15, 0xf8, 0x1e, 0x40, 0xa2, 0x49, 0x3b, 0x85, 0x9c, 0xce, 0xd3, 0x3c, + 0xdf, 0x7b, 0x75, 0x90, +}; +static const unsigned char kat93_addin0[] = {0}; +static const unsigned char kat93_addin1[] = {0}; +static const unsigned char kat93_retbits[] = { + 0xc5, 0x20, 0x97, 0xd2, 0xd0, 0x09, 0xdc, 0xe7, 0xcb, 0xd4, 0x6d, 0x74, + 0x0d, 0xe5, 0x4d, 0x70, 0xc0, 0x73, 0x2f, 0x96, 0xfa, 0xc0, 0xbd, 0x16, + 0x9f, 0x38, 0x56, 0xe5, 0x0f, 0x9e, 0x46, 0x01, 0x67, 0x25, 0x38, 0xb2, + 0x3f, 0x37, 0x1f, 0x78, 0x0e, 0x61, 0xe8, 0x2f, 0x2d, 0xb9, 0x9e, 0xf3, + 0x83, 0x40, 0x08, 0xaa, 0xdc, 0x26, 0xc2, 0x78, 0x55, 0xa6, 0x86, 0x96, + 0xee, 0x81, 0x2c, 0x9c, +}; +static const struct drbg_kat_no_reseed kat93_t = { + 2, kat93_entropyin, kat93_nonce, kat93_persstr, + kat93_addin0, kat93_addin1, kat93_retbits +}; +static const struct drbg_kat kat93 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat93_t +}; + +static const unsigned char kat94_entropyin[] = { + 0xea, 0x36, 0x89, 0x1e, 0x0d, 0x64, 0x26, 0x94, 0x5a, 0x6e, 0x1f, 0x33, + 0x8c, 0x86, 0xca, 0x4b, +}; +static const unsigned char kat94_nonce[] = { + 0x89, 0x69, 0x66, 0x60, 0x0e, 0x85, 0xd3, 0xda, +}; +static const unsigned char kat94_persstr[] = { + 0xb8, 0xc7, 0x01, 0xa1, 0x1e, 0x7c, 0x00, 0x8e, 0x37, 0xc2, 0x32, 0x62, + 0x7c, 0x24, 0xb6, 0xd1, +}; +static const unsigned char kat94_addin0[] = {0}; +static const unsigned char kat94_addin1[] = {0}; +static const unsigned char kat94_retbits[] = { + 0x44, 0x63, 0x60, 0xf1, 0x6b, 0x1e, 0x59, 0xa8, 0x25, 0x96, 0xe6, 0x1d, + 0xf2, 0x3a, 0xf1, 0x8f, 0x5a, 0x95, 0xb7, 0xd8, 0xb7, 0xdd, 0x61, 0x72, + 0xf3, 0x57, 0x5d, 0x45, 0x25, 0x13, 0x86, 0xb0, 0x4b, 0x69, 0x78, 0x5b, + 0xa4, 0x4a, 0x75, 0xeb, 0x2a, 0x54, 0x15, 0x71, 0x3a, 0x84, 0x36, 0x5c, + 0xac, 0x81, 0xb3, 0x0d, 0xf0, 0xb4, 0x8a, 0x61, 0x09, 0x77, 0xfe, 0x69, + 0x61, 0xe7, 0xee, 0x8a, +}; +static const struct drbg_kat_no_reseed kat94_t = { + 3, kat94_entropyin, kat94_nonce, kat94_persstr, + kat94_addin0, kat94_addin1, kat94_retbits +}; +static const struct drbg_kat kat94 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat94_t +}; + +static const unsigned char kat95_entropyin[] = { + 0x3f, 0x41, 0x38, 0xd8, 0x4d, 0x7a, 0xbd, 0x13, 0xbb, 0xe1, 0x5e, 0x18, + 0xb2, 0x92, 0xf1, 0x5f, +}; +static const unsigned char kat95_nonce[] = { + 0x34, 0x62, 0xe5, 0x2e, 0x82, 0xf2, 0x86, 0x53, +}; +static const unsigned char kat95_persstr[] = { + 0x24, 0xc5, 0x17, 0x70, 0x84, 0x95, 0x1c, 0xf5, 0x32, 0xf2, 0x43, 0x2a, + 0x18, 0x82, 0x59, 0x6f, +}; +static const unsigned char kat95_addin0[] = {0}; +static const unsigned char kat95_addin1[] = {0}; +static const unsigned char kat95_retbits[] = { + 0xba, 0x2c, 0xa1, 0xe4, 0x43, 0xc7, 0x5d, 0x55, 0xc4, 0x20, 0x65, 0xba, + 0x91, 0xf7, 0x7d, 0xb5, 0xb8, 0xde, 0x6c, 0x34, 0x2b, 0x65, 0xa2, 0xc1, + 0x49, 0x44, 0x59, 0x79, 0xff, 0x26, 0x3e, 0x9d, 0x01, 0x8f, 0x56, 0x44, + 0x30, 0xfe, 0x1e, 0xdb, 0x48, 0xb4, 0x03, 0xce, 0xf2, 0x3f, 0x86, 0x0e, + 0xa2, 0x71, 0x46, 0xd8, 0x51, 0x18, 0x43, 0xe0, 0xa3, 0x9f, 0xf3, 0x37, + 0xba, 0x74, 0xd2, 0x21, +}; +static const struct drbg_kat_no_reseed kat95_t = { + 4, kat95_entropyin, kat95_nonce, kat95_persstr, + kat95_addin0, kat95_addin1, kat95_retbits +}; +static const struct drbg_kat kat95 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat95_t +}; + +static const unsigned char kat96_entropyin[] = { + 0xa6, 0xae, 0xf8, 0x0f, 0xab, 0x61, 0xe2, 0x7e, 0xf6, 0x11, 0xb8, 0x6f, + 0x92, 0x4e, 0x97, 0x6c, +}; +static const unsigned char kat96_nonce[] = { + 0x74, 0x27, 0x8f, 0x50, 0x23, 0xc2, 0x55, 0x2c, +}; +static const unsigned char kat96_persstr[] = { + 0xa3, 0x85, 0x16, 0x79, 0xe1, 0x12, 0x94, 0x82, 0x01, 0x39, 0x6d, 0x98, + 0xd6, 0xbe, 0x5c, 0x13, +}; +static const unsigned char kat96_addin0[] = {0}; +static const unsigned char kat96_addin1[] = {0}; +static const unsigned char kat96_retbits[] = { + 0x68, 0x57, 0x26, 0x82, 0x7f, 0x3d, 0x38, 0x42, 0x7d, 0x07, 0xdf, 0xcf, + 0xb6, 0x4a, 0x7f, 0x95, 0xb6, 0xf0, 0x6e, 0xf0, 0x1c, 0xed, 0x28, 0x1d, + 0xce, 0x7f, 0x41, 0x30, 0x34, 0x12, 0x36, 0x11, 0x24, 0x36, 0x2b, 0xa5, + 0x1c, 0xe8, 0xd2, 0x55, 0x2a, 0xf0, 0x54, 0xa2, 0x0f, 0xda, 0xc9, 0x4e, + 0x51, 0x69, 0x16, 0x5b, 0x71, 0x52, 0x67, 0x63, 0x8c, 0x1e, 0x0b, 0x9b, + 0x34, 0x52, 0xb5, 0xb7, +}; +static const struct drbg_kat_no_reseed kat96_t = { + 5, kat96_entropyin, kat96_nonce, kat96_persstr, + kat96_addin0, kat96_addin1, kat96_retbits +}; +static const struct drbg_kat kat96 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat96_t +}; + +static const unsigned char kat97_entropyin[] = { + 0x01, 0x64, 0xae, 0x53, 0xe5, 0x33, 0xf2, 0xf1, 0x22, 0x2d, 0x4a, 0xa2, + 0x72, 0x76, 0x81, 0x4c, +}; +static const unsigned char kat97_nonce[] = { + 0x26, 0x05, 0xf5, 0x89, 0xcb, 0x1b, 0xea, 0x9c, +}; +static const unsigned char kat97_persstr[] = { + 0x9d, 0xe7, 0x03, 0xa5, 0xe2, 0xbb, 0xf2, 0xe5, 0x3d, 0x0f, 0xe3, 0xb5, + 0x73, 0xf5, 0x2a, 0xcf, +}; +static const unsigned char kat97_addin0[] = {0}; +static const unsigned char kat97_addin1[] = {0}; +static const unsigned char kat97_retbits[] = { + 0xfd, 0x7f, 0x64, 0x62, 0x2e, 0x87, 0xde, 0x3b, 0x66, 0xe1, 0x99, 0x30, + 0xcf, 0x4c, 0xcd, 0xc3, 0xe6, 0x72, 0xf5, 0xa4, 0xde, 0xf0, 0xda, 0xdd, + 0xb3, 0x71, 0x07, 0x43, 0x0e, 0xc7, 0xf6, 0x91, 0xc6, 0x32, 0x15, 0x45, + 0x10, 0x3c, 0x2a, 0x61, 0x4d, 0x7f, 0x0f, 0x33, 0x17, 0x3b, 0xde, 0xc4, + 0x20, 0x58, 0x58, 0x22, 0xcd, 0xa8, 0xc2, 0x72, 0x20, 0x19, 0x22, 0xb6, + 0x02, 0xf5, 0xd8, 0xa7, +}; +static const struct drbg_kat_no_reseed kat97_t = { + 6, kat97_entropyin, kat97_nonce, kat97_persstr, + kat97_addin0, kat97_addin1, kat97_retbits +}; +static const struct drbg_kat kat97 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat97_t +}; + +static const unsigned char kat98_entropyin[] = { + 0x29, 0xdc, 0x8b, 0xad, 0x50, 0x0c, 0xce, 0x29, 0x5b, 0x9e, 0x86, 0xb2, + 0x15, 0x9c, 0x6d, 0xcd, +}; +static const unsigned char kat98_nonce[] = { + 0xb6, 0x9a, 0x5a, 0x77, 0x69, 0x4f, 0xc4, 0xa0, +}; +static const unsigned char kat98_persstr[] = { + 0xc5, 0x3b, 0x13, 0xaf, 0xbf, 0x21, 0xf1, 0x7e, 0xe9, 0xf4, 0xdd, 0x7c, + 0x09, 0x93, 0xe0, 0xf9, +}; +static const unsigned char kat98_addin0[] = {0}; +static const unsigned char kat98_addin1[] = {0}; +static const unsigned char kat98_retbits[] = { + 0x08, 0xc9, 0x7d, 0x63, 0x8b, 0x5d, 0x82, 0x59, 0x93, 0x10, 0x32, 0x5d, + 0x3b, 0x1e, 0x63, 0x27, 0x74, 0x1c, 0xd9, 0x18, 0x87, 0xd6, 0x58, 0xb5, + 0xd8, 0x15, 0xee, 0xed, 0x7a, 0x72, 0xab, 0x86, 0xe2, 0xfa, 0x17, 0xe9, + 0xd0, 0x13, 0xe1, 0x7a, 0x92, 0x14, 0xd6, 0x39, 0x6a, 0xc1, 0x48, 0x1f, + 0x76, 0x88, 0x30, 0xa4, 0xd8, 0xc4, 0xfc, 0x39, 0x20, 0x12, 0xe9, 0x07, + 0x64, 0x34, 0x93, 0x9f, +}; +static const struct drbg_kat_no_reseed kat98_t = { + 7, kat98_entropyin, kat98_nonce, kat98_persstr, + kat98_addin0, kat98_addin1, kat98_retbits +}; +static const struct drbg_kat kat98 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat98_t +}; + +static const unsigned char kat99_entropyin[] = { + 0xb3, 0xae, 0xe2, 0xcf, 0x80, 0xe3, 0xd0, 0x5a, 0xed, 0xa0, 0xe0, 0x1c, + 0xf6, 0x5e, 0xa9, 0x65, +}; +static const unsigned char kat99_nonce[] = { + 0x24, 0xb5, 0x8b, 0x7c, 0x6a, 0x99, 0xeb, 0x2a, +}; +static const unsigned char kat99_persstr[] = { + 0x73, 0x44, 0x04, 0x3c, 0x84, 0x91, 0x5b, 0xcd, 0xd6, 0xd8, 0x1f, 0x3f, + 0xe2, 0x3b, 0xa2, 0x73, +}; +static const unsigned char kat99_addin0[] = {0}; +static const unsigned char kat99_addin1[] = {0}; +static const unsigned char kat99_retbits[] = { + 0xbe, 0x35, 0x3c, 0xf8, 0x32, 0xe8, 0x46, 0x44, 0x4a, 0xf0, 0x01, 0x5e, + 0xd0, 0x5d, 0x54, 0xb7, 0x2c, 0x9a, 0x1a, 0x02, 0x31, 0xf2, 0xa4, 0xc4, + 0x75, 0x61, 0x17, 0x46, 0xef, 0x86, 0x10, 0x29, 0xe1, 0x88, 0x42, 0xc1, + 0xb7, 0x61, 0x48, 0xd2, 0xa3, 0xeb, 0x01, 0x74, 0xa3, 0x0c, 0xad, 0x81, + 0xb5, 0x58, 0xd0, 0xd1, 0xe0, 0x1a, 0x8c, 0x7d, 0xd5, 0x10, 0xf0, 0xb5, + 0x6f, 0x1f, 0xdd, 0xc3, +}; +static const struct drbg_kat_no_reseed kat99_t = { + 8, kat99_entropyin, kat99_nonce, kat99_persstr, + kat99_addin0, kat99_addin1, kat99_retbits +}; +static const struct drbg_kat kat99 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat99_t +}; + +static const unsigned char kat100_entropyin[] = { + 0xa5, 0x25, 0xf6, 0x91, 0x65, 0xc4, 0x4f, 0x3a, 0x8a, 0xf8, 0x08, 0x57, + 0xa5, 0xe8, 0x74, 0xb0, +}; +static const unsigned char kat100_nonce[] = { + 0x0c, 0x80, 0x6a, 0x40, 0xc1, 0xdc, 0xb7, 0xcc, +}; +static const unsigned char kat100_persstr[] = { + 0x43, 0x12, 0xc2, 0x30, 0x9a, 0x1d, 0xfe, 0x2d, 0x9a, 0x66, 0xf5, 0xc1, + 0x8f, 0xc4, 0x0b, 0x87, +}; +static const unsigned char kat100_addin0[] = {0}; +static const unsigned char kat100_addin1[] = {0}; +static const unsigned char kat100_retbits[] = { + 0xd0, 0xb4, 0x6f, 0x7e, 0x18, 0x77, 0xdb, 0x24, 0x4f, 0xf4, 0xe0, 0xae, + 0xb6, 0x4c, 0x4e, 0xfa, 0x3e, 0x8c, 0x2a, 0x86, 0x62, 0x41, 0x5c, 0xf5, + 0xba, 0x67, 0xf2, 0xdc, 0x91, 0xe8, 0x23, 0x10, 0xa6, 0xa9, 0x33, 0xc4, + 0xdf, 0x6a, 0x40, 0x2f, 0x8f, 0xae, 0x27, 0x0b, 0x22, 0x9b, 0xf2, 0x54, + 0xcd, 0x35, 0x94, 0x3a, 0x13, 0x34, 0x09, 0x79, 0x37, 0x66, 0x69, 0x11, + 0x9e, 0x0e, 0x5c, 0xf8, +}; +static const struct drbg_kat_no_reseed kat100_t = { + 9, kat100_entropyin, kat100_nonce, kat100_persstr, + kat100_addin0, kat100_addin1, kat100_retbits +}; +static const struct drbg_kat kat100 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat100_t +}; + +static const unsigned char kat101_entropyin[] = { + 0x06, 0x08, 0xdc, 0x6c, 0x8f, 0x9f, 0x19, 0x56, 0xfb, 0xe7, 0xd5, 0xa7, + 0xc8, 0x2f, 0xd3, 0xb3, +}; +static const unsigned char kat101_nonce[] = { + 0x61, 0x5b, 0x62, 0xa0, 0x0d, 0x6d, 0x8d, 0x85, +}; +static const unsigned char kat101_persstr[] = { + 0x70, 0xdd, 0x43, 0xc1, 0x76, 0x43, 0x18, 0x17, 0x4a, 0x28, 0x57, 0xc4, + 0x20, 0xdd, 0xf4, 0x07, +}; +static const unsigned char kat101_addin0[] = {0}; +static const unsigned char kat101_addin1[] = {0}; +static const unsigned char kat101_retbits[] = { + 0x71, 0xf4, 0xb5, 0xdf, 0x5b, 0xfa, 0x5f, 0xd5, 0x2c, 0xdc, 0x98, 0x51, + 0xa6, 0x33, 0xf7, 0x7e, 0xd9, 0x04, 0x58, 0xb5, 0xa2, 0x90, 0xb0, 0x4d, + 0x2f, 0x35, 0x13, 0x0d, 0x67, 0xa4, 0x2c, 0x16, 0x98, 0xac, 0x5f, 0x9b, + 0x13, 0x9a, 0x9e, 0xcf, 0x35, 0x90, 0x75, 0x5a, 0x20, 0x41, 0x60, 0xa3, + 0xa8, 0xf1, 0x7b, 0x77, 0x72, 0x66, 0x52, 0xc6, 0xdc, 0x6e, 0x9f, 0x00, + 0x96, 0x64, 0x54, 0xfd, +}; +static const struct drbg_kat_no_reseed kat101_t = { + 10, kat101_entropyin, kat101_nonce, kat101_persstr, + kat101_addin0, kat101_addin1, kat101_retbits +}; +static const struct drbg_kat kat101 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat101_t +}; + +static const unsigned char kat102_entropyin[] = { + 0x7b, 0x39, 0x1f, 0x35, 0xdb, 0x0e, 0x53, 0xbf, 0x48, 0xee, 0x55, 0x76, + 0xb0, 0x23, 0xff, 0x90, +}; +static const unsigned char kat102_nonce[] = { + 0x76, 0x21, 0xaa, 0xd5, 0x32, 0x98, 0x2b, 0x23, +}; +static const unsigned char kat102_persstr[] = { + 0xa6, 0xe7, 0x57, 0x78, 0xb7, 0x77, 0xd0, 0x1f, 0x00, 0x62, 0x27, 0xc4, + 0x00, 0xd8, 0xff, 0x86, +}; +static const unsigned char kat102_addin0[] = {0}; +static const unsigned char kat102_addin1[] = {0}; +static const unsigned char kat102_retbits[] = { + 0xd6, 0x17, 0x80, 0xb5, 0xc7, 0x81, 0x41, 0x2b, 0xf3, 0x08, 0x5e, 0xec, + 0xce, 0xe4, 0x9b, 0x99, 0x35, 0x8a, 0x18, 0x32, 0x23, 0x82, 0x8c, 0x1d, + 0x80, 0x13, 0xac, 0xe6, 0x13, 0xd8, 0x9a, 0x45, 0x04, 0xd7, 0x5b, 0xa3, + 0x09, 0xe5, 0x10, 0x58, 0x9a, 0x53, 0xb4, 0x72, 0xbd, 0x5f, 0xa1, 0xee, + 0x2a, 0x22, 0x39, 0x2b, 0x82, 0x65, 0x70, 0x7c, 0x15, 0xe3, 0x29, 0x35, + 0xbc, 0x8e, 0xfb, 0x4e, +}; +static const struct drbg_kat_no_reseed kat102_t = { + 11, kat102_entropyin, kat102_nonce, kat102_persstr, + kat102_addin0, kat102_addin1, kat102_retbits +}; +static const struct drbg_kat kat102 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat102_t +}; + +static const unsigned char kat103_entropyin[] = { + 0x09, 0x9f, 0x1f, 0x59, 0x17, 0x07, 0xd1, 0xf9, 0xab, 0xae, 0x7e, 0x2b, + 0x65, 0xad, 0xab, 0xc3, +}; +static const unsigned char kat103_nonce[] = { + 0xf9, 0x0d, 0x35, 0x7a, 0x90, 0x1f, 0x11, 0x35, +}; +static const unsigned char kat103_persstr[] = { + 0x74, 0xb8, 0x26, 0x0c, 0xed, 0x4b, 0xbb, 0x80, 0x41, 0x77, 0x92, 0xf1, + 0x93, 0xc6, 0xf9, 0xac, +}; +static const unsigned char kat103_addin0[] = {0}; +static const unsigned char kat103_addin1[] = {0}; +static const unsigned char kat103_retbits[] = { + 0x86, 0xf5, 0x06, 0x25, 0x6d, 0x29, 0x45, 0x0f, 0x16, 0x07, 0x31, 0x27, + 0x39, 0xe5, 0xa0, 0x89, 0xb6, 0xb7, 0x86, 0xfd, 0xf5, 0x21, 0x45, 0x76, + 0x9c, 0xb7, 0x0e, 0xf4, 0xee, 0xd3, 0x21, 0x09, 0xcf, 0x62, 0x36, 0x9d, + 0x7a, 0x76, 0x59, 0x55, 0x78, 0x1e, 0xae, 0x63, 0x52, 0x02, 0x75, 0x16, + 0x93, 0x68, 0x25, 0x7c, 0x6d, 0x34, 0x8e, 0xcc, 0x90, 0x0a, 0x38, 0x98, + 0x77, 0x8d, 0x9a, 0x1a, +}; +static const struct drbg_kat_no_reseed kat103_t = { + 12, kat103_entropyin, kat103_nonce, kat103_persstr, + kat103_addin0, kat103_addin1, kat103_retbits +}; +static const struct drbg_kat kat103 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat103_t +}; + +static const unsigned char kat104_entropyin[] = { + 0xc9, 0x05, 0x9d, 0x7c, 0x01, 0x5c, 0x64, 0xf6, 0xe4, 0x1a, 0xa4, 0x92, + 0x09, 0x9f, 0x4e, 0xf0, +}; +static const unsigned char kat104_nonce[] = { + 0x3f, 0x6e, 0x07, 0x69, 0xce, 0xe1, 0x77, 0xc6, +}; +static const unsigned char kat104_persstr[] = { + 0x76, 0xc6, 0xc6, 0x61, 0x32, 0x98, 0xd9, 0x25, 0xa6, 0xc5, 0x07, 0xae, + 0x65, 0x4d, 0x6d, 0x9a, +}; +static const unsigned char kat104_addin0[] = {0}; +static const unsigned char kat104_addin1[] = {0}; +static const unsigned char kat104_retbits[] = { + 0x23, 0x81, 0x11, 0xc0, 0x06, 0xe5, 0x14, 0xc0, 0x5f, 0x2a, 0xe9, 0x35, + 0xa3, 0x2d, 0xba, 0xa0, 0xb1, 0x28, 0xda, 0xa0, 0x73, 0x6e, 0x83, 0xd9, + 0x34, 0x03, 0x77, 0x6c, 0x91, 0xe4, 0x77, 0xd0, 0xd0, 0x2c, 0x4a, 0x24, + 0x87, 0x6a, 0x23, 0x29, 0xa0, 0xf1, 0x06, 0x03, 0x8d, 0x70, 0x1f, 0xed, + 0xdf, 0x02, 0x47, 0xcc, 0x75, 0x84, 0x6d, 0xd3, 0x01, 0x08, 0x29, 0x9d, + 0x84, 0x0e, 0xc4, 0xa8, +}; +static const struct drbg_kat_no_reseed kat104_t = { + 13, kat104_entropyin, kat104_nonce, kat104_persstr, + kat104_addin0, kat104_addin1, kat104_retbits +}; +static const struct drbg_kat kat104 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat104_t +}; + +static const unsigned char kat105_entropyin[] = { + 0x98, 0xd1, 0x3c, 0x30, 0xa6, 0xda, 0xe2, 0xca, 0x76, 0xd7, 0xd6, 0x67, + 0x9f, 0x1f, 0xfb, 0xc4, +}; +static const unsigned char kat105_nonce[] = { + 0x49, 0x0b, 0x93, 0x9e, 0xb5, 0x56, 0xff, 0x1b, +}; +static const unsigned char kat105_persstr[] = { + 0x6c, 0x10, 0xa7, 0xc3, 0x0f, 0xb5, 0x34, 0xb5, 0x93, 0x4b, 0x1c, 0x29, + 0x80, 0x84, 0x94, 0xb9, +}; +static const unsigned char kat105_addin0[] = {0}; +static const unsigned char kat105_addin1[] = {0}; +static const unsigned char kat105_retbits[] = { + 0xcb, 0x7d, 0xee, 0xea, 0x97, 0xbd, 0xb0, 0x3f, 0x72, 0xa0, 0x3b, 0x2d, + 0x9b, 0x5f, 0x1b, 0x33, 0x03, 0x44, 0x48, 0x6e, 0x53, 0xe0, 0x49, 0x27, + 0xc5, 0x8f, 0xb6, 0x3c, 0x97, 0x1a, 0xc9, 0x87, 0x33, 0xb0, 0x24, 0x9a, + 0x1e, 0xfa, 0x85, 0xf8, 0x8b, 0xec, 0x48, 0x18, 0xe1, 0x31, 0x10, 0x22, + 0x07, 0x76, 0xe4, 0xfd, 0xe4, 0x29, 0xe6, 0x39, 0x0a, 0xf4, 0x66, 0x71, + 0x29, 0x01, 0x18, 0x9b, +}; +static const struct drbg_kat_no_reseed kat105_t = { + 14, kat105_entropyin, kat105_nonce, kat105_persstr, + kat105_addin0, kat105_addin1, kat105_retbits +}; +static const struct drbg_kat kat105 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat105_t +}; + +static const unsigned char kat106_entropyin[] = { + 0x25, 0xad, 0x6e, 0x73, 0x05, 0x5e, 0xcb, 0xc9, 0x49, 0xf2, 0x91, 0xf0, + 0xf7, 0x97, 0xf1, 0x7a, +}; +static const unsigned char kat106_nonce[] = { + 0x1f, 0x85, 0xa9, 0x2a, 0x46, 0x0a, 0x2e, 0xea, +}; +static const unsigned char kat106_persstr[] = { + 0x83, 0xd0, 0x4b, 0x4b, 0x15, 0x91, 0xc7, 0xba, 0xc9, 0xbc, 0xa9, 0x07, + 0xbb, 0xe9, 0xdd, 0xd4, +}; +static const unsigned char kat106_addin0[] = { + 0x52, 0x3c, 0x6c, 0xb0, 0xbc, 0x27, 0xd1, 0x9f, 0x8d, 0x2e, 0xbe, 0xf5, + 0x79, 0x26, 0xdd, 0xe4, +}; +static const unsigned char kat106_addin1[] = { + 0xd3, 0x3c, 0xd1, 0x4b, 0x5b, 0x79, 0x37, 0x38, 0x8e, 0x89, 0xec, 0xc0, + 0x80, 0x63, 0x03, 0xf0, +}; +static const unsigned char kat106_retbits[] = { + 0x23, 0xd9, 0x19, 0x5e, 0x40, 0x26, 0xed, 0xf0, 0x70, 0x88, 0xb8, 0x37, + 0x62, 0x75, 0x47, 0xa0, 0xea, 0x91, 0x37, 0xed, 0x03, 0x36, 0xd7, 0x69, + 0x60, 0x15, 0xdd, 0x6f, 0x29, 0x84, 0xde, 0xdb, 0x2a, 0x20, 0x7f, 0x2e, + 0xb8, 0xa2, 0x56, 0x60, 0xa5, 0xee, 0x78, 0x11, 0x78, 0x57, 0x9a, 0x0f, + 0x23, 0x3f, 0xb6, 0xf7, 0x26, 0x03, 0x58, 0xdb, 0xfd, 0x53, 0x25, 0xc3, + 0xf8, 0xc8, 0xfe, 0x33, +}; +static const struct drbg_kat_no_reseed kat106_t = { + 0, kat106_entropyin, kat106_nonce, kat106_persstr, + kat106_addin0, kat106_addin1, kat106_retbits +}; +static const struct drbg_kat kat106 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat106_t +}; + +static const unsigned char kat107_entropyin[] = { + 0xae, 0x33, 0x2f, 0x73, 0x39, 0x0e, 0x27, 0x75, 0x6b, 0xc9, 0x3d, 0x2b, + 0x95, 0x1b, 0x8b, 0x44, +}; +static const unsigned char kat107_nonce[] = { + 0xe6, 0x9f, 0xc8, 0xa1, 0x64, 0x50, 0xfb, 0x6d, +}; +static const unsigned char kat107_persstr[] = { + 0x5f, 0x76, 0x86, 0x3d, 0x3a, 0x20, 0x87, 0xe9, 0xcb, 0x90, 0xe1, 0x12, + 0xc1, 0x68, 0x06, 0xe2, +}; +static const unsigned char kat107_addin0[] = { + 0xbf, 0x6a, 0x8e, 0x05, 0x6e, 0x6c, 0x3c, 0xc1, 0xa6, 0xcb, 0xdb, 0x6b, + 0x59, 0xeb, 0xea, 0xe2, +}; +static const unsigned char kat107_addin1[] = { + 0xd8, 0x7a, 0xb9, 0x22, 0x4a, 0xa9, 0xcd, 0x9b, 0x5b, 0x84, 0x78, 0x35, + 0xcb, 0x0d, 0xaa, 0xc4, +}; +static const unsigned char kat107_retbits[] = { + 0xe0, 0xa2, 0xdd, 0x56, 0x06, 0xa0, 0xa2, 0x61, 0x57, 0xf9, 0x21, 0x05, + 0x11, 0xbb, 0xde, 0x50, 0xc9, 0x2f, 0x34, 0xad, 0x92, 0x36, 0x3c, 0xb9, + 0x2a, 0x05, 0x20, 0x8b, 0x60, 0xb3, 0x3d, 0x21, 0xc3, 0xd6, 0xc0, 0xc6, + 0xef, 0x05, 0x4e, 0xc4, 0x09, 0xb4, 0x63, 0x0d, 0xea, 0xc4, 0xc6, 0xd1, + 0xad, 0x1b, 0x6b, 0xe7, 0x5f, 0xff, 0x27, 0xaa, 0x74, 0x94, 0x13, 0xc8, + 0xb6, 0x4c, 0xf3, 0xe1, +}; +static const struct drbg_kat_no_reseed kat107_t = { + 1, kat107_entropyin, kat107_nonce, kat107_persstr, + kat107_addin0, kat107_addin1, kat107_retbits +}; +static const struct drbg_kat kat107 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat107_t +}; + +static const unsigned char kat108_entropyin[] = { + 0xe1, 0xa5, 0x89, 0xaf, 0xab, 0x83, 0x91, 0x69, 0x2d, 0xba, 0x52, 0x31, + 0x8a, 0xa8, 0xdc, 0x0d, +}; +static const unsigned char kat108_nonce[] = { + 0x22, 0xeb, 0xcf, 0x2e, 0x24, 0xa9, 0x55, 0x28, +}; +static const unsigned char kat108_persstr[] = { + 0x82, 0xe8, 0xc3, 0x55, 0xdb, 0xc9, 0xcd, 0x4c, 0x8d, 0x52, 0xfa, 0x45, + 0x21, 0x18, 0xf9, 0xf8, +}; +static const unsigned char kat108_addin0[] = { + 0xf7, 0x74, 0x57, 0xec, 0x32, 0xde, 0x66, 0x6f, 0x37, 0x0d, 0xa9, 0xe6, + 0xc2, 0x20, 0xc5, 0x80, +}; +static const unsigned char kat108_addin1[] = { + 0xba, 0x25, 0xaa, 0x3a, 0xb3, 0xd5, 0x0a, 0x72, 0xb6, 0xc1, 0xb4, 0x3f, + 0x30, 0xdb, 0x44, 0x55, +}; +static const unsigned char kat108_retbits[] = { + 0x88, 0x59, 0x55, 0xd1, 0x27, 0xfa, 0xf4, 0xc9, 0x21, 0xc4, 0xed, 0x3f, + 0x38, 0xbc, 0x15, 0x42, 0xb9, 0x5a, 0x87, 0x83, 0x4d, 0x4d, 0x73, 0xd1, + 0x56, 0x24, 0x00, 0xa6, 0xd3, 0xaa, 0x8e, 0x6c, 0x69, 0x7b, 0x71, 0x1d, + 0x91, 0x0e, 0xec, 0xeb, 0xc9, 0xca, 0x4e, 0xc2, 0xdc, 0x17, 0xe7, 0x98, + 0x93, 0xe7, 0xf7, 0x34, 0xc4, 0x56, 0x75, 0xde, 0x47, 0x7f, 0x55, 0x45, + 0xbd, 0x94, 0xcd, 0xee, +}; +static const struct drbg_kat_no_reseed kat108_t = { + 2, kat108_entropyin, kat108_nonce, kat108_persstr, + kat108_addin0, kat108_addin1, kat108_retbits +}; +static const struct drbg_kat kat108 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat108_t +}; + +static const unsigned char kat109_entropyin[] = { + 0x6f, 0xb7, 0x6f, 0xcd, 0x3d, 0x76, 0x2f, 0xa4, 0xc5, 0x0d, 0xe1, 0xf2, + 0x2e, 0x92, 0x76, 0x83, +}; +static const unsigned char kat109_nonce[] = { + 0xa5, 0xee, 0xf1, 0x2f, 0x3b, 0x3c, 0x25, 0xa3, +}; +static const unsigned char kat109_persstr[] = { + 0x54, 0x86, 0x7d, 0x7d, 0xc8, 0xce, 0xf5, 0x23, 0x42, 0xbb, 0xc0, 0x09, + 0x95, 0x4e, 0xfb, 0xf8, +}; +static const unsigned char kat109_addin0[] = { + 0xfa, 0xc5, 0x52, 0xaa, 0x87, 0x96, 0xe8, 0x85, 0x8d, 0x55, 0xae, 0x37, + 0x1a, 0x0f, 0x54, 0x8f, +}; +static const unsigned char kat109_addin1[] = { + 0xfe, 0xfb, 0xe9, 0xc8, 0x3c, 0x15, 0x9f, 0xcf, 0xa9, 0x2e, 0xe8, 0x18, + 0x76, 0x1d, 0x49, 0xdc, +}; +static const unsigned char kat109_retbits[] = { + 0x09, 0x4f, 0x86, 0x3b, 0x88, 0xe2, 0xb5, 0x5e, 0xf4, 0x15, 0xd2, 0x68, + 0x82, 0x94, 0xc7, 0xd8, 0xd2, 0xd7, 0x76, 0xc1, 0x69, 0x16, 0x73, 0x91, + 0xdf, 0x36, 0xf8, 0x0a, 0xd8, 0xe9, 0x83, 0x3e, 0x97, 0x61, 0x6e, 0xf6, + 0xe0, 0xa4, 0x5f, 0x94, 0x0d, 0x66, 0x38, 0x30, 0x18, 0xae, 0xe8, 0x6a, + 0x48, 0x0a, 0x26, 0x51, 0xd6, 0xe2, 0xef, 0xad, 0x61, 0x5a, 0x05, 0x1f, + 0x0d, 0xca, 0x64, 0xae, +}; +static const struct drbg_kat_no_reseed kat109_t = { + 3, kat109_entropyin, kat109_nonce, kat109_persstr, + kat109_addin0, kat109_addin1, kat109_retbits +}; +static const struct drbg_kat kat109 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat109_t +}; + +static const unsigned char kat110_entropyin[] = { + 0x5b, 0x32, 0xa3, 0x92, 0xdc, 0x66, 0x5a, 0xb5, 0x8f, 0x25, 0x98, 0xea, + 0xb0, 0x7d, 0x8e, 0x53, +}; +static const unsigned char kat110_nonce[] = { + 0xc6, 0xf6, 0x13, 0x10, 0x73, 0x88, 0x60, 0xf5, +}; +static const unsigned char kat110_persstr[] = { + 0x9f, 0x30, 0x9a, 0x68, 0x53, 0x29, 0x82, 0x16, 0x92, 0xa9, 0x73, 0x00, + 0x62, 0x0c, 0x01, 0x56, +}; +static const unsigned char kat110_addin0[] = { + 0x87, 0x5a, 0x4a, 0x43, 0xbd, 0xdf, 0x1a, 0x73, 0x05, 0x52, 0x6a, 0x48, + 0x8a, 0x1e, 0x0e, 0xb4, +}; +static const unsigned char kat110_addin1[] = { + 0x21, 0x14, 0xa7, 0xcb, 0x15, 0x49, 0x0c, 0x06, 0x3b, 0xb4, 0x66, 0x8f, + 0x36, 0x9a, 0x3d, 0x8e, +}; +static const unsigned char kat110_retbits[] = { + 0x91, 0xc1, 0xf1, 0x99, 0xf6, 0x71, 0xff, 0x56, 0x8e, 0x0e, 0xce, 0x46, + 0x08, 0x87, 0x65, 0x16, 0x23, 0x22, 0xa8, 0x21, 0x60, 0x66, 0xf9, 0xa4, + 0x15, 0xd7, 0xcc, 0xd9, 0xdf, 0xe7, 0x23, 0xc5, 0x21, 0xf5, 0x7d, 0xbd, + 0x84, 0x69, 0xe3, 0x9b, 0xac, 0xda, 0xc3, 0x1e, 0x74, 0x2a, 0x2d, 0x2f, + 0xf2, 0xa3, 0x1d, 0x5a, 0x15, 0xa0, 0x1b, 0xfd, 0x32, 0xbe, 0x50, 0x28, + 0x6c, 0x73, 0x0e, 0xad, +}; +static const struct drbg_kat_no_reseed kat110_t = { + 4, kat110_entropyin, kat110_nonce, kat110_persstr, + kat110_addin0, kat110_addin1, kat110_retbits +}; +static const struct drbg_kat kat110 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat110_t +}; + +static const unsigned char kat111_entropyin[] = { + 0x79, 0x95, 0x7c, 0x33, 0xe4, 0x5b, 0xba, 0x1c, 0x8a, 0xe6, 0x90, 0x29, + 0x07, 0x7a, 0xe3, 0x6b, +}; +static const unsigned char kat111_nonce[] = { + 0x5b, 0x49, 0xd8, 0xe7, 0xc1, 0x80, 0xbc, 0xb6, +}; +static const unsigned char kat111_persstr[] = { + 0x2a, 0xa8, 0xe7, 0x7b, 0x94, 0xfe, 0x0d, 0xdf, 0x0e, 0x57, 0x30, 0x2c, + 0x8e, 0xbd, 0xc2, 0x2a, +}; +static const unsigned char kat111_addin0[] = { + 0x14, 0x84, 0x4d, 0x85, 0xe5, 0x0c, 0xb1, 0xfc, 0xb4, 0xe6, 0x88, 0x7b, + 0x3f, 0xc6, 0x7f, 0x54, +}; +static const unsigned char kat111_addin1[] = { + 0x4c, 0x7c, 0xb0, 0x69, 0x29, 0x7c, 0x18, 0x65, 0x33, 0x94, 0xb8, 0x2b, + 0xe6, 0xa9, 0x30, 0x99, +}; +static const unsigned char kat111_retbits[] = { + 0x06, 0x61, 0xe2, 0x41, 0x6e, 0x71, 0xfe, 0x49, 0x11, 0x9f, 0x96, 0x76, + 0x42, 0xfd, 0x37, 0xdd, 0xb5, 0x82, 0xa1, 0x89, 0xa8, 0x88, 0xe7, 0xd4, + 0xa2, 0xaa, 0x56, 0x27, 0x51, 0x94, 0xc8, 0xca, 0x69, 0x8f, 0xb2, 0xd6, + 0x96, 0x83, 0x4b, 0x88, 0xb5, 0x72, 0xf0, 0xfd, 0xf5, 0xba, 0xdb, 0x6b, + 0xf5, 0x8d, 0x16, 0x12, 0xd2, 0x5f, 0x5e, 0xe3, 0xf6, 0x2d, 0x33, 0xdb, + 0x9a, 0x86, 0xb0, 0x87, +}; +static const struct drbg_kat_no_reseed kat111_t = { + 5, kat111_entropyin, kat111_nonce, kat111_persstr, + kat111_addin0, kat111_addin1, kat111_retbits +}; +static const struct drbg_kat kat111 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat111_t +}; + +static const unsigned char kat112_entropyin[] = { + 0x70, 0x50, 0x89, 0x80, 0x36, 0x2e, 0x96, 0x2a, 0xe7, 0x78, 0x45, 0x80, + 0x81, 0xcf, 0xbb, 0xe6, +}; +static const unsigned char kat112_nonce[] = { + 0x29, 0xcc, 0xf6, 0xed, 0xba, 0x46, 0x2d, 0xc2, +}; +static const unsigned char kat112_persstr[] = { + 0x48, 0xa3, 0xd8, 0xdb, 0xdc, 0x85, 0x18, 0x8a, 0xbb, 0x35, 0xb5, 0x6c, + 0x19, 0x4d, 0x60, 0x20, +}; +static const unsigned char kat112_addin0[] = { + 0xa8, 0x14, 0x72, 0x42, 0xe2, 0x47, 0x37, 0xfc, 0xf3, 0xb0, 0x07, 0xd2, + 0x84, 0xd6, 0x61, 0xc4, +}; +static const unsigned char kat112_addin1[] = { + 0x96, 0x4a, 0x9d, 0x06, 0x86, 0xd9, 0x61, 0x93, 0xfb, 0x2e, 0x4a, 0x35, + 0x14, 0x5e, 0xdc, 0xc8, +}; +static const unsigned char kat112_retbits[] = { + 0xd8, 0x1b, 0xd5, 0xda, 0x60, 0xd9, 0x9d, 0x6d, 0xaa, 0xec, 0xeb, 0xc0, + 0x60, 0x65, 0x26, 0x33, 0xec, 0x14, 0xdc, 0x3b, 0x84, 0x69, 0x3b, 0xdf, + 0xf7, 0x67, 0x77, 0x1f, 0x03, 0x2b, 0xfa, 0x2e, 0x4d, 0xfa, 0xd5, 0x3e, + 0xf6, 0xd1, 0x99, 0x10, 0xbd, 0x92, 0x5d, 0xf1, 0x20, 0x9f, 0x33, 0xea, + 0x11, 0xe3, 0xf1, 0xe8, 0x37, 0xb0, 0x3e, 0x7a, 0x70, 0x03, 0x25, 0x7f, + 0xf4, 0x20, 0xa6, 0x92, +}; +static const struct drbg_kat_no_reseed kat112_t = { + 6, kat112_entropyin, kat112_nonce, kat112_persstr, + kat112_addin0, kat112_addin1, kat112_retbits +}; +static const struct drbg_kat kat112 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat112_t +}; + +static const unsigned char kat113_entropyin[] = { + 0xb7, 0x83, 0x71, 0xba, 0xf5, 0x86, 0xc0, 0xdd, 0x05, 0x4b, 0xfd, 0x29, + 0x3f, 0xc7, 0xe8, 0xdc, +}; +static const unsigned char kat113_nonce[] = { + 0x11, 0x9b, 0x23, 0x2c, 0xe4, 0xca, 0xda, 0x97, +}; +static const unsigned char kat113_persstr[] = { + 0x3a, 0x58, 0x75, 0xb4, 0x43, 0x07, 0x3c, 0x9b, 0xf6, 0x4a, 0x0a, 0xaa, + 0xf2, 0x6b, 0xa4, 0x4f, +}; +static const unsigned char kat113_addin0[] = { + 0x4d, 0x2d, 0x4f, 0x16, 0xb7, 0xb7, 0xd2, 0xd2, 0xbb, 0x4d, 0x83, 0xa4, + 0x92, 0x99, 0x96, 0xb2, +}; +static const unsigned char kat113_addin1[] = { + 0x7d, 0x31, 0x73, 0xe0, 0x8a, 0xea, 0x4c, 0x8b, 0x6e, 0xf9, 0xe3, 0xcd, + 0x69, 0x8f, 0x9b, 0x09, +}; +static const unsigned char kat113_retbits[] = { + 0xbb, 0x04, 0x86, 0x41, 0xf0, 0x36, 0xdc, 0x11, 0xb8, 0xdf, 0x8a, 0xd3, + 0xe4, 0xd5, 0xbd, 0xfc, 0x30, 0x9b, 0x2c, 0x3f, 0x22, 0xb3, 0xd2, 0xb8, + 0xac, 0xf1, 0x96, 0xd5, 0x0c, 0xd5, 0x42, 0xde, 0x13, 0xcd, 0x99, 0x97, + 0x8a, 0x92, 0x0a, 0xcb, 0xa6, 0x1d, 0xc0, 0x7c, 0x64, 0x6b, 0x48, 0x09, + 0x44, 0x79, 0xbb, 0x44, 0x17, 0xd8, 0x40, 0x9a, 0xba, 0xe3, 0xd6, 0x9e, + 0xd5, 0x2a, 0x2a, 0x3e, +}; +static const struct drbg_kat_no_reseed kat113_t = { + 7, kat113_entropyin, kat113_nonce, kat113_persstr, + kat113_addin0, kat113_addin1, kat113_retbits +}; +static const struct drbg_kat kat113 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat113_t +}; + +static const unsigned char kat114_entropyin[] = { + 0x96, 0xbf, 0xc3, 0x47, 0xb3, 0x06, 0x80, 0x5a, 0xf8, 0x8d, 0xa0, 0x07, + 0x67, 0x5d, 0xb4, 0x7c, +}; +static const unsigned char kat114_nonce[] = { + 0x12, 0x95, 0x37, 0x06, 0xa0, 0x6e, 0xb5, 0x30, +}; +static const unsigned char kat114_persstr[] = { + 0x46, 0x73, 0x3d, 0xdd, 0xaf, 0x70, 0xe3, 0xf2, 0x07, 0x5c, 0xb8, 0x70, + 0xf4, 0x7e, 0x72, 0xdf, +}; +static const unsigned char kat114_addin0[] = { + 0x64, 0xf7, 0x9a, 0xd1, 0xdf, 0xa3, 0x93, 0xd3, 0x6b, 0xf5, 0xbe, 0x83, + 0x32, 0x90, 0xb6, 0x94, +}; +static const unsigned char kat114_addin1[] = { + 0x5d, 0x21, 0x0f, 0x12, 0x85, 0xf0, 0xfb, 0x03, 0x8a, 0x75, 0x34, 0x76, + 0xef, 0x24, 0x91, 0x79, +}; +static const unsigned char kat114_retbits[] = { + 0x67, 0xb6, 0x9b, 0xa4, 0x34, 0x90, 0x3e, 0x2b, 0xbf, 0x46, 0xd3, 0xf5, + 0xe3, 0x00, 0xb9, 0xe5, 0xcf, 0x33, 0x01, 0xbe, 0xaa, 0xb7, 0xd3, 0x0b, + 0x46, 0x52, 0xed, 0x3b, 0xf6, 0x62, 0x65, 0x79, 0x50, 0x3a, 0x54, 0x4e, + 0x58, 0x23, 0x7c, 0x5e, 0x55, 0x1a, 0xd5, 0xee, 0x17, 0xb7, 0x36, 0x12, + 0x0c, 0x37, 0xa3, 0x02, 0x9b, 0xd7, 0xa1, 0x03, 0x4d, 0x4c, 0x49, 0xf6, + 0x1e, 0x04, 0x0a, 0xca, +}; +static const struct drbg_kat_no_reseed kat114_t = { + 8, kat114_entropyin, kat114_nonce, kat114_persstr, + kat114_addin0, kat114_addin1, kat114_retbits +}; +static const struct drbg_kat kat114 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat114_t +}; + +static const unsigned char kat115_entropyin[] = { + 0x9a, 0x4c, 0x8b, 0x46, 0xa9, 0x74, 0xfb, 0xc8, 0x5e, 0x25, 0x6d, 0x1f, + 0x07, 0xcc, 0x59, 0xaa, +}; +static const unsigned char kat115_nonce[] = { + 0xeb, 0x8d, 0x66, 0x21, 0x02, 0x09, 0x01, 0x14, +}; +static const unsigned char kat115_persstr[] = { + 0xb9, 0x4b, 0x8d, 0x2a, 0x64, 0x92, 0x66, 0x64, 0x5a, 0x71, 0x5a, 0xfc, + 0xa0, 0x99, 0x5d, 0x9d, +}; +static const unsigned char kat115_addin0[] = { + 0xf3, 0x36, 0xe1, 0xd6, 0x2a, 0xc5, 0x68, 0xed, 0x13, 0x2e, 0xa0, 0x18, + 0x15, 0xda, 0xd5, 0x08, +}; +static const unsigned char kat115_addin1[] = { + 0x66, 0x76, 0x26, 0xa2, 0x3d, 0x23, 0xb7, 0x16, 0x5a, 0x6a, 0x88, 0x5d, + 0x41, 0xfa, 0x90, 0x1c, +}; +static const unsigned char kat115_retbits[] = { + 0x2d, 0xf3, 0x3f, 0x7a, 0xd2, 0xc2, 0xd8, 0x6e, 0x61, 0x63, 0x3c, 0x25, + 0xa8, 0xac, 0x57, 0xb5, 0xde, 0xad, 0x88, 0x02, 0x1c, 0x93, 0xad, 0x69, + 0xba, 0x6c, 0x52, 0x27, 0x99, 0xc4, 0xbe, 0xbf, 0xda, 0x78, 0x27, 0x72, + 0xc8, 0x1e, 0x7e, 0x02, 0xd8, 0xb8, 0x82, 0x54, 0x6b, 0x24, 0x2b, 0xb2, + 0x2f, 0x31, 0x05, 0x65, 0xba, 0xc3, 0x16, 0x26, 0x9f, 0xfc, 0x80, 0x04, + 0xd5, 0x44, 0x06, 0x31, +}; +static const struct drbg_kat_no_reseed kat115_t = { + 9, kat115_entropyin, kat115_nonce, kat115_persstr, + kat115_addin0, kat115_addin1, kat115_retbits +}; +static const struct drbg_kat kat115 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat115_t +}; + +static const unsigned char kat116_entropyin[] = { + 0xc7, 0xd6, 0x55, 0x75, 0x65, 0xa1, 0xfd, 0xe4, 0x80, 0x84, 0x1f, 0x1f, + 0x1a, 0x10, 0xf6, 0x7d, +}; +static const unsigned char kat116_nonce[] = { + 0x02, 0xf8, 0x47, 0x98, 0x66, 0x26, 0xbb, 0x4b, +}; +static const unsigned char kat116_persstr[] = { + 0x61, 0x8c, 0xac, 0x99, 0x53, 0x17, 0x91, 0x67, 0x36, 0x03, 0xa1, 0x6b, + 0x99, 0xab, 0x0e, 0x80, +}; +static const unsigned char kat116_addin0[] = { + 0x81, 0x0c, 0x8b, 0xe4, 0xb1, 0x80, 0x1f, 0xec, 0x75, 0x40, 0x63, 0xc2, + 0x61, 0x15, 0x66, 0x60, +}; +static const unsigned char kat116_addin1[] = { + 0xe2, 0x59, 0x4d, 0x34, 0xce, 0x1a, 0xd6, 0x53, 0x51, 0x28, 0x60, 0x69, + 0xeb, 0x1a, 0x63, 0x08, +}; +static const unsigned char kat116_retbits[] = { + 0xa3, 0xc4, 0xd0, 0x2d, 0xa0, 0x16, 0x6f, 0xef, 0x32, 0xce, 0x69, 0x97, + 0x5d, 0xb9, 0x4d, 0x19, 0x60, 0x44, 0xe8, 0x1f, 0x59, 0x04, 0x4d, 0x22, + 0xdf, 0x84, 0x05, 0xb4, 0x68, 0xeb, 0xd5, 0xa9, 0x29, 0x97, 0xfe, 0xeb, + 0xa8, 0x2d, 0x7a, 0xdf, 0x97, 0xcc, 0xbb, 0x1a, 0x59, 0x35, 0x56, 0x26, + 0xae, 0xfa, 0xe0, 0xd4, 0x35, 0xb4, 0x03, 0xb7, 0xde, 0xb9, 0x00, 0x5b, + 0x8f, 0x5e, 0xa9, 0xa5, +}; +static const struct drbg_kat_no_reseed kat116_t = { + 10, kat116_entropyin, kat116_nonce, kat116_persstr, + kat116_addin0, kat116_addin1, kat116_retbits +}; +static const struct drbg_kat kat116 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat116_t +}; + +static const unsigned char kat117_entropyin[] = { + 0x14, 0x0d, 0xbf, 0xf6, 0x3e, 0x70, 0x83, 0xc3, 0x08, 0x41, 0x9f, 0x86, + 0x4c, 0x09, 0x3e, 0x99, +}; +static const unsigned char kat117_nonce[] = { + 0xeb, 0x1c, 0x66, 0x92, 0xdb, 0x94, 0x9d, 0x5a, +}; +static const unsigned char kat117_persstr[] = { + 0x23, 0xd3, 0x27, 0x21, 0xf1, 0xc0, 0x3a, 0x90, 0xf3, 0x9e, 0xf0, 0x21, + 0xac, 0x88, 0x84, 0xc7, +}; +static const unsigned char kat117_addin0[] = { + 0xc6, 0xe3, 0x80, 0x8d, 0xb9, 0xf9, 0xda, 0x14, 0x23, 0x9a, 0xd7, 0xd7, + 0x18, 0x28, 0x6a, 0x96, +}; +static const unsigned char kat117_addin1[] = { + 0xa8, 0x4a, 0xaa, 0xdb, 0x7d, 0x57, 0x2a, 0x9a, 0xfc, 0xa3, 0xf7, 0x6c, + 0xed, 0xf0, 0xa4, 0xb9, +}; +static const unsigned char kat117_retbits[] = { + 0x74, 0x3d, 0xf9, 0x7c, 0x2e, 0x99, 0xd9, 0x74, 0x07, 0x77, 0x72, 0xa6, + 0xfe, 0xa4, 0x03, 0x12, 0x8f, 0x41, 0xff, 0x32, 0xa9, 0x5f, 0xb4, 0xf8, + 0xb0, 0xec, 0xca, 0xa0, 0x57, 0x1c, 0xd2, 0x57, 0x8e, 0x48, 0x2c, 0xe7, + 0x09, 0x84, 0x99, 0xc4, 0xd3, 0x01, 0x5f, 0x91, 0x92, 0x35, 0x52, 0x38, + 0xc7, 0x0f, 0x8b, 0x76, 0xa5, 0x04, 0x27, 0x2a, 0x87, 0x09, 0xcd, 0x0e, + 0x2d, 0xc8, 0x2c, 0x9c, +}; +static const struct drbg_kat_no_reseed kat117_t = { + 11, kat117_entropyin, kat117_nonce, kat117_persstr, + kat117_addin0, kat117_addin1, kat117_retbits +}; +static const struct drbg_kat kat117 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat117_t +}; + +static const unsigned char kat118_entropyin[] = { + 0x6a, 0xf3, 0x96, 0x2f, 0xd6, 0xae, 0x84, 0xde, 0xc3, 0xf8, 0x94, 0xbf, + 0x39, 0xc6, 0x46, 0x42, +}; +static const unsigned char kat118_nonce[] = { + 0xc0, 0x20, 0x49, 0x64, 0x61, 0xa3, 0x91, 0x61, +}; +static const unsigned char kat118_persstr[] = { + 0x75, 0xca, 0xef, 0xe7, 0x75, 0x20, 0x45, 0xfc, 0xb1, 0xe5, 0xfc, 0x22, + 0x7f, 0xfb, 0x94, 0x0d, +}; +static const unsigned char kat118_addin0[] = { + 0x16, 0x64, 0xf7, 0xcc, 0x88, 0xd0, 0x1d, 0x7f, 0x27, 0x86, 0x15, 0xc5, + 0x63, 0x09, 0x2f, 0xd6, +}; +static const unsigned char kat118_addin1[] = { + 0x60, 0xb7, 0xa8, 0x6b, 0xc0, 0xc8, 0xdd, 0x2b, 0xd0, 0x7a, 0xda, 0xa4, + 0xd5, 0xc2, 0x4d, 0x68, +}; +static const unsigned char kat118_retbits[] = { + 0xb4, 0xed, 0xc9, 0x65, 0x0d, 0x81, 0x47, 0x17, 0x0c, 0x81, 0x52, 0x9f, + 0x2f, 0xd7, 0x33, 0x11, 0x53, 0xa6, 0x1d, 0x0d, 0x58, 0xb7, 0x6b, 0x50, + 0xbb, 0x52, 0xda, 0x0a, 0x79, 0x51, 0x64, 0xbe, 0xeb, 0xc6, 0x09, 0x32, + 0x05, 0x20, 0x32, 0x8f, 0x3d, 0x4e, 0x83, 0xcd, 0x80, 0xd0, 0xb1, 0xcb, + 0xbb, 0xfd, 0x0a, 0x84, 0xa9, 0x65, 0x10, 0x88, 0x11, 0x01, 0xfb, 0xc7, + 0x40, 0xb2, 0x81, 0x7f, +}; +static const struct drbg_kat_no_reseed kat118_t = { + 12, kat118_entropyin, kat118_nonce, kat118_persstr, + kat118_addin0, kat118_addin1, kat118_retbits +}; +static const struct drbg_kat kat118 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat118_t +}; + +static const unsigned char kat119_entropyin[] = { + 0x36, 0xe2, 0x7a, 0xa6, 0xb3, 0x66, 0x99, 0xe9, 0x46, 0x45, 0x95, 0xa9, + 0x32, 0xcc, 0x92, 0x8e, +}; +static const unsigned char kat119_nonce[] = { + 0x65, 0x16, 0xbb, 0x91, 0x85, 0x66, 0xbf, 0x89, +}; +static const unsigned char kat119_persstr[] = { + 0x9b, 0xc6, 0x83, 0xa1, 0xf4, 0x65, 0xba, 0x0f, 0x2c, 0xe1, 0x8c, 0x8b, + 0x9c, 0x61, 0x42, 0x44, +}; +static const unsigned char kat119_addin0[] = { + 0x0d, 0x17, 0x5b, 0x34, 0xd8, 0xb9, 0xe2, 0x70, 0x74, 0x5a, 0x71, 0xf3, + 0x5d, 0x41, 0x6f, 0x10, +}; +static const unsigned char kat119_addin1[] = { + 0xa7, 0x90, 0xc8, 0x6f, 0xdf, 0x0c, 0xa8, 0x0e, 0xb3, 0xd6, 0xf7, 0x02, + 0x91, 0x6e, 0xa9, 0x9f, +}; +static const unsigned char kat119_retbits[] = { + 0x34, 0xea, 0x96, 0x29, 0x62, 0x7f, 0x66, 0x84, 0xb9, 0xab, 0x85, 0xf8, + 0x16, 0x46, 0x86, 0x4d, 0xd8, 0xef, 0x3a, 0x15, 0xed, 0xc8, 0x01, 0xdc, + 0x39, 0xa7, 0x31, 0xdc, 0x9e, 0x80, 0xe6, 0x26, 0xfc, 0x8c, 0xe2, 0x1e, + 0x9b, 0x62, 0xe9, 0x48, 0x88, 0x64, 0x89, 0xd5, 0xe4, 0x43, 0x6e, 0x65, + 0x9f, 0x26, 0xbf, 0xb3, 0x43, 0x51, 0x04, 0xad, 0x9b, 0xfa, 0x0a, 0xaf, + 0xc5, 0x50, 0x69, 0x17, +}; +static const struct drbg_kat_no_reseed kat119_t = { + 13, kat119_entropyin, kat119_nonce, kat119_persstr, + kat119_addin0, kat119_addin1, kat119_retbits +}; +static const struct drbg_kat kat119 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat119_t +}; + +static const unsigned char kat120_entropyin[] = { + 0xac, 0xa3, 0x59, 0xf1, 0x07, 0xc3, 0x24, 0x64, 0x8a, 0xd4, 0x45, 0x56, + 0x4b, 0xfa, 0xe5, 0x6d, +}; +static const unsigned char kat120_nonce[] = { + 0xf9, 0x5d, 0x1c, 0x8f, 0xd2, 0x66, 0xdf, 0x64, +}; +static const unsigned char kat120_persstr[] = { + 0xa5, 0xcf, 0xdc, 0x76, 0xc4, 0xe8, 0x49, 0xe4, 0x5d, 0x8b, 0xcc, 0x68, + 0xee, 0xb0, 0x12, 0x84, +}; +static const unsigned char kat120_addin0[] = { + 0x57, 0x80, 0x2c, 0xc0, 0x6e, 0xf0, 0x34, 0x4b, 0xd1, 0x4a, 0x48, 0x57, + 0xc6, 0x9f, 0x68, 0xd4, +}; +static const unsigned char kat120_addin1[] = { + 0x53, 0x14, 0xfc, 0xcb, 0xe4, 0x52, 0x01, 0x8f, 0xc1, 0x6e, 0x5f, 0xfb, + 0x5d, 0x90, 0xe8, 0x88, +}; +static const unsigned char kat120_retbits[] = { + 0x21, 0x1d, 0x90, 0xec, 0xd7, 0xd3, 0xdd, 0xd0, 0x3f, 0x91, 0xe8, 0xa6, + 0x74, 0x40, 0x0f, 0xb1, 0x8d, 0x3f, 0xb3, 0x98, 0x86, 0xa2, 0x26, 0x2f, + 0x0e, 0x09, 0xff, 0x07, 0x5f, 0x99, 0x8d, 0x21, 0x74, 0x19, 0xf2, 0xe9, + 0x35, 0x3d, 0x45, 0xb9, 0xdf, 0x10, 0x72, 0x3e, 0xba, 0xeb, 0xcf, 0xf1, + 0xaa, 0x80, 0x24, 0xd9, 0xb0, 0x96, 0x06, 0x4d, 0x6f, 0x31, 0x83, 0x5b, + 0x75, 0xf8, 0xea, 0xa6, +}; +static const struct drbg_kat_no_reseed kat120_t = { + 14, kat120_entropyin, kat120_nonce, kat120_persstr, + kat120_addin0, kat120_addin1, kat120_retbits +}; +static const struct drbg_kat kat120 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat120_t +}; + +static const unsigned char kat121_entropyin[] = { + 0x2e, 0x17, 0x24, 0xdb, 0x48, 0x22, 0x32, 0xa3, 0xe6, 0x1f, 0x92, 0xc1, + 0xc2, 0x66, 0xfa, 0xf8, +}; +static const unsigned char kat121_nonce[] = { + 0x38, 0xaa, 0x55, 0x90, 0xf6, 0xbf, 0xaa, 0x4b, +}; +static const unsigned char kat121_persstr[] = {0}; +static const unsigned char kat121_addin0[] = {0}; +static const unsigned char kat121_addin1[] = {0}; +static const unsigned char kat121_retbits[] = { + 0x44, 0x38, 0xb4, 0x8a, 0x45, 0xfb, 0x01, 0x41, 0xe3, 0x1f, 0x0a, 0x96, + 0x24, 0xdf, 0xe6, 0xfc, 0xc2, 0xf9, 0xed, 0xc0, 0x75, 0xc0, 0xa5, 0x2b, + 0xc5, 0xfc, 0x46, 0xd8, 0x5a, 0x96, 0x6c, 0x85, 0x3f, 0xee, 0xe6, 0xaf, + 0x91, 0x32, 0x34, 0xb3, 0xf9, 0xa6, 0x79, 0xf6, 0x67, 0x89, 0x8d, 0xc1, + 0x5a, 0x24, 0xaa, 0xed, 0x89, 0xf0, 0x35, 0xbf, 0xa5, 0xda, 0x51, 0x6e, + 0x43, 0x5b, 0xba, 0xd1, +}; +static const struct drbg_kat_no_reseed kat121_t = { + 0, kat121_entropyin, kat121_nonce, kat121_persstr, + kat121_addin0, kat121_addin1, kat121_retbits +}; +static const struct drbg_kat kat121 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat121_t +}; + +static const unsigned char kat122_entropyin[] = { + 0x22, 0x56, 0x4f, 0x77, 0xc4, 0x5b, 0x05, 0x3c, 0xdf, 0x61, 0x43, 0x3e, + 0xb9, 0x6b, 0x1d, 0x7c, +}; +static const unsigned char kat122_nonce[] = { + 0xcf, 0x73, 0xe6, 0x20, 0xf8, 0x51, 0x52, 0x03, +}; +static const unsigned char kat122_persstr[] = {0}; +static const unsigned char kat122_addin0[] = {0}; +static const unsigned char kat122_addin1[] = {0}; +static const unsigned char kat122_retbits[] = { + 0xc7, 0x90, 0x8e, 0x71, 0x2c, 0x71, 0x6d, 0x1f, 0x5e, 0xd5, 0x33, 0xe1, + 0x42, 0xe7, 0x21, 0x87, 0xea, 0x77, 0xfb, 0x4f, 0x51, 0x6d, 0xc3, 0x1a, + 0xa1, 0x0a, 0x1e, 0x54, 0x9d, 0x85, 0xea, 0xdb, 0x7a, 0x46, 0x46, 0x17, + 0x04, 0x64, 0xc1, 0xf7, 0xa7, 0x52, 0xc0, 0x1a, 0x94, 0x06, 0xbe, 0x66, + 0x43, 0xee, 0x96, 0x7d, 0x04, 0x64, 0xb8, 0x4b, 0x6a, 0x08, 0xb2, 0xed, + 0x0a, 0x7a, 0xcb, 0x07, +}; +static const struct drbg_kat_no_reseed kat122_t = { + 1, kat122_entropyin, kat122_nonce, kat122_persstr, + kat122_addin0, kat122_addin1, kat122_retbits +}; +static const struct drbg_kat kat122 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat122_t +}; + +static const unsigned char kat123_entropyin[] = { + 0x2a, 0x5b, 0x01, 0x2b, 0x09, 0x79, 0x26, 0xe8, 0xf8, 0x57, 0x0f, 0xf8, + 0x69, 0x2c, 0xc5, 0xd1, +}; +static const unsigned char kat123_nonce[] = { + 0xde, 0x8e, 0x07, 0x2d, 0x15, 0x81, 0xaf, 0xe6, +}; +static const unsigned char kat123_persstr[] = {0}; +static const unsigned char kat123_addin0[] = {0}; +static const unsigned char kat123_addin1[] = {0}; +static const unsigned char kat123_retbits[] = { + 0x81, 0xf2, 0xe2, 0xc8, 0x58, 0x5e, 0x8d, 0xc4, 0x65, 0xd7, 0x8e, 0x7b, + 0x75, 0xb9, 0xf6, 0xc2, 0xbb, 0xdc, 0xde, 0x94, 0x75, 0xd4, 0x25, 0x0f, + 0xb4, 0x9e, 0x04, 0xc5, 0x6e, 0x30, 0x48, 0x9e, 0x24, 0xdf, 0x48, 0x58, + 0xf7, 0x4e, 0xd0, 0x85, 0xcb, 0xa9, 0xf9, 0x92, 0xeb, 0x7d, 0x13, 0xe4, + 0xe0, 0x64, 0xa7, 0x45, 0xf4, 0x51, 0xcb, 0x6e, 0xdf, 0xc3, 0x7c, 0x57, + 0xf3, 0x5e, 0x8d, 0x57, +}; +static const struct drbg_kat_no_reseed kat123_t = { + 2, kat123_entropyin, kat123_nonce, kat123_persstr, + kat123_addin0, kat123_addin1, kat123_retbits +}; +static const struct drbg_kat kat123 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat123_t +}; + +static const unsigned char kat124_entropyin[] = { + 0x2c, 0x6b, 0x05, 0xd1, 0xc8, 0x6a, 0xae, 0x86, 0xa8, 0x9e, 0x81, 0x64, + 0x82, 0x98, 0x32, 0x36, +}; +static const unsigned char kat124_nonce[] = { + 0x33, 0x85, 0xd9, 0x29, 0xad, 0xe9, 0x96, 0xe8, +}; +static const unsigned char kat124_persstr[] = {0}; +static const unsigned char kat124_addin0[] = {0}; +static const unsigned char kat124_addin1[] = {0}; +static const unsigned char kat124_retbits[] = { + 0x52, 0x56, 0xa6, 0x44, 0x29, 0xa5, 0x56, 0xd1, 0xa9, 0x1d, 0x58, 0x99, + 0x9c, 0x75, 0xb3, 0x6d, 0xe7, 0xcc, 0x01, 0xf7, 0x46, 0x3c, 0x4e, 0x24, + 0xaf, 0xd1, 0x5d, 0xe0, 0xa3, 0x5d, 0xcb, 0x5a, 0xda, 0x26, 0x79, 0x13, + 0x4f, 0x15, 0xf4, 0xc5, 0x1d, 0xc0, 0x6b, 0x34, 0x45, 0x4d, 0x6d, 0xca, + 0xa1, 0xd2, 0x51, 0x1c, 0x1d, 0x22, 0x6f, 0x23, 0x2f, 0x44, 0x52, 0x76, + 0x25, 0x57, 0x51, 0xe6, +}; +static const struct drbg_kat_no_reseed kat124_t = { + 3, kat124_entropyin, kat124_nonce, kat124_persstr, + kat124_addin0, kat124_addin1, kat124_retbits +}; +static const struct drbg_kat kat124 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat124_t +}; + +static const unsigned char kat125_entropyin[] = { + 0x48, 0xba, 0xb2, 0xf8, 0x2d, 0x80, 0x59, 0x7f, 0x93, 0xad, 0xdb, 0x7e, + 0x1f, 0x0f, 0x2e, 0x72, +}; +static const unsigned char kat125_nonce[] = { + 0xf5, 0xf4, 0x90, 0x18, 0xe8, 0x55, 0x9b, 0x0a, +}; +static const unsigned char kat125_persstr[] = {0}; +static const unsigned char kat125_addin0[] = {0}; +static const unsigned char kat125_addin1[] = {0}; +static const unsigned char kat125_retbits[] = { + 0xfa, 0x32, 0x3d, 0x2d, 0xae, 0x96, 0x74, 0xd8, 0x0b, 0xd2, 0xf1, 0x42, + 0x7c, 0x1c, 0x79, 0x53, 0x2b, 0x23, 0x74, 0xed, 0x1f, 0xb3, 0xa1, 0x3c, + 0x62, 0x06, 0x05, 0x04, 0x8a, 0xc5, 0x78, 0xb3, 0x07, 0x0c, 0x67, 0x48, + 0x31, 0x4e, 0x5e, 0xd1, 0xdb, 0xd3, 0xea, 0xaa, 0x64, 0x1e, 0x50, 0x5c, + 0x3d, 0x3f, 0x59, 0xfa, 0xc2, 0x5d, 0x89, 0x7b, 0xf3, 0x94, 0xdc, 0xad, + 0xb6, 0x3b, 0x7f, 0xf9, +}; +static const struct drbg_kat_no_reseed kat125_t = { + 4, kat125_entropyin, kat125_nonce, kat125_persstr, + kat125_addin0, kat125_addin1, kat125_retbits +}; +static const struct drbg_kat kat125 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat125_t +}; + +static const unsigned char kat126_entropyin[] = { + 0xad, 0x7a, 0xff, 0x42, 0x24, 0xe9, 0x3f, 0x32, 0x35, 0x45, 0x41, 0x6a, + 0x1e, 0x56, 0x97, 0xce, +}; +static const unsigned char kat126_nonce[] = { + 0x9c, 0xc1, 0x2c, 0xe2, 0xed, 0x5e, 0x8d, 0x1c, +}; +static const unsigned char kat126_persstr[] = {0}; +static const unsigned char kat126_addin0[] = {0}; +static const unsigned char kat126_addin1[] = {0}; +static const unsigned char kat126_retbits[] = { + 0x36, 0xc7, 0x22, 0x23, 0xb9, 0x24, 0x4c, 0xdb, 0x2c, 0x2c, 0x0d, 0xd5, + 0xa5, 0x97, 0x06, 0x55, 0x8e, 0x2e, 0x5a, 0x11, 0x84, 0x5c, 0xab, 0xf9, + 0x54, 0x5c, 0xd4, 0xad, 0x08, 0x15, 0x4a, 0x46, 0x70, 0x3a, 0xe7, 0x50, + 0xb7, 0xf0, 0xc4, 0xf5, 0xbb, 0x33, 0xac, 0xd3, 0xc3, 0x81, 0xe5, 0xee, + 0x4c, 0xe0, 0x99, 0x16, 0x43, 0x11, 0x44, 0xe8, 0x51, 0x5f, 0xed, 0x91, + 0x4d, 0x5c, 0x5b, 0x5e, +}; +static const struct drbg_kat_no_reseed kat126_t = { + 5, kat126_entropyin, kat126_nonce, kat126_persstr, + kat126_addin0, kat126_addin1, kat126_retbits +}; +static const struct drbg_kat kat126 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat126_t +}; + +static const unsigned char kat127_entropyin[] = { + 0x29, 0x9c, 0x01, 0xd3, 0xa2, 0xf1, 0x32, 0x3d, 0xf7, 0x53, 0xcf, 0x14, + 0x84, 0x5e, 0x0d, 0xe5, +}; +static const unsigned char kat127_nonce[] = { + 0x51, 0x1e, 0x36, 0x23, 0x2a, 0x11, 0x29, 0x1d, +}; +static const unsigned char kat127_persstr[] = {0}; +static const unsigned char kat127_addin0[] = {0}; +static const unsigned char kat127_addin1[] = {0}; +static const unsigned char kat127_retbits[] = { + 0x77, 0x09, 0xfd, 0xc6, 0x27, 0x8d, 0xb4, 0x4b, 0x21, 0xd3, 0x9a, 0x19, + 0x4b, 0x80, 0x6e, 0x48, 0xe7, 0xfe, 0x3e, 0x9a, 0xe1, 0x16, 0xe2, 0x38, + 0xc2, 0x05, 0xc2, 0xc3, 0x45, 0x98, 0x1c, 0xe8, 0x1f, 0x25, 0x57, 0x13, + 0x59, 0x7c, 0xec, 0x2b, 0x3a, 0xd3, 0x91, 0x0f, 0x2b, 0x67, 0x42, 0xae, + 0xa6, 0x64, 0x04, 0x71, 0x2d, 0xf8, 0x32, 0x8d, 0x2f, 0x2d, 0x19, 0x48, + 0x41, 0x30, 0x97, 0xdb, +}; +static const struct drbg_kat_no_reseed kat127_t = { + 6, kat127_entropyin, kat127_nonce, kat127_persstr, + kat127_addin0, kat127_addin1, kat127_retbits +}; +static const struct drbg_kat kat127 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat127_t +}; + +static const unsigned char kat128_entropyin[] = { + 0xb6, 0xee, 0x77, 0x79, 0x99, 0x4b, 0xa8, 0xcd, 0x49, 0x0a, 0x03, 0xcf, + 0x68, 0x99, 0xb1, 0x35, +}; +static const unsigned char kat128_nonce[] = { + 0x66, 0xed, 0xa9, 0xb5, 0xa5, 0x4d, 0x7d, 0xed, +}; +static const unsigned char kat128_persstr[] = {0}; +static const unsigned char kat128_addin0[] = {0}; +static const unsigned char kat128_addin1[] = {0}; +static const unsigned char kat128_retbits[] = { + 0x4e, 0x21, 0xb4, 0x8f, 0xde, 0x08, 0x22, 0x63, 0xd7, 0x6a, 0x10, 0x34, + 0xe8, 0x7a, 0x56, 0x6e, 0x1a, 0x1c, 0x9d, 0x2e, 0x1b, 0xd5, 0xc7, 0x48, + 0xe3, 0x0e, 0x1d, 0x87, 0x50, 0xf2, 0xff, 0x03, 0x93, 0x1c, 0x4b, 0xfe, + 0x19, 0x4d, 0x2d, 0xa4, 0xed, 0x1c, 0xf1, 0x53, 0x03, 0x01, 0xe5, 0xb1, + 0xab, 0xc4, 0xbd, 0x2b, 0xda, 0x7b, 0xe8, 0x92, 0x84, 0xf8, 0xc2, 0x19, + 0x36, 0x88, 0xc9, 0x82, +}; +static const struct drbg_kat_no_reseed kat128_t = { + 7, kat128_entropyin, kat128_nonce, kat128_persstr, + kat128_addin0, kat128_addin1, kat128_retbits +}; +static const struct drbg_kat kat128 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat128_t +}; + +static const unsigned char kat129_entropyin[] = { + 0xe3, 0xcc, 0xb9, 0x91, 0xc3, 0xe1, 0xb3, 0xed, 0xa0, 0xb4, 0x0b, 0x51, + 0x42, 0xac, 0x84, 0xd3, +}; +static const unsigned char kat129_nonce[] = { + 0x99, 0x87, 0x57, 0xe0, 0x0d, 0xa2, 0xb9, 0xef, +}; +static const unsigned char kat129_persstr[] = {0}; +static const unsigned char kat129_addin0[] = {0}; +static const unsigned char kat129_addin1[] = {0}; +static const unsigned char kat129_retbits[] = { + 0xd3, 0x2b, 0xc1, 0x90, 0x99, 0x8f, 0x18, 0xe9, 0xd5, 0x50, 0x9f, 0x46, + 0x02, 0x29, 0x05, 0xd0, 0x11, 0xbb, 0xec, 0x77, 0x4f, 0x05, 0x83, 0x69, + 0x1d, 0x48, 0x12, 0x43, 0x79, 0xe8, 0x1d, 0x99, 0xf0, 0xcd, 0xd4, 0x61, + 0x38, 0xbc, 0xcc, 0x47, 0xeb, 0x77, 0x3f, 0x25, 0x7a, 0x66, 0x2b, 0x79, + 0x8f, 0xab, 0x27, 0x58, 0x86, 0x94, 0x89, 0x36, 0xbc, 0xe7, 0x2d, 0xbd, + 0x2c, 0x61, 0x88, 0xac, +}; +static const struct drbg_kat_no_reseed kat129_t = { + 8, kat129_entropyin, kat129_nonce, kat129_persstr, + kat129_addin0, kat129_addin1, kat129_retbits +}; +static const struct drbg_kat kat129 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat129_t +}; + +static const unsigned char kat130_entropyin[] = { + 0xc3, 0x4e, 0x39, 0x80, 0x41, 0xcc, 0xee, 0x23, 0x89, 0x7f, 0x7c, 0xa3, + 0x43, 0xf3, 0x56, 0x40, +}; +static const unsigned char kat130_nonce[] = { + 0xa2, 0x4f, 0x8e, 0xa0, 0x88, 0x6b, 0xf6, 0xbf, +}; +static const unsigned char kat130_persstr[] = {0}; +static const unsigned char kat130_addin0[] = {0}; +static const unsigned char kat130_addin1[] = {0}; +static const unsigned char kat130_retbits[] = { + 0x5f, 0xf0, 0xda, 0xef, 0x30, 0x04, 0xc5, 0x03, 0xb8, 0x09, 0x8e, 0x3b, + 0x96, 0x8a, 0x8e, 0x32, 0x33, 0x19, 0xbe, 0x78, 0x6c, 0x7b, 0x74, 0x2a, + 0xac, 0xee, 0x35, 0x5f, 0x1a, 0x3c, 0x9d, 0xe7, 0x50, 0x61, 0x10, 0x8e, + 0x79, 0x18, 0x13, 0x61, 0xf2, 0xe3, 0x30, 0x6a, 0xf0, 0x7b, 0xcd, 0xed, + 0x10, 0xe3, 0x2d, 0xef, 0x1b, 0x7b, 0xb3, 0xe4, 0xeb, 0xc1, 0x70, 0x96, + 0xc6, 0x93, 0x30, 0x58, +}; +static const struct drbg_kat_no_reseed kat130_t = { + 9, kat130_entropyin, kat130_nonce, kat130_persstr, + kat130_addin0, kat130_addin1, kat130_retbits +}; +static const struct drbg_kat kat130 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat130_t +}; + +static const unsigned char kat131_entropyin[] = { + 0xfc, 0x1f, 0xd2, 0x5c, 0xed, 0x5b, 0xd3, 0x0a, 0x62, 0x1c, 0xd4, 0xae, + 0x77, 0x96, 0x80, 0xad, +}; +static const unsigned char kat131_nonce[] = { + 0xaf, 0x17, 0xa9, 0xc9, 0x74, 0xb3, 0x6e, 0x6c, +}; +static const unsigned char kat131_persstr[] = {0}; +static const unsigned char kat131_addin0[] = {0}; +static const unsigned char kat131_addin1[] = {0}; +static const unsigned char kat131_retbits[] = { + 0x59, 0xf9, 0x9d, 0x08, 0x57, 0x49, 0x36, 0x74, 0x78, 0x68, 0x4a, 0x5d, + 0xdc, 0x8f, 0xe1, 0x81, 0xb9, 0x7a, 0x4e, 0x67, 0xfd, 0xe5, 0xc1, 0x51, + 0xc4, 0x69, 0x6d, 0x52, 0x3d, 0x7c, 0x14, 0xb7, 0x26, 0x89, 0xa9, 0x5a, + 0x5b, 0x60, 0x92, 0xe9, 0x49, 0xdd, 0x16, 0x3b, 0xd8, 0xf9, 0xe4, 0x57, + 0x27, 0xd2, 0xb8, 0xa3, 0x1e, 0xd2, 0x88, 0xc8, 0xc6, 0x22, 0x9e, 0x8b, + 0xe6, 0x80, 0x8e, 0xc8, +}; +static const struct drbg_kat_no_reseed kat131_t = { + 10, kat131_entropyin, kat131_nonce, kat131_persstr, + kat131_addin0, kat131_addin1, kat131_retbits +}; +static const struct drbg_kat kat131 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat131_t +}; + +static const unsigned char kat132_entropyin[] = { + 0x72, 0xc0, 0xe2, 0x3d, 0x92, 0x07, 0x0a, 0x8b, 0xab, 0x70, 0x7f, 0x65, + 0xd5, 0x95, 0x18, 0x6d, +}; +static const unsigned char kat132_nonce[] = { + 0x1a, 0x63, 0xdc, 0xfc, 0x52, 0xe5, 0x5c, 0x58, +}; +static const unsigned char kat132_persstr[] = {0}; +static const unsigned char kat132_addin0[] = {0}; +static const unsigned char kat132_addin1[] = {0}; +static const unsigned char kat132_retbits[] = { + 0x49, 0xfe, 0xc2, 0x67, 0x58, 0x85, 0xd5, 0x4a, 0x4c, 0x6b, 0x10, 0x1f, + 0x29, 0x19, 0x45, 0xc7, 0x35, 0xad, 0x9c, 0x2d, 0xb5, 0x1a, 0x63, 0xb9, + 0x41, 0xbc, 0x18, 0x2e, 0xe5, 0x1f, 0xd8, 0xfd, 0x84, 0xb8, 0xc6, 0x33, + 0x7b, 0x0f, 0x77, 0xf3, 0x10, 0xca, 0x50, 0x69, 0x3b, 0x91, 0xb5, 0x90, + 0xe3, 0xef, 0x65, 0x5b, 0xe7, 0xad, 0x76, 0x21, 0xed, 0x21, 0xff, 0x39, + 0xd3, 0x29, 0x2e, 0xfd, +}; +static const struct drbg_kat_no_reseed kat132_t = { + 11, kat132_entropyin, kat132_nonce, kat132_persstr, + kat132_addin0, kat132_addin1, kat132_retbits +}; +static const struct drbg_kat kat132 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat132_t +}; + +static const unsigned char kat133_entropyin[] = { + 0xa0, 0x90, 0x91, 0xca, 0x32, 0x80, 0xf7, 0xf5, 0x83, 0x76, 0xbf, 0x68, + 0x0d, 0xe1, 0x11, 0x92, +}; +static const unsigned char kat133_nonce[] = { + 0x1d, 0x08, 0xdc, 0x0d, 0x06, 0x00, 0x95, 0xb3, +}; +static const unsigned char kat133_persstr[] = {0}; +static const unsigned char kat133_addin0[] = {0}; +static const unsigned char kat133_addin1[] = {0}; +static const unsigned char kat133_retbits[] = { + 0x0d, 0x59, 0xac, 0xa0, 0x23, 0x64, 0x7f, 0x0b, 0xf2, 0x68, 0x81, 0xd9, + 0x12, 0x6b, 0xab, 0x8c, 0x7f, 0xea, 0x92, 0x2d, 0x2b, 0x4c, 0x24, 0xf1, + 0xdc, 0xc0, 0xbf, 0xf8, 0x7a, 0x3d, 0x0d, 0x1b, 0x1d, 0xa0, 0xe8, 0x75, + 0x62, 0x6a, 0x56, 0x42, 0x61, 0x86, 0xef, 0xd0, 0x07, 0x1f, 0x5a, 0x78, + 0x9f, 0xbf, 0x35, 0xfa, 0x8b, 0xfc, 0x85, 0xaf, 0xaf, 0xd3, 0xaf, 0x6c, + 0x9c, 0x7c, 0xd0, 0x7a, +}; +static const struct drbg_kat_no_reseed kat133_t = { + 12, kat133_entropyin, kat133_nonce, kat133_persstr, + kat133_addin0, kat133_addin1, kat133_retbits +}; +static const struct drbg_kat kat133 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat133_t +}; + +static const unsigned char kat134_entropyin[] = { + 0x8b, 0x41, 0x75, 0xd0, 0xa1, 0x95, 0x39, 0xef, 0x3d, 0x5d, 0x40, 0x84, + 0x6c, 0xb4, 0x0a, 0xb3, +}; +static const unsigned char kat134_nonce[] = { + 0x8c, 0x31, 0x0d, 0x43, 0x1c, 0xf0, 0x0b, 0x3e, +}; +static const unsigned char kat134_persstr[] = {0}; +static const unsigned char kat134_addin0[] = {0}; +static const unsigned char kat134_addin1[] = {0}; +static const unsigned char kat134_retbits[] = { + 0x92, 0xb3, 0xb0, 0xe5, 0x7a, 0xe4, 0xce, 0xfc, 0x40, 0xd6, 0xe5, 0xfa, + 0x0d, 0x9f, 0xa8, 0x5c, 0x97, 0x0c, 0x2d, 0xd0, 0xcd, 0x4e, 0x04, 0xd7, + 0x27, 0x27, 0x56, 0x63, 0x4b, 0x84, 0xcc, 0x20, 0xc5, 0x36, 0x8f, 0x3a, + 0x7b, 0x3e, 0x12, 0x11, 0xc5, 0xfa, 0x2e, 0x63, 0x35, 0x43, 0x6b, 0x88, + 0x58, 0x2d, 0x04, 0x8b, 0xc7, 0x6a, 0x7c, 0x19, 0xbb, 0xfe, 0xc1, 0x35, + 0xa1, 0x05, 0x5c, 0xbd, +}; +static const struct drbg_kat_no_reseed kat134_t = { + 13, kat134_entropyin, kat134_nonce, kat134_persstr, + kat134_addin0, kat134_addin1, kat134_retbits +}; +static const struct drbg_kat kat134 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat134_t +}; + +static const unsigned char kat135_entropyin[] = { + 0x68, 0xc8, 0x53, 0xb9, 0x12, 0x9c, 0xb2, 0x0a, 0x3d, 0xdf, 0x11, 0xe7, + 0x8a, 0x58, 0x75, 0xba, +}; +static const unsigned char kat135_nonce[] = { + 0xf5, 0xab, 0x54, 0x86, 0x05, 0xa5, 0x11, 0x03, +}; +static const unsigned char kat135_persstr[] = {0}; +static const unsigned char kat135_addin0[] = {0}; +static const unsigned char kat135_addin1[] = {0}; +static const unsigned char kat135_retbits[] = { + 0x43, 0xcf, 0xb0, 0x3a, 0x51, 0xd7, 0xda, 0x40, 0xb3, 0x94, 0x68, 0x36, + 0x1c, 0x2e, 0xe0, 0x78, 0x81, 0x90, 0x75, 0x87, 0x2f, 0x4f, 0x7c, 0x5d, + 0x2b, 0x09, 0xef, 0x39, 0x91, 0x46, 0x02, 0xa7, 0x2a, 0x62, 0xc6, 0x3e, + 0x29, 0x38, 0x3f, 0xbb, 0x9e, 0x45, 0x0f, 0xb2, 0xae, 0xf3, 0x2e, 0xb9, + 0xf3, 0x70, 0xcb, 0xbc, 0x1a, 0xb4, 0x70, 0x8a, 0x5d, 0x28, 0x98, 0xdf, + 0x8a, 0xe4, 0xf6, 0x26, +}; +static const struct drbg_kat_no_reseed kat135_t = { + 14, kat135_entropyin, kat135_nonce, kat135_persstr, + kat135_addin0, kat135_addin1, kat135_retbits +}; +static const struct drbg_kat kat135 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat135_t +}; + +static const unsigned char kat136_entropyin[] = { + 0x9b, 0xfa, 0xef, 0xb6, 0x98, 0xb1, 0xb5, 0xfc, 0xc6, 0x2d, 0xb2, 0xc1, + 0x64, 0x98, 0xc3, 0x3a, +}; +static const unsigned char kat136_nonce[] = { + 0x11, 0x1d, 0x86, 0x12, 0xa0, 0xf0, 0x4e, 0x2a, +}; +static const unsigned char kat136_persstr[] = {0}; +static const unsigned char kat136_addin0[] = { + 0xae, 0xdb, 0xe0, 0x28, 0x47, 0xb1, 0xb0, 0x8b, 0x6a, 0x67, 0x3b, 0xdf, + 0x25, 0xb0, 0x22, 0x4c, +}; +static const unsigned char kat136_addin1[] = { + 0x99, 0x01, 0xea, 0xd6, 0x2c, 0xe5, 0x65, 0x73, 0xb0, 0xf7, 0x1c, 0xd0, + 0x20, 0xfe, 0x34, 0x69, +}; +static const unsigned char kat136_retbits[] = { + 0xdf, 0xf8, 0xbf, 0x2a, 0xec, 0x53, 0x1f, 0x85, 0x32, 0x60, 0x7e, 0x73, + 0x8b, 0xd7, 0x9f, 0x91, 0xd6, 0x08, 0x5c, 0xb1, 0x95, 0x68, 0xb7, 0xb0, + 0x24, 0x0c, 0xe6, 0xa6, 0xb3, 0x71, 0xa2, 0x82, 0xba, 0xfc, 0xdb, 0xa0, + 0x21, 0x37, 0xdf, 0x99, 0x05, 0x35, 0xd9, 0xeb, 0xf0, 0xba, 0x77, 0x11, + 0x77, 0x51, 0x62, 0x6b, 0x26, 0x78, 0xac, 0xa7, 0xbe, 0x4d, 0xec, 0xfd, + 0x6b, 0x9d, 0x4b, 0x38, +}; +static const struct drbg_kat_no_reseed kat136_t = { + 0, kat136_entropyin, kat136_nonce, kat136_persstr, + kat136_addin0, kat136_addin1, kat136_retbits +}; +static const struct drbg_kat kat136 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat136_t +}; + +static const unsigned char kat137_entropyin[] = { + 0xdf, 0x99, 0x3f, 0xed, 0xd5, 0x96, 0x74, 0xa8, 0x7a, 0x15, 0x14, 0x7b, + 0x80, 0xbe, 0x37, 0xae, +}; +static const unsigned char kat137_nonce[] = { + 0x22, 0xb3, 0x31, 0x5a, 0xcc, 0xf1, 0xad, 0x13, +}; +static const unsigned char kat137_persstr[] = {0}; +static const unsigned char kat137_addin0[] = { + 0x9f, 0x9b, 0x94, 0x09, 0x04, 0x8a, 0x71, 0x17, 0x45, 0xc7, 0xef, 0x7a, + 0x6d, 0xdd, 0xc1, 0x7d, +}; +static const unsigned char kat137_addin1[] = { + 0xc5, 0x60, 0x68, 0x5b, 0xd4, 0x9c, 0x05, 0x9f, 0x04, 0x38, 0xe9, 0xdf, + 0xf6, 0x2d, 0x82, 0xd7, +}; +static const unsigned char kat137_retbits[] = { + 0x04, 0xd7, 0x4f, 0xa1, 0xb6, 0x9d, 0xe6, 0x89, 0x3a, 0x47, 0xbf, 0xb0, + 0xb6, 0xae, 0x58, 0xa7, 0x98, 0x4b, 0xbb, 0x08, 0x8f, 0xce, 0x62, 0x0b, + 0x9d, 0x8e, 0xbc, 0x0b, 0x54, 0xcd, 0xdb, 0xca, 0x00, 0x45, 0xd7, 0x5d, + 0x5b, 0x04, 0x6f, 0xcd, 0x88, 0x95, 0xc1, 0x6b, 0x05, 0x13, 0xaa, 0x52, + 0x1b, 0x8d, 0x4a, 0xf2, 0x76, 0x78, 0x3d, 0x9d, 0x25, 0x77, 0xac, 0xb3, + 0x2c, 0xea, 0xdb, 0x89, +}; +static const struct drbg_kat_no_reseed kat137_t = { + 1, kat137_entropyin, kat137_nonce, kat137_persstr, + kat137_addin0, kat137_addin1, kat137_retbits +}; +static const struct drbg_kat kat137 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat137_t +}; + +static const unsigned char kat138_entropyin[] = { + 0xdb, 0x4f, 0xae, 0x0c, 0x43, 0x02, 0xeb, 0xe8, 0x4f, 0x2a, 0x28, 0xad, + 0x98, 0x4d, 0xae, 0xc1, +}; +static const unsigned char kat138_nonce[] = { + 0x07, 0x9e, 0xbf, 0x0f, 0x00, 0x93, 0xcd, 0xb2, +}; +static const unsigned char kat138_persstr[] = {0}; +static const unsigned char kat138_addin0[] = { + 0x2f, 0xfb, 0x64, 0x85, 0xac, 0xe2, 0xad, 0x77, 0xd5, 0xf8, 0xad, 0xbd, + 0x09, 0xb3, 0xf3, 0x72, +}; +static const unsigned char kat138_addin1[] = { + 0xf4, 0xb8, 0x44, 0x74, 0x3d, 0x00, 0x65, 0xa0, 0x38, 0x98, 0x80, 0x49, + 0xf6, 0xaa, 0x53, 0xb5, +}; +static const unsigned char kat138_retbits[] = { + 0xcb, 0x8e, 0x71, 0x44, 0x8f, 0xf7, 0x91, 0x1e, 0x5c, 0xae, 0xa7, 0xd5, + 0x4a, 0x12, 0x94, 0x5e, 0xd3, 0x4b, 0xea, 0x42, 0xdb, 0xb6, 0x57, 0x3b, + 0xf8, 0x42, 0x0d, 0xbb, 0x6b, 0xae, 0x6a, 0x11, 0xe0, 0x24, 0x82, 0x92, + 0xc9, 0xd9, 0x3d, 0xa3, 0x09, 0x68, 0x56, 0xe0, 0xf2, 0x94, 0x18, 0xf1, + 0xc8, 0x0d, 0x13, 0x8b, 0x34, 0x15, 0x66, 0x7b, 0xfb, 0x45, 0x6b, 0x08, + 0x9f, 0x26, 0x62, 0x1a, +}; +static const struct drbg_kat_no_reseed kat138_t = { + 2, kat138_entropyin, kat138_nonce, kat138_persstr, + kat138_addin0, kat138_addin1, kat138_retbits +}; +static const struct drbg_kat kat138 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat138_t +}; + +static const unsigned char kat139_entropyin[] = { + 0xa4, 0x23, 0x48, 0xf1, 0xbe, 0xc0, 0x6f, 0x58, 0x36, 0xfc, 0xa0, 0x60, + 0x66, 0x14, 0x34, 0xc0, +}; +static const unsigned char kat139_nonce[] = { + 0x2f, 0x70, 0xf6, 0xa2, 0xe7, 0xd0, 0xb4, 0x36, +}; +static const unsigned char kat139_persstr[] = {0}; +static const unsigned char kat139_addin0[] = { + 0x54, 0x70, 0x91, 0xef, 0x85, 0xb0, 0x13, 0xf3, 0xf5, 0xdc, 0x82, 0x2a, + 0x5b, 0x3f, 0x27, 0xf9, +}; +static const unsigned char kat139_addin1[] = { + 0x2c, 0xa9, 0x9e, 0xe7, 0x97, 0xf4, 0xa9, 0xb1, 0x67, 0x88, 0xd2, 0x98, + 0xbb, 0xa2, 0xd1, 0x83, +}; +static const unsigned char kat139_retbits[] = { + 0x4b, 0x41, 0xed, 0x62, 0x81, 0xa8, 0x1d, 0x44, 0x2a, 0x8c, 0xb0, 0x3a, + 0x81, 0x45, 0xfe, 0x78, 0x86, 0x3d, 0x25, 0xd7, 0xee, 0x70, 0xe7, 0x2d, + 0x4d, 0x3a, 0xfd, 0x51, 0x68, 0x16, 0x48, 0x76, 0xa6, 0x6b, 0x5a, 0xca, + 0x31, 0x8c, 0x9c, 0x91, 0x17, 0x23, 0x05, 0xe3, 0x88, 0xe1, 0xda, 0xc3, + 0x86, 0xcb, 0xab, 0x6d, 0x15, 0x0a, 0x39, 0x12, 0x36, 0x9c, 0x93, 0x90, + 0x08, 0x6b, 0xd7, 0x44, +}; +static const struct drbg_kat_no_reseed kat139_t = { + 3, kat139_entropyin, kat139_nonce, kat139_persstr, + kat139_addin0, kat139_addin1, kat139_retbits +}; +static const struct drbg_kat kat139 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat139_t +}; + +static const unsigned char kat140_entropyin[] = { + 0x14, 0x83, 0xb9, 0x8e, 0x08, 0xc0, 0x40, 0x12, 0xb0, 0x3f, 0x1f, 0x61, + 0x02, 0xa2, 0x83, 0x06, +}; +static const unsigned char kat140_nonce[] = { + 0x89, 0xe6, 0x7c, 0xa1, 0xda, 0x05, 0xdd, 0x4f, +}; +static const unsigned char kat140_persstr[] = {0}; +static const unsigned char kat140_addin0[] = { + 0x30, 0x85, 0x9e, 0xcc, 0x30, 0x25, 0x04, 0x79, 0x30, 0xb3, 0x85, 0x3a, + 0xe6, 0x8a, 0xbd, 0xa2, +}; +static const unsigned char kat140_addin1[] = { + 0xf5, 0x05, 0x57, 0xf0, 0x40, 0x29, 0x28, 0x6c, 0xaf, 0xb2, 0xfc, 0xbf, + 0x14, 0x64, 0xe4, 0xe5, +}; +static const unsigned char kat140_retbits[] = { + 0x45, 0xac, 0xf5, 0x2f, 0xf5, 0x69, 0xcc, 0x48, 0x15, 0x95, 0x88, 0x01, + 0x62, 0x89, 0x3b, 0x57, 0x9b, 0xe4, 0x05, 0x43, 0xc5, 0x6a, 0x94, 0xb7, + 0x18, 0x4b, 0xc9, 0x92, 0xd1, 0xdf, 0x37, 0x85, 0x18, 0xf9, 0x3f, 0xb4, + 0xd9, 0x75, 0x5d, 0x86, 0x58, 0xe9, 0x72, 0x2b, 0x34, 0x79, 0x53, 0x6b, + 0xa4, 0x83, 0x9a, 0x8e, 0xee, 0x7a, 0x65, 0x5f, 0xed, 0x88, 0x4a, 0xaf, + 0x5a, 0x55, 0x6e, 0xb7, +}; +static const struct drbg_kat_no_reseed kat140_t = { + 4, kat140_entropyin, kat140_nonce, kat140_persstr, + kat140_addin0, kat140_addin1, kat140_retbits +}; +static const struct drbg_kat kat140 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat140_t +}; + +static const unsigned char kat141_entropyin[] = { + 0xbe, 0x9f, 0xcd, 0xd7, 0x11, 0xce, 0x1b, 0x0a, 0x3c, 0x97, 0xb1, 0xac, + 0x19, 0x79, 0x20, 0x7d, +}; +static const unsigned char kat141_nonce[] = { + 0xa8, 0x02, 0x94, 0xb5, 0xd6, 0x59, 0xff, 0xb4, +}; +static const unsigned char kat141_persstr[] = {0}; +static const unsigned char kat141_addin0[] = { + 0xb2, 0x0c, 0x04, 0x54, 0x6a, 0x0c, 0x6a, 0x5e, 0x6b, 0x95, 0x63, 0x7c, + 0x96, 0x0b, 0xca, 0x63, +}; +static const unsigned char kat141_addin1[] = { + 0x67, 0x07, 0xcc, 0x21, 0x7f, 0xb1, 0x98, 0xaf, 0x85, 0x2e, 0x06, 0xdb, + 0x14, 0x61, 0x58, 0x05, +}; +static const unsigned char kat141_retbits[] = { + 0x6b, 0x62, 0x0c, 0x76, 0xf0, 0xb1, 0xa4, 0xa3, 0xd7, 0xf0, 0xf6, 0x0a, + 0x76, 0x45, 0x81, 0x1b, 0xb7, 0x9b, 0xf1, 0x84, 0x77, 0xf8, 0x5b, 0x94, + 0xf0, 0xee, 0x09, 0xe0, 0xc6, 0x8b, 0x0f, 0xdb, 0x3e, 0x11, 0xd8, 0xe5, + 0x8a, 0x34, 0xd2, 0x4f, 0xe3, 0x6e, 0x8b, 0x7e, 0xa7, 0x2a, 0x26, 0xb6, + 0xcb, 0x92, 0xd9, 0x87, 0xc5, 0x81, 0xab, 0x48, 0xe5, 0xfb, 0x8f, 0xb7, + 0x0f, 0x76, 0x5f, 0x5f, +}; +static const struct drbg_kat_no_reseed kat141_t = { + 5, kat141_entropyin, kat141_nonce, kat141_persstr, + kat141_addin0, kat141_addin1, kat141_retbits +}; +static const struct drbg_kat kat141 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat141_t +}; + +static const unsigned char kat142_entropyin[] = { + 0xa5, 0x8e, 0xb5, 0x4d, 0x10, 0x9b, 0x51, 0x4d, 0xb3, 0x38, 0xfc, 0xce, + 0xa2, 0x8e, 0xf2, 0xea, +}; +static const unsigned char kat142_nonce[] = { + 0x91, 0x2d, 0x24, 0xa1, 0xd8, 0x1d, 0xe7, 0xdc, +}; +static const unsigned char kat142_persstr[] = {0}; +static const unsigned char kat142_addin0[] = { + 0x59, 0xd4, 0x59, 0xb0, 0x73, 0x52, 0x60, 0x21, 0xec, 0x45, 0x51, 0x12, + 0x56, 0xcf, 0xb3, 0x58, +}; +static const unsigned char kat142_addin1[] = { + 0xf7, 0x9f, 0x7e, 0x5a, 0x2a, 0x79, 0x1a, 0x39, 0xbb, 0x32, 0xb6, 0xb1, + 0x5f, 0xe0, 0x14, 0x61, +}; +static const unsigned char kat142_retbits[] = { + 0xc1, 0x26, 0xd4, 0x09, 0xc2, 0x0d, 0x5d, 0x3d, 0x4c, 0x79, 0x46, 0x12, + 0x56, 0xf5, 0x40, 0x3d, 0x1c, 0xc5, 0x9b, 0xcf, 0x11, 0xa4, 0xa6, 0x16, + 0xab, 0xf0, 0x65, 0x30, 0x32, 0xe0, 0x45, 0x0a, 0x11, 0xf3, 0x2f, 0x38, + 0x16, 0xc3, 0x51, 0x91, 0x2f, 0xe8, 0xe3, 0x00, 0x84, 0xed, 0x34, 0xdb, + 0xcd, 0x0a, 0x9c, 0x95, 0xe1, 0xc0, 0x13, 0x62, 0xef, 0x61, 0x6d, 0xd2, + 0x2a, 0x13, 0x7f, 0x72, +}; +static const struct drbg_kat_no_reseed kat142_t = { + 6, kat142_entropyin, kat142_nonce, kat142_persstr, + kat142_addin0, kat142_addin1, kat142_retbits +}; +static const struct drbg_kat kat142 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat142_t +}; + +static const unsigned char kat143_entropyin[] = { + 0xe0, 0xa5, 0xd9, 0x4d, 0x0c, 0xa9, 0x5a, 0x7b, 0x38, 0x0b, 0x99, 0x9c, + 0x69, 0xd9, 0x01, 0x1c, +}; +static const unsigned char kat143_nonce[] = { + 0x47, 0xcd, 0xc5, 0x5a, 0x19, 0x56, 0xaf, 0x8d, +}; +static const unsigned char kat143_persstr[] = {0}; +static const unsigned char kat143_addin0[] = { + 0xa9, 0x16, 0x84, 0xd0, 0x12, 0xdc, 0x48, 0x83, 0x0b, 0xe4, 0xcf, 0xae, + 0xe2, 0xfc, 0x88, 0x54, +}; +static const unsigned char kat143_addin1[] = { + 0xa0, 0x61, 0xc2, 0xb1, 0x3b, 0xf1, 0x00, 0x6d, 0x3b, 0xa2, 0xf2, 0x29, + 0x7f, 0x95, 0x4f, 0xb5, +}; +static const unsigned char kat143_retbits[] = { + 0xe1, 0x36, 0xea, 0x57, 0x3d, 0x1d, 0x81, 0xec, 0xb7, 0x84, 0x2e, 0xc4, + 0x3a, 0xf0, 0xb4, 0xb9, 0x78, 0x3f, 0x3f, 0xe4, 0xb1, 0xab, 0x90, 0x24, + 0xc6, 0x2e, 0xae, 0xf0, 0x86, 0x0e, 0x81, 0x3d, 0x5a, 0x24, 0xf1, 0xa5, + 0xfa, 0xb7, 0x4b, 0x8f, 0x1f, 0x66, 0x1b, 0x50, 0x39, 0x29, 0x02, 0x56, + 0xd0, 0xe5, 0xaa, 0xa9, 0xe0, 0xfd, 0xab, 0x3a, 0x18, 0x9b, 0x2d, 0x66, + 0x95, 0x89, 0x39, 0x99, +}; +static const struct drbg_kat_no_reseed kat143_t = { + 7, kat143_entropyin, kat143_nonce, kat143_persstr, + kat143_addin0, kat143_addin1, kat143_retbits +}; +static const struct drbg_kat kat143 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat143_t +}; + +static const unsigned char kat144_entropyin[] = { + 0x91, 0x8b, 0xda, 0x9e, 0x89, 0x72, 0x7b, 0xbd, 0x97, 0x04, 0x25, 0xc7, + 0x48, 0x3e, 0xf1, 0xaf, +}; +static const unsigned char kat144_nonce[] = { + 0xfc, 0x3b, 0xee, 0xec, 0x38, 0x0b, 0x02, 0xc2, +}; +static const unsigned char kat144_persstr[] = {0}; +static const unsigned char kat144_addin0[] = { + 0x6f, 0x48, 0x36, 0x73, 0xaf, 0x64, 0xbc, 0xd7, 0x4c, 0xfe, 0xff, 0x3f, + 0x98, 0xb6, 0xcd, 0x5a, +}; +static const unsigned char kat144_addin1[] = { + 0x15, 0xbd, 0x5e, 0xab, 0xba, 0x23, 0x2d, 0xf5, 0xa1, 0xb6, 0x03, 0xa2, + 0xfc, 0x16, 0x39, 0xc0, +}; +static const unsigned char kat144_retbits[] = { + 0x43, 0x85, 0x55, 0x1a, 0x3a, 0x7d, 0xd9, 0x0d, 0x77, 0xa7, 0x65, 0xf7, + 0xcb, 0x85, 0x9d, 0x80, 0xab, 0x6a, 0xc4, 0x84, 0x8e, 0x3b, 0xd9, 0x11, + 0x01, 0xb4, 0x52, 0x32, 0x34, 0xca, 0x0f, 0x16, 0xc0, 0x6a, 0x45, 0x79, + 0xa9, 0x7e, 0xa5, 0x1d, 0xb0, 0x37, 0xfd, 0x8b, 0x8c, 0x40, 0x83, 0xcd, + 0xb6, 0xf4, 0xed, 0x97, 0x56, 0xf5, 0xa4, 0x48, 0x8b, 0xb5, 0xdf, 0xcf, + 0x7a, 0x8f, 0x8a, 0x9a, +}; +static const struct drbg_kat_no_reseed kat144_t = { + 8, kat144_entropyin, kat144_nonce, kat144_persstr, + kat144_addin0, kat144_addin1, kat144_retbits +}; +static const struct drbg_kat kat144 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat144_t +}; + +static const unsigned char kat145_entropyin[] = { + 0xd8, 0xad, 0xd3, 0x82, 0xd4, 0xdc, 0x7a, 0x1d, 0x10, 0xd4, 0x63, 0x03, + 0x17, 0x39, 0x18, 0x01, +}; +static const unsigned char kat145_nonce[] = { + 0x6f, 0xc0, 0xb1, 0xa3, 0xaa, 0x2b, 0x3a, 0xdb, +}; +static const unsigned char kat145_persstr[] = {0}; +static const unsigned char kat145_addin0[] = { + 0x10, 0x1f, 0xcf, 0xd6, 0x60, 0x80, 0x75, 0xdc, 0xbb, 0xf2, 0xeb, 0xe8, + 0x32, 0xd9, 0x6b, 0x13, +}; +static const unsigned char kat145_addin1[] = { + 0x63, 0x2f, 0x7a, 0x11, 0xfb, 0xa9, 0x79, 0xd2, 0x97, 0x9e, 0x41, 0x7e, + 0x2d, 0xed, 0x1d, 0x30, +}; +static const unsigned char kat145_retbits[] = { + 0xa6, 0xa1, 0x55, 0x95, 0xbb, 0xd8, 0x57, 0xbb, 0x62, 0x15, 0x04, 0xc8, + 0x5f, 0x03, 0x03, 0x3c, 0xe4, 0x7b, 0x5d, 0xf8, 0x62, 0x96, 0xb8, 0x0d, + 0x40, 0xd0, 0x09, 0xfe, 0x6c, 0x5e, 0x1f, 0xff, 0xf0, 0x84, 0x04, 0x56, + 0x99, 0x0a, 0x14, 0xf3, 0xa1, 0xc4, 0x9c, 0x36, 0x73, 0x7b, 0x70, 0xb6, + 0x2f, 0x40, 0x6f, 0xa3, 0xc5, 0x32, 0x95, 0x2f, 0xb2, 0x2e, 0xfc, 0x76, + 0x00, 0x9a, 0x1b, 0x1a, +}; +static const struct drbg_kat_no_reseed kat145_t = { + 9, kat145_entropyin, kat145_nonce, kat145_persstr, + kat145_addin0, kat145_addin1, kat145_retbits +}; +static const struct drbg_kat kat145 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat145_t +}; + +static const unsigned char kat146_entropyin[] = { + 0xd1, 0x9f, 0xa3, 0x38, 0xc7, 0xbd, 0x52, 0x40, 0x74, 0x7b, 0xac, 0xab, + 0x70, 0x32, 0x8f, 0xb3, +}; +static const unsigned char kat146_nonce[] = { + 0x5b, 0x42, 0x82, 0x35, 0x41, 0x42, 0x83, 0xb4, +}; +static const unsigned char kat146_persstr[] = {0}; +static const unsigned char kat146_addin0[] = { + 0xf3, 0x7c, 0x9f, 0xeb, 0x90, 0xc9, 0x6a, 0x26, 0x3f, 0x41, 0xb1, 0xc4, + 0x98, 0xd5, 0xe0, 0x75, +}; +static const unsigned char kat146_addin1[] = { + 0xa3, 0xd8, 0x86, 0x96, 0xfc, 0x1a, 0x44, 0x70, 0x28, 0x42, 0x31, 0x71, + 0xba, 0xd4, 0x65, 0x24, +}; +static const unsigned char kat146_retbits[] = { + 0x11, 0xee, 0x72, 0xb4, 0x81, 0xd5, 0x54, 0xf0, 0xfe, 0x49, 0xdc, 0x27, + 0x37, 0x46, 0x6d, 0x5f, 0x5a, 0x64, 0x76, 0xa2, 0xb5, 0xb2, 0xf9, 0x3c, + 0xd6, 0x0e, 0xe8, 0xab, 0x1b, 0xf7, 0x56, 0x3d, 0x3e, 0xbc, 0x60, 0x5e, + 0x44, 0xc3, 0x65, 0xe7, 0x86, 0x5b, 0xff, 0x31, 0xc0, 0x77, 0xd1, 0x76, + 0xd3, 0x61, 0xa4, 0x24, 0x06, 0x27, 0xde, 0xb2, 0x8a, 0xd5, 0x68, 0x50, + 0x46, 0x91, 0xf9, 0x47, +}; +static const struct drbg_kat_no_reseed kat146_t = { + 10, kat146_entropyin, kat146_nonce, kat146_persstr, + kat146_addin0, kat146_addin1, kat146_retbits +}; +static const struct drbg_kat kat146 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat146_t +}; + +static const unsigned char kat147_entropyin[] = { + 0xc3, 0xd8, 0x2c, 0x63, 0x01, 0x41, 0x77, 0xe6, 0x2b, 0xda, 0x82, 0xdd, + 0xe9, 0x11, 0x54, 0x50, +}; +static const unsigned char kat147_nonce[] = { + 0x5e, 0x6f, 0x3b, 0x1c, 0x75, 0x70, 0x6f, 0x5f, +}; +static const unsigned char kat147_persstr[] = {0}; +static const unsigned char kat147_addin0[] = { + 0x72, 0xa7, 0x17, 0xc6, 0x6f, 0xb2, 0x69, 0x06, 0xd6, 0x99, 0x5d, 0x3e, + 0xec, 0xc5, 0x79, 0xd9, +}; +static const unsigned char kat147_addin1[] = { + 0xb1, 0xb7, 0xa9, 0xad, 0x3c, 0x64, 0x35, 0x5d, 0x5d, 0x70, 0xf0, 0x3c, + 0x7b, 0x83, 0x29, 0xb0, +}; +static const unsigned char kat147_retbits[] = { + 0x34, 0xc3, 0x09, 0xf2, 0x35, 0x27, 0x09, 0xa9, 0x1f, 0x1f, 0x1a, 0x6a, + 0xfb, 0x60, 0x14, 0x66, 0xf8, 0x6d, 0xc8, 0x02, 0x2b, 0xcb, 0xfd, 0xee, + 0x09, 0x51, 0x90, 0xa8, 0x5f, 0xe1, 0xf0, 0x33, 0x2b, 0x8b, 0xab, 0x32, + 0xf4, 0x42, 0x49, 0x43, 0x00, 0x41, 0xcb, 0x0c, 0xf2, 0xc4, 0x0d, 0x9c, + 0xdd, 0x0c, 0x0d, 0xf4, 0x23, 0xe3, 0x4f, 0x2d, 0xa8, 0xd7, 0xf7, 0xb8, + 0x32, 0x94, 0x56, 0x19, +}; +static const struct drbg_kat_no_reseed kat147_t = { + 11, kat147_entropyin, kat147_nonce, kat147_persstr, + kat147_addin0, kat147_addin1, kat147_retbits +}; +static const struct drbg_kat kat147 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat147_t +}; + +static const unsigned char kat148_entropyin[] = { + 0x1c, 0x34, 0x80, 0x46, 0x79, 0x40, 0x8c, 0x0d, 0xd1, 0xc0, 0xb0, 0xb2, + 0xcb, 0x4c, 0x0c, 0x8d, +}; +static const unsigned char kat148_nonce[] = { + 0x23, 0xe6, 0xd5, 0xa1, 0x31, 0x74, 0x0e, 0xc9, +}; +static const unsigned char kat148_persstr[] = {0}; +static const unsigned char kat148_addin0[] = { + 0x8b, 0x99, 0xe4, 0x48, 0x55, 0x10, 0xe7, 0xc4, 0xef, 0x31, 0x86, 0xc7, + 0x5d, 0x0f, 0x42, 0x1d, +}; +static const unsigned char kat148_addin1[] = { + 0xcc, 0x1e, 0xcf, 0x02, 0x3c, 0x9b, 0xea, 0xfb, 0x63, 0x48, 0x69, 0x57, + 0x32, 0x7c, 0x2b, 0xde, +}; +static const unsigned char kat148_retbits[] = { + 0x7f, 0xbf, 0x33, 0xf0, 0x51, 0x08, 0x78, 0x6f, 0xe0, 0x19, 0x97, 0x14, + 0x6a, 0x27, 0xe5, 0x94, 0x68, 0x76, 0x49, 0x9a, 0x8b, 0xa5, 0x2a, 0x71, + 0x47, 0x16, 0xd9, 0x82, 0xce, 0xa2, 0x3f, 0x39, 0x2d, 0x40, 0x23, 0x4d, + 0x3e, 0x00, 0x33, 0x8d, 0x1a, 0xc8, 0x80, 0x9d, 0x43, 0xc7, 0x79, 0x42, + 0x40, 0x30, 0x19, 0x3b, 0xc6, 0x12, 0x3b, 0x70, 0x67, 0xb6, 0xa8, 0xc2, + 0xed, 0x17, 0x9a, 0x25, +}; +static const struct drbg_kat_no_reseed kat148_t = { + 12, kat148_entropyin, kat148_nonce, kat148_persstr, + kat148_addin0, kat148_addin1, kat148_retbits +}; +static const struct drbg_kat kat148 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat148_t +}; + +static const unsigned char kat149_entropyin[] = { + 0xaa, 0x70, 0xaa, 0x9d, 0x3c, 0x0a, 0x77, 0xf8, 0x68, 0x38, 0x80, 0x5e, + 0xef, 0x34, 0x82, 0xba, +}; +static const unsigned char kat149_nonce[] = { + 0xcf, 0x7a, 0x0f, 0x57, 0xc7, 0xde, 0xdf, 0x50, +}; +static const unsigned char kat149_persstr[] = {0}; +static const unsigned char kat149_addin0[] = { + 0xf6, 0xd4, 0x76, 0xea, 0xe4, 0x2f, 0x02, 0xc9, 0xec, 0x21, 0x98, 0x12, + 0x29, 0xd0, 0xf9, 0x76, +}; +static const unsigned char kat149_addin1[] = { + 0x1a, 0xa4, 0x1e, 0xfd, 0xf1, 0x06, 0xe5, 0xa3, 0xe5, 0xd9, 0x76, 0x77, + 0x8b, 0x8f, 0x0c, 0x32, +}; +static const unsigned char kat149_retbits[] = { + 0x84, 0xc1, 0xc0, 0x61, 0x9f, 0x69, 0x79, 0xe2, 0xf4, 0xd2, 0xab, 0xc6, + 0x33, 0x35, 0x42, 0xbf, 0x42, 0xfd, 0x32, 0x79, 0x14, 0x2f, 0x07, 0x1d, + 0xad, 0xb2, 0x64, 0x45, 0xfb, 0x2d, 0xe5, 0x1c, 0x4f, 0xad, 0x68, 0x1d, + 0xce, 0x89, 0x18, 0xaf, 0x3a, 0xe1, 0x64, 0x19, 0xfa, 0xfa, 0x3c, 0x55, + 0x26, 0xd8, 0xc4, 0x78, 0x59, 0x9e, 0x85, 0xee, 0x61, 0xa2, 0x73, 0x18, + 0x36, 0x05, 0x45, 0x0e, +}; +static const struct drbg_kat_no_reseed kat149_t = { + 13, kat149_entropyin, kat149_nonce, kat149_persstr, + kat149_addin0, kat149_addin1, kat149_retbits +}; +static const struct drbg_kat kat149 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat149_t +}; + +static const unsigned char kat150_entropyin[] = { + 0x94, 0xc6, 0x97, 0x57, 0xc9, 0x75, 0xe5, 0x3c, 0xa9, 0x44, 0xcb, 0xe8, + 0xf7, 0x68, 0x6f, 0x85, +}; +static const unsigned char kat150_nonce[] = { + 0x6e, 0x14, 0x5c, 0xc7, 0xd7, 0x2d, 0xec, 0x57, +}; +static const unsigned char kat150_persstr[] = {0}; +static const unsigned char kat150_addin0[] = { + 0xce, 0x08, 0x94, 0x6b, 0x04, 0xfd, 0x83, 0x13, 0xdc, 0xda, 0x8c, 0xde, + 0x3b, 0x0f, 0xf9, 0xdf, +}; +static const unsigned char kat150_addin1[] = { + 0x9f, 0xfc, 0x93, 0x9d, 0x30, 0x5a, 0xe5, 0x86, 0xd8, 0x6a, 0x1a, 0x14, + 0x70, 0x32, 0x68, 0x0b, +}; +static const unsigned char kat150_retbits[] = { + 0xb1, 0xd7, 0xb3, 0x87, 0xa9, 0xf6, 0x7b, 0x91, 0x50, 0x55, 0xe6, 0x82, + 0x98, 0xe0, 0x37, 0x73, 0xa0, 0x19, 0x75, 0x56, 0xf8, 0xd4, 0xb7, 0xe0, + 0x29, 0x52, 0x03, 0x35, 0xef, 0xdc, 0xe2, 0xac, 0xb0, 0xd4, 0xd4, 0xcd, + 0xae, 0x8a, 0xf8, 0xc0, 0x9f, 0xb5, 0x7a, 0x21, 0x5f, 0x20, 0x87, 0xab, + 0xb8, 0x4e, 0xc8, 0x5b, 0x12, 0xdc, 0x3a, 0x85, 0x3d, 0x73, 0xa4, 0xdd, + 0x11, 0x43, 0x00, 0xc5, +}; +static const struct drbg_kat_no_reseed kat150_t = { + 14, kat150_entropyin, kat150_nonce, kat150_persstr, + kat150_addin0, kat150_addin1, kat150_retbits +}; +static const struct drbg_kat kat150 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat150_t +}; + +static const unsigned char kat151_entropyin[] = { + 0xab, 0xa3, 0x6f, 0xf7, 0xa5, 0x35, 0x37, 0x45, 0x4b, 0x5c, 0xb2, 0x68, + 0x39, 0x17, 0x15, 0x40, +}; +static const unsigned char kat151_nonce[] = { + 0x68, 0x71, 0xc0, 0xf5, 0x26, 0xfb, 0xcd, 0xc7, +}; +static const unsigned char kat151_persstr[] = { + 0xdb, 0xc4, 0x4a, 0xf4, 0x98, 0x16, 0x1f, 0x1f, 0x2a, 0xf6, 0xfc, 0xe6, + 0x6c, 0xcc, 0x30, 0xa8, +}; +static const unsigned char kat151_addin0[] = {0}; +static const unsigned char kat151_addin1[] = {0}; +static const unsigned char kat151_retbits[] = { + 0xaf, 0x68, 0x6e, 0x9a, 0xaf, 0x10, 0xaa, 0xbc, 0xbb, 0x44, 0xb3, 0x74, + 0x89, 0x53, 0xad, 0x18, 0x5d, 0xbf, 0x12, 0x89, 0x8e, 0x52, 0x4d, 0x04, + 0x08, 0x61, 0x02, 0xe4, 0x5f, 0x38, 0x41, 0xc6, 0x50, 0xf6, 0x23, 0xf4, + 0x8f, 0x54, 0x2c, 0xaa, 0x14, 0x79, 0x3e, 0x4f, 0xcb, 0xbc, 0xf2, 0xe4, + 0x61, 0xbe, 0x1c, 0x01, 0xed, 0x8f, 0x1f, 0x48, 0xb9, 0x70, 0x4d, 0x79, + 0xa8, 0xeb, 0xf7, 0x9d, +}; +static const struct drbg_kat_no_reseed kat151_t = { + 0, kat151_entropyin, kat151_nonce, kat151_persstr, + kat151_addin0, kat151_addin1, kat151_retbits +}; +static const struct drbg_kat kat151 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat151_t +}; + +static const unsigned char kat152_entropyin[] = { + 0x47, 0xaf, 0xb8, 0x3e, 0x3a, 0xda, 0x22, 0x0f, 0x7d, 0x7e, 0x63, 0x82, + 0xa8, 0xb3, 0x8c, 0xbb, +}; +static const unsigned char kat152_nonce[] = { + 0x7a, 0xb8, 0xae, 0x9b, 0xac, 0x8b, 0x15, 0xa5, +}; +static const unsigned char kat152_persstr[] = { + 0x8b, 0xec, 0x1c, 0xb2, 0xd1, 0x80, 0xb3, 0x67, 0x7c, 0xd1, 0xa8, 0x60, + 0x4b, 0x61, 0x4d, 0xbe, +}; +static const unsigned char kat152_addin0[] = {0}; +static const unsigned char kat152_addin1[] = {0}; +static const unsigned char kat152_retbits[] = { + 0x90, 0xcf, 0x1d, 0x9e, 0x65, 0xd9, 0x76, 0xca, 0xce, 0x2f, 0x20, 0xe7, + 0x81, 0x47, 0xd5, 0x04, 0x0d, 0x02, 0x23, 0x7e, 0x04, 0x17, 0x3f, 0x1f, + 0x37, 0x10, 0xe5, 0x22, 0x7d, 0xcb, 0x85, 0x64, 0x68, 0x4f, 0x2e, 0xba, + 0x38, 0xe1, 0xde, 0xf7, 0x2b, 0x93, 0xbe, 0xdb, 0x44, 0x85, 0xf2, 0xb8, + 0x17, 0xee, 0x66, 0xc1, 0x89, 0x02, 0x4b, 0x2a, 0x12, 0x73, 0x65, 0xbc, + 0x83, 0x50, 0x08, 0x71, +}; +static const struct drbg_kat_no_reseed kat152_t = { + 1, kat152_entropyin, kat152_nonce, kat152_persstr, + kat152_addin0, kat152_addin1, kat152_retbits +}; +static const struct drbg_kat kat152 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat152_t +}; + +static const unsigned char kat153_entropyin[] = { + 0xbb, 0x69, 0x93, 0xaf, 0xf4, 0x80, 0x4a, 0x87, 0xdd, 0x42, 0x59, 0x73, + 0xfd, 0xe3, 0x53, 0x11, +}; +static const unsigned char kat153_nonce[] = { + 0xfb, 0x14, 0x70, 0x0b, 0x33, 0x5a, 0x01, 0x46, +}; +static const unsigned char kat153_persstr[] = { + 0x1e, 0xb0, 0x65, 0x44, 0xca, 0xa8, 0x6e, 0x2a, 0xc4, 0x58, 0x8a, 0xa8, + 0x51, 0xe8, 0xfc, 0x0e, +}; +static const unsigned char kat153_addin0[] = {0}; +static const unsigned char kat153_addin1[] = {0}; +static const unsigned char kat153_retbits[] = { + 0x4e, 0xe7, 0x27, 0x07, 0x3a, 0xba, 0xa3, 0xd7, 0x41, 0x8d, 0x6b, 0x3e, + 0x3b, 0xd4, 0x67, 0xc9, 0x28, 0x48, 0x54, 0x42, 0x3b, 0xa6, 0xd4, 0xef, + 0x02, 0xb2, 0xda, 0xbf, 0x14, 0xb9, 0xb8, 0x24, 0xb2, 0x7a, 0xda, 0x2b, + 0x4a, 0x42, 0xf7, 0xdd, 0x1c, 0xd3, 0x9d, 0xc4, 0x42, 0x0e, 0xe6, 0xe8, + 0x43, 0xfa, 0x7f, 0x2e, 0xee, 0x06, 0xbb, 0x05, 0xc6, 0x47, 0xdc, 0xc0, + 0xd6, 0x97, 0xc0, 0x09, +}; +static const struct drbg_kat_no_reseed kat153_t = { + 2, kat153_entropyin, kat153_nonce, kat153_persstr, + kat153_addin0, kat153_addin1, kat153_retbits +}; +static const struct drbg_kat kat153 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat153_t +}; + +static const unsigned char kat154_entropyin[] = { + 0xa0, 0x5d, 0x9d, 0x84, 0xa5, 0x0d, 0xe7, 0x97, 0x01, 0xc7, 0x59, 0x59, + 0xaf, 0x26, 0xa8, 0xfa, +}; +static const unsigned char kat154_nonce[] = { + 0x7e, 0xde, 0x7f, 0x16, 0x30, 0xdc, 0x01, 0xf7, +}; +static const unsigned char kat154_persstr[] = { + 0x54, 0xf5, 0xd6, 0xe5, 0xd9, 0xb1, 0xfe, 0xb0, 0xa1, 0xc3, 0xd9, 0xa7, + 0xec, 0x81, 0xdd, 0x98, +}; +static const unsigned char kat154_addin0[] = {0}; +static const unsigned char kat154_addin1[] = {0}; +static const unsigned char kat154_retbits[] = { + 0xf4, 0x7a, 0xab, 0x57, 0xdf, 0xff, 0x93, 0x1d, 0x4b, 0xfc, 0x75, 0xa0, + 0x13, 0x11, 0x86, 0xf0, 0xf5, 0xc1, 0x50, 0x5e, 0x9c, 0x6c, 0x7e, 0xb9, + 0x35, 0xe3, 0x1b, 0x49, 0xf1, 0x34, 0xef, 0xc0, 0x0e, 0x45, 0xfc, 0x96, + 0x73, 0x58, 0xee, 0xc4, 0xa9, 0x21, 0xfd, 0xa0, 0xd0, 0x53, 0x7d, 0x9e, + 0x4f, 0xb3, 0x3b, 0x26, 0x3d, 0xb8, 0xe0, 0x8e, 0x73, 0xf2, 0x1f, 0xe1, + 0x75, 0x05, 0x19, 0x6f, +}; +static const struct drbg_kat_no_reseed kat154_t = { + 3, kat154_entropyin, kat154_nonce, kat154_persstr, + kat154_addin0, kat154_addin1, kat154_retbits +}; +static const struct drbg_kat kat154 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat154_t +}; + +static const unsigned char kat155_entropyin[] = { + 0x80, 0x7d, 0x1b, 0x10, 0x96, 0xe3, 0xd7, 0xf7, 0x89, 0x03, 0x6d, 0x64, + 0x4d, 0xfb, 0x9e, 0x8b, +}; +static const unsigned char kat155_nonce[] = { + 0x8c, 0xd7, 0x7f, 0x71, 0xcc, 0xd8, 0xa3, 0x22, +}; +static const unsigned char kat155_persstr[] = { + 0x4f, 0x72, 0x74, 0x5e, 0x2f, 0x2a, 0xa5, 0x43, 0x61, 0x89, 0xdb, 0x92, + 0x27, 0x82, 0x0e, 0x46, +}; +static const unsigned char kat155_addin0[] = {0}; +static const unsigned char kat155_addin1[] = {0}; +static const unsigned char kat155_retbits[] = { + 0xff, 0x4a, 0xe0, 0x06, 0x4c, 0x25, 0xfc, 0xef, 0x07, 0x4a, 0xb3, 0x65, + 0x0e, 0xb6, 0xd3, 0x04, 0x4f, 0x86, 0x68, 0x7e, 0x6d, 0xb2, 0x26, 0x29, + 0x99, 0x2b, 0x08, 0xed, 0x07, 0x8c, 0x65, 0xd0, 0x3d, 0xaf, 0x62, 0x41, + 0xa3, 0x10, 0xe5, 0x76, 0x3c, 0x29, 0x86, 0x63, 0x84, 0x8e, 0x32, 0xd0, + 0x61, 0x4e, 0x98, 0x98, 0x9a, 0x16, 0xd3, 0x7d, 0xc1, 0x72, 0x91, 0x35, + 0xfc, 0xa5, 0xe6, 0x2e, +}; +static const struct drbg_kat_no_reseed kat155_t = { + 4, kat155_entropyin, kat155_nonce, kat155_persstr, + kat155_addin0, kat155_addin1, kat155_retbits +}; +static const struct drbg_kat kat155 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat155_t +}; + +static const unsigned char kat156_entropyin[] = { + 0x1a, 0xbc, 0xe2, 0x1f, 0x12, 0x33, 0x68, 0xb2, 0x6c, 0x66, 0x56, 0xb0, + 0xce, 0xbc, 0x03, 0xe8, +}; +static const unsigned char kat156_nonce[] = { + 0x1f, 0x7a, 0x6d, 0x5b, 0xc2, 0xcb, 0x97, 0x59, +}; +static const unsigned char kat156_persstr[] = { + 0x00, 0xcd, 0x25, 0x9b, 0xb8, 0x7e, 0x4e, 0x6e, 0x21, 0x3e, 0xd4, 0x4e, + 0xec, 0x19, 0xd9, 0x9d, +}; +static const unsigned char kat156_addin0[] = {0}; +static const unsigned char kat156_addin1[] = {0}; +static const unsigned char kat156_retbits[] = { + 0x86, 0xc0, 0x0d, 0x31, 0x81, 0xc1, 0xb6, 0x06, 0xc5, 0x1f, 0x90, 0x98, + 0x93, 0x83, 0xb4, 0xb8, 0x92, 0x2e, 0x4a, 0x19, 0x0b, 0x94, 0x01, 0x65, + 0x8f, 0x8d, 0x45, 0x13, 0x69, 0x7c, 0xa7, 0xd5, 0x84, 0xf5, 0xfc, 0xce, + 0xb3, 0x32, 0x4f, 0x62, 0x4c, 0x47, 0x81, 0xdf, 0xe5, 0x5c, 0x0d, 0xba, + 0x2d, 0x66, 0xbd, 0x85, 0x8f, 0xb6, 0x43, 0xf2, 0x3c, 0xe5, 0xd6, 0x7e, + 0x57, 0x25, 0x00, 0x07, +}; +static const struct drbg_kat_no_reseed kat156_t = { + 5, kat156_entropyin, kat156_nonce, kat156_persstr, + kat156_addin0, kat156_addin1, kat156_retbits +}; +static const struct drbg_kat kat156 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat156_t +}; + +static const unsigned char kat157_entropyin[] = { + 0x06, 0xd5, 0xfb, 0x81, 0x4c, 0xa4, 0xb2, 0xba, 0xc9, 0xe1, 0xcf, 0xba, + 0x0f, 0x13, 0x69, 0x9d, +}; +static const unsigned char kat157_nonce[] = { + 0x0e, 0xa8, 0x7b, 0x9f, 0x3b, 0xb1, 0xe6, 0x29, +}; +static const unsigned char kat157_persstr[] = { + 0xf6, 0x36, 0x79, 0xdf, 0xa3, 0x53, 0x70, 0x3f, 0x12, 0xe7, 0x23, 0x61, + 0x73, 0xc7, 0xd3, 0x20, +}; +static const unsigned char kat157_addin0[] = {0}; +static const unsigned char kat157_addin1[] = {0}; +static const unsigned char kat157_retbits[] = { + 0xe0, 0xc8, 0xff, 0x1f, 0x1d, 0x2c, 0x69, 0xaf, 0xca, 0xe0, 0xb7, 0x3b, + 0xe8, 0xb3, 0xc4, 0xc7, 0x41, 0x3f, 0x7f, 0xbc, 0xbe, 0xfc, 0x3b, 0xcf, + 0x1e, 0x68, 0x8d, 0x2a, 0x7d, 0x08, 0x49, 0xfd, 0xee, 0x60, 0xbd, 0xe9, + 0x1a, 0x0f, 0xb1, 0xa5, 0xef, 0x4b, 0xf3, 0xdf, 0xb3, 0x36, 0xb7, 0x3e, + 0xd0, 0x47, 0xdf, 0xa7, 0x74, 0x77, 0xa5, 0x1c, 0x6d, 0xee, 0x81, 0x72, + 0x63, 0xa2, 0x0c, 0x37, +}; +static const struct drbg_kat_no_reseed kat157_t = { + 6, kat157_entropyin, kat157_nonce, kat157_persstr, + kat157_addin0, kat157_addin1, kat157_retbits +}; +static const struct drbg_kat kat157 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat157_t +}; + +static const unsigned char kat158_entropyin[] = { + 0xdd, 0x3b, 0x7c, 0xfc, 0x51, 0x8c, 0x18, 0x0c, 0xf2, 0x89, 0xf1, 0x45, + 0x25, 0x15, 0x0c, 0xa5, +}; +static const unsigned char kat158_nonce[] = { + 0x36, 0x94, 0x04, 0x3c, 0x71, 0xc2, 0xdd, 0xc5, +}; +static const unsigned char kat158_persstr[] = { + 0x3b, 0x1c, 0x08, 0xfa, 0xb6, 0x36, 0x18, 0x51, 0xd7, 0xa5, 0x18, 0xae, + 0x35, 0x5b, 0x8c, 0x9b, +}; +static const unsigned char kat158_addin0[] = {0}; +static const unsigned char kat158_addin1[] = {0}; +static const unsigned char kat158_retbits[] = { + 0x59, 0x16, 0x4b, 0xac, 0x7a, 0x71, 0x4f, 0xcd, 0x5a, 0x45, 0x80, 0xfb, + 0x54, 0xed, 0x4d, 0xdf, 0x99, 0xc3, 0x9c, 0xf5, 0x9c, 0x23, 0xf8, 0x5f, + 0x6c, 0x52, 0x16, 0xf4, 0xe8, 0x9c, 0xf2, 0x8d, 0xa1, 0x59, 0x9f, 0x82, + 0x57, 0xa6, 0xaf, 0xc3, 0x02, 0xed, 0x3a, 0x1d, 0xec, 0x00, 0x3f, 0xf4, + 0x50, 0x91, 0x2c, 0x2b, 0xcd, 0x68, 0x2c, 0xd3, 0x40, 0x79, 0xcf, 0xb3, + 0xcc, 0xf2, 0x59, 0x3a, +}; +static const struct drbg_kat_no_reseed kat158_t = { + 7, kat158_entropyin, kat158_nonce, kat158_persstr, + kat158_addin0, kat158_addin1, kat158_retbits +}; +static const struct drbg_kat kat158 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat158_t +}; + +static const unsigned char kat159_entropyin[] = { + 0xb7, 0x31, 0x4b, 0xac, 0xd0, 0xb3, 0xe9, 0xe2, 0x21, 0x4e, 0x11, 0xa4, + 0x9c, 0x4f, 0xab, 0x54, +}; +static const unsigned char kat159_nonce[] = { + 0x8c, 0xd5, 0x9a, 0x9c, 0x39, 0x50, 0x1c, 0x0b, +}; +static const unsigned char kat159_persstr[] = { + 0xb6, 0xe3, 0xa4, 0x64, 0x4f, 0xb9, 0x13, 0xa5, 0x4c, 0x89, 0x21, 0xcb, + 0xc1, 0x73, 0x72, 0x38, +}; +static const unsigned char kat159_addin0[] = {0}; +static const unsigned char kat159_addin1[] = {0}; +static const unsigned char kat159_retbits[] = { + 0xe9, 0x2c, 0x97, 0xcc, 0xbb, 0xd6, 0x01, 0x31, 0x78, 0xee, 0x06, 0xd0, + 0x1a, 0xd2, 0xc9, 0xeb, 0x54, 0x64, 0xa7, 0xe3, 0x04, 0x32, 0xb9, 0x43, + 0xe0, 0xb3, 0x71, 0xf1, 0x36, 0xa9, 0x94, 0xb9, 0xf5, 0x44, 0xf3, 0x7b, + 0x60, 0x56, 0x1e, 0x10, 0x25, 0xb1, 0x2b, 0x5a, 0x15, 0xcb, 0x66, 0x1b, + 0x30, 0x1b, 0x5d, 0xd4, 0x38, 0x4b, 0x8b, 0xc0, 0x0d, 0x1d, 0x72, 0xb3, + 0xc6, 0x18, 0xf8, 0x75, +}; +static const struct drbg_kat_no_reseed kat159_t = { + 8, kat159_entropyin, kat159_nonce, kat159_persstr, + kat159_addin0, kat159_addin1, kat159_retbits +}; +static const struct drbg_kat kat159 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat159_t +}; + +static const unsigned char kat160_entropyin[] = { + 0xd6, 0x2b, 0x1f, 0xc2, 0xb0, 0x45, 0x71, 0x8a, 0x3f, 0xe5, 0x9d, 0xfa, + 0xc4, 0xa1, 0xc0, 0x3b, +}; +static const unsigned char kat160_nonce[] = { + 0x41, 0x99, 0x17, 0xd5, 0x8a, 0x67, 0x56, 0xa5, +}; +static const unsigned char kat160_persstr[] = { + 0xf4, 0x79, 0x4b, 0xdc, 0x10, 0x9f, 0x13, 0x00, 0x4b, 0x89, 0x3b, 0x32, + 0x83, 0xc0, 0x97, 0x7e, +}; +static const unsigned char kat160_addin0[] = {0}; +static const unsigned char kat160_addin1[] = {0}; +static const unsigned char kat160_retbits[] = { + 0x05, 0x42, 0xdf, 0xda, 0xb8, 0x8e, 0x34, 0x91, 0x63, 0xed, 0x9b, 0xa6, + 0x34, 0xee, 0x76, 0x25, 0x7d, 0xc9, 0x27, 0x66, 0x61, 0xcd, 0x5d, 0xd2, + 0xfa, 0xa9, 0x31, 0xbc, 0x3a, 0x2e, 0x9c, 0x2d, 0x17, 0xe5, 0x70, 0xff, + 0xa1, 0xa5, 0xf1, 0x44, 0x96, 0xf0, 0xea, 0xc3, 0x33, 0x9e, 0xfd, 0xe4, + 0x6a, 0xa4, 0x0e, 0x87, 0xf2, 0x1a, 0x98, 0x54, 0x95, 0xfd, 0xa3, 0x94, + 0xf2, 0x06, 0x6e, 0xbb, +}; +static const struct drbg_kat_no_reseed kat160_t = { + 9, kat160_entropyin, kat160_nonce, kat160_persstr, + kat160_addin0, kat160_addin1, kat160_retbits +}; +static const struct drbg_kat kat160 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat160_t +}; + +static const unsigned char kat161_entropyin[] = { + 0x91, 0xb4, 0xaa, 0x7d, 0x56, 0x58, 0x32, 0xe9, 0x6a, 0x21, 0xd6, 0x80, + 0xa0, 0xec, 0xdb, 0x4c, +}; +static const unsigned char kat161_nonce[] = { + 0x06, 0x09, 0x09, 0xe2, 0xce, 0x8b, 0x2d, 0xc8, +}; +static const unsigned char kat161_persstr[] = { + 0x5c, 0xba, 0xce, 0xb8, 0x9c, 0x15, 0x0d, 0x22, 0x9b, 0x51, 0x6c, 0x34, + 0x93, 0x60, 0xf2, 0x7f, +}; +static const unsigned char kat161_addin0[] = {0}; +static const unsigned char kat161_addin1[] = {0}; +static const unsigned char kat161_retbits[] = { + 0xc0, 0x79, 0xc2, 0x91, 0x7e, 0x8f, 0x6b, 0x84, 0xc5, 0x8e, 0x02, 0x26, + 0xad, 0x0b, 0x8a, 0x60, 0xa8, 0x7b, 0x88, 0x22, 0xa9, 0x90, 0x45, 0x9d, + 0xe2, 0x4c, 0xc6, 0x55, 0x4c, 0x7f, 0x24, 0x1a, 0xff, 0x30, 0xcd, 0xea, + 0x61, 0xa7, 0x48, 0x47, 0x0a, 0x58, 0xc9, 0x4a, 0x15, 0x0e, 0xbd, 0xdc, + 0x35, 0x5c, 0x64, 0x4d, 0xd4, 0x78, 0x6e, 0x36, 0xf1, 0x7e, 0xcf, 0xce, + 0xa7, 0x33, 0x9d, 0x42, +}; +static const struct drbg_kat_no_reseed kat161_t = { + 10, kat161_entropyin, kat161_nonce, kat161_persstr, + kat161_addin0, kat161_addin1, kat161_retbits +}; +static const struct drbg_kat kat161 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat161_t +}; + +static const unsigned char kat162_entropyin[] = { + 0x32, 0xe1, 0x66, 0xc0, 0x93, 0x8d, 0x6d, 0xa7, 0x21, 0xcf, 0xce, 0x23, + 0x5a, 0x66, 0xa1, 0x80, +}; +static const unsigned char kat162_nonce[] = { + 0xeb, 0x68, 0x79, 0x96, 0xa8, 0xff, 0x63, 0x94, +}; +static const unsigned char kat162_persstr[] = { + 0x05, 0xb9, 0x9f, 0x8d, 0x9f, 0x10, 0x2c, 0x5f, 0xf6, 0xd0, 0xd4, 0x5c, + 0x4d, 0x68, 0x5f, 0xf8, +}; +static const unsigned char kat162_addin0[] = {0}; +static const unsigned char kat162_addin1[] = {0}; +static const unsigned char kat162_retbits[] = { + 0xec, 0x5a, 0xe3, 0x97, 0x25, 0x72, 0x20, 0x45, 0x2e, 0x61, 0x05, 0xa5, + 0xa2, 0x9f, 0x56, 0xd9, 0x33, 0x21, 0x32, 0xf5, 0x33, 0x8d, 0x19, 0xe8, + 0x1a, 0xf6, 0xd3, 0x10, 0x22, 0xbb, 0x91, 0xf8, 0x7f, 0x04, 0xe4, 0x52, + 0x0d, 0x50, 0x76, 0x61, 0x43, 0xd3, 0x53, 0x3e, 0x7b, 0x9d, 0x57, 0x0a, + 0x80, 0x68, 0x84, 0xa3, 0xdf, 0xe2, 0x81, 0xe0, 0x00, 0xf7, 0x7e, 0x7b, + 0x85, 0x59, 0x44, 0x34, +}; +static const struct drbg_kat_no_reseed kat162_t = { + 11, kat162_entropyin, kat162_nonce, kat162_persstr, + kat162_addin0, kat162_addin1, kat162_retbits +}; +static const struct drbg_kat kat162 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat162_t +}; + +static const unsigned char kat163_entropyin[] = { + 0x3a, 0x3d, 0x6a, 0xa9, 0xdb, 0x0f, 0x54, 0x0a, 0x37, 0xeb, 0x81, 0x50, + 0x9d, 0xdb, 0x65, 0x5d, +}; +static const unsigned char kat163_nonce[] = { + 0x1f, 0xe8, 0xc2, 0x5b, 0x27, 0xee, 0x3a, 0xbe, +}; +static const unsigned char kat163_persstr[] = { + 0x8e, 0x15, 0xa5, 0xad, 0x7a, 0x5f, 0x29, 0x38, 0xeb, 0xdb, 0x5c, 0x08, + 0x8b, 0xdc, 0xf3, 0x07, +}; +static const unsigned char kat163_addin0[] = {0}; +static const unsigned char kat163_addin1[] = {0}; +static const unsigned char kat163_retbits[] = { + 0x8d, 0x7e, 0xae, 0xe5, 0x0e, 0x87, 0xf0, 0xbc, 0x34, 0xa4, 0x9b, 0xe9, + 0x4e, 0x7a, 0x4a, 0x64, 0xfd, 0x1e, 0xc9, 0x86, 0x1e, 0xf3, 0x34, 0x22, + 0x2f, 0xfb, 0x15, 0xaf, 0x89, 0x29, 0xf9, 0xed, 0x42, 0xfb, 0x3f, 0xa6, + 0x29, 0xd6, 0xba, 0x39, 0x70, 0x6b, 0x91, 0x93, 0xe1, 0x2b, 0xa2, 0x40, + 0x44, 0x76, 0x17, 0x7c, 0x4f, 0x69, 0xbf, 0xd1, 0x8c, 0xfe, 0x59, 0x55, + 0x5d, 0xca, 0x7c, 0x04, +}; +static const struct drbg_kat_no_reseed kat163_t = { + 12, kat163_entropyin, kat163_nonce, kat163_persstr, + kat163_addin0, kat163_addin1, kat163_retbits +}; +static const struct drbg_kat kat163 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat163_t +}; + +static const unsigned char kat164_entropyin[] = { + 0xc0, 0x84, 0x69, 0xf8, 0x36, 0xfc, 0x12, 0x48, 0xde, 0xd4, 0xed, 0xd8, + 0xaf, 0x4d, 0x9d, 0xe8, +}; +static const unsigned char kat164_nonce[] = { + 0x74, 0x6e, 0xa2, 0xd7, 0x4c, 0xcc, 0xc4, 0xcd, +}; +static const unsigned char kat164_persstr[] = { + 0xa5, 0x18, 0x18, 0xae, 0x54, 0x37, 0x56, 0x25, 0x52, 0x65, 0x11, 0x80, + 0xf3, 0xde, 0x5d, 0xae, +}; +static const unsigned char kat164_addin0[] = {0}; +static const unsigned char kat164_addin1[] = {0}; +static const unsigned char kat164_retbits[] = { + 0xa0, 0x8a, 0xee, 0xde, 0x46, 0x3f, 0xc9, 0xac, 0x48, 0x90, 0x7a, 0xb4, + 0xb0, 0xb3, 0x9d, 0x6f, 0x86, 0xa8, 0x79, 0xf4, 0x21, 0x81, 0x61, 0x41, + 0xa0, 0x52, 0xeb, 0x48, 0xd8, 0x7f, 0xf5, 0xd9, 0xb5, 0xb6, 0xcb, 0xfe, + 0xef, 0xdd, 0x8c, 0xfc, 0x17, 0x72, 0xeb, 0x62, 0x67, 0x12, 0x45, 0x3f, + 0x88, 0xec, 0x74, 0x7f, 0x6a, 0x05, 0xaf, 0x91, 0x7c, 0x9f, 0xa1, 0x61, + 0xed, 0xe1, 0x1d, 0x7f, +}; +static const struct drbg_kat_no_reseed kat164_t = { + 13, kat164_entropyin, kat164_nonce, kat164_persstr, + kat164_addin0, kat164_addin1, kat164_retbits +}; +static const struct drbg_kat kat164 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat164_t +}; + +static const unsigned char kat165_entropyin[] = { + 0x0c, 0xe4, 0xc1, 0x82, 0x8f, 0x9c, 0x9f, 0x0a, 0xea, 0xb4, 0x95, 0x36, + 0x72, 0x23, 0x59, 0x23, +}; +static const unsigned char kat165_nonce[] = { + 0x46, 0x4b, 0x42, 0xc9, 0xfc, 0x5b, 0x38, 0x31, +}; +static const unsigned char kat165_persstr[] = { + 0x48, 0xde, 0x34, 0xd8, 0x48, 0x29, 0x8d, 0xcf, 0x3f, 0x58, 0xc5, 0x2d, + 0x96, 0xc7, 0x7b, 0xf5, +}; +static const unsigned char kat165_addin0[] = {0}; +static const unsigned char kat165_addin1[] = {0}; +static const unsigned char kat165_retbits[] = { + 0xa7, 0xd3, 0x79, 0x02, 0x26, 0xf5, 0xab, 0x5b, 0x38, 0x33, 0xdc, 0xc7, + 0x63, 0xc2, 0xe9, 0xe7, 0xc5, 0xb7, 0x7d, 0x57, 0xc2, 0xfa, 0x26, 0x15, + 0x47, 0xae, 0x0e, 0x39, 0xe9, 0x78, 0x4d, 0xf2, 0x69, 0xd0, 0x8b, 0xbd, + 0x40, 0x36, 0x46, 0x2f, 0x3a, 0xcc, 0xc7, 0x1b, 0x37, 0x8b, 0x09, 0x41, + 0xe9, 0x9c, 0x32, 0x7c, 0x4a, 0x50, 0x34, 0x39, 0xa9, 0x3b, 0x4e, 0xc7, + 0xa0, 0x39, 0xa2, 0xa8, +}; +static const struct drbg_kat_no_reseed kat165_t = { + 14, kat165_entropyin, kat165_nonce, kat165_persstr, + kat165_addin0, kat165_addin1, kat165_retbits +}; +static const struct drbg_kat kat165 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat165_t +}; + +static const unsigned char kat166_entropyin[] = { + 0x70, 0x7a, 0x43, 0x07, 0x2e, 0xac, 0xb8, 0xce, 0xa9, 0x5f, 0xb8, 0x52, + 0x1a, 0xe5, 0x16, 0x0b, +}; +static const unsigned char kat166_nonce[] = { + 0xfd, 0x62, 0x12, 0x13, 0x26, 0x16, 0x30, 0xad, +}; +static const unsigned char kat166_persstr[] = { + 0x6b, 0xf9, 0xa7, 0x2e, 0xaf, 0xe3, 0x5d, 0x58, 0x3c, 0x91, 0x5c, 0x95, + 0x25, 0x74, 0x7b, 0xa0, +}; +static const unsigned char kat166_addin0[] = { + 0xe3, 0xdf, 0xd6, 0x92, 0x7c, 0x4a, 0xe1, 0x03, 0x43, 0x2e, 0xb6, 0x19, + 0x63, 0x67, 0xec, 0xee, +}; +static const unsigned char kat166_addin1[] = { + 0xe1, 0x8c, 0xd5, 0x04, 0xe9, 0x40, 0x27, 0x53, 0x3c, 0xf3, 0x30, 0x71, + 0xca, 0x93, 0x1b, 0x60, +}; +static const unsigned char kat166_retbits[] = { + 0xee, 0x46, 0x3c, 0xdc, 0x78, 0xdd, 0x25, 0x3c, 0x44, 0x66, 0xdd, 0xc2, + 0xe3, 0x5c, 0xc4, 0xa9, 0x1a, 0xf2, 0x0a, 0xd3, 0xb3, 0x39, 0x66, 0x69, + 0xce, 0xf5, 0x22, 0x1b, 0x0a, 0x9c, 0xcc, 0x5d, 0xfc, 0x72, 0x3b, 0x2f, + 0xe1, 0xe5, 0x7f, 0xa2, 0x6d, 0xd0, 0x30, 0xad, 0x0b, 0x6e, 0xa1, 0x4e, + 0xcb, 0x89, 0xf9, 0x1c, 0x4b, 0xc6, 0x93, 0x82, 0xa0, 0x1d, 0x8d, 0xfa, + 0x6f, 0x1d, 0xff, 0x8a, +}; +static const struct drbg_kat_no_reseed kat166_t = { + 0, kat166_entropyin, kat166_nonce, kat166_persstr, + kat166_addin0, kat166_addin1, kat166_retbits +}; +static const struct drbg_kat kat166 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat166_t +}; + +static const unsigned char kat167_entropyin[] = { + 0x35, 0x67, 0xac, 0x54, 0xb9, 0x03, 0xfd, 0x5d, 0xdc, 0x57, 0x23, 0x4c, + 0x31, 0x9b, 0x14, 0x15, +}; +static const unsigned char kat167_nonce[] = { + 0x8f, 0x75, 0xc5, 0x6a, 0x85, 0x77, 0x21, 0x92, +}; +static const unsigned char kat167_persstr[] = { + 0xd1, 0xe3, 0xff, 0xed, 0x85, 0x21, 0x1c, 0x40, 0x8e, 0x31, 0xdb, 0x12, + 0xe8, 0x5b, 0x75, 0xdb, +}; +static const unsigned char kat167_addin0[] = { + 0xcc, 0x38, 0x84, 0x33, 0x5e, 0x19, 0x42, 0x7c, 0xaf, 0x09, 0xf0, 0x1c, + 0x63, 0x4b, 0x30, 0x8a, +}; +static const unsigned char kat167_addin1[] = { + 0xf7, 0x73, 0x3d, 0x02, 0x51, 0xff, 0x02, 0xaf, 0xc0, 0xe9, 0x61, 0xc1, + 0x12, 0x28, 0x84, 0xfc, +}; +static const unsigned char kat167_retbits[] = { + 0x28, 0xc6, 0x9b, 0xb4, 0x98, 0x76, 0x42, 0xe5, 0xa4, 0x67, 0x93, 0x8f, + 0x52, 0xa7, 0x37, 0x14, 0xd3, 0x9a, 0xd0, 0x89, 0xee, 0x09, 0xda, 0xbe, + 0x70, 0xd6, 0x90, 0x36, 0x17, 0x8f, 0x59, 0x98, 0x18, 0x6c, 0xc6, 0x45, + 0x10, 0x0b, 0x56, 0xf9, 0x8e, 0xf4, 0x5c, 0xe3, 0x5b, 0x06, 0xf0, 0x9c, + 0x26, 0x20, 0xba, 0x68, 0x0a, 0x5a, 0x03, 0xd3, 0xd9, 0x59, 0x43, 0xed, + 0x17, 0x16, 0x0f, 0xe4, +}; +static const struct drbg_kat_no_reseed kat167_t = { + 1, kat167_entropyin, kat167_nonce, kat167_persstr, + kat167_addin0, kat167_addin1, kat167_retbits +}; +static const struct drbg_kat kat167 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat167_t +}; + +static const unsigned char kat168_entropyin[] = { + 0x41, 0x76, 0x72, 0x58, 0xe0, 0x6e, 0x50, 0x11, 0x24, 0xf3, 0xdb, 0x8b, + 0xe4, 0x58, 0xd3, 0xbf, +}; +static const unsigned char kat168_nonce[] = { + 0xde, 0x8f, 0xa0, 0xa7, 0x9f, 0x1a, 0x7f, 0x0c, +}; +static const unsigned char kat168_persstr[] = { + 0x9d, 0xab, 0x2f, 0x46, 0xd2, 0x2d, 0x37, 0x86, 0x08, 0xe2, 0x1f, 0xc2, + 0x37, 0xe9, 0x98, 0x71, +}; +static const unsigned char kat168_addin0[] = { + 0xea, 0x41, 0xd1, 0x33, 0xb4, 0xf8, 0x6a, 0x35, 0x22, 0x7b, 0x76, 0x16, + 0x7f, 0x51, 0xbb, 0x5f, +}; +static const unsigned char kat168_addin1[] = { + 0x71, 0x61, 0xe1, 0x2c, 0x6f, 0x65, 0xc1, 0x42, 0xba, 0xf9, 0x4f, 0x1a, + 0x09, 0xe9, 0x4e, 0x22, +}; +static const unsigned char kat168_retbits[] = { + 0xb3, 0x90, 0xc9, 0x52, 0x0e, 0xad, 0x28, 0x82, 0x69, 0x2a, 0x29, 0x59, + 0x3d, 0x16, 0x5c, 0x58, 0xbc, 0x66, 0x14, 0x62, 0x11, 0x2a, 0xf6, 0xd2, + 0x5a, 0x57, 0x14, 0x73, 0xe6, 0x1f, 0x1c, 0xbc, 0xd0, 0x75, 0xe3, 0xad, + 0x1c, 0xae, 0xeb, 0x51, 0xcb, 0x99, 0x28, 0x40, 0x51, 0xce, 0xa4, 0x5a, + 0x17, 0x06, 0xe9, 0x84, 0xe2, 0x7c, 0x32, 0x84, 0xfc, 0x1e, 0x87, 0xab, + 0x68, 0xa6, 0xf1, 0x46, +}; +static const struct drbg_kat_no_reseed kat168_t = { + 2, kat168_entropyin, kat168_nonce, kat168_persstr, + kat168_addin0, kat168_addin1, kat168_retbits +}; +static const struct drbg_kat kat168 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat168_t +}; + +static const unsigned char kat169_entropyin[] = { + 0x19, 0xdb, 0x2d, 0xcd, 0xc5, 0x7d, 0xf2, 0x1e, 0x55, 0xb6, 0x56, 0x4e, + 0xae, 0x47, 0x41, 0x0b, +}; +static const unsigned char kat169_nonce[] = { + 0xeb, 0xec, 0x8e, 0xce, 0x62, 0xd3, 0x29, 0xb6, +}; +static const unsigned char kat169_persstr[] = { + 0x80, 0xba, 0xec, 0xa8, 0x2b, 0x3b, 0xa2, 0x07, 0xb9, 0xf3, 0x75, 0x08, + 0x38, 0xbd, 0xe4, 0x98, +}; +static const unsigned char kat169_addin0[] = { + 0x5d, 0x74, 0xcd, 0xd7, 0xbc, 0xbe, 0x7b, 0xc9, 0x48, 0xb8, 0xf1, 0x3e, + 0xfa, 0x83, 0x5a, 0xd4, +}; +static const unsigned char kat169_addin1[] = { + 0x17, 0xbb, 0x7c, 0xb9, 0x1b, 0x48, 0x11, 0xa5, 0xe7, 0xdb, 0x26, 0x78, + 0x4c, 0xbb, 0xc2, 0xe5, +}; +static const unsigned char kat169_retbits[] = { + 0x26, 0x54, 0xd9, 0x86, 0x67, 0xf7, 0x56, 0x15, 0xfb, 0x6c, 0x74, 0xd5, + 0xb9, 0x0b, 0x62, 0x3c, 0xcc, 0xb9, 0x62, 0x49, 0xe1, 0x4e, 0x08, 0xe8, + 0x8d, 0x1c, 0xb5, 0xe0, 0x90, 0x93, 0x26, 0xb6, 0x77, 0x67, 0xa5, 0x73, + 0xe0, 0xa4, 0xd1, 0xdf, 0x05, 0x7f, 0x2d, 0xe7, 0xa4, 0x95, 0xde, 0xae, + 0xcb, 0xeb, 0x7e, 0x25, 0xe3, 0xaa, 0x82, 0xde, 0x55, 0x59, 0x08, 0xbf, + 0xe3, 0xcc, 0x6a, 0x85, +}; +static const struct drbg_kat_no_reseed kat169_t = { + 3, kat169_entropyin, kat169_nonce, kat169_persstr, + kat169_addin0, kat169_addin1, kat169_retbits +}; +static const struct drbg_kat kat169 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat169_t +}; + +static const unsigned char kat170_entropyin[] = { + 0x64, 0xd7, 0xb4, 0x2c, 0x52, 0x64, 0x33, 0x76, 0xd8, 0xa1, 0x1b, 0x0d, + 0xa5, 0xcc, 0xa5, 0xe6, +}; +static const unsigned char kat170_nonce[] = { + 0x6f, 0xeb, 0x03, 0x5f, 0x39, 0x14, 0x25, 0x14, +}; +static const unsigned char kat170_persstr[] = { + 0x3f, 0x12, 0xa6, 0xf2, 0x40, 0x01, 0xb9, 0x8c, 0x1f, 0x24, 0xab, 0xcf, + 0xab, 0x68, 0x95, 0x08, +}; +static const unsigned char kat170_addin0[] = { + 0xfe, 0xe4, 0x82, 0xb1, 0xfe, 0xa0, 0x53, 0x65, 0xab, 0xa0, 0x7b, 0xc7, + 0xc3, 0x35, 0x1c, 0x6d, +}; +static const unsigned char kat170_addin1[] = { + 0xaf, 0x13, 0x59, 0x83, 0xab, 0x81, 0x13, 0x91, 0x45, 0x35, 0x13, 0x49, + 0x18, 0x78, 0xb5, 0xb5, +}; +static const unsigned char kat170_retbits[] = { + 0x0c, 0x21, 0xf6, 0x97, 0xf1, 0xb0, 0x0d, 0x22, 0x83, 0xae, 0xe4, 0xe7, + 0xb7, 0xe1, 0x01, 0x33, 0x38, 0x6a, 0xb0, 0xab, 0xfa, 0xdb, 0x5e, 0x14, + 0xbf, 0xe5, 0xb4, 0x52, 0xa6, 0xd9, 0x17, 0x46, 0x2a, 0x7b, 0xd0, 0xed, + 0xa0, 0x6f, 0xa1, 0x41, 0xb1, 0xbc, 0x3e, 0xab, 0x4f, 0x47, 0x73, 0xa2, + 0x40, 0xbe, 0x73, 0x51, 0xe3, 0x2a, 0x1d, 0xab, 0xdd, 0xc5, 0x7b, 0xae, + 0x02, 0xd2, 0x6c, 0xd2, +}; +static const struct drbg_kat_no_reseed kat170_t = { + 4, kat170_entropyin, kat170_nonce, kat170_persstr, + kat170_addin0, kat170_addin1, kat170_retbits +}; +static const struct drbg_kat kat170 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat170_t +}; + +static const unsigned char kat171_entropyin[] = { + 0xa5, 0x5a, 0x5a, 0x07, 0x29, 0xc3, 0x9e, 0xfb, 0xc8, 0x6c, 0xe6, 0x4d, + 0x91, 0x51, 0x03, 0x4e, +}; +static const unsigned char kat171_nonce[] = { + 0x10, 0xf1, 0x15, 0x57, 0x73, 0xfb, 0xcd, 0x3b, +}; +static const unsigned char kat171_persstr[] = { + 0x6c, 0x6f, 0x3f, 0x77, 0x80, 0x15, 0xb2, 0xd3, 0x34, 0x92, 0x2e, 0x7a, + 0x13, 0xea, 0xd6, 0xe6, +}; +static const unsigned char kat171_addin0[] = { + 0x84, 0x10, 0x15, 0x5a, 0x9f, 0x4d, 0x40, 0xa3, 0x29, 0x8d, 0x5b, 0x0f, + 0x42, 0xc0, 0xef, 0x46, +}; +static const unsigned char kat171_addin1[] = { + 0xfd, 0x91, 0x1c, 0x8b, 0xb6, 0xff, 0x14, 0xe7, 0xd7, 0x6a, 0x61, 0x1a, + 0xdd, 0xda, 0x72, 0x11, +}; +static const unsigned char kat171_retbits[] = { + 0x16, 0x5f, 0x07, 0xd1, 0x4b, 0xb1, 0xb3, 0x7b, 0xd9, 0xe0, 0x94, 0x9e, + 0x7b, 0x0c, 0x0d, 0xfa, 0xdd, 0x06, 0x7a, 0xdf, 0x15, 0xb6, 0x6c, 0xb3, + 0x96, 0xe6, 0x44, 0x4b, 0xcd, 0xf1, 0x1b, 0xc2, 0x34, 0xb0, 0xd5, 0x9b, + 0x23, 0x17, 0x21, 0x4a, 0x9c, 0xde, 0x72, 0xe5, 0x32, 0xf3, 0x00, 0xc9, + 0xd0, 0x90, 0x7f, 0xf5, 0x9e, 0x62, 0x12, 0x82, 0x6a, 0x92, 0x0f, 0xd9, + 0x2b, 0x53, 0xad, 0xf7, +}; +static const struct drbg_kat_no_reseed kat171_t = { + 5, kat171_entropyin, kat171_nonce, kat171_persstr, + kat171_addin0, kat171_addin1, kat171_retbits +}; +static const struct drbg_kat kat171 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat171_t +}; + +static const unsigned char kat172_entropyin[] = { + 0x53, 0xea, 0x1b, 0xef, 0x71, 0x12, 0xfd, 0xcb, 0x15, 0x51, 0x36, 0x16, + 0xae, 0x7e, 0x07, 0x03, +}; +static const unsigned char kat172_nonce[] = { + 0xca, 0xac, 0x5b, 0x2f, 0xbf, 0x5b, 0xd1, 0xb8, +}; +static const unsigned char kat172_persstr[] = { + 0x79, 0x04, 0x26, 0x8d, 0x84, 0x6f, 0x81, 0x41, 0xcd, 0x78, 0x3e, 0xcb, + 0xa6, 0xef, 0xc9, 0x01, +}; +static const unsigned char kat172_addin0[] = { + 0x03, 0x64, 0xae, 0xea, 0xf7, 0x42, 0x4c, 0x92, 0xc2, 0x61, 0x1f, 0x33, + 0x86, 0xfb, 0xe3, 0x8a, +}; +static const unsigned char kat172_addin1[] = { + 0x9c, 0x77, 0xd6, 0x80, 0xc5, 0xf2, 0x70, 0xae, 0xfa, 0x8a, 0x45, 0xb3, + 0xe9, 0x35, 0x53, 0x30, +}; +static const unsigned char kat172_retbits[] = { + 0xe5, 0x6f, 0xa9, 0x81, 0x29, 0x23, 0x89, 0x0b, 0x94, 0x81, 0xee, 0x07, + 0x80, 0xea, 0x23, 0xb2, 0x05, 0x94, 0x7e, 0x80, 0xf3, 0xe3, 0x8f, 0x55, + 0xc2, 0x2d, 0xef, 0xce, 0x6c, 0xae, 0xa8, 0x4f, 0xd9, 0x85, 0x0f, 0x2c, + 0x50, 0x9c, 0x51, 0x48, 0xe0, 0x1c, 0xd9, 0x77, 0x34, 0x8c, 0xc8, 0xb3, + 0xcc, 0xab, 0xd3, 0xd7, 0x51, 0x5c, 0xc2, 0xca, 0x95, 0xd0, 0xbc, 0x13, + 0x48, 0xba, 0xc5, 0xc2, +}; +static const struct drbg_kat_no_reseed kat172_t = { + 6, kat172_entropyin, kat172_nonce, kat172_persstr, + kat172_addin0, kat172_addin1, kat172_retbits +}; +static const struct drbg_kat kat172 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat172_t +}; + +static const unsigned char kat173_entropyin[] = { + 0x1f, 0xae, 0xf5, 0x93, 0x5c, 0xb8, 0x2d, 0x27, 0x08, 0x13, 0x25, 0x2c, + 0x77, 0xef, 0x3d, 0x6c, +}; +static const unsigned char kat173_nonce[] = { + 0x75, 0xf6, 0x8a, 0x1b, 0x65, 0x8c, 0x72, 0x77, +}; +static const unsigned char kat173_persstr[] = { + 0x08, 0x15, 0xfa, 0x38, 0x8d, 0xb0, 0x3a, 0x89, 0x2d, 0xf4, 0x47, 0x4f, + 0x19, 0xde, 0x31, 0xbc, +}; +static const unsigned char kat173_addin0[] = { + 0x9f, 0x92, 0x23, 0xae, 0x37, 0x86, 0xd3, 0x8c, 0x43, 0xe0, 0xe9, 0x2a, + 0xa1, 0xbf, 0x5e, 0x3f, +}; +static const unsigned char kat173_addin1[] = { + 0x4d, 0x9c, 0x28, 0xcd, 0x69, 0x4e, 0x01, 0x6f, 0xaf, 0xbd, 0xe3, 0xcb, + 0x30, 0x85, 0xb8, 0xd9, +}; +static const unsigned char kat173_retbits[] = { + 0xcd, 0x69, 0x3a, 0xab, 0x02, 0xec, 0x80, 0xa0, 0x4b, 0xeb, 0xcf, 0xef, + 0x66, 0x04, 0x38, 0x4f, 0x48, 0xc8, 0xeb, 0x7d, 0x44, 0xd6, 0x91, 0xac, + 0x35, 0xfb, 0x11, 0xe1, 0x81, 0x83, 0x88, 0x4b, 0x9e, 0x35, 0xd5, 0x8e, + 0x62, 0xfc, 0x56, 0x7b, 0x9a, 0x3d, 0xa4, 0x0e, 0x3a, 0xee, 0xa7, 0x83, + 0x11, 0x5e, 0x80, 0x19, 0x22, 0x09, 0x03, 0xab, 0x55, 0x9b, 0xe9, 0x83, + 0x4c, 0x37, 0x77, 0x58, +}; +static const struct drbg_kat_no_reseed kat173_t = { + 7, kat173_entropyin, kat173_nonce, kat173_persstr, + kat173_addin0, kat173_addin1, kat173_retbits +}; +static const struct drbg_kat kat173 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat173_t +}; + +static const unsigned char kat174_entropyin[] = { + 0x0b, 0x8c, 0x52, 0x08, 0xd9, 0x11, 0x3c, 0xbe, 0x8a, 0x31, 0xcf, 0x3d, + 0xe1, 0x43, 0x38, 0x1a, +}; +static const unsigned char kat174_nonce[] = { + 0x44, 0x9e, 0xbf, 0x57, 0xb8, 0x2a, 0xa5, 0xcb, +}; +static const unsigned char kat174_persstr[] = { + 0x7f, 0x60, 0x01, 0xd6, 0x0c, 0x31, 0xcf, 0x8a, 0x90, 0x4c, 0xb3, 0x18, + 0xcb, 0x70, 0x04, 0x7b, +}; +static const unsigned char kat174_addin0[] = { + 0x4f, 0xe0, 0x45, 0xed, 0xbb, 0x98, 0x16, 0x0a, 0x42, 0x63, 0x5b, 0x77, + 0x79, 0x6e, 0x8a, 0x97, +}; +static const unsigned char kat174_addin1[] = { + 0xd8, 0x96, 0x4e, 0x5f, 0xa8, 0x16, 0xea, 0x83, 0xd1, 0xa5, 0xab, 0xbd, + 0x15, 0x68, 0xad, 0xaa, +}; +static const unsigned char kat174_retbits[] = { + 0xab, 0x1f, 0xba, 0xf1, 0x54, 0xa9, 0x07, 0x2b, 0x62, 0xc3, 0xd6, 0xbb, + 0x9d, 0x01, 0x48, 0xac, 0xe4, 0xb4, 0xcd, 0xe0, 0x8d, 0x9a, 0x71, 0x2a, + 0xa2, 0x94, 0x10, 0xab, 0x51, 0x4d, 0x03, 0xe3, 0x5d, 0xb3, 0xf4, 0x91, + 0x80, 0x66, 0x73, 0x04, 0x18, 0x33, 0xa2, 0xeb, 0xeb, 0xe8, 0x70, 0x55, + 0xf1, 0xf5, 0xfb, 0x64, 0xdd, 0x8e, 0x40, 0x8e, 0x3b, 0x99, 0x57, 0xd2, + 0x1e, 0x66, 0xca, 0xa2, +}; +static const struct drbg_kat_no_reseed kat174_t = { + 8, kat174_entropyin, kat174_nonce, kat174_persstr, + kat174_addin0, kat174_addin1, kat174_retbits +}; +static const struct drbg_kat kat174 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat174_t +}; + +static const unsigned char kat175_entropyin[] = { + 0xae, 0x90, 0x6d, 0x89, 0x04, 0x15, 0x45, 0xc7, 0xef, 0x70, 0x71, 0xf5, + 0x3e, 0xce, 0xea, 0x52, +}; +static const unsigned char kat175_nonce[] = { + 0x1f, 0x4b, 0x28, 0x4c, 0x36, 0xaa, 0xe3, 0xba, +}; +static const unsigned char kat175_persstr[] = { + 0xb9, 0x19, 0x98, 0xc3, 0x21, 0x83, 0x00, 0x6f, 0x7d, 0xf1, 0xc5, 0xd7, + 0x1f, 0xba, 0xc5, 0x7b, +}; +static const unsigned char kat175_addin0[] = { + 0x86, 0x47, 0x5c, 0xa2, 0xb4, 0x84, 0xb8, 0xc6, 0xf3, 0x3b, 0x11, 0x22, + 0x8b, 0xc6, 0x65, 0x05, +}; +static const unsigned char kat175_addin1[] = { + 0x0c, 0x34, 0xe0, 0xea, 0xe8, 0xfa, 0x94, 0xc2, 0x6c, 0xb5, 0x11, 0xc7, + 0x9a, 0x49, 0x83, 0x3e, +}; +static const unsigned char kat175_retbits[] = { + 0x89, 0xeb, 0xf1, 0x81, 0x5e, 0x2c, 0x33, 0x32, 0x59, 0xd6, 0xaa, 0xa0, + 0x07, 0xd1, 0x9c, 0xa5, 0xe0, 0x1e, 0x59, 0x87, 0x76, 0xac, 0x2a, 0xf5, + 0x5a, 0xbf, 0x78, 0xc1, 0x1b, 0x4e, 0xd7, 0x44, 0xb6, 0xde, 0x87, 0x5a, + 0x36, 0xf4, 0x52, 0xc2, 0x7a, 0xc4, 0xa0, 0xe6, 0x77, 0x93, 0x8b, 0x16, + 0x1b, 0x2c, 0x00, 0xeb, 0x06, 0x59, 0xbd, 0xf2, 0xdc, 0x42, 0x5a, 0x89, + 0xa2, 0x4a, 0xff, 0xd0, +}; +static const struct drbg_kat_no_reseed kat175_t = { + 9, kat175_entropyin, kat175_nonce, kat175_persstr, + kat175_addin0, kat175_addin1, kat175_retbits +}; +static const struct drbg_kat kat175 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat175_t +}; + +static const unsigned char kat176_entropyin[] = { + 0x1d, 0x0e, 0x60, 0xe6, 0x80, 0x17, 0x40, 0x42, 0x1d, 0x29, 0xf6, 0x5a, + 0x60, 0x60, 0x6c, 0x1b, +}; +static const unsigned char kat176_nonce[] = { + 0x37, 0x03, 0x36, 0xdb, 0x08, 0x35, 0xe9, 0x1a, +}; +static const unsigned char kat176_persstr[] = { + 0x7a, 0x27, 0x3b, 0x4d, 0x99, 0x75, 0x35, 0x11, 0xfc, 0xf3, 0x4f, 0x3b, + 0x1b, 0xb2, 0x9e, 0x16, +}; +static const unsigned char kat176_addin0[] = { + 0xd6, 0x44, 0xcb, 0x46, 0xe0, 0x1c, 0x07, 0x12, 0xef, 0x9d, 0xa4, 0xed, + 0xe5, 0xca, 0x40, 0x7c, +}; +static const unsigned char kat176_addin1[] = { + 0x5c, 0x99, 0x05, 0x45, 0xee, 0xaf, 0x59, 0xde, 0x4d, 0x34, 0x9a, 0xe6, + 0x66, 0x1f, 0x70, 0x41, +}; +static const unsigned char kat176_retbits[] = { + 0xda, 0xd5, 0x03, 0xe7, 0x20, 0x96, 0x02, 0xa8, 0x6f, 0x18, 0xd0, 0x1a, + 0x2b, 0x05, 0x15, 0xb4, 0xb3, 0xd4, 0xa4, 0xc0, 0x37, 0xaf, 0x71, 0x86, + 0xec, 0xba, 0x25, 0xdc, 0xb7, 0x81, 0xd9, 0x73, 0x11, 0x81, 0x0f, 0x98, + 0xc1, 0x7c, 0x34, 0x17, 0x30, 0x61, 0xab, 0x78, 0xec, 0xcb, 0xd4, 0x91, + 0x85, 0xcf, 0x5d, 0x4f, 0xb9, 0x1d, 0xff, 0xf4, 0xb0, 0xb6, 0x53, 0xdc, + 0x15, 0x89, 0x92, 0x29, +}; +static const struct drbg_kat_no_reseed kat176_t = { + 10, kat176_entropyin, kat176_nonce, kat176_persstr, + kat176_addin0, kat176_addin1, kat176_retbits +}; +static const struct drbg_kat kat176 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat176_t +}; + +static const unsigned char kat177_entropyin[] = { + 0x67, 0x58, 0x85, 0x38, 0x3c, 0x6b, 0x3b, 0x00, 0x8e, 0x88, 0x49, 0x37, + 0xed, 0xa7, 0x7b, 0xe8, +}; +static const unsigned char kat177_nonce[] = { + 0xb9, 0x1c, 0x7c, 0x06, 0x87, 0x85, 0x32, 0xf2, +}; +static const unsigned char kat177_persstr[] = { + 0x12, 0xce, 0x97, 0xb4, 0x0a, 0x1b, 0xcd, 0xe5, 0x03, 0x90, 0xe3, 0x15, + 0xcd, 0x91, 0x1d, 0x53, +}; +static const unsigned char kat177_addin0[] = { + 0x10, 0x58, 0x43, 0x4c, 0xf9, 0xb3, 0x8f, 0xd7, 0x2a, 0x14, 0x0c, 0xf0, + 0x94, 0x24, 0x36, 0xe3, +}; +static const unsigned char kat177_addin1[] = { + 0x59, 0x8b, 0xf8, 0x01, 0x43, 0x39, 0x82, 0x09, 0x66, 0xd9, 0x4b, 0xe1, + 0xe2, 0xe9, 0xc8, 0x55, +}; +static const unsigned char kat177_retbits[] = { + 0x45, 0x48, 0x8c, 0xa0, 0xe2, 0xf2, 0x83, 0xf1, 0x74, 0x1b, 0xcb, 0xf4, + 0x9a, 0x79, 0x36, 0x54, 0x59, 0x07, 0x52, 0x49, 0xe1, 0xc4, 0x17, 0x77, + 0xf3, 0xe0, 0x08, 0xd8, 0x02, 0x0e, 0xe1, 0xf5, 0x98, 0xac, 0xa0, 0xad, + 0x26, 0xed, 0xcd, 0x92, 0x0c, 0x85, 0x59, 0xd0, 0xea, 0xf7, 0xcc, 0x5d, + 0x5a, 0x71, 0x44, 0x37, 0xc0, 0x45, 0x81, 0xa6, 0x4c, 0x74, 0x99, 0xe5, + 0xf0, 0xbe, 0x08, 0x9c, +}; +static const struct drbg_kat_no_reseed kat177_t = { + 11, kat177_entropyin, kat177_nonce, kat177_persstr, + kat177_addin0, kat177_addin1, kat177_retbits +}; +static const struct drbg_kat kat177 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat177_t +}; + +static const unsigned char kat178_entropyin[] = { + 0x71, 0x23, 0x93, 0xa9, 0xf4, 0xa1, 0xb0, 0xbb, 0xab, 0xf4, 0xf4, 0x96, + 0xe8, 0x17, 0x0a, 0xdc, +}; +static const unsigned char kat178_nonce[] = { + 0x0f, 0x59, 0x0c, 0x32, 0x39, 0xc6, 0xcf, 0x47, +}; +static const unsigned char kat178_persstr[] = { + 0xb7, 0x2b, 0x40, 0x97, 0xa9, 0xfb, 0x3d, 0x45, 0xbb, 0x06, 0x24, 0x15, + 0xb6, 0xf2, 0xdf, 0xb1, +}; +static const unsigned char kat178_addin0[] = { + 0xe2, 0x7a, 0xde, 0x7c, 0x11, 0x86, 0x56, 0x55, 0x3f, 0x06, 0xec, 0x20, + 0x19, 0x9b, 0x53, 0x70, +}; +static const unsigned char kat178_addin1[] = { + 0x4e, 0xb4, 0xfd, 0xa3, 0xff, 0xda, 0xd4, 0xf9, 0xdd, 0xaf, 0xd0, 0xd0, + 0xbf, 0xec, 0xd4, 0x44, +}; +static const unsigned char kat178_retbits[] = { + 0x04, 0x49, 0xa8, 0x2a, 0x31, 0x7e, 0x22, 0xe5, 0xa7, 0xa6, 0x68, 0x4d, + 0x08, 0xb8, 0xf6, 0x3e, 0x02, 0xd8, 0xb9, 0x08, 0x5d, 0x61, 0x9a, 0xb5, + 0x6c, 0xde, 0x52, 0x2c, 0x86, 0x67, 0xd5, 0xf8, 0x8b, 0x2e, 0xa8, 0x83, + 0x03, 0x29, 0x49, 0x1a, 0x5e, 0xa8, 0x28, 0xe0, 0xa3, 0x66, 0xae, 0x7e, + 0x84, 0xf2, 0xcd, 0xee, 0x69, 0x8a, 0x92, 0x41, 0x18, 0x88, 0x83, 0xbe, + 0x00, 0xc5, 0x33, 0xe8, +}; +static const struct drbg_kat_no_reseed kat178_t = { + 12, kat178_entropyin, kat178_nonce, kat178_persstr, + kat178_addin0, kat178_addin1, kat178_retbits +}; +static const struct drbg_kat kat178 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat178_t +}; + +static const unsigned char kat179_entropyin[] = { + 0x57, 0x66, 0x40, 0xf9, 0x76, 0xa6, 0x28, 0xb0, 0x9e, 0x98, 0xaf, 0x48, + 0x3b, 0x64, 0x5e, 0x56, +}; +static const unsigned char kat179_nonce[] = { + 0x82, 0x2e, 0x8a, 0x10, 0xdf, 0x06, 0xd0, 0xfe, +}; +static const unsigned char kat179_persstr[] = { + 0x6d, 0x6a, 0x6f, 0x68, 0xbb, 0x38, 0x1c, 0x29, 0x1f, 0x3f, 0xa6, 0x21, + 0xd6, 0xab, 0x64, 0xb2, +}; +static const unsigned char kat179_addin0[] = { + 0xb0, 0x5f, 0x14, 0xe4, 0x1f, 0x54, 0x33, 0x8c, 0x44, 0x15, 0xa5, 0xb5, + 0xc8, 0xc5, 0x61, 0x99, +}; +static const unsigned char kat179_addin1[] = { + 0xc6, 0x84, 0x7c, 0x9e, 0xd7, 0x4c, 0x86, 0x9a, 0xc4, 0xa5, 0x6f, 0xf2, + 0xd0, 0x95, 0x6d, 0x6b, +}; +static const unsigned char kat179_retbits[] = { + 0x5c, 0x6a, 0x7e, 0x58, 0xea, 0xcf, 0xa5, 0x8d, 0xca, 0x93, 0x99, 0xa3, + 0xf9, 0xb6, 0xcb, 0x41, 0xd2, 0xbc, 0x24, 0xf6, 0x72, 0x58, 0x7d, 0xb2, + 0x29, 0xbf, 0x22, 0x20, 0xc2, 0x85, 0x13, 0x47, 0xd4, 0x7d, 0xa1, 0xca, + 0x0a, 0x6a, 0x13, 0x77, 0x96, 0x05, 0xdb, 0x90, 0xd9, 0x1a, 0x61, 0x48, + 0x88, 0x18, 0xd3, 0x3b, 0x2a, 0x4a, 0xd6, 0x74, 0x09, 0x00, 0x68, 0x5f, + 0x8e, 0xc6, 0x13, 0x6f, +}; +static const struct drbg_kat_no_reseed kat179_t = { + 13, kat179_entropyin, kat179_nonce, kat179_persstr, + kat179_addin0, kat179_addin1, kat179_retbits +}; +static const struct drbg_kat kat179 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat179_t +}; + +static const unsigned char kat180_entropyin[] = { + 0x69, 0x65, 0x03, 0xc8, 0x48, 0x60, 0x51, 0x87, 0x84, 0xdd, 0x4c, 0x6c, + 0x31, 0x71, 0x0f, 0x43, +}; +static const unsigned char kat180_nonce[] = { + 0xee, 0x52, 0xc0, 0xa4, 0xcd, 0x90, 0xdf, 0x1e, +}; +static const unsigned char kat180_persstr[] = { + 0x9a, 0x08, 0xd6, 0xb4, 0x80, 0xef, 0x3a, 0xc2, 0x00, 0xa1, 0x30, 0x87, + 0x8d, 0x80, 0xd0, 0x79, +}; +static const unsigned char kat180_addin0[] = { + 0x5c, 0x51, 0x31, 0x59, 0x7b, 0xd3, 0xab, 0x02, 0x5c, 0xa0, 0x05, 0x79, + 0xc8, 0x6f, 0xfd, 0xed, +}; +static const unsigned char kat180_addin1[] = { + 0xa8, 0xcc, 0x33, 0xc8, 0x51, 0xee, 0x11, 0xe4, 0x70, 0x1a, 0x32, 0x19, + 0x7b, 0x61, 0x76, 0x23, +}; +static const unsigned char kat180_retbits[] = { + 0x9a, 0xfd, 0xc4, 0x54, 0xf5, 0xc2, 0xce, 0x29, 0x95, 0xfc, 0x7c, 0xcf, + 0xb4, 0xe8, 0x67, 0x1a, 0x4b, 0x27, 0xdf, 0xcb, 0x1c, 0x02, 0xfe, 0xc6, + 0x07, 0xaa, 0xfc, 0x64, 0x22, 0x65, 0x70, 0x96, 0xce, 0x18, 0x14, 0x10, + 0x1b, 0x8a, 0x74, 0x3e, 0x2d, 0x4a, 0x2c, 0x4e, 0x2e, 0x8d, 0xa2, 0x57, + 0x57, 0x8d, 0xe7, 0x10, 0x54, 0x12, 0xf3, 0x52, 0xa4, 0xcd, 0x14, 0xaf, + 0x7d, 0xb0, 0xeb, 0x03, +}; +static const struct drbg_kat_no_reseed kat180_t = { + 14, kat180_entropyin, kat180_nonce, kat180_persstr, + kat180_addin0, kat180_addin1, kat180_retbits +}; +static const struct drbg_kat kat180 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat180_t +}; + +static const unsigned char kat181_entropyin[] = { + 0x6b, 0xdf, 0x53, 0x32, 0xbd, 0xce, 0x46, 0x55, 0xd4, 0x5c, 0x2c, 0xfe, + 0xa8, 0x97, 0xb0, 0x00, +}; +static const unsigned char kat181_nonce[] = { + 0xe7, 0x8c, 0x55, 0x71, 0xc5, 0xf9, 0x26, 0xf9, +}; +static const unsigned char kat181_persstr[] = {0}; +static const unsigned char kat181_addin0[] = {0}; +static const unsigned char kat181_addin1[] = {0}; +static const unsigned char kat181_retbits[] = { + 0xe0, 0x71, 0x56, 0x88, 0x76, 0x5a, 0x32, 0x85, 0xe7, 0xb7, 0xdb, 0x55, + 0x5f, 0x27, 0x79, 0x24, 0xe7, 0x17, 0x1f, 0x75, 0x41, 0xbf, 0x26, 0x12, + 0x2b, 0x13, 0xdb, 0xaa, 0xa3, 0x9f, 0x9e, 0x2b, 0x03, 0x45, 0xc6, 0x59, + 0x58, 0x3f, 0xf8, 0xc9, 0xcf, 0xd8, 0x88, 0xf1, 0xab, 0xd2, 0xf3, 0xb3, + 0x6a, 0x7c, 0x9d, 0x47, 0xc6, 0x87, 0xb0, 0x1c, 0x81, 0x9a, 0x9f, 0x98, + 0x88, 0x54, 0x2e, 0x0f, +}; +static const struct drbg_kat_no_reseed kat181_t = { + 0, kat181_entropyin, kat181_nonce, kat181_persstr, + kat181_addin0, kat181_addin1, kat181_retbits +}; +static const struct drbg_kat kat181 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat181_t +}; + +static const unsigned char kat182_entropyin[] = { + 0xa4, 0x73, 0x7d, 0x48, 0xa8, 0x93, 0x25, 0x07, 0x85, 0x79, 0xe6, 0x49, + 0xe2, 0xfa, 0x65, 0xeb, +}; +static const unsigned char kat182_nonce[] = { + 0x6a, 0x79, 0x9a, 0x7a, 0x2f, 0x13, 0xe8, 0x13, +}; +static const unsigned char kat182_persstr[] = {0}; +static const unsigned char kat182_addin0[] = {0}; +static const unsigned char kat182_addin1[] = {0}; +static const unsigned char kat182_retbits[] = { + 0x75, 0x2a, 0x91, 0x6d, 0x98, 0x05, 0x18, 0xd9, 0xe7, 0xe4, 0x75, 0x99, + 0x06, 0x6b, 0x45, 0x71, 0x46, 0x61, 0xf3, 0x41, 0x59, 0xf0, 0xc8, 0xce, + 0xa8, 0xda, 0xbd, 0x59, 0x6a, 0x06, 0x6a, 0xff, 0x7a, 0xe6, 0xc2, 0x1e, + 0x69, 0xa3, 0x56, 0xdd, 0x2e, 0xe0, 0xda, 0x55, 0x42, 0x9c, 0x67, 0x5a, + 0xa6, 0xfa, 0x09, 0x00, 0x17, 0x3f, 0x54, 0x77, 0xcd, 0x7f, 0xd6, 0x49, + 0xea, 0xe0, 0xc9, 0x9a, +}; +static const struct drbg_kat_no_reseed kat182_t = { + 1, kat182_entropyin, kat182_nonce, kat182_persstr, + kat182_addin0, kat182_addin1, kat182_retbits +}; +static const struct drbg_kat kat182 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat182_t +}; + +static const unsigned char kat183_entropyin[] = { + 0x99, 0xb4, 0xe9, 0xe5, 0xba, 0xaa, 0x99, 0xbf, 0x8b, 0x8a, 0x0c, 0x2c, + 0xfd, 0x9a, 0x89, 0xce, +}; +static const unsigned char kat183_nonce[] = { + 0xf4, 0x8b, 0x31, 0x29, 0x41, 0xd3, 0x55, 0x4d, +}; +static const unsigned char kat183_persstr[] = {0}; +static const unsigned char kat183_addin0[] = {0}; +static const unsigned char kat183_addin1[] = {0}; +static const unsigned char kat183_retbits[] = { + 0x85, 0xcf, 0x14, 0x8c, 0x65, 0xec, 0xe7, 0x52, 0x5d, 0xea, 0x96, 0x34, + 0x4d, 0xa6, 0x45, 0x11, 0x99, 0x49, 0x21, 0x85, 0xc8, 0xb8, 0xdf, 0xff, + 0x50, 0x0d, 0xdd, 0x68, 0xca, 0xab, 0x50, 0xbd, 0x74, 0x18, 0x66, 0x93, + 0x7a, 0x50, 0x1a, 0xf8, 0x76, 0xae, 0x84, 0x9b, 0x5b, 0x1b, 0x53, 0x30, + 0xde, 0x65, 0xeb, 0xf3, 0x8e, 0x9d, 0x55, 0x96, 0x93, 0xfa, 0xe8, 0x05, + 0xcc, 0xc9, 0xaa, 0xed, +}; +static const struct drbg_kat_no_reseed kat183_t = { + 2, kat183_entropyin, kat183_nonce, kat183_persstr, + kat183_addin0, kat183_addin1, kat183_retbits +}; +static const struct drbg_kat kat183 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat183_t +}; + +static const unsigned char kat184_entropyin[] = { + 0x7c, 0x1e, 0xf8, 0x46, 0xe7, 0xf3, 0xa7, 0xcf, 0xe5, 0xc7, 0xbb, 0x47, + 0xe4, 0x6a, 0xa0, 0xe8, +}; +static const unsigned char kat184_nonce[] = { + 0x78, 0xeb, 0x00, 0x29, 0x55, 0xd2, 0x70, 0xd3, +}; +static const unsigned char kat184_persstr[] = {0}; +static const unsigned char kat184_addin0[] = {0}; +static const unsigned char kat184_addin1[] = {0}; +static const unsigned char kat184_retbits[] = { + 0xb7, 0x39, 0xf9, 0x53, 0x39, 0xe8, 0x3f, 0xe8, 0xa3, 0x39, 0x16, 0x2f, + 0x1e, 0x96, 0xcc, 0x82, 0xb6, 0x7a, 0xf4, 0x17, 0x59, 0xf4, 0x83, 0x06, + 0x4e, 0x61, 0xa0, 0x39, 0x13, 0x7a, 0xf0, 0x7d, 0x93, 0x4a, 0x0e, 0xb7, + 0xca, 0x72, 0x84, 0xc1, 0x46, 0x86, 0xca, 0x04, 0x88, 0x95, 0x3e, 0xe4, + 0x40, 0xf6, 0xcd, 0x11, 0x45, 0xd0, 0x76, 0x6f, 0x4f, 0xf1, 0xc7, 0x7b, + 0x0d, 0x81, 0xd3, 0x61, +}; +static const struct drbg_kat_no_reseed kat184_t = { + 3, kat184_entropyin, kat184_nonce, kat184_persstr, + kat184_addin0, kat184_addin1, kat184_retbits +}; +static const struct drbg_kat kat184 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat184_t +}; + +static const unsigned char kat185_entropyin[] = { + 0x6f, 0x75, 0x0f, 0xb7, 0x3f, 0xbc, 0xb6, 0xdb, 0x57, 0x50, 0x6c, 0xf2, + 0xde, 0xfa, 0xf6, 0xd4, +}; +static const unsigned char kat185_nonce[] = { + 0xa5, 0x2c, 0x92, 0x97, 0xe0, 0x2f, 0x42, 0x55, +}; +static const unsigned char kat185_persstr[] = {0}; +static const unsigned char kat185_addin0[] = {0}; +static const unsigned char kat185_addin1[] = {0}; +static const unsigned char kat185_retbits[] = { + 0x0c, 0xa7, 0x48, 0xfc, 0xb3, 0xba, 0x23, 0xbd, 0x04, 0x3f, 0x48, 0x50, + 0x75, 0x85, 0x42, 0x52, 0x34, 0xec, 0x4a, 0x0f, 0x35, 0x0e, 0xfd, 0xcc, + 0x87, 0xf9, 0x06, 0x2c, 0x8a, 0xe0, 0xcf, 0x1e, 0x03, 0x3b, 0x7d, 0xf8, + 0x35, 0x7f, 0x5b, 0x0e, 0x4f, 0x7c, 0x21, 0xd4, 0xfb, 0xdc, 0xf8, 0x9c, + 0xe0, 0x19, 0x9c, 0x25, 0x79, 0x02, 0x70, 0xfe, 0x67, 0xff, 0xee, 0xc2, + 0x6c, 0xfc, 0x4d, 0x18, +}; +static const struct drbg_kat_no_reseed kat185_t = { + 4, kat185_entropyin, kat185_nonce, kat185_persstr, + kat185_addin0, kat185_addin1, kat185_retbits +}; +static const struct drbg_kat kat185 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat185_t +}; + +static const unsigned char kat186_entropyin[] = { + 0x44, 0xb6, 0xc3, 0x9a, 0x3a, 0xf6, 0xa4, 0x73, 0x14, 0x8e, 0x32, 0xd9, + 0x79, 0x2b, 0x9e, 0xee, +}; +static const unsigned char kat186_nonce[] = { + 0xde, 0x44, 0xdd, 0x36, 0x00, 0x3e, 0x48, 0x22, +}; +static const unsigned char kat186_persstr[] = {0}; +static const unsigned char kat186_addin0[] = {0}; +static const unsigned char kat186_addin1[] = {0}; +static const unsigned char kat186_retbits[] = { + 0x10, 0x12, 0x20, 0x08, 0x7c, 0xa7, 0x70, 0xe4, 0x57, 0x4f, 0xd0, 0x5b, + 0x2e, 0x88, 0x85, 0x1b, 0x48, 0x09, 0xcf, 0x21, 0xe6, 0x5e, 0xb0, 0xe3, + 0xd1, 0xec, 0xda, 0x29, 0xaa, 0xcf, 0x2d, 0x93, 0xe7, 0x5d, 0x79, 0x3b, + 0x99, 0x24, 0xae, 0xdd, 0x9b, 0x9a, 0x38, 0x84, 0x4d, 0xb4, 0x30, 0x47, + 0x0d, 0x01, 0x5d, 0xa6, 0x04, 0x18, 0x75, 0x3f, 0x2e, 0x3c, 0x6a, 0x15, + 0xf5, 0x58, 0xf4, 0xa9, +}; +static const struct drbg_kat_no_reseed kat186_t = { + 5, kat186_entropyin, kat186_nonce, kat186_persstr, + kat186_addin0, kat186_addin1, kat186_retbits +}; +static const struct drbg_kat kat186 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat186_t +}; + +static const unsigned char kat187_entropyin[] = { + 0xe4, 0xd1, 0xff, 0x1c, 0x3c, 0xd2, 0x78, 0x49, 0xa2, 0x97, 0xe5, 0xa9, + 0x8e, 0xde, 0x08, 0x6a, +}; +static const unsigned char kat187_nonce[] = { + 0xf8, 0x9d, 0x58, 0xb0, 0x61, 0x7e, 0x5d, 0x10, +}; +static const unsigned char kat187_persstr[] = {0}; +static const unsigned char kat187_addin0[] = {0}; +static const unsigned char kat187_addin1[] = {0}; +static const unsigned char kat187_retbits[] = { + 0x54, 0xc4, 0x67, 0x97, 0xa3, 0x8e, 0x11, 0xc5, 0x43, 0x47, 0x78, 0x09, + 0xd9, 0xd6, 0xed, 0x0a, 0xe4, 0x02, 0x02, 0x85, 0xed, 0xf9, 0x9e, 0x7e, + 0xc9, 0x45, 0xcf, 0xcf, 0x21, 0xdd, 0xaa, 0x6d, 0x9a, 0x71, 0x85, 0x6b, + 0xdb, 0xd6, 0x61, 0x3b, 0xf8, 0xe9, 0x7e, 0x0a, 0xf8, 0xd3, 0xc4, 0xce, + 0xdd, 0x0d, 0xfc, 0xfb, 0x47, 0x42, 0xa2, 0xef, 0x0a, 0x44, 0x3e, 0xf8, + 0x78, 0x96, 0x0e, 0x6f, +}; +static const struct drbg_kat_no_reseed kat187_t = { + 6, kat187_entropyin, kat187_nonce, kat187_persstr, + kat187_addin0, kat187_addin1, kat187_retbits +}; +static const struct drbg_kat kat187 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat187_t +}; + +static const unsigned char kat188_entropyin[] = { + 0x15, 0x14, 0xbe, 0x70, 0x6e, 0x4c, 0x16, 0x72, 0x90, 0x55, 0x06, 0xb0, + 0xc5, 0x53, 0x47, 0xf2, +}; +static const unsigned char kat188_nonce[] = { + 0xad, 0x8d, 0x88, 0x9f, 0x2b, 0x91, 0xa6, 0xdd, +}; +static const unsigned char kat188_persstr[] = {0}; +static const unsigned char kat188_addin0[] = {0}; +static const unsigned char kat188_addin1[] = {0}; +static const unsigned char kat188_retbits[] = { + 0xb3, 0x64, 0x4a, 0x6d, 0x16, 0x34, 0x0e, 0xf8, 0xb2, 0x8a, 0xd0, 0x6f, + 0x4c, 0xbf, 0xd5, 0xe7, 0x99, 0xf0, 0x80, 0xd4, 0xb2, 0xf8, 0x31, 0xfd, + 0x90, 0xb3, 0x13, 0xc8, 0x62, 0xd5, 0x76, 0x3d, 0x22, 0xb1, 0x21, 0x7f, + 0xe3, 0xd4, 0xf0, 0x7c, 0x00, 0x6a, 0x39, 0x89, 0x5d, 0x46, 0xd5, 0x24, + 0x70, 0xb3, 0xf8, 0xb7, 0x75, 0x21, 0xe1, 0x41, 0xf6, 0x8b, 0x06, 0xb5, + 0x4c, 0x38, 0x66, 0x6f, +}; +static const struct drbg_kat_no_reseed kat188_t = { + 7, kat188_entropyin, kat188_nonce, kat188_persstr, + kat188_addin0, kat188_addin1, kat188_retbits +}; +static const struct drbg_kat kat188 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat188_t +}; + +static const unsigned char kat189_entropyin[] = { + 0x83, 0x35, 0xa4, 0x33, 0xa8, 0x0d, 0x5a, 0x3e, 0x8a, 0xb1, 0xf7, 0x38, + 0x55, 0xf9, 0x7a, 0x9b, +}; +static const unsigned char kat189_nonce[] = { + 0x02, 0x62, 0xb4, 0x7c, 0x2a, 0xb5, 0xfc, 0xba, +}; +static const unsigned char kat189_persstr[] = {0}; +static const unsigned char kat189_addin0[] = {0}; +static const unsigned char kat189_addin1[] = {0}; +static const unsigned char kat189_retbits[] = { + 0x66, 0xa0, 0x3a, 0x0b, 0x3b, 0x2e, 0xf8, 0xd0, 0x4e, 0x01, 0xda, 0x6e, + 0x31, 0xbc, 0x90, 0x02, 0xeb, 0xac, 0xa9, 0x8d, 0x63, 0xfd, 0xde, 0xb0, + 0x7f, 0xa3, 0xe0, 0x65, 0x0a, 0x32, 0xe1, 0x42, 0xfc, 0xab, 0x99, 0x63, + 0xf0, 0x6b, 0xa8, 0x8c, 0xd5, 0x8b, 0xe7, 0x5a, 0x99, 0xdf, 0xa1, 0x3b, + 0x4f, 0x8f, 0xea, 0xe6, 0xf8, 0x4c, 0xe2, 0xde, 0x4d, 0x20, 0x19, 0x92, + 0x23, 0x1f, 0xf3, 0xb8, +}; +static const struct drbg_kat_no_reseed kat189_t = { + 8, kat189_entropyin, kat189_nonce, kat189_persstr, + kat189_addin0, kat189_addin1, kat189_retbits +}; +static const struct drbg_kat kat189 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat189_t +}; + +static const unsigned char kat190_entropyin[] = { + 0x37, 0xfa, 0xeb, 0x0b, 0x3f, 0x85, 0x37, 0x2c, 0xcb, 0x44, 0x22, 0xe3, + 0x66, 0x90, 0xe9, 0x6c, +}; +static const unsigned char kat190_nonce[] = { + 0xda, 0x16, 0x5c, 0x92, 0xd5, 0xfa, 0xaa, 0x3a, +}; +static const unsigned char kat190_persstr[] = {0}; +static const unsigned char kat190_addin0[] = {0}; +static const unsigned char kat190_addin1[] = {0}; +static const unsigned char kat190_retbits[] = { + 0x47, 0x75, 0x15, 0x90, 0x25, 0xd5, 0xb8, 0x82, 0xf3, 0x7c, 0x7e, 0xdb, + 0x8d, 0x89, 0xb3, 0x8a, 0xcb, 0x14, 0xa0, 0x28, 0x39, 0x80, 0x2c, 0x37, + 0x7a, 0xc4, 0x82, 0xf8, 0xc6, 0xb5, 0x9a, 0xd6, 0x9c, 0x7d, 0x67, 0x55, + 0x6b, 0xc4, 0x1c, 0xc3, 0x22, 0xd9, 0xcd, 0x75, 0x03, 0x2a, 0xf5, 0x27, + 0x15, 0xb3, 0x60, 0x2f, 0x24, 0xc2, 0xb0, 0x99, 0x84, 0x0e, 0xab, 0x00, + 0xb7, 0x42, 0x93, 0xad, +}; +static const struct drbg_kat_no_reseed kat190_t = { + 9, kat190_entropyin, kat190_nonce, kat190_persstr, + kat190_addin0, kat190_addin1, kat190_retbits +}; +static const struct drbg_kat kat190 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat190_t +}; + +static const unsigned char kat191_entropyin[] = { + 0xb6, 0x83, 0x0f, 0x64, 0xe4, 0x73, 0x88, 0xa9, 0xc3, 0xc6, 0x4a, 0xa0, + 0xbe, 0x70, 0x84, 0x51, +}; +static const unsigned char kat191_nonce[] = { + 0x5c, 0xd4, 0x30, 0x34, 0xc9, 0x89, 0xda, 0x56, +}; +static const unsigned char kat191_persstr[] = {0}; +static const unsigned char kat191_addin0[] = {0}; +static const unsigned char kat191_addin1[] = {0}; +static const unsigned char kat191_retbits[] = { + 0xe1, 0x2f, 0x1e, 0x9f, 0xd9, 0x0e, 0x4f, 0x16, 0x6a, 0x13, 0xa4, 0xd3, + 0x5f, 0x90, 0x91, 0xa9, 0x74, 0x44, 0x32, 0x91, 0xff, 0xae, 0x44, 0x02, + 0xcb, 0xcd, 0x9a, 0x24, 0x89, 0x3b, 0x77, 0x09, 0x6b, 0x0a, 0x00, 0xdb, + 0x20, 0xe4, 0x32, 0x88, 0x62, 0x61, 0x39, 0xf7, 0xc1, 0x76, 0x7f, 0x6e, + 0x7f, 0xfe, 0xe9, 0x02, 0x2d, 0xde, 0x41, 0xb4, 0x78, 0x48, 0x5e, 0xe9, + 0x12, 0x5f, 0x3e, 0xb8, +}; +static const struct drbg_kat_no_reseed kat191_t = { + 10, kat191_entropyin, kat191_nonce, kat191_persstr, + kat191_addin0, kat191_addin1, kat191_retbits +}; +static const struct drbg_kat kat191 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat191_t +}; + +static const unsigned char kat192_entropyin[] = { + 0xf7, 0x1a, 0x01, 0xef, 0x00, 0xb3, 0xd6, 0x13, 0x46, 0x07, 0xdf, 0xc5, + 0x73, 0x25, 0xf6, 0x87, +}; +static const unsigned char kat192_nonce[] = { + 0x49, 0x76, 0x0a, 0xeb, 0xbc, 0x89, 0x61, 0xfe, +}; +static const unsigned char kat192_persstr[] = {0}; +static const unsigned char kat192_addin0[] = {0}; +static const unsigned char kat192_addin1[] = {0}; +static const unsigned char kat192_retbits[] = { + 0x0f, 0x00, 0x8e, 0x60, 0xab, 0x48, 0x14, 0xcc, 0xd8, 0xd2, 0x89, 0x77, + 0x53, 0xf5, 0x8c, 0xa3, 0x58, 0xba, 0xcd, 0x3f, 0x2e, 0xfc, 0x22, 0xc0, + 0xec, 0x89, 0xa6, 0x5b, 0x0a, 0x91, 0x82, 0xf5, 0x55, 0xcc, 0x49, 0x7a, + 0xa5, 0x9a, 0xf9, 0x14, 0xbc, 0x9c, 0x65, 0xbe, 0x7c, 0x09, 0x21, 0x46, + 0xcb, 0x78, 0xfc, 0xe2, 0x40, 0xfc, 0x8f, 0xe1, 0x36, 0x72, 0x9e, 0xa7, + 0x77, 0x16, 0x44, 0x7f, +}; +static const struct drbg_kat_no_reseed kat192_t = { + 11, kat192_entropyin, kat192_nonce, kat192_persstr, + kat192_addin0, kat192_addin1, kat192_retbits +}; +static const struct drbg_kat kat192 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat192_t +}; + +static const unsigned char kat193_entropyin[] = { + 0x79, 0x0e, 0xf8, 0xf0, 0xee, 0x6d, 0xf4, 0x80, 0xb2, 0xd4, 0x4d, 0xac, + 0x1c, 0x37, 0x61, 0x4c, +}; +static const unsigned char kat193_nonce[] = { + 0xd5, 0x52, 0x44, 0x4d, 0x7d, 0xc3, 0x5e, 0x5c, +}; +static const unsigned char kat193_persstr[] = {0}; +static const unsigned char kat193_addin0[] = {0}; +static const unsigned char kat193_addin1[] = {0}; +static const unsigned char kat193_retbits[] = { + 0x2a, 0xf8, 0xe3, 0x09, 0x77, 0x55, 0x6f, 0xae, 0x7c, 0x18, 0xae, 0x12, + 0xba, 0x22, 0x01, 0xb4, 0x0d, 0xe8, 0xc0, 0x21, 0x66, 0xed, 0x94, 0xc1, + 0x41, 0x27, 0x20, 0x50, 0xdb, 0xea, 0x72, 0xf3, 0xb8, 0xf9, 0x91, 0x54, + 0x7f, 0xc0, 0xf5, 0x58, 0x36, 0x17, 0x12, 0x67, 0xd4, 0x2a, 0x53, 0xdc, + 0xfb, 0x37, 0xc1, 0x5a, 0x22, 0x76, 0x76, 0xbf, 0x21, 0x8a, 0x49, 0xd0, + 0xb7, 0x23, 0x68, 0x9c, +}; +static const struct drbg_kat_no_reseed kat193_t = { + 12, kat193_entropyin, kat193_nonce, kat193_persstr, + kat193_addin0, kat193_addin1, kat193_retbits +}; +static const struct drbg_kat kat193 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat193_t +}; + +static const unsigned char kat194_entropyin[] = { + 0xbe, 0x19, 0x6c, 0x9c, 0xe3, 0x83, 0xc8, 0xb1, 0x01, 0xcd, 0x27, 0xa1, + 0x12, 0x91, 0x9f, 0xbc, +}; +static const unsigned char kat194_nonce[] = { + 0x33, 0x2e, 0xbe, 0x3d, 0x47, 0x3a, 0x3a, 0x35, +}; +static const unsigned char kat194_persstr[] = {0}; +static const unsigned char kat194_addin0[] = {0}; +static const unsigned char kat194_addin1[] = {0}; +static const unsigned char kat194_retbits[] = { + 0x01, 0x6b, 0x05, 0xd5, 0x57, 0x77, 0x7b, 0x36, 0xa1, 0x92, 0x04, 0x0c, + 0x58, 0x0a, 0x5c, 0x51, 0x6d, 0xda, 0x11, 0x55, 0x93, 0x4a, 0xfb, 0xd9, + 0x6c, 0xc8, 0x5b, 0x6e, 0x8b, 0x00, 0x83, 0xbb, 0xda, 0x27, 0x3e, 0xa6, + 0xdb, 0x52, 0xa0, 0x58, 0x9d, 0x9d, 0xe2, 0xe5, 0x56, 0x8f, 0xfe, 0xf9, + 0xdb, 0x39, 0x50, 0x09, 0x3c, 0x4d, 0xb2, 0xe8, 0xce, 0x9c, 0x25, 0x13, + 0x08, 0x46, 0x93, 0xe4, +}; +static const struct drbg_kat_no_reseed kat194_t = { + 13, kat194_entropyin, kat194_nonce, kat194_persstr, + kat194_addin0, kat194_addin1, kat194_retbits +}; +static const struct drbg_kat kat194 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat194_t +}; + +static const unsigned char kat195_entropyin[] = { + 0x76, 0x39, 0x61, 0x6e, 0xe5, 0xcb, 0x26, 0x9b, 0x5f, 0x54, 0x0d, 0xe1, + 0x50, 0xb4, 0x65, 0x0e, +}; +static const unsigned char kat195_nonce[] = { + 0x3c, 0x93, 0x3a, 0xbe, 0xd3, 0x07, 0xf6, 0xe2, +}; +static const unsigned char kat195_persstr[] = {0}; +static const unsigned char kat195_addin0[] = {0}; +static const unsigned char kat195_addin1[] = {0}; +static const unsigned char kat195_retbits[] = { + 0x06, 0x33, 0xc9, 0xaf, 0x4d, 0x40, 0xf3, 0xc2, 0x1a, 0xd4, 0xe0, 0x78, + 0xa0, 0xc8, 0x4e, 0xe0, 0x3a, 0xd7, 0xad, 0x41, 0x0a, 0x0f, 0x7c, 0xf3, + 0xdf, 0xdf, 0xf5, 0x92, 0x0d, 0xcd, 0x39, 0x87, 0xfc, 0xec, 0xed, 0x11, + 0xa2, 0xb3, 0x8b, 0x15, 0x53, 0x5e, 0x44, 0xb5, 0x53, 0x77, 0xa8, 0xf2, + 0x0f, 0x4f, 0xe0, 0x51, 0x87, 0xf9, 0x76, 0xa2, 0x76, 0xe6, 0x4b, 0x81, + 0x3e, 0x55, 0xa8, 0xb9, +}; +static const struct drbg_kat_no_reseed kat195_t = { + 14, kat195_entropyin, kat195_nonce, kat195_persstr, + kat195_addin0, kat195_addin1, kat195_retbits +}; +static const struct drbg_kat kat195 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat195_t +}; + +static const unsigned char kat196_entropyin[] = { + 0x8b, 0x80, 0x93, 0x6e, 0x69, 0xc6, 0x7e, 0xdb, 0x77, 0x1c, 0x28, 0xf9, + 0xb9, 0x45, 0x21, 0x24, +}; +static const unsigned char kat196_nonce[] = { + 0x7e, 0xe2, 0x61, 0x4e, 0xad, 0x3c, 0x12, 0x8e, +}; +static const unsigned char kat196_persstr[] = {0}; +static const unsigned char kat196_addin0[] = { + 0xfc, 0x35, 0xcb, 0xa9, 0x7a, 0x1e, 0x21, 0x1b, 0xc4, 0x20, 0xe8, 0xaf, + 0x53, 0xf8, 0xe1, 0x3c, +}; +static const unsigned char kat196_addin1[] = { + 0xfb, 0xa4, 0x38, 0xaa, 0xa7, 0x5a, 0x3c, 0xd4, 0xcd, 0x0c, 0xce, 0x39, + 0x9b, 0xfe, 0xc7, 0x4a, +}; +static const unsigned char kat196_retbits[] = { + 0x67, 0x21, 0xcc, 0x1a, 0xda, 0x5e, 0xbc, 0x17, 0x13, 0xf7, 0x4c, 0x75, + 0x90, 0x00, 0x76, 0x56, 0x52, 0xee, 0xb5, 0xf3, 0xf9, 0xc2, 0x4f, 0xb9, + 0x34, 0x1b, 0x36, 0xa3, 0x69, 0xce, 0xc1, 0xd2, 0x7e, 0xa8, 0x0d, 0x6b, + 0x73, 0xb5, 0x60, 0x47, 0xaf, 0x07, 0x13, 0x8c, 0x5a, 0x43, 0xc9, 0x9a, + 0x87, 0x75, 0x31, 0x15, 0xc4, 0x71, 0xb8, 0x58, 0x7e, 0xa6, 0x5f, 0xa2, + 0x06, 0x5e, 0x3c, 0xe0, +}; +static const struct drbg_kat_no_reseed kat196_t = { + 0, kat196_entropyin, kat196_nonce, kat196_persstr, + kat196_addin0, kat196_addin1, kat196_retbits +}; +static const struct drbg_kat kat196 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat196_t +}; + +static const unsigned char kat197_entropyin[] = { + 0x89, 0xce, 0x6c, 0x76, 0xbc, 0x41, 0xaa, 0x32, 0xa9, 0xc8, 0xe3, 0xe3, + 0x7d, 0x62, 0x02, 0xef, +}; +static const unsigned char kat197_nonce[] = { + 0xa3, 0x47, 0xf6, 0xcb, 0x64, 0xed, 0x19, 0xdd, +}; +static const unsigned char kat197_persstr[] = {0}; +static const unsigned char kat197_addin0[] = { + 0xc5, 0x03, 0xb1, 0x22, 0x95, 0x7d, 0xce, 0xc8, 0xd9, 0xeb, 0x9c, 0xc9, + 0x94, 0xb8, 0xd1, 0x22, +}; +static const unsigned char kat197_addin1[] = { + 0x3b, 0xb2, 0xf1, 0x19, 0x7a, 0x99, 0x58, 0x8d, 0xf3, 0x57, 0xc0, 0xd1, + 0x98, 0x6a, 0xc6, 0xed, +}; +static const unsigned char kat197_retbits[] = { + 0xf0, 0xf4, 0x25, 0xb1, 0x9e, 0xb7, 0x5a, 0xea, 0x68, 0x99, 0xfa, 0xb7, + 0x61, 0x2c, 0x98, 0xa0, 0xb5, 0xc5, 0xc5, 0xa3, 0xc8, 0x61, 0x07, 0xa8, + 0xc2, 0x01, 0x62, 0x3f, 0x75, 0x99, 0x31, 0x90, 0x9a, 0xfd, 0x63, 0x41, + 0x9d, 0x1c, 0xce, 0xb8, 0x6b, 0xd4, 0xf1, 0x6e, 0x94, 0x8a, 0xef, 0x08, + 0x47, 0x61, 0x70, 0x75, 0x7b, 0xca, 0xf7, 0x98, 0x84, 0xf9, 0xc3, 0x6b, + 0xc7, 0x7e, 0x9f, 0xf9, +}; +static const struct drbg_kat_no_reseed kat197_t = { + 1, kat197_entropyin, kat197_nonce, kat197_persstr, + kat197_addin0, kat197_addin1, kat197_retbits +}; +static const struct drbg_kat kat197 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat197_t +}; + +static const unsigned char kat198_entropyin[] = { + 0xbc, 0x51, 0x67, 0x8d, 0x1f, 0x31, 0x28, 0x65, 0x7b, 0x38, 0x84, 0x9a, + 0xe9, 0xc4, 0xbb, 0x1e, +}; +static const unsigned char kat198_nonce[] = { + 0xdd, 0x29, 0xd9, 0xd8, 0x3f, 0xdb, 0x5e, 0x09, +}; +static const unsigned char kat198_persstr[] = {0}; +static const unsigned char kat198_addin0[] = { + 0xd4, 0xcd, 0x00, 0x67, 0x5c, 0xfe, 0x22, 0x7d, 0xe0, 0xcb, 0xab, 0x65, + 0x11, 0x35, 0x22, 0x89, +}; +static const unsigned char kat198_addin1[] = { + 0x55, 0xbb, 0x93, 0x62, 0x80, 0xae, 0x46, 0xb2, 0x6d, 0x66, 0xb2, 0xf3, + 0xfe, 0xb2, 0x68, 0xd8, +}; +static const unsigned char kat198_retbits[] = { + 0xe5, 0x81, 0x38, 0xb6, 0xb0, 0x23, 0x2e, 0x4d, 0x6d, 0x9e, 0xa8, 0xb6, + 0x5b, 0xd7, 0x69, 0x65, 0xcd, 0xbc, 0x58, 0x4c, 0xca, 0x2e, 0x83, 0xd4, + 0xea, 0xd9, 0x36, 0xbf, 0xb9, 0xc7, 0x9d, 0x77, 0xde, 0xc9, 0x42, 0x4f, + 0x2c, 0xf8, 0x95, 0x01, 0x1e, 0xf1, 0x03, 0x3c, 0x61, 0x9e, 0x28, 0xd1, + 0xdb, 0xa5, 0xdd, 0x3c, 0xed, 0x04, 0x42, 0x9c, 0x1b, 0xd3, 0xc0, 0x3e, + 0x5d, 0x13, 0xe2, 0xb8, +}; +static const struct drbg_kat_no_reseed kat198_t = { + 2, kat198_entropyin, kat198_nonce, kat198_persstr, + kat198_addin0, kat198_addin1, kat198_retbits +}; +static const struct drbg_kat kat198 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat198_t +}; + +static const unsigned char kat199_entropyin[] = { + 0x06, 0x5a, 0x5d, 0x4f, 0xdb, 0x34, 0xb0, 0x8f, 0xd8, 0xef, 0xc8, 0x1f, + 0x99, 0x62, 0x69, 0xab, +}; +static const unsigned char kat199_nonce[] = { + 0xd5, 0xa6, 0x74, 0x7c, 0x7f, 0x8e, 0xef, 0x46, +}; +static const unsigned char kat199_persstr[] = {0}; +static const unsigned char kat199_addin0[] = { + 0x72, 0xeb, 0xd3, 0x51, 0xed, 0xc0, 0x00, 0xd8, 0x36, 0x32, 0x58, 0xa6, + 0x9f, 0x2b, 0x98, 0xcc, +}; +static const unsigned char kat199_addin1[] = { + 0xe5, 0xc8, 0x61, 0x21, 0x32, 0x96, 0xea, 0x2a, 0xd5, 0x09, 0x8f, 0x9b, + 0x4c, 0x50, 0x64, 0x7d, +}; +static const unsigned char kat199_retbits[] = { + 0xa8, 0xea, 0x47, 0x0f, 0x17, 0xbe, 0xe5, 0x02, 0x1d, 0x49, 0xc8, 0x4b, + 0x72, 0x1e, 0x0b, 0x67, 0x47, 0x0d, 0x3b, 0xc4, 0xf9, 0x8f, 0xac, 0x68, + 0xc6, 0x74, 0x42, 0x97, 0x9d, 0x4f, 0xbc, 0xcb, 0xbc, 0xd0, 0x47, 0x7c, + 0x1e, 0x74, 0x93, 0x12, 0x6c, 0xbe, 0x16, 0x9b, 0x84, 0x44, 0x6f, 0x5f, + 0xcf, 0x66, 0x67, 0x86, 0x77, 0x5d, 0x19, 0xf3, 0x5c, 0x61, 0x52, 0x52, + 0x9a, 0x41, 0xde, 0x6d, +}; +static const struct drbg_kat_no_reseed kat199_t = { + 3, kat199_entropyin, kat199_nonce, kat199_persstr, + kat199_addin0, kat199_addin1, kat199_retbits +}; +static const struct drbg_kat kat199 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat199_t +}; + +static const unsigned char kat200_entropyin[] = { + 0x12, 0x48, 0xed, 0x4b, 0xf6, 0x06, 0xcc, 0x65, 0x8b, 0x64, 0x1b, 0x79, + 0x58, 0x59, 0x7f, 0x5a, +}; +static const unsigned char kat200_nonce[] = { + 0x16, 0xc8, 0x8d, 0xea, 0x4e, 0x75, 0x3d, 0x50, +}; +static const unsigned char kat200_persstr[] = {0}; +static const unsigned char kat200_addin0[] = { + 0xfc, 0x67, 0xe7, 0x63, 0x41, 0x32, 0x02, 0xe0, 0x4c, 0x55, 0x69, 0x7e, + 0xb7, 0x54, 0x8c, 0x56, +}; +static const unsigned char kat200_addin1[] = { + 0x21, 0xe0, 0xe3, 0x86, 0x65, 0xec, 0xf6, 0x0f, 0xa9, 0x73, 0x0b, 0xdf, + 0x7e, 0x22, 0xcc, 0x7f, +}; +static const unsigned char kat200_retbits[] = { + 0x63, 0xd9, 0xb5, 0x0d, 0xd6, 0x9e, 0xa9, 0xda, 0xc7, 0x5f, 0x48, 0xae, + 0x01, 0x2f, 0xce, 0xc2, 0x7c, 0x2e, 0x1d, 0xcf, 0xc2, 0xac, 0x2e, 0x59, + 0x24, 0x4a, 0xf4, 0xa6, 0xce, 0x9a, 0x73, 0xc4, 0xd8, 0xbd, 0xe6, 0x57, + 0x0d, 0x85, 0xee, 0x15, 0xb0, 0x8a, 0x48, 0xef, 0x47, 0x3d, 0x12, 0xdb, + 0x87, 0x1f, 0x6d, 0xf1, 0xd8, 0x14, 0x41, 0x61, 0x3d, 0xcc, 0x1e, 0xfb, + 0x20, 0x18, 0xf0, 0xc3, +}; +static const struct drbg_kat_no_reseed kat200_t = { + 4, kat200_entropyin, kat200_nonce, kat200_persstr, + kat200_addin0, kat200_addin1, kat200_retbits +}; +static const struct drbg_kat kat200 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat200_t +}; + +static const unsigned char kat201_entropyin[] = { + 0x6f, 0xa6, 0x29, 0xd0, 0x3c, 0xb4, 0xeb, 0x53, 0x4e, 0xfa, 0x03, 0x33, + 0x4d, 0x3b, 0x1d, 0x02, +}; +static const unsigned char kat201_nonce[] = { + 0xd9, 0x52, 0x15, 0x3e, 0x79, 0xdf, 0x53, 0x8f, +}; +static const unsigned char kat201_persstr[] = {0}; +static const unsigned char kat201_addin0[] = { + 0x2e, 0x5c, 0x55, 0x45, 0x78, 0xa0, 0x69, 0xf5, 0xe4, 0x95, 0x9d, 0xcb, + 0x35, 0x1a, 0x29, 0x4d, +}; +static const unsigned char kat201_addin1[] = { + 0x2d, 0x26, 0xae, 0xaa, 0xd9, 0xcb, 0xf2, 0x53, 0xad, 0xd8, 0x68, 0x4d, + 0x29, 0xb1, 0xa6, 0x33, +}; +static const unsigned char kat201_retbits[] = { + 0xf5, 0x82, 0x46, 0x31, 0x32, 0x84, 0x99, 0x02, 0x98, 0x86, 0x4a, 0x89, + 0xbf, 0xe7, 0xbe, 0x19, 0x70, 0xc0, 0x33, 0xdc, 0x16, 0x64, 0xad, 0x7f, + 0x5c, 0xd9, 0xb8, 0x12, 0xf5, 0xb7, 0xe9, 0x0f, 0x69, 0xa4, 0x9c, 0xdf, + 0xbe, 0xe0, 0xe2, 0x79, 0xf7, 0xdf, 0x1a, 0x8e, 0xd7, 0x9e, 0xca, 0x6e, + 0x68, 0x0d, 0x74, 0x0c, 0x0f, 0x2a, 0xe1, 0x2f, 0x87, 0x79, 0x8a, 0xcc, + 0x6d, 0x73, 0xd4, 0x2f, +}; +static const struct drbg_kat_no_reseed kat201_t = { + 5, kat201_entropyin, kat201_nonce, kat201_persstr, + kat201_addin0, kat201_addin1, kat201_retbits +}; +static const struct drbg_kat kat201 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat201_t +}; + +static const unsigned char kat202_entropyin[] = { + 0xc5, 0x8e, 0xeb, 0x2e, 0x57, 0xf2, 0x95, 0xd7, 0xaf, 0x1a, 0x37, 0x67, + 0x93, 0x5b, 0x85, 0xeb, +}; +static const unsigned char kat202_nonce[] = { + 0x98, 0x61, 0x2b, 0x6c, 0xa0, 0x2f, 0x60, 0xe4, +}; +static const unsigned char kat202_persstr[] = {0}; +static const unsigned char kat202_addin0[] = { + 0x10, 0xe8, 0x9c, 0x27, 0x1e, 0x2b, 0x28, 0x3d, 0x69, 0xb0, 0x4a, 0xbf, + 0x6c, 0x54, 0xb1, 0xe1, +}; +static const unsigned char kat202_addin1[] = { + 0x20, 0x79, 0x50, 0xc2, 0x8b, 0x26, 0xec, 0x16, 0xc4, 0xf2, 0x81, 0x21, + 0x60, 0x7f, 0x4a, 0x5a, +}; +static const unsigned char kat202_retbits[] = { + 0x28, 0xef, 0xf6, 0x03, 0xff, 0x0d, 0xc8, 0x39, 0xf8, 0x8f, 0x84, 0x47, + 0x33, 0xb2, 0x75, 0xbc, 0x6f, 0xda, 0x6d, 0x45, 0x46, 0xee, 0x26, 0x03, + 0x4f, 0x51, 0xf8, 0x4c, 0xe4, 0x30, 0xb0, 0x73, 0xc3, 0xda, 0x8a, 0xbf, + 0xe8, 0x2b, 0x53, 0x13, 0xba, 0x2e, 0x0f, 0x60, 0x04, 0x5b, 0x80, 0x96, + 0xb9, 0xcf, 0x31, 0x42, 0x48, 0x63, 0xe0, 0x6f, 0x72, 0xef, 0xf1, 0xba, + 0xa4, 0xb2, 0x52, 0x70, +}; +static const struct drbg_kat_no_reseed kat202_t = { + 6, kat202_entropyin, kat202_nonce, kat202_persstr, + kat202_addin0, kat202_addin1, kat202_retbits +}; +static const struct drbg_kat kat202 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat202_t +}; + +static const unsigned char kat203_entropyin[] = { + 0x8a, 0x34, 0x5b, 0x5a, 0x5e, 0xb7, 0xd7, 0xaa, 0x70, 0x0b, 0xff, 0x26, + 0x61, 0x25, 0xed, 0xe1, +}; +static const unsigned char kat203_nonce[] = { + 0x00, 0xb2, 0x96, 0x37, 0x27, 0x8d, 0xa4, 0x57, +}; +static const unsigned char kat203_persstr[] = {0}; +static const unsigned char kat203_addin0[] = { + 0x44, 0x53, 0x4b, 0x92, 0xaf, 0x03, 0x81, 0x71, 0xb6, 0x7b, 0x70, 0xf4, + 0xe1, 0xd5, 0xe7, 0xf5, +}; +static const unsigned char kat203_addin1[] = { + 0x53, 0x14, 0x76, 0x60, 0xc0, 0xfd, 0xe5, 0xf9, 0x89, 0x34, 0x74, 0xf0, + 0x38, 0x84, 0xab, 0x14, +}; +static const unsigned char kat203_retbits[] = { + 0xa6, 0xa7, 0xa5, 0x6f, 0xc3, 0x2c, 0x3d, 0x3c, 0x33, 0x06, 0xdd, 0x65, + 0x10, 0x9f, 0xf8, 0xd6, 0x80, 0x31, 0x19, 0x3b, 0xbf, 0x5b, 0x38, 0x38, + 0x0e, 0x38, 0x25, 0xdb, 0x7b, 0xef, 0x72, 0x94, 0x05, 0x14, 0x16, 0x26, + 0x37, 0x95, 0xf3, 0x34, 0xd1, 0xf8, 0x70, 0x54, 0xe9, 0x7d, 0xbb, 0x52, + 0xdd, 0x24, 0x4d, 0x52, 0x7a, 0x6f, 0xfc, 0xe0, 0x86, 0xd1, 0xad, 0x17, + 0x7b, 0xa8, 0xfb, 0x81, +}; +static const struct drbg_kat_no_reseed kat203_t = { + 7, kat203_entropyin, kat203_nonce, kat203_persstr, + kat203_addin0, kat203_addin1, kat203_retbits +}; +static const struct drbg_kat kat203 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat203_t +}; + +static const unsigned char kat204_entropyin[] = { + 0xfe, 0x50, 0x4e, 0x06, 0x89, 0x5d, 0x34, 0x08, 0x90, 0x50, 0x9f, 0x39, + 0x8f, 0xe7, 0x08, 0x32, +}; +static const unsigned char kat204_nonce[] = { + 0x3b, 0x3d, 0x94, 0xb6, 0x94, 0x8f, 0x74, 0x01, +}; +static const unsigned char kat204_persstr[] = {0}; +static const unsigned char kat204_addin0[] = { + 0x64, 0x20, 0x03, 0x18, 0x1f, 0x79, 0x1c, 0xb5, 0xba, 0xce, 0xf7, 0x23, + 0xc9, 0x6c, 0xe2, 0x62, +}; +static const unsigned char kat204_addin1[] = { + 0x34, 0x5e, 0x8d, 0x29, 0xd5, 0xef, 0xdd, 0xc8, 0xab, 0x37, 0x83, 0x8b, + 0x18, 0x91, 0xbc, 0xd0, +}; +static const unsigned char kat204_retbits[] = { + 0x45, 0x30, 0x40, 0x99, 0x14, 0x5b, 0x8e, 0x3d, 0xa8, 0x00, 0xa9, 0x2e, + 0x0f, 0x59, 0x15, 0xc8, 0x98, 0x1f, 0xb7, 0x70, 0x6a, 0x1d, 0xf0, 0xa6, + 0xc0, 0xb2, 0xad, 0x54, 0x35, 0xda, 0x19, 0xce, 0xd3, 0xac, 0xdf, 0xd5, + 0x83, 0x27, 0x95, 0x01, 0x3a, 0xfa, 0x5f, 0xf2, 0x1f, 0xf3, 0x32, 0x6a, + 0xda, 0x7d, 0x57, 0x78, 0x17, 0xf6, 0xb9, 0x4e, 0xb3, 0x5f, 0x33, 0x62, + 0x3d, 0xb4, 0x71, 0x76, +}; +static const struct drbg_kat_no_reseed kat204_t = { + 8, kat204_entropyin, kat204_nonce, kat204_persstr, + kat204_addin0, kat204_addin1, kat204_retbits +}; +static const struct drbg_kat kat204 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat204_t +}; + +static const unsigned char kat205_entropyin[] = { + 0xe0, 0x22, 0x7d, 0xe1, 0x4d, 0x5b, 0xc6, 0xad, 0xe2, 0xa0, 0x14, 0xee, + 0x43, 0x01, 0x51, 0xb4, +}; +static const unsigned char kat205_nonce[] = { + 0x15, 0x37, 0xf8, 0x56, 0x16, 0x75, 0x87, 0x53, +}; +static const unsigned char kat205_persstr[] = {0}; +static const unsigned char kat205_addin0[] = { + 0x87, 0xee, 0xfe, 0xf0, 0xe0, 0xcf, 0xd9, 0x0d, 0xd2, 0x6d, 0x48, 0x33, + 0x79, 0x78, 0x7c, 0x7f, +}; +static const unsigned char kat205_addin1[] = { + 0x74, 0xd2, 0xff, 0xf6, 0xf2, 0x9f, 0x89, 0x2e, 0x66, 0xa9, 0xf8, 0x0b, + 0x2a, 0x5d, 0x9d, 0x20, +}; +static const unsigned char kat205_retbits[] = { + 0xdd, 0xe0, 0x86, 0xce, 0xc0, 0xad, 0xd3, 0x1f, 0xb9, 0x55, 0x3d, 0x56, + 0xcc, 0x2c, 0x6b, 0x7c, 0x02, 0x2d, 0x8c, 0x87, 0xff, 0x54, 0x99, 0xfa, + 0x78, 0xa6, 0x8e, 0xeb, 0x05, 0x1c, 0xdb, 0xf8, 0x99, 0x67, 0x3b, 0x4e, + 0xd7, 0x6f, 0xe8, 0x67, 0xb7, 0x9e, 0xcf, 0x6f, 0xc1, 0xd7, 0xc6, 0xf8, + 0xf5, 0x97, 0x01, 0x31, 0x39, 0xd5, 0x28, 0xd3, 0x48, 0xca, 0x3b, 0xee, + 0x96, 0x05, 0xdd, 0x80, +}; +static const struct drbg_kat_no_reseed kat205_t = { + 9, kat205_entropyin, kat205_nonce, kat205_persstr, + kat205_addin0, kat205_addin1, kat205_retbits +}; +static const struct drbg_kat kat205 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat205_t +}; + +static const unsigned char kat206_entropyin[] = { + 0x44, 0xb7, 0x28, 0x2f, 0x95, 0x1c, 0x59, 0x1a, 0x7a, 0x3d, 0x9f, 0xf6, + 0x96, 0x0f, 0x20, 0xb9, +}; +static const unsigned char kat206_nonce[] = { + 0xb7, 0x7e, 0xbe, 0x26, 0x99, 0x0c, 0xbe, 0x8c, +}; +static const unsigned char kat206_persstr[] = {0}; +static const unsigned char kat206_addin0[] = { + 0x90, 0x00, 0x58, 0x7b, 0xb1, 0x8d, 0x20, 0x1e, 0xcf, 0xd5, 0x6f, 0x30, + 0xdb, 0xa4, 0x83, 0xd2, +}; +static const unsigned char kat206_addin1[] = { + 0x24, 0x55, 0x23, 0x06, 0x0b, 0x0a, 0xf3, 0xe5, 0x75, 0xb1, 0x48, 0x0a, + 0xa6, 0xd8, 0xa3, 0x3b, +}; +static const unsigned char kat206_retbits[] = { + 0x9f, 0x25, 0x67, 0x4a, 0xc0, 0x85, 0xa7, 0xa4, 0x87, 0xe7, 0xd7, 0x20, + 0x84, 0xd5, 0xd3, 0xc0, 0xfb, 0xd7, 0xd4, 0x18, 0x70, 0xf0, 0xf7, 0x66, + 0xd6, 0x13, 0x01, 0x59, 0x96, 0x05, 0x2e, 0xbf, 0xc6, 0xf6, 0x2e, 0x4c, + 0xf3, 0x89, 0xaf, 0x85, 0xcf, 0x12, 0x5d, 0x9d, 0x99, 0xc6, 0x49, 0xd4, + 0xe8, 0x75, 0x50, 0x79, 0xa6, 0x81, 0x7a, 0x9e, 0x81, 0x44, 0x5d, 0x1b, + 0x99, 0x4d, 0x29, 0x61, +}; +static const struct drbg_kat_no_reseed kat206_t = { + 10, kat206_entropyin, kat206_nonce, kat206_persstr, + kat206_addin0, kat206_addin1, kat206_retbits +}; +static const struct drbg_kat kat206 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat206_t +}; + +static const unsigned char kat207_entropyin[] = { + 0x74, 0x5c, 0xa1, 0x6e, 0xbc, 0x9e, 0x1a, 0x58, 0xda, 0x81, 0x02, 0x78, + 0x88, 0x5d, 0xff, 0x33, +}; +static const unsigned char kat207_nonce[] = { + 0x7e, 0x11, 0xf9, 0x49, 0x86, 0x2c, 0xbc, 0xc9, +}; +static const unsigned char kat207_persstr[] = {0}; +static const unsigned char kat207_addin0[] = { + 0x4b, 0x89, 0x8e, 0xbd, 0xd3, 0x21, 0x42, 0x62, 0x78, 0x15, 0xbe, 0x10, + 0x35, 0x43, 0x56, 0x96, +}; +static const unsigned char kat207_addin1[] = { + 0x33, 0x0b, 0x0c, 0xe2, 0x87, 0x84, 0x2d, 0x3d, 0x71, 0x9a, 0x0c, 0xe4, + 0x15, 0x36, 0x3b, 0x77, +}; +static const unsigned char kat207_retbits[] = { + 0x9c, 0x6d, 0xd7, 0x63, 0x88, 0x80, 0x65, 0x54, 0x1b, 0x1a, 0x38, 0x0c, + 0xf4, 0xf4, 0x59, 0x83, 0x9f, 0xb4, 0xf1, 0xef, 0x4f, 0x78, 0x17, 0x28, + 0x6b, 0xe4, 0x50, 0x33, 0x95, 0x7f, 0x79, 0xd1, 0x42, 0x9c, 0xfe, 0xfe, + 0xd1, 0xab, 0xd6, 0x22, 0x8b, 0x26, 0x74, 0x7e, 0x69, 0xec, 0x9b, 0x1a, + 0x02, 0x7b, 0x3a, 0x0b, 0x9a, 0x28, 0x48, 0x7e, 0x95, 0x4d, 0xda, 0x06, + 0xb7, 0xee, 0xb4, 0x54, +}; +static const struct drbg_kat_no_reseed kat207_t = { + 11, kat207_entropyin, kat207_nonce, kat207_persstr, + kat207_addin0, kat207_addin1, kat207_retbits +}; +static const struct drbg_kat kat207 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat207_t +}; + +static const unsigned char kat208_entropyin[] = { + 0x1e, 0x54, 0x6f, 0xee, 0xba, 0xf0, 0xfe, 0xba, 0x3a, 0x07, 0xc6, 0x35, + 0xe6, 0x23, 0x5b, 0xfb, +}; +static const unsigned char kat208_nonce[] = { + 0x17, 0x88, 0xd9, 0xee, 0xa4, 0x44, 0xad, 0x7b, +}; +static const unsigned char kat208_persstr[] = {0}; +static const unsigned char kat208_addin0[] = { + 0x51, 0x99, 0xd4, 0xaa, 0x59, 0x30, 0x22, 0x0c, 0x27, 0x34, 0x2e, 0x1c, + 0x0b, 0x99, 0x46, 0x4f, +}; +static const unsigned char kat208_addin1[] = { + 0x16, 0xdd, 0x52, 0x0f, 0x00, 0x93, 0x29, 0xed, 0x7b, 0xe1, 0x4d, 0x25, + 0xe5, 0xc7, 0x91, 0x12, +}; +static const unsigned char kat208_retbits[] = { + 0x34, 0xfa, 0x78, 0x30, 0x6c, 0x9e, 0xfb, 0x91, 0x2e, 0xe7, 0x8f, 0xb9, + 0x8a, 0x03, 0x54, 0x6d, 0x16, 0xc1, 0xcc, 0x9b, 0xc3, 0xb6, 0x7a, 0x04, + 0xf2, 0xa8, 0xe6, 0xfb, 0x26, 0x24, 0x14, 0xbc, 0xf3, 0xcc, 0x51, 0xd3, + 0xcf, 0x3a, 0x1a, 0x30, 0x48, 0x09, 0xf1, 0x86, 0xbd, 0x74, 0xf2, 0x09, + 0xb2, 0x42, 0x86, 0xf7, 0x71, 0x76, 0x67, 0xcc, 0x56, 0x60, 0xd3, 0xec, + 0x73, 0x2f, 0xb0, 0xd3, +}; +static const struct drbg_kat_no_reseed kat208_t = { + 12, kat208_entropyin, kat208_nonce, kat208_persstr, + kat208_addin0, kat208_addin1, kat208_retbits +}; +static const struct drbg_kat kat208 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat208_t +}; + +static const unsigned char kat209_entropyin[] = { + 0xde, 0x1f, 0xca, 0xee, 0x63, 0x29, 0xe9, 0xac, 0x06, 0xa6, 0xdc, 0x18, + 0xa1, 0x8d, 0x14, 0x7d, +}; +static const unsigned char kat209_nonce[] = { + 0xe1, 0x0e, 0xa5, 0x48, 0xcc, 0x37, 0x73, 0xab, +}; +static const unsigned char kat209_persstr[] = {0}; +static const unsigned char kat209_addin0[] = { + 0x5c, 0xdd, 0xd4, 0xfd, 0x07, 0xb6, 0xac, 0x3e, 0x96, 0xb1, 0x33, 0x39, + 0xa7, 0x5f, 0x56, 0xf9, +}; +static const unsigned char kat209_addin1[] = { + 0x45, 0x47, 0x14, 0xbe, 0xbf, 0x96, 0x03, 0xe1, 0xcf, 0xef, 0x7b, 0x80, + 0x38, 0x37, 0x48, 0x99, +}; +static const unsigned char kat209_retbits[] = { + 0x5e, 0x34, 0x83, 0x12, 0x58, 0x35, 0x24, 0x30, 0x48, 0xa5, 0x10, 0x18, + 0x4f, 0x08, 0x64, 0x87, 0xe9, 0xb0, 0x2f, 0xc0, 0xca, 0x60, 0xfb, 0x46, + 0x41, 0x6f, 0xb0, 0xcc, 0xc1, 0x3e, 0x45, 0x08, 0x1d, 0xa5, 0x96, 0x91, + 0xe3, 0x26, 0x78, 0xfc, 0xb6, 0xaa, 0xbe, 0xf5, 0x85, 0xfb, 0x49, 0x2b, + 0x19, 0x4e, 0x06, 0x17, 0x1a, 0x8d, 0x17, 0xaf, 0x85, 0x56, 0xa3, 0x6b, + 0xf4, 0x93, 0x1f, 0xf5, +}; +static const struct drbg_kat_no_reseed kat209_t = { + 13, kat209_entropyin, kat209_nonce, kat209_persstr, + kat209_addin0, kat209_addin1, kat209_retbits +}; +static const struct drbg_kat kat209 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat209_t +}; + +static const unsigned char kat210_entropyin[] = { + 0x8b, 0x52, 0x95, 0x07, 0xbc, 0x2e, 0x8f, 0x71, 0x19, 0x34, 0xad, 0xc8, + 0x8c, 0x65, 0x30, 0xa3, +}; +static const unsigned char kat210_nonce[] = { + 0x72, 0x15, 0x95, 0x6b, 0x7c, 0x57, 0x4e, 0x71, +}; +static const unsigned char kat210_persstr[] = {0}; +static const unsigned char kat210_addin0[] = { + 0x1a, 0xdb, 0x1e, 0xf6, 0x33, 0x47, 0xb2, 0x1e, 0x33, 0x51, 0x8b, 0x96, + 0x2f, 0x6d, 0xb8, 0x98, +}; +static const unsigned char kat210_addin1[] = { + 0xd5, 0xc6, 0x9f, 0x42, 0xf3, 0x6e, 0xa2, 0x24, 0x98, 0x42, 0xb6, 0xfc, + 0x26, 0xac, 0x54, 0xfe, +}; +static const unsigned char kat210_retbits[] = { + 0xc3, 0x74, 0xbd, 0xd6, 0x2c, 0xb1, 0xe4, 0x2e, 0x64, 0x84, 0x03, 0x84, + 0x3b, 0x8c, 0x06, 0xc0, 0xb3, 0x05, 0xf9, 0x45, 0x68, 0x5f, 0x72, 0xd1, + 0xbc, 0x2e, 0x42, 0x8c, 0x19, 0xdf, 0x45, 0x20, 0x18, 0xdd, 0xea, 0x81, + 0xeb, 0xe5, 0xb1, 0x5f, 0xad, 0x3b, 0xe4, 0xeb, 0x17, 0xfa, 0x2d, 0x2c, + 0xf5, 0x78, 0x36, 0xdd, 0x08, 0x09, 0x70, 0xf7, 0x16, 0xc0, 0xb2, 0x2f, + 0x72, 0x63, 0x41, 0x4a, +}; +static const struct drbg_kat_no_reseed kat210_t = { + 14, kat210_entropyin, kat210_nonce, kat210_persstr, + kat210_addin0, kat210_addin1, kat210_retbits +}; +static const struct drbg_kat kat210 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat210_t +}; + +static const unsigned char kat211_entropyin[] = { + 0xf4, 0x1f, 0x46, 0x6b, 0x32, 0x19, 0xbe, 0x21, 0x59, 0x77, 0x63, 0xfa, + 0x7b, 0x76, 0xfb, 0x40, +}; +static const unsigned char kat211_nonce[] = { + 0xcd, 0x93, 0xfe, 0xb9, 0x96, 0x2e, 0x81, 0xac, +}; +static const unsigned char kat211_persstr[] = { + 0xb5, 0x8f, 0x86, 0x9a, 0xd0, 0xaa, 0x98, 0x08, 0xf6, 0x64, 0x61, 0x37, + 0x43, 0x1d, 0x43, 0x0c, +}; +static const unsigned char kat211_addin0[] = {0}; +static const unsigned char kat211_addin1[] = {0}; +static const unsigned char kat211_retbits[] = { + 0x2f, 0xb6, 0xd7, 0xec, 0xa3, 0x92, 0x67, 0x4f, 0xc7, 0x22, 0xa6, 0x19, + 0x20, 0x2e, 0x81, 0x9d, 0x0d, 0xa9, 0xd1, 0x1b, 0xc6, 0x7d, 0xb1, 0x0b, + 0xe4, 0xc1, 0x3c, 0xb9, 0x64, 0xe3, 0x0a, 0xda, 0x96, 0xdc, 0xcf, 0x0c, + 0x92, 0x2b, 0x71, 0x0a, 0xc0, 0x0d, 0xed, 0x54, 0x57, 0xfa, 0x97, 0x1b, + 0xb1, 0xc6, 0x61, 0xa0, 0x9a, 0xfa, 0x72, 0x0a, 0x58, 0x64, 0x34, 0x4b, + 0xf7, 0x7a, 0x36, 0xae, +}; +static const struct drbg_kat_no_reseed kat211_t = { + 0, kat211_entropyin, kat211_nonce, kat211_persstr, + kat211_addin0, kat211_addin1, kat211_retbits +}; +static const struct drbg_kat kat211 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat211_t +}; + +static const unsigned char kat212_entropyin[] = { + 0x9d, 0x1b, 0x88, 0x34, 0x83, 0x2f, 0xfa, 0x13, 0x83, 0x2e, 0xb0, 0x86, + 0x04, 0x7b, 0xf3, 0xb1, +}; +static const unsigned char kat212_nonce[] = { + 0xd0, 0xf1, 0x5e, 0xfe, 0x86, 0x47, 0x7f, 0x75, +}; +static const unsigned char kat212_persstr[] = { + 0x73, 0xc9, 0x37, 0x34, 0xf6, 0xea, 0x39, 0xae, 0x04, 0xe6, 0xa4, 0xb4, + 0x97, 0x66, 0xb8, 0x20, +}; +static const unsigned char kat212_addin0[] = {0}; +static const unsigned char kat212_addin1[] = {0}; +static const unsigned char kat212_retbits[] = { + 0x9f, 0xb6, 0x7d, 0x35, 0x37, 0x89, 0x40, 0xa5, 0xd7, 0x6b, 0x96, 0x3a, + 0xce, 0x4f, 0x81, 0x58, 0xe9, 0x3f, 0xe0, 0xca, 0x06, 0x4f, 0x96, 0x56, + 0xd4, 0x6d, 0xf1, 0xc1, 0x0d, 0x02, 0x5f, 0x48, 0xb3, 0x35, 0x69, 0xda, + 0x07, 0xc7, 0x7e, 0xc5, 0x12, 0x23, 0x6d, 0x08, 0xd2, 0x69, 0x97, 0xd6, + 0xb9, 0xbb, 0x69, 0x15, 0xdf, 0x63, 0x9e, 0xa8, 0x9d, 0xa9, 0x57, 0xe6, + 0x6f, 0xc2, 0x90, 0x03, +}; +static const struct drbg_kat_no_reseed kat212_t = { + 1, kat212_entropyin, kat212_nonce, kat212_persstr, + kat212_addin0, kat212_addin1, kat212_retbits +}; +static const struct drbg_kat kat212 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat212_t +}; + +static const unsigned char kat213_entropyin[] = { + 0x29, 0x89, 0x86, 0x2a, 0x79, 0xe2, 0x55, 0x19, 0x5a, 0x24, 0x82, 0x8f, + 0xd3, 0x00, 0xeb, 0x34, +}; +static const unsigned char kat213_nonce[] = { + 0x30, 0xff, 0xda, 0xcb, 0x3a, 0xc7, 0xb2, 0x7b, +}; +static const unsigned char kat213_persstr[] = { + 0x71, 0x9b, 0x89, 0x9c, 0x9e, 0x4a, 0x5d, 0xb9, 0xe7, 0x1d, 0xfd, 0xa4, + 0x8f, 0xa6, 0x58, 0xcd, +}; +static const unsigned char kat213_addin0[] = {0}; +static const unsigned char kat213_addin1[] = {0}; +static const unsigned char kat213_retbits[] = { + 0xb4, 0xf2, 0x00, 0x60, 0xea, 0x30, 0x01, 0xef, 0xdb, 0xd5, 0xcc, 0x89, + 0x83, 0x8e, 0x0a, 0x08, 0xc0, 0x9f, 0x7a, 0x6f, 0xe5, 0xbc, 0x02, 0x3c, + 0x33, 0xd1, 0x15, 0xfe, 0xdd, 0x6a, 0xe1, 0x51, 0x30, 0x74, 0x22, 0xf9, + 0x97, 0xd3, 0x2b, 0x3c, 0xea, 0xb8, 0x79, 0x95, 0x86, 0x23, 0x68, 0xc4, + 0xc3, 0xaf, 0x7a, 0xc4, 0x81, 0x58, 0x74, 0xc0, 0x08, 0x4e, 0xa1, 0xdc, + 0xec, 0x50, 0x58, 0xba, +}; +static const struct drbg_kat_no_reseed kat213_t = { + 2, kat213_entropyin, kat213_nonce, kat213_persstr, + kat213_addin0, kat213_addin1, kat213_retbits +}; +static const struct drbg_kat kat213 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat213_t +}; + +static const unsigned char kat214_entropyin[] = { + 0x74, 0x82, 0xb2, 0xb0, 0x2a, 0x74, 0x46, 0xde, 0x58, 0x9d, 0x7e, 0x60, + 0xcf, 0x01, 0x29, 0x69, +}; +static const unsigned char kat214_nonce[] = { + 0x1c, 0x4b, 0xda, 0x6a, 0x57, 0xf4, 0x1f, 0xfb, +}; +static const unsigned char kat214_persstr[] = { + 0x52, 0x9e, 0x4e, 0x80, 0xf5, 0x01, 0xe7, 0x3e, 0xc8, 0x6e, 0xaa, 0x25, + 0x96, 0x28, 0xa1, 0x97, +}; +static const unsigned char kat214_addin0[] = {0}; +static const unsigned char kat214_addin1[] = {0}; +static const unsigned char kat214_retbits[] = { + 0x74, 0x98, 0xf9, 0x17, 0x2a, 0xf7, 0xf5, 0xf2, 0x6d, 0x84, 0x77, 0x97, + 0x76, 0x8e, 0x45, 0x91, 0x70, 0xdd, 0x9e, 0xc7, 0xf4, 0x2a, 0x1f, 0xe9, + 0x79, 0xa2, 0xe4, 0xfa, 0x32, 0xa5, 0xe1, 0x24, 0xc5, 0xcb, 0x1a, 0xd4, + 0xc3, 0x94, 0xa2, 0xc2, 0x09, 0x9e, 0x8f, 0x94, 0x2e, 0xfb, 0xe5, 0x9a, + 0xf0, 0x97, 0x5b, 0x56, 0xa9, 0xaf, 0xa7, 0x74, 0x33, 0x16, 0x12, 0xad, + 0x88, 0x7b, 0x3f, 0x55, +}; +static const struct drbg_kat_no_reseed kat214_t = { + 3, kat214_entropyin, kat214_nonce, kat214_persstr, + kat214_addin0, kat214_addin1, kat214_retbits +}; +static const struct drbg_kat kat214 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat214_t +}; + +static const unsigned char kat215_entropyin[] = { + 0x0a, 0x84, 0x05, 0x99, 0x1a, 0xeb, 0x64, 0xf3, 0xa8, 0x2d, 0x8b, 0xef, + 0x2b, 0x6c, 0x94, 0x22, +}; +static const unsigned char kat215_nonce[] = { + 0xa7, 0xa5, 0x8d, 0xa9, 0xb2, 0x16, 0xf7, 0xfb, +}; +static const unsigned char kat215_persstr[] = { + 0x68, 0xdf, 0x62, 0xfc, 0x01, 0xd3, 0xdb, 0xb0, 0x18, 0xc1, 0x63, 0xbe, + 0x34, 0x29, 0xf2, 0xaa, +}; +static const unsigned char kat215_addin0[] = {0}; +static const unsigned char kat215_addin1[] = {0}; +static const unsigned char kat215_retbits[] = { + 0x7a, 0x9b, 0xa1, 0xe8, 0x25, 0x13, 0x3f, 0xf4, 0xc1, 0xd6, 0x46, 0xce, + 0x55, 0x77, 0xf3, 0x5a, 0x17, 0x84, 0xee, 0xc2, 0xc1, 0x97, 0x70, 0x90, + 0xb4, 0x8e, 0x30, 0xbd, 0x3b, 0x75, 0x06, 0xf4, 0x47, 0xee, 0x62, 0xd0, + 0x21, 0xca, 0xe1, 0x2a, 0xd2, 0x87, 0xb4, 0x17, 0xed, 0xdb, 0x9e, 0xc6, + 0x46, 0x0e, 0x3e, 0x28, 0x4a, 0xfa, 0x73, 0xb7, 0x39, 0x56, 0x4e, 0x40, + 0x73, 0xd0, 0x0e, 0x3c, +}; +static const struct drbg_kat_no_reseed kat215_t = { + 4, kat215_entropyin, kat215_nonce, kat215_persstr, + kat215_addin0, kat215_addin1, kat215_retbits +}; +static const struct drbg_kat kat215 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat215_t +}; + +static const unsigned char kat216_entropyin[] = { + 0xc7, 0xe9, 0xf6, 0x88, 0x33, 0xb1, 0x8e, 0x03, 0x6a, 0xa1, 0xda, 0x02, + 0x5a, 0x35, 0x9e, 0xd7, +}; +static const unsigned char kat216_nonce[] = { + 0x99, 0xf0, 0xe4, 0x9c, 0xe8, 0x11, 0xee, 0x7e, +}; +static const unsigned char kat216_persstr[] = { + 0x8d, 0xe7, 0xc8, 0x6b, 0x8e, 0xc6, 0x1d, 0x6a, 0xbb, 0x52, 0xa7, 0x91, + 0x66, 0x71, 0xad, 0xb9, +}; +static const unsigned char kat216_addin0[] = {0}; +static const unsigned char kat216_addin1[] = {0}; +static const unsigned char kat216_retbits[] = { + 0x14, 0x07, 0xb6, 0x81, 0x51, 0xfc, 0xb0, 0xf0, 0x8e, 0xba, 0xbc, 0x21, + 0xc6, 0xc1, 0x81, 0xac, 0x1d, 0xbf, 0x9c, 0x6f, 0xb1, 0xb2, 0xc1, 0x6e, + 0xaf, 0x1f, 0x8c, 0x49, 0x0d, 0x6f, 0x7d, 0x52, 0xd0, 0xf4, 0x21, 0x11, + 0x6a, 0x59, 0x98, 0x33, 0x0d, 0x81, 0x05, 0xf5, 0x02, 0x76, 0x17, 0xdc, + 0x94, 0xb1, 0x4c, 0x08, 0x3f, 0x49, 0xd1, 0x1c, 0x34, 0xf4, 0xf2, 0x63, + 0x02, 0x31, 0x66, 0x24, +}; +static const struct drbg_kat_no_reseed kat216_t = { + 5, kat216_entropyin, kat216_nonce, kat216_persstr, + kat216_addin0, kat216_addin1, kat216_retbits +}; +static const struct drbg_kat kat216 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat216_t +}; + +static const unsigned char kat217_entropyin[] = { + 0xd6, 0x7e, 0xeb, 0x00, 0xa4, 0x29, 0x1a, 0x18, 0x47, 0x11, 0x84, 0xb4, + 0x31, 0x59, 0xd2, 0xbd, +}; +static const unsigned char kat217_nonce[] = { + 0xe4, 0xa3, 0x61, 0x49, 0x7e, 0xe1, 0x43, 0x8a, +}; +static const unsigned char kat217_persstr[] = { + 0xf0, 0x54, 0xad, 0xf2, 0xad, 0x38, 0x49, 0xda, 0x72, 0x72, 0xb3, 0xb3, + 0x2a, 0xe0, 0xfc, 0xab, +}; +static const unsigned char kat217_addin0[] = {0}; +static const unsigned char kat217_addin1[] = {0}; +static const unsigned char kat217_retbits[] = { + 0x52, 0x45, 0xc3, 0x0a, 0x65, 0x1d, 0x98, 0x61, 0xb6, 0x36, 0xc8, 0xe8, + 0xcc, 0x8b, 0x84, 0x52, 0x46, 0xda, 0x10, 0xc1, 0x04, 0xd7, 0x81, 0x34, + 0xa8, 0x4e, 0x41, 0xfe, 0xa8, 0x0e, 0x0e, 0x73, 0x69, 0x2f, 0x84, 0x81, + 0xcd, 0x4d, 0x75, 0x0c, 0x79, 0xe3, 0x87, 0x6b, 0x9a, 0xbf, 0xa9, 0xd6, + 0x14, 0xd8, 0x68, 0x24, 0x96, 0x05, 0x61, 0x9d, 0xef, 0xef, 0x29, 0x68, + 0xfd, 0x33, 0x14, 0x1e, +}; +static const struct drbg_kat_no_reseed kat217_t = { + 6, kat217_entropyin, kat217_nonce, kat217_persstr, + kat217_addin0, kat217_addin1, kat217_retbits +}; +static const struct drbg_kat kat217 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat217_t +}; + +static const unsigned char kat218_entropyin[] = { + 0xce, 0x08, 0xf0, 0x2b, 0xcd, 0xe4, 0x7f, 0x60, 0x30, 0x82, 0x02, 0x43, + 0xe1, 0x01, 0x38, 0x87, +}; +static const unsigned char kat218_nonce[] = { + 0xd1, 0xb1, 0x51, 0x30, 0xcd, 0x03, 0x8d, 0x6d, +}; +static const unsigned char kat218_persstr[] = { + 0xad, 0x0b, 0xcb, 0x82, 0x01, 0x16, 0x0d, 0x82, 0xf1, 0x79, 0x66, 0xd4, + 0xc7, 0xb6, 0xa4, 0xec, +}; +static const unsigned char kat218_addin0[] = {0}; +static const unsigned char kat218_addin1[] = {0}; +static const unsigned char kat218_retbits[] = { + 0xf4, 0x8e, 0xd0, 0x3b, 0xdb, 0xa9, 0x31, 0x0d, 0x7f, 0xe0, 0xa5, 0xdd, + 0xdf, 0x9d, 0xf4, 0x9c, 0x0d, 0xbe, 0x07, 0xb9, 0x5b, 0xde, 0x25, 0xa0, + 0xb6, 0x6e, 0xd0, 0x1a, 0x9f, 0x7a, 0x07, 0x82, 0x0f, 0x2d, 0x7e, 0xaa, + 0x98, 0x63, 0x70, 0xa0, 0xce, 0x00, 0x01, 0x3b, 0x43, 0x31, 0xe4, 0x4b, + 0xeb, 0x30, 0x10, 0x57, 0x5a, 0xf7, 0xd6, 0x25, 0xbe, 0xd5, 0x5a, 0x59, + 0x2d, 0x97, 0x38, 0x28, +}; +static const struct drbg_kat_no_reseed kat218_t = { + 7, kat218_entropyin, kat218_nonce, kat218_persstr, + kat218_addin0, kat218_addin1, kat218_retbits +}; +static const struct drbg_kat kat218 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat218_t +}; + +static const unsigned char kat219_entropyin[] = { + 0x8d, 0xbc, 0xda, 0xa7, 0x8a, 0xdd, 0xb2, 0x85, 0xdf, 0xdb, 0x5e, 0x41, + 0xee, 0xf6, 0x7e, 0x6f, +}; +static const unsigned char kat219_nonce[] = { + 0x49, 0x06, 0x2c, 0x09, 0x8b, 0x64, 0xe7, 0xf8, +}; +static const unsigned char kat219_persstr[] = { + 0x7d, 0xc1, 0x4e, 0x73, 0x96, 0xf6, 0x24, 0x50, 0xbe, 0xbd, 0xf2, 0xeb, + 0xf0, 0x17, 0xaa, 0xd5, +}; +static const unsigned char kat219_addin0[] = {0}; +static const unsigned char kat219_addin1[] = {0}; +static const unsigned char kat219_retbits[] = { + 0x49, 0xd0, 0x3f, 0xe3, 0xb7, 0x2d, 0x44, 0xa8, 0xa1, 0xe4, 0x69, 0xd2, + 0x5a, 0x14, 0x5b, 0xa6, 0x4d, 0x61, 0x69, 0xdd, 0x94, 0x7f, 0x87, 0x93, + 0xd5, 0xef, 0x43, 0xde, 0x7b, 0x23, 0x94, 0x13, 0x70, 0x83, 0xe6, 0xe7, + 0x69, 0xbb, 0xfd, 0xe9, 0x60, 0x0c, 0x36, 0xb0, 0x32, 0xb7, 0x78, 0x65, + 0x22, 0x07, 0x0b, 0x5a, 0x65, 0xc7, 0x93, 0x92, 0x68, 0x92, 0xb9, 0xfb, + 0x0d, 0x1c, 0x1d, 0x54, +}; +static const struct drbg_kat_no_reseed kat219_t = { + 8, kat219_entropyin, kat219_nonce, kat219_persstr, + kat219_addin0, kat219_addin1, kat219_retbits +}; +static const struct drbg_kat kat219 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat219_t +}; + +static const unsigned char kat220_entropyin[] = { + 0x0d, 0x98, 0x37, 0x0c, 0xff, 0xa0, 0xa8, 0x79, 0xfe, 0x85, 0xb5, 0xde, + 0x4e, 0x69, 0xcf, 0x7d, +}; +static const unsigned char kat220_nonce[] = { + 0x93, 0x50, 0xa8, 0x6b, 0x7a, 0x1b, 0xc6, 0x8a, +}; +static const unsigned char kat220_persstr[] = { + 0x01, 0x61, 0xb2, 0x4d, 0x1c, 0x3c, 0xa5, 0x90, 0x11, 0x7e, 0xc2, 0x9a, + 0xcc, 0x39, 0x44, 0x6f, +}; +static const unsigned char kat220_addin0[] = {0}; +static const unsigned char kat220_addin1[] = {0}; +static const unsigned char kat220_retbits[] = { + 0x7c, 0xd6, 0x46, 0x84, 0x28, 0x9b, 0x43, 0xb1, 0xe5, 0x93, 0xd9, 0x4a, + 0xe9, 0x79, 0xf7, 0xfa, 0x5d, 0xe8, 0x95, 0x77, 0xf3, 0x7c, 0x7a, 0xea, + 0x0b, 0x58, 0x4d, 0x18, 0x60, 0x2c, 0x25, 0x1b, 0x1e, 0xc2, 0x5f, 0xf6, + 0x12, 0xd9, 0x7f, 0xda, 0x37, 0x84, 0xe9, 0x65, 0x59, 0x73, 0xe3, 0x1f, + 0xd4, 0xb5, 0xd1, 0xea, 0xde, 0xc6, 0x68, 0x61, 0xae, 0x2e, 0x97, 0x19, + 0xad, 0x34, 0x47, 0x30, +}; +static const struct drbg_kat_no_reseed kat220_t = { + 9, kat220_entropyin, kat220_nonce, kat220_persstr, + kat220_addin0, kat220_addin1, kat220_retbits +}; +static const struct drbg_kat kat220 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat220_t +}; + +static const unsigned char kat221_entropyin[] = { + 0xd9, 0xb6, 0xfb, 0x62, 0xda, 0x0a, 0x02, 0x32, 0x35, 0xe7, 0xcd, 0x78, + 0x16, 0x37, 0x7c, 0xf5, +}; +static const unsigned char kat221_nonce[] = { + 0x1c, 0xa8, 0xc5, 0xfa, 0x5b, 0x9f, 0x8c, 0x90, +}; +static const unsigned char kat221_persstr[] = { + 0x17, 0xbe, 0x48, 0x85, 0xb5, 0xf9, 0x64, 0x1b, 0xf5, 0xf6, 0x89, 0xbc, + 0x97, 0x97, 0x88, 0x58, +}; +static const unsigned char kat221_addin0[] = {0}; +static const unsigned char kat221_addin1[] = {0}; +static const unsigned char kat221_retbits[] = { + 0xe1, 0x1e, 0x3c, 0xa6, 0xc8, 0x32, 0xf4, 0x6f, 0xf1, 0xf9, 0x71, 0xc0, + 0x7e, 0x7b, 0x66, 0xc7, 0xd5, 0xb1, 0xb2, 0xe6, 0xec, 0x8c, 0x5f, 0xfc, + 0x77, 0x10, 0x3f, 0x0a, 0xd3, 0x08, 0x80, 0x0b, 0xb9, 0x89, 0xb9, 0xab, + 0x70, 0x10, 0x68, 0x33, 0x78, 0xa3, 0xf7, 0x81, 0x9a, 0x29, 0x7a, 0x37, + 0x65, 0x25, 0x6a, 0xc4, 0x0f, 0xb0, 0xa9, 0xcb, 0x22, 0x46, 0xae, 0xb8, + 0x5d, 0x73, 0x60, 0x1b, +}; +static const struct drbg_kat_no_reseed kat221_t = { + 10, kat221_entropyin, kat221_nonce, kat221_persstr, + kat221_addin0, kat221_addin1, kat221_retbits +}; +static const struct drbg_kat kat221 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat221_t +}; + +static const unsigned char kat222_entropyin[] = { + 0xa7, 0x11, 0x39, 0x44, 0xfc, 0x4d, 0x4b, 0x15, 0xa9, 0x49, 0x67, 0xc8, + 0xf5, 0x65, 0x2a, 0x36, +}; +static const unsigned char kat222_nonce[] = { + 0xa5, 0x06, 0xb7, 0x9a, 0xfe, 0x6a, 0xf8, 0x22, +}; +static const unsigned char kat222_persstr[] = { + 0x91, 0x8f, 0xe4, 0xf3, 0x65, 0x25, 0x9c, 0x18, 0xeb, 0x68, 0x50, 0xfb, + 0xee, 0x40, 0x3f, 0x5e, +}; +static const unsigned char kat222_addin0[] = {0}; +static const unsigned char kat222_addin1[] = {0}; +static const unsigned char kat222_retbits[] = { + 0x60, 0x76, 0xb2, 0xc0, 0xf7, 0xde, 0x1d, 0xd3, 0xe4, 0x6a, 0xdb, 0x11, + 0x61, 0xb7, 0x2a, 0x7f, 0x83, 0xb8, 0x77, 0x3f, 0xab, 0x0d, 0xcb, 0x1c, + 0x1f, 0xde, 0x25, 0xdb, 0x0d, 0x09, 0x86, 0x2a, 0xcd, 0xd3, 0x8f, 0x8d, + 0x21, 0x64, 0x90, 0x3a, 0x8e, 0x88, 0x58, 0xf8, 0xa9, 0xb6, 0x1b, 0xd7, + 0xda, 0xe3, 0xf6, 0x06, 0x68, 0xe6, 0xee, 0x26, 0x4b, 0x9f, 0xfa, 0xf5, + 0x78, 0xb5, 0x56, 0x46, +}; +static const struct drbg_kat_no_reseed kat222_t = { + 11, kat222_entropyin, kat222_nonce, kat222_persstr, + kat222_addin0, kat222_addin1, kat222_retbits +}; +static const struct drbg_kat kat222 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat222_t +}; + +static const unsigned char kat223_entropyin[] = { + 0xac, 0xf7, 0x62, 0x38, 0x39, 0xb9, 0x4b, 0xd7, 0xa8, 0x93, 0xc2, 0x87, + 0x61, 0x6c, 0xdb, 0x6a, +}; +static const unsigned char kat223_nonce[] = { + 0xa1, 0xf6, 0x03, 0x9f, 0x91, 0xc1, 0x76, 0x23, +}; +static const unsigned char kat223_persstr[] = { + 0x5f, 0x9c, 0x69, 0xde, 0x2c, 0x32, 0x87, 0x3f, 0x67, 0x9d, 0x17, 0x68, + 0xef, 0x3c, 0x70, 0xfb, +}; +static const unsigned char kat223_addin0[] = {0}; +static const unsigned char kat223_addin1[] = {0}; +static const unsigned char kat223_retbits[] = { + 0xf6, 0xab, 0xbf, 0xfd, 0x79, 0x65, 0x64, 0x94, 0x36, 0xb4, 0x8b, 0x09, + 0x20, 0x86, 0xcd, 0xf0, 0x50, 0x2f, 0x52, 0xc8, 0x7c, 0x8f, 0xdc, 0x8f, + 0x6d, 0x49, 0xf0, 0x84, 0x33, 0xa2, 0x02, 0xd8, 0xbe, 0x44, 0xf6, 0x56, + 0x2a, 0xce, 0x58, 0x0e, 0x80, 0x75, 0xf0, 0xbc, 0x67, 0x0b, 0x2e, 0x9d, + 0x95, 0x1f, 0x15, 0xf8, 0x4d, 0x82, 0xaf, 0xe6, 0xb8, 0x32, 0x76, 0x5e, + 0xca, 0xb0, 0x37, 0xee, +}; +static const struct drbg_kat_no_reseed kat223_t = { + 12, kat223_entropyin, kat223_nonce, kat223_persstr, + kat223_addin0, kat223_addin1, kat223_retbits +}; +static const struct drbg_kat kat223 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat223_t +}; + +static const unsigned char kat224_entropyin[] = { + 0xd9, 0x0d, 0x78, 0x6e, 0x9d, 0x19, 0x62, 0x84, 0x3b, 0x02, 0x7a, 0xa0, + 0xe8, 0x59, 0x8f, 0xd4, +}; +static const unsigned char kat224_nonce[] = { + 0x04, 0x17, 0xf1, 0x4f, 0x96, 0xf2, 0x02, 0x9c, +}; +static const unsigned char kat224_persstr[] = { + 0xec, 0x5c, 0x55, 0x14, 0x5a, 0x4f, 0x95, 0x52, 0xf2, 0x51, 0xf7, 0xdf, + 0xb0, 0x17, 0xc1, 0xd4, +}; +static const unsigned char kat224_addin0[] = {0}; +static const unsigned char kat224_addin1[] = {0}; +static const unsigned char kat224_retbits[] = { + 0xfe, 0x2c, 0xa4, 0x44, 0x55, 0xa5, 0xe7, 0xde, 0x70, 0x8a, 0x71, 0x0a, + 0xb6, 0x46, 0xcf, 0xcf, 0xbc, 0x87, 0xd6, 0x78, 0xb3, 0xe9, 0x41, 0x06, + 0x3f, 0xa7, 0x01, 0xda, 0xc7, 0xcb, 0x4f, 0x09, 0x53, 0xaf, 0x8f, 0xce, + 0x45, 0x8c, 0xee, 0x54, 0x9f, 0x53, 0x7f, 0xa7, 0x71, 0xb8, 0x9b, 0x04, + 0x94, 0xc0, 0xbb, 0x5c, 0xfd, 0x35, 0xbf, 0x67, 0xf4, 0xb2, 0x70, 0xd6, + 0x20, 0x5f, 0x47, 0x03, +}; +static const struct drbg_kat_no_reseed kat224_t = { + 13, kat224_entropyin, kat224_nonce, kat224_persstr, + kat224_addin0, kat224_addin1, kat224_retbits +}; +static const struct drbg_kat kat224 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat224_t +}; + +static const unsigned char kat225_entropyin[] = { + 0x1c, 0xdb, 0x74, 0x45, 0x59, 0xa8, 0x2c, 0x62, 0xfb, 0x3b, 0x15, 0xa2, + 0xa3, 0xaa, 0xd1, 0x89, +}; +static const unsigned char kat225_nonce[] = { + 0x43, 0x43, 0x2c, 0xe3, 0x0a, 0xe7, 0xf9, 0x6b, +}; +static const unsigned char kat225_persstr[] = { + 0xf5, 0x9a, 0xd9, 0x93, 0x9f, 0xcd, 0x6c, 0x0f, 0x47, 0x8c, 0xc5, 0x08, + 0x39, 0xf8, 0xff, 0xce, +}; +static const unsigned char kat225_addin0[] = {0}; +static const unsigned char kat225_addin1[] = {0}; +static const unsigned char kat225_retbits[] = { + 0x91, 0xb9, 0xeb, 0xeb, 0x92, 0x9d, 0xc6, 0x99, 0x94, 0x91, 0x22, 0x97, + 0x0b, 0x21, 0x77, 0xd5, 0xd5, 0xb7, 0x05, 0x04, 0x2d, 0x3a, 0x0d, 0x60, + 0xd7, 0xd3, 0xbb, 0x21, 0x8b, 0x7a, 0x69, 0xe1, 0xcd, 0x68, 0x64, 0xb8, + 0xa2, 0x68, 0xca, 0x78, 0xc8, 0x34, 0x23, 0x2d, 0x0c, 0xb8, 0x8f, 0x93, + 0x77, 0x30, 0x08, 0x4b, 0x1e, 0xc7, 0xd2, 0x86, 0x7f, 0xbc, 0x85, 0x0e, + 0x04, 0x05, 0x03, 0x24, +}; +static const struct drbg_kat_no_reseed kat225_t = { + 14, kat225_entropyin, kat225_nonce, kat225_persstr, + kat225_addin0, kat225_addin1, kat225_retbits +}; +static const struct drbg_kat kat225 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat225_t +}; + +static const unsigned char kat226_entropyin[] = { + 0x71, 0xba, 0x02, 0x9a, 0x7a, 0x92, 0x39, 0x1b, 0x3f, 0x29, 0x4f, 0x2f, + 0xbf, 0x57, 0x27, 0xab, +}; +static const unsigned char kat226_nonce[] = { + 0xf0, 0xe9, 0x12, 0x78, 0x8f, 0x98, 0x27, 0xff, +}; +static const unsigned char kat226_persstr[] = { + 0x23, 0xf3, 0x69, 0x80, 0xda, 0x40, 0x16, 0x64, 0x2c, 0x81, 0x0d, 0xa2, + 0x99, 0x0a, 0xa2, 0x5e, +}; +static const unsigned char kat226_addin0[] = { + 0x59, 0xab, 0x41, 0xb2, 0x4e, 0xe8, 0xe2, 0x71, 0xe2, 0x53, 0xc6, 0xcc, + 0x40, 0x48, 0x7c, 0xb5, +}; +static const unsigned char kat226_addin1[] = { + 0x91, 0x64, 0xf0, 0x28, 0x60, 0x77, 0x3e, 0x3b, 0x96, 0xd8, 0x5b, 0x37, + 0x38, 0x38, 0x50, 0x66, +}; +static const unsigned char kat226_retbits[] = { + 0xde, 0x1b, 0x8a, 0x25, 0x95, 0x89, 0x23, 0x54, 0xda, 0x47, 0xb4, 0xea, + 0xaf, 0x9d, 0xdc, 0xec, 0x64, 0xa9, 0x61, 0x01, 0x17, 0xb0, 0x5e, 0x40, + 0xd0, 0x76, 0x60, 0xa8, 0x0b, 0xcf, 0x82, 0x5e, 0xef, 0xdb, 0xd2, 0x8e, + 0x07, 0xd5, 0x96, 0x81, 0xf9, 0xe0, 0x03, 0x7b, 0xdb, 0x72, 0x5f, 0xe6, + 0xce, 0x84, 0x6d, 0x82, 0x4b, 0x3b, 0x34, 0xc2, 0xc2, 0x1a, 0x48, 0xf8, + 0x89, 0x5f, 0x9f, 0x5e, +}; +static const struct drbg_kat_no_reseed kat226_t = { + 0, kat226_entropyin, kat226_nonce, kat226_persstr, + kat226_addin0, kat226_addin1, kat226_retbits +}; +static const struct drbg_kat kat226 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat226_t +}; + +static const unsigned char kat227_entropyin[] = { + 0x67, 0x73, 0x94, 0xf0, 0x3e, 0xac, 0xb5, 0xa1, 0x37, 0x51, 0x5f, 0xcd, + 0x3e, 0xa2, 0xbb, 0xc7, +}; +static const unsigned char kat227_nonce[] = { + 0x9a, 0x5c, 0x1c, 0xea, 0x26, 0xef, 0xbf, 0x76, +}; +static const unsigned char kat227_persstr[] = { + 0xdd, 0x73, 0xb1, 0x8e, 0xee, 0x62, 0x94, 0x34, 0x9a, 0xa6, 0x45, 0x6d, + 0xaa, 0x77, 0xd2, 0x4f, +}; +static const unsigned char kat227_addin0[] = { + 0xeb, 0x70, 0x19, 0x82, 0x6d, 0xb3, 0x27, 0x17, 0xa5, 0x73, 0x5e, 0xb4, + 0x07, 0x73, 0xea, 0x56, +}; +static const unsigned char kat227_addin1[] = { + 0xb6, 0x2d, 0xe2, 0xb4, 0xaa, 0x8d, 0x97, 0xf5, 0x26, 0xdd, 0xba, 0x44, + 0x09, 0xf5, 0xaa, 0x26, +}; +static const unsigned char kat227_retbits[] = { + 0x22, 0x22, 0xa6, 0xbb, 0x0f, 0xfe, 0x14, 0xd2, 0xf7, 0x89, 0xe6, 0x4d, + 0xcd, 0xf4, 0x78, 0x51, 0xa6, 0xc3, 0xa6, 0xe1, 0xd0, 0x83, 0x7d, 0x8b, + 0x51, 0x1a, 0xa2, 0xf5, 0x6a, 0x6d, 0x08, 0x53, 0x4c, 0x97, 0xf4, 0xb1, + 0x2a, 0x77, 0x44, 0x7d, 0xb2, 0x04, 0x09, 0xd3, 0x27, 0xfc, 0x08, 0x81, + 0x62, 0xc0, 0xf2, 0xc5, 0x9f, 0xe4, 0x7e, 0x8c, 0x92, 0xae, 0x5d, 0xcd, + 0xd7, 0x38, 0xc7, 0x68, +}; +static const struct drbg_kat_no_reseed kat227_t = { + 1, kat227_entropyin, kat227_nonce, kat227_persstr, + kat227_addin0, kat227_addin1, kat227_retbits +}; +static const struct drbg_kat kat227 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat227_t +}; + +static const unsigned char kat228_entropyin[] = { + 0x3f, 0x51, 0xf6, 0xcc, 0xf2, 0x24, 0x79, 0xed, 0x89, 0x1b, 0x89, 0x1f, + 0xc4, 0xc6, 0xb5, 0x51, +}; +static const unsigned char kat228_nonce[] = { + 0x19, 0xe0, 0x75, 0x4f, 0x7b, 0xfa, 0x0c, 0xef, +}; +static const unsigned char kat228_persstr[] = { + 0x40, 0x2a, 0x1d, 0xab, 0x45, 0x0e, 0xa9, 0x04, 0x97, 0x38, 0x78, 0x2a, + 0x93, 0x34, 0x7a, 0xff, +}; +static const unsigned char kat228_addin0[] = { + 0x52, 0xc9, 0x0f, 0x57, 0x1c, 0x8c, 0x63, 0xf0, 0xdc, 0xdb, 0xd4, 0xe6, + 0xc9, 0x65, 0x34, 0x78, +}; +static const unsigned char kat228_addin1[] = { + 0x8b, 0xe6, 0x3b, 0x5e, 0xf2, 0x12, 0x69, 0x4e, 0xdb, 0xc2, 0xc8, 0xde, + 0xc9, 0xa0, 0x58, 0x7b, +}; +static const unsigned char kat228_retbits[] = { + 0x1a, 0xbf, 0xe2, 0xd7, 0x21, 0x93, 0xb6, 0xe3, 0xd9, 0xbe, 0x85, 0x10, + 0x7e, 0xce, 0x8f, 0xea, 0x5d, 0x22, 0x95, 0x68, 0x56, 0x8c, 0x93, 0xeb, + 0x5e, 0xae, 0xd4, 0x63, 0xbf, 0x2b, 0x79, 0xcf, 0xdb, 0xd0, 0x47, 0x40, + 0x2f, 0xf4, 0xe4, 0x22, 0x34, 0xc4, 0xe3, 0xe1, 0x50, 0xc1, 0xf0, 0xe8, + 0x24, 0x00, 0xf6, 0xa5, 0x9e, 0xeb, 0xd0, 0x92, 0xee, 0x73, 0xad, 0xf1, + 0xff, 0xca, 0x64, 0x94, +}; +static const struct drbg_kat_no_reseed kat228_t = { + 2, kat228_entropyin, kat228_nonce, kat228_persstr, + kat228_addin0, kat228_addin1, kat228_retbits +}; +static const struct drbg_kat kat228 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat228_t +}; + +static const unsigned char kat229_entropyin[] = { + 0x5a, 0x01, 0xb6, 0x38, 0x31, 0x1a, 0x29, 0x6b, 0xfe, 0x1f, 0x6e, 0x18, + 0x0f, 0x24, 0x3d, 0x5b, +}; +static const unsigned char kat229_nonce[] = { + 0x16, 0xbb, 0x4e, 0x36, 0xfd, 0x04, 0xb0, 0x5b, +}; +static const unsigned char kat229_persstr[] = { + 0xd5, 0x44, 0x0a, 0x6f, 0xa4, 0xd3, 0x45, 0xcb, 0x84, 0xd5, 0x6d, 0xec, + 0xaa, 0x3d, 0xbd, 0x18, +}; +static const unsigned char kat229_addin0[] = { + 0xbd, 0x3e, 0x11, 0xdb, 0xb9, 0xf4, 0x0a, 0x13, 0x51, 0xc8, 0xbf, 0x7b, + 0xd8, 0x94, 0xad, 0x20, +}; +static const unsigned char kat229_addin1[] = { + 0xe0, 0x4a, 0x83, 0xa5, 0x18, 0x75, 0x15, 0x10, 0x4a, 0xa1, 0xe7, 0xf4, + 0x34, 0xff, 0x43, 0x36, +}; +static const unsigned char kat229_retbits[] = { + 0x27, 0x28, 0xfc, 0xc1, 0xfe, 0xa7, 0xfe, 0x63, 0x5d, 0xdf, 0xed, 0x8b, + 0xb3, 0xf7, 0xca, 0x29, 0xe1, 0xcb, 0xd8, 0x51, 0x6a, 0x2b, 0x5e, 0xab, + 0xb7, 0xd0, 0x91, 0xe6, 0xe7, 0xf2, 0x04, 0x6a, 0x80, 0x77, 0xef, 0x6d, + 0x1a, 0x90, 0x16, 0x5f, 0x18, 0x9d, 0x07, 0xa8, 0x97, 0xcd, 0xfc, 0x06, + 0x88, 0x2a, 0xdb, 0x78, 0x1b, 0xe5, 0x89, 0xe0, 0xe5, 0xeb, 0x2d, 0xc9, + 0x7b, 0xe6, 0x54, 0x6b, +}; +static const struct drbg_kat_no_reseed kat229_t = { + 3, kat229_entropyin, kat229_nonce, kat229_persstr, + kat229_addin0, kat229_addin1, kat229_retbits +}; +static const struct drbg_kat kat229 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat229_t +}; + +static const unsigned char kat230_entropyin[] = { + 0x97, 0xe4, 0x15, 0xb3, 0xca, 0x11, 0x0a, 0x80, 0x9e, 0xa6, 0x00, 0xa1, + 0x3e, 0x47, 0xaa, 0x04, +}; +static const unsigned char kat230_nonce[] = { + 0x12, 0x6e, 0x16, 0xdc, 0x57, 0x22, 0xa4, 0x49, +}; +static const unsigned char kat230_persstr[] = { + 0xa9, 0xbe, 0x38, 0xe3, 0x01, 0x19, 0x86, 0xb9, 0x04, 0x71, 0x71, 0x93, + 0xec, 0x4a, 0x7d, 0x4c, +}; +static const unsigned char kat230_addin0[] = { + 0x19, 0x68, 0x69, 0x92, 0x21, 0xeb, 0x8b, 0x5e, 0xd0, 0x23, 0xa5, 0xd2, + 0xd2, 0xd8, 0x12, 0x56, +}; +static const unsigned char kat230_addin1[] = { + 0x4b, 0x5e, 0x1b, 0xde, 0x38, 0xb2, 0xa9, 0x79, 0x3b, 0x16, 0x6d, 0x86, + 0x81, 0x6e, 0xd2, 0x31, +}; +static const unsigned char kat230_retbits[] = { + 0x4b, 0xe9, 0x89, 0x89, 0xdf, 0x2f, 0xe6, 0x68, 0x7e, 0x50, 0x88, 0xe5, + 0x06, 0x98, 0x50, 0x7d, 0x91, 0x06, 0x1a, 0x8d, 0x6e, 0xb9, 0x5d, 0x66, + 0x27, 0xd2, 0xb8, 0x57, 0x25, 0x3f, 0x05, 0x3c, 0x99, 0xee, 0x79, 0x84, + 0xa4, 0x98, 0xde, 0x4d, 0xf3, 0x12, 0x44, 0x42, 0x85, 0x6f, 0x18, 0xe9, + 0x8e, 0x66, 0x41, 0xf1, 0x52, 0xcd, 0x12, 0x9b, 0xd0, 0x4e, 0x99, 0x71, + 0x09, 0x30, 0xc3, 0xe1, +}; +static const struct drbg_kat_no_reseed kat230_t = { + 4, kat230_entropyin, kat230_nonce, kat230_persstr, + kat230_addin0, kat230_addin1, kat230_retbits +}; +static const struct drbg_kat kat230 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat230_t +}; + +static const unsigned char kat231_entropyin[] = { + 0xb6, 0xc4, 0xcd, 0x96, 0xf7, 0xfd, 0xe8, 0x3e, 0xb5, 0x71, 0x22, 0x9b, + 0x53, 0x7a, 0xcf, 0x5a, +}; +static const unsigned char kat231_nonce[] = { + 0x4c, 0x4e, 0x0a, 0xac, 0xb5, 0xc5, 0x28, 0xe7, +}; +static const unsigned char kat231_persstr[] = { + 0x5c, 0xe1, 0x09, 0x4d, 0x0d, 0x30, 0x7b, 0x41, 0xdb, 0x9b, 0xf2, 0x6d, + 0xa4, 0x1d, 0xb1, 0x00, +}; +static const unsigned char kat231_addin0[] = { + 0x98, 0x04, 0x7e, 0xe9, 0x87, 0x63, 0x7e, 0x45, 0x84, 0xfe, 0x7f, 0xe2, + 0x86, 0x9c, 0x84, 0x5d, +}; +static const unsigned char kat231_addin1[] = { + 0x17, 0x7e, 0x3c, 0x29, 0xd4, 0xfa, 0xf0, 0x43, 0x07, 0x7f, 0xbe, 0xfe, + 0x0b, 0x99, 0x4b, 0x91, +}; +static const unsigned char kat231_retbits[] = { + 0x5e, 0xaf, 0x01, 0x3f, 0xd3, 0x77, 0x5a, 0x2d, 0x3e, 0x97, 0x16, 0x6d, + 0x23, 0x15, 0x3a, 0x00, 0xf1, 0x86, 0x44, 0x96, 0x3e, 0x69, 0xcb, 0x96, + 0x2a, 0x7b, 0xd2, 0xc3, 0x0a, 0xf9, 0xbd, 0x6a, 0x29, 0xd4, 0xbc, 0x70, + 0x93, 0x0a, 0x92, 0x9b, 0x92, 0x52, 0xd8, 0x08, 0xdb, 0x41, 0x0c, 0x66, + 0x41, 0x23, 0xbd, 0x69, 0xc1, 0xd0, 0xc1, 0xd4, 0xba, 0x3c, 0x7d, 0x8f, + 0xf7, 0xae, 0x00, 0xf0, +}; +static const struct drbg_kat_no_reseed kat231_t = { + 5, kat231_entropyin, kat231_nonce, kat231_persstr, + kat231_addin0, kat231_addin1, kat231_retbits +}; +static const struct drbg_kat kat231 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat231_t +}; + +static const unsigned char kat232_entropyin[] = { + 0x2d, 0x1b, 0x80, 0x61, 0xd7, 0xd5, 0x83, 0xf8, 0x3b, 0xe5, 0x53, 0xc4, + 0x83, 0x72, 0x12, 0xa0, +}; +static const unsigned char kat232_nonce[] = { + 0x62, 0xa1, 0xfa, 0x74, 0x53, 0x62, 0xba, 0xce, +}; +static const unsigned char kat232_persstr[] = { + 0x4d, 0x97, 0x6a, 0xdd, 0x18, 0xd5, 0xe2, 0x48, 0x4f, 0x67, 0xf7, 0xc8, + 0x4c, 0xc6, 0x8b, 0x52, +}; +static const unsigned char kat232_addin0[] = { + 0x57, 0x64, 0xde, 0x5d, 0xb9, 0x7e, 0x22, 0x3c, 0x04, 0x4a, 0x83, 0x3f, + 0xa4, 0x2c, 0xf6, 0x29, +}; +static const unsigned char kat232_addin1[] = { + 0xde, 0xef, 0x8d, 0x58, 0x1f, 0x6e, 0x4f, 0x80, 0x89, 0x92, 0xfd, 0x20, + 0xc0, 0x6e, 0x10, 0x2d, +}; +static const unsigned char kat232_retbits[] = { + 0xac, 0xb7, 0x8f, 0x27, 0x33, 0x50, 0xd4, 0x59, 0xc7, 0x98, 0x09, 0xd8, + 0x9b, 0x40, 0x28, 0x25, 0xbb, 0x00, 0xe3, 0x8a, 0xbd, 0x5e, 0xc1, 0x2f, + 0xea, 0xdc, 0xde, 0xf6, 0x11, 0x46, 0x84, 0xb6, 0xfc, 0xb0, 0xe1, 0x76, + 0xcb, 0xe4, 0x65, 0x91, 0x0f, 0xc2, 0x84, 0x8f, 0x0a, 0x70, 0x88, 0x44, + 0x79, 0x4c, 0x5e, 0xea, 0xfe, 0xad, 0xa7, 0x56, 0x3c, 0x38, 0xc3, 0xee, + 0x63, 0xc9, 0x7e, 0xf9, +}; +static const struct drbg_kat_no_reseed kat232_t = { + 6, kat232_entropyin, kat232_nonce, kat232_persstr, + kat232_addin0, kat232_addin1, kat232_retbits +}; +static const struct drbg_kat kat232 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat232_t +}; + +static const unsigned char kat233_entropyin[] = { + 0xef, 0x30, 0xfd, 0x99, 0x5f, 0xf0, 0xef, 0x44, 0xcc, 0xe6, 0x07, 0x7b, + 0xb2, 0x2d, 0xe6, 0x99, +}; +static const unsigned char kat233_nonce[] = { + 0x85, 0xc7, 0xd6, 0x05, 0x4a, 0x57, 0x76, 0x22, +}; +static const unsigned char kat233_persstr[] = { + 0x5d, 0x59, 0xb3, 0xf0, 0x25, 0x00, 0x60, 0xe2, 0x20, 0x02, 0xad, 0xf7, + 0x06, 0x48, 0x6d, 0x85, +}; +static const unsigned char kat233_addin0[] = { + 0x79, 0x46, 0x81, 0xf7, 0x5d, 0xf9, 0xc9, 0x88, 0x30, 0x3f, 0x75, 0x1f, + 0xb7, 0xe7, 0xfb, 0xa9, +}; +static const unsigned char kat233_addin1[] = { + 0x7b, 0x13, 0x74, 0xc8, 0x47, 0x25, 0x37, 0xfa, 0x31, 0x11, 0xeb, 0x44, + 0xe5, 0x2a, 0xfa, 0x23, +}; +static const unsigned char kat233_retbits[] = { + 0xb0, 0x49, 0x50, 0xf1, 0xa3, 0x57, 0x52, 0xc0, 0x67, 0xbc, 0xe8, 0x35, + 0x76, 0x35, 0xf4, 0x70, 0xd1, 0x0b, 0x3b, 0xae, 0x47, 0x46, 0x6f, 0xd1, + 0x16, 0x6f, 0x9f, 0xfa, 0xef, 0xbd, 0x32, 0x4b, 0x26, 0x53, 0xc7, 0xf3, + 0x0e, 0xe4, 0x84, 0x86, 0x73, 0xd7, 0x04, 0x18, 0x65, 0xd9, 0x95, 0x45, + 0x12, 0x58, 0x94, 0x92, 0x98, 0x9a, 0x00, 0xea, 0x4d, 0xa1, 0xdd, 0x28, + 0x9e, 0x87, 0x17, 0xc3, +}; +static const struct drbg_kat_no_reseed kat233_t = { + 7, kat233_entropyin, kat233_nonce, kat233_persstr, + kat233_addin0, kat233_addin1, kat233_retbits +}; +static const struct drbg_kat kat233 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat233_t +}; + +static const unsigned char kat234_entropyin[] = { + 0xee, 0x4b, 0xde, 0x4f, 0x71, 0x2d, 0xc9, 0xfc, 0x1f, 0x2c, 0x01, 0xf1, + 0xc6, 0x08, 0x6f, 0x35, +}; +static const unsigned char kat234_nonce[] = { + 0xf6, 0x83, 0x7c, 0xfe, 0x53, 0xec, 0x48, 0x74, +}; +static const unsigned char kat234_persstr[] = { + 0xfd, 0xb8, 0xf6, 0x4d, 0x99, 0xbd, 0x71, 0x7e, 0xee, 0x3d, 0x89, 0x35, + 0x3b, 0x73, 0xc9, 0xc1, +}; +static const unsigned char kat234_addin0[] = { + 0x09, 0xe5, 0xba, 0x3b, 0x23, 0x89, 0x5c, 0x5d, 0xff, 0x89, 0x38, 0x2d, + 0x5e, 0x91, 0x70, 0x0d, +}; +static const unsigned char kat234_addin1[] = { + 0xeb, 0x1a, 0x98, 0xde, 0x89, 0x62, 0xbb, 0xc4, 0xcb, 0x75, 0xcf, 0x0b, + 0xf0, 0xf8, 0xdf, 0xa4, +}; +static const unsigned char kat234_retbits[] = { + 0xaa, 0xcd, 0xee, 0x0f, 0x3d, 0x1f, 0x95, 0x5f, 0x89, 0x6d, 0x5a, 0x5a, + 0x25, 0x30, 0xfd, 0x80, 0x9a, 0x20, 0x2c, 0x92, 0x1d, 0x90, 0xa9, 0xcf, + 0x59, 0x3e, 0x03, 0x93, 0x4e, 0x07, 0xc3, 0x92, 0xcc, 0x55, 0x54, 0xf5, + 0x99, 0x21, 0xb4, 0x0c, 0xc0, 0x03, 0xfc, 0x26, 0x82, 0xca, 0xef, 0x9e, + 0x6e, 0x61, 0xee, 0x4a, 0xbf, 0x45, 0x14, 0x8e, 0x5f, 0xf3, 0xff, 0x65, + 0x87, 0x1b, 0x0d, 0x81, +}; +static const struct drbg_kat_no_reseed kat234_t = { + 8, kat234_entropyin, kat234_nonce, kat234_persstr, + kat234_addin0, kat234_addin1, kat234_retbits +}; +static const struct drbg_kat kat234 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat234_t +}; + +static const unsigned char kat235_entropyin[] = { + 0xa6, 0xaa, 0x94, 0x5e, 0xbe, 0x19, 0x29, 0x98, 0xbe, 0x8e, 0x24, 0x7d, + 0xb9, 0x9c, 0xe7, 0xd0, +}; +static const unsigned char kat235_nonce[] = { + 0x7d, 0xff, 0x26, 0xe9, 0x7a, 0x0a, 0x8d, 0xba, +}; +static const unsigned char kat235_persstr[] = { + 0x4b, 0x6c, 0xcf, 0xac, 0x6c, 0x47, 0xfd, 0x65, 0x64, 0xbc, 0xfd, 0x94, + 0xfe, 0x9e, 0xb2, 0x8d, +}; +static const unsigned char kat235_addin0[] = { + 0x07, 0x83, 0x70, 0x53, 0xd2, 0x4c, 0xd0, 0xf4, 0xf4, 0x32, 0x7e, 0x97, + 0xd2, 0x9d, 0x67, 0x95, +}; +static const unsigned char kat235_addin1[] = { + 0x3b, 0x17, 0x2d, 0xdc, 0x8d, 0x38, 0x3b, 0x98, 0xd4, 0x08, 0x39, 0x4c, + 0x0b, 0xa1, 0x52, 0xc1, +}; +static const unsigned char kat235_retbits[] = { + 0xd9, 0x0a, 0xa4, 0x22, 0xa8, 0xd2, 0xb8, 0x6e, 0x1f, 0x09, 0xde, 0x29, + 0xdd, 0x16, 0xd4, 0x60, 0x50, 0x98, 0xa4, 0x5a, 0xea, 0xbe, 0x69, 0xc6, + 0xbc, 0x8a, 0xe0, 0xc8, 0xf0, 0x1b, 0x7c, 0xc7, 0x3f, 0x88, 0x50, 0xec, + 0x0c, 0x47, 0xd6, 0x16, 0xcb, 0x6c, 0xca, 0xb7, 0x7f, 0x22, 0x07, 0x99, + 0x38, 0xed, 0x11, 0xb4, 0x8f, 0xcf, 0x3c, 0xf4, 0x6a, 0x3f, 0x64, 0x2f, + 0x05, 0xae, 0xb8, 0xb7, +}; +static const struct drbg_kat_no_reseed kat235_t = { + 9, kat235_entropyin, kat235_nonce, kat235_persstr, + kat235_addin0, kat235_addin1, kat235_retbits +}; +static const struct drbg_kat kat235 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat235_t +}; + +static const unsigned char kat236_entropyin[] = { + 0x7e, 0xb5, 0x0f, 0x53, 0x2b, 0x00, 0x76, 0x52, 0x8e, 0x2d, 0x1f, 0x26, + 0x6b, 0x38, 0x14, 0x06, +}; +static const unsigned char kat236_nonce[] = { + 0x2a, 0x5e, 0x92, 0xe8, 0xfb, 0xf0, 0xe9, 0xee, +}; +static const unsigned char kat236_persstr[] = { + 0x7e, 0xcb, 0xfd, 0x22, 0x98, 0x87, 0x2a, 0x79, 0x34, 0xe4, 0xed, 0x61, + 0xa9, 0xf0, 0x04, 0xcd, +}; +static const unsigned char kat236_addin0[] = { + 0x17, 0x9f, 0xa5, 0xd2, 0xeb, 0x90, 0xd4, 0x15, 0x48, 0x19, 0x2c, 0xc7, + 0x44, 0x98, 0xbd, 0x42, +}; +static const unsigned char kat236_addin1[] = { + 0x92, 0xdc, 0x9d, 0x60, 0xd2, 0xe3, 0x6d, 0x4b, 0xfb, 0x97, 0x90, 0x78, + 0x3d, 0x1c, 0x58, 0x19, +}; +static const unsigned char kat236_retbits[] = { + 0x9a, 0x17, 0x1b, 0x50, 0x48, 0xba, 0xf1, 0x37, 0x5c, 0x14, 0x07, 0xa8, + 0xdc, 0x1c, 0x8e, 0xda, 0x53, 0x2d, 0xf5, 0x52, 0x96, 0x77, 0x06, 0x88, + 0x4e, 0x5f, 0xe3, 0xd4, 0x67, 0x86, 0x07, 0x74, 0x48, 0xf2, 0x8f, 0x89, + 0xb3, 0x8e, 0xb7, 0x64, 0xdf, 0x7e, 0x0e, 0x3b, 0x40, 0x1a, 0xed, 0x3a, + 0x23, 0x06, 0xfa, 0x2b, 0xed, 0xe3, 0x82, 0xaa, 0xe1, 0x08, 0xe1, 0x6a, + 0xb4, 0x85, 0x69, 0x1e, +}; +static const struct drbg_kat_no_reseed kat236_t = { + 10, kat236_entropyin, kat236_nonce, kat236_persstr, + kat236_addin0, kat236_addin1, kat236_retbits +}; +static const struct drbg_kat kat236 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat236_t +}; + +static const unsigned char kat237_entropyin[] = { + 0x7d, 0x33, 0x40, 0xa8, 0xb1, 0xe1, 0x51, 0x71, 0xee, 0x34, 0x03, 0xcc, + 0x19, 0xd3, 0xfe, 0xa9, +}; +static const unsigned char kat237_nonce[] = { + 0xfd, 0xe6, 0x97, 0xac, 0xc7, 0xe7, 0x2b, 0x75, +}; +static const unsigned char kat237_persstr[] = { + 0xa1, 0x28, 0x79, 0x71, 0x79, 0xc5, 0xca, 0xd6, 0xa9, 0xb4, 0x76, 0xff, + 0x99, 0xf9, 0x82, 0x8f, +}; +static const unsigned char kat237_addin0[] = { + 0x2d, 0xfa, 0x30, 0x85, 0xfa, 0x02, 0x3b, 0x53, 0x61, 0xdb, 0xa7, 0x9d, + 0x40, 0x77, 0x38, 0xbc, +}; +static const unsigned char kat237_addin1[] = { + 0xae, 0xf5, 0x3a, 0xf3, 0xbe, 0x89, 0x41, 0xe7, 0xd2, 0x71, 0x3c, 0x71, + 0x28, 0x41, 0xdc, 0x68, +}; +static const unsigned char kat237_retbits[] = { + 0xc1, 0xf7, 0x25, 0xb2, 0x90, 0xed, 0x13, 0x10, 0xdd, 0x3f, 0x39, 0xe9, + 0x9c, 0x7a, 0x65, 0xb8, 0x01, 0xb4, 0x74, 0x2f, 0x50, 0x66, 0xb3, 0xc7, + 0x1b, 0xb4, 0x6f, 0x3d, 0xe7, 0x4d, 0xd2, 0xca, 0xae, 0xa4, 0x08, 0x21, + 0x17, 0x4f, 0x67, 0x67, 0x22, 0xdb, 0x38, 0xfe, 0xda, 0x5d, 0x10, 0x96, + 0xc7, 0x9a, 0xd1, 0xea, 0xbe, 0xff, 0x78, 0xde, 0xf0, 0x84, 0x7a, 0x24, + 0x23, 0xbb, 0x46, 0x02, +}; +static const struct drbg_kat_no_reseed kat237_t = { + 11, kat237_entropyin, kat237_nonce, kat237_persstr, + kat237_addin0, kat237_addin1, kat237_retbits +}; +static const struct drbg_kat kat237 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat237_t +}; + +static const unsigned char kat238_entropyin[] = { + 0x05, 0x71, 0xd4, 0x1f, 0x98, 0xb7, 0x1e, 0xad, 0x41, 0x5f, 0xcb, 0x97, + 0xfd, 0x05, 0xa1, 0xf1, +}; +static const unsigned char kat238_nonce[] = { + 0x42, 0x16, 0x18, 0x2c, 0x09, 0x4c, 0x4b, 0x14, +}; +static const unsigned char kat238_persstr[] = { + 0x6b, 0xed, 0x5c, 0xc7, 0x26, 0x60, 0xf7, 0xfd, 0x4c, 0x32, 0xab, 0xe5, + 0xcb, 0x1a, 0xef, 0xed, +}; +static const unsigned char kat238_addin0[] = { + 0xb1, 0x98, 0x97, 0x3f, 0x68, 0x9c, 0x37, 0xeb, 0x63, 0x76, 0xa0, 0x88, + 0xa7, 0xc7, 0x3e, 0x97, +}; +static const unsigned char kat238_addin1[] = { + 0xdf, 0xf3, 0xa3, 0xb0, 0x72, 0x43, 0x02, 0xf8, 0x3b, 0x85, 0x4f, 0x2f, + 0xa8, 0xec, 0x34, 0x96, +}; +static const unsigned char kat238_retbits[] = { + 0x66, 0x7d, 0xdb, 0x87, 0x07, 0x9b, 0x39, 0x49, 0x03, 0x0f, 0x41, 0xff, + 0x91, 0xb2, 0xec, 0x0a, 0x59, 0x8a, 0xb2, 0xd5, 0x5c, 0x99, 0xd0, 0x17, + 0xe4, 0xfc, 0x79, 0xe9, 0x4f, 0x15, 0xb4, 0x10, 0xcc, 0x29, 0x70, 0xff, + 0x01, 0x74, 0x82, 0xb2, 0x9e, 0xef, 0x2c, 0x25, 0x0a, 0x09, 0x12, 0x8a, + 0x18, 0x60, 0x5e, 0x0f, 0xa1, 0x4a, 0xcc, 0xe3, 0x7b, 0x89, 0xc4, 0x38, + 0xc8, 0x21, 0x31, 0x94, +}; +static const struct drbg_kat_no_reseed kat238_t = { + 12, kat238_entropyin, kat238_nonce, kat238_persstr, + kat238_addin0, kat238_addin1, kat238_retbits +}; +static const struct drbg_kat kat238 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat238_t +}; + +static const unsigned char kat239_entropyin[] = { + 0x8e, 0xe3, 0xed, 0xc1, 0xc6, 0x4e, 0xa7, 0xd6, 0xf0, 0xba, 0xb9, 0x73, + 0x1e, 0x5d, 0x17, 0x62, +}; +static const unsigned char kat239_nonce[] = { + 0x92, 0xa1, 0x42, 0x26, 0x08, 0x7a, 0xfa, 0xfb, +}; +static const unsigned char kat239_persstr[] = { + 0x2a, 0x24, 0x04, 0xbe, 0xf6, 0xf7, 0x11, 0x34, 0x17, 0xdf, 0x0b, 0x18, + 0x54, 0xd8, 0x47, 0x3d, +}; +static const unsigned char kat239_addin0[] = { + 0xa2, 0x78, 0xe8, 0xa5, 0x0b, 0xcc, 0xd6, 0x12, 0x97, 0x4d, 0x02, 0x6e, + 0xde, 0xf7, 0x50, 0x1c, +}; +static const unsigned char kat239_addin1[] = { + 0xe7, 0x48, 0xf5, 0xe2, 0xf9, 0x8b, 0x48, 0x8e, 0x74, 0xb0, 0xbb, 0xd5, + 0x59, 0xb5, 0xba, 0xbc, +}; +static const unsigned char kat239_retbits[] = { + 0x81, 0xec, 0xf8, 0xb7, 0xb0, 0x7c, 0x64, 0xce, 0xd1, 0xa4, 0x9b, 0x21, + 0x33, 0x54, 0x99, 0x5a, 0x7b, 0xf1, 0x68, 0xd3, 0x8a, 0x83, 0x0b, 0x15, + 0x70, 0x41, 0x4f, 0x5a, 0x20, 0x15, 0x49, 0x9e, 0x09, 0xaf, 0xf3, 0xbf, + 0x58, 0x37, 0x19, 0x88, 0x6f, 0xe9, 0x9d, 0x00, 0xe6, 0xd9, 0xeb, 0x9a, + 0x4f, 0xde, 0x29, 0xd8, 0xd9, 0x78, 0x8d, 0xd6, 0xff, 0xe2, 0x09, 0x83, + 0x9a, 0x73, 0x9c, 0xd2, +}; +static const struct drbg_kat_no_reseed kat239_t = { + 13, kat239_entropyin, kat239_nonce, kat239_persstr, + kat239_addin0, kat239_addin1, kat239_retbits +}; +static const struct drbg_kat kat239 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat239_t +}; + +static const unsigned char kat240_entropyin[] = { + 0x06, 0x18, 0xc2, 0x88, 0x49, 0x14, 0x71, 0x22, 0x26, 0xad, 0x4e, 0x95, + 0x80, 0xc0, 0x95, 0x23, +}; +static const unsigned char kat240_nonce[] = { + 0x6e, 0xbc, 0x4d, 0x5d, 0xb4, 0x76, 0x7f, 0x5f, +}; +static const unsigned char kat240_persstr[] = { + 0x7a, 0x82, 0x50, 0xa3, 0xbc, 0xbd, 0x81, 0x54, 0xc5, 0x05, 0x8b, 0x55, + 0x1c, 0xf2, 0x20, 0x36, +}; +static const unsigned char kat240_addin0[] = { + 0x30, 0x26, 0x05, 0x32, 0xb5, 0x6c, 0x0f, 0x8e, 0xde, 0x9b, 0x72, 0x5c, + 0x32, 0x20, 0x8f, 0x31, +}; +static const unsigned char kat240_addin1[] = { + 0x1e, 0x90, 0xdc, 0x4f, 0x67, 0xc1, 0xcb, 0x2d, 0xa1, 0x2d, 0x10, 0xa0, + 0xb0, 0xfb, 0xb6, 0x26, +}; +static const unsigned char kat240_retbits[] = { + 0x49, 0x93, 0x57, 0x58, 0x80, 0xd0, 0x01, 0x45, 0xc1, 0xf9, 0x67, 0xdb, + 0x25, 0xcc, 0xc8, 0xf3, 0x4c, 0xf0, 0xc6, 0x2a, 0xcc, 0xcb, 0xcf, 0xa0, + 0xe7, 0x2c, 0x89, 0xea, 0xcf, 0x9f, 0xbe, 0x56, 0x14, 0x50, 0x74, 0xe4, + 0xd4, 0x7f, 0x2b, 0x76, 0x74, 0xf4, 0xb0, 0xe0, 0x7e, 0xe3, 0xb5, 0x10, + 0x4b, 0xf7, 0xcc, 0xfe, 0xd8, 0x00, 0x1d, 0x67, 0x11, 0xc6, 0x6f, 0xda, + 0x94, 0x44, 0xfb, 0x8a, +}; +static const struct drbg_kat_no_reseed kat240_t = { + 14, kat240_entropyin, kat240_nonce, kat240_persstr, + kat240_addin0, kat240_addin1, kat240_retbits +}; +static const struct drbg_kat kat240 = { + NO_RESEED, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat240_t +}; + +static const unsigned char kat241_entropyin[] = { + 0xc3, 0x5c, 0x2f, 0xa2, 0xa8, 0x9d, 0x52, 0xa1, 0x1f, 0xa3, 0x2a, 0xa9, + 0x6c, 0x95, 0xb8, 0xf1, 0xc9, 0xa8, 0xf9, 0xcb, 0x24, 0x5a, 0x8b, 0x40, +}; +static const unsigned char kat241_nonce[] = { + 0xf3, 0xa6, 0xe5, 0xa7, 0xfb, 0xd9, 0xd3, 0xc6, 0x8e, 0x27, 0x7b, 0xa9, + 0xac, 0x9b, 0xbb, 0x00, +}; +static const unsigned char kat241_persstr[] = {0}; +static const unsigned char kat241_addin0[] = {0}; +static const unsigned char kat241_addin1[] = {0}; +static const unsigned char kat241_retbits[] = { + 0x8c, 0x2e, 0x72, 0xab, 0xfd, 0x9b, 0xb8, 0x28, 0x4d, 0xb7, 0x9e, 0x17, + 0xa4, 0x3a, 0x31, 0x46, 0xcd, 0x76, 0x94, 0xe3, 0x52, 0x49, 0xfc, 0x33, + 0x83, 0x91, 0x4a, 0x71, 0x17, 0xf4, 0x13, 0x68, 0xe6, 0xd4, 0xf1, 0x48, + 0xff, 0x49, 0xbf, 0x29, 0x07, 0x6b, 0x50, 0x15, 0xc5, 0x9f, 0x45, 0x79, + 0x45, 0x66, 0x2e, 0x3d, 0x35, 0x03, 0x84, 0x3f, 0x4a, 0xa5, 0xa3, 0xdf, + 0x9a, 0x9d, 0xf1, 0x0d, +}; +static const struct drbg_kat_no_reseed kat241_t = { + 0, kat241_entropyin, kat241_nonce, kat241_persstr, + kat241_addin0, kat241_addin1, kat241_retbits +}; +static const struct drbg_kat kat241 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat241_t +}; + +static const unsigned char kat242_entropyin[] = { + 0xc1, 0x5f, 0x9f, 0xc5, 0x74, 0x1f, 0x2c, 0xac, 0xe0, 0xb5, 0x8d, 0x72, + 0x49, 0xbd, 0x03, 0x77, 0xbd, 0x57, 0x08, 0xe3, 0x65, 0x88, 0x4b, 0x59, +}; +static const unsigned char kat242_nonce[] = { + 0xc3, 0x34, 0x3e, 0x3a, 0x11, 0xb2, 0xdc, 0x15, 0x26, 0x1c, 0x51, 0x75, + 0x1f, 0x51, 0x3b, 0x60, +}; +static const unsigned char kat242_persstr[] = {0}; +static const unsigned char kat242_addin0[] = {0}; +static const unsigned char kat242_addin1[] = {0}; +static const unsigned char kat242_retbits[] = { + 0x5c, 0x6c, 0xed, 0x80, 0x50, 0xbc, 0x5a, 0xde, 0x3f, 0x9a, 0xca, 0xcf, + 0x23, 0x89, 0x9f, 0x98, 0xf5, 0xe0, 0x45, 0xa7, 0x68, 0xba, 0x53, 0x8f, + 0xc3, 0x71, 0x74, 0x74, 0x62, 0xeb, 0x9b, 0x84, 0x82, 0x8c, 0x9c, 0xe8, + 0x8e, 0x41, 0x99, 0x05, 0x23, 0x59, 0xb1, 0x58, 0x33, 0x66, 0x89, 0x44, + 0xd6, 0x18, 0x76, 0x7d, 0x0c, 0x6c, 0xfc, 0x24, 0x11, 0xf8, 0x2e, 0x04, + 0x12, 0x06, 0x7a, 0xf6, +}; +static const struct drbg_kat_no_reseed kat242_t = { + 1, kat242_entropyin, kat242_nonce, kat242_persstr, + kat242_addin0, kat242_addin1, kat242_retbits +}; +static const struct drbg_kat kat242 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat242_t +}; + +static const unsigned char kat243_entropyin[] = { + 0x34, 0xdb, 0xd5, 0xcf, 0xe7, 0x9c, 0xac, 0xa4, 0x25, 0x8c, 0xd1, 0xae, + 0x24, 0xb5, 0xaf, 0xe2, 0xd3, 0x7c, 0xb4, 0x69, 0x5d, 0x65, 0x5a, 0x7b, +}; +static const unsigned char kat243_nonce[] = { + 0x55, 0xc2, 0x8f, 0xb4, 0x4e, 0x58, 0x49, 0xb5, 0x7a, 0x77, 0x87, 0x35, + 0x13, 0xc6, 0x57, 0x05, +}; +static const unsigned char kat243_persstr[] = {0}; +static const unsigned char kat243_addin0[] = {0}; +static const unsigned char kat243_addin1[] = {0}; +static const unsigned char kat243_retbits[] = { + 0x9d, 0x47, 0x1d, 0x2c, 0xb8, 0xe4, 0x20, 0x02, 0xce, 0x24, 0xe0, 0xc6, + 0xbe, 0x84, 0xc8, 0x99, 0x37, 0x59, 0x5e, 0x61, 0xfa, 0xf0, 0x37, 0x1c, + 0xb7, 0xe8, 0x28, 0x5d, 0x76, 0xbe, 0x6b, 0x34, 0xef, 0x1d, 0xb5, 0xf7, + 0xd2, 0xeb, 0xad, 0x4b, 0xf8, 0xff, 0x77, 0x65, 0x13, 0x89, 0xef, 0xcf, + 0x13, 0xba, 0xe7, 0x2b, 0xd8, 0xa1, 0x3c, 0x8e, 0x9f, 0xc6, 0x18, 0x55, + 0x58, 0x1b, 0x8e, 0xa9, +}; +static const struct drbg_kat_no_reseed kat243_t = { + 2, kat243_entropyin, kat243_nonce, kat243_persstr, + kat243_addin0, kat243_addin1, kat243_retbits +}; +static const struct drbg_kat kat243 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat243_t +}; + +static const unsigned char kat244_entropyin[] = { + 0x64, 0x3e, 0x95, 0xbf, 0xea, 0xca, 0xfc, 0x7d, 0x72, 0x1b, 0x48, 0xb9, + 0xf1, 0x5a, 0x80, 0xce, 0x8a, 0xd7, 0x07, 0x7f, 0x30, 0x1f, 0x16, 0xc5, +}; +static const unsigned char kat244_nonce[] = { + 0x2d, 0x90, 0x8d, 0xd6, 0x95, 0x2f, 0x86, 0x2a, 0xda, 0x90, 0x2b, 0xc1, + 0xa1, 0x4a, 0x61, 0x29, +}; +static const unsigned char kat244_persstr[] = {0}; +static const unsigned char kat244_addin0[] = {0}; +static const unsigned char kat244_addin1[] = {0}; +static const unsigned char kat244_retbits[] = { + 0xd6, 0xee, 0x5e, 0x37, 0x96, 0x34, 0x9d, 0x47, 0xc2, 0xed, 0xe3, 0x2c, + 0x93, 0x8f, 0x2c, 0x06, 0xef, 0x8a, 0x65, 0x11, 0xb4, 0xe9, 0xbb, 0xbe, + 0x74, 0xeb, 0x71, 0xbc, 0x3c, 0x47, 0x70, 0xd9, 0x0c, 0x70, 0xcd, 0xcd, + 0xff, 0x6b, 0x3c, 0x9f, 0xbf, 0x4f, 0xa6, 0xbc, 0x38, 0x0a, 0xc2, 0xf2, + 0xe1, 0x61, 0x96, 0xb4, 0xc4, 0xc8, 0xa6, 0x44, 0x8f, 0x04, 0x0d, 0x11, + 0xd3, 0x6b, 0x42, 0x14, +}; +static const struct drbg_kat_no_reseed kat244_t = { + 3, kat244_entropyin, kat244_nonce, kat244_persstr, + kat244_addin0, kat244_addin1, kat244_retbits +}; +static const struct drbg_kat kat244 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat244_t +}; + +static const unsigned char kat245_entropyin[] = { + 0x0f, 0x47, 0x7a, 0x59, 0x14, 0x90, 0xa0, 0xac, 0xcf, 0x82, 0x9c, 0x67, + 0x3f, 0x15, 0x06, 0xda, 0xca, 0x70, 0xdf, 0x96, 0x58, 0x2c, 0x3d, 0x3a, +}; +static const unsigned char kat245_nonce[] = { + 0x1a, 0x8d, 0xd4, 0x23, 0x3b, 0xed, 0xe3, 0xf2, 0x83, 0x86, 0x34, 0xc0, + 0x95, 0x44, 0xab, 0x6e, +}; +static const unsigned char kat245_persstr[] = {0}; +static const unsigned char kat245_addin0[] = {0}; +static const unsigned char kat245_addin1[] = {0}; +static const unsigned char kat245_retbits[] = { + 0x43, 0x16, 0x75, 0x73, 0x86, 0x7d, 0x53, 0xca, 0x92, 0xe2, 0x96, 0x86, + 0xd9, 0xfd, 0x99, 0x3c, 0x69, 0x80, 0x5a, 0x63, 0x11, 0xe3, 0x3e, 0xb9, + 0x63, 0x30, 0xc5, 0x37, 0xdc, 0xbd, 0xea, 0xb1, 0x1b, 0x0b, 0xa1, 0x5e, + 0xe5, 0xb2, 0x28, 0x7f, 0x24, 0x85, 0xe2, 0xe3, 0xa6, 0xe0, 0xed, 0x62, + 0xd2, 0xeb, 0x81, 0x08, 0xc1, 0xfc, 0x73, 0x90, 0x8d, 0xfd, 0x4b, 0xc7, + 0xb7, 0x1b, 0x16, 0x6f, +}; +static const struct drbg_kat_no_reseed kat245_t = { + 4, kat245_entropyin, kat245_nonce, kat245_persstr, + kat245_addin0, kat245_addin1, kat245_retbits +}; +static const struct drbg_kat kat245 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat245_t +}; + +static const unsigned char kat246_entropyin[] = { + 0x00, 0xa6, 0xed, 0x77, 0x83, 0x11, 0x52, 0x81, 0x09, 0xe6, 0xfb, 0x5c, + 0xbd, 0x60, 0xd1, 0xa7, 0x6c, 0x4b, 0xd5, 0xd0, 0x0d, 0xd1, 0x03, 0xa4, +}; +static const unsigned char kat246_nonce[] = { + 0x40, 0x89, 0xf2, 0xf0, 0xb7, 0x4c, 0x18, 0x4a, 0xc9, 0xaf, 0xc9, 0x56, + 0x47, 0xcd, 0xe8, 0x4b, +}; +static const unsigned char kat246_persstr[] = {0}; +static const unsigned char kat246_addin0[] = {0}; +static const unsigned char kat246_addin1[] = {0}; +static const unsigned char kat246_retbits[] = { + 0xb9, 0x08, 0xd9, 0x3a, 0xb2, 0xfd, 0xeb, 0x1a, 0x54, 0x7b, 0x6d, 0x15, + 0xeb, 0x95, 0x0e, 0xdd, 0xce, 0x25, 0x95, 0x6d, 0x8f, 0x5e, 0xe9, 0xa4, + 0xb1, 0xd5, 0x08, 0xc0, 0x82, 0x77, 0xdd, 0x7a, 0x1a, 0x10, 0x60, 0xfc, + 0xec, 0xaf, 0x93, 0xeb, 0x7a, 0x47, 0x2a, 0x36, 0x3e, 0x97, 0xd7, 0xe6, + 0x3c, 0xde, 0xc7, 0xf9, 0x4a, 0x5d, 0xc2, 0x6d, 0xb7, 0xb2, 0xb7, 0xf1, + 0x2c, 0xd8, 0xf3, 0xee, +}; +static const struct drbg_kat_no_reseed kat246_t = { + 5, kat246_entropyin, kat246_nonce, kat246_persstr, + kat246_addin0, kat246_addin1, kat246_retbits +}; +static const struct drbg_kat kat246 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat246_t +}; + +static const unsigned char kat247_entropyin[] = { + 0x5f, 0x34, 0x55, 0x2a, 0x45, 0x5a, 0x02, 0x9b, 0x4b, 0xac, 0xf1, 0xb8, + 0x0c, 0xb1, 0xcf, 0xb4, 0x12, 0x56, 0x5f, 0xb7, 0x73, 0x4f, 0x7e, 0x0a, +}; +static const unsigned char kat247_nonce[] = { + 0xbd, 0x55, 0xae, 0xf0, 0x6d, 0xb6, 0xf2, 0x0d, 0xf2, 0x71, 0xcf, 0x60, + 0x59, 0x4c, 0x22, 0xac, +}; +static const unsigned char kat247_persstr[] = {0}; +static const unsigned char kat247_addin0[] = {0}; +static const unsigned char kat247_addin1[] = {0}; +static const unsigned char kat247_retbits[] = { + 0xd4, 0xb1, 0x00, 0xef, 0x27, 0xd7, 0x9a, 0x5d, 0x10, 0x03, 0x1d, 0xb0, + 0xcc, 0xc7, 0x2b, 0xa8, 0x9c, 0x68, 0x19, 0x77, 0x6c, 0x19, 0xf0, 0x2f, + 0x9a, 0xfe, 0x4a, 0x44, 0x05, 0xc5, 0x84, 0xa0, 0x66, 0x21, 0xf1, 0xbb, + 0x5b, 0xa2, 0x9a, 0xf5, 0xea, 0x69, 0x63, 0x83, 0xa6, 0x7a, 0x9e, 0xc6, + 0x52, 0xbe, 0xe7, 0x59, 0x28, 0x11, 0x3d, 0xb2, 0x8f, 0x39, 0x40, 0x4f, + 0xf0, 0xba, 0x37, 0x38, +}; +static const struct drbg_kat_no_reseed kat247_t = { + 6, kat247_entropyin, kat247_nonce, kat247_persstr, + kat247_addin0, kat247_addin1, kat247_retbits +}; +static const struct drbg_kat kat247 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat247_t +}; + +static const unsigned char kat248_entropyin[] = { + 0x6d, 0x7c, 0xb2, 0x32, 0xa3, 0x20, 0x3c, 0xa6, 0x95, 0x5c, 0x1f, 0x1e, + 0xdd, 0xd6, 0xb8, 0xe0, 0x9d, 0x82, 0x0b, 0xf6, 0xc0, 0x5f, 0xfb, 0x6e, +}; +static const unsigned char kat248_nonce[] = { + 0xc0, 0x4f, 0x16, 0x27, 0xed, 0x1d, 0x7b, 0x31, 0x0a, 0xa4, 0x7e, 0xcc, + 0x79, 0x83, 0x83, 0x6a, +}; +static const unsigned char kat248_persstr[] = {0}; +static const unsigned char kat248_addin0[] = {0}; +static const unsigned char kat248_addin1[] = {0}; +static const unsigned char kat248_retbits[] = { + 0x63, 0xd6, 0x96, 0x3e, 0xff, 0x3d, 0x50, 0xfc, 0x0c, 0x21, 0xab, 0xa6, + 0x1d, 0x63, 0x65, 0x74, 0x2c, 0x4b, 0xce, 0xa7, 0xbf, 0x76, 0xc9, 0x5d, + 0x64, 0x5e, 0x88, 0xcb, 0x13, 0x92, 0x53, 0xd5, 0x63, 0x50, 0x3e, 0xc3, + 0x99, 0x9e, 0xe7, 0x72, 0xc8, 0x97, 0xc9, 0xd3, 0x66, 0x3f, 0x64, 0x5a, + 0xb3, 0x04, 0x1d, 0xcf, 0x3d, 0x9e, 0xe8, 0xf4, 0xc9, 0x2e, 0x89, 0x5b, + 0x76, 0x44, 0x41, 0x4d, +}; +static const struct drbg_kat_no_reseed kat248_t = { + 7, kat248_entropyin, kat248_nonce, kat248_persstr, + kat248_addin0, kat248_addin1, kat248_retbits +}; +static const struct drbg_kat kat248 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat248_t +}; + +static const unsigned char kat249_entropyin[] = { + 0x48, 0xbf, 0xce, 0xf7, 0xdb, 0xe6, 0x8d, 0x5e, 0x09, 0xdf, 0x38, 0xe9, + 0x7f, 0x89, 0x77, 0xe2, 0xa1, 0x50, 0x14, 0xbf, 0x75, 0x1f, 0x9e, 0x27, +}; +static const unsigned char kat249_nonce[] = { + 0xee, 0xa0, 0x3c, 0x6d, 0x77, 0x80, 0x2a, 0xa2, 0xc5, 0xd5, 0xe1, 0x29, + 0x36, 0x31, 0xe3, 0x9b, +}; +static const unsigned char kat249_persstr[] = {0}; +static const unsigned char kat249_addin0[] = {0}; +static const unsigned char kat249_addin1[] = {0}; +static const unsigned char kat249_retbits[] = { + 0xec, 0xdd, 0x8e, 0x7c, 0x78, 0x81, 0x94, 0x69, 0x82, 0xff, 0x3a, 0x11, + 0xa4, 0x3b, 0xd0, 0x20, 0xe9, 0x70, 0xa3, 0xb8, 0x90, 0x13, 0x87, 0xa1, + 0xcd, 0x3e, 0xb6, 0x3d, 0xf3, 0xfb, 0x51, 0x06, 0x60, 0xbc, 0x82, 0xa5, + 0xe0, 0x29, 0xbe, 0xee, 0x26, 0xb4, 0xcc, 0x5d, 0x89, 0x1f, 0xaf, 0xcf, + 0x5e, 0x42, 0xb6, 0xf4, 0xdc, 0x41, 0x49, 0x16, 0xfc, 0xd8, 0xb0, 0x5e, + 0xd3, 0xf4, 0xa6, 0x85, +}; +static const struct drbg_kat_no_reseed kat249_t = { + 8, kat249_entropyin, kat249_nonce, kat249_persstr, + kat249_addin0, kat249_addin1, kat249_retbits +}; +static const struct drbg_kat kat249 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat249_t +}; + +static const unsigned char kat250_entropyin[] = { + 0x5b, 0xe9, 0x61, 0x75, 0x4f, 0xe9, 0xe9, 0x72, 0x06, 0x35, 0x87, 0x5f, + 0xeb, 0x2f, 0x37, 0xc7, 0x4f, 0xb9, 0x62, 0x0e, 0x47, 0xb8, 0x81, 0x41, +}; +static const unsigned char kat250_nonce[] = { + 0x23, 0xd3, 0x5a, 0xac, 0xee, 0xfb, 0x41, 0x2a, 0x6f, 0xbd, 0x18, 0x7f, + 0x57, 0x87, 0xbc, 0x53, +}; +static const unsigned char kat250_persstr[] = {0}; +static const unsigned char kat250_addin0[] = {0}; +static const unsigned char kat250_addin1[] = {0}; +static const unsigned char kat250_retbits[] = { + 0x8a, 0x8e, 0x0e, 0x44, 0x3b, 0x8e, 0x94, 0x4d, 0x58, 0xc8, 0x40, 0x73, + 0x92, 0x29, 0x6a, 0x2c, 0x7f, 0xc4, 0xeb, 0x04, 0xfc, 0xb7, 0x2c, 0xc7, + 0xea, 0x99, 0x51, 0x35, 0x59, 0xc0, 0x91, 0x76, 0x61, 0xdb, 0x2e, 0xda, + 0x20, 0x9f, 0xbb, 0xed, 0x40, 0x00, 0x89, 0xe3, 0xfc, 0x48, 0xff, 0x69, + 0x90, 0xd9, 0x7c, 0x04, 0x1b, 0xb5, 0x75, 0x27, 0x92, 0xd1, 0x30, 0xa1, + 0x52, 0x57, 0xca, 0x44, +}; +static const struct drbg_kat_no_reseed kat250_t = { + 9, kat250_entropyin, kat250_nonce, kat250_persstr, + kat250_addin0, kat250_addin1, kat250_retbits +}; +static const struct drbg_kat kat250 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat250_t +}; + +static const unsigned char kat251_entropyin[] = { + 0x2a, 0x25, 0x35, 0xa5, 0xaf, 0xc9, 0xb1, 0x71, 0x75, 0x42, 0x92, 0x8a, + 0x3d, 0x35, 0xe9, 0x5a, 0x7f, 0x63, 0xb8, 0x77, 0xa8, 0x38, 0x8a, 0x09, +}; +static const unsigned char kat251_nonce[] = { + 0xab, 0x21, 0x7b, 0x02, 0x9a, 0x33, 0xf0, 0x56, 0x35, 0x30, 0xd3, 0x7f, + 0x4f, 0xbf, 0xf1, 0x0b, +}; +static const unsigned char kat251_persstr[] = {0}; +static const unsigned char kat251_addin0[] = {0}; +static const unsigned char kat251_addin1[] = {0}; +static const unsigned char kat251_retbits[] = { + 0x31, 0xa2, 0x10, 0x65, 0x55, 0x29, 0xfb, 0x46, 0xeb, 0x4e, 0x79, 0x97, + 0x10, 0xc6, 0x31, 0x92, 0xe3, 0x65, 0x6c, 0xb1, 0xea, 0x24, 0x04, 0x08, + 0x52, 0x7d, 0xf7, 0xfe, 0xf8, 0x2b, 0x30, 0x5c, 0x5f, 0xa9, 0x8a, 0x1d, + 0x82, 0x4f, 0x78, 0x30, 0xd8, 0x4a, 0x53, 0x64, 0x3c, 0xfb, 0x52, 0x51, + 0x76, 0x63, 0xd5, 0x16, 0x11, 0x5d, 0x45, 0x27, 0x2f, 0x59, 0x72, 0x24, + 0x0f, 0xe8, 0x48, 0x27, +}; +static const struct drbg_kat_no_reseed kat251_t = { + 10, kat251_entropyin, kat251_nonce, kat251_persstr, + kat251_addin0, kat251_addin1, kat251_retbits +}; +static const struct drbg_kat kat251 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat251_t +}; + +static const unsigned char kat252_entropyin[] = { + 0xff, 0xd8, 0xb1, 0x50, 0xb2, 0x87, 0xb3, 0xed, 0x9d, 0x01, 0x28, 0xdc, + 0xc8, 0xcc, 0x5d, 0xeb, 0x90, 0xbd, 0xa9, 0x8a, 0xca, 0x79, 0x14, 0x83, +}; +static const unsigned char kat252_nonce[] = { + 0xbc, 0x7b, 0x6a, 0x7f, 0xb0, 0x59, 0x2f, 0xda, 0x4a, 0xbc, 0x43, 0xee, + 0xee, 0x42, 0xb1, 0xf6, +}; +static const unsigned char kat252_persstr[] = {0}; +static const unsigned char kat252_addin0[] = {0}; +static const unsigned char kat252_addin1[] = {0}; +static const unsigned char kat252_retbits[] = { + 0x3f, 0xdb, 0x4f, 0xf8, 0x3c, 0x36, 0x2b, 0x76, 0xa8, 0x3b, 0x00, 0xa8, + 0x90, 0x5f, 0x2c, 0x05, 0x8b, 0xaf, 0xe8, 0xeb, 0xdf, 0xf8, 0xeb, 0x2e, + 0x5f, 0x53, 0xcb, 0x9c, 0xa5, 0xc8, 0x2e, 0x32, 0x17, 0xc2, 0xc6, 0x03, + 0x26, 0xb0, 0xbb, 0xa6, 0xc9, 0x1c, 0x44, 0x0a, 0x48, 0x52, 0xc7, 0x2c, + 0xd7, 0x33, 0x45, 0xc5, 0xe0, 0xd4, 0xcc, 0x2e, 0x15, 0x84, 0x01, 0x04, + 0x5a, 0x77, 0xe0, 0xf9, +}; +static const struct drbg_kat_no_reseed kat252_t = { + 11, kat252_entropyin, kat252_nonce, kat252_persstr, + kat252_addin0, kat252_addin1, kat252_retbits +}; +static const struct drbg_kat kat252 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat252_t +}; + +static const unsigned char kat253_entropyin[] = { + 0xcb, 0x33, 0xfc, 0x14, 0xf2, 0xb6, 0x94, 0x01, 0xb7, 0x8b, 0xbd, 0x78, + 0x1c, 0xbf, 0xe6, 0x58, 0x5f, 0x1e, 0x73, 0x64, 0x59, 0x00, 0x0c, 0x26, +}; +static const unsigned char kat253_nonce[] = { + 0x5a, 0x91, 0x4f, 0x81, 0xd6, 0x5b, 0x19, 0x7a, 0x5d, 0x89, 0x24, 0xfa, + 0x88, 0xfa, 0x9b, 0xa3, +}; +static const unsigned char kat253_persstr[] = {0}; +static const unsigned char kat253_addin0[] = {0}; +static const unsigned char kat253_addin1[] = {0}; +static const unsigned char kat253_retbits[] = { + 0x6c, 0x63, 0x20, 0x91, 0x88, 0x6e, 0x24, 0x26, 0x5d, 0x12, 0x3b, 0x5c, + 0x7f, 0xca, 0x06, 0x3d, 0x70, 0xdf, 0xea, 0x32, 0xc7, 0x78, 0x0a, 0xfa, + 0xab, 0x89, 0x5c, 0x10, 0xb5, 0x12, 0x62, 0xbc, 0x4d, 0x36, 0x3d, 0x21, + 0x65, 0x99, 0x83, 0x67, 0xc9, 0xa8, 0xa5, 0x16, 0x47, 0x6b, 0xc7, 0x63, + 0x99, 0x02, 0x41, 0xba, 0xf9, 0x2d, 0x6b, 0x87, 0xe4, 0xde, 0x62, 0x2d, + 0x40, 0x19, 0xdb, 0x6c, +}; +static const struct drbg_kat_no_reseed kat253_t = { + 12, kat253_entropyin, kat253_nonce, kat253_persstr, + kat253_addin0, kat253_addin1, kat253_retbits +}; +static const struct drbg_kat kat253 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat253_t +}; + +static const unsigned char kat254_entropyin[] = { + 0xc4, 0x57, 0xe7, 0xd1, 0xc6, 0x9b, 0x1a, 0x53, 0x00, 0xb4, 0x75, 0xef, + 0x80, 0x44, 0x1c, 0x40, 0x80, 0x0c, 0xd3, 0x76, 0x4e, 0x41, 0x4c, 0xe1, +}; +static const unsigned char kat254_nonce[] = { + 0x39, 0x33, 0xe4, 0x98, 0xa0, 0xf2, 0x0d, 0x3f, 0xcf, 0x05, 0xa3, 0xb8, + 0x2b, 0x67, 0xac, 0x6d, +}; +static const unsigned char kat254_persstr[] = {0}; +static const unsigned char kat254_addin0[] = {0}; +static const unsigned char kat254_addin1[] = {0}; +static const unsigned char kat254_retbits[] = { + 0x26, 0x89, 0x41, 0x9f, 0xa0, 0xf9, 0xb3, 0xa4, 0xc5, 0xe9, 0x6a, 0x71, + 0xf6, 0x76, 0xef, 0x7f, 0x76, 0x76, 0x7b, 0x51, 0xb3, 0xcd, 0x5c, 0xe8, + 0x37, 0xe9, 0xd8, 0x28, 0x6f, 0xa8, 0x37, 0xa5, 0xa3, 0x45, 0x66, 0x95, + 0xe3, 0xe9, 0xca, 0x93, 0x96, 0xe8, 0xd5, 0xb9, 0x47, 0x8a, 0x1e, 0x8c, + 0xdd, 0x5c, 0x31, 0xfb, 0xaa, 0x5e, 0x07, 0x43, 0xd2, 0x77, 0xfd, 0xf4, + 0xaf, 0xc7, 0x95, 0x9a, +}; +static const struct drbg_kat_no_reseed kat254_t = { + 13, kat254_entropyin, kat254_nonce, kat254_persstr, + kat254_addin0, kat254_addin1, kat254_retbits +}; +static const struct drbg_kat kat254 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat254_t +}; + +static const unsigned char kat255_entropyin[] = { + 0x49, 0xbc, 0x4a, 0xa4, 0xca, 0xba, 0x36, 0x42, 0x42, 0xdf, 0x51, 0x84, + 0x90, 0x9c, 0xe5, 0x88, 0xf2, 0x4a, 0x2d, 0xe3, 0x40, 0xe3, 0x30, 0x82, +}; +static const unsigned char kat255_nonce[] = { + 0x51, 0x01, 0xf0, 0x0a, 0xc1, 0x89, 0x9c, 0x9b, 0xa4, 0x5e, 0x92, 0x3e, + 0x07, 0x16, 0x64, 0x07, +}; +static const unsigned char kat255_persstr[] = {0}; +static const unsigned char kat255_addin0[] = {0}; +static const unsigned char kat255_addin1[] = {0}; +static const unsigned char kat255_retbits[] = { + 0x9b, 0x71, 0xe0, 0xa0, 0x9c, 0x39, 0x3e, 0xb0, 0xf0, 0x34, 0xa1, 0x2d, + 0x3a, 0xd1, 0x32, 0x0a, 0xc1, 0xca, 0x42, 0x2a, 0x82, 0x96, 0x7c, 0xc5, + 0x4d, 0x14, 0xed, 0x0e, 0x36, 0x42, 0x9a, 0xb2, 0xa0, 0xe8, 0xc6, 0x7a, + 0x5c, 0x7f, 0x60, 0xe5, 0x37, 0xe4, 0x10, 0xeb, 0x5f, 0xf0, 0x75, 0xb7, + 0xc6, 0x7a, 0xc4, 0x80, 0x52, 0x00, 0xa5, 0xab, 0x2f, 0xb6, 0x29, 0xb4, + 0x84, 0x60, 0xcc, 0xe4, +}; +static const struct drbg_kat_no_reseed kat255_t = { + 14, kat255_entropyin, kat255_nonce, kat255_persstr, + kat255_addin0, kat255_addin1, kat255_retbits +}; +static const struct drbg_kat kat255 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat255_t +}; + +static const unsigned char kat256_entropyin[] = { + 0x89, 0xd3, 0x2f, 0x3d, 0xe1, 0x67, 0xde, 0xbe, 0xdf, 0xc1, 0x43, 0xe4, + 0xda, 0x78, 0x9a, 0x5f, 0x83, 0x31, 0x2a, 0x9d, 0x42, 0x0c, 0x29, 0xd4, +}; +static const unsigned char kat256_nonce[] = { + 0x9a, 0xe3, 0xba, 0xb2, 0xd9, 0x65, 0xdb, 0xe9, 0x96, 0xa6, 0xc4, 0xc0, + 0xde, 0x28, 0x05, 0x01, +}; +static const unsigned char kat256_persstr[] = {0}; +static const unsigned char kat256_addin0[] = { + 0xd5, 0x16, 0x5f, 0xbf, 0x88, 0x50, 0xe2, 0xec, 0xfb, 0x46, 0x87, 0xaf, + 0x79, 0xdc, 0x62, 0x36, 0x1e, 0x75, 0x57, 0x70, 0x70, 0x51, 0xa1, 0x36, + 0x80, 0x47, 0x1e, 0xe1, 0x29, 0xf2, 0x84, 0xf9, +}; +static const unsigned char kat256_addin1[] = { + 0x85, 0x22, 0x56, 0xde, 0x34, 0x79, 0xdc, 0x86, 0xa3, 0xb4, 0xd4, 0x04, + 0xc2, 0x64, 0x7b, 0x74, 0xf5, 0xf8, 0xa1, 0xc0, 0x1b, 0x68, 0x1f, 0x1d, + 0x8e, 0xfd, 0xfe, 0xdc, 0x54, 0xc1, 0x0c, 0x07, +}; +static const unsigned char kat256_retbits[] = { + 0xb0, 0x39, 0x7e, 0xda, 0x1d, 0xaf, 0x45, 0x44, 0x10, 0x4f, 0x73, 0x04, + 0x01, 0xcb, 0xd1, 0xbe, 0x29, 0x98, 0x9c, 0xd2, 0x87, 0x97, 0xde, 0x2c, + 0x13, 0xcd, 0xbf, 0x18, 0x4f, 0x86, 0xc6, 0x37, 0x8f, 0x8d, 0xfa, 0x39, + 0x4e, 0x08, 0xd9, 0xa7, 0x1d, 0xe1, 0xf1, 0x63, 0x3b, 0x5b, 0x28, 0x36, + 0x3d, 0xf2, 0x16, 0x59, 0xce, 0x58, 0xb1, 0x25, 0x92, 0xe8, 0xee, 0x4f, + 0x55, 0xcb, 0x81, 0xac, +}; +static const struct drbg_kat_no_reseed kat256_t = { + 0, kat256_entropyin, kat256_nonce, kat256_persstr, + kat256_addin0, kat256_addin1, kat256_retbits +}; +static const struct drbg_kat kat256 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat256_t +}; + +static const unsigned char kat257_entropyin[] = { + 0xad, 0x3b, 0x6f, 0xa3, 0xd6, 0x32, 0xa4, 0x2f, 0x8c, 0x58, 0x0b, 0x59, + 0xfa, 0xf8, 0x82, 0xc0, 0x33, 0x8c, 0x5b, 0xb0, 0x44, 0xb8, 0x8f, 0x37, +}; +static const unsigned char kat257_nonce[] = { + 0xf9, 0x99, 0x66, 0xdb, 0x52, 0xa2, 0xf7, 0x27, 0x11, 0xb5, 0xaf, 0x10, + 0xef, 0xf4, 0x2f, 0xef, +}; +static const unsigned char kat257_persstr[] = {0}; +static const unsigned char kat257_addin0[] = { + 0xbe, 0xe5, 0x97, 0x4c, 0x34, 0x30, 0x2a, 0xee, 0xfe, 0x31, 0xc7, 0x32, + 0x59, 0x87, 0xc1, 0x58, 0xdf, 0x80, 0x38, 0xa2, 0x37, 0xef, 0x9e, 0xcb, + 0xb8, 0xfe, 0x74, 0xfe, 0xfb, 0xb3, 0xe2, 0x29, +}; +static const unsigned char kat257_addin1[] = { + 0x47, 0xb9, 0xbd, 0x9b, 0xab, 0xc4, 0x15, 0xaf, 0xaa, 0xed, 0xbb, 0x8a, + 0xc9, 0xeb, 0xf0, 0x2e, 0xb5, 0x81, 0xd1, 0xeb, 0x5f, 0xb0, 0xb7, 0xd4, + 0x34, 0x55, 0x84, 0x8d, 0x66, 0xce, 0xb5, 0x3b, +}; +static const unsigned char kat257_retbits[] = { + 0x75, 0x92, 0x2a, 0x7b, 0x19, 0x33, 0xf4, 0xbe, 0xc2, 0x75, 0xc1, 0x50, + 0xe2, 0xf9, 0x89, 0x37, 0x14, 0xcb, 0xa1, 0x19, 0xc5, 0xdf, 0x7d, 0xc2, + 0xcf, 0xaa, 0x96, 0x18, 0xf1, 0xeb, 0xa5, 0x4d, 0x68, 0xd5, 0x58, 0xe9, + 0x76, 0xce, 0x29, 0x2e, 0x4b, 0x9f, 0x83, 0x06, 0xf1, 0xd1, 0x75, 0x59, + 0x78, 0x04, 0x12, 0x24, 0x74, 0x80, 0x06, 0xbd, 0x57, 0x12, 0x31, 0x0f, + 0xd0, 0x85, 0xaf, 0xa0, +}; +static const struct drbg_kat_no_reseed kat257_t = { + 1, kat257_entropyin, kat257_nonce, kat257_persstr, + kat257_addin0, kat257_addin1, kat257_retbits +}; +static const struct drbg_kat kat257 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat257_t +}; + +static const unsigned char kat258_entropyin[] = { + 0x16, 0xd3, 0x99, 0xb5, 0x26, 0xa8, 0x37, 0x66, 0xb5, 0xf9, 0x35, 0xe4, + 0xc1, 0x23, 0x41, 0x98, 0x17, 0x24, 0xcd, 0x87, 0x24, 0x25, 0xd8, 0x59, +}; +static const unsigned char kat258_nonce[] = { + 0xc0, 0xf3, 0x83, 0x54, 0xae, 0x69, 0x68, 0x35, 0xf9, 0xc8, 0x56, 0x71, + 0x6f, 0x18, 0x6e, 0x4d, +}; +static const unsigned char kat258_persstr[] = {0}; +static const unsigned char kat258_addin0[] = { + 0x56, 0x94, 0x3f, 0x5e, 0xf7, 0xee, 0xa6, 0x6a, 0xf2, 0xec, 0x60, 0x7f, + 0xcf, 0xa2, 0xbd, 0x76, 0x69, 0x89, 0x9b, 0x6e, 0xce, 0x4c, 0xab, 0xac, + 0x8d, 0x6e, 0x7a, 0x08, 0x68, 0xbe, 0x42, 0x2b, +}; +static const unsigned char kat258_addin1[] = { + 0x2f, 0x7e, 0x74, 0x6e, 0x2d, 0x05, 0xcd, 0x1e, 0x52, 0x33, 0x39, 0x92, + 0x6e, 0x3e, 0x96, 0x56, 0x8f, 0x5d, 0x23, 0x1b, 0x80, 0xc2, 0x68, 0xf4, + 0x4b, 0x1d, 0xf9, 0x62, 0x22, 0x9e, 0x5b, 0x27, +}; +static const unsigned char kat258_retbits[] = { + 0x0b, 0xd1, 0xc4, 0x1c, 0x30, 0x28, 0x4f, 0xad, 0xa0, 0x9e, 0xb2, 0x44, + 0x7d, 0x56, 0x38, 0xa7, 0xa0, 0xb7, 0x3d, 0x99, 0xc6, 0x51, 0xed, 0xc5, + 0xb8, 0xaa, 0x15, 0xd4, 0xe9, 0x81, 0x40, 0x48, 0xd7, 0x9c, 0x52, 0x38, + 0x2b, 0xaa, 0x20, 0x3d, 0x3f, 0x72, 0x78, 0xf4, 0x86, 0x4d, 0x18, 0x36, + 0x65, 0x66, 0x24, 0x80, 0x06, 0x58, 0x7c, 0xf3, 0xf9, 0x02, 0x71, 0xc4, + 0x8c, 0x49, 0x3d, 0x5d, +}; +static const struct drbg_kat_no_reseed kat258_t = { + 2, kat258_entropyin, kat258_nonce, kat258_persstr, + kat258_addin0, kat258_addin1, kat258_retbits +}; +static const struct drbg_kat kat258 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat258_t +}; + +static const unsigned char kat259_entropyin[] = { + 0x8d, 0x2b, 0xcb, 0x66, 0xbd, 0x17, 0xe8, 0xb2, 0xe3, 0x6a, 0x2a, 0x5f, + 0xd1, 0xc1, 0xa0, 0x86, 0x1f, 0xe3, 0x4e, 0x1c, 0xb8, 0xf2, 0x21, 0x9b, +}; +static const unsigned char kat259_nonce[] = { + 0x86, 0x8c, 0x2b, 0xab, 0xe9, 0x69, 0xd7, 0x77, 0x6f, 0x92, 0x92, 0x97, + 0x95, 0xa9, 0x1e, 0xb7, +}; +static const unsigned char kat259_persstr[] = {0}; +static const unsigned char kat259_addin0[] = { + 0x46, 0x18, 0x36, 0x6b, 0x0d, 0x51, 0xf9, 0x09, 0x5f, 0xd8, 0x67, 0xfa, + 0x7a, 0x40, 0xe7, 0x73, 0x62, 0x94, 0xa9, 0x2f, 0xdc, 0xc5, 0xd0, 0xec, + 0xf2, 0x93, 0x04, 0x25, 0x66, 0x68, 0x34, 0x48, +}; +static const unsigned char kat259_addin1[] = { + 0xc4, 0x5c, 0x21, 0x8f, 0xc6, 0x48, 0xde, 0x1b, 0xfb, 0xaa, 0xa6, 0x3b, + 0xe0, 0x27, 0xaf, 0xa0, 0x8c, 0xde, 0x5c, 0x7d, 0x84, 0xa6, 0x29, 0xdb, + 0x9b, 0x54, 0xa2, 0x0c, 0xf6, 0x4c, 0x5a, 0x75, +}; +static const unsigned char kat259_retbits[] = { + 0xb8, 0x5b, 0x85, 0xcf, 0xf7, 0x18, 0x51, 0xce, 0x21, 0x1d, 0x4e, 0xb2, + 0xdc, 0x56, 0x9a, 0xc2, 0xd4, 0x3c, 0xcf, 0x52, 0xff, 0x71, 0xcc, 0x00, + 0x90, 0xed, 0x59, 0xc8, 0x7e, 0x78, 0x50, 0x61, 0xb9, 0x9f, 0x35, 0x2e, + 0x39, 0x8f, 0x61, 0xd2, 0x3d, 0xc0, 0xa1, 0x7e, 0x44, 0x76, 0xda, 0x39, + 0xc3, 0x1f, 0x7b, 0x81, 0x73, 0x8c, 0xaa, 0x61, 0x47, 0x53, 0x17, 0x36, + 0x3c, 0x20, 0x5a, 0xba, +}; +static const struct drbg_kat_no_reseed kat259_t = { + 3, kat259_entropyin, kat259_nonce, kat259_persstr, + kat259_addin0, kat259_addin1, kat259_retbits +}; +static const struct drbg_kat kat259 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat259_t +}; + +static const unsigned char kat260_entropyin[] = { + 0xf3, 0xca, 0x9e, 0xe3, 0x24, 0xcb, 0x01, 0x11, 0xd5, 0xec, 0x08, 0x1e, + 0xdf, 0x77, 0xd3, 0xfa, 0x0b, 0x77, 0x71, 0x8a, 0x87, 0xfb, 0xf4, 0xf5, +}; +static const unsigned char kat260_nonce[] = { + 0x98, 0xd1, 0x2b, 0xbe, 0x87, 0xe4, 0x76, 0x03, 0x7a, 0x5b, 0x24, 0x47, + 0x35, 0xd2, 0x10, 0x2a, +}; +static const unsigned char kat260_persstr[] = {0}; +static const unsigned char kat260_addin0[] = { + 0x19, 0x06, 0x9b, 0x8f, 0xb8, 0x14, 0x8a, 0xc0, 0x0c, 0xf6, 0x07, 0xcf, + 0xce, 0x76, 0xa9, 0x54, 0xf3, 0x12, 0x9c, 0x79, 0x75, 0x19, 0x6b, 0x8b, + 0x61, 0x28, 0xa3, 0x00, 0xce, 0x0d, 0xc0, 0xa7, +}; +static const unsigned char kat260_addin1[] = { + 0x4f, 0x07, 0x8d, 0xaa, 0xbd, 0x37, 0x76, 0x80, 0xea, 0xe1, 0x82, 0x30, + 0x74, 0xab, 0x0d, 0x40, 0xa6, 0x93, 0xd6, 0x81, 0x21, 0xbb, 0xa4, 0x29, + 0xde, 0xbd, 0xfe, 0x0f, 0x88, 0x37, 0x03, 0xdd, +}; +static const unsigned char kat260_retbits[] = { + 0x67, 0x28, 0x47, 0x2e, 0xbc, 0x52, 0xa8, 0x75, 0xb1, 0xa1, 0x63, 0x21, + 0x1c, 0x2b, 0x77, 0x1b, 0xdc, 0xa9, 0x9e, 0x03, 0xf0, 0xde, 0x54, 0xa6, + 0xf4, 0xa1, 0x41, 0xa7, 0x69, 0x1d, 0x6f, 0x96, 0x79, 0xf9, 0x63, 0xc2, + 0xfa, 0x37, 0x7f, 0x0a, 0xe4, 0x71, 0xec, 0xc4, 0x70, 0x76, 0x88, 0x18, + 0xab, 0x4e, 0x62, 0x77, 0x11, 0xa0, 0xf9, 0x88, 0xff, 0x97, 0x3e, 0x4b, + 0xce, 0x50, 0x1b, 0x69, +}; +static const struct drbg_kat_no_reseed kat260_t = { + 4, kat260_entropyin, kat260_nonce, kat260_persstr, + kat260_addin0, kat260_addin1, kat260_retbits +}; +static const struct drbg_kat kat260 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat260_t +}; + +static const unsigned char kat261_entropyin[] = { + 0x54, 0x47, 0x86, 0x8c, 0xd9, 0x25, 0x24, 0x23, 0xf0, 0x3c, 0xa3, 0xbd, + 0x8b, 0x0a, 0x45, 0x43, 0x35, 0xd3, 0x2e, 0xa5, 0x4f, 0xbd, 0x3e, 0xdb, +}; +static const unsigned char kat261_nonce[] = { + 0x64, 0xf2, 0xde, 0x76, 0x5d, 0x20, 0x28, 0xa8, 0xba, 0x06, 0xe6, 0xd2, + 0x04, 0xac, 0x4b, 0xc4, +}; +static const unsigned char kat261_persstr[] = {0}; +static const unsigned char kat261_addin0[] = { + 0x19, 0x1a, 0x39, 0xd6, 0x30, 0xd6, 0x6c, 0xa9, 0x46, 0x72, 0x0a, 0xef, + 0xe8, 0x0c, 0x94, 0xbf, 0xdd, 0x3e, 0x24, 0xdd, 0xa3, 0xe3, 0x7c, 0x41, + 0x4a, 0x93, 0xeb, 0xb7, 0x84, 0xd3, 0xe7, 0xc4, +}; +static const unsigned char kat261_addin1[] = { + 0x8b, 0x66, 0x4b, 0xa7, 0x4f, 0xd0, 0xbb, 0x50, 0x06, 0xed, 0xd3, 0x37, + 0xa1, 0xc4, 0xdb, 0xbf, 0xe7, 0x73, 0x90, 0x2e, 0x08, 0x4c, 0x55, 0x8b, + 0xa1, 0x45, 0xe8, 0xf8, 0xca, 0x34, 0x54, 0x87, +}; +static const unsigned char kat261_retbits[] = { + 0xce, 0x5f, 0x7a, 0x69, 0x68, 0xf3, 0xcf, 0x5f, 0xb0, 0x1e, 0x62, 0x08, + 0xa1, 0x65, 0x17, 0x20, 0xfe, 0x1e, 0x90, 0x76, 0x4d, 0xea, 0x46, 0x50, + 0x4e, 0x10, 0x6f, 0x13, 0xeb, 0xff, 0xf3, 0xd9, 0x79, 0x07, 0x2b, 0x6f, + 0x54, 0x59, 0x06, 0x9a, 0x77, 0x30, 0x03, 0xe3, 0xec, 0xa4, 0xee, 0x3b, + 0x73, 0x0a, 0xeb, 0xfe, 0x95, 0x7c, 0x0e, 0x68, 0x77, 0x4d, 0xdc, 0xb9, + 0x71, 0xbf, 0x46, 0x03, +}; +static const struct drbg_kat_no_reseed kat261_t = { + 5, kat261_entropyin, kat261_nonce, kat261_persstr, + kat261_addin0, kat261_addin1, kat261_retbits +}; +static const struct drbg_kat kat261 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat261_t +}; + +static const unsigned char kat262_entropyin[] = { + 0xe8, 0xd9, 0x3d, 0x86, 0xc3, 0xe9, 0x8d, 0xe6, 0x4f, 0x40, 0x80, 0xbb, + 0x64, 0x52, 0x05, 0x5c, 0xc7, 0xdb, 0x86, 0xd2, 0x5b, 0xb3, 0xa9, 0x23, +}; +static const unsigned char kat262_nonce[] = { + 0xa5, 0x44, 0x7f, 0x91, 0x15, 0x89, 0x1d, 0x48, 0x30, 0x37, 0xad, 0x4d, + 0xd4, 0xc2, 0x2a, 0x8a, +}; +static const unsigned char kat262_persstr[] = {0}; +static const unsigned char kat262_addin0[] = { + 0x56, 0xc6, 0xce, 0xa0, 0x19, 0x72, 0x73, 0x74, 0x21, 0xa0, 0x7c, 0xb2, + 0x0c, 0x79, 0xb8, 0xf7, 0x6b, 0x32, 0xa9, 0xe9, 0xfb, 0xbb, 0xe4, 0x6d, + 0xd7, 0x1f, 0x02, 0xc7, 0x2d, 0x1e, 0x45, 0x0a, +}; +static const unsigned char kat262_addin1[] = { + 0x96, 0x42, 0xc8, 0x21, 0x59, 0xc3, 0x6a, 0x48, 0xa2, 0x52, 0xcc, 0xfe, + 0xe6, 0x1c, 0x5c, 0x1c, 0xed, 0x6d, 0x3a, 0x04, 0x09, 0x9d, 0x98, 0xf9, + 0xdb, 0xe5, 0x34, 0x87, 0x7b, 0x80, 0xa9, 0x8f, +}; +static const unsigned char kat262_retbits[] = { + 0x18, 0x7f, 0x40, 0x48, 0x9f, 0x22, 0xf3, 0x55, 0x83, 0xe7, 0x58, 0x21, + 0xd6, 0x9f, 0x36, 0x9d, 0x12, 0x59, 0x35, 0x21, 0x71, 0xc5, 0x69, 0xf2, + 0xd8, 0xe9, 0xa1, 0x50, 0x97, 0x87, 0x6c, 0xe5, 0x26, 0x1b, 0x41, 0x74, + 0x53, 0x04, 0x69, 0x82, 0x9b, 0xa2, 0xc0, 0x01, 0x45, 0xcb, 0xf4, 0xd2, + 0xa1, 0x20, 0x5e, 0x91, 0x1c, 0x2c, 0x32, 0xd3, 0x3b, 0x5d, 0x67, 0x06, + 0x40, 0x97, 0x72, 0xd2, +}; +static const struct drbg_kat_no_reseed kat262_t = { + 6, kat262_entropyin, kat262_nonce, kat262_persstr, + kat262_addin0, kat262_addin1, kat262_retbits +}; +static const struct drbg_kat kat262 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat262_t +}; + +static const unsigned char kat263_entropyin[] = { + 0x59, 0xb9, 0xb4, 0xdf, 0x1b, 0xb4, 0xf7, 0x78, 0xea, 0x1a, 0x1b, 0xfc, + 0x41, 0x25, 0x5c, 0xc3, 0x25, 0xd6, 0xbf, 0x4f, 0xfc, 0x42, 0x8c, 0xe1, +}; +static const unsigned char kat263_nonce[] = { + 0xe0, 0xfb, 0x72, 0xdd, 0x71, 0xff, 0x3c, 0x2e, 0x07, 0x2f, 0x27, 0xd6, + 0x57, 0x26, 0x0d, 0xa2, +}; +static const unsigned char kat263_persstr[] = {0}; +static const unsigned char kat263_addin0[] = { + 0xcc, 0xfb, 0x64, 0xf4, 0x3f, 0x84, 0xf0, 0x3c, 0xd9, 0x8e, 0x1a, 0xa3, + 0x56, 0x6c, 0xa0, 0xc9, 0xb7, 0x43, 0x82, 0x04, 0xc8, 0xe6, 0x5a, 0x9c, + 0xb8, 0x22, 0x7e, 0x20, 0x11, 0xb9, 0xa7, 0x16, +}; +static const unsigned char kat263_addin1[] = { + 0x30, 0x64, 0xa3, 0x1a, 0x84, 0xc4, 0xea, 0xa6, 0x98, 0x0e, 0x6d, 0x41, + 0x2c, 0xd4, 0xf4, 0x19, 0x11, 0x4b, 0xf0, 0xe8, 0xb2, 0x27, 0x45, 0x6a, + 0x91, 0xda, 0x0f, 0xc0, 0xf7, 0xdc, 0xb7, 0x5f, +}; +static const unsigned char kat263_retbits[] = { + 0x7d, 0x48, 0x83, 0x6e, 0xd6, 0x57, 0x23, 0x1f, 0x62, 0x62, 0x7b, 0xa5, + 0x08, 0x97, 0xca, 0x8f, 0x37, 0x9f, 0x68, 0xd8, 0x6f, 0xab, 0xe2, 0x6c, + 0xaa, 0x7b, 0x44, 0x41, 0xcd, 0x2b, 0x6c, 0x2a, 0xd1, 0xda, 0xf4, 0xea, + 0xbc, 0x2c, 0x34, 0xb3, 0x96, 0x34, 0x00, 0xd2, 0x36, 0x11, 0x74, 0xee, + 0x22, 0x95, 0x2d, 0x6a, 0x28, 0xe8, 0x99, 0x37, 0xb2, 0x31, 0xc9, 0xbc, + 0x22, 0x8a, 0x78, 0xc5, +}; +static const struct drbg_kat_no_reseed kat263_t = { + 7, kat263_entropyin, kat263_nonce, kat263_persstr, + kat263_addin0, kat263_addin1, kat263_retbits +}; +static const struct drbg_kat kat263 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat263_t +}; + +static const unsigned char kat264_entropyin[] = { + 0x0d, 0x03, 0xee, 0x60, 0xbc, 0xa7, 0x23, 0x99, 0x9d, 0x49, 0x58, 0x9e, + 0xb6, 0xe4, 0x04, 0x2f, 0xf9, 0x7b, 0x22, 0x43, 0x3c, 0x81, 0x22, 0x42, +}; +static const unsigned char kat264_nonce[] = { + 0x8a, 0x2f, 0x6f, 0xc8, 0xd4, 0xc5, 0x4b, 0xf6, 0x85, 0x2b, 0x90, 0x2b, + 0xcf, 0x2c, 0x41, 0xec, +}; +static const unsigned char kat264_persstr[] = {0}; +static const unsigned char kat264_addin0[] = { + 0xcb, 0x26, 0x94, 0x41, 0x03, 0x5e, 0x07, 0x11, 0x01, 0xac, 0x8e, 0xfb, + 0x4e, 0xb7, 0xf9, 0xf1, 0xde, 0x21, 0x84, 0x77, 0x1e, 0xc0, 0xea, 0xc6, + 0x2d, 0x06, 0x92, 0xe6, 0x7b, 0xdf, 0x1f, 0xae, +}; +static const unsigned char kat264_addin1[] = { + 0x90, 0x5e, 0x3d, 0x9c, 0x18, 0x00, 0xe1, 0x36, 0x6b, 0xc7, 0x49, 0xa6, + 0x0d, 0x21, 0xce, 0x51, 0x8f, 0xde, 0xf2, 0xa3, 0x6f, 0x88, 0x0c, 0x26, + 0xc1, 0x52, 0x8f, 0x12, 0xdf, 0xfb, 0x91, 0x76, +}; +static const unsigned char kat264_retbits[] = { + 0xa4, 0xcb, 0x87, 0xde, 0x76, 0xb2, 0xeb, 0x39, 0x59, 0x9f, 0x68, 0x40, + 0x22, 0x93, 0xce, 0xe9, 0xc6, 0x1d, 0xc9, 0xdc, 0x12, 0x57, 0x78, 0x99, + 0x64, 0xa2, 0xac, 0xf0, 0xc3, 0x2f, 0x61, 0xc9, 0x07, 0x29, 0x4b, 0xde, + 0xca, 0x88, 0xb0, 0x5d, 0xaa, 0xe0, 0x75, 0x4d, 0x21, 0xf0, 0xc2, 0xb7, + 0x56, 0x97, 0xd8, 0x61, 0x42, 0x37, 0x4f, 0x96, 0x76, 0xdb, 0x34, 0x75, + 0x33, 0x71, 0xe6, 0x18, +}; +static const struct drbg_kat_no_reseed kat264_t = { + 8, kat264_entropyin, kat264_nonce, kat264_persstr, + kat264_addin0, kat264_addin1, kat264_retbits +}; +static const struct drbg_kat kat264 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat264_t +}; + +static const unsigned char kat265_entropyin[] = { + 0xb9, 0x5d, 0x8b, 0x26, 0x6a, 0xcc, 0xcd, 0x6c, 0xba, 0xc0, 0xc0, 0x61, + 0xec, 0x32, 0xa1, 0xea, 0x71, 0x1f, 0xfe, 0xc8, 0x00, 0x6b, 0xc7, 0xcc, +}; +static const unsigned char kat265_nonce[] = { + 0xbf, 0xa0, 0x84, 0x02, 0xc0, 0xc6, 0xb8, 0x7d, 0xec, 0xa2, 0x24, 0x6d, + 0x81, 0xf6, 0x7f, 0x58, +}; +static const unsigned char kat265_persstr[] = {0}; +static const unsigned char kat265_addin0[] = { + 0x72, 0xff, 0xd4, 0xa1, 0x83, 0x99, 0x0d, 0xac, 0x6b, 0xc7, 0xa9, 0x46, + 0x47, 0x14, 0x27, 0x59, 0xbf, 0x88, 0x1c, 0xc0, 0xb3, 0x17, 0x8f, 0x60, + 0xe0, 0xe2, 0xcb, 0xc3, 0x33, 0x79, 0xf7, 0xad, +}; +static const unsigned char kat265_addin1[] = { + 0x2e, 0x9f, 0xe4, 0xd1, 0xaf, 0x62, 0xb1, 0x5f, 0x85, 0x35, 0xe1, 0x98, + 0xaa, 0xd7, 0x93, 0x61, 0xe9, 0x46, 0x16, 0x41, 0x8e, 0xd2, 0xd8, 0x01, + 0xe7, 0x0f, 0xad, 0x9e, 0x0e, 0x9c, 0xa5, 0xb8, +}; +static const unsigned char kat265_retbits[] = { + 0x1b, 0x0d, 0x15, 0xfb, 0x4f, 0xcd, 0xca, 0x14, 0x97, 0xdc, 0xfe, 0x60, + 0xe7, 0xd8, 0x2b, 0xd0, 0x40, 0x1b, 0x16, 0x23, 0x36, 0x6a, 0x71, 0xcf, + 0x8f, 0xa5, 0x75, 0x4f, 0x87, 0x8e, 0x20, 0xd8, 0xf2, 0x54, 0x5b, 0xc3, + 0xd4, 0x1e, 0x79, 0x73, 0xae, 0x32, 0x90, 0x50, 0x6b, 0xa2, 0xa9, 0x76, + 0xb8, 0x3b, 0x7b, 0x98, 0xc7, 0x66, 0xd8, 0xec, 0x0c, 0x26, 0x4b, 0xe2, + 0x87, 0xee, 0x63, 0xf5, +}; +static const struct drbg_kat_no_reseed kat265_t = { + 9, kat265_entropyin, kat265_nonce, kat265_persstr, + kat265_addin0, kat265_addin1, kat265_retbits +}; +static const struct drbg_kat kat265 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat265_t +}; + +static const unsigned char kat266_entropyin[] = { + 0x6d, 0x30, 0x46, 0x58, 0x37, 0xa6, 0x1e, 0x49, 0xda, 0xc0, 0xfc, 0x84, + 0x48, 0xde, 0x3a, 0xfa, 0x2e, 0x22, 0xe0, 0x94, 0x28, 0x6a, 0x5a, 0xed, +}; +static const unsigned char kat266_nonce[] = { + 0x94, 0x18, 0xc0, 0x28, 0x70, 0xef, 0x4c, 0xd1, 0x19, 0xdd, 0xb6, 0x73, + 0xee, 0x69, 0x9d, 0xde, +}; +static const unsigned char kat266_persstr[] = {0}; +static const unsigned char kat266_addin0[] = { + 0xac, 0x32, 0x2e, 0xcf, 0xff, 0x1f, 0x73, 0x26, 0xa4, 0xf4, 0xcb, 0x33, + 0xc1, 0x76, 0xfe, 0x83, 0x1c, 0x0d, 0xdf, 0x37, 0x37, 0x69, 0xfd, 0xe6, + 0x1a, 0x42, 0x42, 0x6f, 0xe9, 0x9e, 0xa8, 0x49, +}; +static const unsigned char kat266_addin1[] = { + 0x5b, 0x70, 0x52, 0x49, 0x1c, 0x3f, 0x53, 0x6e, 0xcb, 0x91, 0xfd, 0x04, + 0x38, 0x0f, 0x9f, 0x03, 0x80, 0xa4, 0x15, 0xdc, 0xde, 0x60, 0x1a, 0x67, + 0x0a, 0x1e, 0xe6, 0xb8, 0xf2, 0x2e, 0x96, 0xda, +}; +static const unsigned char kat266_retbits[] = { + 0xdc, 0xa3, 0xfd, 0xae, 0xf8, 0xbf, 0xb2, 0xd0, 0x9b, 0xb9, 0x06, 0xab, + 0xcb, 0x21, 0x81, 0x8a, 0xa6, 0x6a, 0x06, 0x4e, 0x71, 0x18, 0xff, 0x3d, + 0xac, 0x55, 0x66, 0xca, 0x99, 0x1e, 0xbb, 0x37, 0x33, 0x82, 0x41, 0xe0, + 0xc8, 0x29, 0x76, 0x8f, 0x71, 0x5e, 0x4c, 0x2f, 0x11, 0x57, 0xeb, 0x0a, + 0xc4, 0x73, 0xba, 0xd8, 0x6b, 0x05, 0x13, 0xb6, 0x48, 0x54, 0xf3, 0xed, + 0x8d, 0xa4, 0x83, 0x28, +}; +static const struct drbg_kat_no_reseed kat266_t = { + 10, kat266_entropyin, kat266_nonce, kat266_persstr, + kat266_addin0, kat266_addin1, kat266_retbits +}; +static const struct drbg_kat kat266 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat266_t +}; + +static const unsigned char kat267_entropyin[] = { + 0xc6, 0x83, 0x21, 0x3a, 0x47, 0x37, 0x5e, 0x29, 0x75, 0xd3, 0x00, 0x4b, + 0xcd, 0x6f, 0xb4, 0xaa, 0xb6, 0x55, 0x31, 0xc7, 0x52, 0x93, 0x1d, 0x6b, +}; +static const unsigned char kat267_nonce[] = { + 0x11, 0xf2, 0x78, 0xb8, 0x64, 0x4f, 0x52, 0xa0, 0xa4, 0x07, 0x41, 0x64, + 0x09, 0x7d, 0xe4, 0x58, +}; +static const unsigned char kat267_persstr[] = {0}; +static const unsigned char kat267_addin0[] = { + 0x37, 0xc0, 0x65, 0x5e, 0xa6, 0xc2, 0x0e, 0xc4, 0x3c, 0x58, 0x85, 0x5b, + 0xe3, 0x14, 0xaf, 0xde, 0x29, 0x32, 0x4a, 0x81, 0x86, 0xae, 0x9c, 0x08, + 0xc8, 0xad, 0x4d, 0x85, 0x70, 0x08, 0x1a, 0x72, +}; +static const unsigned char kat267_addin1[] = { + 0xc3, 0x9b, 0xc5, 0x60, 0xc7, 0x1a, 0xa5, 0xcd, 0xf2, 0xa0, 0xec, 0xa0, + 0xff, 0xa4, 0xfb, 0x56, 0x2c, 0xab, 0x13, 0x79, 0xbc, 0x90, 0x43, 0x25, + 0x9e, 0xf8, 0x93, 0x44, 0x36, 0x14, 0x23, 0x23, +}; +static const unsigned char kat267_retbits[] = { + 0x7a, 0xf8, 0xcd, 0xc7, 0x05, 0xcb, 0x06, 0xc4, 0x08, 0xf7, 0x89, 0xb5, + 0xa0, 0xd6, 0x77, 0xe6, 0x6f, 0xb3, 0x2b, 0xc7, 0xa5, 0x78, 0xc4, 0xcd, + 0x6d, 0xe3, 0x42, 0x02, 0xf1, 0x7a, 0x88, 0xd9, 0x1a, 0x23, 0x85, 0x74, + 0x66, 0x64, 0x49, 0xc4, 0x05, 0x9f, 0x2b, 0xdf, 0x59, 0x35, 0x57, 0xfb, + 0x78, 0xd0, 0x77, 0x95, 0x37, 0x16, 0x46, 0xf0, 0x3c, 0xf3, 0x85, 0xf3, + 0x05, 0x8b, 0x1d, 0x78, +}; +static const struct drbg_kat_no_reseed kat267_t = { + 11, kat267_entropyin, kat267_nonce, kat267_persstr, + kat267_addin0, kat267_addin1, kat267_retbits +}; +static const struct drbg_kat kat267 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat267_t +}; + +static const unsigned char kat268_entropyin[] = { + 0x8b, 0xd5, 0xa5, 0x95, 0x22, 0x83, 0x77, 0x67, 0xfb, 0xc7, 0x83, 0xca, + 0xa9, 0xa7, 0xfe, 0xec, 0x68, 0xdf, 0x13, 0x56, 0x16, 0xe9, 0x88, 0x78, +}; +static const unsigned char kat268_nonce[] = { + 0x14, 0xaa, 0xa4, 0x14, 0xad, 0xe4, 0x8e, 0x33, 0xac, 0x5b, 0x44, 0x3b, + 0x94, 0xa9, 0xf1, 0xac, +}; +static const unsigned char kat268_persstr[] = {0}; +static const unsigned char kat268_addin0[] = { + 0x23, 0x3b, 0x1e, 0x2c, 0x23, 0x0c, 0xea, 0xba, 0xf8, 0x8e, 0xc1, 0xba, + 0x30, 0xef, 0xb7, 0x2e, 0x35, 0xcb, 0xf9, 0x9f, 0xdc, 0x92, 0x59, 0x51, + 0x40, 0x19, 0xbc, 0x96, 0xf6, 0xee, 0xcb, 0xde, +}; +static const unsigned char kat268_addin1[] = { + 0xf8, 0xb1, 0x99, 0x22, 0xb8, 0x89, 0x61, 0x75, 0xad, 0xa1, 0x15, 0x24, + 0xb9, 0x8f, 0xff, 0xc1, 0x15, 0x9f, 0x14, 0x56, 0xdd, 0x7a, 0xa6, 0x57, + 0xb7, 0x54, 0x7f, 0x0b, 0xf9, 0xe4, 0xfd, 0xe4, +}; +static const unsigned char kat268_retbits[] = { + 0x49, 0x4a, 0x5d, 0x31, 0xa5, 0x8a, 0x50, 0xf5, 0x06, 0x82, 0x52, 0x79, + 0xb2, 0x48, 0x83, 0x59, 0x14, 0x08, 0x1d, 0xdc, 0xcd, 0x63, 0x80, 0x67, + 0xdf, 0x0e, 0x2d, 0x3c, 0x62, 0x00, 0x8a, 0x4f, 0x10, 0x8c, 0x81, 0x91, + 0x59, 0x00, 0x0b, 0xc0, 0xd0, 0xc7, 0x51, 0x5d, 0xbe, 0x48, 0x8c, 0x3d, + 0xc6, 0xca, 0x3f, 0x28, 0x78, 0xca, 0x58, 0x96, 0xb1, 0x33, 0x50, 0x98, + 0x5e, 0xd7, 0x60, 0x2d, +}; +static const struct drbg_kat_no_reseed kat268_t = { + 12, kat268_entropyin, kat268_nonce, kat268_persstr, + kat268_addin0, kat268_addin1, kat268_retbits +}; +static const struct drbg_kat kat268 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat268_t +}; + +static const unsigned char kat269_entropyin[] = { + 0x97, 0xfe, 0xf1, 0xc3, 0x6e, 0x3c, 0xab, 0x72, 0xd5, 0x04, 0x3e, 0x41, + 0x6c, 0xb1, 0x57, 0x06, 0xd6, 0xd7, 0x6e, 0xc5, 0x01, 0x64, 0x51, 0xe2, +}; +static const unsigned char kat269_nonce[] = { + 0xaa, 0x86, 0x57, 0x62, 0xb8, 0x01, 0x65, 0xe2, 0x39, 0xed, 0x79, 0x51, + 0xb0, 0x56, 0xc7, 0x70, +}; +static const unsigned char kat269_persstr[] = {0}; +static const unsigned char kat269_addin0[] = { + 0x41, 0x89, 0x07, 0xa2, 0x53, 0x32, 0xb9, 0xd2, 0x42, 0xbb, 0x18, 0x77, + 0x5f, 0xdc, 0xb0, 0xb4, 0xf2, 0xec, 0x98, 0x11, 0x75, 0x0e, 0x05, 0x1f, + 0x96, 0xe3, 0xd6, 0xd2, 0x52, 0xeb, 0x87, 0xde, +}; +static const unsigned char kat269_addin1[] = { + 0x57, 0x4b, 0x64, 0x27, 0x93, 0x94, 0x23, 0x4f, 0xe5, 0x9a, 0x14, 0xcb, + 0xc9, 0x40, 0x4a, 0x0b, 0xc1, 0x46, 0x9e, 0x6d, 0x18, 0x1e, 0xeb, 0x4e, + 0x74, 0x14, 0xa4, 0xa6, 0xde, 0x0b, 0xab, 0x7d, +}; +static const unsigned char kat269_retbits[] = { + 0x8c, 0x6b, 0x47, 0x5b, 0xac, 0xf9, 0x33, 0xc0, 0xf7, 0xa0, 0x7c, 0x88, + 0xa5, 0x28, 0xfe, 0xef, 0xc9, 0x52, 0xb9, 0x55, 0x31, 0x05, 0xb2, 0x0a, + 0x17, 0xe3, 0xba, 0xd3, 0x93, 0x9e, 0x94, 0x32, 0x0f, 0xa8, 0xe2, 0x80, + 0xfc, 0x54, 0xb4, 0x85, 0xd4, 0xcf, 0xe7, 0x94, 0x08, 0x1c, 0x05, 0x4e, + 0xe8, 0xe7, 0xc2, 0x4c, 0x65, 0xf6, 0xbb, 0x95, 0xd8, 0x82, 0x72, 0x87, + 0x4d, 0x2a, 0x04, 0x2f, +}; +static const struct drbg_kat_no_reseed kat269_t = { + 13, kat269_entropyin, kat269_nonce, kat269_persstr, + kat269_addin0, kat269_addin1, kat269_retbits +}; +static const struct drbg_kat kat269 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat269_t +}; + +static const unsigned char kat270_entropyin[] = { + 0x54, 0x32, 0xa3, 0x40, 0x20, 0x56, 0x25, 0xc2, 0x0a, 0xfd, 0xd4, 0x2e, + 0xcd, 0x54, 0xe8, 0xd6, 0xef, 0x80, 0xb2, 0x9c, 0x73, 0xf6, 0x2d, 0xba, +}; +static const unsigned char kat270_nonce[] = { + 0xb8, 0xfb, 0x44, 0x40, 0xd8, 0x95, 0x54, 0x99, 0xcd, 0xad, 0x97, 0xb9, + 0xb0, 0xe3, 0x3f, 0x63, +}; +static const unsigned char kat270_persstr[] = {0}; +static const unsigned char kat270_addin0[] = { + 0x9a, 0x53, 0x54, 0x10, 0x62, 0x6b, 0x87, 0x2d, 0xa5, 0x06, 0x43, 0x19, + 0xdb, 0x92, 0x1d, 0x9f, 0xa0, 0x15, 0xa6, 0x75, 0x48, 0xf1, 0x2e, 0x8a, + 0xf2, 0xb1, 0x55, 0x13, 0x0a, 0xb6, 0x32, 0xd0, +}; +static const unsigned char kat270_addin1[] = { + 0x3a, 0x12, 0x51, 0x9f, 0x49, 0x7a, 0x8c, 0x3a, 0xf0, 0xf3, 0x5f, 0xdf, + 0xe4, 0xaa, 0x47, 0xfe, 0xf0, 0x39, 0x56, 0x3c, 0x03, 0x8c, 0x52, 0xaa, + 0x4e, 0xe4, 0xce, 0xcd, 0x05, 0x5f, 0x1b, 0xb6, +}; +static const unsigned char kat270_retbits[] = { + 0x57, 0x01, 0xe2, 0xee, 0x57, 0x46, 0x84, 0xc8, 0x55, 0xd4, 0x03, 0xe5, + 0xa6, 0x1b, 0x13, 0x2c, 0x21, 0x1e, 0x64, 0x6f, 0xf5, 0xed, 0x41, 0xcf, + 0xcb, 0x81, 0xf7, 0x9b, 0xdd, 0x86, 0x7e, 0xf5, 0xcd, 0xa7, 0xf0, 0xba, + 0x57, 0x99, 0xf9, 0x3c, 0x07, 0xf4, 0xb5, 0x58, 0x8c, 0x34, 0xd4, 0x33, + 0xdf, 0x93, 0x35, 0x01, 0x0f, 0xb6, 0x01, 0x10, 0x91, 0x17, 0x7f, 0x5e, + 0x0a, 0x7c, 0xed, 0xe7, +}; +static const struct drbg_kat_no_reseed kat270_t = { + 14, kat270_entropyin, kat270_nonce, kat270_persstr, + kat270_addin0, kat270_addin1, kat270_retbits +}; +static const struct drbg_kat kat270 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat270_t +}; + +static const unsigned char kat271_entropyin[] = { + 0xeb, 0x45, 0x53, 0xf7, 0x14, 0x1b, 0xc1, 0x08, 0x82, 0xf0, 0xa3, 0x74, + 0x17, 0x80, 0xa4, 0x2d, 0xf8, 0xbc, 0x38, 0xa7, 0x12, 0x1d, 0x3b, 0x7e, +}; +static const unsigned char kat271_nonce[] = { + 0x6f, 0x34, 0x7f, 0x9c, 0x1d, 0xe8, 0x4f, 0xd5, 0x34, 0x16, 0x25, 0xae, + 0x8d, 0x6b, 0xf5, 0x0c, +}; +static const unsigned char kat271_persstr[] = { + 0x5e, 0x2e, 0x73, 0xb8, 0x6c, 0xa2, 0xf3, 0x15, 0x0d, 0x53, 0xd2, 0x3d, + 0x59, 0x0a, 0xcb, 0xee, 0xda, 0xaf, 0x91, 0x63, 0x8b, 0xdc, 0x3f, 0x9d, + 0x58, 0x8e, 0x94, 0x5a, 0xf4, 0xbb, 0x6e, 0xa2, +}; +static const unsigned char kat271_addin0[] = {0}; +static const unsigned char kat271_addin1[] = {0}; +static const unsigned char kat271_retbits[] = { + 0xa1, 0xde, 0xb9, 0xa5, 0xaa, 0xd6, 0x08, 0xa5, 0x87, 0xd6, 0x1c, 0xe5, + 0xe0, 0xd7, 0xc7, 0xdd, 0x44, 0x9b, 0x8c, 0x87, 0x89, 0x83, 0x54, 0xad, + 0x1a, 0xdd, 0x6e, 0x05, 0x85, 0x38, 0x73, 0xd2, 0x79, 0xeb, 0xe4, 0x13, + 0x2f, 0xc2, 0x36, 0xa4, 0x2d, 0x8f, 0xf0, 0xdc, 0x3a, 0xce, 0x95, 0xd2, + 0xcd, 0xf9, 0xd0, 0xb0, 0x57, 0x11, 0x7c, 0xb1, 0x19, 0xee, 0x75, 0x50, + 0xce, 0x03, 0x08, 0x5c, +}; +static const struct drbg_kat_no_reseed kat271_t = { + 0, kat271_entropyin, kat271_nonce, kat271_persstr, + kat271_addin0, kat271_addin1, kat271_retbits +}; +static const struct drbg_kat kat271 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat271_t +}; + +static const unsigned char kat272_entropyin[] = { + 0xf9, 0xce, 0x2d, 0x06, 0x49, 0xbc, 0x99, 0x28, 0x8a, 0xf1, 0x5f, 0xdf, + 0xbc, 0x3d, 0xb8, 0x89, 0x56, 0xd9, 0x6c, 0x84, 0xc0, 0xd7, 0xe5, 0xd2, +}; +static const unsigned char kat272_nonce[] = { + 0x8c, 0xf0, 0x0c, 0x63, 0x7a, 0x07, 0x9a, 0x98, 0x36, 0x2e, 0xad, 0x51, + 0x14, 0x9e, 0x55, 0x67, +}; +static const unsigned char kat272_persstr[] = { + 0xb2, 0x44, 0xd6, 0x8a, 0x9b, 0x30, 0xf3, 0xac, 0x88, 0x04, 0x0d, 0x64, + 0x58, 0xa6, 0x25, 0x08, 0x00, 0x20, 0x53, 0x53, 0x41, 0x53, 0x3b, 0xe2, + 0x70, 0xe8, 0x94, 0x00, 0x2c, 0x07, 0x69, 0x7d, +}; +static const unsigned char kat272_addin0[] = {0}; +static const unsigned char kat272_addin1[] = {0}; +static const unsigned char kat272_retbits[] = { + 0x28, 0x51, 0x19, 0x2f, 0xd3, 0xb3, 0x73, 0x51, 0xd0, 0x51, 0x10, 0x97, + 0x43, 0x88, 0xec, 0xe0, 0x11, 0xd1, 0x0e, 0x7b, 0x9d, 0x38, 0x01, 0x40, + 0x29, 0x10, 0x48, 0xce, 0x36, 0x72, 0xc1, 0x34, 0xbc, 0xb4, 0xa0, 0xcd, + 0x07, 0x4f, 0xff, 0xf3, 0x89, 0xa0, 0x2a, 0xf5, 0x9c, 0x52, 0x26, 0xbe, + 0x02, 0x53, 0xe7, 0xb7, 0x40, 0x0e, 0x63, 0x44, 0xb1, 0xa0, 0xd0, 0xd1, + 0x45, 0xff, 0x36, 0x6c, +}; +static const struct drbg_kat_no_reseed kat272_t = { + 1, kat272_entropyin, kat272_nonce, kat272_persstr, + kat272_addin0, kat272_addin1, kat272_retbits +}; +static const struct drbg_kat kat272 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat272_t +}; + +static const unsigned char kat273_entropyin[] = { + 0x61, 0x8a, 0xb7, 0xda, 0x12, 0xa5, 0x83, 0x9b, 0x4d, 0x80, 0x8b, 0xc2, + 0x7c, 0xd5, 0xd3, 0x25, 0x00, 0x00, 0x78, 0x14, 0xa5, 0x4e, 0x5d, 0xe0, +}; +static const unsigned char kat273_nonce[] = { + 0xc3, 0xef, 0xab, 0x85, 0x7f, 0x1f, 0xeb, 0x04, 0x9e, 0xe0, 0x60, 0xba, + 0x76, 0x0f, 0x17, 0xe0, +}; +static const unsigned char kat273_persstr[] = { + 0x33, 0xc6, 0xaf, 0x4e, 0x26, 0x4f, 0x0d, 0x19, 0xc3, 0x61, 0xec, 0xec, + 0xf8, 0x9b, 0xd7, 0x86, 0x9f, 0xb0, 0xaf, 0x7f, 0x9b, 0x39, 0x15, 0x9c, + 0x0f, 0xab, 0xe0, 0x81, 0x14, 0x31, 0xe6, 0x2c, +}; +static const unsigned char kat273_addin0[] = {0}; +static const unsigned char kat273_addin1[] = {0}; +static const unsigned char kat273_retbits[] = { + 0x1d, 0x74, 0xba, 0x44, 0xea, 0xdb, 0xae, 0x17, 0x6a, 0x0a, 0x87, 0x06, + 0x22, 0x17, 0x5e, 0x4b, 0x0e, 0xe4, 0xe4, 0x35, 0x2f, 0x8c, 0x2e, 0xe1, + 0x95, 0x53, 0xdc, 0xb2, 0x10, 0x0f, 0x8e, 0x2f, 0x13, 0x2d, 0xfd, 0x4f, + 0x4c, 0xad, 0x5e, 0x01, 0xe3, 0xb7, 0x02, 0x22, 0x89, 0x02, 0xdc, 0xbe, + 0xe5, 0xaf, 0xd5, 0x39, 0x09, 0x39, 0xc3, 0x61, 0x88, 0x2a, 0x0b, 0x67, + 0x9d, 0xc2, 0xcd, 0x69, +}; +static const struct drbg_kat_no_reseed kat273_t = { + 2, kat273_entropyin, kat273_nonce, kat273_persstr, + kat273_addin0, kat273_addin1, kat273_retbits +}; +static const struct drbg_kat kat273 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat273_t +}; + +static const unsigned char kat274_entropyin[] = { + 0x7d, 0xf2, 0xa3, 0xc0, 0xbd, 0x95, 0xc6, 0xba, 0x88, 0x73, 0xd6, 0xa5, + 0xad, 0x5d, 0xbf, 0x0e, 0x06, 0x9d, 0xa3, 0xcd, 0xe1, 0xe3, 0x94, 0x3d, +}; +static const unsigned char kat274_nonce[] = { + 0xfa, 0x28, 0x22, 0x4a, 0x89, 0x49, 0x13, 0x4e, 0x28, 0x50, 0xc5, 0x2a, + 0x28, 0x57, 0x6f, 0x65, +}; +static const unsigned char kat274_persstr[] = { + 0xe2, 0xde, 0xa1, 0x5d, 0x8d, 0x3a, 0xee, 0xd8, 0x7f, 0xf4, 0x5e, 0x79, + 0xa4, 0xa7, 0x60, 0xa8, 0x96, 0x83, 0xdc, 0xf8, 0x2c, 0xfe, 0x35, 0x64, + 0x67, 0xaf, 0xfc, 0x44, 0x59, 0x2e, 0x2b, 0xf5, +}; +static const unsigned char kat274_addin0[] = {0}; +static const unsigned char kat274_addin1[] = {0}; +static const unsigned char kat274_retbits[] = { + 0x3c, 0x48, 0x82, 0x3f, 0x45, 0x28, 0xb3, 0x96, 0xc8, 0x66, 0x74, 0x07, + 0xcb, 0x88, 0x46, 0xa2, 0x29, 0x52, 0x7d, 0x95, 0x89, 0xf1, 0xce, 0xb2, + 0xfe, 0xe6, 0x40, 0xa8, 0x3f, 0x93, 0x32, 0x71, 0x07, 0xc4, 0xc9, 0x91, + 0xc2, 0xc8, 0xba, 0x3e, 0xe8, 0x18, 0x53, 0x14, 0x0a, 0x34, 0x8c, 0x1c, + 0xa5, 0xce, 0x26, 0x4e, 0xf7, 0x5d, 0xb4, 0x95, 0x67, 0x94, 0x26, 0x8c, + 0x55, 0x38, 0x10, 0x1f, +}; +static const struct drbg_kat_no_reseed kat274_t = { + 3, kat274_entropyin, kat274_nonce, kat274_persstr, + kat274_addin0, kat274_addin1, kat274_retbits +}; +static const struct drbg_kat kat274 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat274_t +}; + +static const unsigned char kat275_entropyin[] = { + 0x2d, 0x8a, 0x1a, 0x3a, 0x6a, 0x77, 0xe3, 0xcd, 0x46, 0x40, 0xa0, 0x78, + 0x0f, 0x59, 0xcb, 0x97, 0x5f, 0x81, 0xc2, 0x73, 0x3a, 0xd7, 0xf4, 0x98, +}; +static const unsigned char kat275_nonce[] = { + 0x50, 0xfc, 0x6b, 0xcc, 0x7e, 0xcb, 0xdb, 0x3d, 0x57, 0xbe, 0xab, 0x7e, + 0x28, 0xa4, 0x9b, 0xc0, +}; +static const unsigned char kat275_persstr[] = { + 0x95, 0xf9, 0xc3, 0x56, 0x3b, 0x53, 0x5e, 0x69, 0xa4, 0x91, 0x34, 0xc3, + 0x36, 0xcb, 0x80, 0xfa, 0x9a, 0xd9, 0x51, 0x08, 0xc7, 0x56, 0xea, 0x26, + 0x1f, 0x5b, 0x3a, 0xe9, 0xcb, 0xaf, 0xd4, 0x1b, +}; +static const unsigned char kat275_addin0[] = {0}; +static const unsigned char kat275_addin1[] = {0}; +static const unsigned char kat275_retbits[] = { + 0x86, 0x87, 0x1f, 0x9c, 0xb6, 0xb4, 0xed, 0x25, 0x2b, 0xd1, 0xe8, 0x68, + 0xc8, 0x0a, 0x26, 0x3e, 0x02, 0x5b, 0xba, 0xe2, 0x28, 0x5c, 0xca, 0x59, + 0xc6, 0x29, 0x98, 0x27, 0x32, 0xa5, 0x06, 0x3e, 0x5c, 0xbd, 0xa2, 0x76, + 0xf2, 0x82, 0xfd, 0xaa, 0x90, 0xae, 0xf8, 0xec, 0x6d, 0xd3, 0x1d, 0x32, + 0xb7, 0x04, 0xde, 0x50, 0x28, 0xdd, 0xd3, 0x2e, 0x22, 0xde, 0x36, 0x80, + 0x08, 0x6f, 0x9a, 0x89, +}; +static const struct drbg_kat_no_reseed kat275_t = { + 4, kat275_entropyin, kat275_nonce, kat275_persstr, + kat275_addin0, kat275_addin1, kat275_retbits +}; +static const struct drbg_kat kat275 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat275_t +}; + +static const unsigned char kat276_entropyin[] = { + 0x13, 0x35, 0x24, 0xed, 0xab, 0xd5, 0xa7, 0xf7, 0x85, 0x8c, 0x13, 0xf2, + 0x79, 0x53, 0xe9, 0x87, 0x28, 0x3c, 0xb1, 0x72, 0xa2, 0xc3, 0x7f, 0x17, +}; +static const unsigned char kat276_nonce[] = { + 0x5e, 0x6c, 0xb7, 0xf7, 0xc9, 0x8e, 0xe1, 0x3f, 0x46, 0x7d, 0x6b, 0xda, + 0x28, 0x8b, 0x57, 0x7e, +}; +static const unsigned char kat276_persstr[] = { + 0x67, 0xd3, 0x91, 0x60, 0xcc, 0xee, 0x30, 0x40, 0xdb, 0x78, 0x20, 0xa3, + 0x7a, 0xef, 0xb7, 0xd4, 0xa1, 0x0f, 0x7d, 0xcd, 0xf3, 0xbc, 0xa6, 0x69, + 0xfe, 0x23, 0x5d, 0xb6, 0x3a, 0xb2, 0x47, 0x60, +}; +static const unsigned char kat276_addin0[] = {0}; +static const unsigned char kat276_addin1[] = {0}; +static const unsigned char kat276_retbits[] = { + 0x2d, 0x13, 0xee, 0x8b, 0x73, 0xd5, 0x18, 0xb0, 0xaf, 0xbf, 0x4e, 0x1e, + 0xa6, 0xf6, 0x32, 0x00, 0x6b, 0xa5, 0x6e, 0x3f, 0x4e, 0x24, 0xa2, 0x1f, + 0x68, 0x77, 0xed, 0x0f, 0x79, 0xc3, 0xec, 0x7f, 0xfd, 0x19, 0xce, 0x81, + 0xbb, 0x17, 0x0b, 0x3a, 0xa9, 0x0d, 0xf6, 0x97, 0xf5, 0xcd, 0x98, 0x72, + 0xcc, 0xb3, 0xd1, 0xe3, 0x38, 0x94, 0xdd, 0x16, 0xc6, 0xf5, 0xcf, 0x2f, + 0xb1, 0x07, 0xae, 0xdd, +}; +static const struct drbg_kat_no_reseed kat276_t = { + 5, kat276_entropyin, kat276_nonce, kat276_persstr, + kat276_addin0, kat276_addin1, kat276_retbits +}; +static const struct drbg_kat kat276 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat276_t +}; + +static const unsigned char kat277_entropyin[] = { + 0xf2, 0x97, 0x47, 0x4b, 0x5b, 0x7e, 0x68, 0xd5, 0xae, 0xa9, 0x48, 0xf7, + 0x51, 0xbc, 0x89, 0x9b, 0x36, 0xc2, 0x12, 0x63, 0x6f, 0x28, 0x8b, 0x84, +}; +static const unsigned char kat277_nonce[] = { + 0xb8, 0xa6, 0x0d, 0xd7, 0x26, 0xa0, 0x3f, 0xd0, 0xd2, 0xbf, 0x19, 0x5d, + 0x2c, 0xb0, 0x9a, 0x03, +}; +static const unsigned char kat277_persstr[] = { + 0x8e, 0x32, 0xdb, 0x43, 0x66, 0x90, 0x7a, 0xbb, 0x98, 0xc0, 0xe0, 0x9c, + 0x53, 0x60, 0xc5, 0x6f, 0xdb, 0x6f, 0x48, 0x3c, 0x84, 0xe6, 0x06, 0xf0, + 0x7f, 0x5d, 0x1d, 0x45, 0xa0, 0x93, 0x46, 0xca, +}; +static const unsigned char kat277_addin0[] = {0}; +static const unsigned char kat277_addin1[] = {0}; +static const unsigned char kat277_retbits[] = { + 0x92, 0x08, 0x90, 0x94, 0xa8, 0x9f, 0xb5, 0x32, 0xf0, 0x68, 0xa8, 0x63, + 0x0f, 0xa9, 0x47, 0xb8, 0xf8, 0x6e, 0xee, 0x22, 0xd5, 0x6f, 0x22, 0xa5, + 0x14, 0xf8, 0xa6, 0x87, 0x1a, 0xa4, 0xc8, 0x08, 0xc8, 0xc9, 0xf4, 0x7c, + 0x13, 0x54, 0xf1, 0x51, 0xc6, 0x8b, 0xc1, 0x30, 0xc8, 0xe8, 0x5f, 0xe4, + 0x7e, 0x8b, 0xea, 0xc8, 0xcb, 0x34, 0x6b, 0x8e, 0xe2, 0xa7, 0xe0, 0x01, + 0x59, 0xa0, 0xea, 0x80, +}; +static const struct drbg_kat_no_reseed kat277_t = { + 6, kat277_entropyin, kat277_nonce, kat277_persstr, + kat277_addin0, kat277_addin1, kat277_retbits +}; +static const struct drbg_kat kat277 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat277_t +}; + +static const unsigned char kat278_entropyin[] = { + 0x70, 0x50, 0x8f, 0x60, 0x35, 0xcd, 0xc4, 0x1a, 0xf6, 0x32, 0x52, 0xaf, + 0x23, 0xbe, 0x67, 0xaf, 0x4a, 0x46, 0x8f, 0x45, 0x53, 0x31, 0x10, 0xc8, +}; +static const unsigned char kat278_nonce[] = { + 0x77, 0xc2, 0xbc, 0x1a, 0x84, 0xf4, 0xf9, 0x91, 0x79, 0x6f, 0x9c, 0x07, + 0x09, 0x2a, 0xd5, 0xc7, +}; +static const unsigned char kat278_persstr[] = { + 0x47, 0x73, 0x82, 0xb2, 0xf6, 0xde, 0x44, 0xe2, 0xf0, 0x9a, 0x1d, 0x13, + 0x5a, 0x35, 0xf1, 0xcc, 0xb0, 0x28, 0x51, 0xf9, 0xe1, 0xf0, 0x03, 0xf9, + 0x8e, 0x02, 0x20, 0x43, 0x45, 0x8f, 0x5b, 0x66, +}; +static const unsigned char kat278_addin0[] = {0}; +static const unsigned char kat278_addin1[] = {0}; +static const unsigned char kat278_retbits[] = { + 0xfc, 0x63, 0x4f, 0xd4, 0xdc, 0xa7, 0xfc, 0xd6, 0x6c, 0x38, 0x92, 0x65, + 0x18, 0xa8, 0xd6, 0xfd, 0xee, 0xca, 0x07, 0xf8, 0x7e, 0x9b, 0x9f, 0xe5, + 0x40, 0x5e, 0xfd, 0x9a, 0xf9, 0xc9, 0x41, 0xcb, 0xf1, 0x56, 0xbc, 0x5b, + 0x09, 0xa5, 0x3f, 0x5c, 0xc8, 0xb5, 0xbf, 0x94, 0x37, 0xe6, 0x76, 0x90, + 0x5a, 0xfa, 0xee, 0x58, 0x02, 0x7b, 0xc2, 0x5a, 0xd4, 0x6c, 0x32, 0xab, + 0xbe, 0xa0, 0x5c, 0x85, +}; +static const struct drbg_kat_no_reseed kat278_t = { + 7, kat278_entropyin, kat278_nonce, kat278_persstr, + kat278_addin0, kat278_addin1, kat278_retbits +}; +static const struct drbg_kat kat278 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat278_t +}; + +static const unsigned char kat279_entropyin[] = { + 0x2e, 0x5d, 0x95, 0x68, 0x7b, 0x0e, 0x9b, 0x77, 0x7f, 0x13, 0x94, 0xf1, + 0x86, 0x63, 0xe7, 0x98, 0xed, 0xbd, 0x24, 0xcf, 0x0c, 0x3b, 0x94, 0x58, +}; +static const unsigned char kat279_nonce[] = { + 0x02, 0x05, 0x5f, 0xa3, 0xeb, 0x3d, 0x12, 0x04, 0xc2, 0x53, 0xeb, 0xf3, + 0x5e, 0x31, 0x43, 0xbd, +}; +static const unsigned char kat279_persstr[] = { + 0x17, 0x56, 0x63, 0x5c, 0x33, 0xf8, 0x68, 0x6b, 0x45, 0x8d, 0xaa, 0xec, + 0x9b, 0x9b, 0x44, 0x60, 0xb8, 0xa1, 0xd7, 0x5a, 0xa2, 0xe3, 0x00, 0xe7, + 0x55, 0x57, 0x41, 0x12, 0x49, 0xab, 0xc0, 0x0f, +}; +static const unsigned char kat279_addin0[] = {0}; +static const unsigned char kat279_addin1[] = {0}; +static const unsigned char kat279_retbits[] = { + 0x91, 0xc7, 0xe7, 0x18, 0x3e, 0xed, 0x6b, 0xa6, 0x64, 0x96, 0x67, 0x8b, + 0x9e, 0xe8, 0xec, 0x8b, 0x86, 0xde, 0x02, 0xfd, 0x7c, 0x6c, 0xb9, 0x77, + 0x48, 0x2f, 0x0d, 0xf4, 0x84, 0x9a, 0x72, 0x85, 0x9a, 0x80, 0x4d, 0x26, + 0x86, 0x68, 0xa8, 0xf4, 0xc9, 0x49, 0x34, 0x41, 0x3a, 0x94, 0xa2, 0xff, + 0x0d, 0x9d, 0x39, 0xb5, 0x18, 0x86, 0x07, 0xcc, 0x75, 0xa0, 0x79, 0xa7, + 0xe4, 0x84, 0x61, 0x69, +}; +static const struct drbg_kat_no_reseed kat279_t = { + 8, kat279_entropyin, kat279_nonce, kat279_persstr, + kat279_addin0, kat279_addin1, kat279_retbits +}; +static const struct drbg_kat kat279 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat279_t +}; + +static const unsigned char kat280_entropyin[] = { + 0x2e, 0x99, 0x70, 0x3a, 0x2b, 0xf1, 0x95, 0xa1, 0x82, 0xd2, 0x21, 0xce, + 0x79, 0xbd, 0xbd, 0xfc, 0xa4, 0xdb, 0x53, 0xe1, 0x6e, 0x75, 0x7a, 0x5b, +}; +static const unsigned char kat280_nonce[] = { + 0x4b, 0xe5, 0x2f, 0xba, 0x5d, 0x1f, 0xbc, 0x7e, 0xa7, 0x7b, 0x4a, 0xe3, + 0x0d, 0x16, 0xe0, 0xe9, +}; +static const unsigned char kat280_persstr[] = { + 0x8a, 0xf3, 0x46, 0xe5, 0x2f, 0x8c, 0x9b, 0xe6, 0x8a, 0x58, 0xf4, 0x0d, + 0x50, 0x05, 0x70, 0x04, 0xb7, 0xd7, 0x58, 0x07, 0xaf, 0x92, 0x27, 0x32, + 0x84, 0x36, 0x96, 0xc1, 0x82, 0x90, 0xd5, 0x89, +}; +static const unsigned char kat280_addin0[] = {0}; +static const unsigned char kat280_addin1[] = {0}; +static const unsigned char kat280_retbits[] = { + 0x23, 0x35, 0x2a, 0x39, 0x99, 0x4a, 0x03, 0xf4, 0x25, 0x06, 0xc3, 0x4d, + 0xdb, 0x8e, 0x0d, 0x19, 0x12, 0x7e, 0xbb, 0xfe, 0x82, 0x39, 0xc3, 0x4a, + 0x27, 0x11, 0xcd, 0xf1, 0xb1, 0xbe, 0xb1, 0xcf, 0x75, 0x40, 0x2a, 0x61, + 0x3c, 0x85, 0x31, 0xd1, 0xdc, 0xce, 0xac, 0xdb, 0x49, 0x00, 0x73, 0xc7, + 0xa5, 0x6f, 0x0a, 0xff, 0xb3, 0xf1, 0x1f, 0x26, 0xe8, 0xc1, 0x90, 0x1f, + 0xaf, 0x3d, 0xfb, 0x2f, +}; +static const struct drbg_kat_no_reseed kat280_t = { + 9, kat280_entropyin, kat280_nonce, kat280_persstr, + kat280_addin0, kat280_addin1, kat280_retbits +}; +static const struct drbg_kat kat280 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat280_t +}; + +static const unsigned char kat281_entropyin[] = { + 0x23, 0x93, 0x1f, 0x7e, 0x10, 0xad, 0x6e, 0x55, 0x3a, 0x28, 0x54, 0x81, + 0xac, 0xae, 0x7c, 0xfc, 0xb3, 0x2f, 0x64, 0x4e, 0x08, 0xc5, 0xb0, 0x09, +}; +static const unsigned char kat281_nonce[] = { + 0x7b, 0xc2, 0xb5, 0x7e, 0xde, 0x91, 0x35, 0xb4, 0x19, 0x2c, 0x51, 0x81, + 0xf9, 0x08, 0x08, 0xc6, +}; +static const unsigned char kat281_persstr[] = { + 0x6e, 0xcd, 0x84, 0xef, 0x10, 0xb4, 0xe8, 0x62, 0xbc, 0x34, 0x47, 0x86, + 0x7b, 0x3e, 0x80, 0x88, 0xe9, 0xdb, 0x4c, 0x5b, 0xe5, 0x38, 0x1d, 0xbc, + 0xb6, 0x05, 0x14, 0x05, 0x13, 0x90, 0xbf, 0xaf, +}; +static const unsigned char kat281_addin0[] = {0}; +static const unsigned char kat281_addin1[] = {0}; +static const unsigned char kat281_retbits[] = { + 0xa5, 0xc1, 0x15, 0xbf, 0x8f, 0x95, 0x0b, 0x5d, 0x18, 0x71, 0x8a, 0x9a, + 0x22, 0x69, 0x75, 0x9e, 0x78, 0xe4, 0xfb, 0x79, 0x89, 0x37, 0xaf, 0xd0, + 0x6d, 0xaf, 0xc9, 0xea, 0xc9, 0xf5, 0x72, 0x60, 0x27, 0xd6, 0x39, 0xde, + 0x08, 0xd0, 0xb7, 0xb0, 0x08, 0x53, 0x2f, 0x70, 0xbc, 0x48, 0xa8, 0xf8, + 0x8f, 0x63, 0x7e, 0x67, 0xca, 0x7f, 0xb3, 0xfc, 0xe5, 0x19, 0x6e, 0x99, + 0x3f, 0x6d, 0x3a, 0x25, +}; +static const struct drbg_kat_no_reseed kat281_t = { + 10, kat281_entropyin, kat281_nonce, kat281_persstr, + kat281_addin0, kat281_addin1, kat281_retbits +}; +static const struct drbg_kat kat281 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat281_t +}; + +static const unsigned char kat282_entropyin[] = { + 0x61, 0x96, 0x42, 0xe8, 0x63, 0xa8, 0xf8, 0xd2, 0xf7, 0xdb, 0x9c, 0x2e, + 0xe5, 0x6c, 0x13, 0xa2, 0xf0, 0x39, 0x59, 0x5c, 0x29, 0xed, 0x74, 0x96, +}; +static const unsigned char kat282_nonce[] = { + 0x9c, 0x50, 0xab, 0x67, 0xfc, 0x76, 0x68, 0xde, 0xc6, 0x03, 0x4e, 0x82, + 0x24, 0xae, 0x1d, 0x54, +}; +static const unsigned char kat282_persstr[] = { + 0x23, 0x0b, 0x18, 0x7d, 0x67, 0xc9, 0x31, 0x2e, 0xaf, 0x19, 0x23, 0x52, + 0x6b, 0xfb, 0xcb, 0x31, 0x9d, 0x9d, 0x33, 0x9f, 0xe8, 0xc8, 0x62, 0xd1, + 0xa9, 0xfa, 0x1e, 0xa7, 0x83, 0x09, 0x29, 0xb2, +}; +static const unsigned char kat282_addin0[] = {0}; +static const unsigned char kat282_addin1[] = {0}; +static const unsigned char kat282_retbits[] = { + 0x0e, 0xce, 0x18, 0x8d, 0x8d, 0x1a, 0x37, 0xf1, 0x58, 0xa6, 0xd0, 0x65, + 0xf9, 0x07, 0x37, 0x69, 0xd7, 0x50, 0xb6, 0xd3, 0x3b, 0xf8, 0x49, 0x3d, + 0xf9, 0x6d, 0x99, 0xfa, 0x98, 0xc9, 0x90, 0x00, 0x76, 0xf7, 0xab, 0xeb, + 0x02, 0x31, 0x2a, 0xd4, 0xe0, 0xc6, 0xed, 0xde, 0x99, 0xeb, 0xd6, 0x1c, + 0x39, 0x6a, 0x83, 0x75, 0xa1, 0xd7, 0x1f, 0x6b, 0x20, 0x86, 0xd9, 0x02, + 0x1c, 0x11, 0xa1, 0x4c, +}; +static const struct drbg_kat_no_reseed kat282_t = { + 11, kat282_entropyin, kat282_nonce, kat282_persstr, + kat282_addin0, kat282_addin1, kat282_retbits +}; +static const struct drbg_kat kat282 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat282_t +}; + +static const unsigned char kat283_entropyin[] = { + 0xbf, 0x4e, 0x56, 0x6b, 0x60, 0xa5, 0x92, 0xf6, 0xc8, 0x89, 0xbb, 0x19, + 0x25, 0x2b, 0x54, 0x48, 0x9a, 0x58, 0x15, 0xf2, 0xbd, 0x07, 0x4b, 0x41, +}; +static const unsigned char kat283_nonce[] = { + 0x32, 0xa2, 0xf8, 0xe7, 0x8e, 0x17, 0x57, 0x4d, 0x63, 0x84, 0xe1, 0xf5, + 0x39, 0x95, 0x9a, 0xda, +}; +static const unsigned char kat283_persstr[] = { + 0xcf, 0x75, 0x8d, 0x77, 0x29, 0x63, 0xf5, 0x76, 0xb5, 0x1d, 0x32, 0x7d, + 0xba, 0xa3, 0x51, 0x76, 0x13, 0xf3, 0x38, 0x7c, 0xb9, 0x0c, 0x85, 0x49, + 0x7a, 0x93, 0x60, 0xe0, 0x4e, 0xbf, 0xb1, 0x79, +}; +static const unsigned char kat283_addin0[] = {0}; +static const unsigned char kat283_addin1[] = {0}; +static const unsigned char kat283_retbits[] = { + 0xf6, 0xbf, 0x71, 0x1d, 0x50, 0x02, 0x99, 0x7a, 0x3e, 0xca, 0xa3, 0x6c, + 0xeb, 0x5e, 0xe6, 0x3c, 0xae, 0x53, 0x01, 0x72, 0x89, 0x07, 0x64, 0xae, + 0xb8, 0xaf, 0xd5, 0xd8, 0x12, 0xc3, 0x68, 0x56, 0x8e, 0x4a, 0xb0, 0xaf, + 0xd2, 0xdd, 0xf9, 0x7d, 0xc3, 0x10, 0xb1, 0xc3, 0x53, 0xe6, 0x73, 0xfd, + 0xac, 0x59, 0x2a, 0xc6, 0x08, 0xe1, 0x30, 0x4f, 0x97, 0xa5, 0xf2, 0x57, + 0x8c, 0x1e, 0xc1, 0xd4, +}; +static const struct drbg_kat_no_reseed kat283_t = { + 12, kat283_entropyin, kat283_nonce, kat283_persstr, + kat283_addin0, kat283_addin1, kat283_retbits +}; +static const struct drbg_kat kat283 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat283_t +}; + +static const unsigned char kat284_entropyin[] = { + 0x18, 0x01, 0x0f, 0xfb, 0xae, 0xac, 0xab, 0x06, 0xa4, 0xc5, 0x5a, 0x38, + 0xe8, 0xe9, 0x36, 0xd7, 0x9a, 0xd4, 0x9a, 0xf9, 0x76, 0xb8, 0xf7, 0x48, +}; +static const unsigned char kat284_nonce[] = { + 0xcf, 0x55, 0xbc, 0x78, 0xa1, 0xf1, 0xee, 0x4a, 0xbd, 0xc5, 0x54, 0xe8, + 0x7b, 0x3f, 0x11, 0x4d, +}; +static const unsigned char kat284_persstr[] = { + 0x53, 0xa9, 0x74, 0x38, 0x6b, 0xa1, 0x01, 0xba, 0x34, 0xea, 0x65, 0xb7, + 0x5b, 0xc3, 0x60, 0xe9, 0xc1, 0xcb, 0x80, 0xc2, 0xa6, 0x50, 0x82, 0x90, + 0xa7, 0x8a, 0xe2, 0x3e, 0x5c, 0x70, 0x15, 0x37, +}; +static const unsigned char kat284_addin0[] = {0}; +static const unsigned char kat284_addin1[] = {0}; +static const unsigned char kat284_retbits[] = { + 0x57, 0x26, 0xde, 0x68, 0x48, 0xee, 0x07, 0x4f, 0x35, 0x3c, 0xf1, 0x7b, + 0xf3, 0xee, 0x0b, 0x09, 0xb6, 0xb6, 0x03, 0xb1, 0x24, 0x64, 0x25, 0xdd, + 0xde, 0x1d, 0x01, 0xb5, 0xbf, 0x5a, 0xf0, 0xd8, 0x88, 0x88, 0x21, 0x7d, + 0x59, 0x01, 0x8d, 0xb3, 0x17, 0x18, 0x11, 0xda, 0x02, 0xe6, 0x67, 0xfd, + 0xdf, 0x8c, 0xb3, 0x51, 0x00, 0x36, 0x9d, 0xc9, 0xa8, 0xcf, 0x2a, 0xaf, + 0xc5, 0x45, 0x21, 0x82, +}; +static const struct drbg_kat_no_reseed kat284_t = { + 13, kat284_entropyin, kat284_nonce, kat284_persstr, + kat284_addin0, kat284_addin1, kat284_retbits +}; +static const struct drbg_kat kat284 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat284_t +}; + +static const unsigned char kat285_entropyin[] = { + 0xf6, 0x20, 0x87, 0x73, 0xae, 0x06, 0xc6, 0x14, 0x10, 0x7a, 0x98, 0x65, + 0xc3, 0x6e, 0xeb, 0x2a, 0xc2, 0xe3, 0x48, 0xee, 0x7c, 0xd6, 0x9d, 0xde, +}; +static const unsigned char kat285_nonce[] = { + 0xee, 0x7c, 0x9e, 0xc2, 0x68, 0x77, 0x03, 0xaa, 0x10, 0x30, 0x70, 0x57, + 0x4d, 0x61, 0x67, 0xd9, +}; +static const unsigned char kat285_persstr[] = { + 0xa8, 0x5a, 0x25, 0xe5, 0xcd, 0x63, 0x90, 0xbe, 0xab, 0x64, 0xab, 0x8b, + 0x4f, 0x53, 0x42, 0x80, 0xf3, 0xfc, 0x7b, 0x16, 0x9e, 0xb0, 0xa7, 0x5c, + 0xb7, 0x7d, 0x9b, 0xf0, 0x62, 0x92, 0xab, 0xe8, +}; +static const unsigned char kat285_addin0[] = {0}; +static const unsigned char kat285_addin1[] = {0}; +static const unsigned char kat285_retbits[] = { + 0xcd, 0x5f, 0x73, 0xd4, 0xfe, 0xbc, 0x7f, 0xe1, 0x73, 0x51, 0xbb, 0xb9, + 0x09, 0x47, 0x29, 0x75, 0x90, 0x16, 0xbd, 0x3e, 0xae, 0x0d, 0xd3, 0xd9, + 0x12, 0x86, 0x97, 0x81, 0x3a, 0x0b, 0x92, 0x9d, 0xcf, 0xce, 0x6b, 0xfe, + 0xfc, 0x1e, 0x08, 0xde, 0xdd, 0xf6, 0x17, 0xd4, 0xe7, 0x27, 0xaa, 0xa3, + 0xc7, 0xcb, 0x1f, 0xf2, 0x3b, 0xf0, 0x2f, 0xcd, 0xa7, 0x7d, 0x0b, 0x15, + 0x02, 0x39, 0x03, 0x49, +}; +static const struct drbg_kat_no_reseed kat285_t = { + 14, kat285_entropyin, kat285_nonce, kat285_persstr, + kat285_addin0, kat285_addin1, kat285_retbits +}; +static const struct drbg_kat kat285 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat285_t +}; + +static const unsigned char kat286_entropyin[] = { + 0xd5, 0x97, 0x3b, 0x5c, 0x91, 0x05, 0xcb, 0xf6, 0x7e, 0x97, 0x8f, 0x41, + 0x99, 0x24, 0x79, 0x0d, 0x83, 0x02, 0x3e, 0x86, 0xa8, 0xb5, 0xdd, 0x6b, +}; +static const unsigned char kat286_nonce[] = { + 0x35, 0x8a, 0xf1, 0xae, 0x9a, 0x84, 0x2c, 0x6e, 0x03, 0xf8, 0x8d, 0xfa, + 0x2a, 0x31, 0x11, 0x61, +}; +static const unsigned char kat286_persstr[] = { + 0x29, 0x4d, 0x7d, 0x35, 0xf5, 0x3a, 0x5d, 0x7d, 0xde, 0xf5, 0xca, 0x41, + 0x00, 0xf3, 0x54, 0x71, 0x12, 0xc9, 0x3e, 0x41, 0x25, 0x12, 0x57, 0xdc, + 0x0a, 0x19, 0xb6, 0xdf, 0xaa, 0x4a, 0x60, 0xa4, +}; +static const unsigned char kat286_addin0[] = { + 0x08, 0x05, 0xf3, 0x14, 0x46, 0xc5, 0x1d, 0x5d, 0x9d, 0x27, 0xb7, 0xcb, + 0xb1, 0x6e, 0x84, 0x0b, 0x9e, 0x8b, 0x0d, 0xfe, 0x6f, 0xb4, 0xb6, 0x97, + 0x92, 0xbc, 0x8d, 0xe9, 0xe3, 0xbd, 0x6d, 0x92, +}; +static const unsigned char kat286_addin1[] = { + 0x93, 0x4d, 0x7f, 0xd5, 0xe7, 0x16, 0x37, 0x63, 0x42, 0x60, 0x71, 0x23, + 0xea, 0x11, 0x3d, 0x6b, 0x20, 0x17, 0x0c, 0xcd, 0xa5, 0x3f, 0xc8, 0x65, + 0x41, 0x40, 0x7a, 0x15, 0x6c, 0xd9, 0x49, 0x04, +}; +static const unsigned char kat286_retbits[] = { + 0xcb, 0x95, 0x45, 0x9d, 0x17, 0x35, 0xcb, 0x9b, 0xce, 0x8a, 0x75, 0xbf, + 0x09, 0x7a, 0x09, 0x9c, 0x9f, 0x7c, 0x70, 0xba, 0xd4, 0x3e, 0x3e, 0x43, + 0x1f, 0x2d, 0x38, 0x29, 0xd7, 0xca, 0x9d, 0x06, 0x17, 0xb9, 0xa9, 0x93, + 0x37, 0xaf, 0x52, 0x48, 0xd4, 0x74, 0x1c, 0xb5, 0xa6, 0x0d, 0xff, 0x6f, + 0x8c, 0x52, 0x21, 0xe2, 0x3f, 0x3c, 0xb5, 0x24, 0xa9, 0x4f, 0xfd, 0xd2, + 0x19, 0x0b, 0xfb, 0x3b, +}; +static const struct drbg_kat_no_reseed kat286_t = { + 0, kat286_entropyin, kat286_nonce, kat286_persstr, + kat286_addin0, kat286_addin1, kat286_retbits +}; +static const struct drbg_kat kat286 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat286_t +}; + +static const unsigned char kat287_entropyin[] = { + 0xa0, 0x44, 0x99, 0xcc, 0x2b, 0x36, 0x20, 0xa4, 0x7e, 0xe6, 0x6d, 0xe9, + 0xce, 0x65, 0x10, 0x03, 0x39, 0x40, 0x95, 0x85, 0x39, 0xf7, 0x54, 0xfb, +}; +static const unsigned char kat287_nonce[] = { + 0xfa, 0xa4, 0x92, 0xb5, 0xee, 0xb6, 0x20, 0xe7, 0x8f, 0xb6, 0x37, 0x5c, + 0x62, 0x0f, 0x49, 0x5c, +}; +static const unsigned char kat287_persstr[] = { + 0x31, 0x8a, 0x01, 0xb4, 0x75, 0x60, 0x11, 0x91, 0x43, 0x8c, 0xcf, 0x44, + 0xfe, 0xd9, 0xc0, 0xc6, 0xaf, 0x5f, 0x44, 0x15, 0xc2, 0x66, 0x8b, 0x2d, + 0x39, 0xf9, 0x59, 0xef, 0x6f, 0xa2, 0xe2, 0xee, +}; +static const unsigned char kat287_addin0[] = { + 0xf1, 0xb9, 0x2d, 0x7f, 0xb1, 0x26, 0x79, 0x9f, 0x08, 0x02, 0x64, 0xbb, + 0xd2, 0xef, 0xf3, 0x9b, 0xd7, 0x55, 0xb8, 0xd1, 0xcb, 0xb8, 0x79, 0x63, + 0xa7, 0x71, 0xe7, 0xac, 0x54, 0x94, 0xc1, 0x54, +}; +static const unsigned char kat287_addin1[] = { + 0xab, 0x79, 0x75, 0xe3, 0x42, 0xc2, 0x60, 0xf4, 0x01, 0x38, 0x56, 0xe5, + 0x9d, 0x76, 0x77, 0xe7, 0x07, 0x18, 0x21, 0xe4, 0x2d, 0xcb, 0x0b, 0x14, + 0x7d, 0xcc, 0x74, 0x07, 0x48, 0x32, 0x06, 0x1c, +}; +static const unsigned char kat287_retbits[] = { + 0x64, 0x7a, 0x3e, 0x82, 0xbe, 0x71, 0x73, 0xe4, 0x57, 0x82, 0xd4, 0x2e, + 0xe0, 0xbc, 0x52, 0xff, 0xef, 0xc3, 0x07, 0x2e, 0xca, 0xb3, 0x06, 0x0a, + 0xe6, 0x06, 0x31, 0xb8, 0x48, 0x62, 0x89, 0x23, 0x0c, 0x00, 0xb3, 0xe9, + 0x64, 0x1f, 0x88, 0xd3, 0x42, 0x7f, 0xbf, 0xb1, 0x50, 0xfd, 0x14, 0xdc, + 0xf8, 0xf2, 0xc8, 0xdb, 0x14, 0xc7, 0x15, 0x45, 0x78, 0x89, 0x51, 0xef, + 0xa0, 0x74, 0xb2, 0x27, +}; +static const struct drbg_kat_no_reseed kat287_t = { + 1, kat287_entropyin, kat287_nonce, kat287_persstr, + kat287_addin0, kat287_addin1, kat287_retbits +}; +static const struct drbg_kat kat287 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat287_t +}; + +static const unsigned char kat288_entropyin[] = { + 0x56, 0x82, 0x91, 0x4c, 0x36, 0x77, 0x69, 0x45, 0xe0, 0x23, 0xf9, 0x8e, + 0x14, 0x17, 0x17, 0x25, 0xa2, 0xc0, 0x20, 0x4d, 0xe7, 0x99, 0xa3, 0x6f, +}; +static const unsigned char kat288_nonce[] = { + 0x6d, 0x6f, 0x71, 0xcf, 0xef, 0x95, 0x7f, 0xf4, 0x75, 0x58, 0x33, 0x15, + 0x12, 0x5e, 0xad, 0x6b, +}; +static const unsigned char kat288_persstr[] = { + 0x55, 0x7f, 0xde, 0x94, 0xd4, 0x1c, 0x13, 0xb2, 0x48, 0x29, 0xb8, 0xfd, + 0x42, 0x41, 0x24, 0x82, 0x5a, 0xac, 0xb1, 0x40, 0x94, 0xe5, 0xe7, 0xd4, + 0xf8, 0xde, 0xea, 0x7d, 0xb2, 0xac, 0x29, 0x40, +}; +static const unsigned char kat288_addin0[] = { + 0x4c, 0x64, 0xc5, 0xa5, 0xc1, 0xc6, 0x91, 0x4b, 0x61, 0xfa, 0xf2, 0x64, + 0x92, 0x4c, 0x10, 0xde, 0xbc, 0x2f, 0x36, 0x7a, 0xc4, 0xcb, 0x1e, 0x01, + 0x24, 0x88, 0x32, 0x2f, 0xb1, 0x9d, 0x69, 0xa8, +}; +static const unsigned char kat288_addin1[] = { + 0x71, 0x93, 0xe6, 0x1b, 0xb3, 0xe7, 0x5d, 0x48, 0xe4, 0xa3, 0xf9, 0x0b, + 0x10, 0x8e, 0x07, 0x07, 0x4c, 0x35, 0x39, 0x06, 0x93, 0xcd, 0x0a, 0x4c, + 0xd3, 0xbb, 0x6c, 0xd2, 0x46, 0xbe, 0xb7, 0x40, +}; +static const unsigned char kat288_retbits[] = { + 0x7a, 0xed, 0x93, 0x1e, 0xe1, 0x7c, 0x7b, 0x05, 0x53, 0x3b, 0x52, 0xf6, + 0xb3, 0xdf, 0xc9, 0x76, 0x88, 0xf6, 0xf3, 0xb3, 0x97, 0x44, 0xed, 0xed, + 0x73, 0xdd, 0xe2, 0x7e, 0x03, 0x4a, 0xfb, 0x18, 0x01, 0xb3, 0xd1, 0x16, + 0x0d, 0xba, 0x79, 0x75, 0x59, 0xfd, 0x72, 0x16, 0x10, 0xf6, 0xd6, 0x2f, + 0x6d, 0x0c, 0x48, 0xa6, 0x74, 0x03, 0x07, 0x5f, 0x6c, 0x24, 0x50, 0xe6, + 0x24, 0x6a, 0x4d, 0x66, +}; +static const struct drbg_kat_no_reseed kat288_t = { + 2, kat288_entropyin, kat288_nonce, kat288_persstr, + kat288_addin0, kat288_addin1, kat288_retbits +}; +static const struct drbg_kat kat288 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat288_t +}; + +static const unsigned char kat289_entropyin[] = { + 0x19, 0x9c, 0xee, 0x8a, 0x88, 0x18, 0x88, 0x16, 0x6c, 0xb5, 0x2c, 0xf6, + 0x8f, 0xde, 0x78, 0x0f, 0x32, 0x55, 0xb1, 0x3d, 0x37, 0x0b, 0x68, 0x9a, +}; +static const unsigned char kat289_nonce[] = { + 0x84, 0x80, 0x16, 0xaa, 0x71, 0x57, 0x1e, 0x1c, 0x63, 0xf3, 0x17, 0x4b, + 0xf9, 0x35, 0x87, 0xc9, +}; +static const unsigned char kat289_persstr[] = { + 0x66, 0x21, 0x2f, 0x4c, 0x19, 0xb5, 0xcd, 0xf4, 0xa6, 0x59, 0x4f, 0xd4, + 0xc4, 0xf7, 0xb7, 0x83, 0x72, 0x30, 0xde, 0x71, 0xb9, 0x8d, 0x50, 0x6d, + 0x46, 0xde, 0xce, 0xac, 0xb5, 0xf0, 0xc6, 0x9c, +}; +static const unsigned char kat289_addin0[] = { + 0x59, 0x34, 0xb3, 0x95, 0x8e, 0xbe, 0x21, 0x54, 0xc2, 0x46, 0xce, 0xa5, + 0x5d, 0xf2, 0x31, 0xe4, 0x1a, 0x86, 0x7e, 0x88, 0x44, 0x12, 0x9f, 0xd6, + 0xc7, 0xde, 0x6c, 0x9c, 0xf8, 0xd4, 0xd7, 0xb8, +}; +static const unsigned char kat289_addin1[] = { + 0x0b, 0x4a, 0x32, 0xba, 0xb8, 0x42, 0xc4, 0xd2, 0x49, 0x99, 0xe9, 0xac, + 0x6b, 0xb1, 0x02, 0x4b, 0x76, 0x73, 0x08, 0x68, 0x95, 0xe8, 0x9a, 0x70, + 0x72, 0xa5, 0x9c, 0x8c, 0x75, 0xfe, 0x3e, 0x0a, +}; +static const unsigned char kat289_retbits[] = { + 0x84, 0x50, 0x41, 0x0e, 0x9a, 0x7f, 0xf9, 0xa1, 0x04, 0xd6, 0xd0, 0xec, + 0xd2, 0x31, 0x5e, 0xa5, 0x40, 0xf5, 0x4c, 0xd8, 0x8d, 0x21, 0xac, 0x6d, + 0x7c, 0xae, 0x8a, 0x86, 0x18, 0x1d, 0xcb, 0x53, 0xf1, 0x88, 0x3e, 0xe1, + 0xdc, 0xe8, 0xa2, 0x86, 0x22, 0x61, 0x62, 0x08, 0x59, 0x33, 0x4f, 0xde, + 0x9c, 0xe2, 0xde, 0xaf, 0x1b, 0x58, 0xd4, 0xd4, 0xd0, 0x1d, 0xbd, 0xfe, + 0xe7, 0x73, 0x2e, 0x8e, +}; +static const struct drbg_kat_no_reseed kat289_t = { + 3, kat289_entropyin, kat289_nonce, kat289_persstr, + kat289_addin0, kat289_addin1, kat289_retbits +}; +static const struct drbg_kat kat289 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat289_t +}; + +static const unsigned char kat290_entropyin[] = { + 0x2f, 0xf3, 0xc6, 0x29, 0x0f, 0x51, 0x40, 0xb6, 0xc4, 0x96, 0x8a, 0xfe, + 0x0c, 0x6a, 0xc1, 0x8e, 0x55, 0x74, 0xc7, 0x11, 0x73, 0x29, 0x2e, 0x54, +}; +static const unsigned char kat290_nonce[] = { + 0x93, 0xdd, 0x9d, 0xfd, 0xb4, 0x5f, 0x96, 0xb8, 0x05, 0x9c, 0xb3, 0xfd, + 0xc1, 0x25, 0xa3, 0xb5, +}; +static const unsigned char kat290_persstr[] = { + 0xdb, 0xf6, 0x83, 0x70, 0x58, 0xa3, 0x74, 0x1a, 0xbf, 0x3a, 0xd0, 0x62, + 0x97, 0xc1, 0x9b, 0x81, 0xf4, 0xc4, 0x6a, 0xdf, 0x7d, 0x46, 0xc5, 0x8b, + 0xbb, 0xce, 0x5b, 0xcf, 0x29, 0x64, 0x00, 0xd5, +}; +static const unsigned char kat290_addin0[] = { + 0x32, 0x9d, 0x4f, 0xe2, 0x73, 0x66, 0x16, 0xb0, 0x65, 0x28, 0x7f, 0x3c, + 0xad, 0x21, 0x63, 0x42, 0xb9, 0xbe, 0x26, 0xe8, 0xf2, 0xc5, 0x94, 0x64, + 0x5e, 0x7e, 0x27, 0x88, 0x07, 0x09, 0x7d, 0x5c, +}; +static const unsigned char kat290_addin1[] = { + 0x8a, 0x1e, 0x25, 0x8c, 0x3a, 0x3f, 0xb9, 0xb0, 0x31, 0x45, 0x62, 0xa3, + 0x20, 0xc0, 0xc1, 0x1e, 0x6f, 0x81, 0x37, 0xe2, 0x91, 0xa7, 0x9e, 0xd5, + 0x68, 0x48, 0x9a, 0xd0, 0x56, 0x0c, 0x7c, 0x28, +}; +static const unsigned char kat290_retbits[] = { + 0x28, 0x1c, 0xd7, 0x62, 0xf1, 0x0d, 0xdd, 0x29, 0xe0, 0xab, 0x11, 0xcf, + 0x79, 0x49, 0x4a, 0x7e, 0xb5, 0x92, 0xdd, 0x84, 0xdc, 0xe6, 0x58, 0x04, + 0x28, 0x6e, 0xea, 0x86, 0x4d, 0x8b, 0x85, 0x44, 0x28, 0x2d, 0x3f, 0xe8, + 0x0d, 0x76, 0xfe, 0x55, 0xf7, 0xfc, 0x66, 0xd0, 0x97, 0x1b, 0x8d, 0xcb, + 0x84, 0xa3, 0xf2, 0x5d, 0x85, 0x97, 0x21, 0x33, 0xe0, 0x74, 0xcd, 0xf1, + 0xe6, 0x0b, 0xf0, 0x69, +}; +static const struct drbg_kat_no_reseed kat290_t = { + 4, kat290_entropyin, kat290_nonce, kat290_persstr, + kat290_addin0, kat290_addin1, kat290_retbits +}; +static const struct drbg_kat kat290 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat290_t +}; + +static const unsigned char kat291_entropyin[] = { + 0x15, 0xb6, 0x96, 0xec, 0xc0, 0x14, 0x9b, 0x78, 0x05, 0xbd, 0xbe, 0xaa, + 0x65, 0xb9, 0xea, 0x9b, 0x76, 0xe7, 0x6d, 0xd6, 0x8b, 0xb9, 0xba, 0x5f, +}; +static const unsigned char kat291_nonce[] = { + 0xee, 0x41, 0x74, 0xe0, 0x87, 0xf3, 0xe7, 0x4a, 0x3f, 0xd2, 0xfc, 0x40, + 0x35, 0x59, 0x20, 0x9c, +}; +static const unsigned char kat291_persstr[] = { + 0xa4, 0x2d, 0xd8, 0x8c, 0xdb, 0xa2, 0x5d, 0x88, 0x9d, 0xbc, 0xd9, 0xc7, + 0xb7, 0xa7, 0xbc, 0xfe, 0x25, 0xad, 0x1a, 0x81, 0xa1, 0x76, 0x1e, 0x24, + 0xe0, 0x46, 0xca, 0xd4, 0x75, 0x91, 0x02, 0x5c, +}; +static const unsigned char kat291_addin0[] = { + 0xa3, 0x73, 0xc6, 0x7b, 0xf7, 0xa8, 0x78, 0x98, 0x70, 0x76, 0x8a, 0xf6, + 0x01, 0x5a, 0x13, 0x39, 0x36, 0x82, 0x1d, 0x97, 0xcf, 0xe1, 0xdc, 0x49, + 0x73, 0x1b, 0x14, 0x5f, 0x66, 0x66, 0xdf, 0xe3, +}; +static const unsigned char kat291_addin1[] = { + 0x7b, 0x93, 0xdd, 0x28, 0x55, 0xff, 0x93, 0xec, 0x1d, 0x19, 0x4c, 0x86, + 0x71, 0xa6, 0x25, 0x99, 0x39, 0xbc, 0x4a, 0x57, 0x29, 0x94, 0xae, 0x3d, + 0x52, 0xa8, 0x44, 0x11, 0x74, 0x90, 0x53, 0x3a, +}; +static const unsigned char kat291_retbits[] = { + 0x78, 0xca, 0x84, 0xfe, 0x42, 0xb1, 0x6e, 0xab, 0x52, 0x88, 0x8d, 0x54, + 0x0c, 0x50, 0xe5, 0x21, 0x61, 0x5c, 0x5f, 0x4d, 0xff, 0x04, 0x56, 0xcb, + 0x80, 0x8d, 0x10, 0xf6, 0x66, 0xd0, 0x8d, 0xd1, 0x9c, 0x68, 0x78, 0x9b, + 0xe1, 0xd9, 0xd8, 0x55, 0xff, 0x99, 0x5d, 0xeb, 0x8e, 0x02, 0x61, 0xe8, + 0xc4, 0x4b, 0x12, 0x48, 0xb0, 0xb2, 0xde, 0xc2, 0x59, 0x9d, 0x8e, 0x77, + 0x9d, 0x24, 0xc8, 0x39, +}; +static const struct drbg_kat_no_reseed kat291_t = { + 5, kat291_entropyin, kat291_nonce, kat291_persstr, + kat291_addin0, kat291_addin1, kat291_retbits +}; +static const struct drbg_kat kat291 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat291_t +}; + +static const unsigned char kat292_entropyin[] = { + 0xdd, 0xc6, 0xe5, 0x0f, 0xf9, 0x08, 0x3f, 0xed, 0xf4, 0xa5, 0xd5, 0x6f, + 0xd9, 0x23, 0x8a, 0x25, 0x65, 0xf5, 0x01, 0x84, 0xdf, 0x28, 0x3a, 0x78, +}; +static const unsigned char kat292_nonce[] = { + 0xa3, 0x06, 0x0e, 0x17, 0x32, 0xf1, 0xb1, 0xde, 0xfc, 0x8e, 0x5f, 0x39, + 0xe0, 0x12, 0xe3, 0x03, +}; +static const unsigned char kat292_persstr[] = { + 0x86, 0x98, 0x83, 0x57, 0x95, 0x80, 0x4b, 0xa3, 0x46, 0x5f, 0x3e, 0xcd, + 0xd4, 0xac, 0xe0, 0x47, 0x50, 0x6c, 0xb1, 0x5d, 0xd9, 0xc8, 0x72, 0x8f, + 0x07, 0x5f, 0xce, 0xa5, 0x03, 0x3f, 0xa0, 0xd8, +}; +static const unsigned char kat292_addin0[] = { + 0xb1, 0x01, 0x1f, 0x40, 0xcf, 0x33, 0x1e, 0x33, 0xd2, 0x4f, 0xfe, 0x86, + 0x17, 0x8f, 0x70, 0xe6, 0xc7, 0xd4, 0xd2, 0xb4, 0x43, 0xb6, 0x4f, 0xbd, + 0x5c, 0x97, 0x9b, 0x94, 0x19, 0x3c, 0xac, 0x60, +}; +static const unsigned char kat292_addin1[] = { + 0x3a, 0x72, 0xe1, 0xe6, 0x63, 0x64, 0x04, 0xbe, 0x69, 0xf8, 0x53, 0xbe, + 0xb0, 0x63, 0x3d, 0x5d, 0xef, 0x03, 0xb1, 0x6b, 0x4b, 0x20, 0x5a, 0x02, + 0x38, 0x4c, 0x26, 0x95, 0x1c, 0xa0, 0xf2, 0x20, +}; +static const unsigned char kat292_retbits[] = { + 0x7d, 0xbe, 0xac, 0xe1, 0xa9, 0x0a, 0x28, 0x43, 0xc3, 0xde, 0x36, 0xf3, + 0xbb, 0xac, 0x6e, 0x91, 0x40, 0xa9, 0x38, 0xce, 0xd6, 0x30, 0x41, 0x6e, + 0xb1, 0xe1, 0x63, 0x87, 0x08, 0xec, 0x12, 0xe4, 0x80, 0xda, 0x65, 0xe0, + 0x0c, 0x82, 0x94, 0x15, 0x1e, 0xa4, 0xb9, 0xa1, 0xd5, 0xb2, 0x59, 0x75, + 0xd7, 0x94, 0x0d, 0x57, 0xc8, 0xde, 0x72, 0xe2, 0x03, 0x82, 0x99, 0x6f, + 0xf4, 0xdc, 0x64, 0xc2, +}; +static const struct drbg_kat_no_reseed kat292_t = { + 6, kat292_entropyin, kat292_nonce, kat292_persstr, + kat292_addin0, kat292_addin1, kat292_retbits +}; +static const struct drbg_kat kat292 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat292_t +}; + +static const unsigned char kat293_entropyin[] = { + 0xdd, 0xe2, 0x70, 0x18, 0xcd, 0xea, 0x02, 0x7b, 0x27, 0x3a, 0x83, 0xab, + 0x28, 0xf8, 0x18, 0x22, 0x93, 0xe5, 0x37, 0x32, 0x91, 0x64, 0x12, 0x62, +}; +static const unsigned char kat293_nonce[] = { + 0xe8, 0x81, 0x0e, 0x24, 0xfb, 0x96, 0xba, 0x67, 0x68, 0xb6, 0x57, 0x47, + 0xbb, 0x27, 0x93, 0xb8, +}; +static const unsigned char kat293_persstr[] = { + 0xd8, 0xad, 0xa0, 0x62, 0xfb, 0x8a, 0x56, 0x7f, 0x42, 0x15, 0xeb, 0x1f, + 0xf8, 0x7a, 0x2c, 0xd6, 0xfe, 0x96, 0x4d, 0x7b, 0xeb, 0xcc, 0x9c, 0xf4, + 0xec, 0xc5, 0x31, 0xbe, 0x21, 0xad, 0x47, 0x8f, +}; +static const unsigned char kat293_addin0[] = { + 0xee, 0xa0, 0xc6, 0x51, 0xaf, 0xae, 0x1c, 0xca, 0x7d, 0x6b, 0x4a, 0xef, + 0x4c, 0x1e, 0x0c, 0x22, 0x19, 0x4c, 0x70, 0xa6, 0x3f, 0xe4, 0x74, 0xa8, + 0xb5, 0xfc, 0xbd, 0x26, 0xa5, 0x69, 0x6c, 0x3c, +}; +static const unsigned char kat293_addin1[] = { + 0x71, 0xee, 0xe7, 0x0d, 0x6b, 0x57, 0x85, 0x4d, 0xa6, 0x87, 0x89, 0xd9, + 0x92, 0xe4, 0x13, 0x24, 0x85, 0xa9, 0xaa, 0xcc, 0x3f, 0xb8, 0xfa, 0xab, + 0xc9, 0x08, 0xed, 0xda, 0x65, 0x3b, 0xf7, 0x40, +}; +static const unsigned char kat293_retbits[] = { + 0xce, 0x2f, 0x8c, 0x2a, 0xcc, 0xc4, 0xc4, 0x5f, 0x18, 0x3b, 0xfe, 0xbe, + 0xcf, 0x1a, 0xdd, 0x4f, 0x32, 0xed, 0x36, 0x0d, 0x35, 0x6e, 0xfb, 0x90, + 0x63, 0x15, 0xc0, 0x43, 0xd1, 0x50, 0x66, 0x0a, 0x35, 0xb5, 0xd0, 0x35, + 0x0c, 0xb0, 0x53, 0xd4, 0x58, 0x16, 0x7e, 0xac, 0xf3, 0x5c, 0xc7, 0x01, + 0x2b, 0xdd, 0x1e, 0xf7, 0x08, 0x18, 0xde, 0xdd, 0xf3, 0x8b, 0x4e, 0x85, + 0x57, 0xbc, 0xc0, 0x3e, +}; +static const struct drbg_kat_no_reseed kat293_t = { + 7, kat293_entropyin, kat293_nonce, kat293_persstr, + kat293_addin0, kat293_addin1, kat293_retbits +}; +static const struct drbg_kat kat293 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat293_t +}; + +static const unsigned char kat294_entropyin[] = { + 0x49, 0xb2, 0xae, 0x2b, 0x29, 0x14, 0xd6, 0x88, 0x53, 0x8b, 0xb2, 0x91, + 0x93, 0xae, 0x63, 0x78, 0xe0, 0xe8, 0xb9, 0x41, 0xdd, 0x3e, 0x31, 0x52, +}; +static const unsigned char kat294_nonce[] = { + 0x27, 0x9f, 0x5f, 0x18, 0x32, 0xcc, 0xd1, 0x0d, 0x08, 0x51, 0x40, 0x45, + 0x27, 0xed, 0x25, 0xfc, +}; +static const unsigned char kat294_persstr[] = { + 0xee, 0x3a, 0x40, 0xee, 0x43, 0x22, 0xba, 0xb1, 0x68, 0x23, 0x59, 0x23, + 0xb5, 0x2b, 0x80, 0xa3, 0xc7, 0x11, 0xcd, 0x7a, 0xd7, 0x61, 0x8e, 0x76, + 0x40, 0x0e, 0x46, 0xf1, 0x53, 0xa1, 0x07, 0x22, +}; +static const unsigned char kat294_addin0[] = { + 0xca, 0x3e, 0x55, 0xa7, 0xe1, 0xa5, 0x1d, 0x7d, 0xa3, 0x37, 0x9a, 0x2c, + 0xbc, 0x31, 0x62, 0xfe, 0xe7, 0x05, 0xff, 0xc8, 0xe2, 0xbb, 0x72, 0x94, + 0xe9, 0xf2, 0xd9, 0xc2, 0x9f, 0xe8, 0xb3, 0x86, +}; +static const unsigned char kat294_addin1[] = { + 0x09, 0xac, 0xba, 0x8e, 0x05, 0x59, 0x39, 0x94, 0x24, 0x8d, 0x40, 0x66, + 0xb3, 0xd7, 0x70, 0xf4, 0x1b, 0x47, 0xab, 0x82, 0x44, 0x96, 0x8b, 0xb6, + 0x26, 0xbd, 0xfb, 0x6d, 0xb1, 0x41, 0x76, 0x0f, +}; +static const unsigned char kat294_retbits[] = { + 0xaf, 0x2e, 0xb7, 0x3e, 0x49, 0xb1, 0x3c, 0x1c, 0x42, 0x62, 0x95, 0xfa, + 0x26, 0x43, 0xde, 0x08, 0xb1, 0x92, 0xac, 0x24, 0x07, 0x9b, 0x71, 0xc8, + 0xc1, 0x75, 0x50, 0x96, 0x44, 0x93, 0x7f, 0x22, 0x2d, 0xfb, 0xd6, 0xc7, + 0x7d, 0xd2, 0x5e, 0xa3, 0xea, 0xfe, 0xf7, 0x1d, 0xa2, 0xaa, 0x7b, 0xdb, + 0x68, 0xab, 0x4c, 0x8e, 0x97, 0xbd, 0xeb, 0x7c, 0x70, 0x6d, 0x99, 0xb5, + 0xb6, 0x7c, 0x6f, 0x9d, +}; +static const struct drbg_kat_no_reseed kat294_t = { + 8, kat294_entropyin, kat294_nonce, kat294_persstr, + kat294_addin0, kat294_addin1, kat294_retbits +}; +static const struct drbg_kat kat294 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat294_t +}; + +static const unsigned char kat295_entropyin[] = { + 0xe8, 0xc5, 0x38, 0xae, 0x11, 0x61, 0x98, 0x96, 0xbd, 0x34, 0x7d, 0x67, + 0x90, 0x07, 0x66, 0x1a, 0xce, 0x7e, 0x51, 0x92, 0xb8, 0x39, 0x19, 0x42, +}; +static const unsigned char kat295_nonce[] = { + 0xf8, 0x26, 0x28, 0xa0, 0x5a, 0x8d, 0xfc, 0x06, 0x68, 0xf7, 0xf7, 0x54, + 0xb1, 0x71, 0xd5, 0xdb, +}; +static const unsigned char kat295_persstr[] = { + 0x2c, 0x2a, 0x7e, 0xc3, 0x15, 0x64, 0xa3, 0x4e, 0x9c, 0xfb, 0x9f, 0x0f, + 0x42, 0xd8, 0xba, 0xb6, 0x81, 0x2b, 0x4a, 0xde, 0x26, 0x3a, 0xf4, 0xf0, + 0x02, 0x29, 0xe6, 0xeb, 0x99, 0x1e, 0x25, 0x92, +}; +static const unsigned char kat295_addin0[] = { + 0x8d, 0x9e, 0x18, 0x24, 0xd2, 0x77, 0x37, 0xaf, 0xc4, 0x11, 0xb2, 0x4b, + 0xe6, 0x5e, 0xac, 0x50, 0x48, 0x0f, 0xce, 0x4a, 0xfb, 0xf7, 0x31, 0x7a, + 0x24, 0xb0, 0x4e, 0x24, 0x67, 0x20, 0x6f, 0x54, +}; +static const unsigned char kat295_addin1[] = { + 0x3f, 0x02, 0x6a, 0x1a, 0x2b, 0xb8, 0xd0, 0x59, 0xc4, 0x95, 0xb0, 0xd4, + 0xa4, 0xf9, 0x73, 0x2d, 0x94, 0xaa, 0xf1, 0x5d, 0xe4, 0x2b, 0xf3, 0x44, + 0x12, 0xd7, 0x27, 0x0a, 0xaf, 0xca, 0x09, 0x9b, +}; +static const unsigned char kat295_retbits[] = { + 0xb3, 0x96, 0xa8, 0x56, 0x93, 0x88, 0x93, 0x2a, 0x6f, 0xd2, 0x8c, 0xab, + 0x6c, 0xfb, 0x53, 0x37, 0x57, 0x1c, 0x1c, 0x91, 0xb8, 0xde, 0xf9, 0x83, + 0x5a, 0x2d, 0xcf, 0x23, 0x53, 0x66, 0x93, 0xb6, 0xa2, 0x75, 0xab, 0xb4, + 0xd4, 0xa3, 0xa2, 0xa1, 0xf4, 0x92, 0xb6, 0xfe, 0x5b, 0xce, 0x76, 0x30, + 0xde, 0x03, 0x99, 0x4e, 0xf2, 0x34, 0xd4, 0x25, 0x5e, 0xa3, 0x38, 0xa1, + 0x3a, 0xfb, 0x8e, 0x6d, +}; +static const struct drbg_kat_no_reseed kat295_t = { + 9, kat295_entropyin, kat295_nonce, kat295_persstr, + kat295_addin0, kat295_addin1, kat295_retbits +}; +static const struct drbg_kat kat295 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat295_t +}; + +static const unsigned char kat296_entropyin[] = { + 0x95, 0x44, 0xea, 0x65, 0x20, 0x52, 0x83, 0xf3, 0x66, 0x82, 0x4c, 0x55, + 0x60, 0x21, 0x78, 0xeb, 0x82, 0x13, 0x5d, 0x01, 0x57, 0x78, 0x8f, 0x86, +}; +static const unsigned char kat296_nonce[] = { + 0x5e, 0x03, 0x79, 0xad, 0xec, 0x23, 0x87, 0xfc, 0xdb, 0xc6, 0x4d, 0x0f, + 0x9e, 0x23, 0xcc, 0xb5, +}; +static const unsigned char kat296_persstr[] = { + 0xbe, 0x01, 0x6b, 0x1e, 0xf2, 0x74, 0xc7, 0x2c, 0x74, 0x97, 0x0c, 0x7f, + 0x16, 0xff, 0x9f, 0x6d, 0xd5, 0x79, 0xad, 0x73, 0x6a, 0xb8, 0x02, 0x38, + 0x5b, 0xb7, 0xc5, 0xee, 0xf7, 0x08, 0x6a, 0x95, +}; +static const unsigned char kat296_addin0[] = { + 0xaa, 0xbf, 0xe4, 0x85, 0x76, 0x08, 0x9e, 0x44, 0x43, 0x1a, 0xe8, 0x94, + 0xcc, 0x31, 0x6e, 0xe9, 0x6b, 0xf7, 0xa4, 0x91, 0x89, 0xc7, 0xe4, 0x2a, + 0xbc, 0xca, 0x27, 0x87, 0x8b, 0x30, 0xef, 0x24, +}; +static const unsigned char kat296_addin1[] = { + 0xb5, 0x29, 0xe2, 0xd3, 0x7b, 0x08, 0x08, 0xb1, 0xc9, 0x25, 0x34, 0x40, + 0x19, 0xdd, 0xdd, 0x3e, 0xea, 0x22, 0x77, 0x68, 0x38, 0xa0, 0x6e, 0x67, + 0x7f, 0xff, 0x67, 0x12, 0x7b, 0xb6, 0x8a, 0x6d, +}; +static const unsigned char kat296_retbits[] = { + 0xab, 0x1a, 0x41, 0x84, 0x13, 0x30, 0xdf, 0x7e, 0x73, 0x4a, 0x57, 0xbe, + 0x20, 0x81, 0x71, 0x95, 0x0f, 0xa8, 0xe6, 0x4f, 0x4a, 0x2e, 0x26, 0xc7, + 0x2a, 0x10, 0xb3, 0x3d, 0xf9, 0xa7, 0x7b, 0xb2, 0x42, 0x84, 0xbf, 0xa7, + 0x22, 0x0b, 0xf8, 0xef, 0x03, 0x5e, 0x4d, 0x15, 0x84, 0x2b, 0xe5, 0x51, + 0x03, 0xec, 0x47, 0x43, 0xe2, 0xa9, 0x5b, 0xad, 0xd9, 0x48, 0x4b, 0x36, + 0x0d, 0x22, 0xe2, 0xdb, +}; +static const struct drbg_kat_no_reseed kat296_t = { + 10, kat296_entropyin, kat296_nonce, kat296_persstr, + kat296_addin0, kat296_addin1, kat296_retbits +}; +static const struct drbg_kat kat296 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat296_t +}; + +static const unsigned char kat297_entropyin[] = { + 0x25, 0xec, 0x07, 0x42, 0x27, 0x5e, 0x6f, 0xd6, 0xd3, 0x09, 0xa0, 0x26, + 0x99, 0xb7, 0xf2, 0x1a, 0xa1, 0x83, 0x62, 0xea, 0x68, 0x3b, 0xa7, 0x32, +}; +static const unsigned char kat297_nonce[] = { + 0x54, 0x24, 0xe5, 0x50, 0x26, 0xf0, 0x28, 0x36, 0x9f, 0xd9, 0x6f, 0x57, + 0x50, 0x9b, 0xfe, 0x92, +}; +static const unsigned char kat297_persstr[] = { + 0xef, 0xed, 0x65, 0x1e, 0x62, 0x79, 0x63, 0xc4, 0x3f, 0xbf, 0x16, 0x4b, + 0xd7, 0xb9, 0xb3, 0xbc, 0xf1, 0x8c, 0xb7, 0x8a, 0xe9, 0x7d, 0xc4, 0x8a, + 0x85, 0xd5, 0x21, 0x2a, 0xc7, 0x1a, 0x11, 0xfc, +}; +static const unsigned char kat297_addin0[] = { + 0x26, 0xb0, 0xf1, 0x02, 0x5f, 0x31, 0x83, 0x14, 0xb5, 0x5f, 0xc1, 0xa4, + 0xdd, 0x32, 0x55, 0x13, 0xc4, 0x53, 0xb6, 0x6d, 0x0b, 0x21, 0x29, 0x3f, + 0x77, 0x5c, 0xcd, 0x7d, 0x3b, 0x9f, 0x43, 0x43, +}; +static const unsigned char kat297_addin1[] = { + 0x2f, 0x94, 0xd7, 0xde, 0x2c, 0xe2, 0x5d, 0x12, 0x4d, 0x9d, 0xc6, 0x8b, + 0x39, 0xf9, 0x07, 0x6e, 0xcd, 0x2f, 0xf1, 0x4f, 0xe4, 0xe1, 0xd5, 0xc1, + 0x7c, 0x6e, 0x4d, 0xf2, 0x25, 0x7f, 0xc1, 0xde, +}; +static const unsigned char kat297_retbits[] = { + 0xf9, 0xfd, 0x57, 0x61, 0x04, 0xd7, 0xf6, 0x8a, 0x2a, 0xf7, 0xd6, 0xa6, + 0x3f, 0x82, 0x44, 0xb0, 0x63, 0xe2, 0x87, 0x78, 0x7d, 0x8c, 0x93, 0xf3, + 0x16, 0x7e, 0xed, 0x9f, 0x8f, 0x83, 0x20, 0xc8, 0x61, 0xcd, 0x8c, 0xcb, + 0x51, 0x24, 0xd3, 0x2a, 0xc7, 0x5c, 0x57, 0x6d, 0xaa, 0xc3, 0x08, 0x2b, + 0x3f, 0x5f, 0x75, 0x50, 0x64, 0x0b, 0x77, 0x9e, 0x6f, 0xbe, 0xb7, 0xa3, + 0xf8, 0x9f, 0xcb, 0x11, +}; +static const struct drbg_kat_no_reseed kat297_t = { + 11, kat297_entropyin, kat297_nonce, kat297_persstr, + kat297_addin0, kat297_addin1, kat297_retbits +}; +static const struct drbg_kat kat297 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat297_t +}; + +static const unsigned char kat298_entropyin[] = { + 0xb7, 0x2b, 0xc2, 0xe7, 0x5e, 0x22, 0x7a, 0x5f, 0xab, 0xc2, 0x67, 0xc7, + 0x7f, 0xc7, 0xf9, 0x9c, 0x81, 0xd2, 0xe4, 0xe4, 0x1e, 0xfc, 0x31, 0xb0, +}; +static const unsigned char kat298_nonce[] = { + 0x3e, 0x28, 0x60, 0x39, 0xed, 0x89, 0x9f, 0x2b, 0xdc, 0x70, 0x25, 0xa7, + 0xd3, 0x07, 0x12, 0xdc, +}; +static const unsigned char kat298_persstr[] = { + 0x35, 0x90, 0x15, 0x3e, 0xf3, 0xb5, 0x80, 0x51, 0x6a, 0x0a, 0xae, 0x3e, + 0x9c, 0xc7, 0xe3, 0x8c, 0x3e, 0xe6, 0xf1, 0x70, 0x3b, 0xf7, 0x7a, 0x3a, + 0x6d, 0x8f, 0xdb, 0x58, 0x40, 0x0c, 0xf1, 0x20, +}; +static const unsigned char kat298_addin0[] = { + 0x7d, 0x62, 0xa4, 0x68, 0x7d, 0x5c, 0x11, 0xd3, 0x7c, 0x3a, 0x86, 0x47, + 0x4a, 0x53, 0x22, 0x8c, 0xa5, 0x30, 0x7e, 0xc5, 0x80, 0x1d, 0xc2, 0x49, + 0x53, 0xa0, 0x12, 0x88, 0xde, 0x86, 0x8b, 0xdb, +}; +static const unsigned char kat298_addin1[] = { + 0xf4, 0xce, 0x4d, 0x4b, 0x6c, 0xc8, 0x04, 0x1c, 0xc0, 0x94, 0xf0, 0x5f, + 0xb4, 0x68, 0x36, 0xfe, 0x79, 0x4c, 0x81, 0x0a, 0x00, 0xea, 0x54, 0x54, + 0x26, 0x29, 0x74, 0x96, 0xd1, 0xb3, 0xda, 0x84, +}; +static const unsigned char kat298_retbits[] = { + 0x91, 0x91, 0x88, 0x42, 0x1a, 0xc9, 0x04, 0xb1, 0x86, 0x98, 0x66, 0x2d, + 0xf0, 0x6b, 0x1b, 0x2c, 0x61, 0xd9, 0x38, 0xee, 0x32, 0x45, 0x70, 0xa4, + 0xd3, 0xfd, 0x84, 0x53, 0x47, 0xf7, 0x6a, 0xb9, 0x0e, 0xa8, 0x98, 0xe8, + 0x74, 0xd5, 0x29, 0x07, 0x75, 0x42, 0x94, 0x1d, 0xf5, 0x47, 0xdc, 0xd1, + 0xb0, 0xa3, 0x70, 0xad, 0xb8, 0xf3, 0xcf, 0x2b, 0x66, 0x50, 0x9f, 0x2a, + 0xa0, 0x0c, 0xe0, 0x07, +}; +static const struct drbg_kat_no_reseed kat298_t = { + 12, kat298_entropyin, kat298_nonce, kat298_persstr, + kat298_addin0, kat298_addin1, kat298_retbits +}; +static const struct drbg_kat kat298 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat298_t +}; + +static const unsigned char kat299_entropyin[] = { + 0x80, 0x0e, 0xa2, 0xb7, 0xe2, 0xa3, 0x4b, 0xa4, 0xe0, 0x4a, 0x8b, 0x2e, + 0x3f, 0x40, 0x4a, 0x4e, 0xbe, 0x78, 0xd1, 0xb1, 0x19, 0x64, 0x71, 0x0b, +}; +static const unsigned char kat299_nonce[] = { + 0x26, 0x14, 0xf4, 0x44, 0xb7, 0x0a, 0x50, 0xd8, 0xae, 0x85, 0x27, 0x07, + 0x86, 0x74, 0x16, 0x35, +}; +static const unsigned char kat299_persstr[] = { + 0x61, 0x11, 0x2f, 0x45, 0x79, 0xe8, 0xda, 0x87, 0xf9, 0xbd, 0x33, 0xaa, + 0xd0, 0x8f, 0xbe, 0xea, 0x17, 0xe7, 0x8d, 0xe3, 0xdb, 0xf6, 0xa7, 0x55, + 0x49, 0xdc, 0x50, 0xd2, 0xa9, 0x22, 0x72, 0x16, +}; +static const unsigned char kat299_addin0[] = { + 0x67, 0x1b, 0x8c, 0xc5, 0x1f, 0x1c, 0x53, 0xe4, 0x25, 0xd5, 0xf9, 0x7d, + 0x73, 0x05, 0x30, 0x21, 0xdd, 0x6a, 0xf2, 0x3f, 0x6a, 0xbd, 0xa8, 0x2e, + 0xfb, 0x00, 0x63, 0x75, 0xfd, 0xfe, 0x68, 0x18, +}; +static const unsigned char kat299_addin1[] = { + 0x50, 0x2f, 0xc3, 0xd1, 0xe8, 0x9e, 0x17, 0xf0, 0xf1, 0x11, 0xdf, 0xa3, + 0x2c, 0x74, 0x8a, 0x79, 0xdd, 0x1b, 0x1e, 0x19, 0x02, 0x40, 0x27, 0xbc, + 0x0d, 0x92, 0xed, 0x30, 0x63, 0x85, 0x5b, 0x07, +}; +static const unsigned char kat299_retbits[] = { + 0xad, 0xfc, 0xe1, 0x6f, 0x2f, 0x64, 0x82, 0xd0, 0x19, 0x0d, 0xdd, 0xbb, + 0x89, 0xea, 0xd4, 0x48, 0xe3, 0x32, 0x64, 0xfb, 0xe9, 0xf7, 0x6e, 0xf7, + 0x53, 0x07, 0x62, 0x25, 0xf1, 0xc4, 0x30, 0x68, 0x6f, 0x33, 0x2c, 0xba, + 0x84, 0x54, 0xab, 0x81, 0xef, 0x91, 0x86, 0xa8, 0x2a, 0x81, 0x45, 0x31, + 0xc4, 0x9a, 0x1e, 0x46, 0xa2, 0x37, 0x2f, 0xd0, 0x6f, 0xfc, 0x57, 0x68, + 0x23, 0x00, 0x1b, 0x97, +}; +static const struct drbg_kat_no_reseed kat299_t = { + 13, kat299_entropyin, kat299_nonce, kat299_persstr, + kat299_addin0, kat299_addin1, kat299_retbits +}; +static const struct drbg_kat kat299 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat299_t +}; + +static const unsigned char kat300_entropyin[] = { + 0x46, 0xbc, 0x30, 0x11, 0x14, 0x29, 0x14, 0xe8, 0x7f, 0x3b, 0xed, 0xea, + 0x5d, 0x09, 0xed, 0xc1, 0x88, 0xac, 0xdb, 0x2b, 0xd4, 0x96, 0x2d, 0x5e, +}; +static const unsigned char kat300_nonce[] = { + 0x99, 0xb0, 0xb4, 0xb4, 0x42, 0xe8, 0x5e, 0xaf, 0x63, 0x8a, 0xb4, 0x65, + 0x44, 0x37, 0xc6, 0xbf, +}; +static const unsigned char kat300_persstr[] = { + 0x5b, 0xe5, 0x1d, 0x43, 0x7e, 0x75, 0x05, 0x7d, 0xd2, 0xef, 0x4c, 0xa7, + 0x44, 0x3f, 0xad, 0xe0, 0x7d, 0x52, 0x0d, 0x17, 0x07, 0x4b, 0x5b, 0xd7, + 0x3a, 0xca, 0x11, 0x17, 0x31, 0xb5, 0x08, 0xa5, +}; +static const unsigned char kat300_addin0[] = { + 0x81, 0xa5, 0x40, 0xc5, 0xf3, 0x37, 0x9a, 0x46, 0xa2, 0xea, 0x35, 0xcf, + 0xa3, 0x58, 0xd6, 0x7f, 0x6b, 0x35, 0xc0, 0x23, 0xf9, 0x10, 0x30, 0x4b, + 0x87, 0x37, 0x44, 0xaa, 0xb6, 0x32, 0x55, 0xbf, +}; +static const unsigned char kat300_addin1[] = { + 0x55, 0xa2, 0xe3, 0x45, 0x99, 0xb0, 0x05, 0x08, 0xea, 0x03, 0x89, 0x56, + 0x3c, 0xf5, 0xc6, 0x63, 0x77, 0x5e, 0x4c, 0x19, 0x13, 0x01, 0x3e, 0x65, + 0x99, 0x9e, 0xa1, 0x52, 0x94, 0x78, 0x84, 0xfb, +}; +static const unsigned char kat300_retbits[] = { + 0x56, 0x22, 0xea, 0x84, 0x41, 0x40, 0x52, 0x21, 0x81, 0xd8, 0x3c, 0x5d, + 0xb4, 0x31, 0x8e, 0xfe, 0xa2, 0x59, 0x07, 0x80, 0x70, 0x5b, 0x94, 0x9a, + 0x94, 0x22, 0xf0, 0xee, 0x57, 0x0c, 0x3e, 0x61, 0x35, 0x61, 0x64, 0xc2, + 0xe8, 0xc3, 0x27, 0x5f, 0x5e, 0xdc, 0x8c, 0xf1, 0x8b, 0x71, 0xec, 0xd6, + 0x34, 0xea, 0xe5, 0x29, 0x01, 0xca, 0xa5, 0x23, 0x04, 0x7d, 0xc1, 0x78, + 0xf0, 0x2f, 0x2c, 0xc6, +}; +static const struct drbg_kat_no_reseed kat300_t = { + 14, kat300_entropyin, kat300_nonce, kat300_persstr, + kat300_addin0, kat300_addin1, kat300_retbits +}; +static const struct drbg_kat kat300 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat300_t +}; + +static const unsigned char kat301_entropyin[] = { + 0xa5, 0x7c, 0xc3, 0xb9, 0x95, 0xf3, 0x55, 0x62, 0xba, 0x30, 0x61, 0x9c, + 0xe6, 0xc2, 0xb5, 0x1f, 0x22, 0x17, 0xbf, 0xf0, 0x14, 0x00, 0x6e, 0xf1, +}; +static const unsigned char kat301_nonce[] = { + 0xe5, 0x0a, 0x31, 0x2b, 0x22, 0xd6, 0x8f, 0x32, 0x0d, 0x4b, 0xac, 0x24, + 0x0d, 0x41, 0x4f, 0x47, +}; +static const unsigned char kat301_persstr[] = {0}; +static const unsigned char kat301_addin0[] = {0}; +static const unsigned char kat301_addin1[] = {0}; +static const unsigned char kat301_retbits[] = { + 0xf2, 0xcf, 0xfe, 0xb0, 0xf4, 0xff, 0xbe, 0x77, 0x3d, 0xc8, 0x04, 0x72, + 0x08, 0x2b, 0x3c, 0x0a, 0x87, 0x7a, 0xaa, 0x11, 0x3d, 0xc4, 0xd8, 0x67, + 0x8b, 0x25, 0xd8, 0x42, 0x02, 0x70, 0xe3, 0x50, 0x88, 0xcd, 0x9e, 0xb2, + 0xcb, 0xaa, 0xd9, 0xbc, 0x3d, 0x5b, 0x51, 0x86, 0x54, 0x47, 0x24, 0x5a, + 0x3a, 0x78, 0xb3, 0x8c, 0x51, 0xd0, 0xa1, 0x9c, 0xa0, 0x8c, 0x61, 0x95, + 0x58, 0x7d, 0xfd, 0x7a, +}; +static const struct drbg_kat_no_reseed kat301_t = { + 0, kat301_entropyin, kat301_nonce, kat301_persstr, + kat301_addin0, kat301_addin1, kat301_retbits +}; +static const struct drbg_kat kat301 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat301_t +}; + +static const unsigned char kat302_entropyin[] = { + 0x0b, 0x61, 0x0e, 0x89, 0x79, 0x68, 0x2f, 0x44, 0xd9, 0x37, 0xc9, 0x74, + 0xe7, 0x3a, 0x4c, 0x3d, 0xf9, 0x5a, 0x34, 0xb0, 0x92, 0x40, 0x5f, 0xe4, +}; +static const unsigned char kat302_nonce[] = { + 0x08, 0x55, 0x81, 0xc0, 0x1f, 0xb9, 0x16, 0x15, 0x84, 0xb9, 0xf6, 0x52, + 0x6f, 0x54, 0x7b, 0x44, +}; +static const unsigned char kat302_persstr[] = {0}; +static const unsigned char kat302_addin0[] = {0}; +static const unsigned char kat302_addin1[] = {0}; +static const unsigned char kat302_retbits[] = { + 0x28, 0x2d, 0xfb, 0x8a, 0x9e, 0xd6, 0x72, 0x12, 0x29, 0xf7, 0x81, 0xa1, + 0x5a, 0x70, 0x33, 0xad, 0xbc, 0xd4, 0x9a, 0x21, 0x0a, 0x23, 0x1e, 0x17, + 0xeb, 0x70, 0xd6, 0x4c, 0xa8, 0x03, 0x75, 0xa8, 0xff, 0xcb, 0x4e, 0x9a, + 0xc6, 0xe2, 0x32, 0x73, 0xca, 0x96, 0x54, 0xe6, 0x71, 0xcc, 0xb1, 0xae, + 0x3b, 0xb5, 0x96, 0xbf, 0x7a, 0x8d, 0xf5, 0xdd, 0x23, 0x0b, 0xf4, 0xa2, + 0xb3, 0x9b, 0xf9, 0x6f, +}; +static const struct drbg_kat_no_reseed kat302_t = { + 1, kat302_entropyin, kat302_nonce, kat302_persstr, + kat302_addin0, kat302_addin1, kat302_retbits +}; +static const struct drbg_kat kat302 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat302_t +}; + +static const unsigned char kat303_entropyin[] = { + 0xf9, 0x3e, 0x04, 0x17, 0x48, 0x91, 0x02, 0x81, 0xa4, 0xff, 0x37, 0xef, + 0xe8, 0x30, 0xac, 0x02, 0x64, 0xe4, 0xb1, 0x2e, 0xce, 0x06, 0x78, 0xee, +}; +static const unsigned char kat303_nonce[] = { + 0x7d, 0x4d, 0x6c, 0x54, 0x5d, 0xe8, 0xc8, 0x11, 0x84, 0x55, 0x59, 0x54, + 0x34, 0x65, 0x1b, 0xbc, +}; +static const unsigned char kat303_persstr[] = {0}; +static const unsigned char kat303_addin0[] = {0}; +static const unsigned char kat303_addin1[] = {0}; +static const unsigned char kat303_retbits[] = { + 0xa7, 0x3e, 0x59, 0xa6, 0x6d, 0xe5, 0x02, 0x29, 0x8a, 0x81, 0x06, 0x93, + 0x9f, 0xfa, 0xf8, 0x56, 0xaf, 0x9f, 0x17, 0x2b, 0x85, 0xf5, 0xe9, 0x9b, + 0x05, 0x7d, 0x6b, 0x4d, 0x6e, 0xf0, 0x52, 0xf1, 0x22, 0x67, 0x00, 0xe5, + 0xe3, 0x98, 0xe6, 0x80, 0x2f, 0x2a, 0x4a, 0xfa, 0x04, 0xe7, 0xff, 0x00, + 0xc4, 0x6f, 0x57, 0xf3, 0x45, 0xeb, 0x03, 0xde, 0x8f, 0xa7, 0x79, 0x5a, + 0x06, 0x0c, 0xf3, 0x40, +}; +static const struct drbg_kat_no_reseed kat303_t = { + 2, kat303_entropyin, kat303_nonce, kat303_persstr, + kat303_addin0, kat303_addin1, kat303_retbits +}; +static const struct drbg_kat kat303 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat303_t +}; + +static const unsigned char kat304_entropyin[] = { + 0x81, 0x48, 0x86, 0xa6, 0xb9, 0xa3, 0xcf, 0xc3, 0x18, 0x78, 0x5b, 0x41, + 0x93, 0x9f, 0x7b, 0x07, 0x5e, 0xc6, 0xb0, 0x0f, 0xc7, 0xff, 0x1c, 0x9c, +}; +static const unsigned char kat304_nonce[] = { + 0xd1, 0x33, 0x13, 0x12, 0x3f, 0xbc, 0x45, 0xce, 0x8b, 0x9e, 0x8a, 0x0a, + 0x4d, 0x82, 0xb2, 0x7a, +}; +static const unsigned char kat304_persstr[] = {0}; +static const unsigned char kat304_addin0[] = {0}; +static const unsigned char kat304_addin1[] = {0}; +static const unsigned char kat304_retbits[] = { + 0xba, 0x2a, 0x7c, 0x50, 0xc6, 0xd3, 0xe7, 0xef, 0x2d, 0x84, 0x91, 0x06, + 0xc6, 0xe8, 0x33, 0x10, 0xd9, 0xad, 0x1c, 0x1d, 0x0e, 0xf5, 0x3e, 0x61, + 0xc8, 0xb9, 0x55, 0xac, 0xb4, 0xef, 0x43, 0x42, 0xe1, 0xc0, 0xf5, 0xf2, + 0x2e, 0x19, 0xbb, 0x1e, 0xea, 0x5d, 0x0f, 0x03, 0xb6, 0xd5, 0x96, 0x92, + 0x91, 0xc4, 0x01, 0xfb, 0x6c, 0x55, 0xc9, 0x9f, 0x42, 0x52, 0xb6, 0xca, + 0x7f, 0x34, 0x19, 0x35, +}; +static const struct drbg_kat_no_reseed kat304_t = { + 3, kat304_entropyin, kat304_nonce, kat304_persstr, + kat304_addin0, kat304_addin1, kat304_retbits +}; +static const struct drbg_kat kat304 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat304_t +}; + +static const unsigned char kat305_entropyin[] = { + 0x69, 0xce, 0x9b, 0xc6, 0xa2, 0x66, 0x95, 0x02, 0x70, 0xba, 0xb4, 0x7f, + 0x50, 0x19, 0xf5, 0x76, 0xfb, 0x9d, 0xee, 0x08, 0x17, 0x9b, 0x34, 0xeb, +}; +static const unsigned char kat305_nonce[] = { + 0x63, 0x02, 0x5d, 0x58, 0x8f, 0x1d, 0x08, 0xf3, 0x81, 0x16, 0x96, 0xa6, + 0x3a, 0x10, 0x02, 0xe7, +}; +static const unsigned char kat305_persstr[] = {0}; +static const unsigned char kat305_addin0[] = {0}; +static const unsigned char kat305_addin1[] = {0}; +static const unsigned char kat305_retbits[] = { + 0x5e, 0x52, 0xaf, 0xd2, 0xa8, 0x67, 0x01, 0xcb, 0x40, 0xbd, 0x77, 0xba, + 0xf5, 0x5e, 0xff, 0x3a, 0x6c, 0x9f, 0x84, 0x34, 0x56, 0xed, 0x64, 0xd4, + 0x01, 0x53, 0x32, 0x77, 0x9f, 0xe0, 0xb2, 0x6a, 0xea, 0xc6, 0x34, 0xcb, + 0x06, 0x21, 0xc4, 0x3b, 0x3a, 0xb7, 0x1e, 0xea, 0x2a, 0xdf, 0x96, 0x31, + 0x2d, 0x38, 0x5c, 0x62, 0xc3, 0x1c, 0x09, 0x51, 0x52, 0x32, 0x60, 0xc4, + 0x69, 0xb2, 0x7d, 0x88, +}; +static const struct drbg_kat_no_reseed kat305_t = { + 4, kat305_entropyin, kat305_nonce, kat305_persstr, + kat305_addin0, kat305_addin1, kat305_retbits +}; +static const struct drbg_kat kat305 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat305_t +}; + +static const unsigned char kat306_entropyin[] = { + 0x25, 0x46, 0x9a, 0x3c, 0x9a, 0x37, 0xbd, 0x9e, 0xa9, 0x1c, 0x6f, 0x24, + 0x3e, 0x44, 0x4c, 0x1b, 0x36, 0x03, 0x01, 0x52, 0xd6, 0x38, 0x00, 0xf5, +}; +static const unsigned char kat306_nonce[] = { + 0xa2, 0xb8, 0x39, 0xab, 0xcf, 0xe4, 0xa8, 0x73, 0x68, 0x65, 0x6f, 0x43, + 0xb5, 0xbb, 0x4e, 0x2e, +}; +static const unsigned char kat306_persstr[] = {0}; +static const unsigned char kat306_addin0[] = {0}; +static const unsigned char kat306_addin1[] = {0}; +static const unsigned char kat306_retbits[] = { + 0x32, 0xc1, 0xfd, 0x38, 0xda, 0x53, 0xad, 0xbc, 0x0a, 0x21, 0xa8, 0x28, + 0xdd, 0xdc, 0xb6, 0x80, 0x9f, 0xb0, 0x1d, 0x28, 0x30, 0xc6, 0xa5, 0x44, + 0xd1, 0x2f, 0x55, 0xfa, 0x2e, 0x44, 0x43, 0xf9, 0x5f, 0x00, 0x5c, 0x0f, + 0xf2, 0x4c, 0x64, 0x92, 0xb6, 0x40, 0x95, 0xe3, 0x74, 0x6f, 0x07, 0x12, + 0x2f, 0x98, 0x3d, 0x23, 0x8f, 0x23, 0xda, 0xff, 0xf7, 0x10, 0x3a, 0x7c, + 0xda, 0x57, 0xeb, 0x0e, +}; +static const struct drbg_kat_no_reseed kat306_t = { + 5, kat306_entropyin, kat306_nonce, kat306_persstr, + kat306_addin0, kat306_addin1, kat306_retbits +}; +static const struct drbg_kat kat306 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat306_t +}; + +static const unsigned char kat307_entropyin[] = { + 0xb8, 0x8a, 0x61, 0x0e, 0x68, 0x7c, 0x1e, 0x06, 0xd1, 0x8c, 0xa9, 0x12, + 0x86, 0x6b, 0x55, 0xd2, 0x76, 0xa7, 0x89, 0xcf, 0xf9, 0x43, 0x95, 0x95, +}; +static const unsigned char kat307_nonce[] = { + 0x25, 0x4f, 0x4b, 0xaa, 0x2b, 0x34, 0xe9, 0x89, 0x8d, 0x5f, 0x78, 0x59, + 0x77, 0x24, 0xdd, 0xc7, +}; +static const unsigned char kat307_persstr[] = {0}; +static const unsigned char kat307_addin0[] = {0}; +static const unsigned char kat307_addin1[] = {0}; +static const unsigned char kat307_retbits[] = { + 0x32, 0x41, 0x1f, 0x32, 0x50, 0xbf, 0x2a, 0x18, 0xce, 0xd4, 0x8f, 0x52, + 0x2b, 0x3c, 0xc3, 0x06, 0xaf, 0xc1, 0x8e, 0x7a, 0x36, 0xcd, 0x64, 0x81, + 0x66, 0x47, 0xa0, 0x0c, 0x22, 0x1b, 0x99, 0x6a, 0x82, 0xee, 0x85, 0x0b, + 0x7c, 0x0a, 0x8c, 0xa2, 0x24, 0x1b, 0x7c, 0x6e, 0x64, 0x5b, 0x45, 0x3e, + 0x01, 0xfc, 0x35, 0xfb, 0xa5, 0x4d, 0x5b, 0xae, 0xd9, 0x22, 0x8a, 0x98, + 0xa6, 0x72, 0xdb, 0x67, +}; +static const struct drbg_kat_no_reseed kat307_t = { + 6, kat307_entropyin, kat307_nonce, kat307_persstr, + kat307_addin0, kat307_addin1, kat307_retbits +}; +static const struct drbg_kat kat307 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat307_t +}; + +static const unsigned char kat308_entropyin[] = { + 0xf3, 0x2b, 0xb1, 0x0c, 0x9e, 0x0d, 0x8f, 0x53, 0x45, 0x38, 0x94, 0x0f, + 0xba, 0xa3, 0x68, 0x44, 0xe7, 0xf6, 0xf0, 0x91, 0x97, 0x50, 0xe1, 0xeb, +}; +static const unsigned char kat308_nonce[] = { + 0x33, 0x4b, 0x85, 0xe0, 0x31, 0x51, 0x96, 0x07, 0xe0, 0x01, 0xa2, 0x87, + 0xe3, 0x25, 0x83, 0x22, +}; +static const unsigned char kat308_persstr[] = {0}; +static const unsigned char kat308_addin0[] = {0}; +static const unsigned char kat308_addin1[] = {0}; +static const unsigned char kat308_retbits[] = { + 0x75, 0x58, 0xc5, 0x96, 0x84, 0xf7, 0xa0, 0x47, 0xa1, 0xe5, 0x92, 0x9c, + 0x8a, 0x37, 0xde, 0xfc, 0x2f, 0x1f, 0x55, 0x4a, 0x34, 0xc4, 0x7f, 0xcd, + 0x9d, 0xda, 0xcf, 0x88, 0xbb, 0xf7, 0xea, 0xc4, 0x07, 0x04, 0xae, 0xaa, + 0x50, 0x3c, 0xff, 0x89, 0x63, 0x29, 0x5e, 0x70, 0x24, 0x35, 0xf7, 0x3c, + 0x93, 0xff, 0x35, 0x4f, 0x52, 0x9e, 0xe2, 0xda, 0x08, 0xc3, 0x50, 0xd4, + 0xcc, 0xb6, 0xd4, 0x5f, +}; +static const struct drbg_kat_no_reseed kat308_t = { + 7, kat308_entropyin, kat308_nonce, kat308_persstr, + kat308_addin0, kat308_addin1, kat308_retbits +}; +static const struct drbg_kat kat308 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat308_t +}; + +static const unsigned char kat309_entropyin[] = { + 0xcf, 0x14, 0x4d, 0xdf, 0xc1, 0x32, 0xa6, 0xa6, 0xe7, 0xb5, 0xa1, 0xef, + 0xd5, 0x15, 0xc7, 0x04, 0xfc, 0x22, 0x82, 0x3e, 0x21, 0x7d, 0x32, 0xdd, +}; +static const unsigned char kat309_nonce[] = { + 0x5a, 0x0b, 0xc0, 0xc8, 0x7c, 0xcc, 0xd9, 0x08, 0xb4, 0x40, 0xd6, 0xa4, + 0xc7, 0x38, 0xfa, 0x74, +}; +static const unsigned char kat309_persstr[] = {0}; +static const unsigned char kat309_addin0[] = {0}; +static const unsigned char kat309_addin1[] = {0}; +static const unsigned char kat309_retbits[] = { + 0x86, 0x5d, 0xb2, 0xd0, 0x71, 0x1d, 0xd3, 0xfd, 0xd5, 0xd2, 0xa1, 0x9a, + 0x65, 0xfb, 0x93, 0x1e, 0xec, 0xd8, 0x2b, 0xa2, 0xa7, 0xf2, 0xe5, 0x3b, + 0xd6, 0x42, 0x0a, 0x8b, 0x16, 0x47, 0xa4, 0x18, 0x02, 0xc0, 0x4f, 0x9b, + 0x6b, 0xa3, 0x4b, 0x85, 0xa7, 0x2b, 0x48, 0xfd, 0xe7, 0x60, 0x52, 0x3e, + 0x28, 0xd8, 0x7e, 0xda, 0xc9, 0xb8, 0xad, 0x6c, 0xba, 0x36, 0x1f, 0x13, + 0x53, 0xfd, 0x39, 0xae, +}; +static const struct drbg_kat_no_reseed kat309_t = { + 8, kat309_entropyin, kat309_nonce, kat309_persstr, + kat309_addin0, kat309_addin1, kat309_retbits +}; +static const struct drbg_kat kat309 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat309_t +}; + +static const unsigned char kat310_entropyin[] = { + 0xad, 0xe1, 0x90, 0x85, 0x34, 0x62, 0x4c, 0x6b, 0xc3, 0x75, 0x4d, 0xe0, + 0xdb, 0x75, 0x31, 0x38, 0x35, 0xa8, 0x28, 0x57, 0x2c, 0xd2, 0x77, 0xbd, +}; +static const unsigned char kat310_nonce[] = { + 0x05, 0xa5, 0xb6, 0xd2, 0x1b, 0x98, 0x05, 0x05, 0x93, 0xab, 0x98, 0x13, + 0x26, 0x8e, 0x2d, 0xc2, +}; +static const unsigned char kat310_persstr[] = {0}; +static const unsigned char kat310_addin0[] = {0}; +static const unsigned char kat310_addin1[] = {0}; +static const unsigned char kat310_retbits[] = { + 0xef, 0xb7, 0xb7, 0x7b, 0x76, 0xd7, 0xbf, 0x57, 0x1a, 0x9b, 0xb1, 0x3e, + 0x39, 0xec, 0x46, 0xa1, 0x9e, 0x91, 0x35, 0xab, 0x08, 0x6d, 0x06, 0xd5, + 0x9b, 0x20, 0xf0, 0x0c, 0x78, 0xf2, 0xaa, 0xa8, 0x48, 0xf6, 0x29, 0x32, + 0x7a, 0x0d, 0x67, 0x07, 0x29, 0xa4, 0x53, 0x91, 0xf2, 0xf0, 0x23, 0xa8, + 0xf4, 0x5f, 0x1c, 0xb1, 0x0b, 0x40, 0xc6, 0x61, 0x83, 0x17, 0xa4, 0x6a, + 0xfe, 0x0a, 0xe1, 0x30, +}; +static const struct drbg_kat_no_reseed kat310_t = { + 9, kat310_entropyin, kat310_nonce, kat310_persstr, + kat310_addin0, kat310_addin1, kat310_retbits +}; +static const struct drbg_kat kat310 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat310_t +}; + +static const unsigned char kat311_entropyin[] = { + 0x38, 0x80, 0xc2, 0x26, 0x90, 0x82, 0x47, 0x5c, 0x16, 0xb9, 0x78, 0xc7, + 0x2a, 0xf1, 0xde, 0x9d, 0x74, 0xec, 0x3c, 0x76, 0x94, 0xc5, 0x19, 0xca, +}; +static const unsigned char kat311_nonce[] = { + 0x83, 0xea, 0xd0, 0xf2, 0xd4, 0x6d, 0x8d, 0x1a, 0x77, 0x86, 0x90, 0xae, + 0x51, 0x2d, 0x66, 0xbd, +}; +static const unsigned char kat311_persstr[] = {0}; +static const unsigned char kat311_addin0[] = {0}; +static const unsigned char kat311_addin1[] = {0}; +static const unsigned char kat311_retbits[] = { + 0xaf, 0x4d, 0x71, 0xc1, 0x14, 0x75, 0x52, 0xbf, 0x8b, 0x35, 0x8e, 0x16, + 0xc9, 0xc7, 0xfe, 0x7f, 0x03, 0x66, 0x20, 0xcb, 0xd6, 0x1f, 0x14, 0x32, + 0xc8, 0xc5, 0xf2, 0x70, 0xda, 0xcc, 0xb2, 0xb9, 0xe1, 0x5c, 0x12, 0xe9, + 0xf5, 0x92, 0x10, 0x47, 0xdc, 0x92, 0xd4, 0x0a, 0x90, 0xe4, 0x5b, 0xf1, + 0x5f, 0xef, 0x12, 0x0a, 0x3e, 0x08, 0x42, 0x13, 0x54, 0x67, 0x4c, 0x95, + 0xa6, 0x30, 0x77, 0xe3, +}; +static const struct drbg_kat_no_reseed kat311_t = { + 10, kat311_entropyin, kat311_nonce, kat311_persstr, + kat311_addin0, kat311_addin1, kat311_retbits +}; +static const struct drbg_kat kat311 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat311_t +}; + +static const unsigned char kat312_entropyin[] = { + 0xb1, 0xd2, 0xc9, 0xab, 0x5a, 0x90, 0x45, 0x67, 0xbd, 0x03, 0x11, 0xc6, + 0x42, 0x04, 0x7d, 0xe1, 0xb3, 0x94, 0x41, 0xa5, 0xe2, 0xd9, 0x01, 0xbe, +}; +static const unsigned char kat312_nonce[] = { + 0x91, 0xc8, 0xd1, 0x9b, 0xf5, 0xd4, 0xf9, 0x51, 0x1f, 0x6c, 0x66, 0x53, + 0xa6, 0x58, 0x5b, 0xa6, +}; +static const unsigned char kat312_persstr[] = {0}; +static const unsigned char kat312_addin0[] = {0}; +static const unsigned char kat312_addin1[] = {0}; +static const unsigned char kat312_retbits[] = { + 0x8b, 0xc7, 0xb7, 0x90, 0xc7, 0x7b, 0x04, 0x7f, 0x7a, 0x17, 0x86, 0x41, + 0x61, 0x5c, 0x29, 0x5b, 0x16, 0x4b, 0x09, 0x03, 0x7c, 0x06, 0xa8, 0xdf, + 0x76, 0xbd, 0xa5, 0x9b, 0x77, 0xed, 0x28, 0x5f, 0x80, 0x8c, 0x96, 0xa4, + 0xb4, 0x9b, 0x45, 0x94, 0xa1, 0x82, 0x99, 0xc2, 0xa6, 0x2b, 0x1e, 0x0d, + 0x9c, 0xaa, 0xeb, 0x0f, 0x82, 0xc1, 0xde, 0x35, 0xb4, 0x28, 0x03, 0x8d, + 0x10, 0xab, 0x00, 0xc0, +}; +static const struct drbg_kat_no_reseed kat312_t = { + 11, kat312_entropyin, kat312_nonce, kat312_persstr, + kat312_addin0, kat312_addin1, kat312_retbits +}; +static const struct drbg_kat kat312 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat312_t +}; + +static const unsigned char kat313_entropyin[] = { + 0x19, 0x70, 0x0c, 0xe2, 0x88, 0x3e, 0xac, 0x51, 0x58, 0x75, 0xfc, 0x91, + 0x35, 0x3c, 0x9a, 0x9d, 0x59, 0x89, 0xb0, 0xd2, 0x9f, 0xa2, 0xee, 0xab, +}; +static const unsigned char kat313_nonce[] = { + 0x56, 0x56, 0x44, 0x93, 0x11, 0xe2, 0x46, 0xee, 0x80, 0x25, 0xcf, 0x30, + 0x3d, 0x6b, 0x6d, 0xa9, +}; +static const unsigned char kat313_persstr[] = {0}; +static const unsigned char kat313_addin0[] = {0}; +static const unsigned char kat313_addin1[] = {0}; +static const unsigned char kat313_retbits[] = { + 0x00, 0x02, 0x17, 0x84, 0x99, 0x39, 0xed, 0x26, 0xc9, 0xd5, 0xfd, 0xd4, + 0xd0, 0x03, 0xd5, 0x7c, 0x12, 0xf5, 0x2f, 0x6e, 0x7d, 0xae, 0x36, 0x4e, + 0x73, 0x75, 0x8c, 0x7f, 0xd1, 0x22, 0x5b, 0x17, 0xae, 0x66, 0xf3, 0x83, + 0x79, 0xa9, 0x03, 0xe7, 0x84, 0x54, 0x46, 0xf0, 0x99, 0x8a, 0x87, 0x45, + 0xe9, 0xae, 0xc9, 0xb4, 0xba, 0x31, 0x73, 0xba, 0x1b, 0x29, 0x21, 0xea, + 0xac, 0x31, 0x3e, 0x58, +}; +static const struct drbg_kat_no_reseed kat313_t = { + 12, kat313_entropyin, kat313_nonce, kat313_persstr, + kat313_addin0, kat313_addin1, kat313_retbits +}; +static const struct drbg_kat kat313 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat313_t +}; + +static const unsigned char kat314_entropyin[] = { + 0x55, 0x21, 0x10, 0x48, 0x6f, 0x04, 0xb8, 0xb1, 0x73, 0x74, 0x8b, 0xe0, + 0x9d, 0xb8, 0x53, 0x02, 0x3d, 0x7d, 0x1e, 0x6b, 0x9e, 0x63, 0x11, 0xf4, +}; +static const unsigned char kat314_nonce[] = { + 0xd2, 0x8c, 0x45, 0xca, 0x09, 0xd5, 0x11, 0x04, 0xd5, 0x19, 0xd3, 0x81, + 0xb0, 0x0c, 0xd7, 0x12, +}; +static const unsigned char kat314_persstr[] = {0}; +static const unsigned char kat314_addin0[] = {0}; +static const unsigned char kat314_addin1[] = {0}; +static const unsigned char kat314_retbits[] = { + 0xb3, 0x5b, 0x8c, 0xde, 0x56, 0xd5, 0xb2, 0xa3, 0x65, 0xa7, 0x55, 0xe4, + 0xd0, 0xbd, 0xbf, 0x70, 0x02, 0xe4, 0xb0, 0x61, 0x99, 0xa3, 0x42, 0xf1, + 0xb9, 0x8b, 0x73, 0x43, 0x11, 0xfc, 0xab, 0x66, 0xaf, 0x1e, 0xea, 0x2c, + 0x7f, 0xbc, 0x26, 0x42, 0xac, 0x36, 0x4c, 0x92, 0x0a, 0xf7, 0x24, 0xe3, + 0x7d, 0x45, 0xe8, 0xc1, 0x7c, 0xd4, 0x46, 0x7b, 0x89, 0x2a, 0x45, 0x36, + 0x47, 0x94, 0xa7, 0x46, +}; +static const struct drbg_kat_no_reseed kat314_t = { + 13, kat314_entropyin, kat314_nonce, kat314_persstr, + kat314_addin0, kat314_addin1, kat314_retbits +}; +static const struct drbg_kat kat314 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat314_t +}; + +static const unsigned char kat315_entropyin[] = { + 0xb2, 0xf6, 0x05, 0xfc, 0xf9, 0x92, 0x9b, 0x12, 0x43, 0xc8, 0x81, 0x99, + 0x14, 0x3f, 0x15, 0x42, 0x66, 0xfd, 0x85, 0x87, 0xc9, 0x0a, 0xaa, 0xb2, +}; +static const unsigned char kat315_nonce[] = { + 0x78, 0x1c, 0x85, 0x7f, 0x75, 0xbb, 0x59, 0x48, 0xc2, 0xa2, 0x2d, 0xd7, + 0x57, 0xb2, 0x47, 0xbe, +}; +static const unsigned char kat315_persstr[] = {0}; +static const unsigned char kat315_addin0[] = {0}; +static const unsigned char kat315_addin1[] = {0}; +static const unsigned char kat315_retbits[] = { + 0x77, 0x53, 0x79, 0x7b, 0x7b, 0x37, 0x25, 0xc8, 0x73, 0x9f, 0xf2, 0x11, + 0xa0, 0xcc, 0x8a, 0xe8, 0xa1, 0xe0, 0xf2, 0x80, 0x86, 0xed, 0xe4, 0xd4, + 0xf8, 0x36, 0xde, 0xe5, 0x7f, 0xbd, 0x78, 0x80, 0xf1, 0x05, 0x21, 0x24, + 0x27, 0x59, 0xb9, 0x72, 0x5a, 0x08, 0xcb, 0x64, 0x96, 0x59, 0xa2, 0xd8, + 0x1f, 0x54, 0x0e, 0x93, 0xf8, 0x7e, 0x49, 0x31, 0xd8, 0x1b, 0x59, 0xd9, + 0xcd, 0xcf, 0x45, 0xc0, +}; +static const struct drbg_kat_no_reseed kat315_t = { + 14, kat315_entropyin, kat315_nonce, kat315_persstr, + kat315_addin0, kat315_addin1, kat315_retbits +}; +static const struct drbg_kat kat315 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat315_t +}; + +static const unsigned char kat316_entropyin[] = { + 0xe6, 0x20, 0x98, 0xa1, 0x6d, 0x60, 0xd2, 0x75, 0x98, 0xea, 0x4c, 0x97, + 0xf2, 0xf0, 0x13, 0xc4, 0xff, 0xbd, 0x45, 0x6b, 0x54, 0xa8, 0xfc, 0xf7, +}; +static const unsigned char kat316_nonce[] = { + 0x10, 0x39, 0x1c, 0x9e, 0x4d, 0x79, 0x69, 0xfd, 0x2b, 0x1f, 0x89, 0x86, + 0xe0, 0x48, 0x60, 0xc8, +}; +static const unsigned char kat316_persstr[] = {0}; +static const unsigned char kat316_addin0[] = { + 0x6a, 0x7d, 0xb6, 0xd2, 0xf6, 0xf2, 0x35, 0x72, 0xfe, 0xff, 0xd3, 0xd7, + 0x74, 0x46, 0xf0, 0x7b, 0x92, 0x2e, 0xe7, 0xa9, 0xfe, 0x58, 0x01, 0x60, + 0xed, 0x2d, 0x8d, 0xd7, 0xff, 0xb5, 0x0b, 0x00, +}; +static const unsigned char kat316_addin1[] = { + 0x1c, 0x4f, 0x98, 0x2a, 0xce, 0x96, 0xe7, 0x84, 0x10, 0x3e, 0xa2, 0x54, + 0xcf, 0xd6, 0x85, 0xe9, 0x5a, 0xda, 0xfe, 0x79, 0x88, 0xd9, 0xee, 0xbd, + 0xcd, 0x82, 0xe7, 0xba, 0x02, 0x5f, 0x31, 0x53, +}; +static const unsigned char kat316_retbits[] = { + 0xaf, 0x0e, 0x2c, 0x20, 0x53, 0xe5, 0xa0, 0xef, 0x2d, 0xef, 0xa7, 0xdf, + 0xa6, 0xb4, 0x16, 0x4b, 0x4d, 0x83, 0x78, 0xf0, 0x0d, 0xfd, 0x97, 0x62, + 0xdb, 0xa6, 0x3a, 0x67, 0xef, 0x5b, 0x58, 0xc8, 0xe1, 0xa8, 0x6f, 0x56, + 0x0c, 0xcd, 0x93, 0x37, 0x11, 0x62, 0x43, 0x60, 0x9b, 0xc4, 0xb4, 0x54, + 0xbf, 0x8d, 0x1a, 0x1a, 0xa3, 0xf9, 0x9a, 0xd1, 0xd2, 0x58, 0xc3, 0x18, + 0xc7, 0x2d, 0x14, 0x4c, +}; +static const struct drbg_kat_no_reseed kat316_t = { + 0, kat316_entropyin, kat316_nonce, kat316_persstr, + kat316_addin0, kat316_addin1, kat316_retbits +}; +static const struct drbg_kat kat316 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat316_t +}; + +static const unsigned char kat317_entropyin[] = { + 0x83, 0x02, 0x64, 0x0e, 0x79, 0xce, 0xab, 0x3c, 0x2b, 0x9f, 0x2b, 0x3e, + 0xf8, 0x7e, 0x6a, 0xd9, 0x07, 0xd1, 0x2e, 0xa9, 0xad, 0x1a, 0x07, 0xc7, +}; +static const unsigned char kat317_nonce[] = { + 0xbc, 0xf4, 0xb6, 0xd5, 0xf6, 0x9c, 0xa0, 0x9b, 0xa4, 0xb3, 0xbf, 0x58, + 0x17, 0x23, 0xcd, 0x6b, +}; +static const unsigned char kat317_persstr[] = {0}; +static const unsigned char kat317_addin0[] = { + 0xc2, 0x7f, 0x38, 0x0b, 0x39, 0xcb, 0xb7, 0x15, 0x25, 0x67, 0x28, 0xde, + 0x46, 0x85, 0xf3, 0xc4, 0x28, 0x7b, 0x6e, 0x3b, 0xaf, 0x13, 0xc0, 0xf1, + 0xbe, 0x9b, 0xb4, 0xc8, 0x4d, 0xec, 0xad, 0x11, +}; +static const unsigned char kat317_addin1[] = { + 0x13, 0x52, 0x30, 0xd9, 0x56, 0x35, 0xfb, 0x88, 0xc7, 0x37, 0x07, 0x07, + 0x80, 0x18, 0x79, 0x2d, 0x40, 0x65, 0x84, 0x8a, 0xd8, 0x13, 0xab, 0x98, + 0x14, 0x95, 0x57, 0x1c, 0xf9, 0x88, 0x8e, 0x7c, +}; +static const unsigned char kat317_retbits[] = { + 0x9c, 0x61, 0xdc, 0xac, 0x29, 0xe1, 0xd8, 0x50, 0x8a, 0xef, 0x25, 0x38, + 0xad, 0xe8, 0xa8, 0x38, 0xec, 0xf5, 0xc5, 0x06, 0x1a, 0xdc, 0xda, 0xfb, + 0xce, 0x37, 0x74, 0xbd, 0x24, 0x0c, 0xc6, 0x23, 0x0b, 0x68, 0x48, 0x55, + 0x92, 0xa2, 0xec, 0x2c, 0x0b, 0x9d, 0x6f, 0x4f, 0x82, 0x02, 0xb1, 0x63, + 0xb8, 0x3e, 0xbc, 0x75, 0x2c, 0xc0, 0x8c, 0xc9, 0x27, 0xe2, 0xa7, 0x9d, + 0xb1, 0xba, 0xb8, 0x1e, +}; +static const struct drbg_kat_no_reseed kat317_t = { + 1, kat317_entropyin, kat317_nonce, kat317_persstr, + kat317_addin0, kat317_addin1, kat317_retbits +}; +static const struct drbg_kat kat317 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat317_t +}; + +static const unsigned char kat318_entropyin[] = { + 0xee, 0xad, 0x03, 0x90, 0xcd, 0x19, 0x34, 0x10, 0xc5, 0x20, 0xeb, 0x54, + 0x14, 0xae, 0x6f, 0x2e, 0x2e, 0xb0, 0x0b, 0xf5, 0xae, 0x0a, 0xf3, 0xde, +}; +static const unsigned char kat318_nonce[] = { + 0xd4, 0x0c, 0xa3, 0xe5, 0x21, 0xf2, 0xa5, 0x7e, 0x35, 0xbf, 0x3a, 0xed, + 0x30, 0x02, 0xab, 0xc0, +}; +static const unsigned char kat318_persstr[] = {0}; +static const unsigned char kat318_addin0[] = { + 0xe4, 0x30, 0x9e, 0xc8, 0x51, 0x9e, 0xed, 0x08, 0xe1, 0x54, 0x21, 0x30, + 0x14, 0x51, 0x8f, 0x02, 0xa8, 0x38, 0x75, 0xc7, 0x7e, 0x6b, 0xcb, 0x6e, + 0xb1, 0xdc, 0x21, 0xb1, 0x48, 0xbc, 0x17, 0xc1, +}; +static const unsigned char kat318_addin1[] = { + 0xa7, 0x6a, 0xae, 0xb9, 0xbd, 0xda, 0x28, 0x26, 0x38, 0xae, 0x77, 0x4f, + 0x35, 0xdf, 0x92, 0xa1, 0x0e, 0x2f, 0xdc, 0xb2, 0xfc, 0x91, 0x70, 0x3e, + 0xc8, 0xd5, 0x69, 0x37, 0x2d, 0x86, 0x89, 0x44, +}; +static const unsigned char kat318_retbits[] = { + 0xb4, 0xb8, 0x0f, 0x0d, 0x94, 0xa4, 0xf9, 0x31, 0x07, 0xe4, 0xb5, 0x4c, + 0x11, 0x8f, 0xd8, 0xa8, 0xca, 0x62, 0xd6, 0x0c, 0x54, 0x25, 0x86, 0x54, + 0xfb, 0x83, 0xdc, 0x3f, 0x4d, 0x24, 0xcf, 0xeb, 0x58, 0xa3, 0x71, 0x4e, + 0xe6, 0xfa, 0x47, 0x8e, 0x86, 0xea, 0x64, 0x9a, 0x64, 0xe9, 0x4e, 0xa4, + 0x9e, 0x10, 0x88, 0x54, 0xbf, 0x04, 0x8e, 0x4b, 0xc6, 0xa0, 0xf0, 0xf9, + 0x74, 0x0a, 0xaf, 0x92, +}; +static const struct drbg_kat_no_reseed kat318_t = { + 2, kat318_entropyin, kat318_nonce, kat318_persstr, + kat318_addin0, kat318_addin1, kat318_retbits +}; +static const struct drbg_kat kat318 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat318_t +}; + +static const unsigned char kat319_entropyin[] = { + 0xee, 0x1e, 0x3a, 0xf7, 0x32, 0xbf, 0xf0, 0x4e, 0x9e, 0x45, 0xba, 0x62, + 0xdb, 0xe6, 0x27, 0x04, 0x97, 0x08, 0xb6, 0xef, 0x4a, 0xa7, 0x93, 0xe7, +}; +static const unsigned char kat319_nonce[] = { + 0x53, 0x1e, 0xdb, 0xba, 0x82, 0xb1, 0x20, 0x02, 0x68, 0x35, 0xb8, 0x56, + 0xbb, 0x5b, 0x63, 0xe0, +}; +static const unsigned char kat319_persstr[] = {0}; +static const unsigned char kat319_addin0[] = { + 0xc3, 0x8b, 0x7a, 0x6c, 0xc5, 0xd5, 0xd2, 0x3c, 0xe4, 0x16, 0xf9, 0x24, + 0xc6, 0x04, 0xd6, 0x4e, 0x37, 0x8d, 0xee, 0x31, 0xf3, 0xdd, 0x70, 0xb7, + 0xb1, 0x1d, 0x26, 0x5a, 0xcb, 0x45, 0xf9, 0x8f, +}; +static const unsigned char kat319_addin1[] = { + 0x49, 0x3e, 0x62, 0x62, 0x78, 0xf6, 0xaf, 0x2a, 0xb9, 0x9c, 0x53, 0x35, + 0xc2, 0x9d, 0xac, 0x38, 0x25, 0xf8, 0x52, 0xaa, 0xcd, 0x3b, 0x23, 0x7a, + 0x3f, 0x01, 0x4b, 0x9a, 0xdf, 0xbe, 0x4d, 0x4a, +}; +static const unsigned char kat319_retbits[] = { + 0x07, 0x6a, 0xa4, 0x2c, 0x35, 0x03, 0x55, 0x75, 0xf1, 0xf0, 0xa4, 0x92, + 0x28, 0x8d, 0xbb, 0x9c, 0x46, 0x28, 0xc0, 0x91, 0xfc, 0xb3, 0x4e, 0xb6, + 0xb8, 0x03, 0x9a, 0x88, 0x7b, 0xa1, 0xed, 0x8e, 0x00, 0x29, 0xb2, 0xd1, + 0x8c, 0x3c, 0x1c, 0x32, 0x1d, 0x7f, 0x0e, 0x20, 0xb7, 0xdb, 0xcc, 0xea, + 0x88, 0x6a, 0xd5, 0x18, 0xae, 0xff, 0x08, 0x9d, 0x44, 0x70, 0x9e, 0xaa, + 0x58, 0x3e, 0x45, 0xef, +}; +static const struct drbg_kat_no_reseed kat319_t = { + 3, kat319_entropyin, kat319_nonce, kat319_persstr, + kat319_addin0, kat319_addin1, kat319_retbits +}; +static const struct drbg_kat kat319 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat319_t +}; + +static const unsigned char kat320_entropyin[] = { + 0x79, 0xb2, 0x03, 0x9d, 0xf2, 0x89, 0x3b, 0x45, 0xd7, 0xc4, 0xbe, 0x89, + 0xd0, 0xe0, 0xac, 0xf4, 0x1f, 0xb1, 0x1c, 0xf7, 0x0b, 0x12, 0xdb, 0xe4, +}; +static const unsigned char kat320_nonce[] = { + 0x35, 0xd1, 0x9a, 0x10, 0x42, 0x0d, 0x53, 0x97, 0xd1, 0xa6, 0xfa, 0x35, + 0xa7, 0x67, 0x6e, 0xe6, +}; +static const unsigned char kat320_persstr[] = {0}; +static const unsigned char kat320_addin0[] = { + 0xe3, 0x38, 0x4b, 0x09, 0xc4, 0xde, 0xad, 0xf0, 0x94, 0x67, 0xfb, 0x4c, + 0x68, 0xf2, 0x89, 0x8e, 0xd6, 0x41, 0x28, 0x0c, 0x2c, 0x61, 0xd8, 0xad, + 0x7f, 0x86, 0xbe, 0xd0, 0x56, 0x69, 0x27, 0xb3, +}; +static const unsigned char kat320_addin1[] = { + 0x39, 0xda, 0x7d, 0x65, 0x30, 0x08, 0xb8, 0xb5, 0x99, 0xcd, 0xda, 0x25, + 0xcc, 0xba, 0x4d, 0x2d, 0x15, 0xa9, 0x6a, 0xdc, 0x1d, 0x12, 0xac, 0x13, + 0x1c, 0xbc, 0x43, 0x64, 0x88, 0xe1, 0xf7, 0xb0, +}; +static const unsigned char kat320_retbits[] = { + 0xbe, 0xc5, 0x5b, 0x20, 0x67, 0xac, 0x47, 0x0d, 0xba, 0x7b, 0x2a, 0xe7, + 0xc7, 0x04, 0x3c, 0xa0, 0x41, 0x59, 0x95, 0x7b, 0xc5, 0x47, 0x28, 0x16, + 0x57, 0x41, 0xd0, 0x57, 0xf8, 0x09, 0xbf, 0x56, 0x7b, 0x9d, 0x7b, 0x58, + 0x89, 0xa5, 0x79, 0x95, 0x8d, 0x6b, 0xf2, 0xea, 0x11, 0xd3, 0x8e, 0xba, + 0x75, 0x43, 0x42, 0x0f, 0x80, 0x94, 0x8f, 0x71, 0x20, 0xd9, 0x64, 0x07, + 0x60, 0x67, 0xbe, 0xe7, +}; +static const struct drbg_kat_no_reseed kat320_t = { + 4, kat320_entropyin, kat320_nonce, kat320_persstr, + kat320_addin0, kat320_addin1, kat320_retbits +}; +static const struct drbg_kat kat320 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat320_t +}; + +static const unsigned char kat321_entropyin[] = { + 0x6a, 0x91, 0x0a, 0x86, 0x59, 0x1c, 0xf0, 0x55, 0x21, 0xc8, 0x9f, 0xa0, + 0x6b, 0x0f, 0xd7, 0xeb, 0xe3, 0xc8, 0xf1, 0xe0, 0xde, 0x18, 0x09, 0xe9, +}; +static const unsigned char kat321_nonce[] = { + 0x44, 0x1e, 0xa2, 0x6f, 0xe9, 0x46, 0x39, 0x08, 0x5b, 0x0d, 0x8e, 0x28, + 0x22, 0x4b, 0xf1, 0x11, +}; +static const unsigned char kat321_persstr[] = {0}; +static const unsigned char kat321_addin0[] = { + 0x29, 0x28, 0xcc, 0xab, 0x0d, 0xde, 0xb1, 0xe9, 0x68, 0x1f, 0xd9, 0x40, + 0x3a, 0x48, 0xe7, 0x34, 0xc3, 0x47, 0xae, 0x80, 0x45, 0x0b, 0xa8, 0x4b, + 0x2c, 0x3a, 0x68, 0x6c, 0x1a, 0xf6, 0xf2, 0x03, +}; +static const unsigned char kat321_addin1[] = { + 0x22, 0xcf, 0x81, 0x0f, 0xff, 0x93, 0x50, 0xb5, 0xd3, 0xb3, 0x45, 0x24, + 0x76, 0x67, 0x0a, 0xb9, 0x64, 0x88, 0xb8, 0x6d, 0x64, 0x43, 0xdd, 0x87, + 0xc4, 0xc2, 0x49, 0xa7, 0x9e, 0xf1, 0xfa, 0xce, +}; +static const unsigned char kat321_retbits[] = { + 0xa7, 0xb0, 0xa1, 0x39, 0xcd, 0x26, 0x27, 0x4c, 0x0f, 0xd5, 0xb7, 0x09, + 0x0a, 0xe5, 0xe6, 0x07, 0x5c, 0xd7, 0x8d, 0x93, 0x49, 0x77, 0x75, 0x11, + 0x32, 0xc0, 0xb8, 0xa7, 0xf2, 0x7b, 0x5f, 0xf1, 0xe8, 0x68, 0xe2, 0x01, + 0x76, 0x52, 0x31, 0x04, 0xe2, 0x34, 0x60, 0x27, 0xc4, 0xef, 0x3a, 0x69, + 0x72, 0xac, 0x75, 0x63, 0x28, 0xdc, 0x5f, 0x1c, 0xe1, 0x52, 0xb0, 0x1f, + 0x48, 0x61, 0xb5, 0x07, +}; +static const struct drbg_kat_no_reseed kat321_t = { + 5, kat321_entropyin, kat321_nonce, kat321_persstr, + kat321_addin0, kat321_addin1, kat321_retbits +}; +static const struct drbg_kat kat321 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat321_t +}; + +static const unsigned char kat322_entropyin[] = { + 0x70, 0x87, 0x4f, 0xaa, 0x74, 0xd1, 0xa1, 0xaf, 0x88, 0x2a, 0x36, 0x96, + 0xff, 0x2f, 0x40, 0x9f, 0x9c, 0x2e, 0x05, 0x96, 0xcc, 0xe1, 0xfb, 0x9c, +}; +static const unsigned char kat322_nonce[] = { + 0x77, 0xc4, 0x98, 0xe0, 0xd5, 0x1a, 0xf0, 0xc6, 0x87, 0x36, 0x45, 0xfd, + 0x88, 0x89, 0xfc, 0x58, +}; +static const unsigned char kat322_persstr[] = {0}; +static const unsigned char kat322_addin0[] = { + 0xe6, 0xed, 0x21, 0x0e, 0x04, 0x59, 0x16, 0xcf, 0x1a, 0x69, 0x1e, 0x36, + 0x69, 0x71, 0x22, 0x89, 0x04, 0x85, 0xf2, 0x85, 0x2a, 0x27, 0x85, 0x11, + 0x25, 0xeb, 0x17, 0xdb, 0xf5, 0x79, 0x1f, 0x91, +}; +static const unsigned char kat322_addin1[] = { + 0x1f, 0x0d, 0x29, 0x59, 0xf9, 0x72, 0x56, 0x04, 0xe6, 0xa1, 0x3b, 0x7e, + 0x2e, 0x0d, 0x72, 0xad, 0xc8, 0xbb, 0xdf, 0xb4, 0xa3, 0x1b, 0x9b, 0x38, + 0xbd, 0x8c, 0xae, 0x26, 0x4d, 0x4d, 0xcb, 0x01, +}; +static const unsigned char kat322_retbits[] = { + 0xb6, 0xef, 0x96, 0x03, 0xce, 0x5c, 0xb3, 0xb3, 0xde, 0x76, 0x87, 0xcc, + 0x73, 0x88, 0x32, 0xa1, 0x1c, 0x39, 0x8e, 0x73, 0x30, 0xaa, 0x55, 0x2f, + 0x67, 0x8e, 0x13, 0x2c, 0x71, 0xb7, 0xc0, 0x20, 0x98, 0x0c, 0x3c, 0xab, + 0x47, 0x3d, 0x17, 0xc8, 0x43, 0x99, 0xca, 0x19, 0x2e, 0x6b, 0x29, 0x35, + 0xde, 0x21, 0x1e, 0x17, 0x9f, 0x39, 0xaa, 0xb3, 0x05, 0x52, 0xc9, 0x7e, + 0x11, 0x1f, 0xf3, 0xc2, +}; +static const struct drbg_kat_no_reseed kat322_t = { + 6, kat322_entropyin, kat322_nonce, kat322_persstr, + kat322_addin0, kat322_addin1, kat322_retbits +}; +static const struct drbg_kat kat322 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat322_t +}; + +static const unsigned char kat323_entropyin[] = { + 0xaa, 0x69, 0x94, 0x9c, 0x60, 0x5a, 0x8c, 0x99, 0x7a, 0xa6, 0x50, 0x76, + 0xe8, 0xce, 0xb6, 0x3f, 0xc9, 0xd0, 0xaf, 0x84, 0x0e, 0xa8, 0x73, 0xbb, +}; +static const unsigned char kat323_nonce[] = { + 0x6b, 0xe6, 0xf8, 0x9f, 0x54, 0x9f, 0x0e, 0xb6, 0xdf, 0xd7, 0x61, 0xf0, + 0x9b, 0xfb, 0xcc, 0xb5, +}; +static const unsigned char kat323_persstr[] = {0}; +static const unsigned char kat323_addin0[] = { + 0xfa, 0x18, 0x0a, 0x06, 0xf0, 0x7f, 0xcd, 0xcc, 0x95, 0xff, 0x37, 0x11, + 0xc3, 0x48, 0xc1, 0x5b, 0xae, 0x75, 0x0b, 0x8c, 0xbd, 0x98, 0xe4, 0x3a, + 0xbe, 0x61, 0xfe, 0x15, 0x4f, 0x3f, 0x5c, 0xd5, +}; +static const unsigned char kat323_addin1[] = { + 0xa5, 0x59, 0xc3, 0xf7, 0xcc, 0x60, 0x44, 0xed, 0xc0, 0x29, 0xa3, 0x5b, + 0xf0, 0x2a, 0x3a, 0x96, 0xad, 0x01, 0x83, 0x86, 0xe1, 0xbd, 0x99, 0x8a, + 0xf1, 0x08, 0xc8, 0xfd, 0xba, 0x6f, 0x78, 0xa1, +}; +static const unsigned char kat323_retbits[] = { + 0xa1, 0x8f, 0x0f, 0xfe, 0xc3, 0x92, 0x70, 0x6f, 0xc8, 0x37, 0xc0, 0xa5, + 0x32, 0x15, 0x58, 0x08, 0x62, 0x32, 0xf7, 0xf6, 0x94, 0x70, 0xb6, 0xd2, + 0x99, 0xd3, 0x2b, 0xba, 0x24, 0xa3, 0xb1, 0xd5, 0x44, 0x1e, 0x27, 0xf0, + 0x83, 0x57, 0xb0, 0xe7, 0x0f, 0x00, 0x0c, 0x32, 0x1b, 0x70, 0x81, 0xdc, + 0xff, 0xad, 0x82, 0x4d, 0xe1, 0x30, 0x47, 0x32, 0x2d, 0xf5, 0xf7, 0xf4, + 0xaf, 0x25, 0x84, 0x3b, +}; +static const struct drbg_kat_no_reseed kat323_t = { + 7, kat323_entropyin, kat323_nonce, kat323_persstr, + kat323_addin0, kat323_addin1, kat323_retbits +}; +static const struct drbg_kat kat323 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat323_t +}; + +static const unsigned char kat324_entropyin[] = { + 0xd4, 0x17, 0x6b, 0x63, 0xa9, 0x19, 0x97, 0x39, 0xff, 0x7d, 0x7f, 0x46, + 0x20, 0x3a, 0x4a, 0x01, 0xbf, 0xcc, 0x34, 0xfa, 0x7b, 0xd7, 0x01, 0x9f, +}; +static const unsigned char kat324_nonce[] = { + 0x05, 0x06, 0x01, 0xd5, 0x0c, 0xd5, 0x04, 0x4f, 0x97, 0x8d, 0xfe, 0x9e, + 0xe2, 0x69, 0x5a, 0x44, +}; +static const unsigned char kat324_persstr[] = {0}; +static const unsigned char kat324_addin0[] = { + 0xa7, 0x6a, 0x67, 0x40, 0x9e, 0x51, 0x64, 0xea, 0x0a, 0xba, 0xd6, 0x2a, + 0x41, 0x8a, 0xbd, 0x8c, 0xd2, 0xe7, 0x29, 0xb6, 0x34, 0x82, 0xf2, 0xae, + 0xaf, 0xc0, 0xa3, 0x65, 0x0e, 0xa8, 0xb9, 0x52, +}; +static const unsigned char kat324_addin1[] = { + 0x83, 0xc9, 0x37, 0x10, 0x55, 0xee, 0x7f, 0xbb, 0x93, 0x54, 0x83, 0x76, + 0x2e, 0x16, 0xe2, 0xd8, 0x5d, 0xcd, 0x70, 0xe1, 0x34, 0x97, 0xe6, 0x9a, + 0xab, 0x9a, 0xd3, 0x50, 0x01, 0x62, 0x7a, 0x4b, +}; +static const unsigned char kat324_retbits[] = { + 0xe7, 0xb6, 0x7e, 0x05, 0x2c, 0x3b, 0x43, 0x97, 0x42, 0xdc, 0x52, 0x28, + 0x9f, 0x38, 0x84, 0x53, 0x4a, 0x0e, 0x85, 0xb8, 0x34, 0x19, 0x30, 0x8b, + 0xe0, 0xb4, 0xe6, 0x32, 0x77, 0x9b, 0x4c, 0x72, 0x2a, 0x4d, 0x8b, 0xd3, + 0x8c, 0x8f, 0xeb, 0x3a, 0x5c, 0x21, 0x33, 0x0d, 0xb1, 0xa2, 0xf5, 0xbd, + 0x6a, 0xde, 0x1e, 0x0a, 0x77, 0x88, 0x13, 0x9f, 0x9f, 0x0e, 0x52, 0xf2, + 0xe0, 0x1e, 0xf7, 0x59, +}; +static const struct drbg_kat_no_reseed kat324_t = { + 8, kat324_entropyin, kat324_nonce, kat324_persstr, + kat324_addin0, kat324_addin1, kat324_retbits +}; +static const struct drbg_kat kat324 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat324_t +}; + +static const unsigned char kat325_entropyin[] = { + 0xe1, 0xae, 0xa3, 0x22, 0x9c, 0x6c, 0x18, 0x1e, 0x32, 0xaf, 0x65, 0x00, + 0xae, 0x4d, 0xb0, 0x93, 0xd1, 0xd5, 0x70, 0x0d, 0x64, 0x7e, 0x27, 0x24, +}; +static const unsigned char kat325_nonce[] = { + 0x65, 0x6c, 0x62, 0x42, 0xbb, 0x52, 0x0a, 0x88, 0x64, 0x09, 0xca, 0x4f, + 0x3a, 0xf4, 0x0a, 0x1c, +}; +static const unsigned char kat325_persstr[] = {0}; +static const unsigned char kat325_addin0[] = { + 0x57, 0x48, 0x3f, 0x32, 0x65, 0x38, 0x02, 0xb2, 0xbf, 0xc8, 0x06, 0xd0, + 0x28, 0xf2, 0xb1, 0x68, 0x27, 0x1e, 0x55, 0xd4, 0x9a, 0x43, 0x6a, 0x5c, + 0x4e, 0x89, 0xc2, 0x0c, 0xaa, 0x0c, 0xa1, 0x07, +}; +static const unsigned char kat325_addin1[] = { + 0x5c, 0xc0, 0x20, 0x2e, 0x9f, 0x5f, 0x19, 0xf4, 0x01, 0x0b, 0x68, 0xde, + 0x2b, 0x2c, 0x28, 0xc1, 0x99, 0x41, 0xce, 0xc8, 0xcf, 0x31, 0xf5, 0x9c, + 0x29, 0x9c, 0x89, 0x58, 0xe0, 0x7c, 0xed, 0xd7, +}; +static const unsigned char kat325_retbits[] = { + 0x5b, 0xb5, 0x65, 0x0e, 0xcb, 0x99, 0x68, 0x2a, 0xfe, 0xf4, 0xba, 0x87, + 0xc2, 0x27, 0x27, 0xee, 0x7a, 0xb0, 0x80, 0xbc, 0xab, 0x60, 0xf1, 0x57, + 0x6e, 0x46, 0x27, 0xf7, 0xe9, 0x05, 0xa2, 0x48, 0xd7, 0x00, 0x29, 0xca, + 0xf3, 0x71, 0xab, 0x58, 0x98, 0x82, 0x3a, 0x35, 0xee, 0x5b, 0x81, 0x18, + 0x2c, 0x24, 0x03, 0x1d, 0xc3, 0x96, 0x6d, 0x7c, 0x24, 0x4b, 0x28, 0x80, + 0x3b, 0x36, 0x37, 0x00, +}; +static const struct drbg_kat_no_reseed kat325_t = { + 9, kat325_entropyin, kat325_nonce, kat325_persstr, + kat325_addin0, kat325_addin1, kat325_retbits +}; +static const struct drbg_kat kat325 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat325_t +}; + +static const unsigned char kat326_entropyin[] = { + 0x9c, 0xf9, 0x22, 0x67, 0x96, 0x9b, 0x13, 0x62, 0x4a, 0x01, 0x6a, 0xfc, + 0xbe, 0xdc, 0x99, 0x64, 0xc0, 0x71, 0xb6, 0xd5, 0x7b, 0x9b, 0xc1, 0xaa, +}; +static const unsigned char kat326_nonce[] = { + 0x5f, 0xe0, 0xed, 0x8b, 0xec, 0xd3, 0xbb, 0xb4, 0x4a, 0x0d, 0xfa, 0x8d, + 0xe9, 0xcb, 0x47, 0xff, +}; +static const unsigned char kat326_persstr[] = {0}; +static const unsigned char kat326_addin0[] = { + 0x3a, 0x10, 0xc0, 0x87, 0xcf, 0x4d, 0x09, 0xd1, 0x3c, 0x93, 0x3b, 0x73, + 0xce, 0x0c, 0xb2, 0x3d, 0x35, 0x21, 0x2a, 0x09, 0x80, 0xca, 0x88, 0xa9, + 0x5f, 0x71, 0xc0, 0x82, 0x61, 0x28, 0x99, 0x24, +}; +static const unsigned char kat326_addin1[] = { + 0x23, 0xa3, 0x91, 0x51, 0x60, 0xa4, 0xc8, 0xc2, 0x2a, 0xdb, 0x26, 0xa8, + 0x6e, 0x29, 0x6f, 0x23, 0x63, 0x60, 0x12, 0x44, 0xfb, 0xc8, 0xcf, 0xed, + 0x07, 0x57, 0xf9, 0x31, 0xe4, 0x95, 0xa6, 0xb9, +}; +static const unsigned char kat326_retbits[] = { + 0x65, 0xba, 0x2a, 0x31, 0x91, 0x1a, 0x00, 0x98, 0x33, 0x0a, 0xd9, 0x14, + 0xe7, 0x9c, 0x71, 0x4b, 0xb1, 0xb9, 0xa0, 0x06, 0x15, 0x51, 0xf9, 0x81, + 0xf3, 0xde, 0x6a, 0x88, 0x08, 0x74, 0x73, 0x72, 0xbe, 0xd7, 0xb5, 0xcc, + 0xb4, 0x53, 0x81, 0xab, 0x98, 0xb1, 0xc5, 0x56, 0x59, 0xb0, 0x23, 0x42, + 0x2b, 0x75, 0x39, 0x83, 0xb2, 0xd3, 0x54, 0x55, 0x98, 0xf3, 0x11, 0xfd, + 0x2a, 0xcd, 0xdb, 0x32, +}; +static const struct drbg_kat_no_reseed kat326_t = { + 10, kat326_entropyin, kat326_nonce, kat326_persstr, + kat326_addin0, kat326_addin1, kat326_retbits +}; +static const struct drbg_kat kat326 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat326_t +}; + +static const unsigned char kat327_entropyin[] = { + 0xf1, 0x3d, 0xa4, 0x54, 0xa1, 0xa1, 0x68, 0x51, 0x88, 0xce, 0x40, 0x2a, + 0xfc, 0x5f, 0x1a, 0xb8, 0xc2, 0x32, 0x40, 0xb2, 0x2c, 0x57, 0x0f, 0xe8, +}; +static const unsigned char kat327_nonce[] = { + 0x65, 0x4d, 0x75, 0xd1, 0x03, 0xfb, 0xf3, 0x58, 0x9a, 0x66, 0x64, 0x24, + 0x7f, 0x6f, 0x32, 0xd7, +}; +static const unsigned char kat327_persstr[] = {0}; +static const unsigned char kat327_addin0[] = { + 0x0f, 0x72, 0x58, 0x42, 0xcc, 0x60, 0x61, 0x97, 0xd3, 0xc3, 0xa3, 0x72, + 0x60, 0xfd, 0x24, 0x23, 0x71, 0x98, 0xb7, 0xe4, 0x86, 0x80, 0x1d, 0x32, + 0xa8, 0xe1, 0x55, 0xca, 0x22, 0xf8, 0x1e, 0xac, +}; +static const unsigned char kat327_addin1[] = { + 0x78, 0x8e, 0xe6, 0xcd, 0x54, 0x3e, 0x8b, 0x1f, 0x69, 0xc6, 0x98, 0xb4, + 0xf9, 0xcc, 0xc3, 0x3f, 0x76, 0xf6, 0x63, 0x99, 0xe8, 0xbd, 0xf8, 0x9e, + 0xe2, 0xb6, 0x29, 0x54, 0x0f, 0xf7, 0x58, 0x50, +}; +static const unsigned char kat327_retbits[] = { + 0xcc, 0xf1, 0x24, 0x79, 0x17, 0x7b, 0xbe, 0xca, 0xf4, 0x58, 0x50, 0xf2, + 0x30, 0x76, 0x8c, 0x97, 0x01, 0x91, 0xb7, 0x1b, 0x98, 0xf4, 0x68, 0x5f, + 0x47, 0x98, 0x49, 0x6c, 0x5c, 0x87, 0x7b, 0xc7, 0xa5, 0xda, 0xe4, 0x08, + 0x86, 0x27, 0x26, 0xac, 0xa4, 0xbb, 0xaf, 0xf3, 0x5c, 0x20, 0x08, 0x96, + 0x58, 0x6a, 0x4e, 0xad, 0x49, 0x3a, 0x4b, 0x4e, 0xb8, 0xaf, 0xb0, 0x1d, + 0xed, 0xf6, 0xea, 0xcb, +}; +static const struct drbg_kat_no_reseed kat327_t = { + 11, kat327_entropyin, kat327_nonce, kat327_persstr, + kat327_addin0, kat327_addin1, kat327_retbits +}; +static const struct drbg_kat kat327 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat327_t +}; + +static const unsigned char kat328_entropyin[] = { + 0xff, 0x69, 0x97, 0x35, 0x5e, 0x83, 0x80, 0xc6, 0xf1, 0x0f, 0xf0, 0x52, + 0xb1, 0x85, 0x34, 0xbe, 0x0d, 0x7e, 0x34, 0x4d, 0x11, 0xce, 0x6a, 0x37, +}; +static const unsigned char kat328_nonce[] = { + 0xae, 0x30, 0xf9, 0x9e, 0xe7, 0xdb, 0x3f, 0xb0, 0xa6, 0xbe, 0x60, 0x5f, + 0x14, 0xa4, 0xa0, 0xf5, +}; +static const unsigned char kat328_persstr[] = {0}; +static const unsigned char kat328_addin0[] = { + 0xd3, 0xaa, 0x9a, 0x02, 0xe5, 0x09, 0x31, 0xcd, 0xb6, 0x57, 0xe5, 0xac, + 0x56, 0x57, 0x22, 0xea, 0xc7, 0x69, 0xb1, 0x7e, 0xca, 0x63, 0xff, 0xe9, + 0x16, 0x92, 0x8b, 0x52, 0x6c, 0x58, 0x65, 0x87, +}; +static const unsigned char kat328_addin1[] = { + 0x06, 0x79, 0x40, 0xbc, 0xb6, 0x55, 0x3a, 0xf8, 0xdb, 0x6e, 0x21, 0xfa, + 0x49, 0xc9, 0xf9, 0xba, 0x22, 0x27, 0x21, 0x64, 0x22, 0xae, 0x20, 0xdd, + 0xf7, 0x3b, 0x65, 0xa6, 0x65, 0xcd, 0x81, 0xc4, +}; +static const unsigned char kat328_retbits[] = { + 0x00, 0x76, 0xb4, 0x66, 0x4e, 0x83, 0xfb, 0xe6, 0x93, 0xd5, 0x1e, 0x31, + 0x2d, 0x92, 0xf4, 0x1a, 0x29, 0xa7, 0x92, 0x16, 0xc1, 0x4d, 0xfa, 0x28, + 0xf6, 0xc2, 0xde, 0xd9, 0xd0, 0xe6, 0x9c, 0x6f, 0x51, 0x29, 0x80, 0xc2, + 0x5d, 0x72, 0x38, 0xcf, 0xbe, 0x6a, 0x39, 0x23, 0xd3, 0x0e, 0x2a, 0xf3, + 0xcb, 0xab, 0x71, 0x34, 0xc6, 0x53, 0x7f, 0xe1, 0x99, 0x91, 0x10, 0x5e, + 0x3d, 0xac, 0x89, 0x4b, +}; +static const struct drbg_kat_no_reseed kat328_t = { + 12, kat328_entropyin, kat328_nonce, kat328_persstr, + kat328_addin0, kat328_addin1, kat328_retbits +}; +static const struct drbg_kat kat328 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat328_t +}; + +static const unsigned char kat329_entropyin[] = { + 0xf7, 0x00, 0xbb, 0x6a, 0x92, 0xec, 0xc9, 0xee, 0x07, 0xd5, 0xc5, 0x96, + 0xbd, 0x66, 0x78, 0x62, 0x45, 0x56, 0x51, 0xb5, 0xe0, 0x9c, 0xc7, 0x16, +}; +static const unsigned char kat329_nonce[] = { + 0x41, 0x19, 0x2c, 0x65, 0xd6, 0x6b, 0xa5, 0xf0, 0x9c, 0x03, 0x24, 0x91, + 0xa2, 0xc5, 0x3e, 0xde, +}; +static const unsigned char kat329_persstr[] = {0}; +static const unsigned char kat329_addin0[] = { + 0x9e, 0x74, 0x82, 0x5c, 0xa0, 0xc3, 0xf9, 0xce, 0xb2, 0x72, 0x15, 0x0a, + 0xa5, 0x1f, 0x9f, 0x92, 0xe1, 0x99, 0xf3, 0x13, 0x3d, 0x91, 0x9d, 0x4f, + 0xa2, 0x16, 0x11, 0x9a, 0x13, 0x30, 0xe8, 0x8d, +}; +static const unsigned char kat329_addin1[] = { + 0xc5, 0x94, 0x03, 0x87, 0x0a, 0xa5, 0xb1, 0x48, 0xec, 0x6f, 0x99, 0xff, + 0x8b, 0x80, 0x65, 0x69, 0xe9, 0x9f, 0xa8, 0x36, 0x75, 0x01, 0x71, 0x78, + 0x7b, 0xcc, 0x8c, 0x89, 0x31, 0xaa, 0x82, 0xac, +}; +static const unsigned char kat329_retbits[] = { + 0x32, 0x21, 0x7f, 0xf9, 0x37, 0x1a, 0x6c, 0xbf, 0x79, 0x6c, 0x13, 0x8f, + 0x9c, 0xe3, 0xbe, 0x65, 0x8f, 0xba, 0x03, 0xdf, 0x9c, 0x10, 0xcd, 0x3d, + 0xe0, 0x9e, 0x82, 0xd1, 0xd9, 0xce, 0xc4, 0x3a, 0x96, 0x6a, 0xb8, 0x64, + 0xaa, 0xca, 0x56, 0x02, 0x4e, 0x8b, 0x36, 0x46, 0x3a, 0x31, 0x24, 0x56, + 0xb4, 0x21, 0xb2, 0x57, 0x66, 0x3f, 0xa5, 0xd4, 0x2a, 0xdb, 0xfa, 0x4a, + 0x54, 0x10, 0x79, 0x65, +}; +static const struct drbg_kat_no_reseed kat329_t = { + 13, kat329_entropyin, kat329_nonce, kat329_persstr, + kat329_addin0, kat329_addin1, kat329_retbits +}; +static const struct drbg_kat kat329 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat329_t +}; + +static const unsigned char kat330_entropyin[] = { + 0x15, 0x31, 0xb5, 0x6b, 0xff, 0x3f, 0x34, 0x44, 0x96, 0x74, 0xc5, 0xf9, + 0xb3, 0x10, 0x13, 0x8a, 0x51, 0x72, 0x1a, 0x40, 0xa4, 0x63, 0xe5, 0xbe, +}; +static const unsigned char kat330_nonce[] = { + 0xeb, 0x78, 0x09, 0xf3, 0xf3, 0xba, 0x6e, 0xb5, 0x77, 0x75, 0xf1, 0x28, + 0x4f, 0xc2, 0x9f, 0x54, +}; +static const unsigned char kat330_persstr[] = {0}; +static const unsigned char kat330_addin0[] = { + 0x85, 0xe6, 0xaa, 0x85, 0x9f, 0x43, 0x1d, 0xaa, 0xaf, 0xc9, 0x29, 0x9e, + 0xa6, 0x1f, 0xcd, 0xcf, 0xde, 0x71, 0x2f, 0xc2, 0xd0, 0x1d, 0x94, 0xfe, + 0x70, 0xcd, 0x0b, 0xc6, 0xda, 0xb7, 0xf3, 0xe9, +}; +static const unsigned char kat330_addin1[] = { + 0xcb, 0x7f, 0xb3, 0x63, 0x3f, 0x42, 0x65, 0x92, 0x01, 0x02, 0x6c, 0x63, + 0x48, 0x94, 0xec, 0xc7, 0x19, 0xc0, 0x00, 0x32, 0x59, 0xa6, 0x92, 0x83, + 0x76, 0x09, 0xab, 0x90, 0x78, 0x2a, 0xe2, 0x3a, +}; +static const unsigned char kat330_retbits[] = { + 0x74, 0x45, 0xb8, 0x12, 0xa7, 0xf5, 0xd3, 0xb8, 0xba, 0x79, 0xf7, 0x7a, + 0x80, 0x1a, 0xfc, 0xda, 0xb8, 0x23, 0x14, 0x0e, 0x5e, 0xb4, 0xa6, 0x6e, + 0x50, 0xf8, 0x58, 0x3d, 0x90, 0xdb, 0xad, 0xde, 0xe8, 0x69, 0x7d, 0x37, + 0xc0, 0xfd, 0x62, 0x47, 0xec, 0x6a, 0x3b, 0xf7, 0x66, 0x40, 0x18, 0xa5, + 0x8c, 0x04, 0x2b, 0xc3, 0xb3, 0xbe, 0x91, 0x2e, 0x88, 0xc2, 0xbe, 0x96, + 0xb9, 0xc6, 0x9e, 0x85, +}; +static const struct drbg_kat_no_reseed kat330_t = { + 14, kat330_entropyin, kat330_nonce, kat330_persstr, + kat330_addin0, kat330_addin1, kat330_retbits +}; +static const struct drbg_kat kat330 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat330_t +}; + +static const unsigned char kat331_entropyin[] = { + 0x50, 0x13, 0x4a, 0x63, 0x80, 0x92, 0xb0, 0x9e, 0x78, 0x70, 0x80, 0x50, + 0xdc, 0x40, 0x44, 0xe6, 0x3c, 0x7a, 0xbd, 0x22, 0x77, 0xbe, 0x3d, 0x71, +}; +static const unsigned char kat331_nonce[] = { + 0xda, 0x88, 0x07, 0x00, 0x9d, 0x40, 0x04, 0x82, 0xc6, 0xda, 0x8e, 0x4e, + 0x9a, 0x4e, 0xe3, 0x3c, +}; +static const unsigned char kat331_persstr[] = { + 0x8e, 0x01, 0x53, 0xaa, 0xbf, 0xd2, 0xca, 0x23, 0x74, 0xbd, 0xd1, 0xe9, + 0x7f, 0xf2, 0x3e, 0xe2, 0xe7, 0xdb, 0xff, 0x7e, 0x83, 0x6f, 0xa5, 0xad, + 0xb6, 0x57, 0x64, 0xf7, 0x07, 0x8d, 0xf1, 0xb8, +}; +static const unsigned char kat331_addin0[] = {0}; +static const unsigned char kat331_addin1[] = {0}; +static const unsigned char kat331_retbits[] = { + 0x50, 0x27, 0x3a, 0xa2, 0x0f, 0xeb, 0xe8, 0x26, 0x85, 0xd4, 0x9a, 0x01, + 0x3e, 0x75, 0xa8, 0x4b, 0xcc, 0xc7, 0xc2, 0x01, 0x28, 0xbd, 0x09, 0x8a, + 0x22, 0x8c, 0x77, 0x1d, 0x08, 0xbb, 0x53, 0x03, 0xe7, 0x15, 0xfc, 0x30, + 0x82, 0x3d, 0xae, 0x08, 0x57, 0x80, 0xd6, 0xd2, 0x8d, 0x10, 0x71, 0xa2, + 0x65, 0x08, 0x13, 0x0f, 0x35, 0x25, 0xb3, 0xbf, 0xd5, 0x05, 0xf0, 0x75, + 0x75, 0xad, 0xd8, 0x74, +}; +static const struct drbg_kat_no_reseed kat331_t = { + 0, kat331_entropyin, kat331_nonce, kat331_persstr, + kat331_addin0, kat331_addin1, kat331_retbits +}; +static const struct drbg_kat kat331 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat331_t +}; + +static const unsigned char kat332_entropyin[] = { + 0x9b, 0x6c, 0x7b, 0x1c, 0x72, 0x9c, 0xeb, 0xca, 0xf4, 0xc4, 0xaf, 0xb9, + 0xa3, 0x51, 0xd2, 0xf6, 0xd1, 0xb3, 0x8a, 0xff, 0xc3, 0x5f, 0xdc, 0x2b, +}; +static const unsigned char kat332_nonce[] = { + 0xd0, 0x46, 0x71, 0x5f, 0xee, 0x95, 0x6f, 0xa5, 0xe1, 0xa9, 0xd1, 0xaa, + 0xca, 0x6e, 0xd6, 0x7e, +}; +static const unsigned char kat332_persstr[] = { + 0x37, 0x6b, 0x88, 0x73, 0xca, 0x51, 0x20, 0x9c, 0x93, 0xfb, 0xfb, 0x15, + 0x89, 0x96, 0x41, 0x2b, 0xc6, 0xcd, 0x1f, 0x41, 0xe9, 0xa2, 0x09, 0x3d, + 0x9e, 0xd6, 0xfb, 0x91, 0xca, 0x3b, 0xa2, 0xc7, +}; +static const unsigned char kat332_addin0[] = {0}; +static const unsigned char kat332_addin1[] = {0}; +static const unsigned char kat332_retbits[] = { + 0x05, 0x92, 0x7f, 0xeb, 0x60, 0x85, 0x51, 0x27, 0xb4, 0xd6, 0x63, 0x2f, + 0x12, 0x17, 0xef, 0x30, 0x72, 0xa0, 0x3c, 0x03, 0x74, 0x0f, 0xdc, 0x14, + 0x1e, 0x56, 0x36, 0x0e, 0xfc, 0xbb, 0xd5, 0x5c, 0x5e, 0xf5, 0x16, 0xe3, + 0x91, 0x3b, 0xb2, 0x0d, 0xc4, 0xda, 0x9e, 0x79, 0x98, 0xb8, 0xb5, 0x93, + 0xe3, 0xa0, 0x21, 0x5d, 0xc0, 0x32, 0x24, 0x12, 0x14, 0xa3, 0x5e, 0x5e, + 0x4d, 0xdd, 0xf1, 0xa0, +}; +static const struct drbg_kat_no_reseed kat332_t = { + 1, kat332_entropyin, kat332_nonce, kat332_persstr, + kat332_addin0, kat332_addin1, kat332_retbits +}; +static const struct drbg_kat kat332 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat332_t +}; + +static const unsigned char kat333_entropyin[] = { + 0x32, 0xf7, 0x9c, 0x64, 0x90, 0x4f, 0x65, 0x16, 0x92, 0x77, 0xcf, 0x0e, + 0xaa, 0xd8, 0xce, 0xe6, 0xa6, 0x13, 0xf9, 0x2f, 0x08, 0x63, 0xb6, 0x62, +}; +static const unsigned char kat333_nonce[] = { + 0xf4, 0x19, 0x07, 0xab, 0x3d, 0xd3, 0xfc, 0x0c, 0x33, 0x75, 0x81, 0xdb, + 0xf3, 0xcf, 0x6a, 0x61, +}; +static const unsigned char kat333_persstr[] = { + 0xfe, 0x9b, 0xaf, 0x70, 0x43, 0xf1, 0x5c, 0x4e, 0xbe, 0x93, 0x30, 0x43, + 0x2d, 0xac, 0xda, 0xc1, 0x30, 0x6d, 0x42, 0x37, 0xe7, 0x65, 0xd5, 0xb8, + 0x26, 0x36, 0x0a, 0xad, 0x36, 0x84, 0xa2, 0x35, +}; +static const unsigned char kat333_addin0[] = {0}; +static const unsigned char kat333_addin1[] = {0}; +static const unsigned char kat333_retbits[] = { + 0xa2, 0xce, 0x0a, 0xfe, 0x7f, 0xdb, 0xeb, 0x4a, 0xd1, 0x95, 0xc4, 0x61, + 0x0c, 0xae, 0x40, 0x68, 0x83, 0xb6, 0x9c, 0xbc, 0x85, 0x48, 0xa8, 0x2d, + 0x12, 0x2c, 0x46, 0x13, 0xa6, 0x2e, 0xb3, 0x6e, 0x98, 0x6c, 0xaf, 0xce, + 0x10, 0xfc, 0x32, 0x00, 0xae, 0xf2, 0x97, 0xa3, 0xdf, 0xf0, 0x1b, 0xe3, + 0xa5, 0xdf, 0x6c, 0x82, 0x58, 0xc0, 0xa6, 0x01, 0xd8, 0x91, 0x88, 0xd5, + 0xc0, 0x65, 0xce, 0x1e, +}; +static const struct drbg_kat_no_reseed kat333_t = { + 2, kat333_entropyin, kat333_nonce, kat333_persstr, + kat333_addin0, kat333_addin1, kat333_retbits +}; +static const struct drbg_kat kat333 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat333_t +}; + +static const unsigned char kat334_entropyin[] = { + 0xb7, 0x36, 0x7a, 0x69, 0xf9, 0x1c, 0x68, 0xc6, 0x75, 0x64, 0x83, 0x70, + 0x28, 0x5b, 0x0e, 0x48, 0x6a, 0x3a, 0x97, 0x0d, 0x12, 0xc5, 0x81, 0xac, +}; +static const unsigned char kat334_nonce[] = { + 0xbd, 0x49, 0x96, 0x7a, 0x92, 0xa0, 0xf3, 0xca, 0x17, 0x31, 0x12, 0x5d, + 0x33, 0x5f, 0x86, 0xd3, +}; +static const unsigned char kat334_persstr[] = { + 0x5e, 0x7d, 0x45, 0x32, 0x6c, 0x6e, 0x53, 0xf1, 0x90, 0x2e, 0x0b, 0x5a, + 0x31, 0x4e, 0x59, 0xa0, 0x44, 0x74, 0x78, 0x1a, 0x1a, 0x4c, 0xd3, 0xdc, + 0xf1, 0x3b, 0xe1, 0x78, 0xce, 0x73, 0x70, 0x70, +}; +static const unsigned char kat334_addin0[] = {0}; +static const unsigned char kat334_addin1[] = {0}; +static const unsigned char kat334_retbits[] = { + 0x59, 0x6f, 0x86, 0xa7, 0x8c, 0x76, 0xd6, 0x93, 0xa6, 0x6b, 0xc0, 0x7e, + 0xd1, 0xf0, 0xd9, 0xfd, 0x3b, 0xa3, 0x06, 0xfd, 0xa4, 0xfb, 0x45, 0x6e, + 0x7d, 0xc6, 0x81, 0x29, 0x96, 0xe2, 0xf7, 0xba, 0xe4, 0x57, 0x95, 0xa9, + 0x0d, 0x9a, 0x92, 0xab, 0x4e, 0x06, 0x0d, 0x5b, 0x02, 0xe1, 0x50, 0x7a, + 0xc6, 0x81, 0x49, 0xeb, 0xd6, 0xf2, 0x37, 0xd3, 0xdf, 0x2e, 0x40, 0xa9, + 0xba, 0xf8, 0x91, 0x8c, +}; +static const struct drbg_kat_no_reseed kat334_t = { + 3, kat334_entropyin, kat334_nonce, kat334_persstr, + kat334_addin0, kat334_addin1, kat334_retbits +}; +static const struct drbg_kat kat334 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat334_t +}; + +static const unsigned char kat335_entropyin[] = { + 0xb6, 0x14, 0xaa, 0xf7, 0x99, 0x22, 0xf8, 0x3f, 0x67, 0xa4, 0xd4, 0x9d, + 0xf5, 0xc2, 0x40, 0x5f, 0xb5, 0xa9, 0x71, 0x26, 0xfd, 0x79, 0x2d, 0x80, +}; +static const unsigned char kat335_nonce[] = { + 0xcc, 0xc1, 0x86, 0x76, 0x0d, 0x36, 0x33, 0x56, 0x8a, 0x5e, 0x9f, 0x38, + 0xc2, 0xdb, 0x4c, 0xa0, +}; +static const unsigned char kat335_persstr[] = { + 0x65, 0x34, 0x7e, 0x04, 0xd7, 0x68, 0x8d, 0x1b, 0x0b, 0x69, 0xa3, 0xb1, + 0x81, 0x61, 0x3e, 0x6a, 0xbc, 0x78, 0x03, 0xc6, 0x48, 0x82, 0xbf, 0x62, + 0xd4, 0x10, 0x38, 0x95, 0x30, 0x06, 0x2e, 0x53, +}; +static const unsigned char kat335_addin0[] = {0}; +static const unsigned char kat335_addin1[] = {0}; +static const unsigned char kat335_retbits[] = { + 0x9d, 0x57, 0x4a, 0xc6, 0x7c, 0xc3, 0x84, 0xa8, 0x8b, 0x5a, 0xa1, 0x5e, + 0x65, 0x6f, 0xe9, 0x4b, 0xc8, 0x0b, 0xb0, 0x0b, 0xfe, 0xe7, 0xfc, 0x79, + 0xaa, 0x2f, 0xa7, 0xd9, 0x8e, 0x6d, 0x87, 0x45, 0xc0, 0x38, 0x1e, 0xab, + 0x01, 0x06, 0x3b, 0x18, 0x90, 0xed, 0xac, 0x7e, 0xf3, 0x0e, 0x34, 0xb5, + 0xde, 0xdf, 0xe9, 0xb1, 0xc7, 0xf2, 0x1d, 0x48, 0x4b, 0x2f, 0x47, 0x0c, + 0xbe, 0x7b, 0xac, 0x9d, +}; +static const struct drbg_kat_no_reseed kat335_t = { + 4, kat335_entropyin, kat335_nonce, kat335_persstr, + kat335_addin0, kat335_addin1, kat335_retbits +}; +static const struct drbg_kat kat335 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat335_t +}; + +static const unsigned char kat336_entropyin[] = { + 0xa4, 0xcf, 0xbf, 0xc8, 0x94, 0x17, 0xd3, 0x55, 0x98, 0x86, 0xfd, 0xaf, + 0x38, 0x8d, 0x60, 0xb7, 0x82, 0x27, 0xae, 0xad, 0x26, 0xcd, 0x47, 0x2f, +}; +static const unsigned char kat336_nonce[] = { + 0xe1, 0x8c, 0xd3, 0x79, 0x48, 0x0e, 0xf2, 0x68, 0x55, 0x2f, 0x74, 0x8e, + 0x9c, 0xc0, 0xf1, 0x33, +}; +static const unsigned char kat336_persstr[] = { + 0xe6, 0xc4, 0x92, 0x78, 0x42, 0x42, 0xbc, 0x71, 0xc5, 0x82, 0xe4, 0xbd, + 0x79, 0xcc, 0xad, 0x4c, 0xf6, 0xb1, 0x12, 0x49, 0x01, 0xea, 0x7a, 0x4a, + 0x60, 0x1e, 0x91, 0x00, 0x67, 0x86, 0x41, 0x1a, +}; +static const unsigned char kat336_addin0[] = {0}; +static const unsigned char kat336_addin1[] = {0}; +static const unsigned char kat336_retbits[] = { + 0x05, 0xbd, 0x50, 0x50, 0x20, 0xc3, 0xb1, 0x6d, 0xff, 0xc5, 0x11, 0xd6, + 0x25, 0xbd, 0xb3, 0x6d, 0x46, 0xca, 0x8a, 0x6a, 0xa1, 0xfa, 0xe9, 0x01, + 0x54, 0x46, 0x9a, 0x1c, 0x1a, 0x2c, 0xac, 0x50, 0x59, 0x8a, 0xcc, 0xb9, + 0x94, 0xd0, 0x89, 0x40, 0x26, 0xe4, 0xb3, 0x83, 0xf0, 0xf3, 0x11, 0x88, + 0xa7, 0x98, 0x9f, 0x98, 0xe9, 0xa7, 0x32, 0x95, 0x3c, 0x82, 0xa2, 0xff, + 0x32, 0xbf, 0x54, 0xed, +}; +static const struct drbg_kat_no_reseed kat336_t = { + 5, kat336_entropyin, kat336_nonce, kat336_persstr, + kat336_addin0, kat336_addin1, kat336_retbits +}; +static const struct drbg_kat kat336 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat336_t +}; + +static const unsigned char kat337_entropyin[] = { + 0xfa, 0x72, 0xab, 0x81, 0xa6, 0x3b, 0xa4, 0x90, 0x67, 0x76, 0x84, 0x8a, + 0xd1, 0xfb, 0xc6, 0x72, 0xae, 0xc0, 0x98, 0x3c, 0x9f, 0x09, 0xbe, 0x1f, +}; +static const unsigned char kat337_nonce[] = { + 0x9d, 0x5f, 0x58, 0x70, 0x9f, 0xd2, 0x3f, 0xc2, 0x30, 0xdb, 0xd8, 0x33, + 0xac, 0x34, 0x2d, 0x3f, +}; +static const unsigned char kat337_persstr[] = { + 0xa6, 0xce, 0x15, 0xe6, 0xb2, 0xce, 0x26, 0x0f, 0x8f, 0xb5, 0xd3, 0xd6, + 0xb9, 0x2a, 0xa2, 0x67, 0xe1, 0xa3, 0x23, 0x6e, 0x09, 0x10, 0xbe, 0x3a, + 0x9a, 0x06, 0xc7, 0xec, 0x86, 0xde, 0x5a, 0x58, +}; +static const unsigned char kat337_addin0[] = {0}; +static const unsigned char kat337_addin1[] = {0}; +static const unsigned char kat337_retbits[] = { + 0xbd, 0x9b, 0x6f, 0x17, 0xc2, 0xa0, 0x6a, 0x7f, 0xa7, 0x42, 0x09, 0x2f, + 0x2d, 0xa8, 0x1f, 0x82, 0x49, 0x89, 0x9d, 0x13, 0xf0, 0x5b, 0x9b, 0xc6, + 0x3e, 0x37, 0x00, 0xf8, 0x16, 0x89, 0xb1, 0x11, 0x3e, 0x1d, 0x32, 0x4e, + 0x3b, 0x34, 0x12, 0xdc, 0xf2, 0xf8, 0x5b, 0x46, 0x9c, 0xbc, 0xe4, 0x4d, + 0x25, 0x9e, 0x71, 0x53, 0x33, 0x9a, 0x47, 0x57, 0xf8, 0x70, 0x31, 0xbf, + 0x59, 0x00, 0x30, 0x47, +}; +static const struct drbg_kat_no_reseed kat337_t = { + 6, kat337_entropyin, kat337_nonce, kat337_persstr, + kat337_addin0, kat337_addin1, kat337_retbits +}; +static const struct drbg_kat kat337 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat337_t +}; + +static const unsigned char kat338_entropyin[] = { + 0x6f, 0x8b, 0xd5, 0x7f, 0x52, 0x3a, 0x9a, 0x7d, 0x1b, 0xff, 0x9e, 0x6e, + 0x21, 0xd9, 0x34, 0xb6, 0x5e, 0x1c, 0x00, 0xf2, 0xb0, 0x69, 0x17, 0xeb, +}; +static const unsigned char kat338_nonce[] = { + 0x74, 0x41, 0x0e, 0x8f, 0x55, 0xfd, 0x7d, 0x8c, 0x6e, 0x58, 0xc2, 0x81, + 0xc9, 0x74, 0x8a, 0xdd, +}; +static const unsigned char kat338_persstr[] = { + 0x4b, 0x16, 0x63, 0xae, 0x4b, 0x57, 0x58, 0xbd, 0x57, 0x03, 0xc9, 0xae, + 0xed, 0xd7, 0xc9, 0x74, 0x0c, 0xe2, 0x57, 0xf0, 0x06, 0xbc, 0x7b, 0x68, + 0xf9, 0x0f, 0x71, 0xf6, 0x37, 0x19, 0xf7, 0x8a, +}; +static const unsigned char kat338_addin0[] = {0}; +static const unsigned char kat338_addin1[] = {0}; +static const unsigned char kat338_retbits[] = { + 0xdc, 0x84, 0xd5, 0xef, 0x81, 0x94, 0xfa, 0x6c, 0x89, 0x75, 0x35, 0x88, + 0x0b, 0xf4, 0x84, 0x76, 0xf1, 0xe5, 0x31, 0x24, 0xb7, 0xad, 0x72, 0x99, + 0xcc, 0x1f, 0xf5, 0xe8, 0x56, 0x7e, 0xd4, 0xd5, 0x04, 0x1b, 0xa6, 0x2a, + 0x29, 0xb6, 0x32, 0x4e, 0x4a, 0x69, 0x40, 0xab, 0x8f, 0xba, 0xf3, 0x58, + 0xe9, 0xaa, 0x2d, 0xb4, 0x5f, 0x1c, 0x26, 0x69, 0xb7, 0x57, 0xeb, 0x3e, + 0xe9, 0xb9, 0xce, 0x70, +}; +static const struct drbg_kat_no_reseed kat338_t = { + 7, kat338_entropyin, kat338_nonce, kat338_persstr, + kat338_addin0, kat338_addin1, kat338_retbits +}; +static const struct drbg_kat kat338 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat338_t +}; + +static const unsigned char kat339_entropyin[] = { + 0x18, 0xa2, 0x35, 0x03, 0x50, 0xdc, 0x88, 0x05, 0x8d, 0x97, 0x18, 0x33, + 0x55, 0x26, 0xa3, 0x92, 0x59, 0x73, 0xd3, 0x69, 0x2c, 0xec, 0x6c, 0x2d, +}; +static const unsigned char kat339_nonce[] = { + 0x8b, 0x0c, 0x04, 0x3b, 0x89, 0x71, 0x7a, 0xca, 0x31, 0x9f, 0x96, 0x72, + 0x1e, 0x45, 0xf0, 0xeb, +}; +static const unsigned char kat339_persstr[] = { + 0x38, 0x5f, 0x0d, 0xdb, 0xe8, 0xa3, 0xd5, 0xba, 0x48, 0x0a, 0xbb, 0x7a, + 0xd5, 0x4d, 0x2a, 0xae, 0xa1, 0x29, 0x53, 0xdf, 0x7b, 0xe1, 0xd3, 0x48, + 0xfb, 0x38, 0x83, 0x86, 0xbe, 0x66, 0x51, 0xfa, +}; +static const unsigned char kat339_addin0[] = {0}; +static const unsigned char kat339_addin1[] = {0}; +static const unsigned char kat339_retbits[] = { + 0xbf, 0x27, 0x45, 0xcc, 0x69, 0xc8, 0xe3, 0x76, 0xfe, 0x2d, 0x60, 0x63, + 0x5c, 0xd2, 0xb7, 0xf1, 0x32, 0x4b, 0x58, 0x29, 0xb3, 0xd2, 0x31, 0x49, + 0xed, 0xa9, 0x16, 0xd1, 0x92, 0x61, 0x61, 0xb2, 0x98, 0x8b, 0x6d, 0x01, + 0x43, 0x48, 0x89, 0x12, 0x6a, 0x5f, 0xbe, 0xca, 0xc4, 0xbb, 0xf3, 0x9a, + 0xb3, 0x52, 0x04, 0x2f, 0xa0, 0x78, 0x1a, 0x3b, 0x0b, 0x9d, 0x04, 0x6c, + 0xb9, 0xad, 0xbe, 0x9f, +}; +static const struct drbg_kat_no_reseed kat339_t = { + 8, kat339_entropyin, kat339_nonce, kat339_persstr, + kat339_addin0, kat339_addin1, kat339_retbits +}; +static const struct drbg_kat kat339 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat339_t +}; + +static const unsigned char kat340_entropyin[] = { + 0xcf, 0x2e, 0x38, 0xdd, 0x52, 0x04, 0x1d, 0xe7, 0xb4, 0x48, 0x63, 0x2b, + 0xbc, 0x11, 0xa9, 0x94, 0x79, 0x88, 0x7d, 0x44, 0xf3, 0xcc, 0xfc, 0xaf, +}; +static const unsigned char kat340_nonce[] = { + 0x19, 0xc4, 0x29, 0x64, 0x80, 0xca, 0xa9, 0xe1, 0x60, 0x2e, 0x1c, 0x5e, + 0x8f, 0x21, 0x36, 0xb2, +}; +static const unsigned char kat340_persstr[] = { + 0x64, 0xd3, 0x8b, 0xe3, 0x66, 0x26, 0xe8, 0x5f, 0xda, 0x02, 0x6a, 0x2a, + 0xdd, 0x7f, 0x98, 0x1b, 0x2e, 0x81, 0x44, 0x9e, 0xba, 0xf4, 0x5b, 0xfb, + 0xb5, 0x80, 0xab, 0x07, 0x62, 0x65, 0xb1, 0x61, +}; +static const unsigned char kat340_addin0[] = {0}; +static const unsigned char kat340_addin1[] = {0}; +static const unsigned char kat340_retbits[] = { + 0x68, 0x77, 0x58, 0xf9, 0x5c, 0x73, 0x92, 0x86, 0x77, 0x23, 0x5d, 0x46, + 0x99, 0x4e, 0x90, 0x23, 0x13, 0xd4, 0x24, 0x61, 0x01, 0x69, 0x53, 0x59, + 0xcd, 0x81, 0xbd, 0x03, 0x5f, 0xda, 0xd3, 0xe8, 0xd8, 0xdc, 0x91, 0xd9, + 0x07, 0x63, 0x0e, 0xee, 0xfc, 0xfa, 0x44, 0x44, 0x5b, 0x00, 0xd1, 0x40, + 0x71, 0x49, 0xa1, 0x60, 0x6e, 0xdd, 0x72, 0x84, 0xaf, 0xca, 0xb5, 0xc8, + 0x69, 0xd7, 0x62, 0xfb, +}; +static const struct drbg_kat_no_reseed kat340_t = { + 9, kat340_entropyin, kat340_nonce, kat340_persstr, + kat340_addin0, kat340_addin1, kat340_retbits +}; +static const struct drbg_kat kat340 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat340_t +}; + +static const unsigned char kat341_entropyin[] = { + 0x75, 0xb3, 0xf1, 0x49, 0x96, 0xb0, 0x8a, 0x9c, 0xb2, 0x11, 0x11, 0xc1, + 0x05, 0x64, 0xf1, 0x24, 0x2f, 0xbc, 0x7e, 0xc2, 0xc1, 0x14, 0x56, 0xdd, +}; +static const unsigned char kat341_nonce[] = { + 0x87, 0xac, 0x27, 0x4b, 0xad, 0x1f, 0x34, 0x7e, 0x05, 0x3f, 0x5f, 0x24, + 0x2e, 0x5b, 0x2a, 0x49, +}; +static const unsigned char kat341_persstr[] = { + 0x1d, 0x4b, 0x88, 0xab, 0xff, 0xd4, 0x80, 0xbe, 0xdf, 0x4e, 0x4f, 0xcb, + 0xd8, 0x6e, 0x2c, 0xd3, 0x8c, 0x18, 0x3c, 0x93, 0xf2, 0xef, 0xe6, 0x21, + 0x8e, 0x94, 0x97, 0x63, 0xea, 0xfb, 0xa9, 0x81, +}; +static const unsigned char kat341_addin0[] = {0}; +static const unsigned char kat341_addin1[] = {0}; +static const unsigned char kat341_retbits[] = { + 0x89, 0x58, 0x44, 0x32, 0x63, 0xf9, 0x4b, 0x01, 0x96, 0x34, 0xe3, 0x7f, + 0x7e, 0x5d, 0xec, 0x3b, 0x9f, 0xa7, 0xce, 0x24, 0xd0, 0xbf, 0xf6, 0x1c, + 0x5b, 0x8e, 0xe5, 0x4d, 0x0f, 0x29, 0x91, 0xfd, 0x2a, 0xf7, 0x2e, 0xf9, + 0x3b, 0x82, 0x2c, 0x55, 0xbd, 0xd2, 0xd2, 0x0e, 0xd3, 0xa7, 0x89, 0x05, + 0xa8, 0xc6, 0x01, 0xb4, 0xad, 0xd9, 0x8e, 0x66, 0x59, 0xb2, 0x17, 0x4c, + 0x45, 0x8c, 0x25, 0x87, +}; +static const struct drbg_kat_no_reseed kat341_t = { + 10, kat341_entropyin, kat341_nonce, kat341_persstr, + kat341_addin0, kat341_addin1, kat341_retbits +}; +static const struct drbg_kat kat341 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat341_t +}; + +static const unsigned char kat342_entropyin[] = { + 0x82, 0x0c, 0xcc, 0x71, 0xe2, 0x47, 0x27, 0x11, 0xe6, 0x3d, 0x44, 0x58, + 0xcc, 0x0b, 0x84, 0x66, 0xba, 0x0a, 0x79, 0xc2, 0x43, 0x9a, 0x8b, 0x9b, +}; +static const unsigned char kat342_nonce[] = { + 0x98, 0xed, 0x21, 0xc6, 0x7c, 0x7c, 0x8d, 0x19, 0xbc, 0x21, 0x83, 0x70, + 0x58, 0x30, 0x6b, 0xc9, +}; +static const unsigned char kat342_persstr[] = { + 0xa3, 0xdf, 0xf1, 0x63, 0x0c, 0x7f, 0xee, 0x3d, 0x69, 0x6a, 0x35, 0xfc, + 0xb6, 0x75, 0x4b, 0x63, 0xbd, 0xf1, 0x6c, 0x0a, 0x84, 0x9a, 0x54, 0x05, + 0x59, 0xea, 0xf3, 0x50, 0xa8, 0xa0, 0x3a, 0x80, +}; +static const unsigned char kat342_addin0[] = {0}; +static const unsigned char kat342_addin1[] = {0}; +static const unsigned char kat342_retbits[] = { + 0x67, 0x01, 0xd4, 0x2f, 0xd9, 0xbe, 0x4a, 0x6e, 0xf9, 0x75, 0x0a, 0x5e, + 0xd6, 0x81, 0x7f, 0xd1, 0x6c, 0x06, 0xe3, 0x79, 0x1f, 0x4e, 0x7e, 0xd6, + 0xbf, 0x7e, 0x07, 0x84, 0x23, 0x9e, 0xb5, 0x5b, 0xbd, 0x5b, 0xf8, 0xbf, + 0x75, 0x7f, 0x73, 0x9a, 0x53, 0xd9, 0xe2, 0xce, 0xcc, 0x85, 0xdb, 0x1c, + 0x35, 0x72, 0x7e, 0xf0, 0x98, 0xd1, 0x9c, 0x09, 0x00, 0x0a, 0x7f, 0xb6, + 0x3a, 0x83, 0x6c, 0x68, +}; +static const struct drbg_kat_no_reseed kat342_t = { + 11, kat342_entropyin, kat342_nonce, kat342_persstr, + kat342_addin0, kat342_addin1, kat342_retbits +}; +static const struct drbg_kat kat342 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat342_t +}; + +static const unsigned char kat343_entropyin[] = { + 0x2a, 0xb2, 0x2f, 0x44, 0xac, 0x41, 0x93, 0xb1, 0x11, 0x15, 0x52, 0xd2, + 0x95, 0xe2, 0x41, 0xed, 0xf3, 0x7d, 0x6f, 0x4c, 0x28, 0xbb, 0xb3, 0xfc, +}; +static const unsigned char kat343_nonce[] = { + 0x83, 0xb2, 0xdd, 0xa7, 0x9e, 0x88, 0xac, 0xb5, 0xb9, 0xbf, 0xf1, 0xbb, + 0xf6, 0x6f, 0x38, 0x78, +}; +static const unsigned char kat343_persstr[] = { + 0xa6, 0xb0, 0xa7, 0x32, 0x04, 0xbc, 0x0d, 0xcc, 0x83, 0xfa, 0x2f, 0x48, + 0x0d, 0xb3, 0x71, 0xeb, 0x5b, 0x18, 0x3d, 0xaf, 0x59, 0x96, 0xed, 0xea, + 0xae, 0xb0, 0x9b, 0x82, 0x1a, 0x51, 0x66, 0x20, +}; +static const unsigned char kat343_addin0[] = {0}; +static const unsigned char kat343_addin1[] = {0}; +static const unsigned char kat343_retbits[] = { + 0x69, 0x0e, 0x7f, 0x00, 0xc5, 0x57, 0xf7, 0x14, 0x29, 0xbc, 0x36, 0x42, + 0x5e, 0xd7, 0xd6, 0x21, 0x5d, 0x0f, 0xc1, 0x81, 0x29, 0xcc, 0x0f, 0x93, + 0x5f, 0xfb, 0x2b, 0xc4, 0xfb, 0x2c, 0x2b, 0x88, 0x3d, 0x6d, 0x95, 0xdd, + 0xcc, 0x07, 0x1f, 0xff, 0x5a, 0xd1, 0x99, 0x66, 0x09, 0x68, 0x0a, 0x7c, + 0xdc, 0xf5, 0x09, 0x9c, 0x88, 0x37, 0x1b, 0x6a, 0xc0, 0x65, 0x08, 0xd3, + 0x52, 0xcb, 0x91, 0x05, +}; +static const struct drbg_kat_no_reseed kat343_t = { + 12, kat343_entropyin, kat343_nonce, kat343_persstr, + kat343_addin0, kat343_addin1, kat343_retbits +}; +static const struct drbg_kat kat343 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat343_t +}; + +static const unsigned char kat344_entropyin[] = { + 0xe5, 0x99, 0x5b, 0x25, 0xb4, 0x74, 0x12, 0xc2, 0xcb, 0x2e, 0xcd, 0x2a, + 0x32, 0xb4, 0x06, 0x12, 0x4d, 0x90, 0xba, 0x5e, 0x26, 0xe6, 0x5b, 0x87, +}; +static const unsigned char kat344_nonce[] = { + 0x12, 0x64, 0x3e, 0xa9, 0xfd, 0x57, 0x40, 0xa7, 0x38, 0x6f, 0x5f, 0x6a, + 0x01, 0xe6, 0xfe, 0x44, +}; +static const unsigned char kat344_persstr[] = { + 0x3c, 0xef, 0x84, 0x53, 0x15, 0xcd, 0x98, 0x32, 0x2e, 0x2a, 0x28, 0xa4, + 0x44, 0x68, 0xcc, 0x14, 0xab, 0x68, 0x05, 0x03, 0xa6, 0xfa, 0x89, 0xad, + 0x4f, 0x87, 0x6b, 0x0e, 0x2c, 0x4f, 0x3c, 0xa7, +}; +static const unsigned char kat344_addin0[] = {0}; +static const unsigned char kat344_addin1[] = {0}; +static const unsigned char kat344_retbits[] = { + 0x61, 0x29, 0xed, 0xa9, 0xef, 0x3b, 0x9e, 0xb9, 0xf3, 0x8f, 0xd8, 0xe9, + 0xca, 0x93, 0xe7, 0x31, 0x9b, 0x6f, 0xde, 0xd3, 0x63, 0xee, 0x15, 0x5c, + 0x97, 0x99, 0x19, 0xc3, 0x4b, 0x98, 0xce, 0x39, 0x9b, 0x0b, 0x4f, 0x99, + 0xf2, 0x83, 0x6f, 0x98, 0xea, 0x84, 0xd5, 0x26, 0x03, 0xf5, 0x79, 0x0d, + 0xa5, 0x20, 0x29, 0xa4, 0xe7, 0xcf, 0x87, 0x17, 0xdb, 0x4a, 0x62, 0x22, + 0x50, 0x0d, 0x7d, 0x2a, +}; +static const struct drbg_kat_no_reseed kat344_t = { + 13, kat344_entropyin, kat344_nonce, kat344_persstr, + kat344_addin0, kat344_addin1, kat344_retbits +}; +static const struct drbg_kat kat344 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat344_t +}; + +static const unsigned char kat345_entropyin[] = { + 0xf8, 0x1b, 0x47, 0x52, 0xd9, 0xb3, 0x4f, 0xea, 0x62, 0x82, 0x78, 0xbe, + 0xff, 0x92, 0x9d, 0x17, 0x9d, 0x04, 0x44, 0xa8, 0x1b, 0x0e, 0x1b, 0x75, +}; +static const unsigned char kat345_nonce[] = { + 0xeb, 0xe6, 0xe2, 0x74, 0x3f, 0x5f, 0xd9, 0xc5, 0xb1, 0xbc, 0xeb, 0x12, + 0xf3, 0xf7, 0x9c, 0x2b, +}; +static const unsigned char kat345_persstr[] = { + 0xd8, 0x6a, 0x1d, 0x62, 0x8b, 0xb8, 0x3d, 0x73, 0x86, 0x14, 0xa9, 0x3c, + 0x44, 0xc0, 0x8d, 0x37, 0x17, 0xf8, 0x03, 0xa2, 0x7b, 0xee, 0x61, 0xbe, + 0x24, 0xb8, 0xed, 0xf5, 0x2e, 0xfc, 0xd3, 0x68, +}; +static const unsigned char kat345_addin0[] = {0}; +static const unsigned char kat345_addin1[] = {0}; +static const unsigned char kat345_retbits[] = { + 0xac, 0xd3, 0x01, 0xc2, 0x92, 0xbb, 0x6b, 0x80, 0x14, 0x01, 0xff, 0x9e, + 0x3b, 0x65, 0x56, 0xfa, 0x1c, 0xa8, 0x06, 0x1b, 0x99, 0xb8, 0xbd, 0x54, + 0x5b, 0x16, 0x33, 0x18, 0xbb, 0x88, 0x02, 0x28, 0xee, 0xb4, 0xee, 0x3a, + 0xd5, 0x6b, 0x21, 0x34, 0x33, 0x77, 0x92, 0x86, 0x2d, 0xa2, 0x51, 0xc5, + 0xac, 0x43, 0xc2, 0xa2, 0xa5, 0xd8, 0xcb, 0x38, 0xc1, 0x84, 0x36, 0x83, + 0x9f, 0xba, 0xb4, 0xdc, +}; +static const struct drbg_kat_no_reseed kat345_t = { + 14, kat345_entropyin, kat345_nonce, kat345_persstr, + kat345_addin0, kat345_addin1, kat345_retbits +}; +static const struct drbg_kat kat345 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat345_t +}; + +static const unsigned char kat346_entropyin[] = { + 0xf3, 0x58, 0x3f, 0x3c, 0x8b, 0x14, 0x7a, 0x7e, 0xe9, 0x92, 0xd5, 0xca, + 0x61, 0x1e, 0x47, 0x85, 0xb7, 0x72, 0xcb, 0x57, 0x5a, 0x53, 0xa5, 0x73, +}; +static const unsigned char kat346_nonce[] = { + 0xeb, 0x1b, 0xce, 0xf5, 0x54, 0x1a, 0xba, 0x81, 0x29, 0xcd, 0xaa, 0x8b, + 0x23, 0x3b, 0x60, 0xf0, +}; +static const unsigned char kat346_persstr[] = { + 0x08, 0xc1, 0x8b, 0x3c, 0x8f, 0x79, 0xed, 0xa3, 0xba, 0x18, 0xfc, 0xd2, + 0x71, 0x1c, 0x86, 0xfd, 0x1d, 0x6a, 0x28, 0x42, 0xea, 0x95, 0xf1, 0xd8, + 0x96, 0x17, 0x24, 0x01, 0x2c, 0x0a, 0x61, 0x21, +}; +static const unsigned char kat346_addin0[] = { + 0x65, 0x7d, 0x1d, 0xf7, 0x80, 0xa9, 0xb6, 0x74, 0xb9, 0x0c, 0xce, 0x0d, + 0x49, 0xe2, 0xd5, 0xc0, 0xc0, 0x1e, 0xd2, 0xd2, 0xd7, 0x99, 0xf5, 0x04, + 0x34, 0x8d, 0x86, 0x37, 0x45, 0x76, 0xc4, 0x04, +}; +static const unsigned char kat346_addin1[] = { + 0x94, 0x23, 0x4f, 0x2b, 0x6c, 0x9f, 0x32, 0x7c, 0xd8, 0x23, 0xe7, 0x53, + 0xec, 0x9c, 0x4d, 0xe4, 0x11, 0x97, 0x37, 0xaf, 0x91, 0x4d, 0xea, 0x5e, + 0x57, 0xe0, 0xa5, 0x0e, 0x33, 0x76, 0x13, 0x5f, +}; +static const unsigned char kat346_retbits[] = { + 0x3c, 0x2e, 0x80, 0xe7, 0x21, 0x1e, 0x6a, 0x19, 0xa2, 0x7a, 0x53, 0xb4, + 0x95, 0x71, 0x65, 0xed, 0x87, 0xd1, 0xed, 0xb6, 0x62, 0x42, 0x6f, 0xee, + 0x92, 0x73, 0xae, 0x0d, 0x85, 0x40, 0x2c, 0xe2, 0x50, 0x7c, 0xda, 0x18, + 0x12, 0x6c, 0x07, 0xfb, 0x20, 0x11, 0x71, 0xf1, 0x76, 0xb0, 0x69, 0xd2, + 0xd2, 0xa1, 0x26, 0xaf, 0x5f, 0xb3, 0x1c, 0xe1, 0xd1, 0x99, 0x97, 0x8e, + 0x3d, 0x11, 0xd7, 0x71, +}; +static const struct drbg_kat_no_reseed kat346_t = { + 0, kat346_entropyin, kat346_nonce, kat346_persstr, + kat346_addin0, kat346_addin1, kat346_retbits +}; +static const struct drbg_kat kat346 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat346_t +}; + +static const unsigned char kat347_entropyin[] = { + 0x4e, 0x00, 0x8d, 0xc8, 0x72, 0xa7, 0x4a, 0x6a, 0x9d, 0x4c, 0x71, 0xc1, + 0x4a, 0x2d, 0x9b, 0x1a, 0xa7, 0xc0, 0x5a, 0x03, 0x40, 0x2c, 0xa1, 0x81, +}; +static const unsigned char kat347_nonce[] = { + 0x33, 0xc5, 0x0f, 0xa9, 0x5f, 0x0d, 0x9d, 0x03, 0xbc, 0xc1, 0xde, 0x53, + 0x0e, 0x04, 0x44, 0x0d, +}; +static const unsigned char kat347_persstr[] = { + 0x57, 0x87, 0x57, 0x74, 0x9b, 0x8e, 0xbe, 0x44, 0x2d, 0x93, 0xb6, 0x2c, + 0xb9, 0x42, 0x27, 0x8d, 0xe5, 0xaa, 0x89, 0x09, 0xf9, 0x14, 0x12, 0x0a, + 0x90, 0x58, 0xb2, 0xc3, 0x41, 0xe8, 0x86, 0xc8, +}; +static const unsigned char kat347_addin0[] = { + 0xea, 0x62, 0x7c, 0xb9, 0xfe, 0x1a, 0x49, 0x9e, 0x3b, 0xc1, 0xae, 0x73, + 0x1a, 0xa3, 0x73, 0x2b, 0x53, 0x93, 0x97, 0x17, 0x88, 0x98, 0xba, 0x2d, + 0xc4, 0x0c, 0x04, 0xae, 0x68, 0x50, 0x48, 0x86, +}; +static const unsigned char kat347_addin1[] = { + 0x77, 0x0a, 0xcb, 0x69, 0x0f, 0xd0, 0xba, 0x83, 0x09, 0x71, 0x93, 0x30, + 0x3d, 0x68, 0x44, 0x05, 0xdd, 0xb3, 0xdd, 0x4f, 0x67, 0x70, 0xf0, 0x14, + 0x1d, 0x58, 0x04, 0x62, 0x60, 0xe3, 0xf2, 0x73, +}; +static const unsigned char kat347_retbits[] = { + 0xb0, 0xe1, 0x3a, 0xf5, 0x42, 0xc0, 0x77, 0x79, 0x61, 0xcb, 0xec, 0x4c, + 0x61, 0xc9, 0xb2, 0x25, 0xa1, 0x21, 0x01, 0x16, 0xcb, 0xc7, 0x4e, 0xed, + 0x6e, 0xa8, 0xb7, 0x3e, 0x96, 0x8c, 0x11, 0x8f, 0xe6, 0x0e, 0x36, 0x07, + 0x98, 0xa1, 0x77, 0x9f, 0x07, 0xe0, 0x0b, 0x3f, 0xd1, 0x24, 0xf2, 0x78, + 0xb2, 0x7f, 0x70, 0x04, 0x66, 0x12, 0x02, 0x1d, 0xb8, 0xb8, 0xad, 0x32, + 0x92, 0x89, 0x40, 0x64, +}; +static const struct drbg_kat_no_reseed kat347_t = { + 1, kat347_entropyin, kat347_nonce, kat347_persstr, + kat347_addin0, kat347_addin1, kat347_retbits +}; +static const struct drbg_kat kat347 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat347_t +}; + +static const unsigned char kat348_entropyin[] = { + 0x09, 0x65, 0xa0, 0xca, 0x7c, 0x1e, 0x68, 0x46, 0x26, 0xa4, 0x09, 0xd8, + 0xcb, 0xed, 0x26, 0x73, 0x0e, 0x86, 0x18, 0xbf, 0x7c, 0x2c, 0x70, 0x31, +}; +static const unsigned char kat348_nonce[] = { + 0x19, 0xc4, 0x20, 0x55, 0xf5, 0xcd, 0x94, 0xdf, 0x0f, 0xe3, 0x03, 0x7a, + 0xf9, 0x81, 0x55, 0x0b, +}; +static const unsigned char kat348_persstr[] = { + 0xc9, 0x08, 0x8b, 0x4b, 0x23, 0xa1, 0xbd, 0x96, 0x96, 0x3e, 0x43, 0xe1, + 0xe7, 0x74, 0x28, 0x70, 0xb6, 0xb0, 0xad, 0x58, 0xac, 0xe3, 0x32, 0x6f, + 0x1c, 0x7e, 0x67, 0x5a, 0xff, 0x6e, 0x53, 0x97, +}; +static const unsigned char kat348_addin0[] = { + 0xcf, 0x58, 0x27, 0x39, 0x45, 0xa0, 0xc5, 0x26, 0x2b, 0xb1, 0x7e, 0x32, + 0xd2, 0xdc, 0x7a, 0xfa, 0x5f, 0xf9, 0x19, 0xee, 0xaf, 0xee, 0xf7, 0x32, + 0x2c, 0xa0, 0x2c, 0xa5, 0x05, 0x53, 0xf4, 0x91, +}; +static const unsigned char kat348_addin1[] = { + 0x9d, 0x64, 0xc2, 0xef, 0x27, 0xde, 0xda, 0xe0, 0x99, 0xa1, 0x01, 0x6c, + 0x10, 0x93, 0x71, 0x5b, 0xd1, 0x36, 0x87, 0xfa, 0xa1, 0x72, 0x42, 0xfe, + 0xa8, 0xbf, 0x25, 0x48, 0xa6, 0xdd, 0x7d, 0xfd, +}; +static const unsigned char kat348_retbits[] = { + 0x03, 0xa7, 0x58, 0x95, 0x2a, 0xc1, 0x7a, 0x40, 0x0a, 0xe9, 0x74, 0x28, + 0xba, 0xa6, 0x41, 0xd7, 0xb9, 0xe3, 0xcd, 0xdb, 0x16, 0x3c, 0x1f, 0x38, + 0x19, 0x69, 0xb2, 0x09, 0x5b, 0x5e, 0x00, 0x76, 0xc3, 0x53, 0xc8, 0xf5, + 0x54, 0x60, 0xf1, 0x62, 0xae, 0x85, 0x23, 0xa5, 0x2b, 0x46, 0xa0, 0x1d, + 0x5d, 0x26, 0x43, 0xac, 0x81, 0x52, 0x9e, 0x7f, 0xc7, 0x73, 0xac, 0xda, + 0xf6, 0x74, 0xed, 0x37, +}; +static const struct drbg_kat_no_reseed kat348_t = { + 2, kat348_entropyin, kat348_nonce, kat348_persstr, + kat348_addin0, kat348_addin1, kat348_retbits +}; +static const struct drbg_kat kat348 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat348_t +}; + +static const unsigned char kat349_entropyin[] = { + 0x0b, 0x74, 0xa0, 0xd1, 0x4e, 0x27, 0x94, 0xd8, 0x8b, 0x66, 0x17, 0x0c, + 0x90, 0xc4, 0xf9, 0x21, 0xaf, 0xa6, 0xe6, 0x78, 0xd4, 0x8a, 0x38, 0x6a, +}; +static const unsigned char kat349_nonce[] = { + 0x2c, 0x38, 0x0c, 0xba, 0xbd, 0x98, 0x44, 0x3d, 0x64, 0x56, 0xea, 0xcf, + 0x25, 0xff, 0xdc, 0xfc, +}; +static const unsigned char kat349_persstr[] = { + 0x11, 0x0b, 0xf5, 0xb1, 0x76, 0xd8, 0x7a, 0x0a, 0x4e, 0x6c, 0x48, 0x28, + 0x29, 0x72, 0x85, 0x4c, 0x3e, 0xde, 0xbd, 0xd2, 0x08, 0xc9, 0xa6, 0xa3, + 0xef, 0x52, 0x0f, 0x93, 0xa2, 0x1e, 0x1b, 0xbf, +}; +static const unsigned char kat349_addin0[] = { + 0x0e, 0xee, 0xec, 0x35, 0x9c, 0x4c, 0x7b, 0x15, 0x5c, 0xd4, 0x91, 0x71, + 0x13, 0x65, 0x14, 0xde, 0xa7, 0x1a, 0xb8, 0xe4, 0x35, 0xa1, 0x22, 0x60, + 0x6c, 0xcc, 0x50, 0x40, 0xd4, 0xce, 0x82, 0x5b, +}; +static const unsigned char kat349_addin1[] = { + 0x9d, 0xe0, 0xef, 0x32, 0x02, 0x88, 0x82, 0x3b, 0x06, 0xce, 0x81, 0x89, + 0x5e, 0x57, 0x23, 0xf1, 0x32, 0x39, 0xd5, 0x26, 0x9d, 0x50, 0x7c, 0xca, + 0xb6, 0xbc, 0xd9, 0x6b, 0x3b, 0x9b, 0x3f, 0xbf, +}; +static const unsigned char kat349_retbits[] = { + 0x3f, 0xe1, 0x12, 0xcc, 0xd4, 0x4d, 0x50, 0xd5, 0xd5, 0x4e, 0x33, 0xbd, + 0xd6, 0xf1, 0x12, 0xf1, 0xef, 0x4c, 0xaa, 0xc0, 0x69, 0x58, 0x6d, 0xd4, + 0xd8, 0x9c, 0x64, 0xe6, 0x93, 0x14, 0xe2, 0xef, 0xc3, 0xcb, 0x77, 0xaa, + 0x5f, 0xe2, 0x08, 0x61, 0x59, 0xab, 0xfe, 0x21, 0x9e, 0xfd, 0xf5, 0x2b, + 0x86, 0x70, 0x41, 0x14, 0x75, 0x58, 0x57, 0xd7, 0x4c, 0x45, 0x9a, 0xf5, + 0x22, 0x85, 0xa4, 0x4a, +}; +static const struct drbg_kat_no_reseed kat349_t = { + 3, kat349_entropyin, kat349_nonce, kat349_persstr, + kat349_addin0, kat349_addin1, kat349_retbits +}; +static const struct drbg_kat kat349 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat349_t +}; + +static const unsigned char kat350_entropyin[] = { + 0xfe, 0x01, 0xd0, 0x64, 0xd2, 0x98, 0xa1, 0x6a, 0xa1, 0x38, 0xbf, 0x10, + 0xfe, 0x69, 0x2a, 0xd6, 0xaa, 0xae, 0x53, 0xf5, 0x19, 0xe6, 0xad, 0x13, +}; +static const unsigned char kat350_nonce[] = { + 0x14, 0x32, 0xc2, 0x4e, 0x78, 0xa2, 0x45, 0x40, 0xdc, 0xb5, 0x91, 0x4e, + 0xe8, 0x51, 0x0c, 0xfa, +}; +static const unsigned char kat350_persstr[] = { + 0x76, 0x99, 0x12, 0xbd, 0xd5, 0x9b, 0xcd, 0x14, 0x5c, 0x52, 0x7e, 0x9c, + 0x13, 0x2c, 0x5e, 0xca, 0x56, 0xb2, 0x87, 0x8f, 0x12, 0x2c, 0x0e, 0x53, + 0xfa, 0x34, 0x53, 0x14, 0x0a, 0x2b, 0x4b, 0x01, +}; +static const unsigned char kat350_addin0[] = { + 0x30, 0x0b, 0x91, 0x87, 0x40, 0x26, 0x19, 0xf7, 0x75, 0xca, 0x2c, 0x53, + 0x52, 0xa3, 0x3a, 0x03, 0x4a, 0xd8, 0x00, 0x68, 0xcf, 0xef, 0x0f, 0xb1, + 0xea, 0xa7, 0xb5, 0x76, 0xa0, 0xc9, 0x10, 0xbd, +}; +static const unsigned char kat350_addin1[] = { + 0xb6, 0xb1, 0x76, 0xd0, 0x6c, 0xe4, 0xfe, 0x18, 0x9d, 0x87, 0x73, 0xf4, + 0x13, 0xf2, 0x59, 0x26, 0x10, 0x63, 0x79, 0x69, 0xab, 0x9a, 0x1d, 0xde, + 0x51, 0x96, 0x0f, 0xcd, 0x42, 0x75, 0xfc, 0x80, +}; +static const unsigned char kat350_retbits[] = { + 0x98, 0x90, 0x5c, 0x12, 0xc0, 0xe5, 0xc2, 0xe0, 0x7b, 0x32, 0x61, 0x7f, + 0xac, 0x64, 0x34, 0x34, 0x21, 0xfe, 0x69, 0x7b, 0x18, 0x88, 0x6a, 0x33, + 0x44, 0xa4, 0xe6, 0x28, 0x67, 0x73, 0x2e, 0x90, 0xe2, 0x85, 0x75, 0x04, + 0xf7, 0x53, 0xc1, 0x11, 0x83, 0xfd, 0xb4, 0xdb, 0xe4, 0x6e, 0x78, 0xfb, + 0x74, 0xe5, 0xbe, 0x32, 0xa6, 0x72, 0xb8, 0xe5, 0xc6, 0x99, 0xc3, 0x45, + 0xa8, 0x4a, 0x6d, 0xcc, +}; +static const struct drbg_kat_no_reseed kat350_t = { + 4, kat350_entropyin, kat350_nonce, kat350_persstr, + kat350_addin0, kat350_addin1, kat350_retbits +}; +static const struct drbg_kat kat350 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat350_t +}; + +static const unsigned char kat351_entropyin[] = { + 0x25, 0x38, 0x36, 0xb5, 0xb8, 0xe1, 0xda, 0x4a, 0x96, 0xf2, 0x01, 0xec, + 0xdc, 0xce, 0xbc, 0x2f, 0x9a, 0xed, 0xb9, 0xf2, 0x20, 0xed, 0x26, 0x61, +}; +static const unsigned char kat351_nonce[] = { + 0x1e, 0x91, 0xb8, 0x74, 0x68, 0xf3, 0x28, 0x4a, 0x4e, 0x55, 0x08, 0x40, + 0x2a, 0x32, 0x74, 0x25, +}; +static const unsigned char kat351_persstr[] = { + 0x25, 0xe8, 0x4e, 0x59, 0x21, 0xcd, 0x54, 0x8c, 0x38, 0x95, 0xac, 0xb0, + 0x1d, 0xcd, 0xff, 0xc9, 0xa4, 0x79, 0x22, 0x56, 0xf3, 0x1d, 0x1a, 0xdf, + 0x30, 0xe0, 0x89, 0xb6, 0xa4, 0x0c, 0xd0, 0x29, +}; +static const unsigned char kat351_addin0[] = { + 0x0b, 0x8b, 0x88, 0xd3, 0xc3, 0x78, 0x73, 0x6b, 0x60, 0x69, 0x49, 0x0c, + 0xc8, 0xf8, 0x1b, 0x70, 0xb1, 0xc4, 0x2d, 0xc7, 0xb6, 0x30, 0xb5, 0xe8, + 0xb5, 0xd2, 0x57, 0xfa, 0x73, 0xda, 0x77, 0xcf, +}; +static const unsigned char kat351_addin1[] = { + 0xe7, 0x92, 0x5d, 0xbd, 0x1b, 0x6e, 0xc3, 0x62, 0xf2, 0xb3, 0x94, 0x1c, + 0x34, 0xad, 0x6c, 0xc9, 0xf0, 0x9b, 0x7e, 0xe1, 0xe6, 0xc9, 0xff, 0xd5, + 0x12, 0x05, 0x4b, 0xdd, 0x40, 0x3d, 0xe0, 0xe1, +}; +static const unsigned char kat351_retbits[] = { + 0xa4, 0x33, 0x61, 0xdf, 0xe3, 0x61, 0x97, 0x9a, 0xbf, 0xf5, 0x57, 0xf6, + 0x50, 0x06, 0xc5, 0x2e, 0x77, 0x64, 0xa2, 0x8f, 0x7d, 0x13, 0x69, 0x7c, + 0x94, 0x09, 0x85, 0x52, 0xaf, 0x40, 0x05, 0x97, 0x89, 0x3b, 0x9f, 0x02, + 0x71, 0x3f, 0x96, 0xd3, 0x94, 0xbb, 0x17, 0x83, 0x8f, 0x3c, 0x7b, 0xc8, + 0xdc, 0xb7, 0xaa, 0x03, 0x32, 0xb7, 0xef, 0x6b, 0x51, 0xde, 0xec, 0x7a, + 0x2f, 0x38, 0x16, 0x07, +}; +static const struct drbg_kat_no_reseed kat351_t = { + 5, kat351_entropyin, kat351_nonce, kat351_persstr, + kat351_addin0, kat351_addin1, kat351_retbits +}; +static const struct drbg_kat kat351 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat351_t +}; + +static const unsigned char kat352_entropyin[] = { + 0x0b, 0xa8, 0xc3, 0x0d, 0x69, 0x75, 0x23, 0x95, 0xd3, 0xa6, 0xdd, 0x5c, + 0x3d, 0x2e, 0xb1, 0x7c, 0x98, 0x4b, 0x40, 0xb4, 0x03, 0x82, 0xac, 0x84, +}; +static const unsigned char kat352_nonce[] = { + 0x60, 0x79, 0x40, 0xf2, 0x5e, 0x5d, 0xb8, 0x9a, 0x7b, 0x2d, 0xa5, 0xd4, + 0xee, 0x79, 0xb8, 0x46, +}; +static const unsigned char kat352_persstr[] = { + 0x87, 0x74, 0xab, 0x97, 0xc6, 0xfa, 0x93, 0x8e, 0x49, 0x37, 0x3e, 0x94, + 0x83, 0xc1, 0xa1, 0x8c, 0x8b, 0xf4, 0x3d, 0x3e, 0x38, 0xf9, 0xb9, 0x5e, + 0x23, 0xab, 0x04, 0x12, 0x24, 0x5b, 0x8f, 0xb5, +}; +static const unsigned char kat352_addin0[] = { + 0x94, 0x6c, 0xe7, 0xd8, 0xda, 0xf6, 0x45, 0xbb, 0x0a, 0x21, 0x87, 0x85, + 0xc0, 0x24, 0x61, 0xdb, 0xf4, 0x97, 0x3a, 0xf9, 0xf9, 0xb1, 0xb7, 0x70, + 0x94, 0x89, 0xe1, 0xb4, 0xe2, 0xf9, 0x1b, 0xad, +}; +static const unsigned char kat352_addin1[] = { + 0x73, 0xde, 0xf1, 0x10, 0x43, 0x86, 0xd8, 0x3e, 0xf8, 0xbc, 0x71, 0x7e, + 0x52, 0x2b, 0x14, 0x8c, 0xca, 0xac, 0xd4, 0x3a, 0x27, 0x9b, 0x73, 0xc3, + 0x73, 0xa6, 0xd5, 0xa6, 0x62, 0xf0, 0x26, 0xa3, +}; +static const unsigned char kat352_retbits[] = { + 0x54, 0xbe, 0x8d, 0xaf, 0xf4, 0xb6, 0x5b, 0x03, 0x2b, 0xfa, 0x52, 0x34, + 0x92, 0x06, 0x1c, 0x46, 0xb5, 0xce, 0x36, 0xb2, 0x64, 0x60, 0x84, 0x47, + 0x43, 0x03, 0xd2, 0x62, 0x2b, 0x00, 0x61, 0x12, 0xdd, 0x18, 0x6d, 0xce, + 0x10, 0xc3, 0x06, 0x85, 0x6c, 0x2e, 0x88, 0xc1, 0xce, 0xdc, 0x40, 0x42, + 0x69, 0xb8, 0x92, 0x4f, 0x92, 0xd8, 0x43, 0x97, 0x30, 0xd6, 0x47, 0xda, + 0x55, 0xd6, 0x0e, 0x9b, +}; +static const struct drbg_kat_no_reseed kat352_t = { + 6, kat352_entropyin, kat352_nonce, kat352_persstr, + kat352_addin0, kat352_addin1, kat352_retbits +}; +static const struct drbg_kat kat352 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat352_t +}; + +static const unsigned char kat353_entropyin[] = { + 0x61, 0x91, 0x07, 0x37, 0x79, 0x9f, 0xa4, 0x68, 0xa3, 0xf6, 0x6d, 0xad, + 0xaf, 0x56, 0xf4, 0xe3, 0xb8, 0xf7, 0x98, 0xca, 0x65, 0xce, 0x03, 0x91, +}; +static const unsigned char kat353_nonce[] = { + 0x72, 0x33, 0x99, 0xac, 0x93, 0x58, 0x69, 0xce, 0x20, 0x5d, 0x85, 0x50, + 0x9c, 0xc2, 0x78, 0x42, +}; +static const unsigned char kat353_persstr[] = { + 0x29, 0xe3, 0xea, 0x51, 0x80, 0x5c, 0x78, 0xfe, 0x84, 0x91, 0x15, 0xc4, + 0xb7, 0x73, 0x61, 0xd7, 0x5b, 0x1b, 0x92, 0x46, 0xe5, 0x6c, 0x46, 0x41, + 0x66, 0xac, 0x7e, 0x8d, 0x1c, 0xa8, 0xe3, 0xab, +}; +static const unsigned char kat353_addin0[] = { + 0xab, 0x8a, 0xa0, 0x35, 0xc7, 0x15, 0x01, 0xc1, 0xf4, 0x9d, 0xea, 0x7c, + 0x67, 0x8e, 0x02, 0xd6, 0x9e, 0x2f, 0x84, 0x3a, 0xf7, 0x44, 0x79, 0x36, + 0x7a, 0x38, 0x6f, 0x68, 0x4c, 0xc3, 0x60, 0xdb, +}; +static const unsigned char kat353_addin1[] = { + 0x22, 0xdc, 0xd9, 0xf0, 0x31, 0x38, 0xf3, 0x72, 0xb1, 0x5f, 0x15, 0xac, + 0x6d, 0xc3, 0x1d, 0x13, 0x57, 0x10, 0x2e, 0xd4, 0xe8, 0x03, 0xb6, 0xd3, + 0x84, 0x29, 0x8e, 0x4c, 0xde, 0xb2, 0xe9, 0x01, +}; +static const unsigned char kat353_retbits[] = { + 0x01, 0x86, 0x2e, 0x1d, 0x6f, 0xa1, 0x11, 0x73, 0x60, 0x9a, 0x18, 0x2d, + 0x6a, 0x5a, 0x73, 0x31, 0x0c, 0x76, 0xdf, 0xa8, 0x8d, 0x1e, 0xbf, 0xf2, + 0x5e, 0xf4, 0x5d, 0x57, 0x96, 0xbd, 0xf4, 0x7a, 0x2b, 0xb6, 0xb9, 0xcf, + 0x88, 0x17, 0xe6, 0xd7, 0x6b, 0x70, 0xbf, 0x0b, 0x9e, 0x83, 0xd8, 0xb4, + 0xa1, 0x28, 0xbe, 0xe0, 0x6b, 0x6b, 0x0e, 0xe3, 0x7b, 0x60, 0x21, 0xad, + 0x47, 0x22, 0xc4, 0xe7, +}; +static const struct drbg_kat_no_reseed kat353_t = { + 7, kat353_entropyin, kat353_nonce, kat353_persstr, + kat353_addin0, kat353_addin1, kat353_retbits +}; +static const struct drbg_kat kat353 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat353_t +}; + +static const unsigned char kat354_entropyin[] = { + 0x6d, 0xf2, 0x09, 0x57, 0x0e, 0xd2, 0x0e, 0x3d, 0x9f, 0x13, 0xe9, 0x6c, + 0x29, 0xd2, 0xb0, 0x14, 0xbc, 0xa9, 0xb9, 0xfb, 0xeb, 0x5a, 0x32, 0xcf, +}; +static const unsigned char kat354_nonce[] = { + 0x53, 0x1a, 0x31, 0xc8, 0x7e, 0xc9, 0x2b, 0xa0, 0x6e, 0xf8, 0xa6, 0xdb, + 0x62, 0x3c, 0xf3, 0xc0, +}; +static const unsigned char kat354_persstr[] = { + 0xf2, 0x55, 0x70, 0x3d, 0xc8, 0xcd, 0x5c, 0xeb, 0xba, 0x02, 0x29, 0xe4, + 0x31, 0x5a, 0xee, 0xe8, 0x6b, 0xee, 0x45, 0xae, 0xb7, 0x52, 0x79, 0xc0, + 0xe1, 0x20, 0xe4, 0x4e, 0x46, 0x93, 0x5b, 0x15, +}; +static const unsigned char kat354_addin0[] = { + 0x7e, 0x16, 0x03, 0x2a, 0x61, 0x55, 0xc3, 0x7c, 0x24, 0x69, 0xb7, 0x3a, + 0x2a, 0x50, 0xba, 0xa8, 0x96, 0x53, 0xe9, 0xc1, 0xe7, 0xb2, 0x5b, 0xdb, + 0xf0, 0x67, 0x5c, 0xa6, 0x84, 0xec, 0x8a, 0x05, +}; +static const unsigned char kat354_addin1[] = { + 0x95, 0x60, 0x81, 0xc8, 0x08, 0xea, 0x4b, 0x9f, 0xd3, 0xc9, 0x88, 0x01, + 0x40, 0xcd, 0xbe, 0x41, 0xcb, 0x0a, 0xa0, 0x39, 0xf0, 0xff, 0xad, 0x1e, + 0xfc, 0xb9, 0x4b, 0x41, 0x31, 0x7a, 0xb3, 0x21, +}; +static const unsigned char kat354_retbits[] = { + 0x5e, 0x8d, 0x8b, 0x4b, 0x79, 0xeb, 0x53, 0x42, 0x2f, 0x92, 0x68, 0x36, + 0xef, 0x78, 0x05, 0x1f, 0x53, 0x3b, 0x93, 0x18, 0xf6, 0x1a, 0x62, 0x55, + 0x29, 0xb0, 0xad, 0xcc, 0x07, 0x0d, 0x71, 0xd2, 0xef, 0xd3, 0x3f, 0x61, + 0x14, 0xdb, 0x13, 0xcf, 0x26, 0xb6, 0x62, 0x1f, 0xe8, 0x56, 0xb7, 0x08, + 0xaf, 0x48, 0xa6, 0x7f, 0x3c, 0xb2, 0xed, 0x8b, 0x9a, 0x92, 0xe0, 0xb7, + 0x3b, 0xfb, 0xce, 0x57, +}; +static const struct drbg_kat_no_reseed kat354_t = { + 8, kat354_entropyin, kat354_nonce, kat354_persstr, + kat354_addin0, kat354_addin1, kat354_retbits +}; +static const struct drbg_kat kat354 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat354_t +}; + +static const unsigned char kat355_entropyin[] = { + 0x73, 0x2a, 0xda, 0x29, 0x7f, 0x8e, 0x2f, 0x25, 0x4e, 0x5c, 0x3c, 0xd3, + 0x27, 0x58, 0xa7, 0x00, 0xa4, 0xaa, 0x63, 0xea, 0x35, 0x31, 0x78, 0xf1, +}; +static const unsigned char kat355_nonce[] = { + 0x19, 0x1f, 0x07, 0xc4, 0x99, 0x93, 0xf6, 0xb4, 0xb2, 0x49, 0xf6, 0xad, + 0x0d, 0x70, 0x2d, 0x7f, +}; +static const unsigned char kat355_persstr[] = { + 0x9a, 0x31, 0x0d, 0x97, 0x0d, 0xaa, 0xff, 0x8a, 0xb0, 0xb2, 0x6a, 0x0e, + 0xdd, 0x2a, 0xa2, 0xe5, 0xc4, 0x0f, 0x83, 0x3c, 0xd1, 0x54, 0x21, 0x8d, + 0xd7, 0x12, 0xb1, 0x1c, 0x52, 0x93, 0x4a, 0xb2, +}; +static const unsigned char kat355_addin0[] = { + 0xa3, 0x8c, 0x3e, 0x35, 0xc7, 0x3f, 0x78, 0xb3, 0x81, 0x6e, 0xe9, 0x0b, + 0x7d, 0x13, 0x16, 0xc4, 0x24, 0x71, 0x90, 0x47, 0xe1, 0x04, 0xe3, 0x09, + 0x73, 0xf6, 0x96, 0x10, 0xcb, 0x41, 0x40, 0x8a, +}; +static const unsigned char kat355_addin1[] = { + 0x14, 0xae, 0xf4, 0x4a, 0x84, 0xb7, 0xc0, 0x21, 0xd4, 0xfc, 0xf3, 0x82, + 0x58, 0xcb, 0xfb, 0x95, 0xb1, 0x07, 0xbf, 0xf7, 0x51, 0xb5, 0x40, 0x5b, + 0xf2, 0x1e, 0x9d, 0x08, 0x8f, 0xd7, 0x2d, 0xab, +}; +static const unsigned char kat355_retbits[] = { + 0x8a, 0x84, 0x0c, 0x68, 0x78, 0x67, 0x1d, 0x31, 0xac, 0x43, 0x84, 0xaa, + 0x7e, 0x11, 0x3b, 0x09, 0x74, 0x4f, 0x6d, 0x89, 0xa0, 0x9b, 0x0e, 0x5c, + 0xb7, 0xcd, 0x14, 0x80, 0xfd, 0x89, 0x4e, 0xa6, 0x9e, 0x56, 0x8d, 0x6e, + 0xe8, 0x31, 0xa9, 0xef, 0x4b, 0x90, 0xdb, 0x52, 0x77, 0xf6, 0xee, 0x48, + 0xac, 0x66, 0xbb, 0xc3, 0x78, 0x65, 0x68, 0x7c, 0xed, 0x77, 0xf9, 0x56, + 0xa2, 0xca, 0xcf, 0x90, +}; +static const struct drbg_kat_no_reseed kat355_t = { + 9, kat355_entropyin, kat355_nonce, kat355_persstr, + kat355_addin0, kat355_addin1, kat355_retbits +}; +static const struct drbg_kat kat355 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat355_t +}; + +static const unsigned char kat356_entropyin[] = { + 0x61, 0xd3, 0x83, 0x95, 0x16, 0x61, 0x74, 0x27, 0x61, 0x38, 0xd6, 0x43, + 0x68, 0x3b, 0x3e, 0x63, 0xd5, 0x90, 0x9e, 0x5d, 0x15, 0xd7, 0x31, 0x4a, +}; +static const unsigned char kat356_nonce[] = { + 0x21, 0x14, 0x1c, 0xe4, 0x19, 0xc9, 0x54, 0x1d, 0x49, 0xbc, 0xff, 0xcc, + 0xf0, 0x16, 0xd5, 0x93, +}; +static const unsigned char kat356_persstr[] = { + 0x63, 0xb3, 0xac, 0x79, 0x89, 0x91, 0x37, 0x69, 0x23, 0xc1, 0x11, 0x71, + 0x08, 0xdd, 0x09, 0x62, 0x74, 0x57, 0xb0, 0x4f, 0x20, 0xeb, 0x06, 0x3c, + 0xac, 0xb4, 0xe0, 0xc5, 0x6a, 0xee, 0xde, 0x43, +}; +static const unsigned char kat356_addin0[] = { + 0x15, 0x07, 0xf2, 0x57, 0x0a, 0xc3, 0x47, 0xe2, 0x59, 0x3a, 0x77, 0x87, + 0x3e, 0xc2, 0xab, 0x50, 0x86, 0xd9, 0xb3, 0x65, 0x9f, 0xba, 0x3c, 0xa2, + 0xba, 0xe6, 0x04, 0x14, 0x21, 0x9b, 0xd7, 0x34, +}; +static const unsigned char kat356_addin1[] = { + 0xc6, 0x2c, 0x67, 0x91, 0xec, 0x08, 0xe6, 0x4b, 0xe2, 0xfa, 0x59, 0xd2, + 0xfa, 0x9e, 0x17, 0x49, 0xc1, 0x86, 0x40, 0x85, 0x54, 0xa0, 0x55, 0x14, + 0x4e, 0x3e, 0xe9, 0x2d, 0x7b, 0xf1, 0x30, 0xbf, +}; +static const unsigned char kat356_retbits[] = { + 0xff, 0x3d, 0xf5, 0x33, 0xee, 0xab, 0x76, 0x97, 0xef, 0x66, 0x8d, 0x30, + 0x1e, 0x9d, 0x69, 0x20, 0xb1, 0x55, 0xd6, 0x78, 0x1e, 0x4a, 0xbd, 0xad, + 0xb0, 0xef, 0xce, 0x45, 0x75, 0xa6, 0x49, 0xd1, 0x32, 0x97, 0xe0, 0xb2, + 0x98, 0x69, 0x40, 0x60, 0x8c, 0x65, 0x57, 0xfe, 0x19, 0x6d, 0x65, 0xb9, + 0xaa, 0x4f, 0x64, 0x21, 0x96, 0xca, 0x83, 0x6f, 0xd7, 0x57, 0xe0, 0xc3, + 0xc3, 0xcc, 0x5d, 0x1b, +}; +static const struct drbg_kat_no_reseed kat356_t = { + 10, kat356_entropyin, kat356_nonce, kat356_persstr, + kat356_addin0, kat356_addin1, kat356_retbits +}; +static const struct drbg_kat kat356 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat356_t +}; + +static const unsigned char kat357_entropyin[] = { + 0xa1, 0x32, 0xa5, 0x32, 0x44, 0xa7, 0x84, 0x07, 0x88, 0x00, 0x47, 0x4c, + 0xfe, 0xe3, 0xd7, 0x72, 0xcc, 0x00, 0xda, 0x9e, 0xfb, 0x5a, 0xab, 0xce, +}; +static const unsigned char kat357_nonce[] = { + 0x6a, 0x29, 0x9b, 0x43, 0xe7, 0xd6, 0x71, 0xdf, 0xb2, 0xdb, 0x27, 0xb7, + 0x92, 0x02, 0xf3, 0x36, +}; +static const unsigned char kat357_persstr[] = { + 0xf3, 0xf6, 0xe2, 0xff, 0xc0, 0x24, 0x06, 0x88, 0xfa, 0xa1, 0x2b, 0xfc, + 0x60, 0xcb, 0x28, 0x71, 0x9b, 0x8c, 0x4f, 0xfc, 0x42, 0x0f, 0xe9, 0x13, + 0x29, 0xcf, 0x0f, 0xa7, 0x92, 0xe3, 0x2e, 0xda, +}; +static const unsigned char kat357_addin0[] = { + 0x13, 0x7e, 0x39, 0xe2, 0xd8, 0xb6, 0x5c, 0xac, 0x5a, 0x65, 0x4b, 0x00, + 0xa9, 0xfc, 0xe3, 0x82, 0x52, 0x16, 0x2e, 0xdb, 0x4e, 0xec, 0xc7, 0x92, + 0x07, 0x55, 0xbf, 0xfc, 0x96, 0xa5, 0xd6, 0x41, +}; +static const unsigned char kat357_addin1[] = { + 0x98, 0xb6, 0xe4, 0x17, 0x61, 0x6f, 0x3c, 0xfe, 0x40, 0x90, 0x00, 0x87, + 0x28, 0x65, 0xf4, 0xd0, 0x8f, 0xb0, 0x32, 0x2b, 0xdd, 0xa4, 0x5e, 0xf1, + 0xcb, 0x70, 0x00, 0xfa, 0x45, 0x26, 0x6b, 0x20, +}; +static const unsigned char kat357_retbits[] = { + 0x9a, 0x1b, 0xad, 0x8d, 0x87, 0x77, 0x7f, 0x45, 0xf9, 0xcb, 0x8b, 0xde, + 0x14, 0xc7, 0xea, 0xaa, 0xcd, 0x93, 0x74, 0xb9, 0x74, 0x26, 0x4e, 0x14, + 0xd1, 0xba, 0x31, 0xec, 0x59, 0x98, 0x3a, 0x35, 0x90, 0x74, 0x1d, 0xdf, + 0x6c, 0x85, 0xe9, 0x93, 0xff, 0xb7, 0xb8, 0x50, 0x35, 0x20, 0x2d, 0x24, + 0xf1, 0x06, 0x83, 0xa5, 0x3e, 0x87, 0xac, 0x92, 0x02, 0xf5, 0x5d, 0x8b, + 0x99, 0x18, 0x91, 0xc9, +}; +static const struct drbg_kat_no_reseed kat357_t = { + 11, kat357_entropyin, kat357_nonce, kat357_persstr, + kat357_addin0, kat357_addin1, kat357_retbits +}; +static const struct drbg_kat kat357 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat357_t +}; + +static const unsigned char kat358_entropyin[] = { + 0x44, 0x40, 0x2c, 0xfd, 0xba, 0xb2, 0x13, 0x4d, 0xfe, 0x82, 0x56, 0x06, + 0xd2, 0xa8, 0xe1, 0xa4, 0x92, 0xc7, 0x60, 0x84, 0xf1, 0x24, 0x54, 0x31, +}; +static const unsigned char kat358_nonce[] = { + 0x31, 0x29, 0x85, 0x42, 0x7c, 0xf3, 0xc3, 0xe4, 0xe1, 0x49, 0x8f, 0x59, + 0x66, 0x30, 0xd0, 0xe6, +}; +static const unsigned char kat358_persstr[] = { + 0xf3, 0x33, 0xe2, 0x9a, 0x3a, 0x03, 0xe7, 0x01, 0x1c, 0x05, 0x85, 0xbd, + 0x95, 0xbf, 0xd8, 0x19, 0xb8, 0x40, 0x32, 0xa8, 0xe0, 0x54, 0x9c, 0xdb, + 0xd0, 0xe1, 0x1a, 0xf1, 0x6b, 0xcb, 0x69, 0x3e, +}; +static const unsigned char kat358_addin0[] = { + 0x9b, 0x3c, 0x03, 0x3e, 0x37, 0x43, 0x73, 0x2c, 0x9e, 0xce, 0x7d, 0xf9, + 0x41, 0xd1, 0xae, 0x4b, 0xce, 0x7e, 0x66, 0x31, 0x0c, 0x31, 0x75, 0x82, + 0x4e, 0x6e, 0xc6, 0xe8, 0x2c, 0x02, 0xc6, 0xa1, +}; +static const unsigned char kat358_addin1[] = { + 0x9c, 0xd3, 0x9c, 0xdd, 0x2d, 0x43, 0x74, 0x0f, 0x30, 0x34, 0x73, 0x63, + 0x59, 0xe8, 0x9b, 0x7a, 0x78, 0xd2, 0x5b, 0xd1, 0x8a, 0xce, 0x9a, 0x14, + 0xdf, 0x1c, 0x36, 0xce, 0x7d, 0xde, 0x50, 0x5c, +}; +static const unsigned char kat358_retbits[] = { + 0xe5, 0x84, 0xa0, 0x46, 0x49, 0x4b, 0x50, 0x76, 0x75, 0x76, 0x43, 0xba, + 0x84, 0xc7, 0xa7, 0xe0, 0x8c, 0x00, 0x45, 0xfc, 0xa4, 0x32, 0x5c, 0x3f, + 0x9c, 0x58, 0xf6, 0x66, 0x24, 0x52, 0x6c, 0xd4, 0x3a, 0x12, 0x8d, 0x10, + 0x54, 0xf8, 0x1b, 0x3c, 0x4b, 0x6f, 0x57, 0x35, 0xf3, 0xfb, 0x6f, 0x33, + 0xd2, 0x82, 0x50, 0x62, 0xec, 0x27, 0x05, 0x3f, 0x4d, 0x0d, 0xe2, 0x41, + 0xcc, 0xf7, 0x4a, 0xc8, +}; +static const struct drbg_kat_no_reseed kat358_t = { + 12, kat358_entropyin, kat358_nonce, kat358_persstr, + kat358_addin0, kat358_addin1, kat358_retbits +}; +static const struct drbg_kat kat358 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat358_t +}; + +static const unsigned char kat359_entropyin[] = { + 0x33, 0xba, 0xb5, 0xbb, 0x7c, 0x01, 0x37, 0xed, 0x68, 0xbb, 0xb9, 0x8b, + 0x2e, 0x16, 0x5d, 0xc9, 0x24, 0x77, 0xe2, 0x4c, 0xca, 0xd6, 0x0c, 0x3c, +}; +static const unsigned char kat359_nonce[] = { + 0x72, 0x00, 0x6a, 0x08, 0x65, 0x3c, 0x6b, 0x83, 0x7f, 0xe2, 0x02, 0x43, + 0x8b, 0xaa, 0x43, 0x89, +}; +static const unsigned char kat359_persstr[] = { + 0x09, 0x8f, 0x89, 0x66, 0x20, 0xff, 0x0e, 0x41, 0x43, 0x79, 0x7c, 0x1c, + 0x6b, 0xe8, 0x1c, 0x62, 0x5e, 0xd3, 0x7f, 0x79, 0xbc, 0x05, 0xa2, 0xd3, + 0x01, 0x84, 0x59, 0x09, 0x7f, 0xd1, 0x40, 0xb4, +}; +static const unsigned char kat359_addin0[] = { + 0xc2, 0xa2, 0x89, 0xd2, 0x18, 0xdc, 0xd2, 0x80, 0xe6, 0xa8, 0x82, 0xe3, + 0x0e, 0x18, 0x2d, 0xa6, 0xa1, 0x3f, 0xd0, 0x96, 0x36, 0x85, 0xb3, 0xa9, + 0xaf, 0xca, 0xae, 0x8a, 0xe3, 0xac, 0xad, 0x69, +}; +static const unsigned char kat359_addin1[] = { + 0x36, 0x1a, 0xcb, 0x27, 0xf5, 0x01, 0x40, 0x80, 0xa9, 0xe5, 0x21, 0xe0, + 0x42, 0x0d, 0xfd, 0x58, 0xe9, 0x20, 0x91, 0x11, 0xdf, 0x3b, 0x1b, 0xc7, + 0x7b, 0xef, 0x23, 0x55, 0x15, 0x81, 0x88, 0x72, +}; +static const unsigned char kat359_retbits[] = { + 0xb0, 0x07, 0xae, 0xb8, 0x7b, 0x47, 0x85, 0x81, 0x5c, 0xf0, 0xb5, 0x46, + 0xff, 0x25, 0xdc, 0xf5, 0xbf, 0x96, 0xb3, 0xfa, 0xa8, 0x8d, 0xf8, 0xe4, + 0x5a, 0x12, 0xb7, 0x88, 0xc4, 0x74, 0x00, 0xce, 0xab, 0x79, 0xd9, 0x61, + 0xc9, 0xd6, 0x5b, 0xc4, 0x75, 0xb5, 0x6a, 0xbf, 0xf9, 0xba, 0x1d, 0x0e, + 0x3a, 0x5f, 0xf5, 0xfe, 0x56, 0xfb, 0xda, 0x06, 0xcd, 0xbd, 0x71, 0x02, + 0xa2, 0x72, 0x5a, 0xaa, +}; +static const struct drbg_kat_no_reseed kat359_t = { + 13, kat359_entropyin, kat359_nonce, kat359_persstr, + kat359_addin0, kat359_addin1, kat359_retbits +}; +static const struct drbg_kat kat359 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat359_t +}; + +static const unsigned char kat360_entropyin[] = { + 0xc6, 0xe8, 0x0e, 0x41, 0xa5, 0x24, 0x87, 0xd6, 0x26, 0xa4, 0x4e, 0xeb, + 0xc4, 0x35, 0xa1, 0xa4, 0x15, 0xda, 0x62, 0x53, 0x68, 0xff, 0xfa, 0xab, +}; +static const unsigned char kat360_nonce[] = { + 0x8e, 0xb6, 0x09, 0x35, 0xa5, 0x9e, 0x8d, 0x55, 0xfe, 0x82, 0x66, 0xb4, + 0x34, 0x19, 0xd1, 0x05, +}; +static const unsigned char kat360_persstr[] = { + 0xcc, 0x80, 0x42, 0xc0, 0xbe, 0x1c, 0x21, 0x27, 0x73, 0xc7, 0xd6, 0xe5, + 0xd8, 0x61, 0x82, 0xde, 0xe8, 0x1c, 0xde, 0x58, 0x70, 0x3e, 0x9b, 0x1d, + 0x6e, 0xd0, 0x8b, 0x66, 0x4e, 0x04, 0x77, 0x9c, +}; +static const unsigned char kat360_addin0[] = { + 0x21, 0x12, 0xe9, 0xf2, 0x16, 0xee, 0xfd, 0xae, 0xe0, 0xc3, 0x7f, 0x6b, + 0x5c, 0xcd, 0xd0, 0x0c, 0xdc, 0x80, 0x91, 0xa2, 0x8d, 0x09, 0x4e, 0x56, + 0x7b, 0x69, 0x71, 0x09, 0xa7, 0x11, 0x0b, 0x7e, +}; +static const unsigned char kat360_addin1[] = { + 0x4c, 0x32, 0x95, 0x4a, 0x5c, 0xa0, 0x45, 0x03, 0x78, 0xf5, 0x90, 0x7b, + 0x6e, 0xa0, 0xbe, 0x77, 0x0e, 0x40, 0x79, 0x70, 0x80, 0xa0, 0x57, 0xb1, + 0xa1, 0x4b, 0x45, 0x36, 0xe3, 0x89, 0xde, 0x98, +}; +static const unsigned char kat360_retbits[] = { + 0xa5, 0x1d, 0x5f, 0x66, 0x1b, 0xb1, 0xd5, 0x0f, 0x2a, 0xae, 0xb0, 0xb8, + 0xb7, 0xaf, 0x40, 0x61, 0x42, 0xa1, 0x13, 0x57, 0x78, 0x46, 0x2b, 0x80, + 0x20, 0x16, 0xc5, 0xe3, 0x2b, 0xa5, 0x56, 0x3a, 0xdd, 0x27, 0x44, 0xd6, + 0x2c, 0x82, 0xc1, 0xdf, 0x91, 0xe6, 0xa9, 0x1d, 0xba, 0xa9, 0x53, 0x28, + 0x76, 0x3d, 0x23, 0x20, 0xac, 0x6c, 0x20, 0xb4, 0x24, 0xaa, 0x72, 0x9d, + 0x2b, 0x1c, 0x1a, 0x44, +}; +static const struct drbg_kat_no_reseed kat360_t = { + 14, kat360_entropyin, kat360_nonce, kat360_persstr, + kat360_addin0, kat360_addin1, kat360_retbits +}; +static const struct drbg_kat kat360 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat360_t +}; + +static const unsigned char kat361_entropyin[] = { + 0x4d, 0x5b, 0xe9, 0x19, 0x99, 0xc1, 0xdc, 0x6a, 0xe2, 0xe5, 0xf6, 0xde, + 0xb5, 0x63, 0xb1, 0x25, 0xbc, 0x84, 0x39, 0xe8, 0x5f, 0x25, 0x76, 0xfc, +}; +static const unsigned char kat361_nonce[] = { + 0x11, 0xe1, 0xc2, 0xd4, 0xd4, 0xf7, 0x3b, 0x9c, 0x45, 0x7f, 0xca, 0xa0, + 0x6f, 0x4a, 0xf2, 0x2e, +}; +static const unsigned char kat361_persstr[] = {0}; +static const unsigned char kat361_addin0[] = {0}; +static const unsigned char kat361_addin1[] = {0}; +static const unsigned char kat361_retbits[] = { + 0x53, 0xc2, 0xc0, 0x23, 0x7e, 0xdf, 0x94, 0x25, 0x84, 0x2a, 0xb9, 0x1c, + 0x63, 0x72, 0x36, 0x16, 0xe9, 0x8b, 0xb6, 0xc1, 0x2d, 0x16, 0xbf, 0x80, + 0x87, 0x77, 0x2d, 0x0a, 0x08, 0x0d, 0x28, 0x9f, 0x8b, 0x4f, 0x35, 0xdf, + 0xda, 0xef, 0x5b, 0x11, 0xcd, 0x58, 0x88, 0x14, 0xc6, 0xbc, 0x01, 0xdc, + 0x7e, 0x23, 0xb9, 0xbd, 0xd3, 0x9c, 0x0a, 0xee, 0x74, 0x07, 0xf7, 0x10, + 0x54, 0xa7, 0xc9, 0xaa, +}; +static const struct drbg_kat_no_reseed kat361_t = { + 0, kat361_entropyin, kat361_nonce, kat361_persstr, + kat361_addin0, kat361_addin1, kat361_retbits +}; +static const struct drbg_kat kat361 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat361_t +}; + +static const unsigned char kat362_entropyin[] = { + 0x24, 0xd8, 0xc6, 0x0f, 0x62, 0x90, 0x8b, 0x44, 0x74, 0xb6, 0xa0, 0x1e, + 0xc8, 0x8c, 0x99, 0x5b, 0x35, 0x7f, 0x82, 0xe2, 0x0d, 0x21, 0xc8, 0xf5, +}; +static const unsigned char kat362_nonce[] = { + 0x45, 0xcb, 0x53, 0x4e, 0x0e, 0xa5, 0xc1, 0xb1, 0xa7, 0x5e, 0x6a, 0x66, + 0xd9, 0x90, 0xc7, 0x15, +}; +static const unsigned char kat362_persstr[] = {0}; +static const unsigned char kat362_addin0[] = {0}; +static const unsigned char kat362_addin1[] = {0}; +static const unsigned char kat362_retbits[] = { + 0x86, 0xa1, 0xde, 0xb9, 0xa3, 0x28, 0x63, 0xf7, 0x13, 0xc3, 0xe6, 0xae, + 0xa8, 0x15, 0x04, 0xc7, 0xec, 0x76, 0x6d, 0x0b, 0x7e, 0x5a, 0xa8, 0x00, + 0xef, 0x0b, 0x44, 0x9c, 0xc3, 0x34, 0x08, 0xc7, 0xf8, 0x7e, 0x71, 0x2c, + 0xfd, 0x58, 0x84, 0x2c, 0x90, 0x5f, 0x8a, 0x26, 0x2a, 0x4e, 0x2a, 0xf7, + 0x45, 0xfa, 0x58, 0x4b, 0x37, 0x0b, 0x17, 0xe2, 0xaf, 0x89, 0xfc, 0xb7, + 0x3d, 0x39, 0x9c, 0xf3, +}; +static const struct drbg_kat_no_reseed kat362_t = { + 1, kat362_entropyin, kat362_nonce, kat362_persstr, + kat362_addin0, kat362_addin1, kat362_retbits +}; +static const struct drbg_kat kat362 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat362_t +}; + +static const unsigned char kat363_entropyin[] = { + 0x33, 0x54, 0xa9, 0x53, 0xf8, 0xe6, 0xcc, 0x3b, 0x64, 0xa8, 0x9f, 0xa7, + 0x4b, 0xcb, 0x45, 0x97, 0x1f, 0x14, 0xc4, 0xd1, 0xf7, 0x9c, 0xf9, 0x4a, +}; +static const unsigned char kat363_nonce[] = { + 0xd2, 0xa8, 0x30, 0x7d, 0x96, 0x59, 0xfd, 0x46, 0xa0, 0x73, 0xeb, 0x33, + 0xf3, 0x48, 0x1a, 0xb7, +}; +static const unsigned char kat363_persstr[] = {0}; +static const unsigned char kat363_addin0[] = {0}; +static const unsigned char kat363_addin1[] = {0}; +static const unsigned char kat363_retbits[] = { + 0xf6, 0x42, 0x33, 0x32, 0xc2, 0xb0, 0xd7, 0xb6, 0xed, 0xbd, 0x09, 0xe5, + 0x90, 0x20, 0x7b, 0xfb, 0xec, 0xa6, 0x2b, 0x4e, 0x8d, 0x80, 0xe8, 0x19, + 0xd6, 0x77, 0x34, 0x11, 0xb3, 0x61, 0xac, 0x63, 0xc5, 0x8d, 0x58, 0x7d, + 0x6e, 0xbb, 0xae, 0x5e, 0x0a, 0x21, 0x1d, 0x1f, 0xf8, 0xde, 0x7f, 0x90, + 0x1d, 0xf1, 0x53, 0x37, 0x38, 0x25, 0x6e, 0x44, 0xed, 0xaa, 0x2b, 0xb7, + 0xc1, 0xa1, 0x4e, 0x0e, +}; +static const struct drbg_kat_no_reseed kat363_t = { + 2, kat363_entropyin, kat363_nonce, kat363_persstr, + kat363_addin0, kat363_addin1, kat363_retbits +}; +static const struct drbg_kat kat363 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat363_t +}; + +static const unsigned char kat364_entropyin[] = { + 0x93, 0x18, 0x37, 0xf9, 0x6b, 0x3b, 0xe2, 0x58, 0x7c, 0xe6, 0x37, 0xe3, + 0x32, 0xa7, 0xc4, 0x44, 0x17, 0x37, 0xf9, 0xbf, 0x9b, 0x4a, 0x5a, 0x33, +}; +static const unsigned char kat364_nonce[] = { + 0xdb, 0xab, 0x3e, 0x4e, 0xec, 0xb4, 0x53, 0xa1, 0x6c, 0xea, 0x08, 0xd6, + 0xfa, 0xfc, 0x2f, 0x36, +}; +static const unsigned char kat364_persstr[] = {0}; +static const unsigned char kat364_addin0[] = {0}; +static const unsigned char kat364_addin1[] = {0}; +static const unsigned char kat364_retbits[] = { + 0xa8, 0x46, 0x4a, 0x65, 0xfd, 0x94, 0x2c, 0x2b, 0xee, 0xa2, 0x02, 0x95, + 0xcd, 0x25, 0x56, 0x01, 0x21, 0x08, 0x0f, 0xb6, 0x9c, 0xdc, 0xb4, 0x55, + 0x9a, 0xde, 0xd0, 0xc6, 0x70, 0xc8, 0x28, 0x38, 0xf6, 0xba, 0x46, 0xb0, + 0x0f, 0x5d, 0x59, 0x35, 0xcc, 0x77, 0xa1, 0x4a, 0x8c, 0x4e, 0xda, 0x02, + 0xae, 0x19, 0x8e, 0xa8, 0x7c, 0x9c, 0x98, 0x20, 0x4d, 0x38, 0xa6, 0x6a, + 0x8c, 0x68, 0x6f, 0x67, +}; +static const struct drbg_kat_no_reseed kat364_t = { + 3, kat364_entropyin, kat364_nonce, kat364_persstr, + kat364_addin0, kat364_addin1, kat364_retbits +}; +static const struct drbg_kat kat364 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat364_t +}; + +static const unsigned char kat365_entropyin[] = { + 0x55, 0x01, 0x82, 0x72, 0x5f, 0x54, 0x5e, 0x7c, 0xd4, 0xfd, 0x7b, 0x97, + 0x7f, 0x58, 0x74, 0x51, 0x11, 0x7c, 0xc7, 0x31, 0x92, 0x5b, 0xa2, 0x7c, +}; +static const unsigned char kat365_nonce[] = { + 0xde, 0x0f, 0xc3, 0xbf, 0x40, 0xb6, 0x1e, 0xdc, 0xc3, 0x1e, 0x0c, 0xe6, + 0xf2, 0x01, 0x1c, 0xda, +}; +static const unsigned char kat365_persstr[] = {0}; +static const unsigned char kat365_addin0[] = {0}; +static const unsigned char kat365_addin1[] = {0}; +static const unsigned char kat365_retbits[] = { + 0xea, 0x0d, 0xfb, 0x57, 0xcf, 0x50, 0x19, 0xc7, 0x3f, 0x58, 0x61, 0x8f, + 0xc0, 0x00, 0x31, 0x40, 0xa3, 0x6e, 0xd6, 0x87, 0xac, 0x14, 0x51, 0xa5, + 0xbd, 0xe0, 0x90, 0x50, 0xaa, 0x1b, 0x2f, 0x6f, 0xd1, 0xcd, 0x33, 0x7d, + 0xb4, 0x38, 0xca, 0x79, 0x59, 0x84, 0xca, 0x6a, 0x2b, 0x93, 0x56, 0x17, + 0xd9, 0x84, 0x66, 0x99, 0xd9, 0x9b, 0x69, 0x78, 0xfe, 0x87, 0x8c, 0x12, + 0xc3, 0xc8, 0xf9, 0xc9, +}; +static const struct drbg_kat_no_reseed kat365_t = { + 4, kat365_entropyin, kat365_nonce, kat365_persstr, + kat365_addin0, kat365_addin1, kat365_retbits +}; +static const struct drbg_kat kat365 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat365_t +}; + +static const unsigned char kat366_entropyin[] = { + 0x39, 0xc7, 0xcd, 0x1d, 0x98, 0x62, 0x13, 0x3a, 0x1a, 0xd4, 0xd4, 0x55, + 0x92, 0x11, 0x6c, 0x0e, 0x09, 0x89, 0x6f, 0xa6, 0x68, 0xad, 0xc7, 0x8a, +}; +static const unsigned char kat366_nonce[] = { + 0xd0, 0x87, 0x82, 0x92, 0x52, 0xbf, 0x38, 0x39, 0x3c, 0xd0, 0x0f, 0x87, + 0xf7, 0x4d, 0xf4, 0xca, +}; +static const unsigned char kat366_persstr[] = {0}; +static const unsigned char kat366_addin0[] = {0}; +static const unsigned char kat366_addin1[] = {0}; +static const unsigned char kat366_retbits[] = { + 0xf4, 0x90, 0x21, 0xcd, 0x85, 0x70, 0x71, 0x85, 0x83, 0xed, 0x21, 0xec, + 0x55, 0x46, 0x8b, 0x4c, 0x45, 0xf8, 0x7a, 0x7b, 0x8f, 0xf6, 0xdd, 0x51, + 0x72, 0xd9, 0x37, 0xd6, 0xe9, 0xd9, 0xb4, 0x08, 0x6a, 0x75, 0x9a, 0xad, + 0x92, 0x7e, 0xf9, 0xe8, 0xb7, 0xc2, 0x65, 0x9b, 0x0f, 0x06, 0xc2, 0xa4, + 0xf8, 0xe3, 0x5e, 0xd8, 0xb6, 0x71, 0x47, 0x0d, 0x9d, 0xc6, 0x1b, 0x03, + 0x1d, 0x7d, 0x17, 0x82, +}; +static const struct drbg_kat_no_reseed kat366_t = { + 5, kat366_entropyin, kat366_nonce, kat366_persstr, + kat366_addin0, kat366_addin1, kat366_retbits +}; +static const struct drbg_kat kat366 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat366_t +}; + +static const unsigned char kat367_entropyin[] = { + 0x88, 0xfa, 0x53, 0x8a, 0xeb, 0xf8, 0x34, 0x90, 0x74, 0xee, 0xb4, 0x5d, + 0x95, 0x67, 0xa9, 0x00, 0xc1, 0xc9, 0x76, 0x43, 0xb7, 0x9a, 0x2c, 0x16, +}; +static const unsigned char kat367_nonce[] = { + 0xbb, 0x41, 0x66, 0x91, 0xb8, 0x63, 0x62, 0xfc, 0x96, 0x77, 0xe3, 0xfe, + 0x50, 0xd1, 0x57, 0xa9, +}; +static const unsigned char kat367_persstr[] = {0}; +static const unsigned char kat367_addin0[] = {0}; +static const unsigned char kat367_addin1[] = {0}; +static const unsigned char kat367_retbits[] = { + 0x9e, 0xf3, 0x1c, 0xf9, 0x31, 0xf2, 0x1d, 0x89, 0x86, 0x8e, 0xaa, 0x24, + 0x5f, 0xf0, 0x48, 0x14, 0x60, 0x59, 0x68, 0x4e, 0x2f, 0xa5, 0x61, 0x9a, + 0x44, 0x0f, 0x1d, 0x8a, 0x19, 0x55, 0x00, 0x35, 0x5f, 0xe3, 0x94, 0xaf, + 0xe3, 0xd3, 0xf9, 0xec, 0x45, 0xd2, 0x06, 0xb3, 0x7f, 0xd8, 0xfb, 0x47, + 0x5b, 0xdb, 0x1a, 0xc8, 0x80, 0x0c, 0xe5, 0x4f, 0x04, 0xc9, 0x94, 0x03, + 0xeb, 0x76, 0xed, 0xee, +}; +static const struct drbg_kat_no_reseed kat367_t = { + 6, kat367_entropyin, kat367_nonce, kat367_persstr, + kat367_addin0, kat367_addin1, kat367_retbits +}; +static const struct drbg_kat kat367 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat367_t +}; + +static const unsigned char kat368_entropyin[] = { + 0x81, 0xa8, 0xb2, 0x19, 0x2d, 0x59, 0xa2, 0x5d, 0x54, 0x80, 0x46, 0x5e, + 0x50, 0x8c, 0x11, 0x93, 0x1a, 0x1a, 0xe5, 0xa4, 0x27, 0xf6, 0xd1, 0x17, +}; +static const unsigned char kat368_nonce[] = { + 0x1b, 0x61, 0x0d, 0xf5, 0xaf, 0x73, 0xb7, 0x0e, 0x85, 0xd9, 0x7c, 0x15, + 0x9a, 0x13, 0xbc, 0x71, +}; +static const unsigned char kat368_persstr[] = {0}; +static const unsigned char kat368_addin0[] = {0}; +static const unsigned char kat368_addin1[] = {0}; +static const unsigned char kat368_retbits[] = { + 0xcb, 0x0b, 0xab, 0x82, 0xb9, 0x1a, 0x72, 0x7c, 0xa3, 0xe1, 0x04, 0xb9, + 0xea, 0xca, 0xe0, 0x86, 0x05, 0xe0, 0x6d, 0x18, 0xee, 0xa0, 0xee, 0x2c, + 0x71, 0xeb, 0xab, 0xde, 0x5c, 0x98, 0xcc, 0xca, 0x7e, 0xdb, 0x47, 0x93, + 0x83, 0x6a, 0x65, 0xf2, 0x83, 0x8b, 0x82, 0x83, 0xcf, 0x4a, 0xdf, 0x49, + 0xfa, 0x1f, 0x38, 0x36, 0x87, 0x76, 0xe5, 0xba, 0x4e, 0xf7, 0xc5, 0x14, + 0x37, 0x88, 0x8f, 0xdf, +}; +static const struct drbg_kat_no_reseed kat368_t = { + 7, kat368_entropyin, kat368_nonce, kat368_persstr, + kat368_addin0, kat368_addin1, kat368_retbits +}; +static const struct drbg_kat kat368 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat368_t +}; + +static const unsigned char kat369_entropyin[] = { + 0xa4, 0x95, 0x85, 0xca, 0x40, 0xea, 0x98, 0x00, 0x20, 0x8a, 0xbe, 0xf7, + 0x03, 0xa4, 0xc2, 0x0b, 0xd3, 0xc4, 0xca, 0x59, 0x65, 0x25, 0x68, 0x2a, +}; +static const unsigned char kat369_nonce[] = { + 0x11, 0xf7, 0xe4, 0x63, 0x0d, 0xc9, 0x6e, 0x2e, 0x4a, 0x35, 0x6f, 0x8e, + 0xff, 0xe8, 0xee, 0xf6, +}; +static const unsigned char kat369_persstr[] = {0}; +static const unsigned char kat369_addin0[] = {0}; +static const unsigned char kat369_addin1[] = {0}; +static const unsigned char kat369_retbits[] = { + 0x63, 0x3a, 0x67, 0x28, 0xbf, 0x62, 0x16, 0xea, 0x30, 0x3f, 0x3b, 0x27, + 0xe4, 0xfa, 0xa5, 0x2d, 0x2d, 0xa4, 0x76, 0x8e, 0x6e, 0x7c, 0xed, 0x7d, + 0xcd, 0x33, 0xd4, 0xdf, 0x25, 0xad, 0x03, 0xe9, 0x1f, 0x5a, 0xe9, 0xe9, + 0xe1, 0xf1, 0x9c, 0x4d, 0xad, 0x74, 0xe3, 0xa1, 0xed, 0xe1, 0x52, 0x84, + 0xaf, 0xcc, 0xf5, 0x14, 0x8f, 0x18, 0x8b, 0x95, 0xa0, 0x56, 0x76, 0x70, + 0xe2, 0x06, 0xec, 0xa8, +}; +static const struct drbg_kat_no_reseed kat369_t = { + 8, kat369_entropyin, kat369_nonce, kat369_persstr, + kat369_addin0, kat369_addin1, kat369_retbits +}; +static const struct drbg_kat kat369 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat369_t +}; + +static const unsigned char kat370_entropyin[] = { + 0xbd, 0xe5, 0x3c, 0xa3, 0xe0, 0xb0, 0x11, 0x6b, 0x61, 0x19, 0x15, 0xa3, + 0xbe, 0xa8, 0x01, 0x41, 0x80, 0x14, 0x73, 0x40, 0x88, 0x63, 0x9c, 0xdd, +}; +static const unsigned char kat370_nonce[] = { + 0x71, 0xb4, 0x99, 0x3c, 0xaf, 0xd8, 0x68, 0xac, 0x20, 0x9d, 0xb7, 0x22, + 0xcb, 0x75, 0x7f, 0xbc, +}; +static const unsigned char kat370_persstr[] = {0}; +static const unsigned char kat370_addin0[] = {0}; +static const unsigned char kat370_addin1[] = {0}; +static const unsigned char kat370_retbits[] = { + 0x6c, 0xf1, 0xdc, 0x52, 0x14, 0xaf, 0x97, 0xc1, 0xc6, 0xd4, 0x3c, 0x31, + 0xac, 0xe4, 0x0c, 0xed, 0xbf, 0x3c, 0x32, 0xbc, 0x7f, 0x8d, 0x69, 0x28, + 0xbc, 0xb6, 0x13, 0xb6, 0xa9, 0xb3, 0x70, 0x11, 0xd4, 0x0a, 0x16, 0xe8, + 0x73, 0x9b, 0x2f, 0xba, 0xfd, 0xfe, 0x77, 0x47, 0xc8, 0xd5, 0x16, 0x3d, + 0xc4, 0x22, 0x3c, 0xe3, 0x30, 0x35, 0x32, 0xc7, 0x19, 0xab, 0xb1, 0x69, + 0xe6, 0x9d, 0x3d, 0xb9, +}; +static const struct drbg_kat_no_reseed kat370_t = { + 9, kat370_entropyin, kat370_nonce, kat370_persstr, + kat370_addin0, kat370_addin1, kat370_retbits +}; +static const struct drbg_kat kat370 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat370_t +}; + +static const unsigned char kat371_entropyin[] = { + 0x12, 0x40, 0xc0, 0x7f, 0x0c, 0x42, 0xda, 0x18, 0x3e, 0xbf, 0x8f, 0x44, + 0x13, 0xab, 0x31, 0x6a, 0x88, 0x24, 0x61, 0x66, 0xaa, 0x7b, 0xb7, 0x59, +}; +static const unsigned char kat371_nonce[] = { + 0x6e, 0x52, 0x9d, 0x4e, 0x92, 0x47, 0x75, 0x79, 0xd0, 0x7f, 0xb9, 0xd2, + 0xde, 0x05, 0x4d, 0x8b, +}; +static const unsigned char kat371_persstr[] = {0}; +static const unsigned char kat371_addin0[] = {0}; +static const unsigned char kat371_addin1[] = {0}; +static const unsigned char kat371_retbits[] = { + 0xdc, 0xdf, 0xa1, 0xa5, 0x73, 0x3e, 0x5b, 0xec, 0x22, 0xa2, 0x4c, 0x01, + 0xb6, 0xd4, 0x6a, 0xe1, 0x02, 0x09, 0x35, 0x12, 0x40, 0xdb, 0xb4, 0x26, + 0x86, 0xbc, 0xa8, 0x11, 0x7d, 0xaa, 0xa2, 0x28, 0x73, 0x26, 0x94, 0x20, + 0x21, 0xf1, 0x98, 0xec, 0x6b, 0xd2, 0xfd, 0x63, 0x4f, 0xe8, 0xcc, 0xd2, + 0x4a, 0x56, 0x2c, 0x48, 0x29, 0x76, 0x30, 0xf9, 0xf7, 0x18, 0x62, 0x3b, + 0xca, 0x0a, 0x64, 0xd7, +}; +static const struct drbg_kat_no_reseed kat371_t = { + 10, kat371_entropyin, kat371_nonce, kat371_persstr, + kat371_addin0, kat371_addin1, kat371_retbits +}; +static const struct drbg_kat kat371 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat371_t +}; + +static const unsigned char kat372_entropyin[] = { + 0x72, 0xed, 0x4b, 0x06, 0xe7, 0x5b, 0x59, 0xc6, 0xfb, 0xd1, 0x7b, 0xc7, + 0x26, 0xc2, 0xe9, 0x2a, 0x22, 0x01, 0x62, 0xbc, 0x6c, 0x1f, 0xfe, 0xb5, +}; +static const unsigned char kat372_nonce[] = { + 0x46, 0x6e, 0xeb, 0x26, 0x5f, 0xa1, 0x47, 0xea, 0x1f, 0x77, 0x3f, 0x98, + 0x08, 0x7f, 0xbb, 0x83, +}; +static const unsigned char kat372_persstr[] = {0}; +static const unsigned char kat372_addin0[] = {0}; +static const unsigned char kat372_addin1[] = {0}; +static const unsigned char kat372_retbits[] = { + 0x46, 0xc3, 0x56, 0x17, 0x4b, 0x28, 0xae, 0x3a, 0x90, 0x30, 0x71, 0x64, + 0x3a, 0xbc, 0xed, 0x78, 0x4b, 0x31, 0x68, 0xbb, 0x20, 0xa7, 0x8a, 0x08, + 0x2a, 0xbc, 0x3c, 0x8d, 0x76, 0xab, 0x53, 0x67, 0x3c, 0xec, 0x21, 0x81, + 0xd4, 0x0a, 0x42, 0x94, 0xcf, 0xfc, 0xc8, 0xa2, 0xfa, 0x43, 0xb8, 0x9b, + 0xcb, 0x96, 0x2f, 0x5e, 0xf3, 0x30, 0x0e, 0x7d, 0xf5, 0x00, 0xfb, 0x0c, + 0x96, 0xbe, 0x85, 0x8a, +}; +static const struct drbg_kat_no_reseed kat372_t = { + 11, kat372_entropyin, kat372_nonce, kat372_persstr, + kat372_addin0, kat372_addin1, kat372_retbits +}; +static const struct drbg_kat kat372 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat372_t +}; + +static const unsigned char kat373_entropyin[] = { + 0xc4, 0x47, 0xb5, 0xee, 0xc4, 0x1e, 0x14, 0xa9, 0xce, 0x9b, 0xbd, 0x85, + 0x93, 0xe8, 0xa7, 0xc0, 0xf5, 0x55, 0x9f, 0x4b, 0x0e, 0x11, 0x76, 0x88, +}; +static const unsigned char kat373_nonce[] = { + 0x46, 0x55, 0xd3, 0xc7, 0x8c, 0xaa, 0x1c, 0x1c, 0xfe, 0x6d, 0x6e, 0x11, + 0x66, 0x46, 0x8b, 0x28, +}; +static const unsigned char kat373_persstr[] = {0}; +static const unsigned char kat373_addin0[] = {0}; +static const unsigned char kat373_addin1[] = {0}; +static const unsigned char kat373_retbits[] = { + 0x68, 0xd4, 0x1f, 0xe2, 0x8b, 0xdb, 0x7d, 0xe4, 0xa7, 0x61, 0xcb, 0x60, + 0x04, 0xec, 0xed, 0xfa, 0x31, 0x09, 0x46, 0x07, 0x50, 0x92, 0x11, 0x1e, + 0x80, 0x6b, 0xee, 0xd6, 0x34, 0xff, 0x54, 0x0c, 0x38, 0x98, 0x7f, 0x16, + 0xa8, 0x9b, 0xe5, 0x2d, 0x35, 0xe3, 0x07, 0x59, 0x03, 0x0c, 0xbc, 0xa2, + 0x40, 0xbb, 0xe9, 0xa5, 0xdb, 0xbf, 0xf1, 0x9d, 0x15, 0x0b, 0xe3, 0xa2, + 0x29, 0x6b, 0x8c, 0xeb, +}; +static const struct drbg_kat_no_reseed kat373_t = { + 12, kat373_entropyin, kat373_nonce, kat373_persstr, + kat373_addin0, kat373_addin1, kat373_retbits +}; +static const struct drbg_kat kat373 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat373_t +}; + +static const unsigned char kat374_entropyin[] = { + 0x24, 0x04, 0xf9, 0x87, 0x09, 0x45, 0xbd, 0x40, 0x4f, 0xe1, 0x84, 0xb1, + 0x19, 0xa8, 0xa3, 0x03, 0x71, 0xae, 0xfa, 0x80, 0x15, 0xd4, 0x55, 0xcc, +}; +static const unsigned char kat374_nonce[] = { + 0xe5, 0xfd, 0x16, 0x64, 0x17, 0x28, 0xb4, 0xd4, 0x6e, 0x3f, 0x0a, 0x43, + 0xae, 0x34, 0x84, 0x40, +}; +static const unsigned char kat374_persstr[] = {0}; +static const unsigned char kat374_addin0[] = {0}; +static const unsigned char kat374_addin1[] = {0}; +static const unsigned char kat374_retbits[] = { + 0xea, 0x4b, 0xc0, 0xde, 0xc0, 0xf1, 0xa6, 0x1c, 0xf2, 0xac, 0x89, 0x0d, + 0x0c, 0x7d, 0x8d, 0xb4, 0x29, 0x32, 0x91, 0x48, 0x6d, 0x65, 0xf3, 0xed, + 0x8b, 0x5f, 0x75, 0x8e, 0xee, 0xe9, 0xd5, 0xde, 0xed, 0x2a, 0x1d, 0x05, + 0x06, 0xfe, 0xbe, 0x20, 0xbf, 0xd1, 0x8b, 0x68, 0x0c, 0x5a, 0x8d, 0x77, + 0x7c, 0x6b, 0x3b, 0xbb, 0x8c, 0xa1, 0xbf, 0xfa, 0x0f, 0x10, 0x5e, 0xe7, + 0xc1, 0x50, 0x73, 0x59, +}; +static const struct drbg_kat_no_reseed kat374_t = { + 13, kat374_entropyin, kat374_nonce, kat374_persstr, + kat374_addin0, kat374_addin1, kat374_retbits +}; +static const struct drbg_kat kat374 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat374_t +}; + +static const unsigned char kat375_entropyin[] = { + 0x45, 0x70, 0xff, 0x9a, 0xb9, 0x2e, 0x5b, 0x69, 0x4b, 0x8a, 0xce, 0xb3, + 0xd7, 0x65, 0xf4, 0x87, 0x2f, 0x2e, 0xa6, 0xad, 0x77, 0x07, 0xc5, 0x10, +}; +static const unsigned char kat375_nonce[] = { + 0xa3, 0x46, 0x1b, 0xc1, 0x7d, 0x5d, 0xb6, 0x92, 0xf8, 0xcd, 0xd8, 0xcf, + 0x79, 0x18, 0x62, 0xb5, +}; +static const unsigned char kat375_persstr[] = {0}; +static const unsigned char kat375_addin0[] = {0}; +static const unsigned char kat375_addin1[] = {0}; +static const unsigned char kat375_retbits[] = { + 0xb7, 0x76, 0x1d, 0x93, 0x00, 0xa2, 0x21, 0x8b, 0x28, 0x3b, 0x55, 0xce, + 0x29, 0xb4, 0x3c, 0x4e, 0x7a, 0x63, 0xfc, 0xc9, 0xb1, 0xd0, 0xc1, 0x68, + 0x6e, 0xfd, 0x8d, 0x5f, 0x0e, 0x40, 0x31, 0xc2, 0xdc, 0x74, 0x5f, 0x58, + 0xa5, 0x0b, 0x35, 0xbe, 0x81, 0xfc, 0xd5, 0xe9, 0x7d, 0x70, 0xf8, 0x96, + 0xb1, 0x7d, 0x3a, 0x64, 0x2a, 0x30, 0xba, 0x56, 0x72, 0x5d, 0x0a, 0xde, + 0xf1, 0x42, 0xef, 0xd6, +}; +static const struct drbg_kat_no_reseed kat375_t = { + 14, kat375_entropyin, kat375_nonce, kat375_persstr, + kat375_addin0, kat375_addin1, kat375_retbits +}; +static const struct drbg_kat kat375 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat375_t +}; + +static const unsigned char kat376_entropyin[] = { + 0x52, 0x69, 0x4c, 0x7c, 0xf7, 0x0f, 0xd3, 0xd2, 0x07, 0xd2, 0xe7, 0xef, + 0x19, 0x2a, 0x04, 0x9d, 0xf3, 0x20, 0xe7, 0xf9, 0x19, 0x1b, 0x93, 0xc4, +}; +static const unsigned char kat376_nonce[] = { + 0xff, 0xc0, 0xc8, 0xe1, 0x68, 0x41, 0xec, 0x38, 0x4c, 0x08, 0xb3, 0xcc, + 0xd8, 0x16, 0x03, 0x31, +}; +static const unsigned char kat376_persstr[] = {0}; +static const unsigned char kat376_addin0[] = { + 0x28, 0x7b, 0xba, 0x8b, 0xc6, 0xdf, 0xbd, 0x83, 0x6a, 0x21, 0xcb, 0x3d, + 0xda, 0x67, 0x8d, 0x3d, 0x7b, 0xa4, 0x1c, 0x5d, 0xfe, 0x08, 0xbd, 0xb3, + 0x56, 0xd9, 0x30, 0x72, 0x52, 0x82, 0x85, 0xe4, +}; +static const unsigned char kat376_addin1[] = { + 0x1e, 0xea, 0x34, 0x1f, 0xf8, 0x1f, 0x90, 0x58, 0x3a, 0xff, 0xaa, 0x27, + 0x65, 0x9e, 0x2b, 0x06, 0xe3, 0xe0, 0x62, 0x06, 0x8c, 0xa4, 0xf1, 0xb4, + 0x08, 0x59, 0xa9, 0x22, 0x99, 0xa6, 0xb4, 0x90, +}; +static const unsigned char kat376_retbits[] = { + 0xb3, 0x17, 0x56, 0x92, 0xec, 0xa9, 0xd7, 0xfe, 0x5e, 0xba, 0xb6, 0xdc, + 0x5d, 0x12, 0xc3, 0xd1, 0x10, 0x5e, 0x46, 0x73, 0x7c, 0xe6, 0xfe, 0xc8, + 0x9b, 0x26, 0x63, 0xef, 0xfd, 0xb4, 0x1a, 0x8f, 0x85, 0xf9, 0x83, 0x15, + 0x1a, 0xe4, 0xdb, 0xf7, 0x00, 0x20, 0x85, 0x3f, 0x48, 0x4f, 0xd1, 0xe9, + 0x6d, 0x74, 0x3d, 0x5f, 0x6c, 0xc4, 0x15, 0x68, 0x58, 0x90, 0xa0, 0xe3, + 0xf2, 0x5e, 0x3b, 0x69, +}; +static const struct drbg_kat_no_reseed kat376_t = { + 0, kat376_entropyin, kat376_nonce, kat376_persstr, + kat376_addin0, kat376_addin1, kat376_retbits +}; +static const struct drbg_kat kat376 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat376_t +}; + +static const unsigned char kat377_entropyin[] = { + 0x0f, 0xf3, 0xd4, 0x27, 0x5e, 0xde, 0x36, 0xd4, 0xe2, 0x9c, 0x42, 0xb1, + 0x7e, 0xd1, 0xdf, 0x14, 0xde, 0x2e, 0x77, 0x94, 0x9a, 0xf5, 0x5e, 0xb7, +}; +static const unsigned char kat377_nonce[] = { + 0xac, 0x33, 0xac, 0x97, 0x0a, 0x24, 0x75, 0xb9, 0x1f, 0x0a, 0x3b, 0xde, + 0xf1, 0x78, 0xbf, 0xd4, +}; +static const unsigned char kat377_persstr[] = {0}; +static const unsigned char kat377_addin0[] = { + 0xd3, 0x9f, 0xde, 0x81, 0x4e, 0xa3, 0xa6, 0x7e, 0x3b, 0x33, 0xe3, 0x25, + 0xab, 0x5e, 0x05, 0x53, 0xaa, 0x9a, 0x0f, 0x30, 0x14, 0xa7, 0x4f, 0xed, + 0x1b, 0x03, 0x02, 0x19, 0x54, 0x2f, 0xb0, 0x45, +}; +static const unsigned char kat377_addin1[] = { + 0x1a, 0x1f, 0xc9, 0x24, 0x2e, 0x3e, 0xc8, 0x71, 0x25, 0x67, 0xe7, 0x80, + 0xdf, 0x05, 0x83, 0x06, 0x00, 0x1e, 0x6e, 0x10, 0xd5, 0xb6, 0xe4, 0xc2, + 0x1c, 0x6c, 0x17, 0x93, 0x14, 0x90, 0x34, 0xd3, +}; +static const unsigned char kat377_retbits[] = { + 0xd2, 0x12, 0x92, 0x6f, 0x27, 0x63, 0x52, 0x74, 0x66, 0xff, 0x75, 0x11, + 0xdc, 0x56, 0xcf, 0x11, 0x78, 0xeb, 0x41, 0x50, 0xc5, 0xf6, 0x47, 0xbf, + 0x2c, 0x9c, 0x15, 0x05, 0xc0, 0x18, 0xf2, 0x71, 0xaf, 0x3a, 0x1b, 0xae, + 0x45, 0x61, 0x9f, 0x13, 0x07, 0xc1, 0x81, 0xbe, 0xdf, 0xc3, 0x62, 0xaf, + 0x34, 0x61, 0xc6, 0x03, 0x67, 0xaf, 0x08, 0xa3, 0x22, 0xf3, 0x67, 0xb3, + 0x2b, 0x0e, 0x0c, 0x1d, +}; +static const struct drbg_kat_no_reseed kat377_t = { + 1, kat377_entropyin, kat377_nonce, kat377_persstr, + kat377_addin0, kat377_addin1, kat377_retbits +}; +static const struct drbg_kat kat377 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat377_t +}; + +static const unsigned char kat378_entropyin[] = { + 0x71, 0x32, 0x63, 0xcb, 0x43, 0x59, 0x77, 0x66, 0xc7, 0xa9, 0x25, 0x38, + 0x1c, 0x3e, 0xce, 0x46, 0xc1, 0x26, 0xa4, 0x73, 0x3b, 0x0b, 0xb5, 0xd9, +}; +static const unsigned char kat378_nonce[] = { + 0x58, 0xfa, 0x56, 0x55, 0x73, 0xa9, 0xe9, 0xc7, 0x2e, 0x22, 0xe5, 0xeb, + 0xb2, 0xbe, 0xb8, 0x18, +}; +static const unsigned char kat378_persstr[] = {0}; +static const unsigned char kat378_addin0[] = { + 0x66, 0x73, 0x26, 0x0a, 0x58, 0x78, 0xb3, 0xda, 0x0b, 0xc6, 0x97, 0xb6, + 0x72, 0xd9, 0x8c, 0x36, 0x3e, 0x80, 0xe2, 0x55, 0x58, 0x8e, 0xfe, 0x79, + 0x60, 0x03, 0x0c, 0xdf, 0xb5, 0x87, 0x4c, 0x81, +}; +static const unsigned char kat378_addin1[] = { + 0xb4, 0x2d, 0x33, 0xc1, 0x03, 0xea, 0xcb, 0xe8, 0xa2, 0xdc, 0x67, 0xcb, + 0x5f, 0x48, 0x57, 0x6e, 0x9b, 0xc8, 0x96, 0xda, 0xf0, 0x91, 0xa8, 0x33, + 0x9b, 0x0f, 0x04, 0x4c, 0x20, 0xc7, 0x2c, 0x8a, +}; +static const unsigned char kat378_retbits[] = { + 0x6d, 0xfb, 0x11, 0x3e, 0x16, 0xaa, 0xeb, 0x39, 0x19, 0x13, 0x58, 0x27, + 0x31, 0x7f, 0xbd, 0xc2, 0x83, 0xe0, 0x66, 0x80, 0xdd, 0x4c, 0x83, 0x81, + 0x09, 0xd3, 0x73, 0x4b, 0x35, 0xfd, 0x44, 0x2d, 0x7f, 0xb7, 0x3e, 0x19, + 0x83, 0xd7, 0x4b, 0x1e, 0x3b, 0x4d, 0xa8, 0xe5, 0x9e, 0xa0, 0x21, 0xe9, + 0x29, 0x61, 0xc7, 0x04, 0xb6, 0x62, 0x7f, 0x15, 0xe8, 0xbe, 0xb5, 0xa3, + 0x22, 0x4b, 0x36, 0x18, +}; +static const struct drbg_kat_no_reseed kat378_t = { + 2, kat378_entropyin, kat378_nonce, kat378_persstr, + kat378_addin0, kat378_addin1, kat378_retbits +}; +static const struct drbg_kat kat378 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat378_t +}; + +static const unsigned char kat379_entropyin[] = { + 0x26, 0x08, 0x08, 0xc8, 0x8f, 0x5f, 0x6b, 0xe1, 0x11, 0xb6, 0x83, 0xf6, + 0xf2, 0x97, 0x4f, 0xb5, 0xbb, 0xb4, 0x9e, 0x3d, 0x90, 0x38, 0x3b, 0x7f, +}; +static const unsigned char kat379_nonce[] = { + 0xc5, 0xa8, 0xb8, 0x70, 0x66, 0x11, 0x6d, 0x0b, 0xd8, 0xae, 0x39, 0x30, + 0x25, 0xdb, 0x35, 0xcc, +}; +static const unsigned char kat379_persstr[] = {0}; +static const unsigned char kat379_addin0[] = { + 0x06, 0xb6, 0x26, 0xab, 0xc9, 0x66, 0xd9, 0x63, 0x06, 0x7f, 0x0f, 0xd9, + 0x3a, 0x84, 0xed, 0x71, 0x01, 0x62, 0x39, 0xe7, 0x9f, 0x63, 0x6f, 0xe9, + 0x09, 0x67, 0x2a, 0xe8, 0x4f, 0xf3, 0x6f, 0xa0, +}; +static const unsigned char kat379_addin1[] = { + 0x3e, 0x32, 0x72, 0x6b, 0xa5, 0x5d, 0xf9, 0x15, 0xe0, 0xfb, 0x03, 0x2d, + 0xf0, 0x29, 0xdc, 0x96, 0xd4, 0x29, 0xcb, 0x5f, 0x45, 0x8b, 0x08, 0xe5, + 0xbe, 0x0b, 0x1c, 0x28, 0x33, 0x92, 0xbb, 0xe1, +}; +static const unsigned char kat379_retbits[] = { + 0xb8, 0xfe, 0xbb, 0xd2, 0x88, 0x7b, 0xa6, 0x9e, 0x3f, 0xcb, 0x07, 0x8a, + 0xae, 0xff, 0xbd, 0x9b, 0x79, 0x08, 0x61, 0x80, 0x24, 0xe6, 0x03, 0x52, + 0x7c, 0xbe, 0x74, 0xc0, 0xf9, 0x9d, 0x6f, 0x40, 0xa0, 0xe8, 0x65, 0x18, + 0xac, 0xd9, 0xf9, 0xf7, 0xc3, 0x4b, 0x3f, 0x11, 0x78, 0x3a, 0x72, 0x78, + 0xfe, 0xc3, 0xc3, 0xb6, 0xd4, 0x07, 0xe1, 0x5a, 0x89, 0x84, 0x58, 0x43, + 0x23, 0x11, 0x3d, 0xe1, +}; +static const struct drbg_kat_no_reseed kat379_t = { + 3, kat379_entropyin, kat379_nonce, kat379_persstr, + kat379_addin0, kat379_addin1, kat379_retbits +}; +static const struct drbg_kat kat379 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat379_t +}; + +static const unsigned char kat380_entropyin[] = { + 0xd5, 0x81, 0xd9, 0xca, 0xfb, 0x39, 0xad, 0xbd, 0x2b, 0xca, 0x4a, 0xfa, + 0x48, 0x3a, 0xcc, 0x39, 0x9d, 0x4e, 0xb4, 0x7b, 0xc7, 0x60, 0xd8, 0x43, +}; +static const unsigned char kat380_nonce[] = { + 0x36, 0x43, 0x2c, 0x59, 0x7e, 0x6c, 0xd8, 0xfb, 0x70, 0xda, 0x84, 0xb2, + 0x5d, 0x8d, 0xcc, 0xc9, +}; +static const unsigned char kat380_persstr[] = {0}; +static const unsigned char kat380_addin0[] = { + 0x9c, 0x27, 0xf4, 0x75, 0x0a, 0x9b, 0x55, 0x32, 0x0d, 0x45, 0x15, 0xf2, + 0xe3, 0x52, 0x81, 0x48, 0xfc, 0x02, 0xd4, 0x8f, 0x84, 0x82, 0x24, 0x12, + 0x3a, 0xd6, 0xe9, 0x67, 0xff, 0x6a, 0x43, 0x50, +}; +static const unsigned char kat380_addin1[] = { + 0xc7, 0xbf, 0xef, 0x3c, 0x24, 0x55, 0x2c, 0xd4, 0x66, 0xf2, 0xa5, 0x92, + 0x3c, 0x13, 0x4e, 0x56, 0xe9, 0xd1, 0x72, 0x55, 0xb4, 0x9c, 0x8b, 0x0f, + 0x2c, 0x81, 0x5f, 0x01, 0xfd, 0x72, 0xc4, 0xe0, +}; +static const unsigned char kat380_retbits[] = { + 0xfc, 0x99, 0x80, 0xb6, 0x50, 0x06, 0xc6, 0x49, 0x34, 0x9f, 0x77, 0xb4, + 0x69, 0xe4, 0x0f, 0xb0, 0xb8, 0x03, 0xb2, 0xa7, 0xe0, 0xc1, 0x4a, 0xdc, + 0xd4, 0x0a, 0x4a, 0xe6, 0x51, 0xbb, 0xd1, 0xe1, 0x8d, 0xf6, 0xb8, 0xa1, + 0xc1, 0xa0, 0x28, 0xce, 0xb4, 0x3c, 0x26, 0x27, 0x8b, 0x43, 0xb9, 0x0d, + 0xe6, 0x17, 0x58, 0x37, 0x4f, 0x2c, 0x60, 0xba, 0x66, 0x3e, 0xf0, 0x4e, + 0xdd, 0xc3, 0x17, 0x48, +}; +static const struct drbg_kat_no_reseed kat380_t = { + 4, kat380_entropyin, kat380_nonce, kat380_persstr, + kat380_addin0, kat380_addin1, kat380_retbits +}; +static const struct drbg_kat kat380 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat380_t +}; + +static const unsigned char kat381_entropyin[] = { + 0x41, 0xed, 0x09, 0xa7, 0x4f, 0xe7, 0x75, 0xbb, 0x08, 0x24, 0xa7, 0x82, + 0x08, 0x83, 0x33, 0x7a, 0xe4, 0x93, 0xb9, 0xaa, 0xa7, 0x1b, 0x41, 0xaa, +}; +static const unsigned char kat381_nonce[] = { + 0x9b, 0x3f, 0xa2, 0xde, 0x23, 0x8c, 0x61, 0x1b, 0xfc, 0x34, 0x8f, 0x07, + 0x94, 0xb9, 0xf8, 0x65, +}; +static const unsigned char kat381_persstr[] = {0}; +static const unsigned char kat381_addin0[] = { + 0x27, 0x6c, 0xd3, 0xd2, 0x78, 0x77, 0x45, 0xc9, 0xf8, 0x93, 0xe7, 0xd0, + 0x97, 0xc4, 0x55, 0x2f, 0x3a, 0x0f, 0x29, 0x97, 0x7c, 0x33, 0xe6, 0x58, + 0x7a, 0xd1, 0x32, 0x59, 0x40, 0x89, 0xb6, 0xc0, +}; +static const unsigned char kat381_addin1[] = { + 0xf9, 0x13, 0x36, 0x7e, 0x39, 0xcd, 0x59, 0xb7, 0xf4, 0x3d, 0x8a, 0x79, + 0x40, 0x57, 0x8f, 0x8a, 0x65, 0x19, 0xdb, 0xe6, 0xe0, 0x7a, 0xc2, 0xcc, + 0xb1, 0x18, 0x45, 0x3e, 0xd0, 0x28, 0x43, 0x32, +}; +static const unsigned char kat381_retbits[] = { + 0xeb, 0x90, 0x27, 0xbb, 0x00, 0xa4, 0x79, 0x61, 0x12, 0x28, 0x2d, 0x14, + 0x7b, 0x6d, 0xde, 0xaf, 0xb4, 0x67, 0x3b, 0x83, 0x81, 0x00, 0x68, 0xdf, + 0x53, 0xb0, 0xbc, 0x8d, 0xda, 0x0a, 0x0b, 0xb7, 0x65, 0x1d, 0x2a, 0x38, + 0xd6, 0xd1, 0x92, 0x93, 0xa0, 0xe0, 0x17, 0x0e, 0xfe, 0x4e, 0xf8, 0x82, + 0x5d, 0xb8, 0xc7, 0xda, 0x6b, 0x48, 0x55, 0x4c, 0xdf, 0x68, 0x10, 0x4d, + 0xfe, 0x31, 0xc8, 0x46, +}; +static const struct drbg_kat_no_reseed kat381_t = { + 5, kat381_entropyin, kat381_nonce, kat381_persstr, + kat381_addin0, kat381_addin1, kat381_retbits +}; +static const struct drbg_kat kat381 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat381_t +}; + +static const unsigned char kat382_entropyin[] = { + 0xd8, 0xe9, 0x27, 0xd9, 0x38, 0xbf, 0xca, 0x29, 0x76, 0x1c, 0xd6, 0x3a, + 0x09, 0xc2, 0xe6, 0x09, 0xa9, 0xe5, 0x03, 0x55, 0x91, 0xc2, 0x1b, 0xaa, +}; +static const unsigned char kat382_nonce[] = { + 0x19, 0x57, 0xdb, 0x12, 0x71, 0x81, 0xd0, 0x51, 0xfc, 0xee, 0x6f, 0xb8, + 0x7f, 0x7c, 0x86, 0x89, +}; +static const unsigned char kat382_persstr[] = {0}; +static const unsigned char kat382_addin0[] = { + 0xfa, 0x05, 0x83, 0x2a, 0x2d, 0x88, 0x14, 0x70, 0xc9, 0xa6, 0x66, 0x02, + 0xc9, 0xef, 0x0a, 0x9f, 0x3c, 0x9a, 0xeb, 0xff, 0x5c, 0x92, 0x33, 0xd0, + 0x7e, 0xa4, 0xee, 0x46, 0x59, 0xa5, 0xdf, 0xf4, +}; +static const unsigned char kat382_addin1[] = { + 0xf6, 0xb2, 0x35, 0xfc, 0x52, 0x4a, 0x46, 0xd6, 0xfa, 0x71, 0xeb, 0xcc, + 0xa2, 0x7c, 0x3f, 0x0c, 0x0f, 0x36, 0x66, 0x21, 0x6f, 0xdf, 0x89, 0xd2, + 0x5c, 0x45, 0xb2, 0x7b, 0x99, 0xa7, 0xac, 0x63, +}; +static const unsigned char kat382_retbits[] = { + 0xbb, 0x51, 0xe9, 0xbb, 0x19, 0x85, 0x39, 0x4b, 0x44, 0x76, 0x53, 0xd1, + 0x44, 0x61, 0x29, 0x6f, 0x80, 0x4b, 0x01, 0xfd, 0x79, 0x42, 0x9b, 0x83, + 0x56, 0x4e, 0x97, 0x90, 0x8a, 0x3d, 0xb0, 0xf5, 0x4c, 0x5a, 0xf1, 0xa5, + 0x43, 0xc7, 0x13, 0x8e, 0x47, 0x8c, 0xa4, 0xd7, 0x95, 0xb0, 0x8c, 0xd1, + 0x2c, 0x77, 0x26, 0x00, 0xab, 0x0f, 0x78, 0xc5, 0x0c, 0xf2, 0x7c, 0x05, + 0xf5, 0x1e, 0x0a, 0xfb, +}; +static const struct drbg_kat_no_reseed kat382_t = { + 6, kat382_entropyin, kat382_nonce, kat382_persstr, + kat382_addin0, kat382_addin1, kat382_retbits +}; +static const struct drbg_kat kat382 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat382_t +}; + +static const unsigned char kat383_entropyin[] = { + 0x6a, 0x58, 0x81, 0xe0, 0x9d, 0x36, 0xd4, 0x66, 0xa1, 0x66, 0x7f, 0x62, + 0x59, 0xea, 0xe9, 0x27, 0xe1, 0x81, 0x57, 0xd3, 0x31, 0x0b, 0xa1, 0xb6, +}; +static const unsigned char kat383_nonce[] = { + 0xfd, 0x9a, 0x1c, 0x82, 0xd4, 0xed, 0x4c, 0xd7, 0xcc, 0x4a, 0x52, 0xeb, + 0xd1, 0x61, 0x6f, 0x90, +}; +static const unsigned char kat383_persstr[] = {0}; +static const unsigned char kat383_addin0[] = { + 0x82, 0x97, 0xd7, 0x02, 0x6e, 0x87, 0x61, 0x46, 0x6e, 0xf8, 0x8e, 0x28, + 0x23, 0xb2, 0x9f, 0xf8, 0xad, 0x1b, 0xf7, 0x4c, 0xbe, 0x6a, 0x55, 0x34, + 0x32, 0xd3, 0x59, 0xfc, 0xe9, 0x20, 0xcc, 0xb9, +}; +static const unsigned char kat383_addin1[] = { + 0x3d, 0x4b, 0x7b, 0x99, 0x38, 0xd7, 0x71, 0x7f, 0xea, 0xa3, 0x0c, 0x7d, + 0x49, 0x07, 0xf3, 0x8a, 0xc2, 0x82, 0x70, 0x2c, 0xb5, 0x29, 0x2d, 0x96, + 0xe7, 0x23, 0x32, 0x80, 0x0a, 0x40, 0x86, 0x79, +}; +static const unsigned char kat383_retbits[] = { + 0x97, 0xe5, 0xb0, 0xda, 0xb9, 0x74, 0x2c, 0xaa, 0xf5, 0x17, 0x0e, 0x17, + 0x23, 0xd5, 0xc3, 0x9f, 0xc7, 0x11, 0x8c, 0x72, 0xe1, 0xcb, 0x48, 0xe5, + 0x97, 0x46, 0x59, 0xf4, 0x99, 0x54, 0xef, 0xb7, 0x6f, 0x6b, 0x96, 0x62, + 0xb8, 0xb4, 0xcc, 0xfb, 0xf6, 0xe9, 0x4a, 0x79, 0x2a, 0xd1, 0x45, 0xa6, + 0x05, 0xb0, 0xc6, 0xc3, 0x43, 0x02, 0x6c, 0xba, 0x79, 0xf5, 0xcd, 0x10, + 0xbd, 0xc8, 0x66, 0x48, +}; +static const struct drbg_kat_no_reseed kat383_t = { + 7, kat383_entropyin, kat383_nonce, kat383_persstr, + kat383_addin0, kat383_addin1, kat383_retbits +}; +static const struct drbg_kat kat383 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat383_t +}; + +static const unsigned char kat384_entropyin[] = { + 0x2c, 0xc4, 0x79, 0x70, 0x0f, 0x90, 0x9e, 0x7b, 0xa2, 0x67, 0x7f, 0x3e, + 0x90, 0x12, 0x81, 0x9d, 0xbd, 0xa2, 0xbf, 0xa9, 0x6b, 0xbf, 0x0e, 0x71, +}; +static const unsigned char kat384_nonce[] = { + 0x36, 0x2b, 0xb1, 0x0b, 0x3e, 0x7f, 0x8c, 0x3f, 0xb3, 0xe4, 0x29, 0x6b, + 0x23, 0x71, 0xd4, 0x50, +}; +static const unsigned char kat384_persstr[] = {0}; +static const unsigned char kat384_addin0[] = { + 0x9d, 0xd4, 0x6b, 0xa2, 0x14, 0x56, 0x5b, 0xe1, 0xd6, 0xec, 0x71, 0xd5, + 0xfa, 0xa9, 0x2b, 0x45, 0x8b, 0x70, 0xe8, 0x99, 0x8a, 0x2e, 0x60, 0xab, + 0xf4, 0x28, 0xfb, 0x17, 0x96, 0xc5, 0x96, 0x51, +}; +static const unsigned char kat384_addin1[] = { + 0xf4, 0x0e, 0x36, 0xed, 0x10, 0x05, 0xe8, 0xc4, 0x46, 0x8d, 0x9f, 0x93, + 0x4f, 0xbc, 0xf4, 0x6b, 0x34, 0x2e, 0x57, 0x45, 0x30, 0x9f, 0xa4, 0x00, + 0x4c, 0x15, 0x0b, 0xd4, 0xfb, 0x2b, 0x1e, 0x71, +}; +static const unsigned char kat384_retbits[] = { + 0xcb, 0x69, 0xc3, 0x69, 0x35, 0x62, 0x0c, 0x7a, 0x23, 0x40, 0xd6, 0x72, + 0xb5, 0x59, 0xbe, 0x58, 0xcc, 0xaa, 0x82, 0xed, 0x45, 0x1a, 0x3f, 0x8e, + 0xa4, 0xfc, 0x06, 0xa9, 0x9c, 0x58, 0x9b, 0x96, 0x17, 0x67, 0x1d, 0xbf, + 0x26, 0x5a, 0xb9, 0xbf, 0xb9, 0xc5, 0x57, 0xdc, 0x6f, 0x6a, 0x70, 0x1b, + 0xa0, 0xcb, 0xc5, 0x03, 0x0e, 0x08, 0x5a, 0xf1, 0x6b, 0xc9, 0x73, 0x86, + 0x78, 0xcc, 0x31, 0xb4, +}; +static const struct drbg_kat_no_reseed kat384_t = { + 8, kat384_entropyin, kat384_nonce, kat384_persstr, + kat384_addin0, kat384_addin1, kat384_retbits +}; +static const struct drbg_kat kat384 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat384_t +}; + +static const unsigned char kat385_entropyin[] = { + 0xcd, 0x60, 0xf9, 0xaa, 0x04, 0xb8, 0x32, 0xb6, 0xa7, 0x6a, 0xc4, 0x3c, + 0x52, 0x76, 0x09, 0x25, 0xfa, 0x8e, 0x9d, 0x99, 0x59, 0x2b, 0xdd, 0xef, +}; +static const unsigned char kat385_nonce[] = { + 0x12, 0x94, 0x99, 0x7f, 0x49, 0x24, 0x8a, 0xdc, 0x70, 0x54, 0x0c, 0x18, + 0xe8, 0xed, 0xe4, 0x70, +}; +static const unsigned char kat385_persstr[] = {0}; +static const unsigned char kat385_addin0[] = { + 0xaf, 0x6c, 0xe3, 0x7c, 0x50, 0xc9, 0x27, 0x59, 0x37, 0x3d, 0x52, 0x06, + 0x62, 0x8f, 0x74, 0x7c, 0x16, 0x91, 0x53, 0xea, 0xbf, 0x80, 0x4d, 0x25, + 0x40, 0xc1, 0xc1, 0x77, 0x64, 0xae, 0x53, 0x8e, +}; +static const unsigned char kat385_addin1[] = { + 0xfa, 0x2e, 0x5a, 0x76, 0x2d, 0xd5, 0x60, 0x96, 0x23, 0x0b, 0xa8, 0x34, + 0x43, 0xfd, 0x16, 0xc8, 0xbf, 0x6d, 0xa0, 0xf5, 0xaa, 0x07, 0xbe, 0x0e, + 0x52, 0x2d, 0x85, 0xb7, 0xfe, 0xc8, 0x8e, 0x96, +}; +static const unsigned char kat385_retbits[] = { + 0xcb, 0x38, 0xaa, 0x9a, 0x8b, 0x89, 0x3e, 0xef, 0xb8, 0x81, 0x9b, 0x41, + 0x73, 0x47, 0x1b, 0x98, 0x3e, 0x64, 0xdd, 0x7f, 0xf6, 0x20, 0x92, 0xd4, + 0x0c, 0x22, 0x02, 0xa1, 0x2e, 0x07, 0x01, 0x36, 0x72, 0x84, 0x08, 0x04, + 0xd8, 0xf4, 0x9a, 0x17, 0x4a, 0xb0, 0x73, 0xb2, 0x93, 0xc6, 0x63, 0xd0, + 0x18, 0x2f, 0xe0, 0x03, 0x5f, 0x80, 0xe1, 0xd8, 0x82, 0x19, 0x8b, 0x4e, + 0x49, 0xfe, 0x70, 0x10, +}; +static const struct drbg_kat_no_reseed kat385_t = { + 9, kat385_entropyin, kat385_nonce, kat385_persstr, + kat385_addin0, kat385_addin1, kat385_retbits +}; +static const struct drbg_kat kat385 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat385_t +}; + +static const unsigned char kat386_entropyin[] = { + 0x69, 0x31, 0xcd, 0x18, 0xa6, 0xc7, 0x72, 0xce, 0x1a, 0xd6, 0xb1, 0xff, + 0x80, 0x46, 0x11, 0x10, 0xb3, 0x14, 0xc9, 0xc1, 0xb2, 0x7d, 0x6e, 0x5d, +}; +static const unsigned char kat386_nonce[] = { + 0x4f, 0x3c, 0x93, 0xd4, 0x04, 0xb1, 0xa2, 0x0b, 0x83, 0x5e, 0x50, 0x12, + 0xe1, 0x2a, 0x65, 0x4f, +}; +static const unsigned char kat386_persstr[] = {0}; +static const unsigned char kat386_addin0[] = { + 0x3c, 0x48, 0x21, 0x1e, 0x1f, 0x59, 0x62, 0xd1, 0xad, 0x49, 0xbb, 0x76, + 0x36, 0xab, 0x18, 0x2e, 0x8b, 0x84, 0x95, 0xe2, 0xff, 0xd3, 0x17, 0xfd, + 0x08, 0x52, 0x69, 0x50, 0x95, 0x08, 0xc4, 0x61, +}; +static const unsigned char kat386_addin1[] = { + 0xaa, 0x0a, 0x70, 0x03, 0x1a, 0xf5, 0xfe, 0xdc, 0x2c, 0x00, 0x60, 0x5e, + 0x5b, 0x6e, 0x4b, 0x92, 0x59, 0xfd, 0x14, 0x21, 0x44, 0x63, 0x52, 0x03, + 0x4a, 0x4a, 0x4c, 0x80, 0x16, 0xe3, 0xe0, 0x16, +}; +static const unsigned char kat386_retbits[] = { + 0xa4, 0x49, 0xf3, 0x78, 0x1a, 0x48, 0x84, 0x34, 0x92, 0x10, 0xc9, 0xd3, + 0xf6, 0x94, 0xf1, 0xa6, 0x38, 0x71, 0x60, 0x5f, 0xb0, 0x7a, 0xd3, 0x02, + 0xa2, 0xc2, 0xcd, 0x16, 0xd7, 0xc6, 0x44, 0xea, 0x7e, 0xb5, 0xfc, 0xbc, + 0x27, 0xb1, 0x2a, 0xd6, 0xa4, 0xb7, 0x5c, 0x84, 0xe2, 0xba, 0xdd, 0x4f, + 0x0a, 0x06, 0x62, 0x21, 0x64, 0xbc, 0xe3, 0xed, 0xc4, 0xbe, 0x8a, 0x35, + 0xba, 0x6c, 0x19, 0x7b, +}; +static const struct drbg_kat_no_reseed kat386_t = { + 10, kat386_entropyin, kat386_nonce, kat386_persstr, + kat386_addin0, kat386_addin1, kat386_retbits +}; +static const struct drbg_kat kat386 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat386_t +}; + +static const unsigned char kat387_entropyin[] = { + 0x59, 0x29, 0xc6, 0xc6, 0xc5, 0x63, 0xdc, 0x6b, 0x85, 0x4c, 0xd7, 0x1c, + 0x3a, 0x2e, 0x9c, 0x8f, 0x36, 0x88, 0x6b, 0xdf, 0x24, 0x46, 0xb1, 0x1f, +}; +static const unsigned char kat387_nonce[] = { + 0x36, 0x6e, 0x9c, 0xc6, 0x90, 0x07, 0x44, 0xa7, 0xfd, 0x31, 0xed, 0x92, + 0xf5, 0x78, 0x5d, 0x2b, +}; +static const unsigned char kat387_persstr[] = {0}; +static const unsigned char kat387_addin0[] = { + 0xdc, 0xc1, 0x53, 0x2d, 0x3d, 0x93, 0x48, 0x80, 0x7c, 0x19, 0x17, 0xa4, + 0x51, 0x39, 0xd7, 0x34, 0x5d, 0x15, 0xa8, 0xd9, 0xc7, 0xa6, 0xa1, 0x8c, + 0x82, 0x69, 0x45, 0xe8, 0x2b, 0x0b, 0x8a, 0x5e, +}; +static const unsigned char kat387_addin1[] = { + 0x40, 0x22, 0xbc, 0x66, 0xf1, 0x81, 0x60, 0xeb, 0x8a, 0x87, 0x23, 0x76, + 0xba, 0x99, 0x8b, 0xbc, 0x40, 0x00, 0x31, 0xb7, 0xb9, 0x05, 0x03, 0x1a, + 0x38, 0x47, 0xd4, 0xec, 0x0d, 0xf9, 0x57, 0xcf, +}; +static const unsigned char kat387_retbits[] = { + 0x36, 0x2f, 0xf3, 0xdf, 0x4d, 0x56, 0x3f, 0xca, 0xb2, 0x73, 0x0b, 0xb1, + 0x93, 0x2f, 0x27, 0x91, 0x99, 0x1e, 0x50, 0xe2, 0x46, 0x82, 0x1a, 0x74, + 0x68, 0xa2, 0xeb, 0x1a, 0xcf, 0x55, 0xd3, 0x30, 0xcd, 0x13, 0xba, 0x99, + 0x9c, 0x58, 0x52, 0xe8, 0x1d, 0x58, 0xc3, 0xc8, 0xe6, 0x38, 0x48, 0xbf, + 0xa6, 0xb2, 0x43, 0x3d, 0xe4, 0x53, 0xa0, 0xda, 0x6c, 0x79, 0x97, 0xa6, + 0x00, 0x0c, 0x9f, 0xc3, +}; +static const struct drbg_kat_no_reseed kat387_t = { + 11, kat387_entropyin, kat387_nonce, kat387_persstr, + kat387_addin0, kat387_addin1, kat387_retbits +}; +static const struct drbg_kat kat387 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat387_t +}; + +static const unsigned char kat388_entropyin[] = { + 0x61, 0xae, 0x1d, 0x52, 0x00, 0x54, 0x09, 0x68, 0x42, 0xc1, 0x7a, 0xb7, + 0x0c, 0x60, 0xa2, 0x78, 0x48, 0x0a, 0xae, 0xd2, 0x99, 0x57, 0x5e, 0x59, +}; +static const unsigned char kat388_nonce[] = { + 0x9a, 0xbc, 0xbd, 0xbe, 0x26, 0x0a, 0x64, 0x19, 0xc7, 0x87, 0x70, 0x61, + 0x5d, 0xa5, 0x4c, 0x03, +}; +static const unsigned char kat388_persstr[] = {0}; +static const unsigned char kat388_addin0[] = { + 0x0e, 0x5b, 0x2a, 0x49, 0xf3, 0x44, 0x51, 0x99, 0xcb, 0xbe, 0xca, 0x36, + 0x3b, 0x02, 0x3f, 0x4a, 0x29, 0x54, 0xc3, 0xe5, 0x67, 0xcb, 0xfc, 0x33, + 0xf1, 0xb2, 0x9f, 0xbc, 0x74, 0x20, 0xb1, 0x89, +}; +static const unsigned char kat388_addin1[] = { + 0xa2, 0xff, 0xe5, 0x63, 0xdd, 0x17, 0x50, 0xbb, 0x3e, 0x07, 0xf2, 0xc4, + 0x98, 0xef, 0x18, 0xa6, 0xc4, 0xf2, 0x24, 0x53, 0xd9, 0xab, 0xc9, 0x93, + 0x55, 0x50, 0x9c, 0x42, 0xed, 0x01, 0x19, 0x60, +}; +static const unsigned char kat388_retbits[] = { + 0x7b, 0xec, 0x6d, 0xaa, 0x15, 0xef, 0x65, 0x81, 0x72, 0x49, 0x04, 0x4d, + 0x37, 0x5f, 0xbd, 0x98, 0x57, 0x3a, 0xcd, 0xac, 0xb2, 0x11, 0x46, 0x78, + 0xd4, 0x11, 0x58, 0x9e, 0x44, 0xb7, 0x1c, 0xcc, 0xdf, 0xa7, 0xbd, 0x50, + 0x69, 0x5a, 0xdd, 0x94, 0x7b, 0x0e, 0xbb, 0x58, 0xb7, 0x38, 0x38, 0x65, + 0x37, 0xb6, 0x34, 0x40, 0xee, 0x84, 0xb7, 0x7f, 0x37, 0xe0, 0xc4, 0x58, + 0x77, 0x43, 0x0c, 0x70, +}; +static const struct drbg_kat_no_reseed kat388_t = { + 12, kat388_entropyin, kat388_nonce, kat388_persstr, + kat388_addin0, kat388_addin1, kat388_retbits +}; +static const struct drbg_kat kat388 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat388_t +}; + +static const unsigned char kat389_entropyin[] = { + 0xb6, 0x73, 0x5d, 0x76, 0x0d, 0x4d, 0xca, 0xa5, 0x7d, 0xae, 0xfc, 0x5b, + 0xdb, 0xf0, 0xb5, 0xa9, 0x4f, 0x2e, 0x6b, 0xc4, 0xa3, 0x60, 0x80, 0x4b, +}; +static const unsigned char kat389_nonce[] = { + 0xd0, 0xa8, 0xbc, 0xef, 0xaa, 0x6d, 0x9f, 0x4b, 0x6a, 0xfd, 0x4c, 0x8a, + 0xd4, 0x27, 0x6e, 0xf0, +}; +static const unsigned char kat389_persstr[] = {0}; +static const unsigned char kat389_addin0[] = { + 0x75, 0x61, 0x9e, 0xe0, 0xb4, 0xf2, 0x60, 0x1d, 0x5f, 0x1c, 0xb0, 0x83, + 0x3f, 0x32, 0x5e, 0x3a, 0x7b, 0x59, 0x21, 0x48, 0x17, 0x52, 0xe1, 0x22, + 0xc8, 0x78, 0x6d, 0xdc, 0x33, 0xa3, 0x8a, 0x27, +}; +static const unsigned char kat389_addin1[] = { + 0x13, 0x60, 0xb2, 0x00, 0x07, 0x80, 0x37, 0x6f, 0x0a, 0xed, 0x1a, 0xef, + 0xfa, 0x3c, 0x26, 0xe6, 0xc2, 0x9d, 0x30, 0xb0, 0x74, 0x0d, 0xe1, 0x4b, + 0xbf, 0xe9, 0x31, 0xe5, 0xf1, 0xaa, 0xa9, 0x68, +}; +static const unsigned char kat389_retbits[] = { + 0xae, 0x3b, 0xb8, 0x2b, 0xfb, 0xd1, 0xf4, 0x8c, 0x33, 0xe1, 0xeb, 0x0b, + 0x96, 0xca, 0x85, 0x0c, 0x35, 0x05, 0xa7, 0x5b, 0xf3, 0xfb, 0x07, 0xbb, + 0xad, 0xe7, 0xa2, 0xc1, 0x7b, 0xd1, 0xb0, 0x4d, 0x8a, 0xf5, 0xed, 0x1a, + 0x5c, 0x71, 0x56, 0x6c, 0xa2, 0xc0, 0x51, 0x35, 0xc4, 0x12, 0x8a, 0x0e, + 0x6e, 0x8e, 0x9a, 0x27, 0xb3, 0x7a, 0x76, 0xc9, 0xf7, 0x08, 0xdb, 0x02, + 0x7f, 0x94, 0x80, 0x1c, +}; +static const struct drbg_kat_no_reseed kat389_t = { + 13, kat389_entropyin, kat389_nonce, kat389_persstr, + kat389_addin0, kat389_addin1, kat389_retbits +}; +static const struct drbg_kat kat389 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat389_t +}; + +static const unsigned char kat390_entropyin[] = { + 0xbb, 0x90, 0xe5, 0x3c, 0x12, 0x40, 0xd6, 0x58, 0x40, 0x6d, 0x7c, 0x85, + 0xc0, 0xff, 0x23, 0xd7, 0x47, 0x4a, 0x67, 0x6a, 0x59, 0x20, 0xb0, 0xe1, +}; +static const unsigned char kat390_nonce[] = { + 0x48, 0x02, 0xe0, 0x2a, 0xdc, 0xc5, 0xa1, 0x50, 0x4d, 0x6d, 0xde, 0x82, + 0xb6, 0xf2, 0x0a, 0x67, +}; +static const unsigned char kat390_persstr[] = {0}; +static const unsigned char kat390_addin0[] = { + 0xfb, 0x2b, 0x97, 0x6d, 0x69, 0x4d, 0xf3, 0xfc, 0x2b, 0x32, 0xa3, 0x3f, + 0x7c, 0x98, 0x96, 0x83, 0xf5, 0x0c, 0x4c, 0xfc, 0xe6, 0x16, 0x8a, 0xd1, + 0xab, 0x9d, 0x1a, 0x79, 0xd5, 0xf5, 0x9d, 0x3c, +}; +static const unsigned char kat390_addin1[] = { + 0x6c, 0x78, 0x61, 0x0d, 0xaf, 0x6e, 0xa4, 0x26, 0x64, 0x1b, 0xe5, 0x62, + 0x80, 0xcd, 0x62, 0x3e, 0x8b, 0x11, 0xdd, 0x96, 0x7a, 0xc6, 0x15, 0x4f, + 0x04, 0xa6, 0xd4, 0xa6, 0xc7, 0x49, 0xc9, 0x57, +}; +static const unsigned char kat390_retbits[] = { + 0x97, 0xe3, 0x56, 0x01, 0x57, 0xab, 0x43, 0x42, 0xe7, 0x62, 0x48, 0x07, + 0x27, 0xd5, 0x50, 0x5a, 0x72, 0x29, 0x3e, 0x13, 0x53, 0x1c, 0x62, 0xea, + 0x70, 0x72, 0xb2, 0xac, 0xf8, 0xf7, 0x2e, 0xa8, 0xce, 0xd0, 0x9c, 0xbf, + 0x9e, 0xcb, 0x9e, 0x9d, 0x6d, 0xa6, 0x16, 0xfb, 0x8c, 0xa0, 0x61, 0x38, + 0x09, 0x38, 0x8e, 0xe9, 0x15, 0xaa, 0xcb, 0x59, 0xcb, 0x36, 0x27, 0xe3, + 0xf0, 0xc3, 0x89, 0xdf, +}; +static const struct drbg_kat_no_reseed kat390_t = { + 14, kat390_entropyin, kat390_nonce, kat390_persstr, + kat390_addin0, kat390_addin1, kat390_retbits +}; +static const struct drbg_kat kat390 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat390_t +}; + +static const unsigned char kat391_entropyin[] = { + 0xa7, 0x99, 0x43, 0x34, 0x23, 0x77, 0xca, 0x01, 0x85, 0x59, 0xd0, 0x88, + 0x6d, 0x43, 0xdf, 0xe0, 0x18, 0xd6, 0x30, 0x59, 0x0d, 0xb1, 0x02, 0x3b, +}; +static const unsigned char kat391_nonce[] = { + 0x1b, 0x96, 0xf2, 0x2b, 0xd6, 0x61, 0x79, 0xf5, 0x93, 0x80, 0x9d, 0xb9, + 0x0f, 0xdf, 0xa6, 0x14, +}; +static const unsigned char kat391_persstr[] = { + 0x5b, 0xed, 0xfc, 0x44, 0xb3, 0x72, 0x88, 0x44, 0x52, 0x36, 0x72, 0x29, + 0xf1, 0xf6, 0x7e, 0x93, 0xbc, 0x44, 0x7f, 0x8f, 0xbe, 0xe0, 0x44, 0xc3, + 0x1e, 0x10, 0x96, 0x7e, 0xf0, 0x12, 0x0c, 0x6d, +}; +static const unsigned char kat391_addin0[] = {0}; +static const unsigned char kat391_addin1[] = {0}; +static const unsigned char kat391_retbits[] = { + 0x49, 0xeb, 0xb3, 0x6a, 0xfd, 0x56, 0x3e, 0x07, 0x72, 0xed, 0x7d, 0xc8, + 0xec, 0xbb, 0xee, 0xba, 0x47, 0xcc, 0xba, 0xbf, 0xd0, 0xbe, 0xeb, 0xb5, + 0xc9, 0x9c, 0x97, 0x71, 0xe2, 0xdf, 0x9a, 0x33, 0xe1, 0x9c, 0x4b, 0xb7, + 0x16, 0x44, 0x9e, 0xb5, 0xe9, 0xb6, 0x67, 0x39, 0xbd, 0xca, 0x2e, 0xe8, + 0xca, 0x21, 0x7e, 0xcc, 0x1c, 0x4f, 0xf6, 0xc0, 0x34, 0xcd, 0xfc, 0xad, + 0xb8, 0xf1, 0xc7, 0xda, +}; +static const struct drbg_kat_no_reseed kat391_t = { + 0, kat391_entropyin, kat391_nonce, kat391_persstr, + kat391_addin0, kat391_addin1, kat391_retbits +}; +static const struct drbg_kat kat391 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat391_t +}; + +static const unsigned char kat392_entropyin[] = { + 0xc3, 0x7b, 0xcf, 0xc7, 0x99, 0xb1, 0xa7, 0x51, 0xca, 0x6f, 0xc1, 0xfd, + 0xec, 0x29, 0x2a, 0xe8, 0xcd, 0x3a, 0x59, 0xb6, 0x15, 0x82, 0x8c, 0x89, +}; +static const unsigned char kat392_nonce[] = { + 0x26, 0xeb, 0x7b, 0xb6, 0x85, 0xe4, 0xe9, 0x12, 0xe4, 0x74, 0x11, 0x5b, + 0x19, 0xfa, 0xb4, 0xa2, +}; +static const unsigned char kat392_persstr[] = { + 0x02, 0x7c, 0xa3, 0x5a, 0x2a, 0xd5, 0x2c, 0x9e, 0xb8, 0x73, 0x07, 0xac, + 0x2b, 0x4d, 0xd0, 0x45, 0x9a, 0xb5, 0xfe, 0xf8, 0x74, 0xcd, 0x25, 0x34, + 0x27, 0x52, 0x88, 0x8c, 0x1d, 0xba, 0x63, 0x21, +}; +static const unsigned char kat392_addin0[] = {0}; +static const unsigned char kat392_addin1[] = {0}; +static const unsigned char kat392_retbits[] = { + 0x0d, 0xb0, 0xad, 0x15, 0xbe, 0xe8, 0x9b, 0x26, 0xff, 0x32, 0xad, 0x9b, + 0x3e, 0x5e, 0xea, 0x25, 0xb3, 0x02, 0x6a, 0x0e, 0x76, 0xe8, 0x5d, 0x57, + 0x6a, 0x17, 0x40, 0x0e, 0x00, 0xe3, 0x8b, 0x82, 0x88, 0x3d, 0xd0, 0x1d, + 0x43, 0x03, 0x8c, 0xe6, 0xb5, 0x64, 0x5d, 0xe5, 0x8f, 0x3d, 0x08, 0xa2, + 0x38, 0xb8, 0x58, 0x97, 0x8d, 0xe4, 0x09, 0x06, 0xa8, 0x89, 0x08, 0x92, + 0x5a, 0x91, 0x82, 0x0d, +}; +static const struct drbg_kat_no_reseed kat392_t = { + 1, kat392_entropyin, kat392_nonce, kat392_persstr, + kat392_addin0, kat392_addin1, kat392_retbits +}; +static const struct drbg_kat kat392 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat392_t +}; + +static const unsigned char kat393_entropyin[] = { + 0x5f, 0xd9, 0xfd, 0xe9, 0x5f, 0x75, 0x96, 0x85, 0xda, 0x08, 0xaf, 0x67, + 0xd9, 0xd8, 0x4a, 0xa0, 0xd3, 0x32, 0x23, 0x5a, 0x0d, 0x32, 0x45, 0xe7, +}; +static const unsigned char kat393_nonce[] = { + 0x1d, 0x30, 0xeb, 0x84, 0xed, 0xd4, 0x48, 0x7c, 0xa3, 0xbe, 0x0f, 0x08, + 0xf8, 0x1c, 0x8a, 0xfc, +}; +static const unsigned char kat393_persstr[] = { + 0x2a, 0xe9, 0x1a, 0xd3, 0xbb, 0xae, 0x3f, 0x5f, 0x80, 0xe1, 0x80, 0xb7, + 0xe9, 0x4a, 0xe5, 0x01, 0x90, 0x1c, 0x01, 0x5f, 0xb1, 0x2f, 0x50, 0xd8, + 0xac, 0x8f, 0x2a, 0xc2, 0x15, 0x0a, 0xa2, 0xb6, +}; +static const unsigned char kat393_addin0[] = {0}; +static const unsigned char kat393_addin1[] = {0}; +static const unsigned char kat393_retbits[] = { + 0x2a, 0xa5, 0xb7, 0xef, 0x58, 0x74, 0x59, 0x46, 0xec, 0xcf, 0xaf, 0x9c, + 0xe1, 0xe2, 0x8c, 0x03, 0x6a, 0xd4, 0xe9, 0x9e, 0xd5, 0x05, 0x1b, 0x51, + 0xc5, 0x74, 0x66, 0xea, 0xb0, 0xad, 0x08, 0x31, 0xcf, 0xa0, 0x14, 0x42, + 0x6c, 0x2c, 0x3d, 0x4b, 0xe7, 0x0f, 0x0e, 0xc7, 0x7e, 0x02, 0x43, 0x40, + 0x9d, 0xac, 0xb8, 0x7e, 0xd3, 0x40, 0xaf, 0x0b, 0x8e, 0x39, 0x45, 0x61, + 0x20, 0x64, 0x0e, 0xb9, +}; +static const struct drbg_kat_no_reseed kat393_t = { + 2, kat393_entropyin, kat393_nonce, kat393_persstr, + kat393_addin0, kat393_addin1, kat393_retbits +}; +static const struct drbg_kat kat393 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat393_t +}; + +static const unsigned char kat394_entropyin[] = { + 0xb0, 0x6b, 0xb1, 0x4c, 0xce, 0x0d, 0xb3, 0xf4, 0x1a, 0xf3, 0xe7, 0x79, + 0x10, 0x36, 0x1e, 0x77, 0x85, 0x42, 0x7c, 0x83, 0x02, 0xdd, 0xbd, 0xf4, +}; +static const unsigned char kat394_nonce[] = { + 0xf3, 0x9d, 0x39, 0xc3, 0x05, 0xd1, 0x72, 0x7f, 0x7d, 0xcb, 0x62, 0x94, + 0xca, 0xfc, 0x30, 0x45, +}; +static const unsigned char kat394_persstr[] = { + 0x06, 0x76, 0xb6, 0x8f, 0x21, 0xa6, 0xc2, 0x89, 0x52, 0x11, 0xce, 0x12, + 0x7a, 0x57, 0x48, 0xa0, 0x05, 0x0e, 0xeb, 0xec, 0x08, 0x04, 0x4e, 0xe2, + 0xfe, 0x26, 0x93, 0xbe, 0x05, 0xe2, 0x23, 0xe8, +}; +static const unsigned char kat394_addin0[] = {0}; +static const unsigned char kat394_addin1[] = {0}; +static const unsigned char kat394_retbits[] = { + 0xbd, 0xe9, 0x73, 0x5f, 0x36, 0xb8, 0xd8, 0xaf, 0xe8, 0xac, 0x76, 0xa9, + 0x71, 0xec, 0x94, 0x66, 0x06, 0x5d, 0x22, 0xe1, 0x88, 0x5e, 0x75, 0xdb, + 0x61, 0xca, 0x11, 0x66, 0x28, 0x10, 0x6b, 0xeb, 0x15, 0xdd, 0xe7, 0xe5, + 0xe1, 0xc4, 0x86, 0xe4, 0xcc, 0x66, 0x05, 0x6e, 0xe1, 0x57, 0x0c, 0xd5, + 0x34, 0x9b, 0x6c, 0x62, 0x80, 0x94, 0xc9, 0x50, 0x67, 0x52, 0xde, 0x9f, + 0x3d, 0xa9, 0x5f, 0x8a, +}; +static const struct drbg_kat_no_reseed kat394_t = { + 3, kat394_entropyin, kat394_nonce, kat394_persstr, + kat394_addin0, kat394_addin1, kat394_retbits +}; +static const struct drbg_kat kat394 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat394_t +}; + +static const unsigned char kat395_entropyin[] = { + 0xc2, 0x10, 0x9a, 0x53, 0x44, 0x62, 0x8f, 0xfa, 0x5c, 0x43, 0x46, 0x0e, + 0x9e, 0x38, 0x5f, 0x4e, 0xa4, 0xc0, 0x7a, 0xa4, 0x01, 0xec, 0x98, 0x1e, +}; +static const unsigned char kat395_nonce[] = { + 0xd2, 0x42, 0xbb, 0xb3, 0xba, 0x28, 0x2b, 0x9b, 0xb0, 0xd3, 0x64, 0x8a, + 0xee, 0x33, 0xf6, 0x99, +}; +static const unsigned char kat395_persstr[] = { + 0x00, 0x33, 0x3c, 0xfe, 0x95, 0xaf, 0x5e, 0xcb, 0x99, 0xf9, 0xab, 0x69, + 0x86, 0x76, 0x2a, 0xd2, 0xd2, 0xf7, 0x70, 0x2a, 0xa5, 0xec, 0x5c, 0xef, + 0xc4, 0x31, 0x77, 0xee, 0xb3, 0xb3, 0x3d, 0xdb, +}; +static const unsigned char kat395_addin0[] = {0}; +static const unsigned char kat395_addin1[] = {0}; +static const unsigned char kat395_retbits[] = { + 0xf8, 0xc4, 0xed, 0x2c, 0x6d, 0x7f, 0x32, 0x38, 0x28, 0xc5, 0xe9, 0xe5, + 0x0c, 0x86, 0x31, 0xe1, 0x35, 0xd1, 0xca, 0x04, 0x17, 0x3e, 0xaf, 0x15, + 0x03, 0x6a, 0xf8, 0x25, 0x0e, 0xf0, 0x9b, 0xdd, 0x59, 0x5d, 0x03, 0xa7, + 0x76, 0xae, 0x06, 0x6d, 0xa4, 0x62, 0xc6, 0x31, 0xfc, 0x6a, 0x66, 0xea, + 0xb3, 0x75, 0xfb, 0x0e, 0x2e, 0xde, 0x9a, 0x3b, 0x50, 0x83, 0x98, 0x0f, + 0x4f, 0xf8, 0x10, 0xc9, +}; +static const struct drbg_kat_no_reseed kat395_t = { + 4, kat395_entropyin, kat395_nonce, kat395_persstr, + kat395_addin0, kat395_addin1, kat395_retbits +}; +static const struct drbg_kat kat395 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat395_t +}; + +static const unsigned char kat396_entropyin[] = { + 0xb7, 0xa9, 0x0d, 0x58, 0xf3, 0x65, 0x08, 0x14, 0xad, 0x99, 0xd3, 0x08, + 0xb2, 0x3c, 0x79, 0xd9, 0x36, 0x57, 0xc7, 0x3d, 0x2d, 0xed, 0x54, 0x12, +}; +static const unsigned char kat396_nonce[] = { + 0x8a, 0xe9, 0x69, 0x38, 0xdf, 0xfc, 0xcc, 0xef, 0xc8, 0xd5, 0xf9, 0x34, + 0x75, 0x3f, 0xd6, 0x70, +}; +static const unsigned char kat396_persstr[] = { + 0xe3, 0x19, 0xf4, 0x51, 0x11, 0xce, 0xa3, 0x52, 0x90, 0xb0, 0x77, 0x30, + 0x2b, 0xd3, 0xb5, 0xd4, 0x5b, 0x0f, 0x7c, 0x5e, 0x9e, 0x1d, 0x97, 0x29, + 0xdd, 0x2f, 0xcc, 0xc7, 0x58, 0x85, 0x5c, 0x3a, +}; +static const unsigned char kat396_addin0[] = {0}; +static const unsigned char kat396_addin1[] = {0}; +static const unsigned char kat396_retbits[] = { + 0x7b, 0xb1, 0x31, 0x47, 0x9e, 0x60, 0x64, 0xc7, 0x76, 0x7e, 0x17, 0xaf, + 0x46, 0xd5, 0x28, 0xe4, 0xb6, 0x59, 0xc7, 0xfa, 0xbf, 0x90, 0x6c, 0x0a, + 0x76, 0x79, 0xdd, 0x8a, 0xfd, 0xd4, 0xaa, 0xf1, 0x04, 0xf8, 0xe7, 0xca, + 0xab, 0x91, 0x53, 0x65, 0x2a, 0x30, 0xe3, 0x8f, 0x80, 0xda, 0xe1, 0x0e, + 0x67, 0xca, 0xf3, 0x02, 0xbf, 0x11, 0x71, 0x04, 0x94, 0x96, 0x49, 0xc7, + 0xb2, 0x0f, 0x5d, 0x38, +}; +static const struct drbg_kat_no_reseed kat396_t = { + 5, kat396_entropyin, kat396_nonce, kat396_persstr, + kat396_addin0, kat396_addin1, kat396_retbits +}; +static const struct drbg_kat kat396 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat396_t +}; + +static const unsigned char kat397_entropyin[] = { + 0x76, 0x18, 0xe5, 0x54, 0x6a, 0x59, 0x81, 0xcb, 0x4c, 0x72, 0xa5, 0x17, + 0xf2, 0x9a, 0x5f, 0xe8, 0x88, 0x6d, 0x4d, 0x3e, 0x9a, 0xd9, 0xfc, 0xb0, +}; +static const unsigned char kat397_nonce[] = { + 0xd4, 0x75, 0x70, 0x4c, 0x10, 0xc4, 0xa1, 0x86, 0x6b, 0xca, 0xa4, 0x12, + 0xe6, 0xbf, 0xbe, 0x7d, +}; +static const unsigned char kat397_persstr[] = { + 0xae, 0x8c, 0x3c, 0xde, 0x39, 0xed, 0x90, 0xda, 0x31, 0xb7, 0x32, 0x0c, + 0xf3, 0x59, 0x69, 0xfd, 0xe8, 0xf8, 0x28, 0x94, 0xe2, 0x22, 0xec, 0x2e, + 0x8a, 0xa1, 0x5d, 0x67, 0xb5, 0x5e, 0xfd, 0x89, +}; +static const unsigned char kat397_addin0[] = {0}; +static const unsigned char kat397_addin1[] = {0}; +static const unsigned char kat397_retbits[] = { + 0x75, 0x30, 0x48, 0xb2, 0x87, 0x9a, 0xbd, 0x1a, 0x0c, 0xf2, 0x42, 0x6f, + 0x1e, 0x1b, 0x04, 0x1f, 0xcb, 0x6b, 0xa3, 0xf0, 0x71, 0x0e, 0xe8, 0xec, + 0x41, 0x0d, 0x79, 0x2f, 0xb3, 0x2b, 0xd6, 0x6b, 0x1b, 0xac, 0x95, 0xaf, + 0x81, 0xa3, 0x09, 0x01, 0xf7, 0xbd, 0xd4, 0x2e, 0x5f, 0x8f, 0xe6, 0xcd, + 0x28, 0x62, 0x3f, 0xde, 0xe9, 0xc5, 0x89, 0xbc, 0x47, 0xde, 0x1c, 0x6a, + 0x29, 0x0b, 0xec, 0x62, +}; +static const struct drbg_kat_no_reseed kat397_t = { + 6, kat397_entropyin, kat397_nonce, kat397_persstr, + kat397_addin0, kat397_addin1, kat397_retbits +}; +static const struct drbg_kat kat397 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat397_t +}; + +static const unsigned char kat398_entropyin[] = { + 0x1d, 0x38, 0xd2, 0x43, 0x0e, 0x12, 0x93, 0x2d, 0xa3, 0xc3, 0x8f, 0x44, + 0x93, 0x0c, 0x1a, 0x2f, 0xf4, 0xa6, 0x2e, 0xaf, 0xaf, 0x8c, 0x85, 0x6f, +}; +static const unsigned char kat398_nonce[] = { + 0x18, 0x85, 0xf3, 0xbd, 0x33, 0x9f, 0x2c, 0x96, 0x59, 0x5c, 0x3b, 0x6d, + 0x99, 0x8e, 0x50, 0x83, +}; +static const unsigned char kat398_persstr[] = { + 0x43, 0x0c, 0x78, 0x71, 0x90, 0x1e, 0x16, 0x56, 0xe0, 0x8f, 0xb3, 0x5e, + 0xb4, 0xec, 0x43, 0x98, 0x49, 0x37, 0xa7, 0x5a, 0xf5, 0x96, 0xc9, 0x45, + 0x86, 0xa8, 0xf0, 0x2a, 0xf1, 0x2b, 0x7f, 0xc3, +}; +static const unsigned char kat398_addin0[] = {0}; +static const unsigned char kat398_addin1[] = {0}; +static const unsigned char kat398_retbits[] = { + 0x9e, 0xc5, 0x99, 0x81, 0x42, 0x37, 0x9d, 0x14, 0x89, 0x64, 0x51, 0x02, + 0x4f, 0xec, 0x60, 0x85, 0x34, 0x18, 0xa3, 0xef, 0x59, 0xd3, 0xa6, 0xbd, + 0x3f, 0xf1, 0x59, 0x28, 0x26, 0xb1, 0x13, 0x72, 0xf3, 0x21, 0xa9, 0x8c, + 0x54, 0xd1, 0xbf, 0x82, 0x25, 0xbb, 0x64, 0xec, 0x2f, 0x2f, 0x4f, 0x46, + 0xed, 0x64, 0x2a, 0xea, 0xf2, 0x8e, 0xb2, 0x0b, 0xc9, 0x93, 0xe6, 0xd6, + 0x84, 0xfa, 0x33, 0xde, +}; +static const struct drbg_kat_no_reseed kat398_t = { + 7, kat398_entropyin, kat398_nonce, kat398_persstr, + kat398_addin0, kat398_addin1, kat398_retbits +}; +static const struct drbg_kat kat398 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat398_t +}; + +static const unsigned char kat399_entropyin[] = { + 0xab, 0xb6, 0xb7, 0x68, 0x06, 0x81, 0x3c, 0x22, 0x73, 0xaa, 0x8e, 0xd4, + 0x76, 0xaf, 0x00, 0x74, 0xa7, 0xa4, 0x73, 0xea, 0x54, 0x8c, 0xc1, 0xef, +}; +static const unsigned char kat399_nonce[] = { + 0xd9, 0x91, 0x77, 0x34, 0x3e, 0xa3, 0x83, 0x7f, 0x92, 0xd9, 0xc7, 0x36, + 0x7a, 0x70, 0x43, 0x3e, +}; +static const unsigned char kat399_persstr[] = { + 0xef, 0x6b, 0x87, 0x66, 0x1f, 0x2a, 0x67, 0x8a, 0xd2, 0xd4, 0xdc, 0x85, + 0xba, 0x08, 0x45, 0xec, 0x8e, 0xea, 0xfa, 0x2b, 0x82, 0xb8, 0xae, 0xda, + 0x4f, 0xc6, 0x19, 0x38, 0xa8, 0xdd, 0x60, 0x77, +}; +static const unsigned char kat399_addin0[] = {0}; +static const unsigned char kat399_addin1[] = {0}; +static const unsigned char kat399_retbits[] = { + 0x81, 0x1a, 0xc8, 0x8d, 0x4c, 0x96, 0x15, 0xb5, 0x35, 0xb0, 0xf7, 0x2a, + 0x9f, 0x49, 0x10, 0x7b, 0xac, 0xa2, 0x39, 0xa1, 0x3f, 0x26, 0xb9, 0x7b, + 0xa7, 0x33, 0xe4, 0xaf, 0x3a, 0x24, 0xdb, 0x8a, 0x65, 0x82, 0x75, 0xee, + 0x24, 0x16, 0xc0, 0x2f, 0x59, 0x68, 0xc2, 0x2d, 0x13, 0xaa, 0x62, 0x55, + 0xde, 0xb0, 0x98, 0x14, 0x51, 0x05, 0x22, 0x6f, 0x4a, 0xa8, 0x0a, 0xe3, + 0xdf, 0x8c, 0x1b, 0xfd, +}; +static const struct drbg_kat_no_reseed kat399_t = { + 8, kat399_entropyin, kat399_nonce, kat399_persstr, + kat399_addin0, kat399_addin1, kat399_retbits +}; +static const struct drbg_kat kat399 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat399_t +}; + +static const unsigned char kat400_entropyin[] = { + 0xde, 0xfc, 0x7c, 0x59, 0xd7, 0x8e, 0x50, 0xc4, 0x12, 0x32, 0xf7, 0xbe, + 0xbf, 0xc5, 0xe9, 0x40, 0x8c, 0xea, 0x26, 0x6f, 0xc1, 0xe3, 0xc5, 0xc8, +}; +static const unsigned char kat400_nonce[] = { + 0x9f, 0xfa, 0x0d, 0xf6, 0x97, 0x93, 0xbb, 0x6d, 0x9e, 0x7d, 0x78, 0xeb, + 0xaf, 0x46, 0xf6, 0xa7, +}; +static const unsigned char kat400_persstr[] = { + 0x98, 0xb3, 0xfa, 0xb2, 0xff, 0xe5, 0x47, 0xec, 0x1a, 0x41, 0x8e, 0xd9, + 0x8a, 0xe7, 0xac, 0x66, 0x9c, 0x07, 0x01, 0x17, 0x8b, 0xe6, 0x55, 0xa6, + 0xfa, 0xf9, 0x96, 0x2d, 0x80, 0xae, 0xe9, 0x51, +}; +static const unsigned char kat400_addin0[] = {0}; +static const unsigned char kat400_addin1[] = {0}; +static const unsigned char kat400_retbits[] = { + 0xa9, 0xe6, 0x82, 0x0b, 0xf8, 0x3a, 0x8b, 0x29, 0x41, 0x46, 0xfc, 0xe2, + 0xd1, 0x94, 0x01, 0x9a, 0x99, 0x59, 0xcc, 0x58, 0x47, 0x29, 0xd6, 0x7d, + 0xc7, 0x17, 0x42, 0x39, 0x10, 0x60, 0xec, 0x6b, 0x24, 0xd6, 0x85, 0xe5, + 0x45, 0x80, 0x7b, 0x1c, 0xa9, 0xd8, 0xa2, 0x8b, 0x68, 0xe7, 0x6a, 0xf2, + 0x56, 0xd4, 0x35, 0xf6, 0xf8, 0x31, 0x63, 0x6c, 0x33, 0x2a, 0x7f, 0x13, + 0x80, 0x7b, 0x1f, 0x35, +}; +static const struct drbg_kat_no_reseed kat400_t = { + 9, kat400_entropyin, kat400_nonce, kat400_persstr, + kat400_addin0, kat400_addin1, kat400_retbits +}; +static const struct drbg_kat kat400 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat400_t +}; + +static const unsigned char kat401_entropyin[] = { + 0x6c, 0xfa, 0xaf, 0xb3, 0x1b, 0x1d, 0x6a, 0x6b, 0x9b, 0xed, 0x1d, 0xe9, + 0xa9, 0x93, 0xb7, 0x0f, 0xa1, 0x4d, 0xc6, 0x1f, 0xa1, 0x7a, 0xb1, 0xd0, +}; +static const unsigned char kat401_nonce[] = { + 0xad, 0xd4, 0x61, 0x04, 0x8f, 0xf6, 0x97, 0x53, 0xf8, 0x87, 0xab, 0x87, + 0xb7, 0x4c, 0x25, 0xed, +}; +static const unsigned char kat401_persstr[] = { + 0xe2, 0xde, 0xdf, 0xe6, 0xb7, 0x0f, 0xd4, 0x26, 0x34, 0x8b, 0x98, 0x38, + 0xb6, 0x3f, 0x01, 0xd5, 0x21, 0x18, 0x20, 0xbf, 0xba, 0x78, 0xa2, 0x19, + 0xa8, 0x8b, 0x9b, 0x67, 0xad, 0xbf, 0xa4, 0x52, +}; +static const unsigned char kat401_addin0[] = {0}; +static const unsigned char kat401_addin1[] = {0}; +static const unsigned char kat401_retbits[] = { + 0xc6, 0x0f, 0xcf, 0x4d, 0x36, 0x2c, 0x92, 0x3b, 0xbb, 0x70, 0xda, 0x80, + 0x6c, 0x92, 0x65, 0x1b, 0x23, 0x9e, 0x32, 0x75, 0x2b, 0xf4, 0x37, 0x66, + 0x9a, 0x39, 0xfa, 0x5e, 0x24, 0xd8, 0xa3, 0x04, 0x66, 0x8b, 0xac, 0x92, + 0xba, 0x12, 0x8a, 0x8b, 0x7e, 0x02, 0xdf, 0x00, 0xba, 0x17, 0x8f, 0x76, + 0xde, 0x44, 0xb6, 0x56, 0xf3, 0x45, 0x1f, 0x21, 0x25, 0x0d, 0xe7, 0x78, + 0xe0, 0x40, 0x5f, 0x14, +}; +static const struct drbg_kat_no_reseed kat401_t = { + 10, kat401_entropyin, kat401_nonce, kat401_persstr, + kat401_addin0, kat401_addin1, kat401_retbits +}; +static const struct drbg_kat kat401 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat401_t +}; + +static const unsigned char kat402_entropyin[] = { + 0x90, 0x09, 0x14, 0x8d, 0xfc, 0x32, 0xc4, 0xcd, 0x2e, 0x67, 0x09, 0xc5, + 0x4a, 0x93, 0xf5, 0x7a, 0xa7, 0x5a, 0x93, 0x0a, 0x39, 0x5b, 0xf2, 0x01, +}; +static const unsigned char kat402_nonce[] = { + 0xb2, 0x8d, 0xfc, 0x3c, 0x6b, 0x33, 0x9e, 0xb8, 0xbb, 0xaf, 0x29, 0xe5, + 0xf8, 0x19, 0x8b, 0x4e, +}; +static const unsigned char kat402_persstr[] = { + 0xeb, 0xb2, 0xe3, 0x30, 0xa0, 0x5d, 0x1e, 0xaa, 0xfc, 0x51, 0x16, 0xe9, + 0x37, 0x62, 0x20, 0x73, 0x2c, 0xcf, 0x09, 0x1e, 0x1b, 0x0e, 0x40, 0x17, + 0xfa, 0xa9, 0x43, 0x46, 0xa8, 0x39, 0x45, 0xc6, +}; +static const unsigned char kat402_addin0[] = {0}; +static const unsigned char kat402_addin1[] = {0}; +static const unsigned char kat402_retbits[] = { + 0x43, 0xc3, 0x1a, 0xc4, 0x9d, 0xe9, 0xf8, 0xe7, 0x74, 0xdf, 0xc8, 0xe4, + 0x37, 0xe4, 0x0a, 0x87, 0xe4, 0x25, 0x29, 0xe6, 0x25, 0xbd, 0xbd, 0x10, + 0xbf, 0x77, 0xbc, 0x0a, 0x81, 0x74, 0xfb, 0x9d, 0xd0, 0x8f, 0x6e, 0xdd, + 0x30, 0x8c, 0x6e, 0xeb, 0xa3, 0x17, 0x5b, 0xd3, 0x49, 0x6d, 0xa1, 0x14, + 0x36, 0xde, 0x61, 0x2a, 0x6d, 0x47, 0xf5, 0xd9, 0xe2, 0x63, 0x39, 0xeb, + 0xec, 0xda, 0x64, 0x9d, +}; +static const struct drbg_kat_no_reseed kat402_t = { + 11, kat402_entropyin, kat402_nonce, kat402_persstr, + kat402_addin0, kat402_addin1, kat402_retbits +}; +static const struct drbg_kat kat402 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat402_t +}; + +static const unsigned char kat403_entropyin[] = { + 0xf3, 0xf4, 0xe1, 0xab, 0xac, 0x55, 0x87, 0xf2, 0xa8, 0x40, 0x9b, 0x1a, + 0x22, 0x7f, 0x9c, 0x92, 0x41, 0x6f, 0x65, 0x67, 0x04, 0x95, 0x01, 0xdb, +}; +static const unsigned char kat403_nonce[] = { + 0xc1, 0x97, 0x96, 0x37, 0xe6, 0xb4, 0xd0, 0x4b, 0xc9, 0x70, 0xd3, 0x7e, + 0x11, 0xcd, 0xeb, 0xb5, +}; +static const unsigned char kat403_persstr[] = { + 0x3d, 0x49, 0x16, 0x31, 0xd7, 0x4d, 0x3d, 0x90, 0x8a, 0xc5, 0x8c, 0xc4, + 0x74, 0x81, 0xb5, 0xe0, 0x96, 0x4b, 0xb2, 0x19, 0x22, 0x06, 0x1c, 0xfe, + 0xbd, 0x83, 0x38, 0x20, 0xe9, 0x12, 0xa0, 0x0b, +}; +static const unsigned char kat403_addin0[] = {0}; +static const unsigned char kat403_addin1[] = {0}; +static const unsigned char kat403_retbits[] = { + 0x90, 0xed, 0xdd, 0x43, 0x9e, 0xed, 0x53, 0x79, 0x9e, 0xa5, 0x74, 0xc9, + 0x23, 0x84, 0x73, 0xff, 0xf0, 0x30, 0x38, 0x1e, 0x1a, 0x48, 0x54, 0x5b, + 0xc0, 0x7b, 0xb2, 0xcc, 0x9b, 0xb2, 0xd0, 0xea, 0xf2, 0x3a, 0x23, 0xf0, + 0x09, 0x88, 0x1d, 0x1c, 0x24, 0x64, 0xe6, 0xb3, 0x9f, 0x02, 0x30, 0x5b, + 0x32, 0x14, 0xd8, 0x99, 0x32, 0xf8, 0xc2, 0x37, 0x96, 0x49, 0x82, 0xc9, + 0xa7, 0xad, 0xcb, 0xfb, +}; +static const struct drbg_kat_no_reseed kat403_t = { + 12, kat403_entropyin, kat403_nonce, kat403_persstr, + kat403_addin0, kat403_addin1, kat403_retbits +}; +static const struct drbg_kat kat403 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat403_t +}; + +static const unsigned char kat404_entropyin[] = { + 0xdc, 0x24, 0x65, 0x25, 0x7d, 0x55, 0x89, 0x89, 0xa3, 0x40, 0x26, 0x3f, + 0xaa, 0x86, 0xef, 0x3f, 0x98, 0xe8, 0xa9, 0xfb, 0x53, 0x98, 0x04, 0xa9, +}; +static const unsigned char kat404_nonce[] = { + 0x1c, 0xa1, 0x60, 0x8e, 0xf5, 0xf2, 0x6b, 0xdf, 0xbb, 0xb1, 0xb5, 0x06, + 0xfd, 0x77, 0x24, 0x26, +}; +static const unsigned char kat404_persstr[] = { + 0xdb, 0x9b, 0xa1, 0x82, 0x86, 0x42, 0x94, 0x65, 0xf7, 0x3b, 0x35, 0x73, + 0x9e, 0x6c, 0x98, 0x7e, 0x07, 0xc0, 0x39, 0x7d, 0xd6, 0x03, 0xe0, 0x36, + 0x85, 0x3c, 0x54, 0x6e, 0x49, 0x93, 0xfe, 0x89, +}; +static const unsigned char kat404_addin0[] = {0}; +static const unsigned char kat404_addin1[] = {0}; +static const unsigned char kat404_retbits[] = { + 0xfd, 0x35, 0xff, 0xc4, 0x30, 0x51, 0x43, 0x57, 0x12, 0x37, 0x4a, 0xd9, + 0x03, 0xa4, 0x65, 0x5b, 0x36, 0xd3, 0x75, 0x4d, 0x78, 0x55, 0x1c, 0x3f, + 0x48, 0xd7, 0x04, 0x94, 0x74, 0x4e, 0xe2, 0xf3, 0x36, 0xbd, 0x19, 0xb7, + 0x80, 0xc8, 0xcb, 0x6e, 0x5d, 0xe4, 0xa6, 0x67, 0x11, 0x7d, 0x1f, 0xb6, + 0xb8, 0x1f, 0x03, 0xd3, 0x62, 0x0b, 0xb5, 0xbe, 0x18, 0x02, 0x15, 0x28, + 0x42, 0xc6, 0x97, 0x3e, +}; +static const struct drbg_kat_no_reseed kat404_t = { + 13, kat404_entropyin, kat404_nonce, kat404_persstr, + kat404_addin0, kat404_addin1, kat404_retbits +}; +static const struct drbg_kat kat404 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat404_t +}; + +static const unsigned char kat405_entropyin[] = { + 0x1b, 0xeb, 0xd5, 0xd8, 0x76, 0xe0, 0x94, 0x9d, 0x1d, 0x8d, 0xeb, 0x41, + 0x0d, 0x3a, 0x77, 0x9c, 0xed, 0x95, 0xe7, 0x0c, 0x0b, 0x4a, 0xd5, 0x31, +}; +static const unsigned char kat405_nonce[] = { + 0x4c, 0x1d, 0xb0, 0x88, 0x71, 0x71, 0x96, 0x23, 0xea, 0xb2, 0xa2, 0x4f, + 0xcb, 0x8f, 0xca, 0x1c, +}; +static const unsigned char kat405_persstr[] = { + 0xf7, 0x3f, 0x41, 0xc6, 0x14, 0x6f, 0x2c, 0x3d, 0x6a, 0xde, 0x95, 0x46, + 0x2a, 0x70, 0xf1, 0x23, 0xb9, 0x60, 0x4b, 0xea, 0x02, 0xfd, 0xca, 0x6b, + 0x11, 0x54, 0xc1, 0xf8, 0x6b, 0x89, 0x9b, 0x48, +}; +static const unsigned char kat405_addin0[] = {0}; +static const unsigned char kat405_addin1[] = {0}; +static const unsigned char kat405_retbits[] = { + 0x4a, 0x0e, 0x35, 0xcf, 0x6a, 0x1e, 0x19, 0x9e, 0x56, 0xfc, 0x6b, 0x5f, + 0x37, 0x84, 0xb2, 0x8c, 0x1a, 0xc7, 0x0e, 0x91, 0xfd, 0x74, 0xd8, 0xa7, + 0xef, 0x45, 0xa1, 0x68, 0xb3, 0xaa, 0xd2, 0x8f, 0x32, 0x44, 0x11, 0xee, + 0x88, 0x6b, 0xb7, 0x39, 0xbb, 0x81, 0x4d, 0x5b, 0xa1, 0xdd, 0x79, 0x4a, + 0x0d, 0x37, 0x2e, 0xed, 0x5f, 0x4a, 0x97, 0x1a, 0x0c, 0x55, 0x42, 0xb9, + 0x47, 0xc4, 0xe9, 0x77, +}; +static const struct drbg_kat_no_reseed kat405_t = { + 14, kat405_entropyin, kat405_nonce, kat405_persstr, + kat405_addin0, kat405_addin1, kat405_retbits +}; +static const struct drbg_kat kat405 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat405_t +}; + +static const unsigned char kat406_entropyin[] = { + 0x05, 0xe7, 0x34, 0xb2, 0xb1, 0x28, 0x7f, 0x82, 0x73, 0x94, 0x22, 0x8f, + 0x81, 0x40, 0xda, 0xc0, 0x50, 0xad, 0xb8, 0x21, 0xbd, 0x37, 0xc4, 0xe2, +}; +static const unsigned char kat406_nonce[] = { + 0xc5, 0x41, 0xec, 0xbe, 0x12, 0xd3, 0x00, 0xc1, 0x4a, 0x7c, 0x9f, 0xe9, + 0x0e, 0x38, 0xb1, 0xab, +}; +static const unsigned char kat406_persstr[] = { + 0x01, 0x8b, 0x8e, 0x3d, 0x28, 0x5b, 0x9f, 0x7b, 0x92, 0x8c, 0xc8, 0x19, + 0xc5, 0x76, 0xfa, 0x21, 0x69, 0x2c, 0x52, 0xff, 0x71, 0x66, 0xda, 0xe7, + 0xb8, 0xaf, 0x78, 0x54, 0xcd, 0x3f, 0x8e, 0xf4, +}; +static const unsigned char kat406_addin0[] = { + 0x1f, 0xd8, 0xd3, 0x7b, 0x2e, 0xa6, 0xb2, 0x0d, 0x74, 0x74, 0xd9, 0x5c, + 0xac, 0x58, 0x81, 0xa6, 0x9a, 0x12, 0x66, 0xba, 0xdc, 0x49, 0xc0, 0xda, + 0x8b, 0xe2, 0x95, 0xf3, 0xdf, 0x6a, 0xfb, 0x5e, +}; +static const unsigned char kat406_addin1[] = { + 0x97, 0x26, 0x73, 0x24, 0x32, 0xe1, 0x56, 0x7e, 0x5d, 0x9e, 0x53, 0x55, + 0x4b, 0xcb, 0x88, 0x6f, 0x12, 0x9c, 0x80, 0x07, 0xda, 0x9e, 0x68, 0xb3, + 0x25, 0xbf, 0x16, 0xab, 0x74, 0x0f, 0x54, 0x0e, +}; +static const unsigned char kat406_retbits[] = { + 0x3c, 0xc1, 0xec, 0x09, 0x29, 0x23, 0xa2, 0xba, 0x7f, 0xca, 0x0d, 0xbf, + 0x54, 0x3c, 0xce, 0xb9, 0xb7, 0x61, 0xc6, 0x1c, 0xad, 0xd0, 0x23, 0x35, + 0xdf, 0x36, 0x1b, 0xc4, 0x25, 0x34, 0xc9, 0xb0, 0x13, 0x73, 0xc8, 0xe5, + 0x13, 0xb0, 0x69, 0xef, 0x77, 0xdd, 0x0f, 0xf8, 0xe4, 0x62, 0x3e, 0xcf, + 0xd1, 0x2f, 0x29, 0x0a, 0x28, 0x45, 0xb8, 0xe7, 0xa1, 0xf2, 0xeb, 0x97, + 0x54, 0x7a, 0x16, 0xcc, +}; +static const struct drbg_kat_no_reseed kat406_t = { + 0, kat406_entropyin, kat406_nonce, kat406_persstr, + kat406_addin0, kat406_addin1, kat406_retbits +}; +static const struct drbg_kat kat406 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat406_t +}; + +static const unsigned char kat407_entropyin[] = { + 0x0a, 0x07, 0xb4, 0x89, 0x3a, 0xdc, 0x1d, 0x05, 0xf2, 0xe6, 0xf4, 0x61, + 0xa7, 0x17, 0xc3, 0xb4, 0xed, 0x12, 0xf9, 0xdc, 0x6a, 0xb1, 0xee, 0xc0, +}; +static const unsigned char kat407_nonce[] = { + 0x90, 0x0a, 0xda, 0xad, 0xf9, 0x0e, 0xf5, 0x85, 0x67, 0x84, 0xea, 0x86, + 0x05, 0x7b, 0x57, 0x14, +}; +static const unsigned char kat407_persstr[] = { + 0x12, 0x1e, 0x2e, 0xad, 0x8d, 0xa5, 0xb5, 0xcb, 0xc8, 0x40, 0x85, 0x6c, + 0x13, 0x6e, 0x94, 0x58, 0xe6, 0x5b, 0x53, 0x6a, 0x51, 0x31, 0x01, 0x5e, + 0x8e, 0xf4, 0xeb, 0x16, 0x7a, 0xa1, 0xf9, 0x64, +}; +static const unsigned char kat407_addin0[] = { + 0x4b, 0x79, 0x78, 0x58, 0x37, 0x73, 0x29, 0xb1, 0x9a, 0x69, 0x4a, 0x32, + 0x0d, 0xec, 0xa0, 0x92, 0x69, 0xbc, 0xee, 0x49, 0x61, 0x1f, 0x7e, 0xd6, + 0xf4, 0x0e, 0xb9, 0x45, 0x99, 0xf4, 0x20, 0xb6, +}; +static const unsigned char kat407_addin1[] = { + 0xfb, 0x4e, 0xb2, 0x1d, 0x67, 0xcb, 0xbe, 0x06, 0xb9, 0x96, 0xcf, 0x80, + 0xca, 0xb0, 0xcb, 0xbd, 0x61, 0xe9, 0xcf, 0x35, 0x80, 0x48, 0x77, 0x8e, + 0xbc, 0x50, 0x52, 0x0e, 0x5f, 0xb0, 0x1b, 0xb2, +}; +static const unsigned char kat407_retbits[] = { + 0xfc, 0xf3, 0xaa, 0x35, 0xd1, 0x4d, 0x2b, 0xf7, 0xfc, 0xc6, 0xb4, 0x64, + 0x60, 0xb5, 0x0d, 0x6b, 0xc9, 0xee, 0xb7, 0xb1, 0x17, 0xae, 0xef, 0xf4, + 0x55, 0x02, 0x2d, 0xa6, 0xeb, 0x32, 0xaa, 0x3b, 0x3e, 0x9b, 0xf7, 0xdb, + 0x05, 0xd2, 0x44, 0xa8, 0xa6, 0xbd, 0xbb, 0xee, 0x4a, 0x73, 0xa9, 0x6e, + 0x9b, 0x3a, 0xc8, 0xf1, 0x9a, 0xa6, 0x0a, 0xb1, 0x19, 0xf0, 0x0b, 0xca, + 0xcf, 0x61, 0xdd, 0x13, +}; +static const struct drbg_kat_no_reseed kat407_t = { + 1, kat407_entropyin, kat407_nonce, kat407_persstr, + kat407_addin0, kat407_addin1, kat407_retbits +}; +static const struct drbg_kat kat407 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat407_t +}; + +static const unsigned char kat408_entropyin[] = { + 0x81, 0x98, 0x28, 0xbb, 0xcb, 0xc1, 0xd9, 0x5b, 0x72, 0x9e, 0xa4, 0xbd, + 0xe2, 0x7c, 0x4a, 0x78, 0x7f, 0x49, 0xe1, 0x67, 0x0f, 0xf7, 0xa5, 0xa2, +}; +static const unsigned char kat408_nonce[] = { + 0xf8, 0x8a, 0x9c, 0xe0, 0x8c, 0x10, 0x86, 0xa6, 0x5e, 0x49, 0x95, 0x80, + 0x18, 0x62, 0xac, 0xb5, +}; +static const unsigned char kat408_persstr[] = { + 0x7c, 0x63, 0x19, 0xe4, 0x88, 0x82, 0x0f, 0xb9, 0xe0, 0x49, 0x7b, 0x0b, + 0x2d, 0xf4, 0xdd, 0x7d, 0x8e, 0x1b, 0xfb, 0x4c, 0x21, 0xea, 0xd3, 0xaf, + 0x74, 0x47, 0x1c, 0x4d, 0xba, 0x63, 0xf5, 0x97, +}; +static const unsigned char kat408_addin0[] = { + 0x66, 0x4d, 0x25, 0x83, 0x2d, 0x57, 0x30, 0x2f, 0xe8, 0x75, 0xe6, 0xad, + 0xeb, 0xac, 0xfa, 0x82, 0x5f, 0xfe, 0xf3, 0x94, 0xf6, 0x08, 0x56, 0xbc, + 0x21, 0xf7, 0x62, 0x07, 0x4d, 0x34, 0x91, 0x7d, +}; +static const unsigned char kat408_addin1[] = { + 0x2a, 0x6c, 0xfa, 0x71, 0x0e, 0xc9, 0x20, 0x2b, 0x30, 0xe2, 0x76, 0xe1, + 0x8d, 0xb6, 0x99, 0x9e, 0x24, 0x5b, 0x76, 0x89, 0xd3, 0xff, 0x9a, 0xfe, + 0x1a, 0x79, 0x62, 0x72, 0xce, 0x86, 0xfe, 0x4c, +}; +static const unsigned char kat408_retbits[] = { + 0x58, 0x53, 0x4c, 0x9c, 0xaa, 0xae, 0xf5, 0x47, 0xcc, 0x5b, 0x6e, 0x60, + 0x2c, 0x09, 0xa5, 0x2b, 0x04, 0x8c, 0x96, 0xd1, 0xeb, 0x03, 0xc1, 0xa1, + 0x7d, 0x3d, 0x8d, 0xe2, 0xca, 0x86, 0xed, 0xf4, 0x0f, 0xac, 0xd9, 0x9a, + 0x06, 0xcf, 0x8d, 0x22, 0x54, 0xd3, 0xa0, 0x5c, 0xb8, 0x07, 0x1b, 0xf8, + 0x5d, 0x54, 0x14, 0x08, 0x28, 0x01, 0x94, 0x65, 0x0e, 0x5c, 0x77, 0x64, + 0x3b, 0xbc, 0xf8, 0xea, +}; +static const struct drbg_kat_no_reseed kat408_t = { + 2, kat408_entropyin, kat408_nonce, kat408_persstr, + kat408_addin0, kat408_addin1, kat408_retbits +}; +static const struct drbg_kat kat408 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat408_t +}; + +static const unsigned char kat409_entropyin[] = { + 0x0a, 0x48, 0x1e, 0xd8, 0xc9, 0x9e, 0x58, 0xd3, 0x34, 0x61, 0xe0, 0x36, + 0x00, 0xa7, 0xd6, 0x5e, 0x36, 0xea, 0xfa, 0xa3, 0x45, 0xca, 0x07, 0xa8, +}; +static const unsigned char kat409_nonce[] = { + 0x10, 0x8b, 0x19, 0x04, 0x64, 0x8f, 0xae, 0x51, 0x6f, 0x4a, 0x1b, 0x60, + 0xfe, 0xae, 0x9e, 0x8f, +}; +static const unsigned char kat409_persstr[] = { + 0xbf, 0xf9, 0x9f, 0xdd, 0xca, 0x34, 0xd0, 0x8d, 0x77, 0x08, 0x44, 0x00, + 0x30, 0xf9, 0xf4, 0xe7, 0x55, 0x5e, 0x5a, 0xeb, 0x61, 0x60, 0x15, 0xcf, + 0xc8, 0xe6, 0xb8, 0x59, 0x9d, 0xac, 0x91, 0x64, +}; +static const unsigned char kat409_addin0[] = { + 0x9f, 0x8c, 0x91, 0x95, 0xe5, 0x2a, 0xb0, 0x51, 0xeb, 0x94, 0x8f, 0x02, + 0xe5, 0x97, 0x2c, 0x5b, 0xbd, 0xb1, 0xa9, 0x38, 0x4a, 0x27, 0x82, 0xe0, + 0xc8, 0x3a, 0x45, 0xd2, 0x0c, 0x6a, 0x8c, 0xf7, +}; +static const unsigned char kat409_addin1[] = { + 0x88, 0x61, 0x60, 0xff, 0x53, 0x4f, 0x3a, 0x4e, 0xd9, 0x7f, 0x43, 0x38, + 0x67, 0x93, 0xde, 0xc5, 0xaa, 0xb8, 0x6a, 0xe7, 0x7b, 0x30, 0xd1, 0x37, + 0x3b, 0x55, 0x6e, 0x8b, 0xf9, 0x27, 0x72, 0xff, +}; +static const unsigned char kat409_retbits[] = { + 0x41, 0xaa, 0x8a, 0x43, 0x48, 0x0e, 0xe9, 0x7c, 0x72, 0xe3, 0xe0, 0x14, + 0x35, 0xd4, 0xd3, 0x41, 0xf2, 0x31, 0xcd, 0xc5, 0x19, 0xe8, 0x82, 0x5e, + 0x0f, 0x98, 0xfb, 0x63, 0xd7, 0xe9, 0xf7, 0x1b, 0xc4, 0x2c, 0x90, 0xfc, + 0x20, 0x3f, 0xcc, 0x87, 0x5a, 0xb9, 0xe1, 0x1d, 0xbb, 0x40, 0xa3, 0xaa, + 0x9e, 0xaa, 0x6e, 0x1b, 0x01, 0xcf, 0xf5, 0xed, 0x72, 0x65, 0x70, 0x8a, + 0x21, 0x08, 0x29, 0x42, +}; +static const struct drbg_kat_no_reseed kat409_t = { + 3, kat409_entropyin, kat409_nonce, kat409_persstr, + kat409_addin0, kat409_addin1, kat409_retbits +}; +static const struct drbg_kat kat409 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat409_t +}; + +static const unsigned char kat410_entropyin[] = { + 0xe4, 0x1f, 0x2d, 0xe0, 0xaa, 0xc4, 0x0d, 0xd3, 0xae, 0x65, 0x17, 0xfe, + 0xf3, 0xc1, 0x9c, 0x20, 0x48, 0xb4, 0x31, 0xb7, 0x70, 0x4c, 0x60, 0x76, +}; +static const unsigned char kat410_nonce[] = { + 0x14, 0xdc, 0x27, 0xf4, 0x6c, 0xc0, 0xaa, 0x6c, 0x35, 0xf0, 0xa6, 0x60, + 0x85, 0x0b, 0x1f, 0xef, +}; +static const unsigned char kat410_persstr[] = { + 0xde, 0x24, 0xa9, 0xd5, 0x6b, 0x0c, 0x0b, 0xc4, 0xb3, 0xa9, 0x1c, 0x62, + 0x43, 0x24, 0xfc, 0x98, 0xb6, 0xf6, 0x60, 0xc3, 0x0a, 0xd9, 0xc2, 0x04, + 0xa7, 0xb0, 0x2f, 0xee, 0xf6, 0xbf, 0xf0, 0x3e, +}; +static const unsigned char kat410_addin0[] = { + 0xa2, 0x44, 0xcb, 0x28, 0xa1, 0x30, 0xca, 0x53, 0x31, 0xfb, 0x24, 0x11, + 0x63, 0x4b, 0x80, 0x9d, 0x32, 0x40, 0x8e, 0xd7, 0x45, 0xb2, 0xe3, 0x8c, + 0x4b, 0x90, 0x1a, 0x95, 0x5e, 0x1e, 0x24, 0xc3, +}; +static const unsigned char kat410_addin1[] = { + 0xeb, 0xf7, 0xf1, 0x87, 0xad, 0x03, 0xa3, 0x91, 0x33, 0x17, 0x5f, 0xf9, + 0x09, 0x6a, 0x04, 0xb7, 0x2e, 0xfb, 0x0f, 0xfb, 0x09, 0x9d, 0xbf, 0x16, + 0xc5, 0x3d, 0xfb, 0x6f, 0x61, 0x82, 0xe3, 0xbb, +}; +static const unsigned char kat410_retbits[] = { + 0xa0, 0xe7, 0xad, 0xcc, 0x6a, 0x7e, 0x36, 0x65, 0x61, 0x21, 0x17, 0xcf, + 0xc1, 0x56, 0x20, 0xe5, 0x69, 0xad, 0xd3, 0x1c, 0x02, 0x9c, 0x1d, 0xc1, + 0xa7, 0x9f, 0x07, 0x21, 0x23, 0xfc, 0xc5, 0x42, 0xb3, 0x97, 0xa2, 0xe7, + 0x04, 0x4a, 0x98, 0x3d, 0xaf, 0xe3, 0x62, 0x80, 0x59, 0x85, 0xff, 0xc1, + 0x64, 0xff, 0x83, 0xc5, 0x68, 0x21, 0xa9, 0x2e, 0xcd, 0xa3, 0x31, 0x55, + 0x1a, 0xa7, 0xf7, 0xb9, +}; +static const struct drbg_kat_no_reseed kat410_t = { + 4, kat410_entropyin, kat410_nonce, kat410_persstr, + kat410_addin0, kat410_addin1, kat410_retbits +}; +static const struct drbg_kat kat410 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat410_t +}; + +static const unsigned char kat411_entropyin[] = { + 0x4b, 0x55, 0xf7, 0xfb, 0xed, 0x3b, 0xab, 0x6e, 0x29, 0xeb, 0xbb, 0xc5, + 0x76, 0x85, 0x3e, 0xac, 0x83, 0xc9, 0x3e, 0x02, 0xac, 0xd6, 0x44, 0x2d, +}; +static const unsigned char kat411_nonce[] = { + 0x5e, 0x4c, 0xa3, 0xe9, 0xf8, 0x0a, 0x16, 0xf5, 0x78, 0xab, 0x7d, 0x63, + 0x30, 0x1a, 0x52, 0x8a, +}; +static const unsigned char kat411_persstr[] = { + 0xf4, 0xd4, 0x11, 0x07, 0x0a, 0x57, 0xe6, 0x0a, 0x17, 0xa6, 0x63, 0xbd, + 0x78, 0xec, 0x27, 0x25, 0xb7, 0x80, 0xcc, 0xa2, 0x81, 0x47, 0x61, 0x29, + 0x51, 0x98, 0x8c, 0x15, 0x2f, 0x2e, 0x27, 0x9f, +}; +static const unsigned char kat411_addin0[] = { + 0x94, 0x99, 0xe3, 0x50, 0x4d, 0x86, 0x38, 0x04, 0x28, 0x0e, 0x32, 0x72, + 0x08, 0x93, 0xb8, 0xe5, 0xe7, 0x3e, 0x39, 0x62, 0x59, 0x1e, 0xc6, 0xd8, + 0x34, 0xb4, 0x97, 0x42, 0x38, 0x90, 0xbe, 0xc6, +}; +static const unsigned char kat411_addin1[] = { + 0x24, 0x88, 0xbf, 0x77, 0x3c, 0x15, 0x3d, 0x85, 0x4c, 0x2b, 0x72, 0xa0, + 0x21, 0x91, 0x57, 0x92, 0x64, 0xf7, 0x84, 0xc2, 0x9a, 0x50, 0x9e, 0x0c, + 0x4e, 0xc1, 0x97, 0x46, 0xca, 0x98, 0x48, 0xa0, +}; +static const unsigned char kat411_retbits[] = { + 0x7d, 0x1a, 0xa3, 0x30, 0xdf, 0xcf, 0xac, 0x15, 0x7a, 0xf9, 0x1e, 0x67, + 0x52, 0x12, 0x9c, 0x3e, 0xc8, 0x02, 0x9b, 0xf8, 0xad, 0x54, 0x37, 0xc4, + 0xc0, 0x14, 0x40, 0x62, 0x48, 0x10, 0x2c, 0x0c, 0xe0, 0x95, 0xb6, 0xb2, + 0x7f, 0x25, 0x2a, 0xe3, 0x12, 0xf4, 0x9f, 0x11, 0x98, 0x5e, 0x67, 0x3d, + 0x9c, 0xc7, 0xb2, 0xac, 0x18, 0x1a, 0x30, 0x44, 0xdc, 0x0f, 0xb5, 0xe6, + 0xad, 0x7a, 0x1d, 0x6a, +}; +static const struct drbg_kat_no_reseed kat411_t = { + 5, kat411_entropyin, kat411_nonce, kat411_persstr, + kat411_addin0, kat411_addin1, kat411_retbits +}; +static const struct drbg_kat kat411 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat411_t +}; + +static const unsigned char kat412_entropyin[] = { + 0xd5, 0xac, 0x19, 0x5a, 0x47, 0x31, 0x4d, 0x9f, 0x10, 0x5b, 0x29, 0x18, + 0x7d, 0x28, 0x3c, 0x6d, 0x24, 0xc4, 0x4c, 0x70, 0x54, 0x00, 0x64, 0x1d, +}; +static const unsigned char kat412_nonce[] = { + 0xea, 0x92, 0xb7, 0x3e, 0xfc, 0x54, 0x31, 0xad, 0xd6, 0xca, 0x2a, 0xe8, + 0x7d, 0x9b, 0xaa, 0x31, +}; +static const unsigned char kat412_persstr[] = { + 0x6e, 0x2b, 0x85, 0x89, 0xc4, 0x90, 0xe0, 0x48, 0x41, 0x3f, 0x0d, 0x88, + 0xc5, 0x51, 0x04, 0x7e, 0x3d, 0xe7, 0xff, 0xc7, 0xcf, 0x43, 0xdc, 0x9d, + 0x35, 0xdb, 0x93, 0x27, 0xb3, 0x5a, 0xb9, 0x70, +}; +static const unsigned char kat412_addin0[] = { + 0x51, 0xed, 0x74, 0xbd, 0xd7, 0x55, 0x85, 0xc2, 0x14, 0x5c, 0xc2, 0x38, + 0x48, 0x62, 0xf3, 0x4e, 0xd0, 0xb4, 0x0c, 0x30, 0x44, 0xac, 0x60, 0x48, + 0x7e, 0xe1, 0x0b, 0xef, 0xaf, 0xd5, 0xb1, 0x6b, +}; +static const unsigned char kat412_addin1[] = { + 0x89, 0x4a, 0xa5, 0x0d, 0x05, 0xa4, 0x0e, 0x5b, 0xff, 0x48, 0x14, 0xe7, + 0x56, 0x86, 0xe3, 0x42, 0x00, 0x4a, 0x66, 0x0e, 0x2e, 0x4d, 0xc7, 0x36, + 0x3e, 0xd7, 0x28, 0x88, 0xb7, 0x92, 0xc0, 0xc5, +}; +static const unsigned char kat412_retbits[] = { + 0xcc, 0x3c, 0xe3, 0x94, 0xcb, 0x02, 0x5b, 0xcf, 0xf4, 0x36, 0xe6, 0xa6, + 0xc2, 0xf8, 0x03, 0x76, 0x7e, 0xa8, 0xed, 0xff, 0x89, 0x05, 0xa2, 0x3b, + 0xe4, 0x23, 0x9e, 0x64, 0xc2, 0x82, 0x6e, 0x54, 0xbe, 0xe2, 0xea, 0xb1, + 0xb1, 0x4f, 0xe4, 0x4a, 0x68, 0x2d, 0x15, 0x13, 0xc4, 0x05, 0x3b, 0x2e, + 0x46, 0x99, 0xb1, 0x8a, 0xd1, 0xc3, 0xc2, 0x5e, 0xf1, 0xa5, 0xe4, 0x22, + 0x73, 0x0a, 0xca, 0xfd, +}; +static const struct drbg_kat_no_reseed kat412_t = { + 6, kat412_entropyin, kat412_nonce, kat412_persstr, + kat412_addin0, kat412_addin1, kat412_retbits +}; +static const struct drbg_kat kat412 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat412_t +}; + +static const unsigned char kat413_entropyin[] = { + 0x8b, 0x5d, 0xd1, 0xe8, 0x9f, 0xa9, 0x7c, 0x9d, 0x08, 0x4f, 0x27, 0x7e, + 0x2e, 0xc5, 0x83, 0xbb, 0x30, 0x5c, 0x6b, 0x4d, 0x07, 0x37, 0xd7, 0xcf, +}; +static const unsigned char kat413_nonce[] = { + 0x15, 0xab, 0x99, 0xd1, 0x5e, 0xa1, 0x12, 0x81, 0xd0, 0xfd, 0xcf, 0xd7, + 0x44, 0xf9, 0x64, 0xd0, +}; +static const unsigned char kat413_persstr[] = { + 0xc2, 0xbf, 0x9e, 0x13, 0xb3, 0xb7, 0x10, 0x94, 0xea, 0x1a, 0x84, 0xa4, + 0x36, 0xa0, 0xce, 0x25, 0xe5, 0x32, 0xc2, 0xa5, 0xd9, 0xe6, 0x23, 0x12, + 0xf9, 0x67, 0xf4, 0xfd, 0x06, 0x20, 0x4d, 0x13, +}; +static const unsigned char kat413_addin0[] = { + 0xfe, 0x60, 0xba, 0x40, 0x6b, 0xf6, 0x37, 0x84, 0xa0, 0xf8, 0x01, 0x9c, + 0x8f, 0x62, 0xe5, 0x25, 0xf2, 0xb8, 0x44, 0x47, 0xb9, 0x7d, 0x85, 0x87, + 0xda, 0xcd, 0x67, 0xb6, 0x90, 0xb3, 0xd8, 0xa8, +}; +static const unsigned char kat413_addin1[] = { + 0x49, 0x8d, 0xec, 0x11, 0xe7, 0xcd, 0x55, 0x6a, 0x12, 0x07, 0xdc, 0x37, + 0x9c, 0x03, 0x13, 0x8e, 0xf6, 0x80, 0xba, 0x56, 0x99, 0xe4, 0x68, 0x66, + 0xa3, 0x97, 0xf1, 0xf4, 0xb9, 0x10, 0xb2, 0xe2, +}; +static const unsigned char kat413_retbits[] = { + 0xca, 0xd4, 0x22, 0x4e, 0x71, 0x77, 0xaf, 0xe9, 0xf6, 0x84, 0x96, 0xb7, + 0xde, 0x52, 0x37, 0x6d, 0x8e, 0x71, 0x80, 0x7b, 0x2b, 0x3a, 0xf4, 0xe9, + 0x7e, 0x81, 0x85, 0xf5, 0xbe, 0x91, 0x2f, 0x85, 0xd3, 0x3d, 0xda, 0x07, + 0xee, 0x48, 0x99, 0x3f, 0x22, 0x3e, 0x4b, 0xd9, 0x4d, 0x1a, 0x45, 0xea, + 0xa2, 0x74, 0x44, 0x8e, 0xa7, 0x39, 0x59, 0x86, 0x01, 0x63, 0x16, 0x94, + 0x39, 0xa2, 0x5a, 0xa6, +}; +static const struct drbg_kat_no_reseed kat413_t = { + 7, kat413_entropyin, kat413_nonce, kat413_persstr, + kat413_addin0, kat413_addin1, kat413_retbits +}; +static const struct drbg_kat kat413 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat413_t +}; + +static const unsigned char kat414_entropyin[] = { + 0x78, 0xd2, 0xe9, 0x21, 0x65, 0x6d, 0xb1, 0x69, 0x8d, 0xcf, 0xd2, 0xbb, + 0x94, 0xe9, 0x48, 0xac, 0xb7, 0x59, 0xff, 0xd2, 0xc4, 0xfb, 0xa7, 0x28, +}; +static const unsigned char kat414_nonce[] = { + 0x31, 0xe2, 0x0d, 0xc0, 0xf8, 0x61, 0x42, 0x7e, 0x78, 0xe0, 0xc4, 0xa3, + 0x06, 0x59, 0x64, 0xcf, +}; +static const unsigned char kat414_persstr[] = { + 0x70, 0xa5, 0xbe, 0x6e, 0xb4, 0xd2, 0xde, 0xbd, 0x0b, 0xce, 0x7f, 0x02, + 0x7c, 0x08, 0xa6, 0x1e, 0x66, 0x5a, 0x0c, 0xfd, 0xe3, 0xe1, 0xb9, 0xa8, + 0x6d, 0xb8, 0x5a, 0x92, 0x30, 0x47, 0xcf, 0xb5, +}; +static const unsigned char kat414_addin0[] = { + 0x0a, 0x20, 0x43, 0x22, 0xf4, 0x4c, 0x4e, 0x83, 0x23, 0x37, 0xf7, 0x40, + 0xa7, 0xcc, 0xba, 0xbc, 0xef, 0xda, 0x2f, 0xfa, 0x21, 0xc5, 0x11, 0x11, + 0x2a, 0xd5, 0x23, 0x0c, 0x41, 0x10, 0x9f, 0x67, +}; +static const unsigned char kat414_addin1[] = { + 0x33, 0x02, 0xb3, 0x31, 0x5f, 0x17, 0x64, 0x27, 0xe9, 0x12, 0x2a, 0x08, + 0xc9, 0x82, 0xd6, 0xa9, 0x33, 0x5c, 0xe9, 0x6f, 0x0d, 0x24, 0x26, 0xbc, + 0xe3, 0x82, 0x01, 0x7d, 0xf2, 0xfb, 0x9e, 0x9f, +}; +static const unsigned char kat414_retbits[] = { + 0xef, 0x96, 0xc7, 0x56, 0x99, 0xd6, 0x8e, 0xc0, 0x5e, 0xde, 0x3a, 0xc6, + 0x20, 0x54, 0xd8, 0xae, 0xc3, 0xfa, 0xb4, 0x4c, 0x06, 0x4a, 0xd6, 0x33, + 0x83, 0x73, 0x7a, 0x83, 0xe9, 0xc6, 0xd8, 0xaf, 0x3d, 0x61, 0xf2, 0xb8, + 0xd0, 0x81, 0xf2, 0xf8, 0x2f, 0x23, 0xbf, 0x3a, 0x82, 0x97, 0x60, 0x90, + 0x61, 0x81, 0x65, 0x98, 0xc5, 0xbf, 0x55, 0x01, 0x3a, 0xb4, 0xd2, 0x26, + 0x36, 0x0a, 0x7c, 0x2b, +}; +static const struct drbg_kat_no_reseed kat414_t = { + 8, kat414_entropyin, kat414_nonce, kat414_persstr, + kat414_addin0, kat414_addin1, kat414_retbits +}; +static const struct drbg_kat kat414 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat414_t +}; + +static const unsigned char kat415_entropyin[] = { + 0xa5, 0x60, 0x03, 0x7e, 0x96, 0xbb, 0x5b, 0x76, 0xbc, 0xc8, 0x1e, 0xe6, + 0xfd, 0x12, 0x7e, 0x25, 0xba, 0xc8, 0x9d, 0xdc, 0xa7, 0x1d, 0xd9, 0x41, +}; +static const unsigned char kat415_nonce[] = { + 0x6a, 0x1a, 0xe2, 0x07, 0x02, 0xa1, 0xf2, 0x9d, 0xb6, 0x58, 0xe5, 0xf2, + 0xb2, 0x47, 0x6e, 0xfc, +}; +static const unsigned char kat415_persstr[] = { + 0xdb, 0xc9, 0x3a, 0x3b, 0x72, 0xaa, 0x98, 0x90, 0xc0, 0x56, 0x76, 0x08, + 0x67, 0xa9, 0xd2, 0x56, 0xcd, 0x13, 0xee, 0x44, 0xdd, 0x76, 0x84, 0x47, + 0xd0, 0x68, 0x39, 0xd7, 0xc2, 0xfd, 0xf5, 0x94, +}; +static const unsigned char kat415_addin0[] = { + 0x51, 0xd1, 0xf7, 0xaa, 0x0d, 0x55, 0x10, 0x79, 0xdb, 0x5c, 0x94, 0x2f, + 0xb9, 0x19, 0x9b, 0x11, 0xdd, 0xc1, 0x59, 0x73, 0x7f, 0xdc, 0xf8, 0x26, + 0x29, 0xe0, 0xe8, 0x2b, 0xc1, 0xed, 0x28, 0xe6, +}; +static const unsigned char kat415_addin1[] = { + 0x73, 0x38, 0x86, 0xbf, 0xed, 0x59, 0xcf, 0xac, 0x56, 0x23, 0xe4, 0x1a, + 0x81, 0x89, 0x78, 0x0a, 0x3b, 0x24, 0x8e, 0xfd, 0x7b, 0xd4, 0xe1, 0x44, + 0x94, 0xec, 0x7d, 0x79, 0x3d, 0xb0, 0x62, 0x85, +}; +static const unsigned char kat415_retbits[] = { + 0x0d, 0xb2, 0x95, 0x41, 0x85, 0x35, 0xa4, 0xbe, 0x1a, 0x05, 0x7e, 0xfb, + 0x85, 0xdc, 0x48, 0xd2, 0x9c, 0x73, 0xb7, 0x9f, 0x11, 0x3e, 0x9e, 0x4c, + 0x62, 0x4f, 0x42, 0x16, 0xa9, 0x2d, 0x8d, 0xf7, 0xb2, 0x2c, 0xf3, 0x8d, + 0xa8, 0x15, 0x63, 0x46, 0xfb, 0x5c, 0x01, 0x53, 0x71, 0x16, 0x56, 0xba, + 0x08, 0x20, 0x8a, 0x33, 0x39, 0x9c, 0x9a, 0x2d, 0x45, 0xe7, 0x6c, 0x09, + 0x50, 0x0d, 0x59, 0xe9, +}; +static const struct drbg_kat_no_reseed kat415_t = { + 9, kat415_entropyin, kat415_nonce, kat415_persstr, + kat415_addin0, kat415_addin1, kat415_retbits +}; +static const struct drbg_kat kat415 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat415_t +}; + +static const unsigned char kat416_entropyin[] = { + 0x9d, 0x57, 0x3e, 0xc9, 0x20, 0x5c, 0x17, 0x65, 0xd0, 0x04, 0x83, 0xff, + 0xa3, 0x6d, 0xea, 0x87, 0x38, 0x92, 0x88, 0xe5, 0x54, 0xf8, 0x43, 0x5b, +}; +static const unsigned char kat416_nonce[] = { + 0x73, 0xa1, 0x75, 0xb5, 0xab, 0xa2, 0xb3, 0x65, 0xd4, 0x54, 0xe0, 0xe8, + 0x91, 0xb5, 0x4c, 0x48, +}; +static const unsigned char kat416_persstr[] = { + 0x35, 0xdc, 0xa1, 0x49, 0xa7, 0x9b, 0x6e, 0x45, 0xe3, 0xf1, 0xdd, 0x16, + 0xb5, 0xc5, 0x55, 0xe8, 0x9f, 0x1b, 0x1c, 0xe3, 0x5d, 0x50, 0xcf, 0x3f, + 0x9f, 0xc0, 0x06, 0x26, 0x5d, 0x46, 0x4a, 0xc2, +}; +static const unsigned char kat416_addin0[] = { + 0xf6, 0xcd, 0x2e, 0x99, 0x70, 0x50, 0x15, 0x87, 0x11, 0x26, 0x7d, 0xbf, + 0x2f, 0xd3, 0xdd, 0x4d, 0xe3, 0x37, 0xc4, 0xce, 0x1a, 0x13, 0x01, 0x41, + 0xc9, 0x4c, 0x02, 0xa8, 0xa6, 0x1a, 0x29, 0xc5, +}; +static const unsigned char kat416_addin1[] = { + 0x45, 0x41, 0xd1, 0x9c, 0x8e, 0x93, 0x03, 0x4e, 0x61, 0xcf, 0x42, 0x65, + 0xab, 0x80, 0xf4, 0x1f, 0x95, 0x45, 0x23, 0xef, 0x58, 0x9c, 0xd0, 0x15, + 0x45, 0x5d, 0x4e, 0x69, 0x91, 0x9b, 0xa0, 0xfd, +}; +static const unsigned char kat416_retbits[] = { + 0xcc, 0x14, 0x02, 0x9c, 0xac, 0x4f, 0x41, 0x79, 0xd2, 0x05, 0x61, 0xa8, + 0x9d, 0xef, 0xf9, 0x94, 0xb1, 0x32, 0xf7, 0x63, 0x21, 0x2f, 0x28, 0xda, + 0x1c, 0x4b, 0xbc, 0xac, 0x38, 0x68, 0xbd, 0xe0, 0xa7, 0x66, 0xac, 0xd1, + 0x00, 0xb0, 0xea, 0xdd, 0x7f, 0x4c, 0x47, 0xe4, 0x2a, 0x4d, 0x68, 0x2b, + 0xf1, 0xce, 0xec, 0xf6, 0x21, 0xb4, 0xbd, 0x5a, 0xaa, 0xb6, 0x8e, 0x04, + 0x6c, 0xa5, 0xd7, 0x4b, +}; +static const struct drbg_kat_no_reseed kat416_t = { + 10, kat416_entropyin, kat416_nonce, kat416_persstr, + kat416_addin0, kat416_addin1, kat416_retbits +}; +static const struct drbg_kat kat416 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat416_t +}; + +static const unsigned char kat417_entropyin[] = { + 0xb8, 0x1a, 0xc1, 0x61, 0xf0, 0x41, 0x97, 0x73, 0x3b, 0xd1, 0xbb, 0xaf, + 0x9e, 0xda, 0x79, 0xee, 0x51, 0xa8, 0x61, 0xf8, 0x0b, 0xd8, 0xc1, 0x2d, +}; +static const unsigned char kat417_nonce[] = { + 0x5c, 0x9e, 0x5f, 0xcf, 0x06, 0x2d, 0xe1, 0x14, 0x52, 0x3f, 0x55, 0x4b, + 0x64, 0xc9, 0x35, 0xeb, +}; +static const unsigned char kat417_persstr[] = { + 0x6f, 0xb5, 0xf7, 0x5a, 0x56, 0x31, 0x93, 0x08, 0x4e, 0x96, 0xed, 0x39, + 0x4e, 0x69, 0x61, 0x81, 0x88, 0x5b, 0xb2, 0xbc, 0x7b, 0x63, 0x56, 0x22, + 0x66, 0xdc, 0x4b, 0x97, 0x99, 0x9d, 0x25, 0xd8, +}; +static const unsigned char kat417_addin0[] = { + 0xfd, 0x53, 0xb9, 0x23, 0x44, 0x4f, 0x97, 0x58, 0x6b, 0xec, 0x15, 0x50, + 0xa7, 0x4f, 0x36, 0x6c, 0xa9, 0x28, 0xbf, 0xb7, 0xab, 0xf6, 0xd1, 0xcf, + 0xe2, 0x44, 0xc2, 0x5b, 0x3a, 0xd9, 0x5f, 0xb7, +}; +static const unsigned char kat417_addin1[] = { + 0xaf, 0x46, 0xc2, 0x6d, 0xb8, 0x46, 0xbf, 0x6e, 0x9e, 0x82, 0xb0, 0xe8, + 0x68, 0x2d, 0x0b, 0x4e, 0xe8, 0x72, 0x8c, 0x76, 0xb5, 0x26, 0x48, 0xe3, + 0xfc, 0xca, 0x0d, 0xa8, 0x82, 0x22, 0xe5, 0xe7, +}; +static const unsigned char kat417_retbits[] = { + 0xc6, 0x62, 0x0e, 0x78, 0x0d, 0x72, 0x3d, 0xb4, 0x54, 0xea, 0xc8, 0x25, + 0xd1, 0x21, 0x81, 0x4b, 0xaa, 0x55, 0xf2, 0x1a, 0x9a, 0xe8, 0xae, 0x59, + 0x7c, 0xd0, 0x27, 0xc5, 0xcb, 0x13, 0xdc, 0x40, 0x72, 0xaa, 0xec, 0xbc, + 0xb4, 0x78, 0xdd, 0xca, 0x61, 0x22, 0x18, 0x6d, 0xd4, 0x7f, 0x90, 0x43, + 0xd2, 0x82, 0x8b, 0x5a, 0xf8, 0x5d, 0x01, 0x1b, 0xcf, 0xb9, 0x9d, 0x58, + 0x8b, 0x0c, 0x7b, 0xcd, +}; +static const struct drbg_kat_no_reseed kat417_t = { + 11, kat417_entropyin, kat417_nonce, kat417_persstr, + kat417_addin0, kat417_addin1, kat417_retbits +}; +static const struct drbg_kat kat417 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat417_t +}; + +static const unsigned char kat418_entropyin[] = { + 0x39, 0xdf, 0x42, 0x18, 0xbf, 0xf3, 0x1d, 0xd0, 0x10, 0x85, 0x96, 0x9a, + 0xb9, 0xf4, 0x81, 0x88, 0xb0, 0x11, 0x2e, 0xef, 0x75, 0x9e, 0xbc, 0x4e, +}; +static const unsigned char kat418_nonce[] = { + 0x3e, 0x34, 0x41, 0xc2, 0x96, 0x66, 0xa5, 0xbd, 0x31, 0x37, 0xa3, 0x0c, + 0x6d, 0x05, 0x05, 0x3e, +}; +static const unsigned char kat418_persstr[] = { + 0xd3, 0x82, 0xb3, 0xd6, 0x57, 0x73, 0xa9, 0xd6, 0x38, 0xfa, 0x83, 0x77, + 0xd9, 0xc0, 0x95, 0xa6, 0x7a, 0xb3, 0x36, 0xc5, 0x5d, 0xfd, 0xb8, 0x5d, + 0x45, 0x70, 0x31, 0x05, 0x85, 0x71, 0xc5, 0x72, +}; +static const unsigned char kat418_addin0[] = { + 0xbd, 0xcd, 0xa7, 0xac, 0x59, 0x0a, 0x56, 0xc1, 0x50, 0xca, 0x85, 0x80, + 0x55, 0x29, 0x9c, 0x63, 0x86, 0x12, 0xfe, 0x04, 0x57, 0xc1, 0x8f, 0xbd, + 0x5a, 0x92, 0x04, 0x5f, 0x32, 0x58, 0x71, 0x95, +}; +static const unsigned char kat418_addin1[] = { + 0xf4, 0x70, 0x51, 0xf2, 0xc2, 0x9a, 0xbc, 0xf5, 0x7a, 0xf9, 0x23, 0xf1, + 0xe0, 0x8c, 0x22, 0x85, 0x88, 0x06, 0xda, 0x9c, 0xfe, 0x14, 0x27, 0x57, + 0x21, 0x50, 0x20, 0xba, 0x67, 0x63, 0x80, 0x95, +}; +static const unsigned char kat418_retbits[] = { + 0x1a, 0xa4, 0x1b, 0x4b, 0x31, 0x42, 0xd6, 0x11, 0xec, 0x62, 0x27, 0x62, + 0x42, 0xe7, 0x2a, 0x84, 0x0f, 0x82, 0xf5, 0x5e, 0x22, 0xa7, 0xc9, 0xd3, + 0xa3, 0x40, 0xa9, 0x3b, 0x43, 0x64, 0x8d, 0xa7, 0x5d, 0xd7, 0x3c, 0xae, + 0x3d, 0xc6, 0xa6, 0x0c, 0x9d, 0x59, 0x6c, 0x72, 0x3f, 0xf8, 0xd2, 0xf8, + 0xac, 0x6e, 0x6e, 0x23, 0x18, 0x32, 0xfd, 0x29, 0x7b, 0x54, 0xf3, 0xd8, + 0xd5, 0x89, 0xfe, 0xe8, +}; +static const struct drbg_kat_no_reseed kat418_t = { + 12, kat418_entropyin, kat418_nonce, kat418_persstr, + kat418_addin0, kat418_addin1, kat418_retbits +}; +static const struct drbg_kat kat418 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat418_t +}; + +static const unsigned char kat419_entropyin[] = { + 0x7d, 0x8c, 0x64, 0x8e, 0xf9, 0x6f, 0xbe, 0xc0, 0xf8, 0x17, 0x9a, 0xce, + 0xcc, 0x55, 0x56, 0x9d, 0x3b, 0xf4, 0x56, 0xce, 0x3b, 0xb2, 0xcf, 0x73, +}; +static const unsigned char kat419_nonce[] = { + 0x78, 0x18, 0x93, 0xf4, 0xf3, 0xf3, 0x6b, 0x0d, 0x92, 0xd3, 0xb1, 0xac, + 0xe6, 0xd5, 0x05, 0xa3, +}; +static const unsigned char kat419_persstr[] = { + 0x80, 0x0f, 0xef, 0x9c, 0xac, 0xf3, 0xf9, 0x1c, 0x04, 0x39, 0x6a, 0x52, + 0xc7, 0xd3, 0xee, 0x6c, 0x64, 0x78, 0x91, 0x16, 0x0e, 0x35, 0x01, 0x0a, + 0x4f, 0xd5, 0x02, 0xe5, 0x1d, 0x6d, 0xd6, 0x2c, +}; +static const unsigned char kat419_addin0[] = { + 0x0f, 0x60, 0x97, 0x74, 0xdb, 0xb0, 0xbb, 0x50, 0x57, 0x12, 0x27, 0x38, + 0xd8, 0xf7, 0x66, 0x56, 0xb1, 0xb7, 0x05, 0xc4, 0xe4, 0x47, 0xb0, 0x0b, + 0x7d, 0xf8, 0x4c, 0xa2, 0x9f, 0xf8, 0x15, 0xe2, +}; +static const unsigned char kat419_addin1[] = { + 0x9e, 0x7d, 0x9c, 0xed, 0x55, 0x0e, 0x42, 0x79, 0x90, 0xc3, 0xe2, 0x36, + 0xb7, 0x48, 0xb9, 0xd8, 0xb1, 0x90, 0xaa, 0xe4, 0x10, 0x70, 0x01, 0x5e, + 0xb2, 0x36, 0x97, 0x4b, 0x53, 0x4f, 0x0e, 0x25, +}; +static const unsigned char kat419_retbits[] = { + 0x3b, 0xd0, 0x3c, 0x79, 0xf0, 0x36, 0x87, 0x99, 0x9b, 0x14, 0x7f, 0x39, + 0xc8, 0x79, 0xfc, 0x7c, 0x0d, 0x34, 0xd0, 0x04, 0x44, 0x5d, 0x75, 0xc7, + 0x15, 0x98, 0xff, 0xd5, 0x5e, 0x3f, 0xc5, 0x5c, 0x0e, 0x17, 0x33, 0x18, + 0x26, 0xac, 0x7d, 0xee, 0x4a, 0x8e, 0x6b, 0xa7, 0x98, 0x6f, 0x1d, 0x5c, + 0x84, 0x8c, 0x36, 0x36, 0x62, 0x8f, 0x4d, 0xbf, 0x9e, 0x67, 0xbe, 0xa5, + 0x72, 0x37, 0xd8, 0x86, +}; +static const struct drbg_kat_no_reseed kat419_t = { + 13, kat419_entropyin, kat419_nonce, kat419_persstr, + kat419_addin0, kat419_addin1, kat419_retbits +}; +static const struct drbg_kat kat419 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat419_t +}; + +static const unsigned char kat420_entropyin[] = { + 0x57, 0x45, 0xb2, 0x30, 0x14, 0x84, 0x54, 0xda, 0x9c, 0x4d, 0xd1, 0x2c, + 0xe1, 0xde, 0xdb, 0x5b, 0x14, 0x8f, 0x5b, 0xbe, 0x44, 0x56, 0x80, 0xc7, +}; +static const unsigned char kat420_nonce[] = { + 0x73, 0x8a, 0xb9, 0x6e, 0x37, 0xad, 0x97, 0x1b, 0x7f, 0x5a, 0x38, 0x70, + 0x38, 0x3f, 0xc1, 0x72, +}; +static const unsigned char kat420_persstr[] = { + 0x4d, 0xd3, 0x59, 0x3e, 0x0f, 0xa4, 0x94, 0xbf, 0xda, 0x36, 0x5b, 0x5f, + 0xc4, 0xe5, 0x48, 0x28, 0x01, 0xe5, 0xc3, 0x99, 0xa6, 0x5f, 0xc6, 0x98, + 0x62, 0x49, 0xbf, 0xd9, 0x4b, 0xe7, 0xb5, 0xa6, +}; +static const unsigned char kat420_addin0[] = { + 0x80, 0xc1, 0xe2, 0xbb, 0x60, 0xd2, 0x2c, 0x8c, 0xe4, 0x4a, 0x2a, 0xbb, + 0x7a, 0x19, 0xdd, 0x60, 0xed, 0x6a, 0x38, 0x09, 0x8f, 0x2b, 0x09, 0x84, + 0x59, 0x71, 0x6a, 0xee, 0xf2, 0x47, 0x4e, 0xad, +}; +static const unsigned char kat420_addin1[] = { + 0xc9, 0x6c, 0xf9, 0x96, 0xb2, 0xe9, 0xce, 0xb9, 0xa5, 0x78, 0x23, 0x80, + 0x0f, 0x89, 0x0c, 0x8c, 0xcf, 0xea, 0xfa, 0xc7, 0x9c, 0x96, 0x95, 0xca, + 0x21, 0xf0, 0xbb, 0x6f, 0x6f, 0xcf, 0x97, 0xa7, +}; +static const unsigned char kat420_retbits[] = { + 0x8a, 0x7a, 0x6d, 0x38, 0x3f, 0x34, 0x4a, 0xd7, 0x17, 0xda, 0x7c, 0x04, + 0x4d, 0x94, 0x77, 0xe8, 0x14, 0x33, 0xe0, 0x4d, 0x3b, 0x9a, 0xe4, 0x33, + 0x4e, 0xce, 0x15, 0xe1, 0x0d, 0x7d, 0xfa, 0xa1, 0xca, 0xc7, 0x9d, 0xed, + 0x51, 0x7a, 0xb3, 0xe2, 0x4c, 0xf1, 0xd3, 0x1d, 0x34, 0x05, 0x90, 0x74, + 0x5f, 0xea, 0x2e, 0xef, 0x91, 0x53, 0x20, 0x4c, 0x12, 0x09, 0x43, 0x75, + 0xbb, 0x3c, 0x4e, 0xfa, +}; +static const struct drbg_kat_no_reseed kat420_t = { + 14, kat420_entropyin, kat420_nonce, kat420_persstr, + kat420_addin0, kat420_addin1, kat420_retbits +}; +static const struct drbg_kat kat420 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat420_t +}; + +static const unsigned char kat421_entropyin[] = { + 0xab, 0x85, 0x43, 0x81, 0x85, 0x45, 0x57, 0x3c, 0xa2, 0x17, 0xce, 0x4b, + 0x84, 0x4b, 0x9c, 0x39, 0x66, 0x70, 0x36, 0x20, 0x78, 0x4f, 0x1e, 0xec, +}; +static const unsigned char kat421_nonce[] = { + 0x4d, 0x1a, 0xb7, 0x1f, 0x18, 0x24, 0x56, 0x0a, 0xf0, 0xde, 0xb8, 0x65, + 0xba, 0x4b, 0x66, 0x20, +}; +static const unsigned char kat421_persstr[] = {0}; +static const unsigned char kat421_addin0[] = {0}; +static const unsigned char kat421_addin1[] = {0}; +static const unsigned char kat421_retbits[] = { + 0xcd, 0xd9, 0xab, 0xe9, 0x52, 0x6b, 0xc9, 0x18, 0x0c, 0xf6, 0x4b, 0xa2, + 0x67, 0x9d, 0x4c, 0x10, 0x1a, 0x5a, 0x8b, 0x52, 0x44, 0xf9, 0x32, 0x2a, + 0xff, 0x8a, 0x92, 0xed, 0x1d, 0x48, 0xa7, 0x7c, 0xe2, 0x0e, 0x39, 0xd1, + 0x91, 0x5e, 0x9a, 0x52, 0x75, 0xe8, 0xa1, 0xfe, 0x7a, 0x5a, 0xa8, 0xa2, + 0x8b, 0x06, 0x42, 0xda, 0xae, 0x9a, 0x70, 0xdc, 0x9e, 0xe4, 0xea, 0x76, + 0xac, 0x03, 0x82, 0x74, +}; +static const struct drbg_kat_no_reseed kat421_t = { + 0, kat421_entropyin, kat421_nonce, kat421_persstr, + kat421_addin0, kat421_addin1, kat421_retbits +}; +static const struct drbg_kat kat421 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat421_t +}; + +static const unsigned char kat422_entropyin[] = { + 0x20, 0xb0, 0x1e, 0x96, 0x04, 0xd2, 0x63, 0x26, 0xb8, 0x6c, 0x4b, 0xb2, + 0x2b, 0x6c, 0x8b, 0x97, 0x4e, 0x2a, 0x42, 0xf5, 0xcb, 0x92, 0x04, 0xef, +}; +static const unsigned char kat422_nonce[] = { + 0x9f, 0x9d, 0x96, 0xd1, 0x25, 0x01, 0x07, 0x69, 0x45, 0x65, 0xf5, 0x0e, + 0xf0, 0x5e, 0xe2, 0xd9, +}; +static const unsigned char kat422_persstr[] = {0}; +static const unsigned char kat422_addin0[] = {0}; +static const unsigned char kat422_addin1[] = {0}; +static const unsigned char kat422_retbits[] = { + 0x8c, 0x50, 0xe7, 0x36, 0x58, 0x38, 0x94, 0x89, 0x10, 0x32, 0xe5, 0xc3, + 0xa4, 0xf5, 0x09, 0x85, 0x44, 0x63, 0x68, 0x7c, 0xd1, 0xa4, 0xd1, 0x0b, + 0x77, 0x76, 0x0b, 0xbb, 0xea, 0xc8, 0x3b, 0xc7, 0xd9, 0xb6, 0x00, 0xaa, + 0x2f, 0xd3, 0xb1, 0xc2, 0x42, 0x10, 0xba, 0x25, 0xe2, 0x16, 0xec, 0x40, + 0x19, 0xaa, 0x7f, 0x75, 0xb7, 0x4d, 0x50, 0x6b, 0xa0, 0x91, 0x3f, 0xaa, + 0xab, 0xd0, 0x11, 0xbb, +}; +static const struct drbg_kat_no_reseed kat422_t = { + 1, kat422_entropyin, kat422_nonce, kat422_persstr, + kat422_addin0, kat422_addin1, kat422_retbits +}; +static const struct drbg_kat kat422 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat422_t +}; + +static const unsigned char kat423_entropyin[] = { + 0xd3, 0xed, 0x0d, 0x0b, 0xb5, 0x00, 0xf7, 0x35, 0xba, 0x08, 0x96, 0xc5, + 0x1f, 0x72, 0x34, 0xd5, 0x7f, 0x32, 0x98, 0xab, 0x72, 0x71, 0xfb, 0x8c, +}; +static const unsigned char kat423_nonce[] = { + 0x33, 0x6d, 0xcd, 0x6b, 0xfb, 0x58, 0xea, 0x09, 0x3b, 0x92, 0x3e, 0xeb, + 0xc8, 0x44, 0xec, 0x64, +}; +static const unsigned char kat423_persstr[] = {0}; +static const unsigned char kat423_addin0[] = {0}; +static const unsigned char kat423_addin1[] = {0}; +static const unsigned char kat423_retbits[] = { + 0xe7, 0xd9, 0xc7, 0x98, 0x11, 0x5e, 0xc4, 0x2e, 0x0a, 0xf0, 0x3e, 0x91, + 0xd8, 0x9d, 0x66, 0x32, 0x31, 0xdf, 0xb8, 0xdb, 0x11, 0x87, 0xe4, 0x37, + 0x17, 0x89, 0x9e, 0x1f, 0x80, 0x9f, 0x86, 0xfc, 0x0d, 0x59, 0x85, 0x70, + 0x98, 0x21, 0xed, 0xb8, 0xf6, 0x05, 0x45, 0xbf, 0x92, 0x2a, 0x82, 0x8e, + 0x8a, 0xc9, 0xc5, 0xba, 0x36, 0x23, 0xc2, 0xcf, 0x81, 0x67, 0x1e, 0xc3, + 0x36, 0x77, 0xbf, 0xdd, +}; +static const struct drbg_kat_no_reseed kat423_t = { + 2, kat423_entropyin, kat423_nonce, kat423_persstr, + kat423_addin0, kat423_addin1, kat423_retbits +}; +static const struct drbg_kat kat423 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat423_t +}; + +static const unsigned char kat424_entropyin[] = { + 0xfb, 0xf3, 0xc2, 0x67, 0x26, 0x4f, 0x54, 0xe4, 0x56, 0xcc, 0x56, 0xd1, + 0xe0, 0xae, 0x7f, 0xd2, 0xe5, 0x84, 0x74, 0x99, 0x71, 0x6e, 0x15, 0x80, +}; +static const unsigned char kat424_nonce[] = { + 0xbf, 0x60, 0xb7, 0x1c, 0xb1, 0x3f, 0xfb, 0xf2, 0x8d, 0x20, 0xf9, 0x68, + 0x23, 0x0c, 0x17, 0x11, +}; +static const unsigned char kat424_persstr[] = {0}; +static const unsigned char kat424_addin0[] = {0}; +static const unsigned char kat424_addin1[] = {0}; +static const unsigned char kat424_retbits[] = { + 0xec, 0x04, 0xec, 0x06, 0xaa, 0xe2, 0x0e, 0x31, 0x10, 0x1e, 0x8f, 0x3e, + 0x80, 0x57, 0x81, 0x3b, 0x15, 0xe0, 0x48, 0xc6, 0xbf, 0x05, 0x33, 0x2c, + 0x10, 0x82, 0x02, 0x4b, 0xde, 0x43, 0xbc, 0x69, 0xa3, 0xf9, 0x44, 0x4f, + 0x4a, 0xe9, 0x8e, 0xfb, 0xab, 0xf3, 0xd9, 0x86, 0x32, 0x7a, 0xf0, 0xc9, + 0x3b, 0x17, 0xf5, 0xd4, 0xe1, 0x3a, 0xf7, 0xa7, 0xe2, 0x19, 0xbc, 0x93, + 0xb6, 0xd2, 0x59, 0xc4, +}; +static const struct drbg_kat_no_reseed kat424_t = { + 3, kat424_entropyin, kat424_nonce, kat424_persstr, + kat424_addin0, kat424_addin1, kat424_retbits +}; +static const struct drbg_kat kat424 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat424_t +}; + +static const unsigned char kat425_entropyin[] = { + 0x3e, 0x19, 0x1f, 0xf8, 0x92, 0x64, 0x4d, 0x77, 0x03, 0x1b, 0x24, 0xbf, + 0x3d, 0xd6, 0xdd, 0x70, 0x4a, 0x97, 0x40, 0xd2, 0x55, 0x8c, 0xb9, 0xbe, +}; +static const unsigned char kat425_nonce[] = { + 0x88, 0x89, 0x1f, 0xb2, 0x5e, 0x11, 0xb8, 0x6a, 0xba, 0x15, 0xc2, 0x46, + 0x08, 0xfc, 0x0e, 0xcf, +}; +static const unsigned char kat425_persstr[] = {0}; +static const unsigned char kat425_addin0[] = {0}; +static const unsigned char kat425_addin1[] = {0}; +static const unsigned char kat425_retbits[] = { + 0x96, 0x71, 0x23, 0xe1, 0x3a, 0x69, 0xb8, 0xda, 0xb5, 0x2f, 0x08, 0x7b, + 0xf4, 0xa2, 0x1e, 0x43, 0x81, 0x20, 0xd1, 0xcf, 0x0e, 0x8e, 0xfc, 0x7c, + 0x12, 0x20, 0x73, 0x25, 0x99, 0xff, 0x67, 0x85, 0xe0, 0x2e, 0x0d, 0xf6, + 0xdf, 0x95, 0xc5, 0x0f, 0xb7, 0xcf, 0x6c, 0xf5, 0x7f, 0x13, 0xad, 0xae, + 0x64, 0xc2, 0xf8, 0xac, 0x00, 0xf5, 0x38, 0xeb, 0x4a, 0x7d, 0x24, 0x02, + 0x5e, 0x05, 0x01, 0xcb, +}; +static const struct drbg_kat_no_reseed kat425_t = { + 4, kat425_entropyin, kat425_nonce, kat425_persstr, + kat425_addin0, kat425_addin1, kat425_retbits +}; +static const struct drbg_kat kat425 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat425_t +}; + +static const unsigned char kat426_entropyin[] = { + 0xf3, 0xd7, 0xd0, 0x1a, 0x2c, 0xb2, 0x73, 0x1b, 0xb1, 0xd6, 0xe9, 0x9a, + 0x16, 0x74, 0x5f, 0x31, 0x9a, 0x61, 0x7e, 0xf9, 0x5d, 0xcb, 0x55, 0x0f, +}; +static const unsigned char kat426_nonce[] = { + 0x8a, 0x4d, 0x89, 0x0e, 0x32, 0x30, 0xff, 0x9a, 0x1e, 0xea, 0x9a, 0x66, + 0x47, 0x9e, 0x92, 0x6f, +}; +static const unsigned char kat426_persstr[] = {0}; +static const unsigned char kat426_addin0[] = {0}; +static const unsigned char kat426_addin1[] = {0}; +static const unsigned char kat426_retbits[] = { + 0x3c, 0xee, 0xf6, 0x0f, 0x8b, 0x23, 0xe5, 0x0e, 0x7d, 0x49, 0xa3, 0x0a, + 0xc2, 0xc4, 0xfd, 0x4d, 0xcc, 0xe3, 0xa1, 0x6f, 0x94, 0x33, 0x0a, 0xe7, + 0xff, 0xf7, 0xf2, 0x7f, 0x3d, 0x56, 0x9f, 0x25, 0x30, 0x0d, 0x59, 0xfe, + 0x87, 0xff, 0x7d, 0x75, 0xce, 0x90, 0xcd, 0x99, 0xe9, 0x4b, 0xa4, 0xf4, + 0xca, 0x30, 0xd7, 0x0c, 0x75, 0x97, 0x93, 0xbb, 0xcf, 0x7b, 0xce, 0x44, + 0xc2, 0x1d, 0xd8, 0x42, +}; +static const struct drbg_kat_no_reseed kat426_t = { + 5, kat426_entropyin, kat426_nonce, kat426_persstr, + kat426_addin0, kat426_addin1, kat426_retbits +}; +static const struct drbg_kat kat426 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat426_t +}; + +static const unsigned char kat427_entropyin[] = { + 0xd7, 0x69, 0x0e, 0x2a, 0xce, 0x3c, 0x17, 0x4e, 0x9d, 0x1c, 0x8c, 0xdc, + 0x1c, 0x9c, 0xda, 0x65, 0x83, 0x15, 0x26, 0x61, 0x11, 0x05, 0x19, 0x8b, +}; +static const unsigned char kat427_nonce[] = { + 0xb0, 0xa1, 0x1c, 0xfb, 0x27, 0x44, 0xae, 0x7b, 0x0d, 0x67, 0x5e, 0xd0, + 0xbf, 0x26, 0x34, 0xa9, +}; +static const unsigned char kat427_persstr[] = {0}; +static const unsigned char kat427_addin0[] = {0}; +static const unsigned char kat427_addin1[] = {0}; +static const unsigned char kat427_retbits[] = { + 0xd3, 0xea, 0x3d, 0xc6, 0x29, 0x6e, 0x36, 0x40, 0xf2, 0x2e, 0x75, 0xee, + 0x27, 0xe9, 0xf7, 0xf3, 0xc7, 0xff, 0x06, 0xf1, 0x79, 0x4d, 0x91, 0x5e, + 0x4f, 0xe9, 0xa4, 0x71, 0x43, 0x13, 0x17, 0xd0, 0x9d, 0x80, 0x17, 0x1b, + 0x1e, 0x7f, 0xd8, 0xfc, 0x57, 0xd8, 0xb8, 0xd1, 0xd1, 0xfa, 0x61, 0x16, + 0x2b, 0xbf, 0xc5, 0x67, 0x43, 0x83, 0x57, 0x42, 0xb4, 0xd5, 0x26, 0x66, + 0x6c, 0xf5, 0xcc, 0x03, +}; +static const struct drbg_kat_no_reseed kat427_t = { + 6, kat427_entropyin, kat427_nonce, kat427_persstr, + kat427_addin0, kat427_addin1, kat427_retbits +}; +static const struct drbg_kat kat427 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat427_t +}; + +static const unsigned char kat428_entropyin[] = { + 0x82, 0x51, 0xbb, 0x48, 0x80, 0x97, 0xe7, 0xd0, 0x7f, 0x41, 0xa7, 0x68, + 0xc1, 0xf3, 0x7c, 0x42, 0x11, 0x80, 0xc9, 0x8e, 0xf5, 0x9b, 0x73, 0x0b, +}; +static const unsigned char kat428_nonce[] = { + 0xb7, 0x2b, 0xc5, 0x2b, 0x35, 0x8c, 0x79, 0x33, 0xa3, 0x16, 0xb1, 0x7c, + 0xbf, 0x07, 0xcc, 0x02, +}; +static const unsigned char kat428_persstr[] = {0}; +static const unsigned char kat428_addin0[] = {0}; +static const unsigned char kat428_addin1[] = {0}; +static const unsigned char kat428_retbits[] = { + 0x31, 0xf3, 0x57, 0xab, 0xf5, 0xa2, 0xa0, 0x21, 0xee, 0x7e, 0x0e, 0xfb, + 0xad, 0x1f, 0xcb, 0x58, 0x11, 0x8e, 0x1b, 0xeb, 0xe4, 0x2e, 0xf6, 0x5a, + 0xc8, 0xcc, 0x93, 0xd6, 0xd0, 0xe5, 0x4f, 0x5a, 0xf7, 0xc4, 0x02, 0x2f, + 0x34, 0x3a, 0xd6, 0x3e, 0xfc, 0x94, 0xd9, 0x50, 0x35, 0x4b, 0x83, 0x8a, + 0x37, 0x8c, 0xc7, 0x7f, 0x20, 0xf7, 0x59, 0x70, 0x5b, 0xce, 0x43, 0xd8, + 0x73, 0x4e, 0x71, 0x7b, +}; +static const struct drbg_kat_no_reseed kat428_t = { + 7, kat428_entropyin, kat428_nonce, kat428_persstr, + kat428_addin0, kat428_addin1, kat428_retbits +}; +static const struct drbg_kat kat428 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat428_t +}; + +static const unsigned char kat429_entropyin[] = { + 0xab, 0xdb, 0x2e, 0xd2, 0xe0, 0x9a, 0xa0, 0x0d, 0x4c, 0x39, 0x4f, 0x80, + 0xfc, 0x0d, 0x5b, 0xf2, 0x13, 0xb4, 0x28, 0x3b, 0x76, 0x8b, 0x58, 0x12, +}; +static const unsigned char kat429_nonce[] = { + 0x89, 0xe1, 0x9d, 0xb4, 0x2a, 0x96, 0x2a, 0x1d, 0x35, 0xd4, 0x9c, 0xb8, + 0xc6, 0x43, 0xb7, 0x13, +}; +static const unsigned char kat429_persstr[] = {0}; +static const unsigned char kat429_addin0[] = {0}; +static const unsigned char kat429_addin1[] = {0}; +static const unsigned char kat429_retbits[] = { + 0x06, 0x7a, 0xe3, 0xea, 0x23, 0x04, 0x91, 0x71, 0x47, 0xcf, 0xf9, 0x76, + 0x86, 0x4d, 0x9b, 0x89, 0x4f, 0xb3, 0x8b, 0x1c, 0x8b, 0x0e, 0x57, 0x12, + 0x56, 0x47, 0x4a, 0x8e, 0x3c, 0x60, 0x20, 0x99, 0x6d, 0x16, 0x9c, 0x04, + 0x15, 0x45, 0x46, 0x64, 0x97, 0x6a, 0xdf, 0x95, 0x05, 0xc5, 0x3b, 0x5e, + 0x94, 0x6b, 0x4d, 0x0e, 0x65, 0x06, 0x67, 0x50, 0xcf, 0x0d, 0xe1, 0x41, + 0xe8, 0x46, 0x0b, 0x0b, +}; +static const struct drbg_kat_no_reseed kat429_t = { + 8, kat429_entropyin, kat429_nonce, kat429_persstr, + kat429_addin0, kat429_addin1, kat429_retbits +}; +static const struct drbg_kat kat429 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat429_t +}; + +static const unsigned char kat430_entropyin[] = { + 0x4a, 0x44, 0x10, 0x1f, 0x7a, 0x1f, 0x22, 0xb1, 0x7e, 0x7c, 0xcc, 0x91, + 0xe9, 0x78, 0x9f, 0xcc, 0x6f, 0x1b, 0x4d, 0xc3, 0x09, 0x72, 0x56, 0x7b, +}; +static const unsigned char kat430_nonce[] = { + 0xcb, 0x9f, 0xc3, 0xd4, 0x52, 0xf6, 0xcb, 0xe5, 0xc9, 0x83, 0x1e, 0x65, + 0x37, 0x02, 0x7d, 0x94, +}; +static const unsigned char kat430_persstr[] = {0}; +static const unsigned char kat430_addin0[] = {0}; +static const unsigned char kat430_addin1[] = {0}; +static const unsigned char kat430_retbits[] = { + 0xd9, 0x3b, 0x85, 0x86, 0xd6, 0x10, 0x91, 0xe3, 0xbb, 0xef, 0x18, 0x7e, + 0x5f, 0xed, 0x6a, 0x2b, 0x17, 0x00, 0xe9, 0x34, 0x10, 0x86, 0x6d, 0x10, + 0xbc, 0x02, 0xd3, 0xa6, 0x22, 0xa0, 0xa8, 0xb3, 0x8d, 0x8b, 0x08, 0x33, + 0x61, 0xad, 0x53, 0x19, 0x7b, 0xc1, 0x81, 0x17, 0x68, 0x20, 0x6e, 0x54, + 0x11, 0x15, 0xbf, 0x96, 0x12, 0x19, 0x65, 0xc1, 0x6d, 0x32, 0xe1, 0xc1, + 0x78, 0x0e, 0x4f, 0x24, +}; +static const struct drbg_kat_no_reseed kat430_t = { + 9, kat430_entropyin, kat430_nonce, kat430_persstr, + kat430_addin0, kat430_addin1, kat430_retbits +}; +static const struct drbg_kat kat430 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat430_t +}; + +static const unsigned char kat431_entropyin[] = { + 0xf5, 0xa4, 0x66, 0x2d, 0x9f, 0x51, 0x56, 0xd3, 0xbc, 0x28, 0x2a, 0x4b, + 0xf8, 0x2e, 0x5d, 0x97, 0x73, 0x1d, 0x36, 0xc0, 0x01, 0x79, 0xad, 0xab, +}; +static const unsigned char kat431_nonce[] = { + 0x3e, 0x5e, 0x20, 0x38, 0x62, 0xbc, 0x32, 0x8e, 0x99, 0x87, 0xa7, 0x21, + 0x89, 0x7d, 0x47, 0xcd, +}; +static const unsigned char kat431_persstr[] = {0}; +static const unsigned char kat431_addin0[] = {0}; +static const unsigned char kat431_addin1[] = {0}; +static const unsigned char kat431_retbits[] = { + 0x5e, 0x08, 0xab, 0x01, 0xb0, 0xa4, 0xca, 0x99, 0x2d, 0xa9, 0x96, 0xf1, + 0x64, 0x34, 0x1b, 0xe4, 0xe2, 0x01, 0xef, 0x0d, 0x1c, 0xd0, 0x49, 0xef, + 0xf6, 0x60, 0x59, 0x5a, 0x70, 0xce, 0xf1, 0x72, 0x31, 0x79, 0xcc, 0x58, + 0x8c, 0xa5, 0x2d, 0xe7, 0xef, 0xde, 0x20, 0x6a, 0x15, 0xed, 0x7a, 0xb4, + 0x14, 0xea, 0x7c, 0xfc, 0xf6, 0x71, 0xa0, 0x5c, 0xe9, 0x53, 0x43, 0x76, + 0x39, 0xa5, 0x8c, 0x1d, +}; +static const struct drbg_kat_no_reseed kat431_t = { + 10, kat431_entropyin, kat431_nonce, kat431_persstr, + kat431_addin0, kat431_addin1, kat431_retbits +}; +static const struct drbg_kat kat431 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat431_t +}; + +static const unsigned char kat432_entropyin[] = { + 0x10, 0xb6, 0xe2, 0x73, 0x3b, 0xa8, 0x56, 0x03, 0xdf, 0xd5, 0xd5, 0xaa, + 0x5a, 0x20, 0x67, 0x52, 0xa0, 0xf6, 0x07, 0xf9, 0xd4, 0xd3, 0xd7, 0x3c, +}; +static const unsigned char kat432_nonce[] = { + 0xc0, 0xc2, 0x80, 0xae, 0x01, 0x4d, 0xf2, 0x00, 0xd0, 0x2c, 0xcd, 0x5b, + 0x79, 0xfd, 0x81, 0xb0, +}; +static const unsigned char kat432_persstr[] = {0}; +static const unsigned char kat432_addin0[] = {0}; +static const unsigned char kat432_addin1[] = {0}; +static const unsigned char kat432_retbits[] = { + 0x9a, 0xf4, 0x6d, 0xc0, 0x1a, 0xa8, 0x60, 0xd9, 0xf1, 0xea, 0x68, 0xd3, + 0xef, 0x57, 0x33, 0x17, 0x50, 0x3e, 0x54, 0x65, 0x63, 0x63, 0xb5, 0x70, + 0xae, 0x26, 0x3b, 0x37, 0x60, 0xdc, 0x17, 0x49, 0x43, 0xe1, 0x81, 0x5f, + 0x97, 0x2c, 0xab, 0xbb, 0x42, 0xe6, 0x00, 0x90, 0x19, 0x29, 0x55, 0x3f, + 0x76, 0x73, 0x9e, 0x2d, 0x29, 0xf7, 0x7c, 0x5d, 0xd1, 0x13, 0x13, 0x8c, + 0xdf, 0x97, 0x11, 0x3e, +}; +static const struct drbg_kat_no_reseed kat432_t = { + 11, kat432_entropyin, kat432_nonce, kat432_persstr, + kat432_addin0, kat432_addin1, kat432_retbits +}; +static const struct drbg_kat kat432 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat432_t +}; + +static const unsigned char kat433_entropyin[] = { + 0x55, 0xfb, 0x21, 0x93, 0x9e, 0xbd, 0x06, 0xd2, 0x93, 0x2b, 0x6b, 0xce, + 0x9e, 0x02, 0x3e, 0x62, 0x35, 0x55, 0xf2, 0x7d, 0x73, 0xfa, 0xd8, 0x3a, +}; +static const unsigned char kat433_nonce[] = { + 0x43, 0x65, 0x9f, 0x6b, 0xbb, 0x52, 0xf4, 0x16, 0xae, 0x94, 0x17, 0x90, + 0x8b, 0xeb, 0x7b, 0x2c, +}; +static const unsigned char kat433_persstr[] = {0}; +static const unsigned char kat433_addin0[] = {0}; +static const unsigned char kat433_addin1[] = {0}; +static const unsigned char kat433_retbits[] = { + 0x41, 0xe8, 0x0b, 0x17, 0xf8, 0x52, 0xdb, 0xf0, 0xe3, 0x1e, 0xbe, 0x51, + 0x27, 0xf8, 0xc5, 0x28, 0xd0, 0x67, 0x44, 0x9a, 0xe6, 0xaa, 0x03, 0xc6, + 0x82, 0x5b, 0xb4, 0xc5, 0xdc, 0xc6, 0xad, 0x5a, 0x72, 0x84, 0x12, 0x13, + 0x30, 0x77, 0xc6, 0x8c, 0xba, 0x1e, 0x40, 0x33, 0xd7, 0x19, 0x85, 0x6b, + 0xbb, 0x30, 0xd0, 0x4b, 0x82, 0xd8, 0x40, 0xfb, 0x5a, 0x91, 0x05, 0x7c, + 0x43, 0xda, 0x8d, 0xa7, +}; +static const struct drbg_kat_no_reseed kat433_t = { + 12, kat433_entropyin, kat433_nonce, kat433_persstr, + kat433_addin0, kat433_addin1, kat433_retbits +}; +static const struct drbg_kat kat433 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat433_t +}; + +static const unsigned char kat434_entropyin[] = { + 0x93, 0xbf, 0x67, 0xed, 0xa3, 0x7b, 0xf7, 0x4b, 0xa8, 0x4b, 0x43, 0x57, + 0x49, 0xe5, 0xc3, 0x12, 0x4b, 0x98, 0x9b, 0x6a, 0xc6, 0xad, 0x72, 0x61, +}; +static const unsigned char kat434_nonce[] = { + 0x29, 0x4c, 0xb2, 0x6c, 0x39, 0x58, 0x6e, 0x48, 0x95, 0xba, 0x8a, 0xe7, + 0x79, 0x10, 0x5d, 0xd2, +}; +static const unsigned char kat434_persstr[] = {0}; +static const unsigned char kat434_addin0[] = {0}; +static const unsigned char kat434_addin1[] = {0}; +static const unsigned char kat434_retbits[] = { + 0xc4, 0x60, 0x11, 0x78, 0x92, 0x4d, 0x24, 0x3f, 0xee, 0x92, 0x55, 0x7e, + 0xa3, 0x0b, 0x9d, 0x48, 0xb8, 0x16, 0x25, 0x96, 0x42, 0xda, 0x4c, 0xbe, + 0x4d, 0x86, 0x8a, 0x94, 0x8c, 0xa7, 0xbd, 0xbd, 0x41, 0xe6, 0xcd, 0x5e, + 0xb8, 0x00, 0xbf, 0x44, 0xed, 0x60, 0x6d, 0x2d, 0xdc, 0xcb, 0x34, 0xdf, + 0xcf, 0x3b, 0xac, 0xa7, 0x06, 0x06, 0x1f, 0x12, 0x62, 0x1c, 0x79, 0x9f, + 0x55, 0x1f, 0x44, 0x8e, +}; +static const struct drbg_kat_no_reseed kat434_t = { + 13, kat434_entropyin, kat434_nonce, kat434_persstr, + kat434_addin0, kat434_addin1, kat434_retbits +}; +static const struct drbg_kat kat434 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat434_t +}; + +static const unsigned char kat435_entropyin[] = { + 0xc8, 0x03, 0x6e, 0x05, 0xb5, 0xc9, 0x7e, 0x1f, 0x17, 0x0d, 0xdd, 0x6c, + 0x95, 0x8c, 0xfe, 0x18, 0x8d, 0x44, 0x74, 0xb1, 0x1d, 0x67, 0x82, 0x62, +}; +static const unsigned char kat435_nonce[] = { + 0xa1, 0x82, 0x9e, 0x13, 0x50, 0x31, 0xee, 0xf0, 0x0a, 0x27, 0xa6, 0xfe, + 0x02, 0x24, 0x8c, 0x1b, +}; +static const unsigned char kat435_persstr[] = {0}; +static const unsigned char kat435_addin0[] = {0}; +static const unsigned char kat435_addin1[] = {0}; +static const unsigned char kat435_retbits[] = { + 0x15, 0xbe, 0x79, 0xf7, 0x7f, 0x5c, 0x18, 0x43, 0x10, 0x41, 0x6e, 0x92, + 0xd7, 0xa4, 0x7f, 0xc3, 0x25, 0x67, 0xe0, 0xc4, 0x85, 0x85, 0x40, 0xbc, + 0x54, 0x0c, 0x81, 0x95, 0x04, 0xb3, 0x9b, 0xd8, 0x2b, 0xcb, 0x96, 0x1e, + 0xaf, 0x50, 0xe3, 0x8d, 0xb9, 0x0c, 0x59, 0x30, 0x90, 0x51, 0x71, 0x7c, + 0x76, 0x74, 0xfa, 0x3e, 0x75, 0xa4, 0xf5, 0xec, 0x33, 0x66, 0x9c, 0x73, + 0x6e, 0xc4, 0x3a, 0x19, +}; +static const struct drbg_kat_no_reseed kat435_t = { + 14, kat435_entropyin, kat435_nonce, kat435_persstr, + kat435_addin0, kat435_addin1, kat435_retbits +}; +static const struct drbg_kat kat435 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat435_t +}; + +static const unsigned char kat436_entropyin[] = { + 0x17, 0x4d, 0xb4, 0xee, 0xa5, 0x56, 0x56, 0x9b, 0xc0, 0x45, 0xef, 0xc3, + 0x5f, 0x80, 0x15, 0x71, 0x75, 0x66, 0x50, 0x22, 0x88, 0xa1, 0xe7, 0xd0, +}; +static const unsigned char kat436_nonce[] = { + 0x38, 0x87, 0x89, 0x0e, 0xdb, 0x10, 0x5c, 0x15, 0x41, 0xdb, 0x3a, 0xd5, + 0x95, 0x5e, 0x12, 0x62, +}; +static const unsigned char kat436_persstr[] = {0}; +static const unsigned char kat436_addin0[] = { + 0x54, 0x95, 0x18, 0x3b, 0xa0, 0x88, 0xd7, 0x3c, 0xff, 0x04, 0xc6, 0x20, + 0xa0, 0xdc, 0x11, 0x55, 0xd3, 0xf2, 0x82, 0x5b, 0xb1, 0xfc, 0xb9, 0x49, + 0x15, 0xf1, 0xc1, 0xa5, 0x08, 0x7a, 0xeb, 0x2c, +}; +static const unsigned char kat436_addin1[] = { + 0xd3, 0x0b, 0xdb, 0xfb, 0x41, 0xa1, 0xb4, 0x76, 0xc0, 0x05, 0x6b, 0x18, + 0x0f, 0x24, 0x34, 0xd3, 0xd8, 0x35, 0x22, 0x78, 0xaf, 0x47, 0x7f, 0x50, + 0x07, 0x94, 0x75, 0xc1, 0xbd, 0xbe, 0x62, 0x10, +}; +static const unsigned char kat436_retbits[] = { + 0x24, 0xd3, 0x2b, 0x58, 0xe5, 0x9d, 0x00, 0x00, 0xff, 0x57, 0x4f, 0xd4, + 0x7e, 0x67, 0x02, 0xff, 0xd1, 0xa9, 0xb8, 0xdb, 0xcd, 0xb4, 0xf1, 0x64, + 0xab, 0xf1, 0x73, 0x14, 0x5c, 0xb6, 0xd2, 0xd9, 0x23, 0x65, 0x6b, 0x55, + 0xc4, 0xe8, 0x85, 0xca, 0x34, 0xd1, 0x8c, 0x15, 0x62, 0xf1, 0x7b, 0xb5, + 0x4d, 0x10, 0xd4, 0x6b, 0x1a, 0x53, 0xae, 0x14, 0x6e, 0xae, 0x07, 0x7d, + 0xdf, 0x93, 0xed, 0x53, +}; +static const struct drbg_kat_no_reseed kat436_t = { + 0, kat436_entropyin, kat436_nonce, kat436_persstr, + kat436_addin0, kat436_addin1, kat436_retbits +}; +static const struct drbg_kat kat436 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat436_t +}; + +static const unsigned char kat437_entropyin[] = { + 0x02, 0x17, 0x32, 0x7c, 0x7e, 0x3a, 0x61, 0xb0, 0x45, 0x9b, 0xb4, 0x92, + 0xb1, 0x0a, 0x73, 0xdd, 0x99, 0x86, 0xd2, 0x60, 0x5a, 0xdd, 0xb6, 0x64, +}; +static const unsigned char kat437_nonce[] = { + 0x37, 0xeb, 0x5d, 0x66, 0x92, 0x88, 0x3c, 0xc6, 0xa6, 0xa4, 0x3c, 0x80, + 0xdf, 0x83, 0xf6, 0xe2, +}; +static const unsigned char kat437_persstr[] = {0}; +static const unsigned char kat437_addin0[] = { + 0xa9, 0xd2, 0x22, 0x84, 0xc5, 0x03, 0x25, 0xd7, 0x96, 0xc7, 0x94, 0xba, + 0xd2, 0x8d, 0xfe, 0xf9, 0x2d, 0x13, 0x17, 0xc9, 0x3e, 0x20, 0x0b, 0xa2, + 0x20, 0xe0, 0x0b, 0xf4, 0xf3, 0xac, 0xec, 0xc6, +}; +static const unsigned char kat437_addin1[] = { + 0xbc, 0x0f, 0xb7, 0x0a, 0xf9, 0x2d, 0xff, 0xf5, 0xd5, 0x03, 0x4f, 0x90, + 0xbd, 0xbb, 0x05, 0x29, 0x56, 0x25, 0xd1, 0xda, 0x45, 0x70, 0x7f, 0x7f, + 0xe1, 0x71, 0x50, 0xbf, 0xb9, 0x88, 0xad, 0xa2, +}; +static const unsigned char kat437_retbits[] = { + 0x58, 0x59, 0xc8, 0x53, 0x9a, 0x37, 0x96, 0x1f, 0x74, 0x61, 0xe8, 0xb3, + 0x55, 0x24, 0x85, 0xce, 0x37, 0xf0, 0xc1, 0x96, 0x46, 0xf7, 0x84, 0xe6, + 0x82, 0x3a, 0x8d, 0xd6, 0x06, 0x41, 0x93, 0x13, 0x31, 0x21, 0x3a, 0x22, + 0x11, 0xb3, 0x2c, 0xf5, 0x7a, 0x1a, 0x26, 0xb5, 0xa3, 0xb6, 0xe6, 0xee, + 0xbd, 0xc5, 0xab, 0xbc, 0xe0, 0xd4, 0x3d, 0xdb, 0x96, 0x7a, 0x6d, 0xe5, + 0x7c, 0x97, 0xa8, 0xf6, +}; +static const struct drbg_kat_no_reseed kat437_t = { + 1, kat437_entropyin, kat437_nonce, kat437_persstr, + kat437_addin0, kat437_addin1, kat437_retbits +}; +static const struct drbg_kat kat437 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat437_t +}; + +static const unsigned char kat438_entropyin[] = { + 0x9e, 0x2f, 0x8e, 0xd0, 0x86, 0x1f, 0xcc, 0x64, 0x77, 0x9f, 0x01, 0xae, + 0x37, 0xb7, 0x61, 0x54, 0x40, 0x2e, 0x09, 0xc2, 0xac, 0x84, 0xec, 0x24, +}; +static const unsigned char kat438_nonce[] = { + 0x6c, 0x1e, 0x77, 0x9a, 0x17, 0xff, 0x4d, 0xdc, 0x33, 0x25, 0x28, 0x41, + 0xda, 0x58, 0xc4, 0x81, +}; +static const unsigned char kat438_persstr[] = {0}; +static const unsigned char kat438_addin0[] = { + 0x96, 0x0d, 0x53, 0x1c, 0x3a, 0x8e, 0x7c, 0x8c, 0x26, 0x9c, 0xed, 0x9f, + 0x74, 0x64, 0xfe, 0xde, 0xc8, 0xd4, 0xf4, 0x9e, 0x73, 0x96, 0xc6, 0x0f, + 0xbd, 0x89, 0xb2, 0xea, 0x4a, 0xf6, 0xfe, 0x40, +}; +static const unsigned char kat438_addin1[] = { + 0xe3, 0x29, 0x50, 0x33, 0x92, 0xa8, 0xe7, 0xeb, 0x56, 0x2e, 0xf1, 0x30, + 0xd0, 0xf9, 0xfd, 0x5e, 0x66, 0xd5, 0xf2, 0x3f, 0x24, 0x87, 0x99, 0x55, + 0xe6, 0x60, 0x52, 0xd2, 0x00, 0x9f, 0xac, 0xda, +}; +static const unsigned char kat438_retbits[] = { + 0x4a, 0x02, 0x0e, 0x7a, 0xd3, 0x3b, 0xa3, 0x80, 0xa5, 0x62, 0xad, 0x13, + 0x2d, 0x5b, 0x73, 0xee, 0xad, 0x1e, 0x89, 0xd9, 0x20, 0x7a, 0x6e, 0x4a, + 0xdb, 0x12, 0xe0, 0x8d, 0x62, 0xf4, 0x88, 0x6a, 0x27, 0xc2, 0x18, 0xb0, + 0x36, 0x41, 0xf7, 0xb6, 0xcf, 0x3a, 0x90, 0xe4, 0x46, 0x0b, 0x36, 0x39, + 0xe0, 0xaa, 0x9e, 0x70, 0xab, 0xc9, 0xae, 0x6b, 0xdc, 0xca, 0x60, 0x82, + 0x7a, 0x3a, 0x07, 0x53, +}; +static const struct drbg_kat_no_reseed kat438_t = { + 2, kat438_entropyin, kat438_nonce, kat438_persstr, + kat438_addin0, kat438_addin1, kat438_retbits +}; +static const struct drbg_kat kat438 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat438_t +}; + +static const unsigned char kat439_entropyin[] = { + 0x12, 0xf0, 0x6b, 0xc8, 0xea, 0x0c, 0x9e, 0x95, 0xb3, 0xf5, 0xb8, 0xd9, + 0xbe, 0x8d, 0x4b, 0x94, 0xfb, 0x80, 0x88, 0x33, 0x93, 0xd4, 0x44, 0x14, +}; +static const unsigned char kat439_nonce[] = { + 0x49, 0xdf, 0xee, 0x73, 0x11, 0x72, 0x5f, 0x1f, 0x46, 0xc1, 0xd5, 0x00, + 0x10, 0x05, 0x41, 0xd1, +}; +static const unsigned char kat439_persstr[] = {0}; +static const unsigned char kat439_addin0[] = { + 0xf7, 0xec, 0xc3, 0x52, 0xda, 0xc2, 0x80, 0x62, 0xf1, 0xda, 0xb5, 0x17, + 0x85, 0xb6, 0xb0, 0xe3, 0x1b, 0x81, 0xdb, 0x6e, 0xc7, 0x6e, 0xe0, 0x53, + 0xc3, 0x2b, 0xbc, 0xa8, 0x7c, 0x7e, 0x3b, 0x9c, +}; +static const unsigned char kat439_addin1[] = { + 0xef, 0x29, 0xf6, 0x89, 0xef, 0x40, 0xb3, 0xa4, 0xf1, 0x86, 0xa3, 0xfd, + 0x57, 0xbd, 0x48, 0x3f, 0xf2, 0x8b, 0x5e, 0xa6, 0x29, 0x3e, 0x17, 0x33, + 0xa3, 0x9c, 0xa3, 0xdd, 0x33, 0x12, 0xff, 0xf4, +}; +static const unsigned char kat439_retbits[] = { + 0x17, 0x3a, 0x29, 0x5b, 0xdd, 0x79, 0xad, 0x14, 0x8b, 0x15, 0xc2, 0x6d, + 0x8d, 0x13, 0x13, 0x3a, 0x0c, 0x3d, 0x52, 0xc5, 0xee, 0xb6, 0x47, 0x4a, + 0x73, 0xab, 0xb7, 0x6c, 0xbb, 0xbd, 0x2f, 0x74, 0x0a, 0xb8, 0xb6, 0x57, + 0xcb, 0xcf, 0x7b, 0x5f, 0xcc, 0x86, 0x27, 0x14, 0x08, 0xb1, 0x9f, 0xd9, + 0x35, 0xe4, 0xb7, 0x4a, 0x0d, 0xf9, 0xdd, 0x7f, 0xf5, 0x09, 0x9a, 0xe0, + 0x84, 0x9f, 0x4e, 0xa0, +}; +static const struct drbg_kat_no_reseed kat439_t = { + 3, kat439_entropyin, kat439_nonce, kat439_persstr, + kat439_addin0, kat439_addin1, kat439_retbits +}; +static const struct drbg_kat kat439 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat439_t +}; + +static const unsigned char kat440_entropyin[] = { + 0x3f, 0x4d, 0xab, 0x4b, 0xd4, 0x56, 0x79, 0x10, 0x1e, 0x4e, 0x9e, 0x1d, + 0x05, 0x38, 0xef, 0x4d, 0x76, 0x32, 0x30, 0xa0, 0xaf, 0x43, 0xfa, 0xe8, +}; +static const unsigned char kat440_nonce[] = { + 0x8b, 0xb6, 0x8e, 0xd2, 0x94, 0x0f, 0x71, 0xb6, 0x0b, 0x7c, 0x7d, 0x8f, + 0x60, 0xc1, 0x5c, 0xa6, +}; +static const unsigned char kat440_persstr[] = {0}; +static const unsigned char kat440_addin0[] = { + 0xce, 0xdf, 0xb5, 0x65, 0xd5, 0x54, 0x24, 0x9a, 0xcd, 0xf9, 0xe6, 0x1c, + 0xe9, 0x96, 0xee, 0xfe, 0xf0, 0xcf, 0x7e, 0xb7, 0xca, 0x0e, 0xcc, 0xda, + 0x77, 0xb7, 0xe6, 0x71, 0x5f, 0x38, 0xb7, 0x7c, +}; +static const unsigned char kat440_addin1[] = { + 0xba, 0xa6, 0x40, 0xa1, 0x35, 0x06, 0xf7, 0x53, 0x66, 0x8e, 0xca, 0x79, + 0x0a, 0x8d, 0x3f, 0xc4, 0xc5, 0x3f, 0x16, 0xea, 0xa9, 0x3d, 0x08, 0x8d, + 0x69, 0xf1, 0xe5, 0x88, 0x15, 0xd4, 0x2b, 0x3e, +}; +static const unsigned char kat440_retbits[] = { + 0xce, 0x36, 0xad, 0x85, 0x3b, 0x12, 0xd5, 0xd5, 0x09, 0x3b, 0xa3, 0x5f, + 0xde, 0xcf, 0xeb, 0x25, 0xf1, 0xb1, 0x33, 0x0c, 0xeb, 0x37, 0xe5, 0x8e, + 0x2e, 0x58, 0xa9, 0x40, 0xf0, 0x5f, 0x90, 0x02, 0xe0, 0xfe, 0x6b, 0x8d, + 0x36, 0xb5, 0x14, 0x6c, 0x18, 0x8a, 0xb1, 0xe3, 0x3b, 0xa8, 0x4e, 0x95, + 0x4d, 0x17, 0xa5, 0x20, 0x33, 0xcc, 0x08, 0x1a, 0xa8, 0xb2, 0x50, 0x7b, + 0xe8, 0xd5, 0x16, 0x13, +}; +static const struct drbg_kat_no_reseed kat440_t = { + 4, kat440_entropyin, kat440_nonce, kat440_persstr, + kat440_addin0, kat440_addin1, kat440_retbits +}; +static const struct drbg_kat kat440 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat440_t +}; + +static const unsigned char kat441_entropyin[] = { + 0x1a, 0xa5, 0xd2, 0x36, 0x13, 0xdd, 0x1f, 0x71, 0x71, 0x4a, 0x01, 0xe7, + 0x5e, 0xcc, 0x29, 0xa6, 0xd1, 0x48, 0x1c, 0x76, 0x15, 0x7a, 0x81, 0x77, +}; +static const unsigned char kat441_nonce[] = { + 0x2c, 0xe6, 0xba, 0x4c, 0x82, 0xe7, 0xcc, 0x2e, 0x59, 0x8c, 0xda, 0x4b, + 0x3e, 0x6a, 0xc8, 0xa7, +}; +static const unsigned char kat441_persstr[] = {0}; +static const unsigned char kat441_addin0[] = { + 0x02, 0x6c, 0x22, 0x49, 0x12, 0xb4, 0x9e, 0xa7, 0xb2, 0xa1, 0xa7, 0xcc, + 0xd5, 0x04, 0x18, 0x09, 0x0c, 0x13, 0x83, 0xc6, 0x4f, 0x28, 0x52, 0x34, + 0x1c, 0x28, 0xc1, 0xf6, 0x56, 0x2f, 0x9b, 0xf7, +}; +static const unsigned char kat441_addin1[] = { + 0xd9, 0x81, 0x0d, 0x1a, 0x33, 0x92, 0x1f, 0x06, 0x20, 0x61, 0xd7, 0xf6, + 0x67, 0x50, 0x6b, 0x02, 0x79, 0xde, 0x3e, 0x14, 0x3e, 0x55, 0xf5, 0x72, + 0x28, 0x46, 0x93, 0x60, 0x9c, 0xb7, 0x37, 0x85, +}; +static const unsigned char kat441_retbits[] = { + 0x47, 0x75, 0xcb, 0xe9, 0xf4, 0xa7, 0x4b, 0x72, 0xfa, 0xcf, 0x4a, 0x2c, + 0xf8, 0xe9, 0x58, 0x1a, 0xa0, 0x25, 0x32, 0x62, 0x60, 0x37, 0xfa, 0x3b, + 0x63, 0xef, 0xef, 0xc3, 0xc7, 0xc1, 0xc2, 0xdb, 0x0e, 0xb5, 0x90, 0x3e, + 0xa1, 0xa9, 0xcc, 0x9e, 0x40, 0xb2, 0xb9, 0xe6, 0x28, 0xac, 0xfd, 0x9d, + 0x74, 0xe6, 0x65, 0x72, 0xa8, 0x65, 0x6c, 0x75, 0xdb, 0x6a, 0x5f, 0xbf, + 0x5a, 0xc0, 0xad, 0x1e, +}; +static const struct drbg_kat_no_reseed kat441_t = { + 5, kat441_entropyin, kat441_nonce, kat441_persstr, + kat441_addin0, kat441_addin1, kat441_retbits +}; +static const struct drbg_kat kat441 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat441_t +}; + +static const unsigned char kat442_entropyin[] = { + 0x32, 0x6f, 0x6e, 0x91, 0x22, 0x70, 0x3e, 0x58, 0x31, 0x6e, 0x7e, 0x0e, + 0x2e, 0x58, 0x78, 0x61, 0x04, 0x23, 0xf0, 0xf5, 0x59, 0x73, 0x09, 0xa1, +}; +static const unsigned char kat442_nonce[] = { + 0x42, 0x6e, 0x56, 0xf1, 0x3e, 0x11, 0x26, 0x9e, 0xa6, 0xbb, 0xaf, 0xa0, + 0x09, 0x86, 0x11, 0xf5, +}; +static const unsigned char kat442_persstr[] = {0}; +static const unsigned char kat442_addin0[] = { + 0x8a, 0xe8, 0x8c, 0xdd, 0x32, 0x0e, 0x96, 0xe9, 0x21, 0xd0, 0x6d, 0xe2, + 0x3c, 0x92, 0xa7, 0x1b, 0x5c, 0x37, 0x0e, 0xcb, 0x4d, 0xba, 0x98, 0x87, + 0xf6, 0x03, 0x44, 0xe2, 0x08, 0x56, 0xa9, 0x04, +}; +static const unsigned char kat442_addin1[] = { + 0xc5, 0xbe, 0xd3, 0x4c, 0xd6, 0x08, 0x50, 0x64, 0x04, 0x40, 0xd0, 0xc7, + 0x0d, 0xb4, 0xde, 0x17, 0x85, 0x9a, 0x25, 0xc2, 0xbd, 0xce, 0xee, 0xfe, + 0x5a, 0xe0, 0xcf, 0x8f, 0xc7, 0x80, 0x36, 0x2d, +}; +static const unsigned char kat442_retbits[] = { + 0xf4, 0x62, 0x28, 0x0c, 0x4e, 0xb3, 0x9c, 0x83, 0xa2, 0x08, 0x5f, 0x8d, + 0x62, 0xa4, 0xbc, 0xec, 0x7c, 0x27, 0x62, 0x12, 0x02, 0x0b, 0xed, 0x35, + 0xe8, 0x98, 0xa5, 0x54, 0xd6, 0xaf, 0xb9, 0x8e, 0x77, 0x33, 0xd5, 0x71, + 0x2e, 0xaf, 0xf8, 0x84, 0x05, 0x8c, 0xa8, 0x8a, 0xb3, 0xe4, 0x3f, 0x3e, + 0x7f, 0x58, 0xd9, 0x8e, 0xa2, 0xbb, 0x97, 0xef, 0x8a, 0x5d, 0xac, 0x63, + 0x63, 0x56, 0x66, 0x70, +}; +static const struct drbg_kat_no_reseed kat442_t = { + 6, kat442_entropyin, kat442_nonce, kat442_persstr, + kat442_addin0, kat442_addin1, kat442_retbits +}; +static const struct drbg_kat kat442 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat442_t +}; + +static const unsigned char kat443_entropyin[] = { + 0x00, 0x71, 0x2f, 0x30, 0xc7, 0xf3, 0x2e, 0x21, 0xde, 0xbf, 0x40, 0x26, + 0x78, 0xa7, 0xe2, 0xf7, 0x20, 0x1e, 0x96, 0xe7, 0xc2, 0x55, 0x17, 0x96, +}; +static const unsigned char kat443_nonce[] = { + 0x97, 0x23, 0x77, 0x2e, 0x04, 0x71, 0x0d, 0x54, 0xa3, 0x76, 0x51, 0x07, + 0xaa, 0xd9, 0x14, 0xf5, +}; +static const unsigned char kat443_persstr[] = {0}; +static const unsigned char kat443_addin0[] = { + 0x17, 0x77, 0xd9, 0x9d, 0xbf, 0x76, 0xe0, 0x26, 0x5f, 0xf6, 0x85, 0x3b, + 0x83, 0x51, 0x8f, 0x34, 0x1b, 0x32, 0x78, 0x81, 0x71, 0xdb, 0x4f, 0x17, + 0xca, 0x65, 0x04, 0xd7, 0x88, 0xc2, 0xf1, 0x37, +}; +static const unsigned char kat443_addin1[] = { + 0x79, 0xf3, 0xa3, 0x69, 0x5e, 0x2c, 0xfa, 0xa7, 0xf0, 0x87, 0x87, 0x29, + 0xe9, 0x31, 0x0b, 0xb4, 0x79, 0xd3, 0x00, 0xcd, 0xc1, 0x5c, 0xa3, 0x7e, + 0x36, 0x8e, 0x3a, 0x45, 0xe7, 0xf1, 0xea, 0x26, +}; +static const unsigned char kat443_retbits[] = { + 0xe7, 0xbd, 0x54, 0x5d, 0x18, 0x53, 0x05, 0xa0, 0xe4, 0x43, 0x51, 0x65, + 0x01, 0xe7, 0xfa, 0x9a, 0xbf, 0xa8, 0x42, 0x27, 0x4d, 0x34, 0x2a, 0xe3, + 0xae, 0xb2, 0x95, 0x83, 0xc1, 0x50, 0xea, 0x55, 0x0b, 0xc6, 0xfb, 0xa9, + 0x52, 0xa4, 0x9e, 0x30, 0xf8, 0x4c, 0x29, 0x34, 0x29, 0x9c, 0x1f, 0xd2, + 0xd5, 0x58, 0x19, 0x1e, 0xb7, 0xad, 0x80, 0xd8, 0x28, 0xe6, 0x3a, 0xa9, + 0xff, 0x22, 0x31, 0x07, +}; +static const struct drbg_kat_no_reseed kat443_t = { + 7, kat443_entropyin, kat443_nonce, kat443_persstr, + kat443_addin0, kat443_addin1, kat443_retbits +}; +static const struct drbg_kat kat443 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat443_t +}; + +static const unsigned char kat444_entropyin[] = { + 0x0e, 0x1e, 0x1a, 0x43, 0x04, 0xbf, 0xe2, 0x37, 0xe9, 0xbd, 0xe5, 0x4c, + 0xcb, 0x87, 0x6b, 0xdb, 0x0e, 0x83, 0x3b, 0xfa, 0xa3, 0x60, 0x9e, 0xe1, +}; +static const unsigned char kat444_nonce[] = { + 0x4a, 0xb3, 0xd5, 0x27, 0x40, 0xb7, 0xb9, 0xde, 0x6e, 0xd3, 0x9a, 0x01, + 0x32, 0x15, 0xd1, 0x4a, +}; +static const unsigned char kat444_persstr[] = {0}; +static const unsigned char kat444_addin0[] = { + 0x02, 0x99, 0x8f, 0x33, 0xf6, 0xbe, 0x3b, 0xf8, 0x95, 0x5b, 0x94, 0x45, + 0x01, 0x75, 0x69, 0x71, 0x67, 0x26, 0x86, 0x6b, 0xe7, 0xd6, 0xda, 0x47, + 0x99, 0xe4, 0xf0, 0x72, 0x0a, 0xf5, 0x35, 0x93, +}; +static const unsigned char kat444_addin1[] = { + 0x1d, 0x96, 0xd9, 0xe0, 0xff, 0x54, 0x79, 0x2f, 0x4f, 0xcc, 0xe9, 0x20, + 0xbf, 0x79, 0x0c, 0xf7, 0x2d, 0x58, 0xfc, 0x86, 0x5f, 0xe8, 0xf4, 0x46, + 0xfb, 0x03, 0xcb, 0xc2, 0xeb, 0x21, 0xea, 0x2f, +}; +static const unsigned char kat444_retbits[] = { + 0xad, 0xb0, 0xe9, 0x3e, 0x74, 0x79, 0x19, 0x97, 0xdd, 0xcc, 0xf9, 0x6f, + 0x56, 0xbb, 0x29, 0x78, 0x93, 0xee, 0x40, 0xf5, 0x28, 0x9b, 0xc9, 0x92, + 0xb6, 0x78, 0x70, 0xaf, 0x19, 0xc9, 0x85, 0xaa, 0x9d, 0x91, 0x1b, 0x14, + 0x17, 0x56, 0x01, 0x72, 0xca, 0x70, 0xa9, 0xf6, 0x07, 0x65, 0x56, 0xf9, + 0x6b, 0x49, 0x57, 0xcc, 0x57, 0x4c, 0x09, 0x89, 0xfa, 0xdf, 0x1c, 0xed, + 0xa9, 0xdf, 0x9b, 0xc2, +}; +static const struct drbg_kat_no_reseed kat444_t = { + 8, kat444_entropyin, kat444_nonce, kat444_persstr, + kat444_addin0, kat444_addin1, kat444_retbits +}; +static const struct drbg_kat kat444 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat444_t +}; + +static const unsigned char kat445_entropyin[] = { + 0x16, 0x65, 0x4b, 0x44, 0xfd, 0x38, 0xc0, 0xb2, 0x44, 0x89, 0x67, 0x82, + 0x9b, 0xe7, 0xbf, 0xc4, 0x62, 0x78, 0x6f, 0x08, 0x8b, 0x1e, 0xb4, 0x57, +}; +static const unsigned char kat445_nonce[] = { + 0xfe, 0xfa, 0x7f, 0xcc, 0x14, 0xfd, 0xe2, 0x5b, 0x6f, 0x4e, 0xe9, 0xa2, + 0x23, 0x14, 0x14, 0xf0, +}; +static const unsigned char kat445_persstr[] = {0}; +static const unsigned char kat445_addin0[] = { + 0x14, 0x60, 0xfe, 0x86, 0x87, 0x84, 0xae, 0x02, 0xb2, 0x39, 0x42, 0x7a, + 0x0a, 0x44, 0x87, 0x20, 0x94, 0x26, 0x71, 0x38, 0xa2, 0x6c, 0xc4, 0x02, + 0xe7, 0x2a, 0xab, 0x14, 0x76, 0xdf, 0x21, 0x6a, +}; +static const unsigned char kat445_addin1[] = { + 0x2a, 0x2f, 0x4d, 0x85, 0xd1, 0xfc, 0x79, 0x18, 0xe8, 0x15, 0x40, 0x53, + 0xd8, 0x43, 0x02, 0xb5, 0x49, 0x6c, 0xba, 0x91, 0xc3, 0x6e, 0x47, 0x7f, + 0xf0, 0x2c, 0x75, 0x48, 0x9e, 0xe7, 0x70, 0xbf, +}; +static const unsigned char kat445_retbits[] = { + 0x9e, 0xa5, 0xe4, 0x07, 0x68, 0xaa, 0x35, 0xec, 0x4a, 0x70, 0x9b, 0x8a, + 0x7d, 0x6c, 0x27, 0x61, 0xe7, 0xa7, 0x7d, 0xce, 0x06, 0xcb, 0x25, 0x37, + 0x63, 0xeb, 0xd7, 0x0a, 0x9f, 0x69, 0xed, 0x62, 0x5c, 0xcc, 0x75, 0x2c, + 0x3e, 0x7e, 0x80, 0x97, 0x69, 0xfe, 0x99, 0xdd, 0x3a, 0xb8, 0x05, 0x64, + 0x5e, 0x96, 0xc6, 0x02, 0xff, 0x9b, 0x4f, 0x78, 0x12, 0x2e, 0xf2, 0xe8, + 0x09, 0xc3, 0x9e, 0x60, +}; +static const struct drbg_kat_no_reseed kat445_t = { + 9, kat445_entropyin, kat445_nonce, kat445_persstr, + kat445_addin0, kat445_addin1, kat445_retbits +}; +static const struct drbg_kat kat445 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat445_t +}; + +static const unsigned char kat446_entropyin[] = { + 0xee, 0xfa, 0x26, 0x21, 0x7e, 0xcf, 0xe8, 0xe0, 0x52, 0xd0, 0xd4, 0xc0, + 0x89, 0x39, 0x20, 0x83, 0x7b, 0xbd, 0x4b, 0x3f, 0x96, 0x6a, 0x34, 0x8b, +}; +static const unsigned char kat446_nonce[] = { + 0xe9, 0x2a, 0x5c, 0xde, 0xa0, 0x72, 0xa2, 0xcb, 0xb9, 0x8a, 0x5d, 0x1a, + 0xb4, 0x1d, 0x7c, 0xcd, +}; +static const unsigned char kat446_persstr[] = {0}; +static const unsigned char kat446_addin0[] = { + 0x48, 0xf1, 0xcc, 0xfb, 0xb5, 0x9d, 0x7a, 0xe7, 0x28, 0xfb, 0x22, 0x72, + 0x98, 0x12, 0x36, 0x6c, 0xf6, 0x6a, 0x7d, 0xf6, 0x35, 0xd3, 0x3e, 0xd1, + 0x85, 0x7f, 0x9b, 0x88, 0x01, 0x3b, 0x1f, 0x21, +}; +static const unsigned char kat446_addin1[] = { + 0xb2, 0x47, 0x06, 0xd1, 0xde, 0x83, 0xe2, 0x47, 0x0c, 0x37, 0xee, 0x21, + 0x4c, 0xbd, 0x72, 0x71, 0xc3, 0x2b, 0xb1, 0x65, 0x05, 0x96, 0xed, 0x12, + 0x2a, 0xf4, 0x23, 0x93, 0x50, 0xbc, 0xef, 0x9e, +}; +static const unsigned char kat446_retbits[] = { + 0x65, 0x0a, 0x98, 0xb3, 0x65, 0x57, 0x6e, 0x2f, 0xe8, 0x5b, 0xf7, 0x36, + 0xcf, 0x21, 0x6b, 0x45, 0x19, 0x2b, 0xeb, 0x91, 0x25, 0xbb, 0x1a, 0xe4, + 0x89, 0x12, 0xec, 0x06, 0xf3, 0x9d, 0x94, 0xe2, 0xda, 0x02, 0xea, 0xb9, + 0x70, 0xb9, 0xd9, 0xcb, 0xc7, 0x7e, 0x30, 0x27, 0x8e, 0x46, 0xa7, 0x98, + 0x2d, 0x7a, 0x2f, 0x7b, 0x75, 0xca, 0x6c, 0x7d, 0x53, 0x83, 0x90, 0xf9, + 0x54, 0x07, 0x38, 0x2f, +}; +static const struct drbg_kat_no_reseed kat446_t = { + 10, kat446_entropyin, kat446_nonce, kat446_persstr, + kat446_addin0, kat446_addin1, kat446_retbits +}; +static const struct drbg_kat kat446 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat446_t +}; + +static const unsigned char kat447_entropyin[] = { + 0xe7, 0x65, 0x32, 0x77, 0x4d, 0x4e, 0xf4, 0x5d, 0xeb, 0x39, 0xbf, 0xb5, + 0x2a, 0x40, 0x46, 0x1d, 0x31, 0x25, 0xe3, 0x62, 0xd2, 0x4a, 0x56, 0xb8, +}; +static const unsigned char kat447_nonce[] = { + 0xaa, 0x47, 0x05, 0x55, 0xee, 0x44, 0x9f, 0x9f, 0x06, 0xba, 0x28, 0x12, + 0x97, 0x0c, 0xe6, 0x8e, +}; +static const unsigned char kat447_persstr[] = {0}; +static const unsigned char kat447_addin0[] = { + 0xb2, 0xec, 0xe7, 0x17, 0xa6, 0x11, 0x19, 0xe9, 0xfd, 0x32, 0x45, 0x80, + 0x81, 0xd0, 0x0f, 0xbd, 0xd7, 0xc1, 0xb5, 0x34, 0x22, 0xa5, 0x3a, 0xa3, + 0x2f, 0xf0, 0x92, 0x37, 0xe5, 0x02, 0x86, 0x87, +}; +static const unsigned char kat447_addin1[] = { + 0x6b, 0x9e, 0x89, 0x44, 0x99, 0xb1, 0xe4, 0x78, 0xce, 0x1f, 0x43, 0x91, + 0x50, 0xb4, 0x80, 0xef, 0x8b, 0x80, 0x14, 0x99, 0x3e, 0xa9, 0x31, 0xd8, + 0xae, 0xbe, 0xfc, 0x8b, 0x76, 0xa9, 0x62, 0x72, +}; +static const unsigned char kat447_retbits[] = { + 0xf9, 0x8f, 0xdc, 0x5d, 0x33, 0xea, 0xb1, 0xa4, 0x56, 0xfc, 0x68, 0x08, + 0x0d, 0x59, 0x3b, 0x83, 0xbf, 0x6c, 0xf0, 0xc7, 0xcd, 0xb9, 0x83, 0x40, + 0x82, 0xde, 0x36, 0x86, 0x91, 0x9d, 0x07, 0x52, 0x36, 0x5a, 0x5c, 0xa6, + 0x4f, 0x32, 0x24, 0x37, 0x67, 0x1f, 0x05, 0x43, 0xff, 0x74, 0xee, 0x64, + 0x90, 0xa0, 0xe8, 0x70, 0x63, 0x4f, 0xed, 0x4b, 0x5e, 0xc9, 0x84, 0x82, + 0xef, 0x09, 0xa2, 0xf2, +}; +static const struct drbg_kat_no_reseed kat447_t = { + 11, kat447_entropyin, kat447_nonce, kat447_persstr, + kat447_addin0, kat447_addin1, kat447_retbits +}; +static const struct drbg_kat kat447 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat447_t +}; + +static const unsigned char kat448_entropyin[] = { + 0x4b, 0xcc, 0xcc, 0xe3, 0x5f, 0xea, 0xfd, 0xe5, 0xda, 0x22, 0xd9, 0x56, + 0x40, 0xd2, 0x8b, 0x23, 0x2c, 0xa7, 0xc6, 0xec, 0x67, 0xf4, 0x6e, 0x05, +}; +static const unsigned char kat448_nonce[] = { + 0x0d, 0xf8, 0xf3, 0xcc, 0xa0, 0x12, 0x8a, 0xc3, 0x9c, 0x11, 0xc0, 0x38, + 0xf8, 0xdf, 0xe0, 0xae, +}; +static const unsigned char kat448_persstr[] = {0}; +static const unsigned char kat448_addin0[] = { + 0xb3, 0xe1, 0x9b, 0x4a, 0xfc, 0x44, 0x66, 0x29, 0xf4, 0x5c, 0xea, 0x68, + 0xe7, 0x6b, 0x86, 0x43, 0xc7, 0x2c, 0x92, 0x6e, 0xa0, 0xf0, 0xbd, 0x47, + 0x3a, 0xff, 0x44, 0xc8, 0x43, 0x7c, 0xa2, 0xa8, +}; +static const unsigned char kat448_addin1[] = { + 0xaf, 0x06, 0xe0, 0xf1, 0xbd, 0xb1, 0x1c, 0x07, 0xd6, 0x96, 0xd5, 0x9c, + 0x05, 0x61, 0x89, 0x6b, 0x76, 0x25, 0x83, 0x25, 0x39, 0x70, 0xa9, 0x5c, + 0xcd, 0xbb, 0x16, 0x90, 0xb5, 0xd3, 0xa2, 0x11, +}; +static const unsigned char kat448_retbits[] = { + 0x11, 0x26, 0x68, 0x69, 0xe6, 0xa0, 0x9f, 0xb1, 0xc3, 0x63, 0xca, 0x25, + 0xf8, 0xf3, 0x28, 0x45, 0xea, 0x68, 0x50, 0x80, 0x78, 0x72, 0xde, 0x59, + 0x4c, 0xef, 0xa5, 0x5f, 0xb5, 0xd8, 0x4b, 0xc6, 0x89, 0xcc, 0x51, 0x8b, + 0x4e, 0xb8, 0x3b, 0xb4, 0x83, 0xc1, 0x5c, 0x62, 0xac, 0xcf, 0x47, 0x4c, + 0xc6, 0xaf, 0xec, 0xa5, 0x6f, 0xfa, 0x84, 0xc3, 0xc0, 0x1b, 0xee, 0xf6, + 0xae, 0xa5, 0xe2, 0x3a, +}; +static const struct drbg_kat_no_reseed kat448_t = { + 12, kat448_entropyin, kat448_nonce, kat448_persstr, + kat448_addin0, kat448_addin1, kat448_retbits +}; +static const struct drbg_kat kat448 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat448_t +}; + +static const unsigned char kat449_entropyin[] = { + 0x48, 0xa4, 0x79, 0x9f, 0xbb, 0x49, 0xbf, 0xc9, 0xdd, 0x09, 0x77, 0xae, + 0x3b, 0x1c, 0x89, 0x0d, 0x2f, 0xa6, 0x9f, 0x57, 0x75, 0x54, 0xc3, 0xd3, +}; +static const unsigned char kat449_nonce[] = { + 0x6b, 0xfb, 0x2d, 0x6b, 0xb9, 0x2b, 0xb2, 0xed, 0x88, 0x17, 0x99, 0x2a, + 0xd9, 0x3c, 0xc6, 0xa9, +}; +static const unsigned char kat449_persstr[] = {0}; +static const unsigned char kat449_addin0[] = { + 0x2c, 0xbe, 0xe2, 0xfb, 0x8b, 0xa4, 0x99, 0x65, 0xc8, 0x5a, 0x9f, 0x66, + 0x03, 0x68, 0xcf, 0x1d, 0x01, 0x81, 0xb6, 0xaf, 0xe6, 0x3b, 0x34, 0x82, + 0x21, 0x48, 0x22, 0x80, 0xc9, 0x05, 0x81, 0x2d, +}; +static const unsigned char kat449_addin1[] = { + 0xbb, 0xd3, 0xe2, 0x4c, 0x95, 0xd8, 0xfb, 0x5c, 0x60, 0xd7, 0x15, 0x44, + 0xb6, 0x69, 0x6b, 0x56, 0x2a, 0x2d, 0x05, 0xce, 0x2e, 0xef, 0x65, 0x8e, + 0x21, 0x3f, 0x67, 0xaa, 0x2c, 0x1f, 0xe5, 0xd2, +}; +static const unsigned char kat449_retbits[] = { + 0x8d, 0x78, 0xf3, 0xb7, 0x22, 0xd4, 0xfd, 0xa0, 0xd8, 0x18, 0x37, 0xa6, + 0x1f, 0x33, 0x10, 0x3b, 0x36, 0xf7, 0x72, 0xa2, 0x0b, 0x03, 0xf9, 0xfa, + 0x80, 0xd2, 0xe7, 0xfe, 0x0c, 0x84, 0x5e, 0xdf, 0x32, 0x61, 0x65, 0xd7, + 0x16, 0x85, 0x52, 0x79, 0x31, 0xa8, 0x9d, 0x7b, 0x1d, 0xeb, 0x01, 0x24, + 0x0a, 0xeb, 0x1f, 0x8f, 0x5f, 0xef, 0x8d, 0xab, 0x57, 0xe1, 0x43, 0x84, + 0x58, 0x0b, 0x69, 0x3f, +}; +static const struct drbg_kat_no_reseed kat449_t = { + 13, kat449_entropyin, kat449_nonce, kat449_persstr, + kat449_addin0, kat449_addin1, kat449_retbits +}; +static const struct drbg_kat kat449 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat449_t +}; + +static const unsigned char kat450_entropyin[] = { + 0xfc, 0xe8, 0x5e, 0x48, 0xde, 0xd7, 0x33, 0x7f, 0xf3, 0xd3, 0xea, 0xe3, + 0x91, 0xe2, 0xb2, 0xa3, 0x95, 0x42, 0xbe, 0x05, 0x05, 0xf2, 0x93, 0x0c, +}; +static const unsigned char kat450_nonce[] = { + 0xe5, 0x90, 0x5c, 0xe6, 0x53, 0xb9, 0x27, 0x5f, 0x14, 0xb0, 0xe6, 0xa1, + 0x06, 0x23, 0xbd, 0x87, +}; +static const unsigned char kat450_persstr[] = {0}; +static const unsigned char kat450_addin0[] = { + 0xbe, 0xea, 0x35, 0x64, 0xab, 0x77, 0xad, 0xf6, 0x3a, 0x2f, 0xb5, 0x14, + 0x29, 0x7f, 0xe9, 0x3f, 0xc8, 0x33, 0x23, 0x1c, 0x22, 0xdb, 0x98, 0x57, + 0xa3, 0x9d, 0x6e, 0x29, 0x70, 0x85, 0x84, 0x65, +}; +static const unsigned char kat450_addin1[] = { + 0x62, 0x4f, 0x46, 0xac, 0x56, 0xc6, 0x87, 0xfc, 0x33, 0x6d, 0xd4, 0xc7, + 0xd7, 0xdb, 0x44, 0xa5, 0x62, 0x91, 0xeb, 0x7f, 0x66, 0xd1, 0x88, 0x42, + 0x76, 0x06, 0x6b, 0x38, 0x55, 0x0f, 0xfc, 0x17, +}; +static const unsigned char kat450_retbits[] = { + 0x69, 0x8b, 0x1e, 0xbd, 0x23, 0x91, 0xc2, 0xf1, 0x4c, 0xc8, 0xb2, 0x0d, + 0x96, 0x4f, 0x39, 0xd5, 0xea, 0xfb, 0x56, 0xd6, 0x13, 0xda, 0xa8, 0xd3, + 0x8a, 0x45, 0xcc, 0x6f, 0xd9, 0xcc, 0x98, 0xca, 0x4e, 0xac, 0xc4, 0x79, + 0x4b, 0xc9, 0xc3, 0x17, 0xaa, 0xab, 0x14, 0x10, 0xb8, 0xd5, 0x65, 0x48, + 0x43, 0x67, 0xe3, 0xd9, 0x30, 0x67, 0x1d, 0x00, 0x17, 0x13, 0xc3, 0x29, + 0xe6, 0x5d, 0x28, 0xd9, +}; +static const struct drbg_kat_no_reseed kat450_t = { + 14, kat450_entropyin, kat450_nonce, kat450_persstr, + kat450_addin0, kat450_addin1, kat450_retbits +}; +static const struct drbg_kat kat450 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat450_t +}; + +static const unsigned char kat451_entropyin[] = { + 0x2a, 0x9b, 0x56, 0xc3, 0x5d, 0x17, 0xa5, 0xeb, 0xfc, 0x5b, 0x62, 0xae, + 0x44, 0xe9, 0x29, 0xac, 0x3a, 0x07, 0x47, 0x90, 0x7c, 0x15, 0xef, 0xa6, +}; +static const unsigned char kat451_nonce[] = { + 0x8d, 0xf8, 0xca, 0x01, 0x19, 0x67, 0x19, 0xe5, 0x26, 0xff, 0x2f, 0xfe, + 0xe2, 0x01, 0xef, 0x45, +}; +static const unsigned char kat451_persstr[] = { + 0xa4, 0xf5, 0xfa, 0xbe, 0xd0, 0x64, 0x69, 0x39, 0x13, 0x88, 0x0e, 0x33, + 0xf5, 0xae, 0xc5, 0xed, 0x13, 0x2f, 0x42, 0x9f, 0xdf, 0xeb, 0x22, 0x6b, + 0x0e, 0x83, 0x4e, 0x72, 0xd3, 0xff, 0xb4, 0x49, +}; +static const unsigned char kat451_addin0[] = {0}; +static const unsigned char kat451_addin1[] = {0}; +static const unsigned char kat451_retbits[] = { + 0x51, 0xe1, 0x9a, 0x13, 0xb1, 0x18, 0x15, 0xb1, 0xec, 0xb0, 0x65, 0xd5, + 0x4b, 0xbf, 0xa4, 0x5e, 0x31, 0xd9, 0x4a, 0xde, 0xca, 0x33, 0x85, 0x62, + 0x54, 0xf4, 0x34, 0x81, 0x94, 0x45, 0x13, 0xde, 0x8f, 0xa6, 0xcf, 0x23, + 0xc4, 0xfb, 0x24, 0xb3, 0x32, 0x34, 0x6d, 0x00, 0x46, 0x4b, 0x06, 0xe9, + 0xae, 0x80, 0xd9, 0x8d, 0xa9, 0xc6, 0xfd, 0x38, 0x39, 0xcf, 0x0c, 0xa7, + 0x53, 0x1c, 0xcb, 0x89, +}; +static const struct drbg_kat_no_reseed kat451_t = { + 0, kat451_entropyin, kat451_nonce, kat451_persstr, + kat451_addin0, kat451_addin1, kat451_retbits +}; +static const struct drbg_kat kat451 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat451_t +}; + +static const unsigned char kat452_entropyin[] = { + 0x86, 0x08, 0xbd, 0xf7, 0xd3, 0x3d, 0x89, 0xc0, 0x93, 0x24, 0xb4, 0x98, + 0x95, 0x41, 0x10, 0xb8, 0xc0, 0xec, 0xcb, 0x52, 0x0c, 0xf8, 0x60, 0x68, +}; +static const unsigned char kat452_nonce[] = { + 0x57, 0x2e, 0x58, 0x16, 0xca, 0x90, 0xe0, 0x29, 0x10, 0x2d, 0x5d, 0x68, + 0x21, 0x89, 0xd8, 0x56, +}; +static const unsigned char kat452_persstr[] = { + 0xc4, 0xef, 0x4c, 0x15, 0x72, 0x13, 0x37, 0x20, 0x9a, 0xb0, 0xc1, 0x03, + 0xdb, 0xee, 0xdb, 0x46, 0x32, 0x93, 0x58, 0xaf, 0xc4, 0xaf, 0x0a, 0xb7, + 0x4a, 0x27, 0x82, 0x00, 0x88, 0xce, 0xbb, 0x5b, +}; +static const unsigned char kat452_addin0[] = {0}; +static const unsigned char kat452_addin1[] = {0}; +static const unsigned char kat452_retbits[] = { + 0xc3, 0x93, 0xeb, 0xef, 0x36, 0xf8, 0x6f, 0x0f, 0xaa, 0x9e, 0x40, 0x92, + 0xea, 0x0a, 0xad, 0x0d, 0x8b, 0x81, 0x92, 0x0d, 0x76, 0x29, 0x66, 0xf3, + 0x1f, 0x1f, 0xfd, 0xc9, 0x0f, 0xd2, 0x13, 0x06, 0xf9, 0x04, 0x74, 0x22, + 0xa9, 0xde, 0x67, 0xeb, 0x2c, 0x51, 0xec, 0xfb, 0x27, 0xcb, 0xd0, 0x68, + 0x64, 0x85, 0x96, 0xc5, 0x86, 0xd9, 0xc9, 0x4f, 0x31, 0xe9, 0xe8, 0x20, + 0x47, 0xcd, 0xaa, 0xfd, +}; +static const struct drbg_kat_no_reseed kat452_t = { + 1, kat452_entropyin, kat452_nonce, kat452_persstr, + kat452_addin0, kat452_addin1, kat452_retbits +}; +static const struct drbg_kat kat452 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat452_t +}; + +static const unsigned char kat453_entropyin[] = { + 0x41, 0xc6, 0x98, 0x33, 0x96, 0x8c, 0xed, 0x2e, 0x0d, 0x26, 0x85, 0xe0, + 0x68, 0xea, 0x7d, 0x59, 0xf6, 0xe6, 0x73, 0xaf, 0x2b, 0x7d, 0x35, 0x99, +}; +static const unsigned char kat453_nonce[] = { + 0xc6, 0x30, 0xe4, 0x8e, 0xe0, 0xd5, 0x35, 0x3f, 0xc7, 0xed, 0x4d, 0x60, + 0x7d, 0xef, 0x81, 0x31, +}; +static const unsigned char kat453_persstr[] = { + 0x49, 0xcc, 0x83, 0x10, 0xe0, 0xe8, 0x98, 0x46, 0xb6, 0x4f, 0x58, 0xfb, + 0xe8, 0xe2, 0xbb, 0xf6, 0x8c, 0xf9, 0x99, 0x12, 0x6f, 0x44, 0x34, 0xdf, + 0x3e, 0x53, 0x26, 0xf6, 0x19, 0x6e, 0xfd, 0x41, +}; +static const unsigned char kat453_addin0[] = {0}; +static const unsigned char kat453_addin1[] = {0}; +static const unsigned char kat453_retbits[] = { + 0xf7, 0xf4, 0xbd, 0x0d, 0xb9, 0x84, 0xa2, 0x38, 0xdf, 0xa9, 0xdd, 0xe2, + 0xb5, 0x19, 0xdd, 0xfd, 0x0e, 0xb9, 0x9a, 0x54, 0xfb, 0x0a, 0xbb, 0x73, + 0x87, 0x3b, 0x3c, 0x1f, 0x50, 0x84, 0xdc, 0x64, 0x12, 0xbe, 0x35, 0x3f, + 0x58, 0x0b, 0xe0, 0x1c, 0xba, 0x58, 0xdc, 0x1d, 0x90, 0xa5, 0x8b, 0xc9, + 0x63, 0xbd, 0xb7, 0x7d, 0x21, 0x70, 0x15, 0x99, 0x87, 0x25, 0x9b, 0x60, + 0xc6, 0x6b, 0x86, 0x10, +}; +static const struct drbg_kat_no_reseed kat453_t = { + 2, kat453_entropyin, kat453_nonce, kat453_persstr, + kat453_addin0, kat453_addin1, kat453_retbits +}; +static const struct drbg_kat kat453 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat453_t +}; + +static const unsigned char kat454_entropyin[] = { + 0xc1, 0xc7, 0x21, 0x67, 0x85, 0xa9, 0x1e, 0x28, 0x16, 0xc8, 0xd4, 0xd1, + 0x41, 0x77, 0x2d, 0x12, 0x2a, 0xc3, 0xa1, 0x08, 0xd6, 0xea, 0x03, 0x44, +}; +static const unsigned char kat454_nonce[] = { + 0x8e, 0x22, 0x8b, 0x8f, 0xd6, 0xe4, 0x67, 0x16, 0x09, 0xa2, 0x46, 0x08, + 0x2c, 0xaa, 0x3f, 0x2b, +}; +static const unsigned char kat454_persstr[] = { + 0xd4, 0x0f, 0x20, 0x72, 0xa2, 0x73, 0x54, 0xdc, 0xe5, 0xd4, 0xb1, 0x90, + 0xc0, 0x3c, 0x79, 0xc7, 0x04, 0x41, 0xf1, 0xb9, 0xac, 0x0e, 0x61, 0x34, + 0x5b, 0x76, 0x71, 0xdd, 0x57, 0x7f, 0xf4, 0xab, +}; +static const unsigned char kat454_addin0[] = {0}; +static const unsigned char kat454_addin1[] = {0}; +static const unsigned char kat454_retbits[] = { + 0x55, 0xd4, 0x62, 0xeb, 0x21, 0x08, 0x3b, 0x55, 0xfa, 0x5b, 0xa9, 0xb6, + 0x06, 0xfb, 0xf6, 0x66, 0x91, 0x90, 0x23, 0x5c, 0xf1, 0x12, 0x12, 0x3a, + 0x40, 0xa4, 0xa2, 0xcb, 0xf2, 0x4a, 0xad, 0xb6, 0x18, 0x14, 0xfe, 0x50, + 0x35, 0x8e, 0xaa, 0x13, 0x77, 0xfc, 0x82, 0x93, 0x12, 0xd9, 0x83, 0x4d, + 0xc6, 0xa3, 0x73, 0x5d, 0x93, 0x6a, 0xb3, 0x05, 0x57, 0x53, 0x2b, 0x69, + 0xcd, 0x7b, 0x26, 0x8e, +}; +static const struct drbg_kat_no_reseed kat454_t = { + 3, kat454_entropyin, kat454_nonce, kat454_persstr, + kat454_addin0, kat454_addin1, kat454_retbits +}; +static const struct drbg_kat kat454 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat454_t +}; + +static const unsigned char kat455_entropyin[] = { + 0xb3, 0x47, 0x43, 0x30, 0xa2, 0x63, 0x61, 0xab, 0xaf, 0x69, 0x51, 0x1f, + 0x92, 0x01, 0x80, 0x69, 0x2a, 0x10, 0xb8, 0x29, 0xe6, 0x0f, 0x9e, 0x27, +}; +static const unsigned char kat455_nonce[] = { + 0xbe, 0x42, 0x0f, 0xf2, 0x6f, 0x33, 0xae, 0x5c, 0x11, 0x35, 0x05, 0x7e, + 0x37, 0x9c, 0xe8, 0xf7, +}; +static const unsigned char kat455_persstr[] = { + 0x2b, 0x21, 0xb8, 0x48, 0xb8, 0xae, 0xa5, 0x1b, 0x43, 0x24, 0xf9, 0xbd, + 0xd6, 0x27, 0x52, 0xf5, 0x48, 0xfc, 0xdc, 0x5a, 0xb3, 0x20, 0xcb, 0x33, + 0xdb, 0x1f, 0x23, 0xf9, 0x38, 0x3b, 0x57, 0x65, +}; +static const unsigned char kat455_addin0[] = {0}; +static const unsigned char kat455_addin1[] = {0}; +static const unsigned char kat455_retbits[] = { + 0x31, 0x40, 0x15, 0x58, 0x8b, 0xa1, 0x8c, 0x37, 0x5f, 0xeb, 0xd6, 0x4e, + 0xe9, 0x54, 0x23, 0xd4, 0x2a, 0x76, 0x79, 0xda, 0x10, 0xe7, 0xe1, 0x17, + 0xd7, 0xb9, 0x70, 0x89, 0xbd, 0xd2, 0x00, 0x27, 0x01, 0x0d, 0x7e, 0x60, + 0x2d, 0x6e, 0x79, 0xb8, 0xec, 0x41, 0xa7, 0xe2, 0xbf, 0x6a, 0xc4, 0x6a, + 0x41, 0xea, 0x66, 0x16, 0x01, 0xbb, 0xf6, 0x66, 0xaa, 0xf9, 0x9f, 0xb5, + 0x46, 0x7f, 0x22, 0x1e, +}; +static const struct drbg_kat_no_reseed kat455_t = { + 4, kat455_entropyin, kat455_nonce, kat455_persstr, + kat455_addin0, kat455_addin1, kat455_retbits +}; +static const struct drbg_kat kat455 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat455_t +}; + +static const unsigned char kat456_entropyin[] = { + 0xa9, 0x5c, 0x12, 0xce, 0x08, 0xf5, 0x87, 0xfd, 0xec, 0xc6, 0x9e, 0x8f, + 0x41, 0xe7, 0xb7, 0x17, 0x90, 0x09, 0x4d, 0x46, 0xdd, 0x5b, 0xa7, 0xd9, +}; +static const unsigned char kat456_nonce[] = { + 0xbe, 0x3e, 0xca, 0x66, 0x8b, 0x3e, 0xb2, 0x5d, 0xdc, 0x33, 0x36, 0xac, + 0x70, 0xe3, 0x4a, 0x56, +}; +static const unsigned char kat456_persstr[] = { + 0x01, 0xbf, 0xca, 0x95, 0x6d, 0x03, 0x70, 0xb8, 0x50, 0x9e, 0xbd, 0x40, + 0x83, 0x48, 0x72, 0x28, 0xea, 0x95, 0x72, 0xeb, 0x52, 0xc6, 0x4e, 0x83, + 0x46, 0x2c, 0x09, 0x07, 0x72, 0x08, 0x87, 0x60, +}; +static const unsigned char kat456_addin0[] = {0}; +static const unsigned char kat456_addin1[] = {0}; +static const unsigned char kat456_retbits[] = { + 0xa9, 0x94, 0xa0, 0xb9, 0x7c, 0x21, 0xcc, 0x35, 0x51, 0xcd, 0xc6, 0x46, + 0x02, 0xda, 0x0b, 0x1f, 0x67, 0x5d, 0x72, 0x29, 0xf4, 0x50, 0x40, 0x3e, + 0x30, 0x3d, 0x1a, 0x7c, 0xb9, 0x37, 0x6e, 0x9b, 0x5f, 0x88, 0x99, 0x2c, + 0x43, 0x86, 0xab, 0x75, 0x86, 0x4c, 0x24, 0xc5, 0xba, 0xe2, 0xfc, 0xe8, + 0xb0, 0x0e, 0x9b, 0xa6, 0xa6, 0x2f, 0x17, 0x62, 0x09, 0x89, 0x45, 0x65, + 0x04, 0x4c, 0x94, 0x21, +}; +static const struct drbg_kat_no_reseed kat456_t = { + 5, kat456_entropyin, kat456_nonce, kat456_persstr, + kat456_addin0, kat456_addin1, kat456_retbits +}; +static const struct drbg_kat kat456 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat456_t +}; + +static const unsigned char kat457_entropyin[] = { + 0xfd, 0xbf, 0x44, 0x18, 0x64, 0x51, 0xe1, 0x9c, 0x0e, 0x0e, 0x71, 0x98, + 0x49, 0x55, 0xd3, 0x01, 0x43, 0x46, 0x14, 0x67, 0x9c, 0xa0, 0x53, 0x10, +}; +static const unsigned char kat457_nonce[] = { + 0xc4, 0x46, 0xf2, 0xc5, 0x0f, 0x81, 0x48, 0xb4, 0x43, 0x5f, 0xa7, 0xf0, + 0x39, 0x01, 0xad, 0x16, +}; +static const unsigned char kat457_persstr[] = { + 0x0c, 0x40, 0x15, 0x31, 0x7c, 0x92, 0x2f, 0xbc, 0xe0, 0x93, 0x4b, 0xc2, + 0x96, 0xec, 0x4d, 0x0c, 0x5e, 0x87, 0x94, 0x0c, 0xc3, 0x5b, 0x53, 0x5e, + 0xbb, 0x32, 0x53, 0xc5, 0xd1, 0x0c, 0xb5, 0x0d, +}; +static const unsigned char kat457_addin0[] = {0}; +static const unsigned char kat457_addin1[] = {0}; +static const unsigned char kat457_retbits[] = { + 0x0d, 0x20, 0x84, 0x32, 0x19, 0x43, 0x3b, 0x90, 0x3e, 0x8a, 0x8e, 0x70, + 0xe4, 0x55, 0xcf, 0x57, 0x4b, 0xb3, 0x15, 0x30, 0x8c, 0xf9, 0xf2, 0xd8, + 0x37, 0xb7, 0xb2, 0x35, 0xa9, 0x5f, 0x2a, 0xc9, 0x89, 0x66, 0x1c, 0xb8, + 0x65, 0xe8, 0xf4, 0xb7, 0x74, 0x94, 0xa3, 0xdc, 0xa3, 0x14, 0x80, 0x15, + 0xab, 0xde, 0x0a, 0x73, 0xc6, 0x56, 0xa7, 0xa3, 0x6a, 0xae, 0x91, 0xf0, + 0x2d, 0xce, 0x30, 0xbd, +}; +static const struct drbg_kat_no_reseed kat457_t = { + 6, kat457_entropyin, kat457_nonce, kat457_persstr, + kat457_addin0, kat457_addin1, kat457_retbits +}; +static const struct drbg_kat kat457 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat457_t +}; + +static const unsigned char kat458_entropyin[] = { + 0x3e, 0xf9, 0x4f, 0xda, 0x2d, 0x12, 0xa0, 0x76, 0xee, 0x5a, 0xbf, 0xd7, + 0xef, 0x39, 0xe6, 0xc7, 0xd7, 0x5a, 0x7f, 0xb9, 0x28, 0x1b, 0x4b, 0x55, +}; +static const unsigned char kat458_nonce[] = { + 0xd8, 0x10, 0x72, 0xc4, 0x6e, 0xfb, 0xd9, 0x1e, 0x9c, 0x6b, 0xda, 0x13, + 0xcc, 0xc8, 0x7c, 0x7e, +}; +static const unsigned char kat458_persstr[] = { + 0x57, 0x11, 0xa9, 0x70, 0x5d, 0x80, 0x0f, 0xa1, 0xa2, 0x1b, 0xd7, 0x75, + 0x2e, 0x3f, 0x1d, 0x3d, 0xa9, 0x0a, 0x1f, 0x33, 0x69, 0xfe, 0xa4, 0x03, + 0xa9, 0xcb, 0x65, 0x81, 0x24, 0x4c, 0x7d, 0xe9, +}; +static const unsigned char kat458_addin0[] = {0}; +static const unsigned char kat458_addin1[] = {0}; +static const unsigned char kat458_retbits[] = { + 0x7d, 0x70, 0x72, 0x2a, 0x76, 0x82, 0x52, 0x64, 0xb3, 0x70, 0x19, 0xb4, + 0xda, 0x28, 0x6c, 0x73, 0x47, 0x89, 0x0f, 0x59, 0xf0, 0xa4, 0x98, 0x72, + 0x8e, 0x63, 0x59, 0xbd, 0x9d, 0x04, 0xed, 0x96, 0xa7, 0x58, 0x81, 0x66, + 0xc6, 0xef, 0x39, 0x1d, 0xa0, 0x79, 0x94, 0xd6, 0x3d, 0xb8, 0xa2, 0xfb, + 0x2c, 0xdc, 0xe3, 0x18, 0x7b, 0x56, 0xae, 0xe9, 0xa2, 0xd5, 0xcc, 0x0f, + 0x85, 0x2b, 0x2e, 0xd9, +}; +static const struct drbg_kat_no_reseed kat458_t = { + 7, kat458_entropyin, kat458_nonce, kat458_persstr, + kat458_addin0, kat458_addin1, kat458_retbits +}; +static const struct drbg_kat kat458 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat458_t +}; + +static const unsigned char kat459_entropyin[] = { + 0xf3, 0x51, 0x9e, 0x7d, 0xa5, 0x79, 0x70, 0x17, 0xef, 0xa1, 0xa1, 0xa0, + 0x15, 0xf9, 0xa6, 0x14, 0x47, 0xfa, 0x20, 0xd0, 0xf2, 0xfa, 0x4d, 0x51, +}; +static const unsigned char kat459_nonce[] = { + 0xfd, 0x2d, 0x1e, 0xae, 0xe6, 0xd8, 0x45, 0x5a, 0x03, 0xe8, 0x3a, 0x0f, + 0x80, 0xe1, 0x5b, 0x17, +}; +static const unsigned char kat459_persstr[] = { + 0x1a, 0xb1, 0x08, 0xec, 0x09, 0x92, 0x70, 0x04, 0x93, 0x26, 0xd1, 0xde, + 0xde, 0xee, 0x52, 0x6b, 0x29, 0xd1, 0x77, 0x73, 0xf7, 0x66, 0x57, 0x18, + 0x66, 0xf4, 0xe9, 0x38, 0x3c, 0x25, 0xcc, 0xfa, +}; +static const unsigned char kat459_addin0[] = {0}; +static const unsigned char kat459_addin1[] = {0}; +static const unsigned char kat459_retbits[] = { + 0xd2, 0xe7, 0x66, 0x43, 0xe8, 0xf9, 0xec, 0x5a, 0x09, 0xf8, 0x66, 0x55, + 0xfc, 0x65, 0x73, 0x8d, 0xd0, 0xd2, 0x0a, 0x52, 0x5f, 0x14, 0x97, 0xb3, + 0x27, 0x29, 0xaf, 0xce, 0xe8, 0x73, 0xc8, 0x09, 0x9f, 0x6b, 0x61, 0xc4, + 0xd9, 0x32, 0x4e, 0x02, 0xa2, 0xd8, 0x9e, 0x50, 0xf3, 0x75, 0x84, 0xc2, + 0xcd, 0x27, 0x76, 0x34, 0x22, 0x10, 0xda, 0x42, 0x05, 0x8f, 0x07, 0xdf, + 0x3f, 0x85, 0xf8, 0xac, +}; +static const struct drbg_kat_no_reseed kat459_t = { + 8, kat459_entropyin, kat459_nonce, kat459_persstr, + kat459_addin0, kat459_addin1, kat459_retbits +}; +static const struct drbg_kat kat459 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat459_t +}; + +static const unsigned char kat460_entropyin[] = { + 0x41, 0x07, 0x2a, 0x1c, 0x20, 0x92, 0x0c, 0xe5, 0xc5, 0x2c, 0x9e, 0xb6, + 0x8b, 0x87, 0xf9, 0x7a, 0x65, 0x8a, 0x66, 0x97, 0xd4, 0xe9, 0x67, 0xdb, +}; +static const unsigned char kat460_nonce[] = { + 0xcb, 0x03, 0xef, 0xae, 0xca, 0x21, 0x53, 0x4c, 0x59, 0xa9, 0xbb, 0x12, + 0xf1, 0x46, 0xee, 0x21, +}; +static const unsigned char kat460_persstr[] = { + 0x9a, 0x09, 0xae, 0x50, 0xf7, 0x61, 0x49, 0xa9, 0xa1, 0xf5, 0x5a, 0x37, + 0xec, 0x30, 0xaa, 0x08, 0xcb, 0x57, 0x30, 0x57, 0xd4, 0xf5, 0xb5, 0xfa, + 0x77, 0x13, 0xef, 0x7a, 0x1c, 0x08, 0x9b, 0xaa, +}; +static const unsigned char kat460_addin0[] = {0}; +static const unsigned char kat460_addin1[] = {0}; +static const unsigned char kat460_retbits[] = { + 0x52, 0x74, 0x42, 0x04, 0x1c, 0x23, 0x0a, 0xd4, 0x96, 0x82, 0xd7, 0x89, + 0x2c, 0x85, 0x16, 0xf6, 0x58, 0xed, 0x0b, 0x16, 0x38, 0xd1, 0xed, 0x01, + 0xb2, 0x79, 0x14, 0x7a, 0x6b, 0x4a, 0x81, 0x5e, 0x41, 0x66, 0x67, 0x90, + 0x99, 0xfc, 0x2e, 0xa1, 0xfc, 0x44, 0xb4, 0xe5, 0xe4, 0xb6, 0x10, 0x6f, + 0x66, 0x91, 0x50, 0x5d, 0xd0, 0x62, 0xea, 0x3b, 0x3d, 0xd6, 0x73, 0x32, + 0xec, 0x48, 0x2e, 0xf3, +}; +static const struct drbg_kat_no_reseed kat460_t = { + 9, kat460_entropyin, kat460_nonce, kat460_persstr, + kat460_addin0, kat460_addin1, kat460_retbits +}; +static const struct drbg_kat kat460 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat460_t +}; + +static const unsigned char kat461_entropyin[] = { + 0xfb, 0x67, 0xde, 0x62, 0x27, 0x1a, 0xda, 0xff, 0x78, 0xdd, 0x3c, 0x06, + 0xfa, 0xb6, 0xb9, 0xbd, 0x01, 0xa8, 0x49, 0x6f, 0xc9, 0xbe, 0xb6, 0xa1, +}; +static const unsigned char kat461_nonce[] = { + 0x1c, 0x5f, 0x50, 0xe7, 0x37, 0x2f, 0x8f, 0x8d, 0x40, 0x44, 0x67, 0x4c, + 0x1f, 0xf1, 0x98, 0x98, +}; +static const unsigned char kat461_persstr[] = { + 0x8e, 0x4f, 0x33, 0xea, 0x52, 0xa9, 0x94, 0x43, 0x83, 0xeb, 0xe9, 0x0a, + 0x30, 0x42, 0xaa, 0xfe, 0x13, 0x03, 0xc3, 0x28, 0x29, 0x34, 0x04, 0x37, + 0x95, 0x7f, 0x83, 0x35, 0x6c, 0x83, 0x7e, 0x2a, +}; +static const unsigned char kat461_addin0[] = {0}; +static const unsigned char kat461_addin1[] = {0}; +static const unsigned char kat461_retbits[] = { + 0xf3, 0x26, 0x9b, 0x27, 0xab, 0x4f, 0x7e, 0xb1, 0xff, 0x07, 0x0e, 0xb2, + 0xbb, 0x87, 0x94, 0xb4, 0xf2, 0x2b, 0x0e, 0xec, 0x45, 0xc2, 0xad, 0x1b, + 0xbf, 0x2c, 0x5c, 0x0b, 0x7c, 0xd3, 0x2d, 0x4d, 0xe0, 0x68, 0xf3, 0xe8, + 0x28, 0x2c, 0x3d, 0xcc, 0x35, 0xc9, 0xf4, 0x69, 0xef, 0x0a, 0x9d, 0x31, + 0x75, 0x6a, 0xed, 0xce, 0x00, 0xcf, 0xae, 0xb3, 0x09, 0x59, 0x4b, 0x81, + 0x64, 0x91, 0xcc, 0xad, +}; +static const struct drbg_kat_no_reseed kat461_t = { + 10, kat461_entropyin, kat461_nonce, kat461_persstr, + kat461_addin0, kat461_addin1, kat461_retbits +}; +static const struct drbg_kat kat461 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat461_t +}; + +static const unsigned char kat462_entropyin[] = { + 0xa2, 0x2d, 0x4f, 0xac, 0x12, 0x66, 0xce, 0x8f, 0x7c, 0xba, 0xff, 0x6b, + 0x9d, 0x47, 0x42, 0x4a, 0x10, 0xf2, 0x69, 0xe1, 0x6b, 0x8c, 0x52, 0x78, +}; +static const unsigned char kat462_nonce[] = { + 0x7a, 0x04, 0xd4, 0x04, 0x45, 0x33, 0xe9, 0x83, 0x92, 0x60, 0x23, 0xc5, + 0xa8, 0xc0, 0xb1, 0x0b, +}; +static const unsigned char kat462_persstr[] = { + 0xa3, 0x75, 0xcb, 0x70, 0xba, 0x80, 0x06, 0xc7, 0x4c, 0xcd, 0x06, 0xa9, + 0xc8, 0xe4, 0x1e, 0xad, 0xc4, 0x45, 0x33, 0x1e, 0x14, 0xb8, 0xe1, 0x95, + 0xf4, 0xa3, 0xfa, 0xb0, 0xc1, 0xdf, 0x6c, 0x96, +}; +static const unsigned char kat462_addin0[] = {0}; +static const unsigned char kat462_addin1[] = {0}; +static const unsigned char kat462_retbits[] = { + 0xb3, 0xf9, 0xa3, 0x93, 0x85, 0x61, 0x6f, 0x68, 0x51, 0xbe, 0xb7, 0xc3, + 0x77, 0x09, 0xac, 0x1f, 0x30, 0x66, 0x7d, 0xf1, 0x1c, 0x9d, 0x04, 0x7d, + 0xfc, 0xd5, 0xc7, 0x80, 0x3e, 0x93, 0x0b, 0xf3, 0x84, 0x07, 0x0e, 0x35, + 0x0f, 0x1d, 0x0b, 0x8f, 0xaa, 0x39, 0xf2, 0x9c, 0x98, 0xd9, 0xdf, 0x59, + 0xd3, 0x5f, 0xfb, 0x52, 0x0c, 0x8b, 0xc9, 0x0b, 0xe2, 0x2f, 0xc7, 0x7d, + 0x4d, 0x67, 0xf1, 0x34, +}; +static const struct drbg_kat_no_reseed kat462_t = { + 11, kat462_entropyin, kat462_nonce, kat462_persstr, + kat462_addin0, kat462_addin1, kat462_retbits +}; +static const struct drbg_kat kat462 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat462_t +}; + +static const unsigned char kat463_entropyin[] = { + 0x48, 0xc4, 0xfc, 0xab, 0x28, 0x5f, 0x5b, 0xb3, 0xed, 0xaa, 0x34, 0x8c, + 0x45, 0x06, 0xd2, 0x36, 0xbb, 0x9f, 0xbb, 0x29, 0x7d, 0xd4, 0xf3, 0x28, +}; +static const unsigned char kat463_nonce[] = { + 0x8a, 0xda, 0x0b, 0x51, 0x6d, 0xc4, 0x9a, 0xc8, 0xc3, 0x44, 0xf3, 0xb7, + 0x28, 0x27, 0x40, 0x18, +}; +static const unsigned char kat463_persstr[] = { + 0x52, 0x8e, 0xed, 0x74, 0x30, 0x85, 0xd3, 0xd4, 0x16, 0xbd, 0x06, 0x98, + 0x4d, 0xe2, 0x44, 0x16, 0x1b, 0xde, 0xe0, 0xbf, 0xb5, 0x98, 0xa7, 0x47, + 0xf2, 0x9c, 0x37, 0xfa, 0x94, 0x12, 0x97, 0x6f, +}; +static const unsigned char kat463_addin0[] = {0}; +static const unsigned char kat463_addin1[] = {0}; +static const unsigned char kat463_retbits[] = { + 0x2b, 0x47, 0x3e, 0x1c, 0x19, 0x69, 0x3b, 0x30, 0x8d, 0xef, 0x41, 0xf0, + 0xcd, 0x99, 0xcd, 0xbf, 0x33, 0x1c, 0x7d, 0x7d, 0x21, 0x5c, 0xd5, 0x02, + 0x8e, 0x36, 0x19, 0xad, 0x91, 0xc8, 0xe7, 0xd5, 0xe0, 0x24, 0x80, 0x48, + 0x29, 0xf4, 0xb2, 0x90, 0x5a, 0x33, 0x54, 0x49, 0x96, 0x19, 0x6d, 0x5c, + 0xaf, 0xab, 0xd2, 0x27, 0x0d, 0x3c, 0xdd, 0x66, 0x89, 0xdd, 0x12, 0x46, + 0x24, 0x68, 0xad, 0x50, +}; +static const struct drbg_kat_no_reseed kat463_t = { + 12, kat463_entropyin, kat463_nonce, kat463_persstr, + kat463_addin0, kat463_addin1, kat463_retbits +}; +static const struct drbg_kat kat463 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat463_t +}; + +static const unsigned char kat464_entropyin[] = { + 0x60, 0x7f, 0xf9, 0x9f, 0xac, 0xb2, 0x69, 0xd5, 0xe8, 0x5b, 0xaf, 0x03, + 0xdd, 0x93, 0xde, 0x5e, 0xa5, 0x43, 0x16, 0x8e, 0x69, 0x39, 0xd9, 0x72, +}; +static const unsigned char kat464_nonce[] = { + 0xf8, 0x49, 0xa0, 0xfa, 0x95, 0xd0, 0x4b, 0x74, 0x1e, 0x46, 0xd1, 0x8f, + 0x06, 0x12, 0xee, 0xb7, +}; +static const unsigned char kat464_persstr[] = { + 0x95, 0xfe, 0x53, 0xeb, 0x4d, 0xb0, 0x9a, 0xa8, 0x5b, 0x94, 0x06, 0x53, + 0x0c, 0x9e, 0x99, 0x4c, 0x69, 0x5b, 0x86, 0xc9, 0xf0, 0x4e, 0xe5, 0x3f, + 0x7f, 0x49, 0x2c, 0x4d, 0x75, 0x82, 0x02, 0xad, +}; +static const unsigned char kat464_addin0[] = {0}; +static const unsigned char kat464_addin1[] = {0}; +static const unsigned char kat464_retbits[] = { + 0xca, 0xe0, 0x4e, 0xd6, 0x42, 0xfa, 0x6d, 0xd8, 0x75, 0x6a, 0x97, 0xb6, + 0xa3, 0x24, 0x94, 0xd6, 0xb9, 0x5d, 0x5a, 0x52, 0x65, 0x41, 0x2d, 0x27, + 0xa0, 0xda, 0x9a, 0x70, 0xad, 0x91, 0x4e, 0xd3, 0x1a, 0x67, 0x4c, 0x6e, + 0xd9, 0x00, 0xbe, 0x9a, 0xfa, 0x49, 0x3f, 0x8e, 0x14, 0x1a, 0x08, 0xab, + 0xa8, 0xda, 0xb7, 0x5c, 0xba, 0x57, 0x3c, 0x46, 0x63, 0x7a, 0x9f, 0xaf, + 0x4c, 0x6a, 0x71, 0x61, +}; +static const struct drbg_kat_no_reseed kat464_t = { + 13, kat464_entropyin, kat464_nonce, kat464_persstr, + kat464_addin0, kat464_addin1, kat464_retbits +}; +static const struct drbg_kat kat464 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat464_t +}; + +static const unsigned char kat465_entropyin[] = { + 0x99, 0xe2, 0xdf, 0x3b, 0xd5, 0x50, 0x08, 0xe9, 0xce, 0xa0, 0xd0, 0xea, + 0x58, 0xc3, 0x02, 0x2e, 0xff, 0x1d, 0x1e, 0x48, 0x9c, 0xd6, 0xf8, 0xee, +}; +static const unsigned char kat465_nonce[] = { + 0xb3, 0x90, 0x7b, 0x88, 0x20, 0xc9, 0xf2, 0x29, 0x79, 0xb6, 0x63, 0x29, + 0x2f, 0x7a, 0xc7, 0x88, +}; +static const unsigned char kat465_persstr[] = { + 0x28, 0xbe, 0xb6, 0x61, 0x18, 0xcb, 0xce, 0x5e, 0xed, 0x82, 0x5b, 0xdc, + 0xa9, 0xc8, 0xb6, 0x5b, 0x6c, 0x6a, 0x49, 0x8d, 0xb6, 0x22, 0x6e, 0x72, + 0xe1, 0xfc, 0x01, 0xe7, 0x1f, 0xd2, 0x2c, 0x82, +}; +static const unsigned char kat465_addin0[] = {0}; +static const unsigned char kat465_addin1[] = {0}; +static const unsigned char kat465_retbits[] = { + 0x43, 0xeb, 0x72, 0x1f, 0x36, 0x69, 0xf9, 0x18, 0xfd, 0x84, 0x1d, 0x79, + 0xe2, 0xa2, 0x36, 0x48, 0xf8, 0x8c, 0x98, 0x69, 0x26, 0x0b, 0x62, 0x4b, + 0x8a, 0x33, 0x81, 0xbd, 0xc1, 0xd2, 0xb1, 0x29, 0x6b, 0x6b, 0xa1, 0xe0, + 0x75, 0xcd, 0x4d, 0x3e, 0xe0, 0x6a, 0x8b, 0x4f, 0x98, 0x6c, 0x00, 0xbb, + 0x2b, 0x9c, 0x5a, 0x1e, 0xb2, 0x3b, 0x82, 0xce, 0x08, 0x1f, 0x51, 0x91, + 0x3e, 0x46, 0xa4, 0xdc, +}; +static const struct drbg_kat_no_reseed kat465_t = { + 14, kat465_entropyin, kat465_nonce, kat465_persstr, + kat465_addin0, kat465_addin1, kat465_retbits +}; +static const struct drbg_kat kat465 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat465_t +}; + +static const unsigned char kat466_entropyin[] = { + 0x43, 0xf2, 0x47, 0xa2, 0xee, 0x1c, 0xb5, 0x94, 0x3f, 0x0a, 0x4a, 0x69, + 0x42, 0x35, 0x5b, 0x16, 0x33, 0xab, 0x82, 0xd0, 0xcf, 0x60, 0xd4, 0x33, +}; +static const unsigned char kat466_nonce[] = { + 0x81, 0x81, 0xab, 0x27, 0xf9, 0x3f, 0x66, 0x23, 0x25, 0xf8, 0xcd, 0xf7, + 0x7b, 0xd4, 0x63, 0x99, +}; +static const unsigned char kat466_persstr[] = { + 0xd3, 0x93, 0x50, 0x8a, 0x6d, 0xa0, 0x49, 0xa6, 0x46, 0xaa, 0xc8, 0xc9, + 0xcf, 0x8f, 0xf5, 0x3a, 0x70, 0xf6, 0x64, 0x5a, 0x67, 0xec, 0x46, 0x6d, + 0x6e, 0xa6, 0x24, 0x1e, 0x0f, 0xac, 0xfa, 0xd9, +}; +static const unsigned char kat466_addin0[] = { + 0xdc, 0x3e, 0x8d, 0x4c, 0x2b, 0xd4, 0xae, 0xe2, 0x78, 0xde, 0x3f, 0x99, + 0x8c, 0xa6, 0x03, 0xec, 0x50, 0x23, 0x32, 0xb6, 0xa1, 0xcb, 0x6c, 0x82, + 0x85, 0xb8, 0x4c, 0x84, 0xba, 0x54, 0xd7, 0x32, +}; +static const unsigned char kat466_addin1[] = { + 0x1d, 0x0d, 0x64, 0xb5, 0xa5, 0x0d, 0xe0, 0x3e, 0xe2, 0x65, 0x4f, 0xa5, + 0x90, 0x00, 0xfb, 0xff, 0x87, 0xb4, 0xb8, 0xb3, 0x2e, 0x90, 0xa4, 0xde, + 0xe9, 0x0c, 0x9a, 0x76, 0x12, 0xea, 0xa5, 0x75, +}; +static const unsigned char kat466_retbits[] = { + 0xd6, 0xd7, 0xc6, 0x4d, 0xd9, 0x22, 0xf9, 0xc7, 0xf3, 0xf5, 0x38, 0xc4, + 0xcb, 0xc7, 0x91, 0xda, 0x2d, 0xd1, 0x3f, 0x27, 0x81, 0x35, 0x22, 0x5c, + 0xd7, 0xce, 0x36, 0x73, 0x8c, 0xe2, 0x72, 0xf3, 0x51, 0x55, 0xd4, 0xc2, + 0x69, 0x6e, 0x7e, 0x10, 0xa8, 0xf4, 0x8c, 0x73, 0x60, 0xa1, 0xb3, 0x1a, + 0x30, 0x03, 0x7f, 0x66, 0x04, 0xff, 0xb7, 0xbc, 0x7b, 0x29, 0xef, 0x0e, + 0xf5, 0xac, 0xa8, 0x4a, +}; +static const struct drbg_kat_no_reseed kat466_t = { + 0, kat466_entropyin, kat466_nonce, kat466_persstr, + kat466_addin0, kat466_addin1, kat466_retbits +}; +static const struct drbg_kat kat466 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat466_t +}; + +static const unsigned char kat467_entropyin[] = { + 0xb4, 0xe8, 0xfb, 0xf6, 0x33, 0x51, 0x38, 0xa2, 0x4e, 0xfb, 0x12, 0x0e, + 0xe9, 0xff, 0x7f, 0x99, 0xe1, 0x94, 0xa1, 0x7e, 0x64, 0x49, 0x62, 0xe0, +}; +static const unsigned char kat467_nonce[] = { + 0x8e, 0x4d, 0xad, 0x78, 0x74, 0x19, 0x52, 0xb3, 0x4a, 0x27, 0xbb, 0x85, + 0xce, 0x2b, 0xeb, 0xd7, +}; +static const unsigned char kat467_persstr[] = { + 0x44, 0x08, 0xdc, 0x6f, 0x19, 0xad, 0x7c, 0xab, 0x07, 0x60, 0x56, 0x0c, + 0x21, 0x75, 0x32, 0xab, 0x7d, 0xd5, 0x65, 0x81, 0x20, 0xa9, 0x4a, 0x60, + 0x3f, 0xe3, 0xb6, 0x2f, 0x8f, 0xc5, 0x58, 0x38, +}; +static const unsigned char kat467_addin0[] = { + 0x2f, 0x18, 0xe4, 0x2c, 0x7a, 0x50, 0x80, 0x1b, 0xf5, 0x13, 0x5a, 0x0d, + 0x8f, 0xce, 0x0a, 0x9b, 0x80, 0x2b, 0xea, 0x0b, 0xef, 0x4c, 0x7f, 0x35, + 0xe4, 0xd8, 0x94, 0x82, 0x11, 0x54, 0x72, 0x21, +}; +static const unsigned char kat467_addin1[] = { + 0xde, 0x9e, 0x72, 0xfe, 0x41, 0x30, 0xfb, 0x75, 0xc8, 0xca, 0xed, 0x41, + 0x5e, 0x14, 0xbd, 0x0b, 0x92, 0x2b, 0x9b, 0xef, 0x8b, 0xe1, 0x44, 0xf4, + 0x36, 0xde, 0xfa, 0xda, 0x10, 0x96, 0xf9, 0x81, +}; +static const unsigned char kat467_retbits[] = { + 0x85, 0x7a, 0x93, 0x1d, 0x68, 0xe2, 0xf1, 0xf4, 0x1d, 0x9e, 0x92, 0xa7, + 0x4f, 0x57, 0x8b, 0xcc, 0x86, 0x08, 0x26, 0x04, 0x03, 0x2f, 0x3b, 0xca, + 0x15, 0x2e, 0x70, 0xcb, 0xb4, 0xc0, 0xfa, 0xda, 0xdc, 0x26, 0xbd, 0x26, + 0x67, 0x19, 0x4a, 0x6c, 0x72, 0x7e, 0x32, 0xec, 0xc1, 0xb2, 0xfc, 0x63, + 0x4b, 0x5b, 0xdd, 0x2d, 0x90, 0x06, 0xe6, 0xfa, 0xaf, 0xfc, 0x23, 0x34, + 0x53, 0xda, 0x47, 0x25, +}; +static const struct drbg_kat_no_reseed kat467_t = { + 1, kat467_entropyin, kat467_nonce, kat467_persstr, + kat467_addin0, kat467_addin1, kat467_retbits +}; +static const struct drbg_kat kat467 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat467_t +}; + +static const unsigned char kat468_entropyin[] = { + 0xd3, 0xd9, 0x0c, 0x95, 0x3e, 0x60, 0xcc, 0xe2, 0x9d, 0x49, 0x13, 0xb6, + 0xba, 0x67, 0x66, 0xf9, 0xd8, 0x5f, 0x1f, 0xa0, 0x54, 0xf2, 0x35, 0x9c, +}; +static const unsigned char kat468_nonce[] = { + 0x90, 0x23, 0xad, 0x28, 0xe8, 0xc5, 0xf2, 0xe4, 0xbe, 0x8f, 0xb2, 0xd8, + 0x6f, 0x62, 0x25, 0x05, +}; +static const unsigned char kat468_persstr[] = { + 0xd4, 0x9d, 0xb6, 0x64, 0xdc, 0xa3, 0xc4, 0x0e, 0x69, 0x12, 0x7b, 0x04, + 0xf8, 0xec, 0x7f, 0xb0, 0x07, 0x73, 0xb8, 0xdd, 0xdd, 0xb9, 0x1a, 0xe2, + 0xe1, 0xe3, 0xc8, 0x4c, 0x68, 0xff, 0x98, 0x55, +}; +static const unsigned char kat468_addin0[] = { + 0xee, 0x10, 0xa8, 0x06, 0x78, 0x41, 0xb5, 0xb4, 0xa3, 0xa6, 0xf3, 0x49, + 0x67, 0x04, 0xe9, 0x74, 0x78, 0xa4, 0x4c, 0xdc, 0xc8, 0x57, 0xe4, 0xf2, + 0x96, 0x80, 0xf6, 0x69, 0xec, 0x5a, 0x83, 0xd1, +}; +static const unsigned char kat468_addin1[] = { + 0xef, 0xbb, 0x9a, 0x69, 0x6e, 0xfc, 0x90, 0xa7, 0x74, 0xee, 0x87, 0xb7, + 0xed, 0x43, 0x45, 0x03, 0x79, 0x2c, 0x1a, 0x29, 0xbe, 0xec, 0xe9, 0x34, + 0x2e, 0x0b, 0x57, 0x24, 0xc3, 0xf5, 0xbc, 0xc6, +}; +static const unsigned char kat468_retbits[] = { + 0x28, 0x4f, 0xec, 0xb8, 0x33, 0xa6, 0xe4, 0x18, 0xe9, 0xe5, 0x16, 0xc1, + 0x71, 0xfc, 0xe8, 0x52, 0xe7, 0x02, 0xa4, 0x48, 0x86, 0x74, 0x77, 0x1c, + 0x91, 0x3e, 0x85, 0x16, 0x9f, 0x19, 0x5b, 0xb7, 0x99, 0xf0, 0x19, 0xac, + 0x1b, 0x55, 0xa7, 0xe3, 0x93, 0x7f, 0xa7, 0x70, 0x33, 0x07, 0x22, 0xa8, + 0x01, 0x51, 0x13, 0x84, 0xd8, 0x56, 0xfb, 0x19, 0x9b, 0x76, 0xe2, 0x64, + 0xca, 0xa0, 0x6b, 0x6d, +}; +static const struct drbg_kat_no_reseed kat468_t = { + 2, kat468_entropyin, kat468_nonce, kat468_persstr, + kat468_addin0, kat468_addin1, kat468_retbits +}; +static const struct drbg_kat kat468 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat468_t +}; + +static const unsigned char kat469_entropyin[] = { + 0x90, 0x7b, 0xc8, 0xc3, 0xa8, 0xc6, 0x94, 0x64, 0x69, 0xc4, 0x88, 0xbf, + 0x18, 0xa8, 0xe6, 0x7f, 0x7c, 0xc0, 0x45, 0xff, 0x4e, 0xd6, 0x9d, 0x5f, +}; +static const unsigned char kat469_nonce[] = { + 0xc2, 0xe0, 0xcb, 0xb2, 0x6a, 0x48, 0x23, 0x2d, 0xd3, 0x23, 0x10, 0xb1, + 0xce, 0xb3, 0x2e, 0x9b, +}; +static const unsigned char kat469_persstr[] = { + 0xab, 0x67, 0xf1, 0xfd, 0x53, 0xe1, 0x2c, 0x36, 0x47, 0x22, 0xd6, 0xb5, + 0x47, 0x5d, 0x55, 0x55, 0xa1, 0x79, 0x51, 0xeb, 0x10, 0xd2, 0x00, 0x55, + 0xca, 0x3e, 0x40, 0x86, 0xbb, 0xde, 0xd2, 0xdb, +}; +static const unsigned char kat469_addin0[] = { + 0xac, 0x77, 0x29, 0x46, 0x2a, 0x01, 0x24, 0x14, 0x36, 0xc3, 0xbe, 0x8e, + 0x85, 0x40, 0x18, 0x73, 0x3a, 0x84, 0x25, 0x4f, 0x1e, 0x0a, 0x23, 0x43, + 0xca, 0x69, 0x05, 0x8c, 0x54, 0x71, 0x6f, 0x1b, +}; +static const unsigned char kat469_addin1[] = { + 0x85, 0xd4, 0x36, 0x47, 0xb3, 0x6e, 0x29, 0x4a, 0xbd, 0xdb, 0x01, 0x36, + 0xb6, 0x55, 0x0d, 0xf3, 0xcb, 0x31, 0x4c, 0x88, 0x92, 0xfe, 0x27, 0x9b, + 0x96, 0x5f, 0x4e, 0x89, 0x31, 0xed, 0xf2, 0xbf, +}; +static const unsigned char kat469_retbits[] = { + 0xad, 0x8a, 0x6f, 0xd4, 0xc3, 0xc8, 0x5c, 0x4d, 0xf1, 0x87, 0xf0, 0x35, + 0x43, 0x32, 0x50, 0xb6, 0x50, 0xec, 0x96, 0xad, 0x96, 0x2c, 0x36, 0x5a, + 0x8b, 0x14, 0x42, 0x5c, 0x4d, 0x37, 0xb0, 0xc4, 0xfd, 0x58, 0xd0, 0x0f, + 0x10, 0x94, 0xea, 0x76, 0x27, 0xac, 0xaf, 0x67, 0xb2, 0x37, 0x34, 0x46, + 0x83, 0xb5, 0x13, 0xe8, 0xf5, 0x24, 0xee, 0xc4, 0x96, 0xea, 0x90, 0x7b, + 0x0c, 0xb8, 0x1c, 0x27, +}; +static const struct drbg_kat_no_reseed kat469_t = { + 3, kat469_entropyin, kat469_nonce, kat469_persstr, + kat469_addin0, kat469_addin1, kat469_retbits +}; +static const struct drbg_kat kat469 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat469_t +}; + +static const unsigned char kat470_entropyin[] = { + 0x9e, 0xc0, 0x4e, 0x7c, 0x20, 0xf7, 0x76, 0x63, 0xd3, 0x30, 0xa4, 0x3e, + 0xf1, 0x93, 0xf3, 0xa3, 0xba, 0xee, 0xc8, 0x9e, 0xc0, 0x86, 0x0b, 0x7c, +}; +static const unsigned char kat470_nonce[] = { + 0x32, 0x67, 0xaa, 0xcc, 0x67, 0x60, 0x2d, 0x44, 0xb4, 0x06, 0x63, 0xf3, + 0xe7, 0x9d, 0x99, 0xa1, +}; +static const unsigned char kat470_persstr[] = { + 0xad, 0xc1, 0x05, 0xb4, 0x10, 0x39, 0xe0, 0x58, 0x63, 0x5b, 0x67, 0x6b, + 0xf7, 0xc0, 0x7d, 0x00, 0x45, 0xf7, 0x5e, 0xbf, 0x64, 0x23, 0x91, 0xf5, + 0x68, 0x49, 0x99, 0xa5, 0xc2, 0xf3, 0xa4, 0xfd, +}; +static const unsigned char kat470_addin0[] = { + 0xa5, 0xb3, 0x74, 0xce, 0x0a, 0x74, 0x9e, 0xd1, 0x20, 0xb7, 0xb3, 0xad, + 0xcc, 0x5e, 0xe9, 0x3d, 0xcc, 0xb2, 0xb0, 0x54, 0x55, 0xc6, 0x26, 0xdf, + 0x03, 0xd1, 0x86, 0xc9, 0x65, 0xbb, 0x6b, 0xbc, +}; +static const unsigned char kat470_addin1[] = { + 0x1e, 0xb5, 0x92, 0x13, 0x3f, 0x72, 0xec, 0x56, 0xc3, 0xda, 0xb6, 0xa5, + 0x37, 0x89, 0x72, 0x0b, 0xd2, 0xeb, 0xc1, 0xbd, 0x1f, 0x74, 0x6f, 0x7a, + 0x05, 0x49, 0x9d, 0xdb, 0x7d, 0x9c, 0x35, 0xa9, +}; +static const unsigned char kat470_retbits[] = { + 0x69, 0x9f, 0x32, 0xe3, 0x06, 0x6a, 0xc7, 0xe1, 0xf9, 0x3c, 0x8e, 0x0b, + 0x41, 0xdd, 0xea, 0x89, 0x8d, 0xf4, 0x22, 0x89, 0xf8, 0x63, 0x2b, 0x97, + 0x6f, 0x5e, 0x64, 0xea, 0xa8, 0x23, 0xff, 0x28, 0xdf, 0xd9, 0xd4, 0xe1, + 0x24, 0x44, 0x9a, 0x7f, 0xfe, 0x1a, 0x60, 0x3e, 0x04, 0x07, 0xb1, 0x3f, + 0x7b, 0x44, 0xb4, 0xa5, 0x01, 0x02, 0x5e, 0x12, 0x24, 0xd8, 0x4b, 0xd2, + 0xe7, 0x80, 0xa6, 0x44, +}; +static const struct drbg_kat_no_reseed kat470_t = { + 4, kat470_entropyin, kat470_nonce, kat470_persstr, + kat470_addin0, kat470_addin1, kat470_retbits +}; +static const struct drbg_kat kat470 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat470_t +}; + +static const unsigned char kat471_entropyin[] = { + 0x9d, 0xa2, 0x56, 0xb4, 0xe1, 0x5b, 0x21, 0xd4, 0x8a, 0x9f, 0x59, 0x25, + 0xc1, 0x1d, 0x27, 0x5c, 0x8b, 0x45, 0x8a, 0xef, 0x75, 0x0e, 0xa2, 0xb5, +}; +static const unsigned char kat471_nonce[] = { + 0x95, 0xa9, 0xbf, 0x02, 0xb8, 0xb9, 0xa9, 0x8f, 0x71, 0x20, 0xa8, 0x66, + 0x76, 0x41, 0x03, 0x54, +}; +static const unsigned char kat471_persstr[] = { + 0xf6, 0xe8, 0xc3, 0x6b, 0x41, 0xd3, 0xd0, 0xd7, 0x47, 0x13, 0x31, 0x98, + 0xa0, 0x30, 0x3c, 0x8a, 0x9a, 0x9d, 0xe2, 0xaa, 0x78, 0x46, 0x39, 0xaf, + 0x12, 0x2b, 0xac, 0x75, 0xd6, 0xeb, 0x85, 0x35, +}; +static const unsigned char kat471_addin0[] = { + 0x62, 0xda, 0x4a, 0xa2, 0x14, 0x44, 0x26, 0xd1, 0xee, 0x35, 0x81, 0xa8, + 0xc0, 0xf9, 0x1b, 0x84, 0xe1, 0x7a, 0xce, 0x43, 0xf5, 0x66, 0xb2, 0x57, + 0xd8, 0x5c, 0xf9, 0xf9, 0xb1, 0xdb, 0x02, 0x1d, +}; +static const unsigned char kat471_addin1[] = { + 0xd7, 0x1f, 0xfa, 0x97, 0xfd, 0x0a, 0x7a, 0x80, 0xb9, 0x19, 0xc2, 0x1d, + 0xd7, 0xaf, 0xfc, 0x57, 0x77, 0x00, 0xac, 0xa7, 0xdc, 0xa6, 0x31, 0x1d, + 0x3b, 0x90, 0x64, 0xf5, 0x02, 0x08, 0x43, 0x5b, +}; +static const unsigned char kat471_retbits[] = { + 0x12, 0x09, 0x92, 0xa8, 0x2a, 0xd8, 0xfe, 0xd5, 0xad, 0x49, 0xdb, 0x7b, + 0x75, 0x6b, 0x94, 0x18, 0x5e, 0x15, 0xb1, 0xfb, 0x53, 0xaa, 0xa6, 0x4e, + 0x6c, 0x7b, 0x9a, 0xc1, 0x44, 0x87, 0x30, 0x7d, 0x0f, 0xbb, 0x5f, 0x51, + 0x95, 0x27, 0xe4, 0x68, 0xfd, 0x97, 0x82, 0x91, 0x38, 0x1f, 0x95, 0x92, + 0xcc, 0xf5, 0x3d, 0xf5, 0x87, 0x58, 0x6c, 0xa0, 0xfd, 0xce, 0x0c, 0x81, + 0x31, 0x0d, 0xbb, 0xb3, +}; +static const struct drbg_kat_no_reseed kat471_t = { + 5, kat471_entropyin, kat471_nonce, kat471_persstr, + kat471_addin0, kat471_addin1, kat471_retbits +}; +static const struct drbg_kat kat471 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat471_t +}; + +static const unsigned char kat472_entropyin[] = { + 0xa8, 0x13, 0xae, 0x3d, 0x13, 0x8b, 0xb9, 0x76, 0x87, 0x59, 0xe2, 0x59, + 0x0a, 0xdd, 0xea, 0x63, 0x90, 0x26, 0x64, 0x05, 0xb8, 0xf5, 0x9b, 0x68, +}; +static const unsigned char kat472_nonce[] = { + 0x52, 0x49, 0xee, 0x76, 0xa7, 0xe7, 0x92, 0xe6, 0xa1, 0xce, 0x5c, 0xad, + 0xe7, 0x89, 0xb8, 0x46, +}; +static const unsigned char kat472_persstr[] = { + 0x7b, 0x4b, 0x71, 0x74, 0x7d, 0x17, 0x90, 0x2f, 0x3f, 0xbb, 0xeb, 0x3a, + 0x60, 0x00, 0x5c, 0x2a, 0x30, 0xe9, 0x02, 0xf6, 0x96, 0xa8, 0xd2, 0xd8, + 0xff, 0x68, 0x28, 0xd7, 0x55, 0x1d, 0x87, 0x49, +}; +static const unsigned char kat472_addin0[] = { + 0x6d, 0xdb, 0x92, 0x55, 0x50, 0x8d, 0x29, 0xaf, 0x7a, 0x99, 0x8e, 0x14, + 0x6d, 0x82, 0x06, 0xbe, 0xaf, 0x82, 0xc1, 0xbb, 0x7d, 0x42, 0x3d, 0x92, + 0x60, 0x5e, 0x69, 0xa6, 0xa0, 0x31, 0x80, 0xe4, +}; +static const unsigned char kat472_addin1[] = { + 0x84, 0x85, 0xf2, 0x57, 0xd4, 0x4a, 0x82, 0xbf, 0x92, 0x00, 0x13, 0xcc, + 0x8b, 0x83, 0x21, 0xa3, 0x57, 0xd1, 0x93, 0x3b, 0x64, 0x39, 0x5c, 0x12, + 0x55, 0x40, 0x90, 0x8d, 0xa9, 0xea, 0x9e, 0x99, +}; +static const unsigned char kat472_retbits[] = { + 0x52, 0xfb, 0x04, 0x00, 0xf8, 0xdf, 0xcf, 0x69, 0x4f, 0x0d, 0xaa, 0xda, + 0x7b, 0xa7, 0x81, 0xe0, 0x9a, 0xf5, 0xe4, 0x8f, 0xcf, 0xcb, 0xe7, 0x18, + 0x05, 0x2b, 0x46, 0xa3, 0x89, 0xdf, 0x71, 0x3a, 0xb3, 0xaf, 0x71, 0x69, + 0x9c, 0x41, 0xd4, 0x1e, 0x65, 0x42, 0xb8, 0x7c, 0xd9, 0xbe, 0xc4, 0xce, + 0x0f, 0xd2, 0x92, 0xae, 0x52, 0xea, 0xd7, 0x8c, 0xf5, 0x2e, 0x0c, 0xac, + 0x5c, 0xcd, 0x4f, 0x01, +}; +static const struct drbg_kat_no_reseed kat472_t = { + 6, kat472_entropyin, kat472_nonce, kat472_persstr, + kat472_addin0, kat472_addin1, kat472_retbits +}; +static const struct drbg_kat kat472 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat472_t +}; + +static const unsigned char kat473_entropyin[] = { + 0x67, 0xe4, 0x44, 0x71, 0xbc, 0x65, 0x6e, 0xec, 0xee, 0x78, 0x05, 0x38, + 0x0e, 0x98, 0x49, 0xf9, 0xe3, 0xf4, 0xf2, 0xf4, 0xac, 0xba, 0x52, 0x05, +}; +static const unsigned char kat473_nonce[] = { + 0x60, 0x18, 0xf7, 0xe1, 0xf9, 0x43, 0xfd, 0xcf, 0x7f, 0xc9, 0x59, 0x5e, + 0xd0, 0xa0, 0x81, 0x07, +}; +static const unsigned char kat473_persstr[] = { + 0xff, 0x0f, 0x82, 0xbd, 0x94, 0xfa, 0x8c, 0x65, 0x54, 0xe0, 0x5c, 0x69, + 0x57, 0x97, 0x3b, 0xb8, 0xc4, 0xf3, 0xbd, 0x3e, 0x88, 0x57, 0xab, 0xfc, + 0xbc, 0xde, 0x87, 0xc5, 0x84, 0xf7, 0x56, 0x11, +}; +static const unsigned char kat473_addin0[] = { + 0xf0, 0x9d, 0xfa, 0xdc, 0xbd, 0xa7, 0x19, 0x08, 0xda, 0x9d, 0xd7, 0xbb, + 0x7a, 0x9e, 0x16, 0xa3, 0xc2, 0x5e, 0x30, 0x20, 0x50, 0x23, 0x5e, 0xaf, + 0xd9, 0x43, 0x2a, 0x8a, 0x78, 0x78, 0xc1, 0x0d, +}; +static const unsigned char kat473_addin1[] = { + 0x1f, 0xc8, 0xb6, 0x0f, 0xc0, 0x30, 0xf7, 0xc4, 0x17, 0x7a, 0x51, 0x47, + 0x07, 0x15, 0x13, 0xfc, 0x2f, 0x17, 0x46, 0x59, 0xb0, 0x12, 0x88, 0x9a, + 0x0c, 0x58, 0x3b, 0xed, 0x7c, 0x38, 0x18, 0xb7, +}; +static const unsigned char kat473_retbits[] = { + 0x35, 0xb2, 0xbc, 0x5f, 0x59, 0x24, 0x28, 0xd6, 0x1b, 0xb7, 0xe0, 0x62, + 0xbf, 0x96, 0x30, 0x31, 0x02, 0x11, 0x8a, 0xc5, 0xb1, 0x66, 0x50, 0x8a, + 0xd5, 0xcd, 0x22, 0x81, 0xf5, 0x9b, 0x38, 0x06, 0xbe, 0x11, 0x8e, 0x97, + 0x88, 0x7c, 0x57, 0x32, 0xfd, 0x96, 0xc7, 0xb1, 0x71, 0x43, 0x17, 0x59, + 0x7a, 0xaf, 0x20, 0xa1, 0xa6, 0xdd, 0xf7, 0x57, 0x8e, 0xfb, 0x74, 0x36, + 0x98, 0x0f, 0x99, 0x38, +}; +static const struct drbg_kat_no_reseed kat473_t = { + 7, kat473_entropyin, kat473_nonce, kat473_persstr, + kat473_addin0, kat473_addin1, kat473_retbits +}; +static const struct drbg_kat kat473 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat473_t +}; + +static const unsigned char kat474_entropyin[] = { + 0x94, 0x32, 0x32, 0x27, 0x08, 0x8d, 0x2d, 0x5d, 0xdf, 0x36, 0xa1, 0xc4, + 0x24, 0x35, 0xe2, 0x05, 0xb9, 0xe7, 0xef, 0x19, 0xb6, 0xaf, 0xf0, 0x92, +}; +static const unsigned char kat474_nonce[] = { + 0x9f, 0x96, 0x64, 0xc8, 0x7d, 0x7a, 0x43, 0x14, 0x2c, 0xe3, 0x79, 0x9d, + 0x17, 0x91, 0xc0, 0xc6, +}; +static const unsigned char kat474_persstr[] = { + 0xa5, 0xf8, 0x3a, 0x66, 0x27, 0x7c, 0xb6, 0xc9, 0x4b, 0x20, 0x86, 0x0d, + 0xa0, 0x88, 0x74, 0xf3, 0x3c, 0x2a, 0x35, 0x34, 0xcf, 0xc7, 0xaa, 0x53, + 0xf4, 0x0b, 0xeb, 0x4f, 0xde, 0xff, 0x87, 0x0b, +}; +static const unsigned char kat474_addin0[] = { + 0x41, 0x36, 0xba, 0xcf, 0x19, 0xb6, 0xed, 0xa7, 0x5f, 0x69, 0x92, 0x71, + 0xe5, 0xb3, 0x82, 0xf0, 0xf5, 0x8d, 0xd8, 0xb5, 0x9e, 0x0e, 0xaa, 0xc6, + 0xe4, 0x37, 0x99, 0x52, 0x5f, 0x7e, 0x3b, 0x76, +}; +static const unsigned char kat474_addin1[] = { + 0x2c, 0xec, 0x57, 0xe8, 0xec, 0xb9, 0x34, 0x63, 0x80, 0xb3, 0x80, 0xbf, + 0x9e, 0xe7, 0x7d, 0x1b, 0x07, 0x7d, 0x8b, 0x79, 0x20, 0x4d, 0x73, 0xe0, + 0xe4, 0x46, 0xef, 0x38, 0xe1, 0xa9, 0xf2, 0x6e, +}; +static const unsigned char kat474_retbits[] = { + 0x53, 0x11, 0x2d, 0x08, 0x4e, 0x01, 0x60, 0xa7, 0x62, 0xfd, 0x90, 0x8e, + 0x05, 0x40, 0xd5, 0x3b, 0x07, 0xcb, 0xe6, 0x48, 0x4b, 0xe9, 0xcd, 0xbd, + 0xa8, 0xf3, 0xa1, 0xc1, 0x4f, 0x79, 0xf2, 0xd2, 0xe0, 0x69, 0x39, 0x62, + 0xf1, 0x7e, 0x10, 0xed, 0xd0, 0x7c, 0x66, 0xd4, 0x2b, 0x40, 0xaf, 0xb4, + 0xf0, 0x2d, 0x69, 0x5e, 0x49, 0x84, 0x6f, 0x37, 0x6d, 0xcd, 0x2b, 0x5c, + 0xd2, 0x1c, 0x9c, 0xb6, +}; +static const struct drbg_kat_no_reseed kat474_t = { + 8, kat474_entropyin, kat474_nonce, kat474_persstr, + kat474_addin0, kat474_addin1, kat474_retbits +}; +static const struct drbg_kat kat474 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat474_t +}; + +static const unsigned char kat475_entropyin[] = { + 0xe1, 0xce, 0x5b, 0x2c, 0x05, 0xf4, 0x5a, 0x89, 0x46, 0xf5, 0xb7, 0x94, + 0x92, 0x51, 0x7e, 0x33, 0x2b, 0xae, 0xda, 0x4d, 0x56, 0xc2, 0xab, 0xf2, +}; +static const unsigned char kat475_nonce[] = { + 0xcd, 0x2d, 0x68, 0x47, 0x5b, 0xbf, 0x8a, 0xd8, 0x75, 0xdd, 0x30, 0x9a, + 0xd4, 0x28, 0xd6, 0x44, +}; +static const unsigned char kat475_persstr[] = { + 0x74, 0xc6, 0xb1, 0x70, 0x79, 0x1c, 0x53, 0xaa, 0x1c, 0xd5, 0x2e, 0x38, + 0x2e, 0xee, 0x21, 0x84, 0x82, 0x27, 0x56, 0x7a, 0xf4, 0x0c, 0x55, 0x81, + 0xf9, 0x87, 0x48, 0xf4, 0xef, 0xc6, 0x05, 0xbd, +}; +static const unsigned char kat475_addin0[] = { + 0x49, 0xd5, 0xa1, 0x77, 0x0f, 0x85, 0x13, 0x94, 0xb6, 0xe1, 0x49, 0x19, + 0x80, 0xbf, 0xff, 0x76, 0x21, 0xbc, 0x56, 0x10, 0xb5, 0x77, 0x7e, 0x71, + 0xe9, 0xcd, 0xa3, 0x0d, 0xac, 0x1e, 0xea, 0xeb, +}; +static const unsigned char kat475_addin1[] = { + 0x4c, 0x5b, 0x15, 0x82, 0xc5, 0xf7, 0xdf, 0x4f, 0xdf, 0x91, 0x12, 0x53, + 0x30, 0xf8, 0xda, 0xdc, 0x36, 0x68, 0x77, 0xad, 0x8f, 0xea, 0xd6, 0x51, + 0xc7, 0xfb, 0xee, 0xd8, 0xee, 0x4e, 0x41, 0x78, +}; +static const unsigned char kat475_retbits[] = { + 0x3c, 0x37, 0xe1, 0xec, 0x6c, 0x18, 0x0b, 0x32, 0xa9, 0x63, 0xbc, 0x04, + 0x40, 0x22, 0x1a, 0xc5, 0xc1, 0xc3, 0x3d, 0x89, 0x27, 0x2b, 0x9f, 0x69, + 0x7c, 0x75, 0x73, 0x7d, 0xd9, 0xcd, 0x2c, 0x74, 0x9c, 0x25, 0xf3, 0xc8, + 0x45, 0x53, 0xdf, 0xae, 0xf8, 0x6a, 0xf4, 0x61, 0x13, 0xe0, 0x6f, 0xe1, + 0xf6, 0xc8, 0x91, 0xc6, 0xa3, 0x90, 0x59, 0x0e, 0x16, 0x68, 0xce, 0xb7, + 0x5c, 0x95, 0xd3, 0xc9, +}; +static const struct drbg_kat_no_reseed kat475_t = { + 9, kat475_entropyin, kat475_nonce, kat475_persstr, + kat475_addin0, kat475_addin1, kat475_retbits +}; +static const struct drbg_kat kat475 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat475_t +}; + +static const unsigned char kat476_entropyin[] = { + 0x7b, 0x9b, 0x3a, 0xaf, 0xb3, 0xda, 0x4f, 0xb6, 0x93, 0x5d, 0xe0, 0xa7, + 0x1a, 0xc9, 0xfb, 0x40, 0x95, 0xc6, 0x17, 0x35, 0x07, 0x2c, 0x28, 0xdb, +}; +static const unsigned char kat476_nonce[] = { + 0x28, 0xbe, 0x54, 0xc1, 0x96, 0xbe, 0x07, 0x2f, 0xff, 0x92, 0xbc, 0x6c, + 0xaa, 0x8c, 0xcc, 0x02, +}; +static const unsigned char kat476_persstr[] = { + 0x88, 0xea, 0x40, 0xac, 0xa2, 0xa8, 0xaa, 0xe4, 0x80, 0x85, 0x80, 0x74, + 0xbb, 0x14, 0x03, 0x69, 0x51, 0x66, 0x75, 0xbd, 0xff, 0xb7, 0xfa, 0xb4, + 0x31, 0x8c, 0xc5, 0x08, 0x35, 0x7b, 0x7b, 0xec, +}; +static const unsigned char kat476_addin0[] = { + 0xc0, 0xe3, 0xe9, 0xd7, 0x00, 0x8d, 0x64, 0xfa, 0x30, 0x69, 0xaa, 0xb3, + 0x80, 0x5c, 0x0c, 0x81, 0x7c, 0x9a, 0x09, 0x71, 0x44, 0x6a, 0x8b, 0x53, + 0xd0, 0x0f, 0xca, 0xb0, 0x2a, 0x4c, 0xcb, 0x59, +}; +static const unsigned char kat476_addin1[] = { + 0xdb, 0xac, 0x68, 0x1f, 0xbc, 0x3e, 0xb3, 0xc5, 0x73, 0x94, 0x52, 0xa5, + 0xe1, 0x50, 0xf5, 0x95, 0x65, 0x7c, 0x04, 0xf0, 0x7a, 0x52, 0x06, 0x20, + 0x52, 0xed, 0x1b, 0x19, 0xae, 0x53, 0xae, 0xd8, +}; +static const unsigned char kat476_retbits[] = { + 0x4c, 0x4d, 0x6b, 0x05, 0x8f, 0xb1, 0x33, 0x44, 0xc4, 0x17, 0x5f, 0x02, + 0x39, 0x59, 0xa7, 0x70, 0x11, 0x52, 0xae, 0x35, 0x6e, 0x40, 0x09, 0x3f, + 0x70, 0x19, 0xd4, 0x7a, 0xe5, 0x1e, 0xe5, 0x19, 0x67, 0xe4, 0xfa, 0xbb, + 0x20, 0x9b, 0x67, 0xb2, 0x0a, 0x95, 0xa3, 0x37, 0xee, 0x8d, 0x4f, 0xe5, + 0xf6, 0x66, 0xcd, 0x08, 0xfd, 0xde, 0x3a, 0x74, 0xdc, 0x9f, 0xce, 0x0a, + 0x5a, 0xe0, 0xf9, 0x31, +}; +static const struct drbg_kat_no_reseed kat476_t = { + 10, kat476_entropyin, kat476_nonce, kat476_persstr, + kat476_addin0, kat476_addin1, kat476_retbits +}; +static const struct drbg_kat kat476 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat476_t +}; + +static const unsigned char kat477_entropyin[] = { + 0x4c, 0x59, 0xc6, 0xc6, 0x7c, 0x48, 0x44, 0x17, 0x5e, 0x5f, 0x1a, 0x34, + 0xad, 0x9e, 0x08, 0x43, 0x4c, 0x20, 0x51, 0x51, 0xb7, 0x44, 0x7a, 0x01, +}; +static const unsigned char kat477_nonce[] = { + 0x82, 0x8d, 0xea, 0x3b, 0xc0, 0x7a, 0xbd, 0x45, 0xdf, 0x79, 0x7c, 0xe7, + 0xdc, 0x8e, 0xdd, 0x77, +}; +static const unsigned char kat477_persstr[] = { + 0xfb, 0x12, 0x99, 0x2f, 0x39, 0x4b, 0x21, 0x3b, 0x08, 0x7b, 0x32, 0x8f, + 0xb2, 0x74, 0xa2, 0x8f, 0x0a, 0x2d, 0x5d, 0xed, 0x77, 0x0f, 0xb8, 0xd6, + 0xfd, 0x7b, 0xf3, 0x82, 0x1d, 0x86, 0xee, 0x39, +}; +static const unsigned char kat477_addin0[] = { + 0x5a, 0xe8, 0xe9, 0x30, 0x56, 0x82, 0x1c, 0x7f, 0xb0, 0x7b, 0x48, 0xc5, + 0xc6, 0xaa, 0xd9, 0xfc, 0xf3, 0x34, 0x34, 0xec, 0x1c, 0x93, 0x94, 0x29, + 0x30, 0xec, 0x06, 0xf0, 0x31, 0x1c, 0xd0, 0x9e, +}; +static const unsigned char kat477_addin1[] = { + 0x09, 0x22, 0x28, 0x75, 0xe6, 0x9e, 0x81, 0x1b, 0x92, 0xba, 0x62, 0xc4, + 0x85, 0xa3, 0xd8, 0x10, 0xa8, 0xca, 0x89, 0xf0, 0xbe, 0x46, 0x8c, 0x7c, + 0x13, 0x61, 0x41, 0x2e, 0x19, 0x3b, 0x3c, 0x32, +}; +static const unsigned char kat477_retbits[] = { + 0xf7, 0x1b, 0x7f, 0x6c, 0xcf, 0x4d, 0xc0, 0xbc, 0x0b, 0x89, 0x8b, 0xd3, + 0x8a, 0xb8, 0x10, 0x24, 0x76, 0xd0, 0xbb, 0x7e, 0x9a, 0x1a, 0xdd, 0x22, + 0x56, 0x82, 0x16, 0xb0, 0xd5, 0xc5, 0x2c, 0x4b, 0x17, 0x19, 0xa6, 0xf2, + 0x22, 0x3b, 0xc2, 0x4a, 0x52, 0x48, 0xc9, 0x15, 0xf6, 0x5d, 0x5e, 0x18, + 0x3f, 0xb9, 0xfc, 0xfa, 0xea, 0xd6, 0x5f, 0x1a, 0xe0, 0x4b, 0xee, 0xff, + 0x1b, 0xf4, 0x25, 0x96, +}; +static const struct drbg_kat_no_reseed kat477_t = { + 11, kat477_entropyin, kat477_nonce, kat477_persstr, + kat477_addin0, kat477_addin1, kat477_retbits +}; +static const struct drbg_kat kat477 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat477_t +}; + +static const unsigned char kat478_entropyin[] = { + 0x81, 0xf4, 0xab, 0x51, 0x4e, 0x4e, 0xf1, 0xc8, 0x9f, 0x18, 0x61, 0x72, + 0x55, 0x39, 0x90, 0xaf, 0x49, 0xa3, 0xe0, 0x74, 0x72, 0x9b, 0xba, 0xec, +}; +static const unsigned char kat478_nonce[] = { + 0x35, 0xd5, 0xbb, 0x6e, 0xff, 0x10, 0xd2, 0x70, 0x35, 0xe7, 0x88, 0x8f, + 0xd6, 0xc0, 0xc5, 0x70, +}; +static const unsigned char kat478_persstr[] = { + 0xff, 0x5a, 0xa8, 0xcb, 0x94, 0x89, 0xf7, 0xfa, 0xd8, 0x82, 0x52, 0x2c, + 0x96, 0xa3, 0xc8, 0xca, 0xe8, 0x3a, 0x9b, 0x71, 0x13, 0xd0, 0xc1, 0xe4, + 0x9d, 0xa6, 0x81, 0x59, 0x8a, 0xe2, 0xfa, 0x56, +}; +static const unsigned char kat478_addin0[] = { + 0x29, 0x41, 0x78, 0x55, 0x09, 0x14, 0x8b, 0x16, 0x81, 0x3f, 0x88, 0xf1, + 0xeb, 0x43, 0x0b, 0x28, 0x62, 0xe3, 0x03, 0xfd, 0x71, 0x6b, 0x71, 0x72, + 0xb1, 0x41, 0xb9, 0x99, 0x42, 0x3f, 0xa3, 0x0e, +}; +static const unsigned char kat478_addin1[] = { + 0x3b, 0xeb, 0x13, 0xe4, 0x1b, 0x29, 0xc3, 0xf9, 0xe7, 0xc0, 0x4b, 0xd8, + 0xb9, 0x3a, 0xc2, 0xc8, 0xfb, 0xfe, 0xd0, 0x6e, 0xd3, 0x3b, 0x8e, 0xa9, + 0x31, 0x7f, 0xa4, 0xca, 0x3c, 0x25, 0x31, 0x01, +}; +static const unsigned char kat478_retbits[] = { + 0x3c, 0x33, 0xd7, 0x78, 0xb1, 0xd6, 0x1c, 0x12, 0xce, 0x1f, 0x71, 0x18, + 0x0e, 0x8d, 0xda, 0xf4, 0xf3, 0x09, 0x8b, 0x09, 0x27, 0xad, 0x9e, 0x86, + 0x3d, 0x8f, 0x74, 0xfe, 0x87, 0x1e, 0xfc, 0xa1, 0xd6, 0x72, 0xb2, 0xd0, + 0x7c, 0xa5, 0x7a, 0x89, 0x11, 0x80, 0x62, 0xbb, 0x35, 0x49, 0x94, 0xc1, + 0xc5, 0xae, 0xa5, 0xab, 0x1b, 0xe2, 0xf9, 0x25, 0x71, 0xc0, 0x72, 0x01, + 0x97, 0x43, 0x5e, 0x73, +}; +static const struct drbg_kat_no_reseed kat478_t = { + 12, kat478_entropyin, kat478_nonce, kat478_persstr, + kat478_addin0, kat478_addin1, kat478_retbits +}; +static const struct drbg_kat kat478 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat478_t +}; + +static const unsigned char kat479_entropyin[] = { + 0x6c, 0xce, 0xcf, 0xbe, 0x10, 0xea, 0xb1, 0xca, 0xa8, 0xfd, 0xa9, 0x38, + 0x40, 0x2d, 0xdc, 0x3a, 0x32, 0x93, 0xed, 0x7a, 0xed, 0x4d, 0x87, 0xa9, +}; +static const unsigned char kat479_nonce[] = { + 0x0e, 0x4e, 0x20, 0xa3, 0x5f, 0x77, 0xbd, 0xdc, 0x04, 0xb8, 0xd1, 0x72, + 0xf7, 0x8b, 0xbd, 0xee, +}; +static const unsigned char kat479_persstr[] = { + 0x2a, 0x1e, 0x1d, 0x1f, 0x13, 0x10, 0xae, 0x69, 0xaa, 0x80, 0x6b, 0x2b, + 0x14, 0xed, 0x2b, 0x1b, 0xa3, 0x08, 0x8c, 0xd3, 0x9a, 0x4c, 0x4d, 0x8f, + 0x27, 0xb4, 0x8b, 0x9e, 0x62, 0x7d, 0xe6, 0x8e, +}; +static const unsigned char kat479_addin0[] = { + 0xd4, 0x09, 0x75, 0x2d, 0x88, 0x87, 0xb3, 0x47, 0xe7, 0x78, 0x44, 0x72, + 0xc0, 0x28, 0xab, 0xd9, 0xf0, 0x45, 0xf9, 0x64, 0x1d, 0xb4, 0x63, 0x8d, + 0x67, 0x04, 0xa8, 0x2d, 0x77, 0x67, 0x16, 0xe9, +}; +static const unsigned char kat479_addin1[] = { + 0xed, 0xa7, 0x99, 0x69, 0x15, 0x48, 0x2c, 0x06, 0x09, 0xa4, 0x32, 0xe7, + 0x25, 0xfe, 0xf5, 0x8f, 0xef, 0xd9, 0x15, 0xf7, 0x8a, 0xfb, 0x80, 0xd0, + 0x66, 0x4e, 0x99, 0x68, 0xbe, 0xf6, 0x5a, 0x91, +}; +static const unsigned char kat479_retbits[] = { + 0x57, 0x99, 0x53, 0x12, 0x4f, 0x77, 0x96, 0xda, 0x17, 0xa3, 0x83, 0xc3, + 0x59, 0xc5, 0xcb, 0xae, 0x15, 0x1e, 0x18, 0xb1, 0x5f, 0x61, 0xb1, 0xe4, + 0x05, 0xed, 0x2c, 0xcd, 0xab, 0xae, 0x43, 0xe4, 0x49, 0x0d, 0x26, 0x92, + 0x72, 0x32, 0x6d, 0x13, 0x88, 0xe4, 0x59, 0x01, 0x40, 0xf4, 0xe5, 0x8d, + 0xfc, 0x6e, 0xca, 0x21, 0xf6, 0x36, 0x03, 0xdf, 0x0a, 0x62, 0x6b, 0xb7, + 0x6a, 0x28, 0x51, 0xd4, +}; +static const struct drbg_kat_no_reseed kat479_t = { + 13, kat479_entropyin, kat479_nonce, kat479_persstr, + kat479_addin0, kat479_addin1, kat479_retbits +}; +static const struct drbg_kat kat479 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat479_t +}; + +static const unsigned char kat480_entropyin[] = { + 0x3d, 0x17, 0x4d, 0x98, 0xec, 0xa8, 0x0a, 0xe3, 0x9c, 0x75, 0xd2, 0x7f, + 0x97, 0xb9, 0x9e, 0x9b, 0x0f, 0x74, 0x2b, 0x32, 0xe3, 0x7b, 0x94, 0xe8, +}; +static const unsigned char kat480_nonce[] = { + 0xbc, 0xfc, 0x46, 0x13, 0x17, 0x5b, 0x6e, 0x35, 0x34, 0x08, 0xe2, 0x3b, + 0x85, 0x81, 0xe7, 0x05, +}; +static const unsigned char kat480_persstr[] = { + 0x3d, 0x0e, 0x9f, 0xa5, 0x61, 0x6f, 0xa2, 0x5a, 0x0d, 0x58, 0xdd, 0xbd, + 0xc4, 0xa6, 0xa8, 0xe5, 0x5b, 0xef, 0x05, 0x1d, 0xb6, 0xfe, 0xdc, 0x8b, + 0xe8, 0xd4, 0xc7, 0x52, 0xf1, 0xd2, 0xc9, 0x4a, +}; +static const unsigned char kat480_addin0[] = { + 0x87, 0x18, 0xb1, 0x5a, 0x55, 0x0f, 0x97, 0x89, 0x39, 0xf5, 0x82, 0x79, + 0xec, 0xda, 0xaf, 0xe7, 0x98, 0x0a, 0x1b, 0xbf, 0xe6, 0xb9, 0xde, 0x85, + 0xb9, 0xfe, 0x10, 0x7c, 0x72, 0xa8, 0xfe, 0x20, +}; +static const unsigned char kat480_addin1[] = { + 0x07, 0x88, 0x99, 0xf5, 0xa1, 0xed, 0xd1, 0xba, 0x8e, 0x10, 0xeb, 0x8e, + 0xfa, 0x2c, 0x98, 0xba, 0x17, 0x4c, 0x1b, 0xd3, 0x5a, 0x74, 0x41, 0x4c, + 0xff, 0x86, 0x23, 0x63, 0x3a, 0xc1, 0xc2, 0x5b, +}; +static const unsigned char kat480_retbits[] = { + 0x74, 0xe1, 0x55, 0xa5, 0x70, 0x7e, 0xb1, 0x9b, 0x79, 0xcf, 0x7e, 0xfc, + 0xe1, 0xc4, 0x23, 0x7b, 0xac, 0x69, 0xe3, 0xf9, 0x31, 0x14, 0x11, 0xc9, + 0x2d, 0xac, 0xfd, 0x8a, 0xc9, 0x2e, 0xa1, 0x1a, 0x87, 0x87, 0xa4, 0x7b, + 0xc4, 0x4f, 0x1c, 0x29, 0x44, 0x44, 0x5b, 0x2b, 0x05, 0x27, 0xe1, 0x6a, + 0xec, 0x6c, 0x01, 0x16, 0x54, 0x82, 0xd7, 0xe3, 0xb6, 0x44, 0x37, 0x09, + 0x3b, 0x87, 0xbf, 0xbc, +}; +static const struct drbg_kat_no_reseed kat480_t = { + 14, kat480_entropyin, kat480_nonce, kat480_persstr, + kat480_addin0, kat480_addin1, kat480_retbits +}; +static const struct drbg_kat kat480 = { + NO_RESEED, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat480_t +}; + +static const unsigned char kat481_entropyin[] = { + 0x36, 0x40, 0x19, 0x40, 0xfa, 0x8b, 0x1f, 0xba, 0x91, 0xa1, 0x66, 0x1f, + 0x21, 0x1d, 0x78, 0xa0, 0xb9, 0x38, 0x9a, 0x74, 0xe5, 0xbc, 0xcf, 0xec, + 0xe8, 0xd7, 0x66, 0xaf, 0x1a, 0x6d, 0x3b, 0x14, +}; +static const unsigned char kat481_nonce[] = { + 0x49, 0x6f, 0x25, 0xb0, 0xf1, 0x30, 0x1b, 0x4f, 0x50, 0x1b, 0xe3, 0x03, + 0x80, 0xa1, 0x37, 0xeb, +}; +static const unsigned char kat481_persstr[] = {0}; +static const unsigned char kat481_addin0[] = {0}; +static const unsigned char kat481_addin1[] = {0}; +static const unsigned char kat481_retbits[] = { + 0x58, 0x62, 0xeb, 0x38, 0xbd, 0x55, 0x8d, 0xd9, 0x78, 0xa6, 0x96, 0xe6, + 0xdf, 0x16, 0x47, 0x82, 0xdd, 0xd8, 0x87, 0xe7, 0xe9, 0xa6, 0xc9, 0xf3, + 0xf1, 0xfb, 0xaf, 0xb7, 0x89, 0x41, 0xb5, 0x35, 0xa6, 0x49, 0x12, 0xdf, + 0xd2, 0x24, 0xc6, 0xdc, 0x74, 0x54, 0xe5, 0x25, 0x0b, 0x3d, 0x97, 0x16, + 0x5e, 0x16, 0x26, 0x0c, 0x2f, 0xaf, 0x1c, 0xc7, 0x73, 0x5c, 0xb7, 0x5f, + 0xb4, 0xf0, 0x7e, 0x1d, +}; +static const struct drbg_kat_no_reseed kat481_t = { + 0, kat481_entropyin, kat481_nonce, kat481_persstr, + kat481_addin0, kat481_addin1, kat481_retbits +}; +static const struct drbg_kat kat481 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat481_t +}; + +static const unsigned char kat482_entropyin[] = { + 0x13, 0x19, 0x90, 0x90, 0xa4, 0x7f, 0xbd, 0x19, 0x84, 0xeb, 0x5f, 0xa9, + 0x58, 0x93, 0x45, 0x15, 0x46, 0x99, 0xef, 0x73, 0xf0, 0x0c, 0xd6, 0x2b, + 0x07, 0xc3, 0x41, 0x67, 0xc0, 0x32, 0x7e, 0x53, +}; +static const unsigned char kat482_nonce[] = { + 0x5f, 0x96, 0x8f, 0x93, 0xb6, 0x59, 0xd8, 0xa5, 0x75, 0x0a, 0x95, 0x34, + 0x5a, 0x8a, 0xe2, 0x0c, +}; +static const unsigned char kat482_persstr[] = {0}; +static const unsigned char kat482_addin0[] = {0}; +static const unsigned char kat482_addin1[] = {0}; +static const unsigned char kat482_retbits[] = { + 0xd1, 0x68, 0x78, 0xc5, 0xb0, 0x6d, 0x7b, 0x6c, 0xed, 0x8e, 0x8a, 0xeb, + 0x3a, 0x48, 0xd9, 0x5e, 0xc8, 0xdd, 0x65, 0x57, 0x33, 0xee, 0xc6, 0xef, + 0x47, 0x3a, 0x80, 0x78, 0xdf, 0xde, 0xa6, 0x00, 0xc0, 0xcc, 0x02, 0x16, + 0x8b, 0x4d, 0x6d, 0x74, 0x4e, 0xe8, 0x28, 0xba, 0x50, 0x31, 0x94, 0x1f, + 0x8e, 0x3d, 0x96, 0x58, 0x64, 0x07, 0xaf, 0x79, 0xeb, 0xa6, 0x0d, 0x14, + 0xaf, 0x47, 0xd5, 0x3a, +}; +static const struct drbg_kat_no_reseed kat482_t = { + 1, kat482_entropyin, kat482_nonce, kat482_persstr, + kat482_addin0, kat482_addin1, kat482_retbits +}; +static const struct drbg_kat kat482 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat482_t +}; + +static const unsigned char kat483_entropyin[] = { + 0xd6, 0xcc, 0xf8, 0xc8, 0x14, 0x3a, 0xbf, 0xe5, 0xfd, 0x70, 0x62, 0x6a, + 0xfc, 0x17, 0xf8, 0xae, 0xf1, 0x72, 0x02, 0x7c, 0x68, 0xc3, 0x8f, 0x94, + 0xce, 0x59, 0xf7, 0xae, 0xd5, 0xe9, 0x66, 0x57, +}; +static const unsigned char kat483_nonce[] = { + 0x2e, 0xbc, 0x66, 0xd2, 0xfd, 0x66, 0xb4, 0xbf, 0x1e, 0xd2, 0x4f, 0xaf, + 0x74, 0x4f, 0xfb, 0xc9, +}; +static const unsigned char kat483_persstr[] = {0}; +static const unsigned char kat483_addin0[] = {0}; +static const unsigned char kat483_addin1[] = {0}; +static const unsigned char kat483_retbits[] = { + 0x6d, 0x47, 0x4b, 0xa9, 0x71, 0xa8, 0x33, 0x9e, 0xca, 0x90, 0x4a, 0x4c, + 0x0d, 0xcf, 0x62, 0x65, 0x11, 0x6f, 0xbc, 0x66, 0xcb, 0xe5, 0xdd, 0xdf, + 0xdc, 0x42, 0x10, 0x45, 0x02, 0xeb, 0x21, 0x0e, 0x36, 0x60, 0xe1, 0xb1, + 0xb7, 0x10, 0xb9, 0x7d, 0x83, 0x0c, 0x27, 0x21, 0x2b, 0x33, 0x13, 0x1d, + 0x85, 0xd2, 0xf7, 0x3f, 0x39, 0x76, 0x07, 0x82, 0xf4, 0xb4, 0x7d, 0x44, + 0x7b, 0xa6, 0xa6, 0x8a, +}; +static const struct drbg_kat_no_reseed kat483_t = { + 2, kat483_entropyin, kat483_nonce, kat483_persstr, + kat483_addin0, kat483_addin1, kat483_retbits +}; +static const struct drbg_kat kat483 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat483_t +}; + +static const unsigned char kat484_entropyin[] = { + 0x39, 0x5d, 0x06, 0xb7, 0x54, 0x90, 0x73, 0xc4, 0x82, 0x52, 0xfb, 0x01, + 0xf3, 0x95, 0x42, 0x64, 0x56, 0x00, 0x31, 0x72, 0x20, 0x09, 0x00, 0x29, + 0xb2, 0xba, 0xc5, 0x8a, 0x7a, 0x4c, 0x35, 0xdf, +}; +static const unsigned char kat484_nonce[] = { + 0x57, 0x26, 0xb9, 0x91, 0x1d, 0xa8, 0xf1, 0x66, 0xa8, 0x4f, 0x82, 0xc0, + 0x6f, 0x53, 0xdc, 0x9e, +}; +static const unsigned char kat484_persstr[] = {0}; +static const unsigned char kat484_addin0[] = {0}; +static const unsigned char kat484_addin1[] = {0}; +static const unsigned char kat484_retbits[] = { + 0x0e, 0x18, 0x10, 0xb5, 0x04, 0x4f, 0x28, 0xef, 0x2c, 0xc7, 0x92, 0x8b, + 0xd6, 0x32, 0xd7, 0x03, 0x5b, 0xcd, 0xb9, 0x80, 0x1e, 0x9d, 0x84, 0xf5, + 0x69, 0xa5, 0xb6, 0xd0, 0x2d, 0x3c, 0xb5, 0xaa, 0xc0, 0xa1, 0x90, 0xbd, + 0x58, 0xd6, 0xa0, 0x8b, 0x67, 0x89, 0x52, 0x93, 0x20, 0xc7, 0x68, 0x17, + 0xf2, 0x7b, 0x7d, 0x33, 0x10, 0x85, 0x34, 0x67, 0x35, 0xad, 0x37, 0x1b, + 0x5c, 0x91, 0x89, 0xcd, +}; +static const struct drbg_kat_no_reseed kat484_t = { + 3, kat484_entropyin, kat484_nonce, kat484_persstr, + kat484_addin0, kat484_addin1, kat484_retbits +}; +static const struct drbg_kat kat484 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat484_t +}; + +static const unsigned char kat485_entropyin[] = { + 0xe5, 0x02, 0x71, 0x8e, 0x54, 0xc8, 0xa7, 0x9f, 0x31, 0x52, 0x9a, 0xba, + 0x42, 0x40, 0x48, 0x08, 0xe6, 0x52, 0x47, 0x7f, 0x59, 0x5a, 0xb3, 0x5b, + 0xc5, 0x4e, 0xaa, 0xc7, 0xaf, 0xaa, 0x22, 0x8a, +}; +static const unsigned char kat485_nonce[] = { + 0xae, 0xe3, 0x28, 0xae, 0x82, 0x27, 0x4d, 0x9d, 0xff, 0xdb, 0x27, 0x72, + 0x31, 0x54, 0x89, 0xb2, +}; +static const unsigned char kat485_persstr[] = {0}; +static const unsigned char kat485_addin0[] = {0}; +static const unsigned char kat485_addin1[] = {0}; +static const unsigned char kat485_retbits[] = { + 0x9d, 0x10, 0xba, 0xac, 0x91, 0x77, 0x0e, 0x97, 0xbe, 0x49, 0x0d, 0xb4, + 0xd8, 0x0d, 0x70, 0x07, 0xd6, 0xa2, 0x04, 0x07, 0x81, 0x3e, 0xee, 0x12, + 0x8a, 0xcb, 0x16, 0x1c, 0x6e, 0x36, 0xc2, 0x25, 0xeb, 0xc4, 0x2c, 0xa3, + 0x7b, 0x10, 0x7f, 0x04, 0x30, 0xb6, 0x98, 0x26, 0xad, 0xd2, 0xe5, 0x20, + 0xc2, 0xf1, 0x8f, 0xc0, 0x7e, 0x32, 0xec, 0x0a, 0x7b, 0x33, 0x46, 0x3b, + 0xcf, 0x48, 0xe5, 0x76, +}; +static const struct drbg_kat_no_reseed kat485_t = { + 4, kat485_entropyin, kat485_nonce, kat485_persstr, + kat485_addin0, kat485_addin1, kat485_retbits +}; +static const struct drbg_kat kat485 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat485_t +}; + +static const unsigned char kat486_entropyin[] = { + 0x63, 0xe6, 0x0f, 0xf1, 0x73, 0x9d, 0x46, 0x05, 0xf5, 0xc5, 0x11, 0xfd, + 0x0e, 0x39, 0x51, 0xdd, 0x3d, 0xe6, 0x57, 0x50, 0x8a, 0x60, 0xd7, 0xc8, + 0x7c, 0xe9, 0x5f, 0x39, 0x48, 0x1a, 0x75, 0x53, +}; +static const unsigned char kat486_nonce[] = { + 0xb1, 0xc1, 0x7b, 0xb3, 0x4b, 0xaf, 0x2c, 0x7f, 0x3b, 0x03, 0xb7, 0x6e, + 0x68, 0x97, 0x31, 0x6f, +}; +static const unsigned char kat486_persstr[] = {0}; +static const unsigned char kat486_addin0[] = {0}; +static const unsigned char kat486_addin1[] = {0}; +static const unsigned char kat486_retbits[] = { + 0x08, 0x19, 0x50, 0x61, 0xde, 0xd1, 0xab, 0x84, 0xbe, 0x7d, 0x5d, 0xcd, + 0x63, 0x0e, 0x7b, 0x90, 0x38, 0x54, 0xf1, 0x28, 0x43, 0x89, 0xe5, 0xe7, + 0x78, 0x49, 0xbb, 0xa1, 0x0c, 0x89, 0x08, 0x3b, 0xb6, 0xf3, 0x2f, 0x68, + 0x15, 0xcf, 0xac, 0x45, 0xb7, 0xca, 0xd0, 0xdf, 0xb5, 0x54, 0x98, 0xa4, + 0x7e, 0x87, 0x5d, 0x21, 0xed, 0x18, 0x42, 0xf5, 0x87, 0x79, 0x84, 0x5f, + 0x2f, 0x24, 0xc6, 0xe2, +}; +static const struct drbg_kat_no_reseed kat486_t = { + 5, kat486_entropyin, kat486_nonce, kat486_persstr, + kat486_addin0, kat486_addin1, kat486_retbits +}; +static const struct drbg_kat kat486 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat486_t +}; + +static const unsigned char kat487_entropyin[] = { + 0x63, 0xec, 0x70, 0x79, 0x2a, 0x6c, 0x78, 0x54, 0x0e, 0x40, 0xdb, 0x15, + 0xc1, 0xb8, 0x73, 0xfc, 0xde, 0x9b, 0xea, 0x1d, 0x74, 0x1d, 0x88, 0xb8, + 0x1b, 0xd1, 0xfd, 0x66, 0x13, 0x9d, 0xf7, 0x0c, +}; +static const unsigned char kat487_nonce[] = { + 0xfc, 0x5f, 0x90, 0x2b, 0xdd, 0x0d, 0x7f, 0xe2, 0x16, 0xb1, 0x42, 0x3d, + 0x4f, 0x41, 0xf1, 0x2f, +}; +static const unsigned char kat487_persstr[] = {0}; +static const unsigned char kat487_addin0[] = {0}; +static const unsigned char kat487_addin1[] = {0}; +static const unsigned char kat487_retbits[] = { + 0xe3, 0x66, 0xae, 0x29, 0x88, 0xf6, 0xf3, 0x78, 0x54, 0x85, 0x96, 0x02, + 0x31, 0x9e, 0x64, 0x38, 0x52, 0x44, 0x11, 0x50, 0x04, 0x38, 0x6a, 0x21, + 0xeb, 0x25, 0xe6, 0x94, 0x56, 0xc7, 0x78, 0x94, 0x7a, 0xe1, 0x1c, 0x95, + 0x32, 0xe5, 0x79, 0x4e, 0x62, 0x04, 0x60, 0x87, 0x7a, 0x5b, 0xcd, 0x77, + 0xf3, 0x70, 0xe8, 0xa9, 0x0d, 0x4b, 0xe3, 0x82, 0x06, 0xca, 0x39, 0x3e, + 0xdc, 0xea, 0xe3, 0xac, +}; +static const struct drbg_kat_no_reseed kat487_t = { + 6, kat487_entropyin, kat487_nonce, kat487_persstr, + kat487_addin0, kat487_addin1, kat487_retbits +}; +static const struct drbg_kat kat487 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat487_t +}; + +static const unsigned char kat488_entropyin[] = { + 0xea, 0xdc, 0x5b, 0x6a, 0x6f, 0x8d, 0x10, 0xa0, 0xa7, 0x89, 0x17, 0x03, + 0x55, 0x0e, 0xf4, 0x0f, 0xc2, 0x1c, 0xa5, 0x00, 0xee, 0x60, 0x3a, 0x68, + 0x5f, 0xf3, 0xd1, 0xfb, 0x56, 0xea, 0xd7, 0x0e, +}; +static const unsigned char kat488_nonce[] = { + 0x6c, 0x5a, 0x65, 0xd7, 0xe8, 0xfb, 0xc2, 0xa7, 0xcf, 0xd9, 0xfa, 0x7a, + 0x5e, 0xfb, 0xdc, 0xd7, +}; +static const unsigned char kat488_persstr[] = {0}; +static const unsigned char kat488_addin0[] = {0}; +static const unsigned char kat488_addin1[] = {0}; +static const unsigned char kat488_retbits[] = { + 0xd4, 0x28, 0xa2, 0x98, 0xcb, 0xfd, 0xf2, 0x0e, 0xf7, 0xbe, 0xe8, 0x91, + 0x3a, 0x26, 0xc5, 0x3e, 0xea, 0x49, 0x93, 0x3a, 0x2d, 0xde, 0x42, 0x1b, + 0xca, 0x4b, 0x1c, 0x6b, 0x86, 0x50, 0x6c, 0x6c, 0xa0, 0xef, 0x0b, 0xfa, + 0x13, 0xc0, 0x30, 0x50, 0x57, 0x48, 0xd5, 0x73, 0x7b, 0x23, 0x24, 0x80, + 0xed, 0xc0, 0xbb, 0xc9, 0xe7, 0xb7, 0xf3, 0xff, 0x8a, 0xef, 0xc2, 0x92, + 0x10, 0x6a, 0x62, 0x54, +}; +static const struct drbg_kat_no_reseed kat488_t = { + 7, kat488_entropyin, kat488_nonce, kat488_persstr, + kat488_addin0, kat488_addin1, kat488_retbits +}; +static const struct drbg_kat kat488 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat488_t +}; + +static const unsigned char kat489_entropyin[] = { + 0x0f, 0x91, 0x06, 0x58, 0x8b, 0xc9, 0x27, 0xec, 0xa2, 0x85, 0xe0, 0x5c, + 0x8c, 0x17, 0x0a, 0x68, 0xe9, 0xa1, 0x03, 0x10, 0x2a, 0x10, 0x67, 0x81, + 0xd8, 0xfb, 0x0a, 0x76, 0x88, 0xe4, 0x91, 0xc2, +}; +static const unsigned char kat489_nonce[] = { + 0x2e, 0x58, 0xa8, 0x59, 0xb7, 0xbd, 0xc8, 0x16, 0xfb, 0x40, 0xb9, 0xee, + 0x59, 0x16, 0xa9, 0x25, +}; +static const unsigned char kat489_persstr[] = {0}; +static const unsigned char kat489_addin0[] = {0}; +static const unsigned char kat489_addin1[] = {0}; +static const unsigned char kat489_retbits[] = { + 0xe3, 0xde, 0xcd, 0x08, 0x10, 0xe1, 0xdb, 0x9b, 0x77, 0x49, 0x0c, 0xbe, + 0x78, 0xca, 0xd2, 0x52, 0xc2, 0x61, 0xf0, 0xf3, 0x80, 0x51, 0xe5, 0xba, + 0x1e, 0x1f, 0xf9, 0x85, 0x2d, 0x0a, 0x68, 0xa1, 0xfb, 0xdc, 0x79, 0x8e, + 0xb1, 0x96, 0xf2, 0xba, 0x13, 0x2e, 0x6a, 0x45, 0x1d, 0xfe, 0x6a, 0x98, + 0x88, 0x83, 0x36, 0x66, 0xbb, 0xc3, 0x04, 0xc6, 0x17, 0xc2, 0xd6, 0x10, + 0xbd, 0x5e, 0x48, 0x9e, +}; +static const struct drbg_kat_no_reseed kat489_t = { + 8, kat489_entropyin, kat489_nonce, kat489_persstr, + kat489_addin0, kat489_addin1, kat489_retbits +}; +static const struct drbg_kat kat489 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat489_t +}; + +static const unsigned char kat490_entropyin[] = { + 0x41, 0x62, 0xa4, 0x2c, 0xb0, 0xd8, 0x3d, 0x33, 0x84, 0xa1, 0xdc, 0xb9, + 0xda, 0xdc, 0xc6, 0xd0, 0x70, 0xeb, 0xd1, 0x68, 0x3b, 0x3c, 0x09, 0x00, + 0xf3, 0x1d, 0x7c, 0xbe, 0x05, 0x0e, 0x6a, 0xca, +}; +static const unsigned char kat490_nonce[] = { + 0x15, 0xf1, 0x54, 0xac, 0x7c, 0x82, 0x52, 0x58, 0xde, 0x3d, 0x66, 0x89, + 0xfb, 0x9a, 0xb4, 0x6f, +}; +static const unsigned char kat490_persstr[] = {0}; +static const unsigned char kat490_addin0[] = {0}; +static const unsigned char kat490_addin1[] = {0}; +static const unsigned char kat490_retbits[] = { + 0x3e, 0xad, 0xb8, 0xac, 0xf7, 0xde, 0x3b, 0xd0, 0x98, 0x29, 0x70, 0x67, + 0x36, 0x61, 0x83, 0xa0, 0x79, 0x90, 0x55, 0x0a, 0xde, 0xad, 0x0b, 0xbb, + 0xe4, 0x8f, 0xe8, 0x7b, 0xfd, 0xe2, 0x1c, 0xa8, 0x78, 0xe3, 0xce, 0xc7, + 0x73, 0x79, 0xbb, 0x88, 0x4f, 0x28, 0x54, 0x6c, 0x57, 0xc4, 0x0e, 0x28, + 0xe7, 0x23, 0xf8, 0xcb, 0x8c, 0x9e, 0x04, 0xa8, 0x50, 0xa4, 0x6d, 0xc7, + 0x5f, 0xe9, 0x03, 0x68, +}; +static const struct drbg_kat_no_reseed kat490_t = { + 9, kat490_entropyin, kat490_nonce, kat490_persstr, + kat490_addin0, kat490_addin1, kat490_retbits +}; +static const struct drbg_kat kat490 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat490_t +}; + +static const unsigned char kat491_entropyin[] = { + 0x36, 0x52, 0x20, 0x1d, 0x2c, 0xed, 0x05, 0x6c, 0x83, 0x66, 0x71, 0x57, + 0xd7, 0xb0, 0xed, 0x02, 0xdc, 0x4b, 0xa3, 0xf6, 0xd4, 0x37, 0x99, 0xfd, + 0xa4, 0xa6, 0xd5, 0x20, 0x4c, 0x4e, 0x3b, 0xb4, +}; +static const unsigned char kat491_nonce[] = { + 0x37, 0xf1, 0x81, 0x83, 0x70, 0x52, 0xd7, 0x29, 0xa7, 0x0b, 0x46, 0x2f, + 0x5c, 0x1f, 0xec, 0xc2, +}; +static const unsigned char kat491_persstr[] = {0}; +static const unsigned char kat491_addin0[] = {0}; +static const unsigned char kat491_addin1[] = {0}; +static const unsigned char kat491_retbits[] = { + 0xb5, 0xbc, 0x59, 0x13, 0x8d, 0xf3, 0x51, 0x49, 0x00, 0x57, 0xcf, 0x9d, + 0xf9, 0x7e, 0x99, 0x17, 0x45, 0xe0, 0x3b, 0x30, 0xee, 0x96, 0x84, 0xe6, + 0x18, 0x12, 0xd8, 0x45, 0x3d, 0xac, 0x5b, 0xcf, 0x54, 0x99, 0x6d, 0x95, + 0xca, 0x1d, 0x71, 0xfb, 0xc5, 0x99, 0x2d, 0x18, 0xde, 0x9b, 0xf2, 0x24, + 0xf2, 0xba, 0x42, 0xd2, 0x4e, 0x3f, 0x8d, 0x13, 0xe3, 0x41, 0x18, 0x22, + 0x74, 0xcb, 0xcd, 0x32, +}; +static const struct drbg_kat_no_reseed kat491_t = { + 10, kat491_entropyin, kat491_nonce, kat491_persstr, + kat491_addin0, kat491_addin1, kat491_retbits +}; +static const struct drbg_kat kat491 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat491_t +}; + +static const unsigned char kat492_entropyin[] = { + 0xc1, 0xd3, 0xcb, 0xa4, 0x8d, 0x32, 0x8a, 0xd2, 0xe4, 0x1c, 0x75, 0xd2, + 0x1c, 0xb5, 0x3b, 0x69, 0xff, 0x16, 0xca, 0xfb, 0x51, 0xc2, 0x41, 0xd3, + 0x6e, 0x1d, 0x75, 0x2f, 0xa3, 0xde, 0x2d, 0xd3, +}; +static const unsigned char kat492_nonce[] = { + 0xb1, 0xb6, 0xe9, 0xd1, 0xa5, 0x0d, 0x4f, 0xa6, 0x54, 0xeb, 0xd4, 0x46, + 0x63, 0xa8, 0xec, 0x01, +}; +static const unsigned char kat492_persstr[] = {0}; +static const unsigned char kat492_addin0[] = {0}; +static const unsigned char kat492_addin1[] = {0}; +static const unsigned char kat492_retbits[] = { + 0x2b, 0x9b, 0xa1, 0xa9, 0xbc, 0x56, 0xc7, 0xf3, 0xe5, 0xb2, 0xd5, 0x87, + 0xaa, 0xf9, 0x8d, 0x1e, 0x7d, 0xa5, 0x66, 0xcf, 0xf5, 0xf2, 0xe7, 0xf9, + 0x17, 0x10, 0xd4, 0x3f, 0x8c, 0xf7, 0xe4, 0x85, 0x63, 0x2f, 0xf4, 0x51, + 0x11, 0x0a, 0xf8, 0x73, 0xe0, 0xb3, 0x3f, 0x0d, 0xff, 0x46, 0x8f, 0x09, + 0xc5, 0xe3, 0x23, 0x3d, 0x38, 0x07, 0xcd, 0x73, 0x99, 0x82, 0xb5, 0xe5, + 0x88, 0x54, 0x34, 0xc9, +}; +static const struct drbg_kat_no_reseed kat492_t = { + 11, kat492_entropyin, kat492_nonce, kat492_persstr, + kat492_addin0, kat492_addin1, kat492_retbits +}; +static const struct drbg_kat kat492 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat492_t +}; + +static const unsigned char kat493_entropyin[] = { + 0xd6, 0x70, 0x2e, 0xd5, 0xd0, 0x35, 0x96, 0xd2, 0xd1, 0xda, 0xf9, 0xff, + 0xe9, 0xc0, 0xa1, 0x9a, 0x47, 0x94, 0x77, 0xf7, 0xe9, 0x14, 0x65, 0x4f, + 0x7b, 0x11, 0x4d, 0x18, 0xb6, 0x3f, 0x50, 0x7c, +}; +static const unsigned char kat493_nonce[] = { + 0x53, 0xb2, 0x9d, 0x4b, 0x42, 0xd3, 0xc8, 0x79, 0x8d, 0xc1, 0xe6, 0x3d, + 0xf9, 0xf3, 0x0b, 0xbf, +}; +static const unsigned char kat493_persstr[] = {0}; +static const unsigned char kat493_addin0[] = {0}; +static const unsigned char kat493_addin1[] = {0}; +static const unsigned char kat493_retbits[] = { + 0xfb, 0x4e, 0x3f, 0x7b, 0x0c, 0x6e, 0xfa, 0xe1, 0x48, 0x13, 0x0f, 0x82, + 0xd5, 0x9c, 0xbc, 0x99, 0x38, 0x12, 0x41, 0x2e, 0x0f, 0x57, 0xb2, 0x06, + 0xff, 0x08, 0x64, 0xf4, 0xdb, 0xb8, 0xe4, 0x07, 0xeb, 0x7d, 0xe2, 0xc6, + 0x8a, 0xf8, 0xa5, 0x14, 0x16, 0x10, 0xed, 0x47, 0x65, 0x27, 0x49, 0x35, + 0xe6, 0xf3, 0x7e, 0xf4, 0xee, 0xd3, 0x7d, 0xe2, 0x73, 0x78, 0x85, 0x76, + 0xe7, 0xb8, 0x9d, 0xaa, +}; +static const struct drbg_kat_no_reseed kat493_t = { + 12, kat493_entropyin, kat493_nonce, kat493_persstr, + kat493_addin0, kat493_addin1, kat493_retbits +}; +static const struct drbg_kat kat493 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat493_t +}; + +static const unsigned char kat494_entropyin[] = { + 0x7e, 0xe6, 0x1f, 0xaa, 0x3b, 0x3f, 0xd9, 0x83, 0xba, 0x3b, 0x35, 0x0b, + 0xee, 0x25, 0xbd, 0x07, 0x5e, 0x2e, 0x6f, 0x17, 0x2b, 0xe9, 0x64, 0xbb, + 0xe4, 0xff, 0x21, 0x0f, 0xc9, 0x2d, 0xe6, 0x51, +}; +static const unsigned char kat494_nonce[] = { + 0xa0, 0xc4, 0xeb, 0xcc, 0x0a, 0xef, 0x84, 0x8e, 0xd7, 0xb0, 0x0d, 0x3b, + 0x61, 0x29, 0x72, 0xc9, +}; +static const unsigned char kat494_persstr[] = {0}; +static const unsigned char kat494_addin0[] = {0}; +static const unsigned char kat494_addin1[] = {0}; +static const unsigned char kat494_retbits[] = { + 0xa2, 0xa1, 0x90, 0xf0, 0xfd, 0xfa, 0xf6, 0x63, 0x14, 0xd4, 0xe0, 0x07, + 0x1d, 0x4e, 0xc3, 0xd2, 0x91, 0x4f, 0xa9, 0x3f, 0x89, 0x64, 0xef, 0x56, + 0x08, 0xec, 0x38, 0x6b, 0xba, 0x03, 0x46, 0x70, 0xec, 0x01, 0x77, 0x35, + 0x0a, 0x78, 0x02, 0x14, 0xba, 0xc5, 0x79, 0x29, 0x09, 0x18, 0xfb, 0xa9, + 0xb2, 0x1e, 0xf9, 0xf4, 0xf1, 0x21, 0x00, 0x34, 0xd0, 0x80, 0x9f, 0xed, + 0xc4, 0x4d, 0x33, 0xb9, +}; +static const struct drbg_kat_no_reseed kat494_t = { + 13, kat494_entropyin, kat494_nonce, kat494_persstr, + kat494_addin0, kat494_addin1, kat494_retbits +}; +static const struct drbg_kat kat494 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat494_t +}; + +static const unsigned char kat495_entropyin[] = { + 0x86, 0xe3, 0xcc, 0xf0, 0x93, 0x82, 0xf4, 0x61, 0x92, 0xd8, 0x93, 0x7e, + 0xba, 0x1d, 0xfc, 0x04, 0xad, 0x8e, 0x12, 0xef, 0x19, 0x6d, 0x6d, 0x94, + 0x19, 0x70, 0xb1, 0x6e, 0x15, 0x43, 0x8b, 0xb2, +}; +static const unsigned char kat495_nonce[] = { + 0xe2, 0xf9, 0xcc, 0x7e, 0xab, 0x26, 0x49, 0x1e, 0x3e, 0xab, 0x3c, 0xfd, + 0xfa, 0xad, 0xda, 0x90, +}; +static const unsigned char kat495_persstr[] = {0}; +static const unsigned char kat495_addin0[] = {0}; +static const unsigned char kat495_addin1[] = {0}; +static const unsigned char kat495_retbits[] = { + 0xd8, 0xbc, 0x7e, 0x82, 0x20, 0xcb, 0xe0, 0x79, 0xb4, 0x40, 0x3d, 0x6b, + 0x47, 0xe7, 0x97, 0x66, 0x05, 0x73, 0x5f, 0x95, 0x3a, 0xab, 0xf9, 0x3f, + 0xd0, 0x03, 0x93, 0x96, 0xdd, 0xb4, 0x08, 0x8e, 0x43, 0x60, 0x52, 0x72, + 0x2c, 0x43, 0x25, 0xf9, 0x0e, 0xb8, 0x68, 0x51, 0x2a, 0xe7, 0xce, 0x39, + 0x27, 0x37, 0x09, 0x40, 0xb2, 0x00, 0xf3, 0xcc, 0x81, 0xda, 0x77, 0x47, + 0x79, 0xe9, 0x0d, 0x7c, +}; +static const struct drbg_kat_no_reseed kat495_t = { + 14, kat495_entropyin, kat495_nonce, kat495_persstr, + kat495_addin0, kat495_addin1, kat495_retbits +}; +static const struct drbg_kat kat495 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat495_t +}; + +static const unsigned char kat496_entropyin[] = { + 0x81, 0x48, 0xd6, 0x5d, 0x86, 0x51, 0x3c, 0xe7, 0xd3, 0x89, 0x23, 0xec, + 0x2f, 0x26, 0xb9, 0xe7, 0xc6, 0x77, 0xdc, 0xc8, 0x99, 0x7e, 0x32, 0x5b, + 0x73, 0x72, 0x61, 0x9e, 0x75, 0x3e, 0xd9, 0x44, +}; +static const unsigned char kat496_nonce[] = { + 0x41, 0xc7, 0x1a, 0x24, 0xd1, 0x7d, 0x97, 0x41, 0x90, 0x98, 0x2b, 0xb7, + 0x51, 0x5c, 0xe7, 0xf5, +}; +static const unsigned char kat496_persstr[] = {0}; +static const unsigned char kat496_addin0[] = { + 0x55, 0xb4, 0x46, 0x04, 0x6c, 0x2d, 0x14, 0xbd, 0xd0, 0xcd, 0xba, 0x4b, + 0x71, 0x87, 0x3f, 0xd4, 0x76, 0x26, 0x50, 0x69, 0x5a, 0x11, 0x50, 0x79, + 0x49, 0x46, 0x2d, 0xa8, 0xd9, 0x64, 0xab, 0x6a, +}; +static const unsigned char kat496_addin1[] = { + 0x91, 0x46, 0x8f, 0x1a, 0x09, 0x7d, 0x99, 0xee, 0x33, 0x94, 0x62, 0xca, + 0x91, 0x6c, 0xb4, 0xa1, 0x0f, 0x63, 0xd5, 0x38, 0x50, 0xa4, 0xf1, 0x7f, + 0x59, 0x8e, 0xac, 0x49, 0x02, 0x99, 0xb0, 0x2e, +}; +static const unsigned char kat496_retbits[] = { + 0x54, 0x60, 0x3d, 0x1a, 0x50, 0x61, 0x32, 0xbb, 0xfa, 0x05, 0xb1, 0x53, + 0xa0, 0x4f, 0x22, 0xa1, 0xd5, 0x16, 0xcc, 0x46, 0x32, 0x3c, 0xef, 0x15, + 0x11, 0x1a, 0xf2, 0x21, 0xf0, 0x30, 0xf3, 0x8d, 0x68, 0x41, 0xd4, 0x67, + 0x05, 0x18, 0xb4, 0x91, 0x4a, 0x46, 0x31, 0xaf, 0x68, 0x2e, 0x74, 0x21, + 0xdf, 0xfa, 0xac, 0x98, 0x6a, 0x38, 0xe9, 0x4d, 0x92, 0xbf, 0xa7, 0x58, + 0xe2, 0xeb, 0x10, 0x1f, +}; +static const struct drbg_kat_no_reseed kat496_t = { + 0, kat496_entropyin, kat496_nonce, kat496_persstr, + kat496_addin0, kat496_addin1, kat496_retbits +}; +static const struct drbg_kat kat496 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat496_t +}; + +static const unsigned char kat497_entropyin[] = { + 0xeb, 0x4a, 0x0a, 0xdd, 0x69, 0x70, 0x97, 0xf1, 0xce, 0x3a, 0x71, 0x9d, + 0x0d, 0x4a, 0xe6, 0x9b, 0x17, 0x21, 0xdc, 0xe3, 0xec, 0x0e, 0x6c, 0x0e, + 0x90, 0x5d, 0x78, 0xee, 0x21, 0x28, 0x63, 0xb1, +}; +static const unsigned char kat497_nonce[] = { + 0x5f, 0x36, 0x8e, 0x85, 0xc1, 0xf1, 0x7b, 0x64, 0x63, 0xa2, 0x78, 0x37, + 0x7f, 0x69, 0x1f, 0x37, +}; +static const unsigned char kat497_persstr[] = {0}; +static const unsigned char kat497_addin0[] = { + 0xf9, 0x78, 0x01, 0xbc, 0xe9, 0x81, 0xb3, 0x50, 0x81, 0xc2, 0x58, 0x01, + 0x40, 0x0e, 0xc2, 0x07, 0x43, 0x3d, 0xa4, 0xf1, 0x7f, 0x32, 0x65, 0xa1, + 0x6e, 0x9e, 0x4e, 0x68, 0x37, 0x22, 0x70, 0x8b, +}; +static const unsigned char kat497_addin1[] = { + 0xae, 0x54, 0xb4, 0x9a, 0x41, 0x12, 0xb3, 0xd9, 0x78, 0xe9, 0x66, 0xe2, + 0xdd, 0xa0, 0x62, 0xe3, 0x65, 0x2b, 0x58, 0xa1, 0x4b, 0xef, 0x4f, 0xfe, + 0x03, 0x85, 0x20, 0xc9, 0xa6, 0x75, 0xd3, 0x53, +}; +static const unsigned char kat497_retbits[] = { + 0x6a, 0xee, 0x0b, 0x3a, 0x81, 0x5c, 0x82, 0xf9, 0xbb, 0x01, 0x19, 0xf8, + 0x6a, 0xf9, 0x07, 0x93, 0xfc, 0x1f, 0x99, 0x96, 0xdd, 0x5b, 0x72, 0xbb, + 0xc3, 0x26, 0xac, 0x4e, 0x6a, 0x5e, 0x87, 0x48, 0x50, 0xb2, 0xfe, 0xc1, + 0xd7, 0x20, 0x2c, 0x35, 0x58, 0x0b, 0xd6, 0x72, 0x70, 0x29, 0x60, 0x9f, + 0x24, 0x71, 0xe6, 0xc9, 0xb6, 0x16, 0x29, 0xd1, 0x74, 0xb8, 0x94, 0xcd, + 0x17, 0x8a, 0xdf, 0xd4, +}; +static const struct drbg_kat_no_reseed kat497_t = { + 1, kat497_entropyin, kat497_nonce, kat497_persstr, + kat497_addin0, kat497_addin1, kat497_retbits +}; +static const struct drbg_kat kat497 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat497_t +}; + +static const unsigned char kat498_entropyin[] = { + 0x7f, 0xd6, 0xe2, 0x62, 0xd8, 0x21, 0xd5, 0xe5, 0xb6, 0x60, 0x48, 0x57, + 0x55, 0xea, 0x79, 0x61, 0x57, 0x96, 0x31, 0xa4, 0xb9, 0x64, 0xcf, 0xb4, + 0xc2, 0xc3, 0x5a, 0xfd, 0xe6, 0x9f, 0xfe, 0xa1, +}; +static const unsigned char kat498_nonce[] = { + 0xae, 0x8c, 0x54, 0xaf, 0xfd, 0xb7, 0x6c, 0x5f, 0xd1, 0x96, 0xfb, 0xd5, + 0xa2, 0xc4, 0x77, 0xec, +}; +static const unsigned char kat498_persstr[] = {0}; +static const unsigned char kat498_addin0[] = { + 0xab, 0x81, 0x03, 0x5c, 0xb3, 0xc0, 0x17, 0xcb, 0xe5, 0x1a, 0x2b, 0xc6, + 0x47, 0x51, 0xce, 0x61, 0xf8, 0xae, 0x02, 0xe8, 0x0a, 0xfe, 0xf8, 0x37, + 0x8f, 0x42, 0xac, 0x67, 0x06, 0x0f, 0xfa, 0xf9, +}; +static const unsigned char kat498_addin1[] = { + 0x4f, 0x7d, 0xb0, 0x2d, 0x34, 0x6b, 0xd4, 0x16, 0x68, 0xfc, 0xf6, 0x1b, + 0xac, 0x93, 0x93, 0x60, 0x03, 0xd2, 0x2f, 0xeb, 0xd3, 0xb9, 0xf8, 0xc0, + 0x23, 0x4d, 0x15, 0x1b, 0x49, 0x2b, 0x16, 0xe7, +}; +static const unsigned char kat498_retbits[] = { + 0x93, 0x0c, 0x26, 0x43, 0x1a, 0x0f, 0xab, 0xb4, 0x5a, 0xbe, 0x41, 0x8d, + 0xb9, 0xaf, 0x10, 0xfe, 0x27, 0x55, 0x80, 0xf4, 0x99, 0xcd, 0xd7, 0x17, + 0xf7, 0xfc, 0xc9, 0x4b, 0x59, 0xf9, 0x52, 0xa0, 0x4e, 0xef, 0x8f, 0x1d, + 0x5a, 0xa0, 0xa4, 0x82, 0x0d, 0xdb, 0xe4, 0x13, 0xb5, 0xc3, 0xd7, 0xa0, + 0x89, 0x27, 0x34, 0x6a, 0x90, 0x63, 0x5e, 0xa2, 0xc5, 0x1b, 0x0a, 0xb0, + 0xe9, 0xce, 0xdb, 0x1d, +}; +static const struct drbg_kat_no_reseed kat498_t = { + 2, kat498_entropyin, kat498_nonce, kat498_persstr, + kat498_addin0, kat498_addin1, kat498_retbits +}; +static const struct drbg_kat kat498 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat498_t +}; + +static const unsigned char kat499_entropyin[] = { + 0x70, 0x50, 0x79, 0x0a, 0x8b, 0x22, 0xff, 0xea, 0x19, 0xa5, 0x05, 0xe4, + 0xfb, 0xb3, 0xbc, 0x2a, 0x3b, 0x41, 0xfd, 0x94, 0x7c, 0xe3, 0xdd, 0x50, + 0xb4, 0xf7, 0x38, 0xd8, 0xc2, 0x2f, 0xbe, 0xb0, +}; +static const unsigned char kat499_nonce[] = { + 0x36, 0x56, 0x28, 0xa7, 0xb6, 0xe7, 0xa7, 0x16, 0x60, 0xfd, 0x36, 0x38, + 0x35, 0x1e, 0x6c, 0x12, +}; +static const unsigned char kat499_persstr[] = {0}; +static const unsigned char kat499_addin0[] = { + 0x1d, 0xb1, 0xc1, 0x98, 0x48, 0x58, 0x0e, 0xe1, 0xf6, 0x9a, 0x63, 0x81, + 0x4b, 0x41, 0xad, 0x65, 0xea, 0x1a, 0x54, 0x26, 0x1e, 0x90, 0x7d, 0x3e, + 0xdb, 0x80, 0xb5, 0xe9, 0xc5, 0x58, 0x19, 0x9d, +}; +static const unsigned char kat499_addin1[] = { + 0x06, 0x18, 0x12, 0x90, 0x6e, 0xd3, 0x31, 0x4a, 0x9d, 0xf0, 0xef, 0x61, + 0xb3, 0xb5, 0x2b, 0x68, 0x5c, 0xcc, 0x45, 0x60, 0x1d, 0x69, 0xd9, 0x84, + 0x4c, 0xdb, 0xdb, 0x45, 0x62, 0x7d, 0x42, 0x94, +}; +static const unsigned char kat499_retbits[] = { + 0x0e, 0x6f, 0xc5, 0xde, 0x18, 0x29, 0x7e, 0x15, 0xb4, 0x32, 0xa1, 0x24, + 0xa9, 0xd8, 0x87, 0x7f, 0x9a, 0xdb, 0xd2, 0x33, 0x72, 0x40, 0x6f, 0x26, + 0x3e, 0x2d, 0xd7, 0x7c, 0x69, 0xbd, 0xe7, 0x55, 0x96, 0xeb, 0x9f, 0x8a, + 0x7a, 0x25, 0xd0, 0xb4, 0x5a, 0x40, 0x3a, 0x4c, 0x57, 0x58, 0x77, 0x1f, + 0x22, 0x49, 0x09, 0xd8, 0x84, 0x08, 0xf1, 0x74, 0x48, 0x7f, 0xdb, 0x30, + 0x55, 0x4c, 0x1f, 0x3b, +}; +static const struct drbg_kat_no_reseed kat499_t = { + 3, kat499_entropyin, kat499_nonce, kat499_persstr, + kat499_addin0, kat499_addin1, kat499_retbits +}; +static const struct drbg_kat kat499 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat499_t +}; + +static const unsigned char kat500_entropyin[] = { + 0x29, 0x68, 0xf8, 0x57, 0xd5, 0x83, 0xab, 0x28, 0x74, 0x10, 0xf4, 0x55, + 0xbf, 0x44, 0x62, 0xe8, 0xa7, 0x17, 0xfb, 0x93, 0xbc, 0x20, 0x0d, 0xb4, + 0x3d, 0x12, 0xb1, 0xd1, 0x33, 0xbe, 0x00, 0x3b, +}; +static const unsigned char kat500_nonce[] = { + 0xdc, 0xdd, 0x14, 0x6a, 0x6f, 0x2f, 0x9f, 0x0f, 0x86, 0x80, 0x4f, 0x30, + 0x92, 0x16, 0xa7, 0xbe, +}; +static const unsigned char kat500_persstr[] = {0}; +static const unsigned char kat500_addin0[] = { + 0x65, 0x5e, 0xac, 0x56, 0xcb, 0xb1, 0x24, 0xe1, 0x75, 0x82, 0xa1, 0xfa, + 0x7f, 0xa6, 0x19, 0x9e, 0xbe, 0x32, 0x81, 0x10, 0x1e, 0xc7, 0x8b, 0xac, + 0x74, 0x9a, 0x4d, 0x1d, 0x28, 0x7e, 0x1b, 0x82, +}; +static const unsigned char kat500_addin1[] = { + 0x26, 0xba, 0x4b, 0x54, 0x01, 0xb9, 0xd1, 0x24, 0x62, 0x5a, 0x60, 0xd5, + 0x3f, 0x2d, 0x7b, 0x3f, 0x45, 0xdb, 0x5b, 0xc4, 0x36, 0x11, 0xd4, 0xcc, + 0x59, 0xc8, 0x3a, 0x18, 0x18, 0x16, 0x9c, 0xac, +}; +static const unsigned char kat500_retbits[] = { + 0xa7, 0xbf, 0x0e, 0x65, 0x50, 0x20, 0xa2, 0xc9, 0xa5, 0x06, 0x43, 0xcc, + 0xde, 0x05, 0xfd, 0x95, 0xa6, 0x44, 0x66, 0xda, 0x7a, 0x75, 0x6b, 0xf1, + 0xb9, 0xd1, 0x95, 0xfb, 0xac, 0x0e, 0xe2, 0x05, 0x9b, 0xa9, 0xd5, 0xf5, + 0xe3, 0x43, 0xfd, 0x8d, 0x67, 0x55, 0xa2, 0xe5, 0x4c, 0x38, 0x80, 0x3c, + 0xcf, 0xc4, 0xe9, 0x19, 0x12, 0x4c, 0x1e, 0xcd, 0x48, 0x53, 0x71, 0x54, + 0x86, 0xbe, 0x4f, 0x1a, +}; +static const struct drbg_kat_no_reseed kat500_t = { + 4, kat500_entropyin, kat500_nonce, kat500_persstr, + kat500_addin0, kat500_addin1, kat500_retbits +}; +static const struct drbg_kat kat500 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat500_t +}; + +static const unsigned char kat501_entropyin[] = { + 0x8f, 0xd3, 0xb3, 0x30, 0xfc, 0x13, 0x8f, 0x42, 0x1a, 0x66, 0x92, 0x5f, + 0x72, 0x64, 0x89, 0x85, 0xe5, 0xa2, 0x55, 0xe5, 0x99, 0x7f, 0xf2, 0x47, + 0xe5, 0x33, 0x62, 0xdf, 0xf7, 0xa9, 0xa0, 0xf9, +}; +static const unsigned char kat501_nonce[] = { + 0x3c, 0x67, 0x0e, 0x24, 0x67, 0xe3, 0xfb, 0x08, 0x7c, 0x7e, 0xa6, 0xcc, + 0x0a, 0xf5, 0x56, 0xff, +}; +static const unsigned char kat501_persstr[] = {0}; +static const unsigned char kat501_addin0[] = { + 0xa8, 0x4e, 0xfb, 0x4a, 0x46, 0x4c, 0xc8, 0xaa, 0x75, 0x49, 0x7f, 0x86, + 0xc3, 0x51, 0x5c, 0x64, 0x76, 0xce, 0xdc, 0x7b, 0x94, 0x0f, 0x9d, 0x46, + 0xce, 0x40, 0x1b, 0xd1, 0xd5, 0x23, 0x49, 0xfd, +}; +static const unsigned char kat501_addin1[] = { + 0x78, 0xdc, 0x05, 0x30, 0x7d, 0x06, 0x50, 0xa1, 0xa4, 0xc8, 0x64, 0x91, + 0xd5, 0xb3, 0x12, 0x54, 0xf5, 0x48, 0x50, 0xd5, 0x7e, 0xe4, 0xec, 0xfb, + 0x69, 0xc9, 0xa4, 0xd2, 0x68, 0x57, 0x0a, 0xc4, +}; +static const unsigned char kat501_retbits[] = { + 0x3c, 0xb7, 0x70, 0x2d, 0x62, 0xe7, 0x6b, 0xee, 0xc9, 0x2f, 0x66, 0xc7, + 0x2c, 0x63, 0x13, 0x14, 0x3c, 0x56, 0x2b, 0x52, 0xee, 0x94, 0x84, 0xc8, + 0x20, 0x0d, 0x33, 0x15, 0x09, 0xcb, 0xe2, 0xd0, 0xf4, 0xcb, 0x4d, 0xba, + 0x7d, 0xfc, 0xd4, 0x18, 0x39, 0xf2, 0xe7, 0x67, 0x49, 0xab, 0x80, 0x15, + 0x61, 0x4a, 0x14, 0xaf, 0xfd, 0xdc, 0xff, 0x0f, 0xdd, 0x4e, 0xb1, 0x82, + 0xf2, 0xbc, 0x48, 0x4d, +}; +static const struct drbg_kat_no_reseed kat501_t = { + 5, kat501_entropyin, kat501_nonce, kat501_persstr, + kat501_addin0, kat501_addin1, kat501_retbits +}; +static const struct drbg_kat kat501 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat501_t +}; + +static const unsigned char kat502_entropyin[] = { + 0x18, 0x28, 0xce, 0x53, 0x41, 0xed, 0x77, 0x1c, 0x2c, 0x8e, 0x68, 0xef, + 0x5d, 0x57, 0x28, 0xa5, 0x25, 0xa3, 0xf7, 0x65, 0x53, 0x63, 0xc5, 0xec, + 0x01, 0xc3, 0xfc, 0xb3, 0x0c, 0x0d, 0x10, 0x25, +}; +static const unsigned char kat502_nonce[] = { + 0xfd, 0x4c, 0x5d, 0x43, 0x54, 0x5e, 0x88, 0x56, 0xb6, 0x1c, 0xa4, 0x23, + 0xe9, 0x58, 0x0c, 0x7d, +}; +static const unsigned char kat502_persstr[] = {0}; +static const unsigned char kat502_addin0[] = { + 0x38, 0xc2, 0x81, 0x99, 0x54, 0x46, 0xe6, 0xc2, 0x73, 0x63, 0x00, 0x80, + 0x08, 0xf9, 0xb2, 0x8f, 0xcb, 0x5c, 0x00, 0x38, 0x3a, 0x20, 0x95, 0x87, + 0x85, 0x5c, 0x1d, 0x81, 0x9d, 0x48, 0xbd, 0xa0, +}; +static const unsigned char kat502_addin1[] = { + 0x9b, 0x1f, 0x6b, 0x84, 0xc4, 0x63, 0x2a, 0x5b, 0x21, 0x5f, 0xa3, 0xf8, + 0x41, 0x10, 0xc4, 0x5b, 0x6b, 0xd5, 0x3b, 0xcc, 0xca, 0x79, 0x2b, 0x4c, + 0x4d, 0x20, 0x73, 0xcc, 0xc9, 0x9e, 0xe3, 0x63, +}; +static const unsigned char kat502_retbits[] = { + 0xa3, 0xd7, 0x96, 0x54, 0xcd, 0x4f, 0x56, 0x70, 0xa6, 0x37, 0xad, 0x40, + 0xf4, 0x7f, 0x7f, 0xd5, 0xce, 0x21, 0xd4, 0xd1, 0x8c, 0x6e, 0xab, 0x6d, + 0xd0, 0x2c, 0x79, 0x14, 0x28, 0xb6, 0xa9, 0x65, 0xd3, 0xf7, 0xeb, 0x0e, + 0x62, 0x03, 0xcc, 0xb8, 0xdd, 0xc0, 0x6f, 0x3e, 0x29, 0x8a, 0xb3, 0x13, + 0x16, 0x12, 0x94, 0x52, 0x2f, 0x14, 0x6d, 0x30, 0x84, 0x4c, 0xa7, 0x74, + 0x2e, 0x02, 0x20, 0x7e, +}; +static const struct drbg_kat_no_reseed kat502_t = { + 6, kat502_entropyin, kat502_nonce, kat502_persstr, + kat502_addin0, kat502_addin1, kat502_retbits +}; +static const struct drbg_kat kat502 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat502_t +}; + +static const unsigned char kat503_entropyin[] = { + 0x7c, 0x15, 0xca, 0xae, 0x3d, 0x1d, 0x58, 0xac, 0xde, 0x9f, 0xf7, 0x4d, + 0x35, 0x16, 0xc8, 0xc2, 0xe9, 0x60, 0xec, 0xa6, 0xda, 0xa1, 0x59, 0x6f, + 0x7b, 0x01, 0xd0, 0x8e, 0x91, 0x76, 0xb1, 0xa3, +}; +static const unsigned char kat503_nonce[] = { + 0xf0, 0x86, 0x3c, 0x9d, 0x0f, 0x60, 0xaf, 0xf6, 0xbd, 0x1a, 0xbe, 0x2e, + 0xa2, 0x4c, 0xa9, 0x5c, +}; +static const unsigned char kat503_persstr[] = {0}; +static const unsigned char kat503_addin0[] = { + 0x6e, 0x55, 0xd1, 0x3b, 0xfc, 0x16, 0x62, 0xb7, 0xfe, 0xfb, 0x1e, 0xc2, + 0x22, 0xe3, 0x86, 0x6b, 0x4d, 0xf1, 0xb0, 0xba, 0xed, 0xc3, 0x55, 0xf4, + 0xa5, 0x23, 0xdb, 0x43, 0x45, 0x60, 0x23, 0x3f, +}; +static const unsigned char kat503_addin1[] = { + 0x31, 0xa7, 0x1c, 0x65, 0xdb, 0xab, 0xfd, 0x7c, 0x06, 0x2c, 0xb2, 0xe1, + 0x91, 0x17, 0x77, 0x38, 0x7b, 0xb9, 0x97, 0x09, 0x0b, 0x43, 0xe5, 0x3d, + 0xc9, 0x54, 0x34, 0x65, 0xa0, 0xee, 0xa6, 0xb0, +}; +static const unsigned char kat503_retbits[] = { + 0xc3, 0x65, 0xb1, 0xda, 0xaa, 0x9c, 0xfd, 0x4c, 0xa1, 0x68, 0x10, 0x1d, + 0x99, 0x6f, 0x7b, 0x89, 0x82, 0xec, 0xd0, 0x63, 0x85, 0x81, 0x11, 0x1c, + 0x9b, 0xfd, 0xa5, 0x28, 0x9a, 0x30, 0xc4, 0x19, 0xea, 0x77, 0xc3, 0x13, + 0x26, 0x47, 0x8b, 0x07, 0x2f, 0xaa, 0x0f, 0x00, 0x31, 0x23, 0x85, 0xdc, + 0x0a, 0x3b, 0xf2, 0x6b, 0x6c, 0xd4, 0xff, 0xf0, 0xce, 0x2e, 0xfe, 0x4b, + 0x0b, 0x55, 0x7a, 0x5e, +}; +static const struct drbg_kat_no_reseed kat503_t = { + 7, kat503_entropyin, kat503_nonce, kat503_persstr, + kat503_addin0, kat503_addin1, kat503_retbits +}; +static const struct drbg_kat kat503 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat503_t +}; + +static const unsigned char kat504_entropyin[] = { + 0x73, 0xc1, 0x6b, 0xa1, 0x9c, 0xfc, 0x3f, 0x8d, 0x3d, 0x41, 0x71, 0xa2, + 0xa5, 0xff, 0x0e, 0xbd, 0x8e, 0x1b, 0x1e, 0x5e, 0x15, 0x2c, 0x1b, 0x45, + 0x9a, 0x58, 0x88, 0x76, 0xd2, 0xdb, 0x5f, 0xb6, +}; +static const unsigned char kat504_nonce[] = { + 0xf2, 0x98, 0x62, 0xb5, 0x7a, 0x08, 0x96, 0xb5, 0x64, 0x44, 0x93, 0xed, + 0x97, 0x0e, 0x14, 0x2c, +}; +static const unsigned char kat504_persstr[] = {0}; +static const unsigned char kat504_addin0[] = { + 0x7e, 0x48, 0x1b, 0xda, 0x6e, 0x72, 0x20, 0x7b, 0x6d, 0xf7, 0x4f, 0x30, + 0xf5, 0x9c, 0xfe, 0xa6, 0x99, 0xba, 0xaf, 0xdf, 0xb8, 0xc5, 0x04, 0xf8, + 0x74, 0xc9, 0x8d, 0xd3, 0xf2, 0x15, 0x78, 0x7c, +}; +static const unsigned char kat504_addin1[] = { + 0x00, 0x3e, 0x69, 0x41, 0x85, 0xf0, 0x2d, 0x97, 0x38, 0xa7, 0x67, 0xb4, + 0x4a, 0x55, 0xf7, 0x95, 0x54, 0xc1, 0x46, 0x0a, 0x10, 0xc0, 0x67, 0x6a, + 0x7d, 0x22, 0x7e, 0xe4, 0x84, 0xc5, 0x8d, 0x88, +}; +static const unsigned char kat504_retbits[] = { + 0xbc, 0xf8, 0x50, 0xfc, 0xd2, 0xff, 0x56, 0xdf, 0x24, 0xe4, 0x91, 0xea, + 0x33, 0x69, 0xb6, 0x5d, 0x69, 0x17, 0xc4, 0xaa, 0x34, 0x59, 0x28, 0x29, + 0xa7, 0x77, 0xf9, 0x5d, 0xd3, 0xd8, 0x6a, 0x3b, 0x8e, 0x88, 0x4d, 0x9d, + 0xa6, 0xe5, 0x32, 0x02, 0x90, 0xd1, 0xfd, 0x89, 0x95, 0xf1, 0xb5, 0x6e, + 0xf4, 0x7a, 0xec, 0x49, 0x2d, 0xc7, 0x20, 0xa2, 0x11, 0x89, 0x8d, 0xbc, + 0x5f, 0x50, 0x75, 0x4a, +}; +static const struct drbg_kat_no_reseed kat504_t = { + 8, kat504_entropyin, kat504_nonce, kat504_persstr, + kat504_addin0, kat504_addin1, kat504_retbits +}; +static const struct drbg_kat kat504 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat504_t +}; + +static const unsigned char kat505_entropyin[] = { + 0xba, 0x82, 0x14, 0x84, 0x74, 0x0f, 0xce, 0xf6, 0x01, 0x65, 0x28, 0xfc, + 0x68, 0xb8, 0x80, 0x96, 0xd1, 0x03, 0xb2, 0x4d, 0x1f, 0x08, 0xb9, 0xf9, + 0xd9, 0xfd, 0x12, 0xdd, 0xce, 0xfc, 0x1a, 0x87, +}; +static const unsigned char kat505_nonce[] = { + 0xef, 0x53, 0xbe, 0x20, 0xeb, 0x5a, 0xaa, 0x86, 0x54, 0x49, 0xd7, 0x4c, + 0x48, 0x28, 0x18, 0x15, +}; +static const unsigned char kat505_persstr[] = {0}; +static const unsigned char kat505_addin0[] = { + 0xee, 0x7a, 0x7d, 0x73, 0x8c, 0x39, 0x09, 0x1c, 0xeb, 0x31, 0x91, 0x1b, + 0x61, 0x49, 0xdb, 0x26, 0xc0, 0x57, 0x13, 0x2a, 0xa7, 0xe4, 0x06, 0x25, + 0xab, 0x4c, 0x2e, 0x24, 0xa1, 0xae, 0x1e, 0xc1, +}; +static const unsigned char kat505_addin1[] = { + 0x71, 0xd4, 0xe3, 0x7d, 0x8e, 0x0b, 0xbc, 0xae, 0x40, 0x81, 0x3c, 0x33, + 0x09, 0x55, 0x81, 0xbf, 0xfd, 0xb1, 0x5d, 0x42, 0xc6, 0xba, 0xfd, 0x75, + 0x81, 0xbb, 0xca, 0x26, 0xbe, 0xa7, 0xba, 0xdf, +}; +static const unsigned char kat505_retbits[] = { + 0xfd, 0xb8, 0x32, 0xec, 0xb3, 0x09, 0xab, 0x8f, 0xd4, 0x6d, 0x1a, 0x5b, + 0xc6, 0x4c, 0xb3, 0x7a, 0x19, 0x9a, 0x90, 0x68, 0x47, 0x85, 0xd3, 0x2d, + 0x13, 0x39, 0xd7, 0x5c, 0xed, 0xa5, 0x33, 0x8a, 0xe6, 0x96, 0x1e, 0xe4, + 0x1c, 0xd1, 0x63, 0x63, 0x32, 0x46, 0xd6, 0x7f, 0xa6, 0x03, 0xc4, 0xff, + 0xda, 0xd5, 0x6a, 0xbc, 0x3e, 0xec, 0xfd, 0x9e, 0x93, 0x97, 0xb6, 0x29, + 0xec, 0xb9, 0x65, 0xbd, +}; +static const struct drbg_kat_no_reseed kat505_t = { + 9, kat505_entropyin, kat505_nonce, kat505_persstr, + kat505_addin0, kat505_addin1, kat505_retbits +}; +static const struct drbg_kat kat505 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat505_t +}; + +static const unsigned char kat506_entropyin[] = { + 0xaf, 0xd3, 0x91, 0xb5, 0x0a, 0x0f, 0x2e, 0x81, 0xfe, 0xf3, 0xe0, 0x44, + 0xdb, 0x92, 0x68, 0xd7, 0x85, 0x9c, 0x2b, 0x61, 0xd5, 0x3c, 0x7d, 0x19, + 0x02, 0xa9, 0xaf, 0x69, 0xf0, 0x41, 0x42, 0x81, +}; +static const unsigned char kat506_nonce[] = { + 0xf1, 0xbb, 0x5a, 0x11, 0x69, 0x44, 0x5a, 0x2d, 0xd8, 0xc5, 0xa8, 0x45, + 0x27, 0xc1, 0x0f, 0x7f, +}; +static const unsigned char kat506_persstr[] = {0}; +static const unsigned char kat506_addin0[] = { + 0xb5, 0x94, 0xb0, 0x46, 0xa5, 0x79, 0x60, 0x94, 0x1e, 0x83, 0x4a, 0x00, + 0xa2, 0xcd, 0xc7, 0xd6, 0xf2, 0x43, 0x0b, 0x93, 0xf5, 0xe2, 0x69, 0x40, + 0xb2, 0xd6, 0x94, 0x1f, 0x42, 0x4d, 0x4b, 0xac, +}; +static const unsigned char kat506_addin1[] = { + 0xe7, 0xd7, 0x67, 0xd3, 0xa8, 0x1e, 0x39, 0xb6, 0xb0, 0xe9, 0x8f, 0xf3, + 0xed, 0x0c, 0xe6, 0xff, 0xbb, 0x43, 0xdd, 0x5b, 0x98, 0x6b, 0x9c, 0xb8, + 0xc2, 0x74, 0x2b, 0xdf, 0xa0, 0x2f, 0xae, 0xd1, +}; +static const unsigned char kat506_retbits[] = { + 0x28, 0x36, 0x80, 0x0d, 0x4e, 0x0a, 0x01, 0x80, 0xb2, 0x79, 0xf0, 0xee, + 0x1f, 0xf6, 0x14, 0x8b, 0x0b, 0x36, 0x77, 0x09, 0xf9, 0xa9, 0xa3, 0xd1, + 0x03, 0x03, 0xd4, 0x8e, 0xc8, 0x03, 0x6a, 0x53, 0x17, 0x92, 0xd3, 0x21, + 0x0d, 0x9d, 0x67, 0x17, 0x46, 0xe2, 0x03, 0xfc, 0x07, 0xcd, 0xdb, 0x29, + 0xf7, 0x87, 0x77, 0x77, 0x75, 0xed, 0xe3, 0xc9, 0x8c, 0x50, 0x88, 0x5d, + 0xf7, 0xdd, 0xfe, 0x6b, +}; +static const struct drbg_kat_no_reseed kat506_t = { + 10, kat506_entropyin, kat506_nonce, kat506_persstr, + kat506_addin0, kat506_addin1, kat506_retbits +}; +static const struct drbg_kat kat506 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat506_t +}; + +static const unsigned char kat507_entropyin[] = { + 0x05, 0x92, 0x51, 0x95, 0xf9, 0x73, 0x5e, 0x38, 0x45, 0x7a, 0xce, 0xf4, + 0xb7, 0x26, 0xcb, 0xc5, 0x8f, 0x83, 0xca, 0x37, 0x40, 0xc5, 0x58, 0x31, + 0x76, 0xb1, 0x13, 0x5c, 0x15, 0x84, 0xda, 0xed, +}; +static const unsigned char kat507_nonce[] = { + 0xd5, 0xcb, 0xe9, 0x50, 0x34, 0xea, 0xad, 0x6e, 0x10, 0xe5, 0x5a, 0x05, + 0x15, 0x5a, 0xe6, 0xb9, +}; +static const unsigned char kat507_persstr[] = {0}; +static const unsigned char kat507_addin0[] = { + 0xae, 0x5e, 0x51, 0x1f, 0x35, 0x7e, 0x36, 0x2e, 0x39, 0x20, 0xca, 0x3e, + 0x7c, 0xda, 0xd2, 0xae, 0x44, 0x91, 0x2d, 0x64, 0xbc, 0x09, 0x62, 0x9d, + 0x2e, 0xeb, 0x9c, 0xc5, 0x40, 0xb3, 0x04, 0xf6, +}; +static const unsigned char kat507_addin1[] = { + 0x3f, 0xe1, 0xaa, 0xf5, 0xc7, 0x91, 0xb8, 0x38, 0x65, 0xe5, 0x6b, 0xd1, + 0x9e, 0xd1, 0x9a, 0x01, 0x9d, 0x25, 0x90, 0xc0, 0xcd, 0x59, 0x6e, 0xb7, + 0x2f, 0x46, 0x44, 0xc8, 0xc4, 0x14, 0x90, 0xf4, +}; +static const unsigned char kat507_retbits[] = { + 0x31, 0x23, 0xc4, 0xe8, 0x1a, 0x8d, 0x06, 0x71, 0xfe, 0xe1, 0xd5, 0x28, + 0x32, 0x8e, 0xad, 0x1c, 0xa4, 0xde, 0x8d, 0x07, 0xb3, 0xe5, 0x70, 0xcd, + 0x0c, 0x5a, 0xa1, 0xc6, 0x66, 0x15, 0x8b, 0x86, 0xc3, 0xb5, 0x48, 0xfa, + 0xe6, 0x00, 0xd0, 0x02, 0x50, 0xf3, 0xa8, 0x56, 0x55, 0xca, 0xe3, 0xf4, + 0x09, 0x99, 0xe4, 0x39, 0x32, 0xea, 0x75, 0x64, 0x7a, 0x4d, 0xf1, 0xc7, + 0x5a, 0x19, 0xfa, 0x80, +}; +static const struct drbg_kat_no_reseed kat507_t = { + 11, kat507_entropyin, kat507_nonce, kat507_persstr, + kat507_addin0, kat507_addin1, kat507_retbits +}; +static const struct drbg_kat kat507 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat507_t +}; + +static const unsigned char kat508_entropyin[] = { + 0xae, 0x13, 0xa2, 0xd2, 0x37, 0x34, 0xb2, 0xd6, 0x57, 0xf6, 0x7d, 0x6b, + 0xab, 0x36, 0xe1, 0x12, 0x1d, 0x5d, 0x2c, 0x1e, 0xdb, 0x4e, 0x36, 0xf4, + 0xef, 0x2f, 0xfb, 0xc1, 0x0b, 0x62, 0x8c, 0xfb, +}; +static const unsigned char kat508_nonce[] = { + 0x6a, 0x1d, 0xb3, 0x53, 0xe3, 0xc5, 0xa6, 0xe6, 0x65, 0x7c, 0x86, 0xca, + 0xa7, 0x26, 0x33, 0xd8, +}; +static const unsigned char kat508_persstr[] = {0}; +static const unsigned char kat508_addin0[] = { + 0xcb, 0xfc, 0xce, 0x20, 0x9f, 0xde, 0x42, 0x08, 0xef, 0xab, 0xb2, 0x41, + 0x79, 0x52, 0xb1, 0xc9, 0xfc, 0x22, 0x84, 0x3c, 0xe2, 0x17, 0x46, 0x08, + 0xbe, 0x04, 0xa4, 0x5f, 0x1d, 0x98, 0x27, 0xc2, +}; +static const unsigned char kat508_addin1[] = { + 0xa8, 0xd0, 0xca, 0x78, 0x88, 0x00, 0x85, 0x2c, 0x5d, 0xf5, 0xea, 0xbb, + 0xea, 0xf1, 0xf5, 0xfb, 0xd9, 0x4b, 0xeb, 0x74, 0x61, 0x03, 0xb0, 0x43, + 0x68, 0x76, 0xbc, 0x80, 0x92, 0xda, 0x8b, 0xad, +}; +static const unsigned char kat508_retbits[] = { + 0xd3, 0x86, 0x88, 0x90, 0xe7, 0x38, 0xbb, 0xf5, 0x60, 0x2c, 0xa4, 0x6e, + 0x00, 0x9d, 0xab, 0xaf, 0xb1, 0x6f, 0x56, 0x86, 0xfd, 0xdb, 0x78, 0x7c, + 0x8c, 0xca, 0x32, 0x89, 0x23, 0x60, 0xf6, 0x10, 0x99, 0xf0, 0xd7, 0x7c, + 0xce, 0x39, 0xdc, 0x8f, 0x6e, 0x53, 0x05, 0x40, 0xfc, 0x5f, 0xab, 0x3e, + 0xb6, 0x57, 0x11, 0x48, 0x47, 0xd3, 0xa3, 0x95, 0xfa, 0xf4, 0x0f, 0x8a, + 0xf6, 0x4f, 0x4d, 0x2d, +}; +static const struct drbg_kat_no_reseed kat508_t = { + 12, kat508_entropyin, kat508_nonce, kat508_persstr, + kat508_addin0, kat508_addin1, kat508_retbits +}; +static const struct drbg_kat kat508 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat508_t +}; + +static const unsigned char kat509_entropyin[] = { + 0xfa, 0x9f, 0x4f, 0xd3, 0x46, 0x55, 0x5d, 0xb3, 0x5d, 0x3e, 0xe8, 0xf1, + 0x57, 0x95, 0x7c, 0x81, 0x91, 0xe3, 0xe8, 0x61, 0x84, 0x4b, 0x4f, 0x50, + 0x00, 0xda, 0xb4, 0x82, 0x61, 0xf8, 0x5f, 0x74, +}; +static const unsigned char kat509_nonce[] = { + 0x5e, 0x18, 0x8b, 0x4e, 0xe0, 0x78, 0xd5, 0x7f, 0x91, 0xd7, 0xde, 0x21, + 0x9f, 0xc4, 0x25, 0xed, +}; +static const unsigned char kat509_persstr[] = {0}; +static const unsigned char kat509_addin0[] = { + 0x5e, 0xb2, 0x48, 0xcd, 0x13, 0x8b, 0x8f, 0xef, 0xa2, 0xb7, 0xe8, 0xfc, + 0x75, 0x2c, 0x0f, 0xbc, 0xb0, 0x82, 0xbe, 0x51, 0xd0, 0xf4, 0xe2, 0xa9, + 0x88, 0xbf, 0x5f, 0x87, 0xfc, 0x73, 0x74, 0x47, +}; +static const unsigned char kat509_addin1[] = { + 0x7c, 0xf9, 0x60, 0x6d, 0x30, 0x2f, 0x53, 0x56, 0x7e, 0x45, 0xb9, 0x8c, + 0x38, 0xd4, 0xda, 0xae, 0x23, 0x2c, 0x92, 0x5c, 0xb9, 0x2e, 0x54, 0xc7, + 0x4b, 0xcf, 0x14, 0x10, 0x4e, 0x32, 0xa1, 0x13, +}; +static const unsigned char kat509_retbits[] = { + 0x89, 0x58, 0xd2, 0x45, 0xd7, 0x02, 0x35, 0x55, 0x5a, 0x1e, 0xcc, 0xf4, + 0xfa, 0xf2, 0x00, 0x9d, 0x32, 0x76, 0x2e, 0x33, 0x24, 0x94, 0xef, 0xe5, + 0xf4, 0x8f, 0xa5, 0xd7, 0xff, 0x30, 0xc7, 0xcb, 0xf0, 0x7c, 0x9b, 0xcc, + 0x3e, 0x70, 0xd6, 0x2b, 0x94, 0xa4, 0xed, 0x21, 0xdb, 0x5e, 0x39, 0xcd, + 0xd0, 0x1a, 0x1e, 0x96, 0x68, 0x8b, 0x3b, 0xb9, 0xb2, 0xc4, 0xac, 0x0a, + 0x7a, 0xfe, 0xec, 0x24, +}; +static const struct drbg_kat_no_reseed kat509_t = { + 13, kat509_entropyin, kat509_nonce, kat509_persstr, + kat509_addin0, kat509_addin1, kat509_retbits +}; +static const struct drbg_kat kat509 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat509_t +}; + +static const unsigned char kat510_entropyin[] = { + 0xc7, 0x64, 0xbc, 0xcc, 0x19, 0x05, 0x3d, 0x7f, 0x12, 0xdf, 0x71, 0x01, + 0x1b, 0x35, 0x87, 0x8d, 0xd0, 0xbb, 0x58, 0x7d, 0xeb, 0x88, 0x7f, 0x8a, + 0x05, 0xf0, 0x40, 0xec, 0x45, 0xe3, 0x24, 0xbc, +}; +static const unsigned char kat510_nonce[] = { + 0xa4, 0xb1, 0xa9, 0xff, 0x04, 0x91, 0x72, 0x47, 0x6a, 0xb9, 0x9f, 0x7a, + 0xe0, 0x64, 0x5e, 0x6c, +}; +static const unsigned char kat510_persstr[] = {0}; +static const unsigned char kat510_addin0[] = { + 0xb6, 0xf2, 0xaa, 0x8a, 0x99, 0x3a, 0xa0, 0x42, 0x52, 0xd6, 0xc0, 0x14, + 0xea, 0xc8, 0xad, 0x0b, 0x90, 0xcf, 0x0e, 0xd4, 0x38, 0x88, 0x81, 0x73, + 0xe1, 0x5e, 0xab, 0x28, 0x0f, 0x73, 0xab, 0xe0, +}; +static const unsigned char kat510_addin1[] = { + 0xc6, 0x38, 0x4c, 0x9a, 0x2c, 0x9d, 0x8f, 0xc4, 0xc7, 0x42, 0x2f, 0xe4, + 0x0e, 0x43, 0x0e, 0x4f, 0x36, 0xe6, 0xae, 0x9b, 0xd6, 0xb0, 0x39, 0xd5, + 0x5a, 0xbf, 0xdd, 0x8f, 0x05, 0xd6, 0xa2, 0x0e, +}; +static const unsigned char kat510_retbits[] = { + 0x63, 0x00, 0xf2, 0x89, 0x41, 0xdc, 0x17, 0x3a, 0x9f, 0x6f, 0x5e, 0x4c, + 0x11, 0xf1, 0xd1, 0xd7, 0xd4, 0xfd, 0x7f, 0xbb, 0xaf, 0x6f, 0xc3, 0xa9, + 0x7a, 0xcd, 0xfc, 0x00, 0x8a, 0x00, 0x10, 0x9a, 0x67, 0x0e, 0x48, 0x7e, + 0x5d, 0xce, 0x42, 0x3a, 0x3e, 0xee, 0x48, 0x82, 0x34, 0x7e, 0xf2, 0x64, + 0x49, 0x88, 0x8c, 0x8d, 0xd7, 0x3b, 0x9a, 0xaa, 0x73, 0xd1, 0x94, 0xc1, + 0x71, 0x46, 0x9a, 0xf6, +}; +static const struct drbg_kat_no_reseed kat510_t = { + 14, kat510_entropyin, kat510_nonce, kat510_persstr, + kat510_addin0, kat510_addin1, kat510_retbits +}; +static const struct drbg_kat kat510 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat510_t +}; + +static const unsigned char kat511_entropyin[] = { + 0x54, 0x16, 0xe7, 0x7b, 0x5e, 0x1d, 0x87, 0x2d, 0x4f, 0xf9, 0x19, 0x73, + 0xb1, 0xbe, 0x66, 0xbc, 0x07, 0xf4, 0xa9, 0x9e, 0x30, 0xdb, 0x7d, 0x00, + 0x06, 0xda, 0x00, 0x6f, 0xcf, 0xb0, 0x82, 0xdb, +}; +static const unsigned char kat511_nonce[] = { + 0x7a, 0x81, 0x1c, 0xe6, 0x2b, 0x9f, 0xd3, 0x4a, 0xf1, 0x86, 0xb2, 0xb3, + 0xe5, 0x0e, 0xaf, 0x5d, +}; +static const unsigned char kat511_persstr[] = { + 0x71, 0xee, 0x0c, 0x76, 0x99, 0xac, 0x0e, 0x80, 0x56, 0x32, 0xf2, 0x05, + 0x8d, 0xe3, 0x8b, 0xf8, 0x72, 0xb8, 0x34, 0x0f, 0x89, 0x99, 0x8f, 0x7a, + 0x8a, 0x2a, 0xd4, 0xac, 0x04, 0x5a, 0xe6, 0xef, +}; +static const unsigned char kat511_addin0[] = {0}; +static const unsigned char kat511_addin1[] = {0}; +static const unsigned char kat511_retbits[] = { + 0x68, 0xf5, 0x85, 0x9c, 0xf7, 0x6f, 0x94, 0xc4, 0x45, 0xd9, 0xfc, 0xd3, + 0x4f, 0xc1, 0x7a, 0xc2, 0x24, 0xc3, 0xd7, 0xd7, 0xc2, 0xfc, 0x38, 0xfa, + 0xaf, 0x3c, 0x24, 0xbe, 0x6c, 0xd3, 0xcd, 0x93, 0xb7, 0xf9, 0xd8, 0xa6, + 0x14, 0x6f, 0x5a, 0xc8, 0x3a, 0xc1, 0xd7, 0xb1, 0xb2, 0xb7, 0xe7, 0xec, + 0xbc, 0x1a, 0x2e, 0x38, 0x76, 0x0e, 0xf8, 0x6a, 0x57, 0x7d, 0x40, 0x2d, + 0x85, 0x99, 0x0d, 0x9b, +}; +static const struct drbg_kat_no_reseed kat511_t = { + 0, kat511_entropyin, kat511_nonce, kat511_persstr, + kat511_addin0, kat511_addin1, kat511_retbits +}; +static const struct drbg_kat kat511 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat511_t +}; + +static const unsigned char kat512_entropyin[] = { + 0x70, 0x8e, 0xca, 0x2e, 0x3a, 0x92, 0x65, 0xa7, 0x90, 0x60, 0x7e, 0xdb, + 0xe0, 0x5f, 0xe3, 0x42, 0x66, 0x3f, 0x84, 0xc6, 0x61, 0x7e, 0xda, 0x14, + 0xf2, 0x52, 0x76, 0xa9, 0x43, 0x90, 0x1f, 0xda, +}; +static const unsigned char kat512_nonce[] = { + 0x75, 0xaf, 0xb4, 0x9a, 0x18, 0x4b, 0x23, 0x50, 0x6b, 0xe1, 0x49, 0x26, + 0xcd, 0x4a, 0x03, 0xf0, +}; +static const unsigned char kat512_persstr[] = { + 0xcb, 0xb4, 0x8e, 0xf8, 0x41, 0x46, 0xc1, 0x0e, 0x02, 0x24, 0x0d, 0x87, + 0x40, 0xd3, 0x48, 0x7b, 0x6a, 0x42, 0x08, 0x40, 0x53, 0x83, 0xc0, 0x1a, + 0x66, 0x4e, 0xc7, 0xd3, 0xad, 0xa0, 0x7e, 0x2d, +}; +static const unsigned char kat512_addin0[] = {0}; +static const unsigned char kat512_addin1[] = {0}; +static const unsigned char kat512_retbits[] = { + 0x26, 0xb0, 0xaa, 0x6e, 0x82, 0x2c, 0x4c, 0xc9, 0x12, 0xcf, 0x1d, 0xba, + 0xe6, 0x69, 0xc7, 0xda, 0xd0, 0xbd, 0xcf, 0xf6, 0x5f, 0x22, 0x81, 0x3a, + 0xfd, 0x06, 0x22, 0x5b, 0x7f, 0xf7, 0x99, 0xf7, 0x80, 0x3b, 0x3a, 0xd4, + 0x8b, 0xc8, 0x8d, 0x2b, 0xe0, 0xf5, 0xa3, 0x57, 0xf6, 0x20, 0xcc, 0x61, + 0x7f, 0x44, 0x6f, 0xc6, 0xd2, 0x12, 0x59, 0x2a, 0xda, 0x69, 0xb7, 0xdc, + 0x8f, 0xf4, 0xa2, 0x22, +}; +static const struct drbg_kat_no_reseed kat512_t = { + 1, kat512_entropyin, kat512_nonce, kat512_persstr, + kat512_addin0, kat512_addin1, kat512_retbits +}; +static const struct drbg_kat kat512 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat512_t +}; + +static const unsigned char kat513_entropyin[] = { + 0x44, 0xcc, 0x6b, 0x44, 0x33, 0xce, 0xc6, 0x15, 0xc3, 0xc2, 0x14, 0xe1, + 0x66, 0xc7, 0xdc, 0xff, 0x25, 0x8f, 0x8c, 0xfe, 0x57, 0x48, 0xe6, 0x42, + 0x32, 0x1c, 0xda, 0x2f, 0x7d, 0xb4, 0x26, 0xe3, +}; +static const unsigned char kat513_nonce[] = { + 0x6a, 0x25, 0x26, 0x95, 0x4b, 0x5d, 0xf9, 0x89, 0xd6, 0x1e, 0x1f, 0xaf, + 0x93, 0xdd, 0xa2, 0xae, +}; +static const unsigned char kat513_persstr[] = { + 0x88, 0x22, 0x63, 0x13, 0xc7, 0xf1, 0xec, 0x03, 0xcd, 0xe3, 0x77, 0x97, + 0x0c, 0x8e, 0xa7, 0xd7, 0x41, 0xa9, 0xf2, 0x1a, 0x8f, 0x54, 0xb6, 0xb9, + 0x70, 0x43, 0xbc, 0x3e, 0x8d, 0xa4, 0x0b, 0x1e, +}; +static const unsigned char kat513_addin0[] = {0}; +static const unsigned char kat513_addin1[] = {0}; +static const unsigned char kat513_retbits[] = { + 0xc1, 0x95, 0x6c, 0x41, 0x95, 0xad, 0xfc, 0x3e, 0xe7, 0x15, 0x82, 0xab, + 0x2c, 0x63, 0xed, 0xc0, 0xa7, 0x8a, 0xf4, 0x9e, 0xcc, 0x23, 0xa3, 0xdd, + 0xbc, 0xf2, 0xdf, 0xaf, 0x80, 0xc7, 0x61, 0xfd, 0x63, 0x43, 0xaf, 0x6d, + 0x14, 0x31, 0x0e, 0x71, 0x9d, 0x8c, 0xd3, 0xc6, 0xbb, 0xb4, 0x91, 0xc8, + 0x69, 0x0a, 0x7d, 0xd8, 0xa1, 0x68, 0xcd, 0x8a, 0x48, 0x02, 0x17, 0xe5, + 0xdd, 0x20, 0x88, 0xaf, +}; +static const struct drbg_kat_no_reseed kat513_t = { + 2, kat513_entropyin, kat513_nonce, kat513_persstr, + kat513_addin0, kat513_addin1, kat513_retbits +}; +static const struct drbg_kat kat513 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat513_t +}; + +static const unsigned char kat514_entropyin[] = { + 0x54, 0xcc, 0xb1, 0xe5, 0xf0, 0x44, 0x44, 0x7d, 0xce, 0x52, 0xa4, 0x70, + 0xf4, 0x7f, 0xe2, 0x68, 0x27, 0x17, 0xdd, 0x29, 0x6d, 0x64, 0x49, 0x1e, + 0xe2, 0xac, 0xc9, 0x9e, 0x9a, 0xd6, 0x56, 0x6f, +}; +static const unsigned char kat514_nonce[] = { + 0xff, 0x4c, 0xd3, 0x18, 0x56, 0x11, 0xcb, 0xe0, 0x67, 0x84, 0xe3, 0x25, + 0x80, 0xb2, 0xf2, 0x3c, +}; +static const unsigned char kat514_persstr[] = { + 0x13, 0x2e, 0xf5, 0x42, 0xf9, 0x07, 0xb8, 0x4c, 0x44, 0x3d, 0x19, 0x73, + 0xb3, 0x90, 0x9b, 0x6d, 0x9a, 0x0d, 0x91, 0x24, 0xd3, 0x8b, 0xd1, 0xe7, + 0xc8, 0x83, 0x3f, 0x48, 0xae, 0xcf, 0xc0, 0x8d, +}; +static const unsigned char kat514_addin0[] = {0}; +static const unsigned char kat514_addin1[] = {0}; +static const unsigned char kat514_retbits[] = { + 0x0f, 0x2f, 0x56, 0xea, 0x8b, 0x91, 0x1c, 0xbe, 0x59, 0xa7, 0xb8, 0xfa, + 0xb1, 0xc7, 0x10, 0xa7, 0xeb, 0xb6, 0xec, 0x9a, 0x09, 0x55, 0x5c, 0xa4, + 0x9c, 0xcd, 0xdd, 0x9a, 0xfd, 0x38, 0xed, 0x61, 0xb8, 0x55, 0xcf, 0x3f, + 0x33, 0xf2, 0xc5, 0xbc, 0x61, 0x6d, 0xf6, 0xcb, 0x17, 0x26, 0x96, 0x84, + 0x83, 0xc6, 0x9c, 0x18, 0x49, 0xe0, 0xf1, 0xb4, 0x6b, 0xa0, 0x29, 0xaa, + 0x6f, 0x5d, 0xeb, 0xdb, +}; +static const struct drbg_kat_no_reseed kat514_t = { + 3, kat514_entropyin, kat514_nonce, kat514_persstr, + kat514_addin0, kat514_addin1, kat514_retbits +}; +static const struct drbg_kat kat514 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat514_t +}; + +static const unsigned char kat515_entropyin[] = { + 0x3d, 0x3f, 0xdd, 0x9d, 0x90, 0xac, 0xbc, 0xee, 0x07, 0x00, 0x2f, 0x17, + 0x37, 0x00, 0x45, 0xfe, 0xb5, 0xea, 0xa3, 0x34, 0xfd, 0x74, 0x59, 0x4e, + 0x11, 0x21, 0x14, 0xd3, 0x92, 0x8d, 0xd5, 0xd9, +}; +static const unsigned char kat515_nonce[] = { + 0xf8, 0x50, 0x95, 0x29, 0x4e, 0xbc, 0x5f, 0xdd, 0xf4, 0x49, 0x41, 0xbe, + 0x5f, 0xfa, 0xf1, 0x0c, +}; +static const unsigned char kat515_persstr[] = { + 0x59, 0xe2, 0xff, 0xa1, 0x64, 0x73, 0x3f, 0xf1, 0x1b, 0x5a, 0x95, 0xeb, + 0x99, 0xa7, 0x83, 0x66, 0x90, 0x6d, 0xe4, 0xfa, 0xc6, 0x4e, 0x51, 0x24, + 0x00, 0x08, 0x11, 0x16, 0xac, 0xce, 0x53, 0x90, +}; +static const unsigned char kat515_addin0[] = {0}; +static const unsigned char kat515_addin1[] = {0}; +static const unsigned char kat515_retbits[] = { + 0x12, 0x44, 0xe5, 0x32, 0x79, 0x9f, 0x1e, 0xa4, 0xed, 0x32, 0x18, 0x94, + 0xda, 0xc5, 0x1b, 0x3c, 0x78, 0xd2, 0xfa, 0x5f, 0x0e, 0x1c, 0x92, 0x2f, + 0xfd, 0x2f, 0xf6, 0x08, 0x27, 0x54, 0x00, 0x83, 0x4d, 0x03, 0x45, 0x49, + 0x42, 0xd3, 0x1a, 0x20, 0x14, 0xcc, 0xfe, 0x07, 0xc2, 0x35, 0x41, 0x12, + 0x36, 0x3c, 0x60, 0xf4, 0x8d, 0xd1, 0x2b, 0x29, 0xa3, 0x73, 0x41, 0x28, + 0xa5, 0x9b, 0xca, 0x21, +}; +static const struct drbg_kat_no_reseed kat515_t = { + 4, kat515_entropyin, kat515_nonce, kat515_persstr, + kat515_addin0, kat515_addin1, kat515_retbits +}; +static const struct drbg_kat kat515 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat515_t +}; + +static const unsigned char kat516_entropyin[] = { + 0x25, 0x36, 0xd7, 0xea, 0x90, 0x6d, 0x1e, 0xee, 0xa8, 0x3e, 0x1c, 0x9d, + 0xa0, 0x8c, 0xf7, 0x6d, 0x09, 0x5b, 0x7d, 0x4f, 0x55, 0xb4, 0x33, 0xbb, + 0xd5, 0x22, 0x5a, 0xa8, 0x70, 0xcc, 0x3f, 0x50, +}; +static const unsigned char kat516_nonce[] = { + 0x17, 0x70, 0x4a, 0x7c, 0x50, 0xf9, 0x37, 0xac, 0xf6, 0x26, 0xe8, 0x54, + 0xe0, 0xb9, 0x5f, 0x80, +}; +static const unsigned char kat516_persstr[] = { + 0xb6, 0x1f, 0xcc, 0xd4, 0x0d, 0x9c, 0xeb, 0xc4, 0xb9, 0x27, 0xba, 0x77, + 0x3b, 0x93, 0x29, 0x57, 0xc2, 0x99, 0xf7, 0x79, 0xc4, 0x26, 0x6a, 0x83, + 0xf1, 0x69, 0xb6, 0xde, 0x50, 0x7d, 0x31, 0x27, +}; +static const unsigned char kat516_addin0[] = {0}; +static const unsigned char kat516_addin1[] = {0}; +static const unsigned char kat516_retbits[] = { + 0x8c, 0x3b, 0x0b, 0x71, 0xd6, 0x43, 0x2e, 0x10, 0x22, 0x97, 0x6c, 0x9c, + 0x8e, 0xbb, 0x14, 0x06, 0xb1, 0xda, 0x99, 0x5e, 0x29, 0x37, 0x22, 0x1d, + 0x18, 0xd7, 0x51, 0x81, 0x68, 0x25, 0xfc, 0xa0, 0x64, 0x53, 0x4e, 0x21, + 0x69, 0xcc, 0x63, 0xb5, 0x07, 0x05, 0x29, 0xff, 0x02, 0xb5, 0xee, 0x5b, + 0x70, 0x81, 0xa0, 0x8e, 0xbd, 0xd8, 0x78, 0x62, 0x59, 0x5e, 0xa3, 0x7a, + 0x95, 0xc1, 0xe4, 0xa7, +}; +static const struct drbg_kat_no_reseed kat516_t = { + 5, kat516_entropyin, kat516_nonce, kat516_persstr, + kat516_addin0, kat516_addin1, kat516_retbits +}; +static const struct drbg_kat kat516 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat516_t +}; + +static const unsigned char kat517_entropyin[] = { + 0xfe, 0xe9, 0x82, 0xd8, 0x7d, 0xf4, 0xc3, 0x20, 0x57, 0xcb, 0x49, 0x9d, + 0xf6, 0xea, 0x21, 0xdd, 0x69, 0x16, 0xdd, 0x38, 0x85, 0x0a, 0x87, 0x2a, + 0xbe, 0x34, 0x36, 0x0f, 0x29, 0x14, 0xb5, 0x6c, +}; +static const unsigned char kat517_nonce[] = { + 0x5a, 0x1f, 0xf0, 0x69, 0x2d, 0x9a, 0xdc, 0x5e, 0xdb, 0x1a, 0xf7, 0x74, + 0x61, 0xfd, 0x05, 0x31, +}; +static const unsigned char kat517_persstr[] = { + 0x1c, 0x0d, 0x18, 0x5f, 0xa4, 0xbe, 0xde, 0xdb, 0x78, 0x1b, 0x8b, 0x73, + 0x61, 0x6d, 0xef, 0x74, 0x40, 0x82, 0x21, 0x72, 0xd0, 0x1a, 0x61, 0x9a, + 0x20, 0x66, 0xb7, 0x9e, 0xfa, 0xce, 0x68, 0x5f, +}; +static const unsigned char kat517_addin0[] = {0}; +static const unsigned char kat517_addin1[] = {0}; +static const unsigned char kat517_retbits[] = { + 0xd7, 0xc2, 0x28, 0xe7, 0x00, 0x2b, 0xc2, 0xa1, 0xa2, 0x3a, 0x16, 0xe4, + 0x89, 0xba, 0x8f, 0x0a, 0x61, 0x62, 0x7a, 0xb4, 0xb2, 0x44, 0x4f, 0x00, + 0xf2, 0x3e, 0xd3, 0x71, 0x7b, 0x87, 0x94, 0x4f, 0xee, 0xbb, 0x16, 0x9e, + 0xe4, 0xe9, 0x79, 0x08, 0x9c, 0x35, 0xe8, 0x3f, 0x24, 0x30, 0x79, 0xe4, + 0x77, 0x19, 0x18, 0x86, 0x2e, 0x15, 0x03, 0x6e, 0xc6, 0xa9, 0xc9, 0xee, + 0xe4, 0xbb, 0x00, 0xb5, +}; +static const struct drbg_kat_no_reseed kat517_t = { + 6, kat517_entropyin, kat517_nonce, kat517_persstr, + kat517_addin0, kat517_addin1, kat517_retbits +}; +static const struct drbg_kat kat517 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat517_t +}; + +static const unsigned char kat518_entropyin[] = { + 0x25, 0x32, 0x7b, 0x05, 0xf8, 0x6e, 0x50, 0x79, 0xab, 0x55, 0x2e, 0x98, + 0x7e, 0xc7, 0xe2, 0x81, 0x62, 0x59, 0x51, 0x09, 0x33, 0xbc, 0x0c, 0x7a, + 0x05, 0xc3, 0x5e, 0x16, 0x3b, 0x47, 0xb4, 0xce, +}; +static const unsigned char kat518_nonce[] = { + 0x7e, 0xf8, 0xd6, 0x30, 0x8e, 0xe6, 0xb5, 0x06, 0x1c, 0xbc, 0xb8, 0x50, + 0x48, 0x5a, 0x15, 0xa7, +}; +static const unsigned char kat518_persstr[] = { + 0x9a, 0x39, 0xed, 0x86, 0xb2, 0xe8, 0x29, 0x0f, 0x74, 0xca, 0x88, 0x6b, + 0x32, 0x0d, 0x8e, 0x23, 0xd8, 0xa1, 0xd4, 0x95, 0x3c, 0x27, 0x62, 0xf8, + 0x1f, 0x07, 0x1d, 0x84, 0x2c, 0xe9, 0x51, 0xe3, +}; +static const unsigned char kat518_addin0[] = {0}; +static const unsigned char kat518_addin1[] = {0}; +static const unsigned char kat518_retbits[] = { + 0x21, 0x19, 0x71, 0x63, 0x2f, 0x8e, 0x6c, 0x60, 0x82, 0xf1, 0x10, 0x76, + 0xbb, 0x70, 0x7e, 0xc9, 0xc6, 0x5e, 0x34, 0x34, 0xc2, 0x72, 0x7e, 0x59, + 0xa5, 0xd1, 0x3e, 0x54, 0x35, 0x62, 0xa1, 0xda, 0x4d, 0x7b, 0xc2, 0xe4, + 0x83, 0x03, 0x5d, 0x46, 0x68, 0x53, 0x6a, 0xd1, 0xd6, 0x9f, 0x61, 0x19, + 0x04, 0x59, 0x99, 0x52, 0x4d, 0x92, 0xc4, 0x8c, 0x4a, 0xed, 0xe6, 0x22, + 0xee, 0x53, 0x63, 0x8d, +}; +static const struct drbg_kat_no_reseed kat518_t = { + 7, kat518_entropyin, kat518_nonce, kat518_persstr, + kat518_addin0, kat518_addin1, kat518_retbits +}; +static const struct drbg_kat kat518 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat518_t +}; + +static const unsigned char kat519_entropyin[] = { + 0x7b, 0x16, 0x3d, 0xc1, 0x1e, 0x15, 0x6b, 0x1b, 0xb1, 0x70, 0xc2, 0x2d, + 0xcd, 0xd1, 0x21, 0xea, 0xea, 0x30, 0x1d, 0x61, 0x72, 0xe3, 0xc0, 0xb4, + 0xbb, 0xc4, 0xf3, 0x77, 0xbe, 0x04, 0x09, 0x40, +}; +static const unsigned char kat519_nonce[] = { + 0x32, 0x33, 0xf1, 0x56, 0x37, 0x28, 0x69, 0xd9, 0x37, 0xf3, 0x69, 0x4c, + 0x50, 0xea, 0x98, 0x32, +}; +static const unsigned char kat519_persstr[] = { + 0x7d, 0x61, 0xda, 0xf2, 0x37, 0xbd, 0xea, 0x1b, 0xa3, 0xb0, 0x30, 0x1f, + 0x02, 0xcb, 0xe6, 0x1c, 0xea, 0xa1, 0x88, 0xee, 0xf8, 0x5b, 0x95, 0x84, + 0x24, 0x32, 0x47, 0x0c, 0x65, 0xa1, 0x33, 0x67, +}; +static const unsigned char kat519_addin0[] = {0}; +static const unsigned char kat519_addin1[] = {0}; +static const unsigned char kat519_retbits[] = { + 0x8b, 0x9e, 0x1b, 0x2a, 0xa9, 0x50, 0xd0, 0x16, 0xae, 0xe5, 0x5c, 0x3a, + 0xbf, 0x0c, 0x7f, 0x1d, 0x3c, 0x1c, 0x0d, 0x8a, 0x62, 0xce, 0x5d, 0x59, + 0xe8, 0x4b, 0x72, 0xa1, 0x32, 0x2f, 0x17, 0x46, 0xef, 0xaf, 0x0e, 0x46, + 0xe6, 0x7b, 0x17, 0x66, 0x43, 0xc7, 0xb5, 0x7e, 0x3d, 0xbf, 0xfb, 0xdf, + 0x32, 0xce, 0x7a, 0xff, 0xfd, 0x6f, 0xf7, 0xf2, 0x30, 0x81, 0xae, 0x4c, + 0x4f, 0x97, 0x3e, 0xb0, +}; +static const struct drbg_kat_no_reseed kat519_t = { + 8, kat519_entropyin, kat519_nonce, kat519_persstr, + kat519_addin0, kat519_addin1, kat519_retbits +}; +static const struct drbg_kat kat519 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat519_t +}; + +static const unsigned char kat520_entropyin[] = { + 0x96, 0xcb, 0x5f, 0x53, 0x1e, 0x02, 0xac, 0x25, 0x44, 0x45, 0x67, 0x3d, + 0xe5, 0xe1, 0xdc, 0xad, 0x51, 0x76, 0x10, 0x26, 0xe7, 0x78, 0xa0, 0x33, + 0x21, 0xb4, 0x9c, 0x59, 0x77, 0x45, 0x73, 0x1b, +}; +static const unsigned char kat520_nonce[] = { + 0x13, 0x91, 0x98, 0xde, 0x0c, 0xa9, 0x82, 0xc4, 0x9b, 0x8a, 0x88, 0xe5, + 0xab, 0x88, 0x6c, 0xb8, +}; +static const unsigned char kat520_persstr[] = { + 0x00, 0x6f, 0x17, 0x2e, 0x51, 0x86, 0xfb, 0x47, 0x9f, 0x3c, 0xd8, 0xe3, + 0x42, 0x5a, 0x75, 0x2b, 0x8f, 0x8d, 0x56, 0xa3, 0xf1, 0x76, 0xc6, 0xfa, + 0xba, 0x6c, 0xa4, 0xa4, 0xdd, 0xea, 0xe6, 0x37, +}; +static const unsigned char kat520_addin0[] = {0}; +static const unsigned char kat520_addin1[] = {0}; +static const unsigned char kat520_retbits[] = { + 0x38, 0x8e, 0x5c, 0x98, 0xc0, 0x54, 0x39, 0x30, 0x84, 0xa9, 0x44, 0x15, + 0xe1, 0xa9, 0xba, 0x32, 0x04, 0x4c, 0x87, 0x45, 0x62, 0xc1, 0x85, 0x39, + 0x9b, 0x96, 0x99, 0x94, 0xb6, 0x40, 0x6f, 0x9e, 0xf8, 0x63, 0x19, 0x10, + 0x2f, 0xd8, 0x9d, 0xf6, 0x70, 0x90, 0x35, 0x67, 0xf8, 0x6d, 0xe8, 0x67, + 0x6b, 0x0f, 0x72, 0x29, 0x8a, 0xa0, 0x01, 0x91, 0x15, 0x12, 0x62, 0xe7, + 0xe0, 0x89, 0x87, 0x91, +}; +static const struct drbg_kat_no_reseed kat520_t = { + 9, kat520_entropyin, kat520_nonce, kat520_persstr, + kat520_addin0, kat520_addin1, kat520_retbits +}; +static const struct drbg_kat kat520 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat520_t +}; + +static const unsigned char kat521_entropyin[] = { + 0x58, 0x5a, 0xf2, 0x7f, 0x7f, 0x52, 0x4a, 0xb4, 0xc5, 0xa7, 0xfc, 0xa4, + 0x3b, 0x70, 0xb4, 0x64, 0xcd, 0x71, 0xd7, 0xc5, 0xbf, 0xb4, 0x45, 0x5e, + 0x6d, 0xbd, 0x10, 0x2d, 0x89, 0x33, 0x5e, 0x89, +}; +static const unsigned char kat521_nonce[] = { + 0x0a, 0xc9, 0xcb, 0x4d, 0x14, 0xbf, 0x52, 0x26, 0x16, 0xc6, 0x13, 0x06, + 0x86, 0x98, 0xb1, 0x6b, +}; +static const unsigned char kat521_persstr[] = { + 0x0c, 0xa0, 0xed, 0x30, 0x27, 0xd3, 0xb4, 0x7f, 0x78, 0x3f, 0xee, 0xf1, + 0x8a, 0x40, 0x34, 0x0c, 0xc5, 0x85, 0x1b, 0x34, 0x2f, 0x39, 0xf2, 0xb7, + 0xd9, 0x08, 0x91, 0x0b, 0x96, 0x79, 0x2e, 0x3a, +}; +static const unsigned char kat521_addin0[] = {0}; +static const unsigned char kat521_addin1[] = {0}; +static const unsigned char kat521_retbits[] = { + 0xf4, 0xc2, 0xb3, 0xb8, 0x64, 0x71, 0xb2, 0xfb, 0x44, 0x69, 0x92, 0x79, + 0x19, 0x42, 0x15, 0x6d, 0x85, 0xfa, 0xc3, 0xc9, 0x37, 0xa8, 0xe5, 0x0e, + 0x79, 0xac, 0xa7, 0x92, 0xc6, 0x69, 0x50, 0x92, 0xd6, 0x7f, 0x80, 0x7e, + 0xb7, 0xac, 0x0d, 0xae, 0xe3, 0x1d, 0x68, 0xf6, 0x6a, 0x83, 0x48, 0xc3, + 0x3c, 0x31, 0x5e, 0x4b, 0xe1, 0xef, 0x58, 0x6d, 0xbd, 0x40, 0x8e, 0x63, + 0xdb, 0x1d, 0x8a, 0xb0, +}; +static const struct drbg_kat_no_reseed kat521_t = { + 10, kat521_entropyin, kat521_nonce, kat521_persstr, + kat521_addin0, kat521_addin1, kat521_retbits +}; +static const struct drbg_kat kat521 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat521_t +}; + +static const unsigned char kat522_entropyin[] = { + 0x4e, 0x7b, 0x5b, 0x7b, 0x30, 0xb8, 0xb9, 0x0b, 0x1b, 0xdc, 0x04, 0x3c, + 0x78, 0x80, 0x54, 0x58, 0x4f, 0xd3, 0x94, 0x5f, 0x45, 0xca, 0x54, 0x70, + 0x9f, 0x89, 0xc1, 0x9b, 0x75, 0x56, 0x6d, 0xc3, +}; +static const unsigned char kat522_nonce[] = { + 0x85, 0xa4, 0x00, 0x11, 0x6e, 0xb9, 0x03, 0x0c, 0x92, 0x49, 0xce, 0xae, + 0xe8, 0xde, 0xc9, 0xc7, +}; +static const unsigned char kat522_persstr[] = { + 0x09, 0x1f, 0x59, 0x0f, 0x58, 0x42, 0x30, 0x69, 0x61, 0x63, 0xb6, 0xb5, + 0x3a, 0x11, 0xf5, 0x2c, 0x2e, 0x92, 0x59, 0xaa, 0x09, 0x82, 0xd9, 0x89, + 0x7e, 0x7d, 0xc5, 0x94, 0x19, 0x9d, 0x48, 0xcb, +}; +static const unsigned char kat522_addin0[] = {0}; +static const unsigned char kat522_addin1[] = {0}; +static const unsigned char kat522_retbits[] = { + 0xc8, 0x9b, 0xc0, 0x8d, 0x62, 0x33, 0x5d, 0x3c, 0x28, 0x46, 0x4e, 0xe2, + 0x76, 0x22, 0x85, 0xce, 0xb0, 0xee, 0xfc, 0x95, 0x77, 0x19, 0x5a, 0x8f, + 0x89, 0xd6, 0x3e, 0x05, 0x52, 0x02, 0x01, 0x82, 0x3a, 0xf8, 0x87, 0x30, + 0x5c, 0xff, 0x9b, 0x2d, 0x7f, 0xd1, 0x7f, 0x60, 0xb5, 0x11, 0x7f, 0xdc, + 0xd0, 0xed, 0x3e, 0xf1, 0x8b, 0xac, 0x7e, 0x5f, 0x15, 0x08, 0x08, 0x02, + 0xa8, 0xab, 0x13, 0x9e, +}; +static const struct drbg_kat_no_reseed kat522_t = { + 11, kat522_entropyin, kat522_nonce, kat522_persstr, + kat522_addin0, kat522_addin1, kat522_retbits +}; +static const struct drbg_kat kat522 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat522_t +}; + +static const unsigned char kat523_entropyin[] = { + 0xac, 0x2d, 0xd6, 0x82, 0xa9, 0x6e, 0xe0, 0xe8, 0x18, 0x82, 0x9d, 0xb5, + 0x62, 0xfb, 0xc3, 0x0a, 0x7c, 0x00, 0xe0, 0x19, 0x31, 0x47, 0xc5, 0x33, + 0xe2, 0xa5, 0x1b, 0x37, 0x4a, 0x46, 0x79, 0x58, +}; +static const unsigned char kat523_nonce[] = { + 0xb8, 0xe6, 0x39, 0x64, 0x49, 0xd8, 0x84, 0xe9, 0xc6, 0xee, 0x7c, 0xed, + 0x8c, 0x7a, 0xd9, 0x2e, +}; +static const unsigned char kat523_persstr[] = { + 0x10, 0x87, 0xed, 0x01, 0xb4, 0xa8, 0x53, 0xef, 0xd8, 0xb9, 0xd3, 0xad, + 0xc5, 0x89, 0x39, 0x36, 0x49, 0x9d, 0xd2, 0x97, 0x45, 0xcd, 0xc6, 0xd3, + 0xd8, 0x93, 0xad, 0xc8, 0x1d, 0x5a, 0x1b, 0xcd, +}; +static const unsigned char kat523_addin0[] = {0}; +static const unsigned char kat523_addin1[] = {0}; +static const unsigned char kat523_retbits[] = { + 0xe1, 0x15, 0x4b, 0x37, 0x6b, 0x8c, 0x7c, 0x26, 0x15, 0x1b, 0x7f, 0x68, + 0xa5, 0xdb, 0x27, 0x4d, 0x73, 0x10, 0x18, 0x03, 0xc1, 0xe7, 0xc2, 0xf6, + 0xd1, 0x0f, 0x37, 0x4e, 0x4b, 0x88, 0x3b, 0x10, 0x30, 0x5a, 0x5d, 0x58, + 0x76, 0x76, 0x02, 0x0d, 0x52, 0xc6, 0xc4, 0xa7, 0xe5, 0x53, 0xbb, 0x96, + 0xa9, 0x53, 0xb6, 0xe9, 0xf2, 0xe4, 0xa7, 0xdd, 0x60, 0xed, 0x4f, 0x94, + 0xd1, 0x23, 0xe4, 0xa3, +}; +static const struct drbg_kat_no_reseed kat523_t = { + 12, kat523_entropyin, kat523_nonce, kat523_persstr, + kat523_addin0, kat523_addin1, kat523_retbits +}; +static const struct drbg_kat kat523 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat523_t +}; + +static const unsigned char kat524_entropyin[] = { + 0x40, 0x44, 0x29, 0x9a, 0x1a, 0x97, 0x12, 0x6a, 0x52, 0x45, 0x97, 0xc8, + 0xdf, 0x58, 0x0c, 0x9f, 0x54, 0xad, 0xb4, 0x14, 0x3a, 0x82, 0x82, 0x33, + 0x64, 0x96, 0xd9, 0xed, 0x41, 0x88, 0x13, 0x57, +}; +static const unsigned char kat524_nonce[] = { + 0x78, 0x7d, 0xa4, 0xf0, 0x15, 0x98, 0xb6, 0xf0, 0x9e, 0x3a, 0x7b, 0x68, + 0x65, 0xf9, 0x09, 0x87, +}; +static const unsigned char kat524_persstr[] = { + 0xc7, 0x78, 0x25, 0x4d, 0x48, 0x62, 0x8e, 0x48, 0xf4, 0xdc, 0xac, 0x3c, + 0x96, 0xdf, 0xb2, 0xcf, 0x84, 0x10, 0xf9, 0xcd, 0xb6, 0xc0, 0x0d, 0x62, + 0x5b, 0x41, 0x1a, 0x01, 0x47, 0xbf, 0xe1, 0x6d, +}; +static const unsigned char kat524_addin0[] = {0}; +static const unsigned char kat524_addin1[] = {0}; +static const unsigned char kat524_retbits[] = { + 0x1b, 0xfa, 0xb9, 0x3a, 0x54, 0xb7, 0xa0, 0xbb, 0xc6, 0xa7, 0x7d, 0x63, + 0xd8, 0x13, 0x2a, 0x5d, 0x6c, 0x19, 0x1c, 0x84, 0xe0, 0x9a, 0x85, 0x91, + 0xd2, 0xb7, 0xd8, 0x8f, 0x33, 0x9c, 0xad, 0x29, 0xd4, 0x3c, 0xc8, 0xd0, + 0xbf, 0x01, 0xd6, 0xea, 0x9f, 0xfe, 0x27, 0xfa, 0x1f, 0xf7, 0x69, 0x9c, + 0x87, 0x1a, 0x84, 0x11, 0x33, 0x2a, 0xb0, 0xbc, 0xeb, 0xce, 0x01, 0x7a, + 0xde, 0xd3, 0xef, 0xb6, +}; +static const struct drbg_kat_no_reseed kat524_t = { + 13, kat524_entropyin, kat524_nonce, kat524_persstr, + kat524_addin0, kat524_addin1, kat524_retbits +}; +static const struct drbg_kat kat524 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat524_t +}; + +static const unsigned char kat525_entropyin[] = { + 0x56, 0xe5, 0xdd, 0x70, 0x78, 0x2f, 0xca, 0x50, 0x49, 0x3b, 0x5d, 0x22, + 0x2b, 0x83, 0xb6, 0xdd, 0x7b, 0xdf, 0x10, 0x22, 0xd3, 0x04, 0xf4, 0xf2, + 0x92, 0xdb, 0x38, 0x5f, 0x3a, 0xcd, 0x8a, 0xb0, +}; +static const unsigned char kat525_nonce[] = { + 0xf0, 0xec, 0x46, 0xde, 0x4a, 0x9a, 0xab, 0x3f, 0x9e, 0x7f, 0xd4, 0x7f, + 0x60, 0xd2, 0x04, 0x50, +}; +static const unsigned char kat525_persstr[] = { + 0xcc, 0x54, 0x2e, 0x50, 0xfc, 0x0a, 0xbb, 0x15, 0xb7, 0xdd, 0xe7, 0xb0, + 0xdf, 0xe8, 0x41, 0xc7, 0x9f, 0x74, 0x82, 0x44, 0xa0, 0xd1, 0xd0, 0xa0, + 0x2e, 0x9f, 0x90, 0x8a, 0xb9, 0x9c, 0x61, 0xc2, +}; +static const unsigned char kat525_addin0[] = {0}; +static const unsigned char kat525_addin1[] = {0}; +static const unsigned char kat525_retbits[] = { + 0x74, 0x27, 0xc7, 0x01, 0x8c, 0x51, 0xf3, 0xb0, 0x60, 0xcb, 0xd8, 0xfe, + 0x25, 0x3a, 0x8b, 0x62, 0xb6, 0x72, 0xa3, 0x1f, 0xb8, 0x48, 0xf5, 0x58, + 0x31, 0xbe, 0x1b, 0x04, 0x5f, 0x60, 0x85, 0xc9, 0x13, 0x64, 0x85, 0x3c, + 0x7e, 0x35, 0x3b, 0xe0, 0xa5, 0x2d, 0xca, 0xdb, 0x30, 0x92, 0x8e, 0x94, + 0xe1, 0x77, 0x2b, 0xed, 0xbf, 0x27, 0x10, 0x1a, 0x2a, 0x8f, 0xf8, 0x71, + 0x3d, 0x9c, 0x9f, 0x4c, +}; +static const struct drbg_kat_no_reseed kat525_t = { + 14, kat525_entropyin, kat525_nonce, kat525_persstr, + kat525_addin0, kat525_addin1, kat525_retbits +}; +static const struct drbg_kat kat525 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat525_t +}; + +static const unsigned char kat526_entropyin[] = { + 0x87, 0xb5, 0x6e, 0x96, 0x4e, 0xba, 0x22, 0x71, 0x54, 0x72, 0x4b, 0xb9, + 0x48, 0x4b, 0x81, 0x2d, 0x3e, 0x2c, 0x0c, 0x43, 0xb3, 0xd1, 0x7f, 0x60, + 0x98, 0xd9, 0x52, 0x6e, 0x16, 0xe6, 0xd0, 0xef, +}; +static const unsigned char kat526_nonce[] = { + 0x9b, 0xea, 0x6a, 0x7f, 0xf2, 0x35, 0x8d, 0xf1, 0x42, 0xe6, 0xc2, 0x3e, + 0x21, 0x57, 0xfb, 0x83, +}; +static const unsigned char kat526_persstr[] = { + 0x98, 0x60, 0xb4, 0x32, 0xed, 0xd5, 0x8d, 0x1c, 0xcb, 0xfe, 0xec, 0xbc, + 0xe9, 0x9f, 0xfa, 0xee, 0x7d, 0x93, 0x5a, 0x61, 0x48, 0x60, 0xd4, 0xe9, + 0x65, 0xbd, 0x67, 0x04, 0x14, 0x03, 0x09, 0x6b, +}; +static const unsigned char kat526_addin0[] = { + 0x99, 0xa5, 0xcc, 0x87, 0x92, 0x4e, 0x8e, 0xa6, 0x5a, 0x59, 0x6f, 0x81, + 0xfd, 0x17, 0xd6, 0x3f, 0x5b, 0x45, 0x42, 0xfe, 0x6e, 0x8e, 0x15, 0x11, + 0xb5, 0xd3, 0x5c, 0x83, 0x5d, 0xfa, 0xdb, 0x0b, +}; +static const unsigned char kat526_addin1[] = { + 0x9a, 0x8d, 0xec, 0x54, 0x73, 0x4a, 0x34, 0x58, 0x2a, 0x23, 0x32, 0xf3, + 0x45, 0x2e, 0x82, 0x31, 0x35, 0x24, 0xc3, 0xe0, 0xdf, 0xb4, 0x85, 0xfa, + 0xea, 0xc6, 0xca, 0x5f, 0xc0, 0xff, 0x50, 0x4d, +}; +static const unsigned char kat526_retbits[] = { + 0xdb, 0xc6, 0xa2, 0x33, 0x0b, 0x19, 0xb5, 0xcd, 0xdd, 0x8c, 0xd6, 0x39, + 0x2e, 0xc1, 0xfb, 0x50, 0x86, 0x78, 0xc8, 0x05, 0xe8, 0x7d, 0x1a, 0xca, + 0x07, 0xac, 0x26, 0x50, 0x07, 0x63, 0x25, 0x03, 0x04, 0x4a, 0x00, 0x61, + 0x0c, 0x79, 0xd9, 0x83, 0x75, 0xaf, 0xa7, 0xab, 0x4c, 0xca, 0x1a, 0x90, + 0x98, 0x9c, 0xbf, 0xe7, 0xc6, 0x74, 0xaf, 0x5d, 0x82, 0x3c, 0xed, 0x11, + 0xc4, 0x7e, 0x9a, 0xf6, +}; +static const struct drbg_kat_no_reseed kat526_t = { + 0, kat526_entropyin, kat526_nonce, kat526_persstr, + kat526_addin0, kat526_addin1, kat526_retbits +}; +static const struct drbg_kat kat526 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat526_t +}; + +static const unsigned char kat527_entropyin[] = { + 0xb3, 0x60, 0x32, 0xf5, 0xd7, 0x77, 0x25, 0x08, 0x26, 0xd8, 0x31, 0x56, + 0x6e, 0xc5, 0x85, 0x45, 0x2d, 0x70, 0xb9, 0x20, 0x65, 0x43, 0x55, 0xac, + 0xf8, 0xf6, 0x91, 0x94, 0x16, 0x43, 0xee, 0x95, +}; +static const unsigned char kat527_nonce[] = { + 0xda, 0xcf, 0x74, 0x7e, 0x85, 0xfa, 0xa6, 0xa3, 0xeb, 0x01, 0x6d, 0xf9, + 0x29, 0xc9, 0x0e, 0x8b, +}; +static const unsigned char kat527_persstr[] = { + 0xf0, 0x32, 0x65, 0xb2, 0xf2, 0x17, 0x4c, 0xea, 0x93, 0x8f, 0xf2, 0x3c, + 0x7e, 0x60, 0xa7, 0x5d, 0xcb, 0xa1, 0xe4, 0xe4, 0x12, 0xbb, 0xad, 0x4b, + 0x5d, 0x3b, 0x3e, 0x23, 0x68, 0x5e, 0x80, 0xd8, +}; +static const unsigned char kat527_addin0[] = { + 0xd4, 0x77, 0x23, 0x80, 0xde, 0x77, 0x4b, 0xbb, 0xb6, 0x10, 0x0d, 0x93, + 0x39, 0x59, 0x0e, 0xff, 0x03, 0x3f, 0xf5, 0x48, 0xb8, 0x26, 0x68, 0x55, + 0x53, 0xa2, 0xe8, 0x57, 0x80, 0x0a, 0x07, 0xe2, +}; +static const unsigned char kat527_addin1[] = { + 0x05, 0x01, 0x1d, 0x3d, 0xd4, 0xdd, 0xcf, 0x19, 0x07, 0x6f, 0xae, 0x65, + 0x69, 0x73, 0xaa, 0xc9, 0xa1, 0x16, 0x41, 0xb2, 0x10, 0x96, 0x3c, 0xec, + 0x81, 0xd1, 0xea, 0x58, 0xdb, 0x7b, 0xb7, 0xe0, +}; +static const unsigned char kat527_retbits[] = { + 0x3d, 0x35, 0x31, 0x05, 0x79, 0x77, 0x40, 0x10, 0x72, 0xce, 0x44, 0xe2, + 0xe6, 0x63, 0x17, 0xa8, 0x08, 0xd4, 0x7c, 0x44, 0xaa, 0xd4, 0xf9, 0x8c, + 0x08, 0xd8, 0x8e, 0xac, 0x7b, 0x59, 0x8c, 0x40, 0x71, 0x4a, 0xd1, 0x24, + 0x17, 0xb6, 0x16, 0x99, 0xd1, 0x12, 0x6e, 0xa4, 0xc6, 0x42, 0xb0, 0x9f, + 0xe9, 0xf5, 0xde, 0xd3, 0x6f, 0x2e, 0x37, 0xed, 0x2c, 0xce, 0x97, 0x2e, + 0x0d, 0xfc, 0xc7, 0xce, +}; +static const struct drbg_kat_no_reseed kat527_t = { + 1, kat527_entropyin, kat527_nonce, kat527_persstr, + kat527_addin0, kat527_addin1, kat527_retbits +}; +static const struct drbg_kat kat527 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat527_t +}; + +static const unsigned char kat528_entropyin[] = { + 0x32, 0x42, 0xa1, 0xb9, 0x7c, 0x11, 0xe5, 0xea, 0x8a, 0x1b, 0x96, 0xcc, + 0xdc, 0xc2, 0x56, 0x28, 0xe7, 0x9e, 0xc5, 0xd1, 0x4b, 0x04, 0x15, 0x58, + 0xd3, 0x12, 0xea, 0x72, 0xa3, 0xdd, 0x0d, 0xd0, +}; +static const unsigned char kat528_nonce[] = { + 0xd9, 0xf1, 0xa8, 0xdd, 0x83, 0xb0, 0xf1, 0x13, 0x17, 0xa9, 0x2d, 0x20, + 0x51, 0xe0, 0x7e, 0x97, +}; +static const unsigned char kat528_persstr[] = { + 0x93, 0x0b, 0x0c, 0x3b, 0x96, 0x26, 0x3c, 0x3e, 0xc7, 0xed, 0xf2, 0x58, + 0x90, 0xcc, 0x5d, 0x7e, 0xa4, 0x1d, 0x65, 0x64, 0xa8, 0x1f, 0x17, 0x89, + 0x9f, 0xc7, 0xb4, 0x9c, 0x5c, 0x40, 0xb0, 0x91, +}; +static const unsigned char kat528_addin0[] = { + 0xa9, 0x05, 0xda, 0xb4, 0xad, 0xe7, 0x5e, 0xe5, 0xe6, 0x8a, 0x07, 0x09, + 0xd1, 0xd0, 0x69, 0x9a, 0x87, 0xf5, 0xd4, 0xf8, 0xe4, 0x9c, 0x8c, 0x95, + 0xd9, 0x59, 0x0d, 0x7c, 0x12, 0x38, 0xd0, 0xf9, +}; +static const unsigned char kat528_addin1[] = { + 0x4d, 0x8e, 0x2d, 0x92, 0x29, 0x97, 0x65, 0xb9, 0xce, 0xf0, 0x39, 0xd9, + 0x47, 0xd4, 0x42, 0x7d, 0x4b, 0x9c, 0x14, 0xf4, 0x2c, 0x81, 0xe1, 0x2b, + 0xc9, 0x1b, 0x4e, 0x29, 0x72, 0x33, 0xfc, 0xe1, +}; +static const unsigned char kat528_retbits[] = { + 0xfa, 0x3a, 0xdb, 0x6a, 0x35, 0xe0, 0x50, 0x85, 0x34, 0x80, 0x3e, 0xda, + 0x5f, 0x39, 0xd9, 0xfd, 0x62, 0x22, 0x74, 0x74, 0xd9, 0xe1, 0x43, 0x5e, + 0xd0, 0xe5, 0xe6, 0xda, 0x01, 0xe2, 0xe4, 0xd8, 0x3a, 0x3d, 0xa9, 0x39, + 0x5a, 0x3c, 0x96, 0xef, 0xec, 0xdf, 0xe9, 0x2b, 0x89, 0xe1, 0x5e, 0x8c, + 0xaf, 0x25, 0xe8, 0x17, 0x24, 0xb3, 0x97, 0x35, 0x51, 0x97, 0x2a, 0x8f, + 0xf5, 0xb5, 0xcd, 0x0f, +}; +static const struct drbg_kat_no_reseed kat528_t = { + 2, kat528_entropyin, kat528_nonce, kat528_persstr, + kat528_addin0, kat528_addin1, kat528_retbits +}; +static const struct drbg_kat kat528 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat528_t +}; + +static const unsigned char kat529_entropyin[] = { + 0xbb, 0x2c, 0x5c, 0x0d, 0xe9, 0xdd, 0x27, 0x69, 0x42, 0xca, 0x0a, 0x54, + 0xfa, 0xf9, 0xa4, 0xf7, 0x25, 0xe2, 0x7b, 0x19, 0x6a, 0x6f, 0x16, 0xe9, + 0xdd, 0x34, 0x59, 0x53, 0x79, 0xe5, 0xb8, 0x69, +}; +static const unsigned char kat529_nonce[] = { + 0x76, 0x30, 0xfb, 0xb7, 0x1d, 0x49, 0xba, 0x0b, 0xa3, 0x6d, 0xd8, 0x8d, + 0x2d, 0x49, 0x1d, 0x61, +}; +static const unsigned char kat529_persstr[] = { + 0xa0, 0x26, 0x4b, 0x50, 0x05, 0xdb, 0xfc, 0x57, 0x19, 0x4b, 0xac, 0x89, + 0x08, 0x9c, 0x16, 0xa7, 0x85, 0x22, 0x2a, 0xf0, 0x08, 0x31, 0x0b, 0x20, + 0xa6, 0x08, 0x5e, 0xe7, 0x41, 0x89, 0x2c, 0xed, +}; +static const unsigned char kat529_addin0[] = { + 0x63, 0x4f, 0xd7, 0xca, 0xd0, 0x00, 0xb7, 0x86, 0xfe, 0x36, 0x2c, 0x91, + 0x48, 0x57, 0xb5, 0xd9, 0xed, 0x26, 0x69, 0xcd, 0x5c, 0x77, 0x7c, 0x52, + 0x07, 0x5c, 0xff, 0x38, 0x40, 0xbb, 0x58, 0xab, +}; +static const unsigned char kat529_addin1[] = { + 0xfd, 0xfe, 0x16, 0x1f, 0x0c, 0xa0, 0xe6, 0xec, 0xd6, 0x35, 0x6a, 0xdb, + 0x64, 0x6e, 0xf6, 0x29, 0x35, 0xd8, 0xcf, 0xc7, 0x52, 0x22, 0x44, 0xa6, + 0x04, 0x1c, 0xb3, 0xd7, 0xcc, 0x6e, 0x68, 0x39, +}; +static const unsigned char kat529_retbits[] = { + 0xe3, 0xc7, 0x8a, 0x24, 0xd5, 0xa3, 0x4b, 0x2a, 0x70, 0x26, 0x4d, 0x13, + 0x70, 0x7c, 0xa6, 0x35, 0xc9, 0x54, 0x26, 0xf4, 0x22, 0xdb, 0x78, 0xc1, + 0x8c, 0x91, 0xe3, 0xc4, 0x0f, 0xb7, 0x39, 0x2c, 0x02, 0xb0, 0xa9, 0xed, + 0x2e, 0x1d, 0x5a, 0x9c, 0x73, 0xef, 0x45, 0x6c, 0x37, 0xaf, 0xe6, 0xae, + 0x0c, 0xc1, 0x86, 0x72, 0x63, 0xb4, 0x63, 0x0a, 0xbd, 0x73, 0x84, 0xab, + 0x68, 0x29, 0x03, 0x42, +}; +static const struct drbg_kat_no_reseed kat529_t = { + 3, kat529_entropyin, kat529_nonce, kat529_persstr, + kat529_addin0, kat529_addin1, kat529_retbits +}; +static const struct drbg_kat kat529 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat529_t +}; + +static const unsigned char kat530_entropyin[] = { + 0x73, 0x74, 0xb7, 0x23, 0xd4, 0x1a, 0xc8, 0x7c, 0xd1, 0xee, 0x53, 0x88, + 0x0c, 0x0d, 0x76, 0xbd, 0x95, 0x8b, 0x50, 0xa8, 0x71, 0x4f, 0xfd, 0x07, + 0x0f, 0x45, 0x3b, 0xd8, 0x49, 0x86, 0x22, 0xc8, +}; +static const unsigned char kat530_nonce[] = { + 0x86, 0xe1, 0x23, 0xcd, 0x4f, 0x07, 0x4c, 0x7f, 0x07, 0x31, 0x63, 0xfb, + 0x18, 0x9a, 0xf9, 0xfd, +}; +static const unsigned char kat530_persstr[] = { + 0x16, 0xb6, 0x26, 0x75, 0xe9, 0xf9, 0x24, 0xc6, 0xfc, 0xaa, 0x13, 0x3c, + 0x0c, 0x75, 0xc4, 0x1b, 0x5e, 0xde, 0x75, 0xbd, 0xfd, 0x4a, 0x70, 0x11, + 0x0e, 0xa7, 0x4a, 0xfb, 0x73, 0xd2, 0x56, 0x97, +}; +static const unsigned char kat530_addin0[] = { + 0xfc, 0x06, 0x04, 0x40, 0x87, 0x2b, 0xa7, 0xee, 0x4b, 0x26, 0xb0, 0xca, + 0xb6, 0x70, 0x7c, 0xd3, 0x88, 0xc6, 0x9d, 0x85, 0xac, 0xb5, 0x7d, 0x65, + 0x79, 0xc8, 0xd8, 0xbc, 0x4a, 0xf1, 0xad, 0xfe, +}; +static const unsigned char kat530_addin1[] = { + 0xcd, 0xd1, 0x50, 0xf8, 0xd7, 0x0d, 0x5a, 0xad, 0x87, 0x84, 0xea, 0x74, + 0xc5, 0x09, 0x86, 0x05, 0xf8, 0x3c, 0xb0, 0x7f, 0x69, 0xdb, 0xad, 0xe1, + 0x93, 0x89, 0x3b, 0xc0, 0x18, 0x4d, 0xab, 0x39, +}; +static const unsigned char kat530_retbits[] = { + 0xcb, 0x7e, 0x38, 0xfc, 0xfa, 0xd9, 0x1f, 0x1e, 0xb8, 0x2d, 0xac, 0xd2, + 0xce, 0x99, 0x11, 0xb7, 0x9b, 0xfd, 0xb0, 0x7e, 0xdb, 0xab, 0x2e, 0xdf, + 0x24, 0x19, 0x0a, 0x2d, 0x9d, 0xa1, 0x71, 0xc1, 0x8c, 0x62, 0xbd, 0x10, + 0xe3, 0xb7, 0xd7, 0xff, 0x01, 0x9b, 0x66, 0x6e, 0xbf, 0xf4, 0x26, 0x77, + 0xd7, 0x9b, 0x40, 0x1a, 0xe6, 0x4a, 0x41, 0x37, 0x28, 0x76, 0x36, 0xd4, + 0x9c, 0xad, 0xdc, 0xdc, +}; +static const struct drbg_kat_no_reseed kat530_t = { + 4, kat530_entropyin, kat530_nonce, kat530_persstr, + kat530_addin0, kat530_addin1, kat530_retbits +}; +static const struct drbg_kat kat530 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat530_t +}; + +static const unsigned char kat531_entropyin[] = { + 0x0d, 0xb7, 0x5d, 0x22, 0xf0, 0xd1, 0x69, 0x02, 0xc7, 0xa1, 0x81, 0x3b, + 0x0a, 0xda, 0xb2, 0xeb, 0xc6, 0x75, 0xf4, 0x30, 0x57, 0x38, 0x46, 0x9b, + 0x14, 0x2b, 0x7f, 0x9a, 0x39, 0xd5, 0xea, 0xf7, +}; +static const unsigned char kat531_nonce[] = { + 0x1a, 0xce, 0x39, 0x3a, 0x30, 0xcb, 0x36, 0xda, 0xbf, 0xcd, 0x85, 0x48, + 0x34, 0x91, 0xb9, 0x48, +}; +static const unsigned char kat531_persstr[] = { + 0x1f, 0x9f, 0x7a, 0xbf, 0xca, 0x5d, 0x53, 0x65, 0xc6, 0x44, 0xf7, 0xd9, + 0xd3, 0x3d, 0x12, 0x88, 0xcb, 0x62, 0xb2, 0x7e, 0x87, 0x3a, 0x4d, 0x52, + 0xaa, 0xd0, 0xe7, 0xcc, 0x1c, 0x89, 0x53, 0x88, +}; +static const unsigned char kat531_addin0[] = { + 0xb0, 0x21, 0x01, 0x79, 0xbb, 0x14, 0x59, 0x8a, 0xd3, 0x0c, 0x4f, 0xe1, + 0xf2, 0xbf, 0x43, 0xc7, 0x81, 0xea, 0x9d, 0x8b, 0x51, 0xa2, 0x6b, 0x88, + 0x55, 0xa8, 0x12, 0xb5, 0x5a, 0x1c, 0xf8, 0x94, +}; +static const unsigned char kat531_addin1[] = { + 0x73, 0xa2, 0x8b, 0x72, 0xcd, 0xa9, 0xf8, 0x31, 0xe2, 0x1b, 0x77, 0x6b, + 0xc9, 0x2e, 0x34, 0x04, 0x13, 0x2a, 0xbe, 0x5d, 0x7c, 0x2f, 0xe1, 0xc2, + 0x6a, 0xd4, 0xca, 0x6c, 0xa6, 0xe4, 0xea, 0x47, +}; +static const unsigned char kat531_retbits[] = { + 0xf7, 0xb6, 0x39, 0x82, 0x60, 0xd3, 0x0e, 0x5b, 0x24, 0x0d, 0xfd, 0x5b, + 0xa0, 0x13, 0x6b, 0xa2, 0xda, 0x98, 0xb8, 0xbf, 0x25, 0x3f, 0x7a, 0x7c, + 0x1b, 0xad, 0x91, 0x32, 0x62, 0x54, 0x04, 0xe8, 0x99, 0x88, 0xd2, 0x71, + 0xba, 0xf0, 0xa2, 0x6e, 0x19, 0x78, 0x61, 0x06, 0xba, 0xc9, 0x20, 0xb9, + 0x43, 0x3c, 0xc8, 0xb4, 0xf5, 0xb9, 0x85, 0x3e, 0x24, 0x7c, 0x05, 0x06, + 0xd1, 0xb1, 0x14, 0x88, +}; +static const struct drbg_kat_no_reseed kat531_t = { + 5, kat531_entropyin, kat531_nonce, kat531_persstr, + kat531_addin0, kat531_addin1, kat531_retbits +}; +static const struct drbg_kat kat531 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat531_t +}; + +static const unsigned char kat532_entropyin[] = { + 0x6b, 0xd0, 0x81, 0xc5, 0x86, 0x37, 0xe5, 0x55, 0x10, 0x5e, 0x14, 0x1d, + 0xca, 0xca, 0x4b, 0x95, 0xb5, 0xbe, 0xcf, 0x39, 0x96, 0x73, 0xdb, 0x6c, + 0xc0, 0xe9, 0x6c, 0x66, 0xe1, 0x60, 0x92, 0xcd, +}; +static const unsigned char kat532_nonce[] = { + 0xce, 0xa7, 0x1d, 0xe8, 0x81, 0x9b, 0x59, 0x99, 0x37, 0xdb, 0xa4, 0x84, + 0x77, 0xae, 0x9f, 0xba, +}; +static const unsigned char kat532_persstr[] = { + 0xeb, 0x04, 0x5c, 0x29, 0x85, 0xab, 0x91, 0x69, 0x07, 0x58, 0xc2, 0xb5, + 0x6c, 0x7d, 0xba, 0xd2, 0x56, 0xdb, 0x16, 0xef, 0xc4, 0x14, 0x34, 0x4a, + 0x4b, 0xba, 0xe2, 0x54, 0xbe, 0x41, 0x70, 0xfa, +}; +static const unsigned char kat532_addin0[] = { + 0xf1, 0x32, 0xbb, 0x2e, 0x73, 0x1c, 0xd1, 0xcc, 0xfa, 0x37, 0x3b, 0x4d, + 0x1e, 0x8a, 0x52, 0x7e, 0xd0, 0x8b, 0x42, 0x94, 0x47, 0xf3, 0x2b, 0x23, + 0xb9, 0x6d, 0x31, 0x2e, 0x5b, 0xab, 0xdd, 0x23, +}; +static const unsigned char kat532_addin1[] = { + 0x0a, 0x55, 0x4d, 0xed, 0x57, 0xc1, 0xef, 0xec, 0xc4, 0xd4, 0xa0, 0x1a, + 0x82, 0xff, 0x17, 0x99, 0xc6, 0xe9, 0x36, 0xf9, 0xf9, 0x34, 0x02, 0xbc, + 0xe4, 0x62, 0x10, 0x2c, 0x2d, 0x25, 0x91, 0x0a, +}; +static const unsigned char kat532_retbits[] = { + 0x7d, 0xe6, 0x0b, 0x0a, 0x40, 0xfb, 0x83, 0x59, 0xda, 0x92, 0x92, 0xc6, + 0x8f, 0x26, 0x16, 0x31, 0xd1, 0x84, 0xb0, 0x3e, 0x90, 0x47, 0x33, 0xb5, + 0xc9, 0x63, 0x96, 0x6a, 0x74, 0xd4, 0x87, 0x5a, 0x8f, 0x36, 0x50, 0x87, + 0xde, 0xe9, 0xc2, 0xcb, 0x8d, 0x05, 0x77, 0x8b, 0x0e, 0x0b, 0x46, 0xe5, + 0x26, 0xbc, 0xa1, 0x3c, 0x4c, 0x50, 0xbe, 0x49, 0x06, 0x25, 0xef, 0x05, + 0x0a, 0x79, 0x45, 0x28, +}; +static const struct drbg_kat_no_reseed kat532_t = { + 6, kat532_entropyin, kat532_nonce, kat532_persstr, + kat532_addin0, kat532_addin1, kat532_retbits +}; +static const struct drbg_kat kat532 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat532_t +}; + +static const unsigned char kat533_entropyin[] = { + 0xb7, 0x1b, 0xd1, 0x4e, 0x15, 0x87, 0xf6, 0x33, 0x4b, 0x7f, 0x94, 0x64, + 0x26, 0x16, 0xa3, 0x6a, 0x55, 0xff, 0xe4, 0xa7, 0x5e, 0xea, 0xde, 0x86, + 0x4e, 0xa7, 0x05, 0x1e, 0x64, 0x6b, 0xad, 0x52, +}; +static const unsigned char kat533_nonce[] = { + 0xa4, 0x3d, 0xc9, 0x7f, 0x41, 0x1b, 0xe9, 0x7c, 0xd1, 0x8d, 0xbe, 0xcf, + 0xce, 0x56, 0x2f, 0x23, +}; +static const unsigned char kat533_persstr[] = { + 0xeb, 0xbd, 0xb8, 0x1e, 0xc0, 0x3a, 0x13, 0xa1, 0x5a, 0x03, 0xdb, 0x56, + 0x98, 0xf3, 0x4a, 0xa8, 0xc0, 0x29, 0x38, 0xbf, 0x87, 0x85, 0xf1, 0x3f, + 0xde, 0x75, 0xcb, 0xcd, 0x82, 0x3e, 0x61, 0xf7, +}; +static const unsigned char kat533_addin0[] = { + 0x58, 0x17, 0xe3, 0x93, 0x93, 0xe8, 0x8f, 0x09, 0x39, 0xd5, 0xa8, 0xd7, + 0x03, 0x83, 0x08, 0x3f, 0xc6, 0x6d, 0x9c, 0x53, 0x3b, 0xae, 0xe6, 0x28, + 0x28, 0x2d, 0xf7, 0x80, 0x46, 0xfc, 0xd8, 0xfa, +}; +static const unsigned char kat533_addin1[] = { + 0xf9, 0x67, 0xa6, 0xd7, 0x9c, 0x65, 0x7d, 0x0b, 0xff, 0xd3, 0x34, 0x6f, + 0xb2, 0x80, 0x46, 0x91, 0x1b, 0x1f, 0x8c, 0x30, 0x31, 0xcc, 0x6e, 0x22, + 0x04, 0xc2, 0xc9, 0xe8, 0x88, 0x43, 0x2f, 0x77, +}; +static const unsigned char kat533_retbits[] = { + 0xe1, 0xba, 0x47, 0xd4, 0x5d, 0x73, 0xba, 0x54, 0xda, 0x50, 0x30, 0x15, + 0x98, 0x7d, 0x8e, 0x12, 0x14, 0xc3, 0x46, 0x87, 0xa6, 0xff, 0x78, 0x6a, + 0x88, 0x0c, 0x98, 0xe5, 0xe2, 0xe5, 0x59, 0x0e, 0xae, 0x69, 0x09, 0x5a, + 0x93, 0x21, 0x6d, 0x12, 0x73, 0x50, 0x4d, 0x94, 0xde, 0xa6, 0x7c, 0x51, + 0xf4, 0xa8, 0xa5, 0xd9, 0x7d, 0x02, 0x42, 0x89, 0x0c, 0x39, 0x4b, 0xf7, + 0x3e, 0xf5, 0x2d, 0x63, +}; +static const struct drbg_kat_no_reseed kat533_t = { + 7, kat533_entropyin, kat533_nonce, kat533_persstr, + kat533_addin0, kat533_addin1, kat533_retbits +}; +static const struct drbg_kat kat533 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat533_t +}; + +static const unsigned char kat534_entropyin[] = { + 0x0d, 0x97, 0x0e, 0xa0, 0xa1, 0xe8, 0x9d, 0x36, 0xfb, 0x66, 0xa7, 0x3a, + 0xe7, 0xa7, 0xbb, 0x47, 0x60, 0xca, 0x9b, 0x0e, 0x22, 0x96, 0xe2, 0xd2, + 0x41, 0x62, 0x9b, 0x99, 0x24, 0x9a, 0xc9, 0xf3, +}; +static const unsigned char kat534_nonce[] = { + 0xc0, 0x30, 0x31, 0xdc, 0x1c, 0xd9, 0xcf, 0x62, 0xc4, 0xd0, 0x3e, 0x2e, + 0x37, 0x20, 0x39, 0x1b, +}; +static const unsigned char kat534_persstr[] = { + 0x91, 0x68, 0x2b, 0xe8, 0x19, 0x34, 0xaf, 0xd8, 0x1d, 0xcb, 0x63, 0x8b, + 0xa8, 0x88, 0x3a, 0x88, 0x91, 0x3e, 0x32, 0x65, 0xda, 0x1b, 0x92, 0xc8, + 0xd9, 0xb3, 0x4a, 0x2b, 0x90, 0x66, 0x24, 0xcd, +}; +static const unsigned char kat534_addin0[] = { + 0xc3, 0xb3, 0x3d, 0xc2, 0xf9, 0x8d, 0xc8, 0xde, 0xdc, 0x22, 0x54, 0xb3, + 0x82, 0x65, 0x4c, 0x75, 0x38, 0x1a, 0x4d, 0xf0, 0x71, 0x33, 0x4c, 0xe2, + 0x28, 0x60, 0xe9, 0x2c, 0x61, 0x64, 0xf8, 0xcc, +}; +static const unsigned char kat534_addin1[] = { + 0x53, 0xb2, 0xae, 0x27, 0xf9, 0x64, 0xfc, 0x86, 0x2b, 0x39, 0xf4, 0xa1, + 0x6d, 0x73, 0xa9, 0x98, 0x0e, 0x81, 0x94, 0x6c, 0xce, 0x5c, 0x2a, 0xe4, + 0xa5, 0xef, 0x6a, 0x25, 0xb9, 0x2a, 0x08, 0xaa, +}; +static const unsigned char kat534_retbits[] = { + 0xe3, 0x47, 0x1a, 0xbe, 0xe1, 0x16, 0x7a, 0x57, 0x66, 0x71, 0x32, 0xdd, + 0x31, 0x59, 0x0e, 0x95, 0x12, 0x5f, 0x61, 0x95, 0x7e, 0xcd, 0x62, 0x1d, + 0xdb, 0xa4, 0x9e, 0xbf, 0xa5, 0x3a, 0x8f, 0x5a, 0xfe, 0xaa, 0x30, 0xac, + 0xa1, 0xad, 0xf1, 0x1c, 0xa2, 0x0d, 0xe2, 0xcb, 0x08, 0xf0, 0xdd, 0x43, + 0x29, 0xd9, 0x50, 0xd0, 0x53, 0x92, 0x09, 0x26, 0x93, 0x1f, 0x67, 0x28, + 0x27, 0x93, 0x1f, 0x8c, +}; +static const struct drbg_kat_no_reseed kat534_t = { + 8, kat534_entropyin, kat534_nonce, kat534_persstr, + kat534_addin0, kat534_addin1, kat534_retbits +}; +static const struct drbg_kat kat534 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat534_t +}; + +static const unsigned char kat535_entropyin[] = { + 0xbe, 0xd9, 0x60, 0xee, 0x26, 0xeb, 0x33, 0xfd, 0xf4, 0xa6, 0x2c, 0xdf, + 0xfd, 0xe8, 0x4e, 0x6d, 0x18, 0x32, 0xc6, 0x91, 0x48, 0xa2, 0xae, 0x5c, + 0xbc, 0x9b, 0xa5, 0x03, 0x63, 0x13, 0xc2, 0xd2, +}; +static const unsigned char kat535_nonce[] = { + 0x53, 0xe0, 0x92, 0xe7, 0x08, 0xe8, 0xb8, 0xa4, 0xa0, 0x36, 0xed, 0x6d, + 0x0c, 0xd1, 0x28, 0x70, +}; +static const unsigned char kat535_persstr[] = { + 0x08, 0x03, 0xf2, 0x8c, 0x79, 0xd5, 0x3f, 0x05, 0x79, 0x53, 0xdb, 0x4a, + 0x1a, 0xb5, 0xa3, 0xca, 0xb5, 0x81, 0xf2, 0xc1, 0x6d, 0x1e, 0x08, 0x3f, + 0x29, 0x48, 0xac, 0xd0, 0xfb, 0xf9, 0xbe, 0xec, +}; +static const unsigned char kat535_addin0[] = { + 0x42, 0x9a, 0x33, 0x10, 0xc1, 0xae, 0x67, 0x31, 0xd4, 0x68, 0xef, 0x6f, + 0x2b, 0x1c, 0x99, 0x49, 0xbb, 0xfc, 0x8d, 0x36, 0xeb, 0x66, 0xfb, 0xee, + 0x0c, 0x86, 0x2e, 0x42, 0x58, 0x6a, 0xac, 0x3f, +}; +static const unsigned char kat535_addin1[] = { + 0xd7, 0xa5, 0xd5, 0x80, 0x04, 0x8d, 0xba, 0x0c, 0xe6, 0x76, 0xb5, 0x04, + 0x7a, 0x98, 0x9e, 0xcc, 0xf3, 0xe4, 0x05, 0x2a, 0x60, 0x28, 0xef, 0xff, + 0x29, 0xe7, 0xcb, 0x0a, 0x13, 0xab, 0x64, 0xce, +}; +static const unsigned char kat535_retbits[] = { + 0x27, 0x03, 0x84, 0x5c, 0xa0, 0x40, 0xff, 0x03, 0x49, 0xb6, 0x6c, 0x1b, + 0xf8, 0x22, 0x6f, 0xf8, 0x9f, 0x27, 0x87, 0x57, 0xba, 0xad, 0xb7, 0x4d, + 0x27, 0x74, 0xfd, 0xb5, 0x4d, 0xf0, 0x17, 0x74, 0xf0, 0x4b, 0xbe, 0x9a, + 0xcd, 0x6b, 0xc8, 0xe8, 0xa1, 0xf2, 0xd9, 0x7a, 0xeb, 0x89, 0x13, 0x03, + 0xa5, 0x33, 0x7b, 0xcd, 0x69, 0xce, 0x4a, 0xfd, 0x4c, 0x6b, 0x62, 0x42, + 0x64, 0x49, 0xdd, 0x63, +}; +static const struct drbg_kat_no_reseed kat535_t = { + 9, kat535_entropyin, kat535_nonce, kat535_persstr, + kat535_addin0, kat535_addin1, kat535_retbits +}; +static const struct drbg_kat kat535 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat535_t +}; + +static const unsigned char kat536_entropyin[] = { + 0x8e, 0x7b, 0x62, 0x75, 0xc4, 0x8f, 0xa6, 0x0a, 0xae, 0x68, 0xbc, 0xd6, + 0xae, 0xde, 0xd1, 0x7f, 0xce, 0xcc, 0xe7, 0x12, 0xba, 0x47, 0xa5, 0xda, + 0x79, 0xdc, 0x88, 0x83, 0xa2, 0xb2, 0xb4, 0x43, +}; +static const unsigned char kat536_nonce[] = { + 0xc1, 0xaa, 0x1c, 0x23, 0x7e, 0x69, 0x85, 0x3d, 0xcf, 0x44, 0xc7, 0x55, + 0x8d, 0xca, 0x07, 0xd8, +}; +static const unsigned char kat536_persstr[] = { + 0xd5, 0x73, 0x7e, 0x7b, 0x1f, 0x4e, 0x53, 0xdd, 0x92, 0x41, 0x51, 0xfd, + 0x71, 0xc5, 0x1a, 0x77, 0xe6, 0x55, 0xf5, 0x17, 0x3c, 0xcd, 0xf0, 0xe9, + 0x73, 0x51, 0x24, 0x1b, 0x57, 0x0e, 0xa4, 0xf0, +}; +static const unsigned char kat536_addin0[] = { + 0xbb, 0x70, 0xb8, 0xdb, 0x19, 0xd3, 0xc1, 0xab, 0xfd, 0x6d, 0x25, 0x13, + 0x65, 0x3f, 0x24, 0x83, 0xbe, 0x43, 0x30, 0x06, 0x7f, 0xf6, 0x6b, 0x8f, + 0xb6, 0x2f, 0xc8, 0xe6, 0x72, 0xdf, 0x96, 0x28, +}; +static const unsigned char kat536_addin1[] = { + 0x00, 0x05, 0xe3, 0x1b, 0x93, 0x34, 0x24, 0x2b, 0xeb, 0x2f, 0x3c, 0xa9, + 0x88, 0x60, 0x3f, 0x5d, 0xcb, 0xa6, 0x85, 0x57, 0x6e, 0xb7, 0x60, 0x78, + 0x1d, 0x9f, 0x47, 0x25, 0x2b, 0xa5, 0xe2, 0x9f, +}; +static const unsigned char kat536_retbits[] = { + 0xe0, 0x30, 0x08, 0x5f, 0x66, 0x79, 0x37, 0xf8, 0x66, 0xe1, 0x3a, 0xd0, + 0x85, 0x4f, 0x24, 0x5b, 0x8f, 0x39, 0x2e, 0x07, 0x01, 0x5e, 0x03, 0x71, + 0xd5, 0xec, 0x72, 0xb9, 0x27, 0x1f, 0xf9, 0xf0, 0x94, 0x6a, 0x6d, 0x44, + 0x69, 0xc7, 0x70, 0x1c, 0x48, 0x5f, 0xa4, 0x9a, 0xd7, 0x9e, 0xf5, 0xdb, + 0xd0, 0xb1, 0x01, 0x0d, 0x58, 0xd6, 0xb1, 0x7d, 0xd4, 0x05, 0x4c, 0x13, + 0x08, 0x15, 0x00, 0x65, +}; +static const struct drbg_kat_no_reseed kat536_t = { + 10, kat536_entropyin, kat536_nonce, kat536_persstr, + kat536_addin0, kat536_addin1, kat536_retbits +}; +static const struct drbg_kat kat536 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat536_t +}; + +static const unsigned char kat537_entropyin[] = { + 0x80, 0xdb, 0x28, 0xc5, 0x45, 0x7f, 0x9b, 0x55, 0x72, 0x39, 0xdb, 0x59, + 0x51, 0xce, 0x1a, 0x29, 0xa5, 0xb8, 0xe4, 0x85, 0x6c, 0x7f, 0x89, 0xd0, + 0x28, 0x58, 0x94, 0x6a, 0x27, 0x8c, 0xb7, 0x05, +}; +static const unsigned char kat537_nonce[] = { + 0x94, 0x14, 0xcf, 0xc5, 0x45, 0x2a, 0xfb, 0xe4, 0xd9, 0x3a, 0xfa, 0xf1, + 0x62, 0x60, 0x4b, 0x0e, +}; +static const unsigned char kat537_persstr[] = { + 0x78, 0x81, 0x6b, 0xa6, 0xd7, 0xb6, 0x3d, 0xc2, 0x01, 0xb5, 0x9c, 0x74, + 0xb1, 0x1d, 0x29, 0x18, 0xb0, 0x58, 0xe7, 0x10, 0x58, 0x28, 0xcf, 0xff, + 0x5d, 0xcc, 0x17, 0x81, 0xcf, 0x1d, 0xfb, 0xe5, +}; +static const unsigned char kat537_addin0[] = { + 0x63, 0x56, 0xdb, 0x39, 0xf5, 0x9e, 0x61, 0xf8, 0x8d, 0xa6, 0x15, 0xa7, + 0x9e, 0x62, 0x17, 0x11, 0x3f, 0x79, 0xa1, 0x7c, 0x17, 0xa9, 0x12, 0x34, + 0x34, 0x12, 0xef, 0xd0, 0x56, 0x8e, 0xc2, 0x33, +}; +static const unsigned char kat537_addin1[] = { + 0x44, 0x8c, 0x62, 0xe9, 0x72, 0xab, 0xf9, 0xc4, 0x0b, 0xf9, 0x18, 0x5d, + 0x42, 0xb3, 0x45, 0xaa, 0x6f, 0xba, 0x9b, 0x98, 0xee, 0xe2, 0x35, 0x3a, + 0x5f, 0xd0, 0x15, 0x97, 0x38, 0x7b, 0x60, 0x96, +}; +static const unsigned char kat537_retbits[] = { + 0xe6, 0x60, 0xe4, 0xe2, 0xb2, 0x42, 0x58, 0x71, 0x31, 0x8c, 0x45, 0x3a, + 0x6b, 0x31, 0x1d, 0x0b, 0xbb, 0x01, 0x85, 0x2b, 0xde, 0x28, 0x0b, 0x0e, + 0x38, 0xd6, 0xc3, 0xd0, 0x7f, 0x4b, 0x8a, 0x9b, 0x3a, 0x4f, 0xd1, 0xa2, + 0x6d, 0x26, 0x3b, 0xb7, 0x57, 0x44, 0x7a, 0xca, 0x15, 0x30, 0xa0, 0x41, + 0xc1, 0x27, 0xa7, 0x7e, 0xe2, 0xe5, 0xed, 0x83, 0x25, 0x9f, 0x64, 0x62, + 0xe1, 0xdb, 0xef, 0x6d, +}; +static const struct drbg_kat_no_reseed kat537_t = { + 11, kat537_entropyin, kat537_nonce, kat537_persstr, + kat537_addin0, kat537_addin1, kat537_retbits +}; +static const struct drbg_kat kat537 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat537_t +}; + +static const unsigned char kat538_entropyin[] = { + 0xac, 0xed, 0xba, 0x21, 0x5c, 0x39, 0x0b, 0xab, 0xcf, 0x0f, 0x1d, 0x46, + 0x19, 0x3c, 0x18, 0x9e, 0x15, 0xc5, 0x80, 0xc1, 0xbf, 0x49, 0x09, 0x65, + 0xbd, 0xee, 0x96, 0x3d, 0x38, 0xfe, 0x97, 0x13, +}; +static const unsigned char kat538_nonce[] = { + 0xbb, 0xa7, 0x79, 0x9f, 0x72, 0x41, 0xe1, 0x26, 0x78, 0x6d, 0x53, 0x34, + 0x16, 0x86, 0x3a, 0x33, +}; +static const unsigned char kat538_persstr[] = { + 0x7b, 0x1e, 0x05, 0x7e, 0xe5, 0x2c, 0xa0, 0xd4, 0x15, 0x3c, 0x1c, 0xe6, + 0x48, 0x28, 0xc8, 0x70, 0x52, 0x30, 0xd1, 0x9f, 0x90, 0x0d, 0x7a, 0x77, + 0x1a, 0xa7, 0x71, 0x82, 0xfc, 0xc7, 0x88, 0x07, +}; +static const unsigned char kat538_addin0[] = { + 0x6c, 0xd1, 0x68, 0x49, 0x88, 0xd7, 0x0d, 0x56, 0x9b, 0x0a, 0xf5, 0x58, + 0x5f, 0xb9, 0xb8, 0xba, 0x69, 0x8b, 0x59, 0x9d, 0xc4, 0xa0, 0xbd, 0x7b, + 0x21, 0x9c, 0x2e, 0x92, 0x01, 0x4a, 0x1e, 0xf4, +}; +static const unsigned char kat538_addin1[] = { + 0x85, 0x7a, 0x8b, 0x64, 0xa8, 0x20, 0xa2, 0x1b, 0xc4, 0x9a, 0x16, 0x3f, + 0x72, 0x17, 0x5f, 0xda, 0x94, 0xa2, 0x87, 0x82, 0x87, 0x86, 0x6c, 0xde, + 0x86, 0x36, 0xd4, 0x6f, 0xba, 0xd9, 0xde, 0x33, +}; +static const unsigned char kat538_retbits[] = { + 0xa3, 0x21, 0xe4, 0x2e, 0xab, 0x68, 0x41, 0x50, 0xfe, 0x55, 0xdb, 0x9e, + 0x1f, 0x4e, 0xfc, 0x9a, 0xb6, 0xbc, 0x94, 0xad, 0xfd, 0x78, 0xb8, 0x7a, + 0x8d, 0x58, 0xeb, 0xd1, 0x1d, 0x20, 0xab, 0x3c, 0xae, 0x9b, 0x0e, 0x1b, + 0xdb, 0x31, 0xf1, 0xec, 0x1c, 0x1d, 0x85, 0xc1, 0xf0, 0x71, 0xac, 0xe6, + 0x39, 0xc0, 0x53, 0xa0, 0x68, 0x2a, 0x07, 0x71, 0x47, 0x31, 0x45, 0x06, + 0xc0, 0x7b, 0xda, 0xad, +}; +static const struct drbg_kat_no_reseed kat538_t = { + 12, kat538_entropyin, kat538_nonce, kat538_persstr, + kat538_addin0, kat538_addin1, kat538_retbits +}; +static const struct drbg_kat kat538 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat538_t +}; + +static const unsigned char kat539_entropyin[] = { + 0x5d, 0xce, 0xd2, 0xaf, 0xdf, 0x72, 0xd2, 0x2d, 0x2b, 0x42, 0x80, 0xe1, + 0x81, 0x18, 0x6e, 0xb3, 0xfc, 0xd5, 0x5c, 0xbe, 0xc0, 0xd4, 0xa0, 0x26, + 0x93, 0x62, 0x62, 0xbd, 0x0f, 0x7d, 0xf6, 0x36, +}; +static const unsigned char kat539_nonce[] = { + 0x07, 0x6c, 0xde, 0x76, 0x2a, 0xc3, 0x9b, 0x18, 0xe4, 0x48, 0x82, 0x6e, + 0xdc, 0xea, 0x42, 0x9c, +}; +static const unsigned char kat539_persstr[] = { + 0xef, 0x7d, 0xb5, 0xdd, 0x64, 0x02, 0x8a, 0x67, 0x45, 0xbf, 0xe0, 0xe5, + 0x7c, 0x83, 0x05, 0xc4, 0x5e, 0xc2, 0x44, 0x38, 0xd9, 0xa6, 0x53, 0x71, + 0xb7, 0xd9, 0x8c, 0x93, 0xab, 0x73, 0x20, 0xcc, +}; +static const unsigned char kat539_addin0[] = { + 0x64, 0x3b, 0xe9, 0x51, 0x2f, 0xb8, 0x23, 0x5a, 0x12, 0xdb, 0x98, 0x11, + 0x11, 0x07, 0x9b, 0x5c, 0x45, 0x36, 0x99, 0xd4, 0x8f, 0x0b, 0x1b, 0xc0, + 0x0d, 0x64, 0x3c, 0xe0, 0xe0, 0x17, 0xdd, 0x04, +}; +static const unsigned char kat539_addin1[] = { + 0xb8, 0x53, 0xe7, 0x9d, 0xdb, 0x46, 0xb2, 0x59, 0x15, 0x89, 0xfe, 0xe4, + 0x3d, 0x3d, 0xd7, 0xad, 0x9e, 0xa1, 0x69, 0x33, 0x2f, 0x83, 0xd4, 0x46, + 0x44, 0xc3, 0x0b, 0x0c, 0xf5, 0xc9, 0x79, 0x2d, +}; +static const unsigned char kat539_retbits[] = { + 0x48, 0x78, 0x78, 0xdc, 0x78, 0xa9, 0xe8, 0x6f, 0x5f, 0xaa, 0x7f, 0x77, + 0x99, 0x76, 0xf3, 0xf0, 0xc2, 0x07, 0xf8, 0xe9, 0xcf, 0xd3, 0x1b, 0xea, + 0x54, 0xbf, 0x12, 0x1c, 0x41, 0x22, 0x7c, 0x86, 0xd7, 0x25, 0x64, 0xc0, + 0xa1, 0xb5, 0x85, 0xe6, 0xf2, 0x84, 0xaa, 0x73, 0x2b, 0x5d, 0xbe, 0xac, + 0x78, 0xab, 0x5c, 0xe1, 0x72, 0xb2, 0x86, 0xf6, 0xdd, 0x2d, 0x7b, 0x97, + 0x63, 0xe7, 0x67, 0x25, +}; +static const struct drbg_kat_no_reseed kat539_t = { + 13, kat539_entropyin, kat539_nonce, kat539_persstr, + kat539_addin0, kat539_addin1, kat539_retbits +}; +static const struct drbg_kat kat539 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat539_t +}; + +static const unsigned char kat540_entropyin[] = { + 0x4d, 0x6d, 0x0d, 0x6c, 0x03, 0x55, 0x28, 0x80, 0xc0, 0xd0, 0xc5, 0x67, + 0xf1, 0x43, 0xe2, 0x97, 0xf7, 0x7d, 0x9a, 0x5e, 0xcb, 0x54, 0x7c, 0x28, + 0xab, 0xcf, 0xf1, 0x71, 0x5b, 0x06, 0x10, 0x84, +}; +static const unsigned char kat540_nonce[] = { + 0x1b, 0x47, 0x76, 0x61, 0x13, 0x28, 0x34, 0xab, 0xcd, 0x71, 0x3b, 0xe2, + 0x27, 0x97, 0x88, 0x20, +}; +static const unsigned char kat540_persstr[] = { + 0x1c, 0x58, 0x44, 0x91, 0xac, 0xb3, 0xf1, 0xa6, 0x2e, 0xcf, 0x84, 0x12, + 0x0e, 0x4c, 0x6a, 0xdb, 0x67, 0x6c, 0x23, 0x3a, 0x16, 0x84, 0xf2, 0xd1, + 0xb8, 0xcd, 0x54, 0x2a, 0x62, 0x9f, 0x6c, 0x84, +}; +static const unsigned char kat540_addin0[] = { + 0xf2, 0x4b, 0x84, 0x67, 0xae, 0x57, 0x66, 0x9e, 0x4a, 0xd6, 0x75, 0x88, + 0xa4, 0x1f, 0x95, 0x12, 0xfd, 0x48, 0x97, 0x66, 0x42, 0xdb, 0x17, 0x37, + 0x12, 0x20, 0x64, 0xa1, 0xc1, 0x23, 0x44, 0x48, +}; +static const unsigned char kat540_addin1[] = { + 0x7a, 0x6f, 0x1a, 0x19, 0x11, 0x17, 0xc2, 0xdc, 0xd5, 0xc9, 0xc1, 0x75, + 0xc8, 0x27, 0xd8, 0xda, 0x04, 0xe3, 0x80, 0x2a, 0xe8, 0x35, 0xb2, 0x51, + 0x82, 0xfa, 0x83, 0xbf, 0x91, 0xdc, 0x68, 0x71, +}; +static const unsigned char kat540_retbits[] = { + 0x1d, 0xce, 0xe0, 0xaf, 0xbf, 0xfb, 0x8a, 0x0c, 0xf4, 0x00, 0x2c, 0xfc, + 0x26, 0x2c, 0x4f, 0xe0, 0x58, 0xd1, 0x3e, 0x35, 0xc7, 0x4c, 0x70, 0xb0, + 0x10, 0x47, 0x6c, 0x71, 0x53, 0x31, 0x3d, 0x71, 0x45, 0xdf, 0x88, 0x9c, + 0x2f, 0x99, 0x1f, 0x8f, 0x97, 0x8f, 0x0d, 0x73, 0xc9, 0x5e, 0x86, 0x7c, + 0x4d, 0x2d, 0xa4, 0xf3, 0xf4, 0xd9, 0x32, 0xd0, 0xb9, 0xa2, 0x3c, 0x78, + 0xe0, 0xf1, 0x12, 0xa5, +}; +static const struct drbg_kat_no_reseed kat540_t = { + 14, kat540_entropyin, kat540_nonce, kat540_persstr, + kat540_addin0, kat540_addin1, kat540_retbits +}; +static const struct drbg_kat kat540 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat540_t +}; + +static const unsigned char kat541_entropyin[] = { + 0x8b, 0x0b, 0xcb, 0x3f, 0x93, 0x21, 0x70, 0x41, 0x67, 0x39, 0xea, 0x42, + 0xe7, 0xdc, 0xdc, 0x6f, 0xa9, 0x60, 0x64, 0x5b, 0xc0, 0x18, 0x82, 0x01, + 0x34, 0xf7, 0x14, 0xb3, 0xc6, 0x91, 0x2b, 0x56, +}; +static const unsigned char kat541_nonce[] = { + 0xba, 0xc0, 0xfd, 0xc0, 0xc4, 0x17, 0xaa, 0x26, 0x9b, 0xbd, 0xea, 0x77, + 0xe9, 0x28, 0xf9, 0xf8, +}; +static const unsigned char kat541_persstr[] = {0}; +static const unsigned char kat541_addin0[] = {0}; +static const unsigned char kat541_addin1[] = {0}; +static const unsigned char kat541_retbits[] = { + 0xd9, 0xc4, 0xfd, 0x81, 0xf6, 0x62, 0x1a, 0x8c, 0xf0, 0x6d, 0x61, 0x2e, + 0x9a, 0x84, 0xb8, 0x0f, 0xa1, 0x3d, 0x09, 0x8d, 0xce, 0xaf, 0x2c, 0x08, + 0x3d, 0xc8, 0x1c, 0xd8, 0x0c, 0xae, 0xdd, 0x10, 0x5c, 0x7f, 0x27, 0x89, + 0x96, 0x3a, 0x16, 0x7d, 0x72, 0xf7, 0x6e, 0x81, 0x17, 0x80, 0x01, 0xfd, + 0x93, 0xde, 0x46, 0x23, 0xc2, 0x60, 0xfe, 0x9e, 0xeb, 0xce, 0xd8, 0x9f, + 0x7b, 0x4b, 0x04, 0x7a, +}; +static const struct drbg_kat_no_reseed kat541_t = { + 0, kat541_entropyin, kat541_nonce, kat541_persstr, + kat541_addin0, kat541_addin1, kat541_retbits +}; +static const struct drbg_kat kat541 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat541_t +}; + +static const unsigned char kat542_entropyin[] = { + 0x67, 0xb6, 0xe8, 0x4d, 0x5a, 0x56, 0x0a, 0xf4, 0xd9, 0x27, 0x45, 0x85, + 0x3d, 0xa8, 0x3c, 0x4e, 0x8d, 0xcf, 0xf4, 0x69, 0x86, 0x9e, 0xca, 0x69, + 0x98, 0x10, 0x55, 0xba, 0x4c, 0x6f, 0x84, 0xc3, +}; +static const unsigned char kat542_nonce[] = { + 0xaa, 0xbc, 0x8d, 0x3a, 0xb5, 0x93, 0xdb, 0xea, 0x35, 0xfa, 0xb1, 0xff, + 0x6c, 0xdc, 0x26, 0xfb, +}; +static const unsigned char kat542_persstr[] = {0}; +static const unsigned char kat542_addin0[] = {0}; +static const unsigned char kat542_addin1[] = {0}; +static const unsigned char kat542_retbits[] = { + 0xe7, 0x4a, 0xd6, 0x22, 0xa7, 0x12, 0x98, 0x98, 0x3a, 0xa2, 0x10, 0x66, + 0xd7, 0x88, 0xfd, 0xcd, 0x6a, 0xfd, 0xc9, 0xaa, 0xf7, 0xfc, 0x8a, 0x55, + 0x53, 0x4e, 0xc0, 0x91, 0x7d, 0x68, 0x40, 0xd1, 0x5c, 0x1b, 0xa2, 0xf0, + 0xa7, 0x03, 0xf0, 0x4b, 0x14, 0x8b, 0xd7, 0xbc, 0x49, 0x83, 0xb2, 0x79, + 0xa4, 0x14, 0xe3, 0x93, 0x7c, 0x17, 0xa8, 0x18, 0x1e, 0x64, 0x4e, 0xa0, + 0x66, 0x2d, 0xbe, 0xbc, +}; +static const struct drbg_kat_no_reseed kat542_t = { + 1, kat542_entropyin, kat542_nonce, kat542_persstr, + kat542_addin0, kat542_addin1, kat542_retbits +}; +static const struct drbg_kat kat542 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat542_t +}; + +static const unsigned char kat543_entropyin[] = { + 0xbe, 0x57, 0xcf, 0x16, 0xb2, 0x64, 0x81, 0xaa, 0xb3, 0x16, 0x4b, 0x80, + 0x60, 0xc2, 0x9f, 0x17, 0x98, 0x27, 0x11, 0xb4, 0x51, 0x18, 0x8d, 0xea, + 0xcd, 0xc9, 0x80, 0x5e, 0xf7, 0xe0, 0x16, 0xbe, +}; +static const unsigned char kat543_nonce[] = { + 0x85, 0x48, 0x4d, 0xaa, 0x20, 0xb8, 0x60, 0x25, 0x07, 0xb3, 0xd7, 0x68, + 0x50, 0x93, 0x9e, 0x59, +}; +static const unsigned char kat543_persstr[] = {0}; +static const unsigned char kat543_addin0[] = {0}; +static const unsigned char kat543_addin1[] = {0}; +static const unsigned char kat543_retbits[] = { + 0x4b, 0x95, 0x46, 0x92, 0x16, 0x03, 0x7d, 0xe3, 0xaf, 0xb2, 0x79, 0x0d, + 0xd1, 0x52, 0x34, 0x73, 0xcb, 0x8d, 0xbd, 0xf7, 0x23, 0x0b, 0x0f, 0x85, + 0x43, 0xf7, 0x38, 0xc6, 0xba, 0xa0, 0xa1, 0xa4, 0x6d, 0x13, 0x36, 0x6f, + 0xe3, 0x16, 0x4f, 0x24, 0x56, 0x76, 0xdf, 0xe1, 0xaf, 0x02, 0x14, 0xc5, + 0x58, 0x1e, 0x82, 0x79, 0x0f, 0xde, 0x30, 0xb0, 0x20, 0x3e, 0x45, 0x54, + 0x80, 0x4b, 0x98, 0x26, +}; +static const struct drbg_kat_no_reseed kat543_t = { + 2, kat543_entropyin, kat543_nonce, kat543_persstr, + kat543_addin0, kat543_addin1, kat543_retbits +}; +static const struct drbg_kat kat543 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat543_t +}; + +static const unsigned char kat544_entropyin[] = { + 0x3c, 0xbb, 0xdc, 0x1b, 0xbb, 0x6f, 0x00, 0x58, 0x97, 0xd6, 0x53, 0x84, + 0xed, 0x79, 0x79, 0xdf, 0x6d, 0x71, 0x08, 0x55, 0x9c, 0x3e, 0x76, 0x19, + 0xd6, 0xdf, 0xc8, 0xda, 0xd8, 0xe6, 0x54, 0x9f, +}; +static const unsigned char kat544_nonce[] = { + 0x7c, 0x9f, 0x78, 0xb7, 0xd1, 0x5e, 0xa7, 0x32, 0x44, 0x12, 0x3f, 0xfd, + 0xb4, 0x48, 0x9f, 0x0d, +}; +static const unsigned char kat544_persstr[] = {0}; +static const unsigned char kat544_addin0[] = {0}; +static const unsigned char kat544_addin1[] = {0}; +static const unsigned char kat544_retbits[] = { + 0xc2, 0x1a, 0xf2, 0x65, 0x18, 0xc9, 0x7d, 0x67, 0x63, 0xb7, 0x53, 0x93, + 0x9a, 0xb0, 0xdf, 0x09, 0xcd, 0x2d, 0x59, 0xfa, 0x10, 0x90, 0x93, 0x3e, + 0x26, 0x41, 0xc9, 0x43, 0x9f, 0x79, 0xfb, 0x3b, 0x90, 0x22, 0xfa, 0x6e, + 0x07, 0xc9, 0x95, 0x0c, 0xe9, 0xea, 0xdc, 0x33, 0x27, 0xdc, 0x49, 0xf9, + 0x1d, 0xc8, 0x00, 0x6c, 0x7d, 0xa5, 0x2b, 0x02, 0x1e, 0x5a, 0xe8, 0x35, + 0x82, 0xf3, 0x04, 0x75, +}; +static const struct drbg_kat_no_reseed kat544_t = { + 3, kat544_entropyin, kat544_nonce, kat544_persstr, + kat544_addin0, kat544_addin1, kat544_retbits +}; +static const struct drbg_kat kat544 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat544_t +}; + +static const unsigned char kat545_entropyin[] = { + 0x06, 0x31, 0x1c, 0xc8, 0x1e, 0x75, 0xb1, 0x22, 0x69, 0xbc, 0x67, 0xed, + 0x0e, 0x13, 0x13, 0x48, 0x0f, 0x32, 0x4b, 0x75, 0x2a, 0x1f, 0xd7, 0x83, + 0xce, 0x09, 0x77, 0x0d, 0x1d, 0x40, 0x00, 0xfb, +}; +static const unsigned char kat545_nonce[] = { + 0xae, 0x2c, 0xc5, 0x17, 0xb2, 0x15, 0x85, 0x5b, 0x1e, 0x91, 0xd1, 0xf7, + 0x94, 0x2d, 0x93, 0x1e, +}; +static const unsigned char kat545_persstr[] = {0}; +static const unsigned char kat545_addin0[] = {0}; +static const unsigned char kat545_addin1[] = {0}; +static const unsigned char kat545_retbits[] = { + 0x5e, 0xd9, 0x14, 0x43, 0x8a, 0x62, 0xcc, 0x4d, 0x46, 0x33, 0x67, 0xb1, + 0x7c, 0x89, 0x60, 0x42, 0x90, 0xe9, 0x72, 0x35, 0x22, 0xef, 0x80, 0x1e, + 0xad, 0x51, 0x5c, 0xa3, 0x52, 0xe0, 0x99, 0xd6, 0xfa, 0x13, 0x62, 0xde, + 0xd3, 0x2a, 0x3f, 0xa3, 0x6b, 0x24, 0x53, 0x42, 0x2f, 0x11, 0x4f, 0x8c, + 0xf2, 0x46, 0xc1, 0x8c, 0x8c, 0xdd, 0x78, 0x6a, 0xa2, 0x43, 0x80, 0x1c, + 0xae, 0xf2, 0xb2, 0xed, +}; +static const struct drbg_kat_no_reseed kat545_t = { + 4, kat545_entropyin, kat545_nonce, kat545_persstr, + kat545_addin0, kat545_addin1, kat545_retbits +}; +static const struct drbg_kat kat545 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat545_t +}; + +static const unsigned char kat546_entropyin[] = { + 0x59, 0x27, 0xad, 0x80, 0xb1, 0x2b, 0x86, 0x26, 0x9e, 0xb3, 0x1e, 0x85, + 0xc3, 0xb1, 0x22, 0xa7, 0xb8, 0x2d, 0x8e, 0xd5, 0x78, 0x22, 0x76, 0x34, + 0x4b, 0xe3, 0xf5, 0x2e, 0xdf, 0x62, 0x80, 0xdb, +}; +static const unsigned char kat546_nonce[] = { + 0xe6, 0x74, 0x0d, 0x37, 0x13, 0xda, 0x61, 0x7b, 0xaa, 0x5a, 0x5c, 0xd5, + 0xb4, 0xd6, 0xbe, 0xd8, +}; +static const unsigned char kat546_persstr[] = {0}; +static const unsigned char kat546_addin0[] = {0}; +static const unsigned char kat546_addin1[] = {0}; +static const unsigned char kat546_retbits[] = { + 0x52, 0xf3, 0x10, 0xec, 0x9a, 0xdc, 0xf4, 0x91, 0xde, 0x58, 0xdc, 0x52, + 0x59, 0x5d, 0xdb, 0xb1, 0xfe, 0xe9, 0x66, 0xe6, 0x9e, 0x60, 0xba, 0x0e, + 0x65, 0xbe, 0xd7, 0xfb, 0xf8, 0xdc, 0x3d, 0x58, 0x14, 0x85, 0x38, 0xa1, + 0xb4, 0x56, 0xae, 0xce, 0x1b, 0x41, 0x47, 0x9d, 0xea, 0x06, 0xe1, 0x01, + 0x5b, 0x7b, 0x10, 0xde, 0xb6, 0x6c, 0x97, 0x74, 0x02, 0x9f, 0x0b, 0x52, + 0xce, 0xb1, 0xf5, 0x8a, +}; +static const struct drbg_kat_no_reseed kat546_t = { + 5, kat546_entropyin, kat546_nonce, kat546_persstr, + kat546_addin0, kat546_addin1, kat546_retbits +}; +static const struct drbg_kat kat546 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat546_t +}; + +static const unsigned char kat547_entropyin[] = { + 0x6e, 0xc1, 0x35, 0x79, 0x2f, 0x27, 0x02, 0x67, 0x72, 0x73, 0x9e, 0x89, + 0x3a, 0xc5, 0x08, 0x52, 0x20, 0x35, 0x1f, 0x59, 0x05, 0x75, 0xfe, 0xb9, + 0xa3, 0xd3, 0x79, 0x2a, 0xc9, 0x13, 0xd8, 0xa4, +}; +static const unsigned char kat547_nonce[] = { + 0xa0, 0x96, 0x9c, 0xdb, 0x40, 0x59, 0x14, 0x36, 0xcb, 0x63, 0x7f, 0xe0, + 0x93, 0x15, 0x6f, 0x16, +}; +static const unsigned char kat547_persstr[] = {0}; +static const unsigned char kat547_addin0[] = {0}; +static const unsigned char kat547_addin1[] = {0}; +static const unsigned char kat547_retbits[] = { + 0x08, 0xd2, 0x73, 0x57, 0x18, 0xf9, 0xc8, 0x82, 0x32, 0x2f, 0xde, 0xf7, + 0xb1, 0x21, 0x33, 0x9d, 0x5a, 0x7f, 0x59, 0xb0, 0x74, 0xd3, 0xc6, 0xf8, + 0xb8, 0xfc, 0x51, 0x7a, 0x07, 0x2d, 0x35, 0x6b, 0xb7, 0x02, 0xd9, 0x0d, + 0xbc, 0xec, 0x40, 0xe0, 0x1c, 0x4d, 0xdb, 0x62, 0x81, 0x38, 0x7e, 0x73, + 0x1b, 0x2b, 0xd0, 0xe7, 0x2a, 0x61, 0x64, 0xef, 0x4a, 0x72, 0x1d, 0xad, + 0x01, 0x02, 0x3b, 0x2a, +}; +static const struct drbg_kat_no_reseed kat547_t = { + 6, kat547_entropyin, kat547_nonce, kat547_persstr, + kat547_addin0, kat547_addin1, kat547_retbits +}; +static const struct drbg_kat kat547 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat547_t +}; + +static const unsigned char kat548_entropyin[] = { + 0xe9, 0xc4, 0x8b, 0xe6, 0xd6, 0x5c, 0x8d, 0xd3, 0xbb, 0x37, 0x22, 0x31, + 0xdf, 0xa8, 0xa7, 0x07, 0x8d, 0xf5, 0x01, 0xa9, 0x23, 0x8d, 0x63, 0x11, + 0x61, 0xce, 0xe3, 0xf0, 0xaf, 0xa9, 0x78, 0x89, +}; +static const unsigned char kat548_nonce[] = { + 0x1d, 0x32, 0xb5, 0xa3, 0x7b, 0xe3, 0xad, 0x60, 0x96, 0xe8, 0x0c, 0x7f, + 0xab, 0xf8, 0xa7, 0x9b, +}; +static const unsigned char kat548_persstr[] = {0}; +static const unsigned char kat548_addin0[] = {0}; +static const unsigned char kat548_addin1[] = {0}; +static const unsigned char kat548_retbits[] = { + 0x02, 0x4f, 0xa9, 0x5b, 0x3c, 0xef, 0x85, 0xdd, 0x9a, 0x22, 0x7c, 0x93, + 0xa8, 0x22, 0x3b, 0x1d, 0x02, 0xd5, 0x7f, 0xd5, 0x06, 0xed, 0x42, 0xa1, + 0x03, 0xf7, 0xee, 0x0d, 0x92, 0x05, 0xca, 0xd9, 0xfc, 0x51, 0xbc, 0xbd, + 0xb7, 0xc4, 0x01, 0xd1, 0x5f, 0xcb, 0x06, 0xe4, 0xa5, 0xed, 0xa1, 0x75, + 0x36, 0xfe, 0x9e, 0x93, 0x81, 0x2e, 0xb9, 0x9a, 0x87, 0x9b, 0x91, 0x06, + 0xca, 0x0b, 0x6d, 0x8d, +}; +static const struct drbg_kat_no_reseed kat548_t = { + 7, kat548_entropyin, kat548_nonce, kat548_persstr, + kat548_addin0, kat548_addin1, kat548_retbits +}; +static const struct drbg_kat kat548 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat548_t +}; + +static const unsigned char kat549_entropyin[] = { + 0x6f, 0x37, 0xbb, 0x62, 0xe2, 0xb3, 0x01, 0xde, 0x8f, 0xf6, 0xc5, 0xa8, + 0x0a, 0xd8, 0x63, 0x4a, 0xc7, 0x18, 0x73, 0x1b, 0xa7, 0x89, 0xb2, 0x47, + 0xc3, 0x50, 0x72, 0x16, 0xf6, 0x4b, 0xae, 0x42, +}; +static const unsigned char kat549_nonce[] = { + 0x41, 0xe5, 0x14, 0x98, 0x0d, 0x2c, 0x79, 0x57, 0x25, 0x84, 0xd0, 0xe6, + 0x0f, 0x20, 0x2c, 0x67, +}; +static const unsigned char kat549_persstr[] = {0}; +static const unsigned char kat549_addin0[] = {0}; +static const unsigned char kat549_addin1[] = {0}; +static const unsigned char kat549_retbits[] = { + 0xc1, 0xad, 0x07, 0x4f, 0xb5, 0x74, 0x8f, 0x09, 0xa3, 0x4b, 0x8f, 0x8b, + 0x8b, 0x15, 0x78, 0x9d, 0x26, 0xa6, 0xaf, 0xf4, 0x71, 0x40, 0x95, 0xc5, + 0x4f, 0x62, 0x61, 0x1d, 0x88, 0xee, 0x2a, 0x45, 0xa4, 0xac, 0x11, 0x10, + 0xa3, 0xe4, 0xec, 0x9d, 0x59, 0xba, 0x85, 0xec, 0x1d, 0x80, 0xda, 0xac, + 0xdd, 0xae, 0x3e, 0xa5, 0x8f, 0x95, 0x39, 0x21, 0x9a, 0xfa, 0xf5, 0x7f, + 0xe9, 0x53, 0x53, 0x6e, +}; +static const struct drbg_kat_no_reseed kat549_t = { + 8, kat549_entropyin, kat549_nonce, kat549_persstr, + kat549_addin0, kat549_addin1, kat549_retbits +}; +static const struct drbg_kat kat549 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat549_t +}; + +static const unsigned char kat550_entropyin[] = { + 0x54, 0x90, 0x2f, 0x1c, 0xe7, 0x88, 0xfd, 0xdb, 0x8d, 0x81, 0x5a, 0x80, + 0xe5, 0xb0, 0x2d, 0xa3, 0x6a, 0xe0, 0x9f, 0xe2, 0xce, 0xcb, 0x6c, 0xad, + 0x76, 0x6b, 0x75, 0x72, 0x38, 0xa0, 0x95, 0x46, +}; +static const unsigned char kat550_nonce[] = { + 0x52, 0xfc, 0x08, 0x26, 0x5f, 0x84, 0xbb, 0x3b, 0x2f, 0x5d, 0xab, 0x01, + 0xeb, 0x8a, 0xde, 0x3c, +}; +static const unsigned char kat550_persstr[] = {0}; +static const unsigned char kat550_addin0[] = {0}; +static const unsigned char kat550_addin1[] = {0}; +static const unsigned char kat550_retbits[] = { + 0x0d, 0x11, 0x4d, 0x27, 0xd1, 0xc4, 0xae, 0x86, 0x18, 0x6c, 0x31, 0x3e, + 0x4f, 0x1b, 0xfb, 0x00, 0x2d, 0xe3, 0xf2, 0xa8, 0x27, 0xb7, 0x15, 0x39, + 0x41, 0xf9, 0x0f, 0x99, 0x4b, 0x56, 0xc8, 0xc2, 0x66, 0x81, 0x6c, 0xc6, + 0x9e, 0x10, 0x72, 0xa2, 0xb3, 0xbe, 0x19, 0xc2, 0x9f, 0x80, 0xab, 0x3d, + 0x03, 0x9e, 0xd5, 0x72, 0x2f, 0xed, 0xcc, 0x01, 0x6f, 0xa8, 0x2b, 0x39, + 0x61, 0x78, 0x28, 0x58, +}; +static const struct drbg_kat_no_reseed kat550_t = { + 9, kat550_entropyin, kat550_nonce, kat550_persstr, + kat550_addin0, kat550_addin1, kat550_retbits +}; +static const struct drbg_kat kat550 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat550_t +}; + +static const unsigned char kat551_entropyin[] = { + 0xfe, 0x55, 0xe2, 0xf9, 0x6b, 0x16, 0xd2, 0xdd, 0x91, 0x5c, 0xa1, 0x1e, + 0x25, 0x04, 0xd7, 0x20, 0xf1, 0xaa, 0x19, 0x18, 0x63, 0x1c, 0x47, 0x2c, + 0xb0, 0xb4, 0x49, 0x9b, 0x7d, 0x88, 0x6b, 0x56, +}; +static const unsigned char kat551_nonce[] = { + 0x85, 0x30, 0xfc, 0x3e, 0xba, 0x5a, 0x01, 0xb7, 0x63, 0x08, 0x9e, 0x80, + 0x43, 0xdf, 0xdf, 0x79, +}; +static const unsigned char kat551_persstr[] = {0}; +static const unsigned char kat551_addin0[] = {0}; +static const unsigned char kat551_addin1[] = {0}; +static const unsigned char kat551_retbits[] = { + 0xbe, 0x3e, 0x72, 0xb3, 0xaa, 0x0b, 0x07, 0xd0, 0x75, 0x66, 0x45, 0xa5, + 0xf5, 0xa7, 0x4a, 0xa6, 0xa0, 0x15, 0xb7, 0xce, 0xa6, 0x85, 0x81, 0xfc, + 0x8e, 0xd7, 0x62, 0x66, 0x0d, 0x9e, 0x54, 0xa7, 0x81, 0x0e, 0x71, 0x2d, + 0x81, 0x98, 0x8e, 0xa7, 0x06, 0xad, 0x2b, 0x93, 0x8e, 0x33, 0x65, 0x1a, + 0x3e, 0x8a, 0x67, 0x55, 0xd5, 0x92, 0xf5, 0x21, 0x7f, 0xf2, 0xc9, 0xea, + 0x8f, 0x41, 0xa5, 0xc4, +}; +static const struct drbg_kat_no_reseed kat551_t = { + 10, kat551_entropyin, kat551_nonce, kat551_persstr, + kat551_addin0, kat551_addin1, kat551_retbits +}; +static const struct drbg_kat kat551 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat551_t +}; + +static const unsigned char kat552_entropyin[] = { + 0xf5, 0xfc, 0x14, 0x97, 0x1b, 0x96, 0x6a, 0x4f, 0x95, 0xbb, 0x13, 0xd5, + 0x5a, 0x68, 0x2b, 0xfd, 0xc7, 0xda, 0x7f, 0x26, 0xc9, 0x43, 0xdb, 0x40, + 0x1a, 0x17, 0x9f, 0x23, 0xf4, 0x7e, 0xc3, 0xbe, +}; +static const unsigned char kat552_nonce[] = { + 0xf0, 0x51, 0xee, 0xba, 0xbc, 0xe3, 0x59, 0x90, 0x21, 0xc3, 0x64, 0x81, + 0x1b, 0x11, 0xf2, 0x8b, +}; +static const unsigned char kat552_persstr[] = {0}; +static const unsigned char kat552_addin0[] = {0}; +static const unsigned char kat552_addin1[] = {0}; +static const unsigned char kat552_retbits[] = { + 0x9e, 0x18, 0x4c, 0x66, 0x83, 0x4d, 0x73, 0xb4, 0x61, 0x0e, 0x53, 0x62, + 0xcd, 0xf9, 0x08, 0xa5, 0xf8, 0x49, 0x39, 0xec, 0xf0, 0x1a, 0x58, 0xeb, + 0xe6, 0xc2, 0xdc, 0x50, 0xca, 0x0c, 0x24, 0xbe, 0xd9, 0x94, 0xa8, 0x2e, + 0xec, 0x99, 0x8e, 0x18, 0xaf, 0xb9, 0x57, 0x27, 0xc4, 0x27, 0x86, 0xf5, + 0xe9, 0x4d, 0x60, 0xc6, 0x06, 0x57, 0x6a, 0xf8, 0x3f, 0x3b, 0x33, 0x52, + 0x79, 0xa1, 0x01, 0x4d, +}; +static const struct drbg_kat_no_reseed kat552_t = { + 11, kat552_entropyin, kat552_nonce, kat552_persstr, + kat552_addin0, kat552_addin1, kat552_retbits +}; +static const struct drbg_kat kat552 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat552_t +}; + +static const unsigned char kat553_entropyin[] = { + 0x26, 0xe6, 0xf4, 0x4b, 0x11, 0x2f, 0x52, 0x40, 0xf0, 0xe2, 0x24, 0x9c, + 0x2a, 0xa4, 0xd5, 0xdf, 0x3d, 0xf0, 0x94, 0x31, 0x29, 0x6f, 0xee, 0xad, + 0x01, 0xcf, 0x65, 0x9c, 0x62, 0xde, 0x50, 0x07, +}; +static const unsigned char kat553_nonce[] = { + 0x8c, 0xaa, 0x8a, 0x24, 0xc2, 0x8a, 0x17, 0xcf, 0xb6, 0x86, 0x13, 0xe2, + 0xfb, 0x3b, 0xf3, 0x7e, +}; +static const unsigned char kat553_persstr[] = {0}; +static const unsigned char kat553_addin0[] = {0}; +static const unsigned char kat553_addin1[] = {0}; +static const unsigned char kat553_retbits[] = { + 0x91, 0xa3, 0xad, 0x60, 0xda, 0x8a, 0x72, 0xd7, 0x04, 0x05, 0xa1, 0xba, + 0x81, 0x9e, 0xcb, 0x14, 0x7f, 0x33, 0x88, 0x68, 0xa4, 0x16, 0x68, 0xdb, + 0x59, 0xff, 0xfb, 0x03, 0x11, 0xa8, 0x34, 0x4a, 0xe0, 0xea, 0x58, 0xd9, + 0x7b, 0x6d, 0x3c, 0x31, 0x64, 0x90, 0xb5, 0xc6, 0x23, 0x65, 0x3e, 0x81, + 0x6c, 0xc1, 0xb9, 0x1d, 0x5f, 0xcd, 0x9b, 0x4d, 0x70, 0xe7, 0x71, 0x7d, + 0x6e, 0xe2, 0xb7, 0x02, +}; +static const struct drbg_kat_no_reseed kat553_t = { + 12, kat553_entropyin, kat553_nonce, kat553_persstr, + kat553_addin0, kat553_addin1, kat553_retbits +}; +static const struct drbg_kat kat553 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat553_t +}; + +static const unsigned char kat554_entropyin[] = { + 0xf2, 0x91, 0xd7, 0xe5, 0xc2, 0x96, 0x13, 0x13, 0x18, 0x4f, 0x80, 0x23, + 0x27, 0x7b, 0x8f, 0xac, 0x09, 0xa5, 0x43, 0xa2, 0x68, 0xee, 0x50, 0x6a, + 0x53, 0x41, 0x70, 0x67, 0xa8, 0xcc, 0x12, 0xb6, +}; +static const unsigned char kat554_nonce[] = { + 0x55, 0x24, 0x3c, 0xc5, 0x46, 0x0e, 0x24, 0xbf, 0x0c, 0x2f, 0x92, 0xc0, + 0xcf, 0xb2, 0x3e, 0xb6, +}; +static const unsigned char kat554_persstr[] = {0}; +static const unsigned char kat554_addin0[] = {0}; +static const unsigned char kat554_addin1[] = {0}; +static const unsigned char kat554_retbits[] = { + 0x80, 0x9d, 0x31, 0xa2, 0xa2, 0x6c, 0x94, 0x0b, 0x3f, 0x04, 0x5f, 0x16, + 0xb8, 0x59, 0xf2, 0x70, 0x8f, 0xd9, 0x19, 0x6a, 0x39, 0x83, 0x51, 0x41, + 0x04, 0xd8, 0x0f, 0x1f, 0x68, 0x16, 0x6a, 0xf0, 0xe4, 0x8b, 0x98, 0x27, + 0x1b, 0x76, 0xa2, 0x67, 0xea, 0x1e, 0x05, 0x25, 0x0a, 0x3f, 0x7f, 0x25, + 0x81, 0xc1, 0xd6, 0x35, 0x67, 0x08, 0xc2, 0x93, 0xf2, 0x08, 0x94, 0x4b, + 0x3d, 0xa0, 0xa4, 0x25, +}; +static const struct drbg_kat_no_reseed kat554_t = { + 13, kat554_entropyin, kat554_nonce, kat554_persstr, + kat554_addin0, kat554_addin1, kat554_retbits +}; +static const struct drbg_kat kat554 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat554_t +}; + +static const unsigned char kat555_entropyin[] = { + 0x8b, 0x08, 0x78, 0xd7, 0x33, 0xc8, 0xa4, 0x8a, 0x79, 0xfa, 0x67, 0x4d, + 0xfa, 0x88, 0x9b, 0x34, 0xfd, 0x05, 0x22, 0x01, 0x6d, 0x2f, 0x68, 0xfd, + 0xdd, 0x3d, 0xd0, 0x5f, 0x1a, 0xf7, 0x85, 0x06, +}; +static const unsigned char kat555_nonce[] = { + 0xf7, 0x72, 0x49, 0x63, 0x34, 0xfd, 0x93, 0xb4, 0x66, 0x47, 0x29, 0x7a, + 0xc4, 0x44, 0x62, 0x9c, +}; +static const unsigned char kat555_persstr[] = {0}; +static const unsigned char kat555_addin0[] = {0}; +static const unsigned char kat555_addin1[] = {0}; +static const unsigned char kat555_retbits[] = { + 0x91, 0x91, 0xc5, 0x97, 0x0a, 0x37, 0xfd, 0xd5, 0x71, 0x5a, 0x7c, 0x6a, + 0x09, 0xa7, 0xdd, 0xdb, 0xfb, 0xee, 0x8d, 0x37, 0xee, 0x45, 0xa0, 0x35, + 0xb3, 0x38, 0x23, 0xc6, 0xe8, 0x6f, 0xe0, 0xe2, 0xe2, 0xe5, 0x7f, 0xf7, + 0xd0, 0x8e, 0x0a, 0x4f, 0x39, 0xd8, 0x1c, 0x18, 0xb9, 0xb5, 0xfd, 0x48, + 0x7e, 0x84, 0xca, 0x95, 0xdf, 0x37, 0x2d, 0x36, 0xdc, 0xbf, 0xac, 0x68, + 0x2e, 0x04, 0x4b, 0x34, +}; +static const struct drbg_kat_no_reseed kat555_t = { + 14, kat555_entropyin, kat555_nonce, kat555_persstr, + kat555_addin0, kat555_addin1, kat555_retbits +}; +static const struct drbg_kat kat555 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat555_t +}; + +static const unsigned char kat556_entropyin[] = { + 0xd6, 0x74, 0x39, 0xab, 0xf1, 0xe1, 0x62, 0xe5, 0xb2, 0x59, 0x41, 0x60, + 0x5a, 0x8a, 0xeb, 0xa7, 0xd6, 0x86, 0xde, 0xc1, 0x33, 0x25, 0x7f, 0x6c, + 0x22, 0x0e, 0x1c, 0x59, 0x5e, 0x95, 0x4a, 0x07, +}; +static const unsigned char kat556_nonce[] = { + 0x69, 0xff, 0x33, 0x10, 0x14, 0x1d, 0xbf, 0x3e, 0xce, 0x40, 0x9a, 0xde, + 0x58, 0x74, 0x51, 0x13, +}; +static const unsigned char kat556_persstr[] = {0}; +static const unsigned char kat556_addin0[] = { + 0x03, 0xe7, 0x95, 0xbe, 0x83, 0x79, 0xc4, 0x81, 0xcb, 0x32, 0x53, 0x40, + 0x11, 0xca, 0x6b, 0xf5, 0x24, 0xdc, 0x75, 0x49, 0x78, 0xee, 0x5e, 0xbe, + 0xe4, 0x75, 0x12, 0x9a, 0xd3, 0x9e, 0xca, 0x98, +}; +static const unsigned char kat556_addin1[] = { + 0x56, 0x85, 0xc7, 0x33, 0x0f, 0x33, 0x00, 0x45, 0x15, 0xf8, 0xc0, 0xab, + 0x27, 0xf2, 0xa1, 0xcb, 0xe0, 0xc8, 0xa4, 0xa6, 0x80, 0x6d, 0x6c, 0x84, + 0x86, 0xe0, 0x21, 0x7b, 0x43, 0xe8, 0x59, 0xf2, +}; +static const unsigned char kat556_retbits[] = { + 0xa6, 0xd2, 0x2a, 0x43, 0x70, 0x25, 0x1c, 0x51, 0x97, 0x8f, 0xed, 0xc7, + 0xe7, 0x75, 0x3c, 0x78, 0x17, 0x9e, 0xd1, 0x94, 0x3d, 0x2f, 0xf1, 0xb5, + 0xa3, 0x74, 0x86, 0x01, 0x06, 0x04, 0x1a, 0x30, 0x4b, 0x12, 0x4d, 0x47, + 0xcf, 0xa3, 0x04, 0xc9, 0x09, 0xf7, 0xd4, 0x17, 0x84, 0x38, 0x46, 0xd5, + 0x2d, 0xcc, 0x7e, 0xbc, 0xf5, 0xc9, 0x3a, 0xfe, 0xf8, 0x85, 0xc8, 0x93, + 0xb4, 0x0c, 0x81, 0xed, +}; +static const struct drbg_kat_no_reseed kat556_t = { + 0, kat556_entropyin, kat556_nonce, kat556_persstr, + kat556_addin0, kat556_addin1, kat556_retbits +}; +static const struct drbg_kat kat556 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat556_t +}; + +static const unsigned char kat557_entropyin[] = { + 0x8f, 0x7c, 0x8c, 0xd0, 0xbc, 0xdf, 0xcc, 0xe6, 0x61, 0x4c, 0xc6, 0x51, + 0x1d, 0x51, 0x95, 0xad, 0xe6, 0xda, 0xd5, 0xf6, 0x1f, 0xef, 0x59, 0x88, + 0x6f, 0x24, 0x02, 0x12, 0x2e, 0x43, 0x0a, 0x8d, +}; +static const unsigned char kat557_nonce[] = { + 0x17, 0xd1, 0x41, 0x2b, 0x83, 0x44, 0x59, 0x9a, 0x39, 0xb9, 0x60, 0x76, + 0x1c, 0x6a, 0xc3, 0x9f, +}; +static const unsigned char kat557_persstr[] = {0}; +static const unsigned char kat557_addin0[] = { + 0xe5, 0x39, 0x59, 0x3c, 0xfc, 0xc7, 0x9e, 0xbd, 0x0a, 0x5e, 0x7b, 0xe3, + 0x24, 0x3e, 0x51, 0xa7, 0x7b, 0xf3, 0x81, 0x76, 0x90, 0xb2, 0xff, 0xc8, + 0x0c, 0xe5, 0xdc, 0x35, 0xf2, 0xb2, 0xd4, 0xb8, +}; +static const unsigned char kat557_addin1[] = { + 0xe6, 0xa2, 0x4e, 0x9f, 0x76, 0x24, 0xaf, 0xb3, 0xa5, 0x5d, 0x99, 0x74, + 0xf8, 0xcb, 0x1a, 0xdd, 0xc4, 0x43, 0x2f, 0xdf, 0xea, 0xc7, 0xc3, 0x5a, + 0x61, 0x61, 0x11, 0x58, 0x1c, 0xd1, 0x9b, 0x2f, +}; +static const unsigned char kat557_retbits[] = { + 0x5f, 0xc2, 0x07, 0x36, 0xda, 0x9c, 0xf5, 0xa8, 0x10, 0x36, 0x4b, 0x6a, + 0xca, 0x24, 0xed, 0xf7, 0x58, 0xbd, 0x20, 0xeb, 0xd3, 0x31, 0x73, 0xdb, + 0x87, 0x4b, 0x64, 0x1b, 0x84, 0x70, 0xab, 0x9a, 0x8a, 0x63, 0x3d, 0x12, + 0x38, 0xba, 0x99, 0x01, 0x03, 0x95, 0x6c, 0x0f, 0x5e, 0x2b, 0x28, 0x4f, + 0x3b, 0x47, 0x3c, 0x28, 0xd0, 0x05, 0x5d, 0x7e, 0x9b, 0xec, 0x0b, 0x83, + 0x90, 0x88, 0x91, 0x7a, +}; +static const struct drbg_kat_no_reseed kat557_t = { + 1, kat557_entropyin, kat557_nonce, kat557_persstr, + kat557_addin0, kat557_addin1, kat557_retbits +}; +static const struct drbg_kat kat557 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat557_t +}; + +static const unsigned char kat558_entropyin[] = { + 0xd3, 0x00, 0x5b, 0x86, 0x84, 0x6d, 0x8b, 0x45, 0x9e, 0xd9, 0x10, 0x52, + 0x18, 0xa1, 0x78, 0x7c, 0x1d, 0x80, 0x01, 0x20, 0x53, 0xca, 0xa3, 0x8a, + 0xde, 0x19, 0x6b, 0xff, 0x82, 0x73, 0xc8, 0x93, +}; +static const unsigned char kat558_nonce[] = { + 0x3a, 0x68, 0x9f, 0x93, 0x0c, 0xd4, 0xc5, 0x38, 0x62, 0xc6, 0x81, 0x91, + 0xb5, 0xad, 0xbf, 0x14, +}; +static const unsigned char kat558_persstr[] = {0}; +static const unsigned char kat558_addin0[] = { + 0x70, 0xc4, 0xbb, 0xeb, 0x4f, 0x7f, 0x52, 0x7d, 0xf7, 0xe0, 0xad, 0x69, + 0x85, 0x1b, 0x66, 0x40, 0x8b, 0x21, 0x54, 0xe7, 0xa2, 0x6f, 0xa5, 0x42, + 0xd9, 0x2f, 0x0e, 0x5b, 0x1a, 0x96, 0x95, 0x75, +}; +static const unsigned char kat558_addin1[] = { + 0x86, 0x05, 0x72, 0xf8, 0x81, 0xd5, 0xa9, 0x7c, 0xd7, 0xc9, 0xc8, 0xee, + 0x39, 0xe4, 0xfe, 0xfb, 0x67, 0xb9, 0x14, 0x7d, 0x37, 0xfe, 0xa5, 0xa6, + 0x4f, 0x58, 0xcd, 0x2e, 0x7a, 0xb6, 0x83, 0x84, +}; +static const unsigned char kat558_retbits[] = { + 0x4d, 0x8b, 0x57, 0x8e, 0x27, 0xad, 0x27, 0xde, 0x26, 0x4c, 0x63, 0xc3, + 0xd2, 0xf8, 0x71, 0x3d, 0x58, 0x02, 0x2c, 0x54, 0x14, 0x99, 0x33, 0x51, + 0x10, 0xa2, 0x80, 0x99, 0x0b, 0xb0, 0xb3, 0xd3, 0x8a, 0x13, 0x94, 0x3c, + 0xfa, 0xbb, 0x7a, 0x6b, 0xfd, 0xc2, 0xdb, 0x2c, 0x05, 0x09, 0x09, 0x89, + 0x89, 0xe1, 0x31, 0xc8, 0x9a, 0x76, 0x22, 0x23, 0x5b, 0x76, 0x9e, 0xcc, + 0x2c, 0x50, 0x9d, 0xd4, +}; +static const struct drbg_kat_no_reseed kat558_t = { + 2, kat558_entropyin, kat558_nonce, kat558_persstr, + kat558_addin0, kat558_addin1, kat558_retbits +}; +static const struct drbg_kat kat558 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat558_t +}; + +static const unsigned char kat559_entropyin[] = { + 0x0b, 0x99, 0x25, 0xbf, 0xf6, 0x8f, 0x29, 0x84, 0x3c, 0x8a, 0x05, 0xc6, + 0x95, 0xde, 0x37, 0x8b, 0x37, 0x0e, 0x8d, 0xc9, 0xa6, 0xdd, 0xe3, 0x3f, + 0xe8, 0x61, 0x52, 0xfa, 0x58, 0x7a, 0xf1, 0xf1, +}; +static const unsigned char kat559_nonce[] = { + 0xb4, 0x38, 0x5b, 0x66, 0x09, 0x6b, 0x2d, 0x2d, 0x0d, 0xac, 0x68, 0x9d, + 0x04, 0x3c, 0x60, 0x91, +}; +static const unsigned char kat559_persstr[] = {0}; +static const unsigned char kat559_addin0[] = { + 0xb8, 0x0b, 0xd9, 0x34, 0xcc, 0x3e, 0x73, 0xea, 0x85, 0xac, 0x4a, 0x7f, + 0xb5, 0x19, 0x0d, 0x1f, 0xa2, 0x98, 0x8d, 0x29, 0xaf, 0xb3, 0xa3, 0x08, + 0xc9, 0x22, 0x05, 0xc0, 0xb7, 0x45, 0xb0, 0x70, +}; +static const unsigned char kat559_addin1[] = { + 0x4d, 0xaf, 0xcb, 0x75, 0x28, 0x23, 0x20, 0x34, 0xd2, 0x61, 0x70, 0x63, + 0x61, 0xcc, 0x87, 0x67, 0x18, 0x75, 0xee, 0x67, 0xac, 0xe9, 0x6c, 0xad, + 0x09, 0x9b, 0x12, 0x66, 0xa7, 0x5c, 0xb7, 0x28, +}; +static const unsigned char kat559_retbits[] = { + 0x5b, 0x56, 0x1f, 0x9f, 0xa2, 0x60, 0x2b, 0x55, 0x3b, 0xc3, 0xd4, 0xc9, + 0x00, 0x1f, 0x8b, 0x4d, 0x98, 0x59, 0x1c, 0x8d, 0x81, 0x33, 0x66, 0xa7, + 0x92, 0x06, 0xeb, 0x3d, 0x7e, 0x92, 0xb4, 0x1c, 0x34, 0xae, 0xf3, 0x23, + 0x80, 0xd7, 0x9d, 0x4f, 0x7d, 0xf6, 0x73, 0x56, 0x96, 0xf1, 0x47, 0xce, + 0x56, 0x90, 0xc3, 0xc5, 0x67, 0x6d, 0xfd, 0xd2, 0x0a, 0xee, 0x3b, 0x4f, + 0xc9, 0x55, 0x9e, 0x17, +}; +static const struct drbg_kat_no_reseed kat559_t = { + 3, kat559_entropyin, kat559_nonce, kat559_persstr, + kat559_addin0, kat559_addin1, kat559_retbits +}; +static const struct drbg_kat kat559 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat559_t +}; + +static const unsigned char kat560_entropyin[] = { + 0xb7, 0xc3, 0x22, 0xf8, 0x12, 0xcd, 0xd3, 0xc1, 0x86, 0xdc, 0x9d, 0xd5, + 0x89, 0xf8, 0x7d, 0x46, 0x9f, 0x64, 0xe5, 0xed, 0x80, 0xa0, 0x4e, 0x41, + 0x44, 0x18, 0xe2, 0x64, 0x00, 0x86, 0x48, 0xc1, +}; +static const unsigned char kat560_nonce[] = { + 0x8b, 0x66, 0x9f, 0xc0, 0xe3, 0xac, 0xb7, 0x94, 0x90, 0x41, 0x00, 0x5a, + 0x27, 0xfc, 0x14, 0x45, +}; +static const unsigned char kat560_persstr[] = {0}; +static const unsigned char kat560_addin0[] = { + 0xde, 0x10, 0x1f, 0xca, 0xf1, 0xc3, 0xbf, 0x36, 0x8e, 0x70, 0x40, 0xd3, + 0x9d, 0x57, 0x66, 0x5c, 0x83, 0x5c, 0x40, 0x92, 0x7c, 0xa8, 0x63, 0xd7, + 0x0f, 0x74, 0x34, 0x1c, 0x1a, 0x11, 0x3b, 0x68, +}; +static const unsigned char kat560_addin1[] = { + 0x7f, 0xed, 0xdb, 0x0e, 0x87, 0x86, 0x4d, 0x35, 0x87, 0x94, 0x66, 0xda, + 0xc2, 0x32, 0xeb, 0x86, 0xfa, 0xc0, 0xc4, 0xfd, 0x74, 0x58, 0x51, 0x26, + 0x1a, 0x63, 0x55, 0xd3, 0x6e, 0x01, 0x80, 0x05, +}; +static const unsigned char kat560_retbits[] = { + 0xf7, 0x91, 0x66, 0xbc, 0x53, 0xf7, 0x3b, 0xdf, 0x87, 0x3d, 0x76, 0xba, + 0x81, 0xe1, 0xeb, 0x62, 0x97, 0x03, 0x27, 0xc8, 0xe6, 0xfa, 0xc1, 0x0d, + 0xc2, 0x36, 0x67, 0xb9, 0xda, 0x74, 0xec, 0x58, 0x30, 0xf5, 0x50, 0x25, + 0xd9, 0x52, 0xea, 0xac, 0x65, 0xdd, 0x3b, 0x52, 0xc1, 0x51, 0x7c, 0x79, + 0xb0, 0x55, 0x9a, 0x39, 0xc5, 0x4d, 0x30, 0xc9, 0x7c, 0xce, 0x83, 0x2c, + 0x1b, 0xdd, 0xe4, 0xf2, +}; +static const struct drbg_kat_no_reseed kat560_t = { + 4, kat560_entropyin, kat560_nonce, kat560_persstr, + kat560_addin0, kat560_addin1, kat560_retbits +}; +static const struct drbg_kat kat560 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat560_t +}; + +static const unsigned char kat561_entropyin[] = { + 0xda, 0xba, 0x89, 0xb6, 0x2a, 0x44, 0x75, 0xe8, 0xc2, 0x21, 0x40, 0x52, + 0xd2, 0x04, 0xc1, 0xff, 0xd2, 0x48, 0xe0, 0xc3, 0x00, 0x8a, 0x0b, 0xd1, + 0x23, 0x83, 0x0d, 0xb5, 0x02, 0x3e, 0x53, 0xc2, +}; +static const unsigned char kat561_nonce[] = { + 0x77, 0xfc, 0x74, 0x10, 0x14, 0xe5, 0x14, 0x24, 0x30, 0x58, 0xd3, 0xa2, + 0xcf, 0x03, 0x63, 0x74, +}; +static const unsigned char kat561_persstr[] = {0}; +static const unsigned char kat561_addin0[] = { + 0xaa, 0x93, 0x2a, 0x71, 0xbb, 0xbd, 0x86, 0xb3, 0xf3, 0xa7, 0x02, 0xfa, + 0x38, 0x4d, 0x49, 0x06, 0x1f, 0x31, 0xc2, 0x5e, 0x80, 0x9d, 0xd9, 0xa0, + 0x30, 0x34, 0xac, 0x3c, 0xdf, 0x6b, 0x2e, 0xf2, +}; +static const unsigned char kat561_addin1[] = { + 0x92, 0x62, 0xca, 0xaf, 0xb3, 0x38, 0x3f, 0xaf, 0x78, 0xd9, 0xb0, 0x44, + 0x0f, 0x0c, 0x5b, 0xe2, 0x8e, 0x26, 0x0f, 0x3d, 0xb7, 0x77, 0x28, 0xd7, + 0xfc, 0xa6, 0x79, 0x98, 0x4c, 0xc3, 0x8d, 0xdf, +}; +static const unsigned char kat561_retbits[] = { + 0x78, 0x4c, 0x8d, 0x58, 0x81, 0x34, 0x9a, 0x13, 0xbc, 0x1a, 0x38, 0xed, + 0xac, 0x6e, 0x8f, 0xe7, 0xdc, 0x3a, 0x3b, 0x66, 0x2b, 0x40, 0xb7, 0x40, + 0xeb, 0xe8, 0xc8, 0x9d, 0x14, 0x4c, 0xca, 0xb3, 0x19, 0xb4, 0xcd, 0x90, + 0x82, 0x0d, 0xd3, 0xf5, 0xec, 0xc3, 0x10, 0x0c, 0x9f, 0x72, 0x87, 0x8d, + 0x5e, 0xeb, 0x21, 0xf4, 0x62, 0x34, 0xf4, 0x09, 0x4b, 0x71, 0xb8, 0xb3, + 0x42, 0x85, 0xc5, 0x50, +}; +static const struct drbg_kat_no_reseed kat561_t = { + 5, kat561_entropyin, kat561_nonce, kat561_persstr, + kat561_addin0, kat561_addin1, kat561_retbits +}; +static const struct drbg_kat kat561 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat561_t +}; + +static const unsigned char kat562_entropyin[] = { + 0x8f, 0x7c, 0x64, 0x0c, 0xa1, 0x5c, 0x75, 0x84, 0x04, 0x46, 0xd4, 0x42, + 0xf4, 0x13, 0xbb, 0xfe, 0xaf, 0xb4, 0xc2, 0xb8, 0x87, 0x5f, 0x7f, 0x1b, + 0xfd, 0x16, 0x12, 0x2b, 0x81, 0xe1, 0xac, 0x1f, +}; +static const unsigned char kat562_nonce[] = { + 0x69, 0x60, 0x13, 0xa4, 0xc7, 0xe7, 0xc7, 0x24, 0xa4, 0x07, 0x23, 0xb5, + 0x55, 0x7b, 0x00, 0x56, +}; +static const unsigned char kat562_persstr[] = {0}; +static const unsigned char kat562_addin0[] = { + 0xb7, 0xd2, 0x57, 0x70, 0xe0, 0xb2, 0xbd, 0x1b, 0x6a, 0x82, 0x20, 0xf8, + 0x6b, 0x3d, 0x75, 0x9d, 0x20, 0xd8, 0x50, 0x89, 0x80, 0xcf, 0x59, 0x1f, + 0x44, 0x3d, 0xde, 0x3a, 0xcd, 0x3e, 0xf6, 0x48, +}; +static const unsigned char kat562_addin1[] = { + 0xbc, 0x08, 0xf8, 0x46, 0x21, 0xaf, 0xb6, 0xa7, 0xd3, 0x31, 0xa0, 0x1b, + 0xfc, 0x57, 0x16, 0xa3, 0x1b, 0xcc, 0xcf, 0x05, 0xa7, 0x8e, 0x69, 0x6d, + 0xc7, 0x68, 0x9b, 0x98, 0x53, 0x89, 0xe1, 0x2b, +}; +static const unsigned char kat562_retbits[] = { + 0xd4, 0x86, 0xcb, 0xac, 0x79, 0x4e, 0xc9, 0xc6, 0xb2, 0xac, 0xc6, 0xaa, + 0xdb, 0x93, 0xe3, 0x2b, 0x30, 0xb2, 0x7e, 0xa3, 0x72, 0x1f, 0xb6, 0x14, + 0xe8, 0x23, 0x47, 0xef, 0xf4, 0x61, 0x64, 0x9c, 0xb8, 0xd0, 0xf6, 0xb4, + 0x3a, 0x39, 0xb2, 0xe5, 0xf6, 0xf4, 0x03, 0xff, 0x4a, 0xfe, 0xfd, 0x90, + 0xad, 0xba, 0x5e, 0x96, 0x16, 0x4a, 0xc7, 0x3b, 0x27, 0xd8, 0xae, 0x20, + 0x98, 0xe6, 0x32, 0xcb, +}; +static const struct drbg_kat_no_reseed kat562_t = { + 6, kat562_entropyin, kat562_nonce, kat562_persstr, + kat562_addin0, kat562_addin1, kat562_retbits +}; +static const struct drbg_kat kat562 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat562_t +}; + +static const unsigned char kat563_entropyin[] = { + 0xb8, 0xbe, 0xd1, 0x95, 0x21, 0xf6, 0xd2, 0x47, 0x1b, 0x76, 0x14, 0x37, + 0xf1, 0x0c, 0x9d, 0xb9, 0xaf, 0x2a, 0xc3, 0x03, 0x21, 0x27, 0xdc, 0x5e, + 0xb3, 0x8e, 0x15, 0x71, 0x82, 0xe2, 0xe2, 0x5e, +}; +static const unsigned char kat563_nonce[] = { + 0xe0, 0x0b, 0x1b, 0x87, 0x12, 0xb2, 0x19, 0xb7, 0x84, 0x44, 0xa3, 0xfc, + 0xab, 0xdd, 0x0f, 0x68, +}; +static const unsigned char kat563_persstr[] = {0}; +static const unsigned char kat563_addin0[] = { + 0xed, 0x74, 0x4e, 0x78, 0x61, 0x75, 0x9e, 0x33, 0x7e, 0x0d, 0x8d, 0xb5, + 0xed, 0xa6, 0xf6, 0x6c, 0xb1, 0x42, 0x40, 0xd1, 0xff, 0x7a, 0x86, 0xf9, + 0x0c, 0x96, 0xdf, 0xa2, 0xf4, 0xce, 0x85, 0xf9, +}; +static const unsigned char kat563_addin1[] = { + 0x90, 0xf3, 0xb8, 0x92, 0x0d, 0xbd, 0xbd, 0x8f, 0xf6, 0xc6, 0x60, 0x1b, + 0x57, 0xa5, 0xfc, 0x90, 0xaa, 0x13, 0xbb, 0xa9, 0x88, 0x43, 0xdc, 0x51, + 0x43, 0xc0, 0x18, 0x2d, 0xdc, 0x23, 0x1d, 0xfb, +}; +static const unsigned char kat563_retbits[] = { + 0x33, 0x10, 0xbe, 0x30, 0x08, 0x80, 0x29, 0xe1, 0x35, 0x24, 0xea, 0x9e, + 0x8d, 0x6b, 0xd9, 0xef, 0xaa, 0x72, 0xd1, 0xc5, 0x8d, 0x4f, 0x9d, 0x7e, + 0x98, 0x53, 0x50, 0x8b, 0xa1, 0x63, 0xb9, 0x06, 0xc4, 0x58, 0x02, 0x0b, + 0xe3, 0xcb, 0x7c, 0x5f, 0x3a, 0x2f, 0xa8, 0x89, 0x53, 0xf1, 0x27, 0xe7, + 0xe1, 0x17, 0xc1, 0xf3, 0x89, 0x47, 0xa6, 0x68, 0x0b, 0x53, 0xd2, 0x8d, + 0x56, 0x5a, 0x3d, 0xdf, +}; +static const struct drbg_kat_no_reseed kat563_t = { + 7, kat563_entropyin, kat563_nonce, kat563_persstr, + kat563_addin0, kat563_addin1, kat563_retbits +}; +static const struct drbg_kat kat563 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat563_t +}; + +static const unsigned char kat564_entropyin[] = { + 0x01, 0x42, 0x76, 0xad, 0x54, 0x57, 0x97, 0x88, 0xdf, 0xda, 0xf1, 0x2f, + 0x2d, 0xf1, 0x88, 0xff, 0xef, 0xab, 0xd3, 0x51, 0x64, 0xf3, 0x1c, 0xc8, + 0x73, 0xc6, 0xd3, 0x91, 0x49, 0x6e, 0x09, 0xee, +}; +static const unsigned char kat564_nonce[] = { + 0x46, 0x62, 0xec, 0x7d, 0x07, 0xbf, 0x4f, 0xf1, 0x0b, 0xcd, 0x0c, 0x83, + 0x41, 0x06, 0xe1, 0x79, +}; +static const unsigned char kat564_persstr[] = {0}; +static const unsigned char kat564_addin0[] = { + 0xe6, 0x6f, 0x96, 0x0f, 0x9a, 0x89, 0x3d, 0x39, 0xd1, 0x1c, 0x04, 0x26, + 0xbc, 0x9e, 0x7e, 0x1f, 0x6f, 0x07, 0x50, 0x55, 0x7a, 0x69, 0x69, 0xe4, + 0x45, 0xce, 0xbb, 0x47, 0xd2, 0xf5, 0xd4, 0x27, +}; +static const unsigned char kat564_addin1[] = { + 0x6b, 0x39, 0xf4, 0x5b, 0xbb, 0x78, 0x5c, 0xa9, 0xec, 0x23, 0x30, 0x3f, + 0xbc, 0xe7, 0x09, 0x3a, 0x26, 0xfb, 0x87, 0x9b, 0x13, 0xfa, 0xdd, 0x92, + 0x7d, 0xc9, 0x50, 0x19, 0xb8, 0xa2, 0x5c, 0xb5, +}; +static const unsigned char kat564_retbits[] = { + 0xdd, 0xa5, 0x11, 0x8a, 0xe2, 0x34, 0xe6, 0xae, 0xb5, 0xcf, 0x63, 0x4e, + 0x57, 0xa3, 0xa3, 0xce, 0x76, 0x81, 0xbd, 0x80, 0x36, 0x90, 0xf8, 0xd6, + 0x88, 0x86, 0xba, 0x52, 0x26, 0xfb, 0x40, 0x18, 0x26, 0x44, 0xa6, 0x43, + 0xa5, 0x54, 0xcc, 0x58, 0x6d, 0x9c, 0xcd, 0x14, 0x8a, 0x75, 0x24, 0x01, + 0x42, 0xcd, 0x8f, 0x62, 0xeb, 0xe8, 0x74, 0x7b, 0x4b, 0xe6, 0xe7, 0x53, + 0x23, 0x58, 0x20, 0x06, +}; +static const struct drbg_kat_no_reseed kat564_t = { + 8, kat564_entropyin, kat564_nonce, kat564_persstr, + kat564_addin0, kat564_addin1, kat564_retbits +}; +static const struct drbg_kat kat564 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat564_t +}; + +static const unsigned char kat565_entropyin[] = { + 0xcf, 0xfc, 0xfb, 0xed, 0xb3, 0x5f, 0xf5, 0xbf, 0x3c, 0x79, 0x6d, 0x1a, + 0xb9, 0x4a, 0x8a, 0xe1, 0xb9, 0x35, 0xad, 0xdf, 0x6f, 0xdd, 0x8b, 0xe0, + 0x00, 0xae, 0x30, 0x99, 0xda, 0xea, 0x7b, 0xd4, +}; +static const unsigned char kat565_nonce[] = { + 0x1f, 0x7e, 0xc8, 0x65, 0x8f, 0x17, 0xe6, 0x4d, 0x1e, 0xd1, 0xb4, 0x98, + 0x15, 0xef, 0x9b, 0xef, +}; +static const unsigned char kat565_persstr[] = {0}; +static const unsigned char kat565_addin0[] = { + 0x8d, 0x44, 0xea, 0xe3, 0x90, 0x8e, 0x4a, 0xd5, 0x3f, 0xc0, 0xfa, 0xb4, + 0x17, 0x99, 0xbb, 0x03, 0x56, 0xb3, 0xdd, 0xd4, 0x73, 0xfd, 0xe4, 0x29, + 0xaf, 0x21, 0xd7, 0xe0, 0x4b, 0x42, 0x6b, 0x80, +}; +static const unsigned char kat565_addin1[] = { + 0x9e, 0x3f, 0x82, 0x8e, 0x8d, 0xdf, 0x07, 0xce, 0xb5, 0x8f, 0xe8, 0xf1, + 0x69, 0x7d, 0xae, 0xc6, 0x66, 0xb9, 0xe2, 0x50, 0xfa, 0x5a, 0x83, 0x6f, + 0xfd, 0x18, 0xee, 0x17, 0x36, 0x50, 0xe7, 0x2c, +}; +static const unsigned char kat565_retbits[] = { + 0x10, 0x01, 0x62, 0xaa, 0x41, 0x80, 0xc5, 0xe5, 0xa1, 0x8c, 0x51, 0xbf, + 0x7d, 0x2b, 0x78, 0xca, 0x94, 0x4c, 0x70, 0xe6, 0x2b, 0xde, 0xa5, 0x54, + 0x83, 0x7a, 0x86, 0x81, 0x35, 0xcc, 0xbe, 0x1b, 0x79, 0xbe, 0xbd, 0xfa, + 0xe4, 0x09, 0x22, 0x1f, 0x43, 0x8d, 0xf7, 0x28, 0x33, 0xb8, 0xdd, 0x9d, + 0x17, 0xdc, 0xbe, 0x06, 0xef, 0x8d, 0x19, 0x01, 0x01, 0x27, 0x31, 0xc7, + 0xbe, 0x12, 0xfc, 0x53, +}; +static const struct drbg_kat_no_reseed kat565_t = { + 9, kat565_entropyin, kat565_nonce, kat565_persstr, + kat565_addin0, kat565_addin1, kat565_retbits +}; +static const struct drbg_kat kat565 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat565_t +}; + +static const unsigned char kat566_entropyin[] = { + 0xdb, 0x31, 0xef, 0x9d, 0xd1, 0x26, 0x6c, 0x60, 0xea, 0xaf, 0xbe, 0xca, + 0x54, 0x2f, 0x52, 0xb4, 0xfd, 0x98, 0x9b, 0x4b, 0x43, 0x69, 0x35, 0xea, + 0x65, 0xeb, 0xc6, 0x25, 0x54, 0xbe, 0x96, 0x2c, +}; +static const unsigned char kat566_nonce[] = { + 0xd0, 0x3a, 0x8b, 0xa0, 0x34, 0x85, 0x2b, 0x4f, 0x96, 0x25, 0x0b, 0xdd, + 0x89, 0xf3, 0x68, 0x02, +}; +static const unsigned char kat566_persstr[] = {0}; +static const unsigned char kat566_addin0[] = { + 0x62, 0xeb, 0xe7, 0x71, 0x5a, 0x7d, 0xdc, 0x82, 0x0e, 0x44, 0xab, 0x31, + 0x37, 0x67, 0x77, 0x6f, 0x87, 0x85, 0xb1, 0x81, 0x42, 0x6f, 0xbf, 0x49, + 0x3e, 0x7c, 0xbc, 0xce, 0x13, 0x60, 0xfd, 0x23, +}; +static const unsigned char kat566_addin1[] = { + 0x05, 0x28, 0xb6, 0x90, 0x41, 0xc4, 0xe5, 0xea, 0xda, 0xb6, 0x18, 0xa9, + 0x29, 0xf1, 0x76, 0xf7, 0x7c, 0x34, 0x5b, 0x6d, 0x89, 0xae, 0xe9, 0xaa, + 0x95, 0x5c, 0x5a, 0x8c, 0xa8, 0xfc, 0x8b, 0x92, +}; +static const unsigned char kat566_retbits[] = { + 0x01, 0x7c, 0xf4, 0xff, 0x68, 0x6d, 0xf4, 0xc0, 0x6f, 0xbb, 0xc0, 0xbe, + 0x97, 0x89, 0xb8, 0x28, 0xf1, 0x5b, 0xe5, 0x4a, 0xaf, 0xba, 0x72, 0x87, + 0xb4, 0x39, 0x1e, 0x9e, 0xc7, 0xb7, 0xd0, 0x02, 0x5d, 0xb0, 0x12, 0xdf, + 0x4b, 0xb3, 0x5c, 0x74, 0x06, 0x16, 0x77, 0x20, 0x7a, 0x7d, 0x7a, 0x06, + 0x1e, 0xf1, 0x23, 0x89, 0x3e, 0xa4, 0xd7, 0xc8, 0x22, 0x0e, 0xca, 0xca, + 0xd5, 0x68, 0x48, 0xb1, +}; +static const struct drbg_kat_no_reseed kat566_t = { + 10, kat566_entropyin, kat566_nonce, kat566_persstr, + kat566_addin0, kat566_addin1, kat566_retbits +}; +static const struct drbg_kat kat566 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat566_t +}; + +static const unsigned char kat567_entropyin[] = { + 0x06, 0xb2, 0x6d, 0x4f, 0xfa, 0xb4, 0xa8, 0x61, 0x14, 0x14, 0xc8, 0xfd, + 0xe8, 0x7e, 0x51, 0x69, 0x2f, 0xfe, 0x50, 0x78, 0x83, 0x4b, 0x51, 0x98, + 0x19, 0x3d, 0xf7, 0xf9, 0x8f, 0x1c, 0x52, 0x61, +}; +static const unsigned char kat567_nonce[] = { + 0xde, 0x49, 0xf9, 0xfa, 0xba, 0xea, 0x3f, 0x8d, 0xd1, 0xec, 0x58, 0x1c, + 0x71, 0xd5, 0xc1, 0xda, +}; +static const unsigned char kat567_persstr[] = {0}; +static const unsigned char kat567_addin0[] = { + 0x6b, 0xba, 0x85, 0xa3, 0xf3, 0x93, 0x86, 0x5a, 0x6a, 0x7b, 0x73, 0x39, + 0x16, 0xc2, 0x8a, 0xe3, 0x9b, 0xa4, 0x03, 0xa0, 0x34, 0x8a, 0x2d, 0x3b, + 0x7a, 0x33, 0xfd, 0xf8, 0x19, 0x57, 0x1b, 0xf9, +}; +static const unsigned char kat567_addin1[] = { + 0xc3, 0x2f, 0xd2, 0x84, 0xc4, 0x3a, 0xa0, 0x72, 0xeb, 0x72, 0xa7, 0xe4, + 0x7f, 0x40, 0x8a, 0x87, 0x7a, 0xe4, 0x0e, 0x12, 0x09, 0xd1, 0x12, 0xc9, + 0x9d, 0x45, 0x7e, 0x7f, 0x96, 0x53, 0xcb, 0x86, +}; +static const unsigned char kat567_retbits[] = { + 0x1f, 0x0f, 0x54, 0x04, 0xf5, 0x1d, 0x48, 0xc3, 0xf3, 0x62, 0x3b, 0x93, + 0x84, 0x32, 0xf7, 0xdd, 0x42, 0x49, 0x64, 0x9f, 0x61, 0xb6, 0xf1, 0x03, + 0xc2, 0xfd, 0x8b, 0x30, 0xdb, 0xf5, 0xb4, 0xea, 0x95, 0x7b, 0x5d, 0xe0, + 0x96, 0xac, 0x47, 0xcb, 0x10, 0x7e, 0x52, 0x2d, 0xf0, 0x13, 0x80, 0x76, + 0x34, 0x2d, 0x6c, 0x2e, 0xa0, 0x8e, 0xcc, 0x2b, 0x48, 0x1c, 0x3e, 0x73, + 0xef, 0x48, 0xa0, 0x46, +}; +static const struct drbg_kat_no_reseed kat567_t = { + 11, kat567_entropyin, kat567_nonce, kat567_persstr, + kat567_addin0, kat567_addin1, kat567_retbits +}; +static const struct drbg_kat kat567 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat567_t +}; + +static const unsigned char kat568_entropyin[] = { + 0x21, 0xbe, 0x14, 0x42, 0xe6, 0x89, 0x53, 0xaf, 0x26, 0x56, 0xec, 0x3a, + 0xdb, 0xa3, 0xa6, 0x5a, 0x7b, 0x45, 0x9b, 0x7a, 0xb4, 0xe7, 0x9c, 0x77, + 0x5a, 0xd2, 0x54, 0x4c, 0xe9, 0xa4, 0xf8, 0xb5, +}; +static const unsigned char kat568_nonce[] = { + 0xb6, 0x22, 0x1e, 0x28, 0x2e, 0x81, 0xf3, 0x10, 0xa6, 0xa2, 0xef, 0xba, + 0x73, 0xb0, 0x49, 0x0b, +}; +static const unsigned char kat568_persstr[] = {0}; +static const unsigned char kat568_addin0[] = { + 0xf2, 0x76, 0xb8, 0xae, 0x6e, 0xa4, 0xd9, 0x9b, 0x27, 0xee, 0x89, 0x19, + 0x35, 0x30, 0x0f, 0x30, 0x9a, 0x7e, 0x6f, 0x15, 0x4f, 0x5a, 0xc6, 0xee, + 0x27, 0x38, 0x83, 0xca, 0x53, 0x57, 0xba, 0x6f, +}; +static const unsigned char kat568_addin1[] = { + 0x93, 0x26, 0x8a, 0x42, 0x42, 0x6c, 0xc3, 0x10, 0xee, 0x18, 0x76, 0x7d, + 0x96, 0x63, 0x26, 0x9f, 0x5e, 0x1c, 0x46, 0xb9, 0x6c, 0x6b, 0x17, 0xb2, + 0xf8, 0xbd, 0x6e, 0xce, 0xc3, 0x43, 0x5e, 0x42, +}; +static const unsigned char kat568_retbits[] = { + 0x45, 0xe8, 0x5e, 0xe0, 0x30, 0x0a, 0x94, 0x62, 0x01, 0x6c, 0x4b, 0x7d, + 0x4b, 0x16, 0x19, 0xc7, 0x6d, 0x4a, 0xa9, 0x42, 0x2b, 0x5c, 0x45, 0xcf, + 0xac, 0xad, 0xae, 0x24, 0xb9, 0x34, 0xba, 0x19, 0x0f, 0x76, 0xa8, 0xa4, + 0x55, 0x1a, 0x23, 0xe8, 0xe1, 0x44, 0x73, 0xde, 0xd8, 0xf7, 0x9b, 0xdf, + 0x91, 0xb4, 0xfe, 0x0c, 0xe1, 0x63, 0x92, 0x8a, 0xf2, 0xc1, 0xea, 0xdf, + 0xc9, 0x6d, 0x30, 0x1c, +}; +static const struct drbg_kat_no_reseed kat568_t = { + 12, kat568_entropyin, kat568_nonce, kat568_persstr, + kat568_addin0, kat568_addin1, kat568_retbits +}; +static const struct drbg_kat kat568 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat568_t +}; + +static const unsigned char kat569_entropyin[] = { + 0xdf, 0xf8, 0xc1, 0x4a, 0x61, 0x19, 0x28, 0x12, 0x76, 0xe7, 0x1c, 0x91, + 0xd6, 0x6d, 0x97, 0xe2, 0x9a, 0x14, 0x1e, 0x06, 0x53, 0x7e, 0xaf, 0x6c, + 0x2f, 0xeb, 0xd8, 0x23, 0x49, 0x3b, 0x7e, 0x3f, +}; +static const unsigned char kat569_nonce[] = { + 0x1e, 0x98, 0x17, 0x4e, 0xdb, 0x22, 0x8d, 0x55, 0xcd, 0x4f, 0x58, 0x04, + 0x27, 0xac, 0xb3, 0x7a, +}; +static const unsigned char kat569_persstr[] = {0}; +static const unsigned char kat569_addin0[] = { + 0xf1, 0x7f, 0x9d, 0xdc, 0x60, 0xc6, 0x3f, 0xa8, 0x04, 0x36, 0x04, 0x1e, + 0x5a, 0x21, 0x19, 0x7e, 0x5e, 0x37, 0x8e, 0xcf, 0x70, 0xc7, 0xee, 0x39, + 0x2b, 0xd6, 0xf8, 0x92, 0x9d, 0xf1, 0xee, 0xef, +}; +static const unsigned char kat569_addin1[] = { + 0x13, 0x90, 0xbb, 0x27, 0x69, 0x29, 0x27, 0x2a, 0x99, 0x42, 0xf2, 0x94, + 0xd5, 0xcb, 0x64, 0xd6, 0x32, 0x2c, 0x1c, 0xdc, 0x9a, 0x6f, 0x87, 0xf1, + 0xbd, 0x4e, 0x9a, 0xd7, 0xba, 0x6d, 0x82, 0x9c, +}; +static const unsigned char kat569_retbits[] = { + 0xc1, 0xad, 0xc5, 0x14, 0x5d, 0xb9, 0xb5, 0xeb, 0x35, 0x92, 0x0a, 0x94, + 0xb7, 0x63, 0x2e, 0x50, 0x30, 0xe7, 0xfa, 0x38, 0x10, 0x30, 0x01, 0x17, + 0xa9, 0x36, 0xb8, 0x87, 0xb8, 0xbb, 0xfb, 0x0c, 0x51, 0x16, 0x9e, 0x70, + 0xf2, 0x6c, 0x0b, 0xf8, 0x79, 0x83, 0x85, 0xbc, 0xcd, 0xd7, 0xbe, 0x4f, + 0x7c, 0x53, 0xb3, 0xbb, 0xf9, 0x7a, 0x65, 0xb1, 0x6c, 0xcf, 0xfc, 0xb1, + 0xd5, 0x2e, 0xbd, 0x14, +}; +static const struct drbg_kat_no_reseed kat569_t = { + 13, kat569_entropyin, kat569_nonce, kat569_persstr, + kat569_addin0, kat569_addin1, kat569_retbits +}; +static const struct drbg_kat kat569 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat569_t +}; + +static const unsigned char kat570_entropyin[] = { + 0xe8, 0xd1, 0xca, 0x5d, 0xba, 0xec, 0x67, 0x47, 0x22, 0x36, 0x9d, 0x32, + 0x21, 0xa3, 0xdc, 0xf2, 0x68, 0x1f, 0xb3, 0x70, 0x06, 0x1e, 0x48, 0x88, + 0x27, 0xa0, 0x07, 0x90, 0xab, 0xbb, 0x40, 0x80, +}; +static const unsigned char kat570_nonce[] = { + 0xe5, 0xe6, 0x14, 0x4b, 0xda, 0x93, 0x75, 0x29, 0x89, 0xc5, 0x4a, 0x70, + 0x20, 0x81, 0xaf, 0x08, +}; +static const unsigned char kat570_persstr[] = {0}; +static const unsigned char kat570_addin0[] = { + 0x9e, 0xba, 0x53, 0xd0, 0xab, 0xbc, 0xdf, 0xb9, 0x84, 0x39, 0xce, 0xc3, + 0x2a, 0x14, 0xdc, 0x79, 0x24, 0x4a, 0xc3, 0x61, 0x6a, 0x71, 0xda, 0xfe, + 0xb7, 0x17, 0x5b, 0x71, 0xf9, 0x82, 0xe2, 0x14, +}; +static const unsigned char kat570_addin1[] = { + 0x76, 0xe4, 0xae, 0xfb, 0xb6, 0x88, 0x96, 0x41, 0x1b, 0xd7, 0x93, 0x66, + 0x7e, 0x0e, 0x3b, 0xb3, 0xde, 0xd8, 0x37, 0xd3, 0xa2, 0xbb, 0x37, 0x0d, + 0x94, 0x4c, 0x20, 0xe5, 0xbf, 0x03, 0xe6, 0xd1, +}; +static const unsigned char kat570_retbits[] = { + 0x6f, 0x6b, 0xed, 0x60, 0x5b, 0xc0, 0x41, 0x9e, 0x36, 0x7a, 0x42, 0x04, + 0x85, 0x85, 0xcb, 0x10, 0x54, 0x0d, 0x3a, 0x03, 0x5f, 0xc9, 0x90, 0x5f, + 0xa0, 0x04, 0x72, 0x9f, 0xef, 0xea, 0x46, 0x71, 0xef, 0x17, 0xaa, 0xc2, + 0xcc, 0x2c, 0x96, 0x4f, 0x35, 0xe7, 0x40, 0x98, 0x8e, 0x63, 0x6d, 0x8d, + 0x25, 0x11, 0x7c, 0x95, 0x3d, 0x0a, 0xf6, 0xa1, 0x99, 0x06, 0x7a, 0xd3, + 0x9a, 0xa6, 0x16, 0x63, +}; +static const struct drbg_kat_no_reseed kat570_t = { + 14, kat570_entropyin, kat570_nonce, kat570_persstr, + kat570_addin0, kat570_addin1, kat570_retbits +}; +static const struct drbg_kat kat570 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat570_t +}; + +static const unsigned char kat571_entropyin[] = { + 0x87, 0x82, 0xd5, 0x16, 0xab, 0x2e, 0x07, 0x20, 0x81, 0x6d, 0x31, 0xe8, + 0x41, 0xc4, 0x97, 0x65, 0x83, 0xf5, 0xf2, 0x35, 0x6d, 0x4a, 0x6b, 0x75, + 0xba, 0xa0, 0xc8, 0x54, 0xd8, 0x1e, 0x87, 0xdf, +}; +static const unsigned char kat571_nonce[] = { + 0xd3, 0xa0, 0xdf, 0x6e, 0x41, 0x0c, 0xba, 0x3a, 0xf8, 0x2b, 0x2e, 0x91, + 0x4e, 0x52, 0xb1, 0x9a, +}; +static const unsigned char kat571_persstr[] = { + 0x94, 0x60, 0xe6, 0x67, 0x3c, 0x94, 0xac, 0x44, 0xf8, 0x12, 0x67, 0x3c, + 0x25, 0xb8, 0x90, 0x54, 0x56, 0xc3, 0x2f, 0xa7, 0xa8, 0x8d, 0x01, 0x9c, + 0x9b, 0x9a, 0xf0, 0xe9, 0xe6, 0xdf, 0xde, 0x32, +}; +static const unsigned char kat571_addin0[] = {0}; +static const unsigned char kat571_addin1[] = {0}; +static const unsigned char kat571_retbits[] = { + 0x73, 0xbe, 0x5a, 0xca, 0x78, 0x6c, 0x4d, 0x20, 0x01, 0xf0, 0x26, 0xa4, + 0x8f, 0xc3, 0x2e, 0x0d, 0x5b, 0x9c, 0x43, 0xf5, 0x58, 0x15, 0x89, 0x80, + 0x9f, 0x10, 0x3c, 0xf9, 0x1f, 0xdc, 0x33, 0xaa, 0x00, 0x07, 0x03, 0xc5, + 0xb9, 0xa7, 0x39, 0x1c, 0x4c, 0x75, 0x12, 0x6b, 0xa0, 0x0f, 0x9f, 0x9c, + 0xf3, 0x68, 0xb0, 0xf9, 0x2a, 0x72, 0x90, 0x5e, 0xc1, 0x1f, 0x67, 0x02, + 0x44, 0xd0, 0x2e, 0x33, +}; +static const struct drbg_kat_no_reseed kat571_t = { + 0, kat571_entropyin, kat571_nonce, kat571_persstr, + kat571_addin0, kat571_addin1, kat571_retbits +}; +static const struct drbg_kat kat571 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat571_t +}; + +static const unsigned char kat572_entropyin[] = { + 0xa3, 0xa0, 0x58, 0xec, 0x8f, 0x49, 0x63, 0xe3, 0xe4, 0xa5, 0xe7, 0xae, + 0xad, 0xea, 0xd4, 0x8e, 0x48, 0xa1, 0x30, 0xf0, 0x4a, 0xe6, 0x78, 0x5c, + 0x18, 0x4d, 0x76, 0xff, 0x8c, 0x78, 0x13, 0x4e, +}; +static const unsigned char kat572_nonce[] = { + 0xca, 0x4f, 0xf0, 0xc8, 0xc0, 0x5d, 0xb6, 0xd7, 0x66, 0xf3, 0x56, 0x21, + 0x6c, 0x3b, 0x5f, 0xb4, +}; +static const unsigned char kat572_persstr[] = { + 0xcf, 0x95, 0x33, 0x8c, 0xe6, 0x92, 0x72, 0x32, 0x4c, 0x75, 0x17, 0x59, + 0x56, 0x6e, 0x99, 0xeb, 0x9a, 0x2a, 0x61, 0x8c, 0xed, 0xee, 0xa9, 0x77, + 0xc3, 0x60, 0xa3, 0x5b, 0xe7, 0xdb, 0x80, 0x7c, +}; +static const unsigned char kat572_addin0[] = {0}; +static const unsigned char kat572_addin1[] = {0}; +static const unsigned char kat572_retbits[] = { + 0xf5, 0x93, 0xfe, 0xcd, 0xec, 0xfd, 0x70, 0xd9, 0xf7, 0xcc, 0x09, 0x3b, + 0x4c, 0xf0, 0x50, 0x2f, 0x17, 0x8c, 0x99, 0x97, 0xce, 0x7f, 0x3b, 0x95, + 0xcb, 0xaf, 0xba, 0xf6, 0xe5, 0x75, 0x63, 0x7d, 0x34, 0x4e, 0x2c, 0x9b, + 0x7e, 0xbc, 0xb9, 0xed, 0x60, 0x48, 0x65, 0x06, 0x39, 0xea, 0x48, 0xd3, + 0x21, 0xc6, 0x26, 0x08, 0x6b, 0x28, 0x00, 0x2d, 0x86, 0x3c, 0xaf, 0xed, + 0xe0, 0x91, 0xe7, 0xe5, +}; +static const struct drbg_kat_no_reseed kat572_t = { + 1, kat572_entropyin, kat572_nonce, kat572_persstr, + kat572_addin0, kat572_addin1, kat572_retbits +}; +static const struct drbg_kat kat572 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat572_t +}; + +static const unsigned char kat573_entropyin[] = { + 0x91, 0xf7, 0x4d, 0x6c, 0x79, 0x8f, 0x6e, 0x18, 0x42, 0xe3, 0x6a, 0xa6, + 0x10, 0x19, 0x68, 0x2e, 0x24, 0x6a, 0x2e, 0xec, 0x04, 0xaa, 0xc8, 0xf7, + 0xc5, 0xe8, 0x49, 0xdb, 0xd6, 0xfa, 0x67, 0x7d, +}; +static const unsigned char kat573_nonce[] = { + 0x80, 0x07, 0x23, 0x00, 0x8b, 0x74, 0x43, 0x51, 0x97, 0x9a, 0xe8, 0x5d, + 0x92, 0xfd, 0x21, 0x7f, +}; +static const unsigned char kat573_persstr[] = { + 0xc9, 0xb3, 0x8f, 0x9b, 0x98, 0xb7, 0xa0, 0x04, 0x3b, 0x13, 0xd1, 0x92, + 0x6c, 0x27, 0x26, 0x55, 0x21, 0xf0, 0x13, 0x16, 0xe8, 0xfe, 0x79, 0xd2, + 0xef, 0xa8, 0xb8, 0x17, 0xb2, 0x3a, 0xaf, 0xc5, +}; +static const unsigned char kat573_addin0[] = {0}; +static const unsigned char kat573_addin1[] = {0}; +static const unsigned char kat573_retbits[] = { + 0x5a, 0x63, 0x77, 0x02, 0x30, 0xa4, 0xa0, 0x48, 0x64, 0x5c, 0xe1, 0xa7, + 0x5e, 0x50, 0xea, 0x79, 0x2c, 0x21, 0x96, 0x34, 0x56, 0x5f, 0x24, 0xec, + 0x52, 0xfa, 0xe6, 0x04, 0x65, 0x06, 0xc5, 0xb0, 0x52, 0x9a, 0x79, 0x8c, + 0x6b, 0xb7, 0x16, 0x19, 0xa2, 0x4b, 0xbd, 0x71, 0xf9, 0x03, 0x35, 0xe9, + 0x3c, 0x41, 0xde, 0x3f, 0xd0, 0xfd, 0x1f, 0x3e, 0xe3, 0x20, 0x4b, 0x9c, + 0x60, 0x64, 0xb7, 0x35, +}; +static const struct drbg_kat_no_reseed kat573_t = { + 2, kat573_entropyin, kat573_nonce, kat573_persstr, + kat573_addin0, kat573_addin1, kat573_retbits +}; +static const struct drbg_kat kat573 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat573_t +}; + +static const unsigned char kat574_entropyin[] = { + 0xaa, 0x40, 0xfd, 0x98, 0xee, 0xa7, 0x52, 0xb7, 0x31, 0x54, 0x5a, 0x6b, + 0x93, 0x86, 0xb2, 0xff, 0x35, 0x6e, 0xf7, 0xd9, 0xce, 0x88, 0xda, 0xa2, + 0x21, 0x9a, 0x5c, 0x5f, 0xe5, 0x71, 0x09, 0xc8, +}; +static const unsigned char kat574_nonce[] = { + 0x11, 0x0a, 0xcd, 0xc8, 0x6c, 0x06, 0xed, 0xcf, 0x8d, 0x61, 0x2a, 0x4f, + 0x2d, 0xf6, 0xea, 0x72, +}; +static const unsigned char kat574_persstr[] = { + 0xf1, 0x7a, 0x8e, 0x0d, 0x46, 0x0e, 0x75, 0x87, 0x47, 0xc4, 0x61, 0x78, + 0x2a, 0xee, 0x6d, 0xad, 0x4a, 0x2e, 0xa8, 0xcc, 0x26, 0xc3, 0x3b, 0x34, + 0xe7, 0x97, 0xc9, 0xae, 0x8f, 0x8f, 0xc6, 0x32, +}; +static const unsigned char kat574_addin0[] = {0}; +static const unsigned char kat574_addin1[] = {0}; +static const unsigned char kat574_retbits[] = { + 0x3d, 0xa6, 0x3f, 0x9f, 0xee, 0x35, 0x54, 0x41, 0xfa, 0xc4, 0x08, 0x4b, + 0xb9, 0x76, 0x68, 0x51, 0xcb, 0x6c, 0x60, 0xb7, 0xa9, 0x48, 0x42, 0xd2, + 0xc7, 0x62, 0x3b, 0x80, 0x7a, 0x46, 0x20, 0xcc, 0xae, 0x17, 0x48, 0x10, + 0xc2, 0x1d, 0x92, 0xd5, 0xf2, 0x67, 0x6f, 0x9e, 0x84, 0xa5, 0xc9, 0x8b, + 0x9a, 0x8a, 0x23, 0xad, 0xf7, 0x2d, 0xdf, 0xe3, 0x9f, 0xb7, 0x88, 0xf2, + 0x89, 0x21, 0x71, 0x87, +}; +static const struct drbg_kat_no_reseed kat574_t = { + 3, kat574_entropyin, kat574_nonce, kat574_persstr, + kat574_addin0, kat574_addin1, kat574_retbits +}; +static const struct drbg_kat kat574 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat574_t +}; + +static const unsigned char kat575_entropyin[] = { + 0xbd, 0x5d, 0xaa, 0x18, 0xdf, 0xf5, 0x7e, 0x90, 0x76, 0x2d, 0xff, 0xd3, + 0x5a, 0x05, 0xa4, 0xa7, 0x39, 0xce, 0x7e, 0xbf, 0x08, 0x7f, 0x42, 0x93, + 0xf2, 0xc7, 0xa0, 0x31, 0xd1, 0x7d, 0xf9, 0xeb, +}; +static const unsigned char kat575_nonce[] = { + 0xaf, 0x62, 0x92, 0x3e, 0xf2, 0x14, 0x46, 0x24, 0x18, 0x43, 0x9e, 0xc8, + 0xdc, 0x55, 0x3c, 0x9b, +}; +static const unsigned char kat575_persstr[] = { + 0xfc, 0x9e, 0x13, 0x8b, 0xe9, 0x17, 0x0c, 0x83, 0x12, 0x28, 0x81, 0x91, + 0x03, 0x9b, 0x03, 0x3b, 0xf4, 0x1e, 0xf1, 0xd4, 0x7f, 0x4e, 0x64, 0x23, + 0x57, 0x86, 0x6b, 0x87, 0x5c, 0x7f, 0x18, 0x3e, +}; +static const unsigned char kat575_addin0[] = {0}; +static const unsigned char kat575_addin1[] = {0}; +static const unsigned char kat575_retbits[] = { + 0xd4, 0x0e, 0xcb, 0x4e, 0x47, 0xe5, 0x54, 0x60, 0xc4, 0x00, 0x47, 0xd6, + 0x0f, 0x85, 0x28, 0x78, 0xb9, 0x15, 0x26, 0x8a, 0x4f, 0x13, 0x79, 0x6c, + 0xf5, 0xd9, 0xaa, 0x0d, 0x67, 0xf6, 0xda, 0x88, 0x09, 0x84, 0x74, 0x68, + 0xd7, 0xe0, 0x4c, 0x03, 0x9a, 0x9f, 0x9e, 0x3d, 0x9e, 0x5b, 0x4d, 0x53, + 0xce, 0x8f, 0x66, 0xfe, 0x7d, 0x88, 0xa4, 0x98, 0x3c, 0x51, 0x11, 0xce, + 0xf6, 0x03, 0x7b, 0x33, +}; +static const struct drbg_kat_no_reseed kat575_t = { + 4, kat575_entropyin, kat575_nonce, kat575_persstr, + kat575_addin0, kat575_addin1, kat575_retbits +}; +static const struct drbg_kat kat575 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat575_t +}; + +static const unsigned char kat576_entropyin[] = { + 0x5a, 0x57, 0x10, 0x9b, 0xf7, 0xde, 0xe0, 0x09, 0x92, 0x26, 0x23, 0xcb, + 0x8d, 0xd7, 0xc6, 0x02, 0x9d, 0x14, 0xe6, 0xf3, 0x99, 0x7e, 0x9a, 0x54, + 0x05, 0x73, 0x9b, 0xd8, 0x50, 0x27, 0xd3, 0x1e, +}; +static const unsigned char kat576_nonce[] = { + 0xa4, 0xc9, 0x51, 0x1f, 0x90, 0x66, 0x5b, 0x44, 0x21, 0x8d, 0x45, 0xc6, + 0x27, 0xd8, 0xbe, 0x7d, +}; +static const unsigned char kat576_persstr[] = { + 0x2a, 0x6b, 0xe5, 0x24, 0xc3, 0xf7, 0xa5, 0x80, 0x15, 0x0f, 0x69, 0x9b, + 0xcc, 0x6b, 0xa1, 0x0b, 0x1e, 0x26, 0xcb, 0x85, 0x71, 0x26, 0x21, 0xce, + 0x00, 0xda, 0x3f, 0x36, 0x3c, 0x8b, 0x1c, 0x46, +}; +static const unsigned char kat576_addin0[] = {0}; +static const unsigned char kat576_addin1[] = {0}; +static const unsigned char kat576_retbits[] = { + 0xaa, 0xf4, 0xc6, 0xe3, 0xad, 0xa5, 0x1a, 0x1a, 0xe6, 0x2c, 0x24, 0x38, + 0x1b, 0x21, 0xad, 0x4a, 0xed, 0x83, 0xd8, 0xae, 0x39, 0x45, 0xeb, 0x71, + 0x93, 0x8c, 0x1c, 0xe2, 0xd5, 0x86, 0x27, 0x11, 0x5e, 0x5e, 0xfc, 0x3c, + 0x58, 0xe8, 0x05, 0x6e, 0x7f, 0x71, 0x90, 0xae, 0x55, 0x0a, 0x8f, 0x1b, + 0x46, 0xd1, 0xb5, 0x8a, 0xe3, 0xea, 0x9a, 0xf0, 0xb7, 0xb1, 0x08, 0x1a, + 0xa7, 0xfd, 0x36, 0x30, +}; +static const struct drbg_kat_no_reseed kat576_t = { + 5, kat576_entropyin, kat576_nonce, kat576_persstr, + kat576_addin0, kat576_addin1, kat576_retbits +}; +static const struct drbg_kat kat576 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat576_t +}; + +static const unsigned char kat577_entropyin[] = { + 0xf4, 0x3d, 0x16, 0x31, 0x39, 0x7b, 0xcf, 0xd6, 0xc6, 0xb3, 0x85, 0x10, + 0x6f, 0xef, 0x8e, 0x72, 0xf9, 0x72, 0x84, 0x50, 0x28, 0x62, 0xd6, 0x46, + 0x4e, 0x61, 0x0c, 0xed, 0xe7, 0xb9, 0xd8, 0xae, +}; +static const unsigned char kat577_nonce[] = { + 0x74, 0x1c, 0xcd, 0x9a, 0xa4, 0x87, 0xfd, 0x77, 0x53, 0x78, 0xea, 0xf3, + 0x1e, 0xb8, 0x77, 0xd8, +}; +static const unsigned char kat577_persstr[] = { + 0x96, 0x07, 0xf8, 0x4f, 0x0b, 0x22, 0x37, 0x62, 0x6d, 0xa9, 0x25, 0x0b, + 0xcb, 0xa6, 0x46, 0xa0, 0x6d, 0xd8, 0x00, 0x49, 0xf9, 0xa2, 0x8c, 0x4f, + 0x0b, 0x2b, 0x63, 0x1f, 0xfe, 0x73, 0x0d, 0x5c, +}; +static const unsigned char kat577_addin0[] = {0}; +static const unsigned char kat577_addin1[] = {0}; +static const unsigned char kat577_retbits[] = { + 0x50, 0x97, 0xa9, 0xf2, 0x7e, 0xb3, 0xae, 0x42, 0x32, 0x81, 0xb9, 0x3b, + 0x77, 0x20, 0x82, 0x58, 0x15, 0x03, 0x42, 0xea, 0x42, 0x45, 0xdb, 0x7f, + 0x1c, 0x4e, 0x73, 0x47, 0xb6, 0xa3, 0x80, 0xc8, 0x1e, 0x27, 0xb0, 0xeb, + 0x00, 0x61, 0x0e, 0x84, 0x2e, 0x2a, 0xb5, 0x7d, 0xdc, 0x03, 0x45, 0x67, + 0x67, 0x19, 0xb5, 0x2a, 0xf6, 0x63, 0x0d, 0x52, 0x90, 0x97, 0x5e, 0x65, + 0x75, 0xa0, 0x17, 0xb3, +}; +static const struct drbg_kat_no_reseed kat577_t = { + 6, kat577_entropyin, kat577_nonce, kat577_persstr, + kat577_addin0, kat577_addin1, kat577_retbits +}; +static const struct drbg_kat kat577 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat577_t +}; + +static const unsigned char kat578_entropyin[] = { + 0xb9, 0xf8, 0xf6, 0xf6, 0x73, 0x50, 0xb2, 0xb6, 0x74, 0xa9, 0x8e, 0xc3, + 0xcc, 0xf9, 0xf9, 0x4d, 0x5e, 0xb9, 0xed, 0x74, 0xc6, 0x74, 0xec, 0x30, + 0x5d, 0xd9, 0x8f, 0xc5, 0xd8, 0xc6, 0x4d, 0x93, +}; +static const unsigned char kat578_nonce[] = { + 0xed, 0x55, 0xa0, 0xe6, 0x82, 0xba, 0xc6, 0xad, 0x5d, 0x6f, 0x86, 0xeb, + 0x31, 0xf3, 0xb1, 0x5e, +}; +static const unsigned char kat578_persstr[] = { + 0x9c, 0x29, 0x9b, 0x3d, 0xc0, 0x78, 0x2f, 0x07, 0x46, 0xee, 0x9a, 0xa1, + 0x9c, 0x24, 0xfc, 0xee, 0xb7, 0xb3, 0x50, 0xdd, 0x3d, 0xe9, 0x72, 0x7a, + 0x19, 0x70, 0x8f, 0x41, 0xd9, 0x9c, 0x86, 0xaa, +}; +static const unsigned char kat578_addin0[] = {0}; +static const unsigned char kat578_addin1[] = {0}; +static const unsigned char kat578_retbits[] = { + 0x2c, 0xe4, 0xaf, 0x0c, 0xe1, 0xd6, 0x5a, 0x83, 0x78, 0xd3, 0xb8, 0x96, + 0xad, 0x2e, 0x16, 0xb9, 0xe8, 0xbd, 0x2a, 0x92, 0xd5, 0x95, 0xc1, 0x07, + 0x15, 0x9c, 0x38, 0x6a, 0x59, 0x93, 0x70, 0x54, 0x63, 0x6b, 0x64, 0x25, + 0xec, 0x73, 0x1c, 0x1d, 0x83, 0x8c, 0x53, 0x01, 0x53, 0x08, 0x64, 0x68, + 0xe7, 0x52, 0xea, 0x34, 0xd2, 0xad, 0x64, 0xc0, 0x68, 0xf0, 0x01, 0x53, + 0x41, 0xae, 0xa6, 0xa1, +}; +static const struct drbg_kat_no_reseed kat578_t = { + 7, kat578_entropyin, kat578_nonce, kat578_persstr, + kat578_addin0, kat578_addin1, kat578_retbits +}; +static const struct drbg_kat kat578 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat578_t +}; + +static const unsigned char kat579_entropyin[] = { + 0xc6, 0x99, 0x20, 0x58, 0x59, 0x90, 0x4c, 0x44, 0xa7, 0x82, 0x9c, 0x81, + 0xa5, 0x81, 0xd6, 0x36, 0xa9, 0x7c, 0x3f, 0x57, 0x21, 0x12, 0x57, 0x69, + 0xd8, 0x07, 0x0b, 0x63, 0x8f, 0xab, 0x07, 0xb1, +}; +static const unsigned char kat579_nonce[] = { + 0x4d, 0xdb, 0xba, 0x6a, 0x5a, 0x13, 0x7e, 0x24, 0xce, 0x4b, 0x28, 0x3a, + 0x8f, 0xf5, 0x27, 0xe3, +}; +static const unsigned char kat579_persstr[] = { + 0x22, 0xdc, 0x48, 0x6c, 0x4f, 0xe1, 0x9a, 0xf1, 0xf8, 0x20, 0x89, 0xba, + 0xb3, 0xd0, 0x1e, 0xf1, 0x60, 0xb6, 0xf5, 0xe5, 0x94, 0x83, 0x69, 0xc0, + 0xac, 0xac, 0xd6, 0xa5, 0xf4, 0x11, 0xf7, 0x37, +}; +static const unsigned char kat579_addin0[] = {0}; +static const unsigned char kat579_addin1[] = {0}; +static const unsigned char kat579_retbits[] = { + 0xed, 0x8e, 0xab, 0x6c, 0x64, 0x0e, 0x6e, 0x06, 0x17, 0x25, 0xd7, 0x18, + 0xf7, 0x67, 0xca, 0x51, 0x08, 0x49, 0x54, 0x21, 0x37, 0xda, 0x84, 0x70, + 0x0b, 0xdc, 0xac, 0xad, 0xf1, 0xca, 0xe5, 0xdd, 0x03, 0xf6, 0xed, 0xba, + 0xc0, 0x05, 0x3f, 0x1b, 0x7f, 0xe2, 0xcf, 0xd5, 0x36, 0x3a, 0x2f, 0xb8, + 0x12, 0x9e, 0x14, 0x9a, 0xc7, 0x47, 0x64, 0x47, 0x0b, 0x86, 0x23, 0x47, + 0x4e, 0x8b, 0x20, 0x4d, +}; +static const struct drbg_kat_no_reseed kat579_t = { + 8, kat579_entropyin, kat579_nonce, kat579_persstr, + kat579_addin0, kat579_addin1, kat579_retbits +}; +static const struct drbg_kat kat579 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat579_t +}; + +static const unsigned char kat580_entropyin[] = { + 0x16, 0x4a, 0xf0, 0xb9, 0x1b, 0xa3, 0x67, 0xe7, 0xd9, 0x49, 0xe0, 0x68, + 0x7a, 0x7c, 0xf1, 0x82, 0x59, 0x19, 0x74, 0x5a, 0x2f, 0xf4, 0x1a, 0x28, + 0xc0, 0x6e, 0x9d, 0x64, 0x7c, 0xea, 0x54, 0x5a, +}; +static const unsigned char kat580_nonce[] = { + 0xa6, 0x10, 0xa3, 0xcf, 0xc5, 0x1c, 0xd6, 0xad, 0x86, 0x9f, 0xa8, 0x50, + 0x86, 0x12, 0x4a, 0xa7, +}; +static const unsigned char kat580_persstr[] = { + 0x5d, 0x03, 0x58, 0x6d, 0xcd, 0xa1, 0xf0, 0x22, 0xde, 0xa6, 0x43, 0xa6, + 0x1f, 0xbc, 0x9e, 0x25, 0xc7, 0xf0, 0x7f, 0xc1, 0x5b, 0xa5, 0x54, 0xd5, + 0xad, 0xb8, 0xd4, 0x78, 0x5c, 0xa7, 0x6b, 0xc7, +}; +static const unsigned char kat580_addin0[] = {0}; +static const unsigned char kat580_addin1[] = {0}; +static const unsigned char kat580_retbits[] = { + 0xa7, 0x1a, 0xa1, 0x59, 0xb4, 0x81, 0x35, 0x3e, 0x1e, 0xa8, 0xa2, 0xfb, + 0x9f, 0x0f, 0xa6, 0xfb, 0xca, 0xac, 0x1c, 0x24, 0x10, 0x47, 0x17, 0xf9, + 0x89, 0x45, 0x35, 0xf0, 0x87, 0xe2, 0x90, 0x79, 0xb1, 0xc3, 0x16, 0x8f, + 0xb7, 0x45, 0xe0, 0x50, 0x31, 0x01, 0xed, 0xa8, 0x48, 0x42, 0x98, 0x0f, + 0x91, 0x91, 0x72, 0x7e, 0xa4, 0x7f, 0xfb, 0x57, 0x0c, 0xfb, 0xaa, 0xed, + 0xff, 0x05, 0x5d, 0x9c, +}; +static const struct drbg_kat_no_reseed kat580_t = { + 9, kat580_entropyin, kat580_nonce, kat580_persstr, + kat580_addin0, kat580_addin1, kat580_retbits +}; +static const struct drbg_kat kat580 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat580_t +}; + +static const unsigned char kat581_entropyin[] = { + 0x6a, 0x59, 0x15, 0x57, 0xdf, 0x6a, 0xfe, 0x71, 0xca, 0xd5, 0xac, 0xff, + 0xbb, 0xf7, 0x58, 0xf6, 0x82, 0x9e, 0xa8, 0x87, 0x55, 0x9b, 0xc1, 0xc3, + 0xab, 0x6f, 0x1d, 0xdb, 0xef, 0x92, 0x8b, 0x0f, +}; +static const unsigned char kat581_nonce[] = { + 0xc8, 0x72, 0xc4, 0xf0, 0xd9, 0xaf, 0xef, 0x9b, 0xe4, 0x08, 0xe0, 0xac, + 0x48, 0x87, 0x8b, 0xae, +}; +static const unsigned char kat581_persstr[] = { + 0xdf, 0xa1, 0xc2, 0xdb, 0x43, 0xf6, 0x12, 0x9b, 0x31, 0xfb, 0x4b, 0x32, + 0x66, 0xb1, 0x7d, 0x97, 0x2b, 0xb4, 0x67, 0x95, 0x72, 0x61, 0xdf, 0x3a, + 0x67, 0x67, 0x87, 0x94, 0x49, 0x76, 0x01, 0xb6, +}; +static const unsigned char kat581_addin0[] = {0}; +static const unsigned char kat581_addin1[] = {0}; +static const unsigned char kat581_retbits[] = { + 0x44, 0xf4, 0xad, 0x62, 0x71, 0x0d, 0x87, 0xa1, 0x09, 0x91, 0x09, 0x08, + 0xa4, 0xdd, 0x1a, 0x57, 0x91, 0x51, 0x65, 0x4b, 0x7c, 0x44, 0x06, 0x86, + 0xf9, 0x03, 0xb2, 0x13, 0x28, 0x5e, 0xa8, 0x86, 0xb7, 0x26, 0x05, 0xd8, + 0xe6, 0xaf, 0x0c, 0x2c, 0xb9, 0x28, 0x6f, 0x46, 0xb8, 0x7d, 0x6c, 0xdf, + 0xe1, 0x70, 0x24, 0x81, 0x24, 0x8a, 0x81, 0x6e, 0x88, 0x7d, 0x76, 0x68, + 0x58, 0xb2, 0x21, 0xf4, +}; +static const struct drbg_kat_no_reseed kat581_t = { + 10, kat581_entropyin, kat581_nonce, kat581_persstr, + kat581_addin0, kat581_addin1, kat581_retbits +}; +static const struct drbg_kat kat581 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat581_t +}; + +static const unsigned char kat582_entropyin[] = { + 0xe2, 0xbc, 0x6e, 0x86, 0x5a, 0xbe, 0xb1, 0xbb, 0xf1, 0x3e, 0xbe, 0xd7, + 0xe1, 0x23, 0xff, 0xa3, 0x26, 0x87, 0x62, 0x5c, 0x67, 0xef, 0x56, 0x1d, + 0xe9, 0xc2, 0xfc, 0x6f, 0x14, 0xef, 0xdd, 0x77, +}; +static const unsigned char kat582_nonce[] = { + 0x8e, 0x67, 0x5b, 0xf0, 0xac, 0x4b, 0x6b, 0x1f, 0xd4, 0x3a, 0x5b, 0xa3, + 0xd5, 0x5e, 0xb5, 0xfe, +}; +static const unsigned char kat582_persstr[] = { + 0x2a, 0xd7, 0x9b, 0x01, 0xb4, 0x77, 0xc2, 0x64, 0x6b, 0xe5, 0x76, 0x12, + 0x72, 0x33, 0x0d, 0x98, 0x40, 0x5e, 0xdd, 0x77, 0x58, 0x91, 0xf6, 0x19, + 0xc9, 0x66, 0x67, 0x91, 0xdd, 0x2a, 0x9b, 0x68, +}; +static const unsigned char kat582_addin0[] = {0}; +static const unsigned char kat582_addin1[] = {0}; +static const unsigned char kat582_retbits[] = { + 0xf4, 0x81, 0xf0, 0xf8, 0x1f, 0x46, 0xfe, 0xef, 0x26, 0x34, 0x10, 0xac, + 0x39, 0xef, 0x51, 0xf1, 0xfa, 0xaa, 0xcf, 0x22, 0x54, 0x1d, 0xe8, 0xe4, + 0xf9, 0x14, 0x52, 0xb6, 0x90, 0xbb, 0x5c, 0x6a, 0x21, 0x1d, 0xc8, 0x75, + 0x1d, 0xcf, 0x8b, 0xdb, 0xf4, 0xdc, 0xd3, 0x55, 0x48, 0x94, 0xbb, 0x66, + 0x44, 0xfb, 0x79, 0x95, 0xb4, 0x0c, 0x04, 0xea, 0x4c, 0x3a, 0x97, 0x9e, + 0x97, 0xb5, 0xbc, 0xfb, +}; +static const struct drbg_kat_no_reseed kat582_t = { + 11, kat582_entropyin, kat582_nonce, kat582_persstr, + kat582_addin0, kat582_addin1, kat582_retbits +}; +static const struct drbg_kat kat582 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat582_t +}; + +static const unsigned char kat583_entropyin[] = { + 0xff, 0xed, 0x52, 0x4b, 0x1d, 0x1f, 0x1c, 0x5c, 0xee, 0x98, 0x76, 0x28, + 0x58, 0x38, 0x7d, 0x1a, 0x40, 0x32, 0x45, 0xeb, 0xfa, 0xfe, 0xc0, 0xc0, + 0xa4, 0x0a, 0xd8, 0x15, 0xdb, 0x9c, 0x83, 0xf2, +}; +static const unsigned char kat583_nonce[] = { + 0x95, 0xf9, 0xd8, 0x65, 0x52, 0x11, 0xa0, 0xf8, 0x0e, 0xf8, 0xe3, 0x76, + 0xab, 0xd8, 0xf1, 0x71, +}; +static const unsigned char kat583_persstr[] = { + 0x38, 0xb2, 0xef, 0x1f, 0xcf, 0x66, 0xab, 0x0a, 0xd6, 0xf1, 0x4e, 0xf6, + 0x8b, 0x7d, 0xb3, 0x6a, 0x73, 0x11, 0xff, 0x99, 0x64, 0xff, 0x4b, 0xd5, + 0x01, 0xc4, 0x47, 0xfd, 0x04, 0x16, 0x73, 0x40, +}; +static const unsigned char kat583_addin0[] = {0}; +static const unsigned char kat583_addin1[] = {0}; +static const unsigned char kat583_retbits[] = { + 0x2e, 0xd8, 0x10, 0x83, 0x0b, 0x5c, 0x7b, 0xb2, 0x87, 0xee, 0xa8, 0x5c, + 0xd3, 0x2e, 0xde, 0x0f, 0xe0, 0x70, 0x04, 0x9a, 0x89, 0x8e, 0x0b, 0xbd, + 0x7a, 0x69, 0x49, 0xef, 0xe3, 0xbd, 0x3c, 0x19, 0x07, 0x5a, 0xcf, 0x87, + 0xff, 0x27, 0x71, 0x44, 0xab, 0xc2, 0xe2, 0x3c, 0xeb, 0x41, 0x6b, 0x70, + 0x5b, 0x7a, 0x2b, 0xe2, 0xfb, 0x0a, 0x0d, 0xc9, 0x16, 0x47, 0x86, 0xf3, + 0x52, 0x7c, 0xfe, 0x14, +}; +static const struct drbg_kat_no_reseed kat583_t = { + 12, kat583_entropyin, kat583_nonce, kat583_persstr, + kat583_addin0, kat583_addin1, kat583_retbits +}; +static const struct drbg_kat kat583 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat583_t +}; + +static const unsigned char kat584_entropyin[] = { + 0x2a, 0x92, 0x90, 0x3d, 0x4d, 0x3a, 0xba, 0x09, 0x16, 0xcb, 0xc0, 0x72, + 0xf9, 0x8a, 0x17, 0x05, 0x44, 0x6a, 0x12, 0x6d, 0x3e, 0x68, 0x4d, 0x0d, + 0x27, 0x1b, 0x78, 0xa4, 0x6a, 0xe8, 0x5c, 0x6e, +}; +static const unsigned char kat584_nonce[] = { + 0x2c, 0x94, 0x36, 0x1b, 0xdb, 0x04, 0x08, 0x75, 0xa6, 0x4e, 0x1f, 0x21, + 0xb9, 0xca, 0x85, 0x50, +}; +static const unsigned char kat584_persstr[] = { + 0x35, 0x3f, 0x18, 0xf9, 0xc3, 0x31, 0xa1, 0xf7, 0x7a, 0x1b, 0x0a, 0xa5, + 0xf9, 0x70, 0x76, 0x2e, 0xba, 0xcb, 0xac, 0xb4, 0x27, 0x3a, 0x94, 0x11, + 0x14, 0xa3, 0xc7, 0x83, 0xb6, 0xe4, 0x08, 0x8e, +}; +static const unsigned char kat584_addin0[] = {0}; +static const unsigned char kat584_addin1[] = {0}; +static const unsigned char kat584_retbits[] = { + 0xf9, 0xe3, 0xf3, 0x31, 0x77, 0x25, 0xf9, 0x6b, 0x13, 0x7b, 0xaa, 0x2e, + 0xe2, 0x16, 0xd7, 0x0c, 0xc4, 0xb4, 0x5c, 0x38, 0x05, 0x20, 0xf8, 0x1d, + 0x6f, 0xde, 0x13, 0x68, 0xef, 0x70, 0x10, 0x87, 0xa2, 0x90, 0x98, 0x93, + 0x3a, 0x38, 0xee, 0x75, 0x7b, 0x9f, 0x70, 0xb1, 0x82, 0xe7, 0x06, 0x3e, + 0x36, 0x30, 0xa4, 0x3b, 0xdc, 0x1f, 0x21, 0xc3, 0x0c, 0x4a, 0x47, 0xbf, + 0x7f, 0xbb, 0x98, 0xe5, +}; +static const struct drbg_kat_no_reseed kat584_t = { + 13, kat584_entropyin, kat584_nonce, kat584_persstr, + kat584_addin0, kat584_addin1, kat584_retbits +}; +static const struct drbg_kat kat584 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat584_t +}; + +static const unsigned char kat585_entropyin[] = { + 0xc2, 0x75, 0x29, 0xd8, 0x65, 0x0a, 0x49, 0x8f, 0xe1, 0xaa, 0xcd, 0xf1, + 0x2d, 0x8a, 0x56, 0xc7, 0x3e, 0xd1, 0xc4, 0xb5, 0x66, 0xfc, 0xfc, 0x57, + 0xb4, 0x3e, 0xeb, 0x2f, 0x8c, 0x17, 0x90, 0xad, +}; +static const unsigned char kat585_nonce[] = { + 0x09, 0x45, 0x15, 0x3f, 0xe4, 0x78, 0x9c, 0xd0, 0xa7, 0x45, 0x10, 0xdf, + 0xcd, 0xa5, 0xde, 0x71, +}; +static const unsigned char kat585_persstr[] = { + 0xcd, 0x98, 0xbf, 0x62, 0x9d, 0xa5, 0xde, 0xc8, 0x6d, 0x82, 0x3b, 0xbd, + 0x72, 0x0e, 0x27, 0x3f, 0xa0, 0x9b, 0x75, 0xa3, 0x04, 0xa2, 0xc3, 0x13, + 0x9c, 0x38, 0x38, 0x6b, 0xb4, 0x46, 0x85, 0x53, +}; +static const unsigned char kat585_addin0[] = {0}; +static const unsigned char kat585_addin1[] = {0}; +static const unsigned char kat585_retbits[] = { + 0xba, 0x34, 0xd4, 0x6c, 0x29, 0xaf, 0xc9, 0x1e, 0xc3, 0x4c, 0xad, 0x84, + 0x85, 0xb5, 0xdd, 0x6e, 0x2f, 0xb5, 0x80, 0xa2, 0x17, 0x85, 0x9f, 0x70, + 0x49, 0xa6, 0xb2, 0x3e, 0xb9, 0x3e, 0x66, 0xe4, 0x29, 0xdd, 0xff, 0x22, + 0xcc, 0x64, 0x71, 0x59, 0xef, 0x11, 0x95, 0xbb, 0x67, 0xc4, 0x0c, 0xb3, + 0x38, 0x83, 0xeb, 0xd8, 0xa6, 0xb9, 0xf7, 0x1a, 0xb0, 0xac, 0xb8, 0x9d, + 0xe7, 0x74, 0xa5, 0x93, +}; +static const struct drbg_kat_no_reseed kat585_t = { + 14, kat585_entropyin, kat585_nonce, kat585_persstr, + kat585_addin0, kat585_addin1, kat585_retbits +}; +static const struct drbg_kat kat585 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat585_t +}; + +static const unsigned char kat586_entropyin[] = { + 0xed, 0x12, 0xdf, 0x77, 0x81, 0x55, 0x85, 0xfc, 0x9a, 0xe7, 0x39, 0x66, + 0x20, 0xee, 0xe4, 0xae, 0x68, 0xcc, 0x82, 0xa8, 0x2e, 0xc3, 0x0a, 0x79, + 0x29, 0x01, 0xe2, 0x85, 0x8a, 0x59, 0x70, 0x5d, +}; +static const unsigned char kat586_nonce[] = { + 0x23, 0x2a, 0x3d, 0xb9, 0x70, 0xb5, 0xcf, 0x1f, 0x31, 0xa5, 0xe0, 0x9f, + 0x02, 0xc0, 0xa9, 0x7e, +}; +static const unsigned char kat586_persstr[] = { + 0x2f, 0x92, 0x94, 0xdb, 0x48, 0x53, 0x05, 0xd4, 0x88, 0x63, 0xb6, 0xf5, + 0x37, 0xc3, 0xfa, 0xed, 0x90, 0x3b, 0x9f, 0xeb, 0x94, 0xbb, 0x84, 0x8d, + 0x00, 0xdc, 0x58, 0xe7, 0x7d, 0x8f, 0x47, 0xc0, +}; +static const unsigned char kat586_addin0[] = { + 0xc9, 0x96, 0x9a, 0x56, 0x33, 0x74, 0x48, 0x0b, 0xc0, 0x8f, 0x61, 0xd4, + 0xb4, 0x6e, 0x58, 0x7a, 0xfc, 0x55, 0x12, 0x6d, 0x38, 0x09, 0xe6, 0x03, + 0xe2, 0x0e, 0x44, 0xa0, 0x76, 0x36, 0xc6, 0x78, +}; +static const unsigned char kat586_addin1[] = { + 0x03, 0xcf, 0xba, 0xa7, 0x39, 0xb3, 0x3c, 0x1b, 0xc6, 0x0a, 0xbb, 0x1c, + 0x73, 0x0e, 0x15, 0x5f, 0xae, 0x07, 0x83, 0x70, 0x54, 0xb0, 0x8e, 0xe8, + 0x48, 0xc4, 0x58, 0xc8, 0x85, 0x69, 0xff, 0xc1, +}; +static const unsigned char kat586_retbits[] = { + 0x78, 0xbd, 0x67, 0xeb, 0x4e, 0x66, 0x0a, 0x4f, 0xe3, 0x47, 0x4e, 0xc1, + 0xe9, 0x5b, 0x1f, 0xbd, 0xc1, 0xe4, 0xdc, 0x68, 0x67, 0x18, 0x4e, 0xe4, + 0xea, 0x9e, 0x15, 0x68, 0x14, 0xc5, 0x84, 0x9c, 0x3c, 0x12, 0xd7, 0xba, + 0x06, 0xcc, 0xed, 0x8c, 0x87, 0x27, 0x12, 0xc2, 0xb9, 0x6e, 0x74, 0x68, + 0x53, 0x6e, 0x11, 0xa2, 0x0e, 0x93, 0xe5, 0x3b, 0x8c, 0x77, 0x8e, 0x9c, + 0x06, 0x34, 0xc6, 0xcb, +}; +static const struct drbg_kat_no_reseed kat586_t = { + 0, kat586_entropyin, kat586_nonce, kat586_persstr, + kat586_addin0, kat586_addin1, kat586_retbits +}; +static const struct drbg_kat kat586 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat586_t +}; + +static const unsigned char kat587_entropyin[] = { + 0x2c, 0x8c, 0x91, 0x62, 0xa1, 0xdd, 0x63, 0xc1, 0xf2, 0x89, 0x47, 0x14, + 0xd8, 0x91, 0x58, 0x03, 0x0a, 0x5f, 0x67, 0x7a, 0xa0, 0x14, 0xd7, 0x8b, + 0xcd, 0x55, 0x8d, 0x8f, 0xfb, 0xa2, 0xab, 0x25, +}; +static const unsigned char kat587_nonce[] = { + 0x42, 0x06, 0xb6, 0xc3, 0xc1, 0xf5, 0x43, 0xb1, 0x60, 0x8f, 0xb9, 0xcd, + 0xb6, 0x2f, 0xc2, 0xc7, +}; +static const unsigned char kat587_persstr[] = { + 0xaa, 0xdd, 0x7d, 0x9f, 0x9c, 0xee, 0x1f, 0x93, 0xf4, 0x3a, 0xff, 0x31, + 0x32, 0x83, 0x77, 0x58, 0xe8, 0x89, 0x55, 0x35, 0x0f, 0x6d, 0xee, 0xb7, + 0x7b, 0xb4, 0xf8, 0x5c, 0xc0, 0x41, 0x04, 0x54, +}; +static const unsigned char kat587_addin0[] = { + 0xe7, 0x49, 0xfb, 0x5d, 0x67, 0xae, 0x61, 0x77, 0x04, 0xff, 0xfe, 0xbb, + 0xde, 0xb9, 0x98, 0xb2, 0x69, 0x2d, 0xb7, 0x2a, 0xf8, 0xac, 0x21, 0x7f, + 0x7b, 0xc5, 0x41, 0x6f, 0x93, 0xa7, 0x7a, 0x8f, +}; +static const unsigned char kat587_addin1[] = { + 0x46, 0xa5, 0x13, 0x49, 0xdb, 0x45, 0x45, 0x6d, 0xb9, 0x4e, 0xd1, 0x25, + 0x46, 0xea, 0x6a, 0x62, 0x14, 0x89, 0xac, 0xfb, 0x40, 0xb0, 0xfa, 0x31, + 0x6a, 0x3c, 0x8f, 0x5f, 0x48, 0x0a, 0x00, 0x88, +}; +static const unsigned char kat587_retbits[] = { + 0xee, 0x1f, 0x95, 0xda, 0x9b, 0x2d, 0x79, 0xf0, 0xcb, 0xf8, 0x33, 0x5e, + 0xfc, 0xc6, 0x91, 0x2f, 0x16, 0x39, 0x46, 0xe4, 0x45, 0x6d, 0x32, 0x84, + 0xb9, 0x18, 0x57, 0x9b, 0x50, 0xd6, 0x88, 0x1d, 0xb4, 0xcc, 0x08, 0x6d, + 0x3d, 0x21, 0x2a, 0xf2, 0xf3, 0x42, 0xb4, 0xbf, 0x46, 0x57, 0x37, 0x0b, + 0x02, 0x5c, 0xd4, 0xad, 0x2c, 0x1e, 0xef, 0xf3, 0xcf, 0x60, 0x70, 0xdb, + 0xdd, 0x50, 0x78, 0x61, +}; +static const struct drbg_kat_no_reseed kat587_t = { + 1, kat587_entropyin, kat587_nonce, kat587_persstr, + kat587_addin0, kat587_addin1, kat587_retbits +}; +static const struct drbg_kat kat587 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat587_t +}; + +static const unsigned char kat588_entropyin[] = { + 0x91, 0x97, 0x3e, 0xa6, 0x17, 0xf9, 0x5b, 0x5c, 0xd9, 0x4c, 0xbb, 0xc2, + 0xbf, 0x02, 0x03, 0x81, 0x51, 0x85, 0x73, 0x63, 0xd8, 0x50, 0x25, 0x6b, + 0xdf, 0x9f, 0x78, 0xbd, 0x22, 0x34, 0x0b, 0x49, +}; +static const unsigned char kat588_nonce[] = { + 0x9a, 0xb4, 0x15, 0x60, 0xf8, 0x54, 0x52, 0x07, 0x00, 0x52, 0x68, 0x1a, + 0x25, 0xd9, 0xf0, 0xf8, +}; +static const unsigned char kat588_persstr[] = { + 0x69, 0x16, 0x3f, 0xff, 0x9b, 0xab, 0x52, 0x97, 0xe0, 0x9f, 0xc9, 0x35, + 0x1f, 0x96, 0xa5, 0xbe, 0xe9, 0x97, 0x30, 0x86, 0x1f, 0xde, 0xf1, 0x0a, + 0xdf, 0xd4, 0xac, 0x38, 0xa0, 0x80, 0x0b, 0x3e, +}; +static const unsigned char kat588_addin0[] = { + 0xc4, 0x2c, 0x50, 0x3d, 0x41, 0x7d, 0x87, 0x67, 0x9f, 0x53, 0x0f, 0x4b, + 0xa0, 0x5c, 0xbc, 0xe3, 0x40, 0x48, 0x74, 0xd4, 0x61, 0x16, 0x3f, 0x5c, + 0x57, 0x0a, 0x3c, 0xfa, 0xd7, 0x5a, 0xbe, 0xed, +}; +static const unsigned char kat588_addin1[] = { + 0xba, 0xc9, 0xd9, 0xa1, 0x6d, 0x9f, 0x1c, 0xe7, 0xa4, 0xeb, 0xb7, 0xc3, + 0x78, 0x12, 0x43, 0x39, 0x4e, 0x22, 0x80, 0xa5, 0x2d, 0xe6, 0x41, 0x1d, + 0xb5, 0x2e, 0xd8, 0xc3, 0x09, 0x01, 0x3e, 0xcf, +}; +static const unsigned char kat588_retbits[] = { + 0x23, 0x64, 0x0c, 0xf3, 0x57, 0x0c, 0x88, 0xf3, 0x5c, 0x44, 0x0f, 0x5a, + 0x1d, 0x61, 0x95, 0xde, 0x06, 0xd0, 0x86, 0xb9, 0x11, 0x8d, 0xd6, 0xda, + 0xf8, 0x97, 0x48, 0x65, 0xd5, 0x2e, 0x11, 0x76, 0x6e, 0xaa, 0x8b, 0x14, + 0x62, 0xc7, 0x7b, 0x54, 0x2d, 0x6a, 0x53, 0x91, 0xdf, 0x63, 0x68, 0xca, + 0x68, 0x2f, 0x63, 0x98, 0xaf, 0x51, 0x56, 0xee, 0x7c, 0xd8, 0xce, 0x24, + 0x50, 0x25, 0x8f, 0xcb, +}; +static const struct drbg_kat_no_reseed kat588_t = { + 2, kat588_entropyin, kat588_nonce, kat588_persstr, + kat588_addin0, kat588_addin1, kat588_retbits +}; +static const struct drbg_kat kat588 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat588_t +}; + +static const unsigned char kat589_entropyin[] = { + 0xef, 0xfa, 0xd8, 0x21, 0x04, 0x04, 0x17, 0x86, 0x15, 0x9b, 0xe5, 0xa1, + 0xeb, 0xc0, 0xbe, 0x77, 0x68, 0x8e, 0x6f, 0x1c, 0x07, 0x5d, 0xc2, 0x0a, + 0x83, 0x2e, 0x3f, 0xfa, 0xfb, 0x11, 0xc5, 0x4c, +}; +static const unsigned char kat589_nonce[] = { + 0xe1, 0x3b, 0xad, 0xfd, 0xe3, 0x6a, 0x8c, 0x10, 0x7e, 0x4f, 0x3c, 0xea, + 0x69, 0x3d, 0xa3, 0x6d, +}; +static const unsigned char kat589_persstr[] = { + 0x01, 0xea, 0x78, 0xe5, 0xbe, 0x0b, 0xf9, 0x48, 0x96, 0x2d, 0x7c, 0x33, + 0x4a, 0xe2, 0x37, 0xc5, 0x60, 0xbb, 0x49, 0xe6, 0x63, 0x59, 0x58, 0x03, + 0x59, 0x36, 0xc4, 0x8d, 0x90, 0x82, 0xde, 0x39, +}; +static const unsigned char kat589_addin0[] = { + 0x72, 0x63, 0x49, 0xa1, 0xe5, 0x2b, 0xe8, 0xb8, 0x4b, 0x15, 0x75, 0x82, + 0x7e, 0xae, 0x96, 0xef, 0xc1, 0xc1, 0x15, 0x51, 0xb3, 0x5c, 0x68, 0xa0, + 0x4e, 0x89, 0xbd, 0x12, 0x55, 0x89, 0x82, 0x7a, +}; +static const unsigned char kat589_addin1[] = { + 0xe9, 0x43, 0x56, 0x9b, 0xac, 0x0d, 0x0e, 0x6b, 0x41, 0x00, 0xba, 0x89, + 0xc6, 0xf3, 0x2d, 0xd7, 0xed, 0x64, 0x57, 0x33, 0x57, 0xc5, 0x77, 0x83, + 0xf3, 0xd0, 0xe0, 0xf6, 0x9e, 0xaf, 0xdd, 0x1f, +}; +static const unsigned char kat589_retbits[] = { + 0xba, 0x58, 0x11, 0x9f, 0x27, 0x47, 0xdd, 0xe7, 0xfc, 0x00, 0x0e, 0x22, + 0x09, 0x0a, 0xe3, 0x25, 0x6a, 0xec, 0xd2, 0x64, 0xcd, 0xcf, 0x77, 0xd3, + 0xc5, 0x1f, 0x32, 0xfa, 0x96, 0xb2, 0x44, 0xfe, 0xed, 0x32, 0x05, 0xfa, + 0xd9, 0x0d, 0x98, 0xa4, 0x27, 0x27, 0xb5, 0x51, 0xcd, 0xdc, 0xb3, 0xfa, + 0x28, 0x87, 0x0c, 0x08, 0xf0, 0x2d, 0x86, 0x5b, 0x4c, 0x39, 0xcd, 0x1e, + 0x36, 0x81, 0x8a, 0x23, +}; +static const struct drbg_kat_no_reseed kat589_t = { + 3, kat589_entropyin, kat589_nonce, kat589_persstr, + kat589_addin0, kat589_addin1, kat589_retbits +}; +static const struct drbg_kat kat589 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat589_t +}; + +static const unsigned char kat590_entropyin[] = { + 0x85, 0x24, 0x10, 0x08, 0x36, 0x34, 0x04, 0x7a, 0x3f, 0x9a, 0xa8, 0xc7, + 0x72, 0x51, 0x7c, 0x6c, 0x91, 0x2f, 0xa9, 0x5b, 0xab, 0x1d, 0xa0, 0x9a, + 0x3a, 0x70, 0x53, 0xc4, 0xbb, 0xaf, 0x75, 0x01, +}; +static const unsigned char kat590_nonce[] = { + 0x49, 0xcc, 0xe5, 0xd8, 0x7b, 0xc9, 0x05, 0xe9, 0x8b, 0xc5, 0xbd, 0x3f, + 0x2f, 0x6b, 0xaa, 0x0e, +}; +static const unsigned char kat590_persstr[] = { + 0x79, 0xe7, 0x15, 0x35, 0xed, 0x28, 0xe0, 0x80, 0xa2, 0xa0, 0x24, 0xbe, + 0xf6, 0x02, 0x04, 0x37, 0x74, 0x19, 0xc1, 0x3b, 0x0f, 0x57, 0x37, 0x39, + 0xb2, 0xe3, 0x8a, 0xd2, 0xd9, 0x4e, 0x98, 0x01, +}; +static const unsigned char kat590_addin0[] = { + 0x7c, 0x8d, 0xd0, 0xaa, 0xc5, 0x36, 0x11, 0x4f, 0x88, 0xe6, 0xdb, 0xa6, + 0x8c, 0x73, 0xda, 0x37, 0xb7, 0x70, 0x06, 0xc5, 0xa4, 0x4e, 0x78, 0x6e, + 0x5f, 0x62, 0xae, 0xa3, 0x65, 0x58, 0xf9, 0x45, +}; +static const unsigned char kat590_addin1[] = { + 0x05, 0xac, 0xd9, 0x92, 0x1c, 0x8d, 0xec, 0xd6, 0x0b, 0xc9, 0xcd, 0x12, + 0x49, 0x25, 0xc8, 0xb5, 0x1b, 0xac, 0x8a, 0x63, 0x29, 0xe4, 0x63, 0x2d, + 0xbf, 0x07, 0x65, 0x32, 0xeb, 0xff, 0x92, 0x96, +}; +static const unsigned char kat590_retbits[] = { + 0x90, 0xb4, 0x1b, 0x64, 0x4a, 0xd0, 0x53, 0xd3, 0x6c, 0xff, 0x4c, 0xeb, + 0x3d, 0x67, 0xc0, 0xf0, 0x64, 0xec, 0x43, 0x87, 0x42, 0xd7, 0x14, 0xcd, + 0xdd, 0x62, 0x4f, 0xed, 0x5d, 0xef, 0xce, 0x1c, 0xea, 0xca, 0xb3, 0x25, + 0xc1, 0x40, 0x01, 0x73, 0x16, 0xf2, 0x9a, 0xef, 0xf2, 0x32, 0x24, 0x4c, + 0x5d, 0x0a, 0x02, 0x04, 0xee, 0xd8, 0xcd, 0xd7, 0xda, 0x34, 0x6d, 0xb2, + 0x9d, 0xe7, 0xaa, 0x8e, +}; +static const struct drbg_kat_no_reseed kat590_t = { + 4, kat590_entropyin, kat590_nonce, kat590_persstr, + kat590_addin0, kat590_addin1, kat590_retbits +}; +static const struct drbg_kat kat590 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat590_t +}; + +static const unsigned char kat591_entropyin[] = { + 0xbb, 0x56, 0x82, 0x66, 0x31, 0x8d, 0x93, 0x65, 0x09, 0x26, 0x57, 0xec, + 0xfa, 0xf0, 0x5a, 0xc7, 0x0c, 0x8d, 0xfd, 0x79, 0x7a, 0x47, 0xc7, 0xe8, + 0x5b, 0x51, 0xcb, 0x61, 0x26, 0xa0, 0xe6, 0x93, +}; +static const unsigned char kat591_nonce[] = { + 0xdc, 0xd3, 0x5d, 0x62, 0x80, 0xf4, 0x0b, 0xeb, 0xc8, 0x21, 0x25, 0xea, + 0x28, 0xbe, 0x7a, 0x80, +}; +static const unsigned char kat591_persstr[] = { + 0x7b, 0x25, 0x4b, 0xba, 0x67, 0x74, 0xfc, 0x1f, 0x60, 0x1c, 0x0f, 0x2f, + 0x9f, 0x90, 0x02, 0xa2, 0x90, 0x26, 0x9c, 0xb6, 0x56, 0x2d, 0x15, 0x0d, + 0x4b, 0x3a, 0x32, 0x11, 0x5c, 0xe4, 0x31, 0x3d, +}; +static const unsigned char kat591_addin0[] = { + 0x97, 0x14, 0xe5, 0x46, 0x0f, 0xed, 0x9b, 0x43, 0xb3, 0x03, 0x83, 0x3a, + 0x60, 0x01, 0xfe, 0x0b, 0x07, 0x1a, 0x43, 0x94, 0xd1, 0x03, 0x49, 0xb5, + 0x6a, 0xd1, 0xaa, 0x5c, 0x51, 0x14, 0xf9, 0x26, +}; +static const unsigned char kat591_addin1[] = { + 0xb1, 0x3a, 0x4e, 0x44, 0x21, 0xac, 0x55, 0x3f, 0x5c, 0x16, 0x6f, 0xd9, + 0x48, 0xb7, 0x58, 0x79, 0x4e, 0x57, 0xcc, 0x0c, 0xc0, 0xe7, 0x3e, 0x76, + 0x0d, 0xff, 0x26, 0xbe, 0xc8, 0xcf, 0x81, 0xe8, +}; +static const unsigned char kat591_retbits[] = { + 0x5d, 0xb4, 0x68, 0x50, 0x19, 0x62, 0x02, 0x48, 0xac, 0x08, 0xd0, 0x23, + 0xd2, 0xd6, 0x05, 0x06, 0xe2, 0x1d, 0x94, 0xd1, 0x56, 0xb9, 0xa1, 0xc3, + 0x90, 0x90, 0x3b, 0xf2, 0x51, 0xd1, 0xb1, 0xff, 0x3b, 0x46, 0xe0, 0x13, + 0xa2, 0xc6, 0xd9, 0x2a, 0x9f, 0x70, 0xa2, 0xb1, 0x8b, 0xbd, 0x75, 0x84, + 0xa2, 0xf0, 0xa1, 0x9d, 0x77, 0x0c, 0xa0, 0x16, 0xee, 0x5a, 0x5f, 0x83, + 0xfa, 0xf1, 0x78, 0xd7, +}; +static const struct drbg_kat_no_reseed kat591_t = { + 5, kat591_entropyin, kat591_nonce, kat591_persstr, + kat591_addin0, kat591_addin1, kat591_retbits +}; +static const struct drbg_kat kat591 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat591_t +}; + +static const unsigned char kat592_entropyin[] = { + 0x34, 0x00, 0x27, 0x77, 0x37, 0x42, 0xa6, 0xe9, 0x15, 0x53, 0xa7, 0xba, + 0x65, 0x44, 0x38, 0x8e, 0x74, 0xe3, 0xdd, 0xfc, 0x11, 0x51, 0xfd, 0xb9, + 0xb7, 0x63, 0xa9, 0xd1, 0x6c, 0xbe, 0x59, 0x7a, +}; +static const unsigned char kat592_nonce[] = { + 0xe6, 0x04, 0x47, 0x01, 0x69, 0x51, 0x28, 0x08, 0xcd, 0x4a, 0x13, 0x1b, + 0xb1, 0x82, 0x78, 0x0b, +}; +static const unsigned char kat592_persstr[] = { + 0x21, 0x0f, 0x36, 0xc9, 0x6b, 0x6b, 0x19, 0xf4, 0xb5, 0x59, 0x16, 0x1c, + 0x60, 0xc4, 0x8d, 0xf2, 0x96, 0xbf, 0xfc, 0xcc, 0xce, 0x09, 0x08, 0x59, + 0x9a, 0xba, 0xa4, 0x00, 0x17, 0x7a, 0x96, 0xe9, +}; +static const unsigned char kat592_addin0[] = { + 0xd5, 0x5d, 0x98, 0x16, 0xd5, 0xc4, 0xe2, 0xe2, 0xe1, 0x81, 0x12, 0x6b, + 0xc0, 0x80, 0x40, 0xa9, 0xf6, 0x53, 0xed, 0x95, 0xea, 0x12, 0x4c, 0x64, + 0xe4, 0x05, 0x9e, 0x2f, 0x48, 0xff, 0xef, 0x10, +}; +static const unsigned char kat592_addin1[] = { + 0x6c, 0x30, 0xa6, 0x4b, 0x1c, 0x73, 0xfb, 0xd0, 0x8d, 0xa5, 0xce, 0xbd, + 0xa1, 0x86, 0x42, 0xf7, 0x8a, 0x02, 0xbd, 0x32, 0x47, 0xab, 0x1d, 0x78, + 0xc1, 0xc0, 0x3f, 0x8a, 0x6c, 0xff, 0xdd, 0x89, +}; +static const unsigned char kat592_retbits[] = { + 0x4f, 0xff, 0x81, 0xdb, 0xf1, 0xf4, 0x2e, 0xf5, 0x7b, 0xdb, 0xf6, 0xda, + 0x19, 0x43, 0x11, 0xdb, 0xc4, 0xb4, 0x64, 0xd3, 0xa1, 0x1a, 0x33, 0xc6, + 0x64, 0xc0, 0xd5, 0x98, 0x34, 0xec, 0x60, 0xa5, 0x83, 0xb3, 0x90, 0x8a, + 0xde, 0x9c, 0xc6, 0xfb, 0xb8, 0x9d, 0xeb, 0xb1, 0x98, 0xd1, 0x14, 0x3a, + 0xba, 0x2b, 0xc5, 0x75, 0x39, 0x83, 0x08, 0x6b, 0x42, 0x20, 0x98, 0xa2, + 0x38, 0x77, 0xcb, 0x2a, +}; +static const struct drbg_kat_no_reseed kat592_t = { + 6, kat592_entropyin, kat592_nonce, kat592_persstr, + kat592_addin0, kat592_addin1, kat592_retbits +}; +static const struct drbg_kat kat592 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat592_t +}; + +static const unsigned char kat593_entropyin[] = { + 0xb3, 0x6a, 0x98, 0xe6, 0xc5, 0xb2, 0x36, 0x98, 0x13, 0x5e, 0xb3, 0x5f, + 0x28, 0xdc, 0x83, 0x0a, 0xc6, 0xbc, 0x17, 0x17, 0xe5, 0xc3, 0xee, 0x3e, + 0xa1, 0x38, 0x01, 0xf8, 0xa8, 0xc9, 0x36, 0x5d, +}; +static const unsigned char kat593_nonce[] = { + 0x7f, 0x13, 0x19, 0x97, 0xa9, 0x29, 0x22, 0x41, 0x3d, 0x83, 0x7c, 0xa5, + 0x0e, 0x17, 0xd9, 0x77, +}; +static const unsigned char kat593_persstr[] = { + 0x1e, 0xd6, 0xb0, 0x7c, 0xb5, 0x25, 0x13, 0x4e, 0xce, 0xe3, 0x22, 0x00, + 0x71, 0x36, 0x01, 0xc1, 0x8a, 0xbd, 0x9c, 0x79, 0x20, 0xe7, 0xad, 0x1d, + 0xc0, 0x76, 0x4c, 0xd9, 0x2e, 0x3d, 0x56, 0xff, +}; +static const unsigned char kat593_addin0[] = { + 0xa4, 0xef, 0x95, 0x75, 0xb9, 0x66, 0x82, 0xd7, 0x55, 0x2f, 0x9e, 0xb7, + 0xba, 0x26, 0x9c, 0x43, 0xa5, 0x08, 0x35, 0xf2, 0x3f, 0xb2, 0xcf, 0x1f, + 0x81, 0x83, 0x8e, 0x9c, 0x01, 0xb1, 0xea, 0x40, +}; +static const unsigned char kat593_addin1[] = { + 0x18, 0x9b, 0xcd, 0x45, 0xfa, 0x13, 0x93, 0x98, 0x38, 0x66, 0x3a, 0xde, + 0x2e, 0xaf, 0x19, 0x79, 0xb3, 0x3c, 0x17, 0x2f, 0x5e, 0xd7, 0x41, 0x12, + 0x3f, 0x06, 0xa2, 0xe3, 0xca, 0x25, 0x42, 0x7f, +}; +static const unsigned char kat593_retbits[] = { + 0xc8, 0xb6, 0xcc, 0x90, 0x1c, 0x42, 0x36, 0xbd, 0x39, 0x14, 0xbc, 0x77, + 0x98, 0x7d, 0x9d, 0x63, 0x99, 0x73, 0xd6, 0x9c, 0x96, 0xe0, 0x40, 0x19, + 0x77, 0x37, 0xb9, 0xa7, 0x2b, 0xbf, 0x3b, 0x5e, 0x89, 0x98, 0xc5, 0x49, + 0x67, 0xbd, 0xae, 0x26, 0x14, 0x67, 0x72, 0x71, 0x6e, 0xd2, 0xae, 0x0c, + 0x6b, 0x20, 0x84, 0x71, 0xbd, 0xf2, 0x1a, 0x85, 0xb2, 0x77, 0x4b, 0xf7, + 0xe5, 0x16, 0xb3, 0x4f, +}; +static const struct drbg_kat_no_reseed kat593_t = { + 7, kat593_entropyin, kat593_nonce, kat593_persstr, + kat593_addin0, kat593_addin1, kat593_retbits +}; +static const struct drbg_kat kat593 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat593_t +}; + +static const unsigned char kat594_entropyin[] = { + 0xc0, 0x0c, 0xdf, 0x7e, 0x0e, 0x78, 0x6a, 0x07, 0x93, 0x78, 0x3b, 0x6c, + 0xed, 0xc3, 0x7d, 0x6d, 0x05, 0x04, 0xd8, 0xc5, 0xeb, 0xff, 0x06, 0x30, + 0x14, 0xcf, 0x81, 0x09, 0x2c, 0xf6, 0x1d, 0x11, +}; +static const unsigned char kat594_nonce[] = { + 0x94, 0x21, 0x43, 0x51, 0x9f, 0x87, 0xb3, 0x83, 0x5a, 0x0e, 0xdc, 0xa2, + 0xd4, 0xcd, 0x22, 0x85, +}; +static const unsigned char kat594_persstr[] = { + 0x3a, 0x95, 0x3e, 0x04, 0x1c, 0x7e, 0x5d, 0x30, 0x63, 0x2d, 0x34, 0xa7, + 0xe8, 0x14, 0xf4, 0xfa, 0xcc, 0x85, 0x8d, 0xe6, 0xb8, 0xfb, 0x3c, 0x43, + 0x29, 0x73, 0xa4, 0xdb, 0x4a, 0x5a, 0x78, 0xc2, +}; +static const unsigned char kat594_addin0[] = { + 0x1f, 0xab, 0x18, 0x06, 0x26, 0x0c, 0x24, 0x25, 0x95, 0x36, 0xe1, 0x45, + 0x74, 0xbb, 0xef, 0x9b, 0xe5, 0x0e, 0xda, 0x48, 0x93, 0x63, 0x32, 0xd6, + 0x0b, 0xc3, 0xdb, 0xcf, 0x6b, 0x10, 0xf5, 0xf7, +}; +static const unsigned char kat594_addin1[] = { + 0x18, 0xcc, 0xe3, 0x08, 0x95, 0x6e, 0x63, 0x50, 0x5d, 0x43, 0xdd, 0xc2, + 0x87, 0x09, 0xea, 0xcc, 0x78, 0x3a, 0x14, 0x93, 0x15, 0x93, 0xd0, 0x79, + 0xd6, 0xbd, 0x74, 0xa6, 0x95, 0xc3, 0x07, 0x5a, +}; +static const unsigned char kat594_retbits[] = { + 0x9f, 0x4d, 0x77, 0xd3, 0x94, 0x81, 0x51, 0x48, 0x16, 0x2d, 0x6c, 0xca, + 0xa8, 0xb7, 0x3c, 0xbd, 0x61, 0xb5, 0x4c, 0x5d, 0xb1, 0x04, 0xe7, 0xc0, + 0x47, 0xbf, 0x0a, 0x22, 0x5a, 0xe0, 0x55, 0x94, 0x33, 0x2b, 0xb5, 0x6c, + 0x60, 0xd5, 0x1d, 0x29, 0x86, 0xe5, 0x75, 0x13, 0xf4, 0xc2, 0x66, 0xdf, + 0x39, 0xd9, 0xbe, 0xee, 0x9b, 0x69, 0x64, 0x98, 0x91, 0xb6, 0xcc, 0xae, + 0xf4, 0xb9, 0x86, 0xbd, +}; +static const struct drbg_kat_no_reseed kat594_t = { + 8, kat594_entropyin, kat594_nonce, kat594_persstr, + kat594_addin0, kat594_addin1, kat594_retbits +}; +static const struct drbg_kat kat594 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat594_t +}; + +static const unsigned char kat595_entropyin[] = { + 0xfb, 0x5f, 0x69, 0x58, 0x20, 0x3f, 0xa7, 0xbd, 0x06, 0x66, 0x55, 0xef, + 0x7b, 0x5f, 0xde, 0x99, 0xa5, 0x71, 0x94, 0x7e, 0x1f, 0x74, 0xb8, 0xb8, + 0xf5, 0x3a, 0x85, 0x4d, 0xbb, 0xbc, 0x35, 0x2e, +}; +static const unsigned char kat595_nonce[] = { + 0x02, 0x90, 0xfb, 0x96, 0xdd, 0xae, 0xd0, 0xd8, 0x17, 0x9a, 0x07, 0x95, + 0xee, 0x1c, 0xd5, 0x29, +}; +static const unsigned char kat595_persstr[] = { + 0xc5, 0x9d, 0x3d, 0x2f, 0xe3, 0x0b, 0x85, 0xed, 0x64, 0xdb, 0x2c, 0x9a, + 0xe8, 0x63, 0xb9, 0xda, 0xad, 0x7b, 0xf9, 0x6c, 0x33, 0x1d, 0x66, 0xdf, + 0x94, 0x5f, 0x5f, 0x3a, 0x1f, 0x8d, 0x25, 0x15, +}; +static const unsigned char kat595_addin0[] = { + 0xc9, 0x9d, 0x7f, 0xe2, 0xde, 0xb6, 0xaf, 0x99, 0xa1, 0x78, 0x2e, 0x8f, + 0xc1, 0x2a, 0x51, 0x96, 0x36, 0x47, 0x1f, 0xc3, 0xbf, 0xad, 0x0a, 0xc2, + 0xa7, 0x89, 0xa2, 0xf2, 0x0f, 0x4d, 0xf6, 0x3f, +}; +static const unsigned char kat595_addin1[] = { + 0xe4, 0x79, 0xac, 0x18, 0xb2, 0xfe, 0xd6, 0xd9, 0xf2, 0xee, 0x44, 0x1a, + 0x20, 0xbd, 0x50, 0xaa, 0xdd, 0x2a, 0x90, 0xba, 0x96, 0x25, 0xac, 0xe0, + 0x1a, 0x44, 0x49, 0xa6, 0xce, 0x6e, 0xfa, 0x92, +}; +static const unsigned char kat595_retbits[] = { + 0x0a, 0xb8, 0x70, 0xc2, 0x51, 0x6e, 0xac, 0x1e, 0xf1, 0xe6, 0xdd, 0x3f, + 0x2d, 0xe9, 0xdd, 0x05, 0x64, 0xa5, 0x63, 0x63, 0xf0, 0xb8, 0xc4, 0x2b, + 0x4b, 0xae, 0x4b, 0x22, 0xe1, 0x4c, 0x99, 0x12, 0xb4, 0xc1, 0xcb, 0xa8, + 0xf3, 0x15, 0x8e, 0xb5, 0x88, 0x1b, 0x86, 0x52, 0x4c, 0x94, 0xcb, 0xb2, + 0xc8, 0x16, 0x9f, 0xc8, 0xcc, 0x2c, 0x13, 0x10, 0x3a, 0x64, 0x78, 0x33, + 0x7f, 0x2b, 0xb0, 0x0a, +}; +static const struct drbg_kat_no_reseed kat595_t = { + 9, kat595_entropyin, kat595_nonce, kat595_persstr, + kat595_addin0, kat595_addin1, kat595_retbits +}; +static const struct drbg_kat kat595 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat595_t +}; + +static const unsigned char kat596_entropyin[] = { + 0xa4, 0xc9, 0x75, 0x00, 0x48, 0xb3, 0x35, 0x54, 0xe2, 0x47, 0x59, 0xa3, + 0x76, 0x27, 0xc4, 0x0f, 0xa7, 0xd2, 0xbc, 0xc0, 0x45, 0xb0, 0x6b, 0xd2, + 0x2a, 0x8d, 0x90, 0xae, 0x1a, 0x8c, 0xa2, 0x79, +}; +static const unsigned char kat596_nonce[] = { + 0xba, 0xa1, 0x37, 0xff, 0xca, 0xd7, 0x2d, 0x25, 0x82, 0xc4, 0xc3, 0x48, + 0xb1, 0x2b, 0x81, 0x58, +}; +static const unsigned char kat596_persstr[] = { + 0xa4, 0xf1, 0x15, 0x88, 0x5e, 0x0f, 0x45, 0xc4, 0x58, 0x0d, 0x04, 0xca, + 0xfc, 0xfb, 0xa8, 0xec, 0x09, 0xc5, 0xe0, 0x81, 0xb6, 0x5d, 0x64, 0x85, + 0x67, 0xc5, 0x5a, 0x9d, 0x65, 0x1e, 0x52, 0x1c, +}; +static const unsigned char kat596_addin0[] = { + 0xeb, 0x8e, 0x2a, 0xa1, 0x82, 0xfb, 0xf7, 0x85, 0xf2, 0x5d, 0xa7, 0xf5, + 0x70, 0x54, 0xb7, 0x01, 0x71, 0xe5, 0xa2, 0x6a, 0xfc, 0x5a, 0x61, 0xaa, + 0xa1, 0xf9, 0x2f, 0xb4, 0xcb, 0x3a, 0xc5, 0x0c, +}; +static const unsigned char kat596_addin1[] = { + 0xa4, 0x4a, 0xa0, 0xb5, 0x25, 0x5b, 0xa3, 0x39, 0xbc, 0x3c, 0xd1, 0x71, + 0x5e, 0xc6, 0xa8, 0xd5, 0x56, 0x99, 0xe1, 0xb4, 0x99, 0x6b, 0x9d, 0x73, + 0x7d, 0xa8, 0x3b, 0x8a, 0x35, 0x70, 0x45, 0xb2, +}; +static const unsigned char kat596_retbits[] = { + 0x53, 0xf7, 0x4f, 0xe7, 0xab, 0x0a, 0xd3, 0x1d, 0x5d, 0xf0, 0x32, 0x7e, + 0x6d, 0xbc, 0xf5, 0xde, 0xeb, 0x3f, 0x0b, 0xd9, 0xd1, 0xff, 0x50, 0xb7, + 0xa9, 0xd5, 0x22, 0xfd, 0x9c, 0x9c, 0x3f, 0x63, 0x3e, 0x53, 0xce, 0x1d, + 0x31, 0x66, 0xaa, 0x7f, 0x2a, 0x25, 0xe3, 0x2d, 0x04, 0x88, 0xff, 0x07, + 0x89, 0xa1, 0xb9, 0x81, 0x88, 0x6d, 0x4a, 0xbd, 0xd2, 0x01, 0x4d, 0xe3, + 0x25, 0x9d, 0x40, 0x64, +}; +static const struct drbg_kat_no_reseed kat596_t = { + 10, kat596_entropyin, kat596_nonce, kat596_persstr, + kat596_addin0, kat596_addin1, kat596_retbits +}; +static const struct drbg_kat kat596 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat596_t +}; + +static const unsigned char kat597_entropyin[] = { + 0x30, 0xb0, 0x28, 0x27, 0xca, 0xcd, 0xcb, 0xd1, 0xd9, 0x97, 0x1a, 0xf6, + 0x88, 0xa4, 0x5a, 0x6b, 0x31, 0x1e, 0x49, 0x56, 0x14, 0x29, 0xfa, 0xec, + 0x6a, 0xef, 0x87, 0x67, 0x1b, 0xac, 0xc6, 0xf9, +}; +static const unsigned char kat597_nonce[] = { + 0x1b, 0x17, 0x46, 0xf7, 0x69, 0x39, 0xeb, 0x07, 0x18, 0x32, 0x86, 0x96, + 0x5e, 0xe6, 0x48, 0xab, +}; +static const unsigned char kat597_persstr[] = { + 0x6b, 0x4f, 0x4b, 0x56, 0x56, 0x93, 0x48, 0x26, 0x93, 0xf6, 0x96, 0x51, + 0x21, 0x04, 0xec, 0x1a, 0xe1, 0x2a, 0xc6, 0x5a, 0x7c, 0xe0, 0xba, 0xbb, + 0xf1, 0x93, 0xf1, 0xfd, 0xc4, 0xc2, 0x31, 0xed, +}; +static const unsigned char kat597_addin0[] = { + 0x1e, 0x3a, 0xdf, 0x2b, 0x30, 0xf2, 0x88, 0xb2, 0xa1, 0x8d, 0x28, 0x7c, + 0x1b, 0x05, 0x3a, 0xfb, 0x7e, 0x51, 0x3f, 0x6d, 0xe9, 0x03, 0x86, 0xab, + 0xb9, 0xda, 0x60, 0x41, 0x94, 0x15, 0xcd, 0x72, +}; +static const unsigned char kat597_addin1[] = { + 0xe1, 0x92, 0x54, 0xcf, 0x8b, 0xb5, 0x02, 0x3f, 0xdf, 0x51, 0x26, 0x9b, + 0x83, 0xa9, 0x61, 0xf5, 0xa3, 0x47, 0xf5, 0x42, 0x98, 0xa3, 0x19, 0x66, + 0x98, 0xd4, 0xc9, 0xfa, 0xe3, 0xca, 0x2c, 0xcb, +}; +static const unsigned char kat597_retbits[] = { + 0x47, 0x3b, 0xe3, 0x98, 0xde, 0x0e, 0x2e, 0x5c, 0xdc, 0x50, 0x52, 0x9e, + 0x6c, 0xeb, 0x02, 0x22, 0xb4, 0x03, 0x8e, 0x8e, 0x07, 0x76, 0xe9, 0x6c, + 0x27, 0x74, 0x21, 0xed, 0xc1, 0x0f, 0x2a, 0x84, 0x1d, 0xec, 0x9f, 0x07, + 0xc8, 0x2f, 0x00, 0xe2, 0xf5, 0x30, 0x62, 0xab, 0x68, 0xe3, 0xf7, 0xd4, + 0xeb, 0xdc, 0x18, 0x99, 0x9e, 0x36, 0x2e, 0xe9, 0x04, 0xa0, 0xba, 0xf4, + 0x42, 0x29, 0xb5, 0x9c, +}; +static const struct drbg_kat_no_reseed kat597_t = { + 11, kat597_entropyin, kat597_nonce, kat597_persstr, + kat597_addin0, kat597_addin1, kat597_retbits +}; +static const struct drbg_kat kat597 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat597_t +}; + +static const unsigned char kat598_entropyin[] = { + 0x55, 0x4c, 0x46, 0x7d, 0xfd, 0x02, 0xc9, 0x63, 0x97, 0x25, 0x18, 0x37, + 0x85, 0xae, 0xcd, 0x6c, 0x0f, 0x5a, 0x32, 0x80, 0xc6, 0x1c, 0x82, 0x2b, + 0xab, 0x02, 0xf1, 0xd7, 0x41, 0x3f, 0x43, 0x61, +}; +static const unsigned char kat598_nonce[] = { + 0x6f, 0xf6, 0xa4, 0xac, 0xc5, 0xa5, 0x8c, 0x68, 0x1d, 0xe9, 0xa5, 0x44, + 0x1a, 0x9f, 0x75, 0x6f, +}; +static const unsigned char kat598_persstr[] = { + 0x6a, 0xce, 0xc4, 0xa4, 0xc0, 0xbe, 0x17, 0x21, 0x8e, 0x7c, 0x3f, 0x42, + 0x46, 0x64, 0x09, 0x20, 0xaa, 0xc4, 0x8f, 0xb3, 0x80, 0x09, 0x14, 0xdb, + 0x2f, 0x86, 0xdc, 0x53, 0x90, 0x3b, 0x09, 0xaf, +}; +static const unsigned char kat598_addin0[] = { + 0xcd, 0x24, 0x87, 0x5c, 0xdf, 0x70, 0xeb, 0x4f, 0xb7, 0x1c, 0x01, 0x23, + 0xe0, 0xeb, 0x73, 0x8a, 0x71, 0xdd, 0x76, 0xf3, 0x6f, 0xf5, 0x4b, 0x9b, + 0x7e, 0xc7, 0x06, 0xce, 0xf0, 0xe0, 0x35, 0xf5, +}; +static const unsigned char kat598_addin1[] = { + 0x99, 0xd6, 0x71, 0xe8, 0xf8, 0xe7, 0x2c, 0xf8, 0xe9, 0xa0, 0x2e, 0x76, + 0x30, 0x64, 0x8c, 0xed, 0x53, 0xac, 0x39, 0x3f, 0x6f, 0xc0, 0x42, 0x5e, + 0x5f, 0x52, 0x5e, 0xb4, 0x13, 0xd3, 0x75, 0xdd, +}; +static const unsigned char kat598_retbits[] = { + 0x35, 0xbe, 0xae, 0x85, 0x58, 0xe9, 0xb5, 0xec, 0xb3, 0x0b, 0x1b, 0xf5, + 0xab, 0xc5, 0x23, 0x10, 0x21, 0x91, 0x96, 0xb5, 0x81, 0x23, 0x25, 0x70, + 0x43, 0xd2, 0x79, 0x3c, 0x05, 0xc9, 0x65, 0xe6, 0x25, 0x8a, 0xf7, 0x83, + 0xec, 0xee, 0x80, 0xb3, 0x39, 0x29, 0xa3, 0xfd, 0xd7, 0x7a, 0x8b, 0x1a, + 0xdf, 0xfb, 0x72, 0x3b, 0xcf, 0xe7, 0xe6, 0x5f, 0x7c, 0xac, 0x68, 0x28, + 0x62, 0x22, 0x0f, 0x4e, +}; +static const struct drbg_kat_no_reseed kat598_t = { + 12, kat598_entropyin, kat598_nonce, kat598_persstr, + kat598_addin0, kat598_addin1, kat598_retbits +}; +static const struct drbg_kat kat598 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat598_t +}; + +static const unsigned char kat599_entropyin[] = { + 0x93, 0xee, 0x61, 0xdd, 0x85, 0x0c, 0x0c, 0x97, 0x27, 0x36, 0xaa, 0x98, + 0xdc, 0x18, 0xbb, 0x3a, 0xdd, 0x52, 0x9e, 0xb9, 0x25, 0x83, 0x21, 0x1a, + 0x29, 0x8f, 0xb0, 0x8d, 0xf1, 0x7a, 0x7a, 0xf7, +}; +static const unsigned char kat599_nonce[] = { + 0x0a, 0x4d, 0xf3, 0x17, 0x78, 0x47, 0x51, 0x08, 0x2b, 0x98, 0x2c, 0x85, + 0x71, 0x7c, 0xdc, 0x2c, +}; +static const unsigned char kat599_persstr[] = { + 0xf4, 0xf1, 0x0e, 0x09, 0x5e, 0x9f, 0x5f, 0xaa, 0xcc, 0xa2, 0x4f, 0x53, + 0x95, 0xa7, 0x3c, 0xb1, 0x53, 0x85, 0x65, 0xdf, 0x67, 0x9c, 0x87, 0x54, + 0xb7, 0xad, 0x94, 0xe8, 0x36, 0xf6, 0x91, 0x68, +}; +static const unsigned char kat599_addin0[] = { + 0x87, 0x6e, 0x00, 0x2f, 0x90, 0xf5, 0x06, 0x3d, 0xdd, 0x5c, 0x57, 0x8d, + 0x9d, 0x9f, 0x4a, 0x2a, 0x9b, 0xde, 0x7e, 0xf2, 0x8a, 0x41, 0xd9, 0xc2, + 0x77, 0xa4, 0x89, 0xe8, 0x5a, 0xfb, 0x63, 0x5b, +}; +static const unsigned char kat599_addin1[] = { + 0xc2, 0x56, 0x2e, 0xc2, 0x35, 0x3e, 0x63, 0xe1, 0x3e, 0x6c, 0x6f, 0x6f, + 0x06, 0xe1, 0xba, 0x22, 0x0b, 0x08, 0x48, 0xbe, 0x35, 0x3e, 0x5b, 0xd4, + 0x46, 0x89, 0x21, 0xb9, 0xbf, 0x26, 0x49, 0xfa, +}; +static const unsigned char kat599_retbits[] = { + 0xd4, 0xcf, 0x47, 0x8c, 0x91, 0xba, 0x19, 0x73, 0xa7, 0xcf, 0xae, 0x15, + 0x9b, 0x8e, 0x4c, 0x05, 0x25, 0xb2, 0x96, 0xb5, 0x44, 0xfd, 0x85, 0x44, + 0xf4, 0xff, 0x10, 0xe7, 0xa2, 0xc5, 0xae, 0xbb, 0xe8, 0xb5, 0xa1, 0x0f, + 0xef, 0x16, 0xf4, 0xa9, 0x1c, 0x19, 0x93, 0x09, 0x0b, 0xe7, 0x62, 0x8c, + 0xe2, 0x1f, 0x53, 0xe2, 0xb4, 0xe7, 0xd6, 0xc2, 0xf1, 0x4b, 0xe3, 0x44, + 0x18, 0x8f, 0xa4, 0xe6, +}; +static const struct drbg_kat_no_reseed kat599_t = { + 13, kat599_entropyin, kat599_nonce, kat599_persstr, + kat599_addin0, kat599_addin1, kat599_retbits +}; +static const struct drbg_kat kat599 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat599_t +}; + +static const unsigned char kat600_entropyin[] = { + 0xac, 0x38, 0xc3, 0x8c, 0x49, 0x8b, 0xf9, 0xb7, 0xcc, 0x72, 0x4f, 0x79, + 0x27, 0x06, 0xa0, 0x7b, 0x87, 0xe4, 0xbb, 0xa1, 0x92, 0x9a, 0x41, 0x8b, + 0x03, 0xb7, 0x42, 0xe4, 0xb0, 0xca, 0xe3, 0x9a, +}; +static const unsigned char kat600_nonce[] = { + 0x80, 0x85, 0xcb, 0x0e, 0xf7, 0xd5, 0x46, 0xee, 0x8d, 0x4f, 0x9b, 0xb1, + 0x83, 0xde, 0x56, 0xe4, +}; +static const unsigned char kat600_persstr[] = { + 0x73, 0xf2, 0xd1, 0x80, 0xa4, 0xd2, 0xc7, 0x36, 0x4a, 0x64, 0xbe, 0x7a, + 0xa7, 0x57, 0xbe, 0x6d, 0xf2, 0x7d, 0x93, 0x7a, 0xe8, 0xda, 0x40, 0x6c, + 0x61, 0xd0, 0x35, 0x3d, 0xda, 0x31, 0x9f, 0xd5, +}; +static const unsigned char kat600_addin0[] = { + 0xd3, 0xef, 0x42, 0xed, 0xc3, 0x18, 0xfe, 0x36, 0x24, 0xe7, 0x2f, 0x27, + 0x18, 0xd2, 0x74, 0xd7, 0xdb, 0xe2, 0xd8, 0x9f, 0xd8, 0xe3, 0xc4, 0xcf, + 0xc8, 0xa7, 0xa7, 0xa1, 0xb5, 0x02, 0x21, 0x6f, +}; +static const unsigned char kat600_addin1[] = { + 0x1f, 0xbb, 0xd7, 0x3b, 0x62, 0xd4, 0x31, 0x0a, 0x63, 0x6f, 0xd5, 0x6d, + 0x28, 0x37, 0x44, 0xf4, 0x85, 0x91, 0xf9, 0x6a, 0x0b, 0x65, 0xf2, 0x4d, + 0x87, 0x11, 0xec, 0xf9, 0x2b, 0x3c, 0xe3, 0xdc, +}; +static const unsigned char kat600_retbits[] = { + 0x75, 0xb4, 0x29, 0xd2, 0x65, 0x7e, 0x16, 0xc7, 0x32, 0x5d, 0x05, 0x70, + 0x00, 0x5c, 0x42, 0xb2, 0x21, 0x66, 0x4e, 0x8e, 0x1b, 0x0c, 0x1e, 0x69, + 0x54, 0xaa, 0xc3, 0x06, 0x2b, 0xbc, 0x84, 0xfd, 0xc6, 0x9e, 0xb2, 0xa5, + 0x4a, 0xff, 0xcc, 0x49, 0xb4, 0x01, 0xa2, 0x22, 0x1f, 0x68, 0xa9, 0x17, + 0x46, 0x31, 0x24, 0x45, 0xb0, 0x3d, 0xf1, 0xb8, 0xf9, 0xe9, 0xf2, 0xe3, + 0x4a, 0x7a, 0x1f, 0x70, +}; +static const struct drbg_kat_no_reseed kat600_t = { + 14, kat600_entropyin, kat600_nonce, kat600_persstr, + kat600_addin0, kat600_addin1, kat600_retbits +}; +static const struct drbg_kat kat600 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat600_t +}; + +static const unsigned char kat601_entropyin[] = { + 0x58, 0xa5, 0xf7, 0x9d, 0xa4, 0x4b, 0x9f, 0x23, 0xa9, 0x8a, 0x39, 0x35, + 0x29, 0x72, 0xad, 0x16, 0x03, 0x1f, 0xe1, 0x36, 0x37, 0xbd, 0x18, 0xd6, + 0xcb, 0x6c, 0x9f, 0x52, 0x69, 0xd8, 0xe2, 0x40, +}; +static const unsigned char kat601_nonce[] = { + 0xaa, 0xa4, 0x66, 0x10, 0x68, 0x11, 0x67, 0xff, 0x8d, 0x4d, 0x2c, 0x51, + 0xe7, 0x79, 0x11, 0xd4, +}; +static const unsigned char kat601_persstr[] = {0}; +static const unsigned char kat601_addin0[] = {0}; +static const unsigned char kat601_addin1[] = {0}; +static const unsigned char kat601_retbits[] = { + 0xc1, 0x71, 0x4f, 0x89, 0x45, 0x9c, 0xe7, 0x46, 0xb1, 0x51, 0x50, 0x9e, + 0x50, 0x66, 0xd4, 0x81, 0x1a, 0x06, 0xad, 0x06, 0xc1, 0xe9, 0xb1, 0x3b, + 0x50, 0xc0, 0xfc, 0x7c, 0xdd, 0x77, 0xce, 0xed, 0xc2, 0x33, 0x90, 0x8e, + 0xbe, 0x1e, 0xa8, 0x14, 0x0e, 0xc2, 0xdc, 0x26, 0x2a, 0x43, 0x20, 0x1b, + 0xe6, 0x67, 0x00, 0x8e, 0x08, 0x1e, 0x54, 0x76, 0xb1, 0x9b, 0x27, 0x21, + 0x41, 0x11, 0xd3, 0x25, +}; +static const struct drbg_kat_no_reseed kat601_t = { + 0, kat601_entropyin, kat601_nonce, kat601_persstr, + kat601_addin0, kat601_addin1, kat601_retbits +}; +static const struct drbg_kat kat601 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat601_t +}; + +static const unsigned char kat602_entropyin[] = { + 0xa9, 0x43, 0xe8, 0x09, 0x63, 0x04, 0x13, 0xde, 0x62, 0x07, 0x74, 0x6d, + 0x0d, 0x03, 0x41, 0x91, 0x3f, 0x46, 0x6a, 0xf0, 0xae, 0x89, 0x3c, 0xfb, + 0x34, 0x06, 0x57, 0x0b, 0x2f, 0xb7, 0x91, 0xcf, +}; +static const unsigned char kat602_nonce[] = { + 0x90, 0x7b, 0x9c, 0xf7, 0xf9, 0xed, 0xf0, 0x4f, 0xcf, 0x35, 0x10, 0x31, + 0x5d, 0xd0, 0xc3, 0x81, +}; +static const unsigned char kat602_persstr[] = {0}; +static const unsigned char kat602_addin0[] = {0}; +static const unsigned char kat602_addin1[] = {0}; +static const unsigned char kat602_retbits[] = { + 0xc3, 0xb8, 0x48, 0x88, 0xc5, 0x24, 0x4c, 0xdc, 0xbb, 0x94, 0x62, 0x99, + 0xcc, 0x38, 0x48, 0xc3, 0x79, 0xa9, 0xb7, 0x80, 0xe2, 0x1f, 0x02, 0x9f, + 0x0b, 0xb2, 0xfe, 0x81, 0x5a, 0x2d, 0x03, 0x9d, 0xd7, 0xaa, 0x8a, 0x2e, + 0x80, 0x8c, 0x2a, 0xc4, 0x7b, 0x8a, 0x9c, 0xb6, 0x86, 0x0b, 0x97, 0x04, + 0x40, 0x04, 0x9a, 0x65, 0xd8, 0x15, 0xe3, 0x36, 0x9e, 0xd8, 0x33, 0xc7, + 0x61, 0x24, 0xaa, 0xc1, +}; +static const struct drbg_kat_no_reseed kat602_t = { + 1, kat602_entropyin, kat602_nonce, kat602_persstr, + kat602_addin0, kat602_addin1, kat602_retbits +}; +static const struct drbg_kat kat602 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat602_t +}; + +static const unsigned char kat603_entropyin[] = { + 0x4d, 0x43, 0xce, 0xb1, 0xce, 0x9c, 0xac, 0xf5, 0x64, 0x03, 0xa0, 0xc9, + 0x90, 0x5d, 0xaa, 0x67, 0xa2, 0xac, 0xdd, 0xd0, 0xe4, 0xbe, 0x6a, 0x33, + 0x4b, 0x8c, 0x44, 0x34, 0xf4, 0xc6, 0x04, 0x55, +}; +static const unsigned char kat603_nonce[] = { + 0x97, 0x72, 0xaa, 0xea, 0x3c, 0xd3, 0x0c, 0xa7, 0x76, 0xd6, 0x74, 0xbc, + 0xfb, 0x88, 0x4e, 0x18, +}; +static const unsigned char kat603_persstr[] = {0}; +static const unsigned char kat603_addin0[] = {0}; +static const unsigned char kat603_addin1[] = {0}; +static const unsigned char kat603_retbits[] = { + 0x85, 0xc8, 0x7c, 0x47, 0x15, 0xc1, 0x6c, 0x4b, 0x75, 0x28, 0xd0, 0x40, + 0x23, 0x05, 0x63, 0x98, 0xff, 0x28, 0x28, 0xe0, 0xb6, 0x49, 0xfb, 0xd1, + 0x0a, 0x29, 0x7b, 0x74, 0xfc, 0x3d, 0xc0, 0xdf, 0x49, 0x66, 0xbc, 0xfc, + 0xd4, 0xf8, 0x2f, 0xdb, 0x22, 0x8f, 0xaf, 0x10, 0x2d, 0x52, 0xcc, 0xa0, + 0xd3, 0xae, 0x8a, 0xf7, 0xf0, 0xc5, 0xb3, 0x0f, 0xff, 0x62, 0xd0, 0xc5, + 0x45, 0xd3, 0xde, 0x79, +}; +static const struct drbg_kat_no_reseed kat603_t = { + 2, kat603_entropyin, kat603_nonce, kat603_persstr, + kat603_addin0, kat603_addin1, kat603_retbits +}; +static const struct drbg_kat kat603 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat603_t +}; + +static const unsigned char kat604_entropyin[] = { + 0xd4, 0x10, 0xcf, 0x13, 0xca, 0xe3, 0x65, 0xfa, 0xf3, 0x17, 0x2f, 0xb0, + 0xc2, 0x36, 0x84, 0x01, 0xf4, 0x43, 0xe7, 0x89, 0xa6, 0x2b, 0x3c, 0xe6, + 0xbc, 0x40, 0x02, 0x32, 0x49, 0xfe, 0x7d, 0xee, +}; +static const unsigned char kat604_nonce[] = { + 0x22, 0xc3, 0x12, 0xb5, 0x2a, 0x06, 0x92, 0xeb, 0x38, 0x76, 0x33, 0x32, + 0xb6, 0xcd, 0x4a, 0xe9, +}; +static const unsigned char kat604_persstr[] = {0}; +static const unsigned char kat604_addin0[] = {0}; +static const unsigned char kat604_addin1[] = {0}; +static const unsigned char kat604_retbits[] = { + 0xa0, 0x05, 0xf4, 0x0f, 0xde, 0xfa, 0x1e, 0x1d, 0xce, 0x22, 0xf7, 0x35, + 0xbf, 0x3e, 0x87, 0xea, 0xfc, 0x8e, 0xc3, 0x58, 0x4a, 0x6b, 0x2b, 0x80, + 0x45, 0xbe, 0x53, 0xbd, 0xe0, 0xb1, 0xcd, 0xc4, 0x6b, 0xe3, 0x80, 0xbe, + 0x86, 0x05, 0x38, 0xca, 0x0e, 0x97, 0x6e, 0xed, 0xda, 0xe4, 0xad, 0xd2, + 0x20, 0x42, 0x62, 0x35, 0x0d, 0x5f, 0x6e, 0x19, 0xe3, 0x4d, 0xb0, 0xfc, + 0x47, 0xdc, 0xd0, 0xec, +}; +static const struct drbg_kat_no_reseed kat604_t = { + 3, kat604_entropyin, kat604_nonce, kat604_persstr, + kat604_addin0, kat604_addin1, kat604_retbits +}; +static const struct drbg_kat kat604 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat604_t +}; + +static const unsigned char kat605_entropyin[] = { + 0xf8, 0x09, 0x72, 0xa5, 0xcd, 0x4e, 0x2e, 0x14, 0xb1, 0xf5, 0x21, 0x4d, + 0xd9, 0x3c, 0x54, 0x9d, 0xc5, 0x1e, 0xdb, 0x97, 0xc1, 0x44, 0x7d, 0x52, + 0xf3, 0xe9, 0x1b, 0x30, 0xc1, 0x5b, 0x74, 0x8c, +}; +static const unsigned char kat605_nonce[] = { + 0xe1, 0xdf, 0xe4, 0xaa, 0x77, 0x7a, 0x0b, 0xeb, 0xd1, 0xfe, 0x93, 0x66, + 0x35, 0xa5, 0x19, 0x3d, +}; +static const unsigned char kat605_persstr[] = {0}; +static const unsigned char kat605_addin0[] = {0}; +static const unsigned char kat605_addin1[] = {0}; +static const unsigned char kat605_retbits[] = { + 0xf3, 0x89, 0xde, 0xfd, 0x88, 0xce, 0x73, 0xa6, 0xa5, 0xd8, 0x1a, 0x32, + 0xfe, 0xdf, 0x26, 0xe0, 0x05, 0xa5, 0xd4, 0x2f, 0x78, 0x68, 0xfb, 0xa4, + 0x0d, 0xdf, 0x20, 0xdf, 0x63, 0x25, 0xfe, 0x34, 0x73, 0x8d, 0xa3, 0xce, + 0xbb, 0x62, 0xb6, 0x02, 0x21, 0x72, 0x47, 0xfe, 0xf7, 0x78, 0x37, 0xfc, + 0x73, 0xdb, 0xef, 0x33, 0xb8, 0x13, 0xb2, 0x6e, 0xb0, 0x6b, 0xe2, 0xad, + 0x05, 0x06, 0x98, 0x82, +}; +static const struct drbg_kat_no_reseed kat605_t = { + 4, kat605_entropyin, kat605_nonce, kat605_persstr, + kat605_addin0, kat605_addin1, kat605_retbits +}; +static const struct drbg_kat kat605 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat605_t +}; + +static const unsigned char kat606_entropyin[] = { + 0x92, 0xae, 0x36, 0x3f, 0xcb, 0xe3, 0x5f, 0xd5, 0xf6, 0x06, 0xd2, 0x1d, + 0x20, 0x94, 0xf9, 0x5b, 0x90, 0xe6, 0xb1, 0x1c, 0x21, 0x49, 0x4f, 0xe0, + 0xea, 0x3f, 0x7e, 0x8d, 0x0c, 0xcb, 0x2b, 0xc3, +}; +static const unsigned char kat606_nonce[] = { + 0x88, 0xb3, 0x1b, 0x93, 0x1f, 0x49, 0xf8, 0x6c, 0x43, 0x05, 0x71, 0xaf, + 0x1a, 0x35, 0x2a, 0x3c, +}; +static const unsigned char kat606_persstr[] = {0}; +static const unsigned char kat606_addin0[] = {0}; +static const unsigned char kat606_addin1[] = {0}; +static const unsigned char kat606_retbits[] = { + 0x4f, 0x4a, 0x1e, 0x0e, 0xa8, 0x21, 0xbb, 0x8a, 0xdd, 0x74, 0xaf, 0xe6, + 0xe1, 0x26, 0x59, 0x81, 0x33, 0x38, 0xed, 0xe3, 0xd1, 0xd3, 0x53, 0x58, + 0x08, 0x34, 0x2a, 0x0c, 0xb3, 0xd0, 0x66, 0xec, 0x13, 0xa8, 0xd5, 0x29, + 0x97, 0x33, 0x66, 0x07, 0x29, 0x7e, 0x56, 0xff, 0x53, 0xca, 0x5a, 0x50, + 0x14, 0x75, 0x90, 0x23, 0x2d, 0x26, 0xf0, 0x41, 0xf7, 0x6f, 0xf9, 0xb5, + 0x82, 0x3f, 0x36, 0xf4, +}; +static const struct drbg_kat_no_reseed kat606_t = { + 5, kat606_entropyin, kat606_nonce, kat606_persstr, + kat606_addin0, kat606_addin1, kat606_retbits +}; +static const struct drbg_kat kat606 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat606_t +}; + +static const unsigned char kat607_entropyin[] = { + 0x01, 0xab, 0x1c, 0x40, 0x96, 0xc4, 0xed, 0x6d, 0x24, 0x10, 0x74, 0xc6, + 0xe8, 0xb3, 0xe4, 0xab, 0xe7, 0x93, 0x52, 0x35, 0xd6, 0xf4, 0x8e, 0x91, + 0x3b, 0x78, 0x0d, 0x21, 0x9a, 0x71, 0xfe, 0x2d, +}; +static const unsigned char kat607_nonce[] = { + 0x47, 0x2e, 0x39, 0xd4, 0x80, 0x0e, 0xf0, 0xee, 0xce, 0x7b, 0xed, 0x95, + 0x44, 0xd5, 0xaf, 0x5a, +}; +static const unsigned char kat607_persstr[] = {0}; +static const unsigned char kat607_addin0[] = {0}; +static const unsigned char kat607_addin1[] = {0}; +static const unsigned char kat607_retbits[] = { + 0xbf, 0x7a, 0xcb, 0x20, 0x90, 0x7e, 0x0b, 0xa1, 0x41, 0xe4, 0x65, 0x19, + 0xaa, 0x31, 0xd4, 0x6a, 0xd4, 0x5d, 0xa4, 0x6e, 0x01, 0x4b, 0x24, 0x20, + 0xd4, 0x8d, 0x30, 0x9c, 0xb0, 0xd4, 0x70, 0x3e, 0x82, 0xc6, 0xa7, 0x8e, + 0x83, 0x5e, 0xfa, 0xbb, 0x17, 0x23, 0xb7, 0x5b, 0x8d, 0xac, 0xe5, 0x96, + 0x80, 0x42, 0x41, 0x60, 0x75, 0xcb, 0x71, 0xb9, 0xc1, 0x49, 0x80, 0x6c, + 0xc4, 0x21, 0x47, 0x58, +}; +static const struct drbg_kat_no_reseed kat607_t = { + 6, kat607_entropyin, kat607_nonce, kat607_persstr, + kat607_addin0, kat607_addin1, kat607_retbits +}; +static const struct drbg_kat kat607 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat607_t +}; + +static const unsigned char kat608_entropyin[] = { + 0xf6, 0x30, 0x21, 0xbc, 0x49, 0x22, 0x30, 0x5c, 0x82, 0x67, 0xb2, 0xce, + 0xf7, 0x67, 0xe3, 0xbb, 0xda, 0xb7, 0x2e, 0x11, 0x9b, 0xc8, 0x31, 0x7a, + 0xd8, 0xfe, 0x2c, 0x27, 0x69, 0x4f, 0x9e, 0x00, +}; +static const unsigned char kat608_nonce[] = { + 0xe6, 0xcc, 0xef, 0x20, 0xf8, 0x75, 0x19, 0xd5, 0xd6, 0x77, 0x16, 0xe1, + 0x2e, 0x1b, 0xd7, 0x60, +}; +static const unsigned char kat608_persstr[] = {0}; +static const unsigned char kat608_addin0[] = {0}; +static const unsigned char kat608_addin1[] = {0}; +static const unsigned char kat608_retbits[] = { + 0xd7, 0xee, 0xc5, 0x1c, 0x18, 0x6f, 0x59, 0x90, 0xbc, 0x3f, 0x55, 0xdb, + 0x34, 0x2a, 0x41, 0xa2, 0xea, 0x15, 0x50, 0x34, 0xaf, 0x65, 0x1c, 0x3c, + 0x29, 0x13, 0x10, 0x24, 0x1d, 0x46, 0x55, 0x73, 0x3c, 0xc9, 0xd7, 0x81, + 0xd6, 0x88, 0x61, 0x38, 0xb3, 0xf9, 0xac, 0x59, 0x5b, 0x95, 0x6f, 0x94, + 0xda, 0xff, 0x64, 0xdf, 0xde, 0x94, 0xd3, 0xc8, 0xf2, 0xb8, 0x11, 0x82, + 0xb8, 0x7e, 0xb8, 0x32, +}; +static const struct drbg_kat_no_reseed kat608_t = { + 7, kat608_entropyin, kat608_nonce, kat608_persstr, + kat608_addin0, kat608_addin1, kat608_retbits +}; +static const struct drbg_kat kat608 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat608_t +}; + +static const unsigned char kat609_entropyin[] = { + 0xa8, 0xfd, 0xae, 0x7e, 0x11, 0x16, 0x12, 0x2d, 0x2b, 0x42, 0xd1, 0x54, + 0xa6, 0x32, 0x9a, 0xee, 0x99, 0xae, 0x6f, 0x3b, 0xd6, 0x51, 0x80, 0xa0, + 0x38, 0x28, 0xa3, 0x54, 0x4b, 0x80, 0xf9, 0x9b, +}; +static const unsigned char kat609_nonce[] = { + 0x10, 0xb1, 0x4f, 0x56, 0x8e, 0x42, 0xff, 0x31, 0xcf, 0x73, 0xb1, 0xf3, + 0x94, 0x3a, 0xec, 0xb8, +}; +static const unsigned char kat609_persstr[] = {0}; +static const unsigned char kat609_addin0[] = {0}; +static const unsigned char kat609_addin1[] = {0}; +static const unsigned char kat609_retbits[] = { + 0x4a, 0xbd, 0xe8, 0x19, 0x9c, 0x07, 0x76, 0xac, 0xe8, 0xaf, 0xba, 0x19, + 0x6d, 0x2b, 0xef, 0xc6, 0xd6, 0x88, 0x8f, 0x3e, 0x95, 0x60, 0x10, 0x88, + 0x95, 0x68, 0x90, 0x17, 0xac, 0x65, 0x4a, 0x55, 0x57, 0x22, 0xc0, 0xf1, + 0x4c, 0x53, 0xb1, 0x9f, 0x3c, 0xf6, 0x71, 0xa8, 0x8c, 0x10, 0xa9, 0x15, + 0xea, 0x72, 0x0e, 0x7d, 0xc9, 0xb9, 0xe5, 0xe0, 0x31, 0x91, 0x5e, 0x33, + 0x0e, 0xbb, 0x0e, 0x4c, +}; +static const struct drbg_kat_no_reseed kat609_t = { + 8, kat609_entropyin, kat609_nonce, kat609_persstr, + kat609_addin0, kat609_addin1, kat609_retbits +}; +static const struct drbg_kat kat609 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat609_t +}; + +static const unsigned char kat610_entropyin[] = { + 0x9a, 0xef, 0xe4, 0x3a, 0xc5, 0x49, 0x0d, 0xef, 0xc5, 0xba, 0xad, 0xb1, + 0x2e, 0x66, 0x83, 0x8d, 0xe9, 0xdd, 0xaf, 0xc9, 0x44, 0xcd, 0x68, 0x6e, + 0xcb, 0x05, 0x96, 0x35, 0x40, 0x34, 0x52, 0xaf, +}; +static const unsigned char kat610_nonce[] = { + 0xe9, 0x25, 0x6f, 0x49, 0x02, 0xc7, 0xd7, 0xf6, 0xbb, 0xb1, 0xdc, 0xc1, + 0x56, 0xdd, 0xf9, 0xbd, +}; +static const unsigned char kat610_persstr[] = {0}; +static const unsigned char kat610_addin0[] = {0}; +static const unsigned char kat610_addin1[] = {0}; +static const unsigned char kat610_retbits[] = { + 0xd9, 0x6d, 0x90, 0xac, 0x5a, 0xca, 0xb5, 0x4b, 0xe1, 0x8d, 0xa1, 0x9c, + 0x76, 0x15, 0xb4, 0xce, 0x47, 0x1a, 0x22, 0x41, 0x6f, 0xfe, 0x20, 0x43, + 0xe7, 0x82, 0xbe, 0xb8, 0x85, 0x26, 0x9b, 0xbb, 0xac, 0xe4, 0xc4, 0x16, + 0x05, 0x0c, 0xb4, 0xfb, 0x90, 0x15, 0x8f, 0xda, 0x6d, 0xa5, 0x8b, 0xf8, + 0x66, 0x0e, 0xf9, 0x16, 0x0d, 0x1c, 0x15, 0xfd, 0xd4, 0xc0, 0x67, 0xc5, + 0xc9, 0x8c, 0xcd, 0xb7, +}; +static const struct drbg_kat_no_reseed kat610_t = { + 9, kat610_entropyin, kat610_nonce, kat610_persstr, + kat610_addin0, kat610_addin1, kat610_retbits +}; +static const struct drbg_kat kat610 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat610_t +}; + +static const unsigned char kat611_entropyin[] = { + 0x36, 0x18, 0xb5, 0x63, 0x86, 0xb7, 0xae, 0x61, 0xdf, 0xc1, 0x84, 0x99, + 0x9c, 0xc4, 0x58, 0x7c, 0xf0, 0x7e, 0xda, 0x8b, 0xe8, 0x61, 0xf1, 0xc6, + 0x4a, 0x28, 0xec, 0xb2, 0x87, 0x58, 0x90, 0xd3, +}; +static const unsigned char kat611_nonce[] = { + 0xde, 0xb0, 0x3a, 0xcd, 0x0e, 0xa6, 0xf0, 0x59, 0x15, 0x80, 0xb8, 0xaf, + 0xbc, 0x2f, 0xf8, 0x80, +}; +static const unsigned char kat611_persstr[] = {0}; +static const unsigned char kat611_addin0[] = {0}; +static const unsigned char kat611_addin1[] = {0}; +static const unsigned char kat611_retbits[] = { + 0xf6, 0x05, 0x30, 0x5d, 0x87, 0xf2, 0x09, 0xac, 0x29, 0x3a, 0xb9, 0xc8, + 0xc1, 0xd3, 0x12, 0x84, 0x18, 0xfc, 0xc9, 0x17, 0x5a, 0xec, 0x25, 0x65, + 0x26, 0x5b, 0x1d, 0xac, 0x75, 0xe7, 0xaa, 0x80, 0x57, 0x95, 0x3e, 0x0f, + 0x68, 0x54, 0x80, 0x0f, 0x37, 0xce, 0x40, 0x5e, 0xeb, 0x24, 0x92, 0x7a, + 0xb7, 0x8e, 0x94, 0xfb, 0x69, 0x4b, 0x66, 0x8c, 0xaa, 0xeb, 0xa5, 0x27, + 0x1f, 0xc4, 0x86, 0xf4, +}; +static const struct drbg_kat_no_reseed kat611_t = { + 10, kat611_entropyin, kat611_nonce, kat611_persstr, + kat611_addin0, kat611_addin1, kat611_retbits +}; +static const struct drbg_kat kat611 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat611_t +}; + +static const unsigned char kat612_entropyin[] = { + 0xc0, 0x9c, 0xbd, 0x47, 0x8e, 0x38, 0xc7, 0x52, 0x0c, 0xd9, 0x24, 0x32, + 0xb5, 0xfc, 0xe8, 0xc1, 0x57, 0x58, 0xef, 0x56, 0xc4, 0xe4, 0x57, 0xfd, + 0x4f, 0x2c, 0x97, 0xd5, 0x2e, 0x8f, 0x45, 0x66, +}; +static const unsigned char kat612_nonce[] = { + 0x05, 0x3e, 0xa2, 0x92, 0x36, 0x74, 0x76, 0x41, 0x5d, 0xf7, 0xfe, 0xdb, + 0xf2, 0x5d, 0x69, 0x54, +}; +static const unsigned char kat612_persstr[] = {0}; +static const unsigned char kat612_addin0[] = {0}; +static const unsigned char kat612_addin1[] = {0}; +static const unsigned char kat612_retbits[] = { + 0x00, 0xa8, 0x1e, 0x0b, 0x7d, 0xb1, 0x56, 0x98, 0xb8, 0x9a, 0x75, 0xf5, + 0x61, 0x75, 0xf4, 0x49, 0xdb, 0xc4, 0x21, 0x1b, 0xa3, 0x54, 0xb4, 0x6f, + 0x24, 0x74, 0xac, 0xb5, 0x5d, 0xc1, 0x70, 0xbf, 0x6c, 0x0e, 0xe1, 0x81, + 0xdc, 0xea, 0xc3, 0xda, 0xf5, 0xfc, 0x81, 0xa5, 0x7c, 0x63, 0xdd, 0xc2, + 0x81, 0xcd, 0x24, 0xcd, 0x6e, 0x7f, 0x25, 0xa1, 0xb4, 0x0a, 0xdb, 0x4d, + 0x27, 0xc7, 0x13, 0x19, +}; +static const struct drbg_kat_no_reseed kat612_t = { + 11, kat612_entropyin, kat612_nonce, kat612_persstr, + kat612_addin0, kat612_addin1, kat612_retbits +}; +static const struct drbg_kat kat612 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat612_t +}; + +static const unsigned char kat613_entropyin[] = { + 0x59, 0xef, 0x31, 0xed, 0x68, 0x54, 0x01, 0x6a, 0xb4, 0xab, 0x7c, 0x4a, + 0xf7, 0x2f, 0x5b, 0x16, 0xad, 0x2d, 0x7b, 0x57, 0xa1, 0x8f, 0x79, 0xf8, + 0xf2, 0x9d, 0xe2, 0x6e, 0xe4, 0x20, 0x09, 0x61, +}; +static const unsigned char kat613_nonce[] = { + 0x8e, 0x8d, 0x6f, 0x83, 0x78, 0x63, 0x43, 0x14, 0xf7, 0x2a, 0xe0, 0x57, + 0x99, 0x1a, 0x33, 0x3e, +}; +static const unsigned char kat613_persstr[] = {0}; +static const unsigned char kat613_addin0[] = {0}; +static const unsigned char kat613_addin1[] = {0}; +static const unsigned char kat613_retbits[] = { + 0x1a, 0xcf, 0x34, 0x3f, 0xca, 0x1f, 0x42, 0xd4, 0x7a, 0x11, 0x31, 0xe5, + 0xd1, 0x89, 0x06, 0xb5, 0xb7, 0x3f, 0xff, 0x61, 0x46, 0x12, 0x37, 0x88, + 0x2a, 0x58, 0xbc, 0x5a, 0xdd, 0x75, 0x27, 0xa5, 0xdd, 0x03, 0xd2, 0xb1, + 0x96, 0x7b, 0x70, 0x22, 0x6d, 0x11, 0x19, 0xae, 0x14, 0x35, 0x91, 0x15, + 0x15, 0xe3, 0xea, 0xa6, 0x7a, 0xcf, 0x14, 0x42, 0x14, 0x71, 0x2f, 0xf3, + 0x34, 0x64, 0x90, 0xf2, +}; +static const struct drbg_kat_no_reseed kat613_t = { + 12, kat613_entropyin, kat613_nonce, kat613_persstr, + kat613_addin0, kat613_addin1, kat613_retbits +}; +static const struct drbg_kat kat613 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat613_t +}; + +static const unsigned char kat614_entropyin[] = { + 0x04, 0x13, 0x8e, 0x8f, 0xe8, 0xfe, 0xf7, 0xfe, 0xea, 0xb5, 0x4e, 0xe3, + 0xe5, 0x80, 0x2e, 0x02, 0x7b, 0x1f, 0x39, 0x44, 0x87, 0xca, 0xc3, 0x6d, + 0x1b, 0xb0, 0xf0, 0x52, 0xa7, 0xa1, 0x07, 0x5c, +}; +static const unsigned char kat614_nonce[] = { + 0xd6, 0xb6, 0x48, 0x4d, 0xbb, 0x46, 0x38, 0x9e, 0xdf, 0xc1, 0xac, 0x96, + 0x9e, 0x46, 0x22, 0x14, +}; +static const unsigned char kat614_persstr[] = {0}; +static const unsigned char kat614_addin0[] = {0}; +static const unsigned char kat614_addin1[] = {0}; +static const unsigned char kat614_retbits[] = { + 0x09, 0xf2, 0xc6, 0x86, 0xd9, 0xb0, 0x1d, 0x49, 0xf1, 0x23, 0x48, 0xf1, + 0x2f, 0xf8, 0x32, 0xdb, 0x4e, 0xa9, 0x10, 0x5e, 0xa6, 0xa1, 0x48, 0xfc, + 0xaa, 0xea, 0x32, 0x49, 0x0d, 0x2d, 0x84, 0x3a, 0x28, 0x2c, 0xdc, 0x30, + 0xc0, 0x11, 0x19, 0x1f, 0x8b, 0xa7, 0x7c, 0x22, 0x4c, 0x29, 0x70, 0x12, + 0xe2, 0x61, 0xc8, 0xa7, 0x39, 0xd0, 0x77, 0x72, 0x98, 0xeb, 0x59, 0x1c, + 0x99, 0x02, 0x8c, 0xa5, +}; +static const struct drbg_kat_no_reseed kat614_t = { + 13, kat614_entropyin, kat614_nonce, kat614_persstr, + kat614_addin0, kat614_addin1, kat614_retbits +}; +static const struct drbg_kat kat614 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat614_t +}; + +static const unsigned char kat615_entropyin[] = { + 0x11, 0xb1, 0xa3, 0x07, 0xc2, 0x66, 0xd4, 0x07, 0xc3, 0xab, 0x12, 0xbe, + 0x77, 0x4e, 0xe3, 0x1c, 0xdc, 0x91, 0x8a, 0xe1, 0x4c, 0xd9, 0x8f, 0xcf, + 0x02, 0xc3, 0xac, 0xc8, 0x82, 0xdd, 0xb8, 0x2c, +}; +static const unsigned char kat615_nonce[] = { + 0xe4, 0xef, 0xda, 0xf6, 0xf0, 0x1e, 0xb5, 0x47, 0x5d, 0x82, 0xc9, 0x4e, + 0x12, 0x9a, 0x35, 0xe1, +}; +static const unsigned char kat615_persstr[] = {0}; +static const unsigned char kat615_addin0[] = {0}; +static const unsigned char kat615_addin1[] = {0}; +static const unsigned char kat615_retbits[] = { + 0x6a, 0x52, 0x63, 0x64, 0x4a, 0x10, 0x1e, 0x9f, 0x03, 0xa4, 0x02, 0x60, + 0xa6, 0x8f, 0xa7, 0x27, 0x1a, 0x39, 0x9b, 0xa9, 0x54, 0xfe, 0xe2, 0x30, + 0x61, 0x3a, 0x18, 0xbc, 0x18, 0xcd, 0x5c, 0x54, 0x03, 0xd6, 0x79, 0xc7, + 0x73, 0x5c, 0xb1, 0x67, 0x1b, 0x17, 0x4e, 0x60, 0xed, 0x82, 0x8e, 0x70, + 0x73, 0x77, 0xf5, 0x51, 0x78, 0xbb, 0x53, 0x8b, 0xf4, 0x26, 0x74, 0x53, + 0xe5, 0xc8, 0x5b, 0x97, +}; +static const struct drbg_kat_no_reseed kat615_t = { + 14, kat615_entropyin, kat615_nonce, kat615_persstr, + kat615_addin0, kat615_addin1, kat615_retbits +}; +static const struct drbg_kat kat615 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat615_t +}; + +static const unsigned char kat616_entropyin[] = { + 0x00, 0x1e, 0xc3, 0xb1, 0x92, 0xdd, 0xc7, 0x65, 0x55, 0x3e, 0x15, 0x74, + 0x2d, 0xff, 0xeb, 0x21, 0xcc, 0x7d, 0x97, 0xa4, 0xbc, 0xf8, 0x66, 0xe3, + 0x66, 0x4d, 0x8a, 0x5e, 0xcb, 0x4c, 0x24, 0x63, +}; +static const unsigned char kat616_nonce[] = { + 0x6c, 0xa8, 0x48, 0x65, 0x1d, 0x42, 0x0f, 0xb0, 0x2f, 0x9b, 0x66, 0xf0, + 0x6b, 0x37, 0x7e, 0x59, +}; +static const unsigned char kat616_persstr[] = {0}; +static const unsigned char kat616_addin0[] = { + 0x99, 0xf1, 0x39, 0xab, 0x5e, 0xe4, 0xf7, 0xee, 0xd6, 0x14, 0x8e, 0x82, + 0xd7, 0x9a, 0xd5, 0xf2, 0xb9, 0xfa, 0x63, 0x8d, 0x57, 0x4e, 0x5d, 0xb7, + 0x9b, 0x65, 0x0c, 0x0e, 0x68, 0x2c, 0xa4, 0x66, +}; +static const unsigned char kat616_addin1[] = { + 0x6e, 0x7b, 0xf0, 0xae, 0x28, 0xa7, 0x97, 0xcc, 0xbb, 0x47, 0x10, 0x1f, + 0x26, 0xbf, 0xe5, 0xa0, 0xb1, 0xe4, 0x50, 0xc5, 0x7a, 0xed, 0xf7, 0x31, + 0x27, 0x24, 0x11, 0xfa, 0x7b, 0x6c, 0x4e, 0xd4, +}; +static const unsigned char kat616_retbits[] = { + 0x86, 0x5b, 0x6d, 0xd4, 0x36, 0x3c, 0x59, 0x40, 0xd6, 0x22, 0x8c, 0xc9, + 0x0b, 0xa8, 0xf1, 0xa2, 0x1e, 0xfb, 0xaa, 0x99, 0xb0, 0xc7, 0xb3, 0x73, + 0x61, 0xf7, 0xfe, 0xd7, 0xe9, 0x69, 0xa9, 0x7b, 0x68, 0xd5, 0x50, 0xdd, + 0x6a, 0xd4, 0xbb, 0xfa, 0xf6, 0x62, 0x67, 0x79, 0xbf, 0xb4, 0x3c, 0x66, + 0x84, 0x5c, 0x29, 0x23, 0xdf, 0x9f, 0x55, 0x30, 0x7c, 0x8b, 0xc9, 0xf0, + 0xa3, 0x87, 0x2f, 0xa7, +}; +static const struct drbg_kat_no_reseed kat616_t = { + 0, kat616_entropyin, kat616_nonce, kat616_persstr, + kat616_addin0, kat616_addin1, kat616_retbits +}; +static const struct drbg_kat kat616 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat616_t +}; + +static const unsigned char kat617_entropyin[] = { + 0x53, 0xaa, 0x66, 0x68, 0xd0, 0x6d, 0x2b, 0xdb, 0x4a, 0xca, 0x98, 0x9d, + 0x29, 0x4d, 0x68, 0xb0, 0x00, 0x36, 0xe1, 0xb4, 0x66, 0xd1, 0x55, 0x31, + 0x86, 0xb9, 0xed, 0xa9, 0xde, 0x69, 0x3a, 0x68, +}; +static const unsigned char kat617_nonce[] = { + 0xb7, 0x7d, 0x9b, 0x74, 0x57, 0x47, 0x31, 0xdc, 0xd9, 0x6a, 0xed, 0x38, + 0x35, 0x05, 0x27, 0x6d, +}; +static const unsigned char kat617_persstr[] = {0}; +static const unsigned char kat617_addin0[] = { + 0x0e, 0x00, 0x58, 0x9f, 0x59, 0x26, 0xad, 0x32, 0xa0, 0xac, 0xb3, 0x37, + 0xef, 0xb6, 0x1d, 0x0f, 0x8b, 0x6c, 0x4f, 0x25, 0x26, 0xea, 0x6d, 0x1a, + 0xaa, 0x20, 0x23, 0xd3, 0x93, 0xb0, 0xf9, 0x22, +}; +static const unsigned char kat617_addin1[] = { + 0x70, 0x40, 0x4e, 0x72, 0x9a, 0x59, 0x6e, 0x11, 0xc5, 0xd1, 0x4a, 0xb9, + 0xe4, 0x35, 0xd5, 0x0e, 0x47, 0xaf, 0xb7, 0x35, 0xd5, 0x58, 0x29, 0x3a, + 0x8d, 0x11, 0x97, 0xcb, 0xf8, 0x54, 0x36, 0xfe, +}; +static const unsigned char kat617_retbits[] = { + 0xb8, 0x37, 0x78, 0xfb, 0x3f, 0xe1, 0x6b, 0xfa, 0x43, 0x23, 0x0a, 0xc1, + 0x01, 0xc9, 0xb3, 0x81, 0x68, 0x27, 0xf5, 0x50, 0x0c, 0x65, 0x06, 0x02, + 0x98, 0xd5, 0x8b, 0xd4, 0xfa, 0xcb, 0x17, 0xa0, 0x62, 0xee, 0x03, 0x98, + 0x1e, 0x6d, 0x19, 0xeb, 0x2c, 0x98, 0x51, 0xfb, 0x00, 0xae, 0x2b, 0x4b, + 0xc5, 0x17, 0xee, 0x33, 0x8e, 0xf5, 0x98, 0x06, 0xe3, 0xc8, 0xb0, 0xb9, + 0x9f, 0xb6, 0x7a, 0x31, +}; +static const struct drbg_kat_no_reseed kat617_t = { + 1, kat617_entropyin, kat617_nonce, kat617_persstr, + kat617_addin0, kat617_addin1, kat617_retbits +}; +static const struct drbg_kat kat617 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat617_t +}; + +static const unsigned char kat618_entropyin[] = { + 0x3d, 0x38, 0x73, 0x6b, 0x9f, 0x03, 0xdd, 0x30, 0x6b, 0x10, 0xd5, 0xbb, + 0x91, 0xc1, 0x6b, 0x16, 0x1e, 0xb4, 0xb6, 0xf0, 0x54, 0xd2, 0xbc, 0x4d, + 0x56, 0x1a, 0x93, 0x98, 0x50, 0xc0, 0x40, 0xea, +}; +static const unsigned char kat618_nonce[] = { + 0xa0, 0xd0, 0xc1, 0x88, 0xcb, 0x2f, 0x32, 0xa3, 0x12, 0x74, 0x89, 0xb7, + 0x4b, 0x83, 0xae, 0x78, +}; +static const unsigned char kat618_persstr[] = {0}; +static const unsigned char kat618_addin0[] = { + 0x37, 0xcf, 0xe2, 0xab, 0xe1, 0x90, 0x6a, 0x58, 0x9c, 0xdc, 0x67, 0x1e, + 0x01, 0xb5, 0x0e, 0xca, 0x78, 0xb4, 0x27, 0x02, 0xe8, 0x4e, 0x08, 0x8d, + 0xbf, 0xd2, 0x1c, 0x22, 0xe0, 0x43, 0x2e, 0x46, +}; +static const unsigned char kat618_addin1[] = { + 0x2f, 0x1f, 0x52, 0x3b, 0x30, 0x5b, 0xbe, 0x79, 0x9a, 0x92, 0x0a, 0x65, + 0x7a, 0xb3, 0x6f, 0xf4, 0x20, 0x71, 0x88, 0x99, 0x8f, 0x6c, 0x7c, 0xd3, + 0x9b, 0xe4, 0xfc, 0x5d, 0x06, 0x93, 0xa0, 0x70, +}; +static const unsigned char kat618_retbits[] = { + 0xdc, 0x1a, 0x5b, 0x28, 0xe1, 0x9e, 0xf8, 0x9c, 0x86, 0x9e, 0xa6, 0x95, + 0xf7, 0xd9, 0xa5, 0x79, 0xf6, 0x17, 0xd0, 0x92, 0x3b, 0xd0, 0x64, 0x11, + 0x35, 0xa0, 0x6a, 0x86, 0xe0, 0x11, 0x75, 0x1c, 0xbc, 0x2d, 0x9f, 0x2f, + 0xa2, 0x61, 0x2c, 0x3e, 0x6a, 0x2a, 0xff, 0x53, 0x8c, 0x64, 0x53, 0x80, + 0xa6, 0x18, 0xf1, 0xf1, 0x8f, 0xbd, 0x98, 0x7a, 0xe9, 0xf4, 0xff, 0x1d, + 0x70, 0x47, 0x49, 0xf7, +}; +static const struct drbg_kat_no_reseed kat618_t = { + 2, kat618_entropyin, kat618_nonce, kat618_persstr, + kat618_addin0, kat618_addin1, kat618_retbits +}; +static const struct drbg_kat kat618 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat618_t +}; + +static const unsigned char kat619_entropyin[] = { + 0x89, 0xf2, 0x09, 0xa7, 0xd8, 0xce, 0x9f, 0x93, 0x68, 0xf9, 0x47, 0x1a, + 0x33, 0xbf, 0x7b, 0x46, 0x9e, 0xf8, 0x0f, 0x99, 0x4c, 0xa5, 0xbf, 0xfa, + 0xaa, 0x18, 0xf1, 0x63, 0xa4, 0x50, 0x3d, 0x97, +}; +static const unsigned char kat619_nonce[] = { + 0x37, 0x65, 0x56, 0x04, 0xc0, 0x45, 0xca, 0x1f, 0x52, 0x69, 0x41, 0xa0, + 0x50, 0xa2, 0xa7, 0x8e, +}; +static const unsigned char kat619_persstr[] = {0}; +static const unsigned char kat619_addin0[] = { + 0x1d, 0x24, 0xe7, 0xe3, 0xbc, 0xb7, 0x70, 0x9a, 0xb1, 0x80, 0x73, 0x4b, + 0xd1, 0x2f, 0x45, 0x54, 0xa2, 0x30, 0x3a, 0x38, 0xa8, 0x35, 0x51, 0xd9, + 0x45, 0x4f, 0xe0, 0x45, 0xab, 0xea, 0x54, 0x25, +}; +static const unsigned char kat619_addin1[] = { + 0x15, 0x64, 0x6b, 0x33, 0x1b, 0x80, 0x8d, 0xc9, 0x71, 0xdd, 0x2b, 0xc9, + 0xca, 0xf8, 0x03, 0x0b, 0x57, 0x08, 0x5f, 0x8d, 0xd6, 0x2c, 0x4b, 0xfb, + 0x28, 0x11, 0x0c, 0x75, 0x97, 0x7d, 0xd1, 0xd0, +}; +static const unsigned char kat619_retbits[] = { + 0x59, 0xac, 0x0b, 0x9b, 0xbd, 0x27, 0x99, 0xb0, 0x80, 0x85, 0x27, 0xa8, + 0x50, 0xb9, 0x98, 0xee, 0x3d, 0x6b, 0x7a, 0xec, 0xdb, 0xa3, 0x40, 0xf1, + 0x7b, 0x68, 0x22, 0x09, 0x22, 0x2b, 0x67, 0x83, 0xcf, 0x9a, 0x48, 0xec, + 0x45, 0xca, 0xf4, 0x04, 0x46, 0xae, 0x37, 0xe9, 0x53, 0x98, 0x99, 0x41, + 0x0c, 0xb6, 0x3f, 0x79, 0xb3, 0x14, 0xd3, 0xb2, 0xb8, 0x33, 0xb5, 0x4c, + 0x26, 0xa2, 0xca, 0xbc, +}; +static const struct drbg_kat_no_reseed kat619_t = { + 3, kat619_entropyin, kat619_nonce, kat619_persstr, + kat619_addin0, kat619_addin1, kat619_retbits +}; +static const struct drbg_kat kat619 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat619_t +}; + +static const unsigned char kat620_entropyin[] = { + 0x0b, 0xee, 0x49, 0x37, 0xa0, 0x71, 0xfd, 0x93, 0x9f, 0x00, 0x07, 0xc3, + 0xce, 0x3a, 0xbe, 0xf4, 0x3f, 0xfa, 0x3b, 0xd0, 0xe0, 0x5e, 0xfc, 0x01, + 0x90, 0xed, 0x5f, 0x2a, 0x2d, 0x64, 0x47, 0x78, +}; +static const unsigned char kat620_nonce[] = { + 0xc5, 0x4f, 0x6c, 0xf1, 0x0f, 0x64, 0x54, 0xc6, 0x9b, 0x66, 0x7b, 0x64, + 0x16, 0xad, 0xcd, 0x6f, +}; +static const unsigned char kat620_persstr[] = {0}; +static const unsigned char kat620_addin0[] = { + 0x4d, 0x84, 0x2e, 0x42, 0x6b, 0x64, 0xe9, 0x42, 0x2e, 0x7f, 0x77, 0xf6, + 0x00, 0x9c, 0x11, 0x57, 0x57, 0x08, 0x32, 0x23, 0x5b, 0xe6, 0x5d, 0x33, + 0x69, 0x53, 0x0f, 0x29, 0x9f, 0xbf, 0xc8, 0x2e, +}; +static const unsigned char kat620_addin1[] = { + 0x72, 0x7e, 0x31, 0xe8, 0x39, 0xa7, 0x87, 0x5b, 0x65, 0x4b, 0xcf, 0x1a, + 0x54, 0x28, 0xd8, 0xaf, 0x90, 0x0e, 0x5a, 0xa4, 0x06, 0x36, 0xaa, 0x80, + 0xfd, 0x85, 0x1c, 0x33, 0x78, 0x7c, 0xab, 0xf3, +}; +static const unsigned char kat620_retbits[] = { + 0x5a, 0x63, 0xf6, 0x62, 0x53, 0x0b, 0xb2, 0xec, 0x41, 0x62, 0xf7, 0x52, + 0x36, 0x15, 0x30, 0xcc, 0x8d, 0x5c, 0x89, 0x05, 0x87, 0xd2, 0x26, 0xb2, + 0x0f, 0x14, 0x2b, 0xae, 0x2a, 0x2d, 0xbd, 0x69, 0x47, 0x80, 0xd2, 0xa5, + 0x55, 0x53, 0xb0, 0x35, 0xcd, 0x35, 0x52, 0xba, 0xb0, 0xfa, 0xf9, 0x4e, + 0x63, 0x89, 0x53, 0x30, 0x0e, 0xa9, 0x50, 0x87, 0xa7, 0x32, 0xc9, 0x48, + 0x9e, 0xa4, 0x1e, 0xac, +}; +static const struct drbg_kat_no_reseed kat620_t = { + 4, kat620_entropyin, kat620_nonce, kat620_persstr, + kat620_addin0, kat620_addin1, kat620_retbits +}; +static const struct drbg_kat kat620 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat620_t +}; + +static const unsigned char kat621_entropyin[] = { + 0x26, 0x9d, 0xe0, 0xa0, 0x01, 0x9b, 0x68, 0x51, 0x02, 0x95, 0x3c, 0x21, + 0xd4, 0xd4, 0x82, 0x5e, 0xe0, 0x0f, 0xdb, 0x77, 0x4c, 0x7c, 0xa7, 0x21, + 0xf1, 0xf3, 0xcc, 0x1a, 0x22, 0x20, 0xcc, 0x98, +}; +static const unsigned char kat621_nonce[] = { + 0xe1, 0x08, 0x06, 0xc0, 0xd8, 0xb9, 0x17, 0x5f, 0x22, 0xfc, 0x96, 0xc7, + 0xd7, 0x7d, 0xfd, 0xfc, +}; +static const unsigned char kat621_persstr[] = {0}; +static const unsigned char kat621_addin0[] = { + 0x18, 0x5e, 0xa8, 0x97, 0xe2, 0x52, 0x36, 0x05, 0x86, 0xb3, 0x9b, 0x5a, + 0x2e, 0x3e, 0x12, 0xbb, 0x30, 0x88, 0x5b, 0x99, 0xba, 0x06, 0x8d, 0x10, + 0xac, 0x7d, 0xfd, 0xfc, 0x26, 0x3e, 0xbc, 0xd5, +}; +static const unsigned char kat621_addin1[] = { + 0x25, 0x9b, 0xac, 0x2e, 0x62, 0xda, 0x63, 0x89, 0xbf, 0x6a, 0x5a, 0xb3, + 0x44, 0x17, 0x7c, 0xa1, 0x6b, 0xa5, 0xaf, 0xe7, 0x75, 0x5b, 0x5a, 0x5b, + 0xb4, 0xb9, 0x4b, 0x3e, 0xcc, 0x6a, 0x8f, 0x7b, +}; +static const unsigned char kat621_retbits[] = { + 0x18, 0x1c, 0x99, 0x5f, 0x85, 0x92, 0x38, 0x4d, 0xfb, 0x56, 0x5a, 0xeb, + 0x11, 0x49, 0x44, 0x2b, 0x87, 0x1b, 0xe2, 0x9a, 0xaa, 0x32, 0x40, 0x47, + 0xb1, 0x25, 0x64, 0x62, 0x2b, 0xc1, 0xae, 0x7d, 0x38, 0x2c, 0x06, 0xaa, + 0xb3, 0xb2, 0xaa, 0x6d, 0x3c, 0xe1, 0x51, 0xaa, 0x17, 0x11, 0xf1, 0x6d, + 0x58, 0x7a, 0x03, 0x66, 0x23, 0x63, 0x0f, 0xef, 0xbb, 0x69, 0xcc, 0x15, + 0x38, 0xb4, 0x45, 0x1a, +}; +static const struct drbg_kat_no_reseed kat621_t = { + 5, kat621_entropyin, kat621_nonce, kat621_persstr, + kat621_addin0, kat621_addin1, kat621_retbits +}; +static const struct drbg_kat kat621 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat621_t +}; + +static const unsigned char kat622_entropyin[] = { + 0x92, 0xdf, 0x43, 0x3d, 0xef, 0x81, 0xe1, 0xd7, 0x29, 0x88, 0xd2, 0x95, + 0xa5, 0x6a, 0x67, 0x9d, 0x0e, 0x61, 0x5b, 0x55, 0x08, 0xc9, 0x6c, 0x75, + 0xad, 0x5d, 0x22, 0xd8, 0xca, 0xa5, 0x25, 0xbb, +}; +static const unsigned char kat622_nonce[] = { + 0x71, 0xbd, 0xbd, 0x0b, 0x0b, 0xc5, 0xb1, 0xf0, 0x3e, 0xbe, 0xd3, 0x00, + 0x66, 0x76, 0x85, 0x86, +}; +static const unsigned char kat622_persstr[] = {0}; +static const unsigned char kat622_addin0[] = { + 0x06, 0x08, 0x30, 0xec, 0xbb, 0x10, 0xc3, 0xfc, 0x18, 0xe7, 0x8d, 0x0e, + 0x8f, 0x12, 0xa6, 0x51, 0x02, 0xd1, 0xff, 0x8b, 0x37, 0xf8, 0x99, 0xe5, + 0x44, 0x5b, 0x5a, 0x03, 0x63, 0xa1, 0x18, 0x4f, +}; +static const unsigned char kat622_addin1[] = { + 0x62, 0x8c, 0x96, 0xa7, 0xf5, 0x62, 0x03, 0x4d, 0x05, 0x6a, 0x4f, 0xec, + 0x0b, 0xfa, 0x2e, 0x9f, 0x0c, 0xcb, 0x6b, 0xe9, 0xcd, 0x33, 0xc6, 0x22, + 0x41, 0xa5, 0x07, 0xfd, 0xda, 0x00, 0x7f, 0x81, +}; +static const unsigned char kat622_retbits[] = { + 0x09, 0xc4, 0x50, 0x31, 0x89, 0x57, 0xe2, 0x9f, 0x09, 0xe1, 0x5b, 0xd3, + 0xb0, 0x1c, 0x1d, 0x50, 0x2b, 0xbe, 0x90, 0x96, 0xf4, 0x0a, 0xa9, 0x51, + 0x73, 0x3a, 0xb8, 0xf7, 0xc0, 0x36, 0x30, 0x53, 0xca, 0x45, 0xbf, 0x81, + 0x9a, 0x02, 0xf3, 0xe1, 0x9e, 0x8f, 0xd8, 0x0c, 0xc0, 0x47, 0x09, 0xce, + 0x07, 0xa6, 0xb5, 0x80, 0x9b, 0xa8, 0xf7, 0x48, 0x6e, 0x14, 0xab, 0x95, + 0xce, 0xd2, 0xe0, 0x87, +}; +static const struct drbg_kat_no_reseed kat622_t = { + 6, kat622_entropyin, kat622_nonce, kat622_persstr, + kat622_addin0, kat622_addin1, kat622_retbits +}; +static const struct drbg_kat kat622 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat622_t +}; + +static const unsigned char kat623_entropyin[] = { + 0x39, 0x34, 0x15, 0xa3, 0x28, 0xe2, 0x10, 0x93, 0xbb, 0x34, 0xeb, 0xb0, + 0x81, 0x97, 0xd2, 0x13, 0x94, 0xe2, 0x6e, 0x43, 0xd8, 0x2c, 0x1d, 0x2a, + 0xbf, 0xbd, 0xd4, 0x6a, 0x16, 0x5c, 0x27, 0xa8, +}; +static const unsigned char kat623_nonce[] = { + 0xae, 0xe4, 0x9e, 0x30, 0x28, 0xd4, 0x07, 0x58, 0xb3, 0xf4, 0x2f, 0xd6, + 0xb8, 0xe6, 0x8b, 0xef, +}; +static const unsigned char kat623_persstr[] = {0}; +static const unsigned char kat623_addin0[] = { + 0xd5, 0x3d, 0xc5, 0xa6, 0x12, 0xcd, 0x15, 0x4a, 0xde, 0x83, 0xaf, 0xc0, + 0x00, 0x93, 0x3a, 0xd8, 0x8a, 0xed, 0xb8, 0x24, 0xa0, 0x2e, 0x2f, 0xd9, + 0x7a, 0x86, 0x97, 0xbe, 0x56, 0xda, 0x48, 0xb1, +}; +static const unsigned char kat623_addin1[] = { + 0xbd, 0xa3, 0x92, 0xc5, 0x79, 0xac, 0x3d, 0x33, 0xd6, 0xc7, 0xb9, 0x45, + 0x5d, 0x6b, 0x8e, 0x71, 0x27, 0x84, 0x9b, 0x5a, 0x18, 0x6b, 0xf0, 0x06, + 0x0a, 0x3a, 0xf1, 0xe8, 0x30, 0x1e, 0xaf, 0x67, +}; +static const unsigned char kat623_retbits[] = { + 0x5c, 0x33, 0x1c, 0xcc, 0xbc, 0x93, 0x52, 0x2f, 0xc8, 0x3f, 0x4c, 0xe8, + 0xc2, 0x2f, 0xff, 0x78, 0x1e, 0xe6, 0xe7, 0xd3, 0x82, 0x14, 0x1c, 0xce, + 0x7f, 0x0e, 0xfe, 0xe5, 0x68, 0x35, 0xf7, 0x80, 0x26, 0x5a, 0x4b, 0xe5, + 0x3c, 0x54, 0x12, 0xf9, 0x80, 0x83, 0x2a, 0xed, 0x12, 0xce, 0x88, 0x7c, + 0xf1, 0x5d, 0x28, 0x1a, 0xaa, 0x64, 0x93, 0x3c, 0x51, 0x27, 0xe1, 0x44, + 0x20, 0x97, 0x90, 0x36, +}; +static const struct drbg_kat_no_reseed kat623_t = { + 7, kat623_entropyin, kat623_nonce, kat623_persstr, + kat623_addin0, kat623_addin1, kat623_retbits +}; +static const struct drbg_kat kat623 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat623_t +}; + +static const unsigned char kat624_entropyin[] = { + 0xb7, 0xc3, 0xac, 0xfb, 0xfd, 0xff, 0x34, 0x42, 0xef, 0x1c, 0x79, 0xf4, + 0xac, 0x90, 0xc9, 0x92, 0x3c, 0x3f, 0x90, 0xd9, 0xbf, 0x1b, 0x02, 0xa3, + 0xca, 0x73, 0xb9, 0xb5, 0x60, 0xa6, 0x9e, 0x8c, +}; +static const unsigned char kat624_nonce[] = { + 0x9e, 0xaf, 0xc9, 0x73, 0x76, 0x01, 0x47, 0xdb, 0x55, 0x05, 0x74, 0x5a, + 0x70, 0x4b, 0xa0, 0x56, +}; +static const unsigned char kat624_persstr[] = {0}; +static const unsigned char kat624_addin0[] = { + 0xb3, 0xaf, 0xa7, 0x63, 0xbd, 0xb6, 0xcf, 0x2f, 0xf7, 0x90, 0xa5, 0x27, + 0x1e, 0xe6, 0x9d, 0xd0, 0xd7, 0xb3, 0x55, 0x4b, 0x63, 0x77, 0x52, 0x6c, + 0x46, 0x8c, 0x50, 0xc1, 0x55, 0x05, 0xce, 0x7c, +}; +static const unsigned char kat624_addin1[] = { + 0x53, 0x81, 0x09, 0xfe, 0xb9, 0x58, 0xe5, 0x2d, 0x31, 0xe8, 0xfb, 0xb2, + 0xc2, 0x6a, 0x10, 0x37, 0xfb, 0x11, 0xff, 0xb9, 0xc2, 0xb2, 0x55, 0x9d, + 0x18, 0xf8, 0x41, 0xa8, 0x37, 0xf8, 0xa6, 0x9d, +}; +static const unsigned char kat624_retbits[] = { + 0xe3, 0xd3, 0x02, 0x19, 0xe1, 0xc4, 0xc9, 0x69, 0x04, 0x97, 0xce, 0xde, + 0xcf, 0xf7, 0xab, 0xb4, 0x25, 0x14, 0xe9, 0xfa, 0x05, 0x91, 0xb3, 0x66, + 0x9c, 0xf6, 0x70, 0x04, 0xc0, 0xe2, 0x01, 0x69, 0x12, 0x9c, 0x09, 0xc7, + 0xe6, 0x04, 0xf9, 0xac, 0x67, 0xcc, 0x22, 0x04, 0xe3, 0x29, 0x31, 0xca, + 0x19, 0x14, 0xae, 0x18, 0xb6, 0x52, 0xbf, 0xde, 0x98, 0xf5, 0x3e, 0xb4, + 0xc1, 0xd4, 0x06, 0xa3, +}; +static const struct drbg_kat_no_reseed kat624_t = { + 8, kat624_entropyin, kat624_nonce, kat624_persstr, + kat624_addin0, kat624_addin1, kat624_retbits +}; +static const struct drbg_kat kat624 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat624_t +}; + +static const unsigned char kat625_entropyin[] = { + 0xd3, 0xea, 0xbe, 0x6b, 0xe4, 0xd1, 0x74, 0x69, 0xdd, 0x74, 0x87, 0x18, + 0x17, 0xe1, 0x74, 0x86, 0xe8, 0x98, 0xc8, 0xe6, 0x5f, 0x36, 0x9a, 0xd6, + 0xe3, 0x8b, 0x41, 0xaa, 0x22, 0xa5, 0xbd, 0x27, +}; +static const unsigned char kat625_nonce[] = { + 0x06, 0x7d, 0x66, 0x10, 0x71, 0x7a, 0x8f, 0xfb, 0xf8, 0xdb, 0xf9, 0x40, + 0x5e, 0x7f, 0x15, 0xcf, +}; +static const unsigned char kat625_persstr[] = {0}; +static const unsigned char kat625_addin0[] = { + 0x91, 0x1a, 0xb9, 0xc5, 0x75, 0x3c, 0x5d, 0x70, 0x93, 0xaf, 0x43, 0x16, + 0xd7, 0xd5, 0xc0, 0x3a, 0x2b, 0x97, 0x1d, 0xb8, 0xcf, 0x7b, 0x0c, 0x58, + 0xcb, 0x7f, 0xd8, 0xd5, 0xb9, 0xd8, 0xe0, 0x1b, +}; +static const unsigned char kat625_addin1[] = { + 0x49, 0x53, 0x5f, 0xc0, 0xba, 0x86, 0x3d, 0xaf, 0x3b, 0x29, 0xdd, 0x8e, + 0x8d, 0x56, 0xf2, 0x06, 0x50, 0x8a, 0xe7, 0xb0, 0xc3, 0x43, 0x7a, 0x41, + 0x84, 0x7a, 0xea, 0x77, 0x18, 0x4b, 0x3e, 0x13, +}; +static const unsigned char kat625_retbits[] = { + 0xec, 0x4b, 0xe9, 0xf3, 0xab, 0x19, 0x67, 0xe5, 0xbf, 0x96, 0x3f, 0xe3, + 0xca, 0xc8, 0x73, 0xc6, 0xcd, 0x87, 0xd9, 0x1a, 0x8a, 0x9d, 0x20, 0xe6, + 0xfd, 0x5f, 0x64, 0x18, 0xa3, 0x97, 0x2b, 0xfc, 0x1b, 0x9f, 0xcd, 0xa3, + 0xab, 0x35, 0x9e, 0xb7, 0x7b, 0x85, 0x85, 0x2d, 0x78, 0xa2, 0xa4, 0x8f, + 0xca, 0x43, 0x6e, 0x3a, 0xdf, 0x1b, 0x45, 0x0f, 0x27, 0x04, 0x5e, 0xba, + 0x6b, 0x2f, 0x1d, 0x6d, +}; +static const struct drbg_kat_no_reseed kat625_t = { + 9, kat625_entropyin, kat625_nonce, kat625_persstr, + kat625_addin0, kat625_addin1, kat625_retbits +}; +static const struct drbg_kat kat625 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat625_t +}; + +static const unsigned char kat626_entropyin[] = { + 0xf4, 0x6b, 0x8c, 0x14, 0x80, 0x4b, 0x70, 0x3b, 0x93, 0x87, 0x47, 0x65, + 0x10, 0xd8, 0xa6, 0x50, 0xc0, 0x32, 0xdf, 0xe9, 0x83, 0x7b, 0xc4, 0xac, + 0xc3, 0xac, 0x40, 0xfc, 0xab, 0xcd, 0x79, 0xc8, +}; +static const unsigned char kat626_nonce[] = { + 0x6a, 0x06, 0x15, 0x2e, 0x43, 0x83, 0xb2, 0x12, 0x8d, 0x42, 0x92, 0xcd, + 0x24, 0xd6, 0xf2, 0xd6, +}; +static const unsigned char kat626_persstr[] = {0}; +static const unsigned char kat626_addin0[] = { + 0x7e, 0xce, 0x8c, 0x73, 0xb7, 0x0b, 0x80, 0xcc, 0x28, 0xf4, 0xd7, 0xb5, + 0xc1, 0x7e, 0xdd, 0xf8, 0x15, 0x0c, 0x62, 0x33, 0xe6, 0xa3, 0x27, 0x47, + 0x29, 0x66, 0x57, 0x86, 0xf3, 0x5f, 0x4b, 0xab, +}; +static const unsigned char kat626_addin1[] = { + 0x9e, 0xcf, 0x34, 0x1b, 0x59, 0xc1, 0xe0, 0x23, 0x95, 0xda, 0xba, 0x3f, + 0xaa, 0xe6, 0xf4, 0x36, 0x60, 0xb9, 0x87, 0x91, 0xd5, 0x55, 0xab, 0xa1, + 0xd8, 0x10, 0x96, 0x15, 0x43, 0x2a, 0x7b, 0x81, +}; +static const unsigned char kat626_retbits[] = { + 0xd2, 0xf8, 0x97, 0x6d, 0xdb, 0xe8, 0xc6, 0x1f, 0xb7, 0x20, 0x59, 0xac, + 0x6e, 0xfa, 0x8f, 0x2b, 0xc9, 0x68, 0x8b, 0x68, 0xe4, 0xbe, 0x46, 0x40, + 0xa2, 0x02, 0xb5, 0xdf, 0xa1, 0x1d, 0x75, 0x52, 0xd4, 0xf8, 0x9c, 0xe7, + 0xbc, 0x81, 0x34, 0xc9, 0x8d, 0xf5, 0x3c, 0xd0, 0x56, 0xf6, 0x33, 0x4f, + 0xcb, 0xac, 0xe2, 0xdc, 0xc3, 0xd6, 0x4b, 0xf3, 0x55, 0x3e, 0xd9, 0x05, + 0xff, 0xc4, 0x28, 0xbc, +}; +static const struct drbg_kat_no_reseed kat626_t = { + 10, kat626_entropyin, kat626_nonce, kat626_persstr, + kat626_addin0, kat626_addin1, kat626_retbits +}; +static const struct drbg_kat kat626 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat626_t +}; + +static const unsigned char kat627_entropyin[] = { + 0x02, 0x7d, 0x70, 0x1b, 0x53, 0x1e, 0x61, 0x8c, 0xe1, 0xb3, 0x64, 0x91, + 0xb2, 0x5d, 0x96, 0x7d, 0x6d, 0x3d, 0xcd, 0xa0, 0x14, 0x5e, 0x9e, 0x56, + 0x49, 0xb3, 0x69, 0x8a, 0x37, 0x4a, 0x7b, 0x2e, +}; +static const unsigned char kat627_nonce[] = { + 0x44, 0xa5, 0x09, 0xef, 0x42, 0x08, 0x66, 0x09, 0x8c, 0x3e, 0x0f, 0x4a, + 0xbf, 0xe7, 0x3f, 0x21, +}; +static const unsigned char kat627_persstr[] = {0}; +static const unsigned char kat627_addin0[] = { + 0x50, 0x52, 0xae, 0xed, 0x2c, 0x37, 0xd7, 0x6a, 0xbb, 0xe9, 0x33, 0x83, + 0x16, 0x7d, 0x25, 0x6c, 0xd1, 0xb4, 0x93, 0xa1, 0xb6, 0xb4, 0x24, 0xda, + 0x50, 0x40, 0x71, 0x97, 0xe9, 0x12, 0x19, 0xf5, +}; +static const unsigned char kat627_addin1[] = { + 0xa7, 0xcb, 0x70, 0xc5, 0x29, 0xfd, 0xf6, 0x1a, 0xa3, 0x04, 0xcb, 0xba, + 0x1f, 0x39, 0x7a, 0xf4, 0x10, 0x7a, 0x6e, 0x41, 0x39, 0xa3, 0x60, 0x14, + 0xe5, 0x4c, 0x7a, 0x41, 0x1d, 0x87, 0x2d, 0x8f, +}; +static const unsigned char kat627_retbits[] = { + 0xbd, 0x11, 0x62, 0x0a, 0xde, 0x95, 0x56, 0x9f, 0x4e, 0x1c, 0xef, 0x6d, + 0xa8, 0xd8, 0x64, 0x5d, 0xd8, 0x27, 0x48, 0x1e, 0xa4, 0x2e, 0xf9, 0x82, + 0xe2, 0x11, 0x76, 0x1b, 0xe4, 0xfa, 0x9a, 0xae, 0xe9, 0x2f, 0x30, 0xde, + 0xd2, 0x68, 0xaa, 0x7a, 0xc9, 0x27, 0x07, 0xd0, 0xd6, 0x48, 0xa2, 0xe2, + 0xae, 0xc5, 0x30, 0xa4, 0x84, 0x94, 0xd2, 0x69, 0x9b, 0x3a, 0x3f, 0xd7, + 0x39, 0xda, 0x20, 0x9a, +}; +static const struct drbg_kat_no_reseed kat627_t = { + 11, kat627_entropyin, kat627_nonce, kat627_persstr, + kat627_addin0, kat627_addin1, kat627_retbits +}; +static const struct drbg_kat kat627 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat627_t +}; + +static const unsigned char kat628_entropyin[] = { + 0x73, 0x42, 0xd6, 0x94, 0xe0, 0x8b, 0xd0, 0xbb, 0x7b, 0xa9, 0x17, 0x11, + 0x87, 0x98, 0x33, 0x9e, 0x36, 0xb9, 0xb3, 0x0e, 0x1f, 0x1d, 0x03, 0x44, + 0xe6, 0xf8, 0x53, 0x2c, 0xd4, 0x2d, 0x58, 0xa8, +}; +static const unsigned char kat628_nonce[] = { + 0xec, 0xea, 0xbd, 0x4c, 0x87, 0x43, 0x56, 0xb3, 0xb3, 0x0a, 0xfb, 0xad, + 0xdc, 0xe2, 0x32, 0xba, +}; +static const unsigned char kat628_persstr[] = {0}; +static const unsigned char kat628_addin0[] = { + 0x15, 0x83, 0x1e, 0x1f, 0xc3, 0x0e, 0xf5, 0x2c, 0x79, 0x05, 0x02, 0x67, + 0x24, 0x0b, 0x74, 0x64, 0xa7, 0x7f, 0xfb, 0x90, 0xaa, 0x56, 0x81, 0x38, + 0x37, 0x9a, 0x4e, 0x77, 0x70, 0x81, 0xe2, 0xbb, +}; +static const unsigned char kat628_addin1[] = { + 0x47, 0x7c, 0xd2, 0xcb, 0x4c, 0x80, 0xf3, 0xd1, 0x68, 0x16, 0xce, 0x2a, + 0xf1, 0xc3, 0x92, 0x0f, 0x20, 0x17, 0xf2, 0xd4, 0xeb, 0x48, 0x2a, 0xd2, + 0xa5, 0x86, 0x8a, 0xc4, 0x0a, 0x0e, 0x31, 0xc2, +}; +static const unsigned char kat628_retbits[] = { + 0x56, 0x66, 0x30, 0xa2, 0x2c, 0x26, 0xf9, 0x26, 0xf1, 0x3f, 0x30, 0xba, + 0xc8, 0xc2, 0xf9, 0x53, 0xde, 0xeb, 0x2a, 0xd9, 0x0f, 0xac, 0xd3, 0xcd, + 0xc8, 0x8b, 0x3f, 0x44, 0xfc, 0xee, 0x53, 0xfb, 0x1e, 0xcf, 0x13, 0xf3, + 0x78, 0x04, 0xad, 0x88, 0x9a, 0x70, 0x52, 0xb5, 0xfd, 0x7e, 0xe9, 0x28, + 0xa2, 0x59, 0x1f, 0x6f, 0xdb, 0xb9, 0x86, 0xfa, 0x38, 0xf3, 0x7c, 0xc8, + 0xe0, 0x2d, 0x4e, 0x9a, +}; +static const struct drbg_kat_no_reseed kat628_t = { + 12, kat628_entropyin, kat628_nonce, kat628_persstr, + kat628_addin0, kat628_addin1, kat628_retbits +}; +static const struct drbg_kat kat628 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat628_t +}; + +static const unsigned char kat629_entropyin[] = { + 0xe9, 0x08, 0xe2, 0xa4, 0xa6, 0x44, 0x4b, 0x85, 0x26, 0xfc, 0x41, 0x83, + 0x5f, 0x52, 0xf9, 0x44, 0x6b, 0x72, 0xf5, 0x33, 0x1b, 0x32, 0x86, 0xa4, + 0x06, 0xc8, 0xd5, 0x40, 0x83, 0x26, 0xa8, 0x60, +}; +static const unsigned char kat629_nonce[] = { + 0x71, 0xcf, 0x47, 0x0f, 0x85, 0xa8, 0x0e, 0x7b, 0x33, 0xc4, 0x13, 0x3d, + 0xb7, 0x7e, 0xe4, 0x8b, +}; +static const unsigned char kat629_persstr[] = {0}; +static const unsigned char kat629_addin0[] = { + 0x92, 0x9a, 0x61, 0xe3, 0x54, 0x4c, 0x94, 0x21, 0x8b, 0x13, 0x98, 0xc8, + 0xd6, 0x90, 0x4b, 0xde, 0x66, 0x2d, 0x12, 0x4a, 0x01, 0x3a, 0x54, 0xe4, + 0x82, 0xc2, 0x77, 0xd8, 0x5e, 0x0d, 0xc2, 0xae, +}; +static const unsigned char kat629_addin1[] = { + 0x57, 0x14, 0xc6, 0x72, 0xc3, 0x91, 0xa3, 0x6a, 0x5b, 0x2f, 0x09, 0x9a, + 0xae, 0x8a, 0xaa, 0x16, 0x39, 0x28, 0x1d, 0xc0, 0xf5, 0x5b, 0x04, 0xc1, + 0x01, 0x86, 0x28, 0x23, 0x41, 0xbb, 0x44, 0xfc, +}; +static const unsigned char kat629_retbits[] = { + 0xd4, 0x6a, 0xf2, 0x2d, 0xfd, 0x1b, 0xc5, 0x55, 0xe4, 0x2a, 0xc0, 0xec, + 0xc7, 0xec, 0x28, 0xc8, 0x52, 0xc8, 0xe3, 0x35, 0xac, 0xc7, 0x9c, 0x65, + 0xe1, 0x42, 0xfa, 0xf4, 0x43, 0x41, 0x53, 0x89, 0x64, 0x83, 0xbd, 0xd1, + 0xc6, 0x4d, 0x5d, 0xe2, 0xc8, 0x34, 0x45, 0x79, 0x76, 0x48, 0x37, 0x1f, + 0x59, 0xa3, 0x16, 0xc4, 0xe0, 0xd8, 0x37, 0xd6, 0xaa, 0x17, 0x54, 0x6f, + 0x8c, 0xda, 0x82, 0x87, +}; +static const struct drbg_kat_no_reseed kat629_t = { + 13, kat629_entropyin, kat629_nonce, kat629_persstr, + kat629_addin0, kat629_addin1, kat629_retbits +}; +static const struct drbg_kat kat629 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat629_t +}; + +static const unsigned char kat630_entropyin[] = { + 0x6c, 0xf5, 0x51, 0x90, 0x3c, 0x86, 0xeb, 0x4a, 0xe6, 0xff, 0xde, 0xf3, + 0x5f, 0x57, 0xd6, 0xd8, 0xa7, 0x46, 0x17, 0xbd, 0x3d, 0x97, 0x90, 0xe6, + 0x4a, 0x2e, 0x76, 0xb9, 0xb0, 0x14, 0x05, 0x55, +}; +static const unsigned char kat630_nonce[] = { + 0x34, 0x2e, 0x55, 0x01, 0x86, 0x20, 0x60, 0xe4, 0x97, 0x4b, 0xc8, 0x8e, + 0x7c, 0x63, 0x2c, 0x69, +}; +static const unsigned char kat630_persstr[] = {0}; +static const unsigned char kat630_addin0[] = { + 0x91, 0xad, 0x32, 0x67, 0x62, 0x6a, 0xe5, 0xc3, 0x60, 0xfd, 0xd7, 0xba, + 0xa5, 0xff, 0x88, 0x17, 0x8a, 0xe8, 0x4f, 0xf7, 0x8b, 0x69, 0x4e, 0x2f, + 0xbf, 0x90, 0x77, 0x9b, 0xf4, 0xeb, 0x89, 0x8b, +}; +static const unsigned char kat630_addin1[] = { + 0xcc, 0xd9, 0x7e, 0xc3, 0x1b, 0x03, 0x0e, 0x73, 0x2e, 0xdb, 0xfc, 0xdf, + 0xb9, 0x84, 0x8c, 0x2b, 0x36, 0x73, 0xbd, 0x3b, 0x10, 0x71, 0x50, 0x26, + 0x58, 0xda, 0xa4, 0x60, 0xb2, 0x62, 0xfb, 0x1c, +}; +static const unsigned char kat630_retbits[] = { + 0x37, 0x31, 0xcf, 0xe5, 0xeb, 0xbc, 0x5b, 0x05, 0xc1, 0x12, 0xe8, 0x8f, + 0x1b, 0x4c, 0xb3, 0xde, 0xee, 0xe4, 0xbc, 0xc9, 0xec, 0xd1, 0x63, 0x5e, + 0x9c, 0x85, 0x46, 0x92, 0x57, 0x15, 0x06, 0x61, 0xa5, 0xdb, 0xac, 0x2e, + 0x63, 0x4b, 0x8f, 0xb0, 0xde, 0x08, 0xb5, 0xcd, 0x5e, 0xee, 0x12, 0x65, + 0xf8, 0x2e, 0x92, 0x78, 0xdc, 0xcd, 0x77, 0xb1, 0xfe, 0xd2, 0x32, 0x3c, + 0x55, 0x44, 0x45, 0xc3, +}; +static const struct drbg_kat_no_reseed kat630_t = { + 14, kat630_entropyin, kat630_nonce, kat630_persstr, + kat630_addin0, kat630_addin1, kat630_retbits +}; +static const struct drbg_kat kat630 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat630_t +}; + +static const unsigned char kat631_entropyin[] = { + 0x47, 0xd5, 0x70, 0xe3, 0xa0, 0xa2, 0x0c, 0x0a, 0x20, 0x10, 0x67, 0x3a, + 0x61, 0x31, 0xdc, 0xc3, 0x20, 0x26, 0x79, 0xeb, 0x06, 0xf3, 0xc1, 0xb8, + 0x2a, 0x71, 0x0e, 0xdf, 0x92, 0xd3, 0x77, 0x4b, +}; +static const unsigned char kat631_nonce[] = { + 0x88, 0x1f, 0xa7, 0xfd, 0xfb, 0x70, 0xd1, 0x06, 0xb9, 0xb9, 0xeb, 0x02, + 0x54, 0xb0, 0xeb, 0x6b, +}; +static const unsigned char kat631_persstr[] = { + 0x0f, 0x66, 0x78, 0x7e, 0xf9, 0xb9, 0x03, 0x64, 0x51, 0x7e, 0x31, 0x51, + 0xb1, 0x58, 0xbe, 0xcd, 0x9d, 0xf4, 0x06, 0x0c, 0xd9, 0x2e, 0xc8, 0x8d, + 0xa3, 0xa6, 0xdd, 0x7b, 0x3b, 0x18, 0xe5, 0x4f, +}; +static const unsigned char kat631_addin0[] = {0}; +static const unsigned char kat631_addin1[] = {0}; +static const unsigned char kat631_retbits[] = { + 0xe6, 0x4e, 0x8d, 0xca, 0xc9, 0x5e, 0x0e, 0x46, 0xf5, 0xe6, 0xc5, 0x57, + 0x1d, 0x07, 0x7b, 0x57, 0x4b, 0x1e, 0xab, 0xe4, 0x88, 0x0b, 0xbc, 0x0b, + 0xab, 0x8e, 0x08, 0xe2, 0x14, 0x80, 0x51, 0x44, 0x11, 0x65, 0xc3, 0x05, + 0xfc, 0x09, 0xd6, 0x07, 0x65, 0x19, 0x03, 0x46, 0xaf, 0x27, 0xa0, 0xdf, + 0x81, 0x56, 0x53, 0xe8, 0x1f, 0x78, 0x2a, 0xb7, 0xfe, 0xe5, 0x5d, 0xad, + 0x23, 0xec, 0x51, 0xd1, +}; +static const struct drbg_kat_no_reseed kat631_t = { + 0, kat631_entropyin, kat631_nonce, kat631_persstr, + kat631_addin0, kat631_addin1, kat631_retbits +}; +static const struct drbg_kat kat631 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat631_t +}; + +static const unsigned char kat632_entropyin[] = { + 0x21, 0xcf, 0x7b, 0x1f, 0x01, 0x49, 0x95, 0xff, 0xe7, 0xfe, 0x84, 0x54, + 0x3f, 0x3e, 0x9a, 0x75, 0xcb, 0x3f, 0x99, 0x85, 0x1c, 0xf2, 0x1c, 0x4a, + 0xbb, 0xdc, 0x38, 0x73, 0x30, 0xd5, 0xc7, 0xe9, +}; +static const unsigned char kat632_nonce[] = { + 0x49, 0xa6, 0xee, 0xa4, 0x26, 0x3e, 0xe1, 0xf5, 0xd4, 0x61, 0x90, 0x7d, + 0xc5, 0x8b, 0x44, 0xfb, +}; +static const unsigned char kat632_persstr[] = { + 0x14, 0xd5, 0x39, 0x75, 0xf8, 0x52, 0xbc, 0xc9, 0xa1, 0xc5, 0xec, 0x9f, + 0x48, 0x25, 0xa0, 0x47, 0x21, 0xec, 0xfd, 0x87, 0xf2, 0xad, 0xef, 0x09, + 0x9a, 0x5b, 0x88, 0xe2, 0x7d, 0x77, 0x7b, 0x03, +}; +static const unsigned char kat632_addin0[] = {0}; +static const unsigned char kat632_addin1[] = {0}; +static const unsigned char kat632_retbits[] = { + 0xa2, 0x6c, 0x99, 0x05, 0xc9, 0xae, 0x13, 0x8d, 0x94, 0x8b, 0xe7, 0x3c, + 0x42, 0x71, 0xe7, 0xe0, 0xda, 0xa2, 0x31, 0x61, 0xbc, 0x65, 0x95, 0x15, + 0x48, 0x81, 0xae, 0x60, 0x53, 0x59, 0x9a, 0x21, 0xaa, 0x97, 0xe5, 0x7f, + 0x3c, 0xe3, 0x4d, 0x30, 0xf6, 0x96, 0x47, 0xe9, 0x70, 0xe7, 0x82, 0x70, + 0x39, 0x93, 0x26, 0x15, 0xd9, 0x70, 0xb4, 0x75, 0x75, 0x96, 0x4c, 0xeb, + 0x8f, 0x7a, 0x43, 0x7d, +}; +static const struct drbg_kat_no_reseed kat632_t = { + 1, kat632_entropyin, kat632_nonce, kat632_persstr, + kat632_addin0, kat632_addin1, kat632_retbits +}; +static const struct drbg_kat kat632 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat632_t +}; + +static const unsigned char kat633_entropyin[] = { + 0x17, 0x9e, 0x22, 0xe2, 0xf4, 0x95, 0xba, 0x9a, 0xe3, 0x52, 0xb9, 0x3c, + 0x83, 0x6b, 0x69, 0x33, 0xe2, 0x8a, 0x2a, 0x18, 0x4f, 0x89, 0x82, 0xc0, + 0x4e, 0x25, 0xe7, 0xee, 0xe6, 0x6f, 0x9f, 0x7c, +}; +static const unsigned char kat633_nonce[] = { + 0xc1, 0x84, 0xe8, 0x42, 0xd2, 0x55, 0x5e, 0x56, 0x88, 0x8b, 0x7b, 0x75, + 0x18, 0x9e, 0x77, 0x75, +}; +static const unsigned char kat633_persstr[] = { + 0x0f, 0xc7, 0x4e, 0x50, 0xa0, 0xfd, 0xa7, 0x9b, 0xb3, 0x1d, 0x5e, 0xbb, + 0x30, 0x8a, 0xa9, 0x7c, 0xcd, 0x6e, 0x6f, 0x17, 0xdc, 0xec, 0x14, 0x97, + 0x6f, 0x4e, 0x6b, 0x15, 0xca, 0x1b, 0xe3, 0x41, +}; +static const unsigned char kat633_addin0[] = {0}; +static const unsigned char kat633_addin1[] = {0}; +static const unsigned char kat633_retbits[] = { + 0x47, 0x49, 0x76, 0x47, 0x11, 0x17, 0x44, 0xc7, 0x3d, 0xd2, 0xd0, 0x5c, + 0xf5, 0x7d, 0x65, 0xce, 0xae, 0x22, 0xe2, 0x2c, 0xac, 0x44, 0xb0, 0x98, + 0x18, 0x9c, 0x5a, 0x5c, 0x2f, 0x78, 0x1b, 0x74, 0x66, 0x9e, 0x6d, 0x66, + 0x9e, 0x38, 0xea, 0x8e, 0x5b, 0x46, 0x60, 0xe0, 0x4c, 0x04, 0x01, 0xc4, + 0xa4, 0xe6, 0x4c, 0x33, 0x1d, 0x79, 0x6d, 0x19, 0xb7, 0x35, 0x0a, 0x6a, + 0x3e, 0x46, 0x19, 0xfc, +}; +static const struct drbg_kat_no_reseed kat633_t = { + 2, kat633_entropyin, kat633_nonce, kat633_persstr, + kat633_addin0, kat633_addin1, kat633_retbits +}; +static const struct drbg_kat kat633 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat633_t +}; + +static const unsigned char kat634_entropyin[] = { + 0x60, 0xbf, 0x6d, 0x95, 0x73, 0xea, 0x93, 0x98, 0x07, 0x4c, 0x3d, 0x6e, + 0x04, 0xe0, 0xe8, 0x22, 0xf0, 0xee, 0x95, 0xb6, 0x7d, 0xd2, 0x55, 0x59, + 0x88, 0x12, 0xe5, 0x33, 0x6a, 0xcc, 0x23, 0x36, +}; +static const unsigned char kat634_nonce[] = { + 0xad, 0x27, 0xd7, 0xb2, 0x74, 0xf3, 0xa2, 0x18, 0x9d, 0x27, 0xbc, 0x54, + 0x7d, 0x6a, 0xc4, 0x10, +}; +static const unsigned char kat634_persstr[] = { + 0x58, 0x03, 0x5b, 0xae, 0x9b, 0xa6, 0x7b, 0x89, 0x0b, 0x89, 0x2e, 0x3a, + 0x97, 0x4e, 0x33, 0x1d, 0x99, 0xd1, 0x5c, 0x60, 0x75, 0x93, 0xed, 0x21, + 0xa5, 0x1d, 0xec, 0x71, 0x03, 0x4d, 0x14, 0x2c, +}; +static const unsigned char kat634_addin0[] = {0}; +static const unsigned char kat634_addin1[] = {0}; +static const unsigned char kat634_retbits[] = { + 0x51, 0x8d, 0xfe, 0xa2, 0x50, 0xe1, 0x79, 0xe2, 0x73, 0x82, 0x83, 0xde, + 0x6b, 0xc2, 0x9a, 0x06, 0x9c, 0xd9, 0xf6, 0x79, 0x3c, 0xe1, 0x1e, 0xc8, + 0x01, 0xab, 0x2d, 0x32, 0x39, 0x14, 0xe1, 0x34, 0x55, 0x87, 0x6c, 0x4d, + 0xb8, 0x32, 0x8a, 0x5b, 0x9a, 0x78, 0xfd, 0x06, 0x1c, 0xad, 0x66, 0x23, + 0x2d, 0x10, 0x57, 0xe5, 0xd6, 0xa3, 0x85, 0xa2, 0x97, 0xad, 0xca, 0x9c, + 0xdc, 0xa5, 0x7c, 0xaa, +}; +static const struct drbg_kat_no_reseed kat634_t = { + 3, kat634_entropyin, kat634_nonce, kat634_persstr, + kat634_addin0, kat634_addin1, kat634_retbits +}; +static const struct drbg_kat kat634 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat634_t +}; + +static const unsigned char kat635_entropyin[] = { + 0xd3, 0x9f, 0xb3, 0x56, 0xf6, 0x6c, 0xea, 0xb8, 0x1c, 0x4c, 0xda, 0xd8, + 0x9e, 0xe2, 0xe6, 0x65, 0x7f, 0x8b, 0x36, 0xe8, 0x45, 0xd6, 0xb8, 0xb7, + 0x53, 0x0a, 0x61, 0x88, 0xc4, 0xc2, 0x6a, 0x8c, +}; +static const unsigned char kat635_nonce[] = { + 0xb1, 0x09, 0x22, 0xb4, 0xa3, 0x08, 0x6e, 0x4a, 0x48, 0x4b, 0x50, 0x39, + 0x99, 0x6a, 0x54, 0xb4, +}; +static const unsigned char kat635_persstr[] = { + 0x04, 0xdf, 0x5d, 0x29, 0xdc, 0x5c, 0x07, 0x93, 0xfe, 0x5b, 0x4a, 0xb3, + 0xda, 0x3e, 0xf7, 0xd2, 0x64, 0xc4, 0xcd, 0x67, 0x5f, 0xb0, 0x6b, 0xd2, + 0x1a, 0xc2, 0x1d, 0x7c, 0x77, 0xa2, 0xce, 0x73, +}; +static const unsigned char kat635_addin0[] = {0}; +static const unsigned char kat635_addin1[] = {0}; +static const unsigned char kat635_retbits[] = { + 0x0f, 0x2c, 0x2d, 0xbe, 0x5d, 0xa6, 0x67, 0x42, 0xe9, 0xaa, 0xaa, 0x48, + 0x61, 0x2a, 0x0e, 0x07, 0xdd, 0x69, 0x14, 0x94, 0x2c, 0x52, 0xe8, 0x7d, + 0x32, 0x66, 0x15, 0x00, 0x13, 0xaa, 0xc3, 0x13, 0xde, 0x17, 0x17, 0x08, + 0x8e, 0x01, 0xb9, 0x3d, 0xd0, 0xd8, 0xc6, 0xab, 0xd0, 0xc5, 0xd6, 0x3d, + 0x56, 0x49, 0x51, 0x40, 0x45, 0x8c, 0x4a, 0x98, 0x0a, 0xb4, 0xff, 0x7d, + 0x98, 0x9e, 0x00, 0xe4, +}; +static const struct drbg_kat_no_reseed kat635_t = { + 4, kat635_entropyin, kat635_nonce, kat635_persstr, + kat635_addin0, kat635_addin1, kat635_retbits +}; +static const struct drbg_kat kat635 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat635_t +}; + +static const unsigned char kat636_entropyin[] = { + 0x9a, 0x1a, 0x99, 0xf8, 0xf2, 0xbb, 0x88, 0xa7, 0x45, 0xbb, 0x24, 0xcb, + 0xcd, 0x4a, 0xc3, 0xaa, 0xbc, 0xf9, 0xad, 0x96, 0x37, 0x05, 0xdd, 0xee, + 0x88, 0x7c, 0xa1, 0x79, 0x2a, 0x1f, 0xa9, 0xf0, +}; +static const unsigned char kat636_nonce[] = { + 0xa9, 0x10, 0x06, 0x54, 0xab, 0xc3, 0xac, 0xd6, 0xfb, 0x0c, 0x34, 0x44, + 0x04, 0xed, 0xb9, 0x74, +}; +static const unsigned char kat636_persstr[] = { + 0x2f, 0xaa, 0xd0, 0xea, 0x6e, 0xb2, 0xb5, 0xbe, 0xfe, 0x02, 0x41, 0x19, + 0x20, 0x3b, 0xf7, 0x9c, 0x13, 0xed, 0x1f, 0xed, 0xac, 0xf5, 0x35, 0x88, + 0x10, 0xf4, 0xf8, 0x70, 0x17, 0x5e, 0x08, 0xc1, +}; +static const unsigned char kat636_addin0[] = {0}; +static const unsigned char kat636_addin1[] = {0}; +static const unsigned char kat636_retbits[] = { + 0x27, 0x98, 0xf2, 0xe4, 0xb6, 0x6b, 0xca, 0x62, 0x12, 0xe1, 0x05, 0x5d, + 0x10, 0x0f, 0xfa, 0x4b, 0xac, 0x73, 0x3b, 0x05, 0xdc, 0xa1, 0x9a, 0x36, + 0x02, 0xfc, 0xd5, 0xe6, 0x84, 0x87, 0x5a, 0x7c, 0x58, 0xc1, 0xe7, 0xa8, + 0x94, 0x1a, 0x77, 0x32, 0x12, 0x4d, 0xaf, 0x13, 0xf9, 0x7c, 0x57, 0xcd, + 0x7d, 0x14, 0xe4, 0x03, 0x7a, 0xbf, 0x2f, 0x89, 0x10, 0x28, 0x1d, 0xbf, + 0xdf, 0x91, 0x13, 0xbb, +}; +static const struct drbg_kat_no_reseed kat636_t = { + 5, kat636_entropyin, kat636_nonce, kat636_persstr, + kat636_addin0, kat636_addin1, kat636_retbits +}; +static const struct drbg_kat kat636 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat636_t +}; + +static const unsigned char kat637_entropyin[] = { + 0x9f, 0x63, 0xa3, 0x28, 0x2c, 0xd1, 0x8a, 0x09, 0xa9, 0x1a, 0x50, 0x08, + 0x6c, 0xe0, 0xe8, 0xd9, 0x1b, 0xe0, 0x42, 0x61, 0xda, 0x62, 0x38, 0x75, + 0xb1, 0x5f, 0x9b, 0xac, 0x5a, 0xfe, 0x7c, 0x6d, +}; +static const unsigned char kat637_nonce[] = { + 0xef, 0x81, 0xc6, 0xf3, 0x67, 0xff, 0xbd, 0x5d, 0x97, 0xcd, 0xdf, 0x81, + 0x9a, 0x99, 0xf9, 0x96, +}; +static const unsigned char kat637_persstr[] = { + 0xf1, 0x8f, 0xc5, 0x00, 0xcc, 0x26, 0x0b, 0xeb, 0x53, 0xaa, 0x6a, 0x1d, + 0x1e, 0xbd, 0x5b, 0xaf, 0x6e, 0xc3, 0xad, 0x79, 0x57, 0x8a, 0x71, 0xcd, + 0xb2, 0x76, 0xc6, 0x9d, 0x67, 0x50, 0x11, 0xcc, +}; +static const unsigned char kat637_addin0[] = {0}; +static const unsigned char kat637_addin1[] = {0}; +static const unsigned char kat637_retbits[] = { + 0x47, 0x8f, 0xb3, 0x11, 0x2c, 0x99, 0x36, 0x3b, 0x7c, 0x6e, 0x5d, 0x78, + 0x1c, 0xcf, 0xc2, 0x05, 0x66, 0x94, 0xdd, 0xdb, 0x70, 0xd5, 0xe4, 0xe4, + 0x57, 0xf2, 0x2c, 0xfb, 0x15, 0x4d, 0x1d, 0x01, 0x73, 0xc0, 0x9d, 0xaa, + 0x88, 0x06, 0xba, 0x9c, 0x7c, 0xef, 0xcd, 0xd7, 0xa7, 0x15, 0xb3, 0xb5, + 0x39, 0x1b, 0xe1, 0x0c, 0x37, 0x28, 0xf3, 0xaf, 0x25, 0xab, 0x2a, 0x4b, + 0x8a, 0x8a, 0x5c, 0xaa, +}; +static const struct drbg_kat_no_reseed kat637_t = { + 6, kat637_entropyin, kat637_nonce, kat637_persstr, + kat637_addin0, kat637_addin1, kat637_retbits +}; +static const struct drbg_kat kat637 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat637_t +}; + +static const unsigned char kat638_entropyin[] = { + 0x10, 0x15, 0xc9, 0xc0, 0xd0, 0x6e, 0x6a, 0xc7, 0xac, 0xbb, 0xab, 0x0d, + 0x2d, 0xd1, 0xad, 0xea, 0x75, 0x60, 0x57, 0xcc, 0x39, 0x38, 0xef, 0x87, + 0x85, 0xe3, 0xd5, 0x1e, 0x5a, 0xfc, 0x01, 0x8e, +}; +static const unsigned char kat638_nonce[] = { + 0x95, 0x1d, 0x78, 0x61, 0xd8, 0x40, 0x9b, 0x0a, 0x62, 0xb1, 0x8c, 0x43, + 0xbb, 0xb6, 0x55, 0x23, +}; +static const unsigned char kat638_persstr[] = { + 0xe7, 0x6a, 0x06, 0x02, 0x4d, 0x00, 0xbe, 0x09, 0xc6, 0xa2, 0x2b, 0x78, + 0xb7, 0x4c, 0xad, 0xba, 0xf3, 0x68, 0x92, 0x0b, 0x1f, 0x74, 0xa4, 0x41, + 0xd5, 0x10, 0xae, 0xe0, 0x2c, 0xae, 0x72, 0x1d, +}; +static const unsigned char kat638_addin0[] = {0}; +static const unsigned char kat638_addin1[] = {0}; +static const unsigned char kat638_retbits[] = { + 0xe1, 0xad, 0x22, 0x2c, 0x7f, 0x45, 0xd8, 0x2d, 0x15, 0x93, 0x09, 0xfe, + 0xa1, 0x5e, 0x81, 0xbf, 0x9f, 0x14, 0x8c, 0xac, 0xd5, 0x7b, 0x52, 0xf5, + 0xe8, 0xfd, 0x3f, 0xaf, 0x73, 0xd9, 0xb8, 0x32, 0xcc, 0x80, 0x3d, 0x4f, + 0x36, 0xe3, 0xd9, 0xaf, 0xb0, 0x3c, 0xba, 0xcb, 0xf7, 0x2d, 0x6b, 0x29, + 0x7a, 0x01, 0xd0, 0xf0, 0x0b, 0x82, 0x5f, 0x64, 0xe6, 0x76, 0xa7, 0x01, + 0x81, 0x59, 0xda, 0x2b, +}; +static const struct drbg_kat_no_reseed kat638_t = { + 7, kat638_entropyin, kat638_nonce, kat638_persstr, + kat638_addin0, kat638_addin1, kat638_retbits +}; +static const struct drbg_kat kat638 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat638_t +}; + +static const unsigned char kat639_entropyin[] = { + 0xca, 0xd9, 0x36, 0xac, 0xd1, 0xef, 0x96, 0x85, 0xf6, 0x6b, 0xef, 0x62, + 0xa8, 0xbf, 0x4f, 0x91, 0x9e, 0x18, 0x02, 0x4f, 0xda, 0x5c, 0x63, 0xc5, + 0x7c, 0xed, 0xb7, 0x02, 0xdf, 0x3e, 0x94, 0xa9, +}; +static const unsigned char kat639_nonce[] = { + 0x85, 0xd3, 0x23, 0x8a, 0xfa, 0x86, 0xc6, 0x54, 0x70, 0x2d, 0xfa, 0x79, + 0x3e, 0x11, 0xd3, 0xf6, +}; +static const unsigned char kat639_persstr[] = { + 0xd6, 0x32, 0x4b, 0x2a, 0x3e, 0x38, 0x94, 0x6c, 0x7d, 0xf7, 0xc6, 0xe8, + 0xd3, 0x01, 0xf6, 0xb5, 0xe6, 0x3e, 0x55, 0x53, 0x5c, 0x8a, 0xe0, 0xbe, + 0xd6, 0x77, 0xce, 0x0e, 0xa8, 0x6e, 0xa4, 0x99, +}; +static const unsigned char kat639_addin0[] = {0}; +static const unsigned char kat639_addin1[] = {0}; +static const unsigned char kat639_retbits[] = { + 0x30, 0x03, 0x46, 0x83, 0x65, 0xb5, 0xec, 0xcd, 0xd6, 0x42, 0xd3, 0xd4, + 0x30, 0xd4, 0xc4, 0xd4, 0xc0, 0x89, 0xc5, 0xdf, 0xb7, 0xdd, 0x4a, 0xda, + 0xfb, 0xdb, 0x46, 0x31, 0x61, 0x08, 0x05, 0xe1, 0x58, 0x7d, 0x35, 0x5b, + 0x56, 0xd6, 0x59, 0xc5, 0x9f, 0xa0, 0x12, 0xe4, 0x90, 0xbe, 0xae, 0x5f, + 0xc7, 0x67, 0xbd, 0xbb, 0x34, 0xb3, 0x1a, 0x5b, 0x30, 0x4c, 0x23, 0xdc, + 0x27, 0xb4, 0xe9, 0xe0, +}; +static const struct drbg_kat_no_reseed kat639_t = { + 8, kat639_entropyin, kat639_nonce, kat639_persstr, + kat639_addin0, kat639_addin1, kat639_retbits +}; +static const struct drbg_kat kat639 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat639_t +}; + +static const unsigned char kat640_entropyin[] = { + 0x64, 0x8e, 0x4e, 0x48, 0x4b, 0x26, 0xfc, 0xb3, 0x30, 0xbf, 0x46, 0xa9, + 0xee, 0xe4, 0x18, 0xcb, 0x46, 0xbd, 0xb5, 0x66, 0x4d, 0xc0, 0xb5, 0xa8, + 0x75, 0xee, 0x8e, 0x58, 0x45, 0x47, 0x6a, 0x56, +}; +static const unsigned char kat640_nonce[] = { + 0xba, 0x61, 0x0a, 0x74, 0xb6, 0x64, 0x72, 0xc6, 0x9f, 0x81, 0xad, 0x0f, + 0xbf, 0xe8, 0xb3, 0x9d, +}; +static const unsigned char kat640_persstr[] = { + 0x32, 0x2f, 0x58, 0x43, 0x29, 0xdf, 0xc1, 0xf6, 0x43, 0xf3, 0x59, 0xec, + 0xfb, 0x98, 0x33, 0xc4, 0xaa, 0x28, 0x66, 0x67, 0xf2, 0xff, 0xe6, 0xbe, + 0xd9, 0xc4, 0xc6, 0xe9, 0x12, 0x38, 0x03, 0x89, +}; +static const unsigned char kat640_addin0[] = {0}; +static const unsigned char kat640_addin1[] = {0}; +static const unsigned char kat640_retbits[] = { + 0x7f, 0x84, 0x98, 0x28, 0x2c, 0x32, 0xe6, 0xb5, 0x35, 0x12, 0x15, 0xf9, + 0x0e, 0x58, 0xdd, 0x3d, 0x5f, 0xf5, 0xcb, 0x7b, 0x61, 0xc3, 0xfd, 0x9e, + 0x2b, 0x93, 0xdc, 0xbd, 0xc5, 0xef, 0x85, 0xba, 0x9e, 0xda, 0x9f, 0xc5, + 0x34, 0x56, 0x5f, 0x77, 0xb7, 0x8b, 0x42, 0x0e, 0x24, 0xcf, 0xc9, 0x5d, + 0x7d, 0x55, 0x5b, 0x74, 0x3a, 0x80, 0xb2, 0x19, 0x45, 0x08, 0xc3, 0x1e, + 0x4c, 0x30, 0xba, 0xe3, +}; +static const struct drbg_kat_no_reseed kat640_t = { + 9, kat640_entropyin, kat640_nonce, kat640_persstr, + kat640_addin0, kat640_addin1, kat640_retbits +}; +static const struct drbg_kat kat640 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat640_t +}; + +static const unsigned char kat641_entropyin[] = { + 0xc5, 0x2a, 0x30, 0x1c, 0x95, 0x25, 0x50, 0xa3, 0x1a, 0xb3, 0xf3, 0xd3, + 0xc7, 0x89, 0x19, 0xcc, 0x55, 0x09, 0xa5, 0xb9, 0x84, 0xc0, 0xa4, 0x7a, + 0x9c, 0xae, 0x9f, 0xe8, 0xdc, 0xf6, 0xce, 0x97, +}; +static const unsigned char kat641_nonce[] = { + 0x87, 0xe2, 0x8a, 0xef, 0xf6, 0x6c, 0x45, 0xe4, 0x09, 0xf0, 0x2f, 0x99, + 0xd4, 0x59, 0xf6, 0x97, +}; +static const unsigned char kat641_persstr[] = { + 0x95, 0x6e, 0x32, 0xd3, 0xbd, 0x82, 0xc6, 0x37, 0x9b, 0x2b, 0x7a, 0x7b, + 0x67, 0xfd, 0xe6, 0x58, 0x3f, 0x98, 0xd5, 0xbc, 0x2e, 0x22, 0x08, 0x2e, + 0x79, 0x3b, 0x95, 0xe0, 0xdc, 0xbb, 0x4f, 0x94, +}; +static const unsigned char kat641_addin0[] = {0}; +static const unsigned char kat641_addin1[] = {0}; +static const unsigned char kat641_retbits[] = { + 0x6d, 0x0f, 0x4a, 0x8c, 0xb3, 0x06, 0x1b, 0x6a, 0xf2, 0xf1, 0x5d, 0x4b, + 0xf0, 0xaf, 0xba, 0xa4, 0x62, 0x4c, 0x06, 0x3f, 0xd7, 0xde, 0xd3, 0x90, + 0x3d, 0xc9, 0x0f, 0xb3, 0x59, 0xf3, 0x50, 0xb9, 0xec, 0x31, 0xa1, 0x91, + 0x40, 0xbc, 0xc4, 0xd4, 0xea, 0xb4, 0x49, 0xa6, 0xce, 0x4e, 0x0a, 0xbe, + 0x6b, 0x1e, 0x81, 0x91, 0x64, 0xd3, 0x98, 0x84, 0x42, 0x0a, 0xa2, 0x0c, + 0x85, 0x40, 0x8c, 0x9f, +}; +static const struct drbg_kat_no_reseed kat641_t = { + 10, kat641_entropyin, kat641_nonce, kat641_persstr, + kat641_addin0, kat641_addin1, kat641_retbits +}; +static const struct drbg_kat kat641 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat641_t +}; + +static const unsigned char kat642_entropyin[] = { + 0xb5, 0x2b, 0x8b, 0x33, 0x34, 0xbf, 0xf2, 0x30, 0xd0, 0x33, 0xc8, 0x9c, + 0xe5, 0xf7, 0x4d, 0x21, 0xc1, 0xab, 0x07, 0xf1, 0x7a, 0xce, 0xc3, 0x09, + 0x4f, 0x54, 0x37, 0xe5, 0x09, 0x13, 0x9d, 0x85, +}; +static const unsigned char kat642_nonce[] = { + 0x61, 0x7f, 0x1f, 0x58, 0x40, 0xa4, 0x85, 0xd0, 0x42, 0xa5, 0xa7, 0xbc, + 0x55, 0xca, 0x37, 0x46, +}; +static const unsigned char kat642_persstr[] = { + 0xa6, 0xf4, 0x0a, 0x52, 0xf7, 0x92, 0x30, 0x37, 0xa9, 0x39, 0x1d, 0x45, + 0x09, 0x52, 0xaf, 0x3b, 0x4c, 0x82, 0x23, 0xe9, 0xc1, 0x9e, 0x24, 0xd2, + 0xba, 0x11, 0xe2, 0x0d, 0x15, 0x96, 0x4d, 0x34, +}; +static const unsigned char kat642_addin0[] = {0}; +static const unsigned char kat642_addin1[] = {0}; +static const unsigned char kat642_retbits[] = { + 0xce, 0xd9, 0xf3, 0xe3, 0xfd, 0xe7, 0x50, 0x9f, 0x5c, 0x1c, 0x46, 0xd5, + 0xa3, 0xbf, 0xff, 0xe6, 0x7c, 0xac, 0xff, 0xb1, 0x03, 0xfe, 0x4f, 0xac, + 0xfb, 0x45, 0xb6, 0x6e, 0x53, 0xd5, 0x94, 0xcf, 0x4e, 0x19, 0x28, 0x44, + 0xa1, 0xba, 0xc8, 0x18, 0x7c, 0x65, 0xcb, 0xc9, 0xcd, 0x84, 0x3f, 0x23, + 0x83, 0x51, 0x0d, 0x8f, 0x65, 0x76, 0xc3, 0x9d, 0x7f, 0x37, 0xd0, 0x00, + 0xb8, 0xce, 0x75, 0x21, +}; +static const struct drbg_kat_no_reseed kat642_t = { + 11, kat642_entropyin, kat642_nonce, kat642_persstr, + kat642_addin0, kat642_addin1, kat642_retbits +}; +static const struct drbg_kat kat642 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat642_t +}; + +static const unsigned char kat643_entropyin[] = { + 0xa5, 0x79, 0x37, 0x42, 0x88, 0xc8, 0xa2, 0xde, 0x14, 0x4f, 0x46, 0x0c, + 0xb0, 0xdc, 0x2f, 0xff, 0xbe, 0xc7, 0x0e, 0xb7, 0x59, 0xc5, 0xbf, 0x17, + 0x12, 0xa4, 0x5b, 0x5a, 0xbf, 0x63, 0x04, 0x5c, +}; +static const unsigned char kat643_nonce[] = { + 0xbd, 0xb7, 0x03, 0xe6, 0x46, 0x66, 0x6d, 0x1b, 0x21, 0x63, 0xc2, 0x5f, + 0xd5, 0x63, 0x02, 0x9d, +}; +static const unsigned char kat643_persstr[] = { + 0x51, 0x28, 0x52, 0x7d, 0x90, 0x77, 0xbd, 0x74, 0xb4, 0x4a, 0xb7, 0xde, + 0xad, 0xeb, 0x3f, 0x1f, 0xc2, 0x09, 0x9a, 0xb7, 0x11, 0xed, 0x44, 0xa6, + 0x12, 0xcb, 0xd6, 0x7c, 0x8e, 0x94, 0x62, 0x73, +}; +static const unsigned char kat643_addin0[] = {0}; +static const unsigned char kat643_addin1[] = {0}; +static const unsigned char kat643_retbits[] = { + 0x8f, 0xba, 0x16, 0x08, 0x67, 0xf2, 0x57, 0xb9, 0x0d, 0x76, 0xec, 0x68, + 0x0f, 0x3e, 0x16, 0x90, 0x4a, 0x8d, 0x14, 0x43, 0xb0, 0x28, 0x33, 0xea, + 0xa7, 0x8a, 0x33, 0x00, 0x71, 0x37, 0xc4, 0x22, 0x66, 0x91, 0x33, 0xd7, + 0xb3, 0xde, 0x20, 0x35, 0x83, 0x0a, 0xf7, 0x94, 0x00, 0x73, 0x0d, 0xed, + 0x71, 0x49, 0x54, 0x6d, 0x56, 0xa9, 0x0f, 0x20, 0x4e, 0x86, 0x47, 0x7c, + 0x42, 0xfe, 0xc1, 0xa9, +}; +static const struct drbg_kat_no_reseed kat643_t = { + 12, kat643_entropyin, kat643_nonce, kat643_persstr, + kat643_addin0, kat643_addin1, kat643_retbits +}; +static const struct drbg_kat kat643 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat643_t +}; + +static const unsigned char kat644_entropyin[] = { + 0x1f, 0x44, 0x48, 0x91, 0xec, 0x1d, 0x5d, 0x06, 0x0b, 0xd1, 0xb0, 0x37, + 0x36, 0x3b, 0xd7, 0x50, 0xdf, 0x90, 0x17, 0xb2, 0x74, 0x79, 0xe2, 0x11, + 0x85, 0xb9, 0x49, 0x7f, 0x6b, 0xa0, 0x31, 0x1f, +}; +static const unsigned char kat644_nonce[] = { + 0x73, 0xb5, 0x49, 0x79, 0x76, 0xd6, 0x71, 0xa2, 0x60, 0xb3, 0x4f, 0xa3, + 0x14, 0xcc, 0xdd, 0x74, +}; +static const unsigned char kat644_persstr[] = { + 0xd7, 0x0d, 0x63, 0xe5, 0x8d, 0x23, 0x12, 0x3e, 0xba, 0x0e, 0x5a, 0x6b, + 0xde, 0x07, 0x79, 0xa8, 0x86, 0x66, 0x83, 0x36, 0x9e, 0xe1, 0xc1, 0xd1, + 0xdd, 0xe8, 0x1a, 0x14, 0x67, 0x17, 0xd8, 0xbc, +}; +static const unsigned char kat644_addin0[] = {0}; +static const unsigned char kat644_addin1[] = {0}; +static const unsigned char kat644_retbits[] = { + 0x43, 0x56, 0xaf, 0xd0, 0x40, 0x81, 0xe8, 0xc0, 0xf4, 0xc4, 0x46, 0xa6, + 0x22, 0xcd, 0x3f, 0x04, 0x9e, 0x7e, 0x6e, 0x8f, 0x90, 0x6c, 0x07, 0x60, + 0x0d, 0xa0, 0x67, 0x1e, 0xea, 0xe8, 0xf0, 0xa7, 0x32, 0xf4, 0x5f, 0x7b, + 0x99, 0xee, 0x98, 0xc1, 0xb0, 0x61, 0x33, 0x5d, 0x0d, 0x58, 0x96, 0xda, + 0x1e, 0x1c, 0x08, 0x1e, 0x2a, 0x6f, 0x25, 0xc5, 0x65, 0xfc, 0x47, 0xdf, + 0xff, 0xeb, 0xbe, 0x98, +}; +static const struct drbg_kat_no_reseed kat644_t = { + 13, kat644_entropyin, kat644_nonce, kat644_persstr, + kat644_addin0, kat644_addin1, kat644_retbits +}; +static const struct drbg_kat kat644 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat644_t +}; + +static const unsigned char kat645_entropyin[] = { + 0x75, 0xd5, 0xb7, 0x82, 0xc5, 0x34, 0x5c, 0xee, 0x69, 0xe0, 0x45, 0x84, + 0x47, 0x83, 0xba, 0x53, 0xa3, 0x15, 0x88, 0x22, 0x82, 0x74, 0x0a, 0x45, + 0xb4, 0xa0, 0x4f, 0xd9, 0xe7, 0x7e, 0xc1, 0xb6, +}; +static const unsigned char kat645_nonce[] = { + 0x17, 0x5c, 0x36, 0xb3, 0x96, 0x47, 0x26, 0xca, 0xab, 0x9b, 0x5a, 0x12, + 0x7e, 0xe9, 0xcd, 0x91, +}; +static const unsigned char kat645_persstr[] = { + 0xc7, 0xb4, 0x5b, 0x62, 0xad, 0xab, 0xf3, 0x45, 0xdc, 0xc0, 0x18, 0xe2, + 0xea, 0xfe, 0x3e, 0xf2, 0x12, 0xa2, 0x53, 0xed, 0xc9, 0x46, 0x0f, 0x12, + 0xa7, 0xc0, 0x26, 0x0f, 0xe9, 0x59, 0xdf, 0x6c, +}; +static const unsigned char kat645_addin0[] = {0}; +static const unsigned char kat645_addin1[] = {0}; +static const unsigned char kat645_retbits[] = { + 0x5c, 0x74, 0xc0, 0x46, 0xd2, 0x00, 0xce, 0xf4, 0x36, 0x13, 0xee, 0xb2, + 0xb0, 0x83, 0x58, 0x38, 0x60, 0x9c, 0x4a, 0xe2, 0x69, 0x78, 0x89, 0xd5, + 0x1c, 0x17, 0x9a, 0x27, 0x37, 0x1b, 0x74, 0x21, 0xd9, 0xd2, 0x8d, 0x03, + 0x8b, 0xd2, 0x2a, 0xaa, 0x7b, 0xe1, 0xe3, 0x1c, 0xa0, 0x9f, 0x3c, 0xf3, + 0xd3, 0xea, 0x1d, 0x3f, 0x18, 0x34, 0x0d, 0x9c, 0xc7, 0x3d, 0xd8, 0x41, + 0x51, 0x22, 0xca, 0xaa, +}; +static const struct drbg_kat_no_reseed kat645_t = { + 14, kat645_entropyin, kat645_nonce, kat645_persstr, + kat645_addin0, kat645_addin1, kat645_retbits +}; +static const struct drbg_kat kat645 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat645_t +}; + +static const unsigned char kat646_entropyin[] = { + 0x50, 0x6b, 0xfe, 0x78, 0x5b, 0xd1, 0x7b, 0x7a, 0x2d, 0xec, 0x8a, 0xbb, + 0xe2, 0x02, 0xa2, 0x41, 0x40, 0x62, 0xb4, 0xc2, 0xff, 0x22, 0xaa, 0xc3, + 0x89, 0x01, 0x33, 0x80, 0x1c, 0x54, 0x96, 0x1f, +}; +static const unsigned char kat646_nonce[] = { + 0x64, 0x88, 0x5c, 0x54, 0xfd, 0x46, 0x16, 0xe6, 0x0d, 0xab, 0x9c, 0x4a, + 0x42, 0x4c, 0xb2, 0x00, +}; +static const unsigned char kat646_persstr[] = { + 0xdb, 0x1a, 0xab, 0xae, 0x13, 0x8e, 0x6b, 0xb9, 0xca, 0x30, 0xe7, 0xb1, + 0x07, 0x11, 0x00, 0x46, 0xad, 0x18, 0x8b, 0xef, 0x4a, 0x71, 0xc9, 0x0d, + 0x23, 0x29, 0xee, 0x42, 0x0e, 0xfb, 0x4b, 0x9d, +}; +static const unsigned char kat646_addin0[] = { + 0x0e, 0x22, 0x4a, 0x4d, 0x7b, 0x8c, 0xa1, 0xff, 0xf0, 0x46, 0x56, 0xf9, + 0xf4, 0xb5, 0xb9, 0x57, 0x7f, 0xce, 0xfc, 0xa0, 0xc2, 0x83, 0x28, 0x76, + 0x77, 0xbb, 0x84, 0xb1, 0xc3, 0x08, 0x34, 0x96, +}; +static const unsigned char kat646_addin1[] = { + 0x58, 0xac, 0xad, 0xc5, 0x4f, 0x21, 0x95, 0xef, 0x4d, 0x13, 0x53, 0x75, + 0x99, 0x47, 0xe6, 0xe5, 0x2d, 0xba, 0x26, 0x38, 0x04, 0x07, 0x76, 0xab, + 0x0b, 0xe3, 0xb6, 0x3a, 0x4b, 0x2d, 0x66, 0x3b, +}; +static const unsigned char kat646_retbits[] = { + 0x9f, 0x54, 0x75, 0xa3, 0x95, 0x98, 0x8b, 0x36, 0xcc, 0x3c, 0x41, 0x58, + 0x72, 0x31, 0xf1, 0x8f, 0x23, 0x2f, 0xb3, 0x03, 0xcf, 0x82, 0xf2, 0x4c, + 0xbf, 0xe7, 0x95, 0x69, 0x68, 0x1f, 0x7f, 0x8d, 0xab, 0x8c, 0x7a, 0x58, + 0x86, 0x10, 0x6d, 0x53, 0x0f, 0xe7, 0x88, 0x88, 0x6f, 0x8e, 0x5d, 0x13, + 0x15, 0x71, 0x54, 0x84, 0xd1, 0x88, 0x2b, 0x1d, 0x0c, 0x24, 0x12, 0xe8, + 0x79, 0x6f, 0x27, 0x0f, +}; +static const struct drbg_kat_no_reseed kat646_t = { + 0, kat646_entropyin, kat646_nonce, kat646_persstr, + kat646_addin0, kat646_addin1, kat646_retbits +}; +static const struct drbg_kat kat646 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat646_t +}; + +static const unsigned char kat647_entropyin[] = { + 0x52, 0xe7, 0xd8, 0xab, 0xd3, 0x0c, 0x4b, 0x14, 0x78, 0x67, 0x56, 0xe8, + 0x2d, 0xd7, 0xf8, 0x99, 0x07, 0x6e, 0x1c, 0xea, 0x07, 0xdc, 0x72, 0x2f, + 0x8e, 0x12, 0x16, 0x11, 0x41, 0xf6, 0xd9, 0xa5, +}; +static const unsigned char kat647_nonce[] = { + 0xca, 0xb6, 0x8c, 0xe9, 0xde, 0xb7, 0xe5, 0x45, 0xe3, 0x3e, 0x5a, 0x27, + 0xc4, 0x87, 0x85, 0x97, +}; +static const unsigned char kat647_persstr[] = { + 0x9a, 0xc3, 0xbf, 0x47, 0xf6, 0x30, 0x6a, 0x36, 0xee, 0x84, 0xed, 0x4e, + 0xe6, 0xae, 0xa8, 0xe1, 0xd7, 0xe8, 0xb1, 0x6b, 0x5c, 0x40, 0x7b, 0xd1, + 0x58, 0x3e, 0x7c, 0xb5, 0x2d, 0xa9, 0x12, 0x75, +}; +static const unsigned char kat647_addin0[] = { + 0xd7, 0xbd, 0xd5, 0xcb, 0xbe, 0xfd, 0x1b, 0x4d, 0x0c, 0xdb, 0x32, 0x93, + 0x7f, 0xeb, 0x8d, 0x01, 0x9d, 0x50, 0x3c, 0xae, 0x80, 0xa5, 0x24, 0x24, + 0x95, 0x66, 0x55, 0x65, 0xf3, 0x2f, 0xc4, 0x87, +}; +static const unsigned char kat647_addin1[] = { + 0x63, 0x61, 0xac, 0x7a, 0x3c, 0x20, 0x90, 0xbe, 0x66, 0xa4, 0x6f, 0xf8, + 0x29, 0xdf, 0x38, 0xff, 0x06, 0x3b, 0x2f, 0x9c, 0x53, 0x1c, 0x7e, 0x42, + 0x80, 0x30, 0x7e, 0xc4, 0x5c, 0x4f, 0xa0, 0xa6, +}; +static const unsigned char kat647_retbits[] = { + 0x98, 0x34, 0xb9, 0xe1, 0x61, 0x8d, 0x5f, 0x01, 0xee, 0x90, 0x83, 0xee, + 0x89, 0xcc, 0xb3, 0x3c, 0x18, 0x59, 0x6e, 0x67, 0x5e, 0x5f, 0x37, 0xc3, + 0xf4, 0xf5, 0x9a, 0x94, 0x6c, 0xa0, 0x93, 0xe1, 0xd8, 0xfb, 0x06, 0x8c, + 0xd8, 0xd6, 0xbb, 0x0f, 0xac, 0xeb, 0xb7, 0xed, 0x8d, 0x97, 0x42, 0x9d, + 0x22, 0x22, 0x3d, 0x2e, 0x2d, 0xd8, 0x7d, 0x04, 0x83, 0x93, 0xd3, 0x54, + 0x99, 0x31, 0x33, 0x9b, +}; +static const struct drbg_kat_no_reseed kat647_t = { + 1, kat647_entropyin, kat647_nonce, kat647_persstr, + kat647_addin0, kat647_addin1, kat647_retbits +}; +static const struct drbg_kat kat647 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat647_t +}; + +static const unsigned char kat648_entropyin[] = { + 0xdb, 0xe7, 0xa4, 0x62, 0x2d, 0x8c, 0xbf, 0xcc, 0x19, 0x1d, 0xc7, 0x40, + 0x56, 0x6f, 0xa0, 0x58, 0x8d, 0x77, 0x9a, 0x0d, 0x22, 0x7b, 0x03, 0x7f, + 0x73, 0x18, 0xa4, 0x28, 0x2a, 0x08, 0x0b, 0x0f, +}; +static const unsigned char kat648_nonce[] = { + 0xc4, 0xe3, 0x46, 0x9a, 0xc3, 0xa8, 0xd2, 0x31, 0x89, 0xc9, 0xc9, 0xe4, + 0x41, 0x2a, 0xbc, 0xd8, +}; +static const unsigned char kat648_persstr[] = { + 0x08, 0xdb, 0x81, 0xc1, 0x29, 0x71, 0x68, 0x1e, 0x78, 0x0b, 0xd9, 0xff, + 0x53, 0x76, 0x84, 0xde, 0x80, 0xc4, 0xbb, 0x21, 0x4d, 0x6e, 0xb1, 0x3a, + 0x92, 0x09, 0x04, 0x4a, 0xe4, 0x62, 0xa7, 0x40, +}; +static const unsigned char kat648_addin0[] = { + 0xf9, 0x53, 0x0b, 0x74, 0xa8, 0xcb, 0x02, 0x45, 0x56, 0xce, 0x54, 0xae, + 0xd8, 0x0c, 0x32, 0xef, 0x22, 0x01, 0xfb, 0x19, 0xf4, 0xaa, 0x56, 0x01, + 0x25, 0x85, 0x96, 0xc5, 0x97, 0x5e, 0x18, 0x4f, +}; +static const unsigned char kat648_addin1[] = { + 0xd1, 0x9a, 0x2e, 0xa8, 0x53, 0xde, 0xe8, 0x3d, 0xbf, 0xad, 0x41, 0x6f, + 0xec, 0x5f, 0xfe, 0xbc, 0xb1, 0xc6, 0x93, 0x6b, 0x35, 0x9a, 0xce, 0x38, + 0xc5, 0xf0, 0x57, 0x0e, 0x3a, 0xae, 0xe7, 0xd1, +}; +static const unsigned char kat648_retbits[] = { + 0xfe, 0xcf, 0xbc, 0x6e, 0xb3, 0xd0, 0x42, 0x23, 0x67, 0x58, 0x30, 0x44, + 0xbe, 0x8a, 0xfb, 0x65, 0x71, 0x77, 0x23, 0xf5, 0xfc, 0xc5, 0x3b, 0xde, + 0x92, 0x94, 0x86, 0x25, 0x56, 0x97, 0x0f, 0xe9, 0xde, 0x96, 0x4a, 0x27, + 0xd3, 0x1a, 0xcd, 0x1d, 0x41, 0xca, 0x77, 0xa1, 0xe3, 0xb0, 0xe7, 0x3f, + 0xfc, 0x0b, 0x1a, 0xa9, 0xc6, 0xd3, 0xcb, 0xe8, 0x42, 0x6c, 0xe9, 0x11, + 0x19, 0x3a, 0x16, 0x7b, +}; +static const struct drbg_kat_no_reseed kat648_t = { + 2, kat648_entropyin, kat648_nonce, kat648_persstr, + kat648_addin0, kat648_addin1, kat648_retbits +}; +static const struct drbg_kat kat648 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat648_t +}; + +static const unsigned char kat649_entropyin[] = { + 0xb1, 0x97, 0x8e, 0xa5, 0xdc, 0x18, 0xa9, 0x93, 0xab, 0x37, 0xb8, 0x81, + 0xe3, 0x3d, 0x85, 0xab, 0x54, 0x8e, 0x98, 0xaa, 0x2a, 0x79, 0x7e, 0xcf, + 0x8a, 0x19, 0x86, 0x21, 0xc0, 0xa1, 0xe1, 0x17, +}; +static const unsigned char kat649_nonce[] = { + 0xdb, 0x53, 0xb0, 0xde, 0x8f, 0x51, 0x78, 0x71, 0x7e, 0x0a, 0x69, 0xd8, + 0xbd, 0xee, 0x9f, 0x37, +}; +static const unsigned char kat649_persstr[] = { + 0x4f, 0x6d, 0xda, 0x5e, 0x9c, 0xc1, 0xd2, 0x53, 0x8e, 0xea, 0xce, 0x39, + 0xd2, 0x53, 0xe1, 0x62, 0x14, 0x57, 0xd6, 0x94, 0xa8, 0xe2, 0x4e, 0x5c, + 0x76, 0x02, 0xfc, 0xc8, 0x19, 0xfb, 0x83, 0x8b, +}; +static const unsigned char kat649_addin0[] = { + 0xe2, 0xad, 0xa7, 0x1c, 0x24, 0xf2, 0xde, 0xce, 0x43, 0x15, 0xc7, 0xda, + 0x2a, 0x94, 0xaf, 0x4e, 0x47, 0xa7, 0xca, 0x52, 0x9d, 0x9c, 0x36, 0x8a, + 0x32, 0xae, 0x45, 0x0d, 0x1a, 0x64, 0x5e, 0xe0, +}; +static const unsigned char kat649_addin1[] = { + 0xa9, 0x1a, 0x32, 0xbd, 0x1d, 0x9d, 0x83, 0xd1, 0x12, 0xf7, 0xac, 0xcf, + 0x95, 0x61, 0x15, 0xbd, 0x04, 0x8a, 0xb5, 0xf4, 0x24, 0x45, 0x31, 0xe5, + 0x93, 0x2e, 0x38, 0x2d, 0xd1, 0x43, 0x59, 0x73, +}; +static const unsigned char kat649_retbits[] = { + 0x39, 0x7d, 0xd1, 0x76, 0x9d, 0xe4, 0xdd, 0xa7, 0xaf, 0xf6, 0x45, 0xe3, + 0x2c, 0xfa, 0x1e, 0xd2, 0x2f, 0x3a, 0x43, 0x97, 0xb6, 0x28, 0x57, 0x89, + 0x6b, 0xaa, 0x0f, 0xba, 0x92, 0x62, 0xca, 0x8e, 0x46, 0xcf, 0x46, 0xf2, + 0x0b, 0x12, 0x77, 0x24, 0xd4, 0xc6, 0x86, 0x3c, 0x21, 0x11, 0xf1, 0xde, + 0xea, 0x9e, 0xfa, 0xdd, 0xb9, 0x18, 0x55, 0xbc, 0xd0, 0x18, 0x48, 0x1a, + 0xcf, 0x17, 0xf2, 0x5f, +}; +static const struct drbg_kat_no_reseed kat649_t = { + 3, kat649_entropyin, kat649_nonce, kat649_persstr, + kat649_addin0, kat649_addin1, kat649_retbits +}; +static const struct drbg_kat kat649 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat649_t +}; + +static const unsigned char kat650_entropyin[] = { + 0x9c, 0xe4, 0x9c, 0x6e, 0x9c, 0x5f, 0x2d, 0x43, 0xa1, 0xa2, 0xa1, 0xc2, + 0xa9, 0x0e, 0x8d, 0x63, 0xf1, 0xf4, 0xbd, 0x83, 0xfc, 0xde, 0xb7, 0x34, + 0xf1, 0x89, 0x42, 0x62, 0xd9, 0x1b, 0x5e, 0x91, +}; +static const unsigned char kat650_nonce[] = { + 0xf5, 0xa0, 0x88, 0x5f, 0x0c, 0x21, 0xa3, 0xf1, 0x6c, 0xfc, 0x3b, 0xb8, + 0x28, 0x24, 0x63, 0x33, +}; +static const unsigned char kat650_persstr[] = { + 0x0f, 0xa1, 0x4c, 0x2a, 0xb3, 0xbb, 0x6f, 0xc3, 0xf2, 0x22, 0xf1, 0x85, + 0x38, 0xee, 0x6c, 0xb9, 0x8b, 0x2e, 0x1a, 0x4c, 0xa7, 0xb5, 0x3e, 0x4c, + 0x91, 0x9b, 0xef, 0x88, 0x81, 0x38, 0x02, 0x62, +}; +static const unsigned char kat650_addin0[] = { + 0x90, 0x95, 0x89, 0xe0, 0x79, 0x5e, 0x57, 0x1c, 0x53, 0x08, 0x79, 0x50, + 0x3b, 0x56, 0x60, 0xf4, 0x20, 0x00, 0x3b, 0xcd, 0x19, 0xad, 0x05, 0x1a, + 0x50, 0x20, 0xa5, 0xd4, 0x46, 0x1b, 0x93, 0x27, +}; +static const unsigned char kat650_addin1[] = { + 0x96, 0xd4, 0x62, 0x87, 0x64, 0xc4, 0xa2, 0xe5, 0x2c, 0xed, 0x37, 0x57, + 0x4e, 0xa8, 0x61, 0x8b, 0x3e, 0xbf, 0xe7, 0x03, 0x5d, 0x41, 0xed, 0xcc, + 0x9b, 0x82, 0x0a, 0x22, 0xaa, 0x16, 0x70, 0x8b, +}; +static const unsigned char kat650_retbits[] = { + 0x1a, 0xaa, 0x09, 0xfc, 0x05, 0xa3, 0x22, 0xd3, 0x61, 0x00, 0xa6, 0x80, + 0x5c, 0xc7, 0x9b, 0xc3, 0xb5, 0x34, 0x38, 0x95, 0x03, 0x97, 0x69, 0x77, + 0x75, 0xc8, 0xf8, 0xf5, 0xb6, 0x87, 0x9d, 0x4f, 0x73, 0x86, 0xd8, 0x84, + 0xa0, 0x9b, 0xbd, 0x57, 0xa6, 0x8e, 0xfd, 0x79, 0xb7, 0xc0, 0xaf, 0x33, + 0xb3, 0xd4, 0x5d, 0x9e, 0xb5, 0xc1, 0x90, 0x9d, 0x4a, 0xb3, 0xe8, 0x31, + 0xe2, 0xd2, 0x6a, 0x67, +}; +static const struct drbg_kat_no_reseed kat650_t = { + 4, kat650_entropyin, kat650_nonce, kat650_persstr, + kat650_addin0, kat650_addin1, kat650_retbits +}; +static const struct drbg_kat kat650 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat650_t +}; + +static const unsigned char kat651_entropyin[] = { + 0x46, 0xb2, 0xd8, 0x67, 0x16, 0xa4, 0x29, 0x35, 0x8c, 0x6c, 0x39, 0x51, + 0x79, 0x7e, 0x64, 0x17, 0x10, 0x4a, 0x48, 0xd8, 0xf7, 0x50, 0x72, 0xa1, + 0x80, 0xbf, 0x7f, 0xdf, 0x6d, 0xd8, 0x88, 0xe2, +}; +static const unsigned char kat651_nonce[] = { + 0x94, 0x4b, 0x76, 0x18, 0x0c, 0x1a, 0x36, 0x05, 0x55, 0x09, 0x8f, 0x3d, + 0xe9, 0x62, 0xdb, 0x43, +}; +static const unsigned char kat651_persstr[] = { + 0x7b, 0xb9, 0xcb, 0x64, 0x23, 0xd4, 0x68, 0x5d, 0x86, 0x6e, 0x47, 0xf9, + 0x84, 0x73, 0xa7, 0xdc, 0x72, 0x0b, 0xe0, 0xe4, 0xa4, 0x2e, 0xb3, 0x8b, + 0x0e, 0x38, 0x3b, 0x3a, 0xf6, 0xa0, 0x12, 0x56, +}; +static const unsigned char kat651_addin0[] = { + 0xaa, 0x56, 0xfe, 0xc9, 0x90, 0x6c, 0x89, 0xfa, 0xad, 0xb7, 0x8d, 0xf0, + 0xfd, 0x67, 0x07, 0xe7, 0x5e, 0xae, 0x96, 0xc7, 0x96, 0xd3, 0x01, 0x35, + 0x7c, 0x95, 0x54, 0xe2, 0x99, 0x76, 0x8e, 0x76, +}; +static const unsigned char kat651_addin1[] = { + 0xc3, 0x70, 0x47, 0x12, 0x29, 0x73, 0xa6, 0xbe, 0xe2, 0xa3, 0xa9, 0x48, + 0x1a, 0x24, 0xd5, 0x48, 0x2c, 0x61, 0x13, 0xaf, 0xf3, 0x86, 0x5d, 0x6f, + 0xc1, 0x08, 0x98, 0x96, 0x6b, 0x7c, 0x8e, 0x6f, +}; +static const unsigned char kat651_retbits[] = { + 0xaf, 0xc8, 0x13, 0xfb, 0x36, 0x47, 0x04, 0x0d, 0x07, 0x96, 0x3b, 0x87, + 0xbb, 0x78, 0x80, 0x4a, 0x07, 0x29, 0xa3, 0x11, 0xb6, 0xee, 0x4e, 0xd2, + 0x66, 0x56, 0x67, 0x9e, 0x56, 0xe3, 0x71, 0x43, 0x5f, 0x3f, 0xa4, 0x50, + 0x45, 0x44, 0x82, 0x70, 0x3c, 0xbf, 0x91, 0x8c, 0xfe, 0x09, 0x45, 0xc7, + 0x0f, 0x37, 0x57, 0xe2, 0xc6, 0xab, 0x3a, 0x67, 0x4a, 0xc7, 0x3b, 0x21, + 0xde, 0x42, 0xc9, 0x74, +}; +static const struct drbg_kat_no_reseed kat651_t = { + 5, kat651_entropyin, kat651_nonce, kat651_persstr, + kat651_addin0, kat651_addin1, kat651_retbits +}; +static const struct drbg_kat kat651 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat651_t +}; + +static const unsigned char kat652_entropyin[] = { + 0x4e, 0xcf, 0x9a, 0xa3, 0xd6, 0xe3, 0x38, 0x08, 0xc5, 0x2a, 0x5d, 0x70, + 0x08, 0xa7, 0x67, 0xb8, 0x32, 0xeb, 0x92, 0x5a, 0xc1, 0xd6, 0x7d, 0xdc, + 0x76, 0x11, 0x5e, 0x3c, 0x16, 0x38, 0xab, 0x8e, +}; +static const unsigned char kat652_nonce[] = { + 0xd5, 0x82, 0xd4, 0x64, 0x65, 0xf0, 0x17, 0x9d, 0x1d, 0x3a, 0x95, 0x90, + 0xf8, 0x86, 0x18, 0xc0, +}; +static const unsigned char kat652_persstr[] = { + 0xfb, 0x33, 0x96, 0xb7, 0xfc, 0xdf, 0xa4, 0x49, 0x21, 0x0b, 0x4c, 0xe4, + 0x4d, 0x39, 0x1f, 0xd8, 0x7e, 0xc5, 0x66, 0x3e, 0x97, 0xca, 0x95, 0x3d, + 0x2f, 0xdc, 0xed, 0x45, 0x33, 0x08, 0xf8, 0xa6, +}; +static const unsigned char kat652_addin0[] = { + 0x42, 0x3b, 0x59, 0xa0, 0x38, 0x7f, 0xd1, 0xdc, 0xe9, 0x3c, 0x4b, 0xc4, + 0xb2, 0xc4, 0xab, 0xcb, 0xe0, 0x56, 0xe1, 0x0f, 0x98, 0xc1, 0x1c, 0xc1, + 0x0c, 0x3b, 0xe1, 0x39, 0x72, 0x9e, 0x04, 0xc2, +}; +static const unsigned char kat652_addin1[] = { + 0x5f, 0x6f, 0xe2, 0xa4, 0xbe, 0x57, 0x01, 0xd0, 0xf8, 0x73, 0x5f, 0x1e, + 0x63, 0xaa, 0x1f, 0x4e, 0xb8, 0xc7, 0x21, 0x3a, 0x78, 0x7b, 0x8b, 0x14, + 0x4b, 0x83, 0xce, 0xca, 0x54, 0x54, 0x7a, 0x94, +}; +static const unsigned char kat652_retbits[] = { + 0xeb, 0x5c, 0xbd, 0xab, 0x07, 0xb7, 0x1c, 0xd3, 0x56, 0x04, 0xe8, 0x65, + 0xd4, 0xf8, 0xb2, 0x6e, 0xb8, 0x40, 0xa6, 0x5f, 0x83, 0xa1, 0xdf, 0xe7, + 0xe3, 0xf6, 0xb2, 0xfc, 0xd2, 0x41, 0x2c, 0xbc, 0x21, 0xf9, 0xad, 0x09, + 0x39, 0x93, 0xcf, 0xab, 0x3b, 0x41, 0x48, 0x97, 0x28, 0x33, 0x8b, 0x58, + 0xbe, 0xf0, 0xb7, 0x3d, 0x08, 0x63, 0x8c, 0xc1, 0x25, 0x8c, 0x39, 0x09, + 0x89, 0xeb, 0x7c, 0x28, +}; +static const struct drbg_kat_no_reseed kat652_t = { + 6, kat652_entropyin, kat652_nonce, kat652_persstr, + kat652_addin0, kat652_addin1, kat652_retbits +}; +static const struct drbg_kat kat652 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat652_t +}; + +static const unsigned char kat653_entropyin[] = { + 0x94, 0xaa, 0x46, 0x3c, 0x75, 0x46, 0xa1, 0x59, 0xea, 0x14, 0xaf, 0x23, + 0x55, 0xaa, 0x78, 0x5a, 0x03, 0xc9, 0x12, 0x17, 0x97, 0x71, 0x9d, 0xc8, + 0xe8, 0xd5, 0xee, 0xeb, 0x2c, 0xc5, 0x1c, 0x59, +}; +static const unsigned char kat653_nonce[] = { + 0x26, 0x9e, 0x5d, 0x4a, 0xd3, 0xcf, 0x2d, 0x14, 0xa1, 0x7b, 0xae, 0x19, + 0xc7, 0xd9, 0xc0, 0x85, +}; +static const unsigned char kat653_persstr[] = { + 0x35, 0x11, 0xa4, 0x24, 0x9d, 0x85, 0x50, 0x72, 0xf6, 0x5b, 0x31, 0xb2, + 0x15, 0x81, 0x99, 0x2c, 0x75, 0x4c, 0xc3, 0x9d, 0xc5, 0x72, 0x59, 0x24, + 0xe5, 0x7e, 0x5a, 0x39, 0xe3, 0xce, 0x9e, 0x30, +}; +static const unsigned char kat653_addin0[] = { + 0xad, 0x0c, 0x18, 0x97, 0x1e, 0x6c, 0xf6, 0xc7, 0x74, 0x66, 0x71, 0xac, + 0x37, 0x6c, 0x30, 0x86, 0x1f, 0xc7, 0xca, 0x66, 0x13, 0x46, 0x06, 0x7c, + 0x44, 0xf6, 0x0f, 0x48, 0x39, 0x8c, 0xc6, 0x03, +}; +static const unsigned char kat653_addin1[] = { + 0x1f, 0x4a, 0x35, 0xab, 0xe8, 0x55, 0xd3, 0xfb, 0x5d, 0x69, 0x60, 0x7b, + 0xb8, 0xa5, 0x88, 0x8a, 0x10, 0x54, 0xd9, 0x95, 0x71, 0xf7, 0xf6, 0x02, + 0x0e, 0xc6, 0x52, 0x48, 0xd4, 0x72, 0x7d, 0x4f, +}; +static const unsigned char kat653_retbits[] = { + 0x7d, 0xd6, 0x6c, 0xa4, 0x01, 0x70, 0x9b, 0x52, 0xc7, 0x7f, 0x67, 0xc2, + 0x20, 0x26, 0xfd, 0x92, 0x1c, 0xb6, 0x03, 0xfe, 0xc7, 0x28, 0x9d, 0xb4, + 0x44, 0x00, 0xa7, 0xcd, 0x83, 0x22, 0xf2, 0xb2, 0xf8, 0xe2, 0xda, 0x65, + 0x2b, 0xe5, 0x6a, 0xe3, 0x7b, 0x2a, 0x59, 0x84, 0xeb, 0xbd, 0x88, 0x9c, + 0x63, 0xfc, 0x39, 0x9c, 0x24, 0x29, 0x6a, 0x6c, 0xb6, 0x5f, 0xdb, 0x2c, + 0x2e, 0x86, 0x9d, 0x0b, +}; +static const struct drbg_kat_no_reseed kat653_t = { + 7, kat653_entropyin, kat653_nonce, kat653_persstr, + kat653_addin0, kat653_addin1, kat653_retbits +}; +static const struct drbg_kat kat653 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat653_t +}; + +static const unsigned char kat654_entropyin[] = { + 0x92, 0x1e, 0x44, 0xa4, 0xa0, 0xd1, 0x8d, 0xe3, 0x27, 0x16, 0xd4, 0x15, + 0xc0, 0xeb, 0xb7, 0x44, 0x7f, 0x88, 0xc9, 0x4f, 0xe1, 0x28, 0x01, 0x3b, + 0xb6, 0xcc, 0xb9, 0x1b, 0xa3, 0x70, 0xa9, 0x42, +}; +static const unsigned char kat654_nonce[] = { + 0x02, 0xb1, 0xac, 0x59, 0xd8, 0x95, 0xeb, 0x97, 0x19, 0xa7, 0xff, 0x3b, + 0xbe, 0x26, 0xcf, 0x41, +}; +static const unsigned char kat654_persstr[] = { + 0x21, 0xa1, 0xa3, 0x4a, 0xb5, 0xaa, 0xb7, 0x6d, 0xf9, 0x22, 0x80, 0x68, + 0x39, 0xbd, 0x4a, 0xce, 0x2f, 0x17, 0xde, 0xf5, 0x9b, 0xc7, 0x35, 0xbd, + 0x9f, 0x9e, 0xb0, 0x18, 0x00, 0x4b, 0x02, 0x02, +}; +static const unsigned char kat654_addin0[] = { + 0x8f, 0x8d, 0x89, 0x50, 0x5d, 0xb0, 0xf5, 0x9e, 0x62, 0xea, 0xc8, 0x3a, + 0x07, 0x94, 0xd5, 0x7e, 0x7a, 0xa0, 0xb6, 0x89, 0x82, 0x5b, 0x1f, 0x32, + 0xe4, 0xbe, 0x82, 0xa2, 0x80, 0x5e, 0xf7, 0x94, +}; +static const unsigned char kat654_addin1[] = { + 0x0b, 0xd6, 0xd9, 0xde, 0x89, 0x60, 0x6b, 0x1b, 0x6f, 0xb2, 0xd8, 0x55, + 0x60, 0x42, 0xf3, 0xbe, 0x2e, 0x18, 0xa2, 0x24, 0x65, 0xbe, 0xf4, 0x4c, + 0x4b, 0x32, 0x29, 0x2d, 0x91, 0x03, 0x92, 0x08, +}; +static const unsigned char kat654_retbits[] = { + 0x86, 0xdf, 0xd5, 0x8f, 0xc6, 0xb9, 0x3d, 0x89, 0x57, 0x10, 0xbb, 0x6b, + 0x06, 0x76, 0x74, 0x97, 0xad, 0x1c, 0xa0, 0xe8, 0xc0, 0xf5, 0xca, 0xdd, + 0x8a, 0x01, 0x2f, 0xce, 0xd9, 0x2c, 0x4f, 0xa6, 0x42, 0x3b, 0x77, 0xb9, + 0x6a, 0x1d, 0xc2, 0x89, 0x71, 0xf7, 0x71, 0x5b, 0x78, 0x23, 0xdd, 0x5d, + 0x91, 0x0e, 0xbe, 0x2e, 0xaf, 0xee, 0x37, 0x79, 0xa6, 0x1e, 0x1f, 0x70, + 0x7f, 0x53, 0x25, 0xd7, +}; +static const struct drbg_kat_no_reseed kat654_t = { + 8, kat654_entropyin, kat654_nonce, kat654_persstr, + kat654_addin0, kat654_addin1, kat654_retbits +}; +static const struct drbg_kat kat654 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat654_t +}; + +static const unsigned char kat655_entropyin[] = { + 0x0c, 0x7c, 0x98, 0x7a, 0x32, 0xbb, 0x36, 0x9f, 0x5c, 0x13, 0x3c, 0x02, + 0x94, 0x36, 0x0a, 0xb3, 0xf0, 0x6f, 0xff, 0x4a, 0xf3, 0x0a, 0xcf, 0x4a, + 0x36, 0x55, 0x4a, 0xbc, 0x81, 0xea, 0x17, 0xd7, +}; +static const unsigned char kat655_nonce[] = { + 0x49, 0x63, 0x0b, 0x51, 0x6b, 0x1e, 0x44, 0xca, 0xd4, 0x62, 0x1b, 0xb1, + 0xb2, 0x94, 0x34, 0xff, +}; +static const unsigned char kat655_persstr[] = { + 0xfc, 0x70, 0x06, 0x12, 0xef, 0x74, 0x77, 0x9c, 0x25, 0xef, 0x84, 0x64, + 0x32, 0x10, 0x6e, 0xe4, 0x32, 0x1d, 0x35, 0x7c, 0x9c, 0x74, 0xed, 0x0b, + 0xcf, 0xe6, 0xd7, 0x31, 0x2e, 0xc0, 0xc6, 0xba, +}; +static const unsigned char kat655_addin0[] = { + 0x55, 0xd3, 0xde, 0xaf, 0x9f, 0x26, 0x70, 0xe7, 0x2b, 0xdc, 0x3d, 0x13, + 0xd6, 0x2e, 0xaf, 0xcc, 0x8f, 0x2c, 0x2e, 0xd0, 0xcb, 0xf1, 0x79, 0x82, + 0xf5, 0x71, 0xd0, 0x86, 0x73, 0x8f, 0x40, 0xa2, +}; +static const unsigned char kat655_addin1[] = { + 0x03, 0xe4, 0x80, 0xed, 0x33, 0xc8, 0x1f, 0x60, 0xee, 0x1d, 0x55, 0x8d, + 0xf4, 0x9e, 0x6e, 0x0c, 0x2e, 0x4f, 0x8c, 0xd4, 0x00, 0x7c, 0x0c, 0xa9, + 0xd0, 0x1a, 0x65, 0xe3, 0x2d, 0x1f, 0xd1, 0x3c, +}; +static const unsigned char kat655_retbits[] = { + 0x1c, 0x02, 0xa1, 0x3d, 0xb6, 0xf4, 0xbe, 0xfd, 0x3a, 0xa7, 0x4b, 0x04, + 0xe9, 0xea, 0xb0, 0x10, 0x18, 0x4a, 0x32, 0x2e, 0xfa, 0xeb, 0x86, 0x0f, + 0x60, 0x7e, 0x98, 0xd5, 0xb1, 0x5d, 0x43, 0x37, 0x98, 0x3d, 0xee, 0xf8, + 0x77, 0x99, 0xc0, 0x86, 0x55, 0x17, 0xa1, 0x2c, 0x4b, 0x49, 0xbe, 0xd1, + 0x01, 0x6c, 0xb7, 0x3e, 0xba, 0x6e, 0xa0, 0x2f, 0xca, 0x60, 0xf7, 0xef, + 0xe5, 0x50, 0xdf, 0x3a, +}; +static const struct drbg_kat_no_reseed kat655_t = { + 9, kat655_entropyin, kat655_nonce, kat655_persstr, + kat655_addin0, kat655_addin1, kat655_retbits +}; +static const struct drbg_kat kat655 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat655_t +}; + +static const unsigned char kat656_entropyin[] = { + 0xaf, 0xdb, 0xc8, 0xac, 0xbe, 0xeb, 0xbb, 0x3a, 0x58, 0xb1, 0xbb, 0xbe, + 0xb1, 0x04, 0x83, 0x53, 0x47, 0x73, 0xa2, 0xe1, 0x63, 0x1f, 0x98, 0xc3, + 0x50, 0x3f, 0x6a, 0x4b, 0x33, 0x1b, 0x14, 0xb3, +}; +static const unsigned char kat656_nonce[] = { + 0xdc, 0x8d, 0xff, 0x64, 0xe4, 0x4d, 0x50, 0xd4, 0x5d, 0xfd, 0x66, 0xfd, + 0x7c, 0x54, 0x7a, 0xd0, +}; +static const unsigned char kat656_persstr[] = { + 0x2e, 0xc2, 0xbd, 0x1a, 0xb6, 0x14, 0x79, 0xcf, 0x78, 0x0b, 0x97, 0x7c, + 0xc4, 0x80, 0xa6, 0x9b, 0x53, 0x06, 0x5f, 0x38, 0x12, 0x70, 0xea, 0x95, + 0xa0, 0x41, 0xeb, 0x41, 0x6c, 0x81, 0x92, 0xf8, +}; +static const unsigned char kat656_addin0[] = { + 0x69, 0x6f, 0xa5, 0x74, 0x8d, 0xf7, 0x5c, 0xf6, 0x46, 0xd3, 0x4f, 0xb4, + 0x78, 0xce, 0x2c, 0x9b, 0xfe, 0xd2, 0xe7, 0x97, 0x81, 0xf5, 0xed, 0x1e, + 0xdc, 0x2e, 0xe7, 0xd9, 0xb5, 0x8b, 0xee, 0xaa, +}; +static const unsigned char kat656_addin1[] = { + 0xe7, 0xfe, 0xf0, 0xf7, 0x55, 0x3d, 0x29, 0x19, 0xb8, 0x03, 0xca, 0x8b, + 0x83, 0xa6, 0xd4, 0x63, 0xce, 0x74, 0xff, 0xa6, 0x04, 0x0b, 0x02, 0x26, + 0x85, 0xea, 0xee, 0x81, 0x65, 0xcb, 0x49, 0x38, +}; +static const unsigned char kat656_retbits[] = { + 0xd5, 0x57, 0xec, 0x72, 0x87, 0x87, 0xd1, 0xf2, 0xc5, 0x53, 0xc2, 0xba, + 0x91, 0x34, 0x51, 0x31, 0x6e, 0x7c, 0x5a, 0xa4, 0x99, 0xd9, 0xe7, 0x47, + 0x40, 0xba, 0xb1, 0x59, 0xdc, 0x80, 0xbb, 0xc8, 0x87, 0x08, 0x41, 0xed, + 0x83, 0x73, 0xc1, 0x0a, 0xfc, 0xc3, 0x8f, 0x91, 0xb0, 0x66, 0x7d, 0x6a, + 0x44, 0x77, 0xde, 0xe8, 0x8e, 0x07, 0xd9, 0x0a, 0x10, 0x64, 0x9d, 0x57, + 0x21, 0x01, 0x1b, 0x97, +}; +static const struct drbg_kat_no_reseed kat656_t = { + 10, kat656_entropyin, kat656_nonce, kat656_persstr, + kat656_addin0, kat656_addin1, kat656_retbits +}; +static const struct drbg_kat kat656 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat656_t +}; + +static const unsigned char kat657_entropyin[] = { + 0x80, 0xca, 0xfa, 0x90, 0xe1, 0x3c, 0x24, 0xfd, 0x0d, 0x53, 0x61, 0xf5, + 0x0f, 0x38, 0x58, 0xcb, 0x46, 0xbe, 0x74, 0x6c, 0x0b, 0xf9, 0xf9, 0xc8, + 0x6b, 0xfa, 0x57, 0x4f, 0x6f, 0x63, 0xa6, 0xa3, +}; +static const unsigned char kat657_nonce[] = { + 0xa9, 0xdd, 0xc1, 0x8c, 0x92, 0x9e, 0x55, 0x05, 0xda, 0x59, 0xed, 0xdc, + 0xf5, 0x1c, 0x6c, 0x48, +}; +static const unsigned char kat657_persstr[] = { + 0x2b, 0xb7, 0x5c, 0xe2, 0x9b, 0xab, 0x75, 0xb2, 0xe9, 0x19, 0x2b, 0x13, + 0x72, 0x98, 0x77, 0x73, 0x10, 0x13, 0xc5, 0xde, 0x00, 0x6c, 0x3f, 0x58, + 0x25, 0xaf, 0x8e, 0xe8, 0xd7, 0xbe, 0x70, 0x73, +}; +static const unsigned char kat657_addin0[] = { + 0x8e, 0x97, 0xf8, 0x40, 0x57, 0x4b, 0x9f, 0xe2, 0xed, 0x8a, 0x86, 0xd2, + 0xbd, 0xf3, 0x72, 0xb0, 0xf3, 0x1f, 0x89, 0x29, 0xa8, 0xd0, 0xd2, 0xb1, + 0x55, 0x5f, 0x03, 0xd6, 0xcc, 0x96, 0x03, 0x23, +}; +static const unsigned char kat657_addin1[] = { + 0x65, 0xd9, 0x9e, 0x66, 0x4a, 0x5f, 0x3a, 0xc7, 0xb0, 0xd0, 0x79, 0xba, + 0x3c, 0xbd, 0x2d, 0x1b, 0x73, 0x3b, 0x9a, 0x46, 0xb4, 0x5b, 0xf8, 0x05, + 0xbb, 0xb1, 0x44, 0x26, 0x92, 0xd1, 0xa4, 0xd3, +}; +static const unsigned char kat657_retbits[] = { + 0x9b, 0x9b, 0xde, 0xea, 0x2c, 0x91, 0x2f, 0xc1, 0x6d, 0x1b, 0x98, 0xcb, + 0x68, 0x02, 0x01, 0x34, 0x16, 0x76, 0x08, 0x09, 0x07, 0x3c, 0x53, 0x12, + 0x48, 0xe2, 0x6c, 0x64, 0x27, 0x2d, 0x44, 0x2c, 0x89, 0xdb, 0x23, 0x42, + 0xda, 0x1b, 0x44, 0xca, 0x4a, 0x1e, 0x5d, 0x98, 0x34, 0x99, 0x99, 0x9c, + 0xd8, 0x85, 0x1e, 0x20, 0xfc, 0x05, 0x59, 0xf8, 0x37, 0xf6, 0x67, 0x96, + 0xdd, 0x56, 0xb3, 0xd9, +}; +static const struct drbg_kat_no_reseed kat657_t = { + 11, kat657_entropyin, kat657_nonce, kat657_persstr, + kat657_addin0, kat657_addin1, kat657_retbits +}; +static const struct drbg_kat kat657 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat657_t +}; + +static const unsigned char kat658_entropyin[] = { + 0x28, 0x16, 0xc4, 0xa6, 0xe8, 0x59, 0xc7, 0xda, 0x65, 0x71, 0xf5, 0x92, + 0x1b, 0x8e, 0x62, 0x1e, 0x9b, 0xdb, 0x9d, 0x97, 0xeb, 0x3f, 0x9a, 0x44, + 0x1a, 0x3e, 0x85, 0x37, 0x53, 0x6b, 0xfe, 0x21, +}; +static const unsigned char kat658_nonce[] = { + 0x9b, 0x90, 0x61, 0x36, 0xc6, 0x85, 0xd9, 0xae, 0x68, 0xf4, 0x98, 0x63, + 0xdc, 0xcf, 0xc3, 0x1b, +}; +static const unsigned char kat658_persstr[] = { + 0x72, 0x22, 0x82, 0xe8, 0xc3, 0xd4, 0xae, 0x4c, 0xd3, 0x2c, 0xcb, 0x06, + 0xad, 0x25, 0x0b, 0x33, 0xcf, 0x6e, 0xb0, 0xcf, 0x96, 0x4e, 0xbd, 0x8a, + 0x1f, 0xb8, 0xb5, 0x8b, 0xed, 0x00, 0xea, 0xb1, +}; +static const unsigned char kat658_addin0[] = { + 0x5c, 0xa9, 0xd7, 0xbd, 0x6e, 0x95, 0x34, 0xdd, 0xfa, 0x5a, 0x6c, 0x4d, + 0xc0, 0x0b, 0x40, 0x4f, 0x25, 0x9f, 0x04, 0x2d, 0xed, 0x1f, 0x19, 0x9c, + 0xe6, 0x6a, 0xa5, 0x4d, 0xaa, 0x3e, 0x50, 0x19, +}; +static const unsigned char kat658_addin1[] = { + 0x1d, 0xd4, 0x1f, 0x32, 0x17, 0x02, 0x4b, 0xd5, 0xf0, 0xcb, 0xdd, 0x44, + 0xa5, 0x91, 0x5e, 0xda, 0x49, 0xf3, 0xc3, 0x03, 0xc9, 0xa7, 0x0f, 0xd7, + 0x4e, 0x67, 0x50, 0x28, 0xe5, 0x67, 0xbb, 0x37, +}; +static const unsigned char kat658_retbits[] = { + 0x4e, 0x3b, 0x60, 0xae, 0xf2, 0xe3, 0xb7, 0x5e, 0xd0, 0x70, 0xd4, 0x36, + 0x3e, 0x68, 0x44, 0xc6, 0x00, 0xa5, 0x58, 0x7c, 0x5a, 0x8c, 0x8c, 0x4e, + 0x11, 0xa6, 0x25, 0x87, 0x61, 0xcc, 0x07, 0x2f, 0xa4, 0x16, 0x50, 0x7d, + 0x73, 0xa4, 0xbe, 0xa1, 0x9c, 0x8a, 0x31, 0x38, 0xa8, 0xdb, 0x32, 0x97, + 0x16, 0xd6, 0xa8, 0x30, 0xb2, 0x87, 0x0b, 0x5b, 0x69, 0x95, 0x8a, 0x4d, + 0xae, 0xd4, 0xb7, 0x14, +}; +static const struct drbg_kat_no_reseed kat658_t = { + 12, kat658_entropyin, kat658_nonce, kat658_persstr, + kat658_addin0, kat658_addin1, kat658_retbits +}; +static const struct drbg_kat kat658 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat658_t +}; + +static const unsigned char kat659_entropyin[] = { + 0x5f, 0x44, 0x0d, 0xb9, 0x7d, 0x11, 0x47, 0x58, 0x56, 0xe1, 0x20, 0x4d, + 0xb7, 0x00, 0xf2, 0x0e, 0xf5, 0x2c, 0xc9, 0x50, 0x5d, 0xe7, 0xfc, 0x23, + 0x53, 0xd6, 0x42, 0x9c, 0x8c, 0xde, 0xcc, 0xca, +}; +static const unsigned char kat659_nonce[] = { + 0xb5, 0xf1, 0xe8, 0x27, 0x26, 0x3a, 0xac, 0x0d, 0xfd, 0xf6, 0x41, 0xe8, + 0x99, 0x25, 0x3a, 0x83, +}; +static const unsigned char kat659_persstr[] = { + 0x2a, 0x5b, 0x6b, 0x82, 0x92, 0xe5, 0xe8, 0x7c, 0x53, 0xcd, 0x2b, 0x27, + 0x31, 0x2f, 0x77, 0x00, 0xcc, 0x40, 0xac, 0x0f, 0x4a, 0xd4, 0xbc, 0x7b, + 0x9f, 0xbc, 0xe4, 0xdd, 0x52, 0xa0, 0x94, 0xf9, +}; +static const unsigned char kat659_addin0[] = { + 0x3a, 0xd3, 0x5c, 0x3b, 0x31, 0x85, 0x34, 0xed, 0xe1, 0xba, 0x6f, 0x10, + 0xfc, 0x75, 0x9f, 0x24, 0x91, 0x4a, 0x6c, 0x6e, 0x59, 0x34, 0xba, 0x83, + 0xa7, 0x76, 0xeb, 0xdb, 0x57, 0x71, 0x7a, 0xa2, +}; +static const unsigned char kat659_addin1[] = { + 0x81, 0x20, 0x2a, 0x62, 0x8b, 0xc3, 0x1e, 0x86, 0x82, 0x1d, 0xc0, 0xd8, + 0xa3, 0xed, 0xb9, 0xd8, 0x64, 0xe5, 0x1b, 0x27, 0x4c, 0x23, 0x04, 0xc6, + 0x33, 0x44, 0xae, 0x50, 0x18, 0xcd, 0x03, 0x87, +}; +static const unsigned char kat659_retbits[] = { + 0xf9, 0x1d, 0x2f, 0xd3, 0xa2, 0x0e, 0x54, 0x5e, 0xaf, 0xbe, 0x12, 0x4b, + 0x20, 0x33, 0x2e, 0x4a, 0xc2, 0x4a, 0xbe, 0x5f, 0x2c, 0x5b, 0xc0, 0xc4, + 0x5d, 0x21, 0x84, 0x88, 0xd2, 0xfc, 0x94, 0xde, 0xd5, 0x65, 0xaa, 0xf5, + 0x57, 0x5d, 0x8c, 0x93, 0x51, 0x98, 0x5f, 0xaf, 0xb2, 0x2e, 0x7f, 0xc5, + 0xa2, 0xc8, 0xe9, 0x53, 0x2e, 0x5b, 0xaf, 0x4b, 0x03, 0xb9, 0xd1, 0xac, + 0x8a, 0x96, 0x05, 0x05, +}; +static const struct drbg_kat_no_reseed kat659_t = { + 13, kat659_entropyin, kat659_nonce, kat659_persstr, + kat659_addin0, kat659_addin1, kat659_retbits +}; +static const struct drbg_kat kat659 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat659_t +}; + +static const unsigned char kat660_entropyin[] = { + 0xec, 0x7e, 0x9d, 0x66, 0x9b, 0x31, 0x77, 0x03, 0x16, 0xb4, 0x20, 0x51, + 0x0e, 0x41, 0x55, 0x3f, 0x68, 0x3e, 0x01, 0x24, 0x03, 0xe6, 0x57, 0xf6, + 0x39, 0x92, 0x0a, 0x60, 0x35, 0xee, 0xd3, 0x4b, +}; +static const unsigned char kat660_nonce[] = { + 0x30, 0x79, 0xe0, 0xa6, 0x21, 0x50, 0xe6, 0x0e, 0x58, 0xad, 0xe5, 0xad, + 0x62, 0x22, 0x5f, 0xd9, +}; +static const unsigned char kat660_persstr[] = { + 0xaf, 0x32, 0xfc, 0x72, 0xf2, 0x34, 0x31, 0x3d, 0xbb, 0x9f, 0xd6, 0x6b, + 0x4d, 0x91, 0xbb, 0xa7, 0x43, 0x20, 0x6d, 0x6c, 0xdf, 0x28, 0x9d, 0xcd, + 0x4f, 0xab, 0x1e, 0xf7, 0xab, 0x46, 0xb1, 0xfa, +}; +static const unsigned char kat660_addin0[] = { + 0x03, 0x18, 0x60, 0xc8, 0xc0, 0x18, 0x32, 0xad, 0xfb, 0xfc, 0xb9, 0x32, + 0x2f, 0x28, 0xe8, 0xbf, 0xf4, 0x0f, 0xac, 0x8b, 0x3d, 0xc2, 0x8b, 0x36, + 0x60, 0x88, 0xc2, 0x5f, 0x2c, 0x4b, 0xd7, 0xdd, +}; +static const unsigned char kat660_addin1[] = { + 0x31, 0xed, 0xd2, 0xa5, 0xcb, 0x0a, 0x51, 0x08, 0x89, 0x51, 0x76, 0x80, + 0x33, 0xc9, 0x67, 0x22, 0x40, 0x30, 0x93, 0x42, 0xdc, 0x90, 0xee, 0x00, + 0x93, 0x53, 0xf0, 0xc6, 0x65, 0xdd, 0xc7, 0xde, +}; +static const unsigned char kat660_retbits[] = { + 0x74, 0x90, 0xd6, 0xb1, 0x08, 0xe0, 0x16, 0x83, 0x8c, 0x6c, 0xf3, 0x3d, + 0xba, 0x4b, 0x78, 0xee, 0x3b, 0x6b, 0x36, 0x82, 0x9d, 0xe5, 0x10, 0x93, + 0xc9, 0xe6, 0x29, 0x09, 0x4a, 0x2f, 0x46, 0x2f, 0xdb, 0x55, 0x52, 0xf6, + 0xa0, 0x59, 0x33, 0x3f, 0xcc, 0x2c, 0xc3, 0xfb, 0x7f, 0xf1, 0x37, 0xc0, + 0xd8, 0xec, 0x1f, 0xcd, 0xa1, 0x7b, 0x58, 0x94, 0xe1, 0xa0, 0xfe, 0x24, + 0xf1, 0xe6, 0x7a, 0x8e, +}; +static const struct drbg_kat_no_reseed kat660_t = { + 14, kat660_entropyin, kat660_nonce, kat660_persstr, + kat660_addin0, kat660_addin1, kat660_retbits +}; +static const struct drbg_kat kat660 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat660_t +}; + +static const unsigned char kat661_entropyin[] = { + 0x4e, 0xe6, 0x8b, 0x33, 0x52, 0xb8, 0x74, 0xe1, 0xcc, 0x29, 0x37, 0x50, + 0x28, 0x85, 0x1d, 0xee, 0x9d, 0x5d, 0xfd, 0x88, 0xa4, 0x06, 0x64, 0xc7, + 0x9e, 0x2b, 0x72, 0x4f, 0xb1, 0x1b, 0x28, 0x08, +}; +static const unsigned char kat661_nonce[] = { + 0x1c, 0x6a, 0x80, 0xd8, 0x20, 0x12, 0xc3, 0x9c, 0x9f, 0x14, 0xa8, 0x08, + 0x64, 0x3f, 0x08, 0xe7, +}; +static const unsigned char kat661_persstr[] = {0}; +static const unsigned char kat661_addin0[] = {0}; +static const unsigned char kat661_addin1[] = {0}; +static const unsigned char kat661_retbits[] = { + 0x7c, 0x58, 0xd2, 0xa5, 0x52, 0x2a, 0x88, 0x34, 0x1f, 0xb5, 0x5f, 0xac, + 0xef, 0xdb, 0x6e, 0x24, 0x84, 0x0c, 0xae, 0x28, 0x39, 0x48, 0xd5, 0x31, + 0x48, 0xa3, 0x84, 0xe1, 0x3b, 0x54, 0x07, 0xd7, 0x71, 0x2c, 0x33, 0x43, + 0x4b, 0xd3, 0xd1, 0x94, 0x48, 0xb4, 0x32, 0x70, 0xc5, 0x48, 0x60, 0xbf, + 0x34, 0x95, 0x57, 0x90, 0x57, 0xc7, 0x0b, 0xff, 0x30, 0x84, 0xdd, 0xdf, + 0xf0, 0x8a, 0x09, 0x1d, +}; +static const struct drbg_kat_no_reseed kat661_t = { + 0, kat661_entropyin, kat661_nonce, kat661_persstr, + kat661_addin0, kat661_addin1, kat661_retbits +}; +static const struct drbg_kat kat661 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat661_t +}; + +static const unsigned char kat662_entropyin[] = { + 0x94, 0x42, 0xe3, 0xf7, 0x67, 0x75, 0x09, 0x3a, 0xc2, 0x63, 0x5d, 0x9b, + 0x21, 0x79, 0x74, 0xe8, 0xc7, 0xcc, 0x9c, 0xce, 0x8b, 0xba, 0x2f, 0x04, + 0xde, 0x57, 0x43, 0x2f, 0xe6, 0xcf, 0x0f, 0x4a, +}; +static const unsigned char kat662_nonce[] = { + 0xb9, 0x4a, 0x55, 0x8d, 0xe7, 0xf8, 0x87, 0xf7, 0xf5, 0x0d, 0x3f, 0x0c, + 0xd4, 0xf7, 0x6f, 0x43, +}; +static const unsigned char kat662_persstr[] = {0}; +static const unsigned char kat662_addin0[] = {0}; +static const unsigned char kat662_addin1[] = {0}; +static const unsigned char kat662_retbits[] = { + 0x31, 0xca, 0xae, 0xe5, 0xd5, 0x0c, 0x63, 0x42, 0xfd, 0x6b, 0x3b, 0x18, + 0xd0, 0xf8, 0x8e, 0x72, 0xb8, 0x57, 0xed, 0x3f, 0xe5, 0xcb, 0xaa, 0xf7, + 0x6b, 0xe1, 0xa6, 0xac, 0xf0, 0x85, 0x51, 0xcf, 0x3e, 0xb1, 0x5f, 0x4b, + 0x57, 0x3c, 0xa9, 0x89, 0x50, 0xc7, 0x7d, 0x30, 0xea, 0x1d, 0xc3, 0xb9, + 0xfa, 0x73, 0x33, 0x5c, 0xba, 0xa8, 0xe3, 0xa5, 0x16, 0x21, 0x11, 0x26, + 0x9a, 0xf7, 0x33, 0x3a, +}; +static const struct drbg_kat_no_reseed kat662_t = { + 1, kat662_entropyin, kat662_nonce, kat662_persstr, + kat662_addin0, kat662_addin1, kat662_retbits +}; +static const struct drbg_kat kat662 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat662_t +}; + +static const unsigned char kat663_entropyin[] = { + 0x27, 0xf1, 0xcf, 0xb9, 0x37, 0x18, 0x5e, 0xff, 0xf2, 0x48, 0xe1, 0xb1, + 0x18, 0x8c, 0xf1, 0xfd, 0x9f, 0xb4, 0x89, 0xa7, 0xc8, 0x79, 0x5e, 0xf2, + 0xc7, 0xe0, 0xf8, 0xa7, 0xd7, 0xf7, 0x11, 0xe0, +}; +static const unsigned char kat663_nonce[] = { + 0xe7, 0xac, 0x79, 0x5a, 0xdc, 0xda, 0xae, 0x1a, 0x93, 0x11, 0x68, 0x66, + 0xc0, 0x09, 0xc5, 0xe5, +}; +static const unsigned char kat663_persstr[] = {0}; +static const unsigned char kat663_addin0[] = {0}; +static const unsigned char kat663_addin1[] = {0}; +static const unsigned char kat663_retbits[] = { + 0x14, 0xf2, 0x2a, 0xb6, 0x9b, 0x2d, 0x5a, 0xc9, 0x16, 0x91, 0x70, 0x89, + 0x82, 0x7b, 0xd6, 0x57, 0xf8, 0xd6, 0xd1, 0xd9, 0x80, 0xb7, 0x92, 0x11, + 0xbc, 0x35, 0x0b, 0x0b, 0x32, 0x27, 0x96, 0x8d, 0x87, 0x66, 0x74, 0x29, + 0x7a, 0x89, 0x87, 0xdd, 0xb0, 0xa9, 0x44, 0xad, 0x1e, 0x22, 0xdf, 0x4c, + 0xf1, 0xb6, 0x12, 0xaf, 0x3f, 0x11, 0x01, 0x3a, 0x59, 0x7e, 0x2d, 0x20, + 0x1d, 0xed, 0x33, 0xc9, +}; +static const struct drbg_kat_no_reseed kat663_t = { + 2, kat663_entropyin, kat663_nonce, kat663_persstr, + kat663_addin0, kat663_addin1, kat663_retbits +}; +static const struct drbg_kat kat663 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat663_t +}; + +static const unsigned char kat664_entropyin[] = { + 0x65, 0x89, 0xa9, 0x0d, 0xda, 0xc0, 0x83, 0x8c, 0x73, 0xb7, 0xa4, 0x52, + 0x9f, 0x2c, 0x64, 0x7d, 0x70, 0x7d, 0x3f, 0x5f, 0x17, 0xcb, 0x76, 0xa8, + 0xdf, 0x26, 0x5f, 0x26, 0x4e, 0x33, 0xc8, 0xb9, +}; +static const unsigned char kat664_nonce[] = { + 0x00, 0x6a, 0x8e, 0x6c, 0x2f, 0xac, 0xb2, 0x35, 0x5f, 0xd6, 0xa4, 0x63, + 0x8d, 0xdb, 0x7c, 0x91, +}; +static const unsigned char kat664_persstr[] = {0}; +static const unsigned char kat664_addin0[] = {0}; +static const unsigned char kat664_addin1[] = {0}; +static const unsigned char kat664_retbits[] = { + 0xfb, 0xed, 0x16, 0x31, 0x23, 0xf1, 0xd0, 0x40, 0x44, 0x6c, 0xaf, 0xe4, + 0x4b, 0x96, 0x60, 0xa7, 0x21, 0x1d, 0x0f, 0xf0, 0xee, 0xae, 0xba, 0x86, + 0xa6, 0x12, 0xd8, 0x1d, 0x88, 0xee, 0x8c, 0x6a, 0xda, 0x33, 0xd2, 0x61, + 0x15, 0x27, 0x24, 0x21, 0xe9, 0xb8, 0x4a, 0x34, 0xd6, 0xbd, 0x6d, 0x7b, + 0xbb, 0xe6, 0x04, 0x3e, 0x38, 0x2f, 0x34, 0x8f, 0x0d, 0x7d, 0xaa, 0x94, + 0xdc, 0x72, 0xa1, 0x52, +}; +static const struct drbg_kat_no_reseed kat664_t = { + 3, kat664_entropyin, kat664_nonce, kat664_persstr, + kat664_addin0, kat664_addin1, kat664_retbits +}; +static const struct drbg_kat kat664 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat664_t +}; + +static const unsigned char kat665_entropyin[] = { + 0xe8, 0x76, 0xc1, 0x0c, 0x9e, 0x42, 0xc7, 0x53, 0x46, 0xd5, 0x93, 0xd6, + 0xeb, 0x04, 0x7a, 0x1f, 0xb3, 0x36, 0x73, 0x98, 0xd6, 0x23, 0x16, 0xd1, + 0x16, 0xa9, 0x29, 0xeb, 0x9e, 0xce, 0xcb, 0x18, +}; +static const unsigned char kat665_nonce[] = { + 0x81, 0x5a, 0xb7, 0x63, 0x32, 0xdb, 0x44, 0xe7, 0x13, 0xa8, 0xe9, 0x67, + 0xb2, 0x0b, 0x5c, 0x1f, +}; +static const unsigned char kat665_persstr[] = {0}; +static const unsigned char kat665_addin0[] = {0}; +static const unsigned char kat665_addin1[] = {0}; +static const unsigned char kat665_retbits[] = { + 0x70, 0x22, 0xdb, 0x94, 0x7f, 0xd4, 0x18, 0xf6, 0xc9, 0x2b, 0xf9, 0xa1, + 0x2b, 0x6d, 0x1b, 0x2b, 0xd2, 0x17, 0x75, 0x8f, 0xa2, 0xe3, 0x67, 0x76, + 0xf3, 0x5c, 0x9d, 0x33, 0xa4, 0x89, 0xf6, 0x91, 0x3a, 0x1d, 0x07, 0xb4, + 0xb4, 0x61, 0xa1, 0x39, 0x11, 0x46, 0x9c, 0xcf, 0x4f, 0x3b, 0x52, 0x11, + 0x11, 0x7b, 0xdc, 0xac, 0x05, 0x2a, 0xa8, 0xee, 0x0b, 0xe7, 0xe2, 0x7c, + 0x4c, 0xa2, 0xa3, 0x45, +}; +static const struct drbg_kat_no_reseed kat665_t = { + 4, kat665_entropyin, kat665_nonce, kat665_persstr, + kat665_addin0, kat665_addin1, kat665_retbits +}; +static const struct drbg_kat kat665 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat665_t +}; + +static const unsigned char kat666_entropyin[] = { + 0x9b, 0x3d, 0xee, 0xc2, 0x3e, 0xde, 0x86, 0x62, 0x5c, 0x5e, 0xad, 0x5f, + 0x2c, 0x77, 0xe6, 0x05, 0x46, 0x6b, 0x60, 0x22, 0x40, 0xf5, 0x56, 0xa1, + 0x80, 0xec, 0xd2, 0xbe, 0xee, 0x20, 0x1a, 0x35, +}; +static const unsigned char kat666_nonce[] = { + 0xdb, 0x3d, 0x77, 0x43, 0xde, 0xfc, 0x4d, 0xca, 0x54, 0x5f, 0xbf, 0xc1, + 0xd3, 0x7a, 0x09, 0xc5, +}; +static const unsigned char kat666_persstr[] = {0}; +static const unsigned char kat666_addin0[] = {0}; +static const unsigned char kat666_addin1[] = {0}; +static const unsigned char kat666_retbits[] = { + 0x9d, 0xcd, 0xf1, 0x42, 0x78, 0xbc, 0xf9, 0x95, 0x9e, 0x2f, 0xc0, 0x7f, + 0x7b, 0x7e, 0xe4, 0x2b, 0x9d, 0x51, 0x11, 0x4e, 0x96, 0x65, 0x64, 0x34, + 0x06, 0x03, 0x62, 0x41, 0x22, 0x1c, 0x82, 0x6a, 0x59, 0x5a, 0xa1, 0xa3, + 0x39, 0x40, 0x62, 0x00, 0xe2, 0x33, 0x22, 0x20, 0x3e, 0x34, 0x67, 0xde, + 0x3f, 0x14, 0xd1, 0xe2, 0x62, 0xed, 0x8f, 0x44, 0x24, 0xf3, 0xe1, 0xe2, + 0x04, 0x3b, 0x22, 0x8b, +}; +static const struct drbg_kat_no_reseed kat666_t = { + 5, kat666_entropyin, kat666_nonce, kat666_persstr, + kat666_addin0, kat666_addin1, kat666_retbits +}; +static const struct drbg_kat kat666 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat666_t +}; + +static const unsigned char kat667_entropyin[] = { + 0x28, 0x9f, 0x5e, 0x0e, 0x23, 0x7e, 0x45, 0xb8, 0xf7, 0xb2, 0x26, 0x63, + 0xfb, 0xb5, 0x8e, 0xbb, 0x91, 0x01, 0xbf, 0xa9, 0x71, 0xce, 0xdc, 0x1f, + 0x69, 0x77, 0xcf, 0xef, 0x02, 0x49, 0x09, 0x53, +}; +static const unsigned char kat667_nonce[] = { + 0xec, 0xef, 0xca, 0xa5, 0x9d, 0x31, 0xc9, 0x69, 0x14, 0x19, 0x60, 0xf8, + 0xf5, 0xca, 0xa8, 0x57, +}; +static const unsigned char kat667_persstr[] = {0}; +static const unsigned char kat667_addin0[] = {0}; +static const unsigned char kat667_addin1[] = {0}; +static const unsigned char kat667_retbits[] = { + 0x68, 0x38, 0x06, 0x23, 0xab, 0xef, 0xe6, 0xff, 0x32, 0x10, 0xe6, 0x62, + 0xcb, 0x2c, 0xd0, 0x4e, 0xf3, 0x10, 0x92, 0xac, 0xb1, 0xde, 0xe3, 0x4f, + 0xac, 0x3a, 0x5f, 0x70, 0xcc, 0x9d, 0xa2, 0xc4, 0xf9, 0x3f, 0x87, 0x5c, + 0xbd, 0xc9, 0xef, 0x29, 0x73, 0x9c, 0x3b, 0xa6, 0xc9, 0x00, 0xc3, 0x37, + 0x50, 0x89, 0x5f, 0x10, 0x7e, 0x3b, 0xc7, 0xf2, 0x06, 0x11, 0xc4, 0x04, + 0xfb, 0x1d, 0x3d, 0x12, +}; +static const struct drbg_kat_no_reseed kat667_t = { + 6, kat667_entropyin, kat667_nonce, kat667_persstr, + kat667_addin0, kat667_addin1, kat667_retbits +}; +static const struct drbg_kat kat667 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat667_t +}; + +static const unsigned char kat668_entropyin[] = { + 0x00, 0x8b, 0xf6, 0x98, 0x42, 0xd1, 0x05, 0x68, 0x81, 0xff, 0x2e, 0x35, + 0x71, 0x82, 0x7a, 0x69, 0x90, 0x05, 0x0f, 0x56, 0x88, 0x37, 0x7b, 0x10, + 0xb0, 0x60, 0x44, 0x12, 0xce, 0x86, 0xf5, 0x76, +}; +static const unsigned char kat668_nonce[] = { + 0x7a, 0xc5, 0x16, 0x3c, 0x1a, 0x96, 0xb5, 0xf4, 0xa5, 0xb3, 0xd2, 0xf2, + 0xfe, 0xa9, 0x5d, 0x21, +}; +static const unsigned char kat668_persstr[] = {0}; +static const unsigned char kat668_addin0[] = {0}; +static const unsigned char kat668_addin1[] = {0}; +static const unsigned char kat668_retbits[] = { + 0x18, 0xa6, 0x26, 0x1e, 0xde, 0xfd, 0x65, 0xf6, 0x34, 0xfb, 0x8c, 0x80, + 0x6c, 0x61, 0x5c, 0xd2, 0xaa, 0x82, 0xca, 0x11, 0xc6, 0x08, 0xbb, 0x6e, + 0x9e, 0x83, 0x1e, 0x1e, 0xe3, 0x36, 0xac, 0xa2, 0xa2, 0x47, 0x43, 0x70, + 0xa4, 0x61, 0xf9, 0xfd, 0x1a, 0x49, 0x6a, 0xcb, 0xe9, 0x08, 0xca, 0x58, + 0xeb, 0x7b, 0xee, 0xfe, 0x2f, 0xd5, 0xc4, 0x80, 0x2c, 0xd5, 0x27, 0xae, + 0x0a, 0x1c, 0xc6, 0xa6, +}; +static const struct drbg_kat_no_reseed kat668_t = { + 7, kat668_entropyin, kat668_nonce, kat668_persstr, + kat668_addin0, kat668_addin1, kat668_retbits +}; +static const struct drbg_kat kat668 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat668_t +}; + +static const unsigned char kat669_entropyin[] = { + 0x41, 0x9d, 0xe0, 0x8d, 0x88, 0x2e, 0x1d, 0xea, 0x84, 0x14, 0xfd, 0x01, + 0xf1, 0x85, 0x05, 0x86, 0xe5, 0x35, 0x90, 0x4e, 0xf0, 0xde, 0x3b, 0xdd, + 0x8b, 0x66, 0x7d, 0x16, 0xfe, 0xde, 0xd6, 0x3e, +}; +static const unsigned char kat669_nonce[] = { + 0x52, 0x57, 0xd3, 0xe3, 0x2c, 0xf4, 0xcf, 0x5a, 0x1f, 0x61, 0x57, 0xd6, + 0x03, 0x04, 0x51, 0x0b, +}; +static const unsigned char kat669_persstr[] = {0}; +static const unsigned char kat669_addin0[] = {0}; +static const unsigned char kat669_addin1[] = {0}; +static const unsigned char kat669_retbits[] = { + 0x0b, 0x7d, 0x93, 0x54, 0x14, 0xd0, 0x72, 0xec, 0x7b, 0x24, 0x34, 0xa5, + 0x0b, 0x9b, 0xc9, 0x0a, 0x29, 0x87, 0xc0, 0x5f, 0xe5, 0x59, 0x62, 0x82, + 0xff, 0x17, 0x00, 0xf4, 0xcc, 0x44, 0x22, 0x47, 0x79, 0xc4, 0xef, 0x2f, + 0x1f, 0xe6, 0x3a, 0x4f, 0x37, 0xea, 0x88, 0x91, 0x85, 0x0b, 0xa5, 0xea, + 0xa1, 0xf9, 0x08, 0x2b, 0xa5, 0xb4, 0x99, 0xba, 0x31, 0x20, 0x36, 0x85, + 0x69, 0xd0, 0x9d, 0xb2, +}; +static const struct drbg_kat_no_reseed kat669_t = { + 8, kat669_entropyin, kat669_nonce, kat669_persstr, + kat669_addin0, kat669_addin1, kat669_retbits +}; +static const struct drbg_kat kat669 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat669_t +}; + +static const unsigned char kat670_entropyin[] = { + 0x80, 0x39, 0x45, 0x69, 0xdc, 0x1b, 0x8d, 0xaa, 0x7d, 0x7d, 0x42, 0xc3, + 0x2f, 0x26, 0x21, 0xfa, 0xc4, 0xd5, 0xb6, 0xe7, 0x93, 0xe6, 0x82, 0x45, + 0x63, 0x14, 0x97, 0x8a, 0x2b, 0xfb, 0x49, 0xa4, +}; +static const unsigned char kat670_nonce[] = { + 0x9b, 0x85, 0x63, 0x42, 0x62, 0xbd, 0xae, 0xd1, 0xc1, 0xbb, 0xfc, 0x66, + 0x9d, 0x6c, 0xd3, 0xe2, +}; +static const unsigned char kat670_persstr[] = {0}; +static const unsigned char kat670_addin0[] = {0}; +static const unsigned char kat670_addin1[] = {0}; +static const unsigned char kat670_retbits[] = { + 0x08, 0x21, 0xe1, 0x8a, 0x67, 0xfd, 0x7e, 0x78, 0xc3, 0x2f, 0x65, 0x4e, + 0x77, 0x74, 0xc1, 0xdc, 0x12, 0x44, 0x86, 0x5e, 0x9a, 0xfc, 0x12, 0xa4, + 0x30, 0xc9, 0x8c, 0x61, 0x13, 0x0f, 0x95, 0x33, 0xe9, 0x9f, 0x64, 0x1f, + 0x65, 0x45, 0x8e, 0x15, 0x5b, 0xd6, 0x7f, 0xef, 0x2f, 0x7b, 0x35, 0xeb, + 0x7e, 0xc7, 0xcb, 0x38, 0xb1, 0xe8, 0x7e, 0xb4, 0xdf, 0xa8, 0xa1, 0x73, + 0xb2, 0x34, 0x78, 0xfb, +}; +static const struct drbg_kat_no_reseed kat670_t = { + 9, kat670_entropyin, kat670_nonce, kat670_persstr, + kat670_addin0, kat670_addin1, kat670_retbits +}; +static const struct drbg_kat kat670 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat670_t +}; + +static const unsigned char kat671_entropyin[] = { + 0xdc, 0xc9, 0xad, 0xf0, 0x02, 0x91, 0x78, 0xd4, 0xd7, 0x1d, 0xfe, 0x39, + 0x79, 0x0a, 0xa8, 0x50, 0x5e, 0xa7, 0x16, 0x81, 0xf5, 0x65, 0x29, 0x47, + 0x84, 0xfc, 0xc3, 0x63, 0x12, 0xd4, 0xd7, 0xf4, +}; +static const unsigned char kat671_nonce[] = { + 0xe4, 0xa3, 0x44, 0xda, 0xab, 0x48, 0xeb, 0x31, 0xd7, 0xe8, 0xdc, 0x38, + 0x93, 0x6f, 0x18, 0x84, +}; +static const unsigned char kat671_persstr[] = {0}; +static const unsigned char kat671_addin0[] = {0}; +static const unsigned char kat671_addin1[] = {0}; +static const unsigned char kat671_retbits[] = { + 0x5e, 0xac, 0xae, 0xd6, 0x00, 0x52, 0xac, 0x87, 0xa1, 0x5e, 0x42, 0x99, + 0x7c, 0xfc, 0x77, 0xb6, 0x9e, 0x89, 0x8c, 0xbc, 0x61, 0xe3, 0x6e, 0x00, + 0x0a, 0xf2, 0x0d, 0xc5, 0x3d, 0xd5, 0xc8, 0xa1, 0xfc, 0xda, 0x92, 0x4e, + 0x10, 0x30, 0xb5, 0x35, 0xc9, 0xe4, 0xdc, 0x87, 0xc3, 0xec, 0x8d, 0x3c, + 0xe4, 0xc0, 0x61, 0xdd, 0x46, 0xde, 0x12, 0xf9, 0x53, 0x10, 0x67, 0xca, + 0x87, 0xb8, 0xbd, 0x6d, +}; +static const struct drbg_kat_no_reseed kat671_t = { + 10, kat671_entropyin, kat671_nonce, kat671_persstr, + kat671_addin0, kat671_addin1, kat671_retbits +}; +static const struct drbg_kat kat671 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat671_t +}; + +static const unsigned char kat672_entropyin[] = { + 0x1f, 0xee, 0x8b, 0x75, 0x7e, 0xab, 0xea, 0xb6, 0x60, 0xdd, 0x95, 0xdc, + 0x0d, 0x0d, 0x69, 0xd1, 0x82, 0x22, 0x8f, 0x24, 0x1d, 0x48, 0xc6, 0x40, + 0x67, 0xf8, 0x0d, 0xd9, 0x61, 0x58, 0xcf, 0xae, +}; +static const unsigned char kat672_nonce[] = { + 0x6e, 0xb7, 0x6c, 0x5c, 0x85, 0xc3, 0xa3, 0x5d, 0x6f, 0x2a, 0xf4, 0x61, + 0x9c, 0x54, 0xae, 0x21, +}; +static const unsigned char kat672_persstr[] = {0}; +static const unsigned char kat672_addin0[] = {0}; +static const unsigned char kat672_addin1[] = {0}; +static const unsigned char kat672_retbits[] = { + 0x8a, 0x6f, 0x21, 0x15, 0x6f, 0xd6, 0x1e, 0x1a, 0x83, 0x6f, 0x6b, 0x1f, + 0x54, 0x5a, 0x06, 0xc8, 0x10, 0x08, 0xe8, 0x7c, 0x85, 0xfe, 0x52, 0x6c, + 0x3b, 0x82, 0xdb, 0xbb, 0xc1, 0x19, 0x43, 0xdb, 0xaf, 0x25, 0xfe, 0x48, + 0xee, 0x31, 0xfb, 0x70, 0x18, 0x51, 0x0b, 0x2e, 0xec, 0xdd, 0x86, 0xb2, + 0x1d, 0x17, 0x79, 0xd5, 0xf7, 0x0e, 0xa2, 0x8b, 0x44, 0xb1, 0xb2, 0x94, + 0xa5, 0x66, 0x34, 0xb6, +}; +static const struct drbg_kat_no_reseed kat672_t = { + 11, kat672_entropyin, kat672_nonce, kat672_persstr, + kat672_addin0, kat672_addin1, kat672_retbits +}; +static const struct drbg_kat kat672 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat672_t +}; + +static const unsigned char kat673_entropyin[] = { + 0xb3, 0xed, 0x24, 0x78, 0x72, 0x21, 0x0b, 0x15, 0xc9, 0x76, 0xf4, 0x23, + 0x09, 0x6e, 0x3d, 0x7f, 0x6e, 0x62, 0x60, 0x45, 0xb2, 0x88, 0x38, 0x03, + 0x26, 0x2a, 0x96, 0xac, 0xa7, 0x15, 0xe2, 0xf7, +}; +static const unsigned char kat673_nonce[] = { + 0xa1, 0xf2, 0xb4, 0x5c, 0xa6, 0x3d, 0x4c, 0x2a, 0x98, 0xa3, 0x80, 0xcb, + 0x24, 0xe4, 0x8b, 0xcd, +}; +static const unsigned char kat673_persstr[] = {0}; +static const unsigned char kat673_addin0[] = {0}; +static const unsigned char kat673_addin1[] = {0}; +static const unsigned char kat673_retbits[] = { + 0xbe, 0x7b, 0x55, 0x72, 0x51, 0x0a, 0x1c, 0x1d, 0x24, 0x5c, 0xc2, 0x72, + 0x5f, 0xf9, 0x27, 0xb3, 0x71, 0xee, 0xee, 0xa6, 0xea, 0xcc, 0x62, 0xba, + 0x6a, 0xee, 0xb9, 0x54, 0x3a, 0xf5, 0x34, 0x9f, 0xb9, 0xda, 0x16, 0x6e, + 0xec, 0xa6, 0xe9, 0x51, 0x03, 0x16, 0xe8, 0xd8, 0x9d, 0x5d, 0x06, 0x02, + 0x34, 0x01, 0x25, 0x87, 0xab, 0x0b, 0xaf, 0x57, 0xa7, 0x08, 0xc1, 0xb6, + 0x70, 0x3d, 0xfc, 0x9d, +}; +static const struct drbg_kat_no_reseed kat673_t = { + 12, kat673_entropyin, kat673_nonce, kat673_persstr, + kat673_addin0, kat673_addin1, kat673_retbits +}; +static const struct drbg_kat kat673 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat673_t +}; + +static const unsigned char kat674_entropyin[] = { + 0x70, 0xcc, 0x7b, 0x7b, 0xc8, 0x03, 0xab, 0x30, 0x36, 0x89, 0x72, 0xcc, + 0x02, 0x1c, 0x1c, 0x51, 0xa3, 0xf1, 0x51, 0x33, 0x5a, 0xdd, 0x72, 0x6f, + 0x5b, 0xd0, 0x84, 0x13, 0x86, 0xc9, 0x66, 0x05, +}; +static const unsigned char kat674_nonce[] = { + 0x26, 0x67, 0x87, 0x77, 0x91, 0x9a, 0xc8, 0xf1, 0xb3, 0x8f, 0x93, 0x6b, + 0xc0, 0xab, 0x9e, 0x11, +}; +static const unsigned char kat674_persstr[] = {0}; +static const unsigned char kat674_addin0[] = {0}; +static const unsigned char kat674_addin1[] = {0}; +static const unsigned char kat674_retbits[] = { + 0x55, 0xa4, 0x81, 0xfe, 0x7b, 0x3c, 0x1c, 0xd2, 0x9b, 0x94, 0x2a, 0x71, + 0x64, 0xac, 0x7c, 0x74, 0x13, 0xdb, 0x97, 0x11, 0xfb, 0xab, 0x14, 0xcf, + 0x00, 0x58, 0x87, 0xcc, 0x53, 0xfc, 0x73, 0x9c, 0x68, 0xe3, 0x7c, 0x0b, + 0x13, 0xcb, 0x73, 0xe5, 0x3e, 0x9d, 0x27, 0x2a, 0xf8, 0x03, 0x17, 0x04, + 0x43, 0xee, 0x09, 0x11, 0x08, 0x63, 0xbf, 0x7c, 0x10, 0xc4, 0x10, 0x2f, + 0x2a, 0xce, 0xd8, 0xea, +}; +static const struct drbg_kat_no_reseed kat674_t = { + 13, kat674_entropyin, kat674_nonce, kat674_persstr, + kat674_addin0, kat674_addin1, kat674_retbits +}; +static const struct drbg_kat kat674 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat674_t +}; + +static const unsigned char kat675_entropyin[] = { + 0x43, 0x74, 0x96, 0xcc, 0x89, 0x6a, 0x20, 0xdd, 0x6d, 0xbf, 0x33, 0xcd, + 0x47, 0x53, 0x2f, 0x99, 0x24, 0xe7, 0x5f, 0x26, 0xe4, 0x3a, 0x37, 0xdb, + 0xe9, 0xf4, 0x40, 0xf5, 0xf6, 0x11, 0x36, 0xe2, +}; +static const unsigned char kat675_nonce[] = { + 0x65, 0x40, 0xd6, 0xc5, 0x86, 0xeb, 0x24, 0xd1, 0x64, 0xe3, 0xc5, 0xdb, + 0x93, 0x83, 0x82, 0xa0, +}; +static const unsigned char kat675_persstr[] = {0}; +static const unsigned char kat675_addin0[] = {0}; +static const unsigned char kat675_addin1[] = {0}; +static const unsigned char kat675_retbits[] = { + 0x4b, 0x64, 0x8f, 0x49, 0xa1, 0x48, 0x88, 0x05, 0x71, 0xbb, 0xf7, 0x17, + 0xab, 0x21, 0x3d, 0x2d, 0x92, 0xfa, 0x1f, 0x2a, 0x69, 0x83, 0x58, 0x4b, + 0xc5, 0xf3, 0xdb, 0x21, 0x2e, 0x67, 0x47, 0xc5, 0xee, 0x8a, 0x66, 0x05, + 0xe1, 0xbd, 0x14, 0xab, 0x9e, 0xcd, 0xf5, 0x2c, 0x2a, 0xc6, 0x51, 0x88, + 0x21, 0xe0, 0xd3, 0x72, 0xae, 0xa5, 0x7e, 0x79, 0xa2, 0x61, 0x7a, 0x5d, + 0x43, 0x5c, 0x20, 0xb7, +}; +static const struct drbg_kat_no_reseed kat675_t = { + 14, kat675_entropyin, kat675_nonce, kat675_persstr, + kat675_addin0, kat675_addin1, kat675_retbits +}; +static const struct drbg_kat kat675 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat675_t +}; + +static const unsigned char kat676_entropyin[] = { + 0x48, 0x1e, 0x50, 0x5b, 0xf7, 0xa3, 0x6f, 0x9d, 0x96, 0x69, 0x0d, 0x49, + 0x15, 0x4d, 0x98, 0xd6, 0xa2, 0x47, 0xc1, 0x4a, 0x70, 0x3d, 0xbf, 0xed, + 0x7c, 0xf1, 0xb7, 0xa7, 0x1b, 0xee, 0x73, 0x7f, +}; +static const unsigned char kat676_nonce[] = { + 0x70, 0xbd, 0xed, 0xbc, 0x68, 0x25, 0xc4, 0xfe, 0x0a, 0x9f, 0x7e, 0x45, + 0x29, 0x0d, 0xdd, 0x51, +}; +static const unsigned char kat676_persstr[] = {0}; +static const unsigned char kat676_addin0[] = { + 0x5b, 0x07, 0x61, 0x0c, 0x2c, 0x94, 0x6e, 0xda, 0x29, 0x75, 0xa2, 0x6d, + 0xda, 0xdf, 0x7d, 0x73, 0xe3, 0xd2, 0x87, 0xe9, 0x23, 0xd9, 0xb1, 0xa2, + 0xd2, 0x07, 0x07, 0x76, 0xa4, 0x46, 0xd8, 0xe6, +}; +static const unsigned char kat676_addin1[] = { + 0x27, 0x92, 0xa9, 0x88, 0xeb, 0xb2, 0xe7, 0x68, 0xee, 0xe0, 0xd5, 0xc2, + 0x63, 0xbc, 0xd7, 0x6a, 0x67, 0x5d, 0x6f, 0x33, 0x9e, 0x5f, 0x1a, 0xb2, + 0xca, 0x59, 0x5e, 0x6b, 0x3b, 0x4d, 0x02, 0x4a, +}; +static const unsigned char kat676_retbits[] = { + 0x30, 0x34, 0x48, 0xa3, 0x55, 0xfc, 0x0a, 0x69, 0xa1, 0x30, 0xb6, 0xab, + 0x19, 0x49, 0x97, 0xb2, 0x20, 0x97, 0x0b, 0xf6, 0x80, 0x91, 0x49, 0x13, + 0xda, 0x90, 0x4e, 0x92, 0x10, 0x9d, 0xee, 0x3d, 0x9f, 0x23, 0x87, 0x11, + 0x30, 0xc4, 0x07, 0x04, 0x5c, 0xf4, 0x63, 0xce, 0x78, 0x3a, 0x5d, 0xfa, + 0xfd, 0x60, 0x3a, 0x83, 0x84, 0x79, 0x05, 0x73, 0xaf, 0x38, 0x5d, 0x47, + 0x9a, 0xcd, 0x72, 0x06, +}; +static const struct drbg_kat_no_reseed kat676_t = { + 0, kat676_entropyin, kat676_nonce, kat676_persstr, + kat676_addin0, kat676_addin1, kat676_retbits +}; +static const struct drbg_kat kat676 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat676_t +}; + +static const unsigned char kat677_entropyin[] = { + 0xe4, 0xb6, 0x1f, 0x03, 0x62, 0xcc, 0xf3, 0xc1, 0x50, 0x1c, 0x60, 0x93, + 0x70, 0xfd, 0x56, 0x05, 0x88, 0xb9, 0xc1, 0xa5, 0x25, 0x95, 0xe0, 0x66, + 0xf7, 0x90, 0xf4, 0x35, 0x5b, 0xa1, 0x41, 0x6d, +}; +static const unsigned char kat677_nonce[] = { + 0xae, 0x47, 0x32, 0x1a, 0xb5, 0xff, 0xec, 0x92, 0x7e, 0x54, 0x61, 0x69, + 0x61, 0x23, 0xbe, 0x8f, +}; +static const unsigned char kat677_persstr[] = {0}; +static const unsigned char kat677_addin0[] = { + 0xa5, 0x9f, 0x6d, 0x3e, 0xe5, 0xc8, 0x71, 0x14, 0x7e, 0xbc, 0x2d, 0x5f, + 0x6e, 0x6c, 0x70, 0xfd, 0x9b, 0x98, 0x5d, 0xa7, 0xf7, 0xdd, 0x04, 0x9c, + 0xe1, 0x94, 0x46, 0x2d, 0x9c, 0x83, 0xdf, 0xc6, +}; +static const unsigned char kat677_addin1[] = { + 0x9f, 0xe2, 0xc7, 0xdb, 0x11, 0x36, 0x79, 0x81, 0x47, 0x41, 0x86, 0xd9, + 0x22, 0xd9, 0x3e, 0xdf, 0x6a, 0xc7, 0xaa, 0x72, 0xa3, 0xe1, 0x59, 0xf5, + 0xc4, 0x0c, 0xcf, 0x90, 0x1d, 0x52, 0x3e, 0x28, +}; +static const unsigned char kat677_retbits[] = { + 0x70, 0xa7, 0x8b, 0x73, 0x03, 0xf9, 0x02, 0xa7, 0x62, 0x21, 0xa4, 0x01, + 0xeb, 0xe1, 0x34, 0xa6, 0x31, 0x7c, 0xbe, 0x61, 0x77, 0xd0, 0xb8, 0x27, + 0x99, 0x36, 0x0c, 0x49, 0x13, 0xaf, 0xa2, 0xa8, 0xc2, 0xb3, 0x6c, 0x0e, + 0x8a, 0x13, 0x58, 0x71, 0xc3, 0xc4, 0x00, 0x09, 0x60, 0xfa, 0xed, 0x37, + 0x28, 0xc1, 0xfb, 0xd0, 0x1e, 0xe0, 0xef, 0xc5, 0xc6, 0x29, 0xa0, 0x96, + 0x77, 0xc7, 0xa8, 0x50, +}; +static const struct drbg_kat_no_reseed kat677_t = { + 1, kat677_entropyin, kat677_nonce, kat677_persstr, + kat677_addin0, kat677_addin1, kat677_retbits +}; +static const struct drbg_kat kat677 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat677_t +}; + +static const unsigned char kat678_entropyin[] = { + 0xd7, 0x53, 0x45, 0x7f, 0x99, 0xc1, 0xc6, 0xf1, 0xda, 0x21, 0x1a, 0xa2, + 0xa5, 0xef, 0xd0, 0xe8, 0x80, 0xae, 0x06, 0x89, 0xe8, 0xae, 0x29, 0x6c, + 0xec, 0x3b, 0x1b, 0x6c, 0x8f, 0x81, 0x61, 0x89, +}; +static const unsigned char kat678_nonce[] = { + 0xf6, 0x5f, 0x7b, 0x22, 0x2b, 0x51, 0x8e, 0x00, 0x72, 0x10, 0x8f, 0xbe, + 0x99, 0xb6, 0x20, 0xe7, +}; +static const unsigned char kat678_persstr[] = {0}; +static const unsigned char kat678_addin0[] = { + 0x6d, 0x58, 0x7c, 0xaf, 0xec, 0x41, 0x39, 0x76, 0x6e, 0xdf, 0xf5, 0xac, + 0xe6, 0xb6, 0x3d, 0x96, 0x92, 0x86, 0x2c, 0x99, 0xbf, 0xcd, 0xe6, 0x04, + 0xfe, 0xde, 0xd6, 0xd9, 0xf6, 0xb3, 0xb4, 0x70, +}; +static const unsigned char kat678_addin1[] = { + 0xdb, 0x18, 0x4a, 0xe8, 0xb3, 0xf7, 0x3a, 0xa2, 0x2b, 0x63, 0xdc, 0xc2, + 0xd2, 0x1f, 0x14, 0xb9, 0xfd, 0x17, 0xae, 0xf3, 0xa9, 0x6b, 0xa5, 0xf9, + 0x82, 0xca, 0xaa, 0x0c, 0x16, 0x69, 0x03, 0x71, +}; +static const unsigned char kat678_retbits[] = { + 0xeb, 0x5e, 0x5c, 0xa3, 0xc8, 0x27, 0x57, 0x6e, 0x89, 0x7e, 0x26, 0x84, + 0xe2, 0x03, 0x75, 0x3b, 0xb1, 0xa3, 0xba, 0xcb, 0x7a, 0x1d, 0x55, 0x17, + 0xc6, 0x18, 0x5a, 0xdb, 0x9d, 0xdb, 0xed, 0xa8, 0x68, 0x4f, 0x6c, 0xad, + 0x3d, 0xde, 0x64, 0x17, 0x10, 0x67, 0x04, 0xfa, 0x29, 0xf8, 0xa1, 0x02, + 0x72, 0x5b, 0x7d, 0x80, 0xee, 0x2c, 0xac, 0xa1, 0x4c, 0x0c, 0x4c, 0x87, + 0x3c, 0x7d, 0x64, 0x6e, +}; +static const struct drbg_kat_no_reseed kat678_t = { + 2, kat678_entropyin, kat678_nonce, kat678_persstr, + kat678_addin0, kat678_addin1, kat678_retbits +}; +static const struct drbg_kat kat678 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat678_t +}; + +static const unsigned char kat679_entropyin[] = { + 0x0e, 0x99, 0xc1, 0x46, 0x6a, 0xfb, 0x22, 0xf0, 0xe0, 0x1f, 0x7e, 0x69, + 0x19, 0xa8, 0x75, 0x95, 0x9c, 0x3d, 0x37, 0xc7, 0x1b, 0xca, 0x6d, 0x5d, + 0x59, 0xe0, 0xec, 0xee, 0xe4, 0x91, 0x86, 0xcd, +}; +static const unsigned char kat679_nonce[] = { + 0x95, 0xa8, 0xdd, 0x75, 0xb0, 0x76, 0x45, 0x0e, 0xa6, 0xf8, 0xa7, 0x02, + 0x07, 0xfb, 0x15, 0x04, +}; +static const unsigned char kat679_persstr[] = {0}; +static const unsigned char kat679_addin0[] = { + 0x99, 0x92, 0xb0, 0x88, 0xe9, 0xc7, 0x6f, 0x49, 0xdd, 0xc5, 0x45, 0x40, + 0x9d, 0x84, 0x91, 0xa9, 0x04, 0x57, 0x57, 0x0b, 0x3d, 0x29, 0xae, 0x69, + 0xe3, 0xcc, 0x18, 0x97, 0xe9, 0x8d, 0x66, 0xfc, +}; +static const unsigned char kat679_addin1[] = { + 0xc5, 0xee, 0xfd, 0xfb, 0x46, 0x56, 0xd3, 0xf9, 0x88, 0xca, 0x19, 0xef, + 0xff, 0xee, 0xbe, 0xc7, 0x81, 0xa1, 0xe1, 0xb1, 0xa2, 0x99, 0x7c, 0x3f, + 0xb7, 0x6e, 0x1d, 0x0d, 0xac, 0xda, 0xac, 0x8e, +}; +static const unsigned char kat679_retbits[] = { + 0x4b, 0x0d, 0x76, 0x47, 0xbe, 0xb9, 0x59, 0xf7, 0x12, 0xc1, 0x01, 0xc4, + 0x07, 0xa2, 0x5f, 0xf0, 0x45, 0x7f, 0xa8, 0x28, 0x7f, 0x25, 0xc5, 0xf2, + 0xdb, 0x97, 0x11, 0x5d, 0x4c, 0xb8, 0xcc, 0x35, 0x39, 0xc5, 0x0e, 0x6d, + 0x51, 0xc5, 0xf3, 0xa7, 0x25, 0xb4, 0x3e, 0xfb, 0x0f, 0xea, 0x33, 0x95, + 0x29, 0x5c, 0xbb, 0xac, 0x1e, 0x91, 0x9d, 0x41, 0xff, 0xc9, 0xf4, 0xaf, + 0xf8, 0x2e, 0x8f, 0x7e, +}; +static const struct drbg_kat_no_reseed kat679_t = { + 3, kat679_entropyin, kat679_nonce, kat679_persstr, + kat679_addin0, kat679_addin1, kat679_retbits +}; +static const struct drbg_kat kat679 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat679_t +}; + +static const unsigned char kat680_entropyin[] = { + 0x2b, 0xc4, 0x49, 0xcb, 0xc2, 0x23, 0x75, 0x6c, 0x12, 0x03, 0x54, 0x64, + 0x9a, 0xdc, 0x79, 0xd0, 0xb5, 0x3a, 0xef, 0x53, 0x43, 0xa6, 0x19, 0x00, + 0xb2, 0x54, 0x23, 0x5c, 0xb6, 0x15, 0x24, 0xba, +}; +static const unsigned char kat680_nonce[] = { + 0x6a, 0xa9, 0xdd, 0x15, 0x7d, 0xbb, 0x1b, 0xbf, 0x41, 0x85, 0xe1, 0xcc, + 0x2c, 0xa3, 0xb5, 0x53, +}; +static const unsigned char kat680_persstr[] = {0}; +static const unsigned char kat680_addin0[] = { + 0xc0, 0x7d, 0x22, 0xdb, 0x1a, 0xdb, 0x41, 0xd8, 0xae, 0xc8, 0x46, 0xff, + 0xaf, 0x44, 0xcc, 0x83, 0x3e, 0xa1, 0xe2, 0x6d, 0x5d, 0x07, 0x18, 0xa5, + 0x16, 0x9f, 0xa0, 0x69, 0xd6, 0x3e, 0xdc, 0x5c, +}; +static const unsigned char kat680_addin1[] = { + 0xd4, 0x1f, 0x91, 0xb2, 0x02, 0x89, 0xdf, 0xa4, 0x9c, 0x2a, 0x33, 0x52, + 0x20, 0x04, 0x27, 0xd4, 0x57, 0x2e, 0x98, 0x13, 0x38, 0x11, 0x27, 0x32, + 0x4f, 0x49, 0x80, 0x7b, 0x47, 0x54, 0x17, 0x48, +}; +static const unsigned char kat680_retbits[] = { + 0x82, 0x0d, 0xb9, 0xb7, 0xef, 0x67, 0x8c, 0xbf, 0xa8, 0x44, 0x9c, 0xe3, + 0xdf, 0xf4, 0xb7, 0x68, 0x36, 0x20, 0x9a, 0xb8, 0x8e, 0xd8, 0xdc, 0xa3, + 0x39, 0x08, 0x4e, 0x46, 0xd1, 0xbf, 0xbd, 0x0a, 0xa5, 0x53, 0xd4, 0x10, + 0x09, 0xd9, 0x46, 0x59, 0xe6, 0x10, 0xac, 0xa9, 0xb8, 0xe1, 0xeb, 0xe2, + 0x35, 0xb6, 0x43, 0x7f, 0x36, 0x02, 0x71, 0xed, 0xc5, 0xc0, 0x5b, 0xae, + 0x2a, 0x63, 0xfd, 0xc3, +}; +static const struct drbg_kat_no_reseed kat680_t = { + 4, kat680_entropyin, kat680_nonce, kat680_persstr, + kat680_addin0, kat680_addin1, kat680_retbits +}; +static const struct drbg_kat kat680 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat680_t +}; + +static const unsigned char kat681_entropyin[] = { + 0x3f, 0xbe, 0xc8, 0xe6, 0x8c, 0xaa, 0x29, 0x1d, 0x44, 0xb6, 0x5e, 0xf6, + 0x22, 0x81, 0x8f, 0x80, 0xad, 0x29, 0x5b, 0xeb, 0x06, 0x7d, 0x78, 0x5f, + 0xae, 0x69, 0x30, 0xec, 0x87, 0x17, 0x51, 0x7a, +}; +static const unsigned char kat681_nonce[] = { + 0x8a, 0x3b, 0xb4, 0xd1, 0x5f, 0xf0, 0xb8, 0x43, 0x7b, 0xe6, 0xab, 0xc0, + 0x03, 0xaf, 0x0f, 0xa6, +}; +static const unsigned char kat681_persstr[] = {0}; +static const unsigned char kat681_addin0[] = { + 0x6c, 0x8c, 0x9c, 0x35, 0x85, 0x3e, 0x23, 0x82, 0x12, 0xa8, 0x33, 0x59, + 0xb5, 0xe0, 0x18, 0x52, 0xb6, 0xec, 0xc3, 0x4d, 0xfe, 0x7a, 0x25, 0x8f, + 0x51, 0x5c, 0x5d, 0x70, 0x58, 0xbb, 0x02, 0x86, +}; +static const unsigned char kat681_addin1[] = { + 0x20, 0x7e, 0xc2, 0x1f, 0x30, 0x51, 0xe0, 0x39, 0x59, 0xfd, 0x2d, 0x44, + 0x74, 0x76, 0xb8, 0x93, 0xdb, 0xa1, 0xfe, 0xf8, 0xfe, 0x42, 0x26, 0x32, + 0xfe, 0xef, 0x23, 0xe3, 0xef, 0x8a, 0x02, 0x2a, +}; +static const unsigned char kat681_retbits[] = { + 0xb9, 0x43, 0x5c, 0x54, 0x9a, 0x05, 0x05, 0x15, 0xfd, 0xdc, 0xa4, 0x54, + 0xf6, 0x02, 0xfd, 0xcd, 0x17, 0xfc, 0xb8, 0x12, 0xbe, 0x0e, 0x1c, 0x64, + 0x0f, 0xf8, 0x59, 0xe1, 0x17, 0x2c, 0x2a, 0xb0, 0x44, 0x91, 0xdb, 0x15, + 0x28, 0x19, 0xfa, 0x9a, 0x33, 0xfc, 0xb1, 0xe6, 0x6d, 0xc8, 0x21, 0x1c, + 0x8f, 0x36, 0x76, 0xa2, 0x81, 0x03, 0xb2, 0x03, 0xbd, 0x2d, 0x0a, 0x62, + 0x98, 0xbc, 0xc1, 0x67, +}; +static const struct drbg_kat_no_reseed kat681_t = { + 5, kat681_entropyin, kat681_nonce, kat681_persstr, + kat681_addin0, kat681_addin1, kat681_retbits +}; +static const struct drbg_kat kat681 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat681_t +}; + +static const unsigned char kat682_entropyin[] = { + 0x55, 0xfa, 0xfc, 0x70, 0xde, 0xeb, 0xba, 0x97, 0x30, 0x6d, 0xa5, 0xb7, + 0x44, 0xff, 0x4e, 0x48, 0x0e, 0x3c, 0xc2, 0xbc, 0xc8, 0xfa, 0x20, 0xff, + 0xd1, 0x7c, 0xa8, 0x51, 0x36, 0x8b, 0xf5, 0x64, +}; +static const unsigned char kat682_nonce[] = { + 0x40, 0x8f, 0x2d, 0xf2, 0x7e, 0x5b, 0xe6, 0x8d, 0x25, 0x48, 0x16, 0x68, + 0x7a, 0x63, 0xa4, 0x19, +}; +static const unsigned char kat682_persstr[] = {0}; +static const unsigned char kat682_addin0[] = { + 0x64, 0x30, 0x4f, 0x3d, 0xf4, 0x48, 0x6c, 0xf6, 0xf0, 0x12, 0x25, 0x2f, + 0x9c, 0xa9, 0xc1, 0x71, 0x04, 0xab, 0xe4, 0x86, 0x3d, 0x1e, 0x3d, 0xb5, + 0xab, 0x81, 0x74, 0x76, 0xd4, 0x30, 0x05, 0xa6, +}; +static const unsigned char kat682_addin1[] = { + 0xfd, 0xe8, 0x74, 0x9c, 0x2b, 0xef, 0xe8, 0xb0, 0x6c, 0x79, 0xcb, 0xc1, + 0x60, 0xcc, 0xfe, 0x95, 0x79, 0xa7, 0xe7, 0x62, 0x55, 0x0c, 0xb8, 0x22, + 0x17, 0x75, 0xa5, 0x4e, 0x98, 0x2f, 0xb7, 0x4c, +}; +static const unsigned char kat682_retbits[] = { + 0x70, 0x9a, 0xa6, 0x47, 0xef, 0xe0, 0xe6, 0x8d, 0xfa, 0xdf, 0x24, 0x37, + 0xea, 0x75, 0x56, 0x38, 0x1e, 0xa4, 0x30, 0x90, 0x94, 0xc1, 0x04, 0xcd, + 0xb8, 0xe4, 0xbc, 0xc3, 0x1c, 0x74, 0x71, 0x6f, 0xe9, 0xee, 0xa2, 0x32, + 0x15, 0x81, 0x70, 0xfa, 0x97, 0x8a, 0x7c, 0x05, 0x81, 0x3f, 0x25, 0x92, + 0xb3, 0x52, 0x2e, 0x5c, 0x44, 0xf2, 0x52, 0x6e, 0x76, 0x4e, 0x66, 0xe3, + 0x12, 0xec, 0xd4, 0x9b, +}; +static const struct drbg_kat_no_reseed kat682_t = { + 6, kat682_entropyin, kat682_nonce, kat682_persstr, + kat682_addin0, kat682_addin1, kat682_retbits +}; +static const struct drbg_kat kat682 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat682_t +}; + +static const unsigned char kat683_entropyin[] = { + 0x57, 0x3a, 0x24, 0x3d, 0x3b, 0x38, 0xfb, 0x8d, 0x6f, 0xcc, 0xda, 0x58, + 0x23, 0xc1, 0x5d, 0x64, 0x17, 0x68, 0x05, 0x70, 0x36, 0x64, 0x6f, 0xa9, + 0xa4, 0x97, 0x5a, 0x73, 0x89, 0x08, 0xa1, 0x64, +}; +static const unsigned char kat683_nonce[] = { + 0x3b, 0xfe, 0xad, 0x78, 0x35, 0x22, 0xf2, 0x56, 0xa2, 0xf7, 0xbf, 0x07, + 0x6b, 0x21, 0xf7, 0x41, +}; +static const unsigned char kat683_persstr[] = {0}; +static const unsigned char kat683_addin0[] = { + 0x65, 0xbd, 0x02, 0x59, 0x4d, 0x57, 0xc4, 0xaa, 0xf8, 0xd1, 0x19, 0xad, + 0xea, 0xdb, 0x8a, 0xce, 0x86, 0x69, 0x99, 0x14, 0x6a, 0x67, 0xbb, 0x85, + 0x87, 0x8d, 0x57, 0x26, 0x95, 0xce, 0x35, 0x4a, +}; +static const unsigned char kat683_addin1[] = { + 0x60, 0x52, 0x4f, 0xb2, 0x37, 0x31, 0xc3, 0x0c, 0x3d, 0x15, 0x96, 0xc9, + 0xf3, 0xa4, 0x5c, 0xfc, 0x0d, 0xa8, 0x19, 0x8a, 0xa0, 0x96, 0x76, 0x13, + 0xb3, 0xba, 0xc6, 0xbe, 0x7f, 0x48, 0x5d, 0x95, +}; +static const unsigned char kat683_retbits[] = { + 0x7a, 0xe3, 0x8a, 0x83, 0xc1, 0x12, 0x61, 0xcb, 0x22, 0xa5, 0x21, 0xcd, + 0xcc, 0x31, 0x97, 0xd8, 0xd8, 0x11, 0xb8, 0xca, 0xd9, 0x07, 0x1e, 0xad, + 0x38, 0x2e, 0x5b, 0xc2, 0x53, 0x03, 0x0c, 0x9c, 0xd4, 0x16, 0x52, 0x15, + 0x71, 0x5a, 0x8a, 0xb0, 0xaf, 0x1c, 0x5f, 0x91, 0x32, 0x03, 0x99, 0xcd, + 0x1d, 0x9b, 0x39, 0x16, 0x22, 0x0c, 0x78, 0xc5, 0x86, 0xe9, 0x66, 0x51, + 0xbc, 0x1d, 0x80, 0xba, +}; +static const struct drbg_kat_no_reseed kat683_t = { + 7, kat683_entropyin, kat683_nonce, kat683_persstr, + kat683_addin0, kat683_addin1, kat683_retbits +}; +static const struct drbg_kat kat683 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat683_t +}; + +static const unsigned char kat684_entropyin[] = { + 0xcf, 0x81, 0xdf, 0x4e, 0xba, 0x87, 0xea, 0x2e, 0x02, 0x6e, 0xbc, 0x6c, + 0xb9, 0x7d, 0x3d, 0xd6, 0xd3, 0xfc, 0xab, 0x6f, 0x4d, 0x0c, 0x52, 0x0a, + 0x8f, 0xc5, 0x3d, 0xca, 0x99, 0xce, 0x84, 0x90, +}; +static const unsigned char kat684_nonce[] = { + 0xfd, 0xef, 0x88, 0xd8, 0x7d, 0xb5, 0x8b, 0xc8, 0x39, 0x7e, 0x98, 0x8c, + 0x83, 0x4a, 0x89, 0x58, +}; +static const unsigned char kat684_persstr[] = {0}; +static const unsigned char kat684_addin0[] = { + 0x7b, 0xf9, 0xc0, 0x7b, 0xcc, 0xd7, 0xd5, 0x07, 0x73, 0x32, 0x4d, 0xcd, + 0x87, 0x6b, 0x58, 0xf6, 0x56, 0xc6, 0xfd, 0xfe, 0xa5, 0xae, 0xf1, 0xa9, + 0xeb, 0x77, 0x02, 0xd6, 0xed, 0x17, 0x5a, 0x49, +}; +static const unsigned char kat684_addin1[] = { + 0x07, 0x55, 0xe1, 0x48, 0x49, 0x35, 0x39, 0x43, 0x8c, 0x36, 0xfb, 0x2a, + 0xbc, 0xeb, 0xc3, 0x45, 0xda, 0x73, 0xea, 0xf0, 0x0f, 0x75, 0xda, 0x1c, + 0xda, 0x13, 0xca, 0x68, 0x76, 0x79, 0x4c, 0xb5, +}; +static const unsigned char kat684_retbits[] = { + 0x4e, 0x83, 0x60, 0xe6, 0xfc, 0xdc, 0xcb, 0x12, 0xac, 0x6e, 0xe7, 0xf0, + 0x22, 0xf7, 0xe0, 0x6f, 0x11, 0x8a, 0x75, 0xf6, 0x1c, 0x8a, 0xa1, 0x97, + 0x65, 0x6c, 0x93, 0x46, 0x3b, 0x86, 0x66, 0x2e, 0xeb, 0x32, 0x21, 0x4f, + 0x37, 0x1c, 0x8d, 0xce, 0x06, 0xab, 0x12, 0x10, 0xf1, 0xf5, 0x4f, 0x9d, + 0xb3, 0xb6, 0x3e, 0xee, 0xd7, 0xef, 0x6b, 0xa7, 0x32, 0x01, 0x92, 0x26, + 0x4a, 0x79, 0x20, 0xce, +}; +static const struct drbg_kat_no_reseed kat684_t = { + 8, kat684_entropyin, kat684_nonce, kat684_persstr, + kat684_addin0, kat684_addin1, kat684_retbits +}; +static const struct drbg_kat kat684 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat684_t +}; + +static const unsigned char kat685_entropyin[] = { + 0x98, 0xfe, 0xab, 0x86, 0x0b, 0xfe, 0xd1, 0x93, 0x41, 0xed, 0x13, 0x64, + 0xd4, 0xab, 0xce, 0xac, 0x30, 0x04, 0x32, 0x62, 0x99, 0x89, 0x53, 0x30, + 0x40, 0x5f, 0x11, 0x5f, 0xab, 0x03, 0x18, 0x16, +}; +static const unsigned char kat685_nonce[] = { + 0x1a, 0xfa, 0xfc, 0x20, 0x9a, 0x77, 0x6b, 0xd0, 0x14, 0x10, 0x84, 0x8e, + 0x5f, 0xd0, 0x19, 0xd1, +}; +static const unsigned char kat685_persstr[] = {0}; +static const unsigned char kat685_addin0[] = { + 0x47, 0x50, 0x09, 0x94, 0x61, 0x20, 0xa2, 0xa2, 0xdf, 0xc1, 0x06, 0xcf, + 0x4b, 0x9f, 0x6f, 0x40, 0xa9, 0xb0, 0xc4, 0x1b, 0x61, 0x6b, 0xed, 0x3e, + 0x53, 0x6c, 0x9e, 0xee, 0x56, 0xe1, 0x70, 0x43, +}; +static const unsigned char kat685_addin1[] = { + 0xef, 0xf6, 0xd5, 0x39, 0x2d, 0x54, 0x19, 0xf6, 0xa8, 0xb4, 0x25, 0xea, + 0x85, 0x17, 0x19, 0x0c, 0xad, 0x41, 0x97, 0x09, 0x3a, 0xc6, 0x35, 0x71, + 0xf0, 0xd3, 0xc3, 0x3f, 0x70, 0x91, 0x63, 0xc2, +}; +static const unsigned char kat685_retbits[] = { + 0x06, 0x10, 0xe2, 0x8e, 0x8a, 0xf5, 0x7a, 0x29, 0x91, 0x6d, 0x8a, 0xee, + 0x19, 0xda, 0xda, 0xf0, 0xba, 0x6a, 0xa8, 0xf5, 0x0f, 0xbf, 0x85, 0x0f, + 0x70, 0x2e, 0x59, 0xb4, 0x66, 0x02, 0x5a, 0xca, 0x9b, 0x62, 0xfe, 0x18, + 0x6d, 0x53, 0x6e, 0x1a, 0x55, 0xc6, 0x71, 0xdf, 0xe2, 0xb1, 0x58, 0xbc, + 0xa6, 0x5a, 0x1c, 0xf6, 0x81, 0xa8, 0x77, 0xcd, 0x5f, 0x0a, 0x4b, 0x77, + 0x98, 0xed, 0x37, 0x3f, +}; +static const struct drbg_kat_no_reseed kat685_t = { + 9, kat685_entropyin, kat685_nonce, kat685_persstr, + kat685_addin0, kat685_addin1, kat685_retbits +}; +static const struct drbg_kat kat685 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat685_t +}; + +static const unsigned char kat686_entropyin[] = { + 0x12, 0xcc, 0xa9, 0xba, 0xd0, 0x66, 0x1f, 0x02, 0xdb, 0x43, 0x8b, 0xaa, + 0xbd, 0xaa, 0x29, 0x41, 0xcf, 0x3d, 0xed, 0xde, 0xdb, 0x09, 0xf5, 0x30, + 0xce, 0x6b, 0xff, 0xf2, 0x78, 0xb7, 0x9b, 0x23, +}; +static const unsigned char kat686_nonce[] = { + 0xd7, 0x16, 0xa1, 0x90, 0xac, 0x3f, 0x0f, 0x54, 0x65, 0x44, 0x79, 0x93, + 0xa9, 0xe2, 0x04, 0x97, +}; +static const unsigned char kat686_persstr[] = {0}; +static const unsigned char kat686_addin0[] = { + 0x88, 0x1f, 0xb6, 0x8d, 0x66, 0xb6, 0x9f, 0x4b, 0xde, 0x4a, 0x3a, 0xd1, + 0xf1, 0x50, 0xbb, 0xac, 0xb0, 0x87, 0xda, 0x23, 0x2e, 0x1f, 0x4d, 0x7b, + 0xe3, 0x96, 0xf1, 0xda, 0x74, 0x63, 0xcb, 0x16, +}; +static const unsigned char kat686_addin1[] = { + 0x5b, 0x1d, 0x23, 0x0d, 0xb8, 0x7d, 0x2a, 0xa1, 0xf3, 0xe1, 0x10, 0xf9, + 0xc0, 0xf9, 0x13, 0xec, 0xf7, 0x8d, 0x0a, 0xac, 0xec, 0x0f, 0x47, 0xc3, + 0x26, 0x5f, 0xe0, 0xe6, 0x09, 0xec, 0x7a, 0x0b, +}; +static const unsigned char kat686_retbits[] = { + 0xe9, 0xdd, 0x20, 0x8e, 0x8f, 0x0f, 0x6f, 0x3b, 0xa2, 0x1a, 0x9b, 0x67, + 0x92, 0x84, 0x8e, 0x95, 0xd7, 0xee, 0x5a, 0x73, 0xfb, 0xc7, 0x19, 0xef, + 0x9b, 0x5c, 0xdc, 0xff, 0x36, 0x53, 0x0d, 0x3e, 0xc6, 0xf7, 0xca, 0xdf, + 0xc5, 0x55, 0x21, 0xc1, 0x62, 0xcf, 0xfe, 0xeb, 0x91, 0x7c, 0x72, 0xfa, + 0xe3, 0x41, 0xe5, 0xa3, 0xf7, 0xc8, 0xd5, 0xcb, 0x5b, 0x45, 0x08, 0x01, + 0x15, 0x57, 0xe6, 0x39, +}; +static const struct drbg_kat_no_reseed kat686_t = { + 10, kat686_entropyin, kat686_nonce, kat686_persstr, + kat686_addin0, kat686_addin1, kat686_retbits +}; +static const struct drbg_kat kat686 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat686_t +}; + +static const unsigned char kat687_entropyin[] = { + 0x99, 0xe3, 0x96, 0xaf, 0xcf, 0x80, 0x7e, 0x6d, 0xfa, 0x0b, 0x30, 0x28, + 0x72, 0xeb, 0x5d, 0xe0, 0xaa, 0x74, 0xb0, 0x59, 0x00, 0xd1, 0xa0, 0x6e, + 0xe2, 0xc1, 0xc4, 0xd3, 0xaf, 0x53, 0x5f, 0xca, +}; +static const unsigned char kat687_nonce[] = { + 0x75, 0xa2, 0xf6, 0xed, 0xf8, 0x55, 0x71, 0xd1, 0x9c, 0x03, 0x29, 0x65, + 0xd2, 0x60, 0x3f, 0xc9, +}; +static const unsigned char kat687_persstr[] = {0}; +static const unsigned char kat687_addin0[] = { + 0x58, 0x1e, 0x78, 0xad, 0xbf, 0x5d, 0x9a, 0x66, 0x8d, 0x01, 0x3b, 0x7f, + 0xf9, 0x04, 0x61, 0x91, 0xe4, 0x34, 0x47, 0x7f, 0x3c, 0x3f, 0xba, 0xb4, + 0x47, 0x87, 0x6f, 0xe8, 0x7f, 0x2c, 0x15, 0x7e, +}; +static const unsigned char kat687_addin1[] = { + 0x19, 0xf0, 0x4c, 0x1d, 0xde, 0x5c, 0x2e, 0xc3, 0xec, 0xa9, 0x06, 0xe7, + 0xba, 0xc8, 0xd8, 0xd3, 0x49, 0xb7, 0xca, 0x49, 0xca, 0x5d, 0x7d, 0xe1, + 0xf2, 0x26, 0xdd, 0xd0, 0x4c, 0x73, 0xdf, 0x1e, +}; +static const unsigned char kat687_retbits[] = { + 0xb8, 0xfc, 0xf9, 0x0d, 0xd4, 0x71, 0x44, 0x01, 0x97, 0x05, 0xe6, 0x73, + 0xcd, 0xca, 0x26, 0x14, 0x58, 0x86, 0x6f, 0xa5, 0x15, 0x76, 0x0b, 0xc2, + 0x48, 0x8c, 0xa4, 0x03, 0x30, 0x9b, 0xa6, 0x3d, 0x17, 0x83, 0x69, 0x90, + 0xb6, 0x1a, 0x20, 0x17, 0x78, 0x61, 0x96, 0xd7, 0x0f, 0x65, 0xf3, 0xc8, + 0x0f, 0x5f, 0x9f, 0xbd, 0x4d, 0x6b, 0xed, 0xe8, 0x82, 0xde, 0xa5, 0x92, + 0xd1, 0x59, 0x86, 0x00, +}; +static const struct drbg_kat_no_reseed kat687_t = { + 11, kat687_entropyin, kat687_nonce, kat687_persstr, + kat687_addin0, kat687_addin1, kat687_retbits +}; +static const struct drbg_kat kat687 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat687_t +}; + +static const unsigned char kat688_entropyin[] = { + 0xe2, 0x61, 0x43, 0x5c, 0x33, 0x84, 0x29, 0x42, 0x5d, 0x54, 0x91, 0xf7, + 0xd8, 0xf5, 0x4c, 0xa9, 0xd5, 0x08, 0x24, 0x43, 0x85, 0x8f, 0x46, 0x37, + 0x5f, 0xb2, 0xce, 0x80, 0x23, 0x50, 0x96, 0xb7, +}; +static const unsigned char kat688_nonce[] = { + 0x8d, 0x92, 0x02, 0x02, 0x45, 0xc4, 0x15, 0x90, 0xe3, 0x60, 0x51, 0xa5, + 0x7f, 0xb1, 0x2c, 0x04, +}; +static const unsigned char kat688_persstr[] = {0}; +static const unsigned char kat688_addin0[] = { + 0x6c, 0xfe, 0x2d, 0xc4, 0x5a, 0x88, 0xf0, 0x9c, 0xf7, 0x6e, 0x6c, 0xea, + 0x11, 0xee, 0x5b, 0xc5, 0x6b, 0x21, 0x91, 0x47, 0x03, 0x9a, 0x13, 0xb1, + 0xa7, 0xfc, 0x99, 0xae, 0x36, 0xf5, 0x88, 0x80, +}; +static const unsigned char kat688_addin1[] = { + 0xbb, 0x81, 0x12, 0xe5, 0x00, 0x47, 0x57, 0xc0, 0xab, 0x45, 0xba, 0x23, + 0x25, 0x73, 0x59, 0x19, 0xf2, 0x14, 0x1f, 0x9c, 0x6d, 0x60, 0xe2, 0x07, + 0x84, 0xa7, 0x2e, 0xf7, 0xab, 0x98, 0xd4, 0x56, +}; +static const unsigned char kat688_retbits[] = { + 0x43, 0x1d, 0xf7, 0x65, 0xc4, 0x9d, 0xa3, 0xb4, 0x1e, 0x72, 0xb6, 0x4a, + 0xf2, 0x60, 0xe2, 0x85, 0xf1, 0x89, 0x7a, 0x59, 0x4d, 0x90, 0x7e, 0x9a, + 0x41, 0xb6, 0xbe, 0xe0, 0xca, 0x69, 0xc9, 0x13, 0x31, 0x47, 0x5f, 0x95, + 0xb2, 0x04, 0x07, 0xfe, 0x77, 0x7f, 0xcd, 0xef, 0x21, 0x74, 0xaa, 0xf4, + 0x7c, 0x4e, 0x7b, 0x8b, 0xfb, 0x3f, 0x3e, 0x9b, 0x5f, 0x52, 0x46, 0x84, + 0x66, 0xba, 0x9a, 0xab, +}; +static const struct drbg_kat_no_reseed kat688_t = { + 12, kat688_entropyin, kat688_nonce, kat688_persstr, + kat688_addin0, kat688_addin1, kat688_retbits +}; +static const struct drbg_kat kat688 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat688_t +}; + +static const unsigned char kat689_entropyin[] = { + 0x80, 0xe7, 0xcb, 0x47, 0x50, 0x00, 0x12, 0xde, 0x07, 0xf6, 0x55, 0x79, + 0x7b, 0x24, 0x83, 0x05, 0xe2, 0x17, 0x20, 0xc6, 0xdf, 0xfa, 0x44, 0xc0, + 0x96, 0xde, 0xe7, 0xac, 0x84, 0x06, 0x0f, 0x43, +}; +static const unsigned char kat689_nonce[] = { + 0x7c, 0x21, 0xb1, 0x20, 0x32, 0xc2, 0xbb, 0x4a, 0x9c, 0x13, 0x64, 0xbe, + 0x63, 0x4b, 0x66, 0x5f, +}; +static const unsigned char kat689_persstr[] = {0}; +static const unsigned char kat689_addin0[] = { + 0xb3, 0x03, 0xe2, 0xd5, 0x6a, 0x5d, 0xff, 0x48, 0xda, 0x4e, 0xf1, 0xc7, + 0xe8, 0x44, 0x2a, 0xf2, 0xa1, 0x49, 0xa3, 0x89, 0x0f, 0x35, 0x26, 0xbd, + 0xd6, 0x61, 0x8f, 0xce, 0xae, 0xab, 0x32, 0xbe, +}; +static const unsigned char kat689_addin1[] = { + 0xe1, 0xef, 0x53, 0xff, 0x06, 0x06, 0x11, 0x4f, 0x7b, 0x88, 0x2e, 0xb7, + 0xf5, 0x20, 0x7a, 0xb9, 0x64, 0xc8, 0xce, 0x7a, 0xdf, 0xb9, 0xf6, 0x31, + 0xb7, 0xaa, 0x74, 0xa2, 0x31, 0x27, 0xf3, 0x53, +}; +static const unsigned char kat689_retbits[] = { + 0x42, 0x02, 0x42, 0xb4, 0x99, 0x47, 0x75, 0xc8, 0x23, 0x93, 0x80, 0x8c, + 0xc1, 0x70, 0x13, 0x16, 0x25, 0xfd, 0xf8, 0xba, 0x10, 0xc9, 0xc8, 0xa8, + 0xbc, 0x33, 0x59, 0x16, 0x44, 0x1a, 0x80, 0x63, 0x84, 0x3a, 0x4a, 0x8e, + 0x53, 0xd0, 0x0f, 0x1a, 0x38, 0xbe, 0x1f, 0x7b, 0xeb, 0x94, 0x65, 0x28, + 0x2c, 0xcb, 0x9f, 0x47, 0xa4, 0x6d, 0x99, 0xed, 0x67, 0xa9, 0x86, 0x86, + 0xa1, 0xc1, 0x1c, 0x3b, +}; +static const struct drbg_kat_no_reseed kat689_t = { + 13, kat689_entropyin, kat689_nonce, kat689_persstr, + kat689_addin0, kat689_addin1, kat689_retbits +}; +static const struct drbg_kat kat689 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat689_t +}; + +static const unsigned char kat690_entropyin[] = { + 0x00, 0xaf, 0x19, 0x87, 0x21, 0x07, 0x56, 0x57, 0x89, 0xd4, 0x07, 0xaf, + 0x38, 0x1f, 0x02, 0xef, 0x00, 0x8b, 0xee, 0x1f, 0x20, 0xdd, 0x69, 0x5b, + 0xc0, 0x0c, 0x58, 0xaf, 0xc7, 0xbb, 0x7e, 0xdf, +}; +static const unsigned char kat690_nonce[] = { + 0x13, 0x16, 0x02, 0x03, 0x23, 0x0f, 0xfd, 0xd3, 0x41, 0x71, 0x64, 0xae, + 0xe1, 0xcd, 0x87, 0x64, +}; +static const unsigned char kat690_persstr[] = {0}; +static const unsigned char kat690_addin0[] = { + 0xfd, 0x8a, 0xa4, 0x82, 0x27, 0x23, 0x29, 0x1d, 0x4c, 0x46, 0x71, 0x6a, + 0xc5, 0x60, 0x68, 0x4f, 0x8f, 0xa6, 0x70, 0xa3, 0xd0, 0xec, 0xcc, 0x07, + 0xa5, 0xa3, 0x33, 0x5f, 0x13, 0x16, 0x83, 0x57, +}; +static const unsigned char kat690_addin1[] = { + 0x12, 0xf3, 0xa8, 0x79, 0x0b, 0x35, 0x37, 0x9f, 0x34, 0x4a, 0xa0, 0x62, + 0x7f, 0xd4, 0xb0, 0xeb, 0xb1, 0x34, 0x19, 0xce, 0x97, 0x7f, 0x7a, 0x38, + 0xe1, 0xb0, 0x18, 0x7a, 0x89, 0x68, 0xd2, 0x90, +}; +static const unsigned char kat690_retbits[] = { + 0xdb, 0xd9, 0xce, 0x59, 0x62, 0x73, 0x6e, 0x22, 0x4c, 0xa4, 0xb3, 0xb8, + 0x55, 0xe1, 0x39, 0x70, 0xea, 0xeb, 0x0a, 0x5c, 0x60, 0x7a, 0x66, 0xf1, + 0xd0, 0x30, 0x3d, 0xe9, 0x59, 0xd8, 0x17, 0x18, 0x5b, 0x1f, 0x75, 0x44, + 0x87, 0x4f, 0x51, 0xea, 0xa5, 0x3a, 0xd0, 0xc3, 0xde, 0xbe, 0x85, 0x1e, + 0x6b, 0x23, 0xae, 0x2e, 0xe3, 0x6d, 0x46, 0x62, 0x88, 0x02, 0x6d, 0x96, + 0xbd, 0x27, 0x99, 0xd9, +}; +static const struct drbg_kat_no_reseed kat690_t = { + 14, kat690_entropyin, kat690_nonce, kat690_persstr, + kat690_addin0, kat690_addin1, kat690_retbits +}; +static const struct drbg_kat kat690 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat690_t +}; + +static const unsigned char kat691_entropyin[] = { + 0x5b, 0xe5, 0x76, 0xef, 0x25, 0xe0, 0x4f, 0xf8, 0xd6, 0x17, 0x20, 0xfd, + 0xfe, 0xe9, 0x66, 0x53, 0x62, 0xda, 0x94, 0xce, 0x54, 0x86, 0xf5, 0x91, + 0x4f, 0x24, 0x10, 0xe0, 0x6d, 0x09, 0xc7, 0x3e, +}; +static const unsigned char kat691_nonce[] = { + 0x7b, 0x9c, 0xcc, 0x3e, 0x6d, 0x5d, 0x7b, 0x5f, 0xb5, 0xd4, 0xb3, 0x21, + 0xe4, 0xff, 0x47, 0x6e, +}; +static const unsigned char kat691_persstr[] = { + 0xec, 0x29, 0x41, 0xf8, 0x68, 0x4b, 0x25, 0xda, 0xd3, 0x9f, 0x57, 0xac, + 0xea, 0x40, 0xbd, 0x36, 0x46, 0xe2, 0x09, 0x91, 0x1d, 0x17, 0x77, 0x14, + 0xab, 0x92, 0xcc, 0xe1, 0x3a, 0xfe, 0x75, 0xe5, +}; +static const unsigned char kat691_addin0[] = {0}; +static const unsigned char kat691_addin1[] = {0}; +static const unsigned char kat691_retbits[] = { + 0x1f, 0x97, 0x80, 0xec, 0x93, 0xe7, 0x5d, 0xb8, 0x64, 0xde, 0x37, 0xb3, + 0xf9, 0x29, 0x0c, 0x60, 0x9a, 0xe3, 0x62, 0x0f, 0xab, 0x6c, 0xbb, 0x6c, + 0x17, 0xf9, 0x44, 0x38, 0x3f, 0xaf, 0xe0, 0xf6, 0x4c, 0x23, 0x31, 0x10, + 0xea, 0xcc, 0x5b, 0x4e, 0x5c, 0x41, 0x07, 0xa4, 0x3a, 0x0f, 0xfb, 0x00, + 0xa9, 0x4e, 0x00, 0xfa, 0x89, 0x18, 0xf1, 0x1f, 0x4c, 0x56, 0x4f, 0x04, + 0xbe, 0x71, 0x26, 0xbb, +}; +static const struct drbg_kat_no_reseed kat691_t = { + 0, kat691_entropyin, kat691_nonce, kat691_persstr, + kat691_addin0, kat691_addin1, kat691_retbits +}; +static const struct drbg_kat kat691 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat691_t +}; + +static const unsigned char kat692_entropyin[] = { + 0x6c, 0x35, 0x43, 0x9f, 0x34, 0xa4, 0x3c, 0xf7, 0x89, 0xb4, 0x7b, 0x4d, + 0xf0, 0x91, 0xf0, 0xd2, 0x02, 0x8b, 0x9c, 0x8c, 0x74, 0x65, 0x84, 0xae, + 0x7c, 0xa7, 0x17, 0xf4, 0x55, 0x04, 0x43, 0x77, +}; +static const unsigned char kat692_nonce[] = { + 0x79, 0xd3, 0x88, 0x96, 0x92, 0xcd, 0x2e, 0x3f, 0xfd, 0xa0, 0x28, 0x53, + 0x4a, 0x12, 0xfd, 0xf9, +}; +static const unsigned char kat692_persstr[] = { + 0x2e, 0xb6, 0x82, 0x59, 0x8f, 0x5c, 0xa0, 0x61, 0xf1, 0x1e, 0x65, 0x36, + 0xfc, 0x94, 0xa3, 0xa3, 0x6f, 0x3d, 0xf2, 0x89, 0x6e, 0x2e, 0xc9, 0xb5, + 0x77, 0x40, 0xe6, 0x7c, 0x83, 0x42, 0x4b, 0x40, +}; +static const unsigned char kat692_addin0[] = {0}; +static const unsigned char kat692_addin1[] = {0}; +static const unsigned char kat692_retbits[] = { + 0x34, 0x64, 0xe7, 0x5b, 0x5f, 0xca, 0xc3, 0x79, 0x96, 0x37, 0xa4, 0x0c, + 0xcd, 0xa0, 0x78, 0x1b, 0xda, 0x21, 0x72, 0x2d, 0x39, 0xb0, 0x69, 0x2b, + 0x8f, 0x56, 0x74, 0x80, 0xa9, 0x8d, 0x90, 0xa0, 0x29, 0x19, 0x55, 0x3a, + 0x38, 0x83, 0x0d, 0x7a, 0xe4, 0xd5, 0x8e, 0xf3, 0x61, 0x37, 0x7f, 0xb1, + 0xa8, 0x68, 0x41, 0x05, 0x68, 0xe7, 0xf3, 0xda, 0xe8, 0xbe, 0xc2, 0x00, + 0x23, 0xef, 0xf4, 0x93, +}; +static const struct drbg_kat_no_reseed kat692_t = { + 1, kat692_entropyin, kat692_nonce, kat692_persstr, + kat692_addin0, kat692_addin1, kat692_retbits +}; +static const struct drbg_kat kat692 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat692_t +}; + +static const unsigned char kat693_entropyin[] = { + 0x5b, 0xbe, 0x84, 0xff, 0xad, 0x62, 0xde, 0xb1, 0xed, 0xf2, 0x80, 0x1d, + 0xbd, 0x47, 0x2d, 0x02, 0x8f, 0x45, 0xc0, 0x6f, 0xb8, 0x33, 0x4d, 0x14, + 0x1f, 0x08, 0xc5, 0x35, 0x2c, 0xbb, 0xd2, 0x72, +}; +static const unsigned char kat693_nonce[] = { + 0x94, 0xf6, 0xce, 0x2a, 0x28, 0x76, 0x44, 0xac, 0xc4, 0x57, 0x5a, 0x8b, + 0xa6, 0x78, 0x26, 0x58, +}; +static const unsigned char kat693_persstr[] = { + 0x0e, 0x3b, 0x68, 0xda, 0x0e, 0x16, 0x7e, 0x01, 0x1d, 0x1e, 0xc8, 0xdd, + 0x7d, 0x8b, 0x9a, 0xfd, 0x4b, 0x0b, 0x6e, 0x42, 0x80, 0x6b, 0x60, 0x00, + 0xdd, 0x79, 0x75, 0x75, 0x09, 0xe0, 0x4f, 0x39, +}; +static const unsigned char kat693_addin0[] = {0}; +static const unsigned char kat693_addin1[] = {0}; +static const unsigned char kat693_retbits[] = { + 0xd3, 0xa4, 0x70, 0xea, 0x6f, 0x5a, 0x16, 0x09, 0x63, 0xa7, 0x95, 0x31, + 0xce, 0xe9, 0x67, 0x9d, 0xd8, 0x9e, 0x05, 0x14, 0x12, 0x24, 0x88, 0x32, + 0x65, 0xf2, 0x14, 0xce, 0x17, 0xd8, 0x36, 0xa2, 0xfc, 0xc3, 0xe2, 0x87, + 0x0d, 0x45, 0x66, 0x2d, 0x80, 0x24, 0x0a, 0xb5, 0x7e, 0x28, 0xf8, 0x3d, + 0x07, 0xe1, 0x3a, 0xf5, 0x82, 0xaa, 0x70, 0x11, 0xf9, 0x69, 0xc8, 0xe0, + 0xe7, 0x32, 0xe7, 0x85, +}; +static const struct drbg_kat_no_reseed kat693_t = { + 2, kat693_entropyin, kat693_nonce, kat693_persstr, + kat693_addin0, kat693_addin1, kat693_retbits +}; +static const struct drbg_kat kat693 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat693_t +}; + +static const unsigned char kat694_entropyin[] = { + 0xdc, 0x88, 0x15, 0x21, 0xd7, 0x0f, 0x4d, 0x5b, 0x34, 0xc9, 0x56, 0x83, + 0x1e, 0x2c, 0x95, 0x36, 0xd6, 0xe0, 0x26, 0xd7, 0x86, 0x29, 0x57, 0x70, + 0x33, 0xbe, 0x80, 0x07, 0x85, 0xaa, 0xbb, 0xa6, +}; +static const unsigned char kat694_nonce[] = { + 0xa8, 0x53, 0x19, 0x19, 0x4e, 0x70, 0x1c, 0x55, 0x8a, 0x15, 0xa0, 0xfc, + 0xf3, 0xf3, 0x5f, 0x49, +}; +static const unsigned char kat694_persstr[] = { + 0x23, 0xef, 0x4c, 0xf4, 0x2f, 0xec, 0x6f, 0x4b, 0xd1, 0x5c, 0x6a, 0xfc, + 0x0e, 0x1c, 0xae, 0x1a, 0x47, 0x72, 0x9e, 0x2f, 0x91, 0x01, 0x90, 0x94, + 0x82, 0x2a, 0x9e, 0xa4, 0x02, 0x4b, 0xcc, 0x35, +}; +static const unsigned char kat694_addin0[] = {0}; +static const unsigned char kat694_addin1[] = {0}; +static const unsigned char kat694_retbits[] = { + 0x74, 0xb0, 0x36, 0x16, 0xf6, 0xd3, 0x62, 0xa3, 0x9f, 0xf3, 0x3a, 0xb8, + 0x59, 0x3b, 0x7a, 0x87, 0xdc, 0xd8, 0x31, 0xfa, 0xa0, 0x56, 0x23, 0x8a, + 0x44, 0x5d, 0x0d, 0xc6, 0x23, 0xfc, 0x47, 0x72, 0x5c, 0x2d, 0xde, 0xa7, + 0x0a, 0x5f, 0x0b, 0x87, 0x51, 0xa1, 0x30, 0xbb, 0x27, 0x28, 0xbf, 0xc3, + 0xde, 0x11, 0x76, 0x77, 0xb3, 0x88, 0x6d, 0x4d, 0x67, 0x15, 0xf2, 0xd8, + 0x29, 0x6d, 0x71, 0xf9, +}; +static const struct drbg_kat_no_reseed kat694_t = { + 3, kat694_entropyin, kat694_nonce, kat694_persstr, + kat694_addin0, kat694_addin1, kat694_retbits +}; +static const struct drbg_kat kat694 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat694_t +}; + +static const unsigned char kat695_entropyin[] = { + 0x5c, 0x3c, 0xea, 0x9b, 0xb9, 0x43, 0x2f, 0x23, 0x60, 0x09, 0x79, 0xd7, + 0xc4, 0x51, 0x1d, 0x85, 0x61, 0xbf, 0x7d, 0x88, 0xd2, 0x29, 0xf3, 0x51, + 0x38, 0xac, 0x19, 0x64, 0x6c, 0x5c, 0x9e, 0xae, +}; +static const unsigned char kat695_nonce[] = { + 0xc0, 0x98, 0xb0, 0xae, 0xde, 0xb0, 0xe7, 0xc3, 0xa4, 0x4d, 0xa2, 0x9c, + 0x67, 0x8f, 0x2b, 0x19, +}; +static const unsigned char kat695_persstr[] = { + 0x50, 0x3e, 0xf4, 0x54, 0xd5, 0x9b, 0x0c, 0x68, 0xd2, 0x3a, 0x4b, 0xae, + 0x07, 0x15, 0xa8, 0x96, 0x3b, 0xa7, 0xbc, 0x70, 0x32, 0x5d, 0xe3, 0xfb, + 0x59, 0x83, 0x1c, 0x90, 0x7a, 0xbd, 0xde, 0xff, +}; +static const unsigned char kat695_addin0[] = {0}; +static const unsigned char kat695_addin1[] = {0}; +static const unsigned char kat695_retbits[] = { + 0xe4, 0x40, 0x8c, 0xa3, 0xcc, 0x4a, 0xac, 0x06, 0x45, 0xdd, 0xc3, 0xa6, + 0x61, 0x2d, 0x50, 0x0c, 0x26, 0x86, 0x29, 0x9b, 0x4f, 0xb6, 0x28, 0x73, + 0x0d, 0xb5, 0x49, 0xfd, 0x49, 0xb1, 0xa8, 0xab, 0x8e, 0xe7, 0xdc, 0xa0, + 0xfe, 0x5e, 0x73, 0x2e, 0xdb, 0x52, 0x52, 0xe6, 0x9b, 0x0d, 0x90, 0x91, + 0x03, 0x42, 0x48, 0xc1, 0x65, 0x48, 0xb0, 0x31, 0x7b, 0x66, 0x0b, 0x8a, + 0x8b, 0x8e, 0x39, 0xba, +}; +static const struct drbg_kat_no_reseed kat695_t = { + 4, kat695_entropyin, kat695_nonce, kat695_persstr, + kat695_addin0, kat695_addin1, kat695_retbits +}; +static const struct drbg_kat kat695 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat695_t +}; + +static const unsigned char kat696_entropyin[] = { + 0x6e, 0xcd, 0x2e, 0xab, 0x50, 0x57, 0x0c, 0xd5, 0x32, 0x0c, 0xed, 0xc3, + 0x6c, 0xe4, 0xff, 0x7e, 0xe3, 0x11, 0xb9, 0xdd, 0xca, 0x8c, 0xb0, 0x71, + 0xeb, 0x82, 0xba, 0x04, 0xe2, 0x73, 0x7b, 0xce, +}; +static const unsigned char kat696_nonce[] = { + 0x7c, 0x55, 0x63, 0x33, 0x24, 0x25, 0x06, 0x5e, 0xbd, 0xcd, 0x72, 0x1f, + 0xaf, 0x8c, 0x3f, 0xf5, +}; +static const unsigned char kat696_persstr[] = { + 0xf5, 0x1d, 0xdf, 0x77, 0x4d, 0xb1, 0x4f, 0x40, 0x63, 0x92, 0xbb, 0x6c, + 0x6e, 0xc5, 0x3f, 0x23, 0x1b, 0xa4, 0xc3, 0xc4, 0x18, 0xee, 0x05, 0x4d, + 0x76, 0xa3, 0x2a, 0xef, 0xb7, 0x1f, 0x2b, 0x1f, +}; +static const unsigned char kat696_addin0[] = {0}; +static const unsigned char kat696_addin1[] = {0}; +static const unsigned char kat696_retbits[] = { + 0xa3, 0x30, 0xbb, 0x0b, 0x8a, 0xb6, 0x05, 0x4e, 0x99, 0xa4, 0x40, 0x4d, + 0xdd, 0x86, 0x2b, 0x8f, 0x24, 0x03, 0x91, 0x41, 0xeb, 0x89, 0xb0, 0xf6, + 0x57, 0x7e, 0xec, 0x25, 0x35, 0xc1, 0xb9, 0x8b, 0x96, 0x4c, 0x5d, 0x6a, + 0x82, 0x7f, 0x56, 0x13, 0x60, 0x78, 0x63, 0xa5, 0x94, 0x04, 0xce, 0xa5, + 0x5d, 0xb7, 0x9b, 0xe1, 0xd0, 0x8c, 0x66, 0x6b, 0x02, 0xf5, 0xc2, 0xcc, + 0x6a, 0x0f, 0x7f, 0x84, +}; +static const struct drbg_kat_no_reseed kat696_t = { + 5, kat696_entropyin, kat696_nonce, kat696_persstr, + kat696_addin0, kat696_addin1, kat696_retbits +}; +static const struct drbg_kat kat696 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat696_t +}; + +static const unsigned char kat697_entropyin[] = { + 0xde, 0x5a, 0x18, 0x75, 0xc5, 0x75, 0xf7, 0xd3, 0x8e, 0xc1, 0x3f, 0xf4, + 0x77, 0x4c, 0x35, 0xb8, 0xc6, 0xb8, 0x91, 0xb0, 0xbd, 0xd3, 0x60, 0x42, + 0x91, 0x1d, 0x15, 0x7b, 0xdf, 0xe0, 0x0c, 0x53, +}; +static const unsigned char kat697_nonce[] = { + 0xf8, 0xd1, 0xad, 0x3c, 0x15, 0x10, 0xf8, 0xe5, 0xd0, 0xa8, 0xf0, 0x5f, + 0x43, 0x99, 0x24, 0xff, +}; +static const unsigned char kat697_persstr[] = { + 0x1d, 0x32, 0x05, 0x75, 0xe7, 0x9b, 0x09, 0xf5, 0x46, 0x20, 0x3b, 0xc5, + 0xd5, 0xb8, 0x6e, 0xc0, 0xf7, 0x62, 0x67, 0x53, 0x56, 0xd8, 0x4d, 0x6e, + 0x7f, 0x57, 0xe5, 0x7b, 0x77, 0xcd, 0x83, 0x2a, +}; +static const unsigned char kat697_addin0[] = {0}; +static const unsigned char kat697_addin1[] = {0}; +static const unsigned char kat697_retbits[] = { + 0x1e, 0x74, 0x9f, 0x20, 0x85, 0x09, 0x7a, 0xb5, 0x46, 0x2a, 0x10, 0x0e, + 0x8a, 0x86, 0xbd, 0x94, 0x6d, 0x29, 0x23, 0x21, 0x62, 0x28, 0x05, 0x93, + 0xe9, 0x00, 0xac, 0x77, 0x84, 0x29, 0xa3, 0xb5, 0x89, 0x32, 0xa5, 0x11, + 0x89, 0xb1, 0x72, 0x38, 0x92, 0x7a, 0xab, 0xb6, 0x94, 0xec, 0x48, 0x1d, + 0xd6, 0x6c, 0x3d, 0x93, 0x7b, 0x60, 0x0f, 0xb6, 0x26, 0xe0, 0x21, 0x81, + 0xd0, 0x02, 0x0e, 0xb0, +}; +static const struct drbg_kat_no_reseed kat697_t = { + 6, kat697_entropyin, kat697_nonce, kat697_persstr, + kat697_addin0, kat697_addin1, kat697_retbits +}; +static const struct drbg_kat kat697 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat697_t +}; + +static const unsigned char kat698_entropyin[] = { + 0x60, 0x15, 0x26, 0x97, 0xea, 0xee, 0x41, 0xd5, 0xf5, 0x72, 0xed, 0xc0, + 0x8d, 0xea, 0x0e, 0xe3, 0x1f, 0x49, 0x43, 0x44, 0x6f, 0x55, 0x73, 0xfb, + 0x23, 0xf5, 0xbf, 0x4a, 0xe9, 0x88, 0x25, 0xc3, +}; +static const unsigned char kat698_nonce[] = { + 0x02, 0x13, 0xd5, 0x91, 0xa2, 0x2b, 0xb0, 0xba, 0xef, 0x78, 0xfa, 0x14, + 0x1d, 0xde, 0x5b, 0x72, +}; +static const unsigned char kat698_persstr[] = { + 0x36, 0x59, 0x6e, 0x0a, 0x55, 0x29, 0xb2, 0x2b, 0x64, 0xd0, 0x87, 0x63, + 0x56, 0x46, 0x76, 0xc6, 0xf4, 0x29, 0x86, 0x1e, 0x93, 0xba, 0x28, 0xa4, + 0x3e, 0xf7, 0xcb, 0xb0, 0x4b, 0x03, 0x49, 0xbd, +}; +static const unsigned char kat698_addin0[] = {0}; +static const unsigned char kat698_addin1[] = {0}; +static const unsigned char kat698_retbits[] = { + 0xb3, 0x3f, 0x03, 0x99, 0x6a, 0xce, 0x84, 0x09, 0x7f, 0xc3, 0x05, 0x8c, + 0x52, 0xe4, 0x96, 0xc4, 0xb3, 0xb1, 0x33, 0x7b, 0xea, 0x78, 0xe0, 0xc7, + 0x74, 0xbd, 0x15, 0xb9, 0x4c, 0x27, 0x04, 0xa5, 0xd2, 0x01, 0x7b, 0xa8, + 0x92, 0x0a, 0x91, 0x5e, 0x21, 0x5a, 0x75, 0x7f, 0xbf, 0xab, 0x2d, 0x8f, + 0xad, 0x62, 0x59, 0x48, 0x1b, 0x4f, 0x11, 0x3a, 0x8a, 0x62, 0xe2, 0x74, + 0x2d, 0x86, 0x23, 0xeb, +}; +static const struct drbg_kat_no_reseed kat698_t = { + 7, kat698_entropyin, kat698_nonce, kat698_persstr, + kat698_addin0, kat698_addin1, kat698_retbits +}; +static const struct drbg_kat kat698 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat698_t +}; + +static const unsigned char kat699_entropyin[] = { + 0xe6, 0x7e, 0x0a, 0xff, 0x14, 0x53, 0xe6, 0x71, 0x44, 0x44, 0x17, 0x18, + 0x22, 0xe6, 0x6e, 0xf7, 0xc6, 0x2e, 0x84, 0xca, 0x66, 0x33, 0x0d, 0x48, + 0xd8, 0x38, 0x40, 0x3b, 0xbe, 0xb4, 0xf5, 0xed, +}; +static const unsigned char kat699_nonce[] = { + 0x2b, 0xfd, 0x34, 0x4e, 0x1c, 0xfd, 0xb1, 0x2b, 0x15, 0x2b, 0x84, 0xe9, + 0xa8, 0x90, 0x4e, 0xfe, +}; +static const unsigned char kat699_persstr[] = { + 0x9e, 0x9a, 0x6d, 0x16, 0x4b, 0xae, 0x83, 0xb0, 0x80, 0xe4, 0x6b, 0x23, + 0xdd, 0x1e, 0x53, 0x1f, 0xd6, 0x80, 0x39, 0x54, 0x29, 0xf2, 0xe7, 0x60, + 0xbd, 0x97, 0x0f, 0xf8, 0xa2, 0xf8, 0xc7, 0xae, +}; +static const unsigned char kat699_addin0[] = {0}; +static const unsigned char kat699_addin1[] = {0}; +static const unsigned char kat699_retbits[] = { + 0x9e, 0x24, 0x4c, 0xdc, 0xb0, 0xdd, 0xbb, 0xbc, 0x24, 0x85, 0x8a, 0x52, + 0xc7, 0x8c, 0xc0, 0x69, 0xc3, 0x44, 0xe4, 0x65, 0xf5, 0x33, 0x98, 0x07, + 0x70, 0xfa, 0xff, 0xf8, 0x9f, 0x22, 0xaa, 0x52, 0x65, 0x6a, 0x4f, 0xf2, + 0x04, 0x6b, 0xfd, 0x3c, 0xc7, 0xd0, 0x94, 0x4b, 0x95, 0x43, 0xac, 0x0e, + 0x82, 0x0f, 0x0e, 0x19, 0x20, 0xd5, 0x4b, 0x92, 0x18, 0xf1, 0xfc, 0xcb, + 0xf0, 0xb2, 0x71, 0xab, +}; +static const struct drbg_kat_no_reseed kat699_t = { + 8, kat699_entropyin, kat699_nonce, kat699_persstr, + kat699_addin0, kat699_addin1, kat699_retbits +}; +static const struct drbg_kat kat699 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat699_t +}; + +static const unsigned char kat700_entropyin[] = { + 0x98, 0x28, 0x23, 0x8a, 0x3a, 0x1a, 0x67, 0x04, 0xbb, 0x29, 0x6d, 0x12, + 0x10, 0x06, 0x72, 0x4f, 0x58, 0x2e, 0x5b, 0x70, 0xef, 0x75, 0x31, 0x22, + 0x1d, 0x6f, 0xf6, 0x34, 0x11, 0xe6, 0x0c, 0xd9, +}; +static const unsigned char kat700_nonce[] = { + 0x6b, 0x54, 0x56, 0xcc, 0x71, 0xb7, 0x9b, 0x41, 0xd3, 0xb2, 0x6d, 0xa1, + 0x32, 0x0c, 0x65, 0x31, +}; +static const unsigned char kat700_persstr[] = { + 0xe5, 0xe6, 0x4f, 0xa5, 0x51, 0x42, 0x7d, 0xb8, 0xf8, 0x18, 0xce, 0x5b, + 0xdb, 0x53, 0x4e, 0xbc, 0x70, 0x55, 0xb5, 0x98, 0x1d, 0xc3, 0x6f, 0x64, + 0x96, 0xda, 0xc9, 0xb8, 0x9b, 0xea, 0x1e, 0x61, +}; +static const unsigned char kat700_addin0[] = {0}; +static const unsigned char kat700_addin1[] = {0}; +static const unsigned char kat700_retbits[] = { + 0x5a, 0x69, 0xb4, 0xfe, 0x77, 0x15, 0x6f, 0x87, 0x82, 0x35, 0xec, 0xe1, + 0x27, 0xad, 0x6a, 0x85, 0xb0, 0xe1, 0x11, 0x9d, 0x17, 0xa0, 0x8b, 0x21, + 0x97, 0x76, 0x15, 0xd8, 0xa9, 0xbb, 0x8a, 0xd7, 0xca, 0xf3, 0x5d, 0x89, + 0x9d, 0xd9, 0xaa, 0x21, 0x0c, 0x57, 0xe1, 0x10, 0x4f, 0x9a, 0x9e, 0xcb, + 0x73, 0x10, 0xea, 0x6d, 0x54, 0xc0, 0x98, 0x84, 0xf9, 0x41, 0xc6, 0xcb, + 0xff, 0x3d, 0xa5, 0xa0, +}; +static const struct drbg_kat_no_reseed kat700_t = { + 9, kat700_entropyin, kat700_nonce, kat700_persstr, + kat700_addin0, kat700_addin1, kat700_retbits +}; +static const struct drbg_kat kat700 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat700_t +}; + +static const unsigned char kat701_entropyin[] = { + 0x0b, 0xf4, 0x0a, 0x75, 0xa2, 0xae, 0x58, 0x03, 0x5b, 0xbf, 0xf7, 0x66, + 0x4f, 0xe2, 0xc9, 0x58, 0xad, 0xc5, 0x79, 0x00, 0x21, 0x3a, 0xf9, 0xcf, + 0x4c, 0xdc, 0xb1, 0x67, 0xb5, 0x57, 0xbb, 0xaa, +}; +static const unsigned char kat701_nonce[] = { + 0x38, 0x56, 0xfc, 0x02, 0xdf, 0xde, 0xfc, 0x9c, 0x6d, 0x00, 0x3b, 0x1f, + 0xef, 0x6b, 0x71, 0x97, +}; +static const unsigned char kat701_persstr[] = { + 0xb5, 0x93, 0x6c, 0x72, 0xdb, 0x21, 0x71, 0x6c, 0xac, 0x94, 0x44, 0x4c, + 0xa4, 0xa6, 0xfd, 0xc9, 0xf5, 0x50, 0xd0, 0xfc, 0x71, 0x31, 0xdd, 0xf2, + 0x70, 0x9a, 0x7f, 0xb5, 0x44, 0xd9, 0xe2, 0xb7, +}; +static const unsigned char kat701_addin0[] = {0}; +static const unsigned char kat701_addin1[] = {0}; +static const unsigned char kat701_retbits[] = { + 0xf6, 0xd9, 0xe5, 0xa5, 0xd1, 0xd8, 0x7f, 0x33, 0x65, 0x5c, 0x9c, 0xba, + 0x1e, 0x93, 0x63, 0x04, 0x27, 0x7d, 0x69, 0x98, 0x48, 0x8d, 0xbf, 0x22, + 0x42, 0x0c, 0x73, 0xc8, 0x2b, 0x07, 0x44, 0xc9, 0xcb, 0xf2, 0x1f, 0xf8, + 0x2e, 0x79, 0x9d, 0x29, 0xc1, 0xd6, 0xe7, 0x94, 0x45, 0x1e, 0xe7, 0xe5, + 0x36, 0x40, 0xf5, 0x50, 0xbe, 0xf7, 0x21, 0xf0, 0x39, 0x4d, 0x73, 0xa4, + 0x57, 0x15, 0xeb, 0xfa, +}; +static const struct drbg_kat_no_reseed kat701_t = { + 10, kat701_entropyin, kat701_nonce, kat701_persstr, + kat701_addin0, kat701_addin1, kat701_retbits +}; +static const struct drbg_kat kat701 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat701_t +}; + +static const unsigned char kat702_entropyin[] = { + 0x98, 0xc6, 0xb2, 0x9f, 0x70, 0x1f, 0xe3, 0x0c, 0x41, 0xd3, 0x4d, 0x7f, + 0x1d, 0xa3, 0x6f, 0xe2, 0xa7, 0x19, 0xde, 0x06, 0xe8, 0x74, 0xae, 0x80, + 0x68, 0x43, 0x99, 0xa6, 0x73, 0xa9, 0x7d, 0x1f, +}; +static const unsigned char kat702_nonce[] = { + 0x03, 0x69, 0xf7, 0xb4, 0x9f, 0x40, 0x36, 0x71, 0x16, 0xfa, 0xaa, 0x6d, + 0xfe, 0x4e, 0xa3, 0xf3, +}; +static const unsigned char kat702_persstr[] = { + 0x0e, 0x48, 0xab, 0x3e, 0x50, 0x7d, 0x5c, 0x74, 0xca, 0x58, 0x85, 0xa6, + 0x84, 0x8c, 0x05, 0xf7, 0xe0, 0x3b, 0xc2, 0xa0, 0xfc, 0x47, 0x92, 0xaa, + 0xea, 0xca, 0x2a, 0x16, 0x99, 0xf5, 0xd6, 0x4b, +}; +static const unsigned char kat702_addin0[] = {0}; +static const unsigned char kat702_addin1[] = {0}; +static const unsigned char kat702_retbits[] = { + 0x5f, 0x93, 0xad, 0xee, 0x11, 0x05, 0xaa, 0x58, 0x9a, 0x3c, 0x54, 0xdc, + 0x03, 0x01, 0x25, 0x78, 0x21, 0xb0, 0x93, 0x67, 0x91, 0x87, 0x60, 0xb7, + 0x5b, 0x83, 0x79, 0xe3, 0xf4, 0xd3, 0x04, 0x69, 0xc4, 0x97, 0xb7, 0xde, + 0xad, 0x63, 0x4a, 0x6e, 0xb7, 0x5e, 0x54, 0x4d, 0x7a, 0xab, 0x18, 0xeb, + 0x9d, 0xd2, 0xf0, 0x27, 0xc7, 0x4d, 0xc2, 0xb4, 0x47, 0xf9, 0xdc, 0x98, + 0xac, 0xe5, 0xbb, 0xa2, +}; +static const struct drbg_kat_no_reseed kat702_t = { + 11, kat702_entropyin, kat702_nonce, kat702_persstr, + kat702_addin0, kat702_addin1, kat702_retbits +}; +static const struct drbg_kat kat702 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat702_t +}; + +static const unsigned char kat703_entropyin[] = { + 0xb8, 0x71, 0xd4, 0xb9, 0xc7, 0x85, 0xa5, 0x59, 0x0e, 0x55, 0x40, 0xd4, + 0x1e, 0x57, 0x44, 0x14, 0x77, 0x97, 0x60, 0xd9, 0x3f, 0xad, 0x61, 0x1c, + 0x8b, 0x40, 0xbe, 0xc7, 0x4a, 0x82, 0xd3, 0xe5, +}; +static const unsigned char kat703_nonce[] = { + 0x8b, 0x40, 0x35, 0xfd, 0xaf, 0x56, 0x6e, 0xc2, 0xd5, 0xae, 0xb0, 0x56, + 0x71, 0xde, 0xe0, 0x42, +}; +static const unsigned char kat703_persstr[] = { + 0x8d, 0x9a, 0xda, 0xb4, 0xc1, 0xeb, 0x18, 0x18, 0xfa, 0x7c, 0xce, 0x9e, + 0x17, 0xab, 0xb4, 0xa2, 0xb4, 0xb5, 0x72, 0x09, 0xdf, 0xc2, 0x51, 0x32, + 0x42, 0x44, 0xa3, 0xbc, 0x25, 0x83, 0xa3, 0x61, +}; +static const unsigned char kat703_addin0[] = {0}; +static const unsigned char kat703_addin1[] = {0}; +static const unsigned char kat703_retbits[] = { + 0x4f, 0x46, 0xf9, 0xee, 0xa6, 0x22, 0x08, 0x08, 0x9f, 0xc8, 0x7d, 0x5c, + 0x7a, 0xda, 0x6a, 0xdf, 0xd1, 0x7f, 0xdb, 0x61, 0x92, 0xe0, 0x2a, 0x1b, + 0x90, 0x71, 0x66, 0x02, 0xc6, 0x39, 0x79, 0x68, 0x18, 0x15, 0x61, 0xc5, + 0x93, 0x75, 0x7b, 0x4b, 0xc5, 0x86, 0x96, 0x47, 0xed, 0x7a, 0x2d, 0xed, + 0x4f, 0x21, 0x74, 0x45, 0xee, 0x59, 0x98, 0xf7, 0xe9, 0xce, 0xe8, 0x92, + 0xff, 0xac, 0xe9, 0xe5, +}; +static const struct drbg_kat_no_reseed kat703_t = { + 12, kat703_entropyin, kat703_nonce, kat703_persstr, + kat703_addin0, kat703_addin1, kat703_retbits +}; +static const struct drbg_kat kat703 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat703_t +}; + +static const unsigned char kat704_entropyin[] = { + 0x59, 0x1b, 0xe0, 0xb5, 0xfd, 0xf6, 0xd1, 0xb3, 0xb7, 0xf5, 0xb1, 0x33, + 0xd9, 0xe0, 0x5f, 0x81, 0xed, 0x45, 0xf2, 0x52, 0xab, 0x13, 0x42, 0xa9, + 0xa2, 0x25, 0xb4, 0x31, 0x27, 0x06, 0xa2, 0xa7, +}; +static const unsigned char kat704_nonce[] = { + 0x19, 0x98, 0xea, 0x95, 0xf0, 0x16, 0xe6, 0x8b, 0xec, 0x00, 0x9d, 0x58, + 0xaa, 0xa9, 0x17, 0xa9, +}; +static const unsigned char kat704_persstr[] = { + 0xbb, 0x41, 0xdc, 0xbd, 0x6b, 0xa8, 0x02, 0x25, 0x5a, 0x85, 0xd4, 0xcd, + 0xd9, 0xb3, 0x88, 0x51, 0xd6, 0x36, 0xdd, 0xd0, 0xa8, 0x3e, 0x65, 0x26, + 0x2e, 0x3d, 0x2f, 0x4c, 0x7d, 0xfc, 0xa4, 0x97, +}; +static const unsigned char kat704_addin0[] = {0}; +static const unsigned char kat704_addin1[] = {0}; +static const unsigned char kat704_retbits[] = { + 0x0d, 0xd6, 0xba, 0x8b, 0xa9, 0x52, 0x62, 0x22, 0xc4, 0x36, 0x74, 0x66, + 0x30, 0xf0, 0x79, 0x12, 0xd5, 0x4d, 0xcd, 0x9c, 0x0c, 0xd4, 0xa2, 0xe9, + 0x5f, 0x02, 0x76, 0xce, 0x07, 0xe0, 0x31, 0xf4, 0x61, 0xb3, 0x5a, 0xf8, + 0x7d, 0x0f, 0x69, 0x4d, 0xdc, 0xfa, 0xca, 0x8f, 0xb6, 0x5c, 0xdd, 0x65, + 0x7f, 0x52, 0x4f, 0x3c, 0xb1, 0xd9, 0x28, 0x58, 0xab, 0x58, 0x76, 0x7a, + 0xcf, 0xc2, 0xd2, 0x3f, +}; +static const struct drbg_kat_no_reseed kat704_t = { + 13, kat704_entropyin, kat704_nonce, kat704_persstr, + kat704_addin0, kat704_addin1, kat704_retbits +}; +static const struct drbg_kat kat704 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat704_t +}; + +static const unsigned char kat705_entropyin[] = { + 0x62, 0x2a, 0x61, 0x31, 0x73, 0xdf, 0x7f, 0xb9, 0x00, 0x89, 0x46, 0x09, + 0xe2, 0x44, 0x40, 0xc3, 0xf4, 0x56, 0xa3, 0xea, 0xf9, 0xe3, 0x8c, 0xa9, + 0x88, 0xcd, 0x24, 0x03, 0x5e, 0x39, 0x27, 0xee, +}; +static const unsigned char kat705_nonce[] = { + 0x37, 0x7c, 0x3b, 0xde, 0xb5, 0x6a, 0x6f, 0xcf, 0x93, 0x82, 0xa2, 0x42, + 0xb1, 0x03, 0x6c, 0xc0, +}; +static const unsigned char kat705_persstr[] = { + 0x7a, 0xea, 0x3f, 0xf4, 0x21, 0x44, 0x7e, 0x01, 0x33, 0x3c, 0x14, 0xbb, + 0x5f, 0xd6, 0x52, 0xb1, 0x59, 0xd1, 0xf5, 0x32, 0x4e, 0xf8, 0xd2, 0x3e, + 0x5e, 0x36, 0x08, 0x1d, 0x84, 0x8c, 0xaa, 0xf6, +}; +static const unsigned char kat705_addin0[] = {0}; +static const unsigned char kat705_addin1[] = {0}; +static const unsigned char kat705_retbits[] = { + 0x22, 0x93, 0x26, 0x74, 0xba, 0xfd, 0xbd, 0x4f, 0x7a, 0x34, 0x3c, 0x52, + 0x05, 0xaa, 0xf0, 0x95, 0xed, 0xfc, 0xf7, 0x12, 0xce, 0x01, 0x0c, 0x11, + 0x81, 0x9c, 0xd9, 0x17, 0x1d, 0x11, 0x33, 0xc8, 0x89, 0x22, 0x0a, 0x1f, + 0x93, 0x9c, 0xad, 0x9f, 0x09, 0x8c, 0x50, 0x4e, 0x62, 0xf9, 0x8a, 0x63, + 0x88, 0x27, 0xd7, 0x36, 0xfb, 0x99, 0x60, 0x82, 0x9b, 0x38, 0x26, 0xfa, + 0x04, 0x6f, 0x31, 0xa3, +}; +static const struct drbg_kat_no_reseed kat705_t = { + 14, kat705_entropyin, kat705_nonce, kat705_persstr, + kat705_addin0, kat705_addin1, kat705_retbits +}; +static const struct drbg_kat kat705 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat705_t +}; + +static const unsigned char kat706_entropyin[] = { + 0x6b, 0x53, 0x6f, 0x8f, 0x4c, 0x56, 0x16, 0xa0, 0xc4, 0xe6, 0x81, 0x82, + 0x55, 0x85, 0x72, 0x4d, 0x52, 0x2d, 0x37, 0xfc, 0x02, 0xa0, 0x55, 0x64, + 0x03, 0x08, 0x72, 0xe0, 0xd6, 0xc3, 0x92, 0x2f, +}; +static const unsigned char kat706_nonce[] = { + 0x01, 0x84, 0x41, 0x75, 0x27, 0xff, 0xdd, 0x3e, 0xdd, 0xdb, 0xb0, 0x70, + 0x95, 0x78, 0x26, 0xc0, +}; +static const unsigned char kat706_persstr[] = { + 0x91, 0xe6, 0x2a, 0x60, 0x9b, 0x4d, 0xb5, 0x0c, 0x5e, 0x7a, 0xd7, 0xd0, + 0x9d, 0xc3, 0x87, 0xda, 0xe9, 0xda, 0x6d, 0x25, 0x85, 0xbd, 0x35, 0x30, + 0x38, 0x94, 0x11, 0xce, 0xa7, 0xd2, 0xa4, 0x0e, +}; +static const unsigned char kat706_addin0[] = { + 0x42, 0xf3, 0x98, 0xbf, 0x22, 0x29, 0x97, 0x6f, 0x9d, 0x97, 0xb0, 0xa5, + 0xfc, 0x47, 0xd5, 0xc6, 0x4b, 0x70, 0xfa, 0x56, 0x31, 0xab, 0xf2, 0x8f, + 0x2c, 0x6f, 0x91, 0xf7, 0x8b, 0x72, 0x78, 0xd9, +}; +static const unsigned char kat706_addin1[] = { + 0xc6, 0x24, 0x29, 0x1e, 0xb0, 0x39, 0xad, 0x17, 0x24, 0xc9, 0xb0, 0xba, + 0x20, 0xb9, 0x84, 0x21, 0xa7, 0xf0, 0x03, 0x2f, 0x6c, 0x8c, 0x00, 0xf6, + 0x47, 0x94, 0x01, 0x8c, 0xe5, 0xa5, 0xed, 0x96, +}; +static const unsigned char kat706_retbits[] = { + 0x50, 0x7e, 0x0b, 0x4f, 0x12, 0xc4, 0x08, 0xd8, 0x70, 0x52, 0xb7, 0x9e, + 0xb4, 0x87, 0x9c, 0x92, 0x5a, 0x91, 0x8b, 0x0f, 0xcd, 0x81, 0x2b, 0xbe, + 0xdc, 0x72, 0x0a, 0x3d, 0x8b, 0xe6, 0x56, 0xe4, 0x0d, 0xe9, 0x00, 0x25, + 0x7f, 0x7a, 0x27, 0x0d, 0xd6, 0xd8, 0xe7, 0xda, 0x50, 0xcd, 0xc2, 0x0d, + 0x74, 0x4e, 0x94, 0x97, 0x8d, 0x70, 0x7b, 0x53, 0xf3, 0x82, 0xae, 0xb1, + 0x64, 0x88, 0xb1, 0x22, +}; +static const struct drbg_kat_no_reseed kat706_t = { + 0, kat706_entropyin, kat706_nonce, kat706_persstr, + kat706_addin0, kat706_addin1, kat706_retbits +}; +static const struct drbg_kat kat706 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat706_t +}; + +static const unsigned char kat707_entropyin[] = { + 0x46, 0xf6, 0x26, 0xc7, 0xee, 0x44, 0xda, 0xd8, 0x3c, 0xed, 0x8e, 0x6c, + 0xe5, 0x56, 0xd1, 0xc4, 0x40, 0xda, 0x55, 0xc7, 0xc9, 0x7b, 0x4b, 0x0e, + 0x51, 0xb9, 0x81, 0x7e, 0x97, 0x70, 0x01, 0xb9, +}; +static const unsigned char kat707_nonce[] = { + 0xfd, 0x56, 0x3b, 0x05, 0xc0, 0xc9, 0x5f, 0x2b, 0xa9, 0x40, 0xfe, 0x9e, + 0x88, 0xed, 0x6f, 0xb9, +}; +static const unsigned char kat707_persstr[] = { + 0xec, 0x1a, 0x72, 0x24, 0xd1, 0xc1, 0x35, 0x59, 0x7b, 0x8e, 0x41, 0x4d, + 0x2e, 0xab, 0x62, 0x42, 0x65, 0x1b, 0xd6, 0x62, 0x78, 0x97, 0x3f, 0x4d, + 0x5e, 0xa2, 0x6a, 0x06, 0xf3, 0x7c, 0x0b, 0x3b, +}; +static const unsigned char kat707_addin0[] = { + 0x66, 0x84, 0x32, 0xe5, 0x18, 0x24, 0x94, 0xb2, 0x32, 0xe8, 0xa6, 0x6a, + 0x71, 0x35, 0xf0, 0x31, 0xe1, 0x15, 0x45, 0x28, 0xd4, 0x05, 0xda, 0x05, + 0x7b, 0xb4, 0xc8, 0xcf, 0xad, 0xbf, 0x25, 0xbb, +}; +static const unsigned char kat707_addin1[] = { + 0x10, 0xe0, 0xd1, 0x3c, 0x77, 0xc5, 0x04, 0xbf, 0x78, 0xd2, 0x93, 0xed, + 0x12, 0xde, 0x19, 0x2c, 0x10, 0x8d, 0x7d, 0xbe, 0xd8, 0x1a, 0xfb, 0xfe, + 0xdd, 0xf7, 0x27, 0xe9, 0xf2, 0x81, 0x64, 0x15, +}; +static const unsigned char kat707_retbits[] = { + 0x2b, 0xa8, 0x9e, 0x10, 0x71, 0xb0, 0x7b, 0x91, 0x47, 0x79, 0xa5, 0xfc, + 0xde, 0x87, 0x4a, 0x74, 0xa4, 0xe9, 0xb9, 0x08, 0x1b, 0xc0, 0xcf, 0xbd, + 0x8a, 0x62, 0x34, 0xd7, 0x55, 0x67, 0xab, 0x7d, 0xcf, 0x2c, 0x9b, 0xe0, + 0x03, 0xcd, 0xf7, 0xeb, 0xbb, 0xd1, 0x66, 0x59, 0x4f, 0x2a, 0x80, 0x89, + 0x9e, 0xc1, 0x3a, 0x48, 0x4d, 0x4c, 0xd2, 0x6d, 0x03, 0x38, 0xe1, 0xf9, + 0xfb, 0xb4, 0xd3, 0xf6, +}; +static const struct drbg_kat_no_reseed kat707_t = { + 1, kat707_entropyin, kat707_nonce, kat707_persstr, + kat707_addin0, kat707_addin1, kat707_retbits +}; +static const struct drbg_kat kat707 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat707_t +}; + +static const unsigned char kat708_entropyin[] = { + 0xbb, 0x55, 0x39, 0x3b, 0xe6, 0x59, 0xc4, 0x84, 0x70, 0x5d, 0x79, 0xbc, + 0x87, 0x87, 0xa5, 0x4c, 0xd1, 0xc1, 0x79, 0x56, 0x78, 0x7e, 0x3f, 0x32, + 0x53, 0x53, 0x21, 0x01, 0xe1, 0x89, 0x27, 0xb5, +}; +static const unsigned char kat708_nonce[] = { + 0xeb, 0xfe, 0x17, 0x65, 0xd9, 0xd6, 0x59, 0x46, 0x73, 0x11, 0xe3, 0x44, + 0x79, 0x65, 0x7b, 0xc1, +}; +static const unsigned char kat708_persstr[] = { + 0x73, 0x54, 0x4a, 0x81, 0x4c, 0x51, 0x23, 0x2d, 0x48, 0x04, 0xc5, 0x9d, + 0x17, 0x1d, 0x50, 0x0e, 0x29, 0x2f, 0xc9, 0x11, 0x0e, 0x2b, 0x26, 0x85, + 0x6b, 0x9d, 0xb7, 0xd7, 0x44, 0x6a, 0x7a, 0x9a, +}; +static const unsigned char kat708_addin0[] = { + 0x85, 0x5f, 0xe1, 0xcb, 0x8d, 0x50, 0x72, 0xf0, 0x3d, 0xb8, 0xe9, 0xc4, + 0xaa, 0xc8, 0xeb, 0x82, 0x9c, 0x47, 0xbf, 0x9a, 0xcb, 0xdc, 0x88, 0x8e, + 0x77, 0x3e, 0x36, 0x58, 0x0f, 0xa2, 0x4f, 0x34, +}; +static const unsigned char kat708_addin1[] = { + 0x64, 0x94, 0xd5, 0xec, 0x3f, 0x17, 0xd7, 0x3b, 0xb6, 0x52, 0x14, 0x27, + 0x64, 0x08, 0x14, 0xf7, 0xb4, 0xee, 0x40, 0x70, 0x14, 0x56, 0x61, 0x63, + 0x7d, 0x2f, 0x79, 0xb2, 0xef, 0x18, 0xb4, 0xf5, +}; +static const unsigned char kat708_retbits[] = { + 0x25, 0xac, 0x0a, 0xec, 0x11, 0x98, 0x03, 0xfe, 0x7d, 0x26, 0xcd, 0x76, + 0x35, 0xf4, 0x1f, 0x82, 0xd0, 0xed, 0x63, 0x4a, 0x30, 0x35, 0x88, 0x6e, + 0x25, 0x4c, 0xe4, 0x0f, 0x09, 0x74, 0x75, 0x64, 0x29, 0x04, 0xea, 0xf3, + 0xbe, 0x5b, 0xec, 0xb7, 0x40, 0x43, 0xbe, 0x3f, 0x33, 0xdc, 0x29, 0x40, + 0x63, 0x2a, 0x9e, 0x6a, 0xef, 0x8c, 0x83, 0x67, 0x55, 0x75, 0xb7, 0xc8, + 0x30, 0x74, 0x49, 0x49, +}; +static const struct drbg_kat_no_reseed kat708_t = { + 2, kat708_entropyin, kat708_nonce, kat708_persstr, + kat708_addin0, kat708_addin1, kat708_retbits +}; +static const struct drbg_kat kat708 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat708_t +}; + +static const unsigned char kat709_entropyin[] = { + 0xaf, 0x29, 0x59, 0xb0, 0xb4, 0x42, 0xee, 0xa3, 0xa4, 0x70, 0xfd, 0x2e, + 0x65, 0x31, 0x74, 0x8d, 0xb6, 0x80, 0xf5, 0x43, 0x1f, 0x97, 0x9e, 0x40, + 0xef, 0x40, 0x2f, 0x7e, 0xe0, 0x6b, 0xe2, 0x75, +}; +static const unsigned char kat709_nonce[] = { + 0x14, 0x7f, 0xf9, 0xec, 0xd9, 0x1a, 0x62, 0x2e, 0xb7, 0x54, 0x99, 0xd9, + 0x86, 0xe5, 0x07, 0xaf, +}; +static const unsigned char kat709_persstr[] = { + 0x02, 0xde, 0xde, 0x56, 0x8c, 0x8e, 0xec, 0x1b, 0x34, 0xa0, 0x42, 0xae, + 0x65, 0x1d, 0x6e, 0x06, 0x87, 0xd1, 0x26, 0x1f, 0x54, 0xf3, 0xf3, 0x9e, + 0xd7, 0xe0, 0xef, 0x4d, 0x1c, 0x1c, 0xad, 0x05, +}; +static const unsigned char kat709_addin0[] = { + 0x43, 0x75, 0x7f, 0x98, 0x6a, 0x40, 0x91, 0x5e, 0xa7, 0xcb, 0x7d, 0x51, + 0xec, 0xd4, 0xdc, 0x8e, 0x2e, 0x2f, 0x39, 0xe1, 0xad, 0x7f, 0x22, 0xd1, + 0x67, 0xad, 0x48, 0x6c, 0x90, 0xa7, 0x6b, 0xc1, +}; +static const unsigned char kat709_addin1[] = { + 0x2b, 0x1d, 0x19, 0xf3, 0xc7, 0xff, 0xe7, 0x63, 0xf2, 0xaf, 0x14, 0xbd, + 0xc6, 0xc6, 0xec, 0xac, 0x15, 0x65, 0x69, 0x76, 0xa1, 0x81, 0x17, 0xe7, + 0x04, 0x49, 0x0b, 0xdd, 0xd1, 0x5d, 0xa3, 0x7b, +}; +static const unsigned char kat709_retbits[] = { + 0x57, 0xf2, 0xc0, 0x0b, 0xe6, 0x2f, 0x8a, 0x88, 0x1a, 0xbf, 0x8f, 0x0a, + 0xdc, 0xcb, 0xfc, 0xf5, 0x42, 0x77, 0x51, 0x08, 0x1a, 0xbc, 0x87, 0xea, + 0x0a, 0x87, 0xf2, 0x60, 0xf9, 0xba, 0xe5, 0x7f, 0xe5, 0xab, 0x04, 0xbf, + 0xd8, 0x25, 0x64, 0x01, 0x2c, 0xd3, 0x99, 0x75, 0xb9, 0x24, 0xb4, 0x17, + 0xa1, 0xfb, 0x3f, 0xf8, 0x88, 0x16, 0xd2, 0x64, 0x27, 0x70, 0x21, 0x51, + 0x3a, 0xfa, 0x0f, 0x4c, +}; +static const struct drbg_kat_no_reseed kat709_t = { + 3, kat709_entropyin, kat709_nonce, kat709_persstr, + kat709_addin0, kat709_addin1, kat709_retbits +}; +static const struct drbg_kat kat709 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat709_t +}; + +static const unsigned char kat710_entropyin[] = { + 0x55, 0x64, 0x87, 0x45, 0x7a, 0x05, 0x58, 0xa1, 0x3f, 0x90, 0xa7, 0xe9, + 0xb0, 0x5c, 0x73, 0xc5, 0xc8, 0x54, 0xc6, 0x1c, 0xa2, 0x0f, 0x89, 0xf5, + 0x00, 0x57, 0x05, 0x36, 0x8a, 0xfd, 0x1a, 0xb2, +}; +static const unsigned char kat710_nonce[] = { + 0x85, 0xbc, 0x55, 0x9b, 0xfc, 0xd5, 0x4d, 0xd3, 0x39, 0x5f, 0x6e, 0x65, + 0xb7, 0xcb, 0x3c, 0xa3, +}; +static const unsigned char kat710_persstr[] = { + 0xc6, 0x0f, 0x02, 0x6d, 0xa9, 0x4e, 0xe1, 0xa8, 0x49, 0x56, 0x92, 0x47, + 0xc4, 0x91, 0x35, 0x55, 0x2e, 0x79, 0x77, 0xfd, 0x2a, 0xfc, 0xcb, 0xc7, + 0x0b, 0x2b, 0xf0, 0x65, 0xaf, 0xf4, 0x05, 0xd3, +}; +static const unsigned char kat710_addin0[] = { + 0x5b, 0x09, 0x52, 0xeb, 0xdf, 0x3b, 0x34, 0x0e, 0xe0, 0x56, 0xbe, 0x2a, + 0xab, 0x09, 0xb4, 0xaf, 0x54, 0x18, 0x5d, 0x5d, 0x53, 0x5c, 0xb2, 0x52, + 0xb0, 0xf5, 0xc6, 0x65, 0x9f, 0x31, 0x15, 0x40, +}; +static const unsigned char kat710_addin1[] = { + 0x16, 0x0a, 0xf1, 0xff, 0xe3, 0x7e, 0xb9, 0xcd, 0x0f, 0xe7, 0x26, 0x04, + 0x42, 0x0c, 0xa1, 0x99, 0x89, 0x1c, 0xcd, 0x44, 0x46, 0x6f, 0xc5, 0xa2, + 0x19, 0x37, 0xdd, 0xe0, 0x6a, 0x5e, 0xe8, 0xa8, +}; +static const unsigned char kat710_retbits[] = { + 0x5c, 0x83, 0x2d, 0x5c, 0xb1, 0x53, 0xf2, 0x12, 0xa1, 0x5b, 0xc6, 0x91, + 0x09, 0xb2, 0xbd, 0x93, 0x7f, 0x16, 0xf4, 0x0d, 0x00, 0x07, 0xf9, 0x57, + 0x4d, 0xfb, 0x99, 0x8f, 0x34, 0x91, 0xc1, 0x40, 0x94, 0x8b, 0xd8, 0xa3, + 0xde, 0xe1, 0xc4, 0x41, 0x82, 0x3f, 0x4c, 0xfd, 0x84, 0x05, 0xc4, 0x29, + 0xa5, 0xfc, 0x47, 0x7a, 0xaf, 0xa2, 0x1c, 0x00, 0x23, 0xa9, 0xbe, 0x35, + 0x06, 0x46, 0xc5, 0x54, +}; +static const struct drbg_kat_no_reseed kat710_t = { + 4, kat710_entropyin, kat710_nonce, kat710_persstr, + kat710_addin0, kat710_addin1, kat710_retbits +}; +static const struct drbg_kat kat710 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat710_t +}; + +static const unsigned char kat711_entropyin[] = { + 0x3a, 0x82, 0x0e, 0xf6, 0x05, 0xb4, 0xba, 0xc4, 0xc2, 0x76, 0x6f, 0xc3, + 0x93, 0xb7, 0x65, 0x69, 0x9c, 0x15, 0x3a, 0xa3, 0x7b, 0xe5, 0x75, 0x30, + 0x36, 0xd4, 0xbd, 0x3b, 0x72, 0xc4, 0x15, 0x07, +}; +static const unsigned char kat711_nonce[] = { + 0x01, 0x8d, 0x9f, 0xed, 0x42, 0xf2, 0xd2, 0xfa, 0xa1, 0x8f, 0x73, 0xb3, + 0x45, 0x18, 0xad, 0xdc, +}; +static const unsigned char kat711_persstr[] = { + 0xff, 0x3d, 0xa2, 0x77, 0x3e, 0x7a, 0x6b, 0x0f, 0x09, 0xea, 0xc7, 0xa9, + 0x9a, 0xda, 0xf1, 0x2c, 0x0b, 0xd9, 0xba, 0x07, 0xaf, 0xd1, 0x38, 0x4b, + 0x00, 0x24, 0x8e, 0xde, 0x8d, 0x63, 0x3d, 0x41, +}; +static const unsigned char kat711_addin0[] = { + 0xb5, 0xd4, 0x23, 0x03, 0x02, 0xcc, 0xa8, 0x87, 0x87, 0xf6, 0x57, 0xc3, + 0x12, 0x28, 0xec, 0xfe, 0xa6, 0x66, 0x66, 0x94, 0x67, 0xd9, 0x5e, 0xd5, + 0x16, 0x82, 0x8e, 0xa0, 0xc6, 0xcc, 0xb6, 0xb5, +}; +static const unsigned char kat711_addin1[] = { + 0xb6, 0x25, 0x7d, 0xa8, 0x39, 0x6d, 0x91, 0x59, 0x72, 0x06, 0x2f, 0xbb, + 0x30, 0xb6, 0x60, 0x3a, 0x4d, 0x57, 0x1b, 0x85, 0x6b, 0x05, 0x71, 0x38, + 0x02, 0x1d, 0xee, 0x14, 0x2c, 0xf1, 0xf5, 0xd9, +}; +static const unsigned char kat711_retbits[] = { + 0xcc, 0x8b, 0xa6, 0xd2, 0x4b, 0xfb, 0x07, 0xd8, 0x3b, 0x93, 0x76, 0xff, + 0x07, 0xee, 0x9e, 0x19, 0x92, 0x54, 0xa9, 0x6d, 0x4c, 0x45, 0xbe, 0x1d, + 0x4f, 0xe8, 0xda, 0x7f, 0xa7, 0x30, 0x20, 0x8b, 0x26, 0x1d, 0xfc, 0x8d, + 0xb3, 0x1f, 0x40, 0x8f, 0x27, 0xfd, 0x6f, 0xe0, 0x44, 0xf4, 0x80, 0xbf, + 0x43, 0xc1, 0xae, 0xdc, 0x01, 0xc1, 0xdf, 0xff, 0x03, 0x40, 0xd7, 0x4a, + 0x41, 0x60, 0x0d, 0x1b, +}; +static const struct drbg_kat_no_reseed kat711_t = { + 5, kat711_entropyin, kat711_nonce, kat711_persstr, + kat711_addin0, kat711_addin1, kat711_retbits +}; +static const struct drbg_kat kat711 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat711_t +}; + +static const unsigned char kat712_entropyin[] = { + 0x57, 0x6d, 0x5b, 0x5a, 0x86, 0xd1, 0x9f, 0x70, 0x2a, 0x07, 0x0e, 0xa2, + 0xc2, 0xbd, 0x26, 0xc2, 0x32, 0x20, 0xf2, 0x2a, 0x2b, 0xd2, 0x43, 0x3a, + 0xd9, 0xdf, 0xde, 0x96, 0x4b, 0x4c, 0x92, 0x69, +}; +static const unsigned char kat712_nonce[] = { + 0xc5, 0x15, 0x04, 0x49, 0xbc, 0x5b, 0x9e, 0xa1, 0xa6, 0xd5, 0x48, 0x34, + 0xc6, 0xfe, 0x55, 0xe4, +}; +static const unsigned char kat712_persstr[] = { + 0x32, 0x5d, 0xb7, 0x77, 0x1f, 0xf2, 0x51, 0xd5, 0xb3, 0x3a, 0x83, 0xb4, + 0x19, 0x71, 0x62, 0x71, 0x48, 0x70, 0xbe, 0x81, 0x09, 0x55, 0x8b, 0xe4, + 0x34, 0x4f, 0xbf, 0x21, 0x5a, 0x0f, 0x14, 0xb4, +}; +static const unsigned char kat712_addin0[] = { + 0x03, 0x9a, 0x99, 0x0b, 0x3d, 0xef, 0x70, 0x06, 0xda, 0x9e, 0x12, 0x9e, + 0x86, 0x33, 0x99, 0x49, 0xb1, 0x91, 0x95, 0xe7, 0xd5, 0x20, 0xf7, 0xf7, + 0xe3, 0xec, 0x1d, 0x0e, 0x2f, 0x5f, 0x7c, 0xea, +}; +static const unsigned char kat712_addin1[] = { + 0xd4, 0x53, 0x96, 0x04, 0x40, 0x71, 0x9a, 0x68, 0xb2, 0xe1, 0x2f, 0x95, + 0x7f, 0x66, 0x41, 0x4c, 0xa7, 0xb2, 0x1b, 0x7f, 0xfe, 0xaa, 0x95, 0xd5, + 0x82, 0x2f, 0x74, 0xd2, 0x20, 0xa7, 0x84, 0xf6, +}; +static const unsigned char kat712_retbits[] = { + 0xe8, 0xdd, 0x79, 0x58, 0xd2, 0xc0, 0x63, 0x22, 0x25, 0x57, 0x78, 0xe6, + 0x03, 0x6f, 0x17, 0x29, 0x19, 0xe5, 0x2a, 0xb5, 0x19, 0x7d, 0x62, 0x0b, + 0xab, 0xc6, 0xaf, 0x85, 0xaa, 0x6a, 0xff, 0xdc, 0x75, 0x45, 0x0d, 0xa3, + 0x43, 0x86, 0x5d, 0xd2, 0x34, 0xd3, 0xe7, 0xbc, 0xb9, 0x04, 0xa7, 0x2b, + 0x4e, 0xa0, 0x64, 0x50, 0xd5, 0x74, 0xd2, 0x8b, 0x5d, 0x33, 0x74, 0xb1, + 0xac, 0xf1, 0xee, 0x21, +}; +static const struct drbg_kat_no_reseed kat712_t = { + 6, kat712_entropyin, kat712_nonce, kat712_persstr, + kat712_addin0, kat712_addin1, kat712_retbits +}; +static const struct drbg_kat kat712 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat712_t +}; + +static const unsigned char kat713_entropyin[] = { + 0x06, 0xd1, 0xae, 0x8d, 0xfa, 0x79, 0xca, 0x5b, 0xaa, 0x17, 0xc4, 0x51, + 0xb2, 0xf1, 0xa4, 0x5f, 0x29, 0xd6, 0x93, 0xbc, 0x56, 0x5d, 0x1a, 0xd7, + 0x47, 0x5f, 0x48, 0xd8, 0x55, 0x57, 0x81, 0x27, +}; +static const unsigned char kat713_nonce[] = { + 0x91, 0xa2, 0xdf, 0x1c, 0x8f, 0x01, 0xba, 0x16, 0xa8, 0x3a, 0x22, 0x4e, + 0x39, 0xf4, 0xaa, 0x30, +}; +static const unsigned char kat713_persstr[] = { + 0x94, 0x29, 0x8f, 0xd4, 0xad, 0x50, 0x96, 0x0c, 0x6b, 0xcf, 0xf3, 0xf4, + 0x0c, 0xd6, 0xca, 0x99, 0xa2, 0x82, 0x1c, 0x56, 0x43, 0x6f, 0x29, 0x69, + 0xe8, 0x47, 0xb9, 0x7c, 0x12, 0xd3, 0x76, 0x4c, +}; +static const unsigned char kat713_addin0[] = { + 0x6c, 0x1d, 0x46, 0x91, 0x4e, 0x2b, 0xc5, 0xb5, 0x6b, 0x58, 0x89, 0xad, + 0xc0, 0xae, 0x03, 0xbc, 0x60, 0x74, 0x9a, 0x9a, 0x09, 0x2a, 0x14, 0xc5, + 0x1f, 0xcc, 0xf2, 0xa2, 0x7c, 0xb1, 0xe4, 0xc3, +}; +static const unsigned char kat713_addin1[] = { + 0x26, 0xd2, 0xda, 0x54, 0xb6, 0xe1, 0x66, 0xda, 0x72, 0xa2, 0x3b, 0x64, + 0x02, 0x3c, 0x55, 0x15, 0xb0, 0x01, 0x0a, 0x83, 0x37, 0xaa, 0xe0, 0x19, + 0xf8, 0x9c, 0x22, 0x7b, 0xbb, 0x4b, 0x18, 0xde, +}; +static const unsigned char kat713_retbits[] = { + 0x75, 0xb5, 0x46, 0xc2, 0xfe, 0x1b, 0x40, 0x13, 0xc7, 0xbc, 0x31, 0xe0, + 0xc8, 0x0b, 0xb1, 0x08, 0x9c, 0xd9, 0x46, 0xf1, 0xb0, 0x35, 0x61, 0x1f, + 0x91, 0x26, 0xa0, 0xe3, 0x30, 0xb8, 0xfd, 0xb0, 0x89, 0x52, 0x0a, 0xa7, + 0x36, 0x8e, 0x12, 0x43, 0x70, 0x88, 0x9b, 0x31, 0x55, 0xd3, 0x9b, 0x62, + 0x47, 0x2f, 0xba, 0xe7, 0x1e, 0xb2, 0x69, 0x17, 0x71, 0x04, 0xbb, 0x61, + 0xaf, 0x3d, 0xde, 0x39, +}; +static const struct drbg_kat_no_reseed kat713_t = { + 7, kat713_entropyin, kat713_nonce, kat713_persstr, + kat713_addin0, kat713_addin1, kat713_retbits +}; +static const struct drbg_kat kat713 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat713_t +}; + +static const unsigned char kat714_entropyin[] = { + 0x12, 0xbd, 0x36, 0x67, 0x67, 0xea, 0x35, 0x2d, 0x61, 0xf0, 0x59, 0xde, + 0xb3, 0x8c, 0x8a, 0xa4, 0x8e, 0xff, 0x1e, 0xa8, 0x2e, 0xa4, 0xd6, 0x24, + 0xac, 0x4d, 0x0b, 0x9a, 0x85, 0x40, 0x2b, 0xc7, +}; +static const unsigned char kat714_nonce[] = { + 0x1f, 0xc6, 0x06, 0xb0, 0xcb, 0x2b, 0xcd, 0x60, 0x51, 0x90, 0x21, 0x8c, + 0x3a, 0xfe, 0xcf, 0x2c, +}; +static const unsigned char kat714_persstr[] = { + 0x79, 0x55, 0x43, 0x81, 0x96, 0x87, 0x50, 0xff, 0x21, 0xa6, 0x24, 0x9a, + 0xb6, 0x56, 0x1c, 0x13, 0x2c, 0xed, 0x11, 0x17, 0xc8, 0x12, 0xfd, 0xfe, + 0x17, 0x9f, 0x96, 0xd0, 0x96, 0x09, 0xf2, 0x6c, +}; +static const unsigned char kat714_addin0[] = { + 0x11, 0x56, 0xea, 0x54, 0xe2, 0xd4, 0x9a, 0xf0, 0xd9, 0xc3, 0x97, 0x5f, + 0x3e, 0xd8, 0xfe, 0x12, 0xa5, 0x7b, 0xf1, 0xd7, 0x21, 0x5d, 0x7f, 0x7e, + 0xa7, 0xd5, 0xb8, 0x02, 0xdf, 0x53, 0x3e, 0xcb, +}; +static const unsigned char kat714_addin1[] = { + 0x9e, 0x17, 0x1c, 0x51, 0xfa, 0x0d, 0x85, 0xbf, 0x63, 0x7f, 0x44, 0xe5, + 0x00, 0xa2, 0x32, 0x77, 0xd7, 0x54, 0x83, 0x6e, 0xbc, 0x72, 0x76, 0xca, + 0x7f, 0xbe, 0x99, 0x50, 0xc8, 0xf8, 0x00, 0xa1, +}; +static const unsigned char kat714_retbits[] = { + 0xb3, 0xbb, 0x70, 0x0f, 0x1e, 0x81, 0x05, 0x5b, 0x25, 0xb1, 0xb2, 0xd7, + 0x87, 0xdf, 0x3c, 0x5e, 0x8e, 0x68, 0x8d, 0xcb, 0xbb, 0xca, 0x7c, 0x5c, + 0x97, 0x5a, 0xb8, 0xa6, 0xe7, 0x82, 0xd4, 0xac, 0x19, 0x69, 0xaf, 0x4f, + 0x9a, 0x79, 0xf7, 0x5a, 0xd8, 0x8b, 0xcb, 0x82, 0x86, 0xf3, 0x1b, 0x1a, + 0x4a, 0x3a, 0xfb, 0xc3, 0xf5, 0x75, 0xac, 0x61, 0x6b, 0x59, 0xce, 0x62, + 0x63, 0x69, 0x08, 0x74, +}; +static const struct drbg_kat_no_reseed kat714_t = { + 8, kat714_entropyin, kat714_nonce, kat714_persstr, + kat714_addin0, kat714_addin1, kat714_retbits +}; +static const struct drbg_kat kat714 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat714_t +}; + +static const unsigned char kat715_entropyin[] = { + 0x9e, 0x7a, 0x21, 0x01, 0x6a, 0xce, 0xce, 0x94, 0x13, 0xf1, 0x22, 0x46, + 0xe9, 0x6a, 0x33, 0x2a, 0x03, 0x9e, 0x94, 0x07, 0x3f, 0x70, 0x21, 0xec, + 0xcf, 0xdb, 0x2b, 0xb0, 0x56, 0x61, 0x04, 0x89, +}; +static const unsigned char kat715_nonce[] = { + 0x5d, 0x47, 0xa5, 0x9e, 0x42, 0x8b, 0xba, 0x41, 0x66, 0x13, 0x11, 0x0d, + 0xbc, 0x36, 0xf0, 0xd4, +}; +static const unsigned char kat715_persstr[] = { + 0xf6, 0xfd, 0x57, 0x99, 0x46, 0xd0, 0xb6, 0xca, 0x24, 0x13, 0x13, 0x10, + 0x3d, 0x68, 0xcb, 0x91, 0x52, 0x87, 0xaa, 0x57, 0x11, 0x38, 0xc2, 0x70, + 0x2b, 0x3a, 0x17, 0xe4, 0x35, 0x20, 0x34, 0x8b, +}; +static const unsigned char kat715_addin0[] = { + 0xa4, 0x5f, 0xc7, 0x3e, 0x01, 0x51, 0x0f, 0xee, 0x62, 0x40, 0x78, 0x7e, + 0x16, 0x6c, 0x74, 0x36, 0x35, 0xfb, 0x55, 0xd1, 0x27, 0x6c, 0x03, 0x67, + 0x2e, 0x3b, 0x4a, 0xa8, 0x43, 0x4d, 0x8a, 0xf0, +}; +static const unsigned char kat715_addin1[] = { + 0x06, 0xa7, 0xb5, 0x7b, 0x49, 0x7e, 0xe6, 0x6f, 0xfe, 0xcc, 0xa0, 0xa6, + 0x2b, 0xb4, 0x7b, 0x6d, 0x56, 0x3e, 0x69, 0xd8, 0x6a, 0x39, 0xbe, 0x2c, + 0xee, 0x67, 0x33, 0xdb, 0xc9, 0xcf, 0xc5, 0x95, +}; +static const unsigned char kat715_retbits[] = { + 0x7f, 0xae, 0xde, 0x53, 0x72, 0x62, 0xcf, 0xfd, 0xad, 0x9f, 0xce, 0x2b, + 0xe2, 0xb3, 0xb6, 0xee, 0x03, 0x18, 0x52, 0x56, 0x1c, 0x70, 0x88, 0x15, + 0x0f, 0x77, 0x65, 0x80, 0xf5, 0x6f, 0xbf, 0x0b, 0x83, 0xe1, 0x92, 0xdb, + 0xf5, 0x45, 0x5f, 0xfd, 0x8d, 0xf9, 0x51, 0x59, 0x9c, 0x17, 0x58, 0x68, + 0x7e, 0x76, 0xb1, 0xbe, 0xb7, 0x4a, 0x74, 0x7a, 0x7f, 0xb6, 0x51, 0xd0, + 0x52, 0xc4, 0x91, 0x69, +}; +static const struct drbg_kat_no_reseed kat715_t = { + 9, kat715_entropyin, kat715_nonce, kat715_persstr, + kat715_addin0, kat715_addin1, kat715_retbits +}; +static const struct drbg_kat kat715 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat715_t +}; + +static const unsigned char kat716_entropyin[] = { + 0x5f, 0x3d, 0x88, 0x84, 0x87, 0x37, 0x0e, 0x4b, 0x7c, 0xde, 0xc8, 0x83, + 0x37, 0x16, 0x55, 0x23, 0x89, 0x82, 0x90, 0xfa, 0xf6, 0xbf, 0x73, 0xe3, + 0x80, 0x12, 0xd3, 0x55, 0x62, 0x58, 0x79, 0xa5, +}; +static const unsigned char kat716_nonce[] = { + 0xc8, 0xc1, 0x4e, 0x48, 0x18, 0xd8, 0x6a, 0xf2, 0xc8, 0x87, 0x47, 0x24, + 0x75, 0xc7, 0x5f, 0x3b, +}; +static const unsigned char kat716_persstr[] = { + 0xdd, 0x92, 0x51, 0x7b, 0x87, 0x19, 0xfb, 0xe7, 0x0f, 0xea, 0xa8, 0x2e, + 0xb8, 0x5c, 0x7f, 0x11, 0xad, 0xd3, 0x46, 0xe3, 0x52, 0x43, 0xf0, 0x47, + 0xe1, 0x72, 0xfd, 0xc2, 0xc3, 0x7f, 0x25, 0xc4, +}; +static const unsigned char kat716_addin0[] = { + 0x0a, 0x4b, 0xdd, 0x43, 0x1b, 0xbc, 0xb6, 0x50, 0xa5, 0xe6, 0xae, 0xca, + 0xb5, 0x96, 0x49, 0xe4, 0x1b, 0x8c, 0x1a, 0xc5, 0x01, 0x11, 0xd1, 0x2b, + 0xdd, 0x3e, 0x0b, 0x9c, 0xf6, 0x67, 0xd2, 0xff, +}; +static const unsigned char kat716_addin1[] = { + 0xcf, 0xab, 0xd6, 0x2c, 0x4b, 0xd2, 0x30, 0x69, 0x57, 0x39, 0xde, 0x22, + 0x15, 0x17, 0xcf, 0x9e, 0xe0, 0x64, 0x98, 0x7c, 0xe6, 0x3e, 0xd1, 0xd4, + 0xb4, 0xa8, 0x8b, 0x3b, 0x14, 0xff, 0xae, 0xbe, +}; +static const unsigned char kat716_retbits[] = { + 0x89, 0x0c, 0x6b, 0x5c, 0x1e, 0x7b, 0x47, 0x82, 0x26, 0xa2, 0x0f, 0xef, + 0xaa, 0x4c, 0x03, 0xe8, 0x78, 0x53, 0x4d, 0x86, 0xa6, 0x07, 0x5f, 0x99, + 0x11, 0xde, 0x98, 0xa4, 0xe9, 0xac, 0xd6, 0x48, 0xe7, 0x42, 0x98, 0xb3, + 0xe7, 0x49, 0xf6, 0xda, 0xd9, 0x92, 0x59, 0x76, 0xe7, 0xb6, 0x92, 0x06, + 0x12, 0x9e, 0x76, 0x63, 0xe2, 0x9c, 0xaa, 0x3e, 0x3e, 0x92, 0xf7, 0x50, + 0xc7, 0x46, 0x65, 0xfb, +}; +static const struct drbg_kat_no_reseed kat716_t = { + 10, kat716_entropyin, kat716_nonce, kat716_persstr, + kat716_addin0, kat716_addin1, kat716_retbits +}; +static const struct drbg_kat kat716 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat716_t +}; + +static const unsigned char kat717_entropyin[] = { + 0x49, 0xc7, 0xfc, 0x5f, 0xa4, 0x5f, 0x41, 0x65, 0xdc, 0xda, 0xdb, 0x6c, + 0x45, 0xe0, 0x9d, 0x1d, 0x96, 0x5c, 0x52, 0x93, 0x32, 0x98, 0x15, 0x04, + 0xa5, 0xd3, 0xda, 0x21, 0x12, 0x4b, 0x85, 0x65, +}; +static const unsigned char kat717_nonce[] = { + 0x34, 0x67, 0x45, 0xf1, 0x8e, 0x41, 0x66, 0x6a, 0x2e, 0x24, 0x09, 0xac, + 0x7b, 0x36, 0xa2, 0x44, +}; +static const unsigned char kat717_persstr[] = { + 0xd8, 0x9f, 0x11, 0x6d, 0x8c, 0x3b, 0xe3, 0x08, 0x78, 0xea, 0xfe, 0x8f, + 0xab, 0xa4, 0xbf, 0xf3, 0x51, 0x9b, 0x14, 0x4c, 0x08, 0xc0, 0x38, 0xc6, + 0xed, 0x3c, 0xcf, 0xbc, 0x89, 0x00, 0xde, 0x3c, +}; +static const unsigned char kat717_addin0[] = { + 0xaa, 0x45, 0x0c, 0xa2, 0x9e, 0xa6, 0x90, 0xe4, 0x25, 0x8a, 0xf9, 0x3f, + 0x46, 0x2e, 0x08, 0x49, 0xa1, 0xfe, 0x52, 0x0a, 0xea, 0xd9, 0x6c, 0x54, + 0x88, 0xa2, 0xf6, 0x9c, 0xca, 0xd7, 0x33, 0xca, +}; +static const unsigned char kat717_addin1[] = { + 0xde, 0x18, 0x86, 0x4a, 0x44, 0xc5, 0xfa, 0x8e, 0xeb, 0x11, 0x16, 0x69, + 0x6a, 0xa9, 0xc7, 0x5d, 0x57, 0xcc, 0x8c, 0xe0, 0x7b, 0x76, 0x93, 0xba, + 0xbb, 0x22, 0xf3, 0xf8, 0x83, 0x14, 0xf2, 0x2f, +}; +static const unsigned char kat717_retbits[] = { + 0xcd, 0x18, 0x78, 0xca, 0x2e, 0x9b, 0x29, 0x34, 0x89, 0x94, 0x64, 0x8b, + 0x95, 0x78, 0x92, 0x33, 0x32, 0xa6, 0x2f, 0xdc, 0xc8, 0x0c, 0x7d, 0x8e, + 0x20, 0x28, 0x15, 0xf9, 0xf4, 0x8d, 0x2a, 0x75, 0xae, 0xc7, 0x8e, 0x70, + 0x94, 0x20, 0x17, 0xd8, 0xa0, 0xb5, 0x34, 0xde, 0x1f, 0x8f, 0xfe, 0x5d, + 0xb5, 0x02, 0xac, 0xb3, 0xab, 0xd4, 0x73, 0x83, 0x77, 0xd9, 0x8d, 0x26, + 0xb1, 0x63, 0xe6, 0x07, +}; +static const struct drbg_kat_no_reseed kat717_t = { + 11, kat717_entropyin, kat717_nonce, kat717_persstr, + kat717_addin0, kat717_addin1, kat717_retbits +}; +static const struct drbg_kat kat717 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat717_t +}; + +static const unsigned char kat718_entropyin[] = { + 0xc9, 0x4d, 0x90, 0x7a, 0x28, 0x64, 0x0e, 0xff, 0x37, 0x74, 0x56, 0xef, + 0xba, 0xee, 0x67, 0xfe, 0x52, 0x16, 0xcf, 0x97, 0xd1, 0xad, 0xf7, 0xdf, + 0x4d, 0xb6, 0xe1, 0x8b, 0x59, 0x6e, 0x7b, 0xe0, +}; +static const unsigned char kat718_nonce[] = { + 0x57, 0x3c, 0xe3, 0xb9, 0xd4, 0xfd, 0x83, 0x0a, 0xfb, 0x99, 0xda, 0x3b, + 0xae, 0x14, 0xcc, 0x18, +}; +static const unsigned char kat718_persstr[] = { + 0x68, 0xcb, 0x89, 0xdf, 0x07, 0x3d, 0x0e, 0x79, 0x36, 0x77, 0x43, 0xaf, + 0x1c, 0x14, 0x70, 0xaa, 0x65, 0x7d, 0xd6, 0x79, 0x24, 0xd9, 0x64, 0xee, + 0x80, 0xbe, 0x72, 0xd9, 0x91, 0x98, 0xe4, 0xd9, +}; +static const unsigned char kat718_addin0[] = { + 0xe4, 0xc5, 0xa3, 0x39, 0xdb, 0xfa, 0xd8, 0x03, 0x6a, 0x3b, 0x05, 0x75, + 0xbd, 0xfa, 0x3c, 0x7d, 0x2f, 0x55, 0xab, 0x64, 0x2f, 0xc8, 0xce, 0xdd, + 0xa1, 0x2d, 0x90, 0x0d, 0x8f, 0x0f, 0x74, 0x49, +}; +static const unsigned char kat718_addin1[] = { + 0x86, 0x05, 0xc7, 0x13, 0xcd, 0x3b, 0x0e, 0xb8, 0x3d, 0xcc, 0xdc, 0x42, + 0x27, 0x8c, 0x0e, 0x40, 0x2c, 0xfb, 0x83, 0xba, 0x5a, 0x5a, 0xd8, 0x86, + 0x4d, 0xa6, 0x62, 0x2b, 0x2a, 0x72, 0x58, 0x34, +}; +static const unsigned char kat718_retbits[] = { + 0x14, 0x57, 0xa5, 0xd3, 0x63, 0xd5, 0x7f, 0xa3, 0x6c, 0x01, 0x00, 0x6f, + 0x1e, 0x95, 0x0f, 0x14, 0x40, 0x9a, 0xba, 0x72, 0xa1, 0x43, 0xb1, 0x84, + 0x70, 0xc4, 0x6a, 0xd1, 0xc2, 0xe3, 0x19, 0xb6, 0x4e, 0xa5, 0x88, 0xd6, + 0x83, 0xfc, 0x8a, 0xf7, 0x44, 0x23, 0x74, 0x22, 0x7b, 0x8f, 0x42, 0x4c, + 0x4f, 0x03, 0x0b, 0x56, 0x15, 0x91, 0x54, 0x65, 0xea, 0xe7, 0xfa, 0xa0, + 0x6a, 0xb9, 0xd2, 0x96, +}; +static const struct drbg_kat_no_reseed kat718_t = { + 12, kat718_entropyin, kat718_nonce, kat718_persstr, + kat718_addin0, kat718_addin1, kat718_retbits +}; +static const struct drbg_kat kat718 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat718_t +}; + +static const unsigned char kat719_entropyin[] = { + 0xd8, 0xc2, 0x8c, 0x04, 0xa7, 0x4e, 0xdd, 0xdb, 0xfe, 0xcb, 0x4b, 0x1a, + 0x23, 0x20, 0x79, 0x3d, 0x9e, 0x22, 0x82, 0x04, 0x68, 0x6c, 0x97, 0x3c, + 0xd0, 0x1c, 0x95, 0xbe, 0x37, 0x29, 0x7a, 0x57, +}; +static const unsigned char kat719_nonce[] = { + 0x12, 0x1d, 0x67, 0x3e, 0xc1, 0xd9, 0x62, 0x41, 0x33, 0xe4, 0x2e, 0x2f, + 0xa7, 0xc7, 0xa7, 0x51, +}; +static const unsigned char kat719_persstr[] = { + 0x33, 0x97, 0x80, 0xb0, 0x25, 0x37, 0x0e, 0x43, 0x9b, 0x7c, 0x92, 0x70, + 0x3b, 0x66, 0xeb, 0xd5, 0x90, 0x4e, 0xad, 0x35, 0xe2, 0x64, 0x0a, 0x85, + 0x96, 0x5a, 0xa0, 0xc4, 0x60, 0x8c, 0x5a, 0x09, +}; +static const unsigned char kat719_addin0[] = { + 0x9a, 0xe1, 0x74, 0x55, 0xaf, 0x94, 0xa8, 0xd9, 0xeb, 0x2d, 0x0c, 0x52, + 0x6d, 0x2e, 0x70, 0xbb, 0x97, 0xde, 0xe5, 0x05, 0xed, 0x5a, 0x9a, 0xa9, + 0x33, 0x33, 0xc0, 0x79, 0x68, 0xdf, 0xa1, 0xac, +}; +static const unsigned char kat719_addin1[] = { + 0xd5, 0xfa, 0x73, 0x55, 0xfd, 0x2f, 0x14, 0x4f, 0x3f, 0xeb, 0x64, 0x2b, + 0xee, 0xc1, 0xfb, 0x49, 0x40, 0xe5, 0xd2, 0xd1, 0xda, 0x0d, 0xbf, 0xa1, + 0xe5, 0xf5, 0x9a, 0x08, 0x60, 0xfa, 0xca, 0x6a, +}; +static const unsigned char kat719_retbits[] = { + 0x96, 0xcb, 0x4a, 0xda, 0xcb, 0x8b, 0xb1, 0xca, 0xf1, 0xcb, 0x1e, 0x09, + 0xb4, 0x21, 0xcb, 0x52, 0xb1, 0x14, 0xcf, 0x6b, 0xc4, 0xb9, 0x4e, 0x3d, + 0xe2, 0x1f, 0x14, 0x0b, 0xf5, 0xda, 0xc2, 0xbf, 0x10, 0x39, 0x94, 0xb8, + 0x59, 0xe2, 0x0e, 0x38, 0x43, 0x1d, 0x7a, 0x91, 0x2f, 0xa9, 0x86, 0xb2, + 0x88, 0x98, 0x41, 0x24, 0x1c, 0x8e, 0xc9, 0x42, 0x29, 0x8a, 0x89, 0xfd, + 0x68, 0x30, 0x69, 0x5a, +}; +static const struct drbg_kat_no_reseed kat719_t = { + 13, kat719_entropyin, kat719_nonce, kat719_persstr, + kat719_addin0, kat719_addin1, kat719_retbits +}; +static const struct drbg_kat kat719 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat719_t +}; + +static const unsigned char kat720_entropyin[] = { + 0x5f, 0xc1, 0xa4, 0x6b, 0x9b, 0x53, 0xe8, 0x3a, 0xdd, 0xd6, 0x16, 0x51, + 0x79, 0x32, 0xad, 0x8a, 0x84, 0xe5, 0x50, 0xa5, 0x83, 0x27, 0xee, 0x24, + 0x5a, 0xef, 0x20, 0x82, 0x64, 0xc5, 0xb9, 0x1c, +}; +static const unsigned char kat720_nonce[] = { + 0x9c, 0xe7, 0x4e, 0x2b, 0x3c, 0x43, 0xba, 0x1d, 0x98, 0xf7, 0xd4, 0xe8, + 0xeb, 0x5c, 0x9b, 0x3e, +}; +static const unsigned char kat720_persstr[] = { + 0x5f, 0xe0, 0x1c, 0x84, 0xf8, 0x24, 0xc1, 0x7e, 0x4d, 0xfb, 0xfd, 0xb7, + 0x5c, 0x32, 0x12, 0xcb, 0x2b, 0xfd, 0xf2, 0xda, 0x7c, 0x49, 0x7f, 0xeb, + 0xc0, 0x96, 0x74, 0x75, 0xeb, 0xe2, 0x91, 0xf7, +}; +static const unsigned char kat720_addin0[] = { + 0x84, 0x92, 0x2c, 0x03, 0x35, 0xa0, 0xea, 0xd6, 0x09, 0xe5, 0xa9, 0x2c, + 0xfc, 0x4a, 0x22, 0x5b, 0xd3, 0xc7, 0xc0, 0x1a, 0xb4, 0x58, 0x0b, 0x78, + 0x63, 0x38, 0xe1, 0xca, 0xa3, 0x62, 0x2f, 0x44, +}; +static const unsigned char kat720_addin1[] = { + 0x34, 0xb0, 0x34, 0xca, 0x64, 0x3b, 0xbf, 0xd2, 0xfc, 0xc5, 0x7c, 0x9b, + 0x53, 0xe0, 0xf9, 0xb3, 0xfd, 0x6a, 0x73, 0x45, 0x4f, 0x18, 0x23, 0xdf, + 0xe7, 0xb7, 0x07, 0x6e, 0xc7, 0x3f, 0xd9, 0x56, +}; +static const unsigned char kat720_retbits[] = { + 0x6c, 0xaa, 0x44, 0x75, 0x18, 0x9e, 0xe0, 0x0d, 0xdc, 0x54, 0x91, 0x0f, + 0x87, 0x23, 0xb0, 0xe5, 0xb8, 0xd3, 0xd0, 0xc3, 0x21, 0xce, 0x7f, 0x2a, + 0xc7, 0x19, 0x4d, 0x13, 0x4a, 0x0a, 0x31, 0xd9, 0x6b, 0x10, 0x2d, 0xd5, + 0x8e, 0x09, 0x2e, 0x08, 0xf8, 0xa0, 0x08, 0xf0, 0x5c, 0x4f, 0x2a, 0xfb, + 0x29, 0x01, 0xc6, 0xe2, 0x95, 0x49, 0xd3, 0xa7, 0x20, 0xaa, 0x2b, 0x1d, + 0x1f, 0x46, 0x1b, 0xb9, +}; +static const struct drbg_kat_no_reseed kat720_t = { + 14, kat720_entropyin, kat720_nonce, kat720_persstr, + kat720_addin0, kat720_addin1, kat720_retbits +}; +static const struct drbg_kat kat720 = { + NO_RESEED, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat720_t +}; + +static const unsigned char kat721_entropyin[] = { + 0xce, 0x50, 0xf3, 0x3d, 0xa5, 0xd4, 0xc1, 0xd3, 0xd4, 0x00, 0x4e, 0xb3, + 0x52, 0x44, 0xb7, 0xf2, 0xcd, 0x7f, 0x2e, 0x50, 0x76, 0xfb, 0xf6, 0x78, + 0x0a, 0x7f, 0xf6, 0x34, 0xb2, 0x49, 0xa5, 0xfc, +}; +static const unsigned char kat721_nonce[] = {0}; +static const unsigned char kat721_persstr[] = {0}; +static const unsigned char kat721_addin0[] = {0}; +static const unsigned char kat721_addin1[] = {0}; +static const unsigned char kat721_retbits[] = { + 0x65, 0x45, 0xc0, 0x52, 0x9d, 0x37, 0x24, 0x43, 0xb3, 0x92, 0xce, 0xb3, + 0xae, 0x3a, 0x99, 0xa3, 0x0f, 0x96, 0x3e, 0xaf, 0x31, 0x32, 0x80, 0xf1, + 0xd1, 0xa1, 0xe8, 0x7f, 0x9d, 0xb3, 0x73, 0xd3, 0x61, 0xe7, 0x5d, 0x18, + 0x01, 0x82, 0x66, 0x49, 0x9c, 0xcc, 0xd6, 0x4d, 0x9b, 0xbb, 0x8d, 0xe0, + 0x18, 0x5f, 0x21, 0x33, 0x83, 0x08, 0x0f, 0xad, 0xde, 0xc4, 0x6b, 0xae, + 0x1f, 0x78, 0x4e, 0x5a, +}; +static const struct drbg_kat_no_reseed kat721_t = { + 0, kat721_entropyin, kat721_nonce, kat721_persstr, + kat721_addin0, kat721_addin1, kat721_retbits +}; +static const struct drbg_kat kat721 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat721_t +}; + +static const unsigned char kat722_entropyin[] = { + 0xa3, 0x85, 0xf7, 0x0a, 0x4d, 0x45, 0x03, 0x21, 0xdf, 0xd1, 0x8d, 0x83, + 0x79, 0xef, 0x8e, 0x77, 0x36, 0xfe, 0xe5, 0xfb, 0xf0, 0xa0, 0xae, 0xa5, + 0x3b, 0x76, 0x69, 0x60, 0x94, 0xe8, 0xaa, 0x93, +}; +static const unsigned char kat722_nonce[] = {0}; +static const unsigned char kat722_persstr[] = {0}; +static const unsigned char kat722_addin0[] = {0}; +static const unsigned char kat722_addin1[] = {0}; +static const unsigned char kat722_retbits[] = { + 0x1a, 0x06, 0x25, 0x53, 0xab, 0x60, 0x45, 0x7e, 0xd1, 0xf1, 0xc5, 0x2f, + 0x5a, 0xca, 0x5a, 0x3b, 0xe5, 0x64, 0xa2, 0x75, 0x45, 0x35, 0x8c, 0x11, + 0x2e, 0xd9, 0x2c, 0x6e, 0xae, 0x2c, 0xb7, 0x59, 0x7c, 0xfc, 0xc2, 0xe0, + 0xa5, 0xdd, 0x81, 0xc5, 0xbf, 0xec, 0xc9, 0x41, 0xda, 0x5e, 0x81, 0x52, + 0xa9, 0x01, 0x0d, 0x48, 0x45, 0x17, 0x07, 0x34, 0x67, 0x6c, 0x8c, 0x1b, + 0x6b, 0x30, 0x73, 0xa5, +}; +static const struct drbg_kat_no_reseed kat722_t = { + 1, kat722_entropyin, kat722_nonce, kat722_persstr, + kat722_addin0, kat722_addin1, kat722_retbits +}; +static const struct drbg_kat kat722 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat722_t +}; + +static const unsigned char kat723_entropyin[] = { + 0xd4, 0xf4, 0x7c, 0x38, 0x5e, 0x5e, 0xe3, 0x69, 0x15, 0x97, 0x83, 0x86, + 0xa0, 0x74, 0xd4, 0x13, 0xd0, 0x4a, 0x1c, 0xe3, 0xa1, 0x3a, 0x0f, 0xe2, + 0xb1, 0x7f, 0x3f, 0x20, 0xf8, 0x3a, 0x93, 0xfd, +}; +static const unsigned char kat723_nonce[] = {0}; +static const unsigned char kat723_persstr[] = {0}; +static const unsigned char kat723_addin0[] = {0}; +static const unsigned char kat723_addin1[] = {0}; +static const unsigned char kat723_retbits[] = { + 0x27, 0xf8, 0x80, 0xdf, 0x4c, 0x29, 0x07, 0x69, 0x7f, 0xb2, 0xf5, 0x94, + 0xe3, 0x11, 0x55, 0x9c, 0xea, 0x82, 0x70, 0x49, 0x32, 0x7a, 0xf3, 0x1f, + 0xa7, 0xf0, 0xcb, 0xf3, 0x32, 0xc4, 0x62, 0x06, 0x74, 0xf5, 0x03, 0xd7, + 0xdc, 0x37, 0x83, 0x20, 0xd2, 0x28, 0x90, 0x71, 0x51, 0xd3, 0x2e, 0xe5, + 0xe3, 0xf5, 0xc5, 0xec, 0xcb, 0x13, 0xaf, 0xe5, 0x8b, 0xf6, 0xa6, 0x01, + 0x92, 0xe6, 0xd7, 0x0e, +}; +static const struct drbg_kat_no_reseed kat723_t = { + 2, kat723_entropyin, kat723_nonce, kat723_persstr, + kat723_addin0, kat723_addin1, kat723_retbits +}; +static const struct drbg_kat kat723 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat723_t +}; + +static const unsigned char kat724_entropyin[] = { + 0x12, 0x3d, 0xd8, 0x2c, 0x6a, 0x8d, 0x6a, 0x5f, 0x23, 0x06, 0x77, 0x02, + 0xe8, 0x22, 0x27, 0x33, 0xa3, 0x9c, 0x48, 0x96, 0x5b, 0xac, 0xcd, 0x9b, + 0xff, 0xed, 0x5d, 0xc5, 0x1c, 0xb7, 0x89, 0xb6, +}; +static const unsigned char kat724_nonce[] = {0}; +static const unsigned char kat724_persstr[] = {0}; +static const unsigned char kat724_addin0[] = {0}; +static const unsigned char kat724_addin1[] = {0}; +static const unsigned char kat724_retbits[] = { + 0x12, 0xdd, 0x6a, 0x87, 0x4a, 0x46, 0x56, 0xc7, 0xd5, 0xa2, 0x1c, 0xb1, + 0x17, 0x9b, 0x3c, 0x4a, 0x99, 0x82, 0xae, 0x00, 0xfc, 0x1b, 0xf2, 0x6c, + 0xb3, 0xa1, 0x39, 0xcb, 0x21, 0xc4, 0x50, 0x50, 0x45, 0xff, 0x5e, 0x22, + 0x3e, 0x2d, 0x08, 0x1f, 0xee, 0x52, 0xb2, 0x22, 0x46, 0xd4, 0x85, 0xb9, + 0xf1, 0x27, 0x4a, 0xef, 0x79, 0xa3, 0x30, 0x1d, 0x26, 0x36, 0x99, 0x97, + 0x99, 0xaa, 0xd3, 0x1d, +}; +static const struct drbg_kat_no_reseed kat724_t = { + 3, kat724_entropyin, kat724_nonce, kat724_persstr, + kat724_addin0, kat724_addin1, kat724_retbits +}; +static const struct drbg_kat kat724 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat724_t +}; + +static const unsigned char kat725_entropyin[] = { + 0xf1, 0xa6, 0x9a, 0xf8, 0x90, 0xb2, 0xc9, 0x79, 0xfa, 0xe0, 0x46, 0xa2, + 0xb5, 0x8d, 0x00, 0xa8, 0x33, 0x1c, 0x53, 0x22, 0x47, 0x2b, 0x0e, 0x61, + 0x9b, 0xb3, 0x72, 0xbf, 0xd0, 0x27, 0xf7, 0x05, +}; +static const unsigned char kat725_nonce[] = {0}; +static const unsigned char kat725_persstr[] = {0}; +static const unsigned char kat725_addin0[] = {0}; +static const unsigned char kat725_addin1[] = {0}; +static const unsigned char kat725_retbits[] = { + 0x96, 0x09, 0x12, 0x58, 0xc4, 0x22, 0x4e, 0x3b, 0x03, 0xd6, 0x5c, 0x93, + 0x8c, 0x97, 0x83, 0x2b, 0x55, 0x14, 0x30, 0x69, 0xdb, 0x57, 0x55, 0x19, + 0x6d, 0x52, 0xf5, 0x25, 0xbe, 0x95, 0x9d, 0x51, 0x9b, 0x1e, 0x02, 0xe5, + 0xf2, 0xda, 0xbf, 0x4d, 0xd2, 0x16, 0x4f, 0x9b, 0xb0, 0x6a, 0x16, 0xa6, + 0x35, 0x76, 0xff, 0x6d, 0xeb, 0x04, 0x2d, 0xab, 0x74, 0x03, 0x39, 0x16, + 0xc9, 0x54, 0x98, 0xc1, +}; +static const struct drbg_kat_no_reseed kat725_t = { + 4, kat725_entropyin, kat725_nonce, kat725_persstr, + kat725_addin0, kat725_addin1, kat725_retbits +}; +static const struct drbg_kat kat725 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat725_t +}; + +static const unsigned char kat726_entropyin[] = { + 0x14, 0xa9, 0xa1, 0xe2, 0x0c, 0xa3, 0x68, 0x6f, 0x3e, 0xc0, 0x96, 0x03, + 0xf6, 0x73, 0x0b, 0xdd, 0x73, 0xa9, 0xcc, 0x8c, 0x32, 0x38, 0x8e, 0xc0, + 0x0b, 0xc2, 0x8e, 0x6c, 0x9e, 0xc6, 0x5d, 0x87, +}; +static const unsigned char kat726_nonce[] = {0}; +static const unsigned char kat726_persstr[] = {0}; +static const unsigned char kat726_addin0[] = {0}; +static const unsigned char kat726_addin1[] = {0}; +static const unsigned char kat726_retbits[] = { + 0xc1, 0x29, 0x46, 0x45, 0x7a, 0xd8, 0x9d, 0xde, 0x78, 0x8e, 0x13, 0xc5, + 0x09, 0x2b, 0xbf, 0x3e, 0x9c, 0x7f, 0x61, 0xea, 0xc7, 0x32, 0x61, 0xd0, + 0x1d, 0x39, 0x6a, 0x1d, 0x9d, 0x11, 0x63, 0xee, 0xe8, 0x47, 0xa5, 0x61, + 0xd8, 0xe5, 0x20, 0x80, 0xcd, 0x9b, 0xdc, 0xe5, 0x70, 0x14, 0x17, 0x82, + 0xeb, 0xf1, 0x67, 0xc4, 0x70, 0x0a, 0x66, 0xac, 0xa6, 0xfd, 0x5c, 0x91, + 0x16, 0xa7, 0xbe, 0x49, +}; +static const struct drbg_kat_no_reseed kat726_t = { + 5, kat726_entropyin, kat726_nonce, kat726_persstr, + kat726_addin0, kat726_addin1, kat726_retbits +}; +static const struct drbg_kat kat726 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat726_t +}; + +static const unsigned char kat727_entropyin[] = { + 0x97, 0x26, 0x1a, 0x2c, 0x19, 0xc6, 0xdc, 0x36, 0xa6, 0xd0, 0x28, 0x3a, + 0x17, 0x7e, 0xb9, 0x66, 0x6c, 0x21, 0x81, 0x7f, 0xc0, 0xfc, 0xa4, 0x62, + 0xc5, 0x3d, 0x90, 0xb3, 0xd8, 0x14, 0xcd, 0x92, +}; +static const unsigned char kat727_nonce[] = {0}; +static const unsigned char kat727_persstr[] = {0}; +static const unsigned char kat727_addin0[] = {0}; +static const unsigned char kat727_addin1[] = {0}; +static const unsigned char kat727_retbits[] = { + 0xb4, 0x74, 0xf2, 0x74, 0x3b, 0x61, 0x82, 0xb0, 0x51, 0xfc, 0x7c, 0x76, + 0xc6, 0xb4, 0x08, 0x5b, 0x2f, 0x59, 0x76, 0x39, 0xca, 0x19, 0xc1, 0xee, + 0xe0, 0x5c, 0x1c, 0xf4, 0x39, 0xbb, 0x8e, 0xdb, 0xe0, 0x93, 0xd0, 0xb2, + 0x23, 0x9d, 0xe5, 0xd0, 0xf7, 0x9b, 0xeb, 0xf0, 0xe6, 0x22, 0xfe, 0x04, + 0xb5, 0x13, 0x59, 0x7e, 0xd1, 0xd8, 0xa0, 0x28, 0x21, 0xa0, 0xbc, 0xa4, + 0x35, 0xd1, 0xfb, 0xde, +}; +static const struct drbg_kat_no_reseed kat727_t = { + 6, kat727_entropyin, kat727_nonce, kat727_persstr, + kat727_addin0, kat727_addin1, kat727_retbits +}; +static const struct drbg_kat kat727 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat727_t +}; + +static const unsigned char kat728_entropyin[] = { + 0x9f, 0xdd, 0xe0, 0xf7, 0xeb, 0xa6, 0x53, 0x81, 0xbf, 0x63, 0x7d, 0x7b, + 0x7e, 0x6f, 0xbc, 0x20, 0xde, 0xef, 0x90, 0x60, 0x13, 0x01, 0x86, 0x55, + 0xf8, 0xd1, 0x2d, 0x74, 0x7d, 0xb8, 0xe2, 0x25, +}; +static const unsigned char kat728_nonce[] = {0}; +static const unsigned char kat728_persstr[] = {0}; +static const unsigned char kat728_addin0[] = {0}; +static const unsigned char kat728_addin1[] = {0}; +static const unsigned char kat728_retbits[] = { + 0xf4, 0xa5, 0x5a, 0xa4, 0xc2, 0x45, 0xcd, 0x42, 0xa1, 0xb6, 0x42, 0x96, + 0x37, 0xb0, 0x77, 0x41, 0x89, 0xef, 0x4e, 0x50, 0x53, 0xbe, 0xf0, 0x6b, + 0xbf, 0x42, 0x2b, 0x2f, 0x10, 0x39, 0x9e, 0x18, 0xb9, 0xf8, 0x6d, 0xcc, + 0x56, 0xaa, 0xa6, 0x97, 0x5e, 0xa1, 0x56, 0x22, 0xcd, 0xeb, 0xf3, 0x6a, + 0x3f, 0x47, 0x78, 0x44, 0x7b, 0xb2, 0x3a, 0x20, 0x44, 0xc2, 0x83, 0xa7, + 0x99, 0x03, 0xbe, 0xac, +}; +static const struct drbg_kat_no_reseed kat728_t = { + 7, kat728_entropyin, kat728_nonce, kat728_persstr, + kat728_addin0, kat728_addin1, kat728_retbits +}; +static const struct drbg_kat kat728 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat728_t +}; + +static const unsigned char kat729_entropyin[] = { + 0xaf, 0x62, 0x29, 0x9f, 0x37, 0x89, 0x53, 0x32, 0xd2, 0x83, 0xff, 0x9f, + 0x3b, 0x0c, 0xa2, 0x9f, 0x90, 0x03, 0x57, 0x18, 0x93, 0xdd, 0xd1, 0xbc, + 0x2d, 0x28, 0x63, 0x3a, 0x33, 0x99, 0x2b, 0x4a, +}; +static const unsigned char kat729_nonce[] = {0}; +static const unsigned char kat729_persstr[] = {0}; +static const unsigned char kat729_addin0[] = {0}; +static const unsigned char kat729_addin1[] = {0}; +static const unsigned char kat729_retbits[] = { + 0xb9, 0x17, 0x19, 0xf2, 0xd1, 0x29, 0x7f, 0xa9, 0xc5, 0x17, 0x20, 0xab, + 0x94, 0x48, 0x22, 0x8e, 0x33, 0x35, 0x94, 0xa7, 0xa1, 0xc0, 0xa5, 0xd7, + 0xa1, 0x0a, 0xe8, 0x82, 0x49, 0xdc, 0x0c, 0xc5, 0xd0, 0x7a, 0xbe, 0x20, + 0xb7, 0x91, 0x5d, 0x2a, 0x87, 0xf1, 0x2e, 0xc4, 0xbc, 0xdf, 0x44, 0xef, + 0xa9, 0x11, 0xf2, 0x8c, 0x5e, 0x9e, 0x39, 0x09, 0x01, 0x8e, 0x4a, 0x6b, + 0xd1, 0xb5, 0x36, 0x3b, +}; +static const struct drbg_kat_no_reseed kat729_t = { + 8, kat729_entropyin, kat729_nonce, kat729_persstr, + kat729_addin0, kat729_addin1, kat729_retbits +}; +static const struct drbg_kat kat729 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat729_t +}; + +static const unsigned char kat730_entropyin[] = { + 0x42, 0xfe, 0x0a, 0xd0, 0x88, 0xd5, 0xc1, 0xd6, 0xbe, 0x9e, 0x02, 0xc1, + 0x47, 0xd5, 0x77, 0x0c, 0x9a, 0xa0, 0xa9, 0x77, 0xc6, 0x30, 0x0c, 0xd9, + 0xae, 0xc9, 0x40, 0xcd, 0x15, 0xec, 0xfb, 0x8d, +}; +static const unsigned char kat730_nonce[] = {0}; +static const unsigned char kat730_persstr[] = {0}; +static const unsigned char kat730_addin0[] = {0}; +static const unsigned char kat730_addin1[] = {0}; +static const unsigned char kat730_retbits[] = { + 0xbd, 0x1a, 0x65, 0xbb, 0x65, 0xb5, 0x5e, 0xc4, 0xd6, 0x27, 0x9c, 0xb9, + 0x4d, 0xbf, 0x3b, 0xcd, 0x82, 0xbc, 0xe0, 0x9f, 0xa2, 0x77, 0xbf, 0xea, + 0x50, 0xb5, 0xda, 0xb6, 0x4b, 0x06, 0xc0, 0x18, 0x15, 0x70, 0x03, 0x2a, + 0x3a, 0x6f, 0x7d, 0xee, 0x5b, 0x2c, 0xce, 0xa3, 0x4b, 0xc6, 0x92, 0x8d, + 0xb1, 0x1d, 0xec, 0x93, 0x29, 0xed, 0x90, 0xd1, 0x09, 0xc0, 0xbc, 0xca, + 0x7c, 0xe7, 0xa4, 0x28, +}; +static const struct drbg_kat_no_reseed kat730_t = { + 9, kat730_entropyin, kat730_nonce, kat730_persstr, + kat730_addin0, kat730_addin1, kat730_retbits +}; +static const struct drbg_kat kat730 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat730_t +}; + +static const unsigned char kat731_entropyin[] = { + 0x74, 0x4e, 0xd7, 0x4d, 0x83, 0xba, 0xcf, 0x92, 0xd4, 0xbd, 0x4d, 0xd0, + 0x52, 0x45, 0x8b, 0xd8, 0xaf, 0x10, 0x39, 0x1c, 0x66, 0xfc, 0x89, 0xe1, + 0x39, 0x74, 0x42, 0x63, 0x20, 0xaa, 0x47, 0x4a, +}; +static const unsigned char kat731_nonce[] = {0}; +static const unsigned char kat731_persstr[] = {0}; +static const unsigned char kat731_addin0[] = {0}; +static const unsigned char kat731_addin1[] = {0}; +static const unsigned char kat731_retbits[] = { + 0x8d, 0xdd, 0x02, 0x70, 0xb0, 0x7f, 0xbb, 0xd3, 0x39, 0xbc, 0x83, 0xea, + 0x7a, 0x1d, 0x98, 0x6e, 0xe8, 0xe1, 0xa0, 0x61, 0xc7, 0xe3, 0x1c, 0x5d, + 0xbd, 0xcc, 0xab, 0xc8, 0xf2, 0x52, 0x27, 0x83, 0x2e, 0xc4, 0x5f, 0x5e, + 0xf9, 0xf2, 0x8c, 0xa0, 0x44, 0x6d, 0x84, 0x4d, 0xaa, 0xdd, 0x19, 0x20, + 0x24, 0xc4, 0xd3, 0x68, 0x54, 0xfa, 0x23, 0xb5, 0x8a, 0x8b, 0x97, 0x94, + 0xdb, 0x6d, 0x3a, 0xcb, +}; +static const struct drbg_kat_no_reseed kat731_t = { + 10, kat731_entropyin, kat731_nonce, kat731_persstr, + kat731_addin0, kat731_addin1, kat731_retbits +}; +static const struct drbg_kat kat731 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat731_t +}; + +static const unsigned char kat732_entropyin[] = { + 0x88, 0x4e, 0x9f, 0xaa, 0x66, 0x1d, 0xce, 0xcc, 0x37, 0x65, 0xc7, 0x97, + 0xa2, 0xaf, 0x89, 0x06, 0xfb, 0x89, 0x38, 0x13, 0xa3, 0x96, 0xe0, 0x2b, + 0x94, 0x99, 0x38, 0x26, 0x28, 0x8d, 0x2a, 0x6d, +}; +static const unsigned char kat732_nonce[] = {0}; +static const unsigned char kat732_persstr[] = {0}; +static const unsigned char kat732_addin0[] = {0}; +static const unsigned char kat732_addin1[] = {0}; +static const unsigned char kat732_retbits[] = { + 0x18, 0x48, 0x1d, 0xc4, 0x5c, 0xa3, 0xf1, 0x89, 0x6f, 0xe6, 0x39, 0x4a, + 0x23, 0x67, 0xd4, 0x4c, 0x4e, 0x45, 0x8b, 0x45, 0x5c, 0x9f, 0x36, 0xa5, + 0xd5, 0xac, 0x2b, 0x6a, 0x74, 0x75, 0xcf, 0x75, 0x99, 0xa9, 0x37, 0x8f, + 0x9c, 0xc7, 0x2f, 0xfc, 0xdb, 0xea, 0x71, 0xf0, 0x9c, 0x9a, 0x24, 0x4a, + 0x36, 0xcd, 0x66, 0x0b, 0x72, 0x25, 0x46, 0xea, 0x2a, 0xf4, 0xf3, 0xe7, + 0x75, 0x96, 0xec, 0x25, +}; +static const struct drbg_kat_no_reseed kat732_t = { + 11, kat732_entropyin, kat732_nonce, kat732_persstr, + kat732_addin0, kat732_addin1, kat732_retbits +}; +static const struct drbg_kat kat732 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat732_t +}; + +static const unsigned char kat733_entropyin[] = { + 0x31, 0xd1, 0x08, 0xfe, 0x0d, 0x40, 0xfe, 0x05, 0xc9, 0xed, 0x83, 0x72, + 0xc3, 0xbc, 0x09, 0xd1, 0x05, 0x8b, 0x39, 0x7b, 0x90, 0x06, 0xfb, 0x37, + 0x3c, 0xdd, 0x16, 0xa5, 0xa4, 0x0e, 0x2c, 0xc1, +}; +static const unsigned char kat733_nonce[] = {0}; +static const unsigned char kat733_persstr[] = {0}; +static const unsigned char kat733_addin0[] = {0}; +static const unsigned char kat733_addin1[] = {0}; +static const unsigned char kat733_retbits[] = { + 0x80, 0x82, 0x24, 0x50, 0xb0, 0x48, 0x7e, 0x70, 0xad, 0xa9, 0x48, 0xda, + 0x0b, 0x25, 0xcc, 0x49, 0xa3, 0x7d, 0xc5, 0x8e, 0x0d, 0xad, 0x92, 0x33, + 0xba, 0xdd, 0x0e, 0x88, 0xdf, 0x52, 0x0d, 0x36, 0x54, 0x30, 0x0f, 0x08, + 0x1b, 0x02, 0xe8, 0x54, 0x5d, 0x6d, 0x68, 0x18, 0xb8, 0x2e, 0x45, 0x96, + 0x4d, 0xb8, 0x63, 0x3f, 0xc7, 0x69, 0xaf, 0x84, 0xa9, 0x79, 0x9e, 0x92, + 0xa1, 0xbb, 0x0d, 0x61, +}; +static const struct drbg_kat_no_reseed kat733_t = { + 12, kat733_entropyin, kat733_nonce, kat733_persstr, + kat733_addin0, kat733_addin1, kat733_retbits +}; +static const struct drbg_kat kat733 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat733_t +}; + +static const unsigned char kat734_entropyin[] = { + 0xd5, 0x46, 0x4a, 0x18, 0xaa, 0xb8, 0x87, 0x3d, 0x63, 0xf5, 0x72, 0xf6, + 0x73, 0x8e, 0xf2, 0x7a, 0x39, 0x84, 0x5a, 0x31, 0xa2, 0x11, 0x70, 0x03, + 0x10, 0x32, 0x1e, 0x42, 0xb6, 0x62, 0x0b, 0x4a, +}; +static const unsigned char kat734_nonce[] = {0}; +static const unsigned char kat734_persstr[] = {0}; +static const unsigned char kat734_addin0[] = {0}; +static const unsigned char kat734_addin1[] = {0}; +static const unsigned char kat734_retbits[] = { + 0xe2, 0xb5, 0x31, 0xea, 0x43, 0xc5, 0x13, 0xa1, 0x56, 0x4f, 0xa6, 0x5e, + 0x9a, 0x68, 0xd4, 0x3c, 0x87, 0x51, 0x37, 0x77, 0x31, 0x02, 0x94, 0x1d, + 0x0e, 0xf5, 0x44, 0xc8, 0x4e, 0x36, 0x89, 0xb8, 0x2e, 0xac, 0x32, 0xd8, + 0xe2, 0x9c, 0xce, 0x42, 0xea, 0xe3, 0x93, 0xe0, 0x86, 0xab, 0x81, 0xf7, + 0x05, 0x20, 0x17, 0x92, 0x88, 0xc5, 0x2c, 0xbb, 0x64, 0x48, 0x69, 0x97, + 0x23, 0x86, 0x5b, 0x49, +}; +static const struct drbg_kat_no_reseed kat734_t = { + 13, kat734_entropyin, kat734_nonce, kat734_persstr, + kat734_addin0, kat734_addin1, kat734_retbits +}; +static const struct drbg_kat kat734 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat734_t +}; + +static const unsigned char kat735_entropyin[] = { + 0x72, 0x7c, 0x0a, 0xc7, 0x5a, 0x99, 0xbb, 0x1a, 0x31, 0x8e, 0x4f, 0xe2, + 0xfe, 0x0f, 0x2e, 0x31, 0x2b, 0x3b, 0x61, 0xd8, 0x2b, 0x2e, 0x50, 0x71, + 0xac, 0xfb, 0x4a, 0x36, 0xbc, 0x82, 0x58, 0xc1, +}; +static const unsigned char kat735_nonce[] = {0}; +static const unsigned char kat735_persstr[] = {0}; +static const unsigned char kat735_addin0[] = {0}; +static const unsigned char kat735_addin1[] = {0}; +static const unsigned char kat735_retbits[] = { + 0xf5, 0x95, 0xee, 0x1a, 0xf4, 0x37, 0xfe, 0x1b, 0xed, 0x8d, 0x45, 0x10, + 0x88, 0xb7, 0x88, 0xf1, 0xcd, 0x59, 0x9f, 0x2b, 0x0c, 0x47, 0xfe, 0xac, + 0x1f, 0xb5, 0xc6, 0xef, 0xbf, 0x7a, 0x14, 0xa8, 0xab, 0x0e, 0xa1, 0x1a, + 0x35, 0x69, 0xa3, 0xc2, 0x3b, 0x2a, 0x97, 0x02, 0xb4, 0x15, 0xbd, 0xa3, + 0x55, 0xc1, 0x5a, 0xfd, 0x27, 0x5c, 0x0d, 0x67, 0xb3, 0x8b, 0xcf, 0xb5, + 0x4a, 0xb1, 0x3f, 0x70, +}; +static const struct drbg_kat_no_reseed kat735_t = { + 14, kat735_entropyin, kat735_nonce, kat735_persstr, + kat735_addin0, kat735_addin1, kat735_retbits +}; +static const struct drbg_kat kat735 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat735_t +}; + +static const unsigned char kat736_entropyin[] = { + 0x6b, 0xd4, 0xf2, 0xae, 0x64, 0x9f, 0xc9, 0x93, 0x50, 0x95, 0x1f, 0xf0, + 0xc5, 0xd4, 0x60, 0xc1, 0xa9, 0x21, 0x41, 0x54, 0xe7, 0x38, 0x49, 0x75, + 0xee, 0x54, 0xb3, 0x4b, 0x7c, 0xae, 0x07, 0x04, +}; +static const unsigned char kat736_nonce[] = {0}; +static const unsigned char kat736_persstr[] = {0}; +static const unsigned char kat736_addin0[] = { + 0xec, 0xd4, 0x89, 0x3b, 0x97, 0x9a, 0xc9, 0x2d, 0xb1, 0x89, 0x4a, 0xe3, + 0x72, 0x45, 0x18, 0xa2, 0xf7, 0x8c, 0xf2, 0xdb, 0xe2, 0xf6, 0xbb, 0xc6, + 0xfd, 0xa5, 0x96, 0xdf, 0x87, 0xc7, 0xa4, 0xae, +}; +static const unsigned char kat736_addin1[] = { + 0xb2, 0x3e, 0x91, 0x88, 0x68, 0x7c, 0x88, 0x76, 0x8b, 0x26, 0x73, 0x88, + 0x62, 0xc4, 0x79, 0x1f, 0xa5, 0x2f, 0x92, 0x50, 0x2e, 0x1f, 0x94, 0xbf, + 0x66, 0xaf, 0x01, 0x7c, 0x42, 0x28, 0xa0, 0xdc, +}; +static const unsigned char kat736_retbits[] = { + 0x5b, 0x2b, 0xf7, 0xa5, 0xc6, 0x0d, 0x8a, 0xb6, 0x59, 0x11, 0x10, 0xcb, + 0xd6, 0x1c, 0xd3, 0x87, 0xb0, 0x2d, 0xe1, 0x97, 0x84, 0xf4, 0x96, 0xd1, + 0xa1, 0x09, 0x12, 0x3d, 0x8b, 0x35, 0x62, 0xa5, 0xde, 0x2d, 0xd6, 0xd5, + 0xd1, 0xae, 0xf9, 0x57, 0xa6, 0xc4, 0xf3, 0x71, 0xce, 0xcd, 0x93, 0xc1, + 0x57, 0x99, 0xd8, 0x2e, 0x34, 0xd6, 0xa0, 0xdb, 0xa7, 0xe9, 0x15, 0xa2, + 0x7d, 0x8e, 0x65, 0xf3, +}; +static const struct drbg_kat_no_reseed kat736_t = { + 0, kat736_entropyin, kat736_nonce, kat736_persstr, + kat736_addin0, kat736_addin1, kat736_retbits +}; +static const struct drbg_kat kat736 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat736_t +}; + +static const unsigned char kat737_entropyin[] = { + 0xe2, 0xad, 0xdb, 0xde, 0x2a, 0x76, 0xe7, 0x69, 0xfc, 0x7a, 0xa3, 0xf4, + 0x5b, 0x31, 0x40, 0x2f, 0x48, 0x2b, 0x73, 0xbb, 0xe7, 0x06, 0x7a, 0xd6, + 0x25, 0x46, 0x21, 0xf0, 0x6d, 0x3e, 0xf6, 0x8b, +}; +static const unsigned char kat737_nonce[] = {0}; +static const unsigned char kat737_persstr[] = {0}; +static const unsigned char kat737_addin0[] = { + 0xad, 0x11, 0x64, 0x3b, 0x01, 0x9e, 0x31, 0x24, 0x5e, 0x4e, 0xa4, 0x1f, + 0x18, 0xf7, 0x68, 0x04, 0x58, 0x31, 0x05, 0x80, 0xfa, 0x6e, 0xfa, 0xd2, + 0x75, 0xc5, 0x83, 0x3e, 0x7f, 0x80, 0x0d, 0xae, +}; +static const unsigned char kat737_addin1[] = { + 0xb5, 0xd8, 0x49, 0x61, 0x6b, 0x31, 0x23, 0xc9, 0x72, 0x5d, 0x18, 0x8c, + 0xd0, 0x00, 0x50, 0x03, 0x22, 0x07, 0x68, 0xd1, 0x20, 0x0f, 0x9e, 0x7c, + 0xc2, 0x9e, 0xf6, 0xd8, 0x8a, 0xfb, 0x7b, 0x9a, +}; +static const unsigned char kat737_retbits[] = { + 0x13, 0x2d, 0x0d, 0x50, 0xc8, 0x47, 0x7a, 0x40, 0x0b, 0xb8, 0x93, 0x5b, + 0xe5, 0x92, 0x8f, 0x91, 0x6a, 0x85, 0xda, 0x9f, 0xfc, 0xf1, 0xa8, 0xf6, + 0xe9, 0xf9, 0xa1, 0x4c, 0xca, 0x86, 0x10, 0x36, 0xcd, 0xa1, 0x4c, 0xf6, + 0x6d, 0x89, 0x53, 0xda, 0xb4, 0x56, 0xb6, 0x32, 0xcf, 0x68, 0x7c, 0xd5, + 0x39, 0xb4, 0xb8, 0x07, 0x92, 0x65, 0x61, 0xd0, 0xb3, 0x56, 0x2b, 0x9d, + 0x33, 0x34, 0xfb, 0x61, +}; +static const struct drbg_kat_no_reseed kat737_t = { + 1, kat737_entropyin, kat737_nonce, kat737_persstr, + kat737_addin0, kat737_addin1, kat737_retbits +}; +static const struct drbg_kat kat737 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat737_t +}; + +static const unsigned char kat738_entropyin[] = { + 0x7e, 0xca, 0x92, 0xb1, 0x13, 0x13, 0xe2, 0xeb, 0x67, 0xe8, 0x08, 0xd2, + 0x12, 0x72, 0x94, 0x5b, 0xe4, 0x32, 0xe9, 0x89, 0x33, 0x00, 0x0f, 0xce, + 0x65, 0x5c, 0xce, 0x06, 0x8d, 0xba, 0x42, 0x8b, +}; +static const unsigned char kat738_nonce[] = {0}; +static const unsigned char kat738_persstr[] = {0}; +static const unsigned char kat738_addin0[] = { + 0x03, 0x46, 0xce, 0x8a, 0xa1, 0xa4, 0x52, 0x02, 0x7a, 0x9b, 0x5f, 0xb0, + 0xac, 0xa4, 0x18, 0xf4, 0x34, 0x96, 0xfd, 0x97, 0xb3, 0xad, 0x3f, 0xcd, + 0xce, 0x17, 0xc4, 0xe3, 0xee, 0x27, 0xb3, 0x22, +}; +static const unsigned char kat738_addin1[] = { + 0x78, 0xec, 0xfb, 0xac, 0xec, 0x06, 0xfc, 0x61, 0xda, 0x03, 0x52, 0x27, + 0x45, 0xac, 0x4f, 0xb1, 0xfb, 0x6d, 0xee, 0x64, 0x66, 0x72, 0x0c, 0x02, + 0xa8, 0x35, 0x87, 0x71, 0x8a, 0x0d, 0x76, 0x3a, +}; +static const unsigned char kat738_retbits[] = { + 0x90, 0x4c, 0xd7, 0x90, 0x4d, 0x59, 0x33, 0x5b, 0xf5, 0x55, 0x20, 0x23, + 0xb6, 0x68, 0x9c, 0x8d, 0x61, 0xec, 0xa2, 0x48, 0x51, 0x86, 0x6a, 0x83, + 0x77, 0xae, 0xc9, 0x0d, 0xd8, 0x7e, 0x31, 0x1c, 0x62, 0x2d, 0x50, 0x7e, + 0x67, 0x85, 0x81, 0x51, 0x39, 0x35, 0xbd, 0xe1, 0x2c, 0x8b, 0x35, 0x1f, + 0x8d, 0x9a, 0x8e, 0xfc, 0xfc, 0xc1, 0xf1, 0xff, 0x76, 0xc0, 0x61, 0x3b, + 0xff, 0xe7, 0xb4, 0x55, +}; +static const struct drbg_kat_no_reseed kat738_t = { + 2, kat738_entropyin, kat738_nonce, kat738_persstr, + kat738_addin0, kat738_addin1, kat738_retbits +}; +static const struct drbg_kat kat738 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat738_t +}; + +static const unsigned char kat739_entropyin[] = { + 0x69, 0x0e, 0x1f, 0xfa, 0xa9, 0x69, 0xbd, 0x3a, 0xad, 0x20, 0xb2, 0xd6, + 0x46, 0xa6, 0xc6, 0x93, 0x75, 0x34, 0x67, 0x52, 0x8d, 0x1d, 0xc1, 0xfc, + 0x74, 0xe9, 0x06, 0xf4, 0x9d, 0x07, 0x5d, 0x89, +}; +static const unsigned char kat739_nonce[] = {0}; +static const unsigned char kat739_persstr[] = {0}; +static const unsigned char kat739_addin0[] = { + 0x4a, 0x43, 0x45, 0xdb, 0x4f, 0xed, 0x24, 0xca, 0xc4, 0x98, 0x22, 0xca, + 0xc5, 0x8d, 0xc4, 0x4e, 0xdc, 0xdf, 0x9c, 0x63, 0xd1, 0xdc, 0xba, 0x9f, + 0x46, 0x0a, 0xf9, 0xdf, 0xa2, 0xb5, 0x55, 0xb6, +}; +static const unsigned char kat739_addin1[] = { + 0xe2, 0xa5, 0x65, 0xb0, 0xf9, 0x70, 0xd2, 0xd0, 0x9d, 0x1b, 0x59, 0xa6, + 0x25, 0x9b, 0x86, 0x69, 0x12, 0xb2, 0x66, 0xb7, 0x6c, 0x3f, 0x09, 0xa7, + 0xb6, 0xf0, 0xdf, 0xae, 0xfd, 0x46, 0x07, 0x4d, +}; +static const unsigned char kat739_retbits[] = { + 0x27, 0xb4, 0xcf, 0x56, 0xe9, 0xd4, 0x1f, 0xe1, 0x1d, 0xc2, 0x93, 0x31, + 0x10, 0xcf, 0xcf, 0xd4, 0x02, 0xce, 0x6b, 0xc8, 0x74, 0x06, 0xcd, 0xe7, + 0xf0, 0xaa, 0xc0, 0xb2, 0xdf, 0x41, 0x0e, 0xec, 0x96, 0x66, 0xff, 0x52, + 0xe1, 0xa7, 0x4f, 0x32, 0x24, 0x74, 0x2a, 0xf5, 0x8d, 0xa2, 0x3b, 0xf5, + 0xea, 0xbb, 0x12, 0xd2, 0x89, 0xe4, 0x13, 0x47, 0xb6, 0xd2, 0x5e, 0xe0, + 0xd2, 0xb3, 0x72, 0x67, +}; +static const struct drbg_kat_no_reseed kat739_t = { + 3, kat739_entropyin, kat739_nonce, kat739_persstr, + kat739_addin0, kat739_addin1, kat739_retbits +}; +static const struct drbg_kat kat739 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat739_t +}; + +static const unsigned char kat740_entropyin[] = { + 0xbd, 0xfa, 0x5e, 0xbb, 0x4e, 0x3c, 0x31, 0xe6, 0x3a, 0x9f, 0xf1, 0x4c, + 0x3e, 0x80, 0xea, 0x35, 0xf8, 0x6e, 0xff, 0x02, 0x69, 0xf3, 0x38, 0x9f, + 0x9f, 0x2e, 0x9a, 0x51, 0x91, 0xb6, 0x06, 0x5e, +}; +static const unsigned char kat740_nonce[] = {0}; +static const unsigned char kat740_persstr[] = {0}; +static const unsigned char kat740_addin0[] = { + 0xde, 0x02, 0x56, 0x5f, 0x25, 0x64, 0xbe, 0xc8, 0x69, 0x80, 0x0a, 0x81, + 0x8b, 0xa7, 0x9b, 0xdd, 0x37, 0xc9, 0xb0, 0xab, 0x7f, 0xbb, 0x9c, 0xfe, + 0x95, 0x3e, 0xb1, 0x4f, 0x02, 0x18, 0xec, 0x21, +}; +static const unsigned char kat740_addin1[] = { + 0xab, 0x7b, 0x1c, 0xc8, 0xb8, 0x9b, 0xfe, 0x19, 0x02, 0x93, 0xfb, 0x80, + 0x3a, 0x63, 0x76, 0x75, 0x94, 0x0c, 0xf2, 0xc3, 0x86, 0x11, 0x96, 0x8f, + 0x77, 0x06, 0x21, 0xdf, 0xb0, 0xae, 0x35, 0xc2, +}; +static const unsigned char kat740_retbits[] = { + 0xdd, 0x63, 0x9a, 0xff, 0x72, 0x76, 0xf1, 0x9d, 0x80, 0xfc, 0xa5, 0x64, + 0x1f, 0xf9, 0x0a, 0x20, 0x26, 0xff, 0xce, 0x0f, 0x7e, 0x1b, 0xf4, 0xd5, + 0x03, 0x98, 0xb8, 0xae, 0xa0, 0x52, 0xe6, 0xb0, 0x71, 0x4f, 0x52, 0xa3, + 0xe7, 0x6c, 0x82, 0xa9, 0x27, 0x36, 0xd3, 0x07, 0xf1, 0xb7, 0x32, 0xd0, + 0x45, 0x70, 0x9d, 0x84, 0x55, 0xba, 0x89, 0xaa, 0xe1, 0x08, 0xda, 0xee, + 0x9f, 0x65, 0xcc, 0x4f, +}; +static const struct drbg_kat_no_reseed kat740_t = { + 4, kat740_entropyin, kat740_nonce, kat740_persstr, + kat740_addin0, kat740_addin1, kat740_retbits +}; +static const struct drbg_kat kat740 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat740_t +}; + +static const unsigned char kat741_entropyin[] = { + 0xc1, 0x6d, 0xc7, 0x08, 0x49, 0x11, 0x75, 0x95, 0xcf, 0xe2, 0x06, 0xc2, + 0x70, 0xc9, 0xa7, 0x53, 0x35, 0x5e, 0x1e, 0xf2, 0x3b, 0xeb, 0xd3, 0xc3, + 0x41, 0xe5, 0xb5, 0x64, 0xaa, 0xf7, 0x31, 0x56, +}; +static const unsigned char kat741_nonce[] = {0}; +static const unsigned char kat741_persstr[] = {0}; +static const unsigned char kat741_addin0[] = { + 0xed, 0xe7, 0x92, 0x7d, 0xd3, 0x74, 0xcf, 0x97, 0x9d, 0x00, 0x72, 0x40, + 0x29, 0x16, 0x9e, 0xcd, 0x94, 0x20, 0xa0, 0xe4, 0xa4, 0xf1, 0x23, 0x3a, + 0x46, 0x69, 0x70, 0x89, 0xf7, 0xea, 0xb4, 0x09, +}; +static const unsigned char kat741_addin1[] = { + 0x05, 0x06, 0x89, 0x41, 0x44, 0x05, 0x88, 0x25, 0x27, 0x4e, 0xc9, 0x22, + 0x90, 0x71, 0x4b, 0x33, 0x52, 0x82, 0x09, 0xbe, 0xea, 0x30, 0x10, 0xe2, + 0x2a, 0xe9, 0x11, 0x93, 0x81, 0xb8, 0xfe, 0x58, +}; +static const unsigned char kat741_retbits[] = { + 0xa2, 0xcc, 0x30, 0xe9, 0xbd, 0x52, 0x0d, 0x3f, 0xfc, 0x80, 0x63, 0x98, + 0xf8, 0x1f, 0xff, 0x95, 0xb6, 0x53, 0x77, 0x7a, 0xb0, 0x3a, 0xff, 0xdc, + 0x2c, 0xeb, 0x9a, 0x30, 0x57, 0x05, 0x65, 0x99, 0x5b, 0x42, 0x1a, 0x9f, + 0xaa, 0xf7, 0xa5, 0xbf, 0x83, 0xbf, 0x81, 0x29, 0x13, 0xf6, 0x8b, 0x95, + 0xad, 0xbb, 0x4c, 0x46, 0x31, 0x8b, 0x2a, 0x9f, 0x45, 0x7c, 0xd3, 0x27, + 0x8d, 0x4a, 0x53, 0x2b, +}; +static const struct drbg_kat_no_reseed kat741_t = { + 5, kat741_entropyin, kat741_nonce, kat741_persstr, + kat741_addin0, kat741_addin1, kat741_retbits +}; +static const struct drbg_kat kat741 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat741_t +}; + +static const unsigned char kat742_entropyin[] = { + 0xb2, 0x8c, 0xb5, 0xe2, 0x0f, 0xb7, 0x70, 0xbd, 0x1c, 0xd5, 0x74, 0x33, + 0xbd, 0x0b, 0x19, 0xeb, 0x05, 0xe3, 0x19, 0xf7, 0x7e, 0x2b, 0x46, 0x6d, + 0x83, 0x5a, 0xf8, 0x95, 0x52, 0x22, 0x25, 0x6b, +}; +static const unsigned char kat742_nonce[] = {0}; +static const unsigned char kat742_persstr[] = {0}; +static const unsigned char kat742_addin0[] = { + 0xff, 0xb0, 0xf8, 0x4a, 0x08, 0xa5, 0xa8, 0x44, 0x33, 0xc7, 0xac, 0x57, + 0x04, 0xad, 0xdb, 0xce, 0x0c, 0x29, 0x68, 0xb6, 0xf8, 0x3d, 0xf2, 0x95, + 0x49, 0xf4, 0x31, 0xca, 0x3d, 0xf3, 0xa3, 0x2c, +}; +static const unsigned char kat742_addin1[] = { + 0x89, 0x7a, 0x57, 0x0f, 0x51, 0x4a, 0x03, 0xfb, 0x60, 0xcd, 0x8a, 0xf5, + 0x83, 0x06, 0x57, 0x71, 0xc2, 0xfe, 0x93, 0xa6, 0xad, 0x51, 0x53, 0xe7, + 0x72, 0x7c, 0x79, 0x1a, 0x95, 0x23, 0x9d, 0xc7, +}; +static const unsigned char kat742_retbits[] = { + 0x9a, 0xe7, 0x0e, 0x0f, 0x02, 0xbf, 0xe7, 0x5c, 0xe8, 0x20, 0xeb, 0x8f, + 0xd1, 0xce, 0x18, 0xb4, 0x0e, 0x1f, 0x37, 0x19, 0x77, 0x3c, 0x97, 0x35, + 0xed, 0xb2, 0x93, 0x87, 0x08, 0xcf, 0xba, 0x2a, 0x80, 0x1a, 0xbc, 0x72, + 0xc4, 0x45, 0xab, 0x0c, 0x43, 0x6d, 0xf5, 0x31, 0x82, 0xdd, 0x90, 0xb4, + 0x6c, 0x1e, 0x35, 0x77, 0x87, 0xf1, 0x5c, 0xe1, 0x00, 0xe4, 0x3c, 0x3c, + 0xf7, 0xf9, 0xd5, 0xb5, +}; +static const struct drbg_kat_no_reseed kat742_t = { + 6, kat742_entropyin, kat742_nonce, kat742_persstr, + kat742_addin0, kat742_addin1, kat742_retbits +}; +static const struct drbg_kat kat742 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat742_t +}; + +static const unsigned char kat743_entropyin[] = { + 0xf9, 0x99, 0xe2, 0x25, 0xa5, 0x13, 0xb3, 0xa9, 0x7d, 0x72, 0xb8, 0x26, + 0x33, 0x85, 0xd5, 0xdc, 0x8b, 0xc9, 0x8f, 0x08, 0x8e, 0xce, 0x74, 0xd2, + 0x27, 0x4b, 0xc2, 0xf4, 0xe3, 0x43, 0xae, 0x62, +}; +static const unsigned char kat743_nonce[] = {0}; +static const unsigned char kat743_persstr[] = {0}; +static const unsigned char kat743_addin0[] = { + 0xfc, 0xe8, 0x52, 0x94, 0xca, 0xaf, 0x4c, 0xcd, 0x08, 0xc2, 0x7f, 0xe0, + 0x53, 0x4d, 0xc8, 0x82, 0xa3, 0xcc, 0x0f, 0xaa, 0x12, 0x3e, 0x7f, 0x5e, + 0x92, 0x43, 0x2e, 0x0c, 0xb1, 0x2f, 0x48, 0xc6, +}; +static const unsigned char kat743_addin1[] = { + 0xf7, 0xb3, 0x93, 0xd3, 0xea, 0xc0, 0xd2, 0xda, 0xa3, 0x53, 0x35, 0xa3, + 0xad, 0x89, 0xd6, 0x66, 0xcd, 0x94, 0xb8, 0x5c, 0x45, 0x77, 0x8f, 0xeb, + 0xd7, 0x5f, 0x32, 0xcb, 0xc5, 0x77, 0xde, 0x9d, +}; +static const unsigned char kat743_retbits[] = { + 0xe9, 0xf7, 0xbb, 0xa7, 0x9e, 0x22, 0x35, 0x01, 0x50, 0x99, 0x12, 0x57, + 0x5d, 0xba, 0x64, 0xf0, 0x83, 0x0c, 0xd3, 0x21, 0xcb, 0xb6, 0xf7, 0x5e, + 0xd2, 0xd3, 0x19, 0x60, 0x5d, 0x74, 0x4c, 0xda, 0xad, 0x7e, 0xb7, 0x40, + 0x9d, 0x40, 0x00, 0xe7, 0x67, 0x97, 0x6d, 0x2f, 0x0b, 0x1e, 0x66, 0x53, + 0xf9, 0x4b, 0x05, 0x33, 0xe4, 0xe6, 0xe7, 0x96, 0xdc, 0x6a, 0x22, 0x58, + 0x67, 0x44, 0x23, 0x14, +}; +static const struct drbg_kat_no_reseed kat743_t = { + 7, kat743_entropyin, kat743_nonce, kat743_persstr, + kat743_addin0, kat743_addin1, kat743_retbits +}; +static const struct drbg_kat kat743 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat743_t +}; + +static const unsigned char kat744_entropyin[] = { + 0x01, 0xb0, 0x9c, 0xbb, 0x44, 0xab, 0x39, 0xf7, 0xdb, 0xfd, 0x3e, 0x8b, + 0x4d, 0x17, 0x3b, 0x5b, 0x54, 0x33, 0x32, 0x5a, 0x34, 0x19, 0x36, 0x4f, + 0x45, 0x1b, 0x7f, 0xfb, 0x6e, 0xb3, 0x51, 0xdb, +}; +static const unsigned char kat744_nonce[] = {0}; +static const unsigned char kat744_persstr[] = {0}; +static const unsigned char kat744_addin0[] = { + 0xde, 0x95, 0xe4, 0x48, 0x4c, 0x98, 0x32, 0x4f, 0x3c, 0x77, 0x71, 0xf9, + 0x52, 0x5c, 0x11, 0xee, 0x26, 0x8e, 0x73, 0x95, 0xd4, 0xdd, 0x80, 0x46, + 0xac, 0x23, 0xae, 0x5d, 0xb8, 0xe3, 0x61, 0xcf, +}; +static const unsigned char kat744_addin1[] = { + 0x7d, 0x37, 0x6e, 0x9d, 0x31, 0x9a, 0x27, 0x53, 0x51, 0xfb, 0x27, 0x32, + 0x74, 0xb6, 0xfa, 0xd9, 0xe1, 0x42, 0x0e, 0xe6, 0xb1, 0x0e, 0xe1, 0xae, + 0x33, 0x06, 0x98, 0xa1, 0xd1, 0x5c, 0xd7, 0xfd, +}; +static const unsigned char kat744_retbits[] = { + 0x43, 0x15, 0xec, 0x46, 0xef, 0x98, 0x36, 0x76, 0xee, 0x61, 0xb6, 0x1d, + 0x36, 0x23, 0xc3, 0xb6, 0x73, 0x13, 0x89, 0xb1, 0x2c, 0x7d, 0x27, 0xc8, + 0x7d, 0x07, 0xcc, 0xa2, 0x2b, 0xd9, 0x1d, 0x53, 0xef, 0x80, 0x70, 0x5a, + 0xca, 0x37, 0x40, 0xaf, 0x2d, 0x5d, 0xd8, 0x45, 0x2e, 0xc0, 0xd0, 0x68, + 0x79, 0xf1, 0xbc, 0xef, 0x01, 0x32, 0xd7, 0x7d, 0x3c, 0x31, 0x1e, 0x1b, + 0x34, 0xa0, 0xdc, 0x5f, +}; +static const struct drbg_kat_no_reseed kat744_t = { + 8, kat744_entropyin, kat744_nonce, kat744_persstr, + kat744_addin0, kat744_addin1, kat744_retbits +}; +static const struct drbg_kat kat744 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat744_t +}; + +static const unsigned char kat745_entropyin[] = { + 0x6c, 0xfa, 0xca, 0x3c, 0x03, 0xb0, 0xd9, 0x8f, 0x69, 0xdf, 0xc9, 0xf2, + 0x85, 0x9f, 0x0d, 0xb1, 0x28, 0xd0, 0x55, 0x34, 0xa0, 0xe2, 0x7f, 0xe7, + 0x43, 0x3f, 0x6a, 0xfc, 0x2d, 0xde, 0xdb, 0x75, +}; +static const unsigned char kat745_nonce[] = {0}; +static const unsigned char kat745_persstr[] = {0}; +static const unsigned char kat745_addin0[] = { + 0x20, 0x3b, 0x29, 0xaa, 0x54, 0xfe, 0xe3, 0xae, 0x86, 0x68, 0x5c, 0x5c, + 0xdf, 0x03, 0x47, 0x77, 0x33, 0x01, 0xdb, 0x03, 0x04, 0x3a, 0x91, 0x0e, + 0xd0, 0x63, 0xbb, 0xd2, 0x49, 0x27, 0x18, 0x87, +}; +static const unsigned char kat745_addin1[] = { + 0x57, 0xde, 0xd4, 0xf3, 0xae, 0x76, 0x8b, 0x10, 0x0c, 0x36, 0x03, 0x5e, + 0xc5, 0xec, 0xbc, 0x09, 0x3e, 0x14, 0x1e, 0x5b, 0xfb, 0x87, 0x46, 0xd3, + 0x44, 0x55, 0x4c, 0xa6, 0x4b, 0xcc, 0xe0, 0x16, +}; +static const unsigned char kat745_retbits[] = { + 0x03, 0x99, 0x0f, 0x68, 0xca, 0x84, 0xdc, 0x13, 0xb9, 0x2e, 0x76, 0x64, + 0x7f, 0xa2, 0x4d, 0xba, 0x47, 0xf3, 0x6d, 0xa6, 0xf1, 0xdf, 0xa9, 0xc4, + 0x12, 0x4d, 0xe8, 0x67, 0x62, 0x70, 0x3c, 0xb3, 0x3d, 0xf7, 0x30, 0xce, + 0xe6, 0x8a, 0x6a, 0xcf, 0x8a, 0x4a, 0x42, 0x53, 0xa5, 0x75, 0xd8, 0x70, + 0x91, 0x11, 0xca, 0x6b, 0xae, 0x80, 0x50, 0x7c, 0x24, 0x8e, 0xbe, 0x4f, + 0xf5, 0x2c, 0xb9, 0x59, +}; +static const struct drbg_kat_no_reseed kat745_t = { + 9, kat745_entropyin, kat745_nonce, kat745_persstr, + kat745_addin0, kat745_addin1, kat745_retbits +}; +static const struct drbg_kat kat745 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat745_t +}; + +static const unsigned char kat746_entropyin[] = { + 0xb0, 0x96, 0x7a, 0x4a, 0xea, 0x35, 0x0f, 0x67, 0xe7, 0x08, 0x15, 0x37, + 0xa2, 0x51, 0x9f, 0x4f, 0x60, 0x8f, 0x31, 0x7e, 0xdd, 0x14, 0xa2, 0x4a, + 0x75, 0xba, 0x43, 0x69, 0xd2, 0x24, 0x78, 0x6d, +}; +static const unsigned char kat746_nonce[] = {0}; +static const unsigned char kat746_persstr[] = {0}; +static const unsigned char kat746_addin0[] = { + 0x8b, 0x48, 0xef, 0xfd, 0x79, 0x12, 0x38, 0xb8, 0x32, 0x9b, 0x9d, 0xb8, + 0x51, 0x76, 0x74, 0xf5, 0x9c, 0x60, 0xb2, 0xbb, 0x9a, 0xb0, 0x6e, 0xa1, + 0xc5, 0xd5, 0x4e, 0xe4, 0x71, 0xca, 0xaf, 0x89, +}; +static const unsigned char kat746_addin1[] = { + 0xc5, 0x5b, 0xbd, 0xc2, 0xaa, 0xea, 0x7d, 0xbd, 0x84, 0x0a, 0x72, 0x96, + 0xe2, 0x22, 0x95, 0xae, 0x2b, 0x95, 0xb0, 0xca, 0x61, 0x92, 0x23, 0x7c, + 0x12, 0x5d, 0xa1, 0x70, 0x7f, 0xe8, 0xcd, 0x0f, +}; +static const unsigned char kat746_retbits[] = { + 0x28, 0xf4, 0xfb, 0x5d, 0x85, 0xe5, 0xb8, 0xb1, 0x51, 0xce, 0xaa, 0xf3, + 0x3b, 0x2a, 0xcb, 0x02, 0xb0, 0xb2, 0x5d, 0x9c, 0xf2, 0x76, 0x05, 0x67, + 0xfb, 0x54, 0xb0, 0xb0, 0xf5, 0x60, 0xbc, 0x89, 0x26, 0x66, 0x3c, 0xec, + 0x6c, 0x84, 0xe3, 0x56, 0x0c, 0x46, 0x2e, 0x80, 0x25, 0x84, 0xba, 0x3a, + 0xd5, 0x8c, 0xac, 0xe1, 0xda, 0x96, 0x48, 0x99, 0xc5, 0x25, 0x92, 0xa9, + 0xac, 0x61, 0x97, 0x9c, +}; +static const struct drbg_kat_no_reseed kat746_t = { + 10, kat746_entropyin, kat746_nonce, kat746_persstr, + kat746_addin0, kat746_addin1, kat746_retbits +}; +static const struct drbg_kat kat746 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat746_t +}; + +static const unsigned char kat747_entropyin[] = { + 0xb3, 0x7c, 0xd1, 0xd2, 0x27, 0xf3, 0xc8, 0x17, 0xd2, 0x39, 0x82, 0x63, + 0x0b, 0x19, 0xaa, 0x8a, 0x81, 0xc0, 0x41, 0x5f, 0x60, 0x2d, 0x27, 0x11, + 0x12, 0xd4, 0xe3, 0x16, 0x89, 0xc8, 0xe9, 0x79, +}; +static const unsigned char kat747_nonce[] = {0}; +static const unsigned char kat747_persstr[] = {0}; +static const unsigned char kat747_addin0[] = { + 0x1f, 0x25, 0x51, 0x7a, 0xb6, 0x77, 0xbd, 0x8c, 0x4b, 0xf2, 0x04, 0xc4, + 0xf3, 0xfd, 0xe5, 0x9b, 0x6f, 0x33, 0x73, 0x88, 0x38, 0x5f, 0x28, 0xca, + 0x8d, 0xac, 0x2b, 0xce, 0x27, 0xe1, 0xdf, 0x67, +}; +static const unsigned char kat747_addin1[] = { + 0x0a, 0xca, 0xcc, 0x50, 0x53, 0x3c, 0x77, 0xbf, 0xe0, 0x9d, 0xe6, 0x85, + 0xb5, 0x16, 0xd1, 0xd9, 0xf2, 0xb0, 0x38, 0x74, 0x97, 0x51, 0x31, 0xac, + 0x85, 0x91, 0x8b, 0xce, 0xbe, 0xbb, 0xd5, 0x43, +}; +static const unsigned char kat747_retbits[] = { + 0x90, 0x31, 0xb7, 0x7d, 0xb5, 0xbe, 0x9b, 0x79, 0x15, 0x0d, 0x62, 0x34, + 0x74, 0xc2, 0x1b, 0xf5, 0x19, 0x7b, 0xa4, 0x14, 0x4d, 0x73, 0x7d, 0x26, + 0x1f, 0x77, 0xeb, 0x6e, 0xf0, 0x7b, 0x74, 0xc2, 0xd4, 0xb4, 0xed, 0x61, + 0x77, 0x48, 0x04, 0x23, 0x42, 0x1f, 0x19, 0x25, 0xd6, 0x1e, 0x97, 0x74, + 0x11, 0x55, 0xcb, 0xd5, 0xd3, 0xbf, 0xcf, 0x5e, 0x1f, 0x1d, 0x30, 0xf3, + 0xfc, 0xfd, 0x7b, 0xe9, +}; +static const struct drbg_kat_no_reseed kat747_t = { + 11, kat747_entropyin, kat747_nonce, kat747_persstr, + kat747_addin0, kat747_addin1, kat747_retbits +}; +static const struct drbg_kat kat747 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat747_t +}; + +static const unsigned char kat748_entropyin[] = { + 0xf3, 0x34, 0xc9, 0x70, 0xa2, 0x13, 0x75, 0x9a, 0x03, 0xce, 0xf1, 0x6d, + 0x3b, 0x3a, 0x44, 0x01, 0x43, 0x24, 0x2a, 0xf5, 0x7d, 0xad, 0xe4, 0x33, + 0x25, 0x88, 0x35, 0x1e, 0x24, 0x15, 0x2e, 0x60, +}; +static const unsigned char kat748_nonce[] = {0}; +static const unsigned char kat748_persstr[] = {0}; +static const unsigned char kat748_addin0[] = { + 0xff, 0x35, 0x67, 0x67, 0x4f, 0xe5, 0xc8, 0xdc, 0x44, 0xd4, 0xf9, 0x19, + 0x62, 0x46, 0x40, 0x2b, 0x9b, 0xf3, 0xe7, 0x1c, 0xd0, 0x0b, 0xdd, 0x1f, + 0x0d, 0xb0, 0x24, 0x23, 0x47, 0xea, 0x2a, 0x1c, +}; +static const unsigned char kat748_addin1[] = { + 0x7d, 0x4c, 0x24, 0x24, 0x38, 0x61, 0x7e, 0x5d, 0x26, 0x90, 0xa8, 0x77, + 0x6f, 0x3f, 0xd9, 0xcf, 0x27, 0xd3, 0x2a, 0x9c, 0x57, 0x44, 0xa9, 0xf2, + 0xbd, 0x5c, 0xf1, 0x16, 0xf6, 0x66, 0x64, 0xa0, +}; +static const unsigned char kat748_retbits[] = { + 0xd1, 0xb6, 0x31, 0xf7, 0xff, 0x94, 0x5c, 0xc7, 0xe2, 0x95, 0x4f, 0x68, + 0x95, 0xb4, 0x39, 0xe9, 0x9c, 0xa1, 0xff, 0xf7, 0x5e, 0xe1, 0x9c, 0x14, + 0xf2, 0x7f, 0x44, 0x46, 0xf6, 0x27, 0xc1, 0xe4, 0x5b, 0xc5, 0x63, 0x50, + 0xb4, 0x32, 0xf7, 0x18, 0xce, 0x83, 0xf0, 0x9c, 0xa4, 0x93, 0x95, 0x9e, + 0xcd, 0xbc, 0xa3, 0xdc, 0x24, 0xb3, 0xef, 0x96, 0xe0, 0x1f, 0xc4, 0xda, + 0x22, 0x9d, 0x22, 0xdf, +}; +static const struct drbg_kat_no_reseed kat748_t = { + 12, kat748_entropyin, kat748_nonce, kat748_persstr, + kat748_addin0, kat748_addin1, kat748_retbits +}; +static const struct drbg_kat kat748 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat748_t +}; + +static const unsigned char kat749_entropyin[] = { + 0x72, 0x7c, 0xfb, 0x51, 0x10, 0x0a, 0x98, 0xcc, 0x70, 0x82, 0xb1, 0x81, + 0xdb, 0xa3, 0xfd, 0xad, 0x2d, 0xd1, 0x97, 0xbc, 0x00, 0x65, 0xd9, 0x70, + 0x47, 0x66, 0x79, 0xa4, 0x0a, 0xc1, 0x97, 0x66, +}; +static const unsigned char kat749_nonce[] = {0}; +static const unsigned char kat749_persstr[] = {0}; +static const unsigned char kat749_addin0[] = { + 0x03, 0x92, 0x02, 0x23, 0x90, 0x0c, 0xb0, 0xab, 0xaa, 0x95, 0xfd, 0xb8, + 0xeb, 0x36, 0x9f, 0xf6, 0x63, 0x99, 0xcf, 0x65, 0x7e, 0x71, 0xf2, 0xfc, + 0x9e, 0x4b, 0x8d, 0x46, 0x82, 0x78, 0x1a, 0xf5, +}; +static const unsigned char kat749_addin1[] = { + 0x19, 0x82, 0x46, 0xd1, 0xfa, 0x95, 0xff, 0x48, 0x0b, 0xe0, 0xb8, 0x4f, + 0x2a, 0x10, 0x7b, 0xaa, 0xdf, 0xaf, 0x73, 0x33, 0x98, 0x0a, 0xb6, 0x28, + 0xc7, 0x82, 0x32, 0xcc, 0xd8, 0x99, 0xdc, 0x4b, +}; +static const unsigned char kat749_retbits[] = { + 0x86, 0x25, 0xa8, 0x0c, 0xbe, 0xfd, 0xf7, 0xb8, 0x22, 0xe8, 0x2a, 0x1e, + 0x71, 0x10, 0x4d, 0x44, 0x9d, 0x8c, 0xef, 0x6a, 0x40, 0x0f, 0xa7, 0x69, + 0x70, 0x1d, 0x1c, 0xf6, 0x0f, 0x5f, 0x1a, 0x14, 0x7d, 0x94, 0x65, 0xf7, + 0xf3, 0xcd, 0xc7, 0xd2, 0xf0, 0x60, 0x6f, 0xe4, 0x59, 0xe4, 0x31, 0xfc, + 0xc3, 0x6d, 0xf4, 0x1a, 0x51, 0xe8, 0x76, 0x50, 0xf5, 0x85, 0xcb, 0x62, + 0x6a, 0xc3, 0xe2, 0x20, +}; +static const struct drbg_kat_no_reseed kat749_t = { + 13, kat749_entropyin, kat749_nonce, kat749_persstr, + kat749_addin0, kat749_addin1, kat749_retbits +}; +static const struct drbg_kat kat749 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat749_t +}; + +static const unsigned char kat750_entropyin[] = { + 0x02, 0xfb, 0xc1, 0x08, 0x1c, 0x13, 0x13, 0x4d, 0x2d, 0x68, 0xea, 0x58, + 0x6e, 0xcf, 0x4a, 0x59, 0x8c, 0xaf, 0x7b, 0xf4, 0x2e, 0xc0, 0xa3, 0xcd, + 0x30, 0x01, 0x8e, 0x01, 0xc2, 0x64, 0xc8, 0x4b, +}; +static const unsigned char kat750_nonce[] = {0}; +static const unsigned char kat750_persstr[] = {0}; +static const unsigned char kat750_addin0[] = { + 0x17, 0x0a, 0x92, 0xd0, 0x93, 0xd3, 0x0f, 0x93, 0x9b, 0x3e, 0xac, 0x62, + 0x8a, 0x18, 0xba, 0xb5, 0xfa, 0xf8, 0x6b, 0x3a, 0x5d, 0x91, 0xf3, 0x0c, + 0xfd, 0x0b, 0xea, 0xfd, 0xec, 0x41, 0x19, 0x1c, +}; +static const unsigned char kat750_addin1[] = { + 0xfd, 0x03, 0x49, 0xaf, 0x01, 0x50, 0x37, 0xcd, 0xbb, 0x52, 0x98, 0x31, + 0x55, 0xc8, 0x9f, 0xc5, 0x9f, 0x37, 0xd5, 0x12, 0x54, 0x35, 0x59, 0xc3, + 0xee, 0x65, 0x89, 0xf7, 0xb9, 0x38, 0x61, 0xf6, +}; +static const unsigned char kat750_retbits[] = { + 0x02, 0x73, 0xa1, 0x31, 0x7f, 0x3d, 0xd3, 0x68, 0x77, 0xa5, 0x05, 0xca, + 0x2e, 0x44, 0x04, 0x45, 0x09, 0x4d, 0x3c, 0x70, 0x2c, 0x4f, 0xf5, 0xf4, + 0xa0, 0x7d, 0xaa, 0x3f, 0x81, 0x0d, 0x8d, 0x7a, 0x4f, 0x4b, 0x9c, 0x54, + 0xdc, 0xe1, 0x69, 0xa1, 0x30, 0x7f, 0xbd, 0xc5, 0xd1, 0x97, 0xe6, 0xa3, + 0xed, 0xc3, 0xea, 0x73, 0x7b, 0xed, 0xc1, 0xc9, 0x85, 0x7a, 0xa0, 0xe9, + 0xf8, 0x79, 0x43, 0xe2, +}; +static const struct drbg_kat_no_reseed kat750_t = { + 14, kat750_entropyin, kat750_nonce, kat750_persstr, + kat750_addin0, kat750_addin1, kat750_retbits +}; +static const struct drbg_kat kat750 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat750_t +}; + +static const unsigned char kat751_entropyin[] = { + 0xce, 0xe2, 0x3d, 0xe8, 0x6a, 0x69, 0xc7, 0xef, 0x57, 0xf6, 0xe1, 0xe1, + 0x2b, 0xd1, 0x6e, 0x35, 0xe5, 0x16, 0x24, 0x22, 0x6f, 0xa1, 0x95, 0x97, + 0xbf, 0x93, 0xec, 0x47, 0x6a, 0x44, 0xb0, 0xf2, +}; +static const unsigned char kat751_nonce[] = {0}; +static const unsigned char kat751_persstr[] = { + 0xa2, 0xef, 0x16, 0xf2, 0x26, 0xea, 0x32, 0x4f, 0x23, 0xab, 0xd5, 0x9d, + 0x5e, 0x3c, 0x66, 0x05, 0x61, 0xc2, 0x5e, 0x73, 0x63, 0x8f, 0xe2, 0x1c, + 0x87, 0x56, 0x6e, 0x86, 0xa9, 0xe0, 0x4c, 0x3e, +}; +static const unsigned char kat751_addin0[] = {0}; +static const unsigned char kat751_addin1[] = {0}; +static const unsigned char kat751_retbits[] = { + 0x2a, 0x76, 0xd7, 0x1b, 0x32, 0x9f, 0x44, 0x9c, 0x98, 0xdc, 0x08, 0xff, + 0xf1, 0xd2, 0x05, 0xa2, 0xfb, 0xd9, 0xe4, 0xad, 0xe1, 0x20, 0xc7, 0x61, + 0x1c, 0x22, 0x5c, 0x98, 0x4e, 0xac, 0x85, 0x31, 0x28, 0x8d, 0xd3, 0x04, + 0x9f, 0x3d, 0xc3, 0xbb, 0x36, 0x71, 0x50, 0x1a, 0xb8, 0xfb, 0xf9, 0xad, + 0x49, 0xc8, 0x6c, 0xce, 0x30, 0x76, 0x53, 0xbd, 0x8c, 0xaf, 0x29, 0xcb, + 0x0c, 0xf0, 0x77, 0x64, +}; +static const struct drbg_kat_no_reseed kat751_t = { + 0, kat751_entropyin, kat751_nonce, kat751_persstr, + kat751_addin0, kat751_addin1, kat751_retbits +}; +static const struct drbg_kat kat751 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat751_t +}; + +static const unsigned char kat752_entropyin[] = { + 0xb0, 0x9e, 0xb4, 0xa8, 0x2a, 0x39, 0x06, 0x6e, 0xc9, 0x45, 0xbb, 0x7c, + 0x6a, 0xef, 0x6a, 0x06, 0x82, 0xa6, 0x2c, 0x3e, 0x67, 0x4b, 0xd9, 0x00, + 0x29, 0x7d, 0x42, 0x71, 0xa5, 0xf2, 0x5b, 0x49, +}; +static const unsigned char kat752_nonce[] = {0}; +static const unsigned char kat752_persstr[] = { + 0xa3, 0xb7, 0x68, 0xad, 0xcf, 0xe7, 0x6d, 0x61, 0xc9, 0x72, 0xd9, 0x00, + 0xda, 0x8d, 0xff, 0xee, 0xb2, 0xa4, 0x2e, 0x74, 0x02, 0x47, 0xaa, 0x71, + 0x9e, 0xd1, 0xc9, 0x24, 0xd2, 0xd1, 0x0b, 0xd4, +}; +static const unsigned char kat752_addin0[] = {0}; +static const unsigned char kat752_addin1[] = {0}; +static const unsigned char kat752_retbits[] = { + 0x5a, 0x1c, 0x26, 0x80, 0x3f, 0x3f, 0xfd, 0x4d, 0xaf, 0x32, 0x04, 0x2f, + 0xdc, 0xc3, 0x2c, 0x38, 0x12, 0xbb, 0x5e, 0xf1, 0x3b, 0xc2, 0x08, 0xce, + 0xf8, 0x2e, 0xa0, 0x47, 0xd2, 0x89, 0x0a, 0x6f, 0x5d, 0xce, 0xcf, 0x32, + 0xbc, 0xc3, 0x2a, 0x25, 0x85, 0x77, 0x5a, 0xc5, 0xe1, 0xff, 0xaa, 0x8d, + 0xe0, 0x06, 0x64, 0xc5, 0x4f, 0xe0, 0x0a, 0x76, 0x74, 0xb9, 0x85, 0x61, + 0x9e, 0x95, 0x3c, 0x3a, +}; +static const struct drbg_kat_no_reseed kat752_t = { + 1, kat752_entropyin, kat752_nonce, kat752_persstr, + kat752_addin0, kat752_addin1, kat752_retbits +}; +static const struct drbg_kat kat752 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat752_t +}; + +static const unsigned char kat753_entropyin[] = { + 0x0b, 0xbc, 0x89, 0x8f, 0x8d, 0xaf, 0x3f, 0x12, 0xfc, 0x00, 0x9c, 0x84, + 0x6f, 0xe2, 0xce, 0xa2, 0x2f, 0x68, 0x3a, 0x43, 0x2e, 0xea, 0x29, 0x72, + 0x57, 0x31, 0x2d, 0x5a, 0x44, 0xba, 0xc1, 0x31, +}; +static const unsigned char kat753_nonce[] = {0}; +static const unsigned char kat753_persstr[] = { + 0x8d, 0x34, 0xbe, 0x9d, 0x81, 0x10, 0xb8, 0x4b, 0x02, 0xa6, 0x05, 0x08, + 0xde, 0xae, 0x77, 0x3c, 0x1a, 0x80, 0x8f, 0x4e, 0x2a, 0x0e, 0xc8, 0x17, + 0x47, 0xae, 0x2e, 0xc9, 0x23, 0xfe, 0x99, 0xa9, +}; +static const unsigned char kat753_addin0[] = {0}; +static const unsigned char kat753_addin1[] = {0}; +static const unsigned char kat753_retbits[] = { + 0xda, 0x49, 0xe2, 0x4a, 0x6c, 0xb1, 0xd9, 0xe5, 0x1b, 0x98, 0xea, 0x61, + 0x03, 0x62, 0x7d, 0x9a, 0xd0, 0x35, 0x77, 0x0b, 0x7b, 0xdc, 0x76, 0x06, + 0x06, 0xe2, 0xb5, 0xf3, 0x5a, 0xfd, 0x13, 0xb7, 0xa6, 0x1a, 0x4a, 0x18, + 0xfa, 0xc2, 0x52, 0x58, 0x98, 0x5f, 0xa1, 0xfb, 0x2b, 0x88, 0xa7, 0xcc, + 0x17, 0x27, 0x8b, 0x05, 0x39, 0xd7, 0xcf, 0x74, 0xf9, 0x40, 0xf0, 0x08, + 0xee, 0x2c, 0xf4, 0xcd, +}; +static const struct drbg_kat_no_reseed kat753_t = { + 2, kat753_entropyin, kat753_nonce, kat753_persstr, + kat753_addin0, kat753_addin1, kat753_retbits +}; +static const struct drbg_kat kat753 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat753_t +}; + +static const unsigned char kat754_entropyin[] = { + 0x3e, 0xa1, 0xf3, 0xfb, 0x15, 0x36, 0x36, 0xc3, 0x39, 0x82, 0x46, 0x4f, + 0x0e, 0x5b, 0x0d, 0xae, 0xba, 0x59, 0xc3, 0xf1, 0xee, 0x91, 0xa6, 0x12, + 0xc4, 0xf6, 0xa9, 0xdc, 0xfc, 0xd0, 0xa9, 0x78, +}; +static const unsigned char kat754_nonce[] = {0}; +static const unsigned char kat754_persstr[] = { + 0xea, 0x86, 0x71, 0xfc, 0x9c, 0x02, 0x58, 0x4d, 0x69, 0xaf, 0x91, 0xde, + 0x2a, 0xda, 0xce, 0xc1, 0x40, 0x8d, 0x91, 0xd5, 0x12, 0x71, 0x89, 0x45, + 0xed, 0x1e, 0x7d, 0xc0, 0xb6, 0x20, 0xb3, 0x23, +}; +static const unsigned char kat754_addin0[] = {0}; +static const unsigned char kat754_addin1[] = {0}; +static const unsigned char kat754_retbits[] = { + 0x24, 0x29, 0xe7, 0xd8, 0x17, 0xcf, 0xd4, 0xf8, 0x50, 0x09, 0x48, 0xd2, + 0xec, 0x2d, 0xec, 0x02, 0xb7, 0xd0, 0x35, 0xb4, 0xbb, 0x98, 0x61, 0x44, + 0xbb, 0x91, 0x8a, 0x31, 0xbf, 0xd2, 0x26, 0x9e, 0x69, 0x07, 0xc3, 0x4a, + 0xc8, 0xbe, 0xab, 0x69, 0x50, 0x88, 0x69, 0xa4, 0xf0, 0x4b, 0xc3, 0xc2, + 0x3c, 0xcf, 0xba, 0xe5, 0xd5, 0x9e, 0xab, 0x85, 0x7e, 0xce, 0x00, 0x0d, + 0x55, 0x4b, 0x27, 0x3a, +}; +static const struct drbg_kat_no_reseed kat754_t = { + 3, kat754_entropyin, kat754_nonce, kat754_persstr, + kat754_addin0, kat754_addin1, kat754_retbits +}; +static const struct drbg_kat kat754 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat754_t +}; + +static const unsigned char kat755_entropyin[] = { + 0xb6, 0xb2, 0x03, 0x3e, 0x38, 0x2d, 0xec, 0xd2, 0x1e, 0x4e, 0xab, 0xd8, + 0xf1, 0x17, 0x77, 0x61, 0xd0, 0x6a, 0x12, 0xba, 0xe1, 0xcf, 0xed, 0x00, + 0x59, 0xb7, 0xe1, 0x6b, 0xd9, 0xba, 0xb8, 0xd7, +}; +static const unsigned char kat755_nonce[] = {0}; +static const unsigned char kat755_persstr[] = { + 0xc9, 0x9a, 0x49, 0x13, 0x25, 0x43, 0xfc, 0xe4, 0x9b, 0x80, 0x4e, 0x9f, + 0x41, 0x7d, 0x22, 0xe4, 0x9c, 0x46, 0x0b, 0xc4, 0xe6, 0x0a, 0x6d, 0x36, + 0x70, 0x1f, 0xea, 0x56, 0x1b, 0x93, 0x20, 0x3d, +}; +static const unsigned char kat755_addin0[] = {0}; +static const unsigned char kat755_addin1[] = {0}; +static const unsigned char kat755_retbits[] = { + 0x63, 0x62, 0x66, 0x08, 0xb4, 0x46, 0xc7, 0xd0, 0x22, 0x12, 0x20, 0x9d, + 0x0a, 0x38, 0x88, 0xe4, 0x05, 0x34, 0x86, 0x4d, 0x8f, 0x5c, 0xd2, 0x8a, + 0xaf, 0xf0, 0x95, 0x05, 0xee, 0x5e, 0x89, 0x47, 0x51, 0xe5, 0xcb, 0x84, + 0x67, 0xa5, 0xd8, 0x5d, 0x87, 0xa6, 0x75, 0xb7, 0x85, 0x27, 0x24, 0xde, + 0xb0, 0xd1, 0x20, 0x38, 0x03, 0x54, 0x00, 0xc3, 0x40, 0x5f, 0xaf, 0xb1, + 0xa4, 0x7f, 0x88, 0xc8, +}; +static const struct drbg_kat_no_reseed kat755_t = { + 4, kat755_entropyin, kat755_nonce, kat755_persstr, + kat755_addin0, kat755_addin1, kat755_retbits +}; +static const struct drbg_kat kat755 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat755_t +}; + +static const unsigned char kat756_entropyin[] = { + 0xac, 0xc4, 0x65, 0xd1, 0xbf, 0x94, 0xcc, 0xde, 0xec, 0x06, 0xc7, 0x4c, + 0x81, 0x2d, 0xb3, 0xa9, 0x93, 0xc4, 0x08, 0xb5, 0xc2, 0xef, 0x7e, 0xbe, + 0x9b, 0xde, 0xb6, 0xa1, 0xa5, 0x19, 0x76, 0xa7, +}; +static const unsigned char kat756_nonce[] = {0}; +static const unsigned char kat756_persstr[] = { + 0x77, 0x27, 0x8d, 0x47, 0xa1, 0x69, 0xc5, 0x59, 0x51, 0x8d, 0x46, 0xff, + 0xb2, 0x3a, 0xa5, 0x94, 0xef, 0xda, 0xeb, 0xb0, 0x67, 0xc4, 0x8d, 0x4a, + 0x39, 0x2f, 0x60, 0xb9, 0x4c, 0xc1, 0x5b, 0x36, +}; +static const unsigned char kat756_addin0[] = {0}; +static const unsigned char kat756_addin1[] = {0}; +static const unsigned char kat756_retbits[] = { + 0xe0, 0xe6, 0xe4, 0x17, 0xde, 0x8f, 0xc5, 0xd2, 0x12, 0xbd, 0xda, 0x4c, + 0x02, 0x6a, 0x13, 0xd6, 0xea, 0xe4, 0x02, 0x87, 0x4d, 0x62, 0xc3, 0x05, + 0x77, 0xee, 0x4c, 0x34, 0x45, 0xac, 0xe8, 0x54, 0x79, 0xcb, 0xc3, 0xb5, + 0x5b, 0xbb, 0xe1, 0x57, 0x3c, 0x13, 0xf9, 0xb0, 0x24, 0x2d, 0x7e, 0x3f, + 0x6e, 0x7e, 0x91, 0xd9, 0x32, 0xb3, 0xd5, 0xa6, 0xdc, 0xa8, 0xdf, 0x43, + 0xc1, 0x88, 0xae, 0x5e, +}; +static const struct drbg_kat_no_reseed kat756_t = { + 5, kat756_entropyin, kat756_nonce, kat756_persstr, + kat756_addin0, kat756_addin1, kat756_retbits +}; +static const struct drbg_kat kat756 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat756_t +}; + +static const unsigned char kat757_entropyin[] = { + 0x14, 0xb3, 0x34, 0x15, 0xd2, 0x32, 0x1f, 0xbb, 0x10, 0xa7, 0x68, 0xce, + 0xd7, 0x12, 0xc8, 0x99, 0x9f, 0xf2, 0xf1, 0x9b, 0x63, 0x26, 0x4a, 0x81, + 0xad, 0xc2, 0xfd, 0xc1, 0x63, 0x70, 0xb1, 0x85, +}; +static const unsigned char kat757_nonce[] = {0}; +static const unsigned char kat757_persstr[] = { + 0x02, 0x9b, 0x48, 0x80, 0x52, 0x85, 0x34, 0x9c, 0x29, 0x2a, 0x99, 0xee, + 0x68, 0xfc, 0xef, 0xda, 0x1f, 0x61, 0xdd, 0x60, 0xa0, 0x9f, 0x46, 0x16, + 0xcb, 0x2e, 0xfe, 0x4f, 0x8b, 0x14, 0x00, 0x56, +}; +static const unsigned char kat757_addin0[] = {0}; +static const unsigned char kat757_addin1[] = {0}; +static const unsigned char kat757_retbits[] = { + 0x8a, 0x69, 0xfe, 0xb2, 0x6b, 0xe0, 0x25, 0xa3, 0x84, 0x9b, 0xb0, 0xb6, + 0x09, 0x59, 0x71, 0x7d, 0xaa, 0x59, 0xc8, 0x89, 0xc3, 0x83, 0x59, 0x3d, + 0x1f, 0x8d, 0xeb, 0xf5, 0x80, 0x51, 0xeb, 0x46, 0x3d, 0x07, 0xc6, 0x59, + 0xcf, 0xbe, 0x47, 0xe9, 0x42, 0x24, 0xba, 0x18, 0x83, 0x3b, 0x71, 0xd9, + 0x59, 0x05, 0xe0, 0xcd, 0xe7, 0x85, 0x36, 0x4a, 0x87, 0x70, 0x6e, 0x31, + 0x29, 0x7f, 0xb3, 0x23, +}; +static const struct drbg_kat_no_reseed kat757_t = { + 6, kat757_entropyin, kat757_nonce, kat757_persstr, + kat757_addin0, kat757_addin1, kat757_retbits +}; +static const struct drbg_kat kat757 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat757_t +}; + +static const unsigned char kat758_entropyin[] = { + 0x5a, 0x83, 0xaf, 0x23, 0xca, 0xfb, 0x30, 0xe3, 0xa1, 0x8e, 0x28, 0x65, + 0x1b, 0x3c, 0x1b, 0xd0, 0x18, 0x13, 0xc4, 0x42, 0x16, 0xe7, 0xe4, 0x4b, + 0x79, 0x0d, 0x66, 0x64, 0xe2, 0xc3, 0x83, 0x9a, +}; +static const unsigned char kat758_nonce[] = {0}; +static const unsigned char kat758_persstr[] = { + 0xd0, 0xf1, 0x08, 0xae, 0x7c, 0x65, 0xe1, 0x6c, 0xfa, 0x13, 0xe5, 0x58, + 0x22, 0x04, 0xeb, 0x8c, 0xd6, 0xeb, 0xb0, 0x8f, 0x1f, 0x6a, 0x5d, 0x47, + 0x6c, 0x27, 0x52, 0x47, 0xc1, 0xa8, 0x3e, 0xb5, +}; +static const unsigned char kat758_addin0[] = {0}; +static const unsigned char kat758_addin1[] = {0}; +static const unsigned char kat758_retbits[] = { + 0xe6, 0x43, 0x97, 0xf0, 0xee, 0xa0, 0xd3, 0x3d, 0x97, 0x15, 0xbc, 0xef, + 0x2e, 0xe7, 0xee, 0xc2, 0x2a, 0x86, 0xe8, 0xd0, 0x66, 0xa2, 0x5e, 0x44, + 0x70, 0x6d, 0xc6, 0x88, 0xc4, 0x99, 0xbd, 0x7e, 0xf0, 0x81, 0x72, 0xc8, + 0xcf, 0x36, 0xe3, 0xbd, 0xdf, 0x79, 0xf2, 0xbe, 0xc1, 0x36, 0xa0, 0x1a, + 0xad, 0x84, 0x49, 0x30, 0xe4, 0x8a, 0x16, 0xfe, 0x18, 0x00, 0xd6, 0x9f, + 0xb0, 0xf4, 0xe1, 0x63, +}; +static const struct drbg_kat_no_reseed kat758_t = { + 7, kat758_entropyin, kat758_nonce, kat758_persstr, + kat758_addin0, kat758_addin1, kat758_retbits +}; +static const struct drbg_kat kat758 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat758_t +}; + +static const unsigned char kat759_entropyin[] = { + 0x1d, 0xc2, 0x4d, 0xd9, 0xd6, 0xa4, 0x05, 0xa0, 0x07, 0xbd, 0x08, 0x2c, + 0xfb, 0xdb, 0xd8, 0x63, 0x18, 0x5e, 0x07, 0x2b, 0x67, 0xd6, 0x63, 0xb1, + 0x4d, 0x7e, 0x8f, 0x16, 0x90, 0x0c, 0xfc, 0xe6, +}; +static const unsigned char kat759_nonce[] = {0}; +static const unsigned char kat759_persstr[] = { + 0x0e, 0xca, 0x85, 0xdd, 0xcb, 0x6f, 0x38, 0xff, 0x36, 0x83, 0x96, 0x8e, + 0xf9, 0x8b, 0x52, 0x40, 0x84, 0x28, 0xdc, 0xae, 0x2e, 0xc3, 0xb0, 0xfa, + 0x4c, 0x68, 0x90, 0x6c, 0x1b, 0x64, 0x81, 0xcd, +}; +static const unsigned char kat759_addin0[] = {0}; +static const unsigned char kat759_addin1[] = {0}; +static const unsigned char kat759_retbits[] = { + 0x15, 0x69, 0x38, 0x56, 0x6f, 0xc2, 0x5d, 0x49, 0x3c, 0x1c, 0x60, 0xd8, + 0x92, 0x58, 0x19, 0xa6, 0xe5, 0x9a, 0x24, 0x79, 0xd7, 0x5f, 0x3e, 0xff, + 0xf1, 0x6d, 0x46, 0xaa, 0xda, 0x68, 0x40, 0x31, 0x40, 0x40, 0x79, 0x55, + 0xc1, 0xfd, 0x9d, 0x2a, 0x89, 0x0b, 0xcf, 0x67, 0xac, 0x9b, 0x3b, 0x82, + 0xd1, 0xd6, 0xcf, 0x78, 0x8f, 0xd8, 0x63, 0xda, 0x3d, 0x41, 0xac, 0x6e, + 0x34, 0xf2, 0x17, 0xa0, +}; +static const struct drbg_kat_no_reseed kat759_t = { + 8, kat759_entropyin, kat759_nonce, kat759_persstr, + kat759_addin0, kat759_addin1, kat759_retbits +}; +static const struct drbg_kat kat759 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat759_t +}; + +static const unsigned char kat760_entropyin[] = { + 0xec, 0xb7, 0xe6, 0x1a, 0x47, 0x92, 0xa2, 0x11, 0x52, 0x13, 0xd1, 0x41, + 0xd2, 0x07, 0x10, 0xe8, 0xa3, 0x21, 0x2d, 0x78, 0x47, 0xdd, 0x53, 0xdf, + 0xa5, 0xd4, 0xd7, 0x77, 0x7d, 0x10, 0xd9, 0x7e, +}; +static const unsigned char kat760_nonce[] = {0}; +static const unsigned char kat760_persstr[] = { + 0xbf, 0x09, 0x23, 0x5d, 0x30, 0xcd, 0x69, 0xad, 0xa2, 0x85, 0x94, 0x8f, + 0xe1, 0xbe, 0x2e, 0x0c, 0x4e, 0x14, 0x5a, 0xc8, 0x48, 0x5d, 0x12, 0xca, + 0x7b, 0x82, 0x39, 0x13, 0x6d, 0xa1, 0xc6, 0x38, +}; +static const unsigned char kat760_addin0[] = {0}; +static const unsigned char kat760_addin1[] = {0}; +static const unsigned char kat760_retbits[] = { + 0x86, 0x8d, 0xb5, 0x83, 0x2b, 0x2e, 0x9c, 0x3d, 0x2c, 0x97, 0x94, 0xb1, + 0x74, 0xb3, 0x28, 0xed, 0x2c, 0xc8, 0x6e, 0x41, 0x01, 0x78, 0x63, 0xea, + 0xbc, 0x4a, 0x7c, 0x09, 0x6a, 0x48, 0x7b, 0xfe, 0x4d, 0x67, 0xcc, 0xf9, + 0x3a, 0x5e, 0x2c, 0x67, 0xd8, 0x8d, 0xbd, 0x8f, 0x14, 0x19, 0xb2, 0xa9, + 0xf1, 0x29, 0x3e, 0x7a, 0x70, 0xe8, 0xe8, 0xfe, 0x93, 0xe2, 0x15, 0x64, + 0x96, 0xb0, 0xfa, 0x54, +}; +static const struct drbg_kat_no_reseed kat760_t = { + 9, kat760_entropyin, kat760_nonce, kat760_persstr, + kat760_addin0, kat760_addin1, kat760_retbits +}; +static const struct drbg_kat kat760 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat760_t +}; + +static const unsigned char kat761_entropyin[] = { + 0xe5, 0x57, 0x27, 0xc5, 0x90, 0xec, 0x3a, 0xc1, 0x08, 0xf4, 0xe5, 0xfe, + 0xc3, 0x9a, 0x2d, 0x34, 0xbf, 0x89, 0xae, 0xe4, 0xe2, 0x15, 0xdc, 0xc9, + 0x70, 0xdb, 0x8a, 0xe8, 0xf6, 0xa0, 0xe4, 0xa8, +}; +static const unsigned char kat761_nonce[] = {0}; +static const unsigned char kat761_persstr[] = { + 0xad, 0xe3, 0xd2, 0x8a, 0x8e, 0x43, 0xaa, 0xb8, 0xfd, 0x31, 0xde, 0xc8, + 0xbd, 0xbe, 0x5c, 0x41, 0xc0, 0xb3, 0xf7, 0xf6, 0x9a, 0x2d, 0x0a, 0xad, + 0xa5, 0x60, 0x8a, 0xb0, 0xe5, 0x7c, 0x8b, 0xb0, +}; +static const unsigned char kat761_addin0[] = {0}; +static const unsigned char kat761_addin1[] = {0}; +static const unsigned char kat761_retbits[] = { + 0x19, 0x87, 0x42, 0x29, 0x9f, 0xee, 0xcf, 0x60, 0x83, 0xe3, 0xa0, 0xbe, + 0xf7, 0x5a, 0xc2, 0xb9, 0x3d, 0xe2, 0xde, 0xfa, 0x65, 0x25, 0x88, 0x3a, + 0x55, 0xf8, 0x82, 0x47, 0xdc, 0x69, 0x02, 0x27, 0x9f, 0x79, 0x24, 0x02, + 0xfa, 0xff, 0xe4, 0xa8, 0x12, 0x13, 0xe4, 0x0f, 0xac, 0xb8, 0x73, 0xcd, + 0x49, 0x9e, 0x4b, 0x0f, 0x7f, 0x0f, 0xf5, 0x92, 0xbc, 0x06, 0x69, 0x9d, + 0xb7, 0x73, 0xb8, 0x99, +}; +static const struct drbg_kat_no_reseed kat761_t = { + 10, kat761_entropyin, kat761_nonce, kat761_persstr, + kat761_addin0, kat761_addin1, kat761_retbits +}; +static const struct drbg_kat kat761 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat761_t +}; + +static const unsigned char kat762_entropyin[] = { + 0xc3, 0x80, 0xda, 0xfd, 0x84, 0xf2, 0x78, 0x2b, 0x75, 0x39, 0xca, 0x1c, + 0x3a, 0xd9, 0x71, 0x5f, 0xe6, 0xb1, 0x80, 0x53, 0x10, 0xa5, 0x78, 0xaf, + 0xcf, 0xfc, 0x92, 0x10, 0xac, 0x12, 0x7d, 0xed, +}; +static const unsigned char kat762_nonce[] = {0}; +static const unsigned char kat762_persstr[] = { + 0xb2, 0x98, 0x53, 0x3d, 0x9c, 0x74, 0xa0, 0xd9, 0xb9, 0xaa, 0x0d, 0x82, + 0xed, 0xc4, 0x34, 0x00, 0x2b, 0x4d, 0x13, 0x72, 0x31, 0x8c, 0x28, 0x65, + 0xb7, 0x70, 0x0a, 0x5b, 0x7e, 0xbe, 0xab, 0xf0, +}; +static const unsigned char kat762_addin0[] = {0}; +static const unsigned char kat762_addin1[] = {0}; +static const unsigned char kat762_retbits[] = { + 0x9a, 0xec, 0x7a, 0x5b, 0xa3, 0xe0, 0x91, 0xe6, 0xa6, 0xc9, 0x9e, 0x04, + 0x39, 0x5a, 0xf2, 0xab, 0x2e, 0xea, 0xa1, 0xef, 0x08, 0x9b, 0xaa, 0x51, + 0xdc, 0x23, 0xea, 0x31, 0x60, 0x3b, 0x89, 0x9e, 0xa2, 0x98, 0x31, 0x76, + 0x03, 0x35, 0x4f, 0x38, 0xfd, 0x9c, 0x36, 0xc2, 0xa5, 0x3a, 0x05, 0xc1, + 0xe4, 0x68, 0xc6, 0xae, 0x32, 0xfe, 0x4c, 0x3b, 0x00, 0x56, 0xec, 0x0d, + 0x5e, 0xff, 0x22, 0xb6, +}; +static const struct drbg_kat_no_reseed kat762_t = { + 11, kat762_entropyin, kat762_nonce, kat762_persstr, + kat762_addin0, kat762_addin1, kat762_retbits +}; +static const struct drbg_kat kat762 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat762_t +}; + +static const unsigned char kat763_entropyin[] = { + 0xf1, 0x58, 0x21, 0x05, 0x35, 0xa4, 0x04, 0xf6, 0xcb, 0x4f, 0x95, 0x50, + 0xb3, 0xf2, 0x6e, 0x3f, 0x77, 0x7a, 0x9f, 0xaa, 0x16, 0x47, 0x74, 0x74, + 0x9f, 0x48, 0xef, 0x4a, 0x8c, 0xe0, 0x94, 0x49, +}; +static const unsigned char kat763_nonce[] = {0}; +static const unsigned char kat763_persstr[] = { + 0xd5, 0x6f, 0xa8, 0x73, 0xcc, 0x76, 0x2f, 0x64, 0xb3, 0xab, 0x31, 0xb6, + 0x29, 0x1e, 0x24, 0x7e, 0xfc, 0xa7, 0x1f, 0xca, 0x90, 0x45, 0x3c, 0xff, + 0xf1, 0xf2, 0xb0, 0xb3, 0xe2, 0x65, 0xc4, 0x75, +}; +static const unsigned char kat763_addin0[] = {0}; +static const unsigned char kat763_addin1[] = {0}; +static const unsigned char kat763_retbits[] = { + 0x03, 0x4b, 0x41, 0xb2, 0xa9, 0xa6, 0x76, 0x4e, 0x5e, 0xd1, 0xed, 0xb0, + 0x0a, 0xea, 0x31, 0x85, 0xfe, 0x43, 0xeb, 0x81, 0xb4, 0x25, 0x3e, 0x7c, + 0xad, 0xe9, 0x79, 0x56, 0xfc, 0xcd, 0x9f, 0xc5, 0x78, 0x23, 0x28, 0xfa, + 0xda, 0x8e, 0xd5, 0x20, 0x8f, 0x1d, 0x46, 0xb1, 0xf8, 0x72, 0xe3, 0x33, + 0xb9, 0xe2, 0xf0, 0x36, 0xa5, 0x17, 0x46, 0xcc, 0xaf, 0x39, 0xe1, 0xa8, + 0x5a, 0xf8, 0xeb, 0x23, +}; +static const struct drbg_kat_no_reseed kat763_t = { + 12, kat763_entropyin, kat763_nonce, kat763_persstr, + kat763_addin0, kat763_addin1, kat763_retbits +}; +static const struct drbg_kat kat763 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat763_t +}; + +static const unsigned char kat764_entropyin[] = { + 0x97, 0x3a, 0x99, 0xb7, 0xe0, 0x3b, 0x39, 0x3e, 0xf6, 0x89, 0xaf, 0x8c, + 0xb9, 0x0d, 0x74, 0x36, 0xca, 0xe1, 0x0e, 0x48, 0x14, 0x81, 0x4a, 0xed, + 0x34, 0x2d, 0xd3, 0x8e, 0x2a, 0x73, 0x46, 0xe3, +}; +static const unsigned char kat764_nonce[] = {0}; +static const unsigned char kat764_persstr[] = { + 0x30, 0x0d, 0x3d, 0x2a, 0xdb, 0xac, 0x6d, 0x7d, 0xda, 0xdd, 0xe0, 0x7e, + 0x08, 0xb0, 0xd7, 0x2b, 0x5b, 0x39, 0xff, 0x36, 0x03, 0x1e, 0x81, 0xd8, + 0x30, 0x39, 0x58, 0x24, 0x2e, 0x3c, 0xf0, 0x3f, +}; +static const unsigned char kat764_addin0[] = {0}; +static const unsigned char kat764_addin1[] = {0}; +static const unsigned char kat764_retbits[] = { + 0x62, 0x01, 0x28, 0x42, 0x99, 0x1f, 0xe3, 0x22, 0x0f, 0x1d, 0x96, 0x10, + 0x45, 0xf0, 0x28, 0xa3, 0xb6, 0xa7, 0x29, 0xf5, 0xa4, 0x51, 0xb8, 0xc2, + 0xec, 0x90, 0xe1, 0xc1, 0xe2, 0xb1, 0xe4, 0x04, 0x2e, 0x97, 0x26, 0x7e, + 0x1b, 0xfa, 0x17, 0x82, 0xa1, 0x0c, 0x3c, 0x29, 0x50, 0x9b, 0xc8, 0xf2, + 0xad, 0xff, 0xd3, 0xd6, 0x95, 0x86, 0x1e, 0x15, 0x94, 0xda, 0x91, 0x70, + 0x28, 0x30, 0xfa, 0xf7, +}; +static const struct drbg_kat_no_reseed kat764_t = { + 13, kat764_entropyin, kat764_nonce, kat764_persstr, + kat764_addin0, kat764_addin1, kat764_retbits +}; +static const struct drbg_kat kat764 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat764_t +}; + +static const unsigned char kat765_entropyin[] = { + 0x22, 0xd1, 0xd8, 0xc8, 0xbd, 0xe7, 0x6a, 0x23, 0x9d, 0x03, 0x28, 0x04, + 0x71, 0x7f, 0xac, 0xe1, 0x6d, 0x77, 0xb5, 0x11, 0x70, 0xd0, 0xf5, 0x3c, + 0xcb, 0xcc, 0xa4, 0xea, 0xff, 0x4f, 0xb3, 0x15, +}; +static const unsigned char kat765_nonce[] = {0}; +static const unsigned char kat765_persstr[] = { + 0x5d, 0x3a, 0x7d, 0x40, 0xfd, 0xf9, 0x5b, 0x98, 0x45, 0x4b, 0xca, 0x03, + 0xc6, 0xfc, 0xbf, 0x6a, 0xbf, 0x38, 0x07, 0xde, 0x75, 0x17, 0x1b, 0x55, + 0xba, 0xb2, 0xdb, 0x5a, 0x3f, 0x5f, 0x12, 0xf2, +}; +static const unsigned char kat765_addin0[] = {0}; +static const unsigned char kat765_addin1[] = {0}; +static const unsigned char kat765_retbits[] = { + 0x10, 0x07, 0xe1, 0x1f, 0x48, 0xe3, 0xc4, 0x81, 0x3f, 0xdd, 0xd6, 0x73, + 0x10, 0xdb, 0x56, 0xd6, 0x7a, 0x49, 0xfe, 0x93, 0xe4, 0x5e, 0x61, 0xb3, + 0x7b, 0xa8, 0x14, 0x85, 0xdf, 0x6a, 0x62, 0xee, 0x57, 0xca, 0x41, 0xfa, + 0x1d, 0x98, 0x7f, 0x46, 0x7c, 0x29, 0x39, 0x79, 0x0a, 0x20, 0x42, 0x1c, + 0x2b, 0x4f, 0x70, 0xb2, 0x8f, 0xb0, 0xb9, 0x0b, 0xbe, 0xab, 0x1a, 0xc0, + 0xae, 0x88, 0x4f, 0x1a, +}; +static const struct drbg_kat_no_reseed kat765_t = { + 14, kat765_entropyin, kat765_nonce, kat765_persstr, + kat765_addin0, kat765_addin1, kat765_retbits +}; +static const struct drbg_kat kat765 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat765_t +}; + +static const unsigned char kat766_entropyin[] = { + 0x50, 0xb9, 0x65, 0x42, 0xa1, 0xf2, 0xb8, 0xb0, 0x50, 0x74, 0x05, 0x1f, + 0xe8, 0xfb, 0x0e, 0x45, 0xad, 0xbb, 0xd5, 0x56, 0x0e, 0x35, 0x94, 0xe1, + 0x2d, 0x48, 0x5f, 0xe1, 0xbf, 0xcb, 0x74, 0x1f, +}; +static const unsigned char kat766_nonce[] = {0}; +static const unsigned char kat766_persstr[] = { + 0x82, 0x0c, 0x30, 0x30, 0xf9, 0x7b, 0x3e, 0xad, 0x81, 0xa9, 0x3b, 0x88, + 0xb8, 0x71, 0x93, 0x72, 0x78, 0xfd, 0x3d, 0x71, 0x1d, 0x20, 0x85, 0xd9, + 0x28, 0x0c, 0xba, 0x39, 0x46, 0x73, 0xb1, 0x7e, +}; +static const unsigned char kat766_addin0[] = { + 0x1f, 0x16, 0x32, 0x05, 0x88, 0x06, 0xd6, 0xd8, 0xe2, 0x31, 0x28, 0x8f, + 0x3b, 0x15, 0xa3, 0xc3, 0x24, 0xe9, 0x0c, 0xce, 0xf4, 0x89, 0x1b, 0xd5, + 0x95, 0xf0, 0x9c, 0x3e, 0x80, 0xe2, 0x74, 0x69, +}; +static const unsigned char kat766_addin1[] = { + 0x5c, 0xad, 0xc8, 0xbf, 0xd8, 0x6d, 0x2a, 0x5d, 0x44, 0xf9, 0x21, 0xf6, + 0x4c, 0x7d, 0x15, 0x30, 0x01, 0xb9, 0xbd, 0xd7, 0xca, 0xa6, 0x61, 0x86, + 0x39, 0xb9, 0x48, 0xeb, 0xfa, 0xd5, 0xcb, 0x8a, +}; +static const unsigned char kat766_retbits[] = { + 0x02, 0xb7, 0x6a, 0x66, 0xf1, 0x03, 0xe9, 0x8d, 0x45, 0x0e, 0x25, 0xe0, + 0x9c, 0x35, 0x33, 0x77, 0x47, 0xd9, 0x87, 0x47, 0x1d, 0x2b, 0x3d, 0x81, + 0xe0, 0x3b, 0xe2, 0x4c, 0x7e, 0x98, 0x54, 0x17, 0xa3, 0x2a, 0xcd, 0x72, + 0xbc, 0x0a, 0x6e, 0xdd, 0xd9, 0x87, 0x14, 0x10, 0xda, 0xcb, 0x92, 0x1c, + 0x65, 0x92, 0x49, 0xb4, 0xe2, 0xb3, 0x68, 0xc4, 0xac, 0x85, 0x80, 0xfb, + 0x5d, 0xb5, 0x59, 0xbc, +}; +static const struct drbg_kat_no_reseed kat766_t = { + 0, kat766_entropyin, kat766_nonce, kat766_persstr, + kat766_addin0, kat766_addin1, kat766_retbits +}; +static const struct drbg_kat kat766 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat766_t +}; + +static const unsigned char kat767_entropyin[] = { + 0xff, 0x5f, 0x4b, 0x75, 0x4e, 0x8b, 0x36, 0x4f, 0x6d, 0xf0, 0xc5, 0xef, + 0xfb, 0xa5, 0xf1, 0xc0, 0x36, 0xde, 0x49, 0xc4, 0xb3, 0x8c, 0xd8, 0xd2, + 0x30, 0xee, 0x1f, 0x14, 0xd7, 0x23, 0x4e, 0xf5, +}; +static const unsigned char kat767_nonce[] = {0}; +static const unsigned char kat767_persstr[] = { + 0x99, 0x4e, 0xb3, 0x39, 0xf6, 0x40, 0x34, 0x00, 0x5d, 0x2e, 0x18, 0x35, + 0x28, 0x99, 0xe7, 0x7d, 0xf4, 0x46, 0xe2, 0x85, 0xc3, 0x43, 0x06, 0x31, + 0xd5, 0x57, 0x49, 0x8a, 0xac, 0x4f, 0x42, 0x80, +}; +static const unsigned char kat767_addin0[] = { + 0xe1, 0x82, 0x48, 0x32, 0xd5, 0xfc, 0x2a, 0x6d, 0xea, 0x54, 0x4c, 0xac, + 0x2a, 0xb7, 0x33, 0x06, 0xd6, 0x56, 0x6b, 0xde, 0x98, 0xcc, 0x8f, 0x94, + 0x25, 0xd0, 0x64, 0xb8, 0x60, 0xa9, 0xb2, 0x18, +}; +static const unsigned char kat767_addin1[] = { + 0xc0, 0x8b, 0x42, 0x43, 0x3a, 0x78, 0xfd, 0x39, 0x3a, 0x34, 0xff, 0xc2, + 0x47, 0x24, 0xd4, 0x79, 0xaf, 0x08, 0xc3, 0x68, 0x82, 0x79, 0x9c, 0x13, + 0x41, 0x65, 0xd9, 0x8b, 0x28, 0x66, 0xdc, 0x0a, +}; +static const unsigned char kat767_retbits[] = { + 0x1e, 0xfa, 0x34, 0xae, 0xd0, 0x7d, 0xd5, 0x7b, 0xde, 0x97, 0x41, 0xb8, + 0xd1, 0x90, 0x7d, 0x28, 0xe8, 0xc1, 0xac, 0x71, 0x60, 0x1d, 0xf3, 0x7e, + 0xf4, 0x29, 0x5e, 0x6f, 0xfb, 0x67, 0xf6, 0xa1, 0xc4, 0xc1, 0x3e, 0x5d, + 0xef, 0x65, 0xd5, 0x05, 0xe2, 0x40, 0x8a, 0xeb, 0x82, 0x94, 0x89, 0x99, + 0xca, 0x1f, 0x9c, 0x91, 0x13, 0xb9, 0x9a, 0x6b, 0x59, 0xff, 0x7f, 0x0c, + 0xc3, 0xdc, 0x6e, 0x92, +}; +static const struct drbg_kat_no_reseed kat767_t = { + 1, kat767_entropyin, kat767_nonce, kat767_persstr, + kat767_addin0, kat767_addin1, kat767_retbits +}; +static const struct drbg_kat kat767 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat767_t +}; + +static const unsigned char kat768_entropyin[] = { + 0x82, 0x85, 0x98, 0x8e, 0x78, 0x65, 0xd0, 0xa0, 0xfe, 0x1e, 0xeb, 0xf7, + 0xec, 0x00, 0x2b, 0x0b, 0x49, 0xd0, 0x1b, 0x8f, 0x88, 0x05, 0x86, 0x6b, + 0x27, 0xc7, 0xf2, 0x7f, 0xc2, 0xb1, 0x46, 0x29, +}; +static const unsigned char kat768_nonce[] = {0}; +static const unsigned char kat768_persstr[] = { + 0x11, 0x61, 0x77, 0xa6, 0x4b, 0xa2, 0x70, 0x97, 0xcc, 0xa8, 0xe4, 0x42, + 0x07, 0x7b, 0x11, 0x96, 0x10, 0x39, 0xef, 0x37, 0xaa, 0xc9, 0x59, 0x3b, + 0x43, 0x0b, 0x9a, 0xa2, 0xc7, 0x3f, 0xfb, 0x27, +}; +static const unsigned char kat768_addin0[] = { + 0x3c, 0xf5, 0x97, 0x52, 0x47, 0xcc, 0x5c, 0x28, 0xf2, 0x10, 0xa1, 0x48, + 0x9a, 0xa4, 0x92, 0x76, 0x8e, 0x57, 0xac, 0x2a, 0x97, 0xf3, 0x99, 0xbe, + 0xed, 0x36, 0x81, 0x73, 0xea, 0x35, 0x6c, 0x13, +}; +static const unsigned char kat768_addin1[] = { + 0x1a, 0x78, 0x05, 0x5c, 0xd3, 0xf2, 0x90, 0x74, 0x50, 0x7a, 0x23, 0x2f, + 0x0d, 0x03, 0xe0, 0x9c, 0x0b, 0x56, 0x9d, 0xba, 0x24, 0xda, 0x1b, 0x96, + 0x71, 0x24, 0x2d, 0x94, 0x0d, 0x8f, 0x46, 0x43, +}; +static const unsigned char kat768_retbits[] = { + 0x90, 0x3d, 0x49, 0x8f, 0x58, 0x85, 0x65, 0xb2, 0x5b, 0xa9, 0x77, 0x40, + 0xc3, 0x4a, 0x3c, 0x57, 0x3e, 0x64, 0x34, 0x65, 0xc7, 0xd1, 0x28, 0xd9, + 0xc1, 0xf8, 0x76, 0x3c, 0x77, 0x96, 0x05, 0x64, 0x85, 0xc6, 0x57, 0xe7, + 0x32, 0xb1, 0xa0, 0x60, 0x32, 0x59, 0x93, 0x11, 0x6c, 0xde, 0xdd, 0xe7, + 0x1b, 0x1a, 0x84, 0x68, 0xce, 0x56, 0x54, 0x0f, 0xbe, 0xd0, 0xe7, 0x18, + 0x67, 0x20, 0xcf, 0x76, +}; +static const struct drbg_kat_no_reseed kat768_t = { + 2, kat768_entropyin, kat768_nonce, kat768_persstr, + kat768_addin0, kat768_addin1, kat768_retbits +}; +static const struct drbg_kat kat768 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat768_t +}; + +static const unsigned char kat769_entropyin[] = { + 0xc4, 0xd1, 0xd1, 0xfd, 0x1e, 0x19, 0x8f, 0xcb, 0x07, 0xb9, 0x1d, 0x50, + 0x9e, 0x2d, 0x16, 0xf7, 0xbb, 0x65, 0x28, 0xbc, 0xa5, 0x75, 0xf4, 0x64, + 0x32, 0x15, 0x8e, 0x32, 0x17, 0xaf, 0x75, 0x92, +}; +static const unsigned char kat769_nonce[] = {0}; +static const unsigned char kat769_persstr[] = { + 0xf6, 0x85, 0x11, 0xdd, 0xea, 0x28, 0x88, 0x21, 0x6d, 0x45, 0x51, 0x99, + 0x0c, 0xae, 0xaf, 0x02, 0x0a, 0xe8, 0x37, 0x1b, 0x73, 0x48, 0x20, 0x5b, + 0xf6, 0x28, 0x66, 0xae, 0x38, 0x99, 0xca, 0xb5, +}; +static const unsigned char kat769_addin0[] = { + 0x4a, 0x3e, 0xdd, 0xf9, 0xa9, 0x35, 0xa1, 0xac, 0x41, 0x7e, 0xdf, 0xd7, + 0x53, 0x8d, 0xcc, 0xbd, 0xe1, 0xc1, 0x99, 0x9d, 0x8a, 0x8e, 0x4e, 0x1f, + 0x26, 0x7d, 0xb7, 0x16, 0x5a, 0x98, 0x19, 0x0b, +}; +static const unsigned char kat769_addin1[] = { + 0x55, 0xde, 0x69, 0x00, 0xc6, 0x5d, 0x57, 0xb3, 0x5b, 0xa1, 0x99, 0x45, + 0xbe, 0x54, 0x53, 0xe7, 0x37, 0x4f, 0x94, 0x68, 0x06, 0x61, 0x85, 0x07, + 0x29, 0x02, 0xc3, 0xd0, 0x85, 0x66, 0x3e, 0xd5, +}; +static const unsigned char kat769_retbits[] = { + 0xdf, 0x69, 0xb3, 0xdd, 0xd2, 0x42, 0xda, 0x1c, 0x06, 0x2f, 0x13, 0x10, + 0x96, 0xeb, 0xa5, 0xaf, 0x63, 0x3e, 0x4a, 0xe9, 0xff, 0x2e, 0xab, 0x57, + 0xc7, 0x0b, 0x96, 0x10, 0x18, 0x49, 0x62, 0x80, 0x0b, 0xad, 0x8c, 0x4b, + 0x90, 0x83, 0x14, 0x53, 0x9a, 0x30, 0x50, 0x43, 0xa4, 0x1d, 0x6e, 0x9e, + 0x4f, 0x11, 0x9c, 0x48, 0x02, 0x0c, 0xf7, 0x27, 0xc9, 0x09, 0x90, 0x14, + 0x36, 0x27, 0xb0, 0x9d, +}; +static const struct drbg_kat_no_reseed kat769_t = { + 3, kat769_entropyin, kat769_nonce, kat769_persstr, + kat769_addin0, kat769_addin1, kat769_retbits +}; +static const struct drbg_kat kat769 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat769_t +}; + +static const unsigned char kat770_entropyin[] = { + 0xc6, 0xc6, 0xcb, 0xe9, 0x64, 0xc9, 0xce, 0xb9, 0x45, 0x72, 0x62, 0x3b, + 0x12, 0xcc, 0x9a, 0xdd, 0x6c, 0x7c, 0xef, 0x72, 0x92, 0x49, 0x8a, 0x22, + 0x18, 0x47, 0x75, 0x4c, 0x3d, 0xef, 0x00, 0xc1, +}; +static const unsigned char kat770_nonce[] = {0}; +static const unsigned char kat770_persstr[] = { + 0x99, 0xd3, 0xb0, 0xfd, 0x7b, 0xe5, 0x4d, 0xb4, 0xba, 0x45, 0x72, 0xf9, + 0x63, 0x62, 0x1a, 0x88, 0xf2, 0x9e, 0x97, 0xe8, 0x94, 0xa2, 0x4c, 0xd5, + 0xa1, 0x3f, 0xe7, 0xb3, 0x51, 0x32, 0xaa, 0xf5, +}; +static const unsigned char kat770_addin0[] = { + 0x31, 0x71, 0xa5, 0x92, 0x55, 0x07, 0xac, 0xf8, 0x26, 0x4b, 0x1f, 0x37, + 0x3f, 0xf2, 0xdf, 0x36, 0xa1, 0x8f, 0xb0, 0x96, 0xb8, 0x3e, 0xc7, 0x9e, + 0xd4, 0x8e, 0x03, 0x51, 0xa2, 0xd7, 0xc7, 0x48, +}; +static const unsigned char kat770_addin1[] = { + 0xcb, 0xb6, 0x29, 0xb1, 0xb0, 0xa0, 0x4c, 0x71, 0xd2, 0x17, 0x3b, 0x24, + 0x5c, 0x23, 0xb9, 0x76, 0x79, 0xd7, 0x75, 0xce, 0x05, 0x15, 0x07, 0xe3, + 0x61, 0xf8, 0x52, 0x7f, 0xc6, 0x20, 0xd7, 0x8b, +}; +static const unsigned char kat770_retbits[] = { + 0x28, 0xb9, 0x83, 0xf6, 0x3d, 0xc5, 0x63, 0x14, 0xe5, 0x39, 0xcd, 0xfd, + 0xb6, 0x6d, 0xa6, 0xb0, 0x6d, 0xb6, 0x34, 0x8f, 0x0d, 0x28, 0x47, 0x5d, + 0x12, 0x42, 0x1d, 0x91, 0x04, 0xba, 0x74, 0xec, 0x0f, 0xcb, 0x85, 0x1c, + 0xca, 0xdd, 0x82, 0xc4, 0xaf, 0x57, 0x78, 0xef, 0xbc, 0x82, 0xe1, 0x86, + 0x3a, 0x0c, 0xb5, 0xba, 0x4b, 0x9a, 0x94, 0x27, 0x37, 0x9c, 0x06, 0xe9, + 0x73, 0x27, 0x87, 0xe6, +}; +static const struct drbg_kat_no_reseed kat770_t = { + 4, kat770_entropyin, kat770_nonce, kat770_persstr, + kat770_addin0, kat770_addin1, kat770_retbits +}; +static const struct drbg_kat kat770 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat770_t +}; + +static const unsigned char kat771_entropyin[] = { + 0x67, 0x64, 0x26, 0xa8, 0x2f, 0x58, 0x28, 0x9e, 0xcd, 0xf7, 0x68, 0x03, + 0xab, 0x0b, 0xd7, 0x5f, 0x18, 0xe4, 0x4c, 0x4d, 0x0e, 0x26, 0x4e, 0x4a, + 0x59, 0x29, 0x2a, 0x9b, 0x6d, 0xd4, 0x5e, 0x6e, +}; +static const unsigned char kat771_nonce[] = {0}; +static const unsigned char kat771_persstr[] = { + 0xc6, 0xdf, 0xcc, 0xc3, 0xd2, 0x3c, 0x5c, 0x4c, 0xfd, 0x1f, 0xb9, 0x98, + 0xf4, 0xa3, 0xcf, 0xb1, 0x6c, 0xfc, 0xb0, 0x5a, 0xb3, 0x0e, 0xee, 0x37, + 0xc1, 0xd3, 0xef, 0x62, 0xdc, 0x66, 0xbc, 0xee, +}; +static const unsigned char kat771_addin0[] = { + 0xc5, 0x49, 0xac, 0x10, 0x4d, 0x3d, 0xdf, 0xb3, 0x6e, 0xd9, 0xda, 0x29, + 0x29, 0x7f, 0x30, 0x23, 0x5f, 0x9a, 0x14, 0xc5, 0x1f, 0x24, 0x12, 0xb7, + 0x3a, 0x16, 0x4d, 0x2b, 0x3d, 0x37, 0xb0, 0x2b, +}; +static const unsigned char kat771_addin1[] = { + 0x6d, 0x54, 0xf9, 0x4e, 0x3a, 0x2f, 0x26, 0x3a, 0x05, 0x17, 0x20, 0x66, + 0x8c, 0x9c, 0xeb, 0x2e, 0xe9, 0xb4, 0x63, 0x6f, 0xe5, 0x4c, 0x10, 0x51, + 0x23, 0xf1, 0x5b, 0xad, 0xfc, 0x8e, 0xde, 0x33, +}; +static const unsigned char kat771_retbits[] = { + 0xd4, 0x93, 0xc5, 0xda, 0xa9, 0x36, 0x18, 0xb4, 0x45, 0x26, 0xb6, 0xa0, + 0x91, 0xb3, 0x7a, 0x4c, 0x62, 0xc4, 0x22, 0xcc, 0x05, 0x69, 0xb8, 0x8a, + 0xfb, 0xf5, 0x96, 0xd5, 0x68, 0xf3, 0xbf, 0xc5, 0x13, 0x62, 0xab, 0xf1, + 0x2e, 0xb9, 0xb6, 0x23, 0xe7, 0x06, 0x59, 0x06, 0xe8, 0x8e, 0x52, 0xff, + 0x67, 0x1d, 0xbe, 0xb3, 0x74, 0x26, 0xbf, 0x0c, 0x2d, 0x75, 0x8e, 0xfe, + 0xab, 0x5c, 0x66, 0x3f, +}; +static const struct drbg_kat_no_reseed kat771_t = { + 5, kat771_entropyin, kat771_nonce, kat771_persstr, + kat771_addin0, kat771_addin1, kat771_retbits +}; +static const struct drbg_kat kat771 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat771_t +}; + +static const unsigned char kat772_entropyin[] = { + 0x17, 0x9c, 0x71, 0x22, 0x1d, 0xe3, 0xeb, 0x24, 0x45, 0x01, 0xe0, 0x74, + 0xe0, 0x04, 0xd6, 0x1f, 0x46, 0x6f, 0xab, 0xfc, 0x8e, 0x7c, 0x7b, 0xd5, + 0x75, 0xfa, 0x25, 0x61, 0x7d, 0x32, 0xd3, 0xe3, +}; +static const unsigned char kat772_nonce[] = {0}; +static const unsigned char kat772_persstr[] = { + 0xbb, 0x4c, 0x9f, 0x74, 0xc3, 0xe8, 0x18, 0xff, 0xfe, 0xfd, 0x55, 0x26, + 0x46, 0xf5, 0xe6, 0x59, 0xe4, 0xee, 0x4a, 0x8b, 0xe7, 0x88, 0xf1, 0x3d, + 0x3e, 0xdd, 0xd3, 0x61, 0x92, 0x79, 0x06, 0x50, +}; +static const unsigned char kat772_addin0[] = { + 0x4f, 0x60, 0x29, 0xce, 0xdf, 0x4e, 0x2a, 0xe0, 0x7d, 0xd9, 0x9e, 0x7a, + 0xdb, 0x75, 0x69, 0x60, 0xb0, 0x67, 0xba, 0x96, 0xc4, 0x4f, 0x72, 0x37, + 0x1a, 0x1c, 0x5f, 0xb3, 0x1e, 0xab, 0x80, 0x8a, +}; +static const unsigned char kat772_addin1[] = { + 0xe1, 0x7b, 0x61, 0x06, 0x0b, 0xd3, 0xba, 0x35, 0x51, 0xf6, 0x29, 0xde, + 0x6b, 0xf3, 0x71, 0x0c, 0xc6, 0xaa, 0xe8, 0x71, 0xed, 0xe7, 0x0d, 0xe5, + 0x09, 0x92, 0x2a, 0xcf, 0xa6, 0x58, 0x31, 0x8c, +}; +static const unsigned char kat772_retbits[] = { + 0x55, 0x2f, 0x7f, 0x55, 0xe5, 0xe5, 0x8b, 0xf6, 0xff, 0x72, 0x69, 0x27, + 0xa1, 0xd9, 0x3d, 0xa5, 0x5e, 0xc3, 0x86, 0xcc, 0x38, 0xca, 0x65, 0xb1, + 0x51, 0x39, 0xad, 0x22, 0x59, 0xc0, 0x22, 0x16, 0xea, 0xcd, 0x48, 0x77, + 0x82, 0xc3, 0x77, 0x85, 0x26, 0x43, 0x85, 0xe0, 0x33, 0x1c, 0x7f, 0x88, + 0x2a, 0x18, 0x84, 0xf4, 0x40, 0xa6, 0x7f, 0xac, 0xcc, 0x37, 0x01, 0x8b, + 0x62, 0x00, 0xab, 0x08, +}; +static const struct drbg_kat_no_reseed kat772_t = { + 6, kat772_entropyin, kat772_nonce, kat772_persstr, + kat772_addin0, kat772_addin1, kat772_retbits +}; +static const struct drbg_kat kat772 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat772_t +}; + +static const unsigned char kat773_entropyin[] = { + 0x31, 0x9c, 0x01, 0xd6, 0xf0, 0x8f, 0x08, 0x09, 0xc1, 0x79, 0x58, 0xfa, + 0x41, 0x69, 0xa7, 0x6e, 0xa1, 0xd0, 0x5c, 0x83, 0x68, 0x16, 0x88, 0x24, + 0xfc, 0xff, 0xcc, 0x0c, 0x4c, 0xa6, 0xdb, 0xeb, +}; +static const unsigned char kat773_nonce[] = {0}; +static const unsigned char kat773_persstr[] = { + 0xdb, 0xd6, 0x71, 0xde, 0x6a, 0x7c, 0x61, 0xeb, 0xf5, 0x8b, 0xfd, 0x32, + 0x3b, 0x1c, 0x73, 0x8c, 0xdb, 0x18, 0x35, 0xb8, 0xbc, 0xeb, 0x37, 0x37, + 0x8f, 0x62, 0x33, 0x3c, 0xb8, 0xe1, 0x60, 0x9d, +}; +static const unsigned char kat773_addin0[] = { + 0x97, 0x39, 0xdf, 0x64, 0xb9, 0xca, 0x61, 0xbe, 0x36, 0x40, 0xdd, 0xc8, + 0x8b, 0x2b, 0xb1, 0x95, 0xe3, 0x22, 0xab, 0x6d, 0x43, 0x5e, 0xc3, 0x97, + 0x35, 0xec, 0x88, 0x34, 0x38, 0x2f, 0x43, 0x7b, +}; +static const unsigned char kat773_addin1[] = { + 0x5d, 0x4a, 0xc8, 0xdd, 0xbf, 0x73, 0x15, 0x4f, 0xea, 0x78, 0x8d, 0xa9, + 0x4f, 0x9f, 0x91, 0x7f, 0xa4, 0x21, 0x67, 0xeb, 0x0e, 0x97, 0xd6, 0x29, + 0x76, 0x87, 0xf0, 0x8a, 0xad, 0xf1, 0x7c, 0x4d, +}; +static const unsigned char kat773_retbits[] = { + 0xb7, 0xd5, 0x2b, 0x16, 0xf4, 0xbd, 0xf8, 0xcb, 0x76, 0x5c, 0x58, 0x09, + 0x1b, 0x99, 0xb0, 0xef, 0x65, 0xd1, 0x37, 0xd6, 0xc1, 0x0c, 0xe8, 0x01, + 0xe7, 0x35, 0xeb, 0x2b, 0x43, 0xad, 0xf6, 0xcc, 0x01, 0x4b, 0x1a, 0x42, + 0x36, 0x39, 0x0b, 0xe2, 0x64, 0xf7, 0xc8, 0xb9, 0x99, 0xf8, 0x21, 0xbd, + 0x66, 0x0b, 0x0a, 0x62, 0x62, 0xb1, 0x1c, 0x7f, 0xb5, 0x8c, 0x0a, 0xb6, + 0xf1, 0x20, 0x53, 0xff, +}; +static const struct drbg_kat_no_reseed kat773_t = { + 7, kat773_entropyin, kat773_nonce, kat773_persstr, + kat773_addin0, kat773_addin1, kat773_retbits +}; +static const struct drbg_kat kat773 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat773_t +}; + +static const unsigned char kat774_entropyin[] = { + 0x77, 0xc5, 0x16, 0x9b, 0xcd, 0xcb, 0x99, 0x6a, 0x63, 0x00, 0xfa, 0x36, + 0xa3, 0x0a, 0x02, 0x83, 0x8f, 0xe0, 0x3b, 0x99, 0x0c, 0x74, 0xcb, 0xff, + 0x6f, 0x05, 0x17, 0xf3, 0x31, 0x93, 0xba, 0x54, +}; +static const unsigned char kat774_nonce[] = {0}; +static const unsigned char kat774_persstr[] = { + 0x6b, 0x1c, 0x51, 0xa3, 0x49, 0xae, 0xc6, 0xe5, 0x3a, 0xb5, 0x8f, 0x0a, + 0x7d, 0x93, 0x02, 0xfd, 0xde, 0xd3, 0xe6, 0x50, 0x9c, 0xee, 0x36, 0x20, + 0x14, 0xd9, 0x77, 0x7e, 0x4c, 0x57, 0x99, 0xde, +}; +static const unsigned char kat774_addin0[] = { + 0x27, 0x00, 0xc0, 0x46, 0x35, 0x31, 0x16, 0x63, 0x3e, 0xf1, 0x14, 0x66, + 0x8e, 0x7d, 0x3b, 0xf1, 0x22, 0x32, 0xd8, 0x83, 0x78, 0x45, 0xf1, 0x5f, + 0xac, 0x02, 0x2a, 0x32, 0x39, 0x26, 0xfc, 0x18, +}; +static const unsigned char kat774_addin1[] = { + 0x54, 0x48, 0x47, 0x4d, 0x53, 0x01, 0x6b, 0x27, 0xab, 0x76, 0xc3, 0xae, + 0x0a, 0x71, 0x2f, 0xaa, 0x07, 0x2a, 0x3c, 0x68, 0xde, 0x51, 0xb4, 0xdd, + 0x21, 0xf9, 0xb1, 0x42, 0x4f, 0x51, 0x80, 0x0f, +}; +static const unsigned char kat774_retbits[] = { + 0x98, 0x5f, 0x77, 0x30, 0x48, 0x78, 0x27, 0x4f, 0xa5, 0x02, 0x34, 0x53, + 0x65, 0x91, 0x3b, 0x23, 0x64, 0x2c, 0x7b, 0x00, 0x36, 0xc4, 0xe8, 0x25, + 0x96, 0x9c, 0x3c, 0xa2, 0x32, 0x40, 0x67, 0xae, 0x40, 0x35, 0x08, 0x44, + 0x15, 0x8a, 0xbb, 0xab, 0x11, 0x11, 0x61, 0xa7, 0xa3, 0x61, 0x68, 0xb9, + 0x97, 0xc1, 0x97, 0x26, 0x1a, 0x60, 0xef, 0x5b, 0x64, 0x49, 0x9e, 0xdd, + 0xd6, 0x4a, 0x50, 0x96, +}; +static const struct drbg_kat_no_reseed kat774_t = { + 8, kat774_entropyin, kat774_nonce, kat774_persstr, + kat774_addin0, kat774_addin1, kat774_retbits +}; +static const struct drbg_kat kat774 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat774_t +}; + +static const unsigned char kat775_entropyin[] = { + 0xee, 0xa7, 0x97, 0x2a, 0x92, 0x52, 0xe0, 0x9e, 0xea, 0xca, 0x82, 0xcf, + 0x28, 0xed, 0xc6, 0xf6, 0xb0, 0x20, 0x3f, 0xbc, 0x47, 0xa7, 0xd1, 0x3a, + 0x03, 0xda, 0x7f, 0x8c, 0xa2, 0x1e, 0xc6, 0x13, +}; +static const unsigned char kat775_nonce[] = {0}; +static const unsigned char kat775_persstr[] = { + 0xd6, 0x62, 0x89, 0x0e, 0x01, 0xa7, 0x30, 0x27, 0xfd, 0x80, 0xfd, 0x54, + 0xd4, 0xe4, 0xdc, 0x2f, 0x03, 0xc3, 0x50, 0xb7, 0x7f, 0x13, 0x25, 0x0d, + 0xa3, 0x5a, 0x4e, 0xcc, 0x2f, 0x77, 0x79, 0xf4, +}; +static const unsigned char kat775_addin0[] = { + 0x6e, 0xc7, 0x42, 0xb2, 0x6f, 0x58, 0x8b, 0x4f, 0x72, 0x96, 0x7c, 0xda, + 0x67, 0xaa, 0x1d, 0x09, 0x73, 0xa7, 0x42, 0x88, 0x0d, 0xa8, 0xb1, 0xe1, + 0x4e, 0x9a, 0xa5, 0xf2, 0x4a, 0x41, 0xc3, 0x66, +}; +static const unsigned char kat775_addin1[] = { + 0x06, 0xd5, 0x93, 0xdb, 0xe8, 0x78, 0xed, 0x6c, 0x3b, 0xed, 0x8d, 0xcb, + 0xef, 0xa4, 0x03, 0x6f, 0xcf, 0xd0, 0x6f, 0x48, 0x4c, 0x00, 0x6c, 0x03, + 0xef, 0x6d, 0xcb, 0x15, 0xb6, 0x84, 0x17, 0xf5, +}; +static const unsigned char kat775_retbits[] = { + 0x27, 0xed, 0x08, 0xe7, 0x8b, 0x6e, 0xc1, 0xa7, 0xff, 0xa2, 0x40, 0x65, + 0x09, 0x0f, 0x56, 0x99, 0xcd, 0x83, 0xb5, 0x64, 0x69, 0x66, 0x19, 0x58, + 0x00, 0xee, 0x47, 0xcd, 0xa4, 0x82, 0x7e, 0xd0, 0xe2, 0x1f, 0x1b, 0xd8, + 0x2a, 0x41, 0xcb, 0x06, 0x49, 0x8b, 0x49, 0x08, 0xc5, 0x38, 0x82, 0xb0, + 0xf9, 0x3c, 0xf9, 0x18, 0x04, 0xba, 0x2a, 0xdb, 0x01, 0x84, 0x86, 0x11, + 0xc7, 0xa8, 0x87, 0x0b, +}; +static const struct drbg_kat_no_reseed kat775_t = { + 9, kat775_entropyin, kat775_nonce, kat775_persstr, + kat775_addin0, kat775_addin1, kat775_retbits +}; +static const struct drbg_kat kat775 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat775_t +}; + +static const unsigned char kat776_entropyin[] = { + 0xda, 0x52, 0x0c, 0x33, 0xe8, 0xa0, 0x26, 0xd6, 0x44, 0x84, 0xbb, 0x6f, + 0x78, 0x61, 0x3a, 0x7e, 0xec, 0xa0, 0x13, 0xa9, 0xb6, 0xa2, 0x4c, 0x2f, + 0x5e, 0xa9, 0x99, 0x3d, 0x9f, 0x26, 0x6e, 0x3e, +}; +static const unsigned char kat776_nonce[] = {0}; +static const unsigned char kat776_persstr[] = { + 0xf4, 0x12, 0xdc, 0x9f, 0x3d, 0xbd, 0x1f, 0x9c, 0x24, 0xe4, 0x0b, 0xcd, + 0x09, 0x51, 0x4e, 0x02, 0xd6, 0x6b, 0x33, 0x88, 0xc1, 0xec, 0x3c, 0x80, + 0xf6, 0x09, 0x21, 0xfb, 0x57, 0x68, 0x73, 0xc6, +}; +static const unsigned char kat776_addin0[] = { + 0xa1, 0x7d, 0x88, 0xa8, 0x4f, 0x13, 0xd1, 0xe9, 0x0a, 0x6e, 0x34, 0x1d, + 0x7f, 0x3d, 0x7f, 0xbc, 0x3f, 0x27, 0x3c, 0x41, 0x80, 0xff, 0xb5, 0x2c, + 0x7b, 0x63, 0x7c, 0x30, 0x85, 0x5d, 0x19, 0xe3, +}; +static const unsigned char kat776_addin1[] = { + 0x11, 0x50, 0x76, 0x30, 0x6e, 0x8f, 0xce, 0x2c, 0x18, 0x90, 0xc8, 0x07, + 0x4d, 0x1f, 0xa6, 0x01, 0xa0, 0x57, 0xcb, 0xcc, 0xd6, 0x3c, 0x62, 0xa9, + 0xc1, 0x18, 0x87, 0x8f, 0x1f, 0xbc, 0xf5, 0xcd, +}; +static const unsigned char kat776_retbits[] = { + 0xbb, 0xff, 0x4d, 0x39, 0xba, 0x04, 0x06, 0x1a, 0x1b, 0x6e, 0x2f, 0x26, + 0xdd, 0x0c, 0x13, 0x2e, 0xa4, 0x38, 0x1a, 0xfa, 0xf8, 0x4d, 0xc2, 0x4e, + 0x52, 0xe1, 0x96, 0xc4, 0xd7, 0xda, 0x51, 0xc5, 0x8b, 0xe5, 0xf7, 0xdd, + 0xd9, 0x89, 0x34, 0x0f, 0x1e, 0x0d, 0x8c, 0xf6, 0x2c, 0x63, 0x02, 0xe0, + 0xec, 0xdd, 0xba, 0xde, 0x87, 0xef, 0x50, 0x04, 0x6d, 0x3a, 0x0d, 0xd8, + 0x93, 0x68, 0x1c, 0x8c, +}; +static const struct drbg_kat_no_reseed kat776_t = { + 10, kat776_entropyin, kat776_nonce, kat776_persstr, + kat776_addin0, kat776_addin1, kat776_retbits +}; +static const struct drbg_kat kat776 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat776_t +}; + +static const unsigned char kat777_entropyin[] = { + 0xe4, 0x95, 0x09, 0xa9, 0x07, 0x83, 0x99, 0x2f, 0x48, 0x12, 0x1d, 0x5d, + 0x7d, 0x6c, 0xbf, 0xc2, 0x8d, 0x77, 0xbc, 0xd1, 0xe6, 0xd6, 0xe6, 0xeb, + 0x0a, 0xec, 0xa2, 0x55, 0x5d, 0x9e, 0x4b, 0x89, +}; +static const unsigned char kat777_nonce[] = {0}; +static const unsigned char kat777_persstr[] = { + 0x13, 0xe9, 0xa3, 0xf9, 0xbf, 0xcb, 0x09, 0xc3, 0x32, 0xb6, 0xd3, 0xa1, + 0x61, 0x5c, 0xd9, 0xce, 0xa5, 0x7b, 0x61, 0x54, 0x5a, 0x93, 0x51, 0x22, + 0x79, 0x95, 0xae, 0x64, 0xc2, 0x33, 0x32, 0x50, +}; +static const unsigned char kat777_addin0[] = { + 0xe6, 0x9b, 0xac, 0x85, 0x22, 0x8a, 0xfc, 0x41, 0xd8, 0x6d, 0x58, 0x46, + 0x41, 0xcb, 0xaf, 0x86, 0x28, 0x18, 0x6b, 0x20, 0x5b, 0x21, 0x1f, 0xd4, + 0x28, 0xe3, 0x98, 0x49, 0x23, 0x7a, 0x39, 0x39, +}; +static const unsigned char kat777_addin1[] = { + 0x51, 0xee, 0x8d, 0x0c, 0x02, 0x42, 0xf1, 0x38, 0x2f, 0x1e, 0x2d, 0x38, + 0xcc, 0x9d, 0xbb, 0xd5, 0x06, 0xa8, 0x01, 0x05, 0xb4, 0xb7, 0x48, 0xf5, + 0x63, 0xac, 0x94, 0x1c, 0x41, 0x4e, 0x9c, 0x44, +}; +static const unsigned char kat777_retbits[] = { + 0x89, 0x53, 0xbc, 0xae, 0x34, 0x3b, 0x43, 0x0d, 0x8d, 0x49, 0x18, 0x40, + 0xa4, 0x40, 0xad, 0xc6, 0xea, 0xaa, 0x20, 0xd4, 0xb9, 0x77, 0x3b, 0xca, + 0xbc, 0xf1, 0xc8, 0xa9, 0xca, 0x3a, 0xf3, 0x9d, 0xe4, 0x58, 0x62, 0xc6, + 0x96, 0x3f, 0x48, 0xff, 0xa0, 0x51, 0xa1, 0x41, 0xde, 0x70, 0xc3, 0x3f, + 0xed, 0x42, 0x07, 0x11, 0x26, 0x86, 0x07, 0xc9, 0xd2, 0x05, 0x73, 0xc9, + 0xb5, 0x28, 0xdb, 0x20, +}; +static const struct drbg_kat_no_reseed kat777_t = { + 11, kat777_entropyin, kat777_nonce, kat777_persstr, + kat777_addin0, kat777_addin1, kat777_retbits +}; +static const struct drbg_kat kat777 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat777_t +}; + +static const unsigned char kat778_entropyin[] = { + 0xe9, 0xe1, 0x20, 0xc9, 0x56, 0x92, 0x4a, 0xbc, 0xb6, 0x55, 0x4e, 0x4f, + 0xb4, 0x40, 0x4a, 0xdf, 0x2b, 0xf4, 0xba, 0x06, 0x9b, 0x92, 0xcc, 0xb7, + 0x8b, 0x92, 0xfe, 0xf8, 0xf7, 0x8e, 0x05, 0x6a, +}; +static const unsigned char kat778_nonce[] = {0}; +static const unsigned char kat778_persstr[] = { + 0x20, 0xf0, 0x13, 0x26, 0xb8, 0x7f, 0xf6, 0xa1, 0x4b, 0x91, 0xc5, 0x92, + 0x7b, 0xed, 0x1d, 0x9a, 0xea, 0x85, 0x81, 0xb9, 0xa5, 0x39, 0xa8, 0x4f, + 0xb7, 0xf2, 0xe5, 0x4b, 0xa7, 0x85, 0xd8, 0xbc, +}; +static const unsigned char kat778_addin0[] = { + 0x26, 0x04, 0x95, 0xcc, 0xd9, 0xea, 0xff, 0x4c, 0x2d, 0x87, 0xd5, 0x42, + 0xd4, 0x9d, 0x48, 0xfe, 0x75, 0x3c, 0xba, 0x70, 0x10, 0x8d, 0x93, 0x87, + 0x65, 0xf7, 0x7d, 0xad, 0xb5, 0x76, 0xb7, 0x11, +}; +static const unsigned char kat778_addin1[] = { + 0x47, 0xf0, 0xa2, 0x1f, 0x12, 0xac, 0x66, 0xdd, 0x13, 0x8a, 0x00, 0x3f, + 0xa0, 0xf7, 0x62, 0xda, 0x06, 0xe8, 0x1d, 0xac, 0xee, 0x14, 0xa9, 0x9c, + 0xf5, 0x2b, 0xb5, 0xb9, 0xab, 0x35, 0x30, 0x4a, +}; +static const unsigned char kat778_retbits[] = { + 0xea, 0x64, 0x74, 0xcb, 0x86, 0xde, 0x13, 0x31, 0x82, 0xd8, 0x46, 0xb0, + 0x93, 0x77, 0x51, 0x2a, 0x58, 0x8c, 0xb2, 0x40, 0x1c, 0x1d, 0x20, 0xa5, + 0x42, 0xe9, 0x00, 0x4a, 0xc4, 0xc2, 0xd5, 0xe6, 0x2f, 0xcd, 0xf3, 0x57, + 0xe7, 0x4f, 0x12, 0x74, 0x47, 0x60, 0x8e, 0xc6, 0xb4, 0xba, 0x2f, 0x5b, + 0x7e, 0xf4, 0xd2, 0x50, 0x9d, 0xc5, 0x17, 0x48, 0x5c, 0x16, 0x2a, 0xb7, + 0xf9, 0xc9, 0x67, 0x13, +}; +static const struct drbg_kat_no_reseed kat778_t = { + 12, kat778_entropyin, kat778_nonce, kat778_persstr, + kat778_addin0, kat778_addin1, kat778_retbits +}; +static const struct drbg_kat kat778 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat778_t +}; + +static const unsigned char kat779_entropyin[] = { + 0xee, 0x99, 0xd4, 0xf7, 0x05, 0xbe, 0xbb, 0xc8, 0xff, 0xad, 0x98, 0x2b, + 0x0a, 0xd4, 0xd7, 0x42, 0x0e, 0x8f, 0xd1, 0x27, 0x6b, 0x9c, 0xe3, 0x62, + 0x99, 0x15, 0xf2, 0x92, 0x52, 0x45, 0x9d, 0x31, +}; +static const unsigned char kat779_nonce[] = {0}; +static const unsigned char kat779_persstr[] = { + 0x91, 0xe7, 0x39, 0x30, 0xdf, 0xe4, 0x47, 0x4f, 0x9c, 0x03, 0x84, 0xdd, + 0xb3, 0xe9, 0xae, 0x45, 0x7c, 0x15, 0x99, 0x79, 0xd2, 0x53, 0x0d, 0xa5, + 0x02, 0x55, 0x0b, 0x4c, 0x56, 0xb7, 0xb9, 0x19, +}; +static const unsigned char kat779_addin0[] = { + 0x95, 0x7b, 0x9d, 0x93, 0x8d, 0x90, 0x67, 0x62, 0x65, 0xc9, 0x0e, 0x93, + 0x9f, 0x8b, 0xfa, 0xee, 0x7e, 0xb8, 0x04, 0xf3, 0x9c, 0x81, 0x9b, 0x9c, + 0x52, 0xbc, 0xc2, 0x05, 0x26, 0xca, 0xdc, 0x8c, +}; +static const unsigned char kat779_addin1[] = { + 0x51, 0x14, 0xa0, 0xde, 0xa8, 0x22, 0xe4, 0x4d, 0xc8, 0x70, 0xee, 0x63, + 0xa5, 0xe6, 0xbb, 0x16, 0xa1, 0x6c, 0x9d, 0x2c, 0x51, 0x71, 0x86, 0x14, + 0xdf, 0xe5, 0x88, 0x21, 0x71, 0xa1, 0xec, 0x54, +}; +static const unsigned char kat779_retbits[] = { + 0x73, 0x34, 0x66, 0x52, 0x0b, 0xb8, 0x90, 0x8e, 0x3e, 0x21, 0x89, 0x9e, + 0x20, 0xf7, 0x92, 0x76, 0x48, 0xde, 0x00, 0x6e, 0xa9, 0x39, 0x8f, 0x33, + 0xbc, 0x50, 0x15, 0x68, 0x8b, 0x43, 0xd5, 0x86, 0xe2, 0xd9, 0xf8, 0x29, + 0x4c, 0xa7, 0x81, 0x1f, 0xd4, 0x91, 0x56, 0xd0, 0xdb, 0xee, 0x67, 0x65, + 0xbb, 0xf4, 0xa1, 0xb5, 0x97, 0x77, 0x41, 0x01, 0x2d, 0x73, 0xe1, 0xe0, + 0xf4, 0x68, 0x20, 0x6f, +}; +static const struct drbg_kat_no_reseed kat779_t = { + 13, kat779_entropyin, kat779_nonce, kat779_persstr, + kat779_addin0, kat779_addin1, kat779_retbits +}; +static const struct drbg_kat kat779 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat779_t +}; + +static const unsigned char kat780_entropyin[] = { + 0xf4, 0xcb, 0xf9, 0x2e, 0x63, 0x48, 0x54, 0x2b, 0xc1, 0x08, 0xe7, 0xa6, + 0x64, 0x16, 0x18, 0x31, 0xf9, 0x92, 0x6d, 0xed, 0xfa, 0x8d, 0x4f, 0xa7, + 0xde, 0x94, 0x8c, 0x3a, 0x5d, 0xe0, 0x45, 0x74, +}; +static const unsigned char kat780_nonce[] = {0}; +static const unsigned char kat780_persstr[] = { + 0x24, 0x70, 0x9b, 0xd4, 0x70, 0x13, 0xc1, 0xd5, 0xf3, 0xe3, 0x2c, 0x60, + 0xe7, 0x89, 0xdd, 0x07, 0x3c, 0x70, 0x44, 0x1e, 0x43, 0x49, 0x9b, 0xae, + 0x31, 0x8b, 0xbb, 0x41, 0x71, 0x87, 0xa5, 0xbd, +}; +static const unsigned char kat780_addin0[] = { + 0x1e, 0xed, 0x74, 0x63, 0xc0, 0x04, 0xc9, 0x4b, 0x60, 0x02, 0x45, 0xf4, + 0x96, 0x7a, 0xf9, 0x55, 0x91, 0x9d, 0x0f, 0x32, 0x5a, 0x2b, 0xaf, 0x2e, + 0x9c, 0x5f, 0x6e, 0x15, 0x04, 0xbb, 0x6a, 0xf1, +}; +static const unsigned char kat780_addin1[] = { + 0x6e, 0xac, 0xe0, 0xfd, 0xab, 0xf1, 0xbc, 0x84, 0xd0, 0x8e, 0xaa, 0x4a, + 0xfc, 0xbe, 0xbd, 0x50, 0x2f, 0x1d, 0x83, 0x84, 0x7d, 0x2e, 0x86, 0xa1, + 0xe6, 0x81, 0x47, 0xb3, 0xb1, 0x5a, 0x76, 0xcf, +}; +static const unsigned char kat780_retbits[] = { + 0xda, 0x59, 0xc0, 0x92, 0x59, 0xec, 0xc1, 0xd6, 0x1e, 0x05, 0xd3, 0x19, + 0x8f, 0x34, 0x99, 0x04, 0xdf, 0x14, 0x68, 0xff, 0xaf, 0x85, 0xf5, 0xd6, + 0xcc, 0x57, 0x48, 0x9e, 0x27, 0x85, 0xe5, 0x4e, 0x71, 0x04, 0x13, 0x67, + 0x4b, 0xd2, 0xac, 0x41, 0x89, 0x6c, 0xe9, 0x01, 0x0d, 0x95, 0x88, 0x44, + 0x6e, 0x75, 0x40, 0xb3, 0x55, 0x19, 0xc4, 0x68, 0x9a, 0x58, 0x18, 0xac, + 0xe7, 0xdb, 0xe0, 0xa8, +}; +static const struct drbg_kat_no_reseed kat780_t = { + 14, kat780_entropyin, kat780_nonce, kat780_persstr, + kat780_addin0, kat780_addin1, kat780_retbits +}; +static const struct drbg_kat kat780 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat780_t +}; + +static const unsigned char kat781_entropyin[] = { + 0x69, 0xa0, 0x9f, 0x6b, 0xf5, 0xdd, 0xa1, 0x5c, 0xd4, 0xaf, 0x29, 0xe1, + 0x4c, 0xf5, 0xe0, 0xcd, 0xdd, 0x7d, 0x07, 0xac, 0x39, 0xbb, 0xa5, 0x87, + 0xf8, 0xbc, 0x33, 0x11, 0x04, 0xf9, 0xc4, 0x48, +}; +static const unsigned char kat781_nonce[] = {0}; +static const unsigned char kat781_persstr[] = {0}; +static const unsigned char kat781_addin0[] = {0}; +static const unsigned char kat781_addin1[] = {0}; +static const unsigned char kat781_retbits[] = { + 0xf7, 0x8a, 0x49, 0x19, 0xa6, 0xec, 0x89, 0x9f, 0x7b, 0x6c, 0x69, 0x38, + 0x1f, 0xeb, 0xbb, 0xe0, 0x83, 0x31, 0x5f, 0x3d, 0x28, 0x9e, 0x70, 0x34, + 0x6d, 0xb0, 0xe4, 0xec, 0x43, 0x60, 0x47, 0x3a, 0xe0, 0xb3, 0xd9, 0x16, + 0xe9, 0xb6, 0xb9, 0x64, 0x30, 0x9f, 0x75, 0x3e, 0xd6, 0x6a, 0xe5, 0x9d, + 0xe4, 0x8d, 0xa3, 0x16, 0xcc, 0x19, 0x44, 0xbc, 0x8d, 0xfd, 0x0e, 0x25, + 0x75, 0xd0, 0xff, 0x6d, +}; +static const struct drbg_kat_no_reseed kat781_t = { + 0, kat781_entropyin, kat781_nonce, kat781_persstr, + kat781_addin0, kat781_addin1, kat781_retbits +}; +static const struct drbg_kat kat781 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat781_t +}; + +static const unsigned char kat782_entropyin[] = { + 0x80, 0xbf, 0xbd, 0x34, 0x0d, 0x79, 0x88, 0x8f, 0x34, 0xf0, 0x43, 0xed, + 0x68, 0x07, 0xa9, 0xf2, 0x8b, 0x72, 0xb6, 0x64, 0x4d, 0x9d, 0x9e, 0x9d, + 0x77, 0x71, 0x09, 0x48, 0x2b, 0x80, 0x78, 0x8a, +}; +static const unsigned char kat782_nonce[] = {0}; +static const unsigned char kat782_persstr[] = {0}; +static const unsigned char kat782_addin0[] = {0}; +static const unsigned char kat782_addin1[] = {0}; +static const unsigned char kat782_retbits[] = { + 0x80, 0xdb, 0x04, 0x8d, 0x2f, 0x13, 0x0d, 0x86, 0x4b, 0x19, 0xbf, 0xc5, + 0x47, 0xc9, 0x25, 0x03, 0xe5, 0x80, 0xcb, 0x1a, 0x8e, 0x1f, 0x74, 0xf3, + 0xd9, 0x7f, 0xdd, 0xa6, 0x50, 0x1f, 0xb1, 0xaa, 0x81, 0xfc, 0xed, 0xac, + 0x0d, 0xd1, 0x8b, 0x6c, 0xcf, 0xdc, 0x18, 0x3c, 0xa2, 0x8a, 0x44, 0xfc, + 0x9f, 0x3a, 0x08, 0x83, 0x4b, 0xa8, 0x75, 0x1a, 0x2f, 0x44, 0x95, 0x36, + 0x7c, 0x54, 0xa1, 0x85, +}; +static const struct drbg_kat_no_reseed kat782_t = { + 1, kat782_entropyin, kat782_nonce, kat782_persstr, + kat782_addin0, kat782_addin1, kat782_retbits +}; +static const struct drbg_kat kat782 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat782_t +}; + +static const unsigned char kat783_entropyin[] = { + 0xa5, 0x59, 0xac, 0x98, 0x72, 0x79, 0x1d, 0x79, 0x19, 0x7e, 0x54, 0xda, + 0x70, 0xa8, 0xd8, 0x58, 0xfb, 0xe3, 0x9e, 0x85, 0x14, 0xd2, 0xc8, 0x6a, + 0x7b, 0xcf, 0xfa, 0xdc, 0x68, 0x78, 0x2e, 0xdf, +}; +static const unsigned char kat783_nonce[] = {0}; +static const unsigned char kat783_persstr[] = {0}; +static const unsigned char kat783_addin0[] = {0}; +static const unsigned char kat783_addin1[] = {0}; +static const unsigned char kat783_retbits[] = { + 0xd1, 0x4b, 0x72, 0xe1, 0x7c, 0x2f, 0x6f, 0x77, 0xb4, 0x6d, 0x07, 0x17, + 0xb7, 0x88, 0x42, 0x0e, 0x50, 0x3b, 0xb1, 0x8d, 0xe5, 0x42, 0x13, 0x5f, + 0x58, 0x6a, 0x90, 0xc5, 0xc7, 0x3f, 0xce, 0xee, 0xe5, 0x0f, 0xd1, 0x63, + 0x3b, 0x5b, 0x09, 0xab, 0x06, 0x1b, 0x93, 0x67, 0xca, 0x78, 0x5e, 0xcb, + 0x40, 0x0e, 0x1f, 0x36, 0x81, 0x58, 0x36, 0x61, 0xaa, 0xf8, 0x35, 0x21, + 0x84, 0x45, 0x4a, 0xe6, +}; +static const struct drbg_kat_no_reseed kat783_t = { + 2, kat783_entropyin, kat783_nonce, kat783_persstr, + kat783_addin0, kat783_addin1, kat783_retbits +}; +static const struct drbg_kat kat783 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat783_t +}; + +static const unsigned char kat784_entropyin[] = { + 0x30, 0x0f, 0xe1, 0x48, 0xdd, 0x39, 0xde, 0x1e, 0xdb, 0x99, 0x3c, 0xa5, + 0x26, 0x03, 0x73, 0xb3, 0xf5, 0xf0, 0x9a, 0x5c, 0xf7, 0xa3, 0x2b, 0x0c, + 0x41, 0xfe, 0x62, 0x24, 0xf9, 0x81, 0xd3, 0xb1, +}; +static const unsigned char kat784_nonce[] = {0}; +static const unsigned char kat784_persstr[] = {0}; +static const unsigned char kat784_addin0[] = {0}; +static const unsigned char kat784_addin1[] = {0}; +static const unsigned char kat784_retbits[] = { + 0xde, 0xea, 0x89, 0xb5, 0x12, 0x8f, 0xb9, 0x92, 0x69, 0x6d, 0x7b, 0x97, + 0xeb, 0xc2, 0xc0, 0x79, 0x36, 0x14, 0xb1, 0x72, 0xf4, 0xc7, 0x5b, 0xb8, + 0x3c, 0x12, 0xa1, 0xb3, 0x89, 0xba, 0xc3, 0xbf, 0xec, 0xb7, 0x73, 0xcd, + 0x77, 0x17, 0x58, 0x3c, 0x2b, 0x61, 0xb3, 0xb2, 0x43, 0xac, 0x96, 0x83, + 0xdb, 0xa4, 0xfb, 0xc0, 0x71, 0x82, 0xba, 0xd8, 0x27, 0x1a, 0x7f, 0x16, + 0xd8, 0x33, 0xe4, 0xd9, +}; +static const struct drbg_kat_no_reseed kat784_t = { + 3, kat784_entropyin, kat784_nonce, kat784_persstr, + kat784_addin0, kat784_addin1, kat784_retbits +}; +static const struct drbg_kat kat784 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat784_t +}; + +static const unsigned char kat785_entropyin[] = { + 0x0c, 0x6e, 0xe2, 0xa5, 0xd4, 0x63, 0x25, 0xba, 0xa8, 0xe9, 0xa3, 0xf6, + 0xb5, 0x98, 0xfc, 0x79, 0x0c, 0x51, 0x3d, 0x38, 0x7d, 0x47, 0x00, 0x11, + 0x16, 0xd1, 0x9a, 0x61, 0x4d, 0x20, 0x38, 0xc4, +}; +static const unsigned char kat785_nonce[] = {0}; +static const unsigned char kat785_persstr[] = {0}; +static const unsigned char kat785_addin0[] = {0}; +static const unsigned char kat785_addin1[] = {0}; +static const unsigned char kat785_retbits[] = { + 0xf1, 0xee, 0x11, 0xbe, 0x18, 0x92, 0x63, 0xfe, 0xd9, 0x93, 0x2c, 0x11, + 0x92, 0x21, 0x9d, 0x00, 0x37, 0x8e, 0x36, 0xce, 0x81, 0xa4, 0x31, 0x31, + 0x85, 0x45, 0xda, 0x9f, 0x81, 0xf5, 0x0c, 0x29, 0x13, 0xd1, 0xf7, 0xbe, + 0x49, 0x9c, 0xe9, 0xe1, 0xe3, 0x9f, 0x93, 0xee, 0x23, 0x60, 0x66, 0x8f, + 0x12, 0x73, 0x40, 0x69, 0x1c, 0x17, 0x71, 0x17, 0x07, 0xcf, 0x5f, 0x1f, + 0x8a, 0x4d, 0x93, 0xee, +}; +static const struct drbg_kat_no_reseed kat785_t = { + 4, kat785_entropyin, kat785_nonce, kat785_persstr, + kat785_addin0, kat785_addin1, kat785_retbits +}; +static const struct drbg_kat kat785 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat785_t +}; + +static const unsigned char kat786_entropyin[] = { + 0xbd, 0xbb, 0xa1, 0xad, 0x48, 0x03, 0xfd, 0xc7, 0x83, 0xef, 0x5d, 0x6e, + 0x2a, 0xa6, 0x6d, 0xc9, 0x48, 0xe9, 0x60, 0xbc, 0x11, 0xcc, 0xa8, 0x9a, + 0x60, 0xcf, 0xf5, 0xc6, 0x0e, 0x98, 0x43, 0x02, +}; +static const unsigned char kat786_nonce[] = {0}; +static const unsigned char kat786_persstr[] = {0}; +static const unsigned char kat786_addin0[] = {0}; +static const unsigned char kat786_addin1[] = {0}; +static const unsigned char kat786_retbits[] = { + 0x26, 0x0a, 0x32, 0xc3, 0x97, 0x37, 0x50, 0xe0, 0xc1, 0x0f, 0x7f, 0x74, + 0x95, 0xd4, 0x6e, 0x7c, 0x36, 0x91, 0xc2, 0x7a, 0x58, 0xe8, 0x28, 0xcd, + 0xef, 0x48, 0xef, 0x66, 0x07, 0x16, 0xf7, 0x71, 0xd6, 0x1c, 0x3c, 0x76, + 0xdb, 0x40, 0x7d, 0x81, 0x60, 0x66, 0xf5, 0xaf, 0xbf, 0x16, 0x99, 0x34, + 0x85, 0xcd, 0xb6, 0x53, 0xd4, 0x18, 0xdd, 0x65, 0xff, 0xa5, 0xd3, 0x82, + 0x57, 0x32, 0xb8, 0xcb, +}; +static const struct drbg_kat_no_reseed kat786_t = { + 5, kat786_entropyin, kat786_nonce, kat786_persstr, + kat786_addin0, kat786_addin1, kat786_retbits +}; +static const struct drbg_kat kat786 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat786_t +}; + +static const unsigned char kat787_entropyin[] = { + 0x22, 0x58, 0x7b, 0xfd, 0xce, 0x62, 0xf4, 0xaf, 0xc1, 0xdd, 0x26, 0x73, + 0xf5, 0x30, 0x83, 0x64, 0xf2, 0x7d, 0xb9, 0x91, 0x2a, 0xd0, 0x1b, 0x04, + 0x5e, 0x74, 0xdb, 0x45, 0x18, 0x43, 0x59, 0x59, +}; +static const unsigned char kat787_nonce[] = {0}; +static const unsigned char kat787_persstr[] = {0}; +static const unsigned char kat787_addin0[] = {0}; +static const unsigned char kat787_addin1[] = {0}; +static const unsigned char kat787_retbits[] = { + 0xc9, 0x04, 0xd0, 0x30, 0x89, 0xb7, 0xdd, 0x1f, 0x17, 0x56, 0x4a, 0x7e, + 0xf7, 0x0b, 0x17, 0xbb, 0x1b, 0x29, 0xc0, 0xc1, 0x79, 0x3c, 0xc8, 0xd9, + 0x2b, 0x8c, 0x15, 0x8c, 0x04, 0xca, 0x53, 0x66, 0x91, 0x9f, 0x8c, 0xaf, + 0x54, 0x4d, 0x5d, 0x07, 0xc2, 0x8a, 0xbe, 0x6d, 0x14, 0xba, 0xaa, 0x0c, + 0x56, 0x60, 0x2d, 0xf1, 0xc3, 0x73, 0xe9, 0xac, 0xc4, 0x19, 0xe3, 0xc9, + 0x32, 0xe5, 0x77, 0xe6, +}; +static const struct drbg_kat_no_reseed kat787_t = { + 6, kat787_entropyin, kat787_nonce, kat787_persstr, + kat787_addin0, kat787_addin1, kat787_retbits +}; +static const struct drbg_kat kat787 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat787_t +}; + +static const unsigned char kat788_entropyin[] = { + 0x8a, 0xbe, 0xfb, 0xb2, 0x3d, 0xfd, 0x58, 0xd8, 0x2b, 0x88, 0xa4, 0xc4, + 0xfc, 0xfc, 0xee, 0x18, 0x3c, 0xe0, 0x1d, 0xb9, 0x75, 0xed, 0xee, 0xb4, + 0x04, 0xbd, 0x21, 0x6e, 0x61, 0x77, 0xea, 0x0d, +}; +static const unsigned char kat788_nonce[] = {0}; +static const unsigned char kat788_persstr[] = {0}; +static const unsigned char kat788_addin0[] = {0}; +static const unsigned char kat788_addin1[] = {0}; +static const unsigned char kat788_retbits[] = { + 0x8a, 0x70, 0x8e, 0x8a, 0x99, 0x03, 0x53, 0x89, 0xa4, 0xd6, 0x6d, 0x57, + 0xd1, 0x2f, 0x48, 0x8e, 0xcb, 0xa5, 0x7a, 0x3b, 0x2c, 0xa7, 0x80, 0x15, + 0xbe, 0xda, 0xe0, 0x6a, 0xaa, 0x41, 0x4d, 0x79, 0x11, 0x96, 0xe2, 0x62, + 0xb2, 0x8f, 0xbd, 0x74, 0x5d, 0xff, 0x94, 0xf8, 0xfe, 0x60, 0x06, 0x87, + 0xc9, 0xce, 0x2f, 0x50, 0xcf, 0x6d, 0x79, 0xd3, 0x9b, 0x8c, 0x5e, 0xa3, + 0x65, 0x33, 0x75, 0x5d, +}; +static const struct drbg_kat_no_reseed kat788_t = { + 7, kat788_entropyin, kat788_nonce, kat788_persstr, + kat788_addin0, kat788_addin1, kat788_retbits +}; +static const struct drbg_kat kat788 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat788_t +}; + +static const unsigned char kat789_entropyin[] = { + 0xc4, 0x5c, 0x9f, 0xec, 0x6b, 0xb8, 0x3f, 0xb0, 0x80, 0x08, 0x87, 0x7c, + 0x70, 0xb6, 0x32, 0xd7, 0x92, 0x11, 0x9a, 0x35, 0xc4, 0xc5, 0x98, 0x8c, + 0x40, 0x26, 0xcf, 0x3f, 0x86, 0x12, 0xb8, 0x00, +}; +static const unsigned char kat789_nonce[] = {0}; +static const unsigned char kat789_persstr[] = {0}; +static const unsigned char kat789_addin0[] = {0}; +static const unsigned char kat789_addin1[] = {0}; +static const unsigned char kat789_retbits[] = { + 0x84, 0x43, 0x0e, 0x49, 0xa9, 0xb4, 0xd3, 0x95, 0xd0, 0x55, 0xca, 0x0e, + 0xfd, 0xf2, 0x85, 0xa7, 0x55, 0x1c, 0x5f, 0x71, 0x19, 0xdb, 0xea, 0x5c, + 0x10, 0xda, 0xaa, 0x9e, 0x8b, 0xe0, 0x41, 0xe2, 0x3e, 0x9b, 0xc8, 0x93, + 0xc9, 0x0a, 0x35, 0xb7, 0x7b, 0x19, 0xdc, 0x20, 0x2e, 0xc8, 0x34, 0x17, + 0x2e, 0x6c, 0x8c, 0xea, 0x97, 0xc9, 0xd7, 0xc6, 0x8d, 0xf1, 0x37, 0x4a, + 0xee, 0xa9, 0x45, 0x37, +}; +static const struct drbg_kat_no_reseed kat789_t = { + 8, kat789_entropyin, kat789_nonce, kat789_persstr, + kat789_addin0, kat789_addin1, kat789_retbits +}; +static const struct drbg_kat kat789 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat789_t +}; + +static const unsigned char kat790_entropyin[] = { + 0x58, 0xcb, 0xcc, 0xd7, 0xf8, 0x6e, 0x5f, 0x04, 0x72, 0xdc, 0xb3, 0x77, + 0xf5, 0x98, 0xf2, 0xd4, 0x2e, 0xd9, 0x6a, 0xfd, 0xf0, 0xc8, 0xe4, 0x5f, + 0x12, 0xc4, 0xff, 0x4a, 0x96, 0x9c, 0x5b, 0x6b, +}; +static const unsigned char kat790_nonce[] = {0}; +static const unsigned char kat790_persstr[] = {0}; +static const unsigned char kat790_addin0[] = {0}; +static const unsigned char kat790_addin1[] = {0}; +static const unsigned char kat790_retbits[] = { + 0x41, 0xff, 0x55, 0xd0, 0x58, 0xbe, 0xaa, 0x04, 0x30, 0x8b, 0xd0, 0xb3, + 0x9d, 0x48, 0x01, 0xf7, 0x0f, 0x23, 0xd8, 0x29, 0x03, 0x7e, 0x4c, 0xc9, + 0xb2, 0xea, 0x0e, 0xac, 0xf5, 0xae, 0xf9, 0xb8, 0xe3, 0x3f, 0xc5, 0x9c, + 0x52, 0x8b, 0x53, 0xbc, 0xe0, 0x8d, 0x2b, 0x53, 0x6d, 0x37, 0xbf, 0x19, + 0x4c, 0x79, 0x7f, 0x03, 0x29, 0x04, 0x94, 0xdd, 0x00, 0xef, 0x24, 0x4a, + 0xc2, 0x23, 0xe3, 0x50, +}; +static const struct drbg_kat_no_reseed kat790_t = { + 9, kat790_entropyin, kat790_nonce, kat790_persstr, + kat790_addin0, kat790_addin1, kat790_retbits +}; +static const struct drbg_kat kat790 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat790_t +}; + +static const unsigned char kat791_entropyin[] = { + 0xd5, 0x05, 0x58, 0xdf, 0xb7, 0xa8, 0x96, 0x6c, 0x63, 0xb3, 0xa1, 0xd0, + 0xa8, 0x37, 0x97, 0x0a, 0xd0, 0xbf, 0xf5, 0xad, 0xbd, 0x8a, 0xda, 0xca, + 0xe5, 0xd3, 0xac, 0xcf, 0xde, 0x64, 0xcd, 0x4d, +}; +static const unsigned char kat791_nonce[] = {0}; +static const unsigned char kat791_persstr[] = {0}; +static const unsigned char kat791_addin0[] = {0}; +static const unsigned char kat791_addin1[] = {0}; +static const unsigned char kat791_retbits[] = { + 0xe9, 0x13, 0x61, 0x51, 0x1d, 0x92, 0x6b, 0xe4, 0xd9, 0x97, 0xfc, 0x97, + 0x0b, 0x1a, 0x5d, 0xcd, 0xb3, 0x3a, 0x71, 0x1f, 0x21, 0x5c, 0xbd, 0xbf, + 0xfa, 0xbf, 0xcd, 0xaa, 0x62, 0x48, 0x59, 0x68, 0x91, 0xd5, 0x5a, 0x9e, + 0x64, 0xf4, 0xe9, 0xf5, 0x18, 0x5e, 0xd7, 0x05, 0x6f, 0x7c, 0xbb, 0x42, + 0xf4, 0x74, 0xa2, 0x35, 0x42, 0xfe, 0x9e, 0x9c, 0x24, 0x95, 0x18, 0x2c, + 0xef, 0xb3, 0x8a, 0x6a, +}; +static const struct drbg_kat_no_reseed kat791_t = { + 10, kat791_entropyin, kat791_nonce, kat791_persstr, + kat791_addin0, kat791_addin1, kat791_retbits +}; +static const struct drbg_kat kat791 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat791_t +}; + +static const unsigned char kat792_entropyin[] = { + 0xf7, 0x0c, 0xe2, 0x83, 0xef, 0xd5, 0xba, 0x36, 0xc2, 0x84, 0xcb, 0x26, + 0x7d, 0x22, 0xe2, 0x3d, 0xc4, 0x16, 0x71, 0xb2, 0xaa, 0xae, 0x98, 0xe6, + 0x38, 0xc6, 0xe4, 0x51, 0xbc, 0x9c, 0x3c, 0xbb, +}; +static const unsigned char kat792_nonce[] = {0}; +static const unsigned char kat792_persstr[] = {0}; +static const unsigned char kat792_addin0[] = {0}; +static const unsigned char kat792_addin1[] = {0}; +static const unsigned char kat792_retbits[] = { + 0xfd, 0x9b, 0x3b, 0x53, 0xe1, 0x2b, 0x67, 0x02, 0xe4, 0xc6, 0xe4, 0xac, + 0xac, 0x33, 0xae, 0xae, 0x5c, 0xeb, 0x34, 0xce, 0xbf, 0xff, 0xa7, 0x00, + 0x7c, 0xb1, 0xab, 0x1c, 0x3b, 0x4b, 0xe1, 0xa3, 0x8e, 0x5c, 0x86, 0xde, + 0xa0, 0x77, 0x5a, 0xb0, 0xc8, 0x9a, 0xe1, 0x35, 0xe0, 0xb3, 0x6d, 0xa0, + 0x87, 0x92, 0x1d, 0x3f, 0xf2, 0x75, 0xff, 0xc8, 0xe5, 0xdc, 0xee, 0x6e, + 0x3d, 0x66, 0xee, 0x43, +}; +static const struct drbg_kat_no_reseed kat792_t = { + 11, kat792_entropyin, kat792_nonce, kat792_persstr, + kat792_addin0, kat792_addin1, kat792_retbits +}; +static const struct drbg_kat kat792 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat792_t +}; + +static const unsigned char kat793_entropyin[] = { + 0x58, 0xeb, 0x54, 0x4f, 0x44, 0xdf, 0xe1, 0x04, 0x8a, 0x81, 0x13, 0xd4, + 0xb6, 0x90, 0x90, 0x50, 0xab, 0xf9, 0x01, 0x00, 0x36, 0x23, 0x3b, 0xe7, + 0xf8, 0xfc, 0xc4, 0x1f, 0x39, 0xba, 0xff, 0x9c, +}; +static const unsigned char kat793_nonce[] = {0}; +static const unsigned char kat793_persstr[] = {0}; +static const unsigned char kat793_addin0[] = {0}; +static const unsigned char kat793_addin1[] = {0}; +static const unsigned char kat793_retbits[] = { + 0x5c, 0x6a, 0xed, 0xc0, 0x20, 0xe7, 0x64, 0xf4, 0xd3, 0xbb, 0x8a, 0xbc, + 0x29, 0x07, 0xc9, 0xc6, 0x04, 0xdd, 0x98, 0xe1, 0xcf, 0xc2, 0x88, 0x2e, + 0xa7, 0x2d, 0x55, 0x4e, 0x39, 0xfe, 0x86, 0x46, 0x3a, 0x51, 0x88, 0x6d, + 0x98, 0x0a, 0xc8, 0xcd, 0xda, 0x0f, 0x4e, 0x58, 0x42, 0x26, 0xd4, 0x53, + 0x44, 0xe4, 0x3d, 0xd8, 0x4e, 0x84, 0x30, 0xf5, 0x8c, 0x38, 0x80, 0xa0, + 0xce, 0x93, 0x08, 0x63, +}; +static const struct drbg_kat_no_reseed kat793_t = { + 12, kat793_entropyin, kat793_nonce, kat793_persstr, + kat793_addin0, kat793_addin1, kat793_retbits +}; +static const struct drbg_kat kat793 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat793_t +}; + +static const unsigned char kat794_entropyin[] = { + 0xb6, 0x94, 0xce, 0x5f, 0x4d, 0x9a, 0xf4, 0xce, 0x93, 0x62, 0x66, 0x36, + 0xc9, 0xec, 0xb3, 0x41, 0xf3, 0xf5, 0x15, 0x2f, 0xd5, 0x80, 0x74, 0x52, + 0x02, 0xcd, 0x0c, 0x83, 0xf4, 0xd5, 0xb4, 0xc5, +}; +static const unsigned char kat794_nonce[] = {0}; +static const unsigned char kat794_persstr[] = {0}; +static const unsigned char kat794_addin0[] = {0}; +static const unsigned char kat794_addin1[] = {0}; +static const unsigned char kat794_retbits[] = { + 0x78, 0xb3, 0x2d, 0x39, 0x6f, 0x5a, 0x91, 0x9f, 0x5c, 0xcb, 0x9b, 0xe2, + 0xaf, 0xaf, 0x5f, 0x62, 0x12, 0xd7, 0x5b, 0xf0, 0x84, 0xe9, 0x93, 0x57, + 0xe2, 0x8c, 0xcc, 0x98, 0xd4, 0x33, 0x69, 0x64, 0x55, 0xb1, 0x0a, 0x85, + 0xec, 0xaf, 0x61, 0x68, 0x6a, 0x96, 0x60, 0x6f, 0xf3, 0xe8, 0x96, 0x23, + 0x21, 0x35, 0x8a, 0x56, 0xfa, 0x53, 0xca, 0xbb, 0xf1, 0x6c, 0x65, 0xc1, + 0xc3, 0x2d, 0xeb, 0xcd, +}; +static const struct drbg_kat_no_reseed kat794_t = { + 13, kat794_entropyin, kat794_nonce, kat794_persstr, + kat794_addin0, kat794_addin1, kat794_retbits +}; +static const struct drbg_kat kat794 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat794_t +}; + +static const unsigned char kat795_entropyin[] = { + 0x42, 0xcb, 0x18, 0x3d, 0x2a, 0x04, 0xc8, 0x9c, 0x69, 0xef, 0xbc, 0xec, + 0x08, 0xbe, 0xe2, 0x00, 0x3b, 0x9a, 0x1c, 0xd5, 0x68, 0x78, 0xa7, 0x74, + 0xf0, 0x16, 0x2b, 0xf7, 0x0f, 0x2c, 0x70, 0x8f, +}; +static const unsigned char kat795_nonce[] = {0}; +static const unsigned char kat795_persstr[] = {0}; +static const unsigned char kat795_addin0[] = {0}; +static const unsigned char kat795_addin1[] = {0}; +static const unsigned char kat795_retbits[] = { + 0xcb, 0x4a, 0xfd, 0xec, 0x03, 0x3b, 0x42, 0x94, 0x9e, 0xbb, 0xb2, 0x72, + 0x45, 0xfd, 0x33, 0xc1, 0x50, 0x3c, 0x12, 0x78, 0x02, 0x7e, 0x11, 0xa1, + 0xf0, 0x50, 0xe0, 0x40, 0x80, 0xab, 0xe4, 0x85, 0x08, 0x21, 0xb7, 0x1e, + 0xd5, 0xa6, 0xbd, 0x83, 0xda, 0x6b, 0xde, 0x8e, 0x56, 0xc5, 0xfa, 0xed, + 0x49, 0xda, 0x26, 0x88, 0x70, 0x28, 0xba, 0xb8, 0x07, 0xd1, 0xad, 0x05, + 0x5e, 0x2a, 0x8a, 0x27, +}; +static const struct drbg_kat_no_reseed kat795_t = { + 14, kat795_entropyin, kat795_nonce, kat795_persstr, + kat795_addin0, kat795_addin1, kat795_retbits +}; +static const struct drbg_kat kat795 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat795_t +}; + +static const unsigned char kat796_entropyin[] = { + 0x7f, 0x40, 0x80, 0x46, 0x93, 0x55, 0x2e, 0x31, 0x75, 0x23, 0xfd, 0xa6, + 0x93, 0x5a, 0x5b, 0xc8, 0x14, 0x35, 0x3b, 0x1f, 0xbb, 0x7d, 0x33, 0x49, + 0x64, 0xac, 0x4d, 0x1d, 0x12, 0xdd, 0xcc, 0xce, +}; +static const unsigned char kat796_nonce[] = {0}; +static const unsigned char kat796_persstr[] = {0}; +static const unsigned char kat796_addin0[] = { + 0x95, 0xc0, 0x42, 0x59, 0xf6, 0x4f, 0xcd, 0x1f, 0xe0, 0x0c, 0x18, 0x3a, + 0xa3, 0xfb, 0x76, 0xb8, 0xa7, 0x3b, 0x4d, 0x12, 0x43, 0xb8, 0x00, 0xd7, + 0x70, 0xe3, 0x85, 0x15, 0xbc, 0x41, 0x14, 0x3c, +}; +static const unsigned char kat796_addin1[] = { + 0x55, 0x23, 0x10, 0x2d, 0xbd, 0x7f, 0xe1, 0x22, 0x84, 0x36, 0xb9, 0x1a, + 0x76, 0x5b, 0x16, 0x5a, 0xe6, 0x40, 0x5e, 0xb0, 0x23, 0x6e, 0x23, 0x7a, + 0xfa, 0xd4, 0x75, 0x9c, 0xf0, 0x88, 0x89, 0x41, +}; +static const unsigned char kat796_retbits[] = { + 0x1a, 0xbf, 0x6b, 0xcc, 0xb4, 0xc2, 0xd6, 0x4e, 0x51, 0x87, 0xb1, 0xe2, + 0xe3, 0x4e, 0x49, 0x3e, 0xca, 0x20, 0x4e, 0xe4, 0xee, 0xf0, 0xd9, 0x64, + 0x26, 0x7e, 0x38, 0x22, 0x8f, 0x5f, 0x20, 0xef, 0xba, 0x37, 0x64, 0x30, + 0xa2, 0x66, 0xf3, 0x83, 0x29, 0x16, 0xd0, 0xa4, 0x5b, 0x27, 0x03, 0xf4, + 0x64, 0x01, 0xdf, 0xd1, 0x45, 0xe4, 0x47, 0xa0, 0xa1, 0x66, 0x7e, 0xbd, + 0x8b, 0x6e, 0xe7, 0x48, +}; +static const struct drbg_kat_no_reseed kat796_t = { + 0, kat796_entropyin, kat796_nonce, kat796_persstr, + kat796_addin0, kat796_addin1, kat796_retbits +}; +static const struct drbg_kat kat796 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat796_t +}; + +static const unsigned char kat797_entropyin[] = { + 0x35, 0x0d, 0xf6, 0x77, 0x40, 0x9a, 0x1d, 0xc2, 0x97, 0xd0, 0x1d, 0x37, + 0x16, 0xa2, 0xab, 0xdf, 0xa6, 0x27, 0x2c, 0xd0, 0x30, 0xab, 0x75, 0xf7, + 0x68, 0x39, 0x64, 0x85, 0x82, 0xb4, 0x71, 0x13, +}; +static const unsigned char kat797_nonce[] = {0}; +static const unsigned char kat797_persstr[] = {0}; +static const unsigned char kat797_addin0[] = { + 0xba, 0x57, 0x09, 0xa1, 0x2a, 0xe6, 0x63, 0x4a, 0x54, 0x36, 0xb7, 0xea, + 0x06, 0x83, 0x8b, 0x48, 0xf7, 0xb8, 0x47, 0xa2, 0x37, 0xf6, 0x65, 0x4a, + 0x0e, 0x27, 0xc7, 0x76, 0xeb, 0xee, 0x95, 0x11, +}; +static const unsigned char kat797_addin1[] = { + 0xf1, 0xb2, 0xc7, 0x17, 0xc5, 0xe3, 0xa9, 0x34, 0x12, 0x7e, 0x10, 0x47, + 0x1d, 0x67, 0xac, 0xcc, 0x65, 0xf4, 0xa4, 0x50, 0x10, 0xca, 0x53, 0xb3, + 0x5f, 0x54, 0xc8, 0x88, 0x33, 0xdb, 0xd8, 0xe7, +}; +static const unsigned char kat797_retbits[] = { + 0x1e, 0xf1, 0xea, 0x27, 0x98, 0x12, 0xe8, 0xab, 0xe5, 0x4f, 0x7f, 0xfd, + 0x12, 0xd0, 0x4c, 0x80, 0xae, 0x40, 0x74, 0x1f, 0x4c, 0xcf, 0xe2, 0x32, + 0xa5, 0xfb, 0xa3, 0xa7, 0x8d, 0xfd, 0x3e, 0x2e, 0xd4, 0x19, 0xb8, 0x8e, + 0xe9, 0x18, 0x8d, 0xf7, 0x24, 0x16, 0x0c, 0xbb, 0x3a, 0xea, 0x0f, 0x27, + 0x6e, 0x84, 0xa3, 0xc0, 0xff, 0x01, 0xe3, 0xb8, 0x9f, 0xe3, 0x0e, 0xbc, + 0xfa, 0x64, 0xcb, 0x86, +}; +static const struct drbg_kat_no_reseed kat797_t = { + 1, kat797_entropyin, kat797_nonce, kat797_persstr, + kat797_addin0, kat797_addin1, kat797_retbits +}; +static const struct drbg_kat kat797 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat797_t +}; + +static const unsigned char kat798_entropyin[] = { + 0xd6, 0x2a, 0xa5, 0x85, 0xb3, 0x44, 0xad, 0xaf, 0xfb, 0x31, 0x01, 0x0b, + 0xce, 0xf4, 0x0a, 0x1d, 0x6e, 0xc6, 0x29, 0xc4, 0xf4, 0xc5, 0xa2, 0x4c, + 0x37, 0x87, 0x7f, 0x19, 0xcc, 0x05, 0xb3, 0xb4, +}; +static const unsigned char kat798_nonce[] = {0}; +static const unsigned char kat798_persstr[] = {0}; +static const unsigned char kat798_addin0[] = { + 0x7f, 0x98, 0x0b, 0x7b, 0x8c, 0x72, 0x5c, 0x92, 0xc2, 0xc3, 0xdc, 0x73, + 0x5b, 0xc2, 0x16, 0xcb, 0x46, 0x62, 0xb0, 0xb8, 0x90, 0x52, 0x89, 0xa8, + 0xf3, 0xf2, 0xe3, 0x99, 0x96, 0xa1, 0x03, 0xdb, +}; +static const unsigned char kat798_addin1[] = { + 0xe1, 0xd3, 0xa1, 0x41, 0xbc, 0xda, 0xec, 0x1b, 0x11, 0x5c, 0x9a, 0x7b, + 0xf7, 0x6d, 0xed, 0xc7, 0x8d, 0xf6, 0x83, 0xe7, 0x42, 0x7f, 0x04, 0xd1, + 0x0e, 0xdd, 0xa1, 0x8f, 0xd9, 0x3d, 0x68, 0xe3, +}; +static const unsigned char kat798_retbits[] = { + 0x60, 0xca, 0xfc, 0xd5, 0x28, 0x63, 0xc6, 0xeb, 0x2d, 0xee, 0x96, 0x48, + 0x13, 0x3a, 0x42, 0x06, 0x46, 0xae, 0xda, 0xc5, 0xe2, 0x69, 0x7e, 0x50, + 0x31, 0x80, 0xdf, 0xde, 0x1c, 0xa2, 0xd1, 0xa2, 0xfc, 0xb1, 0x9b, 0x05, + 0x9c, 0x3b, 0x6b, 0xf8, 0xe4, 0xb2, 0x76, 0x77, 0x78, 0x28, 0xb1, 0x38, + 0x4d, 0x86, 0xe8, 0x7d, 0xfc, 0x9d, 0x69, 0xed, 0x3e, 0x27, 0x61, 0x0c, + 0x2b, 0x5e, 0xc8, 0x42, +}; +static const struct drbg_kat_no_reseed kat798_t = { + 2, kat798_entropyin, kat798_nonce, kat798_persstr, + kat798_addin0, kat798_addin1, kat798_retbits +}; +static const struct drbg_kat kat798 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat798_t +}; + +static const unsigned char kat799_entropyin[] = { + 0x9c, 0x65, 0x30, 0x5b, 0x5b, 0xf8, 0x23, 0x44, 0x05, 0x68, 0x22, 0x7e, + 0x45, 0x8d, 0x7f, 0xc1, 0x07, 0xef, 0xd6, 0x6f, 0xc6, 0x3e, 0x27, 0xac, + 0xce, 0x90, 0x02, 0x0b, 0x6c, 0x0b, 0xe2, 0x56, +}; +static const unsigned char kat799_nonce[] = {0}; +static const unsigned char kat799_persstr[] = {0}; +static const unsigned char kat799_addin0[] = { + 0x64, 0xff, 0xc1, 0x7e, 0x8c, 0x9d, 0xd2, 0x44, 0xe8, 0x63, 0x40, 0x52, + 0x65, 0xf4, 0x8e, 0x0b, 0xb2, 0x51, 0x8f, 0x7e, 0x5d, 0xc0, 0x1a, 0x99, + 0xec, 0x83, 0x81, 0x99, 0x8f, 0x78, 0x19, 0x0f, +}; +static const unsigned char kat799_addin1[] = { + 0xcd, 0x62, 0xc9, 0xf0, 0xe4, 0xdb, 0x01, 0x1f, 0x60, 0x68, 0x75, 0x79, + 0x9e, 0x3f, 0xfe, 0x12, 0x9b, 0xeb, 0x1f, 0xd6, 0x80, 0x15, 0xf5, 0x97, + 0x2f, 0x1b, 0x98, 0x46, 0x96, 0x84, 0xef, 0xec, +}; +static const unsigned char kat799_retbits[] = { + 0xc4, 0xe9, 0xac, 0xc0, 0xb6, 0x58, 0xa0, 0x4f, 0xb3, 0xea, 0xdb, 0xf9, + 0x84, 0x40, 0x47, 0x3a, 0x3a, 0xaf, 0x4b, 0x05, 0xf7, 0xcd, 0x39, 0xe4, + 0x60, 0xb7, 0xf4, 0x64, 0x8c, 0xbd, 0x45, 0x2a, 0x9f, 0x21, 0x91, 0x32, + 0x0c, 0x69, 0x32, 0x89, 0x2a, 0x08, 0xf5, 0x8a, 0x68, 0x5b, 0x7d, 0x52, + 0x5b, 0x08, 0x75, 0x66, 0xad, 0xd4, 0x53, 0x4e, 0x0c, 0x13, 0x07, 0x94, + 0x22, 0x55, 0x22, 0x04, +}; +static const struct drbg_kat_no_reseed kat799_t = { + 3, kat799_entropyin, kat799_nonce, kat799_persstr, + kat799_addin0, kat799_addin1, kat799_retbits +}; +static const struct drbg_kat kat799 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat799_t +}; + +static const unsigned char kat800_entropyin[] = { + 0xa5, 0xc7, 0x81, 0x32, 0xf4, 0x31, 0xc1, 0x6e, 0xed, 0x01, 0xf5, 0x6b, + 0x60, 0x0d, 0x62, 0x8e, 0xeb, 0xbd, 0xd9, 0xf1, 0xe2, 0x73, 0xc7, 0x3d, + 0x8d, 0x9c, 0x8e, 0x51, 0x72, 0x38, 0x79, 0x1a, +}; +static const unsigned char kat800_nonce[] = {0}; +static const unsigned char kat800_persstr[] = {0}; +static const unsigned char kat800_addin0[] = { + 0x47, 0xc2, 0xe6, 0xa9, 0x1a, 0x44, 0xc6, 0x3e, 0x86, 0x81, 0x7c, 0xcb, + 0xc8, 0x3e, 0xb2, 0x20, 0x53, 0x45, 0xcc, 0x47, 0x1a, 0xac, 0x3e, 0xb8, + 0x04, 0xb3, 0xc1, 0x29, 0x75, 0x74, 0xd8, 0x18, +}; +static const unsigned char kat800_addin1[] = { + 0x33, 0xb2, 0x8b, 0x7a, 0xfa, 0x3d, 0xb3, 0xc9, 0x65, 0x47, 0x1e, 0xe9, + 0x9b, 0xe5, 0x95, 0xa5, 0x6b, 0x85, 0x5b, 0x4a, 0x43, 0x13, 0x6f, 0x4d, + 0xdd, 0x6d, 0x17, 0x57, 0x6d, 0x7a, 0x5f, 0x29, +}; +static const unsigned char kat800_retbits[] = { + 0xa1, 0x9e, 0xa9, 0x9b, 0x55, 0x08, 0x5f, 0x38, 0x3d, 0x7d, 0x35, 0xaf, + 0x58, 0x54, 0xbe, 0x11, 0x5e, 0xf5, 0x06, 0xe0, 0x7a, 0xf4, 0x98, 0x82, + 0x05, 0xbf, 0x9d, 0xe8, 0x78, 0xa4, 0x52, 0x83, 0x1a, 0x3d, 0xb3, 0x3b, + 0x9b, 0x5c, 0x96, 0x59, 0x39, 0xa7, 0x22, 0x59, 0x9d, 0x97, 0x6a, 0xed, + 0x32, 0x6b, 0x2b, 0xe6, 0xd2, 0x14, 0xdf, 0x49, 0x11, 0xd3, 0x8e, 0xaa, + 0xb8, 0xb0, 0x6c, 0x0d, +}; +static const struct drbg_kat_no_reseed kat800_t = { + 4, kat800_entropyin, kat800_nonce, kat800_persstr, + kat800_addin0, kat800_addin1, kat800_retbits +}; +static const struct drbg_kat kat800 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat800_t +}; + +static const unsigned char kat801_entropyin[] = { + 0x7b, 0x2f, 0xbc, 0x29, 0xb3, 0x1c, 0x2a, 0xe4, 0xb0, 0x4e, 0x3a, 0xfa, + 0x80, 0x16, 0xd3, 0x9a, 0x36, 0x4c, 0x51, 0x55, 0x55, 0xc7, 0x49, 0xbe, + 0xe4, 0xd9, 0xcf, 0xba, 0x78, 0x62, 0x53, 0x29, +}; +static const unsigned char kat801_nonce[] = {0}; +static const unsigned char kat801_persstr[] = {0}; +static const unsigned char kat801_addin0[] = { + 0x50, 0x0c, 0x5a, 0x69, 0xbd, 0xac, 0x31, 0x9f, 0xa7, 0xbf, 0x3d, 0x14, + 0xc0, 0x2a, 0xef, 0xfd, 0x7e, 0xad, 0x71, 0x89, 0x5e, 0x08, 0xd6, 0x08, + 0xba, 0xf0, 0x39, 0x77, 0xe5, 0x96, 0xc1, 0xeb, +}; +static const unsigned char kat801_addin1[] = { + 0xf0, 0xbe, 0x7f, 0x9d, 0x86, 0xbc, 0x91, 0x6a, 0xa4, 0x95, 0x00, 0x41, + 0xb0, 0x0a, 0x2d, 0x22, 0x85, 0x68, 0xf5, 0x08, 0x0d, 0xf8, 0x1a, 0x8a, + 0xd8, 0x89, 0x3a, 0xfc, 0x76, 0xa1, 0xfd, 0x7a, +}; +static const unsigned char kat801_retbits[] = { + 0x92, 0x59, 0x11, 0xee, 0x20, 0x8d, 0x75, 0xb3, 0x68, 0xc1, 0x9b, 0x84, + 0x3d, 0x17, 0x6b, 0x24, 0xf2, 0xa0, 0xea, 0x8b, 0x07, 0x0b, 0xed, 0xeb, + 0x70, 0x75, 0x3c, 0xf6, 0x2a, 0xaf, 0x70, 0x48, 0x0d, 0x65, 0x2c, 0x16, + 0x95, 0x5e, 0x96, 0x1a, 0xc8, 0x40, 0x64, 0x8e, 0xa6, 0xcb, 0xa2, 0x1c, + 0x4d, 0xe0, 0xb3, 0x01, 0x65, 0xf2, 0xd0, 0x3c, 0x85, 0xbb, 0x9e, 0x31, + 0xa9, 0xea, 0x03, 0x6f, +}; +static const struct drbg_kat_no_reseed kat801_t = { + 5, kat801_entropyin, kat801_nonce, kat801_persstr, + kat801_addin0, kat801_addin1, kat801_retbits +}; +static const struct drbg_kat kat801 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat801_t +}; + +static const unsigned char kat802_entropyin[] = { + 0x32, 0xa8, 0x12, 0xab, 0xbf, 0xdd, 0xd3, 0x55, 0xe2, 0xf7, 0x43, 0x95, + 0x4f, 0x28, 0xf4, 0x14, 0x25, 0xf1, 0x76, 0xc3, 0xc6, 0x38, 0x7f, 0x0c, + 0xcd, 0x9b, 0x99, 0x25, 0x03, 0x97, 0xcf, 0x3e, +}; +static const unsigned char kat802_nonce[] = {0}; +static const unsigned char kat802_persstr[] = {0}; +static const unsigned char kat802_addin0[] = { + 0x60, 0xcd, 0x7a, 0xf1, 0xe2, 0xae, 0xdd, 0x65, 0xbd, 0x1f, 0x1d, 0xf0, + 0x8f, 0x76, 0xab, 0xaf, 0x7c, 0x09, 0xe5, 0x8e, 0x32, 0x17, 0x28, 0x12, + 0x6a, 0xc6, 0x5b, 0xb1, 0x14, 0x3e, 0xd1, 0x9e, +}; +static const unsigned char kat802_addin1[] = { + 0x6c, 0x4b, 0xb5, 0x48, 0x32, 0x70, 0x65, 0x5c, 0x50, 0xe0, 0xe0, 0x58, + 0x4c, 0xb9, 0xb1, 0xd4, 0xfa, 0x85, 0x4f, 0xd2, 0x2a, 0x8d, 0x72, 0x13, + 0x05, 0x05, 0xdf, 0x37, 0x38, 0x08, 0x3e, 0x35, +}; +static const unsigned char kat802_retbits[] = { + 0x39, 0x05, 0x6f, 0x33, 0xda, 0x2f, 0x31, 0xa9, 0x63, 0xd9, 0x7f, 0xb8, + 0xd8, 0xc7, 0x4f, 0x89, 0xc4, 0x05, 0x57, 0x4b, 0x4d, 0xc4, 0x19, 0x6c, + 0xfc, 0x22, 0xba, 0x6f, 0xa9, 0x62, 0xe6, 0xc7, 0xcc, 0xbb, 0x96, 0x75, + 0x5e, 0x15, 0x82, 0xd4, 0x1e, 0xe9, 0x10, 0x45, 0x1d, 0xaa, 0x5b, 0x3a, + 0x33, 0x57, 0x9e, 0x42, 0x8e, 0x3c, 0x45, 0x7c, 0x9a, 0x8b, 0xe6, 0x09, + 0xc3, 0xfb, 0x71, 0x0e, +}; +static const struct drbg_kat_no_reseed kat802_t = { + 6, kat802_entropyin, kat802_nonce, kat802_persstr, + kat802_addin0, kat802_addin1, kat802_retbits +}; +static const struct drbg_kat kat802 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat802_t +}; + +static const unsigned char kat803_entropyin[] = { + 0xb6, 0xd8, 0x01, 0xb3, 0xfe, 0xa2, 0x8a, 0xfa, 0x07, 0xd0, 0x90, 0x73, + 0x10, 0x87, 0xa5, 0xe5, 0x3f, 0x83, 0xcf, 0x9d, 0x98, 0x0d, 0x99, 0xb8, + 0xec, 0x5f, 0x05, 0x23, 0x1c, 0x7a, 0x7f, 0xdd, +}; +static const unsigned char kat803_nonce[] = {0}; +static const unsigned char kat803_persstr[] = {0}; +static const unsigned char kat803_addin0[] = { + 0x2e, 0xd2, 0xa9, 0xdb, 0x70, 0xa8, 0xe0, 0xe1, 0x44, 0x29, 0xdf, 0x36, + 0x31, 0x42, 0x95, 0x11, 0xc3, 0xc0, 0xb9, 0x10, 0xad, 0xb0, 0x81, 0x36, + 0xba, 0x39, 0xc6, 0xbd, 0xd0, 0xaa, 0x5c, 0x99, +}; +static const unsigned char kat803_addin1[] = { + 0xd4, 0x75, 0x2a, 0x12, 0x07, 0x92, 0xd4, 0x04, 0x70, 0x3c, 0x33, 0xa4, + 0xd0, 0x3c, 0x74, 0x58, 0x71, 0xc0, 0xf1, 0x20, 0xe2, 0x9b, 0xf6, 0x16, + 0xe1, 0x56, 0x05, 0xa4, 0x93, 0x2a, 0xad, 0x2e, +}; +static const unsigned char kat803_retbits[] = { + 0x83, 0x65, 0x75, 0x89, 0x8c, 0xce, 0x37, 0x93, 0x41, 0xb6, 0x89, 0xd5, + 0x1c, 0x59, 0x7d, 0xc7, 0xc2, 0xd9, 0x3e, 0x2b, 0x73, 0xb6, 0xff, 0xfb, + 0xe0, 0xd8, 0x5e, 0x0c, 0x91, 0x78, 0xa2, 0x9b, 0xe4, 0xb5, 0xc9, 0x5d, + 0xf1, 0xc1, 0x23, 0x88, 0xdd, 0x9a, 0xa9, 0x71, 0x4a, 0x73, 0x31, 0xef, + 0x0d, 0x70, 0xd2, 0x04, 0xe9, 0xca, 0x73, 0x67, 0x9a, 0x80, 0x59, 0x95, + 0x9c, 0xe0, 0x98, 0x28, +}; +static const struct drbg_kat_no_reseed kat803_t = { + 7, kat803_entropyin, kat803_nonce, kat803_persstr, + kat803_addin0, kat803_addin1, kat803_retbits +}; +static const struct drbg_kat kat803 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat803_t +}; + +static const unsigned char kat804_entropyin[] = { + 0x02, 0x73, 0x74, 0x94, 0xaf, 0xfe, 0xb7, 0xdc, 0x7f, 0xc2, 0x41, 0x70, + 0x3b, 0x7c, 0x62, 0xe8, 0x2f, 0x74, 0x8e, 0x3f, 0xe9, 0xad, 0x5a, 0xbe, + 0x44, 0x6d, 0x01, 0x4e, 0xf3, 0x5d, 0xb3, 0x4b, +}; +static const unsigned char kat804_nonce[] = {0}; +static const unsigned char kat804_persstr[] = {0}; +static const unsigned char kat804_addin0[] = { + 0xe6, 0x6b, 0x9a, 0xec, 0x28, 0xb2, 0x07, 0x81, 0xd6, 0x73, 0xe7, 0x2c, + 0x47, 0x6a, 0xad, 0x99, 0xe8, 0xa6, 0xe3, 0x46, 0x24, 0xbe, 0x7d, 0x1d, + 0x5a, 0xab, 0x7d, 0xd3, 0xe4, 0x3b, 0x90, 0x16, +}; +static const unsigned char kat804_addin1[] = { + 0x9a, 0x91, 0x02, 0x95, 0xc1, 0x50, 0x1b, 0xfd, 0xd0, 0x75, 0xe8, 0xe6, + 0x62, 0xb9, 0x13, 0xbc, 0x22, 0x9e, 0x87, 0xd6, 0xf3, 0xfd, 0xf6, 0xd2, + 0x4f, 0x1b, 0xfb, 0x6c, 0x55, 0x98, 0x7c, 0x0f, +}; +static const unsigned char kat804_retbits[] = { + 0x52, 0x7b, 0x31, 0xc1, 0x59, 0x55, 0x75, 0xaa, 0x9a, 0x01, 0x77, 0x5b, + 0x48, 0x4d, 0xb0, 0xa5, 0xb4, 0x5d, 0x7c, 0x2e, 0x25, 0xc6, 0xf4, 0xf0, + 0xf3, 0x1e, 0x12, 0xa3, 0x71, 0xf8, 0x85, 0x0b, 0x7e, 0x1b, 0xdd, 0xc7, + 0xd9, 0x70, 0xe3, 0x5d, 0x85, 0x73, 0xaa, 0xd4, 0xd2, 0x68, 0xd8, 0x5c, + 0x05, 0xac, 0xd3, 0x26, 0xcc, 0x53, 0xbe, 0x46, 0x5b, 0xec, 0x8d, 0xdd, + 0x94, 0xe6, 0x58, 0xaa, +}; +static const struct drbg_kat_no_reseed kat804_t = { + 8, kat804_entropyin, kat804_nonce, kat804_persstr, + kat804_addin0, kat804_addin1, kat804_retbits +}; +static const struct drbg_kat kat804 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat804_t +}; + +static const unsigned char kat805_entropyin[] = { + 0x8c, 0x53, 0x18, 0xcb, 0x8e, 0x6e, 0x50, 0xb7, 0x7e, 0xf0, 0x89, 0x12, + 0x85, 0x50, 0x6f, 0xff, 0x94, 0xd7, 0x86, 0xa7, 0x11, 0x19, 0x5d, 0xc0, + 0x95, 0x24, 0x57, 0x84, 0xad, 0x1a, 0x4d, 0x09, +}; +static const unsigned char kat805_nonce[] = {0}; +static const unsigned char kat805_persstr[] = {0}; +static const unsigned char kat805_addin0[] = { + 0x07, 0xb7, 0xaa, 0x1e, 0xbc, 0x3c, 0xe5, 0x3e, 0x93, 0xf4, 0xce, 0x07, + 0x63, 0x43, 0x8e, 0xe6, 0x90, 0x53, 0xe3, 0x2b, 0x5e, 0x9b, 0xa3, 0x7b, + 0xfb, 0xbc, 0x34, 0x41, 0x05, 0x49, 0xc8, 0xe6, +}; +static const unsigned char kat805_addin1[] = { + 0x5a, 0x6b, 0x6d, 0xe7, 0x8e, 0xfa, 0x9c, 0x73, 0xac, 0xcd, 0x4f, 0x96, + 0xf9, 0xe1, 0xa2, 0xff, 0x9a, 0x1b, 0xba, 0x02, 0xf1, 0x27, 0xe5, 0xe5, + 0xbc, 0x25, 0x72, 0xf8, 0x46, 0xce, 0xb2, 0x2f, +}; +static const unsigned char kat805_retbits[] = { + 0xaf, 0x02, 0x59, 0x4e, 0x48, 0x23, 0x85, 0x93, 0x59, 0x4e, 0x60, 0x07, + 0xf7, 0x49, 0x4e, 0x64, 0xec, 0xe2, 0x2b, 0x5b, 0x66, 0x2b, 0xe4, 0x4d, + 0x91, 0x23, 0xed, 0x42, 0x58, 0x9f, 0xdd, 0xea, 0xce, 0x37, 0x73, 0xd9, + 0x27, 0x9c, 0x0e, 0x1c, 0xc8, 0xec, 0x41, 0x95, 0x85, 0x89, 0x58, 0x69, + 0x99, 0xa7, 0x4d, 0xe2, 0x36, 0x4e, 0x47, 0x8a, 0x91, 0x93, 0x38, 0x00, + 0x1b, 0x37, 0xc8, 0xdf, +}; +static const struct drbg_kat_no_reseed kat805_t = { + 9, kat805_entropyin, kat805_nonce, kat805_persstr, + kat805_addin0, kat805_addin1, kat805_retbits +}; +static const struct drbg_kat kat805 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat805_t +}; + +static const unsigned char kat806_entropyin[] = { + 0xf6, 0x01, 0x4c, 0x31, 0xae, 0x35, 0x81, 0xee, 0xad, 0x6f, 0x83, 0x36, + 0x8e, 0x33, 0xb3, 0xf3, 0x3d, 0x01, 0xe2, 0xf0, 0x2e, 0xb7, 0xfc, 0xc2, + 0x8d, 0x44, 0x77, 0xfc, 0x60, 0xfa, 0x96, 0x93, +}; +static const unsigned char kat806_nonce[] = {0}; +static const unsigned char kat806_persstr[] = {0}; +static const unsigned char kat806_addin0[] = { + 0x6b, 0xfa, 0xcf, 0xe8, 0xea, 0x4c, 0xd9, 0xe0, 0x6b, 0x4a, 0xff, 0xa4, + 0x18, 0xf6, 0x7d, 0x5d, 0xd9, 0xde, 0x84, 0x3f, 0x4d, 0x64, 0xae, 0x89, + 0x50, 0x57, 0x62, 0xf4, 0x24, 0x54, 0x54, 0x73, +}; +static const unsigned char kat806_addin1[] = { + 0xb6, 0xbc, 0xa6, 0x89, 0xa1, 0x2e, 0x05, 0x24, 0xc7, 0x56, 0x5b, 0xe1, + 0xff, 0xd8, 0x15, 0x2e, 0xaa, 0x8d, 0x08, 0x5b, 0x59, 0xc9, 0xe0, 0x4a, + 0xbc, 0xf3, 0xd9, 0x87, 0xba, 0xbe, 0x7b, 0x52, +}; +static const unsigned char kat806_retbits[] = { + 0x8e, 0x87, 0x22, 0x80, 0x0e, 0x6d, 0x83, 0xff, 0xad, 0x46, 0xd8, 0xe7, + 0x21, 0x0f, 0x9a, 0x49, 0x00, 0xa4, 0x18, 0xb9, 0x68, 0x13, 0x8f, 0xab, + 0x14, 0x9e, 0x17, 0x2d, 0xbf, 0xce, 0xc9, 0x51, 0xa2, 0xf0, 0x42, 0x8a, + 0xa8, 0xa2, 0x21, 0xeb, 0xb3, 0xcc, 0x49, 0x51, 0x82, 0x0d, 0x15, 0xe2, + 0x69, 0x91, 0x8b, 0xe9, 0x30, 0x67, 0xba, 0xf1, 0xce, 0x51, 0x97, 0x16, + 0x18, 0x99, 0x89, 0x42, +}; +static const struct drbg_kat_no_reseed kat806_t = { + 10, kat806_entropyin, kat806_nonce, kat806_persstr, + kat806_addin0, kat806_addin1, kat806_retbits +}; +static const struct drbg_kat kat806 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat806_t +}; + +static const unsigned char kat807_entropyin[] = { + 0x54, 0x44, 0x73, 0x37, 0x51, 0xa8, 0x10, 0x16, 0x10, 0xd7, 0xed, 0x86, + 0x2b, 0xcc, 0x4e, 0x64, 0xc4, 0xf8, 0xdd, 0xd2, 0x60, 0x8d, 0x9b, 0x4b, + 0xd6, 0xc5, 0x7c, 0x60, 0xf8, 0x8e, 0xde, 0xea, +}; +static const unsigned char kat807_nonce[] = {0}; +static const unsigned char kat807_persstr[] = {0}; +static const unsigned char kat807_addin0[] = { + 0x66, 0x26, 0x1a, 0x57, 0x65, 0x35, 0x11, 0x8d, 0x1a, 0x8f, 0x79, 0xd8, + 0x8b, 0x43, 0x38, 0x58, 0x88, 0xb2, 0x4a, 0x47, 0x24, 0xcd, 0x30, 0x9d, + 0xec, 0xe6, 0x66, 0xfb, 0xe2, 0x28, 0x27, 0x61, +}; +static const unsigned char kat807_addin1[] = { + 0x69, 0xff, 0xeb, 0x48, 0x17, 0xff, 0x31, 0x92, 0xf8, 0x02, 0x85, 0x83, + 0x73, 0xde, 0x1b, 0xaa, 0x45, 0x39, 0xb0, 0xe0, 0x66, 0x0b, 0x41, 0x24, + 0x3d, 0x77, 0xc5, 0xa2, 0x50, 0xbe, 0x34, 0xff, +}; +static const unsigned char kat807_retbits[] = { + 0xf0, 0xfc, 0x3d, 0x67, 0x89, 0x76, 0xe9, 0x29, 0x00, 0x1f, 0x87, 0x04, + 0x75, 0x94, 0xff, 0x5e, 0xcf, 0xb7, 0x9f, 0xf0, 0xcb, 0x1d, 0xbe, 0xad, + 0x84, 0x95, 0x0c, 0x4e, 0x7d, 0xcf, 0x3d, 0xd6, 0xd7, 0xfa, 0xe0, 0x22, + 0x64, 0x11, 0xc9, 0xf6, 0xc0, 0xff, 0x8f, 0xf8, 0xa9, 0xcb, 0xa6, 0xe3, + 0x78, 0x7b, 0x67, 0x96, 0xde, 0xa5, 0xd8, 0x3c, 0xb5, 0x4a, 0x08, 0xb3, + 0x2e, 0x15, 0xb7, 0x72, +}; +static const struct drbg_kat_no_reseed kat807_t = { + 11, kat807_entropyin, kat807_nonce, kat807_persstr, + kat807_addin0, kat807_addin1, kat807_retbits +}; +static const struct drbg_kat kat807 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat807_t +}; + +static const unsigned char kat808_entropyin[] = { + 0x1d, 0x4e, 0xf9, 0xf3, 0xc1, 0x95, 0x25, 0x97, 0xd3, 0xd6, 0x9a, 0x4c, + 0x2d, 0x1a, 0x05, 0xc8, 0xbf, 0xb1, 0x44, 0x54, 0x90, 0x0d, 0x95, 0x18, + 0xcc, 0x7f, 0xdf, 0x7c, 0x14, 0xbf, 0x6f, 0x68, +}; +static const unsigned char kat808_nonce[] = {0}; +static const unsigned char kat808_persstr[] = {0}; +static const unsigned char kat808_addin0[] = { + 0x6e, 0x24, 0x2a, 0xa9, 0xd9, 0xf5, 0x4f, 0xfa, 0xda, 0x21, 0xf4, 0xc9, + 0xf5, 0x9e, 0x48, 0xc4, 0xdb, 0x5b, 0x46, 0x4f, 0x0b, 0xeb, 0x88, 0x81, + 0x81, 0x5e, 0xa2, 0x0a, 0xaa, 0xb0, 0xf3, 0x25, +}; +static const unsigned char kat808_addin1[] = { + 0xc7, 0xe4, 0x01, 0x0f, 0x08, 0xc7, 0x8a, 0x61, 0x99, 0x51, 0x73, 0xc6, + 0x4c, 0xf2, 0x10, 0x4b, 0xe0, 0x39, 0x5f, 0x56, 0x60, 0x86, 0x98, 0xbf, + 0x8b, 0x0d, 0xd1, 0xb4, 0x89, 0x52, 0xff, 0x10, +}; +static const unsigned char kat808_retbits[] = { + 0xbb, 0x9d, 0x11, 0x9e, 0x29, 0xdd, 0x8b, 0xff, 0x19, 0x04, 0x21, 0xcf, + 0x33, 0xc6, 0xbd, 0x92, 0xc8, 0x81, 0x4f, 0xfe, 0x18, 0xad, 0xf4, 0x31, + 0x8a, 0xe8, 0xed, 0x48, 0xe5, 0xf0, 0xfe, 0x12, 0x53, 0xab, 0x79, 0xe9, + 0x12, 0xc3, 0xbf, 0x72, 0xa3, 0x73, 0x52, 0xfc, 0xc0, 0xac, 0x2c, 0x4c, + 0xee, 0xa1, 0xf9, 0x2b, 0xb5, 0xd1, 0x5c, 0x29, 0x66, 0xb9, 0x54, 0x2f, + 0x4e, 0xd3, 0xcc, 0x42, +}; +static const struct drbg_kat_no_reseed kat808_t = { + 12, kat808_entropyin, kat808_nonce, kat808_persstr, + kat808_addin0, kat808_addin1, kat808_retbits +}; +static const struct drbg_kat kat808 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat808_t +}; + +static const unsigned char kat809_entropyin[] = { + 0x2e, 0xbe, 0x17, 0x39, 0x77, 0xff, 0x27, 0xc8, 0xcf, 0xba, 0x5f, 0xd6, + 0x40, 0x65, 0x96, 0xbd, 0x6f, 0xfd, 0x39, 0x0c, 0xe3, 0xc5, 0x8a, 0x51, + 0xdd, 0xc8, 0xf4, 0x0d, 0x66, 0xf7, 0x4d, 0xed, +}; +static const unsigned char kat809_nonce[] = {0}; +static const unsigned char kat809_persstr[] = {0}; +static const unsigned char kat809_addin0[] = { + 0xdb, 0x2b, 0x2c, 0x32, 0x21, 0x28, 0xd4, 0x7f, 0x9d, 0x4e, 0x5e, 0x9c, + 0x2f, 0x00, 0x87, 0x15, 0x44, 0x0f, 0x91, 0x76, 0x65, 0xba, 0x8b, 0x0b, + 0x5d, 0x0f, 0x16, 0x9b, 0xf5, 0xd7, 0xe1, 0x83, +}; +static const unsigned char kat809_addin1[] = { + 0x13, 0xde, 0xb1, 0x8c, 0x70, 0x25, 0x09, 0x55, 0x9f, 0x3b, 0xde, 0x24, + 0xcb, 0xff, 0xf1, 0xe7, 0xec, 0x16, 0xb5, 0x00, 0x93, 0x45, 0xa9, 0x9f, + 0xd8, 0x6e, 0x0e, 0xe4, 0x1c, 0x27, 0x2c, 0xd6, +}; +static const unsigned char kat809_retbits[] = { + 0x42, 0xf0, 0x28, 0x74, 0xcf, 0xd5, 0xeb, 0x59, 0x87, 0xd6, 0x46, 0x93, + 0x72, 0xbc, 0xdc, 0x17, 0xfc, 0x00, 0x62, 0x52, 0x2a, 0x9f, 0x3b, 0x87, + 0x13, 0x71, 0x5b, 0x8e, 0xa2, 0xe6, 0x3a, 0x3a, 0x6f, 0x73, 0x6d, 0x95, + 0x7b, 0x1e, 0x7a, 0xec, 0xc7, 0x7f, 0x39, 0x04, 0x4e, 0x81, 0xe4, 0x61, + 0x12, 0x61, 0xa1, 0xeb, 0xb4, 0x6e, 0xbf, 0xee, 0xb5, 0x2c, 0x40, 0x58, + 0x73, 0xfb, 0x0d, 0xd6, +}; +static const struct drbg_kat_no_reseed kat809_t = { + 13, kat809_entropyin, kat809_nonce, kat809_persstr, + kat809_addin0, kat809_addin1, kat809_retbits +}; +static const struct drbg_kat kat809 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat809_t +}; + +static const unsigned char kat810_entropyin[] = { + 0xb1, 0xa2, 0xfd, 0x70, 0x84, 0xb0, 0x15, 0x0f, 0xe0, 0xa9, 0x15, 0x5c, + 0xa8, 0xe4, 0x62, 0x24, 0x56, 0x51, 0x18, 0xe7, 0x02, 0xec, 0x64, 0x21, + 0x53, 0x04, 0x91, 0x93, 0x97, 0x3e, 0x3a, 0x98, +}; +static const unsigned char kat810_nonce[] = {0}; +static const unsigned char kat810_persstr[] = {0}; +static const unsigned char kat810_addin0[] = { + 0xeb, 0x28, 0x88, 0x11, 0x9b, 0x00, 0x20, 0xcf, 0xf3, 0xac, 0x53, 0xcb, + 0xb8, 0x1d, 0x85, 0x76, 0x45, 0x7a, 0x86, 0x3f, 0xb0, 0x87, 0xf9, 0x1c, + 0x79, 0x5c, 0x29, 0x7f, 0x68, 0xd3, 0x26, 0x04, +}; +static const unsigned char kat810_addin1[] = { + 0xad, 0x80, 0xf4, 0xec, 0xff, 0x75, 0x8d, 0xa0, 0xa5, 0xbe, 0xed, 0x20, + 0xa9, 0xd8, 0x51, 0xfc, 0xca, 0x2a, 0xd4, 0xea, 0x0d, 0x54, 0xaf, 0x61, + 0x94, 0x70, 0xe3, 0xcf, 0x30, 0x33, 0xa0, 0x4a, +}; +static const unsigned char kat810_retbits[] = { + 0xe2, 0x10, 0x5e, 0x60, 0xf2, 0xf2, 0xfc, 0xeb, 0x27, 0xc8, 0x82, 0xca, + 0xeb, 0xb0, 0xc1, 0xec, 0xa5, 0x43, 0xc3, 0x59, 0x94, 0x7c, 0x43, 0x19, + 0xc5, 0x03, 0xef, 0xa8, 0x2e, 0xd5, 0xcb, 0x63, 0x64, 0x0f, 0x62, 0x7c, + 0x82, 0x21, 0x72, 0x60, 0xf0, 0x20, 0x32, 0x20, 0x43, 0x5c, 0x84, 0x2d, + 0x79, 0x93, 0x62, 0x3a, 0x2b, 0x05, 0xe2, 0x6e, 0x1e, 0xd1, 0xd0, 0x3f, + 0x68, 0xab, 0x3c, 0xb1, +}; +static const struct drbg_kat_no_reseed kat810_t = { + 14, kat810_entropyin, kat810_nonce, kat810_persstr, + kat810_addin0, kat810_addin1, kat810_retbits +}; +static const struct drbg_kat kat810 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat810_t +}; + +static const unsigned char kat811_entropyin[] = { + 0x3f, 0xef, 0x76, 0x2f, 0x0a, 0xa0, 0x67, 0x7f, 0x61, 0xc6, 0x5d, 0x74, + 0x9e, 0xeb, 0x10, 0xb0, 0x13, 0xff, 0x68, 0xcc, 0xc6, 0x31, 0x4f, 0x15, + 0x0c, 0xfe, 0xe7, 0x52, 0xdc, 0xd8, 0xf9, 0x87, +}; +static const unsigned char kat811_nonce[] = {0}; +static const unsigned char kat811_persstr[] = { + 0xf5, 0x6d, 0xb0, 0x99, 0x24, 0x0c, 0x75, 0x90, 0xda, 0xc3, 0x96, 0x37, + 0x2b, 0x87, 0x37, 0x40, 0x4d, 0x41, 0x8b, 0x28, 0x64, 0xa3, 0xdf, 0x96, + 0xa8, 0xa3, 0x97, 0x96, 0x72, 0x45, 0x73, 0x5f, +}; +static const unsigned char kat811_addin0[] = {0}; +static const unsigned char kat811_addin1[] = {0}; +static const unsigned char kat811_retbits[] = { + 0xaf, 0x0a, 0xfe, 0x08, 0x37, 0x44, 0x21, 0x36, 0xfb, 0xb1, 0x95, 0x9a, + 0x1c, 0x91, 0xa9, 0x29, 0x1c, 0x1d, 0x81, 0x88, 0xed, 0xe0, 0x7c, 0x67, + 0xd0, 0xe4, 0xdd, 0x65, 0x41, 0x30, 0x34, 0x15, 0xe7, 0xa6, 0x79, 0x99, + 0xc3, 0x02, 0xba, 0x0d, 0xf5, 0x55, 0x32, 0x4c, 0x26, 0x07, 0x75, 0x14, + 0x59, 0x2a, 0x9b, 0x6d, 0xb6, 0xbe, 0x2f, 0x15, 0x3f, 0xad, 0x22, 0x50, + 0x16, 0x11, 0x64, 0xe4, +}; +static const struct drbg_kat_no_reseed kat811_t = { + 0, kat811_entropyin, kat811_nonce, kat811_persstr, + kat811_addin0, kat811_addin1, kat811_retbits +}; +static const struct drbg_kat kat811 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat811_t +}; + +static const unsigned char kat812_entropyin[] = { + 0x3e, 0xeb, 0xe7, 0x7d, 0xb4, 0x63, 0x18, 0x62, 0xe3, 0xeb, 0x7e, 0x39, + 0x37, 0x05, 0x15, 0xb8, 0xba, 0xa1, 0xcd, 0xd7, 0x1a, 0x5b, 0x1b, 0x0c, + 0xda, 0x79, 0xc1, 0x4d, 0x0b, 0x5f, 0x48, 0xea, +}; +static const unsigned char kat812_nonce[] = {0}; +static const unsigned char kat812_persstr[] = { + 0x4b, 0xe5, 0x6a, 0x9b, 0x9c, 0x21, 0x24, 0x27, 0x39, 0xc9, 0x85, 0xef, + 0x12, 0xaa, 0x4d, 0x98, 0xe8, 0xc7, 0xda, 0x07, 0xc4, 0xc1, 0xdc, 0x68, + 0x29, 0xf2, 0xe0, 0x68, 0x33, 0xcf, 0xa1, 0x48, +}; +static const unsigned char kat812_addin0[] = {0}; +static const unsigned char kat812_addin1[] = {0}; +static const unsigned char kat812_retbits[] = { + 0xbe, 0x9e, 0x18, 0xa7, 0x53, 0xdf, 0x26, 0x19, 0x27, 0x47, 0x3c, 0x8b, + 0xb5, 0xfb, 0x7c, 0x3e, 0xa6, 0xe8, 0x21, 0xdf, 0x5a, 0xb4, 0x9a, 0xdc, + 0x56, 0x6a, 0x4e, 0xbf, 0x44, 0xf7, 0x5f, 0xa8, 0x25, 0xb1, 0xf9, 0xd8, + 0xc1, 0x54, 0xbc, 0xd4, 0x69, 0x13, 0x4c, 0x0b, 0xb6, 0x88, 0xe0, 0x7e, + 0x3c, 0x3e, 0x45, 0x40, 0x7c, 0xa3, 0x50, 0xd5, 0x40, 0xe1, 0x52, 0x8c, + 0xc2, 0xe6, 0x40, 0x68, +}; +static const struct drbg_kat_no_reseed kat812_t = { + 1, kat812_entropyin, kat812_nonce, kat812_persstr, + kat812_addin0, kat812_addin1, kat812_retbits +}; +static const struct drbg_kat kat812 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat812_t +}; + +static const unsigned char kat813_entropyin[] = { + 0x3a, 0x2a, 0x99, 0xb6, 0xcb, 0x3d, 0xdb, 0xe4, 0x11, 0xd6, 0xd5, 0xa2, + 0x68, 0xc5, 0x6f, 0xb3, 0x14, 0x41, 0xec, 0xd8, 0xba, 0x47, 0x85, 0x31, + 0x95, 0x86, 0x9e, 0x91, 0x2d, 0x3c, 0xbf, 0xff, +}; +static const unsigned char kat813_nonce[] = {0}; +static const unsigned char kat813_persstr[] = { + 0xbd, 0x1e, 0x82, 0x2b, 0x66, 0x18, 0x0e, 0xa2, 0x9a, 0x0d, 0x9e, 0x60, + 0x1e, 0x98, 0x3c, 0x1f, 0x7f, 0x54, 0x87, 0x5e, 0x8c, 0x9c, 0xd8, 0x34, + 0x63, 0x30, 0x9d, 0x14, 0xdb, 0xef, 0x0b, 0x82, +}; +static const unsigned char kat813_addin0[] = {0}; +static const unsigned char kat813_addin1[] = {0}; +static const unsigned char kat813_retbits[] = { + 0x04, 0xd1, 0xaa, 0xa8, 0x1c, 0xe4, 0xd2, 0xf5, 0xcc, 0xa3, 0x58, 0x1c, + 0x3a, 0xf5, 0xac, 0x81, 0xcd, 0xf0, 0x79, 0x70, 0xab, 0xe9, 0x80, 0x86, + 0x05, 0xb1, 0x74, 0x23, 0xb3, 0x55, 0xe1, 0xe2, 0x3a, 0x19, 0x34, 0x95, + 0xa9, 0x25, 0xe7, 0x62, 0x9a, 0xfe, 0x76, 0xf9, 0xb7, 0x3b, 0xcd, 0xd9, + 0x92, 0xc9, 0x63, 0x0c, 0x2e, 0xc6, 0x49, 0x1b, 0xd4, 0x82, 0xec, 0xe5, + 0xa4, 0x43, 0x84, 0xd0, +}; +static const struct drbg_kat_no_reseed kat813_t = { + 2, kat813_entropyin, kat813_nonce, kat813_persstr, + kat813_addin0, kat813_addin1, kat813_retbits +}; +static const struct drbg_kat kat813 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat813_t +}; + +static const unsigned char kat814_entropyin[] = { + 0xf9, 0xd7, 0xe6, 0x02, 0x60, 0x49, 0xbe, 0x4a, 0xd5, 0x1a, 0xe3, 0xea, + 0x23, 0xdf, 0x50, 0x43, 0x5b, 0x9e, 0x28, 0x41, 0x13, 0xaf, 0x4d, 0xe6, + 0x8a, 0x69, 0xc1, 0xd8, 0x68, 0xaa, 0x57, 0x2d, +}; +static const unsigned char kat814_nonce[] = {0}; +static const unsigned char kat814_persstr[] = { + 0x2b, 0x33, 0x7d, 0x90, 0xfe, 0x80, 0xe8, 0xe2, 0x06, 0x5e, 0xc3, 0x11, + 0x5f, 0x40, 0x4d, 0x44, 0x62, 0x2c, 0xcb, 0xad, 0x48, 0x6c, 0xf6, 0x37, + 0x98, 0xa2, 0x26, 0x83, 0xcc, 0xd4, 0x80, 0x87, +}; +static const unsigned char kat814_addin0[] = {0}; +static const unsigned char kat814_addin1[] = {0}; +static const unsigned char kat814_retbits[] = { + 0x21, 0x67, 0x49, 0xdb, 0xa2, 0xb9, 0xa5, 0x54, 0x71, 0xb1, 0xeb, 0x7f, + 0x39, 0x5c, 0x9a, 0x1d, 0x10, 0x5d, 0xb1, 0x54, 0x74, 0x9e, 0xf5, 0x1f, + 0xef, 0x1e, 0x67, 0x82, 0x66, 0xa5, 0xe4, 0x80, 0xc7, 0x5d, 0xc5, 0xac, + 0x4c, 0xc9, 0xde, 0xd2, 0x02, 0x21, 0x67, 0x08, 0x86, 0x0f, 0x41, 0x27, + 0x0a, 0xba, 0xdb, 0xc0, 0x94, 0xcd, 0x6c, 0x2c, 0xa3, 0xa0, 0xa3, 0xd9, + 0xa7, 0x0a, 0x1d, 0x70, +}; +static const struct drbg_kat_no_reseed kat814_t = { + 3, kat814_entropyin, kat814_nonce, kat814_persstr, + kat814_addin0, kat814_addin1, kat814_retbits +}; +static const struct drbg_kat kat814 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat814_t +}; + +static const unsigned char kat815_entropyin[] = { + 0x12, 0xcf, 0xd7, 0xda, 0xf1, 0x68, 0xd0, 0x90, 0x6d, 0xf0, 0xbc, 0x01, + 0xed, 0x5e, 0xd9, 0x39, 0x92, 0xbc, 0xb6, 0xc8, 0x5b, 0xef, 0xf2, 0xcd, + 0x3d, 0x2d, 0xff, 0x21, 0xff, 0x34, 0x80, 0xd5, +}; +static const unsigned char kat815_nonce[] = {0}; +static const unsigned char kat815_persstr[] = { + 0xdd, 0x85, 0x5c, 0xee, 0x76, 0x09, 0xaa, 0x1b, 0x76, 0xba, 0x7a, 0xa9, + 0xf3, 0x12, 0x5a, 0x1b, 0x68, 0x30, 0x79, 0x8c, 0x1a, 0x23, 0x97, 0xe5, + 0x02, 0xf5, 0x57, 0x47, 0xff, 0x35, 0x61, 0xca, +}; +static const unsigned char kat815_addin0[] = {0}; +static const unsigned char kat815_addin1[] = {0}; +static const unsigned char kat815_retbits[] = { + 0x25, 0xe0, 0x22, 0x50, 0x85, 0x0d, 0x1a, 0xc8, 0x2f, 0xdf, 0xc1, 0xb1, + 0x0b, 0xc0, 0xc5, 0x68, 0xa3, 0xbc, 0xfe, 0xe6, 0x91, 0x63, 0xe3, 0x02, + 0x1d, 0x5c, 0x5c, 0xe7, 0x6d, 0xdd, 0xe1, 0x06, 0xe6, 0x95, 0x6d, 0xf4, + 0x00, 0xcd, 0xf6, 0xf3, 0x68, 0x68, 0xff, 0xa4, 0x11, 0x1e, 0x76, 0x76, + 0x14, 0x1b, 0xea, 0x28, 0x79, 0x10, 0x81, 0x38, 0x7b, 0x3e, 0x5d, 0xce, + 0x69, 0x27, 0x2a, 0xae, +}; +static const struct drbg_kat_no_reseed kat815_t = { + 4, kat815_entropyin, kat815_nonce, kat815_persstr, + kat815_addin0, kat815_addin1, kat815_retbits +}; +static const struct drbg_kat kat815 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat815_t +}; + +static const unsigned char kat816_entropyin[] = { + 0x04, 0x9b, 0x16, 0x03, 0xf3, 0x86, 0x18, 0xac, 0x46, 0x31, 0x98, 0xe2, + 0x45, 0x16, 0x32, 0x7a, 0x59, 0x3a, 0x22, 0x10, 0xf9, 0xb8, 0xf1, 0x6a, + 0x91, 0xf5, 0x4c, 0x81, 0xc1, 0xd3, 0xba, 0xe2, +}; +static const unsigned char kat816_nonce[] = {0}; +static const unsigned char kat816_persstr[] = { + 0x04, 0x05, 0x65, 0xcd, 0xdb, 0x45, 0x31, 0x2e, 0x43, 0x37, 0xc9, 0x09, + 0xae, 0x83, 0xdd, 0xe2, 0xc5, 0x51, 0x18, 0xae, 0x94, 0xbf, 0x54, 0x94, + 0x38, 0x1c, 0x15, 0x7d, 0x66, 0xe4, 0x75, 0x53, +}; +static const unsigned char kat816_addin0[] = {0}; +static const unsigned char kat816_addin1[] = {0}; +static const unsigned char kat816_retbits[] = { + 0x65, 0x0d, 0x95, 0xd6, 0x08, 0x5b, 0x87, 0x56, 0xb4, 0xc8, 0xfe, 0x2b, + 0x16, 0x11, 0x90, 0xdf, 0x1d, 0xd6, 0xc3, 0x49, 0xbd, 0xee, 0x3e, 0x5d, + 0x6c, 0x1d, 0xda, 0x80, 0xc9, 0x0d, 0xb5, 0xf4, 0xe8, 0x55, 0xd6, 0x13, + 0x34, 0x7c, 0xb9, 0xbd, 0xb8, 0xcc, 0x7b, 0xe1, 0x50, 0x6d, 0x88, 0xaf, + 0x68, 0x63, 0xa4, 0xbb, 0xa5, 0x97, 0xb7, 0x57, 0x7f, 0x3b, 0x41, 0x84, + 0x02, 0xc8, 0x47, 0x24, +}; +static const struct drbg_kat_no_reseed kat816_t = { + 5, kat816_entropyin, kat816_nonce, kat816_persstr, + kat816_addin0, kat816_addin1, kat816_retbits +}; +static const struct drbg_kat kat816 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat816_t +}; + +static const unsigned char kat817_entropyin[] = { + 0x9e, 0x61, 0x99, 0xad, 0x25, 0xa5, 0x89, 0x71, 0xe7, 0x6e, 0x48, 0xdb, + 0x30, 0xab, 0x0b, 0xcf, 0xed, 0xb5, 0x7a, 0x97, 0x4d, 0x33, 0x34, 0x51, + 0x4a, 0x4e, 0x03, 0x4a, 0x59, 0x1c, 0xc3, 0xdc, +}; +static const unsigned char kat817_nonce[] = {0}; +static const unsigned char kat817_persstr[] = { + 0x40, 0x84, 0x1d, 0x2a, 0xcf, 0xe9, 0x51, 0x61, 0x71, 0x27, 0xfc, 0x08, + 0x55, 0x73, 0xf6, 0x26, 0x60, 0x5c, 0xbd, 0xb2, 0xab, 0x08, 0x5a, 0x77, + 0xcb, 0x08, 0x0a, 0x99, 0xa9, 0x2e, 0x22, 0xf5, +}; +static const unsigned char kat817_addin0[] = {0}; +static const unsigned char kat817_addin1[] = {0}; +static const unsigned char kat817_retbits[] = { + 0x60, 0x3a, 0x3b, 0xd8, 0x5b, 0xce, 0xa4, 0xb8, 0x7c, 0xdf, 0xf4, 0xeb, + 0xc6, 0xba, 0xa9, 0x81, 0x31, 0x80, 0xc2, 0x2b, 0x1c, 0x48, 0x27, 0x0a, + 0xad, 0x93, 0x88, 0x2b, 0x63, 0x76, 0xa6, 0x60, 0x89, 0x8a, 0x11, 0x9c, + 0xc9, 0x96, 0x41, 0xfd, 0x5f, 0x75, 0xe0, 0xd1, 0x8f, 0xac, 0xe1, 0x32, + 0x41, 0xc5, 0x42, 0x66, 0x8e, 0x46, 0xc9, 0xe0, 0x43, 0xbf, 0x8a, 0x2f, + 0xfe, 0x98, 0x76, 0x5f, +}; +static const struct drbg_kat_no_reseed kat817_t = { + 6, kat817_entropyin, kat817_nonce, kat817_persstr, + kat817_addin0, kat817_addin1, kat817_retbits +}; +static const struct drbg_kat kat817 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat817_t +}; + +static const unsigned char kat818_entropyin[] = { + 0x4a, 0x01, 0xfb, 0x95, 0xff, 0xfe, 0x41, 0x17, 0xa7, 0x1a, 0x52, 0x0a, + 0x0b, 0x7d, 0x23, 0xa3, 0xc3, 0x12, 0x0d, 0x4b, 0x20, 0xa8, 0x49, 0x6d, + 0x65, 0x01, 0xbf, 0x36, 0xd6, 0x94, 0xba, 0xbb, +}; +static const unsigned char kat818_nonce[] = {0}; +static const unsigned char kat818_persstr[] = { + 0x59, 0xb8, 0x7f, 0x1c, 0x1b, 0xd9, 0xaf, 0x79, 0xba, 0xd4, 0x11, 0xec, + 0x61, 0xcb, 0xd5, 0x91, 0xf2, 0xcf, 0x35, 0xf6, 0x60, 0x66, 0xe1, 0x8e, + 0x17, 0xb4, 0xf5, 0xd4, 0x19, 0xd1, 0x32, 0x7b, +}; +static const unsigned char kat818_addin0[] = {0}; +static const unsigned char kat818_addin1[] = {0}; +static const unsigned char kat818_retbits[] = { + 0x7b, 0xfa, 0x6a, 0xfb, 0xfc, 0x32, 0x29, 0xc2, 0x77, 0xb4, 0x13, 0x96, + 0x47, 0x7a, 0xc4, 0x1b, 0x84, 0x7a, 0x2e, 0x58, 0x15, 0x9b, 0xc3, 0x33, + 0x7b, 0xdc, 0x98, 0x7b, 0x4a, 0x68, 0x47, 0x91, 0x67, 0x1a, 0x5d, 0xcb, + 0x12, 0x49, 0xbd, 0x39, 0x07, 0xe6, 0x8a, 0x5a, 0x87, 0xd4, 0x53, 0x57, + 0xe7, 0xc5, 0x4c, 0x53, 0xda, 0x78, 0x21, 0xb5, 0x5d, 0xaa, 0xb7, 0x63, + 0xe9, 0xaa, 0xf3, 0xbb, +}; +static const struct drbg_kat_no_reseed kat818_t = { + 7, kat818_entropyin, kat818_nonce, kat818_persstr, + kat818_addin0, kat818_addin1, kat818_retbits +}; +static const struct drbg_kat kat818 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat818_t +}; + +static const unsigned char kat819_entropyin[] = { + 0xe7, 0x22, 0x1b, 0x71, 0x0d, 0x0e, 0x91, 0xd3, 0x94, 0x3d, 0x42, 0x94, + 0x30, 0x29, 0xf0, 0xc9, 0x5f, 0xbd, 0xfd, 0xd9, 0x76, 0xb5, 0xc0, 0x76, + 0x71, 0x56, 0xba, 0x45, 0x03, 0xfd, 0x26, 0xa0, +}; +static const unsigned char kat819_nonce[] = {0}; +static const unsigned char kat819_persstr[] = { + 0x62, 0x55, 0x9c, 0x1e, 0x44, 0x2d, 0x84, 0x6d, 0x16, 0xdd, 0xcd, 0x60, + 0x1c, 0x17, 0xff, 0x37, 0x0c, 0xff, 0x58, 0x28, 0x74, 0xa6, 0x19, 0xda, + 0xc6, 0x20, 0x67, 0x48, 0x07, 0x6d, 0x8d, 0x32, +}; +static const unsigned char kat819_addin0[] = {0}; +static const unsigned char kat819_addin1[] = {0}; +static const unsigned char kat819_retbits[] = { + 0x89, 0x66, 0x41, 0x5c, 0x21, 0x6d, 0xe8, 0x3d, 0x75, 0xf7, 0x36, 0x26, + 0x30, 0x3f, 0x91, 0x4f, 0x8d, 0x75, 0xe9, 0xbf, 0xc2, 0x9d, 0x68, 0xf8, + 0x9c, 0x54, 0x92, 0x89, 0x80, 0x59, 0xa1, 0xf6, 0x4e, 0xcd, 0xbe, 0x23, + 0x42, 0xa4, 0xfb, 0xfe, 0x63, 0x17, 0xd5, 0xbe, 0x13, 0x25, 0xa7, 0x04, + 0xb9, 0xe3, 0xd2, 0xe8, 0x6c, 0x54, 0x6a, 0x81, 0x90, 0x60, 0x42, 0xb6, + 0x0d, 0x02, 0xcc, 0x0c, +}; +static const struct drbg_kat_no_reseed kat819_t = { + 8, kat819_entropyin, kat819_nonce, kat819_persstr, + kat819_addin0, kat819_addin1, kat819_retbits +}; +static const struct drbg_kat kat819 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat819_t +}; + +static const unsigned char kat820_entropyin[] = { + 0x57, 0x15, 0x80, 0xa5, 0x72, 0x4b, 0x11, 0xe4, 0xb3, 0x12, 0xdf, 0x42, + 0x0f, 0xa2, 0x60, 0xcd, 0xdf, 0x8c, 0xcd, 0xc4, 0xcc, 0x81, 0xca, 0xc7, + 0x5a, 0x2a, 0xdf, 0xb7, 0x36, 0x57, 0xba, 0xdc, +}; +static const unsigned char kat820_nonce[] = {0}; +static const unsigned char kat820_persstr[] = { + 0x17, 0x0d, 0x0d, 0x64, 0x02, 0xaa, 0x7c, 0xd2, 0x6a, 0xfd, 0x26, 0xe4, + 0xcb, 0x11, 0xd4, 0x6f, 0xe4, 0xaa, 0xc4, 0x8d, 0xf2, 0x3c, 0x69, 0xb0, + 0x6d, 0xe7, 0xc0, 0xcd, 0x70, 0x2c, 0x78, 0xb4, +}; +static const unsigned char kat820_addin0[] = {0}; +static const unsigned char kat820_addin1[] = {0}; +static const unsigned char kat820_retbits[] = { + 0x93, 0x29, 0xe9, 0x15, 0xd3, 0xd8, 0x91, 0xc9, 0x1c, 0x16, 0x1c, 0xc3, + 0x91, 0x48, 0xd8, 0xba, 0x37, 0x19, 0x3d, 0x78, 0x40, 0x18, 0x3a, 0x96, + 0x72, 0xc7, 0x9f, 0x29, 0xf8, 0xca, 0x56, 0xa2, 0x7f, 0x2c, 0x86, 0x92, + 0x05, 0xd3, 0xef, 0xbe, 0xa7, 0x0e, 0x4b, 0x8b, 0x24, 0x5f, 0x49, 0x0c, + 0x81, 0x01, 0x73, 0x70, 0xd6, 0xa1, 0x73, 0xb3, 0xf6, 0xef, 0x99, 0x24, + 0x23, 0x0f, 0x2d, 0x69, +}; +static const struct drbg_kat_no_reseed kat820_t = { + 9, kat820_entropyin, kat820_nonce, kat820_persstr, + kat820_addin0, kat820_addin1, kat820_retbits +}; +static const struct drbg_kat kat820 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat820_t +}; + +static const unsigned char kat821_entropyin[] = { + 0x26, 0xfd, 0xa9, 0x30, 0xbc, 0x9c, 0x08, 0xa1, 0x69, 0x1f, 0x02, 0x3f, + 0x34, 0x8e, 0x96, 0x56, 0x34, 0x6c, 0xe5, 0x7d, 0x74, 0xd4, 0x6e, 0x81, + 0x50, 0xd3, 0x43, 0xb5, 0x2d, 0xf5, 0xfe, 0x89, +}; +static const unsigned char kat821_nonce[] = {0}; +static const unsigned char kat821_persstr[] = { + 0xc6, 0xb0, 0x8d, 0x04, 0xf3, 0xd3, 0x5b, 0x07, 0xca, 0x64, 0x51, 0xd2, + 0xef, 0xe5, 0xff, 0x8c, 0x54, 0x5a, 0x73, 0x42, 0x28, 0xfc, 0xa3, 0x38, + 0x80, 0x6f, 0x1d, 0xae, 0x93, 0x38, 0x1f, 0x22, +}; +static const unsigned char kat821_addin0[] = {0}; +static const unsigned char kat821_addin1[] = {0}; +static const unsigned char kat821_retbits[] = { + 0x18, 0xbc, 0x44, 0x8e, 0x8c, 0xd5, 0xa2, 0x57, 0x2d, 0x6f, 0xaa, 0x70, + 0x9f, 0x1f, 0x75, 0x74, 0x33, 0xff, 0xf9, 0x3e, 0x1a, 0x63, 0x3a, 0x8b, + 0x67, 0x1e, 0x97, 0x5a, 0x43, 0xf3, 0xa3, 0xa3, 0x50, 0x6c, 0x4c, 0xe9, + 0x76, 0xa9, 0x25, 0xf0, 0x6d, 0x7a, 0x26, 0xcb, 0x20, 0x83, 0xa8, 0x0f, + 0x56, 0x5f, 0xea, 0x05, 0x24, 0xc4, 0x5d, 0x36, 0x72, 0xf3, 0xc0, 0x9d, + 0x6a, 0x7f, 0x30, 0x8a, +}; +static const struct drbg_kat_no_reseed kat821_t = { + 10, kat821_entropyin, kat821_nonce, kat821_persstr, + kat821_addin0, kat821_addin1, kat821_retbits +}; +static const struct drbg_kat kat821 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat821_t +}; + +static const unsigned char kat822_entropyin[] = { + 0xba, 0x59, 0x5a, 0x79, 0x16, 0x33, 0xaa, 0xda, 0x59, 0xda, 0xa3, 0x53, + 0x53, 0x3b, 0x0a, 0x92, 0x48, 0x73, 0x14, 0x0a, 0xf8, 0x26, 0xf4, 0x74, + 0x33, 0xe8, 0x1a, 0xed, 0x88, 0xeb, 0x87, 0xc0, +}; +static const unsigned char kat822_nonce[] = {0}; +static const unsigned char kat822_persstr[] = { + 0x5a, 0x3f, 0x43, 0x1c, 0x98, 0x40, 0xe0, 0x56, 0x5e, 0x49, 0xa1, 0x2d, + 0xd7, 0xcd, 0x65, 0x04, 0x91, 0x2c, 0x43, 0x59, 0xb1, 0x50, 0x8f, 0x6c, + 0x84, 0xb2, 0xc7, 0x18, 0xa3, 0x7f, 0xe3, 0xa3, +}; +static const unsigned char kat822_addin0[] = {0}; +static const unsigned char kat822_addin1[] = {0}; +static const unsigned char kat822_retbits[] = { + 0x22, 0x84, 0x93, 0x92, 0x01, 0xb1, 0xae, 0xa4, 0x76, 0x06, 0xcf, 0xd6, + 0x23, 0xc6, 0xe0, 0x45, 0x4b, 0x4e, 0x7d, 0x2c, 0x9f, 0xd5, 0x0d, 0x15, + 0x87, 0x36, 0x0e, 0x83, 0x8a, 0x19, 0x0d, 0x97, 0xc8, 0x48, 0x28, 0x65, + 0xb9, 0x9d, 0x59, 0xa8, 0x19, 0xdd, 0xc8, 0x9c, 0xae, 0x0b, 0x00, 0x52, + 0x41, 0xe7, 0x69, 0x9f, 0xbc, 0x66, 0x24, 0x42, 0xcb, 0xef, 0x84, 0x72, + 0x97, 0xdb, 0x15, 0xcf, +}; +static const struct drbg_kat_no_reseed kat822_t = { + 11, kat822_entropyin, kat822_nonce, kat822_persstr, + kat822_addin0, kat822_addin1, kat822_retbits +}; +static const struct drbg_kat kat822 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat822_t +}; + +static const unsigned char kat823_entropyin[] = { + 0x94, 0x04, 0x3d, 0x90, 0x09, 0x52, 0xe2, 0x5c, 0x04, 0x25, 0x2f, 0xff, + 0xfd, 0x1f, 0xe4, 0xe8, 0xa5, 0x4a, 0x3c, 0x04, 0x7e, 0x3c, 0x27, 0x68, + 0xc0, 0x32, 0x4d, 0x1f, 0xe3, 0x24, 0x07, 0xdf, +}; +static const unsigned char kat823_nonce[] = {0}; +static const unsigned char kat823_persstr[] = { + 0xfb, 0x51, 0xb2, 0x6a, 0x7e, 0x7f, 0x87, 0xd8, 0xda, 0x7c, 0x54, 0xab, + 0x1f, 0xad, 0x3d, 0x08, 0xc2, 0xc1, 0x31, 0x12, 0xfc, 0x17, 0xb3, 0xf3, + 0x1d, 0xda, 0x72, 0xfd, 0x5b, 0x61, 0xeb, 0x01, +}; +static const unsigned char kat823_addin0[] = {0}; +static const unsigned char kat823_addin1[] = {0}; +static const unsigned char kat823_retbits[] = { + 0x7a, 0x27, 0x66, 0x6f, 0x38, 0x46, 0xbb, 0x36, 0xf8, 0x33, 0xea, 0x63, + 0x87, 0x23, 0xe4, 0xcf, 0x95, 0xd6, 0x92, 0xe0, 0xa6, 0xa3, 0x7f, 0xac, + 0x88, 0xa7, 0xcd, 0x5e, 0x4b, 0xcc, 0x3c, 0xcb, 0x73, 0x5c, 0x0c, 0xfe, + 0x40, 0x27, 0x59, 0x72, 0xb2, 0xfd, 0xf5, 0x30, 0x45, 0x9a, 0x2a, 0x63, + 0xee, 0x13, 0x84, 0x74, 0x60, 0xee, 0x09, 0xea, 0x63, 0xa8, 0x49, 0x01, + 0xbc, 0xa8, 0x74, 0xbe, +}; +static const struct drbg_kat_no_reseed kat823_t = { + 12, kat823_entropyin, kat823_nonce, kat823_persstr, + kat823_addin0, kat823_addin1, kat823_retbits +}; +static const struct drbg_kat kat823 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat823_t +}; + +static const unsigned char kat824_entropyin[] = { + 0x57, 0x22, 0x04, 0x6e, 0xdf, 0x9b, 0x2b, 0x84, 0xf2, 0x88, 0x6e, 0xa9, + 0x30, 0x2a, 0xc3, 0x8a, 0x1f, 0xea, 0xd8, 0xed, 0xf6, 0xb3, 0xfa, 0xae, + 0xca, 0x23, 0xff, 0xdd, 0x95, 0x99, 0x74, 0x31, +}; +static const unsigned char kat824_nonce[] = {0}; +static const unsigned char kat824_persstr[] = { + 0x37, 0xda, 0x9a, 0x6f, 0xb1, 0xee, 0xc7, 0x23, 0x41, 0x56, 0xb0, 0xf5, + 0x21, 0x0b, 0xa4, 0x7c, 0x3c, 0xa6, 0xc0, 0x3a, 0x34, 0xb6, 0x9d, 0xe3, + 0xfe, 0xe1, 0xf5, 0x26, 0x9a, 0x92, 0x9e, 0x1e, +}; +static const unsigned char kat824_addin0[] = {0}; +static const unsigned char kat824_addin1[] = {0}; +static const unsigned char kat824_retbits[] = { + 0x0b, 0x03, 0xd2, 0x15, 0xfc, 0x30, 0xbb, 0xce, 0x8d, 0xc2, 0xaa, 0x3d, + 0x49, 0x68, 0x68, 0x2d, 0x58, 0x6f, 0x10, 0x60, 0x07, 0x57, 0xb0, 0x52, + 0x93, 0xc2, 0x63, 0xfc, 0xf1, 0x5e, 0xbc, 0x09, 0xbd, 0xec, 0xd2, 0x81, + 0x8d, 0x62, 0x6a, 0x43, 0x98, 0x2f, 0x90, 0x09, 0xf2, 0x97, 0x4f, 0xcd, + 0x01, 0x21, 0x4f, 0x6b, 0xe6, 0xec, 0xb2, 0xaa, 0x7d, 0x9d, 0x10, 0x16, + 0x98, 0xec, 0x08, 0xe9, +}; +static const struct drbg_kat_no_reseed kat824_t = { + 13, kat824_entropyin, kat824_nonce, kat824_persstr, + kat824_addin0, kat824_addin1, kat824_retbits +}; +static const struct drbg_kat kat824 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat824_t +}; + +static const unsigned char kat825_entropyin[] = { + 0x3a, 0xcd, 0x2c, 0x23, 0xbb, 0xae, 0x4d, 0x02, 0xcc, 0x9e, 0x4b, 0xb5, + 0x48, 0xe2, 0x64, 0xf4, 0x3e, 0x35, 0x76, 0x4b, 0x44, 0x65, 0x95, 0xbf, + 0xe1, 0xe4, 0x51, 0x65, 0xd4, 0x2c, 0x77, 0x0a, +}; +static const unsigned char kat825_nonce[] = {0}; +static const unsigned char kat825_persstr[] = { + 0xaf, 0xb8, 0x20, 0x3d, 0x4f, 0x79, 0x00, 0xc3, 0x5d, 0x7b, 0xb4, 0x54, + 0xa8, 0x3c, 0x5f, 0x26, 0x67, 0xab, 0x50, 0x6a, 0x68, 0xb7, 0x10, 0x01, + 0x1c, 0x0b, 0xe6, 0x70, 0x55, 0xdf, 0xc3, 0xeb, +}; +static const unsigned char kat825_addin0[] = {0}; +static const unsigned char kat825_addin1[] = {0}; +static const unsigned char kat825_retbits[] = { + 0x02, 0x66, 0x4c, 0x05, 0x70, 0xc4, 0xd3, 0xc4, 0x68, 0xd1, 0x6c, 0xc7, + 0xc8, 0xb9, 0x9d, 0xa7, 0xa7, 0xf1, 0x75, 0x22, 0x49, 0xe3, 0x0f, 0x28, + 0x33, 0xb1, 0xb7, 0xcd, 0x32, 0xa4, 0xdf, 0x3c, 0x23, 0x45, 0x46, 0x21, + 0xd7, 0x91, 0x19, 0xa9, 0xaa, 0xcc, 0xc5, 0x2d, 0x3f, 0x90, 0x55, 0xdb, + 0xde, 0x98, 0xe7, 0x73, 0xc2, 0x6d, 0x4d, 0xac, 0xe0, 0x9c, 0xe9, 0xbe, + 0x1f, 0x1f, 0x61, 0xb2, +}; +static const struct drbg_kat_no_reseed kat825_t = { + 14, kat825_entropyin, kat825_nonce, kat825_persstr, + kat825_addin0, kat825_addin1, kat825_retbits +}; +static const struct drbg_kat kat825 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat825_t +}; + +static const unsigned char kat826_entropyin[] = { + 0xc1, 0x29, 0xc2, 0x73, 0x20, 0x03, 0xbb, 0xf1, 0xd1, 0xde, 0xc2, 0x44, + 0xa9, 0x33, 0xcd, 0x04, 0xcb, 0x47, 0x19, 0x9b, 0xbc, 0xe9, 0x8f, 0xe0, + 0x80, 0xa1, 0xbe, 0x88, 0x0a, 0xfb, 0x21, 0x55, +}; +static const unsigned char kat826_nonce[] = {0}; +static const unsigned char kat826_persstr[] = { + 0x64, 0xe2, 0xb9, 0xac, 0x5c, 0x20, 0x64, 0x2e, 0x3e, 0x3e, 0xe4, 0x54, + 0xb7, 0x46, 0x38, 0x61, 0xa7, 0xe9, 0x3e, 0x0d, 0xd1, 0xbb, 0xf8, 0xc4, + 0xa0, 0xc2, 0x8a, 0x6c, 0xb3, 0xd8, 0x11, 0xba, +}; +static const unsigned char kat826_addin0[] = { + 0xf9, 0x4f, 0x09, 0x75, 0x76, 0x0d, 0x52, 0xf4, 0x7b, 0xd4, 0x90, 0xd1, + 0x62, 0x3a, 0x99, 0x07, 0xe4, 0xdf, 0x70, 0x1f, 0x60, 0x1c, 0xf2, 0xd5, + 0x73, 0xab, 0xa8, 0x03, 0xa2, 0x9d, 0x2b, 0x51, +}; +static const unsigned char kat826_addin1[] = { + 0x6f, 0x99, 0x72, 0x0b, 0x18, 0x6e, 0x20, 0x28, 0xa5, 0xfc, 0xc5, 0x86, + 0xb3, 0xea, 0x51, 0x84, 0x58, 0xe4, 0x37, 0xff, 0x44, 0x9c, 0x7c, 0x5a, + 0x31, 0x8e, 0x6d, 0x13, 0xf7, 0x5b, 0x5d, 0xb7, +}; +static const unsigned char kat826_retbits[] = { + 0x7b, 0x8b, 0x33, 0x78, 0xb9, 0x03, 0x1a, 0xb3, 0x10, 0x1c, 0xec, 0x8a, + 0xf5, 0xb8, 0xba, 0x5a, 0x9c, 0xa2, 0xa9, 0xaf, 0x41, 0x43, 0x2c, 0xd5, + 0xf2, 0xe5, 0xe1, 0x97, 0x16, 0x14, 0x0b, 0xb2, 0x19, 0xed, 0x7f, 0x4b, + 0xa8, 0x8f, 0xc3, 0x7b, 0x2d, 0x7e, 0x14, 0x60, 0x37, 0xd2, 0xca, 0xc1, + 0x12, 0x8f, 0xfe, 0x14, 0x13, 0x1c, 0x86, 0x91, 0xe5, 0x81, 0x06, 0x7a, + 0x29, 0xca, 0xcf, 0x80, +}; +static const struct drbg_kat_no_reseed kat826_t = { + 0, kat826_entropyin, kat826_nonce, kat826_persstr, + kat826_addin0, kat826_addin1, kat826_retbits +}; +static const struct drbg_kat kat826 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat826_t +}; + +static const unsigned char kat827_entropyin[] = { + 0x76, 0x67, 0x64, 0x36, 0x70, 0x25, 0x4b, 0x35, 0x30, 0xe8, 0x0a, 0x17, + 0xb1, 0x6b, 0x22, 0x40, 0x6e, 0x84, 0xef, 0xa6, 0xa4, 0xb5, 0xce, 0xef, + 0x3e, 0xbc, 0x87, 0x74, 0x95, 0xfc, 0x60, 0x48, +}; +static const unsigned char kat827_nonce[] = {0}; +static const unsigned char kat827_persstr[] = { + 0x40, 0xb9, 0x29, 0x69, 0x95, 0x3a, 0xcd, 0xe7, 0x56, 0x74, 0x70, 0x05, + 0x11, 0x7e, 0x46, 0xef, 0xf6, 0x89, 0x3d, 0x71, 0x32, 0xa8, 0x31, 0x1f, + 0xfb, 0x10, 0x62, 0x28, 0x03, 0x67, 0x32, 0x6b, +}; +static const unsigned char kat827_addin0[] = { + 0x79, 0x7a, 0x02, 0xff, 0xbe, 0x8f, 0xf2, 0xc9, 0x4e, 0xd0, 0xe5, 0xd3, + 0x9e, 0xbd, 0xc7, 0x84, 0x7a, 0xda, 0xa7, 0x62, 0xa8, 0x82, 0x38, 0x24, + 0x2e, 0xd8, 0xf7, 0x1f, 0x56, 0x35, 0xb1, 0x94, +}; +static const unsigned char kat827_addin1[] = { + 0xd6, 0x17, 0xf0, 0xf0, 0xe6, 0x09, 0xe9, 0x0d, 0x81, 0x41, 0x92, 0xba, + 0x2e, 0x52, 0x14, 0x29, 0x3d, 0x48, 0x54, 0x02, 0xcd, 0xf9, 0xf7, 0x89, + 0xcc, 0x78, 0xb0, 0x5e, 0x8c, 0x37, 0x4f, 0x18, +}; +static const unsigned char kat827_retbits[] = { + 0xe8, 0xd6, 0xf8, 0x9d, 0xca, 0x98, 0x25, 0xae, 0xd8, 0x92, 0x7b, 0x43, + 0x18, 0x74, 0x92, 0xa9, 0x8c, 0xa8, 0x64, 0x8d, 0xb3, 0x0f, 0x0a, 0xc7, + 0x09, 0x55, 0x6d, 0x40, 0x1a, 0x8a, 0xc2, 0xb9, 0x59, 0xc8, 0x13, 0x50, + 0xfc, 0x64, 0x33, 0x2c, 0x4c, 0x0d, 0xeb, 0x55, 0x9a, 0x28, 0x6a, 0x72, + 0xe6, 0x5d, 0xbb, 0x46, 0x2b, 0xd8, 0x72, 0xf9, 0xb2, 0x8c, 0x07, 0x28, + 0xf3, 0x53, 0xdc, 0x10, +}; +static const struct drbg_kat_no_reseed kat827_t = { + 1, kat827_entropyin, kat827_nonce, kat827_persstr, + kat827_addin0, kat827_addin1, kat827_retbits +}; +static const struct drbg_kat kat827 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat827_t +}; + +static const unsigned char kat828_entropyin[] = { + 0x74, 0x98, 0x68, 0xea, 0xec, 0xe2, 0x94, 0xa1, 0xec, 0x7e, 0xc9, 0xe3, + 0xf3, 0x93, 0xdf, 0xed, 0xaa, 0xab, 0x2f, 0xf0, 0x4e, 0xce, 0x79, 0xe5, + 0x04, 0xf2, 0x7e, 0x2e, 0x58, 0x67, 0x9a, 0xfa, +}; +static const unsigned char kat828_nonce[] = {0}; +static const unsigned char kat828_persstr[] = { + 0x9c, 0x9b, 0x45, 0xe3, 0x91, 0x93, 0x74, 0x7c, 0xba, 0x32, 0xfe, 0x67, + 0x69, 0x2c, 0x0a, 0xd8, 0xdf, 0xcf, 0x75, 0xf6, 0xd8, 0x8a, 0xa7, 0x9a, + 0x2d, 0xcb, 0xa0, 0x2c, 0xf1, 0xbc, 0x0f, 0xc8, +}; +static const unsigned char kat828_addin0[] = { + 0x27, 0x73, 0x16, 0xb3, 0x95, 0x92, 0x03, 0x47, 0xc6, 0xcc, 0xc4, 0x1e, + 0x60, 0xba, 0x38, 0x0f, 0x36, 0x72, 0xac, 0x4c, 0xca, 0x3c, 0x25, 0x1b, + 0xc0, 0x6a, 0x39, 0x36, 0xc3, 0x62, 0x01, 0xa6, +}; +static const unsigned char kat828_addin1[] = { + 0xe5, 0xd3, 0xc8, 0x15, 0x58, 0x52, 0x79, 0x91, 0x33, 0xe4, 0xc0, 0xf8, + 0xfe, 0xef, 0x81, 0x86, 0x17, 0xd5, 0xe6, 0x14, 0xfe, 0x5b, 0x24, 0xeb, + 0x68, 0x02, 0x3c, 0x92, 0x97, 0xe8, 0xb5, 0x2c, +}; +static const unsigned char kat828_retbits[] = { + 0x27, 0xb9, 0x25, 0xbf, 0xa5, 0x56, 0xf7, 0x89, 0xe9, 0xa3, 0x10, 0x32, + 0x8d, 0x28, 0x52, 0x60, 0x38, 0x8f, 0x4c, 0x3a, 0x33, 0x89, 0x88, 0xe9, + 0x60, 0x44, 0x6e, 0x5c, 0xd7, 0xfd, 0x19, 0xe8, 0x83, 0x1b, 0x80, 0xa8, + 0x29, 0x73, 0x14, 0x97, 0xcc, 0xdd, 0x1a, 0x74, 0xf9, 0x36, 0xef, 0xbf, + 0x4c, 0x80, 0x03, 0x49, 0xb4, 0xfb, 0x9a, 0x0e, 0xf2, 0x91, 0xe1, 0x40, + 0x02, 0x82, 0x5c, 0x65, +}; +static const struct drbg_kat_no_reseed kat828_t = { + 2, kat828_entropyin, kat828_nonce, kat828_persstr, + kat828_addin0, kat828_addin1, kat828_retbits +}; +static const struct drbg_kat kat828 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat828_t +}; + +static const unsigned char kat829_entropyin[] = { + 0x94, 0xab, 0xdc, 0x4c, 0x57, 0x82, 0x1e, 0x4c, 0x1c, 0x9a, 0x17, 0x75, + 0xc1, 0xe3, 0xd9, 0xdc, 0xf8, 0xea, 0x9b, 0x9b, 0x2f, 0x60, 0xd6, 0x81, + 0x87, 0xfd, 0x7e, 0xc6, 0xdf, 0x8d, 0x48, 0x8e, +}; +static const unsigned char kat829_nonce[] = {0}; +static const unsigned char kat829_persstr[] = { + 0x88, 0xe1, 0x19, 0x6a, 0xf3, 0x00, 0xad, 0xf9, 0x53, 0x20, 0x3e, 0x5a, + 0x69, 0x9d, 0x0d, 0x38, 0xb3, 0xd4, 0x13, 0x54, 0x2f, 0x41, 0x4e, 0x6e, + 0xfb, 0x31, 0x8d, 0x5a, 0x50, 0x74, 0xc8, 0xbe, +}; +static const unsigned char kat829_addin0[] = { + 0x74, 0xdc, 0x1a, 0xa3, 0xb2, 0x17, 0x11, 0x33, 0xff, 0x3e, 0xca, 0x69, + 0x10, 0x69, 0xb0, 0x61, 0x68, 0x06, 0x61, 0xbd, 0x5e, 0x50, 0x33, 0x92, + 0x07, 0xe5, 0xab, 0x3d, 0x85, 0xed, 0x35, 0xdb, +}; +static const unsigned char kat829_addin1[] = { + 0x7a, 0xe3, 0x37, 0x79, 0xef, 0xdb, 0xf5, 0x30, 0xdf, 0xf9, 0x75, 0x82, + 0x96, 0x2d, 0xe9, 0x37, 0xac, 0xc7, 0x41, 0x45, 0x7a, 0xc6, 0x8f, 0x0e, + 0xac, 0xbb, 0x31, 0xa9, 0xd2, 0x25, 0xb4, 0x7f, +}; +static const unsigned char kat829_retbits[] = { + 0xa6, 0x13, 0x82, 0x3c, 0x56, 0x05, 0x7c, 0xd0, 0x01, 0xda, 0x13, 0x06, + 0x4e, 0xe1, 0x9f, 0xc1, 0xeb, 0x3a, 0x1e, 0x39, 0x68, 0x0e, 0x5c, 0x95, + 0x7a, 0x6a, 0xe4, 0x4d, 0x73, 0xba, 0xd9, 0xc0, 0xf0, 0xb9, 0xc0, 0x49, + 0xe8, 0xf1, 0xd3, 0xde, 0x5f, 0x5b, 0x9a, 0xf9, 0x8e, 0x3c, 0x0e, 0x11, + 0xae, 0x27, 0xec, 0x09, 0xc1, 0xc6, 0x20, 0x33, 0x13, 0x99, 0xd3, 0x08, + 0xdf, 0x89, 0x85, 0x62, +}; +static const struct drbg_kat_no_reseed kat829_t = { + 3, kat829_entropyin, kat829_nonce, kat829_persstr, + kat829_addin0, kat829_addin1, kat829_retbits +}; +static const struct drbg_kat kat829 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat829_t +}; + +static const unsigned char kat830_entropyin[] = { + 0x4b, 0x5f, 0xea, 0xc2, 0x4a, 0xc3, 0x5f, 0x40, 0x03, 0xf7, 0xfe, 0x15, + 0x9f, 0xe6, 0x28, 0x1e, 0x8f, 0x65, 0x52, 0xbf, 0xfc, 0xbe, 0xdb, 0x5f, + 0xf0, 0xf6, 0x1d, 0x82, 0x2b, 0x5f, 0x06, 0x0a, +}; +static const unsigned char kat830_nonce[] = {0}; +static const unsigned char kat830_persstr[] = { + 0x67, 0x64, 0x58, 0xba, 0x8e, 0x2a, 0xb7, 0x1a, 0x3d, 0x7a, 0x14, 0x28, + 0xfe, 0x50, 0xe3, 0x08, 0x1e, 0x01, 0x8e, 0x4c, 0x2c, 0x73, 0xe1, 0xd7, + 0xc0, 0x36, 0xa8, 0x23, 0x48, 0x6a, 0x58, 0x10, +}; +static const unsigned char kat830_addin0[] = { + 0x95, 0xba, 0x78, 0x62, 0x3e, 0x5d, 0x36, 0xfd, 0x64, 0xdd, 0xad, 0xe6, + 0x6a, 0x65, 0x10, 0x08, 0xe9, 0xb5, 0x7c, 0x84, 0x76, 0x02, 0xaf, 0x7f, + 0x71, 0xbc, 0x4d, 0x87, 0x7b, 0xab, 0x62, 0x0b, +}; +static const unsigned char kat830_addin1[] = { + 0xf5, 0xf9, 0xdc, 0x93, 0x2d, 0x69, 0xce, 0x35, 0x1c, 0x90, 0x83, 0x68, + 0xd9, 0xc3, 0xce, 0xf5, 0x23, 0x1d, 0xc2, 0x41, 0x7b, 0x53, 0x14, 0xe4, + 0xeb, 0x80, 0xc4, 0xaf, 0x60, 0xbe, 0x05, 0x0f, +}; +static const unsigned char kat830_retbits[] = { + 0xd8, 0xd7, 0x95, 0x0a, 0xd8, 0xb8, 0xf3, 0x2a, 0x0c, 0x20, 0x9c, 0x8e, + 0x8e, 0xd5, 0xa1, 0x67, 0x24, 0xe2, 0x68, 0xdb, 0xd5, 0xbf, 0x8d, 0xf8, + 0xbc, 0xc1, 0x39, 0x6a, 0xfa, 0x11, 0xe2, 0x79, 0xb0, 0xc2, 0xe0, 0x1e, + 0x12, 0x28, 0xd4, 0x7c, 0xa0, 0x42, 0x03, 0x8b, 0xd5, 0xf5, 0xc1, 0x59, + 0xd1, 0x44, 0x19, 0x84, 0x62, 0xf7, 0x52, 0x72, 0x86, 0xba, 0xbe, 0x72, + 0xcf, 0xfb, 0xa9, 0x9a, +}; +static const struct drbg_kat_no_reseed kat830_t = { + 4, kat830_entropyin, kat830_nonce, kat830_persstr, + kat830_addin0, kat830_addin1, kat830_retbits +}; +static const struct drbg_kat kat830 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat830_t +}; + +static const unsigned char kat831_entropyin[] = { + 0x66, 0x89, 0xdc, 0xfc, 0xd6, 0xff, 0xcc, 0xa2, 0x74, 0x44, 0xce, 0x9f, + 0xef, 0x0e, 0x0a, 0x11, 0x90, 0x25, 0xba, 0x99, 0xbf, 0x52, 0x9a, 0xcd, + 0xf2, 0x16, 0xf4, 0x69, 0x35, 0x53, 0x0e, 0xee, +}; +static const unsigned char kat831_nonce[] = {0}; +static const unsigned char kat831_persstr[] = { + 0x7e, 0xc6, 0xa1, 0x95, 0xc2, 0xb1, 0x44, 0x92, 0x42, 0xbc, 0xc9, 0x18, + 0xf5, 0xdb, 0x25, 0x62, 0x5e, 0x59, 0xe6, 0xae, 0x06, 0x37, 0x23, 0x92, + 0xe5, 0x38, 0xf7, 0xfd, 0xd2, 0x10, 0xe2, 0xaf, +}; +static const unsigned char kat831_addin0[] = { + 0xb2, 0x60, 0x33, 0x74, 0x62, 0x20, 0x97, 0x3d, 0x84, 0x21, 0x93, 0x34, + 0x0d, 0xb0, 0xe3, 0x00, 0xce, 0x0e, 0xbf, 0xf3, 0x6a, 0x66, 0x09, 0x9d, + 0x68, 0x28, 0xbf, 0x91, 0xba, 0x5d, 0x2d, 0x4e, +}; +static const unsigned char kat831_addin1[] = { + 0x9a, 0x54, 0xf8, 0xf8, 0xaf, 0x43, 0x02, 0x06, 0x10, 0x4b, 0xfc, 0xf2, + 0xc0, 0x3a, 0x3c, 0xf6, 0xda, 0x74, 0xca, 0x57, 0x1f, 0xf4, 0xf9, 0xaf, + 0xac, 0x41, 0x5e, 0x86, 0xe9, 0x5e, 0xf5, 0xa9, +}; +static const unsigned char kat831_retbits[] = { + 0xca, 0xaa, 0x27, 0x0c, 0x0d, 0xd4, 0x22, 0xaf, 0x2f, 0x7d, 0x7d, 0xbe, + 0x06, 0x9a, 0xb4, 0x58, 0x99, 0x5d, 0x00, 0xf0, 0xa9, 0x9f, 0x43, 0xe2, + 0xb1, 0x09, 0xd4, 0xd9, 0xa6, 0x8f, 0x39, 0x78, 0x2a, 0x2b, 0x6c, 0xbb, + 0x3f, 0xe8, 0xcb, 0x9b, 0x38, 0xde, 0xdc, 0xb5, 0x6c, 0x0a, 0x9a, 0x4f, + 0x71, 0x52, 0xf5, 0xa0, 0x59, 0xee, 0x40, 0x5d, 0x25, 0x48, 0xea, 0x3b, + 0xe4, 0x42, 0xce, 0x56, +}; +static const struct drbg_kat_no_reseed kat831_t = { + 5, kat831_entropyin, kat831_nonce, kat831_persstr, + kat831_addin0, kat831_addin1, kat831_retbits +}; +static const struct drbg_kat kat831 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat831_t +}; + +static const unsigned char kat832_entropyin[] = { + 0xa5, 0xad, 0xfa, 0x74, 0xd1, 0x7a, 0x39, 0xc6, 0xab, 0x28, 0xa6, 0xd8, + 0xef, 0x36, 0x4d, 0x5e, 0x2f, 0x95, 0x81, 0xbc, 0xbe, 0xa7, 0x1b, 0x0b, + 0x04, 0x8f, 0x1f, 0x1c, 0x7f, 0xea, 0x3c, 0x24, +}; +static const unsigned char kat832_nonce[] = {0}; +static const unsigned char kat832_persstr[] = { + 0x90, 0xa9, 0x2c, 0x76, 0xdf, 0xd9, 0x52, 0xaf, 0x62, 0x96, 0xe0, 0x15, + 0xb6, 0x59, 0x2c, 0xc0, 0x56, 0x33, 0xb6, 0xe2, 0x8f, 0x3f, 0x5e, 0xe6, + 0x0f, 0xad, 0x92, 0x7d, 0x67, 0xaf, 0x81, 0xf8, +}; +static const unsigned char kat832_addin0[] = { + 0x8f, 0x76, 0xad, 0x33, 0x0e, 0x11, 0x8c, 0xb3, 0x87, 0xb5, 0x46, 0x78, + 0x49, 0x9a, 0x37, 0xf6, 0x03, 0x21, 0x2b, 0xae, 0xac, 0x25, 0x57, 0xd2, + 0x2d, 0x5a, 0x4e, 0xbf, 0xcd, 0x31, 0xcd, 0x2b, +}; +static const unsigned char kat832_addin1[] = { + 0xc3, 0x7f, 0x90, 0x3c, 0x99, 0x16, 0x6d, 0xf3, 0x0c, 0x5a, 0x02, 0xf2, + 0x62, 0x10, 0x8e, 0x6f, 0xd6, 0xec, 0x3d, 0x2a, 0xf7, 0xa9, 0xdc, 0x66, + 0x22, 0xc0, 0xe9, 0x3c, 0x97, 0x24, 0xd3, 0xff, +}; +static const unsigned char kat832_retbits[] = { + 0x1a, 0xce, 0xc7, 0x4b, 0x9b, 0x96, 0x10, 0x87, 0xcd, 0x8d, 0xe8, 0x5c, + 0x96, 0xeb, 0x74, 0x34, 0x6d, 0xab, 0x26, 0x09, 0x93, 0x89, 0xc9, 0xdf, + 0x24, 0x25, 0x0c, 0x32, 0x1f, 0x0d, 0x87, 0xf5, 0x2c, 0x55, 0x78, 0x67, + 0xa6, 0x00, 0xd9, 0x31, 0x20, 0x89, 0xe7, 0x8d, 0x96, 0x53, 0xd4, 0xd0, + 0x77, 0xf3, 0xad, 0x59, 0xca, 0x0e, 0x3f, 0xaa, 0xc6, 0x17, 0x27, 0x76, + 0x77, 0xcf, 0x9a, 0xe5, +}; +static const struct drbg_kat_no_reseed kat832_t = { + 6, kat832_entropyin, kat832_nonce, kat832_persstr, + kat832_addin0, kat832_addin1, kat832_retbits +}; +static const struct drbg_kat kat832 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat832_t +}; + +static const unsigned char kat833_entropyin[] = { + 0x94, 0x37, 0x40, 0x42, 0x39, 0x16, 0x40, 0x16, 0x45, 0x79, 0x90, 0x08, + 0x55, 0x62, 0xca, 0x14, 0x86, 0x5c, 0x7e, 0x8b, 0x9f, 0xda, 0xb3, 0x8b, + 0xe9, 0x31, 0x01, 0xfd, 0x57, 0x86, 0x68, 0xd4, +}; +static const unsigned char kat833_nonce[] = {0}; +static const unsigned char kat833_persstr[] = { + 0xa3, 0x8b, 0xe2, 0xf1, 0x73, 0x8b, 0x5f, 0x08, 0xe7, 0x94, 0x69, 0x80, + 0xb2, 0x08, 0xf4, 0xe3, 0xc0, 0xcb, 0xcc, 0xef, 0x60, 0x89, 0x8f, 0x57, + 0xab, 0x5b, 0xa8, 0xb5, 0x4c, 0xf3, 0xc1, 0x1c, +}; +static const unsigned char kat833_addin0[] = { + 0x56, 0xb3, 0xb5, 0xf0, 0x53, 0xb8, 0xb2, 0xbc, 0x58, 0x26, 0x78, 0x0d, + 0x73, 0x01, 0xe2, 0xc0, 0x46, 0x21, 0x83, 0x92, 0xcd, 0x82, 0xb6, 0x2e, + 0xc1, 0x6f, 0x37, 0xbc, 0x87, 0xb6, 0x51, 0xea, +}; +static const unsigned char kat833_addin1[] = { + 0xf2, 0x2c, 0xfd, 0x51, 0x88, 0x64, 0x66, 0x0a, 0x99, 0xdc, 0xb0, 0x6e, + 0xdd, 0x4a, 0x15, 0xea, 0xe3, 0x07, 0x4e, 0x7b, 0xb1, 0x87, 0xaa, 0xd5, + 0x87, 0xfc, 0x57, 0x0f, 0x54, 0xed, 0xa5, 0x1e, +}; +static const unsigned char kat833_retbits[] = { + 0xc8, 0x61, 0x2d, 0x5f, 0xcb, 0x05, 0x3a, 0xe3, 0x1a, 0x68, 0x84, 0x24, + 0x87, 0x09, 0xe2, 0xfb, 0x2e, 0x9b, 0x2d, 0x9f, 0xc1, 0x8c, 0xce, 0x82, + 0xcd, 0xe9, 0xf9, 0x41, 0xa0, 0x64, 0xba, 0xab, 0xa2, 0x19, 0x70, 0x01, + 0x91, 0x78, 0xa6, 0x2d, 0x17, 0xa4, 0x19, 0x8d, 0x26, 0xc3, 0x92, 0xc0, + 0x22, 0xc3, 0x2c, 0xe4, 0x7d, 0x74, 0x8c, 0x5b, 0x29, 0xb6, 0xf0, 0x32, + 0x80, 0x34, 0x18, 0xaa, +}; +static const struct drbg_kat_no_reseed kat833_t = { + 7, kat833_entropyin, kat833_nonce, kat833_persstr, + kat833_addin0, kat833_addin1, kat833_retbits +}; +static const struct drbg_kat kat833 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat833_t +}; + +static const unsigned char kat834_entropyin[] = { + 0x37, 0x22, 0x24, 0xba, 0x26, 0x89, 0x40, 0x2f, 0x22, 0x2f, 0x67, 0xda, + 0x94, 0xb4, 0xc2, 0x96, 0x70, 0x86, 0x7c, 0x5c, 0xb2, 0x16, 0xb5, 0x1e, + 0xbf, 0xdc, 0xa4, 0xcf, 0x55, 0x4b, 0x0f, 0x8a, +}; +static const unsigned char kat834_nonce[] = {0}; +static const unsigned char kat834_persstr[] = { + 0x57, 0x94, 0x48, 0x44, 0xde, 0xe0, 0x20, 0x16, 0x85, 0x4c, 0xf8, 0x44, + 0x86, 0x35, 0x7e, 0x34, 0x70, 0x06, 0x91, 0x96, 0xe4, 0x28, 0xd8, 0x17, + 0x8c, 0xa2, 0x22, 0x5a, 0xb7, 0xdb, 0xcb, 0x95, +}; +static const unsigned char kat834_addin0[] = { + 0x1e, 0x6f, 0x7f, 0xdf, 0x0b, 0x6c, 0xa8, 0x78, 0x12, 0xe3, 0x56, 0x6a, + 0xd3, 0x38, 0x72, 0x28, 0xe4, 0xb2, 0xc4, 0x02, 0xa6, 0x18, 0xf0, 0x26, + 0xcd, 0x84, 0xa1, 0x40, 0x34, 0xad, 0xa0, 0xab, +}; +static const unsigned char kat834_addin1[] = { + 0x38, 0x66, 0xb9, 0x14, 0xe9, 0x75, 0xb2, 0x5c, 0xe9, 0xfd, 0xb0, 0xb5, + 0xd3, 0xcf, 0x74, 0xcb, 0xa1, 0x96, 0xe2, 0x6e, 0x67, 0xdf, 0x11, 0x02, + 0x7b, 0xc1, 0xb4, 0x48, 0x90, 0xdb, 0xc7, 0x6e, +}; +static const unsigned char kat834_retbits[] = { + 0xa2, 0xa1, 0x82, 0x94, 0x4d, 0x52, 0x18, 0xb1, 0x98, 0x25, 0x9b, 0xa9, + 0x14, 0xbf, 0x16, 0x15, 0x14, 0x4f, 0x7e, 0x64, 0x76, 0xf2, 0x36, 0x29, + 0x08, 0x15, 0x00, 0x6c, 0xd2, 0x7d, 0xf3, 0x11, 0x47, 0xe1, 0xd0, 0xa9, + 0xc3, 0xf8, 0xa2, 0x53, 0x8f, 0xc1, 0xfe, 0xf5, 0xcf, 0xa6, 0x7a, 0x3c, + 0xd6, 0x89, 0xd5, 0x66, 0xb7, 0xdd, 0xd0, 0x6b, 0x3b, 0x20, 0x55, 0xb4, + 0x0d, 0xca, 0xb6, 0x80, +}; +static const struct drbg_kat_no_reseed kat834_t = { + 8, kat834_entropyin, kat834_nonce, kat834_persstr, + kat834_addin0, kat834_addin1, kat834_retbits +}; +static const struct drbg_kat kat834 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat834_t +}; + +static const unsigned char kat835_entropyin[] = { + 0xef, 0x5f, 0xd7, 0x74, 0x09, 0xee, 0x7c, 0x11, 0x34, 0xe7, 0xbf, 0x8c, + 0x43, 0x2b, 0x72, 0x65, 0x96, 0x57, 0xc2, 0xff, 0x1c, 0x0e, 0x4d, 0xaa, + 0xc9, 0x69, 0xac, 0xcf, 0x93, 0xec, 0x06, 0x87, +}; +static const unsigned char kat835_nonce[] = {0}; +static const unsigned char kat835_persstr[] = { + 0x14, 0x6d, 0x6e, 0x37, 0x11, 0x86, 0x14, 0xd7, 0x31, 0x02, 0xfe, 0xb2, + 0xd6, 0x60, 0x14, 0x50, 0x4f, 0xfe, 0xcc, 0x0f, 0x02, 0x7b, 0x5b, 0xe6, + 0x9e, 0x89, 0x45, 0xe6, 0xf3, 0x09, 0xec, 0x5b, +}; +static const unsigned char kat835_addin0[] = { + 0xf2, 0xea, 0xe6, 0x6e, 0x9c, 0x69, 0xcc, 0xa6, 0xad, 0x87, 0xb4, 0xfb, + 0x20, 0xd1, 0x80, 0x2b, 0xfd, 0x9b, 0x8f, 0xd8, 0xe9, 0xe6, 0x9a, 0xba, + 0x30, 0x2c, 0x2c, 0x3e, 0x80, 0x5b, 0x91, 0x17, +}; +static const unsigned char kat835_addin1[] = { + 0x93, 0x81, 0xfc, 0xc0, 0x6d, 0xf1, 0x80, 0x81, 0x75, 0x67, 0x26, 0x56, + 0x04, 0xd1, 0x30, 0x9c, 0xa7, 0xa5, 0xce, 0x51, 0x14, 0x04, 0xc1, 0x5c, + 0xfd, 0xb2, 0xc5, 0x92, 0x0b, 0xfc, 0x44, 0x40, +}; +static const unsigned char kat835_retbits[] = { + 0x74, 0x0f, 0x8e, 0x34, 0x65, 0x57, 0xf3, 0xed, 0x8f, 0x99, 0xe3, 0x3e, + 0xe1, 0x42, 0x6e, 0x80, 0x95, 0xb4, 0x3b, 0x88, 0x5d, 0x3c, 0xf8, 0x63, + 0x7d, 0x0d, 0x41, 0x94, 0xab, 0x2c, 0x8d, 0x37, 0x4d, 0xa6, 0xd0, 0x01, + 0x41, 0xa3, 0x99, 0x57, 0xec, 0x6c, 0x9f, 0xbe, 0xa1, 0x3c, 0xf5, 0xc1, + 0xe6, 0x29, 0x66, 0x44, 0xc6, 0xc3, 0x64, 0x9e, 0xd8, 0x5a, 0xed, 0x5d, + 0xf8, 0x4e, 0x98, 0x62, +}; +static const struct drbg_kat_no_reseed kat835_t = { + 9, kat835_entropyin, kat835_nonce, kat835_persstr, + kat835_addin0, kat835_addin1, kat835_retbits +}; +static const struct drbg_kat kat835 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat835_t +}; + +static const unsigned char kat836_entropyin[] = { + 0x11, 0x3b, 0xaf, 0xed, 0xbd, 0x62, 0xa9, 0x65, 0x47, 0xdf, 0xed, 0xc5, + 0x08, 0xa9, 0xc8, 0x5f, 0x58, 0x43, 0xf2, 0xa8, 0x13, 0xc3, 0x3b, 0xc8, + 0x03, 0xd5, 0xcf, 0xb6, 0x2c, 0x97, 0x19, 0x66, +}; +static const unsigned char kat836_nonce[] = {0}; +static const unsigned char kat836_persstr[] = { + 0xb1, 0x70, 0x84, 0xec, 0xfd, 0x6e, 0x3f, 0x41, 0x1b, 0x82, 0x37, 0x9d, + 0x30, 0x01, 0xaf, 0x3a, 0x17, 0xde, 0xbd, 0xea, 0xb5, 0xfe, 0x2d, 0x01, + 0x07, 0x90, 0x28, 0x60, 0x8e, 0xbf, 0x60, 0x25, +}; +static const unsigned char kat836_addin0[] = { + 0x65, 0xd4, 0x03, 0x75, 0x48, 0x1c, 0x48, 0xb9, 0x90, 0x9c, 0x84, 0x1e, + 0x55, 0x0e, 0x82, 0xf4, 0x8d, 0x5d, 0x46, 0x68, 0xd6, 0xf6, 0x6f, 0x8b, + 0x59, 0x80, 0xa8, 0xed, 0x23, 0x33, 0x00, 0x8d, +}; +static const unsigned char kat836_addin1[] = { + 0x69, 0x1f, 0xc8, 0x26, 0x05, 0x64, 0x99, 0xd3, 0x77, 0x1e, 0x89, 0x9b, + 0x24, 0xcd, 0x2e, 0xc8, 0x6f, 0xd7, 0x6f, 0x46, 0xc9, 0xd2, 0xe7, 0x3c, + 0xa1, 0xb5, 0x49, 0xf2, 0x89, 0xb7, 0xf7, 0x25, +}; +static const unsigned char kat836_retbits[] = { + 0x87, 0x8b, 0x16, 0x0b, 0x83, 0x20, 0x0f, 0xdd, 0x35, 0x78, 0x34, 0xa4, + 0xef, 0xa7, 0xeb, 0x2d, 0xae, 0x7f, 0xc8, 0x6a, 0x48, 0x72, 0xe6, 0x0f, + 0x68, 0x2c, 0xf5, 0xf7, 0x32, 0xfb, 0xf4, 0xb5, 0xeb, 0xa7, 0xf5, 0x5c, + 0xc9, 0x66, 0xe0, 0x19, 0x96, 0x6f, 0x5d, 0x64, 0xf9, 0xfc, 0x34, 0x47, + 0xb9, 0xd8, 0xd2, 0xc2, 0xea, 0x6c, 0xa2, 0x1f, 0xd4, 0x4b, 0x19, 0x03, + 0xb4, 0x57, 0xea, 0xba, +}; +static const struct drbg_kat_no_reseed kat836_t = { + 10, kat836_entropyin, kat836_nonce, kat836_persstr, + kat836_addin0, kat836_addin1, kat836_retbits +}; +static const struct drbg_kat kat836 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat836_t +}; + +static const unsigned char kat837_entropyin[] = { + 0xa0, 0xd2, 0xb9, 0xb4, 0x76, 0x07, 0xd4, 0x56, 0x4a, 0xf2, 0xa4, 0x43, + 0x06, 0x7d, 0x6f, 0x18, 0xc6, 0x00, 0x15, 0x54, 0x85, 0x02, 0x31, 0x21, + 0x02, 0x89, 0x21, 0x39, 0x6b, 0xb1, 0x01, 0x28, +}; +static const unsigned char kat837_nonce[] = {0}; +static const unsigned char kat837_persstr[] = { + 0xf6, 0x63, 0x79, 0x9e, 0x37, 0x99, 0x5a, 0xb3, 0x22, 0x0e, 0xfd, 0xe0, + 0x2d, 0xe4, 0x33, 0xed, 0x4c, 0xcc, 0x56, 0xc5, 0x07, 0x5c, 0x9a, 0x5e, + 0xe6, 0xc4, 0xe9, 0xc5, 0x5f, 0xe9, 0xd3, 0xbc, +}; +static const unsigned char kat837_addin0[] = { + 0x86, 0x90, 0x12, 0x49, 0x7a, 0x06, 0x07, 0xf9, 0x20, 0x56, 0x92, 0x07, + 0x63, 0xee, 0x4f, 0x40, 0x46, 0x1f, 0x30, 0x03, 0xa2, 0xea, 0x67, 0xec, + 0x0c, 0x26, 0xbb, 0xd9, 0x55, 0xb4, 0x01, 0xde, +}; +static const unsigned char kat837_addin1[] = { + 0x1b, 0x23, 0x17, 0x0f, 0x86, 0xa0, 0xdb, 0xb7, 0x85, 0xa3, 0xc3, 0x61, + 0x94, 0x37, 0xa1, 0x1f, 0xb6, 0xb6, 0xe2, 0x96, 0x1c, 0x54, 0x89, 0x87, + 0x01, 0x95, 0x31, 0xf5, 0x4e, 0xe3, 0x22, 0xc8, +}; +static const unsigned char kat837_retbits[] = { + 0x4a, 0x8c, 0xca, 0x2b, 0x46, 0xdb, 0x41, 0x25, 0xe6, 0x80, 0x9c, 0xdc, + 0xf1, 0x21, 0xdc, 0x54, 0x9f, 0x59, 0x14, 0x94, 0xd4, 0x68, 0x3a, 0xb2, + 0xcb, 0xbe, 0x7d, 0x14, 0xcc, 0x82, 0x3c, 0xde, 0x91, 0x6b, 0x5c, 0xb0, + 0xa1, 0x10, 0x83, 0xee, 0xa8, 0xfc, 0x30, 0x1b, 0x93, 0xfb, 0x0b, 0xca, + 0xa6, 0xc8, 0xea, 0xcc, 0xf2, 0x10, 0xa7, 0xbf, 0xd8, 0x0d, 0x02, 0x4f, + 0x7a, 0xec, 0xe1, 0x80, +}; +static const struct drbg_kat_no_reseed kat837_t = { + 11, kat837_entropyin, kat837_nonce, kat837_persstr, + kat837_addin0, kat837_addin1, kat837_retbits +}; +static const struct drbg_kat kat837 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat837_t +}; + +static const unsigned char kat838_entropyin[] = { + 0xb5, 0x91, 0x70, 0xdd, 0xb5, 0x8c, 0xca, 0x49, 0xa0, 0x9e, 0xf1, 0x0c, + 0x35, 0xe0, 0xcb, 0x0f, 0xc3, 0x06, 0x73, 0xbb, 0x89, 0xcd, 0x0a, 0xbd, + 0x4b, 0x40, 0xdc, 0xc8, 0xfd, 0x8d, 0x0f, 0x26, +}; +static const unsigned char kat838_nonce[] = {0}; +static const unsigned char kat838_persstr[] = { + 0xc3, 0xe4, 0x1a, 0xd9, 0xdd, 0x38, 0x94, 0x43, 0x2f, 0xa5, 0xb0, 0xc0, + 0xd0, 0xd9, 0xa5, 0xab, 0x8e, 0x44, 0x7e, 0xf5, 0x22, 0x4a, 0x8b, 0xc6, + 0xb1, 0x31, 0x82, 0xea, 0xdd, 0x7b, 0x08, 0x6a, +}; +static const unsigned char kat838_addin0[] = { + 0xfe, 0x6d, 0xa3, 0xc0, 0x23, 0x11, 0x8d, 0xd6, 0x91, 0x98, 0x8d, 0xb2, + 0xd7, 0x67, 0x00, 0xb3, 0x84, 0x35, 0x73, 0xce, 0xf4, 0x05, 0xf5, 0xaf, + 0x17, 0x30, 0xe6, 0x14, 0xa8, 0xee, 0xfd, 0x29, +}; +static const unsigned char kat838_addin1[] = { + 0x90, 0xc7, 0x99, 0xce, 0x14, 0x93, 0xf9, 0x08, 0xae, 0x6d, 0x16, 0x73, + 0xab, 0x44, 0xa2, 0xf1, 0x47, 0xf4, 0xb8, 0xf1, 0xab, 0xbe, 0x41, 0x57, + 0xc4, 0xb4, 0x90, 0xbb, 0x75, 0xf2, 0x93, 0xbd, +}; +static const unsigned char kat838_retbits[] = { + 0x56, 0xc3, 0x40, 0x70, 0xc2, 0x51, 0x5c, 0x74, 0x29, 0xcc, 0x64, 0xbf, + 0xfa, 0xc6, 0xea, 0x11, 0x04, 0xdb, 0x76, 0xe4, 0x14, 0x6f, 0x58, 0x62, + 0x4d, 0x8d, 0xda, 0x3d, 0xbd, 0x1b, 0xf6, 0xf6, 0x2b, 0xb7, 0x44, 0xd4, + 0x1f, 0x6c, 0x26, 0x48, 0x9e, 0x24, 0x8b, 0x81, 0xcf, 0x64, 0x1a, 0x7b, + 0xfa, 0xbb, 0x36, 0x10, 0x9c, 0x2b, 0xb0, 0x8e, 0xda, 0x66, 0xeb, 0x2d, + 0x44, 0x37, 0xa8, 0xcd, +}; +static const struct drbg_kat_no_reseed kat838_t = { + 12, kat838_entropyin, kat838_nonce, kat838_persstr, + kat838_addin0, kat838_addin1, kat838_retbits +}; +static const struct drbg_kat kat838 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat838_t +}; + +static const unsigned char kat839_entropyin[] = { + 0x9b, 0xd5, 0x7e, 0x72, 0xca, 0x9c, 0xb4, 0x92, 0xa8, 0x8c, 0x3d, 0xbe, + 0x49, 0xc8, 0x51, 0xef, 0x04, 0xe1, 0xda, 0x87, 0x45, 0x78, 0x91, 0xad, + 0xdb, 0x06, 0xc2, 0x7a, 0xb9, 0x7f, 0xd9, 0x68, +}; +static const unsigned char kat839_nonce[] = {0}; +static const unsigned char kat839_persstr[] = { + 0xac, 0x1f, 0xfe, 0x64, 0xec, 0xff, 0x56, 0x76, 0xfe, 0x8e, 0x31, 0x07, + 0xfe, 0xe9, 0xc9, 0x19, 0x8b, 0x63, 0x18, 0x8a, 0x89, 0x9a, 0x76, 0x6a, + 0x1e, 0xd2, 0x8c, 0x84, 0xa9, 0x89, 0x8e, 0xc6, +}; +static const unsigned char kat839_addin0[] = { + 0xa9, 0xb6, 0xa2, 0x9c, 0x4a, 0xf4, 0x12, 0xc1, 0x07, 0xba, 0xad, 0xc5, + 0xbe, 0x0a, 0xc0, 0xa4, 0x57, 0x28, 0xb8, 0x61, 0xfc, 0xc2, 0xb1, 0x00, + 0xb0, 0x07, 0xc1, 0xcd, 0xa9, 0x90, 0x8a, 0x75, +}; +static const unsigned char kat839_addin1[] = { + 0xf3, 0xf7, 0xcc, 0xc0, 0xd9, 0x69, 0x18, 0x28, 0x9d, 0x2c, 0xe9, 0x90, + 0xb8, 0xf7, 0xb9, 0xcc, 0xb2, 0x17, 0xc9, 0xcd, 0x6e, 0x59, 0x72, 0x93, + 0x6b, 0xbb, 0x1c, 0x99, 0x07, 0x3c, 0x60, 0xb5, +}; +static const unsigned char kat839_retbits[] = { + 0xf1, 0x34, 0xa4, 0x5c, 0x20, 0xef, 0x4a, 0x61, 0xf4, 0x33, 0xd4, 0xfb, + 0x26, 0x73, 0x40, 0x75, 0xc6, 0xad, 0x66, 0x6a, 0x0d, 0x4f, 0x9c, 0xcb, + 0x06, 0x4b, 0x83, 0xde, 0x4e, 0x98, 0xff, 0x96, 0xbd, 0x20, 0x1e, 0xc5, + 0x2e, 0xbf, 0x00, 0xdc, 0x6a, 0xd6, 0xcb, 0x7d, 0x50, 0xd7, 0xc3, 0xe8, + 0xb1, 0x82, 0xb5, 0xf5, 0xb7, 0x00, 0xdc, 0x5b, 0x3b, 0xd1, 0x57, 0xa4, + 0xe8, 0x66, 0xbc, 0x6d, +}; +static const struct drbg_kat_no_reseed kat839_t = { + 13, kat839_entropyin, kat839_nonce, kat839_persstr, + kat839_addin0, kat839_addin1, kat839_retbits +}; +static const struct drbg_kat kat839 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat839_t +}; + +static const unsigned char kat840_entropyin[] = { + 0xdd, 0xb6, 0xe1, 0x09, 0x06, 0x65, 0x0b, 0xbf, 0x1c, 0xf7, 0x8d, 0x9e, + 0x80, 0x40, 0xb3, 0xb0, 0x2a, 0x60, 0x88, 0xe9, 0x4f, 0x84, 0xae, 0xfe, + 0xd1, 0x00, 0xa5, 0xe8, 0x0c, 0x16, 0xa4, 0xc8, +}; +static const unsigned char kat840_nonce[] = {0}; +static const unsigned char kat840_persstr[] = { + 0x05, 0xb6, 0xda, 0x01, 0x04, 0x47, 0xe7, 0x0c, 0x56, 0x66, 0x95, 0xa3, + 0xb2, 0x06, 0x64, 0xd6, 0xe7, 0x62, 0xd1, 0x22, 0x3c, 0xe4, 0x31, 0x5e, + 0xde, 0x31, 0x15, 0x18, 0x88, 0x3e, 0x2b, 0x5c, +}; +static const unsigned char kat840_addin0[] = { + 0xf5, 0x7c, 0xf3, 0x14, 0x18, 0x8b, 0x39, 0x77, 0x97, 0xca, 0xa3, 0x07, + 0x33, 0xcd, 0xab, 0xd5, 0xab, 0x2a, 0x90, 0x56, 0x2c, 0xab, 0x9b, 0xe5, + 0xf8, 0x12, 0xbb, 0xd4, 0x82, 0x52, 0x37, 0x1b, +}; +static const unsigned char kat840_addin1[] = { + 0x93, 0x83, 0x9a, 0xca, 0xa2, 0x71, 0xaf, 0x55, 0xec, 0x6c, 0x84, 0x64, + 0xac, 0x2b, 0xa8, 0xbc, 0x1c, 0x61, 0x58, 0x40, 0x08, 0xb5, 0xd9, 0x08, + 0xb2, 0x00, 0xd8, 0x04, 0x8e, 0xdc, 0x05, 0x62, +}; +static const unsigned char kat840_retbits[] = { + 0x38, 0xa3, 0xdd, 0x58, 0x4a, 0x68, 0xbd, 0x03, 0x7c, 0x5d, 0x5b, 0xe4, + 0xa1, 0x03, 0x08, 0x3e, 0x1d, 0x4b, 0xbd, 0x8a, 0x84, 0x5a, 0xc1, 0x83, + 0x2e, 0x4c, 0x54, 0x5e, 0x94, 0x2b, 0xb5, 0x23, 0x2c, 0xce, 0xc9, 0xdf, + 0x2a, 0xba, 0xaf, 0x08, 0x70, 0xd1, 0xf7, 0x5d, 0x3b, 0xf8, 0x5a, 0xa9, + 0x32, 0x3b, 0x5e, 0xed, 0xc2, 0x6a, 0x73, 0xad, 0xe2, 0xdd, 0xad, 0xe6, + 0x9f, 0xca, 0xf6, 0xd4, +}; +static const struct drbg_kat_no_reseed kat840_t = { + 14, kat840_entropyin, kat840_nonce, kat840_persstr, + kat840_addin0, kat840_addin1, kat840_retbits +}; +static const struct drbg_kat kat840 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat840_t +}; + +static const unsigned char kat841_entropyin[] = { + 0x48, 0xe8, 0x27, 0x1c, 0x4b, 0x55, 0x4d, 0x9d, 0xa3, 0xf8, 0x8c, 0x82, + 0x0d, 0x07, 0x8f, 0x6a, 0x3f, 0x66, 0xac, 0xf0, 0x07, 0xcc, 0x98, 0x84, + 0x0e, 0x03, 0xe2, 0x6c, 0x62, 0x52, 0x7f, 0x91, +}; +static const unsigned char kat841_nonce[] = {0}; +static const unsigned char kat841_persstr[] = {0}; +static const unsigned char kat841_addin0[] = {0}; +static const unsigned char kat841_addin1[] = {0}; +static const unsigned char kat841_retbits[] = { + 0xb9, 0xa9, 0x56, 0xa6, 0xe3, 0xd1, 0x03, 0x10, 0xe5, 0x7e, 0x28, 0x7c, + 0x28, 0x4c, 0x68, 0x67, 0xed, 0x9e, 0x80, 0x84, 0xa6, 0x2b, 0x25, 0xc4, + 0x92, 0x18, 0xfa, 0x3a, 0xed, 0xe7, 0xc6, 0xea, 0xec, 0x16, 0x22, 0x69, + 0x66, 0x40, 0xf6, 0xb4, 0xad, 0x53, 0x79, 0xc6, 0xfb, 0x8f, 0x9b, 0x5d, + 0x72, 0x02, 0xad, 0x89, 0x10, 0x5d, 0x03, 0x17, 0x34, 0x87, 0xe2, 0x9d, + 0xa9, 0x73, 0x93, 0x90, +}; +static const struct drbg_kat_no_reseed kat841_t = { + 0, kat841_entropyin, kat841_nonce, kat841_persstr, + kat841_addin0, kat841_addin1, kat841_retbits +}; +static const struct drbg_kat kat841 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat841_t +}; + +static const unsigned char kat842_entropyin[] = { + 0xb1, 0xc3, 0x47, 0xb0, 0x96, 0x65, 0x31, 0x0d, 0x0d, 0x04, 0x87, 0x93, + 0x5e, 0xa8, 0x1b, 0x4f, 0x73, 0x44, 0x83, 0x86, 0xcf, 0x08, 0x01, 0xcc, + 0x9d, 0x6a, 0x0b, 0xb6, 0x55, 0x60, 0x2c, 0x29, +}; +static const unsigned char kat842_nonce[] = {0}; +static const unsigned char kat842_persstr[] = {0}; +static const unsigned char kat842_addin0[] = {0}; +static const unsigned char kat842_addin1[] = {0}; +static const unsigned char kat842_retbits[] = { + 0xa6, 0x19, 0xe2, 0x6d, 0x7a, 0xcf, 0x6b, 0x82, 0x84, 0x51, 0x56, 0x2f, + 0x51, 0x75, 0xc2, 0xa9, 0xaf, 0xb7, 0x3c, 0xe3, 0xa7, 0x26, 0x5b, 0xea, + 0x38, 0xb8, 0xf3, 0xbd, 0xe9, 0xf4, 0x26, 0xcf, 0x55, 0x2f, 0xff, 0x34, + 0x35, 0xea, 0xbb, 0xfb, 0x72, 0x44, 0x6d, 0x90, 0x76, 0xee, 0x00, 0x45, + 0xbf, 0x82, 0xca, 0xff, 0x76, 0xd9, 0x01, 0x23, 0x7f, 0x7b, 0x6e, 0x33, + 0xe6, 0xac, 0xdf, 0x9a, +}; +static const struct drbg_kat_no_reseed kat842_t = { + 1, kat842_entropyin, kat842_nonce, kat842_persstr, + kat842_addin0, kat842_addin1, kat842_retbits +}; +static const struct drbg_kat kat842 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat842_t +}; + +static const unsigned char kat843_entropyin[] = { + 0x4a, 0xdf, 0x8e, 0xbf, 0xf3, 0x58, 0x8c, 0x1d, 0x86, 0xf8, 0xb0, 0xa7, + 0x0f, 0x55, 0x85, 0xcd, 0x7f, 0xa6, 0xe1, 0xa1, 0x17, 0x6e, 0x79, 0x1b, + 0xeb, 0x37, 0xb5, 0xa2, 0x51, 0x25, 0xd2, 0xab, +}; +static const unsigned char kat843_nonce[] = {0}; +static const unsigned char kat843_persstr[] = {0}; +static const unsigned char kat843_addin0[] = {0}; +static const unsigned char kat843_addin1[] = {0}; +static const unsigned char kat843_retbits[] = { + 0x8b, 0xfd, 0x73, 0xea, 0x99, 0x09, 0xcb, 0x62, 0x24, 0x8f, 0x97, 0x2c, + 0xa7, 0x7f, 0xd6, 0x53, 0x79, 0x24, 0xfb, 0xf5, 0x84, 0x7b, 0xd6, 0xb2, + 0x9b, 0x2f, 0xe3, 0x67, 0xf8, 0xdd, 0x2f, 0xe2, 0x2c, 0xad, 0xeb, 0x8b, + 0x6e, 0x32, 0x85, 0x6d, 0xcf, 0xf8, 0x11, 0xda, 0x72, 0x48, 0x3e, 0xf1, + 0x64, 0xcf, 0xa6, 0x78, 0xde, 0xb4, 0xf9, 0xaf, 0x38, 0x1e, 0xfe, 0x2d, + 0x70, 0x28, 0x82, 0x92, +}; +static const struct drbg_kat_no_reseed kat843_t = { + 2, kat843_entropyin, kat843_nonce, kat843_persstr, + kat843_addin0, kat843_addin1, kat843_retbits +}; +static const struct drbg_kat kat843 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat843_t +}; + +static const unsigned char kat844_entropyin[] = { + 0x28, 0x5d, 0xe6, 0x16, 0xb8, 0xba, 0x8b, 0xb5, 0xf6, 0x46, 0xfe, 0x43, + 0x60, 0x16, 0x45, 0x45, 0x4e, 0xc7, 0xd7, 0x08, 0xf4, 0x42, 0xfb, 0x1f, + 0xfd, 0xea, 0x09, 0xae, 0x10, 0xac, 0xc0, 0x64, +}; +static const unsigned char kat844_nonce[] = {0}; +static const unsigned char kat844_persstr[] = {0}; +static const unsigned char kat844_addin0[] = {0}; +static const unsigned char kat844_addin1[] = {0}; +static const unsigned char kat844_retbits[] = { + 0x31, 0xbe, 0x55, 0x8c, 0xa1, 0x3f, 0x23, 0x8d, 0x59, 0x6e, 0xc5, 0xdb, + 0x02, 0xd4, 0xf0, 0xb9, 0x23, 0xbf, 0x01, 0x64, 0x9d, 0x1a, 0x51, 0xf4, + 0xcd, 0x27, 0xfc, 0xd7, 0x7b, 0xa2, 0x9e, 0x46, 0x30, 0xef, 0xc9, 0x13, + 0xbd, 0xa1, 0xdb, 0xed, 0x32, 0x0c, 0x7f, 0x4c, 0x8d, 0x69, 0xac, 0x7f, + 0xb3, 0xec, 0xcc, 0x25, 0x9b, 0xca, 0x82, 0xe4, 0x79, 0x59, 0x9f, 0x3a, + 0x67, 0xb1, 0x79, 0x22, +}; +static const struct drbg_kat_no_reseed kat844_t = { + 3, kat844_entropyin, kat844_nonce, kat844_persstr, + kat844_addin0, kat844_addin1, kat844_retbits +}; +static const struct drbg_kat kat844 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat844_t +}; + +static const unsigned char kat845_entropyin[] = { + 0x14, 0x5b, 0x3c, 0x65, 0xaf, 0xb2, 0xfb, 0xae, 0x1c, 0xd7, 0x65, 0x25, + 0xb2, 0xd5, 0x32, 0x5c, 0xc4, 0x30, 0xcd, 0x4e, 0x1c, 0x8a, 0x63, 0x76, + 0xbf, 0xc7, 0xa3, 0x02, 0x3b, 0xb8, 0xf5, 0x9d, +}; +static const unsigned char kat845_nonce[] = {0}; +static const unsigned char kat845_persstr[] = {0}; +static const unsigned char kat845_addin0[] = {0}; +static const unsigned char kat845_addin1[] = {0}; +static const unsigned char kat845_retbits[] = { + 0x56, 0x60, 0x03, 0x5f, 0x34, 0xbc, 0xc6, 0xcc, 0xab, 0xae, 0xcb, 0x15, + 0x83, 0x82, 0x7c, 0x9f, 0x0f, 0xf4, 0x3e, 0x0e, 0xcb, 0x22, 0x26, 0x9c, + 0x06, 0x93, 0x63, 0xc0, 0x5e, 0xc2, 0x82, 0xbc, 0x5f, 0x4d, 0x4a, 0x42, + 0x62, 0xe1, 0xe0, 0xa0, 0xfb, 0x66, 0x7a, 0x28, 0x5a, 0x3f, 0xde, 0x69, + 0x05, 0x2c, 0x91, 0xc7, 0x3d, 0x04, 0x32, 0xd9, 0x12, 0x35, 0xbf, 0x4f, + 0x90, 0x37, 0x3a, 0x22, +}; +static const struct drbg_kat_no_reseed kat845_t = { + 4, kat845_entropyin, kat845_nonce, kat845_persstr, + kat845_addin0, kat845_addin1, kat845_retbits +}; +static const struct drbg_kat kat845 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat845_t +}; + +static const unsigned char kat846_entropyin[] = { + 0xb8, 0x0c, 0x0a, 0x02, 0xb6, 0xfc, 0x7b, 0xfc, 0x05, 0x15, 0x88, 0x00, + 0x05, 0xc0, 0xa2, 0xc1, 0x8e, 0xf5, 0xb8, 0x12, 0x99, 0x15, 0xfd, 0xac, + 0x34, 0xbc, 0x94, 0x6c, 0xb4, 0x80, 0xc0, 0xfd, +}; +static const unsigned char kat846_nonce[] = {0}; +static const unsigned char kat846_persstr[] = {0}; +static const unsigned char kat846_addin0[] = {0}; +static const unsigned char kat846_addin1[] = {0}; +static const unsigned char kat846_retbits[] = { + 0x82, 0xef, 0x2a, 0xf1, 0x4b, 0x58, 0xfc, 0xe2, 0x9d, 0x33, 0xf9, 0xf1, + 0xb5, 0x26, 0x18, 0xf2, 0x30, 0x24, 0xdd, 0x17, 0xdc, 0x81, 0x33, 0x74, + 0x9b, 0x59, 0x98, 0x15, 0x0f, 0x44, 0xf4, 0xde, 0x8f, 0xa2, 0x8f, 0x62, + 0xc4, 0xdf, 0xeb, 0x2b, 0xb7, 0xbc, 0xc4, 0xf5, 0x14, 0xaf, 0x9a, 0xd2, + 0xc7, 0x64, 0x20, 0xd3, 0xe4, 0xcf, 0x7c, 0xc5, 0x35, 0xc5, 0x56, 0xe1, + 0xe7, 0x3a, 0xcc, 0x54, +}; +static const struct drbg_kat_no_reseed kat846_t = { + 5, kat846_entropyin, kat846_nonce, kat846_persstr, + kat846_addin0, kat846_addin1, kat846_retbits +}; +static const struct drbg_kat kat846 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat846_t +}; + +static const unsigned char kat847_entropyin[] = { + 0x1a, 0xea, 0x93, 0x80, 0xee, 0x1c, 0x38, 0x37, 0xfd, 0x57, 0xb6, 0xae, + 0x69, 0xca, 0xe7, 0xd1, 0xa8, 0x16, 0x63, 0xc2, 0xc3, 0x69, 0x19, 0xa8, + 0xfb, 0x46, 0x39, 0x8a, 0x77, 0x57, 0xd7, 0xbf, +}; +static const unsigned char kat847_nonce[] = {0}; +static const unsigned char kat847_persstr[] = {0}; +static const unsigned char kat847_addin0[] = {0}; +static const unsigned char kat847_addin1[] = {0}; +static const unsigned char kat847_retbits[] = { + 0x9b, 0xf9, 0xe4, 0xee, 0xee, 0xf1, 0x18, 0xd6, 0x75, 0x49, 0x44, 0xb8, + 0xed, 0xd4, 0x6d, 0xea, 0x37, 0x97, 0xd8, 0x21, 0x9d, 0xfb, 0x9d, 0xec, + 0x11, 0x86, 0xbb, 0xe2, 0xa9, 0x87, 0x6e, 0x60, 0x4a, 0xd5, 0x2c, 0x02, + 0xd0, 0x2e, 0xa0, 0xa9, 0x80, 0x29, 0xe8, 0x83, 0xff, 0xf8, 0xb6, 0x04, + 0x39, 0xe6, 0xc3, 0x58, 0xb2, 0x6c, 0xb0, 0xea, 0x40, 0xf0, 0x31, 0x9a, + 0x37, 0xf3, 0xea, 0x87, +}; +static const struct drbg_kat_no_reseed kat847_t = { + 6, kat847_entropyin, kat847_nonce, kat847_persstr, + kat847_addin0, kat847_addin1, kat847_retbits +}; +static const struct drbg_kat kat847 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat847_t +}; + +static const unsigned char kat848_entropyin[] = { + 0xf2, 0xa7, 0x11, 0xe4, 0xe5, 0xf0, 0x55, 0x1a, 0xe7, 0xc7, 0x91, 0x6a, + 0x95, 0xe7, 0x65, 0x42, 0xa4, 0x4c, 0x9a, 0x02, 0xc7, 0x15, 0x35, 0xfd, + 0x02, 0x0b, 0x2d, 0xb1, 0x68, 0xf4, 0x3d, 0x31, +}; +static const unsigned char kat848_nonce[] = {0}; +static const unsigned char kat848_persstr[] = {0}; +static const unsigned char kat848_addin0[] = {0}; +static const unsigned char kat848_addin1[] = {0}; +static const unsigned char kat848_retbits[] = { + 0xcb, 0x8a, 0xc7, 0x86, 0x03, 0xa6, 0xb4, 0x4f, 0x05, 0x7f, 0x8f, 0xa3, + 0x48, 0xe1, 0x98, 0x71, 0x06, 0xd5, 0xaf, 0x6b, 0x92, 0x93, 0xff, 0xe3, + 0x72, 0x6b, 0x46, 0x24, 0xba, 0x04, 0xc6, 0x0a, 0x27, 0xb2, 0x1a, 0x62, + 0x62, 0x24, 0x74, 0x8e, 0xcc, 0x11, 0x1c, 0xd1, 0xef, 0x10, 0x2d, 0x62, + 0xd8, 0xe9, 0x0c, 0xd5, 0x14, 0xef, 0x04, 0x51, 0x67, 0x18, 0x53, 0x05, + 0x00, 0x67, 0x8f, 0x20, +}; +static const struct drbg_kat_no_reseed kat848_t = { + 7, kat848_entropyin, kat848_nonce, kat848_persstr, + kat848_addin0, kat848_addin1, kat848_retbits +}; +static const struct drbg_kat kat848 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat848_t +}; + +static const unsigned char kat849_entropyin[] = { + 0x15, 0x9c, 0xc9, 0xeb, 0x22, 0xaa, 0xfb, 0x9c, 0xe3, 0x1a, 0x7e, 0xe2, + 0xf8, 0xe6, 0x17, 0x15, 0x24, 0xc7, 0xd7, 0xbc, 0x04, 0x56, 0x32, 0xad, + 0x04, 0x3d, 0x73, 0x1d, 0x00, 0xfb, 0x2a, 0x67, +}; +static const unsigned char kat849_nonce[] = {0}; +static const unsigned char kat849_persstr[] = {0}; +static const unsigned char kat849_addin0[] = {0}; +static const unsigned char kat849_addin1[] = {0}; +static const unsigned char kat849_retbits[] = { + 0xa2, 0x31, 0xa1, 0xab, 0x27, 0x3a, 0x29, 0x7b, 0xd4, 0x43, 0xf1, 0x43, + 0x59, 0x92, 0x35, 0xcf, 0xdf, 0xc7, 0x23, 0x59, 0xbb, 0x69, 0x39, 0x4a, + 0xf0, 0x91, 0x79, 0x60, 0xec, 0x43, 0xae, 0x17, 0xaa, 0xe4, 0x62, 0x32, + 0xf8, 0x27, 0x3e, 0xdd, 0x86, 0x4b, 0x8b, 0x07, 0xa6, 0x13, 0xe9, 0xfc, + 0x26, 0x56, 0xe8, 0x95, 0x30, 0x0f, 0xd1, 0x7a, 0x9e, 0x28, 0x60, 0xd4, + 0x5d, 0xb6, 0x1e, 0x8c, +}; +static const struct drbg_kat_no_reseed kat849_t = { + 8, kat849_entropyin, kat849_nonce, kat849_persstr, + kat849_addin0, kat849_addin1, kat849_retbits +}; +static const struct drbg_kat kat849 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat849_t +}; + +static const unsigned char kat850_entropyin[] = { + 0x1e, 0xbc, 0xcb, 0x0d, 0xd5, 0x03, 0xec, 0x20, 0xe5, 0x8b, 0xb4, 0xd8, + 0xc2, 0xec, 0x67, 0xf2, 0xe8, 0xdc, 0x3a, 0x04, 0x36, 0x1d, 0xaf, 0xc8, + 0x1c, 0x0c, 0x0b, 0x61, 0x1a, 0xf2, 0x76, 0xa2, +}; +static const unsigned char kat850_nonce[] = {0}; +static const unsigned char kat850_persstr[] = {0}; +static const unsigned char kat850_addin0[] = {0}; +static const unsigned char kat850_addin1[] = {0}; +static const unsigned char kat850_retbits[] = { + 0xc6, 0x4d, 0xb3, 0x84, 0xb4, 0xb7, 0xb0, 0x54, 0xb0, 0x0d, 0x31, 0xbb, + 0x94, 0xc0, 0x27, 0x35, 0x0e, 0x7a, 0x5c, 0x2f, 0xe0, 0x0e, 0xef, 0x37, + 0x15, 0x6c, 0x94, 0x63, 0x9c, 0xdb, 0x04, 0x33, 0xfb, 0x31, 0xbe, 0x02, + 0x37, 0x01, 0x9b, 0xfa, 0xf6, 0xf9, 0xc5, 0x49, 0xff, 0x77, 0xd5, 0x23, + 0xb5, 0xb5, 0x3c, 0x07, 0xd1, 0xe0, 0x0f, 0x79, 0xb0, 0x74, 0xb7, 0xfb, + 0x5c, 0x78, 0x14, 0xe4, +}; +static const struct drbg_kat_no_reseed kat850_t = { + 9, kat850_entropyin, kat850_nonce, kat850_persstr, + kat850_addin0, kat850_addin1, kat850_retbits +}; +static const struct drbg_kat kat850 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat850_t +}; + +static const unsigned char kat851_entropyin[] = { + 0x6d, 0xbf, 0x76, 0xe7, 0x8b, 0x9a, 0xf7, 0x74, 0x4c, 0x84, 0xa2, 0x4e, + 0x5d, 0x9a, 0x4b, 0x42, 0x49, 0x32, 0xb1, 0x9e, 0x6a, 0x62, 0xa9, 0xab, + 0x3a, 0x04, 0xb3, 0x2c, 0x76, 0xee, 0xf7, 0xde, +}; +static const unsigned char kat851_nonce[] = {0}; +static const unsigned char kat851_persstr[] = {0}; +static const unsigned char kat851_addin0[] = {0}; +static const unsigned char kat851_addin1[] = {0}; +static const unsigned char kat851_retbits[] = { + 0xea, 0x09, 0xfc, 0x60, 0x69, 0xb9, 0x9c, 0x9e, 0xd1, 0x16, 0xdf, 0x49, + 0x47, 0x1b, 0xe2, 0xd7, 0x26, 0x17, 0x10, 0xa8, 0xaf, 0xba, 0x1c, 0xf3, + 0xa0, 0xd3, 0xf3, 0xd2, 0x2d, 0x80, 0x72, 0xb0, 0xb5, 0x0e, 0x00, 0x3d, + 0x7f, 0xab, 0x02, 0x11, 0xd5, 0xa4, 0x4d, 0x6f, 0x75, 0xf4, 0x54, 0x1f, + 0x5b, 0x97, 0x3e, 0x72, 0x71, 0x05, 0xe0, 0x29, 0x7c, 0x3b, 0x9f, 0x0c, + 0xa9, 0x4e, 0x00, 0x43, +}; +static const struct drbg_kat_no_reseed kat851_t = { + 10, kat851_entropyin, kat851_nonce, kat851_persstr, + kat851_addin0, kat851_addin1, kat851_retbits +}; +static const struct drbg_kat kat851 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat851_t +}; + +static const unsigned char kat852_entropyin[] = { + 0xb0, 0xa4, 0xfa, 0x9c, 0xc2, 0xa5, 0xb4, 0x28, 0xdd, 0x92, 0x4c, 0x31, + 0x2d, 0xcc, 0x05, 0x4b, 0xfb, 0xf7, 0x4c, 0x0f, 0x9c, 0x38, 0xed, 0x02, + 0x40, 0x04, 0x6f, 0x35, 0x4d, 0x2f, 0xc6, 0xb2, +}; +static const unsigned char kat852_nonce[] = {0}; +static const unsigned char kat852_persstr[] = {0}; +static const unsigned char kat852_addin0[] = {0}; +static const unsigned char kat852_addin1[] = {0}; +static const unsigned char kat852_retbits[] = { + 0x6f, 0x51, 0x33, 0x61, 0xb3, 0x07, 0x6f, 0x5e, 0xac, 0x6c, 0xa5, 0x40, + 0x86, 0x9b, 0xdc, 0x40, 0x11, 0x88, 0xf9, 0xe4, 0xbe, 0x25, 0x34, 0x8e, + 0x22, 0xa6, 0xb8, 0xda, 0xa0, 0x43, 0x11, 0xb5, 0x27, 0x84, 0xba, 0xff, + 0x3c, 0x2a, 0x11, 0xca, 0xf0, 0x3d, 0xea, 0xc3, 0x64, 0x31, 0x74, 0xb0, + 0xc8, 0xe4, 0x4b, 0x54, 0x4c, 0x0b, 0xbb, 0x4d, 0xa7, 0x24, 0x1b, 0xbf, + 0x65, 0x7e, 0xc1, 0x76, +}; +static const struct drbg_kat_no_reseed kat852_t = { + 11, kat852_entropyin, kat852_nonce, kat852_persstr, + kat852_addin0, kat852_addin1, kat852_retbits +}; +static const struct drbg_kat kat852 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat852_t +}; + +static const unsigned char kat853_entropyin[] = { + 0x85, 0x7a, 0x11, 0x86, 0xa0, 0x82, 0xd7, 0x7e, 0xd7, 0x89, 0x3b, 0xb4, + 0x67, 0xda, 0xa7, 0x95, 0x76, 0xd1, 0xfc, 0x66, 0x7e, 0x07, 0x11, 0x74, + 0x90, 0x52, 0x2f, 0x87, 0xee, 0x19, 0xbb, 0x9f, +}; +static const unsigned char kat853_nonce[] = {0}; +static const unsigned char kat853_persstr[] = {0}; +static const unsigned char kat853_addin0[] = {0}; +static const unsigned char kat853_addin1[] = {0}; +static const unsigned char kat853_retbits[] = { + 0xfb, 0x88, 0x89, 0xbf, 0xe0, 0x08, 0xf0, 0xd4, 0x50, 0x34, 0xc2, 0x6b, + 0xb0, 0x41, 0x4f, 0xf1, 0x95, 0x13, 0xb6, 0xc4, 0x44, 0x5a, 0xcc, 0x4a, + 0x56, 0x3f, 0x6d, 0xf9, 0x55, 0x2e, 0xc5, 0xdf, 0x95, 0xf8, 0xcc, 0x71, + 0x43, 0x75, 0x7e, 0x74, 0x06, 0xfe, 0xb4, 0xf5, 0xbe, 0x7f, 0x1b, 0x65, + 0x76, 0x04, 0x90, 0xdf, 0x90, 0x29, 0x8e, 0x73, 0x05, 0x58, 0x30, 0x94, + 0x3d, 0xbd, 0x7c, 0x38, +}; +static const struct drbg_kat_no_reseed kat853_t = { + 12, kat853_entropyin, kat853_nonce, kat853_persstr, + kat853_addin0, kat853_addin1, kat853_retbits +}; +static const struct drbg_kat kat853 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat853_t +}; + +static const unsigned char kat854_entropyin[] = { + 0xb2, 0x78, 0xae, 0xf0, 0x58, 0x9b, 0xa4, 0x9f, 0x91, 0xd3, 0xce, 0x6e, + 0xf0, 0xaf, 0x69, 0x8b, 0xbf, 0x28, 0x2e, 0xd6, 0xc1, 0x12, 0xca, 0xd9, + 0xe8, 0x66, 0x46, 0xd0, 0x10, 0x76, 0x31, 0xdd, +}; +static const unsigned char kat854_nonce[] = {0}; +static const unsigned char kat854_persstr[] = {0}; +static const unsigned char kat854_addin0[] = {0}; +static const unsigned char kat854_addin1[] = {0}; +static const unsigned char kat854_retbits[] = { + 0xe6, 0xe3, 0x45, 0xa5, 0x0c, 0xed, 0x3c, 0xc6, 0x8a, 0xe2, 0x4e, 0xd9, + 0xad, 0x8c, 0xdb, 0x48, 0x28, 0x15, 0x28, 0x4e, 0x66, 0xf9, 0xb0, 0x15, + 0x1f, 0xdd, 0x75, 0xd1, 0x3c, 0x97, 0x58, 0x66, 0x3c, 0x4d, 0xf9, 0xab, + 0x99, 0xce, 0xf4, 0xfe, 0xd8, 0xae, 0x86, 0xfd, 0x18, 0x68, 0xbe, 0x6c, + 0x5e, 0xae, 0xad, 0x7a, 0x6a, 0x9d, 0xe7, 0x22, 0xf1, 0x2d, 0xa1, 0xe9, + 0x55, 0xdb, 0xc6, 0x41, +}; +static const struct drbg_kat_no_reseed kat854_t = { + 13, kat854_entropyin, kat854_nonce, kat854_persstr, + kat854_addin0, kat854_addin1, kat854_retbits +}; +static const struct drbg_kat kat854 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat854_t +}; + +static const unsigned char kat855_entropyin[] = { + 0xab, 0x87, 0x58, 0x86, 0x82, 0x71, 0x97, 0xb7, 0x84, 0xb1, 0x37, 0x72, + 0x6f, 0x1f, 0x58, 0x62, 0xc0, 0x16, 0xe2, 0xc8, 0x78, 0x04, 0x52, 0xfe, + 0x98, 0xf4, 0xee, 0xb6, 0x8f, 0x71, 0xac, 0xa5, +}; +static const unsigned char kat855_nonce[] = {0}; +static const unsigned char kat855_persstr[] = {0}; +static const unsigned char kat855_addin0[] = {0}; +static const unsigned char kat855_addin1[] = {0}; +static const unsigned char kat855_retbits[] = { + 0xb6, 0x63, 0x44, 0x52, 0x66, 0x1b, 0x01, 0x9a, 0xfb, 0xf2, 0xe9, 0xb6, + 0xe2, 0x0b, 0x8b, 0xe7, 0xd9, 0xca, 0xb7, 0x39, 0x38, 0x3d, 0xe8, 0x63, + 0x64, 0x04, 0xc2, 0x75, 0xdc, 0x49, 0x5f, 0x54, 0xfb, 0xf2, 0x32, 0x05, + 0xdb, 0xf8, 0x43, 0xaf, 0xeb, 0xbc, 0x4e, 0x88, 0xc6, 0xee, 0x12, 0x6f, + 0x72, 0x9c, 0xc4, 0x07, 0xcc, 0xbb, 0xe7, 0x92, 0xe3, 0x31, 0x92, 0x30, + 0xf2, 0x30, 0x23, 0xd1, +}; +static const struct drbg_kat_no_reseed kat855_t = { + 14, kat855_entropyin, kat855_nonce, kat855_persstr, + kat855_addin0, kat855_addin1, kat855_retbits +}; +static const struct drbg_kat kat855 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat855_t +}; + +static const unsigned char kat856_entropyin[] = { + 0xca, 0xa9, 0x43, 0x6e, 0xe5, 0xf8, 0x8b, 0xf3, 0x20, 0xe8, 0xed, 0x3a, + 0x77, 0x89, 0xc8, 0x23, 0x63, 0xd0, 0xbf, 0xd4, 0xdd, 0x5d, 0x3e, 0x10, + 0xea, 0x14, 0xba, 0x0f, 0x05, 0x6f, 0x21, 0x22, +}; +static const unsigned char kat856_nonce[] = {0}; +static const unsigned char kat856_persstr[] = {0}; +static const unsigned char kat856_addin0[] = { + 0x20, 0xcc, 0x01, 0x75, 0xa5, 0x46, 0x21, 0x12, 0x2a, 0xac, 0xa0, 0xf0, + 0x65, 0x30, 0x34, 0xa3, 0x6d, 0x40, 0x37, 0xe9, 0x3d, 0x43, 0x99, 0x3c, + 0x97, 0x83, 0x6a, 0xe9, 0x15, 0xcc, 0x74, 0x77, +}; +static const unsigned char kat856_addin1[] = { + 0x60, 0x44, 0x64, 0xac, 0x87, 0x08, 0x1e, 0x0e, 0x8d, 0x46, 0x52, 0x11, + 0xf9, 0xa9, 0xc9, 0x9d, 0x07, 0x10, 0x45, 0xc1, 0x43, 0x0a, 0x31, 0x74, + 0x14, 0x6a, 0x09, 0x40, 0x84, 0x06, 0xa2, 0x96, +}; +static const unsigned char kat856_retbits[] = { + 0x1d, 0x1c, 0xac, 0x3f, 0x1f, 0x7d, 0x3f, 0xc6, 0xed, 0xd2, 0x01, 0x93, + 0x8f, 0x63, 0x38, 0xbc, 0x2c, 0x97, 0x6a, 0x43, 0x05, 0xbb, 0xe7, 0xbc, + 0x37, 0xb1, 0x28, 0xc5, 0x6e, 0xda, 0x97, 0x47, 0x8d, 0xaa, 0x7d, 0x81, + 0x2d, 0xb1, 0x88, 0xbd, 0xcc, 0x86, 0xfc, 0x44, 0xc7, 0x05, 0x44, 0x1f, + 0x95, 0x2f, 0x3c, 0x54, 0x86, 0x0a, 0x0f, 0xc2, 0x01, 0xdd, 0xff, 0x26, + 0x98, 0x48, 0xea, 0x44, +}; +static const struct drbg_kat_no_reseed kat856_t = { + 0, kat856_entropyin, kat856_nonce, kat856_persstr, + kat856_addin0, kat856_addin1, kat856_retbits +}; +static const struct drbg_kat kat856 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat856_t +}; + +static const unsigned char kat857_entropyin[] = { + 0xd7, 0x8f, 0x64, 0x0c, 0x60, 0xa2, 0x8a, 0xea, 0x35, 0xe6, 0xbc, 0xf2, + 0x88, 0xf2, 0xc8, 0xbd, 0x0e, 0x71, 0xf7, 0x74, 0x23, 0x0b, 0xc8, 0xfb, + 0x06, 0xc6, 0x41, 0xb4, 0xe9, 0x7e, 0x24, 0x8d, +}; +static const unsigned char kat857_nonce[] = {0}; +static const unsigned char kat857_persstr[] = {0}; +static const unsigned char kat857_addin0[] = { + 0x88, 0x4e, 0xc6, 0xcd, 0x46, 0x25, 0xf4, 0xb6, 0x9a, 0x3f, 0xde, 0xc9, + 0x8f, 0x38, 0x41, 0xaf, 0x85, 0x47, 0x02, 0x91, 0x06, 0xd6, 0xdd, 0xde, + 0x5e, 0xc4, 0x81, 0xfb, 0x12, 0xb7, 0x8a, 0x3d, +}; +static const unsigned char kat857_addin1[] = { + 0x9b, 0xb6, 0xa9, 0x5d, 0xe1, 0xb4, 0xbe, 0x88, 0x41, 0xb7, 0x2e, 0xa4, + 0x1e, 0xb4, 0x46, 0xb4, 0x3b, 0x26, 0x9d, 0x0b, 0x9e, 0x39, 0x4b, 0x35, + 0x6e, 0x68, 0x83, 0xc3, 0x1d, 0x8d, 0x66, 0xcf, +}; +static const unsigned char kat857_retbits[] = { + 0x82, 0x69, 0x5f, 0xe6, 0x01, 0x42, 0xc6, 0x6f, 0xb6, 0x66, 0x5b, 0xf9, + 0x0e, 0x6f, 0x52, 0x83, 0x9b, 0x95, 0x6f, 0xe2, 0x6e, 0xcf, 0xb7, 0xfb, + 0x02, 0xd1, 0xff, 0x59, 0xf8, 0x23, 0x1d, 0x30, 0x7e, 0x1a, 0xe3, 0x8a, + 0x52, 0x86, 0x39, 0x45, 0xda, 0xda, 0x62, 0x6d, 0x6e, 0x32, 0xa0, 0xc2, + 0x16, 0xdf, 0x0a, 0x72, 0x24, 0x0a, 0xf2, 0x87, 0x14, 0x48, 0x3f, 0x0e, + 0xc8, 0x63, 0xee, 0x7c, +}; +static const struct drbg_kat_no_reseed kat857_t = { + 1, kat857_entropyin, kat857_nonce, kat857_persstr, + kat857_addin0, kat857_addin1, kat857_retbits +}; +static const struct drbg_kat kat857 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat857_t +}; + +static const unsigned char kat858_entropyin[] = { + 0x79, 0x4a, 0xbe, 0x2c, 0x9f, 0x06, 0x5b, 0xfc, 0xae, 0x64, 0x7a, 0xa6, + 0x2c, 0xf6, 0x88, 0xfd, 0x69, 0x41, 0x60, 0x56, 0x5d, 0x87, 0xf2, 0xfb, + 0xd5, 0x9f, 0xa1, 0xe4, 0x26, 0x20, 0x60, 0x33, +}; +static const unsigned char kat858_nonce[] = {0}; +static const unsigned char kat858_persstr[] = {0}; +static const unsigned char kat858_addin0[] = { + 0xff, 0x50, 0x9f, 0xa4, 0x60, 0x00, 0x0b, 0x3c, 0xa3, 0xe2, 0x93, 0x0d, + 0x1a, 0x3d, 0xd1, 0x70, 0xc1, 0xb8, 0xca, 0x18, 0x25, 0x03, 0xec, 0x12, + 0xd4, 0x9d, 0x70, 0x83, 0xf6, 0xa9, 0xda, 0xed, +}; +static const unsigned char kat858_addin1[] = { + 0x6a, 0xcc, 0xd0, 0x03, 0x1e, 0x49, 0xe4, 0xeb, 0x08, 0x5d, 0x0e, 0x18, + 0xa0, 0x7d, 0x89, 0xa0, 0x5d, 0x6a, 0x1b, 0x15, 0x24, 0x68, 0x25, 0xd8, + 0x65, 0xc0, 0x0a, 0xb0, 0x42, 0x9b, 0xb3, 0x3b, +}; +static const unsigned char kat858_retbits[] = { + 0x5b, 0x5c, 0xa6, 0x75, 0xf5, 0xe2, 0x46, 0xb8, 0x5a, 0xd3, 0x1a, 0xba, + 0xf2, 0x66, 0x04, 0x51, 0x50, 0x30, 0x9d, 0x39, 0xb1, 0x8d, 0x30, 0x19, + 0x0c, 0x18, 0x60, 0xde, 0xf3, 0xe0, 0x75, 0x01, 0xcb, 0x0b, 0xed, 0x8c, + 0x57, 0xf5, 0x36, 0x69, 0xc0, 0xb4, 0xf5, 0x9b, 0xf1, 0xe3, 0x0e, 0x24, + 0x1b, 0x59, 0x37, 0xd6, 0xf8, 0x85, 0x2c, 0xcb, 0x0b, 0x62, 0x35, 0x70, + 0x20, 0x52, 0xd9, 0x5a, +}; +static const struct drbg_kat_no_reseed kat858_t = { + 2, kat858_entropyin, kat858_nonce, kat858_persstr, + kat858_addin0, kat858_addin1, kat858_retbits +}; +static const struct drbg_kat kat858 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat858_t +}; + +static const unsigned char kat859_entropyin[] = { + 0xa0, 0xcd, 0x3d, 0x5f, 0x72, 0x6a, 0x1a, 0x84, 0x7e, 0x3d, 0x8f, 0xa0, + 0x29, 0x31, 0x98, 0xfe, 0xe6, 0x7c, 0xee, 0x2f, 0xe6, 0xfa, 0x6b, 0xd2, + 0xc9, 0x0b, 0x17, 0x22, 0x88, 0xe0, 0xfb, 0x0d, +}; +static const unsigned char kat859_nonce[] = {0}; +static const unsigned char kat859_persstr[] = {0}; +static const unsigned char kat859_addin0[] = { + 0xb7, 0x68, 0x33, 0x1b, 0x82, 0xe4, 0x52, 0x72, 0xca, 0x84, 0x1d, 0x38, + 0x67, 0x45, 0x77, 0x88, 0xd1, 0x94, 0x9a, 0xf1, 0xfe, 0x1c, 0x2e, 0x01, + 0x84, 0xa8, 0xcf, 0x91, 0xdb, 0xda, 0x63, 0xfb, +}; +static const unsigned char kat859_addin1[] = { + 0x83, 0x25, 0x75, 0x4c, 0x9a, 0xee, 0x9b, 0xd5, 0x86, 0x2e, 0x42, 0x92, + 0xe2, 0x95, 0x69, 0xaa, 0x37, 0xd3, 0x59, 0x8e, 0x38, 0xe1, 0x20, 0x3c, + 0x61, 0x7f, 0x04, 0x30, 0xf8, 0x6c, 0x02, 0x51, +}; +static const unsigned char kat859_retbits[] = { + 0x74, 0x1a, 0x10, 0x3e, 0x00, 0xaa, 0x20, 0x21, 0x0b, 0xbb, 0x0a, 0x90, + 0x1f, 0x77, 0xfa, 0x35, 0x44, 0x2f, 0xfa, 0x90, 0xf4, 0xc1, 0x71, 0x19, + 0x4e, 0xc9, 0xa5, 0x44, 0x64, 0x4f, 0x8c, 0x40, 0xd1, 0x22, 0xb8, 0x36, + 0x43, 0x00, 0x2e, 0xa5, 0x0d, 0xce, 0x14, 0xfa, 0xf7, 0x64, 0xa7, 0x93, + 0x72, 0x54, 0x43, 0x2c, 0x7d, 0xa7, 0xe5, 0xc3, 0xf8, 0x93, 0x6f, 0x32, + 0xb5, 0xc2, 0x1c, 0x9e, +}; +static const struct drbg_kat_no_reseed kat859_t = { + 3, kat859_entropyin, kat859_nonce, kat859_persstr, + kat859_addin0, kat859_addin1, kat859_retbits +}; +static const struct drbg_kat kat859 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat859_t +}; + +static const unsigned char kat860_entropyin[] = { + 0x45, 0xf8, 0xca, 0xde, 0xc2, 0xfa, 0x44, 0x72, 0x34, 0x7f, 0x6a, 0xce, + 0x4a, 0xb0, 0x4c, 0x04, 0xa9, 0x19, 0x1f, 0x79, 0x4b, 0x03, 0x1e, 0x61, + 0x5b, 0xbc, 0xf9, 0xe7, 0x16, 0xc9, 0x41, 0xdd, +}; +static const unsigned char kat860_nonce[] = {0}; +static const unsigned char kat860_persstr[] = {0}; +static const unsigned char kat860_addin0[] = { + 0xd8, 0x84, 0xd5, 0x90, 0x1e, 0xd1, 0xc6, 0xdc, 0x3f, 0xcd, 0x54, 0xac, + 0xe3, 0xe3, 0x58, 0x57, 0x32, 0x60, 0xd7, 0x33, 0xa6, 0x93, 0x05, 0x66, + 0x39, 0x40, 0x32, 0x8c, 0x45, 0xd3, 0x11, 0xe0, +}; +static const unsigned char kat860_addin1[] = { + 0x11, 0xf0, 0xd7, 0xa4, 0x0b, 0x12, 0x44, 0x18, 0xa5, 0x0e, 0xb5, 0x02, + 0x41, 0x09, 0x5f, 0x0c, 0x6a, 0x89, 0xac, 0xb4, 0xc1, 0x6a, 0x20, 0x57, + 0x19, 0xc5, 0x15, 0x58, 0xde, 0x07, 0x7e, 0x6c, +}; +static const unsigned char kat860_retbits[] = { + 0x35, 0x59, 0xd5, 0xff, 0x99, 0x95, 0xe5, 0x5d, 0x04, 0x7f, 0x43, 0xa6, + 0xb3, 0xa2, 0x97, 0x2b, 0x76, 0x6f, 0xdf, 0xec, 0xbb, 0xa5, 0x7f, 0xc9, + 0x2a, 0xc0, 0x6f, 0xcd, 0x66, 0x72, 0xb9, 0x86, 0x03, 0x19, 0x91, 0x60, + 0x69, 0x8c, 0x04, 0x52, 0x60, 0x85, 0xc0, 0x30, 0x5d, 0xb2, 0x04, 0x11, + 0xac, 0x56, 0x14, 0xa5, 0xeb, 0xc2, 0x74, 0x4c, 0x11, 0xb9, 0x12, 0x1c, + 0xd5, 0x68, 0x45, 0x27, +}; +static const struct drbg_kat_no_reseed kat860_t = { + 4, kat860_entropyin, kat860_nonce, kat860_persstr, + kat860_addin0, kat860_addin1, kat860_retbits +}; +static const struct drbg_kat kat860 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat860_t +}; + +static const unsigned char kat861_entropyin[] = { + 0xe9, 0xe8, 0xdf, 0x90, 0xbf, 0xf8, 0x56, 0xeb, 0x0b, 0x2c, 0xbf, 0x46, + 0x53, 0x91, 0xec, 0x55, 0x4e, 0xf3, 0xef, 0x4e, 0x16, 0xfb, 0xcd, 0xe0, + 0x67, 0xae, 0xf8, 0x38, 0x6e, 0xe7, 0x34, 0x28, +}; +static const unsigned char kat861_nonce[] = {0}; +static const unsigned char kat861_persstr[] = {0}; +static const unsigned char kat861_addin0[] = { + 0x0c, 0x1d, 0xcd, 0x0a, 0x54, 0x71, 0x47, 0x65, 0xab, 0xf5, 0x01, 0x7c, + 0xac, 0xd1, 0xb1, 0x5b, 0x20, 0x9f, 0x2d, 0x6c, 0x19, 0xc7, 0xfc, 0xbf, + 0xf7, 0x22, 0xb7, 0xa5, 0x7f, 0xab, 0x4e, 0x94, +}; +static const unsigned char kat861_addin1[] = { + 0x5b, 0xa7, 0xcf, 0xa9, 0xc3, 0x61, 0x95, 0x65, 0xe7, 0x70, 0xb9, 0x0c, + 0x17, 0xae, 0x60, 0xfe, 0x73, 0x6d, 0xd8, 0x79, 0x22, 0xc2, 0xc6, 0xca, + 0x0d, 0x4c, 0xac, 0x99, 0xc0, 0x82, 0x21, 0x8e, +}; +static const unsigned char kat861_retbits[] = { + 0x80, 0x15, 0x9b, 0xd9, 0xbd, 0x26, 0x97, 0x05, 0xcf, 0xcd, 0xc2, 0x80, + 0xe7, 0x20, 0x02, 0x4f, 0x8a, 0x29, 0x99, 0x83, 0x32, 0x22, 0xac, 0x61, + 0xf8, 0x0f, 0x6c, 0xaf, 0xcd, 0x7f, 0x92, 0x0d, 0xe1, 0x68, 0xfb, 0x95, + 0xcb, 0x89, 0xd0, 0xa8, 0x0a, 0x84, 0x1d, 0xff, 0x92, 0xda, 0x31, 0x66, + 0xcc, 0xb0, 0xf8, 0x6d, 0x7a, 0x67, 0x80, 0x21, 0xd1, 0x1c, 0x0e, 0x99, + 0x91, 0x39, 0x01, 0x7a, +}; +static const struct drbg_kat_no_reseed kat861_t = { + 5, kat861_entropyin, kat861_nonce, kat861_persstr, + kat861_addin0, kat861_addin1, kat861_retbits +}; +static const struct drbg_kat kat861 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat861_t +}; + +static const unsigned char kat862_entropyin[] = { + 0x99, 0xb7, 0x33, 0x81, 0xc4, 0xe5, 0x30, 0xed, 0xcd, 0x22, 0xc7, 0x8d, + 0x69, 0x5e, 0x3d, 0x49, 0xa8, 0x08, 0xb3, 0x12, 0xb7, 0x20, 0x7e, 0xa0, + 0xc5, 0x81, 0x77, 0x1e, 0x14, 0xf1, 0xf0, 0x4f, +}; +static const unsigned char kat862_nonce[] = {0}; +static const unsigned char kat862_persstr[] = {0}; +static const unsigned char kat862_addin0[] = { + 0xd8, 0x65, 0x17, 0x81, 0xef, 0x93, 0x53, 0x37, 0x65, 0x33, 0x15, 0x2c, + 0xdf, 0x05, 0xc6, 0x88, 0x6b, 0x9d, 0xd7, 0xd8, 0x8a, 0xab, 0xa6, 0x69, + 0x71, 0x52, 0x07, 0xe4, 0x8c, 0x12, 0x26, 0x36, +}; +static const unsigned char kat862_addin1[] = { + 0x63, 0xd4, 0x5c, 0x3d, 0xcd, 0xac, 0xc4, 0x7d, 0x7f, 0x54, 0x99, 0x92, + 0xd0, 0xe3, 0x58, 0xaa, 0x96, 0xc5, 0xb7, 0xf2, 0x93, 0xa7, 0x7e, 0x82, + 0xcc, 0xc3, 0xd2, 0xbb, 0xfc, 0x9f, 0x61, 0xda, +}; +static const unsigned char kat862_retbits[] = { + 0xa4, 0xb1, 0xa4, 0xf3, 0x24, 0xe9, 0x1a, 0x41, 0x0a, 0xdd, 0x56, 0xf0, + 0x4d, 0xb8, 0xac, 0xbc, 0xfc, 0xe7, 0xa4, 0x34, 0xb9, 0x50, 0x98, 0xc0, + 0x99, 0x4d, 0x9c, 0xa7, 0xf0, 0x44, 0x09, 0x5c, 0x82, 0xc9, 0x7d, 0xac, + 0xd1, 0x0a, 0xc7, 0xdf, 0x03, 0x2b, 0x6c, 0x46, 0xcd, 0x48, 0xc1, 0x93, + 0x3c, 0xbd, 0x4e, 0x64, 0x5d, 0x6f, 0x0b, 0x2c, 0x54, 0x9d, 0x8f, 0x67, + 0xe7, 0xf8, 0xb6, 0x2c, +}; +static const struct drbg_kat_no_reseed kat862_t = { + 6, kat862_entropyin, kat862_nonce, kat862_persstr, + kat862_addin0, kat862_addin1, kat862_retbits +}; +static const struct drbg_kat kat862 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat862_t +}; + +static const unsigned char kat863_entropyin[] = { + 0x73, 0xed, 0x99, 0x42, 0xec, 0xab, 0xfa, 0x13, 0x2b, 0x22, 0x5d, 0x37, + 0xe9, 0x3c, 0x49, 0xec, 0x74, 0x4d, 0xc1, 0x24, 0x3d, 0x60, 0x68, 0xf4, + 0xbc, 0x53, 0x8d, 0xcc, 0x7e, 0x97, 0x2c, 0x36, +}; +static const unsigned char kat863_nonce[] = {0}; +static const unsigned char kat863_persstr[] = {0}; +static const unsigned char kat863_addin0[] = { + 0x63, 0x45, 0xf9, 0x47, 0x92, 0xf9, 0x0a, 0x0d, 0x78, 0x34, 0x27, 0x9c, + 0xa9, 0xce, 0xc7, 0x5f, 0xc7, 0x82, 0x49, 0xbf, 0xf3, 0xfc, 0xbb, 0xe9, + 0x4e, 0xbb, 0xa8, 0x6a, 0xd7, 0x9b, 0xe0, 0x54, +}; +static const unsigned char kat863_addin1[] = { + 0x6a, 0x81, 0x7e, 0xfb, 0x5c, 0x93, 0x0c, 0x14, 0xed, 0xd9, 0x6d, 0x4c, + 0xe8, 0x8e, 0x86, 0x36, 0xd3, 0x99, 0xc1, 0xd2, 0x97, 0xf3, 0xde, 0x59, + 0x30, 0x25, 0x29, 0x23, 0x02, 0x1e, 0x69, 0x37, +}; +static const unsigned char kat863_retbits[] = { + 0x35, 0x38, 0x21, 0xf8, 0xc8, 0xd4, 0xb6, 0x83, 0xc0, 0x82, 0xcf, 0xf6, + 0x89, 0xc3, 0xa8, 0xf9, 0xc8, 0x1e, 0xb8, 0x9f, 0xa7, 0x01, 0x1b, 0xcb, + 0x81, 0xc1, 0x62, 0x17, 0x26, 0x20, 0x30, 0xe9, 0x34, 0x1e, 0x98, 0x5c, + 0xa1, 0xd4, 0xf6, 0x01, 0x97, 0xe8, 0x66, 0x02, 0x26, 0xa4, 0x75, 0x6f, + 0xd0, 0x62, 0x10, 0x65, 0x5f, 0xf4, 0xe9, 0x8d, 0x7d, 0x0e, 0x70, 0x29, + 0x7b, 0x84, 0x91, 0xe8, +}; +static const struct drbg_kat_no_reseed kat863_t = { + 7, kat863_entropyin, kat863_nonce, kat863_persstr, + kat863_addin0, kat863_addin1, kat863_retbits +}; +static const struct drbg_kat kat863 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat863_t +}; + +static const unsigned char kat864_entropyin[] = { + 0x9b, 0x52, 0xae, 0x68, 0x2c, 0x64, 0x19, 0x1d, 0x58, 0x88, 0x79, 0xee, + 0x9c, 0x73, 0x6a, 0xb2, 0xc2, 0xbc, 0x51, 0x5c, 0xb0, 0x3c, 0xb6, 0xdf, + 0x7b, 0x62, 0x81, 0xa1, 0x25, 0x34, 0xb7, 0xb7, +}; +static const unsigned char kat864_nonce[] = {0}; +static const unsigned char kat864_persstr[] = {0}; +static const unsigned char kat864_addin0[] = { + 0x30, 0xeb, 0xa1, 0x91, 0xb8, 0x53, 0xfb, 0xe8, 0x38, 0xd0, 0x7e, 0x07, + 0x80, 0x5c, 0x0a, 0x17, 0x18, 0xd9, 0xd1, 0x40, 0x98, 0x26, 0x91, 0xd1, + 0xf0, 0x3f, 0x17, 0x9d, 0x59, 0x4c, 0xaa, 0xa7, +}; +static const unsigned char kat864_addin1[] = { + 0xd7, 0x2d, 0x15, 0x68, 0xbf, 0x4f, 0x91, 0x94, 0x63, 0x44, 0x0b, 0xb6, + 0x8e, 0x96, 0x6a, 0x0a, 0x23, 0xbc, 0x44, 0xe9, 0x9d, 0xa9, 0x0f, 0x0e, + 0xb7, 0x5c, 0xec, 0xc2, 0xdf, 0x47, 0x15, 0x31, +}; +static const unsigned char kat864_retbits[] = { + 0xd4, 0x18, 0xa9, 0xed, 0xb9, 0xe6, 0xd1, 0xa1, 0x85, 0xf9, 0xb4, 0x19, + 0xe8, 0x54, 0x8f, 0xa8, 0x49, 0x5e, 0x55, 0x9a, 0xb7, 0x51, 0xc4, 0xb2, + 0x86, 0xfd, 0x8b, 0x2e, 0x7d, 0xb9, 0x39, 0x2d, 0xd1, 0x93, 0x6f, 0x8c, + 0xc1, 0xe7, 0x11, 0xaa, 0x86, 0xdc, 0x83, 0x54, 0xbb, 0x97, 0xcc, 0xfe, + 0x2b, 0xcd, 0x9e, 0xdb, 0xbb, 0x38, 0x3f, 0x1c, 0xab, 0xe5, 0xb4, 0x4a, + 0xa1, 0x4e, 0x2a, 0x7d, +}; +static const struct drbg_kat_no_reseed kat864_t = { + 8, kat864_entropyin, kat864_nonce, kat864_persstr, + kat864_addin0, kat864_addin1, kat864_retbits +}; +static const struct drbg_kat kat864 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat864_t +}; + +static const unsigned char kat865_entropyin[] = { + 0xcd, 0x70, 0x34, 0x83, 0x9b, 0x3e, 0x9f, 0xb2, 0x8b, 0xdb, 0x0c, 0xeb, + 0x99, 0x64, 0xe8, 0x68, 0x54, 0xe4, 0x7c, 0x8c, 0x00, 0xd2, 0x4e, 0x82, + 0x91, 0x5f, 0x80, 0x4d, 0xbb, 0x93, 0x2c, 0xfc, +}; +static const unsigned char kat865_nonce[] = {0}; +static const unsigned char kat865_persstr[] = {0}; +static const unsigned char kat865_addin0[] = { + 0x49, 0xb9, 0x95, 0xf3, 0x95, 0x18, 0x54, 0x72, 0xef, 0x60, 0xde, 0xe3, + 0x27, 0xa6, 0xe7, 0xc6, 0xaf, 0x92, 0xa3, 0x5a, 0x61, 0x14, 0xaa, 0x52, + 0xe3, 0xf7, 0xb2, 0x35, 0xd5, 0x0d, 0x35, 0x4d, +}; +static const unsigned char kat865_addin1[] = { + 0x03, 0xfc, 0x0e, 0x03, 0xae, 0xbd, 0xf5, 0x94, 0x12, 0x8f, 0x35, 0x8d, + 0xbb, 0xd8, 0x46, 0xae, 0x02, 0x38, 0xc4, 0x23, 0x54, 0xf8, 0xd2, 0x60, + 0x1d, 0x52, 0x23, 0x78, 0x06, 0xab, 0x87, 0x2e, +}; +static const unsigned char kat865_retbits[] = { + 0xc4, 0xf3, 0x55, 0x0b, 0x9f, 0xc5, 0x9c, 0x01, 0xc6, 0x51, 0x9b, 0xbc, + 0x8f, 0xb5, 0xef, 0xda, 0x4d, 0xfc, 0x69, 0x89, 0x00, 0xa7, 0x74, 0xb0, + 0x58, 0xdd, 0xa7, 0xd5, 0xe1, 0x30, 0x99, 0xd7, 0x34, 0x8f, 0xa0, 0x78, + 0x37, 0x2a, 0x3b, 0x8c, 0xca, 0xa7, 0x5c, 0xee, 0xfc, 0x4f, 0x46, 0xa2, + 0x63, 0x78, 0xcf, 0x7e, 0x8a, 0x64, 0xef, 0x7f, 0x98, 0xbe, 0x70, 0xdc, + 0x05, 0x40, 0xe5, 0xb7, +}; +static const struct drbg_kat_no_reseed kat865_t = { + 9, kat865_entropyin, kat865_nonce, kat865_persstr, + kat865_addin0, kat865_addin1, kat865_retbits +}; +static const struct drbg_kat kat865 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat865_t +}; + +static const unsigned char kat866_entropyin[] = { + 0x54, 0x62, 0x78, 0xab, 0x02, 0xcb, 0x86, 0x87, 0x01, 0xe0, 0xfd, 0x1f, + 0xf0, 0xcd, 0x90, 0x18, 0x25, 0x96, 0xda, 0x85, 0xe8, 0xd1, 0x47, 0xda, + 0xd0, 0xe7, 0x83, 0x74, 0x65, 0x6c, 0x17, 0x2a, +}; +static const unsigned char kat866_nonce[] = {0}; +static const unsigned char kat866_persstr[] = {0}; +static const unsigned char kat866_addin0[] = { + 0x4c, 0xb5, 0x45, 0x97, 0xdb, 0x1c, 0x8c, 0xd5, 0x24, 0x1a, 0x57, 0x2d, + 0x5d, 0x4a, 0x29, 0xb6, 0x0e, 0x70, 0x0e, 0xce, 0x3a, 0xcf, 0x32, 0x44, + 0x74, 0x87, 0xbe, 0xe5, 0x1d, 0x6c, 0x0f, 0xff, +}; +static const unsigned char kat866_addin1[] = { + 0x28, 0xaa, 0x5b, 0x18, 0x43, 0x63, 0x44, 0x57, 0xb3, 0x87, 0x33, 0xa3, + 0x97, 0x79, 0x78, 0x7d, 0x81, 0x48, 0xe7, 0x59, 0x7d, 0xe0, 0x83, 0x1a, + 0x0c, 0x78, 0x19, 0xfb, 0x23, 0xc2, 0x47, 0xbb, +}; +static const unsigned char kat866_retbits[] = { + 0x12, 0x1b, 0xf6, 0x34, 0x3b, 0x38, 0x7e, 0x49, 0x22, 0xa8, 0x55, 0xd2, + 0x9c, 0x42, 0xb1, 0xf3, 0xb6, 0x5d, 0xef, 0xe5, 0x9e, 0xe9, 0xb7, 0xd9, + 0x3a, 0x60, 0x12, 0xec, 0x8a, 0x97, 0x6f, 0xd7, 0x2f, 0x98, 0x44, 0xfa, + 0xce, 0x7f, 0xdd, 0x25, 0xdb, 0xaa, 0x3e, 0xf6, 0x17, 0x46, 0xc9, 0x4a, + 0x0f, 0x0e, 0xf0, 0x19, 0x5d, 0x5c, 0x20, 0x95, 0x05, 0xee, 0xc7, 0x16, + 0xbe, 0x33, 0x67, 0x1c, +}; +static const struct drbg_kat_no_reseed kat866_t = { + 10, kat866_entropyin, kat866_nonce, kat866_persstr, + kat866_addin0, kat866_addin1, kat866_retbits +}; +static const struct drbg_kat kat866 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat866_t +}; + +static const unsigned char kat867_entropyin[] = { + 0x12, 0xbe, 0x28, 0x86, 0x30, 0x27, 0x64, 0x84, 0x5e, 0x40, 0x1a, 0x63, + 0x8a, 0x73, 0x6d, 0xb7, 0xd8, 0xbc, 0xc3, 0xe4, 0x57, 0xfd, 0x71, 0xe5, + 0xa4, 0x73, 0xc9, 0xa2, 0x4d, 0xf9, 0x04, 0x2c, +}; +static const unsigned char kat867_nonce[] = {0}; +static const unsigned char kat867_persstr[] = {0}; +static const unsigned char kat867_addin0[] = { + 0x15, 0xee, 0x34, 0x16, 0x68, 0x13, 0x92, 0xe7, 0xc5, 0xc9, 0x8e, 0xcf, + 0xc6, 0xef, 0x5b, 0x98, 0x65, 0x8f, 0x8b, 0x0d, 0x98, 0x74, 0x3d, 0x9c, + 0x72, 0xe8, 0x2a, 0x4f, 0x61, 0x14, 0xc8, 0x3a, +}; +static const unsigned char kat867_addin1[] = { + 0x72, 0x64, 0x34, 0xbe, 0x41, 0xc4, 0x09, 0xd1, 0xa2, 0xac, 0x05, 0x3d, + 0x8b, 0x8d, 0x00, 0x9d, 0x0b, 0x97, 0x85, 0xb0, 0xc7, 0xff, 0x15, 0x22, + 0x0e, 0x48, 0x43, 0x6f, 0xf0, 0xa3, 0x9e, 0xe6, +}; +static const unsigned char kat867_retbits[] = { + 0x34, 0xa2, 0x92, 0xfe, 0xe0, 0x5c, 0xac, 0xd7, 0x89, 0x74, 0xb5, 0x73, + 0x62, 0xf5, 0x93, 0x7b, 0x1c, 0xaf, 0x5d, 0x0c, 0xc4, 0xe5, 0x2b, 0xc3, + 0xed, 0x9c, 0x20, 0xa8, 0x13, 0xf6, 0x86, 0xab, 0x74, 0x64, 0x39, 0x2c, + 0x8e, 0xb4, 0x60, 0x76, 0x72, 0xc9, 0x7c, 0x2f, 0x40, 0xfd, 0xf9, 0x19, + 0x39, 0x0b, 0xac, 0xa1, 0xd3, 0x95, 0x67, 0x64, 0x66, 0x81, 0x3c, 0x82, + 0x2c, 0xcd, 0x3f, 0xa1, +}; +static const struct drbg_kat_no_reseed kat867_t = { + 11, kat867_entropyin, kat867_nonce, kat867_persstr, + kat867_addin0, kat867_addin1, kat867_retbits +}; +static const struct drbg_kat kat867 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat867_t +}; + +static const unsigned char kat868_entropyin[] = { + 0x6f, 0x02, 0x1d, 0xc9, 0x32, 0x49, 0xca, 0xb7, 0xdb, 0x93, 0xd5, 0xdd, + 0x24, 0x5a, 0xe9, 0x01, 0xd2, 0xa9, 0x49, 0x7f, 0xc9, 0xc1, 0x52, 0x81, + 0x1a, 0x4a, 0x1a, 0x9e, 0xeb, 0xcc, 0x28, 0xc9, +}; +static const unsigned char kat868_nonce[] = {0}; +static const unsigned char kat868_persstr[] = {0}; +static const unsigned char kat868_addin0[] = { + 0xfa, 0xca, 0xce, 0x92, 0x63, 0xb0, 0xee, 0x3b, 0x22, 0x90, 0x80, 0xf0, + 0x2f, 0xc9, 0x08, 0x3c, 0x2c, 0xfe, 0xf7, 0xb6, 0xe1, 0xe6, 0xd7, 0x64, + 0x82, 0x50, 0x71, 0x50, 0x17, 0x20, 0xdb, 0xe8, +}; +static const unsigned char kat868_addin1[] = { + 0xd2, 0xeb, 0xd0, 0xd8, 0x53, 0x7a, 0xc9, 0xc3, 0x7f, 0x62, 0x08, 0xcb, + 0x20, 0x74, 0xd7, 0xe7, 0x25, 0xa2, 0x12, 0x7d, 0xae, 0x15, 0x04, 0x25, + 0xe7, 0xaa, 0x29, 0xd8, 0xef, 0xb3, 0xcd, 0x05, +}; +static const unsigned char kat868_retbits[] = { + 0xf7, 0x6b, 0xf3, 0xb1, 0x91, 0x42, 0xd8, 0x29, 0x4f, 0xc4, 0x47, 0x64, + 0xb1, 0x8c, 0xe6, 0x92, 0x30, 0xac, 0xa3, 0xa9, 0x6d, 0xee, 0xf4, 0xfc, + 0x20, 0x8e, 0x61, 0x20, 0x5c, 0x5a, 0x67, 0xa4, 0xfc, 0x85, 0x1a, 0x4d, + 0x47, 0x06, 0xc0, 0xf4, 0x02, 0xff, 0xb0, 0xf7, 0xad, 0xbd, 0xe4, 0xd4, + 0x58, 0x48, 0x40, 0x5b, 0x66, 0x2f, 0x45, 0x4e, 0x5f, 0xbc, 0x11, 0xe4, + 0xa3, 0x33, 0x37, 0x35, +}; +static const struct drbg_kat_no_reseed kat868_t = { + 12, kat868_entropyin, kat868_nonce, kat868_persstr, + kat868_addin0, kat868_addin1, kat868_retbits +}; +static const struct drbg_kat kat868 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat868_t +}; + +static const unsigned char kat869_entropyin[] = { + 0xfb, 0x91, 0x31, 0x08, 0x67, 0x43, 0xa2, 0x0e, 0x48, 0x0a, 0x42, 0x60, + 0xe2, 0x2d, 0xdf, 0xb0, 0xed, 0xae, 0xd1, 0x47, 0xab, 0x70, 0x8c, 0x25, + 0x36, 0xc1, 0x7a, 0xcf, 0x1b, 0xd6, 0xeb, 0x1d, +}; +static const unsigned char kat869_nonce[] = {0}; +static const unsigned char kat869_persstr[] = {0}; +static const unsigned char kat869_addin0[] = { + 0x04, 0x11, 0x7f, 0x27, 0xfe, 0xc1, 0xf4, 0x4d, 0x44, 0xd0, 0xb8, 0x6a, + 0x23, 0x18, 0x20, 0xc0, 0x9a, 0x6d, 0xc7, 0xb6, 0x41, 0x81, 0x75, 0x55, + 0x8f, 0xb6, 0xa0, 0x28, 0xf8, 0x35, 0xcb, 0xbb, +}; +static const unsigned char kat869_addin1[] = { + 0x81, 0x31, 0x89, 0x58, 0xf1, 0xd8, 0x05, 0x9f, 0xf7, 0xd3, 0xc5, 0x92, + 0xee, 0x24, 0x90, 0x1c, 0x61, 0x9d, 0x3b, 0x74, 0xd9, 0x6b, 0xaf, 0xc5, + 0x11, 0x75, 0x7a, 0x7b, 0x1b, 0xde, 0x40, 0x5e, +}; +static const unsigned char kat869_retbits[] = { + 0x4b, 0x16, 0x09, 0x41, 0x29, 0xe4, 0x1c, 0xf3, 0x06, 0x1c, 0xcc, 0x8e, + 0x25, 0x7a, 0x83, 0x6c, 0x3c, 0x3d, 0x09, 0x97, 0x21, 0x3c, 0xda, 0xb3, + 0x2a, 0x18, 0x8c, 0x7c, 0x8c, 0x37, 0x58, 0xb4, 0xb9, 0x22, 0x4e, 0x38, + 0x44, 0xa3, 0xa8, 0x85, 0x56, 0xc9, 0xcf, 0xa6, 0x29, 0xe3, 0xce, 0x0b, + 0x0b, 0x43, 0x65, 0x28, 0xb2, 0x6a, 0x1d, 0xd5, 0x81, 0x1f, 0xe1, 0xca, + 0xf8, 0x8b, 0xa0, 0x33, +}; +static const struct drbg_kat_no_reseed kat869_t = { + 13, kat869_entropyin, kat869_nonce, kat869_persstr, + kat869_addin0, kat869_addin1, kat869_retbits +}; +static const struct drbg_kat kat869 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat869_t +}; + +static const unsigned char kat870_entropyin[] = { + 0x73, 0xd9, 0x63, 0x4c, 0xef, 0x19, 0x14, 0x44, 0xbf, 0x3e, 0xd4, 0x98, + 0xc3, 0x34, 0x3e, 0x6a, 0xef, 0x97, 0x88, 0x54, 0x93, 0xe0, 0x80, 0x5e, + 0xd0, 0x11, 0x07, 0xdd, 0xd3, 0xd1, 0x94, 0xb7, +}; +static const unsigned char kat870_nonce[] = {0}; +static const unsigned char kat870_persstr[] = {0}; +static const unsigned char kat870_addin0[] = { + 0xda, 0xcd, 0xc1, 0xa5, 0xc9, 0xb4, 0x21, 0x5d, 0xa6, 0xb1, 0x52, 0x0c, + 0x22, 0x77, 0x24, 0xff, 0xc8, 0x88, 0x94, 0x5a, 0x3c, 0xf1, 0xdb, 0x2d, + 0x2f, 0xf5, 0xc4, 0x82, 0x66, 0x95, 0xaf, 0xd3, +}; +static const unsigned char kat870_addin1[] = { + 0xf2, 0x91, 0xea, 0xc0, 0x29, 0x5f, 0x5e, 0x09, 0x36, 0x54, 0x20, 0x10, + 0xdf, 0x7c, 0xa9, 0xc4, 0x17, 0xcd, 0x78, 0xf7, 0xa1, 0x09, 0x65, 0x5e, + 0x90, 0x50, 0xfd, 0x50, 0x2a, 0xd9, 0x1d, 0x4c, +}; +static const unsigned char kat870_retbits[] = { + 0x70, 0xb8, 0x81, 0xac, 0xd4, 0x34, 0xf9, 0x0d, 0xa8, 0x78, 0x8b, 0xfe, + 0x77, 0x22, 0x61, 0x32, 0xc8, 0xa3, 0xf2, 0x54, 0x42, 0x93, 0xb0, 0xef, + 0x74, 0x08, 0x55, 0x95, 0x75, 0xff, 0x0e, 0x52, 0xa1, 0x7a, 0xff, 0x11, + 0xb9, 0x60, 0x1a, 0x47, 0x65, 0xe2, 0xab, 0x0c, 0xc9, 0x0f, 0x19, 0xf6, + 0x9f, 0xb4, 0x48, 0x55, 0x54, 0xec, 0x0b, 0x17, 0xce, 0xab, 0xde, 0x96, + 0x0a, 0x56, 0x65, 0x5d, +}; +static const struct drbg_kat_no_reseed kat870_t = { + 14, kat870_entropyin, kat870_nonce, kat870_persstr, + kat870_addin0, kat870_addin1, kat870_retbits +}; +static const struct drbg_kat kat870 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat870_t +}; + +static const unsigned char kat871_entropyin[] = { + 0x52, 0x54, 0x4b, 0xe6, 0xee, 0xbf, 0xd2, 0x27, 0x80, 0x9c, 0xde, 0x95, + 0xf1, 0x9a, 0x06, 0x2b, 0xdf, 0xf8, 0xad, 0xf9, 0x4a, 0xfa, 0xdf, 0xb6, + 0x01, 0x2c, 0x8c, 0x3d, 0x99, 0xd1, 0x7b, 0x8b, +}; +static const unsigned char kat871_nonce[] = {0}; +static const unsigned char kat871_persstr[] = { + 0xb4, 0xad, 0x54, 0x42, 0xe7, 0xbb, 0xba, 0x49, 0x9c, 0x36, 0xfa, 0x52, + 0x05, 0x03, 0x79, 0x5e, 0x7f, 0x2a, 0x31, 0xbe, 0x8d, 0x95, 0x94, 0x3e, + 0xb3, 0x4d, 0xb5, 0x38, 0xd6, 0x67, 0x23, 0xee, +}; +static const unsigned char kat871_addin0[] = {0}; +static const unsigned char kat871_addin1[] = {0}; +static const unsigned char kat871_retbits[] = { + 0x91, 0xcf, 0x40, 0x38, 0x78, 0xec, 0xca, 0x1f, 0xd4, 0x5d, 0x31, 0xdc, + 0x67, 0x63, 0x02, 0xe0, 0x2e, 0x92, 0xd4, 0x47, 0x10, 0xbf, 0x92, 0x00, + 0x49, 0x2a, 0xee, 0x1d, 0xe6, 0xd1, 0xb6, 0x4f, 0x34, 0x2c, 0x1a, 0xd8, + 0x07, 0xc8, 0x45, 0xb5, 0x39, 0x65, 0x2c, 0xab, 0xe0, 0x34, 0xb6, 0x9f, + 0x2e, 0x84, 0xb4, 0x22, 0x0c, 0xf7, 0xcc, 0x1b, 0xa6, 0xee, 0xdd, 0xf8, + 0x6d, 0x8f, 0x3d, 0x99, +}; +static const struct drbg_kat_no_reseed kat871_t = { + 0, kat871_entropyin, kat871_nonce, kat871_persstr, + kat871_addin0, kat871_addin1, kat871_retbits +}; +static const struct drbg_kat kat871 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat871_t +}; + +static const unsigned char kat872_entropyin[] = { + 0x25, 0xf5, 0xec, 0x23, 0x69, 0x5d, 0xb8, 0x15, 0x13, 0x14, 0xd7, 0x9d, + 0x5f, 0x8d, 0x3a, 0x6d, 0x2f, 0x1c, 0xf7, 0x44, 0xa0, 0x2c, 0xff, 0x05, + 0x8a, 0x31, 0x09, 0x3a, 0xa2, 0x95, 0x0d, 0x5e, +}; +static const unsigned char kat872_nonce[] = {0}; +static const unsigned char kat872_persstr[] = { + 0x6b, 0xc7, 0x75, 0x68, 0x17, 0x6a, 0xd5, 0x9c, 0x72, 0xcb, 0x06, 0x4e, + 0x81, 0xc8, 0x0f, 0x8f, 0xf3, 0xbe, 0x2d, 0x4e, 0x2e, 0x1a, 0x46, 0x7d, + 0x60, 0x03, 0x1c, 0x6c, 0x19, 0x05, 0xcd, 0xc4, +}; +static const unsigned char kat872_addin0[] = {0}; +static const unsigned char kat872_addin1[] = {0}; +static const unsigned char kat872_retbits[] = { + 0x8a, 0xd6, 0x7e, 0x6d, 0xee, 0x16, 0x8d, 0xa8, 0x30, 0x27, 0x0c, 0x84, + 0xfe, 0x6f, 0x54, 0xf2, 0x85, 0x27, 0x06, 0x91, 0xa9, 0x82, 0xaa, 0x32, + 0xf0, 0x40, 0xba, 0xf4, 0x3d, 0xea, 0x48, 0x23, 0x87, 0x3a, 0x08, 0xa0, + 0xb3, 0xbe, 0xe2, 0x78, 0x4d, 0xb0, 0xf9, 0x38, 0x5c, 0xd8, 0x46, 0xde, + 0x32, 0xb4, 0xf4, 0x17, 0xae, 0xb2, 0x3e, 0xfb, 0x85, 0x51, 0xdd, 0xf4, + 0xac, 0x1c, 0xff, 0x6a, +}; +static const struct drbg_kat_no_reseed kat872_t = { + 1, kat872_entropyin, kat872_nonce, kat872_persstr, + kat872_addin0, kat872_addin1, kat872_retbits +}; +static const struct drbg_kat kat872 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat872_t +}; + +static const unsigned char kat873_entropyin[] = { + 0xae, 0xc2, 0xcd, 0x6f, 0x65, 0x78, 0x1d, 0x4e, 0x11, 0x68, 0xba, 0x57, + 0x19, 0x12, 0x80, 0x09, 0x8c, 0x39, 0xe3, 0x48, 0xaf, 0x42, 0xb3, 0xf4, + 0x5a, 0x79, 0x90, 0x3c, 0x29, 0xde, 0x70, 0xb3, +}; +static const unsigned char kat873_nonce[] = {0}; +static const unsigned char kat873_persstr[] = { + 0xc7, 0x22, 0xc7, 0xd8, 0xc1, 0xfa, 0xd0, 0xd4, 0xff, 0xeb, 0x4f, 0xfc, + 0x0c, 0x0f, 0xf0, 0xfb, 0x5a, 0x98, 0xdf, 0x29, 0x5e, 0x32, 0x43, 0x70, + 0x7a, 0xce, 0x3c, 0x97, 0x48, 0x3c, 0x4c, 0x17, +}; +static const unsigned char kat873_addin0[] = {0}; +static const unsigned char kat873_addin1[] = {0}; +static const unsigned char kat873_retbits[] = { + 0xa8, 0xe1, 0xfd, 0x99, 0xf1, 0x8a, 0x3b, 0x31, 0x32, 0x25, 0xc9, 0xf6, + 0xaf, 0x0c, 0xe0, 0x32, 0x6a, 0x90, 0x71, 0x44, 0xd0, 0x91, 0xb4, 0xdf, + 0x1b, 0xf8, 0x44, 0x25, 0x66, 0x58, 0x70, 0xa8, 0x08, 0x01, 0xb0, 0x7f, + 0xf7, 0x4c, 0x0f, 0x74, 0x98, 0xf3, 0x7d, 0xcd, 0x34, 0x23, 0x20, 0x70, + 0x73, 0x4f, 0x76, 0x0e, 0xb1, 0x9c, 0x96, 0x61, 0x40, 0xe3, 0x56, 0x5a, + 0xcc, 0x7c, 0x9c, 0x32, +}; +static const struct drbg_kat_no_reseed kat873_t = { + 2, kat873_entropyin, kat873_nonce, kat873_persstr, + kat873_addin0, kat873_addin1, kat873_retbits +}; +static const struct drbg_kat kat873 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat873_t +}; + +static const unsigned char kat874_entropyin[] = { + 0x30, 0xe4, 0xa1, 0x76, 0x5b, 0xe1, 0x24, 0x9e, 0xea, 0x46, 0xf2, 0x98, + 0xa6, 0x7c, 0x27, 0x1c, 0x2b, 0x34, 0xc6, 0xb5, 0xb7, 0xa5, 0xfb, 0xe9, + 0x74, 0x0f, 0xc3, 0x72, 0x9a, 0x80, 0x75, 0x8a, +}; +static const unsigned char kat874_nonce[] = {0}; +static const unsigned char kat874_persstr[] = { + 0x18, 0x35, 0xea, 0xd1, 0xd8, 0x6c, 0x79, 0xc3, 0x36, 0x24, 0xfc, 0xae, + 0x73, 0xdb, 0x91, 0xe8, 0x58, 0x31, 0xc1, 0x88, 0x2d, 0x72, 0x8a, 0x3c, + 0x19, 0xa0, 0x5f, 0x90, 0x53, 0x3e, 0xbe, 0x8b, +}; +static const unsigned char kat874_addin0[] = {0}; +static const unsigned char kat874_addin1[] = {0}; +static const unsigned char kat874_retbits[] = { + 0x86, 0x69, 0xf2, 0xc2, 0x59, 0x65, 0x94, 0x8b, 0x61, 0xf6, 0x38, 0x8a, + 0x0f, 0x0e, 0x0c, 0xb8, 0xb2, 0x86, 0xef, 0x44, 0x42, 0x01, 0xd3, 0xb9, + 0x8d, 0x68, 0x45, 0xa7, 0xe1, 0x4d, 0x14, 0x5b, 0xde, 0x1d, 0x01, 0x42, + 0x0e, 0x59, 0x0d, 0xff, 0xb6, 0x45, 0xe6, 0xc9, 0x0e, 0x30, 0x56, 0x86, + 0xcf, 0x9b, 0x68, 0x5c, 0xa9, 0x5c, 0x97, 0xeb, 0xff, 0x38, 0x64, 0xc6, + 0x2a, 0x00, 0x4b, 0xd6, +}; +static const struct drbg_kat_no_reseed kat874_t = { + 3, kat874_entropyin, kat874_nonce, kat874_persstr, + kat874_addin0, kat874_addin1, kat874_retbits +}; +static const struct drbg_kat kat874 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat874_t +}; + +static const unsigned char kat875_entropyin[] = { + 0xce, 0x80, 0xf4, 0x9a, 0x95, 0x12, 0xb7, 0x64, 0x77, 0xbd, 0x40, 0xac, + 0xf3, 0x20, 0xd1, 0xcc, 0xe7, 0x42, 0x56, 0x59, 0x04, 0xef, 0x45, 0xc8, + 0x01, 0xd5, 0xbb, 0xd6, 0x20, 0x6d, 0xd2, 0x0f, +}; +static const unsigned char kat875_nonce[] = {0}; +static const unsigned char kat875_persstr[] = { + 0xd2, 0x12, 0x10, 0x1d, 0x3f, 0x55, 0x8c, 0x33, 0x91, 0x5a, 0xca, 0x3f, + 0x7c, 0xa3, 0x2b, 0x65, 0xd8, 0xe6, 0x74, 0xc1, 0xa8, 0xc8, 0x80, 0x45, + 0x7b, 0xfb, 0xea, 0xe5, 0x9b, 0x87, 0x67, 0x78, +}; +static const unsigned char kat875_addin0[] = {0}; +static const unsigned char kat875_addin1[] = {0}; +static const unsigned char kat875_retbits[] = { + 0x5f, 0xed, 0x82, 0xf1, 0xd1, 0x0b, 0x8c, 0xe1, 0xdf, 0xb5, 0x97, 0xc9, + 0x05, 0xe4, 0x11, 0xe8, 0x1f, 0xb9, 0x62, 0x63, 0x84, 0x22, 0x99, 0xa1, + 0x9a, 0x0a, 0xfc, 0xaa, 0xaf, 0x6f, 0x40, 0xc1, 0x18, 0xad, 0x0a, 0x3f, + 0x2b, 0x5f, 0xdc, 0xa0, 0x79, 0x53, 0x8c, 0x35, 0x41, 0x62, 0xae, 0xde, + 0x2a, 0x49, 0xd5, 0x29, 0xd3, 0x70, 0xb6, 0xad, 0x1c, 0x56, 0x18, 0xd3, + 0xf8, 0x07, 0xb3, 0x2c, +}; +static const struct drbg_kat_no_reseed kat875_t = { + 4, kat875_entropyin, kat875_nonce, kat875_persstr, + kat875_addin0, kat875_addin1, kat875_retbits +}; +static const struct drbg_kat kat875 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat875_t +}; + +static const unsigned char kat876_entropyin[] = { + 0xcf, 0x9d, 0x04, 0x88, 0x7a, 0x64, 0xdf, 0x7e, 0x2a, 0x4d, 0x10, 0x7d, + 0x48, 0x7d, 0x3b, 0x14, 0x6e, 0xe8, 0x49, 0x38, 0x8f, 0x96, 0x0d, 0x0a, + 0x14, 0xef, 0x2a, 0x5e, 0x26, 0xa3, 0x2b, 0x92, +}; +static const unsigned char kat876_nonce[] = {0}; +static const unsigned char kat876_persstr[] = { + 0x39, 0x50, 0xf0, 0x9d, 0x6b, 0x56, 0x4c, 0xa2, 0x49, 0x6d, 0x74, 0x0a, + 0x92, 0xc2, 0x3f, 0xe0, 0x9f, 0xf8, 0x75, 0xce, 0xae, 0xa5, 0x8a, 0x3e, + 0xc6, 0x8d, 0x12, 0xbc, 0x84, 0x94, 0x7d, 0x74, +}; +static const unsigned char kat876_addin0[] = {0}; +static const unsigned char kat876_addin1[] = {0}; +static const unsigned char kat876_retbits[] = { + 0x8c, 0xaf, 0x1a, 0x41, 0xdf, 0x0e, 0xd4, 0x8e, 0x05, 0xbd, 0x57, 0xd7, + 0xe8, 0xb1, 0xd7, 0x84, 0xfe, 0x4c, 0x55, 0xc7, 0xc0, 0x8e, 0x0c, 0x2f, + 0xeb, 0x56, 0xda, 0x99, 0xcb, 0xb6, 0x0b, 0x82, 0x42, 0xdc, 0xbb, 0x2e, + 0x23, 0x6d, 0x48, 0x13, 0x28, 0xc0, 0x35, 0x2e, 0x3c, 0x20, 0x60, 0x68, + 0x80, 0xe1, 0xf0, 0x9b, 0x68, 0x47, 0x03, 0x98, 0x4b, 0x33, 0x2b, 0x7c, + 0x59, 0xbd, 0x86, 0x67, +}; +static const struct drbg_kat_no_reseed kat876_t = { + 5, kat876_entropyin, kat876_nonce, kat876_persstr, + kat876_addin0, kat876_addin1, kat876_retbits +}; +static const struct drbg_kat kat876 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat876_t +}; + +static const unsigned char kat877_entropyin[] = { + 0xc6, 0x1f, 0x9c, 0xfd, 0xc7, 0xea, 0x70, 0xe4, 0x03, 0xd4, 0x97, 0x2a, + 0x23, 0x43, 0x78, 0xbb, 0x6a, 0xc9, 0x9c, 0x13, 0xfe, 0xe4, 0x35, 0x9b, + 0xa8, 0x70, 0xfa, 0xe2, 0x9d, 0x22, 0xa8, 0xb8, +}; +static const unsigned char kat877_nonce[] = {0}; +static const unsigned char kat877_persstr[] = { + 0x86, 0xee, 0xb3, 0x3b, 0x00, 0x86, 0x77, 0x0f, 0x72, 0xee, 0x97, 0x1b, + 0x8e, 0x84, 0xda, 0x92, 0xce, 0x90, 0x97, 0x4e, 0x37, 0x42, 0x63, 0x1a, + 0x0a, 0x21, 0x95, 0xb8, 0x87, 0x66, 0xa5, 0x33, +}; +static const unsigned char kat877_addin0[] = {0}; +static const unsigned char kat877_addin1[] = {0}; +static const unsigned char kat877_retbits[] = { + 0x76, 0x00, 0x7d, 0x13, 0x43, 0x06, 0x42, 0x5f, 0x4d, 0x1b, 0x1f, 0xc8, + 0x1c, 0x01, 0x4b, 0x6f, 0x69, 0x71, 0x89, 0x18, 0x57, 0x69, 0x6e, 0x7c, + 0x7e, 0xa1, 0xf8, 0x73, 0x14, 0x07, 0x55, 0x0a, 0x2d, 0x88, 0x64, 0x46, + 0x36, 0x9f, 0x70, 0x3f, 0x97, 0xba, 0x3d, 0x1a, 0x3a, 0x86, 0x51, 0x3e, + 0x6e, 0x2a, 0xf4, 0x06, 0x86, 0x9c, 0xe7, 0x7c, 0x16, 0x96, 0x85, 0x55, + 0x06, 0x40, 0xe4, 0x4d, +}; +static const struct drbg_kat_no_reseed kat877_t = { + 6, kat877_entropyin, kat877_nonce, kat877_persstr, + kat877_addin0, kat877_addin1, kat877_retbits +}; +static const struct drbg_kat kat877 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat877_t +}; + +static const unsigned char kat878_entropyin[] = { + 0x05, 0x41, 0xd6, 0xf9, 0x91, 0x66, 0x87, 0x7f, 0x14, 0xe2, 0xec, 0x40, + 0xd3, 0x7d, 0xcd, 0x69, 0x3a, 0x53, 0x9f, 0xee, 0x18, 0x75, 0x2d, 0xcc, + 0x16, 0x68, 0x56, 0x94, 0xef, 0x86, 0x53, 0xa7, +}; +static const unsigned char kat878_nonce[] = {0}; +static const unsigned char kat878_persstr[] = { + 0xc2, 0xb8, 0x91, 0xc8, 0xe8, 0xf8, 0x5f, 0x13, 0xb0, 0xf8, 0x20, 0x68, + 0x20, 0x19, 0x45, 0xbd, 0x6f, 0xec, 0x9d, 0x10, 0x2b, 0x8e, 0x20, 0xa5, + 0xbc, 0xa1, 0x00, 0xdd, 0x9b, 0x1c, 0x25, 0x7d, +}; +static const unsigned char kat878_addin0[] = {0}; +static const unsigned char kat878_addin1[] = {0}; +static const unsigned char kat878_retbits[] = { + 0x47, 0xeb, 0x4f, 0x0f, 0x7d, 0x57, 0xe0, 0xd3, 0x60, 0xfe, 0x51, 0xd6, + 0xb2, 0xaa, 0x54, 0xb6, 0x2f, 0x05, 0xcd, 0xd6, 0x2a, 0x78, 0x9c, 0xd6, + 0x39, 0xf6, 0x3d, 0x90, 0xb5, 0xb5, 0xc5, 0xcc, 0x1b, 0xaf, 0xbe, 0x06, + 0x16, 0x3b, 0x84, 0x42, 0x30, 0xa9, 0xf5, 0x28, 0x75, 0xeb, 0xdc, 0x34, + 0x2f, 0x84, 0x14, 0x9d, 0x80, 0xd4, 0x81, 0x89, 0x2f, 0x6e, 0x31, 0x62, + 0x21, 0x04, 0x4d, 0x9b, +}; +static const struct drbg_kat_no_reseed kat878_t = { + 7, kat878_entropyin, kat878_nonce, kat878_persstr, + kat878_addin0, kat878_addin1, kat878_retbits +}; +static const struct drbg_kat kat878 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat878_t +}; + +static const unsigned char kat879_entropyin[] = { + 0x07, 0x43, 0x67, 0xca, 0x90, 0xc0, 0x4e, 0xe7, 0x88, 0x06, 0x18, 0x68, + 0x3d, 0x02, 0x01, 0x7f, 0xe5, 0x82, 0x90, 0x34, 0xed, 0xf5, 0xef, 0xb8, + 0x0d, 0x85, 0xd2, 0x37, 0x31, 0xec, 0x16, 0x7a, +}; +static const unsigned char kat879_nonce[] = {0}; +static const unsigned char kat879_persstr[] = { + 0x21, 0x67, 0xff, 0xee, 0x68, 0x63, 0xe6, 0xe9, 0xa8, 0xd7, 0x70, 0x3b, + 0x4e, 0x92, 0xee, 0xe3, 0x1a, 0x73, 0x66, 0x09, 0xd9, 0x2f, 0x90, 0xb9, + 0xe3, 0xdf, 0xf4, 0x55, 0x6e, 0x12, 0xb7, 0x7b, +}; +static const unsigned char kat879_addin0[] = {0}; +static const unsigned char kat879_addin1[] = {0}; +static const unsigned char kat879_retbits[] = { + 0x8e, 0xb4, 0xe9, 0x30, 0x79, 0x96, 0xa6, 0xd1, 0x7e, 0x91, 0x37, 0xa1, + 0xab, 0xa5, 0x2c, 0x51, 0x8a, 0xa5, 0x60, 0xd5, 0x93, 0x8d, 0x9c, 0xf5, + 0x7f, 0x2f, 0x20, 0x09, 0xa0, 0x7c, 0x82, 0xed, 0x54, 0x0d, 0x1c, 0xb4, + 0x0b, 0x70, 0x97, 0xf7, 0x7d, 0x6d, 0xd2, 0xe4, 0x90, 0x08, 0xdf, 0x8c, + 0x98, 0x97, 0x9c, 0xe3, 0x7e, 0xd3, 0xf7, 0x63, 0xc3, 0x07, 0xe2, 0xd7, + 0x9c, 0x7a, 0xe6, 0x16, +}; +static const struct drbg_kat_no_reseed kat879_t = { + 8, kat879_entropyin, kat879_nonce, kat879_persstr, + kat879_addin0, kat879_addin1, kat879_retbits +}; +static const struct drbg_kat kat879 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat879_t +}; + +static const unsigned char kat880_entropyin[] = { + 0x4f, 0x68, 0xa0, 0xa4, 0xac, 0xa7, 0x11, 0x55, 0x0d, 0x02, 0xcf, 0xef, + 0x7b, 0xaf, 0x55, 0x5e, 0x45, 0x2a, 0x10, 0xcc, 0xb7, 0xe6, 0x32, 0x9c, + 0xed, 0x3a, 0xff, 0x01, 0x96, 0x34, 0xe4, 0x15, +}; +static const unsigned char kat880_nonce[] = {0}; +static const unsigned char kat880_persstr[] = { + 0x77, 0xe2, 0xd6, 0x22, 0x99, 0x68, 0xc8, 0xa1, 0x6a, 0xc9, 0xbb, 0x1e, + 0xf0, 0x42, 0x0e, 0xb0, 0x84, 0xd9, 0xfc, 0xd0, 0x10, 0x89, 0x2a, 0xcc, + 0x79, 0xba, 0xab, 0x89, 0x9d, 0x19, 0xce, 0x2b, +}; +static const unsigned char kat880_addin0[] = {0}; +static const unsigned char kat880_addin1[] = {0}; +static const unsigned char kat880_retbits[] = { + 0x4d, 0xce, 0x9d, 0xc3, 0xb2, 0x02, 0x05, 0x95, 0xad, 0x97, 0x23, 0x14, + 0xa1, 0x19, 0x46, 0x75, 0xca, 0xa7, 0x0c, 0xcb, 0xee, 0xb0, 0x23, 0xaa, + 0xda, 0x1b, 0xd9, 0x91, 0xaa, 0xa9, 0x66, 0xb4, 0xef, 0x5e, 0x0d, 0xaf, + 0x46, 0xca, 0xe5, 0x16, 0x53, 0x7b, 0x35, 0x18, 0x1e, 0x66, 0x84, 0xeb, + 0x0d, 0x73, 0x1b, 0x91, 0x9e, 0x14, 0x70, 0x3f, 0x12, 0x19, 0x60, 0x35, + 0x2d, 0xbd, 0xfe, 0x78, +}; +static const struct drbg_kat_no_reseed kat880_t = { + 9, kat880_entropyin, kat880_nonce, kat880_persstr, + kat880_addin0, kat880_addin1, kat880_retbits +}; +static const struct drbg_kat kat880 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat880_t +}; + +static const unsigned char kat881_entropyin[] = { + 0xc2, 0xd0, 0x01, 0x2e, 0xdd, 0xe1, 0x41, 0xae, 0xa2, 0xe9, 0x45, 0x4c, + 0xa0, 0x4d, 0x5c, 0xdb, 0xd8, 0xa2, 0x93, 0xaf, 0xf9, 0x6c, 0xde, 0x59, + 0xe4, 0x0d, 0xe0, 0x68, 0xf9, 0xda, 0xb8, 0xf9, +}; +static const unsigned char kat881_nonce[] = {0}; +static const unsigned char kat881_persstr[] = { + 0xd8, 0x0e, 0x1d, 0xdb, 0x2e, 0x39, 0x0b, 0xac, 0x90, 0x08, 0xf1, 0xf4, + 0xcf, 0xa1, 0xd5, 0xcf, 0x13, 0xa9, 0x41, 0xcb, 0x46, 0x69, 0xeb, 0x6a, + 0x9b, 0x1d, 0xd2, 0x33, 0x58, 0x39, 0x02, 0x86, +}; +static const unsigned char kat881_addin0[] = {0}; +static const unsigned char kat881_addin1[] = {0}; +static const unsigned char kat881_retbits[] = { + 0x5d, 0x40, 0x3a, 0x36, 0xe5, 0xee, 0xa6, 0x06, 0x7c, 0x6b, 0x28, 0xb1, + 0xcb, 0xc4, 0x8e, 0x9d, 0xad, 0x76, 0xc6, 0x6f, 0x6d, 0x14, 0xba, 0xd9, + 0xc6, 0x86, 0x11, 0xfe, 0xf9, 0x77, 0x58, 0xec, 0x6f, 0x5c, 0x79, 0x87, + 0x60, 0xe6, 0x71, 0x0d, 0x8b, 0xea, 0x3c, 0x8d, 0xd2, 0x04, 0x5c, 0xa8, + 0x92, 0xfa, 0x01, 0x5e, 0x39, 0xe9, 0x38, 0x5d, 0x29, 0xbb, 0xa9, 0x08, + 0xd7, 0x00, 0x5a, 0x6c, +}; +static const struct drbg_kat_no_reseed kat881_t = { + 10, kat881_entropyin, kat881_nonce, kat881_persstr, + kat881_addin0, kat881_addin1, kat881_retbits +}; +static const struct drbg_kat kat881 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat881_t +}; + +static const unsigned char kat882_entropyin[] = { + 0x10, 0x33, 0x3b, 0xc1, 0x06, 0xe9, 0xee, 0xa9, 0x36, 0xab, 0x55, 0xe3, + 0x4c, 0x5f, 0x28, 0x33, 0xad, 0x23, 0x95, 0xc4, 0x66, 0x12, 0x5b, 0xeb, + 0x40, 0x00, 0xd4, 0x2b, 0x1c, 0x0a, 0x80, 0xd3, +}; +static const unsigned char kat882_nonce[] = {0}; +static const unsigned char kat882_persstr[] = { + 0xa1, 0xa7, 0x77, 0x5e, 0xf0, 0xff, 0x03, 0xd7, 0xad, 0xab, 0x74, 0xb1, + 0xb8, 0xf0, 0x5b, 0xf3, 0xd7, 0xb6, 0x2e, 0xda, 0x1d, 0x29, 0x68, 0x5e, + 0x86, 0x1c, 0x5e, 0x28, 0xf1, 0x6d, 0x91, 0x48, +}; +static const unsigned char kat882_addin0[] = {0}; +static const unsigned char kat882_addin1[] = {0}; +static const unsigned char kat882_retbits[] = { + 0xd1, 0x22, 0x39, 0xdf, 0x3f, 0x0a, 0x25, 0xe3, 0x84, 0xba, 0x01, 0xe9, + 0x2e, 0xf4, 0x84, 0x02, 0x72, 0xcb, 0x82, 0x57, 0x9c, 0xe6, 0xe5, 0xc1, + 0x12, 0x5b, 0xa1, 0x91, 0xf2, 0xba, 0xe8, 0xea, 0x86, 0x38, 0xd4, 0xfe, + 0x02, 0x0c, 0x20, 0xe2, 0x36, 0xda, 0x8d, 0x6a, 0x83, 0x0c, 0xcd, 0xb8, + 0x4e, 0x53, 0x1a, 0x27, 0xf8, 0xcf, 0x9f, 0x16, 0x75, 0xa6, 0x0e, 0x95, + 0x7a, 0x15, 0xf7, 0xa4, +}; +static const struct drbg_kat_no_reseed kat882_t = { + 11, kat882_entropyin, kat882_nonce, kat882_persstr, + kat882_addin0, kat882_addin1, kat882_retbits +}; +static const struct drbg_kat kat882 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat882_t +}; + +static const unsigned char kat883_entropyin[] = { + 0x3d, 0x4e, 0x96, 0x66, 0x72, 0x3c, 0x05, 0xdd, 0xd2, 0xc1, 0x3a, 0xaa, + 0x26, 0xda, 0xdb, 0x43, 0xcb, 0xc1, 0x88, 0xb0, 0xc2, 0x05, 0x7c, 0xeb, + 0x1f, 0x0a, 0xc7, 0x8b, 0xc8, 0x57, 0x5c, 0x9e, +}; +static const unsigned char kat883_nonce[] = {0}; +static const unsigned char kat883_persstr[] = { + 0xdb, 0x9e, 0x87, 0x0d, 0x9c, 0xe2, 0xba, 0x3c, 0x7b, 0x26, 0x1f, 0x7e, + 0xbe, 0x29, 0x48, 0x2b, 0x0f, 0x12, 0xeb, 0xee, 0xea, 0xe3, 0xf6, 0xfe, + 0xce, 0xe4, 0xc0, 0x49, 0x0c, 0x05, 0xe3, 0xeb, +}; +static const unsigned char kat883_addin0[] = {0}; +static const unsigned char kat883_addin1[] = {0}; +static const unsigned char kat883_retbits[] = { + 0xf8, 0x66, 0x42, 0xda, 0xde, 0x14, 0x93, 0xc2, 0x89, 0xc1, 0x6a, 0x21, + 0x0c, 0xdf, 0xa7, 0x23, 0x98, 0x8c, 0x72, 0x00, 0xce, 0xbb, 0x36, 0x11, + 0x61, 0x6e, 0xa8, 0xa6, 0x36, 0x75, 0x57, 0x6c, 0x64, 0xf6, 0xf4, 0xa9, + 0x95, 0xca, 0x22, 0x0f, 0x85, 0x6e, 0x72, 0x5f, 0x30, 0x23, 0xd3, 0xae, + 0xce, 0x61, 0xf2, 0x37, 0x54, 0xf0, 0x58, 0x5d, 0xdd, 0x1e, 0x03, 0x31, + 0x1c, 0xf5, 0xcb, 0x16, +}; +static const struct drbg_kat_no_reseed kat883_t = { + 12, kat883_entropyin, kat883_nonce, kat883_persstr, + kat883_addin0, kat883_addin1, kat883_retbits +}; +static const struct drbg_kat kat883 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat883_t +}; + +static const unsigned char kat884_entropyin[] = { + 0xd9, 0x5f, 0x81, 0xf1, 0x98, 0xd9, 0x73, 0x57, 0x7f, 0x90, 0x2d, 0xca, + 0xf7, 0x07, 0xd9, 0x3f, 0x5e, 0x9e, 0x0f, 0x4d, 0xa5, 0x0f, 0x48, 0xd3, + 0xa1, 0xa2, 0xb6, 0xa0, 0x16, 0x66, 0x41, 0x60, +}; +static const unsigned char kat884_nonce[] = {0}; +static const unsigned char kat884_persstr[] = { + 0xc5, 0xe4, 0x22, 0x56, 0xb2, 0xd0, 0x23, 0x9d, 0x20, 0x40, 0x93, 0xca, + 0x5f, 0x99, 0xd1, 0x88, 0x0c, 0xeb, 0xc9, 0x6b, 0x67, 0x07, 0xb6, 0xc2, + 0x09, 0xea, 0x2d, 0xa0, 0xd2, 0x6a, 0x41, 0x1e, +}; +static const unsigned char kat884_addin0[] = {0}; +static const unsigned char kat884_addin1[] = {0}; +static const unsigned char kat884_retbits[] = { + 0xc4, 0x35, 0x44, 0xc9, 0x52, 0x28, 0xcb, 0x76, 0xd7, 0xc5, 0xa4, 0x99, + 0x37, 0xfe, 0x69, 0x38, 0xd2, 0x20, 0x45, 0x80, 0x04, 0x77, 0x9b, 0x02, + 0xcb, 0x7a, 0xa2, 0x8f, 0x8f, 0xb0, 0xc7, 0x95, 0x11, 0x5e, 0x94, 0x2a, + 0x65, 0x78, 0xdd, 0xc0, 0xb5, 0x67, 0x9c, 0x0c, 0x9f, 0x54, 0x47, 0x8b, + 0x8a, 0x33, 0x53, 0xeb, 0x39, 0x0e, 0x31, 0x77, 0x4e, 0xab, 0xb9, 0xcc, + 0x6b, 0x80, 0x33, 0x4d, +}; +static const struct drbg_kat_no_reseed kat884_t = { + 13, kat884_entropyin, kat884_nonce, kat884_persstr, + kat884_addin0, kat884_addin1, kat884_retbits +}; +static const struct drbg_kat kat884 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat884_t +}; + +static const unsigned char kat885_entropyin[] = { + 0x0c, 0x45, 0x64, 0xba, 0x25, 0x44, 0x55, 0xb6, 0x55, 0x7a, 0xec, 0x1c, + 0xfe, 0xe2, 0xb2, 0xb7, 0x26, 0xd2, 0xc4, 0xf4, 0x53, 0x79, 0x26, 0x7f, + 0x0e, 0x27, 0xd1, 0x1c, 0x6f, 0x1e, 0xdc, 0x7f, +}; +static const unsigned char kat885_nonce[] = {0}; +static const unsigned char kat885_persstr[] = { + 0x46, 0xae, 0xfb, 0x02, 0x4c, 0x6a, 0xcd, 0xc9, 0x29, 0x7d, 0x50, 0x19, + 0x10, 0x93, 0x10, 0xde, 0x55, 0x8f, 0x6a, 0xfc, 0xca, 0x73, 0x0c, 0x84, + 0x14, 0xc5, 0x4f, 0x4e, 0x57, 0x4f, 0xab, 0x1e, +}; +static const unsigned char kat885_addin0[] = {0}; +static const unsigned char kat885_addin1[] = {0}; +static const unsigned char kat885_retbits[] = { + 0xc9, 0x48, 0x94, 0xd5, 0x69, 0x85, 0xd7, 0x3a, 0xc5, 0x16, 0xc1, 0x24, + 0x9c, 0xea, 0x3d, 0x8e, 0x79, 0xb6, 0x7d, 0xcd, 0xb2, 0xbf, 0x24, 0xb8, + 0x30, 0xd5, 0x2f, 0x9e, 0x1f, 0xbd, 0xd8, 0xbd, 0xb3, 0x7a, 0x54, 0x6c, + 0x4f, 0xfe, 0x13, 0x18, 0x6c, 0xeb, 0x0a, 0x23, 0x0a, 0x14, 0xee, 0x1b, + 0xe0, 0xe4, 0x09, 0xeb, 0x19, 0xee, 0xf0, 0x18, 0xe5, 0x4f, 0x79, 0xc3, + 0xdd, 0xd4, 0xfb, 0xd4, +}; +static const struct drbg_kat_no_reseed kat885_t = { + 14, kat885_entropyin, kat885_nonce, kat885_persstr, + kat885_addin0, kat885_addin1, kat885_retbits +}; +static const struct drbg_kat kat885 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat885_t +}; + +static const unsigned char kat886_entropyin[] = { + 0x51, 0x48, 0x67, 0x4d, 0xa1, 0x23, 0xe8, 0x09, 0x43, 0x1d, 0x84, 0x87, + 0x2c, 0x8b, 0x78, 0x35, 0x66, 0xce, 0xae, 0xff, 0xb2, 0xa2, 0xed, 0x1f, + 0x85, 0xe4, 0x74, 0x52, 0x75, 0x17, 0x3c, 0x01, +}; +static const unsigned char kat886_nonce[] = {0}; +static const unsigned char kat886_persstr[] = { + 0xe4, 0xbb, 0xc1, 0x86, 0xbb, 0xd3, 0x4a, 0x9e, 0x3d, 0xdb, 0x56, 0x2a, + 0xec, 0xd3, 0x90, 0xbe, 0xdb, 0x77, 0xe3, 0x79, 0xe7, 0x1e, 0x1d, 0xcb, + 0x4f, 0xb6, 0xdc, 0xfe, 0x58, 0x1d, 0x09, 0xcc, +}; +static const unsigned char kat886_addin0[] = { + 0x4c, 0xf3, 0x16, 0x55, 0xc6, 0xfa, 0xcd, 0x20, 0x9e, 0xf9, 0x9d, 0x1b, + 0xa9, 0xf5, 0xe2, 0x9c, 0x1e, 0xe9, 0xa7, 0xa1, 0x01, 0xf3, 0xdd, 0xdc, + 0xbe, 0x38, 0x41, 0x07, 0xda, 0x52, 0xaa, 0xf0, +}; +static const unsigned char kat886_addin1[] = { + 0xc7, 0x7b, 0xc7, 0x95, 0x24, 0x23, 0xa2, 0xec, 0x3b, 0x1f, 0x7f, 0x68, + 0x67, 0x5f, 0x9a, 0xda, 0x5a, 0x32, 0xd1, 0xb4, 0x94, 0x14, 0x30, 0x78, + 0x80, 0xd6, 0x35, 0xda, 0x80, 0xc5, 0x9c, 0x83, +}; +static const unsigned char kat886_retbits[] = { + 0x98, 0xa6, 0xa6, 0x64, 0x51, 0xce, 0x9b, 0xd3, 0x48, 0x25, 0x69, 0x2f, + 0xdd, 0x65, 0x24, 0xee, 0xe8, 0x2e, 0xa1, 0xf5, 0x50, 0xf5, 0xc3, 0x2a, + 0xa9, 0x73, 0x5e, 0xd5, 0x21, 0x19, 0xb2, 0x2d, 0xbb, 0xad, 0x9d, 0x42, + 0x82, 0x57, 0x7c, 0xb8, 0x00, 0x31, 0x5b, 0xa7, 0xc9, 0x07, 0x25, 0x50, + 0x84, 0x7e, 0xdc, 0x23, 0xb5, 0x0a, 0x19, 0x79, 0xed, 0x34, 0x1c, 0x37, + 0x75, 0x92, 0x22, 0xdc, +}; +static const struct drbg_kat_no_reseed kat886_t = { + 0, kat886_entropyin, kat886_nonce, kat886_persstr, + kat886_addin0, kat886_addin1, kat886_retbits +}; +static const struct drbg_kat kat886 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat886_t +}; + +static const unsigned char kat887_entropyin[] = { + 0xae, 0xd2, 0xfe, 0x2c, 0x23, 0xf5, 0x81, 0x2e, 0x6b, 0xdb, 0xa3, 0xb4, + 0xec, 0x78, 0x2f, 0x33, 0x17, 0xbc, 0x25, 0xaf, 0x7c, 0xad, 0x0e, 0xff, + 0xa8, 0xdd, 0xd7, 0xea, 0xa8, 0xbe, 0xa0, 0xf2, +}; +static const unsigned char kat887_nonce[] = {0}; +static const unsigned char kat887_persstr[] = { + 0x29, 0x2c, 0xd5, 0x28, 0xfa, 0x53, 0xda, 0x05, 0x03, 0x2c, 0x1c, 0x0c, + 0xbd, 0xeb, 0x52, 0xec, 0xac, 0xb8, 0x19, 0xb6, 0x51, 0xc2, 0x8c, 0x4d, + 0x0a, 0x1d, 0x75, 0x24, 0x8d, 0x46, 0x8c, 0xd5, +}; +static const unsigned char kat887_addin0[] = { + 0x36, 0x3c, 0xc4, 0x7e, 0x33, 0x92, 0xec, 0x7c, 0x28, 0xa9, 0xae, 0x72, + 0x39, 0x16, 0x7b, 0xed, 0xd6, 0x2d, 0xd1, 0xf0, 0x2c, 0x38, 0xaf, 0x47, + 0xb3, 0xb0, 0x80, 0x38, 0x52, 0x80, 0xc3, 0x68, +}; +static const unsigned char kat887_addin1[] = { + 0x63, 0x37, 0x14, 0x53, 0xc3, 0x2e, 0x2e, 0xb3, 0xe7, 0xbc, 0x1e, 0x96, + 0x1e, 0x5f, 0x33, 0x32, 0x24, 0xdc, 0x96, 0x3f, 0xdd, 0x6a, 0xbf, 0x71, + 0xfb, 0xf8, 0x15, 0x9b, 0xe4, 0x0a, 0xad, 0xc2, +}; +static const unsigned char kat887_retbits[] = { + 0x9d, 0x52, 0xd1, 0x1f, 0xdf, 0x3f, 0x9b, 0x3c, 0x4c, 0xa9, 0xa4, 0x18, + 0x4b, 0x4d, 0x4a, 0x58, 0x16, 0xce, 0xdc, 0x75, 0x5e, 0x03, 0x3e, 0x40, + 0x6e, 0xd3, 0x57, 0x87, 0xb7, 0x92, 0xa7, 0x7f, 0x73, 0x22, 0xd4, 0x39, + 0x24, 0x8c, 0x91, 0xaf, 0xbf, 0x67, 0xde, 0x47, 0x33, 0x31, 0xaa, 0x0e, + 0x0f, 0xa0, 0x00, 0xbf, 0xfe, 0xc1, 0x0d, 0x16, 0xaf, 0xca, 0xf4, 0xc0, + 0xfe, 0x73, 0xa3, 0x9d, +}; +static const struct drbg_kat_no_reseed kat887_t = { + 1, kat887_entropyin, kat887_nonce, kat887_persstr, + kat887_addin0, kat887_addin1, kat887_retbits +}; +static const struct drbg_kat kat887 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat887_t +}; + +static const unsigned char kat888_entropyin[] = { + 0xf3, 0x56, 0xf1, 0xc6, 0x3c, 0x5c, 0x00, 0xbe, 0x96, 0x60, 0xc6, 0x8d, + 0xbf, 0x00, 0xeb, 0x5a, 0x4c, 0x02, 0x08, 0x59, 0x98, 0xd5, 0x08, 0x4d, + 0x75, 0xf5, 0x4a, 0x86, 0xe2, 0xbb, 0x07, 0xd6, +}; +static const unsigned char kat888_nonce[] = {0}; +static const unsigned char kat888_persstr[] = { + 0xa4, 0x43, 0xd0, 0x52, 0x6d, 0x57, 0x98, 0x2a, 0x66, 0x1d, 0x1a, 0xe3, + 0xc6, 0xfb, 0x09, 0x51, 0xf4, 0xe7, 0x24, 0xe8, 0xfb, 0xe3, 0xa5, 0xef, + 0xfe, 0x9f, 0x71, 0x8b, 0xe9, 0x88, 0xfd, 0x9d, +}; +static const unsigned char kat888_addin0[] = { + 0x15, 0xf2, 0x27, 0x57, 0x1e, 0x83, 0x69, 0x3a, 0xa9, 0x34, 0x65, 0x8a, + 0x13, 0xc6, 0x50, 0xc1, 0xe6, 0x63, 0xc0, 0xc7, 0x4e, 0x52, 0x9c, 0xd4, + 0x86, 0x65, 0x00, 0x44, 0xef, 0xe2, 0x52, 0x3d, +}; +static const unsigned char kat888_addin1[] = { + 0x3e, 0xd2, 0x05, 0x08, 0xcb, 0xc9, 0x10, 0x45, 0xb5, 0x55, 0x35, 0x8e, + 0x3f, 0x71, 0x89, 0xa0, 0x52, 0x2a, 0xd4, 0x3d, 0x5d, 0x7f, 0xd0, 0xd6, + 0xd8, 0x8f, 0x47, 0x5c, 0xda, 0xe1, 0x77, 0xcf, +}; +static const unsigned char kat888_retbits[] = { + 0x86, 0x8b, 0xf4, 0xfe, 0x9d, 0x7a, 0x7c, 0x65, 0x6a, 0x1e, 0xa0, 0x2d, + 0xd3, 0x53, 0xa7, 0xdd, 0xea, 0x6a, 0x9e, 0xd1, 0xeb, 0x4c, 0x0d, 0xe9, + 0x28, 0xeb, 0x03, 0xf3, 0xe7, 0x8f, 0x06, 0x9d, 0x5b, 0x22, 0xd8, 0x24, + 0x75, 0xa9, 0xc5, 0x2e, 0xfe, 0x52, 0x4e, 0x4c, 0xd4, 0xbf, 0x10, 0x32, + 0x6c, 0x6f, 0xe2, 0xfd, 0x60, 0x40, 0xd6, 0x1a, 0xee, 0x34, 0xb7, 0x4f, + 0xb7, 0xcb, 0xbb, 0xd7, +}; +static const struct drbg_kat_no_reseed kat888_t = { + 2, kat888_entropyin, kat888_nonce, kat888_persstr, + kat888_addin0, kat888_addin1, kat888_retbits +}; +static const struct drbg_kat kat888 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat888_t +}; + +static const unsigned char kat889_entropyin[] = { + 0xb1, 0x94, 0xf4, 0x92, 0xba, 0x4b, 0x20, 0xfa, 0x65, 0xbe, 0x37, 0x32, + 0x41, 0x24, 0x25, 0x19, 0x8e, 0x78, 0x2d, 0x04, 0x24, 0xc2, 0x63, 0xc5, + 0xd3, 0xef, 0x3e, 0x1a, 0x99, 0x08, 0xfa, 0x8d, +}; +static const unsigned char kat889_nonce[] = {0}; +static const unsigned char kat889_persstr[] = { + 0x91, 0x2c, 0x64, 0x8e, 0x82, 0xd7, 0xf4, 0x07, 0x7f, 0xbd, 0xd4, 0x55, + 0xf4, 0xb1, 0x2c, 0xe9, 0xde, 0x47, 0x44, 0x60, 0x4d, 0x24, 0xf9, 0x44, + 0x07, 0x02, 0x0e, 0x56, 0xe8, 0x55, 0x28, 0x6d, +}; +static const unsigned char kat889_addin0[] = { + 0x25, 0xbe, 0x6e, 0x16, 0xcf, 0x62, 0x56, 0x2b, 0x19, 0xe6, 0xe6, 0x73, + 0x75, 0x43, 0x72, 0x4d, 0xc9, 0xe0, 0x3d, 0x86, 0xe9, 0x7e, 0x89, 0x6a, + 0xb2, 0xea, 0xe1, 0xfb, 0x3f, 0x1e, 0x20, 0x7e, +}; +static const unsigned char kat889_addin1[] = { + 0x2c, 0xe5, 0x41, 0xfc, 0x48, 0x69, 0x44, 0x9c, 0x11, 0x97, 0x4f, 0x1b, + 0x88, 0xb1, 0x7f, 0x8f, 0xfe, 0x7a, 0x7d, 0x3d, 0x43, 0xe8, 0xd6, 0xcf, + 0x0e, 0xec, 0xbe, 0xa2, 0x54, 0x7f, 0xd7, 0xd4, +}; +static const unsigned char kat889_retbits[] = { + 0x55, 0x0e, 0x76, 0xc2, 0xde, 0x2c, 0x79, 0x96, 0x12, 0xec, 0x81, 0x61, + 0x41, 0x28, 0x97, 0x76, 0xa7, 0x30, 0xea, 0xa9, 0x78, 0x26, 0x10, 0xbe, + 0x58, 0xee, 0x4f, 0xe9, 0x48, 0x47, 0xbc, 0xa5, 0x6e, 0xe8, 0xa3, 0x3c, + 0x3a, 0xea, 0xa4, 0x0f, 0x5f, 0x71, 0xfe, 0xb4, 0xa9, 0xdf, 0x8d, 0x01, + 0xa2, 0x8a, 0x8f, 0x80, 0xa6, 0x66, 0xef, 0x77, 0x73, 0xf3, 0x02, 0xe9, + 0xa8, 0xcb, 0x54, 0xdb, +}; +static const struct drbg_kat_no_reseed kat889_t = { + 3, kat889_entropyin, kat889_nonce, kat889_persstr, + kat889_addin0, kat889_addin1, kat889_retbits +}; +static const struct drbg_kat kat889 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat889_t +}; + +static const unsigned char kat890_entropyin[] = { + 0x1a, 0xd7, 0x35, 0x9e, 0x36, 0x2d, 0xfa, 0x16, 0x9d, 0x5f, 0x39, 0x1b, + 0x57, 0x0c, 0x26, 0x57, 0xf1, 0x2f, 0x80, 0xcd, 0x2c, 0xf2, 0x2e, 0x6c, + 0x34, 0x0c, 0x9f, 0xfd, 0x1a, 0xe9, 0x5c, 0xda, +}; +static const unsigned char kat890_nonce[] = {0}; +static const unsigned char kat890_persstr[] = { + 0x0b, 0x60, 0xa5, 0x87, 0x44, 0xf7, 0x75, 0x3b, 0xaa, 0x2b, 0x2a, 0x81, + 0x7d, 0x73, 0x8e, 0x08, 0x78, 0x24, 0x46, 0xf1, 0xc8, 0xea, 0xc8, 0x48, + 0xac, 0xd3, 0xba, 0xa6, 0x83, 0xb0, 0x45, 0xa7, +}; +static const unsigned char kat890_addin0[] = { + 0xef, 0xf6, 0x58, 0x2f, 0x25, 0x45, 0xb6, 0x7f, 0x5e, 0x18, 0x09, 0xb8, + 0x7f, 0x7b, 0x7e, 0x27, 0x53, 0x62, 0xf3, 0x52, 0x15, 0x79, 0x3a, 0xcc, + 0x1e, 0x3b, 0xec, 0x93, 0xa7, 0xda, 0x31, 0xd3, +}; +static const unsigned char kat890_addin1[] = { + 0x33, 0x57, 0xe1, 0x26, 0x2f, 0x9d, 0x44, 0x76, 0x6e, 0x48, 0x5c, 0x3e, + 0xd9, 0x67, 0x9d, 0x7c, 0x54, 0x4d, 0xed, 0xa0, 0x1c, 0xab, 0xe1, 0xc5, + 0x5a, 0x4d, 0xf6, 0x96, 0x1c, 0x0b, 0x96, 0xee, +}; +static const unsigned char kat890_retbits[] = { + 0xc1, 0x16, 0x8b, 0x39, 0xc0, 0xf9, 0xa6, 0xc5, 0x84, 0xa4, 0x4d, 0xf7, + 0xa7, 0x04, 0xdf, 0x41, 0x41, 0xbc, 0x55, 0x3e, 0x7a, 0xbc, 0xbe, 0xd2, + 0x9a, 0xda, 0x29, 0xb5, 0xd9, 0xd3, 0x33, 0x10, 0x4e, 0xd5, 0xf9, 0x68, + 0x86, 0x23, 0xac, 0x77, 0x1b, 0xd7, 0x12, 0x58, 0xec, 0x09, 0x0c, 0xfb, + 0x31, 0xab, 0x96, 0x85, 0x81, 0x25, 0x53, 0xd6, 0x87, 0xa7, 0x12, 0x26, + 0x5e, 0x5a, 0x2e, 0x0e, +}; +static const struct drbg_kat_no_reseed kat890_t = { + 4, kat890_entropyin, kat890_nonce, kat890_persstr, + kat890_addin0, kat890_addin1, kat890_retbits +}; +static const struct drbg_kat kat890 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat890_t +}; + +static const unsigned char kat891_entropyin[] = { + 0x91, 0xaf, 0xeb, 0x9f, 0xba, 0x80, 0xf7, 0xf0, 0x5e, 0x2e, 0xd4, 0x0f, + 0x54, 0x8a, 0xf6, 0xf7, 0x36, 0x95, 0xb8, 0xa3, 0xdf, 0x98, 0x09, 0x5c, + 0xc3, 0x29, 0x48, 0xda, 0xc0, 0xab, 0x91, 0xec, +}; +static const unsigned char kat891_nonce[] = {0}; +static const unsigned char kat891_persstr[] = { + 0xbf, 0x08, 0x33, 0x42, 0xd0, 0xae, 0x63, 0xd3, 0x50, 0x9d, 0xe2, 0x24, + 0x25, 0xed, 0xd3, 0x25, 0xc7, 0xe2, 0x66, 0x02, 0x98, 0x89, 0x4f, 0x67, + 0x7f, 0x7a, 0xe5, 0xb3, 0x0c, 0x5a, 0x37, 0x59, +}; +static const unsigned char kat891_addin0[] = { + 0x08, 0x5b, 0xdc, 0xf8, 0x6f, 0x2d, 0x89, 0xed, 0xcc, 0x72, 0x7f, 0x5b, + 0xe5, 0xba, 0x12, 0x55, 0x67, 0x5e, 0x6f, 0xe6, 0x11, 0x74, 0x6f, 0xcc, + 0xa4, 0xcb, 0x37, 0x2c, 0xeb, 0x7c, 0x9f, 0xba, +}; +static const unsigned char kat891_addin1[] = { + 0xd3, 0x8d, 0xd8, 0xae, 0xf2, 0x35, 0xc7, 0xba, 0xbc, 0x68, 0x2e, 0xa4, + 0x6d, 0x83, 0xfd, 0xbb, 0xd2, 0xb1, 0xc5, 0x3a, 0xdf, 0x18, 0xec, 0x26, + 0x6c, 0xc5, 0x3f, 0x01, 0xc9, 0x09, 0x12, 0x49, +}; +static const unsigned char kat891_retbits[] = { + 0xf4, 0xe3, 0x7f, 0xb2, 0x2b, 0xc0, 0xc6, 0xb9, 0xa9, 0x72, 0xfa, 0xdc, + 0x91, 0x4d, 0x7e, 0xbf, 0x16, 0x42, 0x80, 0x68, 0xee, 0x20, 0xa5, 0x05, + 0x5e, 0x7b, 0x5c, 0x54, 0xfe, 0x36, 0xcb, 0x11, 0x51, 0x88, 0x90, 0xe4, + 0x36, 0xad, 0x1e, 0x2e, 0x2f, 0x8c, 0x64, 0x8e, 0xb9, 0x50, 0x7a, 0x49, + 0xe5, 0x22, 0x02, 0xdf, 0x44, 0x6a, 0xa5, 0xc6, 0x34, 0x2a, 0xda, 0x65, + 0xf0, 0xa2, 0x26, 0x47, +}; +static const struct drbg_kat_no_reseed kat891_t = { + 5, kat891_entropyin, kat891_nonce, kat891_persstr, + kat891_addin0, kat891_addin1, kat891_retbits +}; +static const struct drbg_kat kat891 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat891_t +}; + +static const unsigned char kat892_entropyin[] = { + 0x79, 0xe2, 0x01, 0x1d, 0x49, 0xc3, 0x34, 0xd9, 0x77, 0xbd, 0xac, 0x54, + 0xe3, 0xf4, 0xd8, 0x72, 0x19, 0xc6, 0xeb, 0x38, 0xb0, 0xd2, 0x31, 0x83, + 0x77, 0x16, 0xf3, 0xd6, 0xf4, 0xd7, 0x36, 0xb6, +}; +static const unsigned char kat892_nonce[] = {0}; +static const unsigned char kat892_persstr[] = { + 0xdb, 0xb3, 0xaf, 0xec, 0xd8, 0x1f, 0xb9, 0x4b, 0x6f, 0xde, 0x7b, 0x9e, + 0x5d, 0x12, 0x9d, 0x80, 0x57, 0x73, 0x7f, 0xab, 0x78, 0x28, 0x12, 0x7c, + 0xce, 0x2e, 0xaf, 0x82, 0xa5, 0xa0, 0xa5, 0x05, +}; +static const unsigned char kat892_addin0[] = { + 0xb5, 0x6c, 0xe9, 0xf1, 0xaf, 0xb8, 0xe5, 0x87, 0x09, 0xc1, 0xb2, 0xf8, + 0xe5, 0x0e, 0x58, 0x52, 0x60, 0x4d, 0x1b, 0x34, 0x1d, 0x04, 0x65, 0x84, + 0xd0, 0x88, 0xfb, 0xfc, 0xad, 0x74, 0x6a, 0x09, +}; +static const unsigned char kat892_addin1[] = { + 0xff, 0x45, 0xe7, 0x93, 0x4f, 0x8b, 0x17, 0x91, 0xfd, 0x3d, 0x3d, 0x03, + 0x92, 0x40, 0x77, 0xa9, 0xf0, 0xc4, 0x3e, 0xa5, 0x65, 0x71, 0xb9, 0xdb, + 0x8f, 0x74, 0x8f, 0x4d, 0xd2, 0x55, 0xe7, 0x32, +}; +static const unsigned char kat892_retbits[] = { + 0xbc, 0x8d, 0xe3, 0x40, 0xb7, 0x03, 0xc7, 0x5d, 0x8e, 0x95, 0xc6, 0x61, + 0x05, 0x59, 0xc9, 0xe7, 0x09, 0xec, 0x0e, 0xc6, 0x2c, 0x32, 0x2f, 0x7c, + 0xd5, 0xef, 0x46, 0x7f, 0x99, 0x9f, 0xcd, 0x45, 0x7a, 0x4d, 0x0e, 0xa4, + 0xb3, 0xa6, 0x3f, 0x93, 0x41, 0xa4, 0xdf, 0x5b, 0x51, 0xce, 0x72, 0xc7, + 0x97, 0x70, 0xa7, 0x3b, 0x3d, 0x8d, 0xc4, 0x21, 0x16, 0xf9, 0xbe, 0x19, + 0x4a, 0x22, 0x2c, 0x4d, +}; +static const struct drbg_kat_no_reseed kat892_t = { + 6, kat892_entropyin, kat892_nonce, kat892_persstr, + kat892_addin0, kat892_addin1, kat892_retbits +}; +static const struct drbg_kat kat892 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat892_t +}; + +static const unsigned char kat893_entropyin[] = { + 0x8e, 0xe9, 0x91, 0x00, 0xc8, 0xe3, 0xb4, 0x4c, 0x8e, 0x07, 0xbf, 0x87, + 0xc2, 0x4f, 0x76, 0x13, 0x46, 0xf8, 0xf4, 0x88, 0xef, 0xd8, 0x6b, 0x33, + 0x52, 0x8a, 0x17, 0xbc, 0x9a, 0xb9, 0x5c, 0xc4, +}; +static const unsigned char kat893_nonce[] = {0}; +static const unsigned char kat893_persstr[] = { + 0x01, 0xb9, 0x5a, 0x46, 0xce, 0xbc, 0x95, 0xe0, 0xec, 0x82, 0x1c, 0x92, + 0x15, 0x69, 0xd8, 0x07, 0x99, 0xed, 0x2a, 0x13, 0x32, 0xb7, 0xfd, 0x08, + 0x07, 0x07, 0x59, 0x0a, 0x51, 0x1a, 0x55, 0x83, +}; +static const unsigned char kat893_addin0[] = { + 0x02, 0xf5, 0x20, 0xd9, 0x9b, 0x93, 0xa6, 0x22, 0xe8, 0xef, 0xcb, 0xb0, + 0x73, 0xf8, 0xb6, 0x4a, 0x89, 0xec, 0x07, 0x5d, 0x70, 0x13, 0x1a, 0x63, + 0x50, 0x9b, 0x04, 0xfe, 0x50, 0x69, 0xf4, 0x7a, +}; +static const unsigned char kat893_addin1[] = { + 0xba, 0x6b, 0x22, 0x67, 0x2a, 0x1f, 0xdc, 0x95, 0x92, 0x03, 0x3a, 0xe8, + 0x96, 0x64, 0x21, 0xf9, 0xe8, 0x4d, 0x98, 0xd6, 0x0a, 0x1c, 0xad, 0x8b, + 0x0d, 0x04, 0x2d, 0xc6, 0xc3, 0x44, 0x8a, 0x28, +}; +static const unsigned char kat893_retbits[] = { + 0x88, 0x20, 0x42, 0xc9, 0x30, 0x2b, 0x67, 0x14, 0xad, 0x5b, 0xe7, 0xe4, + 0xfb, 0xbe, 0xec, 0x06, 0xf7, 0xc3, 0x8f, 0x84, 0x62, 0x0c, 0xdb, 0x9b, + 0x30, 0x0e, 0x02, 0xb5, 0xca, 0x58, 0xda, 0x80, 0x80, 0xf8, 0x29, 0x0c, + 0xab, 0xd9, 0xed, 0x8e, 0x62, 0xce, 0x81, 0x02, 0x69, 0xbd, 0x2f, 0xae, + 0x3a, 0x64, 0x27, 0xd3, 0x11, 0x7e, 0x45, 0xf0, 0xa8, 0x3c, 0x53, 0x58, + 0xbf, 0x9c, 0x49, 0xf2, +}; +static const struct drbg_kat_no_reseed kat893_t = { + 7, kat893_entropyin, kat893_nonce, kat893_persstr, + kat893_addin0, kat893_addin1, kat893_retbits +}; +static const struct drbg_kat kat893 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat893_t +}; + +static const unsigned char kat894_entropyin[] = { + 0xfa, 0xe4, 0x6d, 0x54, 0x6b, 0x12, 0x53, 0x23, 0xb2, 0x81, 0x56, 0x92, + 0xf5, 0xb6, 0xc7, 0x30, 0x57, 0xb7, 0x26, 0xb2, 0x0f, 0x39, 0x27, 0x33, + 0x9e, 0xe6, 0x35, 0x97, 0x51, 0x0f, 0x6c, 0x64, +}; +static const unsigned char kat894_nonce[] = {0}; +static const unsigned char kat894_persstr[] = { + 0xe7, 0x61, 0x2f, 0xaa, 0x26, 0x2a, 0xe7, 0xfb, 0x8b, 0x81, 0xd3, 0xe8, + 0xfe, 0x01, 0xd5, 0x00, 0x12, 0x35, 0x4c, 0xf9, 0xe1, 0x8d, 0x10, 0x8a, + 0xe0, 0x78, 0x0c, 0x33, 0x4f, 0x8b, 0xc6, 0xb3, +}; +static const unsigned char kat894_addin0[] = { + 0x9f, 0xa5, 0xfc, 0x12, 0x7d, 0x26, 0x6b, 0xfd, 0x68, 0x52, 0xa5, 0x32, + 0xe4, 0xd5, 0x18, 0xd0, 0xac, 0x36, 0x14, 0xc6, 0x77, 0xb6, 0x61, 0xd5, + 0xdb, 0x62, 0x00, 0xcc, 0x2d, 0xeb, 0x5f, 0x4b, +}; +static const unsigned char kat894_addin1[] = { + 0x8e, 0x1c, 0x0b, 0x5d, 0x0a, 0x2a, 0xfe, 0x84, 0xf4, 0xe2, 0x32, 0x6b, + 0x87, 0x14, 0xc1, 0x5b, 0x21, 0xae, 0x55, 0x7f, 0x93, 0x1d, 0xbb, 0x14, + 0xec, 0xb6, 0xef, 0x67, 0xc5, 0xb7, 0xde, 0x8d, +}; +static const unsigned char kat894_retbits[] = { + 0x25, 0xbf, 0x43, 0xc9, 0x55, 0x55, 0x97, 0xe2, 0xb1, 0xb2, 0x7d, 0x4b, + 0xfd, 0xd8, 0x27, 0x78, 0x5d, 0x80, 0xbe, 0x5e, 0x09, 0xfd, 0x6b, 0x6d, + 0xca, 0x62, 0x9d, 0xf7, 0x3f, 0xaa, 0xe1, 0xc1, 0xf0, 0xab, 0x22, 0x8b, + 0x05, 0x8a, 0x7a, 0x3a, 0x8a, 0xdf, 0xa4, 0x5f, 0x4b, 0x8f, 0x67, 0x9e, + 0x17, 0x26, 0x0d, 0x25, 0xd8, 0x7d, 0x9c, 0x01, 0xbe, 0x4d, 0xc2, 0x42, + 0x58, 0x1d, 0x97, 0x7f, +}; +static const struct drbg_kat_no_reseed kat894_t = { + 8, kat894_entropyin, kat894_nonce, kat894_persstr, + kat894_addin0, kat894_addin1, kat894_retbits +}; +static const struct drbg_kat kat894 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat894_t +}; + +static const unsigned char kat895_entropyin[] = { + 0x00, 0x17, 0x01, 0xb4, 0x4d, 0x0d, 0x95, 0xf1, 0x87, 0x8b, 0x3e, 0xee, + 0xfb, 0xcc, 0xd7, 0x47, 0x7d, 0x7d, 0x71, 0x9e, 0x1a, 0xe8, 0x69, 0xc8, + 0x04, 0x92, 0xbf, 0x64, 0x6d, 0x1b, 0x05, 0x56, +}; +static const unsigned char kat895_nonce[] = {0}; +static const unsigned char kat895_persstr[] = { + 0x4a, 0x8d, 0xae, 0xf8, 0x09, 0xda, 0xa4, 0x6d, 0x8f, 0x95, 0x07, 0x02, + 0x01, 0xaf, 0x13, 0xf2, 0xc9, 0x2e, 0x61, 0xda, 0x77, 0xa6, 0x2e, 0x8e, + 0x1c, 0x83, 0x67, 0x10, 0x7d, 0xfd, 0x18, 0xb8, +}; +static const unsigned char kat895_addin0[] = { + 0x2b, 0x24, 0x18, 0x37, 0xdc, 0xcb, 0x29, 0x2b, 0x5f, 0x1f, 0x55, 0xd8, + 0x14, 0xd6, 0x19, 0x75, 0x15, 0x15, 0x3a, 0x27, 0x6f, 0x36, 0x6b, 0x40, + 0x6f, 0x92, 0xea, 0xa8, 0xa5, 0x82, 0x29, 0xfa, +}; +static const unsigned char kat895_addin1[] = { + 0x04, 0x12, 0x6b, 0x3f, 0xef, 0xe0, 0x44, 0x86, 0x25, 0x4a, 0x4a, 0x0b, + 0xa5, 0xc4, 0xa3, 0xd5, 0x0b, 0x20, 0x8d, 0x45, 0xda, 0xc5, 0xce, 0xd1, + 0x73, 0x93, 0x7f, 0xf4, 0xa3, 0x15, 0x22, 0x16, +}; +static const unsigned char kat895_retbits[] = { + 0xd8, 0xaa, 0x27, 0x19, 0x09, 0x45, 0x9f, 0xf4, 0x0c, 0xeb, 0xef, 0x22, + 0x3f, 0x2c, 0x8b, 0xbf, 0x32, 0x72, 0x48, 0xc9, 0x88, 0xdc, 0xe9, 0xe5, + 0x0a, 0x57, 0xc2, 0x11, 0x94, 0xca, 0x45, 0xf9, 0xc7, 0x58, 0x17, 0x8e, + 0xb3, 0x72, 0xd2, 0xc1, 0x5b, 0x8a, 0xcb, 0x45, 0x93, 0x73, 0x47, 0x46, + 0x95, 0x0c, 0xb9, 0x12, 0x3a, 0x67, 0x98, 0x7f, 0xed, 0x82, 0xd5, 0xfa, + 0x8a, 0x51, 0x67, 0x49, +}; +static const struct drbg_kat_no_reseed kat895_t = { + 9, kat895_entropyin, kat895_nonce, kat895_persstr, + kat895_addin0, kat895_addin1, kat895_retbits +}; +static const struct drbg_kat kat895 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat895_t +}; + +static const unsigned char kat896_entropyin[] = { + 0x85, 0x42, 0x5a, 0x96, 0xdc, 0x61, 0x09, 0xaa, 0xb7, 0xf9, 0x6c, 0xa7, + 0x38, 0x56, 0xcb, 0x51, 0xe5, 0xa0, 0x6d, 0x0f, 0xdf, 0xcb, 0xa4, 0x68, + 0x76, 0xff, 0x75, 0x54, 0x2b, 0xc1, 0x56, 0x59, +}; +static const unsigned char kat896_nonce[] = {0}; +static const unsigned char kat896_persstr[] = { + 0x7d, 0x34, 0xea, 0xb3, 0xa4, 0x9a, 0x00, 0x54, 0xa0, 0x53, 0x3c, 0x36, + 0xe4, 0xbe, 0xfc, 0x81, 0xe8, 0x57, 0x6d, 0xba, 0x7b, 0xf2, 0xcf, 0xf8, + 0xc8, 0xf3, 0x9d, 0xd1, 0x91, 0x08, 0x9c, 0x8d, +}; +static const unsigned char kat896_addin0[] = { + 0xa2, 0xb1, 0x2d, 0x04, 0x61, 0xe2, 0x85, 0x59, 0x68, 0xb2, 0xe9, 0x39, + 0x4b, 0xb5, 0x81, 0xd3, 0xad, 0x63, 0x18, 0x30, 0xd7, 0x41, 0x6f, 0x6e, + 0xfe, 0x69, 0x68, 0xba, 0x1b, 0xf4, 0x4f, 0xf6, +}; +static const unsigned char kat896_addin1[] = { + 0x14, 0xd2, 0x50, 0x1c, 0x43, 0x41, 0x16, 0x49, 0xad, 0xf5, 0x57, 0x70, + 0x73, 0x90, 0xe3, 0x73, 0xac, 0x06, 0x9a, 0xf6, 0x52, 0x00, 0x20, 0xcf, + 0x02, 0x21, 0x2e, 0xec, 0x64, 0x77, 0xc2, 0x88, +}; +static const unsigned char kat896_retbits[] = { + 0x71, 0x13, 0x06, 0x92, 0xbb, 0xa5, 0xd1, 0xa3, 0x68, 0x4b, 0xcd, 0x6c, + 0x03, 0x28, 0x1f, 0xf9, 0x72, 0x0a, 0x9f, 0x4f, 0xd6, 0x28, 0x60, 0xeb, + 0x74, 0xfd, 0xe2, 0x98, 0x98, 0x7f, 0x61, 0x2c, 0xae, 0xe2, 0x51, 0xc1, + 0x37, 0x61, 0x92, 0xa6, 0x8a, 0xa2, 0x9b, 0x93, 0x8b, 0x10, 0x3a, 0x16, + 0xa8, 0xfb, 0x0f, 0xb5, 0x59, 0x4b, 0x72, 0x8a, 0x54, 0x59, 0x60, 0x1e, + 0xb1, 0x4c, 0xaf, 0x10, +}; +static const struct drbg_kat_no_reseed kat896_t = { + 10, kat896_entropyin, kat896_nonce, kat896_persstr, + kat896_addin0, kat896_addin1, kat896_retbits +}; +static const struct drbg_kat kat896 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat896_t +}; + +static const unsigned char kat897_entropyin[] = { + 0x16, 0x7b, 0x70, 0x2d, 0x7a, 0x96, 0xea, 0xa8, 0x81, 0x4d, 0x98, 0xb7, + 0xb8, 0xec, 0x59, 0x6c, 0x6c, 0x75, 0x97, 0xb1, 0x9f, 0xae, 0xad, 0x69, + 0xc6, 0x3b, 0xc2, 0x98, 0x8a, 0x8d, 0x39, 0xa1, +}; +static const unsigned char kat897_nonce[] = {0}; +static const unsigned char kat897_persstr[] = { + 0x20, 0xe7, 0xd6, 0xd1, 0x90, 0x87, 0xa8, 0x7e, 0xa1, 0x75, 0xba, 0xad, + 0x5b, 0x2b, 0x3a, 0x4c, 0x01, 0x73, 0x85, 0xef, 0x0f, 0x7d, 0x1d, 0x32, + 0x20, 0x9a, 0x8b, 0xe6, 0xe0, 0x7e, 0x8d, 0x88, +}; +static const unsigned char kat897_addin0[] = { + 0xf6, 0x3f, 0x9a, 0xb7, 0xf2, 0x67, 0x9b, 0xd2, 0x4e, 0x78, 0x51, 0xd3, + 0xbb, 0x5d, 0x82, 0x6b, 0xd2, 0x3d, 0x41, 0xac, 0xf3, 0x87, 0xf9, 0x0c, + 0x8c, 0x9d, 0xbb, 0x7e, 0x18, 0xdf, 0xbe, 0x96, +}; +static const unsigned char kat897_addin1[] = { + 0x23, 0x5e, 0xcf, 0xca, 0x1e, 0x66, 0x36, 0x0c, 0xdc, 0xe6, 0x0b, 0x4b, + 0xeb, 0x13, 0x9d, 0x08, 0xc2, 0xdf, 0x8b, 0x60, 0xc3, 0x04, 0x3b, 0xc8, + 0xbe, 0x7b, 0x2a, 0x88, 0x3d, 0xe1, 0x78, 0x0b, +}; +static const unsigned char kat897_retbits[] = { + 0x41, 0xbf, 0x3e, 0x50, 0x88, 0x35, 0x3b, 0xf9, 0x26, 0xca, 0x40, 0xa9, + 0x50, 0x78, 0xbe, 0x13, 0xaa, 0x2c, 0x70, 0x32, 0xa0, 0x5c, 0x55, 0xf6, + 0x9c, 0x6d, 0x45, 0x68, 0x97, 0x30, 0x79, 0xda, 0x0d, 0x45, 0x96, 0x0d, + 0x8c, 0x4e, 0x37, 0xca, 0x6a, 0xe6, 0x46, 0x27, 0xcd, 0x94, 0xab, 0xeb, + 0x09, 0xc5, 0x6a, 0xb8, 0xd5, 0x7f, 0xdc, 0xae, 0x92, 0x3a, 0x9e, 0x99, + 0x11, 0xe5, 0x69, 0xad, +}; +static const struct drbg_kat_no_reseed kat897_t = { + 11, kat897_entropyin, kat897_nonce, kat897_persstr, + kat897_addin0, kat897_addin1, kat897_retbits +}; +static const struct drbg_kat kat897 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat897_t +}; + +static const unsigned char kat898_entropyin[] = { + 0xa1, 0xef, 0x83, 0x7d, 0x29, 0xee, 0xcb, 0x1f, 0x85, 0x71, 0x87, 0x0e, + 0xb0, 0x6f, 0x64, 0x23, 0xae, 0x72, 0xcc, 0xec, 0x87, 0x38, 0x5e, 0xd6, + 0xcb, 0xc6, 0x00, 0xcf, 0x62, 0x91, 0x16, 0x6c, +}; +static const unsigned char kat898_nonce[] = {0}; +static const unsigned char kat898_persstr[] = { + 0xa9, 0x4c, 0x80, 0xc1, 0xb7, 0xc0, 0x7d, 0x58, 0xb1, 0x55, 0x6f, 0x3c, + 0x50, 0x16, 0x67, 0x80, 0xfd, 0x26, 0x51, 0xe1, 0xe7, 0x3b, 0x97, 0xac, + 0xec, 0x4f, 0x92, 0xd1, 0xca, 0x9e, 0xab, 0xc3, +}; +static const unsigned char kat898_addin0[] = { + 0x8e, 0xc6, 0x01, 0xce, 0xcd, 0x34, 0x09, 0xec, 0xfe, 0x91, 0x5c, 0x3a, + 0xd4, 0x0c, 0x86, 0x14, 0x65, 0x50, 0x6e, 0x46, 0x31, 0xdc, 0xe4, 0x01, + 0x0f, 0x8b, 0xff, 0xd0, 0x78, 0x7b, 0x33, 0xa6, +}; +static const unsigned char kat898_addin1[] = { + 0xf1, 0x7d, 0x26, 0x44, 0xfa, 0xf4, 0x34, 0x03, 0xb1, 0x87, 0xc7, 0x95, + 0x77, 0xe5, 0xa6, 0xcc, 0x66, 0xe4, 0x73, 0x78, 0x16, 0x40, 0x97, 0x87, + 0xf4, 0x6b, 0x48, 0xb1, 0xd4, 0xa0, 0xad, 0x1f, +}; +static const unsigned char kat898_retbits[] = { + 0x7f, 0x52, 0xcb, 0xd4, 0xae, 0xa2, 0x83, 0x23, 0xaf, 0xf2, 0xf6, 0x33, + 0xb4, 0x2a, 0xdb, 0x0a, 0x90, 0x3e, 0xbe, 0xd0, 0x89, 0xc8, 0x50, 0xcd, + 0x53, 0x1e, 0xb2, 0xaa, 0x11, 0x7a, 0xb8, 0xa9, 0xc2, 0x43, 0x17, 0xf8, + 0x52, 0xf5, 0xf9, 0x99, 0xa3, 0x44, 0x38, 0x94, 0x88, 0x98, 0xb8, 0x97, + 0x69, 0xb5, 0x10, 0x09, 0xad, 0x42, 0x98, 0xb7, 0xe5, 0xb4, 0x8c, 0xaa, + 0x64, 0x13, 0x1d, 0xe5, +}; +static const struct drbg_kat_no_reseed kat898_t = { + 12, kat898_entropyin, kat898_nonce, kat898_persstr, + kat898_addin0, kat898_addin1, kat898_retbits +}; +static const struct drbg_kat kat898 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat898_t +}; + +static const unsigned char kat899_entropyin[] = { + 0x65, 0xfa, 0x09, 0x83, 0xad, 0x3a, 0x6f, 0x34, 0xb6, 0x0c, 0x2c, 0x5f, + 0x42, 0x3e, 0x96, 0xfb, 0x62, 0x06, 0x68, 0xee, 0x6c, 0x61, 0x7c, 0xb3, + 0x97, 0x98, 0x9e, 0x7c, 0x8d, 0x22, 0xfd, 0x6e, +}; +static const unsigned char kat899_nonce[] = {0}; +static const unsigned char kat899_persstr[] = { + 0x40, 0xa9, 0x5f, 0x2e, 0x17, 0x00, 0x3c, 0x0f, 0x0d, 0x42, 0x06, 0x94, + 0x72, 0x7d, 0x44, 0x60, 0xdb, 0xe2, 0xfd, 0x12, 0xa7, 0x65, 0x59, 0x4c, + 0x9b, 0x3f, 0x08, 0x51, 0x44, 0x3e, 0x6c, 0xb0, +}; +static const unsigned char kat899_addin0[] = { + 0x0c, 0x38, 0x03, 0x83, 0x00, 0x9c, 0x16, 0x18, 0xd1, 0x6f, 0x3b, 0x8b, + 0x4f, 0x7c, 0xfe, 0x3c, 0x77, 0x6a, 0xf7, 0xc4, 0xa5, 0xff, 0xc5, 0x36, + 0x58, 0xe0, 0x51, 0x92, 0x90, 0x02, 0x2f, 0xdd, +}; +static const unsigned char kat899_addin1[] = { + 0xd9, 0xc3, 0x20, 0x88, 0x20, 0xbc, 0x29, 0xe0, 0xfd, 0x8b, 0xea, 0x1f, + 0x31, 0xbf, 0x16, 0x8f, 0xcb, 0x23, 0xaa, 0x4b, 0x7b, 0x58, 0x37, 0x82, + 0xb8, 0x8a, 0x93, 0x63, 0x88, 0xbf, 0x94, 0x67, +}; +static const unsigned char kat899_retbits[] = { + 0x61, 0xa0, 0x02, 0x5c, 0x46, 0x03, 0xd6, 0xd4, 0x4a, 0xe1, 0x5a, 0x93, + 0x9c, 0x9d, 0x96, 0x54, 0xe9, 0x85, 0xe7, 0xd5, 0x95, 0x31, 0x9f, 0xb2, + 0x00, 0x74, 0xfb, 0x32, 0xf2, 0xb7, 0xd7, 0xa7, 0x81, 0xa4, 0x52, 0x3a, + 0xb5, 0x62, 0xb0, 0x43, 0x74, 0xc1, 0x08, 0x3b, 0x52, 0x0f, 0x33, 0x57, + 0x56, 0xaf, 0xa6, 0xea, 0x4b, 0x05, 0xac, 0x3e, 0xa5, 0x97, 0xe9, 0x04, + 0xf3, 0x42, 0x49, 0x19, +}; +static const struct drbg_kat_no_reseed kat899_t = { + 13, kat899_entropyin, kat899_nonce, kat899_persstr, + kat899_addin0, kat899_addin1, kat899_retbits +}; +static const struct drbg_kat kat899 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat899_t +}; + +static const unsigned char kat900_entropyin[] = { + 0x57, 0x38, 0x21, 0xa1, 0x92, 0xae, 0x7c, 0x82, 0x27, 0x9f, 0x4c, 0x51, + 0x9d, 0x92, 0x69, 0x55, 0x0f, 0x68, 0xaf, 0x4a, 0x67, 0x79, 0xb7, 0x0a, + 0x1e, 0xa5, 0x3e, 0x6a, 0x31, 0x85, 0xfd, 0x0c, +}; +static const unsigned char kat900_nonce[] = {0}; +static const unsigned char kat900_persstr[] = { + 0x9f, 0x38, 0x0e, 0x16, 0xbc, 0xc7, 0x74, 0xcc, 0x3d, 0x22, 0x4b, 0x58, + 0x27, 0x7d, 0x44, 0x01, 0x22, 0x5b, 0x94, 0x36, 0xff, 0x9e, 0x40, 0x02, + 0x1b, 0x79, 0x07, 0x6e, 0x22, 0x89, 0x14, 0xb9, +}; +static const unsigned char kat900_addin0[] = { + 0x95, 0x9a, 0x1a, 0xed, 0x8c, 0x1b, 0x0a, 0xf6, 0x37, 0xb8, 0xc0, 0xd0, + 0xdf, 0xd6, 0x00, 0xb0, 0xd5, 0xdc, 0xbc, 0xac, 0x12, 0xbc, 0x8c, 0xb1, + 0x60, 0xa2, 0xa0, 0xee, 0x7f, 0x2f, 0xdf, 0x9f, +}; +static const unsigned char kat900_addin1[] = { + 0xfd, 0xbb, 0x47, 0x2c, 0x9f, 0x36, 0x8a, 0x44, 0xf9, 0x2b, 0xab, 0x4b, + 0xd9, 0x93, 0xc7, 0xf3, 0x9d, 0x4e, 0x61, 0xc6, 0x50, 0x3f, 0x69, 0xc2, + 0x05, 0x19, 0x1d, 0x86, 0xbc, 0x1b, 0x29, 0x44, +}; +static const unsigned char kat900_retbits[] = { + 0xfa, 0x2f, 0x2a, 0x56, 0x6b, 0x99, 0xae, 0x81, 0x0b, 0x2b, 0x95, 0x09, + 0x2d, 0xa6, 0x7b, 0xb1, 0x6f, 0xa1, 0x85, 0x01, 0x3a, 0xd0, 0xc8, 0x3a, + 0x84, 0x5b, 0x48, 0xcf, 0x4f, 0xa5, 0x5f, 0x70, 0x17, 0xed, 0x94, 0x4d, + 0x08, 0xb5, 0x7d, 0x68, 0x13, 0x70, 0x0f, 0xb6, 0x0a, 0x30, 0xa2, 0xa2, + 0xf9, 0x76, 0xf8, 0xb9, 0x76, 0x15, 0x16, 0xef, 0x13, 0x7e, 0x3e, 0x3a, + 0x07, 0x83, 0x12, 0xf9, +}; +static const struct drbg_kat_no_reseed kat900_t = { + 14, kat900_entropyin, kat900_nonce, kat900_persstr, + kat900_addin0, kat900_addin1, kat900_retbits +}; +static const struct drbg_kat kat900 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat900_t +}; + +static const unsigned char kat901_entropyin[] = { + 0x08, 0x4b, 0x35, 0x2f, 0x38, 0xab, 0x28, 0xd9, 0xc1, 0xc7, 0xff, 0x16, + 0x55, 0x8e, 0x0a, 0x12, 0x37, 0x7d, 0x82, 0x0c, 0xd6, 0xec, 0xa3, 0xa3, + 0x52, 0xa6, 0xfe, 0xc3, 0x81, 0xf3, 0x58, 0x44, +}; +static const unsigned char kat901_nonce[] = {0}; +static const unsigned char kat901_persstr[] = {0}; +static const unsigned char kat901_addin0[] = {0}; +static const unsigned char kat901_addin1[] = {0}; +static const unsigned char kat901_retbits[] = { + 0xcb, 0xdf, 0xff, 0x95, 0xde, 0x29, 0x06, 0xf3, 0x42, 0x3e, 0xb4, 0x42, + 0x2b, 0xd3, 0xb0, 0xe6, 0xed, 0x55, 0xa7, 0x84, 0x3a, 0xb6, 0xeb, 0xed, + 0xf5, 0x2a, 0xca, 0xf2, 0x8e, 0x7a, 0x5a, 0xe0, 0x61, 0xae, 0xdb, 0x49, + 0xe7, 0x47, 0x67, 0x83, 0xf5, 0xcf, 0x29, 0x54, 0x16, 0x8c, 0x8e, 0xbc, + 0x3c, 0x9a, 0xb0, 0xb1, 0xa1, 0xcb, 0x87, 0x90, 0x76, 0xb4, 0x76, 0x97, + 0xb3, 0x6f, 0x95, 0x40, +}; +static const struct drbg_kat_no_reseed kat901_t = { + 0, kat901_entropyin, kat901_nonce, kat901_persstr, + kat901_addin0, kat901_addin1, kat901_retbits +}; +static const struct drbg_kat kat901 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat901_t +}; + +static const unsigned char kat902_entropyin[] = { + 0x8c, 0x25, 0x66, 0xac, 0x86, 0x0f, 0x23, 0x2f, 0xa3, 0x17, 0x08, 0x7f, + 0x84, 0xf0, 0x17, 0x6f, 0x98, 0xf5, 0x7e, 0xc0, 0x87, 0xae, 0x8c, 0xae, + 0x97, 0x52, 0x7b, 0xea, 0x92, 0x24, 0xab, 0xf1, +}; +static const unsigned char kat902_nonce[] = {0}; +static const unsigned char kat902_persstr[] = {0}; +static const unsigned char kat902_addin0[] = {0}; +static const unsigned char kat902_addin1[] = {0}; +static const unsigned char kat902_retbits[] = { + 0xa6, 0x64, 0xd3, 0x1a, 0x2f, 0xa0, 0x8d, 0xd1, 0x6a, 0x2b, 0x89, 0xf6, + 0xbc, 0x60, 0xeb, 0x52, 0xe4, 0x7d, 0x99, 0x78, 0x23, 0x94, 0x04, 0x1e, + 0x39, 0x1d, 0x9f, 0x56, 0x86, 0x24, 0x7a, 0xa2, 0x43, 0x00, 0xe4, 0x87, + 0xa7, 0x30, 0xd5, 0x20, 0x0d, 0xfd, 0xec, 0xcc, 0x47, 0x4d, 0x22, 0xf5, + 0xaa, 0x8e, 0xd5, 0x23, 0xc3, 0xa0, 0xf6, 0x29, 0x7d, 0xc5, 0x33, 0x93, + 0x65, 0x92, 0xac, 0x3f, +}; +static const struct drbg_kat_no_reseed kat902_t = { + 1, kat902_entropyin, kat902_nonce, kat902_persstr, + kat902_addin0, kat902_addin1, kat902_retbits +}; +static const struct drbg_kat kat902 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat902_t +}; + +static const unsigned char kat903_entropyin[] = { + 0x09, 0xc8, 0xe3, 0x92, 0x2a, 0x75, 0x6b, 0xfa, 0x74, 0x0d, 0x09, 0x23, + 0x42, 0x55, 0xe0, 0xfc, 0x4b, 0x1b, 0x46, 0xe3, 0x51, 0x39, 0x69, 0xd2, + 0x42, 0x44, 0xb0, 0xd9, 0xb4, 0x92, 0xfb, 0x26, +}; +static const unsigned char kat903_nonce[] = {0}; +static const unsigned char kat903_persstr[] = {0}; +static const unsigned char kat903_addin0[] = {0}; +static const unsigned char kat903_addin1[] = {0}; +static const unsigned char kat903_retbits[] = { + 0x31, 0xc5, 0x02, 0xfe, 0x08, 0x77, 0x5f, 0x53, 0xfb, 0xaa, 0x52, 0xde, + 0x6e, 0xc5, 0x3e, 0xd9, 0x68, 0x87, 0xee, 0x6c, 0x49, 0x74, 0x3b, 0xc5, + 0xa8, 0x8b, 0x01, 0x6f, 0x46, 0x95, 0xa6, 0xf5, 0x35, 0x2c, 0xd6, 0xf1, + 0x82, 0xb2, 0x7a, 0x50, 0xb3, 0x75, 0x50, 0x64, 0x4a, 0x51, 0x8e, 0xfc, + 0xcc, 0xc8, 0x47, 0xae, 0x08, 0x78, 0x07, 0x66, 0xaa, 0xb2, 0xd0, 0x98, + 0x4d, 0xc1, 0x37, 0xe6, +}; +static const struct drbg_kat_no_reseed kat903_t = { + 2, kat903_entropyin, kat903_nonce, kat903_persstr, + kat903_addin0, kat903_addin1, kat903_retbits +}; +static const struct drbg_kat kat903 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat903_t +}; + +static const unsigned char kat904_entropyin[] = { + 0x6e, 0xb0, 0x55, 0xa3, 0x30, 0xf2, 0xc1, 0x81, 0x77, 0x48, 0x18, 0x5d, + 0x5c, 0xf1, 0x18, 0x62, 0xe2, 0x7a, 0x17, 0x3c, 0x7c, 0xaa, 0x98, 0x31, + 0x28, 0xac, 0x7d, 0x35, 0x6d, 0x39, 0xf4, 0x40, +}; +static const unsigned char kat904_nonce[] = {0}; +static const unsigned char kat904_persstr[] = {0}; +static const unsigned char kat904_addin0[] = {0}; +static const unsigned char kat904_addin1[] = {0}; +static const unsigned char kat904_retbits[] = { + 0x3a, 0x34, 0xb6, 0x91, 0x1f, 0xe2, 0x7f, 0x5d, 0x5b, 0x4d, 0xa7, 0x56, + 0x1f, 0xb5, 0x7d, 0xb8, 0xfc, 0xee, 0x03, 0x93, 0x88, 0xca, 0x9b, 0xba, + 0x1f, 0xf1, 0xdb, 0x8f, 0xf5, 0x80, 0x96, 0x26, 0x3e, 0x96, 0xb0, 0xb0, + 0x67, 0xe2, 0xc6, 0xea, 0xf4, 0x88, 0xf2, 0x99, 0xd3, 0x70, 0x51, 0xc5, + 0x95, 0x05, 0x87, 0x26, 0x01, 0xe2, 0x8b, 0x9d, 0x2a, 0xf7, 0xdb, 0xd8, + 0x9f, 0x23, 0x54, 0x07, +}; +static const struct drbg_kat_no_reseed kat904_t = { + 3, kat904_entropyin, kat904_nonce, kat904_persstr, + kat904_addin0, kat904_addin1, kat904_retbits +}; +static const struct drbg_kat kat904 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat904_t +}; + +static const unsigned char kat905_entropyin[] = { + 0x70, 0xb3, 0x40, 0x65, 0x29, 0x9c, 0xab, 0xb6, 0x72, 0x89, 0x09, 0xfa, + 0xfe, 0x37, 0xd6, 0xb2, 0x68, 0xfe, 0x9f, 0xdc, 0xff, 0x83, 0x3e, 0x63, + 0x8f, 0x13, 0x4c, 0x02, 0xd2, 0x32, 0xb4, 0xee, +}; +static const unsigned char kat905_nonce[] = {0}; +static const unsigned char kat905_persstr[] = {0}; +static const unsigned char kat905_addin0[] = {0}; +static const unsigned char kat905_addin1[] = {0}; +static const unsigned char kat905_retbits[] = { + 0xcb, 0x78, 0xab, 0x06, 0x75, 0x91, 0x15, 0x5f, 0xcd, 0x3a, 0x89, 0x20, + 0x53, 0xd9, 0xb2, 0x71, 0xac, 0x05, 0xa8, 0xc7, 0xc3, 0x23, 0x38, 0xbf, + 0x63, 0x90, 0x18, 0x4a, 0x46, 0xf0, 0x7f, 0x8a, 0x47, 0x57, 0xb0, 0xe0, + 0x3e, 0x94, 0x75, 0x8b, 0x14, 0x3d, 0x5a, 0x23, 0x30, 0xc6, 0xb8, 0xf8, + 0x8a, 0xa6, 0x21, 0xeb, 0x10, 0x20, 0x50, 0x96, 0x29, 0x40, 0x78, 0x8a, + 0xec, 0x9b, 0xe6, 0x54, +}; +static const struct drbg_kat_no_reseed kat905_t = { + 4, kat905_entropyin, kat905_nonce, kat905_persstr, + kat905_addin0, kat905_addin1, kat905_retbits +}; +static const struct drbg_kat kat905 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat905_t +}; + +static const unsigned char kat906_entropyin[] = { + 0x61, 0xba, 0x1e, 0xd5, 0x28, 0xe5, 0xa6, 0x07, 0x09, 0x81, 0xcd, 0x5c, + 0x11, 0xb4, 0xbe, 0x2c, 0x2c, 0x57, 0x35, 0x9d, 0xf0, 0x61, 0xc3, 0x05, + 0x3c, 0x5a, 0x1c, 0x6a, 0x20, 0x06, 0xee, 0x26, +}; +static const unsigned char kat906_nonce[] = {0}; +static const unsigned char kat906_persstr[] = {0}; +static const unsigned char kat906_addin0[] = {0}; +static const unsigned char kat906_addin1[] = {0}; +static const unsigned char kat906_retbits[] = { + 0x86, 0xad, 0xa4, 0xfa, 0xb2, 0xbc, 0xf5, 0xd0, 0x64, 0x18, 0x97, 0xe6, + 0xb7, 0x28, 0xb1, 0x3c, 0xe6, 0x85, 0xde, 0x59, 0xf8, 0x59, 0xae, 0xe2, + 0xbc, 0x15, 0xca, 0x0b, 0xab, 0x67, 0x03, 0xf8, 0xd1, 0x99, 0x1a, 0x4a, + 0x60, 0x33, 0xe4, 0x0c, 0x58, 0xfb, 0xc1, 0x9b, 0xe5, 0x3a, 0x13, 0x39, + 0x8e, 0x53, 0x7b, 0xf9, 0x03, 0xfe, 0x19, 0xea, 0x0a, 0xac, 0x55, 0xb2, + 0x72, 0xa8, 0xa3, 0x46, +}; +static const struct drbg_kat_no_reseed kat906_t = { + 5, kat906_entropyin, kat906_nonce, kat906_persstr, + kat906_addin0, kat906_addin1, kat906_retbits +}; +static const struct drbg_kat kat906 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat906_t +}; + +static const unsigned char kat907_entropyin[] = { + 0x5b, 0xe7, 0x68, 0x7f, 0xb7, 0xd0, 0xee, 0x62, 0xbf, 0x62, 0xf0, 0x6f, + 0xac, 0x2e, 0xee, 0x25, 0x21, 0xbe, 0x7e, 0x73, 0x0c, 0x1e, 0xcc, 0x63, + 0x37, 0x1f, 0x5d, 0x87, 0x87, 0xbb, 0xce, 0x75, +}; +static const unsigned char kat907_nonce[] = {0}; +static const unsigned char kat907_persstr[] = {0}; +static const unsigned char kat907_addin0[] = {0}; +static const unsigned char kat907_addin1[] = {0}; +static const unsigned char kat907_retbits[] = { + 0x28, 0x5c, 0xa1, 0xfe, 0x69, 0xb8, 0xbb, 0x0a, 0x7b, 0x78, 0x78, 0x23, + 0xf4, 0x6c, 0xcc, 0x9f, 0x8e, 0xc6, 0xac, 0xcf, 0x8b, 0xe1, 0x7e, 0xaf, + 0x95, 0xe6, 0x3c, 0x4a, 0x1d, 0x27, 0xd4, 0x69, 0x9f, 0x9a, 0xe9, 0xb5, + 0x94, 0x33, 0x87, 0xb5, 0x76, 0x27, 0x6e, 0x45, 0x9f, 0x2d, 0x57, 0x92, + 0xcc, 0x51, 0xa1, 0xba, 0xe1, 0x32, 0x48, 0xc3, 0x55, 0x60, 0xbf, 0x21, + 0x1c, 0xc1, 0xd7, 0x81, +}; +static const struct drbg_kat_no_reseed kat907_t = { + 6, kat907_entropyin, kat907_nonce, kat907_persstr, + kat907_addin0, kat907_addin1, kat907_retbits +}; +static const struct drbg_kat kat907 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat907_t +}; + +static const unsigned char kat908_entropyin[] = { + 0x07, 0x9a, 0x18, 0x3f, 0x31, 0x2e, 0x9b, 0xd4, 0xd2, 0x3c, 0xb9, 0x97, + 0x54, 0x80, 0x28, 0xb0, 0x31, 0x01, 0x0e, 0x80, 0xbd, 0x59, 0xd5, 0x67, + 0x34, 0x14, 0xe4, 0xeb, 0xc1, 0x0d, 0xd9, 0x9d, +}; +static const unsigned char kat908_nonce[] = {0}; +static const unsigned char kat908_persstr[] = {0}; +static const unsigned char kat908_addin0[] = {0}; +static const unsigned char kat908_addin1[] = {0}; +static const unsigned char kat908_retbits[] = { + 0xe8, 0x29, 0x02, 0xb5, 0x88, 0x1d, 0x6a, 0x8d, 0x4d, 0x42, 0xc1, 0x52, + 0xae, 0x60, 0xea, 0x1c, 0x81, 0xa6, 0xfd, 0x17, 0x16, 0x76, 0xd1, 0x6b, + 0x7e, 0x94, 0xe4, 0xa8, 0x5f, 0xaf, 0x46, 0x28, 0x79, 0xc6, 0x67, 0x25, + 0x40, 0x42, 0x59, 0xaf, 0x44, 0x13, 0xc4, 0x28, 0xb8, 0x58, 0x51, 0x8e, + 0x46, 0x74, 0x78, 0x8f, 0xc5, 0x35, 0x6b, 0xb9, 0xb6, 0x00, 0xf9, 0x6b, + 0x88, 0xed, 0x47, 0x06, +}; +static const struct drbg_kat_no_reseed kat908_t = { + 7, kat908_entropyin, kat908_nonce, kat908_persstr, + kat908_addin0, kat908_addin1, kat908_retbits +}; +static const struct drbg_kat kat908 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat908_t +}; + +static const unsigned char kat909_entropyin[] = { + 0x0a, 0x55, 0xa5, 0x79, 0xdc, 0xcc, 0x4b, 0xf1, 0x1b, 0x59, 0xfa, 0x85, + 0xdb, 0x6e, 0x33, 0xed, 0xa0, 0x69, 0x25, 0x72, 0x06, 0xfd, 0x62, 0x34, + 0x54, 0x45, 0xcc, 0xba, 0x20, 0x32, 0x70, 0x43, +}; +static const unsigned char kat909_nonce[] = {0}; +static const unsigned char kat909_persstr[] = {0}; +static const unsigned char kat909_addin0[] = {0}; +static const unsigned char kat909_addin1[] = {0}; +static const unsigned char kat909_retbits[] = { + 0xf9, 0x62, 0x01, 0xa7, 0xe0, 0xdd, 0x00, 0xd5, 0x9b, 0x9b, 0x64, 0xeb, + 0xed, 0x6a, 0xc9, 0xa7, 0xd5, 0x10, 0x8d, 0xa0, 0xaf, 0xef, 0xb6, 0xfa, + 0x86, 0x90, 0x59, 0x14, 0xa3, 0x37, 0x87, 0x85, 0x24, 0x07, 0x08, 0xfc, + 0xf6, 0x7d, 0xe0, 0x48, 0x1b, 0x35, 0x18, 0xcc, 0x4a, 0x8b, 0xf0, 0x5f, + 0xfa, 0x4f, 0x82, 0xea, 0x87, 0x43, 0xdb, 0x32, 0x1f, 0x7d, 0xaf, 0x86, + 0x67, 0x94, 0xcf, 0x93, +}; +static const struct drbg_kat_no_reseed kat909_t = { + 8, kat909_entropyin, kat909_nonce, kat909_persstr, + kat909_addin0, kat909_addin1, kat909_retbits +}; +static const struct drbg_kat kat909 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat909_t +}; + +static const unsigned char kat910_entropyin[] = { + 0xc7, 0x9f, 0xdb, 0xd9, 0xdb, 0xe4, 0x94, 0xbe, 0x55, 0x97, 0xac, 0xf6, + 0x6c, 0xc5, 0x8d, 0x54, 0x87, 0xf0, 0x32, 0xfb, 0xda, 0x9a, 0x73, 0x70, + 0x28, 0x3c, 0x41, 0x50, 0x28, 0xb3, 0x35, 0x41, +}; +static const unsigned char kat910_nonce[] = {0}; +static const unsigned char kat910_persstr[] = {0}; +static const unsigned char kat910_addin0[] = {0}; +static const unsigned char kat910_addin1[] = {0}; +static const unsigned char kat910_retbits[] = { + 0x76, 0x68, 0xfb, 0x8d, 0x9b, 0xc2, 0x79, 0xae, 0xfa, 0xfc, 0x0c, 0x39, + 0xc0, 0xad, 0x66, 0x53, 0xb9, 0xbc, 0x3d, 0xd1, 0x73, 0x7c, 0xe1, 0x9b, + 0x18, 0x07, 0x44, 0x54, 0x46, 0x05, 0xab, 0x8c, 0x70, 0xf4, 0x61, 0xac, + 0xbb, 0x33, 0x7d, 0x68, 0x6a, 0xeb, 0x27, 0x83, 0xb5, 0x03, 0x63, 0xff, + 0xfe, 0xa0, 0x76, 0x4d, 0xe4, 0x6d, 0x1a, 0x6d, 0x51, 0x1c, 0x5e, 0xc0, + 0x24, 0xe5, 0xa7, 0x3b, +}; +static const struct drbg_kat_no_reseed kat910_t = { + 9, kat910_entropyin, kat910_nonce, kat910_persstr, + kat910_addin0, kat910_addin1, kat910_retbits +}; +static const struct drbg_kat kat910 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat910_t +}; + +static const unsigned char kat911_entropyin[] = { + 0xad, 0xad, 0x3e, 0x00, 0x63, 0xdf, 0x27, 0x1a, 0xbb, 0x77, 0xb2, 0xa0, + 0xd5, 0x28, 0x63, 0x8d, 0xeb, 0x4d, 0xeb, 0x5e, 0xe1, 0x4d, 0x00, 0x25, + 0x3c, 0x1b, 0xbe, 0x7e, 0x3f, 0xf9, 0xb6, 0xd4, +}; +static const unsigned char kat911_nonce[] = {0}; +static const unsigned char kat911_persstr[] = {0}; +static const unsigned char kat911_addin0[] = {0}; +static const unsigned char kat911_addin1[] = {0}; +static const unsigned char kat911_retbits[] = { + 0x4a, 0x19, 0xa0, 0xb8, 0x97, 0x52, 0x43, 0xa3, 0xad, 0x46, 0xf2, 0x9a, + 0x2a, 0x02, 0x4d, 0x47, 0x7b, 0xca, 0xfd, 0xfb, 0x50, 0xf1, 0x7a, 0xac, + 0xa5, 0x66, 0x00, 0x39, 0xfc, 0xed, 0x2f, 0x07, 0x64, 0x72, 0x06, 0x20, + 0xdc, 0xfb, 0x7c, 0xcd, 0x25, 0x01, 0xfa, 0x13, 0x83, 0x9f, 0x79, 0x87, + 0xbd, 0x33, 0x9d, 0xba, 0xa2, 0xeb, 0xe5, 0x1e, 0x90, 0x57, 0x83, 0x7f, + 0xf5, 0x10, 0x38, 0x0f, +}; +static const struct drbg_kat_no_reseed kat911_t = { + 10, kat911_entropyin, kat911_nonce, kat911_persstr, + kat911_addin0, kat911_addin1, kat911_retbits +}; +static const struct drbg_kat kat911 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat911_t +}; + +static const unsigned char kat912_entropyin[] = { + 0xf8, 0xf6, 0x2d, 0x35, 0xef, 0xab, 0x49, 0x93, 0xf8, 0x99, 0xeb, 0xa7, + 0x5e, 0x02, 0x19, 0xc8, 0x65, 0x13, 0x49, 0xc9, 0xe8, 0xf8, 0xe7, 0x46, + 0x77, 0x9c, 0xb5, 0xb1, 0x20, 0x3a, 0x3b, 0x0d, +}; +static const unsigned char kat912_nonce[] = {0}; +static const unsigned char kat912_persstr[] = {0}; +static const unsigned char kat912_addin0[] = {0}; +static const unsigned char kat912_addin1[] = {0}; +static const unsigned char kat912_retbits[] = { + 0x59, 0x40, 0x00, 0x43, 0x44, 0xe5, 0x7a, 0x3a, 0x9f, 0xcc, 0x53, 0x31, + 0x34, 0x38, 0x07, 0xdf, 0xea, 0x44, 0x26, 0xa8, 0x61, 0xe9, 0xbf, 0x0e, + 0xcb, 0x07, 0xf4, 0xb4, 0x75, 0x72, 0x58, 0xff, 0xee, 0xf5, 0x03, 0x37, + 0x9d, 0xe2, 0x78, 0xb2, 0x73, 0x6e, 0xf0, 0x6a, 0xf1, 0xf7, 0x82, 0x66, + 0xbf, 0xec, 0xf1, 0x14, 0xd4, 0x52, 0xde, 0x8a, 0xfe, 0x1a, 0x31, 0xd3, + 0x5d, 0x96, 0x1f, 0x4a, +}; +static const struct drbg_kat_no_reseed kat912_t = { + 11, kat912_entropyin, kat912_nonce, kat912_persstr, + kat912_addin0, kat912_addin1, kat912_retbits +}; +static const struct drbg_kat kat912 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat912_t +}; + +static const unsigned char kat913_entropyin[] = { + 0x7c, 0x32, 0x1c, 0xc7, 0xa0, 0x27, 0x10, 0xf4, 0x2f, 0x5c, 0x64, 0xf7, + 0xd5, 0x0e, 0x1c, 0xca, 0x13, 0x9f, 0x91, 0x81, 0x50, 0x21, 0x47, 0x6c, + 0xb3, 0xb6, 0x53, 0x36, 0xec, 0x0a, 0x8c, 0x64, +}; +static const unsigned char kat913_nonce[] = {0}; +static const unsigned char kat913_persstr[] = {0}; +static const unsigned char kat913_addin0[] = {0}; +static const unsigned char kat913_addin1[] = {0}; +static const unsigned char kat913_retbits[] = { + 0xc8, 0x60, 0xe9, 0xe0, 0x9b, 0x4e, 0x36, 0x38, 0x1a, 0x4d, 0x8b, 0x0b, + 0x24, 0x73, 0x38, 0x92, 0x4a, 0xa7, 0x82, 0xeb, 0x79, 0x60, 0x3a, 0x26, + 0x89, 0x02, 0x50, 0xf5, 0x66, 0xab, 0x11, 0xde, 0x34, 0xda, 0xca, 0x00, + 0x56, 0x40, 0x3c, 0x49, 0xc0, 0x74, 0x72, 0x14, 0x81, 0xc2, 0xc0, 0xb0, + 0x6c, 0xb4, 0x66, 0x9f, 0xf9, 0xa3, 0xdf, 0xbf, 0xcb, 0x73, 0xc6, 0x22, + 0x80, 0xe5, 0x32, 0xbe, +}; +static const struct drbg_kat_no_reseed kat913_t = { + 12, kat913_entropyin, kat913_nonce, kat913_persstr, + kat913_addin0, kat913_addin1, kat913_retbits +}; +static const struct drbg_kat kat913 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat913_t +}; + +static const unsigned char kat914_entropyin[] = { + 0xff, 0xfc, 0xe2, 0x29, 0xdc, 0xc8, 0xf7, 0x7e, 0x3b, 0x71, 0x49, 0x80, + 0x4e, 0x94, 0xb2, 0x9c, 0x8c, 0x3d, 0x85, 0x1c, 0x12, 0x9d, 0x1a, 0x41, + 0x7e, 0x18, 0x1a, 0xde, 0xdf, 0x8d, 0xd1, 0x2b, +}; +static const unsigned char kat914_nonce[] = {0}; +static const unsigned char kat914_persstr[] = {0}; +static const unsigned char kat914_addin0[] = {0}; +static const unsigned char kat914_addin1[] = {0}; +static const unsigned char kat914_retbits[] = { + 0x9a, 0xb8, 0xf2, 0x73, 0x0c, 0xd5, 0x03, 0x9a, 0x1c, 0x78, 0xf8, 0x37, + 0xcc, 0xaf, 0x77, 0x47, 0xb2, 0x7c, 0xa4, 0x25, 0xb0, 0x77, 0x28, 0x93, + 0x3e, 0x61, 0xbc, 0x39, 0xb5, 0xc0, 0x9f, 0xd6, 0x3a, 0x0f, 0x5e, 0x75, + 0x86, 0xfb, 0xb0, 0x0f, 0xe4, 0xfb, 0xea, 0x80, 0x93, 0x92, 0xa7, 0xf9, + 0x52, 0x06, 0x34, 0x5c, 0x64, 0x0c, 0xeb, 0xb9, 0x89, 0x97, 0xd5, 0x3c, + 0xd1, 0xbe, 0xa4, 0xbc, +}; +static const struct drbg_kat_no_reseed kat914_t = { + 13, kat914_entropyin, kat914_nonce, kat914_persstr, + kat914_addin0, kat914_addin1, kat914_retbits +}; +static const struct drbg_kat kat914 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat914_t +}; + +static const unsigned char kat915_entropyin[] = { + 0x39, 0x74, 0x27, 0xac, 0xb3, 0x68, 0x3a, 0xf1, 0x36, 0x36, 0xa7, 0x0f, + 0xa2, 0xd9, 0xff, 0x5b, 0x6d, 0x03, 0x2f, 0x9f, 0xc6, 0x19, 0x7d, 0x62, + 0xce, 0x10, 0x27, 0x51, 0x7c, 0xb6, 0x62, 0x68, +}; +static const unsigned char kat915_nonce[] = {0}; +static const unsigned char kat915_persstr[] = {0}; +static const unsigned char kat915_addin0[] = {0}; +static const unsigned char kat915_addin1[] = {0}; +static const unsigned char kat915_retbits[] = { + 0x2c, 0x6b, 0x5c, 0x56, 0x82, 0x18, 0x77, 0x40, 0xfb, 0x56, 0x6c, 0xa6, + 0x06, 0x44, 0x05, 0x2b, 0x2e, 0x0b, 0xc3, 0x28, 0x5a, 0x39, 0x9e, 0x81, + 0x27, 0xae, 0x53, 0xfa, 0xfa, 0x3d, 0x52, 0x86, 0x68, 0x04, 0x16, 0x77, + 0x2e, 0x55, 0x2a, 0x2c, 0xbc, 0xe4, 0xa5, 0x23, 0xf2, 0x6e, 0x7e, 0x7e, + 0x45, 0x82, 0x7a, 0x29, 0x1b, 0x61, 0xa8, 0xb6, 0xfc, 0x78, 0x36, 0xe3, + 0xa1, 0x4e, 0x69, 0x4a, +}; +static const struct drbg_kat_no_reseed kat915_t = { + 14, kat915_entropyin, kat915_nonce, kat915_persstr, + kat915_addin0, kat915_addin1, kat915_retbits +}; +static const struct drbg_kat kat915 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat915_t +}; + +static const unsigned char kat916_entropyin[] = { + 0x15, 0x08, 0x7d, 0x76, 0xde, 0xba, 0x6d, 0x1b, 0xb1, 0x89, 0x01, 0xe8, + 0x16, 0x88, 0x71, 0x78, 0xdb, 0x28, 0x11, 0xbe, 0x02, 0xf0, 0x47, 0xfc, + 0xdc, 0xd9, 0x3f, 0xd0, 0x64, 0x81, 0x7b, 0x0c, +}; +static const unsigned char kat916_nonce[] = {0}; +static const unsigned char kat916_persstr[] = {0}; +static const unsigned char kat916_addin0[] = { + 0xe4, 0xf2, 0xd4, 0x34, 0x2d, 0xdc, 0x85, 0xc2, 0x57, 0xcb, 0x6c, 0x17, + 0x67, 0xcb, 0x69, 0x65, 0x2f, 0x1c, 0x30, 0xa8, 0x2f, 0xe8, 0xc0, 0x55, + 0x0e, 0xca, 0x19, 0x37, 0x42, 0x8e, 0x1d, 0x90, +}; +static const unsigned char kat916_addin1[] = { + 0xeb, 0x5f, 0x7d, 0x3e, 0xfc, 0x4b, 0xee, 0x04, 0x95, 0x12, 0xb2, 0x46, + 0x25, 0x14, 0x6a, 0x3f, 0xc5, 0x76, 0xfb, 0xbf, 0x0f, 0x0e, 0x7b, 0xe4, + 0xf8, 0x07, 0x8b, 0x51, 0xd4, 0x89, 0xf9, 0x53, +}; +static const unsigned char kat916_retbits[] = { + 0x08, 0x30, 0x84, 0x7c, 0x46, 0x97, 0xb6, 0x78, 0xf3, 0x5e, 0x1c, 0x65, + 0x7a, 0x23, 0x74, 0xeb, 0x75, 0x56, 0xeb, 0xda, 0xf8, 0xf9, 0x86, 0x81, + 0xa3, 0xe7, 0xae, 0x87, 0x26, 0xc2, 0xf6, 0x70, 0xd0, 0x57, 0xc3, 0x8f, + 0x5f, 0x2a, 0x0c, 0x23, 0xf6, 0xd5, 0x36, 0x68, 0xc6, 0xd1, 0x0a, 0x97, + 0x55, 0xb4, 0xc3, 0x89, 0x5d, 0x96, 0x51, 0xe7, 0xc9, 0xd6, 0x88, 0x80, + 0x9c, 0xef, 0x94, 0x22, +}; +static const struct drbg_kat_no_reseed kat916_t = { + 0, kat916_entropyin, kat916_nonce, kat916_persstr, + kat916_addin0, kat916_addin1, kat916_retbits +}; +static const struct drbg_kat kat916 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat916_t +}; + +static const unsigned char kat917_entropyin[] = { + 0x6e, 0x53, 0x15, 0xd8, 0x72, 0x42, 0x8c, 0x26, 0xdd, 0x63, 0xf3, 0x7c, + 0x2a, 0xde, 0xe9, 0xa8, 0x8a, 0xc7, 0x1b, 0xc5, 0x2d, 0xbf, 0xe2, 0x9f, + 0x55, 0xba, 0x0c, 0x91, 0x03, 0x81, 0x73, 0x1a, +}; +static const unsigned char kat917_nonce[] = {0}; +static const unsigned char kat917_persstr[] = {0}; +static const unsigned char kat917_addin0[] = { + 0x27, 0x39, 0x75, 0x28, 0xf4, 0x76, 0x1c, 0xfa, 0x2e, 0x2a, 0x58, 0x58, + 0x27, 0x90, 0x9f, 0x15, 0xe1, 0xf6, 0xb0, 0x7b, 0x10, 0x55, 0x6c, 0xaa, + 0xc6, 0x2f, 0x91, 0x89, 0xaa, 0x52, 0xde, 0xd7, +}; +static const unsigned char kat917_addin1[] = { + 0x7f, 0xc7, 0x93, 0x2c, 0x7a, 0xa0, 0xee, 0xbe, 0xed, 0xe7, 0x14, 0xdb, + 0xa7, 0x47, 0xef, 0x4f, 0x61, 0x51, 0xab, 0x2f, 0xa5, 0x71, 0xdf, 0xb7, + 0x32, 0xba, 0x02, 0x05, 0xd1, 0xad, 0x66, 0xb2, +}; +static const unsigned char kat917_retbits[] = { + 0x8f, 0xc9, 0xb0, 0xb2, 0x74, 0x47, 0xd5, 0x5c, 0x29, 0xa9, 0xe8, 0x87, + 0xa2, 0x4f, 0xdd, 0xfa, 0x89, 0xa9, 0xa3, 0x59, 0x46, 0x70, 0x63, 0x59, + 0xb8, 0xff, 0xd8, 0x3a, 0x04, 0x50, 0xf7, 0x07, 0xd4, 0xf5, 0x0c, 0xa2, + 0x60, 0xca, 0x7f, 0x1f, 0x41, 0xec, 0x69, 0x3f, 0x7f, 0x48, 0x9c, 0xdb, + 0xfc, 0x10, 0xf8, 0x2e, 0x20, 0x34, 0xf3, 0x23, 0x32, 0x50, 0x61, 0xf0, + 0x69, 0xb6, 0x77, 0x6e, +}; +static const struct drbg_kat_no_reseed kat917_t = { + 1, kat917_entropyin, kat917_nonce, kat917_persstr, + kat917_addin0, kat917_addin1, kat917_retbits +}; +static const struct drbg_kat kat917 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat917_t +}; + +static const unsigned char kat918_entropyin[] = { + 0x5d, 0x3f, 0x0c, 0xcd, 0xb0, 0x88, 0x22, 0xb3, 0x47, 0x01, 0xe1, 0x4e, + 0xb5, 0x70, 0xa3, 0xfa, 0x63, 0xa9, 0xeb, 0x31, 0xf9, 0x22, 0x24, 0x4e, + 0xb9, 0x51, 0xab, 0x31, 0xe5, 0x50, 0x80, 0xe7, +}; +static const unsigned char kat918_nonce[] = {0}; +static const unsigned char kat918_persstr[] = {0}; +static const unsigned char kat918_addin0[] = { + 0xfa, 0x6f, 0x24, 0x78, 0xfd, 0xa9, 0xad, 0xa8, 0x27, 0xb9, 0xb2, 0x0c, + 0x99, 0x07, 0x33, 0x26, 0x66, 0x97, 0xbc, 0x57, 0x1c, 0x83, 0x4d, 0xde, + 0x59, 0x93, 0xf3, 0x9a, 0x31, 0x80, 0xc3, 0x66, +}; +static const unsigned char kat918_addin1[] = { + 0x07, 0x97, 0x13, 0xb0, 0x43, 0xab, 0x9f, 0xf2, 0xf3, 0x0f, 0xfa, 0x7c, + 0x22, 0x10, 0x44, 0xf0, 0xfe, 0x59, 0x04, 0x2c, 0xc5, 0xf1, 0x46, 0x6c, + 0xcb, 0x07, 0x62, 0xc1, 0xfe, 0x7c, 0x77, 0xa8, +}; +static const unsigned char kat918_retbits[] = { + 0x11, 0x93, 0xa4, 0x6b, 0x18, 0x2e, 0x39, 0x66, 0xda, 0xdd, 0x2a, 0xa7, + 0xe9, 0x19, 0x8b, 0xa6, 0x51, 0xd6, 0x14, 0x46, 0x13, 0xae, 0x51, 0x6a, + 0x7f, 0xfb, 0xe3, 0xc6, 0x10, 0xd0, 0x4c, 0x08, 0x23, 0x7b, 0x08, 0xc2, + 0xc4, 0x9b, 0x2e, 0x3f, 0x39, 0x80, 0x15, 0x69, 0x3a, 0xb5, 0xfc, 0xc8, + 0xcb, 0x00, 0x0a, 0xb7, 0x12, 0x2d, 0x7f, 0xe2, 0xa0, 0x72, 0xf6, 0x0a, + 0x07, 0x7b, 0xec, 0xed, +}; +static const struct drbg_kat_no_reseed kat918_t = { + 2, kat918_entropyin, kat918_nonce, kat918_persstr, + kat918_addin0, kat918_addin1, kat918_retbits +}; +static const struct drbg_kat kat918 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat918_t +}; + +static const unsigned char kat919_entropyin[] = { + 0x67, 0x7c, 0x91, 0x1b, 0x85, 0x8d, 0x63, 0x80, 0xd7, 0x28, 0xf9, 0x37, + 0x54, 0x07, 0xd6, 0x67, 0xc6, 0xea, 0x78, 0x54, 0xc9, 0x2d, 0x7d, 0x7d, + 0xb7, 0xfe, 0xe7, 0xa3, 0x9c, 0xc3, 0x88, 0x64, +}; +static const unsigned char kat919_nonce[] = {0}; +static const unsigned char kat919_persstr[] = {0}; +static const unsigned char kat919_addin0[] = { + 0xbf, 0x93, 0xc0, 0xb7, 0xe5, 0x96, 0xc7, 0xe6, 0xec, 0xd2, 0xa1, 0x6e, + 0xf4, 0x2a, 0xbd, 0xc6, 0x93, 0xb5, 0x11, 0x80, 0x4e, 0x54, 0x7a, 0x44, + 0xff, 0xb8, 0x4c, 0xfb, 0x53, 0xcc, 0x5b, 0xe1, +}; +static const unsigned char kat919_addin1[] = { + 0x1c, 0xc2, 0x9a, 0x2e, 0x81, 0xae, 0xd2, 0x08, 0x13, 0xa6, 0xb9, 0xe9, + 0xf6, 0xb6, 0x2d, 0x62, 0x29, 0xf7, 0xb0, 0xf6, 0xa2, 0x4b, 0x85, 0x47, + 0x16, 0xff, 0x01, 0x0c, 0xd4, 0x00, 0x0d, 0x72, +}; +static const unsigned char kat919_retbits[] = { + 0x8c, 0x15, 0x63, 0xeb, 0x92, 0x51, 0xf9, 0x88, 0x46, 0x6e, 0xa6, 0x75, + 0x22, 0x71, 0x15, 0x19, 0x27, 0xf3, 0x27, 0x33, 0x95, 0x13, 0x89, 0xae, + 0x0e, 0x89, 0xc8, 0xfd, 0x4d, 0x63, 0x90, 0x5b, 0x91, 0x4e, 0xb5, 0x49, + 0x8f, 0xb8, 0x71, 0x91, 0xd4, 0xda, 0xd7, 0x37, 0x3c, 0x8f, 0xb4, 0xd5, + 0x96, 0xd8, 0x74, 0x3a, 0xed, 0x3e, 0xec, 0x9d, 0x2f, 0x1f, 0xc4, 0x3c, + 0xeb, 0x2e, 0x63, 0x56, +}; +static const struct drbg_kat_no_reseed kat919_t = { + 3, kat919_entropyin, kat919_nonce, kat919_persstr, + kat919_addin0, kat919_addin1, kat919_retbits +}; +static const struct drbg_kat kat919 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat919_t +}; + +static const unsigned char kat920_entropyin[] = { + 0xd0, 0x15, 0x04, 0xc5, 0xc5, 0xd0, 0xb5, 0x89, 0x3e, 0x75, 0x9b, 0x5b, + 0xac, 0x17, 0x3f, 0x65, 0x45, 0xa1, 0x3a, 0xcb, 0xff, 0xd5, 0xf9, 0xa4, + 0x9a, 0x0c, 0x02, 0x00, 0xdc, 0x19, 0xe6, 0x34, +}; +static const unsigned char kat920_nonce[] = {0}; +static const unsigned char kat920_persstr[] = {0}; +static const unsigned char kat920_addin0[] = { + 0x52, 0xc6, 0xd2, 0xe8, 0xec, 0xd1, 0xb0, 0xd8, 0x3a, 0xd2, 0x5e, 0xee, + 0xb7, 0x2f, 0xce, 0xae, 0x95, 0x8a, 0x17, 0x7e, 0x8c, 0xc0, 0x51, 0x1c, + 0xcc, 0x40, 0x49, 0xde, 0xf8, 0x7a, 0x47, 0xe1, +}; +static const unsigned char kat920_addin1[] = { + 0x64, 0x5d, 0x9e, 0xe2, 0xaf, 0x91, 0x40, 0xfd, 0x10, 0x19, 0xf2, 0x08, + 0xad, 0xad, 0x12, 0x21, 0xaa, 0x88, 0xcb, 0x8b, 0x58, 0x1e, 0xe9, 0xf3, + 0x96, 0x57, 0x3f, 0x7a, 0x9c, 0xf6, 0xba, 0x9e, +}; +static const unsigned char kat920_retbits[] = { + 0x36, 0x5b, 0x0b, 0x4c, 0x25, 0xcf, 0xb9, 0x2b, 0x87, 0xc3, 0x3f, 0x5c, + 0xbd, 0x36, 0x85, 0xda, 0x3e, 0x4a, 0xf8, 0xa1, 0x76, 0xf2, 0x6d, 0xb1, + 0xf1, 0x27, 0x60, 0x4a, 0x0c, 0xe8, 0xa5, 0x91, 0x84, 0x1c, 0x93, 0xa7, + 0xc3, 0x63, 0x57, 0xe7, 0xc6, 0x5f, 0xdc, 0x3c, 0x2d, 0x1e, 0x14, 0xad, + 0x73, 0xa2, 0xc1, 0x38, 0x39, 0x87, 0x42, 0xcb, 0xd4, 0xfa, 0x91, 0x84, + 0x87, 0x8c, 0xa9, 0xaf, +}; +static const struct drbg_kat_no_reseed kat920_t = { + 4, kat920_entropyin, kat920_nonce, kat920_persstr, + kat920_addin0, kat920_addin1, kat920_retbits +}; +static const struct drbg_kat kat920 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat920_t +}; + +static const unsigned char kat921_entropyin[] = { + 0x72, 0x8d, 0x5e, 0x16, 0x38, 0x3b, 0x89, 0xb3, 0x06, 0x89, 0xd9, 0x6a, + 0xe0, 0xff, 0xa2, 0x5d, 0x08, 0x70, 0x18, 0x0b, 0xbf, 0x9a, 0xa7, 0x84, + 0xc0, 0xbe, 0xcb, 0x83, 0x0d, 0x1a, 0x33, 0xe3, +}; +static const unsigned char kat921_nonce[] = {0}; +static const unsigned char kat921_persstr[] = {0}; +static const unsigned char kat921_addin0[] = { + 0x7e, 0xe4, 0x93, 0xd5, 0xa2, 0x0a, 0x1a, 0xff, 0xd0, 0xa1, 0xec, 0xc7, + 0xf9, 0x48, 0xcd, 0x32, 0x85, 0x10, 0xc6, 0x78, 0x0f, 0xba, 0xb6, 0xdf, + 0xbb, 0x89, 0x67, 0xd5, 0x47, 0x12, 0x06, 0x85, +}; +static const unsigned char kat921_addin1[] = { + 0x8b, 0xc7, 0x21, 0xb2, 0x66, 0x00, 0x19, 0x74, 0x54, 0x19, 0xee, 0x62, + 0x79, 0x48, 0x08, 0x10, 0x11, 0x42, 0x34, 0x07, 0xf7, 0xee, 0x88, 0xd0, + 0x8d, 0xe3, 0xc8, 0xd2, 0xc7, 0x41, 0x58, 0x56, +}; +static const unsigned char kat921_retbits[] = { + 0xeb, 0x6f, 0xeb, 0xae, 0x38, 0x9d, 0x39, 0x6a, 0xc3, 0xe2, 0x27, 0x11, + 0x11, 0xf6, 0x63, 0xcc, 0x2d, 0x5c, 0x35, 0x5f, 0x9b, 0x2f, 0x98, 0x3e, + 0x0a, 0xd9, 0x70, 0x42, 0x88, 0x2e, 0x52, 0xbf, 0x5e, 0x3b, 0x72, 0xfa, + 0x02, 0x4d, 0xec, 0x84, 0xdc, 0xb8, 0xd6, 0x60, 0x2f, 0x7a, 0xb3, 0x4d, + 0xe5, 0xaa, 0x02, 0xa2, 0xbe, 0xf9, 0x85, 0xb4, 0x1b, 0x6a, 0xe3, 0xbd, + 0x36, 0xb4, 0xeb, 0x43, +}; +static const struct drbg_kat_no_reseed kat921_t = { + 5, kat921_entropyin, kat921_nonce, kat921_persstr, + kat921_addin0, kat921_addin1, kat921_retbits +}; +static const struct drbg_kat kat921 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat921_t +}; + +static const unsigned char kat922_entropyin[] = { + 0xdb, 0x1b, 0xc1, 0x89, 0xf4, 0xae, 0x4c, 0xc9, 0x0b, 0x36, 0xa1, 0x5a, + 0xc6, 0x86, 0xad, 0x05, 0xdc, 0xf9, 0xfc, 0xcf, 0xca, 0xa8, 0x5a, 0xc0, + 0xe1, 0xf7, 0xf3, 0xba, 0x0b, 0xc9, 0xdf, 0xde, +}; +static const unsigned char kat922_nonce[] = {0}; +static const unsigned char kat922_persstr[] = {0}; +static const unsigned char kat922_addin0[] = { + 0x4d, 0xcb, 0x24, 0x17, 0x23, 0x4c, 0xae, 0xb0, 0xe5, 0x8c, 0x5b, 0x37, + 0xc3, 0x97, 0x31, 0xe6, 0x79, 0x1e, 0x62, 0x18, 0x3b, 0x8f, 0x4f, 0x05, + 0x98, 0xb3, 0x14, 0x96, 0x43, 0xa4, 0xfb, 0x1b, +}; +static const unsigned char kat922_addin1[] = { + 0x24, 0xd4, 0x24, 0x92, 0x3e, 0x78, 0xf5, 0xc5, 0xa2, 0x29, 0x57, 0x8b, + 0x88, 0x29, 0x33, 0xeb, 0x4f, 0xb2, 0x90, 0x55, 0xf5, 0x5b, 0x82, 0x5b, + 0x40, 0xc9, 0x05, 0xbf, 0xbe, 0x2b, 0x43, 0x6e, +}; +static const unsigned char kat922_retbits[] = { + 0x13, 0x9d, 0x71, 0x52, 0xf8, 0x05, 0xc4, 0x53, 0x81, 0xcf, 0x4f, 0xa9, + 0xda, 0x6f, 0x5c, 0x7b, 0x99, 0x85, 0xfe, 0x50, 0x39, 0x91, 0x14, 0x8c, + 0xc4, 0x35, 0x7c, 0x85, 0x69, 0x98, 0x62, 0x32, 0x5e, 0x41, 0xf4, 0x67, + 0xba, 0xa0, 0x84, 0x05, 0x7c, 0x43, 0x45, 0x74, 0xa9, 0xee, 0x49, 0xe0, + 0x3c, 0xcd, 0x6c, 0x93, 0xb7, 0xec, 0x6e, 0x75, 0xb4, 0xaa, 0xeb, 0x88, + 0x58, 0x23, 0xa1, 0xb1, +}; +static const struct drbg_kat_no_reseed kat922_t = { + 6, kat922_entropyin, kat922_nonce, kat922_persstr, + kat922_addin0, kat922_addin1, kat922_retbits +}; +static const struct drbg_kat kat922 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat922_t +}; + +static const unsigned char kat923_entropyin[] = { + 0x01, 0x0e, 0x72, 0x11, 0xff, 0xcd, 0x4a, 0x6c, 0x36, 0x8b, 0xe3, 0x98, + 0xd9, 0xff, 0xb4, 0x0d, 0xa8, 0xa3, 0xbc, 0xdf, 0xe5, 0x09, 0x8f, 0xb8, + 0x5a, 0xfa, 0xec, 0x13, 0x74, 0x9b, 0xa7, 0xc7, +}; +static const unsigned char kat923_nonce[] = {0}; +static const unsigned char kat923_persstr[] = {0}; +static const unsigned char kat923_addin0[] = { + 0x3d, 0xcd, 0x8f, 0x39, 0x80, 0xb3, 0x15, 0xb5, 0x69, 0xc1, 0x9c, 0x0d, + 0xf8, 0xb8, 0x0d, 0x48, 0xd7, 0x51, 0xc7, 0x04, 0x42, 0x38, 0x15, 0xda, + 0xbe, 0x9d, 0xfb, 0x6a, 0x0e, 0xca, 0x14, 0xbd, +}; +static const unsigned char kat923_addin1[] = { + 0xae, 0x8b, 0x70, 0x7d, 0xe9, 0x92, 0xca, 0xb2, 0xd7, 0x53, 0xab, 0x42, + 0x36, 0x81, 0x12, 0x7d, 0x76, 0xd4, 0x3b, 0xef, 0xf6, 0xeb, 0x59, 0x62, + 0xa7, 0x7b, 0x86, 0x42, 0x63, 0x99, 0x23, 0xb3, +}; +static const unsigned char kat923_retbits[] = { + 0x6b, 0x92, 0xe9, 0xfd, 0xa9, 0xaf, 0x63, 0xf1, 0x45, 0x56, 0x47, 0x66, + 0x97, 0x59, 0x12, 0x54, 0xa9, 0x93, 0xa1, 0xe3, 0x6b, 0x3b, 0xed, 0xcb, + 0xeb, 0xfc, 0x28, 0xdb, 0xf8, 0x5c, 0xf5, 0x95, 0x99, 0x01, 0xb4, 0x42, + 0x93, 0xd8, 0x66, 0x5c, 0xf9, 0x59, 0x22, 0xff, 0x17, 0x2d, 0x9c, 0x70, + 0x39, 0xb7, 0xc2, 0x1a, 0xbb, 0x96, 0x45, 0x87, 0xd4, 0x81, 0x17, 0xf3, + 0x85, 0xc7, 0xe0, 0x7d, +}; +static const struct drbg_kat_no_reseed kat923_t = { + 7, kat923_entropyin, kat923_nonce, kat923_persstr, + kat923_addin0, kat923_addin1, kat923_retbits +}; +static const struct drbg_kat kat923 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat923_t +}; + +static const unsigned char kat924_entropyin[] = { + 0x06, 0x65, 0x6e, 0xf7, 0x27, 0xd1, 0x3e, 0x9b, 0x2a, 0x49, 0xb3, 0x0e, + 0xa9, 0xcd, 0x4d, 0x9b, 0x57, 0x4d, 0xcb, 0xf4, 0xc1, 0xda, 0xf5, 0xd5, + 0x00, 0x16, 0x7f, 0x3f, 0x4b, 0xf2, 0x3e, 0x57, +}; +static const unsigned char kat924_nonce[] = {0}; +static const unsigned char kat924_persstr[] = {0}; +static const unsigned char kat924_addin0[] = { + 0xfc, 0xce, 0x04, 0x65, 0xf3, 0xc7, 0x6b, 0x16, 0x3f, 0x64, 0xd4, 0xc3, + 0x4b, 0xea, 0x91, 0xe7, 0xae, 0x91, 0xc6, 0xd7, 0x9e, 0x01, 0x94, 0x2f, + 0x4b, 0x5e, 0x6b, 0xcc, 0x67, 0x22, 0x99, 0xe5, +}; +static const unsigned char kat924_addin1[] = { + 0xdd, 0x4f, 0x6b, 0x33, 0xd8, 0x94, 0x47, 0x65, 0x62, 0x89, 0x0d, 0xb4, + 0xb8, 0xee, 0x7d, 0x49, 0x0b, 0xe9, 0x92, 0x33, 0xaa, 0x81, 0xd0, 0x72, + 0xdd, 0xa3, 0x2e, 0x29, 0x57, 0xa3, 0x94, 0x4b, +}; +static const unsigned char kat924_retbits[] = { + 0x1a, 0x6e, 0x60, 0x06, 0x19, 0xb6, 0xde, 0x94, 0x3b, 0xb1, 0x4f, 0xbe, + 0x87, 0x90, 0xb5, 0xf3, 0x8e, 0xb7, 0xf2, 0xdf, 0x6e, 0x8d, 0xfa, 0x0d, + 0x1e, 0x54, 0xa6, 0xab, 0xa1, 0xe3, 0x49, 0x42, 0x96, 0x78, 0x42, 0x08, + 0xd0, 0x4f, 0xab, 0x7f, 0x64, 0x02, 0x98, 0x6f, 0x5f, 0x25, 0xe3, 0x5a, + 0x20, 0x2a, 0x3f, 0x98, 0x37, 0x6e, 0xd4, 0x48, 0xc3, 0xa1, 0xc2, 0x4e, + 0x79, 0x57, 0xe0, 0x95, +}; +static const struct drbg_kat_no_reseed kat924_t = { + 8, kat924_entropyin, kat924_nonce, kat924_persstr, + kat924_addin0, kat924_addin1, kat924_retbits +}; +static const struct drbg_kat kat924 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat924_t +}; + +static const unsigned char kat925_entropyin[] = { + 0x5a, 0x00, 0x24, 0x20, 0x3d, 0x45, 0xeb, 0xba, 0x4e, 0x21, 0x7f, 0xc6, + 0x18, 0x24, 0x68, 0x57, 0x19, 0x7a, 0x9a, 0x12, 0xb2, 0x04, 0xad, 0xdf, + 0xf9, 0xc6, 0x5e, 0x4c, 0x8e, 0xf6, 0xcf, 0xad, +}; +static const unsigned char kat925_nonce[] = {0}; +static const unsigned char kat925_persstr[] = {0}; +static const unsigned char kat925_addin0[] = { + 0x46, 0xa9, 0x1c, 0x23, 0x56, 0x36, 0xd0, 0xaa, 0x0d, 0x8d, 0x86, 0x7f, + 0x80, 0xd3, 0x51, 0xf6, 0xb9, 0xc2, 0x0e, 0x9d, 0xeb, 0xe3, 0xf5, 0xe5, + 0xa3, 0x08, 0x61, 0xf9, 0x2d, 0x74, 0x1e, 0x75, +}; +static const unsigned char kat925_addin1[] = { + 0xaf, 0x79, 0x31, 0xc4, 0x4b, 0x7a, 0x1c, 0x32, 0xce, 0xca, 0x3c, 0x54, + 0x9c, 0x4c, 0x6e, 0x5d, 0xbd, 0x91, 0x48, 0x4e, 0x68, 0x1e, 0x19, 0x9e, + 0x2a, 0x7a, 0x08, 0xe2, 0x6c, 0xa3, 0x60, 0x15, +}; +static const unsigned char kat925_retbits[] = { + 0x4d, 0xcc, 0x58, 0x78, 0xea, 0xb9, 0x32, 0xe2, 0xcf, 0x2c, 0x51, 0xaf, + 0xd4, 0x3f, 0x10, 0x1f, 0xf7, 0x51, 0x53, 0xae, 0xb9, 0x96, 0x4a, 0x65, + 0x3e, 0xb9, 0xbc, 0x01, 0x71, 0x5e, 0x13, 0x26, 0xee, 0x3c, 0xd4, 0xdc, + 0x59, 0x0a, 0xe7, 0xfd, 0xc6, 0x39, 0xed, 0x9e, 0x01, 0xdf, 0xfc, 0x3b, + 0x11, 0x11, 0x25, 0x8c, 0xd5, 0x34, 0x2a, 0xd5, 0xac, 0xf4, 0x34, 0x18, + 0x91, 0x0a, 0x3c, 0x4e, +}; +static const struct drbg_kat_no_reseed kat925_t = { + 9, kat925_entropyin, kat925_nonce, kat925_persstr, + kat925_addin0, kat925_addin1, kat925_retbits +}; +static const struct drbg_kat kat925 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat925_t +}; + +static const unsigned char kat926_entropyin[] = { + 0xbf, 0x24, 0x1a, 0xd7, 0x92, 0x51, 0xed, 0x64, 0xc9, 0xc6, 0x92, 0xe0, + 0x9d, 0xb7, 0xec, 0x33, 0x84, 0x6c, 0xae, 0x82, 0xb0, 0xca, 0xfe, 0xdd, + 0xcd, 0xc9, 0xea, 0x3c, 0x21, 0x8a, 0x91, 0xba, +}; +static const unsigned char kat926_nonce[] = {0}; +static const unsigned char kat926_persstr[] = {0}; +static const unsigned char kat926_addin0[] = { + 0x47, 0x10, 0x19, 0xcd, 0xb4, 0x99, 0x66, 0xcb, 0x96, 0xcf, 0x05, 0x09, + 0x85, 0xbe, 0x39, 0xeb, 0xcb, 0x98, 0x18, 0xf7, 0xf8, 0x7d, 0x88, 0x1d, + 0xcf, 0x4e, 0x72, 0x45, 0xfd, 0xd3, 0x45, 0xe1, +}; +static const unsigned char kat926_addin1[] = { + 0x48, 0x31, 0x48, 0x18, 0x64, 0x04, 0x5b, 0xe2, 0x76, 0x50, 0x82, 0x19, + 0xa6, 0x19, 0xa0, 0x39, 0xe2, 0x2f, 0xf2, 0x6a, 0xea, 0x3f, 0x3e, 0x5a, + 0xc4, 0xf7, 0x66, 0xf2, 0xdc, 0x3a, 0x14, 0x70, +}; +static const unsigned char kat926_retbits[] = { + 0xb8, 0xde, 0x52, 0xf6, 0x65, 0x1e, 0xc1, 0x68, 0xb4, 0xd0, 0xb5, 0xff, + 0xe0, 0xa4, 0x6e, 0xc4, 0x36, 0x65, 0x31, 0xb2, 0xcc, 0x97, 0x01, 0x73, + 0x98, 0xc5, 0x68, 0x8c, 0x27, 0x7d, 0xbe, 0xa7, 0xdb, 0xcd, 0xff, 0x62, + 0x2f, 0x79, 0xf9, 0x01, 0x4e, 0x3f, 0x64, 0xa1, 0x3d, 0x3d, 0xc8, 0x53, + 0x72, 0x47, 0x7f, 0xc3, 0x23, 0x54, 0x36, 0x2f, 0x18, 0xf8, 0xf9, 0x0a, + 0x35, 0x1b, 0x48, 0x5b, +}; +static const struct drbg_kat_no_reseed kat926_t = { + 10, kat926_entropyin, kat926_nonce, kat926_persstr, + kat926_addin0, kat926_addin1, kat926_retbits +}; +static const struct drbg_kat kat926 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat926_t +}; + +static const unsigned char kat927_entropyin[] = { + 0x6c, 0xaa, 0x44, 0xf9, 0x44, 0xc8, 0x88, 0xaa, 0xd0, 0xa3, 0x6f, 0x82, + 0x80, 0x00, 0x86, 0xef, 0x8c, 0xb7, 0x3a, 0xd7, 0xca, 0x63, 0x1e, 0x24, + 0x23, 0xa7, 0x0a, 0x8f, 0x83, 0xe0, 0x40, 0xed, +}; +static const unsigned char kat927_nonce[] = {0}; +static const unsigned char kat927_persstr[] = {0}; +static const unsigned char kat927_addin0[] = { + 0xaa, 0xd9, 0x38, 0x08, 0xcc, 0x90, 0x48, 0xae, 0xd8, 0xb0, 0xe9, 0xbb, + 0x62, 0x42, 0xf4, 0x28, 0x86, 0xb7, 0xfb, 0xac, 0x2c, 0x4a, 0xc1, 0x1d, + 0xbc, 0x83, 0x4a, 0xd1, 0xf8, 0x76, 0x8d, 0xd3, +}; +static const unsigned char kat927_addin1[] = { + 0x59, 0xea, 0xf7, 0x23, 0x5f, 0xd5, 0x4e, 0x51, 0x6d, 0x18, 0xc3, 0x4e, + 0xe9, 0x74, 0x46, 0x4c, 0x0c, 0x93, 0xc9, 0xe9, 0x44, 0x62, 0xb0, 0xd3, + 0x78, 0x6e, 0xac, 0x46, 0x50, 0xdf, 0x2e, 0xf0, +}; +static const unsigned char kat927_retbits[] = { + 0xc0, 0xa2, 0x7e, 0x1b, 0xc2, 0x7f, 0xab, 0xbb, 0x1c, 0x1a, 0xe2, 0xa5, + 0xea, 0xac, 0x92, 0x5e, 0xa9, 0x8b, 0x77, 0xa8, 0x49, 0xb9, 0x4b, 0xc1, + 0x18, 0x44, 0xcd, 0x8e, 0xac, 0x81, 0x5d, 0xd2, 0x53, 0xa0, 0x81, 0x02, + 0x33, 0x56, 0xc5, 0x53, 0x9c, 0x7e, 0x45, 0x32, 0x2a, 0x12, 0x51, 0x70, + 0x61, 0xdd, 0x86, 0xad, 0xcf, 0xc3, 0x3f, 0xe3, 0xc3, 0x93, 0x86, 0x4b, + 0x2b, 0xfc, 0x84, 0xd2, +}; +static const struct drbg_kat_no_reseed kat927_t = { + 11, kat927_entropyin, kat927_nonce, kat927_persstr, + kat927_addin0, kat927_addin1, kat927_retbits +}; +static const struct drbg_kat kat927 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat927_t +}; + +static const unsigned char kat928_entropyin[] = { + 0x5f, 0xc8, 0x90, 0x6e, 0x14, 0xb1, 0x6c, 0x9e, 0x2e, 0xf1, 0xe7, 0xf8, + 0x1c, 0x47, 0xb3, 0x68, 0x3a, 0xec, 0x26, 0x54, 0x81, 0x55, 0x44, 0x5f, + 0x0d, 0xda, 0x33, 0x3b, 0x45, 0xb3, 0x4c, 0x77, +}; +static const unsigned char kat928_nonce[] = {0}; +static const unsigned char kat928_persstr[] = {0}; +static const unsigned char kat928_addin0[] = { + 0xc9, 0x7d, 0xbf, 0x3a, 0x29, 0xb2, 0x09, 0xcd, 0xc4, 0xd3, 0x1d, 0xd9, + 0xec, 0x7d, 0xd1, 0xf4, 0x27, 0xce, 0x4b, 0xe0, 0x14, 0xa5, 0x60, 0x65, + 0x4d, 0xde, 0xa5, 0x1e, 0xa9, 0x65, 0x59, 0x57, +}; +static const unsigned char kat928_addin1[] = { + 0x4a, 0x0d, 0x74, 0x64, 0xff, 0x87, 0x42, 0xb3, 0xeb, 0xd6, 0x48, 0x74, + 0xd1, 0x36, 0x2d, 0x44, 0xe0, 0xdd, 0xce, 0x28, 0x63, 0x0d, 0x56, 0xf0, + 0x61, 0xe5, 0x44, 0xf4, 0x96, 0x4b, 0x03, 0xe2, +}; +static const unsigned char kat928_retbits[] = { + 0xe9, 0x17, 0xb8, 0x43, 0xe5, 0x35, 0x6a, 0x03, 0xf4, 0xcf, 0x27, 0xcb, + 0xa4, 0x77, 0xd0, 0xb3, 0xd9, 0x29, 0x3a, 0x2e, 0x63, 0x39, 0xf3, 0xe2, + 0x77, 0xb1, 0x3e, 0x0c, 0xa9, 0xb3, 0xa9, 0xd1, 0x6d, 0xe3, 0x81, 0xa9, + 0x07, 0x41, 0x8d, 0x33, 0x72, 0x6f, 0xaf, 0x07, 0x8b, 0x6c, 0x94, 0x3f, + 0x2c, 0x0c, 0xc0, 0xb7, 0x30, 0xf5, 0x6e, 0x54, 0xde, 0x4c, 0x74, 0xbd, + 0xd0, 0x51, 0xd7, 0xac, +}; +static const struct drbg_kat_no_reseed kat928_t = { + 12, kat928_entropyin, kat928_nonce, kat928_persstr, + kat928_addin0, kat928_addin1, kat928_retbits +}; +static const struct drbg_kat kat928 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat928_t +}; + +static const unsigned char kat929_entropyin[] = { + 0x75, 0xbc, 0xab, 0x2c, 0xca, 0xa2, 0x90, 0x70, 0xd4, 0x1e, 0xa9, 0x89, + 0xdc, 0x1b, 0xa2, 0x25, 0x95, 0x11, 0x66, 0x5e, 0xbe, 0x81, 0x02, 0x7f, + 0xa2, 0x09, 0x7d, 0x69, 0xfe, 0x2a, 0xde, 0xec, +}; +static const unsigned char kat929_nonce[] = {0}; +static const unsigned char kat929_persstr[] = {0}; +static const unsigned char kat929_addin0[] = { + 0x78, 0x29, 0xdc, 0xe7, 0x6e, 0x1d, 0x87, 0x00, 0xfa, 0x46, 0xec, 0x3e, + 0x80, 0x46, 0x03, 0x6f, 0xdf, 0xaf, 0x6d, 0x36, 0xc2, 0xde, 0xe5, 0x9f, + 0x6c, 0xd9, 0x74, 0x0a, 0xdf, 0x94, 0xa3, 0xc3, +}; +static const unsigned char kat929_addin1[] = { + 0x03, 0x7a, 0x8f, 0xf9, 0x05, 0xd3, 0x4e, 0xe2, 0xc6, 0x91, 0x02, 0xa3, + 0xe9, 0x90, 0xb1, 0x78, 0x0d, 0x49, 0xe7, 0x9a, 0xcd, 0x1f, 0x2a, 0x60, + 0x10, 0x42, 0x32, 0xcc, 0x02, 0x0f, 0x38, 0x55, +}; +static const unsigned char kat929_retbits[] = { + 0xa6, 0x27, 0x8f, 0xb0, 0x1d, 0x3f, 0x1d, 0x5c, 0x25, 0x99, 0x22, 0xc9, + 0xf3, 0xaf, 0x41, 0x07, 0x5c, 0x77, 0x28, 0xf3, 0x4a, 0xeb, 0x41, 0xb7, + 0xa6, 0x35, 0x16, 0xdb, 0x50, 0xd3, 0xf4, 0xad, 0x23, 0x38, 0xfb, 0xe4, + 0x5c, 0xe8, 0x10, 0xfb, 0x37, 0x21, 0xa4, 0xf4, 0x55, 0xf4, 0x2e, 0x01, + 0x13, 0xc5, 0x6f, 0x0f, 0xf9, 0x70, 0x9d, 0xf7, 0x14, 0xeb, 0xb8, 0xa4, + 0xa2, 0x98, 0xe7, 0x25, +}; +static const struct drbg_kat_no_reseed kat929_t = { + 13, kat929_entropyin, kat929_nonce, kat929_persstr, + kat929_addin0, kat929_addin1, kat929_retbits +}; +static const struct drbg_kat kat929 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat929_t +}; + +static const unsigned char kat930_entropyin[] = { + 0x05, 0x87, 0x30, 0xb7, 0x25, 0x64, 0x96, 0x5e, 0x80, 0x2a, 0xa3, 0x79, + 0x2a, 0x7d, 0xb2, 0x62, 0xd9, 0x4d, 0x4f, 0x10, 0xf9, 0x09, 0x8a, 0x86, + 0x30, 0x0e, 0xdf, 0x8b, 0xce, 0x91, 0xc2, 0xab, +}; +static const unsigned char kat930_nonce[] = {0}; +static const unsigned char kat930_persstr[] = {0}; +static const unsigned char kat930_addin0[] = { + 0x53, 0x45, 0x89, 0x89, 0x57, 0x77, 0xf5, 0x02, 0xaa, 0x37, 0x12, 0xae, + 0xed, 0x80, 0x13, 0xd3, 0x43, 0xa8, 0x24, 0x58, 0x47, 0x74, 0xd9, 0x2f, + 0x9b, 0x06, 0x68, 0x20, 0x1d, 0x56, 0x24, 0x89, +}; +static const unsigned char kat930_addin1[] = { + 0xa9, 0x77, 0x42, 0xc1, 0xe0, 0xc8, 0x16, 0x62, 0x6e, 0x67, 0xeb, 0xc8, + 0x1b, 0xa3, 0x98, 0x73, 0x78, 0x49, 0x9b, 0x75, 0x21, 0x2b, 0x19, 0x4b, + 0xb5, 0x6a, 0x67, 0x46, 0x02, 0x98, 0x66, 0xb0, +}; +static const unsigned char kat930_retbits[] = { + 0x80, 0x57, 0xf9, 0x7b, 0x49, 0x70, 0x0e, 0xdc, 0x8e, 0xbf, 0x7b, 0xbc, + 0x79, 0x8e, 0x6e, 0xae, 0x63, 0x9a, 0x44, 0x3e, 0x4c, 0x8e, 0x93, 0x5c, + 0xd0, 0x6e, 0xbf, 0x9e, 0x9b, 0xdb, 0x80, 0x3c, 0xd3, 0x12, 0x1a, 0x06, + 0x02, 0xb3, 0x2f, 0x08, 0x8e, 0x79, 0x06, 0xab, 0xaa, 0x68, 0xb2, 0x8b, + 0x94, 0x2e, 0x84, 0xbb, 0x09, 0xd1, 0x3d, 0x56, 0x54, 0x90, 0xd2, 0x02, + 0x95, 0xc5, 0x20, 0xa6, +}; +static const struct drbg_kat_no_reseed kat930_t = { + 14, kat930_entropyin, kat930_nonce, kat930_persstr, + kat930_addin0, kat930_addin1, kat930_retbits +}; +static const struct drbg_kat kat930 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat930_t +}; + +static const unsigned char kat931_entropyin[] = { + 0xc4, 0x55, 0xc4, 0x67, 0x01, 0x37, 0xc6, 0x5c, 0x0c, 0x58, 0x21, 0x01, + 0x5e, 0x78, 0x5f, 0x84, 0x88, 0x71, 0xf9, 0x8f, 0x57, 0xe5, 0x56, 0x31, + 0x42, 0xf0, 0x15, 0x22, 0x3c, 0xd3, 0x95, 0x23, +}; +static const unsigned char kat931_nonce[] = {0}; +static const unsigned char kat931_persstr[] = { + 0x3e, 0xd6, 0x37, 0x5b, 0x5b, 0x58, 0x23, 0x81, 0xc0, 0x5e, 0xb9, 0xa9, + 0xf4, 0x0f, 0xef, 0x0d, 0x9d, 0xc5, 0xdb, 0xe3, 0xb4, 0xaf, 0x3c, 0x9d, + 0x15, 0x49, 0xe6, 0x2e, 0x75, 0x61, 0x7e, 0xdc, +}; +static const unsigned char kat931_addin0[] = {0}; +static const unsigned char kat931_addin1[] = {0}; +static const unsigned char kat931_retbits[] = { + 0x18, 0x21, 0x7c, 0x3a, 0xff, 0x49, 0x74, 0x0e, 0x09, 0x30, 0xbf, 0x33, + 0xb4, 0xae, 0xfd, 0x42, 0x20, 0xc5, 0xb7, 0x7c, 0xf3, 0xb2, 0x45, 0xfd, + 0xff, 0x3f, 0x57, 0x0a, 0x46, 0x0a, 0x59, 0xb9, 0x9f, 0x52, 0xe9, 0x65, + 0x66, 0xc0, 0xd6, 0xfd, 0xdd, 0x37, 0xe4, 0xce, 0xe0, 0x60, 0x31, 0x9a, + 0x14, 0xc2, 0xf3, 0x39, 0x4e, 0xf0, 0xd4, 0x29, 0xbe, 0x54, 0x15, 0x92, + 0x5f, 0x18, 0x85, 0x1c, +}; +static const struct drbg_kat_no_reseed kat931_t = { + 0, kat931_entropyin, kat931_nonce, kat931_persstr, + kat931_addin0, kat931_addin1, kat931_retbits +}; +static const struct drbg_kat kat931 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat931_t +}; + +static const unsigned char kat932_entropyin[] = { + 0x38, 0xe0, 0xe5, 0xf8, 0x82, 0xb5, 0x4e, 0xb0, 0xf8, 0x20, 0x85, 0xed, + 0x01, 0x77, 0xde, 0x9f, 0xac, 0x81, 0x50, 0x1f, 0x95, 0xbb, 0x9b, 0x59, + 0x56, 0x38, 0x20, 0xdb, 0xa6, 0x5d, 0xb3, 0x20, +}; +static const unsigned char kat932_nonce[] = {0}; +static const unsigned char kat932_persstr[] = { + 0x1b, 0xce, 0x11, 0x40, 0xba, 0xd4, 0x5a, 0x5e, 0xdd, 0x24, 0xf0, 0x1a, + 0x5d, 0xe1, 0xe2, 0xf8, 0x58, 0x08, 0xe1, 0x61, 0x8a, 0x34, 0x78, 0xc1, + 0x3c, 0x79, 0xe6, 0x85, 0xeb, 0x7b, 0x89, 0x94, +}; +static const unsigned char kat932_addin0[] = {0}; +static const unsigned char kat932_addin1[] = {0}; +static const unsigned char kat932_retbits[] = { + 0xaa, 0x88, 0xe2, 0xdb, 0x42, 0x5f, 0x79, 0x9a, 0xf1, 0x5d, 0xb9, 0xef, + 0x26, 0x16, 0x4f, 0x62, 0xe9, 0x06, 0xe9, 0x42, 0xe5, 0xed, 0x52, 0x10, + 0xc7, 0xd2, 0x25, 0x45, 0x32, 0x6c, 0x29, 0x7b, 0xea, 0x0e, 0x6a, 0x09, + 0x72, 0x03, 0x8e, 0x4c, 0x33, 0xfb, 0x15, 0x47, 0x9f, 0x68, 0xb0, 0x1e, + 0xfb, 0x0b, 0xae, 0x77, 0x82, 0x9c, 0xd1, 0xb2, 0x9f, 0xe9, 0xc8, 0x6a, + 0x64, 0xe3, 0x3f, 0x67, +}; +static const struct drbg_kat_no_reseed kat932_t = { + 1, kat932_entropyin, kat932_nonce, kat932_persstr, + kat932_addin0, kat932_addin1, kat932_retbits +}; +static const struct drbg_kat kat932 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat932_t +}; + +static const unsigned char kat933_entropyin[] = { + 0x9b, 0x5e, 0x7e, 0x5f, 0x42, 0x4b, 0xdd, 0x71, 0x98, 0x79, 0xf8, 0x28, + 0x57, 0x78, 0x97, 0xda, 0x33, 0x0d, 0x5a, 0xcf, 0xb0, 0xe0, 0x00, 0xe7, + 0xc5, 0xa4, 0xc5, 0x7d, 0xd6, 0x39, 0xea, 0x8c, +}; +static const unsigned char kat933_nonce[] = {0}; +static const unsigned char kat933_persstr[] = { + 0xec, 0xe4, 0xf7, 0x1c, 0x95, 0x87, 0x6c, 0xa7, 0xef, 0x40, 0x5a, 0xf4, + 0x2a, 0x3a, 0x56, 0xe3, 0x3d, 0x58, 0x5f, 0x8a, 0x73, 0x21, 0x57, 0xae, + 0x50, 0xc5, 0xf4, 0x6a, 0x30, 0xee, 0x89, 0xb3, +}; +static const unsigned char kat933_addin0[] = {0}; +static const unsigned char kat933_addin1[] = {0}; +static const unsigned char kat933_retbits[] = { + 0x1e, 0xf7, 0x94, 0xcb, 0xe0, 0x45, 0x5c, 0xf7, 0x67, 0xb5, 0xa8, 0x93, + 0x60, 0xe8, 0xce, 0xed, 0x86, 0x1d, 0x43, 0x7c, 0x64, 0xaa, 0xde, 0x0f, + 0xf4, 0xbb, 0x51, 0xc2, 0x28, 0xa3, 0x66, 0xfe, 0xaa, 0x29, 0x19, 0x95, + 0x8a, 0x72, 0xbf, 0x2c, 0xf2, 0xbb, 0x0a, 0x3a, 0x72, 0xb3, 0x23, 0x90, + 0x61, 0x3e, 0xeb, 0xb3, 0x0f, 0x54, 0x4e, 0xf1, 0x2a, 0xba, 0xde, 0x70, + 0xa2, 0x90, 0xe9, 0x84, +}; +static const struct drbg_kat_no_reseed kat933_t = { + 2, kat933_entropyin, kat933_nonce, kat933_persstr, + kat933_addin0, kat933_addin1, kat933_retbits +}; +static const struct drbg_kat kat933 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat933_t +}; + +static const unsigned char kat934_entropyin[] = { + 0xa1, 0xea, 0xe6, 0x72, 0x63, 0xa8, 0xed, 0x5e, 0x5b, 0x44, 0x6e, 0xbb, + 0x46, 0x3d, 0xf9, 0xc9, 0x72, 0x32, 0x29, 0x7d, 0x41, 0xdf, 0x8a, 0xae, + 0x4b, 0x2b, 0x26, 0x95, 0xaa, 0x5d, 0x75, 0xe0, +}; +static const unsigned char kat934_nonce[] = {0}; +static const unsigned char kat934_persstr[] = { + 0x56, 0x95, 0xc8, 0x98, 0x8e, 0xce, 0x97, 0x4e, 0xc4, 0x1c, 0x57, 0xea, + 0x45, 0x59, 0xa1, 0x0b, 0x4e, 0x81, 0x42, 0x9d, 0x59, 0xf5, 0x0a, 0xa1, + 0x72, 0xcc, 0x5e, 0x42, 0x8b, 0x5a, 0x7d, 0x3b, +}; +static const unsigned char kat934_addin0[] = {0}; +static const unsigned char kat934_addin1[] = {0}; +static const unsigned char kat934_retbits[] = { + 0xa4, 0xe4, 0x8a, 0x82, 0x29, 0xe9, 0x3d, 0x4c, 0xea, 0x55, 0x83, 0x53, + 0xe1, 0x28, 0x7a, 0x05, 0xcb, 0x4b, 0xe8, 0xe3, 0x45, 0xf6, 0x42, 0x49, + 0x69, 0x4d, 0x85, 0xcc, 0xeb, 0x06, 0x0f, 0x4f, 0x60, 0xe3, 0x5c, 0x72, + 0x13, 0xc8, 0xbd, 0x6e, 0x54, 0x0a, 0xf1, 0xef, 0x48, 0xe0, 0x6f, 0x78, + 0x35, 0xce, 0x82, 0x92, 0x35, 0x9f, 0x24, 0xea, 0xcd, 0xa1, 0xf8, 0x25, + 0xbc, 0x5b, 0xc9, 0x86, +}; +static const struct drbg_kat_no_reseed kat934_t = { + 3, kat934_entropyin, kat934_nonce, kat934_persstr, + kat934_addin0, kat934_addin1, kat934_retbits +}; +static const struct drbg_kat kat934 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat934_t +}; + +static const unsigned char kat935_entropyin[] = { + 0x42, 0x2d, 0xb7, 0xfa, 0x67, 0x03, 0x4d, 0x9b, 0x77, 0xa6, 0x64, 0x31, + 0x9f, 0x3a, 0x9d, 0xbe, 0x1e, 0x9c, 0x96, 0x64, 0xca, 0x7c, 0x9b, 0x3a, + 0xcd, 0x8d, 0x47, 0xa8, 0x34, 0xfc, 0xcc, 0x2f, +}; +static const unsigned char kat935_nonce[] = {0}; +static const unsigned char kat935_persstr[] = { + 0x95, 0xce, 0x4f, 0x75, 0x4e, 0xa4, 0x40, 0x59, 0x54, 0xfc, 0x05, 0x5f, + 0xbb, 0x8b, 0x7e, 0x9a, 0x6b, 0x25, 0x17, 0xef, 0x97, 0xbc, 0xcc, 0xfc, + 0xb3, 0x9a, 0xee, 0x8e, 0x9f, 0x7a, 0x34, 0x2f, +}; +static const unsigned char kat935_addin0[] = {0}; +static const unsigned char kat935_addin1[] = {0}; +static const unsigned char kat935_retbits[] = { + 0x99, 0x8f, 0x5b, 0x9e, 0x2d, 0xac, 0xe2, 0x4a, 0x46, 0x5f, 0xdf, 0xd0, + 0x26, 0x28, 0xfa, 0xda, 0xdd, 0xfb, 0x42, 0x8d, 0x7a, 0xc5, 0x0c, 0xd0, + 0x35, 0x03, 0xaa, 0xe7, 0x77, 0x9f, 0xca, 0x70, 0x18, 0x23, 0xf2, 0xe0, + 0x5d, 0x1b, 0xe3, 0xe6, 0xe0, 0xd6, 0x61, 0xcd, 0x57, 0xcb, 0xf5, 0xda, + 0x8e, 0x08, 0xa6, 0x41, 0xb0, 0x01, 0x8e, 0x56, 0xd7, 0x57, 0x97, 0x4d, + 0x40, 0xfe, 0x25, 0xe4, +}; +static const struct drbg_kat_no_reseed kat935_t = { + 4, kat935_entropyin, kat935_nonce, kat935_persstr, + kat935_addin0, kat935_addin1, kat935_retbits +}; +static const struct drbg_kat kat935 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat935_t +}; + +static const unsigned char kat936_entropyin[] = { + 0xe5, 0xb2, 0xf8, 0x2d, 0xaf, 0x26, 0x3b, 0x34, 0xb8, 0xc2, 0x1b, 0xdf, + 0xf1, 0x10, 0x37, 0x2a, 0xdd, 0x43, 0xc7, 0xd8, 0xd0, 0xe8, 0x2c, 0x22, + 0xc8, 0xfb, 0xb4, 0x44, 0xda, 0x61, 0xd9, 0xc4, +}; +static const unsigned char kat936_nonce[] = {0}; +static const unsigned char kat936_persstr[] = { + 0x19, 0x11, 0x35, 0x23, 0x55, 0x6c, 0x74, 0xa7, 0xbb, 0x31, 0x32, 0x80, + 0x98, 0xea, 0xa2, 0x5a, 0xc8, 0xb4, 0x2c, 0x47, 0x80, 0x52, 0x47, 0xa0, + 0x16, 0xae, 0x2c, 0xdd, 0x91, 0x39, 0xf5, 0xbf, +}; +static const unsigned char kat936_addin0[] = {0}; +static const unsigned char kat936_addin1[] = {0}; +static const unsigned char kat936_retbits[] = { + 0xb3, 0xb8, 0xab, 0x1d, 0x48, 0x0e, 0x61, 0x23, 0xbf, 0xaa, 0x85, 0xf5, + 0x26, 0xdd, 0x8a, 0x8d, 0xb1, 0x0b, 0xf0, 0xc4, 0xa8, 0x2e, 0x3b, 0x09, + 0xed, 0x73, 0x30, 0x25, 0xb1, 0x9c, 0x08, 0xe4, 0x9f, 0xa3, 0x2a, 0x9a, + 0x6e, 0x8d, 0x52, 0x07, 0xc5, 0xab, 0xcc, 0x9d, 0xcf, 0x5e, 0x36, 0x66, + 0x28, 0x19, 0xdd, 0x6a, 0x50, 0x30, 0x88, 0xf0, 0xd1, 0x8e, 0x48, 0xba, + 0x8d, 0x71, 0xf5, 0x3f, +}; +static const struct drbg_kat_no_reseed kat936_t = { + 5, kat936_entropyin, kat936_nonce, kat936_persstr, + kat936_addin0, kat936_addin1, kat936_retbits +}; +static const struct drbg_kat kat936 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat936_t +}; + +static const unsigned char kat937_entropyin[] = { + 0xc0, 0x82, 0x65, 0x7d, 0xa3, 0xa6, 0x6b, 0x0a, 0xb1, 0x7c, 0x64, 0x79, + 0x27, 0x6a, 0xec, 0xbb, 0x67, 0x98, 0xf0, 0xcc, 0x79, 0x1a, 0xf2, 0xe9, + 0x71, 0x3d, 0x2b, 0x7a, 0x90, 0x45, 0x4f, 0xa6, +}; +static const unsigned char kat937_nonce[] = {0}; +static const unsigned char kat937_persstr[] = { + 0x33, 0x6b, 0xcb, 0x3a, 0x62, 0x37, 0x33, 0xf6, 0x2e, 0xae, 0xa9, 0x70, + 0x22, 0x9c, 0xb4, 0x26, 0xf6, 0x17, 0xa2, 0xca, 0x77, 0xa6, 0x85, 0x86, + 0x58, 0x91, 0x18, 0x84, 0x2c, 0x9f, 0x31, 0x5f, +}; +static const unsigned char kat937_addin0[] = {0}; +static const unsigned char kat937_addin1[] = {0}; +static const unsigned char kat937_retbits[] = { + 0xbb, 0xa3, 0x37, 0xdc, 0xc4, 0xef, 0xa6, 0xc1, 0xe0, 0xb2, 0x4b, 0xad, + 0x11, 0xf9, 0x23, 0x08, 0x05, 0x44, 0xbd, 0x6d, 0x58, 0xf7, 0x9e, 0xa0, + 0x59, 0x23, 0x27, 0xbe, 0x33, 0xb0, 0x53, 0x04, 0xb1, 0x97, 0xa6, 0x77, + 0x0f, 0x9d, 0x2c, 0x17, 0x47, 0xc3, 0x2c, 0x79, 0x2f, 0x80, 0xd7, 0xb0, + 0x48, 0x8b, 0x6c, 0xf8, 0x49, 0x60, 0x48, 0xd4, 0xe4, 0xd5, 0xc6, 0x05, + 0x1b, 0xbd, 0x06, 0xf9, +}; +static const struct drbg_kat_no_reseed kat937_t = { + 6, kat937_entropyin, kat937_nonce, kat937_persstr, + kat937_addin0, kat937_addin1, kat937_retbits +}; +static const struct drbg_kat kat937 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat937_t +}; + +static const unsigned char kat938_entropyin[] = { + 0x20, 0x7c, 0x2e, 0x64, 0xe9, 0x08, 0xf3, 0x0f, 0x83, 0xd3, 0x5d, 0x2a, + 0x1e, 0x78, 0x30, 0x41, 0xfb, 0xab, 0x4a, 0x8e, 0x1a, 0x19, 0xda, 0xb7, + 0x00, 0xf3, 0x02, 0x03, 0x11, 0x58, 0xa2, 0x6b, +}; +static const unsigned char kat938_nonce[] = {0}; +static const unsigned char kat938_persstr[] = { + 0x7b, 0xc5, 0xcf, 0x5c, 0x52, 0x5a, 0x3d, 0x06, 0x19, 0x15, 0x13, 0x53, + 0x41, 0x95, 0xb9, 0x7c, 0x89, 0x68, 0x64, 0x84, 0xbf, 0x04, 0x92, 0xe0, + 0x8a, 0x18, 0xe4, 0xe1, 0xb9, 0x99, 0x15, 0x56, +}; +static const unsigned char kat938_addin0[] = {0}; +static const unsigned char kat938_addin1[] = {0}; +static const unsigned char kat938_retbits[] = { + 0xb0, 0x76, 0x1b, 0x36, 0xa7, 0xd5, 0xd5, 0xb4, 0x7a, 0x72, 0xe5, 0xda, + 0xff, 0xf3, 0x1d, 0xa8, 0xac, 0x15, 0xee, 0xd0, 0x77, 0x99, 0x57, 0x43, + 0x92, 0x2d, 0xf4, 0xdc, 0x11, 0x02, 0xc7, 0xe9, 0xb6, 0x4d, 0xb6, 0x58, + 0x57, 0x35, 0xf0, 0x11, 0xa7, 0x6a, 0x37, 0x8d, 0x8a, 0x7f, 0xff, 0x8e, + 0xda, 0x0f, 0x0a, 0x13, 0x60, 0x54, 0x25, 0xe3, 0x44, 0xbb, 0x50, 0x27, + 0xa2, 0x3c, 0x23, 0x84, +}; +static const struct drbg_kat_no_reseed kat938_t = { + 7, kat938_entropyin, kat938_nonce, kat938_persstr, + kat938_addin0, kat938_addin1, kat938_retbits +}; +static const struct drbg_kat kat938 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat938_t +}; + +static const unsigned char kat939_entropyin[] = { + 0xf2, 0xd9, 0x17, 0x76, 0x69, 0x5a, 0x50, 0x02, 0xaa, 0x86, 0x63, 0x54, + 0x0f, 0x32, 0x9a, 0xd7, 0x24, 0x0a, 0x4a, 0x1b, 0x1e, 0x7d, 0xfc, 0x89, + 0x19, 0xca, 0x0e, 0x83, 0x14, 0x5d, 0xa0, 0x9b, +}; +static const unsigned char kat939_nonce[] = {0}; +static const unsigned char kat939_persstr[] = { + 0x80, 0xc0, 0x30, 0x6c, 0x1f, 0xc4, 0xa5, 0x6b, 0x7c, 0xf8, 0x5c, 0x06, + 0x65, 0xd0, 0x7d, 0xcf, 0x77, 0x61, 0x05, 0x53, 0xd3, 0xbe, 0xb4, 0xcf, + 0xf4, 0x55, 0x93, 0x24, 0x0a, 0x98, 0x63, 0x16, +}; +static const unsigned char kat939_addin0[] = {0}; +static const unsigned char kat939_addin1[] = {0}; +static const unsigned char kat939_retbits[] = { + 0x10, 0x26, 0x23, 0xf2, 0x58, 0xd2, 0x7f, 0xe2, 0x74, 0xd0, 0xbe, 0xe7, + 0x6f, 0x6c, 0xc2, 0x0a, 0x79, 0x04, 0xf7, 0xc8, 0xa1, 0x99, 0x1d, 0xff, + 0x15, 0xb5, 0x5b, 0xaa, 0x92, 0xf1, 0x89, 0x47, 0xbc, 0xd4, 0x00, 0x41, + 0x4b, 0x28, 0x03, 0x77, 0xb3, 0x7a, 0x1d, 0x13, 0x14, 0x07, 0x34, 0x3a, + 0x87, 0xf1, 0x0a, 0x42, 0xbd, 0x60, 0x01, 0x0a, 0xd7, 0xb8, 0x58, 0x0a, + 0x49, 0x80, 0xdf, 0x14, +}; +static const struct drbg_kat_no_reseed kat939_t = { + 8, kat939_entropyin, kat939_nonce, kat939_persstr, + kat939_addin0, kat939_addin1, kat939_retbits +}; +static const struct drbg_kat kat939 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat939_t +}; + +static const unsigned char kat940_entropyin[] = { + 0x73, 0x45, 0x6d, 0xf4, 0xea, 0x33, 0xf0, 0x93, 0x15, 0xf5, 0x52, 0x7f, + 0xdd, 0xb2, 0x7f, 0x19, 0x5f, 0xa6, 0x22, 0x98, 0xd2, 0x98, 0xf6, 0xca, + 0x5f, 0x40, 0x23, 0x75, 0x8f, 0x35, 0xeb, 0xbf, +}; +static const unsigned char kat940_nonce[] = {0}; +static const unsigned char kat940_persstr[] = { + 0x5b, 0xdc, 0x81, 0x79, 0x75, 0xa6, 0x24, 0x15, 0xad, 0x32, 0x27, 0xc3, + 0xef, 0x89, 0x06, 0x09, 0x98, 0xfc, 0x91, 0x30, 0xb3, 0x00, 0x8c, 0x7b, + 0xb9, 0x83, 0x07, 0xc9, 0x64, 0xc5, 0x63, 0x19, +}; +static const unsigned char kat940_addin0[] = {0}; +static const unsigned char kat940_addin1[] = {0}; +static const unsigned char kat940_retbits[] = { + 0xfc, 0x88, 0x67, 0x1d, 0x75, 0x83, 0x34, 0xf2, 0x8d, 0x97, 0xc4, 0x34, + 0x60, 0x79, 0xba, 0xf8, 0x0a, 0x3a, 0xc5, 0x19, 0x19, 0xd5, 0xb2, 0x47, + 0x67, 0x00, 0x73, 0x19, 0x9c, 0x89, 0xaf, 0xc8, 0xfb, 0xda, 0x22, 0x19, + 0x37, 0xc0, 0x6a, 0x78, 0xd3, 0x66, 0x3e, 0x67, 0x94, 0xe6, 0x64, 0x3c, + 0x4f, 0x4a, 0x78, 0x28, 0x79, 0xca, 0xda, 0x5c, 0x76, 0x5b, 0xf6, 0xb7, + 0xbd, 0xf0, 0x0a, 0x8b, +}; +static const struct drbg_kat_no_reseed kat940_t = { + 9, kat940_entropyin, kat940_nonce, kat940_persstr, + kat940_addin0, kat940_addin1, kat940_retbits +}; +static const struct drbg_kat kat940 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat940_t +}; + +static const unsigned char kat941_entropyin[] = { + 0xfe, 0x48, 0x32, 0xc4, 0x93, 0xc5, 0x36, 0x55, 0x85, 0x9c, 0x05, 0xd0, + 0x50, 0x1e, 0xb0, 0x01, 0x56, 0x10, 0xc4, 0x25, 0x76, 0x9c, 0x9b, 0x66, + 0xff, 0xfb, 0x13, 0x63, 0xab, 0x8c, 0xf8, 0x59, +}; +static const unsigned char kat941_nonce[] = {0}; +static const unsigned char kat941_persstr[] = { + 0x65, 0x40, 0xeb, 0xcc, 0xad, 0xf8, 0x32, 0x8b, 0x7b, 0x4a, 0x34, 0xc3, + 0x2b, 0x7f, 0x01, 0xf9, 0x81, 0x88, 0x90, 0x37, 0xd0, 0x45, 0x15, 0x9a, + 0x37, 0x9b, 0xe9, 0xcc, 0xd6, 0x80, 0x0e, 0x33, +}; +static const unsigned char kat941_addin0[] = {0}; +static const unsigned char kat941_addin1[] = {0}; +static const unsigned char kat941_retbits[] = { + 0xa8, 0x5b, 0x86, 0x8b, 0x92, 0x0b, 0x7a, 0x24, 0xcd, 0xe0, 0xb8, 0xc8, + 0xbd, 0x65, 0x64, 0x38, 0xe6, 0x11, 0x3e, 0x7e, 0xb3, 0x1a, 0xf1, 0x6f, + 0x63, 0x61, 0x35, 0xf9, 0x1b, 0x52, 0x87, 0xd4, 0xbe, 0x39, 0xe4, 0xac, + 0xca, 0x8c, 0xac, 0xf2, 0x1b, 0x3d, 0x7f, 0xf5, 0x17, 0xeb, 0xf6, 0xf9, + 0xff, 0xd3, 0x97, 0x99, 0xff, 0x48, 0x9b, 0x5d, 0xac, 0x62, 0x8e, 0x24, + 0xc2, 0x23, 0x63, 0x5a, +}; +static const struct drbg_kat_no_reseed kat941_t = { + 10, kat941_entropyin, kat941_nonce, kat941_persstr, + kat941_addin0, kat941_addin1, kat941_retbits +}; +static const struct drbg_kat kat941 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat941_t +}; + +static const unsigned char kat942_entropyin[] = { + 0x47, 0x2f, 0x8a, 0xd0, 0x42, 0x8a, 0xa5, 0xa5, 0xb6, 0x33, 0x62, 0x28, + 0xf8, 0x83, 0x9b, 0xe6, 0x61, 0x92, 0x1e, 0xb7, 0xf5, 0xc7, 0xec, 0x24, + 0x06, 0xec, 0x4f, 0x74, 0x7b, 0xa4, 0x8e, 0x68, +}; +static const unsigned char kat942_nonce[] = {0}; +static const unsigned char kat942_persstr[] = { + 0x46, 0xb3, 0xb7, 0xb9, 0xcf, 0xed, 0xd0, 0x9f, 0x4a, 0x51, 0xea, 0xbd, + 0x0b, 0x54, 0x00, 0xcf, 0xe5, 0xeb, 0xf1, 0x5a, 0x5f, 0xf3, 0x86, 0x50, + 0x6c, 0x13, 0xd6, 0x55, 0xf5, 0x91, 0x0e, 0x91, +}; +static const unsigned char kat942_addin0[] = {0}; +static const unsigned char kat942_addin1[] = {0}; +static const unsigned char kat942_retbits[] = { + 0xd9, 0xaf, 0x4c, 0x41, 0x24, 0xb8, 0x8c, 0x0e, 0x76, 0x92, 0x1f, 0x79, + 0x7e, 0x0c, 0xd3, 0x12, 0xf2, 0x38, 0xde, 0x7c, 0xaa, 0xf8, 0x09, 0xa1, + 0x0b, 0xc0, 0xdf, 0x90, 0x90, 0xb2, 0x13, 0x25, 0xf7, 0x52, 0x30, 0x9d, + 0x9a, 0xa6, 0xbb, 0x2c, 0x6f, 0xc5, 0x0d, 0x40, 0xf4, 0x9c, 0xe0, 0xa1, + 0x59, 0x5c, 0x0d, 0xea, 0x0f, 0xd2, 0xca, 0x9c, 0x1f, 0x3f, 0x91, 0x0e, + 0x03, 0x8a, 0x55, 0x82, +}; +static const struct drbg_kat_no_reseed kat942_t = { + 11, kat942_entropyin, kat942_nonce, kat942_persstr, + kat942_addin0, kat942_addin1, kat942_retbits +}; +static const struct drbg_kat kat942 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat942_t +}; + +static const unsigned char kat943_entropyin[] = { + 0xe2, 0x2c, 0x61, 0xbe, 0xe8, 0x33, 0x39, 0xfa, 0x8f, 0x72, 0xb0, 0x19, + 0x1c, 0xa5, 0xcd, 0x13, 0x56, 0xd9, 0x12, 0x75, 0xd3, 0x74, 0xf0, 0x40, + 0x14, 0x5e, 0x96, 0xae, 0x45, 0x0e, 0x6a, 0x9b, +}; +static const unsigned char kat943_nonce[] = {0}; +static const unsigned char kat943_persstr[] = { + 0xe5, 0x4a, 0xe2, 0xd8, 0xa4, 0xcd, 0x7e, 0x61, 0x4f, 0xe7, 0x78, 0x2c, + 0xf9, 0x6f, 0xce, 0x02, 0x33, 0x11, 0x1e, 0x2d, 0xa3, 0x48, 0x29, 0x82, + 0x6f, 0x7b, 0xe8, 0x4c, 0x17, 0x74, 0x4a, 0xba, +}; +static const unsigned char kat943_addin0[] = {0}; +static const unsigned char kat943_addin1[] = {0}; +static const unsigned char kat943_retbits[] = { + 0x37, 0x10, 0x39, 0x09, 0x40, 0xf6, 0x41, 0xc9, 0x9f, 0x03, 0x2c, 0x1a, + 0x1b, 0x9a, 0xdd, 0xf6, 0xbb, 0x91, 0xeb, 0xc4, 0xab, 0x27, 0x8f, 0x7a, + 0x1e, 0xaf, 0xa8, 0x60, 0x92, 0xb5, 0x5b, 0x52, 0xb9, 0x72, 0x1f, 0x4b, + 0x5e, 0xa3, 0x79, 0x3b, 0x4c, 0xfb, 0x4b, 0xa8, 0xbd, 0xb4, 0x94, 0x29, + 0x33, 0x1a, 0xc7, 0xf1, 0x7c, 0x66, 0xa4, 0x77, 0x1b, 0x29, 0xfa, 0x2f, + 0xf0, 0xe1, 0x39, 0x09, +}; +static const struct drbg_kat_no_reseed kat943_t = { + 12, kat943_entropyin, kat943_nonce, kat943_persstr, + kat943_addin0, kat943_addin1, kat943_retbits +}; +static const struct drbg_kat kat943 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat943_t +}; + +static const unsigned char kat944_entropyin[] = { + 0xf8, 0x51, 0xb7, 0xec, 0xef, 0x38, 0x42, 0x2b, 0x43, 0x7d, 0x4d, 0xbd, + 0xd6, 0x3a, 0x11, 0x86, 0xa1, 0x5b, 0x3b, 0xac, 0xe8, 0x50, 0x8a, 0x2a, + 0x81, 0xd5, 0xca, 0xcc, 0x5a, 0xc5, 0xa9, 0x68, +}; +static const unsigned char kat944_nonce[] = {0}; +static const unsigned char kat944_persstr[] = { + 0x83, 0xe4, 0x31, 0x5a, 0x6c, 0x4c, 0xfa, 0x98, 0x52, 0xc9, 0x10, 0x69, + 0xa9, 0xa1, 0xc9, 0x14, 0x0a, 0xd6, 0x7f, 0xe9, 0x3e, 0xe3, 0x63, 0x3e, + 0x27, 0x93, 0x7f, 0x78, 0xfc, 0x8a, 0x11, 0xa1, +}; +static const unsigned char kat944_addin0[] = {0}; +static const unsigned char kat944_addin1[] = {0}; +static const unsigned char kat944_retbits[] = { + 0xd1, 0xa4, 0x12, 0xcc, 0x86, 0xf7, 0x9a, 0xe7, 0xc4, 0x79, 0xcf, 0xed, + 0x85, 0x90, 0xf3, 0x10, 0xe2, 0x2a, 0x68, 0x84, 0x51, 0xb6, 0x0a, 0xa8, + 0x63, 0x0f, 0xc8, 0xc2, 0xb1, 0xee, 0x0f, 0x94, 0x80, 0x6f, 0x75, 0x97, + 0x5c, 0x29, 0xdc, 0xe0, 0xe3, 0x68, 0x54, 0xfa, 0x7b, 0x86, 0x04, 0xc5, + 0xf5, 0x4d, 0xb9, 0xf6, 0x9c, 0x8e, 0x19, 0x78, 0x47, 0x2d, 0x50, 0x81, + 0xec, 0x7e, 0x15, 0x53, +}; +static const struct drbg_kat_no_reseed kat944_t = { + 13, kat944_entropyin, kat944_nonce, kat944_persstr, + kat944_addin0, kat944_addin1, kat944_retbits +}; +static const struct drbg_kat kat944 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat944_t +}; + +static const unsigned char kat945_entropyin[] = { + 0x31, 0x5b, 0xbe, 0x53, 0x0e, 0xcf, 0xa4, 0x4e, 0xb2, 0x72, 0x50, 0xf6, + 0xd2, 0x0f, 0x4b, 0x6c, 0x64, 0x8e, 0x42, 0xc6, 0x1f, 0x6f, 0xae, 0xd6, + 0xfe, 0x48, 0x3f, 0x26, 0xf6, 0xf8, 0x42, 0x7f, +}; +static const unsigned char kat945_nonce[] = {0}; +static const unsigned char kat945_persstr[] = { + 0xef, 0xa1, 0x0f, 0xa5, 0xbc, 0x1e, 0x44, 0x5c, 0x03, 0x16, 0x20, 0xeb, + 0xb3, 0x7e, 0x75, 0x52, 0xc2, 0xdf, 0xa0, 0x83, 0x07, 0xdf, 0xe5, 0x3c, + 0x1b, 0x8e, 0x74, 0xec, 0x55, 0x05, 0x03, 0x56, +}; +static const unsigned char kat945_addin0[] = {0}; +static const unsigned char kat945_addin1[] = {0}; +static const unsigned char kat945_retbits[] = { + 0xc5, 0x92, 0xd9, 0xe7, 0xb6, 0x74, 0x15, 0xd0, 0x9d, 0xfc, 0x46, 0xd3, + 0x03, 0x9b, 0x3a, 0xfc, 0x1c, 0xe6, 0x6a, 0xfa, 0x98, 0xe8, 0x79, 0x34, + 0x37, 0xcf, 0xcb, 0x5a, 0xb3, 0xa1, 0x22, 0xc6, 0x36, 0xf0, 0xa8, 0x4e, + 0xdc, 0x04, 0x09, 0x9d, 0x38, 0x19, 0xd7, 0xfa, 0x30, 0xd1, 0x96, 0x88, + 0x0d, 0x91, 0x99, 0xde, 0x17, 0xf7, 0x17, 0x0d, 0xe7, 0x25, 0xf3, 0x65, + 0x0e, 0xf3, 0x4b, 0x19, +}; +static const struct drbg_kat_no_reseed kat945_t = { + 14, kat945_entropyin, kat945_nonce, kat945_persstr, + kat945_addin0, kat945_addin1, kat945_retbits +}; +static const struct drbg_kat kat945 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat945_t +}; + +static const unsigned char kat946_entropyin[] = { + 0xb4, 0xc7, 0x40, 0xb2, 0xf8, 0xf2, 0xb7, 0x14, 0xcc, 0xdb, 0x8c, 0x58, + 0xb9, 0x76, 0x0d, 0xc6, 0xc7, 0x5d, 0xc4, 0x64, 0x54, 0x27, 0xf3, 0xd4, + 0x24, 0x13, 0x13, 0xda, 0x26, 0x43, 0x06, 0x4b, +}; +static const unsigned char kat946_nonce[] = {0}; +static const unsigned char kat946_persstr[] = { + 0xd1, 0xb2, 0x1b, 0x78, 0xca, 0x31, 0x2c, 0x96, 0xcf, 0xf6, 0x73, 0xf0, + 0x8c, 0x4b, 0xc7, 0x8b, 0x06, 0x85, 0x22, 0xc6, 0x01, 0xf5, 0x39, 0x41, + 0x04, 0x6d, 0x9a, 0xae, 0xe0, 0xf4, 0x28, 0x98, +}; +static const unsigned char kat946_addin0[] = { + 0x8c, 0x16, 0xff, 0x82, 0xbd, 0x60, 0xf9, 0x2c, 0x73, 0x7c, 0x77, 0x83, + 0x6f, 0x7c, 0x66, 0x3a, 0xc9, 0x73, 0x9d, 0x3e, 0x74, 0xd1, 0xcf, 0x5f, + 0x17, 0x35, 0x22, 0x7d, 0x83, 0x2b, 0xc0, 0xe8, +}; +static const unsigned char kat946_addin1[] = { + 0x13, 0xfa, 0x8e, 0x83, 0xc9, 0xe9, 0xa5, 0x58, 0x22, 0xd9, 0xfe, 0xf7, + 0xe6, 0x9f, 0x7c, 0xd0, 0x48, 0x03, 0x6b, 0x75, 0xdf, 0x0c, 0xac, 0x04, + 0xa2, 0x81, 0x56, 0xd2, 0x98, 0x6a, 0x19, 0xa1, +}; +static const unsigned char kat946_retbits[] = { + 0x4d, 0x73, 0xd7, 0xb7, 0x51, 0xd9, 0x09, 0x59, 0xcf, 0x09, 0x63, 0x60, + 0x52, 0x59, 0x47, 0xc2, 0xcb, 0x54, 0x56, 0x5f, 0x24, 0x1a, 0xca, 0xbd, + 0x77, 0xbc, 0x16, 0xd9, 0x18, 0x9f, 0x70, 0xb7, 0x6b, 0x58, 0xfd, 0xa7, + 0x12, 0x00, 0xb0, 0xb4, 0x90, 0x2d, 0x10, 0x06, 0x77, 0x8d, 0xd1, 0xba, + 0x76, 0x3b, 0x03, 0xfb, 0xca, 0xd6, 0xe6, 0x05, 0x16, 0x22, 0x1f, 0xd8, + 0x4a, 0xd2, 0x34, 0xfc, +}; +static const struct drbg_kat_no_reseed kat946_t = { + 0, kat946_entropyin, kat946_nonce, kat946_persstr, + kat946_addin0, kat946_addin1, kat946_retbits +}; +static const struct drbg_kat kat946 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat946_t +}; + +static const unsigned char kat947_entropyin[] = { + 0x63, 0x21, 0x08, 0x97, 0x6c, 0x11, 0xa9, 0x0e, 0x03, 0x0e, 0x4c, 0x6c, + 0xb1, 0x5d, 0x56, 0xbd, 0x79, 0xed, 0x3a, 0x94, 0x42, 0x41, 0x61, 0x09, + 0x3d, 0xca, 0xca, 0x09, 0x3b, 0x05, 0x13, 0xa3, +}; +static const unsigned char kat947_nonce[] = {0}; +static const unsigned char kat947_persstr[] = { + 0x96, 0xf9, 0xc2, 0x50, 0x76, 0x37, 0x9a, 0x4d, 0x52, 0xab, 0x9e, 0x6c, + 0xc6, 0x2c, 0x7a, 0xcd, 0x32, 0x91, 0xe3, 0x88, 0x58, 0xaf, 0xf9, 0x8f, + 0x8c, 0x52, 0xfb, 0xdb, 0xcc, 0x4c, 0x5f, 0xef, +}; +static const unsigned char kat947_addin0[] = { + 0x4e, 0x8d, 0x8f, 0xef, 0x9e, 0x5c, 0xae, 0x9f, 0x8e, 0xa2, 0x32, 0xf8, + 0x01, 0x21, 0x08, 0x71, 0xa2, 0xb4, 0xcb, 0xf1, 0x1b, 0x75, 0xea, 0x11, + 0xac, 0xd7, 0xa1, 0x01, 0xfa, 0xee, 0x75, 0x6f, +}; +static const unsigned char kat947_addin1[] = { + 0x41, 0x9f, 0x71, 0x7f, 0x34, 0x24, 0x9a, 0x0b, 0xb9, 0xa8, 0x1b, 0x27, + 0x3f, 0x52, 0x8c, 0x2a, 0x46, 0x00, 0x7f, 0x3d, 0xef, 0x9f, 0xbc, 0xd2, + 0x96, 0x89, 0xcf, 0x25, 0x10, 0x52, 0x63, 0x47, +}; +static const unsigned char kat947_retbits[] = { + 0xfe, 0x0f, 0xbb, 0x55, 0x04, 0xc5, 0xbb, 0xe4, 0xe4, 0xbe, 0xa2, 0xc5, + 0x91, 0x3b, 0x90, 0x55, 0x19, 0x78, 0x77, 0x1c, 0xf3, 0x19, 0x98, 0x2d, + 0x7e, 0xb7, 0xb7, 0x6a, 0x64, 0x49, 0x02, 0xef, 0x91, 0x12, 0xd9, 0x39, + 0x7c, 0x9c, 0x78, 0x4e, 0x33, 0xa1, 0x7c, 0xd5, 0x92, 0xe9, 0x24, 0xa8, + 0x7d, 0xde, 0xb5, 0x17, 0xff, 0x75, 0x28, 0x3d, 0xdd, 0x9b, 0x25, 0xb3, + 0x16, 0xd7, 0x5f, 0x8b, +}; +static const struct drbg_kat_no_reseed kat947_t = { + 1, kat947_entropyin, kat947_nonce, kat947_persstr, + kat947_addin0, kat947_addin1, kat947_retbits +}; +static const struct drbg_kat kat947 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat947_t +}; + +static const unsigned char kat948_entropyin[] = { + 0xca, 0xd4, 0x37, 0x3e, 0xb1, 0x8b, 0xf4, 0x91, 0x4f, 0x09, 0x73, 0x74, + 0xff, 0x20, 0x98, 0x78, 0x9b, 0x05, 0xa0, 0x4a, 0x9d, 0x1b, 0xf6, 0xf5, + 0xdb, 0x95, 0x71, 0x08, 0x08, 0xde, 0x96, 0xc0, +}; +static const unsigned char kat948_nonce[] = {0}; +static const unsigned char kat948_persstr[] = { + 0xca, 0x24, 0x00, 0xae, 0xe4, 0x98, 0xa7, 0x1f, 0xac, 0xe7, 0x34, 0x51, + 0x2a, 0x43, 0xff, 0xfb, 0x89, 0xe7, 0x4c, 0xf8, 0x18, 0xee, 0x5b, 0x2b, + 0x01, 0x7c, 0xf8, 0xb7, 0x4a, 0xa7, 0x16, 0x96, +}; +static const unsigned char kat948_addin0[] = { + 0x43, 0x0b, 0x47, 0x54, 0x0c, 0x77, 0x1f, 0x70, 0x86, 0x15, 0xd2, 0xa5, + 0x2e, 0x9f, 0x2a, 0x16, 0x7e, 0x5b, 0x08, 0x14, 0x21, 0x17, 0x83, 0x32, + 0x87, 0xd5, 0xff, 0x0e, 0x39, 0xfb, 0x44, 0x98, +}; +static const unsigned char kat948_addin1[] = { + 0x47, 0x4a, 0x3d, 0xfe, 0x1c, 0x10, 0x49, 0x38, 0x55, 0x67, 0xb9, 0x6e, + 0xb9, 0x92, 0x70, 0x93, 0x0f, 0x11, 0x81, 0xe3, 0x7d, 0x5e, 0x37, 0xd1, + 0xd0, 0x49, 0x5b, 0x98, 0x5b, 0xf1, 0x5d, 0xb7, +}; +static const unsigned char kat948_retbits[] = { + 0x17, 0x62, 0x79, 0x95, 0x9f, 0xee, 0xb2, 0x6e, 0xce, 0x7e, 0x3b, 0x83, + 0x0a, 0x2b, 0xb1, 0x4f, 0xee, 0xbb, 0x0b, 0xcc, 0xfd, 0x2f, 0x4c, 0x75, + 0xd1, 0xe1, 0xe8, 0x30, 0xb3, 0xd7, 0x82, 0xdd, 0xca, 0xf9, 0x5d, 0xfe, + 0x3d, 0x5c, 0x4d, 0x3c, 0xd2, 0xb1, 0xe6, 0x71, 0x50, 0x5d, 0xa3, 0xf6, + 0x17, 0xc5, 0xe0, 0x2a, 0x80, 0x4d, 0xa2, 0xac, 0x48, 0x42, 0xe8, 0x6a, + 0x37, 0x90, 0x1b, 0xc9, +}; +static const struct drbg_kat_no_reseed kat948_t = { + 2, kat948_entropyin, kat948_nonce, kat948_persstr, + kat948_addin0, kat948_addin1, kat948_retbits +}; +static const struct drbg_kat kat948 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat948_t +}; + +static const unsigned char kat949_entropyin[] = { + 0xa8, 0x0c, 0x79, 0xd3, 0x10, 0xab, 0xec, 0x8a, 0xe3, 0x3b, 0x0d, 0x37, + 0x09, 0x22, 0xea, 0x2f, 0xed, 0x11, 0x0a, 0x40, 0xe1, 0xb7, 0x4b, 0xcc, + 0x17, 0xf7, 0xcc, 0xa3, 0xfc, 0x26, 0x11, 0x37, +}; +static const unsigned char kat949_nonce[] = {0}; +static const unsigned char kat949_persstr[] = { + 0xbb, 0x89, 0x1b, 0x0c, 0xb5, 0xd0, 0x02, 0xaf, 0xa5, 0x09, 0xab, 0xff, + 0xca, 0xeb, 0x7b, 0x18, 0xb5, 0x96, 0x6e, 0xfb, 0x43, 0x5d, 0x13, 0x9e, + 0x79, 0x2e, 0xb3, 0x02, 0xb1, 0x08, 0x9a, 0x67, +}; +static const unsigned char kat949_addin0[] = { + 0xa9, 0xc9, 0x16, 0xc2, 0xd6, 0x68, 0xfa, 0x11, 0x2f, 0x2a, 0x43, 0xb2, + 0x2d, 0x14, 0x31, 0xca, 0xde, 0x79, 0x5e, 0xcc, 0x34, 0x00, 0x21, 0xd2, + 0x9f, 0x4a, 0x4a, 0xa9, 0x72, 0x04, 0x69, 0x61, +}; +static const unsigned char kat949_addin1[] = { + 0xb2, 0xdb, 0x3f, 0x33, 0xb6, 0xb5, 0xe4, 0x8b, 0x30, 0x59, 0x69, 0x61, + 0x79, 0xf4, 0x78, 0xcf, 0x53, 0x9a, 0x60, 0x03, 0x8d, 0xef, 0x7f, 0xc7, + 0xd9, 0x9b, 0xaa, 0x4f, 0x86, 0x7f, 0x8d, 0xea, +}; +static const unsigned char kat949_retbits[] = { + 0x6b, 0xe8, 0x7a, 0xf7, 0x44, 0xde, 0xbf, 0x0b, 0xda, 0x8a, 0xea, 0x3d, + 0x9a, 0x76, 0x14, 0x31, 0xeb, 0x25, 0xb7, 0xf4, 0xfd, 0xa2, 0xbf, 0xe0, + 0xb6, 0xd3, 0x54, 0x2c, 0x5c, 0x66, 0x4c, 0x80, 0x29, 0x9c, 0x5c, 0x53, + 0xf3, 0x2c, 0x01, 0x8b, 0x3e, 0xac, 0x9a, 0xa7, 0xfb, 0xba, 0xd4, 0xb0, + 0x1c, 0x1f, 0x3b, 0xad, 0x0b, 0x8c, 0x71, 0xb0, 0x71, 0x85, 0xc8, 0x0d, + 0xa8, 0xf1, 0x9a, 0xda, +}; +static const struct drbg_kat_no_reseed kat949_t = { + 3, kat949_entropyin, kat949_nonce, kat949_persstr, + kat949_addin0, kat949_addin1, kat949_retbits +}; +static const struct drbg_kat kat949 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat949_t +}; + +static const unsigned char kat950_entropyin[] = { + 0x5d, 0xbb, 0xa4, 0xe2, 0xfd, 0xff, 0xc9, 0x55, 0x18, 0xdc, 0xcb, 0xa9, + 0xfb, 0x68, 0x5d, 0x40, 0xd6, 0xf9, 0x54, 0xf9, 0x30, 0x41, 0x15, 0x9c, + 0xb0, 0x1b, 0xe8, 0x2a, 0xf5, 0xa7, 0x0e, 0xe0, +}; +static const unsigned char kat950_nonce[] = {0}; +static const unsigned char kat950_persstr[] = { + 0x2a, 0x4c, 0x18, 0x58, 0xd9, 0x8f, 0x46, 0x6b, 0x7e, 0x51, 0xf9, 0xe2, + 0xd0, 0xfe, 0x34, 0x79, 0xa9, 0x40, 0xe6, 0x15, 0x5d, 0x33, 0xf4, 0x0f, + 0x4c, 0x00, 0x90, 0xb8, 0x71, 0xd4, 0xc8, 0xfd, +}; +static const unsigned char kat950_addin0[] = { + 0x2a, 0x54, 0xc5, 0x2f, 0x84, 0x57, 0xc3, 0x71, 0x9d, 0xdb, 0xb9, 0x0f, + 0x31, 0xdf, 0x49, 0x23, 0x87, 0x33, 0x5a, 0x24, 0xe1, 0x75, 0x6b, 0xdd, + 0x18, 0x77, 0x37, 0xf9, 0xf4, 0x33, 0x09, 0xd2, +}; +static const unsigned char kat950_addin1[] = { + 0xfc, 0xd0, 0x84, 0xe2, 0xf3, 0x77, 0x79, 0xab, 0x82, 0x8d, 0xb9, 0x2e, + 0xf6, 0x4d, 0xb4, 0x08, 0x8b, 0xfa, 0x66, 0xda, 0xf1, 0x62, 0xc9, 0x62, + 0xfa, 0x9d, 0xdd, 0x12, 0x43, 0xc1, 0x27, 0x4e, +}; +static const unsigned char kat950_retbits[] = { + 0xad, 0x0a, 0x66, 0x1c, 0x1e, 0x5c, 0x3f, 0x44, 0x64, 0x20, 0xc0, 0x76, + 0x1f, 0x34, 0xfe, 0xb4, 0x12, 0xac, 0xe4, 0xa3, 0x7c, 0x2c, 0xdb, 0xe3, + 0x64, 0x79, 0x27, 0xb1, 0x0c, 0xa5, 0xe7, 0x68, 0x90, 0xc8, 0xba, 0xc1, + 0x0a, 0x98, 0xbe, 0xfb, 0x1b, 0xc0, 0xd0, 0xab, 0x78, 0xab, 0xd6, 0xbe, + 0xf5, 0x88, 0xe6, 0x3c, 0x91, 0x0d, 0x76, 0xc9, 0xf1, 0xbd, 0x40, 0xb8, + 0xbe, 0x35, 0x3f, 0x3d, +}; +static const struct drbg_kat_no_reseed kat950_t = { + 4, kat950_entropyin, kat950_nonce, kat950_persstr, + kat950_addin0, kat950_addin1, kat950_retbits +}; +static const struct drbg_kat kat950 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat950_t +}; + +static const unsigned char kat951_entropyin[] = { + 0xb0, 0x67, 0x3a, 0xca, 0xef, 0x01, 0x00, 0x18, 0x10, 0x45, 0x8e, 0x7e, + 0x3b, 0xf7, 0x38, 0x6f, 0xfa, 0xb4, 0x94, 0x8a, 0x68, 0x1a, 0x0a, 0x34, + 0xca, 0xe5, 0x8e, 0x9e, 0xc3, 0xed, 0xf6, 0xca, +}; +static const unsigned char kat951_nonce[] = {0}; +static const unsigned char kat951_persstr[] = { + 0xeb, 0x85, 0xb2, 0x1d, 0x4c, 0xf1, 0x17, 0x1c, 0x22, 0xf2, 0xe5, 0xb4, + 0x57, 0x3b, 0x03, 0x6f, 0x6b, 0x63, 0x76, 0x3e, 0x9f, 0xb1, 0x86, 0x7c, + 0x7e, 0xac, 0x3c, 0x4d, 0x01, 0x99, 0xb1, 0x09, +}; +static const unsigned char kat951_addin0[] = { + 0xab, 0xda, 0x36, 0x99, 0x13, 0x39, 0x04, 0x00, 0x23, 0x22, 0x2e, 0x2f, + 0x38, 0xf9, 0xe5, 0x1d, 0xe3, 0x3d, 0x8e, 0x61, 0x3e, 0xe5, 0xdc, 0x2a, + 0xdc, 0x2d, 0x9c, 0xd2, 0x87, 0x12, 0x2f, 0xc2, +}; +static const unsigned char kat951_addin1[] = { + 0xc2, 0x7e, 0x58, 0x99, 0xbd, 0x61, 0xfa, 0x08, 0x5b, 0x1f, 0x02, 0xf7, + 0x41, 0x12, 0x54, 0x3f, 0xfe, 0xb3, 0x54, 0xb6, 0x6c, 0x00, 0x5b, 0x37, + 0xf4, 0x65, 0x83, 0x67, 0x9b, 0xdd, 0x5f, 0x07, +}; +static const unsigned char kat951_retbits[] = { + 0x3f, 0x41, 0x2c, 0xba, 0x59, 0x8f, 0xac, 0x33, 0xbf, 0x9e, 0x00, 0x17, + 0x69, 0x1f, 0xf4, 0xb7, 0x19, 0x00, 0x47, 0x5b, 0x31, 0x15, 0x59, 0x84, + 0xbb, 0x6c, 0xee, 0x49, 0x1d, 0x3b, 0x65, 0xf7, 0xc1, 0x71, 0x22, 0xdf, + 0xe2, 0x3a, 0x26, 0xe1, 0x69, 0xa1, 0x6f, 0xe9, 0x91, 0xba, 0x12, 0x88, + 0x47, 0xdd, 0x2d, 0xb9, 0xe6, 0x44, 0xe9, 0xc6, 0x0b, 0xb5, 0x52, 0x46, + 0x13, 0xf3, 0x77, 0x6c, +}; +static const struct drbg_kat_no_reseed kat951_t = { + 5, kat951_entropyin, kat951_nonce, kat951_persstr, + kat951_addin0, kat951_addin1, kat951_retbits +}; +static const struct drbg_kat kat951 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat951_t +}; + +static const unsigned char kat952_entropyin[] = { + 0xd8, 0xad, 0x4c, 0x58, 0x08, 0xcf, 0xe0, 0xd9, 0x56, 0x29, 0xaf, 0x69, + 0xa9, 0x98, 0xdb, 0x8d, 0xf8, 0x7c, 0x17, 0x6b, 0x81, 0x28, 0xcb, 0x1c, + 0xf8, 0x22, 0xcd, 0x7a, 0x35, 0xf5, 0x36, 0xe4, +}; +static const unsigned char kat952_nonce[] = {0}; +static const unsigned char kat952_persstr[] = { + 0x6d, 0xff, 0x97, 0x10, 0x0c, 0xa5, 0x3e, 0x51, 0xe9, 0x81, 0x35, 0x13, + 0x88, 0xba, 0x48, 0xf2, 0xb8, 0x58, 0xd2, 0xf2, 0x0c, 0x2d, 0x60, 0xf8, + 0x60, 0xdb, 0x42, 0x01, 0xa9, 0x90, 0x2c, 0x11, +}; +static const unsigned char kat952_addin0[] = { + 0x43, 0x9e, 0xb8, 0xeb, 0x10, 0x01, 0xe1, 0xc9, 0x8d, 0x55, 0xfc, 0x69, + 0x99, 0x6e, 0x17, 0x6d, 0x30, 0xc2, 0xb5, 0x5d, 0x40, 0xe0, 0xce, 0x3a, + 0x4e, 0x40, 0xff, 0xed, 0x6f, 0xb9, 0xf5, 0x48, +}; +static const unsigned char kat952_addin1[] = { + 0xae, 0xf5, 0x77, 0xdc, 0xd6, 0x98, 0xba, 0x8e, 0xed, 0x6f, 0x7a, 0x8f, + 0x75, 0x63, 0xa7, 0xc1, 0xc0, 0xa1, 0x53, 0xce, 0x83, 0x6b, 0x2f, 0x6b, + 0xb2, 0x4b, 0x3c, 0xef, 0x81, 0xc2, 0x03, 0x43, +}; +static const unsigned char kat952_retbits[] = { + 0x04, 0x9c, 0x36, 0xad, 0x78, 0x4d, 0x2c, 0x3f, 0xe0, 0x09, 0x35, 0x13, + 0xb2, 0x96, 0x48, 0xeb, 0x8f, 0x43, 0xbe, 0xa9, 0x19, 0xf2, 0xf5, 0x26, + 0x19, 0x7f, 0x99, 0x14, 0xbe, 0x45, 0xe1, 0x63, 0xe8, 0x7e, 0xd1, 0xcf, + 0xcf, 0x88, 0xef, 0x16, 0x2c, 0xdf, 0x58, 0x7a, 0xe2, 0x2f, 0xbe, 0x08, + 0x74, 0x42, 0x25, 0x8b, 0x9c, 0x4e, 0x07, 0x68, 0x3e, 0x00, 0x5d, 0x96, + 0x34, 0x73, 0x61, 0x03, +}; +static const struct drbg_kat_no_reseed kat952_t = { + 6, kat952_entropyin, kat952_nonce, kat952_persstr, + kat952_addin0, kat952_addin1, kat952_retbits +}; +static const struct drbg_kat kat952 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat952_t +}; + +static const unsigned char kat953_entropyin[] = { + 0xff, 0x0a, 0xb6, 0x9d, 0xb9, 0xfc, 0x39, 0x48, 0x35, 0x3a, 0xcf, 0x8b, + 0xde, 0x34, 0xb8, 0x84, 0x2b, 0x57, 0x16, 0x94, 0xed, 0x10, 0xe2, 0xad, + 0xfe, 0x61, 0x6b, 0xa1, 0x62, 0x73, 0xce, 0x88, +}; +static const unsigned char kat953_nonce[] = {0}; +static const unsigned char kat953_persstr[] = { + 0x3d, 0x6a, 0x74, 0xd6, 0x92, 0xc9, 0x0c, 0xc7, 0x71, 0xd3, 0xec, 0x37, + 0x4a, 0xca, 0x83, 0xbb, 0xa7, 0xe3, 0x15, 0x33, 0x1f, 0xde, 0x42, 0xdd, + 0x73, 0x56, 0xd1, 0x61, 0x66, 0x51, 0x47, 0x36, +}; +static const unsigned char kat953_addin0[] = { + 0x7b, 0xf5, 0x23, 0x30, 0xec, 0x81, 0x79, 0xae, 0xa2, 0xc2, 0x7f, 0x1c, + 0x5f, 0x67, 0x50, 0x66, 0xd1, 0x34, 0x07, 0x73, 0xfb, 0x4d, 0x5b, 0xb3, + 0x17, 0x9a, 0x38, 0x2b, 0x6c, 0x7b, 0xa0, 0x39, +}; +static const unsigned char kat953_addin1[] = { + 0xee, 0x1c, 0xae, 0x7f, 0x1c, 0x94, 0x04, 0x8b, 0x75, 0xbf, 0x78, 0xce, + 0xaf, 0xf6, 0x32, 0xd2, 0x18, 0x4d, 0x72, 0x40, 0x91, 0xb4, 0x57, 0x2a, + 0xba, 0x23, 0xe8, 0xaf, 0x32, 0x56, 0x8a, 0x5a, +}; +static const unsigned char kat953_retbits[] = { + 0x73, 0x7c, 0xb9, 0x85, 0xf8, 0x2f, 0x30, 0x3a, 0x76, 0x32, 0x5b, 0xda, + 0x0d, 0x80, 0xa5, 0xab, 0xc5, 0x45, 0xd2, 0x54, 0x66, 0x82, 0x2f, 0x19, + 0x5c, 0xdf, 0x58, 0xae, 0x8c, 0x98, 0x8d, 0x34, 0x4f, 0x35, 0x64, 0xef, + 0x75, 0xe4, 0xde, 0x37, 0xea, 0xb3, 0x12, 0x39, 0xb7, 0x2f, 0x66, 0xe3, + 0x17, 0x45, 0x2b, 0xcd, 0xfa, 0x42, 0xfc, 0xab, 0x3b, 0x1e, 0x20, 0x79, + 0x4a, 0x12, 0xc0, 0xad, +}; +static const struct drbg_kat_no_reseed kat953_t = { + 7, kat953_entropyin, kat953_nonce, kat953_persstr, + kat953_addin0, kat953_addin1, kat953_retbits +}; +static const struct drbg_kat kat953 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat953_t +}; + +static const unsigned char kat954_entropyin[] = { + 0x43, 0x64, 0x16, 0xca, 0xa8, 0xa5, 0x46, 0xfa, 0x5c, 0xa8, 0xe0, 0x37, + 0xa8, 0x5c, 0x7c, 0x6e, 0x2f, 0xf7, 0x5e, 0xed, 0x0f, 0x83, 0x98, 0x22, + 0x1e, 0xfb, 0xc0, 0x26, 0xa9, 0xb5, 0xc3, 0xd1, +}; +static const unsigned char kat954_nonce[] = {0}; +static const unsigned char kat954_persstr[] = { + 0xaf, 0x10, 0x5d, 0xab, 0x25, 0x16, 0xaa, 0xc2, 0x90, 0x05, 0xe2, 0x1f, + 0xcf, 0xd8, 0x1c, 0xde, 0x71, 0x37, 0x80, 0xda, 0xdb, 0x36, 0x8b, 0xbf, + 0x70, 0xea, 0xa0, 0x01, 0xc5, 0x24, 0xa8, 0x41, +}; +static const unsigned char kat954_addin0[] = { + 0x4c, 0xba, 0x4a, 0x6f, 0xd0, 0x53, 0x8f, 0x15, 0x0d, 0x77, 0x02, 0xb4, + 0x21, 0x07, 0xf0, 0xc3, 0xac, 0x39, 0x63, 0x00, 0xf2, 0x1b, 0x65, 0x1c, + 0x2d, 0x3b, 0x3c, 0x40, 0x94, 0x6b, 0xd3, 0x10, +}; +static const unsigned char kat954_addin1[] = { + 0x72, 0x3c, 0x7d, 0x85, 0xcb, 0x1f, 0xd5, 0xa1, 0xcd, 0x18, 0x4d, 0x0c, + 0x85, 0x39, 0xc1, 0xe5, 0x74, 0x15, 0xc8, 0xf3, 0x7e, 0xab, 0x76, 0x41, + 0x4d, 0x58, 0x49, 0xfc, 0x00, 0xa4, 0x5c, 0x21, +}; +static const unsigned char kat954_retbits[] = { + 0x40, 0x88, 0x8d, 0x83, 0x95, 0x85, 0xcc, 0xe4, 0x66, 0x42, 0xcf, 0xc4, + 0x64, 0x2c, 0x17, 0x07, 0xda, 0x64, 0xba, 0xa6, 0x7d, 0x67, 0x25, 0x0c, + 0x55, 0x38, 0xe9, 0x89, 0x6c, 0x98, 0xed, 0x0f, 0x35, 0xdc, 0x9b, 0xc0, + 0x4c, 0xdb, 0x34, 0x95, 0x10, 0x8b, 0xbe, 0xb4, 0xde, 0x81, 0x4a, 0x11, + 0x5b, 0x37, 0x4e, 0xa4, 0x69, 0xf0, 0x19, 0x84, 0x8a, 0xa1, 0xc2, 0x36, + 0xa8, 0xc3, 0x64, 0xdb, +}; +static const struct drbg_kat_no_reseed kat954_t = { + 8, kat954_entropyin, kat954_nonce, kat954_persstr, + kat954_addin0, kat954_addin1, kat954_retbits +}; +static const struct drbg_kat kat954 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat954_t +}; + +static const unsigned char kat955_entropyin[] = { + 0xb3, 0x37, 0x58, 0xe3, 0x05, 0x47, 0x1b, 0x87, 0x46, 0x4e, 0xfd, 0x41, + 0x2a, 0x46, 0xd7, 0x25, 0xae, 0x5b, 0x12, 0x2a, 0xcb, 0xff, 0x2e, 0xec, + 0x04, 0x27, 0x4c, 0x60, 0xb4, 0xdb, 0x7f, 0xe9, +}; +static const unsigned char kat955_nonce[] = {0}; +static const unsigned char kat955_persstr[] = { + 0x07, 0x42, 0xec, 0x33, 0xd5, 0x70, 0x9b, 0x95, 0xba, 0x5f, 0xfa, 0x4d, + 0x75, 0xcc, 0x81, 0xa8, 0xd5, 0xc7, 0x9d, 0x70, 0x41, 0xff, 0x81, 0xc9, + 0xaf, 0x85, 0xf7, 0x28, 0x04, 0x74, 0x54, 0xa5, +}; +static const unsigned char kat955_addin0[] = { + 0xbc, 0x73, 0x1f, 0xda, 0xb1, 0xfe, 0x45, 0x84, 0xcf, 0xc4, 0xd2, 0x61, + 0xfc, 0xee, 0x0b, 0x02, 0x29, 0xec, 0x96, 0x1a, 0xf2, 0x0c, 0xfd, 0x14, + 0x06, 0x9a, 0x1f, 0xff, 0x48, 0x73, 0x6c, 0x28, +}; +static const unsigned char kat955_addin1[] = { + 0x2c, 0xe2, 0xff, 0x0b, 0xc7, 0xc3, 0x79, 0x66, 0x60, 0x80, 0x6a, 0xdc, + 0xfb, 0x3e, 0x49, 0x5f, 0x9b, 0x1f, 0xb9, 0x4d, 0x64, 0x52, 0xb8, 0x44, + 0x37, 0xcb, 0x97, 0x2c, 0xdd, 0x48, 0xc9, 0xdb, +}; +static const unsigned char kat955_retbits[] = { + 0x9c, 0x6f, 0xdd, 0xf4, 0xd8, 0xfd, 0xa2, 0x64, 0x11, 0x53, 0x46, 0x49, + 0x94, 0x89, 0x23, 0x16, 0xd4, 0xc5, 0x74, 0xba, 0xdd, 0xed, 0x64, 0x66, + 0xa5, 0x53, 0x5e, 0x36, 0x29, 0xe0, 0x42, 0xbe, 0x35, 0xc6, 0xf0, 0x1b, + 0xb2, 0x30, 0x70, 0x8f, 0x93, 0x4b, 0x52, 0x60, 0xd0, 0xe3, 0x1d, 0x33, + 0xa7, 0x11, 0x70, 0x28, 0x7f, 0x14, 0x8b, 0xed, 0x2b, 0xeb, 0x6a, 0xbd, + 0x57, 0xe1, 0xe2, 0xa2, +}; +static const struct drbg_kat_no_reseed kat955_t = { + 9, kat955_entropyin, kat955_nonce, kat955_persstr, + kat955_addin0, kat955_addin1, kat955_retbits +}; +static const struct drbg_kat kat955 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat955_t +}; + +static const unsigned char kat956_entropyin[] = { + 0x28, 0x56, 0xac, 0x3c, 0xff, 0xae, 0x8f, 0x23, 0x57, 0x5a, 0x10, 0x21, + 0xf1, 0xb3, 0x93, 0x65, 0xb6, 0x71, 0xab, 0x4c, 0xcf, 0xbf, 0xb9, 0x39, + 0x6e, 0xc0, 0xf1, 0xad, 0xe2, 0x61, 0xe1, 0xfb, +}; +static const unsigned char kat956_nonce[] = {0}; +static const unsigned char kat956_persstr[] = { + 0xa8, 0x10, 0x44, 0x56, 0x97, 0xe5, 0x05, 0xac, 0x0a, 0x9e, 0xdf, 0x58, + 0xce, 0xb3, 0xa0, 0x88, 0x95, 0x30, 0xe9, 0xc7, 0x75, 0x7a, 0x2b, 0x8b, + 0xe8, 0x8c, 0x52, 0xc8, 0x1d, 0xfb, 0x0d, 0x32, +}; +static const unsigned char kat956_addin0[] = { + 0xe1, 0xf3, 0x95, 0x83, 0x54, 0xc6, 0x6a, 0x0c, 0xd1, 0xc0, 0xac, 0x4c, + 0xa8, 0x64, 0x85, 0x24, 0xb7, 0x5b, 0xbb, 0x67, 0x73, 0xc9, 0xa7, 0x51, + 0xec, 0x9d, 0xc9, 0x29, 0x57, 0x42, 0x00, 0x84, +}; +static const unsigned char kat956_addin1[] = { + 0x8f, 0x3b, 0xb3, 0x13, 0xc3, 0x56, 0x66, 0xab, 0xbe, 0x27, 0x9b, 0x2e, + 0xc4, 0x5d, 0xa5, 0xcd, 0x41, 0xc4, 0x0f, 0x3d, 0x93, 0x89, 0xf4, 0x78, + 0xd7, 0xa2, 0x23, 0xcf, 0x73, 0x83, 0x9b, 0x71, +}; +static const unsigned char kat956_retbits[] = { + 0x04, 0x8e, 0x37, 0xf4, 0x3f, 0x1f, 0xe8, 0x78, 0xa9, 0xad, 0xd9, 0xaa, + 0xee, 0x37, 0x71, 0x22, 0x97, 0xd9, 0xd3, 0xc4, 0x62, 0x65, 0xb2, 0x27, + 0x21, 0xeb, 0x50, 0x7c, 0x60, 0x1a, 0x52, 0xae, 0x54, 0x95, 0x2f, 0x88, + 0x0c, 0xae, 0xf6, 0xea, 0x5c, 0x5d, 0xde, 0xd8, 0xc8, 0xd7, 0xf0, 0x94, + 0x18, 0xca, 0xf3, 0x24, 0xff, 0xa4, 0xfd, 0x99, 0xcb, 0xec, 0x48, 0x4a, + 0x79, 0x89, 0x6c, 0x7e, +}; +static const struct drbg_kat_no_reseed kat956_t = { + 10, kat956_entropyin, kat956_nonce, kat956_persstr, + kat956_addin0, kat956_addin1, kat956_retbits +}; +static const struct drbg_kat kat956 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat956_t +}; + +static const unsigned char kat957_entropyin[] = { + 0x80, 0x85, 0xbc, 0x19, 0xcc, 0x02, 0x55, 0x8e, 0x7e, 0x70, 0x4b, 0xca, + 0x1a, 0x79, 0xde, 0x7d, 0x53, 0x2a, 0x9f, 0x85, 0xfd, 0x65, 0x0b, 0x86, + 0x14, 0xb4, 0xd0, 0xbf, 0x03, 0x17, 0x27, 0xd1, +}; +static const unsigned char kat957_nonce[] = {0}; +static const unsigned char kat957_persstr[] = { + 0x66, 0xec, 0x26, 0xed, 0x7c, 0x8a, 0x16, 0x89, 0xd1, 0x46, 0x0d, 0x06, + 0x87, 0x5d, 0x7d, 0xdb, 0xa2, 0xde, 0xe5, 0xd8, 0xed, 0xc5, 0x09, 0xb9, + 0x8c, 0x97, 0x2a, 0x65, 0xab, 0x90, 0xb7, 0x2c, +}; +static const unsigned char kat957_addin0[] = { + 0xdb, 0x50, 0x6e, 0x35, 0x73, 0x0e, 0x4f, 0x5f, 0xaa, 0x68, 0x9f, 0xd1, + 0x5b, 0x88, 0x51, 0xdc, 0x4d, 0xbf, 0xcf, 0x64, 0xb8, 0x4f, 0xc0, 0xfb, + 0x3d, 0xc1, 0x39, 0x0b, 0x3a, 0x86, 0x76, 0x55, +}; +static const unsigned char kat957_addin1[] = { + 0xe1, 0x99, 0x06, 0xf2, 0x0b, 0x43, 0x22, 0xfd, 0xb4, 0xcb, 0xf1, 0xa5, + 0x1c, 0xa8, 0x26, 0x93, 0x35, 0xed, 0xd7, 0x20, 0xe1, 0x3d, 0x79, 0xe9, + 0x17, 0xb3, 0xdb, 0x0e, 0x04, 0xde, 0x7b, 0x7a, +}; +static const unsigned char kat957_retbits[] = { + 0x4a, 0x01, 0xe8, 0x6a, 0x5f, 0x05, 0x52, 0xd4, 0xf2, 0x0c, 0x27, 0x33, + 0x91, 0x53, 0x3f, 0xfb, 0x23, 0x83, 0x81, 0x24, 0x30, 0x01, 0xcd, 0x34, + 0xdc, 0x01, 0x1b, 0x2f, 0x83, 0xcc, 0x79, 0xa6, 0xeb, 0x85, 0x07, 0x24, + 0x10, 0xe8, 0x37, 0x46, 0xe8, 0x31, 0x8c, 0xce, 0xb2, 0x92, 0xb6, 0x10, + 0x3d, 0x83, 0x00, 0x85, 0x4a, 0x73, 0xb3, 0x4b, 0x97, 0x01, 0xa5, 0x26, + 0xb1, 0xe1, 0x4c, 0xc9, +}; +static const struct drbg_kat_no_reseed kat957_t = { + 11, kat957_entropyin, kat957_nonce, kat957_persstr, + kat957_addin0, kat957_addin1, kat957_retbits +}; +static const struct drbg_kat kat957 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat957_t +}; + +static const unsigned char kat958_entropyin[] = { + 0x47, 0x54, 0x58, 0x92, 0x8a, 0x2c, 0xf4, 0xde, 0x75, 0x29, 0x68, 0xa7, + 0x6b, 0xb7, 0x0a, 0x00, 0xeb, 0x4f, 0xc1, 0x05, 0xae, 0xca, 0xa2, 0x9c, + 0x68, 0x59, 0xbd, 0x6a, 0x50, 0x16, 0x8a, 0x52, +}; +static const unsigned char kat958_nonce[] = {0}; +static const unsigned char kat958_persstr[] = { + 0x71, 0x2e, 0x52, 0x94, 0xb5, 0x4b, 0xbd, 0xf8, 0x92, 0x36, 0x54, 0x66, + 0x0b, 0x1b, 0x6e, 0x0e, 0x66, 0x40, 0xf3, 0x98, 0x81, 0x2e, 0xeb, 0x00, + 0x16, 0xda, 0x4f, 0x26, 0x59, 0x8a, 0xaa, 0xdd, +}; +static const unsigned char kat958_addin0[] = { + 0xe4, 0xce, 0x3c, 0x57, 0x92, 0xfc, 0x12, 0xe9, 0x67, 0x32, 0xb4, 0xfa, + 0xe9, 0x91, 0x8c, 0x13, 0x2e, 0xb3, 0xaf, 0x41, 0x42, 0xcd, 0xdb, 0x96, + 0xc8, 0xa2, 0x44, 0x84, 0x58, 0xba, 0x7c, 0xa5, +}; +static const unsigned char kat958_addin1[] = { + 0x0a, 0x84, 0x95, 0xe9, 0x75, 0xbf, 0xfc, 0x3e, 0xec, 0x8e, 0x71, 0xdd, + 0xc9, 0x34, 0xdb, 0x19, 0xf2, 0xd1, 0x57, 0x50, 0xcb, 0x4a, 0x0b, 0xb2, + 0xab, 0x12, 0x9f, 0xcb, 0x7d, 0xa2, 0xb3, 0x7b, +}; +static const unsigned char kat958_retbits[] = { + 0x10, 0x16, 0xba, 0x86, 0x0d, 0xc6, 0x0b, 0x59, 0xe1, 0x2b, 0x64, 0xef, + 0xd7, 0x8a, 0x30, 0xe4, 0xd3, 0xf0, 0xaf, 0x5f, 0xaa, 0xe6, 0xe4, 0x58, + 0x84, 0xc1, 0x85, 0xfe, 0xe0, 0x31, 0x5d, 0xaf, 0xdb, 0x98, 0xd2, 0x44, + 0xcf, 0x6c, 0x3a, 0xb8, 0xd6, 0x2d, 0x8d, 0x3d, 0x01, 0x5a, 0xf5, 0x3d, + 0xc6, 0xf0, 0xc2, 0x5d, 0x0c, 0x25, 0x48, 0x01, 0xff, 0x60, 0x0f, 0xa4, + 0xe8, 0xcd, 0x08, 0xd3, +}; +static const struct drbg_kat_no_reseed kat958_t = { + 12, kat958_entropyin, kat958_nonce, kat958_persstr, + kat958_addin0, kat958_addin1, kat958_retbits +}; +static const struct drbg_kat kat958 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat958_t +}; + +static const unsigned char kat959_entropyin[] = { + 0x9d, 0x6b, 0x6f, 0xad, 0x86, 0xa5, 0xa5, 0x28, 0xcb, 0xd3, 0x46, 0x94, + 0x9e, 0x85, 0x41, 0xe3, 0x9c, 0x62, 0xa2, 0x34, 0x41, 0x3b, 0x15, 0x0c, + 0x3b, 0x6e, 0x3c, 0xf5, 0x25, 0x18, 0x57, 0xf5, +}; +static const unsigned char kat959_nonce[] = {0}; +static const unsigned char kat959_persstr[] = { + 0xce, 0x19, 0x85, 0x1b, 0xb5, 0xc7, 0x2a, 0xcd, 0xf8, 0x60, 0x95, 0x2d, + 0xe6, 0x05, 0x22, 0x7e, 0x81, 0x80, 0x3d, 0x44, 0x48, 0x5f, 0xbd, 0x00, + 0xff, 0x87, 0xcc, 0x80, 0xeb, 0x17, 0x58, 0xb9, +}; +static const unsigned char kat959_addin0[] = { + 0x39, 0x50, 0xa8, 0x9a, 0xc6, 0xcf, 0x27, 0xd8, 0x26, 0x42, 0xef, 0x05, + 0x4a, 0x5a, 0xeb, 0x9f, 0x93, 0x10, 0x56, 0x84, 0xcd, 0xe4, 0xac, 0xd2, + 0x89, 0x94, 0x63, 0x60, 0xde, 0x78, 0x7a, 0x4f, +}; +static const unsigned char kat959_addin1[] = { + 0x67, 0xc8, 0x3a, 0x5c, 0xac, 0x25, 0xd2, 0x8b, 0x8b, 0x16, 0xe8, 0xb9, + 0xb4, 0xfa, 0x7d, 0x09, 0xd9, 0x76, 0x57, 0x34, 0x20, 0xbf, 0xb0, 0x92, + 0xfe, 0xf7, 0x9f, 0xc4, 0xb6, 0xe8, 0x31, 0x10, +}; +static const unsigned char kat959_retbits[] = { + 0x19, 0x98, 0xdd, 0x01, 0x33, 0x70, 0x17, 0x43, 0xff, 0x6c, 0xba, 0xfd, + 0x05, 0x19, 0x01, 0x93, 0xef, 0x65, 0x04, 0xdf, 0xc5, 0xee, 0x8f, 0x8f, + 0xb3, 0x14, 0x77, 0x6b, 0x65, 0x67, 0xca, 0x84, 0x83, 0x0d, 0x2e, 0xd3, + 0x15, 0xd6, 0xb5, 0x04, 0xb8, 0xab, 0x80, 0xe7, 0x2c, 0xd7, 0x3b, 0x09, + 0x18, 0x0e, 0x0b, 0x6f, 0x9f, 0x19, 0x49, 0x7b, 0x72, 0xe9, 0xcd, 0x6b, + 0x6a, 0xbd, 0x06, 0x77, +}; +static const struct drbg_kat_no_reseed kat959_t = { + 13, kat959_entropyin, kat959_nonce, kat959_persstr, + kat959_addin0, kat959_addin1, kat959_retbits +}; +static const struct drbg_kat kat959 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat959_t +}; + +static const unsigned char kat960_entropyin[] = { + 0x22, 0x54, 0x60, 0x44, 0xdf, 0x54, 0xe2, 0xbf, 0xe7, 0x46, 0x93, 0x18, + 0xc5, 0x7c, 0x15, 0x9d, 0x0f, 0x25, 0xa5, 0x8b, 0xcf, 0x4f, 0xbe, 0x70, + 0xae, 0x21, 0x4b, 0x66, 0x9b, 0x2e, 0x63, 0x14, +}; +static const unsigned char kat960_nonce[] = {0}; +static const unsigned char kat960_persstr[] = { + 0x28, 0xcf, 0x3c, 0xa7, 0xdf, 0x24, 0xcd, 0x72, 0x70, 0x4c, 0xc7, 0x3b, + 0x4a, 0x61, 0x8c, 0xad, 0xb6, 0xac, 0x93, 0xf2, 0x16, 0x8c, 0x47, 0x9c, + 0x35, 0x8d, 0xe1, 0x90, 0x7c, 0x0a, 0x0c, 0x82, +}; +static const unsigned char kat960_addin0[] = { + 0x36, 0x55, 0x1e, 0xf0, 0x92, 0x32, 0xd2, 0x19, 0x95, 0x47, 0xaa, 0xef, + 0xec, 0xaa, 0xad, 0x21, 0x74, 0x43, 0xd6, 0x16, 0x43, 0x3d, 0x9d, 0x16, + 0x9b, 0xd8, 0xcd, 0x3e, 0xae, 0x7f, 0x91, 0xe2, +}; +static const unsigned char kat960_addin1[] = { + 0x9e, 0x57, 0xa4, 0xe9, 0x6a, 0xce, 0x48, 0x3d, 0xbc, 0x3c, 0x22, 0x6d, + 0x27, 0x23, 0xc9, 0x25, 0x80, 0x63, 0x27, 0x81, 0x40, 0xd2, 0x20, 0xc4, + 0xfd, 0x02, 0x3c, 0x77, 0xfb, 0x20, 0xb8, 0x4c, +}; +static const unsigned char kat960_retbits[] = { + 0xca, 0x43, 0xdc, 0xec, 0xda, 0xb6, 0x89, 0x54, 0x9b, 0xc4, 0x49, 0x3a, + 0x38, 0xa6, 0xa0, 0x17, 0xf6, 0x04, 0x82, 0x70, 0xe5, 0xd7, 0x0d, 0x0d, + 0x75, 0x76, 0xa2, 0xab, 0x76, 0x4d, 0x92, 0x2b, 0xc3, 0x46, 0xe3, 0x0f, + 0x42, 0xdc, 0x5a, 0x73, 0xea, 0x6a, 0x21, 0x0d, 0x2e, 0xba, 0x9b, 0xee, + 0x5b, 0x5a, 0xfe, 0x3c, 0x66, 0x86, 0x7a, 0x68, 0xab, 0x3f, 0xe0, 0xd0, + 0x8f, 0x51, 0x11, 0x01, +}; +static const struct drbg_kat_no_reseed kat960_t = { + 14, kat960_entropyin, kat960_nonce, kat960_persstr, + kat960_addin0, kat960_addin1, kat960_retbits +}; +static const struct drbg_kat kat960 = { + NO_RESEED, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat960_t +}; + +static const unsigned char kat961_entropyin[] = { + 0xf1, 0xef, 0x7e, 0xb3, 0x11, 0xc8, 0x50, 0xe1, 0x89, 0xbe, 0x22, 0x9d, + 0xf7, 0xe6, 0xd6, 0x8f, 0x17, 0x95, 0xaa, 0x8e, 0x21, 0xd9, 0x35, 0x04, + 0xe7, 0x5a, 0xbe, 0x78, 0xf0, 0x41, 0x39, 0x58, 0x73, 0x54, 0x03, 0x86, + 0x81, 0x2a, 0x9a, 0x2a, +}; +static const unsigned char kat961_nonce[] = {0}; +static const unsigned char kat961_persstr[] = {0}; +static const unsigned char kat961_addin0[] = {0}; +static const unsigned char kat961_addin1[] = {0}; +static const unsigned char kat961_retbits[] = { + 0x6b, 0xb0, 0xaa, 0x5b, 0x4b, 0x97, 0xee, 0x83, 0x76, 0x57, 0x36, 0xad, + 0x0e, 0x90, 0x68, 0xdf, 0xef, 0x0c, 0xcf, 0xc9, 0x3b, 0x71, 0xc1, 0xd3, + 0x42, 0x53, 0x02, 0xef, 0x7b, 0xa4, 0x63, 0x5f, 0xfc, 0x09, 0x98, 0x1d, + 0x26, 0x21, 0x77, 0xe2, 0x08, 0xa7, 0xec, 0x90, 0xa5, 0x57, 0xb6, 0xd7, + 0x61, 0x12, 0xd5, 0x6c, 0x40, 0x89, 0x38, 0x92, 0xc3, 0x03, 0x48, 0x35, + 0x03, 0x6d, 0x7a, 0x69, +}; +static const struct drbg_kat_no_reseed kat961_t = { + 0, kat961_entropyin, kat961_nonce, kat961_persstr, + kat961_addin0, kat961_addin1, kat961_retbits +}; +static const struct drbg_kat kat961 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat961_t +}; + +static const unsigned char kat962_entropyin[] = { + 0x81, 0x8d, 0x5b, 0x46, 0x0c, 0xf0, 0xe1, 0x8f, 0xaf, 0x24, 0x41, 0xc9, + 0x7e, 0xef, 0x12, 0xeb, 0xa4, 0xec, 0xa4, 0xbe, 0x95, 0xa2, 0x77, 0xc4, + 0xf7, 0xca, 0x90, 0x4d, 0xa1, 0x98, 0x1c, 0xb9, 0x05, 0xa2, 0x90, 0x60, + 0x1d, 0xb8, 0xb6, 0x77, +}; +static const unsigned char kat962_nonce[] = {0}; +static const unsigned char kat962_persstr[] = {0}; +static const unsigned char kat962_addin0[] = {0}; +static const unsigned char kat962_addin1[] = {0}; +static const unsigned char kat962_retbits[] = { + 0x6f, 0xd7, 0x54, 0x98, 0xe5, 0xf3, 0x8c, 0x40, 0xe7, 0x2a, 0x0a, 0x3c, + 0x2e, 0x22, 0x47, 0xca, 0x13, 0x39, 0x31, 0xbf, 0xed, 0x42, 0x37, 0xf0, + 0xc9, 0xa1, 0x9f, 0x6b, 0xbf, 0x6a, 0xb8, 0x38, 0x1f, 0x92, 0x71, 0x33, + 0x7f, 0x6d, 0xe6, 0xaf, 0x53, 0xd7, 0xd5, 0xf6, 0x72, 0x57, 0xfc, 0xe6, + 0xbc, 0x8e, 0x60, 0x2a, 0xf8, 0xb9, 0x84, 0x4f, 0x04, 0x3c, 0x78, 0xf2, + 0xd2, 0x4e, 0x4f, 0xfb, +}; +static const struct drbg_kat_no_reseed kat962_t = { + 1, kat962_entropyin, kat962_nonce, kat962_persstr, + kat962_addin0, kat962_addin1, kat962_retbits +}; +static const struct drbg_kat kat962 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat962_t +}; + +static const unsigned char kat963_entropyin[] = { + 0xe4, 0x5d, 0xc4, 0x11, 0x3f, 0x01, 0xb5, 0x89, 0xe5, 0x03, 0xe7, 0xc5, + 0x8f, 0x6a, 0x7c, 0x91, 0x0d, 0x8a, 0x34, 0x58, 0xb7, 0x1f, 0xb3, 0x22, + 0xbb, 0xbf, 0xee, 0x17, 0x5e, 0x15, 0x06, 0x0b, 0x27, 0x8a, 0xe6, 0x92, + 0xfb, 0x39, 0xd4, 0x6e, +}; +static const unsigned char kat963_nonce[] = {0}; +static const unsigned char kat963_persstr[] = {0}; +static const unsigned char kat963_addin0[] = {0}; +static const unsigned char kat963_addin1[] = {0}; +static const unsigned char kat963_retbits[] = { + 0x65, 0xc6, 0x96, 0xc8, 0xcd, 0x52, 0x49, 0x77, 0xea, 0xef, 0x54, 0xb5, + 0xf7, 0x59, 0x6f, 0x84, 0xd9, 0x68, 0x1e, 0xfc, 0x7f, 0xee, 0x5a, 0x41, + 0xc1, 0x47, 0x9c, 0x04, 0xb1, 0x81, 0x75, 0xe2, 0xec, 0x02, 0x96, 0xc9, + 0x77, 0x7c, 0xe4, 0x60, 0xeb, 0xb6, 0xe2, 0xc5, 0x06, 0x30, 0x31, 0x42, + 0x02, 0x58, 0x39, 0x1c, 0x70, 0xf5, 0x92, 0x6b, 0xe1, 0x15, 0x03, 0x5d, + 0xd9, 0x51, 0x55, 0xbb, +}; +static const struct drbg_kat_no_reseed kat963_t = { + 2, kat963_entropyin, kat963_nonce, kat963_persstr, + kat963_addin0, kat963_addin1, kat963_retbits +}; +static const struct drbg_kat kat963 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat963_t +}; + +static const unsigned char kat964_entropyin[] = { + 0x6f, 0x1c, 0xce, 0x67, 0xd7, 0xb6, 0x37, 0x4d, 0x3c, 0x0f, 0x08, 0x4b, + 0xca, 0xd9, 0xdb, 0xd4, 0x5d, 0x6e, 0x50, 0xb9, 0x89, 0x89, 0x1a, 0x57, + 0x82, 0x71, 0x9a, 0x7b, 0xa0, 0xa9, 0xc3, 0xc2, 0x1f, 0x06, 0x77, 0x3e, + 0x76, 0x7a, 0x97, 0x31, +}; +static const unsigned char kat964_nonce[] = {0}; +static const unsigned char kat964_persstr[] = {0}; +static const unsigned char kat964_addin0[] = {0}; +static const unsigned char kat964_addin1[] = {0}; +static const unsigned char kat964_retbits[] = { + 0x61, 0x9d, 0x8d, 0x8a, 0x12, 0x13, 0xf3, 0x56, 0x60, 0x88, 0x5d, 0xe1, + 0xee, 0xf5, 0x92, 0x86, 0x9a, 0xea, 0x27, 0xa6, 0x1e, 0x79, 0x1a, 0x0c, + 0xb4, 0xfa, 0x5a, 0x68, 0x39, 0xf4, 0xf2, 0xa7, 0xfe, 0x4d, 0xe5, 0x24, + 0xc9, 0x8f, 0x12, 0x1b, 0x06, 0x52, 0x48, 0xf2, 0xc3, 0xbd, 0xe6, 0x50, + 0x93, 0x34, 0xea, 0xfe, 0xbc, 0xd5, 0x0e, 0x77, 0x21, 0xfd, 0x80, 0x80, + 0xf5, 0x0d, 0x00, 0xf7, +}; +static const struct drbg_kat_no_reseed kat964_t = { + 3, kat964_entropyin, kat964_nonce, kat964_persstr, + kat964_addin0, kat964_addin1, kat964_retbits +}; +static const struct drbg_kat kat964 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat964_t +}; + +static const unsigned char kat965_entropyin[] = { + 0x40, 0xef, 0xaa, 0x49, 0x98, 0x6a, 0xa9, 0x0e, 0x98, 0xf3, 0xb8, 0x4a, + 0x7d, 0x21, 0x28, 0x27, 0xd2, 0x15, 0xaf, 0x86, 0x15, 0x63, 0xe4, 0xe2, + 0xb7, 0xae, 0xfb, 0x8b, 0xb4, 0xf2, 0x74, 0x84, 0x8b, 0xd0, 0x7a, 0xf0, + 0x4d, 0xfb, 0xb9, 0x98, +}; +static const unsigned char kat965_nonce[] = {0}; +static const unsigned char kat965_persstr[] = {0}; +static const unsigned char kat965_addin0[] = {0}; +static const unsigned char kat965_addin1[] = {0}; +static const unsigned char kat965_retbits[] = { + 0x44, 0xba, 0xb6, 0x94, 0x29, 0xd1, 0x96, 0x00, 0xa3, 0x10, 0x30, 0x21, + 0x66, 0x78, 0x84, 0x91, 0x8a, 0x45, 0x55, 0x07, 0xda, 0x16, 0x6e, 0xbe, + 0x7c, 0xbe, 0x03, 0xbb, 0xad, 0x90, 0x49, 0x38, 0x65, 0x9a, 0x9a, 0x27, + 0xdf, 0x6c, 0xa4, 0xa1, 0x67, 0x59, 0x7e, 0x74, 0xb0, 0x5a, 0x2e, 0xd3, + 0x0b, 0x92, 0x65, 0x36, 0xb4, 0x1d, 0x03, 0xaa, 0x68, 0xb3, 0xea, 0xb1, + 0xf2, 0x33, 0x15, 0xa7, +}; +static const struct drbg_kat_no_reseed kat965_t = { + 4, kat965_entropyin, kat965_nonce, kat965_persstr, + kat965_addin0, kat965_addin1, kat965_retbits +}; +static const struct drbg_kat kat965 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat965_t +}; + +static const unsigned char kat966_entropyin[] = { + 0xf2, 0xb9, 0xf3, 0x7f, 0x53, 0xdd, 0xe8, 0x7a, 0x03, 0xf4, 0x18, 0x4e, + 0x9f, 0x25, 0x0e, 0xe6, 0x02, 0xb6, 0x1c, 0x29, 0x4e, 0xa3, 0x21, 0x4d, + 0x94, 0x9f, 0x7b, 0x55, 0x64, 0xc9, 0x62, 0xcb, 0xdc, 0x70, 0xa6, 0xf8, + 0x1e, 0xf6, 0x6a, 0x5d, +}; +static const unsigned char kat966_nonce[] = {0}; +static const unsigned char kat966_persstr[] = {0}; +static const unsigned char kat966_addin0[] = {0}; +static const unsigned char kat966_addin1[] = {0}; +static const unsigned char kat966_retbits[] = { + 0xb0, 0x40, 0x9f, 0xc5, 0x1b, 0x5d, 0x25, 0x5d, 0x0b, 0x7a, 0x1f, 0xed, + 0x2a, 0x60, 0x67, 0x8b, 0x35, 0xc6, 0x4d, 0xf7, 0x79, 0xd0, 0xcf, 0xba, + 0x95, 0x43, 0x92, 0x4e, 0x75, 0x52, 0xbc, 0x6d, 0x9b, 0xf4, 0x6e, 0xce, + 0xdc, 0xef, 0xe9, 0x16, 0x01, 0x6f, 0xb5, 0xdb, 0xd2, 0x37, 0xa4, 0x50, + 0xf5, 0x40, 0x68, 0xb1, 0x4c, 0x67, 0xf4, 0x73, 0xd8, 0xf6, 0xdf, 0x08, + 0x28, 0x52, 0xb1, 0x5b, +}; +static const struct drbg_kat_no_reseed kat966_t = { + 5, kat966_entropyin, kat966_nonce, kat966_persstr, + kat966_addin0, kat966_addin1, kat966_retbits +}; +static const struct drbg_kat kat966 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat966_t +}; + +static const unsigned char kat967_entropyin[] = { + 0x7f, 0xbb, 0xba, 0x28, 0x45, 0xdd, 0xe1, 0x8c, 0x0b, 0xfa, 0x21, 0x5f, + 0x83, 0x70, 0x59, 0xcc, 0xf4, 0x77, 0xce, 0xca, 0xcb, 0x88, 0x45, 0x2d, + 0x61, 0xca, 0x3b, 0xe2, 0x7b, 0x7d, 0xde, 0x56, 0x37, 0xc4, 0x85, 0x3e, + 0xd1, 0xc7, 0x29, 0xdf, +}; +static const unsigned char kat967_nonce[] = {0}; +static const unsigned char kat967_persstr[] = {0}; +static const unsigned char kat967_addin0[] = {0}; +static const unsigned char kat967_addin1[] = {0}; +static const unsigned char kat967_retbits[] = { + 0x05, 0xb6, 0xa3, 0x6d, 0xb2, 0x4c, 0x06, 0x9e, 0xf5, 0x83, 0x51, 0x48, + 0x82, 0x45, 0x1f, 0xcf, 0x30, 0x42, 0xf8, 0x30, 0x63, 0xec, 0x03, 0xb0, + 0xdc, 0x83, 0x22, 0x1c, 0x8f, 0x0d, 0xce, 0xa9, 0x0f, 0x76, 0x92, 0xa8, + 0x89, 0x45, 0xc1, 0xd2, 0x8f, 0xd6, 0x21, 0x8a, 0x67, 0x57, 0xae, 0x66, + 0x5a, 0x21, 0xd1, 0x49, 0xb7, 0xba, 0xb4, 0x96, 0xf6, 0xe1, 0x06, 0x6c, + 0xcf, 0x1f, 0xbd, 0xb7, +}; +static const struct drbg_kat_no_reseed kat967_t = { + 6, kat967_entropyin, kat967_nonce, kat967_persstr, + kat967_addin0, kat967_addin1, kat967_retbits +}; +static const struct drbg_kat kat967 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat967_t +}; + +static const unsigned char kat968_entropyin[] = { + 0x2f, 0x85, 0xae, 0x86, 0xc3, 0x8a, 0x54, 0x68, 0x97, 0xa8, 0x2f, 0xd2, + 0x20, 0x49, 0x60, 0x99, 0xc9, 0x4b, 0x81, 0xa6, 0x5a, 0x2b, 0xd5, 0xa2, + 0xd6, 0xe6, 0x6b, 0x17, 0x28, 0xef, 0xd5, 0xe2, 0xa9, 0x9a, 0xf8, 0x50, + 0xa1, 0x7c, 0x08, 0x9b, +}; +static const unsigned char kat968_nonce[] = {0}; +static const unsigned char kat968_persstr[] = {0}; +static const unsigned char kat968_addin0[] = {0}; +static const unsigned char kat968_addin1[] = {0}; +static const unsigned char kat968_retbits[] = { + 0x30, 0xb5, 0x5d, 0x02, 0xb0, 0xfd, 0xcc, 0x1f, 0x37, 0x5c, 0xe1, 0xf2, + 0x29, 0xf5, 0x4e, 0x7c, 0xb8, 0x91, 0xf3, 0x55, 0x1e, 0xbd, 0x3c, 0x74, + 0x73, 0xe6, 0x10, 0x8f, 0x87, 0x65, 0x5b, 0x8c, 0x10, 0x13, 0x7e, 0x77, + 0x0a, 0xd5, 0x46, 0x6c, 0x61, 0xc1, 0x21, 0xdd, 0x48, 0x9c, 0x2b, 0x8f, + 0xe4, 0x50, 0x6b, 0x0c, 0x90, 0xdd, 0x49, 0x7e, 0x00, 0x52, 0x88, 0xff, + 0x1a, 0x03, 0x00, 0x52, +}; +static const struct drbg_kat_no_reseed kat968_t = { + 7, kat968_entropyin, kat968_nonce, kat968_persstr, + kat968_addin0, kat968_addin1, kat968_retbits +}; +static const struct drbg_kat kat968 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat968_t +}; + +static const unsigned char kat969_entropyin[] = { + 0x15, 0xbd, 0x0f, 0x42, 0xca, 0x57, 0xba, 0xeb, 0xa4, 0x4c, 0x71, 0xc6, + 0x9b, 0xbf, 0x29, 0x9c, 0x5d, 0x8b, 0xc0, 0x52, 0xc0, 0xd9, 0x84, 0x29, + 0xa0, 0x79, 0x4f, 0x15, 0xd2, 0xc1, 0xc6, 0x73, 0x01, 0x8b, 0xf9, 0xe4, + 0xe6, 0xb3, 0x8a, 0x53, +}; +static const unsigned char kat969_nonce[] = {0}; +static const unsigned char kat969_persstr[] = {0}; +static const unsigned char kat969_addin0[] = {0}; +static const unsigned char kat969_addin1[] = {0}; +static const unsigned char kat969_retbits[] = { + 0x5e, 0x57, 0x71, 0x80, 0xd6, 0x45, 0x4e, 0x58, 0x5c, 0x72, 0x57, 0x2e, + 0xa1, 0x45, 0x1c, 0x28, 0xd0, 0x50, 0x6e, 0xcd, 0xec, 0xc6, 0x6f, 0x20, + 0xf5, 0x7b, 0x57, 0xd7, 0x39, 0xd8, 0x93, 0x84, 0x19, 0x0f, 0x9e, 0x97, + 0xae, 0x02, 0x56, 0xcb, 0x62, 0x56, 0xd7, 0x70, 0x3d, 0x3d, 0xa0, 0xb1, + 0x1a, 0x0a, 0xc9, 0x57, 0x58, 0x0a, 0xe9, 0xa3, 0xcb, 0xb4, 0xfd, 0xb7, + 0x30, 0xac, 0xe6, 0x3f, +}; +static const struct drbg_kat_no_reseed kat969_t = { + 8, kat969_entropyin, kat969_nonce, kat969_persstr, + kat969_addin0, kat969_addin1, kat969_retbits +}; +static const struct drbg_kat kat969 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat969_t +}; + +static const unsigned char kat970_entropyin[] = { + 0xa9, 0x88, 0x28, 0x5b, 0x9e, 0xa1, 0x1c, 0xcc, 0x14, 0x37, 0xc5, 0x19, + 0x60, 0x70, 0x93, 0xbc, 0x6a, 0xed, 0x41, 0xb5, 0x09, 0xbb, 0xe0, 0x0b, + 0x70, 0x00, 0x58, 0x43, 0x7e, 0x8a, 0x52, 0xe9, 0x0b, 0xb0, 0x43, 0xcc, + 0x67, 0x13, 0x3a, 0x0d, +}; +static const unsigned char kat970_nonce[] = {0}; +static const unsigned char kat970_persstr[] = {0}; +static const unsigned char kat970_addin0[] = {0}; +static const unsigned char kat970_addin1[] = {0}; +static const unsigned char kat970_retbits[] = { + 0x94, 0x9a, 0x6e, 0xed, 0xb8, 0x42, 0xd9, 0xb6, 0x5a, 0x49, 0x6a, 0xa4, + 0xb8, 0x02, 0xf8, 0x20, 0x23, 0x42, 0x17, 0xc4, 0x83, 0x42, 0x24, 0xfc, + 0xe9, 0xfb, 0xaa, 0x72, 0x11, 0xd0, 0x74, 0x75, 0xf4, 0xc1, 0x2e, 0x1d, + 0xb7, 0x28, 0x92, 0x50, 0x94, 0xde, 0x32, 0xb1, 0x9b, 0x3e, 0xe0, 0xfb, + 0x36, 0xcf, 0x00, 0xd5, 0x66, 0x13, 0x79, 0xca, 0x76, 0xf1, 0x98, 0xfa, + 0xad, 0x76, 0x16, 0xec, +}; +static const struct drbg_kat_no_reseed kat970_t = { + 9, kat970_entropyin, kat970_nonce, kat970_persstr, + kat970_addin0, kat970_addin1, kat970_retbits +}; +static const struct drbg_kat kat970 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat970_t +}; + +static const unsigned char kat971_entropyin[] = { + 0xd7, 0xd5, 0x62, 0xd6, 0xc9, 0xcc, 0x96, 0x0a, 0x49, 0xc0, 0xb7, 0xc8, + 0x51, 0xcd, 0xfd, 0x6f, 0x53, 0x95, 0x61, 0xdc, 0xf1, 0x84, 0xef, 0x4c, + 0x96, 0x8e, 0x57, 0xf2, 0xac, 0xd7, 0x2b, 0x43, 0x2e, 0xf1, 0x1d, 0xf3, + 0xe0, 0xa0, 0xbb, 0x19, +}; +static const unsigned char kat971_nonce[] = {0}; +static const unsigned char kat971_persstr[] = {0}; +static const unsigned char kat971_addin0[] = {0}; +static const unsigned char kat971_addin1[] = {0}; +static const unsigned char kat971_retbits[] = { + 0xd8, 0xa6, 0xe5, 0x7f, 0x2a, 0xcb, 0x7b, 0x5a, 0xe9, 0x90, 0x36, 0x38, + 0x2c, 0x83, 0x18, 0x22, 0x62, 0xc1, 0x55, 0xdb, 0xed, 0x02, 0x0b, 0x5e, + 0x8f, 0x3d, 0xd4, 0x96, 0x66, 0xfe, 0xc4, 0x6a, 0x20, 0x22, 0xb1, 0x82, + 0x46, 0xae, 0x99, 0x2c, 0xbd, 0xe9, 0x78, 0xf4, 0x44, 0x1d, 0x64, 0x39, + 0x60, 0x67, 0xed, 0x03, 0x17, 0x39, 0xa3, 0x30, 0x2f, 0x15, 0x6e, 0xb8, + 0x93, 0x92, 0xc7, 0x67, +}; +static const struct drbg_kat_no_reseed kat971_t = { + 10, kat971_entropyin, kat971_nonce, kat971_persstr, + kat971_addin0, kat971_addin1, kat971_retbits +}; +static const struct drbg_kat kat971 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat971_t +}; + +static const unsigned char kat972_entropyin[] = { + 0x07, 0xd9, 0x96, 0x26, 0x93, 0x8c, 0x9f, 0x30, 0xa9, 0x96, 0x68, 0xd9, + 0x68, 0x81, 0x62, 0xba, 0xf3, 0x09, 0x3c, 0x6f, 0xbf, 0xa7, 0x83, 0xc9, + 0x9b, 0x9d, 0x92, 0x9e, 0x4b, 0x3b, 0xd4, 0x8e, 0xee, 0x1a, 0xb4, 0x94, + 0xa7, 0xd8, 0x51, 0xaa, +}; +static const unsigned char kat972_nonce[] = {0}; +static const unsigned char kat972_persstr[] = {0}; +static const unsigned char kat972_addin0[] = {0}; +static const unsigned char kat972_addin1[] = {0}; +static const unsigned char kat972_retbits[] = { + 0x50, 0x2e, 0x41, 0x25, 0x96, 0xd1, 0x88, 0x63, 0xff, 0xd5, 0x38, 0xbd, + 0x30, 0x47, 0xa1, 0xd2, 0x73, 0xe0, 0x52, 0x69, 0x94, 0xf4, 0xec, 0xa5, + 0x33, 0x8b, 0xc3, 0x1e, 0x41, 0xc5, 0xd6, 0xaf, 0x27, 0x3a, 0xe3, 0x09, + 0x28, 0x24, 0xa1, 0x4c, 0x10, 0x71, 0x66, 0x63, 0x1b, 0x5a, 0x8a, 0x94, + 0xcb, 0xf4, 0x9a, 0x7f, 0xdf, 0x9c, 0xad, 0xc1, 0x2c, 0xd1, 0x4b, 0x31, + 0x64, 0x2e, 0x70, 0x1f, +}; +static const struct drbg_kat_no_reseed kat972_t = { + 11, kat972_entropyin, kat972_nonce, kat972_persstr, + kat972_addin0, kat972_addin1, kat972_retbits +}; +static const struct drbg_kat kat972 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat972_t +}; + +static const unsigned char kat973_entropyin[] = { + 0xc5, 0x49, 0x35, 0x74, 0x29, 0xb4, 0x2c, 0xb2, 0x9b, 0x49, 0xf5, 0x7c, + 0x8e, 0xf8, 0x77, 0xca, 0x1c, 0xf1, 0xa4, 0x3c, 0x0b, 0xa7, 0xe0, 0xc6, + 0x0e, 0x54, 0x93, 0x52, 0xae, 0x84, 0x30, 0x84, 0x44, 0xe9, 0xe7, 0x03, + 0x5b, 0x49, 0x4f, 0xce, +}; +static const unsigned char kat973_nonce[] = {0}; +static const unsigned char kat973_persstr[] = {0}; +static const unsigned char kat973_addin0[] = {0}; +static const unsigned char kat973_addin1[] = {0}; +static const unsigned char kat973_retbits[] = { + 0x5d, 0x34, 0x19, 0x06, 0xe6, 0x87, 0x66, 0x36, 0xd7, 0x2c, 0x0e, 0x9c, + 0x78, 0x9d, 0x52, 0xea, 0x6e, 0x82, 0x7d, 0x10, 0xe4, 0xae, 0x2c, 0x8e, + 0xaf, 0x6b, 0x20, 0x3c, 0x3a, 0x26, 0xc7, 0x18, 0xc7, 0x64, 0x60, 0x85, + 0x39, 0xc5, 0x7f, 0x8c, 0x15, 0x81, 0x9a, 0xda, 0xb1, 0xb0, 0xbc, 0x3d, + 0x9a, 0x13, 0x2f, 0xf0, 0x13, 0x78, 0x1f, 0x22, 0xce, 0xe4, 0xb7, 0x3a, + 0xdd, 0xb5, 0x0b, 0x96, +}; +static const struct drbg_kat_no_reseed kat973_t = { + 12, kat973_entropyin, kat973_nonce, kat973_persstr, + kat973_addin0, kat973_addin1, kat973_retbits +}; +static const struct drbg_kat kat973 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat973_t +}; + +static const unsigned char kat974_entropyin[] = { + 0x2c, 0x7d, 0x6a, 0x54, 0x49, 0x3e, 0xc7, 0x62, 0x38, 0x86, 0x45, 0x62, + 0x31, 0x26, 0x4d, 0x25, 0x80, 0xfc, 0x08, 0x1e, 0xd0, 0xb9, 0x7f, 0xa5, + 0x73, 0x20, 0xef, 0x34, 0x03, 0x40, 0xba, 0xd5, 0x60, 0x16, 0x4e, 0xf2, + 0x65, 0x62, 0x9b, 0xec, +}; +static const unsigned char kat974_nonce[] = {0}; +static const unsigned char kat974_persstr[] = {0}; +static const unsigned char kat974_addin0[] = {0}; +static const unsigned char kat974_addin1[] = {0}; +static const unsigned char kat974_retbits[] = { + 0x20, 0xd7, 0x34, 0xab, 0x56, 0x11, 0xa3, 0x9d, 0x6c, 0xca, 0xf8, 0x94, + 0x1d, 0x25, 0x48, 0x04, 0xc3, 0x6b, 0xa8, 0xbf, 0x20, 0x6b, 0xf1, 0x0d, + 0x82, 0xf7, 0x21, 0xba, 0x95, 0x48, 0xb9, 0xf7, 0xcc, 0x10, 0x0f, 0x94, + 0x8a, 0xaf, 0xe3, 0xf3, 0x24, 0xca, 0x49, 0x43, 0x78, 0x32, 0x56, 0x64, + 0x1d, 0x5a, 0x1f, 0xb2, 0x3f, 0xd6, 0x06, 0x13, 0xfc, 0x0f, 0xbe, 0x30, + 0xc9, 0xca, 0xa8, 0xfa, +}; +static const struct drbg_kat_no_reseed kat974_t = { + 13, kat974_entropyin, kat974_nonce, kat974_persstr, + kat974_addin0, kat974_addin1, kat974_retbits +}; +static const struct drbg_kat kat974 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat974_t +}; + +static const unsigned char kat975_entropyin[] = { + 0x8d, 0xc5, 0xa9, 0xe8, 0xe9, 0x45, 0x8f, 0x84, 0x1d, 0xae, 0x78, 0x8d, + 0x24, 0xbb, 0x5f, 0xb1, 0x92, 0xef, 0x1f, 0xfa, 0xcc, 0xd9, 0x91, 0xf8, + 0x9f, 0x2b, 0x5d, 0x3b, 0xa5, 0x7c, 0x14, 0x71, 0x61, 0x24, 0x96, 0xc7, + 0xd9, 0xcd, 0xd1, 0x74, +}; +static const unsigned char kat975_nonce[] = {0}; +static const unsigned char kat975_persstr[] = {0}; +static const unsigned char kat975_addin0[] = {0}; +static const unsigned char kat975_addin1[] = {0}; +static const unsigned char kat975_retbits[] = { + 0xfd, 0x74, 0xa7, 0xb1, 0x5c, 0x9a, 0xf2, 0xea, 0x14, 0x0a, 0x2d, 0x0e, + 0x35, 0x3c, 0x33, 0x87, 0xb3, 0x89, 0x14, 0x4d, 0xda, 0x57, 0x79, 0xc6, + 0x9f, 0x29, 0x99, 0x17, 0xdf, 0xb1, 0x9d, 0xe6, 0xad, 0x60, 0xdd, 0x44, + 0x0c, 0x14, 0xc0, 0x10, 0xca, 0x16, 0x14, 0x36, 0x24, 0x3b, 0xf9, 0xd3, + 0x3a, 0x66, 0x49, 0x33, 0x9a, 0x35, 0x43, 0xb8, 0xe7, 0x17, 0x89, 0x62, + 0x1d, 0xa7, 0xab, 0x7b, +}; +static const struct drbg_kat_no_reseed kat975_t = { + 14, kat975_entropyin, kat975_nonce, kat975_persstr, + kat975_addin0, kat975_addin1, kat975_retbits +}; +static const struct drbg_kat kat975 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat975_t +}; + +static const unsigned char kat976_entropyin[] = { + 0xb8, 0x95, 0xb8, 0x91, 0xf0, 0x39, 0x05, 0x28, 0x21, 0xfb, 0xb4, 0xa8, + 0x89, 0xfc, 0xed, 0x86, 0x1b, 0x96, 0xc3, 0x7e, 0x36, 0xa5, 0xf4, 0xf7, + 0xaa, 0x20, 0x8a, 0x2b, 0xf3, 0x3a, 0x89, 0x6f, 0xe7, 0xe2, 0x9f, 0x3f, + 0x6c, 0xf0, 0x04, 0x1f, +}; +static const unsigned char kat976_nonce[] = {0}; +static const unsigned char kat976_persstr[] = {0}; +static const unsigned char kat976_addin0[] = { + 0x87, 0x11, 0xdf, 0x39, 0x31, 0xa9, 0x03, 0x59, 0x05, 0xeb, 0xdf, 0x51, + 0x0b, 0x3e, 0xa3, 0xf3, 0x44, 0x92, 0x3b, 0x2f, 0x20, 0xa5, 0x61, 0x70, + 0x9c, 0x0d, 0xef, 0x03, 0xb9, 0x57, 0x0b, 0xe2, 0x67, 0xe9, 0x76, 0x57, + 0x19, 0xa2, 0x5d, 0x8a, +}; +static const unsigned char kat976_addin1[] = { + 0x03, 0x90, 0x8b, 0x9f, 0xd5, 0x6b, 0xad, 0x5a, 0x16, 0x45, 0xb6, 0x88, + 0xa4, 0xf9, 0xc2, 0x34, 0x2b, 0xc0, 0xf8, 0x1f, 0xed, 0x6f, 0x74, 0x49, + 0xaf, 0x14, 0xe9, 0x29, 0x60, 0xd6, 0x01, 0x27, 0xdd, 0xa4, 0xe2, 0x74, + 0x87, 0xe7, 0x74, 0x91, +}; +static const unsigned char kat976_retbits[] = { + 0x13, 0x85, 0x39, 0x7b, 0x1a, 0x24, 0x5b, 0xd0, 0x6b, 0xbb, 0x4b, 0xcf, + 0x65, 0x1a, 0x52, 0xb2, 0xd3, 0x08, 0x67, 0xd3, 0xe2, 0xf9, 0x8e, 0x9c, + 0x7a, 0x9e, 0xe9, 0x59, 0xd2, 0xe1, 0xbb, 0xd6, 0x3a, 0x10, 0x05, 0x4f, + 0xc0, 0x81, 0xcd, 0x22, 0xa7, 0xf3, 0xb6, 0x5e, 0xd2, 0xf0, 0xb3, 0xa3, + 0xde, 0xb3, 0x89, 0xd2, 0xf3, 0x36, 0xe5, 0x0b, 0x35, 0x9a, 0x6c, 0x3e, + 0x83, 0x66, 0x7f, 0xb1, +}; +static const struct drbg_kat_no_reseed kat976_t = { + 0, kat976_entropyin, kat976_nonce, kat976_persstr, + kat976_addin0, kat976_addin1, kat976_retbits +}; +static const struct drbg_kat kat976 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat976_t +}; + +static const unsigned char kat977_entropyin[] = { + 0x3d, 0x64, 0x3a, 0xc8, 0xb8, 0xf2, 0x73, 0x2b, 0x29, 0x28, 0x61, 0xd0, + 0x82, 0xb2, 0x31, 0x41, 0x5f, 0xd6, 0x7e, 0xe5, 0x4f, 0x1e, 0xf5, 0xfd, + 0xcd, 0x9d, 0xbf, 0xe7, 0x07, 0x92, 0xd7, 0xd8, 0x77, 0x81, 0x54, 0x6d, + 0x97, 0xe9, 0x62, 0xf5, +}; +static const unsigned char kat977_nonce[] = {0}; +static const unsigned char kat977_persstr[] = {0}; +static const unsigned char kat977_addin0[] = { + 0x5a, 0xd6, 0xb5, 0xcd, 0x05, 0x3b, 0x08, 0x17, 0x50, 0xfd, 0x1a, 0x8e, + 0x9b, 0x70, 0x59, 0xac, 0x15, 0x0a, 0xe4, 0x80, 0x50, 0x33, 0xd0, 0x01, + 0x98, 0x8b, 0x18, 0xcb, 0xbc, 0xab, 0x76, 0xd9, 0xa0, 0xd3, 0x2b, 0x33, + 0xa1, 0xcc, 0xd6, 0x5f, +}; +static const unsigned char kat977_addin1[] = { + 0x7e, 0xdd, 0x5d, 0x19, 0x26, 0x98, 0xaa, 0x5b, 0xf4, 0xee, 0x25, 0xda, + 0xf8, 0x6d, 0x8e, 0x50, 0xaa, 0x4b, 0xdb, 0x03, 0xbf, 0x04, 0x3e, 0xe9, + 0x9e, 0x09, 0x56, 0xf1, 0x5e, 0xbc, 0x82, 0x76, 0xf0, 0x1d, 0x04, 0xce, + 0x14, 0x4e, 0x97, 0xf3, +}; +static const unsigned char kat977_retbits[] = { + 0x66, 0x42, 0x70, 0x4d, 0x9c, 0xf7, 0x2c, 0xf6, 0x08, 0xe8, 0x2d, 0x32, + 0xae, 0xc4, 0x53, 0x66, 0xbd, 0x09, 0xb5, 0xbb, 0x1d, 0x71, 0xd9, 0x9d, + 0x43, 0xae, 0x7b, 0x10, 0x9c, 0x82, 0x18, 0x6b, 0xca, 0x37, 0x1c, 0x96, + 0xa0, 0xd0, 0xd2, 0x93, 0xd1, 0xe7, 0xae, 0x45, 0xf3, 0xc7, 0x50, 0xa5, + 0x48, 0x6a, 0xcf, 0x30, 0xb8, 0x2a, 0xcd, 0x49, 0x22, 0xb1, 0xd5, 0xcc, + 0x7e, 0x07, 0xf4, 0x09, +}; +static const struct drbg_kat_no_reseed kat977_t = { + 1, kat977_entropyin, kat977_nonce, kat977_persstr, + kat977_addin0, kat977_addin1, kat977_retbits +}; +static const struct drbg_kat kat977 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat977_t +}; + +static const unsigned char kat978_entropyin[] = { + 0xb8, 0x2a, 0xbe, 0x82, 0xcd, 0x65, 0xe2, 0x94, 0x03, 0xe8, 0x3a, 0x05, + 0x1d, 0xf4, 0x60, 0x54, 0x52, 0x7b, 0x85, 0xfa, 0xe6, 0x53, 0xdc, 0xdd, + 0x5e, 0x1c, 0xda, 0x27, 0x59, 0x46, 0xff, 0x25, 0x53, 0x07, 0xb0, 0xe4, + 0xac, 0xd4, 0xf4, 0x9e, +}; +static const unsigned char kat978_nonce[] = {0}; +static const unsigned char kat978_persstr[] = {0}; +static const unsigned char kat978_addin0[] = { + 0x22, 0xa3, 0x9c, 0x8f, 0x9b, 0xab, 0x96, 0x67, 0x97, 0x8f, 0xbb, 0x68, + 0xf8, 0xf7, 0x1d, 0x95, 0x64, 0x85, 0xd7, 0x67, 0xd9, 0xd5, 0x2c, 0xfd, + 0xdc, 0x0c, 0xe1, 0x86, 0xc2, 0x35, 0x33, 0x51, 0xe8, 0xff, 0x1f, 0x41, + 0xe6, 0x4f, 0xff, 0xb0, +}; +static const unsigned char kat978_addin1[] = { + 0x99, 0x75, 0xe9, 0x92, 0xd7, 0x80, 0x18, 0xa4, 0x15, 0xb3, 0x16, 0xfc, + 0x54, 0xf0, 0x25, 0x82, 0x72, 0x70, 0xbc, 0x8f, 0xaf, 0xad, 0x2d, 0x59, + 0x2c, 0xb6, 0x72, 0xad, 0x49, 0x9e, 0x94, 0x46, 0x30, 0x7b, 0xce, 0xe4, + 0xd5, 0x8d, 0xeb, 0xd1, +}; +static const unsigned char kat978_retbits[] = { + 0xe3, 0x74, 0x24, 0x85, 0x87, 0xe5, 0x3a, 0xaa, 0x59, 0x7c, 0xef, 0x1f, + 0xeb, 0xdb, 0x61, 0x1b, 0xef, 0xe7, 0x18, 0x8a, 0xa6, 0xd6, 0xe4, 0x58, + 0x4e, 0x1e, 0x3e, 0x72, 0x02, 0x9b, 0xd8, 0x48, 0xae, 0x56, 0xd4, 0x1e, + 0x8f, 0x6e, 0x73, 0xd8, 0x98, 0x8d, 0x94, 0x27, 0xaa, 0xeb, 0x08, 0xe2, + 0x4e, 0x45, 0xe0, 0x42, 0xcd, 0x1e, 0x41, 0xef, 0x8d, 0x71, 0x2a, 0x66, + 0x19, 0x70, 0x88, 0x76, +}; +static const struct drbg_kat_no_reseed kat978_t = { + 2, kat978_entropyin, kat978_nonce, kat978_persstr, + kat978_addin0, kat978_addin1, kat978_retbits +}; +static const struct drbg_kat kat978 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat978_t +}; + +static const unsigned char kat979_entropyin[] = { + 0xf9, 0x07, 0x5a, 0x56, 0x01, 0x89, 0xae, 0xdb, 0x89, 0xbd, 0xb8, 0x5a, + 0x9c, 0xb9, 0xff, 0x3b, 0xcc, 0x61, 0x5e, 0x9f, 0x7d, 0x35, 0x59, 0xa6, + 0xb6, 0xcb, 0x14, 0x32, 0x16, 0xd3, 0x48, 0x09, 0x65, 0xc5, 0x66, 0x52, + 0x42, 0x77, 0x0f, 0x82, +}; +static const unsigned char kat979_nonce[] = {0}; +static const unsigned char kat979_persstr[] = {0}; +static const unsigned char kat979_addin0[] = { + 0x9b, 0x90, 0x3d, 0xed, 0xb0, 0x49, 0x2c, 0x36, 0x63, 0x22, 0xa5, 0x3b, + 0x74, 0xff, 0xb2, 0x9d, 0x2f, 0x46, 0xfd, 0x81, 0x3e, 0x3c, 0x93, 0xda, + 0x6d, 0x9e, 0xca, 0xe8, 0xa5, 0x79, 0x89, 0x14, 0xb0, 0x97, 0xf6, 0xf0, + 0xbc, 0xf7, 0x81, 0x25, +}; +static const unsigned char kat979_addin1[] = { + 0x2e, 0x45, 0xbd, 0x77, 0x1a, 0x77, 0x65, 0xef, 0x10, 0x6d, 0xc3, 0x2e, + 0x74, 0xab, 0x44, 0xf3, 0x53, 0x48, 0x7b, 0xa3, 0xc6, 0x48, 0xa2, 0x78, + 0xaf, 0xe7, 0x3f, 0x5a, 0xe0, 0xe0, 0x1b, 0xa5, 0x10, 0x36, 0x0a, 0x3c, + 0x8a, 0x1e, 0x0a, 0x36, +}; +static const unsigned char kat979_retbits[] = { + 0xb8, 0xc8, 0x86, 0x6f, 0x5a, 0x16, 0x51, 0x64, 0xfc, 0x66, 0xfb, 0x9a, + 0xb9, 0xeb, 0x96, 0xb4, 0x4f, 0x0d, 0xc3, 0x69, 0xa6, 0xb5, 0x6e, 0xbc, + 0x6f, 0xa1, 0x86, 0x96, 0xe0, 0xdd, 0x63, 0x76, 0x2c, 0x52, 0x98, 0xb8, + 0x03, 0xde, 0x06, 0x5c, 0x05, 0xdd, 0xdb, 0x1f, 0xb7, 0xd8, 0xfd, 0x95, + 0x20, 0x20, 0x11, 0x50, 0x30, 0xd9, 0x1d, 0x14, 0xa1, 0xc0, 0xcd, 0xc2, + 0x43, 0xf8, 0x99, 0xee, +}; +static const struct drbg_kat_no_reseed kat979_t = { + 3, kat979_entropyin, kat979_nonce, kat979_persstr, + kat979_addin0, kat979_addin1, kat979_retbits +}; +static const struct drbg_kat kat979 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat979_t +}; + +static const unsigned char kat980_entropyin[] = { + 0x11, 0x53, 0x2e, 0xcd, 0x67, 0xc8, 0x96, 0xe1, 0x84, 0x3c, 0x3f, 0x9e, + 0x41, 0x4e, 0x99, 0xd8, 0x65, 0xe3, 0x32, 0x08, 0x80, 0xb8, 0x20, 0x6d, + 0xfb, 0xe9, 0xe2, 0xd2, 0x3b, 0x1d, 0x02, 0xa0, 0x39, 0xd6, 0x93, 0x6d, + 0xc4, 0x7d, 0xcf, 0xf7, +}; +static const unsigned char kat980_nonce[] = {0}; +static const unsigned char kat980_persstr[] = {0}; +static const unsigned char kat980_addin0[] = { + 0x88, 0xe2, 0x2d, 0x83, 0x18, 0xf8, 0x51, 0xbd, 0xe6, 0xa5, 0x9d, 0x8b, + 0x24, 0x43, 0x1c, 0xfa, 0xfa, 0x45, 0xd7, 0xb0, 0x3a, 0xf1, 0x37, 0xc5, + 0x25, 0x73, 0x11, 0xee, 0x74, 0xaa, 0x16, 0x13, 0xed, 0xf7, 0xb3, 0xbb, + 0x02, 0x4d, 0x03, 0x52, +}; +static const unsigned char kat980_addin1[] = { + 0x8d, 0xeb, 0x0d, 0x99, 0xa4, 0x68, 0x72, 0xcb, 0x82, 0x54, 0x4f, 0xe0, + 0x93, 0xe5, 0xe3, 0xe8, 0xe8, 0x23, 0xea, 0x20, 0x19, 0xae, 0x40, 0x0b, + 0x32, 0x88, 0xb6, 0xd3, 0xb9, 0x51, 0x1d, 0x37, 0xce, 0x6e, 0xec, 0x97, + 0x9d, 0xe4, 0x3f, 0xe7, +}; +static const unsigned char kat980_retbits[] = { + 0xa7, 0x7a, 0xc4, 0xfa, 0x8e, 0x11, 0x70, 0x43, 0xc2, 0x84, 0xe6, 0x7e, + 0x85, 0xd5, 0xab, 0x87, 0xc6, 0xfe, 0x5a, 0x09, 0xd6, 0xfb, 0x83, 0xd9, + 0x2b, 0x17, 0x9b, 0xb4, 0xb0, 0xa2, 0xcc, 0x24, 0xab, 0xdd, 0xef, 0x2d, + 0xa4, 0xc8, 0x0e, 0x86, 0x7e, 0xa2, 0xff, 0x07, 0x12, 0x90, 0x20, 0x92, + 0x13, 0x92, 0x86, 0x38, 0x26, 0x9c, 0xe4, 0xc8, 0x5e, 0x41, 0x57, 0xff, + 0xcd, 0xff, 0x01, 0x4c, +}; +static const struct drbg_kat_no_reseed kat980_t = { + 4, kat980_entropyin, kat980_nonce, kat980_persstr, + kat980_addin0, kat980_addin1, kat980_retbits +}; +static const struct drbg_kat kat980 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat980_t +}; + +static const unsigned char kat981_entropyin[] = { + 0xc2, 0x11, 0x94, 0x53, 0xce, 0x99, 0xf3, 0x9d, 0x06, 0x5d, 0x81, 0xc4, + 0x6a, 0x41, 0xe0, 0xeb, 0xbc, 0x2b, 0x97, 0xe4, 0xe6, 0xc4, 0xfe, 0xd4, + 0x95, 0x83, 0x6b, 0xec, 0xbf, 0x74, 0x04, 0x31, 0x06, 0x67, 0xf0, 0x04, + 0xb4, 0xf6, 0x24, 0x33, +}; +static const unsigned char kat981_nonce[] = {0}; +static const unsigned char kat981_persstr[] = {0}; +static const unsigned char kat981_addin0[] = { + 0xe8, 0x58, 0xd3, 0xa3, 0xc2, 0x73, 0xc1, 0xb2, 0xd5, 0xc6, 0x15, 0xb1, + 0x75, 0x7a, 0xaf, 0x8e, 0x01, 0xaa, 0x38, 0xc0, 0x13, 0x18, 0xb3, 0x02, + 0x70, 0x0f, 0x50, 0x99, 0xe1, 0xe4, 0xcd, 0x13, 0x67, 0xae, 0x74, 0x6b, + 0xaa, 0xcc, 0x33, 0xde, +}; +static const unsigned char kat981_addin1[] = { + 0xf3, 0x12, 0xcb, 0xf2, 0x12, 0x57, 0x61, 0x53, 0x39, 0xb3, 0x96, 0xdc, + 0x07, 0xae, 0x88, 0x95, 0x9e, 0x5b, 0x7e, 0x9a, 0x97, 0x37, 0x47, 0x76, + 0x83, 0xd8, 0x00, 0xe3, 0xa6, 0x03, 0x38, 0x44, 0xcc, 0x67, 0xf0, 0xc9, + 0xa6, 0x9e, 0x2f, 0xce, +}; +static const unsigned char kat981_retbits[] = { + 0xee, 0x06, 0xe9, 0xa2, 0x24, 0x10, 0x6e, 0x1d, 0x41, 0xdd, 0x12, 0x08, + 0x4d, 0xed, 0x2a, 0x9e, 0xe0, 0x76, 0xc1, 0xe2, 0xb8, 0x29, 0xf1, 0x79, + 0x73, 0x2a, 0x72, 0x29, 0xaa, 0xd5, 0xeb, 0xe3, 0xfc, 0xef, 0x34, 0x33, + 0x2e, 0xd9, 0x35, 0x55, 0xd6, 0x75, 0xc3, 0x6c, 0x7d, 0xb3, 0x37, 0xfe, + 0x6a, 0xd8, 0xca, 0x3a, 0xcf, 0x97, 0xaa, 0xf3, 0x36, 0x31, 0xb7, 0x2a, + 0xd7, 0x6a, 0x30, 0x0a, +}; +static const struct drbg_kat_no_reseed kat981_t = { + 5, kat981_entropyin, kat981_nonce, kat981_persstr, + kat981_addin0, kat981_addin1, kat981_retbits +}; +static const struct drbg_kat kat981 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat981_t +}; + +static const unsigned char kat982_entropyin[] = { + 0x78, 0x89, 0x0b, 0xa4, 0xb4, 0x8d, 0x48, 0xc1, 0xe0, 0x70, 0xd9, 0x6d, + 0x95, 0x80, 0xc9, 0xb5, 0x14, 0xbb, 0x74, 0x20, 0xa3, 0x02, 0x57, 0xcf, + 0xcf, 0x2d, 0x28, 0x95, 0x84, 0x6e, 0x9e, 0x82, 0x1b, 0xcb, 0xc6, 0x3d, + 0xac, 0xea, 0xd9, 0x0c, +}; +static const unsigned char kat982_nonce[] = {0}; +static const unsigned char kat982_persstr[] = {0}; +static const unsigned char kat982_addin0[] = { + 0x5a, 0x1a, 0x0b, 0x67, 0xbf, 0x74, 0xfe, 0xb1, 0x58, 0xe2, 0x66, 0xd3, + 0xf5, 0x73, 0xf6, 0x94, 0xac, 0x20, 0xc8, 0x98, 0x93, 0x22, 0x9a, 0xc5, + 0x29, 0x7d, 0x5b, 0x0f, 0xc3, 0x12, 0x2c, 0x9c, 0xc9, 0x85, 0x14, 0x98, + 0xd4, 0xdb, 0x25, 0x16, +}; +static const unsigned char kat982_addin1[] = { + 0xb9, 0xd7, 0x83, 0x7a, 0xed, 0x40, 0x14, 0xc8, 0x62, 0xc1, 0x8f, 0x26, + 0x85, 0x96, 0xa0, 0x22, 0x04, 0xe1, 0xae, 0xe4, 0x9f, 0x1a, 0x29, 0xd5, + 0xe8, 0x7f, 0x05, 0xe8, 0xac, 0xa5, 0xbe, 0x80, 0x51, 0x00, 0xc3, 0x0c, + 0x16, 0xbd, 0x1a, 0x71, +}; +static const unsigned char kat982_retbits[] = { + 0x96, 0x6a, 0xdb, 0xe2, 0xd8, 0x9e, 0x66, 0x35, 0x75, 0x8e, 0x08, 0x02, + 0x69, 0x86, 0xc3, 0x03, 0xe2, 0x11, 0x49, 0xf6, 0xe1, 0xd9, 0x62, 0xd1, + 0x76, 0x49, 0xee, 0x43, 0xcb, 0x20, 0x81, 0x9a, 0x13, 0x6b, 0x42, 0xcd, + 0x86, 0x2c, 0x24, 0x5d, 0x6a, 0x35, 0x73, 0xb1, 0x91, 0x21, 0x20, 0x92, + 0xd0, 0x59, 0x5c, 0x9b, 0xda, 0x6b, 0xcf, 0xcc, 0xa7, 0x94, 0xce, 0x6b, + 0xf8, 0xc9, 0x26, 0xd8, +}; +static const struct drbg_kat_no_reseed kat982_t = { + 6, kat982_entropyin, kat982_nonce, kat982_persstr, + kat982_addin0, kat982_addin1, kat982_retbits +}; +static const struct drbg_kat kat982 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat982_t +}; + +static const unsigned char kat983_entropyin[] = { + 0xfc, 0x0f, 0x59, 0xee, 0x83, 0x3c, 0xf9, 0xfd, 0x13, 0x00, 0xbf, 0x1f, + 0x77, 0xcd, 0xe4, 0x7b, 0x94, 0x32, 0xe9, 0x12, 0x86, 0x6c, 0xe8, 0xb3, + 0xec, 0xcb, 0x3d, 0xf9, 0x1c, 0xf5, 0x39, 0x66, 0x80, 0x27, 0xfa, 0xc3, + 0x8e, 0x0b, 0x80, 0x5e, +}; +static const unsigned char kat983_nonce[] = {0}; +static const unsigned char kat983_persstr[] = {0}; +static const unsigned char kat983_addin0[] = { + 0x49, 0x26, 0x7f, 0x05, 0x83, 0xff, 0x8d, 0xb1, 0xf9, 0x7b, 0x97, 0xc1, + 0xaf, 0x0e, 0x64, 0x57, 0x9f, 0x22, 0x72, 0x2e, 0xd3, 0x15, 0x3b, 0xa5, + 0x05, 0x7f, 0x0e, 0x15, 0x5d, 0xaf, 0xb7, 0xd7, 0xcc, 0x55, 0xa1, 0x7d, + 0x76, 0xe9, 0x89, 0x73, +}; +static const unsigned char kat983_addin1[] = { + 0xb4, 0x59, 0xbb, 0xc3, 0x53, 0xc4, 0x79, 0xd5, 0x2c, 0x1d, 0xf5, 0xfb, + 0xed, 0x65, 0x3a, 0x14, 0xda, 0x09, 0x2c, 0x4b, 0x9c, 0x33, 0x98, 0x1d, + 0x96, 0x17, 0x81, 0x72, 0xe2, 0x82, 0xf5, 0x70, 0xab, 0x59, 0x94, 0x2e, + 0x33, 0x47, 0x2e, 0x23, +}; +static const unsigned char kat983_retbits[] = { + 0x2a, 0x47, 0xd5, 0x77, 0x22, 0xc7, 0x9b, 0xda, 0x6d, 0x54, 0xe2, 0x88, + 0xdb, 0x36, 0xb2, 0xad, 0xe9, 0xb6, 0x44, 0x98, 0x99, 0x5e, 0x49, 0xee, + 0xbc, 0x06, 0xf0, 0xf8, 0xf3, 0x0a, 0x5f, 0xc6, 0x2b, 0x35, 0x40, 0x34, + 0xf7, 0xe6, 0x98, 0x7c, 0x93, 0x0d, 0x2c, 0x4d, 0x1a, 0xf3, 0xc6, 0x66, + 0x2f, 0x4f, 0xc1, 0x09, 0x29, 0x8d, 0xa2, 0x36, 0x87, 0x40, 0x0f, 0x6b, + 0xd9, 0xcb, 0x30, 0x2a, +}; +static const struct drbg_kat_no_reseed kat983_t = { + 7, kat983_entropyin, kat983_nonce, kat983_persstr, + kat983_addin0, kat983_addin1, kat983_retbits +}; +static const struct drbg_kat kat983 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat983_t +}; + +static const unsigned char kat984_entropyin[] = { + 0xd8, 0x40, 0x7e, 0x1d, 0x31, 0x74, 0xe0, 0x60, 0x5d, 0x89, 0x08, 0x13, + 0xfe, 0x50, 0xc0, 0x38, 0x3e, 0xd3, 0xd9, 0xd4, 0xbd, 0x05, 0xa3, 0x73, + 0xf8, 0x97, 0x15, 0x88, 0x12, 0x70, 0xbc, 0xac, 0xd6, 0x14, 0x56, 0x94, + 0xf7, 0xed, 0x80, 0xf4, +}; +static const unsigned char kat984_nonce[] = {0}; +static const unsigned char kat984_persstr[] = {0}; +static const unsigned char kat984_addin0[] = { + 0xea, 0x1d, 0x2e, 0x12, 0x82, 0x24, 0x4e, 0xe3, 0x18, 0xf5, 0x27, 0x89, + 0xe3, 0xbb, 0xba, 0x48, 0x4c, 0x33, 0xa2, 0xd8, 0x5a, 0xff, 0x68, 0xdc, + 0x60, 0x26, 0x24, 0xe5, 0xae, 0xff, 0x7d, 0x77, 0x07, 0xbe, 0x6e, 0xf8, + 0x0a, 0xc6, 0x74, 0xef, +}; +static const unsigned char kat984_addin1[] = { + 0x32, 0x8e, 0xf9, 0xe1, 0xb6, 0xea, 0xab, 0x46, 0x74, 0x6a, 0x46, 0xe6, + 0xf5, 0x76, 0x0e, 0xf2, 0x3a, 0x6f, 0xb7, 0x8e, 0x6c, 0x5b, 0x66, 0x32, + 0xdc, 0x25, 0xfa, 0xeb, 0xc3, 0x97, 0x81, 0x3c, 0xa4, 0x25, 0xda, 0x4e, + 0x71, 0xa8, 0x75, 0x35, +}; +static const unsigned char kat984_retbits[] = { + 0x3f, 0x66, 0x61, 0xa2, 0xfd, 0xa1, 0x7a, 0x48, 0x63, 0x58, 0x7f, 0x59, + 0xc0, 0x04, 0x58, 0x80, 0xf4, 0x02, 0x18, 0x18, 0x47, 0x7b, 0x1c, 0x83, + 0x65, 0xec, 0x58, 0xe5, 0xb2, 0x05, 0x89, 0xef, 0xae, 0xf8, 0x02, 0x6f, + 0x34, 0xee, 0xe0, 0x87, 0x01, 0xfd, 0x51, 0x2a, 0x79, 0x9c, 0x3e, 0xd5, + 0x0a, 0xe7, 0x21, 0x22, 0xc2, 0xcc, 0x3d, 0x3d, 0x27, 0x4c, 0x5c, 0x3d, + 0xa3, 0x08, 0xbf, 0xce, +}; +static const struct drbg_kat_no_reseed kat984_t = { + 8, kat984_entropyin, kat984_nonce, kat984_persstr, + kat984_addin0, kat984_addin1, kat984_retbits +}; +static const struct drbg_kat kat984 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat984_t +}; + +static const unsigned char kat985_entropyin[] = { + 0xd2, 0x3b, 0x7b, 0xae, 0x79, 0x8f, 0xcb, 0x9a, 0x68, 0x9c, 0x36, 0x88, + 0xec, 0x69, 0xa5, 0x1b, 0x27, 0xd4, 0x68, 0x40, 0x3d, 0xe1, 0x95, 0xa9, + 0x25, 0xeb, 0x5a, 0xe8, 0xec, 0xf6, 0xef, 0x1c, 0x69, 0xee, 0xcc, 0xe1, + 0x82, 0x4f, 0x9c, 0x7f, +}; +static const unsigned char kat985_nonce[] = {0}; +static const unsigned char kat985_persstr[] = {0}; +static const unsigned char kat985_addin0[] = { + 0x41, 0x82, 0x06, 0xc8, 0xd6, 0xcf, 0xde, 0x44, 0xfd, 0xa2, 0xff, 0x2b, + 0x60, 0xba, 0x44, 0xa4, 0x2e, 0x11, 0x6c, 0xbf, 0x34, 0x3b, 0x39, 0x63, + 0xd9, 0x84, 0x95, 0x04, 0xa4, 0xb5, 0xb8, 0x70, 0xad, 0x71, 0xf4, 0xbe, + 0x3c, 0x04, 0x46, 0xe9, +}; +static const unsigned char kat985_addin1[] = { + 0xe2, 0xb1, 0x37, 0x86, 0xd5, 0xc4, 0x08, 0x69, 0xb4, 0xd5, 0xaf, 0xb9, + 0xfa, 0x1a, 0x09, 0xc2, 0x04, 0xa3, 0xa1, 0x13, 0xdb, 0x3f, 0x3c, 0xef, + 0x9c, 0xec, 0xab, 0xeb, 0x96, 0xb9, 0x5e, 0xed, 0x2d, 0x8c, 0xff, 0x11, + 0x71, 0x7a, 0x77, 0x67, +}; +static const unsigned char kat985_retbits[] = { + 0xd4, 0xcf, 0x8c, 0x4c, 0x4d, 0x5d, 0x67, 0x2b, 0xfd, 0x21, 0xfa, 0xf1, + 0x94, 0x40, 0x43, 0xf2, 0x95, 0x55, 0x8a, 0xef, 0x43, 0x00, 0x8e, 0xd7, + 0x00, 0x3e, 0xa0, 0xba, 0x0f, 0xa7, 0xc5, 0xbb, 0x98, 0x1e, 0x90, 0x8d, + 0x6c, 0x17, 0xb6, 0xd0, 0xa9, 0xd5, 0xa4, 0x1d, 0x0d, 0x2b, 0x39, 0x0b, + 0x81, 0xcb, 0xd8, 0xe2, 0x37, 0xec, 0xe7, 0xb8, 0xeb, 0x40, 0xff, 0xa0, + 0x80, 0xfe, 0xdd, 0x06, +}; +static const struct drbg_kat_no_reseed kat985_t = { + 9, kat985_entropyin, kat985_nonce, kat985_persstr, + kat985_addin0, kat985_addin1, kat985_retbits +}; +static const struct drbg_kat kat985 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat985_t +}; + +static const unsigned char kat986_entropyin[] = { + 0x8d, 0x4e, 0x1c, 0x0f, 0x18, 0x49, 0xe5, 0xa6, 0xf0, 0x03, 0xa2, 0xab, + 0x24, 0x5e, 0xd5, 0xc0, 0xe6, 0x8f, 0x2a, 0x5b, 0x64, 0x3c, 0x28, 0x8e, + 0x6e, 0x3d, 0x84, 0x17, 0xd2, 0x46, 0xb9, 0x13, 0x26, 0xd9, 0xfe, 0xcb, + 0x56, 0xec, 0x34, 0x08, +}; +static const unsigned char kat986_nonce[] = {0}; +static const unsigned char kat986_persstr[] = {0}; +static const unsigned char kat986_addin0[] = { + 0x6e, 0x0c, 0xb3, 0xfe, 0xc6, 0x3e, 0xfe, 0x94, 0xe4, 0x05, 0x00, 0xeb, + 0x58, 0x03, 0xc0, 0x14, 0xec, 0x16, 0x11, 0x98, 0xc5, 0x5b, 0xd0, 0x61, + 0xab, 0xf7, 0x23, 0xa3, 0x8d, 0xe6, 0x43, 0xcc, 0x3b, 0xae, 0xa3, 0x0e, + 0x31, 0x22, 0x65, 0x58, +}; +static const unsigned char kat986_addin1[] = { + 0x39, 0x1b, 0x8d, 0x09, 0xb6, 0x00, 0x35, 0xed, 0xc7, 0xc6, 0x32, 0xca, + 0xda, 0x8b, 0x0d, 0xe5, 0x3f, 0xd1, 0x41, 0x0e, 0x7b, 0x45, 0xa3, 0x5a, + 0x89, 0xd3, 0x97, 0xd6, 0x80, 0x90, 0x96, 0x0b, 0xa7, 0xc5, 0x2f, 0x56, + 0x5e, 0x85, 0x8c, 0xc4, +}; +static const unsigned char kat986_retbits[] = { + 0x72, 0x7d, 0x6d, 0x67, 0x31, 0xf7, 0x3d, 0x80, 0xe5, 0x58, 0x12, 0x99, + 0xac, 0x91, 0x1d, 0x21, 0x2d, 0x11, 0x34, 0x1e, 0xad, 0xb7, 0x72, 0x4a, + 0x35, 0x1a, 0x04, 0x63, 0x5c, 0xca, 0x4e, 0xab, 0x5b, 0x02, 0x3b, 0x35, + 0x40, 0x41, 0x7c, 0xf8, 0x97, 0xe3, 0xf0, 0xa3, 0xfb, 0x91, 0x31, 0x1e, + 0x8f, 0x4b, 0x5a, 0x83, 0xc9, 0xb9, 0x85, 0x4b, 0xb1, 0xb0, 0xcb, 0x0e, + 0x38, 0x13, 0x98, 0x99, +}; +static const struct drbg_kat_no_reseed kat986_t = { + 10, kat986_entropyin, kat986_nonce, kat986_persstr, + kat986_addin0, kat986_addin1, kat986_retbits +}; +static const struct drbg_kat kat986 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat986_t +}; + +static const unsigned char kat987_entropyin[] = { + 0xb6, 0x41, 0xb1, 0x0e, 0x3f, 0xb8, 0x77, 0x69, 0x8d, 0x6c, 0x85, 0xab, + 0xd1, 0xf3, 0x05, 0xa4, 0x85, 0x8b, 0x9e, 0x5f, 0x8b, 0x78, 0xbe, 0x71, + 0x4f, 0xf1, 0x8b, 0x6c, 0x55, 0x61, 0x37, 0xce, 0xbd, 0x94, 0xef, 0x35, + 0x7d, 0x06, 0xd3, 0x9e, +}; +static const unsigned char kat987_nonce[] = {0}; +static const unsigned char kat987_persstr[] = {0}; +static const unsigned char kat987_addin0[] = { + 0x09, 0x1e, 0x03, 0x9b, 0xfa, 0x7c, 0x41, 0xb8, 0x76, 0x57, 0xc4, 0x24, + 0xf0, 0xd9, 0xbc, 0x57, 0x59, 0xe0, 0x7e, 0xe5, 0x13, 0x86, 0xcd, 0x20, + 0xc8, 0x17, 0x61, 0x1c, 0x4f, 0x71, 0xc3, 0x1e, 0x7d, 0xba, 0x1d, 0x06, + 0xc2, 0xfd, 0x3c, 0x53, +}; +static const unsigned char kat987_addin1[] = { + 0x73, 0x4a, 0xa5, 0x10, 0x94, 0xd2, 0x97, 0xe4, 0xcb, 0x8f, 0xcc, 0xd5, + 0x15, 0x2c, 0x05, 0xd2, 0xfe, 0x25, 0x27, 0x21, 0x49, 0x9f, 0x0a, 0x51, + 0x9e, 0xff, 0x69, 0x9a, 0x52, 0x88, 0x87, 0x4d, 0x8d, 0xc8, 0x6d, 0xbc, + 0xf8, 0x41, 0xe5, 0x98, +}; +static const unsigned char kat987_retbits[] = { + 0xd0, 0xc8, 0xe1, 0xc5, 0xd9, 0x5e, 0x9e, 0x79, 0x96, 0xe4, 0xf0, 0x18, + 0x66, 0x1f, 0x9b, 0x08, 0xa5, 0xd4, 0xbe, 0xdf, 0x3a, 0x69, 0xc0, 0xc5, + 0xdf, 0x18, 0x24, 0xd4, 0xba, 0xa0, 0xa1, 0xfb, 0x14, 0xa1, 0x24, 0x89, + 0x34, 0x0c, 0xf3, 0x9a, 0x4c, 0x50, 0x80, 0x07, 0x6e, 0x8a, 0xb9, 0x40, + 0xf7, 0xa5, 0x28, 0xa5, 0x64, 0x41, 0x4d, 0x0b, 0x0e, 0x15, 0xfd, 0x61, + 0x06, 0xa5, 0xc3, 0x1f, +}; +static const struct drbg_kat_no_reseed kat987_t = { + 11, kat987_entropyin, kat987_nonce, kat987_persstr, + kat987_addin0, kat987_addin1, kat987_retbits +}; +static const struct drbg_kat kat987 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat987_t +}; + +static const unsigned char kat988_entropyin[] = { + 0xdd, 0x72, 0xbd, 0xa9, 0xee, 0x04, 0xf6, 0xdd, 0x9a, 0x56, 0x7d, 0x65, + 0x1c, 0x6d, 0xdb, 0xf1, 0x82, 0xf4, 0xd7, 0xb9, 0x7f, 0xae, 0xbf, 0x97, + 0x25, 0xc2, 0x51, 0xe6, 0x49, 0xfb, 0xfc, 0xc2, 0x65, 0x0d, 0x64, 0x19, + 0xd5, 0x72, 0xa4, 0x42, +}; +static const unsigned char kat988_nonce[] = {0}; +static const unsigned char kat988_persstr[] = {0}; +static const unsigned char kat988_addin0[] = { + 0xf1, 0x08, 0xe9, 0xd7, 0x79, 0x6d, 0xb7, 0x40, 0xc1, 0x72, 0x9b, 0x16, + 0xc0, 0x58, 0x6c, 0x94, 0x59, 0xfe, 0xab, 0x01, 0x39, 0x08, 0x23, 0xa1, + 0x96, 0xf4, 0x06, 0x80, 0x46, 0x1d, 0x41, 0x4f, 0xce, 0x09, 0x92, 0x15, + 0x5b, 0x2b, 0x3b, 0xd1, +}; +static const unsigned char kat988_addin1[] = { + 0xf7, 0x23, 0x8f, 0x4f, 0x4f, 0xd6, 0x32, 0x8b, 0x6c, 0xd0, 0xaa, 0x35, + 0xbb, 0xbc, 0x0c, 0x35, 0x5d, 0x41, 0xe0, 0x2a, 0xa6, 0x29, 0xfb, 0x54, + 0xeb, 0x22, 0xa6, 0xb4, 0x5b, 0x39, 0xb3, 0x72, 0xe5, 0x7c, 0xa0, 0x95, + 0x80, 0x40, 0x99, 0x6a, +}; +static const unsigned char kat988_retbits[] = { + 0x27, 0x1e, 0xfc, 0x67, 0xc3, 0xcc, 0x27, 0xb5, 0xee, 0xbf, 0x75, 0xcc, + 0xe6, 0x5b, 0xf4, 0x79, 0x1e, 0xb9, 0x92, 0xec, 0x24, 0xe5, 0x35, 0x74, + 0x3b, 0xcf, 0x00, 0x5e, 0xe0, 0x13, 0x7a, 0xe6, 0x56, 0x4a, 0xf6, 0x18, + 0x11, 0x67, 0xae, 0x7f, 0xff, 0x2c, 0xbd, 0x08, 0x0e, 0x92, 0x65, 0xdf, + 0xcc, 0x01, 0xe2, 0x14, 0xc4, 0x7d, 0x40, 0x2b, 0x74, 0xb5, 0xe2, 0x03, + 0x82, 0xd2, 0x1d, 0xfd, +}; +static const struct drbg_kat_no_reseed kat988_t = { + 12, kat988_entropyin, kat988_nonce, kat988_persstr, + kat988_addin0, kat988_addin1, kat988_retbits +}; +static const struct drbg_kat kat988 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat988_t +}; + +static const unsigned char kat989_entropyin[] = { + 0xa4, 0x88, 0x9e, 0xc0, 0xca, 0x94, 0x2c, 0x85, 0x14, 0xc6, 0x51, 0x25, + 0xf3, 0xc3, 0xc6, 0x88, 0xb0, 0xbb, 0xdf, 0xe8, 0x7a, 0xb6, 0xa9, 0x1f, + 0xf7, 0x5d, 0x4f, 0x07, 0x39, 0x3e, 0x6b, 0x38, 0xe6, 0x42, 0x3c, 0xc8, + 0xf9, 0xe1, 0x4e, 0x94, +}; +static const unsigned char kat989_nonce[] = {0}; +static const unsigned char kat989_persstr[] = {0}; +static const unsigned char kat989_addin0[] = { + 0xd2, 0x4e, 0x58, 0xd8, 0x78, 0x24, 0x0b, 0xb7, 0xc7, 0x70, 0xd8, 0xb1, + 0xb6, 0xe2, 0x5f, 0x2b, 0x1c, 0xe1, 0x19, 0x1e, 0x1f, 0xee, 0x7e, 0x44, + 0xa2, 0x66, 0x49, 0xef, 0x58, 0xe5, 0xa2, 0x12, 0x1d, 0x04, 0x83, 0x7b, + 0x9d, 0xb4, 0x2a, 0xe8, +}; +static const unsigned char kat989_addin1[] = { + 0x9f, 0x3c, 0xad, 0xb2, 0x0c, 0x77, 0xe6, 0x57, 0x24, 0xd8, 0x5a, 0x37, + 0xb0, 0xb9, 0x76, 0x63, 0x35, 0x81, 0xa1, 0xb8, 0xeb, 0x52, 0x6e, 0x7a, + 0xb7, 0x95, 0xe8, 0xcf, 0xfd, 0x1d, 0xbb, 0x83, 0xa0, 0x56, 0x73, 0x32, + 0x06, 0xfe, 0x73, 0x2a, +}; +static const unsigned char kat989_retbits[] = { + 0x5a, 0xf3, 0x6e, 0x40, 0x19, 0xd8, 0xfe, 0xf1, 0x11, 0x25, 0x62, 0x32, + 0x2a, 0x32, 0xd0, 0x3d, 0x49, 0x92, 0xc5, 0x07, 0x01, 0x77, 0xf7, 0xbd, + 0x31, 0x7b, 0x4a, 0xad, 0x03, 0x47, 0x59, 0x34, 0x15, 0x25, 0xe7, 0x97, + 0xb1, 0x7f, 0x08, 0xfe, 0xee, 0x8d, 0x16, 0x6e, 0x46, 0x1e, 0x9e, 0x77, + 0xac, 0x40, 0xc4, 0x64, 0x2b, 0xfe, 0x7a, 0x53, 0xb9, 0x1b, 0x1d, 0xba, + 0xca, 0x11, 0xeb, 0x83, +}; +static const struct drbg_kat_no_reseed kat989_t = { + 13, kat989_entropyin, kat989_nonce, kat989_persstr, + kat989_addin0, kat989_addin1, kat989_retbits +}; +static const struct drbg_kat kat989 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat989_t +}; + +static const unsigned char kat990_entropyin[] = { + 0x09, 0x19, 0x66, 0xc3, 0x42, 0x66, 0x7e, 0xaf, 0xb6, 0xd3, 0xd2, 0xd0, + 0x7c, 0x23, 0xfa, 0xb0, 0xa3, 0xf4, 0x35, 0xd7, 0x02, 0x29, 0x3f, 0xcc, + 0x2c, 0xcf, 0x8d, 0x22, 0x18, 0xf7, 0x11, 0x32, 0xc2, 0xb9, 0x70, 0xfd, + 0x5c, 0x50, 0x6f, 0xdf, +}; +static const unsigned char kat990_nonce[] = {0}; +static const unsigned char kat990_persstr[] = {0}; +static const unsigned char kat990_addin0[] = { + 0x79, 0xb7, 0x5f, 0xe1, 0x04, 0xf0, 0xd7, 0xc8, 0x6b, 0xbe, 0x31, 0x15, + 0x85, 0x19, 0x8f, 0x82, 0x35, 0x0a, 0x13, 0xc4, 0xa7, 0xe4, 0x50, 0xcf, + 0xb8, 0x6e, 0x44, 0x0c, 0x00, 0xfc, 0x6f, 0x26, 0xa5, 0x08, 0xe4, 0xbc, + 0x73, 0x10, 0x7e, 0x2c, +}; +static const unsigned char kat990_addin1[] = { + 0x6f, 0x20, 0x13, 0x45, 0x64, 0xe7, 0x9c, 0x7e, 0xb5, 0x30, 0x72, 0x7f, + 0x5b, 0x64, 0x99, 0x96, 0xc8, 0x9d, 0x7b, 0xd5, 0x4e, 0xba, 0xc0, 0x95, + 0xc1, 0x9a, 0x16, 0x23, 0x48, 0xfc, 0xe4, 0x68, 0x78, 0x2f, 0x03, 0x24, + 0xf2, 0x13, 0x8c, 0x84, +}; +static const unsigned char kat990_retbits[] = { + 0xd0, 0x0f, 0x78, 0x4a, 0x96, 0x13, 0x67, 0x70, 0x23, 0xd2, 0x7a, 0x43, + 0x50, 0xef, 0xc4, 0xcc, 0x28, 0xf9, 0x5a, 0x39, 0x28, 0xc4, 0xc8, 0xda, + 0x67, 0x06, 0x3e, 0xe5, 0x9d, 0xe5, 0xd2, 0xda, 0x13, 0xa3, 0x09, 0x0f, + 0x58, 0x0e, 0x61, 0xff, 0xf1, 0xaf, 0x27, 0xa8, 0xf4, 0xba, 0x94, 0x18, + 0xe0, 0x7d, 0x85, 0x6a, 0x99, 0x6e, 0x83, 0x6a, 0x89, 0x06, 0x20, 0x64, + 0xba, 0xc7, 0xa9, 0xcc, +}; +static const struct drbg_kat_no_reseed kat990_t = { + 14, kat990_entropyin, kat990_nonce, kat990_persstr, + kat990_addin0, kat990_addin1, kat990_retbits +}; +static const struct drbg_kat kat990 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat990_t +}; + +static const unsigned char kat991_entropyin[] = { + 0xd7, 0x66, 0x97, 0x49, 0x5a, 0xdd, 0x9b, 0xaa, 0xc8, 0xcf, 0xdf, 0x90, + 0xe0, 0xa6, 0xf3, 0x38, 0x1a, 0x52, 0xb2, 0x88, 0x9f, 0x84, 0x0a, 0x24, + 0xcf, 0xc9, 0x60, 0x6f, 0x97, 0xc4, 0x94, 0x46, 0x20, 0x2e, 0x70, 0x58, + 0x3f, 0xde, 0x09, 0xdc, +}; +static const unsigned char kat991_nonce[] = {0}; +static const unsigned char kat991_persstr[] = { + 0xd6, 0x4e, 0x54, 0x65, 0x23, 0xfb, 0x08, 0x2b, 0x5e, 0x87, 0xbb, 0xe6, + 0xb6, 0x6a, 0x8e, 0x6a, 0x79, 0x40, 0xbb, 0x06, 0xed, 0x17, 0xfe, 0x83, + 0x3c, 0x4e, 0x9b, 0xbb, 0x21, 0x13, 0x96, 0xc2, 0x27, 0xf8, 0x36, 0x71, + 0xc9, 0x24, 0x24, 0x0e, +}; +static const unsigned char kat991_addin0[] = {0}; +static const unsigned char kat991_addin1[] = {0}; +static const unsigned char kat991_retbits[] = { + 0x56, 0x93, 0xf6, 0x8e, 0xc7, 0xa8, 0xd2, 0x63, 0x1d, 0xee, 0x9d, 0x37, + 0x15, 0x03, 0xe0, 0x5c, 0xbd, 0x5f, 0xb8, 0x72, 0x50, 0x6f, 0x04, 0x00, + 0x50, 0xb1, 0xd4, 0x41, 0xa9, 0x4b, 0xd7, 0x4e, 0xc0, 0x6f, 0x24, 0xc1, + 0xcc, 0x43, 0x63, 0xec, 0xe1, 0xd8, 0xb2, 0x29, 0x5e, 0x74, 0x38, 0x9b, + 0x6d, 0xd8, 0xb1, 0xe5, 0x43, 0x8b, 0xce, 0xab, 0x2f, 0x2b, 0xc2, 0xaf, + 0x5a, 0x9d, 0x8d, 0xa8, +}; +static const struct drbg_kat_no_reseed kat991_t = { + 0, kat991_entropyin, kat991_nonce, kat991_persstr, + kat991_addin0, kat991_addin1, kat991_retbits +}; +static const struct drbg_kat kat991 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat991_t +}; + +static const unsigned char kat992_entropyin[] = { + 0xc2, 0x97, 0xf7, 0x68, 0xf7, 0xff, 0x47, 0x41, 0x87, 0x6c, 0x90, 0xd3, + 0xeb, 0x15, 0x60, 0x0f, 0x11, 0x68, 0x5f, 0x9b, 0x93, 0x1e, 0x62, 0xec, + 0x58, 0x0a, 0xc0, 0x5d, 0xc8, 0xf1, 0x22, 0xf6, 0xa7, 0xa0, 0x5e, 0x09, + 0xc9, 0x43, 0x23, 0xae, +}; +static const unsigned char kat992_nonce[] = {0}; +static const unsigned char kat992_persstr[] = { + 0x0d, 0x47, 0xaa, 0x43, 0xac, 0x1c, 0xc6, 0x7a, 0x75, 0x4b, 0x0a, 0x5a, + 0xfa, 0xcd, 0xff, 0x9e, 0x78, 0x4c, 0x9e, 0xcd, 0x18, 0x4a, 0xd3, 0x1b, + 0x07, 0x65, 0x74, 0xc5, 0x6a, 0x48, 0x55, 0x0b, 0xcd, 0x7d, 0x32, 0xb3, + 0xe9, 0xb3, 0xa1, 0x14, +}; +static const unsigned char kat992_addin0[] = {0}; +static const unsigned char kat992_addin1[] = {0}; +static const unsigned char kat992_retbits[] = { + 0x85, 0x8c, 0x54, 0x20, 0x88, 0x0d, 0x2d, 0x22, 0xc9, 0xa3, 0xd2, 0x27, + 0x0c, 0xc8, 0xfb, 0xfe, 0x2c, 0x7b, 0x53, 0xb2, 0x11, 0x07, 0xb9, 0xe4, + 0x56, 0xe6, 0x46, 0x15, 0x7e, 0xe7, 0x48, 0xfd, 0xaf, 0xcc, 0xd8, 0x28, + 0x15, 0x42, 0x3f, 0xe6, 0x18, 0xc4, 0x45, 0xc8, 0x10, 0xda, 0x9a, 0x32, + 0x3c, 0xdb, 0x95, 0xde, 0xf4, 0x8e, 0x8b, 0xca, 0xf3, 0xb7, 0x28, 0x1a, + 0xcd, 0x49, 0x42, 0x2a, +}; +static const struct drbg_kat_no_reseed kat992_t = { + 1, kat992_entropyin, kat992_nonce, kat992_persstr, + kat992_addin0, kat992_addin1, kat992_retbits +}; +static const struct drbg_kat kat992 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat992_t +}; + +static const unsigned char kat993_entropyin[] = { + 0xbd, 0x71, 0x61, 0xdb, 0x32, 0x82, 0xde, 0x22, 0x58, 0xea, 0xc2, 0xbb, + 0x30, 0x40, 0x02, 0xfc, 0xc9, 0x6f, 0x87, 0xf9, 0x96, 0xae, 0x00, 0xe3, + 0x5b, 0xe3, 0xd8, 0x4f, 0xcb, 0x04, 0x83, 0x5e, 0xb7, 0x5f, 0x84, 0x3e, + 0x67, 0x99, 0xf7, 0xfd, +}; +static const unsigned char kat993_nonce[] = {0}; +static const unsigned char kat993_persstr[] = { + 0x28, 0xb6, 0xdb, 0x39, 0x36, 0x0d, 0xd5, 0xb1, 0x9d, 0x9f, 0x4b, 0x86, + 0x2a, 0x8b, 0xc5, 0xc0, 0x61, 0x7c, 0xcf, 0x3c, 0x80, 0xd0, 0x2c, 0xbc, + 0xe1, 0xbd, 0xf9, 0xb3, 0x0e, 0x46, 0x64, 0x7e, 0xf5, 0x4f, 0x6b, 0x5c, + 0xe3, 0x47, 0x3e, 0x91, +}; +static const unsigned char kat993_addin0[] = {0}; +static const unsigned char kat993_addin1[] = {0}; +static const unsigned char kat993_retbits[] = { + 0xca, 0xb8, 0x9f, 0x54, 0x88, 0x71, 0x69, 0x75, 0x8c, 0x26, 0xfa, 0xb0, + 0xf8, 0x33, 0x97, 0x2d, 0x0c, 0x07, 0x81, 0x01, 0x5b, 0x71, 0xef, 0xf1, + 0xa2, 0x28, 0x46, 0x05, 0xc7, 0xed, 0x98, 0x75, 0x52, 0xf0, 0xbc, 0xf1, + 0x7a, 0x59, 0x56, 0xcb, 0xbf, 0xf1, 0x80, 0x52, 0x84, 0x28, 0x5d, 0x53, + 0x8b, 0xec, 0x14, 0xf4, 0x14, 0xf3, 0xb2, 0xbc, 0x01, 0x6b, 0xfa, 0xc8, + 0x05, 0xdb, 0x96, 0xf8, +}; +static const struct drbg_kat_no_reseed kat993_t = { + 2, kat993_entropyin, kat993_nonce, kat993_persstr, + kat993_addin0, kat993_addin1, kat993_retbits +}; +static const struct drbg_kat kat993 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat993_t +}; + +static const unsigned char kat994_entropyin[] = { + 0x82, 0xf1, 0xc5, 0xee, 0xc1, 0x63, 0x7e, 0xc6, 0x63, 0x2b, 0xc9, 0x6c, + 0x8f, 0x70, 0x96, 0x27, 0x56, 0x1d, 0xe6, 0xb5, 0x6b, 0x88, 0x5c, 0x12, + 0x1d, 0x4f, 0x82, 0x0e, 0xd2, 0x2c, 0x21, 0x14, 0xde, 0x94, 0x67, 0x15, + 0x0f, 0x0e, 0x98, 0x19, +}; +static const unsigned char kat994_nonce[] = {0}; +static const unsigned char kat994_persstr[] = { + 0x0a, 0x6d, 0x16, 0x49, 0xba, 0x34, 0x0d, 0xa7, 0xd7, 0x9f, 0x6f, 0x09, + 0x8b, 0xa2, 0x28, 0x4c, 0xf7, 0xf5, 0x7b, 0x28, 0x72, 0x5b, 0x21, 0x11, + 0x75, 0x5e, 0x36, 0xe7, 0x79, 0x8c, 0x5b, 0x66, 0x79, 0x4c, 0x8b, 0x10, + 0x9c, 0xd2, 0x99, 0x71, +}; +static const unsigned char kat994_addin0[] = {0}; +static const unsigned char kat994_addin1[] = {0}; +static const unsigned char kat994_retbits[] = { + 0x2e, 0x33, 0x81, 0x68, 0xab, 0xba, 0xba, 0x95, 0xa5, 0x87, 0xcd, 0xc6, + 0xd9, 0xb1, 0x1e, 0x8b, 0x55, 0x5d, 0x89, 0x52, 0x65, 0x5d, 0x6d, 0xe4, + 0xed, 0x02, 0x6b, 0x05, 0x82, 0x37, 0xf5, 0xd7, 0xd0, 0x22, 0x14, 0xba, + 0x08, 0x48, 0xe5, 0x01, 0xc0, 0xa0, 0xb7, 0xe3, 0x8f, 0x98, 0xff, 0x32, + 0x78, 0x5c, 0xc5, 0x29, 0xb0, 0xa2, 0x67, 0x91, 0x83, 0x14, 0x73, 0xd1, + 0x88, 0xb0, 0x24, 0x87, +}; +static const struct drbg_kat_no_reseed kat994_t = { + 3, kat994_entropyin, kat994_nonce, kat994_persstr, + kat994_addin0, kat994_addin1, kat994_retbits +}; +static const struct drbg_kat kat994 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat994_t +}; + +static const unsigned char kat995_entropyin[] = { + 0x96, 0x43, 0xdf, 0x0b, 0x92, 0xd8, 0xcf, 0x95, 0x7b, 0xb6, 0x7e, 0xd8, + 0x6b, 0xdc, 0x02, 0x0b, 0xbf, 0xae, 0xbf, 0x53, 0x40, 0xac, 0xd2, 0xf3, + 0x44, 0x91, 0x9f, 0xd6, 0x3a, 0xf0, 0x75, 0x75, 0xa0, 0xe0, 0x1a, 0x8b, + 0x50, 0x07, 0x49, 0x4c, +}; +static const unsigned char kat995_nonce[] = {0}; +static const unsigned char kat995_persstr[] = { + 0x8a, 0xa8, 0x4e, 0x2a, 0x29, 0xed, 0x39, 0x36, 0x3a, 0x80, 0x10, 0xf7, + 0x32, 0xcd, 0xe9, 0xc4, 0x6e, 0x86, 0x31, 0x4b, 0x69, 0x04, 0xd6, 0x90, + 0xa4, 0x0e, 0x65, 0xc6, 0x13, 0x86, 0xa2, 0x6d, 0x9e, 0x9c, 0x88, 0x21, + 0xee, 0x68, 0xaf, 0xa8, +}; +static const unsigned char kat995_addin0[] = {0}; +static const unsigned char kat995_addin1[] = {0}; +static const unsigned char kat995_retbits[] = { + 0x89, 0x5c, 0x49, 0x95, 0x17, 0x7a, 0xfa, 0x56, 0xfc, 0x49, 0x00, 0x37, + 0xc2, 0x3e, 0xf8, 0x30, 0x7b, 0xe1, 0x04, 0x9d, 0xa8, 0xa0, 0xba, 0x32, + 0x9a, 0x25, 0xb4, 0x89, 0xe5, 0xbd, 0x26, 0xb7, 0xd5, 0x0c, 0x29, 0xdd, + 0xe0, 0xe7, 0x98, 0x02, 0xa1, 0x3c, 0x70, 0x26, 0x40, 0x32, 0xff, 0xad, + 0x06, 0xbb, 0x91, 0xcb, 0xa9, 0xcb, 0xd7, 0xdf, 0x36, 0x1f, 0x74, 0xbd, + 0x83, 0x09, 0xaa, 0x8a, +}; +static const struct drbg_kat_no_reseed kat995_t = { + 4, kat995_entropyin, kat995_nonce, kat995_persstr, + kat995_addin0, kat995_addin1, kat995_retbits +}; +static const struct drbg_kat kat995 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat995_t +}; + +static const unsigned char kat996_entropyin[] = { + 0x98, 0xb1, 0x95, 0x35, 0xdc, 0xce, 0xb0, 0xa0, 0x07, 0xdd, 0x62, 0xfe, + 0x75, 0x0b, 0xe5, 0x4d, 0x1e, 0x58, 0xf7, 0xae, 0x75, 0xac, 0x42, 0x91, + 0x9d, 0x6b, 0xd7, 0x69, 0xda, 0x73, 0xf8, 0xe4, 0x60, 0xb9, 0xd0, 0x38, + 0x95, 0x3c, 0xc0, 0xdd, +}; +static const unsigned char kat996_nonce[] = {0}; +static const unsigned char kat996_persstr[] = { + 0x8c, 0x43, 0x81, 0xf6, 0x1b, 0x04, 0x8c, 0x25, 0x8c, 0x4b, 0x30, 0x9e, + 0x13, 0x2e, 0x21, 0x7b, 0xe9, 0x2e, 0x58, 0xf8, 0xc5, 0xa5, 0xdd, 0x15, + 0x38, 0x7a, 0xfc, 0xfb, 0x10, 0xab, 0x9f, 0xaf, 0xde, 0xd9, 0xc2, 0xd1, + 0xce, 0x48, 0x32, 0xc0, +}; +static const unsigned char kat996_addin0[] = {0}; +static const unsigned char kat996_addin1[] = {0}; +static const unsigned char kat996_retbits[] = { + 0x14, 0x56, 0xfd, 0xdb, 0x09, 0xdb, 0x4d, 0xd4, 0x43, 0xf1, 0xbe, 0x27, + 0x0c, 0xbe, 0x1f, 0xeb, 0x7e, 0xa8, 0xeb, 0xdd, 0xc8, 0x79, 0x68, 0xb1, + 0x3c, 0x5d, 0x37, 0xe8, 0xeb, 0x51, 0x5f, 0xd5, 0x15, 0xca, 0x5a, 0xd8, + 0x37, 0xc4, 0x24, 0x38, 0x9d, 0x0b, 0x60, 0xfb, 0x06, 0x70, 0x20, 0xa4, + 0x94, 0x2d, 0x3d, 0x4b, 0x6f, 0x3c, 0xe1, 0x77, 0x8b, 0x35, 0x42, 0x0b, + 0x9d, 0xb1, 0xf8, 0xf3, +}; +static const struct drbg_kat_no_reseed kat996_t = { + 5, kat996_entropyin, kat996_nonce, kat996_persstr, + kat996_addin0, kat996_addin1, kat996_retbits +}; +static const struct drbg_kat kat996 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat996_t +}; + +static const unsigned char kat997_entropyin[] = { + 0xa6, 0x74, 0x41, 0x7c, 0x5b, 0x05, 0x6b, 0x1a, 0x04, 0x71, 0x9f, 0xac, + 0x10, 0x12, 0xfc, 0x42, 0x64, 0xb8, 0xc4, 0x43, 0x47, 0x86, 0xfb, 0xb3, + 0xf3, 0x29, 0x0d, 0xd3, 0xb2, 0xc6, 0x2b, 0xba, 0x1d, 0x21, 0x88, 0x29, + 0x2a, 0x8a, 0x82, 0x30, +}; +static const unsigned char kat997_nonce[] = {0}; +static const unsigned char kat997_persstr[] = { + 0x19, 0xaa, 0x3b, 0xbf, 0x14, 0x8b, 0x88, 0x07, 0xa7, 0xb3, 0x1e, 0xa8, + 0xf0, 0xfa, 0x67, 0x0c, 0x68, 0x51, 0x7b, 0xb7, 0x81, 0xd9, 0xbe, 0xa5, + 0x46, 0xce, 0x43, 0xa7, 0x07, 0x74, 0xb9, 0xa8, 0x15, 0xc3, 0xd6, 0xd5, + 0xb6, 0x4c, 0x1e, 0x27, +}; +static const unsigned char kat997_addin0[] = {0}; +static const unsigned char kat997_addin1[] = {0}; +static const unsigned char kat997_retbits[] = { + 0xfe, 0xf3, 0xf3, 0x83, 0x72, 0x8a, 0x86, 0x8c, 0x90, 0x08, 0x3a, 0xce, + 0x7b, 0x41, 0xe9, 0xd0, 0x55, 0xd2, 0x87, 0xe1, 0x0f, 0xad, 0x82, 0xc4, + 0xae, 0x3f, 0xec, 0xe1, 0x8b, 0x5c, 0xa6, 0x7f, 0x29, 0x63, 0x88, 0x39, + 0xe2, 0x41, 0xae, 0xc6, 0xda, 0xaa, 0x8c, 0xbf, 0x26, 0x30, 0xbe, 0x42, + 0xe7, 0x3b, 0x24, 0x3a, 0x5e, 0x69, 0x7d, 0xd9, 0x03, 0x6f, 0xa9, 0x9d, + 0x0e, 0xf3, 0x30, 0xdb, +}; +static const struct drbg_kat_no_reseed kat997_t = { + 6, kat997_entropyin, kat997_nonce, kat997_persstr, + kat997_addin0, kat997_addin1, kat997_retbits +}; +static const struct drbg_kat kat997 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat997_t +}; + +static const unsigned char kat998_entropyin[] = { + 0xde, 0x22, 0x98, 0x37, 0x31, 0x40, 0xa3, 0xe3, 0x76, 0x30, 0x22, 0xb6, + 0xaa, 0x22, 0x50, 0x0e, 0x74, 0xb0, 0xd8, 0xc1, 0x63, 0x7f, 0x77, 0x8e, + 0x14, 0x24, 0x0b, 0x2b, 0x23, 0xff, 0x65, 0xd5, 0x8e, 0xb3, 0xef, 0x42, + 0x43, 0xbc, 0x40, 0x7b, +}; +static const unsigned char kat998_nonce[] = {0}; +static const unsigned char kat998_persstr[] = { + 0x96, 0xfb, 0xc0, 0xe7, 0x51, 0x9f, 0xf5, 0xe3, 0x36, 0xad, 0x3b, 0x52, + 0xf9, 0xd0, 0x29, 0x25, 0xee, 0xd5, 0xa5, 0xa2, 0xe0, 0x5f, 0xa5, 0x43, + 0xd9, 0xaa, 0x3a, 0x10, 0x3a, 0x48, 0xf0, 0x55, 0x82, 0x02, 0x3a, 0xa1, + 0xc3, 0x91, 0xc1, 0xc7, +}; +static const unsigned char kat998_addin0[] = {0}; +static const unsigned char kat998_addin1[] = {0}; +static const unsigned char kat998_retbits[] = { + 0x28, 0x3a, 0x1b, 0x1f, 0x36, 0xcf, 0x5d, 0x65, 0x4a, 0x92, 0x66, 0xa8, + 0x47, 0xf2, 0x45, 0x98, 0x5e, 0x8d, 0x40, 0x47, 0x3e, 0x6c, 0x9e, 0xfd, + 0xcc, 0xe1, 0xba, 0xe3, 0x20, 0x18, 0x4e, 0x1b, 0x81, 0x70, 0x2e, 0xf0, + 0x41, 0x28, 0x88, 0x8a, 0xdf, 0xc5, 0xb1, 0x42, 0xb8, 0xd0, 0xb1, 0xf2, + 0xe6, 0xa1, 0x71, 0xb8, 0xd1, 0xa0, 0x79, 0x56, 0x19, 0x2d, 0x67, 0x1a, + 0x9f, 0x55, 0x77, 0xe6, +}; +static const struct drbg_kat_no_reseed kat998_t = { + 7, kat998_entropyin, kat998_nonce, kat998_persstr, + kat998_addin0, kat998_addin1, kat998_retbits +}; +static const struct drbg_kat kat998 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat998_t +}; + +static const unsigned char kat999_entropyin[] = { + 0x7b, 0xc9, 0x2d, 0x09, 0x2d, 0x7c, 0x03, 0x08, 0x33, 0x1c, 0xa5, 0x7a, + 0x1e, 0x8e, 0xf1, 0x3e, 0x92, 0x86, 0x7e, 0x74, 0x9d, 0xbe, 0x1b, 0xd7, + 0x0e, 0x82, 0x2e, 0x39, 0x10, 0xd8, 0x97, 0x70, 0xfd, 0x72, 0x32, 0x25, + 0x95, 0x40, 0x2f, 0x6f, +}; +static const unsigned char kat999_nonce[] = {0}; +static const unsigned char kat999_persstr[] = { + 0x74, 0x5f, 0x63, 0x68, 0xad, 0x6a, 0xf8, 0x15, 0x5a, 0x2d, 0x03, 0x26, + 0xfc, 0x26, 0x08, 0x03, 0xbd, 0x43, 0xd4, 0x7e, 0x0d, 0x71, 0xed, 0x66, + 0x18, 0xf5, 0xfe, 0x85, 0x21, 0x79, 0x88, 0x96, 0xe8, 0x3e, 0xd1, 0xac, + 0xe8, 0xc8, 0x98, 0xf8, +}; +static const unsigned char kat999_addin0[] = {0}; +static const unsigned char kat999_addin1[] = {0}; +static const unsigned char kat999_retbits[] = { + 0xe6, 0x07, 0xd5, 0x97, 0x77, 0x34, 0x49, 0x8f, 0xb3, 0x2d, 0x27, 0x42, + 0x04, 0xe3, 0xc7, 0x88, 0xb1, 0x99, 0xf3, 0xec, 0xc6, 0x44, 0x5a, 0xfc, + 0xea, 0x5a, 0x56, 0x4d, 0x86, 0xaf, 0xa5, 0x89, 0x14, 0xf6, 0xad, 0x36, + 0xc4, 0x5f, 0xca, 0xec, 0x2f, 0xcb, 0x8b, 0x82, 0x56, 0x0d, 0x81, 0x47, + 0x4b, 0xa3, 0x33, 0x8b, 0xa4, 0x7c, 0x1b, 0x7d, 0x94, 0xbf, 0x69, 0xb5, + 0xcc, 0x55, 0x31, 0x80, +}; +static const struct drbg_kat_no_reseed kat999_t = { + 8, kat999_entropyin, kat999_nonce, kat999_persstr, + kat999_addin0, kat999_addin1, kat999_retbits +}; +static const struct drbg_kat kat999 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat999_t +}; + +static const unsigned char kat1000_entropyin[] = { + 0xaf, 0x9e, 0x55, 0x67, 0x75, 0x9f, 0x9f, 0x57, 0x0a, 0x5e, 0xcf, 0xc1, + 0xb2, 0x12, 0x53, 0x03, 0x4f, 0xec, 0x65, 0x4e, 0x91, 0x36, 0x5d, 0x99, + 0x02, 0x58, 0x5a, 0x18, 0x94, 0xd6, 0xb6, 0x33, 0x44, 0xd9, 0x5b, 0x6e, + 0x88, 0xfd, 0x75, 0xb6, +}; +static const unsigned char kat1000_nonce[] = {0}; +static const unsigned char kat1000_persstr[] = { + 0xe6, 0x47, 0x86, 0x31, 0xbd, 0xcd, 0x52, 0x19, 0xa5, 0x16, 0x83, 0x91, + 0x95, 0x24, 0x9c, 0xda, 0x75, 0x72, 0x4f, 0xd6, 0x31, 0x5c, 0xe3, 0x95, + 0xd2, 0x10, 0xf4, 0x35, 0x01, 0x00, 0x94, 0xfa, 0x28, 0xd5, 0x08, 0xca, + 0xfe, 0xfe, 0xcb, 0xab, +}; +static const unsigned char kat1000_addin0[] = {0}; +static const unsigned char kat1000_addin1[] = {0}; +static const unsigned char kat1000_retbits[] = { + 0x58, 0xa9, 0xeb, 0x36, 0x3c, 0xde, 0x49, 0xd7, 0x6c, 0x9e, 0xfa, 0x45, + 0xfc, 0xdc, 0x4d, 0x01, 0x02, 0x92, 0xaa, 0x1f, 0x41, 0x30, 0x9e, 0xbc, + 0xd7, 0xbc, 0xb7, 0x76, 0x47, 0x64, 0xcf, 0x1e, 0x39, 0xc3, 0xf2, 0x5d, + 0x64, 0x0b, 0xdd, 0xae, 0x78, 0x57, 0x0f, 0xc6, 0x96, 0xf0, 0x41, 0x9c, + 0x07, 0xa1, 0x97, 0x9b, 0xc3, 0xcb, 0xff, 0xc4, 0x58, 0x9f, 0x23, 0xbd, + 0xa8, 0x96, 0xf6, 0x17, +}; +static const struct drbg_kat_no_reseed kat1000_t = { + 9, kat1000_entropyin, kat1000_nonce, kat1000_persstr, + kat1000_addin0, kat1000_addin1, kat1000_retbits +}; +static const struct drbg_kat kat1000 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1000_t +}; + +static const unsigned char kat1001_entropyin[] = { + 0xb1, 0xf6, 0x92, 0xd2, 0x4d, 0xa2, 0xf9, 0xed, 0x26, 0x4f, 0x3f, 0xc1, + 0xb2, 0x39, 0x37, 0x19, 0x8d, 0xf7, 0x14, 0x05, 0xbf, 0xc9, 0xa6, 0xcc, + 0xf2, 0x5c, 0xe3, 0x70, 0x9d, 0xe3, 0xb5, 0x33, 0x4a, 0x0f, 0x88, 0x5e, + 0x2b, 0xae, 0xa4, 0xd7, +}; +static const unsigned char kat1001_nonce[] = {0}; +static const unsigned char kat1001_persstr[] = { + 0x2b, 0x75, 0x08, 0xf8, 0x3b, 0xea, 0xd9, 0x00, 0xb0, 0x40, 0x24, 0xdb, + 0xf8, 0x1a, 0xeb, 0xc0, 0x0e, 0x6a, 0x03, 0xc9, 0xb7, 0xd6, 0x0d, 0x83, + 0xb0, 0x76, 0x6d, 0x31, 0x09, 0x63, 0x0d, 0xff, 0x15, 0x1d, 0xf1, 0x79, + 0x75, 0x16, 0x49, 0x12, +}; +static const unsigned char kat1001_addin0[] = {0}; +static const unsigned char kat1001_addin1[] = {0}; +static const unsigned char kat1001_retbits[] = { + 0xcc, 0x5b, 0x65, 0xb7, 0x12, 0xd9, 0x6e, 0x83, 0x17, 0x2e, 0xb7, 0xe3, + 0x0a, 0x22, 0xac, 0xfc, 0xc9, 0x96, 0x0a, 0x75, 0xa5, 0xf5, 0x04, 0x08, + 0x26, 0x5b, 0x8b, 0xd8, 0x57, 0x11, 0xf9, 0xb6, 0xc2, 0xae, 0x08, 0xab, + 0x1f, 0x33, 0x12, 0xcc, 0x58, 0xac, 0xff, 0xf5, 0xf4, 0x90, 0x1b, 0xcb, + 0xba, 0xf4, 0xbe, 0xe0, 0x8f, 0x29, 0x89, 0xf1, 0x32, 0x4d, 0x91, 0xfc, + 0x71, 0xdf, 0xb0, 0xf0, +}; +static const struct drbg_kat_no_reseed kat1001_t = { + 10, kat1001_entropyin, kat1001_nonce, kat1001_persstr, + kat1001_addin0, kat1001_addin1, kat1001_retbits +}; +static const struct drbg_kat kat1001 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1001_t +}; + +static const unsigned char kat1002_entropyin[] = { + 0x14, 0xfe, 0x15, 0xd3, 0x5f, 0x4c, 0x97, 0xb6, 0xdd, 0xe6, 0xf0, 0xc1, + 0x5e, 0x77, 0x48, 0x6c, 0xf8, 0xd6, 0xd2, 0x16, 0x4f, 0xd0, 0x93, 0x49, + 0xd8, 0x3c, 0xb9, 0x6b, 0x6b, 0x2b, 0x9a, 0x9c, 0x4e, 0xb7, 0x46, 0x11, + 0x72, 0xa9, 0x29, 0x09, +}; +static const unsigned char kat1002_nonce[] = {0}; +static const unsigned char kat1002_persstr[] = { + 0x5b, 0xa3, 0x98, 0x63, 0x58, 0xb7, 0x30, 0x8d, 0x24, 0xac, 0x9f, 0x50, + 0x2e, 0xe1, 0x00, 0x5b, 0x6a, 0x2a, 0x02, 0xca, 0xfc, 0x30, 0x2b, 0x1a, + 0xf6, 0x96, 0x1d, 0x10, 0xb7, 0xd3, 0xf5, 0x2b, 0xa5, 0x03, 0x37, 0x9c, + 0xe0, 0xb6, 0x72, 0xc1, +}; +static const unsigned char kat1002_addin0[] = {0}; +static const unsigned char kat1002_addin1[] = {0}; +static const unsigned char kat1002_retbits[] = { + 0xff, 0xf1, 0x48, 0xe0, 0xf5, 0x77, 0xf9, 0x73, 0xe8, 0xed, 0x6e, 0x77, + 0xbe, 0xd7, 0xa9, 0xa5, 0xbc, 0x6a, 0xd2, 0xda, 0x48, 0x91, 0x45, 0x13, + 0xa2, 0xb4, 0xfc, 0x57, 0x3b, 0x99, 0x09, 0xf4, 0x58, 0x08, 0x68, 0x32, + 0x87, 0x71, 0x75, 0x18, 0x15, 0xce, 0x7d, 0x5a, 0x20, 0x72, 0x60, 0x49, + 0x9c, 0x76, 0x90, 0xbf, 0x44, 0x97, 0x96, 0xb1, 0x67, 0xc9, 0xdf, 0xae, + 0x4d, 0xf2, 0x4f, 0x86, +}; +static const struct drbg_kat_no_reseed kat1002_t = { + 11, kat1002_entropyin, kat1002_nonce, kat1002_persstr, + kat1002_addin0, kat1002_addin1, kat1002_retbits +}; +static const struct drbg_kat kat1002 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1002_t +}; + +static const unsigned char kat1003_entropyin[] = { + 0xd6, 0xf4, 0x9e, 0x52, 0x6e, 0x35, 0xff, 0x25, 0x61, 0x62, 0xf1, 0x7c, + 0xc9, 0xfa, 0xa9, 0x12, 0x63, 0x4f, 0x5e, 0xd9, 0x23, 0x1a, 0x7a, 0x0a, + 0xf4, 0x7d, 0x59, 0x76, 0x6c, 0xd2, 0xbc, 0x83, 0xe8, 0xd4, 0x38, 0xe7, + 0x02, 0x91, 0xb6, 0xb8, +}; +static const unsigned char kat1003_nonce[] = {0}; +static const unsigned char kat1003_persstr[] = { + 0x02, 0xd1, 0xf3, 0xa6, 0xc2, 0x0f, 0xb7, 0xc9, 0x07, 0xce, 0x6d, 0x82, + 0x2d, 0xc3, 0x6b, 0x7c, 0xe1, 0x7e, 0x1c, 0x71, 0xa3, 0x07, 0xd1, 0xec, + 0x24, 0x06, 0xdf, 0xeb, 0x45, 0x8f, 0xa0, 0xe8, 0xf2, 0x7c, 0x1c, 0x39, + 0xae, 0x6d, 0xbc, 0x65, +}; +static const unsigned char kat1003_addin0[] = {0}; +static const unsigned char kat1003_addin1[] = {0}; +static const unsigned char kat1003_retbits[] = { + 0x1f, 0x34, 0xb7, 0x1b, 0x51, 0x5b, 0x3e, 0x6a, 0xa6, 0x7e, 0x45, 0xca, + 0xc0, 0x0d, 0x1d, 0x70, 0xe1, 0x9c, 0x03, 0xb7, 0x28, 0xd0, 0x00, 0x13, + 0x10, 0x9b, 0x5d, 0x98, 0x11, 0xee, 0x90, 0xeb, 0x7c, 0xf5, 0x01, 0xc9, + 0x32, 0x65, 0xce, 0x7f, 0x80, 0xa8, 0x16, 0xc4, 0xd1, 0x0a, 0x57, 0x25, + 0x0c, 0x08, 0x2f, 0xc4, 0x98, 0x50, 0xa2, 0x69, 0x15, 0x20, 0x59, 0x80, + 0x84, 0xe3, 0x4f, 0x07, +}; +static const struct drbg_kat_no_reseed kat1003_t = { + 12, kat1003_entropyin, kat1003_nonce, kat1003_persstr, + kat1003_addin0, kat1003_addin1, kat1003_retbits +}; +static const struct drbg_kat kat1003 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1003_t +}; + +static const unsigned char kat1004_entropyin[] = { + 0x53, 0x94, 0x5c, 0x28, 0x4c, 0x47, 0x14, 0x0b, 0xc5, 0x3f, 0x90, 0x88, + 0xa5, 0xf0, 0xfd, 0x25, 0x2e, 0x83, 0xca, 0x50, 0xb7, 0x8f, 0xd7, 0x39, + 0xe0, 0x54, 0x52, 0xc5, 0x0d, 0xcc, 0x39, 0xf2, 0x15, 0x25, 0x6d, 0x2d, + 0xe0, 0xda, 0xd0, 0xd9, +}; +static const unsigned char kat1004_nonce[] = {0}; +static const unsigned char kat1004_persstr[] = { + 0x37, 0x61, 0x40, 0x61, 0x05, 0xbf, 0x94, 0x1f, 0xe1, 0xd9, 0x80, 0x03, + 0xdb, 0x68, 0xd4, 0x13, 0x26, 0x04, 0xab, 0x59, 0x83, 0x6b, 0x81, 0xae, + 0x15, 0x60, 0xab, 0xe0, 0xbf, 0x8f, 0x4d, 0xde, 0x22, 0xb6, 0xf4, 0xe9, + 0x8e, 0x52, 0x31, 0xf2, +}; +static const unsigned char kat1004_addin0[] = {0}; +static const unsigned char kat1004_addin1[] = {0}; +static const unsigned char kat1004_retbits[] = { + 0x42, 0xb0, 0x0b, 0x0b, 0xb3, 0xee, 0x68, 0x44, 0x6b, 0x10, 0x28, 0xc5, + 0x9a, 0x00, 0x90, 0x9b, 0xd1, 0xdc, 0xf3, 0xed, 0x67, 0x54, 0x56, 0x52, + 0xe4, 0x26, 0x6e, 0x8e, 0xbb, 0x06, 0x40, 0x8e, 0x40, 0xd2, 0x0e, 0x2d, + 0xa9, 0x4c, 0x34, 0x92, 0xd6, 0x3e, 0x33, 0x27, 0x19, 0x3d, 0x54, 0x81, + 0x33, 0xad, 0xe2, 0xb5, 0x22, 0xde, 0x9f, 0xb0, 0xe2, 0x3f, 0x41, 0xd5, + 0xee, 0x74, 0x91, 0x24, +}; +static const struct drbg_kat_no_reseed kat1004_t = { + 13, kat1004_entropyin, kat1004_nonce, kat1004_persstr, + kat1004_addin0, kat1004_addin1, kat1004_retbits +}; +static const struct drbg_kat kat1004 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1004_t +}; + +static const unsigned char kat1005_entropyin[] = { + 0x0a, 0xc6, 0x27, 0x69, 0x2b, 0x28, 0xd3, 0x1e, 0x34, 0x71, 0x79, 0xc8, + 0xee, 0x9e, 0x50, 0x8e, 0x2b, 0x3f, 0xfb, 0xed, 0xae, 0x40, 0x09, 0x41, + 0x4b, 0x3b, 0x72, 0xe7, 0x6a, 0x37, 0x39, 0xf0, 0x29, 0x27, 0x8a, 0xd1, + 0x5d, 0xc1, 0xc9, 0x45, +}; +static const unsigned char kat1005_nonce[] = {0}; +static const unsigned char kat1005_persstr[] = { + 0x94, 0x6f, 0xb7, 0xe5, 0xc3, 0xcb, 0xf3, 0xd1, 0x98, 0xf1, 0x91, 0x35, + 0xb1, 0xa7, 0x1a, 0x24, 0x1e, 0xe8, 0x92, 0xac, 0x5a, 0x03, 0x16, 0xf5, + 0x7e, 0xae, 0x70, 0x76, 0xa4, 0xd9, 0x9b, 0xf0, 0xe7, 0x7f, 0xe2, 0x3e, + 0x81, 0x25, 0x8c, 0xca, +}; +static const unsigned char kat1005_addin0[] = {0}; +static const unsigned char kat1005_addin1[] = {0}; +static const unsigned char kat1005_retbits[] = { + 0x00, 0x00, 0x7f, 0x40, 0x7f, 0x75, 0x33, 0x5a, 0x35, 0x1d, 0x31, 0xd2, + 0x75, 0x43, 0x66, 0xf8, 0xf2, 0x20, 0xef, 0x2f, 0x96, 0x88, 0xa8, 0x7e, + 0x9d, 0x6a, 0xac, 0x59, 0xfa, 0x9f, 0x36, 0xbe, 0x82, 0x4b, 0x9b, 0xc7, + 0x40, 0x9e, 0xa9, 0x91, 0xd3, 0xe0, 0xa7, 0xc4, 0x11, 0x85, 0x4b, 0x37, + 0x01, 0xc8, 0x4a, 0xbd, 0xd7, 0xa6, 0x96, 0x40, 0x6d, 0xd1, 0x33, 0x31, + 0xe2, 0x78, 0x54, 0x55, +}; +static const struct drbg_kat_no_reseed kat1005_t = { + 14, kat1005_entropyin, kat1005_nonce, kat1005_persstr, + kat1005_addin0, kat1005_addin1, kat1005_retbits +}; +static const struct drbg_kat kat1005 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1005_t +}; + +static const unsigned char kat1006_entropyin[] = { + 0x8d, 0xb4, 0x7c, 0xa2, 0x84, 0x29, 0x4d, 0xae, 0xb3, 0x03, 0xe6, 0x45, + 0x94, 0x22, 0xe3, 0x25, 0x77, 0xca, 0x53, 0x9c, 0x00, 0xfe, 0xad, 0x88, + 0x39, 0xd4, 0x29, 0x46, 0xba, 0xd8, 0xeb, 0x30, 0xe4, 0x89, 0xc6, 0xd8, + 0x58, 0x76, 0x3a, 0x28, +}; +static const unsigned char kat1006_nonce[] = {0}; +static const unsigned char kat1006_persstr[] = { + 0xc2, 0x49, 0x1a, 0x6c, 0xe1, 0xef, 0x9b, 0xd1, 0x3e, 0xb6, 0x6a, 0x86, + 0xc0, 0xf5, 0xbe, 0x3d, 0x2f, 0x32, 0x39, 0xbf, 0x7f, 0x71, 0x3e, 0x83, + 0x0e, 0x8a, 0xe8, 0x90, 0x7a, 0x20, 0x84, 0xf8, 0x73, 0xed, 0x3f, 0x5e, + 0xdd, 0xf5, 0xb5, 0x69, +}; +static const unsigned char kat1006_addin0[] = { + 0xe9, 0xa3, 0xf2, 0x41, 0x80, 0x34, 0x5a, 0x0c, 0x06, 0x80, 0xaa, 0xcd, + 0xb8, 0x9c, 0xe7, 0xcf, 0x84, 0x1c, 0x7a, 0xd5, 0x47, 0xef, 0x92, 0xda, + 0xd5, 0x4f, 0x82, 0x62, 0x44, 0x5e, 0x2f, 0x0c, 0x54, 0xc8, 0xf8, 0xe4, + 0x23, 0x50, 0xf7, 0x9c, +}; +static const unsigned char kat1006_addin1[] = { + 0xe2, 0x42, 0x7b, 0x93, 0x73, 0x84, 0x24, 0xc0, 0xfc, 0xe1, 0x4c, 0xb6, + 0xc5, 0xf1, 0xd6, 0xb6, 0xa0, 0x53, 0x27, 0x87, 0x15, 0x7b, 0x6d, 0x90, + 0x7b, 0xc5, 0x5d, 0x1c, 0x9a, 0x67, 0x04, 0x94, 0x77, 0x62, 0x12, 0xa6, + 0x43, 0xa9, 0xfb, 0x2c, +}; +static const unsigned char kat1006_retbits[] = { + 0x49, 0x4b, 0x19, 0x57, 0xab, 0x38, 0x2b, 0x38, 0x20, 0x54, 0xf5, 0x4b, + 0xb6, 0x2f, 0x0b, 0x5b, 0x46, 0x4a, 0xfb, 0x3b, 0x18, 0x49, 0x2c, 0x60, + 0x80, 0x9c, 0x26, 0xe8, 0x6e, 0x45, 0xb6, 0xb9, 0xfa, 0x44, 0x52, 0x4d, + 0xd8, 0x9e, 0xcd, 0xca, 0x99, 0xc6, 0x0e, 0x68, 0xed, 0x10, 0x7f, 0xf3, + 0x36, 0xbe, 0x15, 0x91, 0xca, 0xdd, 0x6f, 0xd7, 0xe3, 0x5f, 0x74, 0x26, + 0x11, 0x80, 0x9f, 0x2e, +}; +static const struct drbg_kat_no_reseed kat1006_t = { + 0, kat1006_entropyin, kat1006_nonce, kat1006_persstr, + kat1006_addin0, kat1006_addin1, kat1006_retbits +}; +static const struct drbg_kat kat1006 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1006_t +}; + +static const unsigned char kat1007_entropyin[] = { + 0x09, 0xe7, 0xeb, 0x92, 0xda, 0x93, 0x12, 0x19, 0xc1, 0x08, 0x73, 0x36, + 0xb7, 0xd8, 0x15, 0x7c, 0x13, 0xfc, 0x4d, 0x9d, 0x64, 0x9b, 0x56, 0xa4, + 0x9b, 0x30, 0xb0, 0x38, 0xa1, 0xc8, 0xd0, 0xa4, 0x2e, 0xb4, 0x95, 0xf8, + 0x2c, 0x00, 0x14, 0x4c, +}; +static const unsigned char kat1007_nonce[] = {0}; +static const unsigned char kat1007_persstr[] = { + 0x20, 0xec, 0x1e, 0x92, 0x71, 0x33, 0xa2, 0xf3, 0x9e, 0xf9, 0x94, 0xe4, + 0xf7, 0x75, 0x37, 0x54, 0x8f, 0xc6, 0x83, 0x55, 0xd5, 0x54, 0x91, 0x94, + 0x2c, 0xea, 0x33, 0xce, 0xbc, 0xa7, 0x59, 0xde, 0x51, 0x61, 0x18, 0x71, + 0x64, 0x15, 0xb4, 0x67, +}; +static const unsigned char kat1007_addin0[] = { + 0x47, 0x5b, 0x2b, 0xf5, 0xec, 0xd1, 0xfe, 0x76, 0xd0, 0xda, 0x19, 0x81, + 0xb0, 0x75, 0xc4, 0x90, 0x71, 0x3f, 0xfb, 0x7b, 0x95, 0x73, 0x3b, 0xb9, + 0xda, 0x6b, 0x5e, 0xf5, 0x15, 0xd5, 0x38, 0x66, 0xe6, 0xdf, 0xd8, 0xab, + 0xb0, 0xaa, 0x84, 0x62, +}; +static const unsigned char kat1007_addin1[] = { + 0x93, 0xa3, 0xbf, 0xc0, 0xa8, 0x0d, 0xc0, 0x4e, 0xd1, 0xae, 0x93, 0x7c, + 0xf0, 0x76, 0x21, 0xc0, 0x4e, 0x21, 0xb5, 0x5a, 0xdd, 0x83, 0x6a, 0xfe, + 0xec, 0x03, 0xb7, 0x12, 0x5e, 0xa2, 0xe7, 0xef, 0x3e, 0x06, 0xf4, 0x21, + 0xb8, 0xd7, 0x99, 0x8c, +}; +static const unsigned char kat1007_retbits[] = { + 0xac, 0x68, 0x06, 0xb5, 0x32, 0x1f, 0x10, 0xb8, 0xa5, 0x6b, 0xf3, 0xa8, + 0xd3, 0x48, 0xdd, 0xc7, 0x3a, 0x3b, 0xc9, 0x98, 0x5d, 0xa7, 0x16, 0x00, + 0x57, 0x77, 0xf6, 0xc1, 0xf8, 0x1f, 0x94, 0x65, 0x97, 0xaf, 0x27, 0xba, + 0xc0, 0x16, 0xb6, 0x30, 0xcf, 0xd9, 0xdc, 0x3e, 0xde, 0x7f, 0xf2, 0xa2, + 0x16, 0xc8, 0xfe, 0x14, 0x69, 0xe7, 0xd7, 0x24, 0x2d, 0x16, 0x1a, 0x4a, + 0x23, 0x58, 0x23, 0x5b, +}; +static const struct drbg_kat_no_reseed kat1007_t = { + 1, kat1007_entropyin, kat1007_nonce, kat1007_persstr, + kat1007_addin0, kat1007_addin1, kat1007_retbits +}; +static const struct drbg_kat kat1007 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1007_t +}; + +static const unsigned char kat1008_entropyin[] = { + 0x0e, 0x0a, 0xe6, 0xcc, 0x9e, 0xdc, 0xe4, 0x68, 0xd9, 0x00, 0x91, 0xa4, + 0xd9, 0x6d, 0xc3, 0xee, 0xa7, 0x23, 0xdf, 0x98, 0xb8, 0x16, 0x14, 0xcb, + 0xf2, 0x9e, 0x1a, 0xbd, 0x47, 0x57, 0xeb, 0x55, 0x08, 0x55, 0xee, 0x95, + 0x5b, 0x45, 0x4f, 0xbe, +}; +static const unsigned char kat1008_nonce[] = {0}; +static const unsigned char kat1008_persstr[] = { + 0xc7, 0x97, 0x58, 0x4d, 0xdd, 0x4e, 0x66, 0x79, 0x4e, 0x22, 0x88, 0xe1, + 0x6d, 0xb0, 0x53, 0x30, 0xc7, 0x5c, 0xee, 0x8e, 0x4a, 0x6d, 0x87, 0x47, + 0x27, 0x4c, 0xbc, 0x76, 0x32, 0x5d, 0xf4, 0xf9, 0xdf, 0x30, 0xf5, 0x42, + 0x39, 0x1b, 0x9c, 0xbb, +}; +static const unsigned char kat1008_addin0[] = { + 0x98, 0x6a, 0x74, 0xe7, 0x19, 0xd3, 0x04, 0x77, 0x68, 0x06, 0x60, 0xb6, + 0x5a, 0xc2, 0x33, 0x00, 0x28, 0x24, 0xf0, 0x66, 0xef, 0x83, 0x60, 0x1c, + 0x09, 0xe8, 0x99, 0xa2, 0x99, 0xcb, 0x3c, 0x53, 0x86, 0xb6, 0xf1, 0xe8, + 0xc1, 0x8b, 0x08, 0x77, +}; +static const unsigned char kat1008_addin1[] = { + 0xc3, 0x39, 0x33, 0x21, 0xaa, 0xcf, 0x82, 0x37, 0x57, 0xde, 0xa3, 0x97, + 0x79, 0xca, 0x9b, 0xab, 0xbc, 0x73, 0x3a, 0x55, 0xc5, 0x9c, 0xcf, 0x13, + 0x0c, 0xbc, 0xf9, 0x92, 0x2c, 0xa3, 0x5d, 0xd2, 0x8b, 0x0e, 0xc2, 0xef, + 0x11, 0xf1, 0xb4, 0x74, +}; +static const unsigned char kat1008_retbits[] = { + 0xe9, 0x53, 0x81, 0xd1, 0x00, 0x2c, 0x7b, 0x5e, 0x94, 0x88, 0x4f, 0x09, + 0xcd, 0xea, 0x1f, 0x50, 0x60, 0x6e, 0x2c, 0xa4, 0xb7, 0x4c, 0x85, 0xbf, + 0x79, 0xd6, 0x86, 0x4f, 0xb4, 0x6e, 0x4c, 0x08, 0xab, 0x8a, 0xc3, 0xe5, + 0x84, 0x86, 0x8a, 0x50, 0x98, 0x59, 0x18, 0x5b, 0x31, 0xec, 0xf3, 0x31, + 0x4a, 0xaf, 0x47, 0x06, 0x08, 0x22, 0xe4, 0x91, 0xa6, 0xe8, 0x7f, 0x9b, + 0x16, 0x07, 0x6b, 0x88, +}; +static const struct drbg_kat_no_reseed kat1008_t = { + 2, kat1008_entropyin, kat1008_nonce, kat1008_persstr, + kat1008_addin0, kat1008_addin1, kat1008_retbits +}; +static const struct drbg_kat kat1008 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1008_t +}; + +static const unsigned char kat1009_entropyin[] = { + 0xe6, 0x57, 0x7b, 0x32, 0x6e, 0x60, 0x01, 0x64, 0x0c, 0xc7, 0x1e, 0x49, + 0x97, 0x2a, 0x8b, 0xfe, 0x78, 0x64, 0x5e, 0x6d, 0xba, 0x9d, 0x29, 0xf8, + 0x45, 0xd7, 0x9f, 0x35, 0x0c, 0x7e, 0xcd, 0x90, 0xf3, 0x4d, 0xf8, 0xa7, + 0x4b, 0x70, 0xfe, 0xab, +}; +static const unsigned char kat1009_nonce[] = {0}; +static const unsigned char kat1009_persstr[] = { + 0xaf, 0xa8, 0x0b, 0xa7, 0xe1, 0x80, 0xec, 0xad, 0x94, 0xde, 0x06, 0x94, + 0x84, 0xe7, 0xb8, 0x40, 0x1b, 0x97, 0xb2, 0xbe, 0xd9, 0xe8, 0xd9, 0xf3, + 0x00, 0xab, 0x9b, 0x21, 0x09, 0x66, 0x0d, 0x1f, 0x07, 0x0e, 0xea, 0xdb, + 0x5e, 0xa0, 0xc6, 0xf0, +}; +static const unsigned char kat1009_addin0[] = { + 0x88, 0xec, 0x9e, 0x47, 0x6e, 0x65, 0xa6, 0xc4, 0x24, 0xd0, 0xf2, 0x50, + 0xac, 0xcb, 0x17, 0x85, 0x83, 0x6b, 0x7c, 0x7b, 0x02, 0x86, 0x7d, 0xbd, + 0xd3, 0xcf, 0x9c, 0x09, 0x13, 0xcb, 0x11, 0xbf, 0x19, 0xe6, 0xa6, 0x0a, + 0x85, 0xd7, 0xe7, 0x3a, +}; +static const unsigned char kat1009_addin1[] = { + 0x61, 0xcc, 0x72, 0xc1, 0x41, 0xa4, 0x2f, 0x38, 0x9c, 0xcf, 0x9c, 0x15, + 0xea, 0x31, 0xbe, 0x87, 0x13, 0x64, 0x44, 0xeb, 0x7d, 0xcf, 0x93, 0x87, + 0x1d, 0xac, 0xa3, 0xc2, 0xae, 0xc3, 0x53, 0x03, 0xca, 0xce, 0x86, 0xff, + 0x0c, 0x3c, 0x96, 0xb0, +}; +static const unsigned char kat1009_retbits[] = { + 0x68, 0xcc, 0x04, 0x7e, 0x83, 0xea, 0x08, 0xbc, 0xbf, 0xb2, 0x0f, 0x2c, + 0x9f, 0x24, 0x05, 0x07, 0xe4, 0xea, 0xf2, 0x32, 0x4d, 0x11, 0x6c, 0x53, + 0xc8, 0x76, 0x11, 0x95, 0xba, 0x25, 0x5a, 0x51, 0x08, 0x98, 0x51, 0xc4, + 0xa5, 0x31, 0xb4, 0x02, 0x69, 0x1e, 0xbf, 0xa4, 0x23, 0x5a, 0x78, 0x86, + 0x3f, 0xa9, 0xd6, 0x26, 0x95, 0x6b, 0xaa, 0x18, 0x57, 0x05, 0x75, 0xa4, + 0xd5, 0x03, 0x1b, 0x85, +}; +static const struct drbg_kat_no_reseed kat1009_t = { + 3, kat1009_entropyin, kat1009_nonce, kat1009_persstr, + kat1009_addin0, kat1009_addin1, kat1009_retbits +}; +static const struct drbg_kat kat1009 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1009_t +}; + +static const unsigned char kat1010_entropyin[] = { + 0xed, 0x76, 0x8d, 0x7e, 0xe7, 0xee, 0x98, 0x8b, 0xe1, 0x2a, 0x46, 0x3e, + 0x50, 0x06, 0x40, 0x47, 0x1b, 0x0f, 0x21, 0x41, 0xd5, 0x4e, 0x38, 0xc9, + 0x46, 0x1c, 0x79, 0xa3, 0x0b, 0x57, 0xc6, 0x98, 0x3a, 0x39, 0x8f, 0xd5, + 0x2c, 0xe0, 0x39, 0xd0, +}; +static const unsigned char kat1010_nonce[] = {0}; +static const unsigned char kat1010_persstr[] = { + 0xaa, 0xc5, 0x6f, 0xf0, 0xa4, 0x36, 0xb6, 0x3a, 0x54, 0x8e, 0x9a, 0x24, + 0x41, 0x0d, 0x61, 0xfc, 0x7c, 0x8e, 0xa0, 0xa6, 0x07, 0xc9, 0x01, 0x29, + 0x85, 0x18, 0x47, 0x62, 0x35, 0x69, 0xb8, 0x63, 0xb1, 0x26, 0x7c, 0xc8, + 0xfc, 0x3e, 0xf8, 0x97, +}; +static const unsigned char kat1010_addin0[] = { + 0x1f, 0xd6, 0x14, 0xa7, 0x77, 0x62, 0x6f, 0xb4, 0x3b, 0x23, 0x28, 0xeb, + 0x67, 0xa6, 0x32, 0xfa, 0x77, 0x5f, 0xb8, 0xbf, 0x39, 0xac, 0x61, 0x09, + 0x71, 0xb3, 0x6b, 0x42, 0xd7, 0xbe, 0xe6, 0x16, 0x81, 0x19, 0xa3, 0xdd, + 0xc7, 0xa9, 0x68, 0x7a, +}; +static const unsigned char kat1010_addin1[] = { + 0x49, 0x61, 0x1c, 0x47, 0xda, 0x3d, 0xd5, 0x7f, 0xa4, 0xad, 0x96, 0x66, + 0x37, 0xe9, 0x4d, 0xa5, 0x19, 0x5e, 0x9e, 0xe8, 0xab, 0x71, 0x03, 0xe5, + 0xfe, 0xbf, 0xa5, 0x9b, 0x23, 0xfa, 0x07, 0x15, 0x78, 0x58, 0x42, 0xf6, + 0x57, 0xe2, 0x10, 0x2f, +}; +static const unsigned char kat1010_retbits[] = { + 0x36, 0x83, 0xa7, 0xe4, 0x36, 0x64, 0x29, 0x34, 0x45, 0x50, 0xba, 0xa4, + 0xe5, 0x27, 0x8f, 0x0d, 0x99, 0x32, 0xc1, 0x65, 0x8d, 0xd8, 0xb2, 0xd8, + 0x1f, 0x82, 0x8c, 0x19, 0x4c, 0x33, 0x10, 0xc3, 0xcb, 0xd7, 0xa2, 0x1c, + 0x91, 0x19, 0xaf, 0x9b, 0x60, 0x88, 0xa4, 0x1e, 0x1a, 0xc5, 0x92, 0x85, + 0x45, 0xce, 0x5f, 0xe2, 0xeb, 0xda, 0xce, 0x32, 0xaa, 0x4f, 0xbb, 0x20, + 0x70, 0x48, 0x9a, 0x34, +}; +static const struct drbg_kat_no_reseed kat1010_t = { + 4, kat1010_entropyin, kat1010_nonce, kat1010_persstr, + kat1010_addin0, kat1010_addin1, kat1010_retbits +}; +static const struct drbg_kat kat1010 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1010_t +}; + +static const unsigned char kat1011_entropyin[] = { + 0x2c, 0x9a, 0xd8, 0xd0, 0xc4, 0xd2, 0x8f, 0xc4, 0xbe, 0x9b, 0x27, 0x49, + 0xd2, 0x84, 0xc4, 0x8d, 0xdb, 0xd8, 0x6a, 0x2a, 0xb4, 0x71, 0xee, 0xd2, + 0x67, 0xad, 0x80, 0xd0, 0xa6, 0xd3, 0x58, 0x27, 0xbd, 0x90, 0xe8, 0xe9, + 0x9a, 0xe0, 0x8a, 0xf1, +}; +static const unsigned char kat1011_nonce[] = {0}; +static const unsigned char kat1011_persstr[] = { + 0x0b, 0xf3, 0x0f, 0xf8, 0x11, 0xa1, 0xe1, 0x5a, 0x66, 0x11, 0xa3, 0x55, + 0x97, 0xc3, 0xf3, 0x48, 0x16, 0x4a, 0xda, 0xd4, 0x69, 0x12, 0x73, 0x40, + 0x5f, 0x1f, 0x79, 0xe2, 0x9c, 0xae, 0x87, 0x57, 0xb8, 0xa3, 0x76, 0xf2, + 0xda, 0xf6, 0x65, 0xa4, +}; +static const unsigned char kat1011_addin0[] = { + 0x11, 0x28, 0x59, 0x91, 0x34, 0x84, 0x7e, 0xb7, 0xe2, 0xd9, 0x54, 0x12, + 0x46, 0x76, 0x8b, 0xbc, 0xc9, 0x11, 0x82, 0xc8, 0x57, 0x54, 0x4a, 0x03, + 0x2b, 0x5b, 0xee, 0x56, 0xb0, 0x62, 0x23, 0x1f, 0xb6, 0xa0, 0x0f, 0xf1, + 0x53, 0x0e, 0x4c, 0x5b, +}; +static const unsigned char kat1011_addin1[] = { + 0x62, 0x22, 0xc6, 0x4f, 0x81, 0xa9, 0x00, 0xf1, 0x97, 0xd7, 0x11, 0x02, + 0x23, 0x66, 0x2e, 0xfa, 0x50, 0xc0, 0xe1, 0xb5, 0xfe, 0xbf, 0x65, 0x4f, + 0xfd, 0xfb, 0xa8, 0x07, 0xc5, 0x73, 0x76, 0x32, 0x5e, 0x2c, 0x38, 0xb8, + 0xfc, 0x32, 0xfd, 0x1b, +}; +static const unsigned char kat1011_retbits[] = { + 0xe0, 0x64, 0x7d, 0xd7, 0x76, 0x1f, 0x40, 0xec, 0xd2, 0xd1, 0x31, 0x95, + 0x23, 0x70, 0x41, 0xc0, 0x6b, 0x1e, 0x92, 0x1a, 0x7d, 0x07, 0xf1, 0xb0, + 0x41, 0x80, 0xac, 0x47, 0xa9, 0x9f, 0x27, 0xd1, 0x7f, 0xbc, 0x4a, 0x3a, + 0x50, 0xa1, 0xd1, 0xfd, 0x82, 0x6a, 0x0e, 0x84, 0x89, 0xac, 0x38, 0x67, + 0x03, 0x2a, 0x40, 0x51, 0x7e, 0x1b, 0x5f, 0xd1, 0xe2, 0x6a, 0xc8, 0x1b, + 0xdc, 0x8b, 0xf5, 0xc8, +}; +static const struct drbg_kat_no_reseed kat1011_t = { + 5, kat1011_entropyin, kat1011_nonce, kat1011_persstr, + kat1011_addin0, kat1011_addin1, kat1011_retbits +}; +static const struct drbg_kat kat1011 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1011_t +}; + +static const unsigned char kat1012_entropyin[] = { + 0x23, 0x77, 0x45, 0x5b, 0xd3, 0x4a, 0xc4, 0xcb, 0xf9, 0xc1, 0xf5, 0xa2, + 0x5a, 0xed, 0xb7, 0x2b, 0xf3, 0xde, 0x72, 0x51, 0x63, 0x73, 0x5b, 0x06, + 0xd9, 0x38, 0x46, 0x2c, 0x90, 0x15, 0x6b, 0x9d, 0x5d, 0x00, 0x3c, 0xd4, + 0x7d, 0x2e, 0x91, 0x89, +}; +static const unsigned char kat1012_nonce[] = {0}; +static const unsigned char kat1012_persstr[] = { + 0x84, 0xe3, 0x20, 0x5b, 0xcd, 0xb9, 0x3c, 0x0a, 0x01, 0xac, 0xa3, 0x86, + 0xb0, 0xb4, 0x8a, 0xb6, 0x04, 0x6d, 0x91, 0x3d, 0x33, 0x25, 0xc8, 0xc6, + 0x35, 0xce, 0x02, 0x75, 0x05, 0x37, 0x23, 0x65, 0x79, 0xbf, 0xc7, 0x5f, + 0xaa, 0x26, 0xbd, 0x34, +}; +static const unsigned char kat1012_addin0[] = { + 0xd3, 0x50, 0xcb, 0xf5, 0x26, 0x39, 0x4a, 0x9b, 0x59, 0x25, 0xbb, 0x7e, + 0xc8, 0xaf, 0x62, 0xe3, 0xc2, 0xfc, 0x44, 0x33, 0xf6, 0x71, 0xd1, 0xd7, + 0x97, 0x8e, 0x8b, 0x5a, 0xb4, 0xfc, 0xdd, 0x18, 0xce, 0x97, 0x2e, 0xb7, + 0xd6, 0x05, 0x8e, 0x2a, +}; +static const unsigned char kat1012_addin1[] = { + 0x87, 0xf8, 0x8d, 0x41, 0x09, 0x5d, 0xb3, 0xf4, 0x68, 0xb3, 0x32, 0xbd, + 0x7f, 0x24, 0xe8, 0x48, 0x29, 0x9e, 0xae, 0x94, 0x6d, 0x43, 0x8d, 0x22, + 0x9e, 0xdb, 0xea, 0x03, 0x55, 0xc8, 0x06, 0x3d, 0x67, 0x81, 0x31, 0xc9, + 0x45, 0xee, 0x6f, 0x1b, +}; +static const unsigned char kat1012_retbits[] = { + 0xdc, 0xcb, 0x3d, 0x65, 0x2b, 0xd3, 0x58, 0x35, 0x39, 0x09, 0x1c, 0x61, + 0x15, 0x99, 0x6f, 0xb7, 0x56, 0x3b, 0xae, 0x73, 0x7f, 0x3f, 0x7e, 0xdc, + 0x0d, 0xbf, 0x72, 0x98, 0x48, 0xef, 0x60, 0x6d, 0xf0, 0x9d, 0xc5, 0xe3, + 0xc2, 0xb2, 0xa4, 0x23, 0x66, 0x8f, 0xc8, 0x1e, 0xf0, 0xfe, 0xa8, 0x12, + 0x07, 0x43, 0x0a, 0xb3, 0x67, 0x4d, 0x11, 0x7a, 0x69, 0x81, 0x0b, 0x2b, + 0x0a, 0x92, 0xe7, 0xee, +}; +static const struct drbg_kat_no_reseed kat1012_t = { + 6, kat1012_entropyin, kat1012_nonce, kat1012_persstr, + kat1012_addin0, kat1012_addin1, kat1012_retbits +}; +static const struct drbg_kat kat1012 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1012_t +}; + +static const unsigned char kat1013_entropyin[] = { + 0x80, 0xa1, 0xd1, 0x8c, 0x87, 0xbb, 0x35, 0xed, 0xb9, 0x37, 0x16, 0xc9, + 0x6c, 0x95, 0x77, 0x9c, 0xbb, 0x24, 0xbd, 0x4f, 0x1b, 0x49, 0x4c, 0xee, + 0x3b, 0x4d, 0x3d, 0x31, 0x99, 0xf1, 0x0b, 0x08, 0xf6, 0x58, 0xcb, 0x2a, + 0x08, 0x95, 0x6b, 0x83, +}; +static const unsigned char kat1013_nonce[] = {0}; +static const unsigned char kat1013_persstr[] = { + 0xee, 0x0a, 0xfb, 0x96, 0x60, 0x08, 0x8e, 0x66, 0xc5, 0x88, 0x81, 0x3a, + 0x01, 0xa9, 0xda, 0x00, 0x1b, 0x78, 0xbe, 0x45, 0x5c, 0x62, 0x7a, 0x37, + 0x20, 0x90, 0x3d, 0xed, 0x5a, 0xe8, 0x51, 0xd6, 0x64, 0xe4, 0xbc, 0x3c, + 0xf6, 0xb9, 0x1b, 0x59, +}; +static const unsigned char kat1013_addin0[] = { + 0xa8, 0x48, 0x72, 0x6a, 0xbb, 0xc0, 0xaf, 0x04, 0x20, 0x9f, 0xc5, 0x24, + 0x08, 0x8f, 0x5b, 0xc5, 0x3f, 0x16, 0x50, 0xd9, 0xea, 0x14, 0x0a, 0x72, + 0xe0, 0x43, 0xc3, 0xc7, 0xe1, 0x07, 0xca, 0xe0, 0x5f, 0xa2, 0xe0, 0xed, + 0xeb, 0x8e, 0xad, 0x0d, +}; +static const unsigned char kat1013_addin1[] = { + 0xad, 0x33, 0x68, 0x69, 0xb2, 0xe2, 0x21, 0x07, 0x06, 0x0a, 0xbe, 0x50, + 0xf5, 0x44, 0xb9, 0x6c, 0x43, 0x43, 0x07, 0xa6, 0x45, 0xc0, 0x3f, 0xd5, + 0x72, 0x2f, 0xf1, 0x16, 0x8d, 0x51, 0x8f, 0xf5, 0x28, 0xd2, 0xf5, 0x3c, + 0x7c, 0x88, 0xb0, 0x8f, +}; +static const unsigned char kat1013_retbits[] = { + 0xf2, 0x5d, 0xd7, 0xeb, 0x2c, 0x7a, 0xb6, 0x05, 0xc7, 0x1b, 0xff, 0x4e, + 0xb4, 0x92, 0x4b, 0x05, 0x95, 0x05, 0x70, 0xf5, 0x4b, 0xd6, 0xea, 0x6f, + 0x85, 0x07, 0x33, 0x93, 0x08, 0x3e, 0x4f, 0xc4, 0x04, 0x31, 0x4a, 0x19, + 0xa7, 0x2f, 0x9e, 0xf5, 0x14, 0x77, 0xd3, 0x6b, 0x66, 0x13, 0x98, 0x5a, + 0xb0, 0x2b, 0x68, 0xac, 0x1d, 0x90, 0xce, 0xf8, 0x0a, 0x9a, 0xcd, 0x77, + 0x65, 0x53, 0x7a, 0x17, +}; +static const struct drbg_kat_no_reseed kat1013_t = { + 7, kat1013_entropyin, kat1013_nonce, kat1013_persstr, + kat1013_addin0, kat1013_addin1, kat1013_retbits +}; +static const struct drbg_kat kat1013 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1013_t +}; + +static const unsigned char kat1014_entropyin[] = { + 0x98, 0xda, 0xbf, 0xe2, 0x63, 0x5c, 0x6f, 0x88, 0xf1, 0x56, 0xa1, 0xb5, + 0x7d, 0x92, 0x49, 0x39, 0xa8, 0xb5, 0x8b, 0x5a, 0x9a, 0xb5, 0x5d, 0x2a, + 0x85, 0x5b, 0xde, 0x86, 0x9a, 0x95, 0x03, 0x89, 0x17, 0x99, 0xc7, 0xa7, + 0x37, 0xd2, 0xc4, 0xca, +}; +static const unsigned char kat1014_nonce[] = {0}; +static const unsigned char kat1014_persstr[] = { + 0x91, 0x20, 0x7a, 0x04, 0x2e, 0x31, 0x0d, 0x2d, 0x64, 0xe4, 0x3d, 0xbd, + 0xba, 0xee, 0x9d, 0x04, 0xfe, 0x49, 0x27, 0xf3, 0xae, 0x72, 0x16, 0xd3, + 0x1a, 0x09, 0xcd, 0x18, 0x7b, 0x0e, 0x1b, 0xc9, 0xef, 0xbf, 0x60, 0x00, + 0xff, 0xbe, 0x88, 0x24, +}; +static const unsigned char kat1014_addin0[] = { + 0x48, 0xde, 0x31, 0xd7, 0xd9, 0x77, 0xe9, 0xc9, 0x98, 0x4f, 0x3e, 0x03, + 0xc4, 0x71, 0xbf, 0x0a, 0x37, 0xbe, 0xf7, 0xcd, 0x2e, 0xbe, 0xb8, 0x48, + 0x08, 0x47, 0xd0, 0xa4, 0x20, 0x3d, 0x9d, 0x79, 0x33, 0x0d, 0xef, 0x0b, + 0x25, 0x7d, 0x41, 0xdb, +}; +static const unsigned char kat1014_addin1[] = { + 0x96, 0x4c, 0x5b, 0x9e, 0x0e, 0x20, 0x88, 0x4f, 0x5d, 0x56, 0xd5, 0xd2, + 0x6d, 0x0d, 0x4b, 0xca, 0xb0, 0x01, 0x4c, 0x0f, 0x47, 0x52, 0xe5, 0xc8, + 0x08, 0x7b, 0xe7, 0x4b, 0x0d, 0x90, 0xfc, 0xf5, 0x6e, 0x74, 0xd6, 0xae, + 0x0e, 0xbd, 0xb4, 0xbb, +}; +static const unsigned char kat1014_retbits[] = { + 0xb7, 0xb6, 0x2a, 0xb2, 0x85, 0xb5, 0x0f, 0xaa, 0x98, 0x86, 0x95, 0xbb, + 0xf0, 0x6e, 0x19, 0xcf, 0xdb, 0x0e, 0xbb, 0xcc, 0x4b, 0x53, 0x03, 0x17, + 0x6b, 0x79, 0x55, 0x26, 0x32, 0x2f, 0x10, 0x0e, 0x90, 0x87, 0x66, 0x4d, + 0xf3, 0xe4, 0x6e, 0x24, 0x7e, 0x08, 0xb0, 0xd5, 0x1f, 0xcf, 0x28, 0x0b, + 0xff, 0x78, 0x29, 0xcc, 0x2e, 0x46, 0xe3, 0x6e, 0x10, 0xb8, 0x86, 0x43, + 0x37, 0xda, 0x8f, 0x5c, +}; +static const struct drbg_kat_no_reseed kat1014_t = { + 8, kat1014_entropyin, kat1014_nonce, kat1014_persstr, + kat1014_addin0, kat1014_addin1, kat1014_retbits +}; +static const struct drbg_kat kat1014 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1014_t +}; + +static const unsigned char kat1015_entropyin[] = { + 0x85, 0xf5, 0x09, 0xf2, 0xee, 0x6e, 0x8f, 0x96, 0x4d, 0x92, 0x33, 0xdb, + 0xf5, 0x98, 0x75, 0x6e, 0xc4, 0x14, 0x72, 0x73, 0xfc, 0xa0, 0x82, 0x82, + 0x3b, 0x75, 0xe1, 0xac, 0xf7, 0x74, 0xe2, 0x94, 0x4e, 0x6f, 0xec, 0xd8, + 0xda, 0x9f, 0xd7, 0x82, +}; +static const unsigned char kat1015_nonce[] = {0}; +static const unsigned char kat1015_persstr[] = { + 0x3e, 0x28, 0x4f, 0xc7, 0x94, 0x87, 0x42, 0xf9, 0x8c, 0x61, 0x22, 0x20, + 0xfb, 0x47, 0xae, 0xb2, 0x4f, 0x38, 0x7a, 0x46, 0x76, 0x6f, 0x05, 0x24, + 0x75, 0xb3, 0x28, 0x62, 0x9c, 0xce, 0x30, 0x73, 0xf5, 0x3e, 0xdf, 0xd9, + 0x0a, 0x38, 0x4e, 0x84, +}; +static const unsigned char kat1015_addin0[] = { + 0xa2, 0xe6, 0xc7, 0xd8, 0xdd, 0x2e, 0xdb, 0xc5, 0xcd, 0x1f, 0x5a, 0x0d, + 0xb8, 0x66, 0x14, 0x98, 0x98, 0x69, 0x50, 0x49, 0xa3, 0x4f, 0x0a, 0x18, + 0x86, 0x8f, 0x2e, 0xcc, 0xe8, 0xb2, 0x70, 0xef, 0x05, 0xdd, 0x4e, 0x40, + 0xad, 0x06, 0x81, 0x38, +}; +static const unsigned char kat1015_addin1[] = { + 0x12, 0xcc, 0x0a, 0x88, 0xf2, 0xe8, 0x65, 0xd5, 0xbe, 0xb5, 0x63, 0x74, + 0x01, 0x62, 0xfc, 0x80, 0xdb, 0xb1, 0x6a, 0x81, 0x62, 0x7c, 0x17, 0x81, + 0x6a, 0xe6, 0x81, 0xb1, 0xbb, 0xb7, 0xbc, 0xdd, 0xb9, 0xb6, 0xc4, 0xe0, + 0xde, 0x70, 0x5f, 0x24, +}; +static const unsigned char kat1015_retbits[] = { + 0xb6, 0x42, 0x3c, 0x53, 0xca, 0xe7, 0xa2, 0x65, 0xb2, 0xd4, 0x28, 0x24, + 0x7c, 0xe8, 0xfc, 0x0a, 0x60, 0x91, 0x13, 0x8d, 0xc1, 0x7e, 0x2f, 0x36, + 0x42, 0x3c, 0x59, 0x0b, 0xb8, 0xb8, 0xe2, 0xea, 0x2f, 0x3d, 0xf4, 0x17, + 0xcf, 0x2d, 0x82, 0x0d, 0x61, 0x35, 0x5b, 0xf4, 0x31, 0x6f, 0xe0, 0x8f, + 0x77, 0x83, 0x00, 0x67, 0xc3, 0x74, 0xed, 0xa5, 0x0a, 0x92, 0x46, 0x3b, + 0xac, 0xd0, 0xae, 0x7d, +}; +static const struct drbg_kat_no_reseed kat1015_t = { + 9, kat1015_entropyin, kat1015_nonce, kat1015_persstr, + kat1015_addin0, kat1015_addin1, kat1015_retbits +}; +static const struct drbg_kat kat1015 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1015_t +}; + +static const unsigned char kat1016_entropyin[] = { + 0xf1, 0xde, 0x48, 0xab, 0x29, 0x59, 0x9b, 0x83, 0xba, 0xe0, 0xe2, 0x77, + 0x85, 0xf2, 0x08, 0xfc, 0x31, 0x76, 0x1d, 0x08, 0xc6, 0x9f, 0x7e, 0x05, + 0x6c, 0x52, 0xd6, 0x59, 0x5c, 0xfd, 0xa8, 0xfb, 0xfc, 0x0e, 0x90, 0x96, + 0x6b, 0xf3, 0x5d, 0xd5, +}; +static const unsigned char kat1016_nonce[] = {0}; +static const unsigned char kat1016_persstr[] = { + 0x9a, 0xda, 0xad, 0x41, 0x9c, 0x82, 0xab, 0x72, 0x89, 0xac, 0x28, 0xfa, + 0x0e, 0x5a, 0x07, 0x84, 0x5c, 0x28, 0x24, 0x8c, 0xc8, 0x26, 0x8f, 0xbe, + 0x20, 0x18, 0x47, 0xbe, 0xe4, 0x19, 0x1a, 0x43, 0x87, 0x8d, 0x9d, 0xf2, + 0x78, 0x16, 0x89, 0xf9, +}; +static const unsigned char kat1016_addin0[] = { + 0xc1, 0xc3, 0xbd, 0xd0, 0x81, 0xed, 0x99, 0x58, 0xb1, 0xe7, 0xed, 0xa7, + 0x52, 0xe1, 0x46, 0x78, 0xf8, 0x19, 0x00, 0x79, 0xdd, 0xa0, 0x4f, 0x04, + 0x2b, 0xdd, 0xb2, 0x0f, 0x79, 0x82, 0x2d, 0x2e, 0x0c, 0x29, 0xc4, 0x69, + 0xcc, 0x08, 0x83, 0xef, +}; +static const unsigned char kat1016_addin1[] = { + 0x30, 0xce, 0xf7, 0x32, 0xc1, 0x27, 0x9f, 0xeb, 0xd8, 0x57, 0x33, 0x7e, + 0x0f, 0x6c, 0x3b, 0xef, 0x92, 0xb2, 0x48, 0x39, 0x3e, 0x9c, 0x10, 0x79, + 0x58, 0x19, 0xa0, 0x33, 0xe3, 0x21, 0x8e, 0xec, 0x47, 0x75, 0x8c, 0xfa, + 0x88, 0x93, 0x53, 0xec, +}; +static const unsigned char kat1016_retbits[] = { + 0x04, 0x37, 0x71, 0xa5, 0xac, 0x38, 0x33, 0xea, 0xca, 0xa0, 0x5b, 0xd6, + 0xff, 0x0d, 0xbc, 0xd4, 0x84, 0x77, 0x07, 0x0a, 0xec, 0x69, 0xd5, 0xc0, + 0x3f, 0x40, 0x9d, 0xb1, 0x12, 0xf9, 0xf1, 0xc8, 0x0e, 0x8c, 0x23, 0x8d, + 0x57, 0xbe, 0xcf, 0x7a, 0xdb, 0x90, 0x02, 0x43, 0x95, 0x31, 0x31, 0x09, + 0xdb, 0x08, 0x29, 0x68, 0x1d, 0x3a, 0x42, 0x07, 0xa2, 0x52, 0x30, 0xa6, + 0x29, 0x10, 0x62, 0xf0, +}; +static const struct drbg_kat_no_reseed kat1016_t = { + 10, kat1016_entropyin, kat1016_nonce, kat1016_persstr, + kat1016_addin0, kat1016_addin1, kat1016_retbits +}; +static const struct drbg_kat kat1016 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1016_t +}; + +static const unsigned char kat1017_entropyin[] = { + 0x08, 0x76, 0x69, 0xed, 0x86, 0xc1, 0xb2, 0x77, 0x66, 0x72, 0x78, 0x6e, + 0x61, 0x75, 0xab, 0xfa, 0xb4, 0x22, 0xad, 0xc4, 0x73, 0x7c, 0xc8, 0xfb, + 0x39, 0x76, 0x39, 0x5d, 0x85, 0x9a, 0xc7, 0xd3, 0x7e, 0xc7, 0x6e, 0x00, + 0xa8, 0x11, 0x28, 0x25, +}; +static const unsigned char kat1017_nonce[] = {0}; +static const unsigned char kat1017_persstr[] = { + 0xba, 0x9a, 0xbf, 0x3c, 0x49, 0x9a, 0xda, 0x3b, 0x36, 0x56, 0x97, 0x85, + 0xdb, 0xe7, 0xdb, 0x41, 0x83, 0x22, 0xde, 0x1a, 0x32, 0xbc, 0xc4, 0x03, + 0xdf, 0xdc, 0x31, 0xc3, 0xb5, 0x2f, 0x2c, 0xb5, 0x7f, 0x90, 0x0b, 0xdf, + 0x15, 0xf3, 0x80, 0x56, +}; +static const unsigned char kat1017_addin0[] = { + 0x73, 0x9e, 0x72, 0x8d, 0x8e, 0x34, 0x9b, 0xc7, 0x4f, 0x2c, 0x82, 0xec, + 0x91, 0x13, 0x1f, 0xa7, 0xce, 0xeb, 0x5f, 0x99, 0x46, 0x81, 0x4d, 0x67, + 0x6e, 0x82, 0x68, 0x7b, 0xaf, 0xca, 0x08, 0xe9, 0x7d, 0xa1, 0x3f, 0x72, + 0x47, 0xc6, 0x8b, 0x4f, +}; +static const unsigned char kat1017_addin1[] = { + 0x9f, 0x7e, 0x45, 0xf9, 0x01, 0x9d, 0x46, 0x9c, 0x96, 0x49, 0xea, 0x3b, + 0x88, 0xbb, 0x65, 0x50, 0xa0, 0x4e, 0xab, 0xdf, 0xbc, 0x8c, 0x52, 0xee, + 0xcc, 0xc1, 0xd9, 0x2a, 0x80, 0x10, 0xb2, 0xb5, 0xf3, 0x64, 0x60, 0x30, + 0x60, 0x4c, 0x91, 0x86, +}; +static const unsigned char kat1017_retbits[] = { + 0x23, 0x1c, 0xff, 0x0d, 0x4b, 0x97, 0x7f, 0x7b, 0x1b, 0x6a, 0xa8, 0xc1, + 0x27, 0xa7, 0xc4, 0xc1, 0x5c, 0x20, 0x05, 0x05, 0xed, 0xf6, 0x85, 0x65, + 0x10, 0x9f, 0x8e, 0xad, 0xc6, 0x1e, 0x83, 0xef, 0xf8, 0x44, 0x7c, 0x5c, + 0xf6, 0x34, 0xd7, 0x90, 0x7a, 0x9e, 0xde, 0xe5, 0x7d, 0xcb, 0xbd, 0x38, + 0xfa, 0xd7, 0xb7, 0xc0, 0x3d, 0x63, 0x07, 0x35, 0xbf, 0xa5, 0x27, 0x1f, + 0x75, 0x5c, 0x40, 0x11, +}; +static const struct drbg_kat_no_reseed kat1017_t = { + 11, kat1017_entropyin, kat1017_nonce, kat1017_persstr, + kat1017_addin0, kat1017_addin1, kat1017_retbits +}; +static const struct drbg_kat kat1017 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1017_t +}; + +static const unsigned char kat1018_entropyin[] = { + 0xa6, 0x7b, 0x15, 0x97, 0xdb, 0x8e, 0x04, 0xc4, 0x7c, 0x78, 0x4c, 0x55, + 0xd2, 0xd8, 0x55, 0xc5, 0xf1, 0xda, 0x48, 0x1b, 0xb9, 0x3a, 0x60, 0x42, + 0x42, 0xc7, 0xf8, 0xcd, 0xb2, 0xd0, 0xfe, 0xba, 0xed, 0xd9, 0xa7, 0xa1, + 0x62, 0x7a, 0x52, 0x86, +}; +static const unsigned char kat1018_nonce[] = {0}; +static const unsigned char kat1018_persstr[] = { + 0xfb, 0xaa, 0xc1, 0x70, 0xa1, 0x1b, 0x0f, 0xac, 0x54, 0xed, 0x43, 0x29, + 0xf8, 0x98, 0x2b, 0x2c, 0xa8, 0x7f, 0x6e, 0x2f, 0x01, 0xe0, 0x74, 0x34, + 0x95, 0x20, 0x39, 0xf1, 0x64, 0x77, 0xe7, 0x8c, 0xb4, 0x62, 0x78, 0x46, + 0x13, 0xa6, 0xff, 0x7c, +}; +static const unsigned char kat1018_addin0[] = { + 0xb1, 0x65, 0x10, 0xcf, 0x03, 0xb1, 0x41, 0xec, 0x60, 0x89, 0x82, 0x43, + 0x2a, 0x59, 0xb0, 0xc2, 0xa9, 0x71, 0x68, 0x2f, 0xe8, 0x8f, 0xc2, 0x88, + 0xd5, 0xa0, 0x9b, 0x64, 0xb0, 0xf8, 0xf3, 0x38, 0x42, 0x7e, 0x0f, 0x5f, + 0x96, 0x3e, 0x64, 0x92, +}; +static const unsigned char kat1018_addin1[] = { + 0x6d, 0xe9, 0x41, 0xdc, 0x9a, 0xd6, 0x32, 0xaf, 0xe7, 0xae, 0xc7, 0x5e, + 0x90, 0x66, 0x48, 0xaa, 0xf6, 0x37, 0x94, 0xfa, 0x97, 0xbd, 0x83, 0x50, + 0xe7, 0x56, 0x42, 0x04, 0xcd, 0x6e, 0x0f, 0xe1, 0xea, 0x5f, 0xa7, 0x56, + 0xd9, 0xae, 0xe3, 0x7d, +}; +static const unsigned char kat1018_retbits[] = { + 0xc2, 0xa4, 0x22, 0x49, 0x81, 0x12, 0xe8, 0xe8, 0x50, 0xce, 0x43, 0xce, + 0x6d, 0xdb, 0xc3, 0xd1, 0x5c, 0x68, 0x15, 0xb1, 0xf4, 0xa2, 0x33, 0x0c, + 0x84, 0xbc, 0xbf, 0xc3, 0x41, 0x5e, 0x7f, 0xe0, 0x20, 0x74, 0x44, 0x61, + 0x76, 0xc0, 0x88, 0xa4, 0xb9, 0xa4, 0xc3, 0xe4, 0xee, 0x55, 0xec, 0xaa, + 0x2d, 0xb3, 0x98, 0x0d, 0x90, 0x28, 0xd6, 0x4f, 0xa8, 0xa6, 0xbb, 0xb5, + 0x1b, 0x8d, 0x20, 0x51, +}; +static const struct drbg_kat_no_reseed kat1018_t = { + 12, kat1018_entropyin, kat1018_nonce, kat1018_persstr, + kat1018_addin0, kat1018_addin1, kat1018_retbits +}; +static const struct drbg_kat kat1018 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1018_t +}; + +static const unsigned char kat1019_entropyin[] = { + 0x30, 0x36, 0x37, 0xc0, 0x37, 0xf7, 0x12, 0xaa, 0x82, 0x8a, 0x0d, 0x6f, + 0xfb, 0x37, 0x65, 0x13, 0x21, 0x5d, 0xb7, 0x3d, 0x4b, 0xc4, 0x56, 0x82, + 0xa4, 0xc0, 0x06, 0x16, 0x8b, 0x70, 0xcd, 0x2e, 0xb3, 0x21, 0x59, 0x43, + 0x17, 0x27, 0x77, 0xb5, +}; +static const unsigned char kat1019_nonce[] = {0}; +static const unsigned char kat1019_persstr[] = { + 0x9c, 0xf5, 0xa1, 0x8f, 0x1b, 0x2c, 0x2a, 0xf9, 0x6c, 0x63, 0xfd, 0xf2, + 0xd6, 0x58, 0x22, 0x53, 0x7e, 0x90, 0x7a, 0xa5, 0xe1, 0x79, 0xe1, 0x88, + 0x97, 0x63, 0x7b, 0x84, 0xbd, 0x9c, 0xb2, 0x4f, 0x41, 0xfe, 0x01, 0xcd, + 0xd3, 0x1c, 0xec, 0x07, +}; +static const unsigned char kat1019_addin0[] = { + 0x3c, 0x45, 0x46, 0x28, 0xff, 0x13, 0xa6, 0x05, 0x03, 0x79, 0xb4, 0xd3, + 0xa7, 0x83, 0xbe, 0xbd, 0x1a, 0x30, 0x01, 0xf7, 0x0e, 0x0f, 0x20, 0x61, + 0x9f, 0x1d, 0x90, 0x0e, 0x9e, 0xb1, 0x52, 0xea, 0xc7, 0x15, 0xd2, 0x77, + 0x9f, 0x16, 0x51, 0x67, +}; +static const unsigned char kat1019_addin1[] = { + 0x16, 0x93, 0xe9, 0x3b, 0x42, 0xad, 0x41, 0x08, 0xef, 0x3c, 0xaa, 0xb6, + 0xbd, 0x69, 0x87, 0xb1, 0xa7, 0xdc, 0x5f, 0x05, 0x96, 0x8d, 0xd8, 0xee, + 0x6f, 0xfb, 0x2f, 0xc6, 0x5c, 0x25, 0x16, 0x27, 0x7a, 0xb4, 0x2f, 0x7e, + 0xf7, 0x06, 0x69, 0xe3, +}; +static const unsigned char kat1019_retbits[] = { + 0x39, 0xf0, 0xf2, 0x21, 0xdf, 0x9c, 0xf7, 0x3c, 0xb4, 0x8e, 0x32, 0x76, + 0xf0, 0x16, 0x50, 0x73, 0x19, 0xf4, 0x53, 0x75, 0x88, 0xf2, 0xc7, 0x1f, + 0xcb, 0x20, 0xe0, 0x9d, 0xdf, 0xb1, 0x9a, 0x91, 0x70, 0xcc, 0x3c, 0x8f, + 0x76, 0xf3, 0x49, 0xe1, 0xa9, 0xa0, 0x53, 0x30, 0x3d, 0x4c, 0x91, 0x19, + 0x5d, 0xed, 0x47, 0x9e, 0x8b, 0xec, 0x7e, 0x4b, 0x95, 0x25, 0x41, 0x4b, + 0x38, 0xf9, 0x01, 0x21, +}; +static const struct drbg_kat_no_reseed kat1019_t = { + 13, kat1019_entropyin, kat1019_nonce, kat1019_persstr, + kat1019_addin0, kat1019_addin1, kat1019_retbits +}; +static const struct drbg_kat kat1019 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1019_t +}; + +static const unsigned char kat1020_entropyin[] = { + 0x14, 0xb9, 0xc7, 0x96, 0x22, 0xaf, 0x2c, 0xb6, 0xbb, 0x65, 0xa8, 0xf0, + 0xf6, 0x1a, 0x8f, 0xc0, 0xe5, 0x9f, 0x26, 0xdc, 0x69, 0x78, 0x9e, 0x6e, + 0xae, 0xe1, 0x3f, 0x03, 0xad, 0x30, 0x6d, 0x93, 0xc7, 0xa3, 0x5b, 0x9e, + 0x69, 0xa2, 0x42, 0x1c, +}; +static const unsigned char kat1020_nonce[] = {0}; +static const unsigned char kat1020_persstr[] = { + 0xb2, 0xe2, 0x51, 0x7a, 0x5c, 0x15, 0x73, 0x80, 0x0e, 0x3f, 0x5f, 0x31, + 0x44, 0xa2, 0xc7, 0x6f, 0x70, 0xbf, 0x4d, 0x36, 0xef, 0xd9, 0xe8, 0x62, + 0x6a, 0xd4, 0x5e, 0x5c, 0xda, 0x7f, 0x00, 0x9b, 0xfb, 0x6b, 0xde, 0x96, + 0x2a, 0x62, 0x61, 0x0c, +}; +static const unsigned char kat1020_addin0[] = { + 0x15, 0x64, 0xd7, 0x0c, 0x91, 0xa7, 0xf7, 0x21, 0x51, 0xa4, 0x48, 0x3b, + 0x9e, 0xba, 0x35, 0xb5, 0x2c, 0x19, 0x66, 0x56, 0xff, 0x96, 0x87, 0x5d, + 0x7c, 0x59, 0xc6, 0xd1, 0x16, 0xff, 0xfa, 0x3f, 0xeb, 0xf1, 0x86, 0x0a, + 0x39, 0x81, 0xd6, 0x4b, +}; +static const unsigned char kat1020_addin1[] = { + 0xc2, 0x73, 0x1f, 0xd3, 0x8e, 0x65, 0xf8, 0xe7, 0x24, 0x37, 0x8a, 0xd4, + 0xe0, 0x13, 0x59, 0x51, 0x2c, 0xb4, 0x73, 0xdd, 0x98, 0x54, 0xfc, 0x23, + 0x03, 0xe6, 0x1c, 0x2d, 0x19, 0x7c, 0xaa, 0xd6, 0x9b, 0x12, 0xfd, 0xe1, + 0x4a, 0xed, 0x66, 0xb6, +}; +static const unsigned char kat1020_retbits[] = { + 0xc6, 0x8d, 0x3e, 0x56, 0x97, 0xf3, 0x6c, 0x9d, 0xb2, 0x53, 0x5b, 0x05, + 0x22, 0x6a, 0xa1, 0x18, 0xe0, 0x0f, 0xda, 0xb9, 0x5c, 0xa2, 0xcd, 0xbd, + 0x37, 0x42, 0x12, 0x98, 0xd4, 0x6d, 0x20, 0x54, 0xe9, 0x00, 0xb8, 0x2c, + 0xcb, 0x63, 0x22, 0x7a, 0x23, 0x38, 0x0e, 0x4a, 0x2e, 0x93, 0x32, 0x77, + 0x18, 0xcc, 0xa3, 0xb9, 0xf5, 0xfc, 0x9c, 0x39, 0x49, 0xad, 0xab, 0xd7, + 0x23, 0xbd, 0x43, 0x13, +}; +static const struct drbg_kat_no_reseed kat1020_t = { + 14, kat1020_entropyin, kat1020_nonce, kat1020_persstr, + kat1020_addin0, kat1020_addin1, kat1020_retbits +}; +static const struct drbg_kat kat1020 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1020_t +}; + +static const unsigned char kat1021_entropyin[] = { + 0x0a, 0x3e, 0x45, 0xd9, 0x2c, 0xa0, 0x0e, 0x1f, 0x65, 0x3e, 0x0f, 0x6b, + 0x24, 0x6c, 0xa6, 0xfc, 0xda, 0x82, 0x6f, 0x3d, 0x7a, 0x8b, 0xc6, 0x93, + 0x73, 0xd1, 0xf4, 0x58, 0x40, 0x8b, 0xf2, 0x98, 0x99, 0x85, 0xc8, 0x9c, + 0x2d, 0x03, 0x9b, 0x4d, +}; +static const unsigned char kat1021_nonce[] = {0}; +static const unsigned char kat1021_persstr[] = {0}; +static const unsigned char kat1021_addin0[] = {0}; +static const unsigned char kat1021_addin1[] = {0}; +static const unsigned char kat1021_retbits[] = { + 0x00, 0xee, 0xd8, 0x60, 0x01, 0x9b, 0x5a, 0x23, 0xb5, 0xd2, 0xf5, 0xa1, + 0xe1, 0x9c, 0xcc, 0xf4, 0x71, 0xf1, 0xee, 0x35, 0x84, 0x45, 0x01, 0xca, + 0xf0, 0xb2, 0xef, 0xdd, 0xdd, 0x69, 0xee, 0xd7, 0x14, 0x7a, 0x03, 0x48, + 0xb2, 0x22, 0xb3, 0x6e, 0x0e, 0xe3, 0x87, 0x90, 0xaf, 0xe3, 0xb9, 0x25, + 0x4b, 0x65, 0xfe, 0x9c, 0x09, 0xb9, 0x0e, 0xec, 0x33, 0x69, 0xff, 0x5c, + 0x66, 0x63, 0x4e, 0x0c, +}; +static const struct drbg_kat_no_reseed kat1021_t = { + 0, kat1021_entropyin, kat1021_nonce, kat1021_persstr, + kat1021_addin0, kat1021_addin1, kat1021_retbits +}; +static const struct drbg_kat kat1021 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1021_t +}; + +static const unsigned char kat1022_entropyin[] = { + 0x2c, 0x75, 0xf9, 0x24, 0x3a, 0x85, 0x92, 0x1c, 0x5d, 0xb7, 0xff, 0xdb, + 0x7a, 0x27, 0xe5, 0xf6, 0x8b, 0x71, 0xc1, 0x76, 0x97, 0x3b, 0x78, 0x1b, + 0xa1, 0x6d, 0xa1, 0x46, 0x95, 0xbc, 0x4e, 0x81, 0x4e, 0xa0, 0x7b, 0xd2, + 0xc7, 0xf4, 0x24, 0x31, +}; +static const unsigned char kat1022_nonce[] = {0}; +static const unsigned char kat1022_persstr[] = {0}; +static const unsigned char kat1022_addin0[] = {0}; +static const unsigned char kat1022_addin1[] = {0}; +static const unsigned char kat1022_retbits[] = { + 0x9d, 0xdf, 0x7e, 0x53, 0x2f, 0x2e, 0x9f, 0x4b, 0xce, 0xb9, 0x81, 0x73, + 0x93, 0x1d, 0xef, 0x69, 0xa3, 0x5f, 0x44, 0x6e, 0xad, 0x44, 0xbd, 0xe3, + 0x17, 0x6d, 0x8f, 0xb8, 0x17, 0x0d, 0xf6, 0xfe, 0x49, 0x6b, 0x12, 0xe6, + 0x40, 0xb6, 0x41, 0x81, 0x0d, 0xcb, 0xea, 0x1a, 0x84, 0x42, 0xc5, 0x03, + 0xce, 0x23, 0x89, 0x39, 0xa0, 0xd1, 0x99, 0x69, 0x1d, 0xc9, 0xba, 0xaf, + 0xca, 0x4c, 0xd4, 0x46, +}; +static const struct drbg_kat_no_reseed kat1022_t = { + 1, kat1022_entropyin, kat1022_nonce, kat1022_persstr, + kat1022_addin0, kat1022_addin1, kat1022_retbits +}; +static const struct drbg_kat kat1022 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1022_t +}; + +static const unsigned char kat1023_entropyin[] = { + 0xe3, 0x28, 0xe0, 0x30, 0xbb, 0xb4, 0xb9, 0xef, 0x5a, 0x7e, 0x91, 0xec, + 0x66, 0x3e, 0x61, 0xa8, 0x8f, 0xef, 0x4d, 0xf9, 0x37, 0x5a, 0x07, 0x78, + 0x89, 0xda, 0xfa, 0x7f, 0x19, 0xc8, 0x78, 0x02, 0x8e, 0x9d, 0xc4, 0x29, + 0x02, 0x0c, 0x9a, 0xd9, +}; +static const unsigned char kat1023_nonce[] = {0}; +static const unsigned char kat1023_persstr[] = {0}; +static const unsigned char kat1023_addin0[] = {0}; +static const unsigned char kat1023_addin1[] = {0}; +static const unsigned char kat1023_retbits[] = { + 0x1e, 0x5d, 0x47, 0x99, 0x14, 0xf9, 0x4b, 0xdf, 0x19, 0x94, 0x78, 0x6b, + 0x55, 0xad, 0x05, 0x58, 0x31, 0x8f, 0xeb, 0xd0, 0xca, 0xf2, 0x54, 0xdc, + 0x3b, 0x44, 0x70, 0xf2, 0xaf, 0x01, 0xa6, 0xb1, 0x8d, 0x01, 0xe0, 0x93, + 0xbf, 0xbe, 0x84, 0x80, 0x7b, 0x7f, 0x28, 0x91, 0x8a, 0xec, 0xdb, 0x8f, + 0x0f, 0x58, 0x24, 0xdd, 0x98, 0x27, 0xbb, 0x76, 0x05, 0xbd, 0xbd, 0x81, + 0xee, 0x47, 0xe4, 0x8f, +}; +static const struct drbg_kat_no_reseed kat1023_t = { + 2, kat1023_entropyin, kat1023_nonce, kat1023_persstr, + kat1023_addin0, kat1023_addin1, kat1023_retbits +}; +static const struct drbg_kat kat1023 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1023_t +}; + +static const unsigned char kat1024_entropyin[] = { + 0xf6, 0x0d, 0x85, 0xc8, 0x8e, 0x8d, 0x61, 0xd6, 0x7f, 0x8a, 0xb1, 0x4d, + 0xfd, 0x10, 0xe1, 0xda, 0x11, 0xf5, 0x9c, 0x90, 0xfd, 0x87, 0x68, 0xad, + 0xeb, 0xb9, 0xa3, 0x5b, 0xbe, 0x6e, 0xbe, 0xa1, 0x44, 0xb7, 0x1f, 0x99, + 0x0a, 0x7f, 0x01, 0x1f, +}; +static const unsigned char kat1024_nonce[] = {0}; +static const unsigned char kat1024_persstr[] = {0}; +static const unsigned char kat1024_addin0[] = {0}; +static const unsigned char kat1024_addin1[] = {0}; +static const unsigned char kat1024_retbits[] = { + 0x4b, 0x66, 0x69, 0x12, 0x88, 0x35, 0x06, 0x33, 0x12, 0x85, 0x97, 0xb2, + 0x45, 0xb2, 0xe9, 0xcc, 0x7e, 0xfc, 0xcd, 0x84, 0x72, 0xfd, 0xd0, 0xaa, + 0xb0, 0x8e, 0xdb, 0x01, 0x25, 0xb2, 0x2b, 0x4e, 0xd8, 0xb3, 0x3a, 0x50, + 0x2a, 0xca, 0x88, 0xc3, 0x53, 0xb9, 0x00, 0xe1, 0xc4, 0x30, 0x87, 0x59, + 0x93, 0xae, 0xc1, 0x49, 0x98, 0xa7, 0x88, 0x47, 0xaa, 0x27, 0x7d, 0xbb, + 0x51, 0x5e, 0xd6, 0x0b, +}; +static const struct drbg_kat_no_reseed kat1024_t = { + 3, kat1024_entropyin, kat1024_nonce, kat1024_persstr, + kat1024_addin0, kat1024_addin1, kat1024_retbits +}; +static const struct drbg_kat kat1024 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1024_t +}; + +static const unsigned char kat1025_entropyin[] = { + 0x34, 0xdd, 0xfd, 0x1a, 0xcb, 0xf3, 0x48, 0xe1, 0x7e, 0x7b, 0x5e, 0x13, + 0x39, 0x13, 0xa6, 0x89, 0xcd, 0xc2, 0x4e, 0x6d, 0x46, 0x80, 0x1d, 0x70, + 0xcc, 0xac, 0x49, 0xec, 0x30, 0xd8, 0xc5, 0x8f, 0xcc, 0x3a, 0xeb, 0x9f, + 0x45, 0x70, 0x0e, 0x05, +}; +static const unsigned char kat1025_nonce[] = {0}; +static const unsigned char kat1025_persstr[] = {0}; +static const unsigned char kat1025_addin0[] = {0}; +static const unsigned char kat1025_addin1[] = {0}; +static const unsigned char kat1025_retbits[] = { + 0xcb, 0x4e, 0x1f, 0x9c, 0x60, 0x13, 0x70, 0xa2, 0x3c, 0x78, 0xe7, 0xfc, + 0x33, 0xdd, 0x61, 0x9c, 0xb6, 0x17, 0x42, 0x78, 0x2b, 0x75, 0x6c, 0x8c, + 0xf9, 0x79, 0xae, 0x46, 0xa7, 0xd7, 0x51, 0x58, 0xaf, 0x70, 0x6a, 0x03, + 0x63, 0x1d, 0xbf, 0x7b, 0x17, 0x11, 0xcc, 0xd6, 0xaa, 0xe6, 0x0e, 0x78, + 0x5f, 0xff, 0x42, 0x12, 0x1c, 0xa7, 0x56, 0xe8, 0x26, 0x00, 0x75, 0xfc, + 0x27, 0xc3, 0x90, 0x43, +}; +static const struct drbg_kat_no_reseed kat1025_t = { + 4, kat1025_entropyin, kat1025_nonce, kat1025_persstr, + kat1025_addin0, kat1025_addin1, kat1025_retbits +}; +static const struct drbg_kat kat1025 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1025_t +}; + +static const unsigned char kat1026_entropyin[] = { + 0x00, 0xd9, 0x70, 0xb9, 0x3b, 0xee, 0xcf, 0x7f, 0x9c, 0x64, 0xda, 0xcd, + 0x11, 0xd4, 0xce, 0xba, 0xde, 0x39, 0x56, 0x24, 0x22, 0xf0, 0x47, 0x14, + 0x67, 0xfc, 0x22, 0x4c, 0xa3, 0x70, 0xf4, 0x65, 0xb7, 0x69, 0xbb, 0x25, + 0x02, 0x49, 0xf2, 0x1e, +}; +static const unsigned char kat1026_nonce[] = {0}; +static const unsigned char kat1026_persstr[] = {0}; +static const unsigned char kat1026_addin0[] = {0}; +static const unsigned char kat1026_addin1[] = {0}; +static const unsigned char kat1026_retbits[] = { + 0xc4, 0xd3, 0xb5, 0xd4, 0x5a, 0x9b, 0x65, 0xe8, 0x52, 0x88, 0xb7, 0x7b, + 0x78, 0x0a, 0x66, 0x58, 0xdf, 0x86, 0x22, 0x7b, 0x8d, 0x38, 0x11, 0xbf, + 0x71, 0x02, 0x18, 0xb6, 0x7a, 0x58, 0x8b, 0x2b, 0x72, 0xe9, 0x54, 0x5f, + 0xc7, 0x0a, 0xcd, 0x76, 0x25, 0xd2, 0xc4, 0xb3, 0x62, 0x72, 0x5d, 0xe4, + 0x5e, 0x83, 0x3e, 0xf4, 0xb1, 0xe1, 0x13, 0xf5, 0xee, 0x59, 0x75, 0x3d, + 0xb5, 0xad, 0x74, 0xa0, +}; +static const struct drbg_kat_no_reseed kat1026_t = { + 5, kat1026_entropyin, kat1026_nonce, kat1026_persstr, + kat1026_addin0, kat1026_addin1, kat1026_retbits +}; +static const struct drbg_kat kat1026 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1026_t +}; + +static const unsigned char kat1027_entropyin[] = { + 0x24, 0x11, 0x49, 0x53, 0x02, 0xfb, 0x00, 0xcb, 0xab, 0x99, 0xd1, 0xfb, + 0x14, 0xdf, 0x40, 0x2c, 0x8e, 0x66, 0xd7, 0x87, 0xdd, 0x52, 0x7c, 0x46, + 0x40, 0xa6, 0x74, 0xcb, 0xf7, 0xff, 0xd1, 0x96, 0x7d, 0x7f, 0x69, 0xd2, + 0x78, 0x5d, 0xda, 0x01, +}; +static const unsigned char kat1027_nonce[] = {0}; +static const unsigned char kat1027_persstr[] = {0}; +static const unsigned char kat1027_addin0[] = {0}; +static const unsigned char kat1027_addin1[] = {0}; +static const unsigned char kat1027_retbits[] = { + 0x67, 0x9c, 0x87, 0x96, 0x91, 0x9e, 0x10, 0xce, 0x44, 0x66, 0xe7, 0xe4, + 0x49, 0xf7, 0x65, 0xdf, 0x82, 0x1b, 0x06, 0xa9, 0x7a, 0xc5, 0xb3, 0xc8, + 0xf5, 0xa1, 0x6f, 0xdc, 0x66, 0x6f, 0x4b, 0x19, 0xdd, 0xda, 0x66, 0x0b, + 0xfc, 0xf7, 0x8f, 0x5f, 0x5e, 0x39, 0xa6, 0xb6, 0xf2, 0x6a, 0x22, 0x38, + 0xc9, 0xaf, 0xf6, 0x98, 0x50, 0xcf, 0xaf, 0x6d, 0x87, 0x82, 0x85, 0x1f, + 0x62, 0xf1, 0x86, 0x84, +}; +static const struct drbg_kat_no_reseed kat1027_t = { + 6, kat1027_entropyin, kat1027_nonce, kat1027_persstr, + kat1027_addin0, kat1027_addin1, kat1027_retbits +}; +static const struct drbg_kat kat1027 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1027_t +}; + +static const unsigned char kat1028_entropyin[] = { + 0xf4, 0xe8, 0x5a, 0xc5, 0x45, 0x3f, 0x16, 0xee, 0x6e, 0x26, 0x87, 0x89, + 0xe6, 0xf8, 0x1e, 0xe6, 0x71, 0x91, 0xf1, 0xfc, 0xc9, 0xc7, 0x6e, 0xc3, + 0x54, 0x36, 0x30, 0xac, 0x17, 0x71, 0x3f, 0x70, 0xe0, 0x0b, 0x6c, 0x54, + 0xf6, 0x3f, 0x9f, 0xe5, +}; +static const unsigned char kat1028_nonce[] = {0}; +static const unsigned char kat1028_persstr[] = {0}; +static const unsigned char kat1028_addin0[] = {0}; +static const unsigned char kat1028_addin1[] = {0}; +static const unsigned char kat1028_retbits[] = { + 0xc3, 0x59, 0xfc, 0x26, 0xe8, 0x8d, 0xc6, 0x34, 0x11, 0xab, 0xa0, 0x0a, + 0xed, 0xcf, 0xbc, 0x92, 0x8f, 0x70, 0x2a, 0xb2, 0x38, 0xa9, 0x9b, 0xaf, + 0xe8, 0xdd, 0x30, 0xf3, 0x80, 0x30, 0xe6, 0xd9, 0xa3, 0x61, 0xb5, 0x6c, + 0xe3, 0x4c, 0xe4, 0x23, 0x0e, 0xa5, 0x75, 0x17, 0x82, 0xf2, 0x93, 0x82, + 0xcc, 0x67, 0x3b, 0xad, 0xb1, 0xf6, 0xe7, 0x18, 0x3b, 0x08, 0x18, 0x04, + 0x32, 0x45, 0x40, 0xc0, +}; +static const struct drbg_kat_no_reseed kat1028_t = { + 7, kat1028_entropyin, kat1028_nonce, kat1028_persstr, + kat1028_addin0, kat1028_addin1, kat1028_retbits +}; +static const struct drbg_kat kat1028 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1028_t +}; + +static const unsigned char kat1029_entropyin[] = { + 0x97, 0xf8, 0x6f, 0x72, 0x79, 0xa4, 0x17, 0xba, 0x7e, 0x65, 0x5b, 0x8c, + 0x89, 0x57, 0x62, 0x6f, 0x25, 0x5c, 0x88, 0x40, 0xed, 0x0e, 0x7e, 0xac, + 0xbf, 0xef, 0xcb, 0x3a, 0x6e, 0xe2, 0x41, 0xe4, 0x42, 0x46, 0x15, 0x42, + 0x07, 0x5b, 0xe9, 0x72, +}; +static const unsigned char kat1029_nonce[] = {0}; +static const unsigned char kat1029_persstr[] = {0}; +static const unsigned char kat1029_addin0[] = {0}; +static const unsigned char kat1029_addin1[] = {0}; +static const unsigned char kat1029_retbits[] = { + 0xa5, 0x8a, 0xb9, 0xad, 0xf4, 0x3a, 0x2e, 0xfa, 0x9b, 0xa0, 0x92, 0x54, + 0x23, 0x60, 0xb5, 0x47, 0xfd, 0x77, 0x55, 0xa9, 0xf5, 0x8c, 0xcf, 0x95, + 0x3a, 0x5e, 0x92, 0xc8, 0xd1, 0x4a, 0x81, 0x64, 0x2e, 0x3d, 0x9f, 0x61, + 0xa2, 0x14, 0x3f, 0x3c, 0x95, 0x0a, 0x89, 0x45, 0x3b, 0xa5, 0x8c, 0x39, + 0x96, 0x07, 0xcc, 0x3a, 0x45, 0x2b, 0xaa, 0x4d, 0x9a, 0x5f, 0x56, 0x01, + 0x39, 0x90, 0x1c, 0xca, +}; +static const struct drbg_kat_no_reseed kat1029_t = { + 8, kat1029_entropyin, kat1029_nonce, kat1029_persstr, + kat1029_addin0, kat1029_addin1, kat1029_retbits +}; +static const struct drbg_kat kat1029 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1029_t +}; + +static const unsigned char kat1030_entropyin[] = { + 0x4a, 0x7e, 0x87, 0x52, 0xf8, 0x66, 0xf6, 0x12, 0x15, 0x38, 0xe4, 0x8f, + 0x84, 0x5d, 0xe5, 0xd4, 0xd9, 0x88, 0x6b, 0xe3, 0x7c, 0x05, 0x83, 0xfc, + 0xfc, 0x20, 0x0a, 0xde, 0xe0, 0x67, 0x91, 0xa4, 0x93, 0xc0, 0x57, 0x1f, + 0xb6, 0x18, 0x46, 0xf6, +}; +static const unsigned char kat1030_nonce[] = {0}; +static const unsigned char kat1030_persstr[] = {0}; +static const unsigned char kat1030_addin0[] = {0}; +static const unsigned char kat1030_addin1[] = {0}; +static const unsigned char kat1030_retbits[] = { + 0xe7, 0x06, 0xe2, 0xf5, 0x9c, 0xcb, 0xb6, 0x8a, 0xbe, 0xd1, 0x62, 0x90, + 0x33, 0x33, 0xc7, 0xab, 0xc4, 0x14, 0x4b, 0xc3, 0xf6, 0x5a, 0x3c, 0x75, + 0x6a, 0xd6, 0xd0, 0xe4, 0x07, 0x8d, 0x95, 0x9d, 0x80, 0x84, 0x0e, 0x12, + 0x50, 0xfc, 0x69, 0x10, 0x74, 0xad, 0xcb, 0x52, 0x03, 0x75, 0x75, 0x5c, + 0x26, 0xd5, 0x44, 0xa4, 0xaf, 0xae, 0x3a, 0xed, 0x35, 0x7b, 0xe9, 0xeb, + 0x24, 0x4f, 0xae, 0xb1, +}; +static const struct drbg_kat_no_reseed kat1030_t = { + 9, kat1030_entropyin, kat1030_nonce, kat1030_persstr, + kat1030_addin0, kat1030_addin1, kat1030_retbits +}; +static const struct drbg_kat kat1030 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1030_t +}; + +static const unsigned char kat1031_entropyin[] = { + 0xb2, 0xa0, 0x2a, 0x26, 0xde, 0xc8, 0x81, 0x67, 0x28, 0x53, 0xec, 0xa2, + 0x67, 0x1c, 0xfb, 0xa6, 0x11, 0x5c, 0x4d, 0x5a, 0x6d, 0x39, 0xad, 0x55, + 0x73, 0xa2, 0x90, 0x53, 0xe8, 0x7f, 0xb5, 0x72, 0x15, 0xe8, 0x19, 0x57, + 0xd9, 0xe5, 0xe3, 0x0f, +}; +static const unsigned char kat1031_nonce[] = {0}; +static const unsigned char kat1031_persstr[] = {0}; +static const unsigned char kat1031_addin0[] = {0}; +static const unsigned char kat1031_addin1[] = {0}; +static const unsigned char kat1031_retbits[] = { + 0x87, 0x20, 0xf7, 0x34, 0x92, 0xc6, 0xd6, 0x3f, 0x8e, 0x94, 0xa2, 0x4c, + 0x81, 0x75, 0x74, 0x58, 0x3d, 0x3b, 0xfe, 0x78, 0x3b, 0x27, 0xdf, 0x8e, + 0xb6, 0xd7, 0xd3, 0x0f, 0x2c, 0x65, 0xd6, 0xa0, 0xfb, 0x53, 0x17, 0x3a, + 0x47, 0x37, 0xf2, 0xce, 0x30, 0x55, 0x02, 0x85, 0x0d, 0xa8, 0xc3, 0x01, + 0x78, 0x50, 0xf7, 0x04, 0x58, 0x5d, 0x87, 0x86, 0x0d, 0xa1, 0xcf, 0xd5, + 0x0a, 0xf2, 0x72, 0x5d, +}; +static const struct drbg_kat_no_reseed kat1031_t = { + 10, kat1031_entropyin, kat1031_nonce, kat1031_persstr, + kat1031_addin0, kat1031_addin1, kat1031_retbits +}; +static const struct drbg_kat kat1031 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1031_t +}; + +static const unsigned char kat1032_entropyin[] = { + 0x97, 0x25, 0x59, 0x9c, 0x6b, 0x24, 0x6e, 0x22, 0xfb, 0x81, 0xcf, 0x9e, + 0x46, 0x80, 0xe1, 0x0f, 0x0b, 0x5f, 0x08, 0x40, 0xd8, 0x41, 0xf9, 0x9a, + 0x6f, 0xae, 0xfe, 0xd9, 0x87, 0x06, 0x3b, 0x24, 0x9d, 0xab, 0x1c, 0xda, + 0x59, 0x64, 0x2a, 0xeb, +}; +static const unsigned char kat1032_nonce[] = {0}; +static const unsigned char kat1032_persstr[] = {0}; +static const unsigned char kat1032_addin0[] = {0}; +static const unsigned char kat1032_addin1[] = {0}; +static const unsigned char kat1032_retbits[] = { + 0x19, 0x51, 0x5e, 0xac, 0x64, 0x4a, 0x70, 0x61, 0x9a, 0x17, 0x24, 0x9d, + 0x61, 0x8d, 0xad, 0x87, 0x5a, 0x29, 0x4c, 0xb3, 0xe5, 0x9a, 0xc8, 0xdc, + 0x73, 0x6a, 0xa7, 0x22, 0xbd, 0xf7, 0x1c, 0x6e, 0x6a, 0xad, 0x53, 0x8e, + 0x85, 0xcd, 0xb0, 0x77, 0x18, 0x5f, 0x40, 0x32, 0xe1, 0x8d, 0xbf, 0xf4, + 0x3b, 0x91, 0x49, 0x93, 0x5b, 0x08, 0x38, 0xbf, 0x9e, 0x2c, 0x08, 0x42, + 0x73, 0x03, 0x87, 0xaa, +}; +static const struct drbg_kat_no_reseed kat1032_t = { + 11, kat1032_entropyin, kat1032_nonce, kat1032_persstr, + kat1032_addin0, kat1032_addin1, kat1032_retbits +}; +static const struct drbg_kat kat1032 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1032_t +}; + +static const unsigned char kat1033_entropyin[] = { + 0xd5, 0x35, 0x67, 0xfd, 0x91, 0xff, 0x24, 0xe8, 0x56, 0x5a, 0x79, 0xfd, + 0xf7, 0xf8, 0x15, 0x16, 0x26, 0x1f, 0x03, 0xbd, 0x7e, 0x5a, 0x45, 0xaf, + 0xd5, 0x0c, 0x7a, 0xbd, 0xc8, 0x63, 0x0b, 0x45, 0x2e, 0xac, 0xe6, 0x49, + 0xe4, 0x18, 0xa6, 0x87, +}; +static const unsigned char kat1033_nonce[] = {0}; +static const unsigned char kat1033_persstr[] = {0}; +static const unsigned char kat1033_addin0[] = {0}; +static const unsigned char kat1033_addin1[] = {0}; +static const unsigned char kat1033_retbits[] = { + 0x06, 0x4f, 0xa6, 0xa5, 0x2c, 0x4a, 0x5e, 0x89, 0xf4, 0xb4, 0xd0, 0x43, + 0x66, 0x24, 0xfd, 0x40, 0x3e, 0x84, 0x9c, 0x10, 0xf2, 0xc0, 0x77, 0x8f, + 0x5d, 0x81, 0xc7, 0x9a, 0x71, 0x9d, 0x1b, 0x4b, 0x68, 0x00, 0xd9, 0xcf, + 0x1d, 0x60, 0x19, 0xb5, 0x7e, 0xf2, 0xa9, 0xe3, 0x60, 0x47, 0xef, 0x47, + 0x37, 0x95, 0x53, 0xff, 0xf5, 0x4d, 0xb4, 0xfb, 0xa0, 0x46, 0xb1, 0x9d, + 0xf7, 0x89, 0x0c, 0x26, +}; +static const struct drbg_kat_no_reseed kat1033_t = { + 12, kat1033_entropyin, kat1033_nonce, kat1033_persstr, + kat1033_addin0, kat1033_addin1, kat1033_retbits +}; +static const struct drbg_kat kat1033 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1033_t +}; + +static const unsigned char kat1034_entropyin[] = { + 0x3f, 0x88, 0x05, 0xf4, 0x5c, 0x57, 0x45, 0x5f, 0xcd, 0xda, 0xad, 0x83, + 0x88, 0x54, 0x3c, 0xe3, 0x69, 0xf0, 0xe3, 0x57, 0xa6, 0x2b, 0xbe, 0x40, + 0xb0, 0x4a, 0x19, 0x90, 0x61, 0x51, 0x46, 0x38, 0xdc, 0x51, 0x40, 0x9b, + 0x9e, 0x4a, 0xca, 0x6d, +}; +static const unsigned char kat1034_nonce[] = {0}; +static const unsigned char kat1034_persstr[] = {0}; +static const unsigned char kat1034_addin0[] = {0}; +static const unsigned char kat1034_addin1[] = {0}; +static const unsigned char kat1034_retbits[] = { + 0xba, 0x66, 0x49, 0xf5, 0x27, 0xef, 0x2d, 0x09, 0xca, 0xcf, 0x92, 0x6d, + 0x81, 0xab, 0xd4, 0x56, 0xd4, 0xb4, 0x38, 0x00, 0xdb, 0xf7, 0x7d, 0xe6, + 0x9b, 0xb9, 0xe2, 0x22, 0x9c, 0xb6, 0xe3, 0xac, 0x29, 0xc7, 0xc3, 0xd6, + 0xb5, 0xf7, 0x22, 0xd6, 0xd6, 0x69, 0x3b, 0xdc, 0x99, 0xd0, 0xf9, 0xaf, + 0xfa, 0x78, 0x85, 0x04, 0x18, 0x19, 0xcd, 0x43, 0xe3, 0x07, 0xf8, 0xaa, + 0x41, 0x8f, 0xc3, 0x1c, +}; +static const struct drbg_kat_no_reseed kat1034_t = { + 13, kat1034_entropyin, kat1034_nonce, kat1034_persstr, + kat1034_addin0, kat1034_addin1, kat1034_retbits +}; +static const struct drbg_kat kat1034 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1034_t +}; + +static const unsigned char kat1035_entropyin[] = { + 0x62, 0xef, 0xa3, 0x59, 0xeb, 0xd3, 0x1d, 0x3c, 0x49, 0x93, 0x53, 0xa5, + 0xab, 0x5f, 0x3b, 0x70, 0xa3, 0x4c, 0x5f, 0x39, 0xc5, 0x08, 0x23, 0x1e, + 0xae, 0x5f, 0x3e, 0xe2, 0x0e, 0x17, 0x83, 0x4b, 0x88, 0xfb, 0x80, 0x4a, + 0x32, 0xa2, 0x68, 0xa1, +}; +static const unsigned char kat1035_nonce[] = {0}; +static const unsigned char kat1035_persstr[] = {0}; +static const unsigned char kat1035_addin0[] = {0}; +static const unsigned char kat1035_addin1[] = {0}; +static const unsigned char kat1035_retbits[] = { + 0x20, 0xdb, 0xd7, 0x57, 0x31, 0x72, 0x20, 0xa9, 0xa5, 0xb2, 0x39, 0x4b, + 0x49, 0x5e, 0xfe, 0x5e, 0x12, 0xcc, 0x7b, 0x75, 0x9c, 0x87, 0x7b, 0xfe, + 0xed, 0x64, 0x25, 0xcd, 0x64, 0x14, 0x6e, 0xe9, 0x0c, 0x45, 0x5c, 0x50, + 0xb2, 0x24, 0x39, 0x72, 0xb4, 0x30, 0x15, 0xf6, 0x9a, 0x01, 0x5f, 0x1a, + 0x49, 0x53, 0xe8, 0x4a, 0x08, 0x9d, 0x38, 0x17, 0x1f, 0x9a, 0x6f, 0xd4, + 0x7b, 0x8d, 0x48, 0x70, +}; +static const struct drbg_kat_no_reseed kat1035_t = { + 14, kat1035_entropyin, kat1035_nonce, kat1035_persstr, + kat1035_addin0, kat1035_addin1, kat1035_retbits +}; +static const struct drbg_kat kat1035 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1035_t +}; + +static const unsigned char kat1036_entropyin[] = { + 0x5c, 0xd0, 0x9f, 0x68, 0x4e, 0x1f, 0xff, 0xa8, 0x9f, 0x00, 0x3a, 0x00, + 0x95, 0x54, 0x01, 0xf0, 0xc1, 0xc6, 0x15, 0xda, 0x99, 0xc1, 0x91, 0x23, + 0xd9, 0xf2, 0x36, 0x65, 0xc3, 0xf1, 0x14, 0xf9, 0xc3, 0x9d, 0x95, 0x8c, + 0xf7, 0x62, 0x09, 0x8b, +}; +static const unsigned char kat1036_nonce[] = {0}; +static const unsigned char kat1036_persstr[] = {0}; +static const unsigned char kat1036_addin0[] = { + 0xc7, 0xcc, 0x6f, 0x2e, 0x9f, 0x88, 0x5a, 0xb5, 0xad, 0x8c, 0xe9, 0x24, + 0xc9, 0x50, 0x9e, 0xab, 0x89, 0x75, 0x03, 0x21, 0xcb, 0xb5, 0x72, 0xb2, + 0x80, 0xdf, 0x8e, 0xc6, 0xf5, 0x09, 0x5f, 0x2b, 0x42, 0xa5, 0x58, 0x5f, + 0x75, 0xce, 0xac, 0xc2, +}; +static const unsigned char kat1036_addin1[] = { + 0xce, 0x46, 0xb5, 0x3d, 0x21, 0xb8, 0x8e, 0x4e, 0xc9, 0x0f, 0xe5, 0x81, + 0x60, 0x81, 0xea, 0xc5, 0x50, 0x4d, 0xdb, 0x8a, 0xd3, 0x34, 0x15, 0xfd, + 0xf8, 0x2a, 0xc6, 0xb9, 0x7b, 0xa0, 0x4a, 0xf5, 0x21, 0x3f, 0x3e, 0x15, + 0x30, 0xb3, 0x4c, 0xac, +}; +static const unsigned char kat1036_retbits[] = { + 0xe0, 0xab, 0x1d, 0x4e, 0x22, 0x21, 0x02, 0x7f, 0x91, 0x74, 0x84, 0x36, + 0xdf, 0x0e, 0x29, 0x0e, 0x6d, 0x2a, 0xb8, 0xc0, 0xdb, 0xfa, 0xf6, 0x38, + 0xf9, 0x75, 0x5f, 0x2a, 0x2c, 0xf8, 0x91, 0x58, 0xd4, 0x65, 0xfa, 0xcd, + 0xff, 0x74, 0x30, 0x3f, 0x0b, 0x64, 0x85, 0xb2, 0xe6, 0x09, 0xc3, 0x09, + 0xd7, 0x65, 0xbb, 0xed, 0x7e, 0xcf, 0xb3, 0xc5, 0x34, 0x10, 0xc6, 0x22, + 0x73, 0x36, 0xc6, 0x98, +}; +static const struct drbg_kat_no_reseed kat1036_t = { + 0, kat1036_entropyin, kat1036_nonce, kat1036_persstr, + kat1036_addin0, kat1036_addin1, kat1036_retbits +}; +static const struct drbg_kat kat1036 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1036_t +}; + +static const unsigned char kat1037_entropyin[] = { + 0x96, 0x7d, 0x1c, 0x60, 0x2e, 0xa0, 0xac, 0xed, 0x53, 0x71, 0x4a, 0x31, + 0x4d, 0x87, 0x7c, 0xfe, 0xa4, 0xb5, 0x52, 0xea, 0x2a, 0xac, 0xde, 0xf9, + 0xfa, 0xff, 0xa1, 0xf5, 0x43, 0xc7, 0x9f, 0x2f, 0xf6, 0xc0, 0x60, 0xe8, + 0x61, 0x14, 0x6e, 0xfd, +}; +static const unsigned char kat1037_nonce[] = {0}; +static const unsigned char kat1037_persstr[] = {0}; +static const unsigned char kat1037_addin0[] = { + 0x9f, 0xcd, 0x6e, 0x0d, 0xbf, 0xef, 0xd8, 0x57, 0x81, 0x77, 0x1f, 0x58, + 0x67, 0x77, 0x26, 0xa5, 0xbe, 0x9a, 0x14, 0x60, 0xbd, 0x7c, 0x15, 0x7f, + 0xf4, 0xd6, 0x02, 0x87, 0xbf, 0xd2, 0x50, 0xf5, 0x0d, 0x3c, 0x7a, 0x25, + 0x74, 0xd4, 0xb8, 0x59, +}; +static const unsigned char kat1037_addin1[] = { + 0x8f, 0x73, 0x4f, 0x57, 0xd4, 0x93, 0x84, 0xb4, 0x77, 0xa5, 0xd1, 0x8d, + 0xc2, 0xe2, 0x96, 0x1f, 0xa5, 0xe5, 0x55, 0x33, 0x4f, 0xe9, 0x30, 0x97, + 0x5c, 0xee, 0x93, 0xb6, 0xb3, 0x8e, 0xbc, 0x7e, 0xaf, 0xfa, 0x43, 0x80, + 0xdb, 0x65, 0xdd, 0x2b, +}; +static const unsigned char kat1037_retbits[] = { + 0x1d, 0x80, 0x1c, 0x5e, 0x3c, 0xdc, 0x15, 0xa5, 0xb6, 0xf6, 0xfc, 0x69, + 0x89, 0xcd, 0xc6, 0x70, 0x0f, 0xf0, 0x03, 0xf7, 0xc7, 0xe3, 0x01, 0xc5, + 0x7c, 0xe9, 0xe0, 0xd2, 0x1d, 0xbb, 0xe5, 0x8c, 0xe3, 0xdf, 0xd4, 0xbf, + 0x46, 0x1f, 0x5c, 0xbb, 0xe6, 0x62, 0xfb, 0x8b, 0xd8, 0x69, 0xa6, 0x9b, + 0xa0, 0xfa, 0x1c, 0xd3, 0x95, 0x6d, 0x8e, 0xf6, 0xf1, 0x9c, 0x05, 0x8f, + 0x0f, 0x97, 0x8c, 0x85, +}; +static const struct drbg_kat_no_reseed kat1037_t = { + 1, kat1037_entropyin, kat1037_nonce, kat1037_persstr, + kat1037_addin0, kat1037_addin1, kat1037_retbits +}; +static const struct drbg_kat kat1037 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1037_t +}; + +static const unsigned char kat1038_entropyin[] = { + 0x4b, 0xa5, 0x74, 0xb5, 0x24, 0x63, 0xfb, 0xb3, 0xfe, 0x7e, 0x52, 0xa6, + 0xb3, 0xcb, 0x80, 0xa5, 0x52, 0xd2, 0xc0, 0xd6, 0xbe, 0x81, 0xde, 0xc6, + 0xfb, 0xa1, 0x20, 0x50, 0xca, 0x6f, 0xca, 0x25, 0x8a, 0x9a, 0xd5, 0x4e, + 0x88, 0xc4, 0x9d, 0x92, +}; +static const unsigned char kat1038_nonce[] = {0}; +static const unsigned char kat1038_persstr[] = {0}; +static const unsigned char kat1038_addin0[] = { + 0xcb, 0xa4, 0x03, 0x4b, 0x3c, 0xf9, 0x8f, 0xa6, 0x6e, 0x5b, 0x00, 0xad, + 0xda, 0x6f, 0xca, 0x44, 0xb0, 0x5a, 0x79, 0x25, 0xe8, 0xae, 0x1a, 0x21, + 0xfa, 0x51, 0xbb, 0x11, 0x0f, 0x1c, 0x9e, 0xc4, 0x9a, 0x15, 0xc6, 0x55, + 0x0b, 0xbf, 0x96, 0x0c, +}; +static const unsigned char kat1038_addin1[] = { + 0xe7, 0xe8, 0x1a, 0x90, 0xee, 0x93, 0x10, 0x63, 0x86, 0x03, 0x49, 0xb8, + 0x79, 0x7e, 0x29, 0x86, 0x1e, 0xfd, 0x69, 0x38, 0xc1, 0x3e, 0x04, 0x00, + 0x28, 0x03, 0xf8, 0xfb, 0xea, 0x2f, 0x71, 0x53, 0x3e, 0xbc, 0x24, 0xba, + 0xaa, 0x8a, 0x98, 0x74, +}; +static const unsigned char kat1038_retbits[] = { + 0xa4, 0x12, 0x20, 0x7d, 0xa8, 0xb8, 0x56, 0xd6, 0x62, 0x94, 0xd5, 0x50, + 0xdf, 0xea, 0xda, 0x32, 0x8b, 0xdd, 0xd1, 0xed, 0xa4, 0x51, 0xeb, 0x03, + 0x93, 0xb9, 0x8e, 0x09, 0x69, 0x99, 0x62, 0x93, 0x88, 0x1b, 0xb7, 0x67, + 0xd0, 0x11, 0x14, 0x3c, 0x0a, 0x6d, 0x30, 0x48, 0xa8, 0x35, 0x34, 0x5b, + 0xe3, 0x1e, 0xaf, 0x3d, 0xa3, 0xe2, 0x66, 0x5a, 0xa6, 0xe4, 0xbb, 0x2d, + 0xfd, 0x35, 0xd6, 0x6b, +}; +static const struct drbg_kat_no_reseed kat1038_t = { + 2, kat1038_entropyin, kat1038_nonce, kat1038_persstr, + kat1038_addin0, kat1038_addin1, kat1038_retbits +}; +static const struct drbg_kat kat1038 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1038_t +}; + +static const unsigned char kat1039_entropyin[] = { + 0x6a, 0xda, 0x67, 0x0a, 0xe2, 0x4b, 0xc5, 0x3a, 0x23, 0x8d, 0xa5, 0x81, + 0x67, 0x92, 0x22, 0x30, 0x72, 0x15, 0x13, 0xb3, 0x35, 0xf6, 0xb1, 0x96, + 0x09, 0x8d, 0x36, 0xf6, 0x57, 0x4f, 0x96, 0x9c, 0x8d, 0x57, 0xc2, 0x28, + 0x12, 0x92, 0xb8, 0xb2, +}; +static const unsigned char kat1039_nonce[] = {0}; +static const unsigned char kat1039_persstr[] = {0}; +static const unsigned char kat1039_addin0[] = { + 0x5e, 0x24, 0x3e, 0x2f, 0x7f, 0xea, 0x65, 0x9b, 0xd0, 0x51, 0xdc, 0xd5, + 0x09, 0x5f, 0x7d, 0x12, 0x63, 0xed, 0x80, 0xe9, 0xf3, 0x2b, 0xc7, 0x68, + 0x26, 0x6d, 0xbb, 0xd4, 0x36, 0xbc, 0x81, 0x65, 0xcb, 0xc0, 0x41, 0x69, + 0x76, 0x69, 0xde, 0xfc, +}; +static const unsigned char kat1039_addin1[] = { + 0x5a, 0x35, 0xf0, 0xae, 0xaf, 0xc5, 0xbf, 0x88, 0xf0, 0x19, 0x79, 0xc6, + 0xaa, 0x54, 0xeb, 0xa1, 0x0f, 0xcd, 0x17, 0xc3, 0xbf, 0x04, 0x0d, 0xfe, + 0xd5, 0x4a, 0x0c, 0xdf, 0x49, 0xcc, 0x1e, 0x88, 0x53, 0x00, 0x94, 0x87, + 0x3c, 0x43, 0x66, 0xd6, +}; +static const unsigned char kat1039_retbits[] = { + 0x92, 0x2f, 0x07, 0xf5, 0x9e, 0xdf, 0xd5, 0xb6, 0xa3, 0x6d, 0x44, 0x37, + 0x75, 0x3a, 0xa1, 0xb4, 0x30, 0x90, 0xf0, 0x64, 0x9c, 0x63, 0x96, 0x73, + 0xe0, 0x28, 0x9b, 0xaa, 0xf1, 0xaa, 0xec, 0x57, 0x30, 0x6f, 0xc4, 0xf4, + 0x19, 0x69, 0x7f, 0x21, 0x56, 0x18, 0x73, 0xd1, 0xe4, 0x28, 0xe4, 0x88, + 0x37, 0x43, 0xca, 0xd5, 0x35, 0xe3, 0xf5, 0x63, 0xbf, 0x12, 0x95, 0xe1, + 0x38, 0xc7, 0xd0, 0xa5, +}; +static const struct drbg_kat_no_reseed kat1039_t = { + 3, kat1039_entropyin, kat1039_nonce, kat1039_persstr, + kat1039_addin0, kat1039_addin1, kat1039_retbits +}; +static const struct drbg_kat kat1039 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1039_t +}; + +static const unsigned char kat1040_entropyin[] = { + 0x8b, 0x06, 0x63, 0xd7, 0x16, 0x30, 0xab, 0x64, 0x96, 0x6b, 0x92, 0xa6, + 0xee, 0x7b, 0xf9, 0x4b, 0x07, 0x7f, 0xbe, 0x55, 0x89, 0x88, 0xa5, 0x0e, + 0xe8, 0x03, 0x27, 0x6d, 0x83, 0x8b, 0xaf, 0x9a, 0xec, 0x73, 0x41, 0x92, + 0x69, 0xda, 0xa0, 0x64, +}; +static const unsigned char kat1040_nonce[] = {0}; +static const unsigned char kat1040_persstr[] = {0}; +static const unsigned char kat1040_addin0[] = { + 0x47, 0x82, 0xc2, 0xd4, 0xef, 0x37, 0x7d, 0x36, 0x98, 0xda, 0x71, 0x0d, + 0x75, 0xfc, 0x83, 0xf4, 0xb2, 0x44, 0x8a, 0x79, 0x53, 0x9f, 0x5d, 0x65, + 0x52, 0xf7, 0x30, 0xd2, 0x3e, 0x47, 0xf4, 0x98, 0x90, 0xd9, 0x7b, 0xbb, + 0x4c, 0xaf, 0x30, 0x3d, +}; +static const unsigned char kat1040_addin1[] = { + 0x08, 0xcd, 0xa2, 0xb6, 0x39, 0xdb, 0x41, 0x90, 0x83, 0xac, 0x9c, 0xd2, + 0x51, 0xad, 0xf4, 0x1e, 0x75, 0x4f, 0x1f, 0xc7, 0xad, 0x0d, 0x73, 0xbf, + 0x4a, 0x54, 0x4c, 0xff, 0x1b, 0x8e, 0x5b, 0x41, 0x62, 0xd8, 0x2d, 0x95, + 0x3d, 0xf3, 0x49, 0xa7, +}; +static const unsigned char kat1040_retbits[] = { + 0x26, 0xe9, 0xdd, 0xa5, 0x85, 0x00, 0x6c, 0x71, 0xcf, 0x90, 0x40, 0xad, + 0x2b, 0x1e, 0x54, 0xc9, 0xa8, 0xd0, 0xbc, 0x94, 0xea, 0x84, 0x71, 0x6b, + 0xb4, 0x9d, 0xa1, 0xe4, 0x7a, 0x91, 0x0a, 0x6b, 0x56, 0x08, 0xa7, 0x82, + 0x65, 0x1e, 0x3f, 0x38, 0x8e, 0x7a, 0x25, 0x39, 0xa8, 0x4d, 0x27, 0x6c, + 0xda, 0x5f, 0xd9, 0xc4, 0x5c, 0xab, 0xbd, 0x02, 0x6d, 0xf5, 0xe1, 0x29, + 0x5d, 0x03, 0xfd, 0x5e, +}; +static const struct drbg_kat_no_reseed kat1040_t = { + 4, kat1040_entropyin, kat1040_nonce, kat1040_persstr, + kat1040_addin0, kat1040_addin1, kat1040_retbits +}; +static const struct drbg_kat kat1040 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1040_t +}; + +static const unsigned char kat1041_entropyin[] = { + 0x48, 0x93, 0x64, 0xb0, 0x57, 0xd9, 0xdf, 0xfc, 0xe0, 0xde, 0x0e, 0x92, + 0xbe, 0xc4, 0x86, 0x43, 0xa4, 0x12, 0xb0, 0x95, 0xb7, 0x9b, 0x61, 0x1e, + 0x79, 0x9f, 0x57, 0x88, 0x9a, 0x4b, 0x00, 0x81, 0xd6, 0x98, 0x4b, 0x83, + 0x60, 0xb6, 0xca, 0x02, +}; +static const unsigned char kat1041_nonce[] = {0}; +static const unsigned char kat1041_persstr[] = {0}; +static const unsigned char kat1041_addin0[] = { + 0xde, 0xad, 0x84, 0x8d, 0x39, 0xa2, 0xc0, 0x95, 0x73, 0x35, 0xd5, 0x35, + 0x7e, 0xd5, 0xf9, 0xaa, 0xa4, 0x3e, 0xec, 0xf0, 0x36, 0xed, 0x9a, 0x07, + 0x8a, 0xd7, 0xa9, 0x46, 0xba, 0x86, 0xc8, 0x5a, 0x5f, 0x19, 0x2f, 0x32, + 0x4f, 0x71, 0xc3, 0x0d, +}; +static const unsigned char kat1041_addin1[] = { + 0x84, 0xc6, 0xa7, 0x05, 0x7a, 0xe6, 0x79, 0x2a, 0xe9, 0xdb, 0x18, 0xb4, + 0x29, 0xbf, 0xb6, 0x5b, 0xff, 0x19, 0xc0, 0x3b, 0x03, 0x84, 0xa6, 0x42, + 0x37, 0x43, 0xa6, 0xa2, 0xd5, 0x26, 0x3e, 0x45, 0xaa, 0xce, 0x0e, 0x5e, + 0x6d, 0x53, 0xd8, 0x8c, +}; +static const unsigned char kat1041_retbits[] = { + 0x92, 0x74, 0x2a, 0xa7, 0xdc, 0x8d, 0x76, 0xa8, 0xfc, 0x4a, 0x28, 0xd0, + 0x3f, 0xd1, 0x13, 0x12, 0xd2, 0x07, 0xe6, 0xb6, 0xb1, 0xdf, 0xeb, 0x16, + 0x66, 0x53, 0x11, 0x2f, 0x58, 0xc3, 0xe3, 0x9e, 0x0b, 0xeb, 0x07, 0x0b, + 0x40, 0x13, 0x97, 0xab, 0x7d, 0x52, 0xe4, 0xb2, 0x4d, 0xd5, 0xc3, 0x90, + 0xaf, 0x5f, 0x36, 0xd4, 0x4b, 0x7c, 0xaa, 0x1a, 0x4e, 0x1b, 0x0d, 0xc1, + 0xa8, 0xc9, 0x74, 0xfd, +}; +static const struct drbg_kat_no_reseed kat1041_t = { + 5, kat1041_entropyin, kat1041_nonce, kat1041_persstr, + kat1041_addin0, kat1041_addin1, kat1041_retbits +}; +static const struct drbg_kat kat1041 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1041_t +}; + +static const unsigned char kat1042_entropyin[] = { + 0x1e, 0x64, 0xe3, 0xb4, 0xa3, 0xdd, 0xee, 0x08, 0x93, 0x68, 0x7b, 0xe2, + 0x40, 0x1b, 0xac, 0xb1, 0xb3, 0xdc, 0x1e, 0x14, 0x05, 0x00, 0xf9, 0xaa, + 0x70, 0x90, 0x8c, 0x52, 0xc9, 0x1b, 0x2c, 0x49, 0xf8, 0xd0, 0xd9, 0xc1, + 0x2c, 0xb8, 0x47, 0x73, +}; +static const unsigned char kat1042_nonce[] = {0}; +static const unsigned char kat1042_persstr[] = {0}; +static const unsigned char kat1042_addin0[] = { + 0x53, 0x58, 0x90, 0x29, 0x05, 0xdc, 0xb0, 0xbc, 0x36, 0x99, 0x9b, 0x65, + 0x73, 0x8b, 0x70, 0x7f, 0x91, 0x22, 0x6d, 0x14, 0x25, 0x82, 0xd2, 0xb9, + 0xd8, 0x23, 0x79, 0xc0, 0x76, 0x82, 0xb3, 0xa1, 0xe5, 0x41, 0x9e, 0x32, + 0xa8, 0x86, 0x9d, 0x6f, +}; +static const unsigned char kat1042_addin1[] = { + 0x0c, 0x32, 0xa5, 0x72, 0x6d, 0xab, 0xab, 0x03, 0x30, 0x7b, 0xff, 0x1b, + 0xe5, 0x24, 0xc0, 0x86, 0x20, 0x0e, 0x85, 0x5c, 0xf3, 0xca, 0x7a, 0x78, + 0xa5, 0xd6, 0x1f, 0xdd, 0x62, 0x88, 0x6a, 0xbc, 0xa7, 0xf8, 0x69, 0x38, + 0x16, 0xd2, 0x26, 0xc0, +}; +static const unsigned char kat1042_retbits[] = { + 0x2a, 0x3f, 0x0a, 0x6c, 0x58, 0x14, 0x24, 0xd5, 0x76, 0x1a, 0x32, 0x17, + 0x8f, 0x0e, 0x76, 0x62, 0xaa, 0xcd, 0xba, 0xd7, 0x39, 0xce, 0x3f, 0x18, + 0xcb, 0x5d, 0x04, 0xba, 0x69, 0xdc, 0x75, 0xc5, 0x45, 0xab, 0x80, 0x73, + 0x5a, 0xe2, 0xd4, 0x4a, 0x8e, 0x52, 0xff, 0x37, 0x43, 0xdb, 0x2d, 0xe1, + 0x53, 0x4e, 0x55, 0x35, 0x92, 0x02, 0xec, 0x11, 0xde, 0xb0, 0x67, 0xd9, + 0x1e, 0x7f, 0x0a, 0xe6, +}; +static const struct drbg_kat_no_reseed kat1042_t = { + 6, kat1042_entropyin, kat1042_nonce, kat1042_persstr, + kat1042_addin0, kat1042_addin1, kat1042_retbits +}; +static const struct drbg_kat kat1042 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1042_t +}; + +static const unsigned char kat1043_entropyin[] = { + 0xe8, 0xdc, 0xf5, 0x1a, 0xdb, 0x2e, 0xff, 0x85, 0xa3, 0xbe, 0x9c, 0xdd, + 0x83, 0xc4, 0xcb, 0x3e, 0x4a, 0x45, 0x0d, 0x2e, 0x36, 0x37, 0x74, 0x24, + 0x0b, 0xef, 0xa1, 0x56, 0x80, 0x3f, 0xa4, 0xe4, 0x89, 0xb3, 0x24, 0x9f, + 0xdf, 0x94, 0xc7, 0x06, +}; +static const unsigned char kat1043_nonce[] = {0}; +static const unsigned char kat1043_persstr[] = {0}; +static const unsigned char kat1043_addin0[] = { + 0xd8, 0x51, 0x49, 0x08, 0x01, 0x6a, 0x20, 0xac, 0xc5, 0x4a, 0x98, 0xe8, + 0xee, 0x09, 0x03, 0xf6, 0x2b, 0xd8, 0xdf, 0x4d, 0x62, 0x3c, 0x76, 0x8f, + 0xd6, 0xee, 0x43, 0x84, 0xff, 0x84, 0x19, 0xe8, 0x2d, 0xb7, 0xaf, 0x12, + 0x4b, 0x49, 0x63, 0x11, +}; +static const unsigned char kat1043_addin1[] = { + 0x76, 0x34, 0x23, 0x4f, 0x2e, 0x36, 0x5e, 0x6b, 0x59, 0x8d, 0xab, 0xbe, + 0xf4, 0x24, 0x7f, 0xa2, 0x63, 0x6f, 0x14, 0x95, 0x25, 0x29, 0xc1, 0x5d, + 0x0a, 0x9a, 0x47, 0x5a, 0x77, 0x53, 0x0d, 0xde, 0x63, 0x94, 0x03, 0x7f, + 0x2b, 0x86, 0x4b, 0xcc, +}; +static const unsigned char kat1043_retbits[] = { + 0xb8, 0xb5, 0x1f, 0x71, 0x7e, 0x97, 0x3c, 0xc6, 0xf7, 0x36, 0x15, 0x18, + 0xa7, 0xdf, 0xb8, 0xf9, 0x79, 0xe6, 0xaa, 0x76, 0x13, 0x21, 0x5d, 0x3a, + 0x72, 0xff, 0xfc, 0x0b, 0x80, 0x5d, 0x65, 0x4e, 0x1e, 0x81, 0xf4, 0x36, + 0x32, 0xac, 0xb7, 0xb1, 0xca, 0xcb, 0x9f, 0xe8, 0xed, 0x5c, 0x29, 0x02, + 0x9e, 0x9a, 0xcd, 0x7a, 0x39, 0x7d, 0xe8, 0x3c, 0x90, 0xfb, 0x55, 0x75, + 0x31, 0xd9, 0xdf, 0x37, +}; +static const struct drbg_kat_no_reseed kat1043_t = { + 7, kat1043_entropyin, kat1043_nonce, kat1043_persstr, + kat1043_addin0, kat1043_addin1, kat1043_retbits +}; +static const struct drbg_kat kat1043 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1043_t +}; + +static const unsigned char kat1044_entropyin[] = { + 0xe7, 0x18, 0xb5, 0xd8, 0xfb, 0x73, 0x26, 0x0b, 0xf4, 0x6f, 0x1d, 0x4b, + 0x50, 0x44, 0xeb, 0x44, 0x69, 0x30, 0x25, 0x3f, 0xe6, 0x9b, 0xc1, 0x6e, + 0x1c, 0x73, 0x87, 0xb3, 0x26, 0xc2, 0x4f, 0xd1, 0x4e, 0xb5, 0x75, 0x15, + 0xe5, 0x39, 0x4e, 0x88, +}; +static const unsigned char kat1044_nonce[] = {0}; +static const unsigned char kat1044_persstr[] = {0}; +static const unsigned char kat1044_addin0[] = { + 0x97, 0x8c, 0xa8, 0x24, 0xc6, 0x52, 0xdc, 0xd5, 0x41, 0xaa, 0x5d, 0xba, + 0xf5, 0xf1, 0xc3, 0x16, 0x7c, 0x1d, 0x02, 0x09, 0x15, 0xe8, 0x5a, 0x6c, + 0x28, 0x7a, 0xff, 0x4b, 0x17, 0x65, 0x80, 0x4a, 0xb3, 0x49, 0x25, 0xeb, + 0xef, 0x77, 0x47, 0x2d, +}; +static const unsigned char kat1044_addin1[] = { + 0x3d, 0x59, 0x40, 0x97, 0xd7, 0x88, 0x69, 0x9f, 0xb1, 0x4b, 0x69, 0x26, + 0x88, 0x2f, 0x77, 0xb8, 0x38, 0x7d, 0xb9, 0xc4, 0xd9, 0x43, 0xb7, 0x0e, + 0x34, 0x1d, 0x73, 0x85, 0x37, 0xc8, 0x2f, 0x10, 0x6e, 0xb4, 0x5c, 0x25, + 0xcd, 0x9b, 0x88, 0x31, +}; +static const unsigned char kat1044_retbits[] = { + 0xfc, 0xaf, 0xc3, 0xd5, 0x96, 0x75, 0x37, 0xb8, 0xea, 0x3a, 0xce, 0x6d, + 0xa0, 0x21, 0xd5, 0xcf, 0xba, 0xfe, 0x35, 0x56, 0x59, 0xb9, 0xb5, 0xd1, + 0x4c, 0xed, 0x17, 0xe0, 0x8f, 0x1f, 0x9c, 0x17, 0x0c, 0x2c, 0xd9, 0x45, + 0xd6, 0x05, 0x4d, 0xa5, 0x40, 0xef, 0xcb, 0x1c, 0x20, 0xe2, 0x80, 0xff, + 0x60, 0x2e, 0x43, 0x60, 0x71, 0xcc, 0xce, 0x38, 0x47, 0x49, 0x66, 0xd9, + 0x6f, 0x94, 0x9f, 0x9b, +}; +static const struct drbg_kat_no_reseed kat1044_t = { + 8, kat1044_entropyin, kat1044_nonce, kat1044_persstr, + kat1044_addin0, kat1044_addin1, kat1044_retbits +}; +static const struct drbg_kat kat1044 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1044_t +}; + +static const unsigned char kat1045_entropyin[] = { + 0xc8, 0x5a, 0xa4, 0x5a, 0xcb, 0xc7, 0xcf, 0xd4, 0x09, 0x9e, 0x3a, 0x79, + 0xfb, 0x8c, 0x10, 0x7c, 0xac, 0x25, 0x3f, 0xbb, 0x17, 0x10, 0x13, 0x91, + 0x2e, 0x36, 0xae, 0x73, 0x18, 0xc3, 0x0d, 0x42, 0x53, 0x09, 0x99, 0x84, + 0x16, 0x7b, 0x83, 0xb8, +}; +static const unsigned char kat1045_nonce[] = {0}; +static const unsigned char kat1045_persstr[] = {0}; +static const unsigned char kat1045_addin0[] = { + 0xe3, 0x43, 0xf3, 0x3d, 0x7d, 0x30, 0x5d, 0x36, 0xc9, 0x74, 0xb5, 0xf1, + 0x3f, 0xbb, 0xb6, 0xa0, 0x38, 0xa5, 0x4b, 0x3d, 0xfc, 0x4c, 0x63, 0xd4, + 0xbb, 0x35, 0xb9, 0xa1, 0x02, 0x53, 0x63, 0x61, 0x3a, 0xfc, 0xb1, 0xe9, + 0x3f, 0x76, 0xeb, 0x25, +}; +static const unsigned char kat1045_addin1[] = { + 0xd3, 0xd9, 0xe1, 0x98, 0xd9, 0xa1, 0xc7, 0x1e, 0x12, 0x4e, 0x47, 0x06, + 0x54, 0xae, 0x8f, 0x8a, 0x4b, 0x0d, 0xff, 0xc5, 0xdc, 0x04, 0x81, 0x51, + 0x84, 0xc9, 0x16, 0xb4, 0x76, 0xcb, 0xb5, 0x8e, 0x86, 0xce, 0x40, 0xf3, + 0x1a, 0x09, 0x04, 0x47, +}; +static const unsigned char kat1045_retbits[] = { + 0xe0, 0x54, 0x73, 0x47, 0x02, 0x4b, 0x75, 0x93, 0x84, 0x86, 0xe4, 0x6c, + 0xef, 0x39, 0x2d, 0x51, 0x93, 0x6d, 0xc8, 0xe8, 0x35, 0x08, 0x34, 0xab, + 0x97, 0x60, 0xd2, 0xd5, 0xfc, 0x44, 0xa6, 0x7e, 0xec, 0xa4, 0xcc, 0xc6, + 0x6c, 0x88, 0xac, 0x4a, 0x92, 0xed, 0x74, 0x8b, 0x77, 0x8e, 0x55, 0xd8, + 0x61, 0x64, 0x51, 0x26, 0xae, 0x76, 0x4f, 0x37, 0x1a, 0x78, 0x6b, 0x0a, + 0x6b, 0x30, 0x58, 0x00, +}; +static const struct drbg_kat_no_reseed kat1045_t = { + 9, kat1045_entropyin, kat1045_nonce, kat1045_persstr, + kat1045_addin0, kat1045_addin1, kat1045_retbits +}; +static const struct drbg_kat kat1045 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1045_t +}; + +static const unsigned char kat1046_entropyin[] = { + 0x9b, 0xa9, 0xf7, 0x51, 0x1c, 0x1c, 0x6f, 0x06, 0xac, 0xd4, 0xa6, 0x47, + 0xea, 0xb8, 0x22, 0x72, 0x43, 0x39, 0x23, 0x6a, 0x6e, 0x3f, 0x0f, 0xd2, + 0x61, 0x50, 0xc3, 0xa2, 0x12, 0x7b, 0x49, 0xc6, 0xbe, 0xe3, 0xb9, 0xc5, + 0xb7, 0x01, 0xd4, 0xb6, +}; +static const unsigned char kat1046_nonce[] = {0}; +static const unsigned char kat1046_persstr[] = {0}; +static const unsigned char kat1046_addin0[] = { + 0xc7, 0xd3, 0x1b, 0xb6, 0x1a, 0x45, 0x48, 0x42, 0xa6, 0xb6, 0x63, 0x6a, + 0x38, 0x7d, 0xf9, 0x6d, 0x16, 0x39, 0x05, 0xa9, 0xbd, 0x24, 0x50, 0x25, + 0x1d, 0xba, 0xc9, 0xd9, 0x9d, 0x85, 0x8f, 0x22, 0x23, 0x69, 0xde, 0xd3, + 0x9c, 0xba, 0x5f, 0xc6, +}; +static const unsigned char kat1046_addin1[] = { + 0x83, 0x2a, 0x61, 0x5d, 0xf5, 0x75, 0x7a, 0x5a, 0x6a, 0x78, 0x47, 0xcf, + 0xb6, 0x74, 0x31, 0xf0, 0x77, 0xf9, 0xcf, 0x28, 0xc5, 0x97, 0xf1, 0xfc, + 0x6d, 0x1f, 0xe9, 0x0a, 0xca, 0x9b, 0xba, 0x61, 0x60, 0x65, 0xd5, 0xcd, + 0x01, 0x37, 0x46, 0xc9, +}; +static const unsigned char kat1046_retbits[] = { + 0x26, 0x30, 0x41, 0x54, 0xa2, 0x19, 0x8e, 0xeb, 0xb7, 0x9f, 0xac, 0xab, + 0x9a, 0x96, 0x72, 0xdb, 0x80, 0x9f, 0x2e, 0xa0, 0xae, 0x3d, 0xac, 0x36, + 0x92, 0x85, 0x72, 0xa5, 0x5c, 0xae, 0xe0, 0xd6, 0xb6, 0xf3, 0x2f, 0x17, + 0xa9, 0x31, 0xa6, 0xe7, 0xf0, 0x96, 0x11, 0x9e, 0xf3, 0x17, 0xd1, 0x38, + 0x4d, 0x47, 0xff, 0x8a, 0xfa, 0x5c, 0x6e, 0xea, 0x31, 0xc6, 0xf0, 0x28, + 0xc7, 0x0b, 0xc6, 0x46, +}; +static const struct drbg_kat_no_reseed kat1046_t = { + 10, kat1046_entropyin, kat1046_nonce, kat1046_persstr, + kat1046_addin0, kat1046_addin1, kat1046_retbits +}; +static const struct drbg_kat kat1046 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1046_t +}; + +static const unsigned char kat1047_entropyin[] = { + 0x8b, 0xea, 0xbd, 0xfb, 0xd4, 0xf5, 0xb1, 0x6b, 0xdc, 0x4b, 0x94, 0x17, + 0x80, 0x26, 0xed, 0x50, 0xcb, 0x1f, 0xc6, 0x5d, 0xde, 0xd2, 0x18, 0xae, + 0xea, 0xf5, 0x58, 0x60, 0x1b, 0xd7, 0xf5, 0x58, 0x5f, 0x48, 0x58, 0xde, + 0x7a, 0x98, 0xd4, 0xdd, +}; +static const unsigned char kat1047_nonce[] = {0}; +static const unsigned char kat1047_persstr[] = {0}; +static const unsigned char kat1047_addin0[] = { + 0x1d, 0x95, 0xe1, 0xb5, 0xd0, 0x77, 0xfc, 0x7d, 0x5d, 0x14, 0x97, 0x55, + 0xe2, 0x98, 0x7a, 0xbc, 0x28, 0x55, 0xda, 0xba, 0x34, 0xec, 0xae, 0x5e, + 0x83, 0x58, 0x12, 0x44, 0x80, 0x46, 0x0a, 0x25, 0x53, 0x80, 0x32, 0x08, + 0xd0, 0x15, 0x1a, 0x53, +}; +static const unsigned char kat1047_addin1[] = { + 0x73, 0xe6, 0x53, 0x5b, 0xda, 0xf0, 0x79, 0xe4, 0xf1, 0xda, 0x57, 0x69, + 0x6c, 0x0a, 0x95, 0xc6, 0x53, 0xea, 0x7d, 0x73, 0x8d, 0x4b, 0x52, 0xf0, + 0x1e, 0xe6, 0x83, 0x18, 0x9a, 0x6a, 0x3c, 0xf1, 0xcb, 0x22, 0xa3, 0x28, + 0xb9, 0xbc, 0x36, 0xed, +}; +static const unsigned char kat1047_retbits[] = { + 0x45, 0x2a, 0x3a, 0x8f, 0xbb, 0x39, 0x12, 0x1a, 0x54, 0x54, 0x76, 0x9f, + 0xa7, 0x5b, 0x10, 0xde, 0x00, 0x7a, 0x9e, 0xcc, 0x85, 0x0b, 0x6a, 0xea, + 0xe2, 0x31, 0x82, 0x74, 0xea, 0x3d, 0x1f, 0x91, 0xde, 0xf5, 0x9d, 0x58, + 0x91, 0x5e, 0x43, 0x39, 0xf8, 0x88, 0x0d, 0xa3, 0x49, 0xab, 0x96, 0x2a, + 0xa8, 0x77, 0xef, 0x00, 0xb8, 0x26, 0xfe, 0xe4, 0x98, 0xb0, 0x62, 0x9f, + 0x32, 0x55, 0xa2, 0xa8, +}; +static const struct drbg_kat_no_reseed kat1047_t = { + 11, kat1047_entropyin, kat1047_nonce, kat1047_persstr, + kat1047_addin0, kat1047_addin1, kat1047_retbits +}; +static const struct drbg_kat kat1047 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1047_t +}; + +static const unsigned char kat1048_entropyin[] = { + 0xad, 0x73, 0x04, 0x05, 0xc8, 0xa9, 0x66, 0xf4, 0xd3, 0x37, 0xfe, 0x0a, + 0x2d, 0x3e, 0x27, 0xbb, 0x89, 0x33, 0xa7, 0x9b, 0x20, 0x1f, 0x0c, 0xb2, + 0xc9, 0x43, 0x21, 0x59, 0xd2, 0xcf, 0xd9, 0x92, 0xd2, 0x26, 0xeb, 0x1e, + 0xad, 0x4e, 0x99, 0x73, +}; +static const unsigned char kat1048_nonce[] = {0}; +static const unsigned char kat1048_persstr[] = {0}; +static const unsigned char kat1048_addin0[] = { + 0xef, 0x60, 0x7d, 0x3c, 0x90, 0x9c, 0x55, 0xbe, 0x2f, 0xe8, 0x7b, 0x1b, + 0x72, 0xee, 0x66, 0x33, 0x24, 0x97, 0xaf, 0xa3, 0x94, 0xe3, 0x02, 0x90, + 0x22, 0xab, 0xbc, 0x0c, 0x2a, 0x9f, 0x75, 0x2b, 0x8a, 0x9d, 0x5d, 0xb8, + 0xa3, 0x86, 0xcd, 0x58, +}; +static const unsigned char kat1048_addin1[] = { + 0x97, 0x55, 0x25, 0xaa, 0x37, 0xa3, 0xcc, 0x6a, 0xe7, 0xcc, 0xad, 0x13, + 0xf2, 0x40, 0xbf, 0x4f, 0x65, 0xc1, 0x0e, 0x2e, 0x8a, 0xda, 0x05, 0x9a, + 0xf9, 0xb9, 0x16, 0x7e, 0x08, 0x94, 0xca, 0xbb, 0x62, 0xe3, 0xa6, 0xb5, + 0x60, 0xf4, 0xc7, 0x95, +}; +static const unsigned char kat1048_retbits[] = { + 0xf9, 0x31, 0x82, 0x44, 0x79, 0xce, 0x47, 0xd2, 0x1f, 0x07, 0x36, 0x72, + 0xfe, 0x81, 0xa3, 0x7a, 0x17, 0xef, 0xed, 0xae, 0x5e, 0x87, 0x25, 0x5c, + 0x17, 0xd9, 0x79, 0x6f, 0xc7, 0xcc, 0x78, 0x92, 0x34, 0xf5, 0x2b, 0x3a, + 0x91, 0x64, 0x3a, 0xc7, 0xf3, 0x37, 0x82, 0x8a, 0x77, 0x6a, 0x24, 0x2e, + 0x1d, 0xed, 0xf0, 0x1d, 0x99, 0xda, 0x9c, 0x6f, 0xa6, 0x00, 0x93, 0xcb, + 0xed, 0x5f, 0x7c, 0x61, +}; +static const struct drbg_kat_no_reseed kat1048_t = { + 12, kat1048_entropyin, kat1048_nonce, kat1048_persstr, + kat1048_addin0, kat1048_addin1, kat1048_retbits +}; +static const struct drbg_kat kat1048 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1048_t +}; + +static const unsigned char kat1049_entropyin[] = { + 0x7a, 0xb3, 0x9c, 0xaf, 0x3a, 0x92, 0x73, 0xf4, 0x29, 0x7d, 0x93, 0xae, + 0xbd, 0x0a, 0xe6, 0x84, 0x00, 0x4e, 0x66, 0x7d, 0x21, 0xce, 0x9f, 0x63, + 0xf1, 0x49, 0x0b, 0x49, 0x1f, 0x60, 0xbb, 0x47, 0x8d, 0x71, 0x73, 0x22, + 0x1d, 0xf5, 0x5b, 0x13, +}; +static const unsigned char kat1049_nonce[] = {0}; +static const unsigned char kat1049_persstr[] = {0}; +static const unsigned char kat1049_addin0[] = { + 0x5a, 0xd5, 0x4c, 0x7c, 0xae, 0x0c, 0x80, 0x55, 0xed, 0x85, 0x0c, 0x5b, + 0x0d, 0xa2, 0xd5, 0xd6, 0xdc, 0x89, 0x9f, 0x10, 0xe9, 0xa7, 0xa3, 0x00, + 0x88, 0xe1, 0x2a, 0x55, 0x38, 0x6e, 0x96, 0x45, 0x4a, 0xa2, 0x72, 0xc1, + 0x27, 0x71, 0x9f, 0xf5, +}; +static const unsigned char kat1049_addin1[] = { + 0x9e, 0x79, 0xe2, 0x90, 0x7c, 0x52, 0x40, 0xba, 0xb4, 0x97, 0x00, 0xdc, + 0xe8, 0x21, 0xc4, 0x2d, 0x01, 0x89, 0xe0, 0xc6, 0xaa, 0xa2, 0x0c, 0x65, + 0x6e, 0x83, 0x72, 0x96, 0x51, 0xcc, 0xb4, 0x99, 0x19, 0xa1, 0xcb, 0x0d, + 0x4d, 0x9b, 0xbb, 0xbb, +}; +static const unsigned char kat1049_retbits[] = { + 0xab, 0x40, 0x74, 0x01, 0x50, 0xb0, 0xf8, 0xd3, 0xe3, 0xfb, 0xf3, 0xb5, + 0x58, 0x45, 0xa7, 0x7e, 0x8f, 0x79, 0x6b, 0xff, 0xf1, 0x88, 0x42, 0xdc, + 0x7c, 0x71, 0x9d, 0x45, 0xaf, 0x3c, 0x55, 0xc2, 0xa4, 0xfd, 0x2a, 0xfc, + 0x92, 0x3d, 0xc7, 0x9e, 0x99, 0x89, 0x9c, 0x34, 0xb6, 0xb1, 0x25, 0xd3, + 0xff, 0x7e, 0x5e, 0x78, 0x9f, 0xda, 0xb7, 0x57, 0x74, 0x40, 0xeb, 0x2c, + 0x49, 0xe7, 0x55, 0x5f, +}; +static const struct drbg_kat_no_reseed kat1049_t = { + 13, kat1049_entropyin, kat1049_nonce, kat1049_persstr, + kat1049_addin0, kat1049_addin1, kat1049_retbits +}; +static const struct drbg_kat kat1049 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1049_t +}; + +static const unsigned char kat1050_entropyin[] = { + 0x77, 0x34, 0x44, 0xf5, 0x4d, 0xc1, 0x7a, 0x15, 0x4b, 0xd3, 0x1b, 0x69, + 0x45, 0x0a, 0x13, 0x97, 0xfe, 0x16, 0x8f, 0x62, 0x8c, 0x80, 0x13, 0xce, + 0x3a, 0x97, 0xa8, 0x77, 0xd4, 0x83, 0xc8, 0xc9, 0x79, 0x73, 0x62, 0x11, + 0x49, 0x89, 0x13, 0x1b, +}; +static const unsigned char kat1050_nonce[] = {0}; +static const unsigned char kat1050_persstr[] = {0}; +static const unsigned char kat1050_addin0[] = { + 0x61, 0x2b, 0x0f, 0xa8, 0x6e, 0x20, 0xfc, 0xfa, 0xaf, 0xb1, 0x44, 0x24, + 0xd1, 0xea, 0x30, 0x92, 0xc9, 0xbe, 0x13, 0x1e, 0xfa, 0xdd, 0xff, 0x1b, + 0xd9, 0xbf, 0x0c, 0x9f, 0x53, 0xcf, 0x03, 0x8b, 0xf4, 0x74, 0x4b, 0x98, + 0x0a, 0x73, 0xc9, 0x82, +}; +static const unsigned char kat1050_addin1[] = { + 0xaf, 0xc2, 0x44, 0xf8, 0xc9, 0x3d, 0xd4, 0x57, 0x8b, 0xd1, 0x93, 0x22, + 0x6d, 0x7e, 0xd3, 0x21, 0xf9, 0x6d, 0xfe, 0xaf, 0xe8, 0xb4, 0x91, 0x68, + 0x4e, 0x53, 0xa0, 0xfa, 0x7d, 0x5c, 0xfb, 0x95, 0xdc, 0x3c, 0xb7, 0x73, + 0x9d, 0xf8, 0x02, 0x79, +}; +static const unsigned char kat1050_retbits[] = { + 0x64, 0x80, 0x6f, 0xeb, 0x8e, 0x21, 0x2b, 0x2b, 0x5d, 0xef, 0x33, 0x75, + 0xd8, 0x30, 0x75, 0xa0, 0xcc, 0xce, 0xcf, 0x2a, 0x8f, 0x0f, 0xd3, 0x8a, + 0x8f, 0xf4, 0x70, 0x0a, 0x31, 0x52, 0xd2, 0x04, 0x4b, 0x65, 0xe5, 0x55, + 0xf5, 0xa6, 0x17, 0x1b, 0x10, 0xd7, 0x2b, 0x6b, 0x61, 0x39, 0xec, 0xd2, + 0x93, 0x09, 0xdd, 0x09, 0xe1, 0x32, 0xae, 0x88, 0xfa, 0x9a, 0x6a, 0xdb, + 0x50, 0x0a, 0x03, 0xdb, +}; +static const struct drbg_kat_no_reseed kat1050_t = { + 14, kat1050_entropyin, kat1050_nonce, kat1050_persstr, + kat1050_addin0, kat1050_addin1, kat1050_retbits +}; +static const struct drbg_kat kat1050 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1050_t +}; + +static const unsigned char kat1051_entropyin[] = { + 0xbe, 0x69, 0x0e, 0x78, 0x91, 0xa5, 0x04, 0xbc, 0xe0, 0x31, 0x6d, 0x6f, + 0x82, 0x12, 0x5f, 0xc9, 0x24, 0x2e, 0x71, 0xf7, 0xdb, 0xb7, 0x77, 0x4f, + 0x46, 0x5b, 0x03, 0x81, 0xa3, 0x19, 0xb6, 0xdc, 0x96, 0x5c, 0xdd, 0xb8, + 0xb9, 0x29, 0xf7, 0x3e, +}; +static const unsigned char kat1051_nonce[] = {0}; +static const unsigned char kat1051_persstr[] = { + 0x3d, 0xd8, 0x50, 0xef, 0xe8, 0x90, 0xdf, 0x5a, 0x26, 0xec, 0x51, 0x05, + 0x38, 0xf6, 0x37, 0x65, 0x21, 0x27, 0x4b, 0x05, 0xe7, 0xbc, 0x31, 0xa3, + 0xad, 0x23, 0xcd, 0x00, 0x0d, 0x3f, 0x76, 0x0b, 0x16, 0x42, 0x4c, 0xd2, + 0x57, 0xb9, 0x6a, 0x91, +}; +static const unsigned char kat1051_addin0[] = {0}; +static const unsigned char kat1051_addin1[] = {0}; +static const unsigned char kat1051_retbits[] = { + 0x4c, 0xce, 0x78, 0xb1, 0x37, 0xeb, 0xad, 0xde, 0x86, 0x42, 0xed, 0x27, + 0x12, 0xfb, 0x6a, 0x80, 0xb6, 0x34, 0x48, 0x5a, 0x6c, 0x1d, 0xc4, 0xc9, + 0x3e, 0xf3, 0x0d, 0x1a, 0x06, 0xf4, 0x01, 0xa0, 0xf8, 0x39, 0x61, 0x5d, + 0xd7, 0x55, 0xef, 0xce, 0x00, 0xba, 0x33, 0x3b, 0xe0, 0xf8, 0x02, 0xe6, + 0x26, 0xbc, 0x8f, 0x1f, 0xc9, 0x64, 0x9c, 0xbc, 0x16, 0x8f, 0xe8, 0x66, + 0xd4, 0xd1, 0x42, 0x29, +}; +static const struct drbg_kat_no_reseed kat1051_t = { + 0, kat1051_entropyin, kat1051_nonce, kat1051_persstr, + kat1051_addin0, kat1051_addin1, kat1051_retbits +}; +static const struct drbg_kat kat1051 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1051_t +}; + +static const unsigned char kat1052_entropyin[] = { + 0x3b, 0x95, 0x9b, 0xaa, 0xc2, 0x0b, 0x21, 0x73, 0x92, 0xbc, 0xcc, 0xb2, + 0x7d, 0xc5, 0xcd, 0xa5, 0xc7, 0x59, 0x26, 0xb5, 0x7d, 0xd0, 0xda, 0x25, + 0xc2, 0x07, 0xa0, 0xcf, 0x30, 0x8c, 0x38, 0x51, 0x62, 0xba, 0x7b, 0x5e, + 0x87, 0xbd, 0xba, 0xf2, +}; +static const unsigned char kat1052_nonce[] = {0}; +static const unsigned char kat1052_persstr[] = { + 0x8a, 0x9a, 0x56, 0x49, 0xf9, 0x2c, 0x0f, 0xe1, 0x92, 0xd4, 0xb6, 0x44, + 0x8d, 0x06, 0x6a, 0x00, 0x63, 0x72, 0xe2, 0x4c, 0xdf, 0x1d, 0xe8, 0x42, + 0x77, 0xd7, 0xb3, 0xf1, 0x69, 0x3c, 0x3f, 0x8f, 0x70, 0xd1, 0x08, 0x8d, + 0x17, 0x22, 0x6f, 0x44, +}; +static const unsigned char kat1052_addin0[] = {0}; +static const unsigned char kat1052_addin1[] = {0}; +static const unsigned char kat1052_retbits[] = { + 0x86, 0xc5, 0x17, 0xd9, 0xe9, 0x2e, 0x64, 0x5a, 0xa2, 0x18, 0x7f, 0xbb, + 0x34, 0xc6, 0x74, 0xdc, 0xb7, 0x9a, 0x43, 0xad, 0x25, 0x70, 0xf9, 0xe9, + 0x45, 0xd9, 0x6e, 0xe7, 0x6d, 0x83, 0xfd, 0x36, 0xb3, 0x5c, 0x46, 0x0f, + 0x54, 0x4a, 0x8e, 0x3f, 0x00, 0x15, 0x0d, 0x12, 0x9c, 0xd5, 0x02, 0xe4, + 0xd3, 0xee, 0x3a, 0x77, 0x2a, 0x1a, 0x3a, 0x7b, 0xc5, 0x9d, 0x0a, 0x52, + 0x1b, 0xf8, 0xa0, 0xb7, +}; +static const struct drbg_kat_no_reseed kat1052_t = { + 1, kat1052_entropyin, kat1052_nonce, kat1052_persstr, + kat1052_addin0, kat1052_addin1, kat1052_retbits +}; +static const struct drbg_kat kat1052 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1052_t +}; + +static const unsigned char kat1053_entropyin[] = { + 0xa0, 0xca, 0xa2, 0xfe, 0xf5, 0x56, 0x79, 0x91, 0x7e, 0x5a, 0x27, 0x24, + 0x5e, 0xeb, 0x54, 0x5a, 0x7a, 0xe9, 0x8f, 0x3d, 0x2b, 0x45, 0x4d, 0xae, + 0xb7, 0x00, 0xf9, 0xf3, 0x05, 0x6c, 0x8b, 0x2f, 0x4a, 0x5b, 0xce, 0x17, + 0x4e, 0x60, 0xe4, 0x1e, +}; +static const unsigned char kat1053_nonce[] = {0}; +static const unsigned char kat1053_persstr[] = { + 0x26, 0x03, 0x31, 0x3a, 0xce, 0x04, 0xdc, 0x1c, 0x8e, 0x7d, 0x90, 0xe9, + 0x91, 0x1d, 0xb1, 0x32, 0x65, 0x60, 0xb3, 0x55, 0x6a, 0xe8, 0x1f, 0x6b, + 0xf7, 0x9a, 0x5a, 0x76, 0x1b, 0x2a, 0xf2, 0x70, 0x35, 0x87, 0x5f, 0xbc, + 0x9a, 0xe6, 0x02, 0xb4, +}; +static const unsigned char kat1053_addin0[] = {0}; +static const unsigned char kat1053_addin1[] = {0}; +static const unsigned char kat1053_retbits[] = { + 0x34, 0x6e, 0xe8, 0x6c, 0xc8, 0xea, 0x99, 0x04, 0xca, 0x2c, 0x1c, 0x2c, + 0x61, 0xf1, 0xcd, 0xf7, 0x34, 0xd6, 0x9c, 0xff, 0xb1, 0x46, 0x07, 0x3a, + 0xb8, 0xb5, 0xe6, 0x68, 0xad, 0x58, 0x9d, 0x63, 0xb3, 0x22, 0xb8, 0x10, + 0xad, 0x4c, 0x87, 0xef, 0x66, 0xb9, 0x17, 0x75, 0x33, 0xd8, 0x14, 0xa9, + 0xd4, 0xf6, 0x5e, 0x1f, 0x1d, 0x5b, 0x14, 0x30, 0x77, 0x31, 0xcd, 0xa2, + 0xc5, 0x1d, 0x90, 0x14, +}; +static const struct drbg_kat_no_reseed kat1053_t = { + 2, kat1053_entropyin, kat1053_nonce, kat1053_persstr, + kat1053_addin0, kat1053_addin1, kat1053_retbits +}; +static const struct drbg_kat kat1053 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1053_t +}; + +static const unsigned char kat1054_entropyin[] = { + 0xeb, 0xd5, 0x35, 0x90, 0x4c, 0x3d, 0xc5, 0x0d, 0x29, 0x4a, 0x7d, 0x46, + 0x22, 0xd5, 0xfc, 0x8d, 0x11, 0x45, 0x3e, 0xaa, 0x47, 0x64, 0x09, 0x0f, + 0xc5, 0xb5, 0x32, 0xe7, 0x65, 0xdf, 0x70, 0x2f, 0xe9, 0x40, 0xc7, 0xaf, + 0xc6, 0x11, 0x11, 0x59, +}; +static const unsigned char kat1054_nonce[] = {0}; +static const unsigned char kat1054_persstr[] = { + 0x19, 0x8b, 0x39, 0x55, 0x63, 0x31, 0x38, 0x76, 0x65, 0x9e, 0xe6, 0xf2, + 0x84, 0x3f, 0x75, 0x0c, 0x4a, 0x46, 0x25, 0xe7, 0x70, 0x48, 0x14, 0x78, + 0xa3, 0x00, 0xb7, 0x0c, 0xe7, 0x72, 0x48, 0x7a, 0x4f, 0xd3, 0xf1, 0x71, + 0xd0, 0xc6, 0xc5, 0x3e, +}; +static const unsigned char kat1054_addin0[] = {0}; +static const unsigned char kat1054_addin1[] = {0}; +static const unsigned char kat1054_retbits[] = { + 0x2e, 0x52, 0xdf, 0xdf, 0x1e, 0xd5, 0x53, 0x2a, 0x69, 0x8a, 0xc1, 0x0a, + 0x73, 0x4a, 0x65, 0x2c, 0x8c, 0x73, 0x5c, 0x70, 0x00, 0x27, 0x63, 0x90, + 0x70, 0xb0, 0x0a, 0xfd, 0x0b, 0x1c, 0x1c, 0xa6, 0x59, 0x50, 0x57, 0x39, + 0x97, 0x38, 0x72, 0x2f, 0x15, 0xf4, 0x23, 0x4a, 0x79, 0x42, 0xb8, 0x57, + 0x11, 0x88, 0x91, 0xe9, 0xc5, 0x00, 0x0e, 0xcc, 0xda, 0xed, 0x68, 0x98, + 0x5e, 0x5a, 0x6b, 0x5a, +}; +static const struct drbg_kat_no_reseed kat1054_t = { + 3, kat1054_entropyin, kat1054_nonce, kat1054_persstr, + kat1054_addin0, kat1054_addin1, kat1054_retbits +}; +static const struct drbg_kat kat1054 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1054_t +}; + +static const unsigned char kat1055_entropyin[] = { + 0x6a, 0xc0, 0xc9, 0x94, 0xb6, 0x3c, 0x26, 0xec, 0xc2, 0x03, 0x5a, 0xb5, + 0xdc, 0x6a, 0xb5, 0x6b, 0xc3, 0xbb, 0xd8, 0x11, 0xb2, 0xb9, 0x5c, 0x49, + 0x44, 0x8f, 0x11, 0xfe, 0x5b, 0xb4, 0x57, 0x88, 0x28, 0x40, 0x16, 0x46, + 0x01, 0xe0, 0x89, 0xc6, +}; +static const unsigned char kat1055_nonce[] = {0}; +static const unsigned char kat1055_persstr[] = { + 0xe9, 0xaa, 0x6c, 0x05, 0x64, 0xf4, 0xf8, 0x70, 0x42, 0x16, 0xd9, 0x4e, + 0x34, 0x2c, 0xb7, 0xe1, 0xf7, 0xbd, 0xd2, 0x2f, 0x5d, 0xa3, 0x80, 0x54, + 0x4b, 0xee, 0xe7, 0x79, 0x24, 0xc7, 0xef, 0xc1, 0xea, 0xbf, 0x62, 0x89, + 0xc4, 0x05, 0xba, 0x42, +}; +static const unsigned char kat1055_addin0[] = {0}; +static const unsigned char kat1055_addin1[] = {0}; +static const unsigned char kat1055_retbits[] = { + 0x42, 0xa9, 0x79, 0x19, 0x50, 0xf9, 0xce, 0xb7, 0xa5, 0x51, 0xed, 0xf3, + 0x23, 0x36, 0x46, 0x7f, 0x12, 0x2b, 0x09, 0xab, 0x53, 0xaf, 0xfb, 0x1f, + 0xc2, 0x4c, 0xc1, 0x4c, 0x8c, 0x22, 0xf4, 0x75, 0xab, 0xbd, 0xf2, 0xab, + 0x68, 0xcf, 0x06, 0xa4, 0xed, 0xd2, 0xb8, 0xd9, 0xac, 0x7c, 0x74, 0x44, + 0x60, 0xeb, 0x54, 0x80, 0xc1, 0x1f, 0x22, 0x01, 0x9c, 0x3f, 0xaf, 0x36, + 0x8a, 0xba, 0x20, 0xe9, +}; +static const struct drbg_kat_no_reseed kat1055_t = { + 4, kat1055_entropyin, kat1055_nonce, kat1055_persstr, + kat1055_addin0, kat1055_addin1, kat1055_retbits +}; +static const struct drbg_kat kat1055 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1055_t +}; + +static const unsigned char kat1056_entropyin[] = { + 0xf0, 0x2e, 0xe9, 0x85, 0xb4, 0x33, 0x09, 0x86, 0x62, 0xf2, 0x52, 0xb7, + 0x99, 0x2d, 0x6f, 0xc9, 0x80, 0xdb, 0x58, 0x4d, 0xad, 0xc3, 0x85, 0xeb, + 0x05, 0xe7, 0x59, 0x42, 0xa4, 0xce, 0x2e, 0x2a, 0x28, 0x33, 0xb9, 0xe7, + 0xa3, 0xa4, 0x46, 0x76, +}; +static const unsigned char kat1056_nonce[] = {0}; +static const unsigned char kat1056_persstr[] = { + 0x36, 0x73, 0x69, 0x02, 0xb0, 0x7a, 0xb9, 0x3f, 0xbf, 0x5d, 0x66, 0x3b, + 0xa2, 0xdc, 0x86, 0xa9, 0x22, 0x9e, 0xc8, 0x85, 0x08, 0x61, 0x69, 0x7c, + 0xdf, 0x6e, 0xa9, 0xbf, 0xd8, 0x1c, 0x4d, 0x00, 0x87, 0x94, 0xd3, 0xf2, + 0x15, 0x7f, 0xc1, 0x9d, +}; +static const unsigned char kat1056_addin0[] = {0}; +static const unsigned char kat1056_addin1[] = {0}; +static const unsigned char kat1056_retbits[] = { + 0x0c, 0xe7, 0x63, 0x98, 0xb3, 0x72, 0x37, 0x18, 0x84, 0x54, 0x10, 0x9a, + 0x2f, 0xad, 0xe5, 0xd4, 0x72, 0x8b, 0x19, 0x35, 0x72, 0x0e, 0xf3, 0x4f, + 0x92, 0xbd, 0xab, 0x4a, 0x7d, 0xc7, 0x69, 0xca, 0xd7, 0x49, 0x34, 0x47, + 0xc7, 0x0c, 0x9b, 0x17, 0xac, 0x68, 0x18, 0x84, 0x38, 0x09, 0x3a, 0x8a, + 0x61, 0x76, 0xfc, 0x4a, 0x49, 0xe7, 0x3d, 0x6d, 0x13, 0x17, 0x15, 0x7f, + 0x14, 0x8d, 0x5b, 0xd5, +}; +static const struct drbg_kat_no_reseed kat1056_t = { + 5, kat1056_entropyin, kat1056_nonce, kat1056_persstr, + kat1056_addin0, kat1056_addin1, kat1056_retbits +}; +static const struct drbg_kat kat1056 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1056_t +}; + +static const unsigned char kat1057_entropyin[] = { + 0xe6, 0x8a, 0x85, 0xbf, 0xbd, 0x44, 0x3b, 0x0f, 0x89, 0x51, 0x38, 0x59, + 0xe4, 0x4e, 0xc8, 0xd6, 0x15, 0x0e, 0xc7, 0x60, 0xa7, 0x78, 0xf3, 0x2b, + 0xd6, 0x0f, 0xeb, 0xa2, 0xa1, 0xd2, 0x5c, 0x8e, 0x62, 0x01, 0xcf, 0x62, + 0xdb, 0xf4, 0xfa, 0xe8, +}; +static const unsigned char kat1057_nonce[] = {0}; +static const unsigned char kat1057_persstr[] = { + 0x9f, 0xa1, 0xb2, 0xf6, 0xbc, 0x59, 0xf8, 0x07, 0x63, 0xa3, 0x2d, 0x69, + 0x92, 0xa1, 0xb4, 0xf6, 0xa2, 0x38, 0xb3, 0x91, 0xdb, 0x93, 0x45, 0x02, + 0xac, 0x83, 0x77, 0x69, 0x59, 0xac, 0x95, 0x2c, 0x51, 0xd1, 0xb3, 0x86, + 0x90, 0x28, 0x30, 0x54, +}; +static const unsigned char kat1057_addin0[] = {0}; +static const unsigned char kat1057_addin1[] = {0}; +static const unsigned char kat1057_retbits[] = { + 0xbc, 0x4d, 0xe4, 0xe5, 0x44, 0x2a, 0xc6, 0xa3, 0x9b, 0x5a, 0x4f, 0x14, + 0x1c, 0x5c, 0xb2, 0xe5, 0xa6, 0xe5, 0xd8, 0x6c, 0xa6, 0x64, 0x00, 0xcb, + 0x81, 0x44, 0x2c, 0xc1, 0x2b, 0xcc, 0x58, 0x60, 0x18, 0xde, 0x89, 0xd9, + 0x5b, 0x40, 0x4d, 0xba, 0xea, 0x1d, 0x82, 0x8c, 0xf9, 0xa1, 0xa2, 0x8e, + 0xb4, 0xf4, 0x3e, 0xfc, 0x8e, 0x93, 0x80, 0x33, 0xac, 0xa4, 0x46, 0x78, + 0xff, 0x17, 0xdc, 0xe6, +}; +static const struct drbg_kat_no_reseed kat1057_t = { + 6, kat1057_entropyin, kat1057_nonce, kat1057_persstr, + kat1057_addin0, kat1057_addin1, kat1057_retbits +}; +static const struct drbg_kat kat1057 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1057_t +}; + +static const unsigned char kat1058_entropyin[] = { + 0x69, 0xf9, 0x80, 0x36, 0x76, 0xd4, 0x47, 0xeb, 0xc6, 0xcb, 0xaa, 0x52, + 0x4f, 0x1a, 0xc1, 0x37, 0x55, 0x38, 0xa1, 0xe7, 0x7b, 0x4c, 0xc2, 0x4f, + 0xae, 0x2e, 0x51, 0x5f, 0x73, 0xc2, 0xde, 0x76, 0x70, 0x28, 0x86, 0xea, + 0xcd, 0xba, 0xde, 0xce, +}; +static const unsigned char kat1058_nonce[] = {0}; +static const unsigned char kat1058_persstr[] = { + 0x64, 0xa9, 0xfb, 0x09, 0x22, 0xef, 0x02, 0xd4, 0xa1, 0x1e, 0xb3, 0x23, + 0x8a, 0xbd, 0x58, 0x5d, 0x88, 0xcf, 0xe4, 0xdd, 0xc5, 0x10, 0xc4, 0x0f, + 0xd3, 0x1b, 0xe4, 0xe7, 0xd4, 0xa2, 0x82, 0x4c, 0x79, 0x5b, 0x91, 0x8d, + 0x9a, 0x3e, 0xb6, 0x62, +}; +static const unsigned char kat1058_addin0[] = {0}; +static const unsigned char kat1058_addin1[] = {0}; +static const unsigned char kat1058_retbits[] = { + 0xc6, 0x41, 0x6b, 0x85, 0xaa, 0xd6, 0xa1, 0x12, 0x7c, 0x94, 0xce, 0x45, + 0x8f, 0x35, 0x00, 0xa4, 0x6f, 0x3b, 0x8f, 0xd1, 0xe6, 0x07, 0xc7, 0xf4, + 0xdc, 0xc9, 0x66, 0x29, 0xb6, 0x58, 0x2f, 0x2d, 0x78, 0xa1, 0xd1, 0x0e, + 0xc7, 0x3f, 0xbe, 0x23, 0xb8, 0x0b, 0x3f, 0xd8, 0x2f, 0x60, 0x4c, 0xf6, + 0x92, 0xff, 0x42, 0x30, 0xbf, 0x43, 0xcd, 0x7c, 0x22, 0x14, 0xfb, 0x56, + 0x21, 0x4a, 0x63, 0xdd, +}; +static const struct drbg_kat_no_reseed kat1058_t = { + 7, kat1058_entropyin, kat1058_nonce, kat1058_persstr, + kat1058_addin0, kat1058_addin1, kat1058_retbits +}; +static const struct drbg_kat kat1058 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1058_t +}; + +static const unsigned char kat1059_entropyin[] = { + 0xa8, 0x06, 0x6e, 0xc1, 0xa8, 0x96, 0xd3, 0xc2, 0x60, 0x7e, 0x93, 0x6a, + 0x3a, 0x0d, 0x0f, 0x8a, 0x56, 0xc5, 0x26, 0xaf, 0x33, 0x29, 0x0f, 0x52, + 0xf8, 0x07, 0x9a, 0x7e, 0xa2, 0x40, 0x8e, 0x89, 0xaf, 0x6d, 0xdc, 0x7d, + 0x34, 0xc0, 0x27, 0x54, +}; +static const unsigned char kat1059_nonce[] = {0}; +static const unsigned char kat1059_persstr[] = { + 0x31, 0x51, 0x74, 0xa8, 0x6b, 0xb5, 0x03, 0x86, 0x80, 0xaf, 0xa6, 0xa1, + 0x20, 0x2b, 0xa3, 0x74, 0x7d, 0x33, 0x63, 0xf7, 0xd0, 0x0d, 0xfb, 0xc6, + 0xd1, 0xe8, 0x6b, 0x6d, 0xfc, 0xd4, 0xd5, 0xc3, 0xa6, 0x7e, 0xbd, 0xeb, + 0x52, 0x66, 0xa2, 0x33, +}; +static const unsigned char kat1059_addin0[] = {0}; +static const unsigned char kat1059_addin1[] = {0}; +static const unsigned char kat1059_retbits[] = { + 0x56, 0x23, 0xec, 0x4e, 0xfd, 0x2a, 0xe7, 0x65, 0xf5, 0x4c, 0x80, 0x0c, + 0x1e, 0xfb, 0xe0, 0xc8, 0x66, 0xe2, 0x04, 0x78, 0xec, 0x37, 0x8e, 0x5f, + 0xe9, 0x61, 0xaf, 0x6b, 0x1b, 0x6f, 0x91, 0xdd, 0x15, 0xd2, 0xf9, 0x4d, + 0xb8, 0x7e, 0x92, 0xbd, 0xb5, 0x78, 0x18, 0x8e, 0x0f, 0x77, 0x1d, 0xad, + 0x9e, 0xae, 0x47, 0xa2, 0xa1, 0xe7, 0xeb, 0xe1, 0xf4, 0xb8, 0xa5, 0x15, + 0x3d, 0x0d, 0x83, 0x52, +}; +static const struct drbg_kat_no_reseed kat1059_t = { + 8, kat1059_entropyin, kat1059_nonce, kat1059_persstr, + kat1059_addin0, kat1059_addin1, kat1059_retbits +}; +static const struct drbg_kat kat1059 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1059_t +}; + +static const unsigned char kat1060_entropyin[] = { + 0x26, 0x69, 0x61, 0xe3, 0x4f, 0x05, 0x5a, 0xff, 0x69, 0xfe, 0xfb, 0x99, + 0x35, 0x67, 0x35, 0x73, 0x8f, 0x8d, 0xd9, 0xd0, 0x92, 0xba, 0x55, 0x89, + 0x13, 0xa6, 0x4a, 0xea, 0x72, 0x57, 0xa5, 0x0a, 0xa1, 0x51, 0x8c, 0xa5, + 0x07, 0xe6, 0xdc, 0xf0, +}; +static const unsigned char kat1060_nonce[] = {0}; +static const unsigned char kat1060_persstr[] = { + 0x55, 0x1b, 0x32, 0x9c, 0xc5, 0x72, 0xec, 0x75, 0x6e, 0x0c, 0xb4, 0xa7, + 0x44, 0x48, 0x8c, 0x3d, 0xcb, 0x81, 0x33, 0x84, 0x7c, 0x6a, 0xa5, 0x74, + 0xd2, 0x38, 0xf2, 0x5f, 0xf9, 0x5d, 0xe8, 0x37, 0x96, 0xa8, 0x00, 0x5c, + 0xb7, 0x8e, 0xe2, 0xc2, +}; +static const unsigned char kat1060_addin0[] = {0}; +static const unsigned char kat1060_addin1[] = {0}; +static const unsigned char kat1060_retbits[] = { + 0xf8, 0x04, 0xf0, 0xc1, 0xaa, 0x78, 0x69, 0xc6, 0x1f, 0x69, 0x20, 0x8b, + 0xfc, 0x04, 0x9c, 0x03, 0xbc, 0xe7, 0xc1, 0x49, 0xc2, 0x86, 0x7f, 0xb9, + 0x66, 0x27, 0x86, 0x0b, 0x70, 0x1c, 0xf1, 0x13, 0xf3, 0xcb, 0x80, 0x19, + 0xf3, 0x63, 0x6e, 0x78, 0xf6, 0x04, 0x56, 0x82, 0x7b, 0xab, 0x49, 0x33, + 0x2b, 0x89, 0x4d, 0xd1, 0x2b, 0x62, 0x53, 0xed, 0x74, 0x16, 0x3d, 0xb5, + 0xb2, 0xbd, 0x55, 0x20, +}; +static const struct drbg_kat_no_reseed kat1060_t = { + 9, kat1060_entropyin, kat1060_nonce, kat1060_persstr, + kat1060_addin0, kat1060_addin1, kat1060_retbits +}; +static const struct drbg_kat kat1060 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1060_t +}; + +static const unsigned char kat1061_entropyin[] = { + 0xdb, 0xbd, 0x85, 0x58, 0x5b, 0x2a, 0x39, 0xe9, 0xc9, 0xe9, 0xaf, 0x9c, + 0x5f, 0xeb, 0x6c, 0x96, 0x48, 0x33, 0xed, 0x2b, 0x93, 0x97, 0x30, 0xa9, + 0xcd, 0x5b, 0x04, 0x35, 0xe5, 0xb2, 0x28, 0xfc, 0x65, 0x50, 0xef, 0x4c, + 0x6e, 0xf1, 0x29, 0x50, +}; +static const unsigned char kat1061_nonce[] = {0}; +static const unsigned char kat1061_persstr[] = { + 0x0a, 0x5e, 0x98, 0x76, 0x46, 0xac, 0x86, 0x7a, 0xa1, 0x20, 0x0d, 0x49, + 0x2c, 0x32, 0x5c, 0x1d, 0xdd, 0x53, 0xb2, 0x0c, 0x4d, 0x05, 0x94, 0x49, + 0x39, 0x79, 0xf8, 0xd4, 0x87, 0xac, 0x2d, 0x7a, 0x1a, 0x8a, 0x1d, 0x7a, + 0x90, 0xc2, 0x95, 0xcc, +}; +static const unsigned char kat1061_addin0[] = {0}; +static const unsigned char kat1061_addin1[] = {0}; +static const unsigned char kat1061_retbits[] = { + 0x9d, 0x38, 0x1a, 0x77, 0xc7, 0x69, 0x1b, 0xad, 0x70, 0xf2, 0x36, 0x93, + 0xc7, 0x1e, 0x68, 0xf7, 0x55, 0x89, 0x02, 0x96, 0xf6, 0xca, 0x78, 0x5b, + 0x0a, 0xd4, 0xdb, 0x3f, 0x14, 0x86, 0x30, 0x9a, 0xe2, 0x1d, 0xb8, 0xfc, + 0x19, 0xab, 0x95, 0x03, 0x66, 0x7d, 0x95, 0x88, 0x86, 0x26, 0x2f, 0x0b, + 0xf2, 0xb2, 0xfe, 0xb7, 0x62, 0x7e, 0xde, 0xf0, 0x3a, 0x6c, 0x20, 0xdc, + 0x83, 0x70, 0x5e, 0x62, +}; +static const struct drbg_kat_no_reseed kat1061_t = { + 10, kat1061_entropyin, kat1061_nonce, kat1061_persstr, + kat1061_addin0, kat1061_addin1, kat1061_retbits +}; +static const struct drbg_kat kat1061 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1061_t +}; + +static const unsigned char kat1062_entropyin[] = { + 0x0d, 0x0d, 0x4a, 0xd1, 0xe1, 0xf7, 0xab, 0x02, 0x7a, 0x81, 0x06, 0xeb, + 0xa4, 0xde, 0x0e, 0x77, 0xa5, 0xbc, 0xe1, 0xb4, 0x3e, 0xe8, 0x65, 0x66, + 0x3e, 0xc2, 0x4a, 0x5b, 0x94, 0xae, 0xf5, 0x8e, 0x85, 0x56, 0xe1, 0x84, + 0x11, 0x0a, 0x76, 0xdd, +}; +static const unsigned char kat1062_nonce[] = {0}; +static const unsigned char kat1062_persstr[] = { + 0x67, 0xda, 0x8f, 0xca, 0x5f, 0x5d, 0x29, 0x08, 0xe8, 0xee, 0x15, 0x64, + 0x7a, 0x86, 0x10, 0x20, 0xdf, 0xfa, 0xd6, 0xfe, 0xe2, 0x15, 0xd3, 0xd5, + 0x28, 0x22, 0xa3, 0xd0, 0xac, 0x3c, 0x59, 0x25, 0x96, 0xa2, 0xad, 0x5d, + 0x7a, 0xf7, 0xd7, 0x58, +}; +static const unsigned char kat1062_addin0[] = {0}; +static const unsigned char kat1062_addin1[] = {0}; +static const unsigned char kat1062_retbits[] = { + 0xa1, 0xd5, 0x17, 0x3b, 0x76, 0x81, 0xb1, 0x01, 0x05, 0x85, 0x3f, 0xc5, + 0xc9, 0xab, 0x0b, 0x8e, 0x44, 0x8e, 0x9c, 0x1c, 0xd8, 0xed, 0x0d, 0x4b, + 0xfb, 0x13, 0x05, 0x73, 0x14, 0x96, 0xde, 0x3c, 0x86, 0x6e, 0x94, 0x69, + 0x25, 0xef, 0x6b, 0x75, 0xaf, 0x12, 0xa0, 0xda, 0xb9, 0xd0, 0x1a, 0x38, + 0x20, 0xe1, 0x40, 0x46, 0xe4, 0x94, 0xbf, 0x07, 0x59, 0x95, 0xd7, 0x49, + 0x02, 0xe2, 0x7b, 0x0d, +}; +static const struct drbg_kat_no_reseed kat1062_t = { + 11, kat1062_entropyin, kat1062_nonce, kat1062_persstr, + kat1062_addin0, kat1062_addin1, kat1062_retbits +}; +static const struct drbg_kat kat1062 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1062_t +}; + +static const unsigned char kat1063_entropyin[] = { + 0xf7, 0x60, 0xc2, 0xe6, 0xa6, 0x23, 0xe1, 0xaa, 0x65, 0xb2, 0xcb, 0xe0, + 0x0c, 0x94, 0xee, 0xd6, 0x13, 0xa9, 0xa4, 0x00, 0x68, 0x40, 0x16, 0x6e, + 0xcb, 0x62, 0xce, 0x75, 0xa0, 0x25, 0x1f, 0x1f, 0x08, 0x78, 0x3c, 0xcf, + 0x63, 0x36, 0x3c, 0xc4, +}; +static const unsigned char kat1063_nonce[] = {0}; +static const unsigned char kat1063_persstr[] = { + 0xb8, 0xe2, 0xf7, 0x17, 0x95, 0x93, 0xe1, 0xf8, 0x3c, 0x43, 0xac, 0x3d, + 0x13, 0x25, 0x21, 0x5a, 0x2c, 0x89, 0x8e, 0x11, 0x93, 0xd9, 0x73, 0x2b, + 0xf4, 0x43, 0xae, 0x4f, 0x10, 0x54, 0x0d, 0x67, 0x60, 0xdf, 0x97, 0x2f, + 0x0d, 0x27, 0x76, 0xde, +}; +static const unsigned char kat1063_addin0[] = {0}; +static const unsigned char kat1063_addin1[] = {0}; +static const unsigned char kat1063_retbits[] = { + 0xf1, 0x8d, 0x00, 0x2b, 0x00, 0xf8, 0x0a, 0xe1, 0x9c, 0xb9, 0x51, 0xab, + 0x42, 0x79, 0xf4, 0x4c, 0x3e, 0xdb, 0xdc, 0xbb, 0xfb, 0xc6, 0x80, 0xa2, + 0x2f, 0x44, 0x19, 0xa8, 0x3c, 0x9c, 0x79, 0xa8, 0x99, 0x7b, 0x6d, 0xe6, + 0x24, 0x62, 0x3e, 0xd6, 0xc8, 0xae, 0x69, 0x24, 0xae, 0x6b, 0xb0, 0xc5, + 0xcd, 0x6e, 0xc5, 0x58, 0xfc, 0xf6, 0x2f, 0x86, 0x99, 0x78, 0x37, 0xde, + 0x52, 0x87, 0x90, 0x0e, +}; +static const struct drbg_kat_no_reseed kat1063_t = { + 12, kat1063_entropyin, kat1063_nonce, kat1063_persstr, + kat1063_addin0, kat1063_addin1, kat1063_retbits +}; +static const struct drbg_kat kat1063 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1063_t +}; + +static const unsigned char kat1064_entropyin[] = { + 0x2c, 0xcd, 0x0d, 0xb7, 0x7c, 0xae, 0xd9, 0x60, 0x7b, 0xab, 0x8d, 0xe9, + 0x01, 0xa1, 0xe8, 0x16, 0x83, 0xd3, 0x6d, 0x00, 0xe1, 0xf8, 0x7d, 0x62, + 0x74, 0xd2, 0x0d, 0x5c, 0x54, 0xde, 0x3f, 0x84, 0x14, 0xa9, 0x96, 0x5c, + 0xde, 0xe9, 0x58, 0x4d, +}; +static const unsigned char kat1064_nonce[] = {0}; +static const unsigned char kat1064_persstr[] = { + 0x6b, 0x5e, 0x48, 0x0c, 0x5b, 0xf7, 0x82, 0xe1, 0x6b, 0x64, 0xbb, 0xa7, + 0x63, 0x83, 0xa2, 0xde, 0x7a, 0xb5, 0x16, 0xba, 0x43, 0xe2, 0x23, 0x58, + 0xa2, 0xeb, 0xba, 0x96, 0x09, 0x72, 0xbb, 0x74, 0xf0, 0x9c, 0x94, 0xc7, + 0xfc, 0x89, 0x3a, 0xa5, +}; +static const unsigned char kat1064_addin0[] = {0}; +static const unsigned char kat1064_addin1[] = {0}; +static const unsigned char kat1064_retbits[] = { + 0x02, 0x75, 0x4b, 0x47, 0x0a, 0x5a, 0xfd, 0x2a, 0x86, 0x00, 0xf8, 0x3c, + 0xd7, 0x1f, 0xd0, 0x88, 0x7b, 0xee, 0xe4, 0x99, 0x67, 0xe5, 0x26, 0x8a, + 0x73, 0xb6, 0x01, 0xb8, 0x89, 0x7f, 0x8e, 0x4f, 0xd8, 0xa6, 0xa0, 0xdb, + 0x3d, 0x5d, 0xdb, 0x62, 0x04, 0xfd, 0xeb, 0x96, 0xcd, 0x18, 0x38, 0x50, + 0x13, 0xc6, 0xe5, 0x0c, 0xd8, 0xbe, 0x40, 0x09, 0xb0, 0x06, 0x29, 0xe2, + 0x08, 0x69, 0xcb, 0xcc, +}; +static const struct drbg_kat_no_reseed kat1064_t = { + 13, kat1064_entropyin, kat1064_nonce, kat1064_persstr, + kat1064_addin0, kat1064_addin1, kat1064_retbits +}; +static const struct drbg_kat kat1064 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1064_t +}; + +static const unsigned char kat1065_entropyin[] = { + 0xa5, 0x9c, 0x31, 0xd7, 0x35, 0x4e, 0xec, 0x79, 0x9e, 0xca, 0xba, 0x81, + 0x93, 0x46, 0x6a, 0xaa, 0x92, 0x80, 0x25, 0xb1, 0x62, 0xff, 0x44, 0x2a, + 0xd2, 0xa4, 0xe0, 0xf9, 0xb6, 0x54, 0x09, 0xf1, 0x05, 0xd7, 0x28, 0xaf, + 0x3a, 0xb4, 0xd5, 0xd2, +}; +static const unsigned char kat1065_nonce[] = {0}; +static const unsigned char kat1065_persstr[] = { + 0x7b, 0x56, 0xfc, 0x01, 0x6f, 0x55, 0xfe, 0x0b, 0xa2, 0x1f, 0x9c, 0xc5, + 0x3b, 0x96, 0x2e, 0x21, 0x5e, 0x4e, 0xcd, 0x3d, 0xff, 0x48, 0x7a, 0xf6, + 0x7b, 0x27, 0x5a, 0x19, 0xcd, 0xe4, 0xaf, 0xa7, 0x47, 0x24, 0xa7, 0x47, + 0x35, 0x8f, 0xd1, 0xfb, +}; +static const unsigned char kat1065_addin0[] = {0}; +static const unsigned char kat1065_addin1[] = {0}; +static const unsigned char kat1065_retbits[] = { + 0xaa, 0xcf, 0xaf, 0x03, 0x60, 0xc4, 0x15, 0xde, 0x87, 0xb9, 0x2d, 0x74, + 0x38, 0x1b, 0xe9, 0x91, 0xf4, 0xa4, 0x1b, 0xdd, 0x61, 0x17, 0x5b, 0xcc, + 0xdd, 0x7c, 0x8d, 0xd1, 0x9c, 0xd3, 0xf7, 0x07, 0x6b, 0x48, 0x5e, 0x95, + 0xb1, 0xe9, 0xae, 0x60, 0xff, 0xb9, 0xb7, 0x78, 0xf6, 0x47, 0x0e, 0x5f, + 0xe3, 0xa5, 0x40, 0x92, 0xc6, 0xdb, 0x3b, 0x90, 0x9a, 0x4d, 0x9e, 0x5a, + 0x8c, 0xb9, 0x6e, 0xf5, +}; +static const struct drbg_kat_no_reseed kat1065_t = { + 14, kat1065_entropyin, kat1065_nonce, kat1065_persstr, + kat1065_addin0, kat1065_addin1, kat1065_retbits +}; +static const struct drbg_kat kat1065 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1065_t +}; + +static const unsigned char kat1066_entropyin[] = { + 0x00, 0xeb, 0x69, 0x04, 0x4b, 0x11, 0x7a, 0xf9, 0x66, 0xbf, 0x5e, 0x17, + 0xdd, 0xaa, 0x19, 0x99, 0x12, 0x07, 0xeb, 0x44, 0xc0, 0xdd, 0xab, 0x7c, + 0x2f, 0x9e, 0x2b, 0x7b, 0x99, 0x32, 0x85, 0x13, 0x0f, 0x43, 0x07, 0x31, + 0xb9, 0xb6, 0x3c, 0x5d, +}; +static const unsigned char kat1066_nonce[] = {0}; +static const unsigned char kat1066_persstr[] = { + 0x9a, 0x98, 0xfa, 0xfa, 0x90, 0xfd, 0xa5, 0x9e, 0xd1, 0xb5, 0x31, 0x27, + 0x30, 0x4b, 0xd1, 0x7b, 0xac, 0x75, 0x44, 0xe0, 0xde, 0x4a, 0x94, 0x75, + 0x3c, 0xcf, 0xda, 0x9c, 0x39, 0xbe, 0x98, 0xbc, 0x62, 0x53, 0x41, 0xdb, + 0x13, 0xe8, 0x6c, 0xd4, +}; +static const unsigned char kat1066_addin0[] = { + 0x8c, 0x2b, 0xa4, 0x0d, 0x88, 0xe9, 0xe3, 0xb5, 0x0b, 0x0d, 0x32, 0x43, + 0xfa, 0x38, 0xc2, 0xc5, 0x64, 0x18, 0x63, 0xaf, 0x44, 0x6f, 0x0a, 0x3b, + 0x94, 0x37, 0x31, 0x9c, 0xdc, 0xcf, 0x16, 0x5c, 0x36, 0x3c, 0x04, 0xcc, + 0x27, 0xbe, 0x27, 0x6e, +}; +static const unsigned char kat1066_addin1[] = { + 0xac, 0x73, 0x35, 0xb5, 0x94, 0x20, 0x85, 0xf0, 0x51, 0x95, 0xd0, 0x16, + 0xff, 0x5c, 0xd5, 0x45, 0xe8, 0x08, 0xb7, 0xe6, 0xf9, 0xfa, 0xed, 0xbe, + 0x8f, 0x64, 0xfa, 0xa1, 0x32, 0xd4, 0xb6, 0x1b, 0xd4, 0xa8, 0xe8, 0xda, + 0xc9, 0x67, 0x01, 0xcc, +}; +static const unsigned char kat1066_retbits[] = { + 0x89, 0x92, 0x83, 0x4d, 0xef, 0xf2, 0xd9, 0xe5, 0x53, 0xc1, 0x02, 0x15, + 0xd3, 0x09, 0x33, 0x24, 0x52, 0x42, 0xa4, 0xb7, 0x06, 0xdf, 0x1a, 0x31, + 0x24, 0xc3, 0x26, 0xce, 0x4a, 0x6b, 0x67, 0xfc, 0x7f, 0xe0, 0xf1, 0xfa, + 0x60, 0xd0, 0x6b, 0x7e, 0xd1, 0xf6, 0x06, 0xd3, 0xb7, 0x93, 0x96, 0xaf, + 0x7d, 0xba, 0xce, 0xef, 0xed, 0x44, 0x06, 0xd7, 0xa8, 0xc3, 0x9a, 0x0b, + 0xbe, 0xc3, 0x9b, 0x2e, +}; +static const struct drbg_kat_no_reseed kat1066_t = { + 0, kat1066_entropyin, kat1066_nonce, kat1066_persstr, + kat1066_addin0, kat1066_addin1, kat1066_retbits +}; +static const struct drbg_kat kat1066 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1066_t +}; + +static const unsigned char kat1067_entropyin[] = { + 0xb2, 0xdd, 0x9f, 0x3e, 0xd9, 0xb8, 0x41, 0xc8, 0xc6, 0x4c, 0x5c, 0x87, + 0x4b, 0x32, 0x61, 0xbe, 0x37, 0x15, 0x74, 0x10, 0xe4, 0xdd, 0x0d, 0x6c, + 0x35, 0xa6, 0x14, 0x20, 0xff, 0x0c, 0x9d, 0x10, 0x1e, 0xf6, 0x31, 0xc6, + 0xf0, 0x01, 0x19, 0x2a, +}; +static const unsigned char kat1067_nonce[] = {0}; +static const unsigned char kat1067_persstr[] = { + 0x58, 0x51, 0x3b, 0x0c, 0xee, 0xe0, 0xb0, 0x46, 0xf1, 0x33, 0x8d, 0x1d, + 0x0c, 0xe4, 0xdb, 0x50, 0x50, 0xb8, 0x8f, 0xca, 0x61, 0xc1, 0xba, 0xe8, + 0xad, 0x8c, 0x4f, 0x4c, 0x5b, 0x2e, 0x1a, 0x17, 0x1a, 0xfd, 0x01, 0x51, + 0x31, 0x78, 0x92, 0xaa, +}; +static const unsigned char kat1067_addin0[] = { + 0x7a, 0x20, 0x63, 0x2a, 0x05, 0x15, 0x53, 0x2c, 0xff, 0xe1, 0x9d, 0x24, + 0xc5, 0x5d, 0xc1, 0x97, 0x4a, 0x33, 0x81, 0x20, 0xf6, 0xd8, 0xef, 0x6a, + 0xd0, 0x3a, 0x1e, 0x11, 0x01, 0x0b, 0x6d, 0x62, 0x34, 0x84, 0x86, 0x79, + 0x39, 0x3c, 0x48, 0x93, +}; +static const unsigned char kat1067_addin1[] = { + 0x1b, 0x6c, 0x55, 0x89, 0xaf, 0xf5, 0x10, 0x2a, 0x14, 0x95, 0xaa, 0x99, + 0x61, 0x10, 0x2b, 0x8d, 0x92, 0x23, 0xa1, 0xa7, 0x96, 0x7d, 0xc0, 0x3b, + 0x53, 0xa4, 0x72, 0x6d, 0x4e, 0x80, 0xe0, 0xdd, 0x91, 0x6a, 0xf9, 0xe8, + 0x5c, 0x3c, 0x27, 0x38, +}; +static const unsigned char kat1067_retbits[] = { + 0x15, 0x15, 0xb9, 0x42, 0xe9, 0x94, 0x03, 0x93, 0xde, 0xd2, 0xa6, 0x4c, + 0x62, 0xec, 0xd8, 0x54, 0x40, 0x78, 0x5a, 0x33, 0xc8, 0x6d, 0x41, 0xfb, + 0xf1, 0xf5, 0x62, 0xcf, 0x51, 0xe0, 0x29, 0xaf, 0x90, 0x7a, 0xd4, 0xd8, + 0xa7, 0x51, 0x4a, 0x2b, 0x7e, 0x2e, 0x9a, 0x39, 0xaa, 0xdc, 0xda, 0x05, + 0xd2, 0x1f, 0x05, 0x6f, 0xef, 0xed, 0xaa, 0x4a, 0x3a, 0xa2, 0xd4, 0x50, + 0x39, 0xe9, 0xdd, 0xc7, +}; +static const struct drbg_kat_no_reseed kat1067_t = { + 1, kat1067_entropyin, kat1067_nonce, kat1067_persstr, + kat1067_addin0, kat1067_addin1, kat1067_retbits +}; +static const struct drbg_kat kat1067 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1067_t +}; + +static const unsigned char kat1068_entropyin[] = { + 0xb2, 0x59, 0xae, 0x09, 0xd2, 0x56, 0xb2, 0x80, 0xdb, 0x49, 0x59, 0xf9, + 0x04, 0x18, 0x68, 0x36, 0x1b, 0x1e, 0x1c, 0xa6, 0xed, 0xf0, 0xa6, 0x7d, + 0xb0, 0x55, 0x12, 0x13, 0xa3, 0x5c, 0xb0, 0x33, 0x30, 0x4d, 0xe1, 0x93, + 0x4e, 0xb4, 0xcf, 0x96, +}; +static const unsigned char kat1068_nonce[] = {0}; +static const unsigned char kat1068_persstr[] = { + 0xa7, 0x78, 0x5c, 0xba, 0xbc, 0x0d, 0x43, 0x20, 0x78, 0x98, 0x66, 0xaa, + 0xc2, 0x9c, 0x2b, 0xfa, 0x36, 0xa0, 0x09, 0x5d, 0x07, 0x2c, 0xc5, 0xba, + 0xdd, 0x01, 0x9e, 0xe3, 0x43, 0x3c, 0x42, 0x6d, 0x4d, 0x25, 0x08, 0x96, + 0x0a, 0x08, 0x91, 0xd1, +}; +static const unsigned char kat1068_addin0[] = { + 0x95, 0xce, 0xa7, 0x1d, 0x06, 0xaa, 0x28, 0x9f, 0x77, 0x5f, 0xe3, 0x8d, + 0xd4, 0x36, 0xd3, 0x25, 0x12, 0x0d, 0x7d, 0x0f, 0x5f, 0xa3, 0x68, 0x38, + 0x0f, 0x75, 0xec, 0xfa, 0x5d, 0x53, 0xda, 0x0f, 0x8f, 0x12, 0x4d, 0x91, + 0x2f, 0x0f, 0x2f, 0x11, +}; +static const unsigned char kat1068_addin1[] = { + 0xa3, 0xee, 0xde, 0x21, 0xcc, 0x35, 0xde, 0xaa, 0xbb, 0x90, 0x18, 0xb4, + 0x62, 0x2d, 0xe9, 0x25, 0xb6, 0xdd, 0xc6, 0x83, 0x00, 0xd6, 0x0c, 0x6c, + 0x8a, 0x63, 0x0a, 0x77, 0x99, 0x3a, 0x2d, 0x03, 0xa6, 0x39, 0x18, 0x24, + 0x99, 0x25, 0x6d, 0x3e, +}; +static const unsigned char kat1068_retbits[] = { + 0xf9, 0x9d, 0xc7, 0xfe, 0xfe, 0x1d, 0xe4, 0xa5, 0xa2, 0x2a, 0x59, 0x28, + 0x5e, 0x93, 0x98, 0x74, 0xd6, 0x60, 0xe3, 0x5a, 0x16, 0x81, 0x90, 0xe2, + 0x7b, 0x51, 0xb2, 0x1e, 0x32, 0xb7, 0x13, 0xad, 0x3c, 0xbc, 0x07, 0x56, + 0x2c, 0x91, 0xb3, 0x88, 0xae, 0x2f, 0xa5, 0x37, 0x3b, 0xde, 0x74, 0xad, + 0x30, 0x3b, 0xf6, 0x16, 0xb0, 0xfc, 0x80, 0x07, 0x0a, 0x71, 0xc7, 0xf0, + 0xc4, 0xdb, 0x2e, 0xf1, +}; +static const struct drbg_kat_no_reseed kat1068_t = { + 2, kat1068_entropyin, kat1068_nonce, kat1068_persstr, + kat1068_addin0, kat1068_addin1, kat1068_retbits +}; +static const struct drbg_kat kat1068 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1068_t +}; + +static const unsigned char kat1069_entropyin[] = { + 0x95, 0xa9, 0xa0, 0x00, 0x6f, 0x67, 0x5c, 0x6b, 0xd8, 0x34, 0x7b, 0x37, + 0x18, 0x96, 0x7a, 0xee, 0xa9, 0x14, 0x3c, 0x0f, 0xd5, 0xa5, 0x6d, 0x1d, + 0x02, 0xc3, 0x6b, 0x28, 0x03, 0x3e, 0x12, 0x29, 0x40, 0xc6, 0x16, 0xa4, + 0x2d, 0xa0, 0x30, 0xf0, +}; +static const unsigned char kat1069_nonce[] = {0}; +static const unsigned char kat1069_persstr[] = { + 0xc3, 0x2d, 0x10, 0x8e, 0x80, 0xcc, 0x7c, 0xd1, 0x5e, 0x28, 0xf6, 0xae, + 0xd9, 0x62, 0x97, 0x2d, 0x50, 0x70, 0xbb, 0xe3, 0x3a, 0x04, 0xdb, 0xe8, + 0x2b, 0xdd, 0xb3, 0xc0, 0x34, 0xf3, 0xe3, 0x39, 0x6b, 0x49, 0xea, 0x69, + 0xdb, 0x6c, 0x26, 0xe7, +}; +static const unsigned char kat1069_addin0[] = { + 0xed, 0x32, 0x9f, 0x12, 0xd6, 0xef, 0xb8, 0x0f, 0xc5, 0xc9, 0x2e, 0x86, + 0x67, 0x4a, 0x7c, 0x75, 0x7b, 0x6f, 0xad, 0x21, 0x76, 0x03, 0x2e, 0x88, + 0xe6, 0x42, 0xd8, 0x4b, 0x60, 0x6a, 0x29, 0x66, 0xa5, 0x35, 0x1e, 0x3d, + 0x54, 0x02, 0x01, 0x2b, +}; +static const unsigned char kat1069_addin1[] = { + 0x6d, 0x7d, 0x5f, 0x88, 0x5d, 0x89, 0x52, 0xe7, 0x7b, 0x67, 0xe5, 0x31, + 0x05, 0xa7, 0x4c, 0x2f, 0xc3, 0xd9, 0xa3, 0x8d, 0x64, 0x15, 0x36, 0xb1, + 0xc2, 0x45, 0x09, 0x4b, 0x5b, 0x5f, 0xc3, 0x7c, 0xe5, 0xe1, 0xb9, 0x23, + 0xd4, 0x80, 0x31, 0xb0, +}; +static const unsigned char kat1069_retbits[] = { + 0xb4, 0x8a, 0x8c, 0xf1, 0x7a, 0x69, 0x26, 0xdd, 0x20, 0xf7, 0xb0, 0xbe, + 0xa0, 0x6e, 0xaf, 0xcd, 0x5d, 0x3c, 0x4d, 0x96, 0x1b, 0x6c, 0xdc, 0xe9, + 0xb4, 0x93, 0xd6, 0x6b, 0xfd, 0x33, 0x1d, 0x95, 0x2f, 0x23, 0xbc, 0xc4, + 0x84, 0x6e, 0x63, 0x94, 0xae, 0x1b, 0xc0, 0xbc, 0x18, 0x3b, 0xcc, 0x2d, + 0xce, 0xf2, 0x5d, 0x93, 0x61, 0x0b, 0x33, 0xa1, 0x92, 0xff, 0x0e, 0xeb, + 0x88, 0x5a, 0x5a, 0x64, +}; +static const struct drbg_kat_no_reseed kat1069_t = { + 3, kat1069_entropyin, kat1069_nonce, kat1069_persstr, + kat1069_addin0, kat1069_addin1, kat1069_retbits +}; +static const struct drbg_kat kat1069 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1069_t +}; + +static const unsigned char kat1070_entropyin[] = { + 0x3f, 0x90, 0xce, 0x94, 0xad, 0xa9, 0x34, 0xc8, 0x3f, 0x6c, 0x6e, 0xab, + 0x8c, 0x0e, 0xef, 0x4b, 0xe3, 0x45, 0x6b, 0xb6, 0x75, 0xf1, 0xc8, 0x35, + 0x96, 0x4e, 0x2b, 0x80, 0x8f, 0x54, 0x17, 0x80, 0x66, 0xf7, 0xf3, 0xaa, + 0x0f, 0x79, 0x9b, 0x0d, +}; +static const unsigned char kat1070_nonce[] = {0}; +static const unsigned char kat1070_persstr[] = { + 0xeb, 0x0f, 0x54, 0xf5, 0xfb, 0x20, 0x6f, 0xa2, 0x0d, 0xd0, 0x1c, 0xf2, + 0x14, 0x0a, 0x93, 0x14, 0xff, 0x91, 0xec, 0x1c, 0x1b, 0xc0, 0x31, 0xe3, + 0x9c, 0xbd, 0xbf, 0x8d, 0x15, 0xef, 0x3d, 0x3d, 0x9c, 0x7f, 0xd7, 0xe2, + 0x5c, 0x35, 0x5c, 0x91, +}; +static const unsigned char kat1070_addin0[] = { + 0xda, 0x10, 0x32, 0x97, 0x8b, 0xd1, 0x82, 0x39, 0x2d, 0x75, 0xef, 0x8e, + 0x30, 0x1b, 0x37, 0xd3, 0x72, 0xd9, 0xf9, 0x63, 0xaa, 0x5a, 0xa2, 0x91, + 0xda, 0xc9, 0x41, 0xb3, 0x78, 0x53, 0xe8, 0xd4, 0x26, 0xe7, 0x40, 0x16, + 0xb5, 0x79, 0x5a, 0x1e, +}; +static const unsigned char kat1070_addin1[] = { + 0xd9, 0x75, 0xef, 0x40, 0x49, 0x1f, 0x48, 0x47, 0x04, 0x18, 0x74, 0xb0, + 0x24, 0x82, 0x74, 0x55, 0x61, 0x82, 0x57, 0xb9, 0x70, 0x48, 0x9f, 0x97, + 0x2b, 0x24, 0x31, 0x44, 0x50, 0xf7, 0x3a, 0xc4, 0x69, 0x97, 0xa4, 0x46, + 0x71, 0x33, 0xaa, 0x53, +}; +static const unsigned char kat1070_retbits[] = { + 0x93, 0x23, 0x0b, 0xd7, 0xf0, 0x45, 0x38, 0x45, 0x62, 0x27, 0x8f, 0x63, + 0xfd, 0xde, 0x51, 0xaa, 0xcc, 0xa0, 0x71, 0x3a, 0x84, 0x45, 0xcf, 0xb6, + 0x41, 0x75, 0x1f, 0x1e, 0x68, 0x9d, 0x4e, 0x35, 0x3d, 0xa2, 0xaf, 0x1a, + 0xad, 0xc4, 0x7a, 0x1a, 0x83, 0x3f, 0x0b, 0x44, 0xc8, 0x00, 0xc6, 0x55, + 0x2d, 0xe1, 0x8a, 0xfe, 0xb1, 0xbf, 0xd4, 0x84, 0xbb, 0x80, 0xd3, 0xc2, + 0x5e, 0x4b, 0x5c, 0x38, +}; +static const struct drbg_kat_no_reseed kat1070_t = { + 4, kat1070_entropyin, kat1070_nonce, kat1070_persstr, + kat1070_addin0, kat1070_addin1, kat1070_retbits +}; +static const struct drbg_kat kat1070 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1070_t +}; + +static const unsigned char kat1071_entropyin[] = { + 0x36, 0x59, 0x47, 0xb9, 0x4c, 0xe4, 0xf5, 0x6c, 0x58, 0x42, 0x2b, 0xb3, + 0x13, 0x50, 0x11, 0x1b, 0x4c, 0xaa, 0xf7, 0x87, 0xf7, 0x7c, 0x6e, 0xbe, + 0x46, 0xd3, 0x97, 0x87, 0x23, 0x13, 0x3c, 0xdc, 0x36, 0x34, 0xe5, 0xa8, + 0xcd, 0xfc, 0x21, 0x1f, +}; +static const unsigned char kat1071_nonce[] = {0}; +static const unsigned char kat1071_persstr[] = { + 0xc2, 0xaa, 0x05, 0x24, 0xbe, 0xca, 0x81, 0x71, 0xa1, 0xd0, 0x80, 0xfa, + 0xc6, 0xb8, 0xbe, 0x00, 0xc9, 0x2e, 0x38, 0xce, 0x7c, 0xc7, 0x5d, 0x66, + 0x21, 0x7c, 0x13, 0x8e, 0xdd, 0x7f, 0xca, 0xe6, 0x6d, 0x93, 0x50, 0x29, + 0xf2, 0x07, 0x21, 0xa3, +}; +static const unsigned char kat1071_addin0[] = { + 0xb1, 0x05, 0xfe, 0x49, 0xec, 0x71, 0xef, 0x6f, 0x80, 0x86, 0xff, 0xef, + 0xb1, 0xed, 0x37, 0x0c, 0xa1, 0x7f, 0xdc, 0x2a, 0xaf, 0xc7, 0xd2, 0xf1, + 0xdd, 0xb1, 0x05, 0x84, 0x68, 0xb7, 0x51, 0x05, 0x27, 0xa9, 0xc1, 0x89, + 0x69, 0x5d, 0xce, 0x82, +}; +static const unsigned char kat1071_addin1[] = { + 0x5b, 0x62, 0xb2, 0xb7, 0xf9, 0x88, 0x70, 0xa6, 0xf0, 0xfc, 0x56, 0x73, + 0x2f, 0xcf, 0x45, 0xb2, 0xb3, 0x4d, 0xa2, 0x08, 0x3b, 0x03, 0x7c, 0x87, + 0xed, 0xce, 0xd1, 0xa0, 0xbc, 0x57, 0xef, 0xfb, 0x5c, 0xa6, 0x06, 0x2b, + 0x0a, 0x84, 0xfb, 0xf5, +}; +static const unsigned char kat1071_retbits[] = { + 0xc3, 0x32, 0xf5, 0x7c, 0x3b, 0x0b, 0x83, 0x24, 0xf8, 0x0f, 0xe9, 0xd1, + 0x73, 0xb2, 0x6f, 0x96, 0x9b, 0xd4, 0xdd, 0xde, 0x8e, 0x15, 0xfd, 0xca, + 0xbc, 0x7d, 0x2c, 0xf3, 0x6f, 0xac, 0x23, 0x9b, 0x42, 0xd8, 0x95, 0xe8, + 0xb5, 0xa9, 0xad, 0x46, 0x24, 0xec, 0x62, 0xd1, 0x4c, 0xdd, 0x08, 0xf4, + 0x73, 0x8a, 0xe1, 0x86, 0x36, 0x1d, 0x2e, 0xad, 0x37, 0x6e, 0xe1, 0xb0, + 0x64, 0xba, 0xdb, 0x87, +}; +static const struct drbg_kat_no_reseed kat1071_t = { + 5, kat1071_entropyin, kat1071_nonce, kat1071_persstr, + kat1071_addin0, kat1071_addin1, kat1071_retbits +}; +static const struct drbg_kat kat1071 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1071_t +}; + +static const unsigned char kat1072_entropyin[] = { + 0x36, 0x12, 0x18, 0x2e, 0x7d, 0x2e, 0xf2, 0x9e, 0xc8, 0x28, 0x38, 0x95, + 0x72, 0xc3, 0x00, 0xb9, 0xee, 0x2c, 0xed, 0x58, 0x84, 0xba, 0x8f, 0x8b, + 0x41, 0xaf, 0x05, 0x1e, 0x9e, 0xec, 0x40, 0xbe, 0xf8, 0xe3, 0xbf, 0x07, + 0x93, 0xa5, 0x3b, 0xc9, +}; +static const unsigned char kat1072_nonce[] = {0}; +static const unsigned char kat1072_persstr[] = { + 0x5c, 0xeb, 0xa7, 0x00, 0xfe, 0x74, 0xbc, 0xbf, 0x68, 0xf3, 0xdb, 0xe7, + 0xd6, 0xc4, 0x2c, 0xa1, 0x77, 0x8e, 0x17, 0x45, 0xf3, 0xa6, 0x8d, 0x4c, + 0x0f, 0x52, 0xf9, 0x49, 0x86, 0x81, 0xe9, 0x32, 0x8b, 0xc5, 0x7f, 0x76, + 0xf3, 0xbe, 0xce, 0xb0, +}; +static const unsigned char kat1072_addin0[] = { + 0xc2, 0xf4, 0x7a, 0x66, 0x09, 0x0b, 0x08, 0x77, 0xee, 0xb4, 0x7d, 0x45, + 0xe0, 0x6b, 0x13, 0x99, 0xd2, 0xbd, 0xa0, 0x1f, 0xc2, 0xbe, 0x9d, 0xdc, + 0x25, 0x08, 0x27, 0x1d, 0x73, 0x9b, 0x9e, 0x29, 0xbc, 0xb5, 0xa8, 0xaf, + 0xff, 0x16, 0xaf, 0x19, +}; +static const unsigned char kat1072_addin1[] = { + 0x8d, 0x5b, 0x75, 0x47, 0x90, 0xb3, 0x97, 0x94, 0x23, 0x07, 0x5e, 0xd7, + 0x10, 0x43, 0x37, 0x07, 0xaa, 0x88, 0x76, 0x4b, 0x60, 0xd1, 0x06, 0x24, + 0x3a, 0x40, 0x73, 0x95, 0xa6, 0xc5, 0x9a, 0xd9, 0xd0, 0x01, 0x6b, 0x94, + 0xd3, 0xc2, 0x3b, 0xfe, +}; +static const unsigned char kat1072_retbits[] = { + 0x6b, 0x1c, 0x41, 0x1a, 0x29, 0x39, 0x33, 0x01, 0xd7, 0x30, 0x53, 0x3f, + 0xf5, 0x35, 0x90, 0xdc, 0x68, 0x4f, 0x81, 0xbd, 0x04, 0x42, 0x8f, 0x3d, + 0x26, 0x5e, 0xab, 0xc2, 0x39, 0x41, 0x25, 0x4a, 0x7d, 0x6a, 0xae, 0x85, + 0x85, 0x82, 0x2e, 0x5a, 0xd1, 0xa4, 0xa8, 0xac, 0x97, 0xe7, 0x90, 0xb7, + 0x15, 0x2c, 0x66, 0xd2, 0xd0, 0x3d, 0xb6, 0xef, 0xc9, 0x91, 0x16, 0xca, + 0x46, 0x72, 0xac, 0x8b, +}; +static const struct drbg_kat_no_reseed kat1072_t = { + 6, kat1072_entropyin, kat1072_nonce, kat1072_persstr, + kat1072_addin0, kat1072_addin1, kat1072_retbits +}; +static const struct drbg_kat kat1072 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1072_t +}; + +static const unsigned char kat1073_entropyin[] = { + 0x1d, 0x5f, 0x82, 0x35, 0x53, 0xf1, 0x0d, 0xdf, 0x2b, 0x62, 0x5e, 0xed, + 0x6d, 0xea, 0x76, 0xd0, 0x6b, 0xa8, 0xc9, 0x19, 0xe1, 0x8d, 0x25, 0x0f, + 0xe4, 0xf1, 0xe2, 0xd6, 0x24, 0xc3, 0xd9, 0xaf, 0x8a, 0x3e, 0xfb, 0xce, + 0x08, 0xa1, 0x1f, 0xde, +}; +static const unsigned char kat1073_nonce[] = {0}; +static const unsigned char kat1073_persstr[] = { + 0xba, 0xe1, 0x50, 0xd1, 0xc0, 0x59, 0xef, 0x31, 0x4f, 0x47, 0x81, 0x90, + 0xfd, 0x84, 0x78, 0xa7, 0xd2, 0xb8, 0xec, 0xbd, 0x74, 0xfd, 0x48, 0x0a, + 0x50, 0xe3, 0x51, 0x12, 0x97, 0x57, 0x86, 0x4a, 0xf8, 0x27, 0x31, 0x8a, + 0xf8, 0x92, 0xe6, 0xc2, +}; +static const unsigned char kat1073_addin0[] = { + 0x46, 0xc4, 0x28, 0xb8, 0xf3, 0xd6, 0x62, 0xbd, 0x73, 0xe8, 0x08, 0x9a, + 0xcc, 0x48, 0x09, 0x7d, 0x0d, 0xe2, 0xe2, 0x07, 0x02, 0x6c, 0x44, 0xc4, + 0x21, 0x7c, 0x3b, 0x46, 0xc5, 0x4e, 0x83, 0xa8, 0xd2, 0xd3, 0x57, 0x64, + 0x21, 0xc3, 0x13, 0x2a, +}; +static const unsigned char kat1073_addin1[] = { + 0xd0, 0xad, 0x82, 0x21, 0xe9, 0xc3, 0x8d, 0xb6, 0x0b, 0x06, 0x35, 0x2b, + 0x77, 0xee, 0xe4, 0xd4, 0x94, 0x72, 0xe6, 0x75, 0x3c, 0xfb, 0x35, 0x87, + 0x42, 0xbf, 0xb0, 0xb9, 0xd1, 0x3e, 0xba, 0xb4, 0x63, 0x7d, 0xc3, 0x55, + 0xdb, 0x8c, 0x14, 0x7e, +}; +static const unsigned char kat1073_retbits[] = { + 0x6b, 0x91, 0x92, 0x3f, 0x9c, 0xa4, 0x95, 0xef, 0xec, 0x6d, 0xc8, 0xdd, + 0xe0, 0x16, 0x3f, 0x05, 0x11, 0xb0, 0x74, 0xde, 0x76, 0x6c, 0x44, 0xf3, + 0x88, 0xa8, 0x29, 0xd5, 0x06, 0xc0, 0xb3, 0x1b, 0x4e, 0x09, 0x70, 0x40, + 0x86, 0xc3, 0x13, 0x82, 0xe7, 0xb7, 0x0c, 0xff, 0xd9, 0x42, 0xe5, 0x6a, + 0x82, 0xb6, 0xaa, 0x34, 0x3b, 0x44, 0x09, 0x49, 0x8b, 0xae, 0xde, 0x18, + 0x6a, 0x76, 0x65, 0xe1, +}; +static const struct drbg_kat_no_reseed kat1073_t = { + 7, kat1073_entropyin, kat1073_nonce, kat1073_persstr, + kat1073_addin0, kat1073_addin1, kat1073_retbits +}; +static const struct drbg_kat kat1073 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1073_t +}; + +static const unsigned char kat1074_entropyin[] = { + 0xed, 0x61, 0x66, 0x1a, 0xb1, 0x3f, 0xec, 0x20, 0x02, 0x15, 0x6f, 0x23, + 0x9c, 0x96, 0x2c, 0x03, 0x84, 0x4e, 0xc2, 0x1c, 0x25, 0x2a, 0x13, 0xf7, + 0x88, 0xd4, 0xc8, 0x5e, 0xa7, 0xea, 0x5f, 0x2c, 0x87, 0xc7, 0x6a, 0x72, + 0x7f, 0x77, 0x63, 0x0e, +}; +static const unsigned char kat1074_nonce[] = {0}; +static const unsigned char kat1074_persstr[] = { + 0x06, 0x45, 0x43, 0x54, 0x5e, 0x7f, 0x8f, 0x15, 0x3c, 0xbc, 0xd0, 0x86, + 0x3e, 0xde, 0x5c, 0x9c, 0xe7, 0x90, 0x87, 0xd6, 0xcc, 0x0e, 0x4c, 0x20, + 0xd5, 0xea, 0x42, 0x74, 0x9f, 0x75, 0x64, 0x44, 0x9a, 0xfc, 0x33, 0xd8, + 0xca, 0xa1, 0xc4, 0x64, +}; +static const unsigned char kat1074_addin0[] = { + 0x87, 0x8a, 0xae, 0xc1, 0x6a, 0xb0, 0x97, 0x45, 0x47, 0xaa, 0xa0, 0x9a, + 0xde, 0xb3, 0xac, 0x16, 0xea, 0x5e, 0x92, 0x43, 0x08, 0xf8, 0x29, 0x9c, + 0x4f, 0x14, 0xcb, 0x47, 0xf3, 0x5f, 0x1d, 0x1a, 0x24, 0xd9, 0xe2, 0x54, + 0x6c, 0x52, 0x64, 0xe1, +}; +static const unsigned char kat1074_addin1[] = { + 0xa7, 0xa2, 0x08, 0x62, 0x4c, 0x9a, 0x69, 0xd5, 0x16, 0xd2, 0x71, 0xa9, + 0xd1, 0x18, 0x91, 0xc6, 0xc3, 0x5e, 0x89, 0x2a, 0x7b, 0xdf, 0x7b, 0xe3, + 0xce, 0xbc, 0x18, 0x01, 0x24, 0x19, 0x0b, 0x4a, 0xe7, 0xb2, 0xfc, 0x89, + 0xca, 0x86, 0xc7, 0x56, +}; +static const unsigned char kat1074_retbits[] = { + 0x22, 0x01, 0x98, 0x87, 0x5b, 0x6d, 0x81, 0x22, 0xc2, 0xaa, 0xbd, 0xc7, + 0x5f, 0x02, 0x9f, 0x12, 0xb8, 0xa6, 0x77, 0x0f, 0xf0, 0x34, 0x5d, 0xc7, + 0x44, 0x92, 0xb5, 0x1b, 0xd2, 0x42, 0xf9, 0x88, 0xd9, 0x65, 0xc7, 0x87, + 0xc2, 0x40, 0xbb, 0x1e, 0x59, 0x63, 0x25, 0x2c, 0xaf, 0xcc, 0xc8, 0x6f, + 0x93, 0x20, 0x8b, 0x50, 0x99, 0x87, 0x9d, 0x1a, 0x56, 0x52, 0xc2, 0x1f, + 0xf9, 0xfe, 0x2f, 0x7c, +}; +static const struct drbg_kat_no_reseed kat1074_t = { + 8, kat1074_entropyin, kat1074_nonce, kat1074_persstr, + kat1074_addin0, kat1074_addin1, kat1074_retbits +}; +static const struct drbg_kat kat1074 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1074_t +}; + +static const unsigned char kat1075_entropyin[] = { + 0x47, 0xa3, 0xcd, 0xd7, 0x35, 0x77, 0xb4, 0xe7, 0xa7, 0x27, 0x46, 0x27, + 0x7e, 0x4e, 0x64, 0xab, 0xea, 0x20, 0xde, 0x39, 0x62, 0x25, 0xa0, 0x6b, + 0x0a, 0xa3, 0x9f, 0xaa, 0x66, 0x35, 0x6d, 0x34, 0xa9, 0xa6, 0x16, 0x25, + 0x15, 0x9d, 0x4f, 0x5f, +}; +static const unsigned char kat1075_nonce[] = {0}; +static const unsigned char kat1075_persstr[] = { + 0x2a, 0xba, 0x79, 0x72, 0x88, 0x06, 0xa9, 0xc2, 0x2b, 0x56, 0xa2, 0x58, + 0x9a, 0x2f, 0xfb, 0x6f, 0x9c, 0xeb, 0x0f, 0xa0, 0x3c, 0x5c, 0xf5, 0x2b, + 0x42, 0x8f, 0xe9, 0x71, 0x42, 0x38, 0x83, 0xdc, 0x29, 0x65, 0xe9, 0xfc, + 0x78, 0xb6, 0x42, 0xe2, +}; +static const unsigned char kat1075_addin0[] = { + 0x50, 0x0f, 0x92, 0xf4, 0xcb, 0x0d, 0x38, 0xb9, 0xc9, 0x52, 0x8c, 0xad, + 0x5f, 0xa2, 0x28, 0x03, 0x73, 0x0e, 0x9f, 0xc6, 0xfe, 0xa9, 0xf2, 0xa6, + 0xa7, 0xd1, 0xfd, 0x42, 0x51, 0xe9, 0x97, 0x47, 0x6e, 0xbd, 0x4a, 0xe4, + 0x52, 0xd8, 0x35, 0x16, +}; +static const unsigned char kat1075_addin1[] = { + 0xb9, 0xfe, 0x2c, 0x2a, 0xce, 0x55, 0x71, 0x42, 0x6b, 0xe7, 0x96, 0x2a, + 0x81, 0x90, 0x74, 0xbb, 0xbf, 0x91, 0xfd, 0xe2, 0xcc, 0x12, 0x16, 0xec, + 0xbc, 0x08, 0xe1, 0x64, 0xd9, 0x86, 0x62, 0x4d, 0x3d, 0x53, 0xdd, 0x50, + 0x95, 0x31, 0x98, 0x52, +}; +static const unsigned char kat1075_retbits[] = { + 0x2e, 0x42, 0x79, 0x19, 0xb4, 0xc0, 0x40, 0x32, 0x77, 0xc2, 0xc0, 0xe5, + 0x32, 0x37, 0x5b, 0x82, 0x6c, 0xe3, 0x64, 0xbe, 0x00, 0xca, 0xd2, 0x39, + 0x1e, 0xab, 0xdf, 0x8e, 0xac, 0xb5, 0x98, 0x2c, 0x49, 0xa3, 0x3e, 0x69, + 0xda, 0x49, 0x85, 0xaa, 0x80, 0xf6, 0xf2, 0xe4, 0xf3, 0x7d, 0xca, 0x3f, + 0x3d, 0xe1, 0xb4, 0x3b, 0x0f, 0x73, 0xea, 0xe7, 0xee, 0x65, 0xa1, 0x06, + 0x53, 0xaf, 0x33, 0xac, +}; +static const struct drbg_kat_no_reseed kat1075_t = { + 9, kat1075_entropyin, kat1075_nonce, kat1075_persstr, + kat1075_addin0, kat1075_addin1, kat1075_retbits +}; +static const struct drbg_kat kat1075 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1075_t +}; + +static const unsigned char kat1076_entropyin[] = { + 0x45, 0x5a, 0xa0, 0x04, 0xe9, 0x22, 0x4e, 0xaa, 0x70, 0x0b, 0xef, 0xee, + 0xe5, 0x2f, 0x6a, 0x7b, 0x1a, 0x1d, 0xf7, 0x9b, 0x0b, 0xb2, 0x1b, 0x7a, + 0x71, 0xd3, 0xc5, 0x32, 0xc3, 0x7d, 0xd7, 0x1b, 0x14, 0x35, 0xd9, 0x07, + 0x6a, 0x49, 0x17, 0x95, +}; +static const unsigned char kat1076_nonce[] = {0}; +static const unsigned char kat1076_persstr[] = { + 0x78, 0x06, 0xdc, 0x9b, 0x9c, 0xec, 0xbc, 0xa2, 0xeb, 0x7a, 0x8f, 0xc1, + 0x9a, 0xb5, 0x39, 0x63, 0x58, 0x6e, 0x70, 0xaf, 0x48, 0x72, 0xee, 0x5c, + 0x39, 0x24, 0x98, 0xba, 0x86, 0x9a, 0xdd, 0xdf, 0xec, 0x44, 0xc0, 0xe4, + 0x2b, 0xc4, 0xe6, 0x0a, +}; +static const unsigned char kat1076_addin0[] = { + 0x28, 0xac, 0x9b, 0x8e, 0x22, 0x73, 0x55, 0x6c, 0xab, 0x94, 0xff, 0x66, + 0x5a, 0x3c, 0xf0, 0x60, 0xd4, 0x7f, 0xe9, 0x40, 0x63, 0xb7, 0x6b, 0xaf, + 0xde, 0xfa, 0x44, 0x8c, 0x71, 0xba, 0x18, 0x0f, 0xb7, 0x37, 0xb3, 0x05, + 0x9e, 0xad, 0x3f, 0xca, +}; +static const unsigned char kat1076_addin1[] = { + 0x61, 0xf8, 0x1f, 0x1f, 0x2a, 0xb6, 0xdb, 0x27, 0xf2, 0xe7, 0x9f, 0xfb, + 0xc2, 0x47, 0xe3, 0xfb, 0x39, 0x4a, 0x54, 0xff, 0x2e, 0x44, 0x86, 0xe1, + 0x6b, 0x03, 0xd5, 0x78, 0xbb, 0xf9, 0xc5, 0xc9, 0x74, 0x00, 0x21, 0x52, + 0x1b, 0x59, 0xdd, 0x0d, +}; +static const unsigned char kat1076_retbits[] = { + 0xab, 0xf4, 0xd8, 0x28, 0x71, 0xe2, 0xa9, 0xd5, 0xd2, 0xf7, 0xdb, 0x1b, + 0xe6, 0xb2, 0xa1, 0xf2, 0x3c, 0x65, 0x17, 0x91, 0xd8, 0x73, 0x1c, 0xef, + 0x4d, 0x10, 0x5c, 0x29, 0x33, 0x86, 0x2f, 0x16, 0x16, 0xe1, 0x95, 0x16, + 0x61, 0x37, 0xb1, 0x4b, 0x0b, 0xde, 0xc9, 0x3e, 0xe2, 0x98, 0x8d, 0xac, + 0x89, 0xe0, 0xcd, 0x5a, 0x79, 0xea, 0x7e, 0x0e, 0xa3, 0xbe, 0xe7, 0x0a, + 0xa0, 0xc0, 0xc1, 0xf7, +}; +static const struct drbg_kat_no_reseed kat1076_t = { + 10, kat1076_entropyin, kat1076_nonce, kat1076_persstr, + kat1076_addin0, kat1076_addin1, kat1076_retbits +}; +static const struct drbg_kat kat1076 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1076_t +}; + +static const unsigned char kat1077_entropyin[] = { + 0xaa, 0x12, 0x44, 0x80, 0x5e, 0x22, 0x6d, 0x9b, 0xb4, 0xf0, 0x8c, 0xc6, + 0x8d, 0x5a, 0x82, 0x07, 0x48, 0x08, 0xee, 0x5b, 0x71, 0x8e, 0xdc, 0x65, + 0x64, 0x37, 0x65, 0x48, 0x81, 0x7a, 0x12, 0x80, 0x13, 0x24, 0xfb, 0x9d, + 0x48, 0xf9, 0x50, 0xb3, +}; +static const unsigned char kat1077_nonce[] = {0}; +static const unsigned char kat1077_persstr[] = { + 0xd0, 0x82, 0xe8, 0xd5, 0x76, 0x6d, 0x36, 0x95, 0x7a, 0x3f, 0x2f, 0x7e, + 0xbe, 0x16, 0x6c, 0x12, 0x31, 0x5a, 0x28, 0xe5, 0x6d, 0xff, 0xb8, 0xd2, + 0xb4, 0xc8, 0x6a, 0xb2, 0x43, 0x9c, 0x23, 0xf4, 0xb7, 0xb0, 0x99, 0x12, + 0x48, 0xcc, 0xaf, 0xdf, +}; +static const unsigned char kat1077_addin0[] = { + 0x63, 0xfc, 0xfe, 0x9a, 0x28, 0x6c, 0x7e, 0xfa, 0xd0, 0x8e, 0x02, 0x1c, + 0x03, 0x3a, 0x67, 0x84, 0xa8, 0x92, 0x55, 0xf7, 0x6f, 0x3e, 0x41, 0xd2, + 0x3c, 0xb0, 0xcf, 0x15, 0xb4, 0x33, 0x47, 0xa8, 0xa1, 0xae, 0x95, 0x3c, + 0x07, 0xbb, 0x68, 0x30, +}; +static const unsigned char kat1077_addin1[] = { + 0xf6, 0xa8, 0xa7, 0xc5, 0x70, 0x73, 0xd2, 0x89, 0x95, 0xc3, 0x41, 0x2f, + 0xce, 0x59, 0x7c, 0x67, 0xca, 0xa8, 0xc8, 0xc0, 0x73, 0x45, 0xbd, 0x5e, + 0x42, 0xb9, 0x91, 0x62, 0x4f, 0xc2, 0x68, 0x88, 0xf8, 0xed, 0xbe, 0xab, + 0xaa, 0x71, 0xf6, 0x3e, +}; +static const unsigned char kat1077_retbits[] = { + 0x19, 0x5b, 0x9b, 0x0a, 0x08, 0xab, 0x0e, 0xe5, 0x82, 0x4e, 0x39, 0xf9, + 0x22, 0x78, 0xef, 0x06, 0xe4, 0x62, 0x9d, 0x50, 0x45, 0x15, 0xb5, 0xb8, + 0x89, 0x6b, 0xe8, 0x7c, 0xaf, 0xd4, 0xe7, 0xcc, 0xf9, 0xa5, 0xb1, 0x84, + 0x4d, 0xb2, 0x78, 0xe1, 0x09, 0x09, 0x6d, 0x84, 0x8d, 0xa5, 0xa9, 0xf0, + 0x74, 0xd5, 0x93, 0x55, 0xbe, 0xa5, 0x02, 0x57, 0x08, 0xe0, 0x3f, 0xe6, + 0x95, 0x1c, 0xf7, 0xbf, +}; +static const struct drbg_kat_no_reseed kat1077_t = { + 11, kat1077_entropyin, kat1077_nonce, kat1077_persstr, + kat1077_addin0, kat1077_addin1, kat1077_retbits +}; +static const struct drbg_kat kat1077 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1077_t +}; + +static const unsigned char kat1078_entropyin[] = { + 0x0f, 0xa2, 0xcf, 0x0e, 0xe2, 0xa8, 0xf5, 0x85, 0xfd, 0x8e, 0xd9, 0xdf, + 0xfc, 0x39, 0x75, 0xe7, 0x1c, 0x2e, 0x35, 0x47, 0xb1, 0xe7, 0xa0, 0xbe, + 0x40, 0xff, 0xfc, 0x25, 0xe2, 0x72, 0x23, 0x4a, 0x61, 0x55, 0x6d, 0x2b, + 0x8d, 0xe4, 0x4f, 0x45, +}; +static const unsigned char kat1078_nonce[] = {0}; +static const unsigned char kat1078_persstr[] = { + 0xef, 0x3c, 0x20, 0xa9, 0x0c, 0xfe, 0x29, 0xfc, 0xb7, 0x8c, 0xd7, 0x02, + 0x3b, 0xad, 0xee, 0xdd, 0xa4, 0xcd, 0xbe, 0xd5, 0x6e, 0x86, 0x77, 0x73, + 0x76, 0xcf, 0x26, 0x72, 0x4c, 0xa1, 0x7f, 0x8b, 0x1a, 0x3f, 0x4b, 0x7f, + 0xce, 0xab, 0x46, 0x5b, +}; +static const unsigned char kat1078_addin0[] = { + 0x07, 0x70, 0x1f, 0x10, 0xbd, 0xd4, 0x44, 0x01, 0x51, 0x09, 0x9a, 0x38, + 0xdc, 0x34, 0xeb, 0x09, 0x32, 0x29, 0xfc, 0x40, 0x8c, 0x34, 0xd9, 0xb7, + 0xa2, 0x65, 0x48, 0xdd, 0x6d, 0x71, 0x4f, 0xa5, 0xbe, 0xac, 0x1d, 0xfb, + 0x6e, 0x6d, 0xcb, 0x84, +}; +static const unsigned char kat1078_addin1[] = { + 0x3d, 0x41, 0xf6, 0x28, 0x52, 0x08, 0x2c, 0xf1, 0x75, 0x35, 0xb6, 0xe8, + 0x52, 0x98, 0x3b, 0x3e, 0x64, 0xcc, 0x95, 0xfa, 0x51, 0xf8, 0x64, 0x68, + 0x19, 0x69, 0x69, 0x01, 0x88, 0xd0, 0xfd, 0x24, 0x60, 0x10, 0x29, 0x03, + 0x99, 0xa6, 0x87, 0x1a, +}; +static const unsigned char kat1078_retbits[] = { + 0x61, 0x1e, 0x25, 0x3b, 0x08, 0x5e, 0x5b, 0x30, 0x0f, 0xdd, 0x37, 0x30, + 0x24, 0xa1, 0xa4, 0x40, 0xce, 0x7c, 0x74, 0x49, 0xd3, 0xdb, 0xfe, 0x8f, + 0xa8, 0x9d, 0x81, 0x8c, 0xd0, 0x4e, 0x7a, 0x06, 0x46, 0xcb, 0xa5, 0xe1, + 0xe4, 0xab, 0x97, 0xc3, 0x9a, 0x5b, 0x12, 0x99, 0x81, 0xc2, 0xb1, 0xb3, + 0x00, 0x2a, 0xe3, 0x2f, 0x0f, 0xf8, 0x49, 0x99, 0xc1, 0xf7, 0xb5, 0xac, + 0xfb, 0xaf, 0x8e, 0x57, +}; +static const struct drbg_kat_no_reseed kat1078_t = { + 12, kat1078_entropyin, kat1078_nonce, kat1078_persstr, + kat1078_addin0, kat1078_addin1, kat1078_retbits +}; +static const struct drbg_kat kat1078 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1078_t +}; + +static const unsigned char kat1079_entropyin[] = { + 0x08, 0x13, 0x48, 0x20, 0xc6, 0xdb, 0x2b, 0x51, 0x11, 0xff, 0x6b, 0xcc, + 0xcc, 0x69, 0x75, 0x8a, 0x5d, 0x75, 0x0a, 0xf0, 0xd1, 0x14, 0x4e, 0xd5, + 0xab, 0x80, 0x05, 0x55, 0xb6, 0x31, 0xd0, 0xc1, 0xb3, 0xd8, 0x19, 0x2e, + 0x07, 0x5a, 0xa3, 0x80, +}; +static const unsigned char kat1079_nonce[] = {0}; +static const unsigned char kat1079_persstr[] = { + 0xb4, 0xda, 0x34, 0x29, 0x61, 0xaa, 0x4b, 0x9b, 0x5f, 0xdd, 0xd9, 0x49, + 0x05, 0xc3, 0x1c, 0xf6, 0xf3, 0x2c, 0x14, 0x2c, 0x92, 0xb6, 0xde, 0x6e, + 0xb8, 0x2b, 0xd5, 0x8c, 0xfe, 0x3f, 0x7d, 0x66, 0x6a, 0x3f, 0x6f, 0xd7, + 0x4c, 0x2c, 0x80, 0x82, +}; +static const unsigned char kat1079_addin0[] = { + 0x0e, 0x2a, 0xb9, 0x61, 0x5b, 0x07, 0xd3, 0xee, 0xb9, 0x93, 0xa4, 0xea, + 0x1d, 0x34, 0xe5, 0xc1, 0x6b, 0xf5, 0xc2, 0x87, 0x77, 0x30, 0xfa, 0x32, + 0x94, 0x3c, 0xf3, 0x78, 0x37, 0xa9, 0x29, 0xd2, 0x25, 0x47, 0x9d, 0x0e, + 0x47, 0xbd, 0x8b, 0xd8, +}; +static const unsigned char kat1079_addin1[] = { + 0xa5, 0x0e, 0xb3, 0x73, 0x39, 0x14, 0x55, 0xe2, 0x33, 0x82, 0xa8, 0xff, + 0xab, 0xcf, 0xf1, 0x1d, 0xd4, 0x1b, 0x36, 0xe1, 0x1a, 0x6a, 0x36, 0x45, + 0xf4, 0xbf, 0xef, 0xd2, 0x67, 0xa7, 0xcd, 0x80, 0xd3, 0x78, 0x39, 0xc8, + 0xf7, 0x04, 0xb8, 0xc5, +}; +static const unsigned char kat1079_retbits[] = { + 0x6a, 0xba, 0x01, 0x66, 0x0a, 0xac, 0xcb, 0x5f, 0x5f, 0xd3, 0x2f, 0xb6, + 0xa5, 0x41, 0xcb, 0x3b, 0x85, 0xd0, 0xaa, 0xba, 0x47, 0x6c, 0x63, 0x96, + 0x2d, 0xa4, 0x89, 0xee, 0xa9, 0x44, 0x7d, 0x7c, 0x3c, 0x11, 0x59, 0x60, + 0x8c, 0x0a, 0x64, 0x7d, 0x64, 0x16, 0x48, 0x56, 0x68, 0xec, 0x3a, 0xbc, + 0x4b, 0x22, 0xa9, 0x19, 0xca, 0xdf, 0x5e, 0x8c, 0x87, 0xe9, 0xf3, 0x59, + 0x0a, 0xc5, 0x8a, 0xa8, +}; +static const struct drbg_kat_no_reseed kat1079_t = { + 13, kat1079_entropyin, kat1079_nonce, kat1079_persstr, + kat1079_addin0, kat1079_addin1, kat1079_retbits +}; +static const struct drbg_kat kat1079 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1079_t +}; + +static const unsigned char kat1080_entropyin[] = { + 0x41, 0xff, 0x15, 0x6a, 0xc9, 0x1b, 0xb7, 0xed, 0x33, 0xa4, 0x46, 0x5d, + 0x08, 0xa1, 0x5f, 0x10, 0x46, 0xea, 0x01, 0x42, 0x62, 0xcc, 0xc0, 0xe2, + 0xdd, 0x7a, 0x99, 0x9e, 0x27, 0x63, 0x2e, 0xad, 0x96, 0x77, 0x51, 0x1d, + 0x93, 0x63, 0x29, 0xc5, +}; +static const unsigned char kat1080_nonce[] = {0}; +static const unsigned char kat1080_persstr[] = { + 0x39, 0xb8, 0xee, 0x59, 0x82, 0x18, 0x58, 0xdc, 0xb8, 0x9c, 0x0f, 0x9d, + 0xa6, 0xd7, 0x98, 0xf9, 0x25, 0xac, 0xba, 0xad, 0x0d, 0xd2, 0xa9, 0x0b, + 0x1a, 0xe6, 0x33, 0x4c, 0x4e, 0x4b, 0xad, 0xd3, 0x80, 0x43, 0xe7, 0x0d, + 0xe7, 0x46, 0xdb, 0xdc, +}; +static const unsigned char kat1080_addin0[] = { + 0x6c, 0xff, 0x75, 0x28, 0xb8, 0x43, 0xb2, 0xef, 0xb4, 0x03, 0x36, 0xbd, + 0xca, 0xa9, 0x62, 0x9b, 0xe2, 0x72, 0x0b, 0xfa, 0x50, 0x9a, 0x33, 0x04, + 0x30, 0xc3, 0x6d, 0x59, 0x35, 0xe6, 0xec, 0x68, 0x56, 0x9c, 0xb6, 0x45, + 0x96, 0x71, 0xfc, 0x97, +}; +static const unsigned char kat1080_addin1[] = { + 0xe0, 0x84, 0x3c, 0xa3, 0x38, 0x5e, 0xd5, 0x5f, 0x56, 0xd5, 0x13, 0x43, + 0xdd, 0x71, 0x8d, 0xbd, 0x1a, 0x37, 0x05, 0xd7, 0xb8, 0xa3, 0xa5, 0xcb, + 0x7b, 0x95, 0x5c, 0x90, 0x70, 0xef, 0x1f, 0xaf, 0x74, 0x38, 0x2a, 0x91, + 0x30, 0xa6, 0x80, 0x3c, +}; +static const unsigned char kat1080_retbits[] = { + 0x90, 0x52, 0xa7, 0x5e, 0xb2, 0x25, 0xac, 0x75, 0x22, 0xcb, 0x14, 0x12, + 0x45, 0xe0, 0x59, 0x2a, 0x33, 0x4c, 0xdc, 0x8e, 0x19, 0x4f, 0x52, 0x49, + 0xa5, 0x84, 0x3e, 0x6e, 0xfb, 0x63, 0x98, 0xdb, 0x1b, 0x8a, 0xe9, 0x7a, + 0x15, 0x82, 0x9e, 0xfa, 0x46, 0x85, 0xcb, 0x4f, 0x14, 0x35, 0xd0, 0x22, + 0x42, 0x4c, 0xc7, 0x85, 0x4d, 0x34, 0x74, 0x3b, 0xb2, 0xd8, 0x61, 0x86, + 0x6f, 0xff, 0x51, 0xc1, +}; +static const struct drbg_kat_no_reseed kat1080_t = { + 14, kat1080_entropyin, kat1080_nonce, kat1080_persstr, + kat1080_addin0, kat1080_addin1, kat1080_retbits +}; +static const struct drbg_kat kat1080 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1080_t +}; + +static const unsigned char kat1081_entropyin[] = { + 0x40, 0x97, 0x88, 0x36, 0xf2, 0x3c, 0xdb, 0x54, 0x5a, 0x48, 0x89, 0x39, + 0x26, 0xa0, 0xdd, 0x81, 0x0f, 0x79, 0x19, 0xf1, 0x22, 0x14, 0x56, 0x7b, + 0xd8, 0x9f, 0x21, 0x87, 0x61, 0x9b, 0xae, 0x46, 0x98, 0xb4, 0x07, 0x00, + 0x27, 0xa3, 0xfd, 0xa7, +}; +static const unsigned char kat1081_nonce[] = {0}; +static const unsigned char kat1081_persstr[] = {0}; +static const unsigned char kat1081_addin0[] = {0}; +static const unsigned char kat1081_addin1[] = {0}; +static const unsigned char kat1081_retbits[] = { + 0xe5, 0x8a, 0xa7, 0xfa, 0x7f, 0x63, 0x9a, 0x9d, 0x14, 0xc6, 0x7a, 0xbe, + 0xb2, 0xca, 0x52, 0xdc, 0x04, 0xa0, 0x6e, 0x4c, 0xe8, 0xce, 0x18, 0xfc, + 0x71, 0x37, 0x5a, 0x1a, 0xa2, 0x17, 0xdb, 0x17, 0x26, 0x6f, 0xe0, 0xeb, + 0xe1, 0x5d, 0xc1, 0x3d, 0x35, 0x2a, 0xf0, 0x4d, 0x56, 0x8e, 0x80, 0xf3, + 0xba, 0x76, 0xde, 0x25, 0x7e, 0xc7, 0xba, 0xd0, 0xb1, 0x25, 0xa9, 0x1f, + 0xe1, 0x7e, 0x87, 0xd0, +}; +static const struct drbg_kat_no_reseed kat1081_t = { + 0, kat1081_entropyin, kat1081_nonce, kat1081_persstr, + kat1081_addin0, kat1081_addin1, kat1081_retbits +}; +static const struct drbg_kat kat1081 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1081_t +}; + +static const unsigned char kat1082_entropyin[] = { + 0x85, 0x2e, 0x1a, 0xd0, 0x7a, 0xa5, 0xd9, 0x77, 0xd7, 0x1e, 0xf3, 0x7a, + 0xc9, 0x35, 0x0e, 0xd7, 0x43, 0x53, 0x2a, 0x2d, 0xfe, 0xf5, 0xc4, 0xc6, + 0x96, 0xe6, 0x36, 0x31, 0x22, 0xf8, 0x4e, 0x13, 0xed, 0x1d, 0x7e, 0xa1, + 0xa1, 0xa0, 0x4c, 0xea, +}; +static const unsigned char kat1082_nonce[] = {0}; +static const unsigned char kat1082_persstr[] = {0}; +static const unsigned char kat1082_addin0[] = {0}; +static const unsigned char kat1082_addin1[] = {0}; +static const unsigned char kat1082_retbits[] = { + 0x7e, 0x9a, 0x5c, 0xf9, 0x9a, 0xb4, 0xd4, 0x36, 0x04, 0x86, 0x39, 0xf5, + 0x4d, 0xb7, 0xde, 0x46, 0x7f, 0x04, 0x10, 0x7a, 0xaf, 0x2f, 0xd5, 0x82, + 0x43, 0xac, 0x57, 0x38, 0x21, 0x23, 0x6a, 0x81, 0xa0, 0x6e, 0x03, 0x07, + 0xd3, 0x45, 0x5e, 0xac, 0x6e, 0x69, 0x1b, 0xe8, 0x24, 0x3d, 0xbc, 0x83, + 0xbb, 0xf5, 0xd5, 0xbb, 0x13, 0x1e, 0x4c, 0x67, 0x31, 0x93, 0xba, 0xf0, + 0x93, 0x81, 0xf6, 0x3b, +}; +static const struct drbg_kat_no_reseed kat1082_t = { + 1, kat1082_entropyin, kat1082_nonce, kat1082_persstr, + kat1082_addin0, kat1082_addin1, kat1082_retbits +}; +static const struct drbg_kat kat1082 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1082_t +}; + +static const unsigned char kat1083_entropyin[] = { + 0x53, 0x13, 0x9b, 0x71, 0x1c, 0xd6, 0x29, 0x70, 0xb6, 0x12, 0x3d, 0xc4, + 0x09, 0x70, 0xf3, 0x0c, 0xd0, 0x3d, 0x98, 0x63, 0xe7, 0x8a, 0x3d, 0x05, + 0xeb, 0xc4, 0xd9, 0x3a, 0xfc, 0x92, 0xd6, 0x6c, 0x4e, 0x67, 0xb6, 0x15, + 0x12, 0x64, 0xf2, 0x2e, +}; +static const unsigned char kat1083_nonce[] = {0}; +static const unsigned char kat1083_persstr[] = {0}; +static const unsigned char kat1083_addin0[] = {0}; +static const unsigned char kat1083_addin1[] = {0}; +static const unsigned char kat1083_retbits[] = { + 0xc1, 0x6d, 0x33, 0x7f, 0x97, 0xed, 0x4c, 0x44, 0x58, 0x68, 0xea, 0x0d, + 0x63, 0xae, 0xe5, 0xa7, 0xec, 0x74, 0x8a, 0x22, 0xf1, 0x6b, 0xa6, 0x11, + 0xe2, 0x2b, 0x9c, 0x03, 0x50, 0x67, 0x17, 0xa2, 0x9e, 0x00, 0xbb, 0x56, + 0xac, 0x86, 0x5e, 0xb1, 0x96, 0xe2, 0x87, 0x4b, 0xbc, 0xe6, 0x8e, 0x88, + 0x4e, 0xd9, 0x70, 0x23, 0xa0, 0xbd, 0x97, 0xcc, 0x3f, 0xb1, 0x17, 0xc9, + 0x1b, 0x55, 0xaa, 0xd6, +}; +static const struct drbg_kat_no_reseed kat1083_t = { + 2, kat1083_entropyin, kat1083_nonce, kat1083_persstr, + kat1083_addin0, kat1083_addin1, kat1083_retbits +}; +static const struct drbg_kat kat1083 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1083_t +}; + +static const unsigned char kat1084_entropyin[] = { + 0xc4, 0x27, 0xba, 0x92, 0xc6, 0xec, 0xbf, 0x09, 0xea, 0x50, 0x2b, 0x8b, + 0xdf, 0x5f, 0xcd, 0xe3, 0xdf, 0x79, 0xef, 0xcf, 0x80, 0xd0, 0x0d, 0x31, + 0x19, 0x7a, 0x48, 0xe3, 0x8d, 0xd1, 0xdb, 0x04, 0x3d, 0x44, 0xfe, 0x5b, + 0x1b, 0x53, 0x5e, 0x82, +}; +static const unsigned char kat1084_nonce[] = {0}; +static const unsigned char kat1084_persstr[] = {0}; +static const unsigned char kat1084_addin0[] = {0}; +static const unsigned char kat1084_addin1[] = {0}; +static const unsigned char kat1084_retbits[] = { + 0xce, 0xca, 0x2b, 0x90, 0xc9, 0x42, 0x1b, 0x71, 0x6f, 0xe6, 0xab, 0xfd, + 0x08, 0x65, 0x79, 0x5c, 0xec, 0xc2, 0x07, 0xb7, 0xe4, 0x2e, 0xae, 0xf2, + 0xd9, 0xcd, 0x61, 0xec, 0x83, 0x3b, 0x94, 0x61, 0x51, 0x3a, 0x62, 0x0b, + 0x58, 0x08, 0x21, 0x6f, 0x78, 0x3b, 0x56, 0x45, 0x03, 0x2c, 0x00, 0xac, + 0x62, 0x75, 0xbc, 0xbe, 0x60, 0x9c, 0xaa, 0x31, 0x86, 0xb1, 0xd4, 0xa3, + 0x9d, 0x5a, 0x99, 0x02, +}; +static const struct drbg_kat_no_reseed kat1084_t = { + 3, kat1084_entropyin, kat1084_nonce, kat1084_persstr, + kat1084_addin0, kat1084_addin1, kat1084_retbits +}; +static const struct drbg_kat kat1084 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1084_t +}; + +static const unsigned char kat1085_entropyin[] = { + 0x08, 0x38, 0xfa, 0x42, 0x28, 0xcb, 0x87, 0xa5, 0xd2, 0x55, 0x6b, 0xe9, + 0x4c, 0x25, 0x7f, 0xfd, 0xb9, 0xbf, 0xa6, 0x52, 0x90, 0xdf, 0xf3, 0x3d, + 0x3b, 0x7f, 0xab, 0x98, 0x21, 0x68, 0x4a, 0xf1, 0x5a, 0x06, 0xc2, 0x83, + 0xf0, 0xdc, 0x3e, 0xc9, +}; +static const unsigned char kat1085_nonce[] = {0}; +static const unsigned char kat1085_persstr[] = {0}; +static const unsigned char kat1085_addin0[] = {0}; +static const unsigned char kat1085_addin1[] = {0}; +static const unsigned char kat1085_retbits[] = { + 0xa1, 0x70, 0x04, 0xa3, 0xe6, 0x09, 0x21, 0x90, 0x72, 0x9d, 0x86, 0xd8, + 0xcd, 0xcb, 0xb9, 0xa9, 0xe8, 0xd5, 0x24, 0x5f, 0x23, 0x8f, 0xf6, 0x93, + 0xf6, 0x63, 0x37, 0xe4, 0xa7, 0xb1, 0x7a, 0xb8, 0xb1, 0x3c, 0xa1, 0x3c, + 0x69, 0x6f, 0xe4, 0x64, 0x55, 0x73, 0x81, 0x7e, 0x05, 0x40, 0xc5, 0xf4, + 0xe7, 0x4a, 0x4a, 0xde, 0x17, 0xe8, 0x1e, 0xd8, 0x12, 0xa5, 0x88, 0x21, + 0xcf, 0xdf, 0xb9, 0x00, +}; +static const struct drbg_kat_no_reseed kat1085_t = { + 4, kat1085_entropyin, kat1085_nonce, kat1085_persstr, + kat1085_addin0, kat1085_addin1, kat1085_retbits +}; +static const struct drbg_kat kat1085 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1085_t +}; + +static const unsigned char kat1086_entropyin[] = { + 0xd5, 0xf5, 0x0d, 0xc6, 0x70, 0x8b, 0xd3, 0x89, 0x97, 0x39, 0xcf, 0xdd, + 0xe9, 0x5d, 0x9f, 0x41, 0x44, 0xf9, 0x18, 0xe4, 0x93, 0x9a, 0x5d, 0x7a, + 0x28, 0x8f, 0x1b, 0x35, 0x73, 0x3d, 0x5a, 0x96, 0x88, 0x23, 0x96, 0x9f, + 0x3f, 0x42, 0x0f, 0xf0, +}; +static const unsigned char kat1086_nonce[] = {0}; +static const unsigned char kat1086_persstr[] = {0}; +static const unsigned char kat1086_addin0[] = {0}; +static const unsigned char kat1086_addin1[] = {0}; +static const unsigned char kat1086_retbits[] = { + 0x6c, 0xea, 0x50, 0x6c, 0x3a, 0xe4, 0xf8, 0xfa, 0xd3, 0x6e, 0xdb, 0x01, + 0x8c, 0x26, 0x8e, 0x2d, 0x25, 0x4d, 0xe7, 0xfb, 0xbe, 0x32, 0xa5, 0x00, + 0xd4, 0x31, 0x35, 0x29, 0xdf, 0x16, 0x8f, 0x3d, 0x15, 0xc7, 0xcb, 0xd2, + 0xd9, 0x80, 0xee, 0x04, 0xd2, 0x95, 0x24, 0x22, 0x49, 0xc7, 0x19, 0xe8, + 0x0d, 0x4e, 0x55, 0xb4, 0x7f, 0x54, 0xe3, 0x14, 0x0b, 0x23, 0xe6, 0x1e, + 0xaa, 0xcc, 0x67, 0xb0, +}; +static const struct drbg_kat_no_reseed kat1086_t = { + 5, kat1086_entropyin, kat1086_nonce, kat1086_persstr, + kat1086_addin0, kat1086_addin1, kat1086_retbits +}; +static const struct drbg_kat kat1086 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1086_t +}; + +static const unsigned char kat1087_entropyin[] = { + 0x37, 0x18, 0x1f, 0xd5, 0x41, 0xda, 0x6c, 0x06, 0x78, 0xd0, 0x58, 0xf4, + 0x86, 0xdf, 0x84, 0x2b, 0x36, 0xb5, 0x68, 0x73, 0xa7, 0x08, 0x80, 0xae, + 0x4a, 0xf1, 0xcb, 0x58, 0x60, 0x23, 0xe2, 0x31, 0x04, 0x1d, 0xe0, 0x2e, + 0xf2, 0xa2, 0x92, 0x4b, +}; +static const unsigned char kat1087_nonce[] = {0}; +static const unsigned char kat1087_persstr[] = {0}; +static const unsigned char kat1087_addin0[] = {0}; +static const unsigned char kat1087_addin1[] = {0}; +static const unsigned char kat1087_retbits[] = { + 0x72, 0x3b, 0x05, 0x21, 0xbb, 0x53, 0x48, 0xbf, 0x6e, 0xcc, 0xbd, 0xf0, + 0xa4, 0xd1, 0x6d, 0xec, 0xe4, 0x72, 0xa2, 0xbf, 0xfb, 0xf9, 0x05, 0x03, + 0x5e, 0x0e, 0x62, 0xad, 0x30, 0x4b, 0xbb, 0x07, 0xc5, 0x3a, 0xd4, 0x49, + 0x88, 0xc5, 0xc6, 0x53, 0x60, 0x30, 0x52, 0xf4, 0xd8, 0xd4, 0x41, 0xfa, + 0x88, 0x1d, 0x2d, 0xbf, 0xa6, 0x7b, 0x96, 0x8e, 0x77, 0xa4, 0x68, 0xf9, + 0xfb, 0x66, 0xf7, 0x8d, +}; +static const struct drbg_kat_no_reseed kat1087_t = { + 6, kat1087_entropyin, kat1087_nonce, kat1087_persstr, + kat1087_addin0, kat1087_addin1, kat1087_retbits +}; +static const struct drbg_kat kat1087 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1087_t +}; + +static const unsigned char kat1088_entropyin[] = { + 0x11, 0x8f, 0x6e, 0xa3, 0x24, 0x83, 0x13, 0x2a, 0x52, 0x59, 0xb8, 0x28, + 0xc0, 0xf2, 0x99, 0x9d, 0xcf, 0x3c, 0x24, 0xe5, 0x00, 0x12, 0xe9, 0xd6, + 0xa5, 0xca, 0x86, 0x6d, 0x15, 0x43, 0x1e, 0xc7, 0xd0, 0x9c, 0x35, 0xe2, + 0xcf, 0xe2, 0xbb, 0xd6, +}; +static const unsigned char kat1088_nonce[] = {0}; +static const unsigned char kat1088_persstr[] = {0}; +static const unsigned char kat1088_addin0[] = {0}; +static const unsigned char kat1088_addin1[] = {0}; +static const unsigned char kat1088_retbits[] = { + 0xe9, 0x94, 0x06, 0x3d, 0x1a, 0x66, 0x83, 0xa2, 0x6e, 0x21, 0x3c, 0x6c, + 0x29, 0x08, 0xae, 0x89, 0x64, 0xa1, 0xe4, 0x94, 0x77, 0x9e, 0x30, 0xc9, + 0x77, 0xc9, 0xee, 0x7b, 0xed, 0x60, 0x44, 0x9f, 0xa3, 0xc2, 0x8c, 0xb3, + 0x0a, 0x92, 0xe7, 0xf2, 0x87, 0x71, 0xc6, 0xa6, 0x72, 0x78, 0x9c, 0xaa, + 0x73, 0x9f, 0x05, 0xb5, 0x81, 0xd7, 0x18, 0xd8, 0x64, 0xbd, 0x22, 0x02, + 0x8e, 0x41, 0x9e, 0xef, +}; +static const struct drbg_kat_no_reseed kat1088_t = { + 7, kat1088_entropyin, kat1088_nonce, kat1088_persstr, + kat1088_addin0, kat1088_addin1, kat1088_retbits +}; +static const struct drbg_kat kat1088 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1088_t +}; + +static const unsigned char kat1089_entropyin[] = { + 0xf1, 0x87, 0x49, 0x0e, 0xba, 0xec, 0x72, 0xe6, 0x85, 0x0a, 0xe2, 0xe8, + 0xe9, 0x40, 0xc0, 0x69, 0x04, 0x0f, 0x89, 0xe1, 0x9b, 0x4d, 0x91, 0x93, + 0xc2, 0x27, 0xa8, 0x1b, 0x98, 0xa4, 0xce, 0x4e, 0xd0, 0x0b, 0x2a, 0x3a, + 0x9e, 0xfd, 0x00, 0xb7, +}; +static const unsigned char kat1089_nonce[] = {0}; +static const unsigned char kat1089_persstr[] = {0}; +static const unsigned char kat1089_addin0[] = {0}; +static const unsigned char kat1089_addin1[] = {0}; +static const unsigned char kat1089_retbits[] = { + 0xd6, 0x4c, 0x92, 0xc8, 0x64, 0xdc, 0x6f, 0x7c, 0xfe, 0xab, 0x50, 0x9b, + 0xd5, 0x1c, 0x73, 0x66, 0xab, 0x54, 0x68, 0x26, 0xa5, 0x31, 0xba, 0x31, + 0x51, 0x43, 0x91, 0xf1, 0x1d, 0x97, 0x60, 0xd4, 0x77, 0xc7, 0xec, 0x39, + 0x01, 0xc4, 0xd1, 0x54, 0x1a, 0x70, 0x3a, 0xdc, 0xc2, 0x52, 0x63, 0x25, + 0x7f, 0x3e, 0x5b, 0xbe, 0xca, 0xa5, 0x9b, 0x61, 0x8c, 0x1b, 0x4a, 0x1d, + 0xf8, 0x82, 0x06, 0x6b, +}; +static const struct drbg_kat_no_reseed kat1089_t = { + 8, kat1089_entropyin, kat1089_nonce, kat1089_persstr, + kat1089_addin0, kat1089_addin1, kat1089_retbits +}; +static const struct drbg_kat kat1089 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1089_t +}; + +static const unsigned char kat1090_entropyin[] = { + 0x9e, 0x26, 0x4d, 0x7e, 0xe3, 0x5b, 0x20, 0xfe, 0x27, 0x41, 0x16, 0x92, + 0x01, 0x32, 0x16, 0x7f, 0xd3, 0xb9, 0x5d, 0xdf, 0x6a, 0x2b, 0xf8, 0x36, + 0x89, 0x79, 0x99, 0xe8, 0x75, 0xa7, 0xdb, 0xb0, 0xac, 0x52, 0x02, 0xbf, + 0x45, 0x30, 0xc9, 0x2e, +}; +static const unsigned char kat1090_nonce[] = {0}; +static const unsigned char kat1090_persstr[] = {0}; +static const unsigned char kat1090_addin0[] = {0}; +static const unsigned char kat1090_addin1[] = {0}; +static const unsigned char kat1090_retbits[] = { + 0x0f, 0x79, 0x82, 0xf5, 0x4e, 0x43, 0xab, 0xc5, 0x75, 0x11, 0x11, 0x4f, + 0x95, 0xd1, 0x03, 0xb7, 0xbd, 0xed, 0xf4, 0x11, 0x53, 0x64, 0x36, 0x0d, + 0x1c, 0x95, 0xdf, 0x04, 0xc4, 0xb4, 0x00, 0x83, 0x76, 0x74, 0xca, 0xe0, + 0x21, 0x2b, 0x77, 0x6c, 0x0b, 0xaa, 0x05, 0xd3, 0x42, 0x8d, 0x4f, 0xe3, + 0xfb, 0xa2, 0x8a, 0xab, 0x4f, 0xd3, 0x5a, 0x1e, 0x32, 0xfc, 0xc2, 0xb9, + 0x27, 0x8c, 0x11, 0xb0, +}; +static const struct drbg_kat_no_reseed kat1090_t = { + 9, kat1090_entropyin, kat1090_nonce, kat1090_persstr, + kat1090_addin0, kat1090_addin1, kat1090_retbits +}; +static const struct drbg_kat kat1090 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1090_t +}; + +static const unsigned char kat1091_entropyin[] = { + 0x21, 0x37, 0xf2, 0x91, 0xe5, 0x0f, 0xb5, 0xaa, 0x45, 0x9a, 0x2f, 0x00, + 0x17, 0xe1, 0x2f, 0x4d, 0x10, 0x7a, 0x03, 0x0a, 0x1f, 0x14, 0xff, 0x9a, + 0xc3, 0x30, 0x35, 0xd0, 0xcb, 0xba, 0xe0, 0xce, 0x79, 0x10, 0xfa, 0x7e, + 0x86, 0xd7, 0x0c, 0xff, +}; +static const unsigned char kat1091_nonce[] = {0}; +static const unsigned char kat1091_persstr[] = {0}; +static const unsigned char kat1091_addin0[] = {0}; +static const unsigned char kat1091_addin1[] = {0}; +static const unsigned char kat1091_retbits[] = { + 0x6f, 0x78, 0x50, 0xa6, 0x76, 0x2e, 0xaf, 0x49, 0xbb, 0x93, 0xc1, 0x2f, + 0xd1, 0xf2, 0xb6, 0x2f, 0x24, 0xfd, 0x21, 0x7e, 0x0c, 0xb2, 0x9e, 0x73, + 0xac, 0x6e, 0x93, 0x20, 0xb5, 0x9c, 0x2c, 0xb5, 0xcd, 0x4b, 0x02, 0xa4, + 0xac, 0x99, 0xcb, 0xe6, 0x5e, 0x3a, 0x12, 0x2d, 0x69, 0xef, 0xd5, 0xa8, + 0x6f, 0x4d, 0xf4, 0x66, 0x68, 0xdb, 0xb8, 0x4b, 0x14, 0x50, 0x88, 0xec, + 0x72, 0x67, 0x1f, 0x32, +}; +static const struct drbg_kat_no_reseed kat1091_t = { + 10, kat1091_entropyin, kat1091_nonce, kat1091_persstr, + kat1091_addin0, kat1091_addin1, kat1091_retbits +}; +static const struct drbg_kat kat1091 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1091_t +}; + +static const unsigned char kat1092_entropyin[] = { + 0xc4, 0xe3, 0x4b, 0xeb, 0x50, 0x14, 0x3a, 0x19, 0x1d, 0x07, 0x5d, 0x2b, + 0x51, 0x0d, 0xdf, 0xd9, 0xf8, 0x07, 0xf4, 0x98, 0xf1, 0x86, 0x3c, 0x96, + 0xff, 0x08, 0xb4, 0x1b, 0x0c, 0xe2, 0x86, 0xc8, 0xf2, 0x18, 0x0a, 0xfe, + 0x8b, 0xbf, 0x97, 0x3e, +}; +static const unsigned char kat1092_nonce[] = {0}; +static const unsigned char kat1092_persstr[] = {0}; +static const unsigned char kat1092_addin0[] = {0}; +static const unsigned char kat1092_addin1[] = {0}; +static const unsigned char kat1092_retbits[] = { + 0xe1, 0x9f, 0xbe, 0xe2, 0xe7, 0xe5, 0xed, 0x55, 0x3c, 0x40, 0x9e, 0x60, + 0x99, 0x8a, 0xa4, 0xcf, 0x6d, 0xe6, 0x55, 0x71, 0xa8, 0x78, 0x4c, 0x0c, + 0xda, 0xdc, 0x80, 0xde, 0x2f, 0x8b, 0x90, 0xa3, 0xa0, 0xb5, 0x21, 0x2c, + 0x8b, 0xaa, 0xaa, 0xb4, 0x1c, 0x95, 0x55, 0x4c, 0x4a, 0x61, 0x68, 0x85, + 0x19, 0xd7, 0x59, 0x76, 0x9c, 0xbd, 0x64, 0xf6, 0x41, 0x17, 0x3f, 0x51, + 0x34, 0x27, 0x15, 0xdf, +}; +static const struct drbg_kat_no_reseed kat1092_t = { + 11, kat1092_entropyin, kat1092_nonce, kat1092_persstr, + kat1092_addin0, kat1092_addin1, kat1092_retbits +}; +static const struct drbg_kat kat1092 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1092_t +}; + +static const unsigned char kat1093_entropyin[] = { + 0x5c, 0x3b, 0xa5, 0x23, 0x0b, 0xc7, 0x13, 0xc4, 0x91, 0xb7, 0xe1, 0x84, + 0x95, 0x50, 0xc3, 0x5c, 0x5e, 0x89, 0x25, 0xdd, 0xc0, 0x36, 0x40, 0x73, + 0x59, 0x66, 0xb1, 0x95, 0x42, 0x3d, 0x17, 0xbc, 0x73, 0xf7, 0x55, 0xde, + 0x48, 0x3e, 0xbf, 0x1f, +}; +static const unsigned char kat1093_nonce[] = {0}; +static const unsigned char kat1093_persstr[] = {0}; +static const unsigned char kat1093_addin0[] = {0}; +static const unsigned char kat1093_addin1[] = {0}; +static const unsigned char kat1093_retbits[] = { + 0x15, 0x7d, 0xce, 0x31, 0x8c, 0x3e, 0x92, 0x81, 0x0d, 0x64, 0x34, 0xd0, + 0x2c, 0x43, 0xad, 0xc9, 0x27, 0xea, 0xc5, 0xc0, 0x58, 0x0d, 0x74, 0x44, + 0x36, 0x6a, 0x1a, 0x44, 0xdb, 0xe8, 0x65, 0xfb, 0x0a, 0xd0, 0x52, 0xfa, + 0xcd, 0x0c, 0x6c, 0x6d, 0x47, 0x51, 0x53, 0x47, 0x16, 0x30, 0xb3, 0x49, + 0x1b, 0x81, 0x8c, 0x34, 0x61, 0xde, 0x33, 0x62, 0x9a, 0x49, 0x15, 0xe6, + 0x0f, 0xe7, 0xc5, 0x59, +}; +static const struct drbg_kat_no_reseed kat1093_t = { + 12, kat1093_entropyin, kat1093_nonce, kat1093_persstr, + kat1093_addin0, kat1093_addin1, kat1093_retbits +}; +static const struct drbg_kat kat1093 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1093_t +}; + +static const unsigned char kat1094_entropyin[] = { + 0xe8, 0xc2, 0x4b, 0xa9, 0x2a, 0xb5, 0xd7, 0x39, 0xb9, 0xec, 0xad, 0xb9, + 0x50, 0x5a, 0xc5, 0x6c, 0xf5, 0x99, 0x0f, 0x14, 0x50, 0xe5, 0x6f, 0x4f, + 0xb3, 0x34, 0xf1, 0x15, 0xc1, 0x49, 0x48, 0xcb, 0x40, 0x4e, 0x54, 0x1a, + 0x37, 0xbf, 0xa6, 0xdc, +}; +static const unsigned char kat1094_nonce[] = {0}; +static const unsigned char kat1094_persstr[] = {0}; +static const unsigned char kat1094_addin0[] = {0}; +static const unsigned char kat1094_addin1[] = {0}; +static const unsigned char kat1094_retbits[] = { + 0x2c, 0xb6, 0x51, 0x52, 0x4a, 0x6b, 0x09, 0x4c, 0x93, 0xe8, 0xd1, 0xca, + 0xf3, 0x3b, 0xef, 0x26, 0x9d, 0x26, 0x7e, 0xaa, 0xe0, 0x84, 0x9c, 0x35, + 0x9b, 0x52, 0xd3, 0x46, 0x40, 0xf1, 0x4a, 0xd4, 0xa7, 0xfe, 0x1c, 0x02, + 0x1f, 0xbc, 0xdc, 0xe6, 0x65, 0x0e, 0xb6, 0x16, 0xae, 0xc4, 0xa0, 0x57, + 0x39, 0xce, 0x3d, 0xd1, 0xd6, 0x5e, 0x9f, 0x46, 0x66, 0x57, 0x5e, 0x01, + 0x2c, 0x50, 0xf0, 0x85, +}; +static const struct drbg_kat_no_reseed kat1094_t = { + 13, kat1094_entropyin, kat1094_nonce, kat1094_persstr, + kat1094_addin0, kat1094_addin1, kat1094_retbits +}; +static const struct drbg_kat kat1094 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1094_t +}; + +static const unsigned char kat1095_entropyin[] = { + 0x68, 0x9f, 0x2f, 0x61, 0x67, 0x03, 0x60, 0x47, 0x2b, 0x24, 0xf8, 0xad, + 0x36, 0x0f, 0xe0, 0x8e, 0x24, 0x9b, 0x59, 0xec, 0x0c, 0xc4, 0x67, 0x5b, + 0x08, 0xac, 0x07, 0x93, 0xda, 0xe6, 0x95, 0x6d, 0xb8, 0xf6, 0x31, 0x08, + 0x57, 0x4e, 0xf0, 0xc2, +}; +static const unsigned char kat1095_nonce[] = {0}; +static const unsigned char kat1095_persstr[] = {0}; +static const unsigned char kat1095_addin0[] = {0}; +static const unsigned char kat1095_addin1[] = {0}; +static const unsigned char kat1095_retbits[] = { + 0x08, 0x97, 0x85, 0x61, 0x29, 0xa4, 0x2d, 0x78, 0x5b, 0x60, 0xd7, 0x70, + 0x83, 0x6a, 0x68, 0x19, 0x8b, 0xc7, 0x6e, 0x29, 0x84, 0x0a, 0xbb, 0x08, + 0x02, 0xba, 0x9d, 0x47, 0x1a, 0xcf, 0x8b, 0x8b, 0xff, 0x3f, 0x02, 0xe1, + 0xa1, 0xc3, 0x40, 0x15, 0xad, 0x51, 0xce, 0x85, 0x96, 0x9b, 0x12, 0xea, + 0x65, 0x23, 0x6b, 0xc1, 0x2d, 0x34, 0x9c, 0x03, 0xf2, 0x03, 0x1f, 0xde, + 0x19, 0xcb, 0x22, 0xc2, +}; +static const struct drbg_kat_no_reseed kat1095_t = { + 14, kat1095_entropyin, kat1095_nonce, kat1095_persstr, + kat1095_addin0, kat1095_addin1, kat1095_retbits +}; +static const struct drbg_kat kat1095 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1095_t +}; + +static const unsigned char kat1096_entropyin[] = { + 0xbb, 0x15, 0x47, 0xeb, 0x67, 0x4b, 0x42, 0xdf, 0xd1, 0xa5, 0x62, 0x38, + 0xe8, 0x5f, 0x48, 0x30, 0x56, 0x8b, 0xcf, 0x63, 0x43, 0x80, 0xdf, 0xd0, + 0x46, 0xd9, 0xeb, 0x02, 0x9c, 0xaf, 0xe8, 0xe8, 0xb4, 0x5d, 0x9d, 0x7d, + 0xbe, 0x80, 0x2a, 0x5a, +}; +static const unsigned char kat1096_nonce[] = {0}; +static const unsigned char kat1096_persstr[] = {0}; +static const unsigned char kat1096_addin0[] = { + 0x45, 0x2c, 0x84, 0x64, 0x47, 0x6e, 0x0f, 0x34, 0xf6, 0x7d, 0xd0, 0x10, + 0x8b, 0xa2, 0x02, 0x45, 0xd7, 0xb5, 0xe3, 0xd8, 0x2f, 0xdf, 0x95, 0x46, + 0x19, 0x02, 0x62, 0x29, 0x62, 0x43, 0x24, 0xf3, 0x19, 0xb1, 0x68, 0xf2, + 0xf4, 0x46, 0x31, 0x59, +}; +static const unsigned char kat1096_addin1[] = { + 0xe5, 0x9a, 0x88, 0xdb, 0x5a, 0xc9, 0x14, 0x9b, 0xe7, 0x2f, 0xe0, 0xda, + 0x55, 0x03, 0x9c, 0xe2, 0xd0, 0x85, 0x97, 0x91, 0x6d, 0xa2, 0xc3, 0x5d, + 0x90, 0x0d, 0x9a, 0x6a, 0xde, 0x37, 0x23, 0xca, 0x2e, 0x43, 0x51, 0x07, + 0x99, 0xc1, 0x1f, 0xdc, +}; +static const unsigned char kat1096_retbits[] = { + 0x42, 0x6f, 0x28, 0x62, 0x26, 0x06, 0x7a, 0x1d, 0xd0, 0xd2, 0x0e, 0x2a, + 0x04, 0x80, 0x20, 0xfc, 0x87, 0xb3, 0xbf, 0xd5, 0x50, 0x09, 0x3c, 0x90, + 0xf4, 0x9b, 0xd5, 0x23, 0x01, 0xe2, 0x3e, 0xc5, 0x29, 0xff, 0xe7, 0x34, + 0x9f, 0x7a, 0xb5, 0x13, 0x6b, 0xff, 0xbc, 0xfc, 0x29, 0x4a, 0x2a, 0x6d, + 0x5d, 0x45, 0x9d, 0x91, 0xaf, 0x89, 0x36, 0x7c, 0xd7, 0xf7, 0x0a, 0x6b, + 0xbc, 0x76, 0xb4, 0x00, +}; +static const struct drbg_kat_no_reseed kat1096_t = { + 0, kat1096_entropyin, kat1096_nonce, kat1096_persstr, + kat1096_addin0, kat1096_addin1, kat1096_retbits +}; +static const struct drbg_kat kat1096 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1096_t +}; + +static const unsigned char kat1097_entropyin[] = { + 0x54, 0x77, 0x42, 0xbf, 0x41, 0x98, 0x50, 0x5e, 0x52, 0x2a, 0x5e, 0x92, + 0xf4, 0x32, 0x87, 0x1c, 0x20, 0xa1, 0x69, 0xd0, 0xfb, 0x80, 0x9b, 0xbf, + 0x7c, 0xa3, 0x55, 0x3d, 0x31, 0x54, 0x6f, 0xaf, 0xbe, 0xc4, 0xc4, 0xdc, + 0x43, 0x46, 0x1e, 0x28, +}; +static const unsigned char kat1097_nonce[] = {0}; +static const unsigned char kat1097_persstr[] = {0}; +static const unsigned char kat1097_addin0[] = { + 0x14, 0x16, 0xb9, 0xc0, 0xe4, 0x45, 0x98, 0x01, 0xb3, 0x9a, 0x8e, 0xbb, + 0xd1, 0x1b, 0x1c, 0xf7, 0xda, 0xe4, 0x24, 0x56, 0xcf, 0xca, 0x76, 0x88, + 0x59, 0x53, 0x0e, 0x35, 0xba, 0x9a, 0x95, 0xcc, 0xde, 0xa5, 0x64, 0x80, + 0x44, 0x6f, 0xac, 0x7d, +}; +static const unsigned char kat1097_addin1[] = { + 0xab, 0x40, 0x90, 0x1b, 0x3a, 0xa3, 0xa3, 0xeb, 0xcc, 0xb0, 0x1e, 0xc6, + 0x0f, 0xd2, 0x34, 0x96, 0x22, 0x5e, 0xa5, 0xcd, 0x6d, 0x6c, 0x0a, 0x83, + 0x4b, 0xb8, 0x0d, 0x5e, 0x82, 0x2d, 0xec, 0xa0, 0x13, 0xca, 0x52, 0xaf, + 0x44, 0x86, 0x6f, 0x40, +}; +static const unsigned char kat1097_retbits[] = { + 0x23, 0x26, 0x32, 0x42, 0x8a, 0x8b, 0xba, 0xbd, 0x61, 0x48, 0xea, 0x48, + 0xf1, 0xfe, 0x7e, 0xf9, 0xa3, 0x01, 0xcf, 0x39, 0xf5, 0xf4, 0x06, 0x80, + 0xbf, 0x84, 0x6e, 0x31, 0x92, 0xb2, 0xeb, 0x92, 0x24, 0x26, 0x2a, 0x01, + 0xdb, 0xbb, 0xc6, 0x63, 0x62, 0xce, 0x7c, 0x11, 0x69, 0x9e, 0x0f, 0xdd, + 0xca, 0xd5, 0x78, 0xf0, 0x61, 0x22, 0xa6, 0xd1, 0x93, 0x51, 0x6f, 0x6a, + 0x40, 0x30, 0xf2, 0xb5, +}; +static const struct drbg_kat_no_reseed kat1097_t = { + 1, kat1097_entropyin, kat1097_nonce, kat1097_persstr, + kat1097_addin0, kat1097_addin1, kat1097_retbits +}; +static const struct drbg_kat kat1097 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1097_t +}; + +static const unsigned char kat1098_entropyin[] = { + 0xe9, 0x9e, 0x0b, 0x8c, 0x29, 0xc3, 0x92, 0xd5, 0x96, 0x08, 0xb1, 0x7d, + 0xcb, 0x51, 0x68, 0xea, 0xe5, 0xc4, 0xe8, 0x2e, 0x0d, 0x13, 0xa1, 0x6e, + 0x68, 0xa5, 0x48, 0xdf, 0x41, 0xc5, 0x9e, 0xc0, 0x9b, 0xb2, 0xaf, 0x61, + 0x95, 0x73, 0xbf, 0x12, +}; +static const unsigned char kat1098_nonce[] = {0}; +static const unsigned char kat1098_persstr[] = {0}; +static const unsigned char kat1098_addin0[] = { + 0xf5, 0x19, 0x91, 0xa5, 0x60, 0xbf, 0x08, 0x48, 0x95, 0x9d, 0xe7, 0x02, + 0x9a, 0x35, 0x7c, 0xc1, 0xcc, 0x88, 0xd5, 0x9c, 0x5e, 0x5b, 0x8d, 0xa8, + 0x24, 0x95, 0x43, 0xb8, 0xdf, 0xc0, 0xec, 0xa6, 0x8a, 0x39, 0x2f, 0x10, + 0xde, 0x8a, 0xea, 0x45, +}; +static const unsigned char kat1098_addin1[] = { + 0xc2, 0xed, 0x95, 0x3d, 0xc9, 0x50, 0xfb, 0x8d, 0x66, 0x9f, 0x3a, 0x0d, + 0xea, 0xbc, 0x9f, 0x03, 0x62, 0x05, 0xce, 0x67, 0xbc, 0x43, 0xd9, 0x8a, + 0x35, 0xaf, 0x87, 0x51, 0x96, 0xa0, 0x40, 0xd8, 0xf2, 0x78, 0xb9, 0x79, + 0xf9, 0x06, 0x70, 0x71, +}; +static const unsigned char kat1098_retbits[] = { + 0xad, 0x5e, 0xd9, 0x4b, 0x0d, 0xc5, 0x25, 0xf4, 0x0a, 0xaf, 0xa5, 0xf5, + 0xe9, 0x58, 0xfd, 0x78, 0x51, 0x0d, 0x8f, 0x50, 0x3e, 0x45, 0x16, 0xbc, + 0x96, 0x79, 0x06, 0xad, 0x3b, 0x32, 0x06, 0x6e, 0x02, 0x26, 0x2e, 0x49, + 0x90, 0xe6, 0xe1, 0x41, 0x7e, 0xd0, 0x21, 0xe4, 0x25, 0xc3, 0xc7, 0xda, + 0xa2, 0x60, 0x49, 0xce, 0x23, 0xcf, 0x28, 0xbb, 0xd3, 0x33, 0x4c, 0x6c, + 0x95, 0x24, 0xf0, 0x75, +}; +static const struct drbg_kat_no_reseed kat1098_t = { + 2, kat1098_entropyin, kat1098_nonce, kat1098_persstr, + kat1098_addin0, kat1098_addin1, kat1098_retbits +}; +static const struct drbg_kat kat1098 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1098_t +}; + +static const unsigned char kat1099_entropyin[] = { + 0x74, 0x27, 0x26, 0xfa, 0x37, 0xe1, 0x61, 0x6f, 0x66, 0x1f, 0x71, 0xca, + 0xe2, 0x59, 0xb6, 0xe5, 0x02, 0x5d, 0x7d, 0x9d, 0xfa, 0xf2, 0x39, 0x88, + 0x95, 0xec, 0x4b, 0xe2, 0x00, 0x40, 0xae, 0xad, 0x9a, 0x9a, 0x14, 0x2e, + 0x70, 0x2e, 0x9f, 0xfd, +}; +static const unsigned char kat1099_nonce[] = {0}; +static const unsigned char kat1099_persstr[] = {0}; +static const unsigned char kat1099_addin0[] = { + 0x13, 0x43, 0x7a, 0xa4, 0x8e, 0x4a, 0xa3, 0x2d, 0x87, 0x5b, 0x7d, 0x5d, + 0xd0, 0xc9, 0x0e, 0x52, 0xcc, 0x39, 0x72, 0xc0, 0x66, 0x90, 0x59, 0xb6, + 0xa2, 0x3d, 0xd0, 0x47, 0x9d, 0x14, 0xb7, 0x77, 0x60, 0xb1, 0x49, 0xf4, + 0xff, 0xdc, 0xf3, 0xa8, +}; +static const unsigned char kat1099_addin1[] = { + 0x94, 0x23, 0xca, 0xd2, 0x8e, 0x9a, 0x54, 0x8d, 0xed, 0x0b, 0x0b, 0xcd, + 0x04, 0xa6, 0xfc, 0x35, 0xbc, 0x4e, 0x6b, 0x03, 0x24, 0x0e, 0x2c, 0xc3, + 0x37, 0x54, 0x70, 0x2e, 0xce, 0x84, 0xca, 0xb9, 0xdf, 0xdd, 0xaa, 0xbd, + 0xf8, 0x83, 0x7a, 0x44, +}; +static const unsigned char kat1099_retbits[] = { + 0x49, 0x6a, 0x31, 0x68, 0x8b, 0xea, 0xe1, 0x47, 0xd3, 0x20, 0xb7, 0xcf, + 0x5f, 0x70, 0x22, 0x6a, 0x76, 0x5c, 0x53, 0xe0, 0xc2, 0xe6, 0x0c, 0xb0, + 0x2b, 0xd0, 0xaa, 0xdf, 0xd3, 0x6b, 0x75, 0xdd, 0x8d, 0xe2, 0x18, 0x10, + 0xea, 0xa8, 0x6b, 0x7a, 0xdd, 0xfd, 0x86, 0x26, 0xa0, 0xb4, 0xa5, 0x47, + 0xe2, 0x1b, 0xef, 0xd2, 0x0e, 0x30, 0x1f, 0xf5, 0x99, 0x01, 0x3a, 0x95, + 0xf8, 0x26, 0xe7, 0x7b, +}; +static const struct drbg_kat_no_reseed kat1099_t = { + 3, kat1099_entropyin, kat1099_nonce, kat1099_persstr, + kat1099_addin0, kat1099_addin1, kat1099_retbits +}; +static const struct drbg_kat kat1099 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1099_t +}; + +static const unsigned char kat1100_entropyin[] = { + 0x34, 0xcb, 0xbb, 0xc0, 0xb0, 0xd1, 0x7d, 0xfa, 0x5b, 0xfa, 0x5c, 0x24, + 0xf4, 0xb5, 0x94, 0x65, 0x99, 0xd8, 0xad, 0x1c, 0x2a, 0x97, 0xcd, 0x55, + 0xd4, 0x67, 0x9e, 0xf0, 0xf2, 0x91, 0xbb, 0x12, 0xcb, 0x52, 0x8b, 0x54, + 0x13, 0x98, 0x34, 0xab, +}; +static const unsigned char kat1100_nonce[] = {0}; +static const unsigned char kat1100_persstr[] = {0}; +static const unsigned char kat1100_addin0[] = { + 0x48, 0x20, 0x4f, 0xed, 0x9e, 0x52, 0xe2, 0x5c, 0x9d, 0x44, 0x23, 0x64, + 0x00, 0x71, 0x0a, 0x1b, 0xc4, 0x6c, 0x40, 0x2b, 0x68, 0x5f, 0x62, 0xbc, + 0x9f, 0x74, 0xc8, 0x14, 0x68, 0xbe, 0x4f, 0x16, 0xb7, 0x76, 0x09, 0xfa, + 0x2b, 0x26, 0x73, 0x81, +}; +static const unsigned char kat1100_addin1[] = { + 0x40, 0xca, 0x82, 0x16, 0xb9, 0x9c, 0x04, 0x42, 0x82, 0xd7, 0xc4, 0x05, + 0x5f, 0x23, 0x90, 0x39, 0x43, 0xb4, 0xfc, 0xce, 0x60, 0xa5, 0x9c, 0x77, + 0xeb, 0xf6, 0x52, 0x6a, 0x50, 0x6d, 0x69, 0xe7, 0xaa, 0xe6, 0x67, 0x75, + 0x9f, 0x2c, 0xc4, 0xb3, +}; +static const unsigned char kat1100_retbits[] = { + 0x05, 0xd0, 0x4f, 0x03, 0x97, 0x12, 0x32, 0x9e, 0xbc, 0x09, 0x56, 0x48, + 0x35, 0xc9, 0x58, 0x5b, 0x51, 0x04, 0x32, 0xa3, 0x13, 0x63, 0x41, 0xd0, + 0x4f, 0x9b, 0x8a, 0x46, 0xf1, 0xa4, 0xfe, 0x4b, 0xb0, 0x91, 0x54, 0x13, + 0x18, 0x36, 0x72, 0x81, 0x66, 0x5f, 0x63, 0xc1, 0x20, 0x63, 0xa3, 0xa9, + 0x1c, 0xa5, 0x31, 0x38, 0xb9, 0x75, 0x6b, 0x8d, 0x67, 0xa7, 0x7a, 0x35, + 0x82, 0x4e, 0x2b, 0xa7, +}; +static const struct drbg_kat_no_reseed kat1100_t = { + 4, kat1100_entropyin, kat1100_nonce, kat1100_persstr, + kat1100_addin0, kat1100_addin1, kat1100_retbits +}; +static const struct drbg_kat kat1100 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1100_t +}; + +static const unsigned char kat1101_entropyin[] = { + 0xc0, 0x56, 0x4c, 0xf0, 0xe8, 0x76, 0x34, 0xee, 0x0b, 0x78, 0x47, 0xf0, + 0x23, 0xaf, 0x21, 0xb3, 0xd3, 0xd4, 0x96, 0xea, 0x2e, 0x19, 0x38, 0x92, + 0x4f, 0xe7, 0xec, 0x42, 0x1f, 0x3a, 0xa1, 0x3a, 0xae, 0x27, 0x72, 0x08, + 0xdc, 0xa1, 0x40, 0x35, +}; +static const unsigned char kat1101_nonce[] = {0}; +static const unsigned char kat1101_persstr[] = {0}; +static const unsigned char kat1101_addin0[] = { + 0xa0, 0xf9, 0x93, 0x6e, 0xe1, 0xe9, 0x26, 0x82, 0xfc, 0x43, 0x42, 0xae, + 0x23, 0x74, 0xaa, 0x25, 0x90, 0xcb, 0xe3, 0xc6, 0x24, 0x34, 0x2c, 0xac, + 0x01, 0xdd, 0x19, 0x6b, 0x48, 0x11, 0xb4, 0x47, 0xff, 0xb6, 0x94, 0xb3, + 0x07, 0x89, 0xf8, 0x23, +}; +static const unsigned char kat1101_addin1[] = { + 0x6f, 0x94, 0xee, 0xec, 0x17, 0x61, 0xb8, 0x47, 0x80, 0x86, 0x6b, 0x40, + 0x32, 0x13, 0x94, 0x8c, 0xcd, 0x10, 0x65, 0x12, 0xb0, 0xbd, 0x09, 0xd2, + 0x10, 0xcc, 0x9c, 0x2d, 0x62, 0x20, 0x07, 0x2c, 0x32, 0xb0, 0x60, 0xf5, + 0x13, 0x64, 0x85, 0xb6, +}; +static const unsigned char kat1101_retbits[] = { + 0xa0, 0xa8, 0x96, 0x18, 0x28, 0xde, 0xc5, 0x9b, 0x3b, 0x0f, 0x8b, 0x63, + 0x17, 0xd3, 0xd1, 0x72, 0x2e, 0xf7, 0x05, 0xaa, 0x32, 0x7f, 0x52, 0x49, + 0xeb, 0x69, 0x87, 0xe5, 0xdf, 0x07, 0xf1, 0xdf, 0x2d, 0x90, 0x51, 0xb3, + 0xe7, 0x23, 0x93, 0x52, 0x49, 0x0e, 0x01, 0xdd, 0x77, 0x8d, 0x01, 0x22, + 0xe1, 0x2e, 0x6e, 0x51, 0xab, 0x8c, 0xd0, 0xd9, 0x4c, 0x65, 0x24, 0xa2, + 0x58, 0x41, 0xad, 0x96, +}; +static const struct drbg_kat_no_reseed kat1101_t = { + 5, kat1101_entropyin, kat1101_nonce, kat1101_persstr, + kat1101_addin0, kat1101_addin1, kat1101_retbits +}; +static const struct drbg_kat kat1101 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1101_t +}; + +static const unsigned char kat1102_entropyin[] = { + 0xd0, 0xa3, 0x2b, 0x50, 0xab, 0x62, 0x7f, 0xbe, 0xe1, 0x61, 0xa5, 0x79, + 0xce, 0x3a, 0xbe, 0xbb, 0x2b, 0xb8, 0x80, 0xba, 0xf2, 0xd9, 0x58, 0xdf, + 0xe5, 0x2e, 0x3f, 0x3c, 0x15, 0xe2, 0x98, 0x43, 0x39, 0xf2, 0x8a, 0x53, + 0x83, 0x34, 0x75, 0x84, +}; +static const unsigned char kat1102_nonce[] = {0}; +static const unsigned char kat1102_persstr[] = {0}; +static const unsigned char kat1102_addin0[] = { + 0x92, 0x0a, 0x6a, 0x0e, 0x74, 0xc9, 0xbc, 0x27, 0x5d, 0xee, 0x10, 0x18, + 0x98, 0x9e, 0x87, 0xcf, 0xd7, 0x03, 0xc3, 0x0f, 0x1b, 0x4b, 0x88, 0x92, + 0x33, 0x3e, 0x08, 0xf9, 0xfc, 0x50, 0xbe, 0x87, 0x4b, 0xca, 0x0a, 0x40, + 0xac, 0x2e, 0x3b, 0xe3, +}; +static const unsigned char kat1102_addin1[] = { + 0x53, 0xd7, 0xb7, 0x17, 0x9f, 0x3a, 0x50, 0xf6, 0x27, 0xc5, 0xcc, 0x18, + 0x13, 0xd0, 0x4c, 0x81, 0x32, 0xcc, 0x92, 0xd9, 0x22, 0xd2, 0x1f, 0x60, + 0x7e, 0x41, 0xb6, 0x82, 0xd0, 0x10, 0x70, 0x26, 0x3d, 0xdb, 0x34, 0x72, + 0x1f, 0x87, 0x89, 0x46, +}; +static const unsigned char kat1102_retbits[] = { + 0x3b, 0x74, 0x76, 0x6a, 0x5c, 0x88, 0x27, 0x76, 0xe7, 0xea, 0x62, 0x2b, + 0x06, 0x09, 0x6b, 0x81, 0x43, 0x97, 0x80, 0x02, 0x88, 0x3a, 0xaa, 0x64, + 0xa1, 0x8d, 0xe1, 0x59, 0x7e, 0x83, 0xa4, 0x40, 0x27, 0x16, 0x55, 0xc7, + 0x71, 0xcb, 0x71, 0x7e, 0x0f, 0x80, 0x4d, 0x7f, 0x6d, 0xfd, 0x88, 0x71, + 0x53, 0x07, 0x33, 0xcc, 0x55, 0xc8, 0xe2, 0x09, 0x47, 0xd7, 0x2a, 0xb3, + 0xa1, 0x5d, 0xa7, 0x89, +}; +static const struct drbg_kat_no_reseed kat1102_t = { + 6, kat1102_entropyin, kat1102_nonce, kat1102_persstr, + kat1102_addin0, kat1102_addin1, kat1102_retbits +}; +static const struct drbg_kat kat1102 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1102_t +}; + +static const unsigned char kat1103_entropyin[] = { + 0xb1, 0xd5, 0x93, 0xc0, 0xb0, 0x7d, 0x76, 0xc3, 0x34, 0x5e, 0x87, 0x84, + 0x29, 0xae, 0xaa, 0x60, 0x0e, 0x5c, 0x5a, 0x1e, 0xdd, 0xb3, 0x23, 0xd1, + 0x41, 0xb7, 0xa7, 0xa0, 0xfa, 0xa6, 0xd6, 0x93, 0x8b, 0x96, 0x63, 0x42, + 0x50, 0xd6, 0x27, 0x79, +}; +static const unsigned char kat1103_nonce[] = {0}; +static const unsigned char kat1103_persstr[] = {0}; +static const unsigned char kat1103_addin0[] = { + 0xdc, 0x64, 0x1f, 0x51, 0xfc, 0x6c, 0x76, 0x2a, 0xa8, 0x91, 0xf1, 0xf6, + 0xd5, 0x60, 0x5c, 0xfe, 0x5a, 0xd0, 0x8c, 0x0c, 0xc8, 0xe7, 0x71, 0xda, + 0x25, 0x4f, 0x69, 0x12, 0x15, 0x98, 0xa3, 0x5d, 0xe6, 0x19, 0xf5, 0x27, + 0x03, 0xf1, 0x16, 0x72, +}; +static const unsigned char kat1103_addin1[] = { + 0x48, 0xf2, 0x28, 0x6a, 0x84, 0xca, 0x06, 0x21, 0xb4, 0x58, 0x02, 0xe6, + 0x7b, 0x54, 0xa3, 0xa8, 0xe1, 0x8a, 0x64, 0x73, 0x13, 0xcd, 0x45, 0xe3, + 0xf0, 0x0c, 0xc9, 0x92, 0x41, 0x3b, 0xb0, 0x6c, 0xbb, 0x3d, 0x59, 0x8f, + 0x7e, 0xa3, 0xb9, 0x78, +}; +static const unsigned char kat1103_retbits[] = { + 0xb2, 0x4f, 0xdf, 0x5b, 0x20, 0x4b, 0x8a, 0xe7, 0xc5, 0x9d, 0xae, 0x3e, + 0x9e, 0x77, 0x3b, 0xbc, 0x29, 0x27, 0x28, 0x98, 0x38, 0x05, 0xc8, 0x05, + 0x68, 0xe2, 0xbd, 0x85, 0xfe, 0x0e, 0x3d, 0x0a, 0x52, 0xef, 0xd9, 0xc4, + 0x31, 0x23, 0x6e, 0x32, 0xd2, 0x8b, 0x7c, 0x0d, 0x2f, 0x7e, 0x8b, 0x0b, + 0x92, 0xed, 0x51, 0x8f, 0x3a, 0x93, 0x30, 0x16, 0x2e, 0xa3, 0xac, 0xf9, + 0x73, 0xf7, 0xec, 0x6d, +}; +static const struct drbg_kat_no_reseed kat1103_t = { + 7, kat1103_entropyin, kat1103_nonce, kat1103_persstr, + kat1103_addin0, kat1103_addin1, kat1103_retbits +}; +static const struct drbg_kat kat1103 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1103_t +}; + +static const unsigned char kat1104_entropyin[] = { + 0x65, 0xbb, 0xe4, 0x0f, 0x73, 0x83, 0xcc, 0x24, 0x65, 0x9c, 0x02, 0xd2, + 0x2f, 0x8c, 0xb6, 0x29, 0x7d, 0x85, 0x93, 0xd5, 0x16, 0x88, 0xea, 0xed, + 0xcd, 0x85, 0xbc, 0x59, 0xd9, 0x55, 0x2d, 0x7e, 0x7a, 0x00, 0xdb, 0x3b, + 0xb7, 0xff, 0x09, 0x1b, +}; +static const unsigned char kat1104_nonce[] = {0}; +static const unsigned char kat1104_persstr[] = {0}; +static const unsigned char kat1104_addin0[] = { + 0x7a, 0x51, 0xee, 0x23, 0x2f, 0xa7, 0x78, 0x20, 0x41, 0xc0, 0xb5, 0xc5, + 0x8e, 0x43, 0xd7, 0x75, 0x4d, 0xe3, 0x5d, 0x51, 0xec, 0xa8, 0x77, 0x9b, + 0x88, 0x9d, 0x97, 0x04, 0xca, 0x7a, 0xd8, 0x8f, 0x08, 0x5e, 0x2b, 0xe4, + 0x91, 0xf7, 0xc3, 0x31, +}; +static const unsigned char kat1104_addin1[] = { + 0xa2, 0x2d, 0x84, 0xc0, 0x28, 0x37, 0x43, 0x4f, 0xef, 0x33, 0xe6, 0x08, + 0x45, 0x57, 0x8e, 0x88, 0x14, 0xa9, 0x79, 0xee, 0x49, 0x3d, 0xaa, 0xba, + 0xca, 0xd8, 0x82, 0x03, 0xdf, 0xa0, 0x5b, 0x8e, 0x03, 0xb6, 0xa3, 0xff, + 0x51, 0x18, 0x09, 0x83, +}; +static const unsigned char kat1104_retbits[] = { + 0x0b, 0x12, 0x9a, 0x15, 0x02, 0x17, 0xca, 0xcc, 0x25, 0x15, 0xde, 0x01, + 0xa7, 0xd5, 0xf7, 0xa9, 0xdc, 0xb7, 0x64, 0xbd, 0x2f, 0x57, 0x95, 0x83, + 0x37, 0x2d, 0x37, 0x3e, 0x7f, 0xe9, 0x1e, 0xc5, 0xc8, 0xcb, 0xb2, 0xf0, + 0x1c, 0xcd, 0x07, 0xf3, 0x27, 0x76, 0x83, 0x00, 0xb8, 0xb7, 0x53, 0x92, + 0xd0, 0x5b, 0xd8, 0xa4, 0x11, 0x27, 0xbe, 0xe1, 0x93, 0xbe, 0x2e, 0xba, + 0xbb, 0xe2, 0xf6, 0x92, +}; +static const struct drbg_kat_no_reseed kat1104_t = { + 8, kat1104_entropyin, kat1104_nonce, kat1104_persstr, + kat1104_addin0, kat1104_addin1, kat1104_retbits +}; +static const struct drbg_kat kat1104 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1104_t +}; + +static const unsigned char kat1105_entropyin[] = { + 0x47, 0xf2, 0x94, 0x17, 0xb0, 0x7b, 0x4a, 0x21, 0xf8, 0xa9, 0x0c, 0x4d, + 0x32, 0x40, 0x81, 0x00, 0xbd, 0xac, 0x0d, 0x21, 0xc9, 0x38, 0xc4, 0x4f, + 0x4f, 0x2d, 0x03, 0x65, 0x06, 0x47, 0xef, 0x6d, 0xea, 0x50, 0x11, 0xa1, + 0x99, 0xba, 0x12, 0x79, +}; +static const unsigned char kat1105_nonce[] = {0}; +static const unsigned char kat1105_persstr[] = {0}; +static const unsigned char kat1105_addin0[] = { + 0x9f, 0x67, 0x2d, 0xdf, 0x59, 0xd1, 0xf1, 0x1f, 0x95, 0x50, 0xc3, 0x9d, + 0xa5, 0xcc, 0x6c, 0x3d, 0x78, 0x79, 0xd5, 0xa6, 0x1d, 0x90, 0x16, 0x3b, + 0x6d, 0xa9, 0xf8, 0x17, 0x09, 0xe1, 0xde, 0x6d, 0xf5, 0x0d, 0x46, 0x05, + 0x7c, 0x27, 0xf8, 0xd0, +}; +static const unsigned char kat1105_addin1[] = { + 0xa0, 0x08, 0x31, 0x14, 0x50, 0x49, 0x55, 0xae, 0x43, 0xe7, 0x9a, 0x31, + 0xf1, 0x9c, 0x6b, 0xce, 0xe6, 0x1c, 0x66, 0x14, 0xf9, 0x90, 0xbc, 0xab, + 0xba, 0xc2, 0x05, 0x9f, 0x21, 0x40, 0xf7, 0x02, 0xc5, 0x6c, 0x23, 0xe9, + 0x04, 0x79, 0x8a, 0xca, +}; +static const unsigned char kat1105_retbits[] = { + 0x5e, 0xda, 0xfa, 0xb7, 0x17, 0xdf, 0xee, 0x41, 0xbf, 0xde, 0xf1, 0x24, + 0x60, 0x7f, 0x4c, 0x9e, 0xe4, 0x50, 0xe0, 0xeb, 0xd4, 0x77, 0xb0, 0xb3, + 0x6f, 0xdf, 0xb1, 0x7a, 0xaf, 0x8d, 0x18, 0x94, 0x8f, 0x37, 0x7a, 0x94, + 0xf5, 0xc8, 0x78, 0xa6, 0x04, 0x6d, 0x4d, 0xcf, 0xbc, 0x78, 0xe7, 0x88, + 0xdc, 0x25, 0xff, 0xd1, 0x62, 0x3e, 0xdf, 0xcb, 0x03, 0x8f, 0xbe, 0x35, + 0xd8, 0xe1, 0x63, 0xa3, +}; +static const struct drbg_kat_no_reseed kat1105_t = { + 9, kat1105_entropyin, kat1105_nonce, kat1105_persstr, + kat1105_addin0, kat1105_addin1, kat1105_retbits +}; +static const struct drbg_kat kat1105 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1105_t +}; + +static const unsigned char kat1106_entropyin[] = { + 0xe3, 0x15, 0xb3, 0xb2, 0x7d, 0xec, 0x3b, 0x59, 0xc2, 0x6d, 0x9c, 0x1c, + 0xe4, 0x22, 0x14, 0x6b, 0x20, 0x62, 0x1e, 0x5d, 0x67, 0x74, 0x9a, 0x7f, + 0xa0, 0x86, 0x19, 0x79, 0x7f, 0xd4, 0xde, 0x0e, 0xe5, 0x32, 0x83, 0xa7, + 0x2a, 0x9c, 0x65, 0x5f, +}; +static const unsigned char kat1106_nonce[] = {0}; +static const unsigned char kat1106_persstr[] = {0}; +static const unsigned char kat1106_addin0[] = { + 0x5d, 0x3c, 0x0e, 0xc0, 0xa2, 0x34, 0x4f, 0x72, 0x57, 0x4e, 0x62, 0x07, + 0x9d, 0x60, 0x51, 0x68, 0x73, 0x9d, 0x37, 0xe9, 0xa2, 0xeb, 0x9e, 0x44, + 0xd3, 0xd7, 0xe4, 0x66, 0x90, 0x39, 0x21, 0x9a, 0x25, 0xce, 0x58, 0x96, + 0x5d, 0xdb, 0x1a, 0xc3, +}; +static const unsigned char kat1106_addin1[] = { + 0xe2, 0x2f, 0x87, 0xe9, 0x99, 0x77, 0x46, 0x8e, 0x23, 0x12, 0x6e, 0x52, + 0x80, 0xa7, 0x75, 0x06, 0xa9, 0x90, 0x3c, 0xc4, 0x2f, 0xb3, 0x6c, 0x00, + 0x4e, 0x67, 0xd1, 0xa7, 0x23, 0xc8, 0xfb, 0xc8, 0x9c, 0x30, 0xbb, 0xc7, + 0x4f, 0x2b, 0x59, 0xa4, +}; +static const unsigned char kat1106_retbits[] = { + 0xd0, 0xf8, 0xfa, 0xa5, 0x52, 0x99, 0x68, 0x52, 0x74, 0xba, 0x49, 0x9d, + 0xe5, 0xbc, 0xaf, 0x58, 0x19, 0xdc, 0x9a, 0x5e, 0xe4, 0x0e, 0x89, 0xe9, + 0x41, 0x08, 0x2e, 0xd1, 0x02, 0xc6, 0x34, 0x30, 0x27, 0x4d, 0xfc, 0x60, + 0xf2, 0xdc, 0x25, 0xf8, 0x04, 0x95, 0x8a, 0xf5, 0xa3, 0xdc, 0x95, 0x57, + 0x6e, 0x11, 0x9c, 0x6d, 0xc3, 0x59, 0xba, 0xe7, 0x3b, 0xde, 0x1d, 0x2e, + 0x2b, 0xf4, 0x4f, 0xce, +}; +static const struct drbg_kat_no_reseed kat1106_t = { + 10, kat1106_entropyin, kat1106_nonce, kat1106_persstr, + kat1106_addin0, kat1106_addin1, kat1106_retbits +}; +static const struct drbg_kat kat1106 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1106_t +}; + +static const unsigned char kat1107_entropyin[] = { + 0x9b, 0x6f, 0xd5, 0x98, 0x50, 0x63, 0x60, 0x11, 0x9d, 0xd1, 0xcc, 0x9d, + 0xd9, 0xe0, 0x66, 0x3d, 0xa1, 0x5c, 0xa6, 0x01, 0x5b, 0x17, 0x26, 0x9c, + 0x6a, 0x38, 0x5c, 0xa1, 0x22, 0xa9, 0x85, 0x46, 0x00, 0xb8, 0x1d, 0x59, + 0x8a, 0xe2, 0xec, 0x9c, +}; +static const unsigned char kat1107_nonce[] = {0}; +static const unsigned char kat1107_persstr[] = {0}; +static const unsigned char kat1107_addin0[] = { + 0x4a, 0xd6, 0x87, 0xbf, 0x39, 0x63, 0x54, 0x5b, 0xd5, 0x77, 0x80, 0x0d, + 0x11, 0xc0, 0x8a, 0x3e, 0xb0, 0x68, 0x64, 0x30, 0x6a, 0x07, 0xc3, 0xe1, + 0x60, 0x5d, 0x3b, 0xf0, 0x9e, 0x61, 0xf1, 0xcb, 0xdb, 0x66, 0x88, 0x56, + 0xdd, 0x56, 0xcd, 0xc3, +}; +static const unsigned char kat1107_addin1[] = { + 0x9c, 0x6e, 0x72, 0xd6, 0xfb, 0x4d, 0x33, 0x9a, 0xbd, 0xfa, 0x0f, 0x78, + 0xdf, 0xf2, 0x59, 0xc2, 0x5f, 0x79, 0x71, 0x2c, 0x86, 0x43, 0xaf, 0xe3, + 0x74, 0x60, 0xa3, 0x5d, 0xc8, 0x40, 0x1d, 0x11, 0x27, 0x3c, 0x64, 0xb9, + 0x13, 0x0e, 0xbe, 0x85, +}; +static const unsigned char kat1107_retbits[] = { + 0x51, 0x64, 0xf5, 0xf3, 0xc4, 0xab, 0x12, 0x2d, 0xd2, 0xd8, 0xb6, 0xfa, + 0x24, 0x6d, 0xbf, 0x1e, 0xb2, 0x5b, 0x12, 0x04, 0x3a, 0x0f, 0x7a, 0x66, + 0xe8, 0x11, 0xf4, 0xbc, 0x55, 0x58, 0x2a, 0x31, 0x37, 0xa8, 0x39, 0x4b, + 0xfa, 0x05, 0xe8, 0xa5, 0x3d, 0x3c, 0x89, 0xe5, 0x6f, 0x77, 0xf7, 0x32, + 0x1d, 0x4a, 0x75, 0x72, 0xbd, 0x2e, 0xbf, 0x08, 0x86, 0xbe, 0xbc, 0xd0, + 0x1b, 0xce, 0x30, 0x31, +}; +static const struct drbg_kat_no_reseed kat1107_t = { + 11, kat1107_entropyin, kat1107_nonce, kat1107_persstr, + kat1107_addin0, kat1107_addin1, kat1107_retbits +}; +static const struct drbg_kat kat1107 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1107_t +}; + +static const unsigned char kat1108_entropyin[] = { + 0xd8, 0x76, 0x88, 0x96, 0x24, 0xfa, 0x9e, 0x06, 0x52, 0x16, 0x1d, 0x37, + 0xa7, 0x5f, 0xd9, 0x33, 0xfa, 0x98, 0x19, 0x23, 0xd1, 0x6b, 0xbf, 0x3f, + 0x2a, 0x54, 0xea, 0x0f, 0x60, 0x05, 0x21, 0x0e, 0xf4, 0x38, 0xd3, 0x6f, + 0xea, 0xc1, 0x0d, 0x99, +}; +static const unsigned char kat1108_nonce[] = {0}; +static const unsigned char kat1108_persstr[] = {0}; +static const unsigned char kat1108_addin0[] = { + 0xe7, 0x26, 0x58, 0x27, 0x62, 0x05, 0x33, 0x15, 0xae, 0x88, 0x65, 0x02, + 0x12, 0xb3, 0xdc, 0x83, 0x25, 0x02, 0x05, 0x94, 0xeb, 0xa0, 0xc5, 0x62, + 0xf3, 0x4a, 0xbb, 0x81, 0x1c, 0x8c, 0x27, 0x2f, 0xd1, 0x0f, 0x25, 0x47, + 0x39, 0xff, 0x2f, 0x33, +}; +static const unsigned char kat1108_addin1[] = { + 0x6d, 0xb3, 0x00, 0xb3, 0x6d, 0x44, 0xcc, 0x2d, 0x5d, 0x7e, 0x9f, 0xfc, + 0x1c, 0x8f, 0xb8, 0xda, 0x01, 0x7f, 0x66, 0xf7, 0xd5, 0xf4, 0x15, 0xa6, + 0xbf, 0x66, 0xfb, 0x1d, 0x37, 0x72, 0xb5, 0xad, 0xbd, 0x4b, 0xcc, 0x7b, + 0xe7, 0x7b, 0x6a, 0x4c, +}; +static const unsigned char kat1108_retbits[] = { + 0x37, 0xdc, 0xd8, 0x3c, 0xa5, 0xd4, 0x95, 0xe6, 0x32, 0xe7, 0xb0, 0x11, + 0xba, 0x80, 0xbb, 0xf3, 0x53, 0xff, 0x55, 0x22, 0x63, 0x2f, 0x73, 0x33, + 0xe8, 0x02, 0xd4, 0xce, 0x27, 0xc9, 0x17, 0x0f, 0x82, 0x39, 0xc9, 0x48, + 0x60, 0xf8, 0x11, 0xea, 0xfd, 0x0e, 0xe4, 0x4d, 0x50, 0x43, 0x72, 0x3a, + 0x15, 0xee, 0xd2, 0xb6, 0x24, 0x26, 0xaf, 0xb8, 0x93, 0xca, 0xaa, 0xde, + 0x08, 0x76, 0x2f, 0xb5, +}; +static const struct drbg_kat_no_reseed kat1108_t = { + 12, kat1108_entropyin, kat1108_nonce, kat1108_persstr, + kat1108_addin0, kat1108_addin1, kat1108_retbits +}; +static const struct drbg_kat kat1108 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1108_t +}; + +static const unsigned char kat1109_entropyin[] = { + 0x29, 0xcc, 0xe7, 0x0c, 0x6c, 0x9e, 0xc1, 0x9b, 0xe2, 0xad, 0x29, 0x55, + 0xc0, 0xd8, 0xf0, 0x27, 0xdc, 0x4d, 0x25, 0xd5, 0xfe, 0x4f, 0x66, 0xc4, + 0x64, 0x27, 0x23, 0x47, 0xf7, 0xb2, 0x2b, 0x83, 0x25, 0x2a, 0x91, 0xf0, + 0x37, 0xb6, 0x6a, 0x6b, +}; +static const unsigned char kat1109_nonce[] = {0}; +static const unsigned char kat1109_persstr[] = {0}; +static const unsigned char kat1109_addin0[] = { + 0xb6, 0x1a, 0xad, 0x7e, 0x7c, 0x4d, 0x3d, 0x83, 0xdf, 0x69, 0x20, 0x7e, + 0x5b, 0xa7, 0x5b, 0x5c, 0xd2, 0x68, 0xcb, 0x4b, 0x7b, 0xe5, 0x2b, 0x76, + 0x00, 0x8f, 0xc8, 0x89, 0x4e, 0xb0, 0x79, 0xdb, 0x4b, 0x4c, 0x0b, 0x3a, + 0x5a, 0x07, 0xf4, 0x09, +}; +static const unsigned char kat1109_addin1[] = { + 0x8a, 0xe0, 0xb1, 0x7a, 0x28, 0x70, 0x11, 0x92, 0xef, 0xbc, 0x60, 0xb3, + 0x75, 0x5f, 0x34, 0xdc, 0xc8, 0xca, 0x8d, 0x47, 0xd3, 0x5e, 0x71, 0x48, + 0xe2, 0xe9, 0x2a, 0x64, 0x94, 0x4e, 0xd2, 0xfa, 0xe6, 0x70, 0xe5, 0x7d, + 0x90, 0xaa, 0x2e, 0x81, +}; +static const unsigned char kat1109_retbits[] = { + 0x37, 0x31, 0x04, 0x1d, 0x50, 0x1f, 0x71, 0xb9, 0x83, 0x10, 0x5e, 0x48, + 0xa0, 0xfc, 0x60, 0x40, 0x41, 0xb5, 0x7f, 0xc4, 0x1f, 0x07, 0xff, 0xa6, + 0xa6, 0xc8, 0x88, 0x10, 0x38, 0x82, 0x9c, 0xb3, 0x2a, 0x96, 0x2f, 0x96, + 0x11, 0x0d, 0xbf, 0x5e, 0x18, 0x0a, 0x28, 0x4e, 0xf6, 0xa5, 0xfe, 0x7a, + 0x12, 0xa5, 0x38, 0x1c, 0x6e, 0xdb, 0x57, 0xb0, 0xd9, 0xb6, 0xf6, 0xef, + 0xe8, 0x0a, 0x51, 0xa4, +}; +static const struct drbg_kat_no_reseed kat1109_t = { + 13, kat1109_entropyin, kat1109_nonce, kat1109_persstr, + kat1109_addin0, kat1109_addin1, kat1109_retbits +}; +static const struct drbg_kat kat1109 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1109_t +}; + +static const unsigned char kat1110_entropyin[] = { + 0xd5, 0x5f, 0x35, 0xb4, 0xd2, 0xa0, 0xb5, 0x25, 0xfe, 0xe7, 0x4a, 0xef, + 0xbc, 0x3c, 0x00, 0x1c, 0xba, 0x7e, 0x4c, 0x3e, 0xe4, 0x7c, 0x5a, 0x0f, + 0x03, 0xa1, 0x55, 0xa0, 0x04, 0x79, 0xc0, 0x81, 0x56, 0x19, 0x0a, 0x00, + 0x1f, 0xe6, 0x92, 0x8d, +}; +static const unsigned char kat1110_nonce[] = {0}; +static const unsigned char kat1110_persstr[] = {0}; +static const unsigned char kat1110_addin0[] = { + 0xa0, 0xc8, 0xfb, 0x5b, 0xc6, 0x32, 0xce, 0xc6, 0xf7, 0xf7, 0xa3, 0x85, + 0x58, 0x7f, 0x27, 0xee, 0x3e, 0xf3, 0xdf, 0xeb, 0x5a, 0xa1, 0x3d, 0x97, + 0x80, 0x49, 0xc3, 0xd4, 0xa8, 0xe2, 0xff, 0x9b, 0xd3, 0x6d, 0x0e, 0xac, + 0xdf, 0x50, 0x29, 0xb8, +}; +static const unsigned char kat1110_addin1[] = { + 0xd2, 0xc1, 0xec, 0x49, 0xb1, 0xb0, 0xf8, 0x10, 0xae, 0x9a, 0x71, 0xfe, + 0x5d, 0x93, 0xff, 0xa4, 0x00, 0x4e, 0x05, 0xcf, 0x8f, 0xfb, 0x1e, 0x1e, + 0xac, 0xc1, 0x46, 0xc3, 0x7b, 0x3a, 0xf5, 0x25, 0x8b, 0x4e, 0x46, 0x22, + 0x2c, 0xf3, 0x39, 0x14, +}; +static const unsigned char kat1110_retbits[] = { + 0xf3, 0xef, 0x4c, 0x19, 0x2e, 0x85, 0xdc, 0xcd, 0x2d, 0xf5, 0xb1, 0xc5, + 0xf7, 0x91, 0xda, 0xca, 0x65, 0x36, 0x3d, 0x5f, 0x79, 0xbd, 0x49, 0x0b, + 0x7d, 0x92, 0x32, 0xb1, 0x9c, 0x60, 0x59, 0xaa, 0xeb, 0xc4, 0x94, 0xde, + 0xa3, 0x61, 0x52, 0x95, 0xf4, 0x07, 0xae, 0xc1, 0xaf, 0x3b, 0x86, 0x7a, + 0x6d, 0x94, 0xab, 0xdc, 0xc4, 0x1f, 0x68, 0xd2, 0xd9, 0xaf, 0xbe, 0xe1, + 0x96, 0x47, 0xf7, 0x48, +}; +static const struct drbg_kat_no_reseed kat1110_t = { + 14, kat1110_entropyin, kat1110_nonce, kat1110_persstr, + kat1110_addin0, kat1110_addin1, kat1110_retbits +}; +static const struct drbg_kat kat1110 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1110_t +}; + +static const unsigned char kat1111_entropyin[] = { + 0x73, 0xbc, 0x77, 0xfa, 0xae, 0x57, 0x5f, 0x53, 0x00, 0x91, 0x72, 0x66, + 0x95, 0xa1, 0x0f, 0xa8, 0xf3, 0x76, 0xdf, 0x07, 0x22, 0xd5, 0x6a, 0xe5, + 0xa2, 0xe9, 0xd7, 0xaf, 0x20, 0xbf, 0x52, 0xe8, 0x64, 0x97, 0x76, 0x1a, + 0xa9, 0x47, 0xcc, 0x04, +}; +static const unsigned char kat1111_nonce[] = {0}; +static const unsigned char kat1111_persstr[] = { + 0xc2, 0xd2, 0x78, 0xf6, 0xbb, 0x39, 0xd3, 0x44, 0x52, 0xaf, 0xe6, 0xa7, + 0xbb, 0xf5, 0x9c, 0x8e, 0xff, 0xc7, 0xeb, 0xbb, 0x9b, 0x45, 0xc1, 0x29, + 0x59, 0x0a, 0x23, 0x7a, 0x74, 0x37, 0x54, 0x2a, 0x4c, 0x72, 0xd6, 0xcf, + 0xfb, 0x3f, 0x80, 0x40, +}; +static const unsigned char kat1111_addin0[] = {0}; +static const unsigned char kat1111_addin1[] = {0}; +static const unsigned char kat1111_retbits[] = { + 0x41, 0x2d, 0x61, 0x65, 0xd5, 0x34, 0x6b, 0xd5, 0xbf, 0xa0, 0x19, 0xcf, + 0x25, 0x77, 0x39, 0x87, 0xd2, 0x7c, 0x9a, 0x6e, 0x6a, 0xd2, 0x67, 0x47, + 0xaa, 0x73, 0x6c, 0xc0, 0xdb, 0xcb, 0xeb, 0xff, 0x6a, 0x16, 0xde, 0x02, + 0x6b, 0xd4, 0x24, 0x9e, 0x69, 0xf0, 0x02, 0x8e, 0x2b, 0x7e, 0x0a, 0x7d, + 0x0d, 0x0e, 0x43, 0x8b, 0x3d, 0x6d, 0xe2, 0x7f, 0xf6, 0x67, 0x53, 0x99, + 0x8b, 0x5c, 0x33, 0x4b, +}; +static const struct drbg_kat_no_reseed kat1111_t = { + 0, kat1111_entropyin, kat1111_nonce, kat1111_persstr, + kat1111_addin0, kat1111_addin1, kat1111_retbits +}; +static const struct drbg_kat kat1111 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1111_t +}; + +static const unsigned char kat1112_entropyin[] = { + 0x73, 0x06, 0x0e, 0x14, 0x4b, 0xa6, 0x64, 0xad, 0x49, 0xfd, 0xe5, 0xc2, + 0xa5, 0xb6, 0x7c, 0x4a, 0x4a, 0x39, 0x49, 0x55, 0xc8, 0x4f, 0xbb, 0xbe, + 0x96, 0xe1, 0xf4, 0x5f, 0x0e, 0xe5, 0x45, 0x99, 0x79, 0x5f, 0x9b, 0x98, + 0xdd, 0x54, 0x8b, 0xb8, +}; +static const unsigned char kat1112_nonce[] = {0}; +static const unsigned char kat1112_persstr[] = { + 0x06, 0x87, 0x8e, 0x81, 0x90, 0x54, 0xf8, 0x22, 0x8d, 0x66, 0xca, 0x5b, + 0x50, 0x28, 0x89, 0x97, 0x2c, 0x6c, 0x5e, 0x5e, 0xdb, 0x9a, 0xc9, 0x16, + 0x11, 0x87, 0xf9, 0x91, 0x22, 0x91, 0xf7, 0x04, 0x65, 0x69, 0xe7, 0xd9, + 0x0c, 0xcd, 0x0b, 0xee, +}; +static const unsigned char kat1112_addin0[] = {0}; +static const unsigned char kat1112_addin1[] = {0}; +static const unsigned char kat1112_retbits[] = { + 0x17, 0x0b, 0x91, 0xb9, 0x99, 0x08, 0xfc, 0x54, 0xf3, 0x49, 0xd0, 0x8c, + 0x25, 0xc1, 0x0e, 0xa3, 0x2b, 0xc5, 0x3e, 0x85, 0x7e, 0x66, 0x0a, 0x29, + 0x1c, 0xc7, 0x2c, 0x47, 0x85, 0xcc, 0x30, 0xb4, 0x57, 0x4c, 0x48, 0x88, + 0xea, 0xd8, 0xbb, 0xbb, 0x88, 0x25, 0x49, 0x48, 0x70, 0xc7, 0xe8, 0x56, + 0xda, 0x12, 0xdf, 0xe4, 0x2e, 0xe9, 0x9a, 0x6b, 0x55, 0x90, 0x19, 0x68, + 0x57, 0x13, 0x9f, 0xa8, +}; +static const struct drbg_kat_no_reseed kat1112_t = { + 1, kat1112_entropyin, kat1112_nonce, kat1112_persstr, + kat1112_addin0, kat1112_addin1, kat1112_retbits +}; +static const struct drbg_kat kat1112 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1112_t +}; + +static const unsigned char kat1113_entropyin[] = { + 0x0c, 0x81, 0xbc, 0xec, 0x33, 0x66, 0xc0, 0x22, 0x9f, 0x43, 0xdb, 0xcd, + 0x23, 0x26, 0x99, 0xcd, 0x38, 0x84, 0xbf, 0xe5, 0xdc, 0x93, 0x98, 0x85, + 0xf9, 0x37, 0xa4, 0x63, 0x71, 0xd1, 0xf8, 0x21, 0x98, 0xc0, 0x0e, 0x34, + 0x71, 0xe5, 0x98, 0x6d, +}; +static const unsigned char kat1113_nonce[] = {0}; +static const unsigned char kat1113_persstr[] = { + 0x8b, 0x4e, 0x90, 0x22, 0x06, 0x74, 0x7c, 0xf3, 0x5a, 0x7a, 0xd6, 0x4b, + 0x77, 0xe8, 0x56, 0xcc, 0xf1, 0x2d, 0x18, 0x70, 0xff, 0x82, 0x43, 0xb6, + 0x78, 0x3c, 0x70, 0x8e, 0xcd, 0x93, 0x62, 0x77, 0x5a, 0x26, 0xf4, 0x07, + 0x0e, 0x8b, 0x71, 0x64, +}; +static const unsigned char kat1113_addin0[] = {0}; +static const unsigned char kat1113_addin1[] = {0}; +static const unsigned char kat1113_retbits[] = { + 0xa4, 0x2c, 0x8c, 0xc3, 0x3d, 0x7b, 0x86, 0x6b, 0xe1, 0xd8, 0x30, 0xaa, + 0x97, 0xcb, 0xbf, 0x05, 0xf2, 0x88, 0x7e, 0x9e, 0x5b, 0xda, 0x4f, 0x4f, + 0x9f, 0x08, 0xd1, 0x75, 0xfe, 0xee, 0x72, 0xd5, 0xe2, 0x66, 0xc0, 0x6b, + 0x23, 0xe3, 0xb2, 0x9e, 0xbe, 0xb1, 0x4e, 0x25, 0xa8, 0x1b, 0x85, 0x36, + 0x64, 0x57, 0x26, 0xfb, 0xa9, 0x1f, 0x68, 0xf8, 0x34, 0x79, 0x62, 0x23, + 0xd8, 0xdb, 0x94, 0xec, +}; +static const struct drbg_kat_no_reseed kat1113_t = { + 2, kat1113_entropyin, kat1113_nonce, kat1113_persstr, + kat1113_addin0, kat1113_addin1, kat1113_retbits +}; +static const struct drbg_kat kat1113 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1113_t +}; + +static const unsigned char kat1114_entropyin[] = { + 0xc9, 0xd6, 0x91, 0xfc, 0x04, 0x44, 0x80, 0x43, 0xae, 0x13, 0x75, 0x35, + 0x63, 0x95, 0x11, 0x9d, 0xe1, 0xc6, 0xb8, 0xc0, 0x95, 0x75, 0xad, 0x1c, + 0x69, 0x5f, 0x23, 0x1b, 0xb4, 0x2f, 0x4e, 0x17, 0xf2, 0x63, 0x36, 0xc3, + 0x2c, 0xfd, 0x22, 0x5a, +}; +static const unsigned char kat1114_nonce[] = {0}; +static const unsigned char kat1114_persstr[] = { + 0xef, 0xc8, 0x6a, 0x95, 0x0e, 0xb4, 0xf7, 0x5f, 0x3d, 0xf0, 0x36, 0x10, + 0x99, 0xef, 0x05, 0xac, 0xec, 0x57, 0xd7, 0xff, 0x36, 0x56, 0x16, 0x13, + 0x39, 0x78, 0x52, 0x5d, 0x11, 0x4c, 0xdf, 0x7f, 0x91, 0x79, 0x00, 0x72, + 0x52, 0xb1, 0x32, 0x01, +}; +static const unsigned char kat1114_addin0[] = {0}; +static const unsigned char kat1114_addin1[] = {0}; +static const unsigned char kat1114_retbits[] = { + 0xa7, 0x6f, 0x38, 0x1b, 0x9f, 0x37, 0x9d, 0x9e, 0xc1, 0x7a, 0x88, 0xd4, + 0xbc, 0x42, 0xa7, 0xf4, 0x4e, 0x94, 0xc8, 0xf0, 0xc4, 0xd6, 0xf1, 0xac, + 0x9d, 0x23, 0x0e, 0x17, 0x4b, 0x01, 0x56, 0xcc, 0x56, 0xa1, 0xc2, 0x38, + 0x55, 0x05, 0x97, 0x94, 0x26, 0x95, 0x47, 0x6b, 0x26, 0xaf, 0x27, 0x02, + 0xb5, 0x9c, 0x24, 0x20, 0x59, 0x52, 0x15, 0x5a, 0x2f, 0xa0, 0x00, 0xf4, + 0x80, 0x98, 0x65, 0xa2, +}; +static const struct drbg_kat_no_reseed kat1114_t = { + 3, kat1114_entropyin, kat1114_nonce, kat1114_persstr, + kat1114_addin0, kat1114_addin1, kat1114_retbits +}; +static const struct drbg_kat kat1114 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1114_t +}; + +static const unsigned char kat1115_entropyin[] = { + 0x83, 0x86, 0xad, 0x92, 0x45, 0x79, 0xed, 0xd8, 0x0c, 0x5d, 0x7a, 0x6f, + 0x40, 0xad, 0x2e, 0x6a, 0x42, 0x96, 0x7a, 0x02, 0x70, 0xe6, 0x7d, 0x80, + 0xd4, 0x31, 0xfa, 0x15, 0xb3, 0x7d, 0xcd, 0x03, 0x02, 0x04, 0x4c, 0x4b, + 0xe2, 0xa6, 0x1d, 0x25, +}; +static const unsigned char kat1115_nonce[] = {0}; +static const unsigned char kat1115_persstr[] = { + 0x2e, 0xdb, 0x37, 0xbf, 0xf0, 0xfa, 0xec, 0x67, 0xdc, 0x14, 0x9d, 0x34, + 0x5f, 0x64, 0xa9, 0xc0, 0xa1, 0xdb, 0x6e, 0x6d, 0x52, 0x48, 0xfe, 0xa5, + 0x50, 0x10, 0x91, 0xc5, 0xca, 0x64, 0xde, 0x96, 0x43, 0x27, 0x78, 0x34, + 0xd7, 0x38, 0x29, 0x5c, +}; +static const unsigned char kat1115_addin0[] = {0}; +static const unsigned char kat1115_addin1[] = {0}; +static const unsigned char kat1115_retbits[] = { + 0xa4, 0x2d, 0x0b, 0xc8, 0x9f, 0x10, 0x6f, 0x61, 0xbb, 0x3d, 0xd0, 0xa2, + 0x7e, 0x30, 0x5c, 0xf4, 0xdd, 0x2a, 0x84, 0xb4, 0x5d, 0x50, 0x6d, 0x55, + 0x2f, 0xd5, 0x70, 0x26, 0xbd, 0xd7, 0x35, 0xb9, 0x30, 0xc0, 0x13, 0x3c, + 0xa1, 0xd2, 0xee, 0x7c, 0x7f, 0x9e, 0x3a, 0x81, 0xae, 0x7d, 0xf5, 0xb3, + 0xc1, 0x0b, 0x34, 0xec, 0xaf, 0xab, 0xfa, 0xcd, 0x55, 0x53, 0xbd, 0x8b, + 0x75, 0x20, 0x9e, 0x63, +}; +static const struct drbg_kat_no_reseed kat1115_t = { + 4, kat1115_entropyin, kat1115_nonce, kat1115_persstr, + kat1115_addin0, kat1115_addin1, kat1115_retbits +}; +static const struct drbg_kat kat1115 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1115_t +}; + +static const unsigned char kat1116_entropyin[] = { + 0xc1, 0xf8, 0xa8, 0x00, 0x7d, 0x63, 0x2f, 0xa0, 0xcd, 0x3e, 0xda, 0xf1, + 0x8d, 0xce, 0x55, 0xe8, 0x70, 0xfc, 0x1f, 0xd2, 0xfe, 0x1e, 0xa3, 0x32, + 0x10, 0x3b, 0x4b, 0x0c, 0xd8, 0xbf, 0x55, 0x91, 0xc2, 0x58, 0xab, 0x8b, + 0x46, 0xc6, 0xa8, 0x8e, +}; +static const unsigned char kat1116_nonce[] = {0}; +static const unsigned char kat1116_persstr[] = { + 0x1c, 0x25, 0x1c, 0x41, 0x9e, 0x7c, 0x0b, 0x99, 0x97, 0xd8, 0xe7, 0xc8, + 0x66, 0x13, 0x03, 0x3a, 0x8f, 0x01, 0x2b, 0xdd, 0xd4, 0xbd, 0x25, 0x49, + 0x68, 0x31, 0x98, 0x8f, 0xe9, 0x9d, 0x87, 0x32, 0x51, 0x0d, 0x42, 0x60, + 0x76, 0x3c, 0x0e, 0x52, +}; +static const unsigned char kat1116_addin0[] = {0}; +static const unsigned char kat1116_addin1[] = {0}; +static const unsigned char kat1116_retbits[] = { + 0xc7, 0x0a, 0x9f, 0x55, 0x75, 0xfc, 0xba, 0xe8, 0xf7, 0x88, 0x97, 0x6b, + 0x5e, 0xc6, 0x0f, 0x2a, 0xb3, 0x5e, 0x5b, 0x0d, 0x2e, 0x30, 0xaf, 0xfd, + 0xcb, 0xae, 0xb4, 0xc2, 0x4f, 0xc2, 0xbd, 0x26, 0x1b, 0x44, 0x20, 0x22, + 0x57, 0x04, 0x4e, 0x50, 0xf3, 0xc5, 0xc5, 0xe4, 0x11, 0xeb, 0xb2, 0xf0, + 0x79, 0x00, 0xd9, 0x78, 0xf4, 0xfe, 0x66, 0x88, 0x5d, 0x36, 0xb0, 0x1e, + 0xd9, 0x27, 0xda, 0xbf, +}; +static const struct drbg_kat_no_reseed kat1116_t = { + 5, kat1116_entropyin, kat1116_nonce, kat1116_persstr, + kat1116_addin0, kat1116_addin1, kat1116_retbits +}; +static const struct drbg_kat kat1116 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1116_t +}; + +static const unsigned char kat1117_entropyin[] = { + 0x92, 0x68, 0x0c, 0xdb, 0x8e, 0x3b, 0xac, 0x00, 0xca, 0x0c, 0xa2, 0x5e, + 0x98, 0x8f, 0x6f, 0xbc, 0x3c, 0xe2, 0xa6, 0xec, 0x27, 0x6d, 0x8b, 0x30, + 0xb9, 0xee, 0x5d, 0x79, 0x33, 0xde, 0xcd, 0x3f, 0x90, 0xb3, 0x39, 0xf0, + 0x86, 0x1b, 0x49, 0x3c, +}; +static const unsigned char kat1117_nonce[] = {0}; +static const unsigned char kat1117_persstr[] = { + 0xd7, 0x07, 0xff, 0x05, 0x26, 0xdf, 0xc0, 0xc7, 0xea, 0xfa, 0x3d, 0x76, + 0xf5, 0xad, 0x0e, 0x9d, 0x98, 0x19, 0x2e, 0xce, 0x08, 0x55, 0xce, 0x09, + 0xed, 0xba, 0x0a, 0xef, 0xe8, 0x19, 0xb9, 0x40, 0x58, 0x5b, 0x5d, 0xf8, + 0xca, 0x43, 0x7e, 0xad, +}; +static const unsigned char kat1117_addin0[] = {0}; +static const unsigned char kat1117_addin1[] = {0}; +static const unsigned char kat1117_retbits[] = { + 0xfe, 0xab, 0x4a, 0x78, 0x23, 0x96, 0x63, 0x89, 0x7e, 0x66, 0x15, 0x71, + 0x84, 0xbf, 0xe8, 0x56, 0x8e, 0x3c, 0xc4, 0x60, 0x12, 0x90, 0x8e, 0x8d, + 0x96, 0xf2, 0x1c, 0xdb, 0xeb, 0x79, 0x41, 0xe4, 0x30, 0x58, 0x17, 0x87, + 0xe0, 0x8d, 0xd9, 0x19, 0x8b, 0xda, 0xf5, 0x8f, 0xf8, 0x84, 0xd8, 0x34, + 0xc0, 0x82, 0x7b, 0xf9, 0x31, 0x11, 0x3c, 0x00, 0xc3, 0x4f, 0x98, 0x8f, + 0x1d, 0x7b, 0x05, 0xed, +}; +static const struct drbg_kat_no_reseed kat1117_t = { + 6, kat1117_entropyin, kat1117_nonce, kat1117_persstr, + kat1117_addin0, kat1117_addin1, kat1117_retbits +}; +static const struct drbg_kat kat1117 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1117_t +}; + +static const unsigned char kat1118_entropyin[] = { + 0x7b, 0x53, 0xfe, 0x45, 0xe5, 0xb6, 0x1c, 0x13, 0x0a, 0x42, 0xfc, 0xe9, + 0x2a, 0x66, 0xa9, 0x5d, 0xca, 0x41, 0x7c, 0x17, 0x23, 0x3b, 0x68, 0xe2, + 0xd8, 0xba, 0x7d, 0x18, 0xa0, 0x2a, 0xcb, 0x57, 0x4d, 0xa2, 0xc0, 0x48, + 0xbc, 0x29, 0xdb, 0x9a, +}; +static const unsigned char kat1118_nonce[] = {0}; +static const unsigned char kat1118_persstr[] = { + 0x14, 0x63, 0xa8, 0xe6, 0x30, 0x64, 0xf6, 0xbd, 0xf4, 0xf4, 0x2b, 0xfa, + 0x7c, 0x74, 0x85, 0xab, 0x7b, 0xa6, 0xad, 0xa5, 0xb0, 0xe5, 0xe8, 0x7d, + 0xc8, 0x8a, 0x36, 0xe9, 0xbd, 0xf3, 0x9f, 0x70, 0xa7, 0xe9, 0x95, 0xd2, + 0xde, 0xd3, 0xc2, 0xb5, +}; +static const unsigned char kat1118_addin0[] = {0}; +static const unsigned char kat1118_addin1[] = {0}; +static const unsigned char kat1118_retbits[] = { + 0x09, 0xc8, 0x69, 0xac, 0x97, 0xef, 0xce, 0x03, 0x78, 0xa8, 0x78, 0xf7, + 0x76, 0x42, 0xd5, 0x02, 0x72, 0x50, 0x48, 0xc9, 0x50, 0x52, 0xc8, 0x22, + 0x0f, 0x25, 0xf0, 0x3b, 0xd9, 0xbd, 0x60, 0xa1, 0x19, 0x8e, 0x45, 0xd4, + 0x99, 0x40, 0xae, 0x35, 0xc2, 0x57, 0x1a, 0x72, 0xcd, 0xea, 0xe2, 0x97, + 0xd0, 0x23, 0xec, 0x4c, 0xdc, 0x10, 0x47, 0x2f, 0x11, 0x12, 0xa8, 0x79, + 0x6f, 0xa2, 0x53, 0x26, +}; +static const struct drbg_kat_no_reseed kat1118_t = { + 7, kat1118_entropyin, kat1118_nonce, kat1118_persstr, + kat1118_addin0, kat1118_addin1, kat1118_retbits +}; +static const struct drbg_kat kat1118 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1118_t +}; + +static const unsigned char kat1119_entropyin[] = { + 0x8a, 0xdf, 0xc0, 0x4d, 0xdb, 0x2f, 0x8a, 0x3b, 0x13, 0xde, 0xf4, 0x12, + 0x8d, 0x10, 0x29, 0xa7, 0x02, 0x76, 0xc5, 0x3e, 0x69, 0x0a, 0xe2, 0x1a, + 0x1e, 0xe9, 0xc3, 0x6e, 0x4a, 0x26, 0xf8, 0x92, 0x82, 0x68, 0xa4, 0xc5, + 0xa8, 0xbb, 0xc9, 0xea, +}; +static const unsigned char kat1119_nonce[] = {0}; +static const unsigned char kat1119_persstr[] = { + 0xab, 0x5c, 0x19, 0x85, 0x7a, 0xd9, 0x10, 0x4f, 0xbe, 0x12, 0x6b, 0xd5, + 0x94, 0x1d, 0xb3, 0x1a, 0x61, 0x1d, 0xfc, 0x5a, 0xdb, 0xda, 0x9b, 0x1b, + 0x77, 0x2e, 0xd2, 0xb0, 0x8c, 0x01, 0x53, 0x61, 0x38, 0xf0, 0x83, 0x78, + 0x2d, 0xf6, 0xe2, 0x22, +}; +static const unsigned char kat1119_addin0[] = {0}; +static const unsigned char kat1119_addin1[] = {0}; +static const unsigned char kat1119_retbits[] = { + 0xb5, 0x62, 0x69, 0x5d, 0xc1, 0xa0, 0x88, 0xb1, 0xb7, 0xf5, 0xe3, 0xee, + 0x69, 0xd6, 0xc9, 0xe7, 0x67, 0xa6, 0xc7, 0x6f, 0x8c, 0x48, 0x3c, 0x8c, + 0xce, 0x4a, 0x8e, 0xf8, 0xe5, 0x88, 0xe5, 0x3a, 0xab, 0x1d, 0x2a, 0xc4, + 0xdb, 0xab, 0x12, 0x4f, 0x30, 0x7d, 0xef, 0x49, 0x1b, 0xf8, 0x43, 0xd6, + 0x16, 0x8c, 0x88, 0xb5, 0x28, 0xad, 0x4c, 0x41, 0x7d, 0xbf, 0xb6, 0x16, + 0xcc, 0x0a, 0x7c, 0xcb, +}; +static const struct drbg_kat_no_reseed kat1119_t = { + 8, kat1119_entropyin, kat1119_nonce, kat1119_persstr, + kat1119_addin0, kat1119_addin1, kat1119_retbits +}; +static const struct drbg_kat kat1119 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1119_t +}; + +static const unsigned char kat1120_entropyin[] = { + 0x39, 0x94, 0xd9, 0x21, 0xe9, 0xb2, 0x4e, 0xbe, 0xea, 0xa2, 0xb3, 0xf1, + 0x5e, 0x74, 0x9b, 0x00, 0x35, 0x3a, 0xbb, 0xb4, 0xf0, 0x58, 0x38, 0xe6, + 0x55, 0x95, 0x66, 0x53, 0xad, 0xbc, 0x27, 0xc5, 0x80, 0xc0, 0x9c, 0xd6, + 0xeb, 0x8c, 0xde, 0x30, +}; +static const unsigned char kat1120_nonce[] = {0}; +static const unsigned char kat1120_persstr[] = { + 0x71, 0xeb, 0x26, 0xe6, 0x11, 0x12, 0xb1, 0x1f, 0x21, 0x8d, 0x01, 0x6a, + 0x67, 0x86, 0x84, 0xb8, 0xaa, 0xab, 0x65, 0x19, 0xea, 0x41, 0xaf, 0x21, + 0xfc, 0x71, 0x3c, 0x4a, 0xfa, 0x14, 0xf3, 0x9d, 0x49, 0xa5, 0xa7, 0x47, + 0x23, 0x44, 0xde, 0xf1, +}; +static const unsigned char kat1120_addin0[] = {0}; +static const unsigned char kat1120_addin1[] = {0}; +static const unsigned char kat1120_retbits[] = { + 0x59, 0xde, 0x04, 0xbc, 0x36, 0x02, 0x49, 0x61, 0x7d, 0x96, 0x9c, 0xe7, + 0xdd, 0xe7, 0xb6, 0x38, 0xdb, 0xf0, 0xd1, 0x04, 0xe0, 0xd3, 0xc9, 0xce, + 0x0a, 0x63, 0xa4, 0xa7, 0x37, 0x69, 0x76, 0xa3, 0x38, 0xf9, 0xe5, 0xb3, + 0x06, 0x08, 0xc2, 0xe1, 0xb8, 0x81, 0xd8, 0x2f, 0xc6, 0xdd, 0x5a, 0xe2, + 0x51, 0x84, 0xd6, 0xf0, 0x7c, 0xb0, 0xdc, 0x2f, 0x5d, 0x99, 0x89, 0xea, + 0x49, 0x10, 0x0c, 0x01, +}; +static const struct drbg_kat_no_reseed kat1120_t = { + 9, kat1120_entropyin, kat1120_nonce, kat1120_persstr, + kat1120_addin0, kat1120_addin1, kat1120_retbits +}; +static const struct drbg_kat kat1120 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1120_t +}; + +static const unsigned char kat1121_entropyin[] = { + 0x2a, 0x3d, 0x16, 0xa9, 0x6d, 0xaa, 0xc4, 0xb6, 0xc9, 0xa6, 0x47, 0x47, + 0x29, 0x75, 0x22, 0x04, 0xb3, 0xf1, 0x97, 0xe9, 0x39, 0x61, 0x80, 0xc9, + 0x85, 0x51, 0xcd, 0x36, 0xf0, 0xfc, 0x68, 0xb7, 0xfd, 0xf5, 0x33, 0x11, + 0x5d, 0xa6, 0xb2, 0xc6, +}; +static const unsigned char kat1121_nonce[] = {0}; +static const unsigned char kat1121_persstr[] = { + 0x54, 0x7e, 0x34, 0x34, 0x00, 0x65, 0xfd, 0xbe, 0xb4, 0x09, 0xff, 0xf4, + 0x9f, 0x2d, 0x9a, 0x97, 0xc5, 0x20, 0x2a, 0xa1, 0x48, 0xaa, 0x7e, 0x85, + 0x19, 0x61, 0x07, 0x99, 0xa6, 0x82, 0xde, 0x81, 0xc5, 0x03, 0xbb, 0x52, + 0xad, 0xdd, 0x50, 0xac, +}; +static const unsigned char kat1121_addin0[] = {0}; +static const unsigned char kat1121_addin1[] = {0}; +static const unsigned char kat1121_retbits[] = { + 0x21, 0x56, 0x1c, 0x15, 0xd0, 0x24, 0x05, 0x0a, 0x5c, 0xbf, 0x8d, 0x31, + 0x47, 0x2c, 0xd5, 0x20, 0x10, 0xba, 0x0a, 0x73, 0x85, 0xb5, 0xf6, 0xf0, + 0xea, 0x03, 0xbd, 0xbf, 0x52, 0x3a, 0x82, 0x8f, 0x7a, 0x75, 0xde, 0x85, + 0x86, 0xfe, 0xee, 0xa9, 0x8a, 0xdc, 0x56, 0xc9, 0x15, 0xb5, 0xcf, 0xba, + 0x41, 0x6d, 0xd3, 0x66, 0x1c, 0x2c, 0xee, 0x54, 0x14, 0x3f, 0xee, 0x22, + 0x87, 0xbb, 0x3f, 0x90, +}; +static const struct drbg_kat_no_reseed kat1121_t = { + 10, kat1121_entropyin, kat1121_nonce, kat1121_persstr, + kat1121_addin0, kat1121_addin1, kat1121_retbits +}; +static const struct drbg_kat kat1121 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1121_t +}; + +static const unsigned char kat1122_entropyin[] = { + 0xc9, 0xdb, 0x6c, 0x55, 0x9b, 0xe9, 0xae, 0xc8, 0xe2, 0xc4, 0x6c, 0x57, + 0x5e, 0xff, 0x25, 0x75, 0x3b, 0xfa, 0x9d, 0x88, 0x6e, 0x93, 0x4b, 0x8c, + 0x2d, 0x22, 0x6d, 0xed, 0xa6, 0xe8, 0xc8, 0xbe, 0x8b, 0xea, 0x68, 0xae, + 0xc4, 0x01, 0x53, 0x74, +}; +static const unsigned char kat1122_nonce[] = {0}; +static const unsigned char kat1122_persstr[] = { + 0xf5, 0x63, 0xde, 0xb7, 0x0b, 0xd6, 0x58, 0x73, 0xb8, 0x33, 0xb2, 0xca, + 0xba, 0x74, 0x6f, 0x78, 0x97, 0x39, 0x4f, 0xab, 0x8b, 0x13, 0xc3, 0xf9, + 0x84, 0xc0, 0x9b, 0x33, 0xbd, 0xbe, 0x8e, 0x95, 0x49, 0xd9, 0x40, 0x70, + 0xdd, 0xbb, 0x95, 0x34, +}; +static const unsigned char kat1122_addin0[] = {0}; +static const unsigned char kat1122_addin1[] = {0}; +static const unsigned char kat1122_retbits[] = { + 0xd0, 0x85, 0xdd, 0xff, 0x1a, 0x1f, 0x8b, 0x9d, 0x38, 0xd4, 0x13, 0xa6, + 0x6c, 0x92, 0x44, 0x4d, 0xe1, 0x4f, 0x5e, 0x76, 0x2d, 0x77, 0x12, 0x7c, + 0x83, 0x03, 0x8a, 0x77, 0x53, 0xf0, 0x21, 0x00, 0x20, 0xec, 0xd6, 0x48, + 0x13, 0xf0, 0xf8, 0x8d, 0xc6, 0xa7, 0x14, 0x42, 0x8e, 0xa6, 0xbe, 0xbe, + 0x9a, 0x9e, 0x73, 0x8e, 0x7a, 0xfb, 0xea, 0x47, 0x4c, 0x1f, 0xf7, 0x55, + 0x3a, 0x31, 0xbf, 0x8c, +}; +static const struct drbg_kat_no_reseed kat1122_t = { + 11, kat1122_entropyin, kat1122_nonce, kat1122_persstr, + kat1122_addin0, kat1122_addin1, kat1122_retbits +}; +static const struct drbg_kat kat1122 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1122_t +}; + +static const unsigned char kat1123_entropyin[] = { + 0xbd, 0x59, 0x8f, 0xec, 0x98, 0xb3, 0x55, 0xc4, 0xca, 0x8b, 0x8f, 0x12, + 0x9e, 0x71, 0x17, 0x9b, 0x57, 0x5c, 0x64, 0x93, 0x3d, 0x04, 0xb1, 0xd7, + 0x2a, 0x3e, 0x57, 0xd0, 0x4f, 0x50, 0x7c, 0x33, 0x7c, 0x64, 0xf7, 0x28, + 0xe7, 0x6c, 0xbd, 0xda, +}; +static const unsigned char kat1123_nonce[] = {0}; +static const unsigned char kat1123_persstr[] = { + 0x7d, 0xe3, 0xa8, 0x49, 0x20, 0xd4, 0xbe, 0xe4, 0xf3, 0x3e, 0x18, 0xf0, + 0x60, 0xad, 0x9a, 0x00, 0xd6, 0x8d, 0xec, 0xd0, 0x02, 0xa3, 0x6c, 0xb8, + 0x5d, 0x9b, 0x9d, 0xaf, 0x46, 0x27, 0x12, 0x75, 0x31, 0xea, 0xef, 0xb2, + 0xd4, 0xdd, 0x40, 0x6d, +}; +static const unsigned char kat1123_addin0[] = {0}; +static const unsigned char kat1123_addin1[] = {0}; +static const unsigned char kat1123_retbits[] = { + 0xd1, 0x98, 0xdc, 0xac, 0xfa, 0xc4, 0x72, 0x19, 0x9d, 0xe0, 0x2a, 0x74, + 0xfd, 0x1a, 0x09, 0xee, 0x94, 0x12, 0xeb, 0x31, 0xf0, 0x06, 0xbf, 0x9d, + 0xc7, 0x76, 0x7f, 0xca, 0x43, 0xd8, 0xdf, 0xc8, 0x3c, 0x9e, 0xac, 0xc3, + 0xbd, 0xc8, 0x2f, 0x2a, 0x08, 0x3a, 0x7a, 0xad, 0xd8, 0xa5, 0xc7, 0x1a, + 0xac, 0xd4, 0xaa, 0xb6, 0x9e, 0x11, 0x60, 0xcb, 0xb7, 0x55, 0x8f, 0xd1, + 0xb3, 0x7f, 0xb1, 0xdd, +}; +static const struct drbg_kat_no_reseed kat1123_t = { + 12, kat1123_entropyin, kat1123_nonce, kat1123_persstr, + kat1123_addin0, kat1123_addin1, kat1123_retbits +}; +static const struct drbg_kat kat1123 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1123_t +}; + +static const unsigned char kat1124_entropyin[] = { + 0x75, 0x55, 0xaa, 0x70, 0x03, 0x9f, 0x91, 0x21, 0x42, 0xcb, 0xb9, 0x9f, + 0xcd, 0x54, 0xb6, 0x06, 0x7a, 0x55, 0x1a, 0xfe, 0xfc, 0x82, 0x70, 0x66, + 0xe2, 0xba, 0x03, 0x81, 0x6f, 0x76, 0xb0, 0xfd, 0xbc, 0xa8, 0x60, 0x91, + 0x19, 0xc2, 0x1d, 0x33, +}; +static const unsigned char kat1124_nonce[] = {0}; +static const unsigned char kat1124_persstr[] = { + 0x8c, 0x3d, 0x8c, 0x10, 0x18, 0x4d, 0x41, 0x7e, 0xcc, 0x7b, 0xed, 0x28, + 0x32, 0x94, 0x6d, 0xe1, 0x30, 0x1f, 0x3a, 0x28, 0x1a, 0x73, 0xfd, 0x60, + 0x03, 0x0c, 0x74, 0x8a, 0xf7, 0xf2, 0x79, 0x95, 0xa3, 0xbe, 0x31, 0xb7, + 0x9e, 0x7f, 0x0c, 0xb5, +}; +static const unsigned char kat1124_addin0[] = {0}; +static const unsigned char kat1124_addin1[] = {0}; +static const unsigned char kat1124_retbits[] = { + 0x27, 0xd7, 0x29, 0xeb, 0x9a, 0x22, 0xd6, 0x7b, 0xf8, 0x30, 0x8b, 0x2e, + 0xdd, 0xdb, 0x4d, 0xfb, 0x2c, 0x22, 0xff, 0xcd, 0x17, 0xef, 0x40, 0x45, + 0xbc, 0x63, 0xdd, 0x6f, 0xd9, 0xf6, 0x68, 0xa7, 0x4c, 0x23, 0x0b, 0x44, + 0x27, 0x7d, 0x9e, 0xe5, 0x04, 0x55, 0x6b, 0x6f, 0xa9, 0xda, 0x96, 0xa8, + 0x1b, 0x20, 0x4b, 0x74, 0x09, 0x78, 0x66, 0xb5, 0xfa, 0x62, 0xef, 0x8e, + 0x87, 0x3c, 0x55, 0x47, +}; +static const struct drbg_kat_no_reseed kat1124_t = { + 13, kat1124_entropyin, kat1124_nonce, kat1124_persstr, + kat1124_addin0, kat1124_addin1, kat1124_retbits +}; +static const struct drbg_kat kat1124 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1124_t +}; + +static const unsigned char kat1125_entropyin[] = { + 0x2d, 0x0c, 0x45, 0xbd, 0xcc, 0xac, 0x3a, 0x97, 0x2f, 0xe4, 0x01, 0x60, + 0x13, 0x79, 0xd5, 0xe5, 0xf6, 0x17, 0x3e, 0xde, 0xa8, 0x23, 0xd5, 0x31, + 0x86, 0x82, 0x9f, 0x34, 0x3c, 0x0d, 0x1c, 0x84, 0x3a, 0x6d, 0x7a, 0x82, + 0x55, 0xc1, 0x5c, 0x9e, +}; +static const unsigned char kat1125_nonce[] = {0}; +static const unsigned char kat1125_persstr[] = { + 0x93, 0x45, 0xdc, 0x1e, 0xe7, 0xc4, 0x28, 0xa9, 0x61, 0xf2, 0xb7, 0x87, + 0xe6, 0xf9, 0x48, 0x7f, 0x93, 0x80, 0x62, 0xaf, 0xd5, 0xfe, 0x3b, 0x3c, + 0xeb, 0x04, 0xba, 0x84, 0x45, 0xb1, 0x11, 0x8a, 0x8e, 0x2e, 0x30, 0xb3, + 0xf0, 0xbc, 0xc2, 0x99, +}; +static const unsigned char kat1125_addin0[] = {0}; +static const unsigned char kat1125_addin1[] = {0}; +static const unsigned char kat1125_retbits[] = { + 0x3d, 0x6f, 0x91, 0x40, 0xfd, 0xb4, 0x6c, 0xc1, 0xa0, 0x4a, 0xe9, 0x87, + 0xdd, 0xa9, 0x1a, 0x18, 0xa7, 0xeb, 0x59, 0x24, 0x0c, 0x6b, 0x42, 0x92, + 0xf6, 0x4c, 0x84, 0x45, 0xf2, 0x7f, 0x1f, 0x72, 0xa2, 0xd8, 0x0e, 0x84, + 0x63, 0xda, 0x01, 0x40, 0x9c, 0xbf, 0x28, 0x41, 0x69, 0x86, 0xed, 0x8a, + 0x85, 0xe8, 0xb9, 0xc4, 0xca, 0xa4, 0x54, 0x16, 0x88, 0xae, 0xde, 0x1b, + 0x69, 0x05, 0xb3, 0x84, +}; +static const struct drbg_kat_no_reseed kat1125_t = { + 14, kat1125_entropyin, kat1125_nonce, kat1125_persstr, + kat1125_addin0, kat1125_addin1, kat1125_retbits +}; +static const struct drbg_kat kat1125 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1125_t +}; + +static const unsigned char kat1126_entropyin[] = { + 0x86, 0xa6, 0x37, 0xcf, 0xa2, 0x62, 0x7d, 0x56, 0x76, 0xb6, 0x92, 0x1b, + 0x86, 0xa9, 0x66, 0x1f, 0x82, 0x03, 0xc4, 0xd9, 0x60, 0x60, 0x24, 0x80, + 0x3f, 0x36, 0x88, 0xc8, 0x87, 0xe0, 0x91, 0xf8, 0xe1, 0x64, 0x40, 0xe6, + 0xfe, 0x92, 0xac, 0x6e, +}; +static const unsigned char kat1126_nonce[] = {0}; +static const unsigned char kat1126_persstr[] = { + 0xb3, 0x5b, 0xbc, 0x23, 0x8f, 0x15, 0x8b, 0x9e, 0xd4, 0x5d, 0xcd, 0x7c, + 0xc3, 0x08, 0x8e, 0xa4, 0xef, 0xfa, 0x04, 0x49, 0x29, 0x62, 0x98, 0x85, + 0x45, 0x98, 0xb6, 0xe3, 0x12, 0xe5, 0x9a, 0x83, 0x08, 0xac, 0x80, 0x19, + 0x74, 0xe3, 0x80, 0x6c, +}; +static const unsigned char kat1126_addin0[] = { + 0x47, 0x8b, 0xb6, 0x9c, 0x78, 0xea, 0xc1, 0x63, 0x49, 0x68, 0x83, 0xc5, + 0xb2, 0xd5, 0x98, 0x75, 0xcd, 0x8a, 0x63, 0x19, 0x03, 0xe4, 0x47, 0xde, + 0x54, 0x34, 0xc7, 0x74, 0xd7, 0x21, 0xe9, 0x1a, 0x82, 0x8e, 0xcd, 0xa6, + 0x0f, 0xb4, 0x4b, 0x7b, +}; +static const unsigned char kat1126_addin1[] = { + 0x75, 0xa8, 0x47, 0x9f, 0xee, 0xa4, 0x02, 0x6e, 0x4c, 0xd1, 0x0c, 0xf5, + 0x82, 0x74, 0xf7, 0x5d, 0xc8, 0x38, 0x89, 0x4c, 0x44, 0xcb, 0x22, 0xc2, + 0xef, 0xbc, 0xe5, 0x27, 0x4e, 0xcc, 0x08, 0x1e, 0x6a, 0x68, 0x76, 0xb6, + 0xba, 0x3d, 0xf8, 0x6f, +}; +static const unsigned char kat1126_retbits[] = { + 0xee, 0x9d, 0x75, 0xd1, 0x23, 0x57, 0x8a, 0x17, 0xa5, 0x7d, 0xee, 0xed, + 0xff, 0x09, 0x3e, 0x6d, 0x69, 0xf5, 0x41, 0x8b, 0x7b, 0xa3, 0x58, 0x1f, + 0xf3, 0x06, 0xee, 0xbf, 0x29, 0x92, 0x71, 0x16, 0x8a, 0xd0, 0x49, 0x4d, + 0x6f, 0x7e, 0x45, 0x6e, 0x71, 0x8b, 0xfe, 0x5a, 0xc7, 0x93, 0x29, 0xd3, + 0x20, 0x4d, 0x56, 0xe8, 0xd2, 0x9b, 0x6d, 0xd8, 0x89, 0x8f, 0xb3, 0x10, + 0x3e, 0xaa, 0x4b, 0x08, +}; +static const struct drbg_kat_no_reseed kat1126_t = { + 0, kat1126_entropyin, kat1126_nonce, kat1126_persstr, + kat1126_addin0, kat1126_addin1, kat1126_retbits +}; +static const struct drbg_kat kat1126 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1126_t +}; + +static const unsigned char kat1127_entropyin[] = { + 0xd7, 0x0c, 0x9e, 0x27, 0x28, 0x20, 0x11, 0x81, 0x15, 0x02, 0x77, 0x23, + 0x63, 0xef, 0xab, 0x57, 0x14, 0xad, 0x29, 0xd6, 0x3a, 0xfe, 0x46, 0x70, + 0x9b, 0xe5, 0x4b, 0xb7, 0x5e, 0x66, 0x9b, 0x7c, 0xb2, 0x9f, 0x05, 0x9a, + 0x14, 0x77, 0xbd, 0xf9, +}; +static const unsigned char kat1127_nonce[] = {0}; +static const unsigned char kat1127_persstr[] = { + 0x68, 0x42, 0x31, 0xb3, 0x1f, 0xaf, 0xf4, 0x40, 0x6c, 0x5c, 0xee, 0x7e, + 0xfd, 0x76, 0x27, 0xa0, 0x61, 0x00, 0x5e, 0x94, 0xf2, 0x8e, 0x7b, 0x33, + 0xaf, 0xdb, 0x65, 0x64, 0x51, 0x37, 0xd4, 0x8e, 0x98, 0x27, 0xe4, 0x3e, + 0x80, 0x36, 0x1d, 0x44, +}; +static const unsigned char kat1127_addin0[] = { + 0x73, 0x0c, 0xca, 0xd6, 0x11, 0x9f, 0x8a, 0xed, 0xa4, 0xc3, 0x6a, 0x11, + 0x01, 0xaa, 0xd4, 0xf1, 0x5f, 0xe2, 0x11, 0x42, 0x0c, 0xa3, 0x53, 0x87, + 0xbe, 0x0e, 0xb3, 0x6f, 0xa8, 0x5e, 0x55, 0x5d, 0xf2, 0x5b, 0x3b, 0xf0, + 0x11, 0x01, 0x29, 0xc9, +}; +static const unsigned char kat1127_addin1[] = { + 0xe3, 0x8a, 0x65, 0x71, 0x1b, 0x71, 0xd4, 0x40, 0x0d, 0xc3, 0xb9, 0x0d, + 0x74, 0x2f, 0x30, 0x1e, 0xc1, 0x46, 0x9f, 0xb9, 0xbb, 0x0e, 0x9f, 0xc5, + 0x7e, 0xc2, 0x3f, 0xf1, 0x25, 0xb8, 0xa7, 0xe5, 0x26, 0xee, 0x09, 0x32, + 0x60, 0x87, 0x5e, 0xe7, +}; +static const unsigned char kat1127_retbits[] = { + 0x76, 0x43, 0x84, 0x03, 0xd0, 0xe5, 0xb9, 0xcf, 0x0a, 0x6f, 0x3f, 0xf3, + 0xdb, 0xad, 0xac, 0x9a, 0x57, 0x76, 0xb5, 0xbe, 0x63, 0x5f, 0xac, 0x09, + 0x1e, 0xcb, 0xe6, 0xd5, 0xc3, 0x00, 0x5b, 0x54, 0xdc, 0x9a, 0x34, 0xe3, + 0xbb, 0x1b, 0xf3, 0xc2, 0x46, 0x48, 0x4a, 0x91, 0x34, 0xc4, 0x30, 0x60, + 0x4e, 0x30, 0x80, 0xa0, 0x57, 0x01, 0x24, 0xfc, 0x9e, 0x5e, 0x6f, 0x4d, + 0x97, 0x7f, 0x59, 0xd2, +}; +static const struct drbg_kat_no_reseed kat1127_t = { + 1, kat1127_entropyin, kat1127_nonce, kat1127_persstr, + kat1127_addin0, kat1127_addin1, kat1127_retbits +}; +static const struct drbg_kat kat1127 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1127_t +}; + +static const unsigned char kat1128_entropyin[] = { + 0x71, 0xb1, 0x9f, 0x72, 0xaf, 0x5d, 0x76, 0x77, 0x6e, 0x37, 0x36, 0x91, + 0xe1, 0x9a, 0xa2, 0xe3, 0xc9, 0xe8, 0x4e, 0xaa, 0x2d, 0x7d, 0x33, 0x50, + 0xb7, 0x7e, 0x22, 0x91, 0xc0, 0x00, 0xfa, 0x4c, 0x50, 0xe1, 0x17, 0x6b, + 0x01, 0xc0, 0x18, 0x39, +}; +static const unsigned char kat1128_nonce[] = {0}; +static const unsigned char kat1128_persstr[] = { + 0x2a, 0x6f, 0x83, 0x41, 0x22, 0xbf, 0x08, 0xfb, 0xfd, 0x1c, 0x7c, 0xa3, + 0x1c, 0x6a, 0xea, 0x08, 0xda, 0x21, 0x94, 0x2d, 0x88, 0xc4, 0x1d, 0x44, + 0x52, 0x80, 0xc1, 0xad, 0xbf, 0x84, 0x1e, 0xde, 0x1c, 0x94, 0x2b, 0xb0, + 0xa1, 0x65, 0xe6, 0xfd, +}; +static const unsigned char kat1128_addin0[] = { + 0x5a, 0x80, 0x30, 0xfa, 0xe3, 0x21, 0x16, 0x2e, 0x2c, 0x42, 0xb1, 0x37, + 0x8a, 0x7b, 0xfd, 0x79, 0xcc, 0x7a, 0xb6, 0x0a, 0xfc, 0x49, 0x8f, 0xe8, + 0x5c, 0x39, 0xef, 0x3c, 0x57, 0x75, 0xc1, 0x2b, 0x75, 0x55, 0x97, 0xa1, + 0x72, 0xbb, 0xfd, 0xd9, +}; +static const unsigned char kat1128_addin1[] = { + 0x5c, 0x23, 0xfd, 0xa8, 0xf8, 0xad, 0x32, 0xbd, 0x6b, 0xbd, 0x6e, 0x49, + 0x87, 0xa4, 0xde, 0x87, 0x77, 0x54, 0xc3, 0x97, 0xd9, 0x25, 0xf3, 0xd6, + 0x99, 0x33, 0x8a, 0x96, 0x83, 0xdb, 0x27, 0x50, 0x2d, 0xe5, 0xd5, 0xdd, + 0xaa, 0xf9, 0xf8, 0xfd, +}; +static const unsigned char kat1128_retbits[] = { + 0x44, 0x5d, 0x75, 0x54, 0xae, 0x0f, 0xc0, 0x81, 0x17, 0xb1, 0x3e, 0x46, + 0x58, 0x5d, 0xf3, 0x42, 0xa0, 0x34, 0xcb, 0x7c, 0xff, 0x51, 0x90, 0xee, + 0xfc, 0x18, 0x07, 0xc0, 0xae, 0xc3, 0xd4, 0x79, 0x32, 0x5a, 0x05, 0xb1, + 0x8e, 0x0c, 0x65, 0xc0, 0x72, 0x91, 0x78, 0xc1, 0x3f, 0xbc, 0xf4, 0x85, + 0x5c, 0x24, 0x8e, 0xc9, 0xdc, 0x7f, 0xef, 0x3c, 0xc3, 0xa8, 0x8e, 0xdf, + 0xe8, 0x2a, 0xb9, 0x99, +}; +static const struct drbg_kat_no_reseed kat1128_t = { + 2, kat1128_entropyin, kat1128_nonce, kat1128_persstr, + kat1128_addin0, kat1128_addin1, kat1128_retbits +}; +static const struct drbg_kat kat1128 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1128_t +}; + +static const unsigned char kat1129_entropyin[] = { + 0xc0, 0xfc, 0x3d, 0x62, 0x7b, 0x4a, 0xe0, 0xdf, 0x05, 0x12, 0x46, 0x97, + 0x24, 0x90, 0x76, 0x65, 0x7a, 0x4c, 0x62, 0xaf, 0x16, 0x2c, 0xcb, 0x9f, + 0xdb, 0xa6, 0x5e, 0x61, 0xe6, 0xba, 0x31, 0x16, 0x5a, 0xfd, 0xc1, 0xd1, + 0x7e, 0xfd, 0x0c, 0xcb, +}; +static const unsigned char kat1129_nonce[] = {0}; +static const unsigned char kat1129_persstr[] = { + 0x59, 0x1a, 0x31, 0x94, 0xf3, 0xa3, 0x47, 0x18, 0x87, 0x24, 0x5d, 0x33, + 0x01, 0x9d, 0xde, 0xef, 0x09, 0x3f, 0x37, 0xb2, 0x82, 0x7a, 0xe1, 0x7a, + 0x56, 0x6e, 0xef, 0xe6, 0x24, 0x81, 0x1c, 0x9c, 0xc6, 0x79, 0x4a, 0x6a, + 0xe7, 0x84, 0x12, 0xc1, +}; +static const unsigned char kat1129_addin0[] = { + 0xd5, 0x39, 0xde, 0x74, 0x65, 0x2c, 0xe1, 0xeb, 0xfa, 0xb5, 0xb4, 0x0c, + 0x1a, 0xac, 0x71, 0x55, 0xf6, 0x96, 0x74, 0xea, 0x89, 0xcb, 0xf2, 0xb3, + 0xb8, 0x3a, 0x97, 0x6c, 0x44, 0x8a, 0x61, 0x43, 0x0c, 0xc8, 0x50, 0xff, + 0x75, 0x32, 0xa5, 0x55, +}; +static const unsigned char kat1129_addin1[] = { + 0xfd, 0x3d, 0x71, 0xc3, 0x41, 0x13, 0x03, 0xad, 0x37, 0xed, 0xcb, 0x96, + 0x35, 0x0c, 0x36, 0xa7, 0x22, 0x53, 0x32, 0x6f, 0xfb, 0x1e, 0xb9, 0xb0, + 0x6e, 0xb4, 0x41, 0x90, 0xf5, 0xc6, 0x25, 0x0a, 0xf5, 0x03, 0x2a, 0xb8, + 0xba, 0xe7, 0x1a, 0xc4, +}; +static const unsigned char kat1129_retbits[] = { + 0x84, 0x78, 0x40, 0xed, 0xda, 0x6e, 0xcb, 0x54, 0x3e, 0x6c, 0x25, 0x81, + 0xd1, 0xa3, 0x26, 0x27, 0x98, 0x73, 0x82, 0x29, 0x78, 0x78, 0x8a, 0xe0, + 0x86, 0x31, 0x71, 0x25, 0x9c, 0xb2, 0x9b, 0xb0, 0xf7, 0x68, 0x74, 0x5d, + 0xfe, 0x41, 0xb9, 0xb6, 0xae, 0x8c, 0x37, 0x76, 0x9d, 0x95, 0x0c, 0x61, + 0x4c, 0x64, 0x4b, 0xd0, 0x43, 0x65, 0x54, 0x00, 0xce, 0x53, 0x41, 0x75, + 0x52, 0x72, 0x4d, 0x78, +}; +static const struct drbg_kat_no_reseed kat1129_t = { + 3, kat1129_entropyin, kat1129_nonce, kat1129_persstr, + kat1129_addin0, kat1129_addin1, kat1129_retbits +}; +static const struct drbg_kat kat1129 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1129_t +}; + +static const unsigned char kat1130_entropyin[] = { + 0x9e, 0xee, 0x03, 0xbb, 0x24, 0x30, 0xde, 0x56, 0xec, 0x78, 0xd4, 0x12, + 0xfd, 0x91, 0x7d, 0x1b, 0xf3, 0xd1, 0x08, 0xa7, 0xb0, 0x72, 0x68, 0xf3, + 0xf5, 0xdd, 0x6b, 0x3b, 0xfa, 0x18, 0x8d, 0x40, 0x06, 0x15, 0x0e, 0x69, + 0x19, 0x4a, 0x01, 0x68, +}; +static const unsigned char kat1130_nonce[] = {0}; +static const unsigned char kat1130_persstr[] = { + 0x23, 0x2d, 0x59, 0xd3, 0xf2, 0x2b, 0x4e, 0xa5, 0x30, 0x52, 0x7a, 0x54, + 0xbc, 0xe5, 0xc0, 0x4f, 0x44, 0xdc, 0x25, 0xe1, 0xc6, 0x8a, 0x14, 0x59, + 0xe2, 0xeb, 0x14, 0xe8, 0x7f, 0x49, 0x69, 0x4f, 0xef, 0x87, 0x90, 0xe0, + 0xed, 0x25, 0x73, 0xa2, +}; +static const unsigned char kat1130_addin0[] = { + 0x84, 0x0a, 0x90, 0xb0, 0x5b, 0x85, 0x2f, 0x8d, 0x8e, 0x33, 0x0c, 0xef, + 0x55, 0xbe, 0xd5, 0xa4, 0x0e, 0x5b, 0x4d, 0x45, 0x2d, 0x77, 0xee, 0x4d, + 0x5f, 0x89, 0x25, 0xe5, 0x4c, 0x3b, 0x0d, 0xd8, 0xf1, 0x0b, 0xc8, 0x5d, + 0xe9, 0x89, 0x09, 0x36, +}; +static const unsigned char kat1130_addin1[] = { + 0xb7, 0x89, 0xc5, 0x03, 0xf6, 0x3c, 0x4b, 0x48, 0x75, 0xc9, 0xfc, 0x29, + 0x16, 0x94, 0x88, 0x5a, 0x5c, 0x2e, 0x16, 0x97, 0x62, 0x01, 0xd1, 0x81, + 0xff, 0xf3, 0x94, 0xa4, 0x69, 0x5e, 0xbf, 0x8d, 0xfc, 0x44, 0x19, 0x18, + 0x07, 0x58, 0x3d, 0x3d, +}; +static const unsigned char kat1130_retbits[] = { + 0x5a, 0x69, 0x12, 0xeb, 0x82, 0xed, 0x76, 0xaf, 0xbe, 0x45, 0x5b, 0x93, + 0xbd, 0xd8, 0x1d, 0x75, 0x49, 0xea, 0xee, 0x7b, 0x99, 0x2c, 0x92, 0x2a, + 0x63, 0x35, 0x6e, 0xb3, 0x24, 0x26, 0x24, 0xec, 0x01, 0xd1, 0x4e, 0x64, + 0x23, 0x85, 0xec, 0xae, 0xd5, 0x0a, 0x89, 0x02, 0xa9, 0x6c, 0x9f, 0x5d, + 0xbb, 0x92, 0xe2, 0x68, 0x91, 0xa9, 0x7a, 0x00, 0xf8, 0x19, 0x1b, 0xa6, + 0x18, 0x81, 0xaa, 0x20, +}; +static const struct drbg_kat_no_reseed kat1130_t = { + 4, kat1130_entropyin, kat1130_nonce, kat1130_persstr, + kat1130_addin0, kat1130_addin1, kat1130_retbits +}; +static const struct drbg_kat kat1130 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1130_t +}; + +static const unsigned char kat1131_entropyin[] = { + 0x50, 0x3e, 0x6f, 0xe0, 0xac, 0xdd, 0x4e, 0x64, 0xed, 0xdc, 0xf5, 0x9c, + 0x88, 0x6c, 0x7a, 0x85, 0x15, 0x91, 0x59, 0x0e, 0x48, 0x23, 0x46, 0xf3, + 0x8c, 0x46, 0x1c, 0xe5, 0xbf, 0xa3, 0xeb, 0x1b, 0x78, 0x43, 0xdc, 0x9b, + 0x3d, 0x19, 0x7d, 0x06, +}; +static const unsigned char kat1131_nonce[] = {0}; +static const unsigned char kat1131_persstr[] = { + 0xc3, 0xc0, 0x7b, 0x2c, 0xd5, 0xb3, 0x12, 0x07, 0xdc, 0x17, 0x11, 0x2b, + 0x27, 0xf7, 0xb7, 0xbe, 0xd1, 0x88, 0xc5, 0x2c, 0x0b, 0x8c, 0xcb, 0x55, + 0xe9, 0x62, 0xb7, 0x51, 0x26, 0x04, 0x30, 0xa5, 0x5f, 0x63, 0xd9, 0x2d, + 0xcf, 0x18, 0x75, 0xb7, +}; +static const unsigned char kat1131_addin0[] = { + 0xd8, 0xcb, 0x98, 0xd2, 0x11, 0x77, 0x96, 0x28, 0x8c, 0x61, 0x6b, 0x27, + 0xe0, 0xa3, 0x66, 0xb9, 0x39, 0xea, 0xcf, 0xcf, 0x0c, 0x9a, 0x0e, 0xf8, + 0x14, 0x6d, 0xed, 0x82, 0x98, 0x13, 0xcf, 0xa3, 0x77, 0xc1, 0x44, 0x67, + 0x79, 0xee, 0xed, 0xf5, +}; +static const unsigned char kat1131_addin1[] = { + 0xbc, 0x36, 0x78, 0x2d, 0x3a, 0x74, 0x36, 0x78, 0x3f, 0x07, 0x1e, 0xd8, + 0x19, 0x27, 0x64, 0x6a, 0xa7, 0xdf, 0xda, 0x1c, 0x87, 0xcd, 0x1f, 0xdd, + 0xf6, 0x7b, 0x59, 0xd3, 0xc0, 0x25, 0xb5, 0x8c, 0xbe, 0x18, 0x52, 0x63, + 0x54, 0x7d, 0x35, 0x37, +}; +static const unsigned char kat1131_retbits[] = { + 0x1a, 0xf7, 0xf9, 0xc7, 0x69, 0xc2, 0xc6, 0xa9, 0x6f, 0x80, 0x87, 0x20, + 0x25, 0x22, 0x0b, 0x6c, 0xc5, 0xca, 0x2b, 0xee, 0x66, 0x64, 0xa0, 0x1f, + 0xff, 0x47, 0x62, 0xb0, 0x72, 0x0e, 0xe2, 0xa9, 0x84, 0x32, 0xcb, 0xc4, + 0x84, 0x59, 0x09, 0xf7, 0x01, 0xd8, 0x10, 0x93, 0x45, 0x90, 0x1d, 0xf5, + 0x37, 0xfb, 0xab, 0xcf, 0x75, 0xf4, 0x6c, 0xc3, 0xa1, 0x8a, 0x7c, 0x07, + 0x60, 0x94, 0x11, 0x05, +}; +static const struct drbg_kat_no_reseed kat1131_t = { + 5, kat1131_entropyin, kat1131_nonce, kat1131_persstr, + kat1131_addin0, kat1131_addin1, kat1131_retbits +}; +static const struct drbg_kat kat1131 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1131_t +}; + +static const unsigned char kat1132_entropyin[] = { + 0x99, 0xfc, 0xa5, 0x5c, 0x7e, 0x8d, 0x75, 0xa5, 0x4c, 0x2c, 0xbf, 0xb8, + 0x3a, 0xc5, 0x7e, 0xf2, 0x66, 0x4c, 0x49, 0x82, 0x70, 0xd3, 0x7b, 0xb5, + 0x37, 0x7f, 0x1e, 0x8f, 0x07, 0x5b, 0x9b, 0xba, 0x8e, 0xa0, 0xcc, 0x3f, + 0x92, 0x21, 0xcc, 0x76, +}; +static const unsigned char kat1132_nonce[] = {0}; +static const unsigned char kat1132_persstr[] = { + 0xa0, 0xd7, 0x59, 0x87, 0xba, 0xcf, 0x99, 0xf2, 0xbc, 0x06, 0x1b, 0x8b, + 0x7d, 0x7e, 0x31, 0x9d, 0x68, 0x49, 0xbd, 0x01, 0x01, 0x2a, 0x05, 0xf0, + 0xc2, 0x63, 0xd5, 0x6f, 0xf5, 0x1d, 0x1a, 0x5e, 0x62, 0xe0, 0x88, 0x16, + 0xb5, 0x03, 0x3d, 0x62, +}; +static const unsigned char kat1132_addin0[] = { + 0xa2, 0x9c, 0x00, 0x6a, 0x4e, 0x8c, 0xb8, 0x9c, 0xf1, 0x0e, 0x2a, 0x13, + 0xe7, 0xa7, 0x94, 0xfa, 0x8d, 0x9a, 0xd6, 0x3b, 0x18, 0x4b, 0xdd, 0x59, + 0xb2, 0xf4, 0xed, 0x81, 0x58, 0x2a, 0x6a, 0xbd, 0xef, 0x11, 0x95, 0xb5, + 0x3f, 0xc4, 0xa2, 0x66, +}; +static const unsigned char kat1132_addin1[] = { + 0x82, 0x7e, 0x3d, 0x24, 0xb0, 0x2f, 0x0d, 0xe9, 0xad, 0xca, 0xca, 0x7d, + 0x22, 0x4b, 0xbd, 0x8d, 0x6d, 0xf5, 0x0d, 0x18, 0xcf, 0x41, 0x42, 0x57, + 0xb6, 0xd5, 0x53, 0xa4, 0x2b, 0x14, 0xe8, 0x3f, 0x2f, 0x54, 0xe2, 0x55, + 0x5e, 0x3f, 0xe1, 0x06, +}; +static const unsigned char kat1132_retbits[] = { + 0x67, 0xa2, 0xc4, 0x48, 0x48, 0x8a, 0x1f, 0xc1, 0xe6, 0xbc, 0x64, 0xa3, + 0x38, 0x71, 0xc1, 0x5d, 0x89, 0x81, 0x91, 0x4f, 0x4b, 0x06, 0x3f, 0x78, + 0x1c, 0x9d, 0xd1, 0x03, 0xd6, 0xf9, 0x28, 0x2e, 0xdb, 0xcc, 0x14, 0x97, + 0xe4, 0xbd, 0x1a, 0xb3, 0x70, 0xad, 0xfa, 0x17, 0x0e, 0x25, 0xa7, 0x07, + 0xe1, 0xe4, 0x3e, 0x0c, 0xbd, 0x95, 0x02, 0xda, 0x6e, 0x6b, 0xb8, 0xe4, + 0xe4, 0x55, 0xd1, 0xc1, +}; +static const struct drbg_kat_no_reseed kat1132_t = { + 6, kat1132_entropyin, kat1132_nonce, kat1132_persstr, + kat1132_addin0, kat1132_addin1, kat1132_retbits +}; +static const struct drbg_kat kat1132 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1132_t +}; + +static const unsigned char kat1133_entropyin[] = { + 0xc5, 0x34, 0x42, 0xf6, 0x79, 0xca, 0xaa, 0xbb, 0x9c, 0x99, 0xaa, 0x01, + 0x9e, 0x6c, 0x63, 0xba, 0xde, 0xb8, 0xbf, 0x2d, 0xaf, 0x98, 0x4b, 0x9e, + 0x9c, 0xb7, 0x9c, 0x2b, 0x02, 0x5a, 0x40, 0xd2, 0x08, 0x70, 0x4d, 0x73, + 0x86, 0xb0, 0x7a, 0x8c, +}; +static const unsigned char kat1133_nonce[] = {0}; +static const unsigned char kat1133_persstr[] = { + 0xbb, 0x12, 0x18, 0xbe, 0xb2, 0x9c, 0xdc, 0xb6, 0x8e, 0x38, 0x72, 0xdb, + 0x28, 0x68, 0x2d, 0x45, 0x91, 0x3a, 0xfb, 0x76, 0xb6, 0xd3, 0x5d, 0x8b, + 0x2b, 0x95, 0x07, 0xba, 0xe9, 0x12, 0x4f, 0x81, 0x93, 0x4d, 0x96, 0xaa, + 0x68, 0xf1, 0x90, 0xdb, +}; +static const unsigned char kat1133_addin0[] = { + 0xce, 0x35, 0x39, 0x9e, 0x1f, 0x43, 0xb2, 0x61, 0x1d, 0x41, 0xe2, 0x4f, + 0x41, 0x7d, 0x42, 0xec, 0x86, 0xfa, 0xbe, 0x8f, 0x25, 0x3b, 0x87, 0xba, + 0xc6, 0x3d, 0xe8, 0x17, 0xab, 0x22, 0x81, 0xf6, 0x7a, 0xe6, 0x88, 0x8d, + 0x7a, 0x9d, 0xfe, 0xde, +}; +static const unsigned char kat1133_addin1[] = { + 0x0a, 0x27, 0x8a, 0x9a, 0x22, 0x5c, 0xd0, 0xff, 0x6f, 0x2e, 0x97, 0x15, + 0x78, 0x96, 0x20, 0x36, 0xf5, 0xef, 0xc7, 0xeb, 0xfa, 0x24, 0xc2, 0xd0, + 0x35, 0xb5, 0xdd, 0x28, 0x75, 0xab, 0x81, 0x44, 0x08, 0xda, 0x49, 0x9b, + 0x98, 0xfe, 0x31, 0x6f, +}; +static const unsigned char kat1133_retbits[] = { + 0x1e, 0xc0, 0x0d, 0x83, 0xfa, 0x60, 0xf4, 0x87, 0x43, 0x89, 0xac, 0xa5, + 0x4e, 0xae, 0x3d, 0xcb, 0x00, 0x56, 0x27, 0x62, 0x58, 0xdc, 0x08, 0x52, + 0xde, 0x98, 0x25, 0xdb, 0xa1, 0x04, 0x97, 0xdf, 0xb7, 0xfe, 0xb3, 0x19, + 0xb2, 0x8b, 0xa1, 0xdc, 0x5a, 0xa4, 0x0a, 0x5f, 0x12, 0x2e, 0xcc, 0xc6, + 0x74, 0x3b, 0xf2, 0xf1, 0x24, 0xcb, 0xf2, 0x82, 0xac, 0x8a, 0x89, 0x9f, + 0x85, 0xf1, 0xa7, 0xa6, +}; +static const struct drbg_kat_no_reseed kat1133_t = { + 7, kat1133_entropyin, kat1133_nonce, kat1133_persstr, + kat1133_addin0, kat1133_addin1, kat1133_retbits +}; +static const struct drbg_kat kat1133 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1133_t +}; + +static const unsigned char kat1134_entropyin[] = { + 0x1b, 0xd8, 0x0f, 0x2e, 0x67, 0x5d, 0x87, 0x59, 0x1c, 0x60, 0x89, 0xf4, + 0x78, 0x89, 0xd0, 0x72, 0x0f, 0xa7, 0xa8, 0x46, 0x7c, 0x9d, 0xc2, 0x98, + 0x00, 0x65, 0x06, 0x57, 0x9e, 0x9d, 0xe7, 0x25, 0xbe, 0x11, 0x3b, 0x0e, + 0x21, 0x9a, 0x9f, 0x67, +}; +static const unsigned char kat1134_nonce[] = {0}; +static const unsigned char kat1134_persstr[] = { + 0x90, 0x1b, 0x44, 0x91, 0xda, 0x7f, 0x84, 0x92, 0xb6, 0xea, 0x91, 0x46, + 0x30, 0xaf, 0x93, 0xe7, 0xa1, 0xc1, 0xb2, 0x99, 0x05, 0xe1, 0x48, 0x4d, + 0x6a, 0x1b, 0x9a, 0x04, 0x3c, 0x22, 0xbd, 0xba, 0x3a, 0x02, 0xbf, 0x6a, + 0xb1, 0x62, 0x7c, 0xb5, +}; +static const unsigned char kat1134_addin0[] = { + 0xcf, 0x2c, 0x31, 0x01, 0xdd, 0x6a, 0xaf, 0x06, 0x84, 0xd1, 0xe4, 0x98, + 0xfc, 0xce, 0x47, 0xa8, 0x35, 0xd6, 0x4b, 0x9b, 0xd1, 0x5c, 0xe6, 0x06, + 0x9c, 0x8a, 0xce, 0x6f, 0xb1, 0x7b, 0x36, 0x92, 0xc4, 0x76, 0xdd, 0xde, + 0xb5, 0x65, 0xec, 0x0d, +}; +static const unsigned char kat1134_addin1[] = { + 0xe5, 0x82, 0x34, 0xd0, 0xd8, 0x82, 0x67, 0x05, 0xf4, 0x00, 0xfe, 0xff, + 0x72, 0x64, 0x1c, 0xb4, 0x2c, 0x02, 0x07, 0x9c, 0xc4, 0xd9, 0x75, 0x1c, + 0x00, 0x37, 0x78, 0xbe, 0xd4, 0x5f, 0x2d, 0x50, 0xc3, 0x97, 0xd6, 0x99, + 0xc6, 0x53, 0x00, 0x3d, +}; +static const unsigned char kat1134_retbits[] = { + 0x74, 0x4d, 0x1f, 0xca, 0x65, 0xaf, 0x43, 0x6a, 0x0c, 0x55, 0x5a, 0xf1, + 0x97, 0x00, 0x17, 0xe1, 0xba, 0x4c, 0x37, 0xf0, 0x85, 0xf7, 0x3b, 0xf4, + 0xe6, 0x69, 0x96, 0x36, 0x9f, 0x5a, 0x6b, 0x52, 0xbd, 0x93, 0xa5, 0xe0, + 0x68, 0x4a, 0xd1, 0x1c, 0xae, 0x56, 0x91, 0xe7, 0x65, 0x49, 0x6c, 0x35, + 0x08, 0xbc, 0x1e, 0x50, 0x90, 0x37, 0xc2, 0xbe, 0x83, 0x55, 0xa2, 0x9c, + 0x6b, 0x32, 0x61, 0x12, +}; +static const struct drbg_kat_no_reseed kat1134_t = { + 8, kat1134_entropyin, kat1134_nonce, kat1134_persstr, + kat1134_addin0, kat1134_addin1, kat1134_retbits +}; +static const struct drbg_kat kat1134 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1134_t +}; + +static const unsigned char kat1135_entropyin[] = { + 0xb5, 0x59, 0x81, 0xbe, 0x58, 0xa1, 0xdf, 0x6c, 0x69, 0xfc, 0x91, 0x05, + 0xa5, 0x47, 0x57, 0x40, 0xef, 0xe9, 0xcf, 0x09, 0xe1, 0xb3, 0xfc, 0xe2, + 0x49, 0xaa, 0xdb, 0x46, 0x1f, 0x1f, 0xfc, 0xac, 0xc1, 0xac, 0xd8, 0x29, + 0x0b, 0xff, 0x03, 0xd3, +}; +static const unsigned char kat1135_nonce[] = {0}; +static const unsigned char kat1135_persstr[] = { + 0xae, 0x53, 0x33, 0xfa, 0x93, 0xc5, 0x32, 0xda, 0x50, 0x3e, 0x58, 0x00, + 0xaf, 0x99, 0x4e, 0x0d, 0xc2, 0x57, 0x0e, 0x5a, 0x32, 0xa8, 0x02, 0xc2, + 0x12, 0x06, 0x18, 0x5a, 0x79, 0x56, 0x44, 0x33, 0xb5, 0x81, 0x1c, 0x42, + 0x71, 0x55, 0x55, 0x94, +}; +static const unsigned char kat1135_addin0[] = { + 0x98, 0xcb, 0x86, 0x0a, 0x53, 0xe7, 0xb6, 0xe6, 0x4e, 0x87, 0x4b, 0x07, + 0xf3, 0x1b, 0x36, 0x44, 0xff, 0x37, 0x99, 0x4a, 0x67, 0x6e, 0x31, 0xe6, + 0x24, 0x52, 0x15, 0xe3, 0xff, 0x0d, 0x5f, 0x34, 0xdd, 0x98, 0xda, 0xe1, + 0x53, 0x5c, 0x96, 0x5a, +}; +static const unsigned char kat1135_addin1[] = { + 0x37, 0x67, 0x95, 0x31, 0xc9, 0xfd, 0xd3, 0x65, 0x51, 0x4f, 0x57, 0x8d, + 0x0e, 0xdb, 0x19, 0xc2, 0x5e, 0xc6, 0x13, 0x24, 0x23, 0x4b, 0x96, 0x3f, + 0x9b, 0x0f, 0xac, 0xba, 0xc3, 0xcb, 0xe3, 0x83, 0xed, 0xaa, 0xb2, 0xfd, + 0x8d, 0x0a, 0xfb, 0x0c, +}; +static const unsigned char kat1135_retbits[] = { + 0xec, 0x49, 0x1d, 0xe0, 0x75, 0x88, 0xf7, 0x5b, 0x9a, 0x88, 0xdb, 0x02, + 0xb4, 0x11, 0x5f, 0xbb, 0xe3, 0xda, 0x26, 0xe8, 0xb7, 0x53, 0xb8, 0x65, + 0x47, 0xc2, 0x3f, 0xe7, 0x08, 0x85, 0xf2, 0x2a, 0x0c, 0xe0, 0x7a, 0x54, + 0xa3, 0xca, 0xc1, 0xa2, 0x6f, 0x82, 0xff, 0x84, 0x58, 0xb8, 0x20, 0xb6, + 0xd6, 0x0b, 0xc3, 0xb3, 0xe3, 0xba, 0x82, 0xf2, 0x10, 0xdd, 0xd0, 0x4d, + 0x95, 0x17, 0xe9, 0x7f, +}; +static const struct drbg_kat_no_reseed kat1135_t = { + 9, kat1135_entropyin, kat1135_nonce, kat1135_persstr, + kat1135_addin0, kat1135_addin1, kat1135_retbits +}; +static const struct drbg_kat kat1135 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1135_t +}; + +static const unsigned char kat1136_entropyin[] = { + 0x92, 0xa2, 0x9d, 0x6e, 0x9d, 0xd7, 0x82, 0x56, 0xa6, 0xf8, 0xe5, 0x3c, + 0x80, 0x5d, 0x2c, 0xd6, 0x0e, 0x56, 0xab, 0x68, 0x8b, 0xe2, 0xae, 0x3c, + 0x86, 0xc8, 0x40, 0x7b, 0x57, 0x1a, 0x22, 0xa6, 0xdc, 0xd9, 0x82, 0xd4, + 0xd2, 0x6d, 0xd9, 0xdf, +}; +static const unsigned char kat1136_nonce[] = {0}; +static const unsigned char kat1136_persstr[] = { + 0x5c, 0x0d, 0x2c, 0xfd, 0x68, 0xcf, 0x33, 0xf2, 0x3b, 0x53, 0x92, 0x77, + 0x8d, 0x4f, 0x55, 0x62, 0x22, 0xbf, 0xd8, 0x28, 0x9a, 0xcb, 0x45, 0x8d, + 0x7c, 0xdb, 0xbe, 0x9e, 0xde, 0x29, 0x44, 0xee, 0x80, 0xdb, 0x79, 0x6c, + 0x0d, 0x24, 0xb6, 0xe9, +}; +static const unsigned char kat1136_addin0[] = { + 0xd8, 0xed, 0xe8, 0x2f, 0x04, 0x22, 0x99, 0xfe, 0xb1, 0xe7, 0xf5, 0xfe, + 0xbd, 0x1e, 0x16, 0x22, 0xd4, 0x61, 0x13, 0xcf, 0x3f, 0xc1, 0xac, 0xfb, + 0xb8, 0xcd, 0xdc, 0x4b, 0x49, 0x9a, 0x35, 0x9e, 0x14, 0xcc, 0xc9, 0x4f, + 0xda, 0x1d, 0xa8, 0x3b, +}; +static const unsigned char kat1136_addin1[] = { + 0xc5, 0x93, 0x79, 0x9d, 0x69, 0xdd, 0x85, 0x11, 0x91, 0xd9, 0xc9, 0xb3, + 0xba, 0x00, 0xbd, 0xdb, 0x50, 0x83, 0x16, 0x0b, 0x5d, 0x32, 0xcb, 0xbb, + 0x6d, 0xdc, 0xe7, 0x68, 0x20, 0x65, 0x2b, 0x04, 0x70, 0x2a, 0x80, 0xfb, + 0x8e, 0x11, 0xd3, 0x84, +}; +static const unsigned char kat1136_retbits[] = { + 0x70, 0x20, 0x86, 0x99, 0x10, 0x2b, 0x6b, 0x7f, 0xe9, 0x55, 0x7c, 0x31, + 0xf8, 0x02, 0xc1, 0xf5, 0xa9, 0xb9, 0x4e, 0x4c, 0xe4, 0x03, 0xb9, 0x1e, + 0xd8, 0xb1, 0x09, 0xa8, 0x4c, 0x88, 0x60, 0x61, 0x30, 0xff, 0x5d, 0x29, + 0xa6, 0xd3, 0xc9, 0x87, 0xaf, 0xba, 0xa4, 0xd7, 0x73, 0x03, 0x0b, 0x29, + 0xc6, 0xc6, 0x20, 0x47, 0x31, 0x14, 0xa2, 0xff, 0x9c, 0x2e, 0xc3, 0xf2, + 0x8b, 0x21, 0x1f, 0xd7, +}; +static const struct drbg_kat_no_reseed kat1136_t = { + 10, kat1136_entropyin, kat1136_nonce, kat1136_persstr, + kat1136_addin0, kat1136_addin1, kat1136_retbits +}; +static const struct drbg_kat kat1136 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1136_t +}; + +static const unsigned char kat1137_entropyin[] = { + 0x5b, 0x02, 0x9c, 0x45, 0x71, 0xfd, 0x64, 0x3b, 0x7e, 0x90, 0x46, 0xbf, + 0xa0, 0xb7, 0x74, 0x1c, 0x49, 0x48, 0x12, 0x5e, 0x1a, 0xfc, 0x3a, 0xdc, + 0xa4, 0x43, 0xa5, 0x10, 0xa2, 0x80, 0x0d, 0x4c, 0xc2, 0xed, 0x4e, 0x7d, + 0x97, 0xa7, 0x1f, 0x27, +}; +static const unsigned char kat1137_nonce[] = {0}; +static const unsigned char kat1137_persstr[] = { + 0xcf, 0x92, 0xf9, 0xc2, 0x01, 0x0a, 0xcf, 0xc6, 0xd2, 0xd8, 0xf1, 0x51, + 0xc8, 0x35, 0xf0, 0x96, 0xd5, 0xc8, 0xaa, 0x20, 0xcf, 0x9f, 0x84, 0xe1, + 0x59, 0x10, 0xf7, 0xc9, 0x1d, 0xba, 0xf1, 0xd2, 0x57, 0x1d, 0xc2, 0x1a, + 0x57, 0x8d, 0x02, 0x0c, +}; +static const unsigned char kat1137_addin0[] = { + 0x31, 0x0e, 0x3f, 0xcf, 0x56, 0x03, 0xa5, 0x1e, 0x8a, 0x75, 0x30, 0xed, + 0x5c, 0x1d, 0x9b, 0x4f, 0x66, 0x8d, 0xc2, 0x0f, 0x8d, 0x2f, 0xae, 0x75, + 0x22, 0x14, 0x39, 0x1f, 0x42, 0xba, 0x7c, 0xc5, 0x33, 0xd9, 0x4a, 0x20, + 0xc8, 0x17, 0x25, 0x6d, +}; +static const unsigned char kat1137_addin1[] = { + 0xcc, 0x00, 0xf2, 0xb0, 0x76, 0x22, 0xad, 0x7b, 0x40, 0xae, 0xf5, 0x64, + 0x42, 0xee, 0xfc, 0x10, 0x0c, 0x68, 0xd1, 0xdd, 0xc4, 0xc4, 0x7d, 0xfa, + 0xf7, 0x80, 0x46, 0xcd, 0x6f, 0x5e, 0x2e, 0x09, 0x19, 0xe1, 0xff, 0xd4, + 0x04, 0x06, 0xd9, 0x0e, +}; +static const unsigned char kat1137_retbits[] = { + 0xc7, 0xa0, 0xf3, 0x02, 0xc7, 0x00, 0x5c, 0x10, 0x10, 0xf3, 0x79, 0x78, + 0x75, 0xfb, 0x4d, 0xaa, 0x0f, 0x44, 0x1d, 0x84, 0x28, 0x86, 0xec, 0x14, + 0xe8, 0x38, 0xfc, 0x90, 0x41, 0x36, 0x4e, 0x4e, 0x8a, 0x31, 0x55, 0x64, + 0xdf, 0x67, 0x1b, 0xad, 0xef, 0x5f, 0xc6, 0x5e, 0x13, 0xa3, 0xb8, 0xed, + 0xce, 0x4c, 0x89, 0x21, 0xeb, 0xa4, 0x48, 0x24, 0x7b, 0xe6, 0xae, 0x02, + 0xac, 0xfc, 0x95, 0xc9, +}; +static const struct drbg_kat_no_reseed kat1137_t = { + 11, kat1137_entropyin, kat1137_nonce, kat1137_persstr, + kat1137_addin0, kat1137_addin1, kat1137_retbits +}; +static const struct drbg_kat kat1137 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1137_t +}; + +static const unsigned char kat1138_entropyin[] = { + 0xc6, 0x41, 0xe9, 0xda, 0xc4, 0x08, 0xe8, 0xd6, 0x99, 0xe8, 0x95, 0x50, + 0x01, 0x94, 0xe0, 0xd6, 0xe2, 0xf6, 0xd5, 0x20, 0xae, 0x00, 0x67, 0x66, + 0x2c, 0xc4, 0x95, 0x13, 0x76, 0xe5, 0x49, 0xa2, 0xc5, 0x58, 0x5e, 0xa1, + 0x3d, 0x00, 0x71, 0x5c, +}; +static const unsigned char kat1138_nonce[] = {0}; +static const unsigned char kat1138_persstr[] = { + 0x84, 0xa5, 0x85, 0xa8, 0xef, 0x75, 0x85, 0xc5, 0x85, 0x8d, 0x41, 0x54, + 0xb5, 0xa6, 0x4b, 0xd1, 0x2c, 0xe2, 0x28, 0x6f, 0xb9, 0x53, 0x58, 0x6d, + 0x17, 0x50, 0xcf, 0xc1, 0xab, 0xbc, 0x32, 0xac, 0x7c, 0xec, 0x77, 0x01, + 0x46, 0x4f, 0x2f, 0x69, +}; +static const unsigned char kat1138_addin0[] = { + 0x3d, 0x20, 0x44, 0x7e, 0x1a, 0x80, 0xa8, 0x24, 0x0c, 0x91, 0xf3, 0xb7, + 0x38, 0x2f, 0x61, 0x49, 0x8c, 0xd8, 0xe0, 0x84, 0xc7, 0x4b, 0x18, 0x88, + 0xeb, 0xc9, 0x8d, 0xfd, 0xff, 0x3e, 0xe7, 0xcf, 0xe1, 0x12, 0xe7, 0x20, + 0x48, 0x8d, 0xf2, 0x4e, +}; +static const unsigned char kat1138_addin1[] = { + 0xdf, 0xb0, 0x06, 0x04, 0x9a, 0xe7, 0x72, 0x7d, 0x44, 0xba, 0xae, 0xa5, + 0x3d, 0x6f, 0x87, 0xe7, 0x35, 0x80, 0x6b, 0x77, 0x43, 0x2f, 0x0b, 0x47, + 0x43, 0xda, 0xaa, 0xd7, 0x49, 0xca, 0x73, 0x7e, 0xc4, 0x6e, 0x92, 0xcd, + 0x15, 0x93, 0xe5, 0x82, +}; +static const unsigned char kat1138_retbits[] = { + 0x9a, 0xbe, 0x0d, 0x01, 0x19, 0xb7, 0xf3, 0xef, 0x7d, 0xc1, 0x7b, 0x18, + 0xa4, 0x1a, 0xd9, 0x33, 0x4c, 0x91, 0x89, 0xbd, 0x1d, 0x51, 0x2f, 0x75, + 0x64, 0xef, 0x67, 0xb8, 0x68, 0xd5, 0xf8, 0x88, 0x16, 0x81, 0x2d, 0x8f, + 0x58, 0x54, 0x45, 0x59, 0xfd, 0x0f, 0x4b, 0x4b, 0xc6, 0x7a, 0x60, 0x51, + 0xf3, 0x25, 0x05, 0xde, 0x38, 0x24, 0xcb, 0x57, 0x7d, 0x21, 0x5e, 0x51, + 0x6b, 0xf9, 0x1d, 0x6e, +}; +static const struct drbg_kat_no_reseed kat1138_t = { + 12, kat1138_entropyin, kat1138_nonce, kat1138_persstr, + kat1138_addin0, kat1138_addin1, kat1138_retbits +}; +static const struct drbg_kat kat1138 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1138_t +}; + +static const unsigned char kat1139_entropyin[] = { + 0x36, 0xf4, 0xa1, 0xb0, 0x30, 0x04, 0xf7, 0x07, 0x06, 0xeb, 0x81, 0xf3, + 0x87, 0xa2, 0x30, 0x68, 0xb8, 0xdf, 0xde, 0x8d, 0xfe, 0xc8, 0x7d, 0xed, + 0xc9, 0xa5, 0xc7, 0xc9, 0x96, 0x49, 0x69, 0x62, 0x76, 0x4d, 0x7c, 0x8f, + 0xa7, 0x1e, 0x64, 0xef, +}; +static const unsigned char kat1139_nonce[] = {0}; +static const unsigned char kat1139_persstr[] = { + 0xb3, 0x49, 0x17, 0x1a, 0xb7, 0xbd, 0x18, 0xe2, 0x8f, 0x61, 0x2b, 0xe9, + 0x95, 0x5c, 0x05, 0x8e, 0x6a, 0x92, 0xd3, 0x89, 0x28, 0x62, 0x0b, 0x09, + 0x33, 0x0d, 0x2a, 0x7b, 0xcf, 0xea, 0x43, 0x5f, 0xea, 0x11, 0x54, 0x94, + 0x3f, 0xd0, 0xa8, 0x89, +}; +static const unsigned char kat1139_addin0[] = { + 0x3d, 0x84, 0x17, 0x4d, 0x19, 0x2e, 0xf0, 0x2c, 0xbc, 0xf0, 0x57, 0x65, + 0x22, 0x8f, 0x21, 0xc7, 0x96, 0xcd, 0x09, 0xf9, 0x68, 0x90, 0xea, 0x6d, + 0x45, 0x87, 0x9a, 0x11, 0x99, 0x1e, 0xe1, 0x6a, 0xa6, 0x19, 0xc8, 0x55, + 0xbd, 0x53, 0x07, 0x87, +}; +static const unsigned char kat1139_addin1[] = { + 0x68, 0xac, 0x7f, 0x7b, 0x56, 0x89, 0x68, 0x3a, 0xb3, 0x47, 0x39, 0x80, + 0x82, 0x19, 0x5f, 0xc4, 0x18, 0x1b, 0x7f, 0x3a, 0x51, 0xa9, 0x80, 0xbf, + 0x7e, 0x21, 0xde, 0xa7, 0x56, 0xad, 0xa3, 0xc9, 0x02, 0x04, 0x48, 0x94, + 0x95, 0x1b, 0x96, 0x4b, +}; +static const unsigned char kat1139_retbits[] = { + 0xf4, 0x30, 0xda, 0x38, 0xec, 0xa9, 0x52, 0x74, 0x48, 0x3b, 0xea, 0xc0, + 0x3d, 0x6a, 0xb7, 0xc9, 0x78, 0x21, 0x98, 0x2f, 0x9e, 0xe5, 0xd5, 0x6c, + 0x9c, 0xfe, 0x34, 0x5a, 0x38, 0xcf, 0xe5, 0x84, 0xc4, 0xa2, 0x89, 0x98, + 0x8a, 0x19, 0x6e, 0x80, 0x27, 0x2c, 0x7c, 0xfe, 0x8d, 0xae, 0x88, 0xda, + 0x76, 0x53, 0x46, 0x51, 0x78, 0x09, 0x47, 0xd6, 0xff, 0xfb, 0xc3, 0x1e, + 0x1b, 0x00, 0xd5, 0x1a, +}; +static const struct drbg_kat_no_reseed kat1139_t = { + 13, kat1139_entropyin, kat1139_nonce, kat1139_persstr, + kat1139_addin0, kat1139_addin1, kat1139_retbits +}; +static const struct drbg_kat kat1139 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1139_t +}; + +static const unsigned char kat1140_entropyin[] = { + 0x0f, 0x1a, 0xfc, 0x90, 0xbb, 0x04, 0xe2, 0x7d, 0xf4, 0x8e, 0x0a, 0xf7, + 0xdb, 0xdb, 0x65, 0xee, 0x68, 0x83, 0x72, 0xbe, 0x1b, 0x7e, 0x9d, 0xab, + 0xe2, 0x6f, 0x03, 0x4d, 0xb1, 0xbf, 0xeb, 0x1b, 0x14, 0xda, 0x62, 0x80, + 0xb2, 0x88, 0xf5, 0x95, +}; +static const unsigned char kat1140_nonce[] = {0}; +static const unsigned char kat1140_persstr[] = { + 0x4c, 0xf6, 0x9b, 0xaf, 0x93, 0x94, 0x8a, 0xba, 0x55, 0xfb, 0x49, 0x47, + 0x1c, 0x79, 0xc7, 0xc4, 0xb2, 0x30, 0xdc, 0x06, 0x1c, 0x28, 0xd4, 0xb5, + 0x11, 0x34, 0xe1, 0xef, 0xba, 0x84, 0xc1, 0x24, 0x02, 0xc2, 0xd2, 0x4a, + 0x12, 0x39, 0xf0, 0x3e, +}; +static const unsigned char kat1140_addin0[] = { + 0x28, 0xcb, 0x3c, 0xec, 0xec, 0x57, 0x05, 0xc0, 0x20, 0xd8, 0xa3, 0xed, + 0xb8, 0x07, 0x9e, 0x00, 0x40, 0x50, 0xd4, 0x80, 0xef, 0xee, 0x70, 0xfa, + 0xec, 0x7e, 0x1b, 0x00, 0xe2, 0x56, 0xd0, 0x00, 0x20, 0x7e, 0x51, 0x19, + 0x23, 0xce, 0xdb, 0x93, +}; +static const unsigned char kat1140_addin1[] = { + 0xbf, 0x2d, 0x13, 0x8b, 0x18, 0xcd, 0x6f, 0x6c, 0x69, 0x89, 0x01, 0xdb, + 0x8b, 0x60, 0x5b, 0x59, 0x8b, 0x0c, 0x3e, 0xc9, 0xfb, 0x0b, 0x14, 0xf9, + 0xb5, 0x86, 0xb7, 0x91, 0xab, 0x69, 0x76, 0x71, 0x7f, 0xcd, 0xda, 0x68, + 0xe4, 0x2e, 0x08, 0x3c, +}; +static const unsigned char kat1140_retbits[] = { + 0xfe, 0xbe, 0x35, 0x8e, 0x4d, 0xaf, 0x7e, 0x19, 0x38, 0xd8, 0xc0, 0x75, + 0x6a, 0xe3, 0x95, 0x31, 0xb1, 0xbc, 0x49, 0x7e, 0x60, 0x3f, 0x91, 0xc7, + 0xaa, 0x22, 0x03, 0x32, 0x76, 0x04, 0x14, 0x4e, 0xb4, 0x42, 0xad, 0x2e, + 0xfe, 0xe1, 0xfe, 0x9b, 0x1b, 0xbc, 0xf3, 0x3a, 0x5e, 0xaf, 0xa9, 0x4c, + 0x3c, 0x04, 0xd5, 0x83, 0x63, 0x1b, 0x91, 0xfe, 0x55, 0x0d, 0xaf, 0x22, + 0x7d, 0x5c, 0xc0, 0x5d, +}; +static const struct drbg_kat_no_reseed kat1140_t = { + 14, kat1140_entropyin, kat1140_nonce, kat1140_persstr, + kat1140_addin0, kat1140_addin1, kat1140_retbits +}; +static const struct drbg_kat kat1140 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1140_t +}; + +static const unsigned char kat1141_entropyin[] = { + 0x57, 0xba, 0xaf, 0xe6, 0x34, 0x5d, 0xb0, 0x9f, 0x64, 0xa6, 0xdc, 0xfc, + 0xd0, 0x15, 0x02, 0x67, 0x27, 0xde, 0x8d, 0x67, 0xbd, 0x6e, 0x90, 0x8a, + 0xbd, 0xde, 0x11, 0xe9, 0xea, 0x07, 0xbf, 0x03, 0x7c, 0x92, 0x61, 0xfd, + 0x0f, 0xa9, 0x1f, 0xf9, +}; +static const unsigned char kat1141_nonce[] = {0}; +static const unsigned char kat1141_persstr[] = {0}; +static const unsigned char kat1141_addin0[] = {0}; +static const unsigned char kat1141_addin1[] = {0}; +static const unsigned char kat1141_retbits[] = { + 0xe3, 0x79, 0xa1, 0x00, 0x8a, 0x57, 0x1c, 0xc7, 0xfb, 0x1f, 0x71, 0x76, + 0x4c, 0x1c, 0x1a, 0x7e, 0xe8, 0xe0, 0x75, 0x2d, 0xf4, 0xc0, 0x38, 0xb2, + 0xb1, 0x62, 0xe0, 0x21, 0x7c, 0x56, 0xde, 0x4e, 0x5d, 0x2a, 0x52, 0xb8, + 0x5b, 0x98, 0x8e, 0xce, 0x21, 0xb2, 0x11, 0x01, 0xbb, 0x13, 0xf2, 0x3c, + 0x38, 0x2f, 0x81, 0x2c, 0xe3, 0x11, 0x0d, 0x94, 0x4a, 0x59, 0x4b, 0xf6, + 0x83, 0x12, 0x73, 0xdc, +}; +static const struct drbg_kat_no_reseed kat1141_t = { + 0, kat1141_entropyin, kat1141_nonce, kat1141_persstr, + kat1141_addin0, kat1141_addin1, kat1141_retbits +}; +static const struct drbg_kat kat1141 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1141_t +}; + +static const unsigned char kat1142_entropyin[] = { + 0x1a, 0x58, 0x63, 0x78, 0xc3, 0x66, 0xaf, 0x5c, 0xe0, 0x03, 0xae, 0x0c, + 0x0b, 0x97, 0x0b, 0xa8, 0xb4, 0xcf, 0x98, 0x18, 0x17, 0xd5, 0x01, 0x24, + 0xcb, 0x47, 0xb8, 0x39, 0xda, 0x20, 0x8e, 0x92, 0x9f, 0x59, 0x27, 0x23, + 0x21, 0x98, 0x0a, 0xb4, +}; +static const unsigned char kat1142_nonce[] = {0}; +static const unsigned char kat1142_persstr[] = {0}; +static const unsigned char kat1142_addin0[] = {0}; +static const unsigned char kat1142_addin1[] = {0}; +static const unsigned char kat1142_retbits[] = { + 0xdd, 0x4f, 0x02, 0xfe, 0x69, 0xef, 0xb5, 0xcc, 0x00, 0x76, 0xda, 0x25, + 0x13, 0x6f, 0x73, 0x67, 0x3c, 0xf2, 0xba, 0x38, 0x63, 0x5b, 0x5b, 0x1d, + 0xd7, 0x9b, 0xab, 0xd6, 0x21, 0xeb, 0x4c, 0x2b, 0x6b, 0xe3, 0xe9, 0xde, + 0xbf, 0x43, 0xa7, 0xa2, 0xa7, 0x47, 0xf4, 0xd6, 0xd6, 0x86, 0x1e, 0xa1, + 0xad, 0x32, 0xef, 0x70, 0x8f, 0xc9, 0x8d, 0x7b, 0xcf, 0xe1, 0xdc, 0xd3, + 0xc7, 0x15, 0x17, 0x5f, +}; +static const struct drbg_kat_no_reseed kat1142_t = { + 1, kat1142_entropyin, kat1142_nonce, kat1142_persstr, + kat1142_addin0, kat1142_addin1, kat1142_retbits +}; +static const struct drbg_kat kat1142 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1142_t +}; + +static const unsigned char kat1143_entropyin[] = { + 0x7f, 0xfe, 0x0a, 0x1a, 0x9d, 0x05, 0xe3, 0xac, 0xc9, 0x69, 0x80, 0x88, + 0xbb, 0x03, 0x4d, 0x6f, 0xf7, 0x9a, 0x4c, 0x45, 0xd2, 0x3a, 0x15, 0x44, + 0xcc, 0xbf, 0x94, 0xe4, 0xd4, 0xe5, 0xbe, 0x2b, 0x8c, 0x90, 0x2d, 0x63, + 0xb7, 0x5e, 0xc9, 0x76, +}; +static const unsigned char kat1143_nonce[] = {0}; +static const unsigned char kat1143_persstr[] = {0}; +static const unsigned char kat1143_addin0[] = {0}; +static const unsigned char kat1143_addin1[] = {0}; +static const unsigned char kat1143_retbits[] = { + 0x09, 0x78, 0x45, 0xf0, 0x9c, 0x3e, 0x70, 0xd9, 0x57, 0xaa, 0x6b, 0x21, + 0x1f, 0xdf, 0xbc, 0x83, 0xab, 0xc4, 0xe5, 0x22, 0x4d, 0x0d, 0x40, 0x12, + 0x3e, 0xf8, 0xc9, 0x44, 0x3a, 0xf4, 0x6a, 0x27, 0x3b, 0x6f, 0x99, 0x85, + 0xb9, 0x02, 0x53, 0x74, 0x4f, 0x37, 0x60, 0x2c, 0x9b, 0x71, 0x66, 0x45, + 0x8c, 0x37, 0x0a, 0xbb, 0xa3, 0xc9, 0x70, 0x1f, 0xec, 0x7c, 0xe3, 0xe7, + 0x8f, 0x34, 0x0e, 0x44, +}; +static const struct drbg_kat_no_reseed kat1143_t = { + 2, kat1143_entropyin, kat1143_nonce, kat1143_persstr, + kat1143_addin0, kat1143_addin1, kat1143_retbits +}; +static const struct drbg_kat kat1143 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1143_t +}; + +static const unsigned char kat1144_entropyin[] = { + 0xe9, 0x34, 0x75, 0x96, 0xbb, 0xae, 0x3b, 0x2b, 0x2f, 0x8f, 0xd1, 0xd9, + 0xef, 0xe8, 0xa1, 0x66, 0xe2, 0x99, 0xf3, 0x7a, 0xdb, 0xc2, 0xcc, 0x0b, + 0x3c, 0xd6, 0x32, 0xda, 0x86, 0x0e, 0xf7, 0xbe, 0x44, 0xae, 0xc3, 0xf2, + 0x5a, 0x74, 0xea, 0xa8, +}; +static const unsigned char kat1144_nonce[] = {0}; +static const unsigned char kat1144_persstr[] = {0}; +static const unsigned char kat1144_addin0[] = {0}; +static const unsigned char kat1144_addin1[] = {0}; +static const unsigned char kat1144_retbits[] = { + 0xab, 0x53, 0xf7, 0xee, 0x10, 0xf3, 0xd8, 0xcd, 0x4d, 0x47, 0x50, 0x35, + 0x61, 0x1b, 0xa5, 0x18, 0x2f, 0x08, 0x56, 0x71, 0x49, 0x4c, 0x71, 0x50, + 0xbb, 0x02, 0xb1, 0xe5, 0x9e, 0xf4, 0xfb, 0x2a, 0x86, 0x0f, 0x72, 0xc4, + 0xde, 0x85, 0xbc, 0x68, 0xbe, 0x37, 0x2d, 0x72, 0x74, 0x33, 0xa3, 0xe2, + 0x41, 0x6c, 0x43, 0x1f, 0x6f, 0xc5, 0x3b, 0xd5, 0xcb, 0xe3, 0xd2, 0x67, + 0x9d, 0x00, 0xe1, 0xd3, +}; +static const struct drbg_kat_no_reseed kat1144_t = { + 3, kat1144_entropyin, kat1144_nonce, kat1144_persstr, + kat1144_addin0, kat1144_addin1, kat1144_retbits +}; +static const struct drbg_kat kat1144 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1144_t +}; + +static const unsigned char kat1145_entropyin[] = { + 0x34, 0xa6, 0xed, 0xe9, 0xf5, 0xbb, 0x07, 0x11, 0x52, 0xe9, 0x4b, 0x84, + 0xb3, 0x68, 0xb4, 0xd0, 0xd6, 0x2a, 0x63, 0xac, 0xd7, 0x2a, 0xe5, 0x6a, + 0x42, 0x40, 0x21, 0x77, 0x69, 0x03, 0x87, 0xa4, 0xbd, 0xb8, 0xfd, 0x82, + 0xbe, 0xa0, 0xd1, 0x71, +}; +static const unsigned char kat1145_nonce[] = {0}; +static const unsigned char kat1145_persstr[] = {0}; +static const unsigned char kat1145_addin0[] = {0}; +static const unsigned char kat1145_addin1[] = {0}; +static const unsigned char kat1145_retbits[] = { + 0xee, 0x87, 0x63, 0x99, 0xe8, 0xc2, 0x41, 0x50, 0x8a, 0x8f, 0xfb, 0xbe, + 0x51, 0x53, 0x82, 0x17, 0x07, 0xcd, 0x06, 0x48, 0x94, 0x34, 0x6e, 0xe7, + 0xfb, 0x88, 0xac, 0x30, 0xfa, 0x62, 0xd4, 0x94, 0xcd, 0xd4, 0xf8, 0x97, + 0x64, 0x80, 0xe5, 0x07, 0xc6, 0xa6, 0xc9, 0x48, 0x40, 0x57, 0x46, 0xc9, + 0x6c, 0xc4, 0xf0, 0x0d, 0x04, 0x1b, 0xe9, 0x18, 0x21, 0x54, 0xe8, 0x68, + 0x2d, 0xe2, 0x83, 0xe4, +}; +static const struct drbg_kat_no_reseed kat1145_t = { + 4, kat1145_entropyin, kat1145_nonce, kat1145_persstr, + kat1145_addin0, kat1145_addin1, kat1145_retbits +}; +static const struct drbg_kat kat1145 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1145_t +}; + +static const unsigned char kat1146_entropyin[] = { + 0xfa, 0x58, 0xbf, 0xb2, 0xce, 0x5f, 0x12, 0x1c, 0x5f, 0x13, 0xf2, 0x99, + 0x1d, 0x3f, 0xb0, 0x73, 0x6a, 0x3a, 0xb6, 0xec, 0x1c, 0xd7, 0xec, 0xd0, + 0x42, 0x66, 0x72, 0x72, 0x0c, 0xb0, 0xb0, 0x7d, 0x1f, 0xbb, 0xd7, 0x6e, + 0x5a, 0xc9, 0x31, 0xc9, +}; +static const unsigned char kat1146_nonce[] = {0}; +static const unsigned char kat1146_persstr[] = {0}; +static const unsigned char kat1146_addin0[] = {0}; +static const unsigned char kat1146_addin1[] = {0}; +static const unsigned char kat1146_retbits[] = { + 0x47, 0xa8, 0x6c, 0xa5, 0x30, 0xd6, 0xcc, 0xae, 0xfe, 0xad, 0x5a, 0x7e, + 0xc0, 0xd0, 0x19, 0x83, 0x2c, 0x99, 0xe3, 0xb5, 0x7a, 0xed, 0x50, 0xaf, + 0x0c, 0xac, 0x75, 0x19, 0x5f, 0x77, 0x2c, 0xde, 0x34, 0x35, 0x3e, 0x96, + 0x53, 0x38, 0xf1, 0xd6, 0x0f, 0xbf, 0xa0, 0xa7, 0xe0, 0xb3, 0x81, 0x6f, + 0x84, 0xc9, 0x05, 0xf7, 0xbd, 0xc1, 0xfc, 0x07, 0xb7, 0xb0, 0xc4, 0x28, + 0x35, 0x0d, 0x4d, 0xa0, +}; +static const struct drbg_kat_no_reseed kat1146_t = { + 5, kat1146_entropyin, kat1146_nonce, kat1146_persstr, + kat1146_addin0, kat1146_addin1, kat1146_retbits +}; +static const struct drbg_kat kat1146 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1146_t +}; + +static const unsigned char kat1147_entropyin[] = { + 0x4e, 0xb1, 0xee, 0x44, 0x7c, 0x05, 0x84, 0x4a, 0x85, 0xe7, 0x70, 0xad, + 0x94, 0x78, 0xfb, 0xd7, 0x12, 0x5e, 0xa6, 0x37, 0x75, 0x61, 0xf5, 0xe8, + 0x82, 0x47, 0x0c, 0x2e, 0xab, 0x03, 0x07, 0xec, 0xc0, 0xf0, 0x89, 0xd9, + 0xa5, 0x9a, 0x2f, 0x6e, +}; +static const unsigned char kat1147_nonce[] = {0}; +static const unsigned char kat1147_persstr[] = {0}; +static const unsigned char kat1147_addin0[] = {0}; +static const unsigned char kat1147_addin1[] = {0}; +static const unsigned char kat1147_retbits[] = { + 0x2f, 0xbe, 0xcb, 0x74, 0x9c, 0x54, 0xaa, 0x7e, 0xbd, 0xda, 0x64, 0xff, + 0x25, 0x33, 0x48, 0xb9, 0x81, 0x80, 0xb7, 0x89, 0x3d, 0xeb, 0x49, 0xd1, + 0x8a, 0x0f, 0x9a, 0x16, 0x2b, 0xcb, 0x0e, 0x3f, 0xd1, 0xea, 0xc4, 0xbb, + 0x8a, 0x6b, 0xb5, 0xff, 0xef, 0x8d, 0x42, 0x45, 0xb1, 0x29, 0x1f, 0xd4, + 0x0d, 0x4e, 0xce, 0x23, 0xe0, 0x2e, 0x78, 0x78, 0x56, 0x90, 0xd6, 0x39, + 0x87, 0x87, 0x9f, 0x39, +}; +static const struct drbg_kat_no_reseed kat1147_t = { + 6, kat1147_entropyin, kat1147_nonce, kat1147_persstr, + kat1147_addin0, kat1147_addin1, kat1147_retbits +}; +static const struct drbg_kat kat1147 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1147_t +}; + +static const unsigned char kat1148_entropyin[] = { + 0x77, 0x61, 0x65, 0xc8, 0x7c, 0xc4, 0x17, 0x1f, 0xdf, 0x11, 0x01, 0x6f, + 0x3b, 0x5b, 0x7f, 0x0a, 0xca, 0xff, 0xb6, 0x78, 0x92, 0xcb, 0x48, 0x15, + 0x67, 0x1f, 0xe6, 0xa7, 0x76, 0x6e, 0xfe, 0x4e, 0x1c, 0x9f, 0x2e, 0x4e, + 0x09, 0x01, 0x7e, 0xf1, +}; +static const unsigned char kat1148_nonce[] = {0}; +static const unsigned char kat1148_persstr[] = {0}; +static const unsigned char kat1148_addin0[] = {0}; +static const unsigned char kat1148_addin1[] = {0}; +static const unsigned char kat1148_retbits[] = { + 0x97, 0x28, 0x97, 0x3e, 0xc6, 0x2f, 0x1b, 0x4b, 0x3b, 0x2d, 0xb9, 0x05, + 0xf0, 0xc1, 0x99, 0x15, 0x79, 0x5f, 0x9b, 0xae, 0xe4, 0x7a, 0x36, 0xcd, + 0x0a, 0xa0, 0x2f, 0x02, 0xdd, 0x9b, 0x4d, 0xd9, 0x10, 0xb2, 0xc0, 0xa9, + 0xaf, 0xef, 0x7b, 0x29, 0x0d, 0x1f, 0x7b, 0xee, 0xa3, 0xc6, 0xf2, 0x8b, + 0x5b, 0x27, 0x6e, 0x2f, 0x45, 0xc0, 0x3a, 0xb6, 0x05, 0xa3, 0x43, 0x7f, + 0x6e, 0x39, 0x89, 0x81, +}; +static const struct drbg_kat_no_reseed kat1148_t = { + 7, kat1148_entropyin, kat1148_nonce, kat1148_persstr, + kat1148_addin0, kat1148_addin1, kat1148_retbits +}; +static const struct drbg_kat kat1148 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1148_t +}; + +static const unsigned char kat1149_entropyin[] = { + 0x13, 0xd4, 0x85, 0xf3, 0x61, 0xe6, 0x8c, 0xaa, 0x91, 0xa9, 0xc2, 0x7f, + 0xa4, 0xc8, 0x37, 0x2d, 0xb3, 0xb5, 0xb8, 0xb9, 0x5c, 0x44, 0xc4, 0x0c, + 0x8d, 0x61, 0x07, 0x1a, 0x6d, 0x9e, 0xb0, 0xf8, 0x2a, 0x7a, 0xae, 0xb1, + 0x1d, 0x76, 0xd9, 0x40, +}; +static const unsigned char kat1149_nonce[] = {0}; +static const unsigned char kat1149_persstr[] = {0}; +static const unsigned char kat1149_addin0[] = {0}; +static const unsigned char kat1149_addin1[] = {0}; +static const unsigned char kat1149_retbits[] = { + 0xa0, 0x97, 0x95, 0xc7, 0x46, 0x50, 0xdc, 0xbc, 0x1a, 0x75, 0x07, 0x2b, + 0x87, 0x87, 0xd7, 0x85, 0x89, 0x46, 0x66, 0xdd, 0x24, 0xd8, 0xf6, 0x21, + 0x91, 0x2d, 0xaa, 0xfe, 0x7d, 0x34, 0x16, 0xb9, 0xd7, 0x6d, 0x7b, 0xd5, + 0xf9, 0xac, 0xac, 0x96, 0x0c, 0x03, 0x7d, 0x00, 0xd0, 0xd9, 0x70, 0x3e, + 0x4f, 0x8a, 0x2b, 0x19, 0x1a, 0x7e, 0x28, 0x3c, 0x0d, 0xb9, 0xea, 0x57, + 0xba, 0x8f, 0x6a, 0x6d, +}; +static const struct drbg_kat_no_reseed kat1149_t = { + 8, kat1149_entropyin, kat1149_nonce, kat1149_persstr, + kat1149_addin0, kat1149_addin1, kat1149_retbits +}; +static const struct drbg_kat kat1149 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1149_t +}; + +static const unsigned char kat1150_entropyin[] = { + 0xc0, 0xeb, 0xc2, 0x57, 0xf6, 0xd3, 0xf5, 0x6f, 0x86, 0x08, 0x7b, 0xf1, + 0xea, 0xcf, 0xec, 0x3f, 0x46, 0x48, 0x1a, 0xfc, 0xe7, 0x92, 0xb0, 0x7b, + 0x7f, 0xda, 0x4d, 0x19, 0xcf, 0x0e, 0x3d, 0xa7, 0x1d, 0x52, 0x31, 0x8a, + 0x50, 0x77, 0x5e, 0x9b, +}; +static const unsigned char kat1150_nonce[] = {0}; +static const unsigned char kat1150_persstr[] = {0}; +static const unsigned char kat1150_addin0[] = {0}; +static const unsigned char kat1150_addin1[] = {0}; +static const unsigned char kat1150_retbits[] = { + 0x10, 0x2d, 0xb8, 0xa2, 0x33, 0x8c, 0x29, 0xd0, 0x17, 0xbe, 0xec, 0x79, + 0x3b, 0xad, 0x93, 0x73, 0x8e, 0x25, 0x0a, 0x43, 0x94, 0x0d, 0xdb, 0xbc, + 0x30, 0xc9, 0xf0, 0xcb, 0xd0, 0x53, 0x42, 0xb4, 0x7c, 0xff, 0xe0, 0x3f, + 0xba, 0x8e, 0xad, 0x13, 0x81, 0xea, 0x36, 0x5f, 0x4e, 0xb6, 0x14, 0xeb, + 0x00, 0xaf, 0x42, 0x70, 0xf8, 0xf7, 0x41, 0xdb, 0xd8, 0xb0, 0x4f, 0x9e, + 0x67, 0x26, 0xf7, 0xa7, +}; +static const struct drbg_kat_no_reseed kat1150_t = { + 9, kat1150_entropyin, kat1150_nonce, kat1150_persstr, + kat1150_addin0, kat1150_addin1, kat1150_retbits +}; +static const struct drbg_kat kat1150 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1150_t +}; + +static const unsigned char kat1151_entropyin[] = { + 0x40, 0x34, 0x7a, 0x0b, 0x9b, 0x62, 0x6f, 0x0d, 0x37, 0x53, 0xae, 0x00, + 0x14, 0xa0, 0xde, 0xc0, 0x1c, 0x51, 0xe2, 0x30, 0xe4, 0x09, 0xba, 0x6b, + 0xc3, 0xaa, 0x01, 0x68, 0x72, 0xe7, 0x51, 0xb7, 0xaa, 0x7b, 0xc8, 0xa2, + 0xac, 0xf6, 0xe5, 0x51, +}; +static const unsigned char kat1151_nonce[] = {0}; +static const unsigned char kat1151_persstr[] = {0}; +static const unsigned char kat1151_addin0[] = {0}; +static const unsigned char kat1151_addin1[] = {0}; +static const unsigned char kat1151_retbits[] = { + 0xda, 0x36, 0xb3, 0x6e, 0x21, 0xef, 0x4c, 0x31, 0xb1, 0x63, 0x42, 0x99, + 0x1b, 0x80, 0x7c, 0xd6, 0x1b, 0x73, 0x94, 0x27, 0xa5, 0x0d, 0xef, 0x5b, + 0x0b, 0x77, 0x35, 0xa5, 0xf1, 0xae, 0xa3, 0xe8, 0x22, 0x91, 0x24, 0xb6, + 0x7d, 0x31, 0xce, 0x62, 0xd7, 0x86, 0xc9, 0x13, 0xc2, 0x85, 0xbb, 0x3e, + 0x1b, 0xaa, 0x39, 0x37, 0x16, 0xed, 0x1c, 0xbf, 0x0c, 0xa1, 0x92, 0x93, + 0xc1, 0x05, 0x56, 0x53, +}; +static const struct drbg_kat_no_reseed kat1151_t = { + 10, kat1151_entropyin, kat1151_nonce, kat1151_persstr, + kat1151_addin0, kat1151_addin1, kat1151_retbits +}; +static const struct drbg_kat kat1151 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1151_t +}; + +static const unsigned char kat1152_entropyin[] = { + 0x6f, 0xb7, 0x90, 0xf1, 0x5d, 0x63, 0xd4, 0xfe, 0x49, 0x2d, 0xbe, 0x2f, + 0xe1, 0x7d, 0xa1, 0xb7, 0x09, 0xe6, 0x26, 0x3c, 0xbb, 0xb9, 0x43, 0xaa, + 0xab, 0xe1, 0x37, 0x2d, 0x1b, 0xe2, 0x34, 0x5c, 0x4e, 0x56, 0x67, 0x13, + 0xf5, 0xd8, 0xdb, 0xaa, +}; +static const unsigned char kat1152_nonce[] = {0}; +static const unsigned char kat1152_persstr[] = {0}; +static const unsigned char kat1152_addin0[] = {0}; +static const unsigned char kat1152_addin1[] = {0}; +static const unsigned char kat1152_retbits[] = { + 0x8b, 0x34, 0x5a, 0xf7, 0xa0, 0x88, 0xb4, 0xe2, 0x45, 0x53, 0xc7, 0xc3, + 0x4c, 0xad, 0xc8, 0xb0, 0x8d, 0x15, 0xd6, 0xb1, 0x45, 0x42, 0x00, 0x29, + 0x18, 0xa1, 0x3c, 0x4d, 0x63, 0x99, 0x8f, 0xca, 0xda, 0xe1, 0x68, 0xf2, + 0x58, 0x2d, 0x48, 0x11, 0x12, 0xb0, 0xbb, 0x0c, 0x89, 0xc0, 0x0d, 0xc6, + 0x0e, 0x6c, 0xc3, 0xe8, 0x01, 0x89, 0xe5, 0x7c, 0xb4, 0xcd, 0x82, 0xed, + 0x00, 0x48, 0x74, 0x38, +}; +static const struct drbg_kat_no_reseed kat1152_t = { + 11, kat1152_entropyin, kat1152_nonce, kat1152_persstr, + kat1152_addin0, kat1152_addin1, kat1152_retbits +}; +static const struct drbg_kat kat1152 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1152_t +}; + +static const unsigned char kat1153_entropyin[] = { + 0x97, 0x7c, 0x1f, 0x93, 0x1f, 0x8e, 0xcc, 0xa7, 0xd0, 0x0f, 0x61, 0xa1, + 0x4f, 0x50, 0xa3, 0x8a, 0xb9, 0x18, 0xf5, 0x66, 0xce, 0x4a, 0x06, 0xa7, + 0x0a, 0x58, 0x4a, 0x42, 0x3f, 0x70, 0xe7, 0xde, 0x75, 0x33, 0xd8, 0x64, + 0x28, 0xa7, 0x01, 0x70, +}; +static const unsigned char kat1153_nonce[] = {0}; +static const unsigned char kat1153_persstr[] = {0}; +static const unsigned char kat1153_addin0[] = {0}; +static const unsigned char kat1153_addin1[] = {0}; +static const unsigned char kat1153_retbits[] = { + 0xf1, 0xe6, 0xec, 0x7f, 0x2b, 0x20, 0xf3, 0xd2, 0x77, 0xc4, 0x90, 0x48, + 0xc9, 0xef, 0x51, 0xce, 0xb9, 0x3e, 0xce, 0x91, 0x30, 0x88, 0x6c, 0x9e, + 0xe9, 0x34, 0x30, 0x20, 0xa3, 0xdc, 0xd1, 0x9f, 0xdf, 0x62, 0xde, 0x24, + 0x35, 0xdd, 0x0e, 0xd9, 0xb4, 0xa4, 0x72, 0x8a, 0x1d, 0xc5, 0x6b, 0x72, + 0x5b, 0xf2, 0x7e, 0x33, 0xbd, 0x90, 0x13, 0xfe, 0xbc, 0xa4, 0x45, 0xc4, + 0x07, 0xdf, 0xed, 0xe2, +}; +static const struct drbg_kat_no_reseed kat1153_t = { + 12, kat1153_entropyin, kat1153_nonce, kat1153_persstr, + kat1153_addin0, kat1153_addin1, kat1153_retbits +}; +static const struct drbg_kat kat1153 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1153_t +}; + +static const unsigned char kat1154_entropyin[] = { + 0x58, 0x94, 0xf4, 0xef, 0x7e, 0xa2, 0x39, 0x29, 0x27, 0xcf, 0xa2, 0x1f, + 0x61, 0xfa, 0xa0, 0xe1, 0xb1, 0x2e, 0xe4, 0x45, 0x8c, 0x76, 0xc3, 0x80, + 0x28, 0x0e, 0x0d, 0xaf, 0x3d, 0xe2, 0x21, 0x51, 0x2c, 0x87, 0xda, 0x31, + 0xdf, 0x07, 0x3b, 0xfb, +}; +static const unsigned char kat1154_nonce[] = {0}; +static const unsigned char kat1154_persstr[] = {0}; +static const unsigned char kat1154_addin0[] = {0}; +static const unsigned char kat1154_addin1[] = {0}; +static const unsigned char kat1154_retbits[] = { + 0x0a, 0xd3, 0xc8, 0xe5, 0xad, 0x0c, 0xd1, 0xf3, 0x30, 0x8f, 0x88, 0x2f, + 0x9a, 0xa0, 0xaa, 0x5f, 0x29, 0x0d, 0x93, 0xb4, 0xa2, 0x04, 0x5c, 0xeb, + 0x86, 0x79, 0x91, 0xf2, 0x64, 0x0c, 0x52, 0x76, 0x15, 0x6b, 0xfb, 0xcc, + 0xad, 0xa5, 0x70, 0x31, 0xaa, 0x8e, 0x27, 0x13, 0x21, 0xa6, 0xff, 0x1e, + 0xb2, 0x5f, 0xdd, 0xde, 0x4f, 0x40, 0xa1, 0x06, 0xc6, 0x87, 0x5a, 0x99, + 0x81, 0x6c, 0x4a, 0x0d, +}; +static const struct drbg_kat_no_reseed kat1154_t = { + 13, kat1154_entropyin, kat1154_nonce, kat1154_persstr, + kat1154_addin0, kat1154_addin1, kat1154_retbits +}; +static const struct drbg_kat kat1154 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1154_t +}; + +static const unsigned char kat1155_entropyin[] = { + 0x1f, 0x5f, 0x78, 0x45, 0x89, 0x59, 0xb3, 0xca, 0xbd, 0x57, 0xa5, 0x56, + 0xa8, 0xe7, 0x0c, 0x36, 0x4b, 0xab, 0x26, 0x0a, 0xd5, 0x57, 0x2f, 0xca, + 0x41, 0xfc, 0x2b, 0xb6, 0x43, 0x35, 0xfb, 0x88, 0x8a, 0x31, 0xcd, 0xb3, + 0x7d, 0xee, 0xf5, 0xd1, +}; +static const unsigned char kat1155_nonce[] = {0}; +static const unsigned char kat1155_persstr[] = {0}; +static const unsigned char kat1155_addin0[] = {0}; +static const unsigned char kat1155_addin1[] = {0}; +static const unsigned char kat1155_retbits[] = { + 0x0c, 0x44, 0x36, 0xf7, 0x54, 0x15, 0xd0, 0xee, 0xc4, 0x11, 0xf5, 0xba, + 0x0d, 0x96, 0xfe, 0x33, 0x31, 0x61, 0xc2, 0xd6, 0xfa, 0xa3, 0x0f, 0x6d, + 0x80, 0x6d, 0xc4, 0x57, 0xb4, 0x12, 0x3b, 0x7b, 0x2b, 0x65, 0xcf, 0x7b, + 0xd8, 0xf4, 0xe6, 0x99, 0xc5, 0x63, 0xec, 0x0c, 0x6f, 0x45, 0xee, 0x37, + 0xc3, 0x1b, 0x3c, 0x6c, 0x11, 0xc2, 0x89, 0x27, 0xb7, 0x7d, 0x53, 0x05, + 0x3b, 0x00, 0x57, 0xa7, +}; +static const struct drbg_kat_no_reseed kat1155_t = { + 14, kat1155_entropyin, kat1155_nonce, kat1155_persstr, + kat1155_addin0, kat1155_addin1, kat1155_retbits +}; +static const struct drbg_kat kat1155 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat1155_t +}; + +static const unsigned char kat1156_entropyin[] = { + 0xcc, 0x74, 0xff, 0xbe, 0x7e, 0x6f, 0x6f, 0xe7, 0xd1, 0xb6, 0x2b, 0x79, + 0x4d, 0x68, 0x08, 0xba, 0x25, 0x48, 0xb5, 0x08, 0x71, 0x9d, 0x09, 0x6b, + 0xc1, 0xf9, 0x50, 0x36, 0x04, 0x41, 0x00, 0xdd, 0x1f, 0x21, 0x21, 0x57, + 0xf2, 0xc9, 0x06, 0x04, +}; +static const unsigned char kat1156_nonce[] = {0}; +static const unsigned char kat1156_persstr[] = {0}; +static const unsigned char kat1156_addin0[] = { + 0x27, 0xa7, 0x46, 0x78, 0x60, 0x72, 0x66, 0xb1, 0x2b, 0x58, 0x11, 0x9b, + 0xee, 0x78, 0xd2, 0x9a, 0x75, 0xe7, 0x8a, 0xda, 0xf0, 0x10, 0x44, 0x37, + 0x5e, 0xc0, 0xb2, 0x8b, 0x16, 0x7f, 0x0d, 0x6b, 0x0a, 0xb5, 0x8b, 0x29, + 0xd9, 0x8d, 0x4c, 0x4e, +}; +static const unsigned char kat1156_addin1[] = { + 0xdb, 0x32, 0x0c, 0x06, 0xee, 0x06, 0xcb, 0xf3, 0x3a, 0x2a, 0x6a, 0x1f, + 0x9d, 0x07, 0x6a, 0x87, 0x4e, 0x9c, 0xcc, 0xd8, 0xd5, 0x27, 0x12, 0xb0, + 0x96, 0x58, 0xa9, 0x0e, 0xa3, 0xca, 0x47, 0x3a, 0x01, 0xe3, 0xa6, 0x47, + 0xdc, 0xd5, 0xdc, 0xa0, +}; +static const unsigned char kat1156_retbits[] = { + 0xdd, 0xdc, 0x9d, 0xce, 0xc1, 0xf2, 0xd3, 0x11, 0xef, 0x2b, 0xf4, 0x8a, + 0x7c, 0xe0, 0x7b, 0x91, 0xf8, 0x6e, 0x5c, 0x6e, 0x10, 0x53, 0xbb, 0xd5, + 0x26, 0x13, 0xf0, 0x55, 0x91, 0x98, 0x5c, 0xa8, 0x64, 0x45, 0xb5, 0x7d, + 0x68, 0xb0, 0xb3, 0x8c, 0x23, 0x48, 0x04, 0xb8, 0x0a, 0x0b, 0x83, 0x77, + 0x45, 0x25, 0x4d, 0x7b, 0x09, 0xe0, 0x0d, 0x45, 0x52, 0xd0, 0xfd, 0x82, + 0x56, 0xfb, 0x40, 0xb4, +}; +static const struct drbg_kat_no_reseed kat1156_t = { + 0, kat1156_entropyin, kat1156_nonce, kat1156_persstr, + kat1156_addin0, kat1156_addin1, kat1156_retbits +}; +static const struct drbg_kat kat1156 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1156_t +}; + +static const unsigned char kat1157_entropyin[] = { + 0x54, 0x57, 0x20, 0xe8, 0xca, 0xee, 0xce, 0x16, 0x66, 0xe3, 0x12, 0xf0, + 0x3d, 0x1d, 0x2d, 0x47, 0x35, 0xef, 0x88, 0x99, 0x01, 0x34, 0x30, 0x40, + 0x54, 0xf2, 0xa8, 0x37, 0xae, 0x12, 0xfd, 0x00, 0x54, 0x3e, 0x74, 0x0c, + 0x18, 0x4b, 0xb6, 0x00, +}; +static const unsigned char kat1157_nonce[] = {0}; +static const unsigned char kat1157_persstr[] = {0}; +static const unsigned char kat1157_addin0[] = { + 0x80, 0xc3, 0x87, 0x38, 0x8c, 0xac, 0x8b, 0xb6, 0x90, 0xa0, 0x3f, 0x4f, + 0xb9, 0x5f, 0x5a, 0xdf, 0x07, 0x90, 0x5d, 0xf8, 0x85, 0xdc, 0x10, 0x0d, + 0x83, 0x9b, 0x22, 0x14, 0x33, 0xdb, 0x3a, 0x06, 0xde, 0xa5, 0xbd, 0xf8, + 0xfd, 0xf4, 0x68, 0xda, +}; +static const unsigned char kat1157_addin1[] = { + 0xb0, 0x78, 0xfa, 0xfc, 0xb5, 0xb1, 0x31, 0x35, 0xc8, 0x28, 0x1f, 0xc9, + 0xa3, 0xc6, 0x76, 0x44, 0x54, 0x87, 0xf2, 0xe8, 0xf2, 0x35, 0x9b, 0xd9, + 0xb0, 0x52, 0xb2, 0x17, 0xb4, 0xbc, 0x9b, 0xca, 0xe8, 0xd8, 0xab, 0x49, + 0x9c, 0x7e, 0xb5, 0x64, +}; +static const unsigned char kat1157_retbits[] = { + 0xa5, 0x1d, 0xd0, 0x6c, 0x6c, 0xc5, 0xdf, 0xa8, 0xb6, 0x5b, 0x52, 0x8c, + 0x45, 0x81, 0x74, 0xa4, 0x5d, 0xf0, 0x73, 0xe2, 0x37, 0x0a, 0xef, 0x58, + 0x0b, 0xda, 0xf3, 0x0e, 0xd5, 0x9c, 0xff, 0x7e, 0x67, 0x78, 0xcf, 0x55, + 0x76, 0x69, 0xeb, 0x89, 0x55, 0x38, 0x1b, 0x02, 0x27, 0xfd, 0xb3, 0x1d, + 0xac, 0x2b, 0x8c, 0x9e, 0x5c, 0x9b, 0x73, 0x4d, 0x36, 0x15, 0x32, 0x63, + 0xde, 0xcb, 0x8e, 0xab, +}; +static const struct drbg_kat_no_reseed kat1157_t = { + 1, kat1157_entropyin, kat1157_nonce, kat1157_persstr, + kat1157_addin0, kat1157_addin1, kat1157_retbits +}; +static const struct drbg_kat kat1157 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1157_t +}; + +static const unsigned char kat1158_entropyin[] = { + 0x85, 0x2e, 0x30, 0x56, 0x59, 0x12, 0x54, 0xab, 0x4e, 0xf3, 0x4b, 0x76, + 0xd6, 0x9d, 0x64, 0xf2, 0x5a, 0x0c, 0x93, 0xf0, 0xe6, 0x51, 0x5b, 0x8e, + 0x08, 0x6c, 0xd4, 0xde, 0x08, 0xa9, 0x8d, 0x6e, 0xd8, 0xc3, 0x07, 0x04, + 0x33, 0xc9, 0xb9, 0x03, +}; +static const unsigned char kat1158_nonce[] = {0}; +static const unsigned char kat1158_persstr[] = {0}; +static const unsigned char kat1158_addin0[] = { + 0x43, 0xfe, 0xe0, 0x83, 0xc3, 0xc4, 0x36, 0xd5, 0x29, 0x3d, 0xb7, 0xfb, + 0xd8, 0x10, 0x56, 0x78, 0x7f, 0x9c, 0x08, 0x74, 0xd9, 0x59, 0xc2, 0xed, + 0x70, 0x31, 0x0d, 0xbd, 0xe6, 0x28, 0xcf, 0x34, 0x75, 0x95, 0xa4, 0x8d, + 0xb8, 0xc4, 0x68, 0xe6, +}; +static const unsigned char kat1158_addin1[] = { + 0x68, 0x13, 0x75, 0x98, 0x12, 0xb8, 0x68, 0x94, 0x1e, 0xf9, 0x44, 0xef, + 0x6c, 0x26, 0xd5, 0xf7, 0xdf, 0xc8, 0x08, 0x8e, 0x96, 0x44, 0x25, 0x96, + 0x58, 0xee, 0x14, 0x2a, 0x21, 0x6b, 0x39, 0x56, 0x79, 0x58, 0xbd, 0x75, + 0x50, 0x9a, 0xd3, 0xe4, +}; +static const unsigned char kat1158_retbits[] = { + 0x4c, 0x1c, 0xca, 0x36, 0x73, 0xa0, 0x90, 0x32, 0xc8, 0x25, 0x29, 0xed, + 0x1a, 0x03, 0xe4, 0x44, 0xa5, 0xe1, 0x8f, 0x39, 0x19, 0x07, 0x45, 0x83, + 0x9d, 0xfe, 0x0e, 0xbd, 0x0a, 0x58, 0x53, 0x87, 0x96, 0x28, 0x85, 0x3b, + 0x18, 0x11, 0x76, 0xc4, 0xce, 0x25, 0xc2, 0xac, 0x6c, 0xa4, 0x3a, 0xf5, + 0x0c, 0xf3, 0x1e, 0x5f, 0xa8, 0x6d, 0xa3, 0xa2, 0x6c, 0x97, 0x74, 0xf7, + 0x6d, 0xd3, 0x86, 0x34, +}; +static const struct drbg_kat_no_reseed kat1158_t = { + 2, kat1158_entropyin, kat1158_nonce, kat1158_persstr, + kat1158_addin0, kat1158_addin1, kat1158_retbits +}; +static const struct drbg_kat kat1158 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1158_t +}; + +static const unsigned char kat1159_entropyin[] = { + 0xfd, 0x42, 0xb0, 0xdd, 0x9c, 0xfd, 0xbf, 0xd4, 0x65, 0x7c, 0x0c, 0xd3, + 0xe0, 0x7b, 0xb9, 0xd2, 0x72, 0x07, 0xe1, 0x55, 0x85, 0x21, 0x3c, 0x28, + 0x70, 0x04, 0x7d, 0xb0, 0xcf, 0xbf, 0x95, 0x1d, 0x07, 0x4e, 0x06, 0x1d, + 0xcc, 0x9b, 0x74, 0xd3, +}; +static const unsigned char kat1159_nonce[] = {0}; +static const unsigned char kat1159_persstr[] = {0}; +static const unsigned char kat1159_addin0[] = { + 0x5b, 0x57, 0x9a, 0xf6, 0x43, 0xe8, 0x0e, 0x6f, 0xcd, 0xc4, 0xd0, 0xa2, + 0x6b, 0x25, 0x48, 0x9c, 0x53, 0x36, 0xc6, 0x92, 0xf2, 0xf8, 0x1d, 0x8f, + 0xa7, 0x9f, 0x1e, 0x05, 0xf2, 0x5d, 0x50, 0x90, 0xe1, 0x1c, 0xa3, 0x9c, + 0x39, 0x49, 0xd1, 0x03, +}; +static const unsigned char kat1159_addin1[] = { + 0x6a, 0x1d, 0x8a, 0x4a, 0xc6, 0x35, 0x28, 0xc9, 0xde, 0x6f, 0x94, 0xb2, + 0xf2, 0x80, 0x5a, 0xa0, 0x3d, 0x75, 0xee, 0x57, 0x19, 0x8e, 0xff, 0x33, + 0x59, 0x7b, 0x44, 0xed, 0xa7, 0xb8, 0x46, 0xad, 0x6f, 0x80, 0xf9, 0xb6, + 0x9b, 0xac, 0xf5, 0x18, +}; +static const unsigned char kat1159_retbits[] = { + 0x9c, 0x0f, 0x52, 0xc5, 0xec, 0xe0, 0xea, 0x75, 0x33, 0x73, 0xff, 0x21, + 0xde, 0x63, 0x1c, 0xae, 0xe3, 0xf1, 0x23, 0x8e, 0x29, 0x4d, 0x2c, 0x23, + 0x78, 0x65, 0x5c, 0xcb, 0xe7, 0xb7, 0x37, 0xf7, 0x60, 0xde, 0xa0, 0xfd, + 0x5a, 0xb7, 0xe8, 0x76, 0x16, 0xba, 0x4f, 0xe4, 0x7f, 0xdc, 0xf4, 0x39, + 0x11, 0xff, 0xd2, 0x66, 0x2b, 0x81, 0x1c, 0xd9, 0x0a, 0x03, 0x4d, 0x65, + 0xb0, 0x70, 0xc8, 0xda, +}; +static const struct drbg_kat_no_reseed kat1159_t = { + 3, kat1159_entropyin, kat1159_nonce, kat1159_persstr, + kat1159_addin0, kat1159_addin1, kat1159_retbits +}; +static const struct drbg_kat kat1159 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1159_t +}; + +static const unsigned char kat1160_entropyin[] = { + 0xee, 0xce, 0x18, 0xcb, 0x9a, 0x75, 0x08, 0x08, 0x4d, 0x22, 0xd7, 0xf2, + 0x1d, 0xd5, 0xc6, 0xb6, 0x02, 0x79, 0xaa, 0x45, 0x20, 0x34, 0x3e, 0x2f, + 0x73, 0xcd, 0x33, 0x49, 0xfc, 0xe5, 0xd3, 0x9e, 0xe0, 0x54, 0xbc, 0x9f, + 0x22, 0x40, 0xa0, 0x97, +}; +static const unsigned char kat1160_nonce[] = {0}; +static const unsigned char kat1160_persstr[] = {0}; +static const unsigned char kat1160_addin0[] = { + 0x06, 0x7a, 0x5f, 0x0d, 0x24, 0xb9, 0x3c, 0x08, 0x02, 0x3d, 0x05, 0xdf, + 0x31, 0x86, 0x77, 0xbc, 0x9e, 0x5a, 0x5d, 0xe7, 0x7a, 0x23, 0x47, 0x14, + 0xfb, 0x90, 0x34, 0x7e, 0x05, 0x7d, 0xd2, 0x3d, 0x4e, 0x06, 0x90, 0x2a, + 0x9b, 0x74, 0x2e, 0xc1, +}; +static const unsigned char kat1160_addin1[] = { + 0x1a, 0x65, 0x3e, 0x47, 0x2b, 0xb3, 0xc6, 0x21, 0x09, 0xa6, 0xca, 0xbb, + 0x84, 0xda, 0x8e, 0x2f, 0xfd, 0x14, 0x66, 0xb3, 0xc5, 0x6b, 0x60, 0x07, + 0x17, 0xd7, 0x64, 0xc2, 0xa3, 0x6d, 0x45, 0xd8, 0xa3, 0xee, 0xfe, 0xfc, + 0x81, 0xb0, 0x4f, 0xc2, +}; +static const unsigned char kat1160_retbits[] = { + 0x3b, 0xd4, 0xb4, 0xb9, 0xa6, 0x18, 0x69, 0xe2, 0xa6, 0x21, 0x5e, 0x62, + 0xbe, 0xbc, 0x15, 0x1a, 0xca, 0x27, 0x89, 0x49, 0x1d, 0x4f, 0x46, 0xd1, + 0x96, 0xdd, 0xc4, 0x84, 0x29, 0x33, 0x5e, 0x60, 0x2b, 0xca, 0xe2, 0x97, + 0x97, 0x2c, 0x7a, 0x27, 0x5e, 0x24, 0xf0, 0xd3, 0x28, 0x2a, 0xeb, 0x1d, + 0xca, 0xc0, 0x19, 0x0c, 0x1c, 0xfa, 0x2a, 0x39, 0xab, 0xb7, 0x89, 0x84, + 0xc3, 0x26, 0x89, 0x81, +}; +static const struct drbg_kat_no_reseed kat1160_t = { + 4, kat1160_entropyin, kat1160_nonce, kat1160_persstr, + kat1160_addin0, kat1160_addin1, kat1160_retbits +}; +static const struct drbg_kat kat1160 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1160_t +}; + +static const unsigned char kat1161_entropyin[] = { + 0x78, 0x69, 0xc8, 0x38, 0x1d, 0x5b, 0x5a, 0xcf, 0xdd, 0x65, 0x0d, 0x24, + 0x7f, 0xdd, 0x92, 0xad, 0x45, 0xeb, 0x9e, 0x73, 0x42, 0x5d, 0x6c, 0x07, + 0x85, 0xa3, 0x82, 0x79, 0x7c, 0xa0, 0x6f, 0x03, 0x85, 0xa7, 0x5f, 0x61, + 0xb7, 0x57, 0x77, 0x15, +}; +static const unsigned char kat1161_nonce[] = {0}; +static const unsigned char kat1161_persstr[] = {0}; +static const unsigned char kat1161_addin0[] = { + 0x1b, 0xb9, 0xb7, 0x7b, 0x0f, 0x81, 0x99, 0x9e, 0x23, 0x4b, 0x83, 0x41, + 0x7a, 0xde, 0xbf, 0x5c, 0x88, 0x1c, 0x09, 0x4e, 0xe0, 0x0c, 0x61, 0x30, + 0xb1, 0x8e, 0x89, 0x1a, 0x3b, 0x2a, 0xe7, 0x3a, 0x72, 0x7e, 0xec, 0x0a, + 0x60, 0x99, 0x39, 0xa6, +}; +static const unsigned char kat1161_addin1[] = { + 0x69, 0x43, 0x3a, 0xcb, 0xcf, 0x7a, 0x4e, 0x4e, 0x81, 0xf6, 0x28, 0x74, + 0xc4, 0x67, 0xa4, 0x33, 0xe3, 0xe7, 0x0c, 0x0e, 0xb3, 0x88, 0x91, 0x0f, + 0x69, 0x0b, 0xbc, 0x0f, 0xf2, 0xd0, 0xe0, 0x31, 0xf2, 0x4c, 0xf9, 0x5c, + 0xda, 0x40, 0x19, 0xae, +}; +static const unsigned char kat1161_retbits[] = { + 0x79, 0xa0, 0x32, 0x40, 0x8c, 0xac, 0x31, 0xa8, 0xae, 0x17, 0x2f, 0x3e, + 0x50, 0x53, 0x06, 0x72, 0x70, 0x35, 0x3a, 0xdb, 0xb8, 0x6a, 0xb0, 0x9f, + 0xca, 0x3e, 0xa2, 0x8b, 0x00, 0x01, 0x88, 0xe3, 0x04, 0x50, 0x88, 0xd9, + 0x93, 0x55, 0x14, 0xc2, 0x0e, 0x45, 0xb0, 0x62, 0xa9, 0x31, 0xc3, 0xef, + 0xb2, 0x6b, 0xc6, 0x75, 0x27, 0xce, 0x45, 0x10, 0x22, 0x97, 0x64, 0x3a, + 0x61, 0x32, 0xdb, 0xc5, +}; +static const struct drbg_kat_no_reseed kat1161_t = { + 5, kat1161_entropyin, kat1161_nonce, kat1161_persstr, + kat1161_addin0, kat1161_addin1, kat1161_retbits +}; +static const struct drbg_kat kat1161 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1161_t +}; + +static const unsigned char kat1162_entropyin[] = { + 0x6e, 0xd5, 0x45, 0x82, 0xe1, 0x84, 0x3b, 0xf7, 0x3c, 0x64, 0x0a, 0x8c, + 0x2c, 0x21, 0x55, 0x5e, 0x53, 0xd3, 0x33, 0x6b, 0x90, 0x72, 0x61, 0xcd, + 0xdc, 0xe6, 0x41, 0x6d, 0x7c, 0x0f, 0x30, 0xc0, 0x17, 0x2d, 0x73, 0xb3, + 0xca, 0x07, 0x58, 0x88, +}; +static const unsigned char kat1162_nonce[] = {0}; +static const unsigned char kat1162_persstr[] = {0}; +static const unsigned char kat1162_addin0[] = { + 0x62, 0x1d, 0x44, 0xc3, 0x64, 0x78, 0x64, 0xfd, 0xf2, 0x65, 0x37, 0xc9, + 0xc3, 0xcc, 0xfa, 0x67, 0x3d, 0xff, 0x50, 0xdc, 0x12, 0xdf, 0xc0, 0xfc, + 0xaf, 0x25, 0x95, 0x36, 0x8b, 0x9e, 0x98, 0x1a, 0x8b, 0xff, 0x77, 0x0b, + 0x13, 0xe0, 0x51, 0xb7, +}; +static const unsigned char kat1162_addin1[] = { + 0xdc, 0x20, 0xfa, 0xd6, 0x15, 0x51, 0x0c, 0x67, 0x0f, 0x05, 0x0f, 0xcd, + 0x2e, 0x8d, 0xbb, 0x21, 0xb7, 0x9b, 0x5c, 0x8b, 0x23, 0x21, 0x1b, 0x38, + 0xb5, 0x14, 0x08, 0xde, 0x1d, 0x3e, 0xfd, 0x6c, 0x02, 0xcd, 0xdc, 0x37, + 0x6f, 0x2a, 0x64, 0x66, +}; +static const unsigned char kat1162_retbits[] = { + 0x20, 0x62, 0xe1, 0x60, 0xa8, 0x05, 0x8f, 0xb2, 0x5b, 0xc3, 0xa7, 0xbd, + 0xd3, 0xe7, 0x79, 0xb3, 0xcc, 0xe1, 0x02, 0x31, 0x82, 0xce, 0xd4, 0x92, + 0xc2, 0xfa, 0x72, 0x3c, 0xba, 0xbd, 0x18, 0x7e, 0x1d, 0xd0, 0xa1, 0x6f, + 0x90, 0x90, 0x61, 0xaf, 0x6c, 0xb2, 0x70, 0x48, 0xab, 0x04, 0xe7, 0x42, + 0xb0, 0x1b, 0x8d, 0x73, 0xfd, 0xa2, 0xb5, 0xe7, 0x62, 0xe0, 0xe8, 0xde, + 0xae, 0xe4, 0x79, 0x9d, +}; +static const struct drbg_kat_no_reseed kat1162_t = { + 6, kat1162_entropyin, kat1162_nonce, kat1162_persstr, + kat1162_addin0, kat1162_addin1, kat1162_retbits +}; +static const struct drbg_kat kat1162 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1162_t +}; + +static const unsigned char kat1163_entropyin[] = { + 0x20, 0x1f, 0xc4, 0x0b, 0xed, 0x94, 0x04, 0x1b, 0x70, 0x9e, 0x15, 0x69, + 0xd9, 0xe5, 0x6b, 0x7e, 0x09, 0x93, 0x7e, 0x90, 0x2a, 0x98, 0x14, 0x1e, + 0x4b, 0x39, 0x23, 0x1a, 0xe6, 0x29, 0x21, 0xe3, 0xaf, 0xa5, 0x98, 0x06, + 0x4f, 0x1c, 0x21, 0x1a, +}; +static const unsigned char kat1163_nonce[] = {0}; +static const unsigned char kat1163_persstr[] = {0}; +static const unsigned char kat1163_addin0[] = { + 0xf1, 0xe7, 0x8c, 0x5c, 0x60, 0x1a, 0x0a, 0xff, 0xda, 0x21, 0x35, 0x7c, + 0xb7, 0xa5, 0xf8, 0x8f, 0x43, 0x3c, 0x39, 0xc7, 0x33, 0x1f, 0x29, 0xa9, + 0x5d, 0x83, 0x8d, 0x34, 0xe2, 0x0e, 0x1b, 0xc8, 0x94, 0x28, 0x30, 0xef, + 0x49, 0x73, 0x8e, 0xb3, +}; +static const unsigned char kat1163_addin1[] = { + 0xd5, 0x7b, 0x5d, 0xb4, 0xcb, 0x0e, 0xa1, 0xe6, 0x9a, 0xff, 0x38, 0xe3, + 0x00, 0xef, 0xc9, 0xa0, 0xef, 0x0e, 0xd9, 0x71, 0xa3, 0xfd, 0x1d, 0xfa, + 0x52, 0x12, 0xa3, 0x11, 0x16, 0x78, 0xd9, 0xdf, 0xbe, 0x3e, 0x2f, 0xe6, + 0xb1, 0x88, 0x91, 0x63, +}; +static const unsigned char kat1163_retbits[] = { + 0xb7, 0xe4, 0xff, 0x93, 0xe5, 0x4a, 0x4b, 0x66, 0xa3, 0xff, 0xab, 0x37, + 0x8a, 0xb2, 0x9b, 0xb0, 0xc8, 0xda, 0xfb, 0xbb, 0x92, 0xbd, 0x22, 0x8f, + 0x50, 0x35, 0x79, 0xfb, 0xb7, 0x5c, 0x0a, 0xd6, 0xd3, 0xb5, 0x62, 0x86, + 0xc6, 0xd0, 0x7f, 0x19, 0x4d, 0x53, 0xb1, 0xab, 0x89, 0xf3, 0x02, 0x1b, + 0xea, 0xd4, 0x80, 0x66, 0x50, 0x06, 0xbc, 0x48, 0x9a, 0xa9, 0x46, 0x54, + 0x8d, 0x8b, 0xc8, 0xeb, +}; +static const struct drbg_kat_no_reseed kat1163_t = { + 7, kat1163_entropyin, kat1163_nonce, kat1163_persstr, + kat1163_addin0, kat1163_addin1, kat1163_retbits +}; +static const struct drbg_kat kat1163 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1163_t +}; + +static const unsigned char kat1164_entropyin[] = { + 0x5f, 0x09, 0x2c, 0x7a, 0x9e, 0xd3, 0x52, 0x4d, 0xd4, 0x19, 0x34, 0x79, + 0x8c, 0x77, 0x3d, 0xfb, 0x45, 0x3e, 0x3b, 0x85, 0xb9, 0xa9, 0x97, 0x77, + 0xdc, 0xd5, 0x01, 0xed, 0x86, 0x62, 0x8a, 0x67, 0x9c, 0x19, 0x07, 0x1c, + 0x2f, 0xb4, 0xaf, 0x61, +}; +static const unsigned char kat1164_nonce[] = {0}; +static const unsigned char kat1164_persstr[] = {0}; +static const unsigned char kat1164_addin0[] = { + 0xb9, 0x51, 0xd1, 0xac, 0xbb, 0xf1, 0x5b, 0x51, 0x89, 0x38, 0x31, 0x07, + 0x26, 0x18, 0x86, 0xe1, 0x1f, 0x29, 0x39, 0x42, 0x04, 0xa7, 0xb4, 0x5f, + 0xed, 0xc9, 0x86, 0x8f, 0x52, 0x92, 0x21, 0xf0, 0x60, 0xe8, 0xc0, 0x8b, + 0x10, 0x95, 0x2c, 0x3c, +}; +static const unsigned char kat1164_addin1[] = { + 0xed, 0xc5, 0x75, 0x38, 0x0c, 0x88, 0xc1, 0xed, 0x0f, 0x73, 0xe8, 0x9c, + 0x99, 0xf5, 0x31, 0xa9, 0xff, 0xc9, 0x99, 0xd3, 0x02, 0x9a, 0xa5, 0x80, + 0x4c, 0xea, 0xd2, 0xbc, 0xcd, 0x21, 0x17, 0x7f, 0xe4, 0x0c, 0xcf, 0xa2, + 0xbe, 0x7e, 0x9d, 0xb0, +}; +static const unsigned char kat1164_retbits[] = { + 0xa4, 0xfd, 0xf4, 0xa0, 0xad, 0x50, 0xe6, 0x29, 0x09, 0x2c, 0x75, 0xc7, + 0x0d, 0x5b, 0x54, 0x04, 0xdd, 0xbd, 0xe6, 0x87, 0x72, 0xd1, 0xb8, 0xbf, + 0xa4, 0xe0, 0x7d, 0x27, 0x1a, 0xa0, 0xf6, 0x40, 0xcb, 0xd6, 0x29, 0xba, + 0xf0, 0x70, 0x8a, 0x0c, 0x43, 0x54, 0x3f, 0x48, 0xca, 0x98, 0xe3, 0x9c, + 0xfa, 0x0c, 0xf3, 0xf5, 0xf7, 0xf2, 0xeb, 0xfb, 0x34, 0xaf, 0x46, 0x47, + 0x5d, 0xf5, 0x2c, 0x36, +}; +static const struct drbg_kat_no_reseed kat1164_t = { + 8, kat1164_entropyin, kat1164_nonce, kat1164_persstr, + kat1164_addin0, kat1164_addin1, kat1164_retbits +}; +static const struct drbg_kat kat1164 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1164_t +}; + +static const unsigned char kat1165_entropyin[] = { + 0xe7, 0xe4, 0xf7, 0x69, 0x95, 0xb0, 0x62, 0x98, 0x82, 0x84, 0xa5, 0x53, + 0x4d, 0x43, 0x88, 0x02, 0x2f, 0xe7, 0x55, 0xc1, 0x1f, 0x4b, 0xaf, 0xcc, + 0x16, 0x73, 0x51, 0x41, 0x02, 0xc1, 0x26, 0xf8, 0x08, 0xa0, 0x92, 0x62, + 0xea, 0x16, 0x0c, 0xab, +}; +static const unsigned char kat1165_nonce[] = {0}; +static const unsigned char kat1165_persstr[] = {0}; +static const unsigned char kat1165_addin0[] = { + 0x6a, 0xa4, 0x3b, 0x7f, 0xeb, 0xd3, 0xdf, 0xc9, 0x99, 0x42, 0xe2, 0xc9, + 0x4e, 0x54, 0xdd, 0x77, 0x62, 0x9b, 0x92, 0x18, 0x12, 0x28, 0x17, 0x9d, + 0x6d, 0x93, 0x3b, 0xd0, 0x58, 0x41, 0xfd, 0x77, 0x09, 0x79, 0xe8, 0x0a, + 0x92, 0x9b, 0x69, 0x32, +}; +static const unsigned char kat1165_addin1[] = { + 0x41, 0x26, 0x2a, 0xbb, 0xb4, 0x2a, 0x1d, 0xb3, 0x20, 0x59, 0x20, 0x94, + 0x55, 0xfe, 0xa4, 0x41, 0x60, 0x3b, 0x5a, 0x1a, 0xbe, 0x50, 0xb0, 0x3d, + 0xa6, 0x77, 0x7f, 0xd3, 0x94, 0x7e, 0x09, 0x6c, 0xd2, 0x1f, 0x92, 0x0e, + 0xda, 0x49, 0x32, 0xf9, +}; +static const unsigned char kat1165_retbits[] = { + 0xe4, 0xec, 0x77, 0xed, 0x64, 0x9c, 0x10, 0x93, 0xb8, 0x41, 0x6a, 0x67, + 0xb6, 0x3b, 0xd2, 0x2c, 0xa8, 0x83, 0x00, 0x01, 0x6d, 0xa5, 0xf1, 0x8d, + 0x76, 0x19, 0x7e, 0x06, 0xcb, 0xfb, 0x84, 0xc0, 0x54, 0x25, 0x90, 0x5c, + 0x96, 0x0d, 0x6b, 0xbc, 0x1f, 0x12, 0x7c, 0x18, 0x3d, 0x41, 0x23, 0x6f, + 0x2a, 0x68, 0xb3, 0x3b, 0x72, 0x2f, 0xa0, 0x62, 0x77, 0x75, 0xce, 0xad, + 0xe2, 0x58, 0x70, 0xfd, +}; +static const struct drbg_kat_no_reseed kat1165_t = { + 9, kat1165_entropyin, kat1165_nonce, kat1165_persstr, + kat1165_addin0, kat1165_addin1, kat1165_retbits +}; +static const struct drbg_kat kat1165 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1165_t +}; + +static const unsigned char kat1166_entropyin[] = { + 0x64, 0x80, 0xa0, 0xe5, 0x84, 0x51, 0x50, 0x33, 0x71, 0x2b, 0xed, 0x8b, + 0xe6, 0x42, 0x97, 0x05, 0xb5, 0xc8, 0xef, 0x0f, 0x7d, 0x3b, 0x15, 0xc2, + 0xc5, 0x19, 0x50, 0xd6, 0xd7, 0xcc, 0x0a, 0x79, 0xcb, 0xcd, 0xd7, 0x10, + 0x4c, 0x19, 0x17, 0x1d, +}; +static const unsigned char kat1166_nonce[] = {0}; +static const unsigned char kat1166_persstr[] = {0}; +static const unsigned char kat1166_addin0[] = { + 0x4a, 0x52, 0x82, 0xfc, 0xd8, 0x02, 0x00, 0xc9, 0x49, 0xc1, 0xdc, 0x89, + 0xa5, 0x82, 0x7e, 0x06, 0xcc, 0x17, 0x60, 0xdb, 0x53, 0x91, 0x55, 0x2c, + 0x41, 0x12, 0xeb, 0x4f, 0x92, 0xf3, 0x44, 0x97, 0xed, 0x04, 0x4d, 0x21, + 0x3e, 0xb7, 0x90, 0x21, +}; +static const unsigned char kat1166_addin1[] = { + 0xeb, 0x4c, 0x2d, 0x77, 0xf5, 0x8b, 0xf8, 0x26, 0x7c, 0x78, 0xea, 0x8f, + 0x85, 0x6a, 0xff, 0x89, 0x57, 0xb4, 0x6f, 0x30, 0xc7, 0xa0, 0xfc, 0x8b, + 0x8c, 0xcb, 0x60, 0x50, 0xe5, 0x15, 0xc3, 0xe6, 0xb0, 0x2b, 0x05, 0xf3, + 0x36, 0x34, 0xae, 0xeb, +}; +static const unsigned char kat1166_retbits[] = { + 0xee, 0x37, 0x11, 0x7c, 0xa5, 0xe1, 0x4c, 0x4e, 0xa5, 0xa8, 0x19, 0xb1, + 0x73, 0x75, 0x7a, 0x53, 0xf8, 0xaf, 0x9c, 0x4a, 0xfd, 0x8e, 0x8b, 0xee, + 0xb1, 0x10, 0x46, 0xd9, 0x88, 0xf3, 0x4f, 0xa0, 0x7b, 0xb0, 0xef, 0x4a, + 0x4c, 0xe4, 0xd2, 0x08, 0x87, 0xd1, 0x83, 0x54, 0x7c, 0x59, 0x7a, 0xd2, + 0xa6, 0x21, 0x37, 0x75, 0x0c, 0x07, 0xe5, 0xc7, 0x8f, 0xaa, 0xfa, 0xb1, + 0x02, 0x46, 0x17, 0x86, +}; +static const struct drbg_kat_no_reseed kat1166_t = { + 10, kat1166_entropyin, kat1166_nonce, kat1166_persstr, + kat1166_addin0, kat1166_addin1, kat1166_retbits +}; +static const struct drbg_kat kat1166 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1166_t +}; + +static const unsigned char kat1167_entropyin[] = { + 0xa2, 0x8b, 0x27, 0x22, 0xc0, 0x92, 0xe5, 0xc0, 0x45, 0xc6, 0x4b, 0x39, + 0xd9, 0xb9, 0x67, 0xcc, 0x78, 0xff, 0xed, 0xf3, 0x4d, 0xf7, 0x4b, 0x46, + 0x46, 0x57, 0x67, 0xb3, 0x7f, 0x26, 0x3f, 0xec, 0x5b, 0x31, 0xa0, 0xef, + 0x98, 0x67, 0x71, 0x51, +}; +static const unsigned char kat1167_nonce[] = {0}; +static const unsigned char kat1167_persstr[] = {0}; +static const unsigned char kat1167_addin0[] = { + 0x97, 0x94, 0x6f, 0x86, 0xe4, 0xfc, 0xa6, 0x4f, 0x74, 0xaa, 0x0e, 0x72, + 0xb4, 0x5e, 0xb3, 0xc1, 0x67, 0x55, 0x99, 0xe7, 0x3e, 0xb6, 0xbb, 0x0d, + 0xde, 0x32, 0x6a, 0x3a, 0x22, 0x32, 0xbe, 0xaa, 0xa9, 0xc7, 0x38, 0x63, + 0x9e, 0x98, 0x14, 0xf6, +}; +static const unsigned char kat1167_addin1[] = { + 0x38, 0xbf, 0x98, 0xb3, 0xa8, 0xdb, 0x1a, 0x6d, 0xce, 0xd8, 0x08, 0xc1, + 0x7e, 0x80, 0xd6, 0xdf, 0x5f, 0x06, 0x3e, 0xf9, 0x0c, 0xc6, 0x6c, 0xcc, + 0x12, 0x32, 0x17, 0x77, 0xc4, 0xee, 0xf9, 0x25, 0x75, 0x8d, 0x26, 0x6f, + 0x8d, 0x68, 0x23, 0xd4, +}; +static const unsigned char kat1167_retbits[] = { + 0x13, 0x71, 0xf0, 0x4c, 0x59, 0x41, 0xf9, 0xa1, 0x43, 0xd3, 0x29, 0x4b, + 0x03, 0x2d, 0xaa, 0x20, 0xf1, 0x47, 0x5d, 0x26, 0xd1, 0x7a, 0xe5, 0x13, + 0xdb, 0x95, 0xa6, 0xb5, 0x1e, 0xa8, 0xc2, 0x72, 0x0b, 0x5c, 0xf6, 0xb9, + 0x47, 0xb9, 0x3d, 0x4e, 0x47, 0x52, 0x77, 0x77, 0x3b, 0xb1, 0x43, 0x65, + 0x57, 0x26, 0xc2, 0x20, 0x25, 0xe6, 0xe8, 0x8e, 0x1d, 0xb2, 0xbf, 0x28, + 0x63, 0xdd, 0x8d, 0xc5, +}; +static const struct drbg_kat_no_reseed kat1167_t = { + 11, kat1167_entropyin, kat1167_nonce, kat1167_persstr, + kat1167_addin0, kat1167_addin1, kat1167_retbits +}; +static const struct drbg_kat kat1167 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1167_t +}; + +static const unsigned char kat1168_entropyin[] = { + 0x00, 0xc2, 0xfe, 0x57, 0xd0, 0xfd, 0x5e, 0x19, 0x41, 0x60, 0x38, 0x29, + 0x4a, 0x85, 0x06, 0x53, 0xe4, 0xb0, 0x6b, 0x09, 0x9f, 0xbf, 0xa7, 0x38, + 0x2f, 0x17, 0xae, 0xd4, 0x36, 0x9a, 0x2f, 0x66, 0x91, 0xe6, 0xdb, 0xc9, + 0x6e, 0xc4, 0x74, 0x2c, +}; +static const unsigned char kat1168_nonce[] = {0}; +static const unsigned char kat1168_persstr[] = {0}; +static const unsigned char kat1168_addin0[] = { + 0x23, 0xf4, 0xd4, 0x8e, 0x72, 0x74, 0xe8, 0x78, 0xed, 0xea, 0xa6, 0xc0, + 0xce, 0x19, 0x45, 0xa5, 0x53, 0xb1, 0x8f, 0xd9, 0x5f, 0xa0, 0xbb, 0x69, + 0x79, 0x04, 0xb1, 0x34, 0x93, 0xa0, 0x87, 0x24, 0x64, 0xc2, 0x6f, 0x7e, + 0x73, 0x1b, 0xc5, 0x76, +}; +static const unsigned char kat1168_addin1[] = { + 0x93, 0x10, 0xa5, 0xfa, 0x97, 0x08, 0x60, 0xfd, 0xac, 0x7e, 0xac, 0x59, + 0x56, 0xbf, 0xdf, 0xe5, 0x52, 0x74, 0x76, 0x2f, 0x86, 0x32, 0xdf, 0x4e, + 0xd0, 0xeb, 0x26, 0x99, 0xcc, 0xbc, 0xc4, 0x01, 0x98, 0xcb, 0x9a, 0xe5, + 0x4d, 0x3d, 0xb2, 0x9a, +}; +static const unsigned char kat1168_retbits[] = { + 0x15, 0x8a, 0x65, 0xe3, 0x86, 0xfa, 0xe7, 0xfc, 0x7b, 0x7e, 0x02, 0x19, + 0xee, 0x4b, 0x64, 0x9c, 0x19, 0xd7, 0x91, 0xc0, 0x87, 0xc5, 0xa4, 0xef, + 0x7c, 0xca, 0x64, 0x3e, 0xcc, 0xb7, 0x92, 0xcd, 0xa9, 0x70, 0x69, 0x3e, + 0xde, 0x58, 0x8b, 0x38, 0x52, 0x72, 0x57, 0xea, 0xb8, 0xd5, 0xc0, 0x6b, + 0x17, 0x7f, 0xf5, 0xc2, 0x5d, 0x6b, 0x01, 0x44, 0xd3, 0xb7, 0x42, 0x11, + 0x56, 0x9d, 0x64, 0x01, +}; +static const struct drbg_kat_no_reseed kat1168_t = { + 12, kat1168_entropyin, kat1168_nonce, kat1168_persstr, + kat1168_addin0, kat1168_addin1, kat1168_retbits +}; +static const struct drbg_kat kat1168 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1168_t +}; + +static const unsigned char kat1169_entropyin[] = { + 0xa5, 0x8f, 0x5e, 0xc7, 0x2b, 0x92, 0x79, 0x2d, 0x74, 0x02, 0xa6, 0x8f, + 0x56, 0xe1, 0x9a, 0xf2, 0x8a, 0xb9, 0x10, 0x35, 0xde, 0x48, 0x8c, 0xaa, + 0x6b, 0x60, 0x4c, 0x21, 0xbf, 0xb1, 0xa2, 0x8d, 0xf5, 0xeb, 0x40, 0xfa, + 0x92, 0x0f, 0xad, 0x89, +}; +static const unsigned char kat1169_nonce[] = {0}; +static const unsigned char kat1169_persstr[] = {0}; +static const unsigned char kat1169_addin0[] = { + 0xf8, 0x10, 0x86, 0x53, 0x97, 0xd9, 0x01, 0x43, 0xab, 0xc8, 0xba, 0x97, + 0x67, 0x2d, 0x3c, 0x56, 0x3b, 0xe3, 0xab, 0x43, 0xc6, 0xdd, 0x20, 0x44, + 0x52, 0x2b, 0x48, 0x2c, 0x92, 0xd7, 0xa4, 0xc3, 0xf8, 0x5e, 0x8d, 0x5f, + 0x08, 0x9d, 0xfd, 0x2b, +}; +static const unsigned char kat1169_addin1[] = { + 0x4c, 0x4d, 0x43, 0x15, 0x39, 0x2e, 0x71, 0x1f, 0xbc, 0x97, 0xdd, 0xb0, + 0xb1, 0x89, 0xcc, 0xbb, 0xeb, 0x0e, 0xe7, 0x1f, 0x65, 0x77, 0xb4, 0x10, + 0x9a, 0x62, 0x4e, 0x5a, 0xae, 0xaf, 0x90, 0xf9, 0xd8, 0x61, 0x9e, 0x89, + 0x7f, 0xbd, 0xa4, 0x6d, +}; +static const unsigned char kat1169_retbits[] = { + 0xef, 0x3c, 0x1b, 0x44, 0x5d, 0x23, 0x7b, 0xe9, 0x58, 0x85, 0x36, 0x2d, + 0x70, 0xec, 0x03, 0xa0, 0x57, 0x6b, 0x4b, 0xfe, 0xb6, 0x33, 0x6f, 0x20, + 0x3b, 0x0f, 0x02, 0xb6, 0x8e, 0xb7, 0x41, 0x01, 0xd3, 0x58, 0x42, 0x5a, + 0xf5, 0x0b, 0x2e, 0xb0, 0xd7, 0xd3, 0xde, 0xfe, 0xf2, 0x13, 0x4b, 0xcc, + 0x46, 0x51, 0xfa, 0xee, 0x75, 0x1b, 0xca, 0xc8, 0x60, 0x97, 0x58, 0x68, + 0xaf, 0x9b, 0xf5, 0x33, +}; +static const struct drbg_kat_no_reseed kat1169_t = { + 13, kat1169_entropyin, kat1169_nonce, kat1169_persstr, + kat1169_addin0, kat1169_addin1, kat1169_retbits +}; +static const struct drbg_kat kat1169 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1169_t +}; + +static const unsigned char kat1170_entropyin[] = { + 0x78, 0xd1, 0x23, 0xf6, 0x52, 0x4e, 0x52, 0x8d, 0xe8, 0xce, 0x80, 0x11, + 0x88, 0xc0, 0x8d, 0x85, 0xf6, 0xf1, 0x94, 0xc9, 0xfe, 0x54, 0x6f, 0xb4, + 0x40, 0x71, 0x46, 0x86, 0x96, 0x5d, 0x3c, 0xa8, 0x14, 0x80, 0xb5, 0x21, + 0xb4, 0x8d, 0x0c, 0x90, +}; +static const unsigned char kat1170_nonce[] = {0}; +static const unsigned char kat1170_persstr[] = {0}; +static const unsigned char kat1170_addin0[] = { + 0x32, 0x0c, 0x32, 0x02, 0xd7, 0x10, 0xd6, 0x2b, 0x04, 0xbe, 0xd6, 0xcc, + 0x1d, 0x45, 0xb6, 0xa3, 0xfa, 0x30, 0x65, 0x22, 0xb9, 0x4c, 0xb7, 0x03, + 0x7a, 0xe7, 0xed, 0x66, 0x09, 0x78, 0xfc, 0x3c, 0x05, 0xf6, 0xc2, 0x69, + 0xc8, 0x06, 0xad, 0xac, +}; +static const unsigned char kat1170_addin1[] = { + 0xbf, 0x6b, 0x78, 0xf3, 0x55, 0x2f, 0xab, 0x90, 0x33, 0x31, 0x17, 0xfd, + 0x2f, 0xcf, 0xac, 0x3a, 0xf1, 0x0c, 0x5e, 0x4d, 0xc0, 0xde, 0xdc, 0x58, + 0x1b, 0x0b, 0x15, 0xb6, 0xaa, 0x57, 0x9e, 0x57, 0x6f, 0xd8, 0xb1, 0x0a, + 0x09, 0x9d, 0x05, 0xe1, +}; +static const unsigned char kat1170_retbits[] = { + 0xe9, 0x69, 0x0c, 0xf3, 0xa6, 0xa6, 0x9e, 0x92, 0xe5, 0x6b, 0x8f, 0x79, + 0x3c, 0x2a, 0x27, 0xd2, 0xed, 0x3c, 0x32, 0x1e, 0x61, 0xc2, 0xe5, 0x9b, + 0x99, 0xb8, 0xae, 0xba, 0xe7, 0x4a, 0xeb, 0x9f, 0x81, 0x03, 0x48, 0x52, + 0x93, 0x86, 0x03, 0x7f, 0xf4, 0xf1, 0xa9, 0xf5, 0x25, 0xaf, 0xf4, 0x94, + 0xf8, 0x81, 0x7b, 0x08, 0x7d, 0x67, 0x81, 0x7c, 0x9a, 0x75, 0x47, 0xe5, + 0x61, 0x09, 0x22, 0x4a, +}; +static const struct drbg_kat_no_reseed kat1170_t = { + 14, kat1170_entropyin, kat1170_nonce, kat1170_persstr, + kat1170_addin0, kat1170_addin1, kat1170_retbits +}; +static const struct drbg_kat kat1170 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat1170_t +}; + +static const unsigned char kat1171_entropyin[] = { + 0x56, 0xe7, 0x81, 0x09, 0x09, 0x43, 0x68, 0x56, 0xc9, 0x2d, 0xbf, 0x07, + 0xd1, 0x26, 0x9c, 0xa5, 0x87, 0x83, 0x84, 0x3d, 0x26, 0x4e, 0xf6, 0x84, + 0x2f, 0xab, 0xfd, 0x3d, 0xb2, 0xf6, 0x6f, 0x37, 0x45, 0x15, 0x86, 0xe0, + 0x94, 0x1e, 0xf2, 0x98, +}; +static const unsigned char kat1171_nonce[] = {0}; +static const unsigned char kat1171_persstr[] = { + 0x51, 0xb6, 0xf2, 0xe1, 0x65, 0x3e, 0xca, 0x3b, 0x36, 0xd7, 0x6f, 0xd8, + 0x89, 0xf7, 0xd0, 0x2f, 0xbf, 0xd6, 0x4c, 0xdd, 0xd4, 0x04, 0x47, 0xf8, + 0x4a, 0xb2, 0x04, 0x4f, 0x49, 0xb0, 0xfa, 0x5c, 0x1e, 0xce, 0x0c, 0xfc, + 0xa4, 0x66, 0xae, 0x49, +}; +static const unsigned char kat1171_addin0[] = {0}; +static const unsigned char kat1171_addin1[] = {0}; +static const unsigned char kat1171_retbits[] = { + 0x4f, 0x61, 0x10, 0x1e, 0xb1, 0x41, 0xf4, 0x84, 0xc6, 0x99, 0x77, 0x9a, + 0x92, 0x95, 0x3a, 0x36, 0x29, 0x03, 0x5e, 0xc2, 0xbd, 0xf1, 0x04, 0x53, + 0x29, 0x55, 0xaa, 0xfc, 0x14, 0x0b, 0xb1, 0xf3, 0x77, 0x07, 0x80, 0x62, + 0x08, 0x4d, 0x91, 0xe8, 0x0b, 0x7f, 0xa9, 0xc0, 0xf1, 0x71, 0xe5, 0xfb, + 0x09, 0x70, 0xd1, 0xa8, 0x48, 0x70, 0x4f, 0xf9, 0xa0, 0xed, 0xb8, 0xef, + 0x84, 0xa7, 0xa1, 0x04, +}; +static const struct drbg_kat_no_reseed kat1171_t = { + 0, kat1171_entropyin, kat1171_nonce, kat1171_persstr, + kat1171_addin0, kat1171_addin1, kat1171_retbits +}; +static const struct drbg_kat kat1171 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1171_t +}; + +static const unsigned char kat1172_entropyin[] = { + 0x78, 0x19, 0xfa, 0x7e, 0xec, 0x40, 0xed, 0x26, 0xd4, 0xa1, 0xe8, 0xfc, + 0xec, 0x1c, 0x0c, 0x57, 0x90, 0x82, 0x82, 0xef, 0xf6, 0x66, 0x67, 0x0a, + 0xf8, 0xaa, 0x30, 0x85, 0x51, 0x1d, 0xa8, 0x31, 0xf1, 0x2b, 0x24, 0xaf, + 0xc7, 0x72, 0x8c, 0x1d, +}; +static const unsigned char kat1172_nonce[] = {0}; +static const unsigned char kat1172_persstr[] = { + 0x95, 0x56, 0x2e, 0x4c, 0x1a, 0x1b, 0x8e, 0x1d, 0x02, 0x26, 0x06, 0x35, + 0x7c, 0xf1, 0x3d, 0x6c, 0xe2, 0x80, 0xa5, 0x25, 0x31, 0x5e, 0x89, 0x9b, + 0x33, 0xef, 0xb5, 0xd6, 0x76, 0x5c, 0xb1, 0xeb, 0x3d, 0xa2, 0xd7, 0xab, + 0xdc, 0xb0, 0x16, 0x58, +}; +static const unsigned char kat1172_addin0[] = {0}; +static const unsigned char kat1172_addin1[] = {0}; +static const unsigned char kat1172_retbits[] = { + 0x81, 0xf9, 0x87, 0x7a, 0x41, 0x37, 0x1b, 0xaf, 0x63, 0xf7, 0xe4, 0xde, + 0xeb, 0x2d, 0xa1, 0x09, 0x85, 0xfd, 0xa9, 0xf5, 0x01, 0x6f, 0x9f, 0x4d, + 0xb0, 0x8e, 0xc6, 0xde, 0xf8, 0x10, 0x84, 0x63, 0x81, 0x18, 0x3f, 0xde, + 0xd8, 0x77, 0xcf, 0xe4, 0x11, 0x12, 0x77, 0x45, 0x12, 0xc2, 0xb0, 0x35, + 0x01, 0xe7, 0xf3, 0xda, 0xf6, 0xd3, 0xa5, 0x8a, 0x0c, 0xbf, 0xd7, 0x40, + 0xfe, 0x02, 0x43, 0x2a, +}; +static const struct drbg_kat_no_reseed kat1172_t = { + 1, kat1172_entropyin, kat1172_nonce, kat1172_persstr, + kat1172_addin0, kat1172_addin1, kat1172_retbits +}; +static const struct drbg_kat kat1172 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1172_t +}; + +static const unsigned char kat1173_entropyin[] = { + 0x89, 0x12, 0x1d, 0x4c, 0x10, 0xa8, 0x9d, 0x43, 0x92, 0xdc, 0x9b, 0x0a, + 0xe5, 0x70, 0x55, 0xa5, 0xdf, 0x5b, 0x9b, 0xde, 0xdc, 0xaf, 0xe1, 0xc7, + 0x37, 0x4f, 0xc4, 0xbb, 0x17, 0xb5, 0xf0, 0x68, 0xab, 0xd2, 0x2d, 0x57, + 0x68, 0x82, 0xeb, 0x66, +}; +static const unsigned char kat1173_nonce[] = {0}; +static const unsigned char kat1173_persstr[] = { + 0x3c, 0x2f, 0x07, 0x98, 0xee, 0x67, 0x61, 0x39, 0x11, 0x29, 0xee, 0xdf, + 0xaa, 0x48, 0x3d, 0xb1, 0xcd, 0x3c, 0x18, 0xc2, 0x7f, 0x38, 0x06, 0x33, + 0x4f, 0x7d, 0xb3, 0xc1, 0x02, 0x22, 0xbb, 0x8b, 0xc5, 0xfc, 0xaa, 0xc2, + 0x38, 0x79, 0x19, 0x41, +}; +static const unsigned char kat1173_addin0[] = {0}; +static const unsigned char kat1173_addin1[] = {0}; +static const unsigned char kat1173_retbits[] = { + 0x7e, 0xe7, 0x4c, 0x8b, 0x6d, 0xa5, 0x46, 0x47, 0x48, 0x80, 0x1c, 0xb5, + 0xdc, 0x16, 0x2c, 0x40, 0x71, 0x3d, 0xe8, 0x0b, 0x81, 0x0f, 0x5b, 0x01, + 0xfd, 0x63, 0xb0, 0xa5, 0xdc, 0x27, 0x10, 0xf4, 0x90, 0xf2, 0x41, 0xf9, + 0xfb, 0x47, 0x9c, 0x70, 0x51, 0x2c, 0xf7, 0x79, 0xbc, 0x57, 0xca, 0x02, + 0xaf, 0x85, 0xd9, 0x56, 0x03, 0x92, 0x2e, 0xe5, 0x79, 0xb9, 0x01, 0x6a, + 0x54, 0x34, 0xfe, 0x71, +}; +static const struct drbg_kat_no_reseed kat1173_t = { + 2, kat1173_entropyin, kat1173_nonce, kat1173_persstr, + kat1173_addin0, kat1173_addin1, kat1173_retbits +}; +static const struct drbg_kat kat1173 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1173_t +}; + +static const unsigned char kat1174_entropyin[] = { + 0x72, 0xe2, 0xd6, 0x3d, 0x87, 0x99, 0x4b, 0x5d, 0x55, 0xfb, 0x25, 0x77, + 0xd1, 0x01, 0xad, 0x23, 0xb6, 0x44, 0x7c, 0xfc, 0xe6, 0xb2, 0x70, 0x0c, + 0x03, 0x70, 0xf7, 0x7d, 0xed, 0x60, 0x80, 0x92, 0xc8, 0x74, 0x60, 0x12, + 0x47, 0x2f, 0xab, 0x02, +}; +static const unsigned char kat1174_nonce[] = {0}; +static const unsigned char kat1174_persstr[] = { + 0x0e, 0x5f, 0x57, 0x9a, 0x1a, 0xa4, 0xfe, 0xf3, 0x5a, 0x70, 0x1a, 0x7a, + 0xb3, 0x66, 0x4a, 0x4f, 0xd0, 0x83, 0xe1, 0x37, 0xd9, 0xcc, 0x13, 0xbd, + 0xf0, 0xbf, 0xb0, 0xed, 0xdf, 0x0b, 0x09, 0x52, 0x5a, 0xa1, 0x5d, 0x14, + 0x7f, 0x0e, 0xee, 0xd8, +}; +static const unsigned char kat1174_addin0[] = {0}; +static const unsigned char kat1174_addin1[] = {0}; +static const unsigned char kat1174_retbits[] = { + 0x63, 0xf2, 0xf8, 0x59, 0x1d, 0x71, 0x0d, 0xb0, 0xda, 0x15, 0x3f, 0xda, + 0x01, 0xdf, 0x95, 0xf5, 0x0e, 0x7d, 0xe3, 0x2e, 0xc2, 0xea, 0x06, 0xf8, + 0x9b, 0x11, 0x9a, 0xce, 0x8f, 0x28, 0x24, 0xa5, 0x60, 0x2c, 0x65, 0xf8, + 0x22, 0x5a, 0x64, 0x36, 0xef, 0xa3, 0x10, 0xa6, 0x06, 0x60, 0xaf, 0xee, + 0x3e, 0x60, 0x2b, 0x6c, 0xb7, 0x87, 0x24, 0x9b, 0x35, 0x88, 0xf6, 0x38, + 0x13, 0xb5, 0xed, 0x1b, +}; +static const struct drbg_kat_no_reseed kat1174_t = { + 3, kat1174_entropyin, kat1174_nonce, kat1174_persstr, + kat1174_addin0, kat1174_addin1, kat1174_retbits +}; +static const struct drbg_kat kat1174 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1174_t +}; + +static const unsigned char kat1175_entropyin[] = { + 0x07, 0x97, 0x2b, 0x0b, 0x37, 0x64, 0x6c, 0x12, 0x22, 0xdf, 0x2b, 0xa0, + 0xd8, 0x51, 0x81, 0xf6, 0x52, 0xd4, 0x01, 0x13, 0xa6, 0xbd, 0x5a, 0x28, + 0x3b, 0x7b, 0x97, 0x08, 0x7a, 0xa3, 0x91, 0xad, 0x3e, 0x9a, 0x2c, 0x29, + 0x47, 0xd2, 0x61, 0xc1, +}; +static const unsigned char kat1175_nonce[] = {0}; +static const unsigned char kat1175_persstr[] = { + 0xa9, 0x4c, 0xcb, 0x58, 0xb7, 0xdd, 0x4e, 0xa1, 0x9d, 0x32, 0x71, 0x99, + 0xba, 0x1a, 0x68, 0x59, 0x77, 0x57, 0xc5, 0x18, 0xff, 0x96, 0x8e, 0x18, + 0x21, 0xa7, 0x41, 0xf3, 0x0c, 0xea, 0xa4, 0xe0, 0x66, 0x4d, 0x04, 0x29, + 0xb6, 0x09, 0xba, 0x68, +}; +static const unsigned char kat1175_addin0[] = {0}; +static const unsigned char kat1175_addin1[] = {0}; +static const unsigned char kat1175_retbits[] = { + 0x46, 0x94, 0x46, 0x5c, 0xdc, 0xf2, 0xf6, 0xbc, 0xe8, 0x7f, 0x38, 0x91, + 0x30, 0x9d, 0x20, 0x3f, 0x2c, 0xa7, 0x34, 0xc2, 0x8a, 0x25, 0xef, 0xc0, + 0x9b, 0x73, 0x3b, 0xd5, 0xd7, 0x77, 0xfe, 0xe9, 0xc0, 0xbf, 0x64, 0x36, + 0x27, 0x1e, 0xa2, 0x0e, 0x61, 0xc8, 0x59, 0x35, 0x9c, 0x05, 0xf0, 0x32, + 0x0f, 0xe9, 0xb2, 0xcc, 0xe5, 0x44, 0x78, 0x88, 0x3d, 0xde, 0xf7, 0x01, + 0xa4, 0xb7, 0x55, 0x64, +}; +static const struct drbg_kat_no_reseed kat1175_t = { + 4, kat1175_entropyin, kat1175_nonce, kat1175_persstr, + kat1175_addin0, kat1175_addin1, kat1175_retbits +}; +static const struct drbg_kat kat1175 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1175_t +}; + +static const unsigned char kat1176_entropyin[] = { + 0x76, 0x09, 0xaf, 0x59, 0xf9, 0x7a, 0x0c, 0xf9, 0xc0, 0x11, 0x9c, 0xf6, + 0x10, 0x4f, 0x73, 0xfd, 0x69, 0x7d, 0x50, 0xca, 0x3d, 0xb1, 0x24, 0xf2, + 0xc5, 0x81, 0x31, 0xb9, 0xfd, 0xb9, 0x41, 0x69, 0x78, 0xd1, 0xc8, 0xe8, + 0xad, 0xa4, 0xea, 0x2f, +}; +static const unsigned char kat1176_nonce[] = {0}; +static const unsigned char kat1176_persstr[] = { + 0x6f, 0xf5, 0x64, 0x30, 0x9e, 0xcb, 0x6d, 0x90, 0x23, 0x3f, 0x8a, 0x3b, + 0xc5, 0x2b, 0xdd, 0xa6, 0x89, 0xe5, 0x0c, 0xd4, 0xef, 0x42, 0xd4, 0x8d, + 0xd9, 0x3a, 0x81, 0xc5, 0x5b, 0xce, 0xa4, 0x2c, 0xb8, 0xfb, 0x73, 0x02, + 0x4a, 0x20, 0xde, 0x2b, +}; +static const unsigned char kat1176_addin0[] = {0}; +static const unsigned char kat1176_addin1[] = {0}; +static const unsigned char kat1176_retbits[] = { + 0x17, 0x5c, 0xa6, 0xd0, 0xea, 0x7c, 0x12, 0x3e, 0x7f, 0x0e, 0x1e, 0x2f, + 0xed, 0xd5, 0x6a, 0x5a, 0xfa, 0x3a, 0x25, 0x2b, 0x9e, 0x2d, 0x8f, 0xc4, + 0x5b, 0xc3, 0x27, 0xe2, 0x4e, 0x60, 0x1e, 0x7d, 0x4c, 0x00, 0xfd, 0xe7, + 0xc9, 0x5f, 0x75, 0x13, 0xb9, 0xd6, 0x41, 0xc1, 0x38, 0x26, 0x87, 0xf9, + 0x07, 0x94, 0x0f, 0xcf, 0xd2, 0x61, 0x29, 0xc6, 0x62, 0x0d, 0xf4, 0xf5, + 0x9c, 0x55, 0x2b, 0x35, +}; +static const struct drbg_kat_no_reseed kat1176_t = { + 5, kat1176_entropyin, kat1176_nonce, kat1176_persstr, + kat1176_addin0, kat1176_addin1, kat1176_retbits +}; +static const struct drbg_kat kat1176 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1176_t +}; + +static const unsigned char kat1177_entropyin[] = { + 0x7d, 0x4a, 0x89, 0xb5, 0x32, 0x99, 0x64, 0xf3, 0xa4, 0xe5, 0x22, 0x3e, + 0xd6, 0x01, 0x7e, 0xd5, 0x3e, 0x5d, 0x76, 0x57, 0xde, 0x24, 0xad, 0x8b, + 0xa5, 0x04, 0x9c, 0x3f, 0x57, 0x92, 0xe0, 0x16, 0x23, 0xa6, 0x52, 0x6e, + 0x61, 0xe9, 0x46, 0x8d, +}; +static const unsigned char kat1177_nonce[] = {0}; +static const unsigned char kat1177_persstr[] = { + 0xed, 0xd4, 0xcf, 0x25, 0x4a, 0xd4, 0xae, 0xc6, 0xae, 0x61, 0xb5, 0xb9, + 0xe0, 0xcc, 0x32, 0x2a, 0x58, 0x24, 0xa0, 0xec, 0x0f, 0xb5, 0x73, 0xf7, + 0x60, 0x10, 0x47, 0x6d, 0x11, 0x26, 0x22, 0x1f, 0xe0, 0xb8, 0xf2, 0xb9, + 0x40, 0x6b, 0x91, 0xcd, +}; +static const unsigned char kat1177_addin0[] = {0}; +static const unsigned char kat1177_addin1[] = {0}; +static const unsigned char kat1177_retbits[] = { + 0x8b, 0x92, 0x3d, 0x80, 0x12, 0xf3, 0x4e, 0xda, 0xc5, 0xe4, 0x6a, 0x98, + 0x1b, 0x0b, 0xd2, 0x21, 0xbf, 0x04, 0x0d, 0x04, 0xc1, 0x7d, 0x01, 0xb4, + 0xfa, 0x5b, 0xc2, 0xfc, 0xcd, 0x12, 0x38, 0x25, 0xa5, 0xe1, 0x70, 0x08, + 0xcc, 0xff, 0x41, 0x5a, 0x1e, 0x4f, 0x2c, 0x8c, 0x52, 0x1c, 0x8f, 0xfd, + 0x8d, 0x36, 0x48, 0x05, 0x0c, 0x9c, 0x89, 0x67, 0x1f, 0xfe, 0xeb, 0xa5, + 0x18, 0xa2, 0xc1, 0xd9, +}; +static const struct drbg_kat_no_reseed kat1177_t = { + 6, kat1177_entropyin, kat1177_nonce, kat1177_persstr, + kat1177_addin0, kat1177_addin1, kat1177_retbits +}; +static const struct drbg_kat kat1177 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1177_t +}; + +static const unsigned char kat1178_entropyin[] = { + 0x78, 0x7e, 0xdd, 0x7a, 0xac, 0xe3, 0x06, 0xad, 0x6d, 0x0c, 0x6d, 0xf8, + 0x08, 0x8f, 0x32, 0x74, 0x2b, 0xcf, 0x5f, 0x32, 0x1f, 0xd5, 0xf7, 0xfe, + 0xd9, 0x57, 0x28, 0x28, 0x25, 0x9f, 0xd0, 0x6c, 0x91, 0x21, 0xc7, 0x8d, + 0xd1, 0xc0, 0x5b, 0x52, +}; +static const unsigned char kat1178_nonce[] = {0}; +static const unsigned char kat1178_persstr[] = { + 0x85, 0xef, 0x86, 0xd2, 0x98, 0xfe, 0xb9, 0x5f, 0x72, 0x35, 0x77, 0xd5, + 0xd2, 0x6f, 0xa2, 0x2b, 0xcf, 0xa6, 0x16, 0x98, 0x1e, 0x0e, 0x9e, 0x1a, + 0xc1, 0xd5, 0x44, 0xec, 0x3d, 0xf7, 0x65, 0x70, 0xce, 0x7d, 0xa8, 0xc4, + 0xe4, 0xa9, 0x58, 0xdb, +}; +static const unsigned char kat1178_addin0[] = {0}; +static const unsigned char kat1178_addin1[] = {0}; +static const unsigned char kat1178_retbits[] = { + 0x1e, 0x8a, 0xf0, 0xd2, 0x12, 0xda, 0x56, 0x6f, 0x13, 0x3a, 0x88, 0x37, + 0x22, 0xd8, 0xe1, 0x72, 0xd6, 0xad, 0xb1, 0xf8, 0x8e, 0x29, 0xd6, 0xef, + 0xee, 0x44, 0x7c, 0x30, 0xfe, 0x60, 0x3a, 0x63, 0x01, 0x7e, 0x62, 0x27, + 0xea, 0x9d, 0xfa, 0xa8, 0xde, 0x09, 0x3d, 0xc1, 0x7c, 0x81, 0xa3, 0x31, + 0x0d, 0xfc, 0x86, 0xb3, 0x21, 0x1d, 0x9e, 0x19, 0x81, 0xe8, 0x53, 0xb0, + 0xd3, 0x47, 0xcd, 0xa7, +}; +static const struct drbg_kat_no_reseed kat1178_t = { + 7, kat1178_entropyin, kat1178_nonce, kat1178_persstr, + kat1178_addin0, kat1178_addin1, kat1178_retbits +}; +static const struct drbg_kat kat1178 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1178_t +}; + +static const unsigned char kat1179_entropyin[] = { + 0x01, 0x14, 0x6f, 0x8c, 0x69, 0x7d, 0xdc, 0xd7, 0xf8, 0x5a, 0x59, 0xad, + 0xbd, 0xfd, 0x19, 0x23, 0xf0, 0xec, 0xfa, 0xae, 0x88, 0x9c, 0x48, 0x8d, + 0xb4, 0x3f, 0x9d, 0x4c, 0x36, 0x7b, 0x62, 0x6b, 0x33, 0x7e, 0xed, 0xf9, + 0x17, 0xc3, 0x19, 0x77, +}; +static const unsigned char kat1179_nonce[] = {0}; +static const unsigned char kat1179_persstr[] = { + 0xf6, 0x78, 0xa4, 0x3a, 0xc0, 0x53, 0x83, 0xdb, 0xca, 0x92, 0x67, 0xff, + 0x23, 0x05, 0x05, 0x2e, 0x57, 0x06, 0x4b, 0x69, 0x51, 0xc9, 0xe7, 0xe9, + 0xc8, 0x26, 0xed, 0x86, 0x8a, 0x34, 0xfb, 0x0d, 0x0b, 0x26, 0x16, 0x0f, + 0x06, 0x3c, 0x58, 0x04, +}; +static const unsigned char kat1179_addin0[] = {0}; +static const unsigned char kat1179_addin1[] = {0}; +static const unsigned char kat1179_retbits[] = { + 0x40, 0x20, 0x40, 0x34, 0x83, 0x72, 0xf9, 0xde, 0x0e, 0xa4, 0x47, 0x8a, + 0x52, 0xde, 0xba, 0x7c, 0xc5, 0x5c, 0xae, 0xf5, 0x7b, 0x7f, 0x19, 0x3b, + 0xa8, 0x2a, 0xf5, 0x29, 0xe0, 0xbf, 0x75, 0x2f, 0xbb, 0x28, 0x3d, 0xec, + 0xe6, 0x87, 0x66, 0xc8, 0x48, 0xdb, 0x0d, 0xd5, 0xc4, 0x9a, 0x2a, 0xb1, + 0xdd, 0xf6, 0x25, 0x55, 0x5a, 0x4f, 0xd1, 0xc3, 0x19, 0x9a, 0xa1, 0xf4, + 0x02, 0xcb, 0xc2, 0xbb, +}; +static const struct drbg_kat_no_reseed kat1179_t = { + 8, kat1179_entropyin, kat1179_nonce, kat1179_persstr, + kat1179_addin0, kat1179_addin1, kat1179_retbits +}; +static const struct drbg_kat kat1179 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1179_t +}; + +static const unsigned char kat1180_entropyin[] = { + 0xb0, 0x0a, 0x90, 0x60, 0x86, 0x1e, 0x78, 0xf8, 0x23, 0xd0, 0x3f, 0x31, + 0x92, 0x92, 0xb6, 0x12, 0xb5, 0x5a, 0x4c, 0x90, 0xa1, 0xdc, 0xf3, 0xc4, + 0x5d, 0xeb, 0x94, 0x55, 0xcf, 0x8d, 0x2a, 0x42, 0x3c, 0xfb, 0xe7, 0xbb, + 0x24, 0xa5, 0xdf, 0x04, +}; +static const unsigned char kat1180_nonce[] = {0}; +static const unsigned char kat1180_persstr[] = { + 0x61, 0x1f, 0x2d, 0x5b, 0x2d, 0x00, 0x04, 0x61, 0x7a, 0x8b, 0xb0, 0x2c, + 0x8e, 0x4b, 0x08, 0x3a, 0xbf, 0xfa, 0xd6, 0xb6, 0xbd, 0x75, 0x56, 0xa7, + 0xc2, 0x7d, 0xcf, 0x5c, 0x7c, 0x6c, 0x83, 0x30, 0xec, 0xf7, 0xa9, 0xe8, + 0x83, 0xcf, 0x49, 0xe1, +}; +static const unsigned char kat1180_addin0[] = {0}; +static const unsigned char kat1180_addin1[] = {0}; +static const unsigned char kat1180_retbits[] = { + 0xe0, 0x51, 0x87, 0x2f, 0x5e, 0xa1, 0x3c, 0xde, 0xb7, 0xe6, 0x1c, 0xe0, + 0x45, 0x09, 0xce, 0x3d, 0x45, 0x39, 0xb2, 0x8c, 0x05, 0x29, 0xcf, 0xef, + 0xbf, 0xae, 0x12, 0xa7, 0x50, 0x87, 0x0b, 0x68, 0xfe, 0xd8, 0x9b, 0x31, + 0xe8, 0x7f, 0x0d, 0xc3, 0xd5, 0x89, 0xf9, 0xd1, 0xa8, 0x1a, 0xc4, 0xa9, + 0xd4, 0xb3, 0x56, 0xc1, 0xcb, 0x1f, 0xdc, 0x14, 0xf0, 0x3a, 0x2b, 0x67, + 0x58, 0xcd, 0x9d, 0xb3, +}; +static const struct drbg_kat_no_reseed kat1180_t = { + 9, kat1180_entropyin, kat1180_nonce, kat1180_persstr, + kat1180_addin0, kat1180_addin1, kat1180_retbits +}; +static const struct drbg_kat kat1180 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1180_t +}; + +static const unsigned char kat1181_entropyin[] = { + 0x34, 0x62, 0xa9, 0x2c, 0xd9, 0xff, 0x51, 0x67, 0x97, 0xb6, 0x47, 0x0d, + 0xa1, 0xed, 0xdb, 0x45, 0xad, 0xb8, 0x6b, 0x54, 0x49, 0x16, 0x21, 0x11, + 0x29, 0xb8, 0xeb, 0xc7, 0xf4, 0x40, 0x6d, 0x02, 0x21, 0x46, 0x75, 0xd4, + 0xf9, 0xb1, 0xb1, 0xee, +}; +static const unsigned char kat1181_nonce[] = {0}; +static const unsigned char kat1181_persstr[] = { + 0xa3, 0x92, 0x36, 0x1e, 0x61, 0x15, 0xba, 0xa4, 0xa5, 0x81, 0x06, 0x8a, + 0x6e, 0x37, 0x66, 0x5b, 0xdc, 0x12, 0xd4, 0x5b, 0x8e, 0xe6, 0x56, 0xfc, + 0x3b, 0x90, 0xb1, 0xed, 0x01, 0x35, 0xb7, 0xd2, 0xf5, 0x07, 0x6b, 0x68, + 0x0d, 0xde, 0x61, 0xb4, +}; +static const unsigned char kat1181_addin0[] = {0}; +static const unsigned char kat1181_addin1[] = {0}; +static const unsigned char kat1181_retbits[] = { + 0xde, 0x08, 0xa5, 0xac, 0xb6, 0x75, 0xa7, 0x9a, 0xbd, 0xc3, 0x06, 0xda, + 0x7c, 0xc6, 0xb7, 0xd4, 0x8d, 0x88, 0x93, 0x0d, 0x77, 0x92, 0xc2, 0xed, + 0x35, 0xb0, 0x7c, 0x4f, 0x9a, 0x4d, 0x3a, 0x6d, 0xbe, 0x77, 0x0d, 0x47, + 0x45, 0x69, 0x1c, 0x76, 0x00, 0x80, 0x7c, 0x78, 0xb0, 0x6c, 0x1c, 0xf4, + 0xf4, 0xe0, 0xde, 0x88, 0x55, 0x2b, 0x74, 0xc8, 0x7c, 0x37, 0x57, 0x2d, + 0x3f, 0x0f, 0x9f, 0xe9, +}; +static const struct drbg_kat_no_reseed kat1181_t = { + 10, kat1181_entropyin, kat1181_nonce, kat1181_persstr, + kat1181_addin0, kat1181_addin1, kat1181_retbits +}; +static const struct drbg_kat kat1181 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1181_t +}; + +static const unsigned char kat1182_entropyin[] = { + 0xe8, 0x67, 0x36, 0x0a, 0x53, 0xe8, 0x1b, 0xe2, 0xae, 0x58, 0xc4, 0x6d, + 0x96, 0xa3, 0xee, 0x7c, 0xf7, 0xbe, 0xf4, 0xb1, 0xfa, 0xd3, 0x5f, 0xa7, + 0x17, 0x06, 0x35, 0x37, 0xb4, 0x00, 0xd4, 0x69, 0x18, 0x69, 0x5f, 0xd3, + 0x3c, 0xc4, 0xd3, 0x4a, +}; +static const unsigned char kat1182_nonce[] = {0}; +static const unsigned char kat1182_persstr[] = { + 0xdd, 0x54, 0xd9, 0x82, 0xb7, 0x63, 0xd9, 0x82, 0x16, 0x11, 0x63, 0x0f, + 0x50, 0x6a, 0x20, 0x21, 0x6b, 0x29, 0x54, 0xa2, 0x03, 0x2e, 0x31, 0xff, + 0xc6, 0x39, 0x56, 0x79, 0x83, 0x2e, 0x9b, 0x3f, 0x56, 0x8a, 0x82, 0x29, + 0xd3, 0x0a, 0x1c, 0xb3, +}; +static const unsigned char kat1182_addin0[] = {0}; +static const unsigned char kat1182_addin1[] = {0}; +static const unsigned char kat1182_retbits[] = { + 0xb5, 0xc9, 0x04, 0xec, 0x3a, 0x17, 0xad, 0x53, 0xa7, 0x5c, 0x50, 0xea, + 0xfc, 0xbe, 0x6b, 0x5f, 0x6e, 0xa0, 0xaa, 0x87, 0xc1, 0x2e, 0x2d, 0x2f, + 0x8f, 0x00, 0x3f, 0x53, 0x6e, 0x63, 0xc1, 0xb0, 0x43, 0xe0, 0xb5, 0x5a, + 0x7a, 0x5c, 0x15, 0x9f, 0xa3, 0x9c, 0xc5, 0xe4, 0x60, 0xde, 0xf5, 0x04, + 0x05, 0x74, 0xa4, 0x68, 0xc5, 0xe4, 0x20, 0x36, 0xb5, 0xa0, 0xb5, 0x76, + 0xfe, 0xa6, 0xdf, 0xf3, +}; +static const struct drbg_kat_no_reseed kat1182_t = { + 11, kat1182_entropyin, kat1182_nonce, kat1182_persstr, + kat1182_addin0, kat1182_addin1, kat1182_retbits +}; +static const struct drbg_kat kat1182 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1182_t +}; + +static const unsigned char kat1183_entropyin[] = { + 0x8f, 0xd9, 0x4c, 0x6a, 0x49, 0x8e, 0x59, 0xe0, 0xe0, 0xcb, 0x2f, 0x3c, + 0x18, 0x9c, 0xf6, 0xa0, 0x5a, 0xaa, 0x38, 0x34, 0xeb, 0xb1, 0x9f, 0xde, + 0xaf, 0x1c, 0x90, 0x25, 0x39, 0x94, 0x5c, 0xc6, 0xec, 0x6b, 0x2d, 0x94, + 0x14, 0x79, 0x96, 0x2e, +}; +static const unsigned char kat1183_nonce[] = {0}; +static const unsigned char kat1183_persstr[] = { + 0xba, 0x96, 0xa9, 0x07, 0x1c, 0x21, 0x52, 0x72, 0x9f, 0x78, 0x84, 0xe9, + 0xfe, 0xfb, 0x1f, 0x95, 0x8f, 0xbf, 0x32, 0x83, 0x77, 0xe2, 0x51, 0x18, + 0xd6, 0xf9, 0xcd, 0xd9, 0x01, 0x30, 0xd4, 0x1b, 0x59, 0x38, 0xed, 0x5d, + 0x5e, 0x82, 0x6f, 0xb4, +}; +static const unsigned char kat1183_addin0[] = {0}; +static const unsigned char kat1183_addin1[] = {0}; +static const unsigned char kat1183_retbits[] = { + 0x58, 0xe1, 0x82, 0x9d, 0xc5, 0x31, 0xaf, 0x06, 0xc3, 0x26, 0x65, 0xbf, + 0xfa, 0x77, 0xff, 0x9a, 0x71, 0x09, 0x3c, 0x17, 0x68, 0x12, 0x79, 0xa7, + 0x14, 0x5e, 0xed, 0x54, 0x90, 0xbc, 0xc3, 0x45, 0xb3, 0x30, 0xca, 0x5d, + 0xc3, 0x44, 0x82, 0x49, 0xfb, 0xa1, 0x9f, 0xa4, 0xa9, 0x28, 0x17, 0x5f, + 0x2b, 0xce, 0x81, 0x5b, 0x56, 0xc9, 0x1a, 0xe9, 0x65, 0x85, 0x2b, 0x09, + 0xa9, 0x9b, 0x01, 0x5e, +}; +static const struct drbg_kat_no_reseed kat1183_t = { + 12, kat1183_entropyin, kat1183_nonce, kat1183_persstr, + kat1183_addin0, kat1183_addin1, kat1183_retbits +}; +static const struct drbg_kat kat1183 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1183_t +}; + +static const unsigned char kat1184_entropyin[] = { + 0x27, 0xd6, 0xff, 0x3a, 0x4f, 0xc4, 0x69, 0x8a, 0x9a, 0xc2, 0x40, 0xf0, + 0x98, 0x9b, 0x3d, 0x59, 0x0b, 0x75, 0x2d, 0x2f, 0xfb, 0xc5, 0xf3, 0x3e, + 0x2f, 0x49, 0x5a, 0xce, 0xde, 0x1c, 0xb9, 0xf1, 0x73, 0x2f, 0x53, 0x8b, + 0x51, 0x59, 0x1c, 0x3e, +}; +static const unsigned char kat1184_nonce[] = {0}; +static const unsigned char kat1184_persstr[] = { + 0xcb, 0xd7, 0x76, 0xe0, 0x7d, 0xbf, 0x3f, 0x91, 0x8f, 0x38, 0x05, 0xf3, + 0x9c, 0x8c, 0xea, 0x89, 0xcb, 0x7a, 0xd6, 0xd2, 0x0f, 0x51, 0x1b, 0x8b, + 0x2a, 0xd5, 0x84, 0x84, 0x74, 0x12, 0x88, 0xc4, 0xd2, 0xbe, 0x96, 0x54, + 0xf5, 0xb6, 0x79, 0x12, +}; +static const unsigned char kat1184_addin0[] = {0}; +static const unsigned char kat1184_addin1[] = {0}; +static const unsigned char kat1184_retbits[] = { + 0x95, 0x8f, 0x9f, 0x61, 0xad, 0xd6, 0xbf, 0xc9, 0x85, 0x09, 0x35, 0x0b, + 0x60, 0x52, 0x01, 0x42, 0x6f, 0xc8, 0x3f, 0xc4, 0x5b, 0x53, 0x83, 0xa5, + 0x8d, 0xc8, 0x4e, 0x3e, 0xf8, 0xcb, 0x91, 0x1c, 0xae, 0x5a, 0x3b, 0xc6, + 0xf8, 0x55, 0x63, 0xdf, 0x0c, 0x21, 0x6f, 0xe8, 0xcb, 0xc8, 0xea, 0x07, + 0x53, 0x79, 0x42, 0x18, 0x60, 0x91, 0x3c, 0xc6, 0xcc, 0x5c, 0xf8, 0x1a, + 0xc5, 0x70, 0x67, 0x10, +}; +static const struct drbg_kat_no_reseed kat1184_t = { + 13, kat1184_entropyin, kat1184_nonce, kat1184_persstr, + kat1184_addin0, kat1184_addin1, kat1184_retbits +}; +static const struct drbg_kat kat1184 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1184_t +}; + +static const unsigned char kat1185_entropyin[] = { + 0xcf, 0x94, 0x77, 0xba, 0x03, 0x3c, 0x5d, 0x23, 0x24, 0xdd, 0x97, 0xb6, + 0x9c, 0xfe, 0x59, 0xd6, 0x6a, 0xe7, 0xf7, 0x32, 0x7a, 0xa9, 0x28, 0xed, + 0x1a, 0xd3, 0x6c, 0x2d, 0x9d, 0x63, 0xbe, 0x73, 0x1f, 0xf2, 0xde, 0x9b, + 0x29, 0xaa, 0x87, 0xb9, +}; +static const unsigned char kat1185_nonce[] = {0}; +static const unsigned char kat1185_persstr[] = { + 0x21, 0x5a, 0x3e, 0x63, 0x8f, 0xa6, 0xa7, 0x4d, 0x91, 0x59, 0x2b, 0x07, + 0xfa, 0x08, 0xf8, 0xd4, 0x98, 0x3c, 0x6a, 0xd0, 0x82, 0x0a, 0x90, 0x8b, + 0xa7, 0x35, 0xac, 0x5b, 0xce, 0xe6, 0x8c, 0x3f, 0x67, 0x0f, 0x6f, 0xcf, + 0x4d, 0x05, 0xb2, 0x5c, +}; +static const unsigned char kat1185_addin0[] = {0}; +static const unsigned char kat1185_addin1[] = {0}; +static const unsigned char kat1185_retbits[] = { + 0xac, 0xad, 0xe1, 0x90, 0x50, 0x8f, 0x25, 0x72, 0x4a, 0x3c, 0x7d, 0xd4, + 0xd9, 0x60, 0xbe, 0xe0, 0x88, 0xcb, 0x61, 0x52, 0xf3, 0x1a, 0x53, 0x72, + 0x95, 0xa8, 0xff, 0x4b, 0x85, 0xaf, 0x94, 0xa0, 0xff, 0x00, 0x6b, 0xe9, + 0xce, 0x2f, 0x54, 0x1b, 0x82, 0x37, 0xf6, 0xa7, 0xfc, 0x62, 0xa4, 0xbb, + 0x8e, 0x41, 0xac, 0x69, 0x79, 0xa6, 0xf1, 0x12, 0xb5, 0x71, 0x58, 0xaa, + 0x6e, 0xca, 0x34, 0x7f, +}; +static const struct drbg_kat_no_reseed kat1185_t = { + 14, kat1185_entropyin, kat1185_nonce, kat1185_persstr, + kat1185_addin0, kat1185_addin1, kat1185_retbits +}; +static const struct drbg_kat kat1185 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat1185_t +}; + +static const unsigned char kat1186_entropyin[] = { + 0x65, 0x75, 0x07, 0xb8, 0xad, 0x59, 0x39, 0xed, 0x5e, 0xac, 0x21, 0x41, + 0x51, 0xfa, 0x9c, 0x0d, 0x64, 0x4f, 0x2c, 0x6f, 0xf7, 0xcd, 0xd9, 0x33, + 0xe3, 0xee, 0x0d, 0xc5, 0xae, 0xb9, 0xa3, 0x64, 0xaa, 0xa0, 0x9a, 0x35, + 0x26, 0xcc, 0x7d, 0xb0, +}; +static const unsigned char kat1186_nonce[] = {0}; +static const unsigned char kat1186_persstr[] = { + 0xf2, 0xf9, 0x5e, 0xbd, 0xbd, 0x47, 0xd0, 0x62, 0x12, 0x63, 0xb1, 0x21, + 0x5c, 0xd1, 0x07, 0xe3, 0x7a, 0x77, 0x2d, 0xd9, 0x91, 0x16, 0x0d, 0x40, + 0xb8, 0x28, 0x8d, 0x47, 0xa1, 0xa9, 0x90, 0x35, 0x14, 0x49, 0x9d, 0x05, + 0x5b, 0x68, 0xaa, 0x6a, +}; +static const unsigned char kat1186_addin0[] = { + 0xe8, 0xe9, 0x68, 0xd2, 0x49, 0xe1, 0x65, 0xf4, 0x10, 0xc7, 0x57, 0x84, + 0x2e, 0xc1, 0xa6, 0xbb, 0xcd, 0x40, 0x56, 0x6d, 0xb5, 0x86, 0x53, 0xb2, + 0xeb, 0x45, 0x02, 0xe7, 0x51, 0x13, 0xd8, 0x1d, 0x9a, 0x20, 0xdc, 0x09, + 0x9a, 0x20, 0x24, 0xee, +}; +static const unsigned char kat1186_addin1[] = { + 0x46, 0x45, 0xd7, 0x32, 0x6d, 0x1f, 0x39, 0xd0, 0x4a, 0x14, 0xfc, 0x39, + 0x5a, 0xcd, 0x19, 0xfd, 0xa6, 0xd1, 0xaa, 0x75, 0x59, 0x95, 0x47, 0x6e, + 0xb9, 0x6a, 0x19, 0x2b, 0x89, 0x63, 0xc5, 0x89, 0x07, 0x98, 0xbd, 0xff, + 0xa1, 0x85, 0x59, 0x8e, +}; +static const unsigned char kat1186_retbits[] = { + 0x28, 0x24, 0x05, 0x9c, 0x8c, 0x55, 0xc6, 0x48, 0x41, 0x44, 0x14, 0x2c, + 0xdf, 0x7f, 0x5f, 0xe1, 0x0c, 0xa7, 0xba, 0x04, 0x73, 0x0e, 0xd3, 0x24, + 0x16, 0x6a, 0xac, 0xad, 0x30, 0x40, 0x97, 0x18, 0x41, 0x83, 0x55, 0x32, + 0x8e, 0xd6, 0xf2, 0x99, 0xd1, 0xfb, 0x25, 0x11, 0xbc, 0x06, 0x96, 0xba, + 0x99, 0xd1, 0x30, 0x5e, 0x94, 0x41, 0x1d, 0x8f, 0x5b, 0xc7, 0x63, 0xb5, + 0x7f, 0x0c, 0xcc, 0x8d, +}; +static const struct drbg_kat_no_reseed kat1186_t = { + 0, kat1186_entropyin, kat1186_nonce, kat1186_persstr, + kat1186_addin0, kat1186_addin1, kat1186_retbits +}; +static const struct drbg_kat kat1186 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1186_t +}; + +static const unsigned char kat1187_entropyin[] = { + 0x3b, 0x99, 0xff, 0x3c, 0xd7, 0x2e, 0xb3, 0xc7, 0x34, 0x37, 0x62, 0xa4, + 0x49, 0x75, 0x58, 0xdb, 0x4b, 0x61, 0x62, 0x4d, 0xcd, 0x7e, 0x08, 0xb4, + 0x46, 0xb1, 0xa6, 0x7e, 0xbf, 0x60, 0x22, 0x46, 0x01, 0x8d, 0x88, 0xcb, + 0x30, 0xb9, 0x04, 0x8d, +}; +static const unsigned char kat1187_nonce[] = {0}; +static const unsigned char kat1187_persstr[] = { + 0xee, 0x5a, 0xc1, 0x65, 0xd9, 0xcf, 0x67, 0x98, 0x16, 0x62, 0x8b, 0xd9, + 0xb1, 0xd8, 0x44, 0xb6, 0xf7, 0xe8, 0x13, 0x5f, 0x7d, 0xfb, 0x50, 0x52, + 0x73, 0x75, 0x02, 0x64, 0x4f, 0xd7, 0x70, 0xa9, 0xe6, 0x13, 0x75, 0xe6, + 0xc3, 0x52, 0xef, 0xb2, +}; +static const unsigned char kat1187_addin0[] = { + 0xbf, 0x59, 0x3e, 0x6d, 0xbe, 0x9d, 0x7d, 0x6d, 0xb2, 0x9d, 0x0e, 0xf3, + 0x54, 0xfa, 0x6f, 0x80, 0xb8, 0x76, 0x44, 0x0b, 0x28, 0x0d, 0x78, 0xd7, + 0x42, 0x55, 0x6d, 0x64, 0x7e, 0x6b, 0xa8, 0x92, 0x0b, 0xa2, 0xa8, 0xa3, + 0x4e, 0x93, 0x51, 0x1c, +}; +static const unsigned char kat1187_addin1[] = { + 0xaf, 0xd1, 0x31, 0x1c, 0x6c, 0x6e, 0x9b, 0xa3, 0xdb, 0x07, 0x0d, 0xae, + 0x8c, 0x67, 0x21, 0x59, 0x80, 0x6d, 0xae, 0x15, 0x4e, 0xfc, 0xc7, 0x09, + 0x6c, 0x57, 0xf7, 0x75, 0x31, 0x19, 0x16, 0xab, 0x5b, 0x86, 0xde, 0x16, + 0x96, 0x47, 0x6e, 0x64, +}; +static const unsigned char kat1187_retbits[] = { + 0x4b, 0x06, 0x96, 0x25, 0xac, 0x3d, 0x76, 0x5e, 0xb5, 0x8e, 0xb2, 0xa3, + 0xa5, 0x06, 0x8d, 0xc1, 0xa1, 0xaa, 0x7b, 0xcb, 0x12, 0x36, 0xd1, 0xca, + 0xf9, 0x9d, 0x1b, 0x8d, 0xf9, 0x27, 0xd4, 0x11, 0xa3, 0x7c, 0xfa, 0x28, + 0x02, 0x19, 0xde, 0xdc, 0x82, 0xe8, 0x4d, 0x73, 0xca, 0xeb, 0x5a, 0x40, + 0xe9, 0x38, 0x33, 0x33, 0x1f, 0x1f, 0x7d, 0x9d, 0xe6, 0x9b, 0x5c, 0x15, + 0xf9, 0x15, 0xcb, 0xb6, +}; +static const struct drbg_kat_no_reseed kat1187_t = { + 1, kat1187_entropyin, kat1187_nonce, kat1187_persstr, + kat1187_addin0, kat1187_addin1, kat1187_retbits +}; +static const struct drbg_kat kat1187 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1187_t +}; + +static const unsigned char kat1188_entropyin[] = { + 0x64, 0x4e, 0x16, 0x37, 0xb6, 0x7c, 0x74, 0x5b, 0x01, 0x37, 0x98, 0xc1, + 0x43, 0x65, 0xdf, 0x4a, 0xaa, 0x55, 0xa1, 0x96, 0x40, 0x16, 0x3c, 0x40, + 0x1c, 0x0e, 0x1e, 0xd5, 0xea, 0x37, 0xe4, 0x5e, 0xbb, 0xd7, 0x43, 0x0d, + 0x5d, 0xd2, 0x9c, 0x54, +}; +static const unsigned char kat1188_nonce[] = {0}; +static const unsigned char kat1188_persstr[] = { + 0x72, 0x60, 0xea, 0xd1, 0xea, 0x11, 0xbd, 0xec, 0x9c, 0x34, 0xb2, 0x59, + 0x4b, 0x61, 0x4f, 0x91, 0x6c, 0x1e, 0xb2, 0x07, 0xa4, 0x59, 0x80, 0x8e, + 0xaa, 0xdd, 0x20, 0x03, 0x8c, 0xd8, 0xd6, 0x6a, 0x97, 0x4e, 0x15, 0x10, + 0x30, 0xe7, 0xee, 0xd6, +}; +static const unsigned char kat1188_addin0[] = { + 0xd1, 0xd6, 0x52, 0x42, 0xfe, 0x65, 0xa0, 0x34, 0x92, 0x42, 0x21, 0xca, + 0x0c, 0xfd, 0xc9, 0x41, 0x2e, 0xce, 0x33, 0x72, 0x6b, 0x20, 0xf5, 0x75, + 0x88, 0xe6, 0xf4, 0xeb, 0xa1, 0x62, 0x46, 0x1e, 0xd2, 0x9e, 0xf3, 0x29, + 0x5e, 0x2e, 0x45, 0x8f, +}; +static const unsigned char kat1188_addin1[] = { + 0x1d, 0x3a, 0xf3, 0x6b, 0x4a, 0x38, 0x6f, 0xdc, 0x63, 0x18, 0xd1, 0x60, + 0x57, 0xed, 0x5a, 0x16, 0x73, 0xd5, 0x4b, 0x96, 0xbe, 0xf3, 0xde, 0x9b, + 0x62, 0xb9, 0x43, 0x07, 0x22, 0x08, 0x48, 0xb5, 0x41, 0x15, 0x5d, 0x7c, + 0x3e, 0x73, 0x9b, 0xbf, +}; +static const unsigned char kat1188_retbits[] = { + 0xe0, 0xaf, 0xa3, 0xa2, 0x07, 0x37, 0xe4, 0x0a, 0xd7, 0xc7, 0x6b, 0xa1, + 0x8a, 0xff, 0xc2, 0xe7, 0x37, 0xa6, 0x62, 0x46, 0xf6, 0x16, 0x68, 0xb7, + 0x05, 0xda, 0x53, 0xf6, 0xd3, 0xee, 0x50, 0x41, 0x41, 0x40, 0xa4, 0x23, + 0x14, 0x5d, 0x64, 0x6b, 0xd1, 0xb8, 0x49, 0x67, 0x86, 0x79, 0x23, 0xe6, + 0xc2, 0x1d, 0x57, 0x50, 0xa9, 0x79, 0x62, 0x60, 0xb9, 0xbc, 0xc2, 0x0d, + 0xc5, 0xc8, 0xa0, 0x4f, +}; +static const struct drbg_kat_no_reseed kat1188_t = { + 2, kat1188_entropyin, kat1188_nonce, kat1188_persstr, + kat1188_addin0, kat1188_addin1, kat1188_retbits +}; +static const struct drbg_kat kat1188 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1188_t +}; + +static const unsigned char kat1189_entropyin[] = { + 0x43, 0x3c, 0x28, 0xd6, 0x82, 0xef, 0x86, 0x11, 0xf2, 0x22, 0x7e, 0xbb, + 0x95, 0xff, 0x18, 0x61, 0x04, 0xa6, 0xd6, 0xfa, 0x72, 0x5b, 0x9a, 0x44, + 0xab, 0x19, 0x25, 0xce, 0x60, 0x50, 0xef, 0xa2, 0x6c, 0x94, 0x19, 0x6b, + 0xaa, 0x71, 0xc3, 0x1c, +}; +static const unsigned char kat1189_nonce[] = {0}; +static const unsigned char kat1189_persstr[] = { + 0x9c, 0xca, 0xfe, 0x81, 0x55, 0xa2, 0xf7, 0x93, 0x6e, 0xab, 0x14, 0x59, + 0x37, 0xd8, 0x4e, 0x26, 0x8e, 0xce, 0xeb, 0x1a, 0xcb, 0xe5, 0x6b, 0xc0, + 0x50, 0x07, 0x9c, 0x00, 0x0e, 0xc0, 0xa3, 0x23, 0x74, 0x9f, 0xb0, 0x46, + 0xb3, 0xb7, 0xe6, 0xa0, +}; +static const unsigned char kat1189_addin0[] = { + 0x3f, 0x42, 0xe8, 0x4a, 0x41, 0x91, 0x7c, 0xb6, 0xfa, 0xe0, 0x4b, 0xb7, + 0xd0, 0xf7, 0xf1, 0x5b, 0xe7, 0x8b, 0xca, 0x18, 0x7b, 0x96, 0x22, 0xd7, + 0xbd, 0x57, 0x8e, 0xa2, 0xb4, 0x5a, 0x01, 0x95, 0xea, 0xef, 0x5a, 0x4e, + 0xaa, 0x34, 0xe6, 0x41, +}; +static const unsigned char kat1189_addin1[] = { + 0xc3, 0x38, 0x7a, 0x63, 0xb7, 0xc7, 0xde, 0xf0, 0xb6, 0x3a, 0x3c, 0x49, + 0x28, 0xa6, 0x93, 0x94, 0x3b, 0x18, 0x4c, 0x71, 0x96, 0x05, 0xf6, 0x1d, + 0xa5, 0x27, 0x5a, 0x49, 0x13, 0xf9, 0x7c, 0x39, 0xd1, 0x9a, 0xd1, 0x4a, + 0x87, 0x27, 0x1e, 0x97, +}; +static const unsigned char kat1189_retbits[] = { + 0x9b, 0x81, 0x84, 0x5c, 0xac, 0x19, 0x15, 0x50, 0xcb, 0xf4, 0x25, 0xb9, + 0x90, 0x98, 0x86, 0x27, 0xe4, 0xf7, 0xd4, 0x21, 0x43, 0x72, 0x78, 0x0f, + 0xfd, 0x4f, 0xc9, 0x0c, 0x4c, 0xb2, 0x11, 0xf1, 0x45, 0xe3, 0x8a, 0x68, + 0x79, 0x43, 0x06, 0x5e, 0x59, 0xe2, 0x71, 0x5a, 0x1d, 0x70, 0x73, 0x0a, + 0x80, 0x4e, 0xaa, 0x17, 0xc3, 0x74, 0xa6, 0x56, 0x97, 0x19, 0x32, 0x12, + 0x36, 0xfa, 0x5a, 0x67, +}; +static const struct drbg_kat_no_reseed kat1189_t = { + 3, kat1189_entropyin, kat1189_nonce, kat1189_persstr, + kat1189_addin0, kat1189_addin1, kat1189_retbits +}; +static const struct drbg_kat kat1189 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1189_t +}; + +static const unsigned char kat1190_entropyin[] = { + 0x5d, 0x13, 0x36, 0x72, 0xc8, 0x96, 0xc7, 0x05, 0x4d, 0xdc, 0x1b, 0x1e, + 0x46, 0x0e, 0x32, 0x5e, 0x4f, 0x40, 0x5e, 0xdc, 0x2b, 0x18, 0x8a, 0x48, + 0x3b, 0xa9, 0x45, 0x5f, 0x0c, 0x55, 0x6e, 0x95, 0x38, 0xef, 0xc7, 0xb7, + 0x5b, 0x87, 0x1f, 0x10, +}; +static const unsigned char kat1190_nonce[] = {0}; +static const unsigned char kat1190_persstr[] = { + 0x4d, 0x07, 0x83, 0x3b, 0xf8, 0xa6, 0x3e, 0xfd, 0x78, 0x21, 0x71, 0x10, + 0xcd, 0x60, 0x8d, 0x41, 0x6b, 0x12, 0x80, 0x7b, 0xcb, 0x37, 0x9e, 0xed, + 0x98, 0x5a, 0x9d, 0xb4, 0xcd, 0xe8, 0x57, 0x45, 0x39, 0x1d, 0x5e, 0x29, + 0x79, 0x9a, 0x8c, 0xe7, +}; +static const unsigned char kat1190_addin0[] = { + 0xcc, 0x43, 0xf8, 0x20, 0xe2, 0x53, 0x8b, 0xd7, 0xd0, 0x4e, 0x8c, 0xb6, + 0x46, 0x63, 0x27, 0x74, 0xaf, 0x1e, 0x33, 0x39, 0x6d, 0xc8, 0x16, 0x11, + 0x8b, 0x7d, 0x06, 0xec, 0x5c, 0x56, 0x4d, 0x79, 0x25, 0xe1, 0x8a, 0xd0, + 0x02, 0x0e, 0x97, 0x05, +}; +static const unsigned char kat1190_addin1[] = { + 0xb5, 0xd3, 0x25, 0x8d, 0xdb, 0x84, 0xb3, 0x0e, 0xf6, 0xfa, 0x82, 0xd9, + 0x86, 0xc7, 0x29, 0x54, 0x0a, 0x84, 0x43, 0x78, 0xc5, 0x32, 0xbd, 0x1e, + 0x2e, 0x6e, 0xc2, 0x97, 0x0d, 0x0e, 0x61, 0x10, 0x3c, 0x63, 0x57, 0x43, + 0xed, 0x01, 0x67, 0x19, +}; +static const unsigned char kat1190_retbits[] = { + 0x99, 0xe3, 0x64, 0xb9, 0xdc, 0x10, 0x41, 0x28, 0x2c, 0x85, 0x35, 0x8a, + 0xeb, 0x6a, 0xfb, 0x95, 0xee, 0x62, 0x2d, 0x6d, 0xb4, 0x71, 0xb9, 0xe3, + 0xa9, 0x22, 0xfb, 0xde, 0x4b, 0xa2, 0x89, 0xbd, 0xc7, 0x9b, 0xc7, 0x1f, + 0x77, 0x30, 0xb9, 0xdf, 0x0d, 0x92, 0x5f, 0xd9, 0xb8, 0x8f, 0x4b, 0xe8, + 0x34, 0x7b, 0x72, 0xfb, 0x5e, 0x67, 0x83, 0x04, 0x1a, 0x8a, 0xba, 0x5d, + 0xa5, 0x65, 0xea, 0x58, +}; +static const struct drbg_kat_no_reseed kat1190_t = { + 4, kat1190_entropyin, kat1190_nonce, kat1190_persstr, + kat1190_addin0, kat1190_addin1, kat1190_retbits +}; +static const struct drbg_kat kat1190 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1190_t +}; + +static const unsigned char kat1191_entropyin[] = { + 0x8b, 0x51, 0xe4, 0x7e, 0x97, 0xfe, 0x04, 0xec, 0x18, 0x54, 0xd0, 0x98, + 0xd8, 0x53, 0x53, 0x20, 0x2e, 0xa8, 0xd5, 0x63, 0x35, 0x16, 0x56, 0x59, + 0x46, 0xd5, 0x97, 0x7b, 0x62, 0x87, 0xef, 0xf5, 0x23, 0x3f, 0x60, 0xa5, + 0xf1, 0xed, 0xe3, 0x25, +}; +static const unsigned char kat1191_nonce[] = {0}; +static const unsigned char kat1191_persstr[] = { + 0xdb, 0xb3, 0x5b, 0x39, 0x52, 0xab, 0x97, 0x1e, 0xc0, 0xdc, 0x57, 0x3a, + 0xe0, 0xda, 0x64, 0x4b, 0x26, 0x68, 0x46, 0x9e, 0x8e, 0x6b, 0x62, 0x21, + 0x61, 0xd6, 0xe1, 0x98, 0x3f, 0x95, 0x6e, 0x81, 0x17, 0xa9, 0x72, 0x4e, + 0xc3, 0x18, 0xf2, 0x57, +}; +static const unsigned char kat1191_addin0[] = { + 0x75, 0x92, 0x2b, 0x8c, 0xdf, 0x29, 0x35, 0x2c, 0x08, 0x4b, 0xa0, 0x76, + 0x4e, 0x0a, 0xfb, 0xfb, 0x51, 0x37, 0x6b, 0x6a, 0x9b, 0x62, 0xfd, 0xb7, + 0x1d, 0x85, 0x0e, 0x72, 0xfd, 0x00, 0xd2, 0x5c, 0x2f, 0x08, 0xc9, 0x46, + 0xb5, 0xf2, 0x88, 0x74, +}; +static const unsigned char kat1191_addin1[] = { + 0x9e, 0x64, 0x1b, 0x0d, 0x60, 0x11, 0xbf, 0x4e, 0xed, 0xa6, 0xc9, 0x38, + 0xc2, 0xe3, 0xb2, 0xda, 0x24, 0x28, 0x46, 0xed, 0x7e, 0xc4, 0x7c, 0x54, + 0xa1, 0x61, 0x85, 0xec, 0xd4, 0x81, 0x06, 0xfd, 0xf4, 0xc7, 0xb9, 0xf1, + 0x42, 0x92, 0xcf, 0xb8, +}; +static const unsigned char kat1191_retbits[] = { + 0x99, 0x13, 0x86, 0x55, 0xec, 0x9b, 0x57, 0x67, 0xad, 0x48, 0xac, 0xf3, + 0xab, 0x18, 0x0d, 0x1a, 0xf1, 0xdc, 0x1f, 0xb1, 0x91, 0x19, 0xeb, 0x30, + 0xde, 0xe3, 0x1e, 0x31, 0xf8, 0xb5, 0xf5, 0xe0, 0x32, 0x77, 0x70, 0xa1, + 0xb0, 0x40, 0xca, 0x54, 0x75, 0x84, 0xec, 0xd5, 0x7e, 0xe2, 0xa4, 0x59, + 0xe2, 0x66, 0x1d, 0x23, 0xd9, 0x0b, 0xb9, 0x9f, 0x20, 0x73, 0x1c, 0xa6, + 0x42, 0xa8, 0xc7, 0x82, +}; +static const struct drbg_kat_no_reseed kat1191_t = { + 5, kat1191_entropyin, kat1191_nonce, kat1191_persstr, + kat1191_addin0, kat1191_addin1, kat1191_retbits +}; +static const struct drbg_kat kat1191 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1191_t +}; + +static const unsigned char kat1192_entropyin[] = { + 0x80, 0x1d, 0x68, 0x4b, 0x98, 0x1c, 0x8c, 0x77, 0x35, 0x1b, 0x88, 0x5f, + 0x52, 0xe6, 0x8e, 0x02, 0x6f, 0x7b, 0xf1, 0xce, 0x1f, 0x41, 0x83, 0xfe, + 0x78, 0x7e, 0x85, 0x24, 0x31, 0xa7, 0x64, 0x47, 0x90, 0x76, 0x72, 0x9c, + 0xe5, 0x81, 0x81, 0x3b, +}; +static const unsigned char kat1192_nonce[] = {0}; +static const unsigned char kat1192_persstr[] = { + 0x1b, 0xa2, 0x22, 0x32, 0x58, 0xa2, 0x9f, 0xa5, 0xd7, 0xf1, 0x93, 0x92, + 0x5d, 0xd2, 0x69, 0x03, 0x81, 0x63, 0x06, 0xf3, 0x30, 0x07, 0xb6, 0xd6, + 0xb9, 0xe0, 0x66, 0xbc, 0x96, 0xc8, 0xc0, 0xb0, 0x22, 0xf9, 0xcd, 0x9f, + 0x88, 0x12, 0x10, 0xd3, +}; +static const unsigned char kat1192_addin0[] = { + 0x52, 0x5d, 0xec, 0x25, 0xa2, 0x93, 0xe5, 0x90, 0xfd, 0x8f, 0x77, 0x6a, + 0xf2, 0x2b, 0x54, 0x02, 0x7a, 0x8d, 0x80, 0x9a, 0x35, 0xac, 0x3a, 0x5e, + 0x46, 0x99, 0xdb, 0x1d, 0x75, 0x59, 0x8c, 0x1f, 0xc0, 0xc1, 0x1f, 0x9a, + 0x20, 0x1f, 0xa1, 0x73, +}; +static const unsigned char kat1192_addin1[] = { + 0xe0, 0x08, 0xda, 0xb1, 0x84, 0xd7, 0xeb, 0x4b, 0x39, 0xed, 0xa3, 0x84, + 0x5f, 0x2c, 0xf6, 0xf2, 0x39, 0x69, 0xea, 0xe1, 0xfd, 0xef, 0x34, 0x33, + 0x33, 0x2c, 0x9d, 0x6f, 0x37, 0x96, 0xe7, 0x80, 0xa0, 0x5c, 0x39, 0x27, + 0x57, 0x1a, 0x41, 0x24, +}; +static const unsigned char kat1192_retbits[] = { + 0x89, 0x5c, 0xef, 0xdc, 0x9f, 0xd1, 0x9c, 0x50, 0xb2, 0x05, 0xff, 0x5b, + 0x68, 0x81, 0xfa, 0xfc, 0xc0, 0x89, 0x2a, 0x96, 0xb6, 0xf7, 0x3e, 0x1a, + 0x4b, 0x74, 0xc7, 0x06, 0x15, 0x3b, 0x8f, 0x5d, 0xf5, 0x18, 0xcc, 0xda, + 0xc2, 0x8d, 0x38, 0xb8, 0x2f, 0xca, 0xaa, 0xd7, 0xbe, 0x82, 0x8c, 0xcf, + 0x9a, 0xbb, 0xd5, 0xb5, 0xb1, 0x1c, 0x84, 0x92, 0x12, 0x1e, 0x8b, 0x63, + 0x94, 0x17, 0x37, 0xed, +}; +static const struct drbg_kat_no_reseed kat1192_t = { + 6, kat1192_entropyin, kat1192_nonce, kat1192_persstr, + kat1192_addin0, kat1192_addin1, kat1192_retbits +}; +static const struct drbg_kat kat1192 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1192_t +}; + +static const unsigned char kat1193_entropyin[] = { + 0xd1, 0x57, 0x14, 0xd5, 0xd3, 0xf8, 0x0e, 0x19, 0xe0, 0x04, 0x83, 0xb2, + 0x9a, 0xd6, 0x55, 0xa3, 0x68, 0xa1, 0xd0, 0xe5, 0x57, 0x64, 0x2f, 0x81, + 0xf8, 0x4a, 0xe0, 0xc3, 0x67, 0x3b, 0x74, 0x1c, 0x0b, 0x31, 0x3e, 0xd3, + 0xdc, 0xd4, 0x75, 0xf9, +}; +static const unsigned char kat1193_nonce[] = {0}; +static const unsigned char kat1193_persstr[] = { + 0xf2, 0x82, 0xb3, 0x2b, 0xe8, 0x07, 0xb5, 0x78, 0x7d, 0x89, 0x1e, 0x58, + 0xfd, 0x60, 0xf4, 0xc2, 0x9d, 0x26, 0x37, 0x32, 0x87, 0x4e, 0x38, 0xbc, + 0x34, 0xee, 0x28, 0x46, 0x73, 0x03, 0x85, 0xdb, 0x06, 0xa1, 0xa4, 0xac, + 0x64, 0x87, 0x8e, 0x26, +}; +static const unsigned char kat1193_addin0[] = { + 0x8a, 0xdc, 0xe4, 0x45, 0xcb, 0x08, 0xc3, 0x45, 0xf9, 0x9c, 0x11, 0x96, + 0x43, 0x74, 0x34, 0xdd, 0x75, 0xc2, 0x19, 0x79, 0xfb, 0x44, 0x84, 0x59, + 0xf7, 0xd8, 0x1b, 0x0f, 0x2e, 0x21, 0xbe, 0x1f, 0x48, 0xce, 0x46, 0x24, + 0x1b, 0xea, 0x4a, 0x37, +}; +static const unsigned char kat1193_addin1[] = { + 0xd9, 0x3f, 0x0c, 0x51, 0x79, 0xb4, 0x48, 0x1b, 0xa3, 0x48, 0xf3, 0x7d, + 0x7c, 0x32, 0x0b, 0xef, 0xd2, 0x09, 0xb7, 0x4b, 0xee, 0x45, 0x1d, 0x88, + 0x21, 0x1c, 0x99, 0x76, 0x02, 0xc9, 0xfb, 0x6c, 0x3b, 0x2f, 0x77, 0xa2, + 0x50, 0x6f, 0x5f, 0xed, +}; +static const unsigned char kat1193_retbits[] = { + 0x34, 0x70, 0x7a, 0xd1, 0xe4, 0x93, 0xe4, 0xa8, 0x13, 0x2e, 0x1c, 0x0e, + 0x4d, 0x36, 0xd6, 0x90, 0x16, 0x8a, 0x91, 0xca, 0x79, 0x7f, 0x24, 0x96, + 0x04, 0xc2, 0xd1, 0xb3, 0x20, 0x4c, 0x17, 0x71, 0x52, 0x93, 0xc3, 0x67, + 0xbc, 0xb8, 0xee, 0x00, 0x9b, 0x3f, 0x1a, 0x65, 0xef, 0x83, 0x29, 0xfa, + 0x13, 0x7a, 0x12, 0x9b, 0x8f, 0x7e, 0xd6, 0xb3, 0x6d, 0xee, 0x08, 0xad, + 0x8d, 0x7d, 0x39, 0xac, +}; +static const struct drbg_kat_no_reseed kat1193_t = { + 7, kat1193_entropyin, kat1193_nonce, kat1193_persstr, + kat1193_addin0, kat1193_addin1, kat1193_retbits +}; +static const struct drbg_kat kat1193 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1193_t +}; + +static const unsigned char kat1194_entropyin[] = { + 0x08, 0x33, 0x1c, 0x1c, 0x32, 0xf0, 0xb3, 0xe8, 0x7a, 0x9a, 0x0e, 0x09, + 0x2e, 0x92, 0x3a, 0x8a, 0x50, 0x77, 0xa7, 0xf0, 0xa9, 0x7a, 0x87, 0x99, + 0xb8, 0x64, 0x58, 0x7e, 0x67, 0x4b, 0x1c, 0xf6, 0x5b, 0xc5, 0xc9, 0x28, + 0xdc, 0x9e, 0x55, 0x57, +}; +static const unsigned char kat1194_nonce[] = {0}; +static const unsigned char kat1194_persstr[] = { + 0x87, 0xca, 0xc9, 0x11, 0x7f, 0x06, 0x77, 0xeb, 0x95, 0x87, 0x70, 0x89, + 0x3c, 0xe2, 0x94, 0x26, 0x21, 0x18, 0x8a, 0xa9, 0x5a, 0x10, 0x96, 0xf6, + 0xf3, 0x7d, 0x1b, 0xee, 0xe1, 0xc7, 0x6c, 0xa4, 0x0c, 0xe9, 0x53, 0xeb, + 0x73, 0x3f, 0x81, 0x9c, +}; +static const unsigned char kat1194_addin0[] = { + 0x2b, 0x28, 0x71, 0x5e, 0xfd, 0x8d, 0xf9, 0x36, 0xb3, 0x96, 0xbf, 0x9e, + 0x4a, 0xe6, 0x43, 0x97, 0x75, 0x34, 0xdc, 0xe1, 0xa4, 0x9b, 0xea, 0x8f, + 0x1c, 0xfd, 0x50, 0x17, 0xc2, 0x82, 0x5a, 0xe2, 0x1f, 0xa5, 0x2f, 0xc8, + 0x52, 0x55, 0xf4, 0xbe, +}; +static const unsigned char kat1194_addin1[] = { + 0x9c, 0xc6, 0x33, 0x5e, 0xde, 0xbc, 0x66, 0x41, 0x31, 0xf7, 0xf4, 0x42, + 0xcf, 0xb5, 0x15, 0x51, 0xe3, 0xcc, 0x7f, 0x65, 0x43, 0xd2, 0xac, 0x15, + 0x73, 0xcd, 0x77, 0xf4, 0xfd, 0x7a, 0x5c, 0xa6, 0x4f, 0x94, 0x5d, 0xeb, + 0xb4, 0x60, 0xbe, 0x1b, +}; +static const unsigned char kat1194_retbits[] = { + 0x26, 0xce, 0xb5, 0xa4, 0x86, 0xa3, 0x2f, 0xb5, 0xbc, 0xfb, 0xfb, 0x6f, + 0x49, 0x48, 0x35, 0x7d, 0x9c, 0xe7, 0xb7, 0x63, 0xb7, 0x36, 0x9a, 0x67, + 0x6a, 0x0e, 0x82, 0xdc, 0x08, 0xd3, 0x8c, 0xfa, 0x55, 0x01, 0x30, 0x00, + 0x48, 0xcb, 0xf3, 0xaf, 0x88, 0x0b, 0x98, 0x71, 0xf7, 0x9d, 0xdd, 0x42, + 0x65, 0x28, 0x60, 0x68, 0xea, 0x26, 0x17, 0xe9, 0xff, 0xc6, 0xc2, 0xdd, + 0xf0, 0xd8, 0xc2, 0x1b, +}; +static const struct drbg_kat_no_reseed kat1194_t = { + 8, kat1194_entropyin, kat1194_nonce, kat1194_persstr, + kat1194_addin0, kat1194_addin1, kat1194_retbits +}; +static const struct drbg_kat kat1194 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1194_t +}; + +static const unsigned char kat1195_entropyin[] = { + 0x9b, 0x4b, 0x55, 0x87, 0xac, 0x11, 0x9f, 0xc8, 0x5f, 0x33, 0x2e, 0xe3, + 0xb9, 0x32, 0x79, 0xda, 0x42, 0xdd, 0xc5, 0x6e, 0x45, 0xdb, 0xea, 0x0c, + 0x37, 0xb7, 0xe8, 0x82, 0x3f, 0x1a, 0xd6, 0x40, 0xaa, 0xd4, 0x98, 0xac, + 0x8c, 0x82, 0x9c, 0xa2, +}; +static const unsigned char kat1195_nonce[] = {0}; +static const unsigned char kat1195_persstr[] = { + 0x30, 0x92, 0xce, 0xba, 0x2c, 0xff, 0x80, 0xae, 0x30, 0x03, 0x81, 0xc2, + 0x73, 0x37, 0x8e, 0x82, 0xf4, 0xc0, 0x94, 0xc8, 0x5a, 0x3a, 0xc4, 0x82, + 0xeb, 0x71, 0x93, 0x3a, 0x6d, 0xd7, 0xef, 0x48, 0x92, 0xe7, 0xb0, 0x52, + 0x7d, 0x92, 0x1b, 0xcd, +}; +static const unsigned char kat1195_addin0[] = { + 0x99, 0xa3, 0xa0, 0x35, 0x6a, 0xd4, 0x62, 0x97, 0x31, 0x55, 0x15, 0x0c, + 0xd9, 0xad, 0x83, 0x32, 0xad, 0x30, 0xa6, 0x01, 0x50, 0x4b, 0x28, 0x95, + 0x47, 0x20, 0x2f, 0x9c, 0x3d, 0xd3, 0xc5, 0x48, 0x4b, 0x9e, 0x39, 0x5d, + 0x50, 0x52, 0x8b, 0x8c, +}; +static const unsigned char kat1195_addin1[] = { + 0x02, 0xe8, 0x7c, 0x36, 0x3e, 0xde, 0x7d, 0xc9, 0xbc, 0xac, 0x1e, 0xd6, + 0xc5, 0x8d, 0x26, 0xb1, 0xe8, 0x85, 0xbd, 0x2e, 0x98, 0x16, 0x20, 0xb5, + 0x72, 0x51, 0x20, 0x5f, 0xc7, 0x96, 0xe8, 0xed, 0x85, 0xa8, 0xec, 0x62, + 0x53, 0xf5, 0xdb, 0xbf, +}; +static const unsigned char kat1195_retbits[] = { + 0xab, 0x07, 0x2e, 0xdf, 0xc8, 0x38, 0x28, 0xf1, 0x71, 0x6e, 0x82, 0x20, + 0xbd, 0x5b, 0x17, 0xac, 0x68, 0x4e, 0x93, 0xe4, 0xaa, 0x22, 0x57, 0xe8, + 0x99, 0x21, 0x05, 0xf9, 0x94, 0x85, 0x1e, 0x11, 0x42, 0xa0, 0xbc, 0x08, + 0xc0, 0x76, 0xf0, 0xcd, 0x16, 0x49, 0xad, 0x44, 0x74, 0x68, 0x64, 0x74, + 0x63, 0x8d, 0x8f, 0xf5, 0x08, 0x2b, 0x9a, 0x49, 0x40, 0x1d, 0x47, 0x9a, + 0x0c, 0x41, 0xaf, 0x9d, +}; +static const struct drbg_kat_no_reseed kat1195_t = { + 9, kat1195_entropyin, kat1195_nonce, kat1195_persstr, + kat1195_addin0, kat1195_addin1, kat1195_retbits +}; +static const struct drbg_kat kat1195 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1195_t +}; + +static const unsigned char kat1196_entropyin[] = { + 0xcd, 0xaf, 0xec, 0x56, 0x39, 0x07, 0x3a, 0xe7, 0x33, 0x40, 0xe0, 0x8a, + 0xd9, 0xb1, 0x48, 0xdd, 0xb3, 0x96, 0xa9, 0xcd, 0xc5, 0xaa, 0x36, 0x98, + 0x71, 0x04, 0x6c, 0x1d, 0x9f, 0x2f, 0x39, 0x21, 0x34, 0x3c, 0xff, 0xe8, + 0x6e, 0x94, 0xed, 0x64, +}; +static const unsigned char kat1196_nonce[] = {0}; +static const unsigned char kat1196_persstr[] = { + 0x36, 0xb4, 0x61, 0xe5, 0xef, 0xe0, 0x53, 0xb2, 0x44, 0x8b, 0x5b, 0x5a, + 0x35, 0xc0, 0xe9, 0xef, 0x53, 0x77, 0x13, 0x15, 0x6c, 0x4c, 0x2f, 0x3e, + 0x6d, 0xbc, 0x53, 0x32, 0x02, 0xd5, 0x84, 0x62, 0x58, 0x14, 0x4f, 0xb2, + 0xe2, 0xda, 0x59, 0x21, +}; +static const unsigned char kat1196_addin0[] = { + 0x6f, 0x16, 0xf4, 0xfe, 0xc2, 0x08, 0xbb, 0x8f, 0x38, 0x21, 0x08, 0xf0, + 0xa1, 0x37, 0x30, 0xab, 0xcd, 0x61, 0xd7, 0xfd, 0xee, 0xd5, 0x3b, 0x50, + 0xd6, 0x62, 0xbf, 0x9a, 0x97, 0x23, 0xf3, 0x8c, 0x62, 0xbc, 0x3a, 0x23, + 0xe7, 0x6f, 0x8f, 0x4c, +}; +static const unsigned char kat1196_addin1[] = { + 0x39, 0x3a, 0x1d, 0x49, 0x23, 0x3e, 0xda, 0xfb, 0xfe, 0xfd, 0x3c, 0x51, + 0x97, 0x1e, 0x0e, 0xee, 0x1c, 0x09, 0xca, 0xa2, 0x2d, 0x90, 0x36, 0x06, + 0x0c, 0x70, 0xcd, 0x8e, 0x9f, 0xe0, 0xc3, 0x04, 0x22, 0x3e, 0xbf, 0x88, + 0x14, 0x4f, 0x92, 0x8e, +}; +static const unsigned char kat1196_retbits[] = { + 0x49, 0xa5, 0xe9, 0x5a, 0xb4, 0xad, 0x79, 0x25, 0x1a, 0x7c, 0x39, 0x3b, + 0x50, 0x44, 0x3b, 0xca, 0xe1, 0x33, 0xfd, 0x30, 0xcc, 0x06, 0xe6, 0xae, + 0x14, 0x69, 0xd2, 0xba, 0x83, 0xb5, 0xa2, 0x0c, 0xa3, 0x5d, 0x91, 0x22, + 0x4c, 0x01, 0x85, 0xe4, 0xaa, 0x6e, 0x52, 0x4a, 0xb7, 0xec, 0x91, 0x64, + 0xe3, 0xb7, 0x3d, 0xd0, 0x6a, 0xa6, 0x5c, 0x99, 0xf9, 0x57, 0xad, 0x56, + 0xd6, 0x1c, 0x62, 0xe2, +}; +static const struct drbg_kat_no_reseed kat1196_t = { + 10, kat1196_entropyin, kat1196_nonce, kat1196_persstr, + kat1196_addin0, kat1196_addin1, kat1196_retbits +}; +static const struct drbg_kat kat1196 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1196_t +}; + +static const unsigned char kat1197_entropyin[] = { + 0xe4, 0xd0, 0xc3, 0x05, 0x8c, 0xea, 0x48, 0x14, 0x2d, 0x47, 0xfe, 0xa3, + 0xf6, 0xf0, 0x26, 0x1f, 0x3f, 0x57, 0x2a, 0xca, 0x43, 0x9a, 0x0c, 0x74, + 0x05, 0xb7, 0xd2, 0x3e, 0xaf, 0x07, 0x53, 0xd9, 0x3f, 0x6f, 0x98, 0x53, + 0x5d, 0x81, 0x8d, 0x3d, +}; +static const unsigned char kat1197_nonce[] = {0}; +static const unsigned char kat1197_persstr[] = { + 0xe7, 0x97, 0x91, 0x0f, 0xf6, 0xfc, 0x40, 0x2a, 0xdf, 0xbe, 0x0c, 0x0c, + 0x44, 0x22, 0x0d, 0x77, 0xfa, 0x75, 0x2a, 0x8b, 0xdd, 0x3b, 0xec, 0x9a, + 0xd3, 0x08, 0x8f, 0x4e, 0x97, 0x18, 0x61, 0xe9, 0x53, 0x51, 0x26, 0x8e, + 0xd6, 0x68, 0x45, 0xd2, +}; +static const unsigned char kat1197_addin0[] = { + 0x68, 0xe9, 0xc9, 0x9b, 0x09, 0x7a, 0x9e, 0x1c, 0x12, 0xa9, 0x8f, 0x6e, + 0xcb, 0x6b, 0xf0, 0xc4, 0xfc, 0xdd, 0xbe, 0x77, 0x40, 0x29, 0xe5, 0x5f, + 0x95, 0xd1, 0x41, 0x99, 0xf9, 0xd7, 0xb4, 0xd2, 0xc1, 0x2d, 0xcf, 0x3b, + 0x94, 0xeb, 0x88, 0x60, +}; +static const unsigned char kat1197_addin1[] = { + 0xb1, 0x2f, 0x83, 0x1f, 0xed, 0x05, 0x56, 0x7c, 0x7c, 0xa3, 0x08, 0xa9, + 0x6b, 0x0b, 0xe3, 0x54, 0xd8, 0xb3, 0x0f, 0x08, 0xa5, 0x08, 0xb1, 0xff, + 0x10, 0xce, 0xff, 0xd3, 0x25, 0x28, 0x4b, 0x8c, 0x69, 0x09, 0xdc, 0xfe, + 0x16, 0x83, 0xd0, 0x6b, +}; +static const unsigned char kat1197_retbits[] = { + 0x05, 0x6e, 0xf8, 0xbb, 0x57, 0x41, 0x19, 0x83, 0x20, 0x40, 0xbf, 0xfa, + 0x19, 0x47, 0xca, 0xec, 0xc5, 0x6c, 0x4b, 0x57, 0xdb, 0x9d, 0x30, 0x56, + 0x7b, 0x19, 0x55, 0x93, 0xd7, 0x7f, 0xa8, 0xb5, 0x07, 0x40, 0x8b, 0x36, + 0x5a, 0x1a, 0x0a, 0x77, 0xc4, 0xeb, 0xc1, 0x4d, 0x55, 0xe0, 0x95, 0x87, + 0x49, 0x41, 0x83, 0xe0, 0xbf, 0xca, 0xf6, 0x58, 0x3a, 0xc8, 0x81, 0x00, + 0x5b, 0x86, 0xaa, 0xf9, +}; +static const struct drbg_kat_no_reseed kat1197_t = { + 11, kat1197_entropyin, kat1197_nonce, kat1197_persstr, + kat1197_addin0, kat1197_addin1, kat1197_retbits +}; +static const struct drbg_kat kat1197 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1197_t +}; + +static const unsigned char kat1198_entropyin[] = { + 0x9a, 0xeb, 0xa4, 0x1a, 0x33, 0xed, 0x68, 0x3c, 0xb8, 0xe6, 0x9d, 0xd3, + 0xc6, 0x6b, 0x61, 0x86, 0x69, 0xff, 0x64, 0x65, 0x40, 0x51, 0xb0, 0xb7, + 0xad, 0x3d, 0x80, 0x99, 0xc0, 0x69, 0x8b, 0x47, 0xbe, 0x31, 0x21, 0xd0, + 0xa1, 0x6a, 0xf8, 0xf2, +}; +static const unsigned char kat1198_nonce[] = {0}; +static const unsigned char kat1198_persstr[] = { + 0xdb, 0x20, 0xdb, 0x8d, 0x22, 0xbc, 0x90, 0x40, 0x02, 0x3d, 0xb3, 0x76, + 0xe0, 0x05, 0x0a, 0x4c, 0x08, 0x26, 0x8e, 0xbd, 0x22, 0xa9, 0x02, 0x51, + 0x1e, 0x5e, 0x7b, 0xa4, 0xd0, 0x0e, 0xbb, 0xfe, 0x20, 0xc4, 0x1c, 0xfd, + 0x6c, 0x5f, 0x4f, 0x22, +}; +static const unsigned char kat1198_addin0[] = { + 0xc5, 0xb6, 0xd7, 0xc5, 0xa1, 0x5d, 0x12, 0x07, 0x37, 0xef, 0x09, 0x1e, + 0xd7, 0x9e, 0x11, 0xcd, 0xef, 0x50, 0x1e, 0xd4, 0x44, 0x38, 0x61, 0x92, + 0x16, 0xca, 0xf9, 0x08, 0x21, 0xfa, 0x98, 0x78, 0xf5, 0xe7, 0x61, 0x2b, + 0x89, 0x2f, 0xbd, 0x14, +}; +static const unsigned char kat1198_addin1[] = { + 0x9c, 0x9a, 0xff, 0x5f, 0x6a, 0x5d, 0xa0, 0xc0, 0x67, 0x21, 0x86, 0x2b, + 0x9e, 0x04, 0x12, 0x1e, 0xd2, 0x2f, 0x39, 0x02, 0x84, 0xf1, 0xfb, 0x69, + 0x85, 0xa4, 0x95, 0x09, 0x2f, 0xbf, 0xff, 0xf2, 0x00, 0x01, 0x18, 0x71, + 0xae, 0xcc, 0x3b, 0x38, +}; +static const unsigned char kat1198_retbits[] = { + 0x30, 0x1b, 0x7f, 0x2f, 0x5e, 0xa8, 0xc1, 0x5f, 0x7f, 0x64, 0x8a, 0x97, + 0x9d, 0xa2, 0xa8, 0x1d, 0xef, 0x9e, 0xd4, 0x8b, 0xcd, 0xc6, 0x8c, 0x73, + 0x97, 0xd6, 0x9b, 0x24, 0x74, 0x4a, 0x3d, 0xe5, 0x32, 0x85, 0xf4, 0xd1, + 0x3e, 0x41, 0xa5, 0x67, 0x99, 0x01, 0x88, 0x76, 0x50, 0x0b, 0xda, 0x8c, + 0x44, 0x4d, 0xf1, 0x03, 0x84, 0x13, 0x3c, 0xd4, 0xcf, 0x6a, 0x8e, 0x86, + 0xe6, 0xbf, 0x5c, 0x2d, +}; +static const struct drbg_kat_no_reseed kat1198_t = { + 12, kat1198_entropyin, kat1198_nonce, kat1198_persstr, + kat1198_addin0, kat1198_addin1, kat1198_retbits +}; +static const struct drbg_kat kat1198 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1198_t +}; + +static const unsigned char kat1199_entropyin[] = { + 0x74, 0x97, 0x3e, 0x54, 0x20, 0x38, 0x1d, 0xa3, 0x16, 0xdd, 0x04, 0x93, + 0x97, 0x48, 0x23, 0x2b, 0x61, 0x73, 0x14, 0x95, 0xf2, 0x6f, 0x92, 0xba, + 0xfc, 0x84, 0xe2, 0x73, 0xf7, 0x26, 0x6e, 0xc3, 0xe3, 0x28, 0x2e, 0xb2, + 0xf6, 0x9e, 0x1d, 0xc9, +}; +static const unsigned char kat1199_nonce[] = {0}; +static const unsigned char kat1199_persstr[] = { + 0x83, 0x0f, 0x27, 0xcc, 0x55, 0x57, 0x93, 0x77, 0xff, 0xe6, 0x0a, 0x73, + 0x19, 0x84, 0x08, 0xeb, 0x69, 0x65, 0x9e, 0x9f, 0xae, 0x44, 0x4f, 0xd5, + 0x9a, 0xc2, 0x6d, 0xd4, 0x04, 0x9d, 0x65, 0x7c, 0x01, 0xc9, 0x93, 0x94, + 0x57, 0xff, 0xc7, 0x72, +}; +static const unsigned char kat1199_addin0[] = { + 0xec, 0x46, 0x60, 0xa8, 0xe4, 0xf2, 0x7f, 0xd9, 0xe7, 0x04, 0xcd, 0xa7, + 0x88, 0xbd, 0xb5, 0x99, 0x56, 0x4b, 0xab, 0xc4, 0x47, 0x4e, 0x5f, 0xe6, + 0xae, 0xe7, 0xb4, 0x93, 0x70, 0x59, 0x09, 0x18, 0x32, 0xb4, 0x07, 0x19, + 0x55, 0xa3, 0x13, 0x41, +}; +static const unsigned char kat1199_addin1[] = { + 0x47, 0xcd, 0x23, 0x81, 0x0f, 0x80, 0xeb, 0x3b, 0xcf, 0xd0, 0x7a, 0x4b, + 0x22, 0x4c, 0xe4, 0x81, 0xf4, 0xec, 0x2a, 0x24, 0x91, 0x73, 0xd3, 0x98, + 0x26, 0x5e, 0x29, 0x0e, 0x37, 0x66, 0xee, 0xe0, 0xa5, 0x84, 0x7d, 0x91, + 0x9a, 0xd9, 0x9c, 0x48, +}; +static const unsigned char kat1199_retbits[] = { + 0x09, 0x95, 0xbc, 0x60, 0x18, 0xab, 0x49, 0x55, 0xd4, 0xe6, 0x62, 0xe7, + 0x33, 0x5b, 0x9e, 0x1c, 0x81, 0x46, 0xf3, 0x90, 0x60, 0x65, 0xb3, 0xf7, + 0x21, 0x4e, 0xff, 0xe1, 0x23, 0xcb, 0x0f, 0xcb, 0x3c, 0x92, 0x54, 0x67, + 0xda, 0xec, 0x15, 0x64, 0x35, 0xbf, 0x7e, 0xc8, 0xb2, 0xac, 0x3d, 0x98, + 0x8b, 0x57, 0x90, 0xdb, 0x3c, 0x96, 0x0c, 0xea, 0xf7, 0x00, 0xd7, 0x4a, + 0x0b, 0x8b, 0x38, 0xf0, +}; +static const struct drbg_kat_no_reseed kat1199_t = { + 13, kat1199_entropyin, kat1199_nonce, kat1199_persstr, + kat1199_addin0, kat1199_addin1, kat1199_retbits +}; +static const struct drbg_kat kat1199 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1199_t +}; + +static const unsigned char kat1200_entropyin[] = { + 0x52, 0x40, 0x12, 0xbf, 0xc4, 0x7b, 0xed, 0x3d, 0xa7, 0xa3, 0x54, 0x88, + 0xe8, 0x26, 0xc4, 0x2a, 0x76, 0x60, 0x7c, 0x0d, 0x98, 0x0c, 0xa0, 0x21, + 0xc9, 0xea, 0x9c, 0xe0, 0xcf, 0x6d, 0xce, 0xd5, 0xc8, 0xea, 0x0c, 0x61, + 0x77, 0x2e, 0x4d, 0x64, +}; +static const unsigned char kat1200_nonce[] = {0}; +static const unsigned char kat1200_persstr[] = { + 0x3a, 0x27, 0xc2, 0x5e, 0xb5, 0x94, 0x30, 0x28, 0xc0, 0x19, 0x96, 0xb5, + 0x76, 0x6a, 0xf3, 0x39, 0x06, 0x1b, 0xee, 0xd2, 0xc8, 0xd8, 0xe7, 0x73, + 0xfe, 0x08, 0xba, 0xde, 0x72, 0x80, 0x25, 0xd4, 0x73, 0xe2, 0x73, 0x39, + 0xb6, 0x8d, 0xe5, 0xe6, +}; +static const unsigned char kat1200_addin0[] = { + 0x8b, 0x98, 0x1e, 0xc9, 0xca, 0x88, 0xb1, 0x49, 0x3e, 0x7f, 0xf3, 0xb9, + 0x0c, 0x02, 0xda, 0x6f, 0x47, 0x8b, 0xfa, 0x57, 0x3f, 0x5a, 0x03, 0x54, + 0x94, 0x1d, 0xfe, 0xdb, 0x86, 0x3c, 0xa9, 0xd0, 0x5e, 0xfe, 0xa9, 0xd8, + 0x83, 0x54, 0x59, 0xad, +}; +static const unsigned char kat1200_addin1[] = { + 0x82, 0x9e, 0x75, 0xa5, 0x8e, 0xdd, 0x00, 0xd8, 0x62, 0x69, 0xef, 0x33, + 0x2e, 0x67, 0x44, 0x72, 0x3b, 0x28, 0x9f, 0x7d, 0xf8, 0xf1, 0xc0, 0xbb, + 0xf7, 0x02, 0x22, 0xb5, 0x42, 0xb9, 0x01, 0x4e, 0x2d, 0x0c, 0xdd, 0x6a, + 0xae, 0xc8, 0xc1, 0x94, +}; +static const unsigned char kat1200_retbits[] = { + 0x8c, 0x4a, 0xa7, 0x94, 0xaf, 0x3d, 0x7d, 0x4d, 0x68, 0x40, 0x06, 0x80, + 0x8c, 0x98, 0xc1, 0x1d, 0x81, 0x46, 0xb1, 0x1f, 0xd0, 0x62, 0xc6, 0x9c, + 0xac, 0x01, 0x9f, 0x19, 0x13, 0xc4, 0x57, 0xb4, 0x9d, 0x42, 0x3b, 0x5e, + 0xc6, 0x83, 0xf1, 0x91, 0x43, 0xea, 0xb3, 0x72, 0x07, 0x9a, 0x6d, 0xf5, + 0x51, 0xfc, 0x68, 0x6d, 0x9d, 0x6f, 0x9c, 0xe5, 0xf6, 0x4e, 0xf6, 0x19, + 0x18, 0x6f, 0x81, 0x6b, +}; +static const struct drbg_kat_no_reseed kat1200_t = { + 14, kat1200_entropyin, kat1200_nonce, kat1200_persstr, + kat1200_addin0, kat1200_addin1, kat1200_retbits +}; +static const struct drbg_kat kat1200 = { + NO_RESEED, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat1200_t +}; + +static const unsigned char kat1201_entropyin[] = { + 0xdf, 0x5d, 0x73, 0xfa, 0xa4, 0x68, 0x64, 0x9e, 0xdd, 0xa3, 0x3b, 0x5c, + 0xca, 0x79, 0xb0, 0xb0, 0x56, 0x00, 0x41, 0x9c, 0xcb, 0x7a, 0x87, 0x9d, + 0xdf, 0xec, 0x9d, 0xb3, 0x2e, 0xe4, 0x94, 0xe5, 0x53, 0x1b, 0x51, 0xde, + 0x16, 0xa3, 0x0f, 0x76, 0x92, 0x62, 0x47, 0x4c, 0x73, 0xbe, 0xc0, 0x10, +}; +static const unsigned char kat1201_nonce[] = {0}; +static const unsigned char kat1201_persstr[] = {0}; +static const unsigned char kat1201_addin0[] = {0}; +static const unsigned char kat1201_addin1[] = {0}; +static const unsigned char kat1201_retbits[] = { + 0xd1, 0xc0, 0x7c, 0xd9, 0x5a, 0xf8, 0xa7, 0xf1, 0x10, 0x12, 0xc8, 0x4c, + 0xe4, 0x8b, 0xb8, 0xcb, 0x87, 0x18, 0x9e, 0x99, 0xd4, 0x0f, 0xcc, 0xb1, + 0x77, 0x1c, 0x61, 0x9b, 0xdf, 0x82, 0xab, 0x22, 0x80, 0xb1, 0xdc, 0x2f, + 0x25, 0x81, 0xf3, 0x91, 0x64, 0xf7, 0xac, 0x0c, 0x51, 0x04, 0x94, 0xb3, + 0xa4, 0x3c, 0x41, 0xb7, 0xdb, 0x17, 0x51, 0x4c, 0x87, 0xb1, 0x07, 0xae, + 0x79, 0x3e, 0x01, 0xc5, +}; +static const struct drbg_kat_no_reseed kat1201_t = { + 0, kat1201_entropyin, kat1201_nonce, kat1201_persstr, + kat1201_addin0, kat1201_addin1, kat1201_retbits +}; +static const struct drbg_kat kat1201 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1201_t +}; + +static const unsigned char kat1202_entropyin[] = { + 0x3b, 0x6f, 0xb6, 0x34, 0xd3, 0x5b, 0xb3, 0x86, 0x92, 0x73, 0x74, 0xf9, + 0x91, 0xc1, 0xcb, 0xc9, 0xfa, 0xfb, 0xa3, 0xa4, 0x3c, 0x43, 0x2d, 0xc4, + 0x11, 0xb7, 0xb2, 0xfa, 0x96, 0xcf, 0xcc, 0xe8, 0xd3, 0x05, 0xe1, 0x35, + 0xff, 0x9b, 0xc4, 0x60, 0xdb, 0xc7, 0xba, 0x39, 0x90, 0xbf, 0x80, 0x60, +}; +static const unsigned char kat1202_nonce[] = {0}; +static const unsigned char kat1202_persstr[] = {0}; +static const unsigned char kat1202_addin0[] = {0}; +static const unsigned char kat1202_addin1[] = {0}; +static const unsigned char kat1202_retbits[] = { + 0x08, 0x3a, 0x83, 0x6f, 0xe1, 0xcd, 0xe0, 0x53, 0x16, 0x45, 0x55, 0x52, + 0x94, 0x09, 0x33, 0x7d, 0xc4, 0xfe, 0xc6, 0x84, 0x45, 0x94, 0xfd, 0xf1, + 0x50, 0x83, 0xba, 0x9d, 0x10, 0x01, 0xeb, 0x94, 0x5c, 0x3b, 0x96, 0xa1, + 0xbc, 0xee, 0x39, 0x90, 0xe1, 0xe5, 0x1f, 0x85, 0xc8, 0x0e, 0x9f, 0x4e, + 0x04, 0xde, 0x34, 0xe5, 0x7b, 0x64, 0x0f, 0x6c, 0xae, 0x8e, 0xd6, 0x8e, + 0x99, 0x62, 0x47, 0x12, +}; +static const struct drbg_kat_no_reseed kat1202_t = { + 1, kat1202_entropyin, kat1202_nonce, kat1202_persstr, + kat1202_addin0, kat1202_addin1, kat1202_retbits +}; +static const struct drbg_kat kat1202 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1202_t +}; + +static const unsigned char kat1203_entropyin[] = { + 0x02, 0x17, 0xa8, 0xac, 0xf2, 0xf8, 0xe2, 0xc4, 0xab, 0x7b, 0xdc, 0xd5, + 0xa6, 0x94, 0xbc, 0xa2, 0x8d, 0x03, 0x80, 0x18, 0x86, 0x9d, 0xcb, 0xe2, + 0x16, 0x0d, 0x1c, 0xe0, 0xb4, 0xc7, 0x8e, 0xad, 0x55, 0x92, 0xef, 0xed, + 0x98, 0x66, 0x2f, 0x2d, 0xff, 0x87, 0xf3, 0x2f, 0x48, 0x35, 0xc6, 0x77, +}; +static const unsigned char kat1203_nonce[] = {0}; +static const unsigned char kat1203_persstr[] = {0}; +static const unsigned char kat1203_addin0[] = {0}; +static const unsigned char kat1203_addin1[] = {0}; +static const unsigned char kat1203_retbits[] = { + 0xaa, 0x36, 0x77, 0x97, 0x26, 0xf5, 0x28, 0x75, 0x31, 0x25, 0x07, 0xfb, + 0x08, 0x47, 0x44, 0xd4, 0xd7, 0xf3, 0xf9, 0x46, 0x8a, 0x5b, 0x24, 0x6c, + 0xcd, 0xe3, 0x16, 0xd2, 0xab, 0x91, 0x87, 0x9c, 0x2e, 0x29, 0xf5, 0xa0, + 0x93, 0x8a, 0x3b, 0xcd, 0x72, 0x2b, 0xb7, 0x18, 0xd0, 0x1b, 0xbf, 0xc3, + 0x58, 0x31, 0xc9, 0xe6, 0x4f, 0x5b, 0x64, 0x10, 0xae, 0x90, 0x8d, 0x30, + 0x61, 0xf7, 0x6c, 0x84, +}; +static const struct drbg_kat_no_reseed kat1203_t = { + 2, kat1203_entropyin, kat1203_nonce, kat1203_persstr, + kat1203_addin0, kat1203_addin1, kat1203_retbits +}; +static const struct drbg_kat kat1203 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1203_t +}; + +static const unsigned char kat1204_entropyin[] = { + 0x37, 0xd8, 0x51, 0xfb, 0x20, 0xab, 0x3b, 0xa7, 0x3b, 0x1d, 0x8d, 0x81, + 0xf3, 0x23, 0x90, 0x1a, 0x55, 0x52, 0x9c, 0x26, 0xa8, 0xf7, 0x53, 0xd3, + 0x29, 0x80, 0xd6, 0xd2, 0xab, 0xa3, 0xda, 0x27, 0x8b, 0x90, 0x74, 0x00, + 0xa1, 0x94, 0x06, 0xe2, 0x55, 0x20, 0x6e, 0x1d, 0x08, 0x58, 0xf3, 0x84, +}; +static const unsigned char kat1204_nonce[] = {0}; +static const unsigned char kat1204_persstr[] = {0}; +static const unsigned char kat1204_addin0[] = {0}; +static const unsigned char kat1204_addin1[] = {0}; +static const unsigned char kat1204_retbits[] = { + 0x96, 0xea, 0xba, 0xfb, 0x45, 0xc7, 0x79, 0x67, 0xb1, 0x4a, 0x66, 0x63, + 0xa3, 0x92, 0x38, 0x30, 0x6c, 0xe5, 0x80, 0x38, 0xa3, 0xdc, 0x0b, 0x8a, + 0xec, 0xaf, 0x02, 0x31, 0xc4, 0x04, 0xec, 0xba, 0x50, 0xf1, 0xab, 0x0a, + 0x17, 0xb1, 0x89, 0x4c, 0xf6, 0xac, 0xb6, 0x30, 0xfe, 0x16, 0x5f, 0x8a, + 0x9d, 0x7c, 0x54, 0x12, 0xe1, 0xba, 0xb4, 0xeb, 0x4e, 0xfe, 0x9a, 0xe8, + 0x4f, 0x5b, 0x4a, 0x03, +}; +static const struct drbg_kat_no_reseed kat1204_t = { + 3, kat1204_entropyin, kat1204_nonce, kat1204_persstr, + kat1204_addin0, kat1204_addin1, kat1204_retbits +}; +static const struct drbg_kat kat1204 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1204_t +}; + +static const unsigned char kat1205_entropyin[] = { + 0xe6, 0x2e, 0xab, 0x30, 0xb9, 0x33, 0x85, 0x93, 0x07, 0x61, 0x04, 0xee, + 0x9c, 0x14, 0x8a, 0x6c, 0x22, 0xf7, 0x96, 0xda, 0xed, 0xb7, 0x1b, 0xac, + 0xdd, 0xa2, 0x07, 0xb1, 0x97, 0x68, 0xb5, 0xfe, 0xd5, 0xd2, 0x0c, 0x9e, + 0xea, 0x12, 0xed, 0x5a, 0xb9, 0x59, 0xc1, 0x43, 0xf7, 0x73, 0xcd, 0xa6, +}; +static const unsigned char kat1205_nonce[] = {0}; +static const unsigned char kat1205_persstr[] = {0}; +static const unsigned char kat1205_addin0[] = {0}; +static const unsigned char kat1205_addin1[] = {0}; +static const unsigned char kat1205_retbits[] = { + 0xf5, 0xea, 0x04, 0x0c, 0x67, 0x0f, 0x83, 0xc2, 0x6f, 0xf2, 0xc3, 0x8f, + 0x66, 0x16, 0x9b, 0x57, 0x2f, 0xec, 0xc7, 0x28, 0x3e, 0x90, 0x2f, 0x0f, + 0x4b, 0x2f, 0x6a, 0x44, 0x40, 0xf5, 0xb8, 0x97, 0x08, 0x07, 0xd5, 0x8c, + 0xa0, 0x14, 0x66, 0xce, 0xc7, 0xfb, 0x68, 0xb4, 0xcf, 0x95, 0x23, 0x55, + 0xe7, 0x80, 0x05, 0x0b, 0xf4, 0x8a, 0xd5, 0xb2, 0x0c, 0x17, 0xc7, 0x8a, + 0xa0, 0xfc, 0x03, 0x52, +}; +static const struct drbg_kat_no_reseed kat1205_t = { + 4, kat1205_entropyin, kat1205_nonce, kat1205_persstr, + kat1205_addin0, kat1205_addin1, kat1205_retbits +}; +static const struct drbg_kat kat1205 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1205_t +}; + +static const unsigned char kat1206_entropyin[] = { + 0x62, 0x45, 0x75, 0x5c, 0xb0, 0x2a, 0xe8, 0x83, 0x91, 0x1c, 0x0d, 0x82, + 0x00, 0x90, 0x35, 0x71, 0x5b, 0x23, 0x04, 0xf7, 0x8c, 0xe2, 0xa0, 0xd8, + 0xfa, 0x22, 0xd4, 0x7e, 0x7e, 0x1e, 0x39, 0x4f, 0xd9, 0xa7, 0xa1, 0x38, + 0x62, 0xef, 0x23, 0x93, 0xbb, 0x38, 0x18, 0xec, 0x49, 0xcb, 0x70, 0xf2, +}; +static const unsigned char kat1206_nonce[] = {0}; +static const unsigned char kat1206_persstr[] = {0}; +static const unsigned char kat1206_addin0[] = {0}; +static const unsigned char kat1206_addin1[] = {0}; +static const unsigned char kat1206_retbits[] = { + 0x3c, 0xd5, 0x90, 0xa0, 0xdf, 0xec, 0xe3, 0x09, 0x40, 0xc1, 0x1f, 0xf2, + 0x43, 0xd9, 0x9e, 0x55, 0x2b, 0x53, 0x1a, 0xe1, 0x1b, 0x31, 0xa4, 0x54, + 0xb4, 0x2e, 0xd0, 0x4f, 0x2c, 0x77, 0xf2, 0xe2, 0xf5, 0x8f, 0x9b, 0xd1, + 0xcd, 0x0a, 0x36, 0x48, 0x0f, 0x84, 0x52, 0x56, 0xbc, 0x82, 0x72, 0x3c, + 0x2d, 0xe5, 0xc6, 0xd1, 0x5b, 0xc8, 0xbe, 0x20, 0x40, 0xe5, 0xae, 0x8b, + 0x53, 0x31, 0x51, 0x6e, +}; +static const struct drbg_kat_no_reseed kat1206_t = { + 5, kat1206_entropyin, kat1206_nonce, kat1206_persstr, + kat1206_addin0, kat1206_addin1, kat1206_retbits +}; +static const struct drbg_kat kat1206 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1206_t +}; + +static const unsigned char kat1207_entropyin[] = { + 0xbc, 0x10, 0xb0, 0x98, 0x5a, 0x1d, 0xa8, 0xd0, 0xbc, 0xbc, 0xed, 0x02, + 0x9c, 0xf5, 0x2f, 0x0f, 0xe1, 0x2b, 0x6d, 0x6b, 0xc5, 0x00, 0xdd, 0xff, + 0xba, 0xf3, 0x7a, 0x20, 0x90, 0x35, 0x6c, 0xf1, 0xaa, 0xcb, 0x1b, 0xf3, + 0x0a, 0xd9, 0x48, 0xf8, 0x7f, 0x89, 0x9c, 0x54, 0x4d, 0x11, 0x57, 0x16, +}; +static const unsigned char kat1207_nonce[] = {0}; +static const unsigned char kat1207_persstr[] = {0}; +static const unsigned char kat1207_addin0[] = {0}; +static const unsigned char kat1207_addin1[] = {0}; +static const unsigned char kat1207_retbits[] = { + 0x85, 0x75, 0xf0, 0xf1, 0xf9, 0x59, 0x58, 0x9e, 0x26, 0x95, 0x89, 0x1d, + 0xfa, 0xc5, 0x6d, 0xb7, 0x2b, 0x79, 0x98, 0x1c, 0x60, 0x77, 0xde, 0x92, + 0x15, 0x4c, 0x55, 0x57, 0xc3, 0xe8, 0x9a, 0xb7, 0x73, 0x78, 0x27, 0x06, + 0x9e, 0xcc, 0x70, 0x0d, 0xe1, 0x83, 0x17, 0xb5, 0xa1, 0xfa, 0x38, 0xc1, + 0x1d, 0x67, 0x5b, 0xbb, 0x9b, 0xa2, 0x35, 0xf1, 0x53, 0xc4, 0xf9, 0x89, + 0x9b, 0xc4, 0xbb, 0x8f, +}; +static const struct drbg_kat_no_reseed kat1207_t = { + 6, kat1207_entropyin, kat1207_nonce, kat1207_persstr, + kat1207_addin0, kat1207_addin1, kat1207_retbits +}; +static const struct drbg_kat kat1207 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1207_t +}; + +static const unsigned char kat1208_entropyin[] = { + 0x03, 0x98, 0xb1, 0xbb, 0x37, 0xf9, 0x67, 0x3a, 0x2d, 0x88, 0xef, 0x41, + 0x8b, 0x4c, 0xca, 0x3d, 0x60, 0x09, 0x95, 0x0f, 0xae, 0x93, 0xf0, 0x80, + 0x95, 0xa4, 0x96, 0x02, 0x83, 0x32, 0x9c, 0xe7, 0x53, 0x12, 0xbb, 0x21, + 0xc3, 0x0d, 0x26, 0xb0, 0xdd, 0xfa, 0xbf, 0x29, 0x60, 0x06, 0x06, 0x5c, +}; +static const unsigned char kat1208_nonce[] = {0}; +static const unsigned char kat1208_persstr[] = {0}; +static const unsigned char kat1208_addin0[] = {0}; +static const unsigned char kat1208_addin1[] = {0}; +static const unsigned char kat1208_retbits[] = { + 0x22, 0x81, 0x6b, 0x8c, 0x4b, 0xcf, 0x34, 0xf8, 0xd5, 0x42, 0x57, 0xc2, + 0x17, 0xb5, 0x29, 0xcf, 0x03, 0x8b, 0x6f, 0x6f, 0xb1, 0x86, 0x30, 0x17, + 0xa3, 0x43, 0xd5, 0x0c, 0x88, 0x36, 0x96, 0xd4, 0x43, 0xfa, 0x76, 0xc2, + 0x59, 0xda, 0xae, 0x46, 0xa7, 0x63, 0x38, 0x2b, 0xcc, 0x28, 0x9d, 0xe5, + 0x5b, 0x22, 0x4f, 0x8d, 0xb9, 0x9d, 0x46, 0x83, 0x8c, 0x95, 0x1b, 0x3e, + 0x18, 0xa9, 0xfc, 0x26, +}; +static const struct drbg_kat_no_reseed kat1208_t = { + 7, kat1208_entropyin, kat1208_nonce, kat1208_persstr, + kat1208_addin0, kat1208_addin1, kat1208_retbits +}; +static const struct drbg_kat kat1208 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1208_t +}; + +static const unsigned char kat1209_entropyin[] = { + 0x4b, 0xfa, 0x09, 0x83, 0x9d, 0xa4, 0x60, 0xe5, 0xb0, 0x88, 0x41, 0x1e, + 0xb3, 0x12, 0xa3, 0xc8, 0x9a, 0x85, 0x8e, 0xe8, 0x8c, 0xf3, 0xcb, 0x2a, + 0xd4, 0xf8, 0xf9, 0x89, 0x6b, 0xcf, 0xca, 0xe7, 0x2f, 0xbd, 0x28, 0xf6, + 0xbb, 0x42, 0x88, 0x11, 0xba, 0x34, 0xfb, 0xe4, 0xf8, 0xc8, 0xf5, 0x18, +}; +static const unsigned char kat1209_nonce[] = {0}; +static const unsigned char kat1209_persstr[] = {0}; +static const unsigned char kat1209_addin0[] = {0}; +static const unsigned char kat1209_addin1[] = {0}; +static const unsigned char kat1209_retbits[] = { + 0x46, 0xa5, 0x74, 0xeb, 0xbd, 0x56, 0x68, 0x61, 0x75, 0x76, 0x80, 0xa5, + 0xa3, 0xa0, 0x50, 0xbe, 0xca, 0x92, 0xfa, 0x69, 0x93, 0xba, 0x72, 0xbc, + 0xed, 0x22, 0xbc, 0x0a, 0x46, 0xed, 0x00, 0x58, 0x4e, 0x61, 0xdb, 0x69, + 0x8e, 0x35, 0x2e, 0x31, 0xc7, 0x4a, 0xf4, 0xf5, 0x71, 0x1b, 0x0a, 0xa1, + 0xd9, 0xd4, 0x18, 0x94, 0xff, 0xdb, 0x9c, 0x88, 0x37, 0xc3, 0x8b, 0x1b, + 0x37, 0x82, 0xe3, 0x81, +}; +static const struct drbg_kat_no_reseed kat1209_t = { + 8, kat1209_entropyin, kat1209_nonce, kat1209_persstr, + kat1209_addin0, kat1209_addin1, kat1209_retbits +}; +static const struct drbg_kat kat1209 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1209_t +}; + +static const unsigned char kat1210_entropyin[] = { + 0x86, 0xd1, 0x15, 0xf1, 0xd3, 0xa1, 0x54, 0xc5, 0x0b, 0x45, 0x56, 0x2a, + 0x02, 0xc9, 0x55, 0xe3, 0x07, 0xc1, 0x7f, 0xeb, 0xec, 0xab, 0x4d, 0x13, + 0xe0, 0xd5, 0xb6, 0xc7, 0x25, 0x8b, 0x4b, 0xfe, 0xb9, 0x1e, 0x31, 0x6a, + 0xd0, 0xf8, 0x7b, 0xbc, 0x0a, 0xe1, 0xd0, 0x9d, 0x4d, 0x60, 0xd3, 0x1a, +}; +static const unsigned char kat1210_nonce[] = {0}; +static const unsigned char kat1210_persstr[] = {0}; +static const unsigned char kat1210_addin0[] = {0}; +static const unsigned char kat1210_addin1[] = {0}; +static const unsigned char kat1210_retbits[] = { + 0xff, 0x02, 0x50, 0xe0, 0x26, 0xef, 0x96, 0x64, 0x34, 0x06, 0x2c, 0x87, + 0x55, 0x45, 0xbc, 0x43, 0x66, 0x05, 0xbb, 0x5d, 0x02, 0x87, 0x7a, 0x1b, + 0xd3, 0xfd, 0x03, 0xab, 0x87, 0x52, 0xb1, 0x96, 0x37, 0x49, 0xea, 0x20, + 0x8d, 0xf5, 0x3f, 0x6c, 0x51, 0x82, 0x64, 0x34, 0xf5, 0xc6, 0xe6, 0xd9, + 0x91, 0x84, 0x5c, 0x61, 0x54, 0xf6, 0xb2, 0x00, 0x0d, 0xe6, 0x40, 0xd0, + 0x30, 0x28, 0x89, 0x65, +}; +static const struct drbg_kat_no_reseed kat1210_t = { + 9, kat1210_entropyin, kat1210_nonce, kat1210_persstr, + kat1210_addin0, kat1210_addin1, kat1210_retbits +}; +static const struct drbg_kat kat1210 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1210_t +}; + +static const unsigned char kat1211_entropyin[] = { + 0xce, 0x4c, 0x6c, 0x49, 0x8e, 0x5d, 0xf8, 0xb6, 0x1d, 0xeb, 0xfa, 0xf1, + 0xc2, 0x4c, 0x47, 0x91, 0x09, 0xc8, 0x7c, 0x7d, 0x38, 0x78, 0x2f, 0x50, + 0xbb, 0x60, 0x87, 0x71, 0x27, 0xa5, 0x48, 0x05, 0x94, 0x42, 0x8b, 0xd7, + 0xa9, 0xfd, 0x71, 0xff, 0xf2, 0xfe, 0x0d, 0x1d, 0xb3, 0xce, 0x6e, 0x2f, +}; +static const unsigned char kat1211_nonce[] = {0}; +static const unsigned char kat1211_persstr[] = {0}; +static const unsigned char kat1211_addin0[] = {0}; +static const unsigned char kat1211_addin1[] = {0}; +static const unsigned char kat1211_retbits[] = { + 0x13, 0x89, 0xf2, 0xa6, 0x13, 0x42, 0x35, 0xe0, 0x8e, 0x7a, 0x0b, 0x41, + 0xc4, 0xa1, 0xb5, 0xfd, 0x77, 0xbc, 0xe4, 0x69, 0xfb, 0x68, 0x45, 0xe5, + 0x19, 0xcc, 0xad, 0x38, 0x5d, 0x74, 0x64, 0x9f, 0x22, 0x07, 0xc8, 0x44, + 0x88, 0x55, 0x67, 0x41, 0xd2, 0x7d, 0x64, 0x35, 0x43, 0x7a, 0xd0, 0x88, + 0xd1, 0x1f, 0x52, 0x26, 0x5b, 0x88, 0x2e, 0x47, 0x64, 0x24, 0x02, 0xd1, + 0xc0, 0x88, 0x25, 0x62, +}; +static const struct drbg_kat_no_reseed kat1211_t = { + 10, kat1211_entropyin, kat1211_nonce, kat1211_persstr, + kat1211_addin0, kat1211_addin1, kat1211_retbits +}; +static const struct drbg_kat kat1211 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1211_t +}; + +static const unsigned char kat1212_entropyin[] = { + 0xc1, 0xda, 0xd0, 0xe3, 0x76, 0xaa, 0x2c, 0x35, 0x0e, 0x0d, 0x89, 0xfc, + 0xd2, 0x40, 0x40, 0x99, 0x2c, 0x08, 0xc1, 0x41, 0xad, 0xc3, 0x73, 0xd4, + 0x36, 0x07, 0x86, 0xa0, 0x88, 0x12, 0xd2, 0x91, 0x93, 0x29, 0xb4, 0xf5, + 0xa5, 0xfa, 0xe4, 0x01, 0x6c, 0xb7, 0x69, 0x9b, 0x06, 0x47, 0xed, 0xfa, +}; +static const unsigned char kat1212_nonce[] = {0}; +static const unsigned char kat1212_persstr[] = {0}; +static const unsigned char kat1212_addin0[] = {0}; +static const unsigned char kat1212_addin1[] = {0}; +static const unsigned char kat1212_retbits[] = { + 0xd3, 0x89, 0x91, 0x53, 0x6f, 0xb0, 0x35, 0x09, 0x53, 0x1f, 0xfa, 0xe4, + 0x4c, 0x74, 0x94, 0xf0, 0x5a, 0x73, 0x03, 0x09, 0x20, 0xc2, 0xba, 0xfd, + 0x83, 0x3b, 0xe1, 0xa8, 0xc7, 0xf6, 0xd7, 0x41, 0x60, 0x77, 0xd0, 0x08, + 0x9b, 0xb6, 0x51, 0xb9, 0x6a, 0xd9, 0x64, 0xc2, 0x6f, 0x11, 0xb3, 0x1b, + 0xb0, 0x36, 0x4b, 0x4f, 0x5e, 0x0d, 0xc7, 0xe1, 0x15, 0x04, 0x05, 0x4b, + 0x51, 0x10, 0x21, 0x1a, +}; +static const struct drbg_kat_no_reseed kat1212_t = { + 11, kat1212_entropyin, kat1212_nonce, kat1212_persstr, + kat1212_addin0, kat1212_addin1, kat1212_retbits +}; +static const struct drbg_kat kat1212 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1212_t +}; + +static const unsigned char kat1213_entropyin[] = { + 0x75, 0x17, 0x3e, 0x81, 0xce, 0x87, 0xe7, 0xc8, 0xd0, 0x34, 0x57, 0x61, + 0xee, 0x59, 0xa3, 0xfd, 0x1c, 0x55, 0x5f, 0x37, 0xf7, 0xc2, 0x36, 0xf7, + 0xe3, 0xaa, 0xa5, 0xf5, 0xdd, 0xcb, 0x80, 0x89, 0x46, 0x2e, 0x8e, 0xdb, + 0xe4, 0xe1, 0x9a, 0xec, 0x24, 0x67, 0x68, 0x4a, 0x57, 0x71, 0x67, 0x88, +}; +static const unsigned char kat1213_nonce[] = {0}; +static const unsigned char kat1213_persstr[] = {0}; +static const unsigned char kat1213_addin0[] = {0}; +static const unsigned char kat1213_addin1[] = {0}; +static const unsigned char kat1213_retbits[] = { + 0x58, 0xbb, 0xc5, 0xce, 0x5c, 0x2d, 0x8b, 0x63, 0x30, 0xc5, 0x85, 0x7a, + 0x88, 0x8e, 0xe6, 0xb3, 0xd7, 0x4b, 0x2b, 0xa0, 0x09, 0xc8, 0x55, 0x3c, + 0xc7, 0xb8, 0xad, 0xb5, 0x17, 0x93, 0x86, 0x2e, 0x9c, 0x9c, 0x93, 0x39, + 0x59, 0xea, 0x73, 0xd7, 0x20, 0x78, 0x6e, 0x47, 0x1d, 0xfd, 0xd2, 0xbe, + 0xd5, 0x72, 0xe2, 0x5f, 0x68, 0x3d, 0xcd, 0x6f, 0x7e, 0x72, 0x9d, 0xb0, + 0x25, 0x4f, 0x74, 0xad, +}; +static const struct drbg_kat_no_reseed kat1213_t = { + 12, kat1213_entropyin, kat1213_nonce, kat1213_persstr, + kat1213_addin0, kat1213_addin1, kat1213_retbits +}; +static const struct drbg_kat kat1213 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1213_t +}; + +static const unsigned char kat1214_entropyin[] = { + 0xa7, 0xc5, 0x7c, 0x5a, 0xf2, 0x8a, 0x25, 0x89, 0x26, 0x83, 0x8c, 0x39, + 0xae, 0x62, 0x19, 0x40, 0x05, 0xc9, 0x3a, 0xff, 0xfe, 0x55, 0x92, 0xa6, + 0x85, 0xb1, 0x50, 0xc9, 0xde, 0x3c, 0xcf, 0x79, 0xc2, 0x23, 0x61, 0x66, + 0x74, 0xd6, 0x76, 0x51, 0x7f, 0x4b, 0xd1, 0xa2, 0xfc, 0x3b, 0xd6, 0xec, +}; +static const unsigned char kat1214_nonce[] = {0}; +static const unsigned char kat1214_persstr[] = {0}; +static const unsigned char kat1214_addin0[] = {0}; +static const unsigned char kat1214_addin1[] = {0}; +static const unsigned char kat1214_retbits[] = { + 0xa0, 0xea, 0x3a, 0xf0, 0xcc, 0x95, 0x10, 0x3b, 0xa3, 0xe8, 0x9e, 0x5e, + 0x4a, 0x6b, 0x79, 0x2b, 0xfb, 0x19, 0xee, 0xf9, 0x58, 0x02, 0x55, 0xed, + 0x76, 0xe7, 0x1e, 0xd0, 0xe5, 0x32, 0x58, 0x48, 0x49, 0x7d, 0x77, 0x57, + 0xeb, 0x5c, 0xb3, 0x19, 0x47, 0x5b, 0x77, 0x92, 0x6a, 0xbb, 0x6a, 0x2b, + 0xfb, 0x44, 0x37, 0xcc, 0xff, 0x0c, 0x83, 0x56, 0xc1, 0xb5, 0x70, 0x5d, + 0x85, 0x84, 0x2d, 0x93, +}; +static const struct drbg_kat_no_reseed kat1214_t = { + 13, kat1214_entropyin, kat1214_nonce, kat1214_persstr, + kat1214_addin0, kat1214_addin1, kat1214_retbits +}; +static const struct drbg_kat kat1214 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1214_t +}; + +static const unsigned char kat1215_entropyin[] = { + 0xb7, 0xf7, 0xe4, 0xe6, 0x83, 0x56, 0xb2, 0xac, 0x2c, 0x2c, 0x00, 0x75, + 0xc0, 0xef, 0x5e, 0xc6, 0xf5, 0xa6, 0xf2, 0x25, 0xa1, 0x8d, 0xb0, 0x08, + 0x30, 0x26, 0x1a, 0x95, 0x76, 0x57, 0x71, 0xeb, 0xa7, 0x39, 0xa7, 0xcf, + 0x8a, 0x11, 0x26, 0xc5, 0x89, 0x94, 0xc4, 0x3b, 0x2d, 0x28, 0x02, 0x4a, +}; +static const unsigned char kat1215_nonce[] = {0}; +static const unsigned char kat1215_persstr[] = {0}; +static const unsigned char kat1215_addin0[] = {0}; +static const unsigned char kat1215_addin1[] = {0}; +static const unsigned char kat1215_retbits[] = { + 0xa1, 0x5e, 0x8c, 0xc4, 0x37, 0xa6, 0x00, 0xa5, 0x1d, 0xcf, 0xb7, 0x78, + 0xaf, 0xa2, 0x3d, 0x57, 0x7d, 0x0e, 0x56, 0xb0, 0x04, 0xf5, 0x6e, 0xeb, + 0x28, 0x6e, 0x6c, 0x94, 0x9d, 0x98, 0x2b, 0xdb, 0x93, 0x53, 0xcb, 0xc6, + 0x3d, 0x33, 0xd7, 0xd3, 0x97, 0xce, 0xb4, 0xfe, 0xa5, 0x1a, 0x6d, 0xf0, + 0xb4, 0xd6, 0xd4, 0xcd, 0x32, 0xb9, 0x06, 0x5b, 0xc4, 0x11, 0x0d, 0x79, + 0x0c, 0x61, 0x0e, 0x44, +}; +static const struct drbg_kat_no_reseed kat1215_t = { + 14, kat1215_entropyin, kat1215_nonce, kat1215_persstr, + kat1215_addin0, kat1215_addin1, kat1215_retbits +}; +static const struct drbg_kat kat1215 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1215_t +}; + +static const unsigned char kat1216_entropyin[] = { + 0xf4, 0x5e, 0x9d, 0x04, 0x0c, 0x14, 0x56, 0xf1, 0xc7, 0xf2, 0x6e, 0x7f, + 0x14, 0x64, 0x69, 0xfb, 0xe3, 0x97, 0x30, 0x07, 0xfe, 0x03, 0x72, 0x39, + 0xad, 0x57, 0x62, 0x30, 0x46, 0xe7, 0xec, 0x52, 0x22, 0x1b, 0x22, 0xee, + 0xc2, 0x08, 0xb2, 0x2a, 0xc4, 0xcf, 0x4c, 0xa8, 0xd6, 0x25, 0x38, 0x74, +}; +static const unsigned char kat1216_nonce[] = {0}; +static const unsigned char kat1216_persstr[] = {0}; +static const unsigned char kat1216_addin0[] = { + 0x28, 0x81, 0x9b, 0xc7, 0x9b, 0x92, 0xfc, 0x87, 0x90, 0xeb, 0xdc, 0x99, + 0x81, 0x2c, 0xdc, 0xea, 0x5c, 0x96, 0xe6, 0xfe, 0xab, 0x32, 0x80, 0x1e, + 0xc1, 0x85, 0x1b, 0x9f, 0x46, 0xe8, 0x0e, 0xb6, 0x80, 0x00, 0x28, 0xe6, + 0x1f, 0xbc, 0xcb, 0x6c, 0xcb, 0xe4, 0x2b, 0x06, 0xbf, 0x5a, 0x08, 0x64, +}; +static const unsigned char kat1216_addin1[] = { + 0x41, 0x8c, 0xa8, 0x48, 0x02, 0x7e, 0x1b, 0x3c, 0x84, 0xd6, 0x67, 0x17, + 0xe6, 0xf3, 0x1b, 0xf8, 0x96, 0x84, 0xd5, 0xdb, 0x94, 0xcd, 0x2d, 0x57, + 0x92, 0x33, 0xf7, 0x16, 0xac, 0x70, 0xab, 0x66, 0xcc, 0x7b, 0x01, 0xa6, + 0xf9, 0xab, 0x8c, 0x76, 0x65, 0xfc, 0xc3, 0x7d, 0xba, 0x4a, 0xf1, 0xad, +}; +static const unsigned char kat1216_retbits[] = { + 0x4f, 0x11, 0x40, 0x6b, 0xd3, 0x03, 0xc1, 0x04, 0x24, 0x34, 0x41, 0xa8, + 0xf8, 0x28, 0xbf, 0x02, 0x93, 0xcb, 0x20, 0xac, 0x39, 0x39, 0x20, 0x61, + 0x42, 0x9c, 0x3f, 0x56, 0xc1, 0xf4, 0x26, 0x23, 0x9f, 0x8f, 0x0c, 0x68, + 0x7b, 0x69, 0x89, 0x7a, 0x2c, 0x7c, 0x8c, 0x2b, 0x4f, 0xb5, 0x20, 0xb6, + 0x27, 0x41, 0xff, 0xdd, 0x29, 0xf0, 0x38, 0xb7, 0xc8, 0x2a, 0x9d, 0x00, + 0xa8, 0x90, 0xa3, 0xed, +}; +static const struct drbg_kat_no_reseed kat1216_t = { + 0, kat1216_entropyin, kat1216_nonce, kat1216_persstr, + kat1216_addin0, kat1216_addin1, kat1216_retbits +}; +static const struct drbg_kat kat1216 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1216_t +}; + +static const unsigned char kat1217_entropyin[] = { + 0x93, 0x30, 0x15, 0xbe, 0x05, 0x2c, 0x11, 0x7a, 0xd3, 0xd3, 0x8d, 0xd2, + 0xd1, 0xd5, 0x2b, 0xda, 0x42, 0xd7, 0xf3, 0x69, 0x46, 0x41, 0x8b, 0x00, + 0x6c, 0x67, 0xaa, 0xd4, 0x9d, 0x81, 0x30, 0xe5, 0xec, 0x3f, 0x0c, 0x1d, + 0x6f, 0xfb, 0x0b, 0x6d, 0xa0, 0x02, 0x70, 0xf7, 0x7a, 0xe1, 0x83, 0x62, +}; +static const unsigned char kat1217_nonce[] = {0}; +static const unsigned char kat1217_persstr[] = {0}; +static const unsigned char kat1217_addin0[] = { + 0x0e, 0x5e, 0xcc, 0xdf, 0x74, 0x85, 0x49, 0xf9, 0x4c, 0xab, 0x63, 0xd6, + 0x49, 0x14, 0x5d, 0x4c, 0x3b, 0x84, 0xc7, 0x4a, 0x22, 0x76, 0xd5, 0xc1, + 0x88, 0xcd, 0xeb, 0xf4, 0x17, 0xbc, 0xc9, 0xf5, 0xf1, 0x9d, 0x48, 0x57, + 0xe7, 0x68, 0x23, 0xe0, 0x0b, 0x8f, 0x08, 0xf8, 0xd5, 0x83, 0xa6, 0x5d, +}; +static const unsigned char kat1217_addin1[] = { + 0x12, 0xa0, 0xed, 0x9a, 0xfc, 0x1a, 0x74, 0x56, 0xf8, 0x43, 0x0d, 0x5a, + 0xca, 0x4c, 0xab, 0x30, 0xf7, 0x5e, 0x39, 0xad, 0x70, 0x12, 0x56, 0x6c, + 0x32, 0xd8, 0xc7, 0x53, 0xae, 0x6a, 0x9c, 0x59, 0xe8, 0xee, 0x87, 0x83, + 0x2f, 0xaa, 0xc3, 0xd1, 0x26, 0x05, 0x6b, 0xc9, 0x55, 0x47, 0x93, 0xdb, +}; +static const unsigned char kat1217_retbits[] = { + 0x06, 0x15, 0x80, 0x3d, 0x2a, 0xa2, 0x88, 0x23, 0x44, 0x57, 0x86, 0xa7, + 0xac, 0x99, 0x51, 0xb1, 0x46, 0x19, 0xf2, 0x07, 0x2e, 0x8d, 0xe4, 0x4a, + 0xcf, 0xe0, 0x06, 0x74, 0xa3, 0xd4, 0x0f, 0xea, 0xec, 0x07, 0xaa, 0xee, + 0xee, 0x94, 0x7b, 0x71, 0xc7, 0x53, 0x1c, 0x3a, 0x93, 0x73, 0x7f, 0x34, + 0x15, 0xfc, 0xce, 0x87, 0x35, 0x3c, 0x85, 0x25, 0x8e, 0x23, 0x01, 0xd2, + 0x84, 0x2b, 0x40, 0x8e, +}; +static const struct drbg_kat_no_reseed kat1217_t = { + 1, kat1217_entropyin, kat1217_nonce, kat1217_persstr, + kat1217_addin0, kat1217_addin1, kat1217_retbits +}; +static const struct drbg_kat kat1217 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1217_t +}; + +static const unsigned char kat1218_entropyin[] = { + 0xbd, 0xdc, 0xa8, 0xa3, 0x12, 0x7e, 0xd5, 0x1e, 0xdc, 0x00, 0x8a, 0xcf, + 0x98, 0x9f, 0x5d, 0xa8, 0x2e, 0xa0, 0xa8, 0x5b, 0x7b, 0xb6, 0x8f, 0x66, + 0x55, 0x7e, 0xae, 0xe7, 0x08, 0xfc, 0x37, 0x29, 0xa5, 0x6e, 0xb8, 0xf4, + 0x51, 0x76, 0xb3, 0x9a, 0xec, 0xfc, 0xca, 0xfa, 0xcf, 0x2a, 0xbc, 0x47, +}; +static const unsigned char kat1218_nonce[] = {0}; +static const unsigned char kat1218_persstr[] = {0}; +static const unsigned char kat1218_addin0[] = { + 0xab, 0x75, 0xd2, 0xba, 0xcd, 0xf1, 0x32, 0x35, 0x90, 0x12, 0xaf, 0xf3, + 0x6e, 0xc8, 0x67, 0x95, 0xde, 0xf2, 0x62, 0xc8, 0xf4, 0xb2, 0x3c, 0x23, + 0x1b, 0x26, 0x77, 0x07, 0xd9, 0x4a, 0x7a, 0x50, 0x13, 0x2f, 0xea, 0x85, + 0x70, 0x2e, 0x7a, 0x64, 0xf9, 0x05, 0x17, 0xb4, 0x04, 0x14, 0xda, 0x24, +}; +static const unsigned char kat1218_addin1[] = { + 0x72, 0x17, 0xec, 0x49, 0x7a, 0x68, 0x70, 0x05, 0x00, 0xbb, 0x44, 0x91, + 0x20, 0x66, 0xc2, 0xb2, 0xc8, 0x88, 0xfe, 0xf1, 0x01, 0xe0, 0x0c, 0x32, + 0x0e, 0x3c, 0x28, 0x4e, 0xb1, 0xd4, 0x91, 0x47, 0xc8, 0x64, 0x4a, 0x85, + 0xfb, 0xb5, 0xc1, 0xcf, 0xe1, 0x18, 0xea, 0x43, 0xe5, 0xd5, 0x85, 0xb6, +}; +static const unsigned char kat1218_retbits[] = { + 0x61, 0xfc, 0x09, 0x56, 0x7d, 0x29, 0x77, 0xe5, 0x18, 0xf2, 0x5e, 0x68, + 0xe3, 0x98, 0xb7, 0xbd, 0x2f, 0x73, 0x4b, 0xd5, 0xe1, 0x4e, 0x75, 0xd1, + 0xe9, 0x0b, 0xa1, 0x86, 0xc9, 0xe4, 0x78, 0xe9, 0x80, 0xc9, 0x35, 0x3e, + 0xbf, 0x2b, 0xa6, 0x50, 0x6a, 0x98, 0xe2, 0xb7, 0x28, 0xa2, 0x05, 0xe4, + 0x07, 0x0b, 0xe2, 0xa2, 0x37, 0x2d, 0x68, 0x88, 0x4c, 0xb9, 0x00, 0x08, + 0xcb, 0x60, 0x02, 0xb4, +}; +static const struct drbg_kat_no_reseed kat1218_t = { + 2, kat1218_entropyin, kat1218_nonce, kat1218_persstr, + kat1218_addin0, kat1218_addin1, kat1218_retbits +}; +static const struct drbg_kat kat1218 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1218_t +}; + +static const unsigned char kat1219_entropyin[] = { + 0xb2, 0x14, 0xce, 0x72, 0xad, 0xc2, 0xdc, 0x03, 0x08, 0x52, 0xe8, 0xca, + 0x0d, 0xf4, 0x20, 0x9d, 0x26, 0x92, 0x1c, 0xad, 0x57, 0xa6, 0x7c, 0xa3, + 0x7a, 0xd5, 0xd7, 0x9d, 0xac, 0x3a, 0xd5, 0xca, 0x3b, 0x64, 0x96, 0x84, + 0xbd, 0xfc, 0xf1, 0xc3, 0xd3, 0x94, 0x5a, 0x47, 0x08, 0x18, 0x28, 0x8c, +}; +static const unsigned char kat1219_nonce[] = {0}; +static const unsigned char kat1219_persstr[] = {0}; +static const unsigned char kat1219_addin0[] = { + 0x2f, 0xc2, 0x07, 0xab, 0x0f, 0xc3, 0x09, 0xbb, 0xcf, 0xf4, 0x31, 0x4c, + 0xf4, 0x1e, 0xa1, 0x7f, 0xa1, 0x04, 0xc8, 0x84, 0x9d, 0xdd, 0xba, 0x8a, + 0xd7, 0x0f, 0x3b, 0x01, 0x93, 0xb3, 0x26, 0xd4, 0x0d, 0xb3, 0x3a, 0xfe, + 0xa7, 0x7b, 0x01, 0x0b, 0x7d, 0x31, 0x41, 0xb5, 0x8b, 0xf9, 0x36, 0x8f, +}; +static const unsigned char kat1219_addin1[] = { + 0x8d, 0xfc, 0x72, 0x35, 0x3e, 0x97, 0x10, 0xb3, 0xc5, 0x5c, 0x83, 0x85, + 0xe0, 0x5f, 0xdf, 0x99, 0x2f, 0x47, 0x99, 0xf8, 0x07, 0x62, 0xcc, 0x8e, + 0x70, 0x57, 0x13, 0xd5, 0x28, 0xdf, 0x27, 0xb2, 0xf5, 0x18, 0x8d, 0x79, + 0x39, 0x4c, 0x7d, 0x65, 0x9e, 0x27, 0xc8, 0x11, 0xda, 0xf7, 0xc3, 0xd2, +}; +static const unsigned char kat1219_retbits[] = { + 0x42, 0x83, 0xe9, 0xde, 0x3c, 0xfd, 0x1b, 0x99, 0x54, 0x13, 0xae, 0xa2, + 0x74, 0x78, 0xa3, 0x30, 0x5e, 0xbb, 0x86, 0xc2, 0x5b, 0x91, 0xd0, 0x20, + 0x74, 0x5a, 0x76, 0x38, 0xf4, 0x04, 0x48, 0x4b, 0x87, 0x39, 0x45, 0x0f, + 0x00, 0x65, 0x5b, 0xa8, 0x35, 0x07, 0xf8, 0xa5, 0xbd, 0xff, 0x72, 0x91, + 0x34, 0xf1, 0x5d, 0x40, 0x60, 0x34, 0xa4, 0x58, 0x4b, 0x12, 0x65, 0x5a, + 0x6e, 0xa4, 0xd6, 0x9f, +}; +static const struct drbg_kat_no_reseed kat1219_t = { + 3, kat1219_entropyin, kat1219_nonce, kat1219_persstr, + kat1219_addin0, kat1219_addin1, kat1219_retbits +}; +static const struct drbg_kat kat1219 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1219_t +}; + +static const unsigned char kat1220_entropyin[] = { + 0x65, 0xc2, 0x08, 0xb7, 0x3d, 0xdb, 0x55, 0x50, 0x9a, 0x4c, 0x50, 0x01, + 0x92, 0x02, 0x56, 0xfa, 0xa4, 0x2c, 0xae, 0xa9, 0xd7, 0x87, 0xcb, 0x18, + 0x9e, 0xcb, 0x39, 0x35, 0x7f, 0xe8, 0x90, 0xd6, 0xbe, 0x98, 0x2b, 0xb9, + 0x5d, 0xa4, 0xa6, 0xbd, 0x6b, 0x3f, 0x92, 0xc9, 0xba, 0xab, 0x35, 0x37, +}; +static const unsigned char kat1220_nonce[] = {0}; +static const unsigned char kat1220_persstr[] = {0}; +static const unsigned char kat1220_addin0[] = { + 0x89, 0x9a, 0x22, 0xa7, 0x68, 0xfb, 0xe6, 0x47, 0x3e, 0x4b, 0xc7, 0x04, + 0x8a, 0x1c, 0x3e, 0x73, 0x3f, 0xc4, 0x61, 0xad, 0xe4, 0x71, 0x69, 0x37, + 0x24, 0x06, 0x0b, 0x77, 0x45, 0x82, 0xfa, 0xf2, 0x50, 0x1b, 0x00, 0x6e, + 0xcd, 0x9b, 0x33, 0xee, 0x46, 0x49, 0x75, 0xda, 0x57, 0xe8, 0xe3, 0x49, +}; +static const unsigned char kat1220_addin1[] = { + 0x51, 0xbe, 0x21, 0x81, 0xd7, 0x90, 0xcf, 0x22, 0x9f, 0x24, 0x68, 0xb8, + 0x3d, 0xaa, 0x0f, 0x0b, 0xc7, 0x2c, 0x33, 0x6f, 0xf6, 0x8b, 0x45, 0xc2, + 0xb2, 0x22, 0x89, 0x8e, 0x43, 0xdb, 0xf8, 0x6a, 0xac, 0x37, 0x9f, 0x75, + 0x09, 0x25, 0x2f, 0x73, 0x57, 0x38, 0x31, 0x4b, 0x6e, 0x85, 0xdc, 0x50, +}; +static const unsigned char kat1220_retbits[] = { + 0x24, 0xca, 0xef, 0x40, 0x25, 0xcc, 0xab, 0xc2, 0xb6, 0x38, 0x5b, 0xef, + 0xb5, 0xef, 0x17, 0xd5, 0x4a, 0x59, 0x0c, 0x6f, 0x08, 0x14, 0xdd, 0x59, + 0x13, 0x1d, 0xa6, 0xd5, 0xb8, 0x3d, 0x08, 0xcf, 0x8e, 0xaa, 0xb0, 0xb3, + 0xd5, 0x10, 0xa4, 0x26, 0x58, 0xd1, 0xe8, 0x9e, 0x08, 0x48, 0xef, 0x84, + 0x46, 0x29, 0xc7, 0x9e, 0x62, 0xf6, 0x8c, 0xce, 0x76, 0x5b, 0x7e, 0x9a, + 0x4d, 0x63, 0x60, 0x79, +}; +static const struct drbg_kat_no_reseed kat1220_t = { + 4, kat1220_entropyin, kat1220_nonce, kat1220_persstr, + kat1220_addin0, kat1220_addin1, kat1220_retbits +}; +static const struct drbg_kat kat1220 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1220_t +}; + +static const unsigned char kat1221_entropyin[] = { + 0xdf, 0x9d, 0xcc, 0x7a, 0x7c, 0x42, 0x78, 0x42, 0x31, 0x13, 0x19, 0x6d, + 0x35, 0x94, 0x40, 0x60, 0x55, 0xca, 0xaa, 0xa8, 0x8b, 0xd1, 0xe4, 0x88, + 0xf0, 0x30, 0xd1, 0xf9, 0x42, 0xed, 0x1f, 0x4e, 0xa4, 0x0e, 0x40, 0xde, + 0x2c, 0x90, 0xc6, 0xda, 0x2a, 0xe3, 0xd5, 0xc5, 0x40, 0xc8, 0x0c, 0xb3, +}; +static const unsigned char kat1221_nonce[] = {0}; +static const unsigned char kat1221_persstr[] = {0}; +static const unsigned char kat1221_addin0[] = { + 0xce, 0x1c, 0x87, 0xf0, 0xfa, 0x74, 0xd2, 0x60, 0x2c, 0xdc, 0x75, 0x0f, + 0xbd, 0xaf, 0xcd, 0x13, 0x62, 0x0e, 0x4c, 0x70, 0xf6, 0xe8, 0x1f, 0x09, + 0x5d, 0xb0, 0x16, 0x2e, 0x95, 0x59, 0xd2, 0x00, 0x46, 0xd5, 0xf3, 0x10, + 0xe0, 0x94, 0xc6, 0x79, 0x37, 0x14, 0x03, 0xd2, 0x94, 0x62, 0x11, 0x1c, +}; +static const unsigned char kat1221_addin1[] = { + 0x03, 0xbe, 0x90, 0xc8, 0xde, 0xe4, 0xb3, 0x52, 0x3c, 0x46, 0xcd, 0x70, + 0xdb, 0x02, 0x73, 0xa5, 0x08, 0x45, 0x79, 0x54, 0xe7, 0x58, 0x30, 0x11, + 0xe5, 0xfa, 0x3e, 0xf1, 0x2c, 0xd1, 0xc0, 0xb3, 0x79, 0xaa, 0xba, 0x71, + 0x36, 0xb2, 0x75, 0x5f, 0xf6, 0x33, 0x82, 0x99, 0x3f, 0x4f, 0x91, 0xc1, +}; +static const unsigned char kat1221_retbits[] = { + 0xc3, 0x86, 0x03, 0x41, 0x92, 0xfc, 0x36, 0x92, 0xa3, 0x44, 0xef, 0x39, + 0xe6, 0x82, 0xe0, 0x5d, 0xa1, 0xf5, 0x83, 0x59, 0x12, 0x50, 0x41, 0x6f, + 0x74, 0x06, 0x0f, 0x26, 0x92, 0x00, 0x5e, 0xb9, 0xb6, 0x9a, 0xa6, 0xa8, + 0x2d, 0xc2, 0x14, 0x8d, 0x9c, 0x74, 0xb8, 0x89, 0xeb, 0xfc, 0x2a, 0xc0, + 0x11, 0x13, 0x79, 0x72, 0x0a, 0x3d, 0xd8, 0x87, 0x09, 0xf5, 0x6e, 0xc6, + 0xde, 0xb9, 0x77, 0x8f, +}; +static const struct drbg_kat_no_reseed kat1221_t = { + 5, kat1221_entropyin, kat1221_nonce, kat1221_persstr, + kat1221_addin0, kat1221_addin1, kat1221_retbits +}; +static const struct drbg_kat kat1221 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1221_t +}; + +static const unsigned char kat1222_entropyin[] = { + 0xaa, 0x70, 0x8c, 0x17, 0x13, 0x9d, 0xe7, 0x47, 0x8c, 0xc3, 0x16, 0xf3, + 0x7e, 0x25, 0xd7, 0x5b, 0xea, 0x23, 0xaf, 0x27, 0x94, 0x0c, 0x0d, 0x60, + 0xca, 0xab, 0x4c, 0xcb, 0xa6, 0xd2, 0xf9, 0x0e, 0xab, 0xa8, 0x15, 0x7b, + 0x09, 0xc1, 0x05, 0x71, 0x9f, 0x0d, 0xb5, 0x50, 0xd1, 0x78, 0x48, 0xe8, +}; +static const unsigned char kat1222_nonce[] = {0}; +static const unsigned char kat1222_persstr[] = {0}; +static const unsigned char kat1222_addin0[] = { + 0x07, 0xe3, 0x64, 0x96, 0x49, 0x64, 0x1f, 0x56, 0x0f, 0x32, 0x56, 0xfd, + 0x0e, 0xca, 0xa1, 0x9e, 0xed, 0xa4, 0xc0, 0x51, 0xf9, 0xdc, 0xd9, 0x8c, + 0xe0, 0xb1, 0x4d, 0x0d, 0xec, 0x81, 0x30, 0x42, 0xd9, 0x7c, 0x0f, 0x8f, + 0xd3, 0x9b, 0x2c, 0x8a, 0xf2, 0x5c, 0xe9, 0x4c, 0xaa, 0xa1, 0x23, 0x9c, +}; +static const unsigned char kat1222_addin1[] = { + 0xc2, 0x1d, 0x7a, 0xf7, 0x97, 0x78, 0xb3, 0x3d, 0xb5, 0x12, 0x71, 0x9c, + 0x54, 0xc1, 0xfc, 0x3f, 0xd5, 0x16, 0xf0, 0x17, 0x3f, 0xb8, 0x71, 0x6c, + 0x2b, 0xd9, 0xed, 0xef, 0x3c, 0x41, 0x3c, 0x34, 0x46, 0xf5, 0x93, 0xc5, + 0x78, 0xb4, 0x2c, 0x84, 0x9c, 0x9f, 0xcd, 0x4b, 0x47, 0x0e, 0x9c, 0xa6, +}; +static const unsigned char kat1222_retbits[] = { + 0xf8, 0xbd, 0x6c, 0x9e, 0x55, 0xc6, 0x95, 0x1a, 0x19, 0x3a, 0x1a, 0x69, + 0x4c, 0x6e, 0x15, 0x11, 0x79, 0xce, 0x06, 0xa7, 0xac, 0x9c, 0x50, 0xc2, + 0xaa, 0x33, 0xa5, 0x73, 0x0e, 0x47, 0x2b, 0xd6, 0x2c, 0xa4, 0x8f, 0x52, + 0x3e, 0x96, 0x55, 0x4d, 0x4e, 0xb7, 0x96, 0x97, 0x52, 0x5c, 0x40, 0x95, + 0x61, 0xa5, 0x16, 0xd3, 0xb1, 0x6f, 0xb5, 0x16, 0x65, 0x8d, 0x51, 0x57, + 0x48, 0x3b, 0x54, 0x92, +}; +static const struct drbg_kat_no_reseed kat1222_t = { + 6, kat1222_entropyin, kat1222_nonce, kat1222_persstr, + kat1222_addin0, kat1222_addin1, kat1222_retbits +}; +static const struct drbg_kat kat1222 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1222_t +}; + +static const unsigned char kat1223_entropyin[] = { + 0x4d, 0xda, 0x7c, 0x88, 0x8b, 0x97, 0x8b, 0xaa, 0x0d, 0xa8, 0x16, 0x34, + 0xd3, 0x54, 0xca, 0x96, 0x34, 0x55, 0xff, 0x7a, 0x7a, 0x04, 0xba, 0xf5, + 0xe6, 0x66, 0xd6, 0x18, 0xb3, 0xb9, 0x39, 0x74, 0x8c, 0x55, 0x44, 0xb2, + 0x33, 0xa7, 0x3a, 0x2a, 0x36, 0x06, 0xa9, 0xf4, 0x3a, 0x79, 0x95, 0xf9, +}; +static const unsigned char kat1223_nonce[] = {0}; +static const unsigned char kat1223_persstr[] = {0}; +static const unsigned char kat1223_addin0[] = { + 0x35, 0x10, 0xd9, 0x64, 0xec, 0x19, 0xc0, 0x95, 0x99, 0x49, 0xcd, 0x4c, + 0xa8, 0x92, 0x75, 0x89, 0xf9, 0xda, 0x23, 0x27, 0xea, 0x48, 0xac, 0xaa, + 0x88, 0x0e, 0xa1, 0xe7, 0x06, 0xcb, 0x61, 0xa6, 0xd0, 0x0a, 0xc5, 0x97, + 0xf1, 0x81, 0x23, 0xc8, 0xd2, 0x3f, 0xe4, 0x90, 0xc2, 0x22, 0x94, 0x7d, +}; +static const unsigned char kat1223_addin1[] = { + 0xfd, 0xf3, 0xd5, 0x07, 0x8f, 0xd4, 0x6c, 0x8f, 0xb6, 0x58, 0xe7, 0xed, + 0xd6, 0x6d, 0xf6, 0x5d, 0xa2, 0xfd, 0xca, 0x4a, 0xe3, 0x8a, 0xac, 0x93, + 0x18, 0xd9, 0x4f, 0xc6, 0x31, 0x22, 0x19, 0x86, 0x15, 0x19, 0x69, 0xca, + 0xe0, 0x02, 0x97, 0x2e, 0x6e, 0x61, 0x15, 0x74, 0xdd, 0x33, 0xdd, 0x2d, +}; +static const unsigned char kat1223_retbits[] = { + 0x9c, 0x83, 0xba, 0x18, 0x80, 0xa7, 0x57, 0x87, 0x01, 0x98, 0xcd, 0xe8, + 0x6e, 0x02, 0x52, 0xaa, 0x93, 0x89, 0xff, 0xd9, 0x7d, 0xbb, 0x3c, 0x3f, + 0xdb, 0x29, 0x02, 0xba, 0x90, 0x28, 0xbd, 0xbf, 0x75, 0xcf, 0xdf, 0x34, + 0x8b, 0xdc, 0x80, 0x71, 0xef, 0x33, 0xb2, 0x64, 0xe2, 0xbb, 0x74, 0xc1, + 0x61, 0x3b, 0x78, 0xb7, 0x6e, 0x56, 0x33, 0x12, 0x6e, 0xdc, 0xec, 0x29, + 0x61, 0x94, 0x02, 0x8a, +}; +static const struct drbg_kat_no_reseed kat1223_t = { + 7, kat1223_entropyin, kat1223_nonce, kat1223_persstr, + kat1223_addin0, kat1223_addin1, kat1223_retbits +}; +static const struct drbg_kat kat1223 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1223_t +}; + +static const unsigned char kat1224_entropyin[] = { + 0x38, 0x31, 0xae, 0x24, 0x36, 0x8f, 0xb0, 0xda, 0x37, 0xa0, 0xc7, 0xe9, + 0x6d, 0x4b, 0x93, 0x1d, 0xda, 0xcb, 0x4b, 0x46, 0xb4, 0x89, 0xbe, 0x10, + 0xff, 0x71, 0xf6, 0x1f, 0xfd, 0xe5, 0xf4, 0xd7, 0x6c, 0x9f, 0x17, 0xa3, + 0x42, 0x36, 0xe7, 0x4c, 0xfa, 0x49, 0x4e, 0x1f, 0xd6, 0x1f, 0xfa, 0xbc, +}; +static const unsigned char kat1224_nonce[] = {0}; +static const unsigned char kat1224_persstr[] = {0}; +static const unsigned char kat1224_addin0[] = { + 0xef, 0x0e, 0xbb, 0x9f, 0x24, 0x70, 0x39, 0xf3, 0x09, 0xf7, 0x54, 0x66, + 0xb4, 0x98, 0xed, 0x67, 0xa4, 0x03, 0x40, 0x24, 0xbe, 0x38, 0x2e, 0x0a, + 0x42, 0x0f, 0xc3, 0x46, 0xd6, 0xf4, 0x22, 0x2e, 0x87, 0xcb, 0xe0, 0x80, + 0xf7, 0x5f, 0x23, 0x82, 0xd7, 0x6f, 0xb7, 0x9b, 0x8f, 0xb6, 0x86, 0x41, +}; +static const unsigned char kat1224_addin1[] = { + 0x5a, 0xb7, 0x86, 0xc4, 0x63, 0x19, 0xd8, 0xd9, 0xd6, 0xb7, 0x4e, 0xc6, + 0xf4, 0x13, 0x1d, 0x48, 0x37, 0xb7, 0xec, 0xaa, 0xd3, 0xce, 0xe7, 0x14, + 0x07, 0xf1, 0xb8, 0x69, 0x71, 0x16, 0xa1, 0x73, 0xab, 0x17, 0x64, 0x09, + 0x8b, 0xe9, 0xaa, 0x53, 0xca, 0x9e, 0xf2, 0xee, 0x1c, 0x6d, 0x55, 0x63, +}; +static const unsigned char kat1224_retbits[] = { + 0x1d, 0x60, 0x74, 0xd6, 0x34, 0xec, 0x13, 0xd5, 0xf8, 0xa0, 0x84, 0x20, + 0x5a, 0x04, 0x8b, 0x42, 0x00, 0xf1, 0xed, 0xb2, 0xa1, 0x54, 0x21, 0x97, + 0x07, 0xc2, 0xcb, 0xdf, 0x64, 0xab, 0x77, 0xff, 0x9d, 0xfa, 0xb0, 0xba, + 0xb1, 0xd2, 0xae, 0x14, 0x14, 0x93, 0x11, 0x50, 0x53, 0x03, 0x1f, 0xcf, + 0xb4, 0x2a, 0xd0, 0x15, 0x84, 0x42, 0xa4, 0x63, 0x2d, 0x76, 0xf6, 0x96, + 0x14, 0x2c, 0x98, 0xce, +}; +static const struct drbg_kat_no_reseed kat1224_t = { + 8, kat1224_entropyin, kat1224_nonce, kat1224_persstr, + kat1224_addin0, kat1224_addin1, kat1224_retbits +}; +static const struct drbg_kat kat1224 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1224_t +}; + +static const unsigned char kat1225_entropyin[] = { + 0x13, 0x87, 0xff, 0x2f, 0x0c, 0x25, 0x0f, 0x60, 0x1b, 0xab, 0xa3, 0xb6, + 0x04, 0xca, 0x92, 0xc6, 0x08, 0xbd, 0xd8, 0xed, 0xb6, 0x2a, 0xe7, 0xfd, + 0x57, 0xb1, 0xfa, 0xd7, 0x46, 0x34, 0x3a, 0xe7, 0x23, 0x73, 0x5d, 0xc5, + 0x6c, 0xa1, 0x54, 0x2c, 0x9a, 0x94, 0x3b, 0xef, 0x58, 0xaa, 0x6f, 0xa6, +}; +static const unsigned char kat1225_nonce[] = {0}; +static const unsigned char kat1225_persstr[] = {0}; +static const unsigned char kat1225_addin0[] = { + 0xc8, 0xc2, 0x54, 0x9f, 0xe7, 0x74, 0xea, 0x88, 0x38, 0x35, 0xb9, 0xfb, + 0xf8, 0x40, 0xd3, 0x87, 0x34, 0x4d, 0xe9, 0x1d, 0xee, 0xe6, 0xb5, 0x60, + 0x7a, 0xf7, 0x2c, 0xed, 0x77, 0x1e, 0x76, 0x60, 0x9c, 0x46, 0x20, 0xd3, + 0xfd, 0x78, 0x87, 0x75, 0xd1, 0xd2, 0xe1, 0x6e, 0xde, 0x8e, 0x49, 0xa2, +}; +static const unsigned char kat1225_addin1[] = { + 0x57, 0xe3, 0x30, 0xfd, 0xca, 0xcc, 0x74, 0x89, 0xe5, 0xda, 0x1e, 0x73, + 0x16, 0xc0, 0x46, 0xc5, 0xc3, 0xe7, 0x51, 0xa3, 0x12, 0x07, 0x7c, 0x0e, + 0xa1, 0x7c, 0x2a, 0xf9, 0x27, 0xe0, 0xdc, 0x87, 0x4b, 0x45, 0x6b, 0x5d, + 0x18, 0x3f, 0x04, 0x32, 0xb8, 0x5f, 0xad, 0xd6, 0xba, 0x5a, 0xbc, 0x8f, +}; +static const unsigned char kat1225_retbits[] = { + 0xc4, 0xe9, 0xac, 0xd5, 0xea, 0x34, 0xe4, 0x56, 0xea, 0xbc, 0x8e, 0xaf, + 0x7d, 0xc3, 0xb7, 0x9f, 0x57, 0x60, 0x20, 0x92, 0x59, 0xd0, 0xea, 0x69, + 0xb2, 0xba, 0x91, 0x47, 0xe8, 0xc1, 0x72, 0xa4, 0xde, 0xc8, 0xd2, 0xc2, + 0x15, 0xe4, 0x09, 0x3c, 0xb7, 0x69, 0x9b, 0x68, 0xc7, 0xf8, 0xb7, 0xa5, + 0xfe, 0x54, 0x71, 0xd6, 0xc5, 0x17, 0xf1, 0x52, 0x3b, 0x10, 0xca, 0xbc, + 0x19, 0xd2, 0x81, 0xb3, +}; +static const struct drbg_kat_no_reseed kat1225_t = { + 9, kat1225_entropyin, kat1225_nonce, kat1225_persstr, + kat1225_addin0, kat1225_addin1, kat1225_retbits +}; +static const struct drbg_kat kat1225 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1225_t +}; + +static const unsigned char kat1226_entropyin[] = { + 0xc4, 0x0f, 0x66, 0x94, 0x7a, 0x04, 0x12, 0x8a, 0xbf, 0x91, 0x42, 0x71, + 0x66, 0x28, 0xbb, 0x43, 0x84, 0xb1, 0x5c, 0x71, 0x40, 0xa4, 0x10, 0xf2, + 0xee, 0x30, 0xe2, 0xd8, 0x55, 0xe1, 0x15, 0x3d, 0x8e, 0xaf, 0x6f, 0xd4, + 0xef, 0x24, 0xaa, 0xd9, 0x3f, 0x0f, 0x85, 0xe1, 0x7b, 0xbe, 0xa5, 0x30, +}; +static const unsigned char kat1226_nonce[] = {0}; +static const unsigned char kat1226_persstr[] = {0}; +static const unsigned char kat1226_addin0[] = { + 0xb6, 0x57, 0xd5, 0xf9, 0x61, 0x7b, 0xdb, 0xd2, 0x6b, 0xfa, 0x68, 0x30, + 0xa8, 0xc1, 0x81, 0x9c, 0xba, 0xaa, 0x4a, 0x95, 0x53, 0x2c, 0xb7, 0xbe, + 0x6b, 0xf2, 0xc3, 0x24, 0x2e, 0x3f, 0xb0, 0x12, 0x4c, 0xec, 0x3f, 0xb2, + 0xa9, 0x8d, 0x0d, 0x4d, 0xee, 0x0d, 0x52, 0x1f, 0xae, 0xef, 0xb0, 0xf3, +}; +static const unsigned char kat1226_addin1[] = { + 0xaf, 0x43, 0x7f, 0xa2, 0x36, 0x25, 0x6f, 0x5d, 0xfe, 0x2f, 0x00, 0x58, + 0x77, 0x24, 0xd6, 0xed, 0x2a, 0xb7, 0x0b, 0x63, 0x0e, 0x7f, 0x89, 0x8e, + 0xa1, 0x5f, 0x7d, 0x40, 0xb2, 0xc7, 0x19, 0x75, 0x41, 0x73, 0x48, 0x89, + 0x3a, 0x5d, 0xc6, 0x2f, 0x8a, 0x43, 0xa1, 0x7a, 0x16, 0xcd, 0xb1, 0x98, +}; +static const unsigned char kat1226_retbits[] = { + 0xf5, 0x91, 0x69, 0x30, 0xe9, 0x9f, 0x8a, 0x26, 0x07, 0xb1, 0x03, 0xe4, + 0x72, 0x18, 0x15, 0xf5, 0x64, 0xc7, 0x94, 0xb7, 0x99, 0x2d, 0x17, 0x8a, + 0xf9, 0x92, 0x44, 0xdc, 0x6d, 0x42, 0x1d, 0x09, 0x5d, 0xe1, 0xac, 0x72, + 0x14, 0x6b, 0xf3, 0x74, 0xd9, 0x6f, 0x92, 0x1d, 0xb5, 0x6d, 0xff, 0x7f, + 0xcd, 0xca, 0xd9, 0xf5, 0x9e, 0x4e, 0x8b, 0x1f, 0xc5, 0xb1, 0x36, 0x46, + 0x45, 0xe6, 0x5c, 0x4f, +}; +static const struct drbg_kat_no_reseed kat1226_t = { + 10, kat1226_entropyin, kat1226_nonce, kat1226_persstr, + kat1226_addin0, kat1226_addin1, kat1226_retbits +}; +static const struct drbg_kat kat1226 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1226_t +}; + +static const unsigned char kat1227_entropyin[] = { + 0x9c, 0x21, 0x8d, 0x82, 0x6c, 0xaa, 0x82, 0x7a, 0xd2, 0xe4, 0x80, 0x24, + 0x38, 0x0b, 0xd6, 0x90, 0x2d, 0xfb, 0x09, 0x74, 0x6f, 0x3a, 0xdb, 0x8e, + 0x12, 0x61, 0xa5, 0x43, 0xf9, 0x6e, 0xa3, 0xca, 0x9c, 0x76, 0xad, 0x1b, + 0x5e, 0xff, 0xd0, 0x58, 0x08, 0xbd, 0x75, 0xdb, 0xa0, 0xf3, 0x98, 0xd2, +}; +static const unsigned char kat1227_nonce[] = {0}; +static const unsigned char kat1227_persstr[] = {0}; +static const unsigned char kat1227_addin0[] = { + 0x1b, 0x8b, 0x55, 0x2e, 0x26, 0x25, 0x6b, 0x8f, 0x6b, 0xc6, 0x7d, 0x71, + 0xa2, 0x56, 0x0c, 0x4e, 0x40, 0x74, 0xff, 0x8b, 0x56, 0x9e, 0x5f, 0x35, + 0x4e, 0x0e, 0xf5, 0x22, 0xbc, 0x2d, 0x63, 0x20, 0x3c, 0x8b, 0x2e, 0x52, + 0xe1, 0x14, 0x9c, 0x68, 0xd2, 0x36, 0xa2, 0x6a, 0xf0, 0xfe, 0x7c, 0xb1, +}; +static const unsigned char kat1227_addin1[] = { + 0xeb, 0x8e, 0x4d, 0xf9, 0xeb, 0x7a, 0x70, 0xbd, 0x99, 0x96, 0xfb, 0x92, + 0xdc, 0x51, 0x5e, 0x2f, 0xb1, 0x05, 0x93, 0x81, 0x37, 0x03, 0x9a, 0x70, + 0xed, 0xa8, 0x4b, 0xed, 0xb6, 0x57, 0x37, 0xc9, 0xf2, 0x17, 0x5e, 0xe6, + 0xa5, 0x0e, 0x6a, 0x8b, 0xda, 0x9d, 0xe1, 0xf0, 0x42, 0xe2, 0x8f, 0xa5, +}; +static const unsigned char kat1227_retbits[] = { + 0xfa, 0xa7, 0x49, 0xb8, 0x44, 0xe5, 0x94, 0x24, 0x96, 0xb8, 0x73, 0x6e, + 0xa7, 0x73, 0x92, 0x28, 0xbf, 0xa8, 0xf2, 0x4a, 0x91, 0xf4, 0xc4, 0x05, + 0x5c, 0x0b, 0x55, 0x01, 0x93, 0xa6, 0xd6, 0x5e, 0xa9, 0x81, 0x80, 0x93, + 0x2f, 0x59, 0x3e, 0x95, 0xef, 0xf3, 0x55, 0xbb, 0xab, 0x37, 0x7e, 0x30, + 0xca, 0xc1, 0x51, 0x0a, 0x38, 0xa8, 0x7f, 0x0d, 0x0a, 0x78, 0xd4, 0x90, + 0x95, 0xc7, 0x30, 0x51, +}; +static const struct drbg_kat_no_reseed kat1227_t = { + 11, kat1227_entropyin, kat1227_nonce, kat1227_persstr, + kat1227_addin0, kat1227_addin1, kat1227_retbits +}; +static const struct drbg_kat kat1227 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1227_t +}; + +static const unsigned char kat1228_entropyin[] = { + 0x4f, 0x51, 0x8c, 0x59, 0x42, 0x83, 0xe1, 0xf0, 0x3f, 0x22, 0xab, 0x88, + 0xc3, 0x52, 0x5b, 0x1e, 0xb9, 0x3b, 0x7c, 0x00, 0x22, 0x8b, 0xb5, 0xc1, + 0x5b, 0x90, 0x0f, 0x35, 0x8c, 0x34, 0x70, 0x98, 0x13, 0x5d, 0x84, 0x6a, + 0xed, 0xc3, 0xc4, 0x39, 0x0d, 0x9b, 0x09, 0xa0, 0xfc, 0x2e, 0x3e, 0x7f, +}; +static const unsigned char kat1228_nonce[] = {0}; +static const unsigned char kat1228_persstr[] = {0}; +static const unsigned char kat1228_addin0[] = { + 0x8f, 0xe6, 0x64, 0xe9, 0x01, 0xbb, 0x97, 0x87, 0x97, 0x80, 0x01, 0xc3, + 0xa8, 0xf1, 0x71, 0x5f, 0xf9, 0xe3, 0xff, 0x6b, 0x52, 0xfa, 0x9d, 0xd4, + 0x68, 0x03, 0xfd, 0xc1, 0x16, 0x3f, 0x61, 0x23, 0x15, 0x8e, 0x6e, 0x31, + 0xe9, 0xdb, 0x4f, 0x6f, 0x9e, 0xba, 0x42, 0xcb, 0xf8, 0x82, 0xec, 0xe1, +}; +static const unsigned char kat1228_addin1[] = { + 0xac, 0xac, 0xde, 0xbe, 0x5e, 0xeb, 0xb9, 0x15, 0x60, 0x72, 0xde, 0x7e, + 0x08, 0xe1, 0x2c, 0x80, 0x2f, 0xd0, 0x1b, 0xd2, 0xac, 0x14, 0x64, 0x2c, + 0xe9, 0x09, 0x6b, 0x7c, 0x6c, 0x11, 0xdd, 0x5a, 0x5e, 0xfb, 0x59, 0xd9, + 0x08, 0xfe, 0xa7, 0x51, 0xeb, 0x11, 0x1a, 0x27, 0x94, 0x4a, 0x01, 0x99, +}; +static const unsigned char kat1228_retbits[] = { + 0x0e, 0x8c, 0x6d, 0x1e, 0xa3, 0x28, 0xd1, 0x4e, 0x8f, 0x0d, 0x66, 0x32, + 0xd4, 0xb4, 0xea, 0x71, 0x9f, 0xa5, 0x08, 0xcb, 0x3d, 0x34, 0x0b, 0x18, + 0x4f, 0xdf, 0xf2, 0x3f, 0xa2, 0xf2, 0x4f, 0x71, 0xa6, 0x95, 0x47, 0x5e, + 0xc9, 0x21, 0x9a, 0x76, 0x3b, 0x1f, 0x3e, 0x4f, 0x59, 0xfe, 0x10, 0x95, + 0xa2, 0x04, 0xcb, 0xe5, 0x0d, 0xb8, 0xb2, 0x7d, 0x29, 0xad, 0xb7, 0xcd, + 0x2d, 0xb4, 0x5e, 0xce, +}; +static const struct drbg_kat_no_reseed kat1228_t = { + 12, kat1228_entropyin, kat1228_nonce, kat1228_persstr, + kat1228_addin0, kat1228_addin1, kat1228_retbits +}; +static const struct drbg_kat kat1228 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1228_t +}; + +static const unsigned char kat1229_entropyin[] = { + 0x65, 0xa0, 0x36, 0x17, 0xcb, 0x07, 0x51, 0xa2, 0x6a, 0x23, 0x65, 0x6e, + 0xd9, 0xc4, 0xec, 0x35, 0xfb, 0x29, 0xf1, 0x70, 0xbe, 0x8d, 0x12, 0x53, + 0xb2, 0x0b, 0x2a, 0xa5, 0x00, 0xdc, 0xb6, 0x00, 0x6e, 0xa6, 0x77, 0x89, + 0xf2, 0xc9, 0xa6, 0x97, 0x52, 0x52, 0xe4, 0x91, 0xcd, 0xfd, 0xa1, 0xe6, +}; +static const unsigned char kat1229_nonce[] = {0}; +static const unsigned char kat1229_persstr[] = {0}; +static const unsigned char kat1229_addin0[] = { + 0x5d, 0x1e, 0x05, 0x26, 0x5d, 0x4f, 0xf7, 0x43, 0xfa, 0x62, 0xa8, 0xc1, + 0x90, 0x66, 0x4b, 0xe5, 0x83, 0xde, 0xb7, 0x3e, 0x18, 0x0b, 0xba, 0x99, + 0x74, 0x77, 0xd4, 0xec, 0x6c, 0xa7, 0x4d, 0x23, 0x46, 0x93, 0xc3, 0x77, + 0x67, 0x7e, 0xdb, 0xff, 0xf4, 0x49, 0x6c, 0x7d, 0x79, 0x87, 0xd1, 0xb4, +}; +static const unsigned char kat1229_addin1[] = { + 0xbb, 0x6e, 0x80, 0x53, 0x97, 0xcc, 0xe7, 0x0a, 0x17, 0x1f, 0x4e, 0xfc, + 0xa4, 0x27, 0x2c, 0x80, 0xfa, 0x94, 0x67, 0xdb, 0xe8, 0xb8, 0x5d, 0xc7, + 0xd1, 0xa5, 0x43, 0x76, 0xab, 0xe5, 0x3b, 0x34, 0x52, 0x20, 0xbe, 0x90, + 0xf2, 0xe5, 0x28, 0xea, 0xf9, 0xee, 0x8d, 0x54, 0x71, 0x7d, 0x79, 0x4a, +}; +static const unsigned char kat1229_retbits[] = { + 0xe3, 0x9c, 0xb1, 0xa9, 0x43, 0x00, 0x36, 0xbb, 0xfa, 0xf6, 0x0c, 0x20, + 0x7e, 0xb5, 0x35, 0x6e, 0xa4, 0x02, 0x81, 0xec, 0x30, 0x54, 0x67, 0x8a, + 0x0a, 0xa8, 0x11, 0xb7, 0xc1, 0x90, 0x64, 0xef, 0x98, 0xda, 0x77, 0x66, + 0x9b, 0x6f, 0x64, 0x92, 0x91, 0x33, 0x12, 0x65, 0x14, 0xf0, 0xcb, 0xe1, + 0x5e, 0xfe, 0x44, 0xd0, 0xb2, 0x33, 0x09, 0xe2, 0x45, 0x9e, 0x40, 0xb4, + 0x67, 0x4d, 0x7e, 0x78, +}; +static const struct drbg_kat_no_reseed kat1229_t = { + 13, kat1229_entropyin, kat1229_nonce, kat1229_persstr, + kat1229_addin0, kat1229_addin1, kat1229_retbits +}; +static const struct drbg_kat kat1229 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1229_t +}; + +static const unsigned char kat1230_entropyin[] = { + 0x2d, 0xc3, 0x5e, 0x79, 0x8e, 0x7c, 0xbb, 0x05, 0xd1, 0x44, 0x37, 0xa4, + 0xd8, 0x5f, 0x52, 0x9f, 0x81, 0x3e, 0x88, 0x46, 0xe4, 0x0e, 0xee, 0xe2, + 0x07, 0x9c, 0x02, 0x3a, 0xd2, 0x28, 0xb8, 0x4a, 0x7e, 0xc9, 0x11, 0xa4, + 0x77, 0x71, 0x0f, 0xd1, 0x82, 0x88, 0x37, 0x2b, 0x3b, 0x4e, 0x4d, 0x71, +}; +static const unsigned char kat1230_nonce[] = {0}; +static const unsigned char kat1230_persstr[] = {0}; +static const unsigned char kat1230_addin0[] = { + 0x67, 0xcd, 0x37, 0xe1, 0x42, 0x22, 0xe5, 0x96, 0x6d, 0x24, 0x3b, 0xb4, + 0x4a, 0xab, 0xb3, 0x2b, 0x07, 0x50, 0x22, 0x0f, 0x75, 0x54, 0x69, 0x53, + 0x98, 0x16, 0x31, 0xb9, 0x48, 0x6a, 0x37, 0x3b, 0xd6, 0x92, 0x14, 0xbf, + 0xa1, 0xda, 0x28, 0x3c, 0xc7, 0x30, 0xec, 0x66, 0xaf, 0x1b, 0xe6, 0xc0, +}; +static const unsigned char kat1230_addin1[] = { + 0x1c, 0x0f, 0x67, 0xce, 0x45, 0x90, 0x99, 0xf3, 0x99, 0x3b, 0xc8, 0xee, + 0x4a, 0x45, 0x50, 0xd3, 0xe7, 0xde, 0xc1, 0xa5, 0x22, 0x52, 0x80, 0xec, + 0xdb, 0x00, 0xac, 0x68, 0xe1, 0x7c, 0x7c, 0xf4, 0x0a, 0xfc, 0x5e, 0x67, + 0x94, 0x20, 0x8e, 0x57, 0x42, 0xc0, 0x01, 0x2e, 0x87, 0xd5, 0x71, 0x1c, +}; +static const unsigned char kat1230_retbits[] = { + 0x26, 0x16, 0x7f, 0xf9, 0x82, 0x0a, 0xa2, 0x3a, 0xb6, 0x1f, 0x78, 0x72, + 0xe0, 0x07, 0xdd, 0x25, 0xd5, 0x8c, 0x7f, 0x82, 0xea, 0xcb, 0x94, 0x74, + 0x28, 0x07, 0x31, 0xa5, 0x50, 0xc8, 0xb8, 0x99, 0xe0, 0x80, 0x74, 0xd9, + 0x10, 0xd5, 0x76, 0x93, 0x9f, 0x87, 0xe9, 0x00, 0x18, 0x98, 0x7e, 0x0b, + 0xff, 0x48, 0xda, 0x03, 0xaa, 0xab, 0xaa, 0x9b, 0x7f, 0xae, 0xad, 0xdd, + 0x65, 0xfd, 0xf5, 0xe2, +}; +static const struct drbg_kat_no_reseed kat1230_t = { + 14, kat1230_entropyin, kat1230_nonce, kat1230_persstr, + kat1230_addin0, kat1230_addin1, kat1230_retbits +}; +static const struct drbg_kat kat1230 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1230_t +}; + +static const unsigned char kat1231_entropyin[] = { + 0x22, 0xa8, 0x9e, 0xe0, 0xe3, 0x7b, 0x54, 0xea, 0x63, 0x68, 0x63, 0xd9, + 0xfe, 0xd1, 0x08, 0x21, 0xf1, 0x95, 0x2a, 0x42, 0x84, 0x88, 0xd5, 0x28, + 0xec, 0xeb, 0x9d, 0x2e, 0xc6, 0x9d, 0x57, 0x3e, 0xc6, 0x21, 0x62, 0x16, + 0xfb, 0x3e, 0x8f, 0x72, 0xa1, 0x48, 0xa5, 0xad, 0xa9, 0xd6, 0x20, 0xb1, +}; +static const unsigned char kat1231_nonce[] = {0}; +static const unsigned char kat1231_persstr[] = { + 0x95, 0x3c, 0x10, 0xba, 0xdc, 0xbc, 0xd4, 0x5f, 0xb4, 0xe5, 0x47, 0x58, + 0x26, 0x47, 0x7f, 0xc1, 0x37, 0xac, 0x96, 0xa4, 0x9a, 0xd5, 0x00, 0x5f, + 0xb1, 0x4b, 0xda, 0xf6, 0x46, 0x8a, 0xe7, 0xf4, 0x6c, 0x5d, 0x0d, 0xe2, + 0x2d, 0x30, 0x4a, 0xfc, 0x67, 0x98, 0x96, 0x15, 0xad, 0xc2, 0xe9, 0x83, +}; +static const unsigned char kat1231_addin0[] = {0}; +static const unsigned char kat1231_addin1[] = {0}; +static const unsigned char kat1231_retbits[] = { + 0xf7, 0xfa, 0xb6, 0xa6, 0xfc, 0xf4, 0x45, 0xf0, 0xa0, 0x43, 0x4b, 0x2a, + 0xa0, 0xc6, 0x10, 0xbd, 0xef, 0x54, 0x89, 0xec, 0xd9, 0x54, 0x14, 0x63, + 0x46, 0x23, 0xad, 0xd1, 0x8a, 0x9f, 0x88, 0x8b, 0xca, 0x6b, 0xe1, 0x51, + 0x31, 0x2d, 0x1b, 0x9e, 0x8f, 0x83, 0xbd, 0x0a, 0xca, 0xd6, 0x23, 0x4d, + 0x3b, 0xcc, 0xc1, 0x1b, 0x63, 0xa4, 0x0d, 0x6f, 0xbf, 0xf4, 0x48, 0xf6, + 0x7d, 0xb0, 0xb9, 0x1f, +}; +static const struct drbg_kat_no_reseed kat1231_t = { + 0, kat1231_entropyin, kat1231_nonce, kat1231_persstr, + kat1231_addin0, kat1231_addin1, kat1231_retbits +}; +static const struct drbg_kat kat1231 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1231_t +}; + +static const unsigned char kat1232_entropyin[] = { + 0xa5, 0xca, 0x32, 0xff, 0x18, 0x30, 0x55, 0x55, 0xd3, 0x2e, 0x27, 0x0f, + 0x17, 0x05, 0x29, 0x23, 0x2c, 0x45, 0x87, 0x79, 0xea, 0xac, 0xe2, 0x21, + 0xac, 0x49, 0x58, 0xb4, 0x22, 0x6d, 0xf8, 0x18, 0x9e, 0x42, 0xb0, 0x84, + 0x4f, 0xc7, 0x65, 0x75, 0x1a, 0x62, 0x91, 0xa6, 0x0a, 0x35, 0xd8, 0xb4, +}; +static const unsigned char kat1232_nonce[] = {0}; +static const unsigned char kat1232_persstr[] = { + 0xf4, 0x2a, 0x3a, 0x32, 0xdc, 0x92, 0xa3, 0xee, 0xff, 0x65, 0x8c, 0x34, + 0x9e, 0xb2, 0xe1, 0x81, 0x56, 0x44, 0x58, 0xc2, 0x02, 0xaa, 0x92, 0x2e, + 0xc4, 0x36, 0x4e, 0x3a, 0x93, 0xb2, 0xeb, 0xdf, 0xb5, 0x8e, 0xf7, 0x8f, + 0xc7, 0x23, 0x7b, 0x70, 0xd8, 0xa2, 0x61, 0xbc, 0xf3, 0x0b, 0xd1, 0xb6, +}; +static const unsigned char kat1232_addin0[] = {0}; +static const unsigned char kat1232_addin1[] = {0}; +static const unsigned char kat1232_retbits[] = { + 0x00, 0x85, 0x1c, 0xac, 0x32, 0x04, 0x32, 0x6d, 0x97, 0xb5, 0xf2, 0x6c, + 0xd0, 0xbc, 0x05, 0xfe, 0xaf, 0xc3, 0x4f, 0x56, 0xb5, 0xb7, 0xde, 0xf2, + 0x64, 0x0b, 0xf5, 0xa1, 0x2d, 0xa0, 0x09, 0x0d, 0x85, 0x32, 0x0f, 0x31, + 0x32, 0xfe, 0x72, 0x12, 0xc8, 0x6d, 0x65, 0xf3, 0xb9, 0x38, 0x36, 0x6e, + 0xae, 0x25, 0xcd, 0x92, 0x33, 0xc0, 0xf9, 0x94, 0x1a, 0x70, 0xf9, 0x9e, + 0x79, 0x5c, 0xde, 0x4c, +}; +static const struct drbg_kat_no_reseed kat1232_t = { + 1, kat1232_entropyin, kat1232_nonce, kat1232_persstr, + kat1232_addin0, kat1232_addin1, kat1232_retbits +}; +static const struct drbg_kat kat1232 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1232_t +}; + +static const unsigned char kat1233_entropyin[] = { + 0x2e, 0x90, 0xb2, 0xda, 0xff, 0xc3, 0xdd, 0xda, 0x43, 0x8c, 0x38, 0xc1, + 0xbd, 0xd6, 0xe0, 0x7d, 0x78, 0xc8, 0x62, 0x22, 0x5d, 0x9d, 0x10, 0xb5, + 0x0a, 0x4d, 0x8e, 0x3e, 0x32, 0xcb, 0x63, 0xe2, 0x81, 0x01, 0xc0, 0x6d, + 0xd2, 0x0e, 0x2d, 0x17, 0x4d, 0x0f, 0x4e, 0xa1, 0xbd, 0xde, 0xe4, 0x0a, +}; +static const unsigned char kat1233_nonce[] = {0}; +static const unsigned char kat1233_persstr[] = { + 0xf3, 0x49, 0xed, 0x3b, 0x77, 0x91, 0x84, 0xb8, 0x04, 0x8f, 0x83, 0x3e, + 0x79, 0x75, 0x15, 0x74, 0xc4, 0x85, 0xde, 0x0b, 0x8f, 0x6e, 0xc7, 0x3b, + 0xf0, 0x8b, 0x3e, 0xa4, 0xb8, 0x2e, 0xee, 0xc4, 0xe7, 0x36, 0xce, 0x5a, + 0x80, 0x93, 0xf9, 0x6b, 0x4d, 0x7c, 0x7c, 0xe8, 0x0f, 0x5c, 0xf6, 0x06, +}; +static const unsigned char kat1233_addin0[] = {0}; +static const unsigned char kat1233_addin1[] = {0}; +static const unsigned char kat1233_retbits[] = { + 0x84, 0x7f, 0x61, 0x14, 0x8d, 0xaa, 0x5d, 0x82, 0x90, 0xda, 0xe7, 0xf7, + 0x29, 0x1b, 0xed, 0x58, 0xa1, 0xa4, 0xa7, 0x62, 0xc8, 0x1d, 0x73, 0xea, + 0xbc, 0xa9, 0x15, 0x42, 0xa5, 0xae, 0x22, 0x00, 0xe1, 0x8a, 0xfc, 0x93, + 0x97, 0xa1, 0x40, 0x19, 0x56, 0x92, 0x68, 0x26, 0xf6, 0x5d, 0xa3, 0x47, + 0x0b, 0x40, 0xfa, 0x91, 0x47, 0x84, 0x2b, 0xb4, 0x9d, 0x4e, 0x0d, 0x83, + 0xbf, 0x77, 0xcd, 0x31, +}; +static const struct drbg_kat_no_reseed kat1233_t = { + 2, kat1233_entropyin, kat1233_nonce, kat1233_persstr, + kat1233_addin0, kat1233_addin1, kat1233_retbits +}; +static const struct drbg_kat kat1233 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1233_t +}; + +static const unsigned char kat1234_entropyin[] = { + 0x8a, 0xb4, 0xfb, 0x1b, 0xa8, 0x3e, 0x1e, 0x4e, 0x7f, 0x8a, 0xda, 0x84, + 0x75, 0xbf, 0xa3, 0x26, 0x31, 0x5d, 0xed, 0x59, 0x6e, 0x21, 0xab, 0x80, + 0x4a, 0x90, 0xd5, 0x0b, 0x23, 0x55, 0xd4, 0xb9, 0x6c, 0x8d, 0x37, 0xee, + 0x06, 0x28, 0xf8, 0xf2, 0xc2, 0xa0, 0x24, 0x52, 0x55, 0xa0, 0x4b, 0xc5, +}; +static const unsigned char kat1234_nonce[] = {0}; +static const unsigned char kat1234_persstr[] = { + 0xb8, 0x38, 0xdd, 0xdb, 0xbd, 0x18, 0xf3, 0x7c, 0x35, 0x2d, 0xf3, 0x01, + 0xa0, 0x79, 0x86, 0xfb, 0x4c, 0xce, 0x42, 0xd8, 0xf9, 0x14, 0x54, 0x7f, + 0x49, 0xdb, 0x31, 0x72, 0x1a, 0x8b, 0xf4, 0xa4, 0xd4, 0x52, 0x56, 0xf1, + 0xa4, 0x04, 0x99, 0x4d, 0x30, 0x88, 0xba, 0x09, 0x5a, 0xd8, 0x8c, 0x92, +}; +static const unsigned char kat1234_addin0[] = {0}; +static const unsigned char kat1234_addin1[] = {0}; +static const unsigned char kat1234_retbits[] = { + 0x0d, 0x55, 0xde, 0xfb, 0xb1, 0x13, 0x8e, 0xe3, 0x35, 0x57, 0xc7, 0xf9, + 0x25, 0x04, 0xd0, 0xcd, 0x32, 0x51, 0x40, 0xc0, 0x88, 0x03, 0x50, 0x44, + 0xb3, 0xfb, 0x1c, 0x2f, 0x64, 0x69, 0xd8, 0x50, 0x5e, 0x97, 0xe5, 0x1d, + 0x0d, 0xc9, 0x77, 0x98, 0xd5, 0x5b, 0x35, 0xf5, 0xb7, 0x7e, 0x8a, 0xd2, + 0x4d, 0xd4, 0x2b, 0xb9, 0xd7, 0x6f, 0x9d, 0x10, 0x22, 0x7a, 0xe4, 0xf0, + 0x5d, 0x09, 0xa0, 0x10, +}; +static const struct drbg_kat_no_reseed kat1234_t = { + 3, kat1234_entropyin, kat1234_nonce, kat1234_persstr, + kat1234_addin0, kat1234_addin1, kat1234_retbits +}; +static const struct drbg_kat kat1234 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1234_t +}; + +static const unsigned char kat1235_entropyin[] = { + 0x29, 0x71, 0x37, 0xef, 0x2d, 0x57, 0x04, 0xec, 0x08, 0xc8, 0xf6, 0x45, + 0x02, 0xaa, 0xdb, 0x69, 0x20, 0x02, 0x70, 0x89, 0xe7, 0x10, 0xb3, 0xde, + 0x31, 0x74, 0xb4, 0xaa, 0xf7, 0x56, 0xb7, 0xa0, 0xb1, 0x08, 0x71, 0x95, + 0xc7, 0x14, 0x28, 0xf3, 0x41, 0x12, 0x73, 0x0d, 0x10, 0xd3, 0x15, 0x6a, +}; +static const unsigned char kat1235_nonce[] = {0}; +static const unsigned char kat1235_persstr[] = { + 0xe4, 0x70, 0x98, 0x7f, 0x17, 0x99, 0xcc, 0xae, 0xc5, 0xd2, 0xe7, 0x3b, + 0x0c, 0x2d, 0xf2, 0x60, 0xd1, 0xc1, 0x9f, 0xf0, 0x75, 0xbb, 0x97, 0xa6, + 0x5c, 0xcb, 0x8c, 0xd7, 0xdc, 0x94, 0x63, 0x7c, 0xa7, 0xa9, 0xf4, 0x69, + 0x48, 0xaf, 0xc6, 0xcb, 0xb5, 0xe4, 0x50, 0x94, 0x64, 0x68, 0xd7, 0x9d, +}; +static const unsigned char kat1235_addin0[] = {0}; +static const unsigned char kat1235_addin1[] = {0}; +static const unsigned char kat1235_retbits[] = { + 0x55, 0x74, 0x16, 0x00, 0x3e, 0x92, 0x6f, 0xb5, 0xfb, 0xae, 0xf5, 0x0b, + 0xd4, 0x8c, 0x26, 0x5f, 0x74, 0xbb, 0x85, 0xa2, 0x95, 0x02, 0xfd, 0x01, + 0x53, 0x24, 0x0b, 0x88, 0xee, 0x5b, 0x95, 0xba, 0xdc, 0xe5, 0x81, 0x3c, + 0x2a, 0xb2, 0x6d, 0xee, 0xb3, 0xa5, 0xbb, 0x9d, 0x9f, 0x01, 0x85, 0x22, + 0x23, 0x86, 0x4b, 0x55, 0x26, 0x62, 0x10, 0xa4, 0xbe, 0x24, 0xe4, 0xe9, + 0xc0, 0x2e, 0xf3, 0x2b, +}; +static const struct drbg_kat_no_reseed kat1235_t = { + 4, kat1235_entropyin, kat1235_nonce, kat1235_persstr, + kat1235_addin0, kat1235_addin1, kat1235_retbits +}; +static const struct drbg_kat kat1235 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1235_t +}; + +static const unsigned char kat1236_entropyin[] = { + 0x2c, 0x3a, 0x24, 0x01, 0x3a, 0x7c, 0x8b, 0x64, 0x23, 0x85, 0x07, 0xf4, + 0x51, 0x27, 0xdd, 0xab, 0xf6, 0x38, 0xdd, 0x69, 0xc8, 0x9f, 0x26, 0x8b, + 0xb4, 0x1f, 0x20, 0xf6, 0xed, 0xbf, 0x14, 0x15, 0x74, 0x88, 0x07, 0x2c, + 0x17, 0x1a, 0x1c, 0x99, 0xe7, 0xe0, 0x5f, 0xd5, 0x15, 0x41, 0xdf, 0x31, +}; +static const unsigned char kat1236_nonce[] = {0}; +static const unsigned char kat1236_persstr[] = { + 0x88, 0x69, 0x2b, 0xbe, 0xde, 0xc9, 0xfb, 0x0f, 0xa2, 0xbd, 0x85, 0x73, + 0x41, 0x32, 0x8a, 0x0e, 0xea, 0x7a, 0xf1, 0x84, 0xc7, 0x99, 0x90, 0xe0, + 0x71, 0x4d, 0x41, 0xd8, 0x4a, 0x11, 0x97, 0x15, 0x53, 0x36, 0xf8, 0x92, + 0x43, 0xfa, 0xb6, 0xa3, 0x0b, 0xc9, 0xe3, 0x4a, 0xca, 0x44, 0x6a, 0x6a, +}; +static const unsigned char kat1236_addin0[] = {0}; +static const unsigned char kat1236_addin1[] = {0}; +static const unsigned char kat1236_retbits[] = { + 0xe9, 0x57, 0xb7, 0x17, 0x17, 0x79, 0xc4, 0x69, 0x9f, 0xf4, 0xc3, 0xb7, + 0x42, 0x74, 0xc2, 0x85, 0x26, 0x10, 0x69, 0x46, 0xbe, 0x77, 0xa3, 0x2f, + 0xe6, 0x96, 0xef, 0x41, 0xaa, 0x89, 0x73, 0x50, 0x78, 0x21, 0x5a, 0xab, + 0x20, 0x18, 0x19, 0x09, 0x9d, 0x61, 0x0f, 0xd5, 0x68, 0x0b, 0x51, 0x98, + 0x2e, 0xe8, 0x32, 0xdf, 0x56, 0x1a, 0xe9, 0x7c, 0xca, 0x25, 0x64, 0xf9, + 0x59, 0x5b, 0x4c, 0x4b, +}; +static const struct drbg_kat_no_reseed kat1236_t = { + 5, kat1236_entropyin, kat1236_nonce, kat1236_persstr, + kat1236_addin0, kat1236_addin1, kat1236_retbits +}; +static const struct drbg_kat kat1236 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1236_t +}; + +static const unsigned char kat1237_entropyin[] = { + 0x25, 0x58, 0x70, 0x4b, 0xe3, 0x2a, 0x8d, 0xf4, 0x33, 0xd8, 0x76, 0x8c, + 0xbd, 0x55, 0x74, 0xc2, 0x4d, 0xd0, 0x9d, 0xe3, 0x15, 0x64, 0xb9, 0xa0, + 0xf4, 0x49, 0x5f, 0xc1, 0xee, 0x55, 0x1e, 0x44, 0x8d, 0xf4, 0xfe, 0x8b, + 0x14, 0x59, 0xd6, 0xb2, 0xb6, 0x14, 0x4e, 0x1f, 0x4a, 0x10, 0x90, 0xcf, +}; +static const unsigned char kat1237_nonce[] = {0}; +static const unsigned char kat1237_persstr[] = { + 0x44, 0x2c, 0x2e, 0x1d, 0x96, 0xfe, 0x08, 0xd8, 0x90, 0x54, 0xb6, 0x3a, + 0x05, 0xb7, 0x12, 0x2f, 0xf7, 0x93, 0x6f, 0x83, 0x7f, 0x4a, 0xc9, 0x5d, + 0x8d, 0xc3, 0xa1, 0xac, 0xa3, 0xe3, 0x68, 0x0b, 0x56, 0xab, 0xb0, 0xe0, + 0x22, 0xfd, 0x0b, 0xe9, 0xd0, 0xc1, 0x1f, 0x5a, 0xcd, 0xfa, 0xa8, 0xb7, +}; +static const unsigned char kat1237_addin0[] = {0}; +static const unsigned char kat1237_addin1[] = {0}; +static const unsigned char kat1237_retbits[] = { + 0xb7, 0xf5, 0xd4, 0x86, 0x2b, 0x47, 0x41, 0x99, 0x74, 0xee, 0x09, 0xa2, + 0x2c, 0x1c, 0x5e, 0x0e, 0xa5, 0xb0, 0xbf, 0x1f, 0x2e, 0x12, 0x92, 0x32, + 0x1e, 0x86, 0x4d, 0x9d, 0x2e, 0xdf, 0x3e, 0x36, 0x71, 0x2d, 0xa8, 0x9b, + 0xa4, 0x55, 0x7c, 0xde, 0xdf, 0x03, 0xc6, 0xa3, 0x96, 0xbc, 0x3b, 0x84, + 0xc4, 0xa6, 0xe6, 0x64, 0xd6, 0xcb, 0x8d, 0x94, 0xd8, 0x61, 0xfb, 0xe4, + 0x72, 0xf2, 0xee, 0x08, +}; +static const struct drbg_kat_no_reseed kat1237_t = { + 6, kat1237_entropyin, kat1237_nonce, kat1237_persstr, + kat1237_addin0, kat1237_addin1, kat1237_retbits +}; +static const struct drbg_kat kat1237 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1237_t +}; + +static const unsigned char kat1238_entropyin[] = { + 0x04, 0xd8, 0xac, 0xa2, 0x54, 0x24, 0xaf, 0x21, 0xb3, 0xe4, 0x44, 0x96, + 0x38, 0xd3, 0x1e, 0x0d, 0x80, 0xa3, 0xee, 0x45, 0x72, 0x78, 0x8c, 0xa8, + 0x66, 0x40, 0xf9, 0xb8, 0x7e, 0x4e, 0x07, 0xd9, 0xf7, 0x55, 0xfc, 0x2e, + 0x66, 0x6c, 0x59, 0xb0, 0xa9, 0x5f, 0xa1, 0xee, 0x7d, 0xc4, 0x7e, 0xde, +}; +static const unsigned char kat1238_nonce[] = {0}; +static const unsigned char kat1238_persstr[] = { + 0x0e, 0xa4, 0x21, 0x03, 0x96, 0xf9, 0x86, 0x12, 0x26, 0x1f, 0x80, 0x77, + 0x7d, 0x3a, 0xd5, 0x16, 0x6f, 0x7b, 0x60, 0xc0, 0xbf, 0x82, 0x1f, 0xd1, + 0x05, 0xeb, 0xd1, 0x61, 0xef, 0x1c, 0x1c, 0x5d, 0xb9, 0x11, 0xbc, 0x59, + 0xbf, 0x29, 0x44, 0x1f, 0x13, 0x22, 0x8e, 0x80, 0x0a, 0xd1, 0x09, 0x9d, +}; +static const unsigned char kat1238_addin0[] = {0}; +static const unsigned char kat1238_addin1[] = {0}; +static const unsigned char kat1238_retbits[] = { + 0xc9, 0x65, 0xc6, 0x21, 0xa3, 0xab, 0x4b, 0x37, 0x58, 0x54, 0xd4, 0xc2, + 0xd5, 0x2f, 0x28, 0xde, 0xbc, 0x07, 0xf7, 0xcf, 0xb7, 0x60, 0x04, 0x89, + 0xeb, 0xd9, 0xc7, 0xb6, 0x4b, 0x42, 0x75, 0x57, 0x74, 0x74, 0xbe, 0x07, + 0x09, 0x50, 0xfc, 0xa5, 0x62, 0x8f, 0x12, 0x8a, 0x8d, 0xdd, 0xd9, 0x24, + 0x0a, 0x43, 0x53, 0x73, 0x95, 0x1d, 0x9a, 0x62, 0x52, 0xb5, 0x20, 0x23, + 0x01, 0x0f, 0x6b, 0xdb, +}; +static const struct drbg_kat_no_reseed kat1238_t = { + 7, kat1238_entropyin, kat1238_nonce, kat1238_persstr, + kat1238_addin0, kat1238_addin1, kat1238_retbits +}; +static const struct drbg_kat kat1238 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1238_t +}; + +static const unsigned char kat1239_entropyin[] = { + 0xa0, 0xa5, 0x1c, 0x6e, 0x80, 0x11, 0xf2, 0x6d, 0xb5, 0x35, 0x33, 0xe6, + 0xbe, 0x87, 0x58, 0xdd, 0x7c, 0xd3, 0xc6, 0xcd, 0x00, 0xce, 0xb4, 0xf4, + 0x29, 0xac, 0xd4, 0x0b, 0x19, 0x3b, 0xeb, 0x18, 0x89, 0x13, 0x66, 0x18, + 0xc7, 0x82, 0x6a, 0xcd, 0x0b, 0x7e, 0xd1, 0x0e, 0xef, 0x05, 0x51, 0xe5, +}; +static const unsigned char kat1239_nonce[] = {0}; +static const unsigned char kat1239_persstr[] = { + 0x10, 0x2c, 0xd6, 0xed, 0x39, 0xce, 0x04, 0x8b, 0x3c, 0xac, 0x4d, 0x53, + 0x59, 0x89, 0xbe, 0xf8, 0xd4, 0xb5, 0x13, 0x11, 0x94, 0x8c, 0x86, 0xce, + 0xa4, 0x21, 0xe2, 0x68, 0xd3, 0x6b, 0xdb, 0x03, 0xba, 0x12, 0x29, 0x02, + 0x60, 0x81, 0x78, 0x3f, 0x8c, 0x05, 0xe2, 0xe7, 0x3c, 0xdd, 0x3e, 0x72, +}; +static const unsigned char kat1239_addin0[] = {0}; +static const unsigned char kat1239_addin1[] = {0}; +static const unsigned char kat1239_retbits[] = { + 0xb5, 0xd4, 0x4c, 0xf2, 0x19, 0xe2, 0x6f, 0xc3, 0x14, 0x72, 0x86, 0x95, + 0xcf, 0x08, 0x31, 0x3c, 0x2c, 0xe4, 0xd0, 0x5c, 0x9c, 0xf7, 0xd4, 0x46, + 0xc5, 0x07, 0x55, 0x0b, 0x46, 0x2c, 0x5d, 0x31, 0x3b, 0x6c, 0xeb, 0x27, + 0x54, 0xe2, 0x57, 0x0d, 0x37, 0x53, 0x8d, 0xf9, 0xbe, 0x45, 0xd7, 0x1f, + 0x2c, 0xa9, 0xc8, 0xe2, 0x4b, 0x80, 0x75, 0xfe, 0x6c, 0x1a, 0x44, 0xce, + 0xed, 0xe8, 0x4a, 0x5f, +}; +static const struct drbg_kat_no_reseed kat1239_t = { + 8, kat1239_entropyin, kat1239_nonce, kat1239_persstr, + kat1239_addin0, kat1239_addin1, kat1239_retbits +}; +static const struct drbg_kat kat1239 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1239_t +}; + +static const unsigned char kat1240_entropyin[] = { + 0x13, 0xe7, 0xf8, 0x0b, 0xb8, 0x3f, 0x94, 0x45, 0x3b, 0xb5, 0x85, 0x90, + 0x79, 0x20, 0x6d, 0x7c, 0x76, 0x44, 0x14, 0x88, 0xa3, 0x04, 0x4f, 0x20, + 0xb0, 0xee, 0xdc, 0x5d, 0x06, 0xd3, 0xd8, 0xf8, 0xa6, 0x33, 0xe8, 0x0c, + 0xdd, 0x61, 0x04, 0xd8, 0xae, 0x51, 0x54, 0xce, 0xce, 0x90, 0x84, 0x75, +}; +static const unsigned char kat1240_nonce[] = {0}; +static const unsigned char kat1240_persstr[] = { + 0x0a, 0xbf, 0x50, 0x1a, 0x53, 0x71, 0x11, 0xf9, 0x92, 0xaf, 0x58, 0xa1, + 0x10, 0x74, 0x90, 0x67, 0xb2, 0xb4, 0x76, 0x5d, 0x37, 0xf0, 0xfe, 0x95, + 0x1c, 0xfa, 0x6e, 0xda, 0x03, 0xd4, 0x10, 0x02, 0x7d, 0xf0, 0x34, 0xe3, + 0x73, 0x98, 0xdf, 0xb6, 0x4d, 0x50, 0xda, 0x51, 0x5d, 0x38, 0x68, 0xa7, +}; +static const unsigned char kat1240_addin0[] = {0}; +static const unsigned char kat1240_addin1[] = {0}; +static const unsigned char kat1240_retbits[] = { + 0xb4, 0xb4, 0x1a, 0xfe, 0x5a, 0xcd, 0x66, 0x6b, 0xe6, 0x7f, 0x9d, 0xc4, + 0x52, 0x09, 0xf6, 0x2b, 0x0a, 0x45, 0x0a, 0x16, 0xf3, 0x9e, 0xe2, 0xfb, + 0x28, 0xec, 0x36, 0x28, 0xb8, 0x09, 0xf7, 0x07, 0xf0, 0x9e, 0x5e, 0x6d, + 0x7b, 0xad, 0xc1, 0xa5, 0xe7, 0xa2, 0xc5, 0xae, 0x8b, 0x8f, 0xc5, 0x75, + 0x88, 0xef, 0x11, 0x0a, 0xed, 0x15, 0x7c, 0x8d, 0x84, 0xc8, 0xb4, 0xbe, + 0xdb, 0x43, 0x54, 0x51, +}; +static const struct drbg_kat_no_reseed kat1240_t = { + 9, kat1240_entropyin, kat1240_nonce, kat1240_persstr, + kat1240_addin0, kat1240_addin1, kat1240_retbits +}; +static const struct drbg_kat kat1240 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1240_t +}; + +static const unsigned char kat1241_entropyin[] = { + 0x59, 0x7a, 0x5c, 0xa7, 0xe1, 0xde, 0xb5, 0x43, 0x3e, 0x0a, 0x7c, 0x6b, + 0x18, 0x85, 0x30, 0xe2, 0x16, 0x6f, 0x3c, 0x8c, 0x16, 0xcc, 0xfc, 0x75, + 0x78, 0xc8, 0xd9, 0x93, 0x1d, 0x70, 0xb4, 0xa3, 0x33, 0xa5, 0x36, 0xab, + 0xdb, 0x07, 0x25, 0xb6, 0xc8, 0x6f, 0xe3, 0xd2, 0xb2, 0x97, 0x4e, 0x17, +}; +static const unsigned char kat1241_nonce[] = {0}; +static const unsigned char kat1241_persstr[] = { + 0x80, 0xc2, 0x28, 0x3d, 0xf1, 0x56, 0x19, 0x74, 0x50, 0x68, 0x72, 0xff, + 0xc3, 0x3b, 0xc7, 0x32, 0x0a, 0xe2, 0xac, 0x2d, 0x31, 0xe3, 0x2d, 0x9c, + 0x04, 0xbb, 0x75, 0xdd, 0x8a, 0x8c, 0xfa, 0x4c, 0x89, 0x59, 0x7c, 0x90, + 0x78, 0x62, 0x2e, 0xb4, 0xd2, 0x90, 0x04, 0x66, 0x62, 0x5c, 0x0c, 0x9e, +}; +static const unsigned char kat1241_addin0[] = {0}; +static const unsigned char kat1241_addin1[] = {0}; +static const unsigned char kat1241_retbits[] = { + 0xc1, 0xb9, 0x22, 0x6e, 0x77, 0x18, 0xad, 0xdc, 0xdd, 0xdb, 0xa2, 0x1d, + 0x7b, 0x55, 0x39, 0xb4, 0x46, 0x47, 0x75, 0x38, 0x80, 0x34, 0xb5, 0xff, + 0x17, 0xf8, 0xb5, 0x12, 0xc6, 0x57, 0x25, 0xce, 0xda, 0x4a, 0x20, 0xff, + 0x94, 0x35, 0xa3, 0xaf, 0x06, 0x20, 0x82, 0xbc, 0xfa, 0xf2, 0x9e, 0xc1, + 0xab, 0x8f, 0x42, 0xc7, 0x28, 0x56, 0xef, 0x59, 0xd8, 0x81, 0xdf, 0x85, + 0xd4, 0x65, 0xc1, 0x4a, +}; +static const struct drbg_kat_no_reseed kat1241_t = { + 10, kat1241_entropyin, kat1241_nonce, kat1241_persstr, + kat1241_addin0, kat1241_addin1, kat1241_retbits +}; +static const struct drbg_kat kat1241 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1241_t +}; + +static const unsigned char kat1242_entropyin[] = { + 0x32, 0x75, 0x82, 0x41, 0xcc, 0x57, 0x2b, 0xb8, 0x82, 0x19, 0xe9, 0xc8, + 0x28, 0x0c, 0x3d, 0x99, 0xfd, 0xae, 0x0c, 0xd8, 0xe8, 0x78, 0xf8, 0xc0, + 0xcd, 0xf1, 0x12, 0xf1, 0x7c, 0xcc, 0xb0, 0x12, 0x1f, 0xbf, 0xb0, 0x85, + 0x9d, 0x27, 0xa0, 0x73, 0x4d, 0xa2, 0xe8, 0xc6, 0xde, 0x4c, 0xd8, 0x0a, +}; +static const unsigned char kat1242_nonce[] = {0}; +static const unsigned char kat1242_persstr[] = { + 0x62, 0x8c, 0xb6, 0x71, 0x76, 0xe1, 0x87, 0xed, 0x10, 0x1f, 0x9f, 0x72, + 0xa5, 0x23, 0x68, 0xc2, 0x47, 0x5b, 0x38, 0xe6, 0x92, 0x29, 0x72, 0x21, + 0xc2, 0x4c, 0xe9, 0x5f, 0x28, 0x01, 0xfa, 0xb1, 0xc2, 0x9a, 0x40, 0x85, + 0x66, 0x4b, 0xe4, 0xf7, 0x51, 0xb5, 0xa6, 0x4d, 0x78, 0x7f, 0xce, 0x29, +}; +static const unsigned char kat1242_addin0[] = {0}; +static const unsigned char kat1242_addin1[] = {0}; +static const unsigned char kat1242_retbits[] = { + 0xf6, 0xff, 0x29, 0x50, 0x4d, 0xd7, 0xae, 0x63, 0xd6, 0x01, 0x6a, 0x62, + 0xd7, 0x7e, 0xd0, 0x14, 0x86, 0xd0, 0x22, 0xe1, 0x4e, 0x2b, 0x72, 0x81, + 0x95, 0x6a, 0xa2, 0xf9, 0xd5, 0x70, 0xda, 0x3a, 0x3e, 0xec, 0x8a, 0x74, + 0x45, 0x29, 0x56, 0x4f, 0x55, 0x60, 0x89, 0x05, 0xb0, 0x9a, 0x08, 0xfa, + 0x78, 0x1c, 0xda, 0x39, 0x83, 0x62, 0x07, 0xf6, 0xf5, 0xc1, 0x65, 0xd2, + 0x71, 0x53, 0xfc, 0xdd, +}; +static const struct drbg_kat_no_reseed kat1242_t = { + 11, kat1242_entropyin, kat1242_nonce, kat1242_persstr, + kat1242_addin0, kat1242_addin1, kat1242_retbits +}; +static const struct drbg_kat kat1242 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1242_t +}; + +static const unsigned char kat1243_entropyin[] = { + 0x10, 0x1f, 0x19, 0xed, 0x66, 0x58, 0x74, 0x16, 0x17, 0x9b, 0xaa, 0x90, + 0x1d, 0x8b, 0x88, 0x8b, 0x75, 0x77, 0x0f, 0xfe, 0x67, 0x91, 0x17, 0xf1, + 0x0f, 0x25, 0xb4, 0x6f, 0x65, 0x9a, 0x57, 0x0d, 0xdb, 0xde, 0xf0, 0x85, + 0x57, 0x8d, 0xed, 0x5e, 0x0d, 0x74, 0xfa, 0xda, 0x68, 0x37, 0xfb, 0x5f, +}; +static const unsigned char kat1243_nonce[] = {0}; +static const unsigned char kat1243_persstr[] = { + 0xff, 0xeb, 0xb3, 0xda, 0x75, 0x65, 0x94, 0x6e, 0xd3, 0x8a, 0x4d, 0x5c, + 0x85, 0x0c, 0x06, 0x8f, 0x0c, 0xb1, 0x0f, 0x6c, 0xe5, 0x03, 0x44, 0x00, + 0x06, 0xf9, 0x72, 0xa3, 0x66, 0xdd, 0x61, 0xc3, 0xe9, 0xe1, 0xb0, 0x0c, + 0x65, 0x66, 0xba, 0xf8, 0xee, 0xbe, 0x0f, 0xc8, 0x68, 0xce, 0x36, 0x3d, +}; +static const unsigned char kat1243_addin0[] = {0}; +static const unsigned char kat1243_addin1[] = {0}; +static const unsigned char kat1243_retbits[] = { + 0x7f, 0x61, 0x38, 0x44, 0xa6, 0xe1, 0x06, 0x36, 0xfb, 0x27, 0xd8, 0xb1, + 0x46, 0x25, 0x7d, 0x10, 0x93, 0x2c, 0x37, 0xc7, 0x61, 0x60, 0x99, 0x89, + 0x39, 0x28, 0xd2, 0xd4, 0x58, 0xf2, 0x94, 0xae, 0x16, 0x5d, 0xef, 0x19, + 0xf7, 0x17, 0x5e, 0x79, 0x8c, 0x0d, 0xce, 0xd4, 0xab, 0x7d, 0x96, 0xde, + 0xf8, 0x8c, 0xd6, 0x53, 0xb3, 0x26, 0x4f, 0x41, 0xe7, 0x56, 0xa0, 0x43, + 0xaf, 0x6f, 0x39, 0xc2, +}; +static const struct drbg_kat_no_reseed kat1243_t = { + 12, kat1243_entropyin, kat1243_nonce, kat1243_persstr, + kat1243_addin0, kat1243_addin1, kat1243_retbits +}; +static const struct drbg_kat kat1243 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1243_t +}; + +static const unsigned char kat1244_entropyin[] = { + 0x22, 0x48, 0x09, 0xc4, 0x3b, 0xcd, 0xb4, 0x6c, 0x52, 0xfe, 0x30, 0x98, + 0xcc, 0x2d, 0x88, 0xd0, 0xd2, 0x6c, 0x34, 0xe7, 0x6e, 0x58, 0xf9, 0x70, + 0x47, 0x02, 0x7a, 0xdf, 0xe9, 0x3f, 0x8b, 0xfa, 0x01, 0xc5, 0x5d, 0x5b, + 0x3c, 0x26, 0x7b, 0xc6, 0x02, 0x89, 0xec, 0x82, 0xd2, 0xfa, 0x21, 0xbc, +}; +static const unsigned char kat1244_nonce[] = {0}; +static const unsigned char kat1244_persstr[] = { + 0x1b, 0xde, 0x6b, 0xbd, 0xcc, 0xe0, 0x20, 0xec, 0xe3, 0x7f, 0xe2, 0x93, + 0x1a, 0x70, 0xa8, 0x8c, 0x5c, 0x36, 0xb8, 0xd2, 0x9c, 0xb0, 0x75, 0x90, + 0xc9, 0xdf, 0xd2, 0x3f, 0x8d, 0xa8, 0x67, 0x76, 0x46, 0x04, 0x6d, 0xfe, + 0xef, 0xeb, 0x17, 0xb4, 0x5a, 0x09, 0xe6, 0x21, 0xe2, 0x63, 0xd4, 0x06, +}; +static const unsigned char kat1244_addin0[] = {0}; +static const unsigned char kat1244_addin1[] = {0}; +static const unsigned char kat1244_retbits[] = { + 0x48, 0xa5, 0x1f, 0xb3, 0xc3, 0x5b, 0x31, 0x30, 0x58, 0x98, 0x7b, 0xc1, + 0x0f, 0x67, 0x23, 0xae, 0x5d, 0xf0, 0x51, 0xe1, 0x80, 0xbf, 0x9b, 0x5b, + 0x0f, 0xd8, 0xb4, 0xc4, 0xf1, 0x2e, 0xe4, 0x57, 0xf4, 0xd1, 0x76, 0x81, + 0x38, 0x18, 0x65, 0x79, 0x7b, 0x2f, 0x76, 0x1f, 0xb0, 0x5f, 0x12, 0xe6, + 0xa9, 0xeb, 0x18, 0xb1, 0xf9, 0x5d, 0x63, 0x9a, 0x4a, 0xf5, 0xb1, 0x61, + 0x31, 0x68, 0xc1, 0xfe, +}; +static const struct drbg_kat_no_reseed kat1244_t = { + 13, kat1244_entropyin, kat1244_nonce, kat1244_persstr, + kat1244_addin0, kat1244_addin1, kat1244_retbits +}; +static const struct drbg_kat kat1244 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1244_t +}; + +static const unsigned char kat1245_entropyin[] = { + 0x4e, 0x37, 0xee, 0x86, 0x49, 0xa8, 0x6d, 0xd0, 0xba, 0xb8, 0x78, 0x5a, + 0x1e, 0x3a, 0xcb, 0xd2, 0xc3, 0xa5, 0x7c, 0xa3, 0x46, 0xd0, 0xe3, 0x14, + 0x76, 0x49, 0x0e, 0x49, 0xb5, 0x88, 0xb9, 0x28, 0x23, 0x2d, 0xfa, 0x50, + 0xcb, 0x1d, 0x96, 0x07, 0x8f, 0x70, 0x68, 0x56, 0x1b, 0x97, 0xe2, 0xf1, +}; +static const unsigned char kat1245_nonce[] = {0}; +static const unsigned char kat1245_persstr[] = { + 0x61, 0x33, 0x4c, 0xdc, 0x87, 0x35, 0x33, 0x29, 0x25, 0x22, 0x1a, 0x63, + 0x18, 0x98, 0x74, 0x03, 0xa4, 0xc1, 0xc9, 0x36, 0xc0, 0xa8, 0x06, 0x6c, + 0xbf, 0xbb, 0x1a, 0x84, 0x51, 0x0b, 0xac, 0x2b, 0xb3, 0x7e, 0xa5, 0x2d, + 0x6b, 0xa9, 0xf4, 0xe1, 0xa9, 0x32, 0x69, 0x47, 0x3f, 0x45, 0x66, 0xcb, +}; +static const unsigned char kat1245_addin0[] = {0}; +static const unsigned char kat1245_addin1[] = {0}; +static const unsigned char kat1245_retbits[] = { + 0x8b, 0xf9, 0xc2, 0x63, 0xc1, 0x2a, 0x19, 0xc5, 0x05, 0x25, 0xfb, 0x70, + 0xcf, 0xe5, 0x69, 0x80, 0xb2, 0x69, 0x57, 0xe5, 0xc2, 0x95, 0xf7, 0x54, + 0x62, 0x44, 0xce, 0x6b, 0x7b, 0x1b, 0x90, 0xb2, 0x4c, 0xe3, 0xcf, 0xfc, + 0x55, 0x36, 0xe9, 0x6d, 0x97, 0x3b, 0x19, 0x2a, 0x77, 0xf8, 0x78, 0xeb, + 0x5e, 0x69, 0x87, 0xe1, 0x05, 0x54, 0x75, 0xa0, 0xab, 0xd0, 0x03, 0x12, + 0xd7, 0xa6, 0x5d, 0xd3, +}; +static const struct drbg_kat_no_reseed kat1245_t = { + 14, kat1245_entropyin, kat1245_nonce, kat1245_persstr, + kat1245_addin0, kat1245_addin1, kat1245_retbits +}; +static const struct drbg_kat kat1245 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1245_t +}; + +static const unsigned char kat1246_entropyin[] = { + 0x0d, 0xd4, 0xd8, 0x00, 0x62, 0xec, 0xc0, 0xf3, 0x59, 0xef, 0xbe, 0x77, + 0x23, 0x02, 0x0b, 0xe9, 0xb8, 0x8b, 0x55, 0x0f, 0xe7, 0x40, 0x88, 0x09, + 0x40, 0x69, 0xe7, 0x44, 0x28, 0x39, 0x58, 0x56, 0xf6, 0x3e, 0xed, 0x4f, + 0x5b, 0x0e, 0x7d, 0x1e, 0x00, 0x6f, 0x0e, 0xaf, 0xf7, 0x4f, 0x63, 0x8c, +}; +static const unsigned char kat1246_nonce[] = {0}; +static const unsigned char kat1246_persstr[] = { + 0xd2, 0xaa, 0x2c, 0xcd, 0x4b, 0xc6, 0x53, 0x7e, 0x51, 0xf6, 0x55, 0x0a, + 0xb6, 0xd6, 0x29, 0x45, 0x47, 0xbe, 0xf3, 0xe9, 0x71, 0xa7, 0xf1, 0x28, + 0xe4, 0x43, 0x6f, 0x95, 0x7d, 0xe9, 0x98, 0x2c, 0x93, 0xee, 0x22, 0x11, + 0x0b, 0x0e, 0x40, 0xab, 0x33, 0xa7, 0xd3, 0xdf, 0xa2, 0x2f, 0x59, 0x9d, +}; +static const unsigned char kat1246_addin0[] = { + 0x0b, 0x08, 0x1b, 0xab, 0x6c, 0x74, 0xd8, 0x6b, 0x4a, 0x01, 0x0e, 0x2d, + 0xed, 0x99, 0xd1, 0x4e, 0x0c, 0x98, 0x38, 0xf7, 0xc3, 0xd6, 0x9a, 0xfd, + 0x64, 0xf1, 0xb6, 0x63, 0x77, 0xd9, 0x5c, 0xdc, 0xb7, 0xf6, 0xec, 0x53, + 0x58, 0xe3, 0x51, 0x60, 0x34, 0xc3, 0x33, 0x9c, 0xed, 0x7e, 0x16, 0x38, +}; +static const unsigned char kat1246_addin1[] = { + 0xca, 0x81, 0x8f, 0x93, 0x8a, 0xe0, 0xc7, 0xf4, 0xf5, 0x07, 0xe4, 0xcf, + 0xec, 0x10, 0xe7, 0xba, 0xf5, 0x1f, 0xe3, 0x4b, 0x89, 0xa5, 0x02, 0xf7, + 0x54, 0xd2, 0xd2, 0xbe, 0x73, 0x95, 0x12, 0x0f, 0xe1, 0xfb, 0x01, 0x3c, + 0x67, 0xac, 0x25, 0x00, 0xb3, 0xd1, 0x7b, 0x73, 0x5d, 0xa0, 0x9a, 0x6e, +}; +static const unsigned char kat1246_retbits[] = { + 0x68, 0x08, 0x26, 0x8b, 0x13, 0xe2, 0x36, 0xf6, 0x42, 0xc0, 0x6d, 0xeb, + 0xa2, 0x49, 0x44, 0x96, 0xe7, 0x00, 0x3c, 0x93, 0x7e, 0xbf, 0x6f, 0x7c, + 0xb7, 0xc9, 0x21, 0x04, 0xea, 0x09, 0x0f, 0x18, 0x48, 0x4a, 0xa0, 0x75, + 0x56, 0x0d, 0x78, 0x44, 0xa0, 0x6e, 0xb5, 0x59, 0x94, 0x8c, 0x93, 0xb2, + 0x6a, 0xe4, 0x0f, 0x2d, 0xb9, 0x8e, 0xcb, 0x53, 0xad, 0x59, 0x3e, 0xb4, + 0xc7, 0x8f, 0x82, 0xb1, +}; +static const struct drbg_kat_no_reseed kat1246_t = { + 0, kat1246_entropyin, kat1246_nonce, kat1246_persstr, + kat1246_addin0, kat1246_addin1, kat1246_retbits +}; +static const struct drbg_kat kat1246 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1246_t +}; + +static const unsigned char kat1247_entropyin[] = { + 0xca, 0x0a, 0xb9, 0xb2, 0x2d, 0x0d, 0xf4, 0xe6, 0x80, 0xda, 0xa8, 0xdb, + 0xab, 0x56, 0x2c, 0x59, 0x4b, 0xd0, 0x79, 0xc3, 0x94, 0x64, 0x7a, 0xf3, + 0x9d, 0xc1, 0xc6, 0x16, 0xa6, 0xbd, 0x85, 0xc5, 0x8f, 0x2d, 0x52, 0xa0, + 0x2f, 0x4b, 0x02, 0x43, 0x5b, 0xbd, 0xe8, 0x0b, 0x33, 0xd4, 0x05, 0xed, +}; +static const unsigned char kat1247_nonce[] = {0}; +static const unsigned char kat1247_persstr[] = { + 0x16, 0x95, 0xf8, 0x3e, 0xc7, 0xf4, 0xf1, 0x74, 0x2b, 0x7f, 0x13, 0xeb, + 0x62, 0xcb, 0xbf, 0x17, 0x80, 0x49, 0x65, 0xed, 0x0a, 0xcd, 0x3f, 0x0f, + 0xba, 0x0c, 0xaf, 0xc3, 0xcd, 0x55, 0xf3, 0x06, 0x80, 0x03, 0x39, 0xba, + 0xf2, 0x56, 0x7b, 0xb8, 0x4f, 0xc3, 0x7c, 0xa3, 0x0a, 0xe2, 0x20, 0x5d, +}; +static const unsigned char kat1247_addin0[] = { + 0x6f, 0x88, 0xfa, 0xa9, 0x30, 0x4a, 0x91, 0x5b, 0x2b, 0x19, 0x88, 0xd4, + 0x08, 0x9b, 0xf0, 0xda, 0x10, 0xbf, 0x9f, 0x4d, 0xfa, 0x2f, 0xe3, 0xcc, + 0xb1, 0xcd, 0x21, 0x20, 0x2c, 0x06, 0x91, 0x9c, 0x14, 0x2d, 0x41, 0x32, + 0x4e, 0x51, 0xa5, 0xae, 0xfe, 0xef, 0xd0, 0x5a, 0x66, 0x4f, 0x70, 0x1b, +}; +static const unsigned char kat1247_addin1[] = { + 0x13, 0x5e, 0xad, 0x8f, 0x09, 0x03, 0x44, 0xd1, 0xe9, 0x67, 0xe7, 0x20, + 0xcb, 0xd6, 0x75, 0x6d, 0x3b, 0x11, 0xe3, 0x90, 0xcf, 0x20, 0x78, 0xbc, + 0xfa, 0x53, 0x44, 0x94, 0x46, 0x85, 0xa7, 0x59, 0x0f, 0xaa, 0x52, 0x24, + 0x2a, 0x20, 0x7d, 0x0b, 0x9f, 0x33, 0xe2, 0xfc, 0x14, 0xc5, 0xa6, 0x1e, +}; +static const unsigned char kat1247_retbits[] = { + 0x7f, 0x7e, 0x6f, 0x08, 0x97, 0x22, 0xa0, 0x6b, 0x74, 0x1b, 0x38, 0x5c, + 0xdf, 0xf7, 0x90, 0x2f, 0x04, 0xf2, 0xe7, 0x2d, 0xca, 0x7c, 0xbb, 0x64, + 0xd6, 0xa4, 0xf3, 0x73, 0xa9, 0xf6, 0x93, 0xec, 0x42, 0xff, 0xf7, 0x6d, + 0x11, 0x48, 0x8b, 0xa8, 0x6a, 0x3a, 0xcc, 0x03, 0x95, 0xc0, 0x2b, 0x73, + 0x01, 0x24, 0x9d, 0x02, 0x25, 0x7d, 0xa9, 0x4e, 0x60, 0xf8, 0xef, 0x9a, + 0x3d, 0x84, 0x43, 0x07, +}; +static const struct drbg_kat_no_reseed kat1247_t = { + 1, kat1247_entropyin, kat1247_nonce, kat1247_persstr, + kat1247_addin0, kat1247_addin1, kat1247_retbits +}; +static const struct drbg_kat kat1247 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1247_t +}; + +static const unsigned char kat1248_entropyin[] = { + 0x74, 0x57, 0x17, 0x89, 0xed, 0xf9, 0x21, 0x7a, 0x13, 0x5f, 0x61, 0x74, + 0x7b, 0x2a, 0x75, 0x6d, 0xc8, 0x31, 0x0e, 0xc0, 0xf4, 0x44, 0x35, 0xfa, + 0xda, 0xd5, 0x27, 0xb3, 0xd4, 0x3c, 0xe0, 0xa4, 0xf0, 0x36, 0x1b, 0xb7, + 0x5a, 0x90, 0x77, 0x44, 0xd3, 0xd9, 0x5f, 0x65, 0xb0, 0x42, 0x8b, 0xde, +}; +static const unsigned char kat1248_nonce[] = {0}; +static const unsigned char kat1248_persstr[] = { + 0x4d, 0x12, 0x7c, 0x55, 0x96, 0xeb, 0x67, 0x23, 0x34, 0x32, 0x5d, 0xd5, + 0xbf, 0x2c, 0x6c, 0x25, 0x56, 0xd4, 0xea, 0x13, 0xb2, 0xcd, 0x26, 0x3e, + 0xa6, 0x0d, 0x74, 0xe8, 0xdc, 0xaf, 0xa6, 0xb1, 0x17, 0x00, 0xf9, 0xf4, + 0x78, 0x42, 0x89, 0x99, 0xf5, 0x76, 0x2e, 0x36, 0x5b, 0x19, 0x3c, 0x05, +}; +static const unsigned char kat1248_addin0[] = { + 0xc5, 0x76, 0x7c, 0x7a, 0x29, 0xd0, 0xf4, 0x34, 0xca, 0x1a, 0x17, 0x30, + 0x84, 0xa0, 0x90, 0x86, 0x7b, 0xee, 0x9d, 0x18, 0x21, 0x5a, 0x79, 0xd3, + 0x37, 0x83, 0x5f, 0xaf, 0xd3, 0x08, 0xd1, 0x11, 0x6f, 0x1d, 0xcd, 0xd1, + 0xad, 0x5d, 0x80, 0xac, 0x18, 0xef, 0x15, 0xd6, 0x1b, 0x80, 0x0c, 0x35, +}; +static const unsigned char kat1248_addin1[] = { + 0x5a, 0xd8, 0xa5, 0xbd, 0x2e, 0xe4, 0x60, 0x42, 0xba, 0x91, 0xd9, 0xac, + 0x9b, 0x91, 0x1e, 0x7a, 0x0a, 0x68, 0xeb, 0x25, 0x70, 0x46, 0x41, 0x5b, + 0x47, 0x1e, 0xcb, 0xeb, 0x05, 0xed, 0xd1, 0x6c, 0xc4, 0x5b, 0x03, 0x59, + 0x3d, 0xe9, 0x10, 0xb0, 0xa0, 0x46, 0xdc, 0x5c, 0x21, 0x3e, 0x62, 0x88, +}; +static const unsigned char kat1248_retbits[] = { + 0xa0, 0xdf, 0x87, 0x1e, 0xfb, 0x02, 0xeb, 0xe3, 0xdb, 0x39, 0x2f, 0xca, + 0x41, 0x06, 0x05, 0x0a, 0x61, 0xa9, 0x3e, 0x3b, 0xce, 0xb4, 0x40, 0x5f, + 0xfa, 0x3b, 0x0e, 0x71, 0xd1, 0x4d, 0x5e, 0x33, 0x73, 0xc8, 0xf4, 0x9c, + 0x21, 0xf4, 0xc9, 0xb6, 0x6a, 0xb4, 0xdf, 0xb1, 0xa5, 0xc6, 0x6a, 0x58, + 0xf8, 0xc5, 0xbe, 0x9a, 0xc1, 0x78, 0x86, 0x02, 0x16, 0x9c, 0xbe, 0xad, + 0x2d, 0xbb, 0x18, 0xd8, +}; +static const struct drbg_kat_no_reseed kat1248_t = { + 2, kat1248_entropyin, kat1248_nonce, kat1248_persstr, + kat1248_addin0, kat1248_addin1, kat1248_retbits +}; +static const struct drbg_kat kat1248 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1248_t +}; + +static const unsigned char kat1249_entropyin[] = { + 0x55, 0x9f, 0xca, 0x54, 0xa1, 0xee, 0xdb, 0x1f, 0x5d, 0x36, 0x4a, 0x10, + 0x36, 0x40, 0x62, 0x04, 0x49, 0x04, 0xb3, 0x31, 0xa2, 0x09, 0xf0, 0xd4, + 0x17, 0x2d, 0xf8, 0x4b, 0x33, 0xab, 0xf7, 0x78, 0x94, 0xf4, 0xb9, 0x03, + 0xd9, 0xe2, 0xc1, 0xa4, 0x61, 0xad, 0xe1, 0x1a, 0xa6, 0x3d, 0xf9, 0xd7, +}; +static const unsigned char kat1249_nonce[] = {0}; +static const unsigned char kat1249_persstr[] = { + 0xf5, 0x39, 0xda, 0x5e, 0x3c, 0x53, 0x5d, 0xb1, 0xe7, 0x88, 0xf2, 0x18, + 0x8e, 0x23, 0x8f, 0x2f, 0x1c, 0x76, 0xad, 0xda, 0x24, 0x36, 0x08, 0xf8, + 0xbc, 0x58, 0xd9, 0x90, 0x6f, 0xa9, 0xc6, 0x22, 0x18, 0xd0, 0x49, 0xae, + 0xfa, 0x1d, 0xdd, 0x0b, 0xd6, 0x93, 0x4d, 0x3f, 0x97, 0x72, 0xdd, 0x02, +}; +static const unsigned char kat1249_addin0[] = { + 0xb1, 0x78, 0x31, 0x7d, 0xd4, 0x8f, 0x36, 0xfc, 0xa0, 0xe8, 0x05, 0x64, + 0x2f, 0x97, 0x87, 0xe7, 0xce, 0xb6, 0x4a, 0x92, 0xa0, 0x98, 0xf9, 0x2e, + 0x02, 0xab, 0x25, 0x47, 0x60, 0x59, 0xf6, 0x64, 0xa0, 0x32, 0x9c, 0x50, + 0x76, 0xa7, 0x43, 0x1e, 0x46, 0x0d, 0x3c, 0x7e, 0xb2, 0xdc, 0xc9, 0xc3, +}; +static const unsigned char kat1249_addin1[] = { + 0xb6, 0x45, 0xf0, 0xdc, 0xe8, 0xeb, 0xe3, 0x1b, 0x7c, 0x05, 0x06, 0x1b, + 0xd5, 0x67, 0x41, 0x00, 0xe4, 0xff, 0xe6, 0x7c, 0xfa, 0x86, 0x43, 0x0a, + 0xa8, 0x00, 0x19, 0xdf, 0x00, 0x25, 0xda, 0xfd, 0x55, 0x87, 0x77, 0xb5, + 0xa1, 0xf7, 0x32, 0xaf, 0x6a, 0x27, 0xc2, 0x6c, 0xa6, 0x8b, 0xfc, 0x7c, +}; +static const unsigned char kat1249_retbits[] = { + 0x7b, 0x9c, 0xb5, 0xc3, 0x8b, 0x07, 0x1e, 0x5c, 0x2c, 0x18, 0x95, 0x2d, + 0x80, 0x73, 0x19, 0x25, 0xc3, 0x26, 0x17, 0xc8, 0x0e, 0xb1, 0x37, 0x4e, + 0x42, 0xf9, 0xbd, 0xd7, 0x0b, 0xb6, 0x0c, 0x1d, 0x37, 0x81, 0xd0, 0xa3, + 0x58, 0x90, 0x09, 0x52, 0x8c, 0xaa, 0x11, 0x18, 0x8a, 0x50, 0x92, 0x46, + 0x23, 0xbc, 0xe3, 0xd1, 0x45, 0xb0, 0x14, 0xac, 0x64, 0xfd, 0x1d, 0x27, + 0xc9, 0x61, 0x1d, 0x33, +}; +static const struct drbg_kat_no_reseed kat1249_t = { + 3, kat1249_entropyin, kat1249_nonce, kat1249_persstr, + kat1249_addin0, kat1249_addin1, kat1249_retbits +}; +static const struct drbg_kat kat1249 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1249_t +}; + +static const unsigned char kat1250_entropyin[] = { + 0xe5, 0x84, 0x93, 0x2d, 0x66, 0x12, 0x68, 0x62, 0x5b, 0x51, 0xd1, 0x1c, + 0xf8, 0x59, 0xe8, 0x81, 0x53, 0x41, 0x8d, 0x15, 0x41, 0xfd, 0x72, 0x66, + 0xf2, 0x7e, 0xe1, 0x8e, 0x4c, 0x3c, 0xe3, 0xcc, 0xd6, 0x15, 0xf3, 0x21, + 0xaf, 0x1b, 0x23, 0xef, 0xc6, 0xf3, 0x6d, 0x03, 0x91, 0x51, 0x14, 0x92, +}; +static const unsigned char kat1250_nonce[] = {0}; +static const unsigned char kat1250_persstr[] = { + 0x00, 0xaa, 0x2d, 0x44, 0xb1, 0xf5, 0xf8, 0x17, 0x29, 0xe4, 0x0c, 0x34, + 0x11, 0xe4, 0x75, 0xcd, 0x2f, 0x87, 0x0d, 0x14, 0x93, 0xda, 0xc9, 0x51, + 0xf3, 0x67, 0xbc, 0x9b, 0x8b, 0xa2, 0x8d, 0xed, 0x34, 0xe1, 0xfc, 0xc1, + 0x6c, 0x29, 0xbc, 0x63, 0x13, 0xae, 0xaf, 0xf1, 0xe1, 0xde, 0xb4, 0x3a, +}; +static const unsigned char kat1250_addin0[] = { + 0xa3, 0x83, 0xa6, 0x5c, 0x12, 0x1c, 0xa5, 0x9b, 0x9c, 0x03, 0x14, 0xdc, + 0x9f, 0xbe, 0x46, 0xb5, 0x70, 0x8c, 0xb7, 0x8f, 0x0f, 0x8a, 0x1a, 0xcb, + 0x77, 0x83, 0x3f, 0x19, 0x28, 0xf3, 0x5d, 0x70, 0xd3, 0x77, 0x97, 0x23, + 0x40, 0x35, 0xc9, 0x62, 0xb9, 0x38, 0x74, 0xdd, 0x81, 0xf7, 0x05, 0x3f, +}; +static const unsigned char kat1250_addin1[] = { + 0x28, 0xb7, 0x1e, 0x47, 0xa7, 0x81, 0xcc, 0x86, 0xaf, 0xc5, 0x66, 0x1c, + 0x53, 0x36, 0x6c, 0xc5, 0xb1, 0xe7, 0x77, 0xd7, 0x9d, 0x46, 0xa9, 0x7a, + 0x4c, 0x16, 0x07, 0x7e, 0xf3, 0x00, 0x4e, 0xbd, 0x81, 0x31, 0x14, 0xd7, + 0x1f, 0x76, 0xa4, 0x48, 0xe3, 0x19, 0x6d, 0x98, 0x75, 0x4e, 0x16, 0x58, +}; +static const unsigned char kat1250_retbits[] = { + 0x90, 0xfd, 0xb7, 0x19, 0xa0, 0xd6, 0x23, 0x66, 0x99, 0xeb, 0xe7, 0xe5, + 0x37, 0xbe, 0x11, 0x40, 0x03, 0xa9, 0x30, 0x2a, 0xca, 0x98, 0x27, 0xbc, + 0x7e, 0xed, 0x73, 0xf9, 0x0a, 0x3c, 0xeb, 0xd5, 0x19, 0x96, 0x15, 0x50, + 0x61, 0x63, 0xe0, 0x8a, 0x8d, 0x2e, 0x29, 0x6f, 0x17, 0xde, 0x92, 0x21, + 0x45, 0x02, 0x50, 0x5c, 0x8d, 0x29, 0x18, 0xb1, 0x3c, 0x21, 0x77, 0x03, + 0xf5, 0x68, 0x43, 0xdd, +}; +static const struct drbg_kat_no_reseed kat1250_t = { + 4, kat1250_entropyin, kat1250_nonce, kat1250_persstr, + kat1250_addin0, kat1250_addin1, kat1250_retbits +}; +static const struct drbg_kat kat1250 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1250_t +}; + +static const unsigned char kat1251_entropyin[] = { + 0x87, 0x25, 0xbc, 0xbe, 0x38, 0x68, 0xdc, 0x96, 0xf6, 0xf4, 0xf7, 0xa8, + 0xc5, 0xee, 0x2f, 0x88, 0x1b, 0x7a, 0x4d, 0x41, 0xb9, 0xba, 0xd3, 0x32, + 0xfe, 0xfb, 0xd6, 0x79, 0x75, 0x88, 0x70, 0x5e, 0xd0, 0x3d, 0xef, 0x3b, + 0x32, 0x40, 0x67, 0x82, 0x4a, 0x63, 0x09, 0xf4, 0x2c, 0xf9, 0x8b, 0xda, +}; +static const unsigned char kat1251_nonce[] = {0}; +static const unsigned char kat1251_persstr[] = { + 0xd0, 0xb3, 0x01, 0x2f, 0xed, 0x05, 0x40, 0xf0, 0x24, 0x6d, 0x6f, 0xd6, + 0x24, 0xda, 0x58, 0x41, 0x92, 0x4b, 0xae, 0x4a, 0x76, 0xea, 0x59, 0x46, + 0x3d, 0x57, 0x77, 0xca, 0x8d, 0x12, 0x1f, 0x7c, 0xed, 0x98, 0x91, 0xca, + 0xa9, 0x21, 0x19, 0xec, 0x02, 0xc0, 0xee, 0x8d, 0xed, 0x2b, 0x26, 0x5f, +}; +static const unsigned char kat1251_addin0[] = { + 0x9f, 0x36, 0x01, 0xe0, 0xdf, 0x19, 0x53, 0xd8, 0xba, 0xe7, 0x00, 0xf3, + 0x98, 0x3e, 0x47, 0x9e, 0x1f, 0xec, 0x44, 0x3d, 0x6f, 0xfa, 0x12, 0xd6, + 0x87, 0x52, 0xcc, 0x68, 0xa6, 0x6a, 0x27, 0x48, 0xf7, 0xc6, 0xee, 0x0c, + 0x32, 0xa6, 0xda, 0xe3, 0xa4, 0x86, 0x15, 0x3c, 0x0c, 0xc4, 0x5b, 0x33, +}; +static const unsigned char kat1251_addin1[] = { + 0x3b, 0x32, 0xd8, 0x6f, 0xc3, 0xcd, 0x88, 0xdd, 0x6e, 0x3d, 0x7f, 0xb9, + 0x8a, 0x0c, 0x77, 0x3a, 0xee, 0x1a, 0xe4, 0x81, 0xb5, 0xdf, 0x91, 0x54, + 0x71, 0x7b, 0x22, 0x31, 0x61, 0x96, 0x08, 0x69, 0x53, 0x3c, 0x0d, 0x16, + 0x00, 0xbc, 0xea, 0xb0, 0xf6, 0x64, 0x15, 0x84, 0xae, 0xd6, 0xd4, 0xb0, +}; +static const unsigned char kat1251_retbits[] = { + 0x9c, 0x5f, 0x4d, 0xbc, 0xcd, 0x21, 0xef, 0xf9, 0x27, 0x60, 0x0f, 0x3f, + 0xa8, 0x37, 0x18, 0x9a, 0x81, 0x06, 0x34, 0x25, 0xd3, 0x16, 0x2a, 0x40, + 0x60, 0x4d, 0x3f, 0xbd, 0xb0, 0x76, 0x00, 0xc5, 0xff, 0xc1, 0xdb, 0x5f, + 0xd7, 0xe6, 0x3c, 0x20, 0x46, 0x64, 0x0c, 0x5b, 0x42, 0xdb, 0xfb, 0x85, + 0xfb, 0xf8, 0x24, 0x50, 0xae, 0x48, 0xf2, 0x95, 0x67, 0x95, 0x7f, 0xaa, + 0x74, 0x20, 0xf9, 0x69, +}; +static const struct drbg_kat_no_reseed kat1251_t = { + 5, kat1251_entropyin, kat1251_nonce, kat1251_persstr, + kat1251_addin0, kat1251_addin1, kat1251_retbits +}; +static const struct drbg_kat kat1251 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1251_t +}; + +static const unsigned char kat1252_entropyin[] = { + 0xcc, 0x7f, 0xf3, 0x44, 0x24, 0x97, 0x33, 0x10, 0x5d, 0x31, 0x6a, 0xdb, + 0x11, 0x54, 0xf5, 0xd8, 0xc7, 0x31, 0xc9, 0x3f, 0x84, 0xb7, 0x8e, 0xb2, + 0x33, 0xe6, 0xe8, 0xc7, 0xa1, 0x2f, 0x6c, 0xf7, 0xf5, 0x0e, 0x19, 0x20, + 0x9d, 0x6d, 0x06, 0xf7, 0x38, 0x48, 0xdb, 0xa0, 0xcb, 0x77, 0x0a, 0xd5, +}; +static const unsigned char kat1252_nonce[] = {0}; +static const unsigned char kat1252_persstr[] = { + 0x30, 0xcc, 0xac, 0x1e, 0x61, 0x58, 0xbc, 0xdc, 0xe5, 0xd1, 0xd4, 0xbb, + 0xdb, 0xf0, 0x4f, 0xe2, 0x6b, 0x3e, 0x92, 0x88, 0xd0, 0x06, 0xa1, 0x94, + 0x50, 0x35, 0x93, 0xfb, 0xd2, 0x43, 0x8e, 0x4f, 0x9b, 0x12, 0xbb, 0x39, + 0xcf, 0xa1, 0x8f, 0xcf, 0x20, 0x95, 0x55, 0x80, 0xc4, 0xaf, 0xcd, 0xd0, +}; +static const unsigned char kat1252_addin0[] = { + 0xd6, 0x88, 0x47, 0xe5, 0xfd, 0x92, 0xdc, 0x2c, 0x2b, 0x7d, 0x2a, 0xfe, + 0xc1, 0x3d, 0x25, 0x1a, 0x26, 0x8f, 0x3b, 0xe6, 0xde, 0x60, 0x64, 0xb4, + 0xd7, 0x6b, 0xb9, 0x49, 0x38, 0x69, 0xa0, 0xe9, 0xa0, 0x40, 0xb3, 0xd1, + 0xc0, 0xdf, 0x43, 0x7e, 0xba, 0xd7, 0x86, 0x13, 0x96, 0x3c, 0x0c, 0xbe, +}; +static const unsigned char kat1252_addin1[] = { + 0x3a, 0x4c, 0x85, 0x2a, 0x7f, 0x9e, 0x0e, 0x9e, 0xd6, 0x81, 0xa6, 0x3c, + 0xab, 0x1d, 0x94, 0xaa, 0x1c, 0x60, 0xdd, 0x4e, 0x72, 0x6b, 0x39, 0x01, + 0x2e, 0x38, 0xbc, 0xc3, 0x28, 0x9c, 0x1f, 0x92, 0x29, 0xbf, 0xdb, 0xaa, + 0xd0, 0x8d, 0x39, 0xc7, 0x38, 0x3b, 0xd0, 0x04, 0xff, 0xa9, 0x5b, 0x1d, +}; +static const unsigned char kat1252_retbits[] = { + 0x01, 0x97, 0x19, 0x1d, 0x1c, 0xd9, 0x66, 0x6b, 0xe7, 0x00, 0x3b, 0xf7, + 0xac, 0x77, 0xb9, 0xf6, 0x9a, 0x91, 0x88, 0x9e, 0xb0, 0xf7, 0x72, 0x0f, + 0x8b, 0xa4, 0x7e, 0xb5, 0xa9, 0xc1, 0x76, 0x1a, 0xe6, 0xfc, 0x6c, 0x7c, + 0xef, 0x13, 0x81, 0x9a, 0xe0, 0x87, 0x18, 0xa9, 0xa0, 0x88, 0xe9, 0xe9, + 0x95, 0x12, 0xb9, 0xc1, 0x66, 0x47, 0xa8, 0xb7, 0xdf, 0x47, 0xd4, 0xbe, + 0xae, 0xfa, 0x4f, 0xf7, +}; +static const struct drbg_kat_no_reseed kat1252_t = { + 6, kat1252_entropyin, kat1252_nonce, kat1252_persstr, + kat1252_addin0, kat1252_addin1, kat1252_retbits +}; +static const struct drbg_kat kat1252 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1252_t +}; + +static const unsigned char kat1253_entropyin[] = { + 0xe3, 0x37, 0x1d, 0x3b, 0x3c, 0x26, 0x4e, 0x10, 0xd2, 0x70, 0xf4, 0xce, + 0xca, 0xa0, 0x9a, 0xd2, 0x02, 0xee, 0x91, 0xee, 0x2d, 0xdd, 0x14, 0xf8, + 0x0e, 0xa8, 0x5d, 0x32, 0x33, 0x88, 0x71, 0x29, 0xa4, 0x15, 0x80, 0x9d, + 0x42, 0xd3, 0x68, 0xee, 0xe4, 0xc9, 0x41, 0xe4, 0xe9, 0x35, 0x45, 0x82, +}; +static const unsigned char kat1253_nonce[] = {0}; +static const unsigned char kat1253_persstr[] = { + 0x68, 0x95, 0x79, 0x2f, 0xdb, 0xe0, 0xf0, 0x2a, 0xde, 0x39, 0x6a, 0x50, + 0xd2, 0xb9, 0xa7, 0xc3, 0xd6, 0x03, 0x09, 0x2f, 0x35, 0x4e, 0x46, 0x67, + 0x4a, 0x7d, 0x41, 0x20, 0x50, 0xdc, 0xaa, 0x39, 0xde, 0xaf, 0xf4, 0xe0, + 0x5d, 0xa8, 0x4a, 0xed, 0xdf, 0x37, 0xd2, 0x58, 0x3b, 0xcf, 0x1a, 0x35, +}; +static const unsigned char kat1253_addin0[] = { + 0xc2, 0x18, 0xa0, 0x40, 0x4d, 0x23, 0x4c, 0xb1, 0xca, 0x5e, 0xa2, 0xeb, + 0xf7, 0x1d, 0x82, 0x9c, 0xab, 0x7a, 0xd0, 0x71, 0x50, 0x13, 0xac, 0x13, + 0x33, 0x08, 0x17, 0x2b, 0xd4, 0xa7, 0xcd, 0x79, 0xa7, 0x0c, 0xe0, 0xec, + 0x21, 0x3a, 0xd8, 0x98, 0xe5, 0x0b, 0x0a, 0xdb, 0xfa, 0x39, 0x39, 0x4f, +}; +static const unsigned char kat1253_addin1[] = { + 0xc4, 0x38, 0x73, 0x1a, 0xed, 0x46, 0xd4, 0x9a, 0x54, 0x2d, 0x2f, 0x7c, + 0x4f, 0x09, 0x04, 0xaf, 0x49, 0x14, 0x5d, 0x21, 0xf0, 0x53, 0xd7, 0x4d, + 0x0f, 0xd5, 0x99, 0x1d, 0x3c, 0x09, 0xcc, 0x93, 0xf2, 0xb4, 0x17, 0x2f, + 0x34, 0xeb, 0xaa, 0xd8, 0x73, 0xce, 0xb6, 0x76, 0x55, 0x1b, 0x90, 0xea, +}; +static const unsigned char kat1253_retbits[] = { + 0x8e, 0xf2, 0x93, 0xae, 0x0c, 0xd3, 0xec, 0x81, 0xce, 0x8d, 0x7f, 0xf7, + 0xc8, 0x9b, 0x3d, 0x22, 0x11, 0x23, 0x69, 0x9d, 0xc7, 0xf4, 0x68, 0x64, + 0x92, 0x27, 0xeb, 0x2a, 0xc2, 0x39, 0x5a, 0x24, 0x05, 0x62, 0xa1, 0x25, + 0xc7, 0x36, 0x10, 0xc6, 0x6b, 0x73, 0x9e, 0x22, 0x49, 0x8b, 0x42, 0xce, + 0x35, 0xff, 0xd0, 0x18, 0xa9, 0x93, 0x68, 0xdd, 0x4d, 0xd6, 0x91, 0xf8, + 0x73, 0xfd, 0xaf, 0x16, +}; +static const struct drbg_kat_no_reseed kat1253_t = { + 7, kat1253_entropyin, kat1253_nonce, kat1253_persstr, + kat1253_addin0, kat1253_addin1, kat1253_retbits +}; +static const struct drbg_kat kat1253 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1253_t +}; + +static const unsigned char kat1254_entropyin[] = { + 0x6e, 0xf9, 0xe7, 0x38, 0xc7, 0xad, 0x40, 0x54, 0x02, 0x31, 0x00, 0xe6, + 0x98, 0x4c, 0xc0, 0x63, 0x9c, 0xe0, 0x79, 0xae, 0xbd, 0xef, 0xe7, 0xc2, + 0x26, 0xef, 0x2e, 0x5e, 0xf2, 0x18, 0x7c, 0x92, 0x13, 0x61, 0xea, 0xf4, + 0x54, 0x8f, 0x69, 0xd4, 0x87, 0x3e, 0x62, 0xe5, 0x57, 0x09, 0x6c, 0xa3, +}; +static const unsigned char kat1254_nonce[] = {0}; +static const unsigned char kat1254_persstr[] = { + 0xc7, 0xfb, 0x77, 0x43, 0xf2, 0xea, 0x10, 0xee, 0x3b, 0xc9, 0x58, 0x20, + 0x27, 0x19, 0x6c, 0x58, 0xf9, 0x4b, 0xde, 0x40, 0x07, 0x4d, 0xed, 0x73, + 0xd8, 0x45, 0x6b, 0xac, 0xfd, 0x75, 0x40, 0xf0, 0x52, 0xa2, 0x65, 0x91, + 0x1e, 0x67, 0x6e, 0x7a, 0xa8, 0xde, 0x1e, 0x7e, 0xe9, 0x74, 0xb2, 0xf6, +}; +static const unsigned char kat1254_addin0[] = { + 0x2e, 0xf8, 0xf4, 0x53, 0x59, 0x61, 0x5e, 0x61, 0x36, 0xad, 0xf2, 0x72, + 0xad, 0x68, 0x5d, 0x90, 0xc8, 0xa6, 0x5f, 0x17, 0x64, 0x88, 0x9a, 0x11, + 0x02, 0xe2, 0x18, 0xf5, 0x9d, 0xf6, 0xe9, 0x8f, 0xad, 0x7d, 0x8f, 0xe3, + 0xf0, 0x84, 0x51, 0x7c, 0xfd, 0x8a, 0x7a, 0x70, 0x88, 0x49, 0x05, 0x38, +}; +static const unsigned char kat1254_addin1[] = { + 0x02, 0xf2, 0x55, 0xfc, 0xa2, 0x2b, 0x75, 0x0e, 0x71, 0x96, 0xc8, 0x4a, + 0x48, 0x21, 0xe7, 0x60, 0x7b, 0x9d, 0x09, 0x57, 0xd6, 0x2a, 0xb9, 0x1d, + 0x82, 0xa8, 0x4f, 0x2f, 0xd3, 0x63, 0x03, 0xb7, 0x90, 0x06, 0xf7, 0xc3, + 0xeb, 0xd7, 0x9e, 0x36, 0x71, 0xba, 0x33, 0xa2, 0x7f, 0xfc, 0x72, 0x59, +}; +static const unsigned char kat1254_retbits[] = { + 0x12, 0xbe, 0x8e, 0x5e, 0xb5, 0x42, 0x2a, 0x3b, 0x2c, 0xbb, 0x95, 0x1e, + 0x04, 0x3c, 0x2b, 0xb4, 0xe2, 0xc8, 0xf3, 0x62, 0xa1, 0xd7, 0xb6, 0x2d, + 0x45, 0x9c, 0xae, 0xd4, 0x74, 0x5c, 0x1d, 0xf9, 0x26, 0xf6, 0xd5, 0xac, + 0xce, 0x2d, 0x74, 0x80, 0xe0, 0x4c, 0x83, 0xc5, 0xb1, 0x5f, 0x6f, 0x9e, + 0x5d, 0xca, 0xd6, 0x76, 0x99, 0x75, 0xa9, 0xaf, 0x0d, 0xbf, 0xf4, 0xbb, + 0x34, 0xb0, 0xee, 0xd9, +}; +static const struct drbg_kat_no_reseed kat1254_t = { + 8, kat1254_entropyin, kat1254_nonce, kat1254_persstr, + kat1254_addin0, kat1254_addin1, kat1254_retbits +}; +static const struct drbg_kat kat1254 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1254_t +}; + +static const unsigned char kat1255_entropyin[] = { + 0x00, 0x80, 0x0c, 0xc4, 0x76, 0x1f, 0xc1, 0xca, 0x30, 0x98, 0x2f, 0x4d, + 0xc2, 0xf7, 0x03, 0xca, 0x44, 0x97, 0xb8, 0x25, 0x1f, 0xbe, 0x72, 0x71, + 0x04, 0xfd, 0x0c, 0x0f, 0x5f, 0x9c, 0x7d, 0xce, 0xa7, 0x0b, 0x1a, 0x39, + 0x16, 0xeb, 0xc1, 0x9d, 0x1b, 0x68, 0xa4, 0xd2, 0xda, 0x4f, 0x10, 0x31, +}; +static const unsigned char kat1255_nonce[] = {0}; +static const unsigned char kat1255_persstr[] = { + 0x37, 0x3c, 0x0d, 0xfe, 0x24, 0x9c, 0xf4, 0xc9, 0xcc, 0x73, 0xc2, 0x4c, + 0x17, 0x0f, 0x70, 0x78, 0x65, 0xe3, 0xec, 0x1d, 0x91, 0x97, 0x2f, 0xf3, + 0xfd, 0x77, 0xfe, 0xbe, 0xa8, 0xb6, 0xc1, 0x2d, 0x2d, 0xcd, 0x9d, 0x4d, + 0xa7, 0xcb, 0x65, 0x3d, 0xda, 0x2f, 0xd1, 0xff, 0x58, 0xdf, 0x2b, 0x8e, +}; +static const unsigned char kat1255_addin0[] = { + 0xdd, 0xd0, 0x45, 0x8d, 0x64, 0x90, 0xb0, 0x79, 0x35, 0x1e, 0xee, 0x99, + 0x8b, 0x88, 0xd1, 0xd0, 0x1a, 0x17, 0x19, 0xdf, 0xa6, 0x9c, 0x9b, 0x72, + 0xa3, 0x60, 0x5d, 0xe5, 0x71, 0xe5, 0x9f, 0xdd, 0x34, 0x2e, 0x85, 0x6a, + 0x09, 0x0a, 0x13, 0x23, 0x93, 0xe7, 0xe5, 0x61, 0x6e, 0x95, 0x90, 0xe0, +}; +static const unsigned char kat1255_addin1[] = { + 0xaf, 0x7a, 0xdb, 0xbc, 0xbd, 0x4a, 0x1d, 0xc1, 0xb9, 0x6b, 0x88, 0x83, + 0xa3, 0x71, 0xc4, 0x31, 0x40, 0x42, 0xa2, 0x86, 0xd4, 0x02, 0x32, 0xef, + 0x2c, 0x98, 0xac, 0xe4, 0x62, 0xc7, 0xce, 0xa2, 0x9c, 0x20, 0xc6, 0xd7, + 0xb6, 0x42, 0x4c, 0x0c, 0x45, 0x36, 0xdd, 0x2f, 0x89, 0x90, 0xf6, 0x32, +}; +static const unsigned char kat1255_retbits[] = { + 0x3e, 0xc1, 0x8d, 0xd0, 0x38, 0xd1, 0xfd, 0x71, 0x47, 0x23, 0xf9, 0x06, + 0xb2, 0x51, 0xa1, 0x72, 0xa3, 0xd3, 0xee, 0x30, 0x8f, 0xbf, 0x51, 0xb9, + 0x2f, 0x8f, 0x0c, 0x16, 0x74, 0x38, 0x3e, 0x8c, 0xe8, 0x51, 0x07, 0x95, + 0x96, 0xdd, 0x6e, 0xcc, 0xfb, 0x4f, 0xac, 0xde, 0x7a, 0x23, 0x59, 0x57, + 0x51, 0x37, 0x07, 0x9a, 0x9f, 0xf5, 0x7d, 0x6e, 0xe7, 0xf8, 0x56, 0x74, + 0x93, 0xe8, 0xfa, 0x02, +}; +static const struct drbg_kat_no_reseed kat1255_t = { + 9, kat1255_entropyin, kat1255_nonce, kat1255_persstr, + kat1255_addin0, kat1255_addin1, kat1255_retbits +}; +static const struct drbg_kat kat1255 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1255_t +}; + +static const unsigned char kat1256_entropyin[] = { + 0x2f, 0x94, 0xc1, 0x29, 0xbc, 0x75, 0xe9, 0x83, 0x5a, 0xda, 0xcf, 0x73, + 0xb7, 0x31, 0xb6, 0x62, 0x48, 0xf9, 0x69, 0x63, 0x6f, 0xa0, 0x61, 0x8b, + 0x98, 0x6d, 0x0e, 0x9e, 0xb6, 0x22, 0xb6, 0xc0, 0x59, 0x66, 0xfd, 0x11, + 0x58, 0xdc, 0x1b, 0xc5, 0xc1, 0x39, 0x8c, 0xd8, 0x03, 0x1e, 0x99, 0x60, +}; +static const unsigned char kat1256_nonce[] = {0}; +static const unsigned char kat1256_persstr[] = { + 0xc3, 0x20, 0x43, 0x5c, 0xad, 0x09, 0x9d, 0xcb, 0xa1, 0xaa, 0xed, 0x51, + 0x62, 0x39, 0x77, 0xba, 0xb7, 0x06, 0x71, 0xd9, 0x34, 0xf6, 0xa0, 0x2c, + 0x7e, 0x96, 0x44, 0x84, 0xda, 0xee, 0xee, 0xc2, 0xd1, 0xfa, 0xfa, 0x3c, + 0xa7, 0xa3, 0xc8, 0x63, 0x37, 0x15, 0xef, 0x7e, 0x9b, 0xd8, 0x76, 0x91, +}; +static const unsigned char kat1256_addin0[] = { + 0xfa, 0x41, 0x5e, 0xf8, 0x27, 0x07, 0x58, 0xc8, 0xda, 0x17, 0x24, 0x8b, + 0xd3, 0xa6, 0xb1, 0x19, 0xbe, 0x74, 0xf6, 0xa4, 0x2f, 0x28, 0x48, 0x41, + 0x06, 0x57, 0x83, 0xfd, 0xfb, 0xaa, 0x53, 0xe3, 0xfa, 0xcc, 0xe0, 0x12, + 0x85, 0xc1, 0x0e, 0xe1, 0xc5, 0xc9, 0xfd, 0xb8, 0x99, 0x40, 0xbb, 0x47, +}; +static const unsigned char kat1256_addin1[] = { + 0xfa, 0x58, 0x11, 0x1b, 0x4c, 0x6d, 0x5f, 0x7f, 0x2b, 0x00, 0x42, 0x2e, + 0xfb, 0x5e, 0xd9, 0x83, 0x2c, 0xf4, 0x2f, 0x3c, 0xdc, 0x83, 0x13, 0x0a, + 0xa3, 0x35, 0x5c, 0x26, 0x75, 0x31, 0x99, 0x88, 0x61, 0xe4, 0x06, 0x7b, + 0xf3, 0xfb, 0x9f, 0x28, 0xbe, 0x36, 0x40, 0x8c, 0x2c, 0x51, 0x56, 0x01, +}; +static const unsigned char kat1256_retbits[] = { + 0x89, 0x70, 0xa2, 0x0b, 0x8b, 0xfc, 0xbf, 0x45, 0xf6, 0x41, 0xe3, 0xba, + 0x8f, 0x28, 0xa0, 0x8b, 0xd1, 0xc1, 0x51, 0xea, 0x8f, 0x5f, 0x09, 0xea, + 0xc0, 0xab, 0x71, 0x5d, 0x2a, 0x52, 0xe0, 0x60, 0x9b, 0xe1, 0xfd, 0xa1, + 0x3b, 0xe3, 0x18, 0x16, 0x67, 0x0e, 0x43, 0x3f, 0xbc, 0x38, 0xa8, 0x43, + 0x70, 0x1f, 0xd9, 0x35, 0xe2, 0xcd, 0xcd, 0xbb, 0x2c, 0xc5, 0xe2, 0x04, + 0x54, 0xe5, 0x63, 0x81, +}; +static const struct drbg_kat_no_reseed kat1256_t = { + 10, kat1256_entropyin, kat1256_nonce, kat1256_persstr, + kat1256_addin0, kat1256_addin1, kat1256_retbits +}; +static const struct drbg_kat kat1256 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1256_t +}; + +static const unsigned char kat1257_entropyin[] = { + 0xde, 0x2c, 0x94, 0x55, 0x8a, 0xda, 0xbf, 0xb2, 0x86, 0xc9, 0x51, 0x38, + 0xab, 0x25, 0x30, 0x4b, 0x8e, 0x3d, 0x15, 0xc8, 0x96, 0x13, 0x52, 0x88, + 0x02, 0xb4, 0x30, 0xcd, 0x14, 0xd1, 0x68, 0x5d, 0x09, 0x8a, 0x92, 0x82, + 0xea, 0xfe, 0x09, 0x68, 0x27, 0xef, 0x4f, 0x8b, 0xb7, 0x02, 0xe2, 0x91, +}; +static const unsigned char kat1257_nonce[] = {0}; +static const unsigned char kat1257_persstr[] = { + 0xa4, 0x66, 0x94, 0x20, 0xac, 0xda, 0x7a, 0x25, 0x2e, 0x8a, 0x46, 0xd3, + 0xcf, 0xc9, 0x76, 0xe7, 0xd3, 0xba, 0xa6, 0xf6, 0x83, 0x27, 0x27, 0xe4, + 0x28, 0x0e, 0x57, 0xe6, 0x97, 0x05, 0x13, 0x25, 0x83, 0x31, 0x35, 0x74, + 0xbd, 0x97, 0x5d, 0xab, 0x44, 0xf2, 0x2c, 0x10, 0xa6, 0x92, 0xab, 0x03, +}; +static const unsigned char kat1257_addin0[] = { + 0x7b, 0xe3, 0xd0, 0x34, 0x00, 0xea, 0x13, 0x8a, 0x6f, 0x39, 0x8b, 0xfa, + 0xd6, 0xd0, 0xb7, 0x11, 0x16, 0xca, 0xd9, 0xa0, 0xc5, 0x93, 0x27, 0xc7, + 0x62, 0x2d, 0xe0, 0x04, 0x5b, 0x0a, 0x1e, 0x20, 0x6c, 0xf1, 0x7c, 0x91, + 0xf3, 0x36, 0xa5, 0x3e, 0x11, 0x42, 0x5a, 0x24, 0xa4, 0xa3, 0xac, 0x92, +}; +static const unsigned char kat1257_addin1[] = { + 0x1b, 0x17, 0x94, 0x3c, 0x88, 0x3a, 0x5f, 0x3f, 0x2a, 0x76, 0xbe, 0x46, + 0xb6, 0xcf, 0xe1, 0xe1, 0x67, 0x4e, 0x06, 0xbb, 0x08, 0x7d, 0x8d, 0x60, + 0xca, 0x28, 0x13, 0x21, 0x43, 0x65, 0x8c, 0x76, 0xd9, 0x59, 0xb8, 0x55, + 0x30, 0xa8, 0x8f, 0xe0, 0x05, 0x6c, 0xcd, 0x16, 0xc5, 0xf9, 0x84, 0x7f, +}; +static const unsigned char kat1257_retbits[] = { + 0x5e, 0x44, 0x89, 0x67, 0x1c, 0x6d, 0x92, 0xb1, 0x9e, 0x93, 0x9d, 0xe8, + 0x7e, 0xbe, 0x03, 0x36, 0x7c, 0xd0, 0xa9, 0x48, 0x6e, 0xef, 0x0a, 0x46, + 0xa7, 0x2d, 0x5f, 0x71, 0xd2, 0x0c, 0x38, 0x73, 0x55, 0xc2, 0x28, 0x58, + 0xac, 0x4e, 0x87, 0x95, 0x80, 0xb4, 0xbf, 0x0e, 0x14, 0x9d, 0x4c, 0x5b, + 0x6b, 0xe0, 0x91, 0xbb, 0x3a, 0x5d, 0x64, 0x95, 0xba, 0x83, 0xf4, 0x7c, + 0x1b, 0xcb, 0x4d, 0x45, +}; +static const struct drbg_kat_no_reseed kat1257_t = { + 11, kat1257_entropyin, kat1257_nonce, kat1257_persstr, + kat1257_addin0, kat1257_addin1, kat1257_retbits +}; +static const struct drbg_kat kat1257 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1257_t +}; + +static const unsigned char kat1258_entropyin[] = { + 0x77, 0x6f, 0x8e, 0x34, 0xca, 0xc2, 0x75, 0x7e, 0x83, 0xe9, 0x5e, 0xf1, + 0x07, 0x54, 0x10, 0x36, 0x0d, 0x8b, 0x85, 0x20, 0xb8, 0x77, 0x56, 0x65, + 0x0c, 0x4e, 0x4e, 0x26, 0x16, 0x84, 0xfc, 0x40, 0x13, 0xcf, 0x6c, 0x93, + 0x04, 0xd9, 0xe8, 0x10, 0x0c, 0xa9, 0xe2, 0x6c, 0x97, 0x54, 0xb3, 0xfd, +}; +static const unsigned char kat1258_nonce[] = {0}; +static const unsigned char kat1258_persstr[] = { + 0x14, 0xb4, 0x34, 0xb1, 0x24, 0x52, 0x30, 0x90, 0x75, 0x69, 0x3e, 0x6e, + 0x5d, 0x56, 0x3e, 0x5c, 0x93, 0xea, 0xda, 0x6b, 0xec, 0xb2, 0xba, 0x91, + 0x19, 0xe7, 0x45, 0x3b, 0xa0, 0xc7, 0x67, 0x3f, 0xbe, 0x82, 0xc6, 0x19, + 0xa3, 0x17, 0x2d, 0x29, 0x78, 0xef, 0x5c, 0x5b, 0x93, 0x82, 0x87, 0xf9, +}; +static const unsigned char kat1258_addin0[] = { + 0x51, 0xda, 0x28, 0x22, 0x9d, 0xfa, 0xd4, 0x66, 0x56, 0xb2, 0x89, 0x20, + 0xe5, 0x90, 0xf8, 0x49, 0xcb, 0x6f, 0x74, 0xd4, 0x76, 0x39, 0x94, 0x06, + 0x10, 0xe4, 0x70, 0xc5, 0xd5, 0x20, 0x90, 0xe1, 0xab, 0x77, 0x44, 0x0a, + 0x4e, 0x49, 0x5d, 0x10, 0xf0, 0xee, 0x9f, 0xee, 0x8e, 0x65, 0xd9, 0xd4, +}; +static const unsigned char kat1258_addin1[] = { + 0x44, 0x60, 0xcb, 0x1e, 0x89, 0x0b, 0xf3, 0x4e, 0x94, 0xf2, 0x5c, 0xe6, + 0x51, 0x71, 0x0e, 0xba, 0x56, 0xea, 0xe5, 0x85, 0xfa, 0xe2, 0x85, 0x34, + 0xa9, 0xd0, 0x4b, 0x9d, 0x2b, 0xca, 0xde, 0x08, 0xfd, 0xbd, 0x04, 0xc2, + 0xb3, 0x63, 0x58, 0x3f, 0x94, 0xb2, 0x43, 0x7a, 0x8c, 0x7e, 0x65, 0xd2, +}; +static const unsigned char kat1258_retbits[] = { + 0xff, 0xef, 0xb1, 0xdc, 0x31, 0x6c, 0x12, 0x65, 0x9d, 0x33, 0xc3, 0xce, + 0x2d, 0x90, 0xf9, 0x63, 0x03, 0xc4, 0x7f, 0xae, 0x68, 0x84, 0x31, 0xc1, + 0x4b, 0x39, 0x2b, 0x18, 0x96, 0x09, 0x6a, 0x5f, 0x29, 0x99, 0xbc, 0x31, + 0x06, 0xb9, 0x63, 0xdd, 0x7a, 0x7f, 0x7c, 0x55, 0x54, 0x4f, 0x72, 0xd3, + 0x7c, 0xc9, 0xa3, 0xd2, 0x76, 0x7a, 0xf5, 0xa8, 0xeb, 0x81, 0xe3, 0x22, + 0xff, 0x5f, 0xd6, 0x05, +}; +static const struct drbg_kat_no_reseed kat1258_t = { + 12, kat1258_entropyin, kat1258_nonce, kat1258_persstr, + kat1258_addin0, kat1258_addin1, kat1258_retbits +}; +static const struct drbg_kat kat1258 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1258_t +}; + +static const unsigned char kat1259_entropyin[] = { + 0x7f, 0x4f, 0xa1, 0xbf, 0xa3, 0xa0, 0x30, 0x1d, 0xab, 0x9c, 0x0d, 0x9d, + 0x93, 0xfa, 0x67, 0xe9, 0x6b, 0x76, 0x16, 0xf2, 0x83, 0x21, 0xb6, 0x81, + 0xeb, 0xe4, 0xea, 0x00, 0x2e, 0x88, 0xee, 0x58, 0xdc, 0xa7, 0x6d, 0xc5, + 0x5b, 0x23, 0x24, 0xed, 0x5b, 0xe7, 0x8c, 0xd3, 0x36, 0x3f, 0xe4, 0x47, +}; +static const unsigned char kat1259_nonce[] = {0}; +static const unsigned char kat1259_persstr[] = { + 0x8f, 0x68, 0x95, 0xf8, 0x1f, 0x28, 0x95, 0x4e, 0x4f, 0x40, 0x03, 0xb3, + 0x61, 0x88, 0x74, 0xfe, 0x7d, 0x49, 0x70, 0x9c, 0x43, 0x02, 0xa8, 0x67, + 0x8d, 0x29, 0xa6, 0x7e, 0xe5, 0xbe, 0xa6, 0xdf, 0x2c, 0x70, 0xbd, 0x93, + 0x84, 0x71, 0xbe, 0x77, 0x0c, 0x90, 0x1a, 0xdf, 0xc9, 0xf6, 0x90, 0x51, +}; +static const unsigned char kat1259_addin0[] = { + 0xcd, 0x7d, 0x83, 0xad, 0x85, 0xf2, 0x37, 0x94, 0x10, 0x82, 0x11, 0xb9, + 0xb0, 0xe6, 0x02, 0x98, 0xb8, 0x6b, 0x9a, 0x84, 0xa1, 0x11, 0x07, 0x73, + 0x71, 0xf0, 0x45, 0xf6, 0x69, 0x2f, 0xd0, 0xb7, 0xb9, 0x07, 0x21, 0x67, + 0xb4, 0x68, 0x62, 0xa8, 0x3f, 0x67, 0xad, 0x5d, 0x02, 0xfa, 0x39, 0x34, +}; +static const unsigned char kat1259_addin1[] = { + 0x7c, 0x64, 0x0a, 0xd1, 0xab, 0x50, 0x56, 0x0a, 0x33, 0xa8, 0x0f, 0xe6, + 0x12, 0xf3, 0xdc, 0x8b, 0xe1, 0x57, 0x0e, 0x5b, 0xe2, 0x69, 0x21, 0xd9, + 0x2e, 0xbf, 0xc7, 0x2c, 0x33, 0xed, 0x3e, 0x93, 0x9f, 0x12, 0x23, 0xc4, + 0x95, 0xeb, 0xe2, 0x78, 0xc0, 0x43, 0x63, 0xb7, 0x4f, 0xa7, 0x8d, 0xc8, +}; +static const unsigned char kat1259_retbits[] = { + 0x18, 0x1e, 0x2d, 0x61, 0xf8, 0xa6, 0x2d, 0xe8, 0x53, 0xc9, 0xd4, 0x05, + 0xfa, 0x79, 0x12, 0x3f, 0x26, 0xdb, 0xac, 0x74, 0xe5, 0x8a, 0x71, 0xd5, + 0x46, 0x48, 0x7e, 0x55, 0xee, 0x76, 0xe9, 0xe2, 0x6c, 0xd1, 0x82, 0xa7, + 0xac, 0x4f, 0x29, 0xdc, 0xe7, 0xaf, 0x7c, 0x39, 0x9a, 0x85, 0x5f, 0x37, + 0x5b, 0x6f, 0x61, 0x51, 0xc4, 0xc6, 0x8d, 0xf9, 0x2b, 0x7f, 0xc7, 0x3f, + 0x4f, 0x7c, 0x13, 0x4e, +}; +static const struct drbg_kat_no_reseed kat1259_t = { + 13, kat1259_entropyin, kat1259_nonce, kat1259_persstr, + kat1259_addin0, kat1259_addin1, kat1259_retbits +}; +static const struct drbg_kat kat1259 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1259_t +}; + +static const unsigned char kat1260_entropyin[] = { + 0x5c, 0x3f, 0x7f, 0x41, 0xe6, 0x87, 0x56, 0x83, 0xfb, 0x25, 0x51, 0x5a, + 0x08, 0x77, 0xf1, 0xc3, 0x85, 0xaf, 0xc1, 0x86, 0xd1, 0xc7, 0xe8, 0xdd, + 0x83, 0x80, 0x24, 0xf9, 0xb4, 0x7f, 0x8b, 0xcd, 0xda, 0x99, 0x44, 0x13, + 0x54, 0x99, 0x90, 0x7c, 0xed, 0x45, 0x83, 0x39, 0x76, 0x76, 0x78, 0x07, +}; +static const unsigned char kat1260_nonce[] = {0}; +static const unsigned char kat1260_persstr[] = { + 0x05, 0x5b, 0xa2, 0x9f, 0x50, 0xe5, 0x01, 0x35, 0xef, 0x62, 0x9d, 0x2a, + 0x9d, 0x35, 0x57, 0x29, 0x6a, 0x29, 0xa0, 0x7f, 0x8c, 0xe9, 0xc4, 0x91, + 0x3c, 0x2e, 0x55, 0x25, 0x18, 0x45, 0x9f, 0x9e, 0x46, 0x26, 0x01, 0xb4, + 0xfb, 0x90, 0x96, 0x40, 0xde, 0x1d, 0xd5, 0xcb, 0x22, 0x90, 0xf3, 0xe2, +}; +static const unsigned char kat1260_addin0[] = { + 0x78, 0x1c, 0x24, 0x41, 0x57, 0x7a, 0xc0, 0x5f, 0xc0, 0x69, 0xf0, 0xf9, + 0x88, 0xe1, 0x50, 0xd7, 0xe9, 0x83, 0xbb, 0xb4, 0x98, 0x10, 0xee, 0xac, + 0x8b, 0x5d, 0x98, 0xfc, 0x5d, 0xac, 0x18, 0x34, 0x46, 0x63, 0xe4, 0x6f, + 0xde, 0x48, 0xf7, 0xf2, 0xcc, 0xa0, 0x96, 0xfb, 0x2c, 0x9d, 0xb5, 0x7a, +}; +static const unsigned char kat1260_addin1[] = { + 0x75, 0x98, 0xea, 0xbe, 0xa8, 0xe5, 0x16, 0xeb, 0x2d, 0x11, 0x14, 0x41, + 0xe9, 0x4a, 0x98, 0xbb, 0x37, 0x91, 0x6f, 0x29, 0x1e, 0x31, 0x07, 0xdd, + 0x99, 0x1e, 0x77, 0x98, 0xed, 0x89, 0x6d, 0xc9, 0x9b, 0x1a, 0x40, 0x54, + 0x43, 0xf7, 0xc7, 0x81, 0xb9, 0x8a, 0xdc, 0x8b, 0xa9, 0x75, 0x06, 0x96, +}; +static const unsigned char kat1260_retbits[] = { + 0xea, 0xe9, 0x35, 0xbf, 0x9e, 0xa3, 0x17, 0x4c, 0x0d, 0x7d, 0xa0, 0x35, + 0x9c, 0x17, 0x5c, 0xc6, 0xbb, 0xb9, 0x1e, 0xcf, 0x93, 0x57, 0xe7, 0x74, + 0x80, 0x11, 0xfb, 0xa0, 0x2f, 0xd5, 0x22, 0x05, 0xdf, 0x0a, 0x87, 0xa4, + 0x4e, 0xb4, 0xcc, 0xb6, 0x01, 0x5b, 0x26, 0x6e, 0xd3, 0xbb, 0x9b, 0xe4, + 0xd0, 0xd4, 0x03, 0x83, 0x8b, 0xac, 0xd4, 0x27, 0x57, 0xcd, 0x34, 0x21, + 0x6d, 0x71, 0x98, 0x9f, +}; +static const struct drbg_kat_no_reseed kat1260_t = { + 14, kat1260_entropyin, kat1260_nonce, kat1260_persstr, + kat1260_addin0, kat1260_addin1, kat1260_retbits +}; +static const struct drbg_kat kat1260 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1260_t +}; + +static const unsigned char kat1261_entropyin[] = { + 0xfc, 0x7f, 0x26, 0x29, 0xc9, 0xd8, 0x86, 0x72, 0xf8, 0x12, 0x29, 0xbb, + 0xcc, 0x0c, 0x7e, 0x75, 0xc4, 0xb7, 0xd8, 0xe5, 0xd9, 0x38, 0x07, 0x02, + 0xea, 0x52, 0xdc, 0x49, 0x56, 0x00, 0xa5, 0x6e, 0x4a, 0xe5, 0xf0, 0xa5, + 0xc2, 0x5f, 0xb5, 0xd7, 0xe3, 0x1f, 0x5a, 0xef, 0x47, 0x12, 0xbc, 0x19, +}; +static const unsigned char kat1261_nonce[] = {0}; +static const unsigned char kat1261_persstr[] = {0}; +static const unsigned char kat1261_addin0[] = {0}; +static const unsigned char kat1261_addin1[] = {0}; +static const unsigned char kat1261_retbits[] = { + 0xc6, 0x77, 0x5c, 0x9c, 0x64, 0x13, 0x7c, 0x01, 0x84, 0x18, 0xc4, 0xf0, + 0x01, 0xd0, 0xe4, 0xd1, 0xf2, 0xdc, 0x44, 0x11, 0xd3, 0x79, 0xa6, 0x78, + 0xf1, 0xd7, 0x1e, 0xee, 0x0b, 0xdc, 0x28, 0xc6, 0x6e, 0xac, 0xbd, 0x38, + 0xf7, 0x6b, 0xe4, 0x5b, 0xf9, 0x92, 0xa7, 0x09, 0xaf, 0x14, 0xd1, 0x46, + 0xc3, 0x5f, 0x91, 0x70, 0x2d, 0x27, 0xa1, 0xf4, 0x17, 0x63, 0x32, 0xeb, + 0xd9, 0x03, 0xff, 0xf9, +}; +static const struct drbg_kat_no_reseed kat1261_t = { + 0, kat1261_entropyin, kat1261_nonce, kat1261_persstr, + kat1261_addin0, kat1261_addin1, kat1261_retbits +}; +static const struct drbg_kat kat1261 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1261_t +}; + +static const unsigned char kat1262_entropyin[] = { + 0xc3, 0x2c, 0xba, 0x5e, 0xe6, 0x42, 0x91, 0xed, 0x1d, 0x7d, 0xc5, 0x1f, + 0x8a, 0xd3, 0xad, 0x40, 0xae, 0x24, 0xc8, 0xfd, 0x2f, 0x78, 0x94, 0x35, + 0x93, 0xc8, 0xf0, 0xa0, 0xb5, 0xa5, 0x38, 0x07, 0x98, 0x24, 0x2e, 0xe8, + 0x8c, 0xee, 0xba, 0x0d, 0x87, 0x5b, 0x35, 0xa2, 0xd4, 0xfd, 0x8d, 0x19, +}; +static const unsigned char kat1262_nonce[] = {0}; +static const unsigned char kat1262_persstr[] = {0}; +static const unsigned char kat1262_addin0[] = {0}; +static const unsigned char kat1262_addin1[] = {0}; +static const unsigned char kat1262_retbits[] = { + 0x15, 0x73, 0x66, 0xfc, 0x87, 0x77, 0xf6, 0xf0, 0xb7, 0x6a, 0x12, 0xf7, + 0xbe, 0x0c, 0xf0, 0x59, 0x9c, 0x7a, 0x2a, 0x39, 0x9d, 0x54, 0xac, 0xba, + 0x60, 0x64, 0x26, 0x02, 0x6e, 0x1c, 0x0a, 0x11, 0xb4, 0x38, 0x01, 0xfa, + 0x9f, 0x0f, 0x47, 0x06, 0x48, 0xf7, 0xcd, 0x2f, 0x83, 0xd2, 0x58, 0xc7, + 0xed, 0x72, 0x34, 0xed, 0x3e, 0xe9, 0xc9, 0xf6, 0x1d, 0x93, 0xda, 0x57, + 0x8a, 0x07, 0x0a, 0x4b, +}; +static const struct drbg_kat_no_reseed kat1262_t = { + 1, kat1262_entropyin, kat1262_nonce, kat1262_persstr, + kat1262_addin0, kat1262_addin1, kat1262_retbits +}; +static const struct drbg_kat kat1262 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1262_t +}; + +static const unsigned char kat1263_entropyin[] = { + 0x87, 0x9e, 0x28, 0x6b, 0x7d, 0xe4, 0xf4, 0x89, 0x8a, 0x96, 0xd9, 0x99, + 0xd1, 0x8d, 0xba, 0x01, 0x55, 0x73, 0x8b, 0xa0, 0x6b, 0xa9, 0xd4, 0x4f, + 0x07, 0x55, 0x9a, 0x14, 0xcc, 0x4f, 0x98, 0x4b, 0x7d, 0x1e, 0x3e, 0x93, + 0xd6, 0x71, 0x54, 0xa4, 0x6b, 0xcf, 0x90, 0x8d, 0x7f, 0x79, 0xe3, 0xa9, +}; +static const unsigned char kat1263_nonce[] = {0}; +static const unsigned char kat1263_persstr[] = {0}; +static const unsigned char kat1263_addin0[] = {0}; +static const unsigned char kat1263_addin1[] = {0}; +static const unsigned char kat1263_retbits[] = { + 0xa0, 0x77, 0x46, 0x5e, 0x8c, 0x7c, 0x66, 0x52, 0x66, 0xfe, 0x64, 0x31, + 0x9c, 0x01, 0xdb, 0x66, 0x34, 0x74, 0xcb, 0x16, 0xb1, 0x61, 0xab, 0xcb, + 0x3d, 0xa6, 0x45, 0xf6, 0x2b, 0x46, 0x8f, 0x5e, 0x3b, 0xde, 0x2e, 0x35, + 0xd1, 0xca, 0xbc, 0xea, 0xdb, 0x80, 0x1a, 0x15, 0x1b, 0x91, 0xf5, 0xfb, + 0xc8, 0x4b, 0x10, 0x91, 0x73, 0x76, 0x5b, 0x17, 0x78, 0xfb, 0xe4, 0xbc, + 0x18, 0x79, 0x24, 0x2c, +}; +static const struct drbg_kat_no_reseed kat1263_t = { + 2, kat1263_entropyin, kat1263_nonce, kat1263_persstr, + kat1263_addin0, kat1263_addin1, kat1263_retbits +}; +static const struct drbg_kat kat1263 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1263_t +}; + +static const unsigned char kat1264_entropyin[] = { + 0xd2, 0xf9, 0x5e, 0x3a, 0x82, 0x41, 0xd5, 0x01, 0xf0, 0xfa, 0x38, 0xe8, + 0xdc, 0x32, 0xf1, 0x5c, 0x71, 0xf7, 0x75, 0x24, 0x6b, 0x05, 0x20, 0x97, + 0xfd, 0x02, 0xbe, 0xaf, 0xc8, 0x78, 0xce, 0x8b, 0x47, 0x87, 0xd7, 0x43, + 0x2c, 0x65, 0x4a, 0xdc, 0x97, 0x70, 0xa0, 0x3c, 0x6f, 0x6f, 0x1c, 0x3b, +}; +static const unsigned char kat1264_nonce[] = {0}; +static const unsigned char kat1264_persstr[] = {0}; +static const unsigned char kat1264_addin0[] = {0}; +static const unsigned char kat1264_addin1[] = {0}; +static const unsigned char kat1264_retbits[] = { + 0x73, 0x3d, 0x5b, 0xbc, 0x54, 0xfa, 0xd3, 0x27, 0x11, 0x0a, 0xea, 0x87, + 0xb9, 0x23, 0xdb, 0x0e, 0x36, 0x59, 0xc0, 0x76, 0xdf, 0x36, 0xa6, 0x63, + 0x73, 0xd6, 0xe4, 0xe7, 0x1b, 0xa0, 0x1e, 0xe6, 0x82, 0xab, 0x4a, 0x87, + 0xe9, 0x10, 0x3c, 0x78, 0xe4, 0xba, 0x76, 0x89, 0xd3, 0x53, 0xc7, 0x72, + 0x54, 0x82, 0xf2, 0x9e, 0xd2, 0x11, 0xf1, 0x05, 0xbd, 0xa9, 0xcd, 0xc3, + 0xd1, 0x9d, 0xbc, 0x7b, +}; +static const struct drbg_kat_no_reseed kat1264_t = { + 3, kat1264_entropyin, kat1264_nonce, kat1264_persstr, + kat1264_addin0, kat1264_addin1, kat1264_retbits +}; +static const struct drbg_kat kat1264 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1264_t +}; + +static const unsigned char kat1265_entropyin[] = { + 0x08, 0xc6, 0xfb, 0x63, 0x3a, 0x9c, 0x44, 0xf5, 0xb3, 0xb8, 0x78, 0x33, + 0x94, 0x0a, 0xc0, 0xeb, 0xc3, 0x4c, 0x63, 0xc3, 0xbc, 0xef, 0x7e, 0x60, + 0x0a, 0x09, 0xb5, 0x3b, 0x47, 0x9c, 0x1c, 0xa9, 0xff, 0xd1, 0x4c, 0xda, + 0x6b, 0x62, 0x53, 0xfe, 0x97, 0x43, 0x07, 0x81, 0xd3, 0x0f, 0x6d, 0xb0, +}; +static const unsigned char kat1265_nonce[] = {0}; +static const unsigned char kat1265_persstr[] = {0}; +static const unsigned char kat1265_addin0[] = {0}; +static const unsigned char kat1265_addin1[] = {0}; +static const unsigned char kat1265_retbits[] = { + 0xbf, 0xb9, 0x60, 0xbe, 0x98, 0xac, 0x12, 0xdf, 0xcc, 0x9f, 0xe4, 0x54, + 0xe4, 0x6b, 0x8c, 0x02, 0x31, 0x17, 0x1b, 0xcd, 0x20, 0xeb, 0x52, 0xfe, + 0x86, 0xe4, 0x50, 0x64, 0x92, 0x46, 0xd2, 0xb4, 0x2c, 0x8f, 0x90, 0x18, + 0x40, 0x7a, 0x23, 0x24, 0x88, 0xd1, 0x64, 0x47, 0x3c, 0x20, 0x2f, 0xcb, + 0x2d, 0xa6, 0xfd, 0x20, 0x7f, 0xdc, 0x7a, 0xf9, 0x27, 0xcb, 0x03, 0x72, + 0x24, 0x2b, 0x03, 0xcb, +}; +static const struct drbg_kat_no_reseed kat1265_t = { + 4, kat1265_entropyin, kat1265_nonce, kat1265_persstr, + kat1265_addin0, kat1265_addin1, kat1265_retbits +}; +static const struct drbg_kat kat1265 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1265_t +}; + +static const unsigned char kat1266_entropyin[] = { + 0x88, 0xee, 0xe4, 0x06, 0x79, 0xe4, 0x65, 0xdf, 0xf3, 0x84, 0x1a, 0x2f, + 0x0d, 0x22, 0x49, 0xd7, 0x50, 0x8b, 0x1e, 0xb2, 0xe3, 0x00, 0x9f, 0x93, + 0xb9, 0x2b, 0x62, 0x8b, 0xec, 0x52, 0xe9, 0xba, 0xa9, 0x22, 0xb6, 0x0e, + 0xef, 0x9d, 0x26, 0xa4, 0x8b, 0x33, 0x63, 0x70, 0x10, 0xf5, 0xa7, 0x62, +}; +static const unsigned char kat1266_nonce[] = {0}; +static const unsigned char kat1266_persstr[] = {0}; +static const unsigned char kat1266_addin0[] = {0}; +static const unsigned char kat1266_addin1[] = {0}; +static const unsigned char kat1266_retbits[] = { + 0x0d, 0xad, 0x2a, 0x6b, 0x43, 0x80, 0x75, 0xc4, 0xb2, 0xdc, 0x6a, 0x2b, + 0xa7, 0xbc, 0x31, 0xfd, 0x54, 0x33, 0x72, 0xd9, 0x7b, 0xd4, 0x09, 0xba, + 0x38, 0x1d, 0x48, 0x1c, 0xce, 0xee, 0x4e, 0x81, 0xf6, 0x98, 0xbb, 0x87, + 0x30, 0x12, 0x3b, 0x54, 0xca, 0x5c, 0xea, 0xd0, 0x22, 0x68, 0x83, 0x7b, + 0xb3, 0xb3, 0x98, 0x79, 0xd9, 0xce, 0x14, 0x71, 0xac, 0x0f, 0xfc, 0x33, + 0xc4, 0xd4, 0xf8, 0xf5, +}; +static const struct drbg_kat_no_reseed kat1266_t = { + 5, kat1266_entropyin, kat1266_nonce, kat1266_persstr, + kat1266_addin0, kat1266_addin1, kat1266_retbits +}; +static const struct drbg_kat kat1266 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1266_t +}; + +static const unsigned char kat1267_entropyin[] = { + 0x6a, 0xf8, 0xa2, 0xd4, 0x82, 0x13, 0x94, 0x98, 0xf9, 0x53, 0x5d, 0xd3, + 0x28, 0x75, 0xac, 0x4a, 0x11, 0x11, 0xf2, 0x4c, 0x99, 0x23, 0x3b, 0x0e, + 0x0a, 0xa0, 0xd6, 0xc2, 0x80, 0x32, 0x9b, 0x5d, 0xa4, 0x2d, 0x81, 0xee, + 0xf5, 0x4d, 0x71, 0x6e, 0xb2, 0x95, 0xf9, 0x71, 0x89, 0x30, 0x4e, 0x9e, +}; +static const unsigned char kat1267_nonce[] = {0}; +static const unsigned char kat1267_persstr[] = {0}; +static const unsigned char kat1267_addin0[] = {0}; +static const unsigned char kat1267_addin1[] = {0}; +static const unsigned char kat1267_retbits[] = { + 0x5a, 0x41, 0xdd, 0x0e, 0xba, 0x5e, 0x6c, 0x37, 0xb4, 0x05, 0x0c, 0x3f, + 0x8f, 0x93, 0x6a, 0x32, 0x02, 0xe3, 0x3c, 0x3e, 0x4e, 0xf9, 0xdf, 0x75, + 0x49, 0xbc, 0xf4, 0x11, 0x20, 0x4b, 0x4a, 0x81, 0x43, 0x97, 0x9b, 0xc9, + 0xf9, 0xca, 0x7e, 0xfe, 0xaf, 0xa4, 0xfe, 0xb2, 0x1f, 0xec, 0xaa, 0xe0, + 0x4c, 0x85, 0xc0, 0xc7, 0x75, 0x7c, 0xc6, 0x67, 0x6f, 0x78, 0xff, 0xf1, + 0x42, 0x67, 0xe7, 0x26, +}; +static const struct drbg_kat_no_reseed kat1267_t = { + 6, kat1267_entropyin, kat1267_nonce, kat1267_persstr, + kat1267_addin0, kat1267_addin1, kat1267_retbits +}; +static const struct drbg_kat kat1267 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1267_t +}; + +static const unsigned char kat1268_entropyin[] = { + 0xcb, 0xbf, 0xf5, 0x7b, 0xf9, 0x8a, 0x6c, 0xd4, 0x28, 0xcb, 0xd6, 0x61, + 0x0d, 0x54, 0x3b, 0xe6, 0x78, 0x16, 0x80, 0xea, 0x29, 0x19, 0xca, 0x90, + 0xfc, 0x78, 0xe7, 0x4d, 0x29, 0x93, 0x99, 0x31, 0x9d, 0xff, 0x36, 0x64, + 0x7b, 0x4a, 0x6a, 0x4a, 0x82, 0x09, 0xbe, 0x1f, 0x78, 0x3f, 0xc1, 0x9d, +}; +static const unsigned char kat1268_nonce[] = {0}; +static const unsigned char kat1268_persstr[] = {0}; +static const unsigned char kat1268_addin0[] = {0}; +static const unsigned char kat1268_addin1[] = {0}; +static const unsigned char kat1268_retbits[] = { + 0x5e, 0x2e, 0x2f, 0xd2, 0xe6, 0xfa, 0x9a, 0x72, 0x73, 0xa6, 0xc3, 0x5e, + 0x12, 0x02, 0x7a, 0x8c, 0xa6, 0x7f, 0xd9, 0x1f, 0xd4, 0xa0, 0x35, 0x2a, + 0x05, 0xbc, 0xfe, 0x70, 0x8f, 0x56, 0xd6, 0x0f, 0x2c, 0x94, 0x4b, 0x69, + 0xa1, 0x08, 0xeb, 0x21, 0x98, 0xd3, 0x6f, 0xd6, 0xfd, 0x05, 0xec, 0x13, + 0x14, 0xb4, 0x06, 0x0e, 0x1a, 0x5b, 0x52, 0x96, 0x12, 0x87, 0xa5, 0xaf, + 0x0a, 0x08, 0x10, 0xec, +}; +static const struct drbg_kat_no_reseed kat1268_t = { + 7, kat1268_entropyin, kat1268_nonce, kat1268_persstr, + kat1268_addin0, kat1268_addin1, kat1268_retbits +}; +static const struct drbg_kat kat1268 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1268_t +}; + +static const unsigned char kat1269_entropyin[] = { + 0x06, 0xb4, 0xc6, 0x06, 0x00, 0x9b, 0xf1, 0x1d, 0xd4, 0xb8, 0x6f, 0xed, + 0x54, 0x4f, 0x67, 0x2c, 0x12, 0xee, 0x0d, 0x1a, 0xb7, 0xd9, 0x99, 0xf4, + 0x92, 0xa7, 0xc1, 0x37, 0x86, 0x0f, 0x28, 0x02, 0x6a, 0xb9, 0x9e, 0x1f, + 0x19, 0xc8, 0xaa, 0x4f, 0xaa, 0xed, 0x86, 0x10, 0xa2, 0xd8, 0x9b, 0xf5, +}; +static const unsigned char kat1269_nonce[] = {0}; +static const unsigned char kat1269_persstr[] = {0}; +static const unsigned char kat1269_addin0[] = {0}; +static const unsigned char kat1269_addin1[] = {0}; +static const unsigned char kat1269_retbits[] = { + 0x11, 0x8f, 0xc4, 0xbb, 0xeb, 0x0e, 0x58, 0x92, 0x03, 0xc5, 0x68, 0xca, + 0x65, 0xf5, 0x36, 0xa8, 0x98, 0x88, 0xb2, 0xfa, 0x6a, 0x9a, 0x2d, 0xe6, + 0x12, 0x12, 0xb0, 0xa1, 0x1d, 0x06, 0x55, 0xea, 0xd9, 0x4c, 0xfc, 0x30, + 0x93, 0x66, 0x56, 0x11, 0x7a, 0xf2, 0xfe, 0xeb, 0xe5, 0xdd, 0x07, 0xf1, + 0x9e, 0xe1, 0x6a, 0xd0, 0x5a, 0x7b, 0x4c, 0xae, 0x06, 0xb4, 0x4e, 0x5e, + 0xc2, 0x2d, 0x63, 0x97, +}; +static const struct drbg_kat_no_reseed kat1269_t = { + 8, kat1269_entropyin, kat1269_nonce, kat1269_persstr, + kat1269_addin0, kat1269_addin1, kat1269_retbits +}; +static const struct drbg_kat kat1269 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1269_t +}; + +static const unsigned char kat1270_entropyin[] = { + 0x30, 0xdc, 0xe1, 0x11, 0x2c, 0x85, 0x90, 0xe2, 0x25, 0x14, 0xe6, 0xcf, + 0x57, 0x03, 0x04, 0xbd, 0x40, 0xc9, 0x62, 0xf3, 0x68, 0x40, 0xb5, 0x29, + 0x13, 0x45, 0x47, 0x66, 0xdf, 0x4d, 0x0d, 0x74, 0x56, 0x00, 0xd6, 0x52, + 0x00, 0x5f, 0xfb, 0x25, 0x76, 0x05, 0x69, 0x97, 0x3f, 0x2f, 0xce, 0x28, +}; +static const unsigned char kat1270_nonce[] = {0}; +static const unsigned char kat1270_persstr[] = {0}; +static const unsigned char kat1270_addin0[] = {0}; +static const unsigned char kat1270_addin1[] = {0}; +static const unsigned char kat1270_retbits[] = { + 0x75, 0x79, 0x4c, 0x59, 0xa4, 0x79, 0x01, 0x9c, 0x0c, 0x66, 0xa4, 0x26, + 0xb5, 0x5a, 0x73, 0x50, 0x17, 0x32, 0xd5, 0x3a, 0x1f, 0x58, 0xc9, 0x06, + 0xc8, 0x77, 0xa7, 0x33, 0x49, 0xbe, 0x25, 0x2b, 0xb9, 0x91, 0xc4, 0xd1, + 0x13, 0xf2, 0xf4, 0x4f, 0x41, 0x21, 0xde, 0xe9, 0x0d, 0x72, 0xc2, 0x88, + 0x7e, 0x49, 0x19, 0x6a, 0x06, 0x10, 0x10, 0x88, 0x18, 0x55, 0xb6, 0xcc, + 0x09, 0x2d, 0xe8, 0x97, +}; +static const struct drbg_kat_no_reseed kat1270_t = { + 9, kat1270_entropyin, kat1270_nonce, kat1270_persstr, + kat1270_addin0, kat1270_addin1, kat1270_retbits +}; +static const struct drbg_kat kat1270 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1270_t +}; + +static const unsigned char kat1271_entropyin[] = { + 0x80, 0xcf, 0x2e, 0xcf, 0x96, 0xd1, 0x80, 0xd6, 0xa5, 0x5c, 0xff, 0x12, + 0xd3, 0x35, 0xb5, 0x52, 0x4f, 0x08, 0xe0, 0x64, 0x85, 0x49, 0x5a, 0x21, + 0xee, 0xcd, 0x74, 0xb6, 0xc2, 0x07, 0xb0, 0x86, 0xc7, 0xce, 0xda, 0x69, + 0x3e, 0x28, 0xfe, 0x40, 0xd1, 0xc7, 0xc0, 0xb7, 0xed, 0x5e, 0xc2, 0x1c, +}; +static const unsigned char kat1271_nonce[] = {0}; +static const unsigned char kat1271_persstr[] = {0}; +static const unsigned char kat1271_addin0[] = {0}; +static const unsigned char kat1271_addin1[] = {0}; +static const unsigned char kat1271_retbits[] = { + 0x3b, 0xa3, 0x73, 0xb5, 0xd7, 0x27, 0xce, 0xb0, 0x89, 0x0a, 0xbd, 0x97, + 0x07, 0x3a, 0x4f, 0x5b, 0x49, 0xef, 0xe1, 0x42, 0x64, 0x83, 0x6c, 0xef, + 0x68, 0xe2, 0x98, 0x4e, 0x23, 0x9d, 0x3d, 0x29, 0x2a, 0xaf, 0x4b, 0x1a, + 0x28, 0xc9, 0x09, 0x22, 0x55, 0x4e, 0xc1, 0x7b, 0x6f, 0xb3, 0x2f, 0x92, + 0xf8, 0xc5, 0x2c, 0x15, 0x2f, 0x98, 0x04, 0x9a, 0x7e, 0x80, 0x4d, 0x44, + 0x51, 0xa6, 0x84, 0x1d, +}; +static const struct drbg_kat_no_reseed kat1271_t = { + 10, kat1271_entropyin, kat1271_nonce, kat1271_persstr, + kat1271_addin0, kat1271_addin1, kat1271_retbits +}; +static const struct drbg_kat kat1271 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1271_t +}; + +static const unsigned char kat1272_entropyin[] = { + 0x1c, 0x77, 0xe9, 0xb3, 0x97, 0x29, 0x09, 0xa4, 0x0e, 0x22, 0x25, 0x3a, + 0x4a, 0x8b, 0xcc, 0x25, 0xf0, 0xb5, 0xf1, 0x4b, 0x45, 0xef, 0xc1, 0x0c, + 0x7c, 0x0e, 0xf7, 0xd9, 0x74, 0x94, 0xf0, 0xc2, 0x5e, 0x0b, 0xa9, 0x6e, + 0x0a, 0x65, 0xdf, 0x07, 0x22, 0x9c, 0xf2, 0xfb, 0x41, 0xa9, 0xab, 0x72, +}; +static const unsigned char kat1272_nonce[] = {0}; +static const unsigned char kat1272_persstr[] = {0}; +static const unsigned char kat1272_addin0[] = {0}; +static const unsigned char kat1272_addin1[] = {0}; +static const unsigned char kat1272_retbits[] = { + 0x09, 0xe7, 0x4c, 0x99, 0x83, 0x95, 0x54, 0xbe, 0x80, 0x0a, 0x3e, 0xbb, + 0xff, 0x12, 0xdc, 0x6b, 0xe1, 0x5c, 0xce, 0x42, 0x5d, 0x72, 0x05, 0x52, + 0x38, 0xed, 0x94, 0xc3, 0xac, 0xc0, 0xaf, 0xc1, 0x67, 0x4a, 0x3b, 0x29, + 0x50, 0x65, 0xd2, 0x9c, 0xff, 0x73, 0xc8, 0xd1, 0x8c, 0x9d, 0x9e, 0x7c, + 0x2f, 0xfe, 0x36, 0xcd, 0xed, 0xe7, 0x18, 0x42, 0x6d, 0x4c, 0xad, 0xe0, + 0x01, 0x58, 0x40, 0xff, +}; +static const struct drbg_kat_no_reseed kat1272_t = { + 11, kat1272_entropyin, kat1272_nonce, kat1272_persstr, + kat1272_addin0, kat1272_addin1, kat1272_retbits +}; +static const struct drbg_kat kat1272 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1272_t +}; + +static const unsigned char kat1273_entropyin[] = { + 0x1d, 0x43, 0xb8, 0x2a, 0x55, 0x45, 0xf9, 0xa2, 0x37, 0x8f, 0xed, 0xb8, + 0x6b, 0x53, 0x0f, 0xd2, 0xfa, 0xdb, 0xf9, 0x7f, 0x2b, 0xc0, 0x2f, 0x87, + 0x7d, 0x1a, 0xfb, 0xa7, 0xe4, 0xbb, 0x8c, 0x0c, 0x29, 0xd4, 0x34, 0xfd, + 0x56, 0x5c, 0x8d, 0x1a, 0x26, 0x2b, 0xb8, 0x69, 0x4d, 0xa1, 0x9a, 0x64, +}; +static const unsigned char kat1273_nonce[] = {0}; +static const unsigned char kat1273_persstr[] = {0}; +static const unsigned char kat1273_addin0[] = {0}; +static const unsigned char kat1273_addin1[] = {0}; +static const unsigned char kat1273_retbits[] = { + 0x29, 0x53, 0x1c, 0xe7, 0x7a, 0x4f, 0x47, 0xb7, 0xda, 0x26, 0xad, 0x6f, + 0xbc, 0xb0, 0x99, 0x5b, 0xb3, 0x3a, 0x0f, 0x70, 0x2c, 0xcb, 0x7c, 0x5b, + 0x09, 0x1b, 0x1e, 0xb6, 0x56, 0x2a, 0x7f, 0xf3, 0xc8, 0xa4, 0xaa, 0xe7, + 0x3b, 0xdb, 0x24, 0x7b, 0xf3, 0x27, 0xc7, 0x1f, 0x16, 0xe5, 0xbf, 0xff, + 0xd8, 0x27, 0x58, 0xcf, 0x0b, 0x82, 0xcc, 0x58, 0x96, 0x01, 0x7a, 0xb8, + 0x51, 0xab, 0x52, 0xb0, +}; +static const struct drbg_kat_no_reseed kat1273_t = { + 12, kat1273_entropyin, kat1273_nonce, kat1273_persstr, + kat1273_addin0, kat1273_addin1, kat1273_retbits +}; +static const struct drbg_kat kat1273 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1273_t +}; + +static const unsigned char kat1274_entropyin[] = { + 0x37, 0x5d, 0xec, 0x29, 0xf8, 0xa6, 0xff, 0xbe, 0xb7, 0x1c, 0xbe, 0x3a, + 0x2a, 0x37, 0x79, 0xa3, 0x71, 0x49, 0x63, 0x90, 0xd4, 0xcd, 0x5d, 0xf1, + 0xdf, 0x87, 0x2b, 0x63, 0x2f, 0x14, 0xa9, 0x1e, 0xac, 0xf8, 0xda, 0x77, + 0xf6, 0x24, 0xed, 0x03, 0x23, 0xc8, 0x03, 0x88, 0x6c, 0xa8, 0xda, 0x09, +}; +static const unsigned char kat1274_nonce[] = {0}; +static const unsigned char kat1274_persstr[] = {0}; +static const unsigned char kat1274_addin0[] = {0}; +static const unsigned char kat1274_addin1[] = {0}; +static const unsigned char kat1274_retbits[] = { + 0xd3, 0x9c, 0xb6, 0x6a, 0xe6, 0x42, 0x19, 0xa8, 0xde, 0x99, 0xb4, 0xf6, + 0x3d, 0xaa, 0x85, 0x36, 0xde, 0xfe, 0xaa, 0x53, 0xa0, 0x55, 0xa6, 0x6e, + 0xc3, 0xde, 0x18, 0xc4, 0x16, 0x73, 0xfc, 0x92, 0x6b, 0x1a, 0x24, 0x6c, + 0x78, 0x42, 0x61, 0xf0, 0x2b, 0x22, 0x48, 0x68, 0x87, 0x85, 0x8c, 0xa1, + 0xdf, 0x59, 0x3b, 0x4e, 0xa4, 0x33, 0xf6, 0x5d, 0x0b, 0x5b, 0xb8, 0x52, + 0x87, 0xde, 0xe8, 0xb5, +}; +static const struct drbg_kat_no_reseed kat1274_t = { + 13, kat1274_entropyin, kat1274_nonce, kat1274_persstr, + kat1274_addin0, kat1274_addin1, kat1274_retbits +}; +static const struct drbg_kat kat1274 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1274_t +}; + +static const unsigned char kat1275_entropyin[] = { + 0x10, 0x0e, 0x17, 0x65, 0x74, 0xbd, 0x55, 0x43, 0x84, 0x77, 0xf0, 0x15, + 0x3e, 0xd0, 0x4b, 0x6c, 0xf2, 0x21, 0xbf, 0x6c, 0x1f, 0xcd, 0x71, 0x41, + 0xab, 0xa1, 0x0c, 0x80, 0xd7, 0x1e, 0xb2, 0xe1, 0x6b, 0xc8, 0x21, 0x3a, + 0xed, 0x68, 0x9f, 0x44, 0xef, 0x57, 0x80, 0x73, 0x34, 0xdc, 0x3d, 0x12, +}; +static const unsigned char kat1275_nonce[] = {0}; +static const unsigned char kat1275_persstr[] = {0}; +static const unsigned char kat1275_addin0[] = {0}; +static const unsigned char kat1275_addin1[] = {0}; +static const unsigned char kat1275_retbits[] = { + 0xb4, 0x31, 0x5c, 0xc4, 0x47, 0x0d, 0x4c, 0x50, 0xa1, 0x58, 0x36, 0xf2, + 0x18, 0xb2, 0x1c, 0x96, 0x66, 0x8d, 0x32, 0xea, 0xfc, 0x16, 0x49, 0xcf, + 0x6c, 0x92, 0xb9, 0x6f, 0x07, 0x16, 0xaa, 0x54, 0x58, 0x2a, 0x31, 0xa1, + 0xc5, 0xf5, 0x97, 0xb8, 0x0f, 0x62, 0x10, 0x26, 0x22, 0x36, 0x9e, 0x42, + 0x2d, 0x98, 0xc3, 0x4d, 0x14, 0x98, 0xcb, 0x9b, 0xc0, 0x1d, 0x41, 0x8a, + 0x4d, 0x23, 0x20, 0x74, +}; +static const struct drbg_kat_no_reseed kat1275_t = { + 14, kat1275_entropyin, kat1275_nonce, kat1275_persstr, + kat1275_addin0, kat1275_addin1, kat1275_retbits +}; +static const struct drbg_kat kat1275 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1275_t +}; + +static const unsigned char kat1276_entropyin[] = { + 0xe9, 0xcd, 0xe3, 0xf9, 0xce, 0x03, 0x66, 0xde, 0xb1, 0x61, 0xc4, 0x0b, + 0x16, 0x21, 0x64, 0x1e, 0x58, 0x3b, 0xb5, 0x51, 0x14, 0xd9, 0x12, 0xc4, + 0x0b, 0x7a, 0x7e, 0x7e, 0x2e, 0xa5, 0x3e, 0x50, 0x66, 0x5c, 0xa1, 0x33, + 0xa5, 0x0e, 0x93, 0x4c, 0xc1, 0xb4, 0xdb, 0xbf, 0x89, 0xc0, 0x72, 0xe0, +}; +static const unsigned char kat1276_nonce[] = {0}; +static const unsigned char kat1276_persstr[] = {0}; +static const unsigned char kat1276_addin0[] = { + 0xbe, 0x3d, 0xfb, 0xe5, 0xc9, 0x07, 0x9f, 0x16, 0x1b, 0x21, 0xb7, 0xa0, + 0x78, 0x1b, 0x60, 0x73, 0x63, 0xa6, 0x53, 0x35, 0x0a, 0xf6, 0x8d, 0x82, + 0xe2, 0x1c, 0xe1, 0x49, 0xc2, 0xfc, 0x3b, 0x98, 0xca, 0xc3, 0x9e, 0x72, + 0x75, 0x1a, 0x61, 0xda, 0x13, 0xa0, 0x61, 0x6e, 0x31, 0x11, 0x8e, 0x96, +}; +static const unsigned char kat1276_addin1[] = { + 0x7e, 0x16, 0x27, 0xe9, 0x8f, 0xaa, 0x46, 0x2e, 0xf6, 0x31, 0x4d, 0x45, + 0xa2, 0x31, 0xb7, 0xf1, 0xa1, 0x4a, 0x54, 0xce, 0x86, 0x15, 0x50, 0x0d, + 0x14, 0x44, 0x74, 0xa9, 0x2d, 0x25, 0x9f, 0xcc, 0x23, 0x0f, 0xfb, 0x90, + 0x98, 0x53, 0xc1, 0x68, 0xbd, 0x93, 0x53, 0x16, 0x31, 0xde, 0x25, 0xd1, +}; +static const unsigned char kat1276_retbits[] = { + 0x2f, 0x26, 0x5f, 0xbe, 0x14, 0x62, 0x01, 0x48, 0x43, 0xa1, 0x65, 0x48, + 0xe1, 0x72, 0x46, 0x40, 0x60, 0xc4, 0x15, 0x91, 0xb9, 0xad, 0xf1, 0xb7, + 0x6a, 0x79, 0xae, 0x51, 0xc9, 0xa4, 0x52, 0x23, 0xe6, 0xef, 0x39, 0xa1, + 0xec, 0xa2, 0x61, 0x3c, 0xe9, 0xd6, 0x82, 0x54, 0x5d, 0x96, 0x7d, 0x88, + 0xb3, 0x48, 0x08, 0xeb, 0x4d, 0x9a, 0x8e, 0x42, 0xcf, 0xed, 0x82, 0xea, + 0xfc, 0x33, 0x4d, 0x62, +}; +static const struct drbg_kat_no_reseed kat1276_t = { + 0, kat1276_entropyin, kat1276_nonce, kat1276_persstr, + kat1276_addin0, kat1276_addin1, kat1276_retbits +}; +static const struct drbg_kat kat1276 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1276_t +}; + +static const unsigned char kat1277_entropyin[] = { + 0x06, 0xce, 0x94, 0x61, 0xe3, 0xce, 0xfc, 0xda, 0x7a, 0x9d, 0xa3, 0xc0, + 0xf0, 0x40, 0xba, 0xc0, 0x82, 0x57, 0xdd, 0x41, 0x35, 0x84, 0x8a, 0x0a, + 0xa0, 0x52, 0xf6, 0x27, 0x6a, 0x3e, 0x18, 0xf0, 0xca, 0x88, 0x17, 0x07, + 0x0a, 0x63, 0xcc, 0xf2, 0xd9, 0xbf, 0xc1, 0x56, 0x5c, 0x99, 0xfb, 0x10, +}; +static const unsigned char kat1277_nonce[] = {0}; +static const unsigned char kat1277_persstr[] = {0}; +static const unsigned char kat1277_addin0[] = { + 0xfd, 0xf8, 0x95, 0xd5, 0x06, 0x96, 0x66, 0x21, 0xa0, 0x1e, 0x96, 0x72, + 0x0f, 0x9e, 0x21, 0xb7, 0xea, 0xc2, 0x75, 0x8f, 0x06, 0x87, 0x28, 0x39, + 0x36, 0x6d, 0x97, 0xfa, 0xe1, 0xcd, 0xfb, 0x4d, 0x01, 0x90, 0x21, 0x28, + 0xfe, 0x8c, 0x61, 0x8e, 0x9c, 0x72, 0x74, 0xcb, 0x5c, 0x47, 0xed, 0x54, +}; +static const unsigned char kat1277_addin1[] = { + 0x79, 0x7d, 0x1d, 0x08, 0xca, 0xc4, 0xb4, 0xd1, 0x0a, 0x99, 0x90, 0x16, + 0xc8, 0xb1, 0x48, 0xc5, 0x8b, 0x1d, 0xac, 0xca, 0x0a, 0x8e, 0x21, 0x11, + 0xa7, 0xee, 0x5a, 0xc2, 0xd1, 0x12, 0x56, 0x20, 0xf6, 0x0e, 0xe5, 0x5a, + 0xf0, 0x9b, 0x92, 0x0e, 0x87, 0x16, 0xfe, 0xef, 0x7c, 0x05, 0x72, 0x85, +}; +static const unsigned char kat1277_retbits[] = { + 0xfd, 0x10, 0xda, 0x70, 0x96, 0xbb, 0x83, 0x1e, 0x96, 0x8a, 0x5d, 0xd4, + 0xb5, 0x51, 0xda, 0x38, 0x74, 0x05, 0xc3, 0xfc, 0xb9, 0xa3, 0x29, 0x8c, + 0x62, 0x66, 0x44, 0xb6, 0x6c, 0x19, 0xfc, 0x6d, 0xe8, 0x60, 0x8c, 0x81, + 0xa7, 0xf7, 0x99, 0x71, 0xda, 0x39, 0x03, 0x02, 0xb2, 0x1f, 0x34, 0xc9, + 0xcd, 0x3a, 0xde, 0xed, 0xe8, 0x71, 0x46, 0x9a, 0x4a, 0xa5, 0x57, 0xa4, + 0xed, 0xa5, 0x4e, 0x74, +}; +static const struct drbg_kat_no_reseed kat1277_t = { + 1, kat1277_entropyin, kat1277_nonce, kat1277_persstr, + kat1277_addin0, kat1277_addin1, kat1277_retbits +}; +static const struct drbg_kat kat1277 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1277_t +}; + +static const unsigned char kat1278_entropyin[] = { + 0x96, 0x19, 0xf3, 0xe7, 0x03, 0x8d, 0xec, 0x4e, 0xd5, 0x62, 0x27, 0xa1, + 0x79, 0xd9, 0xb2, 0x40, 0x02, 0x67, 0x8c, 0x16, 0x7e, 0x81, 0x55, 0x37, + 0xc4, 0xef, 0xd5, 0x01, 0xea, 0xf6, 0xda, 0x93, 0x2d, 0x77, 0x20, 0x66, + 0xe2, 0xc1, 0xea, 0x7b, 0xd0, 0x66, 0x16, 0x9b, 0x40, 0xb7, 0x37, 0x87, +}; +static const unsigned char kat1278_nonce[] = {0}; +static const unsigned char kat1278_persstr[] = {0}; +static const unsigned char kat1278_addin0[] = { + 0x93, 0xeb, 0x47, 0x15, 0xf8, 0x74, 0xc3, 0xf4, 0x48, 0x32, 0x36, 0xb1, + 0x78, 0x5d, 0x6b, 0xa9, 0x0a, 0xdb, 0x25, 0xde, 0xd4, 0xfa, 0xcd, 0xa2, + 0x42, 0x56, 0xd7, 0xdb, 0x45, 0x02, 0x12, 0x6e, 0x00, 0xbf, 0xd0, 0x11, + 0x9d, 0xde, 0x79, 0x7f, 0x1d, 0xb8, 0x75, 0x50, 0xd0, 0xe5, 0x8e, 0xf2, +}; +static const unsigned char kat1278_addin1[] = { + 0x39, 0xd0, 0x52, 0x3e, 0x8a, 0xea, 0x73, 0xcb, 0x05, 0x84, 0xd9, 0xc3, + 0xab, 0x11, 0xf7, 0x95, 0x3f, 0xd1, 0x5d, 0x4e, 0xa9, 0x53, 0xc6, 0xf7, + 0x92, 0x4a, 0x8f, 0x98, 0x9f, 0x28, 0x5c, 0x51, 0x62, 0xbc, 0x50, 0xab, + 0xc0, 0xfa, 0x29, 0xd2, 0xce, 0x70, 0x02, 0xee, 0x4f, 0x6a, 0x3b, 0x16, +}; +static const unsigned char kat1278_retbits[] = { + 0xb3, 0xff, 0xe4, 0xf6, 0x0a, 0xcd, 0x48, 0x4e, 0xf3, 0x31, 0x90, 0x1d, + 0x93, 0x20, 0xe4, 0x97, 0x48, 0x63, 0x22, 0x55, 0x7c, 0x0d, 0x2f, 0x05, + 0x88, 0xb9, 0xbe, 0xcf, 0xa9, 0x7d, 0x4e, 0x36, 0xae, 0xd9, 0x1b, 0xe3, + 0xa4, 0xba, 0x90, 0x0f, 0xfb, 0x12, 0x6f, 0x52, 0xb5, 0x12, 0xca, 0x3b, + 0x3b, 0x15, 0xd6, 0x0c, 0x1d, 0xb4, 0x43, 0xc8, 0x4b, 0xf1, 0x3a, 0x9c, + 0x9e, 0x9c, 0x3d, 0xd3, +}; +static const struct drbg_kat_no_reseed kat1278_t = { + 2, kat1278_entropyin, kat1278_nonce, kat1278_persstr, + kat1278_addin0, kat1278_addin1, kat1278_retbits +}; +static const struct drbg_kat kat1278 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1278_t +}; + +static const unsigned char kat1279_entropyin[] = { + 0xf9, 0xf4, 0x15, 0x1b, 0xc7, 0xc9, 0x01, 0x72, 0x6b, 0x44, 0x04, 0x40, + 0x72, 0xb0, 0x1d, 0x79, 0x18, 0x2d, 0xc5, 0xa1, 0x90, 0xe9, 0x74, 0x4b, + 0x2e, 0xf8, 0x22, 0xe8, 0x0b, 0x8c, 0xbb, 0xd1, 0xeb, 0x18, 0x14, 0xbb, + 0x94, 0x8d, 0xa6, 0x6e, 0xb1, 0xc1, 0xd3, 0xa9, 0x65, 0x42, 0x73, 0x79, +}; +static const unsigned char kat1279_nonce[] = {0}; +static const unsigned char kat1279_persstr[] = {0}; +static const unsigned char kat1279_addin0[] = { + 0xd5, 0x7d, 0xa7, 0xb6, 0x02, 0x33, 0xe3, 0x5b, 0xe5, 0x0c, 0xb7, 0x93, + 0x88, 0x94, 0x66, 0x83, 0x08, 0x25, 0x0a, 0x46, 0xd0, 0x32, 0xde, 0xb6, + 0x67, 0xf6, 0xbc, 0x01, 0x41, 0x89, 0xb9, 0x53, 0x92, 0xf6, 0x1c, 0x73, + 0xe6, 0xfd, 0x19, 0x1d, 0x7a, 0xeb, 0xf1, 0x2a, 0x99, 0x10, 0xbc, 0xf6, +}; +static const unsigned char kat1279_addin1[] = { + 0x23, 0x5f, 0xf3, 0xd2, 0xcf, 0x24, 0x27, 0x6e, 0xad, 0x6c, 0xe9, 0x6e, + 0x7d, 0x36, 0x44, 0xab, 0x93, 0xfe, 0xd7, 0xfb, 0x5a, 0xb4, 0x5a, 0x01, + 0x16, 0x8e, 0xc9, 0x17, 0x50, 0xeb, 0x15, 0x59, 0xfc, 0xb2, 0x21, 0x9c, + 0x5c, 0xed, 0x59, 0xe5, 0xd7, 0x2e, 0x7b, 0xa4, 0xa6, 0x90, 0x49, 0xba, +}; +static const unsigned char kat1279_retbits[] = { + 0xfc, 0x44, 0x4c, 0x8f, 0x78, 0x78, 0xee, 0xb5, 0xc7, 0xcf, 0xcc, 0x48, + 0xdc, 0x0b, 0x9a, 0xaa, 0x45, 0xc8, 0x9f, 0x99, 0xa8, 0xa6, 0x2e, 0xb1, + 0xb2, 0xd0, 0x0d, 0xc6, 0xda, 0x06, 0xdc, 0x8b, 0x1f, 0x18, 0xfa, 0x1c, + 0xc9, 0x21, 0x85, 0x99, 0x66, 0xb3, 0x6b, 0x6c, 0x64, 0x54, 0x87, 0x6c, + 0x49, 0xb0, 0x06, 0xe1, 0x65, 0x83, 0x8c, 0x98, 0x28, 0x83, 0x47, 0x15, + 0x9a, 0x9a, 0xa2, 0xc1, +}; +static const struct drbg_kat_no_reseed kat1279_t = { + 3, kat1279_entropyin, kat1279_nonce, kat1279_persstr, + kat1279_addin0, kat1279_addin1, kat1279_retbits +}; +static const struct drbg_kat kat1279 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1279_t +}; + +static const unsigned char kat1280_entropyin[] = { + 0xec, 0xf1, 0x4d, 0x2e, 0xbb, 0x58, 0xf9, 0x1f, 0x45, 0xad, 0xc3, 0xba, + 0xbc, 0xe2, 0xe6, 0x0e, 0xe4, 0xac, 0x24, 0xbd, 0x79, 0x90, 0x72, 0x78, + 0x1b, 0x7f, 0x44, 0x25, 0x09, 0xfe, 0x40, 0xe0, 0x55, 0x33, 0x74, 0xa0, + 0x6a, 0x08, 0xfe, 0x65, 0x2d, 0x75, 0xa0, 0xd5, 0x25, 0x4b, 0xb6, 0x56, +}; +static const unsigned char kat1280_nonce[] = {0}; +static const unsigned char kat1280_persstr[] = {0}; +static const unsigned char kat1280_addin0[] = { + 0xcf, 0x26, 0x9f, 0x6b, 0xd6, 0xd2, 0x88, 0x0e, 0x62, 0x2d, 0x1d, 0xdd, + 0x3e, 0xbb, 0xa2, 0x1a, 0x98, 0x84, 0x62, 0x28, 0xd4, 0x0a, 0x7f, 0x13, + 0x66, 0x9b, 0x96, 0x4e, 0xe9, 0x56, 0xd9, 0x5e, 0xd9, 0xce, 0x41, 0x29, + 0x6a, 0xfb, 0xa0, 0x5d, 0x0c, 0xd1, 0x96, 0x49, 0x94, 0xd1, 0xb5, 0xa5, +}; +static const unsigned char kat1280_addin1[] = { + 0x55, 0x97, 0x76, 0x73, 0x8f, 0x7b, 0x50, 0x7a, 0xfb, 0x03, 0x0b, 0x15, + 0x27, 0x04, 0x9d, 0xdc, 0x72, 0x13, 0xd5, 0xd1, 0x6b, 0xb9, 0xe8, 0xe1, + 0x58, 0x09, 0xe6, 0x7e, 0xa5, 0xd8, 0x9f, 0x5d, 0xf4, 0xf4, 0xdb, 0x50, + 0x11, 0xac, 0x4c, 0x5f, 0x2d, 0x19, 0x61, 0x96, 0xdb, 0x6f, 0xb6, 0x01, +}; +static const unsigned char kat1280_retbits[] = { + 0xb0, 0xc0, 0x56, 0x61, 0x09, 0x22, 0x60, 0xeb, 0xb3, 0x48, 0x96, 0x99, + 0xd6, 0x1d, 0x59, 0xc9, 0x75, 0x51, 0x82, 0xde, 0x1c, 0x56, 0x45, 0xb7, + 0x57, 0x5e, 0x0b, 0x62, 0x39, 0x55, 0xbd, 0x04, 0x59, 0x3d, 0x04, 0xa2, + 0x29, 0x34, 0x9c, 0x6d, 0xa9, 0x15, 0xb4, 0x52, 0x4b, 0x51, 0xa5, 0x5e, + 0x8e, 0xc3, 0x5f, 0x30, 0x3b, 0xcc, 0x42, 0x6a, 0x62, 0xbc, 0xc6, 0xf0, + 0xda, 0x68, 0x01, 0x25, +}; +static const struct drbg_kat_no_reseed kat1280_t = { + 4, kat1280_entropyin, kat1280_nonce, kat1280_persstr, + kat1280_addin0, kat1280_addin1, kat1280_retbits +}; +static const struct drbg_kat kat1280 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1280_t +}; + +static const unsigned char kat1281_entropyin[] = { + 0x1c, 0xc9, 0x91, 0xbe, 0x74, 0x33, 0xc1, 0x2b, 0x89, 0x9f, 0x7a, 0x07, + 0x57, 0x71, 0x1e, 0x27, 0xb6, 0x59, 0x59, 0x8d, 0x58, 0x6f, 0xb2, 0x35, + 0x5e, 0xbb, 0xe6, 0xe7, 0xe9, 0x0f, 0x63, 0x46, 0x54, 0xee, 0xc4, 0xeb, + 0x34, 0xe6, 0x48, 0xc2, 0xf3, 0xe6, 0x86, 0x60, 0xd5, 0x8c, 0xb3, 0xa8, +}; +static const unsigned char kat1281_nonce[] = {0}; +static const unsigned char kat1281_persstr[] = {0}; +static const unsigned char kat1281_addin0[] = { + 0xbd, 0xde, 0x52, 0x7b, 0xdc, 0xbc, 0xb2, 0x3e, 0x55, 0xc4, 0x1a, 0x94, + 0x86, 0xa4, 0xc5, 0x3f, 0x8c, 0x64, 0x68, 0x76, 0xd0, 0x67, 0xf8, 0x32, + 0x31, 0xa7, 0xdf, 0xc6, 0x74, 0x4f, 0x5a, 0xce, 0x3e, 0x69, 0x1e, 0x93, + 0x30, 0xee, 0x6f, 0x85, 0x17, 0x9e, 0xc7, 0x53, 0xd7, 0x0c, 0xe6, 0xaa, +}; +static const unsigned char kat1281_addin1[] = { + 0x4a, 0xf6, 0x44, 0x42, 0xff, 0xa4, 0xe4, 0xbd, 0x61, 0xb4, 0xf4, 0x52, + 0x7f, 0x60, 0xd7, 0x2f, 0x33, 0x63, 0x3c, 0xac, 0xa4, 0x86, 0x14, 0xf2, + 0xeb, 0x26, 0x28, 0x1b, 0x2d, 0x54, 0x5e, 0x1f, 0xea, 0x3e, 0x46, 0x04, + 0x8e, 0x6c, 0xca, 0x0a, 0x83, 0x4e, 0xef, 0x19, 0x24, 0x0e, 0x4b, 0xf3, +}; +static const unsigned char kat1281_retbits[] = { + 0xfa, 0x4e, 0x89, 0x14, 0x1d, 0x4a, 0xc2, 0x8a, 0xb5, 0x7a, 0xab, 0xb1, + 0x87, 0x65, 0x77, 0x43, 0x98, 0x5c, 0xf4, 0x31, 0xe7, 0x3f, 0x58, 0xd7, + 0x09, 0x51, 0x8d, 0x66, 0xcf, 0xa9, 0x81, 0xa7, 0x15, 0x8f, 0xcc, 0xca, + 0x26, 0x92, 0xcf, 0x04, 0xaa, 0xb7, 0x23, 0x0e, 0x77, 0x0e, 0x7f, 0xc2, + 0xad, 0xe2, 0x40, 0x79, 0xa9, 0x4f, 0x75, 0x0b, 0x08, 0xd7, 0xf6, 0x25, + 0xfb, 0xcc, 0x17, 0x3d, +}; +static const struct drbg_kat_no_reseed kat1281_t = { + 5, kat1281_entropyin, kat1281_nonce, kat1281_persstr, + kat1281_addin0, kat1281_addin1, kat1281_retbits +}; +static const struct drbg_kat kat1281 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1281_t +}; + +static const unsigned char kat1282_entropyin[] = { + 0x17, 0x59, 0x32, 0xfb, 0x8d, 0x93, 0x6b, 0xa3, 0xae, 0x66, 0xf9, 0xb9, + 0xb3, 0x3c, 0x23, 0xac, 0x92, 0x9d, 0xbe, 0x6e, 0x7f, 0x42, 0x67, 0x4c, + 0xc8, 0x96, 0x9b, 0xc9, 0x3a, 0xc4, 0x8f, 0x61, 0x3e, 0x50, 0xcb, 0xec, + 0x79, 0x3d, 0xd8, 0x97, 0x0f, 0xa4, 0xa9, 0x91, 0xaa, 0x91, 0x71, 0x33, +}; +static const unsigned char kat1282_nonce[] = {0}; +static const unsigned char kat1282_persstr[] = {0}; +static const unsigned char kat1282_addin0[] = { + 0x17, 0xe2, 0x59, 0x1b, 0xb9, 0x5b, 0xc5, 0x14, 0xcb, 0xe4, 0xd1, 0x1a, + 0x65, 0x06, 0x80, 0x04, 0xa9, 0x25, 0xc7, 0x48, 0x5d, 0xfb, 0x0f, 0x6c, + 0xb4, 0x0e, 0x25, 0xf2, 0xd2, 0x11, 0x12, 0x20, 0xe5, 0x34, 0x1d, 0x5a, + 0x16, 0x90, 0x45, 0xf9, 0xc8, 0x75, 0x43, 0x07, 0xdf, 0xd4, 0xa4, 0x8c, +}; +static const unsigned char kat1282_addin1[] = { + 0x8b, 0xf4, 0xef, 0xee, 0xfe, 0xaa, 0x24, 0x00, 0x95, 0x77, 0xa4, 0x17, + 0x3a, 0x79, 0x7c, 0x5b, 0x1e, 0x66, 0xa8, 0xa6, 0x68, 0xbd, 0x2e, 0x7c, + 0xfa, 0x94, 0xf8, 0x12, 0x0e, 0x1c, 0x00, 0x20, 0xa9, 0x74, 0xc9, 0x6e, + 0x6b, 0x2c, 0xa1, 0x2b, 0x21, 0x80, 0x1a, 0xac, 0x14, 0x10, 0x5e, 0x23, +}; +static const unsigned char kat1282_retbits[] = { + 0xb2, 0x1a, 0xbf, 0xac, 0xe1, 0x5f, 0x06, 0x6b, 0xcb, 0x7e, 0xfe, 0xc2, + 0x02, 0xcf, 0x83, 0xcb, 0x14, 0x37, 0xb6, 0x4e, 0x8b, 0xc7, 0x35, 0x37, + 0xdf, 0xd8, 0xe0, 0xd8, 0x90, 0xcf, 0xf3, 0x85, 0x04, 0x7b, 0xfe, 0x8c, + 0xa6, 0x6d, 0x7f, 0xb3, 0xa8, 0x0f, 0x4a, 0xf1, 0x0e, 0xd4, 0xeb, 0xd3, + 0xfa, 0xd5, 0x05, 0x48, 0xd9, 0xa3, 0x89, 0x72, 0x79, 0x26, 0x57, 0x4f, + 0x8d, 0x2c, 0x0e, 0x38, +}; +static const struct drbg_kat_no_reseed kat1282_t = { + 6, kat1282_entropyin, kat1282_nonce, kat1282_persstr, + kat1282_addin0, kat1282_addin1, kat1282_retbits +}; +static const struct drbg_kat kat1282 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1282_t +}; + +static const unsigned char kat1283_entropyin[] = { + 0x0c, 0x17, 0xd2, 0x1f, 0x3a, 0x7d, 0xfe, 0x38, 0x65, 0x6c, 0x4b, 0x2b, + 0x49, 0x0e, 0x50, 0xae, 0x8a, 0x77, 0x43, 0x08, 0x9a, 0xdc, 0x74, 0x0b, + 0x0c, 0xc3, 0x75, 0x10, 0x44, 0x9d, 0x3b, 0x02, 0xaf, 0x17, 0xb2, 0x28, + 0xf3, 0x1b, 0x3b, 0xe7, 0xd7, 0xe7, 0x3f, 0x06, 0xe3, 0xb4, 0xed, 0xe3, +}; +static const unsigned char kat1283_nonce[] = {0}; +static const unsigned char kat1283_persstr[] = {0}; +static const unsigned char kat1283_addin0[] = { + 0x8e, 0xda, 0x53, 0x6c, 0x00, 0xe1, 0x2b, 0x25, 0xea, 0x64, 0x64, 0xdf, + 0xae, 0x57, 0x51, 0x48, 0x7c, 0x55, 0x1d, 0x8b, 0xbd, 0x1d, 0x3e, 0x3f, + 0xfc, 0x73, 0x0c, 0x40, 0x45, 0xd4, 0x12, 0x7d, 0xac, 0x04, 0x75, 0x9d, + 0x8a, 0x2e, 0xf4, 0x88, 0x60, 0x34, 0x56, 0x20, 0xc8, 0xb5, 0xeb, 0xf3, +}; +static const unsigned char kat1283_addin1[] = { + 0xbc, 0x96, 0x41, 0xa1, 0x43, 0x11, 0x00, 0x8a, 0x09, 0x69, 0xcf, 0xfa, + 0xdc, 0x22, 0xe1, 0xe7, 0x46, 0x61, 0xf9, 0x70, 0x48, 0x1d, 0x5c, 0x12, + 0xcf, 0xf6, 0x37, 0x27, 0x8d, 0xfa, 0x95, 0xb8, 0x2b, 0xab, 0xa4, 0x31, + 0xbb, 0xe2, 0x55, 0x8b, 0xab, 0xee, 0xdf, 0xcc, 0xd7, 0x1d, 0x96, 0xc7, +}; +static const unsigned char kat1283_retbits[] = { + 0x46, 0xcf, 0x33, 0x45, 0x03, 0x11, 0xd9, 0x70, 0x1b, 0xc2, 0x5f, 0x51, + 0x2c, 0xa5, 0xbe, 0x2d, 0xc6, 0x06, 0x8f, 0x99, 0xa8, 0xb5, 0xe7, 0x07, + 0x6c, 0x49, 0x69, 0x22, 0x7b, 0x7e, 0x73, 0xf8, 0x69, 0xc2, 0xeb, 0x01, + 0x5a, 0x09, 0xd3, 0xf6, 0xed, 0xb1, 0xd5, 0xd9, 0x2d, 0xd3, 0xb6, 0xd4, + 0x61, 0x78, 0xbe, 0xa2, 0xc5, 0xba, 0x7d, 0x38, 0x14, 0x24, 0xd0, 0xe8, + 0x09, 0xf2, 0x20, 0xce, +}; +static const struct drbg_kat_no_reseed kat1283_t = { + 7, kat1283_entropyin, kat1283_nonce, kat1283_persstr, + kat1283_addin0, kat1283_addin1, kat1283_retbits +}; +static const struct drbg_kat kat1283 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1283_t +}; + +static const unsigned char kat1284_entropyin[] = { + 0x7d, 0x45, 0x11, 0x4f, 0x41, 0x7b, 0x3d, 0xc1, 0xee, 0xcb, 0x00, 0x80, + 0xf4, 0xd8, 0x83, 0xa4, 0x1c, 0x2f, 0x9b, 0x8d, 0x48, 0x6e, 0x95, 0x1e, + 0x61, 0x3a, 0x9d, 0x0f, 0x25, 0x15, 0xd1, 0x48, 0x15, 0x5f, 0xa4, 0xe3, + 0xae, 0x1f, 0x15, 0x9e, 0xdf, 0xba, 0xe5, 0x81, 0x1f, 0xc4, 0x2b, 0x22, +}; +static const unsigned char kat1284_nonce[] = {0}; +static const unsigned char kat1284_persstr[] = {0}; +static const unsigned char kat1284_addin0[] = { + 0x33, 0x74, 0xce, 0xdc, 0x43, 0x20, 0x6c, 0x36, 0xd8, 0x67, 0x27, 0x35, + 0xd4, 0xee, 0x0e, 0xca, 0x7d, 0xfe, 0x53, 0x98, 0xb0, 0xc1, 0x1e, 0x6c, + 0x1e, 0x13, 0xb3, 0xe7, 0x95, 0x76, 0x6f, 0x0c, 0xa1, 0xc1, 0xc6, 0x3f, + 0x0f, 0xa6, 0x8c, 0x8f, 0x2b, 0x25, 0xcf, 0x98, 0x34, 0x0f, 0xc4, 0xc6, +}; +static const unsigned char kat1284_addin1[] = { + 0x9e, 0x63, 0xc2, 0x9f, 0xb3, 0x5b, 0xd2, 0x7f, 0x39, 0xf4, 0x20, 0xbe, + 0x15, 0x05, 0xb1, 0xee, 0x6d, 0xe9, 0xf6, 0x91, 0x9c, 0x0e, 0xba, 0x3d, + 0xf1, 0xe8, 0x35, 0x7a, 0x97, 0x08, 0x94, 0x3f, 0x7f, 0x43, 0x65, 0xe2, + 0x85, 0xae, 0x12, 0x54, 0xf3, 0xa6, 0x3c, 0xe2, 0x26, 0xc6, 0x4a, 0x8a, +}; +static const unsigned char kat1284_retbits[] = { + 0x94, 0x6a, 0x8c, 0x99, 0xee, 0x1e, 0xdc, 0x87, 0x77, 0x0c, 0x8e, 0xf1, + 0x07, 0x96, 0xbf, 0x14, 0x20, 0x1f, 0x58, 0xeb, 0xde, 0x3f, 0xac, 0x71, + 0xae, 0x00, 0x0f, 0xcb, 0x55, 0x3f, 0x99, 0xc8, 0x90, 0xc2, 0x28, 0xe7, + 0xa1, 0x80, 0x27, 0xf2, 0x25, 0xa5, 0x26, 0x95, 0x56, 0xe5, 0xd4, 0x0f, + 0x34, 0x85, 0xe6, 0xdc, 0x32, 0xa6, 0x97, 0xf1, 0xc6, 0xb7, 0x86, 0x35, + 0xd7, 0xf0, 0xa5, 0x72, +}; +static const struct drbg_kat_no_reseed kat1284_t = { + 8, kat1284_entropyin, kat1284_nonce, kat1284_persstr, + kat1284_addin0, kat1284_addin1, kat1284_retbits +}; +static const struct drbg_kat kat1284 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1284_t +}; + +static const unsigned char kat1285_entropyin[] = { + 0x82, 0x17, 0x16, 0xf8, 0x9f, 0xc9, 0xf3, 0x18, 0x87, 0x34, 0xfb, 0x4b, + 0x93, 0x38, 0x82, 0xed, 0xdd, 0x36, 0xa3, 0xb4, 0xfa, 0x92, 0x0d, 0xde, + 0xfc, 0xba, 0x2f, 0xa6, 0x52, 0x7a, 0xbb, 0xd8, 0xac, 0x8f, 0xee, 0xc7, + 0x3f, 0x71, 0xd0, 0x3f, 0xcf, 0x2e, 0x07, 0xf5, 0xc7, 0x90, 0x0d, 0x3f, +}; +static const unsigned char kat1285_nonce[] = {0}; +static const unsigned char kat1285_persstr[] = {0}; +static const unsigned char kat1285_addin0[] = { + 0x9f, 0xd4, 0xf9, 0x83, 0xc4, 0xa0, 0x56, 0x12, 0x26, 0x8d, 0x76, 0x41, + 0x70, 0x45, 0xb6, 0xcd, 0xfb, 0xcb, 0x4e, 0x0f, 0x25, 0x53, 0x99, 0xed, + 0x51, 0xb1, 0xaf, 0xcf, 0x9e, 0x8a, 0x0f, 0xd2, 0xe9, 0x56, 0xb3, 0xd7, + 0x34, 0x25, 0x0e, 0xe3, 0x32, 0x4f, 0x67, 0xb6, 0xcc, 0xd6, 0xad, 0x9d, +}; +static const unsigned char kat1285_addin1[] = { + 0xdf, 0x89, 0x35, 0x8c, 0xf9, 0xd7, 0x92, 0x7a, 0xab, 0x11, 0xe7, 0x22, + 0x6c, 0xa6, 0x55, 0xa8, 0x3e, 0x3f, 0x05, 0x89, 0x7c, 0xf7, 0x26, 0x91, + 0xaa, 0x5f, 0xa6, 0xc2, 0x7f, 0x84, 0x6e, 0xd5, 0x12, 0x3f, 0x47, 0xe1, + 0x4b, 0x9c, 0x2a, 0xea, 0x5e, 0x52, 0xa2, 0xd0, 0x96, 0x72, 0x79, 0xee, +}; +static const unsigned char kat1285_retbits[] = { + 0xa9, 0x9a, 0x41, 0x63, 0x3a, 0xe7, 0x3b, 0xbf, 0xd6, 0x8b, 0x54, 0x93, + 0x70, 0xdf, 0x8b, 0xd0, 0x10, 0xe1, 0xc0, 0xa7, 0xc7, 0x92, 0xb8, 0x32, + 0x9b, 0xbb, 0x1c, 0x66, 0x91, 0x65, 0x91, 0xcc, 0x40, 0x6f, 0xbd, 0x7a, + 0x54, 0x9a, 0x04, 0x30, 0xdc, 0x06, 0x03, 0x78, 0xe9, 0x8b, 0xd3, 0xeb, + 0x76, 0x36, 0xf6, 0x35, 0xbb, 0x9e, 0x97, 0x23, 0xcc, 0x39, 0x4a, 0x76, + 0x20, 0x5b, 0x62, 0x8a, +}; +static const struct drbg_kat_no_reseed kat1285_t = { + 9, kat1285_entropyin, kat1285_nonce, kat1285_persstr, + kat1285_addin0, kat1285_addin1, kat1285_retbits +}; +static const struct drbg_kat kat1285 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1285_t +}; + +static const unsigned char kat1286_entropyin[] = { + 0x0b, 0xcc, 0xc9, 0xc0, 0xd2, 0x6c, 0x49, 0x71, 0x6d, 0x22, 0xbd, 0xd8, + 0x32, 0xd8, 0x21, 0x50, 0xf2, 0x0c, 0xd0, 0xcc, 0x44, 0xa3, 0xfa, 0x0a, + 0x43, 0xdc, 0xe8, 0x70, 0x3b, 0x87, 0xe5, 0x72, 0x52, 0x66, 0x2c, 0xdd, + 0x1f, 0x8f, 0xee, 0x29, 0x62, 0xc3, 0x0e, 0x5f, 0xc5, 0xc8, 0x66, 0xc1, +}; +static const unsigned char kat1286_nonce[] = {0}; +static const unsigned char kat1286_persstr[] = {0}; +static const unsigned char kat1286_addin0[] = { + 0x1e, 0x4e, 0xd5, 0x91, 0xc1, 0xc7, 0x33, 0x7f, 0x57, 0x01, 0x29, 0x90, + 0x75, 0xf6, 0xd6, 0x15, 0x3a, 0x55, 0xd1, 0x3d, 0x7d, 0x34, 0xcc, 0x18, + 0x17, 0x00, 0x4d, 0x9e, 0x0c, 0x16, 0x51, 0x7f, 0x78, 0x87, 0x17, 0xdd, + 0xb1, 0x37, 0xe1, 0xc7, 0xf1, 0xac, 0x7a, 0x24, 0x24, 0xb0, 0x95, 0x3d, +}; +static const unsigned char kat1286_addin1[] = { + 0xfc, 0x36, 0x74, 0x79, 0x41, 0xd6, 0x28, 0x85, 0x79, 0xf2, 0xb6, 0xa4, + 0x15, 0xc8, 0x97, 0x18, 0x90, 0xb6, 0x6a, 0xc5, 0x14, 0xb1, 0xe4, 0x94, + 0x46, 0xdd, 0x94, 0xfd, 0x00, 0xa2, 0xa2, 0x22, 0x2e, 0xec, 0xe0, 0x93, + 0x46, 0x78, 0x8b, 0x39, 0x2a, 0x8e, 0xa8, 0x26, 0xe5, 0xe1, 0x94, 0xb3, +}; +static const unsigned char kat1286_retbits[] = { + 0xcf, 0x51, 0xbe, 0x2e, 0x26, 0x62, 0x05, 0x67, 0xcb, 0x35, 0x8d, 0x63, + 0x80, 0x8f, 0x9c, 0xfc, 0x18, 0xa0, 0xd7, 0xe5, 0x49, 0x5d, 0x8e, 0xc4, + 0xdc, 0x0c, 0x3a, 0xa9, 0xbf, 0x7b, 0xda, 0xb0, 0xae, 0x09, 0xb8, 0x44, + 0x4c, 0xba, 0x57, 0x7f, 0x19, 0xee, 0xc9, 0xfb, 0xa5, 0xd2, 0xd0, 0x28, + 0x5e, 0x92, 0x3e, 0xb2, 0x49, 0x2a, 0xb8, 0x08, 0xa4, 0xbc, 0x73, 0xda, + 0x25, 0xd8, 0x19, 0x5e, +}; +static const struct drbg_kat_no_reseed kat1286_t = { + 10, kat1286_entropyin, kat1286_nonce, kat1286_persstr, + kat1286_addin0, kat1286_addin1, kat1286_retbits +}; +static const struct drbg_kat kat1286 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1286_t +}; + +static const unsigned char kat1287_entropyin[] = { + 0x04, 0x40, 0x24, 0xfd, 0x37, 0x9b, 0x7f, 0x05, 0x57, 0x63, 0x2f, 0x4c, + 0x8e, 0x57, 0xf8, 0x0d, 0xc9, 0x43, 0x73, 0x5d, 0xef, 0x34, 0xd0, 0x5b, + 0xa5, 0xff, 0x35, 0x23, 0x78, 0x73, 0x87, 0x77, 0x73, 0xec, 0xdd, 0x2d, + 0x07, 0xc4, 0x98, 0x66, 0xa7, 0xc6, 0x41, 0x92, 0xb9, 0x8e, 0x57, 0xa0, +}; +static const unsigned char kat1287_nonce[] = {0}; +static const unsigned char kat1287_persstr[] = {0}; +static const unsigned char kat1287_addin0[] = { + 0x6e, 0x91, 0x35, 0x1d, 0xd5, 0xb5, 0x8b, 0xb1, 0x9f, 0x21, 0x0d, 0x51, + 0x25, 0xb3, 0xae, 0xc7, 0xf3, 0x11, 0xf1, 0xe2, 0xff, 0xb8, 0x58, 0x9d, + 0x49, 0xe0, 0xa0, 0x4b, 0xd9, 0xba, 0x6c, 0x53, 0x0a, 0xec, 0xb9, 0x4b, + 0x38, 0x94, 0x6a, 0x16, 0x2b, 0xf1, 0x46, 0xd7, 0xa9, 0xf7, 0xb1, 0xab, +}; +static const unsigned char kat1287_addin1[] = { + 0xab, 0x39, 0xa2, 0x78, 0x45, 0xab, 0x09, 0xe5, 0x77, 0xb6, 0xdc, 0xf9, + 0xed, 0x4e, 0xd7, 0x76, 0x99, 0x59, 0x5d, 0x35, 0x9a, 0x78, 0x94, 0x8f, + 0xa5, 0xa8, 0xcc, 0x63, 0x58, 0xe3, 0xea, 0x8e, 0x9a, 0x88, 0x77, 0xb6, + 0x0b, 0x6a, 0xe0, 0xfd, 0x7d, 0xbf, 0x37, 0xc9, 0x3d, 0xbd, 0xa8, 0x8c, +}; +static const unsigned char kat1287_retbits[] = { + 0x7f, 0x64, 0x91, 0x17, 0x76, 0xe2, 0xc0, 0x4e, 0x4a, 0x08, 0xad, 0x90, + 0xc8, 0xdb, 0xbf, 0x51, 0xee, 0x34, 0xbd, 0xe4, 0xba, 0x6a, 0x3b, 0x7b, + 0x29, 0x83, 0x52, 0x0b, 0xf4, 0x69, 0x24, 0xa9, 0xbd, 0x76, 0xe7, 0xa3, + 0x14, 0x1d, 0x8b, 0x44, 0x74, 0xb5, 0xd2, 0xe5, 0x73, 0x17, 0x3f, 0xdd, + 0x90, 0xc2, 0x37, 0x43, 0xa9, 0x0a, 0x1a, 0xef, 0x81, 0xb3, 0x49, 0x4f, + 0xef, 0xef, 0x98, 0x34, +}; +static const struct drbg_kat_no_reseed kat1287_t = { + 11, kat1287_entropyin, kat1287_nonce, kat1287_persstr, + kat1287_addin0, kat1287_addin1, kat1287_retbits +}; +static const struct drbg_kat kat1287 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1287_t +}; + +static const unsigned char kat1288_entropyin[] = { + 0xa0, 0x53, 0x9e, 0x0a, 0x45, 0x44, 0x64, 0x25, 0x1d, 0x9e, 0xcc, 0x45, + 0x09, 0xbd, 0x7f, 0x54, 0xa9, 0x0a, 0x26, 0x1d, 0x2e, 0x62, 0x5b, 0x38, + 0xbf, 0x76, 0xec, 0x90, 0x1c, 0x14, 0x2f, 0x7c, 0x28, 0x51, 0xef, 0x00, + 0x3a, 0xa1, 0xa7, 0xbe, 0x60, 0xb6, 0x0a, 0xbe, 0xf0, 0x2d, 0xe3, 0x84, +}; +static const unsigned char kat1288_nonce[] = {0}; +static const unsigned char kat1288_persstr[] = {0}; +static const unsigned char kat1288_addin0[] = { + 0x1e, 0x79, 0x4d, 0x68, 0x96, 0xf4, 0xcc, 0x9c, 0x2a, 0x45, 0x9e, 0x98, + 0xc2, 0xe0, 0xd4, 0x52, 0x78, 0x2b, 0x07, 0x2b, 0x42, 0x42, 0xe6, 0xee, + 0xe1, 0xec, 0x3b, 0x86, 0xb6, 0x40, 0x4f, 0xbf, 0x30, 0x15, 0x95, 0x9d, + 0x80, 0x06, 0xf2, 0x63, 0xf6, 0x82, 0xd0, 0x28, 0x11, 0x90, 0xb7, 0xbb, +}; +static const unsigned char kat1288_addin1[] = { + 0xca, 0x57, 0x3e, 0x98, 0xcc, 0x43, 0xed, 0x3e, 0x4e, 0x59, 0x61, 0x2b, + 0xa5, 0x0a, 0x6d, 0xfe, 0x62, 0xc3, 0xca, 0xeb, 0x95, 0x5a, 0xc5, 0xdb, + 0x60, 0xee, 0xf2, 0xce, 0xd5, 0xb6, 0x3f, 0x39, 0xdb, 0x91, 0x89, 0xef, + 0xed, 0x83, 0x06, 0xb6, 0x4b, 0xc7, 0xe0, 0x11, 0x04, 0xc7, 0xe8, 0x47, +}; +static const unsigned char kat1288_retbits[] = { + 0x71, 0x26, 0x0c, 0xdb, 0x48, 0x60, 0x94, 0xa1, 0x41, 0x6f, 0xb0, 0x6c, + 0x4d, 0xe7, 0xb5, 0xfe, 0xdf, 0x07, 0x37, 0xac, 0xdf, 0x35, 0x85, 0x12, + 0x97, 0xd1, 0xf1, 0x0d, 0xf1, 0x50, 0x14, 0xb1, 0x03, 0x04, 0xde, 0x05, + 0xb7, 0xcd, 0xb8, 0x4e, 0x59, 0xe9, 0x0a, 0xe8, 0x53, 0x65, 0xd6, 0xfd, + 0x1b, 0x2f, 0x6c, 0xae, 0x10, 0x26, 0x50, 0xb6, 0x89, 0x0e, 0xf5, 0x48, + 0x33, 0x46, 0x8f, 0x06, +}; +static const struct drbg_kat_no_reseed kat1288_t = { + 12, kat1288_entropyin, kat1288_nonce, kat1288_persstr, + kat1288_addin0, kat1288_addin1, kat1288_retbits +}; +static const struct drbg_kat kat1288 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1288_t +}; + +static const unsigned char kat1289_entropyin[] = { + 0xbb, 0x40, 0x53, 0x76, 0x98, 0x7e, 0x5a, 0x73, 0xb9, 0x36, 0x6b, 0x26, + 0x5f, 0xe6, 0x4c, 0x38, 0x32, 0x2c, 0xec, 0x5c, 0xdf, 0x59, 0xef, 0x04, + 0x56, 0x10, 0x77, 0xf5, 0x6a, 0x3b, 0xe5, 0x73, 0xe8, 0x94, 0x39, 0xda, + 0x5a, 0xc8, 0x52, 0x35, 0x05, 0x20, 0xce, 0x2b, 0x88, 0x87, 0x6e, 0xcb, +}; +static const unsigned char kat1289_nonce[] = {0}; +static const unsigned char kat1289_persstr[] = {0}; +static const unsigned char kat1289_addin0[] = { + 0x75, 0x09, 0x01, 0x5c, 0x0d, 0x48, 0x00, 0x39, 0x4a, 0x47, 0xc6, 0xe0, + 0x40, 0x9f, 0x47, 0x86, 0xf1, 0x76, 0xa4, 0x95, 0xd0, 0xc7, 0xfb, 0xa1, + 0x4b, 0x24, 0x07, 0xe2, 0x92, 0xb8, 0x45, 0x94, 0xb6, 0x02, 0xa4, 0x8a, + 0x4e, 0x01, 0x7f, 0x96, 0xdf, 0xf9, 0x3e, 0x82, 0x48, 0x4e, 0x40, 0x37, +}; +static const unsigned char kat1289_addin1[] = { + 0x86, 0x44, 0x54, 0x6a, 0xae, 0x7b, 0xdd, 0xda, 0x28, 0x10, 0xba, 0x9d, + 0xee, 0x8e, 0xaf, 0x8a, 0xe5, 0x0f, 0xa4, 0xa2, 0x52, 0xde, 0x5d, 0xf1, + 0x7f, 0x6a, 0x55, 0x54, 0x08, 0x75, 0xab, 0x73, 0xce, 0xd9, 0xf9, 0x20, + 0x48, 0x3f, 0x5c, 0xc5, 0xf9, 0xf7, 0x6a, 0x94, 0xb2, 0x53, 0xb4, 0xc1, +}; +static const unsigned char kat1289_retbits[] = { + 0x71, 0x13, 0xa5, 0x71, 0x07, 0x52, 0xf3, 0xb2, 0x62, 0x77, 0x1f, 0x65, + 0x23, 0x74, 0x77, 0x11, 0xf8, 0x40, 0x2c, 0x36, 0xcc, 0xd3, 0x7d, 0xda, + 0x36, 0x6b, 0x46, 0xd9, 0xe7, 0xd7, 0x83, 0x08, 0x12, 0xe0, 0xf9, 0x35, + 0xb3, 0x6a, 0x15, 0x16, 0x4f, 0xdb, 0xd4, 0xc3, 0xb4, 0xe4, 0x6f, 0xd1, + 0xfe, 0x43, 0xee, 0x25, 0xe8, 0x3c, 0x4d, 0x94, 0x09, 0xf7, 0x0d, 0xfd, + 0x4b, 0x85, 0x1e, 0x06, +}; +static const struct drbg_kat_no_reseed kat1289_t = { + 13, kat1289_entropyin, kat1289_nonce, kat1289_persstr, + kat1289_addin0, kat1289_addin1, kat1289_retbits +}; +static const struct drbg_kat kat1289 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1289_t +}; + +static const unsigned char kat1290_entropyin[] = { + 0xf6, 0x1b, 0x23, 0xf1, 0x49, 0xd5, 0x46, 0xdb, 0x95, 0xf2, 0xee, 0x33, + 0x34, 0x68, 0xde, 0xbc, 0xf2, 0xe4, 0x44, 0xf7, 0x11, 0x95, 0x77, 0xb4, + 0x23, 0x2c, 0x03, 0x17, 0x31, 0x33, 0x56, 0x97, 0xe0, 0x76, 0x85, 0x61, + 0x0c, 0xd6, 0x2b, 0xc8, 0x38, 0x33, 0x80, 0x76, 0x53, 0x6e, 0xc3, 0x55, +}; +static const unsigned char kat1290_nonce[] = {0}; +static const unsigned char kat1290_persstr[] = {0}; +static const unsigned char kat1290_addin0[] = { + 0xcd, 0x4c, 0xb3, 0xa8, 0xe0, 0xf1, 0xf8, 0xa6, 0x75, 0x77, 0xd7, 0x13, + 0x39, 0xe6, 0xc4, 0xf4, 0x0a, 0x29, 0x1c, 0xdd, 0x22, 0xd5, 0xa1, 0x9a, + 0xaf, 0xe0, 0xf7, 0xc9, 0x9e, 0x2b, 0x85, 0x78, 0x9d, 0x16, 0xb6, 0x3f, + 0xda, 0xb2, 0xff, 0x56, 0x27, 0x35, 0x3a, 0x73, 0x51, 0xb6, 0x53, 0xe8, +}; +static const unsigned char kat1290_addin1[] = { + 0x02, 0x03, 0xe7, 0x5c, 0xce, 0x2d, 0x2e, 0x81, 0xec, 0x44, 0x1b, 0xa7, + 0x3b, 0x31, 0x29, 0xc6, 0xae, 0x50, 0x67, 0x73, 0x3b, 0xc0, 0x03, 0x16, + 0x14, 0xcb, 0xc8, 0xfc, 0x92, 0xd5, 0x99, 0x52, 0x3a, 0xd3, 0x0d, 0xa2, + 0xea, 0x25, 0x3c, 0x06, 0xc4, 0x82, 0x93, 0xbe, 0xfb, 0x14, 0xab, 0x71, +}; +static const unsigned char kat1290_retbits[] = { + 0x92, 0x7c, 0x1e, 0x64, 0xd9, 0xf3, 0xac, 0xfd, 0xd7, 0x4e, 0x7a, 0xfe, + 0xb9, 0xab, 0x22, 0x80, 0xf3, 0x7c, 0xe9, 0xc1, 0x83, 0x9f, 0x8c, 0xec, + 0x8c, 0x32, 0xdb, 0x76, 0x76, 0xfa, 0xb0, 0x57, 0x62, 0x01, 0x44, 0xd3, + 0x4c, 0x83, 0x82, 0xbc, 0xb9, 0x04, 0xe8, 0x5a, 0xf4, 0x5d, 0x34, 0x8e, + 0x10, 0xbb, 0x2e, 0x57, 0x08, 0x26, 0x83, 0x43, 0x59, 0x5f, 0xfc, 0x08, + 0xdd, 0x25, 0x8c, 0x00, +}; +static const struct drbg_kat_no_reseed kat1290_t = { + 14, kat1290_entropyin, kat1290_nonce, kat1290_persstr, + kat1290_addin0, kat1290_addin1, kat1290_retbits +}; +static const struct drbg_kat kat1290 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1290_t +}; + +static const unsigned char kat1291_entropyin[] = { + 0xd8, 0x07, 0x8f, 0x99, 0xd5, 0xda, 0x1b, 0x31, 0x2e, 0x45, 0x12, 0xac, + 0xbc, 0xcc, 0x19, 0x89, 0x30, 0x45, 0x39, 0x75, 0xd3, 0xd5, 0x0f, 0xb5, + 0xa1, 0x3f, 0x25, 0xfd, 0xb1, 0x1a, 0x5f, 0xed, 0x1a, 0x24, 0x6e, 0x6b, + 0xc1, 0x53, 0x95, 0x2a, 0x16, 0x62, 0x3c, 0x23, 0x3e, 0x13, 0xe2, 0x41, +}; +static const unsigned char kat1291_nonce[] = {0}; +static const unsigned char kat1291_persstr[] = { + 0xdf, 0x1b, 0x8b, 0x21, 0x72, 0x5f, 0xf8, 0x86, 0xaf, 0x4c, 0x64, 0x7a, + 0xf1, 0xa5, 0x87, 0xb1, 0x33, 0x9e, 0x09, 0x73, 0x78, 0x2e, 0x95, 0xc9, + 0x3f, 0x3b, 0x40, 0xbf, 0x42, 0x1d, 0x5d, 0x03, 0xce, 0xc2, 0xb0, 0xb4, + 0x1f, 0x90, 0x58, 0xd7, 0x30, 0xeb, 0x0f, 0xb5, 0x35, 0x68, 0xd0, 0x0a, +}; +static const unsigned char kat1291_addin0[] = {0}; +static const unsigned char kat1291_addin1[] = {0}; +static const unsigned char kat1291_retbits[] = { + 0x5e, 0xdb, 0x9b, 0x25, 0x28, 0x7f, 0x2b, 0x5b, 0x1e, 0x5f, 0xd8, 0x1f, + 0x69, 0x77, 0x1c, 0xca, 0xb3, 0xb9, 0x87, 0x6b, 0xf2, 0xec, 0xdd, 0x64, + 0x4c, 0x9c, 0x6c, 0x5f, 0xe8, 0xdd, 0x98, 0x8e, 0x0d, 0x76, 0x22, 0xde, + 0xe9, 0x02, 0x36, 0x64, 0x49, 0xf2, 0x06, 0x3e, 0x3f, 0x82, 0x6d, 0xf9, + 0x97, 0x43, 0x80, 0x6b, 0x82, 0x5f, 0xe8, 0xc8, 0x59, 0x46, 0xaf, 0x3b, + 0x47, 0x81, 0xd6, 0xaa, +}; +static const struct drbg_kat_no_reseed kat1291_t = { + 0, kat1291_entropyin, kat1291_nonce, kat1291_persstr, + kat1291_addin0, kat1291_addin1, kat1291_retbits +}; +static const struct drbg_kat kat1291 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1291_t +}; + +static const unsigned char kat1292_entropyin[] = { + 0xe5, 0xb0, 0x0f, 0x72, 0x1b, 0xbb, 0xf0, 0x81, 0xd3, 0x50, 0x43, 0x35, + 0x92, 0xf6, 0xd2, 0xda, 0xb3, 0x62, 0x21, 0x7f, 0x0c, 0x0c, 0x49, 0x51, + 0x5d, 0x1f, 0x7f, 0x45, 0x99, 0x9c, 0xf5, 0xac, 0xd5, 0x2b, 0x0e, 0x81, + 0x6d, 0x10, 0x2d, 0x60, 0x63, 0x4a, 0x24, 0x61, 0xf4, 0x30, 0x01, 0x03, +}; +static const unsigned char kat1292_nonce[] = {0}; +static const unsigned char kat1292_persstr[] = { + 0x65, 0x4a, 0x93, 0x5d, 0x0c, 0x43, 0xaf, 0xfc, 0xa9, 0x28, 0x0a, 0xc1, + 0x52, 0xa3, 0x42, 0x42, 0xfb, 0x64, 0x00, 0xd2, 0x08, 0x36, 0xaa, 0xbd, + 0x13, 0x91, 0x77, 0x19, 0x02, 0x5c, 0x1e, 0x0d, 0x65, 0xa9, 0x6a, 0xf7, + 0x56, 0x14, 0xe0, 0x58, 0x67, 0xd5, 0x19, 0x4a, 0xa8, 0xe7, 0x1c, 0x72, +}; +static const unsigned char kat1292_addin0[] = {0}; +static const unsigned char kat1292_addin1[] = {0}; +static const unsigned char kat1292_retbits[] = { + 0x46, 0x47, 0x96, 0xa7, 0x72, 0x8e, 0xbc, 0x3b, 0x14, 0xda, 0x92, 0x5a, + 0xc9, 0x07, 0x3e, 0x28, 0x19, 0xb6, 0x49, 0x30, 0xb9, 0xce, 0x62, 0x95, + 0x4c, 0xf9, 0xa0, 0x4c, 0x3b, 0x7d, 0xd2, 0xa3, 0xc3, 0x57, 0x80, 0xa5, + 0x75, 0xd7, 0xb9, 0x2e, 0x40, 0x23, 0x08, 0x6a, 0xba, 0x0b, 0x4d, 0xcc, + 0x26, 0x71, 0x97, 0xdc, 0xeb, 0x14, 0x81, 0xe4, 0x3e, 0xdf, 0x4c, 0xc0, + 0x30, 0xd5, 0x45, 0xe5, +}; +static const struct drbg_kat_no_reseed kat1292_t = { + 1, kat1292_entropyin, kat1292_nonce, kat1292_persstr, + kat1292_addin0, kat1292_addin1, kat1292_retbits +}; +static const struct drbg_kat kat1292 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1292_t +}; + +static const unsigned char kat1293_entropyin[] = { + 0x0e, 0xe0, 0xf3, 0xef, 0xf0, 0x1d, 0x6b, 0xf3, 0xcc, 0x5a, 0x81, 0x40, + 0xfd, 0xa7, 0xab, 0x26, 0x21, 0xe5, 0xcc, 0x7f, 0x12, 0x35, 0xfb, 0x43, + 0x11, 0x0e, 0x46, 0x51, 0x7f, 0xde, 0xb0, 0xa2, 0x9a, 0xa1, 0x79, 0xc5, + 0x5b, 0x8f, 0xe5, 0x60, 0x76, 0x41, 0xe7, 0xdf, 0xc3, 0xcd, 0x24, 0xa0, +}; +static const unsigned char kat1293_nonce[] = {0}; +static const unsigned char kat1293_persstr[] = { + 0xd1, 0xf7, 0x49, 0x3b, 0xa4, 0xed, 0x0d, 0xb1, 0x23, 0x5a, 0x5e, 0xfe, + 0x38, 0xb8, 0xe6, 0x8f, 0xf0, 0x3f, 0x71, 0x8d, 0x84, 0x07, 0x1e, 0xad, + 0x8f, 0xf4, 0xeb, 0x8c, 0x2e, 0x06, 0x36, 0x5c, 0x4c, 0x11, 0xe7, 0x86, + 0x91, 0xce, 0x17, 0x6c, 0x2b, 0x2d, 0xbd, 0xe0, 0x3f, 0xc7, 0x3f, 0x3d, +}; +static const unsigned char kat1293_addin0[] = {0}; +static const unsigned char kat1293_addin1[] = {0}; +static const unsigned char kat1293_retbits[] = { + 0xa1, 0xfd, 0xd8, 0xa3, 0x59, 0xf5, 0xe9, 0xde, 0xa8, 0x1f, 0xdf, 0x83, + 0xc7, 0x00, 0xca, 0xcf, 0x04, 0xb4, 0xf8, 0x3c, 0x73, 0x27, 0x58, 0xe2, + 0x65, 0x54, 0x8a, 0xaf, 0x1d, 0x79, 0x60, 0x84, 0x25, 0xc6, 0x37, 0x20, + 0x89, 0x68, 0x96, 0x8b, 0x3b, 0x56, 0xbb, 0xb6, 0x12, 0x2f, 0x12, 0x71, + 0xe4, 0x02, 0x31, 0x4e, 0xd9, 0xcb, 0xa2, 0x4a, 0xcf, 0x71, 0x45, 0x7f, + 0xf7, 0x54, 0xe8, 0x5a, +}; +static const struct drbg_kat_no_reseed kat1293_t = { + 2, kat1293_entropyin, kat1293_nonce, kat1293_persstr, + kat1293_addin0, kat1293_addin1, kat1293_retbits +}; +static const struct drbg_kat kat1293 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1293_t +}; + +static const unsigned char kat1294_entropyin[] = { + 0xf4, 0x3e, 0x4b, 0x7d, 0x33, 0x17, 0xce, 0x49, 0x4b, 0x0a, 0x68, 0xcb, + 0x6e, 0x11, 0xe6, 0x11, 0xbb, 0xfe, 0x7b, 0x61, 0xbc, 0x37, 0xf6, 0xef, + 0x1e, 0x6b, 0x45, 0xb3, 0xbd, 0x6d, 0x67, 0x97, 0xd3, 0x95, 0x52, 0xab, + 0xb4, 0x90, 0x92, 0x9d, 0x0d, 0xc9, 0x67, 0xea, 0x04, 0x70, 0xd3, 0xae, +}; +static const unsigned char kat1294_nonce[] = {0}; +static const unsigned char kat1294_persstr[] = { + 0xda, 0xa5, 0xb6, 0x16, 0x66, 0x3c, 0x91, 0x05, 0x4d, 0x58, 0x38, 0x88, + 0xe6, 0x83, 0xc6, 0xfc, 0x93, 0x55, 0xd5, 0xc3, 0x2e, 0xc2, 0xb8, 0x63, + 0x2a, 0x63, 0xdd, 0xc4, 0xfb, 0x46, 0xdd, 0x93, 0x6d, 0xaa, 0xcd, 0x86, + 0x00, 0x6f, 0x1e, 0x63, 0x92, 0x28, 0xb0, 0xe3, 0x0a, 0x6c, 0x2c, 0x08, +}; +static const unsigned char kat1294_addin0[] = {0}; +static const unsigned char kat1294_addin1[] = {0}; +static const unsigned char kat1294_retbits[] = { + 0x99, 0x57, 0x3c, 0xd5, 0xe7, 0xce, 0x4a, 0x0d, 0xa1, 0xd5, 0x60, 0xfb, + 0x5e, 0x99, 0x2f, 0x0b, 0xe2, 0x87, 0x36, 0xad, 0x9c, 0x2f, 0x14, 0x49, + 0xf7, 0x21, 0x26, 0x1d, 0xcf, 0x3d, 0xf6, 0x7b, 0xec, 0x1c, 0x3d, 0x49, + 0xa6, 0xe4, 0xf9, 0x9f, 0xf4, 0xbc, 0x9a, 0xee, 0x0e, 0xcf, 0x4d, 0x5f, + 0x97, 0xed, 0x0d, 0x37, 0xd9, 0x77, 0x6e, 0x7f, 0x63, 0xed, 0xb8, 0xce, + 0xce, 0xf7, 0x2c, 0x4b, +}; +static const struct drbg_kat_no_reseed kat1294_t = { + 3, kat1294_entropyin, kat1294_nonce, kat1294_persstr, + kat1294_addin0, kat1294_addin1, kat1294_retbits +}; +static const struct drbg_kat kat1294 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1294_t +}; + +static const unsigned char kat1295_entropyin[] = { + 0x11, 0xec, 0xf1, 0x0f, 0x25, 0x9b, 0xbd, 0x81, 0x7b, 0x23, 0x67, 0xea, + 0x80, 0x36, 0xec, 0x29, 0xe0, 0x32, 0xe4, 0x86, 0x9c, 0xd9, 0xd9, 0xe4, + 0xc5, 0x30, 0x55, 0xb1, 0x34, 0x43, 0x4b, 0xbd, 0xad, 0xdc, 0x32, 0x7b, + 0x13, 0x7a, 0x61, 0xe8, 0xab, 0x60, 0xf0, 0xcf, 0x29, 0x6f, 0x2c, 0x35, +}; +static const unsigned char kat1295_nonce[] = {0}; +static const unsigned char kat1295_persstr[] = { + 0xeb, 0x07, 0x19, 0xf1, 0x3b, 0x2d, 0xd9, 0xf0, 0x8d, 0xd0, 0xd0, 0x6c, + 0xad, 0xc4, 0x59, 0xc3, 0x1b, 0x4a, 0x15, 0x36, 0xc7, 0x9d, 0xa5, 0xd2, + 0x5e, 0xed, 0x53, 0x73, 0xd9, 0xa4, 0x6c, 0xb0, 0xb5, 0xce, 0x11, 0x60, + 0x72, 0x95, 0x4b, 0x77, 0xeb, 0x6f, 0x84, 0xbf, 0x94, 0x14, 0x43, 0x22, +}; +static const unsigned char kat1295_addin0[] = {0}; +static const unsigned char kat1295_addin1[] = {0}; +static const unsigned char kat1295_retbits[] = { + 0x5c, 0x4a, 0x42, 0x6e, 0xce, 0x1b, 0x6e, 0xd0, 0xb5, 0xba, 0xc7, 0x59, + 0xa4, 0xab, 0xde, 0xf1, 0xb6, 0x2b, 0x83, 0x9e, 0xc4, 0x74, 0xf4, 0x26, + 0xf6, 0xa5, 0x38, 0x6b, 0x04, 0xd1, 0x10, 0xe1, 0x35, 0x95, 0x08, 0x1e, + 0x7d, 0xb1, 0x01, 0x64, 0x89, 0xda, 0x2d, 0x2e, 0x3f, 0xea, 0x04, 0xbd, + 0x7f, 0xc3, 0x7d, 0xaf, 0x87, 0xca, 0x98, 0x64, 0xf3, 0x43, 0x0c, 0x00, + 0x5f, 0xcc, 0xad, 0x26, +}; +static const struct drbg_kat_no_reseed kat1295_t = { + 4, kat1295_entropyin, kat1295_nonce, kat1295_persstr, + kat1295_addin0, kat1295_addin1, kat1295_retbits +}; +static const struct drbg_kat kat1295 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1295_t +}; + +static const unsigned char kat1296_entropyin[] = { + 0x42, 0x17, 0xfe, 0xba, 0xcb, 0xbc, 0x1c, 0x25, 0x04, 0xc8, 0x2e, 0xf6, + 0x0f, 0x20, 0xc7, 0x4a, 0x61, 0xa0, 0x08, 0x0a, 0x12, 0x44, 0x49, 0x70, + 0xf9, 0xe6, 0xc1, 0x7c, 0xab, 0x0b, 0x56, 0x04, 0xd0, 0x8f, 0xe8, 0xda, + 0xaa, 0x66, 0x21, 0x38, 0x04, 0xab, 0x08, 0x56, 0x2e, 0x13, 0x64, 0x6a, +}; +static const unsigned char kat1296_nonce[] = {0}; +static const unsigned char kat1296_persstr[] = { + 0x08, 0xc6, 0x07, 0x59, 0x89, 0xdd, 0x93, 0x2c, 0x51, 0x61, 0x60, 0x74, + 0x07, 0x10, 0xf5, 0xd1, 0x6c, 0x38, 0xd2, 0x05, 0xfb, 0xdf, 0xaf, 0xf7, + 0x44, 0x49, 0x68, 0x79, 0x1b, 0x6e, 0x9a, 0x43, 0xee, 0x9a, 0x79, 0xcc, + 0x5e, 0xb3, 0xe5, 0x8e, 0xa2, 0x92, 0x1f, 0x9c, 0x1f, 0x13, 0xdd, 0x25, +}; +static const unsigned char kat1296_addin0[] = {0}; +static const unsigned char kat1296_addin1[] = {0}; +static const unsigned char kat1296_retbits[] = { + 0xe4, 0xf5, 0x46, 0x3c, 0xd4, 0xd7, 0x7d, 0xa2, 0x3b, 0xfe, 0xd0, 0xf6, + 0x2f, 0x29, 0x23, 0xbe, 0xad, 0x6a, 0x46, 0x4d, 0x16, 0x6d, 0xda, 0x84, + 0xcc, 0xfd, 0xdb, 0x0f, 0xd3, 0x6a, 0x32, 0xa0, 0xe8, 0xc0, 0xdc, 0xcf, + 0xa1, 0x54, 0x8a, 0xfa, 0xf2, 0x9a, 0xbb, 0xd8, 0x53, 0xad, 0x8d, 0x37, + 0xa8, 0x2f, 0x3c, 0x16, 0xb2, 0x9f, 0x5b, 0x67, 0x93, 0xeb, 0x35, 0x96, + 0xe1, 0xb3, 0x5c, 0x0a, +}; +static const struct drbg_kat_no_reseed kat1296_t = { + 5, kat1296_entropyin, kat1296_nonce, kat1296_persstr, + kat1296_addin0, kat1296_addin1, kat1296_retbits +}; +static const struct drbg_kat kat1296 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1296_t +}; + +static const unsigned char kat1297_entropyin[] = { + 0x80, 0xf7, 0x10, 0xdd, 0xab, 0x86, 0xa0, 0xd0, 0x9b, 0xa9, 0xff, 0x80, + 0x98, 0x51, 0x2c, 0x41, 0xe2, 0x0c, 0x54, 0x87, 0x84, 0x18, 0xae, 0x7a, + 0x67, 0x00, 0xb7, 0x78, 0x0c, 0xf6, 0x7a, 0x4e, 0x30, 0x56, 0x5e, 0xfc, + 0xd6, 0xbd, 0x50, 0xe0, 0xae, 0x1a, 0x77, 0x8d, 0x5a, 0x18, 0xfd, 0x2d, +}; +static const unsigned char kat1297_nonce[] = {0}; +static const unsigned char kat1297_persstr[] = { + 0xa0, 0x30, 0xe8, 0x34, 0x5f, 0xdf, 0xa9, 0x67, 0xa1, 0x84, 0x41, 0x3a, + 0x4d, 0x48, 0x1d, 0x88, 0x7f, 0xa6, 0x47, 0xbc, 0x46, 0x04, 0x3c, 0x6f, + 0x40, 0x57, 0xe7, 0x01, 0x1b, 0xaa, 0x9e, 0xd1, 0x15, 0xf3, 0x96, 0x88, + 0xa4, 0xfe, 0x5c, 0xda, 0xef, 0x98, 0xec, 0x51, 0x8d, 0xdb, 0x04, 0x0c, +}; +static const unsigned char kat1297_addin0[] = {0}; +static const unsigned char kat1297_addin1[] = {0}; +static const unsigned char kat1297_retbits[] = { + 0x3b, 0xbc, 0xe7, 0x04, 0x1f, 0xad, 0x98, 0x8f, 0x05, 0x59, 0x69, 0xf4, + 0xb5, 0x3a, 0x2f, 0xdd, 0xb6, 0xe4, 0xd0, 0x41, 0x0c, 0x08, 0x0d, 0xa3, + 0xda, 0xd0, 0x5b, 0xce, 0x8e, 0xca, 0x10, 0xb7, 0xed, 0x4e, 0x36, 0x7e, + 0x86, 0x11, 0xb8, 0xde, 0x28, 0x48, 0x4f, 0xe6, 0x42, 0xd5, 0x75, 0xda, + 0xf2, 0x54, 0x25, 0x98, 0x58, 0xaa, 0x22, 0xb8, 0xcb, 0xfc, 0x96, 0x29, + 0x96, 0x05, 0x82, 0x0d, +}; +static const struct drbg_kat_no_reseed kat1297_t = { + 6, kat1297_entropyin, kat1297_nonce, kat1297_persstr, + kat1297_addin0, kat1297_addin1, kat1297_retbits +}; +static const struct drbg_kat kat1297 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1297_t +}; + +static const unsigned char kat1298_entropyin[] = { + 0xbb, 0xc1, 0x91, 0x5e, 0x62, 0x3f, 0x50, 0xff, 0x17, 0x68, 0x56, 0x41, + 0xeb, 0xe7, 0xb1, 0xd5, 0x5b, 0xb8, 0xb6, 0xf2, 0xd9, 0x6e, 0x56, 0xe8, + 0x2a, 0x01, 0x3a, 0xe4, 0x22, 0x63, 0xe7, 0x07, 0xec, 0x8f, 0xc7, 0x3d, + 0xb4, 0x58, 0x86, 0x0b, 0xa4, 0x76, 0x49, 0x33, 0x2b, 0xc4, 0xbc, 0x26, +}; +static const unsigned char kat1298_nonce[] = {0}; +static const unsigned char kat1298_persstr[] = { + 0x3f, 0xa6, 0x42, 0xef, 0x2b, 0x0e, 0xa9, 0x38, 0xad, 0x67, 0xc4, 0xf7, + 0xa1, 0x98, 0xd1, 0xbe, 0xbb, 0x06, 0x89, 0xec, 0x5d, 0x90, 0x65, 0xec, + 0xea, 0x59, 0x06, 0xa4, 0xcb, 0xc6, 0xd2, 0x8e, 0x63, 0x78, 0xac, 0xcc, + 0x67, 0xf5, 0xb0, 0x81, 0x10, 0xb4, 0x53, 0x22, 0x9c, 0xe6, 0x94, 0x9f, +}; +static const unsigned char kat1298_addin0[] = {0}; +static const unsigned char kat1298_addin1[] = {0}; +static const unsigned char kat1298_retbits[] = { + 0xa4, 0x50, 0x7a, 0x66, 0x72, 0x59, 0x7e, 0x41, 0xc6, 0xc9, 0x25, 0xc6, + 0x10, 0x44, 0x6f, 0x8e, 0xd1, 0x16, 0x0f, 0x44, 0x79, 0x7f, 0xfa, 0x6b, + 0x35, 0x6e, 0x2a, 0x02, 0x66, 0x0d, 0xe3, 0xe6, 0x3a, 0x87, 0xa1, 0x82, + 0x11, 0x58, 0x79, 0xef, 0xe8, 0x98, 0x10, 0x8b, 0xc6, 0x51, 0xd9, 0xa5, + 0xe3, 0x5d, 0xe2, 0x63, 0x19, 0x0d, 0x89, 0x11, 0x3d, 0x7e, 0xab, 0x4c, + 0x03, 0x57, 0xc7, 0x8d, +}; +static const struct drbg_kat_no_reseed kat1298_t = { + 7, kat1298_entropyin, kat1298_nonce, kat1298_persstr, + kat1298_addin0, kat1298_addin1, kat1298_retbits +}; +static const struct drbg_kat kat1298 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1298_t +}; + +static const unsigned char kat1299_entropyin[] = { + 0xd2, 0x6f, 0xde, 0xf7, 0x05, 0xb3, 0xf0, 0x0a, 0x0f, 0x99, 0xc5, 0xa2, + 0x09, 0xa7, 0x3e, 0x12, 0xaa, 0x0b, 0xb6, 0xb3, 0x61, 0x2b, 0x63, 0xd6, + 0xa4, 0x9f, 0x2b, 0x55, 0x1b, 0x02, 0x08, 0x30, 0x85, 0xd7, 0xd4, 0x9b, + 0xf8, 0x1d, 0x2c, 0x37, 0x35, 0x90, 0xcd, 0xb5, 0xdb, 0x60, 0x06, 0xeb, +}; +static const unsigned char kat1299_nonce[] = {0}; +static const unsigned char kat1299_persstr[] = { + 0x1c, 0x62, 0xb5, 0xd0, 0x7f, 0x7c, 0xa8, 0xc6, 0x0b, 0x69, 0x12, 0x61, + 0x18, 0x34, 0x1d, 0xb5, 0x5e, 0x5a, 0x2c, 0xb2, 0xba, 0xf3, 0x59, 0xd2, + 0x97, 0x19, 0x67, 0x57, 0x06, 0xb8, 0x93, 0x8b, 0xb6, 0x39, 0x8d, 0xd0, + 0x91, 0xc3, 0xf9, 0x11, 0x81, 0x33, 0xa6, 0x39, 0x69, 0x78, 0xbd, 0xf6, +}; +static const unsigned char kat1299_addin0[] = {0}; +static const unsigned char kat1299_addin1[] = {0}; +static const unsigned char kat1299_retbits[] = { + 0x10, 0xf3, 0x33, 0xdd, 0xcd, 0xfa, 0xd0, 0xf8, 0x20, 0x5a, 0x0c, 0x53, + 0xa7, 0x89, 0x52, 0xd1, 0x0d, 0xba, 0x34, 0x15, 0x33, 0xe9, 0xd4, 0xb0, + 0xc3, 0x64, 0x0e, 0xcb, 0x2f, 0x59, 0xc0, 0x1a, 0x94, 0xc1, 0xed, 0xf0, + 0x5e, 0xb5, 0xb2, 0x98, 0x2c, 0x0d, 0x76, 0x02, 0xd6, 0xaa, 0x9c, 0xbc, + 0x16, 0x6b, 0x0f, 0x42, 0x90, 0x10, 0xd6, 0x92, 0xdf, 0xc2, 0x15, 0x83, + 0x96, 0x8b, 0x84, 0x1f, +}; +static const struct drbg_kat_no_reseed kat1299_t = { + 8, kat1299_entropyin, kat1299_nonce, kat1299_persstr, + kat1299_addin0, kat1299_addin1, kat1299_retbits +}; +static const struct drbg_kat kat1299 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1299_t +}; + +static const unsigned char kat1300_entropyin[] = { + 0x8d, 0xa9, 0x23, 0x05, 0x68, 0xf5, 0x62, 0xa4, 0x4c, 0xe6, 0x52, 0x63, + 0x63, 0x48, 0xcc, 0x9f, 0xee, 0xea, 0x46, 0x72, 0x63, 0x81, 0xed, 0x95, + 0x55, 0x72, 0x14, 0xad, 0xf5, 0xad, 0xac, 0x0d, 0x94, 0xe2, 0x00, 0x83, + 0xd8, 0xd3, 0x27, 0xee, 0xfe, 0xe3, 0x83, 0xa2, 0x18, 0x91, 0xb4, 0x2a, +}; +static const unsigned char kat1300_nonce[] = {0}; +static const unsigned char kat1300_persstr[] = { + 0x74, 0x36, 0x3f, 0xd1, 0x9c, 0xaa, 0x5c, 0x2e, 0x13, 0x0e, 0x5c, 0xba, + 0xea, 0x8f, 0xc1, 0x8a, 0x04, 0xde, 0x26, 0x15, 0xd9, 0xbf, 0xca, 0x07, + 0x1e, 0xaa, 0xe9, 0xc1, 0x6f, 0x26, 0xfb, 0x9e, 0xe8, 0xbe, 0xd9, 0x8c, + 0x61, 0x5d, 0xc4, 0xfd, 0xcc, 0x68, 0x23, 0x3b, 0x16, 0x6e, 0x8f, 0x89, +}; +static const unsigned char kat1300_addin0[] = {0}; +static const unsigned char kat1300_addin1[] = {0}; +static const unsigned char kat1300_retbits[] = { + 0x3f, 0xc8, 0x59, 0x13, 0x0c, 0xa0, 0xd9, 0x50, 0x0e, 0x79, 0x77, 0xd1, + 0x29, 0x50, 0x64, 0x06, 0xa2, 0xe1, 0x4a, 0x77, 0x33, 0xc1, 0x49, 0x0f, + 0x7e, 0x4d, 0x93, 0x69, 0x0d, 0x4f, 0xab, 0x90, 0x4c, 0xdb, 0x3a, 0x84, + 0x7e, 0x4d, 0x40, 0xa2, 0x58, 0x18, 0xa8, 0x08, 0xde, 0x7f, 0x14, 0x62, + 0x12, 0x1b, 0x13, 0x6c, 0x84, 0x6e, 0x57, 0x80, 0x9f, 0x42, 0x07, 0x26, + 0x5a, 0x13, 0xe2, 0x37, +}; +static const struct drbg_kat_no_reseed kat1300_t = { + 9, kat1300_entropyin, kat1300_nonce, kat1300_persstr, + kat1300_addin0, kat1300_addin1, kat1300_retbits +}; +static const struct drbg_kat kat1300 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1300_t +}; + +static const unsigned char kat1301_entropyin[] = { + 0x85, 0x94, 0x86, 0x20, 0xa7, 0x8d, 0xeb, 0x45, 0x44, 0x9c, 0x84, 0x82, + 0x78, 0x67, 0x70, 0x25, 0xb5, 0x96, 0xb6, 0x27, 0xd1, 0xf0, 0x61, 0xbf, + 0x44, 0x9b, 0x14, 0x2b, 0x5f, 0x8b, 0x84, 0x3c, 0x3c, 0x04, 0x9d, 0xe2, + 0x53, 0xb8, 0x46, 0xd3, 0x3b, 0xd0, 0x73, 0x3f, 0xc9, 0x2f, 0x34, 0x54, +}; +static const unsigned char kat1301_nonce[] = {0}; +static const unsigned char kat1301_persstr[] = { + 0xa5, 0x47, 0x71, 0xc0, 0xd1, 0xa5, 0xc6, 0xdf, 0x3e, 0x7f, 0x30, 0xa6, + 0x20, 0x8e, 0x35, 0xaa, 0x4d, 0x65, 0xc5, 0xb6, 0x54, 0x80, 0x23, 0x60, + 0xce, 0xbe, 0xb8, 0x0d, 0x2c, 0xd0, 0x50, 0x9c, 0xa3, 0x7b, 0x7e, 0xa8, + 0x49, 0xf9, 0x43, 0x9f, 0x3e, 0xc5, 0x07, 0x15, 0x40, 0x82, 0xc4, 0x28, +}; +static const unsigned char kat1301_addin0[] = {0}; +static const unsigned char kat1301_addin1[] = {0}; +static const unsigned char kat1301_retbits[] = { + 0x02, 0x8e, 0x0e, 0x6a, 0x5a, 0xb8, 0x7d, 0x46, 0x99, 0xbe, 0x8b, 0x29, + 0x0b, 0x9e, 0x45, 0x84, 0x73, 0x42, 0x00, 0x69, 0xee, 0x61, 0x8e, 0x04, + 0xc3, 0x46, 0xe0, 0xa6, 0x23, 0x15, 0x8f, 0xbc, 0x91, 0x5d, 0x36, 0x36, + 0x8f, 0xea, 0x88, 0x7e, 0x2c, 0x48, 0x20, 0x2c, 0x1b, 0xea, 0xfe, 0x8c, + 0xee, 0x27, 0x07, 0x4c, 0x73, 0x2f, 0x12, 0x34, 0x4e, 0x90, 0x4f, 0x55, + 0xf5, 0x81, 0xca, 0xbc, +}; +static const struct drbg_kat_no_reseed kat1301_t = { + 10, kat1301_entropyin, kat1301_nonce, kat1301_persstr, + kat1301_addin0, kat1301_addin1, kat1301_retbits +}; +static const struct drbg_kat kat1301 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1301_t +}; + +static const unsigned char kat1302_entropyin[] = { + 0xea, 0xa3, 0xaa, 0x6a, 0x7e, 0x87, 0x2c, 0x85, 0xcf, 0x48, 0xf2, 0x90, + 0x94, 0x4c, 0x3e, 0x2c, 0x17, 0xf6, 0x76, 0xe6, 0xbf, 0x5c, 0x93, 0x5c, + 0xb9, 0x31, 0x7c, 0x97, 0xac, 0x29, 0x4e, 0x31, 0xad, 0xfb, 0x10, 0xbb, + 0xd2, 0x44, 0x36, 0x1e, 0xdc, 0xe9, 0x3c, 0x17, 0x31, 0x53, 0xcc, 0xf6, +}; +static const unsigned char kat1302_nonce[] = {0}; +static const unsigned char kat1302_persstr[] = { + 0x66, 0xed, 0x47, 0x05, 0x72, 0xd9, 0x15, 0xd8, 0x12, 0x01, 0xc3, 0xdf, + 0xec, 0x4d, 0x0b, 0x7d, 0xfe, 0xab, 0x8f, 0x8b, 0x7d, 0x63, 0x58, 0x43, + 0x02, 0x06, 0xbb, 0x03, 0xcb, 0x94, 0xd8, 0x5f, 0x27, 0xb0, 0x3e, 0xb5, + 0x7d, 0xe4, 0x6e, 0x75, 0x95, 0x23, 0xc4, 0x46, 0x96, 0x57, 0x20, 0x76, +}; +static const unsigned char kat1302_addin0[] = {0}; +static const unsigned char kat1302_addin1[] = {0}; +static const unsigned char kat1302_retbits[] = { + 0x12, 0xe8, 0xf9, 0xa3, 0x29, 0xb0, 0xaf, 0x70, 0x5c, 0x6c, 0x43, 0xf5, + 0xc4, 0x0a, 0x82, 0x33, 0x05, 0xed, 0x82, 0x77, 0x9d, 0x40, 0x76, 0x59, + 0x78, 0x2b, 0x47, 0x41, 0x62, 0x46, 0xd9, 0x62, 0x4c, 0xfd, 0xee, 0x72, + 0x03, 0x90, 0x33, 0xc0, 0xad, 0x56, 0x7a, 0xd0, 0xa8, 0x2c, 0xd1, 0x87, + 0x2c, 0xd4, 0x60, 0xc6, 0x8b, 0x5c, 0xdb, 0xaa, 0x43, 0x86, 0x15, 0xbf, + 0xd1, 0x3c, 0x97, 0x69, +}; +static const struct drbg_kat_no_reseed kat1302_t = { + 11, kat1302_entropyin, kat1302_nonce, kat1302_persstr, + kat1302_addin0, kat1302_addin1, kat1302_retbits +}; +static const struct drbg_kat kat1302 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1302_t +}; + +static const unsigned char kat1303_entropyin[] = { + 0xa2, 0x3e, 0xa0, 0xbf, 0x45, 0xc9, 0xad, 0x04, 0xbc, 0x95, 0x6d, 0xc6, + 0xb9, 0x9c, 0xae, 0x49, 0x43, 0xf2, 0x87, 0xe2, 0xc0, 0xff, 0x9f, 0xcc, + 0xb6, 0xf8, 0xbc, 0xf0, 0x95, 0x84, 0xe0, 0x68, 0x69, 0x74, 0x6b, 0x8b, + 0x02, 0x7a, 0x02, 0x7a, 0x2b, 0xfe, 0xf9, 0x75, 0x52, 0x2b, 0xc3, 0x7a, +}; +static const unsigned char kat1303_nonce[] = {0}; +static const unsigned char kat1303_persstr[] = { + 0xaf, 0x35, 0x59, 0x4b, 0xd4, 0x92, 0x60, 0xa3, 0xd3, 0xee, 0xcd, 0xef, + 0x26, 0x0d, 0x1f, 0x73, 0x26, 0x6c, 0xdf, 0x25, 0x6f, 0x11, 0x65, 0x9e, + 0x76, 0x49, 0xc3, 0x7d, 0x7f, 0xb2, 0xd7, 0xc6, 0xe5, 0x4c, 0xd4, 0xb5, + 0x21, 0x8f, 0x05, 0x4b, 0x63, 0xed, 0x28, 0x23, 0xab, 0x67, 0xa1, 0x80, +}; +static const unsigned char kat1303_addin0[] = {0}; +static const unsigned char kat1303_addin1[] = {0}; +static const unsigned char kat1303_retbits[] = { + 0xaa, 0x7f, 0x07, 0x0d, 0x79, 0x72, 0xcd, 0x15, 0x6e, 0xc9, 0xb3, 0xd1, + 0xdc, 0x37, 0xe1, 0xbd, 0x9c, 0x2b, 0x6d, 0x51, 0x2f, 0xa3, 0x18, 0xf2, + 0x2c, 0x42, 0xd5, 0x30, 0x92, 0xfd, 0x05, 0x36, 0x5b, 0x35, 0xe0, 0xd0, + 0x35, 0x41, 0xf9, 0x48, 0xc3, 0x2f, 0xc3, 0x10, 0x7e, 0x4f, 0x9e, 0xae, + 0xc3, 0x4f, 0xc2, 0xf4, 0xf9, 0xd7, 0x8a, 0x26, 0x37, 0xb2, 0xec, 0xf7, + 0xe2, 0xec, 0x10, 0xf2, +}; +static const struct drbg_kat_no_reseed kat1303_t = { + 12, kat1303_entropyin, kat1303_nonce, kat1303_persstr, + kat1303_addin0, kat1303_addin1, kat1303_retbits +}; +static const struct drbg_kat kat1303 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1303_t +}; + +static const unsigned char kat1304_entropyin[] = { + 0x39, 0x6d, 0x78, 0x8f, 0xbb, 0x82, 0x8c, 0x29, 0x64, 0x3b, 0xbf, 0x7e, + 0x42, 0x34, 0xd4, 0xb3, 0x43, 0xbc, 0x99, 0x77, 0xeb, 0xd0, 0xc0, 0x8d, + 0x17, 0x29, 0x6c, 0xad, 0x99, 0x58, 0x7a, 0x8d, 0x29, 0x90, 0x39, 0xb0, + 0x37, 0xbc, 0xc5, 0x1d, 0xcf, 0xaa, 0x14, 0x5d, 0x03, 0x4c, 0x6b, 0x51, +}; +static const unsigned char kat1304_nonce[] = {0}; +static const unsigned char kat1304_persstr[] = { + 0x90, 0x88, 0x2c, 0x27, 0x59, 0xf6, 0x10, 0xac, 0xaf, 0xc6, 0xbc, 0xe6, + 0xf9, 0x08, 0xcf, 0x31, 0x11, 0x73, 0x23, 0xc4, 0x38, 0x77, 0xa9, 0x31, + 0xfd, 0xe2, 0x7a, 0x25, 0xc1, 0xa9, 0x75, 0xff, 0xc4, 0x83, 0xc2, 0x4e, + 0x00, 0xe3, 0x8e, 0x7a, 0x20, 0xd1, 0xda, 0x24, 0xb9, 0x40, 0xc3, 0xb3, +}; +static const unsigned char kat1304_addin0[] = {0}; +static const unsigned char kat1304_addin1[] = {0}; +static const unsigned char kat1304_retbits[] = { + 0x67, 0x9d, 0x9a, 0xe0, 0xeb, 0x82, 0xa4, 0x0d, 0x29, 0x4b, 0x65, 0x80, + 0x6f, 0x1e, 0x2f, 0xdf, 0x2c, 0x5d, 0xf5, 0xc3, 0xe2, 0x0f, 0xbc, 0x06, + 0xcd, 0x16, 0xbb, 0xfb, 0x64, 0x77, 0xd1, 0x49, 0xf1, 0xe5, 0x91, 0xf8, + 0x92, 0x31, 0x81, 0x18, 0xdb, 0xac, 0x4f, 0x2d, 0x7e, 0x5d, 0x63, 0x54, + 0x97, 0x41, 0x13, 0xb2, 0xc2, 0x5f, 0x52, 0x80, 0xa0, 0x86, 0x28, 0x98, + 0xe2, 0xcd, 0x02, 0xe8, +}; +static const struct drbg_kat_no_reseed kat1304_t = { + 13, kat1304_entropyin, kat1304_nonce, kat1304_persstr, + kat1304_addin0, kat1304_addin1, kat1304_retbits +}; +static const struct drbg_kat kat1304 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1304_t +}; + +static const unsigned char kat1305_entropyin[] = { + 0x4e, 0x67, 0x68, 0xb6, 0x63, 0xb1, 0x83, 0x8f, 0xbd, 0x56, 0xc7, 0x8b, + 0x00, 0x2c, 0x08, 0xc2, 0x81, 0x21, 0x66, 0x22, 0x38, 0x45, 0x6e, 0xa9, + 0x3c, 0x4b, 0x28, 0x6f, 0x4a, 0x1d, 0x6a, 0xa2, 0xa1, 0xf5, 0xd2, 0xcf, + 0x8e, 0x59, 0xd4, 0x64, 0xed, 0x37, 0xa6, 0x22, 0x80, 0x01, 0xf7, 0xf8, +}; +static const unsigned char kat1305_nonce[] = {0}; +static const unsigned char kat1305_persstr[] = { + 0x47, 0xc2, 0x40, 0x38, 0x73, 0x2c, 0x32, 0xba, 0xf7, 0xe1, 0xe7, 0x1f, + 0xb0, 0xb7, 0x4b, 0x74, 0xec, 0x05, 0x5a, 0xdb, 0x88, 0xf8, 0xcf, 0x11, + 0x1f, 0xc2, 0x75, 0x98, 0xea, 0x74, 0x87, 0x2f, 0xde, 0x60, 0x82, 0x66, + 0xa8, 0xf4, 0x91, 0x05, 0x28, 0x2c, 0x2c, 0xa7, 0x09, 0x3a, 0xce, 0xa2, +}; +static const unsigned char kat1305_addin0[] = {0}; +static const unsigned char kat1305_addin1[] = {0}; +static const unsigned char kat1305_retbits[] = { + 0xb1, 0xce, 0x96, 0xd8, 0x6e, 0x77, 0xa2, 0x51, 0xc4, 0xff, 0xfe, 0x5d, + 0xe3, 0x1e, 0x91, 0x99, 0xa1, 0x9f, 0xa2, 0x42, 0xb0, 0x3b, 0x00, 0x5c, + 0xf0, 0xb6, 0xa2, 0x3e, 0xa3, 0xa0, 0xc5, 0xb8, 0x7e, 0xdc, 0xbc, 0x77, + 0xd0, 0x01, 0x9f, 0x24, 0xd8, 0xc0, 0x59, 0x4a, 0x4e, 0xdb, 0xa0, 0x54, + 0xb3, 0x2d, 0x2c, 0x9e, 0x5e, 0x2f, 0x08, 0x93, 0xc4, 0x24, 0xb1, 0x18, + 0x87, 0xb0, 0xbe, 0x48, +}; +static const struct drbg_kat_no_reseed kat1305_t = { + 14, kat1305_entropyin, kat1305_nonce, kat1305_persstr, + kat1305_addin0, kat1305_addin1, kat1305_retbits +}; +static const struct drbg_kat kat1305 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1305_t +}; + +static const unsigned char kat1306_entropyin[] = { + 0xb9, 0x12, 0x80, 0xba, 0xb6, 0x8e, 0x28, 0x27, 0xd9, 0xe1, 0x51, 0xa4, + 0x8e, 0x4b, 0x6a, 0x08, 0x12, 0xfe, 0x29, 0x7d, 0xcb, 0x40, 0xc5, 0xfb, + 0x91, 0x95, 0x6f, 0x32, 0x6c, 0xf9, 0x98, 0xf5, 0xe6, 0x14, 0x48, 0x86, + 0x70, 0x05, 0x41, 0xb0, 0xb6, 0xc2, 0x6a, 0xd7, 0xa7, 0xaa, 0xac, 0xae, +}; +static const unsigned char kat1306_nonce[] = {0}; +static const unsigned char kat1306_persstr[] = { + 0x24, 0x40, 0x41, 0xd6, 0x2b, 0x3a, 0xe7, 0x09, 0x71, 0x90, 0xe1, 0xe4, + 0x3a, 0x40, 0xcb, 0xbb, 0x2d, 0x10, 0x2b, 0xa2, 0x04, 0xbe, 0x6b, 0xa3, + 0x52, 0xe7, 0x87, 0xb1, 0xef, 0x50, 0x8c, 0xd1, 0x97, 0x48, 0x6b, 0x5e, + 0xa7, 0xcb, 0x17, 0xec, 0xb0, 0x00, 0xbd, 0xc9, 0x76, 0xb3, 0xe2, 0x0a, +}; +static const unsigned char kat1306_addin0[] = { + 0x01, 0x5f, 0x53, 0xd7, 0xb4, 0xe6, 0x41, 0x56, 0x46, 0x99, 0x44, 0x56, + 0x6a, 0x21, 0x95, 0x79, 0xd5, 0x4b, 0x49, 0x8d, 0x5e, 0x3f, 0xbe, 0x42, + 0x00, 0x1d, 0xdb, 0x13, 0x3e, 0x1a, 0x91, 0x37, 0xb8, 0x4f, 0x57, 0xde, + 0xa8, 0xb9, 0x15, 0xbc, 0x5f, 0xe4, 0xf6, 0x6e, 0x8e, 0x71, 0xb1, 0x3f, +}; +static const unsigned char kat1306_addin1[] = { + 0xed, 0x1f, 0x74, 0xc1, 0xdb, 0xbb, 0x5b, 0x30, 0x94, 0xfe, 0x5d, 0x01, + 0xf1, 0x05, 0xd4, 0x12, 0xd5, 0x7e, 0x5c, 0xd1, 0x7e, 0xeb, 0xcf, 0x5c, + 0xfc, 0x43, 0x79, 0x72, 0x0f, 0xdd, 0x26, 0x9c, 0xd9, 0x39, 0x47, 0xad, + 0x1e, 0xcd, 0xc8, 0xd8, 0x8a, 0x8d, 0x4d, 0x3e, 0xd3, 0x87, 0x13, 0x8e, +}; +static const unsigned char kat1306_retbits[] = { + 0x54, 0xbb, 0x9c, 0x7d, 0xf6, 0x5e, 0xd9, 0x5d, 0xff, 0xf1, 0x17, 0x8b, + 0xdf, 0x09, 0x8f, 0xca, 0x7b, 0x55, 0x59, 0xbf, 0xe8, 0xfe, 0x97, 0x6c, + 0x1c, 0x83, 0x86, 0x40, 0x93, 0x58, 0x3a, 0x1a, 0x18, 0x1e, 0xf5, 0x5a, + 0x0d, 0x31, 0x71, 0x11, 0x97, 0xb8, 0x23, 0x5f, 0x8f, 0x79, 0x9c, 0x3c, + 0x1e, 0xc4, 0xa0, 0x19, 0x4c, 0x72, 0x59, 0xf8, 0x0c, 0xa1, 0x50, 0x08, + 0x21, 0xd2, 0x95, 0x3f, +}; +static const struct drbg_kat_no_reseed kat1306_t = { + 0, kat1306_entropyin, kat1306_nonce, kat1306_persstr, + kat1306_addin0, kat1306_addin1, kat1306_retbits +}; +static const struct drbg_kat kat1306 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1306_t +}; + +static const unsigned char kat1307_entropyin[] = { + 0x5a, 0x04, 0x78, 0xe7, 0x86, 0xd9, 0x47, 0x25, 0x05, 0x19, 0x6a, 0x46, + 0xd2, 0xd8, 0xb9, 0x14, 0x4b, 0x71, 0xca, 0x6c, 0x4b, 0x9f, 0xff, 0xe1, + 0xc1, 0xea, 0x5f, 0xb7, 0x53, 0x3f, 0x72, 0x0d, 0x84, 0xc6, 0x72, 0xe6, + 0x51, 0x1d, 0x53, 0xdf, 0xd3, 0x7e, 0xee, 0x61, 0x14, 0xca, 0x41, 0x72, +}; +static const unsigned char kat1307_nonce[] = {0}; +static const unsigned char kat1307_persstr[] = { + 0xc3, 0x7d, 0x59, 0x5b, 0x7c, 0x28, 0x6a, 0xe5, 0x0e, 0xa5, 0x38, 0xb8, + 0xab, 0x5f, 0x6d, 0xe9, 0x14, 0x79, 0x88, 0x10, 0x3b, 0x24, 0xce, 0x94, + 0x61, 0x5e, 0x15, 0x30, 0x14, 0xaf, 0xbf, 0x9b, 0x5e, 0x02, 0x5c, 0xf8, + 0xec, 0x00, 0xf1, 0x30, 0x7d, 0xcc, 0xe0, 0x0c, 0x6e, 0xd9, 0x7d, 0x39, +}; +static const unsigned char kat1307_addin0[] = { + 0xbf, 0x19, 0xc0, 0xee, 0x9a, 0x8b, 0xe1, 0xa5, 0x0f, 0x71, 0xdc, 0x20, + 0x9e, 0x32, 0x7b, 0xb8, 0x82, 0xf2, 0xc4, 0x5e, 0xf1, 0xb7, 0xf9, 0xaf, + 0xde, 0xa9, 0x50, 0x27, 0x2d, 0x11, 0x22, 0x3f, 0x3e, 0xbf, 0xc7, 0x71, + 0x6d, 0xcf, 0x4c, 0xa2, 0x6d, 0x9a, 0xf8, 0x33, 0x38, 0xbb, 0x9f, 0x4e, +}; +static const unsigned char kat1307_addin1[] = { + 0x66, 0xf6, 0x68, 0xa0, 0xec, 0x07, 0x88, 0xe7, 0x72, 0x77, 0x93, 0x88, + 0x83, 0xd9, 0x46, 0xf8, 0x71, 0xc8, 0xfb, 0xfd, 0xc8, 0x25, 0x57, 0x99, + 0xb7, 0x34, 0x62, 0x1e, 0x92, 0xcd, 0xac, 0x2a, 0x20, 0x5b, 0xdc, 0x7d, + 0x9e, 0x18, 0x00, 0xe5, 0xda, 0x48, 0x31, 0xe1, 0xd9, 0x2d, 0x66, 0x7e, +}; +static const unsigned char kat1307_retbits[] = { + 0x63, 0xc9, 0x14, 0xb7, 0x31, 0x70, 0x6e, 0x6c, 0x61, 0xf8, 0x6d, 0x0b, + 0x69, 0x70, 0x3f, 0x48, 0x21, 0xe1, 0xe4, 0xe9, 0xf9, 0xa9, 0x78, 0x95, + 0x68, 0x18, 0xfe, 0x5f, 0x3b, 0x49, 0xa2, 0xa4, 0xe8, 0x17, 0x0a, 0xf0, + 0x83, 0x1d, 0x68, 0x67, 0x97, 0x6c, 0x03, 0xa7, 0xd9, 0xa8, 0xd8, 0xd0, + 0x5f, 0x12, 0x0e, 0x0c, 0x95, 0xa5, 0xbd, 0xa7, 0xd5, 0x05, 0xd8, 0x39, + 0x49, 0xdd, 0x1f, 0xa1, +}; +static const struct drbg_kat_no_reseed kat1307_t = { + 1, kat1307_entropyin, kat1307_nonce, kat1307_persstr, + kat1307_addin0, kat1307_addin1, kat1307_retbits +}; +static const struct drbg_kat kat1307 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1307_t +}; + +static const unsigned char kat1308_entropyin[] = { + 0x7c, 0x5d, 0x90, 0x70, 0x3b, 0x8a, 0xc7, 0x0f, 0x23, 0x73, 0x24, 0x9c, + 0xa7, 0x15, 0x41, 0x71, 0x7a, 0x31, 0xea, 0x32, 0xfc, 0x28, 0x0d, 0xd7, + 0x5b, 0x09, 0x01, 0x98, 0x1b, 0xe2, 0xa5, 0x53, 0xd9, 0x05, 0x32, 0x97, + 0xec, 0xbe, 0x86, 0xfd, 0x1c, 0x1c, 0x71, 0x4c, 0x52, 0x29, 0x9e, 0x52, +}; +static const unsigned char kat1308_nonce[] = {0}; +static const unsigned char kat1308_persstr[] = { + 0xdc, 0x07, 0x2f, 0x68, 0xfa, 0x77, 0x03, 0x23, 0x42, 0xb0, 0xf5, 0xa2, + 0xd9, 0xad, 0xa1, 0xd0, 0xad, 0xa2, 0x14, 0xb4, 0xd0, 0x8e, 0xfb, 0x39, + 0xdd, 0xc2, 0xac, 0xfb, 0x98, 0xdf, 0x7f, 0xce, 0x4c, 0x75, 0x56, 0x45, + 0xcd, 0x86, 0x93, 0x74, 0x90, 0x6e, 0xf6, 0x9e, 0x85, 0x7e, 0xfb, 0xc3, +}; +static const unsigned char kat1308_addin0[] = { + 0x52, 0x25, 0xc4, 0x2f, 0x03, 0xce, 0x29, 0x71, 0xc5, 0x0b, 0xc3, 0x4e, + 0xad, 0x8d, 0x6f, 0x17, 0x82, 0xe1, 0xf3, 0xfd, 0xfd, 0x9b, 0x94, 0x9a, + 0x1d, 0xac, 0xd0, 0xd4, 0x3f, 0x2b, 0xe3, 0xab, 0x7c, 0x3d, 0x3e, 0x5a, + 0x68, 0xbb, 0xa4, 0x74, 0x68, 0x1a, 0xc6, 0x27, 0xff, 0xe0, 0xc0, 0x6c, +}; +static const unsigned char kat1308_addin1[] = { + 0xdc, 0x91, 0xd7, 0xb7, 0xb9, 0x94, 0x79, 0x0f, 0x06, 0xc4, 0x70, 0x19, + 0x33, 0x25, 0x7c, 0x96, 0x01, 0xa0, 0x62, 0xb0, 0x50, 0xe6, 0xc0, 0x3a, + 0x56, 0x8f, 0xc5, 0x50, 0x48, 0xc6, 0xf4, 0x49, 0xe5, 0x70, 0x16, 0x2e, + 0xae, 0xf2, 0x99, 0xb4, 0x2d, 0x70, 0x18, 0x16, 0xcd, 0xe0, 0x24, 0xe4, +}; +static const unsigned char kat1308_retbits[] = { + 0xde, 0xf8, 0x91, 0x1b, 0xf1, 0xe1, 0xa9, 0x97, 0xd8, 0x61, 0x84, 0xe2, + 0xdb, 0x83, 0x3e, 0x60, 0x45, 0xcd, 0xc8, 0x66, 0x93, 0x28, 0xc8, 0x92, + 0xbc, 0x25, 0xae, 0xe8, 0xb0, 0xed, 0xed, 0x16, 0x3d, 0xa5, 0xf9, 0x0f, + 0xb3, 0x72, 0x08, 0x84, 0xac, 0x3c, 0x3b, 0xaa, 0x5f, 0xf9, 0x7d, 0x63, + 0x3e, 0xde, 0x59, 0x37, 0x0e, 0x40, 0x12, 0x2b, 0xbc, 0x6c, 0x96, 0x53, + 0x26, 0x32, 0xd0, 0xb8, +}; +static const struct drbg_kat_no_reseed kat1308_t = { + 2, kat1308_entropyin, kat1308_nonce, kat1308_persstr, + kat1308_addin0, kat1308_addin1, kat1308_retbits +}; +static const struct drbg_kat kat1308 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1308_t +}; + +static const unsigned char kat1309_entropyin[] = { + 0x44, 0x25, 0x96, 0xe3, 0x8d, 0x93, 0x07, 0x80, 0x70, 0x6a, 0x05, 0xf3, + 0x2c, 0x88, 0xde, 0x80, 0xa4, 0x74, 0x10, 0xfd, 0x36, 0x0f, 0x4d, 0x66, + 0x43, 0xde, 0x98, 0xcc, 0xf4, 0x58, 0x72, 0x4a, 0xe7, 0x72, 0xf8, 0x12, + 0x91, 0x2f, 0x51, 0xbd, 0xb4, 0xc2, 0x67, 0xc9, 0x44, 0x47, 0x1a, 0x4b, +}; +static const unsigned char kat1309_nonce[] = {0}; +static const unsigned char kat1309_persstr[] = { + 0x97, 0x4c, 0x8b, 0x9c, 0x77, 0x5c, 0x67, 0x3a, 0x21, 0x27, 0x26, 0x54, + 0xa6, 0x60, 0x48, 0x55, 0xe7, 0x77, 0x5a, 0x2a, 0x63, 0x25, 0x0e, 0x2b, + 0xbe, 0x12, 0xc3, 0x90, 0xa9, 0x9d, 0x3c, 0x51, 0xb2, 0x5a, 0xb5, 0x22, + 0xcb, 0x3f, 0x69, 0xa3, 0x63, 0x24, 0x6e, 0x12, 0x5d, 0x8c, 0xbf, 0xea, +}; +static const unsigned char kat1309_addin0[] = { + 0x48, 0xe7, 0xe4, 0x7b, 0x56, 0x92, 0x69, 0xef, 0x82, 0xcb, 0xa9, 0xa8, + 0x2c, 0x67, 0x3f, 0x0a, 0x36, 0x0d, 0xb8, 0x8b, 0x09, 0x47, 0x51, 0x66, + 0x95, 0x2e, 0xbd, 0x6f, 0xe6, 0x56, 0x2b, 0x2e, 0xf1, 0x0e, 0xc4, 0x66, + 0x4d, 0x74, 0xa9, 0xdf, 0xf4, 0x07, 0x16, 0x29, 0xc0, 0x77, 0xd2, 0xab, +}; +static const unsigned char kat1309_addin1[] = { + 0x09, 0x49, 0xbc, 0x89, 0x2c, 0x06, 0xcc, 0xe1, 0x13, 0x60, 0x94, 0xfb, + 0xbc, 0x3c, 0x55, 0x46, 0x24, 0x56, 0x67, 0xf0, 0xdc, 0x5b, 0xf6, 0x06, + 0xcb, 0x6c, 0x20, 0xdb, 0x6c, 0xa3, 0xd3, 0xd6, 0xfb, 0xa8, 0xe0, 0xd0, + 0x99, 0x62, 0x68, 0x06, 0x6a, 0xcb, 0xd9, 0x09, 0x6c, 0xc9, 0xbe, 0x49, +}; +static const unsigned char kat1309_retbits[] = { + 0x8e, 0x0e, 0x4d, 0xf0, 0xa1, 0x9e, 0x60, 0xe8, 0xfa, 0xcb, 0xaa, 0x8f, + 0x95, 0xbf, 0x03, 0xc0, 0x89, 0x0b, 0xf8, 0xf4, 0x21, 0xdc, 0x6f, 0x0a, + 0xe8, 0x7b, 0x2e, 0x08, 0xd4, 0x51, 0x61, 0x43, 0xe2, 0xa6, 0xa0, 0xa5, + 0xa6, 0x80, 0x0d, 0xe7, 0x89, 0x04, 0xe9, 0x57, 0xe7, 0xc2, 0xe9, 0xe0, + 0x7d, 0x57, 0xf0, 0xbb, 0x1b, 0x0c, 0x68, 0x54, 0x0e, 0xd7, 0xd6, 0x64, + 0xa7, 0x1e, 0x8b, 0x94, +}; +static const struct drbg_kat_no_reseed kat1309_t = { + 3, kat1309_entropyin, kat1309_nonce, kat1309_persstr, + kat1309_addin0, kat1309_addin1, kat1309_retbits +}; +static const struct drbg_kat kat1309 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1309_t +}; + +static const unsigned char kat1310_entropyin[] = { + 0x7f, 0x85, 0x1c, 0x0c, 0x00, 0xe7, 0x66, 0x13, 0xc6, 0x7f, 0xa4, 0x67, + 0x18, 0x37, 0x7e, 0xc6, 0x52, 0xf5, 0x60, 0xd3, 0x8a, 0xb5, 0xa7, 0x62, + 0x93, 0xa4, 0x17, 0x8e, 0x24, 0x45, 0x28, 0x93, 0x62, 0x3c, 0xe4, 0xc4, + 0x23, 0xef, 0x44, 0x3c, 0xe9, 0xf8, 0xee, 0xa9, 0x37, 0x9e, 0xe1, 0x07, +}; +static const unsigned char kat1310_nonce[] = {0}; +static const unsigned char kat1310_persstr[] = { + 0xf3, 0x7c, 0xd0, 0x91, 0x36, 0xc1, 0xcf, 0x3d, 0x21, 0x62, 0xe3, 0x84, + 0x67, 0x3e, 0x54, 0x66, 0x34, 0xa9, 0xb8, 0xdc, 0x93, 0x28, 0x8f, 0xea, + 0xb9, 0x7b, 0x3a, 0x63, 0x34, 0xc9, 0xd3, 0xba, 0x25, 0x6c, 0x9f, 0xcc, + 0xd9, 0x10, 0xbb, 0x4c, 0x71, 0x28, 0x64, 0x51, 0x97, 0x7b, 0x5d, 0x0f, +}; +static const unsigned char kat1310_addin0[] = { + 0x45, 0x7a, 0x05, 0x94, 0xc3, 0x08, 0xc4, 0x3c, 0x24, 0x96, 0x3e, 0x02, + 0x96, 0xac, 0x71, 0x82, 0x8b, 0x37, 0x32, 0x2c, 0x1e, 0x5e, 0xa1, 0x7b, + 0xa8, 0xc4, 0xa3, 0x9c, 0xdb, 0xf4, 0x92, 0x1e, 0xfb, 0x12, 0x40, 0x7c, + 0x90, 0x7a, 0xca, 0x9d, 0x2b, 0xbb, 0xb2, 0x96, 0x09, 0xc3, 0xbe, 0x6a, +}; +static const unsigned char kat1310_addin1[] = { + 0xa5, 0x3c, 0x52, 0x22, 0x19, 0x20, 0x19, 0x52, 0x48, 0x65, 0xd6, 0x52, + 0x2b, 0xef, 0xb0, 0x4d, 0x68, 0xaf, 0xe9, 0xf9, 0x50, 0xfd, 0xa1, 0xdf, + 0x9a, 0xee, 0xe5, 0x59, 0xd7, 0x29, 0x36, 0x65, 0x8b, 0xc6, 0x6e, 0x2f, + 0x61, 0xee, 0x30, 0x93, 0xea, 0x4b, 0xb1, 0x47, 0xa0, 0x7a, 0xcf, 0x39, +}; +static const unsigned char kat1310_retbits[] = { + 0x3b, 0x1b, 0x02, 0x8c, 0x2d, 0x85, 0x4f, 0x28, 0xd3, 0x50, 0xdc, 0xea, + 0xbc, 0x3b, 0x7d, 0xbe, 0xc4, 0xfb, 0x52, 0xbe, 0xd9, 0x42, 0x12, 0xb9, + 0x79, 0x6c, 0x4a, 0x30, 0x85, 0x7c, 0xf7, 0x65, 0xfa, 0x46, 0x95, 0x41, + 0xa9, 0xbc, 0x22, 0x33, 0xb3, 0xc6, 0xfd, 0x14, 0x32, 0xcd, 0xe6, 0x5c, + 0xb5, 0x78, 0x51, 0x49, 0x4d, 0xc4, 0xf5, 0x30, 0xa6, 0x85, 0xc6, 0x86, + 0x04, 0x79, 0xf7, 0xc4, +}; +static const struct drbg_kat_no_reseed kat1310_t = { + 4, kat1310_entropyin, kat1310_nonce, kat1310_persstr, + kat1310_addin0, kat1310_addin1, kat1310_retbits +}; +static const struct drbg_kat kat1310 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1310_t +}; + +static const unsigned char kat1311_entropyin[] = { + 0x94, 0xbe, 0xe5, 0x99, 0x32, 0x9c, 0x14, 0x16, 0xfd, 0x2b, 0x50, 0xc0, + 0xfe, 0x40, 0x3f, 0x0e, 0x55, 0xdd, 0xd7, 0x44, 0xe4, 0xe8, 0xf5, 0xee, + 0x5f, 0x3e, 0xba, 0x8e, 0x8b, 0xcf, 0xec, 0x31, 0xe6, 0xf3, 0xa2, 0x54, + 0xaa, 0x67, 0x3b, 0xd6, 0xf4, 0x6b, 0xc2, 0x41, 0x85, 0x04, 0x33, 0xcc, +}; +static const unsigned char kat1311_nonce[] = {0}; +static const unsigned char kat1311_persstr[] = { + 0x3e, 0xb2, 0x03, 0x41, 0x58, 0x1c, 0xf8, 0x8a, 0x3d, 0x77, 0xea, 0x84, + 0x7d, 0xfa, 0x0f, 0x04, 0xc0, 0x7b, 0xf2, 0xbc, 0x09, 0x75, 0x50, 0x40, + 0x92, 0x3e, 0xf2, 0x38, 0xe8, 0x3c, 0x6f, 0x7f, 0x28, 0xa7, 0x5b, 0xbd, + 0x87, 0x5e, 0xc4, 0x59, 0x8d, 0x9b, 0x2d, 0x17, 0x8b, 0x7d, 0xfd, 0x90, +}; +static const unsigned char kat1311_addin0[] = { + 0xd6, 0x6e, 0xe5, 0x77, 0xd5, 0x0d, 0x6f, 0x46, 0xe7, 0x7c, 0x2c, 0x5d, + 0xf2, 0x86, 0x41, 0x28, 0xe5, 0x1e, 0xa4, 0xc4, 0x6a, 0xcc, 0xb7, 0xa4, + 0x71, 0xce, 0xf7, 0x5e, 0x88, 0xff, 0xb9, 0x60, 0x8d, 0x8c, 0xe1, 0x49, + 0x6a, 0xb8, 0xf1, 0x82, 0x09, 0x79, 0x1d, 0x70, 0xeb, 0x6c, 0x39, 0xac, +}; +static const unsigned char kat1311_addin1[] = { + 0xd2, 0x3e, 0x7b, 0x37, 0x40, 0x1d, 0xd3, 0x21, 0x43, 0xf1, 0xe5, 0x5b, + 0x41, 0x92, 0xef, 0x24, 0xdf, 0x81, 0x16, 0x83, 0xa3, 0x04, 0x38, 0xe7, + 0xa3, 0x42, 0xbe, 0x7b, 0x0e, 0x01, 0x4c, 0x6b, 0xd9, 0x98, 0xbd, 0x19, + 0xfa, 0xb2, 0xbf, 0x23, 0x1f, 0x60, 0x33, 0x1c, 0x3f, 0xe3, 0xbe, 0x09, +}; +static const unsigned char kat1311_retbits[] = { + 0x62, 0x2f, 0x4f, 0x90, 0x77, 0x00, 0x71, 0xb0, 0x84, 0x4d, 0xf8, 0x9b, + 0x53, 0xcf, 0xc7, 0x4c, 0xec, 0xb8, 0xe8, 0x95, 0x55, 0x7d, 0xbd, 0x7f, + 0x57, 0x7a, 0x9a, 0xef, 0x51, 0xdd, 0xba, 0x11, 0x5f, 0x7d, 0x11, 0x6a, + 0xec, 0x0e, 0x2e, 0xa1, 0xc9, 0x75, 0xea, 0x87, 0x10, 0xb5, 0xd2, 0x68, + 0x8f, 0xd7, 0x59, 0x00, 0x31, 0xa0, 0xfe, 0x82, 0xab, 0x37, 0xf8, 0x31, + 0x4c, 0x0a, 0xfb, 0x12, +}; +static const struct drbg_kat_no_reseed kat1311_t = { + 5, kat1311_entropyin, kat1311_nonce, kat1311_persstr, + kat1311_addin0, kat1311_addin1, kat1311_retbits +}; +static const struct drbg_kat kat1311 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1311_t +}; + +static const unsigned char kat1312_entropyin[] = { + 0xb7, 0xaa, 0x7a, 0x99, 0xab, 0x1d, 0x6b, 0x2d, 0x95, 0xd2, 0xe3, 0xc3, + 0xe8, 0x09, 0xaf, 0x25, 0xad, 0xd1, 0x10, 0x27, 0x0d, 0xd3, 0x28, 0x71, + 0x31, 0x73, 0xae, 0xd7, 0x09, 0xad, 0x23, 0x6c, 0x8e, 0x5e, 0xca, 0x47, + 0x7f, 0xe5, 0x38, 0x0a, 0x1d, 0xee, 0x60, 0x93, 0x71, 0x4d, 0xf5, 0x6d, +}; +static const unsigned char kat1312_nonce[] = {0}; +static const unsigned char kat1312_persstr[] = { + 0x0a, 0xc4, 0xda, 0xbf, 0xeb, 0xa7, 0xd6, 0xd7, 0x86, 0x86, 0xe0, 0x85, + 0x06, 0x7e, 0x35, 0x49, 0x5f, 0x83, 0x60, 0x0a, 0x9c, 0xe3, 0x13, 0x9b, + 0xac, 0x52, 0x19, 0x75, 0xe6, 0x1b, 0x04, 0x2e, 0xa4, 0x72, 0x28, 0x60, + 0x22, 0x8d, 0x14, 0xb5, 0x7e, 0xca, 0xf2, 0x31, 0x8e, 0xa9, 0x5c, 0xc8, +}; +static const unsigned char kat1312_addin0[] = { + 0x84, 0xad, 0x42, 0x6f, 0xe4, 0x27, 0x33, 0x5f, 0xd6, 0x9f, 0x39, 0x7b, + 0xb9, 0xb6, 0xb0, 0x57, 0xda, 0x85, 0x73, 0x19, 0xc4, 0xfb, 0xa9, 0x40, + 0x38, 0x80, 0x9f, 0x95, 0xcf, 0x1c, 0x72, 0x09, 0x5e, 0xbf, 0x85, 0x34, + 0x68, 0xdc, 0xc2, 0x4d, 0xa4, 0xad, 0xa9, 0xa7, 0x37, 0x60, 0xa6, 0x6c, +}; +static const unsigned char kat1312_addin1[] = { + 0x4b, 0x2e, 0x5a, 0xd8, 0x71, 0x14, 0x37, 0xd2, 0x24, 0x13, 0xce, 0xa1, + 0x66, 0x5c, 0x66, 0xb8, 0x27, 0xbb, 0x7b, 0xe5, 0xcc, 0x4d, 0x3a, 0x92, + 0xc7, 0x6a, 0x29, 0xb6, 0xd1, 0x11, 0xc3, 0xed, 0x7d, 0x22, 0x07, 0x39, + 0x9e, 0x51, 0x48, 0x92, 0x5f, 0x49, 0x3d, 0xfb, 0x39, 0x8f, 0x63, 0xb0, +}; +static const unsigned char kat1312_retbits[] = { + 0x3c, 0x5e, 0x1a, 0x29, 0x93, 0x13, 0xc7, 0xfa, 0x5c, 0xe4, 0x1f, 0xd7, + 0x76, 0x21, 0xe8, 0xd4, 0x97, 0x8b, 0x08, 0x54, 0x4b, 0x0d, 0x45, 0xbb, + 0xd5, 0x9b, 0x5c, 0xd9, 0xc2, 0x60, 0xcf, 0x55, 0xe0, 0x8c, 0x1c, 0x8a, + 0x96, 0xc6, 0xa8, 0xb3, 0x03, 0xf7, 0xf1, 0x74, 0x1d, 0x06, 0x28, 0x05, + 0x84, 0xd6, 0x67, 0x17, 0x97, 0x17, 0x9e, 0x32, 0xbd, 0xb4, 0x5d, 0x28, + 0xa6, 0x56, 0x1e, 0xdf, +}; +static const struct drbg_kat_no_reseed kat1312_t = { + 6, kat1312_entropyin, kat1312_nonce, kat1312_persstr, + kat1312_addin0, kat1312_addin1, kat1312_retbits +}; +static const struct drbg_kat kat1312 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1312_t +}; + +static const unsigned char kat1313_entropyin[] = { + 0x3b, 0x03, 0xba, 0x5b, 0x25, 0xa6, 0x8f, 0x5b, 0x29, 0x84, 0xdd, 0x93, + 0xd0, 0xba, 0x69, 0xa9, 0x0c, 0xac, 0x54, 0x1c, 0x54, 0xe1, 0x7c, 0x5b, + 0x6d, 0x45, 0xeb, 0x7f, 0x19, 0x43, 0x95, 0x21, 0xe1, 0x72, 0x43, 0xbb, + 0x81, 0xb2, 0x68, 0xf9, 0x4f, 0x8c, 0x2e, 0xd8, 0x6b, 0x02, 0x3e, 0x5c, +}; +static const unsigned char kat1313_nonce[] = {0}; +static const unsigned char kat1313_persstr[] = { + 0x0b, 0x92, 0x99, 0x39, 0x9d, 0xb9, 0xc1, 0xbb, 0x05, 0x05, 0x11, 0x25, + 0xee, 0x2d, 0x1c, 0xbb, 0xaa, 0x44, 0x7b, 0xce, 0x70, 0x5a, 0xc1, 0x40, + 0x11, 0xb7, 0x55, 0xd5, 0x5b, 0xb2, 0xa5, 0x21, 0x35, 0xc1, 0xd6, 0x3c, + 0x49, 0x7f, 0x80, 0x77, 0x74, 0xbc, 0xc1, 0x98, 0x33, 0x54, 0xbd, 0x75, +}; +static const unsigned char kat1313_addin0[] = { + 0x4e, 0x41, 0x8c, 0x85, 0xda, 0x70, 0xd1, 0xb7, 0x23, 0x1b, 0xfb, 0x52, + 0x7d, 0xf0, 0x1e, 0xae, 0x33, 0xbd, 0xce, 0xa3, 0x9a, 0x28, 0x0b, 0x72, + 0x93, 0xdc, 0x89, 0x94, 0x22, 0xa5, 0x49, 0x7a, 0xc0, 0x76, 0x5b, 0xf4, + 0x32, 0x34, 0xac, 0xf5, 0xc7, 0x74, 0xec, 0x36, 0x64, 0xc5, 0x6c, 0x9d, +}; +static const unsigned char kat1313_addin1[] = { + 0xa4, 0x18, 0xa9, 0x0d, 0xd6, 0x98, 0x5c, 0x6e, 0x64, 0x48, 0x95, 0x89, + 0x9d, 0x44, 0x34, 0x45, 0xec, 0xa3, 0x5a, 0x7e, 0x26, 0xc7, 0x91, 0x9f, + 0x36, 0x12, 0x93, 0x85, 0xa3, 0xf1, 0x5a, 0xe2, 0x1e, 0x4d, 0xa6, 0x0b, + 0x2d, 0xdb, 0xb7, 0xe1, 0x10, 0x6f, 0x81, 0x0c, 0xf8, 0x54, 0x3c, 0xdd, +}; +static const unsigned char kat1313_retbits[] = { + 0x3c, 0xe6, 0xe5, 0x2a, 0x12, 0xda, 0x13, 0x8a, 0x09, 0x64, 0xa5, 0xff, + 0xa3, 0xf7, 0x43, 0x46, 0x35, 0xea, 0x12, 0x48, 0xfc, 0x68, 0x23, 0xc6, + 0xe8, 0xec, 0x73, 0x84, 0x74, 0xbd, 0x32, 0x02, 0xf0, 0x9f, 0xee, 0x91, + 0x7d, 0xfd, 0xcc, 0x90, 0xc1, 0x28, 0x23, 0x38, 0x8d, 0x17, 0x3b, 0xcf, + 0x04, 0xfb, 0x5a, 0xf3, 0x33, 0xed, 0x2c, 0x88, 0xc7, 0x4a, 0x54, 0x09, + 0xa1, 0x60, 0x91, 0x0b, +}; +static const struct drbg_kat_no_reseed kat1313_t = { + 7, kat1313_entropyin, kat1313_nonce, kat1313_persstr, + kat1313_addin0, kat1313_addin1, kat1313_retbits +}; +static const struct drbg_kat kat1313 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1313_t +}; + +static const unsigned char kat1314_entropyin[] = { + 0xf2, 0x45, 0x79, 0xcb, 0x1b, 0xcc, 0xf3, 0xc1, 0x1c, 0x02, 0x9d, 0xb2, + 0x81, 0xa5, 0x53, 0x37, 0xaf, 0x7c, 0xea, 0x6e, 0xbd, 0x60, 0x6a, 0x74, + 0x57, 0x37, 0x40, 0x51, 0x9f, 0x44, 0x5d, 0xaf, 0x8c, 0x6c, 0x9f, 0x2a, + 0xce, 0xba, 0x6f, 0xbb, 0xe8, 0xbb, 0xd7, 0x20, 0x73, 0x69, 0x3a, 0x87, +}; +static const unsigned char kat1314_nonce[] = {0}; +static const unsigned char kat1314_persstr[] = { + 0xf3, 0x80, 0x1e, 0x0e, 0xc8, 0x44, 0xca, 0xb0, 0xaa, 0x38, 0xb5, 0x7c, + 0xac, 0x9f, 0x64, 0xad, 0x86, 0xc1, 0x48, 0x5e, 0x24, 0x92, 0xb8, 0xd9, + 0x96, 0x36, 0x18, 0x6b, 0x26, 0x1e, 0xf4, 0x7f, 0x5e, 0xd6, 0x7a, 0x0c, + 0xff, 0xb2, 0xe3, 0x9b, 0x2e, 0x93, 0x4f, 0x77, 0x42, 0x42, 0xab, 0x48, +}; +static const unsigned char kat1314_addin0[] = { + 0xec, 0xd8, 0xf1, 0xf9, 0x7e, 0xf7, 0x42, 0xdd, 0xca, 0x7d, 0x35, 0xb0, + 0x7f, 0xc0, 0xb4, 0x2e, 0xc4, 0x55, 0x08, 0x79, 0x98, 0x7b, 0xdf, 0xb3, + 0x00, 0x36, 0x60, 0x93, 0xcb, 0x25, 0x8d, 0x6e, 0xde, 0x44, 0x31, 0x66, + 0x95, 0xd7, 0xc3, 0x5b, 0x71, 0x08, 0x00, 0x36, 0xcc, 0x3a, 0x54, 0x96, +}; +static const unsigned char kat1314_addin1[] = { + 0x9f, 0x97, 0xe2, 0xe5, 0xd7, 0x3c, 0x71, 0x42, 0xbb, 0x85, 0x28, 0xd3, + 0x64, 0xd0, 0x55, 0x6b, 0x0b, 0x9c, 0x19, 0xbc, 0xaa, 0x92, 0x78, 0x40, + 0x3c, 0x22, 0xf1, 0xda, 0x5f, 0x31, 0xfe, 0x02, 0xfb, 0x53, 0xbf, 0xb6, + 0xe4, 0xf2, 0xe9, 0x25, 0x72, 0x9a, 0xef, 0xcd, 0x1a, 0x66, 0x7c, 0x42, +}; +static const unsigned char kat1314_retbits[] = { + 0x18, 0x19, 0xec, 0x28, 0x98, 0xf4, 0x2f, 0x08, 0xe3, 0x78, 0x0a, 0xfe, + 0x3a, 0xa4, 0x2e, 0xc4, 0x03, 0xf5, 0x02, 0x72, 0x98, 0x89, 0x98, 0x46, + 0x55, 0x8e, 0xda, 0xd2, 0xde, 0x69, 0x00, 0x6f, 0xe8, 0xf8, 0xc1, 0x22, + 0x29, 0xc4, 0xaf, 0xf8, 0xb0, 0x6a, 0x0f, 0xbe, 0xbc, 0xfd, 0x2c, 0x4b, + 0x17, 0x48, 0x35, 0xc0, 0xc3, 0xdf, 0x1c, 0x69, 0x82, 0xdb, 0x20, 0x3a, + 0xe4, 0x6c, 0x5c, 0x06, +}; +static const struct drbg_kat_no_reseed kat1314_t = { + 8, kat1314_entropyin, kat1314_nonce, kat1314_persstr, + kat1314_addin0, kat1314_addin1, kat1314_retbits +}; +static const struct drbg_kat kat1314 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1314_t +}; + +static const unsigned char kat1315_entropyin[] = { + 0x3c, 0x45, 0xf9, 0x35, 0x19, 0x80, 0xda, 0xf3, 0x81, 0xe2, 0x5e, 0x59, + 0xff, 0x23, 0xda, 0xf5, 0x4d, 0x69, 0xa0, 0x65, 0x05, 0xbb, 0x1e, 0xca, + 0x6c, 0x98, 0xa7, 0x42, 0xdb, 0x28, 0xfd, 0xf4, 0x62, 0x22, 0x2d, 0x22, + 0xf3, 0xc9, 0x1a, 0x59, 0xb5, 0x31, 0x16, 0xc7, 0xd1, 0x73, 0x62, 0xdb, +}; +static const unsigned char kat1315_nonce[] = {0}; +static const unsigned char kat1315_persstr[] = { + 0x83, 0x16, 0xc2, 0x44, 0xc5, 0x07, 0x4d, 0x09, 0x50, 0xd0, 0x33, 0x20, + 0x42, 0x78, 0x58, 0xaa, 0xe9, 0xe8, 0xd9, 0xe8, 0xff, 0x56, 0x46, 0x9e, + 0x1b, 0xee, 0xf1, 0x4a, 0x99, 0xab, 0xad, 0x23, 0xd8, 0xfa, 0xb5, 0x50, + 0xcd, 0xee, 0x28, 0x76, 0x8f, 0x02, 0x33, 0x31, 0xd5, 0x7e, 0x77, 0xc6, +}; +static const unsigned char kat1315_addin0[] = { + 0x19, 0xc3, 0xdd, 0x60, 0x33, 0xf1, 0x09, 0x57, 0xf8, 0x25, 0x72, 0x31, + 0x06, 0xf2, 0xa8, 0x94, 0x7a, 0xed, 0x22, 0xd9, 0x6b, 0xa4, 0xc1, 0xda, + 0x2e, 0x0a, 0x86, 0x2e, 0xab, 0x5f, 0x6e, 0x2f, 0x33, 0x76, 0xbb, 0xe2, + 0x52, 0x00, 0xcc, 0x17, 0x09, 0x5f, 0x61, 0x4b, 0x26, 0x4c, 0xc8, 0x7f, +}; +static const unsigned char kat1315_addin1[] = { + 0x5a, 0xba, 0x98, 0x9d, 0x2e, 0x8c, 0xb2, 0x8d, 0x96, 0x34, 0x87, 0x16, + 0x8f, 0x31, 0x91, 0x64, 0x73, 0x31, 0x5f, 0x28, 0x1b, 0x40, 0x14, 0x0f, + 0x73, 0x8a, 0x55, 0xed, 0x4d, 0x49, 0x9d, 0x2e, 0x3d, 0xf2, 0x61, 0x95, + 0xa6, 0x13, 0x9d, 0x70, 0xf8, 0xdf, 0x91, 0x8a, 0x1e, 0xc3, 0x37, 0xc6, +}; +static const unsigned char kat1315_retbits[] = { + 0xe9, 0x62, 0x06, 0x70, 0xe9, 0x71, 0xf5, 0xc9, 0xec, 0x68, 0x3c, 0x2c, + 0xaf, 0xc9, 0xa5, 0x51, 0xe5, 0xe9, 0x80, 0x6e, 0x5b, 0xd3, 0x20, 0x1f, + 0x3a, 0x1d, 0x62, 0xc7, 0xf2, 0xfa, 0x95, 0x33, 0x3b, 0x02, 0x6f, 0x01, + 0x5b, 0xc9, 0x75, 0x59, 0x45, 0x04, 0x86, 0xae, 0x2c, 0x61, 0x67, 0x7f, + 0xd3, 0x10, 0xd2, 0x42, 0xfd, 0x04, 0xdb, 0x51, 0xda, 0x14, 0x2f, 0xd9, + 0x0f, 0xba, 0x8f, 0x27, +}; +static const struct drbg_kat_no_reseed kat1315_t = { + 9, kat1315_entropyin, kat1315_nonce, kat1315_persstr, + kat1315_addin0, kat1315_addin1, kat1315_retbits +}; +static const struct drbg_kat kat1315 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1315_t +}; + +static const unsigned char kat1316_entropyin[] = { + 0x0e, 0x31, 0x4c, 0xa8, 0x55, 0x5e, 0xc7, 0xcb, 0x98, 0x14, 0xa4, 0x51, + 0x9b, 0xbb, 0xa9, 0x58, 0xe4, 0xd1, 0xa7, 0xe0, 0xe8, 0xee, 0x60, 0xe6, + 0x97, 0x74, 0x16, 0xf0, 0x8e, 0x98, 0xdc, 0x05, 0xcc, 0x96, 0xde, 0xda, + 0x28, 0x3d, 0xd6, 0x89, 0x1c, 0x9a, 0x91, 0x0f, 0x15, 0x15, 0x53, 0x2d, +}; +static const unsigned char kat1316_nonce[] = {0}; +static const unsigned char kat1316_persstr[] = { + 0x35, 0xee, 0xf7, 0x00, 0xcd, 0xc6, 0x46, 0x83, 0x49, 0xbb, 0x0e, 0xdd, + 0x62, 0xa3, 0xeb, 0x82, 0x49, 0xcc, 0x06, 0x72, 0x60, 0x26, 0x1c, 0x4d, + 0x06, 0x3a, 0xff, 0xeb, 0xe6, 0x39, 0x45, 0xb4, 0xa0, 0xf1, 0xc1, 0x0e, + 0x0f, 0x17, 0x8d, 0x6c, 0xea, 0xbb, 0xe7, 0xf1, 0x5c, 0x5d, 0xa4, 0x60, +}; +static const unsigned char kat1316_addin0[] = { + 0xcd, 0x68, 0xd3, 0x1a, 0x3d, 0xae, 0x76, 0xbf, 0xbc, 0xa8, 0x1d, 0xc2, + 0xed, 0xd5, 0xab, 0xbd, 0x99, 0x76, 0xd5, 0x51, 0x61, 0xe6, 0x0a, 0xd4, + 0x8f, 0xf0, 0x69, 0x37, 0x9f, 0x60, 0x0c, 0x17, 0x18, 0xec, 0xeb, 0xf8, + 0x4c, 0x16, 0x92, 0x34, 0x11, 0x3d, 0x38, 0x3c, 0x7c, 0x43, 0xe5, 0xbb, +}; +static const unsigned char kat1316_addin1[] = { + 0xab, 0x3c, 0x67, 0x6e, 0xd3, 0x4c, 0x83, 0x64, 0xfa, 0xc5, 0xe4, 0xf7, + 0x3c, 0x64, 0xb7, 0x8d, 0xc8, 0x70, 0x06, 0xca, 0x0a, 0x15, 0x99, 0x3d, + 0x9b, 0xce, 0xf2, 0x3c, 0x76, 0x71, 0xd7, 0x39, 0x6b, 0x04, 0xa5, 0xb6, + 0xb6, 0x65, 0x99, 0x95, 0xf8, 0x9e, 0xaa, 0x02, 0xb9, 0x64, 0xb9, 0x80, +}; +static const unsigned char kat1316_retbits[] = { + 0x5c, 0xf6, 0x98, 0x63, 0x83, 0xdc, 0xd9, 0x7d, 0xbf, 0xbb, 0x2d, 0x06, + 0x66, 0xb4, 0xe5, 0x7b, 0x51, 0x6e, 0x77, 0x37, 0x77, 0xa7, 0x3b, 0x0f, + 0xc6, 0xaa, 0x4f, 0x75, 0x0d, 0x8e, 0x62, 0x21, 0x77, 0x26, 0x68, 0xd9, + 0xe5, 0x8c, 0x4d, 0x4b, 0x63, 0x35, 0xc0, 0xab, 0xca, 0xb0, 0xe6, 0xa5, + 0x02, 0x91, 0xf0, 0x60, 0x10, 0x89, 0x33, 0xc3, 0x38, 0x0c, 0xa2, 0x79, + 0x07, 0xfc, 0xb2, 0x32, +}; +static const struct drbg_kat_no_reseed kat1316_t = { + 10, kat1316_entropyin, kat1316_nonce, kat1316_persstr, + kat1316_addin0, kat1316_addin1, kat1316_retbits +}; +static const struct drbg_kat kat1316 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1316_t +}; + +static const unsigned char kat1317_entropyin[] = { + 0x7d, 0xd7, 0xd6, 0x93, 0xa2, 0xb6, 0x6c, 0xe2, 0x52, 0x89, 0xa7, 0xb4, + 0xce, 0x5f, 0x89, 0x70, 0xc4, 0x62, 0x79, 0xfb, 0x97, 0x3c, 0x48, 0xd0, + 0x11, 0x98, 0x89, 0x57, 0x90, 0x15, 0x08, 0xd7, 0x23, 0x5e, 0xca, 0x41, + 0xc5, 0x80, 0xf9, 0xac, 0xa0, 0x0e, 0xa1, 0x7e, 0xae, 0x48, 0x0c, 0x4e, +}; +static const unsigned char kat1317_nonce[] = {0}; +static const unsigned char kat1317_persstr[] = { + 0xc0, 0x0a, 0xf4, 0xb3, 0x71, 0xb7, 0xee, 0xb3, 0x96, 0xa3, 0x75, 0xb6, + 0x2d, 0x52, 0x49, 0xf6, 0xd0, 0x14, 0xfe, 0x2b, 0x6b, 0xdd, 0xcb, 0x6d, + 0x10, 0x06, 0xee, 0xa1, 0xc9, 0x50, 0xa0, 0x2e, 0x72, 0x63, 0xe3, 0xfc, + 0x5c, 0x1f, 0x92, 0x97, 0x02, 0x04, 0xfd, 0x15, 0x24, 0x82, 0xb0, 0x64, +}; +static const unsigned char kat1317_addin0[] = { + 0xf0, 0x78, 0x6d, 0x58, 0xce, 0x09, 0xc3, 0x35, 0xfe, 0xb0, 0xd1, 0xf5, + 0x20, 0x15, 0xc3, 0x51, 0x94, 0x3d, 0x64, 0xad, 0x20, 0xf3, 0xb9, 0xe2, + 0xb5, 0x0b, 0xfc, 0x82, 0xc3, 0x92, 0x0a, 0x9c, 0x7e, 0x04, 0xcd, 0x50, + 0xb3, 0xf3, 0xb3, 0xcf, 0x18, 0xea, 0x9d, 0x9e, 0xf5, 0x56, 0x81, 0xdf, +}; +static const unsigned char kat1317_addin1[] = { + 0xea, 0x80, 0x97, 0x89, 0xbd, 0x9e, 0x88, 0x5a, 0x2e, 0x8a, 0xe7, 0x8f, + 0xd3, 0x05, 0xb1, 0x22, 0xaa, 0x05, 0x0a, 0x1a, 0x83, 0xed, 0x7c, 0x3d, + 0x82, 0xe8, 0x2f, 0x0c, 0xd3, 0xc7, 0xa4, 0x8c, 0x53, 0xeb, 0x18, 0x9a, + 0xab, 0xef, 0x35, 0xde, 0x05, 0xaa, 0x26, 0x2b, 0xcb, 0xf8, 0x57, 0x00, +}; +static const unsigned char kat1317_retbits[] = { + 0x72, 0xb5, 0x5c, 0x04, 0x15, 0x6b, 0x45, 0x9d, 0xa2, 0x11, 0xe5, 0x4b, + 0x1f, 0xeb, 0xc7, 0xf6, 0xdd, 0x41, 0x39, 0xaf, 0xea, 0x35, 0x20, 0xaa, + 0x8c, 0xac, 0x3b, 0x27, 0x90, 0x06, 0xd0, 0x90, 0xa5, 0x77, 0x21, 0xa6, + 0xa1, 0x51, 0x57, 0x07, 0x0e, 0xf3, 0xe2, 0x8c, 0xdd, 0xb6, 0xda, 0xe9, + 0x47, 0x8d, 0xec, 0xab, 0xd7, 0x8a, 0x39, 0xd9, 0xf2, 0x17, 0xd1, 0x53, + 0x27, 0x6b, 0x83, 0x36, +}; +static const struct drbg_kat_no_reseed kat1317_t = { + 11, kat1317_entropyin, kat1317_nonce, kat1317_persstr, + kat1317_addin0, kat1317_addin1, kat1317_retbits +}; +static const struct drbg_kat kat1317 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1317_t +}; + +static const unsigned char kat1318_entropyin[] = { + 0x82, 0x36, 0xb6, 0xfb, 0x88, 0x17, 0xc2, 0x7f, 0x4f, 0x18, 0x16, 0x0a, + 0x2f, 0xcb, 0xb5, 0x13, 0x6e, 0x93, 0xd2, 0x17, 0xb0, 0xfd, 0xe5, 0x24, + 0x5c, 0xc2, 0x96, 0x4d, 0x2e, 0xf9, 0xaa, 0x69, 0x0b, 0x70, 0x6c, 0xab, + 0xaf, 0x42, 0x17, 0xb5, 0x40, 0xfa, 0x26, 0x7f, 0xac, 0x6b, 0x49, 0xe7, +}; +static const unsigned char kat1318_nonce[] = {0}; +static const unsigned char kat1318_persstr[] = { + 0x92, 0x26, 0x02, 0x19, 0x57, 0xf9, 0x54, 0xfb, 0xc8, 0x39, 0xef, 0xfd, + 0x03, 0x10, 0xab, 0xa0, 0x29, 0xb0, 0xc7, 0x13, 0x98, 0x8b, 0xcb, 0x03, + 0x11, 0x0f, 0x90, 0x84, 0x20, 0x7a, 0x8a, 0x30, 0xb2, 0x5e, 0xe0, 0x93, + 0x0e, 0x38, 0x1b, 0xc2, 0xf6, 0x81, 0x15, 0x75, 0x16, 0xe7, 0x97, 0x00, +}; +static const unsigned char kat1318_addin0[] = { + 0x34, 0x30, 0xbd, 0x3d, 0xb1, 0x69, 0xcf, 0x3b, 0x56, 0xbc, 0x64, 0x8f, + 0xe7, 0x97, 0xb1, 0x34, 0x22, 0x8f, 0xa5, 0x5c, 0x55, 0x46, 0x34, 0xe1, + 0x52, 0x32, 0xe3, 0x2d, 0x64, 0xf4, 0x24, 0xef, 0x19, 0x5e, 0xcf, 0x8c, + 0x73, 0x66, 0x95, 0xc6, 0x20, 0xce, 0x1f, 0x97, 0x8e, 0x49, 0x08, 0x3c, +}; +static const unsigned char kat1318_addin1[] = { + 0xa6, 0x20, 0xc5, 0x2d, 0xed, 0x0a, 0x3d, 0xa5, 0xc9, 0xe7, 0x17, 0x29, + 0x1a, 0x39, 0xd1, 0x26, 0x1e, 0xf3, 0x8e, 0x87, 0xc3, 0x43, 0x72, 0x8c, + 0x05, 0x44, 0x31, 0xa6, 0x93, 0x30, 0x92, 0x77, 0x97, 0xd3, 0x50, 0x82, + 0x6e, 0x93, 0xaa, 0xba, 0xe1, 0xf3, 0xcf, 0x2a, 0x61, 0x14, 0x67, 0x4c, +}; +static const unsigned char kat1318_retbits[] = { + 0x4b, 0xfb, 0xbc, 0xf8, 0xce, 0x6b, 0x0c, 0x74, 0x3d, 0x62, 0xa0, 0x80, + 0x66, 0xb3, 0x25, 0xbc, 0xe9, 0x36, 0x3c, 0xf4, 0x07, 0xb2, 0xf0, 0x44, + 0x22, 0xe3, 0xee, 0x8f, 0x19, 0xd5, 0x53, 0x21, 0x36, 0x53, 0x2d, 0xd5, + 0x96, 0xe5, 0x21, 0x25, 0x9e, 0xb0, 0x9c, 0xff, 0xad, 0xbb, 0xdb, 0x2c, + 0xc8, 0x92, 0x7d, 0x79, 0xb8, 0xb5, 0xb8, 0x03, 0x03, 0xc8, 0xf9, 0x6f, + 0xb6, 0x25, 0x4b, 0x1d, +}; +static const struct drbg_kat_no_reseed kat1318_t = { + 12, kat1318_entropyin, kat1318_nonce, kat1318_persstr, + kat1318_addin0, kat1318_addin1, kat1318_retbits +}; +static const struct drbg_kat kat1318 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1318_t +}; + +static const unsigned char kat1319_entropyin[] = { + 0x4d, 0xa4, 0xe4, 0x6d, 0xdb, 0x2e, 0xbb, 0xdf, 0xbd, 0x19, 0xd3, 0x32, + 0x3e, 0x75, 0xd4, 0x2e, 0xb9, 0x67, 0xcb, 0xe3, 0x79, 0xf6, 0xb0, 0x0f, + 0x86, 0x93, 0xe9, 0xce, 0xc9, 0xb8, 0x59, 0x83, 0x3c, 0x6d, 0x1f, 0x49, + 0xd4, 0x79, 0x21, 0xad, 0xcf, 0x1f, 0x1b, 0x8f, 0xf0, 0x29, 0x0c, 0x4a, +}; +static const unsigned char kat1319_nonce[] = {0}; +static const unsigned char kat1319_persstr[] = { + 0x6f, 0xa6, 0xf5, 0xe1, 0xa8, 0xaf, 0xa8, 0x15, 0x58, 0xb5, 0x09, 0x20, + 0x91, 0x88, 0x6a, 0xed, 0xc2, 0x7a, 0xc8, 0x4d, 0x24, 0xd4, 0x10, 0x3f, + 0x9c, 0x08, 0x69, 0x17, 0xdc, 0x4a, 0x73, 0xca, 0x4e, 0x56, 0xa5, 0xa7, + 0xd3, 0x9a, 0xeb, 0x2b, 0xb4, 0x5c, 0x0b, 0x30, 0x74, 0x54, 0x42, 0x26, +}; +static const unsigned char kat1319_addin0[] = { + 0x9d, 0xe8, 0x7f, 0xf8, 0x61, 0x58, 0xf8, 0x70, 0x24, 0xd5, 0x29, 0xea, + 0xfb, 0x86, 0x06, 0xa8, 0x29, 0xee, 0x2d, 0xcb, 0x48, 0x68, 0xe4, 0xf4, + 0x7e, 0x4b, 0x6d, 0x12, 0x29, 0x44, 0x00, 0x97, 0x50, 0x49, 0xf8, 0x30, + 0xef, 0x61, 0x26, 0xf6, 0xf9, 0x5e, 0xea, 0xce, 0xde, 0x03, 0x1a, 0xb2, +}; +static const unsigned char kat1319_addin1[] = { + 0x5d, 0x15, 0x26, 0xdf, 0x0b, 0xdd, 0x64, 0x3e, 0xe7, 0x23, 0x29, 0x63, + 0xad, 0xb3, 0x4a, 0xd4, 0x81, 0x8b, 0x1f, 0x81, 0xb5, 0x01, 0x01, 0x29, + 0xe1, 0x59, 0x7a, 0xa9, 0x0a, 0x8e, 0x5f, 0xc9, 0xe2, 0xd7, 0x2a, 0x04, + 0xe7, 0x67, 0x07, 0x4f, 0x6d, 0xde, 0xb2, 0x3f, 0xa7, 0xf9, 0x21, 0xe3, +}; +static const unsigned char kat1319_retbits[] = { + 0x3a, 0x73, 0x37, 0x4f, 0xc5, 0x19, 0x61, 0xb0, 0x17, 0xd5, 0x11, 0xfd, + 0x0f, 0x72, 0x9c, 0xb2, 0x1d, 0x44, 0xd4, 0xa6, 0x80, 0xff, 0x05, 0xc7, + 0x48, 0xe3, 0x88, 0xcc, 0xef, 0x8a, 0x47, 0x06, 0xeb, 0x91, 0x48, 0x37, + 0xd9, 0x1f, 0x23, 0xdb, 0x1c, 0xc6, 0xc9, 0xe8, 0x50, 0xb0, 0xc6, 0xe6, + 0x04, 0x1c, 0x81, 0x97, 0xe0, 0x57, 0x1a, 0xce, 0xd3, 0x0a, 0x88, 0xb8, + 0x18, 0xc6, 0x78, 0xf0, +}; +static const struct drbg_kat_no_reseed kat1319_t = { + 13, kat1319_entropyin, kat1319_nonce, kat1319_persstr, + kat1319_addin0, kat1319_addin1, kat1319_retbits +}; +static const struct drbg_kat kat1319 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1319_t +}; + +static const unsigned char kat1320_entropyin[] = { + 0x22, 0x0d, 0x0d, 0x2c, 0xd6, 0xe4, 0x24, 0xb9, 0x7a, 0x37, 0xdf, 0x3b, + 0x32, 0x2d, 0x55, 0x93, 0x10, 0x0e, 0xd9, 0x4e, 0x0a, 0x3a, 0xbb, 0x7a, + 0x3b, 0x84, 0x36, 0x21, 0xdc, 0x2b, 0x76, 0x45, 0x2f, 0xec, 0x13, 0x1a, + 0x2d, 0x6b, 0x4e, 0xe5, 0x1f, 0x26, 0xd1, 0x61, 0x1c, 0x3c, 0xb1, 0xe5, +}; +static const unsigned char kat1320_nonce[] = {0}; +static const unsigned char kat1320_persstr[] = { + 0x43, 0x89, 0x2d, 0xd3, 0xd8, 0xf3, 0x17, 0x20, 0x82, 0x07, 0x98, 0x30, + 0x39, 0x15, 0x8f, 0x98, 0x33, 0xf1, 0xc0, 0x97, 0x05, 0xd2, 0x96, 0xfe, + 0x45, 0xe7, 0x2a, 0x9d, 0x6a, 0xfc, 0x08, 0xb9, 0x9a, 0x86, 0x6b, 0x95, + 0x42, 0xfa, 0x3d, 0xb4, 0xd3, 0x3a, 0x9c, 0x1e, 0x7c, 0x3e, 0x88, 0xac, +}; +static const unsigned char kat1320_addin0[] = { + 0x0e, 0x2e, 0xc4, 0x84, 0xd8, 0x86, 0x6a, 0xdc, 0x06, 0x5b, 0x4f, 0x11, + 0xd3, 0x76, 0x0b, 0x4d, 0x27, 0x6e, 0x2c, 0xf9, 0xc0, 0x66, 0xb2, 0x26, + 0x31, 0x1e, 0x7c, 0x78, 0x06, 0x89, 0xe8, 0x40, 0xfb, 0xaf, 0x4f, 0x67, + 0xf3, 0xda, 0x0e, 0xfb, 0xb0, 0x34, 0xd5, 0x60, 0xbb, 0x73, 0xa1, 0xf4, +}; +static const unsigned char kat1320_addin1[] = { + 0x9f, 0xdf, 0xcb, 0x74, 0x60, 0xce, 0x5b, 0x99, 0x13, 0xff, 0xb9, 0x88, + 0x96, 0x96, 0xdf, 0x7a, 0xbe, 0x28, 0xaa, 0xd4, 0x0e, 0xba, 0x3b, 0x67, + 0x5d, 0x75, 0x08, 0xcc, 0xa1, 0xc9, 0x8f, 0xaa, 0xa2, 0x7d, 0xd5, 0xf5, + 0x29, 0x97, 0xdd, 0x6f, 0x25, 0x1a, 0x68, 0xe8, 0x6f, 0x96, 0x6f, 0xb1, +}; +static const unsigned char kat1320_retbits[] = { + 0x66, 0xd6, 0xb1, 0x69, 0x3a, 0x3c, 0xa1, 0xcb, 0x61, 0x69, 0x85, 0x83, + 0x90, 0x74, 0x1b, 0xae, 0x32, 0x85, 0xe0, 0xc2, 0x86, 0x04, 0xd0, 0x64, + 0xb5, 0x7f, 0x3a, 0xa2, 0xef, 0x9a, 0x56, 0x9b, 0xec, 0x22, 0x88, 0x4c, + 0xcc, 0x5c, 0xd3, 0x15, 0xd3, 0xf3, 0x84, 0x7c, 0x68, 0x0c, 0x34, 0x81, + 0xbc, 0xae, 0x42, 0x3c, 0xb1, 0x05, 0xea, 0x47, 0x95, 0x6f, 0x62, 0xcf, + 0x8c, 0x2c, 0x5d, 0x29, +}; +static const struct drbg_kat_no_reseed kat1320_t = { + 14, kat1320_entropyin, kat1320_nonce, kat1320_persstr, + kat1320_addin0, kat1320_addin1, kat1320_retbits +}; +static const struct drbg_kat kat1320 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1320_t +}; + +static const unsigned char kat1321_entropyin[] = { + 0xd2, 0xbe, 0x2d, 0xc7, 0x52, 0x0e, 0x5a, 0xb1, 0x09, 0x75, 0xe2, 0xed, + 0xdd, 0x0a, 0x8d, 0xd6, 0xdc, 0xed, 0x9e, 0x36, 0x4d, 0xfb, 0x47, 0xbf, + 0x26, 0x3d, 0x25, 0xe7, 0x5c, 0x6f, 0x8c, 0x9e, 0xbf, 0x38, 0x6f, 0x02, + 0xff, 0x0a, 0x72, 0x26, 0x76, 0xb1, 0xcd, 0xa1, 0x8a, 0xba, 0x0c, 0xc4, +}; +static const unsigned char kat1321_nonce[] = {0}; +static const unsigned char kat1321_persstr[] = {0}; +static const unsigned char kat1321_addin0[] = {0}; +static const unsigned char kat1321_addin1[] = {0}; +static const unsigned char kat1321_retbits[] = { + 0x2c, 0x1d, 0xb4, 0x2f, 0x45, 0xfd, 0x2f, 0xd6, 0xcc, 0xaf, 0x48, 0xd4, + 0x5f, 0x54, 0x4b, 0x14, 0x9b, 0x44, 0x6c, 0xdc, 0xd0, 0xe8, 0x8f, 0xd5, + 0x11, 0xf3, 0x88, 0x7a, 0x2d, 0x19, 0x69, 0x06, 0x0b, 0x26, 0xcc, 0x00, + 0x45, 0x59, 0xbf, 0x17, 0xe8, 0xbe, 0x81, 0xb8, 0xd4, 0x80, 0xfd, 0x72, + 0x8b, 0x32, 0x17, 0xce, 0x10, 0xdd, 0x8b, 0xf8, 0x0e, 0x62, 0x27, 0x78, + 0xdb, 0x76, 0xde, 0x77, +}; +static const struct drbg_kat_no_reseed kat1321_t = { + 0, kat1321_entropyin, kat1321_nonce, kat1321_persstr, + kat1321_addin0, kat1321_addin1, kat1321_retbits +}; +static const struct drbg_kat kat1321 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1321_t +}; + +static const unsigned char kat1322_entropyin[] = { + 0xf7, 0x8f, 0x74, 0x97, 0x95, 0x41, 0x97, 0x62, 0x88, 0x03, 0x2f, 0x13, + 0x07, 0x46, 0x74, 0x4c, 0x3f, 0xff, 0xe9, 0x06, 0x8c, 0xa1, 0x59, 0x2d, + 0x0f, 0xe6, 0x1e, 0x4c, 0x94, 0x6e, 0x41, 0xbc, 0x3f, 0xfd, 0xa0, 0x03, + 0x3d, 0x01, 0xad, 0xb5, 0xf5, 0x2c, 0xe0, 0x27, 0xa7, 0x9e, 0xed, 0xa3, +}; +static const unsigned char kat1322_nonce[] = {0}; +static const unsigned char kat1322_persstr[] = {0}; +static const unsigned char kat1322_addin0[] = {0}; +static const unsigned char kat1322_addin1[] = {0}; +static const unsigned char kat1322_retbits[] = { + 0x13, 0x7b, 0xc8, 0x75, 0xed, 0xe8, 0x00, 0x9a, 0x77, 0x83, 0xe9, 0x7d, + 0x11, 0xd4, 0x94, 0x66, 0x01, 0x01, 0x75, 0xc1, 0x38, 0xb8, 0x94, 0x57, + 0xa9, 0xa0, 0x71, 0x11, 0x41, 0x7c, 0xa3, 0xf8, 0x49, 0x10, 0x21, 0x82, + 0x93, 0xef, 0xac, 0xd6, 0x92, 0x6a, 0xdf, 0xf9, 0x16, 0x78, 0xe8, 0x7e, + 0x6c, 0xe1, 0x29, 0x96, 0x13, 0x5e, 0xef, 0xa5, 0x8d, 0x4f, 0xa3, 0x31, + 0xe9, 0x1a, 0xfa, 0x8d, +}; +static const struct drbg_kat_no_reseed kat1322_t = { + 1, kat1322_entropyin, kat1322_nonce, kat1322_persstr, + kat1322_addin0, kat1322_addin1, kat1322_retbits +}; +static const struct drbg_kat kat1322 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1322_t +}; + +static const unsigned char kat1323_entropyin[] = { + 0xc6, 0xbe, 0x83, 0x86, 0xac, 0xe7, 0x40, 0x5a, 0xc5, 0x13, 0xf0, 0xaa, + 0x2b, 0xf3, 0xa9, 0xcc, 0x81, 0xa1, 0x73, 0x2a, 0xf4, 0xf0, 0x77, 0x69, + 0x2e, 0xeb, 0x34, 0x82, 0x3e, 0x75, 0x5c, 0x66, 0x98, 0x48, 0x32, 0x9f, + 0x9d, 0x98, 0x3f, 0x53, 0x6b, 0x36, 0x6b, 0xf8, 0x9f, 0x6a, 0x57, 0x91, +}; +static const unsigned char kat1323_nonce[] = {0}; +static const unsigned char kat1323_persstr[] = {0}; +static const unsigned char kat1323_addin0[] = {0}; +static const unsigned char kat1323_addin1[] = {0}; +static const unsigned char kat1323_retbits[] = { + 0x46, 0xb2, 0x30, 0x78, 0x44, 0x6a, 0x7e, 0x7c, 0xc5, 0x42, 0xfb, 0x8e, + 0x4d, 0x04, 0x10, 0x27, 0x0f, 0xe8, 0xa1, 0xe1, 0x7b, 0x82, 0x5d, 0x86, + 0xe0, 0xe6, 0x09, 0x54, 0xbc, 0xe0, 0xc2, 0x4b, 0x66, 0x84, 0x51, 0x00, + 0x25, 0x89, 0xc3, 0x04, 0xe1, 0x52, 0xf5, 0x33, 0x50, 0xee, 0x19, 0x78, + 0x2d, 0x97, 0x69, 0x82, 0x03, 0xda, 0xde, 0xde, 0x78, 0xb1, 0x77, 0x95, + 0x87, 0x3b, 0x0e, 0xd5, +}; +static const struct drbg_kat_no_reseed kat1323_t = { + 2, kat1323_entropyin, kat1323_nonce, kat1323_persstr, + kat1323_addin0, kat1323_addin1, kat1323_retbits +}; +static const struct drbg_kat kat1323 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1323_t +}; + +static const unsigned char kat1324_entropyin[] = { + 0xee, 0x1f, 0x42, 0x91, 0x8d, 0x6c, 0x76, 0x9c, 0xa9, 0x3d, 0x02, 0x4d, + 0x36, 0x0c, 0x0f, 0x5e, 0x64, 0x87, 0x24, 0x23, 0x7b, 0xd9, 0x0d, 0xe8, + 0xcb, 0x5a, 0x35, 0x89, 0xc2, 0x4e, 0x31, 0x07, 0x3b, 0x39, 0xc6, 0xff, + 0x11, 0x69, 0x41, 0x70, 0xea, 0x7b, 0x3d, 0x68, 0x41, 0x66, 0x60, 0x28, +}; +static const unsigned char kat1324_nonce[] = {0}; +static const unsigned char kat1324_persstr[] = {0}; +static const unsigned char kat1324_addin0[] = {0}; +static const unsigned char kat1324_addin1[] = {0}; +static const unsigned char kat1324_retbits[] = { + 0xc5, 0xc5, 0x64, 0x13, 0xc3, 0x5f, 0x5a, 0xe0, 0x10, 0xa6, 0x56, 0x46, + 0x9a, 0x9f, 0x18, 0x8d, 0xec, 0x9f, 0x1f, 0x0b, 0x25, 0xaa, 0xfe, 0x8b, + 0x0a, 0x77, 0xca, 0xc9, 0xf9, 0x11, 0xc4, 0x57, 0xbf, 0x7b, 0x9a, 0x75, + 0x17, 0x8c, 0x2d, 0x42, 0x75, 0xac, 0x8f, 0xd7, 0x40, 0xb0, 0xf8, 0x96, + 0x7a, 0x72, 0x16, 0x1d, 0xf7, 0x87, 0xd5, 0x33, 0x30, 0x92, 0xd7, 0x10, + 0x52, 0x5e, 0xc8, 0x47, +}; +static const struct drbg_kat_no_reseed kat1324_t = { + 3, kat1324_entropyin, kat1324_nonce, kat1324_persstr, + kat1324_addin0, kat1324_addin1, kat1324_retbits +}; +static const struct drbg_kat kat1324 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1324_t +}; + +static const unsigned char kat1325_entropyin[] = { + 0xd3, 0x33, 0x8a, 0x25, 0x25, 0x27, 0x16, 0xa9, 0x18, 0x9f, 0x17, 0x99, + 0x55, 0x1e, 0x6b, 0x8e, 0xfe, 0x37, 0x72, 0x0a, 0x03, 0x73, 0x49, 0x6d, + 0x3c, 0x9d, 0x9f, 0x57, 0xf4, 0x68, 0x56, 0x7d, 0xdf, 0x04, 0xfc, 0xe3, + 0xe6, 0x72, 0x50, 0x40, 0x3f, 0x9c, 0xd8, 0xea, 0xe4, 0x74, 0xf2, 0x39, +}; +static const unsigned char kat1325_nonce[] = {0}; +static const unsigned char kat1325_persstr[] = {0}; +static const unsigned char kat1325_addin0[] = {0}; +static const unsigned char kat1325_addin1[] = {0}; +static const unsigned char kat1325_retbits[] = { + 0xbb, 0x24, 0x5a, 0xc6, 0x50, 0x40, 0xbe, 0x1a, 0x71, 0x46, 0xfc, 0x22, + 0x9a, 0x3b, 0x08, 0xab, 0xfa, 0xbc, 0x69, 0x1b, 0xf2, 0xdf, 0x37, 0x3c, + 0x49, 0x2a, 0x4a, 0xda, 0x1d, 0x33, 0x9e, 0x5d, 0xf8, 0x49, 0xa5, 0x21, + 0x04, 0x2d, 0x65, 0x75, 0x24, 0x40, 0x3f, 0x9a, 0x48, 0xf5, 0xf7, 0x53, + 0xc6, 0x7e, 0xe0, 0x81, 0x02, 0xb5, 0xa1, 0xb9, 0x04, 0x83, 0x7b, 0x41, + 0xe4, 0xdb, 0xe9, 0xb7, +}; +static const struct drbg_kat_no_reseed kat1325_t = { + 4, kat1325_entropyin, kat1325_nonce, kat1325_persstr, + kat1325_addin0, kat1325_addin1, kat1325_retbits +}; +static const struct drbg_kat kat1325 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1325_t +}; + +static const unsigned char kat1326_entropyin[] = { + 0x8d, 0xf9, 0xbf, 0xb8, 0x4e, 0xb8, 0x70, 0xfc, 0x33, 0x59, 0xe2, 0x8e, + 0xee, 0xea, 0xe7, 0xac, 0x73, 0xb0, 0x55, 0x14, 0x68, 0x82, 0xab, 0x11, + 0x9b, 0xae, 0x7e, 0x2b, 0x90, 0x11, 0x54, 0x16, 0x9a, 0xb0, 0x3c, 0x8f, + 0xa7, 0x56, 0x68, 0x9c, 0x02, 0xfb, 0xde, 0xea, 0x16, 0x55, 0xd9, 0x74, +}; +static const unsigned char kat1326_nonce[] = {0}; +static const unsigned char kat1326_persstr[] = {0}; +static const unsigned char kat1326_addin0[] = {0}; +static const unsigned char kat1326_addin1[] = {0}; +static const unsigned char kat1326_retbits[] = { + 0x14, 0x26, 0xc1, 0x3d, 0xc2, 0x9a, 0xfc, 0x3c, 0xb7, 0x29, 0x9c, 0x81, + 0x92, 0xc6, 0x6e, 0x26, 0x3e, 0x6f, 0x36, 0x68, 0xd8, 0xdb, 0x49, 0x5d, + 0x4e, 0x29, 0x4a, 0xba, 0xf0, 0x49, 0x63, 0x9c, 0xbb, 0x47, 0x34, 0xaa, + 0xe0, 0x79, 0xa8, 0xa2, 0xf3, 0x81, 0x26, 0x3a, 0x37, 0xc9, 0xa2, 0x40, + 0x63, 0x62, 0xd3, 0x10, 0xf5, 0x8c, 0xca, 0x08, 0x82, 0x9a, 0x7a, 0x4b, + 0x07, 0xbd, 0x62, 0x1f, +}; +static const struct drbg_kat_no_reseed kat1326_t = { + 5, kat1326_entropyin, kat1326_nonce, kat1326_persstr, + kat1326_addin0, kat1326_addin1, kat1326_retbits +}; +static const struct drbg_kat kat1326 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1326_t +}; + +static const unsigned char kat1327_entropyin[] = { + 0xc9, 0xe9, 0x0d, 0x1f, 0x40, 0xfd, 0x6e, 0xee, 0xaa, 0xab, 0x16, 0x09, + 0x16, 0xee, 0xf3, 0x3e, 0xff, 0x12, 0x88, 0x12, 0x0d, 0x16, 0x5d, 0x9c, + 0xe8, 0x98, 0x4f, 0x68, 0x42, 0x1c, 0x98, 0x94, 0x74, 0x57, 0x2a, 0x61, + 0xa0, 0xa0, 0x37, 0x3d, 0x65, 0xb0, 0x06, 0xf8, 0x37, 0x0d, 0xd9, 0x26, +}; +static const unsigned char kat1327_nonce[] = {0}; +static const unsigned char kat1327_persstr[] = {0}; +static const unsigned char kat1327_addin0[] = {0}; +static const unsigned char kat1327_addin1[] = {0}; +static const unsigned char kat1327_retbits[] = { + 0xb6, 0x15, 0x7b, 0xb5, 0x7c, 0x19, 0x69, 0xe2, 0x24, 0x83, 0xdf, 0x3e, + 0x8c, 0x2c, 0x38, 0xda, 0xad, 0xc2, 0x94, 0xe6, 0xac, 0xd2, 0xb5, 0x1a, + 0xe6, 0x3d, 0x6d, 0xdd, 0x58, 0x9a, 0x63, 0x17, 0x42, 0xcb, 0x39, 0x12, + 0xbe, 0x32, 0x20, 0x19, 0x51, 0xe1, 0xe3, 0x72, 0x3d, 0x3c, 0x5a, 0x59, + 0x1e, 0x79, 0x6b, 0x3a, 0xb7, 0xd4, 0xec, 0x8e, 0x37, 0x60, 0x5b, 0x04, + 0x38, 0xe1, 0x5a, 0x45, +}; +static const struct drbg_kat_no_reseed kat1327_t = { + 6, kat1327_entropyin, kat1327_nonce, kat1327_persstr, + kat1327_addin0, kat1327_addin1, kat1327_retbits +}; +static const struct drbg_kat kat1327 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1327_t +}; + +static const unsigned char kat1328_entropyin[] = { + 0x25, 0x14, 0x49, 0x8a, 0xbf, 0xac, 0xda, 0x89, 0x42, 0x5e, 0xbf, 0xb4, + 0x34, 0x3c, 0x5c, 0xa8, 0xc3, 0x4c, 0x18, 0x43, 0x30, 0x05, 0xb6, 0xed, + 0x60, 0x38, 0xa3, 0x14, 0x66, 0x52, 0x51, 0x13, 0xfd, 0x97, 0x75, 0x0f, + 0x7e, 0xb8, 0xc8, 0xba, 0x22, 0x4d, 0x77, 0xf8, 0xb2, 0x0c, 0xf2, 0xd9, +}; +static const unsigned char kat1328_nonce[] = {0}; +static const unsigned char kat1328_persstr[] = {0}; +static const unsigned char kat1328_addin0[] = {0}; +static const unsigned char kat1328_addin1[] = {0}; +static const unsigned char kat1328_retbits[] = { + 0xf0, 0x36, 0x25, 0x0e, 0x0a, 0x60, 0x1d, 0x91, 0xc5, 0xb8, 0x02, 0x9f, + 0xc6, 0x98, 0x29, 0x47, 0x9b, 0x08, 0x6d, 0x61, 0x6e, 0x8d, 0xde, 0x2b, + 0x62, 0xcb, 0x98, 0xf7, 0x07, 0x85, 0x10, 0x1b, 0x00, 0x1a, 0xb9, 0xe5, + 0x83, 0x25, 0x08, 0xf6, 0x57, 0xd9, 0xf5, 0x2e, 0x9f, 0x9b, 0x3f, 0xa5, + 0xfb, 0x3c, 0x02, 0xcc, 0x09, 0xf9, 0x7a, 0x1c, 0xd4, 0x69, 0x84, 0x04, + 0xa7, 0xfd, 0x96, 0x7d, +}; +static const struct drbg_kat_no_reseed kat1328_t = { + 7, kat1328_entropyin, kat1328_nonce, kat1328_persstr, + kat1328_addin0, kat1328_addin1, kat1328_retbits +}; +static const struct drbg_kat kat1328 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1328_t +}; + +static const unsigned char kat1329_entropyin[] = { + 0x8b, 0xd4, 0x2f, 0x21, 0xb2, 0xb8, 0x1f, 0x42, 0x81, 0x3d, 0xd2, 0x91, + 0xe2, 0xaa, 0xbb, 0x37, 0x2d, 0x25, 0x68, 0x7d, 0x2f, 0xa0, 0xf3, 0x0b, + 0xdf, 0xa9, 0x63, 0x2d, 0xb9, 0x0c, 0x81, 0x2a, 0xe5, 0xa2, 0x5d, 0x8f, + 0x8a, 0xd3, 0xe0, 0x33, 0xfa, 0x5a, 0x0c, 0x98, 0x1d, 0xf2, 0xc5, 0x86, +}; +static const unsigned char kat1329_nonce[] = {0}; +static const unsigned char kat1329_persstr[] = {0}; +static const unsigned char kat1329_addin0[] = {0}; +static const unsigned char kat1329_addin1[] = {0}; +static const unsigned char kat1329_retbits[] = { + 0x9a, 0x58, 0x9e, 0x69, 0x62, 0x2c, 0x1d, 0x66, 0x80, 0xe3, 0xcf, 0x38, + 0xe8, 0x64, 0x00, 0x97, 0x9c, 0xd8, 0xf6, 0x83, 0x47, 0xc6, 0xc4, 0xb6, + 0xb9, 0xd0, 0x4d, 0x45, 0x48, 0xda, 0x23, 0xab, 0xec, 0x08, 0xb6, 0xfe, + 0xaa, 0x6a, 0x7e, 0x53, 0x6b, 0x2c, 0x8b, 0xed, 0x28, 0xc6, 0x13, 0x6f, + 0xc5, 0xb3, 0x10, 0x01, 0x7d, 0x81, 0x8a, 0xff, 0xc4, 0x07, 0x71, 0xd4, + 0xb1, 0x5e, 0x27, 0x89, +}; +static const struct drbg_kat_no_reseed kat1329_t = { + 8, kat1329_entropyin, kat1329_nonce, kat1329_persstr, + kat1329_addin0, kat1329_addin1, kat1329_retbits +}; +static const struct drbg_kat kat1329 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1329_t +}; + +static const unsigned char kat1330_entropyin[] = { + 0x4d, 0x31, 0x97, 0xc9, 0x96, 0x12, 0xc5, 0xcb, 0x62, 0x16, 0x01, 0x68, + 0x86, 0x92, 0x16, 0x4c, 0x23, 0x95, 0x69, 0xbd, 0xf3, 0x9e, 0xe5, 0xe7, + 0x7e, 0x08, 0xa0, 0x59, 0xe8, 0x71, 0xd9, 0x71, 0x0b, 0x72, 0x59, 0x27, + 0xa3, 0xa2, 0xc9, 0xa2, 0xa0, 0x5b, 0xc8, 0x4d, 0xf3, 0x81, 0x85, 0xda, +}; +static const unsigned char kat1330_nonce[] = {0}; +static const unsigned char kat1330_persstr[] = {0}; +static const unsigned char kat1330_addin0[] = {0}; +static const unsigned char kat1330_addin1[] = {0}; +static const unsigned char kat1330_retbits[] = { + 0xe3, 0x90, 0x5d, 0x94, 0x3e, 0x16, 0x0a, 0x76, 0xab, 0xaa, 0xef, 0x2d, + 0x23, 0x49, 0x15, 0xc0, 0xc7, 0xad, 0x78, 0xf8, 0x75, 0x9f, 0x4c, 0x92, + 0x05, 0xa8, 0xb1, 0x23, 0x0a, 0x0c, 0xc5, 0xf9, 0x72, 0x45, 0x6c, 0xa0, + 0xd8, 0xf4, 0x7e, 0x06, 0x63, 0xa6, 0xc3, 0x18, 0xb2, 0x2c, 0xac, 0xe2, + 0x53, 0xce, 0xbb, 0x5f, 0x0f, 0x2a, 0x58, 0xed, 0x6a, 0xb4, 0xed, 0x6d, + 0x9c, 0xac, 0x25, 0xa6, +}; +static const struct drbg_kat_no_reseed kat1330_t = { + 9, kat1330_entropyin, kat1330_nonce, kat1330_persstr, + kat1330_addin0, kat1330_addin1, kat1330_retbits +}; +static const struct drbg_kat kat1330 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1330_t +}; + +static const unsigned char kat1331_entropyin[] = { + 0xd3, 0x46, 0x08, 0x24, 0x7d, 0x7d, 0x03, 0x61, 0xe6, 0xba, 0x5f, 0x68, + 0xbe, 0x39, 0xca, 0x77, 0xda, 0x43, 0xd5, 0x5e, 0x35, 0xad, 0x5a, 0x34, + 0x88, 0xfa, 0xca, 0x63, 0x45, 0xa0, 0xbe, 0x8b, 0x0c, 0x19, 0xe9, 0x07, + 0xa4, 0x28, 0xb3, 0x16, 0x4f, 0x45, 0xc8, 0xdd, 0xf9, 0x97, 0x70, 0x21, +}; +static const unsigned char kat1331_nonce[] = {0}; +static const unsigned char kat1331_persstr[] = {0}; +static const unsigned char kat1331_addin0[] = {0}; +static const unsigned char kat1331_addin1[] = {0}; +static const unsigned char kat1331_retbits[] = { + 0x44, 0xdc, 0x77, 0x05, 0x4f, 0xbe, 0x30, 0xe8, 0x89, 0x63, 0x0f, 0x48, + 0xd7, 0xb1, 0x0e, 0x71, 0x15, 0x57, 0xc7, 0x95, 0x15, 0x71, 0xcf, 0x1f, + 0xeb, 0x7e, 0x20, 0x23, 0x8a, 0xca, 0xd4, 0x59, 0x3d, 0xca, 0x7f, 0x7e, + 0xe7, 0x1a, 0x2b, 0xc1, 0xe0, 0x36, 0x2b, 0x96, 0x17, 0x54, 0xba, 0x68, + 0xa7, 0xca, 0x3b, 0x83, 0xad, 0x36, 0xdc, 0xe2, 0x0b, 0x76, 0x3e, 0x70, + 0x92, 0x8a, 0x38, 0xd8, +}; +static const struct drbg_kat_no_reseed kat1331_t = { + 10, kat1331_entropyin, kat1331_nonce, kat1331_persstr, + kat1331_addin0, kat1331_addin1, kat1331_retbits +}; +static const struct drbg_kat kat1331 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1331_t +}; + +static const unsigned char kat1332_entropyin[] = { + 0xb5, 0x98, 0xf2, 0x82, 0xad, 0xec, 0xf9, 0xd0, 0x60, 0xae, 0xd6, 0xcc, + 0x69, 0x7a, 0xb8, 0xd5, 0xee, 0xdf, 0x40, 0x04, 0xa7, 0x74, 0xd4, 0xb6, + 0xd4, 0x36, 0x5c, 0x44, 0x2e, 0x63, 0xff, 0x1c, 0x4a, 0xc7, 0xee, 0x99, + 0xf4, 0xb0, 0x5f, 0x34, 0x9b, 0x77, 0x0b, 0x77, 0xa2, 0x1a, 0xf1, 0xb3, +}; +static const unsigned char kat1332_nonce[] = {0}; +static const unsigned char kat1332_persstr[] = {0}; +static const unsigned char kat1332_addin0[] = {0}; +static const unsigned char kat1332_addin1[] = {0}; +static const unsigned char kat1332_retbits[] = { + 0x28, 0x3c, 0x19, 0x05, 0xa7, 0x6a, 0x7f, 0x3c, 0x66, 0x6e, 0x68, 0x03, + 0x95, 0x0c, 0xad, 0xaf, 0x18, 0xd5, 0xfb, 0x58, 0x90, 0xe7, 0x7c, 0x48, + 0xcb, 0xc6, 0xea, 0x13, 0x5f, 0xe7, 0xc5, 0x63, 0xfe, 0x26, 0x84, 0x74, + 0x7b, 0x55, 0x04, 0x99, 0x21, 0xa8, 0x9d, 0x34, 0xbb, 0x84, 0x57, 0xa4, + 0x6b, 0x78, 0xf0, 0xe8, 0xe1, 0x02, 0x21, 0x1f, 0x4c, 0x64, 0xf4, 0xc4, + 0x50, 0x07, 0xe0, 0x6b, +}; +static const struct drbg_kat_no_reseed kat1332_t = { + 11, kat1332_entropyin, kat1332_nonce, kat1332_persstr, + kat1332_addin0, kat1332_addin1, kat1332_retbits +}; +static const struct drbg_kat kat1332 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1332_t +}; + +static const unsigned char kat1333_entropyin[] = { + 0xe2, 0xb9, 0xff, 0xc6, 0xb1, 0x3c, 0x61, 0x35, 0xd7, 0x60, 0x87, 0xbf, + 0x6e, 0xa2, 0x84, 0x60, 0xfb, 0x9f, 0x18, 0xc4, 0xe7, 0x12, 0x78, 0x50, + 0x39, 0x44, 0x39, 0x70, 0x92, 0x4a, 0xe9, 0x23, 0xf1, 0x8e, 0xe4, 0x5b, + 0x87, 0x90, 0x9d, 0xca, 0xc7, 0x03, 0xc6, 0x2d, 0x58, 0x75, 0xba, 0xbb, +}; +static const unsigned char kat1333_nonce[] = {0}; +static const unsigned char kat1333_persstr[] = {0}; +static const unsigned char kat1333_addin0[] = {0}; +static const unsigned char kat1333_addin1[] = {0}; +static const unsigned char kat1333_retbits[] = { + 0x61, 0x91, 0x66, 0xb4, 0x07, 0x11, 0x98, 0xc4, 0x78, 0x42, 0x7a, 0x1a, + 0xc0, 0xc2, 0x1a, 0x09, 0x93, 0xed, 0x36, 0x5b, 0x78, 0x01, 0xc0, 0x2a, + 0x06, 0xb8, 0x04, 0xf4, 0xb0, 0xbe, 0x55, 0x3c, 0x0d, 0x04, 0x87, 0x21, + 0x8e, 0x5e, 0x20, 0x61, 0x2b, 0xb4, 0x45, 0x3a, 0xb5, 0x9c, 0x8e, 0x4b, + 0x8d, 0xbf, 0xc3, 0x28, 0x2e, 0xfb, 0x34, 0xaa, 0x94, 0x3b, 0xa1, 0x7b, + 0xa6, 0x5d, 0xfa, 0x28, +}; +static const struct drbg_kat_no_reseed kat1333_t = { + 12, kat1333_entropyin, kat1333_nonce, kat1333_persstr, + kat1333_addin0, kat1333_addin1, kat1333_retbits +}; +static const struct drbg_kat kat1333 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1333_t +}; + +static const unsigned char kat1334_entropyin[] = { + 0x38, 0xb4, 0x9f, 0xe3, 0x9f, 0x04, 0xbd, 0x4e, 0xc3, 0x12, 0x08, 0xe9, + 0x51, 0x08, 0x16, 0x63, 0xc0, 0x6a, 0x93, 0xf0, 0x26, 0xe2, 0xf0, 0x91, + 0x5b, 0x36, 0xe4, 0x4c, 0x15, 0x96, 0x9f, 0x6a, 0x9c, 0xab, 0xca, 0x17, + 0x74, 0xa5, 0x86, 0xaa, 0x00, 0x64, 0xa1, 0x61, 0xfa, 0xcf, 0x72, 0x3f, +}; +static const unsigned char kat1334_nonce[] = {0}; +static const unsigned char kat1334_persstr[] = {0}; +static const unsigned char kat1334_addin0[] = {0}; +static const unsigned char kat1334_addin1[] = {0}; +static const unsigned char kat1334_retbits[] = { + 0x47, 0xb6, 0xdc, 0x1f, 0x9f, 0xc7, 0xba, 0x68, 0x97, 0x3e, 0x15, 0xb4, + 0x89, 0xe4, 0x6b, 0x94, 0xb4, 0xba, 0x58, 0xe2, 0x3d, 0x66, 0x91, 0xa6, + 0xe8, 0x31, 0x1d, 0xd8, 0x2a, 0x61, 0x87, 0x25, 0x2e, 0x10, 0x10, 0x28, + 0x65, 0x95, 0x5e, 0xa7, 0x8c, 0x6b, 0x79, 0x53, 0xc5, 0xd0, 0xa7, 0x91, + 0x9c, 0xed, 0xd2, 0x01, 0x1f, 0x85, 0xea, 0xcd, 0x29, 0x89, 0x34, 0x28, + 0x90, 0x83, 0xdd, 0x58, +}; +static const struct drbg_kat_no_reseed kat1334_t = { + 13, kat1334_entropyin, kat1334_nonce, kat1334_persstr, + kat1334_addin0, kat1334_addin1, kat1334_retbits +}; +static const struct drbg_kat kat1334 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1334_t +}; + +static const unsigned char kat1335_entropyin[] = { + 0x80, 0xff, 0xec, 0xca, 0xdd, 0xab, 0x35, 0x22, 0x1c, 0xba, 0x00, 0xff, + 0x37, 0x47, 0x28, 0xda, 0xb8, 0xf9, 0x1f, 0x3e, 0x54, 0x98, 0x62, 0x27, + 0x04, 0xc0, 0x50, 0xe3, 0xe1, 0x3a, 0x2b, 0x0b, 0xdd, 0x2f, 0x91, 0x36, + 0x72, 0xe8, 0x96, 0xa9, 0x79, 0x97, 0x4c, 0x52, 0x06, 0x7e, 0x2a, 0x05, +}; +static const unsigned char kat1335_nonce[] = {0}; +static const unsigned char kat1335_persstr[] = {0}; +static const unsigned char kat1335_addin0[] = {0}; +static const unsigned char kat1335_addin1[] = {0}; +static const unsigned char kat1335_retbits[] = { + 0x02, 0x92, 0xbd, 0xaf, 0x72, 0x5f, 0x46, 0x93, 0x07, 0xe7, 0x6e, 0x3e, + 0xf5, 0xbe, 0xd0, 0x34, 0x70, 0xf6, 0xbd, 0xfc, 0x22, 0xe4, 0xd7, 0xf0, + 0x66, 0x1b, 0xd1, 0xb8, 0x76, 0x96, 0xc9, 0xda, 0x20, 0x1b, 0xbb, 0xdc, + 0xa6, 0xa2, 0x23, 0x44, 0xea, 0x88, 0xff, 0xc7, 0x32, 0x53, 0x70, 0x86, + 0x3b, 0x4c, 0xfb, 0x10, 0x57, 0x40, 0x16, 0x5e, 0xae, 0xd9, 0xc6, 0xe7, + 0x3b, 0x06, 0xa4, 0xe8, +}; +static const struct drbg_kat_no_reseed kat1335_t = { + 14, kat1335_entropyin, kat1335_nonce, kat1335_persstr, + kat1335_addin0, kat1335_addin1, kat1335_retbits +}; +static const struct drbg_kat kat1335 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1335_t +}; + +static const unsigned char kat1336_entropyin[] = { + 0x5e, 0xaf, 0x1f, 0xd9, 0xf7, 0xd7, 0x3f, 0x8c, 0xa3, 0xa3, 0x74, 0x49, + 0xab, 0x60, 0x5d, 0x88, 0x76, 0x3f, 0x9d, 0x8f, 0xce, 0x14, 0x25, 0xce, + 0xc8, 0xe7, 0x26, 0x7b, 0x89, 0x05, 0x1f, 0xf9, 0xeb, 0xdd, 0xed, 0x7c, + 0x24, 0x41, 0xfa, 0x64, 0x86, 0x5a, 0xd9, 0x8e, 0x57, 0xd6, 0xdd, 0x8a, +}; +static const unsigned char kat1336_nonce[] = {0}; +static const unsigned char kat1336_persstr[] = {0}; +static const unsigned char kat1336_addin0[] = { + 0x1b, 0x4b, 0x26, 0x2e, 0x31, 0x64, 0x46, 0xc8, 0x40, 0x21, 0x1d, 0xc3, + 0xf7, 0xfd, 0x10, 0x71, 0xcd, 0xe1, 0x79, 0xee, 0x9d, 0x27, 0x83, 0x70, + 0x6c, 0x07, 0x91, 0x35, 0x9c, 0x7b, 0xf6, 0x8b, 0x07, 0xba, 0x88, 0x0e, + 0xdc, 0xf4, 0xb7, 0x61, 0x23, 0x9e, 0x6b, 0xcf, 0x69, 0xbf, 0x8c, 0xfc, +}; +static const unsigned char kat1336_addin1[] = { + 0x73, 0x9f, 0xd8, 0x58, 0x04, 0xe5, 0xb8, 0x48, 0x26, 0x7d, 0xa4, 0xdb, + 0xc8, 0xf0, 0x26, 0x6d, 0xe1, 0x19, 0x56, 0x3e, 0xd6, 0x8c, 0xad, 0x57, + 0x77, 0xb4, 0xf8, 0xd0, 0x7e, 0x58, 0xbe, 0xdb, 0xcc, 0xa5, 0xf2, 0xc9, + 0xaf, 0x33, 0x93, 0x28, 0xe5, 0xcb, 0x23, 0x8a, 0x21, 0xb1, 0x63, 0x60, +}; +static const unsigned char kat1336_retbits[] = { + 0x8e, 0x13, 0x36, 0xb3, 0x02, 0xf1, 0x2b, 0x21, 0x01, 0xd1, 0x81, 0x59, + 0x07, 0x2d, 0xd1, 0x50, 0xfb, 0xfc, 0x8d, 0x79, 0x4f, 0xfe, 0x5d, 0x7e, + 0x54, 0xdd, 0x9f, 0xb8, 0x0c, 0x09, 0xf5, 0x05, 0x01, 0xc6, 0xd1, 0x79, + 0xad, 0xff, 0x45, 0x6c, 0x15, 0x15, 0x6d, 0x16, 0xdc, 0x38, 0x61, 0x07, + 0xf2, 0x46, 0xd1, 0x5b, 0xfa, 0x2a, 0x99, 0xc8, 0x72, 0xf9, 0x84, 0x47, + 0x50, 0x55, 0xa6, 0x31, +}; +static const struct drbg_kat_no_reseed kat1336_t = { + 0, kat1336_entropyin, kat1336_nonce, kat1336_persstr, + kat1336_addin0, kat1336_addin1, kat1336_retbits +}; +static const struct drbg_kat kat1336 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1336_t +}; + +static const unsigned char kat1337_entropyin[] = { + 0x55, 0x62, 0x60, 0xf4, 0xb1, 0xb7, 0xea, 0x2a, 0x63, 0x7a, 0x3c, 0x3d, + 0xd5, 0xf3, 0x84, 0xde, 0xb0, 0xe8, 0x3d, 0xd2, 0xaf, 0x5c, 0x6b, 0xc6, + 0x0f, 0xfa, 0xc9, 0xdc, 0x4b, 0x43, 0xb5, 0x9c, 0xac, 0xfe, 0x17, 0x3d, + 0x2b, 0x04, 0x1c, 0x8f, 0x31, 0x5c, 0x07, 0x5e, 0x0e, 0x8f, 0xdd, 0xb8, +}; +static const unsigned char kat1337_nonce[] = {0}; +static const unsigned char kat1337_persstr[] = {0}; +static const unsigned char kat1337_addin0[] = { + 0x32, 0xd2, 0xc4, 0xca, 0xfd, 0x82, 0x71, 0xaa, 0x93, 0x8e, 0x9b, 0x64, + 0x7e, 0x5d, 0x9b, 0x91, 0x6d, 0x9b, 0x3e, 0xf7, 0x89, 0xe2, 0x43, 0xfa, + 0x8b, 0x8c, 0x62, 0x3c, 0xa8, 0xd6, 0x4b, 0xcd, 0x7c, 0x7b, 0xc4, 0x2a, + 0xa8, 0x16, 0x9a, 0x2e, 0x6d, 0x53, 0xfb, 0x39, 0x76, 0x3f, 0x59, 0x69, +}; +static const unsigned char kat1337_addin1[] = { + 0x54, 0x7a, 0x3a, 0x11, 0x41, 0x38, 0x0f, 0xe4, 0x41, 0xfe, 0x01, 0xec, + 0xeb, 0xa9, 0x71, 0x93, 0xab, 0x56, 0x6b, 0x0c, 0x86, 0x27, 0xbe, 0xa2, + 0x6c, 0xf9, 0x56, 0xac, 0x8c, 0xbd, 0x78, 0x9a, 0x72, 0xd1, 0x5b, 0xb5, + 0x26, 0xce, 0xec, 0x83, 0x53, 0x2d, 0xf7, 0xa2, 0x76, 0xfb, 0x57, 0xc0, +}; +static const unsigned char kat1337_retbits[] = { + 0x1b, 0xe1, 0xa0, 0x0c, 0x36, 0xdf, 0xc2, 0x3c, 0xd8, 0xfa, 0x4b, 0xd0, + 0x60, 0xba, 0xfa, 0x30, 0x6a, 0x03, 0x32, 0xa3, 0xbe, 0xb0, 0x33, 0x1a, + 0xf0, 0x81, 0x9d, 0x8f, 0x70, 0xd7, 0x71, 0xcc, 0xe6, 0x86, 0x7f, 0xf6, + 0xd2, 0xfb, 0x45, 0xfd, 0x99, 0xd9, 0xe7, 0x52, 0x98, 0xba, 0x04, 0x37, + 0xd6, 0xe9, 0x58, 0x43, 0x68, 0x64, 0xc1, 0x8e, 0xb6, 0x88, 0x21, 0xac, + 0xfe, 0x07, 0xb2, 0x08, +}; +static const struct drbg_kat_no_reseed kat1337_t = { + 1, kat1337_entropyin, kat1337_nonce, kat1337_persstr, + kat1337_addin0, kat1337_addin1, kat1337_retbits +}; +static const struct drbg_kat kat1337 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1337_t +}; + +static const unsigned char kat1338_entropyin[] = { + 0x14, 0x7a, 0x27, 0x01, 0x96, 0x1b, 0xac, 0x03, 0x73, 0x04, 0xea, 0xc1, + 0xdf, 0x10, 0xb1, 0x57, 0x1a, 0x60, 0x0d, 0xc9, 0xa2, 0x26, 0x6a, 0x7c, + 0xaf, 0xc1, 0x80, 0x30, 0xfc, 0xb8, 0x3a, 0xd5, 0x60, 0x32, 0x5e, 0x0a, + 0x6f, 0x4b, 0x76, 0x72, 0xb4, 0x39, 0xd6, 0xca, 0x02, 0x84, 0x85, 0x1a, +}; +static const unsigned char kat1338_nonce[] = {0}; +static const unsigned char kat1338_persstr[] = {0}; +static const unsigned char kat1338_addin0[] = { + 0x2a, 0xe8, 0x22, 0x0a, 0xe2, 0x30, 0xfe, 0x6b, 0x00, 0xc5, 0x1d, 0xda, + 0xcd, 0x3e, 0x1f, 0x08, 0xdd, 0x1f, 0xac, 0xab, 0x94, 0x85, 0x25, 0x82, + 0x5f, 0xda, 0x86, 0xd8, 0xbb, 0x79, 0x3a, 0x5c, 0x85, 0x73, 0x26, 0x97, + 0xd8, 0x32, 0xc0, 0x81, 0x34, 0xc2, 0x0c, 0x12, 0x61, 0xda, 0x6d, 0x86, +}; +static const unsigned char kat1338_addin1[] = { + 0x10, 0x9f, 0xbe, 0x0c, 0xda, 0x90, 0xbf, 0x61, 0x09, 0x40, 0x1d, 0xaf, + 0x3e, 0x3d, 0xb8, 0xdf, 0xbb, 0xfe, 0x48, 0x89, 0xe6, 0x6c, 0x7f, 0x4a, + 0x44, 0x7c, 0xfe, 0xa5, 0x9a, 0x21, 0x68, 0x6e, 0xae, 0x41, 0x8b, 0x75, + 0x0e, 0xad, 0x8b, 0xbe, 0x67, 0x29, 0xdd, 0xf5, 0xff, 0xf6, 0xb0, 0x76, +}; +static const unsigned char kat1338_retbits[] = { + 0x44, 0x8e, 0x0c, 0xa2, 0x89, 0x76, 0xd2, 0x12, 0x1f, 0xc7, 0x0d, 0x76, + 0x54, 0xfe, 0x57, 0x41, 0xe5, 0x78, 0x1d, 0xb4, 0x15, 0x17, 0x17, 0x62, + 0x4f, 0xbc, 0xe5, 0xff, 0x29, 0x77, 0xd9, 0x44, 0x04, 0x41, 0xf4, 0x8f, + 0x07, 0xf3, 0x19, 0x8f, 0x67, 0x50, 0x85, 0x69, 0xf7, 0x1c, 0x90, 0xd5, + 0x6d, 0x8e, 0x73, 0xe6, 0x1b, 0x81, 0x80, 0xe6, 0x06, 0x16, 0x4e, 0xe8, + 0x8b, 0x40, 0x20, 0xbf, +}; +static const struct drbg_kat_no_reseed kat1338_t = { + 2, kat1338_entropyin, kat1338_nonce, kat1338_persstr, + kat1338_addin0, kat1338_addin1, kat1338_retbits +}; +static const struct drbg_kat kat1338 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1338_t +}; + +static const unsigned char kat1339_entropyin[] = { + 0xec, 0x41, 0x5f, 0xf0, 0x4d, 0x0d, 0x5f, 0x11, 0x0b, 0xd1, 0x94, 0x79, + 0x45, 0x33, 0x4e, 0x37, 0xb3, 0x3f, 0xdd, 0x7e, 0x01, 0xb8, 0xa4, 0x0a, + 0xe4, 0xfc, 0x57, 0x3a, 0xc2, 0xa4, 0xc9, 0xae, 0x98, 0x31, 0x20, 0x4b, + 0x6e, 0x97, 0xd6, 0x06, 0x65, 0x42, 0xc3, 0x9c, 0x92, 0x26, 0x55, 0x67, +}; +static const unsigned char kat1339_nonce[] = {0}; +static const unsigned char kat1339_persstr[] = {0}; +static const unsigned char kat1339_addin0[] = { + 0x4b, 0x45, 0x48, 0x17, 0xe5, 0xfb, 0x50, 0xd0, 0x57, 0xd8, 0xd8, 0x18, + 0x84, 0x61, 0x68, 0xe3, 0xaf, 0x52, 0x8d, 0x5c, 0x21, 0x30, 0xed, 0x65, + 0xcb, 0x5d, 0x18, 0x77, 0x3f, 0x69, 0xed, 0xc9, 0x64, 0x9f, 0xe1, 0x6b, + 0x1c, 0x47, 0x0d, 0x5b, 0xc8, 0x56, 0x47, 0xb2, 0xb9, 0x2d, 0xfc, 0x03, +}; +static const unsigned char kat1339_addin1[] = { + 0x61, 0xd9, 0x13, 0x23, 0x28, 0x5a, 0x6a, 0x7e, 0x91, 0x42, 0xb1, 0xde, + 0x1c, 0xec, 0x0a, 0x5d, 0x4f, 0x6a, 0x01, 0x5f, 0x2c, 0xe2, 0x8c, 0x60, + 0x5c, 0x5d, 0x07, 0x8c, 0x80, 0xfe, 0x38, 0x58, 0x43, 0xe0, 0x49, 0x98, + 0x46, 0x40, 0x42, 0xda, 0xbb, 0x52, 0x68, 0x64, 0xa7, 0xb6, 0xaf, 0x24, +}; +static const unsigned char kat1339_retbits[] = { + 0x4e, 0xc6, 0xae, 0xcb, 0x7c, 0x52, 0x07, 0xe6, 0xb6, 0x82, 0xa2, 0xd6, + 0x32, 0xcb, 0x1e, 0x95, 0x39, 0x60, 0x21, 0xe4, 0xb5, 0x94, 0x71, 0x1c, + 0xed, 0x37, 0xe8, 0x45, 0x67, 0xc1, 0x10, 0x00, 0x6d, 0x51, 0x51, 0x59, + 0x17, 0xb6, 0x95, 0x4c, 0x54, 0x25, 0xba, 0x70, 0xe3, 0x4a, 0x27, 0x57, + 0xf3, 0x5f, 0x58, 0xee, 0x44, 0xfa, 0xe2, 0x16, 0x4b, 0x6b, 0x18, 0x53, + 0x35, 0x30, 0x0d, 0x7c, +}; +static const struct drbg_kat_no_reseed kat1339_t = { + 3, kat1339_entropyin, kat1339_nonce, kat1339_persstr, + kat1339_addin0, kat1339_addin1, kat1339_retbits +}; +static const struct drbg_kat kat1339 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1339_t +}; + +static const unsigned char kat1340_entropyin[] = { + 0xb4, 0x8c, 0x76, 0xbe, 0x8a, 0x6d, 0xc1, 0x4d, 0x69, 0x9f, 0x5d, 0x6b, + 0x3b, 0xf8, 0x33, 0x0b, 0x87, 0x82, 0x7d, 0x82, 0x83, 0x67, 0xa1, 0x2c, + 0x82, 0xc8, 0x73, 0xc3, 0x0e, 0x3a, 0x0f, 0x94, 0x1d, 0xd6, 0xf0, 0xac, + 0x1a, 0x69, 0x6b, 0x74, 0x25, 0x6d, 0x0b, 0x5f, 0x28, 0x54, 0x4b, 0xa0, +}; +static const unsigned char kat1340_nonce[] = {0}; +static const unsigned char kat1340_persstr[] = {0}; +static const unsigned char kat1340_addin0[] = { + 0x98, 0x53, 0x43, 0x38, 0x2e, 0x88, 0x44, 0xb1, 0xeb, 0xac, 0xd5, 0x72, + 0x41, 0x37, 0xa4, 0x14, 0xf2, 0xf8, 0x55, 0xd0, 0x8e, 0x6a, 0x92, 0xa6, + 0xb7, 0xb3, 0xa8, 0xf1, 0x1a, 0xe5, 0xc3, 0x0a, 0x62, 0x70, 0x06, 0x44, + 0x19, 0xa7, 0xf4, 0x41, 0xff, 0xfe, 0x83, 0x1e, 0x51, 0x41, 0xa0, 0xf4, +}; +static const unsigned char kat1340_addin1[] = { + 0x0c, 0x50, 0x83, 0xeb, 0x44, 0xd4, 0xb6, 0x67, 0xe6, 0xe0, 0xdb, 0x37, + 0xaf, 0x5e, 0xb5, 0xf9, 0x36, 0x44, 0xe1, 0xab, 0x26, 0x97, 0x80, 0xf1, + 0xfb, 0x53, 0x5f, 0xee, 0xeb, 0x0e, 0x19, 0xf1, 0xb5, 0x0f, 0x4c, 0x76, + 0x3c, 0x1e, 0x9d, 0x16, 0xd8, 0xa8, 0xda, 0x08, 0xc9, 0x29, 0x45, 0x6d, +}; +static const unsigned char kat1340_retbits[] = { + 0x3e, 0xfd, 0x43, 0x75, 0xb2, 0x29, 0x4c, 0x35, 0x6d, 0x5b, 0xc3, 0x68, + 0x46, 0xc4, 0xc4, 0x4d, 0xd2, 0x1c, 0x01, 0x2b, 0x50, 0xd8, 0xf3, 0x34, + 0x66, 0x4d, 0x1c, 0x4c, 0x3f, 0x44, 0x22, 0x09, 0x74, 0x1d, 0xba, 0x07, + 0x90, 0xb4, 0x90, 0x40, 0xb3, 0x56, 0x03, 0xd6, 0x1e, 0x29, 0xca, 0xe4, + 0xd3, 0xe4, 0x7a, 0xe0, 0x7f, 0x72, 0x63, 0x83, 0xac, 0xcd, 0xcb, 0xd3, + 0x5f, 0xce, 0xe8, 0xf5, +}; +static const struct drbg_kat_no_reseed kat1340_t = { + 4, kat1340_entropyin, kat1340_nonce, kat1340_persstr, + kat1340_addin0, kat1340_addin1, kat1340_retbits +}; +static const struct drbg_kat kat1340 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1340_t +}; + +static const unsigned char kat1341_entropyin[] = { + 0xa1, 0x20, 0xc2, 0xbb, 0x5c, 0x4e, 0xd3, 0x3a, 0x5e, 0xaf, 0x42, 0x84, + 0x79, 0xf5, 0x58, 0x6f, 0xc7, 0x4e, 0xd4, 0x7d, 0x7d, 0xb6, 0xae, 0x29, + 0x82, 0xb8, 0xa3, 0x71, 0x08, 0x99, 0xb4, 0xac, 0x23, 0x22, 0x4f, 0xaa, + 0x5b, 0x21, 0x5d, 0x9a, 0xd5, 0x8a, 0x85, 0x84, 0x75, 0xe8, 0xf7, 0xd8, +}; +static const unsigned char kat1341_nonce[] = {0}; +static const unsigned char kat1341_persstr[] = {0}; +static const unsigned char kat1341_addin0[] = { + 0xa3, 0x4e, 0x7d, 0x52, 0x34, 0xad, 0x35, 0x33, 0xf1, 0xd4, 0x26, 0x93, + 0x35, 0xa4, 0xde, 0x5d, 0x0c, 0x17, 0x23, 0x2e, 0xcb, 0xf5, 0x54, 0x6f, + 0xab, 0x23, 0xb2, 0x8c, 0xa2, 0x18, 0x9b, 0x4d, 0x06, 0xf6, 0x98, 0x0c, + 0xcb, 0xbc, 0x2c, 0xb5, 0x90, 0x66, 0x29, 0xd8, 0xb1, 0xb0, 0x80, 0x35, +}; +static const unsigned char kat1341_addin1[] = { + 0x25, 0xbd, 0x3b, 0xea, 0x3e, 0x5a, 0x01, 0x19, 0xe3, 0xeb, 0x60, 0xd5, + 0xa6, 0x20, 0x19, 0x5e, 0xf8, 0x29, 0x4b, 0x83, 0xe3, 0x1f, 0x03, 0xce, + 0xa2, 0xda, 0x93, 0xf2, 0x33, 0xcd, 0x25, 0x29, 0xde, 0xcc, 0x86, 0x42, + 0x6e, 0xe2, 0x20, 0x99, 0x7a, 0x53, 0xcc, 0xb9, 0xb3, 0x64, 0x0b, 0xa9, +}; +static const unsigned char kat1341_retbits[] = { + 0xb4, 0xd0, 0x19, 0xa1, 0x35, 0x7c, 0xb2, 0x51, 0x79, 0x3c, 0xe7, 0x20, + 0x05, 0x95, 0x75, 0x76, 0xd4, 0x8c, 0x5b, 0x7d, 0x20, 0x1e, 0xa2, 0x58, + 0x1a, 0x57, 0xdc, 0x65, 0xc9, 0x75, 0xb0, 0x8d, 0x4f, 0x17, 0x58, 0xbf, + 0xcf, 0xba, 0xea, 0x85, 0x57, 0x08, 0xc6, 0x52, 0xba, 0x9e, 0x9c, 0xe2, + 0x8b, 0xc4, 0x2d, 0xff, 0xdf, 0xa9, 0x46, 0xbd, 0x67, 0xc7, 0xe7, 0x65, + 0x30, 0xed, 0x57, 0x58, +}; +static const struct drbg_kat_no_reseed kat1341_t = { + 5, kat1341_entropyin, kat1341_nonce, kat1341_persstr, + kat1341_addin0, kat1341_addin1, kat1341_retbits +}; +static const struct drbg_kat kat1341 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1341_t +}; + +static const unsigned char kat1342_entropyin[] = { + 0x88, 0x58, 0x61, 0xe6, 0x19, 0xe7, 0x1a, 0x1c, 0xcf, 0xac, 0xa3, 0xb5, + 0xa9, 0x20, 0x2b, 0x63, 0x17, 0x06, 0x0b, 0x60, 0xe2, 0x7c, 0xed, 0xd5, + 0xc1, 0xc9, 0xda, 0xba, 0xea, 0x7e, 0x22, 0x57, 0x79, 0xa6, 0xda, 0xef, + 0x56, 0xbb, 0x9c, 0xf9, 0x0e, 0x77, 0x93, 0xbd, 0xc5, 0x3f, 0x2d, 0xed, +}; +static const unsigned char kat1342_nonce[] = {0}; +static const unsigned char kat1342_persstr[] = {0}; +static const unsigned char kat1342_addin0[] = { + 0xdd, 0x89, 0x1a, 0x6a, 0x79, 0xfd, 0xa1, 0x70, 0x80, 0x91, 0x01, 0x9e, + 0x1c, 0x89, 0x87, 0x79, 0x8a, 0x0b, 0x43, 0x0b, 0x3b, 0x8b, 0x29, 0x11, + 0x45, 0x74, 0xa6, 0xaf, 0xc8, 0x7b, 0x15, 0x82, 0x04, 0x85, 0x09, 0x59, + 0x26, 0xf4, 0x11, 0x4b, 0xda, 0x7a, 0x27, 0xb5, 0x56, 0x36, 0x09, 0x49, +}; +static const unsigned char kat1342_addin1[] = { + 0x34, 0x25, 0xec, 0xa9, 0xca, 0xaa, 0x52, 0xf4, 0x05, 0xd2, 0xd5, 0x78, + 0xa3, 0xbe, 0xe3, 0x97, 0x05, 0xef, 0xd1, 0x3e, 0xfc, 0x10, 0x68, 0x0c, + 0x42, 0x3d, 0x7e, 0xdf, 0x14, 0x31, 0x65, 0xb4, 0x7b, 0xe8, 0x80, 0x95, + 0xc1, 0x52, 0x9f, 0x01, 0x19, 0xb5, 0x05, 0x81, 0x36, 0x38, 0x94, 0x38, +}; +static const unsigned char kat1342_retbits[] = { + 0x49, 0xe8, 0x1f, 0x87, 0xbe, 0x29, 0x76, 0xcb, 0xbe, 0x62, 0xe4, 0x9b, + 0xc6, 0xc6, 0xc0, 0x42, 0x44, 0x65, 0x45, 0xb7, 0x9b, 0x19, 0x12, 0x3c, + 0x3b, 0x0d, 0x85, 0x5f, 0x0e, 0x9c, 0xed, 0xd7, 0xc0, 0x05, 0xfb, 0xb1, + 0x3f, 0x83, 0x12, 0x52, 0xd7, 0x4d, 0x97, 0xa2, 0x9e, 0xbc, 0xca, 0x96, + 0xd3, 0xa4, 0xc6, 0x53, 0xcc, 0x3d, 0x55, 0x63, 0x19, 0xbd, 0xad, 0xc1, + 0x1b, 0x48, 0xcd, 0x1d, +}; +static const struct drbg_kat_no_reseed kat1342_t = { + 6, kat1342_entropyin, kat1342_nonce, kat1342_persstr, + kat1342_addin0, kat1342_addin1, kat1342_retbits +}; +static const struct drbg_kat kat1342 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1342_t +}; + +static const unsigned char kat1343_entropyin[] = { + 0xff, 0x65, 0x6c, 0x9b, 0x04, 0x42, 0x70, 0x28, 0x9e, 0xb8, 0xbb, 0x0c, + 0xf7, 0x92, 0x36, 0x0a, 0xfb, 0x51, 0xa2, 0xc1, 0x2f, 0xa9, 0x43, 0xb6, + 0xde, 0x1f, 0x66, 0xf9, 0x70, 0x8e, 0xf3, 0xa2, 0x69, 0xf4, 0xb4, 0x0c, + 0xa7, 0x7f, 0xce, 0x41, 0xe5, 0x51, 0xa3, 0x4e, 0x0f, 0xa7, 0x47, 0x7f, +}; +static const unsigned char kat1343_nonce[] = {0}; +static const unsigned char kat1343_persstr[] = {0}; +static const unsigned char kat1343_addin0[] = { + 0xda, 0xd3, 0x51, 0x0e, 0x96, 0x43, 0x9f, 0x02, 0x39, 0xec, 0x53, 0x05, + 0x6e, 0xe9, 0x02, 0x7f, 0x53, 0x70, 0xcc, 0xcf, 0xc2, 0x15, 0x8e, 0xd9, + 0x2b, 0x0b, 0xa0, 0xc2, 0x6b, 0x77, 0x69, 0x05, 0xc8, 0xae, 0x43, 0xeb, + 0xfb, 0x3a, 0x82, 0x8d, 0x44, 0x4d, 0xfe, 0x6d, 0x51, 0x07, 0xf5, 0xf0, +}; +static const unsigned char kat1343_addin1[] = { + 0x51, 0xc0, 0x55, 0x18, 0x61, 0xdf, 0x38, 0xaf, 0xb8, 0x67, 0xf2, 0xf4, + 0x4c, 0x4f, 0xc7, 0x6f, 0x7b, 0xd1, 0xd7, 0x75, 0x50, 0x0a, 0x0d, 0x55, + 0x93, 0x1a, 0xe0, 0xcc, 0x00, 0xf3, 0x3c, 0x76, 0xae, 0x8b, 0xfa, 0x90, + 0x22, 0x19, 0xb7, 0x01, 0xd3, 0x1c, 0x5d, 0x31, 0x0a, 0x8a, 0x5b, 0x78, +}; +static const unsigned char kat1343_retbits[] = { + 0x92, 0xc3, 0x86, 0x3d, 0x9f, 0xca, 0xa9, 0x00, 0x3d, 0x2f, 0x8c, 0x36, + 0xff, 0xa1, 0x43, 0x50, 0x64, 0xc6, 0xc7, 0xf1, 0x6e, 0x57, 0x2b, 0x1e, + 0x49, 0xba, 0x72, 0x35, 0xef, 0x87, 0x85, 0x4f, 0x7e, 0x0e, 0xe5, 0xda, + 0xb4, 0x1b, 0xee, 0x0e, 0x87, 0x14, 0xe7, 0x2f, 0xfa, 0x7f, 0x64, 0x64, + 0x0b, 0xfb, 0xb8, 0x25, 0x15, 0x8f, 0xb7, 0x00, 0x0b, 0x28, 0xb8, 0xd3, + 0x85, 0xe6, 0x5a, 0x44, +}; +static const struct drbg_kat_no_reseed kat1343_t = { + 7, kat1343_entropyin, kat1343_nonce, kat1343_persstr, + kat1343_addin0, kat1343_addin1, kat1343_retbits +}; +static const struct drbg_kat kat1343 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1343_t +}; + +static const unsigned char kat1344_entropyin[] = { + 0xf6, 0x2d, 0xca, 0xf8, 0x2e, 0xfa, 0xe3, 0xeb, 0x03, 0x7f, 0x46, 0xed, + 0x2d, 0x12, 0xe2, 0xfe, 0x92, 0x5d, 0x04, 0x40, 0x76, 0x9b, 0xad, 0x68, + 0xb8, 0x57, 0xa2, 0x4b, 0xe0, 0xfe, 0x95, 0x68, 0x1e, 0x19, 0x34, 0x05, + 0xfe, 0x61, 0xd5, 0xd8, 0xf7, 0xe8, 0x0b, 0xfd, 0x59, 0xfa, 0xac, 0xf4, +}; +static const unsigned char kat1344_nonce[] = {0}; +static const unsigned char kat1344_persstr[] = {0}; +static const unsigned char kat1344_addin0[] = { + 0x27, 0x4a, 0x3d, 0xc4, 0xe4, 0xe8, 0x6d, 0x8e, 0x06, 0x52, 0x50, 0x2d, + 0xb2, 0xfc, 0xca, 0xbf, 0xaa, 0x54, 0x2b, 0xfb, 0xb7, 0xd6, 0x10, 0x19, + 0x36, 0xb7, 0x69, 0xa7, 0xe4, 0x60, 0xf5, 0x4b, 0x9a, 0x93, 0xeb, 0xa1, + 0x47, 0xb4, 0x11, 0x51, 0x0f, 0x4c, 0x77, 0x92, 0x62, 0x39, 0xd7, 0x1d, +}; +static const unsigned char kat1344_addin1[] = { + 0x30, 0xf7, 0x40, 0xe9, 0x02, 0xc5, 0xd3, 0x0c, 0x92, 0x76, 0x13, 0x26, + 0x72, 0xcc, 0x19, 0x4f, 0x2b, 0xd8, 0x38, 0xff, 0xb1, 0x64, 0x5b, 0xc9, + 0x45, 0x2e, 0xe0, 0xe9, 0xfa, 0x98, 0x20, 0x24, 0xbf, 0x7b, 0xcb, 0x82, + 0xca, 0xa1, 0xce, 0x83, 0xbf, 0x6d, 0xb6, 0xa4, 0x12, 0x81, 0xbe, 0xa3, +}; +static const unsigned char kat1344_retbits[] = { + 0xdf, 0xd9, 0x39, 0xd5, 0xd5, 0x53, 0xb1, 0xf9, 0xfa, 0x99, 0x5a, 0x70, + 0xa7, 0xb7, 0x82, 0x0b, 0x48, 0x9e, 0x30, 0xf4, 0x59, 0x44, 0xf2, 0x13, + 0x6d, 0x2d, 0x2e, 0x2a, 0x76, 0xf2, 0x9f, 0xe9, 0x7f, 0x92, 0x44, 0x08, + 0x8e, 0xd1, 0x3a, 0x2a, 0xcf, 0x0d, 0x5f, 0xd2, 0xca, 0x51, 0x61, 0xd2, + 0x15, 0xf5, 0x94, 0xb7, 0xfa, 0xbe, 0xa1, 0x71, 0xb1, 0x17, 0xf5, 0x91, + 0x26, 0xbb, 0xca, 0xab, +}; +static const struct drbg_kat_no_reseed kat1344_t = { + 8, kat1344_entropyin, kat1344_nonce, kat1344_persstr, + kat1344_addin0, kat1344_addin1, kat1344_retbits +}; +static const struct drbg_kat kat1344 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1344_t +}; + +static const unsigned char kat1345_entropyin[] = { + 0x51, 0x7a, 0xa7, 0x7a, 0x77, 0xe5, 0x53, 0x8f, 0xd7, 0xa1, 0x3a, 0x4f, + 0x5c, 0x0c, 0x9e, 0x7e, 0xe8, 0x02, 0xea, 0xbb, 0x65, 0x63, 0x6d, 0x2c, + 0x01, 0x40, 0xe8, 0xa6, 0x28, 0x74, 0x4e, 0x1f, 0x71, 0xce, 0x4c, 0x27, + 0x9c, 0x77, 0x1b, 0xd8, 0x4f, 0x35, 0x2d, 0x89, 0xff, 0x52, 0xd2, 0x54, +}; +static const unsigned char kat1345_nonce[] = {0}; +static const unsigned char kat1345_persstr[] = {0}; +static const unsigned char kat1345_addin0[] = { + 0x86, 0xd6, 0x4d, 0x0a, 0xef, 0x2f, 0x0b, 0xd3, 0xe2, 0x7e, 0x18, 0x40, + 0x4d, 0x3d, 0xdd, 0x83, 0xa6, 0x1b, 0x0e, 0x7d, 0x4b, 0x03, 0xb7, 0xb4, + 0xfd, 0xda, 0x43, 0xb0, 0xf1, 0x04, 0x7a, 0x62, 0xe4, 0x2a, 0x71, 0xe1, + 0x70, 0x51, 0xd5, 0x02, 0xac, 0x1d, 0x2b, 0x66, 0x4f, 0x24, 0x62, 0x41, +}; +static const unsigned char kat1345_addin1[] = { + 0x4e, 0x98, 0xe3, 0x8d, 0xc2, 0xb3, 0xd8, 0xbf, 0x03, 0x5b, 0xd3, 0x6a, + 0xd4, 0x55, 0xee, 0x61, 0x50, 0xc9, 0x8d, 0x99, 0xf9, 0xaf, 0x5a, 0x42, + 0xcf, 0xcb, 0x93, 0x31, 0x46, 0xd2, 0xee, 0xc8, 0x98, 0x22, 0x1e, 0x22, + 0x8c, 0x97, 0x61, 0x7d, 0x6e, 0xc4, 0x8f, 0x22, 0x3b, 0x52, 0xe9, 0x49, +}; +static const unsigned char kat1345_retbits[] = { + 0xcc, 0xa2, 0xd8, 0x65, 0x31, 0x2c, 0x0e, 0x5e, 0xfb, 0x86, 0x99, 0x84, + 0x86, 0x5b, 0x95, 0xb7, 0xe3, 0x40, 0xe7, 0x4f, 0x90, 0x51, 0x61, 0xea, + 0x6a, 0xa3, 0x14, 0x11, 0x6a, 0xa4, 0x94, 0x47, 0x48, 0x1c, 0xe9, 0xdd, + 0xef, 0xff, 0x1d, 0x2c, 0x33, 0xd9, 0x1c, 0x7f, 0xb4, 0x9f, 0x7d, 0xad, + 0x56, 0xef, 0xcb, 0xf2, 0x41, 0x44, 0x45, 0x6b, 0xe2, 0x28, 0x10, 0x7a, + 0xad, 0xae, 0x80, 0x1c, +}; +static const struct drbg_kat_no_reseed kat1345_t = { + 9, kat1345_entropyin, kat1345_nonce, kat1345_persstr, + kat1345_addin0, kat1345_addin1, kat1345_retbits +}; +static const struct drbg_kat kat1345 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1345_t +}; + +static const unsigned char kat1346_entropyin[] = { + 0xfe, 0xf1, 0xe5, 0x7a, 0x77, 0x0a, 0x7f, 0xee, 0xf1, 0x9f, 0xab, 0x12, + 0xc0, 0xff, 0x7b, 0xd7, 0x89, 0x24, 0xce, 0xa8, 0x3e, 0x5a, 0x5e, 0x0d, + 0x6d, 0x0a, 0x73, 0x0c, 0x17, 0xc3, 0x92, 0x06, 0x32, 0x71, 0xf4, 0xa8, + 0x63, 0x76, 0xb8, 0x12, 0xfd, 0x31, 0xea, 0x9f, 0xf4, 0x3d, 0xb4, 0x0b, +}; +static const unsigned char kat1346_nonce[] = {0}; +static const unsigned char kat1346_persstr[] = {0}; +static const unsigned char kat1346_addin0[] = { + 0xd6, 0xbf, 0xd7, 0xab, 0x6e, 0xdc, 0x1f, 0x8d, 0xd4, 0x12, 0xa7, 0x47, + 0x4d, 0xef, 0x9c, 0xe5, 0x34, 0xe7, 0xc3, 0x5e, 0xcd, 0xa3, 0xbf, 0xea, + 0x57, 0xa9, 0x8a, 0xaa, 0xc7, 0xbc, 0x25, 0x1b, 0x9d, 0x1a, 0xe4, 0xc1, + 0xd6, 0xfd, 0x91, 0x1e, 0xfa, 0x61, 0x13, 0x0f, 0xb8, 0x4e, 0x4c, 0x74, +}; +static const unsigned char kat1346_addin1[] = { + 0x72, 0xed, 0x24, 0xf1, 0x04, 0xf5, 0x51, 0x3d, 0x27, 0x77, 0xc7, 0xf1, + 0xb6, 0x23, 0x73, 0x63, 0x08, 0x12, 0x60, 0xa2, 0xb2, 0x3d, 0xa3, 0xdb, + 0x0e, 0x01, 0xb1, 0x4e, 0x8a, 0xc7, 0x23, 0x66, 0xf6, 0x61, 0x6b, 0x4d, + 0x92, 0xaf, 0x99, 0xb4, 0x9b, 0x5c, 0x84, 0xc9, 0x59, 0xb9, 0x82, 0xc3, +}; +static const unsigned char kat1346_retbits[] = { + 0x87, 0x95, 0x13, 0xa1, 0xea, 0x37, 0x89, 0xed, 0x39, 0x15, 0xdc, 0xe9, + 0x69, 0x7b, 0x9e, 0x76, 0xc6, 0x75, 0xb9, 0x39, 0xeb, 0x80, 0x93, 0xd4, + 0x1d, 0x0a, 0xdc, 0x3e, 0xd3, 0xae, 0xb9, 0x8b, 0x67, 0xe2, 0x4c, 0x0c, + 0x3f, 0x6a, 0xe8, 0xa6, 0x1f, 0x0b, 0x77, 0x2b, 0xd4, 0x0a, 0xcb, 0x6c, + 0x85, 0x63, 0x32, 0x33, 0x35, 0x7a, 0xf5, 0x32, 0x9f, 0xc7, 0xa0, 0x32, + 0x98, 0x87, 0x58, 0xa3, +}; +static const struct drbg_kat_no_reseed kat1346_t = { + 10, kat1346_entropyin, kat1346_nonce, kat1346_persstr, + kat1346_addin0, kat1346_addin1, kat1346_retbits +}; +static const struct drbg_kat kat1346 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1346_t +}; + +static const unsigned char kat1347_entropyin[] = { + 0x22, 0x0f, 0xe6, 0x9b, 0x9a, 0x50, 0x52, 0xa5, 0x2e, 0x58, 0xa2, 0x6a, + 0x79, 0xe3, 0x9e, 0x0b, 0x48, 0x6c, 0xfc, 0xa7, 0x13, 0x95, 0xa5, 0x89, + 0xcd, 0x4a, 0xd3, 0x96, 0x2c, 0x03, 0xd2, 0x78, 0x99, 0x7f, 0x35, 0x94, + 0x7a, 0xd6, 0x9e, 0x37, 0xb3, 0x0a, 0x7e, 0xf8, 0xeb, 0x12, 0x67, 0x97, +}; +static const unsigned char kat1347_nonce[] = {0}; +static const unsigned char kat1347_persstr[] = {0}; +static const unsigned char kat1347_addin0[] = { + 0xa5, 0x2b, 0xc9, 0x27, 0x9f, 0x5e, 0x0a, 0x70, 0xe4, 0x73, 0xaf, 0x3f, + 0x76, 0x89, 0x9b, 0xb9, 0xe5, 0xee, 0xe8, 0x46, 0x84, 0x8f, 0xd1, 0x81, + 0x2b, 0x76, 0xa5, 0xfc, 0xa6, 0x18, 0xcb, 0x43, 0x30, 0x3b, 0xfc, 0x93, + 0x75, 0x38, 0x99, 0xae, 0x92, 0x58, 0x5d, 0x90, 0xd6, 0x48, 0x50, 0x1f, +}; +static const unsigned char kat1347_addin1[] = { + 0x9c, 0x37, 0x5f, 0xa7, 0x53, 0x41, 0xaa, 0xb2, 0xda, 0x8b, 0x02, 0x40, + 0x75, 0x23, 0x8f, 0x17, 0x88, 0xef, 0x1d, 0x2e, 0x64, 0x67, 0x8a, 0x64, + 0x74, 0x36, 0x6a, 0x29, 0x80, 0x12, 0xae, 0x75, 0x72, 0xe3, 0x09, 0xf3, + 0x82, 0x08, 0x94, 0x1d, 0x5d, 0xac, 0x4c, 0x61, 0xd8, 0xf2, 0x72, 0xfd, +}; +static const unsigned char kat1347_retbits[] = { + 0x7d, 0x06, 0x7c, 0x72, 0x0b, 0xfe, 0x15, 0x80, 0x5f, 0x3d, 0xfd, 0xe2, + 0x39, 0x64, 0xe8, 0xce, 0xf1, 0x18, 0x83, 0x42, 0x84, 0x00, 0x86, 0x56, + 0xf3, 0x2a, 0xcb, 0xfc, 0x20, 0xba, 0x52, 0xb7, 0x81, 0x88, 0xd8, 0x77, + 0x48, 0x67, 0x20, 0x34, 0x1d, 0xc9, 0x71, 0xfe, 0x78, 0x61, 0x9d, 0xb5, + 0xf1, 0x77, 0xba, 0x61, 0x55, 0x3d, 0x41, 0xda, 0x2f, 0x4e, 0xc6, 0xdf, + 0x82, 0x67, 0xaf, 0xd7, +}; +static const struct drbg_kat_no_reseed kat1347_t = { + 11, kat1347_entropyin, kat1347_nonce, kat1347_persstr, + kat1347_addin0, kat1347_addin1, kat1347_retbits +}; +static const struct drbg_kat kat1347 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1347_t +}; + +static const unsigned char kat1348_entropyin[] = { + 0x7c, 0x75, 0xed, 0xd1, 0x67, 0x5f, 0x4a, 0xc8, 0x44, 0xb9, 0xde, 0xad, + 0x1f, 0x8f, 0x74, 0x3e, 0x8f, 0xa6, 0x37, 0x2b, 0xe5, 0x7e, 0xc6, 0xb7, + 0x2e, 0x7a, 0x01, 0xec, 0x6b, 0x93, 0x71, 0xde, 0xd2, 0xe6, 0x4d, 0x8f, + 0x4b, 0x11, 0xd4, 0x08, 0x9a, 0xcc, 0x47, 0x3b, 0x59, 0x50, 0x76, 0x02, +}; +static const unsigned char kat1348_nonce[] = {0}; +static const unsigned char kat1348_persstr[] = {0}; +static const unsigned char kat1348_addin0[] = { + 0xc6, 0x56, 0x4c, 0x3c, 0x43, 0xfd, 0x2c, 0x74, 0xb9, 0xd4, 0x8c, 0x4f, + 0x8e, 0xde, 0xcc, 0x8f, 0xc0, 0x0a, 0xf0, 0x6b, 0x34, 0x36, 0x33, 0x02, + 0xf8, 0x17, 0x1e, 0xe4, 0x93, 0xcd, 0xf1, 0x43, 0xd0, 0xdb, 0x6d, 0x61, + 0xd8, 0xaa, 0xe4, 0xf0, 0xc6, 0x58, 0x53, 0xde, 0xea, 0x50, 0xee, 0x90, +}; +static const unsigned char kat1348_addin1[] = { + 0xe8, 0x62, 0x66, 0xb8, 0x3f, 0x16, 0x8f, 0xe6, 0x16, 0xdb, 0x77, 0x03, + 0x6b, 0xc1, 0xd0, 0x1d, 0xda, 0xb1, 0x4f, 0x13, 0x25, 0x35, 0xe9, 0x98, + 0x1b, 0x77, 0xa6, 0x87, 0xd7, 0x58, 0xe8, 0x45, 0x44, 0x0b, 0xaa, 0x8b, + 0xf0, 0x8b, 0x91, 0xa2, 0xd8, 0x40, 0x8b, 0x89, 0xf6, 0xbc, 0x5a, 0x60, +}; +static const unsigned char kat1348_retbits[] = { + 0xd4, 0xcd, 0x79, 0x0f, 0x30, 0x64, 0xe4, 0xb6, 0x9c, 0x59, 0xdb, 0x69, + 0xfc, 0xb7, 0x16, 0x8f, 0x13, 0x52, 0xc2, 0xff, 0xc7, 0x03, 0xec, 0xc2, + 0x23, 0x31, 0x07, 0x91, 0x1f, 0x22, 0x4d, 0x79, 0x29, 0x4c, 0xe6, 0x35, + 0x47, 0xa8, 0xd9, 0x69, 0x14, 0x17, 0xac, 0x3a, 0x98, 0x96, 0x0e, 0xeb, + 0x6a, 0x1d, 0xf2, 0xd9, 0xbe, 0xa6, 0x62, 0x06, 0xf5, 0x43, 0x43, 0x35, + 0xe2, 0x53, 0x3e, 0xc3, +}; +static const struct drbg_kat_no_reseed kat1348_t = { + 12, kat1348_entropyin, kat1348_nonce, kat1348_persstr, + kat1348_addin0, kat1348_addin1, kat1348_retbits +}; +static const struct drbg_kat kat1348 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1348_t +}; + +static const unsigned char kat1349_entropyin[] = { + 0xfb, 0x16, 0x6b, 0xe7, 0x29, 0xfd, 0x92, 0x5d, 0x5a, 0xa8, 0xa0, 0x3f, + 0x63, 0x56, 0xd2, 0xb2, 0x24, 0x24, 0xf0, 0x12, 0xc5, 0x99, 0xbe, 0x84, + 0xc2, 0xd6, 0xcf, 0x9c, 0x82, 0xd9, 0xbc, 0xc3, 0x83, 0xda, 0xe4, 0x90, + 0x48, 0x48, 0x56, 0xe0, 0xab, 0x53, 0x78, 0x9e, 0x15, 0x67, 0x84, 0x26, +}; +static const unsigned char kat1349_nonce[] = {0}; +static const unsigned char kat1349_persstr[] = {0}; +static const unsigned char kat1349_addin0[] = { + 0x57, 0x16, 0xe5, 0x59, 0xc6, 0xac, 0xaf, 0x47, 0x4f, 0xec, 0x9c, 0x6e, + 0xe9, 0x15, 0x24, 0xa7, 0x49, 0x66, 0x8a, 0x6f, 0xcc, 0xd2, 0x98, 0x1d, + 0xe4, 0x4b, 0x05, 0x40, 0x2a, 0x23, 0x21, 0x7b, 0x8d, 0x03, 0x08, 0xbf, + 0x73, 0x85, 0xfa, 0xb4, 0xa8, 0x33, 0xfb, 0x68, 0x45, 0x19, 0xce, 0x75, +}; +static const unsigned char kat1349_addin1[] = { + 0x0b, 0xd4, 0x80, 0x09, 0x5b, 0xf6, 0x4d, 0x19, 0x36, 0x6d, 0xa2, 0x8d, + 0x9a, 0x04, 0xfb, 0xc6, 0x03, 0x4c, 0xba, 0x8c, 0x9d, 0x6e, 0xd1, 0xbb, + 0x38, 0x6b, 0x54, 0xdf, 0x5f, 0x83, 0x68, 0xc0, 0x75, 0x9c, 0x64, 0x46, + 0xc7, 0x32, 0x53, 0x0c, 0x8d, 0xc8, 0xca, 0x37, 0xab, 0x06, 0x25, 0x0a, +}; +static const unsigned char kat1349_retbits[] = { + 0xd7, 0x89, 0x6e, 0x5a, 0x85, 0x1c, 0xff, 0x76, 0x32, 0x8a, 0xd4, 0x99, + 0xfa, 0x3e, 0xe2, 0x8c, 0x74, 0xce, 0xdf, 0x99, 0x84, 0x0c, 0xc9, 0x21, + 0x6a, 0xe8, 0x6a, 0x0e, 0xc3, 0xdf, 0x2f, 0x0d, 0x9e, 0x7c, 0xa1, 0x4c, + 0x40, 0xf9, 0x4e, 0x17, 0xae, 0xd5, 0xa9, 0xea, 0x2b, 0xa1, 0xd1, 0x7b, + 0x06, 0xcf, 0x17, 0x24, 0x01, 0xd9, 0xe3, 0x46, 0x73, 0xb8, 0xcb, 0x98, + 0x9c, 0xd8, 0xd8, 0x55, +}; +static const struct drbg_kat_no_reseed kat1349_t = { + 13, kat1349_entropyin, kat1349_nonce, kat1349_persstr, + kat1349_addin0, kat1349_addin1, kat1349_retbits +}; +static const struct drbg_kat kat1349 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1349_t +}; + +static const unsigned char kat1350_entropyin[] = { + 0x93, 0x7b, 0xc5, 0x2b, 0x85, 0x33, 0x1a, 0xac, 0x7c, 0x3e, 0x19, 0x8b, + 0x6e, 0x8f, 0x4a, 0x53, 0x62, 0xb2, 0xe3, 0x89, 0x66, 0x2b, 0x5a, 0xd7, + 0xd7, 0xce, 0x7e, 0x6f, 0x27, 0x4d, 0x3f, 0xbd, 0x5d, 0x1a, 0x3a, 0x83, + 0x47, 0x45, 0x5b, 0x01, 0x9d, 0xdb, 0xb5, 0x75, 0x3d, 0x3f, 0x0f, 0x29, +}; +static const unsigned char kat1350_nonce[] = {0}; +static const unsigned char kat1350_persstr[] = {0}; +static const unsigned char kat1350_addin0[] = { + 0x8c, 0xa6, 0x25, 0xe0, 0xda, 0xf6, 0x5e, 0xcb, 0x70, 0xcc, 0xc6, 0x3b, + 0xbe, 0x88, 0x72, 0x0e, 0xce, 0x7a, 0x41, 0x5b, 0x12, 0x54, 0x2c, 0x59, + 0xdb, 0x48, 0x8b, 0xd0, 0x56, 0x23, 0x74, 0x12, 0x1f, 0x25, 0x6c, 0x0d, + 0x2e, 0x55, 0xb3, 0x5f, 0xf7, 0xef, 0x9e, 0x57, 0x00, 0x68, 0xf4, 0xa3, +}; +static const unsigned char kat1350_addin1[] = { + 0xe5, 0x11, 0xe7, 0x7b, 0x98, 0xdf, 0x72, 0xd3, 0xe4, 0xc1, 0x75, 0xb5, + 0x8b, 0x71, 0x82, 0xfa, 0x72, 0x9a, 0x61, 0x64, 0x96, 0x59, 0xff, 0x11, + 0x7d, 0x9b, 0x4c, 0x51, 0x4c, 0xf6, 0x94, 0xfe, 0xa2, 0x73, 0x1b, 0x17, + 0x0d, 0x0b, 0xab, 0xbf, 0x6b, 0x6b, 0xf8, 0x19, 0x8b, 0xe6, 0xd9, 0x32, +}; +static const unsigned char kat1350_retbits[] = { + 0xd9, 0xd3, 0xac, 0x14, 0x80, 0x32, 0x34, 0x39, 0xe9, 0xf8, 0xf0, 0x9a, + 0x54, 0xb3, 0x66, 0x86, 0x84, 0x89, 0x0f, 0xad, 0x51, 0xad, 0x31, 0x4c, + 0x8e, 0x14, 0xbf, 0x0f, 0xdb, 0x42, 0x97, 0x38, 0xb8, 0x95, 0x5e, 0x3d, + 0x2d, 0x92, 0x8f, 0x24, 0x03, 0xf2, 0x0c, 0xac, 0xa2, 0x06, 0x57, 0x95, + 0xc0, 0xad, 0xaa, 0x30, 0xa5, 0xc4, 0x68, 0x3a, 0x08, 0xd8, 0x30, 0x74, + 0x63, 0x3b, 0xe8, 0xf2, +}; +static const struct drbg_kat_no_reseed kat1350_t = { + 14, kat1350_entropyin, kat1350_nonce, kat1350_persstr, + kat1350_addin0, kat1350_addin1, kat1350_retbits +}; +static const struct drbg_kat kat1350 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1350_t +}; + +static const unsigned char kat1351_entropyin[] = { + 0x31, 0xd9, 0xb2, 0x6b, 0x6e, 0xb7, 0xfb, 0x56, 0x9c, 0x1d, 0x32, 0x42, + 0xb5, 0x0a, 0x19, 0xe1, 0x3f, 0x7b, 0xfc, 0xf0, 0xb1, 0x5e, 0xa7, 0x39, + 0x97, 0xac, 0xac, 0x84, 0x7b, 0x3a, 0xb8, 0x40, 0xa7, 0x2d, 0x03, 0xff, + 0x21, 0xf6, 0xb5, 0x2e, 0x4f, 0x65, 0x55, 0xfb, 0x8a, 0x4c, 0xa9, 0x7d, +}; +static const unsigned char kat1351_nonce[] = {0}; +static const unsigned char kat1351_persstr[] = { + 0xdf, 0x36, 0x22, 0x28, 0x2c, 0x7d, 0x1c, 0xcd, 0xd1, 0x78, 0x4e, 0x50, + 0x81, 0x37, 0xc2, 0xd0, 0xc9, 0x12, 0xb7, 0x90, 0x8c, 0xa7, 0x5e, 0x28, + 0x32, 0x94, 0x55, 0xe3, 0x6d, 0x91, 0x74, 0x53, 0x05, 0x18, 0xd2, 0x83, + 0x95, 0x11, 0x4d, 0x1c, 0xc8, 0xaf, 0x71, 0xac, 0xe5, 0x25, 0x3e, 0x03, +}; +static const unsigned char kat1351_addin0[] = {0}; +static const unsigned char kat1351_addin1[] = {0}; +static const unsigned char kat1351_retbits[] = { + 0xbc, 0xcd, 0x3f, 0xea, 0x43, 0xdf, 0x70, 0xaf, 0xe2, 0xd9, 0x57, 0x8f, + 0x4a, 0xc4, 0xb4, 0x08, 0x7a, 0x0e, 0xd3, 0x72, 0xa6, 0x74, 0x87, 0x08, + 0x9d, 0x9d, 0xe9, 0x38, 0x69, 0x93, 0x65, 0xae, 0xfc, 0x92, 0x4b, 0x7d, + 0xc9, 0xd8, 0x38, 0x84, 0xbe, 0x27, 0x46, 0xe1, 0x96, 0xce, 0x89, 0xe0, + 0x7e, 0xde, 0x23, 0x3d, 0x16, 0x34, 0x2d, 0x22, 0x75, 0x71, 0xf0, 0x89, + 0x71, 0x60, 0x95, 0x22, +}; +static const struct drbg_kat_no_reseed kat1351_t = { + 0, kat1351_entropyin, kat1351_nonce, kat1351_persstr, + kat1351_addin0, kat1351_addin1, kat1351_retbits +}; +static const struct drbg_kat kat1351 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1351_t +}; + +static const unsigned char kat1352_entropyin[] = { + 0xd2, 0x35, 0x6c, 0x94, 0xec, 0x89, 0x86, 0x9e, 0x29, 0x40, 0x07, 0x26, + 0x00, 0x2d, 0xa7, 0x2c, 0xa8, 0x25, 0xa5, 0xf1, 0x12, 0xf0, 0xc5, 0xff, + 0xf6, 0xbb, 0x08, 0xa8, 0x97, 0x58, 0xdd, 0x51, 0xd0, 0xfc, 0x84, 0xb8, + 0x10, 0xeb, 0xed, 0xe6, 0xb6, 0x2f, 0x1b, 0x40, 0x3e, 0xd7, 0x82, 0xe0, +}; +static const unsigned char kat1352_nonce[] = {0}; +static const unsigned char kat1352_persstr[] = { + 0x12, 0xa8, 0x85, 0xaf, 0x97, 0x5d, 0xac, 0xff, 0x4c, 0x4c, 0x7d, 0x55, + 0x56, 0x1f, 0xf5, 0x49, 0xa5, 0x65, 0xf1, 0xd7, 0xf6, 0x06, 0x07, 0xd8, + 0xfb, 0x9d, 0xde, 0x53, 0xe1, 0x08, 0xe9, 0x2c, 0x8b, 0x99, 0xf5, 0x88, + 0x19, 0x23, 0x68, 0xca, 0xfa, 0x62, 0x9e, 0x52, 0xb2, 0xd4, 0x2b, 0xc0, +}; +static const unsigned char kat1352_addin0[] = {0}; +static const unsigned char kat1352_addin1[] = {0}; +static const unsigned char kat1352_retbits[] = { + 0x2f, 0x8b, 0x37, 0xe4, 0x31, 0x9e, 0x72, 0x82, 0x6b, 0xdb, 0x3a, 0x40, + 0xe5, 0x32, 0x90, 0x74, 0xa9, 0x01, 0x56, 0x56, 0xfc, 0xae, 0xe5, 0x93, + 0x3d, 0x01, 0x7e, 0x2f, 0x3f, 0x3b, 0xf5, 0x67, 0x13, 0x75, 0xbe, 0x0c, + 0x89, 0xbc, 0xab, 0xc2, 0x03, 0x7e, 0x58, 0x77, 0x2b, 0xf5, 0x87, 0x7c, + 0x41, 0x42, 0xc0, 0xb8, 0xd9, 0xf0, 0x28, 0x6e, 0x12, 0xe5, 0x6a, 0x38, + 0xb7, 0xa4, 0xf0, 0xff, +}; +static const struct drbg_kat_no_reseed kat1352_t = { + 1, kat1352_entropyin, kat1352_nonce, kat1352_persstr, + kat1352_addin0, kat1352_addin1, kat1352_retbits +}; +static const struct drbg_kat kat1352 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1352_t +}; + +static const unsigned char kat1353_entropyin[] = { + 0x48, 0x41, 0x6d, 0xf6, 0xc4, 0x9b, 0x85, 0xfc, 0x18, 0xcd, 0xe3, 0x1c, + 0xab, 0x33, 0x7a, 0xc4, 0xe6, 0x14, 0xcd, 0xed, 0xb6, 0xb5, 0xf7, 0x08, + 0x0a, 0xd8, 0x15, 0xad, 0xe9, 0x58, 0xdd, 0x3a, 0x12, 0x11, 0x16, 0x51, + 0x1e, 0xd3, 0x36, 0x2c, 0xe3, 0x56, 0xe2, 0x86, 0x1c, 0x79, 0x7f, 0x3b, +}; +static const unsigned char kat1353_nonce[] = {0}; +static const unsigned char kat1353_persstr[] = { + 0xd7, 0x28, 0x50, 0x32, 0x3c, 0xc6, 0x3c, 0xba, 0x56, 0x6d, 0xcb, 0xdd, + 0xde, 0x35, 0xa7, 0x0c, 0x69, 0x09, 0x78, 0x92, 0xe6, 0x1e, 0x04, 0x1a, + 0xc6, 0x47, 0x39, 0x68, 0x9a, 0x22, 0x5a, 0xf0, 0x8a, 0x4e, 0x46, 0x6a, + 0xf7, 0x89, 0xb0, 0x40, 0xa0, 0x97, 0x54, 0x54, 0x5c, 0x24, 0xc7, 0x09, +}; +static const unsigned char kat1353_addin0[] = {0}; +static const unsigned char kat1353_addin1[] = {0}; +static const unsigned char kat1353_retbits[] = { + 0x0c, 0x44, 0x98, 0x85, 0x2f, 0x8b, 0x8a, 0x75, 0x46, 0xe0, 0xa2, 0x4c, + 0x18, 0xd6, 0xa3, 0x27, 0x21, 0x4f, 0x00, 0x79, 0x94, 0xfd, 0xbf, 0xad, + 0x72, 0xbf, 0x91, 0xf6, 0x7c, 0x2e, 0x2e, 0xc4, 0x1c, 0x83, 0x5b, 0x47, + 0xe1, 0x1a, 0xa7, 0x66, 0x3e, 0xb2, 0xaa, 0xb4, 0x23, 0xe8, 0xfb, 0xa7, + 0x3b, 0xf7, 0xb0, 0x01, 0x15, 0x56, 0x16, 0xe5, 0x80, 0x0c, 0x79, 0xdd, + 0x27, 0x79, 0xbe, 0x47, +}; +static const struct drbg_kat_no_reseed kat1353_t = { + 2, kat1353_entropyin, kat1353_nonce, kat1353_persstr, + kat1353_addin0, kat1353_addin1, kat1353_retbits +}; +static const struct drbg_kat kat1353 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1353_t +}; + +static const unsigned char kat1354_entropyin[] = { + 0xbc, 0x26, 0x44, 0xdf, 0xa4, 0xeb, 0x26, 0xab, 0xea, 0x11, 0xb5, 0xc8, + 0xc2, 0xb7, 0x53, 0x74, 0xc0, 0x56, 0x92, 0x78, 0x09, 0xfa, 0x35, 0x7b, + 0xfe, 0xd4, 0xa1, 0x4f, 0xbe, 0x17, 0xe8, 0x28, 0x6c, 0x6b, 0x34, 0x5e, + 0xac, 0x5b, 0x5b, 0x6c, 0x80, 0xc0, 0x74, 0x4f, 0x4c, 0x48, 0xc4, 0x00, +}; +static const unsigned char kat1354_nonce[] = {0}; +static const unsigned char kat1354_persstr[] = { + 0xe8, 0xf9, 0x35, 0x4d, 0x45, 0xe3, 0x6c, 0x31, 0x7d, 0xbf, 0xaf, 0x60, + 0xfa, 0xc9, 0x03, 0x53, 0xa2, 0x0b, 0x96, 0x36, 0xae, 0xc3, 0xae, 0x3d, + 0xc4, 0x4a, 0x28, 0x7b, 0x3c, 0x9e, 0x52, 0xbf, 0x0a, 0x1e, 0x99, 0x9f, + 0xcb, 0x2a, 0x92, 0xab, 0x35, 0x20, 0x06, 0xc8, 0xab, 0x36, 0xbc, 0x1e, +}; +static const unsigned char kat1354_addin0[] = {0}; +static const unsigned char kat1354_addin1[] = {0}; +static const unsigned char kat1354_retbits[] = { + 0xfc, 0xb1, 0x6f, 0x5c, 0x46, 0x57, 0xcd, 0x83, 0x55, 0xdb, 0x7a, 0x35, + 0x93, 0xd3, 0x45, 0xd0, 0x36, 0xe0, 0xea, 0x4e, 0xdb, 0x37, 0x78, 0x1e, + 0x2b, 0xb6, 0xe5, 0x0d, 0x04, 0x80, 0xfb, 0x82, 0x0f, 0xcb, 0x94, 0x44, + 0x9c, 0x69, 0x5d, 0x2c, 0xf4, 0xc9, 0xc3, 0x11, 0x2d, 0x41, 0xbe, 0xb5, + 0xcc, 0x05, 0x80, 0x8f, 0x1c, 0x93, 0x5d, 0xa6, 0xda, 0x03, 0x57, 0x36, + 0xba, 0xc8, 0x83, 0xaa, +}; +static const struct drbg_kat_no_reseed kat1354_t = { + 3, kat1354_entropyin, kat1354_nonce, kat1354_persstr, + kat1354_addin0, kat1354_addin1, kat1354_retbits +}; +static const struct drbg_kat kat1354 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1354_t +}; + +static const unsigned char kat1355_entropyin[] = { + 0x28, 0xaf, 0x8c, 0x2a, 0x47, 0xa3, 0x7d, 0x7e, 0xcd, 0x46, 0x7e, 0x4c, + 0xc2, 0x3e, 0xc0, 0xa9, 0x25, 0xb3, 0x25, 0x28, 0x7f, 0xeb, 0xb1, 0x03, + 0x60, 0x60, 0xd3, 0x72, 0x98, 0x55, 0xc2, 0x76, 0x0d, 0x2c, 0xfa, 0xfd, + 0x42, 0x3b, 0xac, 0x1b, 0xa1, 0x68, 0x40, 0x6b, 0x0b, 0x0e, 0xc7, 0x94, +}; +static const unsigned char kat1355_nonce[] = {0}; +static const unsigned char kat1355_persstr[] = { + 0xc8, 0xc0, 0x74, 0xae, 0x56, 0x06, 0xab, 0xdf, 0x47, 0x17, 0xfa, 0x73, + 0x08, 0xc6, 0x0f, 0xa9, 0x72, 0x7d, 0x81, 0x73, 0xb5, 0xf2, 0x2e, 0x50, + 0xc9, 0x58, 0x5a, 0x10, 0x12, 0x22, 0x5e, 0xe0, 0x42, 0x1d, 0x47, 0x86, + 0x33, 0x64, 0x8d, 0x0e, 0xc9, 0xf6, 0x1d, 0x94, 0x5b, 0xfa, 0x42, 0xcc, +}; +static const unsigned char kat1355_addin0[] = {0}; +static const unsigned char kat1355_addin1[] = {0}; +static const unsigned char kat1355_retbits[] = { + 0x0f, 0x28, 0x75, 0x67, 0x5e, 0x05, 0x4b, 0xd6, 0xfd, 0xe2, 0x94, 0x8b, + 0x72, 0xf3, 0xa2, 0x60, 0x38, 0x5f, 0xd4, 0x6b, 0x90, 0xe3, 0x0f, 0xd5, + 0x64, 0xa0, 0xbd, 0x14, 0xe5, 0x15, 0x61, 0xb4, 0x0f, 0x1f, 0xe1, 0xe3, + 0x1c, 0x7a, 0xe7, 0xcc, 0xe8, 0x51, 0xa6, 0x1a, 0x85, 0xf0, 0x6a, 0xb0, + 0xd9, 0xa4, 0x94, 0xda, 0x82, 0xc0, 0xbf, 0x68, 0x08, 0x11, 0x39, 0x40, + 0x2b, 0x2b, 0xe6, 0x4f, +}; +static const struct drbg_kat_no_reseed kat1355_t = { + 4, kat1355_entropyin, kat1355_nonce, kat1355_persstr, + kat1355_addin0, kat1355_addin1, kat1355_retbits +}; +static const struct drbg_kat kat1355 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1355_t +}; + +static const unsigned char kat1356_entropyin[] = { + 0xe6, 0x1c, 0xb2, 0xc1, 0x7c, 0x1e, 0xeb, 0x30, 0xff, 0x49, 0xd1, 0x49, + 0x54, 0x17, 0x1f, 0xad, 0xae, 0x3a, 0xec, 0xf9, 0xa2, 0xa3, 0x9b, 0x7e, + 0xce, 0x60, 0x66, 0xcd, 0x85, 0xe3, 0xa0, 0x8e, 0x2a, 0xec, 0xe5, 0x6b, + 0x2b, 0x82, 0x1a, 0x35, 0x7e, 0xa2, 0x0c, 0x28, 0x60, 0xdf, 0xf7, 0x94, +}; +static const unsigned char kat1356_nonce[] = {0}; +static const unsigned char kat1356_persstr[] = { + 0xa1, 0x0b, 0x0a, 0xce, 0x38, 0x52, 0x24, 0x34, 0x6e, 0x8d, 0x61, 0xf4, + 0xcf, 0x2b, 0xd5, 0x8c, 0xba, 0x38, 0xfb, 0xf9, 0x69, 0xcc, 0x5d, 0xe3, + 0x40, 0x2f, 0x6f, 0x85, 0xa5, 0x55, 0x70, 0x4c, 0x01, 0x6b, 0x5c, 0x3d, + 0x21, 0x95, 0x50, 0xc5, 0x1d, 0x96, 0x71, 0x3d, 0x5f, 0x06, 0x7f, 0x37, +}; +static const unsigned char kat1356_addin0[] = {0}; +static const unsigned char kat1356_addin1[] = {0}; +static const unsigned char kat1356_retbits[] = { + 0x0c, 0x01, 0xe9, 0x21, 0x7f, 0x5a, 0xde, 0x5e, 0xd2, 0x16, 0x0b, 0x7d, + 0xa9, 0xdb, 0xf7, 0xb4, 0x86, 0x08, 0x12, 0x05, 0x83, 0xfb, 0xda, 0x0d, + 0x97, 0xc6, 0x4e, 0xad, 0xf8, 0x14, 0xd3, 0x08, 0x9a, 0x5c, 0x83, 0xef, + 0x6f, 0x38, 0xfa, 0xd7, 0xae, 0x3c, 0x6a, 0x12, 0x0a, 0x9d, 0x4a, 0x6b, + 0xee, 0xff, 0x52, 0x35, 0xae, 0xcf, 0x61, 0x0d, 0x43, 0xe4, 0x2f, 0x33, + 0x2d, 0x4a, 0x0d, 0x77, +}; +static const struct drbg_kat_no_reseed kat1356_t = { + 5, kat1356_entropyin, kat1356_nonce, kat1356_persstr, + kat1356_addin0, kat1356_addin1, kat1356_retbits +}; +static const struct drbg_kat kat1356 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1356_t +}; + +static const unsigned char kat1357_entropyin[] = { + 0x17, 0xc1, 0x89, 0x10, 0xa6, 0x7e, 0x7c, 0x61, 0x08, 0x0c, 0xe2, 0x4c, + 0xee, 0x2c, 0xf2, 0xda, 0x92, 0xef, 0xa7, 0x03, 0xbc, 0x13, 0x60, 0x69, + 0xe0, 0x21, 0x54, 0x90, 0x73, 0x1f, 0x05, 0xd5, 0x66, 0xac, 0x86, 0x42, + 0x58, 0xcb, 0x02, 0x8d, 0x32, 0x80, 0x8a, 0xbc, 0x7f, 0x18, 0xe0, 0xef, +}; +static const unsigned char kat1357_nonce[] = {0}; +static const unsigned char kat1357_persstr[] = { + 0x4e, 0x0a, 0xcc, 0x75, 0x03, 0x13, 0xc2, 0x06, 0x13, 0x52, 0x5b, 0x8c, + 0x22, 0xd0, 0x75, 0x95, 0x82, 0xbd, 0x65, 0x64, 0x84, 0x05, 0x1d, 0xa4, + 0x61, 0xa3, 0x36, 0xcb, 0xd8, 0x5c, 0x74, 0x05, 0x6d, 0xb8, 0x62, 0xb5, + 0x96, 0x75, 0xb8, 0x11, 0x7a, 0x2a, 0x17, 0x8a, 0xec, 0x41, 0x5d, 0xe9, +}; +static const unsigned char kat1357_addin0[] = {0}; +static const unsigned char kat1357_addin1[] = {0}; +static const unsigned char kat1357_retbits[] = { + 0xfd, 0x46, 0x7f, 0x8a, 0xc5, 0xc3, 0x7a, 0x92, 0xbd, 0x62, 0xc0, 0xa9, + 0x98, 0xce, 0x8b, 0x22, 0x52, 0x9a, 0x2d, 0xce, 0xd2, 0x01, 0x50, 0xac, + 0xb9, 0xfc, 0xaa, 0xb1, 0xd4, 0x92, 0x76, 0x8e, 0xf1, 0x4e, 0x9d, 0x17, + 0x10, 0xf4, 0xc4, 0x6d, 0x45, 0x66, 0x2a, 0x43, 0x97, 0x26, 0xbd, 0x4e, + 0xc1, 0x57, 0xe3, 0x36, 0x40, 0x0f, 0x82, 0x1d, 0xf2, 0x7c, 0x28, 0xbd, + 0xa1, 0xf2, 0x56, 0x91, +}; +static const struct drbg_kat_no_reseed kat1357_t = { + 6, kat1357_entropyin, kat1357_nonce, kat1357_persstr, + kat1357_addin0, kat1357_addin1, kat1357_retbits +}; +static const struct drbg_kat kat1357 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1357_t +}; + +static const unsigned char kat1358_entropyin[] = { + 0xe7, 0xf7, 0x05, 0xa3, 0x87, 0x5c, 0xd6, 0x00, 0x7f, 0x28, 0xd5, 0x26, + 0xf2, 0xd9, 0xdb, 0xfb, 0x36, 0xfd, 0xea, 0x2e, 0xa6, 0x18, 0x1e, 0xa5, + 0xb7, 0x37, 0xcd, 0x77, 0x8b, 0x53, 0xff, 0xe1, 0x5a, 0x43, 0xd7, 0xfa, + 0x95, 0x8d, 0xd0, 0x70, 0x45, 0xef, 0x53, 0xbe, 0x08, 0x09, 0xac, 0x00, +}; +static const unsigned char kat1358_nonce[] = {0}; +static const unsigned char kat1358_persstr[] = { + 0x6a, 0x74, 0x3b, 0xea, 0xc5, 0x19, 0xf6, 0xfd, 0x67, 0xc9, 0xb5, 0xe5, + 0x78, 0xa0, 0x66, 0x22, 0x1c, 0x20, 0x46, 0xb8, 0x31, 0x4f, 0x98, 0x77, + 0xa9, 0x6e, 0x66, 0x7c, 0x35, 0x4b, 0xca, 0xb0, 0x1e, 0xd5, 0xe6, 0xda, + 0xb1, 0xaf, 0xb1, 0x1f, 0x2c, 0xe0, 0x35, 0x87, 0x8e, 0x14, 0x58, 0x67, +}; +static const unsigned char kat1358_addin0[] = {0}; +static const unsigned char kat1358_addin1[] = {0}; +static const unsigned char kat1358_retbits[] = { + 0x7e, 0x3d, 0x3c, 0x54, 0x8c, 0xad, 0x22, 0xeb, 0x9a, 0xfe, 0x4f, 0x79, + 0x8a, 0x85, 0x34, 0x6a, 0x61, 0x1b, 0x08, 0xe9, 0x30, 0xfc, 0xb3, 0x3b, + 0x46, 0xe7, 0x67, 0x02, 0x0e, 0xb8, 0x96, 0xb2, 0xc9, 0x14, 0xc0, 0x44, + 0x8e, 0x17, 0x55, 0x61, 0x5e, 0xa2, 0xfe, 0xce, 0x6c, 0x98, 0xca, 0x8e, + 0xd1, 0x75, 0x17, 0x77, 0xc0, 0x56, 0xf3, 0x2c, 0xb6, 0xc1, 0x1a, 0x72, + 0xb3, 0xff, 0x50, 0xf3, +}; +static const struct drbg_kat_no_reseed kat1358_t = { + 7, kat1358_entropyin, kat1358_nonce, kat1358_persstr, + kat1358_addin0, kat1358_addin1, kat1358_retbits +}; +static const struct drbg_kat kat1358 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1358_t +}; + +static const unsigned char kat1359_entropyin[] = { + 0x8f, 0xa5, 0x0b, 0x4f, 0x91, 0x94, 0x30, 0x6e, 0xe6, 0xe4, 0xd7, 0xde, + 0x35, 0x61, 0x55, 0x3d, 0x4a, 0x98, 0xbd, 0xce, 0x2c, 0x17, 0xfe, 0xe3, + 0x46, 0xd6, 0xc1, 0x77, 0x98, 0x3e, 0xb3, 0x90, 0xa9, 0x03, 0x1b, 0xb8, + 0x8d, 0x82, 0xe1, 0x05, 0xc7, 0x3f, 0xa7, 0x16, 0xec, 0x40, 0xfa, 0x3a, +}; +static const unsigned char kat1359_nonce[] = {0}; +static const unsigned char kat1359_persstr[] = { + 0x1e, 0xfe, 0xe8, 0xb7, 0x66, 0x43, 0xd4, 0xfa, 0x2d, 0x34, 0xd0, 0x76, + 0x1d, 0x29, 0x24, 0x4b, 0x42, 0x68, 0x91, 0x7b, 0x57, 0x0e, 0xef, 0x2a, + 0x95, 0x8e, 0xc6, 0x8d, 0x9e, 0xfa, 0x07, 0x1e, 0xc7, 0x96, 0xb6, 0x29, + 0x91, 0x34, 0x3a, 0x43, 0x03, 0xa0, 0xb9, 0xe8, 0x30, 0xc3, 0x48, 0x39, +}; +static const unsigned char kat1359_addin0[] = {0}; +static const unsigned char kat1359_addin1[] = {0}; +static const unsigned char kat1359_retbits[] = { + 0x2c, 0x8e, 0x0d, 0xc8, 0x9b, 0x8f, 0xa1, 0xa0, 0x4e, 0x85, 0x31, 0x0e, + 0xd0, 0xb9, 0x5d, 0xf6, 0x7e, 0x65, 0xee, 0x03, 0x7b, 0x3a, 0x8a, 0xfc, + 0x55, 0xde, 0x18, 0x0c, 0x20, 0x7f, 0x19, 0xb7, 0x56, 0x9f, 0x2c, 0x95, + 0x2d, 0x0b, 0xfa, 0xdb, 0x78, 0x07, 0x22, 0x50, 0x38, 0xd7, 0x59, 0xff, + 0xd9, 0x99, 0x1a, 0xed, 0x1e, 0xef, 0x56, 0xdb, 0x14, 0xed, 0xb8, 0x81, + 0xbb, 0xb7, 0xc0, 0x33, +}; +static const struct drbg_kat_no_reseed kat1359_t = { + 8, kat1359_entropyin, kat1359_nonce, kat1359_persstr, + kat1359_addin0, kat1359_addin1, kat1359_retbits +}; +static const struct drbg_kat kat1359 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1359_t +}; + +static const unsigned char kat1360_entropyin[] = { + 0x3b, 0x22, 0x1d, 0x43, 0x7c, 0xa1, 0xd9, 0xbd, 0x91, 0x5e, 0xa8, 0x69, + 0xa9, 0x7c, 0xad, 0x87, 0x54, 0x1f, 0x80, 0x21, 0xf2, 0xd1, 0xd0, 0x33, + 0x18, 0xa1, 0x1e, 0x08, 0xc5, 0x67, 0xa9, 0xbb, 0x9c, 0x9d, 0xd0, 0x74, + 0xca, 0x08, 0x73, 0xe8, 0x9c, 0x1d, 0x6b, 0x7d, 0x88, 0x16, 0x57, 0xf7, +}; +static const unsigned char kat1360_nonce[] = {0}; +static const unsigned char kat1360_persstr[] = { + 0x64, 0x29, 0xf3, 0x84, 0xa7, 0x53, 0x54, 0x9d, 0x2a, 0x22, 0xb1, 0xb0, + 0x30, 0xdc, 0x82, 0x08, 0xb0, 0x39, 0x1d, 0x62, 0x90, 0x70, 0xa8, 0x56, + 0x40, 0xfd, 0x1d, 0xc0, 0x92, 0xba, 0x87, 0xfd, 0xe2, 0xcb, 0x46, 0xc6, + 0x9f, 0xf2, 0xc6, 0x4d, 0xbb, 0xb3, 0x2f, 0xea, 0x11, 0x36, 0x33, 0x6d, +}; +static const unsigned char kat1360_addin0[] = {0}; +static const unsigned char kat1360_addin1[] = {0}; +static const unsigned char kat1360_retbits[] = { + 0xe6, 0x54, 0xd0, 0x4b, 0x43, 0xd7, 0xbd, 0xcc, 0x64, 0x36, 0x34, 0x7d, + 0xe9, 0x1a, 0x72, 0x6c, 0xd6, 0x26, 0x8b, 0x28, 0xcc, 0xdc, 0xb9, 0x30, + 0xb6, 0x65, 0xfe, 0x9e, 0xf1, 0x65, 0x4e, 0xe3, 0x1b, 0x83, 0xbd, 0x3d, + 0x92, 0x30, 0x00, 0xc7, 0x3e, 0xc7, 0xc7, 0x1f, 0x81, 0x18, 0xd2, 0x03, + 0xcf, 0x13, 0x1b, 0x8b, 0x16, 0xd2, 0x05, 0xe9, 0x51, 0x80, 0x72, 0x30, + 0xab, 0x44, 0x88, 0xe1, +}; +static const struct drbg_kat_no_reseed kat1360_t = { + 9, kat1360_entropyin, kat1360_nonce, kat1360_persstr, + kat1360_addin0, kat1360_addin1, kat1360_retbits +}; +static const struct drbg_kat kat1360 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1360_t +}; + +static const unsigned char kat1361_entropyin[] = { + 0xaa, 0x35, 0x05, 0xf5, 0x6a, 0x23, 0x53, 0xc9, 0x77, 0x97, 0xf0, 0x04, + 0xfb, 0xab, 0x55, 0x60, 0xf9, 0x50, 0x33, 0xa7, 0x4c, 0xcb, 0x58, 0x41, + 0x08, 0x7d, 0x8c, 0x23, 0x35, 0xde, 0xed, 0x81, 0x99, 0x45, 0xf6, 0xe2, + 0x6e, 0xb2, 0xae, 0x1f, 0x86, 0x0d, 0x5e, 0xa2, 0x55, 0x74, 0xb9, 0xe0, +}; +static const unsigned char kat1361_nonce[] = {0}; +static const unsigned char kat1361_persstr[] = { + 0x95, 0x2f, 0xda, 0x2a, 0xfa, 0x92, 0x57, 0xb6, 0xbc, 0x0c, 0xe0, 0x8d, + 0xd1, 0x71, 0x27, 0xe8, 0x5b, 0xcf, 0xbb, 0xf5, 0x15, 0x95, 0x8e, 0x2e, + 0x1e, 0x09, 0xa5, 0x33, 0x0e, 0xf8, 0xdc, 0x78, 0xfe, 0x7c, 0x9a, 0xad, + 0x42, 0xd5, 0x47, 0x1e, 0x84, 0xc6, 0xcc, 0x74, 0x8b, 0x1b, 0x37, 0xbe, +}; +static const unsigned char kat1361_addin0[] = {0}; +static const unsigned char kat1361_addin1[] = {0}; +static const unsigned char kat1361_retbits[] = { + 0x96, 0x65, 0x03, 0xf5, 0xf8, 0x5f, 0x50, 0xf9, 0x4e, 0x18, 0x85, 0xca, + 0x2a, 0x32, 0x03, 0x4a, 0xc1, 0x95, 0xa8, 0x19, 0x9c, 0x12, 0x2b, 0x71, + 0xe2, 0x68, 0xb2, 0xd3, 0x04, 0xc8, 0xcf, 0x7a, 0xf8, 0xd1, 0xd2, 0x7c, + 0xeb, 0x2a, 0x46, 0xbd, 0xa7, 0x0a, 0x1e, 0x5f, 0xfa, 0xc0, 0xa6, 0x52, + 0x10, 0x89, 0x8b, 0x27, 0x4a, 0x5b, 0xa5, 0x36, 0xee, 0x07, 0xa2, 0x08, + 0x63, 0xa0, 0x11, 0x52, +}; +static const struct drbg_kat_no_reseed kat1361_t = { + 10, kat1361_entropyin, kat1361_nonce, kat1361_persstr, + kat1361_addin0, kat1361_addin1, kat1361_retbits +}; +static const struct drbg_kat kat1361 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1361_t +}; + +static const unsigned char kat1362_entropyin[] = { + 0x15, 0x27, 0x5e, 0x31, 0xbe, 0x7f, 0x9e, 0x27, 0x0c, 0x4e, 0x4b, 0x26, + 0xe8, 0xea, 0x85, 0x0f, 0x31, 0xfd, 0xf9, 0x40, 0x35, 0x9e, 0x47, 0xe6, + 0x39, 0xd9, 0x8e, 0x86, 0x86, 0x0a, 0x6a, 0x95, 0x39, 0x01, 0x69, 0x11, + 0xf1, 0x9d, 0x39, 0x20, 0x8e, 0xdc, 0xb8, 0x99, 0xf4, 0x55, 0x67, 0x7b, +}; +static const unsigned char kat1362_nonce[] = {0}; +static const unsigned char kat1362_persstr[] = { + 0x2c, 0x1f, 0x62, 0x03, 0x4b, 0x31, 0x46, 0x00, 0xef, 0x44, 0xe0, 0x40, + 0x22, 0x07, 0xaa, 0xbf, 0xd6, 0x17, 0xbc, 0x3d, 0x08, 0xc3, 0xb3, 0x9a, + 0x90, 0xb3, 0x84, 0x77, 0x5f, 0x02, 0x18, 0x1b, 0x9b, 0x41, 0x03, 0x2e, + 0x4a, 0xb5, 0xd3, 0x2d, 0xd2, 0xab, 0x28, 0xcd, 0x14, 0xa1, 0x73, 0x68, +}; +static const unsigned char kat1362_addin0[] = {0}; +static const unsigned char kat1362_addin1[] = {0}; +static const unsigned char kat1362_retbits[] = { + 0x60, 0x6b, 0xe9, 0xe1, 0x42, 0x64, 0xc0, 0x1a, 0xfd, 0xa7, 0xaa, 0x71, + 0xe3, 0xc2, 0x34, 0xcc, 0x06, 0x8e, 0xe6, 0x9e, 0x98, 0x7a, 0x83, 0x8a, + 0x21, 0x40, 0xdf, 0x02, 0x8b, 0xfe, 0x74, 0xf8, 0x18, 0x8a, 0xe4, 0x41, + 0x8f, 0x10, 0xfd, 0x09, 0x9b, 0x8b, 0x99, 0x4a, 0x27, 0x0e, 0x23, 0x9a, + 0x52, 0x6f, 0x2d, 0x03, 0xb3, 0x05, 0x99, 0x65, 0x08, 0x46, 0x8c, 0x07, + 0xd4, 0x4b, 0xf5, 0x4c, +}; +static const struct drbg_kat_no_reseed kat1362_t = { + 11, kat1362_entropyin, kat1362_nonce, kat1362_persstr, + kat1362_addin0, kat1362_addin1, kat1362_retbits +}; +static const struct drbg_kat kat1362 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1362_t +}; + +static const unsigned char kat1363_entropyin[] = { + 0x31, 0x25, 0xc3, 0xea, 0xce, 0x58, 0xb3, 0x49, 0x18, 0x6e, 0x70, 0xed, + 0xf8, 0x25, 0xc5, 0x15, 0x8f, 0x19, 0xd5, 0x3d, 0x55, 0x6a, 0x57, 0x37, + 0x08, 0x8c, 0x72, 0x3d, 0x84, 0xed, 0xfc, 0x62, 0x7e, 0xdf, 0x2e, 0xae, + 0x60, 0x2d, 0xfc, 0xe5, 0xa9, 0xad, 0x35, 0xe0, 0xb9, 0x5f, 0x40, 0x96, +}; +static const unsigned char kat1363_nonce[] = {0}; +static const unsigned char kat1363_persstr[] = { + 0xbe, 0x9f, 0xe1, 0xde, 0x0b, 0x44, 0x81, 0x47, 0xc4, 0x9b, 0x41, 0x2d, + 0x8d, 0x72, 0x2f, 0xa0, 0xd6, 0xb6, 0xcb, 0x99, 0x8f, 0xf7, 0x7e, 0xbb, + 0xe2, 0x39, 0x84, 0x82, 0xb0, 0xf9, 0xe8, 0x9b, 0x10, 0xe8, 0xe5, 0x02, + 0x6f, 0xcc, 0x8a, 0x2f, 0x4b, 0x9f, 0xaa, 0x33, 0x8c, 0x45, 0xf8, 0xcd, +}; +static const unsigned char kat1363_addin0[] = {0}; +static const unsigned char kat1363_addin1[] = {0}; +static const unsigned char kat1363_retbits[] = { + 0x5b, 0x6a, 0x62, 0xc7, 0x0e, 0x98, 0x51, 0x70, 0x28, 0xb1, 0x78, 0x49, + 0x78, 0xbf, 0x1f, 0x76, 0x42, 0xa0, 0x5f, 0xd5, 0x86, 0x68, 0x4a, 0x4f, + 0xda, 0x2c, 0x98, 0xc0, 0xb8, 0xb6, 0x98, 0x61, 0xb0, 0xd6, 0x5a, 0x4f, + 0x96, 0x06, 0x10, 0x61, 0x87, 0x4c, 0xdc, 0xd5, 0xd9, 0x0d, 0xc0, 0xe9, + 0xc7, 0x4b, 0x04, 0x86, 0x41, 0x28, 0x0f, 0xd7, 0xf6, 0x89, 0x24, 0x43, + 0x92, 0xf2, 0x0d, 0x0a, +}; +static const struct drbg_kat_no_reseed kat1363_t = { + 12, kat1363_entropyin, kat1363_nonce, kat1363_persstr, + kat1363_addin0, kat1363_addin1, kat1363_retbits +}; +static const struct drbg_kat kat1363 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1363_t +}; + +static const unsigned char kat1364_entropyin[] = { + 0x12, 0x13, 0xf4, 0x66, 0x1f, 0x4c, 0xd3, 0x63, 0xbb, 0xf1, 0x6f, 0x5b, + 0xa4, 0xce, 0x4f, 0x33, 0x02, 0x96, 0x17, 0x97, 0x77, 0x2f, 0xc8, 0xe4, + 0x12, 0xc2, 0x61, 0x0b, 0x4b, 0x42, 0xd4, 0xcd, 0xeb, 0x14, 0xed, 0x19, + 0xb5, 0x0b, 0x6a, 0xd9, 0x68, 0x62, 0x51, 0x69, 0xb4, 0xeb, 0x5d, 0xec, +}; +static const unsigned char kat1364_nonce[] = {0}; +static const unsigned char kat1364_persstr[] = { + 0x98, 0xa1, 0xc8, 0x14, 0xae, 0xc3, 0xdf, 0x5b, 0xb4, 0xfb, 0x17, 0x77, + 0x8d, 0x58, 0xe7, 0x88, 0x4a, 0x69, 0xde, 0xa0, 0x9a, 0x83, 0xbe, 0x26, + 0x43, 0xd1, 0x69, 0xc1, 0x50, 0xd0, 0x6a, 0x9c, 0xdd, 0x47, 0x7e, 0x20, + 0x62, 0x39, 0x93, 0xc7, 0x50, 0x5e, 0xa1, 0x04, 0xb6, 0x2c, 0x87, 0x53, +}; +static const unsigned char kat1364_addin0[] = {0}; +static const unsigned char kat1364_addin1[] = {0}; +static const unsigned char kat1364_retbits[] = { + 0x3c, 0x0f, 0xf2, 0xad, 0x45, 0x58, 0x58, 0x5e, 0xce, 0x97, 0x43, 0x44, + 0xb5, 0xad, 0x70, 0x45, 0xa0, 0xfc, 0xa9, 0xef, 0x1f, 0x25, 0xe4, 0x25, + 0x1d, 0xc8, 0x00, 0xd4, 0x1a, 0xbc, 0x3e, 0xd0, 0x0c, 0x3a, 0xda, 0xb5, + 0xdb, 0xa1, 0x41, 0xfb, 0x1f, 0x95, 0xc3, 0xc2, 0x17, 0x32, 0xd4, 0xb6, + 0x3c, 0x19, 0x2f, 0xb4, 0x92, 0x4c, 0x6f, 0x7f, 0x98, 0x4b, 0xaa, 0x88, + 0xe4, 0xdc, 0x90, 0x91, +}; +static const struct drbg_kat_no_reseed kat1364_t = { + 13, kat1364_entropyin, kat1364_nonce, kat1364_persstr, + kat1364_addin0, kat1364_addin1, kat1364_retbits +}; +static const struct drbg_kat kat1364 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1364_t +}; + +static const unsigned char kat1365_entropyin[] = { + 0x40, 0x9b, 0xc3, 0x72, 0xb8, 0x73, 0x8c, 0x80, 0xac, 0x35, 0x72, 0x1b, + 0xbb, 0x8e, 0x80, 0x6d, 0xdc, 0x93, 0xe8, 0x16, 0xc8, 0xfa, 0xb9, 0x8d, + 0x1d, 0x0f, 0x2a, 0x05, 0x3f, 0x95, 0x96, 0x01, 0x66, 0x70, 0x93, 0x80, + 0x69, 0x5b, 0x0e, 0x8a, 0x54, 0x8f, 0xe4, 0x8e, 0x4c, 0x12, 0xdc, 0x01, +}; +static const unsigned char kat1365_nonce[] = {0}; +static const unsigned char kat1365_persstr[] = { + 0x97, 0x5d, 0xa7, 0x43, 0x9d, 0xf9, 0xa5, 0xb7, 0x6f, 0x8a, 0xe5, 0x20, + 0x1d, 0xa3, 0x56, 0x92, 0xfd, 0x46, 0xd2, 0x77, 0x78, 0x7f, 0x8a, 0x73, + 0xb0, 0x82, 0x01, 0xe6, 0x54, 0x7b, 0xa7, 0x2d, 0xe2, 0x6b, 0xa7, 0x72, + 0x5a, 0xd4, 0x4a, 0x11, 0xf7, 0x42, 0xe6, 0xc2, 0xb5, 0x7c, 0x0e, 0x9f, +}; +static const unsigned char kat1365_addin0[] = {0}; +static const unsigned char kat1365_addin1[] = {0}; +static const unsigned char kat1365_retbits[] = { + 0x01, 0xfe, 0x7c, 0x18, 0xb8, 0x5e, 0xde, 0x51, 0x97, 0x40, 0xed, 0x40, + 0x68, 0xaf, 0x24, 0xb4, 0xba, 0xaa, 0xa7, 0xd7, 0x27, 0xb0, 0x52, 0x41, + 0xaf, 0x48, 0x1e, 0xc8, 0x43, 0xc2, 0x0b, 0xfc, 0xe4, 0x1e, 0x4b, 0xb1, + 0x31, 0xcf, 0x03, 0xa5, 0x04, 0xae, 0xcd, 0x54, 0x09, 0xd0, 0x3f, 0x6b, + 0x5b, 0x84, 0xd2, 0x2f, 0x0e, 0x10, 0x42, 0xb6, 0x6e, 0x5d, 0x99, 0xd4, + 0x33, 0x97, 0x42, 0xfd, +}; +static const struct drbg_kat_no_reseed kat1365_t = { + 14, kat1365_entropyin, kat1365_nonce, kat1365_persstr, + kat1365_addin0, kat1365_addin1, kat1365_retbits +}; +static const struct drbg_kat kat1365 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1365_t +}; + +static const unsigned char kat1366_entropyin[] = { + 0xce, 0x8a, 0xa7, 0x44, 0x79, 0x68, 0x98, 0x91, 0x1e, 0xd6, 0x77, 0x4d, + 0x06, 0xdd, 0x45, 0x29, 0x8e, 0xe7, 0x40, 0x3f, 0x08, 0x40, 0x78, 0xbe, + 0x9b, 0x50, 0x2f, 0x4d, 0xf8, 0x12, 0x8c, 0x71, 0xcf, 0xb6, 0xde, 0x3d, + 0xde, 0x92, 0xf5, 0x41, 0x9a, 0x44, 0x5f, 0x55, 0x25, 0x9d, 0x23, 0x02, +}; +static const unsigned char kat1366_nonce[] = {0}; +static const unsigned char kat1366_persstr[] = { + 0xf2, 0x75, 0xe2, 0xc6, 0xc2, 0xa5, 0xb9, 0x0c, 0xd5, 0xb8, 0xec, 0xf0, + 0x26, 0x94, 0xf8, 0xca, 0x77, 0xd3, 0xbf, 0xd6, 0x2b, 0xca, 0x6b, 0xae, + 0x33, 0xe3, 0xb7, 0xa0, 0x35, 0xc2, 0x1e, 0xf2, 0x09, 0x47, 0x10, 0x0f, + 0xa9, 0x36, 0xde, 0xf4, 0xa8, 0x60, 0x87, 0x88, 0xab, 0xf3, 0x4e, 0xcf, +}; +static const unsigned char kat1366_addin0[] = { + 0x07, 0xa3, 0xa7, 0x81, 0xee, 0x4a, 0x17, 0xd1, 0x10, 0xba, 0x89, 0x64, + 0x38, 0xd3, 0x65, 0xda, 0x36, 0x4b, 0xbb, 0xeb, 0xee, 0x04, 0xc1, 0x89, + 0x2c, 0xc9, 0x3b, 0x59, 0xfc, 0xf3, 0x1a, 0xaa, 0x78, 0x0c, 0xb6, 0x64, + 0xb9, 0xb0, 0x54, 0xe4, 0x0a, 0x20, 0xb0, 0xdd, 0x43, 0x5a, 0x4e, 0x3a, +}; +static const unsigned char kat1366_addin1[] = { + 0x4e, 0x17, 0xf0, 0x13, 0x80, 0x89, 0xdc, 0x31, 0xe1, 0xcd, 0xd3, 0x77, + 0xf1, 0xeb, 0x4c, 0xb4, 0xda, 0x47, 0x45, 0xe7, 0x98, 0x43, 0xf3, 0x60, + 0x82, 0xdb, 0xae, 0xd6, 0x92, 0x72, 0x34, 0xc6, 0x75, 0xa0, 0x61, 0x11, + 0x1d, 0x5f, 0xe9, 0x1b, 0x38, 0x3a, 0x8b, 0x4e, 0x3e, 0xcd, 0xb5, 0x9d, +}; +static const unsigned char kat1366_retbits[] = { + 0xa0, 0xbd, 0x4e, 0xbc, 0x1f, 0x2e, 0x28, 0xe9, 0x59, 0x39, 0x82, 0xaf, + 0x69, 0x4a, 0xeb, 0x45, 0x43, 0x7c, 0x20, 0xf7, 0x88, 0x70, 0x90, 0xb9, + 0x47, 0xbe, 0x33, 0xfb, 0x8d, 0x62, 0x25, 0x5b, 0x2f, 0x3b, 0xe7, 0xd5, + 0xd6, 0x7e, 0x52, 0xf5, 0xe8, 0x26, 0x20, 0xeb, 0x40, 0xa3, 0xe1, 0x12, + 0xaf, 0x15, 0x93, 0xaa, 0xe5, 0xfa, 0x59, 0x2a, 0x16, 0x30, 0x96, 0x6f, + 0x8c, 0xa4, 0x55, 0xa7, +}; +static const struct drbg_kat_no_reseed kat1366_t = { + 0, kat1366_entropyin, kat1366_nonce, kat1366_persstr, + kat1366_addin0, kat1366_addin1, kat1366_retbits +}; +static const struct drbg_kat kat1366 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1366_t +}; + +static const unsigned char kat1367_entropyin[] = { + 0xc9, 0x32, 0x5a, 0x14, 0xbb, 0x47, 0x0f, 0xff, 0x0d, 0x68, 0x30, 0xa7, + 0x05, 0x8d, 0xb8, 0xb8, 0xad, 0x4b, 0xe7, 0x24, 0x81, 0x8d, 0xbb, 0x25, + 0xad, 0xf6, 0x6b, 0x00, 0x27, 0xa0, 0x2c, 0xa9, 0xeb, 0x4c, 0xe8, 0x5c, + 0x63, 0x4c, 0x5a, 0x48, 0x69, 0x49, 0xb1, 0xef, 0x9c, 0x02, 0xa5, 0xc2, +}; +static const unsigned char kat1367_nonce[] = {0}; +static const unsigned char kat1367_persstr[] = { + 0x45, 0xce, 0xeb, 0x6b, 0x0f, 0xc3, 0xc1, 0xe4, 0xa9, 0x77, 0x80, 0xd4, + 0xf8, 0x6d, 0xac, 0x9a, 0x42, 0xde, 0x89, 0x9c, 0xdc, 0x52, 0xbf, 0x26, + 0x85, 0xbb, 0xcc, 0x8d, 0xe9, 0x52, 0x6f, 0xbb, 0x4b, 0xb5, 0x83, 0x9e, + 0x00, 0xb3, 0x8d, 0xe8, 0x64, 0x15, 0x2c, 0x32, 0x99, 0x0a, 0xff, 0x7e, +}; +static const unsigned char kat1367_addin0[] = { + 0x2f, 0xa1, 0x01, 0x8c, 0xcc, 0x64, 0x2b, 0x03, 0x46, 0xb2, 0x58, 0x7a, + 0x43, 0x7d, 0xf1, 0xe8, 0xb0, 0xb2, 0x87, 0x1a, 0x46, 0x93, 0x10, 0xbe, + 0x29, 0xbd, 0x1f, 0xea, 0x86, 0x77, 0xb3, 0x33, 0x01, 0x88, 0x53, 0x8b, + 0x5a, 0xb7, 0xb8, 0x0d, 0x22, 0x82, 0x0c, 0xe2, 0xb1, 0xe8, 0xa6, 0x25, +}; +static const unsigned char kat1367_addin1[] = { + 0x13, 0xff, 0x66, 0xa6, 0xcd, 0xba, 0x89, 0xdc, 0x7f, 0xab, 0x39, 0x06, + 0x3b, 0x6e, 0x02, 0x67, 0x1f, 0x6f, 0x3c, 0x35, 0x57, 0x15, 0xfa, 0x63, + 0x20, 0x59, 0x9f, 0x2e, 0x6a, 0x00, 0x13, 0x2e, 0x43, 0x30, 0xf1, 0x22, + 0x9c, 0xe2, 0x42, 0xc0, 0xfd, 0xb9, 0x0c, 0xa2, 0xa9, 0x1c, 0xee, 0x13, +}; +static const unsigned char kat1367_retbits[] = { + 0x7d, 0x5a, 0x9a, 0x20, 0x4f, 0x28, 0x8e, 0xb8, 0xc0, 0x26, 0x04, 0x66, + 0x8c, 0x1e, 0x61, 0xe2, 0xa6, 0x51, 0x91, 0xed, 0x98, 0xb5, 0x97, 0x07, + 0xa5, 0x76, 0xd2, 0x73, 0xde, 0x11, 0xba, 0x46, 0x35, 0xd6, 0xe2, 0xb7, + 0x21, 0x24, 0x36, 0xf4, 0x6b, 0x19, 0xea, 0xa0, 0x2b, 0xb9, 0x73, 0x84, + 0x15, 0x8f, 0x7e, 0x80, 0x07, 0x42, 0xc1, 0x9a, 0xdc, 0x86, 0x1b, 0x10, + 0x15, 0x5b, 0x88, 0x35, +}; +static const struct drbg_kat_no_reseed kat1367_t = { + 1, kat1367_entropyin, kat1367_nonce, kat1367_persstr, + kat1367_addin0, kat1367_addin1, kat1367_retbits +}; +static const struct drbg_kat kat1367 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1367_t +}; + +static const unsigned char kat1368_entropyin[] = { + 0x8f, 0xae, 0xe8, 0x60, 0x70, 0x86, 0x43, 0x2d, 0xf0, 0x86, 0x81, 0x34, + 0x27, 0x69, 0x7f, 0xd2, 0x27, 0x74, 0xdc, 0xac, 0x0a, 0xed, 0xb9, 0x1c, + 0x7a, 0x5a, 0x75, 0xe3, 0xd8, 0x9d, 0x94, 0x18, 0x9d, 0x80, 0x9f, 0xf7, + 0x11, 0x11, 0x73, 0x5e, 0x25, 0xbc, 0xe8, 0xc1, 0x24, 0x63, 0x9c, 0x4d, +}; +static const unsigned char kat1368_nonce[] = {0}; +static const unsigned char kat1368_persstr[] = { + 0x2b, 0x06, 0x97, 0xb8, 0x1e, 0x98, 0xa3, 0x5a, 0x51, 0xb3, 0x4b, 0xb4, + 0xdb, 0xca, 0xee, 0xaa, 0xed, 0x08, 0x17, 0xbd, 0x3d, 0x01, 0x54, 0x31, + 0x2d, 0xde, 0x12, 0x58, 0x0b, 0xa8, 0x40, 0x12, 0x8b, 0x8a, 0xbf, 0xff, + 0x3b, 0x92, 0xde, 0x96, 0xa2, 0x9b, 0xe4, 0x0b, 0x08, 0xca, 0xd4, 0x81, +}; +static const unsigned char kat1368_addin0[] = { + 0x63, 0xd8, 0x41, 0xc3, 0xc7, 0x5e, 0x76, 0x98, 0x60, 0x9b, 0x8a, 0x06, + 0x12, 0x40, 0x4f, 0xa0, 0xf6, 0xdc, 0xdd, 0xd3, 0x93, 0xb4, 0x60, 0xe9, + 0x74, 0xf4, 0x0e, 0x3b, 0x7f, 0x03, 0x3f, 0x4e, 0xae, 0xbc, 0x3e, 0x90, + 0xaf, 0x90, 0x5f, 0x70, 0x4a, 0x81, 0x0f, 0x2d, 0xcb, 0xa3, 0x2d, 0x7a, +}; +static const unsigned char kat1368_addin1[] = { + 0xfd, 0xcb, 0x88, 0x7b, 0xed, 0x67, 0x36, 0xab, 0xa7, 0xbc, 0xc3, 0xd1, + 0x6d, 0x7f, 0x89, 0x4b, 0x3e, 0x85, 0x6d, 0x96, 0xd7, 0xb1, 0xf5, 0x83, + 0x39, 0xc1, 0xfe, 0xd9, 0xbf, 0x3d, 0x4f, 0xc4, 0x53, 0xfe, 0xb7, 0x3d, + 0x49, 0x14, 0xa2, 0xd9, 0x0b, 0x2a, 0x62, 0xe0, 0xc3, 0xb1, 0x33, 0xfb, +}; +static const unsigned char kat1368_retbits[] = { + 0x50, 0xf4, 0x4f, 0xbb, 0xea, 0xa7, 0xbf, 0x65, 0xff, 0xa6, 0x0f, 0x5d, + 0xbd, 0x44, 0x25, 0x67, 0xe0, 0x5b, 0xd8, 0x76, 0x3b, 0xe6, 0xf4, 0x83, + 0x4b, 0xf0, 0xe0, 0xe6, 0x1f, 0x7f, 0x79, 0x15, 0xb4, 0x77, 0x60, 0x93, + 0x16, 0x01, 0xdd, 0xcb, 0xe5, 0x50, 0x96, 0x2c, 0x5d, 0x5a, 0xc2, 0x43, + 0xbd, 0xe5, 0x9a, 0xb1, 0xb0, 0xca, 0x7f, 0x19, 0x66, 0xb4, 0xbd, 0x2e, + 0x83, 0x75, 0xad, 0x0f, +}; +static const struct drbg_kat_no_reseed kat1368_t = { + 2, kat1368_entropyin, kat1368_nonce, kat1368_persstr, + kat1368_addin0, kat1368_addin1, kat1368_retbits +}; +static const struct drbg_kat kat1368 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1368_t +}; + +static const unsigned char kat1369_entropyin[] = { + 0x6b, 0xed, 0x86, 0x1a, 0x20, 0x1e, 0x45, 0x9b, 0x08, 0x6f, 0xe0, 0xfc, + 0x40, 0x84, 0xda, 0xf6, 0x2b, 0xbe, 0xcc, 0x73, 0x7d, 0xce, 0x72, 0x1d, + 0xc4, 0x71, 0xed, 0x2a, 0xfd, 0x87, 0x37, 0x8e, 0x7a, 0x59, 0xde, 0x2e, + 0xcd, 0xef, 0x21, 0x54, 0xa3, 0x0d, 0xf2, 0xfa, 0xbd, 0x51, 0xd5, 0x60, +}; +static const unsigned char kat1369_nonce[] = {0}; +static const unsigned char kat1369_persstr[] = { + 0x26, 0x7b, 0x4e, 0xd1, 0xef, 0xab, 0x86, 0xab, 0x54, 0x59, 0xad, 0xed, + 0x62, 0x81, 0x10, 0x71, 0xdf, 0x41, 0x3c, 0x1c, 0xbf, 0x2b, 0xb2, 0xa1, + 0x04, 0x95, 0x38, 0x39, 0x9e, 0x13, 0xcb, 0xfd, 0xf8, 0xfb, 0x87, 0x0f, + 0x3b, 0x17, 0x84, 0xcf, 0xaf, 0x91, 0x6e, 0xb3, 0x2b, 0x46, 0xfd, 0xc5, +}; +static const unsigned char kat1369_addin0[] = { + 0x10, 0x2d, 0x2b, 0x70, 0x59, 0x7d, 0x63, 0xa4, 0x42, 0x56, 0x23, 0xdb, + 0xb3, 0x0c, 0xe5, 0xf7, 0xc7, 0xe1, 0x14, 0x06, 0x47, 0x98, 0x2a, 0x4a, + 0x17, 0x8d, 0xc7, 0x1e, 0x7f, 0xa1, 0xfb, 0x33, 0xe2, 0xd6, 0x1e, 0xae, + 0x0f, 0x0e, 0x0a, 0xa1, 0x01, 0x3b, 0x20, 0xbd, 0x59, 0x33, 0x47, 0x59, +}; +static const unsigned char kat1369_addin1[] = { + 0x3c, 0x8b, 0x81, 0xbf, 0xac, 0x10, 0x99, 0xc5, 0x79, 0xf3, 0x06, 0x7d, + 0x01, 0x8b, 0xf2, 0xdd, 0x34, 0xe2, 0x68, 0xe2, 0xce, 0x57, 0x89, 0x63, + 0xc0, 0x1d, 0x38, 0xb5, 0x45, 0x69, 0xe4, 0xe7, 0xff, 0xd2, 0x12, 0xcf, + 0x0d, 0x7f, 0x43, 0x60, 0x12, 0x45, 0xe6, 0x51, 0x3c, 0x03, 0x4a, 0x9a, +}; +static const unsigned char kat1369_retbits[] = { + 0x3a, 0xfb, 0xfe, 0x4f, 0xcd, 0xc8, 0xf5, 0xdb, 0xf9, 0xbe, 0x2f, 0x23, + 0xf5, 0x7f, 0x25, 0xc6, 0xcd, 0x06, 0x1a, 0xe5, 0x92, 0xbf, 0xde, 0xa8, + 0xa7, 0xea, 0xb9, 0x42, 0xa4, 0x0f, 0xea, 0x75, 0xd2, 0xa9, 0x38, 0x86, + 0x06, 0xd6, 0x06, 0x2c, 0x41, 0x44, 0xed, 0x8e, 0x19, 0x7e, 0x15, 0x7e, + 0xd7, 0xfa, 0x76, 0xd3, 0xe8, 0x24, 0x53, 0x21, 0x2d, 0x1d, 0x16, 0x2f, + 0x55, 0x41, 0xe5, 0xaf, +}; +static const struct drbg_kat_no_reseed kat1369_t = { + 3, kat1369_entropyin, kat1369_nonce, kat1369_persstr, + kat1369_addin0, kat1369_addin1, kat1369_retbits +}; +static const struct drbg_kat kat1369 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1369_t +}; + +static const unsigned char kat1370_entropyin[] = { + 0xda, 0xe4, 0x10, 0x51, 0x05, 0x32, 0x6a, 0x25, 0xbf, 0xa8, 0xa1, 0x99, + 0x50, 0x2c, 0xc8, 0x79, 0xf6, 0x68, 0x92, 0x26, 0xf2, 0x69, 0x64, 0x9f, + 0xc4, 0x6c, 0x36, 0xa0, 0x25, 0xb4, 0x0c, 0xfe, 0x0f, 0x9a, 0x0e, 0x9c, + 0xb1, 0xcc, 0x18, 0x48, 0x03, 0x0e, 0x9b, 0x8b, 0xf2, 0x07, 0x18, 0xd3, +}; +static const unsigned char kat1370_nonce[] = {0}; +static const unsigned char kat1370_persstr[] = { + 0x76, 0xe6, 0xb9, 0xe8, 0x48, 0xb0, 0x7d, 0xb7, 0xdc, 0x39, 0x78, 0xf4, + 0x56, 0x42, 0x4c, 0x21, 0xdc, 0xe6, 0xc0, 0x43, 0xfe, 0x9e, 0xc8, 0xdd, + 0x55, 0xe3, 0x4c, 0x17, 0x8b, 0x29, 0xdd, 0x97, 0x39, 0x65, 0x9b, 0x37, + 0xc1, 0xe0, 0xf4, 0x42, 0x00, 0xce, 0xed, 0x7f, 0xfe, 0x73, 0x1f, 0xf9, +}; +static const unsigned char kat1370_addin0[] = { + 0xea, 0x26, 0xcd, 0x19, 0x5c, 0x9d, 0xb0, 0xcf, 0x8d, 0x95, 0xc6, 0x5a, + 0xea, 0x07, 0x81, 0x31, 0xbb, 0xbb, 0x9a, 0x83, 0xb3, 0xb7, 0x51, 0x1e, + 0x85, 0x22, 0xc3, 0x15, 0xa8, 0x77, 0x43, 0x8d, 0x0b, 0x85, 0xe1, 0x49, + 0x07, 0xaf, 0xb7, 0x1b, 0x3d, 0xd4, 0xa9, 0x32, 0x5d, 0x28, 0xfa, 0x78, +}; +static const unsigned char kat1370_addin1[] = { + 0xca, 0x29, 0x88, 0x56, 0x63, 0x1a, 0xa2, 0x5a, 0xfd, 0x19, 0x22, 0xcd, + 0x57, 0xaa, 0x73, 0xf0, 0x3c, 0x6f, 0x0a, 0x3a, 0x07, 0xce, 0xe6, 0xab, + 0x06, 0x76, 0x92, 0x61, 0x05, 0xa0, 0x68, 0x16, 0x87, 0xda, 0xa2, 0x87, + 0x77, 0x14, 0x2c, 0x38, 0x06, 0x84, 0x96, 0x98, 0x86, 0x3e, 0xea, 0xf1, +}; +static const unsigned char kat1370_retbits[] = { + 0x67, 0x8b, 0xc8, 0x6e, 0xe8, 0xc2, 0xc9, 0xb5, 0x7d, 0x3a, 0x4e, 0x27, + 0x41, 0x2a, 0x0e, 0xa8, 0xaa, 0xde, 0x79, 0x93, 0xd7, 0x87, 0x45, 0x2d, + 0x6e, 0xe7, 0x9f, 0x51, 0x96, 0x78, 0x81, 0x40, 0xf6, 0x83, 0x2e, 0x82, + 0x5d, 0x8a, 0xa3, 0x94, 0x34, 0x99, 0x47, 0x0f, 0xf1, 0x44, 0x94, 0xf5, + 0x02, 0x41, 0x39, 0x75, 0xc5, 0x4f, 0xfc, 0xf6, 0x50, 0xda, 0xa3, 0x32, + 0x50, 0x46, 0x88, 0x3f, +}; +static const struct drbg_kat_no_reseed kat1370_t = { + 4, kat1370_entropyin, kat1370_nonce, kat1370_persstr, + kat1370_addin0, kat1370_addin1, kat1370_retbits +}; +static const struct drbg_kat kat1370 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1370_t +}; + +static const unsigned char kat1371_entropyin[] = { + 0xbd, 0x9a, 0xa1, 0xfb, 0x14, 0xf2, 0x37, 0xae, 0xc0, 0x46, 0xdf, 0x3d, + 0x63, 0x20, 0xd4, 0x19, 0x22, 0x76, 0x79, 0x51, 0x6d, 0xeb, 0xd7, 0xcb, + 0x6a, 0x1e, 0x2a, 0xb8, 0xbe, 0x25, 0xb2, 0xda, 0x03, 0xdf, 0xd2, 0x18, + 0x5b, 0x9b, 0x4b, 0x6f, 0xa9, 0xae, 0x0b, 0xc7, 0xef, 0xff, 0x12, 0xd4, +}; +static const unsigned char kat1371_nonce[] = {0}; +static const unsigned char kat1371_persstr[] = { + 0x76, 0xf9, 0xe1, 0x91, 0x1b, 0xdf, 0xfe, 0xe4, 0x9a, 0xf8, 0x02, 0x81, + 0xce, 0x3c, 0xbc, 0x40, 0xce, 0xe7, 0x6b, 0xf5, 0xef, 0xeb, 0xd9, 0xf0, + 0xc7, 0x1f, 0xc5, 0x15, 0xd1, 0x8d, 0xbf, 0x82, 0x04, 0x30, 0xd1, 0x18, + 0x36, 0xa0, 0x1b, 0x88, 0x70, 0x5d, 0xd9, 0x1a, 0x82, 0x78, 0xc2, 0xd3, +}; +static const unsigned char kat1371_addin0[] = { + 0x38, 0x79, 0xcc, 0xe7, 0xb8, 0x94, 0xd8, 0x05, 0x2a, 0x8e, 0x69, 0xfa, + 0xdb, 0xc1, 0x54, 0xd0, 0xf1, 0xc5, 0x25, 0x39, 0xe1, 0xe0, 0x74, 0xdb, + 0x55, 0x75, 0xc5, 0xb0, 0x96, 0x70, 0xc5, 0x74, 0x8e, 0xd8, 0x0e, 0x7c, + 0x76, 0x55, 0x00, 0x5d, 0x77, 0xec, 0xb7, 0xc3, 0x20, 0xf6, 0x77, 0xb2, +}; +static const unsigned char kat1371_addin1[] = { + 0xe9, 0x99, 0xc8, 0x1a, 0x8c, 0x14, 0x03, 0x92, 0x0e, 0xa3, 0x42, 0xf8, + 0xe0, 0xf8, 0xa8, 0xb6, 0xd7, 0xc1, 0x43, 0xd7, 0x45, 0x27, 0x0b, 0xa5, + 0x75, 0xef, 0x35, 0x7e, 0x26, 0x88, 0x4a, 0x67, 0x60, 0xd1, 0xc7, 0xd1, + 0x65, 0x15, 0x23, 0x81, 0x06, 0x42, 0x53, 0x1d, 0x2d, 0x3b, 0x88, 0x32, +}; +static const unsigned char kat1371_retbits[] = { + 0x27, 0xcb, 0x56, 0x28, 0x56, 0x08, 0xa8, 0xb3, 0xd0, 0xe2, 0x3e, 0xad, + 0x3c, 0x2e, 0x16, 0x95, 0xbb, 0x51, 0x0e, 0x7e, 0x53, 0xb0, 0xf2, 0x77, + 0x3d, 0xcd, 0xbf, 0x1c, 0xb0, 0x61, 0xdb, 0xe2, 0x09, 0x9b, 0x37, 0x47, + 0x4b, 0xb2, 0x7f, 0x01, 0xd4, 0x8c, 0x8c, 0x1d, 0xa8, 0x57, 0xe1, 0x5b, + 0xb4, 0xef, 0xcd, 0x8c, 0xe4, 0x90, 0xb4, 0xf3, 0x38, 0x54, 0x02, 0x7d, + 0x8d, 0x76, 0xeb, 0xf9, +}; +static const struct drbg_kat_no_reseed kat1371_t = { + 5, kat1371_entropyin, kat1371_nonce, kat1371_persstr, + kat1371_addin0, kat1371_addin1, kat1371_retbits +}; +static const struct drbg_kat kat1371 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1371_t +}; + +static const unsigned char kat1372_entropyin[] = { + 0xe1, 0x45, 0xa1, 0x08, 0x20, 0x37, 0x13, 0x4e, 0xa2, 0x44, 0x3e, 0x00, + 0xe6, 0xe1, 0x76, 0x70, 0x4e, 0xd8, 0xb8, 0x87, 0x73, 0xd1, 0x15, 0xe0, + 0x4d, 0xc4, 0xc8, 0x46, 0x1e, 0x4d, 0x67, 0x3a, 0xe8, 0x27, 0x72, 0xed, + 0xe2, 0xa7, 0x78, 0x95, 0xc5, 0xd5, 0xaa, 0x94, 0x9a, 0x1f, 0x52, 0xea, +}; +static const unsigned char kat1372_nonce[] = {0}; +static const unsigned char kat1372_persstr[] = { + 0x06, 0xba, 0x16, 0xb3, 0x60, 0xbe, 0xc8, 0xa8, 0xba, 0x7d, 0x48, 0xab, + 0xc3, 0x07, 0xf4, 0x09, 0xbe, 0xde, 0x71, 0x71, 0x3c, 0x38, 0x39, 0x74, + 0x2c, 0x51, 0x8a, 0x5f, 0x0f, 0xd8, 0x25, 0x38, 0x3e, 0x40, 0x90, 0x96, + 0xa9, 0xa7, 0x1d, 0x5e, 0x2a, 0xe7, 0x00, 0x2c, 0xc6, 0x2f, 0x4f, 0xa7, +}; +static const unsigned char kat1372_addin0[] = { + 0x23, 0x0c, 0xe9, 0x51, 0x39, 0xb4, 0xbb, 0xcd, 0xf2, 0x0a, 0x02, 0x14, + 0xac, 0x95, 0x69, 0xaa, 0xbd, 0xe7, 0x18, 0x21, 0x3a, 0x73, 0x17, 0xa9, + 0x7b, 0xc9, 0x0e, 0x96, 0x74, 0xc1, 0xf1, 0x4e, 0x71, 0xfb, 0x0a, 0xd9, + 0x1b, 0x13, 0x70, 0x06, 0x81, 0xe6, 0x1c, 0x5b, 0x52, 0xa8, 0xce, 0x31, +}; +static const unsigned char kat1372_addin1[] = { + 0x5a, 0xbf, 0x26, 0x54, 0xf4, 0xeb, 0x3e, 0x85, 0x87, 0x81, 0x9f, 0x48, + 0x51, 0xa2, 0x41, 0x12, 0xbc, 0x71, 0x1a, 0x93, 0xd1, 0xf3, 0x6f, 0x1a, + 0x96, 0xe0, 0xdf, 0xd6, 0x09, 0xec, 0x1b, 0xfe, 0x00, 0xd6, 0x98, 0x44, + 0xd8, 0x05, 0x79, 0xdc, 0x55, 0x17, 0x50, 0x3c, 0xfd, 0x53, 0xea, 0x6a, +}; +static const unsigned char kat1372_retbits[] = { + 0xc5, 0x24, 0xdd, 0x2b, 0xcf, 0x49, 0x2f, 0x00, 0x87, 0x92, 0x80, 0x7b, + 0xbb, 0x96, 0x8f, 0x2d, 0xa7, 0xe2, 0xd7, 0x94, 0x87, 0x02, 0x96, 0x19, + 0xcd, 0x47, 0x52, 0xb0, 0x3c, 0x6c, 0xfc, 0x68, 0xfa, 0x90, 0xc6, 0x51, + 0xb4, 0x48, 0x0b, 0x65, 0x6f, 0xbb, 0xa3, 0x2a, 0x1a, 0xa0, 0xf2, 0x10, + 0xf5, 0xd8, 0x30, 0x4b, 0x5b, 0xc5, 0x7a, 0x27, 0x2f, 0x69, 0x78, 0x1a, + 0xa6, 0xac, 0xf3, 0x92, +}; +static const struct drbg_kat_no_reseed kat1372_t = { + 6, kat1372_entropyin, kat1372_nonce, kat1372_persstr, + kat1372_addin0, kat1372_addin1, kat1372_retbits +}; +static const struct drbg_kat kat1372 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1372_t +}; + +static const unsigned char kat1373_entropyin[] = { + 0x19, 0x23, 0xcd, 0x77, 0x47, 0x22, 0xc2, 0x35, 0xb8, 0x5f, 0x68, 0xc2, + 0x20, 0xa0, 0xf6, 0x75, 0xac, 0xb8, 0xfe, 0x4a, 0x2f, 0x3c, 0xdf, 0x56, + 0xb7, 0x29, 0x58, 0x63, 0x22, 0x78, 0x45, 0x33, 0x87, 0x2b, 0x8b, 0xc1, + 0xa6, 0x57, 0x09, 0x60, 0x47, 0xf6, 0x8f, 0x52, 0x48, 0x5a, 0x92, 0xee, +}; +static const unsigned char kat1373_nonce[] = {0}; +static const unsigned char kat1373_persstr[] = { + 0x98, 0x06, 0xa8, 0x7d, 0x7d, 0xc0, 0x47, 0xf0, 0x2c, 0xd8, 0x8d, 0xb5, + 0x6d, 0xdf, 0xc4, 0xe6, 0x8c, 0x42, 0xb4, 0xa9, 0x15, 0xfe, 0xe1, 0xc0, + 0x63, 0xaf, 0xf6, 0xa6, 0x2d, 0xef, 0x1a, 0xd7, 0x0c, 0xe2, 0xf1, 0xbb, + 0xd0, 0x68, 0xeb, 0xe1, 0xba, 0x01, 0xec, 0xf9, 0xcc, 0xd2, 0xdb, 0x17, +}; +static const unsigned char kat1373_addin0[] = { + 0x48, 0x3e, 0x45, 0xd4, 0xf3, 0xfc, 0x93, 0x07, 0xbb, 0xa3, 0x73, 0xb7, + 0x0e, 0x80, 0xb9, 0x85, 0xed, 0x1a, 0x93, 0x25, 0x7b, 0x0f, 0x62, 0x16, + 0x4e, 0xa4, 0x06, 0x5c, 0xb3, 0xb2, 0xac, 0x62, 0x7c, 0x7a, 0x02, 0x71, + 0xd0, 0x2c, 0x37, 0x09, 0x54, 0xc1, 0xd7, 0x95, 0x6b, 0x9f, 0x5d, 0x40, +}; +static const unsigned char kat1373_addin1[] = { + 0xc4, 0x6b, 0x57, 0x61, 0x64, 0x21, 0xa3, 0x72, 0x78, 0xc1, 0x1c, 0x3a, + 0xbf, 0xa1, 0x41, 0xf1, 0x7b, 0xdc, 0xf5, 0xe6, 0xbb, 0x9c, 0x66, 0x83, + 0xcc, 0x11, 0x60, 0xd2, 0x64, 0x68, 0x4a, 0x28, 0xab, 0x42, 0xd9, 0x39, + 0x07, 0x5e, 0xd5, 0xed, 0xd9, 0x46, 0xdd, 0x67, 0x42, 0x46, 0xd2, 0xc1, +}; +static const unsigned char kat1373_retbits[] = { + 0x8d, 0x87, 0x60, 0x73, 0xb9, 0x38, 0x46, 0xca, 0xb1, 0x38, 0xbd, 0xa1, + 0xa6, 0x77, 0xc0, 0xed, 0x06, 0xb2, 0xff, 0x77, 0x17, 0x1a, 0x5b, 0x71, + 0x33, 0x97, 0x04, 0xa6, 0x13, 0x9c, 0x2d, 0xf4, 0x70, 0xe1, 0x86, 0x93, + 0xf9, 0xaa, 0xf1, 0xc8, 0x83, 0x31, 0xd1, 0x9a, 0xc3, 0x9f, 0xd5, 0x2c, + 0x22, 0x63, 0x36, 0x4c, 0x99, 0xa3, 0xfc, 0x9a, 0x41, 0xbc, 0x93, 0x6a, + 0x35, 0xb7, 0x3f, 0x1f, +}; +static const struct drbg_kat_no_reseed kat1373_t = { + 7, kat1373_entropyin, kat1373_nonce, kat1373_persstr, + kat1373_addin0, kat1373_addin1, kat1373_retbits +}; +static const struct drbg_kat kat1373 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1373_t +}; + +static const unsigned char kat1374_entropyin[] = { + 0xf1, 0x49, 0xeb, 0x1c, 0x85, 0xa2, 0x04, 0xff, 0xab, 0x73, 0xe7, 0x72, + 0x8e, 0x46, 0x4c, 0x11, 0x59, 0x6e, 0xa6, 0xe8, 0x91, 0xb1, 0x43, 0xc1, + 0xa5, 0xfb, 0x4a, 0xf5, 0x69, 0x7b, 0x8f, 0xa3, 0xfc, 0x85, 0xaf, 0x22, + 0xb5, 0xd8, 0xe1, 0xbf, 0xc3, 0x79, 0xb5, 0x17, 0xf4, 0x01, 0x47, 0x0e, +}; +static const unsigned char kat1374_nonce[] = {0}; +static const unsigned char kat1374_persstr[] = { + 0x6d, 0x77, 0xa5, 0x5a, 0x69, 0x13, 0x85, 0xe5, 0x56, 0x73, 0x48, 0x0e, + 0x2f, 0x30, 0x2b, 0x57, 0x74, 0x95, 0xa3, 0x78, 0x15, 0x88, 0x94, 0xca, + 0xaa, 0xda, 0x3d, 0x08, 0xb7, 0x24, 0xf5, 0x66, 0x7c, 0x12, 0x18, 0x4e, + 0x5b, 0xe5, 0x4d, 0x1b, 0x36, 0xca, 0x2b, 0x33, 0xf8, 0xe6, 0xca, 0xfa, +}; +static const unsigned char kat1374_addin0[] = { + 0x13, 0xdf, 0x4c, 0xfc, 0xb7, 0x12, 0x3a, 0xeb, 0xfd, 0xa0, 0x2d, 0x39, + 0xee, 0x95, 0xba, 0x5c, 0xbc, 0x32, 0xb1, 0x89, 0x24, 0xe8, 0x7f, 0x34, + 0x57, 0x5f, 0xb1, 0xa3, 0x2c, 0xdd, 0x33, 0xd0, 0x49, 0x2c, 0x34, 0x14, + 0x68, 0x97, 0xcd, 0xa8, 0x65, 0xae, 0xd5, 0xb1, 0xce, 0xba, 0x8a, 0xc0, +}; +static const unsigned char kat1374_addin1[] = { + 0x14, 0xcc, 0x99, 0x01, 0xbd, 0xd0, 0xd1, 0x25, 0x2b, 0x19, 0xc0, 0x88, + 0x94, 0x77, 0x79, 0x27, 0xd3, 0x87, 0x41, 0xd0, 0xeb, 0xd4, 0x51, 0xca, + 0x59, 0x2c, 0x0c, 0x75, 0xe8, 0xfc, 0x12, 0x06, 0x25, 0xc5, 0x7d, 0x9e, + 0xfe, 0xfd, 0x19, 0x03, 0xd5, 0xca, 0x90, 0x2c, 0x73, 0x10, 0xfe, 0x51, +}; +static const unsigned char kat1374_retbits[] = { + 0xcf, 0x76, 0x4a, 0x67, 0xa7, 0x4c, 0xc0, 0x66, 0xfe, 0x70, 0x49, 0xa3, + 0x05, 0x59, 0x40, 0xf1, 0x10, 0x7b, 0x91, 0x8f, 0x82, 0xc7, 0x00, 0x55, + 0x84, 0xa3, 0x5d, 0x3e, 0x3b, 0xd6, 0x93, 0x3e, 0x3e, 0x92, 0x8d, 0xdc, + 0x8c, 0x93, 0xf5, 0xac, 0x54, 0xd0, 0x0e, 0x7e, 0xe4, 0x2e, 0xdd, 0x03, + 0x0c, 0x0e, 0xa6, 0x37, 0x25, 0x38, 0x8e, 0x1c, 0xcb, 0x99, 0xa5, 0x78, + 0x05, 0x85, 0x87, 0xe6, +}; +static const struct drbg_kat_no_reseed kat1374_t = { + 8, kat1374_entropyin, kat1374_nonce, kat1374_persstr, + kat1374_addin0, kat1374_addin1, kat1374_retbits +}; +static const struct drbg_kat kat1374 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1374_t +}; + +static const unsigned char kat1375_entropyin[] = { + 0x4f, 0x91, 0x6b, 0x44, 0xea, 0x32, 0xb5, 0x0c, 0x9e, 0xfd, 0xd1, 0x6d, + 0x9e, 0x5f, 0x28, 0xd8, 0x0f, 0x17, 0xee, 0xd3, 0x05, 0xda, 0x49, 0x8f, + 0x4e, 0xa9, 0xaf, 0xf0, 0xea, 0x2e, 0xc7, 0xc1, 0x5b, 0x59, 0x4a, 0x6f, + 0x8d, 0x80, 0xfa, 0xc7, 0xef, 0xab, 0x98, 0x86, 0xd6, 0xd5, 0xbf, 0xf7, +}; +static const unsigned char kat1375_nonce[] = {0}; +static const unsigned char kat1375_persstr[] = { + 0x07, 0x59, 0x3a, 0x0f, 0x2e, 0xc2, 0x94, 0xcb, 0x10, 0x3d, 0xcf, 0xde, + 0x66, 0x0b, 0x5b, 0x4a, 0x50, 0x1c, 0x7b, 0x50, 0x94, 0x24, 0x0a, 0x4d, + 0xd0, 0x4f, 0x7b, 0x89, 0x02, 0xc0, 0x1b, 0xac, 0x75, 0x4a, 0xf8, 0x50, + 0x34, 0xcc, 0x1c, 0x0e, 0x34, 0x13, 0x51, 0x1d, 0x14, 0xb3, 0xb7, 0xab, +}; +static const unsigned char kat1375_addin0[] = { + 0x51, 0x09, 0x28, 0x10, 0xd2, 0xc7, 0x64, 0x9f, 0xb2, 0xf1, 0xd7, 0x8e, + 0x0e, 0x06, 0xd8, 0x79, 0xc3, 0x86, 0x14, 0x1f, 0x8b, 0xf6, 0xee, 0x8c, + 0xe4, 0x45, 0xfc, 0xfc, 0x46, 0x9a, 0xf6, 0xb0, 0xce, 0x8c, 0xf5, 0x6d, + 0xa0, 0x37, 0xa3, 0xf1, 0xf5, 0x1b, 0xbd, 0x2f, 0x88, 0xb5, 0xe8, 0x09, +}; +static const unsigned char kat1375_addin1[] = { + 0x6a, 0x21, 0x41, 0xd8, 0x33, 0x31, 0xe5, 0x79, 0xb1, 0x6e, 0x37, 0xd3, + 0xc1, 0xc5, 0x51, 0xe4, 0xa6, 0x80, 0x55, 0xde, 0xab, 0xea, 0x83, 0xfd, + 0x23, 0x82, 0xc4, 0x18, 0xd4, 0x85, 0xb6, 0xa7, 0x3e, 0xfa, 0x85, 0x0c, + 0x0a, 0xa5, 0x64, 0x0c, 0x3b, 0x3b, 0x72, 0x64, 0x79, 0xff, 0xfe, 0x70, +}; +static const unsigned char kat1375_retbits[] = { + 0x64, 0x04, 0xe0, 0x65, 0x55, 0x8c, 0x18, 0xdc, 0xc3, 0x9b, 0x78, 0xac, + 0x60, 0xd7, 0x07, 0xab, 0xb1, 0xf6, 0x4a, 0xb6, 0x07, 0x0d, 0x3b, 0xc3, + 0xa5, 0xda, 0x00, 0x0f, 0xdf, 0x02, 0x49, 0x15, 0x40, 0xf7, 0x34, 0x8b, + 0x98, 0xa1, 0x59, 0x57, 0x1b, 0xc1, 0x36, 0x19, 0x6e, 0x17, 0xd8, 0x3d, + 0xa7, 0x3c, 0x39, 0x71, 0x8a, 0xff, 0x15, 0xda, 0x24, 0x69, 0xee, 0x57, + 0x26, 0x3f, 0x5d, 0x69, +}; +static const struct drbg_kat_no_reseed kat1375_t = { + 9, kat1375_entropyin, kat1375_nonce, kat1375_persstr, + kat1375_addin0, kat1375_addin1, kat1375_retbits +}; +static const struct drbg_kat kat1375 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1375_t +}; + +static const unsigned char kat1376_entropyin[] = { + 0x05, 0x27, 0x0c, 0x75, 0x41, 0xf5, 0x60, 0xeb, 0x0c, 0x8f, 0xd7, 0x08, + 0x8d, 0x60, 0x85, 0x60, 0x04, 0xf3, 0xf5, 0x60, 0x3d, 0xe9, 0x6d, 0x25, + 0xab, 0x49, 0x80, 0x5e, 0x23, 0xe2, 0x38, 0xb1, 0xcd, 0xc6, 0xa6, 0xaa, + 0xc5, 0xf9, 0x05, 0x32, 0x5b, 0x92, 0xc1, 0xe5, 0x93, 0xd6, 0xd2, 0x7d, +}; +static const unsigned char kat1376_nonce[] = {0}; +static const unsigned char kat1376_persstr[] = { + 0x7b, 0x34, 0xf3, 0xe2, 0xeb, 0xb0, 0x77, 0x9d, 0xbf, 0x26, 0xb6, 0x28, + 0x77, 0xcb, 0x67, 0x99, 0xf0, 0xbd, 0xff, 0x1b, 0xe8, 0xcd, 0x8f, 0x98, + 0x81, 0x2a, 0xe4, 0x1b, 0x06, 0xa8, 0xa7, 0x3d, 0x20, 0x2e, 0x93, 0xd8, + 0xc7, 0x63, 0x8b, 0x02, 0x8d, 0xa1, 0x92, 0x88, 0x2d, 0x97, 0x71, 0x58, +}; +static const unsigned char kat1376_addin0[] = { + 0xc2, 0x6a, 0xbc, 0x11, 0x09, 0x65, 0xae, 0x83, 0xd0, 0x27, 0x29, 0x66, + 0x00, 0x4a, 0x93, 0x8d, 0x0c, 0x05, 0x83, 0xf5, 0x06, 0x52, 0x2a, 0x3c, + 0x32, 0xdd, 0xc6, 0xdb, 0xcd, 0x8d, 0x64, 0x58, 0xdb, 0x70, 0x3d, 0x3e, + 0x2b, 0x30, 0xcc, 0x02, 0x3e, 0xc7, 0x65, 0x2e, 0xdd, 0x74, 0x7f, 0xdd, +}; +static const unsigned char kat1376_addin1[] = { + 0xf5, 0xc3, 0x8a, 0x59, 0xcc, 0xe7, 0xe8, 0xe2, 0x9d, 0x87, 0x67, 0xa0, + 0x9c, 0xc6, 0x56, 0xd3, 0x3e, 0xdf, 0xf4, 0x70, 0x3f, 0x7c, 0x98, 0x49, + 0x45, 0xf6, 0x64, 0x10, 0xfb, 0x19, 0x0b, 0xbe, 0x43, 0x82, 0xa4, 0x73, + 0xf4, 0xb3, 0x6f, 0xd1, 0x0d, 0x61, 0xd1, 0x6d, 0x30, 0x44, 0x66, 0xe6, +}; +static const unsigned char kat1376_retbits[] = { + 0x8d, 0x0e, 0x2e, 0x33, 0x7f, 0xbc, 0x86, 0x32, 0x58, 0x74, 0x22, 0x7e, + 0x48, 0xe9, 0xe3, 0xd8, 0xe7, 0x82, 0xb6, 0x95, 0x47, 0xac, 0x44, 0x45, + 0xce, 0x7c, 0x19, 0xa5, 0x8a, 0x63, 0xb5, 0xec, 0xb0, 0xf3, 0x67, 0x9f, + 0x0c, 0x43, 0x9e, 0xf0, 0x47, 0x9a, 0xc9, 0xaf, 0x22, 0xd0, 0x4f, 0x4f, + 0x57, 0x77, 0xcd, 0xa1, 0x31, 0x1c, 0x6c, 0x46, 0x37, 0xf3, 0x1d, 0xf8, + 0x60, 0xa6, 0x32, 0xac, +}; +static const struct drbg_kat_no_reseed kat1376_t = { + 10, kat1376_entropyin, kat1376_nonce, kat1376_persstr, + kat1376_addin0, kat1376_addin1, kat1376_retbits +}; +static const struct drbg_kat kat1376 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1376_t +}; + +static const unsigned char kat1377_entropyin[] = { + 0x0b, 0xe9, 0x52, 0x80, 0x22, 0x67, 0x17, 0xae, 0xe6, 0x50, 0xd2, 0xb8, + 0x49, 0x8a, 0x10, 0x74, 0xcf, 0xb5, 0x1e, 0xbc, 0x5c, 0x6f, 0x8b, 0x50, + 0xd7, 0x1c, 0x35, 0x6c, 0xe3, 0x7d, 0x67, 0x16, 0x70, 0x39, 0x12, 0x75, + 0x83, 0x81, 0xaf, 0x21, 0x0a, 0x70, 0x67, 0x0c, 0x70, 0x88, 0xa9, 0xc6, +}; +static const unsigned char kat1377_nonce[] = {0}; +static const unsigned char kat1377_persstr[] = { + 0x32, 0xe6, 0x8d, 0x6f, 0x66, 0x46, 0x22, 0x9b, 0x75, 0x1f, 0xf7, 0xa7, + 0x78, 0xba, 0xdc, 0xb7, 0xe7, 0x86, 0xfc, 0x35, 0x4a, 0xc1, 0x81, 0x46, + 0x02, 0x5b, 0xda, 0x69, 0x65, 0x16, 0x18, 0x48, 0x78, 0xa7, 0x11, 0x43, + 0x83, 0x4f, 0x0d, 0xe8, 0xef, 0x99, 0xa7, 0x3a, 0xe1, 0xb5, 0x12, 0xba, +}; +static const unsigned char kat1377_addin0[] = { + 0x72, 0x18, 0x96, 0xc4, 0x4c, 0xfb, 0x83, 0x21, 0x26, 0xa9, 0xf4, 0xcd, + 0x76, 0xab, 0x3a, 0x04, 0x1e, 0xeb, 0x14, 0x0e, 0xe1, 0x70, 0xed, 0xb8, + 0xb1, 0x0d, 0xe8, 0xe2, 0xe4, 0x39, 0xea, 0x66, 0x12, 0xaf, 0xb0, 0x6d, + 0x51, 0x83, 0xe7, 0x9e, 0x9f, 0x3b, 0x16, 0x4f, 0x27, 0xd3, 0x6c, 0x8f, +}; +static const unsigned char kat1377_addin1[] = { + 0xdc, 0x61, 0xfb, 0x8c, 0x38, 0x33, 0x01, 0x4f, 0xa8, 0x2b, 0x64, 0x0e, + 0x3b, 0xa8, 0xe8, 0x6f, 0x32, 0xc1, 0xfe, 0x90, 0xa5, 0x99, 0x68, 0x9d, + 0xab, 0xa0, 0xb9, 0x37, 0x8e, 0x75, 0x7f, 0x3d, 0x1e, 0x03, 0x9d, 0x53, + 0xf6, 0x25, 0xc9, 0x5c, 0x63, 0x96, 0x03, 0x40, 0xad, 0x6d, 0x4c, 0x57, +}; +static const unsigned char kat1377_retbits[] = { + 0xeb, 0xad, 0x75, 0x4d, 0xca, 0x66, 0xfc, 0x09, 0xc2, 0xe7, 0x73, 0x8c, + 0x14, 0x4b, 0x24, 0x57, 0x5e, 0x71, 0x85, 0xa4, 0x29, 0x50, 0xf9, 0xa1, + 0x9f, 0x73, 0x59, 0xc3, 0x39, 0xd9, 0xe6, 0xd0, 0x83, 0x71, 0x6e, 0x0a, + 0x9b, 0x5f, 0x3e, 0x2e, 0xea, 0x19, 0x2a, 0xdd, 0x56, 0xcc, 0x0c, 0xe9, + 0x1d, 0x5b, 0x30, 0x60, 0x85, 0xc1, 0x93, 0xc1, 0xd4, 0xaf, 0xa7, 0xa4, + 0x14, 0x80, 0xaa, 0x0c, +}; +static const struct drbg_kat_no_reseed kat1377_t = { + 11, kat1377_entropyin, kat1377_nonce, kat1377_persstr, + kat1377_addin0, kat1377_addin1, kat1377_retbits +}; +static const struct drbg_kat kat1377 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1377_t +}; + +static const unsigned char kat1378_entropyin[] = { + 0x0e, 0xb5, 0x9f, 0x84, 0x39, 0x58, 0x3e, 0xe5, 0xa8, 0xe7, 0xd3, 0x2d, + 0x40, 0xfb, 0x0a, 0xce, 0xef, 0x2f, 0xae, 0xc6, 0x76, 0xee, 0x46, 0x3e, + 0x7e, 0x7f, 0xba, 0xb1, 0xd5, 0xec, 0x8f, 0x25, 0xcf, 0x42, 0xfc, 0xc2, + 0xd0, 0xf3, 0xbb, 0xac, 0xc6, 0xa9, 0xbf, 0x75, 0xd9, 0x6c, 0x7d, 0x63, +}; +static const unsigned char kat1378_nonce[] = {0}; +static const unsigned char kat1378_persstr[] = { + 0x2f, 0xa9, 0x98, 0x94, 0x69, 0x03, 0xfc, 0xac, 0x98, 0xcb, 0x16, 0xdb, + 0xf3, 0xdb, 0xa9, 0x0a, 0x2d, 0xe7, 0xf8, 0xdd, 0x95, 0x34, 0x71, 0x88, + 0x19, 0xfa, 0x1a, 0xca, 0x97, 0x27, 0xb3, 0xfb, 0xd3, 0x91, 0x0e, 0x77, + 0x19, 0x29, 0x53, 0x1d, 0x12, 0x3c, 0x98, 0xd2, 0x13, 0x00, 0x97, 0x8b, +}; +static const unsigned char kat1378_addin0[] = { + 0xba, 0xa5, 0x9e, 0x86, 0x6e, 0x03, 0xf2, 0xa1, 0x2c, 0x36, 0x38, 0x7d, + 0xae, 0xa0, 0x69, 0xcc, 0x21, 0x6c, 0x7e, 0x94, 0x71, 0x4c, 0x49, 0xa7, + 0xd5, 0x0b, 0x60, 0x0d, 0xed, 0x65, 0xa7, 0x98, 0x65, 0xdc, 0xd2, 0x9c, + 0x46, 0xb6, 0xb6, 0x20, 0xe8, 0x7c, 0xd0, 0xa1, 0xe7, 0x08, 0x8e, 0x7c, +}; +static const unsigned char kat1378_addin1[] = { + 0x20, 0x35, 0xd7, 0x30, 0xdc, 0x18, 0x20, 0xac, 0x4d, 0xb5, 0x61, 0xdd, + 0xeb, 0xe8, 0xde, 0x44, 0x86, 0xad, 0x19, 0x48, 0xba, 0x4c, 0x34, 0xd9, + 0x0b, 0xcf, 0x3a, 0xd6, 0x4c, 0x60, 0x33, 0x78, 0xb5, 0x94, 0xb6, 0x39, + 0x9f, 0x34, 0x90, 0x98, 0xe6, 0x3b, 0x07, 0xe9, 0x38, 0x62, 0x16, 0x16, +}; +static const unsigned char kat1378_retbits[] = { + 0x56, 0x96, 0x97, 0x46, 0xdc, 0xee, 0xc4, 0x1f, 0xcc, 0x59, 0x5a, 0xbe, + 0x22, 0xdc, 0x43, 0x8e, 0x73, 0x9c, 0x50, 0x4f, 0x65, 0x18, 0x58, 0x0e, + 0x68, 0x2c, 0x52, 0xbd, 0x86, 0xcd, 0xa6, 0xf6, 0xe1, 0xfd, 0x46, 0x62, + 0xe8, 0x59, 0xf6, 0xa9, 0xc6, 0x80, 0x9a, 0xf4, 0xfd, 0x52, 0x4d, 0xe4, + 0x5a, 0xf6, 0x40, 0x27, 0x35, 0xf4, 0xc4, 0x3c, 0xdc, 0x4c, 0x4f, 0x4a, + 0x94, 0x62, 0x4e, 0xbf, +}; +static const struct drbg_kat_no_reseed kat1378_t = { + 12, kat1378_entropyin, kat1378_nonce, kat1378_persstr, + kat1378_addin0, kat1378_addin1, kat1378_retbits +}; +static const struct drbg_kat kat1378 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1378_t +}; + +static const unsigned char kat1379_entropyin[] = { + 0x2d, 0x09, 0x82, 0x62, 0xdc, 0x82, 0x8b, 0x18, 0x26, 0x0f, 0xf7, 0x0f, + 0x28, 0xe5, 0xcd, 0x0e, 0x00, 0x81, 0x75, 0x58, 0x36, 0xd1, 0x0f, 0xfd, + 0xe9, 0x08, 0xa1, 0xed, 0xf3, 0x12, 0x8b, 0x28, 0xe2, 0x74, 0x29, 0xa6, + 0x49, 0x34, 0x1e, 0xf0, 0x8e, 0xb7, 0x42, 0x73, 0xc8, 0x91, 0xc0, 0x40, +}; +static const unsigned char kat1379_nonce[] = {0}; +static const unsigned char kat1379_persstr[] = { + 0xf8, 0xa0, 0x3c, 0xb1, 0xae, 0x84, 0xb4, 0x96, 0xa8, 0x2a, 0x40, 0x6d, + 0x34, 0x05, 0x64, 0x40, 0x0f, 0x26, 0x11, 0x80, 0x83, 0x66, 0x48, 0x02, + 0x64, 0x15, 0x45, 0xb5, 0x7c, 0xf7, 0x55, 0x07, 0x09, 0xb6, 0x92, 0xe3, + 0xbc, 0xa2, 0xfc, 0xd8, 0xac, 0x72, 0x33, 0xf0, 0xf5, 0x4b, 0xe8, 0xb1, +}; +static const unsigned char kat1379_addin0[] = { + 0xd3, 0xdd, 0x72, 0x4c, 0x73, 0x5e, 0x63, 0xf5, 0xa4, 0x9a, 0x03, 0xba, + 0x5c, 0x31, 0x67, 0xb0, 0xc2, 0x1d, 0x95, 0x97, 0x6a, 0x4a, 0x91, 0xc2, + 0xc6, 0x64, 0x8c, 0xf2, 0xee, 0x01, 0x9d, 0x9d, 0x08, 0xc0, 0x33, 0xb2, + 0xed, 0x02, 0x3d, 0xe5, 0x46, 0x20, 0xb2, 0x37, 0x2e, 0x3f, 0x3b, 0x5d, +}; +static const unsigned char kat1379_addin1[] = { + 0xcf, 0xee, 0x61, 0xaa, 0x41, 0xdc, 0x59, 0xe7, 0x5c, 0xe9, 0x3e, 0xd3, + 0xa9, 0x2e, 0xc5, 0x06, 0xdc, 0x6d, 0x14, 0xc8, 0x0c, 0x56, 0x79, 0x13, + 0x15, 0x3a, 0xec, 0xbe, 0x5b, 0x9d, 0x8f, 0xfc, 0xe8, 0x9a, 0x8d, 0x73, + 0x44, 0x21, 0xda, 0xd0, 0xd4, 0x8a, 0xff, 0xab, 0x3e, 0xac, 0x0a, 0x2b, +}; +static const unsigned char kat1379_retbits[] = { + 0xee, 0xba, 0x82, 0x49, 0x46, 0x88, 0x83, 0x0e, 0x5f, 0x24, 0x41, 0x8e, + 0x38, 0xdc, 0xf5, 0x5e, 0x32, 0xa1, 0xd4, 0xb0, 0x43, 0x06, 0x6a, 0x99, + 0x6a, 0x7e, 0x8f, 0x11, 0xb7, 0x2a, 0x38, 0xd7, 0xfe, 0x27, 0xc7, 0xe5, + 0xbd, 0xdf, 0xa7, 0xc5, 0x6d, 0xf1, 0x18, 0x6f, 0x1c, 0xa5, 0x7d, 0xcb, + 0x33, 0x15, 0x96, 0x08, 0x00, 0x3a, 0xe1, 0xf2, 0xa4, 0x8d, 0x7a, 0x84, + 0x24, 0x9c, 0xa4, 0x65, +}; +static const struct drbg_kat_no_reseed kat1379_t = { + 13, kat1379_entropyin, kat1379_nonce, kat1379_persstr, + kat1379_addin0, kat1379_addin1, kat1379_retbits +}; +static const struct drbg_kat kat1379 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1379_t +}; + +static const unsigned char kat1380_entropyin[] = { + 0x93, 0x36, 0x3e, 0x22, 0xb3, 0x8f, 0x87, 0x89, 0x50, 0x71, 0x8c, 0x72, + 0x9c, 0xb3, 0xff, 0xb0, 0xfd, 0xf2, 0x15, 0x36, 0xe7, 0x19, 0x33, 0x35, + 0x83, 0x98, 0xaa, 0x41, 0x99, 0x81, 0x05, 0x24, 0xa7, 0x46, 0x3f, 0x2a, + 0x41, 0x4b, 0x5a, 0xbd, 0xe7, 0xc1, 0xa6, 0xd2, 0x2b, 0x1d, 0xf2, 0x5d, +}; +static const unsigned char kat1380_nonce[] = {0}; +static const unsigned char kat1380_persstr[] = { + 0x7a, 0x03, 0x29, 0xa3, 0xfe, 0xee, 0x3b, 0x0a, 0x55, 0x84, 0xeb, 0xf9, + 0x2e, 0x33, 0x67, 0x5e, 0x11, 0xea, 0x98, 0x47, 0xce, 0x52, 0xcc, 0x0d, + 0xf4, 0xea, 0x5c, 0x4f, 0x2b, 0x36, 0x62, 0x12, 0x19, 0x10, 0x86, 0x47, + 0x17, 0xbe, 0xe9, 0xf0, 0xbb, 0x6d, 0x02, 0x4e, 0xb2, 0xab, 0xed, 0x4e, +}; +static const unsigned char kat1380_addin0[] = { + 0xb0, 0xbf, 0x3a, 0xe2, 0xcf, 0xe4, 0xd3, 0xfa, 0xe5, 0x57, 0x37, 0x81, + 0x45, 0x6b, 0x37, 0x25, 0xa5, 0x95, 0x98, 0xd5, 0x2f, 0xfd, 0xd0, 0x81, + 0xb4, 0x12, 0x10, 0x64, 0x81, 0xeb, 0x04, 0x49, 0xc6, 0xf6, 0x80, 0x71, + 0x7a, 0x72, 0x55, 0x4f, 0x3a, 0xbd, 0x7e, 0xcb, 0x00, 0xa5, 0xb9, 0x76, +}; +static const unsigned char kat1380_addin1[] = { + 0xb9, 0x4a, 0x91, 0x34, 0x25, 0x70, 0x79, 0xc1, 0x61, 0x92, 0x06, 0x6b, + 0x6e, 0x3e, 0x50, 0xd6, 0x3d, 0x58, 0xde, 0xc6, 0x63, 0x25, 0x24, 0x11, + 0x4e, 0x6b, 0xce, 0x34, 0x15, 0xdb, 0x5a, 0xbf, 0xe0, 0xc8, 0x91, 0x08, + 0xcf, 0x2f, 0xd6, 0x47, 0x8a, 0x97, 0x07, 0x9f, 0x51, 0x90, 0xf1, 0xc5, +}; +static const unsigned char kat1380_retbits[] = { + 0xac, 0x7c, 0x1a, 0x00, 0x22, 0x8f, 0x6a, 0x7a, 0x06, 0x20, 0xd0, 0x0d, + 0xca, 0x7d, 0xd3, 0x8e, 0x53, 0xc7, 0x1d, 0x31, 0xaa, 0xce, 0x47, 0x07, + 0x03, 0xe4, 0xd8, 0x91, 0x1b, 0x07, 0x1b, 0x5a, 0xe5, 0x17, 0xaf, 0x60, + 0xff, 0x9f, 0x2a, 0xa5, 0x70, 0xb1, 0x8d, 0x35, 0xb2, 0xdc, 0xf8, 0xaf, + 0x0e, 0xe1, 0x4b, 0xa6, 0x46, 0xf2, 0xbe, 0x35, 0x57, 0x1c, 0x7c, 0xec, + 0x44, 0xec, 0x88, 0xd4, +}; +static const struct drbg_kat_no_reseed kat1380_t = { + 14, kat1380_entropyin, kat1380_nonce, kat1380_persstr, + kat1380_addin0, kat1380_addin1, kat1380_retbits +}; +static const struct drbg_kat kat1380 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1380_t +}; + +static const unsigned char kat1381_entropyin[] = { + 0x56, 0x67, 0xdf, 0x8e, 0x81, 0x47, 0xf0, 0xd5, 0x93, 0x98, 0x9c, 0x0b, + 0x28, 0xbe, 0x74, 0x97, 0xfa, 0x9e, 0x28, 0xf4, 0x6c, 0x00, 0xbd, 0xe1, + 0x2e, 0x53, 0xaa, 0x26, 0xdc, 0x3d, 0x07, 0xdc, 0x8d, 0x76, 0x08, 0xb5, + 0x5a, 0x16, 0xe9, 0x27, 0x09, 0x76, 0x2c, 0x2c, 0x1d, 0xee, 0x64, 0xb3, +}; +static const unsigned char kat1381_nonce[] = {0}; +static const unsigned char kat1381_persstr[] = {0}; +static const unsigned char kat1381_addin0[] = {0}; +static const unsigned char kat1381_addin1[] = {0}; +static const unsigned char kat1381_retbits[] = { + 0x63, 0x9e, 0x53, 0x94, 0xb5, 0x39, 0xda, 0x7b, 0xe7, 0xe3, 0x65, 0x84, + 0x9c, 0x69, 0x53, 0x38, 0xc2, 0x96, 0x95, 0x49, 0x39, 0xe4, 0xd6, 0x05, + 0xc8, 0x8f, 0x60, 0x56, 0xca, 0xb6, 0x36, 0x83, 0x8e, 0x2a, 0x51, 0xfb, + 0xd0, 0x99, 0x63, 0x84, 0x4b, 0x04, 0x4e, 0x83, 0xb4, 0x54, 0xc8, 0x7a, + 0x52, 0xd2, 0x5d, 0xad, 0x86, 0xcd, 0x52, 0xb9, 0xfe, 0x8a, 0x66, 0xe1, + 0xb0, 0x1f, 0xd4, 0xe3, +}; +static const struct drbg_kat_no_reseed kat1381_t = { + 0, kat1381_entropyin, kat1381_nonce, kat1381_persstr, + kat1381_addin0, kat1381_addin1, kat1381_retbits +}; +static const struct drbg_kat kat1381 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1381_t +}; + +static const unsigned char kat1382_entropyin[] = { + 0x81, 0x2b, 0x0a, 0xd3, 0x10, 0x61, 0xe2, 0xee, 0x11, 0xf6, 0x8f, 0xba, + 0x7c, 0x6e, 0xa4, 0xce, 0xe8, 0xce, 0xb4, 0xea, 0xe5, 0x0f, 0x11, 0xed, + 0xa7, 0xb1, 0xf3, 0x8b, 0x52, 0xd2, 0xf4, 0x9e, 0x06, 0x1a, 0xcd, 0x25, + 0xcc, 0x55, 0x81, 0x9e, 0x72, 0x16, 0x0b, 0x31, 0x09, 0x45, 0xfc, 0x8e, +}; +static const unsigned char kat1382_nonce[] = {0}; +static const unsigned char kat1382_persstr[] = {0}; +static const unsigned char kat1382_addin0[] = {0}; +static const unsigned char kat1382_addin1[] = {0}; +static const unsigned char kat1382_retbits[] = { + 0x61, 0x48, 0x21, 0xe0, 0x84, 0x1d, 0xcf, 0x02, 0xb4, 0x97, 0x9d, 0xf0, + 0xd9, 0x07, 0x9b, 0xd6, 0x33, 0x4a, 0xcb, 0xef, 0xd0, 0x91, 0x21, 0xe5, + 0x12, 0x39, 0x8f, 0x6b, 0x21, 0x17, 0x8c, 0x1e, 0x99, 0x8d, 0x19, 0x9d, + 0x33, 0x0a, 0xf4, 0xdd, 0x16, 0x2e, 0xe1, 0xad, 0xb6, 0x1e, 0xcf, 0x28, + 0xee, 0xec, 0xde, 0x8a, 0x89, 0x59, 0x93, 0xc2, 0x71, 0x14, 0x27, 0xa3, + 0xbb, 0xe9, 0x09, 0x32, +}; +static const struct drbg_kat_no_reseed kat1382_t = { + 1, kat1382_entropyin, kat1382_nonce, kat1382_persstr, + kat1382_addin0, kat1382_addin1, kat1382_retbits +}; +static const struct drbg_kat kat1382 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1382_t +}; + +static const unsigned char kat1383_entropyin[] = { + 0x87, 0xb8, 0x33, 0xc1, 0xdf, 0x6c, 0x73, 0xd7, 0x78, 0x0b, 0x29, 0x7d, + 0xcd, 0x08, 0xbd, 0x12, 0x2f, 0x3e, 0x4a, 0xbd, 0x4d, 0xca, 0x67, 0x38, + 0xc5, 0x5e, 0x51, 0xd6, 0x70, 0x9e, 0x92, 0x65, 0x6a, 0x17, 0x9d, 0x16, + 0x35, 0x2a, 0xf0, 0xbf, 0x13, 0xf0, 0xeb, 0xd2, 0x83, 0x33, 0x34, 0x95, +}; +static const unsigned char kat1383_nonce[] = {0}; +static const unsigned char kat1383_persstr[] = {0}; +static const unsigned char kat1383_addin0[] = {0}; +static const unsigned char kat1383_addin1[] = {0}; +static const unsigned char kat1383_retbits[] = { + 0xa3, 0xd0, 0xe6, 0xfd, 0x6d, 0xc3, 0xec, 0x6c, 0x7e, 0x18, 0xeb, 0xfc, + 0x4b, 0x4b, 0xb3, 0x8a, 0x83, 0x5b, 0x95, 0xe0, 0x1a, 0x68, 0xda, 0x4d, + 0x4c, 0x72, 0xd3, 0x86, 0x3c, 0x0e, 0x39, 0x36, 0x5d, 0x4c, 0xa4, 0x60, + 0xac, 0x0b, 0xdb, 0xb0, 0xbc, 0xfa, 0xdb, 0x0c, 0x07, 0xd1, 0xf8, 0xd5, + 0xf1, 0x7e, 0xdb, 0x04, 0x3d, 0x0e, 0xc5, 0xa9, 0xfe, 0xa4, 0x9f, 0xf3, + 0x9d, 0x4f, 0xe1, 0xb7, +}; +static const struct drbg_kat_no_reseed kat1383_t = { + 2, kat1383_entropyin, kat1383_nonce, kat1383_persstr, + kat1383_addin0, kat1383_addin1, kat1383_retbits +}; +static const struct drbg_kat kat1383 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1383_t +}; + +static const unsigned char kat1384_entropyin[] = { + 0x97, 0x4a, 0x99, 0x93, 0xcb, 0xef, 0xeb, 0x61, 0x45, 0xaf, 0x84, 0x22, + 0x7a, 0x7f, 0x41, 0xe0, 0x12, 0x7d, 0x2a, 0xf7, 0xf0, 0x3c, 0x8d, 0x30, + 0xd8, 0xfc, 0x5e, 0x2b, 0x53, 0x32, 0x27, 0x85, 0xb5, 0x5b, 0xfc, 0x48, + 0x48, 0x9b, 0xce, 0x8c, 0xbc, 0xd6, 0x2b, 0x0f, 0x63, 0x0a, 0x0d, 0x26, +}; +static const unsigned char kat1384_nonce[] = {0}; +static const unsigned char kat1384_persstr[] = {0}; +static const unsigned char kat1384_addin0[] = {0}; +static const unsigned char kat1384_addin1[] = {0}; +static const unsigned char kat1384_retbits[] = { + 0xb8, 0xd3, 0xa4, 0x16, 0x6d, 0xc1, 0x30, 0x3b, 0x12, 0x02, 0x24, 0x77, + 0xbb, 0x95, 0x4c, 0xb1, 0x8f, 0x26, 0xc1, 0x5e, 0xe3, 0x21, 0x26, 0x4e, + 0x26, 0x96, 0xe1, 0x9a, 0x05, 0xdd, 0x77, 0xc7, 0xf6, 0x6d, 0x15, 0xfc, + 0xa1, 0xa9, 0xa3, 0x9e, 0xc6, 0x80, 0x64, 0x96, 0x0b, 0x2a, 0x81, 0xa9, + 0x67, 0x29, 0xf9, 0xfd, 0x30, 0xdc, 0x3c, 0x17, 0xa4, 0x88, 0x5f, 0xa8, + 0x57, 0x84, 0xfe, 0x88, +}; +static const struct drbg_kat_no_reseed kat1384_t = { + 3, kat1384_entropyin, kat1384_nonce, kat1384_persstr, + kat1384_addin0, kat1384_addin1, kat1384_retbits +}; +static const struct drbg_kat kat1384 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1384_t +}; + +static const unsigned char kat1385_entropyin[] = { + 0xe4, 0xbf, 0x9e, 0xdc, 0x2a, 0x80, 0xb8, 0x2b, 0x9c, 0xed, 0xcf, 0xc2, + 0x4a, 0xad, 0xcc, 0x1c, 0x86, 0x87, 0xb2, 0x83, 0xd2, 0xc8, 0xd7, 0xa2, + 0xe8, 0xe6, 0xe3, 0x21, 0xd8, 0x2b, 0xca, 0x7f, 0x39, 0x52, 0x2f, 0x16, + 0xf0, 0xeb, 0xe0, 0x5d, 0x9f, 0x34, 0xa6, 0x79, 0xba, 0xab, 0xda, 0xbf, +}; +static const unsigned char kat1385_nonce[] = {0}; +static const unsigned char kat1385_persstr[] = {0}; +static const unsigned char kat1385_addin0[] = {0}; +static const unsigned char kat1385_addin1[] = {0}; +static const unsigned char kat1385_retbits[] = { + 0x03, 0x4e, 0x73, 0xc2, 0xd0, 0x87, 0xc0, 0xc8, 0x56, 0x0b, 0xe9, 0x1b, + 0xce, 0x03, 0x5f, 0x21, 0x01, 0x05, 0xc3, 0xa0, 0x55, 0x57, 0x32, 0x38, + 0xe5, 0xf7, 0xd3, 0xff, 0x81, 0xc4, 0x34, 0x69, 0x2e, 0x73, 0x1f, 0xf9, + 0x24, 0x60, 0x9a, 0xb3, 0x65, 0x5b, 0x82, 0xab, 0xc0, 0x11, 0xce, 0xba, + 0x4f, 0xad, 0x2d, 0x66, 0xa1, 0x52, 0x23, 0x96, 0x11, 0xcf, 0xc5, 0x80, + 0xe0, 0x5f, 0xa5, 0x4c, +}; +static const struct drbg_kat_no_reseed kat1385_t = { + 4, kat1385_entropyin, kat1385_nonce, kat1385_persstr, + kat1385_addin0, kat1385_addin1, kat1385_retbits +}; +static const struct drbg_kat kat1385 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1385_t +}; + +static const unsigned char kat1386_entropyin[] = { + 0x5c, 0xe9, 0xed, 0xc1, 0x2b, 0xe6, 0xc7, 0x8d, 0xb3, 0xf1, 0xb9, 0x8a, + 0xe5, 0x35, 0xa3, 0xc8, 0x95, 0x8b, 0xee, 0xbd, 0xa0, 0x59, 0x4f, 0x23, + 0x9b, 0x62, 0x65, 0xff, 0x81, 0x21, 0x6c, 0x59, 0x8b, 0xbb, 0x67, 0x38, + 0x2e, 0xfc, 0x01, 0x91, 0xe8, 0x62, 0x66, 0xd7, 0xe6, 0x2a, 0xad, 0xf1, +}; +static const unsigned char kat1386_nonce[] = {0}; +static const unsigned char kat1386_persstr[] = {0}; +static const unsigned char kat1386_addin0[] = {0}; +static const unsigned char kat1386_addin1[] = {0}; +static const unsigned char kat1386_retbits[] = { + 0x2e, 0xbc, 0xbb, 0x47, 0x08, 0xf6, 0x32, 0x5f, 0xd3, 0x8d, 0x46, 0x3f, + 0x45, 0x1a, 0xcb, 0x2b, 0x2d, 0x58, 0xd7, 0xa8, 0x56, 0x65, 0x26, 0x25, + 0x4b, 0x47, 0x2e, 0x33, 0x90, 0xd5, 0x90, 0xa0, 0x11, 0xc6, 0x7f, 0xac, + 0x45, 0x14, 0x12, 0x6f, 0xce, 0x0c, 0xf9, 0xd7, 0x50, 0x60, 0xa2, 0xfb, + 0xa8, 0xc3, 0x8e, 0x0f, 0xfa, 0x69, 0x0f, 0x8d, 0xc7, 0x43, 0x2b, 0x94, + 0x28, 0x57, 0x87, 0xd3, +}; +static const struct drbg_kat_no_reseed kat1386_t = { + 5, kat1386_entropyin, kat1386_nonce, kat1386_persstr, + kat1386_addin0, kat1386_addin1, kat1386_retbits +}; +static const struct drbg_kat kat1386 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1386_t +}; + +static const unsigned char kat1387_entropyin[] = { + 0xa7, 0xd0, 0xdb, 0x93, 0xe7, 0x7f, 0xf1, 0xd1, 0xae, 0x04, 0xa8, 0x2b, + 0x7f, 0xb1, 0xc1, 0xdc, 0xf3, 0x3a, 0x1a, 0x63, 0x5b, 0xf5, 0x76, 0xbd, + 0x4a, 0xca, 0x14, 0x8e, 0xfb, 0xf9, 0x9c, 0x20, 0x00, 0x0e, 0xc4, 0x93, + 0x1b, 0x4c, 0xc3, 0xcd, 0x33, 0xe9, 0x0f, 0xac, 0x35, 0x1e, 0xed, 0xae, +}; +static const unsigned char kat1387_nonce[] = {0}; +static const unsigned char kat1387_persstr[] = {0}; +static const unsigned char kat1387_addin0[] = {0}; +static const unsigned char kat1387_addin1[] = {0}; +static const unsigned char kat1387_retbits[] = { + 0x06, 0x10, 0xcf, 0x7d, 0xb6, 0x03, 0x86, 0xba, 0x11, 0xb4, 0xee, 0x09, + 0x14, 0xf4, 0xda, 0x29, 0x04, 0x13, 0xa4, 0x5a, 0x2e, 0xc5, 0x52, 0x96, + 0x32, 0x8c, 0xf4, 0xe9, 0xcc, 0xe0, 0x13, 0x5e, 0xcc, 0x8f, 0x4d, 0x79, + 0x15, 0xf1, 0x3f, 0xd5, 0xb1, 0xcf, 0x7c, 0x93, 0x3e, 0xf4, 0xa1, 0x6e, + 0xa6, 0x72, 0x7e, 0xc7, 0x8e, 0xa4, 0x2a, 0x1e, 0x5b, 0xb0, 0x0b, 0x49, + 0x30, 0x10, 0xac, 0xfe, +}; +static const struct drbg_kat_no_reseed kat1387_t = { + 6, kat1387_entropyin, kat1387_nonce, kat1387_persstr, + kat1387_addin0, kat1387_addin1, kat1387_retbits +}; +static const struct drbg_kat kat1387 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1387_t +}; + +static const unsigned char kat1388_entropyin[] = { + 0xb3, 0xbb, 0xa7, 0x1d, 0x87, 0xb1, 0x11, 0x15, 0xa8, 0x37, 0x3c, 0x1c, + 0x82, 0xef, 0x2d, 0x03, 0x5c, 0x47, 0xd1, 0x85, 0x8f, 0x6f, 0xea, 0x1c, + 0xae, 0xe3, 0x4a, 0x9e, 0xde, 0x78, 0x21, 0x5f, 0x27, 0xa5, 0xd5, 0x1f, + 0xbe, 0x6a, 0x54, 0x21, 0xbe, 0x5b, 0xa7, 0xa3, 0x48, 0xf4, 0x11, 0x5b, +}; +static const unsigned char kat1388_nonce[] = {0}; +static const unsigned char kat1388_persstr[] = {0}; +static const unsigned char kat1388_addin0[] = {0}; +static const unsigned char kat1388_addin1[] = {0}; +static const unsigned char kat1388_retbits[] = { + 0x0e, 0x56, 0x84, 0xcf, 0x87, 0x4f, 0x96, 0xb2, 0x62, 0xd7, 0x98, 0x84, + 0xde, 0x6e, 0xa2, 0x18, 0x62, 0xb0, 0x1d, 0x07, 0x6e, 0x47, 0xbe, 0x99, + 0x69, 0xd5, 0x54, 0x79, 0x1e, 0xb8, 0x10, 0x59, 0x83, 0xb0, 0x36, 0x49, + 0x76, 0xee, 0xe0, 0x3a, 0x7a, 0xf1, 0xc3, 0x7f, 0x8d, 0xc7, 0x31, 0xe7, + 0xd3, 0x76, 0x19, 0xfe, 0x98, 0x97, 0x7f, 0x60, 0x7e, 0xdb, 0x1a, 0x18, + 0xa0, 0xc9, 0x6d, 0xdb, +}; +static const struct drbg_kat_no_reseed kat1388_t = { + 7, kat1388_entropyin, kat1388_nonce, kat1388_persstr, + kat1388_addin0, kat1388_addin1, kat1388_retbits +}; +static const struct drbg_kat kat1388 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1388_t +}; + +static const unsigned char kat1389_entropyin[] = { + 0x65, 0xf0, 0x4b, 0x9f, 0x59, 0xc0, 0x1d, 0x80, 0xb5, 0xba, 0x9b, 0x17, + 0x12, 0x2e, 0x9c, 0xfe, 0x9b, 0xa5, 0x4f, 0x70, 0x8b, 0xc7, 0x60, 0x8a, + 0x0b, 0xcb, 0x96, 0x0c, 0xd4, 0x12, 0x41, 0x65, 0xac, 0x88, 0x6f, 0xf0, + 0xde, 0x77, 0x06, 0x4b, 0x01, 0xee, 0x4d, 0x18, 0x3c, 0xdd, 0xd3, 0x52, +}; +static const unsigned char kat1389_nonce[] = {0}; +static const unsigned char kat1389_persstr[] = {0}; +static const unsigned char kat1389_addin0[] = {0}; +static const unsigned char kat1389_addin1[] = {0}; +static const unsigned char kat1389_retbits[] = { + 0x23, 0x7a, 0x26, 0x29, 0x58, 0xa1, 0x6c, 0x52, 0x21, 0x0b, 0xc6, 0xfb, + 0xa0, 0xa0, 0x5b, 0x79, 0x5b, 0x6f, 0x86, 0x6f, 0x97, 0x69, 0xaa, 0xfa, + 0x0c, 0xc2, 0x6d, 0x15, 0x7f, 0x28, 0xee, 0x0b, 0xdb, 0x10, 0xc2, 0x64, + 0x2b, 0xdc, 0x15, 0xdf, 0xb2, 0x51, 0xa1, 0xf0, 0x09, 0x48, 0xec, 0x97, + 0x42, 0x05, 0xdb, 0x45, 0xc0, 0xe5, 0x51, 0xd6, 0x6e, 0xf5, 0xa2, 0x9e, + 0x06, 0xe8, 0x72, 0x01, +}; +static const struct drbg_kat_no_reseed kat1389_t = { + 8, kat1389_entropyin, kat1389_nonce, kat1389_persstr, + kat1389_addin0, kat1389_addin1, kat1389_retbits +}; +static const struct drbg_kat kat1389 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1389_t +}; + +static const unsigned char kat1390_entropyin[] = { + 0xea, 0x43, 0xc2, 0x91, 0xee, 0xb5, 0xdc, 0xe5, 0x5c, 0x76, 0x33, 0x92, + 0x86, 0x26, 0x0a, 0x7c, 0xe4, 0x1c, 0x24, 0x6b, 0x7f, 0x84, 0xff, 0x5c, + 0x83, 0x41, 0x8f, 0x01, 0x39, 0x7e, 0x46, 0xad, 0xe4, 0xfc, 0x95, 0x10, + 0xc2, 0xb8, 0xc7, 0xd6, 0x8d, 0xcf, 0xa1, 0x35, 0x8c, 0x3f, 0xa1, 0x29, +}; +static const unsigned char kat1390_nonce[] = {0}; +static const unsigned char kat1390_persstr[] = {0}; +static const unsigned char kat1390_addin0[] = {0}; +static const unsigned char kat1390_addin1[] = {0}; +static const unsigned char kat1390_retbits[] = { + 0x7e, 0xdd, 0x8b, 0xdc, 0x5e, 0x83, 0x69, 0xe5, 0x1d, 0x9d, 0x55, 0x11, + 0x03, 0xab, 0xeb, 0x91, 0x0c, 0x73, 0xed, 0x10, 0xfe, 0xd4, 0x12, 0x22, + 0x40, 0x03, 0x96, 0xab, 0xea, 0x1c, 0x18, 0x03, 0x44, 0x09, 0x6e, 0xb4, + 0x1b, 0xd4, 0x4a, 0x59, 0xda, 0xab, 0x19, 0xfc, 0xb9, 0xff, 0x40, 0x62, + 0x96, 0x9e, 0x11, 0xf3, 0xcf, 0xa7, 0x96, 0x09, 0x1b, 0x60, 0x88, 0x14, + 0xcc, 0xc2, 0xe7, 0x13, +}; +static const struct drbg_kat_no_reseed kat1390_t = { + 9, kat1390_entropyin, kat1390_nonce, kat1390_persstr, + kat1390_addin0, kat1390_addin1, kat1390_retbits +}; +static const struct drbg_kat kat1390 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1390_t +}; + +static const unsigned char kat1391_entropyin[] = { + 0x57, 0xd2, 0xb1, 0xcb, 0x0e, 0x13, 0x7e, 0x3b, 0xe1, 0x50, 0xa9, 0xf4, + 0x0c, 0x89, 0x6c, 0xba, 0x0a, 0x58, 0x33, 0x5c, 0x0d, 0x92, 0x70, 0x59, + 0xd3, 0xc9, 0xb6, 0x3a, 0xb9, 0x80, 0x0e, 0x81, 0xcd, 0x98, 0x03, 0xd1, + 0x62, 0x5f, 0x3f, 0xe5, 0x53, 0xa6, 0x90, 0xc2, 0x87, 0x87, 0xc4, 0x5f, +}; +static const unsigned char kat1391_nonce[] = {0}; +static const unsigned char kat1391_persstr[] = {0}; +static const unsigned char kat1391_addin0[] = {0}; +static const unsigned char kat1391_addin1[] = {0}; +static const unsigned char kat1391_retbits[] = { + 0xef, 0x27, 0x8d, 0x11, 0xa6, 0xd6, 0x94, 0xb3, 0x0e, 0xd5, 0xa1, 0x08, + 0x1e, 0xb2, 0xbf, 0x3d, 0x2e, 0xd7, 0x87, 0x25, 0xa6, 0x7e, 0xd7, 0xe0, + 0x14, 0xf7, 0x9e, 0x5b, 0xe2, 0xef, 0xfe, 0x68, 0x71, 0xaf, 0x2b, 0xdf, + 0xef, 0xfc, 0xc6, 0xca, 0x99, 0x9c, 0x09, 0x7c, 0x62, 0x01, 0x84, 0xfc, + 0x60, 0x71, 0x3a, 0xa3, 0x99, 0x07, 0x90, 0x9d, 0x6e, 0xb1, 0x53, 0xd2, + 0xb6, 0x11, 0x67, 0x3c, +}; +static const struct drbg_kat_no_reseed kat1391_t = { + 10, kat1391_entropyin, kat1391_nonce, kat1391_persstr, + kat1391_addin0, kat1391_addin1, kat1391_retbits +}; +static const struct drbg_kat kat1391 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1391_t +}; + +static const unsigned char kat1392_entropyin[] = { + 0xf5, 0x4d, 0x75, 0xfe, 0x5e, 0x7f, 0xe6, 0xd8, 0x5a, 0x6b, 0x47, 0x22, + 0x88, 0xb4, 0x63, 0x3b, 0xd5, 0x43, 0x77, 0xb8, 0xb4, 0xe5, 0x6a, 0x4a, + 0xc0, 0x47, 0xba, 0x7c, 0xa2, 0x04, 0x01, 0x37, 0x2a, 0xe2, 0x4c, 0x4b, + 0xd1, 0x29, 0x5a, 0xf9, 0xb9, 0x9c, 0xdc, 0xc8, 0xd0, 0xd8, 0x37, 0xb1, +}; +static const unsigned char kat1392_nonce[] = {0}; +static const unsigned char kat1392_persstr[] = {0}; +static const unsigned char kat1392_addin0[] = {0}; +static const unsigned char kat1392_addin1[] = {0}; +static const unsigned char kat1392_retbits[] = { + 0xc8, 0xb5, 0xcb, 0x19, 0xfd, 0x44, 0x34, 0x22, 0x53, 0x3d, 0xa7, 0x4d, + 0xaf, 0xb2, 0xe3, 0xa7, 0x3b, 0xef, 0x13, 0xb9, 0xcf, 0x1c, 0x1c, 0xe6, + 0x10, 0x40, 0x78, 0x55, 0x71, 0x35, 0x32, 0x20, 0xca, 0xab, 0x0b, 0x4e, + 0xd1, 0xfa, 0x37, 0x30, 0x2a, 0x30, 0x8a, 0x31, 0xe1, 0xc7, 0xe4, 0x4d, + 0xb4, 0x66, 0x9a, 0x86, 0x8d, 0xa8, 0x53, 0x6e, 0x68, 0x89, 0xbe, 0x3e, + 0xc6, 0x15, 0x45, 0xfe, +}; +static const struct drbg_kat_no_reseed kat1392_t = { + 11, kat1392_entropyin, kat1392_nonce, kat1392_persstr, + kat1392_addin0, kat1392_addin1, kat1392_retbits +}; +static const struct drbg_kat kat1392 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1392_t +}; + +static const unsigned char kat1393_entropyin[] = { + 0x1f, 0x2f, 0xd9, 0x79, 0x65, 0x6d, 0x5a, 0xf3, 0xcb, 0x2b, 0xf9, 0xa4, + 0x49, 0xb2, 0xe0, 0x78, 0x35, 0xb9, 0x59, 0xe2, 0x18, 0x31, 0x74, 0x18, + 0xdb, 0xd1, 0x0a, 0x01, 0x67, 0x96, 0xe2, 0x1a, 0x64, 0x45, 0x3c, 0x76, + 0x51, 0x30, 0xb7, 0xd8, 0x26, 0x81, 0xa7, 0x0c, 0xfa, 0x43, 0x89, 0x75, +}; +static const unsigned char kat1393_nonce[] = {0}; +static const unsigned char kat1393_persstr[] = {0}; +static const unsigned char kat1393_addin0[] = {0}; +static const unsigned char kat1393_addin1[] = {0}; +static const unsigned char kat1393_retbits[] = { + 0x40, 0x88, 0x42, 0xf1, 0x5a, 0x33, 0x51, 0x92, 0x89, 0x64, 0xe7, 0x79, + 0x28, 0xbf, 0xec, 0xb8, 0xdc, 0x0c, 0x27, 0x25, 0xa0, 0xb4, 0x70, 0xed, + 0xb7, 0x4a, 0x13, 0x91, 0xfe, 0xd9, 0x1b, 0x40, 0x01, 0x04, 0x31, 0xe4, + 0x76, 0x7c, 0xf8, 0xe8, 0x6b, 0x3f, 0x64, 0x0f, 0x4e, 0x98, 0xa1, 0xef, + 0x4e, 0x54, 0xf5, 0xa5, 0xd3, 0xbb, 0xf6, 0x9c, 0x4c, 0x7a, 0x46, 0x2a, + 0xd6, 0x7a, 0x6a, 0xe5, +}; +static const struct drbg_kat_no_reseed kat1393_t = { + 12, kat1393_entropyin, kat1393_nonce, kat1393_persstr, + kat1393_addin0, kat1393_addin1, kat1393_retbits +}; +static const struct drbg_kat kat1393 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1393_t +}; + +static const unsigned char kat1394_entropyin[] = { + 0x72, 0x79, 0x67, 0x6c, 0xff, 0x67, 0x61, 0xdd, 0x73, 0x8a, 0x34, 0x7b, + 0x64, 0x4e, 0x69, 0x1e, 0x0f, 0xec, 0xbc, 0xd8, 0x2c, 0x2f, 0x07, 0x36, + 0xa2, 0x61, 0xda, 0x3a, 0x66, 0x33, 0x25, 0x9f, 0x56, 0xbd, 0xc4, 0x4d, + 0xcf, 0x0d, 0x0b, 0xda, 0x35, 0xbf, 0xe7, 0x74, 0x63, 0x26, 0x5c, 0x0a, +}; +static const unsigned char kat1394_nonce[] = {0}; +static const unsigned char kat1394_persstr[] = {0}; +static const unsigned char kat1394_addin0[] = {0}; +static const unsigned char kat1394_addin1[] = {0}; +static const unsigned char kat1394_retbits[] = { + 0xdb, 0xeb, 0x1d, 0xe3, 0x4b, 0x0e, 0x6f, 0x1c, 0x96, 0xcf, 0x4a, 0xfd, + 0x1e, 0x12, 0x30, 0xe4, 0x34, 0xbc, 0xb1, 0xa5, 0x49, 0x7f, 0x79, 0x78, + 0x71, 0xe1, 0x6a, 0xa3, 0xf6, 0x0f, 0x8d, 0xbc, 0xb4, 0xb3, 0xf0, 0x20, + 0xbc, 0xa9, 0x4f, 0x23, 0xe3, 0x5d, 0x49, 0x40, 0x62, 0x23, 0x8b, 0x45, + 0x8e, 0xf3, 0xd3, 0xd9, 0xfc, 0xb2, 0xb5, 0x1a, 0xa1, 0x1c, 0xa6, 0xb8, + 0x3a, 0x20, 0x6c, 0x1e, +}; +static const struct drbg_kat_no_reseed kat1394_t = { + 13, kat1394_entropyin, kat1394_nonce, kat1394_persstr, + kat1394_addin0, kat1394_addin1, kat1394_retbits +}; +static const struct drbg_kat kat1394 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1394_t +}; + +static const unsigned char kat1395_entropyin[] = { + 0xc1, 0xfd, 0xb2, 0x16, 0x7e, 0x6d, 0xb3, 0x31, 0xa3, 0xe7, 0x96, 0xc8, + 0x3c, 0x8b, 0x10, 0x35, 0x26, 0x50, 0xc2, 0x0c, 0xdc, 0xc4, 0x1b, 0x85, + 0x9f, 0x8b, 0x00, 0x59, 0xf2, 0x63, 0x8b, 0xdc, 0xec, 0xa6, 0x12, 0x09, + 0x28, 0xc3, 0x31, 0x1b, 0x6b, 0x8d, 0x76, 0x4a, 0x67, 0xb4, 0x71, 0x92, +}; +static const unsigned char kat1395_nonce[] = {0}; +static const unsigned char kat1395_persstr[] = {0}; +static const unsigned char kat1395_addin0[] = {0}; +static const unsigned char kat1395_addin1[] = {0}; +static const unsigned char kat1395_retbits[] = { + 0xb9, 0xec, 0x75, 0x3c, 0xa4, 0x6b, 0xdc, 0x10, 0x58, 0xf5, 0xb7, 0x7a, + 0x9d, 0x1d, 0x9d, 0x70, 0x90, 0xd0, 0xb7, 0x0f, 0x8b, 0x99, 0x95, 0x65, + 0x8b, 0x8d, 0x5a, 0xbc, 0xb6, 0x84, 0x62, 0xa0, 0x9c, 0x59, 0xcf, 0x40, + 0x4b, 0xc4, 0xa6, 0x25, 0x03, 0x7b, 0x52, 0xba, 0x10, 0xe3, 0x36, 0xc2, + 0xbb, 0xd0, 0x49, 0xa5, 0x07, 0xfd, 0xb9, 0x5e, 0x32, 0xd0, 0x99, 0x04, + 0xa2, 0x48, 0x2f, 0x97, +}; +static const struct drbg_kat_no_reseed kat1395_t = { + 14, kat1395_entropyin, kat1395_nonce, kat1395_persstr, + kat1395_addin0, kat1395_addin1, kat1395_retbits +}; +static const struct drbg_kat kat1395 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat1395_t +}; + +static const unsigned char kat1396_entropyin[] = { + 0x17, 0xf5, 0x9a, 0x45, 0x48, 0x0d, 0xc7, 0x4b, 0xc3, 0x5c, 0x52, 0xc5, + 0xba, 0xcc, 0x06, 0xde, 0xa9, 0xce, 0x7e, 0x4a, 0x6e, 0x1f, 0x3a, 0xd9, + 0x2f, 0x92, 0xcc, 0x12, 0xc7, 0x01, 0x85, 0xee, 0xa5, 0xec, 0xb2, 0x92, + 0x43, 0x42, 0x70, 0x0c, 0xe0, 0xff, 0x74, 0x81, 0xab, 0x1a, 0x01, 0xa2, +}; +static const unsigned char kat1396_nonce[] = {0}; +static const unsigned char kat1396_persstr[] = {0}; +static const unsigned char kat1396_addin0[] = { + 0x03, 0x47, 0xd6, 0x94, 0x41, 0xec, 0x40, 0x54, 0x30, 0x06, 0xc0, 0x41, + 0x33, 0x75, 0xfc, 0xb1, 0x0b, 0x81, 0x23, 0xc0, 0x86, 0x43, 0x87, 0x87, + 0x69, 0x21, 0x91, 0x6c, 0x7b, 0x08, 0xaa, 0x8f, 0x04, 0x73, 0xa2, 0x1f, + 0x91, 0xcc, 0x5e, 0x7c, 0x94, 0x34, 0x53, 0x03, 0x09, 0x82, 0xd1, 0x04, +}; +static const unsigned char kat1396_addin1[] = { + 0x03, 0xf6, 0x2d, 0x5f, 0xb8, 0x8b, 0xd8, 0x12, 0xd3, 0xee, 0x02, 0x72, + 0xad, 0xb5, 0x39, 0x36, 0x17, 0xce, 0x5e, 0x70, 0x51, 0xda, 0x23, 0x54, + 0xd3, 0xfd, 0x79, 0x81, 0x86, 0x3b, 0x18, 0x4e, 0x8f, 0x4a, 0x56, 0x7b, + 0x2a, 0xaa, 0x48, 0xd2, 0xb3, 0x7a, 0x80, 0xbf, 0x9c, 0x09, 0x04, 0x36, +}; +static const unsigned char kat1396_retbits[] = { + 0x32, 0xbb, 0x42, 0x43, 0x25, 0x5b, 0x23, 0xe9, 0x6e, 0x02, 0x14, 0x2a, + 0x4f, 0xa8, 0x9b, 0x2b, 0xd8, 0x53, 0xf2, 0x6a, 0x3e, 0x6d, 0x4c, 0xc6, + 0xab, 0x9b, 0x2c, 0x1f, 0xe9, 0xd4, 0x4b, 0xea, 0xb8, 0xb6, 0x18, 0xee, + 0x8d, 0xb1, 0x7f, 0x02, 0x66, 0x8d, 0xca, 0xf9, 0xf7, 0xf2, 0x08, 0x00, + 0x9a, 0x92, 0x47, 0xeb, 0x65, 0xf7, 0x8f, 0xf7, 0xd0, 0xb6, 0xbe, 0x1f, + 0x7a, 0xa0, 0x2f, 0x83, +}; +static const struct drbg_kat_no_reseed kat1396_t = { + 0, kat1396_entropyin, kat1396_nonce, kat1396_persstr, + kat1396_addin0, kat1396_addin1, kat1396_retbits +}; +static const struct drbg_kat kat1396 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1396_t +}; + +static const unsigned char kat1397_entropyin[] = { + 0x97, 0x75, 0x4e, 0x2d, 0x56, 0x40, 0x01, 0xe3, 0x53, 0x27, 0x08, 0x87, + 0xbb, 0xc2, 0x47, 0x8c, 0x92, 0xbb, 0xd9, 0x12, 0x17, 0x3a, 0x68, 0x76, + 0x55, 0xad, 0x17, 0x88, 0x83, 0xc6, 0xc3, 0x64, 0xbb, 0x5c, 0x96, 0xc8, + 0x40, 0x90, 0x07, 0x94, 0x34, 0xb1, 0x2d, 0x65, 0xb2, 0xcd, 0xd7, 0xd3, +}; +static const unsigned char kat1397_nonce[] = {0}; +static const unsigned char kat1397_persstr[] = {0}; +static const unsigned char kat1397_addin0[] = { + 0xbf, 0x3e, 0x3c, 0xce, 0xf1, 0xa7, 0x94, 0x81, 0x8d, 0x7f, 0x10, 0x01, + 0xe0, 0xe5, 0xe6, 0x03, 0x62, 0x00, 0x0a, 0xa2, 0x19, 0x3b, 0x4f, 0x48, + 0x7c, 0xc4, 0x61, 0xb8, 0xbd, 0x0e, 0x07, 0xab, 0x33, 0x99, 0x36, 0x25, + 0x80, 0x8f, 0x3f, 0x70, 0x5c, 0x37, 0xbe, 0xd8, 0x56, 0x3b, 0x4a, 0x3d, +}; +static const unsigned char kat1397_addin1[] = { + 0x2f, 0xe2, 0x78, 0x8a, 0x5c, 0x9c, 0xd1, 0x52, 0x73, 0x2c, 0x14, 0x6c, + 0xc8, 0x0a, 0x67, 0xf1, 0x0e, 0xee, 0xc3, 0xfd, 0x1d, 0x45, 0xe0, 0x42, + 0xd5, 0xea, 0x1b, 0x08, 0x83, 0xee, 0x32, 0x48, 0x7a, 0x01, 0x98, 0x9f, + 0xf2, 0x96, 0x69, 0x89, 0x3f, 0x0c, 0x1f, 0x96, 0xb0, 0x31, 0xd2, 0x68, +}; +static const unsigned char kat1397_retbits[] = { + 0x3f, 0x98, 0xbf, 0xa8, 0xde, 0x8c, 0x71, 0x30, 0xbc, 0x6c, 0xdf, 0x5c, + 0x01, 0xe6, 0x06, 0xb9, 0x5b, 0x3d, 0xaa, 0x38, 0xeb, 0x6d, 0x6f, 0xf7, + 0x3a, 0xd2, 0x2f, 0xa7, 0x0f, 0x5a, 0xf3, 0x0d, 0x98, 0x70, 0x27, 0xae, + 0xea, 0xa5, 0x95, 0x8b, 0x8e, 0x12, 0x0e, 0xc0, 0x45, 0xa8, 0x90, 0x7b, + 0x3a, 0xf3, 0x1c, 0x3d, 0x38, 0x33, 0x1b, 0x5d, 0xa3, 0x42, 0xc5, 0xee, + 0x61, 0x4b, 0xb2, 0x05, +}; +static const struct drbg_kat_no_reseed kat1397_t = { + 1, kat1397_entropyin, kat1397_nonce, kat1397_persstr, + kat1397_addin0, kat1397_addin1, kat1397_retbits +}; +static const struct drbg_kat kat1397 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1397_t +}; + +static const unsigned char kat1398_entropyin[] = { + 0x56, 0x33, 0x05, 0x51, 0x6e, 0xc2, 0x02, 0xd9, 0x4e, 0x04, 0x73, 0x25, + 0x2f, 0x02, 0x2f, 0xa6, 0x6a, 0x91, 0x99, 0xd0, 0x91, 0xae, 0xf9, 0x4e, + 0xce, 0xa7, 0xc6, 0xe5, 0xec, 0x23, 0x57, 0x14, 0xc5, 0xee, 0xfb, 0x0d, + 0x15, 0x96, 0xb5, 0xf8, 0x53, 0x52, 0x32, 0x2c, 0xab, 0xe1, 0x18, 0xe1, +}; +static const unsigned char kat1398_nonce[] = {0}; +static const unsigned char kat1398_persstr[] = {0}; +static const unsigned char kat1398_addin0[] = { + 0xe0, 0xa1, 0x55, 0x73, 0x9a, 0xe9, 0x9b, 0xd9, 0x15, 0x8d, 0x4a, 0x68, + 0x6f, 0x6f, 0x0c, 0x1d, 0x58, 0xd0, 0x07, 0xf8, 0xfd, 0xfb, 0x4a, 0x20, + 0x8d, 0x55, 0x2f, 0x7e, 0x2d, 0x45, 0x0c, 0xc5, 0x5a, 0xdf, 0x3c, 0x1e, + 0x65, 0x13, 0xac, 0x2b, 0x84, 0x92, 0x27, 0xef, 0xa0, 0x82, 0xfb, 0x66, +}; +static const unsigned char kat1398_addin1[] = { + 0x88, 0x54, 0xfe, 0x62, 0xdb, 0xd2, 0x36, 0xaa, 0x13, 0xc9, 0x4f, 0x29, + 0xfe, 0xd7, 0x92, 0xd6, 0x0b, 0x90, 0x24, 0x0d, 0x20, 0xf8, 0x87, 0x86, + 0x4e, 0xe9, 0x1b, 0x06, 0x21, 0xf1, 0xa1, 0x5f, 0x1b, 0x16, 0x94, 0x60, + 0x87, 0xfc, 0xe5, 0x19, 0x6a, 0x03, 0x77, 0x45, 0x02, 0x59, 0x6d, 0x36, +}; +static const unsigned char kat1398_retbits[] = { + 0xce, 0x71, 0x4f, 0xa9, 0x12, 0x7a, 0x97, 0x99, 0x0c, 0xff, 0xa4, 0x15, + 0x04, 0x38, 0x51, 0x37, 0xd7, 0x7c, 0xde, 0x49, 0x08, 0x6b, 0x85, 0xd0, + 0xe3, 0x0c, 0xc2, 0xe9, 0xb6, 0xff, 0x38, 0x16, 0xc6, 0x24, 0x38, 0x76, + 0x4f, 0x4c, 0xfb, 0x3c, 0xa4, 0x1b, 0x5e, 0xf5, 0xcd, 0x76, 0x57, 0x2a, + 0x5b, 0x1a, 0x4b, 0xf4, 0x13, 0x42, 0x50, 0x00, 0x08, 0x42, 0x55, 0xde, + 0x7f, 0x52, 0x93, 0x5c, +}; +static const struct drbg_kat_no_reseed kat1398_t = { + 2, kat1398_entropyin, kat1398_nonce, kat1398_persstr, + kat1398_addin0, kat1398_addin1, kat1398_retbits +}; +static const struct drbg_kat kat1398 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1398_t +}; + +static const unsigned char kat1399_entropyin[] = { + 0x0f, 0xf0, 0xbe, 0x15, 0xbd, 0x51, 0x71, 0x89, 0x50, 0x53, 0xc0, 0xb4, + 0x41, 0x31, 0x4a, 0x9b, 0x50, 0x47, 0xc9, 0xbc, 0x3f, 0x3f, 0x2c, 0xda, + 0xa2, 0x47, 0x20, 0xbf, 0x1f, 0xaf, 0x9a, 0x00, 0xeb, 0x4b, 0x4e, 0x08, + 0x67, 0x3a, 0xee, 0x5b, 0xd7, 0xb8, 0x85, 0x79, 0xc0, 0xcc, 0xc9, 0x52, +}; +static const unsigned char kat1399_nonce[] = {0}; +static const unsigned char kat1399_persstr[] = {0}; +static const unsigned char kat1399_addin0[] = { + 0xcb, 0x56, 0x73, 0xb8, 0x9d, 0xd9, 0xc5, 0x7c, 0xd9, 0x7d, 0x59, 0xc4, + 0x0f, 0xdd, 0xb5, 0xbc, 0xf5, 0x31, 0xbd, 0xfa, 0x97, 0xe9, 0x82, 0x0e, + 0x21, 0xe2, 0x1e, 0xc4, 0xa7, 0xf6, 0x08, 0xf4, 0x8f, 0x5f, 0xcf, 0x66, + 0x33, 0x7d, 0xc4, 0x8c, 0xa6, 0xa8, 0xb3, 0x47, 0x19, 0x0c, 0x8f, 0x85, +}; +static const unsigned char kat1399_addin1[] = { + 0x23, 0xff, 0xda, 0xa3, 0x6a, 0xcd, 0x09, 0x1f, 0x5a, 0x7b, 0x79, 0x23, + 0xa1, 0x99, 0x09, 0xc5, 0x28, 0x32, 0x87, 0xcc, 0x47, 0x05, 0x74, 0xac, + 0x00, 0x34, 0x4c, 0x4b, 0xff, 0x3c, 0x6a, 0xe7, 0xb7, 0xb0, 0x4d, 0xad, + 0x9e, 0x20, 0xe9, 0x14, 0x71, 0xb4, 0x29, 0x01, 0x13, 0xd6, 0xa0, 0x56, +}; +static const unsigned char kat1399_retbits[] = { + 0x96, 0xa0, 0xa2, 0xf4, 0x5b, 0x05, 0x49, 0xcb, 0xf0, 0x29, 0x36, 0x31, + 0x07, 0x49, 0xb1, 0x7b, 0x39, 0x30, 0xe4, 0xe4, 0xab, 0x49, 0xa0, 0xcb, + 0x44, 0x95, 0x34, 0x4f, 0xf8, 0x48, 0x98, 0xf4, 0xae, 0x30, 0x0f, 0x13, + 0x1a, 0xfc, 0xeb, 0x1f, 0x52, 0x66, 0x44, 0x97, 0xf9, 0x31, 0xd8, 0xae, + 0xa4, 0x8c, 0x3d, 0xec, 0x0f, 0x48, 0xb0, 0x6e, 0xa4, 0xb5, 0x8c, 0x3a, + 0x40, 0x12, 0xac, 0xd1, +}; +static const struct drbg_kat_no_reseed kat1399_t = { + 3, kat1399_entropyin, kat1399_nonce, kat1399_persstr, + kat1399_addin0, kat1399_addin1, kat1399_retbits +}; +static const struct drbg_kat kat1399 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1399_t +}; + +static const unsigned char kat1400_entropyin[] = { + 0x94, 0xcb, 0x0b, 0x45, 0x4e, 0x26, 0x98, 0x6f, 0xb3, 0x7a, 0xb7, 0x8e, + 0xa3, 0x52, 0x14, 0x75, 0x6c, 0x1f, 0x40, 0x16, 0xae, 0x3b, 0xd6, 0x90, + 0x5d, 0xbd, 0x2a, 0x58, 0x34, 0xc4, 0x7b, 0x72, 0x32, 0xf8, 0x0d, 0x30, + 0x43, 0x57, 0xca, 0x0b, 0xf3, 0xf4, 0xaa, 0x5d, 0xac, 0x19, 0x4f, 0x33, +}; +static const unsigned char kat1400_nonce[] = {0}; +static const unsigned char kat1400_persstr[] = {0}; +static const unsigned char kat1400_addin0[] = { + 0xd3, 0x66, 0xde, 0xad, 0x7d, 0x7b, 0xf9, 0x82, 0x5a, 0x38, 0xf4, 0x52, + 0xa0, 0x9f, 0xe2, 0x82, 0x82, 0x49, 0xd4, 0x42, 0xe2, 0x23, 0xe0, 0x45, + 0xd2, 0x00, 0x6a, 0x2d, 0xc6, 0xd2, 0xb7, 0x80, 0xd2, 0x53, 0x3e, 0x01, + 0x23, 0xb1, 0xe0, 0xb1, 0xc4, 0x53, 0x10, 0xb6, 0x03, 0x00, 0xc6, 0xa7, +}; +static const unsigned char kat1400_addin1[] = { + 0x1f, 0x8f, 0xcc, 0x4f, 0x5f, 0x35, 0xbc, 0xf2, 0x0b, 0xe3, 0x1e, 0xfa, + 0x7f, 0xf6, 0x2e, 0x72, 0x8c, 0x94, 0x9a, 0x73, 0x7a, 0x72, 0x8f, 0xf8, + 0xda, 0x40, 0x9f, 0x4e, 0xf6, 0xd3, 0x16, 0xd8, 0x3f, 0x34, 0x0c, 0x10, + 0x8b, 0xc9, 0xe1, 0x65, 0xb9, 0x04, 0x54, 0x87, 0xa9, 0xf5, 0x57, 0xfd, +}; +static const unsigned char kat1400_retbits[] = { + 0xfd, 0x24, 0x5b, 0xa6, 0xfd, 0x85, 0x75, 0xa0, 0xa3, 0xa9, 0xae, 0xf7, + 0xf7, 0xe3, 0x4e, 0x0e, 0x33, 0xad, 0xd8, 0x74, 0xbe, 0xe4, 0x30, 0x2f, + 0xce, 0x98, 0x69, 0x83, 0x39, 0xf6, 0xe1, 0x58, 0xfa, 0x48, 0x2a, 0x4b, + 0xd2, 0x05, 0x62, 0x78, 0xa1, 0x57, 0xb2, 0x86, 0xf8, 0xf0, 0xc4, 0xbb, + 0x45, 0x60, 0x21, 0xc8, 0xa3, 0xcb, 0x4c, 0xcf, 0x19, 0x10, 0xd9, 0x54, + 0xaf, 0xa8, 0xf3, 0x57, +}; +static const struct drbg_kat_no_reseed kat1400_t = { + 4, kat1400_entropyin, kat1400_nonce, kat1400_persstr, + kat1400_addin0, kat1400_addin1, kat1400_retbits +}; +static const struct drbg_kat kat1400 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1400_t +}; + +static const unsigned char kat1401_entropyin[] = { + 0x35, 0x11, 0x28, 0x18, 0x09, 0x39, 0x44, 0x9e, 0x8a, 0x30, 0xca, 0xe8, + 0x8f, 0x56, 0xef, 0x82, 0xd3, 0xa7, 0x12, 0x61, 0x4a, 0x84, 0x3a, 0x91, + 0x19, 0xa5, 0x17, 0x7c, 0x66, 0xc9, 0x87, 0xbf, 0x65, 0xe5, 0x78, 0x79, + 0x19, 0x59, 0xec, 0x94, 0x65, 0xa4, 0xa3, 0x00, 0xe5, 0x2c, 0xdf, 0x39, +}; +static const unsigned char kat1401_nonce[] = {0}; +static const unsigned char kat1401_persstr[] = {0}; +static const unsigned char kat1401_addin0[] = { + 0x90, 0x29, 0x7a, 0x2b, 0x82, 0x79, 0x80, 0x3f, 0xc8, 0xbc, 0xfc, 0xc3, + 0xe8, 0xb6, 0xe6, 0x6d, 0x0e, 0x4d, 0xb3, 0x6b, 0x77, 0xfa, 0x2d, 0xb7, + 0xb6, 0x35, 0x59, 0x79, 0x0d, 0xfd, 0x0a, 0x6a, 0x78, 0x3a, 0xdf, 0xbe, + 0xfe, 0xf6, 0xfe, 0xcf, 0x98, 0x43, 0x8a, 0x71, 0x3d, 0x77, 0xa2, 0x03, +}; +static const unsigned char kat1401_addin1[] = { + 0x35, 0xd4, 0x31, 0x71, 0xf2, 0x14, 0x33, 0x46, 0xa4, 0xc5, 0x4b, 0x27, + 0x29, 0x16, 0xcd, 0xcc, 0x48, 0x48, 0xa9, 0x58, 0x37, 0xe6, 0xea, 0x0d, + 0x04, 0x8a, 0xc2, 0xfa, 0xc3, 0xae, 0xa5, 0xf9, 0x0c, 0xbf, 0x03, 0x34, + 0x87, 0xc8, 0x64, 0xc3, 0x32, 0xbe, 0x79, 0xca, 0x51, 0x96, 0xec, 0x2b, +}; +static const unsigned char kat1401_retbits[] = { + 0x8a, 0x86, 0x74, 0x80, 0x10, 0xfb, 0x25, 0x5d, 0x01, 0x24, 0xdb, 0xdf, + 0xc3, 0x03, 0x23, 0x21, 0x94, 0xc7, 0xc0, 0x66, 0xe1, 0xbd, 0x26, 0xc8, + 0x65, 0xf0, 0x7f, 0x19, 0xae, 0x09, 0xfd, 0xdf, 0xa5, 0x3e, 0x9c, 0x96, + 0x4d, 0xcc, 0x55, 0x27, 0x01, 0x63, 0x95, 0xa8, 0x16, 0x4c, 0x5a, 0x5f, + 0x24, 0x8d, 0xf6, 0x0f, 0x41, 0xdb, 0x6d, 0xcb, 0x50, 0xd6, 0x85, 0x02, + 0xb9, 0x00, 0x17, 0xfc, +}; +static const struct drbg_kat_no_reseed kat1401_t = { + 5, kat1401_entropyin, kat1401_nonce, kat1401_persstr, + kat1401_addin0, kat1401_addin1, kat1401_retbits +}; +static const struct drbg_kat kat1401 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1401_t +}; + +static const unsigned char kat1402_entropyin[] = { + 0xa6, 0x56, 0x74, 0x26, 0x8f, 0x03, 0xab, 0x24, 0x8c, 0x3a, 0x29, 0xf8, + 0x89, 0xfd, 0x62, 0x5b, 0x2b, 0x13, 0xd1, 0xd1, 0xcf, 0xe9, 0xde, 0x10, + 0xc9, 0x9f, 0x3a, 0x43, 0x2a, 0xdc, 0x0d, 0xd0, 0x95, 0x5b, 0x7c, 0x98, + 0x7b, 0x70, 0x0b, 0x83, 0x65, 0x23, 0x54, 0x8c, 0x42, 0xa1, 0x37, 0xc7, +}; +static const unsigned char kat1402_nonce[] = {0}; +static const unsigned char kat1402_persstr[] = {0}; +static const unsigned char kat1402_addin0[] = { + 0xb5, 0x45, 0xb1, 0x4c, 0xd7, 0x62, 0x55, 0x3d, 0xe0, 0x89, 0x42, 0x95, + 0xdf, 0x7c, 0xf3, 0xa5, 0x25, 0x77, 0x08, 0x2c, 0x24, 0x59, 0xba, 0xef, + 0xa3, 0xf6, 0x1d, 0x05, 0x80, 0xe2, 0xbf, 0x6c, 0x09, 0xef, 0x25, 0x24, + 0x59, 0x6a, 0xeb, 0x83, 0xa2, 0xb6, 0xf8, 0xc5, 0xd4, 0x63, 0x42, 0xea, +}; +static const unsigned char kat1402_addin1[] = { + 0x98, 0x02, 0x25, 0xf5, 0xa6, 0x43, 0xb9, 0xa0, 0xf2, 0xaa, 0x5f, 0x2c, + 0x1c, 0x2a, 0xa6, 0x08, 0x9d, 0x07, 0x06, 0xd1, 0x76, 0xcd, 0xb3, 0x18, + 0xb5, 0xbe, 0x7c, 0x42, 0x51, 0xb3, 0xb0, 0x22, 0x5d, 0x83, 0x15, 0x94, + 0x74, 0x37, 0xef, 0x7f, 0x4f, 0x55, 0x1b, 0xb6, 0x6a, 0xd5, 0x9b, 0x73, +}; +static const unsigned char kat1402_retbits[] = { + 0x28, 0x0a, 0xf4, 0xb1, 0xe2, 0xaf, 0x04, 0xca, 0x4c, 0xef, 0x06, 0x32, + 0x53, 0x99, 0x57, 0xec, 0x4f, 0xd5, 0xfa, 0x4d, 0x14, 0xfd, 0x6d, 0xd4, + 0xe3, 0xbb, 0x6d, 0x5d, 0x5c, 0xf4, 0x10, 0xec, 0x0e, 0x97, 0x8d, 0xed, + 0x48, 0x77, 0x04, 0xdb, 0xac, 0x16, 0x3f, 0xc3, 0xf2, 0xb7, 0x78, 0xce, + 0x67, 0xa5, 0x6f, 0x49, 0x7f, 0x72, 0xfa, 0x69, 0xf8, 0x12, 0x2b, 0x8e, + 0xb2, 0x3d, 0xb3, 0xdd, +}; +static const struct drbg_kat_no_reseed kat1402_t = { + 6, kat1402_entropyin, kat1402_nonce, kat1402_persstr, + kat1402_addin0, kat1402_addin1, kat1402_retbits +}; +static const struct drbg_kat kat1402 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1402_t +}; + +static const unsigned char kat1403_entropyin[] = { + 0x36, 0xb8, 0x10, 0x02, 0xe0, 0xff, 0x7e, 0xf2, 0x77, 0x17, 0x8d, 0x04, + 0x20, 0x17, 0x42, 0xe8, 0x44, 0xf5, 0xba, 0x93, 0xce, 0x4b, 0xb0, 0xe7, + 0x7c, 0x00, 0xee, 0xff, 0x8d, 0xbe, 0x9d, 0x97, 0x4a, 0x56, 0x15, 0x31, + 0x6b, 0x24, 0x2b, 0xb2, 0x44, 0xb1, 0x24, 0x9b, 0xbf, 0x14, 0x35, 0x6f, +}; +static const unsigned char kat1403_nonce[] = {0}; +static const unsigned char kat1403_persstr[] = {0}; +static const unsigned char kat1403_addin0[] = { + 0x9b, 0xb3, 0xd9, 0xd6, 0x0d, 0x98, 0x5c, 0x71, 0xac, 0xd2, 0xf0, 0x4e, + 0x8c, 0x92, 0xae, 0x7b, 0x7f, 0x89, 0x80, 0x59, 0x81, 0x34, 0x14, 0x0d, + 0x2a, 0x12, 0xea, 0x46, 0xcc, 0x47, 0xba, 0x30, 0xbb, 0x11, 0xc8, 0xee, + 0x55, 0x4e, 0x17, 0x0b, 0x61, 0x29, 0x54, 0x63, 0xcf, 0x0c, 0x50, 0x7f, +}; +static const unsigned char kat1403_addin1[] = { + 0x30, 0xbb, 0x3d, 0xdc, 0xfa, 0x03, 0x5b, 0x76, 0x08, 0x94, 0x58, 0x98, + 0xfe, 0x05, 0x31, 0x1a, 0x57, 0xa4, 0xfa, 0xd4, 0x81, 0x18, 0x4d, 0xa1, + 0x88, 0xe2, 0xdd, 0x11, 0x40, 0x3c, 0x51, 0x0b, 0x6f, 0xe8, 0xe1, 0xe4, + 0x4f, 0x6e, 0x07, 0x39, 0x73, 0x8e, 0xf8, 0x9c, 0x7c, 0xf8, 0x58, 0x7e, +}; +static const unsigned char kat1403_retbits[] = { + 0x6c, 0x6f, 0xfa, 0x11, 0x40, 0xcd, 0x3e, 0x5f, 0x44, 0x95, 0xcd, 0x5f, + 0xa2, 0x3b, 0xcf, 0xbe, 0x06, 0xe6, 0x94, 0x36, 0x4a, 0x3a, 0x61, 0x54, + 0xb2, 0x1c, 0xea, 0x21, 0xb8, 0xf2, 0xe1, 0x06, 0x28, 0xef, 0x35, 0x96, + 0x9c, 0x31, 0xb8, 0x06, 0x7a, 0xb7, 0x7f, 0xe2, 0x63, 0x1b, 0x53, 0xd3, + 0xa4, 0x4e, 0xfc, 0x94, 0x38, 0x3b, 0xee, 0xdd, 0x85, 0x56, 0x7d, 0x96, + 0x9c, 0xb4, 0x30, 0x11, +}; +static const struct drbg_kat_no_reseed kat1403_t = { + 7, kat1403_entropyin, kat1403_nonce, kat1403_persstr, + kat1403_addin0, kat1403_addin1, kat1403_retbits +}; +static const struct drbg_kat kat1403 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1403_t +}; + +static const unsigned char kat1404_entropyin[] = { + 0x03, 0x91, 0x41, 0x20, 0x48, 0x53, 0x75, 0xee, 0x8c, 0x46, 0x95, 0x63, + 0xad, 0xfe, 0xdd, 0x27, 0x48, 0x73, 0xb1, 0x1a, 0x83, 0x4d, 0xfd, 0x41, + 0x6a, 0xc7, 0x62, 0xc1, 0xec, 0xa7, 0x22, 0x29, 0x68, 0x37, 0x4e, 0x24, + 0xe4, 0x44, 0x66, 0x60, 0xd3, 0x49, 0xb0, 0xd7, 0x7f, 0xbc, 0xa9, 0x26, +}; +static const unsigned char kat1404_nonce[] = {0}; +static const unsigned char kat1404_persstr[] = {0}; +static const unsigned char kat1404_addin0[] = { + 0x48, 0x5e, 0x2e, 0x1f, 0x60, 0x3c, 0x5c, 0x58, 0x90, 0xfb, 0xbe, 0x44, + 0xfa, 0x6f, 0x17, 0x22, 0x8e, 0x93, 0x40, 0xc2, 0x05, 0x07, 0xb1, 0xe2, + 0xc9, 0x3d, 0x31, 0xd8, 0x66, 0x72, 0xc0, 0x51, 0x1d, 0xf5, 0xdb, 0x29, + 0xec, 0x00, 0x60, 0x63, 0xeb, 0xfa, 0xe1, 0xa3, 0x9e, 0x95, 0xcc, 0x95, +}; +static const unsigned char kat1404_addin1[] = { + 0xff, 0xe6, 0x9d, 0x1a, 0xce, 0x62, 0xde, 0x2f, 0x9f, 0x74, 0x68, 0xfc, + 0x7d, 0x4b, 0xe7, 0xc0, 0x9a, 0x71, 0x92, 0x5c, 0x8c, 0x4b, 0x75, 0x74, + 0x61, 0xac, 0x96, 0x33, 0x78, 0x4a, 0x27, 0x58, 0x8a, 0x81, 0xf5, 0xd6, + 0xc3, 0x9a, 0x0c, 0x78, 0xa3, 0x0f, 0x6a, 0xf9, 0xa8, 0xa7, 0x5b, 0x6f, +}; +static const unsigned char kat1404_retbits[] = { + 0x64, 0xd6, 0x4e, 0x78, 0x88, 0xa6, 0x7e, 0x3a, 0xae, 0xea, 0xe3, 0xcb, + 0xf1, 0x3d, 0x3d, 0x23, 0xc7, 0x0b, 0x39, 0xf0, 0x3b, 0x88, 0x5d, 0x32, + 0x95, 0x98, 0x6a, 0xb4, 0xa2, 0x20, 0x8f, 0x86, 0xb5, 0x56, 0xc8, 0x6c, + 0x66, 0x92, 0x5d, 0x88, 0x0d, 0x66, 0x6c, 0xc0, 0xdd, 0x32, 0x73, 0x08, + 0x8c, 0x28, 0x31, 0xc9, 0x6f, 0x3a, 0x39, 0xce, 0xe7, 0x53, 0x0b, 0xfc, + 0xdc, 0x56, 0x5b, 0x48, +}; +static const struct drbg_kat_no_reseed kat1404_t = { + 8, kat1404_entropyin, kat1404_nonce, kat1404_persstr, + kat1404_addin0, kat1404_addin1, kat1404_retbits +}; +static const struct drbg_kat kat1404 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1404_t +}; + +static const unsigned char kat1405_entropyin[] = { + 0xfa, 0x84, 0x7e, 0xa8, 0x04, 0x47, 0x32, 0xf6, 0x54, 0x05, 0x6c, 0x36, + 0xce, 0xdf, 0x98, 0x17, 0x1b, 0xed, 0xf9, 0xb4, 0x3d, 0xb5, 0x1b, 0x91, + 0x26, 0xde, 0xd2, 0x0c, 0x3d, 0xc1, 0xd9, 0x24, 0x00, 0x97, 0x8e, 0x6e, + 0x2c, 0x5f, 0xf9, 0x96, 0x93, 0x2d, 0x35, 0x1a, 0x3d, 0x67, 0x33, 0x1b, +}; +static const unsigned char kat1405_nonce[] = {0}; +static const unsigned char kat1405_persstr[] = {0}; +static const unsigned char kat1405_addin0[] = { + 0xfe, 0x92, 0x72, 0x44, 0xa9, 0xc1, 0xdd, 0x81, 0x44, 0x56, 0x25, 0x93, + 0xa3, 0x88, 0x99, 0x14, 0x1c, 0x2d, 0xc0, 0x27, 0xd9, 0x40, 0x22, 0x6a, + 0x28, 0xfa, 0xba, 0xfe, 0xd6, 0xc0, 0x19, 0xb4, 0xc9, 0x4f, 0xe7, 0x98, + 0x7c, 0x41, 0x8c, 0x4d, 0xc1, 0x48, 0x4c, 0x7c, 0x87, 0x72, 0x19, 0x52, +}; +static const unsigned char kat1405_addin1[] = { + 0x04, 0xe1, 0x62, 0x19, 0xb5, 0x72, 0x83, 0x12, 0xf0, 0x59, 0x56, 0xfd, + 0x6a, 0x09, 0x3e, 0x74, 0xa3, 0x62, 0xbb, 0xed, 0xc3, 0xc9, 0x44, 0x36, + 0x68, 0xcc, 0xcd, 0xff, 0x29, 0x50, 0x14, 0x55, 0x61, 0x44, 0x2f, 0x17, + 0xda, 0x93, 0x00, 0x30, 0x83, 0xc5, 0x82, 0x4f, 0x3d, 0xc6, 0x8e, 0xc1, +}; +static const unsigned char kat1405_retbits[] = { + 0xbb, 0x24, 0xb4, 0x6a, 0x12, 0xb4, 0x82, 0xf0, 0xcb, 0xce, 0x27, 0x8a, + 0x2b, 0x6c, 0x01, 0x2d, 0x7c, 0xfa, 0xc2, 0xc4, 0x15, 0x90, 0x80, 0x3c, + 0x56, 0x5f, 0xca, 0xdd, 0xfc, 0xa8, 0x52, 0xa5, 0x69, 0x91, 0x12, 0xb1, + 0x0c, 0xe2, 0xc0, 0xa8, 0x4d, 0x45, 0x54, 0x3a, 0x89, 0x3f, 0xbf, 0x2c, + 0x9f, 0xbf, 0x94, 0x50, 0x20, 0x10, 0xd7, 0x21, 0x32, 0x18, 0xa8, 0x28, + 0x33, 0x04, 0xf6, 0x59, +}; +static const struct drbg_kat_no_reseed kat1405_t = { + 9, kat1405_entropyin, kat1405_nonce, kat1405_persstr, + kat1405_addin0, kat1405_addin1, kat1405_retbits +}; +static const struct drbg_kat kat1405 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1405_t +}; + +static const unsigned char kat1406_entropyin[] = { + 0x85, 0xe4, 0xeb, 0x58, 0xa3, 0x4e, 0xed, 0xec, 0xdf, 0x53, 0x46, 0x48, + 0x3c, 0x1a, 0x79, 0x37, 0x31, 0x55, 0x11, 0x46, 0x14, 0x4d, 0xec, 0x78, + 0x2d, 0xea, 0xec, 0x62, 0xea, 0xd1, 0xf1, 0x68, 0xb2, 0xfb, 0x4c, 0x1c, + 0xce, 0x5a, 0xc8, 0xae, 0xc8, 0x95, 0xd7, 0x1a, 0x30, 0xd9, 0x1f, 0xbf, +}; +static const unsigned char kat1406_nonce[] = {0}; +static const unsigned char kat1406_persstr[] = {0}; +static const unsigned char kat1406_addin0[] = { + 0x81, 0xe2, 0x9a, 0x57, 0x6b, 0x77, 0x0a, 0x58, 0xfa, 0x55, 0x95, 0x0c, + 0xb2, 0x6c, 0x4b, 0xe8, 0xa0, 0x29, 0x65, 0x74, 0x53, 0x8e, 0xb9, 0xaf, + 0x80, 0x68, 0xcd, 0x15, 0xb3, 0xad, 0xc8, 0x7e, 0x23, 0xc1, 0x04, 0xfc, + 0x60, 0x7a, 0xb5, 0x7e, 0x09, 0xaa, 0xea, 0xf6, 0x53, 0xf6, 0x9e, 0x03, +}; +static const unsigned char kat1406_addin1[] = { + 0x99, 0x4c, 0x97, 0x6e, 0x25, 0x94, 0x8d, 0x7c, 0x11, 0xad, 0x89, 0x51, + 0x0e, 0xbc, 0x80, 0xcd, 0xe4, 0x41, 0xdd, 0xac, 0xa0, 0x0a, 0xc7, 0xfd, + 0x8a, 0xdf, 0x96, 0x5b, 0x0a, 0xed, 0x4f, 0x57, 0xa1, 0x50, 0xc2, 0x8a, + 0xd0, 0x6d, 0xc0, 0x3d, 0xfd, 0x75, 0x44, 0x3f, 0xde, 0xa5, 0x10, 0x9d, +}; +static const unsigned char kat1406_retbits[] = { + 0x45, 0xd8, 0xc6, 0x9c, 0x96, 0xee, 0x1d, 0x3c, 0xa7, 0x3f, 0xf8, 0x9d, + 0x79, 0x52, 0x4b, 0xc1, 0x18, 0xbf, 0x49, 0xe2, 0xae, 0x10, 0x73, 0x56, + 0xa2, 0x44, 0xcb, 0xde, 0xf9, 0x2c, 0xb7, 0x38, 0xec, 0xed, 0x64, 0xb9, + 0x95, 0x60, 0xb0, 0x3e, 0x8e, 0x6c, 0x60, 0x82, 0xe5, 0x4f, 0xa3, 0x79, + 0xa6, 0xac, 0xe7, 0xba, 0x05, 0xda, 0x18, 0x09, 0x4d, 0x6e, 0x46, 0x41, + 0x5e, 0x46, 0xc4, 0xd0, +}; +static const struct drbg_kat_no_reseed kat1406_t = { + 10, kat1406_entropyin, kat1406_nonce, kat1406_persstr, + kat1406_addin0, kat1406_addin1, kat1406_retbits +}; +static const struct drbg_kat kat1406 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1406_t +}; + +static const unsigned char kat1407_entropyin[] = { + 0x6f, 0xf2, 0xb3, 0x54, 0x7c, 0x02, 0x85, 0x8f, 0x94, 0xda, 0x9a, 0x07, + 0x57, 0x87, 0x76, 0x71, 0xd6, 0x8a, 0x9d, 0x91, 0x8a, 0x58, 0x0c, 0x9e, + 0xd4, 0x25, 0x99, 0xa7, 0xb5, 0xe9, 0x7e, 0x44, 0xe2, 0xca, 0x79, 0x5e, + 0x94, 0x4e, 0x51, 0xe0, 0x56, 0x5c, 0x77, 0xb9, 0x57, 0x84, 0x9f, 0x7d, +}; +static const unsigned char kat1407_nonce[] = {0}; +static const unsigned char kat1407_persstr[] = {0}; +static const unsigned char kat1407_addin0[] = { + 0x52, 0x7e, 0x2f, 0x26, 0x8a, 0xd3, 0xff, 0x9a, 0x68, 0x2e, 0xd6, 0x1e, + 0x6b, 0x24, 0x06, 0x01, 0x89, 0x70, 0x72, 0x3f, 0x2b, 0x9f, 0x01, 0x68, + 0x4b, 0xb0, 0x18, 0x12, 0x7e, 0xdd, 0x53, 0x96, 0xef, 0x2e, 0x0c, 0xea, + 0x5c, 0xbd, 0x04, 0x32, 0x2c, 0xdc, 0xb9, 0xa1, 0x99, 0xa1, 0xa9, 0x8a, +}; +static const unsigned char kat1407_addin1[] = { + 0xa8, 0x43, 0xcb, 0xd6, 0x8f, 0x92, 0x92, 0x5d, 0x31, 0x4c, 0x70, 0xcb, + 0x86, 0x05, 0xab, 0xb3, 0x4d, 0xc8, 0xa6, 0xe4, 0xae, 0xa1, 0x46, 0xdd, + 0x02, 0x94, 0xdd, 0x4d, 0xe7, 0x9b, 0x46, 0x76, 0x81, 0xe5, 0x21, 0x41, + 0x13, 0x79, 0xec, 0x9d, 0x1a, 0xc1, 0xc6, 0x68, 0xec, 0x06, 0x5e, 0xf6, +}; +static const unsigned char kat1407_retbits[] = { + 0xa8, 0xab, 0x4d, 0xb7, 0x57, 0xb2, 0x81, 0x43, 0xf7, 0x35, 0x8c, 0xd3, + 0x7c, 0x78, 0x9f, 0xca, 0x8d, 0xa5, 0x64, 0xfd, 0xd9, 0x32, 0x67, 0xad, + 0x55, 0x7e, 0xad, 0x34, 0xad, 0x71, 0xb2, 0xc7, 0x6c, 0xad, 0x69, 0x11, + 0x8b, 0x3f, 0x5b, 0x40, 0x3d, 0xf1, 0x92, 0x4e, 0x5c, 0x46, 0xd3, 0xb2, + 0x9f, 0x9c, 0xc8, 0x54, 0xab, 0x91, 0xdf, 0x0f, 0x68, 0xbc, 0xc1, 0xc4, + 0x42, 0xc9, 0x01, 0x02, +}; +static const struct drbg_kat_no_reseed kat1407_t = { + 11, kat1407_entropyin, kat1407_nonce, kat1407_persstr, + kat1407_addin0, kat1407_addin1, kat1407_retbits +}; +static const struct drbg_kat kat1407 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1407_t +}; + +static const unsigned char kat1408_entropyin[] = { + 0xde, 0x36, 0x68, 0x05, 0x14, 0x6d, 0x94, 0x30, 0x2a, 0xb6, 0x14, 0x60, + 0x28, 0xd6, 0x97, 0xb2, 0x92, 0x62, 0x3b, 0x15, 0x98, 0xb3, 0xc2, 0xd4, + 0x9e, 0xd6, 0xcb, 0xdf, 0x78, 0x8e, 0xb8, 0xc6, 0xcd, 0x98, 0x4f, 0x2b, + 0xb4, 0xfc, 0xb5, 0xd5, 0x0e, 0xf0, 0x23, 0x55, 0x05, 0x83, 0x0b, 0x85, +}; +static const unsigned char kat1408_nonce[] = {0}; +static const unsigned char kat1408_persstr[] = {0}; +static const unsigned char kat1408_addin0[] = { + 0xf6, 0xf9, 0x62, 0x5e, 0x71, 0x6c, 0xa2, 0x17, 0xcf, 0x9c, 0xaf, 0x8d, + 0x48, 0x55, 0xba, 0x49, 0x12, 0xcf, 0xf4, 0x9e, 0x17, 0xec, 0xe9, 0x9a, + 0xfe, 0xdc, 0x7d, 0xcb, 0xeb, 0x2a, 0x6e, 0x38, 0x6a, 0x80, 0x14, 0xb4, + 0x5a, 0xe0, 0xe3, 0xab, 0x26, 0x64, 0x77, 0x11, 0x46, 0x1e, 0xc8, 0x06, +}; +static const unsigned char kat1408_addin1[] = { + 0xdf, 0xd6, 0x65, 0x3f, 0xd0, 0x10, 0x8c, 0x4e, 0x46, 0xc4, 0xdc, 0x46, + 0x2f, 0xe9, 0x59, 0xb9, 0xa4, 0x21, 0x61, 0x75, 0x09, 0x10, 0x10, 0xce, + 0x46, 0x43, 0xa1, 0xed, 0x9d, 0x23, 0x22, 0x30, 0x54, 0x7d, 0xe9, 0x0f, + 0x73, 0xe2, 0x42, 0x73, 0x40, 0xe1, 0x26, 0x66, 0xfe, 0x38, 0x9e, 0xd4, +}; +static const unsigned char kat1408_retbits[] = { + 0x4a, 0x3e, 0xb3, 0xde, 0x53, 0x68, 0xc1, 0x8b, 0xa3, 0xe9, 0x58, 0x51, + 0x12, 0xd7, 0x73, 0x5c, 0xf2, 0x04, 0xe8, 0x1d, 0xa6, 0x28, 0x77, 0x75, + 0xdc, 0x7e, 0x56, 0xfd, 0x81, 0x4d, 0x85, 0xd8, 0xf4, 0xff, 0xe6, 0x51, + 0x4f, 0xcb, 0x47, 0x22, 0x0c, 0x95, 0x8f, 0x8f, 0x41, 0x5c, 0x77, 0x8e, + 0x2e, 0x44, 0xfe, 0xa9, 0x68, 0xec, 0xb0, 0x2a, 0xae, 0x47, 0xf0, 0x14, + 0x7b, 0x91, 0x40, 0xac, +}; +static const struct drbg_kat_no_reseed kat1408_t = { + 12, kat1408_entropyin, kat1408_nonce, kat1408_persstr, + kat1408_addin0, kat1408_addin1, kat1408_retbits +}; +static const struct drbg_kat kat1408 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1408_t +}; + +static const unsigned char kat1409_entropyin[] = { + 0xe5, 0xf6, 0x17, 0xe8, 0x77, 0x8f, 0x00, 0x76, 0x59, 0x8d, 0x52, 0x64, + 0x22, 0xb0, 0x95, 0xc3, 0xdf, 0x14, 0x08, 0x55, 0xf0, 0x87, 0xe3, 0x6d, + 0xdd, 0x5b, 0x76, 0x23, 0xed, 0x4a, 0x63, 0x5a, 0x7e, 0x19, 0xaf, 0xda, + 0xa2, 0xe7, 0xe5, 0x03, 0xc3, 0x0f, 0x71, 0x79, 0xc2, 0x79, 0xf0, 0x73, +}; +static const unsigned char kat1409_nonce[] = {0}; +static const unsigned char kat1409_persstr[] = {0}; +static const unsigned char kat1409_addin0[] = { + 0x65, 0x9b, 0xf1, 0xfe, 0x2f, 0xca, 0x26, 0x00, 0x5d, 0xcd, 0xcb, 0x25, + 0x33, 0xca, 0x9e, 0x10, 0x1f, 0x14, 0x0e, 0x2c, 0x08, 0x04, 0x22, 0xf9, + 0x44, 0x8a, 0xdc, 0x9e, 0x7a, 0x7a, 0x9a, 0xa0, 0x6b, 0xdb, 0xb0, 0x34, + 0xee, 0x66, 0xe9, 0xc2, 0x6e, 0xfb, 0x02, 0x09, 0x24, 0x31, 0xcf, 0x5e, +}; +static const unsigned char kat1409_addin1[] = { + 0xcd, 0xa0, 0xe4, 0xff, 0x69, 0xb9, 0xa2, 0xa8, 0xd5, 0x05, 0x64, 0x8a, + 0x60, 0x26, 0xda, 0x9c, 0xb1, 0xcb, 0xe9, 0xd0, 0xaf, 0x9b, 0xd4, 0x22, + 0xf2, 0xe5, 0xef, 0x8f, 0xe2, 0x85, 0x2d, 0xbf, 0x0a, 0xbf, 0x75, 0x74, + 0x95, 0x8d, 0x96, 0x74, 0x49, 0x47, 0xdd, 0xd5, 0xbd, 0x24, 0xaa, 0x95, +}; +static const unsigned char kat1409_retbits[] = { + 0x19, 0x89, 0xf0, 0x0f, 0x2a, 0xfb, 0xf4, 0x9b, 0xdd, 0xa1, 0x97, 0x33, + 0xc2, 0x94, 0x19, 0x6a, 0x41, 0x58, 0x74, 0xca, 0x12, 0xcb, 0x89, 0xd7, + 0xf5, 0xaa, 0xae, 0x66, 0xba, 0x6e, 0x9d, 0x5a, 0x8d, 0xf0, 0xea, 0x17, + 0xff, 0x8c, 0x30, 0x7f, 0xb6, 0xd1, 0x3d, 0x9e, 0x91, 0x30, 0x4a, 0x3d, + 0x89, 0xe9, 0x9b, 0xad, 0xeb, 0xb4, 0x43, 0x52, 0xa6, 0x17, 0x90, 0x39, + 0x82, 0x19, 0x78, 0x50, +}; +static const struct drbg_kat_no_reseed kat1409_t = { + 13, kat1409_entropyin, kat1409_nonce, kat1409_persstr, + kat1409_addin0, kat1409_addin1, kat1409_retbits +}; +static const struct drbg_kat kat1409 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1409_t +}; + +static const unsigned char kat1410_entropyin[] = { + 0x60, 0xc2, 0x47, 0xdd, 0x6d, 0x8a, 0x4c, 0xab, 0x04, 0xd6, 0x04, 0x5d, + 0x26, 0x55, 0x15, 0x3e, 0x82, 0x56, 0xa6, 0xfb, 0xb5, 0x2f, 0xaf, 0x60, + 0x51, 0x7b, 0xc9, 0xcd, 0x86, 0xaf, 0x8f, 0x6d, 0xd5, 0x53, 0x18, 0x14, + 0x22, 0xd2, 0x94, 0xbf, 0x4d, 0x70, 0x84, 0x11, 0x19, 0xa1, 0xc4, 0x58, +}; +static const unsigned char kat1410_nonce[] = {0}; +static const unsigned char kat1410_persstr[] = {0}; +static const unsigned char kat1410_addin0[] = { + 0xc8, 0x39, 0x97, 0x3b, 0x79, 0xc3, 0xee, 0xa5, 0xdb, 0x71, 0x07, 0xca, + 0x7c, 0xae, 0x1c, 0x01, 0x2c, 0xdd, 0x59, 0xa5, 0x0e, 0x58, 0xb7, 0x46, + 0x1e, 0xd7, 0x92, 0x11, 0x78, 0x37, 0x25, 0xe9, 0x55, 0x10, 0x4e, 0x30, + 0xa0, 0x04, 0x0d, 0xcc, 0x73, 0xd5, 0xe2, 0xb9, 0x7b, 0x4b, 0x8f, 0x84, +}; +static const unsigned char kat1410_addin1[] = { + 0x3c, 0xde, 0x5a, 0x2f, 0x6e, 0x19, 0xfb, 0x4a, 0x44, 0x93, 0x83, 0x00, + 0x16, 0xcd, 0x86, 0xaf, 0xcb, 0x7a, 0x8d, 0xb4, 0x9a, 0x2a, 0xbf, 0x60, + 0x77, 0xeb, 0xb5, 0x31, 0x4d, 0xd1, 0x2a, 0x2d, 0x1f, 0xe9, 0xd3, 0x60, + 0x1c, 0x12, 0x5c, 0x41, 0xc3, 0xe9, 0xaf, 0x46, 0x03, 0xee, 0x8f, 0x8b, +}; +static const unsigned char kat1410_retbits[] = { + 0xe6, 0x1a, 0x4d, 0x43, 0x9b, 0x4b, 0xb1, 0xcc, 0xdc, 0x81, 0x0e, 0xf7, + 0xa0, 0x01, 0x9e, 0x5e, 0x88, 0x32, 0x1a, 0xb6, 0x68, 0x7f, 0x65, 0x64, + 0xd5, 0xf7, 0x0c, 0x0a, 0xfb, 0x16, 0x33, 0xd5, 0x0d, 0xa6, 0x3d, 0x6d, + 0x1b, 0x19, 0x19, 0xb7, 0x24, 0xb5, 0x7e, 0xe9, 0x26, 0xd6, 0x3a, 0x80, + 0xac, 0x20, 0xf1, 0xff, 0x06, 0xc4, 0x93, 0x24, 0x56, 0xc7, 0x0e, 0x8b, + 0x64, 0xdb, 0x43, 0xf8, +}; +static const struct drbg_kat_no_reseed kat1410_t = { + 14, kat1410_entropyin, kat1410_nonce, kat1410_persstr, + kat1410_addin0, kat1410_addin1, kat1410_retbits +}; +static const struct drbg_kat kat1410 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat1410_t +}; + +static const unsigned char kat1411_entropyin[] = { + 0xbc, 0x87, 0x8e, 0x4f, 0xb5, 0x9b, 0xf4, 0x3c, 0xc7, 0xf8, 0x65, 0x25, + 0xa0, 0xdb, 0x68, 0x84, 0x5b, 0x88, 0xee, 0x48, 0x4b, 0x4b, 0x6e, 0x59, + 0xa4, 0xe0, 0x16, 0xac, 0x61, 0xcb, 0xf1, 0x54, 0x29, 0xdc, 0x50, 0x91, + 0x6e, 0x5b, 0xdb, 0x38, 0x4c, 0xc1, 0x7d, 0x19, 0xb7, 0xb6, 0xdf, 0xcb, +}; +static const unsigned char kat1411_nonce[] = {0}; +static const unsigned char kat1411_persstr[] = { + 0x92, 0xc5, 0x22, 0x1d, 0x5c, 0xcb, 0xc3, 0x9e, 0x4a, 0xd3, 0xa7, 0x9c, + 0x93, 0x62, 0x09, 0x18, 0x57, 0xa7, 0xad, 0x45, 0x69, 0x66, 0x0a, 0x78, + 0x6b, 0xda, 0xce, 0x18, 0xd5, 0x74, 0xd1, 0x8d, 0xfb, 0xa4, 0xcc, 0x10, + 0xf7, 0xa4, 0xc8, 0x22, 0x30, 0x08, 0x9b, 0xe7, 0xc0, 0xd8, 0x65, 0x7f, +}; +static const unsigned char kat1411_addin0[] = {0}; +static const unsigned char kat1411_addin1[] = {0}; +static const unsigned char kat1411_retbits[] = { + 0xd9, 0x46, 0x15, 0xf9, 0xb2, 0x3b, 0x17, 0x29, 0x3b, 0x9a, 0xe8, 0xe1, + 0x5f, 0x36, 0x3e, 0xc0, 0x7b, 0xfc, 0xce, 0x20, 0xd9, 0x18, 0x3c, 0x0c, + 0xa9, 0xbf, 0xd2, 0x5d, 0x67, 0xa8, 0x52, 0x03, 0x64, 0x51, 0x62, 0xad, + 0x91, 0x04, 0x55, 0x2e, 0x7c, 0xd1, 0xfb, 0x87, 0x13, 0xbd, 0xdd, 0x57, + 0x9b, 0x70, 0x5a, 0x80, 0x74, 0xa9, 0xaf, 0x93, 0x17, 0x19, 0x72, 0xc8, + 0x51, 0x22, 0x1f, 0x4d, +}; +static const struct drbg_kat_no_reseed kat1411_t = { + 0, kat1411_entropyin, kat1411_nonce, kat1411_persstr, + kat1411_addin0, kat1411_addin1, kat1411_retbits +}; +static const struct drbg_kat kat1411 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1411_t +}; + +static const unsigned char kat1412_entropyin[] = { + 0x30, 0x3d, 0x58, 0x96, 0xd6, 0x05, 0x26, 0xf7, 0xde, 0xcb, 0x2b, 0x77, + 0x6b, 0xd5, 0x8e, 0x5c, 0x2c, 0x5b, 0x89, 0x56, 0xfc, 0x29, 0xf6, 0x8a, + 0xec, 0xba, 0xf8, 0x48, 0xc9, 0x3a, 0xbb, 0x54, 0x31, 0x59, 0xa8, 0x7d, + 0x5f, 0x73, 0x30, 0x3a, 0x82, 0xd3, 0xa7, 0x34, 0xe3, 0x1d, 0x7c, 0x2b, +}; +static const unsigned char kat1412_nonce[] = {0}; +static const unsigned char kat1412_persstr[] = { + 0x0a, 0x66, 0xbb, 0xef, 0x02, 0x25, 0xa5, 0x5a, 0x61, 0x52, 0xd3, 0x6f, + 0x3a, 0x54, 0xe3, 0x42, 0x36, 0x79, 0x94, 0x20, 0xbc, 0x1c, 0xe1, 0xb6, + 0xf7, 0x32, 0x28, 0xa5, 0x7c, 0x9b, 0xca, 0x79, 0x2b, 0xb0, 0xd3, 0x0f, + 0x58, 0xb6, 0x04, 0x6b, 0xac, 0x73, 0xeb, 0xb5, 0xbe, 0x92, 0xd6, 0x09, +}; +static const unsigned char kat1412_addin0[] = {0}; +static const unsigned char kat1412_addin1[] = {0}; +static const unsigned char kat1412_retbits[] = { + 0x72, 0xcf, 0x7c, 0x85, 0xb9, 0x53, 0x1d, 0x6c, 0xa5, 0x03, 0x62, 0xbb, + 0x9b, 0xa6, 0xd6, 0xbe, 0x72, 0x3a, 0x68, 0x8d, 0x8a, 0xbc, 0x87, 0x17, + 0xab, 0x5c, 0xf9, 0x4b, 0x1d, 0xbe, 0xf0, 0x8f, 0x4b, 0x50, 0xee, 0x11, + 0xaf, 0x4b, 0x80, 0x3a, 0xac, 0xc3, 0x9e, 0x44, 0x23, 0x89, 0x92, 0x92, + 0xa3, 0x99, 0x38, 0x4d, 0x11, 0x8f, 0xe0, 0xc4, 0xe9, 0x54, 0x98, 0x1c, + 0xff, 0xd4, 0xac, 0x44, +}; +static const struct drbg_kat_no_reseed kat1412_t = { + 1, kat1412_entropyin, kat1412_nonce, kat1412_persstr, + kat1412_addin0, kat1412_addin1, kat1412_retbits +}; +static const struct drbg_kat kat1412 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1412_t +}; + +static const unsigned char kat1413_entropyin[] = { + 0x39, 0xbc, 0xf4, 0xd3, 0x13, 0x5e, 0x1d, 0x80, 0xd0, 0x87, 0xa1, 0x1d, + 0x7b, 0x9b, 0xbe, 0x02, 0xab, 0xf2, 0x53, 0x10, 0x12, 0xe5, 0x5f, 0xd1, + 0x71, 0x01, 0xdc, 0x2f, 0x58, 0x61, 0x34, 0xf5, 0x53, 0x98, 0xba, 0xe3, + 0x9b, 0x1b, 0xdf, 0x87, 0x3d, 0x2c, 0x42, 0xe3, 0x4b, 0x59, 0xd7, 0x31, +}; +static const unsigned char kat1413_nonce[] = {0}; +static const unsigned char kat1413_persstr[] = { + 0x1c, 0xc5, 0x46, 0xdb, 0x68, 0x3b, 0xc3, 0xd9, 0xa4, 0xcf, 0x21, 0x4e, + 0x90, 0x14, 0x3b, 0x74, 0x95, 0xda, 0x36, 0x11, 0x4e, 0x22, 0x3f, 0x13, + 0x14, 0x90, 0x09, 0x58, 0x4a, 0x07, 0x0b, 0x24, 0x71, 0xae, 0x7a, 0x7c, + 0x16, 0xf4, 0x97, 0xa0, 0x4b, 0x06, 0xfa, 0xbf, 0x69, 0xf4, 0x87, 0x8c, +}; +static const unsigned char kat1413_addin0[] = {0}; +static const unsigned char kat1413_addin1[] = {0}; +static const unsigned char kat1413_retbits[] = { + 0xaa, 0x7e, 0x7c, 0x9d, 0x69, 0x1e, 0xc5, 0x2a, 0xb0, 0x3b, 0x60, 0x24, + 0xa3, 0xbc, 0xd7, 0x4f, 0xe8, 0x28, 0x98, 0x72, 0x89, 0xbe, 0xa1, 0x33, + 0x09, 0xb3, 0x7b, 0xd6, 0x4a, 0x48, 0x16, 0xcf, 0x18, 0x39, 0x2c, 0xe4, + 0x93, 0x83, 0x02, 0x9a, 0x46, 0x40, 0xd8, 0xed, 0xd4, 0x79, 0xd0, 0x4e, + 0x32, 0x8f, 0xfe, 0x33, 0xf6, 0x3d, 0xaa, 0x40, 0x7b, 0x15, 0x34, 0xa6, + 0x7a, 0xb3, 0x9b, 0x15, +}; +static const struct drbg_kat_no_reseed kat1413_t = { + 2, kat1413_entropyin, kat1413_nonce, kat1413_persstr, + kat1413_addin0, kat1413_addin1, kat1413_retbits +}; +static const struct drbg_kat kat1413 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1413_t +}; + +static const unsigned char kat1414_entropyin[] = { + 0xa9, 0x4e, 0x58, 0x43, 0x4c, 0x8a, 0xe4, 0xa0, 0xdb, 0x42, 0xf4, 0xc4, + 0xe8, 0x27, 0xd3, 0xad, 0x4d, 0xfd, 0xc6, 0xaf, 0xa9, 0x43, 0x39, 0xa4, + 0xc8, 0x1a, 0x55, 0xef, 0x38, 0xaf, 0x7b, 0x20, 0xc2, 0x34, 0x3f, 0xee, + 0xc4, 0xf9, 0xed, 0xd9, 0xfd, 0x5b, 0x3f, 0x9b, 0x3d, 0xc4, 0x98, 0xd7, +}; +static const unsigned char kat1414_nonce[] = {0}; +static const unsigned char kat1414_persstr[] = { + 0x80, 0xfe, 0x06, 0x54, 0x18, 0x94, 0x20, 0x96, 0xeb, 0x9b, 0xa9, 0x43, + 0x48, 0xfc, 0x64, 0xfb, 0x03, 0x40, 0xae, 0x8a, 0x21, 0x50, 0x4f, 0xb5, + 0x05, 0x2d, 0x1a, 0xbb, 0xff, 0x35, 0x17, 0x2b, 0xdc, 0x95, 0x94, 0x7d, + 0xc6, 0x5b, 0xaa, 0x79, 0x2f, 0x58, 0xad, 0x88, 0x13, 0xe5, 0xbe, 0x1a, +}; +static const unsigned char kat1414_addin0[] = {0}; +static const unsigned char kat1414_addin1[] = {0}; +static const unsigned char kat1414_retbits[] = { + 0x95, 0x37, 0x68, 0x99, 0xe2, 0x57, 0xd3, 0xf8, 0x1a, 0x03, 0x4f, 0x1a, + 0x2d, 0x9b, 0xc7, 0x73, 0x55, 0xdd, 0xbb, 0x8e, 0x62, 0xdf, 0xe2, 0x74, + 0x50, 0x1e, 0x4d, 0xa7, 0x1f, 0x55, 0x93, 0xad, 0x59, 0x63, 0xb4, 0x30, + 0x3f, 0x29, 0x00, 0xd3, 0xc8, 0x60, 0x8e, 0x9c, 0x49, 0xe7, 0xcb, 0x61, + 0x8c, 0xa6, 0x80, 0xc6, 0xfb, 0xe9, 0x1e, 0xf0, 0x01, 0x46, 0xc2, 0x60, + 0x35, 0xd8, 0x87, 0x5c, +}; +static const struct drbg_kat_no_reseed kat1414_t = { + 3, kat1414_entropyin, kat1414_nonce, kat1414_persstr, + kat1414_addin0, kat1414_addin1, kat1414_retbits +}; +static const struct drbg_kat kat1414 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1414_t +}; + +static const unsigned char kat1415_entropyin[] = { + 0x37, 0xda, 0xc4, 0xa5, 0x1c, 0x64, 0x2f, 0x08, 0x39, 0x20, 0xfd, 0x50, + 0x42, 0xf8, 0x3b, 0x4c, 0xf3, 0xdc, 0xdf, 0xa9, 0xe2, 0xcb, 0x92, 0x54, + 0x4d, 0x88, 0xa8, 0x7b, 0x4f, 0x8e, 0xb6, 0x91, 0xd8, 0xe5, 0x3a, 0xc0, + 0xc0, 0x7a, 0x67, 0x91, 0xa9, 0x44, 0xb0, 0x2e, 0x43, 0x3a, 0xf9, 0xdf, +}; +static const unsigned char kat1415_nonce[] = {0}; +static const unsigned char kat1415_persstr[] = { + 0x9e, 0x30, 0xeb, 0x98, 0x70, 0xfa, 0xe6, 0x70, 0x9a, 0xa4, 0xdd, 0xe6, + 0x3c, 0x2b, 0xdf, 0x57, 0x8c, 0xa0, 0xc3, 0x4c, 0xae, 0x99, 0x43, 0x6f, + 0x80, 0xf2, 0x6c, 0x31, 0xb4, 0x72, 0xeb, 0x54, 0x01, 0xb2, 0xeb, 0x9f, + 0xfb, 0x01, 0x3d, 0x65, 0x59, 0xc9, 0x81, 0x9e, 0x96, 0xde, 0x47, 0xa3, +}; +static const unsigned char kat1415_addin0[] = {0}; +static const unsigned char kat1415_addin1[] = {0}; +static const unsigned char kat1415_retbits[] = { + 0xb6, 0xb3, 0x2d, 0xe5, 0x24, 0xce, 0x8a, 0x90, 0xe9, 0xeb, 0xe9, 0x21, + 0xfa, 0x88, 0x34, 0x50, 0x1d, 0x51, 0xed, 0x40, 0xd8, 0x1c, 0x28, 0x82, + 0x44, 0x94, 0x8b, 0xc1, 0xbd, 0x6e, 0x76, 0x1b, 0xb3, 0x9c, 0xc6, 0xd0, + 0x71, 0x15, 0x79, 0xc1, 0x44, 0xca, 0x3d, 0x5e, 0x1d, 0x2d, 0x23, 0x67, + 0xc5, 0xb8, 0x42, 0x04, 0x81, 0x0f, 0xb4, 0x85, 0x59, 0x07, 0x7f, 0xbb, + 0x99, 0x61, 0x2d, 0x67, +}; +static const struct drbg_kat_no_reseed kat1415_t = { + 4, kat1415_entropyin, kat1415_nonce, kat1415_persstr, + kat1415_addin0, kat1415_addin1, kat1415_retbits +}; +static const struct drbg_kat kat1415 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1415_t +}; + +static const unsigned char kat1416_entropyin[] = { + 0x59, 0xf2, 0x5f, 0xc1, 0xf5, 0x44, 0x95, 0x22, 0x59, 0x48, 0xa1, 0xee, + 0x19, 0x2f, 0xb0, 0x71, 0x49, 0xef, 0x61, 0xfd, 0x36, 0x88, 0x6b, 0x8d, + 0x59, 0x04, 0xf2, 0x40, 0xeb, 0x15, 0x7e, 0xbc, 0x44, 0xf0, 0xc7, 0x1f, + 0xcf, 0xb0, 0xd5, 0xc6, 0x35, 0x38, 0xd0, 0x57, 0xf2, 0x93, 0x69, 0x70, +}; +static const unsigned char kat1416_nonce[] = {0}; +static const unsigned char kat1416_persstr[] = { + 0xe4, 0xd9, 0x7c, 0x71, 0x30, 0xdb, 0x6c, 0xfc, 0xea, 0xdb, 0x31, 0x34, + 0x74, 0x8c, 0x92, 0x1d, 0x4b, 0x44, 0x43, 0xcb, 0x97, 0x69, 0xab, 0x9e, + 0x8c, 0x30, 0x1f, 0x6a, 0xa0, 0xa1, 0x49, 0xd4, 0x43, 0xd7, 0x55, 0x6c, + 0xf7, 0xf3, 0xb5, 0x7a, 0x29, 0x80, 0x60, 0xa8, 0x88, 0x7b, 0xef, 0xe7, +}; +static const unsigned char kat1416_addin0[] = {0}; +static const unsigned char kat1416_addin1[] = {0}; +static const unsigned char kat1416_retbits[] = { + 0x44, 0x67, 0x3a, 0x86, 0xb1, 0x43, 0x22, 0xcc, 0x02, 0x88, 0x4b, 0x0a, + 0x7c, 0xee, 0xb7, 0x40, 0x03, 0x25, 0xe0, 0x05, 0xbc, 0xb1, 0xa8, 0x84, + 0xc4, 0x6f, 0x44, 0x73, 0x30, 0x1e, 0xf5, 0xec, 0xce, 0x27, 0x55, 0xe5, + 0x0b, 0x00, 0x57, 0x88, 0x3f, 0x74, 0x89, 0xd7, 0xfe, 0x3a, 0x21, 0x59, + 0x86, 0xfd, 0x8d, 0x09, 0x62, 0xae, 0xeb, 0xf0, 0xcc, 0xac, 0xc3, 0x0c, + 0x46, 0xbc, 0x29, 0x1c, +}; +static const struct drbg_kat_no_reseed kat1416_t = { + 5, kat1416_entropyin, kat1416_nonce, kat1416_persstr, + kat1416_addin0, kat1416_addin1, kat1416_retbits +}; +static const struct drbg_kat kat1416 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1416_t +}; + +static const unsigned char kat1417_entropyin[] = { + 0x8d, 0x0e, 0xc8, 0x74, 0xea, 0xe0, 0x08, 0xc7, 0xeb, 0x97, 0x89, 0x3a, + 0xcd, 0x39, 0x64, 0xf9, 0xcd, 0xaa, 0x11, 0x2f, 0x12, 0xf7, 0x57, 0x8a, + 0xe7, 0x73, 0xfd, 0x5e, 0x82, 0x2e, 0xd5, 0x18, 0xdf, 0x68, 0xcc, 0x65, + 0x91, 0xd3, 0xee, 0x60, 0xa3, 0xd7, 0x40, 0x88, 0x8e, 0x83, 0xf5, 0x66, +}; +static const unsigned char kat1417_nonce[] = {0}; +static const unsigned char kat1417_persstr[] = { + 0xa0, 0x95, 0xe5, 0x2c, 0x8b, 0x40, 0xe7, 0x59, 0x58, 0x79, 0x23, 0x1e, + 0x1b, 0x31, 0x97, 0x5a, 0xf4, 0x98, 0x7d, 0x29, 0xc0, 0x72, 0xe4, 0x98, + 0x98, 0xcd, 0x01, 0x9e, 0x6f, 0x69, 0xee, 0xba, 0x10, 0x0a, 0x61, 0x9f, + 0xd9, 0x56, 0xc6, 0x76, 0xdf, 0xee, 0x8e, 0x30, 0xec, 0x85, 0xff, 0x21, +}; +static const unsigned char kat1417_addin0[] = {0}; +static const unsigned char kat1417_addin1[] = {0}; +static const unsigned char kat1417_retbits[] = { + 0x92, 0xe1, 0xc3, 0xa8, 0x01, 0xef, 0xd1, 0x3b, 0xcd, 0xbd, 0x60, 0xd4, + 0xc4, 0xc9, 0xf9, 0xd6, 0xc2, 0x31, 0x99, 0x9a, 0xe0, 0xc2, 0x73, 0x7a, + 0x97, 0x1d, 0x6b, 0x2d, 0x2b, 0xce, 0x9a, 0xfd, 0x82, 0xa7, 0x4a, 0xb0, + 0x14, 0x11, 0xd9, 0x7f, 0x2b, 0xb5, 0x9a, 0xd6, 0x6f, 0x14, 0xde, 0x25, + 0x6b, 0xdc, 0x12, 0x46, 0x5b, 0x95, 0x30, 0x6a, 0x83, 0xce, 0xfe, 0x95, + 0xa0, 0xeb, 0xe1, 0xd9, +}; +static const struct drbg_kat_no_reseed kat1417_t = { + 6, kat1417_entropyin, kat1417_nonce, kat1417_persstr, + kat1417_addin0, kat1417_addin1, kat1417_retbits +}; +static const struct drbg_kat kat1417 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1417_t +}; + +static const unsigned char kat1418_entropyin[] = { + 0xf0, 0x3a, 0xa7, 0x12, 0xde, 0xd0, 0x60, 0xc9, 0x18, 0xae, 0xc2, 0x58, + 0xcd, 0x32, 0x9d, 0xd6, 0x51, 0x1b, 0x25, 0x15, 0x90, 0x2a, 0xd4, 0xb9, + 0x80, 0xf0, 0xc3, 0xde, 0x5c, 0x45, 0x3c, 0x19, 0x6d, 0x55, 0xde, 0x00, + 0xe5, 0xa9, 0x02, 0x83, 0x06, 0x4b, 0x02, 0xc5, 0xa9, 0xda, 0xc5, 0xcc, +}; +static const unsigned char kat1418_nonce[] = {0}; +static const unsigned char kat1418_persstr[] = { + 0xad, 0x6a, 0x88, 0xc5, 0x8a, 0xf7, 0x80, 0x3e, 0x1b, 0x3f, 0x41, 0x56, + 0x8b, 0xd0, 0x0f, 0x69, 0x99, 0xc5, 0x2d, 0x70, 0x6a, 0x45, 0xf0, 0x34, + 0x50, 0xd9, 0xfa, 0xd8, 0xc6, 0xd5, 0x41, 0x12, 0xb7, 0x2d, 0xbd, 0xc9, + 0x92, 0x46, 0x98, 0x7e, 0x82, 0x3c, 0x19, 0x92, 0x63, 0x77, 0x87, 0x9d, +}; +static const unsigned char kat1418_addin0[] = {0}; +static const unsigned char kat1418_addin1[] = {0}; +static const unsigned char kat1418_retbits[] = { + 0x9a, 0x62, 0x4c, 0x85, 0x9e, 0x78, 0xa5, 0x4f, 0x82, 0xf0, 0x37, 0x1c, + 0xbc, 0x09, 0x5d, 0x7f, 0x1b, 0x9f, 0xbb, 0x9f, 0xf8, 0x7d, 0xf9, 0xff, + 0x7b, 0x94, 0x99, 0xbc, 0xf8, 0x9b, 0x6e, 0x37, 0x6b, 0xa1, 0xee, 0x77, + 0x69, 0xd3, 0x3c, 0x6c, 0x59, 0x88, 0x57, 0x52, 0xea, 0x46, 0xa9, 0xd0, + 0x2e, 0xda, 0xf2, 0x2e, 0x30, 0x06, 0xd5, 0xc7, 0x82, 0x24, 0x43, 0x07, + 0x8e, 0xbd, 0xb7, 0x93, +}; +static const struct drbg_kat_no_reseed kat1418_t = { + 7, kat1418_entropyin, kat1418_nonce, kat1418_persstr, + kat1418_addin0, kat1418_addin1, kat1418_retbits +}; +static const struct drbg_kat kat1418 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1418_t +}; + +static const unsigned char kat1419_entropyin[] = { + 0xb6, 0xf3, 0x71, 0xbb, 0x2b, 0x8b, 0x13, 0xb8, 0x5a, 0xdf, 0x5f, 0xeb, + 0x05, 0x19, 0xf4, 0x01, 0x39, 0xfd, 0x22, 0x94, 0x86, 0xfb, 0xe5, 0x79, + 0x53, 0xe3, 0xac, 0x54, 0x1c, 0xb1, 0xbc, 0x85, 0x3a, 0x51, 0xad, 0x15, + 0x7a, 0xbd, 0x27, 0xaf, 0x38, 0xf6, 0x2e, 0x1c, 0xcb, 0x27, 0x12, 0x58, +}; +static const unsigned char kat1419_nonce[] = {0}; +static const unsigned char kat1419_persstr[] = { + 0x7e, 0x56, 0x47, 0x3a, 0xac, 0xd1, 0x3c, 0xc7, 0x30, 0xce, 0xb5, 0x98, + 0xa0, 0xe4, 0xae, 0x73, 0x1f, 0xc4, 0xbb, 0xa5, 0x8e, 0x1e, 0x2b, 0xa2, + 0x16, 0xaa, 0x84, 0x6c, 0x83, 0xeb, 0x90, 0xc2, 0x14, 0xb0, 0x2a, 0x1a, + 0x08, 0xc2, 0x68, 0xb5, 0xea, 0xe8, 0xa4, 0x7d, 0x28, 0x78, 0x83, 0x3f, +}; +static const unsigned char kat1419_addin0[] = {0}; +static const unsigned char kat1419_addin1[] = {0}; +static const unsigned char kat1419_retbits[] = { + 0x6c, 0xae, 0xd1, 0x6e, 0x8a, 0x03, 0x4b, 0x14, 0x78, 0x5d, 0xf2, 0xa1, + 0xab, 0x95, 0xcc, 0x48, 0xfc, 0x61, 0xf5, 0x47, 0x9d, 0x73, 0xac, 0x0c, + 0x92, 0x38, 0xc9, 0xab, 0xcc, 0x26, 0x70, 0x5e, 0xb6, 0x00, 0x16, 0x4d, + 0xac, 0x29, 0xe9, 0xc6, 0xba, 0x2c, 0xb3, 0xc4, 0x90, 0x6e, 0x76, 0xe5, + 0x28, 0xf9, 0x5a, 0x51, 0x2c, 0x8f, 0xda, 0x76, 0xfe, 0x2d, 0x77, 0xc5, + 0x5f, 0x02, 0x59, 0xb2, +}; +static const struct drbg_kat_no_reseed kat1419_t = { + 8, kat1419_entropyin, kat1419_nonce, kat1419_persstr, + kat1419_addin0, kat1419_addin1, kat1419_retbits +}; +static const struct drbg_kat kat1419 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1419_t +}; + +static const unsigned char kat1420_entropyin[] = { + 0xf7, 0x50, 0x15, 0xae, 0x8c, 0x9e, 0xf8, 0xca, 0x5f, 0x82, 0xd9, 0xf3, + 0x14, 0x77, 0xa9, 0x3b, 0x0c, 0x25, 0x93, 0x00, 0xe4, 0x78, 0x9b, 0x12, + 0x16, 0xb7, 0x9d, 0x33, 0xe3, 0x01, 0xfa, 0xdc, 0x10, 0x20, 0x12, 0xdf, + 0x02, 0xf7, 0xa7, 0xad, 0xf5, 0x1c, 0x20, 0xf9, 0x92, 0x11, 0x94, 0x59, +}; +static const unsigned char kat1420_nonce[] = {0}; +static const unsigned char kat1420_persstr[] = { + 0x2e, 0x6a, 0x2b, 0x62, 0x7d, 0xc6, 0xda, 0x85, 0x21, 0x46, 0x97, 0xb8, + 0x41, 0x3d, 0x01, 0xde, 0xe9, 0x1d, 0x32, 0x5f, 0x59, 0x18, 0x1f, 0xd0, + 0x2b, 0xdf, 0x1a, 0xc2, 0xd9, 0x6e, 0x83, 0xb3, 0x53, 0x32, 0x82, 0x1e, + 0x9f, 0x4f, 0x7c, 0x9b, 0x63, 0x99, 0xf2, 0x02, 0x60, 0xa5, 0xd0, 0xa9, +}; +static const unsigned char kat1420_addin0[] = {0}; +static const unsigned char kat1420_addin1[] = {0}; +static const unsigned char kat1420_retbits[] = { + 0x7e, 0x4b, 0x05, 0x96, 0x87, 0xbc, 0x22, 0x00, 0x3c, 0xd0, 0xaa, 0x93, + 0x6d, 0x30, 0x5c, 0xe0, 0x9e, 0xad, 0xe4, 0xf3, 0xa5, 0x4e, 0xc9, 0x52, + 0x3b, 0x8b, 0xfc, 0x68, 0x32, 0xd2, 0xc0, 0x10, 0x5c, 0xa2, 0x65, 0x2c, + 0x74, 0x98, 0x08, 0x06, 0x9c, 0x11, 0xab, 0xa3, 0xbf, 0x39, 0x20, 0x57, + 0x61, 0x6d, 0x48, 0x36, 0x5d, 0x15, 0xb7, 0xcc, 0x42, 0x89, 0xfa, 0xb9, + 0xf9, 0x36, 0x1e, 0xd2, +}; +static const struct drbg_kat_no_reseed kat1420_t = { + 9, kat1420_entropyin, kat1420_nonce, kat1420_persstr, + kat1420_addin0, kat1420_addin1, kat1420_retbits +}; +static const struct drbg_kat kat1420 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1420_t +}; + +static const unsigned char kat1421_entropyin[] = { + 0x78, 0x14, 0x71, 0xb8, 0xd6, 0xd6, 0x6e, 0xdb, 0x77, 0x8b, 0x54, 0x74, + 0x2c, 0xc9, 0x04, 0x07, 0xa9, 0xa3, 0x25, 0xd9, 0x02, 0xa5, 0x96, 0xc3, + 0x70, 0x80, 0xcf, 0xbe, 0xc6, 0x57, 0x52, 0x59, 0x87, 0x04, 0xc4, 0x5d, + 0x9e, 0x75, 0x7e, 0xda, 0x57, 0xe8, 0x81, 0x9c, 0x04, 0x7b, 0x36, 0xc7, +}; +static const unsigned char kat1421_nonce[] = {0}; +static const unsigned char kat1421_persstr[] = { + 0xc3, 0x58, 0xa3, 0xc4, 0xaa, 0x33, 0x84, 0xe0, 0x53, 0xbf, 0xa4, 0xa3, + 0xb3, 0x32, 0xdf, 0xd1, 0xdf, 0x79, 0xf3, 0x41, 0xa3, 0xe5, 0x9f, 0x0e, + 0x50, 0x15, 0xe8, 0x87, 0x1f, 0xe7, 0x4f, 0xcf, 0x9b, 0x4a, 0xc9, 0xfd, + 0x54, 0x56, 0xf9, 0x72, 0xea, 0x24, 0xaa, 0x19, 0xcf, 0x59, 0xce, 0xde, +}; +static const unsigned char kat1421_addin0[] = {0}; +static const unsigned char kat1421_addin1[] = {0}; +static const unsigned char kat1421_retbits[] = { + 0xbf, 0x12, 0xdf, 0xf4, 0xe3, 0xab, 0x3b, 0x09, 0x41, 0x65, 0x80, 0x3d, + 0xa0, 0xc1, 0xa8, 0xde, 0x2a, 0xce, 0x25, 0x4a, 0x1d, 0x65, 0xe4, 0xbb, + 0x8f, 0xf3, 0x9d, 0xb9, 0x32, 0x7b, 0xf1, 0xeb, 0xcd, 0xe3, 0x24, 0xd9, + 0x51, 0x27, 0x26, 0xd5, 0x19, 0x63, 0x4f, 0x8d, 0x72, 0x4e, 0xd5, 0xa7, + 0x93, 0x5d, 0xb5, 0x09, 0xba, 0x03, 0x72, 0x00, 0x34, 0x7c, 0xfb, 0x7c, + 0x00, 0xb0, 0x46, 0xd7, +}; +static const struct drbg_kat_no_reseed kat1421_t = { + 10, kat1421_entropyin, kat1421_nonce, kat1421_persstr, + kat1421_addin0, kat1421_addin1, kat1421_retbits +}; +static const struct drbg_kat kat1421 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1421_t +}; + +static const unsigned char kat1422_entropyin[] = { + 0xe0, 0x6d, 0xd4, 0x40, 0xdb, 0x6e, 0x8c, 0x16, 0x01, 0x49, 0xc9, 0xe3, + 0x00, 0x29, 0x89, 0x5f, 0x91, 0x27, 0x20, 0x1b, 0xe7, 0xdc, 0xbe, 0x33, + 0xa8, 0x45, 0xfe, 0x1e, 0x4c, 0x3d, 0x84, 0xab, 0x26, 0xb1, 0x9c, 0xb6, + 0x46, 0x6b, 0x89, 0x45, 0xca, 0xce, 0xa0, 0x9c, 0xd6, 0xd6, 0x99, 0xd9, +}; +static const unsigned char kat1422_nonce[] = {0}; +static const unsigned char kat1422_persstr[] = { + 0x5b, 0x49, 0x42, 0xfe, 0x42, 0x63, 0xbf, 0x21, 0x65, 0x9e, 0x85, 0xbd, + 0x1a, 0xc4, 0xbb, 0xb5, 0x0b, 0x94, 0x1d, 0xfc, 0xed, 0x77, 0xf4, 0x15, + 0x1b, 0x8e, 0x7b, 0x52, 0x16, 0xe8, 0x21, 0xb5, 0x4c, 0x91, 0xa8, 0xe8, + 0x3d, 0x9f, 0xc4, 0x75, 0x80, 0x99, 0xc8, 0xdb, 0x34, 0xd6, 0xc0, 0xfe, +}; +static const unsigned char kat1422_addin0[] = {0}; +static const unsigned char kat1422_addin1[] = {0}; +static const unsigned char kat1422_retbits[] = { + 0xe6, 0xc6, 0xac, 0x76, 0xf5, 0x02, 0xf0, 0x25, 0xdd, 0x26, 0x16, 0x83, + 0x69, 0xf0, 0xf7, 0xe6, 0xf4, 0x05, 0x21, 0x3a, 0xa0, 0x2f, 0x6d, 0xb3, + 0xb3, 0x82, 0x3c, 0x18, 0x13, 0xc8, 0xb6, 0xee, 0xd9, 0x5f, 0x71, 0xf4, + 0xa7, 0x1c, 0xb8, 0x27, 0x0f, 0xfa, 0x8a, 0xc3, 0xce, 0x53, 0x66, 0xd7, + 0x15, 0x67, 0x86, 0x45, 0x65, 0xee, 0xfb, 0xa7, 0x12, 0x0e, 0x2e, 0xdc, + 0xc3, 0xb6, 0xec, 0x80, +}; +static const struct drbg_kat_no_reseed kat1422_t = { + 11, kat1422_entropyin, kat1422_nonce, kat1422_persstr, + kat1422_addin0, kat1422_addin1, kat1422_retbits +}; +static const struct drbg_kat kat1422 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1422_t +}; + +static const unsigned char kat1423_entropyin[] = { + 0x69, 0xe7, 0xd2, 0xb5, 0xc0, 0x32, 0x43, 0xc7, 0x52, 0xed, 0x07, 0xae, + 0xb0, 0x6f, 0xdd, 0x3c, 0x8c, 0xbe, 0x05, 0xb0, 0xb4, 0x2c, 0x20, 0x59, + 0xe4, 0xae, 0x01, 0x24, 0x1d, 0xa7, 0x7d, 0x17, 0x89, 0x0f, 0x0f, 0xa5, + 0x6c, 0x79, 0x40, 0xf6, 0x79, 0x94, 0x17, 0x38, 0x0a, 0x22, 0x88, 0xf0, +}; +static const unsigned char kat1423_nonce[] = {0}; +static const unsigned char kat1423_persstr[] = { + 0xfd, 0x7a, 0x2d, 0x8b, 0xae, 0x61, 0x0a, 0x2b, 0xfb, 0xf2, 0x06, 0xc9, + 0x01, 0x96, 0x01, 0xbc, 0x02, 0x75, 0x80, 0xde, 0x8f, 0x85, 0xf6, 0x02, + 0x46, 0xb5, 0x12, 0x6b, 0xd5, 0xe3, 0x6f, 0x30, 0xd7, 0xf4, 0xe9, 0x0d, + 0x0c, 0x46, 0xcd, 0x3a, 0x63, 0xf9, 0xd2, 0xed, 0xcf, 0x67, 0x19, 0x32, +}; +static const unsigned char kat1423_addin0[] = {0}; +static const unsigned char kat1423_addin1[] = {0}; +static const unsigned char kat1423_retbits[] = { + 0x75, 0xfc, 0x75, 0x72, 0x93, 0x35, 0x1c, 0x54, 0x5b, 0x1f, 0x73, 0x0f, + 0xd4, 0xec, 0x82, 0x06, 0x1d, 0x85, 0xe8, 0x0f, 0x8b, 0x77, 0x12, 0x2a, + 0xdb, 0x53, 0x72, 0x2b, 0x50, 0x9d, 0x7f, 0x27, 0xae, 0xbc, 0x8a, 0x5b, + 0x15, 0x45, 0xb6, 0xe6, 0xbc, 0xef, 0x2c, 0x9c, 0x28, 0x0f, 0xb3, 0x07, + 0xdc, 0x5a, 0xf0, 0x9b, 0x63, 0xbc, 0x86, 0x59, 0xeb, 0x6c, 0x90, 0x55, + 0x07, 0xa2, 0x0e, 0x57, +}; +static const struct drbg_kat_no_reseed kat1423_t = { + 12, kat1423_entropyin, kat1423_nonce, kat1423_persstr, + kat1423_addin0, kat1423_addin1, kat1423_retbits +}; +static const struct drbg_kat kat1423 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1423_t +}; + +static const unsigned char kat1424_entropyin[] = { + 0x32, 0x2a, 0x46, 0xb1, 0x03, 0xd6, 0xd1, 0x76, 0x5c, 0x90, 0x82, 0x9a, + 0xd0, 0x6c, 0x8b, 0x80, 0xe3, 0x66, 0xb4, 0x34, 0xc2, 0x92, 0x76, 0xde, + 0x3c, 0x60, 0x8d, 0xab, 0x02, 0xed, 0x03, 0x0c, 0x95, 0xa6, 0xf5, 0x79, + 0xca, 0x98, 0xc0, 0xf3, 0xf9, 0x77, 0x1c, 0xba, 0x09, 0x9b, 0xfe, 0x29, +}; +static const unsigned char kat1424_nonce[] = {0}; +static const unsigned char kat1424_persstr[] = { + 0x3c, 0x86, 0xe0, 0xab, 0x0c, 0x20, 0xc6, 0x76, 0x55, 0x95, 0xce, 0x82, + 0xcc, 0x54, 0xf3, 0x69, 0x25, 0x80, 0x74, 0xab, 0x2d, 0x4b, 0x8b, 0x5d, + 0x9f, 0xca, 0xb7, 0xdc, 0x38, 0xfa, 0x88, 0x66, 0x07, 0x3a, 0xf3, 0xa7, + 0x33, 0x54, 0x6f, 0x68, 0x5c, 0x68, 0xee, 0x68, 0x15, 0x49, 0x26, 0x91, +}; +static const unsigned char kat1424_addin0[] = {0}; +static const unsigned char kat1424_addin1[] = {0}; +static const unsigned char kat1424_retbits[] = { + 0x6c, 0x99, 0x54, 0x63, 0xad, 0xdd, 0xec, 0x73, 0xb6, 0xc0, 0x3e, 0xec, + 0xac, 0x07, 0xdb, 0x82, 0x42, 0x56, 0xa7, 0x91, 0xa1, 0xd0, 0xf4, 0xd7, + 0x86, 0xe9, 0x49, 0xf0, 0xd1, 0x98, 0x7e, 0xa4, 0xae, 0xdf, 0xd3, 0xbd, + 0x06, 0xb1, 0x62, 0x2c, 0xc8, 0x5a, 0x23, 0x70, 0xcd, 0x30, 0x55, 0x3e, + 0xe3, 0x54, 0x3d, 0x38, 0xd1, 0xc8, 0x7c, 0xea, 0x73, 0x1e, 0x68, 0x72, + 0xe7, 0x1f, 0x9d, 0xdb, +}; +static const struct drbg_kat_no_reseed kat1424_t = { + 13, kat1424_entropyin, kat1424_nonce, kat1424_persstr, + kat1424_addin0, kat1424_addin1, kat1424_retbits +}; +static const struct drbg_kat kat1424 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1424_t +}; + +static const unsigned char kat1425_entropyin[] = { + 0x7c, 0xe9, 0x97, 0x7c, 0xb8, 0x06, 0x34, 0xf0, 0x50, 0x3d, 0xee, 0xe2, + 0xaf, 0xb8, 0x23, 0x0c, 0x57, 0x40, 0x8c, 0x83, 0xbf, 0x5b, 0xf4, 0x1d, + 0x2d, 0x62, 0xd4, 0xda, 0xa4, 0xc4, 0x92, 0xfa, 0x60, 0xbe, 0x92, 0x74, + 0xf5, 0x39, 0xef, 0x37, 0xad, 0x3b, 0x83, 0xbd, 0xac, 0xdf, 0x70, 0x2c, +}; +static const unsigned char kat1425_nonce[] = {0}; +static const unsigned char kat1425_persstr[] = { + 0xd8, 0x62, 0x03, 0x9c, 0xc2, 0xc2, 0x97, 0xd6, 0x35, 0x29, 0xa3, 0x3f, + 0x38, 0xa6, 0xe5, 0x66, 0x0a, 0x06, 0x91, 0x9a, 0x04, 0x4c, 0x7e, 0x74, + 0x6f, 0xf2, 0x38, 0xb6, 0x53, 0x21, 0xd2, 0xa2, 0x33, 0xa9, 0xa9, 0xc7, + 0xb3, 0x53, 0x4c, 0x93, 0x2a, 0x88, 0x81, 0xad, 0x38, 0xd3, 0x1f, 0x65, +}; +static const unsigned char kat1425_addin0[] = {0}; +static const unsigned char kat1425_addin1[] = {0}; +static const unsigned char kat1425_retbits[] = { + 0xf1, 0x7b, 0x61, 0xf1, 0xc3, 0xca, 0xae, 0x33, 0x11, 0x60, 0xb7, 0x14, + 0x50, 0x4b, 0x9c, 0x05, 0x8a, 0xc3, 0x45, 0xf0, 0x7a, 0x5a, 0x26, 0x03, + 0x4d, 0xbf, 0xd7, 0xfe, 0xf5, 0x01, 0x3b, 0x52, 0xca, 0xe3, 0xe2, 0xcd, + 0x35, 0x70, 0x95, 0xb6, 0x23, 0x06, 0x5e, 0xc5, 0xcb, 0x55, 0x70, 0x01, + 0x88, 0x7b, 0x17, 0xf9, 0xb6, 0xf9, 0x47, 0x6d, 0x54, 0x49, 0xac, 0x7d, + 0x81, 0xd5, 0xab, 0xd3, +}; +static const struct drbg_kat_no_reseed kat1425_t = { + 14, kat1425_entropyin, kat1425_nonce, kat1425_persstr, + kat1425_addin0, kat1425_addin1, kat1425_retbits +}; +static const struct drbg_kat kat1425 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat1425_t +}; + +static const unsigned char kat1426_entropyin[] = { + 0x9c, 0x2a, 0xa3, 0x03, 0x49, 0xa0, 0x25, 0x3b, 0x3a, 0x97, 0xcc, 0xf9, + 0x24, 0xf8, 0xbc, 0xaf, 0xe1, 0xe1, 0x36, 0x46, 0x00, 0xb4, 0x90, 0x5a, + 0x4d, 0x9a, 0x0d, 0x54, 0xf7, 0xf5, 0x6e, 0xbd, 0x00, 0x07, 0x9f, 0xcc, + 0x12, 0xf8, 0x3d, 0xfa, 0xc7, 0x1a, 0xa1, 0xf2, 0xc8, 0x47, 0x12, 0x7e, +}; +static const unsigned char kat1426_nonce[] = {0}; +static const unsigned char kat1426_persstr[] = { + 0x57, 0x16, 0x4c, 0xea, 0x95, 0x82, 0x23, 0x96, 0x4e, 0x94, 0xb3, 0x59, + 0x6c, 0x1a, 0xfc, 0x06, 0x81, 0x8d, 0xfe, 0x90, 0x84, 0x11, 0x32, 0xc3, + 0x27, 0x34, 0x2b, 0xbb, 0x65, 0x4b, 0x74, 0xf2, 0x0e, 0x5f, 0x50, 0x65, + 0x83, 0x24, 0x06, 0x12, 0x05, 0xa8, 0xee, 0xa2, 0x1d, 0xdd, 0xcf, 0x48, +}; +static const unsigned char kat1426_addin0[] = { + 0x41, 0x25, 0xbe, 0xc3, 0x17, 0x43, 0x14, 0xc6, 0x03, 0xcf, 0x05, 0x2a, + 0xf4, 0x7b, 0xeb, 0xf6, 0x43, 0x3a, 0x17, 0xcd, 0x8a, 0x8f, 0xcb, 0x18, + 0x6f, 0x14, 0xcb, 0xd5, 0x76, 0x1c, 0x09, 0x21, 0x6d, 0x48, 0xb4, 0x1d, + 0x4f, 0xb1, 0x74, 0x81, 0xaf, 0xaf, 0x4d, 0xbc, 0x08, 0x68, 0x1a, 0xe9, +}; +static const unsigned char kat1426_addin1[] = { + 0xda, 0xbf, 0x91, 0x35, 0xae, 0x5d, 0x14, 0x28, 0x0f, 0x2e, 0x26, 0x9e, + 0xa8, 0x3f, 0x44, 0xdc, 0x2e, 0xb4, 0xd7, 0x61, 0x3e, 0x59, 0x64, 0xcb, + 0x1d, 0x49, 0x9f, 0x7b, 0x5b, 0xdc, 0xe4, 0x54, 0x02, 0x54, 0x6e, 0x86, + 0xa7, 0x86, 0x80, 0xbc, 0xd8, 0xce, 0x1f, 0xe9, 0xd7, 0x1e, 0xe7, 0x58, +}; +static const unsigned char kat1426_retbits[] = { + 0xec, 0x2e, 0x92, 0x97, 0x6c, 0x00, 0xb2, 0x36, 0x48, 0x38, 0xbd, 0x6c, + 0xae, 0x8f, 0x4c, 0xc6, 0x19, 0x4f, 0x39, 0xd7, 0x22, 0xd8, 0x8d, 0x99, + 0x0b, 0x32, 0xe5, 0x95, 0xaa, 0x82, 0xde, 0x66, 0x15, 0x34, 0xa0, 0x24, + 0x8d, 0xe6, 0xda, 0xf4, 0xdc, 0x36, 0x98, 0xb7, 0xa0, 0xee, 0xf0, 0x2d, + 0xbc, 0x9e, 0x33, 0x1c, 0x7c, 0xf4, 0xc0, 0x29, 0xf5, 0x5c, 0xa7, 0xab, + 0xeb, 0xd0, 0x62, 0xdb, +}; +static const struct drbg_kat_no_reseed kat1426_t = { + 0, kat1426_entropyin, kat1426_nonce, kat1426_persstr, + kat1426_addin0, kat1426_addin1, kat1426_retbits +}; +static const struct drbg_kat kat1426 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1426_t +}; + +static const unsigned char kat1427_entropyin[] = { + 0xa2, 0x86, 0x7d, 0xd3, 0xbc, 0xcf, 0x77, 0x59, 0x3d, 0x05, 0xcd, 0x04, + 0xd7, 0x87, 0x70, 0x03, 0xf6, 0x57, 0x1c, 0x6c, 0x93, 0x6e, 0x89, 0x48, + 0x6d, 0xb0, 0x8e, 0x81, 0xa4, 0x05, 0x99, 0x8c, 0x16, 0xae, 0xb4, 0x3c, + 0xd2, 0x28, 0x5c, 0x76, 0xf5, 0xd0, 0x5c, 0x6c, 0x00, 0xd8, 0x92, 0xda, +}; +static const unsigned char kat1427_nonce[] = {0}; +static const unsigned char kat1427_persstr[] = { + 0xce, 0xdb, 0x0c, 0x88, 0xce, 0x2d, 0xe1, 0x7c, 0x5a, 0xde, 0x8c, 0x4b, + 0x05, 0x22, 0x20, 0x0b, 0x24, 0x8e, 0x47, 0xde, 0xb2, 0x19, 0x0e, 0xda, + 0xe3, 0xff, 0xe1, 0xbf, 0xee, 0xb3, 0xd5, 0x68, 0x46, 0x68, 0xbb, 0xa1, + 0x6a, 0x32, 0xa1, 0xaa, 0xb9, 0xdc, 0x46, 0xa9, 0x88, 0xb5, 0x31, 0x68, +}; +static const unsigned char kat1427_addin0[] = { + 0x17, 0x5f, 0x33, 0x73, 0xee, 0xf6, 0xc4, 0xe6, 0xa3, 0xa0, 0xfe, 0xd7, + 0x2b, 0x67, 0xcd, 0xc5, 0x64, 0xc3, 0xda, 0x9c, 0xe5, 0x42, 0xcb, 0xff, + 0x68, 0x7a, 0xa8, 0x2a, 0xeb, 0x98, 0xd7, 0xd1, 0x17, 0x9d, 0xde, 0xd2, + 0xeb, 0x8e, 0x33, 0x93, 0x89, 0xa6, 0xc2, 0x4c, 0x15, 0xc7, 0x26, 0xeb, +}; +static const unsigned char kat1427_addin1[] = { + 0xfd, 0xdd, 0xca, 0x75, 0x5a, 0x66, 0xc7, 0xb6, 0x40, 0x5b, 0xf8, 0x8d, + 0xbf, 0xcc, 0x19, 0x9e, 0x98, 0xd1, 0xfe, 0xe9, 0x04, 0xb8, 0xb3, 0xad, + 0xb1, 0xf7, 0x52, 0xa2, 0x06, 0xaf, 0x3d, 0x82, 0xd1, 0xe2, 0x7d, 0x99, + 0xb6, 0xdf, 0x80, 0xce, 0x24, 0x32, 0x8d, 0x02, 0xa5, 0x75, 0x93, 0x2f, +}; +static const unsigned char kat1427_retbits[] = { + 0x75, 0x57, 0xd1, 0x03, 0x3e, 0x82, 0x69, 0xa4, 0x64, 0x86, 0xf9, 0x1e, + 0xd0, 0x62, 0x2d, 0x2f, 0xde, 0xf5, 0xba, 0xc0, 0x8b, 0x66, 0x3d, 0x13, + 0x67, 0x39, 0x26, 0x2a, 0xb1, 0x4b, 0x25, 0x4a, 0x86, 0x00, 0xfb, 0xfe, + 0xa2, 0x82, 0x9e, 0x86, 0x67, 0xaf, 0x3c, 0x79, 0x0a, 0x61, 0xb8, 0xae, + 0x26, 0x3d, 0x6e, 0xd0, 0x24, 0x8c, 0xe1, 0xdd, 0x1b, 0x33, 0x76, 0x2d, + 0xde, 0x51, 0x9d, 0xc8, +}; +static const struct drbg_kat_no_reseed kat1427_t = { + 1, kat1427_entropyin, kat1427_nonce, kat1427_persstr, + kat1427_addin0, kat1427_addin1, kat1427_retbits +}; +static const struct drbg_kat kat1427 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1427_t +}; + +static const unsigned char kat1428_entropyin[] = { + 0xe6, 0xa0, 0xc6, 0xb9, 0xc5, 0x46, 0xf7, 0xf7, 0xbd, 0x5c, 0x7e, 0x5d, + 0xeb, 0x3e, 0x86, 0xf6, 0xd7, 0x27, 0x8b, 0x79, 0x99, 0x93, 0x0d, 0x58, + 0x54, 0xf9, 0xab, 0xa5, 0x56, 0xad, 0xd7, 0x5d, 0xc2, 0xa0, 0xc8, 0x01, + 0xe1, 0x4f, 0xf2, 0xbc, 0xe5, 0xc4, 0x26, 0x35, 0x43, 0xb6, 0x42, 0x0d, +}; +static const unsigned char kat1428_nonce[] = {0}; +static const unsigned char kat1428_persstr[] = { + 0x33, 0xb7, 0xe9, 0x00, 0x5d, 0x32, 0x83, 0x5d, 0x73, 0x3d, 0xc7, 0x66, + 0x68, 0x31, 0xc3, 0x72, 0x12, 0x74, 0x48, 0x2b, 0x4d, 0x3a, 0xc4, 0x38, + 0xd0, 0xd7, 0xca, 0x8e, 0x87, 0x46, 0x19, 0x9e, 0x11, 0x2f, 0xd9, 0xd2, + 0x3e, 0xa1, 0xa7, 0x4a, 0x20, 0x1e, 0x8b, 0x0d, 0xe1, 0xc3, 0x82, 0xd4, +}; +static const unsigned char kat1428_addin0[] = { + 0x4d, 0xe2, 0x9f, 0xc6, 0x08, 0x3b, 0xa3, 0x00, 0xd7, 0xd5, 0x3e, 0x32, + 0xfa, 0xae, 0xd8, 0xae, 0x82, 0xea, 0x42, 0x1f, 0x88, 0x6f, 0x3d, 0xaf, + 0x54, 0xa3, 0x32, 0xdf, 0x5e, 0x51, 0xf9, 0x65, 0x87, 0xe1, 0x4b, 0xff, + 0x81, 0x93, 0x0f, 0x20, 0xd9, 0x5d, 0xde, 0x89, 0x94, 0xe2, 0x22, 0x39, +}; +static const unsigned char kat1428_addin1[] = { + 0xa2, 0x53, 0x9b, 0x0f, 0x07, 0x50, 0xa5, 0x0e, 0xf4, 0x36, 0x07, 0x84, + 0x6f, 0x1a, 0x2c, 0x1f, 0x88, 0x8b, 0x87, 0xdc, 0xec, 0x07, 0x22, 0x43, + 0xce, 0x3d, 0x74, 0xe1, 0xac, 0x95, 0x4c, 0x6a, 0x12, 0xcf, 0xe7, 0x43, + 0x8e, 0x4f, 0x39, 0x28, 0x84, 0xb6, 0x86, 0x3d, 0x68, 0xc5, 0x91, 0x76, +}; +static const unsigned char kat1428_retbits[] = { + 0x6f, 0xde, 0x60, 0x4d, 0x9e, 0x8b, 0x86, 0x6c, 0x76, 0x36, 0xb4, 0xdc, + 0x40, 0x1f, 0x99, 0xf5, 0xf7, 0x42, 0x97, 0x64, 0x5d, 0xf0, 0xe6, 0x1d, + 0xf7, 0x31, 0x1b, 0xcf, 0xd7, 0x40, 0xe0, 0xfb, 0xec, 0xe8, 0xc6, 0x82, + 0x96, 0xaa, 0x26, 0xec, 0x53, 0x7c, 0x82, 0x85, 0x82, 0x23, 0x02, 0xfc, + 0xcb, 0xce, 0x05, 0xfc, 0x80, 0x81, 0x78, 0xa3, 0x9b, 0x2f, 0xf4, 0x8b, + 0xd6, 0xb0, 0x36, 0x41, +}; +static const struct drbg_kat_no_reseed kat1428_t = { + 2, kat1428_entropyin, kat1428_nonce, kat1428_persstr, + kat1428_addin0, kat1428_addin1, kat1428_retbits +}; +static const struct drbg_kat kat1428 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1428_t +}; + +static const unsigned char kat1429_entropyin[] = { + 0xb4, 0x16, 0xd3, 0x75, 0xcc, 0xb7, 0x91, 0xc1, 0x67, 0xd8, 0xd7, 0xf9, + 0xbb, 0x8f, 0xdb, 0xdc, 0xed, 0xc0, 0x01, 0xa1, 0x75, 0x51, 0xa3, 0x9f, + 0x2a, 0x4d, 0x0a, 0xad, 0xd1, 0x3b, 0x3d, 0xc8, 0xcb, 0x93, 0x77, 0x00, + 0x60, 0xd6, 0xcb, 0x3b, 0xf2, 0x34, 0x21, 0xff, 0x0e, 0x34, 0x5a, 0xf4, +}; +static const unsigned char kat1429_nonce[] = {0}; +static const unsigned char kat1429_persstr[] = { + 0x35, 0xb7, 0x7c, 0x86, 0x3c, 0xb8, 0x78, 0x58, 0xa8, 0xd1, 0x2a, 0x81, + 0xd6, 0x9e, 0x03, 0xbc, 0x20, 0x5b, 0xcd, 0x9f, 0x32, 0xdb, 0x58, 0xfb, + 0x7b, 0xa6, 0x53, 0xca, 0xfa, 0x12, 0x20, 0x68, 0x22, 0x5a, 0xed, 0xc0, + 0xba, 0x12, 0x51, 0x25, 0xaf, 0x81, 0xf0, 0x08, 0x46, 0x8a, 0x05, 0x22, +}; +static const unsigned char kat1429_addin0[] = { + 0x52, 0x0c, 0x5f, 0x1b, 0x3c, 0x73, 0x6b, 0x83, 0xe9, 0xd5, 0xfd, 0x78, + 0xce, 0xb4, 0xe4, 0x4b, 0xa1, 0xd0, 0x7a, 0xea, 0x39, 0x58, 0x63, 0x14, + 0xc3, 0xac, 0x7d, 0xd1, 0x18, 0x13, 0xc5, 0x79, 0x8e, 0x2c, 0xce, 0xa8, + 0xd3, 0xb4, 0xcf, 0x40, 0xea, 0xa2, 0x54, 0x66, 0x04, 0x4a, 0xb9, 0x04, +}; +static const unsigned char kat1429_addin1[] = { + 0x28, 0xe7, 0x31, 0x3d, 0x63, 0xb9, 0xd4, 0x66, 0x69, 0x75, 0xd5, 0xd3, + 0xc0, 0xe7, 0x10, 0xd2, 0x47, 0xe4, 0x30, 0x2d, 0x7d, 0x01, 0x76, 0x29, + 0x37, 0xa0, 0x10, 0x98, 0x9a, 0xd3, 0xe4, 0x39, 0x44, 0x21, 0xa4, 0xa3, + 0x0c, 0xa3, 0x42, 0x31, 0xaf, 0x95, 0x65, 0x38, 0xd3, 0x02, 0x57, 0x2b, +}; +static const unsigned char kat1429_retbits[] = { + 0x6d, 0x8d, 0xae, 0x54, 0x89, 0x03, 0xcf, 0x1f, 0x8d, 0xc2, 0x05, 0x57, + 0x25, 0xc9, 0x61, 0x51, 0x61, 0xef, 0x7e, 0x84, 0x6f, 0xd8, 0x78, 0x24, + 0xf7, 0xff, 0xc1, 0x72, 0xc2, 0xaa, 0x20, 0xba, 0x8c, 0xfe, 0x40, 0x86, + 0xd4, 0xd7, 0x7d, 0x4c, 0x6b, 0x92, 0x51, 0x6b, 0x59, 0x76, 0x91, 0x62, + 0x72, 0x17, 0x62, 0x65, 0xc7, 0x75, 0xce, 0xb0, 0xfc, 0x14, 0x2e, 0x6e, + 0x84, 0xdb, 0xe7, 0x60, +}; +static const struct drbg_kat_no_reseed kat1429_t = { + 3, kat1429_entropyin, kat1429_nonce, kat1429_persstr, + kat1429_addin0, kat1429_addin1, kat1429_retbits +}; +static const struct drbg_kat kat1429 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1429_t +}; + +static const unsigned char kat1430_entropyin[] = { + 0x1e, 0xb8, 0x9e, 0x39, 0x3b, 0x55, 0x75, 0xe9, 0x6e, 0x14, 0xb9, 0x0c, + 0x77, 0x34, 0x97, 0xbd, 0x57, 0x61, 0xb4, 0x89, 0x83, 0xb9, 0xf2, 0x5e, + 0x77, 0x87, 0x0c, 0x04, 0xf8, 0xe5, 0xaf, 0x2e, 0x3b, 0x3d, 0xc3, 0x06, + 0x06, 0x73, 0x44, 0xb9, 0x8e, 0xee, 0x51, 0x0b, 0xa4, 0x25, 0x16, 0x41, +}; +static const unsigned char kat1430_nonce[] = {0}; +static const unsigned char kat1430_persstr[] = { + 0x3e, 0x54, 0x1e, 0xcc, 0x77, 0x50, 0xd0, 0x22, 0xe5, 0x47, 0xa3, 0x8b, + 0x22, 0xbd, 0x35, 0xd3, 0xd0, 0x08, 0x82, 0xd9, 0x7c, 0xc2, 0x88, 0x6f, + 0x51, 0x62, 0xc5, 0xee, 0x49, 0xa9, 0x5f, 0x93, 0x47, 0xf8, 0x05, 0xc6, + 0xb5, 0xb8, 0x1d, 0xb4, 0xc0, 0xaf, 0x0b, 0x19, 0xf0, 0x33, 0xfd, 0x5e, +}; +static const unsigned char kat1430_addin0[] = { + 0xd6, 0xf9, 0xda, 0x8e, 0x38, 0xe9, 0x62, 0x2f, 0x3e, 0x4d, 0x9c, 0x73, + 0xe5, 0x06, 0x85, 0x81, 0x1c, 0xb7, 0xe8, 0x7f, 0x9d, 0x71, 0xe7, 0xb9, + 0x59, 0xe3, 0x98, 0x6c, 0xa0, 0x2c, 0x74, 0x88, 0x7f, 0xf0, 0xdc, 0xfd, + 0x49, 0x6d, 0xfe, 0x3a, 0xab, 0x63, 0x63, 0x77, 0xe3, 0x39, 0x09, 0x10, +}; +static const unsigned char kat1430_addin1[] = { + 0xb1, 0x93, 0x2a, 0xc6, 0xc0, 0xbb, 0x26, 0xe3, 0x6e, 0x2a, 0xef, 0x89, + 0x8d, 0xb3, 0xf6, 0x3a, 0xd7, 0x2a, 0x4a, 0xb8, 0x2f, 0x43, 0x3b, 0x69, + 0x21, 0xf6, 0xec, 0x0c, 0xbb, 0x1b, 0x20, 0xba, 0xeb, 0xd6, 0xeb, 0x24, + 0x69, 0xba, 0x48, 0x7d, 0xea, 0xec, 0x51, 0x08, 0x2d, 0x06, 0xb1, 0x69, +}; +static const unsigned char kat1430_retbits[] = { + 0x47, 0x0e, 0x8f, 0x1f, 0x67, 0xc3, 0x12, 0xdd, 0x8e, 0x62, 0xf1, 0x86, + 0x51, 0x1f, 0x9d, 0x78, 0xf3, 0x8c, 0x6f, 0xa6, 0x2a, 0xae, 0x07, 0x4b, + 0x1e, 0xe1, 0x8b, 0x43, 0x84, 0x30, 0xf0, 0x1c, 0xab, 0x31, 0x38, 0x34, + 0xe4, 0xe4, 0xc1, 0xc8, 0xd5, 0xf5, 0xd0, 0x45, 0x03, 0xa2, 0x7c, 0xbe, + 0x1b, 0x86, 0x20, 0xd6, 0x00, 0x42, 0x49, 0x2f, 0x90, 0xd5, 0x98, 0xb1, + 0x22, 0x70, 0xef, 0x0f, +}; +static const struct drbg_kat_no_reseed kat1430_t = { + 4, kat1430_entropyin, kat1430_nonce, kat1430_persstr, + kat1430_addin0, kat1430_addin1, kat1430_retbits +}; +static const struct drbg_kat kat1430 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1430_t +}; + +static const unsigned char kat1431_entropyin[] = { + 0xd8, 0x3a, 0x62, 0x4c, 0x5d, 0x62, 0x8d, 0xe8, 0x3e, 0x80, 0xe6, 0x63, + 0x10, 0x0e, 0x2c, 0x9e, 0x46, 0x2a, 0x87, 0x5c, 0xa3, 0x40, 0xa3, 0xcc, + 0x5f, 0x5f, 0x9c, 0xa4, 0x01, 0x78, 0x07, 0x78, 0x28, 0x8f, 0x67, 0x48, + 0x82, 0xa6, 0x8e, 0xbf, 0x40, 0xa2, 0x93, 0x08, 0x6f, 0xc6, 0xa4, 0x3d, +}; +static const unsigned char kat1431_nonce[] = {0}; +static const unsigned char kat1431_persstr[] = { + 0xba, 0x87, 0x04, 0xa5, 0x4e, 0x24, 0x76, 0x79, 0xa5, 0xbd, 0xb7, 0x0d, + 0x3b, 0x29, 0xe5, 0x8f, 0x44, 0x20, 0x77, 0x35, 0x52, 0xcf, 0xc9, 0x9e, + 0x04, 0x1a, 0x86, 0x2d, 0x12, 0xea, 0x92, 0x9a, 0xd4, 0x4c, 0x16, 0x09, + 0xcf, 0xa2, 0x48, 0x74, 0x94, 0xd5, 0x5a, 0xf2, 0x20, 0xe9, 0x5a, 0x9a, +}; +static const unsigned char kat1431_addin0[] = { + 0xfe, 0x69, 0x35, 0x5e, 0x0e, 0x4d, 0x9b, 0xd8, 0x5a, 0x93, 0xfb, 0xfc, + 0x6f, 0xce, 0x30, 0x55, 0x1e, 0x31, 0xff, 0xa8, 0xd4, 0x66, 0x81, 0x26, + 0xf3, 0x75, 0x47, 0xec, 0xca, 0xb4, 0x06, 0x4a, 0x02, 0xa5, 0xdc, 0xc8, + 0xf5, 0xbb, 0x07, 0xcd, 0x4d, 0x64, 0x6c, 0xcc, 0xd8, 0x34, 0x23, 0x5e, +}; +static const unsigned char kat1431_addin1[] = { + 0xa6, 0xde, 0xd7, 0x59, 0x23, 0x89, 0x68, 0x48, 0x43, 0xd5, 0xcf, 0xff, + 0x28, 0xd2, 0xbd, 0xe9, 0x13, 0xef, 0x68, 0x62, 0x12, 0xe0, 0xf5, 0x4d, + 0x7b, 0x7d, 0x90, 0x73, 0x63, 0x96, 0x7a, 0x55, 0x52, 0x3c, 0x3b, 0x15, + 0x27, 0xb1, 0x15, 0x7c, 0xe9, 0x12, 0xb6, 0x63, 0x12, 0xeb, 0x46, 0x97, +}; +static const unsigned char kat1431_retbits[] = { + 0x0b, 0xca, 0x25, 0x98, 0xd8, 0xb0, 0xce, 0x06, 0xc3, 0x6f, 0xee, 0xf8, + 0xf9, 0xa5, 0x68, 0xbe, 0x89, 0xeb, 0xad, 0x5e, 0x1d, 0xf2, 0x0e, 0x7a, + 0x02, 0x34, 0x09, 0xc8, 0xa0, 0x29, 0xc4, 0x2b, 0x6e, 0x15, 0xb0, 0x24, + 0x47, 0x24, 0x45, 0xc3, 0xeb, 0x7a, 0x0c, 0x8c, 0x50, 0xf7, 0x22, 0x9b, + 0x9d, 0x76, 0xb8, 0x60, 0x9b, 0xf4, 0xa3, 0x56, 0x59, 0x47, 0x5c, 0xb3, + 0x00, 0x80, 0xb4, 0x59, +}; +static const struct drbg_kat_no_reseed kat1431_t = { + 5, kat1431_entropyin, kat1431_nonce, kat1431_persstr, + kat1431_addin0, kat1431_addin1, kat1431_retbits +}; +static const struct drbg_kat kat1431 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1431_t +}; + +static const unsigned char kat1432_entropyin[] = { + 0x94, 0x57, 0xd6, 0x03, 0x0d, 0xe6, 0xae, 0x6d, 0x3a, 0xc1, 0xf6, 0x3b, + 0xb7, 0x09, 0x4c, 0x4f, 0xfc, 0xb3, 0x3d, 0x71, 0x78, 0xa4, 0xba, 0xbf, + 0xf5, 0x7d, 0x54, 0x9a, 0x58, 0xb6, 0xfd, 0x4f, 0x8b, 0x6b, 0x1c, 0xac, + 0x51, 0x85, 0x9f, 0x17, 0x1f, 0xd6, 0x2b, 0x76, 0xe6, 0x3e, 0xbc, 0xf4, +}; +static const unsigned char kat1432_nonce[] = {0}; +static const unsigned char kat1432_persstr[] = { + 0x62, 0x44, 0xe0, 0x33, 0xb0, 0x3f, 0x7b, 0xfa, 0xdc, 0x50, 0xf2, 0x93, + 0x73, 0x03, 0x3d, 0x87, 0x3e, 0x55, 0xf2, 0xbb, 0x06, 0x92, 0x17, 0xde, + 0x4d, 0x51, 0xf5, 0x08, 0x98, 0x15, 0xf1, 0x4f, 0x1e, 0x00, 0x9f, 0xec, + 0x55, 0xb7, 0x2e, 0x06, 0xf2, 0xb2, 0xff, 0xa8, 0x7e, 0x10, 0x17, 0x4f, +}; +static const unsigned char kat1432_addin0[] = { + 0x92, 0xf7, 0xbd, 0x2b, 0xe6, 0x76, 0xcf, 0x3e, 0x3e, 0x3a, 0x7f, 0x9f, + 0xe2, 0x07, 0xa3, 0x1b, 0xa6, 0xad, 0x98, 0x3d, 0x06, 0x5d, 0x68, 0xa8, + 0xef, 0x5e, 0x79, 0x98, 0x17, 0x64, 0x9d, 0x8d, 0x47, 0x5a, 0x2f, 0xad, + 0x2b, 0xf9, 0x0d, 0xc2, 0x54, 0x21, 0x61, 0xa8, 0x67, 0xa7, 0x1a, 0xe0, +}; +static const unsigned char kat1432_addin1[] = { + 0x0a, 0x6e, 0x31, 0x6a, 0x18, 0xc5, 0x6d, 0x0f, 0xca, 0x17, 0x29, 0x8b, + 0xc5, 0xcd, 0xc7, 0xba, 0xb3, 0x46, 0x4a, 0x08, 0x50, 0xb1, 0x41, 0x98, + 0xa7, 0x1c, 0x44, 0x91, 0xab, 0x36, 0xf5, 0x07, 0xf9, 0x4c, 0xda, 0x0f, + 0x07, 0x78, 0xf8, 0x6a, 0x87, 0xb7, 0x19, 0xc9, 0x60, 0xf9, 0xb1, 0x0a, +}; +static const unsigned char kat1432_retbits[] = { + 0x49, 0x1f, 0x2f, 0x91, 0x81, 0x50, 0x51, 0xc7, 0xdf, 0xc6, 0xf8, 0xc3, + 0x6d, 0x3c, 0x9a, 0x44, 0x3d, 0x9e, 0x54, 0x89, 0x79, 0x88, 0x79, 0xb0, + 0x65, 0x85, 0x93, 0x90, 0x11, 0x0e, 0x65, 0xc0, 0x5b, 0xe1, 0x2b, 0xd9, + 0x5e, 0x45, 0xb2, 0x10, 0x30, 0x7d, 0x51, 0x4d, 0xa2, 0x1d, 0x66, 0x68, + 0xac, 0x82, 0x96, 0x80, 0x88, 0x8c, 0x2f, 0xac, 0x12, 0x77, 0x61, 0xb7, + 0xfb, 0x57, 0x96, 0xad, +}; +static const struct drbg_kat_no_reseed kat1432_t = { + 6, kat1432_entropyin, kat1432_nonce, kat1432_persstr, + kat1432_addin0, kat1432_addin1, kat1432_retbits +}; +static const struct drbg_kat kat1432 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1432_t +}; + +static const unsigned char kat1433_entropyin[] = { + 0x6b, 0x8a, 0x85, 0xd0, 0xa9, 0xe6, 0xd9, 0x0c, 0x61, 0xfb, 0x20, 0xbf, + 0xd0, 0xb2, 0x8a, 0xbc, 0xa2, 0xe5, 0x2d, 0x34, 0x96, 0x67, 0x57, 0xeb, + 0xbc, 0xb8, 0x39, 0xee, 0x27, 0x0d, 0xc2, 0xb0, 0x99, 0x94, 0x16, 0x6b, + 0x59, 0x9a, 0xa4, 0x2b, 0x09, 0xa1, 0x9b, 0x71, 0x72, 0x14, 0x62, 0xa0, +}; +static const unsigned char kat1433_nonce[] = {0}; +static const unsigned char kat1433_persstr[] = { + 0x40, 0x7c, 0xd2, 0x57, 0xf6, 0x68, 0x4a, 0x87, 0x57, 0x1a, 0x31, 0xb9, + 0x89, 0x4c, 0x7c, 0xe5, 0x4f, 0xe0, 0x10, 0x51, 0x61, 0xe5, 0x2b, 0x02, + 0x32, 0xd8, 0xb2, 0x3a, 0x4b, 0xeb, 0x74, 0xa8, 0x1d, 0xac, 0xe4, 0xbe, + 0xb4, 0x36, 0x2b, 0xf4, 0x96, 0xe7, 0xa6, 0xe6, 0x77, 0x6b, 0x0f, 0x8e, +}; +static const unsigned char kat1433_addin0[] = { + 0x83, 0x52, 0xbc, 0xda, 0x2c, 0xea, 0xb1, 0xdc, 0x83, 0x6e, 0xb4, 0x51, + 0x87, 0x1f, 0xcd, 0xb1, 0x4c, 0x82, 0xe3, 0x25, 0xa7, 0x34, 0xac, 0x54, + 0xc9, 0x74, 0x1a, 0xa7, 0x89, 0x48, 0xf6, 0x31, 0xff, 0xe7, 0x58, 0x05, + 0xb8, 0xa4, 0xda, 0x6c, 0xc9, 0xae, 0xca, 0x8d, 0x27, 0xd1, 0x36, 0x07, +}; +static const unsigned char kat1433_addin1[] = { + 0xa9, 0xdc, 0x73, 0xf7, 0x29, 0x91, 0x81, 0x10, 0x45, 0xaf, 0x83, 0x47, + 0x07, 0x8f, 0x27, 0xcc, 0xe0, 0x29, 0x7a, 0x93, 0x43, 0x23, 0xde, 0xe6, + 0xcd, 0x9d, 0x06, 0xb0, 0x02, 0x51, 0x2a, 0xef, 0x9a, 0xc0, 0x62, 0xe8, + 0x77, 0x0e, 0x7a, 0xa7, 0x43, 0x6a, 0x55, 0xfc, 0xee, 0x00, 0xb9, 0x77, +}; +static const unsigned char kat1433_retbits[] = { + 0x15, 0x10, 0xe2, 0x4c, 0xd1, 0x69, 0x48, 0x70, 0x4e, 0x3e, 0x32, 0x50, + 0x0f, 0x3e, 0x0b, 0x70, 0x6d, 0x16, 0xa6, 0x8f, 0xb5, 0x2f, 0x33, 0x29, + 0x94, 0x28, 0x06, 0x88, 0x63, 0x60, 0xa0, 0xb3, 0x7f, 0x7a, 0x20, 0xea, + 0x46, 0x71, 0xcd, 0xe1, 0x3f, 0x6f, 0xc3, 0xb7, 0x53, 0x0d, 0x2e, 0x6f, + 0x8d, 0x06, 0x52, 0xc5, 0xed, 0x8e, 0x5a, 0x4d, 0xd5, 0x24, 0x49, 0x4a, + 0x64, 0x97, 0x1a, 0x73, +}; +static const struct drbg_kat_no_reseed kat1433_t = { + 7, kat1433_entropyin, kat1433_nonce, kat1433_persstr, + kat1433_addin0, kat1433_addin1, kat1433_retbits +}; +static const struct drbg_kat kat1433 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1433_t +}; + +static const unsigned char kat1434_entropyin[] = { + 0x69, 0xf5, 0xdb, 0xe0, 0x59, 0x71, 0xdd, 0xa9, 0x23, 0x67, 0x92, 0x54, + 0x9c, 0x24, 0x8d, 0x6b, 0xf6, 0xe3, 0x15, 0xd4, 0x04, 0x65, 0xae, 0xe2, + 0x64, 0xba, 0x8e, 0xdb, 0x79, 0x88, 0x75, 0x10, 0x1f, 0xf3, 0x2c, 0xe7, + 0x3d, 0xae, 0x0e, 0x47, 0xcd, 0x50, 0x6e, 0x07, 0x8b, 0x8e, 0x99, 0xa0, +}; +static const unsigned char kat1434_nonce[] = {0}; +static const unsigned char kat1434_persstr[] = { + 0xf3, 0x42, 0x74, 0x75, 0x83, 0x2b, 0xa4, 0x71, 0xe2, 0x60, 0xe2, 0xff, + 0xc9, 0x67, 0xcb, 0xee, 0x71, 0x4a, 0x54, 0xfc, 0x20, 0x84, 0x12, 0x47, + 0x4f, 0xf2, 0x03, 0xeb, 0x92, 0xed, 0xad, 0x9a, 0x5e, 0x61, 0x1a, 0x99, + 0xe7, 0x15, 0x3b, 0xba, 0x52, 0x5f, 0x8a, 0x17, 0x33, 0x29, 0xaa, 0xde, +}; +static const unsigned char kat1434_addin0[] = { + 0x9d, 0x96, 0x01, 0xc9, 0x92, 0x75, 0xcc, 0x69, 0x80, 0x84, 0x3e, 0x20, + 0xbd, 0x42, 0x04, 0xb2, 0x3e, 0xb5, 0xca, 0x73, 0x24, 0xf4, 0xbf, 0x90, + 0x8f, 0x5b, 0xd0, 0xeb, 0x4a, 0x37, 0xc2, 0x98, 0x2f, 0x7f, 0xbd, 0xbb, + 0x7c, 0x85, 0x91, 0xd5, 0x41, 0x47, 0x07, 0x89, 0x5e, 0xf8, 0x65, 0x2b, +}; +static const unsigned char kat1434_addin1[] = { + 0x55, 0x3e, 0x5d, 0x18, 0x8e, 0xc4, 0x14, 0x36, 0xd0, 0xb3, 0x84, 0xcd, + 0x77, 0x73, 0xc9, 0x04, 0x52, 0xa1, 0x86, 0x55, 0x80, 0xa5, 0x2d, 0xf9, + 0x0f, 0x6a, 0xe1, 0x1b, 0x1a, 0xa1, 0x3a, 0xd5, 0x85, 0x1c, 0x6b, 0xc6, + 0x86, 0x7d, 0xf5, 0xa8, 0xd0, 0x32, 0x13, 0xe3, 0xfd, 0x56, 0xad, 0xe9, +}; +static const unsigned char kat1434_retbits[] = { + 0xc6, 0x77, 0x78, 0x0e, 0x0c, 0xc5, 0xea, 0xe9, 0xc8, 0x12, 0xc1, 0x92, + 0xb2, 0x71, 0x63, 0x5f, 0x74, 0xbf, 0xd2, 0x52, 0xe7, 0x82, 0xe8, 0xba, + 0x38, 0x72, 0x7c, 0x4a, 0xfc, 0x7b, 0x47, 0xa6, 0xd9, 0xd5, 0x52, 0x04, + 0x59, 0xe1, 0x34, 0x01, 0x3e, 0xc3, 0x14, 0x40, 0x10, 0xb5, 0xd3, 0xd4, + 0xe4, 0x74, 0x75, 0x26, 0xf0, 0x3c, 0x61, 0x4f, 0x18, 0x63, 0xf2, 0x98, + 0x3e, 0x18, 0x68, 0x5b, +}; +static const struct drbg_kat_no_reseed kat1434_t = { + 8, kat1434_entropyin, kat1434_nonce, kat1434_persstr, + kat1434_addin0, kat1434_addin1, kat1434_retbits +}; +static const struct drbg_kat kat1434 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1434_t +}; + +static const unsigned char kat1435_entropyin[] = { + 0x2d, 0x52, 0xbd, 0xe0, 0xd6, 0x97, 0x26, 0x20, 0xc4, 0x21, 0x9f, 0x05, + 0xfc, 0x95, 0xd0, 0xbc, 0x25, 0x30, 0x02, 0x44, 0x45, 0xd5, 0xc9, 0x10, + 0x7a, 0x06, 0x84, 0xdb, 0x39, 0x04, 0xc5, 0x97, 0xe0, 0xd3, 0x14, 0x12, + 0xd9, 0xb8, 0x85, 0x14, 0xc9, 0xac, 0xa7, 0x45, 0xa3, 0x2b, 0x5f, 0x65, +}; +static const unsigned char kat1435_nonce[] = {0}; +static const unsigned char kat1435_persstr[] = { + 0x45, 0x36, 0x0c, 0x8e, 0xc1, 0xd2, 0x27, 0xf3, 0xb2, 0x75, 0x1f, 0x16, + 0x10, 0xd1, 0x97, 0x7c, 0x14, 0x6f, 0x54, 0xc7, 0x42, 0x2c, 0xa7, 0xa6, + 0x74, 0x1a, 0x06, 0x4a, 0x5d, 0x12, 0xd7, 0xe1, 0x7e, 0x85, 0x03, 0x3a, + 0xba, 0x20, 0x19, 0xd9, 0xee, 0x7a, 0x5d, 0xae, 0x5d, 0x11, 0x75, 0x37, +}; +static const unsigned char kat1435_addin0[] = { + 0xa7, 0xd5, 0xa7, 0xe8, 0xb1, 0xc5, 0x6a, 0x91, 0x69, 0x22, 0x69, 0xf9, + 0xe9, 0x57, 0xdd, 0xfd, 0x2e, 0x8a, 0xfa, 0xe9, 0xfb, 0x88, 0x4f, 0x2f, + 0x2b, 0xba, 0x61, 0x6c, 0x43, 0xb0, 0xe8, 0x01, 0x28, 0xaf, 0x25, 0xe7, + 0xcc, 0x46, 0x1a, 0x94, 0x11, 0x68, 0xe5, 0x06, 0xcf, 0xb2, 0xcd, 0x80, +}; +static const unsigned char kat1435_addin1[] = { + 0x1f, 0xf6, 0x12, 0x6a, 0x73, 0x8e, 0x7b, 0xc1, 0x00, 0x04, 0x2c, 0x65, + 0xb1, 0xaa, 0x0f, 0xa5, 0xf4, 0xd7, 0x9b, 0x58, 0x79, 0x4c, 0x3a, 0x08, + 0x70, 0xd7, 0xdf, 0x1e, 0x15, 0x32, 0x9a, 0x35, 0xd5, 0x6a, 0x17, 0xff, + 0xf6, 0x42, 0x99, 0x21, 0xd0, 0xfd, 0x9d, 0xa9, 0x49, 0xae, 0x52, 0xb8, +}; +static const unsigned char kat1435_retbits[] = { + 0xe9, 0x9c, 0xcd, 0x90, 0xcc, 0x3c, 0x61, 0xa9, 0xbf, 0x92, 0x50, 0x97, + 0x68, 0x23, 0x6f, 0x2a, 0xe1, 0xba, 0x5c, 0x6b, 0xd7, 0x9e, 0xd6, 0xde, + 0x13, 0xb5, 0x80, 0x5b, 0x04, 0x85, 0x79, 0xf8, 0x6f, 0xed, 0x1b, 0x38, + 0x32, 0x27, 0xef, 0x27, 0xe2, 0x74, 0x54, 0xae, 0x1c, 0x63, 0x42, 0x11, + 0x44, 0x71, 0x1c, 0x3c, 0x30, 0x5d, 0x61, 0xd0, 0x78, 0xa4, 0x72, 0x49, + 0xd6, 0x8a, 0x45, 0x87, +}; +static const struct drbg_kat_no_reseed kat1435_t = { + 9, kat1435_entropyin, kat1435_nonce, kat1435_persstr, + kat1435_addin0, kat1435_addin1, kat1435_retbits +}; +static const struct drbg_kat kat1435 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1435_t +}; + +static const unsigned char kat1436_entropyin[] = { + 0xdd, 0x3c, 0xdd, 0x9b, 0x28, 0xf7, 0x5c, 0xcb, 0x5b, 0x77, 0xe1, 0x9a, + 0xa8, 0x08, 0xc8, 0xf3, 0x17, 0x05, 0x8f, 0x26, 0xce, 0x26, 0x2f, 0xfe, + 0xf9, 0x9a, 0xd0, 0x99, 0x3f, 0x7d, 0x9e, 0x3b, 0x71, 0x0f, 0x02, 0x3e, + 0x64, 0x24, 0xa3, 0x93, 0xc7, 0xf1, 0x78, 0x75, 0x15, 0x1a, 0x8c, 0xe2, +}; +static const unsigned char kat1436_nonce[] = {0}; +static const unsigned char kat1436_persstr[] = { + 0xe9, 0x52, 0xf4, 0xed, 0x56, 0x1d, 0xbe, 0x37, 0xba, 0x3c, 0xf5, 0x29, + 0x18, 0xa7, 0xa4, 0x62, 0x05, 0xbb, 0x22, 0xc5, 0xd7, 0x54, 0xa4, 0xd6, + 0x05, 0x9c, 0xee, 0x71, 0xbf, 0x5b, 0x1c, 0x55, 0xa0, 0x41, 0x71, 0x5f, + 0x99, 0x32, 0xca, 0x06, 0x89, 0xe8, 0x4f, 0x43, 0x32, 0x25, 0xb2, 0xb6, +}; +static const unsigned char kat1436_addin0[] = { + 0xad, 0x07, 0x82, 0xde, 0x0d, 0xda, 0xd9, 0x98, 0xc5, 0x35, 0x96, 0x27, + 0xc9, 0xfd, 0x4e, 0x8b, 0x41, 0xb9, 0xae, 0xbf, 0x01, 0xb7, 0x5e, 0x36, + 0x00, 0x03, 0xe3, 0x8f, 0x23, 0x9b, 0x43, 0x14, 0x12, 0x67, 0x22, 0x69, + 0xd9, 0x1e, 0x51, 0x62, 0x39, 0xfc, 0x5b, 0xb9, 0x1f, 0xbc, 0x01, 0x36, +}; +static const unsigned char kat1436_addin1[] = { + 0xe0, 0xb0, 0x04, 0x84, 0x9d, 0x31, 0xe6, 0x9b, 0xe8, 0x8f, 0xc4, 0x8a, + 0xb8, 0x81, 0x4b, 0x43, 0x8b, 0x69, 0x5b, 0x10, 0xad, 0x20, 0xf5, 0x0f, + 0x8c, 0xbb, 0xce, 0x03, 0x4f, 0x29, 0xbb, 0x74, 0x49, 0x94, 0x8b, 0xb2, + 0xd9, 0x9f, 0x5c, 0x86, 0xbb, 0xbf, 0x0b, 0x17, 0x37, 0x6d, 0xc1, 0x89, +}; +static const unsigned char kat1436_retbits[] = { + 0xbf, 0x7d, 0xa7, 0xd1, 0x07, 0xc1, 0x29, 0xbf, 0x20, 0x7f, 0xf1, 0xa1, + 0x13, 0x67, 0xb3, 0xc1, 0x66, 0x1f, 0x26, 0x04, 0x44, 0x0e, 0xde, 0x09, + 0xd3, 0xa9, 0x20, 0x85, 0x4a, 0xd2, 0x7b, 0x79, 0x05, 0x01, 0xc9, 0x06, + 0x60, 0x67, 0x92, 0xc5, 0x96, 0x86, 0x6f, 0xd8, 0x7e, 0x68, 0x8c, 0xc6, + 0xb9, 0xee, 0xea, 0x45, 0x5d, 0x9e, 0xdc, 0x13, 0x9f, 0xdb, 0x3f, 0x76, + 0xb7, 0x6e, 0xfe, 0x57, +}; +static const struct drbg_kat_no_reseed kat1436_t = { + 10, kat1436_entropyin, kat1436_nonce, kat1436_persstr, + kat1436_addin0, kat1436_addin1, kat1436_retbits +}; +static const struct drbg_kat kat1436 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1436_t +}; + +static const unsigned char kat1437_entropyin[] = { + 0xd7, 0x0c, 0xc8, 0x7c, 0xcf, 0x0e, 0x3e, 0x51, 0x1a, 0x6c, 0x07, 0xbb, + 0x42, 0x47, 0xac, 0x22, 0x3b, 0xd8, 0xe6, 0x9a, 0x83, 0xa3, 0x7a, 0xce, + 0xa1, 0x7b, 0xbc, 0x05, 0x72, 0x1d, 0xcf, 0x77, 0xbc, 0xbf, 0xe3, 0x9f, + 0x93, 0x72, 0x02, 0x1f, 0x99, 0xe1, 0xc7, 0x60, 0x15, 0xd1, 0x30, 0xd0, +}; +static const unsigned char kat1437_nonce[] = {0}; +static const unsigned char kat1437_persstr[] = { + 0xe1, 0x8c, 0x99, 0x6f, 0xad, 0xf1, 0x39, 0x5d, 0xd0, 0x66, 0x3b, 0x1b, + 0xbf, 0x52, 0x59, 0xf6, 0xd5, 0x61, 0x10, 0x11, 0x5f, 0x8e, 0x06, 0x52, + 0x05, 0xed, 0xe5, 0xd4, 0x1d, 0x76, 0x87, 0x5f, 0xa1, 0x78, 0x2d, 0xbe, + 0xdc, 0xa7, 0x05, 0x45, 0x0c, 0xb9, 0xc2, 0x1d, 0xba, 0x9e, 0xf9, 0x83, +}; +static const unsigned char kat1437_addin0[] = { + 0x4f, 0xe4, 0x66, 0x8d, 0xfa, 0xd3, 0xdf, 0x81, 0x75, 0xc8, 0xc3, 0x9f, + 0xed, 0xe0, 0xbe, 0x23, 0xcf, 0x0b, 0xda, 0xff, 0xc8, 0xf7, 0xf1, 0x58, + 0xfe, 0xb9, 0x73, 0x66, 0xe5, 0x9e, 0x84, 0xff, 0x25, 0x14, 0x4c, 0x6f, + 0xf9, 0x91, 0x11, 0xa2, 0x35, 0x5c, 0xfb, 0xc1, 0xf5, 0xc1, 0x67, 0xd6, +}; +static const unsigned char kat1437_addin1[] = { + 0x7a, 0x56, 0xc2, 0x62, 0x06, 0xf5, 0xeb, 0xc3, 0xb7, 0x0c, 0x49, 0x57, + 0x4a, 0xc8, 0x9b, 0x07, 0x10, 0x46, 0x74, 0x09, 0x7a, 0x6a, 0x11, 0x94, + 0x6f, 0x1b, 0x92, 0x36, 0x76, 0xc5, 0x96, 0xeb, 0x09, 0xfd, 0x5f, 0x98, + 0x24, 0xef, 0xba, 0x19, 0x48, 0x35, 0x9c, 0xdf, 0x24, 0x28, 0xcd, 0x9f, +}; +static const unsigned char kat1437_retbits[] = { + 0x84, 0x72, 0xe6, 0x71, 0xdb, 0xcc, 0x41, 0xa4, 0xef, 0x46, 0xe1, 0x9d, + 0x46, 0x42, 0x86, 0x46, 0xe5, 0xf5, 0x40, 0x2d, 0x46, 0x02, 0x0d, 0xbd, + 0xd0, 0xd0, 0x78, 0x3a, 0x70, 0xda, 0x54, 0xb3, 0xa5, 0xa8, 0xfa, 0x8a, + 0xb5, 0xc1, 0xc9, 0x0f, 0xea, 0x5e, 0x2c, 0x6d, 0xb6, 0x89, 0x67, 0x90, + 0x1c, 0xf6, 0xcf, 0x5f, 0xc6, 0xf5, 0x4b, 0xb6, 0x71, 0x7c, 0xb7, 0xb3, + 0xc7, 0x76, 0x40, 0xb3, +}; +static const struct drbg_kat_no_reseed kat1437_t = { + 11, kat1437_entropyin, kat1437_nonce, kat1437_persstr, + kat1437_addin0, kat1437_addin1, kat1437_retbits +}; +static const struct drbg_kat kat1437 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1437_t +}; + +static const unsigned char kat1438_entropyin[] = { + 0x1e, 0x17, 0xd4, 0x33, 0x0e, 0xbb, 0x4d, 0x06, 0xab, 0x2c, 0xa5, 0xee, + 0xea, 0x4c, 0xd5, 0x97, 0x81, 0x38, 0x6f, 0x07, 0x39, 0x47, 0xbf, 0x8e, + 0x04, 0xd8, 0x6c, 0x8c, 0x10, 0xdf, 0xca, 0x02, 0x99, 0xf6, 0x9c, 0x00, + 0x59, 0xd4, 0xa0, 0x0e, 0x53, 0x6e, 0xe0, 0xec, 0x52, 0x6b, 0xfa, 0xbf, +}; +static const unsigned char kat1438_nonce[] = {0}; +static const unsigned char kat1438_persstr[] = { + 0xa6, 0x1f, 0x6a, 0x69, 0x9d, 0x16, 0x3d, 0x15, 0x9c, 0x1d, 0x87, 0x41, + 0x44, 0x4f, 0xf4, 0xd6, 0x17, 0x2b, 0xf8, 0x17, 0xfa, 0xcb, 0x07, 0x4c, + 0x15, 0x50, 0xc3, 0x5a, 0x7d, 0x47, 0x57, 0xee, 0xfc, 0x3e, 0x24, 0xba, + 0xd5, 0x64, 0xb8, 0x6a, 0x49, 0xd5, 0x57, 0x39, 0x77, 0x42, 0xae, 0xdf, +}; +static const unsigned char kat1438_addin0[] = { + 0x46, 0x82, 0xfa, 0xca, 0x35, 0x08, 0x3a, 0xa6, 0x72, 0xb8, 0xdd, 0x1d, + 0x3c, 0xcc, 0xe9, 0xf5, 0x52, 0xfb, 0x06, 0xe2, 0xa8, 0x52, 0x8d, 0x79, + 0x6c, 0xdc, 0x05, 0xfd, 0x1b, 0x56, 0x95, 0x3d, 0xab, 0x67, 0xa5, 0x1f, + 0x8b, 0x9e, 0xfa, 0x8f, 0x1a, 0x4f, 0x6d, 0x76, 0x7f, 0xec, 0xe8, 0x4d, +}; +static const unsigned char kat1438_addin1[] = { + 0x44, 0x7e, 0x0e, 0x0e, 0x87, 0xcb, 0x82, 0x58, 0x63, 0x60, 0x0d, 0x25, + 0xb3, 0x52, 0xed, 0x4e, 0xfe, 0x5a, 0x75, 0xa2, 0xbd, 0x39, 0x13, 0x7c, + 0x19, 0x0d, 0x42, 0x32, 0x18, 0x9f, 0xe9, 0x24, 0x90, 0x04, 0xd1, 0x16, + 0xf1, 0x43, 0x56, 0x13, 0xfd, 0xaa, 0xee, 0x22, 0x1e, 0xd4, 0x48, 0xdf, +}; +static const unsigned char kat1438_retbits[] = { + 0x54, 0xd0, 0x98, 0x12, 0x4d, 0xc7, 0xdf, 0x57, 0xa6, 0xa4, 0xc0, 0x67, + 0x9f, 0x76, 0xc0, 0x1d, 0x67, 0x4c, 0x7e, 0x5e, 0x27, 0x0a, 0xf8, 0xae, + 0x61, 0xdc, 0xb7, 0xd8, 0xcb, 0xed, 0xbd, 0xde, 0x1b, 0x92, 0x89, 0x87, + 0xb2, 0xb8, 0xd2, 0x41, 0x0a, 0x04, 0x70, 0x5d, 0x8d, 0xd2, 0x12, 0x8f, + 0xc6, 0x15, 0x9d, 0xfa, 0x30, 0xea, 0x0f, 0x75, 0x92, 0x40, 0x61, 0x0c, + 0x86, 0xd8, 0x8a, 0x5f, +}; +static const struct drbg_kat_no_reseed kat1438_t = { + 12, kat1438_entropyin, kat1438_nonce, kat1438_persstr, + kat1438_addin0, kat1438_addin1, kat1438_retbits +}; +static const struct drbg_kat kat1438 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1438_t +}; + +static const unsigned char kat1439_entropyin[] = { + 0xfd, 0xfe, 0x01, 0xe5, 0x15, 0xd1, 0x93, 0xdc, 0x04, 0x69, 0x81, 0xb3, + 0xff, 0xe3, 0x4d, 0xde, 0x3b, 0x48, 0xf7, 0xd9, 0xd4, 0x27, 0x43, 0x1d, + 0x1b, 0x11, 0xe1, 0x96, 0x9f, 0x6c, 0x9b, 0x52, 0x62, 0x34, 0xd9, 0xc9, + 0x5d, 0x3a, 0x19, 0xfc, 0xb6, 0xa6, 0x3a, 0xef, 0xd3, 0x7e, 0xae, 0x89, +}; +static const unsigned char kat1439_nonce[] = {0}; +static const unsigned char kat1439_persstr[] = { + 0x3c, 0xa6, 0xad, 0x90, 0x59, 0x3f, 0xca, 0xa9, 0x2b, 0x99, 0x89, 0x4a, + 0x5e, 0x7f, 0x55, 0xb1, 0xc2, 0x3f, 0xc4, 0x7a, 0x58, 0xc7, 0x15, 0x7f, + 0xf3, 0x34, 0xce, 0x2a, 0x75, 0x8a, 0x57, 0x1e, 0xcb, 0xb9, 0xf4, 0x7c, + 0x3f, 0x9f, 0x8b, 0xf3, 0xc4, 0xf5, 0xf6, 0xf4, 0x5b, 0x2e, 0xf1, 0xbe, +}; +static const unsigned char kat1439_addin0[] = { + 0xe9, 0xbb, 0x42, 0x66, 0x5b, 0xba, 0x29, 0x96, 0x1c, 0x6f, 0xb2, 0x73, + 0xfc, 0x59, 0x65, 0xcd, 0x94, 0x59, 0x4b, 0xc5, 0x3d, 0xc9, 0x19, 0x3b, + 0xa0, 0x4d, 0x7b, 0x18, 0x06, 0x95, 0x04, 0x21, 0xc5, 0xa8, 0x28, 0x57, + 0x63, 0x45, 0xb0, 0xd0, 0x98, 0x52, 0xf1, 0x6e, 0x70, 0x5f, 0x1a, 0xb6, +}; +static const unsigned char kat1439_addin1[] = { + 0x94, 0x4d, 0xe5, 0x8b, 0xf8, 0x2b, 0xc8, 0x01, 0xf0, 0x13, 0xe5, 0xac, + 0x2f, 0xed, 0x93, 0xa4, 0xdb, 0xdc, 0xb5, 0x8b, 0x88, 0x83, 0x76, 0x9e, + 0x88, 0x29, 0x48, 0xcc, 0x5c, 0xdd, 0x0e, 0x4d, 0x8f, 0x5c, 0xc7, 0xe8, + 0x0b, 0x3a, 0x4c, 0x26, 0x0b, 0xbc, 0x10, 0xb5, 0xc0, 0x09, 0x4c, 0x51, +}; +static const unsigned char kat1439_retbits[] = { + 0xd7, 0x45, 0xbd, 0xa3, 0x2d, 0x47, 0xbc, 0x9f, 0xc8, 0xd0, 0x0d, 0x69, + 0xb4, 0x6e, 0x54, 0xac, 0xdf, 0x79, 0xb7, 0xf9, 0x28, 0x16, 0x0d, 0x0d, + 0xfe, 0xe5, 0xd3, 0x3e, 0x40, 0x38, 0x7f, 0x68, 0x10, 0x37, 0x14, 0xd3, + 0x7a, 0xda, 0x08, 0xb8, 0xd4, 0xaa, 0x0f, 0x5e, 0x62, 0xbe, 0xfa, 0xde, + 0x2c, 0x11, 0x21, 0xda, 0xa8, 0xd5, 0x65, 0x9d, 0xb7, 0xdb, 0xe6, 0xe1, + 0x7c, 0x16, 0xb9, 0xe0, +}; +static const struct drbg_kat_no_reseed kat1439_t = { + 13, kat1439_entropyin, kat1439_nonce, kat1439_persstr, + kat1439_addin0, kat1439_addin1, kat1439_retbits +}; +static const struct drbg_kat kat1439 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1439_t +}; + +static const unsigned char kat1440_entropyin[] = { + 0x65, 0x62, 0xbb, 0xb3, 0x98, 0xc0, 0x2c, 0x7d, 0xdf, 0x0b, 0xdc, 0xbf, + 0xea, 0xcd, 0x5a, 0xfe, 0x31, 0xc7, 0x75, 0xbd, 0xa5, 0x3b, 0x4c, 0xb2, + 0xa3, 0x89, 0x6a, 0x89, 0x81, 0x49, 0xbb, 0x19, 0x5f, 0xa3, 0xdd, 0x69, + 0x23, 0x7b, 0xfa, 0xbe, 0x3a, 0x4c, 0x2d, 0xae, 0xbf, 0x30, 0xdc, 0x17, +}; +static const unsigned char kat1440_nonce[] = {0}; +static const unsigned char kat1440_persstr[] = { + 0x96, 0x3e, 0x80, 0xb8, 0x4c, 0xeb, 0x20, 0x45, 0xf9, 0xb5, 0x21, 0x92, + 0x39, 0xb4, 0x21, 0x39, 0xaa, 0xc6, 0x75, 0xca, 0x0b, 0x59, 0x1b, 0x25, + 0x53, 0xe8, 0x39, 0x64, 0x7a, 0xba, 0x20, 0x84, 0x99, 0x3b, 0x07, 0x65, + 0x45, 0x6a, 0xe9, 0x07, 0xaa, 0x5d, 0x6d, 0xa3, 0x44, 0x87, 0x43, 0x2a, +}; +static const unsigned char kat1440_addin0[] = { + 0x59, 0xcc, 0xb9, 0x0f, 0xb7, 0xe9, 0xae, 0x3a, 0x53, 0x2f, 0x95, 0x6b, + 0xc0, 0x03, 0x8c, 0xe0, 0xae, 0x32, 0xfa, 0x71, 0x4d, 0x88, 0x36, 0xc4, + 0x78, 0x91, 0x98, 0x3a, 0xfb, 0x68, 0x2e, 0xd2, 0x33, 0x56, 0x00, 0x63, + 0x9d, 0xa1, 0xd2, 0xa9, 0xe8, 0x9a, 0x95, 0x7a, 0xbc, 0x5b, 0x3d, 0x50, +}; +static const unsigned char kat1440_addin1[] = { + 0x91, 0x16, 0x5e, 0x46, 0x01, 0x6f, 0x2d, 0x56, 0x19, 0xcd, 0x45, 0x49, + 0xf5, 0xac, 0x20, 0x56, 0x39, 0x6b, 0xee, 0x73, 0x16, 0xa3, 0x66, 0xec, + 0x60, 0x51, 0xf3, 0xbd, 0x26, 0x77, 0x0b, 0x3f, 0xd6, 0x3c, 0x16, 0x34, + 0x94, 0xfb, 0x7e, 0x9d, 0x32, 0x6e, 0xca, 0xd9, 0xbf, 0xc1, 0x71, 0xa8, +}; +static const unsigned char kat1440_retbits[] = { + 0x87, 0xed, 0x4a, 0xef, 0x26, 0x4f, 0x2a, 0xc5, 0x45, 0x10, 0xb8, 0x3b, + 0x98, 0xf7, 0x58, 0x5a, 0xef, 0x7f, 0x38, 0x29, 0x47, 0xcb, 0x49, 0x80, + 0x37, 0x84, 0xa2, 0x7c, 0xfb, 0xbc, 0x58, 0x74, 0x56, 0x2b, 0x6d, 0x6c, + 0xb5, 0x7b, 0x75, 0x48, 0xa1, 0xbe, 0x46, 0x4a, 0xbb, 0x20, 0x28, 0xc3, + 0x44, 0x07, 0x45, 0x27, 0xe8, 0xec, 0x56, 0xad, 0x6e, 0x2b, 0x3b, 0x8f, + 0xc5, 0x6f, 0x17, 0x7c, +}; +static const struct drbg_kat_no_reseed kat1440_t = { + 14, kat1440_entropyin, kat1440_nonce, kat1440_persstr, + kat1440_addin0, kat1440_addin1, kat1440_retbits +}; +static const struct drbg_kat kat1440 = { + NO_RESEED, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat1440_t +}; + +static const unsigned char kat1441_entropyin[] = { + 0x0f, 0x65, 0xda, 0x13, 0xdc, 0xa4, 0x07, 0x99, 0x9d, 0x47, 0x73, 0xc2, + 0xb4, 0xa1, 0x1d, 0x85, +}; +static const unsigned char kat1441_nonce[] = { + 0x52, 0x09, 0xe5, 0xb4, 0xed, 0x82, 0xa2, 0x34, +}; +static const unsigned char kat1441_persstr[] = {0}; +static const unsigned char kat1441_entropyinreseed[] = { + 0x1d, 0xea, 0x0a, 0x12, 0xc5, 0x2b, 0xf6, 0x43, 0x39, 0xdd, 0x29, 0x1c, + 0x80, 0xd8, 0xca, 0x89, +}; +static const unsigned char kat1441_addinreseed[] = {0}; +static const unsigned char kat1441_addin0[] = {0}; +static const unsigned char kat1441_addin1[] = {0}; +static const unsigned char kat1441_retbits[] = { + 0x28, 0x59, 0xcc, 0x46, 0x8a, 0x76, 0xb0, 0x86, 0x61, 0xff, 0xd2, 0x3b, + 0x28, 0x54, 0x7f, 0xfd, 0x09, 0x97, 0xad, 0x52, 0x6a, 0x0f, 0x51, 0x26, + 0x1b, 0x99, 0xed, 0x3a, 0x37, 0xbd, 0x40, 0x7b, 0xf4, 0x18, 0xdb, 0xe6, + 0xc6, 0xc3, 0xe2, 0x6e, 0xd0, 0xdd, 0xef, 0xcb, 0x74, 0x74, 0xd8, 0x99, + 0xbd, 0x99, 0xf3, 0x65, 0x54, 0x27, 0x51, 0x9f, 0xc5, 0xb4, 0x05, 0x7b, + 0xca, 0xf3, 0x06, 0xd4, +}; +static const struct drbg_kat_pr_false kat1441_t = { + 0, kat1441_entropyin, kat1441_nonce, kat1441_persstr, + kat1441_entropyinreseed, kat1441_addinreseed, kat1441_addin0, + kat1441_addin1, kat1441_retbits +}; +static const struct drbg_kat kat1441 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1441_t +}; + +static const unsigned char kat1442_entropyin[] = { + 0x1f, 0xf8, 0xf4, 0xa8, 0x5d, 0xbf, 0x2f, 0x6b, 0xb2, 0x64, 0x89, 0x67, + 0x41, 0x9b, 0xb2, 0x70, +}; +static const unsigned char kat1442_nonce[] = { + 0xb0, 0xcd, 0xf7, 0xbc, 0x47, 0xca, 0x5f, 0x8b, +}; +static const unsigned char kat1442_persstr[] = {0}; +static const unsigned char kat1442_entropyinreseed[] = { + 0xf9, 0x06, 0x99, 0x44, 0x1c, 0x1e, 0xce, 0x41, 0xcf, 0x1f, 0x6a, 0x32, + 0xe4, 0x94, 0x86, 0x56, +}; +static const unsigned char kat1442_addinreseed[] = {0}; +static const unsigned char kat1442_addin0[] = {0}; +static const unsigned char kat1442_addin1[] = {0}; +static const unsigned char kat1442_retbits[] = { + 0xd9, 0xae, 0x8b, 0x33, 0xf1, 0xa1, 0x0c, 0xbf, 0x51, 0x6d, 0x97, 0xb9, + 0xad, 0x7b, 0xaf, 0x0d, 0x59, 0x6a, 0x08, 0x1a, 0x0f, 0xf0, 0xf4, 0x71, + 0x76, 0x74, 0x23, 0x9b, 0x9e, 0x33, 0x93, 0x54, 0xd8, 0x13, 0xb2, 0xbb, + 0x71, 0xc1, 0x0f, 0x7d, 0x2e, 0x34, 0x99, 0x4e, 0x00, 0x30, 0xe4, 0xfb, + 0xfb, 0xa6, 0x43, 0x8d, 0x07, 0x7c, 0x36, 0x17, 0x45, 0x99, 0x3b, 0x9d, + 0x6f, 0x66, 0x9b, 0x24, +}; +static const struct drbg_kat_pr_false kat1442_t = { + 1, kat1442_entropyin, kat1442_nonce, kat1442_persstr, + kat1442_entropyinreseed, kat1442_addinreseed, kat1442_addin0, + kat1442_addin1, kat1442_retbits +}; +static const struct drbg_kat kat1442 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1442_t +}; + +static const unsigned char kat1443_entropyin[] = { + 0x7a, 0x3b, 0x24, 0xc1, 0x7b, 0x87, 0x51, 0x36, 0x75, 0xc4, 0x31, 0x51, + 0x9e, 0x77, 0x1c, 0xe6, +}; +static const unsigned char kat1443_nonce[] = { + 0xab, 0xe4, 0x78, 0x00, 0x41, 0x4d, 0x25, 0xdd, +}; +static const unsigned char kat1443_persstr[] = {0}; +static const unsigned char kat1443_entropyinreseed[] = { + 0xb6, 0xff, 0xef, 0xc4, 0x08, 0xe4, 0x1f, 0x77, 0xe2, 0xca, 0xd4, 0x79, + 0xa6, 0x69, 0x27, 0x4d, +}; +static const unsigned char kat1443_addinreseed[] = {0}; +static const unsigned char kat1443_addin0[] = {0}; +static const unsigned char kat1443_addin1[] = {0}; +static const unsigned char kat1443_retbits[] = { + 0xcd, 0xc4, 0x69, 0xc1, 0x54, 0x79, 0x03, 0xb9, 0xfe, 0xe5, 0x83, 0x40, + 0x9d, 0x41, 0x1e, 0x0a, 0xc7, 0x63, 0xa0, 0x0c, 0xd6, 0x87, 0xd4, 0xf8, + 0xc8, 0x11, 0xe9, 0xc7, 0x4d, 0xc3, 0xb7, 0x8b, 0x27, 0xb6, 0x6f, 0xe6, + 0x6a, 0x24, 0x9b, 0x41, 0x78, 0xbd, 0x3b, 0xd0, 0x80, 0x08, 0xea, 0x25, + 0x8c, 0x5a, 0x90, 0x8d, 0x2e, 0xa7, 0x37, 0x15, 0x8d, 0x16, 0x3d, 0x1f, + 0x34, 0xf9, 0x3e, 0xa3, +}; +static const struct drbg_kat_pr_false kat1443_t = { + 2, kat1443_entropyin, kat1443_nonce, kat1443_persstr, + kat1443_entropyinreseed, kat1443_addinreseed, kat1443_addin0, + kat1443_addin1, kat1443_retbits +}; +static const struct drbg_kat kat1443 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1443_t +}; + +static const unsigned char kat1444_entropyin[] = { + 0x10, 0x2e, 0x34, 0x28, 0xb2, 0x5f, 0xda, 0x75, 0x29, 0x24, 0x8b, 0x67, + 0xbd, 0x1b, 0xdc, 0x93, +}; +static const unsigned char kat1444_nonce[] = { + 0x62, 0xd6, 0xaa, 0x84, 0xcf, 0x51, 0xad, 0x73, +}; +static const unsigned char kat1444_persstr[] = {0}; +static const unsigned char kat1444_entropyinreseed[] = { + 0x00, 0xd7, 0xaf, 0x7d, 0x1f, 0x9e, 0x36, 0x27, 0x9d, 0x07, 0x03, 0x44, + 0x27, 0xa9, 0xb5, 0xd0, +}; +static const unsigned char kat1444_addinreseed[] = {0}; +static const unsigned char kat1444_addin0[] = {0}; +static const unsigned char kat1444_addin1[] = {0}; +static const unsigned char kat1444_retbits[] = { + 0x6d, 0x7b, 0xa7, 0x25, 0xc8, 0x1f, 0xb0, 0xc8, 0xde, 0x32, 0xf8, 0x28, + 0x84, 0x18, 0x5b, 0x9e, 0xb2, 0x73, 0xbc, 0x1e, 0xc1, 0x3e, 0x4c, 0xa1, + 0xa0, 0x37, 0x05, 0x94, 0xcf, 0x9c, 0x5b, 0xd6, 0xc2, 0x7c, 0x37, 0x18, + 0x26, 0xad, 0x86, 0xbb, 0x8f, 0x5d, 0x78, 0xc6, 0x97, 0xaa, 0x9e, 0x29, + 0x27, 0xe1, 0xc9, 0xb2, 0x30, 0x4a, 0xf0, 0x28, 0x8e, 0xfe, 0x62, 0x9e, + 0xff, 0x13, 0x7c, 0x43, +}; +static const struct drbg_kat_pr_false kat1444_t = { + 3, kat1444_entropyin, kat1444_nonce, kat1444_persstr, + kat1444_entropyinreseed, kat1444_addinreseed, kat1444_addin0, + kat1444_addin1, kat1444_retbits +}; +static const struct drbg_kat kat1444 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1444_t +}; + +static const unsigned char kat1445_entropyin[] = { + 0x08, 0x87, 0xab, 0x2c, 0x94, 0xdc, 0x3b, 0xf4, 0x3f, 0xfe, 0x8a, 0x1b, + 0xad, 0xbd, 0x5b, 0xf2, +}; +static const unsigned char kat1445_nonce[] = { + 0x51, 0x18, 0x53, 0xd9, 0x74, 0x31, 0x05, 0x7d, +}; +static const unsigned char kat1445_persstr[] = {0}; +static const unsigned char kat1445_entropyinreseed[] = { + 0x17, 0x33, 0xe3, 0x82, 0x8a, 0x48, 0xfd, 0x80, 0xad, 0xec, 0xaa, 0x90, + 0x38, 0x23, 0xac, 0x5b, +}; +static const unsigned char kat1445_addinreseed[] = {0}; +static const unsigned char kat1445_addin0[] = {0}; +static const unsigned char kat1445_addin1[] = {0}; +static const unsigned char kat1445_retbits[] = { + 0x79, 0xdf, 0x1b, 0x08, 0x32, 0xde, 0xdd, 0xe9, 0x45, 0xed, 0x59, 0x3c, + 0xe7, 0xeb, 0xe2, 0x79, 0xca, 0x28, 0xa3, 0x73, 0x86, 0xd4, 0xc2, 0x08, + 0x10, 0xed, 0xed, 0x12, 0x37, 0xca, 0xb0, 0xb4, 0x6f, 0x1b, 0x6b, 0x2a, + 0x21, 0x2e, 0x91, 0xab, 0x21, 0x50, 0xae, 0x77, 0xcb, 0xc0, 0xaa, 0xf7, + 0xbb, 0xbc, 0x3e, 0x6a, 0x77, 0x6a, 0x44, 0xea, 0xe1, 0xef, 0x30, 0x16, + 0x5a, 0x3b, 0x6c, 0x41, +}; +static const struct drbg_kat_pr_false kat1445_t = { + 4, kat1445_entropyin, kat1445_nonce, kat1445_persstr, + kat1445_entropyinreseed, kat1445_addinreseed, kat1445_addin0, + kat1445_addin1, kat1445_retbits +}; +static const struct drbg_kat kat1445 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1445_t +}; + +static const unsigned char kat1446_entropyin[] = { + 0xa2, 0x8a, 0x05, 0xfd, 0xc6, 0x4d, 0xa8, 0x3e, 0xcf, 0x4d, 0x11, 0xff, + 0xb6, 0x17, 0x36, 0x45, +}; +static const unsigned char kat1446_nonce[] = { + 0x2a, 0x89, 0xe8, 0xa1, 0xcb, 0x26, 0x91, 0xeb, +}; +static const unsigned char kat1446_persstr[] = {0}; +static const unsigned char kat1446_entropyinreseed[] = { + 0x9b, 0x82, 0xf2, 0x96, 0xbf, 0x1d, 0xef, 0xa8, 0x64, 0x2c, 0xbe, 0x5f, + 0xc4, 0xc7, 0xc8, 0x68, +}; +static const unsigned char kat1446_addinreseed[] = {0}; +static const unsigned char kat1446_addin0[] = {0}; +static const unsigned char kat1446_addin1[] = {0}; +static const unsigned char kat1446_retbits[] = { + 0x60, 0x6e, 0xea, 0xcb, 0x0e, 0x6d, 0x8f, 0x8e, 0x0f, 0x67, 0x41, 0xcf, + 0x42, 0x7a, 0x93, 0x5a, 0xa6, 0xc7, 0x89, 0xe8, 0xde, 0xeb, 0x84, 0x50, + 0xca, 0x8f, 0x66, 0xbc, 0xa8, 0x6e, 0x92, 0x4f, 0x42, 0xfc, 0x3c, 0x61, + 0xc7, 0xf6, 0x90, 0x04, 0xe2, 0x47, 0xb6, 0x76, 0xf5, 0x5f, 0x49, 0x06, + 0xd2, 0x15, 0x8c, 0xea, 0x35, 0x2c, 0x60, 0x7f, 0x7f, 0xa0, 0x29, 0x9e, + 0xd0, 0x9e, 0x6f, 0x05, +}; +static const struct drbg_kat_pr_false kat1446_t = { + 5, kat1446_entropyin, kat1446_nonce, kat1446_persstr, + kat1446_entropyinreseed, kat1446_addinreseed, kat1446_addin0, + kat1446_addin1, kat1446_retbits +}; +static const struct drbg_kat kat1446 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1446_t +}; + +static const unsigned char kat1447_entropyin[] = { + 0x71, 0xf0, 0x05, 0xdf, 0x03, 0x3a, 0xdf, 0x9e, 0x11, 0x95, 0x91, 0x16, + 0x11, 0xca, 0x51, 0xc9, +}; +static const unsigned char kat1447_nonce[] = { + 0x9a, 0x33, 0x20, 0x9f, 0xdf, 0xc4, 0x1a, 0x3c, +}; +static const unsigned char kat1447_persstr[] = {0}; +static const unsigned char kat1447_entropyinreseed[] = { + 0x88, 0xd1, 0xad, 0xa2, 0x99, 0x0d, 0xbf, 0xb6, 0x91, 0x6a, 0x9e, 0xce, + 0x78, 0x78, 0x56, 0x89, +}; +static const unsigned char kat1447_addinreseed[] = {0}; +static const unsigned char kat1447_addin0[] = {0}; +static const unsigned char kat1447_addin1[] = {0}; +static const unsigned char kat1447_retbits[] = { + 0xa2, 0x49, 0x82, 0x36, 0x9e, 0xe6, 0x58, 0x68, 0x64, 0x6c, 0x8e, 0x0c, + 0x27, 0x9d, 0xff, 0x30, 0x11, 0x60, 0x5d, 0x33, 0x99, 0x59, 0x5c, 0x45, + 0x5f, 0xe2, 0x0e, 0xd3, 0x38, 0xf8, 0xc2, 0xa5, 0x10, 0x61, 0xaa, 0x7b, + 0x40, 0xf4, 0xe0, 0x7e, 0x86, 0x37, 0x8e, 0x89, 0x66, 0x23, 0xd4, 0x6f, + 0x85, 0xaa, 0xcf, 0xa6, 0xaf, 0x3a, 0x1d, 0x66, 0xe2, 0x2e, 0x7c, 0xb5, + 0x61, 0xe1, 0x35, 0xd4, +}; +static const struct drbg_kat_pr_false kat1447_t = { + 6, kat1447_entropyin, kat1447_nonce, kat1447_persstr, + kat1447_entropyinreseed, kat1447_addinreseed, kat1447_addin0, + kat1447_addin1, kat1447_retbits +}; +static const struct drbg_kat kat1447 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1447_t +}; + +static const unsigned char kat1448_entropyin[] = { + 0xd5, 0xef, 0xee, 0x24, 0xd6, 0xb8, 0x1f, 0x49, 0x75, 0x39, 0x3f, 0x7b, + 0x82, 0x60, 0x32, 0x47, +}; +static const unsigned char kat1448_nonce[] = { + 0xb3, 0xab, 0x7c, 0x0e, 0x7c, 0x28, 0x09, 0x09, +}; +static const unsigned char kat1448_persstr[] = {0}; +static const unsigned char kat1448_entropyinreseed[] = { + 0x7d, 0x8c, 0xdc, 0x5f, 0x4f, 0xe6, 0x07, 0xef, 0x6b, 0xc1, 0xe2, 0x93, + 0x8c, 0x27, 0xf0, 0xf8, +}; +static const unsigned char kat1448_addinreseed[] = {0}; +static const unsigned char kat1448_addin0[] = {0}; +static const unsigned char kat1448_addin1[] = {0}; +static const unsigned char kat1448_retbits[] = { + 0x33, 0x5e, 0x13, 0x85, 0x20, 0x19, 0x62, 0xe6, 0x36, 0x11, 0x6d, 0x6d, + 0x5f, 0xf5, 0xfb, 0x91, 0xed, 0x26, 0x83, 0x88, 0xa2, 0x6a, 0xea, 0x34, + 0xcf, 0xd3, 0x54, 0x89, 0x5d, 0x9b, 0x76, 0xa5, 0x14, 0xf3, 0x4c, 0xbe, + 0x9d, 0x3c, 0x86, 0x31, 0x78, 0x15, 0x6b, 0xb6, 0xfe, 0xd7, 0x36, 0x8a, + 0x94, 0xb0, 0x37, 0x10, 0x1b, 0x26, 0xdb, 0x0d, 0x7e, 0x6a, 0x8a, 0x00, + 0x92, 0x56, 0xdb, 0x35, +}; +static const struct drbg_kat_pr_false kat1448_t = { + 7, kat1448_entropyin, kat1448_nonce, kat1448_persstr, + kat1448_entropyinreseed, kat1448_addinreseed, kat1448_addin0, + kat1448_addin1, kat1448_retbits +}; +static const struct drbg_kat kat1448 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1448_t +}; + +static const unsigned char kat1449_entropyin[] = { + 0x00, 0x6f, 0xe4, 0xc4, 0xc4, 0xc0, 0x16, 0xa5, 0x1a, 0x0e, 0xb0, 0xf3, + 0x54, 0x95, 0x23, 0x9f, +}; +static const unsigned char kat1449_nonce[] = { + 0x99, 0x0d, 0x27, 0x5f, 0x3c, 0x27, 0xc6, 0x91, +}; +static const unsigned char kat1449_persstr[] = {0}; +static const unsigned char kat1449_entropyinreseed[] = { + 0xdd, 0x4b, 0x17, 0xe7, 0xd3, 0x00, 0x4c, 0x53, 0x24, 0xab, 0x0b, 0x98, + 0xb7, 0x5b, 0x04, 0xfb, +}; +static const unsigned char kat1449_addinreseed[] = {0}; +static const unsigned char kat1449_addin0[] = {0}; +static const unsigned char kat1449_addin1[] = {0}; +static const unsigned char kat1449_retbits[] = { + 0x51, 0x3f, 0x69, 0x96, 0xd9, 0x56, 0xee, 0xad, 0xb5, 0xc3, 0x30, 0xc3, + 0x42, 0x05, 0x8f, 0xcc, 0x46, 0x57, 0x93, 0xb6, 0x36, 0xfa, 0xb7, 0x4b, + 0x1b, 0xb5, 0x6e, 0x49, 0x6c, 0xd2, 0x5e, 0x5a, 0xfc, 0x7b, 0xfb, 0x3c, + 0xd3, 0x04, 0xbb, 0x81, 0x7b, 0xda, 0xfe, 0x7e, 0x8d, 0x66, 0x62, 0x60, + 0xf8, 0x13, 0xec, 0x57, 0x01, 0xb6, 0xb4, 0xe1, 0xb7, 0xf8, 0x72, 0xae, + 0xee, 0x09, 0xf3, 0x63, +}; +static const struct drbg_kat_pr_false kat1449_t = { + 8, kat1449_entropyin, kat1449_nonce, kat1449_persstr, + kat1449_entropyinreseed, kat1449_addinreseed, kat1449_addin0, + kat1449_addin1, kat1449_retbits +}; +static const struct drbg_kat kat1449 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1449_t +}; + +static const unsigned char kat1450_entropyin[] = { + 0x3b, 0x0e, 0x73, 0x80, 0x24, 0x00, 0x61, 0xe3, 0x8f, 0x6c, 0xb8, 0x1c, + 0xbe, 0xe4, 0xbc, 0xb4, +}; +static const unsigned char kat1450_nonce[] = { + 0xe8, 0x82, 0xe8, 0x0e, 0x0a, 0x2f, 0xb7, 0xcf, +}; +static const unsigned char kat1450_persstr[] = {0}; +static const unsigned char kat1450_entropyinreseed[] = { + 0xb1, 0x85, 0x97, 0x90, 0x4c, 0x54, 0xa8, 0x82, 0x67, 0xcb, 0x26, 0x51, + 0xbd, 0x5a, 0x92, 0x03, +}; +static const unsigned char kat1450_addinreseed[] = {0}; +static const unsigned char kat1450_addin0[] = {0}; +static const unsigned char kat1450_addin1[] = {0}; +static const unsigned char kat1450_retbits[] = { + 0x56, 0x3b, 0x0b, 0x8d, 0xcc, 0x82, 0x8e, 0x42, 0x93, 0x56, 0x3f, 0xf6, + 0xbe, 0x31, 0x4d, 0x0c, 0xa8, 0xff, 0xfd, 0x17, 0x6b, 0x4a, 0xda, 0x8d, + 0x27, 0x00, 0x40, 0x86, 0x3b, 0xe6, 0x32, 0x54, 0x05, 0x67, 0x55, 0x67, + 0x02, 0x81, 0x5a, 0x0a, 0xab, 0x40, 0xcd, 0xc9, 0x23, 0xeb, 0xa1, 0xf5, + 0xa1, 0xc9, 0x92, 0x84, 0x94, 0xd4, 0x01, 0x1b, 0x63, 0xf1, 0x73, 0x72, + 0xc5, 0xbd, 0x48, 0xe7, +}; +static const struct drbg_kat_pr_false kat1450_t = { + 9, kat1450_entropyin, kat1450_nonce, kat1450_persstr, + kat1450_entropyinreseed, kat1450_addinreseed, kat1450_addin0, + kat1450_addin1, kat1450_retbits +}; +static const struct drbg_kat kat1450 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1450_t +}; + +static const unsigned char kat1451_entropyin[] = { + 0x60, 0xf5, 0xfe, 0x65, 0xd5, 0xce, 0xfb, 0x73, 0x1b, 0x28, 0x17, 0x9c, + 0x35, 0xb2, 0xaa, 0x3d, +}; +static const unsigned char kat1451_nonce[] = { + 0x72, 0x91, 0x9f, 0x9e, 0x09, 0x7e, 0x73, 0x85, +}; +static const unsigned char kat1451_persstr[] = {0}; +static const unsigned char kat1451_entropyinreseed[] = { + 0xf3, 0x54, 0x12, 0xd4, 0xdd, 0xfd, 0xe3, 0x8d, 0xfa, 0x3f, 0x61, 0xaa, + 0x8f, 0x6e, 0xb8, 0x05, +}; +static const unsigned char kat1451_addinreseed[] = {0}; +static const unsigned char kat1451_addin0[] = {0}; +static const unsigned char kat1451_addin1[] = {0}; +static const unsigned char kat1451_retbits[] = { + 0xeb, 0x7a, 0xec, 0xb6, 0xbc, 0xd3, 0x6d, 0xd2, 0xfd, 0xd3, 0x24, 0x72, + 0xa6, 0x9c, 0x02, 0xf9, 0xe7, 0x1a, 0xff, 0x13, 0xa3, 0xe0, 0x47, 0xb5, + 0x87, 0x69, 0x52, 0x2d, 0x98, 0x4b, 0x60, 0x8d, 0x33, 0x4e, 0x51, 0x39, + 0x20, 0xf8, 0x71, 0x3d, 0x63, 0x14, 0x3c, 0x97, 0x18, 0x75, 0xb7, 0x81, + 0xf3, 0x58, 0x4b, 0xc7, 0xde, 0x35, 0x2a, 0xdd, 0x78, 0x78, 0x20, 0xc5, + 0xf8, 0xaa, 0xc0, 0x29, +}; +static const struct drbg_kat_pr_false kat1451_t = { + 10, kat1451_entropyin, kat1451_nonce, kat1451_persstr, + kat1451_entropyinreseed, kat1451_addinreseed, kat1451_addin0, + kat1451_addin1, kat1451_retbits +}; +static const struct drbg_kat kat1451 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1451_t +}; + +static const unsigned char kat1452_entropyin[] = { + 0x52, 0x92, 0x6e, 0x41, 0x4f, 0x4c, 0x17, 0x2b, 0x8c, 0x49, 0x0e, 0xf1, + 0x3f, 0x34, 0x5f, 0x08, +}; +static const unsigned char kat1452_nonce[] = { + 0x41, 0xd1, 0xfa, 0x4b, 0x9b, 0x06, 0x0f, 0x3e, +}; +static const unsigned char kat1452_persstr[] = {0}; +static const unsigned char kat1452_entropyinreseed[] = { + 0xfa, 0x91, 0x52, 0x73, 0x1e, 0x26, 0xd3, 0x74, 0xc5, 0x20, 0x41, 0xab, + 0xe1, 0x78, 0xcb, 0x26, +}; +static const unsigned char kat1452_addinreseed[] = {0}; +static const unsigned char kat1452_addin0[] = {0}; +static const unsigned char kat1452_addin1[] = {0}; +static const unsigned char kat1452_retbits[] = { + 0x38, 0xb9, 0x4e, 0x8c, 0xb5, 0xcd, 0x2e, 0x49, 0x07, 0x0a, 0xf8, 0x9c, + 0xf2, 0x08, 0xb9, 0x9f, 0x40, 0xb0, 0xa7, 0x80, 0x57, 0x8f, 0x11, 0x46, + 0x52, 0x19, 0xc7, 0xc9, 0xb2, 0x93, 0x60, 0x92, 0x70, 0x79, 0x2e, 0x6d, + 0x9f, 0x45, 0x7e, 0x62, 0x9d, 0xb3, 0x72, 0xdd, 0x0f, 0x7c, 0xee, 0x23, + 0x00, 0xe7, 0xb9, 0x7a, 0x35, 0xae, 0x47, 0xa2, 0xf7, 0x5c, 0xf9, 0x22, + 0xee, 0x5e, 0x29, 0x06, +}; +static const struct drbg_kat_pr_false kat1452_t = { + 11, kat1452_entropyin, kat1452_nonce, kat1452_persstr, + kat1452_entropyinreseed, kat1452_addinreseed, kat1452_addin0, + kat1452_addin1, kat1452_retbits +}; +static const struct drbg_kat kat1452 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1452_t +}; + +static const unsigned char kat1453_entropyin[] = { + 0xa7, 0x6d, 0x0c, 0x66, 0xbe, 0x9a, 0xbb, 0x60, 0x81, 0xb5, 0x2f, 0xa5, + 0xbb, 0xba, 0x76, 0x00, +}; +static const unsigned char kat1453_nonce[] = { + 0x34, 0x0f, 0x89, 0xb7, 0x6e, 0x46, 0x7b, 0xb1, +}; +static const unsigned char kat1453_persstr[] = {0}; +static const unsigned char kat1453_entropyinreseed[] = { + 0xbe, 0xaa, 0xfe, 0x74, 0xdd, 0xa0, 0xb4, 0xe7, 0xcd, 0x9a, 0x24, 0xae, + 0xb8, 0x2a, 0x15, 0xea, +}; +static const unsigned char kat1453_addinreseed[] = {0}; +static const unsigned char kat1453_addin0[] = {0}; +static const unsigned char kat1453_addin1[] = {0}; +static const unsigned char kat1453_retbits[] = { + 0x0f, 0x06, 0xf4, 0x35, 0x6e, 0xc3, 0x0e, 0x46, 0x2b, 0x1d, 0xad, 0x33, + 0x47, 0xa9, 0x29, 0xa7, 0xd7, 0xfe, 0x93, 0x1a, 0x37, 0x7f, 0x09, 0xe3, + 0xc3, 0xf6, 0xd2, 0x81, 0x18, 0x1c, 0x07, 0x9d, 0x25, 0x20, 0xf7, 0x8d, + 0xf1, 0xd5, 0x0c, 0x6b, 0xb7, 0x3a, 0x29, 0xdb, 0xba, 0x58, 0xe1, 0x6a, + 0x39, 0x4f, 0x8b, 0xc7, 0xf1, 0xdc, 0xad, 0x3b, 0xa8, 0xc4, 0x60, 0xf1, + 0x44, 0x3f, 0x07, 0xab, +}; +static const struct drbg_kat_pr_false kat1453_t = { + 12, kat1453_entropyin, kat1453_nonce, kat1453_persstr, + kat1453_entropyinreseed, kat1453_addinreseed, kat1453_addin0, + kat1453_addin1, kat1453_retbits +}; +static const struct drbg_kat kat1453 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1453_t +}; + +static const unsigned char kat1454_entropyin[] = { + 0x08, 0x41, 0x8b, 0xb6, 0x47, 0x64, 0x55, 0x94, 0x8c, 0xb8, 0x85, 0x21, + 0xd1, 0x51, 0x5d, 0xc0, +}; +static const unsigned char kat1454_nonce[] = { + 0x84, 0x84, 0x16, 0x4b, 0x1a, 0xfc, 0x42, 0xf1, +}; +static const unsigned char kat1454_persstr[] = {0}; +static const unsigned char kat1454_entropyinreseed[] = { + 0xae, 0x4a, 0x02, 0xa4, 0x06, 0x36, 0x02, 0x4f, 0xce, 0x89, 0x33, 0x5f, + 0x6e, 0xe1, 0x1d, 0xf2, +}; +static const unsigned char kat1454_addinreseed[] = {0}; +static const unsigned char kat1454_addin0[] = {0}; +static const unsigned char kat1454_addin1[] = {0}; +static const unsigned char kat1454_retbits[] = { + 0x59, 0xb3, 0x45, 0xad, 0x05, 0xa9, 0xd2, 0xf5, 0xc4, 0x2a, 0xda, 0xb3, + 0xe7, 0x90, 0xe1, 0xe7, 0x2d, 0x00, 0x22, 0xa2, 0xcf, 0x83, 0x40, 0xcb, + 0x5c, 0xea, 0x93, 0x82, 0xad, 0x97, 0xe1, 0xac, 0x63, 0x17, 0xfc, 0x02, + 0x85, 0x09, 0x51, 0xfa, 0x05, 0xb9, 0x11, 0x9d, 0x82, 0xaf, 0x59, 0xdc, + 0x24, 0x1d, 0xfb, 0x62, 0x4d, 0x8c, 0xc4, 0x37, 0xf9, 0xa8, 0xae, 0xe3, + 0xe1, 0xc6, 0x4e, 0x9c, +}; +static const struct drbg_kat_pr_false kat1454_t = { + 13, kat1454_entropyin, kat1454_nonce, kat1454_persstr, + kat1454_entropyinreseed, kat1454_addinreseed, kat1454_addin0, + kat1454_addin1, kat1454_retbits +}; +static const struct drbg_kat kat1454 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1454_t +}; + +static const unsigned char kat1455_entropyin[] = { + 0xc9, 0xb8, 0xd7, 0xeb, 0x0a, 0xfa, 0x58, 0x89, 0xe7, 0xf9, 0xb7, 0x8a, + 0x50, 0xed, 0x45, 0x3c, +}; +static const unsigned char kat1455_nonce[] = { + 0x30, 0x58, 0xba, 0x34, 0x7e, 0xcd, 0x11, 0xb1, +}; +static const unsigned char kat1455_persstr[] = {0}; +static const unsigned char kat1455_entropyinreseed[] = { + 0x64, 0x36, 0x86, 0xb8, 0x62, 0x66, 0xd9, 0x11, 0x1f, 0x29, 0xeb, 0x38, + 0x9e, 0x11, 0x84, 0xb4, +}; +static const unsigned char kat1455_addinreseed[] = {0}; +static const unsigned char kat1455_addin0[] = {0}; +static const unsigned char kat1455_addin1[] = {0}; +static const unsigned char kat1455_retbits[] = { + 0x0a, 0x8c, 0xca, 0xdc, 0x1c, 0x5c, 0xbd, 0x20, 0xb8, 0xce, 0x32, 0xf9, + 0x42, 0x50, 0x5e, 0x65, 0x4b, 0x91, 0xa4, 0xe9, 0x41, 0x0e, 0x0e, 0xa6, + 0x27, 0xc9, 0x61, 0xd6, 0x32, 0xd3, 0xbe, 0x71, 0xd6, 0xa7, 0xdf, 0xd6, + 0x4b, 0x8f, 0x70, 0xd2, 0x8f, 0xf9, 0x18, 0x69, 0xb9, 0x2c, 0xed, 0x90, + 0x8b, 0x45, 0x49, 0x36, 0xb6, 0xd1, 0x8f, 0xcd, 0xdd, 0x7f, 0xb7, 0x72, + 0x16, 0xcc, 0xc4, 0x04, +}; +static const struct drbg_kat_pr_false kat1455_t = { + 14, kat1455_entropyin, kat1455_nonce, kat1455_persstr, + kat1455_entropyinreseed, kat1455_addinreseed, kat1455_addin0, + kat1455_addin1, kat1455_retbits +}; +static const struct drbg_kat kat1455 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1455_t +}; + +static const unsigned char kat1456_entropyin[] = { + 0x28, 0x5d, 0xa6, 0xcf, 0x76, 0x25, 0x52, 0x63, 0x46, 0x36, 0xbf, 0xee, + 0x34, 0x00, 0xb1, 0x56, +}; +static const unsigned char kat1456_nonce[] = { + 0x8f, 0x8b, 0xad, 0xa7, 0x48, 0x20, 0xcb, 0x43, +}; +static const unsigned char kat1456_persstr[] = {0}; +static const unsigned char kat1456_entropyinreseed[] = { + 0xb4, 0x69, 0x9b, 0x33, 0x35, 0x4a, 0x83, 0xbf, 0xed, 0x11, 0x5f, 0x77, + 0x0f, 0x32, 0xdb, 0x0b, +}; +static const unsigned char kat1456_addinreseed[] = { + 0x38, 0xbf, 0xec, 0x9a, 0x10, 0xe6, 0xe4, 0x0c, 0x10, 0x68, 0x41, 0xda, + 0xe4, 0x8d, 0xc3, 0xb8, +}; +static const unsigned char kat1456_addin0[] = { + 0x62, 0x9e, 0xad, 0x5b, 0xac, 0xfa, 0xc8, 0x23, 0x57, 0x11, 0xff, 0xeb, + 0x22, 0xf5, 0x75, 0x58, +}; +static const unsigned char kat1456_addin1[] = { + 0xdd, 0x8a, 0x02, 0xee, 0x66, 0x8c, 0xa3, 0xe0, 0x39, 0x49, 0xb3, 0x8c, + 0xb6, 0xe6, 0xb4, 0xdf, +}; +static const unsigned char kat1456_retbits[] = { + 0xe5, 0x55, 0xaa, 0x44, 0x32, 0xbd, 0xe0, 0x4d, 0xcf, 0x0f, 0x0b, 0x03, + 0xea, 0xd1, 0x87, 0xb3, 0x1d, 0xf0, 0x66, 0x53, 0xd4, 0x44, 0x23, 0x4b, + 0x5c, 0x1b, 0xfc, 0x11, 0xb2, 0x24, 0x28, 0x5f, 0x2f, 0xb2, 0xb6, 0xcd, + 0xd5, 0xa9, 0xae, 0x6f, 0x13, 0xd9, 0x9b, 0xd0, 0x2c, 0x3c, 0x9f, 0xe9, + 0xc3, 0xc1, 0xbe, 0x46, 0xa6, 0x00, 0xf5, 0xf7, 0x57, 0xab, 0x45, 0x74, + 0xaf, 0x89, 0x35, 0x01, +}; +static const struct drbg_kat_pr_false kat1456_t = { + 0, kat1456_entropyin, kat1456_nonce, kat1456_persstr, + kat1456_entropyinreseed, kat1456_addinreseed, kat1456_addin0, + kat1456_addin1, kat1456_retbits +}; +static const struct drbg_kat kat1456 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1456_t +}; + +static const unsigned char kat1457_entropyin[] = { + 0x80, 0x09, 0x4b, 0x91, 0xc3, 0x45, 0x07, 0xfc, 0x55, 0xfd, 0xd0, 0x9a, + 0xde, 0x25, 0xf2, 0x75, +}; +static const unsigned char kat1457_nonce[] = { + 0x72, 0x59, 0x34, 0x93, 0xd4, 0x47, 0xee, 0x20, +}; +static const unsigned char kat1457_persstr[] = {0}; +static const unsigned char kat1457_entropyinreseed[] = { + 0x7a, 0xb8, 0x6c, 0x3a, 0xd6, 0x71, 0x0f, 0xd4, 0x9e, 0x92, 0x3d, 0xae, + 0xfd, 0x4a, 0x8e, 0xf7, +}; +static const unsigned char kat1457_addinreseed[] = { + 0xdf, 0x5b, 0x78, 0x93, 0x06, 0xbc, 0xf3, 0x20, 0xb7, 0x6f, 0xa3, 0x74, + 0xe5, 0x71, 0x08, 0x29, +}; +static const unsigned char kat1457_addin0[] = { + 0x36, 0x2a, 0x4c, 0x6e, 0x92, 0x88, 0x5f, 0x44, 0x4a, 0x49, 0x53, 0x3f, + 0xc5, 0x1d, 0x17, 0x11, +}; +static const unsigned char kat1457_addin1[] = { + 0x42, 0x14, 0x53, 0x27, 0x18, 0x7e, 0x1b, 0x57, 0x08, 0x69, 0xba, 0x8f, + 0xa4, 0xfa, 0x94, 0x2e, +}; +static const unsigned char kat1457_retbits[] = { + 0x98, 0x49, 0x57, 0x3c, 0xd8, 0xbc, 0x10, 0x3e, 0x7d, 0x62, 0x24, 0xe7, + 0x99, 0x73, 0xdb, 0x79, 0xc2, 0x0b, 0x0a, 0x31, 0xf7, 0x3d, 0x8a, 0xf3, + 0x57, 0xcb, 0x1c, 0x79, 0x7a, 0x84, 0x35, 0x09, 0x66, 0x7a, 0x53, 0xa6, + 0xe2, 0x21, 0xc3, 0x36, 0x97, 0x9f, 0x52, 0x55, 0x19, 0x27, 0x74, 0xc6, + 0x5f, 0x3e, 0xba, 0x7a, 0x30, 0x16, 0x39, 0xc0, 0x2b, 0x8a, 0x52, 0x36, + 0x25, 0x19, 0x5d, 0xf4, +}; +static const struct drbg_kat_pr_false kat1457_t = { + 1, kat1457_entropyin, kat1457_nonce, kat1457_persstr, + kat1457_entropyinreseed, kat1457_addinreseed, kat1457_addin0, + kat1457_addin1, kat1457_retbits +}; +static const struct drbg_kat kat1457 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1457_t +}; + +static const unsigned char kat1458_entropyin[] = { + 0x25, 0xc9, 0x0d, 0x87, 0xe7, 0x7d, 0x6c, 0x27, 0x97, 0xe5, 0xdc, 0x27, + 0xd0, 0x4c, 0xf7, 0x32, +}; +static const unsigned char kat1458_nonce[] = { + 0x64, 0xe9, 0xf6, 0x73, 0x3d, 0x25, 0x1c, 0x65, +}; +static const unsigned char kat1458_persstr[] = {0}; +static const unsigned char kat1458_entropyinreseed[] = { + 0x13, 0xcb, 0x8b, 0xa8, 0xb3, 0x46, 0xc4, 0xef, 0xaf, 0xaa, 0xf8, 0x4e, + 0x6a, 0xbf, 0xaa, 0x4a, +}; +static const unsigned char kat1458_addinreseed[] = { + 0x30, 0x62, 0x7e, 0x21, 0xe4, 0x58, 0x90, 0xb7, 0xa9, 0xb3, 0xf3, 0x19, + 0x21, 0x0c, 0x28, 0xb4, +}; +static const unsigned char kat1458_addin0[] = { + 0xd6, 0x09, 0x04, 0x86, 0xba, 0xa3, 0xb3, 0x6f, 0x41, 0x90, 0x30, 0xd5, + 0x49, 0x4f, 0xe2, 0x4f, +}; +static const unsigned char kat1458_addin1[] = { + 0x23, 0x1f, 0x2a, 0xa8, 0xf0, 0xe2, 0x54, 0xf9, 0x2d, 0xaa, 0x38, 0xc0, + 0x4e, 0x8d, 0xc9, 0xaa, +}; +static const unsigned char kat1458_retbits[] = { + 0xda, 0x1f, 0x07, 0xfb, 0x23, 0x29, 0x5e, 0xc1, 0x7e, 0x31, 0x43, 0xfd, + 0xc0, 0x3a, 0xa3, 0x99, 0x4c, 0xd5, 0xa8, 0x8d, 0xcd, 0xa3, 0xb5, 0x0e, + 0x17, 0xa9, 0xc1, 0x3d, 0x85, 0x9c, 0xf2, 0xd7, 0xc9, 0x0d, 0x0d, 0x39, + 0xe0, 0x4e, 0x13, 0xd3, 0x18, 0x03, 0xd7, 0xf1, 0xc9, 0xec, 0x47, 0xbe, + 0x15, 0xa5, 0x56, 0x02, 0x1e, 0x83, 0xde, 0x46, 0x4b, 0x18, 0x3d, 0x43, + 0x61, 0x71, 0xff, 0x72, +}; +static const struct drbg_kat_pr_false kat1458_t = { + 2, kat1458_entropyin, kat1458_nonce, kat1458_persstr, + kat1458_entropyinreseed, kat1458_addinreseed, kat1458_addin0, + kat1458_addin1, kat1458_retbits +}; +static const struct drbg_kat kat1458 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1458_t +}; + +static const unsigned char kat1459_entropyin[] = { + 0x68, 0x5d, 0x89, 0xe5, 0x47, 0xbd, 0x79, 0x7f, 0xc0, 0xb7, 0x86, 0x62, + 0x82, 0x5e, 0xc5, 0x30, +}; +static const unsigned char kat1459_nonce[] = { + 0x29, 0x47, 0x67, 0x58, 0xb4, 0xcd, 0x07, 0x27, +}; +static const unsigned char kat1459_persstr[] = {0}; +static const unsigned char kat1459_entropyinreseed[] = { + 0x82, 0xd8, 0xf6, 0x2b, 0x1d, 0x15, 0x93, 0x22, 0x4c, 0x26, 0x9f, 0x49, + 0xf3, 0xf2, 0xed, 0x95, +}; +static const unsigned char kat1459_addinreseed[] = { + 0x1a, 0xbc, 0xa0, 0xdf, 0xea, 0x4b, 0x28, 0x65, 0x97, 0x64, 0xa8, 0x5a, + 0x30, 0xb5, 0x90, 0xc1, +}; +static const unsigned char kat1459_addin0[] = { + 0xb8, 0x47, 0x89, 0x14, 0xd9, 0x19, 0xec, 0x5c, 0xc4, 0xd3, 0xb4, 0xf8, + 0x3b, 0xf2, 0x4e, 0xe1, +}; +static const unsigned char kat1459_addin1[] = { + 0xac, 0x57, 0xc3, 0x88, 0xd1, 0xa9, 0x59, 0x90, 0x24, 0xc3, 0x01, 0xf7, + 0xe1, 0x6d, 0xd7, 0x6c, +}; +static const unsigned char kat1459_retbits[] = { + 0x0d, 0xb2, 0x21, 0x81, 0x9e, 0xcc, 0xb0, 0x9c, 0xc0, 0x79, 0xb8, 0x87, + 0xf5, 0xb7, 0x73, 0x81, 0xd4, 0x89, 0xf9, 0xfe, 0x9e, 0x25, 0xe5, 0x7f, + 0xb1, 0xc8, 0x82, 0x3f, 0xc8, 0xeb, 0x12, 0xea, 0xef, 0x5d, 0xce, 0x0e, + 0x1a, 0x91, 0xc2, 0xa6, 0x98, 0x3c, 0x8b, 0x20, 0x11, 0x5e, 0x54, 0x47, + 0xd9, 0xfc, 0x67, 0x19, 0xea, 0x22, 0x9d, 0x98, 0xa6, 0x8c, 0x79, 0xc5, + 0xca, 0x26, 0x94, 0x0e, +}; +static const struct drbg_kat_pr_false kat1459_t = { + 3, kat1459_entropyin, kat1459_nonce, kat1459_persstr, + kat1459_entropyinreseed, kat1459_addinreseed, kat1459_addin0, + kat1459_addin1, kat1459_retbits +}; +static const struct drbg_kat kat1459 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1459_t +}; + +static const unsigned char kat1460_entropyin[] = { + 0x5a, 0x37, 0x06, 0x86, 0x0a, 0x27, 0x7e, 0x90, 0x90, 0x06, 0x79, 0x2b, + 0xe9, 0x89, 0xd6, 0xae, +}; +static const unsigned char kat1460_nonce[] = { + 0x73, 0x9c, 0x68, 0x13, 0xda, 0xbf, 0x35, 0x0c, +}; +static const unsigned char kat1460_persstr[] = {0}; +static const unsigned char kat1460_entropyinreseed[] = { + 0x5e, 0xa8, 0x03, 0x01, 0x1a, 0x5e, 0xe4, 0xd4, 0x26, 0xc1, 0x28, 0x58, + 0x89, 0xa1, 0xad, 0xc6, +}; +static const unsigned char kat1460_addinreseed[] = { + 0xd3, 0x73, 0x8e, 0xa4, 0x96, 0x66, 0x79, 0xa2, 0xb4, 0xfd, 0x28, 0x59, + 0x4c, 0x0b, 0xfe, 0x31, +}; +static const unsigned char kat1460_addin0[] = { + 0x9f, 0xf2, 0x4c, 0xd5, 0xb8, 0xe9, 0x71, 0x6f, 0xfc, 0x96, 0x51, 0x2d, + 0x84, 0xe1, 0x9e, 0xca, +}; +static const unsigned char kat1460_addin1[] = { + 0x4e, 0xe9, 0xd4, 0x68, 0xca, 0x01, 0x6d, 0x92, 0xef, 0x40, 0xa8, 0x8b, + 0xb4, 0x16, 0x87, 0xb7, +}; +static const unsigned char kat1460_retbits[] = { + 0x28, 0x95, 0xa3, 0x3b, 0x3a, 0x46, 0xd7, 0x30, 0xd3, 0x3c, 0x0d, 0xc7, + 0x09, 0xda, 0x66, 0x68, 0x23, 0x6c, 0xf7, 0x02, 0xa4, 0xc8, 0xbb, 0xb7, + 0x0c, 0x7d, 0xfe, 0x18, 0x2a, 0xb9, 0xf5, 0x16, 0x30, 0xb6, 0x19, 0x3f, + 0x3a, 0x05, 0x86, 0xd5, 0x56, 0x97, 0x59, 0xff, 0xb0, 0x7c, 0xf3, 0xfa, + 0x57, 0x23, 0x5e, 0x84, 0x18, 0x8b, 0xc1, 0x7f, 0xf3, 0xb1, 0x40, 0x2a, + 0x26, 0x2e, 0x5f, 0x5d, +}; +static const struct drbg_kat_pr_false kat1460_t = { + 4, kat1460_entropyin, kat1460_nonce, kat1460_persstr, + kat1460_entropyinreseed, kat1460_addinreseed, kat1460_addin0, + kat1460_addin1, kat1460_retbits +}; +static const struct drbg_kat kat1460 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1460_t +}; + +static const unsigned char kat1461_entropyin[] = { + 0xfa, 0x23, 0x2a, 0x56, 0xf2, 0x40, 0x71, 0xf5, 0xbb, 0x27, 0x4d, 0x08, + 0xf3, 0x0d, 0xbb, 0xcd, +}; +static const unsigned char kat1461_nonce[] = { + 0x39, 0x49, 0x71, 0x4e, 0x12, 0x0b, 0xc1, 0xa2, +}; +static const unsigned char kat1461_persstr[] = {0}; +static const unsigned char kat1461_entropyinreseed[] = { + 0x7a, 0xee, 0xd4, 0xb2, 0x0a, 0x2f, 0xf2, 0x1b, 0x04, 0x06, 0x4b, 0xd4, + 0xf7, 0xc6, 0xc7, 0xbf, +}; +static const unsigned char kat1461_addinreseed[] = { + 0x0d, 0x51, 0x2a, 0x99, 0x8c, 0x51, 0x73, 0xc7, 0x1a, 0xae, 0x64, 0xf9, + 0xcd, 0x37, 0xad, 0xa8, +}; +static const unsigned char kat1461_addin0[] = { + 0x78, 0x4c, 0x95, 0x23, 0xfc, 0xc8, 0xec, 0x23, 0x8a, 0x40, 0xe7, 0xf2, + 0xf1, 0x64, 0xde, 0x49, +}; +static const unsigned char kat1461_addin1[] = { + 0x97, 0xfc, 0xea, 0x81, 0x96, 0xb1, 0xe4, 0x2c, 0x6b, 0xc9, 0x14, 0x5e, + 0xf9, 0xf8, 0x4e, 0x63, +}; +static const unsigned char kat1461_retbits[] = { + 0x7c, 0x21, 0xd0, 0x6a, 0xf2, 0xe5, 0xde, 0x04, 0xc5, 0x84, 0x5a, 0x63, + 0xe1, 0x8a, 0xc7, 0xc2, 0x6c, 0xbe, 0x8a, 0xa4, 0x83, 0x91, 0x83, 0xf5, + 0x2c, 0x0a, 0x65, 0xc2, 0x96, 0x58, 0x4d, 0x22, 0x3d, 0xad, 0x6f, 0x46, + 0xb5, 0xeb, 0xaa, 0x24, 0xcc, 0xb3, 0xef, 0x9e, 0xf5, 0x52, 0xa6, 0x86, + 0xeb, 0xba, 0xcd, 0x49, 0x00, 0x7e, 0x50, 0x18, 0x51, 0x6d, 0x47, 0x78, + 0xac, 0x56, 0x59, 0xc4, +}; +static const struct drbg_kat_pr_false kat1461_t = { + 5, kat1461_entropyin, kat1461_nonce, kat1461_persstr, + kat1461_entropyinreseed, kat1461_addinreseed, kat1461_addin0, + kat1461_addin1, kat1461_retbits +}; +static const struct drbg_kat kat1461 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1461_t +}; + +static const unsigned char kat1462_entropyin[] = { + 0x85, 0xf2, 0xfa, 0x44, 0xbb, 0xb7, 0xdc, 0xa1, 0xbb, 0x39, 0x07, 0x58, + 0x57, 0x7d, 0xb4, 0x23, +}; +static const unsigned char kat1462_nonce[] = { + 0x94, 0x10, 0xd4, 0x60, 0xfe, 0xe6, 0x94, 0x33, +}; +static const unsigned char kat1462_persstr[] = {0}; +static const unsigned char kat1462_entropyinreseed[] = { + 0x22, 0xbb, 0x05, 0x70, 0xe4, 0x62, 0xa6, 0x35, 0x64, 0x35, 0x9c, 0xbc, + 0x80, 0x5f, 0x21, 0x87, +}; +static const unsigned char kat1462_addinreseed[] = { + 0x9a, 0x49, 0xe3, 0xcd, 0x41, 0x33, 0x84, 0x3c, 0x38, 0x7b, 0x4d, 0xa9, + 0xc6, 0xb0, 0x48, 0xe1, +}; +static const unsigned char kat1462_addin0[] = { + 0xf5, 0x5b, 0xfa, 0xc5, 0xb9, 0x3b, 0x60, 0xcb, 0xe6, 0x5e, 0x81, 0x8e, + 0xcd, 0xd5, 0xb8, 0x85, +}; +static const unsigned char kat1462_addin1[] = { + 0x4a, 0x25, 0xf1, 0xfd, 0xba, 0x66, 0xa5, 0x2e, 0xa2, 0x26, 0xa9, 0x84, + 0x10, 0x13, 0x99, 0x66, +}; +static const unsigned char kat1462_retbits[] = { + 0x90, 0xb2, 0x0a, 0xcd, 0x62, 0x03, 0xf7, 0xe9, 0x45, 0x99, 0x35, 0x92, + 0xbc, 0x16, 0x85, 0x09, 0x98, 0x76, 0xc6, 0xe3, 0xb7, 0x01, 0x6b, 0xdd, + 0x35, 0xff, 0x40, 0xd0, 0x93, 0x62, 0x76, 0x50, 0x13, 0x8c, 0xb5, 0x5d, + 0x0d, 0x9d, 0x90, 0x73, 0x39, 0xb1, 0xca, 0x28, 0x0c, 0x38, 0x37, 0x4f, + 0x85, 0xde, 0x1d, 0x59, 0x05, 0x65, 0xf9, 0x57, 0x15, 0x82, 0xa9, 0xb9, + 0x2c, 0x66, 0x39, 0x04, +}; +static const struct drbg_kat_pr_false kat1462_t = { + 6, kat1462_entropyin, kat1462_nonce, kat1462_persstr, + kat1462_entropyinreseed, kat1462_addinreseed, kat1462_addin0, + kat1462_addin1, kat1462_retbits +}; +static const struct drbg_kat kat1462 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1462_t +}; + +static const unsigned char kat1463_entropyin[] = { + 0xd3, 0x79, 0x39, 0x53, 0x75, 0xd6, 0x1d, 0xdb, 0x6e, 0xc6, 0xa1, 0x56, + 0xdb, 0xed, 0x82, 0xf4, +}; +static const unsigned char kat1463_nonce[] = { + 0x02, 0x3d, 0x15, 0xf0, 0xc2, 0xe6, 0x52, 0x0f, +}; +static const unsigned char kat1463_persstr[] = {0}; +static const unsigned char kat1463_entropyinreseed[] = { + 0xbd, 0x64, 0x6f, 0x98, 0xfd, 0x89, 0xf2, 0xda, 0xf0, 0xbc, 0x2d, 0xbf, + 0x98, 0xc1, 0x63, 0xb8, +}; +static const unsigned char kat1463_addinreseed[] = { + 0xb3, 0xcb, 0x86, 0x2d, 0x24, 0x1a, 0x39, 0x0a, 0xcc, 0xcf, 0x1e, 0x52, + 0x15, 0xb6, 0x85, 0x68, +}; +static const unsigned char kat1463_addin0[] = { + 0xac, 0x3f, 0x73, 0x9d, 0x30, 0x52, 0x6a, 0x58, 0xb2, 0x3a, 0x7c, 0xb7, + 0xde, 0x91, 0x5c, 0x55, +}; +static const unsigned char kat1463_addin1[] = { + 0x35, 0x93, 0xa0, 0x16, 0x4a, 0x6b, 0xcb, 0x02, 0xfa, 0x32, 0xa4, 0x52, + 0xd2, 0x68, 0xd1, 0x99, +}; +static const unsigned char kat1463_retbits[] = { + 0x12, 0x24, 0xce, 0x5b, 0x56, 0x85, 0x30, 0x64, 0xb7, 0x62, 0x62, 0x41, + 0x7c, 0xcf, 0xd5, 0x2d, 0x18, 0xc2, 0x55, 0x1c, 0x2c, 0x1f, 0x1d, 0xd5, + 0x9d, 0x6d, 0x70, 0x74, 0x29, 0x3a, 0xfe, 0x35, 0x12, 0x90, 0xcc, 0xa1, + 0x8e, 0x14, 0x8e, 0x12, 0xfd, 0x2d, 0x0c, 0x03, 0x50, 0x6f, 0x69, 0x3a, + 0xbf, 0xcc, 0x28, 0xd0, 0xf2, 0x15, 0x67, 0x63, 0x4f, 0xe2, 0x16, 0x6d, + 0xd3, 0x10, 0xb6, 0x0e, +}; +static const struct drbg_kat_pr_false kat1463_t = { + 7, kat1463_entropyin, kat1463_nonce, kat1463_persstr, + kat1463_entropyinreseed, kat1463_addinreseed, kat1463_addin0, + kat1463_addin1, kat1463_retbits +}; +static const struct drbg_kat kat1463 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1463_t +}; + +static const unsigned char kat1464_entropyin[] = { + 0x19, 0x17, 0xad, 0xc4, 0x0a, 0x5e, 0x12, 0x44, 0xba, 0x80, 0xb1, 0x41, + 0x32, 0x2e, 0x5c, 0xc0, +}; +static const unsigned char kat1464_nonce[] = { + 0x0e, 0x6b, 0xf2, 0xe2, 0x97, 0xd6, 0x54, 0xb2, +}; +static const unsigned char kat1464_persstr[] = {0}; +static const unsigned char kat1464_entropyinreseed[] = { + 0xbe, 0x43, 0xba, 0xc3, 0x69, 0xfa, 0x80, 0xde, 0x6a, 0x20, 0xb7, 0x84, + 0xca, 0x1e, 0x46, 0xa1, +}; +static const unsigned char kat1464_addinreseed[] = { + 0xc9, 0x0e, 0x30, 0x31, 0x0f, 0x33, 0xee, 0x1a, 0x92, 0xc6, 0x2a, 0x4c, + 0x34, 0x5e, 0x0d, 0x97, +}; +static const unsigned char kat1464_addin0[] = { + 0xcb, 0x46, 0xd6, 0xd4, 0x01, 0x3d, 0xbe, 0x30, 0x46, 0xa6, 0xc8, 0x1f, + 0x4f, 0xb1, 0x40, 0x5f, +}; +static const unsigned char kat1464_addin1[] = { + 0x2a, 0xea, 0x60, 0x3c, 0xfb, 0xb4, 0x2c, 0x55, 0xf6, 0x41, 0x90, 0x33, + 0x44, 0xe2, 0x8a, 0x78, +}; +static const unsigned char kat1464_retbits[] = { + 0xe0, 0x8a, 0xaa, 0x8a, 0x1b, 0xdd, 0x54, 0x1b, 0xb3, 0xa1, 0x21, 0x6b, + 0xb9, 0x9b, 0xfb, 0xa3, 0x8c, 0x9a, 0x91, 0x71, 0x83, 0xc7, 0x3f, 0x62, + 0x37, 0x35, 0xe5, 0xd9, 0xf5, 0xcd, 0xd3, 0x05, 0xc3, 0x39, 0x75, 0xcc, + 0xc6, 0x99, 0xe1, 0x8a, 0x69, 0x9d, 0x55, 0xdf, 0xc8, 0xa7, 0x2c, 0x2d, + 0xf0, 0xd6, 0x66, 0x03, 0x22, 0x15, 0xcf, 0x79, 0xd2, 0xe8, 0x79, 0x30, + 0xef, 0x86, 0x50, 0xa0, +}; +static const struct drbg_kat_pr_false kat1464_t = { + 8, kat1464_entropyin, kat1464_nonce, kat1464_persstr, + kat1464_entropyinreseed, kat1464_addinreseed, kat1464_addin0, + kat1464_addin1, kat1464_retbits +}; +static const struct drbg_kat kat1464 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1464_t +}; + +static const unsigned char kat1465_entropyin[] = { + 0xc9, 0x96, 0x3a, 0x15, 0x51, 0x76, 0x4f, 0xe0, 0x45, 0x82, 0x8a, 0x64, + 0x87, 0xbe, 0xaa, 0xc0, +}; +static const unsigned char kat1465_nonce[] = { + 0x08, 0xcd, 0x69, 0x39, 0xf8, 0x58, 0x9a, 0x85, +}; +static const unsigned char kat1465_persstr[] = {0}; +static const unsigned char kat1465_entropyinreseed[] = { + 0x16, 0xcc, 0x35, 0x15, 0xb1, 0x17, 0xf5, 0x33, 0x80, 0x9a, 0x80, 0xc5, + 0x1f, 0x4b, 0x7b, 0x51, +}; +static const unsigned char kat1465_addinreseed[] = { + 0xf5, 0x3d, 0xf1, 0x2e, 0xdb, 0x28, 0x1c, 0x00, 0x7b, 0xcb, 0xb6, 0x12, + 0x61, 0x9f, 0x26, 0x5f, +}; +static const unsigned char kat1465_addin0[] = { + 0xe2, 0x67, 0x06, 0x62, 0x09, 0xa7, 0xcf, 0xd6, 0x84, 0x8c, 0x20, 0xf6, + 0x10, 0x5a, 0x73, 0x9c, +}; +static const unsigned char kat1465_addin1[] = { + 0x26, 0xfa, 0x50, 0xe1, 0xb3, 0xcb, 0x65, 0xed, 0xbc, 0x6d, 0xda, 0x18, + 0x47, 0x99, 0x1f, 0xeb, +}; +static const unsigned char kat1465_retbits[] = { + 0xf9, 0x47, 0xc6, 0xb0, 0x58, 0xa8, 0x66, 0x8a, 0xf5, 0x2b, 0x2a, 0x6d, + 0x4e, 0x24, 0x6f, 0x65, 0xbf, 0x51, 0x22, 0xbf, 0xe8, 0x8d, 0x6c, 0xeb, + 0xf9, 0x68, 0x7f, 0xed, 0x3b, 0xdd, 0x6b, 0xd5, 0x28, 0x47, 0x56, 0x52, + 0xda, 0x50, 0xf0, 0x90, 0x73, 0x95, 0x06, 0x58, 0xaf, 0x08, 0x98, 0x6e, + 0x24, 0x18, 0xfd, 0x2f, 0x48, 0x72, 0x57, 0xd6, 0x59, 0xab, 0xe9, 0x41, + 0x58, 0xdb, 0x27, 0xba, +}; +static const struct drbg_kat_pr_false kat1465_t = { + 9, kat1465_entropyin, kat1465_nonce, kat1465_persstr, + kat1465_entropyinreseed, kat1465_addinreseed, kat1465_addin0, + kat1465_addin1, kat1465_retbits +}; +static const struct drbg_kat kat1465 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1465_t +}; + +static const unsigned char kat1466_entropyin[] = { + 0x39, 0xec, 0xf1, 0xb6, 0xa0, 0xb4, 0xcc, 0x2f, 0xf0, 0x9f, 0x57, 0x00, + 0x56, 0xd1, 0xa8, 0xcf, +}; +static const unsigned char kat1466_nonce[] = { + 0xb3, 0x15, 0xf7, 0x64, 0x0b, 0xcc, 0xc2, 0xa0, +}; +static const unsigned char kat1466_persstr[] = {0}; +static const unsigned char kat1466_entropyinreseed[] = { + 0xd7, 0x45, 0xe6, 0x14, 0xcc, 0x56, 0x31, 0x5a, 0xc7, 0x5c, 0x7a, 0xae, + 0x55, 0x30, 0x26, 0xb9, +}; +static const unsigned char kat1466_addinreseed[] = { + 0xc3, 0xc6, 0x61, 0x9e, 0x82, 0x9b, 0x70, 0x2c, 0x84, 0x5b, 0x89, 0x14, + 0xb1, 0x57, 0xae, 0x7d, +}; +static const unsigned char kat1466_addin0[] = { + 0xac, 0x85, 0x82, 0x3f, 0xc3, 0x64, 0x59, 0x17, 0x05, 0x83, 0xfc, 0x37, + 0x13, 0xcf, 0x90, 0xb7, +}; +static const unsigned char kat1466_addin1[] = { + 0x5e, 0x0f, 0x42, 0x29, 0xcf, 0xd0, 0x12, 0x41, 0x68, 0x5a, 0xe1, 0x8b, + 0x93, 0xd7, 0x0b, 0xed, +}; +static const unsigned char kat1466_retbits[] = { + 0x46, 0x0c, 0xfe, 0xbc, 0x9d, 0x30, 0x1c, 0x5e, 0x5a, 0xa6, 0x83, 0x28, + 0xb3, 0xb5, 0x11, 0x43, 0xde, 0x26, 0xeb, 0xb4, 0x79, 0xff, 0x92, 0xdb, + 0x1d, 0x6b, 0x49, 0x7e, 0x68, 0x50, 0x90, 0x08, 0xab, 0xc4, 0xfd, 0x69, + 0x0e, 0x61, 0x10, 0x7e, 0x2a, 0xfa, 0x15, 0x36, 0x7f, 0x5d, 0x74, 0x1b, + 0x3a, 0x0f, 0xb0, 0x04, 0x51, 0x31, 0xc0, 0x50, 0x41, 0xb2, 0xd8, 0x05, + 0xca, 0xf7, 0xef, 0xcb, +}; +static const struct drbg_kat_pr_false kat1466_t = { + 10, kat1466_entropyin, kat1466_nonce, kat1466_persstr, + kat1466_entropyinreseed, kat1466_addinreseed, kat1466_addin0, + kat1466_addin1, kat1466_retbits +}; +static const struct drbg_kat kat1466 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1466_t +}; + +static const unsigned char kat1467_entropyin[] = { + 0x88, 0xfe, 0x06, 0x58, 0x04, 0x7c, 0xfb, 0x81, 0xa7, 0xae, 0x0d, 0x84, + 0xcd, 0xba, 0x01, 0x41, +}; +static const unsigned char kat1467_nonce[] = { + 0xf8, 0x87, 0x91, 0xd3, 0x2b, 0x88, 0xd3, 0xaf, +}; +static const unsigned char kat1467_persstr[] = {0}; +static const unsigned char kat1467_entropyinreseed[] = { + 0xad, 0x77, 0x4c, 0xf5, 0xa5, 0x17, 0x28, 0x4a, 0xd9, 0x8b, 0xd9, 0xc4, + 0xe6, 0xbc, 0xac, 0x4b, +}; +static const unsigned char kat1467_addinreseed[] = { + 0xe6, 0x3c, 0x91, 0x63, 0x3b, 0xfa, 0x70, 0xce, 0x95, 0xae, 0x76, 0x74, + 0x18, 0x3e, 0x13, 0x7a, +}; +static const unsigned char kat1467_addin0[] = { + 0xe0, 0x3e, 0x1f, 0xa7, 0xb6, 0x4e, 0x47, 0x5f, 0x12, 0x6b, 0xec, 0x1d, + 0xb0, 0x2c, 0xa9, 0x9d, +}; +static const unsigned char kat1467_addin1[] = { + 0xc2, 0xe7, 0x52, 0xef, 0x80, 0xdb, 0x56, 0xc5, 0x7f, 0x60, 0xc2, 0x96, + 0x12, 0xb8, 0xf9, 0xff, +}; +static const unsigned char kat1467_retbits[] = { + 0x8f, 0xbe, 0x91, 0x06, 0x0a, 0x48, 0x0f, 0xea, 0xcd, 0x4c, 0x63, 0xf9, + 0x2b, 0x31, 0x8f, 0x97, 0x03, 0xf8, 0x88, 0x9a, 0xe9, 0xf4, 0xd5, 0xa1, + 0xd0, 0x25, 0x3f, 0x90, 0xf5, 0xa3, 0xe7, 0x8a, 0xa6, 0x0b, 0xbf, 0xac, + 0x0e, 0xc1, 0x5e, 0x97, 0x24, 0x4e, 0xff, 0x29, 0x46, 0xec, 0x14, 0xe6, + 0x99, 0xd0, 0x6f, 0xf9, 0xcc, 0x87, 0x06, 0xc0, 0x58, 0x2d, 0xfd, 0x08, + 0xb5, 0x13, 0x84, 0x85, +}; +static const struct drbg_kat_pr_false kat1467_t = { + 11, kat1467_entropyin, kat1467_nonce, kat1467_persstr, + kat1467_entropyinreseed, kat1467_addinreseed, kat1467_addin0, + kat1467_addin1, kat1467_retbits +}; +static const struct drbg_kat kat1467 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1467_t +}; + +static const unsigned char kat1468_entropyin[] = { + 0xa3, 0x26, 0xb3, 0x55, 0x7e, 0xc1, 0xc1, 0xf9, 0xe8, 0x72, 0x21, 0x1d, + 0x0e, 0xe4, 0x8e, 0x81, +}; +static const unsigned char kat1468_nonce[] = { + 0xfc, 0xc9, 0x33, 0x6b, 0x24, 0x6f, 0x54, 0x8c, +}; +static const unsigned char kat1468_persstr[] = {0}; +static const unsigned char kat1468_entropyinreseed[] = { + 0x00, 0x06, 0x2d, 0xac, 0xc2, 0x7f, 0x5f, 0x67, 0x23, 0x45, 0x88, 0xd6, + 0x8b, 0x85, 0x47, 0xe6, +}; +static const unsigned char kat1468_addinreseed[] = { + 0xc5, 0xe4, 0xb9, 0x29, 0x06, 0x93, 0xf3, 0x56, 0xea, 0xb6, 0x55, 0xda, + 0x19, 0xd5, 0xa6, 0xf9, +}; +static const unsigned char kat1468_addin0[] = { + 0xf9, 0xc7, 0x91, 0xd8, 0x74, 0x11, 0xa7, 0xe7, 0xc6, 0x7d, 0x9a, 0xb8, + 0x98, 0x7e, 0x05, 0x5d, +}; +static const unsigned char kat1468_addin1[] = { + 0x94, 0xf8, 0xba, 0xb2, 0xda, 0xa9, 0xe0, 0xbd, 0x50, 0x78, 0xcd, 0xed, + 0x05, 0xdf, 0x26, 0x94, +}; +static const unsigned char kat1468_retbits[] = { + 0x3d, 0x0a, 0xea, 0x7e, 0x34, 0x7d, 0x33, 0x15, 0xc5, 0x56, 0x1c, 0x4a, + 0x7d, 0xbd, 0xfe, 0x1b, 0x13, 0x52, 0xc1, 0xa4, 0x76, 0xea, 0x58, 0xcb, + 0x35, 0xa4, 0x95, 0x3d, 0x53, 0xda, 0x74, 0x85, 0x3a, 0xdd, 0xf4, 0xd2, + 0x3c, 0xfc, 0xa3, 0xb2, 0x6e, 0x76, 0xc0, 0xef, 0xaa, 0x83, 0x0d, 0x1c, + 0x8d, 0xc2, 0x32, 0xd4, 0x2e, 0xe8, 0xb9, 0x61, 0x42, 0x8a, 0x8a, 0x52, + 0xb7, 0xde, 0xa8, 0x89, +}; +static const struct drbg_kat_pr_false kat1468_t = { + 12, kat1468_entropyin, kat1468_nonce, kat1468_persstr, + kat1468_entropyinreseed, kat1468_addinreseed, kat1468_addin0, + kat1468_addin1, kat1468_retbits +}; +static const struct drbg_kat kat1468 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1468_t +}; + +static const unsigned char kat1469_entropyin[] = { + 0x69, 0xbc, 0x64, 0x17, 0x57, 0x03, 0xd4, 0x09, 0x62, 0x78, 0xd7, 0x16, + 0x00, 0x2a, 0x4c, 0x6d, +}; +static const unsigned char kat1469_nonce[] = { + 0x06, 0x30, 0xcb, 0xea, 0x0b, 0xf1, 0x23, 0x71, +}; +static const unsigned char kat1469_persstr[] = {0}; +static const unsigned char kat1469_entropyinreseed[] = { + 0xe0, 0x97, 0xef, 0x5e, 0xb7, 0x39, 0x99, 0x83, 0xd3, 0xea, 0x0a, 0x13, + 0x08, 0x79, 0xee, 0x0b, +}; +static const unsigned char kat1469_addinreseed[] = { + 0xa2, 0x39, 0x61, 0xca, 0x15, 0x17, 0xb2, 0xe7, 0x68, 0x1c, 0xd5, 0x03, + 0xde, 0x2a, 0x94, 0x75, +}; +static const unsigned char kat1469_addin0[] = { + 0x7c, 0x34, 0xeb, 0xe6, 0x7e, 0xc4, 0x79, 0xff, 0x68, 0xba, 0x2f, 0x1c, + 0x9f, 0x30, 0x1a, 0xac, +}; +static const unsigned char kat1469_addin1[] = { + 0xe3, 0x89, 0x6b, 0x79, 0xa8, 0xbf, 0x25, 0x33, 0x25, 0xbb, 0xa6, 0x32, + 0xe2, 0x1b, 0x90, 0x20, +}; +static const unsigned char kat1469_retbits[] = { + 0xbc, 0x9a, 0x7c, 0x15, 0x7b, 0x4d, 0xcc, 0xe9, 0xdf, 0x14, 0x1f, 0x49, + 0xdb, 0x83, 0x9e, 0x4b, 0x40, 0xcc, 0x72, 0x5b, 0xb2, 0xf4, 0x18, 0x7b, + 0xfe, 0x07, 0xb6, 0xc3, 0xbe, 0xc4, 0x6e, 0xa6, 0x34, 0x3f, 0x4a, 0x73, + 0xf4, 0xc1, 0x9f, 0x17, 0xf6, 0x7b, 0xb0, 0x40, 0x96, 0xe0, 0xae, 0xba, + 0x64, 0x57, 0xcb, 0x51, 0x75, 0xfe, 0x66, 0x87, 0xd8, 0xe5, 0x66, 0xee, + 0x1d, 0x91, 0xca, 0x16, +}; +static const struct drbg_kat_pr_false kat1469_t = { + 13, kat1469_entropyin, kat1469_nonce, kat1469_persstr, + kat1469_entropyinreseed, kat1469_addinreseed, kat1469_addin0, + kat1469_addin1, kat1469_retbits +}; +static const struct drbg_kat kat1469 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1469_t +}; + +static const unsigned char kat1470_entropyin[] = { + 0x7d, 0x65, 0x9c, 0xf5, 0xe1, 0x83, 0x75, 0xf8, 0x0b, 0xb2, 0x9e, 0x58, + 0xd8, 0xeb, 0xe5, 0x08, +}; +static const unsigned char kat1470_nonce[] = { + 0xf7, 0x11, 0x42, 0x3c, 0x8a, 0x3b, 0x0d, 0x2d, +}; +static const unsigned char kat1470_persstr[] = {0}; +static const unsigned char kat1470_entropyinreseed[] = { + 0x61, 0x57, 0x04, 0x70, 0xa9, 0xfb, 0x75, 0x61, 0x13, 0xd3, 0x23, 0x77, + 0xd4, 0x99, 0x65, 0xf8, +}; +static const unsigned char kat1470_addinreseed[] = { + 0x0d, 0x3d, 0x3c, 0xb2, 0xd4, 0xd3, 0xc4, 0x30, 0x0c, 0x58, 0x08, 0x1e, + 0xbd, 0x37, 0x85, 0xeb, +}; +static const unsigned char kat1470_addin0[] = { + 0x73, 0x58, 0xcc, 0xaf, 0xf3, 0x70, 0x94, 0xc3, 0xc1, 0xa6, 0x88, 0x00, + 0x11, 0xa7, 0x20, 0x69, +}; +static const unsigned char kat1470_addin1[] = { + 0x48, 0xca, 0x1a, 0x7f, 0x96, 0xdc, 0x59, 0x18, 0xf9, 0xd9, 0xab, 0xd6, + 0x42, 0x3f, 0xdb, 0x8d, +}; +static const unsigned char kat1470_retbits[] = { + 0x69, 0x37, 0x79, 0x68, 0x13, 0x8d, 0x3d, 0x4e, 0xa4, 0x34, 0x26, 0xa0, + 0x25, 0x34, 0x2a, 0x58, 0x58, 0x6b, 0xef, 0x7a, 0xb2, 0x60, 0x2f, 0xe0, + 0x7d, 0x70, 0x50, 0x9e, 0x43, 0xd4, 0xc2, 0xf4, 0x96, 0x0c, 0x8e, 0xab, + 0x40, 0xb0, 0x0b, 0xbf, 0x0e, 0xb1, 0x20, 0x22, 0x34, 0x73, 0x76, 0x5f, + 0x48, 0x33, 0xbf, 0x22, 0x8b, 0x90, 0x7b, 0x79, 0x27, 0xb0, 0xf5, 0x36, + 0x42, 0x45, 0x2a, 0x81, +}; +static const struct drbg_kat_pr_false kat1470_t = { + 14, kat1470_entropyin, kat1470_nonce, kat1470_persstr, + kat1470_entropyinreseed, kat1470_addinreseed, kat1470_addin0, + kat1470_addin1, kat1470_retbits +}; +static const struct drbg_kat kat1470 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1470_t +}; + +static const unsigned char kat1471_entropyin[] = { + 0x07, 0x0d, 0x59, 0x63, 0x98, 0x73, 0xa5, 0x45, 0x27, 0x38, 0x22, 0x7b, + 0x76, 0x85, 0xd1, 0xa9, +}; +static const unsigned char kat1471_nonce[] = { + 0x74, 0x18, 0x1f, 0x3c, 0x22, 0xf6, 0x49, 0x20, +}; +static const unsigned char kat1471_persstr[] = { + 0x4e, 0x61, 0x79, 0xd4, 0xc2, 0x72, 0xa1, 0x4c, 0xf1, 0x3d, 0xf6, 0x5e, + 0xa3, 0xa6, 0xe5, 0x0f, +}; +static const unsigned char kat1471_entropyinreseed[] = { + 0x4a, 0x47, 0xc2, 0xf3, 0x85, 0x16, 0xb4, 0x6f, 0x00, 0x2e, 0x71, 0xda, + 0xed, 0x16, 0x9b, 0x5c, +}; +static const unsigned char kat1471_addinreseed[] = {0}; +static const unsigned char kat1471_addin0[] = {0}; +static const unsigned char kat1471_addin1[] = {0}; +static const unsigned char kat1471_retbits[] = { + 0x31, 0xc9, 0x91, 0x09, 0xf8, 0xc5, 0x10, 0x13, 0x3c, 0xd3, 0x96, 0xf9, + 0xbc, 0x2c, 0x12, 0xc0, 0x7c, 0xc1, 0x61, 0x5f, 0xa3, 0x09, 0x99, 0xaf, + 0xd7, 0xf2, 0x36, 0xfd, 0x40, 0x1a, 0x8b, 0xf2, 0x33, 0x38, 0xee, 0x1d, + 0x03, 0x5f, 0x83, 0xb7, 0xa2, 0x53, 0xdc, 0xee, 0x18, 0xfc, 0xa7, 0xf2, + 0xee, 0x96, 0xc6, 0xc2, 0xcd, 0x0c, 0xff, 0x02, 0x76, 0x70, 0x69, 0xaa, + 0x69, 0xd1, 0x3b, 0xe8, +}; +static const struct drbg_kat_pr_false kat1471_t = { + 0, kat1471_entropyin, kat1471_nonce, kat1471_persstr, + kat1471_entropyinreseed, kat1471_addinreseed, kat1471_addin0, + kat1471_addin1, kat1471_retbits +}; +static const struct drbg_kat kat1471 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1471_t +}; + +static const unsigned char kat1472_entropyin[] = { + 0xc6, 0xc0, 0x85, 0x3c, 0x72, 0x5e, 0x9d, 0xee, 0x29, 0xe9, 0x43, 0x1e, + 0x8d, 0xeb, 0x2c, 0x99, +}; +static const unsigned char kat1472_nonce[] = { + 0xe2, 0xbe, 0x4b, 0x86, 0xf6, 0x2a, 0x85, 0x6b, +}; +static const unsigned char kat1472_persstr[] = { + 0x5f, 0xb7, 0x25, 0x46, 0x2a, 0x22, 0x8c, 0x20, 0x26, 0xc1, 0xb8, 0x89, + 0x4d, 0xd3, 0x40, 0x6d, +}; +static const unsigned char kat1472_entropyinreseed[] = { + 0xb8, 0xb4, 0xb4, 0x43, 0x24, 0xa8, 0x12, 0x0c, 0x04, 0xd6, 0xea, 0xff, + 0xd0, 0x17, 0xfd, 0xa9, +}; +static const unsigned char kat1472_addinreseed[] = {0}; +static const unsigned char kat1472_addin0[] = {0}; +static const unsigned char kat1472_addin1[] = {0}; +static const unsigned char kat1472_retbits[] = { + 0xe3, 0xe7, 0x1a, 0x8d, 0xfe, 0x79, 0x99, 0x57, 0x0c, 0x94, 0xf7, 0x84, + 0x2a, 0x0f, 0xf9, 0x75, 0xf0, 0xe0, 0x3c, 0x32, 0x52, 0x9d, 0x69, 0x44, + 0x4c, 0x24, 0x6e, 0x82, 0x45, 0x8c, 0x87, 0x4a, 0x95, 0x1f, 0x2f, 0xe6, + 0xeb, 0xa3, 0x66, 0x71, 0x46, 0x09, 0x47, 0x3d, 0x59, 0x9e, 0x75, 0xb5, + 0xcd, 0x96, 0x93, 0xf7, 0x69, 0x69, 0x21, 0x44, 0x65, 0x2c, 0xc8, 0xfa, + 0x39, 0x36, 0x83, 0x00, +}; +static const struct drbg_kat_pr_false kat1472_t = { + 1, kat1472_entropyin, kat1472_nonce, kat1472_persstr, + kat1472_entropyinreseed, kat1472_addinreseed, kat1472_addin0, + kat1472_addin1, kat1472_retbits +}; +static const struct drbg_kat kat1472 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1472_t +}; + +static const unsigned char kat1473_entropyin[] = { + 0xb5, 0x18, 0x6d, 0xbe, 0x9a, 0x09, 0x9a, 0x85, 0xf5, 0xa3, 0x53, 0x43, + 0x71, 0x69, 0x38, 0x9b, +}; +static const unsigned char kat1473_nonce[] = { + 0xc6, 0x58, 0x10, 0xe4, 0xbe, 0xad, 0x9f, 0x2a, +}; +static const unsigned char kat1473_persstr[] = { + 0x4b, 0x0c, 0xc2, 0xed, 0x08, 0x99, 0xfa, 0xc0, 0x25, 0x37, 0x0a, 0x79, + 0x6f, 0xe8, 0x24, 0xe2, +}; +static const unsigned char kat1473_entropyinreseed[] = { + 0xb9, 0xe7, 0x03, 0xda, 0xa6, 0xba, 0x64, 0xe3, 0x3c, 0x68, 0x68, 0x00, + 0x9e, 0x65, 0xd3, 0x92, +}; +static const unsigned char kat1473_addinreseed[] = {0}; +static const unsigned char kat1473_addin0[] = {0}; +static const unsigned char kat1473_addin1[] = {0}; +static const unsigned char kat1473_retbits[] = { + 0x05, 0xe4, 0x52, 0xe3, 0xb8, 0xbc, 0x0b, 0x60, 0x01, 0x4f, 0x38, 0xc3, + 0x24, 0xcc, 0x02, 0xc5, 0x43, 0xa0, 0x0c, 0xaf, 0x49, 0x44, 0xb8, 0xa3, + 0x81, 0x55, 0x9c, 0x9d, 0x50, 0xd9, 0xc2, 0xf3, 0x42, 0xf5, 0x45, 0xad, + 0xf8, 0x7d, 0x86, 0x22, 0xed, 0x18, 0xf7, 0x06, 0x42, 0xa6, 0xdb, 0xe3, + 0xb5, 0xc7, 0xa0, 0x7a, 0xa0, 0x70, 0xec, 0xf4, 0x6a, 0xce, 0xa8, 0x13, + 0x53, 0xf7, 0x4d, 0xe9, +}; +static const struct drbg_kat_pr_false kat1473_t = { + 2, kat1473_entropyin, kat1473_nonce, kat1473_persstr, + kat1473_entropyinreseed, kat1473_addinreseed, kat1473_addin0, + kat1473_addin1, kat1473_retbits +}; +static const struct drbg_kat kat1473 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1473_t +}; + +static const unsigned char kat1474_entropyin[] = { + 0xc2, 0xf0, 0xcf, 0x9a, 0x5e, 0xae, 0x59, 0xb0, 0xcf, 0x9a, 0x2e, 0x72, + 0xb3, 0x65, 0x9f, 0x20, +}; +static const unsigned char kat1474_nonce[] = { + 0x85, 0x76, 0xf1, 0xf1, 0x74, 0x4e, 0x3a, 0x02, +}; +static const unsigned char kat1474_persstr[] = { + 0x7a, 0xb4, 0x46, 0x9c, 0x27, 0x13, 0x33, 0x62, 0x9c, 0x51, 0xa7, 0xc2, + 0xad, 0xce, 0x91, 0x32, +}; +static const unsigned char kat1474_entropyinreseed[] = { + 0x1c, 0xbb, 0xe2, 0xe1, 0x5d, 0x42, 0xb4, 0xea, 0x08, 0x6e, 0x70, 0x1e, + 0x25, 0xb5, 0x41, 0x52, +}; +static const unsigned char kat1474_addinreseed[] = {0}; +static const unsigned char kat1474_addin0[] = {0}; +static const unsigned char kat1474_addin1[] = {0}; +static const unsigned char kat1474_retbits[] = { + 0xba, 0x01, 0x0d, 0xe5, 0xf9, 0x0c, 0xfe, 0xee, 0x93, 0xd5, 0x87, 0x77, + 0x73, 0xca, 0x60, 0xcb, 0x3b, 0xed, 0x7c, 0xdc, 0x86, 0xa6, 0xb1, 0xed, + 0x67, 0xbf, 0xe2, 0xa0, 0x9c, 0x92, 0x80, 0xa9, 0xb1, 0x63, 0x5d, 0x6f, + 0x60, 0x05, 0xd0, 0x2b, 0x22, 0xb2, 0x20, 0x26, 0x18, 0x2d, 0x4c, 0xdb, + 0x86, 0x07, 0xd1, 0xe8, 0x5b, 0x92, 0xc5, 0xf3, 0xc5, 0x63, 0x85, 0xf9, + 0xce, 0x71, 0xe6, 0x49, +}; +static const struct drbg_kat_pr_false kat1474_t = { + 3, kat1474_entropyin, kat1474_nonce, kat1474_persstr, + kat1474_entropyinreseed, kat1474_addinreseed, kat1474_addin0, + kat1474_addin1, kat1474_retbits +}; +static const struct drbg_kat kat1474 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1474_t +}; + +static const unsigned char kat1475_entropyin[] = { + 0xf2, 0x9f, 0x11, 0x3e, 0x28, 0x1c, 0x1f, 0x9d, 0xd4, 0xa9, 0x07, 0xa5, + 0x8c, 0x32, 0xf2, 0x38, +}; +static const unsigned char kat1475_nonce[] = { + 0xce, 0xe1, 0x2a, 0xfb, 0xd1, 0x6b, 0xfb, 0xbf, +}; +static const unsigned char kat1475_persstr[] = { + 0x10, 0x37, 0x67, 0x76, 0x99, 0x2d, 0x0a, 0xef, 0x05, 0x87, 0xb3, 0x68, + 0x4a, 0x9a, 0x8a, 0x0d, +}; +static const unsigned char kat1475_entropyinreseed[] = { + 0xcd, 0xc7, 0xbe, 0xc4, 0x32, 0x90, 0x99, 0xf7, 0x8b, 0xb1, 0xc3, 0xf4, + 0xde, 0x17, 0x8c, 0x33, +}; +static const unsigned char kat1475_addinreseed[] = {0}; +static const unsigned char kat1475_addin0[] = {0}; +static const unsigned char kat1475_addin1[] = {0}; +static const unsigned char kat1475_retbits[] = { + 0xf9, 0xee, 0x43, 0x43, 0x0d, 0x02, 0x8d, 0xe1, 0xd4, 0x95, 0xd6, 0x1f, + 0x28, 0x26, 0x0a, 0x49, 0xd5, 0x2c, 0x64, 0xa1, 0x2f, 0x52, 0xdd, 0x38, + 0x46, 0x87, 0xef, 0x57, 0xf8, 0xb9, 0x8d, 0xbf, 0x95, 0x76, 0x71, 0x0e, + 0xe6, 0x03, 0x3f, 0xa5, 0x25, 0x5b, 0x0d, 0x03, 0x8b, 0x22, 0x6a, 0x36, + 0x16, 0x6a, 0x0c, 0x27, 0x8a, 0xa3, 0xa4, 0x32, 0xaa, 0x28, 0x11, 0xd3, + 0xe1, 0x18, 0xbe, 0xa6, +}; +static const struct drbg_kat_pr_false kat1475_t = { + 4, kat1475_entropyin, kat1475_nonce, kat1475_persstr, + kat1475_entropyinreseed, kat1475_addinreseed, kat1475_addin0, + kat1475_addin1, kat1475_retbits +}; +static const struct drbg_kat kat1475 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1475_t +}; + +static const unsigned char kat1476_entropyin[] = { + 0x59, 0xe8, 0xc9, 0xa8, 0xca, 0x4e, 0x44, 0xf3, 0x0d, 0xb4, 0x7b, 0xd0, + 0x93, 0x27, 0x41, 0x09, +}; +static const unsigned char kat1476_nonce[] = { + 0xc3, 0x6a, 0xdd, 0x93, 0xb4, 0x96, 0xf6, 0x5e, +}; +static const unsigned char kat1476_persstr[] = { + 0x15, 0xa1, 0x9b, 0xd5, 0x96, 0xcd, 0x9c, 0x13, 0x40, 0xb6, 0x69, 0x19, + 0xa1, 0x4a, 0xd9, 0xa0, +}; +static const unsigned char kat1476_entropyinreseed[] = { + 0x9a, 0x46, 0x06, 0xbb, 0xf7, 0x6f, 0x92, 0xc4, 0xdd, 0xc7, 0x20, 0xee, + 0x6e, 0x4a, 0xc1, 0x00, +}; +static const unsigned char kat1476_addinreseed[] = {0}; +static const unsigned char kat1476_addin0[] = {0}; +static const unsigned char kat1476_addin1[] = {0}; +static const unsigned char kat1476_retbits[] = { + 0x05, 0x12, 0x43, 0x20, 0xc6, 0xdf, 0xdb, 0x80, 0x34, 0x41, 0xe7, 0x9c, + 0xc9, 0x7e, 0x85, 0xf3, 0x06, 0x6b, 0x49, 0xc0, 0x45, 0x42, 0xeb, 0xd3, + 0xfd, 0x7b, 0xb1, 0x05, 0x31, 0x9b, 0x24, 0x4c, 0xed, 0x54, 0x9f, 0x0d, + 0x69, 0xca, 0x46, 0xbb, 0x3a, 0x7b, 0xef, 0x33, 0x85, 0x45, 0x21, 0xdd, + 0x8e, 0x82, 0x9c, 0xcb, 0x63, 0x20, 0xbf, 0xb1, 0x0d, 0x0b, 0x3e, 0xc2, + 0xa1, 0x88, 0x15, 0xb3, +}; +static const struct drbg_kat_pr_false kat1476_t = { + 5, kat1476_entropyin, kat1476_nonce, kat1476_persstr, + kat1476_entropyinreseed, kat1476_addinreseed, kat1476_addin0, + kat1476_addin1, kat1476_retbits +}; +static const struct drbg_kat kat1476 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1476_t +}; + +static const unsigned char kat1477_entropyin[] = { + 0x60, 0xfd, 0xf3, 0x42, 0x4d, 0x6c, 0xe2, 0x29, 0xc8, 0x77, 0x3e, 0xbe, + 0xa2, 0xa7, 0x2f, 0xb0, +}; +static const unsigned char kat1477_nonce[] = { + 0x0b, 0x62, 0x80, 0xf6, 0x78, 0xbb, 0xfe, 0xaa, +}; +static const unsigned char kat1477_persstr[] = { + 0xf3, 0x9e, 0x34, 0x76, 0x35, 0x5c, 0xae, 0x16, 0x0a, 0xaf, 0x29, 0x68, + 0x28, 0x7e, 0xb9, 0x38, +}; +static const unsigned char kat1477_entropyinreseed[] = { + 0x41, 0x51, 0x27, 0xca, 0x26, 0xbd, 0xa6, 0xe2, 0xc2, 0x88, 0xa4, 0xc0, + 0xf5, 0x15, 0xfb, 0x16, +}; +static const unsigned char kat1477_addinreseed[] = {0}; +static const unsigned char kat1477_addin0[] = {0}; +static const unsigned char kat1477_addin1[] = {0}; +static const unsigned char kat1477_retbits[] = { + 0x9c, 0x07, 0xcc, 0xd7, 0xd3, 0x9f, 0xe9, 0xe5, 0xf2, 0x19, 0x87, 0xba, + 0x48, 0x2c, 0x2d, 0x97, 0xd7, 0x79, 0x81, 0x18, 0xf5, 0xb5, 0x93, 0x6a, + 0xd1, 0xd9, 0x87, 0x04, 0x4a, 0xa7, 0x9e, 0xd4, 0xf3, 0x68, 0x34, 0x29, + 0xd6, 0x2a, 0x2c, 0xff, 0xb8, 0x0c, 0xdb, 0xa7, 0xe0, 0xad, 0xb8, 0x00, + 0xed, 0x6f, 0x8e, 0x99, 0x23, 0xbb, 0x4b, 0x91, 0x8a, 0x1e, 0xb5, 0xc9, + 0x23, 0x68, 0xc1, 0x51, +}; +static const struct drbg_kat_pr_false kat1477_t = { + 6, kat1477_entropyin, kat1477_nonce, kat1477_persstr, + kat1477_entropyinreseed, kat1477_addinreseed, kat1477_addin0, + kat1477_addin1, kat1477_retbits +}; +static const struct drbg_kat kat1477 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1477_t +}; + +static const unsigned char kat1478_entropyin[] = { + 0xa4, 0x9b, 0xeb, 0x27, 0xf8, 0xe2, 0x33, 0x33, 0x21, 0x86, 0x92, 0x2f, + 0x3b, 0x20, 0xea, 0xac, +}; +static const unsigned char kat1478_nonce[] = { + 0xbe, 0xa2, 0x4f, 0x9a, 0x50, 0x12, 0x69, 0x2a, +}; +static const unsigned char kat1478_persstr[] = { + 0x11, 0x50, 0x45, 0xea, 0x5b, 0x7a, 0x6f, 0x7f, 0xf6, 0x89, 0x41, 0x88, + 0x29, 0x8e, 0xd2, 0x79, +}; +static const unsigned char kat1478_entropyinreseed[] = { + 0xd2, 0x73, 0xac, 0xa1, 0xb2, 0x1e, 0x79, 0x27, 0xee, 0xcd, 0xc0, 0x23, + 0xf0, 0x40, 0x2a, 0x3e, +}; +static const unsigned char kat1478_addinreseed[] = {0}; +static const unsigned char kat1478_addin0[] = {0}; +static const unsigned char kat1478_addin1[] = {0}; +static const unsigned char kat1478_retbits[] = { + 0x39, 0xb2, 0x34, 0x85, 0xd8, 0x26, 0xc7, 0xf5, 0xce, 0xd4, 0x23, 0x1e, + 0xf9, 0xb1, 0xa1, 0xe8, 0x6c, 0x3d, 0xe1, 0x91, 0xc4, 0xc2, 0x49, 0x28, + 0x3e, 0x61, 0x20, 0xbf, 0x55, 0x24, 0xa4, 0xe4, 0x26, 0x15, 0x3d, 0xa7, + 0x6e, 0x09, 0x88, 0x07, 0xda, 0x0d, 0x75, 0x33, 0x9d, 0x3c, 0x02, 0x0c, + 0x4f, 0x14, 0x84, 0x2e, 0x60, 0x49, 0x0c, 0x6f, 0x44, 0xe9, 0x28, 0x3d, + 0xf6, 0xbf, 0x28, 0xb8, +}; +static const struct drbg_kat_pr_false kat1478_t = { + 7, kat1478_entropyin, kat1478_nonce, kat1478_persstr, + kat1478_entropyinreseed, kat1478_addinreseed, kat1478_addin0, + kat1478_addin1, kat1478_retbits +}; +static const struct drbg_kat kat1478 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1478_t +}; + +static const unsigned char kat1479_entropyin[] = { + 0x1b, 0x2f, 0xc3, 0xee, 0xc1, 0x16, 0xb5, 0x55, 0x99, 0x64, 0xd6, 0xd2, + 0x65, 0x3d, 0x66, 0xc6, +}; +static const unsigned char kat1479_nonce[] = { + 0x6e, 0x04, 0x94, 0x1d, 0xde, 0xf5, 0x6e, 0x69, +}; +static const unsigned char kat1479_persstr[] = { + 0x68, 0xbe, 0x57, 0x97, 0x4c, 0x6c, 0x74, 0xc1, 0xc5, 0xbe, 0x0d, 0xa1, + 0xc6, 0x36, 0x0e, 0x30, +}; +static const unsigned char kat1479_entropyinreseed[] = { + 0xe4, 0x93, 0xc7, 0xd9, 0x91, 0xd0, 0x43, 0x0f, 0x93, 0xc2, 0x0a, 0xe0, + 0xfb, 0x15, 0xa1, 0x66, +}; +static const unsigned char kat1479_addinreseed[] = {0}; +static const unsigned char kat1479_addin0[] = {0}; +static const unsigned char kat1479_addin1[] = {0}; +static const unsigned char kat1479_retbits[] = { + 0x27, 0x94, 0x9a, 0x3d, 0xc0, 0x5a, 0xba, 0x02, 0xa6, 0x24, 0xae, 0x00, + 0x2c, 0x45, 0xa7, 0x9a, 0x65, 0xcf, 0x60, 0x40, 0xac, 0xca, 0x61, 0xa0, + 0xbd, 0x5f, 0x2e, 0xf0, 0x6a, 0x9c, 0xf6, 0xf8, 0x24, 0xa0, 0x66, 0x65, + 0x6c, 0x1b, 0x6a, 0xac, 0x65, 0x9e, 0xe7, 0xa9, 0xd3, 0x30, 0x80, 0x50, + 0xcc, 0x87, 0x63, 0xd9, 0x1e, 0x48, 0xd1, 0x9d, 0xc1, 0xdf, 0x20, 0xaf, + 0x14, 0x92, 0x65, 0x23, +}; +static const struct drbg_kat_pr_false kat1479_t = { + 8, kat1479_entropyin, kat1479_nonce, kat1479_persstr, + kat1479_entropyinreseed, kat1479_addinreseed, kat1479_addin0, + kat1479_addin1, kat1479_retbits +}; +static const struct drbg_kat kat1479 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1479_t +}; + +static const unsigned char kat1480_entropyin[] = { + 0xaf, 0x51, 0xc4, 0xb1, 0xb4, 0xbd, 0x21, 0x19, 0xe0, 0xb4, 0x93, 0x11, + 0x27, 0x9b, 0xbe, 0xc0, +}; +static const unsigned char kat1480_nonce[] = { + 0x41, 0x94, 0xf0, 0x0b, 0xb0, 0xcd, 0x83, 0xc7, +}; +static const unsigned char kat1480_persstr[] = { + 0xfd, 0x05, 0x2b, 0xfd, 0x73, 0xfe, 0x71, 0x2f, 0x4a, 0x06, 0x9d, 0x2b, + 0xc1, 0xdc, 0x4b, 0xc7, +}; +static const unsigned char kat1480_entropyinreseed[] = { + 0xc1, 0x40, 0xc4, 0xce, 0x45, 0xbf, 0x3b, 0xfd, 0x0a, 0x47, 0x3e, 0x57, + 0x54, 0x35, 0x5b, 0x0a, +}; +static const unsigned char kat1480_addinreseed[] = {0}; +static const unsigned char kat1480_addin0[] = {0}; +static const unsigned char kat1480_addin1[] = {0}; +static const unsigned char kat1480_retbits[] = { + 0x68, 0x58, 0xd2, 0x63, 0x42, 0x14, 0xa4, 0x6e, 0xc0, 0x77, 0xf8, 0x6e, + 0x66, 0x7b, 0x6f, 0x3c, 0x48, 0x2c, 0x79, 0x73, 0x67, 0xae, 0x01, 0xd5, + 0x0f, 0xc0, 0x18, 0x38, 0x87, 0xff, 0x9b, 0xac, 0x32, 0x93, 0xce, 0x67, + 0x64, 0x3b, 0xe1, 0x46, 0xb8, 0x6d, 0xfb, 0x09, 0x3a, 0x57, 0x18, 0xab, + 0x8c, 0x12, 0xf7, 0x13, 0xef, 0x0c, 0xea, 0x0d, 0x04, 0x95, 0x8c, 0xe7, + 0xa8, 0xd8, 0x77, 0x7b, +}; +static const struct drbg_kat_pr_false kat1480_t = { + 9, kat1480_entropyin, kat1480_nonce, kat1480_persstr, + kat1480_entropyinreseed, kat1480_addinreseed, kat1480_addin0, + kat1480_addin1, kat1480_retbits +}; +static const struct drbg_kat kat1480 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1480_t +}; + +static const unsigned char kat1481_entropyin[] = { + 0xfb, 0x70, 0xa8, 0x06, 0x5e, 0xae, 0x00, 0x62, 0x70, 0x17, 0x90, 0x98, + 0xa6, 0xb6, 0x7e, 0xea, +}; +static const unsigned char kat1481_nonce[] = { + 0xbc, 0x00, 0x01, 0xc0, 0xde, 0x38, 0x7f, 0x1d, +}; +static const unsigned char kat1481_persstr[] = { + 0x80, 0x4f, 0x5f, 0x90, 0xbf, 0x5a, 0x4d, 0x7a, 0x99, 0xf8, 0x50, 0xb8, + 0x82, 0xbc, 0x70, 0x01, +}; +static const unsigned char kat1481_entropyinreseed[] = { + 0xab, 0xc7, 0x7b, 0x6f, 0x10, 0xd0, 0xa8, 0x94, 0x52, 0xe0, 0x63, 0xfe, + 0x97, 0xf4, 0x00, 0x0a, +}; +static const unsigned char kat1481_addinreseed[] = {0}; +static const unsigned char kat1481_addin0[] = {0}; +static const unsigned char kat1481_addin1[] = {0}; +static const unsigned char kat1481_retbits[] = { + 0xb9, 0xf6, 0xf5, 0x1d, 0x0d, 0xe5, 0xff, 0xa1, 0xfd, 0x42, 0xef, 0x9a, + 0x7a, 0xd2, 0xe6, 0x02, 0x01, 0xdc, 0x3e, 0x4b, 0x15, 0x53, 0x63, 0x64, + 0xc1, 0xbb, 0xea, 0x2f, 0xcd, 0x7c, 0x35, 0xa7, 0x7f, 0xb8, 0x24, 0xbd, + 0xdc, 0x67, 0xa6, 0x90, 0xac, 0x51, 0xdc, 0x2e, 0x34, 0xcb, 0x7e, 0xfe, + 0x9f, 0x61, 0xd5, 0xd6, 0xd0, 0x09, 0xd9, 0x61, 0xc6, 0x61, 0xde, 0x44, + 0xb9, 0x8a, 0x5e, 0x98, +}; +static const struct drbg_kat_pr_false kat1481_t = { + 10, kat1481_entropyin, kat1481_nonce, kat1481_persstr, + kat1481_entropyinreseed, kat1481_addinreseed, kat1481_addin0, + kat1481_addin1, kat1481_retbits +}; +static const struct drbg_kat kat1481 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1481_t +}; + +static const unsigned char kat1482_entropyin[] = { + 0x92, 0x84, 0x7e, 0x86, 0xe6, 0x56, 0xeb, 0x7f, 0x90, 0xde, 0x26, 0x66, + 0xba, 0x07, 0xd9, 0xfd, +}; +static const unsigned char kat1482_nonce[] = { + 0xb7, 0x1f, 0x25, 0x1d, 0x20, 0x6c, 0xcf, 0x6c, +}; +static const unsigned char kat1482_persstr[] = { + 0x74, 0xba, 0x97, 0x24, 0xa8, 0xe8, 0xc9, 0xe9, 0x98, 0xca, 0x49, 0x6d, + 0x35, 0x92, 0xbd, 0x99, +}; +static const unsigned char kat1482_entropyinreseed[] = { + 0xae, 0xed, 0x26, 0x0b, 0x73, 0x0d, 0x8f, 0x32, 0xaa, 0xeb, 0x0d, 0x9b, + 0xe7, 0x97, 0x83, 0x5a, +}; +static const unsigned char kat1482_addinreseed[] = {0}; +static const unsigned char kat1482_addin0[] = {0}; +static const unsigned char kat1482_addin1[] = {0}; +static const unsigned char kat1482_retbits[] = { + 0xf6, 0xa2, 0x5d, 0x68, 0xea, 0xee, 0xbf, 0x57, 0xd2, 0xd8, 0x70, 0xc8, + 0x17, 0x81, 0x90, 0x5c, 0xcc, 0x69, 0xef, 0x7f, 0x84, 0xf0, 0x2c, 0x7f, + 0xfa, 0xf9, 0x86, 0x8c, 0x08, 0xa0, 0xe4, 0x43, 0xff, 0xf0, 0x19, 0xc7, + 0xb7, 0xb6, 0x49, 0xfc, 0x50, 0xf0, 0xe4, 0xa9, 0x5c, 0x25, 0xeb, 0xcd, + 0x86, 0xf9, 0x4c, 0x84, 0x03, 0xc8, 0xa7, 0x86, 0x19, 0x70, 0x94, 0x62, + 0x6a, 0x98, 0xa8, 0xa3, +}; +static const struct drbg_kat_pr_false kat1482_t = { + 11, kat1482_entropyin, kat1482_nonce, kat1482_persstr, + kat1482_entropyinreseed, kat1482_addinreseed, kat1482_addin0, + kat1482_addin1, kat1482_retbits +}; +static const struct drbg_kat kat1482 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1482_t +}; + +static const unsigned char kat1483_entropyin[] = { + 0x29, 0x7e, 0xfb, 0x11, 0x18, 0x09, 0x93, 0x9e, 0xde, 0xbc, 0xdf, 0x93, + 0x71, 0xcf, 0x32, 0xd2, +}; +static const unsigned char kat1483_nonce[] = { + 0xb3, 0x3f, 0x34, 0x05, 0x3d, 0xb7, 0xc9, 0xf0, +}; +static const unsigned char kat1483_persstr[] = { + 0xd3, 0x79, 0x9c, 0x84, 0xd3, 0x15, 0x90, 0xfb, 0xd0, 0xd3, 0xc4, 0xec, + 0xe3, 0x68, 0x0e, 0x33, +}; +static const unsigned char kat1483_entropyinreseed[] = { + 0xc5, 0xfe, 0x86, 0xee, 0x68, 0xe4, 0x59, 0xca, 0x3b, 0x06, 0xe4, 0x45, + 0xea, 0x5e, 0x0b, 0x2f, +}; +static const unsigned char kat1483_addinreseed[] = {0}; +static const unsigned char kat1483_addin0[] = {0}; +static const unsigned char kat1483_addin1[] = {0}; +static const unsigned char kat1483_retbits[] = { + 0xb1, 0x83, 0x5e, 0xef, 0x69, 0xd5, 0x40, 0x6c, 0x36, 0x48, 0x45, 0x03, + 0x07, 0xae, 0x27, 0xd3, 0x92, 0xbd, 0xd4, 0x4a, 0x0f, 0xa7, 0xa7, 0x0a, + 0xf6, 0xc3, 0x02, 0xab, 0x1c, 0x3c, 0x3c, 0xc7, 0xc6, 0x81, 0xe1, 0x90, + 0x76, 0x7a, 0x38, 0xc3, 0xff, 0x6b, 0x68, 0x7f, 0x3e, 0xe1, 0x2f, 0x85, + 0x55, 0xa9, 0xd2, 0xb4, 0x69, 0x65, 0x85, 0xf1, 0xc8, 0x11, 0xd1, 0x32, + 0x94, 0x30, 0xa5, 0x1b, +}; +static const struct drbg_kat_pr_false kat1483_t = { + 12, kat1483_entropyin, kat1483_nonce, kat1483_persstr, + kat1483_entropyinreseed, kat1483_addinreseed, kat1483_addin0, + kat1483_addin1, kat1483_retbits +}; +static const struct drbg_kat kat1483 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1483_t +}; + +static const unsigned char kat1484_entropyin[] = { + 0xed, 0x8b, 0x28, 0xfc, 0x95, 0x03, 0x6e, 0x5e, 0x61, 0x86, 0x95, 0xe4, + 0x90, 0xb7, 0x25, 0x6c, +}; +static const unsigned char kat1484_nonce[] = { + 0xb9, 0x95, 0xe7, 0xc1, 0xa8, 0x8d, 0x09, 0xce, +}; +static const unsigned char kat1484_persstr[] = { + 0xa4, 0x3e, 0x37, 0x08, 0x74, 0x4c, 0x8a, 0x7c, 0x5f, 0xea, 0xbe, 0x66, + 0xc2, 0x5c, 0x81, 0xf1, +}; +static const unsigned char kat1484_entropyinreseed[] = { + 0xa2, 0xa5, 0x98, 0x98, 0xf4, 0x53, 0xe6, 0x3f, 0xc6, 0x46, 0xaf, 0x13, + 0x48, 0x53, 0xe9, 0xac, +}; +static const unsigned char kat1484_addinreseed[] = {0}; +static const unsigned char kat1484_addin0[] = {0}; +static const unsigned char kat1484_addin1[] = {0}; +static const unsigned char kat1484_retbits[] = { + 0xff, 0xff, 0x0f, 0x15, 0x91, 0xaa, 0x10, 0x4b, 0xa8, 0xc5, 0x52, 0xda, + 0x01, 0xc8, 0x70, 0xc5, 0x1f, 0x7d, 0xc2, 0xa1, 0xcc, 0x22, 0x30, 0x05, + 0x08, 0xcb, 0x4f, 0x63, 0x10, 0x19, 0x45, 0x75, 0x09, 0x9a, 0xa4, 0xab, + 0xe7, 0xf2, 0x91, 0x87, 0x31, 0x66, 0x73, 0x94, 0xda, 0x8b, 0x79, 0xae, + 0x14, 0x7c, 0xaf, 0x38, 0x9f, 0x43, 0x96, 0xb5, 0xba, 0xa8, 0x8f, 0x19, + 0x17, 0xb6, 0x16, 0xf6, +}; +static const struct drbg_kat_pr_false kat1484_t = { + 13, kat1484_entropyin, kat1484_nonce, kat1484_persstr, + kat1484_entropyinreseed, kat1484_addinreseed, kat1484_addin0, + kat1484_addin1, kat1484_retbits +}; +static const struct drbg_kat kat1484 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1484_t +}; + +static const unsigned char kat1485_entropyin[] = { + 0x74, 0x30, 0xa6, 0x58, 0x60, 0x82, 0x13, 0x04, 0x5e, 0x4c, 0xcc, 0x24, + 0xa0, 0x56, 0x8e, 0xf3, +}; +static const unsigned char kat1485_nonce[] = { + 0x3f, 0xd7, 0x7a, 0xd5, 0xb3, 0x6f, 0x25, 0x54, +}; +static const unsigned char kat1485_persstr[] = { + 0xc1, 0xad, 0x90, 0x31, 0xef, 0xb0, 0xfc, 0x15, 0x36, 0x15, 0x43, 0x3f, + 0xbb, 0xa1, 0x08, 0x7f, +}; +static const unsigned char kat1485_entropyinreseed[] = { + 0xae, 0xca, 0x96, 0x70, 0x0a, 0x3d, 0x66, 0x46, 0x7b, 0x25, 0x61, 0xa3, + 0x07, 0x7e, 0x6f, 0x72, +}; +static const unsigned char kat1485_addinreseed[] = {0}; +static const unsigned char kat1485_addin0[] = {0}; +static const unsigned char kat1485_addin1[] = {0}; +static const unsigned char kat1485_retbits[] = { + 0xc4, 0xb2, 0x48, 0xc1, 0x8f, 0xa8, 0x38, 0xac, 0xec, 0xdf, 0x9c, 0xc3, + 0x36, 0x35, 0x00, 0x9c, 0x19, 0x88, 0x5b, 0x86, 0xb7, 0xd1, 0xf6, 0x5c, + 0x06, 0xda, 0xb9, 0x06, 0x30, 0x4d, 0xa6, 0x9f, 0x43, 0x70, 0xac, 0x8f, + 0xc8, 0x3e, 0x4b, 0x47, 0x21, 0xc0, 0x73, 0x51, 0xa2, 0x18, 0xaf, 0xcd, + 0xaf, 0x30, 0xd4, 0x70, 0x63, 0x24, 0x58, 0x9b, 0xf9, 0x18, 0xbe, 0x20, + 0xb4, 0xdb, 0xbe, 0x3a, +}; +static const struct drbg_kat_pr_false kat1485_t = { + 14, kat1485_entropyin, kat1485_nonce, kat1485_persstr, + kat1485_entropyinreseed, kat1485_addinreseed, kat1485_addin0, + kat1485_addin1, kat1485_retbits +}; +static const struct drbg_kat kat1485 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1485_t +}; + +static const unsigned char kat1486_entropyin[] = { + 0xe1, 0x4e, 0xd7, 0x06, 0x4a, 0x97, 0x81, 0x4d, 0xd3, 0x26, 0xb9, 0xa0, + 0x5b, 0xc4, 0x45, 0x43, +}; +static const unsigned char kat1486_nonce[] = { + 0x87, 0x62, 0x40, 0xc1, 0xf7, 0xde, 0x3d, 0xba, +}; +static const unsigned char kat1486_persstr[] = { + 0x26, 0xcc, 0xf5, 0x68, 0x48, 0xa0, 0x48, 0x72, 0x1d, 0x0a, 0xad, 0x87, + 0xd6, 0xfc, 0x65, 0xf0, +}; +static const unsigned char kat1486_entropyinreseed[] = { + 0x7e, 0xc4, 0xac, 0x66, 0x0f, 0xa0, 0xbb, 0xfa, 0x66, 0xac, 0x38, 0x02, + 0xe5, 0x11, 0x90, 0x1f, +}; +static const unsigned char kat1486_addinreseed[] = { + 0x88, 0x35, 0xd2, 0x8e, 0x7f, 0x85, 0xa4, 0xe9, 0x50, 0x87, 0xbd, 0xd1, + 0xbb, 0x7a, 0xd5, 0x7e, +}; +static const unsigned char kat1486_addin0[] = { + 0x2a, 0x9b, 0xd5, 0x0b, 0xbb, 0x20, 0xfe, 0xfe, 0x24, 0x64, 0x9f, 0x5f, + 0x80, 0xee, 0xde, 0x66, +}; +static const unsigned char kat1486_addin1[] = { + 0xf7, 0xce, 0x3d, 0x5c, 0x6c, 0x38, 0x1e, 0x56, 0xb2, 0x54, 0x10, 0xc6, + 0x90, 0x9c, 0x10, 0x74, +}; +static const unsigned char kat1486_retbits[] = { + 0xd2, 0xf3, 0x13, 0x0d, 0x30, 0x9b, 0xed, 0x1d, 0xa6, 0x55, 0x45, 0xb9, + 0xd7, 0x93, 0xe0, 0x35, 0xfd, 0x25, 0x64, 0x30, 0x3d, 0x1f, 0xdc, 0xfb, + 0x6c, 0x7f, 0xee, 0x01, 0x95, 0x00, 0xd9, 0xf5, 0xd4, 0x34, 0xfa, 0xb2, + 0xd3, 0xc8, 0xd1, 0x5e, 0x39, 0xa2, 0x5f, 0x96, 0x5a, 0xaa, 0x80, 0x4c, + 0x71, 0x41, 0x40, 0x7e, 0x90, 0xc4, 0xa8, 0x6a, 0x6c, 0x8d, 0x30, 0x3c, + 0xe8, 0x3b, 0xfb, 0x34, +}; +static const struct drbg_kat_pr_false kat1486_t = { + 0, kat1486_entropyin, kat1486_nonce, kat1486_persstr, + kat1486_entropyinreseed, kat1486_addinreseed, kat1486_addin0, + kat1486_addin1, kat1486_retbits +}; +static const struct drbg_kat kat1486 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1486_t +}; + +static const unsigned char kat1487_entropyin[] = { + 0x4d, 0x61, 0xd9, 0x17, 0xe5, 0xb7, 0x15, 0x65, 0xd2, 0x7c, 0xb8, 0xbc, + 0xe5, 0x26, 0x6e, 0x84, +}; +static const unsigned char kat1487_nonce[] = { + 0xf1, 0x01, 0x50, 0xae, 0x95, 0xcc, 0x14, 0xdd, +}; +static const unsigned char kat1487_persstr[] = { + 0x85, 0x5b, 0x14, 0x54, 0x5d, 0xab, 0x54, 0xe7, 0x35, 0x93, 0x92, 0xd2, + 0xbd, 0x05, 0x08, 0xfc, +}; +static const unsigned char kat1487_entropyinreseed[] = { + 0xdf, 0xe0, 0x1d, 0xe7, 0x86, 0xb4, 0xbd, 0xff, 0xcb, 0xfa, 0x47, 0xf1, + 0x3a, 0xb7, 0x5b, 0xd9, +}; +static const unsigned char kat1487_addinreseed[] = { + 0x8b, 0x0f, 0x5f, 0x42, 0xaa, 0x8a, 0x84, 0xc2, 0x4d, 0x11, 0xa0, 0x23, + 0xaa, 0x28, 0x8a, 0x89, +}; +static const unsigned char kat1487_addin0[] = { + 0xbf, 0x32, 0xbd, 0xe3, 0xc5, 0xbb, 0xe4, 0xed, 0xdd, 0x4e, 0x5c, 0x33, + 0x09, 0xb8, 0x7e, 0x7d, +}; +static const unsigned char kat1487_addin1[] = { + 0x7e, 0xe1, 0xee, 0xbb, 0x46, 0x0f, 0xa1, 0x82, 0x1a, 0xb5, 0x94, 0x07, + 0xf0, 0xb7, 0x29, 0x1c, +}; +static const unsigned char kat1487_retbits[] = { + 0xfb, 0x92, 0xc1, 0xe9, 0x10, 0x58, 0x9a, 0xcf, 0xda, 0x9a, 0xda, 0xbe, + 0x59, 0x21, 0x4e, 0x02, 0x7b, 0xc4, 0x4f, 0xcb, 0xc0, 0xfe, 0xa5, 0xf2, + 0x31, 0xf2, 0xe9, 0xb9, 0x23, 0x6d, 0x3b, 0x87, 0x2e, 0x4b, 0x9d, 0x87, + 0x90, 0x7c, 0x41, 0xef, 0x71, 0xf0, 0x41, 0xa5, 0x2e, 0xb8, 0x26, 0xa3, + 0x8b, 0xd4, 0x4f, 0xa1, 0x5f, 0x60, 0x95, 0xe4, 0x1b, 0x3f, 0xf3, 0x02, + 0x61, 0xa6, 0xe7, 0xc6, +}; +static const struct drbg_kat_pr_false kat1487_t = { + 1, kat1487_entropyin, kat1487_nonce, kat1487_persstr, + kat1487_entropyinreseed, kat1487_addinreseed, kat1487_addin0, + kat1487_addin1, kat1487_retbits +}; +static const struct drbg_kat kat1487 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1487_t +}; + +static const unsigned char kat1488_entropyin[] = { + 0x89, 0xfa, 0x82, 0xad, 0xdf, 0xc9, 0x39, 0x96, 0x5a, 0xba, 0x18, 0x49, + 0x4c, 0xd5, 0x29, 0x9a, +}; +static const unsigned char kat1488_nonce[] = { + 0x30, 0x5c, 0x4c, 0x0a, 0xd7, 0x86, 0x58, 0x6c, +}; +static const unsigned char kat1488_persstr[] = { + 0x62, 0x5c, 0xf5, 0xf4, 0x4f, 0x83, 0x2b, 0x3b, 0xdb, 0xb6, 0x9a, 0x4e, + 0x9a, 0xf2, 0xb1, 0x77, +}; +static const unsigned char kat1488_entropyinreseed[] = { + 0x27, 0x38, 0xf5, 0xda, 0x3c, 0x5a, 0xc9, 0x9d, 0x91, 0x83, 0x3a, 0x02, + 0xa9, 0xdd, 0x9d, 0x4c, +}; +static const unsigned char kat1488_addinreseed[] = { + 0x49, 0xeb, 0xb2, 0xfb, 0xa3, 0xfe, 0x7c, 0x3e, 0x1e, 0x7b, 0xff, 0x95, + 0x74, 0x03, 0x75, 0x62, +}; +static const unsigned char kat1488_addin0[] = { + 0xc5, 0xff, 0x2c, 0xc8, 0xb8, 0xaf, 0x7b, 0xbc, 0x9a, 0xda, 0x35, 0xa3, + 0x98, 0x03, 0xd4, 0xd2, +}; +static const unsigned char kat1488_addin1[] = { + 0xfe, 0x0d, 0x79, 0x86, 0x01, 0xca, 0x1f, 0x49, 0xec, 0xc5, 0xd2, 0x1f, + 0xb3, 0x89, 0x32, 0xfd, +}; +static const unsigned char kat1488_retbits[] = { + 0x3a, 0x95, 0x58, 0xf2, 0xf4, 0xc5, 0x48, 0x13, 0xc4, 0xe4, 0x62, 0x25, + 0x0b, 0xab, 0xcc, 0x80, 0xf7, 0x5a, 0x4c, 0x54, 0x86, 0xa8, 0x1c, 0x76, + 0xbf, 0x18, 0x7d, 0x92, 0x40, 0xa6, 0xe4, 0x36, 0x4e, 0xe5, 0xae, 0x0b, + 0x9d, 0xe5, 0x3a, 0xcf, 0xb1, 0x45, 0x28, 0xa0, 0x53, 0x9f, 0x50, 0x0c, + 0x67, 0xf0, 0x37, 0x2d, 0xa8, 0xd6, 0x1e, 0x70, 0xb7, 0x7a, 0x4a, 0xd4, + 0x47, 0x8b, 0x3f, 0xda, +}; +static const struct drbg_kat_pr_false kat1488_t = { + 2, kat1488_entropyin, kat1488_nonce, kat1488_persstr, + kat1488_entropyinreseed, kat1488_addinreseed, kat1488_addin0, + kat1488_addin1, kat1488_retbits +}; +static const struct drbg_kat kat1488 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1488_t +}; + +static const unsigned char kat1489_entropyin[] = { + 0x01, 0xd4, 0x95, 0x86, 0x0e, 0x54, 0x6e, 0x69, 0x66, 0x84, 0xf2, 0x79, + 0x5c, 0x18, 0x27, 0x77, +}; +static const unsigned char kat1489_nonce[] = { + 0x20, 0x3f, 0x78, 0x98, 0x74, 0x6c, 0xeb, 0x65, +}; +static const unsigned char kat1489_persstr[] = { + 0x1d, 0xd5, 0xa0, 0xd8, 0x86, 0x91, 0x64, 0x32, 0x3d, 0xd7, 0x8b, 0x46, + 0x86, 0xd5, 0x01, 0x25, +}; +static const unsigned char kat1489_entropyinreseed[] = { + 0x52, 0xf8, 0x05, 0x7f, 0x5d, 0x91, 0x3b, 0xcc, 0xff, 0xba, 0xc8, 0x1b, + 0xa8, 0xd8, 0x4c, 0xb2, +}; +static const unsigned char kat1489_addinreseed[] = { + 0xb2, 0x00, 0xd3, 0xe4, 0xd9, 0x30, 0xe9, 0x51, 0xe0, 0xc4, 0x79, 0x44, + 0x65, 0x54, 0x04, 0x34, +}; +static const unsigned char kat1489_addin0[] = { + 0xe8, 0x1c, 0xc7, 0xec, 0x3a, 0xf3, 0xea, 0x3a, 0x32, 0x16, 0x45, 0x16, + 0x05, 0xd9, 0xa8, 0x21, +}; +static const unsigned char kat1489_addin1[] = { + 0x04, 0xaa, 0x31, 0x1f, 0x7c, 0x20, 0x9c, 0xb1, 0x9c, 0x29, 0x84, 0xbf, + 0xe2, 0xfa, 0x48, 0xbb, +}; +static const unsigned char kat1489_retbits[] = { + 0xdf, 0x2e, 0x12, 0x58, 0xc4, 0xe1, 0x9d, 0xbf, 0x1a, 0x01, 0xa0, 0x2a, + 0x45, 0x24, 0xa6, 0x23, 0xf6, 0x94, 0x33, 0x34, 0x5b, 0x34, 0xcf, 0xa7, + 0xdc, 0x9f, 0x82, 0x80, 0xaa, 0x8d, 0x88, 0x8e, 0x0d, 0x7c, 0x47, 0x7e, + 0x4e, 0xf9, 0xd2, 0x66, 0x26, 0xbf, 0x6b, 0xb9, 0x21, 0xf0, 0x4b, 0x42, + 0xe3, 0xf1, 0xfd, 0xfd, 0x07, 0xa9, 0x33, 0x92, 0x2e, 0x5e, 0x40, 0x1d, + 0x46, 0xe6, 0xbc, 0xf1, +}; +static const struct drbg_kat_pr_false kat1489_t = { + 3, kat1489_entropyin, kat1489_nonce, kat1489_persstr, + kat1489_entropyinreseed, kat1489_addinreseed, kat1489_addin0, + kat1489_addin1, kat1489_retbits +}; +static const struct drbg_kat kat1489 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1489_t +}; + +static const unsigned char kat1490_entropyin[] = { + 0xd9, 0x6b, 0xf7, 0x4b, 0x08, 0x5d, 0x53, 0x25, 0x1e, 0x2b, 0xab, 0x12, + 0x5e, 0x46, 0x60, 0xb1, +}; +static const unsigned char kat1490_nonce[] = { + 0x9a, 0x24, 0x0c, 0xaa, 0x05, 0x5e, 0x8c, 0xff, +}; +static const unsigned char kat1490_persstr[] = { + 0x16, 0x4b, 0x91, 0x37, 0x2e, 0x9d, 0xd0, 0xd4, 0xc6, 0xa0, 0xb8, 0x40, + 0xb5, 0xb9, 0x87, 0x45, +}; +static const unsigned char kat1490_entropyinreseed[] = { + 0xa0, 0x76, 0x45, 0x09, 0x3e, 0xc9, 0x58, 0x3b, 0x3b, 0xc7, 0xb4, 0x5d, + 0x56, 0xda, 0xee, 0x6f, +}; +static const unsigned char kat1490_addinreseed[] = { + 0xde, 0xd2, 0x61, 0xa7, 0xc1, 0x09, 0xe1, 0xfe, 0x0d, 0xb0, 0x91, 0x81, + 0x96, 0x2a, 0x9b, 0x6f, +}; +static const unsigned char kat1490_addin0[] = { + 0xe1, 0xe6, 0x73, 0xd0, 0xf5, 0x52, 0xf0, 0x15, 0xa9, 0x00, 0x67, 0xd1, + 0x23, 0x16, 0x21, 0x4a, +}; +static const unsigned char kat1490_addin1[] = { + 0x59, 0xb6, 0xd6, 0x68, 0x1b, 0x9a, 0xf4, 0x3c, 0xa6, 0x4e, 0x71, 0x0c, + 0xd8, 0x1b, 0x5d, 0x36, +}; +static const unsigned char kat1490_retbits[] = { + 0xb2, 0x7f, 0x08, 0xc1, 0x2b, 0xb8, 0xbe, 0xe5, 0x0b, 0xf4, 0xda, 0x1b, + 0xbb, 0x87, 0x04, 0xec, 0x9b, 0x38, 0x3d, 0xf8, 0x45, 0x16, 0x76, 0x4d, + 0xff, 0x13, 0xbe, 0xd0, 0xf2, 0xe7, 0xba, 0x21, 0x6b, 0xcb, 0x57, 0xec, + 0x31, 0x55, 0x1c, 0x46, 0x91, 0x46, 0x57, 0x2e, 0x4c, 0x43, 0x04, 0x79, + 0x16, 0xeb, 0x7f, 0xaf, 0x0c, 0x76, 0xe0, 0x17, 0x03, 0x31, 0x0d, 0xa6, + 0x61, 0x81, 0xf7, 0x54, +}; +static const struct drbg_kat_pr_false kat1490_t = { + 4, kat1490_entropyin, kat1490_nonce, kat1490_persstr, + kat1490_entropyinreseed, kat1490_addinreseed, kat1490_addin0, + kat1490_addin1, kat1490_retbits +}; +static const struct drbg_kat kat1490 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1490_t +}; + +static const unsigned char kat1491_entropyin[] = { + 0x41, 0x1c, 0x63, 0xbf, 0x97, 0x55, 0xd9, 0x6d, 0xf4, 0x14, 0xda, 0x1e, + 0xde, 0x04, 0xf2, 0x5d, +}; +static const unsigned char kat1491_nonce[] = { + 0x75, 0x62, 0x63, 0x08, 0x91, 0xcb, 0x0c, 0xa7, +}; +static const unsigned char kat1491_persstr[] = { + 0xf6, 0x9b, 0x3c, 0x68, 0x88, 0xd2, 0x87, 0xb7, 0xd5, 0xbe, 0xea, 0x03, + 0xab, 0x7d, 0x01, 0xe5, +}; +static const unsigned char kat1491_entropyinreseed[] = { + 0x78, 0xac, 0xe2, 0x3b, 0xdb, 0x31, 0xe4, 0x3d, 0xee, 0xed, 0xf8, 0xa5, + 0x07, 0xc1, 0x21, 0xa3, +}; +static const unsigned char kat1491_addinreseed[] = { + 0xf7, 0xdc, 0xad, 0x9d, 0x6d, 0x31, 0xf2, 0x12, 0xfc, 0x3b, 0xee, 0xef, + 0x0d, 0xf9, 0x43, 0x85, +}; +static const unsigned char kat1491_addin0[] = { + 0x02, 0xad, 0x67, 0xc8, 0x86, 0x55, 0xfb, 0x1e, 0x6e, 0x8a, 0xad, 0x0d, + 0xb6, 0xf9, 0x7e, 0xd5, +}; +static const unsigned char kat1491_addin1[] = { + 0x17, 0x2e, 0xc6, 0xd5, 0xb4, 0xc0, 0x1d, 0x1e, 0x40, 0x15, 0xf6, 0x67, + 0x7f, 0xde, 0x0f, 0xfd, +}; +static const unsigned char kat1491_retbits[] = { + 0xde, 0x06, 0x5f, 0x8f, 0xed, 0x81, 0xaf, 0x94, 0x8b, 0x34, 0x0a, 0xcc, + 0xb2, 0x97, 0x10, 0x89, 0xa9, 0xe2, 0x3d, 0x62, 0x1b, 0xa2, 0xb6, 0xd5, + 0x84, 0xcd, 0x9d, 0xa4, 0x25, 0xc5, 0xc9, 0xa4, 0xba, 0x80, 0x2b, 0x7b, + 0x36, 0x15, 0x88, 0x4f, 0xa9, 0x67, 0xc1, 0x18, 0xec, 0x2e, 0xd1, 0x42, + 0x56, 0xa0, 0x47, 0x9c, 0x24, 0xcc, 0xc5, 0x91, 0x7e, 0xcd, 0x63, 0xcc, + 0x4d, 0xde, 0x74, 0x0c, +}; +static const struct drbg_kat_pr_false kat1491_t = { + 5, kat1491_entropyin, kat1491_nonce, kat1491_persstr, + kat1491_entropyinreseed, kat1491_addinreseed, kat1491_addin0, + kat1491_addin1, kat1491_retbits +}; +static const struct drbg_kat kat1491 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1491_t +}; + +static const unsigned char kat1492_entropyin[] = { + 0xa1, 0x7c, 0x96, 0x64, 0xbd, 0x0e, 0xc6, 0xa6, 0x89, 0x53, 0xf5, 0xd8, + 0x16, 0xa4, 0xae, 0x00, +}; +static const unsigned char kat1492_nonce[] = { + 0xef, 0x8d, 0x4b, 0xa4, 0x15, 0x2d, 0x0d, 0x61, +}; +static const unsigned char kat1492_persstr[] = { + 0x01, 0xac, 0x06, 0x5c, 0x62, 0x18, 0x2f, 0x51, 0xcc, 0x86, 0x27, 0xdd, + 0x1c, 0x15, 0x38, 0xe0, +}; +static const unsigned char kat1492_entropyinreseed[] = { + 0x34, 0x5f, 0xb9, 0x87, 0x29, 0x17, 0x72, 0x80, 0xa7, 0x00, 0x18, 0xd6, + 0x7f, 0x49, 0x74, 0xe3, +}; +static const unsigned char kat1492_addinreseed[] = { + 0x58, 0x73, 0xbc, 0x53, 0x07, 0x5d, 0x4b, 0x8a, 0x11, 0xbf, 0xac, 0x36, + 0x8b, 0x91, 0x36, 0xed, +}; +static const unsigned char kat1492_addin0[] = { + 0x49, 0x7b, 0x88, 0x70, 0x51, 0x76, 0x13, 0xe9, 0x4b, 0x8c, 0x4b, 0x5d, + 0xdb, 0xd7, 0x46, 0x62, +}; +static const unsigned char kat1492_addin1[] = { + 0x5e, 0x8b, 0x41, 0xfb, 0x2e, 0x07, 0x80, 0x32, 0xfd, 0xef, 0xc3, 0x77, + 0xe5, 0x04, 0x4b, 0x68, +}; +static const unsigned char kat1492_retbits[] = { + 0xc6, 0x8c, 0x92, 0x6c, 0x32, 0xb6, 0x94, 0xd4, 0xab, 0xa7, 0xb7, 0xd5, + 0x8b, 0x2a, 0x8f, 0x0f, 0x1d, 0x20, 0x97, 0xfe, 0xb7, 0xb9, 0x25, 0x69, + 0xb3, 0x38, 0xc1, 0xae, 0x76, 0x43, 0x00, 0x48, 0x67, 0x1c, 0xd4, 0x5b, + 0x23, 0xcc, 0x6e, 0xc8, 0x22, 0xc8, 0xf4, 0x07, 0xa8, 0x4a, 0x55, 0x61, + 0x1f, 0xeb, 0x4f, 0x9b, 0xb0, 0x80, 0xa0, 0xe9, 0xa4, 0x35, 0x59, 0x9a, + 0xf8, 0xb7, 0x92, 0xca, +}; +static const struct drbg_kat_pr_false kat1492_t = { + 6, kat1492_entropyin, kat1492_nonce, kat1492_persstr, + kat1492_entropyinreseed, kat1492_addinreseed, kat1492_addin0, + kat1492_addin1, kat1492_retbits +}; +static const struct drbg_kat kat1492 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1492_t +}; + +static const unsigned char kat1493_entropyin[] = { + 0xa3, 0x30, 0x11, 0x7c, 0x45, 0xe0, 0x66, 0x24, 0x49, 0x4e, 0x7c, 0xf3, + 0x18, 0x1a, 0x5b, 0x1b, +}; +static const unsigned char kat1493_nonce[] = { + 0xdb, 0x39, 0x34, 0x44, 0xf6, 0x27, 0xa2, 0x17, +}; +static const unsigned char kat1493_persstr[] = { + 0x56, 0xc3, 0x7d, 0x50, 0xac, 0xca, 0xef, 0xf9, 0x94, 0xba, 0x28, 0x7e, + 0xe7, 0x6a, 0xc5, 0x38, +}; +static const unsigned char kat1493_entropyinreseed[] = { + 0x77, 0x06, 0xae, 0xdb, 0xcf, 0x72, 0xb4, 0xa8, 0x03, 0x5f, 0xc9, 0xa1, + 0x34, 0xad, 0x27, 0xd3, +}; +static const unsigned char kat1493_addinreseed[] = { + 0xec, 0xf8, 0x4c, 0xb0, 0xb4, 0x6b, 0xa4, 0xbf, 0xd5, 0x2b, 0x36, 0xd4, + 0xb8, 0x96, 0x43, 0x13, +}; +static const unsigned char kat1493_addin0[] = { + 0xbf, 0x9b, 0xb5, 0x15, 0xd6, 0x15, 0xa2, 0xb3, 0xb6, 0x72, 0x67, 0xc6, + 0x9e, 0x71, 0xf0, 0x18, +}; +static const unsigned char kat1493_addin1[] = { + 0x3e, 0x69, 0xa8, 0x94, 0x69, 0x45, 0x70, 0x26, 0x95, 0xa5, 0xa3, 0x75, + 0x1b, 0xba, 0xe8, 0x55, +}; +static const unsigned char kat1493_retbits[] = { + 0x60, 0xec, 0x02, 0xf1, 0x15, 0x20, 0x57, 0x9e, 0x42, 0xa2, 0x6c, 0x1f, + 0x25, 0x95, 0x2e, 0xb2, 0xa3, 0x68, 0xb8, 0x05, 0xcd, 0x74, 0xb6, 0xed, + 0x6b, 0x28, 0x02, 0x9d, 0x76, 0x0d, 0x29, 0x7c, 0xb2, 0xe3, 0xdc, 0x8b, + 0x91, 0x56, 0x27, 0xd2, 0x5a, 0xcb, 0x94, 0xdc, 0x0c, 0x9d, 0xc1, 0xb2, + 0x73, 0x2c, 0xdb, 0xb0, 0x10, 0x15, 0x55, 0xf7, 0xfb, 0x41, 0x6e, 0xd4, + 0xf2, 0xea, 0x07, 0xe1, +}; +static const struct drbg_kat_pr_false kat1493_t = { + 7, kat1493_entropyin, kat1493_nonce, kat1493_persstr, + kat1493_entropyinreseed, kat1493_addinreseed, kat1493_addin0, + kat1493_addin1, kat1493_retbits +}; +static const struct drbg_kat kat1493 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1493_t +}; + +static const unsigned char kat1494_entropyin[] = { + 0x35, 0x56, 0xfb, 0x87, 0x29, 0xbf, 0x4c, 0xc9, 0x82, 0x14, 0x13, 0x42, + 0x71, 0x45, 0x2e, 0x56, +}; +static const unsigned char kat1494_nonce[] = { + 0x67, 0x1c, 0x10, 0xfe, 0xd8, 0xb4, 0xcf, 0x40, +}; +static const unsigned char kat1494_persstr[] = { + 0x9e, 0x85, 0x59, 0x99, 0xaa, 0xcb, 0xa3, 0x2f, 0x91, 0x65, 0xd9, 0x65, + 0x23, 0xa2, 0x3a, 0xec, +}; +static const unsigned char kat1494_entropyinreseed[] = { + 0x6d, 0x85, 0x7a, 0x10, 0x61, 0x1f, 0x53, 0xb3, 0xa9, 0x77, 0x15, 0x1c, + 0x8f, 0xa2, 0x86, 0x07, +}; +static const unsigned char kat1494_addinreseed[] = { + 0xda, 0xbd, 0x11, 0x41, 0xbe, 0x9d, 0xea, 0xb1, 0x63, 0x6b, 0x32, 0xbc, + 0x3a, 0xbc, 0xfd, 0xbd, +}; +static const unsigned char kat1494_addin0[] = { + 0xe6, 0x5c, 0xc2, 0xe5, 0xdb, 0x61, 0x6f, 0x72, 0x88, 0xe9, 0x60, 0xfb, + 0xcf, 0x66, 0xf3, 0xc6, +}; +static const unsigned char kat1494_addin1[] = { + 0x4e, 0x6b, 0xa4, 0x15, 0x74, 0xca, 0xd7, 0x6b, 0x3c, 0x30, 0x5b, 0x4f, + 0x26, 0x21, 0xbd, 0xa5, +}; +static const unsigned char kat1494_retbits[] = { + 0x55, 0x17, 0xc5, 0x33, 0xa0, 0x61, 0x28, 0x3b, 0x9b, 0x6d, 0x73, 0xd3, + 0x3c, 0xd8, 0x54, 0x05, 0x85, 0x6d, 0x8a, 0x4e, 0xb2, 0x0e, 0x84, 0xbf, + 0xf2, 0x35, 0xb4, 0x1f, 0xcc, 0xee, 0xdd, 0xb0, 0xb4, 0x4b, 0xbb, 0x7e, + 0x69, 0x36, 0xc3, 0xe3, 0xc0, 0x2c, 0xd0, 0x0b, 0x19, 0xa2, 0xaf, 0x6f, + 0x34, 0xdc, 0xb2, 0x13, 0x41, 0xfa, 0xf7, 0x66, 0x19, 0xd6, 0x22, 0x6f, + 0xb6, 0x05, 0x74, 0x62, +}; +static const struct drbg_kat_pr_false kat1494_t = { + 8, kat1494_entropyin, kat1494_nonce, kat1494_persstr, + kat1494_entropyinreseed, kat1494_addinreseed, kat1494_addin0, + kat1494_addin1, kat1494_retbits +}; +static const struct drbg_kat kat1494 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1494_t +}; + +static const unsigned char kat1495_entropyin[] = { + 0xab, 0xe8, 0xb1, 0xce, 0xae, 0x3d, 0x3d, 0xb5, 0x29, 0xf9, 0x5d, 0x64, + 0x4e, 0x9f, 0x55, 0xcc, +}; +static const unsigned char kat1495_nonce[] = { + 0x5b, 0xe2, 0x69, 0x1f, 0xad, 0x7f, 0x23, 0x0f, +}; +static const unsigned char kat1495_persstr[] = { + 0x29, 0xe0, 0x71, 0x71, 0xa1, 0x7e, 0x7d, 0xc2, 0xe9, 0xad, 0x9e, 0xf7, + 0xcc, 0x23, 0xd9, 0xcb, +}; +static const unsigned char kat1495_entropyinreseed[] = { + 0xd3, 0x8f, 0xcb, 0x2f, 0x07, 0xb2, 0x66, 0x88, 0x8f, 0xfe, 0x56, 0xfc, + 0xc9, 0xaa, 0x5a, 0x1f, +}; +static const unsigned char kat1495_addinreseed[] = { + 0x6b, 0x87, 0x85, 0x79, 0x90, 0x8e, 0x78, 0xe8, 0x31, 0x02, 0x35, 0x75, + 0x6a, 0x77, 0xf9, 0x93, +}; +static const unsigned char kat1495_addin0[] = { + 0x1d, 0x3f, 0xf6, 0xcd, 0x95, 0x7b, 0x54, 0x21, 0x0b, 0xe6, 0x44, 0xe6, + 0xd0, 0x30, 0xa6, 0xa1, +}; +static const unsigned char kat1495_addin1[] = { + 0x77, 0x3d, 0xc5, 0xb3, 0x96, 0x70, 0x42, 0x23, 0xe7, 0xcc, 0xa2, 0xcd, + 0x60, 0x8b, 0xce, 0xb8, +}; +static const unsigned char kat1495_retbits[] = { + 0x53, 0x74, 0xa2, 0xbc, 0x46, 0xb5, 0x2d, 0x3e, 0xdc, 0x6e, 0xd1, 0xa1, + 0x75, 0x65, 0xe7, 0x48, 0xc5, 0xe8, 0x98, 0x8d, 0x5f, 0xab, 0x84, 0x60, + 0xa8, 0x8c, 0x2d, 0x8d, 0xb6, 0xe8, 0x50, 0xb3, 0x3c, 0x0c, 0x87, 0x46, + 0xb3, 0x22, 0x27, 0x87, 0x32, 0xf9, 0xcf, 0x0b, 0x73, 0x60, 0x5b, 0xb3, + 0x73, 0xc2, 0x5c, 0x68, 0xbe, 0x04, 0x58, 0x91, 0x02, 0xe5, 0x84, 0xe6, + 0xac, 0x1b, 0x19, 0x6e, +}; +static const struct drbg_kat_pr_false kat1495_t = { + 9, kat1495_entropyin, kat1495_nonce, kat1495_persstr, + kat1495_entropyinreseed, kat1495_addinreseed, kat1495_addin0, + kat1495_addin1, kat1495_retbits +}; +static const struct drbg_kat kat1495 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1495_t +}; + +static const unsigned char kat1496_entropyin[] = { + 0x79, 0xff, 0xe8, 0xb7, 0xd3, 0xd4, 0x9d, 0xb9, 0x11, 0xfd, 0x30, 0xef, + 0x93, 0x46, 0xd5, 0x7d, +}; +static const unsigned char kat1496_nonce[] = { + 0x1b, 0x78, 0x80, 0x42, 0xcd, 0x20, 0x43, 0xdc, +}; +static const unsigned char kat1496_persstr[] = { + 0xd0, 0xec, 0x0d, 0x2f, 0x76, 0x6a, 0x14, 0x14, 0x34, 0x77, 0x17, 0xc3, + 0x4c, 0xaf, 0x05, 0xe7, +}; +static const unsigned char kat1496_entropyinreseed[] = { + 0x56, 0x37, 0xac, 0x60, 0x4b, 0x75, 0xc1, 0xb8, 0x73, 0x16, 0x3b, 0xca, + 0x73, 0xde, 0xed, 0x55, +}; +static const unsigned char kat1496_addinreseed[] = { + 0x46, 0x9e, 0x7c, 0xae, 0xb9, 0x62, 0x54, 0x1f, 0x1a, 0x91, 0xed, 0xae, + 0x0c, 0x23, 0x17, 0xd9, +}; +static const unsigned char kat1496_addin0[] = { + 0x61, 0xc4, 0xaf, 0x6e, 0x27, 0x4d, 0xb9, 0xaf, 0xd8, 0x68, 0x04, 0x12, + 0x7c, 0x61, 0xfa, 0xd1, +}; +static const unsigned char kat1496_addin1[] = { + 0xbc, 0x2b, 0x9c, 0xba, 0xf0, 0xc3, 0xf0, 0xd5, 0x70, 0x3f, 0x1f, 0x77, + 0x3a, 0xa2, 0xc9, 0x97, +}; +static const unsigned char kat1496_retbits[] = { + 0x7a, 0xa0, 0x68, 0x59, 0xe4, 0x29, 0xae, 0x4c, 0xa7, 0xe9, 0x1f, 0x0e, + 0xf8, 0x53, 0x82, 0x33, 0x48, 0xce, 0x39, 0x64, 0x01, 0xcd, 0x54, 0x33, + 0x51, 0xfd, 0x01, 0xd9, 0xe2, 0xd7, 0x1d, 0x60, 0xe8, 0x33, 0x5f, 0x1c, + 0x1e, 0x5e, 0xb1, 0x4c, 0xca, 0x17, 0xfd, 0xb8, 0x8a, 0x7c, 0xf9, 0x8b, + 0x76, 0xc6, 0x6d, 0x0e, 0x9e, 0xe1, 0x9b, 0xd3, 0xc8, 0xd9, 0x49, 0x7c, + 0x76, 0xe4, 0x91, 0x73, +}; +static const struct drbg_kat_pr_false kat1496_t = { + 10, kat1496_entropyin, kat1496_nonce, kat1496_persstr, + kat1496_entropyinreseed, kat1496_addinreseed, kat1496_addin0, + kat1496_addin1, kat1496_retbits +}; +static const struct drbg_kat kat1496 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1496_t +}; + +static const unsigned char kat1497_entropyin[] = { + 0xcc, 0xb9, 0xd8, 0xb8, 0x68, 0x15, 0xe2, 0x10, 0xff, 0x4a, 0xb2, 0xcc, + 0x2e, 0x67, 0x31, 0xa4, +}; +static const unsigned char kat1497_nonce[] = { + 0xdb, 0x60, 0x11, 0xe5, 0xf0, 0x97, 0xa6, 0x12, +}; +static const unsigned char kat1497_persstr[] = { + 0x49, 0xac, 0x61, 0x3a, 0x4f, 0x2c, 0x9e, 0x98, 0x64, 0x9d, 0x30, 0x42, + 0x3f, 0x49, 0x5d, 0xd0, +}; +static const unsigned char kat1497_entropyinreseed[] = { + 0x26, 0x82, 0xd8, 0xad, 0xaa, 0xfa, 0x99, 0x5b, 0xba, 0xc4, 0x3d, 0xc1, + 0xcb, 0xc0, 0x45, 0x18, +}; +static const unsigned char kat1497_addinreseed[] = { + 0xed, 0x13, 0x7c, 0x1b, 0x55, 0x02, 0xc4, 0xf1, 0xe2, 0x01, 0xed, 0xb0, + 0x5e, 0xa7, 0x7a, 0x17, +}; +static const unsigned char kat1497_addin0[] = { + 0x3c, 0x00, 0x07, 0xa5, 0xe2, 0x30, 0xf7, 0x71, 0xd7, 0xf7, 0x48, 0x64, + 0x2c, 0x5f, 0x5a, 0x99, +}; +static const unsigned char kat1497_addin1[] = { + 0xfa, 0x22, 0xdd, 0x67, 0xea, 0xbf, 0x64, 0xcf, 0x83, 0xa3, 0x7b, 0xc4, + 0x5e, 0xcc, 0x2c, 0x88, +}; +static const unsigned char kat1497_retbits[] = { + 0x13, 0x58, 0xde, 0xc3, 0xa9, 0xf4, 0x57, 0x5e, 0x6e, 0xcf, 0x0d, 0x7d, + 0x59, 0x78, 0x20, 0x00, 0x4a, 0x18, 0xcf, 0x9c, 0x7e, 0x3d, 0xc9, 0xf7, + 0x14, 0x0e, 0x55, 0x4a, 0x7f, 0x82, 0xf7, 0xf9, 0xb6, 0x60, 0x56, 0x07, + 0x8a, 0xcb, 0xbc, 0x01, 0x84, 0x1f, 0x15, 0x54, 0x4a, 0xc5, 0x82, 0x2f, + 0x2f, 0xf0, 0xa8, 0x49, 0xca, 0xf6, 0xea, 0x89, 0x87, 0x17, 0x5b, 0x10, + 0x23, 0x1d, 0x23, 0xd1, +}; +static const struct drbg_kat_pr_false kat1497_t = { + 11, kat1497_entropyin, kat1497_nonce, kat1497_persstr, + kat1497_entropyinreseed, kat1497_addinreseed, kat1497_addin0, + kat1497_addin1, kat1497_retbits +}; +static const struct drbg_kat kat1497 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1497_t +}; + +static const unsigned char kat1498_entropyin[] = { + 0xf9, 0x4f, 0xfc, 0xa8, 0x16, 0x78, 0x20, 0x85, 0xe9, 0xd0, 0x16, 0xa4, + 0x2f, 0x84, 0xde, 0x8d, +}; +static const unsigned char kat1498_nonce[] = { + 0x32, 0x58, 0x62, 0x4b, 0xe8, 0xb3, 0x2e, 0x05, +}; +static const unsigned char kat1498_persstr[] = { + 0x94, 0x10, 0x1d, 0x2a, 0x9c, 0x6e, 0xf3, 0xa6, 0xf0, 0xc6, 0x49, 0x56, + 0x3a, 0x02, 0x97, 0xa4, +}; +static const unsigned char kat1498_entropyinreseed[] = { + 0x36, 0x32, 0xf0, 0xcb, 0x9f, 0xd4, 0x6d, 0x92, 0xb6, 0xf9, 0x29, 0x0a, + 0x49, 0xe1, 0xde, 0x52, +}; +static const unsigned char kat1498_addinreseed[] = { + 0xdb, 0xd2, 0x22, 0x23, 0x36, 0xea, 0x62, 0x5f, 0xfb, 0x44, 0xd6, 0x12, + 0xe2, 0xd1, 0xeb, 0x6d, +}; +static const unsigned char kat1498_addin0[] = { + 0x47, 0x8a, 0xfb, 0x77, 0x6c, 0x66, 0x81, 0x35, 0xa2, 0xbc, 0x52, 0x46, + 0x84, 0x3b, 0x68, 0xea, +}; +static const unsigned char kat1498_addin1[] = { + 0x16, 0xa4, 0x77, 0x8d, 0xb1, 0x68, 0x16, 0x89, 0x8f, 0x96, 0x07, 0x82, + 0x16, 0xd8, 0x31, 0x99, +}; +static const unsigned char kat1498_retbits[] = { + 0xa8, 0x9a, 0x30, 0xc5, 0xbb, 0x0f, 0x1e, 0x90, 0x7e, 0x99, 0xf3, 0x60, + 0x01, 0xf5, 0x08, 0x70, 0x91, 0xb2, 0xd4, 0xaf, 0x6e, 0x60, 0xa7, 0xf8, + 0x7b, 0x56, 0xf6, 0x94, 0xdc, 0x19, 0x45, 0x53, 0x1c, 0xd1, 0x34, 0x77, + 0x6b, 0xb3, 0x53, 0x69, 0xb4, 0x19, 0xed, 0xde, 0x4f, 0x75, 0xb6, 0x62, + 0x64, 0x02, 0x5b, 0xad, 0x47, 0x74, 0xe8, 0x67, 0x7d, 0x64, 0x57, 0x91, + 0x8e, 0x57, 0x5c, 0xe4, +}; +static const struct drbg_kat_pr_false kat1498_t = { + 12, kat1498_entropyin, kat1498_nonce, kat1498_persstr, + kat1498_entropyinreseed, kat1498_addinreseed, kat1498_addin0, + kat1498_addin1, kat1498_retbits +}; +static const struct drbg_kat kat1498 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1498_t +}; + +static const unsigned char kat1499_entropyin[] = { + 0x7f, 0xa4, 0xed, 0x36, 0x28, 0x6d, 0xed, 0x64, 0xbf, 0x49, 0x79, 0xa7, + 0x1f, 0x91, 0xbc, 0xed, +}; +static const unsigned char kat1499_nonce[] = { + 0x58, 0x6d, 0x02, 0xa8, 0x69, 0x2f, 0xd6, 0x0a, +}; +static const unsigned char kat1499_persstr[] = { + 0xdd, 0x1e, 0xf2, 0xe4, 0xdf, 0xcc, 0x03, 0x70, 0x33, 0x90, 0x13, 0x6d, + 0xd7, 0x40, 0xcd, 0xe7, +}; +static const unsigned char kat1499_entropyinreseed[] = { + 0x1a, 0xaf, 0xe1, 0x45, 0x12, 0x8f, 0xd1, 0xee, 0x74, 0x39, 0x3a, 0x6f, + 0x82, 0xcb, 0x65, 0x03, +}; +static const unsigned char kat1499_addinreseed[] = { + 0xcf, 0xbe, 0x4f, 0x09, 0xb2, 0xcb, 0x97, 0x41, 0x7e, 0xc7, 0xce, 0x81, + 0x8b, 0x15, 0x0f, 0x0b, +}; +static const unsigned char kat1499_addin0[] = { + 0x91, 0x69, 0xf9, 0xd1, 0x58, 0x00, 0xe7, 0x4b, 0x53, 0xdc, 0x41, 0x5a, + 0xfa, 0x49, 0x88, 0x39, +}; +static const unsigned char kat1499_addin1[] = { + 0x8d, 0xbe, 0xa4, 0xf4, 0x65, 0x25, 0xef, 0x21, 0xbf, 0xce, 0x86, 0xaa, + 0x52, 0x2f, 0xfb, 0x4a, +}; +static const unsigned char kat1499_retbits[] = { + 0x3e, 0xc9, 0xa5, 0x02, 0xb0, 0x21, 0xfa, 0xf3, 0x6c, 0x23, 0x31, 0xcb, + 0xf0, 0x31, 0x60, 0x50, 0x39, 0xab, 0x24, 0x8b, 0x3e, 0xbd, 0xf7, 0xc1, + 0x55, 0x37, 0x07, 0xc7, 0xc2, 0xfa, 0x63, 0x2a, 0xc6, 0x60, 0x2f, 0x3d, + 0x61, 0xcc, 0xe2, 0x5d, 0xc2, 0x1a, 0x3b, 0x48, 0xf3, 0x86, 0x5e, 0xb8, + 0x9c, 0xf2, 0x4e, 0xb3, 0x27, 0x40, 0x71, 0x8a, 0x2d, 0x50, 0xff, 0x22, + 0x49, 0x41, 0x4f, 0x3d, +}; +static const struct drbg_kat_pr_false kat1499_t = { + 13, kat1499_entropyin, kat1499_nonce, kat1499_persstr, + kat1499_entropyinreseed, kat1499_addinreseed, kat1499_addin0, + kat1499_addin1, kat1499_retbits +}; +static const struct drbg_kat kat1499 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1499_t +}; + +static const unsigned char kat1500_entropyin[] = { + 0x02, 0xf5, 0x6e, 0xa0, 0x27, 0x87, 0x5a, 0xda, 0xf7, 0x2f, 0xac, 0x22, + 0xd6, 0x1c, 0xd1, 0x7d, +}; +static const unsigned char kat1500_nonce[] = { + 0x50, 0xdd, 0x72, 0x48, 0xa6, 0x55, 0x9a, 0xf6, +}; +static const unsigned char kat1500_persstr[] = { + 0x1e, 0x2f, 0x36, 0x4b, 0x23, 0xba, 0x3c, 0xc5, 0x81, 0x5c, 0x13, 0x84, + 0xae, 0x22, 0xda, 0xc7, +}; +static const unsigned char kat1500_entropyinreseed[] = { + 0xc2, 0x08, 0x26, 0x28, 0x4e, 0x8f, 0xc9, 0x28, 0x54, 0x8f, 0x60, 0xc6, + 0x3b, 0x38, 0x6d, 0xda, +}; +static const unsigned char kat1500_addinreseed[] = { + 0x98, 0x66, 0x92, 0x20, 0xd5, 0x65, 0x71, 0xf2, 0xf2, 0xeb, 0x17, 0xaf, + 0x75, 0xb6, 0xac, 0x1a, +}; +static const unsigned char kat1500_addin0[] = { + 0x0d, 0x85, 0x9d, 0x1d, 0x9c, 0x91, 0x1f, 0x7e, 0x6d, 0x4e, 0xa8, 0x4a, + 0x9f, 0x77, 0x68, 0x7e, +}; +static const unsigned char kat1500_addin1[] = { + 0xe1, 0xcd, 0x4d, 0x47, 0x4c, 0x98, 0x5b, 0xa5, 0x62, 0xdc, 0x41, 0x00, + 0xec, 0x01, 0x15, 0x5a, +}; +static const unsigned char kat1500_retbits[] = { + 0xe8, 0x3f, 0x1f, 0x0f, 0xe0, 0xad, 0x9a, 0x8b, 0x6c, 0x0b, 0xee, 0x71, + 0x48, 0x4f, 0x03, 0xb2, 0x2c, 0xde, 0x5e, 0xf9, 0x90, 0xaf, 0x0f, 0xa4, + 0x9e, 0x45, 0xf9, 0xe8, 0xd0, 0xb1, 0xcd, 0x9c, 0x05, 0x8f, 0xf5, 0xc6, + 0x2f, 0x40, 0x9b, 0xad, 0x00, 0x5e, 0xa4, 0xf0, 0x0c, 0xae, 0xca, 0xc1, + 0xde, 0x6f, 0x6f, 0x89, 0x6f, 0x0d, 0xab, 0xe0, 0x20, 0xfd, 0xa5, 0x83, + 0x75, 0xe6, 0xca, 0x19, +}; +static const struct drbg_kat_pr_false kat1500_t = { + 14, kat1500_entropyin, kat1500_nonce, kat1500_persstr, + kat1500_entropyinreseed, kat1500_addinreseed, kat1500_addin0, + kat1500_addin1, kat1500_retbits +}; +static const struct drbg_kat kat1500 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1500_t +}; + +static const unsigned char kat1501_entropyin[] = { + 0x8f, 0xb9, 0x57, 0x3a, 0x54, 0x62, 0x53, 0xcd, 0xbf, 0x62, 0x15, 0xa1, + 0x80, 0x5a, 0x41, 0x38, +}; +static const unsigned char kat1501_nonce[] = { + 0x7c, 0x2c, 0xe6, 0x54, 0x02, 0xbc, 0xa6, 0x83, +}; +static const unsigned char kat1501_persstr[] = {0}; +static const unsigned char kat1501_entropyinreseed[] = { + 0xbc, 0x5a, 0xd8, 0x9a, 0xe1, 0x8c, 0x49, 0x1f, 0x90, 0xa2, 0xae, 0x9e, + 0x7e, 0x2c, 0xf9, 0x9d, +}; +static const unsigned char kat1501_addinreseed[] = {0}; +static const unsigned char kat1501_addin0[] = {0}; +static const unsigned char kat1501_addin1[] = {0}; +static const unsigned char kat1501_retbits[] = { + 0x07, 0x62, 0x82, 0xe8, 0x0e, 0x65, 0xd7, 0x70, 0x1a, 0x35, 0xb3, 0x44, + 0x63, 0x68, 0xb6, 0x16, 0xf8, 0xd9, 0x62, 0x23, 0xb9, 0xb5, 0x11, 0x64, + 0x23, 0xa3, 0xa2, 0x32, 0xc7, 0x2c, 0xea, 0xbf, 0x4a, 0xcc, 0xc4, 0x0a, + 0xc6, 0x19, 0xd6, 0xaa, 0x68, 0xae, 0xdb, 0x8b, 0x26, 0x70, 0xb8, 0x07, + 0xcc, 0xe9, 0x9f, 0xc2, 0x1b, 0x8f, 0xa5, 0x16, 0xef, 0x75, 0xb6, 0x8f, + 0xc0, 0x6c, 0x87, 0xc7, +}; +static const struct drbg_kat_pr_false kat1501_t = { + 0, kat1501_entropyin, kat1501_nonce, kat1501_persstr, + kat1501_entropyinreseed, kat1501_addinreseed, kat1501_addin0, + kat1501_addin1, kat1501_retbits +}; +static const struct drbg_kat kat1501 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1501_t +}; + +static const unsigned char kat1502_entropyin[] = { + 0xa3, 0x56, 0xf3, 0x9a, 0xce, 0x48, 0x59, 0xb1, 0xe1, 0x99, 0x49, 0x40, + 0x22, 0x8e, 0xa4, 0xeb, +}; +static const unsigned char kat1502_nonce[] = { + 0xff, 0x33, 0xe9, 0x51, 0x39, 0xf7, 0x67, 0xf1, +}; +static const unsigned char kat1502_persstr[] = {0}; +static const unsigned char kat1502_entropyinreseed[] = { + 0x66, 0x8f, 0x0f, 0xe2, 0xd8, 0xa9, 0xa9, 0x29, 0x20, 0xfc, 0xb9, 0xf3, + 0x55, 0xd6, 0xc3, 0x4c, +}; +static const unsigned char kat1502_addinreseed[] = {0}; +static const unsigned char kat1502_addin0[] = {0}; +static const unsigned char kat1502_addin1[] = {0}; +static const unsigned char kat1502_retbits[] = { + 0xa1, 0x06, 0x61, 0x65, 0x7b, 0x98, 0x0f, 0xac, 0xce, 0x77, 0x91, 0xde, + 0x7f, 0x6f, 0xe6, 0x1e, 0x88, 0x15, 0xe5, 0xe2, 0x4c, 0xce, 0xb8, 0xa6, + 0x63, 0xf2, 0xe8, 0x2f, 0x5b, 0xfb, 0x16, 0x92, 0x06, 0x2a, 0xf3, 0xa8, + 0x59, 0x05, 0xe0, 0x5a, 0x92, 0x9a, 0x07, 0x65, 0xc7, 0x41, 0x29, 0x3a, + 0x4b, 0x1d, 0x15, 0x3e, 0x02, 0x14, 0x7b, 0xdd, 0x74, 0x5e, 0xbd, 0x70, + 0x07, 0x4d, 0x6c, 0x08, +}; +static const struct drbg_kat_pr_false kat1502_t = { + 1, kat1502_entropyin, kat1502_nonce, kat1502_persstr, + kat1502_entropyinreseed, kat1502_addinreseed, kat1502_addin0, + kat1502_addin1, kat1502_retbits +}; +static const struct drbg_kat kat1502 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1502_t +}; + +static const unsigned char kat1503_entropyin[] = { + 0x9d, 0x44, 0xa6, 0x10, 0xec, 0x17, 0x51, 0xcb, 0x16, 0x9a, 0x5d, 0x83, + 0x20, 0x8c, 0xce, 0xe6, +}; +static const unsigned char kat1503_nonce[] = { + 0x7a, 0x50, 0x71, 0x58, 0xc9, 0x89, 0xc3, 0x23, +}; +static const unsigned char kat1503_persstr[] = {0}; +static const unsigned char kat1503_entropyinreseed[] = { + 0xd8, 0x0a, 0x20, 0x89, 0x7c, 0x16, 0x78, 0x06, 0xf2, 0xe2, 0x91, 0x99, + 0xa2, 0x7c, 0xe7, 0xc5, +}; +static const unsigned char kat1503_addinreseed[] = {0}; +static const unsigned char kat1503_addin0[] = {0}; +static const unsigned char kat1503_addin1[] = {0}; +static const unsigned char kat1503_retbits[] = { + 0x08, 0xe6, 0x18, 0xad, 0xca, 0x11, 0x34, 0xcb, 0x45, 0xa7, 0x38, 0x99, + 0x86, 0x5d, 0xf3, 0xab, 0x33, 0xeb, 0x31, 0xa7, 0x51, 0xb4, 0x29, 0x8f, + 0x98, 0xcd, 0x1f, 0xc8, 0xd2, 0xcb, 0x7c, 0x3c, 0xa1, 0x9a, 0xac, 0xd6, + 0x2b, 0x37, 0x55, 0x67, 0xd6, 0xba, 0x0c, 0xe1, 0xc0, 0x8f, 0x5f, 0xa6, + 0xe6, 0x8f, 0xfb, 0xe7, 0x6b, 0x8e, 0xae, 0xcd, 0xf6, 0x83, 0xdc, 0x34, + 0xe7, 0xf8, 0xd6, 0xd5, +}; +static const struct drbg_kat_pr_false kat1503_t = { + 2, kat1503_entropyin, kat1503_nonce, kat1503_persstr, + kat1503_entropyinreseed, kat1503_addinreseed, kat1503_addin0, + kat1503_addin1, kat1503_retbits +}; +static const struct drbg_kat kat1503 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1503_t +}; + +static const unsigned char kat1504_entropyin[] = { + 0xd0, 0x73, 0x0d, 0x39, 0xd5, 0xb5, 0xa5, 0x45, 0xd8, 0x15, 0x62, 0xfa, + 0xfa, 0xa1, 0x2b, 0xa0, +}; +static const unsigned char kat1504_nonce[] = { + 0x68, 0x37, 0xef, 0x68, 0x00, 0xd0, 0xe7, 0x4e, +}; +static const unsigned char kat1504_persstr[] = {0}; +static const unsigned char kat1504_entropyinreseed[] = { + 0x9b, 0xbe, 0x65, 0x33, 0x97, 0x4a, 0x7b, 0x1a, 0x6f, 0xab, 0x4e, 0xad, + 0x39, 0x35, 0x8a, 0xbe, +}; +static const unsigned char kat1504_addinreseed[] = {0}; +static const unsigned char kat1504_addin0[] = {0}; +static const unsigned char kat1504_addin1[] = {0}; +static const unsigned char kat1504_retbits[] = { + 0xf4, 0x42, 0xe8, 0xc6, 0xfa, 0x95, 0x34, 0x3c, 0x33, 0xf7, 0x9e, 0x32, + 0xb9, 0x72, 0xe4, 0x06, 0x91, 0xe2, 0x37, 0xa2, 0x5d, 0x55, 0x26, 0xf5, + 0x77, 0x24, 0xe7, 0x18, 0x41, 0x72, 0x5c, 0xba, 0x94, 0xa5, 0xd4, 0x5b, + 0x43, 0x3e, 0x80, 0xd2, 0xf2, 0x81, 0xae, 0x5a, 0xb2, 0x45, 0x5b, 0xa7, + 0x77, 0x9c, 0xf6, 0xf3, 0x37, 0x00, 0xf4, 0xa1, 0x3e, 0x4d, 0xdf, 0x77, + 0x43, 0xd9, 0xfe, 0x7b, +}; +static const struct drbg_kat_pr_false kat1504_t = { + 3, kat1504_entropyin, kat1504_nonce, kat1504_persstr, + kat1504_entropyinreseed, kat1504_addinreseed, kat1504_addin0, + kat1504_addin1, kat1504_retbits +}; +static const struct drbg_kat kat1504 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1504_t +}; + +static const unsigned char kat1505_entropyin[] = { + 0xbf, 0xa9, 0x11, 0xf9, 0x19, 0x52, 0xb0, 0x25, 0xae, 0xc0, 0xd1, 0xa5, + 0x6a, 0xb1, 0xd0, 0x7c, +}; +static const unsigned char kat1505_nonce[] = { + 0xa5, 0x04, 0x39, 0xc8, 0x03, 0xdd, 0xf0, 0x40, +}; +static const unsigned char kat1505_persstr[] = {0}; +static const unsigned char kat1505_entropyinreseed[] = { + 0x42, 0x92, 0x0c, 0x5e, 0x7c, 0x08, 0x15, 0x4f, 0xdd, 0x80, 0xc5, 0x26, + 0x31, 0x04, 0x38, 0x85, +}; +static const unsigned char kat1505_addinreseed[] = {0}; +static const unsigned char kat1505_addin0[] = {0}; +static const unsigned char kat1505_addin1[] = {0}; +static const unsigned char kat1505_retbits[] = { + 0x8c, 0x1d, 0x40, 0x8d, 0x7a, 0x3d, 0x0d, 0x30, 0x5c, 0x13, 0x4f, 0xda, + 0x0b, 0xf8, 0x3c, 0xb8, 0x2f, 0x00, 0xcd, 0x7c, 0x36, 0xa0, 0xc9, 0xb6, + 0x16, 0xeb, 0xb2, 0x3b, 0xaa, 0x62, 0x54, 0x46, 0x7f, 0x95, 0xc8, 0x4c, + 0xdb, 0x77, 0xc5, 0x96, 0xa7, 0x54, 0xcc, 0x3b, 0xd1, 0x04, 0x7a, 0xf7, + 0x8f, 0x0e, 0xe0, 0x64, 0xfb, 0x04, 0xb5, 0xe0, 0xf3, 0x0b, 0x4a, 0x5e, + 0x45, 0x69, 0x01, 0xbd, +}; +static const struct drbg_kat_pr_false kat1505_t = { + 4, kat1505_entropyin, kat1505_nonce, kat1505_persstr, + kat1505_entropyinreseed, kat1505_addinreseed, kat1505_addin0, + kat1505_addin1, kat1505_retbits +}; +static const struct drbg_kat kat1505 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1505_t +}; + +static const unsigned char kat1506_entropyin[] = { + 0xd0, 0xf7, 0x9a, 0x4a, 0xcb, 0x76, 0x76, 0x07, 0x1e, 0xf7, 0x71, 0xb5, + 0x95, 0x01, 0x63, 0x04, +}; +static const unsigned char kat1506_nonce[] = { + 0x5b, 0xc0, 0xfd, 0xdf, 0x69, 0xa1, 0x03, 0x90, +}; +static const unsigned char kat1506_persstr[] = {0}; +static const unsigned char kat1506_entropyinreseed[] = { + 0x27, 0x9e, 0xac, 0xfc, 0xff, 0xbb, 0x3f, 0xdb, 0xaf, 0x4b, 0x9e, 0xb5, + 0xa6, 0x6f, 0x5c, 0xb2, +}; +static const unsigned char kat1506_addinreseed[] = {0}; +static const unsigned char kat1506_addin0[] = {0}; +static const unsigned char kat1506_addin1[] = {0}; +static const unsigned char kat1506_retbits[] = { + 0xfe, 0x5d, 0x3a, 0x28, 0xe5, 0x1f, 0xb8, 0xa8, 0xab, 0xd0, 0xd9, 0xc9, + 0x58, 0xf1, 0x8c, 0xdb, 0x49, 0x89, 0xe4, 0xd5, 0xae, 0xab, 0x6c, 0x79, + 0xed, 0xb5, 0xa4, 0x3e, 0x7d, 0xe9, 0x09, 0xaa, 0xc1, 0x57, 0xd9, 0x09, + 0x4c, 0x18, 0xc5, 0xe5, 0xdd, 0x04, 0x3b, 0xaf, 0x06, 0x5e, 0xa2, 0x00, + 0x73, 0x32, 0xec, 0x2e, 0x62, 0x08, 0x6b, 0x0a, 0x61, 0xee, 0x49, 0xa2, + 0x5f, 0x01, 0xa2, 0x38, +}; +static const struct drbg_kat_pr_false kat1506_t = { + 5, kat1506_entropyin, kat1506_nonce, kat1506_persstr, + kat1506_entropyinreseed, kat1506_addinreseed, kat1506_addin0, + kat1506_addin1, kat1506_retbits +}; +static const struct drbg_kat kat1506 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1506_t +}; + +static const unsigned char kat1507_entropyin[] = { + 0xb5, 0xa2, 0x2a, 0x22, 0x03, 0x64, 0x4b, 0xfb, 0x3f, 0x2d, 0x70, 0x05, + 0x30, 0xe3, 0xf6, 0x54, +}; +static const unsigned char kat1507_nonce[] = { + 0x06, 0x74, 0x7e, 0x42, 0x67, 0xca, 0xbc, 0xb3, +}; +static const unsigned char kat1507_persstr[] = {0}; +static const unsigned char kat1507_entropyinreseed[] = { + 0xe8, 0xa0, 0xf9, 0x95, 0x24, 0x13, 0x72, 0xd7, 0xa3, 0x06, 0xd6, 0x8c, + 0xa1, 0x54, 0xde, 0x3f, +}; +static const unsigned char kat1507_addinreseed[] = {0}; +static const unsigned char kat1507_addin0[] = {0}; +static const unsigned char kat1507_addin1[] = {0}; +static const unsigned char kat1507_retbits[] = { + 0xc4, 0x56, 0xb4, 0x04, 0x91, 0x5e, 0x2d, 0x9c, 0xf9, 0x07, 0xc3, 0xcc, + 0x15, 0xd5, 0x47, 0x2d, 0xd3, 0xf5, 0x59, 0x2e, 0x8b, 0x15, 0x55, 0x70, + 0x30, 0x09, 0xe2, 0xc9, 0xc3, 0x11, 0x83, 0x9e, 0xcd, 0xc5, 0x7f, 0xcf, + 0xc7, 0x25, 0x56, 0x1c, 0x87, 0xf6, 0x74, 0x8f, 0xf4, 0x1c, 0xd7, 0xcd, + 0x40, 0x58, 0xc7, 0x91, 0xb7, 0xb3, 0xcc, 0x5d, 0x7b, 0xde, 0xf9, 0xb5, + 0x25, 0x81, 0x62, 0x63, +}; +static const struct drbg_kat_pr_false kat1507_t = { + 6, kat1507_entropyin, kat1507_nonce, kat1507_persstr, + kat1507_entropyinreseed, kat1507_addinreseed, kat1507_addin0, + kat1507_addin1, kat1507_retbits +}; +static const struct drbg_kat kat1507 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1507_t +}; + +static const unsigned char kat1508_entropyin[] = { + 0x50, 0x46, 0x48, 0x44, 0x48, 0xd2, 0x00, 0x97, 0xde, 0x1a, 0x5b, 0xc3, + 0x12, 0x8a, 0x92, 0xae, +}; +static const unsigned char kat1508_nonce[] = { + 0x3a, 0xbc, 0x3d, 0xdb, 0xe2, 0x0e, 0xce, 0xea, +}; +static const unsigned char kat1508_persstr[] = {0}; +static const unsigned char kat1508_entropyinreseed[] = { + 0x1a, 0xfb, 0xbf, 0x98, 0x99, 0x27, 0x1c, 0xfc, 0x4d, 0x0d, 0x5e, 0x1a, + 0x59, 0x26, 0xdd, 0x6e, +}; +static const unsigned char kat1508_addinreseed[] = {0}; +static const unsigned char kat1508_addin0[] = {0}; +static const unsigned char kat1508_addin1[] = {0}; +static const unsigned char kat1508_retbits[] = { + 0x8c, 0x4a, 0xfb, 0x37, 0x64, 0x12, 0x5f, 0x68, 0x62, 0xb1, 0x62, 0x19, + 0xab, 0x4d, 0x97, 0x1c, 0x8d, 0x11, 0x47, 0x0b, 0x45, 0xab, 0x31, 0x6a, + 0x0c, 0x02, 0xa1, 0x77, 0x00, 0x78, 0x16, 0xa4, 0x44, 0xec, 0x25, 0x85, + 0xe9, 0x46, 0x6b, 0xed, 0xc2, 0x7b, 0x69, 0x64, 0x7a, 0x4c, 0x9d, 0xdc, + 0x00, 0xd7, 0x14, 0x2e, 0x53, 0x82, 0x4f, 0x94, 0xc8, 0x59, 0x9a, 0x8f, + 0xe0, 0x49, 0x3f, 0xd8, +}; +static const struct drbg_kat_pr_false kat1508_t = { + 7, kat1508_entropyin, kat1508_nonce, kat1508_persstr, + kat1508_entropyinreseed, kat1508_addinreseed, kat1508_addin0, + kat1508_addin1, kat1508_retbits +}; +static const struct drbg_kat kat1508 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1508_t +}; + +static const unsigned char kat1509_entropyin[] = { + 0xca, 0x13, 0x7d, 0xcc, 0x62, 0x95, 0x61, 0x8b, 0x1f, 0xd0, 0x02, 0x96, + 0xb9, 0xf5, 0x12, 0x80, +}; +static const unsigned char kat1509_nonce[] = { + 0xe4, 0x22, 0x0e, 0xf8, 0x72, 0xa2, 0x08, 0x00, +}; +static const unsigned char kat1509_persstr[] = {0}; +static const unsigned char kat1509_entropyinreseed[] = { + 0x50, 0x9d, 0x1a, 0x2b, 0xbb, 0x90, 0x6a, 0x9c, 0xc3, 0x6b, 0xd8, 0x12, + 0x07, 0x83, 0xf2, 0x9b, +}; +static const unsigned char kat1509_addinreseed[] = {0}; +static const unsigned char kat1509_addin0[] = {0}; +static const unsigned char kat1509_addin1[] = {0}; +static const unsigned char kat1509_retbits[] = { + 0xf7, 0x07, 0xb1, 0xc7, 0x09, 0x8b, 0x23, 0x79, 0xe7, 0x54, 0xa0, 0x68, + 0x49, 0xf7, 0xe4, 0x55, 0x45, 0x31, 0x99, 0x2e, 0x97, 0x6f, 0xf1, 0xf9, + 0xd1, 0x86, 0x34, 0x9f, 0x56, 0xac, 0x34, 0x5f, 0x3a, 0x9b, 0x18, 0x0b, + 0x4d, 0x30, 0x52, 0x13, 0x12, 0x17, 0x18, 0x36, 0x98, 0x97, 0x63, 0x9b, + 0x6e, 0x96, 0x53, 0x7b, 0x55, 0x75, 0x44, 0x84, 0x0a, 0x70, 0x05, 0x31, + 0x02, 0xad, 0x8a, 0xf9, +}; +static const struct drbg_kat_pr_false kat1509_t = { + 8, kat1509_entropyin, kat1509_nonce, kat1509_persstr, + kat1509_entropyinreseed, kat1509_addinreseed, kat1509_addin0, + kat1509_addin1, kat1509_retbits +}; +static const struct drbg_kat kat1509 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1509_t +}; + +static const unsigned char kat1510_entropyin[] = { + 0x08, 0x5e, 0x0e, 0x3d, 0xee, 0xa0, 0x7d, 0xd7, 0x3f, 0x59, 0xf1, 0x4e, + 0x5b, 0x7f, 0x2f, 0xf0, +}; +static const unsigned char kat1510_nonce[] = { + 0x0c, 0xd8, 0x41, 0x7b, 0xe4, 0xb4, 0xc4, 0xdd, +}; +static const unsigned char kat1510_persstr[] = {0}; +static const unsigned char kat1510_entropyinreseed[] = { + 0x1c, 0xfd, 0xfb, 0xe2, 0x7d, 0x16, 0xe5, 0xcf, 0x1f, 0x40, 0xb1, 0x33, + 0x8c, 0xa8, 0x8b, 0x68, +}; +static const unsigned char kat1510_addinreseed[] = {0}; +static const unsigned char kat1510_addin0[] = {0}; +static const unsigned char kat1510_addin1[] = {0}; +static const unsigned char kat1510_retbits[] = { + 0x41, 0xae, 0x72, 0xd7, 0xcc, 0xcb, 0xc3, 0xc5, 0x49, 0x8d, 0xfe, 0xa8, + 0x95, 0x39, 0xfa, 0xb8, 0xbc, 0x41, 0x32, 0xfe, 0x97, 0xa4, 0x07, 0x81, + 0x55, 0xa6, 0x02, 0xc4, 0x8a, 0x59, 0xaf, 0xcf, 0xf8, 0x52, 0x1c, 0x9f, + 0x8b, 0x98, 0xcc, 0xe8, 0x04, 0x83, 0x3d, 0xf1, 0x0e, 0xd7, 0x24, 0x32, + 0xad, 0x55, 0x53, 0x32, 0xb4, 0x45, 0x15, 0x97, 0x05, 0xca, 0x4f, 0x08, + 0x3b, 0x8c, 0x47, 0x50, +}; +static const struct drbg_kat_pr_false kat1510_t = { + 9, kat1510_entropyin, kat1510_nonce, kat1510_persstr, + kat1510_entropyinreseed, kat1510_addinreseed, kat1510_addin0, + kat1510_addin1, kat1510_retbits +}; +static const struct drbg_kat kat1510 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1510_t +}; + +static const unsigned char kat1511_entropyin[] = { + 0x34, 0x1e, 0x1c, 0x73, 0xa6, 0xea, 0x1f, 0x26, 0x56, 0xf5, 0xa1, 0xfb, + 0x1d, 0x37, 0x47, 0x68, +}; +static const unsigned char kat1511_nonce[] = { + 0x9d, 0xa8, 0xa5, 0x0c, 0xd2, 0xed, 0x65, 0x6d, +}; +static const unsigned char kat1511_persstr[] = {0}; +static const unsigned char kat1511_entropyinreseed[] = { + 0x06, 0x0c, 0x46, 0x77, 0x0b, 0x91, 0x7e, 0x1e, 0x52, 0xae, 0xf5, 0x79, + 0x59, 0xdd, 0x21, 0x5c, +}; +static const unsigned char kat1511_addinreseed[] = {0}; +static const unsigned char kat1511_addin0[] = {0}; +static const unsigned char kat1511_addin1[] = {0}; +static const unsigned char kat1511_retbits[] = { + 0xce, 0xe3, 0x33, 0x6f, 0xc4, 0xe3, 0xd7, 0x1c, 0x6b, 0xc3, 0x8a, 0x64, + 0xdd, 0x1c, 0x63, 0xb7, 0xce, 0xf0, 0x2d, 0x1f, 0x7c, 0x74, 0x47, 0xe6, + 0x25, 0x87, 0xe5, 0x5b, 0xe3, 0x4b, 0x3a, 0xf1, 0x13, 0x86, 0xf5, 0xee, + 0x74, 0x97, 0x8b, 0xaf, 0xd9, 0x77, 0x1a, 0x2c, 0xc3, 0xec, 0x5c, 0xea, + 0x1e, 0xa1, 0x2a, 0xd9, 0x72, 0xb4, 0xf4, 0xc3, 0x21, 0x9c, 0xa0, 0x6c, + 0xfd, 0xa3, 0x4e, 0x71, +}; +static const struct drbg_kat_pr_false kat1511_t = { + 10, kat1511_entropyin, kat1511_nonce, kat1511_persstr, + kat1511_entropyinreseed, kat1511_addinreseed, kat1511_addin0, + kat1511_addin1, kat1511_retbits +}; +static const struct drbg_kat kat1511 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1511_t +}; + +static const unsigned char kat1512_entropyin[] = { + 0x97, 0x03, 0x15, 0x4e, 0x41, 0x37, 0x83, 0x70, 0x0f, 0x00, 0x8d, 0xd7, + 0x63, 0x8b, 0x67, 0xbb, +}; +static const unsigned char kat1512_nonce[] = { + 0x12, 0x1e, 0x51, 0x2a, 0x31, 0x8f, 0xd5, 0x7e, +}; +static const unsigned char kat1512_persstr[] = {0}; +static const unsigned char kat1512_entropyinreseed[] = { + 0x7c, 0xcf, 0x5c, 0xe2, 0x43, 0xa0, 0x6f, 0x5d, 0x81, 0x43, 0xa7, 0x71, + 0x25, 0x89, 0x01, 0xdc, +}; +static const unsigned char kat1512_addinreseed[] = {0}; +static const unsigned char kat1512_addin0[] = {0}; +static const unsigned char kat1512_addin1[] = {0}; +static const unsigned char kat1512_retbits[] = { + 0xb2, 0xf5, 0xeb, 0xe6, 0xd2, 0xa3, 0xdf, 0x80, 0xa6, 0x50, 0x81, 0x3c, + 0xef, 0xd8, 0x5e, 0x13, 0x9d, 0x32, 0x68, 0x13, 0xdf, 0x86, 0xb5, 0xd2, + 0x44, 0x12, 0x16, 0x0c, 0x42, 0x7e, 0xad, 0x56, 0xd7, 0x54, 0xa4, 0xcc, + 0x9c, 0x47, 0xa2, 0x38, 0xf1, 0xbd, 0xdf, 0x23, 0x4f, 0xaf, 0x22, 0xcf, + 0x04, 0x48, 0x41, 0x3c, 0x1b, 0x0f, 0x6e, 0xbe, 0x76, 0x81, 0x56, 0x07, + 0xea, 0xf5, 0x0c, 0xde, +}; +static const struct drbg_kat_pr_false kat1512_t = { + 11, kat1512_entropyin, kat1512_nonce, kat1512_persstr, + kat1512_entropyinreseed, kat1512_addinreseed, kat1512_addin0, + kat1512_addin1, kat1512_retbits +}; +static const struct drbg_kat kat1512 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1512_t +}; + +static const unsigned char kat1513_entropyin[] = { + 0xc2, 0x1f, 0x5b, 0xa9, 0x60, 0x56, 0x05, 0x48, 0xe0, 0xe2, 0x1c, 0x5f, + 0x7e, 0xc6, 0x73, 0xd9, +}; +static const unsigned char kat1513_nonce[] = { + 0xf8, 0x4e, 0x7b, 0xd5, 0xbd, 0x4b, 0xfb, 0xf1, +}; +static const unsigned char kat1513_persstr[] = {0}; +static const unsigned char kat1513_entropyinreseed[] = { + 0x26, 0x7c, 0xc9, 0x91, 0x06, 0xd5, 0x78, 0x5c, 0xdf, 0x30, 0x71, 0xc3, + 0xdc, 0xec, 0xf4, 0x91, +}; +static const unsigned char kat1513_addinreseed[] = {0}; +static const unsigned char kat1513_addin0[] = {0}; +static const unsigned char kat1513_addin1[] = {0}; +static const unsigned char kat1513_retbits[] = { + 0x0a, 0x65, 0x00, 0xca, 0xfa, 0x9b, 0x84, 0x70, 0x17, 0x42, 0xc0, 0xfb, + 0x62, 0x7e, 0x74, 0x4a, 0x6d, 0x4a, 0x5c, 0x56, 0x0e, 0x69, 0x49, 0xaa, + 0x18, 0x21, 0x32, 0x1f, 0x66, 0x1e, 0x5e, 0x1c, 0x52, 0xa3, 0x83, 0x94, + 0xab, 0xa1, 0x3b, 0x35, 0xdc, 0xb5, 0x14, 0x28, 0x9f, 0xc8, 0xc2, 0x84, + 0xb2, 0x03, 0x6d, 0xcd, 0x81, 0x91, 0x93, 0x7c, 0x84, 0x05, 0x57, 0x23, + 0xf1, 0x6a, 0x90, 0x8b, +}; +static const struct drbg_kat_pr_false kat1513_t = { + 12, kat1513_entropyin, kat1513_nonce, kat1513_persstr, + kat1513_entropyinreseed, kat1513_addinreseed, kat1513_addin0, + kat1513_addin1, kat1513_retbits +}; +static const struct drbg_kat kat1513 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1513_t +}; + +static const unsigned char kat1514_entropyin[] = { + 0x28, 0x4a, 0x67, 0xba, 0xe2, 0x7a, 0xb3, 0x2b, 0xc5, 0x01, 0x62, 0xc0, + 0x04, 0xcb, 0x92, 0xae, +}; +static const unsigned char kat1514_nonce[] = { + 0x04, 0xbb, 0x32, 0x64, 0x59, 0xa8, 0x87, 0xd1, +}; +static const unsigned char kat1514_persstr[] = {0}; +static const unsigned char kat1514_entropyinreseed[] = { + 0x79, 0x70, 0x2b, 0x24, 0xdf, 0x8d, 0xf1, 0xbd, 0x7a, 0xba, 0x9c, 0x32, + 0xae, 0x59, 0x6e, 0x6e, +}; +static const unsigned char kat1514_addinreseed[] = {0}; +static const unsigned char kat1514_addin0[] = {0}; +static const unsigned char kat1514_addin1[] = {0}; +static const unsigned char kat1514_retbits[] = { + 0x18, 0x99, 0xd5, 0xee, 0xd8, 0xc2, 0xf5, 0x7e, 0x3e, 0xd1, 0x0e, 0x78, + 0x00, 0x43, 0xa8, 0x53, 0x66, 0xf1, 0xf7, 0xc2, 0xab, 0xc5, 0x15, 0xbc, + 0xed, 0xf6, 0x6d, 0x0b, 0x16, 0xd6, 0x98, 0x69, 0x48, 0x62, 0xad, 0xf1, + 0xa3, 0x38, 0xfb, 0x72, 0xda, 0xfa, 0xd4, 0x5e, 0x8b, 0xc9, 0x62, 0x40, + 0xd6, 0xac, 0x2f, 0x3d, 0x8b, 0xc1, 0x53, 0x74, 0xf5, 0xa8, 0xb4, 0x8b, + 0xf6, 0xbc, 0xfa, 0xe9, +}; +static const struct drbg_kat_pr_false kat1514_t = { + 13, kat1514_entropyin, kat1514_nonce, kat1514_persstr, + kat1514_entropyinreseed, kat1514_addinreseed, kat1514_addin0, + kat1514_addin1, kat1514_retbits +}; +static const struct drbg_kat kat1514 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1514_t +}; + +static const unsigned char kat1515_entropyin[] = { + 0xdd, 0x2c, 0x72, 0xa4, 0x39, 0x7b, 0x13, 0xbe, 0x45, 0x53, 0xb5, 0xc4, + 0x9a, 0x2f, 0x3b, 0xeb, +}; +static const unsigned char kat1515_nonce[] = { + 0xbc, 0xff, 0xaa, 0x34, 0xaa, 0xac, 0x32, 0x54, +}; +static const unsigned char kat1515_persstr[] = {0}; +static const unsigned char kat1515_entropyinreseed[] = { + 0x90, 0x87, 0x42, 0x87, 0xa6, 0x89, 0xbb, 0x9d, 0x68, 0x53, 0x33, 0x0e, + 0xf7, 0x74, 0xba, 0x2f, +}; +static const unsigned char kat1515_addinreseed[] = {0}; +static const unsigned char kat1515_addin0[] = {0}; +static const unsigned char kat1515_addin1[] = {0}; +static const unsigned char kat1515_retbits[] = { + 0xa1, 0x53, 0x34, 0x21, 0x97, 0x1e, 0x2c, 0xa2, 0x16, 0x0f, 0x2c, 0x50, + 0xc7, 0xd6, 0x09, 0xb1, 0xb6, 0xf5, 0x6b, 0xb7, 0xdd, 0x7f, 0xeb, 0x01, + 0x02, 0xd9, 0xa4, 0x99, 0x52, 0xf7, 0xaa, 0xb4, 0xa9, 0xaf, 0x4a, 0xb5, + 0x52, 0x04, 0x55, 0xad, 0x4b, 0xdb, 0x24, 0x2d, 0x68, 0x88, 0xda, 0xdd, + 0xb9, 0x23, 0xcf, 0x08, 0xff, 0x12, 0x1d, 0xf1, 0x14, 0xd8, 0xda, 0x43, + 0x75, 0xf3, 0xef, 0x00, +}; +static const struct drbg_kat_pr_false kat1515_t = { + 14, kat1515_entropyin, kat1515_nonce, kat1515_persstr, + kat1515_entropyinreseed, kat1515_addinreseed, kat1515_addin0, + kat1515_addin1, kat1515_retbits +}; +static const struct drbg_kat kat1515 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1515_t +}; + +static const unsigned char kat1516_entropyin[] = { + 0x0e, 0xbf, 0x2b, 0x35, 0xe3, 0xbb, 0x32, 0x47, 0x59, 0x43, 0x9b, 0x95, + 0xa2, 0x88, 0x06, 0x1f, +}; +static const unsigned char kat1516_nonce[] = { + 0x85, 0xa8, 0x2c, 0x13, 0xcc, 0x42, 0xd7, 0x12, +}; +static const unsigned char kat1516_persstr[] = {0}; +static const unsigned char kat1516_entropyinreseed[] = { + 0xdf, 0xfb, 0x5d, 0x11, 0x8b, 0xea, 0x70, 0x1d, 0x88, 0x51, 0xb3, 0x2c, + 0x87, 0xef, 0xf0, 0x1c, +}; +static const unsigned char kat1516_addinreseed[] = { + 0xa5, 0x38, 0x19, 0x20, 0x80, 0x57, 0x18, 0xf3, 0xf6, 0xb3, 0x06, 0x61, + 0x01, 0x1a, 0x57, 0x5d, +}; +static const unsigned char kat1516_addin0[] = { + 0x62, 0x90, 0x1f, 0xf5, 0xdb, 0xa5, 0x74, 0xf5, 0x3e, 0x13, 0xc6, 0xa6, + 0x2f, 0x89, 0xa2, 0x92, +}; +static const unsigned char kat1516_addin1[] = { + 0xf1, 0xd5, 0x09, 0x2b, 0xbb, 0x3f, 0xdf, 0x50, 0xca, 0x79, 0xf3, 0xd8, + 0xb7, 0x6c, 0xa7, 0x93, +}; +static const unsigned char kat1516_retbits[] = { + 0x0f, 0x24, 0x8a, 0xa8, 0x75, 0xfa, 0x2c, 0x12, 0xd5, 0x41, 0x1d, 0xdc, + 0xd3, 0xfb, 0x5b, 0x46, 0x6e, 0x14, 0xd9, 0x2b, 0xab, 0x2e, 0x02, 0x4e, + 0xed, 0x61, 0x2e, 0x98, 0x8c, 0xf5, 0x0d, 0xb1, 0xa7, 0x54, 0x5d, 0xf0, + 0x9f, 0x88, 0x6d, 0x51, 0x6d, 0xa5, 0xe0, 0x21, 0x12, 0x4d, 0xfc, 0x80, + 0xf6, 0x06, 0xfe, 0x08, 0xa6, 0x65, 0x37, 0x64, 0xab, 0xbc, 0xfa, 0x04, + 0x57, 0x5f, 0xb0, 0xc0, +}; +static const struct drbg_kat_pr_false kat1516_t = { + 0, kat1516_entropyin, kat1516_nonce, kat1516_persstr, + kat1516_entropyinreseed, kat1516_addinreseed, kat1516_addin0, + kat1516_addin1, kat1516_retbits +}; +static const struct drbg_kat kat1516 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1516_t +}; + +static const unsigned char kat1517_entropyin[] = { + 0x10, 0xee, 0x75, 0x33, 0x84, 0x5d, 0xc0, 0xf0, 0x23, 0x06, 0x1b, 0x20, + 0xaa, 0x73, 0x5e, 0xb7, +}; +static const unsigned char kat1517_nonce[] = { + 0x35, 0xfd, 0xf5, 0x31, 0xf1, 0x88, 0xa7, 0x92, +}; +static const unsigned char kat1517_persstr[] = {0}; +static const unsigned char kat1517_entropyinreseed[] = { + 0x31, 0xa2, 0x26, 0xc2, 0xbc, 0x57, 0x74, 0xfd, 0xb5, 0xe6, 0x8b, 0xf3, + 0xb0, 0xdc, 0x95, 0x14, +}; +static const unsigned char kat1517_addinreseed[] = { + 0xae, 0x85, 0x20, 0x20, 0x16, 0xbf, 0xfa, 0x9a, 0x3f, 0x7f, 0x5a, 0x9a, + 0xd4, 0x03, 0xc8, 0x80, +}; +static const unsigned char kat1517_addin0[] = { + 0xec, 0xda, 0x1e, 0xe2, 0xf9, 0xdf, 0xa3, 0x0a, 0x43, 0x6d, 0x7d, 0x14, + 0xe3, 0xe0, 0xa5, 0xaa, +}; +static const unsigned char kat1517_addin1[] = { + 0x95, 0xa6, 0x32, 0xef, 0x2f, 0x1f, 0xb0, 0x35, 0x67, 0x43, 0xda, 0xb7, + 0xd6, 0x8b, 0x84, 0x10, +}; +static const unsigned char kat1517_retbits[] = { + 0x47, 0x5f, 0x26, 0x22, 0x12, 0xa8, 0xfa, 0x70, 0x7d, 0x98, 0x3e, 0xbc, + 0x32, 0x21, 0xd4, 0x0f, 0xe5, 0xaf, 0xd0, 0xd5, 0x7f, 0x3f, 0x6c, 0xca, + 0x17, 0x32, 0x98, 0xa0, 0x12, 0x95, 0xd3, 0xd4, 0xd8, 0xfe, 0x9c, 0x08, + 0x77, 0x48, 0x49, 0x98, 0x7c, 0xa7, 0x6b, 0x02, 0x68, 0xdc, 0x38, 0x1c, + 0x66, 0xb2, 0xdf, 0xf1, 0x4d, 0x6c, 0xdf, 0x47, 0x28, 0x3c, 0x4b, 0x0b, + 0x27, 0xbd, 0xad, 0x7d, +}; +static const struct drbg_kat_pr_false kat1517_t = { + 1, kat1517_entropyin, kat1517_nonce, kat1517_persstr, + kat1517_entropyinreseed, kat1517_addinreseed, kat1517_addin0, + kat1517_addin1, kat1517_retbits +}; +static const struct drbg_kat kat1517 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1517_t +}; + +static const unsigned char kat1518_entropyin[] = { + 0xfa, 0xfc, 0xae, 0xf2, 0xed, 0xba, 0x52, 0xd4, 0x3f, 0x54, 0x5c, 0xe1, + 0x14, 0x53, 0x31, 0xc0, +}; +static const unsigned char kat1518_nonce[] = { + 0xed, 0x9e, 0x93, 0x13, 0xc5, 0xa7, 0xe0, 0x22, +}; +static const unsigned char kat1518_persstr[] = {0}; +static const unsigned char kat1518_entropyinreseed[] = { + 0xf6, 0xe6, 0x97, 0xd6, 0x32, 0x58, 0x88, 0xe6, 0xdf, 0x3e, 0x4e, 0x47, + 0x2f, 0xee, 0x64, 0x0f, +}; +static const unsigned char kat1518_addinreseed[] = { + 0x04, 0xa7, 0x08, 0x33, 0xc5, 0xe9, 0x16, 0xa7, 0xfb, 0xd4, 0xa7, 0x95, + 0x67, 0x13, 0xa3, 0x05, +}; +static const unsigned char kat1518_addin0[] = { + 0x7a, 0xb9, 0xb4, 0x53, 0x6f, 0xc0, 0xdf, 0x7b, 0xa3, 0xc3, 0x0b, 0x5c, + 0x2c, 0x87, 0xcd, 0x77, +}; +static const unsigned char kat1518_addin1[] = { + 0xb7, 0x1b, 0x91, 0xc5, 0xa5, 0x5e, 0xa8, 0x36, 0x8e, 0x43, 0x8c, 0x94, + 0x3f, 0xf3, 0x9c, 0x3f, +}; +static const unsigned char kat1518_retbits[] = { + 0x6a, 0x11, 0x3a, 0x62, 0xa6, 0x70, 0x0f, 0xb9, 0x8c, 0x2c, 0xbb, 0xc9, + 0x73, 0x37, 0x85, 0x03, 0xd9, 0x10, 0xad, 0xa0, 0x5a, 0xa8, 0xa3, 0x8e, + 0x18, 0x04, 0xf0, 0xd1, 0xcb, 0xbf, 0xfa, 0xe1, 0x3b, 0xa2, 0xf3, 0xab, + 0xc3, 0x6d, 0xeb, 0x2b, 0x39, 0x78, 0x4c, 0x31, 0xc8, 0xc1, 0x31, 0x8c, + 0x4a, 0x4b, 0x19, 0x4d, 0x55, 0x18, 0xc3, 0x9b, 0x06, 0xd7, 0x05, 0x57, + 0x4c, 0xe7, 0x02, 0x80, +}; +static const struct drbg_kat_pr_false kat1518_t = { + 2, kat1518_entropyin, kat1518_nonce, kat1518_persstr, + kat1518_entropyinreseed, kat1518_addinreseed, kat1518_addin0, + kat1518_addin1, kat1518_retbits +}; +static const struct drbg_kat kat1518 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1518_t +}; + +static const unsigned char kat1519_entropyin[] = { + 0xda, 0x1e, 0x20, 0x47, 0xbc, 0x9a, 0xf0, 0x2b, 0x91, 0x47, 0x56, 0xe9, + 0x6f, 0xdc, 0x2f, 0x25, +}; +static const unsigned char kat1519_nonce[] = { + 0xb1, 0x67, 0xd6, 0x00, 0x1e, 0x06, 0x54, 0x0d, +}; +static const unsigned char kat1519_persstr[] = {0}; +static const unsigned char kat1519_entropyinreseed[] = { + 0x85, 0x18, 0x7c, 0x63, 0x83, 0x49, 0x3b, 0xd8, 0x90, 0x5a, 0x92, 0x23, + 0xa3, 0x09, 0x0e, 0x22, +}; +static const unsigned char kat1519_addinreseed[] = { + 0x36, 0xbe, 0xd8, 0x9a, 0x0e, 0xbe, 0x1c, 0x9d, 0x79, 0x79, 0x24, 0xf9, + 0xff, 0x44, 0x2d, 0x23, +}; +static const unsigned char kat1519_addin0[] = { + 0xf9, 0xbe, 0xa5, 0x6f, 0x2f, 0x3f, 0x48, 0xb3, 0x80, 0xc0, 0x4a, 0x39, + 0x30, 0xac, 0x7a, 0x8e, +}; +static const unsigned char kat1519_addin1[] = { + 0x5c, 0x29, 0xb5, 0xb5, 0x5a, 0x55, 0xa9, 0xb6, 0x84, 0x5a, 0xf9, 0xa1, + 0x7c, 0x67, 0xee, 0x45, +}; +static const unsigned char kat1519_retbits[] = { + 0xcd, 0x69, 0x84, 0x4e, 0xeb, 0x18, 0x4a, 0x70, 0xd0, 0x53, 0x4b, 0x51, + 0x4c, 0x5a, 0xf3, 0xd2, 0x2e, 0x3e, 0xb6, 0x79, 0x4d, 0x13, 0x3e, 0x89, + 0x84, 0xb9, 0xa9, 0xb5, 0xea, 0x35, 0xf5, 0x89, 0xc0, 0x67, 0x70, 0x83, + 0xc3, 0x9f, 0x3c, 0x60, 0xdb, 0x7c, 0xbe, 0x58, 0xcb, 0xf7, 0xdf, 0x6f, + 0xcb, 0x15, 0xb6, 0xd7, 0x21, 0xa7, 0xb6, 0xa9, 0x4e, 0x1d, 0xc4, 0x08, + 0x6b, 0xb1, 0x3e, 0x05, +}; +static const struct drbg_kat_pr_false kat1519_t = { + 3, kat1519_entropyin, kat1519_nonce, kat1519_persstr, + kat1519_entropyinreseed, kat1519_addinreseed, kat1519_addin0, + kat1519_addin1, kat1519_retbits +}; +static const struct drbg_kat kat1519 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1519_t +}; + +static const unsigned char kat1520_entropyin[] = { + 0x75, 0xfa, 0x45, 0xe3, 0x12, 0xfe, 0x40, 0x4b, 0x2c, 0x2d, 0x04, 0x6c, + 0x95, 0x7b, 0xe4, 0x75, +}; +static const unsigned char kat1520_nonce[] = { + 0x43, 0xf4, 0xab, 0xde, 0xc9, 0x95, 0x8a, 0x7b, +}; +static const unsigned char kat1520_persstr[] = {0}; +static const unsigned char kat1520_entropyinreseed[] = { + 0x37, 0xf9, 0xaf, 0x34, 0x4a, 0x6d, 0x05, 0x07, 0xb5, 0x2a, 0x9b, 0xa7, + 0xc5, 0x59, 0x1a, 0x8f, +}; +static const unsigned char kat1520_addinreseed[] = { + 0x60, 0xfe, 0x6b, 0xc8, 0xfe, 0x44, 0x0c, 0x77, 0xb8, 0x60, 0xe8, 0x0c, + 0xff, 0xff, 0xd0, 0xf9, +}; +static const unsigned char kat1520_addin0[] = { + 0xf4, 0x9a, 0x52, 0x42, 0x28, 0xc4, 0x29, 0x6f, 0xcf, 0x84, 0xdc, 0x89, + 0x35, 0xc8, 0x21, 0x32, +}; +static const unsigned char kat1520_addin1[] = { + 0x27, 0x2a, 0x13, 0xa8, 0xce, 0xfd, 0x6d, 0x53, 0x9c, 0x0b, 0xf7, 0x6b, + 0x22, 0xf7, 0xdc, 0x74, +}; +static const unsigned char kat1520_retbits[] = { + 0x79, 0x9e, 0xe6, 0x4e, 0x0b, 0x59, 0x2c, 0xf2, 0x94, 0x63, 0x66, 0x07, + 0x1f, 0x8a, 0xbe, 0xce, 0x86, 0xac, 0x22, 0x10, 0xb6, 0x8f, 0x03, 0x86, + 0xfb, 0xa3, 0x5f, 0x95, 0x56, 0xa9, 0xa3, 0xb6, 0x1e, 0xe6, 0x2f, 0x73, + 0x64, 0xf0, 0x87, 0x5e, 0x68, 0x06, 0xd4, 0x0e, 0x6a, 0x65, 0x35, 0x41, + 0xb3, 0x1c, 0xa3, 0x3f, 0xe7, 0x07, 0xb6, 0x6c, 0x74, 0xb2, 0xe1, 0x57, + 0x35, 0xa1, 0x0c, 0x53, +}; +static const struct drbg_kat_pr_false kat1520_t = { + 4, kat1520_entropyin, kat1520_nonce, kat1520_persstr, + kat1520_entropyinreseed, kat1520_addinreseed, kat1520_addin0, + kat1520_addin1, kat1520_retbits +}; +static const struct drbg_kat kat1520 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1520_t +}; + +static const unsigned char kat1521_entropyin[] = { + 0x28, 0xf3, 0xba, 0xc6, 0x9b, 0xac, 0xa7, 0x30, 0x95, 0x14, 0x78, 0x34, + 0x66, 0x30, 0x5a, 0x86, +}; +static const unsigned char kat1521_nonce[] = { + 0x37, 0x05, 0xb2, 0x1e, 0x2c, 0x31, 0xde, 0xe6, +}; +static const unsigned char kat1521_persstr[] = {0}; +static const unsigned char kat1521_entropyinreseed[] = { + 0x00, 0x13, 0x5b, 0x11, 0x10, 0x85, 0x41, 0xc6, 0x8c, 0x86, 0x81, 0x53, + 0x70, 0x2f, 0x9e, 0xa1, +}; +static const unsigned char kat1521_addinreseed[] = { + 0x98, 0x8b, 0x4e, 0x97, 0x77, 0x22, 0x6d, 0xb3, 0xad, 0x2f, 0xff, 0xb5, + 0x68, 0x64, 0xc1, 0x20, +}; +static const unsigned char kat1521_addin0[] = { + 0x0e, 0xe8, 0xa9, 0x98, 0xfc, 0xd4, 0x86, 0xa3, 0x0a, 0x35, 0xe7, 0xfe, + 0xcc, 0x7f, 0xff, 0xa6, +}; +static const unsigned char kat1521_addin1[] = { + 0x9e, 0x45, 0xcf, 0x0d, 0x81, 0x63, 0x75, 0x9e, 0x79, 0x12, 0x3b, 0xdd, + 0xea, 0x72, 0x05, 0xd9, +}; +static const unsigned char kat1521_retbits[] = { + 0x4f, 0x4e, 0x76, 0x2f, 0x1b, 0x6d, 0x4b, 0x8e, 0xaa, 0x15, 0x53, 0x29, + 0xab, 0x29, 0x9f, 0x52, 0x0e, 0x5e, 0xe1, 0x9e, 0x7a, 0x65, 0x75, 0xc0, + 0x46, 0x52, 0xda, 0x31, 0x94, 0x32, 0x66, 0x22, 0x5a, 0xa6, 0xeb, 0x36, + 0x38, 0x8a, 0x03, 0xf1, 0x7a, 0xeb, 0xd6, 0xc7, 0x45, 0xfc, 0x63, 0x7a, + 0xac, 0xdf, 0xc5, 0x09, 0x6e, 0x31, 0x03, 0x19, 0x6d, 0x3f, 0x03, 0x86, + 0xd4, 0x2c, 0x50, 0xb4, +}; +static const struct drbg_kat_pr_false kat1521_t = { + 5, kat1521_entropyin, kat1521_nonce, kat1521_persstr, + kat1521_entropyinreseed, kat1521_addinreseed, kat1521_addin0, + kat1521_addin1, kat1521_retbits +}; +static const struct drbg_kat kat1521 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1521_t +}; + +static const unsigned char kat1522_entropyin[] = { + 0x90, 0x02, 0xab, 0xe2, 0x29, 0x7b, 0x61, 0xab, 0xb3, 0xe4, 0xde, 0x54, + 0xed, 0xbd, 0x18, 0xcf, +}; +static const unsigned char kat1522_nonce[] = { + 0x46, 0xb1, 0x06, 0x13, 0x2b, 0x92, 0xb9, 0xd3, +}; +static const unsigned char kat1522_persstr[] = {0}; +static const unsigned char kat1522_entropyinreseed[] = { + 0x78, 0xd7, 0x0d, 0xd7, 0xd7, 0x21, 0x3e, 0x59, 0x9e, 0x4e, 0x7b, 0xbd, + 0x52, 0xa0, 0xf9, 0x52, +}; +static const unsigned char kat1522_addinreseed[] = { + 0x93, 0x19, 0x58, 0x6b, 0x5f, 0x89, 0x7a, 0x4a, 0x04, 0x0e, 0x3f, 0xa0, + 0x31, 0xdb, 0xb8, 0x91, +}; +static const unsigned char kat1522_addin0[] = { + 0x44, 0x73, 0xcc, 0xa8, 0x48, 0x1d, 0xdd, 0x85, 0x23, 0x5f, 0xba, 0x35, + 0xbe, 0xe5, 0x39, 0x59, +}; +static const unsigned char kat1522_addin1[] = { + 0x05, 0xc2, 0xa1, 0xc7, 0x1f, 0x0f, 0x42, 0x48, 0x1a, 0xfe, 0xc1, 0xbf, + 0xea, 0xca, 0x99, 0x0b, +}; +static const unsigned char kat1522_retbits[] = { + 0x9b, 0xc1, 0x2b, 0x39, 0x48, 0xf9, 0x83, 0x64, 0x9d, 0x87, 0x3d, 0xf9, + 0xe6, 0xfe, 0x87, 0x1a, 0xa1, 0x4c, 0x46, 0x80, 0xb7, 0x60, 0x85, 0xc4, + 0x25, 0x4e, 0xc5, 0x68, 0xc3, 0x32, 0x4f, 0xf7, 0x6a, 0xd0, 0x1d, 0xcb, + 0x29, 0x13, 0x5e, 0xa5, 0x45, 0x48, 0x88, 0x44, 0x25, 0x71, 0x0f, 0xcc, + 0xc2, 0x80, 0x02, 0xf2, 0xf5, 0x50, 0x83, 0x18, 0xab, 0xce, 0x77, 0x9e, + 0x5b, 0xaa, 0x19, 0x35, +}; +static const struct drbg_kat_pr_false kat1522_t = { + 6, kat1522_entropyin, kat1522_nonce, kat1522_persstr, + kat1522_entropyinreseed, kat1522_addinreseed, kat1522_addin0, + kat1522_addin1, kat1522_retbits +}; +static const struct drbg_kat kat1522 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1522_t +}; + +static const unsigned char kat1523_entropyin[] = { + 0x12, 0xe7, 0xfc, 0xb4, 0x32, 0xd1, 0xfe, 0x19, 0x04, 0x7d, 0x5e, 0xb9, + 0x8e, 0x45, 0xe0, 0x9e, +}; +static const unsigned char kat1523_nonce[] = { + 0xc6, 0x04, 0x1c, 0xda, 0xba, 0xa6, 0xa3, 0x94, +}; +static const unsigned char kat1523_persstr[] = {0}; +static const unsigned char kat1523_entropyinreseed[] = { + 0xea, 0xbd, 0xb2, 0x74, 0x49, 0x8d, 0x51, 0xf3, 0x3f, 0xcd, 0xb0, 0x1b, + 0xe8, 0x08, 0xbd, 0x7a, +}; +static const unsigned char kat1523_addinreseed[] = { + 0x6f, 0xd0, 0xa7, 0xbf, 0x2a, 0x25, 0xcc, 0xe7, 0xe5, 0xae, 0x19, 0x29, + 0x8b, 0x9d, 0x12, 0xa9, +}; +static const unsigned char kat1523_addin0[] = { + 0xd8, 0x21, 0x53, 0x33, 0x42, 0xb3, 0x72, 0xf2, 0x38, 0x55, 0x0a, 0xa4, + 0xb6, 0x1f, 0x7a, 0x4f, +}; +static const unsigned char kat1523_addin1[] = { + 0x80, 0x4c, 0x7f, 0xda, 0xae, 0x84, 0x30, 0xf3, 0xfb, 0xd8, 0xa2, 0xac, + 0x56, 0x15, 0x80, 0x25, +}; +static const unsigned char kat1523_retbits[] = { + 0xc5, 0x59, 0x14, 0x73, 0x0d, 0x08, 0x76, 0x25, 0x53, 0x13, 0x97, 0xe7, + 0x54, 0x3f, 0x07, 0x35, 0x20, 0xed, 0x06, 0x3c, 0x7b, 0x9a, 0x66, 0xa7, + 0xca, 0x65, 0x52, 0xbc, 0xf3, 0x2d, 0x37, 0xad, 0x96, 0x39, 0xf9, 0xc3, + 0xde, 0x76, 0x0c, 0x87, 0xab, 0x77, 0xf2, 0x4d, 0xf6, 0x41, 0x69, 0x66, + 0xc9, 0x77, 0x43, 0x99, 0x3c, 0x27, 0xce, 0xbc, 0x18, 0x88, 0xa4, 0xc6, + 0xb0, 0x7b, 0xb1, 0x98, +}; +static const struct drbg_kat_pr_false kat1523_t = { + 7, kat1523_entropyin, kat1523_nonce, kat1523_persstr, + kat1523_entropyinreseed, kat1523_addinreseed, kat1523_addin0, + kat1523_addin1, kat1523_retbits +}; +static const struct drbg_kat kat1523 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1523_t +}; + +static const unsigned char kat1524_entropyin[] = { + 0xbf, 0x10, 0x19, 0x43, 0x66, 0x5c, 0x5b, 0x27, 0x5a, 0xb6, 0xe0, 0xdd, + 0x1d, 0x56, 0x03, 0x04, +}; +static const unsigned char kat1524_nonce[] = { + 0xc5, 0x79, 0xf7, 0xdc, 0xc6, 0x41, 0x4c, 0xa5, +}; +static const unsigned char kat1524_persstr[] = {0}; +static const unsigned char kat1524_entropyinreseed[] = { + 0x26, 0x0d, 0x29, 0x3f, 0xf7, 0x9a, 0xda, 0x3d, 0xbf, 0x7d, 0x41, 0x8f, + 0x7e, 0x85, 0x10, 0x63, +}; +static const unsigned char kat1524_addinreseed[] = { + 0x8b, 0xde, 0x82, 0x7a, 0xaf, 0x12, 0x9c, 0x6a, 0xb5, 0xf6, 0x03, 0x9d, + 0x72, 0xb4, 0x94, 0x85, +}; +static const unsigned char kat1524_addin0[] = { + 0xe5, 0xb5, 0x93, 0xcb, 0xc8, 0x07, 0xf6, 0x29, 0x73, 0xbb, 0x1c, 0xee, + 0x06, 0x8c, 0xeb, 0xa6, +}; +static const unsigned char kat1524_addin1[] = { + 0x31, 0x66, 0xb0, 0x01, 0xf9, 0x24, 0x6c, 0xd3, 0x07, 0xa3, 0xe8, 0x08, + 0x22, 0xf7, 0x98, 0xa1, +}; +static const unsigned char kat1524_retbits[] = { + 0x1e, 0x8d, 0xc8, 0x7a, 0xed, 0xaf, 0xef, 0xf8, 0x79, 0x5a, 0xa2, 0x92, + 0x1a, 0xd9, 0x06, 0xa5, 0xb8, 0x33, 0x35, 0xe8, 0x07, 0x3d, 0x3d, 0x88, + 0x29, 0x6f, 0x31, 0x71, 0x62, 0x7e, 0x2f, 0x50, 0xe4, 0x4c, 0xa4, 0xba, + 0xce, 0x9d, 0x0c, 0xc9, 0xb0, 0xf5, 0x10, 0x5a, 0x70, 0xfb, 0xa9, 0x48, + 0xf1, 0x2b, 0x20, 0x57, 0x30, 0x32, 0x96, 0xf9, 0x56, 0xf6, 0x7d, 0x57, + 0x3c, 0xb4, 0x23, 0x61, +}; +static const struct drbg_kat_pr_false kat1524_t = { + 8, kat1524_entropyin, kat1524_nonce, kat1524_persstr, + kat1524_entropyinreseed, kat1524_addinreseed, kat1524_addin0, + kat1524_addin1, kat1524_retbits +}; +static const struct drbg_kat kat1524 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1524_t +}; + +static const unsigned char kat1525_entropyin[] = { + 0x6b, 0x18, 0xda, 0x3c, 0x0a, 0x96, 0x69, 0x70, 0x5f, 0xb2, 0x01, 0xdf, + 0x9a, 0x51, 0x73, 0xdb, +}; +static const unsigned char kat1525_nonce[] = { + 0x97, 0xcd, 0x95, 0x52, 0x25, 0xe9, 0xbc, 0x43, +}; +static const unsigned char kat1525_persstr[] = {0}; +static const unsigned char kat1525_entropyinreseed[] = { + 0x74, 0x96, 0xcd, 0x7c, 0x68, 0x9e, 0x6d, 0x15, 0xdc, 0xd0, 0xba, 0xf0, + 0x07, 0x9c, 0x3c, 0xc5, +}; +static const unsigned char kat1525_addinreseed[] = { + 0x0f, 0x22, 0x84, 0x24, 0xb9, 0xd2, 0x7a, 0x9f, 0x0c, 0x5c, 0x8b, 0x07, + 0x25, 0x87, 0x4f, 0x8d, +}; +static const unsigned char kat1525_addin0[] = { + 0x62, 0xde, 0x38, 0x01, 0x71, 0x2c, 0x16, 0x6f, 0xda, 0x68, 0x3f, 0xaf, + 0x15, 0x9e, 0x55, 0xa7, +}; +static const unsigned char kat1525_addin1[] = { + 0x9b, 0xc9, 0xaf, 0xdf, 0x65, 0xfe, 0x03, 0xf0, 0x86, 0x8c, 0xf5, 0xb1, + 0x13, 0x6d, 0xed, 0xf3, +}; +static const unsigned char kat1525_retbits[] = { + 0x31, 0x7c, 0x2a, 0xa9, 0x6f, 0x4d, 0x3c, 0xf7, 0x9b, 0xa8, 0x73, 0x6e, + 0x7a, 0xbc, 0xd9, 0x34, 0xa8, 0x74, 0x91, 0x92, 0xe4, 0xb2, 0x1e, 0xe0, + 0xd1, 0xfe, 0xb9, 0x30, 0x09, 0x3f, 0x98, 0x12, 0xab, 0x7c, 0xc6, 0xca, + 0x75, 0x50, 0xa0, 0x2d, 0xbe, 0xca, 0x65, 0x28, 0xa9, 0x1b, 0x88, 0xdf, + 0xdf, 0x04, 0xaf, 0x38, 0x31, 0xf7, 0xe5, 0x5c, 0xcd, 0x92, 0x71, 0x72, + 0xe4, 0x34, 0x01, 0xe8, +}; +static const struct drbg_kat_pr_false kat1525_t = { + 9, kat1525_entropyin, kat1525_nonce, kat1525_persstr, + kat1525_entropyinreseed, kat1525_addinreseed, kat1525_addin0, + kat1525_addin1, kat1525_retbits +}; +static const struct drbg_kat kat1525 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1525_t +}; + +static const unsigned char kat1526_entropyin[] = { + 0xf8, 0x1d, 0x07, 0x59, 0x38, 0xbc, 0x82, 0x68, 0x93, 0xc5, 0x75, 0x15, + 0x84, 0x06, 0x67, 0x07, +}; +static const unsigned char kat1526_nonce[] = { + 0x78, 0xae, 0x60, 0x37, 0xc7, 0x7f, 0x6c, 0xaf, +}; +static const unsigned char kat1526_persstr[] = {0}; +static const unsigned char kat1526_entropyinreseed[] = { + 0x61, 0xc2, 0xb1, 0x94, 0x9b, 0x10, 0x02, 0xb0, 0xcc, 0x08, 0xb3, 0x83, + 0xc4, 0x5e, 0x0c, 0xde, +}; +static const unsigned char kat1526_addinreseed[] = { + 0xf5, 0xc0, 0x00, 0x0c, 0xfe, 0xf6, 0xf9, 0x78, 0x8e, 0x89, 0xd6, 0x8a, + 0xdd, 0xc0, 0x98, 0x9a, +}; +static const unsigned char kat1526_addin0[] = { + 0xba, 0xd0, 0xe2, 0x8f, 0xeb, 0x48, 0xa9, 0x52, 0x34, 0x08, 0xd6, 0xb8, + 0xbd, 0x6a, 0xec, 0xbc, +}; +static const unsigned char kat1526_addin1[] = { + 0x9b, 0x8b, 0x1b, 0x6b, 0x21, 0x46, 0x43, 0x2f, 0xaa, 0xf3, 0xa4, 0xff, + 0x09, 0x85, 0xa1, 0x5a, +}; +static const unsigned char kat1526_retbits[] = { + 0xbd, 0xf6, 0x88, 0xb9, 0x71, 0x5c, 0xc4, 0xcb, 0xe7, 0x2e, 0x15, 0xdc, + 0xd8, 0xa6, 0x59, 0x6b, 0xa2, 0xbd, 0x00, 0x39, 0x53, 0xeb, 0xd2, 0xbf, + 0xe6, 0x92, 0x12, 0x90, 0x9a, 0xde, 0xf0, 0xc3, 0x67, 0xb4, 0x73, 0xed, + 0xb4, 0x5c, 0x41, 0xac, 0xdd, 0x22, 0x83, 0x6f, 0x5f, 0xc9, 0xfd, 0x47, + 0xcb, 0x35, 0x4b, 0x45, 0x7f, 0x25, 0xcc, 0x81, 0x27, 0xed, 0x16, 0x25, + 0xb8, 0xfa, 0x4a, 0xaf, +}; +static const struct drbg_kat_pr_false kat1526_t = { + 10, kat1526_entropyin, kat1526_nonce, kat1526_persstr, + kat1526_entropyinreseed, kat1526_addinreseed, kat1526_addin0, + kat1526_addin1, kat1526_retbits +}; +static const struct drbg_kat kat1526 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1526_t +}; + +static const unsigned char kat1527_entropyin[] = { + 0x57, 0xce, 0xb9, 0xee, 0x59, 0x5c, 0x6e, 0x37, 0x15, 0xd9, 0x01, 0x94, + 0x02, 0x1a, 0xea, 0x79, +}; +static const unsigned char kat1527_nonce[] = { + 0xfb, 0x51, 0x85, 0x69, 0x26, 0xf1, 0xb0, 0x68, +}; +static const unsigned char kat1527_persstr[] = {0}; +static const unsigned char kat1527_entropyinreseed[] = { + 0x04, 0x5b, 0x01, 0xa3, 0x47, 0xc6, 0x73, 0x0f, 0xce, 0xb1, 0xf2, 0xf5, + 0xba, 0x76, 0x03, 0x37, +}; +static const unsigned char kat1527_addinreseed[] = { + 0x63, 0xec, 0xa0, 0x7e, 0xb8, 0xf4, 0x9b, 0x54, 0xa5, 0x34, 0xe0, 0xb4, + 0x09, 0x25, 0x86, 0x17, +}; +static const unsigned char kat1527_addin0[] = { + 0x34, 0xee, 0x56, 0xa0, 0x83, 0xc0, 0xb5, 0xf7, 0xd0, 0xeb, 0x65, 0xbd, + 0x42, 0xda, 0x72, 0x7e, +}; +static const unsigned char kat1527_addin1[] = { + 0xa4, 0x87, 0x3d, 0x13, 0x09, 0x3c, 0x72, 0x54, 0x19, 0xca, 0xa4, 0x12, + 0x4d, 0xbf, 0xad, 0x6b, +}; +static const unsigned char kat1527_retbits[] = { + 0xf1, 0x55, 0x78, 0x39, 0x68, 0x90, 0xd4, 0xa0, 0xc0, 0xac, 0x22, 0xe5, + 0x56, 0x69, 0xa1, 0x84, 0xfd, 0xb5, 0x5c, 0xab, 0x33, 0x2a, 0xf7, 0xa6, + 0x21, 0x02, 0xc2, 0xd1, 0x81, 0xf1, 0x14, 0xfc, 0x34, 0xb3, 0xe5, 0x89, + 0xb8, 0xa8, 0xc0, 0x2e, 0xe3, 0x5e, 0x9e, 0x1a, 0xa8, 0xaf, 0x28, 0x6d, + 0xd1, 0xad, 0xdc, 0xc2, 0x4b, 0xad, 0x82, 0x11, 0xdc, 0x90, 0xd7, 0x38, + 0x09, 0xa4, 0x26, 0x70, +}; +static const struct drbg_kat_pr_false kat1527_t = { + 11, kat1527_entropyin, kat1527_nonce, kat1527_persstr, + kat1527_entropyinreseed, kat1527_addinreseed, kat1527_addin0, + kat1527_addin1, kat1527_retbits +}; +static const struct drbg_kat kat1527 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1527_t +}; + +static const unsigned char kat1528_entropyin[] = { + 0x2c, 0x43, 0xf1, 0x4c, 0xd4, 0xa2, 0x62, 0xdf, 0xa1, 0xf3, 0xa7, 0x3d, + 0x48, 0xf6, 0x78, 0xae, +}; +static const unsigned char kat1528_nonce[] = { + 0xe1, 0xdd, 0x9b, 0x8d, 0x98, 0x55, 0xd6, 0x47, +}; +static const unsigned char kat1528_persstr[] = {0}; +static const unsigned char kat1528_entropyinreseed[] = { + 0x67, 0xce, 0xbc, 0x59, 0xc1, 0x87, 0xaf, 0x25, 0x98, 0xea, 0x15, 0x8f, + 0x0d, 0x0c, 0xdc, 0xeb, +}; +static const unsigned char kat1528_addinreseed[] = { + 0xb0, 0x9c, 0xe2, 0xcf, 0xf6, 0xd8, 0xb3, 0x52, 0x22, 0x8c, 0x00, 0x8b, + 0x6a, 0xfb, 0x68, 0x20, +}; +static const unsigned char kat1528_addin0[] = { + 0xb6, 0xed, 0xfe, 0x4c, 0xbd, 0xab, 0x74, 0xe5, 0xf1, 0xea, 0x1f, 0x44, + 0x08, 0x4e, 0xf2, 0xaf, +}; +static const unsigned char kat1528_addin1[] = { + 0x27, 0x44, 0xba, 0x1a, 0x4d, 0x41, 0xcb, 0x78, 0xb1, 0xa0, 0x23, 0x02, + 0xbd, 0x72, 0x4e, 0x1e, +}; +static const unsigned char kat1528_retbits[] = { + 0x0c, 0xea, 0x1f, 0x4b, 0xbb, 0x78, 0x06, 0x01, 0x44, 0xb2, 0x21, 0x01, + 0x89, 0x83, 0x64, 0xa0, 0x9c, 0x86, 0x74, 0x1b, 0x2a, 0xa2, 0x51, 0x25, + 0xdd, 0x82, 0x5c, 0xd2, 0x8c, 0x74, 0x47, 0xbe, 0x68, 0x80, 0x1d, 0xe5, + 0xe8, 0xe2, 0x0a, 0x2b, 0xc8, 0xaa, 0xf3, 0x45, 0x9b, 0x8c, 0xc7, 0xc5, + 0xa0, 0x49, 0x30, 0x27, 0xb2, 0xae, 0x78, 0x88, 0xb3, 0x36, 0x8f, 0x19, + 0x00, 0x83, 0x1d, 0x9a, +}; +static const struct drbg_kat_pr_false kat1528_t = { + 12, kat1528_entropyin, kat1528_nonce, kat1528_persstr, + kat1528_entropyinreseed, kat1528_addinreseed, kat1528_addin0, + kat1528_addin1, kat1528_retbits +}; +static const struct drbg_kat kat1528 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1528_t +}; + +static const unsigned char kat1529_entropyin[] = { + 0x5b, 0xe3, 0xbb, 0x2a, 0x3f, 0xaa, 0x2e, 0x10, 0x7b, 0xe5, 0x50, 0x12, + 0xe9, 0x2d, 0xc6, 0x2f, +}; +static const unsigned char kat1529_nonce[] = { + 0x04, 0x5e, 0x50, 0x90, 0x15, 0x8d, 0x31, 0xcf, +}; +static const unsigned char kat1529_persstr[] = {0}; +static const unsigned char kat1529_entropyinreseed[] = { + 0x2b, 0x46, 0x2f, 0xf9, 0x72, 0x9c, 0x1b, 0x92, 0x90, 0xa8, 0x17, 0xb2, + 0xa1, 0xae, 0x3f, 0x94, +}; +static const unsigned char kat1529_addinreseed[] = { + 0xd9, 0x84, 0xae, 0xe6, 0xb0, 0xee, 0x03, 0x25, 0xba, 0x17, 0xb3, 0xc1, + 0x0a, 0x25, 0xf1, 0x8d, +}; +static const unsigned char kat1529_addin0[] = { + 0x86, 0x83, 0x20, 0xb8, 0x3f, 0x1b, 0x39, 0xe3, 0x94, 0x37, 0x7b, 0x5f, + 0xb5, 0x28, 0xdb, 0xbb, +}; +static const unsigned char kat1529_addin1[] = { + 0xd6, 0x90, 0xea, 0xa8, 0x0d, 0x28, 0xa5, 0x34, 0x1d, 0x75, 0x08, 0x94, + 0x01, 0x4d, 0xdd, 0x8d, +}; +static const unsigned char kat1529_retbits[] = { + 0xf9, 0xeb, 0x2a, 0x7a, 0x58, 0xc2, 0x46, 0x77, 0x39, 0x97, 0x2e, 0x1e, + 0x24, 0x56, 0x9c, 0x97, 0x62, 0x4e, 0xe0, 0xad, 0x5f, 0x79, 0xf1, 0x26, + 0x65, 0xce, 0x0c, 0x5a, 0x65, 0x01, 0x80, 0x46, 0x3d, 0xef, 0x3d, 0xc3, + 0x35, 0x15, 0x03, 0x04, 0x49, 0x70, 0x6a, 0x3d, 0x4e, 0xdc, 0x4c, 0x49, + 0x28, 0xf8, 0x55, 0x81, 0x49, 0xfe, 0xde, 0x30, 0xc5, 0xf3, 0x12, 0x23, + 0xd8, 0x65, 0x35, 0x4a, +}; +static const struct drbg_kat_pr_false kat1529_t = { + 13, kat1529_entropyin, kat1529_nonce, kat1529_persstr, + kat1529_entropyinreseed, kat1529_addinreseed, kat1529_addin0, + kat1529_addin1, kat1529_retbits +}; +static const struct drbg_kat kat1529 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1529_t +}; + +static const unsigned char kat1530_entropyin[] = { + 0x1d, 0x04, 0x36, 0xa5, 0xda, 0xd6, 0x6a, 0x81, 0x2e, 0x03, 0x52, 0xed, + 0x0c, 0x02, 0x91, 0xf6, +}; +static const unsigned char kat1530_nonce[] = { + 0xd1, 0xf2, 0xe9, 0x37, 0x24, 0x3d, 0xff, 0x92, +}; +static const unsigned char kat1530_persstr[] = {0}; +static const unsigned char kat1530_entropyinreseed[] = { + 0xa9, 0x1d, 0xc1, 0x81, 0xe9, 0x8d, 0x78, 0xe1, 0xc2, 0xc6, 0x39, 0xf9, + 0x65, 0x3c, 0x4c, 0x3b, +}; +static const unsigned char kat1530_addinreseed[] = { + 0x4b, 0xf6, 0xfc, 0xe2, 0x8e, 0x2a, 0xdf, 0x33, 0xa0, 0x86, 0x3d, 0xd3, + 0xdb, 0xda, 0x71, 0x72, +}; +static const unsigned char kat1530_addin0[] = { + 0x79, 0x74, 0xe5, 0xac, 0xed, 0x47, 0xec, 0x8b, 0x66, 0x99, 0x72, 0xd7, + 0xc5, 0xbd, 0xe5, 0xba, +}; +static const unsigned char kat1530_addin1[] = { + 0x89, 0x03, 0x3e, 0xfa, 0x2c, 0xc7, 0x09, 0x0e, 0x7a, 0x0d, 0x1f, 0x78, + 0xde, 0x1d, 0x87, 0x94, +}; +static const unsigned char kat1530_retbits[] = { + 0xf8, 0x57, 0x39, 0x76, 0xe2, 0xd1, 0x13, 0xcb, 0x16, 0x4f, 0x05, 0x00, + 0x3c, 0x11, 0x6f, 0x07, 0x88, 0x34, 0x6c, 0x85, 0x40, 0xd7, 0x66, 0x15, + 0xf6, 0x67, 0xed, 0x96, 0x8f, 0xde, 0x0f, 0x7d, 0x3f, 0xc0, 0x10, 0xfc, + 0xbe, 0x0d, 0xff, 0x8c, 0xb2, 0xb0, 0xcc, 0x33, 0xfa, 0xae, 0x9e, 0xb2, + 0x51, 0xf3, 0x84, 0x5a, 0xf1, 0xdf, 0x65, 0x45, 0x0c, 0xf5, 0x8c, 0x6e, + 0xe6, 0xe1, 0xb3, 0x82, +}; +static const struct drbg_kat_pr_false kat1530_t = { + 14, kat1530_entropyin, kat1530_nonce, kat1530_persstr, + kat1530_entropyinreseed, kat1530_addinreseed, kat1530_addin0, + kat1530_addin1, kat1530_retbits +}; +static const struct drbg_kat kat1530 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1530_t +}; + +static const unsigned char kat1531_entropyin[] = { + 0x13, 0xfa, 0x3e, 0x44, 0x5a, 0xa9, 0x61, 0xee, 0xfc, 0xf6, 0x01, 0x6e, + 0x49, 0x9f, 0x55, 0x9f, +}; +static const unsigned char kat1531_nonce[] = { + 0x30, 0xdc, 0x8d, 0x26, 0x04, 0xa5, 0x60, 0x05, +}; +static const unsigned char kat1531_persstr[] = { + 0xda, 0x20, 0x64, 0xc6, 0x59, 0xde, 0x89, 0xb4, 0xf0, 0xcf, 0x65, 0x8d, + 0x43, 0x54, 0xc2, 0x80, +}; +static const unsigned char kat1531_entropyinreseed[] = { + 0x0d, 0xd9, 0xfb, 0x5e, 0x7a, 0x47, 0xe2, 0x8c, 0xd4, 0x92, 0x97, 0xa6, + 0xc1, 0x3d, 0x9f, 0xa5, +}; +static const unsigned char kat1531_addinreseed[] = {0}; +static const unsigned char kat1531_addin0[] = {0}; +static const unsigned char kat1531_addin1[] = {0}; +static const unsigned char kat1531_retbits[] = { + 0x65, 0x9e, 0x92, 0x10, 0x05, 0x2d, 0x6c, 0x5b, 0x5f, 0xd5, 0xe4, 0x9c, + 0x7f, 0x6b, 0xb5, 0x34, 0xa5, 0x3e, 0x95, 0xf3, 0x1d, 0xf0, 0xec, 0xa7, + 0xb9, 0x96, 0x8e, 0x2c, 0xf3, 0xd5, 0xfe, 0x7b, 0x4d, 0x20, 0xb6, 0x97, + 0x26, 0xdb, 0x5e, 0x2c, 0x8a, 0x80, 0xe8, 0xb6, 0xf6, 0x0e, 0xee, 0x71, + 0x07, 0x4a, 0x9f, 0xcd, 0x26, 0x43, 0x20, 0xb1, 0xc5, 0x33, 0xaf, 0x92, + 0xc8, 0x23, 0xac, 0x7a, +}; +static const struct drbg_kat_pr_false kat1531_t = { + 0, kat1531_entropyin, kat1531_nonce, kat1531_persstr, + kat1531_entropyinreseed, kat1531_addinreseed, kat1531_addin0, + kat1531_addin1, kat1531_retbits +}; +static const struct drbg_kat kat1531 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1531_t +}; + +static const unsigned char kat1532_entropyin[] = { + 0x99, 0xac, 0xd5, 0x1a, 0xc4, 0xa7, 0x8e, 0xda, 0xe4, 0x41, 0xb4, 0xd1, + 0x18, 0x2c, 0xd9, 0x76, +}; +static const unsigned char kat1532_nonce[] = { + 0xfb, 0xaf, 0xfd, 0x77, 0x49, 0x57, 0x3b, 0xd0, +}; +static const unsigned char kat1532_persstr[] = { + 0x0a, 0x7f, 0x73, 0x96, 0x6d, 0xc7, 0xf9, 0xf4, 0x14, 0x82, 0xa8, 0x70, + 0xc3, 0xa8, 0xea, 0xce, +}; +static const unsigned char kat1532_entropyinreseed[] = { + 0x72, 0x5c, 0xf1, 0x81, 0x22, 0x9d, 0x41, 0x74, 0x1f, 0x02, 0xd1, 0x47, + 0xd7, 0xf0, 0xbc, 0x1c, +}; +static const unsigned char kat1532_addinreseed[] = {0}; +static const unsigned char kat1532_addin0[] = {0}; +static const unsigned char kat1532_addin1[] = {0}; +static const unsigned char kat1532_retbits[] = { + 0x7f, 0xd5, 0x50, 0x14, 0x7e, 0xc8, 0x24, 0x11, 0x8b, 0x64, 0x4f, 0x83, + 0xe6, 0xa0, 0x85, 0x5e, 0x41, 0x67, 0xa1, 0xf6, 0x49, 0x6f, 0xd6, 0xc0, + 0xd3, 0x42, 0xdb, 0x4a, 0xb1, 0x36, 0xcd, 0xe9, 0x6e, 0x9a, 0xbc, 0x5e, + 0x75, 0x9c, 0x7d, 0x28, 0xb7, 0x8a, 0xfd, 0x69, 0x71, 0x27, 0x94, 0x62, + 0x82, 0xa3, 0x20, 0x24, 0xe3, 0x85, 0x5f, 0xc0, 0xb5, 0x7b, 0x36, 0xaa, + 0x9d, 0x0e, 0xd3, 0xa1, +}; +static const struct drbg_kat_pr_false kat1532_t = { + 1, kat1532_entropyin, kat1532_nonce, kat1532_persstr, + kat1532_entropyinreseed, kat1532_addinreseed, kat1532_addin0, + kat1532_addin1, kat1532_retbits +}; +static const struct drbg_kat kat1532 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1532_t +}; + +static const unsigned char kat1533_entropyin[] = { + 0x3a, 0xf6, 0x7d, 0x00, 0xfd, 0xf0, 0xe7, 0x3f, 0x59, 0x59, 0x1d, 0x57, + 0xb8, 0xf6, 0x15, 0x3b, +}; +static const unsigned char kat1533_nonce[] = { + 0x69, 0x81, 0xc8, 0x84, 0x47, 0x61, 0x20, 0xc4, +}; +static const unsigned char kat1533_persstr[] = { + 0xf9, 0x52, 0x76, 0x30, 0x5a, 0x1c, 0x0e, 0x3d, 0xa2, 0xde, 0x5c, 0x70, + 0xa7, 0xba, 0x97, 0x0f, +}; +static const unsigned char kat1533_entropyinreseed[] = { + 0x8f, 0xe4, 0xa3, 0xd6, 0xa0, 0x19, 0x9b, 0x23, 0x54, 0x5d, 0xf9, 0x9c, + 0xa6, 0xef, 0x90, 0x0e, +}; +static const unsigned char kat1533_addinreseed[] = {0}; +static const unsigned char kat1533_addin0[] = {0}; +static const unsigned char kat1533_addin1[] = {0}; +static const unsigned char kat1533_retbits[] = { + 0x69, 0xaf, 0x02, 0xa4, 0x06, 0xf2, 0x63, 0xee, 0xea, 0xf7, 0xa4, 0xc4, + 0x80, 0x1b, 0xf3, 0x9c, 0x3f, 0x44, 0x0d, 0xb9, 0xbc, 0x31, 0xb5, 0x23, + 0x83, 0x17, 0x17, 0xf6, 0x94, 0x89, 0x87, 0x79, 0x7b, 0x34, 0x7f, 0x12, + 0xaf, 0x9b, 0x4b, 0x4f, 0xbe, 0xad, 0xa3, 0xa4, 0xd4, 0x16, 0xbf, 0x98, + 0x6a, 0xa9, 0x24, 0x89, 0x37, 0xc3, 0x18, 0xe9, 0x3e, 0x55, 0x03, 0x9b, + 0x64, 0x90, 0x24, 0xa2, +}; +static const struct drbg_kat_pr_false kat1533_t = { + 2, kat1533_entropyin, kat1533_nonce, kat1533_persstr, + kat1533_entropyinreseed, kat1533_addinreseed, kat1533_addin0, + kat1533_addin1, kat1533_retbits +}; +static const struct drbg_kat kat1533 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1533_t +}; + +static const unsigned char kat1534_entropyin[] = { + 0xa2, 0x13, 0x6b, 0x0d, 0x5c, 0xa7, 0x83, 0x49, 0x40, 0xd9, 0x06, 0x95, + 0x48, 0xf5, 0xdb, 0xa5, +}; +static const unsigned char kat1534_nonce[] = { + 0x90, 0xb0, 0x65, 0x92, 0xe2, 0x31, 0x54, 0x7a, +}; +static const unsigned char kat1534_persstr[] = { + 0xf9, 0xc2, 0xdf, 0xf3, 0x99, 0x2c, 0xa9, 0xae, 0xd0, 0x07, 0x85, 0xc2, + 0x16, 0xd2, 0xae, 0x18, +}; +static const unsigned char kat1534_entropyinreseed[] = { + 0xdd, 0xd3, 0x75, 0x74, 0x77, 0xd8, 0xe3, 0x25, 0x61, 0x84, 0x57, 0x0d, + 0xf1, 0xa6, 0xa4, 0x4b, +}; +static const unsigned char kat1534_addinreseed[] = {0}; +static const unsigned char kat1534_addin0[] = {0}; +static const unsigned char kat1534_addin1[] = {0}; +static const unsigned char kat1534_retbits[] = { + 0x0a, 0x72, 0x7d, 0x30, 0x17, 0xa4, 0x47, 0x71, 0xf9, 0x84, 0x42, 0xfd, + 0xf5, 0xf1, 0xba, 0xb0, 0x66, 0x65, 0xf9, 0x3f, 0x19, 0xd2, 0xe1, 0xe6, + 0xef, 0x91, 0x73, 0x8a, 0x03, 0x7b, 0x98, 0xb8, 0x3a, 0xac, 0x19, 0xe4, + 0x5b, 0xde, 0x47, 0x91, 0xcf, 0x74, 0x16, 0x8a, 0x26, 0x0e, 0xbb, 0x1e, + 0x05, 0x85, 0x56, 0xd3, 0x1e, 0x02, 0x7d, 0xb4, 0x37, 0xb8, 0x28, 0x22, + 0x2e, 0x51, 0x5b, 0x69, +}; +static const struct drbg_kat_pr_false kat1534_t = { + 3, kat1534_entropyin, kat1534_nonce, kat1534_persstr, + kat1534_entropyinreseed, kat1534_addinreseed, kat1534_addin0, + kat1534_addin1, kat1534_retbits +}; +static const struct drbg_kat kat1534 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1534_t +}; + +static const unsigned char kat1535_entropyin[] = { + 0x97, 0x16, 0x3a, 0xf4, 0x5a, 0xd8, 0x33, 0x60, 0x2f, 0x32, 0xf9, 0x38, + 0x85, 0x55, 0x46, 0xa9, +}; +static const unsigned char kat1535_nonce[] = { + 0x37, 0x93, 0x10, 0x74, 0xde, 0xd1, 0xf7, 0x78, +}; +static const unsigned char kat1535_persstr[] = { + 0x38, 0x6a, 0x07, 0xfe, 0x49, 0x3f, 0x90, 0xee, 0x72, 0xeb, 0x3a, 0x65, + 0x2c, 0x95, 0x58, 0xcb, +}; +static const unsigned char kat1535_entropyinreseed[] = { + 0x62, 0x51, 0x6c, 0x22, 0xa7, 0x36, 0xd6, 0x98, 0x4b, 0xd8, 0xd3, 0xf8, + 0xd9, 0xfa, 0xc1, 0xe7, +}; +static const unsigned char kat1535_addinreseed[] = {0}; +static const unsigned char kat1535_addin0[] = {0}; +static const unsigned char kat1535_addin1[] = {0}; +static const unsigned char kat1535_retbits[] = { + 0xb9, 0x05, 0x3e, 0x87, 0xe8, 0x28, 0x74, 0x15, 0x5e, 0x5d, 0xeb, 0x8f, + 0xc4, 0x49, 0x9a, 0xa8, 0x1b, 0xdf, 0x24, 0xba, 0xc3, 0xef, 0x39, 0x9a, + 0x29, 0x2b, 0x05, 0xd0, 0xb8, 0x79, 0xfb, 0x75, 0xa5, 0x3f, 0x71, 0xbb, + 0x48, 0xca, 0x5a, 0xbc, 0x55, 0x83, 0x47, 0xd6, 0xdb, 0x37, 0xb5, 0x53, + 0x4c, 0xcd, 0x7e, 0xf0, 0x8f, 0xeb, 0x3a, 0x0e, 0x8a, 0x74, 0x01, 0xa4, + 0xda, 0x3c, 0x9c, 0x59, +}; +static const struct drbg_kat_pr_false kat1535_t = { + 4, kat1535_entropyin, kat1535_nonce, kat1535_persstr, + kat1535_entropyinreseed, kat1535_addinreseed, kat1535_addin0, + kat1535_addin1, kat1535_retbits +}; +static const struct drbg_kat kat1535 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1535_t +}; + +static const unsigned char kat1536_entropyin[] = { + 0xe5, 0x41, 0x27, 0x5a, 0x47, 0x75, 0x5d, 0x4e, 0xf6, 0xab, 0x52, 0xb8, + 0x1b, 0x98, 0x4c, 0x99, +}; +static const unsigned char kat1536_nonce[] = { + 0x5d, 0x33, 0x83, 0x76, 0x79, 0xcd, 0x5d, 0xbb, +}; +static const unsigned char kat1536_persstr[] = { + 0x13, 0x5c, 0x22, 0xe4, 0xcb, 0xf8, 0x13, 0x7d, 0xab, 0xbf, 0x2c, 0xef, + 0xee, 0xb7, 0x6d, 0xb6, +}; +static const unsigned char kat1536_entropyinreseed[] = { + 0x0e, 0xc9, 0x42, 0x0c, 0x02, 0x81, 0x73, 0xb9, 0x7d, 0x1e, 0x96, 0x15, + 0x93, 0x8a, 0x61, 0x29, +}; +static const unsigned char kat1536_addinreseed[] = {0}; +static const unsigned char kat1536_addin0[] = {0}; +static const unsigned char kat1536_addin1[] = {0}; +static const unsigned char kat1536_retbits[] = { + 0xed, 0x76, 0x58, 0x14, 0xcd, 0xde, 0x16, 0x7b, 0x62, 0xe4, 0xb0, 0xfe, + 0x6e, 0xd8, 0x45, 0x0f, 0x14, 0xe6, 0xf1, 0x16, 0x45, 0x45, 0x70, 0xad, + 0xa2, 0xaf, 0x13, 0x94, 0xaa, 0xa5, 0xaf, 0x68, 0xbe, 0xec, 0x0e, 0x2f, + 0x70, 0x93, 0x3c, 0x5b, 0x97, 0x3b, 0x5e, 0x1a, 0x75, 0x59, 0x63, 0x43, + 0x18, 0xf4, 0xe6, 0x04, 0x28, 0xf9, 0x30, 0xac, 0xda, 0x51, 0x3c, 0x20, + 0x79, 0x5b, 0xf0, 0x59, +}; +static const struct drbg_kat_pr_false kat1536_t = { + 5, kat1536_entropyin, kat1536_nonce, kat1536_persstr, + kat1536_entropyinreseed, kat1536_addinreseed, kat1536_addin0, + kat1536_addin1, kat1536_retbits +}; +static const struct drbg_kat kat1536 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1536_t +}; + +static const unsigned char kat1537_entropyin[] = { + 0xd3, 0x5a, 0x70, 0xca, 0x82, 0x21, 0xc1, 0x86, 0x8f, 0x8d, 0x31, 0x8e, + 0x52, 0x17, 0x5b, 0xaa, +}; +static const unsigned char kat1537_nonce[] = { + 0xd7, 0x20, 0x9b, 0x94, 0x4b, 0xc4, 0xaa, 0x3a, +}; +static const unsigned char kat1537_persstr[] = { + 0x6f, 0x4e, 0x19, 0x87, 0x52, 0xd3, 0x42, 0x7a, 0x36, 0x2a, 0x1b, 0x01, + 0xfa, 0x41, 0x95, 0x0d, +}; +static const unsigned char kat1537_entropyinreseed[] = { + 0xa6, 0x84, 0x9c, 0x1c, 0xab, 0xa2, 0xf2, 0x62, 0x98, 0x58, 0x82, 0x7f, + 0x92, 0xda, 0x04, 0x9c, +}; +static const unsigned char kat1537_addinreseed[] = {0}; +static const unsigned char kat1537_addin0[] = {0}; +static const unsigned char kat1537_addin1[] = {0}; +static const unsigned char kat1537_retbits[] = { + 0x49, 0xdc, 0x87, 0x51, 0xe8, 0xfe, 0xa3, 0xf3, 0xf1, 0x5c, 0xfb, 0xf2, + 0x07, 0xc3, 0x77, 0xb4, 0x9a, 0x5a, 0x9a, 0xfd, 0x45, 0x3d, 0xee, 0x37, + 0x51, 0x89, 0x26, 0x0a, 0x62, 0x57, 0x8d, 0x18, 0xc4, 0xdb, 0x51, 0x57, + 0x91, 0x31, 0x9c, 0x45, 0x3e, 0x5b, 0x41, 0x2e, 0xb4, 0xe3, 0x69, 0x13, + 0x49, 0x40, 0xfe, 0x76, 0x2a, 0xaa, 0xc8, 0xf1, 0x31, 0x6e, 0xab, 0x8d, + 0x11, 0x30, 0x9a, 0x63, +}; +static const struct drbg_kat_pr_false kat1537_t = { + 6, kat1537_entropyin, kat1537_nonce, kat1537_persstr, + kat1537_entropyinreseed, kat1537_addinreseed, kat1537_addin0, + kat1537_addin1, kat1537_retbits +}; +static const struct drbg_kat kat1537 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1537_t +}; + +static const unsigned char kat1538_entropyin[] = { + 0x2e, 0x0e, 0xdf, 0x2c, 0x26, 0xba, 0x18, 0x7d, 0x9d, 0x40, 0x9d, 0x20, + 0x3b, 0x07, 0x86, 0xac, +}; +static const unsigned char kat1538_nonce[] = { + 0xdb, 0xb2, 0xe1, 0x42, 0xa8, 0x91, 0x6d, 0xb4, +}; +static const unsigned char kat1538_persstr[] = { + 0x32, 0x55, 0x96, 0xe2, 0xe1, 0x04, 0xf8, 0xf6, 0xc1, 0x05, 0x42, 0x36, + 0xeb, 0xb2, 0x0a, 0xd2, +}; +static const unsigned char kat1538_entropyinreseed[] = { + 0xf6, 0x1f, 0x1f, 0x5d, 0x07, 0xce, 0x98, 0xc6, 0xe8, 0xb0, 0x55, 0x0e, + 0x07, 0xf2, 0x2d, 0xfc, +}; +static const unsigned char kat1538_addinreseed[] = {0}; +static const unsigned char kat1538_addin0[] = {0}; +static const unsigned char kat1538_addin1[] = {0}; +static const unsigned char kat1538_retbits[] = { + 0xba, 0xbf, 0x1b, 0x48, 0x9b, 0x3d, 0x54, 0x09, 0x95, 0x90, 0x4a, 0xc0, + 0xc9, 0x3a, 0xab, 0x22, 0x82, 0x53, 0x82, 0x5f, 0x86, 0xf7, 0x9e, 0x0f, + 0xcf, 0x53, 0x0e, 0x32, 0xb2, 0xfe, 0x68, 0xeb, 0xf8, 0xcf, 0x3a, 0x8d, + 0xa3, 0x0a, 0x49, 0xaf, 0xa7, 0x2b, 0xae, 0x8b, 0x36, 0xe3, 0x5e, 0xcf, + 0x46, 0x6c, 0x67, 0x7e, 0x0e, 0x32, 0x8f, 0x57, 0x4b, 0xe9, 0x14, 0x07, + 0x26, 0xef, 0x21, 0x59, +}; +static const struct drbg_kat_pr_false kat1538_t = { + 7, kat1538_entropyin, kat1538_nonce, kat1538_persstr, + kat1538_entropyinreseed, kat1538_addinreseed, kat1538_addin0, + kat1538_addin1, kat1538_retbits +}; +static const struct drbg_kat kat1538 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1538_t +}; + +static const unsigned char kat1539_entropyin[] = { + 0x1d, 0x4e, 0x20, 0x1e, 0xa2, 0xa2, 0x75, 0xb4, 0xbc, 0x62, 0x01, 0x6f, + 0x90, 0x2c, 0x14, 0x6d, +}; +static const unsigned char kat1539_nonce[] = { + 0x13, 0x47, 0xf0, 0x44, 0xda, 0x76, 0xa4, 0x95, +}; +static const unsigned char kat1539_persstr[] = { + 0x8c, 0x93, 0x07, 0x8f, 0x9e, 0xdb, 0x99, 0x74, 0x54, 0x42, 0x89, 0x7e, + 0x7f, 0x40, 0x4c, 0x95, +}; +static const unsigned char kat1539_entropyinreseed[] = { + 0xf6, 0x6c, 0xb6, 0x78, 0xe4, 0xe3, 0x33, 0xf4, 0x58, 0xf3, 0x8c, 0x84, + 0xdc, 0x8c, 0x8b, 0xef, +}; +static const unsigned char kat1539_addinreseed[] = {0}; +static const unsigned char kat1539_addin0[] = {0}; +static const unsigned char kat1539_addin1[] = {0}; +static const unsigned char kat1539_retbits[] = { + 0xdd, 0xf7, 0x70, 0xd0, 0xb2, 0xeb, 0xb0, 0x19, 0x0d, 0x32, 0xda, 0xae, + 0x7e, 0x1e, 0x16, 0x77, 0x79, 0x74, 0x08, 0xd7, 0xc8, 0x26, 0xcf, 0xeb, + 0x45, 0xbd, 0xe2, 0xf7, 0xdb, 0xf2, 0x44, 0x73, 0xf1, 0xc6, 0xf3, 0x52, + 0x97, 0xf4, 0x98, 0xc3, 0xe7, 0x07, 0x8d, 0x78, 0x04, 0x8d, 0x6c, 0xda, + 0x7a, 0xfe, 0x9b, 0x6c, 0xe6, 0xff, 0x8d, 0x3f, 0x97, 0x2e, 0x8d, 0xce, + 0x76, 0x75, 0xa7, 0x8c, +}; +static const struct drbg_kat_pr_false kat1539_t = { + 8, kat1539_entropyin, kat1539_nonce, kat1539_persstr, + kat1539_entropyinreseed, kat1539_addinreseed, kat1539_addin0, + kat1539_addin1, kat1539_retbits +}; +static const struct drbg_kat kat1539 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1539_t +}; + +static const unsigned char kat1540_entropyin[] = { + 0xb0, 0x5f, 0x65, 0x56, 0x07, 0x06, 0xae, 0xc6, 0xaa, 0x69, 0xa5, 0x30, + 0x34, 0x98, 0x1a, 0x75, +}; +static const unsigned char kat1540_nonce[] = { + 0x97, 0x8d, 0x13, 0x96, 0x08, 0x7c, 0x79, 0x95, +}; +static const unsigned char kat1540_persstr[] = { + 0x75, 0x05, 0xc5, 0xae, 0xf5, 0x0b, 0x65, 0x56, 0x53, 0x5f, 0xf1, 0xe7, + 0x9a, 0x92, 0x85, 0xfa, +}; +static const unsigned char kat1540_entropyinreseed[] = { + 0xb2, 0x40, 0x16, 0xcc, 0xb9, 0xb5, 0x32, 0x17, 0x49, 0xd3, 0x82, 0xf7, + 0x88, 0x35, 0xad, 0xcf, +}; +static const unsigned char kat1540_addinreseed[] = {0}; +static const unsigned char kat1540_addin0[] = {0}; +static const unsigned char kat1540_addin1[] = {0}; +static const unsigned char kat1540_retbits[] = { + 0xea, 0xe3, 0x63, 0x2d, 0x8b, 0x22, 0x4c, 0xa6, 0x90, 0x3f, 0x64, 0xba, + 0xf5, 0xf7, 0x5d, 0x89, 0x16, 0x40, 0xbd, 0x38, 0xe5, 0x71, 0x4e, 0x5c, + 0xae, 0x75, 0xf7, 0x7f, 0x0c, 0xfc, 0x38, 0xf0, 0x6e, 0x5e, 0xb9, 0xc2, + 0x67, 0xdf, 0x6b, 0x22, 0x39, 0x33, 0xee, 0xa5, 0xb9, 0x73, 0x77, 0xf0, + 0x7a, 0x93, 0x63, 0xbd, 0x10, 0x68, 0x72, 0xdd, 0x86, 0xb1, 0x5e, 0xc3, + 0x32, 0xc8, 0xe9, 0x20, +}; +static const struct drbg_kat_pr_false kat1540_t = { + 9, kat1540_entropyin, kat1540_nonce, kat1540_persstr, + kat1540_entropyinreseed, kat1540_addinreseed, kat1540_addin0, + kat1540_addin1, kat1540_retbits +}; +static const struct drbg_kat kat1540 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1540_t +}; + +static const unsigned char kat1541_entropyin[] = { + 0x22, 0xa7, 0x86, 0xb9, 0x9e, 0xe8, 0xf8, 0x74, 0x31, 0x19, 0x21, 0xce, + 0xb0, 0x9b, 0x0b, 0x62, +}; +static const unsigned char kat1541_nonce[] = { + 0x02, 0x12, 0xc9, 0xfa, 0x22, 0x9e, 0x40, 0xc7, +}; +static const unsigned char kat1541_persstr[] = { + 0x4f, 0x02, 0x44, 0xe2, 0x7b, 0x08, 0x04, 0x30, 0x6c, 0x60, 0x1e, 0x84, + 0xcb, 0x91, 0x95, 0x66, +}; +static const unsigned char kat1541_entropyinreseed[] = { + 0xe7, 0x9e, 0x8e, 0x72, 0xb2, 0xcf, 0xf5, 0x00, 0x23, 0xf6, 0x43, 0xde, + 0xaf, 0x2f, 0xa3, 0x25, +}; +static const unsigned char kat1541_addinreseed[] = {0}; +static const unsigned char kat1541_addin0[] = {0}; +static const unsigned char kat1541_addin1[] = {0}; +static const unsigned char kat1541_retbits[] = { + 0xc2, 0x04, 0x95, 0x44, 0xb5, 0xc6, 0x39, 0x5d, 0x5f, 0xf8, 0xe3, 0xe4, + 0x1b, 0x05, 0xab, 0x6c, 0xc2, 0x72, 0x7d, 0x0d, 0x08, 0x28, 0xfb, 0x7f, + 0x9c, 0x46, 0xd9, 0xf9, 0x98, 0x97, 0x1f, 0x77, 0xf4, 0x88, 0x53, 0xe3, + 0x07, 0x39, 0x4b, 0x2f, 0xda, 0x28, 0x2f, 0xaa, 0xb5, 0x0c, 0xdc, 0x73, + 0x29, 0xa5, 0x27, 0x55, 0x20, 0x3d, 0x0b, 0x52, 0xb7, 0xf2, 0xa6, 0x35, + 0xcf, 0x42, 0xca, 0x04, +}; +static const struct drbg_kat_pr_false kat1541_t = { + 10, kat1541_entropyin, kat1541_nonce, kat1541_persstr, + kat1541_entropyinreseed, kat1541_addinreseed, kat1541_addin0, + kat1541_addin1, kat1541_retbits +}; +static const struct drbg_kat kat1541 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1541_t +}; + +static const unsigned char kat1542_entropyin[] = { + 0xef, 0x17, 0x9f, 0xed, 0x1a, 0x28, 0xc9, 0x1e, 0x89, 0x76, 0xa5, 0xfb, + 0x93, 0xd8, 0xa0, 0xdd, +}; +static const unsigned char kat1542_nonce[] = { + 0x1a, 0xed, 0x84, 0xce, 0xc7, 0xe6, 0xd7, 0x91, +}; +static const unsigned char kat1542_persstr[] = { + 0x7d, 0x9e, 0x67, 0xa8, 0xf0, 0x4a, 0x22, 0x03, 0x73, 0x2b, 0x4d, 0x3f, + 0x39, 0x9d, 0x22, 0x91, +}; +static const unsigned char kat1542_entropyinreseed[] = { + 0xdd, 0x3a, 0x49, 0x47, 0x89, 0x40, 0x05, 0xea, 0x82, 0xfd, 0xc3, 0xfa, + 0x14, 0x54, 0x93, 0x3b, +}; +static const unsigned char kat1542_addinreseed[] = {0}; +static const unsigned char kat1542_addin0[] = {0}; +static const unsigned char kat1542_addin1[] = {0}; +static const unsigned char kat1542_retbits[] = { + 0x09, 0x06, 0xcb, 0x88, 0x44, 0x14, 0x9e, 0xbb, 0x32, 0x6e, 0xc2, 0x99, + 0x8c, 0xe2, 0xbf, 0x1c, 0x69, 0x47, 0x4d, 0xb7, 0xda, 0x02, 0xbc, 0x86, + 0x62, 0x9e, 0x49, 0x70, 0xea, 0xfc, 0xfa, 0x02, 0x30, 0x19, 0xb6, 0x0a, + 0xfa, 0xca, 0xea, 0x1a, 0x2e, 0x10, 0xbd, 0x3f, 0xa1, 0x10, 0x7e, 0xe0, + 0x2c, 0xdf, 0x05, 0xf1, 0xd9, 0x30, 0xa3, 0xa8, 0xc6, 0x1a, 0x2c, 0xc7, + 0xc6, 0x3e, 0xa5, 0xf1, +}; +static const struct drbg_kat_pr_false kat1542_t = { + 11, kat1542_entropyin, kat1542_nonce, kat1542_persstr, + kat1542_entropyinreseed, kat1542_addinreseed, kat1542_addin0, + kat1542_addin1, kat1542_retbits +}; +static const struct drbg_kat kat1542 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1542_t +}; + +static const unsigned char kat1543_entropyin[] = { + 0xf1, 0x86, 0xbd, 0xff, 0x36, 0xbe, 0xab, 0x82, 0xea, 0x45, 0x18, 0x95, + 0x86, 0x4b, 0x3b, 0x35, +}; +static const unsigned char kat1543_nonce[] = { + 0x44, 0x49, 0xd1, 0x39, 0xce, 0xa2, 0x45, 0x8a, +}; +static const unsigned char kat1543_persstr[] = { + 0x4a, 0xed, 0x4e, 0x99, 0x55, 0x54, 0x09, 0x31, 0x9e, 0x9c, 0x52, 0x57, + 0x77, 0xab, 0xbd, 0x2a, +}; +static const unsigned char kat1543_entropyinreseed[] = { + 0x67, 0x48, 0x56, 0x99, 0xe3, 0x0b, 0xf2, 0x7e, 0xb6, 0x84, 0xd6, 0x66, + 0x3d, 0x05, 0x07, 0xcc, +}; +static const unsigned char kat1543_addinreseed[] = {0}; +static const unsigned char kat1543_addin0[] = {0}; +static const unsigned char kat1543_addin1[] = {0}; +static const unsigned char kat1543_retbits[] = { + 0xba, 0xa1, 0x41, 0x66, 0x0e, 0xad, 0x5a, 0x6e, 0xf4, 0x1d, 0x0a, 0xcc, + 0x13, 0xe5, 0x26, 0x19, 0xa5, 0x0e, 0x26, 0x2f, 0xa7, 0x1f, 0x92, 0x9b, + 0xb8, 0xe4, 0xd9, 0xf1, 0xce, 0x34, 0xe1, 0xca, 0xbc, 0xcf, 0xed, 0x60, + 0x53, 0xc2, 0x8c, 0xbf, 0x75, 0x89, 0xa6, 0x76, 0x96, 0x96, 0x5d, 0x01, + 0x31, 0xb2, 0x23, 0xee, 0x83, 0xc2, 0x70, 0x80, 0x04, 0x39, 0xc6, 0xc2, + 0x52, 0xfa, 0x5d, 0x82, +}; +static const struct drbg_kat_pr_false kat1543_t = { + 12, kat1543_entropyin, kat1543_nonce, kat1543_persstr, + kat1543_entropyinreseed, kat1543_addinreseed, kat1543_addin0, + kat1543_addin1, kat1543_retbits +}; +static const struct drbg_kat kat1543 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1543_t +}; + +static const unsigned char kat1544_entropyin[] = { + 0x0b, 0xa7, 0xd6, 0x25, 0xa1, 0xcf, 0xb9, 0x00, 0xe1, 0xcb, 0xc7, 0x80, + 0x96, 0x8a, 0x90, 0xf2, +}; +static const unsigned char kat1544_nonce[] = { + 0xf4, 0x15, 0x5d, 0xf4, 0x6d, 0xae, 0xe1, 0xa8, +}; +static const unsigned char kat1544_persstr[] = { + 0x2d, 0xd3, 0xb5, 0xdf, 0xe0, 0xce, 0xae, 0x7f, 0x38, 0x21, 0xd8, 0x7b, + 0xa0, 0x30, 0x8b, 0x92, +}; +static const unsigned char kat1544_entropyinreseed[] = { + 0x94, 0xa5, 0x62, 0x2b, 0xbf, 0xda, 0x81, 0x49, 0x39, 0x38, 0x52, 0xda, + 0xce, 0xee, 0x85, 0x5b, +}; +static const unsigned char kat1544_addinreseed[] = {0}; +static const unsigned char kat1544_addin0[] = {0}; +static const unsigned char kat1544_addin1[] = {0}; +static const unsigned char kat1544_retbits[] = { + 0x07, 0x89, 0x35, 0x71, 0x48, 0xb9, 0x64, 0x4c, 0xa0, 0xa5, 0x30, 0x8d, + 0xa2, 0xf0, 0xc5, 0x1f, 0xcb, 0x6a, 0x99, 0x1d, 0x09, 0xf9, 0x10, 0xb4, + 0x02, 0x15, 0x80, 0x59, 0xb7, 0x41, 0x25, 0xf7, 0x52, 0x89, 0x5d, 0xe0, + 0xb1, 0xc7, 0x07, 0x94, 0x34, 0x9b, 0x02, 0xd7, 0x21, 0x38, 0xad, 0x68, + 0x24, 0x1c, 0xf4, 0xc2, 0x8f, 0x83, 0x28, 0x31, 0x3c, 0x1f, 0xd2, 0x11, + 0xb1, 0xc7, 0xc2, 0x57, +}; +static const struct drbg_kat_pr_false kat1544_t = { + 13, kat1544_entropyin, kat1544_nonce, kat1544_persstr, + kat1544_entropyinreseed, kat1544_addinreseed, kat1544_addin0, + kat1544_addin1, kat1544_retbits +}; +static const struct drbg_kat kat1544 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1544_t +}; + +static const unsigned char kat1545_entropyin[] = { + 0xe2, 0x86, 0x6d, 0x63, 0xf6, 0xe4, 0x9e, 0x3b, 0xd4, 0xd9, 0x4f, 0x28, + 0xe7, 0x77, 0x55, 0xf0, +}; +static const unsigned char kat1545_nonce[] = { + 0xf3, 0x1f, 0x80, 0x9e, 0x82, 0x17, 0x74, 0x34, +}; +static const unsigned char kat1545_persstr[] = { + 0x05, 0xa4, 0xee, 0x9d, 0x4e, 0x41, 0xb1, 0xd9, 0x68, 0x5e, 0xc3, 0xa8, + 0xcd, 0xfa, 0x54, 0x2d, +}; +static const unsigned char kat1545_entropyinreseed[] = { + 0x01, 0xa4, 0xf6, 0xe4, 0x38, 0xbd, 0x52, 0x75, 0x1f, 0xb6, 0xdb, 0xa2, + 0x5e, 0x30, 0x1a, 0xe3, +}; +static const unsigned char kat1545_addinreseed[] = {0}; +static const unsigned char kat1545_addin0[] = {0}; +static const unsigned char kat1545_addin1[] = {0}; +static const unsigned char kat1545_retbits[] = { + 0x50, 0x9f, 0xd9, 0x08, 0x68, 0x02, 0xdf, 0xa8, 0xa6, 0x04, 0x2e, 0x21, + 0xc5, 0x88, 0xf7, 0x96, 0x06, 0xb2, 0x1e, 0x7e, 0x2e, 0x39, 0x85, 0x49, + 0x8b, 0xd2, 0xc2, 0x30, 0x98, 0xbe, 0x88, 0xfc, 0x8a, 0xfa, 0x2c, 0xaa, + 0xc0, 0xf4, 0x00, 0x4b, 0xe3, 0xd0, 0x3a, 0x2a, 0x6a, 0xbd, 0x5e, 0x90, + 0xe3, 0xaa, 0xb7, 0xe5, 0x79, 0x7e, 0xce, 0xaa, 0xf0, 0xe3, 0x83, 0x54, + 0x08, 0x17, 0x1d, 0x81, +}; +static const struct drbg_kat_pr_false kat1545_t = { + 14, kat1545_entropyin, kat1545_nonce, kat1545_persstr, + kat1545_entropyinreseed, kat1545_addinreseed, kat1545_addin0, + kat1545_addin1, kat1545_retbits +}; +static const struct drbg_kat kat1545 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1545_t +}; + +static const unsigned char kat1546_entropyin[] = { + 0xe9, 0x09, 0x5c, 0x18, 0x99, 0xe1, 0xea, 0x7d, 0xbd, 0x86, 0x7d, 0x91, + 0x5d, 0x8e, 0x3d, 0xef, +}; +static const unsigned char kat1546_nonce[] = { + 0xce, 0xa1, 0x57, 0x88, 0x9d, 0xaa, 0x5c, 0x09, +}; +static const unsigned char kat1546_persstr[] = { + 0xb9, 0xae, 0x88, 0x1d, 0x60, 0xb2, 0x44, 0x53, 0x30, 0xd1, 0xaa, 0x2d, + 0x49, 0xed, 0xb1, 0x68, +}; +static const unsigned char kat1546_entropyinreseed[] = { + 0x3c, 0x66, 0x90, 0x64, 0x19, 0x04, 0x7d, 0x58, 0xf4, 0x7a, 0xe7, 0x88, + 0xc4, 0x9c, 0x7a, 0x69, +}; +static const unsigned char kat1546_addinreseed[] = { + 0xb0, 0x19, 0x05, 0x79, 0xcc, 0x71, 0xc2, 0x14, 0x2e, 0x2b, 0x4b, 0x14, + 0x7b, 0x4f, 0x01, 0x49, +}; +static const unsigned char kat1546_addin0[] = { + 0xb2, 0xb4, 0x78, 0x91, 0x52, 0x53, 0xc7, 0x84, 0xe3, 0xae, 0xd9, 0x7b, + 0x26, 0xcb, 0xc9, 0xe5, +}; +static const unsigned char kat1546_addin1[] = { + 0xd2, 0x41, 0x9f, 0xcc, 0xe3, 0x64, 0x3b, 0xb4, 0x9c, 0xb7, 0xad, 0x93, + 0xec, 0x09, 0xc7, 0x69, +}; +static const unsigned char kat1546_retbits[] = { + 0x06, 0x41, 0x06, 0x39, 0x61, 0x35, 0x84, 0xb3, 0xb1, 0x45, 0x59, 0x19, + 0xb2, 0xe9, 0xdf, 0x5c, 0xb3, 0xc1, 0x90, 0xc6, 0x68, 0xa0, 0xab, 0x47, + 0x3d, 0xa4, 0xe7, 0x15, 0xf8, 0x1e, 0x44, 0x72, 0xb5, 0x7a, 0xfd, 0xe0, + 0x82, 0x72, 0x70, 0x90, 0xe3, 0xa0, 0xd0, 0x78, 0x29, 0xac, 0x71, 0x85, + 0x0d, 0xeb, 0xea, 0x34, 0xcf, 0x0f, 0x28, 0x99, 0xfc, 0x3b, 0x15, 0xda, + 0xb8, 0x41, 0x80, 0xe4, +}; +static const struct drbg_kat_pr_false kat1546_t = { + 0, kat1546_entropyin, kat1546_nonce, kat1546_persstr, + kat1546_entropyinreseed, kat1546_addinreseed, kat1546_addin0, + kat1546_addin1, kat1546_retbits +}; +static const struct drbg_kat kat1546 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1546_t +}; + +static const unsigned char kat1547_entropyin[] = { + 0xfc, 0x17, 0xa0, 0xda, 0x69, 0xce, 0x9e, 0x7a, 0x5b, 0x1f, 0x57, 0x53, + 0x49, 0xca, 0x48, 0xb2, +}; +static const unsigned char kat1547_nonce[] = { + 0x61, 0x68, 0xca, 0xf0, 0x73, 0x7a, 0x14, 0xf2, +}; +static const unsigned char kat1547_persstr[] = { + 0x0f, 0x04, 0x68, 0x14, 0x43, 0xad, 0xbe, 0xbc, 0x5c, 0x62, 0xfc, 0x83, + 0x30, 0x75, 0x59, 0xb8, +}; +static const unsigned char kat1547_entropyinreseed[] = { + 0x5e, 0x86, 0x35, 0xae, 0x3b, 0x30, 0x32, 0x36, 0x8e, 0xa8, 0xdd, 0x87, + 0x5a, 0x65, 0x6c, 0x58, +}; +static const unsigned char kat1547_addinreseed[] = { + 0x16, 0x14, 0x3e, 0x76, 0x2e, 0xd7, 0xc9, 0x2b, 0x07, 0x4b, 0xba, 0xb4, + 0xd1, 0xf7, 0xea, 0xcf, +}; +static const unsigned char kat1547_addin0[] = { + 0x34, 0x65, 0xc0, 0xeb, 0x01, 0x07, 0xe3, 0x91, 0xdd, 0xec, 0x0d, 0xbf, + 0xe9, 0xaa, 0x9e, 0xd1, +}; +static const unsigned char kat1547_addin1[] = { + 0xda, 0x94, 0x05, 0xea, 0x75, 0x62, 0xe0, 0xae, 0xb4, 0xfa, 0xd0, 0x5d, + 0xdb, 0xc2, 0x67, 0x3f, +}; +static const unsigned char kat1547_retbits[] = { + 0x93, 0x36, 0x9b, 0xe6, 0x68, 0xd3, 0x7e, 0x36, 0x13, 0x20, 0x84, 0xda, + 0xed, 0x4c, 0x63, 0x7d, 0xff, 0xd8, 0x4c, 0x0b, 0xa4, 0x72, 0x3c, 0x7a, + 0xfb, 0x1c, 0x7b, 0x03, 0x9e, 0x56, 0xd3, 0x02, 0x29, 0x4d, 0x6b, 0xc9, + 0xd2, 0x2c, 0xb2, 0xef, 0x05, 0x87, 0x9a, 0x0e, 0xd9, 0x84, 0x14, 0x09, + 0xbf, 0xdf, 0xfc, 0xb2, 0xec, 0x81, 0x7d, 0xfc, 0xad, 0x47, 0x72, 0x82, + 0x97, 0x87, 0x1f, 0xaf, +}; +static const struct drbg_kat_pr_false kat1547_t = { + 1, kat1547_entropyin, kat1547_nonce, kat1547_persstr, + kat1547_entropyinreseed, kat1547_addinreseed, kat1547_addin0, + kat1547_addin1, kat1547_retbits +}; +static const struct drbg_kat kat1547 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1547_t +}; + +static const unsigned char kat1548_entropyin[] = { + 0x79, 0x6e, 0x5c, 0x41, 0xa5, 0xf5, 0x2c, 0xe0, 0x46, 0x3f, 0xb3, 0xee, + 0xf0, 0x7a, 0x3e, 0x58, +}; +static const unsigned char kat1548_nonce[] = { + 0xdd, 0xdc, 0x93, 0x80, 0x14, 0xb9, 0x09, 0x16, +}; +static const unsigned char kat1548_persstr[] = { + 0x12, 0x6e, 0xd4, 0x4b, 0x14, 0xeb, 0x63, 0x10, 0xd6, 0xa4, 0xae, 0x6b, + 0x29, 0x8a, 0x47, 0x57, +}; +static const unsigned char kat1548_entropyinreseed[] = { + 0xcc, 0x8a, 0x0e, 0x9b, 0xc7, 0x9c, 0xa4, 0xa5, 0x80, 0x7c, 0xdc, 0xcd, + 0x8b, 0xce, 0x3e, 0x5c, +}; +static const unsigned char kat1548_addinreseed[] = { + 0xae, 0x43, 0x6f, 0x84, 0x0b, 0xfa, 0x4b, 0x37, 0x6e, 0x18, 0xc8, 0x56, + 0x56, 0x47, 0x04, 0x0a, +}; +static const unsigned char kat1548_addin0[] = { + 0x92, 0x5d, 0x97, 0xc3, 0x45, 0xee, 0xbe, 0xe3, 0xb9, 0x84, 0x02, 0xe4, + 0x62, 0xdb, 0x0e, 0x05, +}; +static const unsigned char kat1548_addin1[] = { + 0xd7, 0xfe, 0xa1, 0xee, 0x0f, 0xba, 0x88, 0x31, 0xd3, 0xab, 0xb0, 0x3c, + 0x0f, 0xd7, 0xa0, 0x02, +}; +static const unsigned char kat1548_retbits[] = { + 0x50, 0x07, 0xb3, 0x18, 0x52, 0x10, 0xdf, 0xe1, 0xc7, 0xf5, 0x57, 0x7d, + 0x38, 0x59, 0x3f, 0x6b, 0x8a, 0x2e, 0x8a, 0x61, 0x90, 0xb7, 0xe1, 0x4b, + 0x47, 0xd8, 0x6b, 0x0d, 0x90, 0x6f, 0x59, 0xed, 0xdd, 0x38, 0x35, 0xa7, + 0xb1, 0x67, 0xa3, 0x37, 0x44, 0x28, 0xad, 0x95, 0x76, 0x58, 0x8c, 0xd9, + 0xa7, 0x71, 0x2a, 0xd0, 0xbf, 0x71, 0x65, 0xde, 0xc4, 0x3d, 0xc3, 0xda, + 0x5f, 0x11, 0xd0, 0xb9, +}; +static const struct drbg_kat_pr_false kat1548_t = { + 2, kat1548_entropyin, kat1548_nonce, kat1548_persstr, + kat1548_entropyinreseed, kat1548_addinreseed, kat1548_addin0, + kat1548_addin1, kat1548_retbits +}; +static const struct drbg_kat kat1548 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1548_t +}; + +static const unsigned char kat1549_entropyin[] = { + 0x10, 0x25, 0xac, 0x69, 0xe9, 0x78, 0xe4, 0x13, 0x93, 0x9a, 0xcf, 0xd5, + 0x85, 0x9e, 0x95, 0xed, +}; +static const unsigned char kat1549_nonce[] = { + 0x63, 0x8b, 0x9c, 0x36, 0xe2, 0xc7, 0x4d, 0x96, +}; +static const unsigned char kat1549_persstr[] = { + 0x9e, 0xb4, 0x66, 0x76, 0x27, 0x4b, 0x96, 0x5e, 0x9b, 0xdb, 0x06, 0xa6, + 0xe8, 0x84, 0x74, 0xaa, +}; +static const unsigned char kat1549_entropyinreseed[] = { + 0x0b, 0x1f, 0xfa, 0x14, 0x20, 0x98, 0x08, 0x0a, 0xa6, 0xf7, 0xf3, 0x95, + 0x91, 0xcd, 0x29, 0x8b, +}; +static const unsigned char kat1549_addinreseed[] = { + 0xe0, 0x90, 0x18, 0xfa, 0x1e, 0xcc, 0x76, 0x99, 0xd2, 0x3a, 0x95, 0xd2, + 0xea, 0xa2, 0xb7, 0x63, +}; +static const unsigned char kat1549_addin0[] = { + 0x78, 0x89, 0x50, 0x23, 0x52, 0x3f, 0x16, 0xaf, 0x9b, 0x08, 0x53, 0xe8, + 0xe6, 0x88, 0xde, 0xca, +}; +static const unsigned char kat1549_addin1[] = { + 0x7a, 0x3d, 0x33, 0xd8, 0xc4, 0xa6, 0xdb, 0xf6, 0x26, 0x44, 0x07, 0xa5, + 0x43, 0x51, 0x0a, 0x95, +}; +static const unsigned char kat1549_retbits[] = { + 0x4e, 0xdd, 0x23, 0xf4, 0x37, 0x66, 0x46, 0x93, 0x68, 0x94, 0x51, 0xc7, + 0xfd, 0xd5, 0xb5, 0xe9, 0x46, 0x9a, 0x4a, 0xb0, 0xa7, 0x91, 0xdd, 0x69, + 0xa9, 0xc5, 0x5e, 0x6b, 0xc5, 0x18, 0xac, 0x72, 0x7f, 0x84, 0x42, 0x91, + 0xe4, 0x5e, 0xe4, 0x16, 0x13, 0x19, 0x69, 0x07, 0x05, 0x55, 0x3f, 0x1a, + 0x32, 0x0f, 0x78, 0x47, 0xc4, 0x18, 0x11, 0x6e, 0xe0, 0xe1, 0x1c, 0xa6, + 0x52, 0x77, 0xe5, 0xa3, +}; +static const struct drbg_kat_pr_false kat1549_t = { + 3, kat1549_entropyin, kat1549_nonce, kat1549_persstr, + kat1549_entropyinreseed, kat1549_addinreseed, kat1549_addin0, + kat1549_addin1, kat1549_retbits +}; +static const struct drbg_kat kat1549 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1549_t +}; + +static const unsigned char kat1550_entropyin[] = { + 0x31, 0xc2, 0xd2, 0xba, 0xa0, 0x8a, 0x1e, 0x84, 0x0f, 0xbd, 0x39, 0x45, + 0xb1, 0x79, 0x72, 0xfc, +}; +static const unsigned char kat1550_nonce[] = { + 0xa6, 0x2b, 0xb4, 0x53, 0x1b, 0x51, 0x20, 0x8b, +}; +static const unsigned char kat1550_persstr[] = { + 0x17, 0x83, 0x97, 0xb1, 0xee, 0x1e, 0x7c, 0x12, 0xc4, 0xc1, 0x6a, 0x53, + 0x89, 0x32, 0x98, 0x38, +}; +static const unsigned char kat1550_entropyinreseed[] = { + 0x45, 0x56, 0xec, 0x8a, 0xe5, 0xc6, 0x9c, 0x19, 0xa3, 0x97, 0x11, 0xd1, + 0x61, 0x93, 0x2c, 0x38, +}; +static const unsigned char kat1550_addinreseed[] = { + 0x58, 0x9a, 0xd7, 0x84, 0xd2, 0x34, 0x3d, 0x58, 0x89, 0x0e, 0xe6, 0x77, + 0x77, 0x2e, 0x42, 0x4a, +}; +static const unsigned char kat1550_addin0[] = { + 0xd5, 0x92, 0x68, 0x5e, 0x98, 0x55, 0x47, 0x38, 0xa3, 0xaf, 0xdb, 0x2a, + 0x90, 0xa4, 0xda, 0x5e, +}; +static const unsigned char kat1550_addin1[] = { + 0xba, 0x25, 0xfe, 0x15, 0xd5, 0x28, 0x9e, 0x3a, 0x44, 0xbe, 0x7c, 0x51, + 0xcc, 0x49, 0x58, 0xcb, +}; +static const unsigned char kat1550_retbits[] = { + 0xe2, 0x12, 0x01, 0x4a, 0x69, 0xb2, 0xfe, 0xdc, 0xf8, 0xa6, 0x43, 0x2a, + 0xe8, 0xfb, 0xd6, 0x87, 0x6d, 0x57, 0x3d, 0xe2, 0xcf, 0xa3, 0x50, 0x96, + 0x7e, 0x38, 0xee, 0xf5, 0x90, 0xdd, 0x09, 0x75, 0xbb, 0xd7, 0x80, 0xd0, + 0x9f, 0x4b, 0x86, 0x48, 0xd1, 0xbc, 0xe9, 0x61, 0xe7, 0xdb, 0x6f, 0x7a, + 0x91, 0x1b, 0x6b, 0x8d, 0xe2, 0x3f, 0x79, 0x0f, 0x8b, 0x5d, 0x5f, 0xf6, + 0xcb, 0x23, 0xae, 0x66, +}; +static const struct drbg_kat_pr_false kat1550_t = { + 4, kat1550_entropyin, kat1550_nonce, kat1550_persstr, + kat1550_entropyinreseed, kat1550_addinreseed, kat1550_addin0, + kat1550_addin1, kat1550_retbits +}; +static const struct drbg_kat kat1550 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1550_t +}; + +static const unsigned char kat1551_entropyin[] = { + 0xff, 0x59, 0x31, 0xdc, 0x8f, 0x62, 0xd0, 0xbd, 0x4a, 0x5f, 0xbf, 0x31, + 0x1a, 0xf9, 0x3d, 0xdb, +}; +static const unsigned char kat1551_nonce[] = { + 0x69, 0x2f, 0xfe, 0xf2, 0x6e, 0x04, 0xfa, 0x27, +}; +static const unsigned char kat1551_persstr[] = { + 0x57, 0xf9, 0x9c, 0x26, 0x23, 0x45, 0x12, 0xdf, 0x83, 0x5f, 0x3e, 0x39, + 0x1a, 0xca, 0xba, 0xb2, +}; +static const unsigned char kat1551_entropyinreseed[] = { + 0x5f, 0x42, 0x44, 0x76, 0x28, 0x65, 0xf5, 0x49, 0x3b, 0xe9, 0x1d, 0x56, + 0x90, 0xa3, 0x13, 0x91, +}; +static const unsigned char kat1551_addinreseed[] = { + 0x0f, 0x39, 0x87, 0x6d, 0x90, 0x67, 0x78, 0xcc, 0xc8, 0xa2, 0xb1, 0x1d, + 0x71, 0x43, 0x44, 0x2f, +}; +static const unsigned char kat1551_addin0[] = { + 0xd6, 0x1b, 0x39, 0x93, 0x13, 0xb4, 0xd1, 0x3d, 0x50, 0xf8, 0xb2, 0x07, + 0x62, 0xdf, 0x5f, 0x83, +}; +static const unsigned char kat1551_addin1[] = { + 0xe3, 0xca, 0xd6, 0x24, 0x0a, 0xce, 0x0f, 0xeb, 0x62, 0x61, 0xa4, 0x5b, + 0x4a, 0x96, 0x0e, 0x8e, +}; +static const unsigned char kat1551_retbits[] = { + 0xe3, 0x2f, 0xd4, 0x8a, 0x05, 0x02, 0x35, 0xa2, 0x60, 0x4b, 0x4f, 0x2e, + 0xe8, 0xda, 0xfa, 0x36, 0x13, 0x9b, 0x0a, 0xfa, 0x59, 0xcc, 0x64, 0x47, + 0x4c, 0x5c, 0x2c, 0x98, 0x86, 0x39, 0xfb, 0xda, 0x5b, 0xa2, 0x50, 0x7a, + 0x4b, 0x70, 0x56, 0x86, 0x5a, 0xd3, 0xd9, 0x7d, 0x52, 0x96, 0x5e, 0x57, + 0xeb, 0x5b, 0xac, 0x8f, 0xee, 0x26, 0xf1, 0x2d, 0x79, 0xd7, 0xa0, 0x62, + 0xae, 0x6b, 0x5f, 0x67, +}; +static const struct drbg_kat_pr_false kat1551_t = { + 5, kat1551_entropyin, kat1551_nonce, kat1551_persstr, + kat1551_entropyinreseed, kat1551_addinreseed, kat1551_addin0, + kat1551_addin1, kat1551_retbits +}; +static const struct drbg_kat kat1551 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1551_t +}; + +static const unsigned char kat1552_entropyin[] = { + 0x03, 0x22, 0x0b, 0x31, 0xbf, 0xa4, 0xae, 0xa7, 0xe0, 0x17, 0x26, 0x4f, + 0xf7, 0x0f, 0xcb, 0x21, +}; +static const unsigned char kat1552_nonce[] = { + 0xd1, 0x87, 0x3d, 0x93, 0x5f, 0xe6, 0x0d, 0xf4, +}; +static const unsigned char kat1552_persstr[] = { + 0x07, 0x69, 0xe8, 0x60, 0xef, 0x2c, 0x56, 0xff, 0xca, 0x9d, 0x59, 0x1b, + 0x62, 0x89, 0x3f, 0xd0, +}; +static const unsigned char kat1552_entropyinreseed[] = { + 0x81, 0x54, 0x6c, 0xbb, 0x72, 0x1c, 0xe8, 0x82, 0x4c, 0xda, 0x3a, 0x56, + 0xd0, 0x61, 0xac, 0xca, +}; +static const unsigned char kat1552_addinreseed[] = { + 0xf8, 0xf3, 0xed, 0x27, 0x70, 0x9e, 0xfa, 0xa5, 0x6e, 0x35, 0x4a, 0x83, + 0xfc, 0xfe, 0x31, 0x9c, +}; +static const unsigned char kat1552_addin0[] = { + 0xc8, 0xe3, 0x25, 0xcd, 0x78, 0x12, 0x0b, 0x51, 0xb3, 0x3a, 0xd7, 0xa6, + 0xbf, 0x9a, 0x59, 0x2c, +}; +static const unsigned char kat1552_addin1[] = { + 0xf7, 0xd4, 0x32, 0x06, 0xa8, 0x31, 0x3f, 0x7e, 0x12, 0x92, 0x50, 0x21, + 0x5c, 0xb4, 0x91, 0x1b, +}; +static const unsigned char kat1552_retbits[] = { + 0x48, 0xf8, 0x30, 0x2b, 0x5e, 0xaf, 0xc4, 0x51, 0x42, 0x4a, 0x49, 0xd9, + 0x17, 0xdd, 0x48, 0x92, 0x3c, 0x5c, 0xb8, 0x35, 0xff, 0xb1, 0x53, 0x3d, + 0x0f, 0xd0, 0xb2, 0x48, 0xab, 0x07, 0x22, 0xdb, 0xf0, 0xc9, 0xd5, 0x36, + 0x10, 0x77, 0x1a, 0xaa, 0xc9, 0xc0, 0x39, 0x93, 0xfa, 0x43, 0x29, 0x3c, + 0xc7, 0x08, 0x3f, 0xf1, 0x16, 0x8c, 0x23, 0xb2, 0xe6, 0x18, 0x76, 0x10, + 0x58, 0xaf, 0x79, 0x7b, +}; +static const struct drbg_kat_pr_false kat1552_t = { + 6, kat1552_entropyin, kat1552_nonce, kat1552_persstr, + kat1552_entropyinreseed, kat1552_addinreseed, kat1552_addin0, + kat1552_addin1, kat1552_retbits +}; +static const struct drbg_kat kat1552 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1552_t +}; + +static const unsigned char kat1553_entropyin[] = { + 0xc5, 0xdf, 0x14, 0x5c, 0xbc, 0x99, 0xc3, 0xfe, 0x24, 0x3e, 0x46, 0xa8, + 0xad, 0x5b, 0xe5, 0xd8, +}; +static const unsigned char kat1553_nonce[] = { + 0x81, 0xe5, 0x45, 0x62, 0x57, 0x9d, 0x40, 0x32, +}; +static const unsigned char kat1553_persstr[] = { + 0xb2, 0x8e, 0x1d, 0xa0, 0xaf, 0x72, 0x17, 0x6e, 0xc1, 0xf7, 0x67, 0xc9, + 0x72, 0xfd, 0x95, 0x58, +}; +static const unsigned char kat1553_entropyinreseed[] = { + 0x54, 0x6e, 0x46, 0x94, 0xc6, 0x13, 0x0c, 0x48, 0x3c, 0x36, 0xd6, 0x97, + 0x18, 0xac, 0x2b, 0x73, +}; +static const unsigned char kat1553_addinreseed[] = { + 0x78, 0xe0, 0x52, 0x40, 0xcf, 0xf4, 0x3b, 0x62, 0x86, 0x25, 0x85, 0x00, + 0x59, 0x68, 0xad, 0xf3, +}; +static const unsigned char kat1553_addin0[] = { + 0x56, 0x4c, 0x3f, 0xb6, 0x2e, 0x54, 0x22, 0x91, 0xfc, 0x3c, 0x6e, 0xdf, + 0xaa, 0x4d, 0x4d, 0xfb, +}; +static const unsigned char kat1553_addin1[] = { + 0x86, 0x96, 0x55, 0x63, 0x37, 0x3f, 0x3a, 0x49, 0x9c, 0x78, 0x39, 0x64, + 0x23, 0xe8, 0xd5, 0xdc, +}; +static const unsigned char kat1553_retbits[] = { + 0x3f, 0xf8, 0x22, 0x6d, 0x9a, 0x38, 0xaf, 0xaa, 0x89, 0x09, 0xbf, 0xbd, + 0xb3, 0xd8, 0x49, 0xab, 0xb3, 0x68, 0x96, 0xe3, 0x24, 0x1c, 0x96, 0x51, + 0x0d, 0x32, 0xea, 0x82, 0xcc, 0xd9, 0xa7, 0x7c, 0xf2, 0x6f, 0x30, 0xa0, + 0x49, 0x20, 0xfb, 0x2e, 0xdd, 0xb8, 0xe0, 0x6a, 0x32, 0xa6, 0xb1, 0x07, + 0xa2, 0xd2, 0x83, 0x53, 0x30, 0xb8, 0xf0, 0x3b, 0xf4, 0x03, 0x0d, 0xc2, + 0xc4, 0x45, 0xe0, 0xb7, +}; +static const struct drbg_kat_pr_false kat1553_t = { + 7, kat1553_entropyin, kat1553_nonce, kat1553_persstr, + kat1553_entropyinreseed, kat1553_addinreseed, kat1553_addin0, + kat1553_addin1, kat1553_retbits +}; +static const struct drbg_kat kat1553 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1553_t +}; + +static const unsigned char kat1554_entropyin[] = { + 0xdd, 0xb0, 0x6d, 0x7b, 0x03, 0x3f, 0xcf, 0x77, 0x0b, 0x11, 0x83, 0xc2, + 0xf1, 0x0d, 0x96, 0x86, +}; +static const unsigned char kat1554_nonce[] = { + 0xda, 0x0f, 0xc8, 0xb8, 0x90, 0x8c, 0xa9, 0x51, +}; +static const unsigned char kat1554_persstr[] = { + 0x7b, 0x6c, 0x6c, 0x25, 0x82, 0x96, 0x94, 0xd5, 0x01, 0x93, 0xc6, 0x9e, + 0xdc, 0xfc, 0x8b, 0xc8, +}; +static const unsigned char kat1554_entropyinreseed[] = { + 0xf1, 0x93, 0xe2, 0x16, 0x60, 0x1e, 0xce, 0x77, 0x0c, 0x56, 0xe8, 0x3f, + 0xb5, 0x9b, 0x80, 0xe1, +}; +static const unsigned char kat1554_addinreseed[] = { + 0xad, 0xbf, 0x18, 0xcd, 0xae, 0x2f, 0x01, 0x7b, 0x47, 0x41, 0xe6, 0x5b, + 0xa1, 0xc4, 0xd0, 0x67, +}; +static const unsigned char kat1554_addin0[] = { + 0x3d, 0x10, 0x96, 0x98, 0x43, 0x2a, 0xbb, 0x85, 0x6e, 0xab, 0xc1, 0x94, + 0x55, 0x91, 0xa4, 0x85, +}; +static const unsigned char kat1554_addin1[] = { + 0x98, 0xda, 0x85, 0x12, 0x63, 0xc0, 0x2a, 0xdd, 0x5c, 0xce, 0x6d, 0x0a, + 0x07, 0x6a, 0xb6, 0x58, +}; +static const unsigned char kat1554_retbits[] = { + 0x44, 0xff, 0xaa, 0x62, 0x77, 0xf2, 0x9d, 0xd7, 0x71, 0x02, 0x42, 0x80, + 0xdb, 0xed, 0x72, 0x8a, 0x29, 0x8c, 0x2b, 0x02, 0x54, 0xff, 0xa8, 0x77, + 0x40, 0x20, 0xf8, 0x49, 0xaf, 0x3d, 0x97, 0x9c, 0xbf, 0xa2, 0x6a, 0xbe, + 0x7f, 0x4a, 0x08, 0x02, 0x70, 0x38, 0x91, 0xd9, 0xf7, 0x91, 0xab, 0x5a, + 0x61, 0x80, 0x88, 0xbe, 0xfa, 0x3c, 0xc4, 0x30, 0x7b, 0x2f, 0x6a, 0xd4, + 0xa4, 0x39, 0x1b, 0xb4, +}; +static const struct drbg_kat_pr_false kat1554_t = { + 8, kat1554_entropyin, kat1554_nonce, kat1554_persstr, + kat1554_entropyinreseed, kat1554_addinreseed, kat1554_addin0, + kat1554_addin1, kat1554_retbits +}; +static const struct drbg_kat kat1554 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1554_t +}; + +static const unsigned char kat1555_entropyin[] = { + 0x55, 0x8e, 0x28, 0x13, 0x7d, 0xb0, 0xf6, 0x51, 0xdc, 0x66, 0x8e, 0x0f, + 0x7e, 0xa5, 0x90, 0x26, +}; +static const unsigned char kat1555_nonce[] = { + 0x82, 0xd6, 0x4d, 0xae, 0xd7, 0x73, 0x09, 0x63, +}; +static const unsigned char kat1555_persstr[] = { + 0x94, 0xaf, 0x43, 0x25, 0xec, 0x75, 0x22, 0x73, 0x9e, 0xb7, 0xb1, 0x44, + 0x59, 0x36, 0xd6, 0xea, +}; +static const unsigned char kat1555_entropyinreseed[] = { + 0x16, 0xea, 0xf7, 0xd9, 0x2a, 0xb4, 0xdc, 0x77, 0x63, 0x8c, 0xd7, 0x55, + 0xf3, 0x83, 0xef, 0x22, +}; +static const unsigned char kat1555_addinreseed[] = { + 0xa2, 0x96, 0x2f, 0xef, 0xf8, 0x92, 0x8b, 0x31, 0xfb, 0x53, 0xa0, 0x7f, + 0xd1, 0xce, 0xec, 0xcd, +}; +static const unsigned char kat1555_addin0[] = { + 0x0a, 0xd8, 0x33, 0x31, 0x71, 0xb7, 0xd8, 0xed, 0xe9, 0x00, 0xf7, 0xfc, + 0xa0, 0x3f, 0xd4, 0x49, +}; +static const unsigned char kat1555_addin1[] = { + 0x31, 0xad, 0xc1, 0x4d, 0xca, 0xe1, 0x50, 0x33, 0x1e, 0x7e, 0x02, 0xee, + 0x4c, 0x17, 0x70, 0x6b, +}; +static const unsigned char kat1555_retbits[] = { + 0x78, 0xb0, 0xff, 0x4c, 0xe1, 0x59, 0xdd, 0xd5, 0x03, 0x06, 0x2f, 0x55, + 0x3c, 0x68, 0x59, 0x4f, 0xec, 0x39, 0x4b, 0xf4, 0xb2, 0x5e, 0x64, 0xba, + 0x8a, 0xf4, 0xbb, 0x2b, 0x7c, 0xa5, 0xee, 0x87, 0x67, 0x63, 0x4c, 0xba, + 0x2f, 0xef, 0x9b, 0x32, 0xae, 0x28, 0x3d, 0x19, 0x51, 0xf4, 0xb9, 0x8d, + 0x46, 0xa9, 0x98, 0xe7, 0xf3, 0x58, 0xc7, 0x14, 0xa9, 0x5a, 0xff, 0xaf, + 0x41, 0xdf, 0xeb, 0x17, +}; +static const struct drbg_kat_pr_false kat1555_t = { + 9, kat1555_entropyin, kat1555_nonce, kat1555_persstr, + kat1555_entropyinreseed, kat1555_addinreseed, kat1555_addin0, + kat1555_addin1, kat1555_retbits +}; +static const struct drbg_kat kat1555 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1555_t +}; + +static const unsigned char kat1556_entropyin[] = { + 0xb7, 0xad, 0x56, 0x79, 0xf6, 0x81, 0x42, 0xa8, 0x47, 0x6c, 0x98, 0xab, + 0xc2, 0xbb, 0x1d, 0x83, +}; +static const unsigned char kat1556_nonce[] = { + 0x75, 0x79, 0xdc, 0x55, 0xc5, 0x05, 0xd7, 0x95, +}; +static const unsigned char kat1556_persstr[] = { + 0xa5, 0xa7, 0x3e, 0x8c, 0x50, 0x1b, 0x5f, 0xe5, 0x46, 0xc3, 0xc1, 0x9b, + 0x9d, 0x3c, 0xd0, 0x93, +}; +static const unsigned char kat1556_entropyinreseed[] = { + 0xe2, 0x66, 0xaf, 0x41, 0x00, 0x60, 0x10, 0xd3, 0xdd, 0x51, 0x64, 0x23, + 0xba, 0x80, 0x0d, 0x92, +}; +static const unsigned char kat1556_addinreseed[] = { + 0x15, 0x7a, 0x5e, 0x19, 0xf7, 0xe5, 0x58, 0xa4, 0x9f, 0x1f, 0x71, 0xb6, + 0xaa, 0xee, 0x14, 0xa3, +}; +static const unsigned char kat1556_addin0[] = { + 0x37, 0xd3, 0x49, 0x2c, 0xbe, 0xfc, 0xb8, 0x9b, 0x05, 0x6f, 0xe1, 0x29, + 0x0a, 0x09, 0x5f, 0x4a, +}; +static const unsigned char kat1556_addin1[] = { + 0xd2, 0x1d, 0x69, 0x26, 0x33, 0x48, 0x3a, 0x67, 0x6b, 0x0b, 0x30, 0xb3, + 0x56, 0x51, 0xdf, 0x96, +}; +static const unsigned char kat1556_retbits[] = { + 0xbc, 0x7e, 0x1f, 0x78, 0x74, 0xd0, 0x4f, 0xb0, 0x00, 0x59, 0x86, 0x9e, + 0x11, 0xd7, 0xf4, 0x7e, 0xb3, 0xc1, 0x75, 0x16, 0xa0, 0x58, 0xc1, 0x95, + 0x15, 0x1b, 0x33, 0x10, 0x92, 0x3e, 0x63, 0x15, 0x53, 0xca, 0x6b, 0x8f, + 0xe0, 0x70, 0x74, 0x2a, 0x07, 0xc2, 0xa2, 0x3c, 0x3c, 0x3a, 0xba, 0xc0, + 0x47, 0x34, 0x78, 0xc0, 0x4a, 0x06, 0x6e, 0x5e, 0x13, 0x77, 0x1f, 0xf7, + 0xd5, 0x17, 0x68, 0x6b, +}; +static const struct drbg_kat_pr_false kat1556_t = { + 10, kat1556_entropyin, kat1556_nonce, kat1556_persstr, + kat1556_entropyinreseed, kat1556_addinreseed, kat1556_addin0, + kat1556_addin1, kat1556_retbits +}; +static const struct drbg_kat kat1556 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1556_t +}; + +static const unsigned char kat1557_entropyin[] = { + 0x70, 0x10, 0xa5, 0x5c, 0x31, 0xbb, 0x9a, 0x36, 0x57, 0x8d, 0xcc, 0x9c, + 0xe3, 0xff, 0xe5, 0xd9, +}; +static const unsigned char kat1557_nonce[] = { + 0xce, 0x8b, 0x37, 0xc1, 0xf7, 0xb0, 0xd9, 0x79, +}; +static const unsigned char kat1557_persstr[] = { + 0x9a, 0xd0, 0xde, 0x6c, 0x71, 0x01, 0x73, 0x2f, 0xdc, 0x60, 0x0e, 0x51, + 0xfa, 0xd1, 0x39, 0x0c, +}; +static const unsigned char kat1557_entropyinreseed[] = { + 0xdc, 0x15, 0x7b, 0xf6, 0x8f, 0x16, 0x0b, 0x84, 0x82, 0x13, 0x19, 0xe6, + 0x9a, 0xee, 0xc3, 0x3b, +}; +static const unsigned char kat1557_addinreseed[] = { + 0x6e, 0x7a, 0x5c, 0x5f, 0x08, 0x29, 0x9f, 0xa4, 0xd4, 0x55, 0x6c, 0xea, + 0xa2, 0x52, 0x7b, 0x3f, +}; +static const unsigned char kat1557_addin0[] = { + 0x6e, 0x1f, 0x9c, 0xa8, 0xdc, 0x3d, 0x22, 0xa2, 0x6e, 0xca, 0x83, 0x59, + 0x53, 0xb5, 0xa8, 0xda, +}; +static const unsigned char kat1557_addin1[] = { + 0xb8, 0xb3, 0x8c, 0x7a, 0x3c, 0x5c, 0xd5, 0x87, 0xe9, 0xf1, 0xf9, 0x4e, + 0xb1, 0xf2, 0xdf, 0x41, +}; +static const unsigned char kat1557_retbits[] = { + 0xc8, 0x4e, 0x93, 0xd1, 0x68, 0xf8, 0x79, 0x55, 0xf1, 0x75, 0x13, 0x11, + 0x2f, 0xd1, 0xf4, 0xf2, 0xaf, 0x7f, 0xe6, 0x91, 0x53, 0xda, 0x7e, 0x50, + 0x5e, 0x83, 0x74, 0x0b, 0x29, 0x29, 0x85, 0x33, 0x67, 0x24, 0xdd, 0xf4, + 0x6c, 0x26, 0xec, 0x4d, 0x2c, 0x45, 0xfd, 0x88, 0x36, 0x9b, 0x5f, 0x65, + 0xdb, 0x8a, 0x87, 0x58, 0x93, 0x4c, 0x8a, 0x82, 0x9c, 0xc7, 0x86, 0x21, + 0x8d, 0x26, 0xe9, 0x71, +}; +static const struct drbg_kat_pr_false kat1557_t = { + 11, kat1557_entropyin, kat1557_nonce, kat1557_persstr, + kat1557_entropyinreseed, kat1557_addinreseed, kat1557_addin0, + kat1557_addin1, kat1557_retbits +}; +static const struct drbg_kat kat1557 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1557_t +}; + +static const unsigned char kat1558_entropyin[] = { + 0x72, 0xf6, 0x75, 0x87, 0xaa, 0x67, 0xc3, 0x48, 0xee, 0x5c, 0x01, 0xc9, + 0x88, 0xa0, 0x76, 0xfa, +}; +static const unsigned char kat1558_nonce[] = { + 0xab, 0x35, 0x82, 0x53, 0x87, 0x29, 0x5d, 0x4d, +}; +static const unsigned char kat1558_persstr[] = { + 0xa9, 0x1d, 0xb3, 0x2b, 0x93, 0xdd, 0x5c, 0xc3, 0xac, 0x4a, 0x61, 0x61, + 0xb2, 0x5b, 0xee, 0x77, +}; +static const unsigned char kat1558_entropyinreseed[] = { + 0x8f, 0xb8, 0x0d, 0x67, 0x70, 0x48, 0xd2, 0x56, 0x4d, 0x39, 0x49, 0xb9, + 0xb9, 0x57, 0x9c, 0xc4, +}; +static const unsigned char kat1558_addinreseed[] = { + 0x43, 0x06, 0xa4, 0xad, 0xbc, 0xd0, 0xdc, 0x8c, 0xc2, 0xf8, 0x19, 0x91, + 0xe1, 0x29, 0x11, 0xdc, +}; +static const unsigned char kat1558_addin0[] = { + 0x62, 0x0f, 0xdf, 0x28, 0x7f, 0x77, 0x7c, 0x67, 0xb6, 0x2d, 0xd0, 0x41, + 0x84, 0xc4, 0x88, 0xa8, +}; +static const unsigned char kat1558_addin1[] = { + 0x84, 0x28, 0xf2, 0x06, 0x7d, 0xfc, 0xda, 0xcc, 0xf5, 0x43, 0x99, 0xd0, + 0xb7, 0x93, 0x4a, 0xab, +}; +static const unsigned char kat1558_retbits[] = { + 0x5b, 0xfe, 0xf8, 0x58, 0x39, 0x87, 0x9d, 0x9e, 0x95, 0x53, 0xa2, 0xfd, + 0x24, 0xf3, 0x5a, 0xa8, 0x19, 0x9a, 0x09, 0x17, 0x75, 0xd2, 0xcd, 0x91, + 0x17, 0x32, 0x70, 0xe1, 0x41, 0xa5, 0x86, 0x69, 0xb1, 0x92, 0xe8, 0xe5, + 0xb3, 0x57, 0xc5, 0x7c, 0x02, 0xbd, 0x22, 0x80, 0xe2, 0x29, 0x82, 0x97, + 0x25, 0x59, 0x6c, 0xb9, 0x60, 0x86, 0xbb, 0x08, 0x38, 0x22, 0x7b, 0x00, + 0x20, 0x9c, 0x9a, 0x72, +}; +static const struct drbg_kat_pr_false kat1558_t = { + 12, kat1558_entropyin, kat1558_nonce, kat1558_persstr, + kat1558_entropyinreseed, kat1558_addinreseed, kat1558_addin0, + kat1558_addin1, kat1558_retbits +}; +static const struct drbg_kat kat1558 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1558_t +}; + +static const unsigned char kat1559_entropyin[] = { + 0x1d, 0x29, 0x22, 0xab, 0x37, 0x4b, 0xe1, 0xe7, 0x43, 0x69, 0x5d, 0xc9, + 0x99, 0x9d, 0xbf, 0x59, +}; +static const unsigned char kat1559_nonce[] = { + 0x30, 0x94, 0x60, 0xd3, 0xe0, 0xae, 0xe3, 0x22, +}; +static const unsigned char kat1559_persstr[] = { + 0x72, 0xbe, 0x1c, 0x15, 0xd3, 0xeb, 0x98, 0x56, 0x6b, 0x36, 0x7e, 0x72, + 0x70, 0xc4, 0xf9, 0xc8, +}; +static const unsigned char kat1559_entropyinreseed[] = { + 0x0d, 0x57, 0x20, 0x1d, 0x23, 0x0c, 0x4c, 0x88, 0xc7, 0x7f, 0x54, 0xe3, + 0xdb, 0x0d, 0xa7, 0xe7, +}; +static const unsigned char kat1559_addinreseed[] = { + 0x4f, 0x01, 0x9e, 0xaf, 0x1a, 0x93, 0xa2, 0xd5, 0xac, 0x3b, 0x68, 0xac, + 0xbf, 0x7f, 0xa5, 0x7a, +}; +static const unsigned char kat1559_addin0[] = { + 0x0c, 0xf8, 0x2b, 0x0c, 0x4d, 0xc6, 0xf6, 0x07, 0x0c, 0x89, 0x72, 0x7c, + 0x71, 0xa8, 0x70, 0xfa, +}; +static const unsigned char kat1559_addin1[] = { + 0x36, 0x7d, 0x49, 0x81, 0x61, 0x45, 0xff, 0x60, 0x79, 0x52, 0x81, 0x42, + 0xec, 0x98, 0x76, 0xc6, +}; +static const unsigned char kat1559_retbits[] = { + 0xf0, 0x38, 0xa7, 0x9f, 0x9f, 0x82, 0xe2, 0x61, 0x35, 0xf2, 0xe7, 0xaa, + 0x67, 0x8b, 0xe9, 0x26, 0x2a, 0x7b, 0xe0, 0xe3, 0xab, 0x1c, 0x2e, 0x6a, + 0x9c, 0x37, 0xfd, 0x6f, 0xc8, 0xf5, 0x8c, 0xb4, 0x90, 0xb5, 0x55, 0xa6, + 0xac, 0xb2, 0x4b, 0x35, 0x58, 0xca, 0x94, 0x11, 0x87, 0x35, 0x6f, 0x92, + 0xd0, 0xe7, 0xa5, 0xba, 0xd3, 0x01, 0xa9, 0x62, 0xf0, 0x61, 0x81, 0xbd, + 0x70, 0x07, 0x85, 0x65, +}; +static const struct drbg_kat_pr_false kat1559_t = { + 13, kat1559_entropyin, kat1559_nonce, kat1559_persstr, + kat1559_entropyinreseed, kat1559_addinreseed, kat1559_addin0, + kat1559_addin1, kat1559_retbits +}; +static const struct drbg_kat kat1559 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1559_t +}; + +static const unsigned char kat1560_entropyin[] = { + 0x10, 0xcb, 0xf4, 0x46, 0x08, 0xfd, 0xa4, 0x8f, 0xd6, 0xed, 0x57, 0x2f, + 0xa4, 0xff, 0xe7, 0xeb, +}; +static const unsigned char kat1560_nonce[] = { + 0x6a, 0xa3, 0x47, 0xc4, 0x8d, 0xc8, 0x09, 0xc3, +}; +static const unsigned char kat1560_persstr[] = { + 0x1b, 0x58, 0x98, 0xe0, 0xd1, 0x49, 0xe5, 0x03, 0x6a, 0x63, 0x96, 0xb8, + 0x54, 0xd2, 0xc4, 0xa6, +}; +static const unsigned char kat1560_entropyinreseed[] = { + 0x80, 0x2f, 0x1b, 0x3b, 0xea, 0x91, 0x62, 0xb6, 0x9b, 0x3b, 0x60, 0xfa, + 0xca, 0x95, 0xba, 0xcf, +}; +static const unsigned char kat1560_addinreseed[] = { + 0x72, 0x27, 0x29, 0x66, 0x4b, 0xe0, 0xae, 0x80, 0x77, 0x43, 0x7f, 0x59, + 0x22, 0x9e, 0xb5, 0x1d, +}; +static const unsigned char kat1560_addin0[] = { + 0x38, 0xc3, 0x91, 0x83, 0xea, 0xd3, 0x58, 0x59, 0xc7, 0xc7, 0x5e, 0xd1, + 0x04, 0x2b, 0x9c, 0xba, +}; +static const unsigned char kat1560_addin1[] = { + 0x0c, 0x75, 0xef, 0x35, 0x7c, 0x72, 0x16, 0x04, 0xef, 0x2e, 0x11, 0x86, + 0xf6, 0x56, 0xf5, 0x6a, +}; +static const unsigned char kat1560_retbits[] = { + 0xa7, 0x0e, 0xfa, 0x58, 0x9e, 0x73, 0xb5, 0xb5, 0x2d, 0xfa, 0x07, 0x7d, + 0xd0, 0x2b, 0x25, 0x6b, 0xc8, 0xb9, 0x71, 0x8f, 0x08, 0xd3, 0x54, 0x45, + 0x44, 0x56, 0xe1, 0xf1, 0xa5, 0x6c, 0x00, 0x52, 0x1c, 0x0d, 0x63, 0xfe, + 0xd3, 0x02, 0xcc, 0x67, 0x0f, 0xd5, 0x64, 0x6c, 0xec, 0x56, 0x91, 0xf8, + 0xb6, 0xae, 0x2e, 0xa8, 0x89, 0x27, 0xce, 0xcb, 0xd3, 0x48, 0xe2, 0xe7, + 0x74, 0x83, 0x01, 0x31, +}; +static const struct drbg_kat_pr_false kat1560_t = { + 14, kat1560_entropyin, kat1560_nonce, kat1560_persstr, + kat1560_entropyinreseed, kat1560_addinreseed, kat1560_addin0, + kat1560_addin1, kat1560_retbits +}; +static const struct drbg_kat kat1560 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1560_t +}; + +static const unsigned char kat1561_entropyin[] = { + 0x84, 0x52, 0x29, 0xe4, 0x2c, 0x4b, 0x39, 0xc4, 0x15, 0x73, 0x54, 0x4f, + 0xca, 0x83, 0x8c, 0x2f, +}; +static const unsigned char kat1561_nonce[] = { + 0xbc, 0xb2, 0x3a, 0x5b, 0x7b, 0x28, 0x0c, 0x41, +}; +static const unsigned char kat1561_persstr[] = {0}; +static const unsigned char kat1561_entropyinreseed[] = { + 0xe5, 0x49, 0xf5, 0x81, 0x5a, 0xd3, 0x29, 0x53, 0xb1, 0x15, 0xb8, 0xda, + 0x6d, 0x2c, 0x3d, 0xc9, +}; +static const unsigned char kat1561_addinreseed[] = {0}; +static const unsigned char kat1561_addin0[] = {0}; +static const unsigned char kat1561_addin1[] = {0}; +static const unsigned char kat1561_retbits[] = { + 0x45, 0x33, 0x8b, 0xb6, 0x7d, 0x27, 0x31, 0xc9, 0xf6, 0x2e, 0xad, 0x90, + 0x4a, 0x61, 0xeb, 0x81, 0x6f, 0x93, 0xef, 0xe0, 0x60, 0x5f, 0xb4, 0x49, + 0x5f, 0x92, 0x52, 0x1d, 0x95, 0x53, 0xad, 0xfc, 0x5c, 0x1b, 0x02, 0x30, + 0x21, 0x6d, 0x4c, 0x2a, 0x38, 0x4f, 0x7a, 0xe1, 0x62, 0xff, 0x63, 0x19, + 0xfb, 0xdc, 0x4e, 0x11, 0x08, 0x44, 0x6f, 0x33, 0x72, 0xfb, 0x6b, 0xa5, + 0xcd, 0x6d, 0xe2, 0x1e, +}; +static const struct drbg_kat_pr_false kat1561_t = { + 0, kat1561_entropyin, kat1561_nonce, kat1561_persstr, + kat1561_entropyinreseed, kat1561_addinreseed, kat1561_addin0, + kat1561_addin1, kat1561_retbits +}; +static const struct drbg_kat kat1561 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1561_t +}; + +static const unsigned char kat1562_entropyin[] = { + 0x61, 0x70, 0x1c, 0x00, 0xf4, 0x7f, 0x25, 0x49, 0x3a, 0xff, 0x86, 0x62, + 0x7e, 0x13, 0x40, 0x3a, +}; +static const unsigned char kat1562_nonce[] = { + 0x80, 0xae, 0x97, 0xde, 0x15, 0x47, 0x3f, 0x70, +}; +static const unsigned char kat1562_persstr[] = {0}; +static const unsigned char kat1562_entropyinreseed[] = { + 0x82, 0xb5, 0x77, 0x72, 0x75, 0x3d, 0xf2, 0xe7, 0x77, 0x6d, 0x63, 0xee, + 0x97, 0x51, 0x16, 0xb4, +}; +static const unsigned char kat1562_addinreseed[] = {0}; +static const unsigned char kat1562_addin0[] = {0}; +static const unsigned char kat1562_addin1[] = {0}; +static const unsigned char kat1562_retbits[] = { + 0x8a, 0x5b, 0x20, 0x99, 0xd2, 0x91, 0xbb, 0xd2, 0x1b, 0xcb, 0x47, 0x9d, + 0x37, 0xa4, 0x08, 0x2f, 0x02, 0x8d, 0xcd, 0xf1, 0xc0, 0x42, 0xce, 0xbd, + 0x5e, 0xc2, 0xdd, 0xbf, 0x58, 0x67, 0xb5, 0xee, 0x60, 0xef, 0xf1, 0xb1, + 0xdc, 0xdd, 0xd7, 0x6f, 0xe4, 0x41, 0x6f, 0x22, 0x9c, 0xab, 0x3a, 0xd6, + 0x5a, 0xbc, 0x9b, 0x57, 0xce, 0xbb, 0x31, 0x89, 0x09, 0xfe, 0xae, 0x4c, + 0x1a, 0x2d, 0xb1, 0xc6, +}; +static const struct drbg_kat_pr_false kat1562_t = { + 1, kat1562_entropyin, kat1562_nonce, kat1562_persstr, + kat1562_entropyinreseed, kat1562_addinreseed, kat1562_addin0, + kat1562_addin1, kat1562_retbits +}; +static const struct drbg_kat kat1562 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1562_t +}; + +static const unsigned char kat1563_entropyin[] = { + 0xb5, 0x79, 0xa2, 0x5f, 0x3d, 0x28, 0x5b, 0xf8, 0xe5, 0xc6, 0x52, 0xc2, + 0x43, 0x2f, 0x33, 0xae, +}; +static const unsigned char kat1563_nonce[] = { + 0x26, 0x12, 0x91, 0x69, 0x9d, 0x89, 0x18, 0x89, +}; +static const unsigned char kat1563_persstr[] = {0}; +static const unsigned char kat1563_entropyinreseed[] = { + 0x8a, 0x7d, 0xa7, 0xae, 0x82, 0x37, 0x2e, 0x50, 0xdc, 0xa2, 0xdd, 0x7c, + 0xbf, 0x4a, 0x97, 0xe8, +}; +static const unsigned char kat1563_addinreseed[] = {0}; +static const unsigned char kat1563_addin0[] = {0}; +static const unsigned char kat1563_addin1[] = {0}; +static const unsigned char kat1563_retbits[] = { + 0x8a, 0xb1, 0xe7, 0x5d, 0x31, 0x2a, 0xa8, 0xa1, 0xfd, 0x7d, 0x29, 0xf1, + 0x52, 0x70, 0xaf, 0xad, 0x72, 0xa4, 0x29, 0xa7, 0xd0, 0x9c, 0xc0, 0xf0, + 0xc3, 0x33, 0x16, 0xa7, 0x3e, 0x33, 0xb3, 0xa6, 0x15, 0x53, 0x2f, 0xf6, + 0x0c, 0xec, 0x57, 0x4b, 0x4c, 0x2f, 0x4e, 0xc3, 0xee, 0x8b, 0xda, 0xf9, + 0x18, 0x2b, 0x22, 0x50, 0xb7, 0x0e, 0xaa, 0x66, 0x51, 0x49, 0x52, 0xce, + 0xca, 0x9d, 0xfd, 0x87, +}; +static const struct drbg_kat_pr_false kat1563_t = { + 2, kat1563_entropyin, kat1563_nonce, kat1563_persstr, + kat1563_entropyinreseed, kat1563_addinreseed, kat1563_addin0, + kat1563_addin1, kat1563_retbits +}; +static const struct drbg_kat kat1563 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1563_t +}; + +static const unsigned char kat1564_entropyin[] = { + 0x76, 0x53, 0xfd, 0x17, 0xaa, 0xd2, 0x24, 0x50, 0x6e, 0x9d, 0x76, 0x70, + 0xf6, 0x50, 0x9d, 0x77, +}; +static const unsigned char kat1564_nonce[] = { + 0xb6, 0x20, 0x54, 0x11, 0xba, 0x31, 0x3c, 0xbb, +}; +static const unsigned char kat1564_persstr[] = {0}; +static const unsigned char kat1564_entropyinreseed[] = { + 0x40, 0x45, 0x5e, 0x2f, 0x14, 0x84, 0xc8, 0x9a, 0x0f, 0x54, 0x51, 0xab, + 0x09, 0xa9, 0x00, 0x08, +}; +static const unsigned char kat1564_addinreseed[] = {0}; +static const unsigned char kat1564_addin0[] = {0}; +static const unsigned char kat1564_addin1[] = {0}; +static const unsigned char kat1564_retbits[] = { + 0x39, 0xa4, 0x68, 0x70, 0xb1, 0x6f, 0xb1, 0x34, 0xa4, 0x4e, 0xe6, 0x23, + 0x9b, 0x0a, 0x16, 0x89, 0x91, 0x5b, 0x17, 0x5d, 0xe5, 0x1c, 0x8a, 0xcf, + 0x12, 0xac, 0x54, 0xd4, 0x2a, 0x90, 0x37, 0x65, 0x30, 0xd8, 0xd9, 0x9b, + 0x27, 0x74, 0xf2, 0xda, 0x48, 0xc6, 0xd0, 0xf0, 0x0d, 0x63, 0xec, 0x72, + 0x1b, 0x29, 0x2e, 0xd3, 0xf0, 0x60, 0xea, 0xb8, 0x49, 0x0d, 0x0e, 0xf3, + 0x84, 0x35, 0x72, 0xff, +}; +static const struct drbg_kat_pr_false kat1564_t = { + 3, kat1564_entropyin, kat1564_nonce, kat1564_persstr, + kat1564_entropyinreseed, kat1564_addinreseed, kat1564_addin0, + kat1564_addin1, kat1564_retbits +}; +static const struct drbg_kat kat1564 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1564_t +}; + +static const unsigned char kat1565_entropyin[] = { + 0xd3, 0x0a, 0xa7, 0x41, 0x44, 0xd9, 0xe9, 0x3d, 0x9d, 0x89, 0xfa, 0x4f, + 0x02, 0x96, 0x6c, 0x98, +}; +static const unsigned char kat1565_nonce[] = { + 0xfd, 0x1a, 0x5f, 0x8b, 0x22, 0xc1, 0xe3, 0x82, +}; +static const unsigned char kat1565_persstr[] = {0}; +static const unsigned char kat1565_entropyinreseed[] = { + 0x58, 0x28, 0xa6, 0x4e, 0xf3, 0x09, 0xec, 0x94, 0x45, 0xff, 0xeb, 0x42, + 0x84, 0xf2, 0x49, 0xed, +}; +static const unsigned char kat1565_addinreseed[] = {0}; +static const unsigned char kat1565_addin0[] = {0}; +static const unsigned char kat1565_addin1[] = {0}; +static const unsigned char kat1565_retbits[] = { + 0xa0, 0xae, 0xb5, 0x94, 0xe5, 0xff, 0xec, 0x52, 0x61, 0x07, 0x61, 0x20, + 0xa7, 0x95, 0x15, 0x0d, 0x41, 0x90, 0x23, 0x63, 0x31, 0xbf, 0x13, 0xcd, + 0x6b, 0x99, 0x4c, 0xbc, 0x61, 0xc3, 0xa7, 0x00, 0x62, 0x28, 0xc8, 0xa6, + 0x09, 0x0c, 0xcc, 0x63, 0x38, 0x77, 0xe3, 0x72, 0xe1, 0xfa, 0x46, 0x9a, + 0x75, 0x35, 0x04, 0xf0, 0xee, 0x9d, 0x79, 0x46, 0x73, 0x59, 0xf7, 0x1c, + 0x1d, 0xff, 0xd8, 0x1e, +}; +static const struct drbg_kat_pr_false kat1565_t = { + 4, kat1565_entropyin, kat1565_nonce, kat1565_persstr, + kat1565_entropyinreseed, kat1565_addinreseed, kat1565_addin0, + kat1565_addin1, kat1565_retbits +}; +static const struct drbg_kat kat1565 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1565_t +}; + +static const unsigned char kat1566_entropyin[] = { + 0x9c, 0x9b, 0xf9, 0xef, 0xf8, 0xfb, 0x95, 0xea, 0x6a, 0x44, 0x54, 0x06, + 0xdb, 0xf2, 0x58, 0xc6, +}; +static const unsigned char kat1566_nonce[] = { + 0xef, 0xa8, 0x3a, 0x3b, 0xab, 0x1f, 0x4c, 0x1b, +}; +static const unsigned char kat1566_persstr[] = {0}; +static const unsigned char kat1566_entropyinreseed[] = { + 0xc4, 0x09, 0x19, 0x3b, 0x18, 0x70, 0x75, 0xc5, 0x24, 0x03, 0xe6, 0x85, + 0x3f, 0x7b, 0x86, 0x6c, +}; +static const unsigned char kat1566_addinreseed[] = {0}; +static const unsigned char kat1566_addin0[] = {0}; +static const unsigned char kat1566_addin1[] = {0}; +static const unsigned char kat1566_retbits[] = { + 0x9c, 0xaf, 0xf0, 0x6f, 0x9b, 0x61, 0xb6, 0x00, 0xe2, 0x10, 0x8b, 0x0b, + 0x94, 0xfb, 0x82, 0x56, 0xc1, 0x36, 0xe5, 0xd7, 0x9a, 0x17, 0xec, 0x3a, + 0x50, 0x91, 0x17, 0x1a, 0xcc, 0xeb, 0xf1, 0x21, 0x6b, 0xb5, 0x29, 0xdd, + 0x4e, 0x9f, 0x9d, 0xeb, 0xce, 0xa9, 0xed, 0x32, 0x22, 0x3a, 0xcc, 0x55, + 0xd8, 0xdb, 0x1a, 0x55, 0x04, 0x1a, 0xee, 0x39, 0x22, 0x82, 0x51, 0xa5, + 0x49, 0x6e, 0xa4, 0x82, +}; +static const struct drbg_kat_pr_false kat1566_t = { + 5, kat1566_entropyin, kat1566_nonce, kat1566_persstr, + kat1566_entropyinreseed, kat1566_addinreseed, kat1566_addin0, + kat1566_addin1, kat1566_retbits +}; +static const struct drbg_kat kat1566 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1566_t +}; + +static const unsigned char kat1567_entropyin[] = { + 0xd3, 0x6d, 0x63, 0xbf, 0x82, 0x14, 0xc3, 0x60, 0xd9, 0xc8, 0x28, 0x77, + 0xb0, 0x71, 0x60, 0xbf, +}; +static const unsigned char kat1567_nonce[] = { + 0x3c, 0xc2, 0x10, 0x48, 0xa8, 0x1a, 0xba, 0x3c, +}; +static const unsigned char kat1567_persstr[] = {0}; +static const unsigned char kat1567_entropyinreseed[] = { + 0x2e, 0xa0, 0x84, 0x31, 0xc8, 0x4a, 0xd1, 0x35, 0x27, 0x27, 0x7a, 0x31, + 0x73, 0x09, 0xe5, 0xf4, +}; +static const unsigned char kat1567_addinreseed[] = {0}; +static const unsigned char kat1567_addin0[] = {0}; +static const unsigned char kat1567_addin1[] = {0}; +static const unsigned char kat1567_retbits[] = { + 0x9f, 0xec, 0x4b, 0x24, 0xa2, 0x1a, 0xaa, 0x36, 0x56, 0x19, 0x20, 0x2b, + 0x15, 0x8c, 0x85, 0x79, 0x7e, 0x64, 0x12, 0x9b, 0xb5, 0xa0, 0x95, 0xc7, + 0xa3, 0x5a, 0x2a, 0xd5, 0xbb, 0x4c, 0x58, 0x3f, 0x8c, 0xa0, 0x29, 0xb6, + 0x9f, 0x99, 0x2c, 0xe1, 0xa1, 0x77, 0x1e, 0xc3, 0x63, 0xb0, 0x16, 0xd2, + 0x0f, 0x9b, 0x01, 0x2b, 0x78, 0x69, 0x6c, 0xf2, 0x29, 0x9a, 0xcb, 0x69, + 0x57, 0xc0, 0x17, 0x77, +}; +static const struct drbg_kat_pr_false kat1567_t = { + 6, kat1567_entropyin, kat1567_nonce, kat1567_persstr, + kat1567_entropyinreseed, kat1567_addinreseed, kat1567_addin0, + kat1567_addin1, kat1567_retbits +}; +static const struct drbg_kat kat1567 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1567_t +}; + +static const unsigned char kat1568_entropyin[] = { + 0x89, 0xd2, 0xcf, 0x42, 0x58, 0xd7, 0x86, 0x36, 0xbf, 0xa8, 0x9d, 0xed, + 0xd6, 0x6e, 0xce, 0x30, +}; +static const unsigned char kat1568_nonce[] = { + 0x67, 0xba, 0x75, 0xac, 0x91, 0x95, 0x61, 0xf9, +}; +static const unsigned char kat1568_persstr[] = {0}; +static const unsigned char kat1568_entropyinreseed[] = { + 0xaa, 0x1f, 0x97, 0x8d, 0x93, 0xc7, 0x47, 0x93, 0x3e, 0x9f, 0x71, 0x7e, + 0x10, 0x1b, 0xf8, 0xa0, +}; +static const unsigned char kat1568_addinreseed[] = {0}; +static const unsigned char kat1568_addin0[] = {0}; +static const unsigned char kat1568_addin1[] = {0}; +static const unsigned char kat1568_retbits[] = { + 0xf9, 0x45, 0x1e, 0x03, 0x87, 0xbe, 0x0b, 0x51, 0x8c, 0x53, 0x84, 0x22, + 0xf4, 0xae, 0xb8, 0x0d, 0x77, 0x55, 0x61, 0x30, 0x45, 0x55, 0xc5, 0x95, + 0x7e, 0xc9, 0xc7, 0xd5, 0x2a, 0x8b, 0x77, 0x3c, 0x7b, 0xc1, 0x9a, 0x21, + 0xa8, 0x48, 0xd4, 0x74, 0x1c, 0x18, 0x83, 0x63, 0x96, 0xb3, 0x70, 0x11, + 0xfc, 0xb4, 0x54, 0xad, 0x87, 0xec, 0x06, 0x6e, 0x40, 0xa8, 0x61, 0xda, + 0xb4, 0x07, 0xef, 0x37, +}; +static const struct drbg_kat_pr_false kat1568_t = { + 7, kat1568_entropyin, kat1568_nonce, kat1568_persstr, + kat1568_entropyinreseed, kat1568_addinreseed, kat1568_addin0, + kat1568_addin1, kat1568_retbits +}; +static const struct drbg_kat kat1568 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1568_t +}; + +static const unsigned char kat1569_entropyin[] = { + 0xb1, 0x5a, 0x9e, 0xec, 0xbd, 0x33, 0xef, 0x60, 0x1f, 0xc4, 0x94, 0x6b, + 0x78, 0xb3, 0x18, 0x03, +}; +static const unsigned char kat1569_nonce[] = { + 0xb1, 0x45, 0xc3, 0xdb, 0x01, 0xc5, 0xdc, 0x45, +}; +static const unsigned char kat1569_persstr[] = {0}; +static const unsigned char kat1569_entropyinreseed[] = { + 0x64, 0xc7, 0xac, 0xf3, 0x47, 0x3d, 0x0c, 0x4a, 0xb3, 0xd9, 0xd2, 0x0e, + 0x42, 0x4b, 0x80, 0x82, +}; +static const unsigned char kat1569_addinreseed[] = {0}; +static const unsigned char kat1569_addin0[] = {0}; +static const unsigned char kat1569_addin1[] = {0}; +static const unsigned char kat1569_retbits[] = { + 0x59, 0x0e, 0xf8, 0xdf, 0x13, 0x09, 0xd1, 0xf2, 0xcf, 0xf2, 0x7e, 0x40, + 0x5c, 0x72, 0x23, 0x29, 0xf6, 0x99, 0xcb, 0x56, 0x72, 0x05, 0x31, 0x31, + 0x22, 0x80, 0x60, 0x28, 0x0f, 0x44, 0x8d, 0x1f, 0xef, 0x80, 0x91, 0xde, + 0x46, 0x9a, 0xa6, 0xc2, 0x6d, 0xce, 0x06, 0xde, 0xf9, 0x98, 0x33, 0x80, + 0x2b, 0x36, 0x3d, 0xea, 0x4d, 0x7c, 0x4b, 0x85, 0xbf, 0x28, 0x14, 0x9b, + 0xe9, 0x3d, 0x6c, 0x16, +}; +static const struct drbg_kat_pr_false kat1569_t = { + 8, kat1569_entropyin, kat1569_nonce, kat1569_persstr, + kat1569_entropyinreseed, kat1569_addinreseed, kat1569_addin0, + kat1569_addin1, kat1569_retbits +}; +static const struct drbg_kat kat1569 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1569_t +}; + +static const unsigned char kat1570_entropyin[] = { + 0x8d, 0x35, 0x7c, 0xf4, 0xee, 0xd0, 0xf1, 0x04, 0xe3, 0x93, 0xe8, 0x50, + 0xb9, 0x10, 0x48, 0xbb, +}; +static const unsigned char kat1570_nonce[] = { + 0xa9, 0x9f, 0x29, 0x50, 0x9b, 0xed, 0xb6, 0xdf, +}; +static const unsigned char kat1570_persstr[] = {0}; +static const unsigned char kat1570_entropyinreseed[] = { + 0x54, 0x89, 0xe4, 0x83, 0x8c, 0xe2, 0x4a, 0x12, 0xc5, 0x79, 0xfb, 0xc1, + 0x0f, 0xe7, 0x97, 0x24, +}; +static const unsigned char kat1570_addinreseed[] = {0}; +static const unsigned char kat1570_addin0[] = {0}; +static const unsigned char kat1570_addin1[] = {0}; +static const unsigned char kat1570_retbits[] = { + 0x55, 0xd7, 0x56, 0x86, 0x06, 0xd7, 0x6f, 0xcd, 0x23, 0x6e, 0x84, 0x3d, + 0xee, 0x34, 0x38, 0x90, 0x40, 0x54, 0x29, 0xb0, 0x56, 0xa8, 0xb6, 0x3f, + 0xf5, 0x2c, 0x08, 0x90, 0x78, 0x19, 0x5b, 0x54, 0x9d, 0xe6, 0x71, 0x8b, + 0x36, 0x2d, 0xdf, 0x2f, 0x6f, 0x4c, 0x97, 0x9c, 0xde, 0xbe, 0x2f, 0xe7, + 0x93, 0x33, 0x2b, 0x78, 0xb8, 0x92, 0xda, 0xc8, 0xed, 0xd2, 0x2c, 0x42, + 0xa5, 0xd0, 0x68, 0x80, +}; +static const struct drbg_kat_pr_false kat1570_t = { + 9, kat1570_entropyin, kat1570_nonce, kat1570_persstr, + kat1570_entropyinreseed, kat1570_addinreseed, kat1570_addin0, + kat1570_addin1, kat1570_retbits +}; +static const struct drbg_kat kat1570 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1570_t +}; + +static const unsigned char kat1571_entropyin[] = { + 0x62, 0x01, 0x55, 0x02, 0x44, 0xc1, 0xa4, 0x2a, 0x4c, 0x45, 0x7a, 0x75, + 0x91, 0xd2, 0x57, 0x43, +}; +static const unsigned char kat1571_nonce[] = { + 0xe8, 0x34, 0x27, 0xa9, 0xf4, 0x8d, 0x56, 0x7e, +}; +static const unsigned char kat1571_persstr[] = {0}; +static const unsigned char kat1571_entropyinreseed[] = { + 0x44, 0x49, 0x41, 0x0c, 0xfc, 0x18, 0x83, 0x0e, 0xc1, 0x85, 0x12, 0xff, + 0xbe, 0x64, 0xe5, 0x62, +}; +static const unsigned char kat1571_addinreseed[] = {0}; +static const unsigned char kat1571_addin0[] = {0}; +static const unsigned char kat1571_addin1[] = {0}; +static const unsigned char kat1571_retbits[] = { + 0x09, 0xa3, 0x44, 0x44, 0x99, 0x8a, 0x2c, 0x1c, 0xac, 0xed, 0x5d, 0x93, + 0x13, 0xa3, 0xb8, 0xe3, 0x9a, 0x13, 0xc8, 0xba, 0x98, 0xa3, 0x3e, 0x96, + 0xd7, 0x8a, 0x99, 0x10, 0x55, 0xac, 0xfb, 0x38, 0x46, 0x88, 0xb5, 0xb3, + 0xe1, 0xb8, 0x7c, 0x2c, 0x3d, 0x0c, 0x91, 0x0f, 0xb9, 0xa4, 0x20, 0x49, + 0x93, 0x84, 0xa4, 0x90, 0x70, 0x20, 0x1b, 0x76, 0xc1, 0x4a, 0x12, 0x68, + 0x51, 0xb8, 0xf4, 0x3d, +}; +static const struct drbg_kat_pr_false kat1571_t = { + 10, kat1571_entropyin, kat1571_nonce, kat1571_persstr, + kat1571_entropyinreseed, kat1571_addinreseed, kat1571_addin0, + kat1571_addin1, kat1571_retbits +}; +static const struct drbg_kat kat1571 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1571_t +}; + +static const unsigned char kat1572_entropyin[] = { + 0x5b, 0xd5, 0x4f, 0xaa, 0xc8, 0xf1, 0xb1, 0x1f, 0xe1, 0xd5, 0x0a, 0xfd, + 0x36, 0xb0, 0x58, 0x9c, +}; +static const unsigned char kat1572_nonce[] = { + 0xe3, 0x85, 0x78, 0x8e, 0x7b, 0x67, 0xfa, 0xe2, +}; +static const unsigned char kat1572_persstr[] = {0}; +static const unsigned char kat1572_entropyinreseed[] = { + 0x87, 0x26, 0x55, 0x03, 0x30, 0xd8, 0x52, 0x83, 0x8a, 0x99, 0x9f, 0xc9, + 0x89, 0xe4, 0xa1, 0xa6, +}; +static const unsigned char kat1572_addinreseed[] = {0}; +static const unsigned char kat1572_addin0[] = {0}; +static const unsigned char kat1572_addin1[] = {0}; +static const unsigned char kat1572_retbits[] = { + 0xe8, 0x7b, 0xd1, 0x88, 0xf3, 0xfe, 0xef, 0xb4, 0xd0, 0x58, 0xbd, 0x73, + 0x2a, 0x0f, 0x22, 0x56, 0x89, 0xb8, 0xeb, 0x31, 0xcb, 0xbb, 0x65, 0xb3, + 0x16, 0x1e, 0xb5, 0xf8, 0xd5, 0x23, 0xb1, 0xbe, 0xfc, 0x59, 0xb0, 0x05, + 0xc8, 0x82, 0x0d, 0x33, 0x5a, 0x06, 0x0c, 0xe2, 0xae, 0xfa, 0xba, 0xf7, + 0x4a, 0x6d, 0xd9, 0x94, 0xf8, 0x13, 0x4e, 0x78, 0x05, 0xac, 0x65, 0xe5, + 0x06, 0x57, 0x0a, 0xf7, +}; +static const struct drbg_kat_pr_false kat1572_t = { + 11, kat1572_entropyin, kat1572_nonce, kat1572_persstr, + kat1572_entropyinreseed, kat1572_addinreseed, kat1572_addin0, + kat1572_addin1, kat1572_retbits +}; +static const struct drbg_kat kat1572 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1572_t +}; + +static const unsigned char kat1573_entropyin[] = { + 0x47, 0x49, 0xf6, 0xae, 0x9d, 0x20, 0x0c, 0xe0, 0xff, 0xe5, 0xbc, 0xa2, + 0xf7, 0x00, 0x7c, 0x5b, +}; +static const unsigned char kat1573_nonce[] = { + 0x90, 0xdb, 0x60, 0xc7, 0x60, 0xe3, 0x00, 0x2c, +}; +static const unsigned char kat1573_persstr[] = {0}; +static const unsigned char kat1573_entropyinreseed[] = { + 0x54, 0xad, 0x4c, 0xa1, 0x94, 0x02, 0xfd, 0xbd, 0x37, 0x60, 0x06, 0x02, + 0x10, 0x40, 0xbd, 0xaa, +}; +static const unsigned char kat1573_addinreseed[] = {0}; +static const unsigned char kat1573_addin0[] = {0}; +static const unsigned char kat1573_addin1[] = {0}; +static const unsigned char kat1573_retbits[] = { + 0x37, 0x98, 0x01, 0x26, 0x2f, 0xdb, 0xda, 0x3b, 0x30, 0x37, 0x37, 0x19, + 0xea, 0x22, 0x41, 0xb8, 0xe8, 0x4f, 0xb1, 0x73, 0x56, 0x51, 0x63, 0xd9, + 0x63, 0x50, 0x22, 0x77, 0xfd, 0x41, 0xb6, 0x2c, 0x2f, 0x78, 0x50, 0x6d, + 0x23, 0xee, 0x80, 0xc7, 0xf2, 0xe8, 0xb9, 0x63, 0x54, 0xa6, 0xca, 0xa6, + 0x9d, 0xd6, 0x94, 0xd8, 0x04, 0x94, 0x67, 0x50, 0x46, 0x17, 0xf6, 0x94, + 0x89, 0x45, 0x74, 0xc2, +}; +static const struct drbg_kat_pr_false kat1573_t = { + 12, kat1573_entropyin, kat1573_nonce, kat1573_persstr, + kat1573_entropyinreseed, kat1573_addinreseed, kat1573_addin0, + kat1573_addin1, kat1573_retbits +}; +static const struct drbg_kat kat1573 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1573_t +}; + +static const unsigned char kat1574_entropyin[] = { + 0x18, 0x48, 0x45, 0xac, 0x4e, 0x88, 0x42, 0x13, 0x08, 0x1c, 0xb2, 0x94, + 0x23, 0xb5, 0x11, 0x6e, +}; +static const unsigned char kat1574_nonce[] = { + 0x29, 0x92, 0x07, 0xbc, 0xbc, 0xaa, 0x35, 0xbe, +}; +static const unsigned char kat1574_persstr[] = {0}; +static const unsigned char kat1574_entropyinreseed[] = { + 0x54, 0x60, 0xf7, 0x13, 0x93, 0xfe, 0x8a, 0xac, 0xba, 0x6a, 0xa2, 0xb6, + 0x90, 0xca, 0xc9, 0x78, +}; +static const unsigned char kat1574_addinreseed[] = {0}; +static const unsigned char kat1574_addin0[] = {0}; +static const unsigned char kat1574_addin1[] = {0}; +static const unsigned char kat1574_retbits[] = { + 0x01, 0x9e, 0xfa, 0xcf, 0x06, 0x0d, 0xe6, 0x89, 0x8d, 0xc2, 0x34, 0xad, + 0x02, 0xfa, 0xcc, 0x81, 0x79, 0xbf, 0xd7, 0xe4, 0xfb, 0x70, 0x8f, 0x1c, + 0x01, 0x51, 0x92, 0xd4, 0x3d, 0x95, 0x3e, 0x59, 0x0b, 0xf3, 0xe8, 0xa2, + 0x52, 0xfb, 0xfa, 0xed, 0x5d, 0x9b, 0x5d, 0x69, 0xc9, 0x9c, 0x23, 0x43, + 0xd9, 0xc3, 0x2c, 0x71, 0xa9, 0x01, 0x0a, 0x12, 0xd6, 0x9a, 0x8e, 0x6c, + 0x86, 0xe5, 0x89, 0x0c, +}; +static const struct drbg_kat_pr_false kat1574_t = { + 13, kat1574_entropyin, kat1574_nonce, kat1574_persstr, + kat1574_entropyinreseed, kat1574_addinreseed, kat1574_addin0, + kat1574_addin1, kat1574_retbits +}; +static const struct drbg_kat kat1574 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1574_t +}; + +static const unsigned char kat1575_entropyin[] = { + 0x37, 0x29, 0xfb, 0x44, 0x2b, 0xc3, 0x2e, 0x13, 0x2a, 0x5b, 0x3b, 0x6f, + 0x37, 0x9d, 0xca, 0x0c, +}; +static const unsigned char kat1575_nonce[] = { + 0x5b, 0xd4, 0xf3, 0xfb, 0x9e, 0xf3, 0x63, 0xbf, +}; +static const unsigned char kat1575_persstr[] = {0}; +static const unsigned char kat1575_entropyinreseed[] = { + 0xa5, 0x10, 0x80, 0xa3, 0x5e, 0x53, 0xe8, 0x0f, 0x63, 0x67, 0x82, 0x99, + 0xeb, 0x04, 0x6a, 0xab, +}; +static const unsigned char kat1575_addinreseed[] = {0}; +static const unsigned char kat1575_addin0[] = {0}; +static const unsigned char kat1575_addin1[] = {0}; +static const unsigned char kat1575_retbits[] = { + 0x4f, 0xd5, 0x86, 0xf7, 0x4c, 0x27, 0x8c, 0x14, 0x9d, 0x1b, 0xee, 0x67, + 0x14, 0xa5, 0xcb, 0x94, 0x10, 0xc2, 0x05, 0xd0, 0x42, 0x74, 0x0b, 0x45, + 0x4b, 0x7a, 0x84, 0x14, 0x70, 0xb7, 0xf9, 0x87, 0xf6, 0xaf, 0x8a, 0x68, + 0x0e, 0x91, 0xa3, 0xf2, 0xbd, 0x88, 0x11, 0x6c, 0x25, 0xd9, 0xe5, 0xec, + 0x8a, 0x78, 0xf2, 0xd1, 0x2a, 0x12, 0x89, 0xa0, 0x15, 0x74, 0xf2, 0xf7, + 0x51, 0x18, 0x1c, 0xd0, +}; +static const struct drbg_kat_pr_false kat1575_t = { + 14, kat1575_entropyin, kat1575_nonce, kat1575_persstr, + kat1575_entropyinreseed, kat1575_addinreseed, kat1575_addin0, + kat1575_addin1, kat1575_retbits +}; +static const struct drbg_kat kat1575 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1575_t +}; + +static const unsigned char kat1576_entropyin[] = { + 0x34, 0xd0, 0xf9, 0xf7, 0x14, 0xd1, 0x53, 0x9a, 0x29, 0x8b, 0x21, 0xd3, + 0xea, 0x18, 0x8d, 0x0e, +}; +static const unsigned char kat1576_nonce[] = { + 0xf2, 0xff, 0x4b, 0xd5, 0xf6, 0xcf, 0x78, 0x12, +}; +static const unsigned char kat1576_persstr[] = {0}; +static const unsigned char kat1576_entropyinreseed[] = { + 0xcd, 0x44, 0xf4, 0x1d, 0xc3, 0xfd, 0x07, 0xd8, 0x85, 0x00, 0xb4, 0x08, + 0x4a, 0x65, 0xa9, 0xa0, +}; +static const unsigned char kat1576_addinreseed[] = { + 0x19, 0xc3, 0xb7, 0x0b, 0xa9, 0x50, 0xac, 0x85, 0x35, 0xa4, 0xb5, 0x4e, + 0x11, 0x76, 0xe7, 0xe1, +}; +static const unsigned char kat1576_addin0[] = { + 0x23, 0x35, 0x69, 0x9d, 0x1e, 0x4d, 0xc4, 0xf7, 0x78, 0x13, 0x75, 0x75, + 0x0f, 0xd6, 0xdd, 0x86, +}; +static const unsigned char kat1576_addin1[] = { + 0x25, 0xa8, 0x4e, 0xe7, 0x46, 0x66, 0x5d, 0x8c, 0x50, 0xb0, 0xd6, 0x72, + 0x44, 0x5a, 0x9f, 0x04, +}; +static const unsigned char kat1576_retbits[] = { + 0x06, 0x40, 0x54, 0xac, 0x13, 0xc9, 0xda, 0xab, 0x59, 0x06, 0xb6, 0x48, + 0x31, 0x49, 0x79, 0x37, 0x60, 0x63, 0x50, 0x8b, 0xba, 0x87, 0x21, 0xff, + 0xf6, 0xfe, 0xdc, 0x45, 0x22, 0x19, 0x08, 0x1f, 0x6f, 0xe0, 0x3f, 0x7c, + 0xff, 0x48, 0xf6, 0xa5, 0x82, 0xdf, 0xe3, 0x3c, 0xa7, 0xe5, 0x76, 0x44, + 0xaf, 0x20, 0x88, 0xfd, 0x67, 0x74, 0xdf, 0xa5, 0x9c, 0xb9, 0x3c, 0x11, + 0x60, 0xed, 0xf8, 0xb3, +}; +static const struct drbg_kat_pr_false kat1576_t = { + 0, kat1576_entropyin, kat1576_nonce, kat1576_persstr, + kat1576_entropyinreseed, kat1576_addinreseed, kat1576_addin0, + kat1576_addin1, kat1576_retbits +}; +static const struct drbg_kat kat1576 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1576_t +}; + +static const unsigned char kat1577_entropyin[] = { + 0x97, 0x47, 0x59, 0x0c, 0xe4, 0x3b, 0x11, 0x8f, 0x68, 0x51, 0x2c, 0x8d, + 0xd6, 0x94, 0x5f, 0x2f, +}; +static const unsigned char kat1577_nonce[] = { + 0x57, 0x21, 0x36, 0xc8, 0x4f, 0x2b, 0x76, 0xf8, +}; +static const unsigned char kat1577_persstr[] = {0}; +static const unsigned char kat1577_entropyinreseed[] = { + 0x79, 0x18, 0x3d, 0x9f, 0x83, 0xbb, 0xf2, 0xe4, 0xdf, 0xa1, 0x1c, 0xc8, + 0xa4, 0xe5, 0x20, 0xd5, +}; +static const unsigned char kat1577_addinreseed[] = { + 0x07, 0x77, 0x48, 0xf5, 0x93, 0x51, 0x70, 0xc2, 0x4e, 0xe6, 0x4d, 0x53, + 0x05, 0x70, 0x14, 0x07, +}; +static const unsigned char kat1577_addin0[] = { + 0x55, 0xc3, 0x9d, 0xa1, 0x64, 0x97, 0xae, 0x1b, 0xaf, 0x68, 0x16, 0xe1, + 0x3f, 0x9e, 0xe2, 0x8a, +}; +static const unsigned char kat1577_addin1[] = { + 0x94, 0x95, 0x6b, 0xbe, 0x66, 0x19, 0x33, 0xd7, 0xc8, 0xf7, 0x02, 0x5d, + 0x75, 0x1b, 0x27, 0xb3, +}; +static const unsigned char kat1577_retbits[] = { + 0x7a, 0xaa, 0x55, 0xd5, 0x65, 0xfa, 0x40, 0x9a, 0xe9, 0x83, 0x12, 0xa6, + 0x5b, 0x8e, 0x6c, 0x46, 0x2f, 0x0b, 0xe0, 0xdb, 0x73, 0x9f, 0xe8, 0x62, + 0x90, 0xda, 0xc1, 0xb5, 0xe1, 0xb1, 0x92, 0x41, 0x44, 0x98, 0x80, 0x33, + 0xe8, 0x9e, 0x81, 0xbc, 0xc1, 0x2c, 0xda, 0x58, 0x6b, 0xf5, 0xc9, 0x54, + 0x7e, 0xe3, 0x2b, 0xd5, 0xcf, 0xce, 0x50, 0xdd, 0x21, 0x32, 0x95, 0xa4, + 0x7b, 0x2d, 0x54, 0xeb, +}; +static const struct drbg_kat_pr_false kat1577_t = { + 1, kat1577_entropyin, kat1577_nonce, kat1577_persstr, + kat1577_entropyinreseed, kat1577_addinreseed, kat1577_addin0, + kat1577_addin1, kat1577_retbits +}; +static const struct drbg_kat kat1577 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1577_t +}; + +static const unsigned char kat1578_entropyin[] = { + 0xa1, 0x8e, 0x30, 0x38, 0xd4, 0xbf, 0xb3, 0xfb, 0x19, 0x48, 0x34, 0xb6, + 0x5c, 0x3a, 0xf2, 0x80, +}; +static const unsigned char kat1578_nonce[] = { + 0x60, 0x42, 0xec, 0xe5, 0xc2, 0x16, 0xe0, 0xf3, +}; +static const unsigned char kat1578_persstr[] = {0}; +static const unsigned char kat1578_entropyinreseed[] = { + 0x39, 0xcd, 0x5e, 0xbc, 0x18, 0x3b, 0x7c, 0x85, 0x90, 0x8c, 0xba, 0xf4, + 0x5e, 0x1b, 0x17, 0x92, +}; +static const unsigned char kat1578_addinreseed[] = { + 0x1d, 0x78, 0x0d, 0x8e, 0x23, 0x06, 0x57, 0x70, 0xa6, 0xeb, 0xfc, 0x0c, + 0x11, 0xbd, 0xf8, 0xd1, +}; +static const unsigned char kat1578_addin0[] = { + 0x7b, 0xa2, 0x57, 0xad, 0x0b, 0x02, 0xb1, 0x56, 0xeb, 0xce, 0x64, 0x4e, + 0xc3, 0xb5, 0x90, 0xb5, +}; +static const unsigned char kat1578_addin1[] = { + 0xfa, 0x8c, 0xb5, 0xef, 0x31, 0x45, 0x0d, 0xae, 0xf8, 0x56, 0x0d, 0x48, + 0x4f, 0x9b, 0xd6, 0x38, +}; +static const unsigned char kat1578_retbits[] = { + 0x58, 0x56, 0x54, 0x5b, 0x1c, 0x44, 0x4e, 0x02, 0x03, 0x51, 0xed, 0x06, + 0x42, 0x0a, 0x41, 0x86, 0x89, 0x8b, 0xe0, 0x70, 0x90, 0x5d, 0x18, 0x2a, + 0x32, 0x29, 0x18, 0x8a, 0xfc, 0xa5, 0x5c, 0x24, 0x80, 0xb1, 0xf1, 0x2e, + 0x0a, 0xca, 0x0b, 0x68, 0x0c, 0x9c, 0x72, 0xc2, 0x00, 0x9c, 0xb3, 0xdc, + 0x0b, 0x9b, 0xe7, 0xd7, 0x24, 0xfc, 0xc9, 0xf2, 0x69, 0x37, 0xfc, 0x09, + 0xa5, 0xd7, 0x33, 0xd1, +}; +static const struct drbg_kat_pr_false kat1578_t = { + 2, kat1578_entropyin, kat1578_nonce, kat1578_persstr, + kat1578_entropyinreseed, kat1578_addinreseed, kat1578_addin0, + kat1578_addin1, kat1578_retbits +}; +static const struct drbg_kat kat1578 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1578_t +}; + +static const unsigned char kat1579_entropyin[] = { + 0xe1, 0x34, 0xcc, 0x13, 0x4a, 0x22, 0xb4, 0xd6, 0x22, 0xee, 0x6f, 0xb1, + 0xe8, 0x9a, 0x1c, 0x53, +}; +static const unsigned char kat1579_nonce[] = { + 0x14, 0x9f, 0x4e, 0xb0, 0x08, 0x00, 0x70, 0xd3, +}; +static const unsigned char kat1579_persstr[] = {0}; +static const unsigned char kat1579_entropyinreseed[] = { + 0x53, 0x36, 0x84, 0xbe, 0xcf, 0x30, 0xac, 0x8d, 0xef, 0x95, 0xb5, 0xe5, + 0x44, 0x99, 0x0c, 0x99, +}; +static const unsigned char kat1579_addinreseed[] = { + 0x1c, 0x61, 0xbc, 0x27, 0xf6, 0xd4, 0x5c, 0x7e, 0x06, 0x61, 0x37, 0x77, + 0xa6, 0xce, 0x14, 0x98, +}; +static const unsigned char kat1579_addin0[] = { + 0x65, 0xf6, 0x0c, 0xe8, 0xdf, 0xa6, 0xbc, 0xf8, 0x2f, 0x73, 0xf0, 0xa9, + 0x3f, 0xcf, 0x99, 0x11, +}; +static const unsigned char kat1579_addin1[] = { + 0xf2, 0xc1, 0xe2, 0xa1, 0xdb, 0xe9, 0xf1, 0x82, 0x8e, 0xc7, 0x73, 0x3c, + 0x18, 0xa1, 0x6b, 0xa5, +}; +static const unsigned char kat1579_retbits[] = { + 0x32, 0x2e, 0x86, 0x03, 0x79, 0xe6, 0x63, 0x84, 0xdf, 0x97, 0xf5, 0x21, + 0xeb, 0x6b, 0x8e, 0x85, 0x20, 0xb0, 0x37, 0x2e, 0x90, 0x89, 0x27, 0xe5, + 0x0e, 0x06, 0x07, 0x7e, 0x3b, 0xd3, 0x80, 0x51, 0x99, 0xfd, 0xd0, 0x5d, + 0x0b, 0x8a, 0xc6, 0x19, 0x82, 0xb1, 0x43, 0x21, 0x07, 0x86, 0x6e, 0x37, + 0xd4, 0x59, 0x6b, 0x42, 0xa3, 0x42, 0x15, 0x13, 0x63, 0x8a, 0x61, 0x96, + 0xe6, 0xa9, 0x2d, 0x61, +}; +static const struct drbg_kat_pr_false kat1579_t = { + 3, kat1579_entropyin, kat1579_nonce, kat1579_persstr, + kat1579_entropyinreseed, kat1579_addinreseed, kat1579_addin0, + kat1579_addin1, kat1579_retbits +}; +static const struct drbg_kat kat1579 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1579_t +}; + +static const unsigned char kat1580_entropyin[] = { + 0x32, 0x63, 0xfb, 0xac, 0x89, 0x3e, 0x72, 0xf1, 0x56, 0x04, 0x38, 0xda, + 0x0b, 0x4a, 0x9a, 0x34, +}; +static const unsigned char kat1580_nonce[] = { + 0x77, 0x70, 0xa4, 0x6c, 0x62, 0x71, 0x97, 0x59, +}; +static const unsigned char kat1580_persstr[] = {0}; +static const unsigned char kat1580_entropyinreseed[] = { + 0x5d, 0x36, 0x83, 0x22, 0x6f, 0x90, 0x4c, 0x8d, 0xba, 0x17, 0x59, 0x99, + 0x4b, 0xb8, 0x77, 0x60, +}; +static const unsigned char kat1580_addinreseed[] = { + 0xec, 0x8d, 0xd9, 0x2e, 0xec, 0xe7, 0xbc, 0x81, 0x0e, 0x4c, 0x7a, 0x6c, + 0x15, 0xf1, 0xe8, 0x04, +}; +static const unsigned char kat1580_addin0[] = { + 0x05, 0x1b, 0xd8, 0x3d, 0x0d, 0xe0, 0x52, 0x0b, 0xf9, 0x12, 0x55, 0x81, + 0x1e, 0x45, 0x4a, 0x43, +}; +static const unsigned char kat1580_addin1[] = { + 0x22, 0x84, 0x1d, 0xeb, 0x0d, 0x11, 0x78, 0x1d, 0xa5, 0x6f, 0xab, 0x8d, + 0x12, 0x2b, 0x39, 0x5c, +}; +static const unsigned char kat1580_retbits[] = { + 0x9e, 0x42, 0xab, 0xfa, 0x0c, 0x06, 0x2d, 0x8a, 0xd6, 0x94, 0x55, 0x0a, + 0x39, 0x5a, 0x7c, 0x36, 0x2f, 0x14, 0x91, 0xa2, 0xf4, 0x12, 0x9e, 0xe5, + 0xae, 0x5a, 0x17, 0xe3, 0x1d, 0xec, 0xa4, 0x12, 0xc8, 0x44, 0x46, 0x05, + 0xe9, 0x55, 0x90, 0x58, 0xdf, 0xde, 0xa5, 0xc4, 0x37, 0x65, 0x3d, 0x19, + 0x0c, 0x57, 0x19, 0x5b, 0x42, 0xd4, 0x4f, 0x1f, 0xd8, 0xfd, 0xaf, 0xa0, + 0xe8, 0xee, 0x40, 0x08, +}; +static const struct drbg_kat_pr_false kat1580_t = { + 4, kat1580_entropyin, kat1580_nonce, kat1580_persstr, + kat1580_entropyinreseed, kat1580_addinreseed, kat1580_addin0, + kat1580_addin1, kat1580_retbits +}; +static const struct drbg_kat kat1580 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1580_t +}; + +static const unsigned char kat1581_entropyin[] = { + 0xe6, 0x3e, 0xf8, 0xca, 0x16, 0x15, 0xf7, 0x3f, 0x0e, 0x0d, 0x35, 0xec, + 0xbe, 0x68, 0x1b, 0xdd, +}; +static const unsigned char kat1581_nonce[] = { + 0xe7, 0xf6, 0xc3, 0xf5, 0xac, 0x90, 0xff, 0xcf, +}; +static const unsigned char kat1581_persstr[] = {0}; +static const unsigned char kat1581_entropyinreseed[] = { + 0x7f, 0x89, 0x1c, 0x36, 0xf7, 0xe3, 0xf0, 0x13, 0xed, 0x05, 0x37, 0x9a, + 0xa9, 0x93, 0xb3, 0x81, +}; +static const unsigned char kat1581_addinreseed[] = { + 0xc9, 0x40, 0x45, 0xd4, 0x51, 0x4c, 0x74, 0x7a, 0x84, 0xe4, 0x1b, 0x06, + 0xa5, 0x55, 0xf8, 0x49, +}; +static const unsigned char kat1581_addin0[] = { + 0xae, 0xe6, 0x98, 0x06, 0xec, 0x57, 0xf6, 0x19, 0x33, 0xf6, 0x06, 0xc8, + 0xf1, 0x53, 0x92, 0x45, +}; +static const unsigned char kat1581_addin1[] = { + 0xa6, 0x7d, 0xc6, 0xb4, 0xee, 0x42, 0x7e, 0x0f, 0x6d, 0x2d, 0xa0, 0x66, + 0x3f, 0x0c, 0xe3, 0x82, +}; +static const unsigned char kat1581_retbits[] = { + 0x2a, 0x8c, 0x7c, 0xcc, 0x8c, 0x52, 0x42, 0xb1, 0x21, 0x4d, 0x19, 0x2e, + 0xc5, 0x02, 0x8d, 0xb9, 0xff, 0x42, 0xe7, 0x3a, 0x32, 0x11, 0x57, 0x1a, + 0x05, 0xe9, 0xb3, 0xd8, 0x79, 0x0a, 0x78, 0x7f, 0x2b, 0xcf, 0x80, 0x9b, + 0x8f, 0x02, 0xec, 0x8d, 0x3e, 0xd2, 0x1a, 0x57, 0x9e, 0x95, 0x5c, 0x42, + 0xfb, 0xdc, 0xf8, 0x58, 0x3e, 0xf6, 0x93, 0xbb, 0x7e, 0x00, 0x96, 0xb7, + 0xb9, 0x25, 0x1b, 0x2f, +}; +static const struct drbg_kat_pr_false kat1581_t = { + 5, kat1581_entropyin, kat1581_nonce, kat1581_persstr, + kat1581_entropyinreseed, kat1581_addinreseed, kat1581_addin0, + kat1581_addin1, kat1581_retbits +}; +static const struct drbg_kat kat1581 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1581_t +}; + +static const unsigned char kat1582_entropyin[] = { + 0x6d, 0x2c, 0x97, 0xd0, 0xc8, 0x88, 0xf4, 0x9c, 0x45, 0x53, 0x97, 0x53, + 0xe3, 0x8f, 0x4f, 0x93, +}; +static const unsigned char kat1582_nonce[] = { + 0x8d, 0x6a, 0x04, 0xaf, 0x07, 0xd2, 0x6f, 0x1e, +}; +static const unsigned char kat1582_persstr[] = {0}; +static const unsigned char kat1582_entropyinreseed[] = { + 0xf6, 0xd8, 0x0a, 0x65, 0xe2, 0xa4, 0x56, 0x9a, 0x9f, 0x64, 0x4f, 0x62, + 0x62, 0xae, 0x8b, 0xc3, +}; +static const unsigned char kat1582_addinreseed[] = { + 0xfd, 0x49, 0x1d, 0x4f, 0xee, 0xb2, 0x30, 0xda, 0x88, 0xf1, 0xc3, 0xb5, + 0x57, 0xef, 0x1d, 0xa0, +}; +static const unsigned char kat1582_addin0[] = { + 0x52, 0x26, 0x6b, 0x8c, 0x27, 0x9d, 0xbe, 0x61, 0x71, 0x84, 0x96, 0xc2, + 0x3f, 0x92, 0x62, 0xde, +}; +static const unsigned char kat1582_addin1[] = { + 0x0a, 0x2e, 0x54, 0x9d, 0x8d, 0x1b, 0x4f, 0x0f, 0x1a, 0x66, 0x3a, 0xfd, + 0xc5, 0x76, 0x28, 0x3a, +}; +static const unsigned char kat1582_retbits[] = { + 0x1f, 0x72, 0xb7, 0xdf, 0x97, 0xb3, 0x5d, 0x8d, 0xaf, 0x1e, 0x35, 0x96, + 0xe5, 0x8c, 0x72, 0x8d, 0xab, 0x6e, 0x72, 0x58, 0x56, 0x77, 0x41, 0x94, + 0x31, 0x85, 0xab, 0x7e, 0xdb, 0x0d, 0x41, 0xfc, 0x87, 0x77, 0x69, 0x83, + 0x4b, 0x3d, 0x01, 0xed, 0xf4, 0x69, 0x30, 0x18, 0xe5, 0x26, 0xab, 0x55, + 0xee, 0x12, 0x4f, 0xdc, 0x5d, 0xdf, 0x80, 0x58, 0x52, 0xd1, 0x44, 0x96, + 0x0d, 0x16, 0x66, 0xd9, +}; +static const struct drbg_kat_pr_false kat1582_t = { + 6, kat1582_entropyin, kat1582_nonce, kat1582_persstr, + kat1582_entropyinreseed, kat1582_addinreseed, kat1582_addin0, + kat1582_addin1, kat1582_retbits +}; +static const struct drbg_kat kat1582 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1582_t +}; + +static const unsigned char kat1583_entropyin[] = { + 0x17, 0x92, 0x1f, 0x57, 0xc0, 0xbf, 0x22, 0xa5, 0x13, 0xfd, 0xb0, 0x8d, + 0xe4, 0xfd, 0x67, 0x80, +}; +static const unsigned char kat1583_nonce[] = { + 0xa1, 0x89, 0x1a, 0x4e, 0x0a, 0xf5, 0x69, 0x4d, +}; +static const unsigned char kat1583_persstr[] = {0}; +static const unsigned char kat1583_entropyinreseed[] = { + 0xa4, 0x93, 0xc2, 0xae, 0x19, 0x6f, 0x9a, 0x2b, 0x66, 0x10, 0x9d, 0x95, + 0x8e, 0x8f, 0x9b, 0xe8, +}; +static const unsigned char kat1583_addinreseed[] = { + 0x31, 0x1c, 0x0e, 0x0f, 0xf4, 0x43, 0x3d, 0x40, 0x2a, 0x69, 0x95, 0x5b, + 0x54, 0xe8, 0xc1, 0xe0, +}; +static const unsigned char kat1583_addin0[] = { + 0xfb, 0x16, 0xe6, 0xed, 0x99, 0x53, 0x81, 0xcb, 0x9f, 0x93, 0xfb, 0x37, + 0x91, 0x23, 0xee, 0xcf, +}; +static const unsigned char kat1583_addin1[] = { + 0x80, 0x81, 0x7d, 0xce, 0x78, 0xd3, 0x0e, 0xef, 0xcb, 0xf1, 0xfb, 0xed, + 0x07, 0xc0, 0x8f, 0x2d, +}; +static const unsigned char kat1583_retbits[] = { + 0x9e, 0xe1, 0x1c, 0x5c, 0x7d, 0x77, 0xb9, 0xd3, 0xb0, 0x5c, 0xc8, 0x28, + 0x57, 0x2d, 0x3e, 0xdc, 0x79, 0x79, 0x1f, 0x30, 0x92, 0xb4, 0xcb, 0x6e, + 0xc0, 0x69, 0x07, 0xfa, 0xbd, 0x20, 0x2b, 0x67, 0x8c, 0xb4, 0x95, 0xe5, + 0x60, 0xc7, 0x50, 0xea, 0xb2, 0x8e, 0xc9, 0x1d, 0xec, 0x23, 0xbc, 0x46, + 0x21, 0xc3, 0x53, 0xdb, 0x91, 0xf0, 0xdf, 0xb1, 0xb9, 0x56, 0x14, 0xf2, + 0xf4, 0x1b, 0xff, 0xd5, +}; +static const struct drbg_kat_pr_false kat1583_t = { + 7, kat1583_entropyin, kat1583_nonce, kat1583_persstr, + kat1583_entropyinreseed, kat1583_addinreseed, kat1583_addin0, + kat1583_addin1, kat1583_retbits +}; +static const struct drbg_kat kat1583 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1583_t +}; + +static const unsigned char kat1584_entropyin[] = { + 0xd5, 0x0b, 0x76, 0x45, 0x7b, 0xdf, 0xc0, 0x71, 0xf7, 0x1f, 0xcd, 0x16, + 0x66, 0xd4, 0x47, 0xfb, +}; +static const unsigned char kat1584_nonce[] = { + 0x1c, 0x9a, 0xb7, 0x23, 0x74, 0x19, 0xb3, 0xae, +}; +static const unsigned char kat1584_persstr[] = {0}; +static const unsigned char kat1584_entropyinreseed[] = { + 0xb1, 0xe9, 0x4b, 0xc1, 0xdf, 0x60, 0xd5, 0x4f, 0x0e, 0xb2, 0x62, 0x93, + 0xbf, 0x17, 0x5a, 0xfd, +}; +static const unsigned char kat1584_addinreseed[] = { + 0xdf, 0x29, 0x3a, 0xe2, 0x85, 0xb9, 0xaf, 0x7a, 0x8e, 0x69, 0xff, 0x2f, + 0xcd, 0xfa, 0xc8, 0x5d, +}; +static const unsigned char kat1584_addin0[] = { + 0x0f, 0xac, 0xdb, 0x57, 0x41, 0x8e, 0x7a, 0x22, 0x8a, 0x7c, 0x56, 0x66, + 0x3d, 0xee, 0x72, 0xdc, +}; +static const unsigned char kat1584_addin1[] = { + 0x38, 0x31, 0xf9, 0x65, 0x96, 0x37, 0xfe, 0x2e, 0xce, 0x94, 0xf5, 0x24, + 0xa3, 0x8a, 0xe5, 0x76, +}; +static const unsigned char kat1584_retbits[] = { + 0x12, 0x96, 0x0a, 0x4d, 0x3f, 0x80, 0xdd, 0x22, 0x51, 0x02, 0x21, 0x53, + 0x52, 0x9d, 0x07, 0xf5, 0xe7, 0x2e, 0x15, 0x5f, 0x91, 0x2d, 0x9c, 0x42, + 0xc7, 0xc1, 0x34, 0x29, 0x57, 0x01, 0xe0, 0x25, 0x2e, 0x90, 0x30, 0x62, + 0x71, 0x8e, 0x08, 0x36, 0xb4, 0xbd, 0x4a, 0xf2, 0xc6, 0x5f, 0x45, 0xe6, + 0xc7, 0x36, 0x71, 0x0e, 0x5b, 0xaf, 0xb8, 0x42, 0x93, 0x6a, 0x23, 0x18, + 0x2e, 0x38, 0x88, 0xc4, +}; +static const struct drbg_kat_pr_false kat1584_t = { + 8, kat1584_entropyin, kat1584_nonce, kat1584_persstr, + kat1584_entropyinreseed, kat1584_addinreseed, kat1584_addin0, + kat1584_addin1, kat1584_retbits +}; +static const struct drbg_kat kat1584 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1584_t +}; + +static const unsigned char kat1585_entropyin[] = { + 0xaf, 0xdd, 0x79, 0xf7, 0x92, 0xe4, 0xbd, 0x30, 0x69, 0x4c, 0x4a, 0x04, + 0xdd, 0x9a, 0x28, 0xab, +}; +static const unsigned char kat1585_nonce[] = { + 0xeb, 0x33, 0x6d, 0x7a, 0x66, 0xa6, 0xf2, 0x9d, +}; +static const unsigned char kat1585_persstr[] = {0}; +static const unsigned char kat1585_entropyinreseed[] = { + 0xb8, 0xfd, 0x1f, 0xca, 0x74, 0x7e, 0x54, 0x09, 0x29, 0xd8, 0x80, 0x0a, + 0x33, 0x5d, 0x5c, 0x8f, +}; +static const unsigned char kat1585_addinreseed[] = { + 0x41, 0x8e, 0xdd, 0x80, 0xf3, 0x44, 0xbd, 0x88, 0x55, 0x6a, 0x4d, 0x90, + 0x1e, 0x62, 0x91, 0xb9, +}; +static const unsigned char kat1585_addin0[] = { + 0xcd, 0x16, 0x37, 0x51, 0x7c, 0xe6, 0x2f, 0xfb, 0xc5, 0x96, 0x98, 0xc8, + 0x81, 0x80, 0x69, 0x42, +}; +static const unsigned char kat1585_addin1[] = { + 0x12, 0xa4, 0xe4, 0x7e, 0x67, 0x27, 0xb0, 0x4a, 0xa9, 0x0a, 0xb4, 0x3e, + 0x39, 0xdc, 0xc3, 0x22, +}; +static const unsigned char kat1585_retbits[] = { + 0x25, 0xf7, 0x97, 0x2e, 0x9e, 0xf3, 0x40, 0xb1, 0x6f, 0x32, 0x98, 0x5e, + 0xf5, 0x09, 0x22, 0xab, 0x4b, 0x59, 0x60, 0x34, 0xb8, 0xae, 0xed, 0x3d, + 0xd6, 0x9a, 0xae, 0xeb, 0x98, 0xbb, 0xdd, 0x57, 0xa6, 0x02, 0xbc, 0xfb, + 0x42, 0xe0, 0x3a, 0x42, 0xb0, 0x0c, 0x9b, 0xe2, 0x87, 0x79, 0x64, 0xa0, + 0x6f, 0xe3, 0x1d, 0x36, 0x8f, 0x91, 0x1b, 0xcc, 0x97, 0x53, 0xbc, 0x3c, + 0xea, 0x05, 0x9d, 0xbe, +}; +static const struct drbg_kat_pr_false kat1585_t = { + 9, kat1585_entropyin, kat1585_nonce, kat1585_persstr, + kat1585_entropyinreseed, kat1585_addinreseed, kat1585_addin0, + kat1585_addin1, kat1585_retbits +}; +static const struct drbg_kat kat1585 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1585_t +}; + +static const unsigned char kat1586_entropyin[] = { + 0x2c, 0x11, 0x11, 0xf8, 0x55, 0x11, 0x5b, 0xa3, 0x5d, 0x49, 0xe6, 0x66, + 0xfc, 0x52, 0x8e, 0x56, +}; +static const unsigned char kat1586_nonce[] = { + 0x42, 0x96, 0xbd, 0xfe, 0x67, 0xde, 0x26, 0x01, +}; +static const unsigned char kat1586_persstr[] = {0}; +static const unsigned char kat1586_entropyinreseed[] = { + 0x85, 0x59, 0x62, 0x34, 0xf2, 0xb8, 0xd9, 0x87, 0x3a, 0xc2, 0x97, 0x44, + 0xaf, 0x1f, 0xa2, 0x1e, +}; +static const unsigned char kat1586_addinreseed[] = { + 0x5e, 0xc1, 0x2e, 0x10, 0x2e, 0xe5, 0x92, 0x98, 0xf6, 0x46, 0x6c, 0xd6, + 0xb9, 0x31, 0xad, 0x5f, +}; +static const unsigned char kat1586_addin0[] = { + 0x68, 0x1d, 0x63, 0xd5, 0x68, 0x93, 0xc0, 0xc8, 0x5b, 0x4c, 0x5b, 0x08, + 0x1b, 0x6b, 0x46, 0xad, +}; +static const unsigned char kat1586_addin1[] = { + 0x81, 0x7d, 0x54, 0xb8, 0xd6, 0xda, 0xa6, 0xe0, 0xf8, 0xf1, 0xc7, 0x01, + 0x8d, 0x7e, 0x18, 0x10, +}; +static const unsigned char kat1586_retbits[] = { + 0x09, 0x57, 0xd1, 0xa1, 0x0e, 0x59, 0x75, 0x8c, 0xd6, 0xa0, 0xc5, 0x07, + 0x50, 0x56, 0x17, 0xfc, 0xa5, 0x52, 0x03, 0x96, 0xd4, 0x34, 0x91, 0xe4, + 0xf0, 0xb9, 0x81, 0xf0, 0x23, 0xaf, 0x5e, 0x09, 0x80, 0x53, 0x04, 0xe8, + 0x87, 0xd7, 0x0a, 0x9f, 0x29, 0xbd, 0xa1, 0x5b, 0xff, 0x72, 0x5b, 0xff, + 0x3e, 0x54, 0xef, 0xca, 0xa4, 0x59, 0x63, 0x42, 0xde, 0xf1, 0x7d, 0xd9, + 0x1c, 0xcb, 0x50, 0x68, +}; +static const struct drbg_kat_pr_false kat1586_t = { + 10, kat1586_entropyin, kat1586_nonce, kat1586_persstr, + kat1586_entropyinreseed, kat1586_addinreseed, kat1586_addin0, + kat1586_addin1, kat1586_retbits +}; +static const struct drbg_kat kat1586 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1586_t +}; + +static const unsigned char kat1587_entropyin[] = { + 0xe8, 0x4c, 0x46, 0x6a, 0x54, 0x1d, 0xea, 0x2d, 0x42, 0x53, 0x36, 0x86, + 0x01, 0x1d, 0x8f, 0xea, +}; +static const unsigned char kat1587_nonce[] = { + 0xb6, 0x87, 0x15, 0x68, 0xd8, 0x83, 0x9e, 0xc5, +}; +static const unsigned char kat1587_persstr[] = {0}; +static const unsigned char kat1587_entropyinreseed[] = { + 0x73, 0x12, 0xed, 0xfa, 0x7a, 0xd5, 0x56, 0xf9, 0x44, 0x00, 0x38, 0x24, + 0x4a, 0x98, 0x4b, 0xf3, +}; +static const unsigned char kat1587_addinreseed[] = { + 0xb5, 0x13, 0x1e, 0xc3, 0x46, 0xe9, 0x70, 0xf2, 0xfe, 0x24, 0x8c, 0xc9, + 0xbb, 0x41, 0xc6, 0x64, +}; +static const unsigned char kat1587_addin0[] = { + 0xf1, 0x80, 0x30, 0x95, 0xa6, 0xe9, 0xe6, 0x29, 0x69, 0xd4, 0x40, 0x29, + 0x42, 0x05, 0x64, 0x73, +}; +static const unsigned char kat1587_addin1[] = { + 0x10, 0xa7, 0xea, 0x90, 0xea, 0x7b, 0x69, 0x75, 0xf0, 0x8a, 0x8d, 0xee, + 0xce, 0xca, 0xa4, 0xf8, +}; +static const unsigned char kat1587_retbits[] = { + 0x15, 0x8a, 0xed, 0xc7, 0x1d, 0xa0, 0x30, 0x4e, 0x1d, 0xfa, 0x23, 0x8d, + 0x30, 0x6f, 0xcc, 0x8b, 0xd7, 0xa7, 0x78, 0x02, 0x74, 0x9d, 0xc9, 0x28, + 0x26, 0x58, 0xfd, 0x9e, 0xed, 0xd5, 0x3f, 0x40, 0xd8, 0x26, 0x3f, 0x34, + 0xd0, 0x89, 0x78, 0x42, 0x67, 0x43, 0x49, 0x12, 0xc7, 0xe6, 0x34, 0xff, + 0xbc, 0x97, 0x90, 0x87, 0x00, 0xce, 0x2b, 0x59, 0x9f, 0x9b, 0x20, 0x0c, + 0x36, 0xad, 0x49, 0xa5, +}; +static const struct drbg_kat_pr_false kat1587_t = { + 11, kat1587_entropyin, kat1587_nonce, kat1587_persstr, + kat1587_entropyinreseed, kat1587_addinreseed, kat1587_addin0, + kat1587_addin1, kat1587_retbits +}; +static const struct drbg_kat kat1587 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1587_t +}; + +static const unsigned char kat1588_entropyin[] = { + 0xd3, 0x32, 0xc0, 0x65, 0x15, 0xe3, 0x66, 0x0a, 0x25, 0xe6, 0x9f, 0xad, + 0x54, 0xe5, 0x83, 0x7c, +}; +static const unsigned char kat1588_nonce[] = { + 0xca, 0x60, 0xe6, 0x71, 0x89, 0x36, 0xfb, 0xd7, +}; +static const unsigned char kat1588_persstr[] = {0}; +static const unsigned char kat1588_entropyinreseed[] = { + 0x50, 0xdc, 0x6d, 0xd9, 0x64, 0x4d, 0x79, 0xd2, 0x8f, 0x05, 0xba, 0xa9, + 0xe2, 0xae, 0x77, 0x2d, +}; +static const unsigned char kat1588_addinreseed[] = { + 0x7a, 0x48, 0xdd, 0x5e, 0xba, 0x3a, 0x69, 0x89, 0x9d, 0x32, 0x53, 0x79, + 0x78, 0x02, 0x43, 0x2f, +}; +static const unsigned char kat1588_addin0[] = { + 0xa5, 0x0c, 0xcb, 0x58, 0x12, 0x3b, 0x0c, 0x37, 0xfa, 0x54, 0x3d, 0x8a, + 0xe5, 0x23, 0xe8, 0xed, +}; +static const unsigned char kat1588_addin1[] = { + 0xce, 0x9e, 0x86, 0x08, 0x90, 0xeb, 0x6b, 0xcd, 0x91, 0xd9, 0x73, 0x3c, + 0xdc, 0xf9, 0x6e, 0x10, +}; +static const unsigned char kat1588_retbits[] = { + 0x06, 0x06, 0x26, 0x49, 0x9e, 0x14, 0x43, 0x85, 0x76, 0xd7, 0x62, 0x1d, + 0x71, 0xf0, 0x1e, 0x4b, 0xe8, 0x74, 0xa9, 0x55, 0x33, 0x0b, 0x0d, 0x5d, + 0x6f, 0xef, 0x37, 0x94, 0xee, 0xb7, 0x61, 0xb4, 0xd1, 0x1a, 0x88, 0xd1, + 0xce, 0x09, 0x94, 0x2e, 0x24, 0x4f, 0xde, 0x57, 0x6d, 0x7e, 0x96, 0x45, + 0x85, 0x42, 0x3d, 0x65, 0x84, 0x72, 0x6e, 0xb7, 0x98, 0xf3, 0x57, 0x72, + 0xca, 0xea, 0x1d, 0xf6, +}; +static const struct drbg_kat_pr_false kat1588_t = { + 12, kat1588_entropyin, kat1588_nonce, kat1588_persstr, + kat1588_entropyinreseed, kat1588_addinreseed, kat1588_addin0, + kat1588_addin1, kat1588_retbits +}; +static const struct drbg_kat kat1588 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1588_t +}; + +static const unsigned char kat1589_entropyin[] = { + 0x47, 0x5e, 0x49, 0x05, 0xd8, 0xc9, 0x68, 0xd8, 0x64, 0x37, 0x45, 0x3f, + 0x58, 0x88, 0x66, 0x93, +}; +static const unsigned char kat1589_nonce[] = { + 0x4a, 0x93, 0x66, 0xba, 0x7f, 0xe4, 0x10, 0x8e, +}; +static const unsigned char kat1589_persstr[] = {0}; +static const unsigned char kat1589_entropyinreseed[] = { + 0xf0, 0x0f, 0x3c, 0x00, 0xe3, 0x22, 0xb4, 0xa4, 0x38, 0x8d, 0x4b, 0x5c, + 0x81, 0xa7, 0x46, 0xb6, +}; +static const unsigned char kat1589_addinreseed[] = { + 0x8b, 0xae, 0x1a, 0x96, 0xca, 0x83, 0x9d, 0x48, 0xda, 0x80, 0xd2, 0xfd, + 0x65, 0x6d, 0x70, 0x80, +}; +static const unsigned char kat1589_addin0[] = { + 0x24, 0xef, 0x11, 0x25, 0x11, 0xb6, 0xfb, 0x0b, 0x0c, 0xe5, 0x69, 0xb6, + 0x42, 0xda, 0x3e, 0x41, +}; +static const unsigned char kat1589_addin1[] = { + 0xbf, 0x74, 0x39, 0x94, 0xd4, 0x9f, 0x01, 0x43, 0x5d, 0x3f, 0x65, 0x05, + 0xe4, 0x10, 0x8c, 0x06, +}; +static const unsigned char kat1589_retbits[] = { + 0x57, 0x98, 0x05, 0xd6, 0x4a, 0x46, 0x71, 0x44, 0x43, 0x42, 0x32, 0x92, + 0x14, 0x2e, 0x39, 0x04, 0x94, 0xd8, 0xec, 0x9f, 0x42, 0xa6, 0x5a, 0x48, + 0x11, 0x29, 0xf6, 0x54, 0x8a, 0x0b, 0xbd, 0x3d, 0xb2, 0x4b, 0x90, 0x2e, + 0x48, 0xc0, 0xd4, 0x97, 0x70, 0x27, 0x53, 0x8a, 0xb7, 0x54, 0x47, 0xe7, + 0x11, 0x53, 0x80, 0xfc, 0x45, 0x3d, 0x25, 0x25, 0x0a, 0x8c, 0x97, 0xda, + 0x5d, 0x0c, 0x86, 0xfb, +}; +static const struct drbg_kat_pr_false kat1589_t = { + 13, kat1589_entropyin, kat1589_nonce, kat1589_persstr, + kat1589_entropyinreseed, kat1589_addinreseed, kat1589_addin0, + kat1589_addin1, kat1589_retbits +}; +static const struct drbg_kat kat1589 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1589_t +}; + +static const unsigned char kat1590_entropyin[] = { + 0xc0, 0xe1, 0x8b, 0x81, 0x10, 0xf4, 0x92, 0xc5, 0x2e, 0xa1, 0x3a, 0x86, + 0x79, 0x9b, 0x5b, 0x23, +}; +static const unsigned char kat1590_nonce[] = { + 0x8c, 0x8d, 0x05, 0x21, 0xb4, 0x3e, 0x17, 0xf4, +}; +static const unsigned char kat1590_persstr[] = {0}; +static const unsigned char kat1590_entropyinreseed[] = { + 0x1c, 0x6d, 0x2c, 0x89, 0x90, 0x74, 0xc7, 0x6e, 0x08, 0xed, 0xc7, 0xbf, + 0xd8, 0xb8, 0xed, 0x06, +}; +static const unsigned char kat1590_addinreseed[] = { + 0x0c, 0xc1, 0xfc, 0xcd, 0x3b, 0x6c, 0x0d, 0x9a, 0xeb, 0x4a, 0xda, 0x6f, + 0x40, 0x00, 0x96, 0x03, +}; +static const unsigned char kat1590_addin0[] = { + 0xee, 0x07, 0x99, 0x55, 0x88, 0x6e, 0x85, 0xe7, 0xcb, 0x9d, 0x76, 0xb5, + 0xdd, 0xc4, 0x0c, 0x14, +}; +static const unsigned char kat1590_addin1[] = { + 0xb0, 0xc1, 0x05, 0x48, 0xfe, 0x95, 0x4e, 0x2d, 0x78, 0x89, 0x33, 0xcc, + 0xb3, 0x5f, 0x56, 0x1b, +}; +static const unsigned char kat1590_retbits[] = { + 0x92, 0x67, 0xed, 0x60, 0x5e, 0x90, 0xe1, 0x5a, 0x37, 0x03, 0xf1, 0x51, + 0x7d, 0xaa, 0x7c, 0xda, 0xa0, 0x3c, 0xfd, 0x8f, 0x0d, 0x96, 0xc5, 0x69, + 0xdd, 0xea, 0x42, 0x9c, 0xf8, 0x26, 0xb3, 0x9f, 0xa9, 0x7c, 0xdb, 0x81, + 0x03, 0xce, 0x59, 0x0c, 0x5e, 0x91, 0xb6, 0xa8, 0xd6, 0xbd, 0x93, 0x63, + 0x77, 0x58, 0xb5, 0x3b, 0xcf, 0x0f, 0xc6, 0xa0, 0xb4, 0x76, 0x24, 0x5f, + 0x94, 0xb5, 0x95, 0x4e, +}; +static const struct drbg_kat_pr_false kat1590_t = { + 14, kat1590_entropyin, kat1590_nonce, kat1590_persstr, + kat1590_entropyinreseed, kat1590_addinreseed, kat1590_addin0, + kat1590_addin1, kat1590_retbits +}; +static const struct drbg_kat kat1590 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1590_t +}; + +static const unsigned char kat1591_entropyin[] = { + 0xae, 0x5a, 0x2f, 0x97, 0x26, 0xea, 0x95, 0x3e, 0x4e, 0xc0, 0x57, 0xc4, + 0xc9, 0x6d, 0xdd, 0x83, +}; +static const unsigned char kat1591_nonce[] = { + 0x7f, 0xe8, 0x15, 0xf7, 0x35, 0x25, 0x3b, 0xf2, +}; +static const unsigned char kat1591_persstr[] = { + 0xd4, 0x91, 0x4e, 0x88, 0x70, 0xc2, 0x98, 0x36, 0x5c, 0x8c, 0x5d, 0xf2, + 0x16, 0xd2, 0x59, 0xf3, +}; +static const unsigned char kat1591_entropyinreseed[] = { + 0x2c, 0xf2, 0xfa, 0xd8, 0xc5, 0x9c, 0x50, 0x50, 0x86, 0x08, 0x55, 0x55, + 0x49, 0xcd, 0x61, 0x1e, +}; +static const unsigned char kat1591_addinreseed[] = {0}; +static const unsigned char kat1591_addin0[] = {0}; +static const unsigned char kat1591_addin1[] = {0}; +static const unsigned char kat1591_retbits[] = { + 0xf9, 0x12, 0x0e, 0xaa, 0x71, 0xe3, 0xd8, 0x54, 0x33, 0x33, 0xcb, 0xd0, + 0xa8, 0x3b, 0x46, 0xec, 0x86, 0xa2, 0x22, 0x00, 0x87, 0x86, 0x16, 0x10, + 0x6c, 0x86, 0x6e, 0x13, 0xa8, 0xcb, 0xd6, 0x46, 0x91, 0x5a, 0xd8, 0x1c, + 0x7a, 0x11, 0xae, 0xd8, 0x39, 0x6a, 0x25, 0xf9, 0x8b, 0x32, 0x4b, 0x53, + 0x52, 0xea, 0xff, 0xd5, 0x01, 0xfd, 0xc9, 0x92, 0x0b, 0x53, 0x53, 0x59, + 0x0e, 0xb0, 0x40, 0x9f, +}; +static const struct drbg_kat_pr_false kat1591_t = { + 0, kat1591_entropyin, kat1591_nonce, kat1591_persstr, + kat1591_entropyinreseed, kat1591_addinreseed, kat1591_addin0, + kat1591_addin1, kat1591_retbits +}; +static const struct drbg_kat kat1591 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1591_t +}; + +static const unsigned char kat1592_entropyin[] = { + 0x95, 0xee, 0x91, 0x7d, 0x26, 0x61, 0x31, 0xbf, 0xd6, 0x90, 0xce, 0xde, + 0x3e, 0x20, 0xfe, 0x6e, +}; +static const unsigned char kat1592_nonce[] = { + 0x37, 0x68, 0xc2, 0x91, 0x57, 0xe4, 0x19, 0x2e, +}; +static const unsigned char kat1592_persstr[] = { + 0x0f, 0x89, 0x37, 0x5d, 0xa6, 0xb2, 0xf7, 0xaa, 0x5e, 0x8e, 0x86, 0xc9, + 0x8e, 0x09, 0x28, 0x89, +}; +static const unsigned char kat1592_entropyinreseed[] = { + 0x78, 0xe5, 0x9c, 0x9b, 0x60, 0x28, 0x2f, 0xe5, 0x51, 0x08, 0xeb, 0x89, + 0x6c, 0x16, 0x27, 0xf4, +}; +static const unsigned char kat1592_addinreseed[] = {0}; +static const unsigned char kat1592_addin0[] = {0}; +static const unsigned char kat1592_addin1[] = {0}; +static const unsigned char kat1592_retbits[] = { + 0x21, 0xf4, 0x5f, 0x0f, 0x87, 0x95, 0x53, 0x85, 0xb3, 0xa6, 0x04, 0xf8, + 0x7f, 0x7a, 0x77, 0x0f, 0xdc, 0x4e, 0x4c, 0x2d, 0x6c, 0xcb, 0x7c, 0xf5, + 0x34, 0x87, 0xd9, 0x9c, 0x9e, 0x11, 0xbc, 0xfd, 0x88, 0x6f, 0x22, 0x23, + 0x45, 0x17, 0x77, 0x08, 0x0f, 0xe4, 0x9e, 0x3b, 0x8a, 0x40, 0x59, 0xa8, + 0x3c, 0x54, 0x66, 0x10, 0x10, 0x7c, 0x9a, 0xa9, 0xa1, 0x51, 0x52, 0x2c, + 0x72, 0x19, 0x63, 0x4a, +}; +static const struct drbg_kat_pr_false kat1592_t = { + 1, kat1592_entropyin, kat1592_nonce, kat1592_persstr, + kat1592_entropyinreseed, kat1592_addinreseed, kat1592_addin0, + kat1592_addin1, kat1592_retbits +}; +static const struct drbg_kat kat1592 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1592_t +}; + +static const unsigned char kat1593_entropyin[] = { + 0x24, 0x4b, 0x4a, 0xac, 0xc4, 0x03, 0xb0, 0x8f, 0x4f, 0xd8, 0x0d, 0xd6, + 0x55, 0xd2, 0x63, 0x9d, +}; +static const unsigned char kat1593_nonce[] = { + 0x41, 0x63, 0x9d, 0x03, 0x15, 0x11, 0x3f, 0xa6, +}; +static const unsigned char kat1593_persstr[] = { + 0xac, 0x58, 0x7a, 0x5c, 0x8d, 0xd7, 0x0b, 0x82, 0x38, 0xbb, 0x8a, 0xc6, + 0x73, 0xef, 0x8c, 0xbc, +}; +static const unsigned char kat1593_entropyinreseed[] = { + 0xa4, 0xbb, 0x89, 0xbd, 0x6b, 0xe8, 0x58, 0xc9, 0x28, 0x90, 0x53, 0xa2, + 0x45, 0xc4, 0x7c, 0xa1, +}; +static const unsigned char kat1593_addinreseed[] = {0}; +static const unsigned char kat1593_addin0[] = {0}; +static const unsigned char kat1593_addin1[] = {0}; +static const unsigned char kat1593_retbits[] = { + 0x90, 0xb5, 0x99, 0x89, 0x32, 0x5f, 0x3e, 0x7f, 0xda, 0x22, 0x5c, 0x21, + 0x89, 0xcf, 0x7f, 0x6c, 0xd4, 0xa4, 0xc4, 0x34, 0x86, 0xb4, 0x2b, 0xb7, + 0xaf, 0x90, 0xf6, 0xf2, 0xb1, 0x5f, 0x9d, 0xe5, 0x4a, 0x3f, 0xb4, 0xe1, + 0xc8, 0x4b, 0x76, 0x24, 0x91, 0x53, 0xcb, 0x6f, 0x6e, 0x2a, 0xad, 0x8d, + 0xed, 0xfd, 0x17, 0xb9, 0x02, 0x52, 0x22, 0x85, 0x59, 0xec, 0xc8, 0xa7, + 0xd7, 0x18, 0xde, 0xc4, +}; +static const struct drbg_kat_pr_false kat1593_t = { + 2, kat1593_entropyin, kat1593_nonce, kat1593_persstr, + kat1593_entropyinreseed, kat1593_addinreseed, kat1593_addin0, + kat1593_addin1, kat1593_retbits +}; +static const struct drbg_kat kat1593 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1593_t +}; + +static const unsigned char kat1594_entropyin[] = { + 0x6e, 0xc8, 0x2c, 0x6c, 0x91, 0x3e, 0x33, 0xa1, 0x17, 0x56, 0xee, 0xf8, + 0x44, 0x57, 0xb7, 0x66, +}; +static const unsigned char kat1594_nonce[] = { + 0x17, 0x74, 0xb2, 0x7c, 0xd4, 0xc3, 0x37, 0x84, +}; +static const unsigned char kat1594_persstr[] = { + 0x80, 0x8c, 0x58, 0xbc, 0xfe, 0xcd, 0x08, 0x26, 0xb2, 0x95, 0xf4, 0x01, + 0x08, 0xba, 0x20, 0xd4, +}; +static const unsigned char kat1594_entropyinreseed[] = { + 0xf8, 0xcb, 0x5b, 0xf5, 0xe6, 0x8c, 0xcd, 0xc4, 0x34, 0x88, 0xf2, 0x57, + 0x8b, 0xb4, 0xa5, 0xf0, +}; +static const unsigned char kat1594_addinreseed[] = {0}; +static const unsigned char kat1594_addin0[] = {0}; +static const unsigned char kat1594_addin1[] = {0}; +static const unsigned char kat1594_retbits[] = { + 0x11, 0xe8, 0xe8, 0x16, 0x05, 0x3b, 0xc0, 0x66, 0xbe, 0x8e, 0x97, 0x06, + 0xd3, 0xf9, 0x37, 0xcb, 0xf9, 0x8e, 0x50, 0xec, 0xa8, 0x05, 0x64, 0x61, + 0x38, 0xb4, 0x1f, 0xa6, 0xa6, 0xd4, 0xa3, 0x58, 0x07, 0x7f, 0xb7, 0x94, + 0xa6, 0x9f, 0xdf, 0xad, 0xdd, 0x75, 0xc4, 0xbb, 0xb5, 0xe6, 0xf7, 0x1d, + 0x7c, 0x5e, 0x8c, 0xb0, 0x88, 0xbb, 0x25, 0x16, 0x2e, 0x25, 0xea, 0xca, + 0xaa, 0x1c, 0x4d, 0x1c, +}; +static const struct drbg_kat_pr_false kat1594_t = { + 3, kat1594_entropyin, kat1594_nonce, kat1594_persstr, + kat1594_entropyinreseed, kat1594_addinreseed, kat1594_addin0, + kat1594_addin1, kat1594_retbits +}; +static const struct drbg_kat kat1594 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1594_t +}; + +static const unsigned char kat1595_entropyin[] = { + 0xe3, 0xf0, 0x25, 0x98, 0x4f, 0xa7, 0xc8, 0x78, 0xc0, 0xd1, 0xf9, 0x72, + 0x15, 0xab, 0xe4, 0x74, +}; +static const unsigned char kat1595_nonce[] = { + 0x33, 0xcc, 0xc2, 0xed, 0x46, 0x6c, 0x1e, 0x7b, +}; +static const unsigned char kat1595_persstr[] = { + 0x37, 0x30, 0x78, 0x36, 0xb1, 0x53, 0x55, 0x44, 0x7a, 0x63, 0x5f, 0x28, + 0xcc, 0xe0, 0x38, 0x88, +}; +static const unsigned char kat1595_entropyinreseed[] = { + 0x33, 0x46, 0xd3, 0x89, 0x74, 0x29, 0x20, 0xc8, 0x1e, 0xc7, 0xc9, 0x31, + 0x9f, 0x45, 0x7f, 0x85, +}; +static const unsigned char kat1595_addinreseed[] = {0}; +static const unsigned char kat1595_addin0[] = {0}; +static const unsigned char kat1595_addin1[] = {0}; +static const unsigned char kat1595_retbits[] = { + 0xb1, 0xc9, 0x19, 0x52, 0xea, 0xcb, 0x72, 0xb4, 0xf7, 0x3b, 0x96, 0x0c, + 0xe4, 0xf2, 0x28, 0xd1, 0x8e, 0xd3, 0xcb, 0x22, 0xe4, 0xa8, 0x70, 0x72, + 0xf8, 0x9c, 0xb8, 0x65, 0xad, 0xbf, 0x4d, 0x38, 0xe3, 0xd8, 0xa0, 0x9d, + 0x1c, 0x1b, 0xb3, 0xc7, 0x1d, 0x9e, 0x63, 0xd7, 0xcd, 0x59, 0xc2, 0x54, + 0x41, 0x86, 0xb8, 0x6e, 0xaf, 0x79, 0xfa, 0x16, 0x51, 0x44, 0xad, 0x9c, + 0x39, 0x09, 0x32, 0x1a, +}; +static const struct drbg_kat_pr_false kat1595_t = { + 4, kat1595_entropyin, kat1595_nonce, kat1595_persstr, + kat1595_entropyinreseed, kat1595_addinreseed, kat1595_addin0, + kat1595_addin1, kat1595_retbits +}; +static const struct drbg_kat kat1595 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1595_t +}; + +static const unsigned char kat1596_entropyin[] = { + 0x8f, 0xf3, 0x5a, 0x1a, 0xc0, 0x80, 0xdf, 0xf9, 0x7d, 0xed, 0x22, 0x16, + 0x21, 0x16, 0x6a, 0x86, +}; +static const unsigned char kat1596_nonce[] = { + 0xf7, 0x8a, 0xad, 0x37, 0x93, 0x9c, 0x78, 0x8c, +}; +static const unsigned char kat1596_persstr[] = { + 0xfb, 0xc5, 0xb6, 0x1a, 0x7c, 0x04, 0x85, 0x1f, 0x06, 0x90, 0xec, 0x4c, + 0xc8, 0x70, 0x27, 0x57, +}; +static const unsigned char kat1596_entropyinreseed[] = { + 0xe2, 0x51, 0xfd, 0x54, 0xe0, 0xe6, 0x66, 0x60, 0xd5, 0xea, 0x10, 0xa7, + 0xed, 0xd2, 0x20, 0x29, +}; +static const unsigned char kat1596_addinreseed[] = {0}; +static const unsigned char kat1596_addin0[] = {0}; +static const unsigned char kat1596_addin1[] = {0}; +static const unsigned char kat1596_retbits[] = { + 0xd4, 0xd3, 0x13, 0x90, 0x7b, 0x08, 0x29, 0x3c, 0x1a, 0x03, 0xcd, 0x3d, + 0x9a, 0x63, 0x19, 0x2f, 0x44, 0x67, 0x7d, 0x37, 0x0c, 0xe3, 0x20, 0x50, + 0x1b, 0x5f, 0xaf, 0x2c, 0xd6, 0x6f, 0xa8, 0xfa, 0x4f, 0xd1, 0xdd, 0x3f, + 0x34, 0x03, 0x26, 0xa9, 0x9b, 0x8b, 0x5e, 0x5b, 0x02, 0xa6, 0x36, 0xee, + 0xb0, 0x4f, 0xbb, 0x0f, 0x31, 0xf1, 0x93, 0xbe, 0x24, 0x34, 0x2e, 0x6f, + 0xaa, 0x3b, 0xc2, 0x33, +}; +static const struct drbg_kat_pr_false kat1596_t = { + 5, kat1596_entropyin, kat1596_nonce, kat1596_persstr, + kat1596_entropyinreseed, kat1596_addinreseed, kat1596_addin0, + kat1596_addin1, kat1596_retbits +}; +static const struct drbg_kat kat1596 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1596_t +}; + +static const unsigned char kat1597_entropyin[] = { + 0x8d, 0xff, 0x98, 0x53, 0xcc, 0xa3, 0x15, 0xff, 0x7e, 0x45, 0xa1, 0x3b, + 0x1d, 0xc2, 0x00, 0x95, +}; +static const unsigned char kat1597_nonce[] = { + 0x7e, 0x16, 0x07, 0x80, 0xd6, 0x97, 0x25, 0x5b, +}; +static const unsigned char kat1597_persstr[] = { + 0x62, 0x80, 0x55, 0xef, 0x3a, 0x08, 0x49, 0x67, 0xaa, 0x28, 0x7f, 0x62, + 0x6d, 0x0d, 0x8c, 0xaa, +}; +static const unsigned char kat1597_entropyinreseed[] = { + 0x8a, 0xd8, 0xeb, 0x28, 0xce, 0x1b, 0xad, 0x08, 0xf4, 0xa2, 0x4f, 0x3b, + 0x65, 0x3e, 0x45, 0x5e, +}; +static const unsigned char kat1597_addinreseed[] = {0}; +static const unsigned char kat1597_addin0[] = {0}; +static const unsigned char kat1597_addin1[] = {0}; +static const unsigned char kat1597_retbits[] = { + 0xd6, 0x57, 0x78, 0x08, 0x4c, 0xa5, 0x05, 0x56, 0x13, 0x55, 0xb8, 0xc3, + 0xc8, 0xcd, 0x08, 0x33, 0xcc, 0x94, 0xc6, 0x80, 0x38, 0xb0, 0x0f, 0x38, + 0xee, 0x59, 0x3f, 0x0b, 0xca, 0xd7, 0x97, 0xff, 0x6e, 0xd2, 0xdd, 0xd9, + 0x8f, 0x9c, 0x65, 0x31, 0x80, 0x94, 0xb4, 0x3c, 0x25, 0xdc, 0x59, 0xb6, + 0xbb, 0xb0, 0xd3, 0x1f, 0x79, 0xc0, 0x44, 0xf9, 0x10, 0xda, 0xbb, 0xd6, + 0xc1, 0xbc, 0xc5, 0x4b, +}; +static const struct drbg_kat_pr_false kat1597_t = { + 6, kat1597_entropyin, kat1597_nonce, kat1597_persstr, + kat1597_entropyinreseed, kat1597_addinreseed, kat1597_addin0, + kat1597_addin1, kat1597_retbits +}; +static const struct drbg_kat kat1597 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1597_t +}; + +static const unsigned char kat1598_entropyin[] = { + 0x11, 0x8e, 0x19, 0xa3, 0x1c, 0xcd, 0xd1, 0x4b, 0x84, 0x49, 0xe6, 0xb1, + 0x2e, 0x13, 0x40, 0xb0, +}; +static const unsigned char kat1598_nonce[] = { + 0x22, 0x18, 0x7a, 0x3a, 0xbb, 0x44, 0x77, 0xa0, +}; +static const unsigned char kat1598_persstr[] = { + 0xe7, 0xb8, 0x85, 0x95, 0x2c, 0x83, 0x88, 0x4e, 0xa6, 0xa9, 0x6c, 0x1a, + 0x51, 0xee, 0x7e, 0xd5, +}; +static const unsigned char kat1598_entropyinreseed[] = { + 0x8d, 0xb1, 0x4d, 0x02, 0xf1, 0xf6, 0x3c, 0x38, 0x5d, 0xfd, 0x55, 0x92, + 0xaa, 0xea, 0x1c, 0x2e, +}; +static const unsigned char kat1598_addinreseed[] = {0}; +static const unsigned char kat1598_addin0[] = {0}; +static const unsigned char kat1598_addin1[] = {0}; +static const unsigned char kat1598_retbits[] = { + 0x15, 0x47, 0x8c, 0xc9, 0xc1, 0x2d, 0xf7, 0x0e, 0x18, 0x20, 0x08, 0xb8, + 0x60, 0xe0, 0xc4, 0xde, 0x5d, 0x8d, 0xfc, 0x37, 0x5b, 0xb6, 0x86, 0xc5, + 0x8e, 0xb6, 0x94, 0xf4, 0x81, 0x7b, 0x4b, 0x0c, 0x37, 0x3d, 0xe5, 0x3c, + 0x49, 0x01, 0xb6, 0x4d, 0x91, 0x5b, 0xba, 0xf7, 0xa4, 0x1a, 0x43, 0x60, + 0xae, 0xa9, 0xcb, 0x99, 0x6e, 0xe3, 0xd5, 0x15, 0x56, 0xfb, 0xa9, 0xb0, + 0xc3, 0x19, 0x6b, 0xd4, +}; +static const struct drbg_kat_pr_false kat1598_t = { + 7, kat1598_entropyin, kat1598_nonce, kat1598_persstr, + kat1598_entropyinreseed, kat1598_addinreseed, kat1598_addin0, + kat1598_addin1, kat1598_retbits +}; +static const struct drbg_kat kat1598 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1598_t +}; + +static const unsigned char kat1599_entropyin[] = { + 0x83, 0xf3, 0xf7, 0xad, 0xeb, 0x93, 0x2e, 0x3b, 0x80, 0x3f, 0x43, 0x52, + 0x13, 0xa3, 0x28, 0x3e, +}; +static const unsigned char kat1599_nonce[] = { + 0x24, 0x8d, 0x7a, 0xf9, 0xce, 0x6e, 0x41, 0x67, +}; +static const unsigned char kat1599_persstr[] = { + 0x39, 0xfc, 0xae, 0x72, 0x6d, 0xbe, 0x65, 0x1b, 0xc8, 0x0e, 0x56, 0xa7, + 0xec, 0x19, 0xfa, 0x60, +}; +static const unsigned char kat1599_entropyinreseed[] = { + 0x0b, 0xfe, 0x69, 0xb9, 0xab, 0xc8, 0xa7, 0x6c, 0x06, 0x3e, 0x06, 0xd3, + 0x61, 0x7e, 0x41, 0x47, +}; +static const unsigned char kat1599_addinreseed[] = {0}; +static const unsigned char kat1599_addin0[] = {0}; +static const unsigned char kat1599_addin1[] = {0}; +static const unsigned char kat1599_retbits[] = { + 0x7e, 0x6f, 0x2e, 0xe5, 0x70, 0x13, 0x7a, 0xbe, 0x6c, 0x6e, 0x8d, 0xb2, + 0x55, 0x6b, 0x2d, 0x30, 0xf8, 0x7a, 0xea, 0x4f, 0xea, 0x5f, 0xa0, 0x63, + 0xa1, 0x10, 0xe9, 0x42, 0xae, 0xc4, 0xa2, 0x77, 0x0b, 0x57, 0x1b, 0xad, + 0x44, 0xf0, 0x7d, 0x39, 0x89, 0xe9, 0xad, 0xff, 0x29, 0x18, 0xbe, 0xbc, + 0x04, 0x62, 0x8a, 0x88, 0xee, 0xca, 0x6c, 0x6f, 0x2c, 0xea, 0x7c, 0xc3, + 0x38, 0xee, 0xb6, 0x70, +}; +static const struct drbg_kat_pr_false kat1599_t = { + 8, kat1599_entropyin, kat1599_nonce, kat1599_persstr, + kat1599_entropyinreseed, kat1599_addinreseed, kat1599_addin0, + kat1599_addin1, kat1599_retbits +}; +static const struct drbg_kat kat1599 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1599_t +}; + +static const unsigned char kat1600_entropyin[] = { + 0x2d, 0xe9, 0x89, 0xec, 0x6d, 0x0d, 0xa9, 0xeb, 0xcc, 0x02, 0xf7, 0x24, + 0xa4, 0x47, 0x67, 0x12, +}; +static const unsigned char kat1600_nonce[] = { + 0xf2, 0xf3, 0x79, 0x4d, 0x18, 0xac, 0x2b, 0xcd, +}; +static const unsigned char kat1600_persstr[] = { + 0xc5, 0x0a, 0xc1, 0x7e, 0x4a, 0x68, 0xf7, 0xf0, 0x2d, 0x68, 0x20, 0x65, + 0x3f, 0x0a, 0x71, 0xfd, +}; +static const unsigned char kat1600_entropyinreseed[] = { + 0x35, 0x09, 0x27, 0xee, 0xc6, 0x63, 0x63, 0x05, 0xba, 0xbd, 0x0f, 0xee, + 0xe2, 0x43, 0x08, 0x2f, +}; +static const unsigned char kat1600_addinreseed[] = {0}; +static const unsigned char kat1600_addin0[] = {0}; +static const unsigned char kat1600_addin1[] = {0}; +static const unsigned char kat1600_retbits[] = { + 0xda, 0xb2, 0x04, 0xce, 0x72, 0xaf, 0xd6, 0xcd, 0x25, 0x6a, 0x17, 0x54, + 0xab, 0x7e, 0xbe, 0x42, 0x4d, 0x4b, 0xfc, 0x6a, 0xee, 0xac, 0x9b, 0x6b, + 0xbd, 0x06, 0xe7, 0x9f, 0x21, 0x28, 0x63, 0x45, 0x45, 0x7b, 0x5f, 0xd4, + 0x62, 0x81, 0xc1, 0x45, 0xee, 0xc4, 0x50, 0x22, 0x58, 0x23, 0xc7, 0x59, + 0x6e, 0x18, 0xb7, 0xbc, 0xbb, 0x37, 0x98, 0x45, 0xa3, 0x84, 0xab, 0x48, + 0xd8, 0xa5, 0x55, 0xb3, +}; +static const struct drbg_kat_pr_false kat1600_t = { + 9, kat1600_entropyin, kat1600_nonce, kat1600_persstr, + kat1600_entropyinreseed, kat1600_addinreseed, kat1600_addin0, + kat1600_addin1, kat1600_retbits +}; +static const struct drbg_kat kat1600 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1600_t +}; + +static const unsigned char kat1601_entropyin[] = { + 0x76, 0x0f, 0xa0, 0x51, 0x53, 0x04, 0xe5, 0x24, 0x74, 0x3c, 0xa5, 0x63, + 0xba, 0xf2, 0x48, 0xf7, +}; +static const unsigned char kat1601_nonce[] = { + 0x46, 0x86, 0xbf, 0x04, 0x37, 0xa2, 0x86, 0xad, +}; +static const unsigned char kat1601_persstr[] = { + 0xb0, 0x39, 0x22, 0xe8, 0x92, 0x34, 0x93, 0xd2, 0x22, 0x7a, 0x1b, 0xff, + 0xc9, 0xee, 0x7c, 0x09, +}; +static const unsigned char kat1601_entropyinreseed[] = { + 0x70, 0x29, 0x4a, 0xab, 0xa8, 0x04, 0x2e, 0x77, 0x0e, 0x2e, 0xdd, 0x6a, + 0x02, 0xd3, 0x65, 0xaa, +}; +static const unsigned char kat1601_addinreseed[] = {0}; +static const unsigned char kat1601_addin0[] = {0}; +static const unsigned char kat1601_addin1[] = {0}; +static const unsigned char kat1601_retbits[] = { + 0xee, 0xc8, 0xb2, 0x57, 0x7c, 0xb1, 0x03, 0x75, 0xf5, 0x6f, 0x8a, 0xa8, + 0x78, 0x9c, 0xc8, 0x16, 0xc0, 0xbf, 0xd4, 0xb9, 0x28, 0xf2, 0xb5, 0xaf, + 0xdd, 0xbe, 0x8f, 0xdd, 0xb1, 0x4b, 0x0f, 0xaa, 0x1d, 0xfd, 0xba, 0x51, + 0x88, 0xa2, 0x86, 0x25, 0x23, 0xcf, 0x4c, 0x44, 0xce, 0x1d, 0x90, 0xe1, + 0x2a, 0x1f, 0xcd, 0x42, 0x26, 0x3b, 0x30, 0x5e, 0x2d, 0x85, 0xd3, 0xc4, + 0x0f, 0x56, 0x3b, 0x14, +}; +static const struct drbg_kat_pr_false kat1601_t = { + 10, kat1601_entropyin, kat1601_nonce, kat1601_persstr, + kat1601_entropyinreseed, kat1601_addinreseed, kat1601_addin0, + kat1601_addin1, kat1601_retbits +}; +static const struct drbg_kat kat1601 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1601_t +}; + +static const unsigned char kat1602_entropyin[] = { + 0xe1, 0x02, 0xad, 0x43, 0x7a, 0xa0, 0xa7, 0xdb, 0xd8, 0x50, 0x60, 0x83, + 0x77, 0xaf, 0xef, 0x1c, +}; +static const unsigned char kat1602_nonce[] = { + 0x0c, 0x12, 0x14, 0xcf, 0xc9, 0xb3, 0xb4, 0x50, +}; +static const unsigned char kat1602_persstr[] = { + 0x15, 0xa7, 0x9c, 0xbb, 0xd9, 0xec, 0x83, 0x9e, 0xfc, 0x49, 0xa1, 0x03, + 0x0e, 0x8c, 0x20, 0xae, +}; +static const unsigned char kat1602_entropyinreseed[] = { + 0x84, 0x64, 0xc0, 0xfb, 0x73, 0x35, 0x30, 0x5f, 0x54, 0x57, 0x1f, 0x29, + 0x51, 0x27, 0x21, 0x15, +}; +static const unsigned char kat1602_addinreseed[] = {0}; +static const unsigned char kat1602_addin0[] = {0}; +static const unsigned char kat1602_addin1[] = {0}; +static const unsigned char kat1602_retbits[] = { + 0xb6, 0xb1, 0x8e, 0x26, 0xd9, 0x0e, 0x70, 0xe0, 0xb7, 0x86, 0xff, 0x64, + 0x08, 0x40, 0x27, 0x3e, 0xe0, 0x86, 0xbf, 0x03, 0x20, 0x59, 0x05, 0xfe, + 0x1c, 0xdb, 0x2e, 0x9e, 0x89, 0x2f, 0x0b, 0x2a, 0xa2, 0xd6, 0xe7, 0x8e, + 0xcd, 0x3c, 0xee, 0x2d, 0x99, 0x28, 0x61, 0x60, 0xc2, 0x94, 0xdc, 0x36, + 0x8e, 0xd4, 0x5e, 0x2e, 0xb3, 0x31, 0xd0, 0x3b, 0xad, 0x58, 0xf4, 0xb5, + 0xcc, 0x50, 0x50, 0x53, +}; +static const struct drbg_kat_pr_false kat1602_t = { + 11, kat1602_entropyin, kat1602_nonce, kat1602_persstr, + kat1602_entropyinreseed, kat1602_addinreseed, kat1602_addin0, + kat1602_addin1, kat1602_retbits +}; +static const struct drbg_kat kat1602 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1602_t +}; + +static const unsigned char kat1603_entropyin[] = { + 0x90, 0xa9, 0xac, 0xc6, 0x56, 0x6b, 0x8b, 0xa0, 0xdb, 0x4e, 0xd5, 0xba, + 0x9b, 0x7d, 0x19, 0xd9, +}; +static const unsigned char kat1603_nonce[] = { + 0x74, 0xb6, 0xc9, 0x43, 0x76, 0x1b, 0x95, 0x68, +}; +static const unsigned char kat1603_persstr[] = { + 0x6b, 0xd1, 0x6b, 0xc6, 0xb0, 0x29, 0xab, 0x5f, 0x76, 0x68, 0x3b, 0xe7, + 0x12, 0xdc, 0x32, 0x72, +}; +static const unsigned char kat1603_entropyinreseed[] = { + 0xfe, 0xe3, 0xad, 0x6f, 0x48, 0x45, 0x84, 0xb3, 0x16, 0x3a, 0x21, 0x3f, + 0x19, 0x9a, 0x4d, 0x42, +}; +static const unsigned char kat1603_addinreseed[] = {0}; +static const unsigned char kat1603_addin0[] = {0}; +static const unsigned char kat1603_addin1[] = {0}; +static const unsigned char kat1603_retbits[] = { + 0xa3, 0xcc, 0x0d, 0xf5, 0x3f, 0x0d, 0x51, 0x6a, 0x27, 0x9a, 0x25, 0x3e, + 0x68, 0x53, 0xb1, 0x46, 0xa4, 0xbd, 0xed, 0x0c, 0x27, 0x0a, 0xe6, 0x61, + 0xe1, 0x9f, 0xaa, 0xcc, 0x5a, 0x76, 0x45, 0x15, 0xd0, 0x15, 0x66, 0x88, + 0x2f, 0x88, 0xde, 0x51, 0x60, 0xf4, 0x02, 0xe2, 0xce, 0x0e, 0xc4, 0x6d, + 0x1d, 0x7d, 0x50, 0x28, 0x94, 0x46, 0xde, 0x69, 0xac, 0x9d, 0x88, 0x9a, + 0xe1, 0x08, 0x82, 0xfa, +}; +static const struct drbg_kat_pr_false kat1603_t = { + 12, kat1603_entropyin, kat1603_nonce, kat1603_persstr, + kat1603_entropyinreseed, kat1603_addinreseed, kat1603_addin0, + kat1603_addin1, kat1603_retbits +}; +static const struct drbg_kat kat1603 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1603_t +}; + +static const unsigned char kat1604_entropyin[] = { + 0xa9, 0xc5, 0xfa, 0x1f, 0xd1, 0x5d, 0xc3, 0x5a, 0xcf, 0xd2, 0x59, 0x81, + 0xdd, 0x54, 0x7b, 0x56, +}; +static const unsigned char kat1604_nonce[] = { + 0x26, 0x74, 0x04, 0x71, 0x4f, 0x70, 0xa7, 0xcf, +}; +static const unsigned char kat1604_persstr[] = { + 0x61, 0x07, 0x14, 0x92, 0x22, 0x90, 0x36, 0x0d, 0x49, 0x19, 0xa9, 0xf1, + 0xf4, 0x71, 0xbb, 0xc6, +}; +static const unsigned char kat1604_entropyinreseed[] = { + 0x98, 0x34, 0x85, 0x9e, 0xcd, 0x85, 0x2a, 0x72, 0x69, 0x54, 0x6e, 0x82, + 0x5c, 0x01, 0xd6, 0x11, +}; +static const unsigned char kat1604_addinreseed[] = {0}; +static const unsigned char kat1604_addin0[] = {0}; +static const unsigned char kat1604_addin1[] = {0}; +static const unsigned char kat1604_retbits[] = { + 0xe7, 0x2e, 0xba, 0x34, 0xd4, 0x2b, 0x8e, 0xa6, 0x93, 0xbc, 0xe7, 0xe8, + 0x76, 0xc7, 0xb3, 0x38, 0xc1, 0xa7, 0x19, 0x1b, 0x07, 0xc9, 0xc5, 0x3e, + 0x1c, 0x0e, 0x27, 0xb0, 0x8b, 0xf0, 0x63, 0x65, 0x19, 0xa6, 0x5f, 0x63, + 0x4f, 0xea, 0xc5, 0x2e, 0x76, 0x0a, 0xe7, 0x81, 0x66, 0x99, 0xba, 0xbb, + 0x0c, 0x02, 0x68, 0xb1, 0x72, 0x38, 0xd8, 0x0c, 0xe6, 0x98, 0x30, 0x8e, + 0x6b, 0x36, 0x0c, 0xf9, +}; +static const struct drbg_kat_pr_false kat1604_t = { + 13, kat1604_entropyin, kat1604_nonce, kat1604_persstr, + kat1604_entropyinreseed, kat1604_addinreseed, kat1604_addin0, + kat1604_addin1, kat1604_retbits +}; +static const struct drbg_kat kat1604 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1604_t +}; + +static const unsigned char kat1605_entropyin[] = { + 0xe7, 0x61, 0x77, 0x8d, 0xfc, 0xf1, 0x2b, 0x16, 0x97, 0x95, 0x6b, 0xa1, + 0xf4, 0x96, 0x17, 0xbe, +}; +static const unsigned char kat1605_nonce[] = { + 0x8c, 0xe2, 0x52, 0xad, 0x4d, 0xc8, 0xa7, 0x02, +}; +static const unsigned char kat1605_persstr[] = { + 0xce, 0xae, 0x74, 0xc9, 0x76, 0x0f, 0xb4, 0x49, 0x5d, 0x33, 0x3f, 0x84, + 0x76, 0x1a, 0x8a, 0x30, +}; +static const unsigned char kat1605_entropyinreseed[] = { + 0x1a, 0x36, 0x53, 0xbc, 0xfa, 0x54, 0x9c, 0x1f, 0x98, 0xf1, 0x7f, 0x5b, + 0x26, 0xfc, 0x04, 0xb1, +}; +static const unsigned char kat1605_addinreseed[] = {0}; +static const unsigned char kat1605_addin0[] = {0}; +static const unsigned char kat1605_addin1[] = {0}; +static const unsigned char kat1605_retbits[] = { + 0x67, 0xad, 0x31, 0x84, 0x3d, 0x23, 0xd5, 0xb1, 0xb2, 0x1f, 0x70, 0x87, + 0x63, 0x51, 0xd5, 0x25, 0x2c, 0xf0, 0xcc, 0x93, 0xa9, 0x1a, 0x7a, 0x7c, + 0x8f, 0x78, 0x51, 0x89, 0xf8, 0x29, 0x34, 0x9b, 0xe6, 0x7a, 0xcb, 0xb9, + 0xda, 0xe0, 0x5d, 0x52, 0xb2, 0x14, 0xbc, 0xe4, 0xb3, 0x10, 0x19, 0x77, + 0x38, 0x37, 0x7a, 0x5f, 0x05, 0x0e, 0x25, 0x49, 0x20, 0x91, 0x0b, 0x44, + 0x97, 0xd6, 0x07, 0xba, +}; +static const struct drbg_kat_pr_false kat1605_t = { + 14, kat1605_entropyin, kat1605_nonce, kat1605_persstr, + kat1605_entropyinreseed, kat1605_addinreseed, kat1605_addin0, + kat1605_addin1, kat1605_retbits +}; +static const struct drbg_kat kat1605 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1605_t +}; + +static const unsigned char kat1606_entropyin[] = { + 0xb7, 0x02, 0x52, 0x64, 0xdc, 0xa8, 0x57, 0x6b, 0xd5, 0x2a, 0x26, 0xc2, + 0xd6, 0x4b, 0x50, 0x11, +}; +static const unsigned char kat1606_nonce[] = { + 0xe5, 0x9d, 0x54, 0xd2, 0xc0, 0x30, 0x32, 0xcd, +}; +static const unsigned char kat1606_persstr[] = { + 0x80, 0x1f, 0x88, 0xc6, 0x1c, 0x57, 0x7f, 0xa1, 0x61, 0x34, 0x05, 0x3d, + 0x07, 0xbf, 0x6f, 0x0f, +}; +static const unsigned char kat1606_entropyinreseed[] = { + 0x91, 0xae, 0x03, 0xa1, 0xb4, 0xb4, 0x31, 0x66, 0x11, 0x09, 0x43, 0x73, + 0xf9, 0x34, 0x9a, 0x57, +}; +static const unsigned char kat1606_addinreseed[] = { + 0x65, 0x2f, 0x24, 0xf9, 0x36, 0x55, 0x1b, 0x0b, 0xbe, 0xb3, 0xe8, 0x29, + 0xdd, 0x1e, 0xc9, 0xad, +}; +static const unsigned char kat1606_addin0[] = { + 0xc0, 0x7d, 0x36, 0x37, 0x5b, 0x0b, 0xa8, 0xe7, 0xd9, 0xbd, 0x7e, 0x9f, + 0x53, 0xe2, 0xd9, 0x8c, +}; +static const unsigned char kat1606_addin1[] = { + 0x20, 0x99, 0x53, 0xab, 0xe8, 0x50, 0x45, 0x9d, 0x83, 0xe5, 0xdd, 0xd1, + 0x5d, 0x21, 0x50, 0x5b, +}; +static const unsigned char kat1606_retbits[] = { + 0x4b, 0x15, 0x3e, 0x0a, 0xd2, 0xe8, 0xd2, 0x6e, 0xa0, 0x51, 0x72, 0x90, + 0xde, 0x36, 0x5e, 0x3e, 0x5b, 0xbe, 0xbf, 0x6e, 0x76, 0x00, 0x2b, 0x3e, + 0x8b, 0xbd, 0x4e, 0xe9, 0xed, 0xde, 0xf8, 0xcb, 0xc9, 0xc4, 0xdc, 0x85, + 0xac, 0xe2, 0x1d, 0x82, 0x17, 0xef, 0x25, 0xe6, 0x88, 0x34, 0x29, 0xc1, + 0x63, 0x21, 0xa4, 0x58, 0xb5, 0x0e, 0x6c, 0x15, 0xac, 0xc6, 0xd5, 0x32, + 0x4b, 0x55, 0xe5, 0xf3, +}; +static const struct drbg_kat_pr_false kat1606_t = { + 0, kat1606_entropyin, kat1606_nonce, kat1606_persstr, + kat1606_entropyinreseed, kat1606_addinreseed, kat1606_addin0, + kat1606_addin1, kat1606_retbits +}; +static const struct drbg_kat kat1606 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1606_t +}; + +static const unsigned char kat1607_entropyin[] = { + 0x17, 0x44, 0x36, 0xf2, 0x35, 0x26, 0x7b, 0x38, 0x93, 0x29, 0x40, 0x17, + 0xd4, 0xe6, 0x91, 0x28, +}; +static const unsigned char kat1607_nonce[] = { + 0x44, 0x20, 0xe5, 0x57, 0xde, 0xd3, 0xf7, 0xad, +}; +static const unsigned char kat1607_persstr[] = { + 0x44, 0x9f, 0x60, 0x38, 0x06, 0xef, 0x01, 0x20, 0xb8, 0xd5, 0x8a, 0x9a, + 0xa5, 0x1f, 0x60, 0x04, +}; +static const unsigned char kat1607_entropyinreseed[] = { + 0xc6, 0xa1, 0xa1, 0x32, 0x8b, 0x7a, 0x40, 0x73, 0x6b, 0xf9, 0xc7, 0xee, + 0xfe, 0xe9, 0xf2, 0xdf, +}; +static const unsigned char kat1607_addinreseed[] = { + 0xf0, 0x90, 0x19, 0xe8, 0xe6, 0x0b, 0x2c, 0x42, 0xbe, 0xc6, 0x11, 0x81, + 0x7b, 0x2b, 0x3b, 0xfc, +}; +static const unsigned char kat1607_addin0[] = { + 0x1e, 0xe6, 0xef, 0xa2, 0x42, 0xe6, 0x51, 0x12, 0xa3, 0xf0, 0xd2, 0xf1, + 0x70, 0x6a, 0xd3, 0x8f, +}; +static const unsigned char kat1607_addin1[] = { + 0xb1, 0x45, 0x9d, 0x42, 0x04, 0x99, 0x98, 0xd4, 0xda, 0x0b, 0x01, 0xff, + 0xee, 0x4e, 0x20, 0xdf, +}; +static const unsigned char kat1607_retbits[] = { + 0x11, 0xb0, 0xab, 0xbb, 0x76, 0x19, 0xb3, 0x7c, 0x19, 0x0f, 0x23, 0x98, + 0xe2, 0x62, 0xdf, 0xb7, 0x58, 0x6b, 0x63, 0x2b, 0x3e, 0x96, 0xc7, 0xae, + 0x09, 0x9a, 0x2f, 0xe0, 0xe1, 0xfb, 0xee, 0x70, 0xe4, 0x9b, 0x21, 0x64, + 0x2d, 0x37, 0xc3, 0x65, 0xef, 0x87, 0x8f, 0x63, 0xe8, 0x4e, 0x67, 0x21, + 0x05, 0xce, 0x2b, 0x81, 0x91, 0x1f, 0x18, 0xb6, 0x0a, 0xa6, 0xa4, 0x40, + 0xec, 0xce, 0xf5, 0x2b, +}; +static const struct drbg_kat_pr_false kat1607_t = { + 1, kat1607_entropyin, kat1607_nonce, kat1607_persstr, + kat1607_entropyinreseed, kat1607_addinreseed, kat1607_addin0, + kat1607_addin1, kat1607_retbits +}; +static const struct drbg_kat kat1607 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1607_t +}; + +static const unsigned char kat1608_entropyin[] = { + 0x2f, 0xcc, 0x99, 0xd4, 0x0a, 0xf5, 0xcb, 0xa1, 0x41, 0xb7, 0x92, 0xd1, + 0x86, 0xe6, 0x13, 0x43, +}; +static const unsigned char kat1608_nonce[] = { + 0xdc, 0xae, 0x59, 0x9d, 0xab, 0x13, 0x5c, 0x65, +}; +static const unsigned char kat1608_persstr[] = { + 0xbe, 0xe3, 0xfc, 0x60, 0x13, 0x16, 0x05, 0x7b, 0x12, 0xcf, 0x79, 0x1a, + 0x6f, 0xa3, 0x62, 0xbb, +}; +static const unsigned char kat1608_entropyinreseed[] = { + 0x71, 0x2f, 0xcb, 0x5b, 0x28, 0x36, 0xe6, 0xbd, 0xb9, 0x29, 0x35, 0x08, + 0xe0, 0x28, 0x3e, 0x8e, +}; +static const unsigned char kat1608_addinreseed[] = { + 0xb2, 0xe4, 0x6f, 0xb3, 0x9a, 0x3a, 0xd8, 0x9b, 0xdc, 0xc7, 0x8a, 0xde, + 0x62, 0x38, 0xc4, 0xd0, +}; +static const unsigned char kat1608_addin0[] = { + 0xe2, 0x56, 0x7f, 0x6e, 0xc2, 0x7b, 0xcb, 0x14, 0x97, 0xc2, 0xfe, 0x15, + 0x17, 0x39, 0xe8, 0xd0, +}; +static const unsigned char kat1608_addin1[] = { + 0x95, 0x86, 0xb4, 0xad, 0xa0, 0xa3, 0x00, 0xe8, 0x36, 0x97, 0x51, 0x7f, + 0x6f, 0x43, 0x46, 0x3c, +}; +static const unsigned char kat1608_retbits[] = { + 0x2b, 0x5c, 0xe7, 0x2c, 0x71, 0x7e, 0xe1, 0x0c, 0xcc, 0x34, 0xd8, 0x6e, + 0x39, 0x67, 0xaf, 0xdc, 0xe8, 0x3d, 0x48, 0x59, 0x97, 0xf6, 0xdc, 0x3d, + 0x3d, 0x40, 0xb5, 0x97, 0xe0, 0x74, 0x20, 0x65, 0x22, 0x10, 0x56, 0xea, + 0xd6, 0xa1, 0x6f, 0x39, 0x5e, 0x4d, 0x8c, 0x09, 0x47, 0x16, 0x7f, 0xf6, + 0x62, 0x90, 0x98, 0xf3, 0x3b, 0x92, 0x09, 0x12, 0x8c, 0xa7, 0xd7, 0x13, + 0xbe, 0xd2, 0x41, 0x77, +}; +static const struct drbg_kat_pr_false kat1608_t = { + 2, kat1608_entropyin, kat1608_nonce, kat1608_persstr, + kat1608_entropyinreseed, kat1608_addinreseed, kat1608_addin0, + kat1608_addin1, kat1608_retbits +}; +static const struct drbg_kat kat1608 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1608_t +}; + +static const unsigned char kat1609_entropyin[] = { + 0xab, 0x71, 0x23, 0x94, 0x4a, 0x2f, 0x46, 0x2a, 0x36, 0x8d, 0xa1, 0x71, + 0x27, 0x16, 0xb1, 0x14, +}; +static const unsigned char kat1609_nonce[] = { + 0x85, 0x1d, 0x50, 0x04, 0x9e, 0x1d, 0x4f, 0x1f, +}; +static const unsigned char kat1609_persstr[] = { + 0x8a, 0xd5, 0xac, 0x69, 0x4f, 0x28, 0x28, 0x1e, 0xaa, 0x42, 0x78, 0x44, + 0xfc, 0xff, 0xdf, 0x6e, +}; +static const unsigned char kat1609_entropyinreseed[] = { + 0xed, 0x59, 0xf0, 0x72, 0x06, 0x25, 0x38, 0x2b, 0xcf, 0x4e, 0x48, 0x57, + 0xf5, 0x36, 0x0f, 0x54, +}; +static const unsigned char kat1609_addinreseed[] = { + 0xe7, 0xac, 0x99, 0x66, 0x02, 0x0b, 0xe3, 0xeb, 0x21, 0xef, 0x18, 0x31, + 0xf3, 0xde, 0x23, 0x04, +}; +static const unsigned char kat1609_addin0[] = { + 0x1d, 0xa1, 0xbd, 0xe0, 0x9d, 0x7b, 0x44, 0xf6, 0xfa, 0x07, 0x4e, 0x55, + 0xa2, 0x69, 0x8f, 0x4e, +}; +static const unsigned char kat1609_addin1[] = { + 0x79, 0x53, 0x26, 0xf8, 0x3c, 0x85, 0x42, 0x21, 0x5b, 0x13, 0x15, 0xbf, + 0x3d, 0x7c, 0x98, 0x46, +}; +static const unsigned char kat1609_retbits[] = { + 0xcb, 0x65, 0x6e, 0x62, 0x41, 0x71, 0x88, 0xa7, 0x4d, 0x7a, 0xfa, 0x64, + 0x02, 0x56, 0x4b, 0x7d, 0x15, 0x72, 0x9b, 0x5b, 0x70, 0xb1, 0x4d, 0x8b, + 0x5c, 0x51, 0x30, 0xc6, 0x81, 0x6d, 0x05, 0x12, 0x86, 0xe5, 0xe2, 0x2f, + 0xf3, 0x6a, 0x45, 0x05, 0x8b, 0xc5, 0x0b, 0x7f, 0x0f, 0x53, 0xd8, 0x0c, + 0x95, 0x91, 0x3a, 0x32, 0x5a, 0xf9, 0x85, 0x02, 0xb2, 0xe0, 0x59, 0x15, + 0x24, 0xf9, 0xfc, 0xdd, +}; +static const struct drbg_kat_pr_false kat1609_t = { + 3, kat1609_entropyin, kat1609_nonce, kat1609_persstr, + kat1609_entropyinreseed, kat1609_addinreseed, kat1609_addin0, + kat1609_addin1, kat1609_retbits +}; +static const struct drbg_kat kat1609 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1609_t +}; + +static const unsigned char kat1610_entropyin[] = { + 0x87, 0x34, 0xae, 0xf1, 0x17, 0x2b, 0xac, 0xc3, 0xdc, 0x4a, 0x31, 0x81, + 0x77, 0x3b, 0x7f, 0xe8, +}; +static const unsigned char kat1610_nonce[] = { + 0x1d, 0x31, 0xdd, 0xf0, 0xc8, 0x80, 0xf0, 0x1a, +}; +static const unsigned char kat1610_persstr[] = { + 0xf2, 0x3a, 0x18, 0x47, 0x5c, 0xff, 0xd5, 0x71, 0xb9, 0x6d, 0x9b, 0xae, + 0x12, 0x84, 0xec, 0xf4, +}; +static const unsigned char kat1610_entropyinreseed[] = { + 0x10, 0x44, 0x77, 0x6a, 0x68, 0x0c, 0xdd, 0xc3, 0x8c, 0x7a, 0x9d, 0x0a, + 0x9d, 0x37, 0x3f, 0xc8, +}; +static const unsigned char kat1610_addinreseed[] = { + 0x4a, 0x6d, 0xab, 0xcf, 0x18, 0x1d, 0x43, 0x5d, 0xf7, 0xe3, 0x5b, 0x53, + 0x02, 0x2b, 0x60, 0x45, +}; +static const unsigned char kat1610_addin0[] = { + 0x0c, 0xb7, 0xc3, 0x61, 0x82, 0x15, 0x86, 0xd6, 0x40, 0x6c, 0xf0, 0xd0, + 0x74, 0x1b, 0xb3, 0xe6, +}; +static const unsigned char kat1610_addin1[] = { + 0x98, 0x4e, 0x88, 0x83, 0x6d, 0x0c, 0xfc, 0xb1, 0xb9, 0xad, 0xaa, 0x26, + 0xed, 0x04, 0x7a, 0x56, +}; +static const unsigned char kat1610_retbits[] = { + 0x97, 0xf5, 0xaa, 0x05, 0xfb, 0x16, 0x91, 0xe4, 0x34, 0xf8, 0x27, 0xb1, + 0xed, 0x0f, 0x67, 0xc6, 0xb0, 0x6a, 0x12, 0x9b, 0xbb, 0x64, 0x64, 0xd9, + 0xad, 0x03, 0xde, 0x5f, 0xe8, 0xb6, 0x36, 0x10, 0xc6, 0x96, 0x00, 0xd9, + 0x72, 0xd8, 0x3a, 0x75, 0xb7, 0x1e, 0x23, 0xcb, 0xd0, 0x5b, 0x30, 0x6e, + 0x57, 0x72, 0x12, 0x67, 0x03, 0x93, 0x1a, 0x80, 0x29, 0x32, 0xdd, 0x27, + 0x2d, 0xdc, 0x24, 0xec, +}; +static const struct drbg_kat_pr_false kat1610_t = { + 4, kat1610_entropyin, kat1610_nonce, kat1610_persstr, + kat1610_entropyinreseed, kat1610_addinreseed, kat1610_addin0, + kat1610_addin1, kat1610_retbits +}; +static const struct drbg_kat kat1610 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1610_t +}; + +static const unsigned char kat1611_entropyin[] = { + 0x08, 0xe2, 0xe7, 0x4d, 0x47, 0xdf, 0xb3, 0xc0, 0xed, 0x43, 0x64, 0x4d, + 0x98, 0x41, 0x39, 0x11, +}; +static const unsigned char kat1611_nonce[] = { + 0xdf, 0xe6, 0xf2, 0xb5, 0x61, 0x47, 0x11, 0x6e, +}; +static const unsigned char kat1611_persstr[] = { + 0x1e, 0xf4, 0xb3, 0x07, 0x4c, 0x24, 0x7b, 0x7c, 0x96, 0x2d, 0x49, 0xea, + 0x2e, 0x51, 0x95, 0x68, +}; +static const unsigned char kat1611_entropyinreseed[] = { + 0xd9, 0x1c, 0x7e, 0xaa, 0xe8, 0x9c, 0xe0, 0x7d, 0xe8, 0x57, 0x8d, 0x9f, + 0x46, 0x41, 0x11, 0x90, +}; +static const unsigned char kat1611_addinreseed[] = { + 0xa6, 0xf7, 0x3c, 0x36, 0xfd, 0x4b, 0x51, 0x0e, 0xde, 0x52, 0xbd, 0x81, + 0xef, 0xf1, 0x12, 0x03, +}; +static const unsigned char kat1611_addin0[] = { + 0x20, 0xda, 0xd8, 0x65, 0xc4, 0xe4, 0x21, 0xbb, 0x49, 0x67, 0xbc, 0x88, + 0xb3, 0x00, 0x53, 0xd5, +}; +static const unsigned char kat1611_addin1[] = { + 0x9a, 0xfa, 0x0a, 0x2c, 0x87, 0xef, 0x1a, 0x19, 0x20, 0xa2, 0x49, 0x0a, + 0xb9, 0x88, 0x05, 0xb5, +}; +static const unsigned char kat1611_retbits[] = { + 0xb8, 0xad, 0xce, 0x5f, 0xb7, 0xc2, 0x84, 0xa1, 0x8f, 0x4c, 0x9f, 0x15, + 0xfd, 0x66, 0x43, 0x50, 0x54, 0x51, 0xda, 0x4a, 0x05, 0xe2, 0xde, 0xe0, + 0xfd, 0x57, 0x23, 0xd1, 0x5a, 0xe5, 0xba, 0xec, 0x8e, 0x98, 0xd0, 0x88, + 0x38, 0xd4, 0x48, 0x9b, 0x37, 0x9c, 0xf3, 0x49, 0x0c, 0x7f, 0x61, 0xb5, + 0xb7, 0x8d, 0x59, 0x03, 0x77, 0x3d, 0x68, 0xd9, 0x14, 0x25, 0x3b, 0x33, + 0x9f, 0x26, 0x7c, 0x0e, +}; +static const struct drbg_kat_pr_false kat1611_t = { + 5, kat1611_entropyin, kat1611_nonce, kat1611_persstr, + kat1611_entropyinreseed, kat1611_addinreseed, kat1611_addin0, + kat1611_addin1, kat1611_retbits +}; +static const struct drbg_kat kat1611 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1611_t +}; + +static const unsigned char kat1612_entropyin[] = { + 0xd4, 0x24, 0xd8, 0x11, 0x23, 0xb1, 0x45, 0x47, 0x1d, 0x64, 0xac, 0x2d, + 0xe5, 0xe4, 0x11, 0xfa, +}; +static const unsigned char kat1612_nonce[] = { + 0x46, 0xbf, 0x21, 0x3d, 0xd4, 0x00, 0x48, 0x67, +}; +static const unsigned char kat1612_persstr[] = { + 0x8a, 0xe3, 0xf0, 0xa1, 0x88, 0xd1, 0xb5, 0xd3, 0x1b, 0xaa, 0xb8, 0xf9, + 0x2e, 0x60, 0x40, 0x79, +}; +static const unsigned char kat1612_entropyinreseed[] = { + 0xb3, 0xff, 0x4e, 0x4f, 0x5d, 0xbf, 0x58, 0x66, 0xa8, 0x6a, 0x5a, 0x60, + 0x0b, 0x69, 0x12, 0xf9, +}; +static const unsigned char kat1612_addinreseed[] = { + 0xd9, 0xb4, 0x30, 0xa4, 0xee, 0x9b, 0x1c, 0xf7, 0xbf, 0xc7, 0xcc, 0x4a, + 0x77, 0xeb, 0xcf, 0xe4, +}; +static const unsigned char kat1612_addin0[] = { + 0xcc, 0x67, 0x05, 0x56, 0xf4, 0xb5, 0x87, 0x1f, 0xf0, 0xbc, 0x15, 0xc7, + 0xf5, 0xd9, 0xc1, 0xce, +}; +static const unsigned char kat1612_addin1[] = { + 0xf4, 0x8b, 0x9c, 0x5f, 0xfc, 0xfa, 0x9d, 0xba, 0x23, 0x2d, 0xef, 0x34, + 0xcd, 0xfc, 0xe9, 0xf7, +}; +static const unsigned char kat1612_retbits[] = { + 0xa5, 0x2a, 0x74, 0xad, 0x01, 0xc9, 0xfb, 0xef, 0xce, 0x42, 0x46, 0x2b, + 0x18, 0x7f, 0xda, 0xba, 0x5b, 0xe7, 0x75, 0xac, 0x96, 0x1d, 0x6d, 0xab, + 0xc6, 0x96, 0x98, 0x82, 0x65, 0x67, 0x36, 0x2d, 0xcd, 0xb0, 0xcd, 0x11, + 0xbe, 0xb4, 0xd3, 0x8e, 0xe1, 0xbd, 0x79, 0x03, 0xae, 0xcf, 0x1a, 0xfc, + 0xb4, 0x2e, 0xe0, 0x27, 0x18, 0xeb, 0xe5, 0x1e, 0xec, 0x8a, 0xfb, 0x4f, + 0xf7, 0x8c, 0x07, 0xbd, +}; +static const struct drbg_kat_pr_false kat1612_t = { + 6, kat1612_entropyin, kat1612_nonce, kat1612_persstr, + kat1612_entropyinreseed, kat1612_addinreseed, kat1612_addin0, + kat1612_addin1, kat1612_retbits +}; +static const struct drbg_kat kat1612 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1612_t +}; + +static const unsigned char kat1613_entropyin[] = { + 0x09, 0xe6, 0xc2, 0x3a, 0x82, 0x6e, 0xff, 0xc9, 0xe9, 0x63, 0x10, 0x89, + 0xc6, 0xbe, 0xa1, 0x37, +}; +static const unsigned char kat1613_nonce[] = { + 0x2b, 0x70, 0x2f, 0xd9, 0x5a, 0xda, 0x52, 0x19, +}; +static const unsigned char kat1613_persstr[] = { + 0x44, 0x70, 0x0b, 0xd3, 0xd0, 0x49, 0xb6, 0xb6, 0xbb, 0x42, 0x6a, 0x3e, + 0xac, 0xd4, 0x1d, 0x64, +}; +static const unsigned char kat1613_entropyinreseed[] = { + 0x63, 0x1c, 0x3c, 0x7d, 0xbc, 0xf9, 0x03, 0x95, 0xd2, 0x2b, 0xe3, 0x58, + 0xdd, 0x67, 0x46, 0xe4, +}; +static const unsigned char kat1613_addinreseed[] = { + 0x9f, 0x9f, 0x8e, 0x2a, 0x8b, 0xf3, 0x4b, 0x4f, 0x2c, 0x52, 0xbe, 0xa9, + 0xa1, 0xa7, 0x4c, 0x28, +}; +static const unsigned char kat1613_addin0[] = { + 0xc7, 0xa5, 0xe5, 0x4b, 0x97, 0xe0, 0xb5, 0x83, 0xd0, 0xc3, 0x5a, 0xa6, + 0x44, 0x4d, 0x25, 0x8d, +}; +static const unsigned char kat1613_addin1[] = { + 0xa9, 0x9a, 0x5e, 0x8a, 0x6e, 0xf0, 0x62, 0xb8, 0xfd, 0xb6, 0x7c, 0x7f, + 0x96, 0x87, 0xff, 0xdd, +}; +static const unsigned char kat1613_retbits[] = { + 0x01, 0x1d, 0x23, 0xe5, 0x4e, 0xbe, 0x6a, 0xba, 0x2d, 0x19, 0xd0, 0x8a, + 0x48, 0x92, 0x04, 0x82, 0xe2, 0x81, 0x0c, 0x33, 0x63, 0xec, 0x54, 0x71, + 0x8f, 0x18, 0x01, 0x86, 0x6e, 0x76, 0x9c, 0x18, 0x02, 0x31, 0x11, 0x3d, + 0xaa, 0x31, 0xb2, 0xc1, 0xe7, 0xb1, 0x08, 0x0c, 0x7c, 0xbd, 0x73, 0x05, + 0x22, 0xcf, 0xe2, 0x0c, 0x16, 0xde, 0x1f, 0x48, 0xbf, 0xb0, 0xf2, 0x7e, + 0xa1, 0xbb, 0x96, 0xf3, +}; +static const struct drbg_kat_pr_false kat1613_t = { + 7, kat1613_entropyin, kat1613_nonce, kat1613_persstr, + kat1613_entropyinreseed, kat1613_addinreseed, kat1613_addin0, + kat1613_addin1, kat1613_retbits +}; +static const struct drbg_kat kat1613 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1613_t +}; + +static const unsigned char kat1614_entropyin[] = { + 0x82, 0x6f, 0xcf, 0x8c, 0xe7, 0x32, 0x58, 0xd0, 0x34, 0x16, 0xc1, 0x19, + 0xdd, 0x6f, 0xfb, 0x92, +}; +static const unsigned char kat1614_nonce[] = { + 0x33, 0xa7, 0x66, 0xd8, 0x2e, 0x3b, 0xda, 0xeb, +}; +static const unsigned char kat1614_persstr[] = { + 0xbf, 0xd2, 0xd1, 0xfe, 0xfb, 0x06, 0xf1, 0x5a, 0xe1, 0xc5, 0x15, 0xd3, + 0x1f, 0x6d, 0x29, 0x70, +}; +static const unsigned char kat1614_entropyinreseed[] = { + 0x54, 0xa6, 0x17, 0x72, 0xd5, 0x7a, 0x0f, 0x49, 0xcf, 0x71, 0xcc, 0x07, + 0xa8, 0x88, 0x52, 0xa2, +}; +static const unsigned char kat1614_addinreseed[] = { + 0x4b, 0x03, 0x82, 0x37, 0x68, 0x27, 0x48, 0xfe, 0x3d, 0xe0, 0x5c, 0x62, + 0xd3, 0x46, 0x27, 0xc7, +}; +static const unsigned char kat1614_addin0[] = { + 0x05, 0x61, 0x98, 0xe2, 0xfc, 0x30, 0x18, 0x53, 0x17, 0xab, 0xd3, 0xcb, + 0x27, 0x33, 0x7b, 0xaa, +}; +static const unsigned char kat1614_addin1[] = { + 0xfb, 0xb4, 0x85, 0xa9, 0xc3, 0xa8, 0x47, 0x24, 0xe9, 0x69, 0x5e, 0x39, + 0x5c, 0x59, 0x5e, 0x50, +}; +static const unsigned char kat1614_retbits[] = { + 0x01, 0x40, 0xd3, 0xd9, 0x2f, 0x1b, 0x41, 0x6a, 0x26, 0x29, 0x35, 0x5d, + 0x7a, 0x0b, 0xd6, 0x41, 0xd7, 0x65, 0xb8, 0x0d, 0x94, 0xca, 0xb4, 0x93, + 0x9a, 0x7d, 0xf2, 0x53, 0xd5, 0x6f, 0xf4, 0x3f, 0x15, 0x87, 0x9d, 0x1d, + 0x48, 0x16, 0x47, 0x2d, 0xe9, 0x3c, 0x62, 0xec, 0x96, 0x3d, 0x43, 0xf9, + 0x5e, 0xf4, 0x6c, 0xdd, 0xa3, 0xdd, 0x10, 0xdc, 0x63, 0x5d, 0xe7, 0xef, + 0xcd, 0x95, 0xde, 0x26, +}; +static const struct drbg_kat_pr_false kat1614_t = { + 8, kat1614_entropyin, kat1614_nonce, kat1614_persstr, + kat1614_entropyinreseed, kat1614_addinreseed, kat1614_addin0, + kat1614_addin1, kat1614_retbits +}; +static const struct drbg_kat kat1614 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1614_t +}; + +static const unsigned char kat1615_entropyin[] = { + 0x3b, 0x82, 0xcc, 0x6a, 0xc3, 0xcc, 0xbb, 0x15, 0x75, 0xa6, 0x2f, 0x13, + 0x13, 0x19, 0xcc, 0xd2, +}; +static const unsigned char kat1615_nonce[] = { + 0x27, 0xbb, 0xa0, 0xa7, 0xae, 0x72, 0xde, 0x41, +}; +static const unsigned char kat1615_persstr[] = { + 0x82, 0x5a, 0x89, 0xb6, 0x3c, 0xb2, 0x18, 0x78, 0xa5, 0x1d, 0x75, 0x06, + 0x3b, 0x5c, 0xdb, 0x60, +}; +static const unsigned char kat1615_entropyinreseed[] = { + 0x37, 0xf5, 0xd8, 0x1a, 0x34, 0x83, 0xfa, 0x8b, 0x56, 0x10, 0x2a, 0x09, + 0x51, 0xec, 0x16, 0x70, +}; +static const unsigned char kat1615_addinreseed[] = { + 0xd7, 0x86, 0x93, 0xf6, 0x8a, 0xe4, 0xcb, 0xa3, 0x8f, 0x3e, 0x18, 0x88, + 0x29, 0x64, 0xa7, 0x55, +}; +static const unsigned char kat1615_addin0[] = { + 0x74, 0xe4, 0xf0, 0x2b, 0x34, 0xc2, 0xbb, 0x5c, 0x11, 0xd2, 0xba, 0xda, + 0x96, 0x79, 0xa9, 0x60, +}; +static const unsigned char kat1615_addin1[] = { + 0x90, 0xcd, 0x8f, 0xdc, 0x9e, 0x34, 0x44, 0x55, 0x40, 0xa4, 0xd4, 0xe8, + 0xdd, 0x43, 0xd5, 0x0e, +}; +static const unsigned char kat1615_retbits[] = { + 0x29, 0xbf, 0x5c, 0xe9, 0x9f, 0xf2, 0x8a, 0x3c, 0xff, 0xc9, 0x9c, 0xa5, + 0xe4, 0xfe, 0x8e, 0x70, 0xb7, 0x38, 0x1f, 0xfa, 0xb6, 0xa6, 0xc6, 0xad, + 0x5a, 0xbf, 0x97, 0xe7, 0x3f, 0x1e, 0x4a, 0x9d, 0x3c, 0x74, 0xd5, 0x55, + 0xe6, 0x80, 0x85, 0x84, 0xb9, 0x4d, 0xdb, 0x1e, 0xfe, 0x04, 0x8f, 0x27, + 0xff, 0x70, 0x60, 0x6c, 0xa8, 0xab, 0x67, 0xc1, 0xd2, 0x62, 0xac, 0x38, + 0x08, 0x7c, 0x2d, 0x3c, +}; +static const struct drbg_kat_pr_false kat1615_t = { + 9, kat1615_entropyin, kat1615_nonce, kat1615_persstr, + kat1615_entropyinreseed, kat1615_addinreseed, kat1615_addin0, + kat1615_addin1, kat1615_retbits +}; +static const struct drbg_kat kat1615 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1615_t +}; + +static const unsigned char kat1616_entropyin[] = { + 0x9d, 0x8d, 0x93, 0x16, 0x20, 0xb5, 0xee, 0x39, 0x90, 0x63, 0xa7, 0x8e, + 0xea, 0x53, 0x26, 0x90, +}; +static const unsigned char kat1616_nonce[] = { + 0x9c, 0x7a, 0xe6, 0x55, 0xd5, 0xe7, 0x44, 0x46, +}; +static const unsigned char kat1616_persstr[] = { + 0xe8, 0x20, 0x63, 0x20, 0x27, 0xe1, 0x0f, 0xb5, 0xbc, 0xd4, 0x8a, 0xcb, + 0x42, 0x28, 0x89, 0x7b, +}; +static const unsigned char kat1616_entropyinreseed[] = { + 0xe3, 0x61, 0x8d, 0xb7, 0x9c, 0x92, 0x39, 0xc8, 0x83, 0x9c, 0xaf, 0xfd, + 0x15, 0xea, 0xad, 0x79, +}; +static const unsigned char kat1616_addinreseed[] = { + 0x9f, 0xbd, 0x70, 0xeb, 0x16, 0xbc, 0x44, 0x39, 0xa5, 0x76, 0x59, 0x14, + 0x49, 0xa8, 0x20, 0xee, +}; +static const unsigned char kat1616_addin0[] = { + 0x9a, 0xec, 0xcb, 0xdc, 0x45, 0x52, 0x49, 0x72, 0xc2, 0xb8, 0xcb, 0xfc, + 0x42, 0xad, 0x00, 0x6b, +}; +static const unsigned char kat1616_addin1[] = { + 0x44, 0x19, 0x9d, 0xd3, 0xe3, 0x97, 0xff, 0x4b, 0xb5, 0x57, 0x4d, 0x5e, + 0x1a, 0x86, 0xfc, 0xc0, +}; +static const unsigned char kat1616_retbits[] = { + 0xe1, 0xb7, 0x8f, 0xa3, 0xa4, 0x24, 0x43, 0xc7, 0x89, 0x63, 0x1f, 0x25, + 0x00, 0x63, 0x56, 0x16, 0xbd, 0x05, 0xc6, 0x2d, 0xb9, 0x8a, 0x76, 0xfc, + 0xe8, 0x4f, 0x63, 0xae, 0xcd, 0x84, 0x2e, 0xe3, 0x3d, 0xd9, 0x63, 0xc5, + 0xa4, 0x75, 0xf0, 0xdc, 0x6e, 0x0a, 0x01, 0xe8, 0xe4, 0x41, 0x32, 0x04, + 0x50, 0x44, 0xcb, 0x33, 0xef, 0xc0, 0xbb, 0xbf, 0xba, 0x11, 0x6c, 0x07, + 0x56, 0xcc, 0x3d, 0xca, +}; +static const struct drbg_kat_pr_false kat1616_t = { + 10, kat1616_entropyin, kat1616_nonce, kat1616_persstr, + kat1616_entropyinreseed, kat1616_addinreseed, kat1616_addin0, + kat1616_addin1, kat1616_retbits +}; +static const struct drbg_kat kat1616 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1616_t +}; + +static const unsigned char kat1617_entropyin[] = { + 0x62, 0xa8, 0x7e, 0x0f, 0xfc, 0x6f, 0x62, 0xea, 0x86, 0x8f, 0x82, 0xfc, + 0x4b, 0x49, 0x76, 0xd8, +}; +static const unsigned char kat1617_nonce[] = { + 0x98, 0x26, 0x8b, 0xa7, 0xa9, 0xf8, 0x0a, 0x81, +}; +static const unsigned char kat1617_persstr[] = { + 0x21, 0x25, 0x1e, 0xd8, 0x32, 0xf0, 0x78, 0xc0, 0x57, 0x4e, 0x28, 0x62, + 0xe5, 0xd6, 0xe4, 0x58, +}; +static const unsigned char kat1617_entropyinreseed[] = { + 0xe6, 0x3a, 0x86, 0x05, 0x64, 0x75, 0xab, 0x9b, 0x10, 0xf4, 0x6b, 0x07, + 0x32, 0xb5, 0x81, 0xd6, +}; +static const unsigned char kat1617_addinreseed[] = { + 0xc0, 0x2a, 0xa5, 0x62, 0x35, 0xea, 0x4a, 0x75, 0x2e, 0xb7, 0xd4, 0xff, + 0xb3, 0x4d, 0xde, 0xef, +}; +static const unsigned char kat1617_addin0[] = { + 0x13, 0x44, 0xf9, 0x7a, 0x17, 0xaf, 0xb3, 0xfb, 0xf8, 0x4f, 0x0b, 0xbf, + 0xee, 0x49, 0xba, 0x10, +}; +static const unsigned char kat1617_addin1[] = { + 0x30, 0x4f, 0xbd, 0xe8, 0xe0, 0x73, 0x4e, 0x63, 0x71, 0xb5, 0xb8, 0x0b, + 0xd2, 0x2d, 0xd4, 0x2e, +}; +static const unsigned char kat1617_retbits[] = { + 0xea, 0xb0, 0xc7, 0x66, 0x14, 0x25, 0x0b, 0xf3, 0xd0, 0xb1, 0x93, 0x7e, + 0x8b, 0x56, 0xcd, 0xe6, 0xbd, 0x01, 0xd6, 0x26, 0x44, 0xdc, 0x88, 0x55, + 0xf0, 0xd4, 0x44, 0xb1, 0x90, 0xc2, 0x1e, 0xb7, 0x43, 0x03, 0xeb, 0x5c, + 0x3b, 0x65, 0x12, 0x59, 0xed, 0x5c, 0x41, 0x50, 0x63, 0x3a, 0x92, 0xf0, + 0xeb, 0x52, 0xb9, 0x42, 0x2a, 0x5b, 0xc4, 0xa0, 0x94, 0xfd, 0xb6, 0xd0, + 0x74, 0x75, 0x8e, 0xc0, +}; +static const struct drbg_kat_pr_false kat1617_t = { + 11, kat1617_entropyin, kat1617_nonce, kat1617_persstr, + kat1617_entropyinreseed, kat1617_addinreseed, kat1617_addin0, + kat1617_addin1, kat1617_retbits +}; +static const struct drbg_kat kat1617 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1617_t +}; + +static const unsigned char kat1618_entropyin[] = { + 0xdc, 0x54, 0xc3, 0xca, 0xf3, 0x70, 0xe3, 0x8f, 0xc0, 0x70, 0x7b, 0xbc, + 0x19, 0x85, 0x1b, 0xe1, +}; +static const unsigned char kat1618_nonce[] = { + 0x9f, 0x39, 0x71, 0x06, 0xf6, 0xe7, 0x09, 0x6b, +}; +static const unsigned char kat1618_persstr[] = { + 0x05, 0xa4, 0x60, 0xe3, 0x68, 0xb5, 0xbe, 0xf6, 0x8d, 0x38, 0x32, 0x25, + 0x0a, 0x75, 0xa1, 0x1c, +}; +static const unsigned char kat1618_entropyinreseed[] = { + 0xd8, 0xae, 0x13, 0x47, 0x82, 0xa7, 0xda, 0x3e, 0x01, 0xd8, 0xb4, 0x6d, + 0x20, 0x30, 0x7b, 0x57, +}; +static const unsigned char kat1618_addinreseed[] = { + 0x11, 0xbf, 0x57, 0xa2, 0xca, 0xb8, 0x66, 0x51, 0x0f, 0x7a, 0xb7, 0x24, + 0xc7, 0x43, 0xc7, 0xd7, +}; +static const unsigned char kat1618_addin0[] = { + 0x00, 0xd7, 0x5e, 0x2b, 0x56, 0xb9, 0xcd, 0x45, 0xf1, 0xfb, 0x04, 0xe2, + 0xd3, 0x9d, 0xca, 0x0b, +}; +static const unsigned char kat1618_addin1[] = { + 0x57, 0x17, 0xb7, 0x01, 0xb9, 0x69, 0xad, 0x32, 0x52, 0xd9, 0x7f, 0x5f, + 0x2f, 0x89, 0x20, 0x99, +}; +static const unsigned char kat1618_retbits[] = { + 0x22, 0x11, 0xb8, 0xf7, 0xdd, 0x5c, 0xca, 0xd5, 0x20, 0x4c, 0xa9, 0x83, + 0x13, 0x1a, 0xa2, 0x15, 0x36, 0x4d, 0xae, 0xed, 0x60, 0x83, 0xf2, 0x42, + 0x14, 0x1a, 0x54, 0xdf, 0x64, 0xf6, 0xba, 0x95, 0x97, 0x76, 0x9d, 0xbf, + 0xc5, 0x43, 0x9c, 0x2a, 0xc2, 0x2a, 0x10, 0x61, 0xee, 0x12, 0x63, 0x1b, + 0x23, 0xdc, 0x26, 0x5e, 0x64, 0xde, 0xcf, 0xae, 0x4d, 0x7e, 0x53, 0x1f, + 0x04, 0xea, 0x01, 0x66, +}; +static const struct drbg_kat_pr_false kat1618_t = { + 12, kat1618_entropyin, kat1618_nonce, kat1618_persstr, + kat1618_entropyinreseed, kat1618_addinreseed, kat1618_addin0, + kat1618_addin1, kat1618_retbits +}; +static const struct drbg_kat kat1618 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1618_t +}; + +static const unsigned char kat1619_entropyin[] = { + 0xf5, 0x13, 0x72, 0x2a, 0x1f, 0xab, 0x9c, 0x61, 0xaa, 0xa3, 0xfc, 0x99, + 0x51, 0x30, 0xa3, 0x0c, +}; +static const unsigned char kat1619_nonce[] = { + 0xb3, 0x9d, 0x9c, 0x89, 0x5e, 0x74, 0x06, 0x43, +}; +static const unsigned char kat1619_persstr[] = { + 0x2e, 0xb5, 0x58, 0xba, 0x9e, 0xf0, 0x93, 0x60, 0xba, 0xdb, 0xc5, 0x0a, + 0xdf, 0xe9, 0x89, 0xe7, +}; +static const unsigned char kat1619_entropyinreseed[] = { + 0x0d, 0x39, 0x8b, 0xc9, 0x73, 0x16, 0x15, 0x3c, 0x2a, 0xee, 0x28, 0x0a, + 0xb9, 0x0f, 0xa6, 0xf2, +}; +static const unsigned char kat1619_addinreseed[] = { + 0xc5, 0xf0, 0x38, 0xa4, 0x36, 0x3e, 0xc1, 0x59, 0x5e, 0x56, 0xc5, 0x2d, + 0x12, 0xed, 0x4a, 0x7f, +}; +static const unsigned char kat1619_addin0[] = { + 0xb9, 0x83, 0xc3, 0x08, 0x62, 0xb0, 0x76, 0x1c, 0x60, 0x1b, 0x19, 0xb0, + 0x10, 0xa7, 0xc3, 0x6b, +}; +static const unsigned char kat1619_addin1[] = { + 0xa5, 0x13, 0x92, 0x0a, 0x6c, 0x6c, 0xd4, 0x0e, 0xc4, 0x6e, 0xd0, 0x77, + 0xab, 0xd0, 0xbb, 0x4c, +}; +static const unsigned char kat1619_retbits[] = { + 0x84, 0x68, 0x9e, 0xe8, 0x47, 0xb4, 0xae, 0x30, 0x1c, 0x36, 0x94, 0xb0, + 0x74, 0x63, 0x31, 0xe9, 0x07, 0xea, 0xf6, 0x0f, 0x8c, 0xdd, 0xf0, 0x89, + 0x95, 0x9b, 0xe7, 0xc9, 0x05, 0x72, 0xc3, 0xbf, 0x63, 0xec, 0x70, 0xd1, + 0x81, 0x24, 0xad, 0xad, 0x1f, 0xff, 0xbd, 0x0f, 0x00, 0xb6, 0x46, 0x99, + 0x8a, 0xc1, 0xe8, 0x64, 0x9a, 0x76, 0x9d, 0xc4, 0x50, 0x62, 0xb9, 0x74, + 0x1b, 0xd6, 0x86, 0x15, +}; +static const struct drbg_kat_pr_false kat1619_t = { + 13, kat1619_entropyin, kat1619_nonce, kat1619_persstr, + kat1619_entropyinreseed, kat1619_addinreseed, kat1619_addin0, + kat1619_addin1, kat1619_retbits +}; +static const struct drbg_kat kat1619 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1619_t +}; + +static const unsigned char kat1620_entropyin[] = { + 0x83, 0x5e, 0xe6, 0xc4, 0x44, 0xf5, 0xd7, 0x14, 0xa5, 0x2f, 0xc8, 0x2a, + 0xb2, 0x7a, 0x37, 0x19, +}; +static const unsigned char kat1620_nonce[] = { + 0xca, 0x12, 0x68, 0xda, 0x49, 0xf4, 0xf5, 0xf9, +}; +static const unsigned char kat1620_persstr[] = { + 0x09, 0x04, 0xaa, 0x87, 0xa1, 0xca, 0x57, 0xa2, 0x27, 0x41, 0xf8, 0x6b, + 0x5e, 0x7d, 0xb4, 0x0f, +}; +static const unsigned char kat1620_entropyinreseed[] = { + 0x33, 0xe8, 0xcf, 0x06, 0x47, 0x91, 0x59, 0x1c, 0xe4, 0xf3, 0x17, 0xb2, + 0xff, 0xbe, 0x34, 0xdd, +}; +static const unsigned char kat1620_addinreseed[] = { + 0x06, 0xa0, 0x62, 0xb0, 0x0e, 0xc4, 0xf9, 0x5f, 0xa4, 0x28, 0x4d, 0xd7, + 0xbb, 0x34, 0x41, 0xaa, +}; +static const unsigned char kat1620_addin0[] = { + 0xd4, 0x43, 0x4a, 0x19, 0xa8, 0xbf, 0xad, 0x8d, 0xd1, 0xc7, 0xa4, 0xd3, + 0x0d, 0x0c, 0x51, 0x1d, +}; +static const unsigned char kat1620_addin1[] = { + 0xe6, 0xc5, 0xe3, 0xc6, 0x12, 0x0b, 0x14, 0x53, 0x5f, 0x14, 0x9c, 0x6d, + 0x4d, 0x52, 0x3a, 0x0c, +}; +static const unsigned char kat1620_retbits[] = { + 0x94, 0x95, 0x22, 0xac, 0xa9, 0xd3, 0x5e, 0x73, 0xb2, 0x84, 0x48, 0xd4, + 0x22, 0x7e, 0xfc, 0xa8, 0xb2, 0x1c, 0xf0, 0x3e, 0xa0, 0x5e, 0x64, 0x83, + 0xdd, 0x77, 0x7a, 0xf1, 0xe4, 0x51, 0xd2, 0xb9, 0x8b, 0x6f, 0x61, 0xee, + 0xf5, 0x86, 0x22, 0x3a, 0x21, 0x2c, 0xf0, 0xe4, 0xad, 0xb5, 0x1c, 0x92, + 0xbc, 0xb6, 0x13, 0x68, 0xdc, 0x71, 0x1f, 0x3e, 0xf0, 0x9f, 0xe7, 0x56, + 0x66, 0x0f, 0xf2, 0xd9, +}; +static const struct drbg_kat_pr_false kat1620_t = { + 14, kat1620_entropyin, kat1620_nonce, kat1620_persstr, + kat1620_entropyinreseed, kat1620_addinreseed, kat1620_addin0, + kat1620_addin1, kat1620_retbits +}; +static const struct drbg_kat kat1620 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1620_t +}; + +static const unsigned char kat1621_entropyin[] = { + 0xb2, 0x5e, 0x5c, 0x41, 0x1c, 0x47, 0xc6, 0x87, 0x11, 0xf6, 0x2a, 0x1c, + 0x95, 0xc6, 0x09, 0x4d, +}; +static const unsigned char kat1621_nonce[] = { + 0xf4, 0x9d, 0xca, 0x3c, 0x2c, 0xd3, 0x16, 0x43, +}; +static const unsigned char kat1621_persstr[] = {0}; +static const unsigned char kat1621_entropyinreseed[] = { + 0x84, 0x80, 0x69, 0x41, 0x37, 0x80, 0x19, 0xab, 0x90, 0xb1, 0xe8, 0x45, + 0xf1, 0xb4, 0xaf, 0xa9, +}; +static const unsigned char kat1621_addinreseed[] = {0}; +static const unsigned char kat1621_addin0[] = {0}; +static const unsigned char kat1621_addin1[] = {0}; +static const unsigned char kat1621_retbits[] = { + 0x25, 0xe5, 0x48, 0x21, 0x8a, 0x2d, 0x85, 0x1d, 0x59, 0x6b, 0x02, 0xed, + 0x1c, 0x18, 0xac, 0xea, 0x5c, 0x5a, 0xbb, 0xf4, 0x38, 0xfb, 0x83, 0x8e, + 0xf4, 0x76, 0x2f, 0x73, 0x6e, 0xb8, 0x9f, 0xc8, 0x70, 0x68, 0xe1, 0x45, + 0x5c, 0x6a, 0xc3, 0x2d, 0x16, 0x2d, 0xc3, 0x2e, 0x54, 0x3c, 0xf5, 0xdf, + 0xf0, 0x9b, 0x9d, 0x3a, 0x19, 0xd7, 0x3b, 0x0d, 0xd2, 0x5c, 0x4e, 0x3f, + 0xbd, 0x0b, 0x93, 0x09, +}; +static const struct drbg_kat_pr_false kat1621_t = { + 0, kat1621_entropyin, kat1621_nonce, kat1621_persstr, + kat1621_entropyinreseed, kat1621_addinreseed, kat1621_addin0, + kat1621_addin1, kat1621_retbits +}; +static const struct drbg_kat kat1621 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1621_t +}; + +static const unsigned char kat1622_entropyin[] = { + 0x2d, 0x8a, 0xf5, 0x66, 0xa2, 0x07, 0x09, 0x5f, 0x36, 0x7c, 0xc2, 0xfd, + 0x6b, 0x55, 0x3f, 0x09, +}; +static const unsigned char kat1622_nonce[] = { + 0xcf, 0x04, 0x3e, 0x8a, 0xc5, 0x6a, 0xf0, 0x56, +}; +static const unsigned char kat1622_persstr[] = {0}; +static const unsigned char kat1622_entropyinreseed[] = { + 0x66, 0x7a, 0xb3, 0xc3, 0x12, 0xfe, 0x19, 0x62, 0xde, 0x00, 0xde, 0x64, + 0x71, 0x73, 0x58, 0x13, +}; +static const unsigned char kat1622_addinreseed[] = {0}; +static const unsigned char kat1622_addin0[] = {0}; +static const unsigned char kat1622_addin1[] = {0}; +static const unsigned char kat1622_retbits[] = { + 0xa9, 0x9d, 0x65, 0xd5, 0x2e, 0xb2, 0xa0, 0xbb, 0x62, 0x15, 0x11, 0x87, + 0x51, 0xfc, 0x3f, 0xcd, 0x3e, 0x59, 0x51, 0xfa, 0x17, 0x01, 0xbc, 0x1d, + 0x58, 0x33, 0x8a, 0x14, 0x81, 0x19, 0x91, 0xfe, 0x43, 0x17, 0x5c, 0x4f, + 0x7d, 0x8e, 0xd4, 0x9d, 0xc6, 0xbe, 0xa2, 0x28, 0x14, 0x70, 0x1e, 0x89, + 0x59, 0x39, 0x57, 0xe5, 0x54, 0x37, 0x33, 0xf9, 0xa5, 0xd7, 0x61, 0xeb, + 0xed, 0x5d, 0xf0, 0xaa, +}; +static const struct drbg_kat_pr_false kat1622_t = { + 1, kat1622_entropyin, kat1622_nonce, kat1622_persstr, + kat1622_entropyinreseed, kat1622_addinreseed, kat1622_addin0, + kat1622_addin1, kat1622_retbits +}; +static const struct drbg_kat kat1622 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1622_t +}; + +static const unsigned char kat1623_entropyin[] = { + 0xd2, 0x7e, 0x9d, 0xc5, 0x0d, 0x02, 0xc1, 0x5c, 0x94, 0xfb, 0x4c, 0x89, + 0xf0, 0xb6, 0x3f, 0x3b, +}; +static const unsigned char kat1623_nonce[] = { + 0x03, 0x70, 0x86, 0x37, 0xe5, 0x2d, 0xbc, 0x43, +}; +static const unsigned char kat1623_persstr[] = {0}; +static const unsigned char kat1623_entropyinreseed[] = { + 0x29, 0xfe, 0x20, 0x3f, 0x73, 0xd1, 0xec, 0x9d, 0x8b, 0x2d, 0xb8, 0x43, + 0xcf, 0x24, 0x93, 0x5c, +}; +static const unsigned char kat1623_addinreseed[] = {0}; +static const unsigned char kat1623_addin0[] = {0}; +static const unsigned char kat1623_addin1[] = {0}; +static const unsigned char kat1623_retbits[] = { + 0x6d, 0x05, 0x86, 0xb9, 0xbb, 0xf7, 0x84, 0x77, 0xd1, 0x76, 0x3a, 0x6b, + 0x13, 0x94, 0x6d, 0xd7, 0xff, 0x3b, 0x64, 0xe1, 0xa0, 0x81, 0x26, 0x53, + 0x27, 0x3b, 0x1b, 0x89, 0x24, 0xa6, 0x10, 0x37, 0xcc, 0x82, 0x47, 0x19, + 0xfa, 0x7a, 0x68, 0x82, 0x0d, 0x6b, 0xeb, 0xf9, 0xea, 0xd1, 0x6b, 0xd8, + 0xe9, 0xb1, 0x68, 0xef, 0x94, 0xfc, 0x0e, 0x8c, 0x10, 0xc7, 0xbd, 0x8e, + 0xee, 0xc0, 0x5e, 0x9e, +}; +static const struct drbg_kat_pr_false kat1623_t = { + 2, kat1623_entropyin, kat1623_nonce, kat1623_persstr, + kat1623_entropyinreseed, kat1623_addinreseed, kat1623_addin0, + kat1623_addin1, kat1623_retbits +}; +static const struct drbg_kat kat1623 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1623_t +}; + +static const unsigned char kat1624_entropyin[] = { + 0x9d, 0x35, 0xf5, 0xde, 0xe9, 0xdf, 0xea, 0x54, 0x3f, 0x12, 0x5e, 0x43, + 0x8b, 0x9d, 0x80, 0x85, +}; +static const unsigned char kat1624_nonce[] = { + 0xa0, 0x71, 0xd5, 0xcc, 0x08, 0x16, 0xf7, 0x70, +}; +static const unsigned char kat1624_persstr[] = {0}; +static const unsigned char kat1624_entropyinreseed[] = { + 0x72, 0x0e, 0xa8, 0x84, 0xc2, 0x53, 0xef, 0x23, 0x50, 0xc2, 0xb7, 0x37, + 0x57, 0xa7, 0xe5, 0x89, +}; +static const unsigned char kat1624_addinreseed[] = {0}; +static const unsigned char kat1624_addin0[] = {0}; +static const unsigned char kat1624_addin1[] = {0}; +static const unsigned char kat1624_retbits[] = { + 0x4d, 0x57, 0x1f, 0xec, 0x7a, 0xc3, 0x22, 0xd1, 0xe0, 0xda, 0x52, 0x57, + 0x13, 0x42, 0xd9, 0x75, 0x25, 0xf2, 0xa5, 0xdd, 0x06, 0x3b, 0xeb, 0x0d, + 0xbb, 0xa8, 0xf1, 0x59, 0x2c, 0xa3, 0x26, 0x3f, 0x46, 0x59, 0x6f, 0xbe, + 0x15, 0xbb, 0x21, 0x87, 0xb4, 0x23, 0x4e, 0x1d, 0x24, 0x9c, 0xab, 0x0b, + 0xd1, 0x8a, 0x70, 0x24, 0xac, 0xaa, 0x60, 0x25, 0x56, 0x56, 0x99, 0xec, + 0x88, 0xca, 0xef, 0xca, +}; +static const struct drbg_kat_pr_false kat1624_t = { + 3, kat1624_entropyin, kat1624_nonce, kat1624_persstr, + kat1624_entropyinreseed, kat1624_addinreseed, kat1624_addin0, + kat1624_addin1, kat1624_retbits +}; +static const struct drbg_kat kat1624 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1624_t +}; + +static const unsigned char kat1625_entropyin[] = { + 0x4f, 0x17, 0x02, 0xfe, 0x2a, 0x6a, 0x2f, 0xeb, 0xfb, 0xcc, 0x28, 0xa4, + 0xa3, 0xcc, 0xa8, 0x95, +}; +static const unsigned char kat1625_nonce[] = { + 0xa8, 0x60, 0x2c, 0x83, 0x29, 0xe5, 0xed, 0x59, +}; +static const unsigned char kat1625_persstr[] = {0}; +static const unsigned char kat1625_entropyinreseed[] = { + 0x7e, 0xac, 0x91, 0x89, 0xd1, 0x72, 0x3e, 0xcd, 0xdc, 0x4d, 0x4c, 0x9b, + 0x7d, 0xa7, 0x51, 0x25, +}; +static const unsigned char kat1625_addinreseed[] = {0}; +static const unsigned char kat1625_addin0[] = {0}; +static const unsigned char kat1625_addin1[] = {0}; +static const unsigned char kat1625_retbits[] = { + 0x17, 0x9a, 0xc5, 0x06, 0x5c, 0x44, 0x6b, 0xb0, 0x21, 0x3a, 0x0f, 0x7a, + 0x65, 0xea, 0x72, 0x87, 0xf0, 0x32, 0x21, 0xaa, 0x0a, 0x53, 0xe3, 0x83, + 0x8c, 0xeb, 0xf1, 0x09, 0xa0, 0x21, 0xb5, 0x20, 0xa3, 0x66, 0x39, 0x1f, + 0xf6, 0x7e, 0xa7, 0x80, 0x6b, 0x42, 0xd6, 0xfb, 0xe3, 0x29, 0xaa, 0x4c, + 0x7e, 0x47, 0x32, 0xd1, 0x6e, 0x32, 0x4a, 0xbe, 0xce, 0x03, 0x34, 0xf9, + 0x95, 0x0f, 0x59, 0xc7, +}; +static const struct drbg_kat_pr_false kat1625_t = { + 4, kat1625_entropyin, kat1625_nonce, kat1625_persstr, + kat1625_entropyinreseed, kat1625_addinreseed, kat1625_addin0, + kat1625_addin1, kat1625_retbits +}; +static const struct drbg_kat kat1625 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1625_t +}; + +static const unsigned char kat1626_entropyin[] = { + 0x5d, 0xf0, 0x1e, 0x87, 0xe1, 0x1d, 0xd2, 0x27, 0x12, 0x78, 0x20, 0xdc, + 0x1d, 0x28, 0x6c, 0xbe, +}; +static const unsigned char kat1626_nonce[] = { + 0x7f, 0xd3, 0xc3, 0xb3, 0x9a, 0xa9, 0x10, 0xd4, +}; +static const unsigned char kat1626_persstr[] = {0}; +static const unsigned char kat1626_entropyinreseed[] = { + 0x11, 0x4e, 0xc0, 0x94, 0x30, 0xb7, 0xc0, 0xf4, 0x3e, 0x41, 0xb6, 0x54, + 0x61, 0xc2, 0x8b, 0xaf, +}; +static const unsigned char kat1626_addinreseed[] = {0}; +static const unsigned char kat1626_addin0[] = {0}; +static const unsigned char kat1626_addin1[] = {0}; +static const unsigned char kat1626_retbits[] = { + 0x9b, 0xd4, 0x58, 0x79, 0xf0, 0xf0, 0xb9, 0xfa, 0xac, 0xd7, 0xc6, 0x47, + 0x43, 0xfd, 0xa1, 0xd0, 0x03, 0x74, 0x42, 0xc3, 0xc5, 0xc5, 0x81, 0xba, + 0xe0, 0x0a, 0x4f, 0xec, 0x9a, 0xd6, 0xa1, 0x17, 0x5a, 0x15, 0xfd, 0xbb, + 0xa5, 0x6e, 0x62, 0x37, 0x39, 0x92, 0x81, 0xf6, 0x87, 0x02, 0x2e, 0x4a, + 0x1c, 0xa0, 0xb4, 0x53, 0x20, 0xae, 0xd2, 0x68, 0xe6, 0x11, 0x1d, 0x92, + 0x60, 0x9a, 0x1b, 0x40, +}; +static const struct drbg_kat_pr_false kat1626_t = { + 5, kat1626_entropyin, kat1626_nonce, kat1626_persstr, + kat1626_entropyinreseed, kat1626_addinreseed, kat1626_addin0, + kat1626_addin1, kat1626_retbits +}; +static const struct drbg_kat kat1626 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1626_t +}; + +static const unsigned char kat1627_entropyin[] = { + 0x60, 0xbf, 0x7d, 0x60, 0x9d, 0x78, 0x10, 0xb0, 0xd4, 0x86, 0xad, 0x95, + 0x32, 0x1c, 0x3b, 0x76, +}; +static const unsigned char kat1627_nonce[] = { + 0xab, 0x8b, 0x81, 0x29, 0xc5, 0xb9, 0x99, 0xff, +}; +static const unsigned char kat1627_persstr[] = {0}; +static const unsigned char kat1627_entropyinreseed[] = { + 0xca, 0xed, 0x65, 0x4d, 0xd8, 0x79, 0x03, 0xa7, 0x84, 0x79, 0x8f, 0x70, + 0xae, 0xa3, 0xd5, 0xc7, +}; +static const unsigned char kat1627_addinreseed[] = {0}; +static const unsigned char kat1627_addin0[] = {0}; +static const unsigned char kat1627_addin1[] = {0}; +static const unsigned char kat1627_retbits[] = { + 0xa4, 0x42, 0x50, 0x7d, 0xc8, 0xe2, 0x3b, 0x83, 0xb9, 0x51, 0xaf, 0x0f, + 0x25, 0xc2, 0x07, 0xb7, 0x31, 0x48, 0xf4, 0x80, 0x0d, 0x45, 0xf3, 0x94, + 0x8a, 0x08, 0x8f, 0xf3, 0xd9, 0x61, 0xd2, 0x1d, 0x93, 0x75, 0x55, 0x80, + 0x56, 0xcd, 0xea, 0x12, 0x28, 0xf2, 0xe9, 0x3f, 0xcd, 0xe8, 0xc3, 0xa4, + 0xce, 0x8c, 0x8d, 0x7f, 0x98, 0x02, 0x8c, 0x8d, 0xcb, 0x1b, 0x38, 0xe7, + 0x95, 0xeb, 0xd4, 0x95, +}; +static const struct drbg_kat_pr_false kat1627_t = { + 6, kat1627_entropyin, kat1627_nonce, kat1627_persstr, + kat1627_entropyinreseed, kat1627_addinreseed, kat1627_addin0, + kat1627_addin1, kat1627_retbits +}; +static const struct drbg_kat kat1627 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1627_t +}; + +static const unsigned char kat1628_entropyin[] = { + 0x33, 0x83, 0x45, 0x50, 0xdb, 0xb5, 0x8b, 0x77, 0xf6, 0xa1, 0x1c, 0x50, + 0x43, 0xda, 0x2c, 0x35, +}; +static const unsigned char kat1628_nonce[] = { + 0x0b, 0x31, 0x57, 0x24, 0xf1, 0xd7, 0xd8, 0x8c, +}; +static const unsigned char kat1628_persstr[] = {0}; +static const unsigned char kat1628_entropyinreseed[] = { + 0xe2, 0xb0, 0x7a, 0x29, 0x0f, 0x04, 0x79, 0x61, 0xeb, 0x10, 0xc2, 0x6e, + 0x58, 0xfe, 0x32, 0xd3, +}; +static const unsigned char kat1628_addinreseed[] = {0}; +static const unsigned char kat1628_addin0[] = {0}; +static const unsigned char kat1628_addin1[] = {0}; +static const unsigned char kat1628_retbits[] = { + 0x28, 0xe7, 0x0d, 0x99, 0xb3, 0xef, 0xd0, 0xd9, 0xee, 0xc9, 0x3f, 0xc5, + 0x33, 0xe3, 0x35, 0xe5, 0x68, 0xee, 0xd5, 0x7c, 0x21, 0xd7, 0xfe, 0xd9, + 0x20, 0xe5, 0x54, 0x46, 0x67, 0xcf, 0xe1, 0x3f, 0xbc, 0x06, 0x3d, 0xd8, + 0x18, 0xf3, 0x1c, 0xc8, 0x31, 0x27, 0xb6, 0x39, 0x45, 0x8f, 0x66, 0x0f, + 0x74, 0x81, 0x66, 0x3a, 0xdc, 0x3b, 0xb1, 0xfd, 0xf9, 0x18, 0x7f, 0xef, + 0x0a, 0x7a, 0x9d, 0xf0, +}; +static const struct drbg_kat_pr_false kat1628_t = { + 7, kat1628_entropyin, kat1628_nonce, kat1628_persstr, + kat1628_entropyinreseed, kat1628_addinreseed, kat1628_addin0, + kat1628_addin1, kat1628_retbits +}; +static const struct drbg_kat kat1628 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1628_t +}; + +static const unsigned char kat1629_entropyin[] = { + 0x3e, 0xd5, 0x95, 0x77, 0xbc, 0xd9, 0xa0, 0x4f, 0x0d, 0x87, 0xf0, 0x97, + 0xb0, 0x6a, 0xad, 0x2c, +}; +static const unsigned char kat1629_nonce[] = { + 0x6a, 0xcc, 0x6c, 0xf7, 0x18, 0x5b, 0xa0, 0xb5, +}; +static const unsigned char kat1629_persstr[] = {0}; +static const unsigned char kat1629_entropyinreseed[] = { + 0x90, 0xd0, 0x4f, 0x84, 0x01, 0x72, 0xe5, 0xf5, 0xcc, 0xb3, 0x4a, 0x11, + 0x3e, 0xc7, 0xfe, 0x9a, +}; +static const unsigned char kat1629_addinreseed[] = {0}; +static const unsigned char kat1629_addin0[] = {0}; +static const unsigned char kat1629_addin1[] = {0}; +static const unsigned char kat1629_retbits[] = { + 0xe3, 0xb8, 0x76, 0x80, 0x23, 0x87, 0x5d, 0xf8, 0x1b, 0x9f, 0xca, 0xa4, + 0xdd, 0x55, 0xed, 0x53, 0x3e, 0xa8, 0xc0, 0x5b, 0x57, 0xf0, 0x2c, 0x2b, + 0xea, 0xd3, 0x27, 0x83, 0x0d, 0xe5, 0x29, 0x31, 0x76, 0x52, 0x3a, 0xea, + 0x97, 0x4b, 0xff, 0x83, 0x52, 0xa7, 0x84, 0x32, 0x1f, 0xe3, 0x08, 0xe1, + 0xb2, 0x89, 0x7b, 0x47, 0x07, 0x8d, 0x25, 0xc2, 0x4f, 0xb8, 0xa1, 0x71, + 0x63, 0x9d, 0x27, 0x6f, +}; +static const struct drbg_kat_pr_false kat1629_t = { + 8, kat1629_entropyin, kat1629_nonce, kat1629_persstr, + kat1629_entropyinreseed, kat1629_addinreseed, kat1629_addin0, + kat1629_addin1, kat1629_retbits +}; +static const struct drbg_kat kat1629 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1629_t +}; + +static const unsigned char kat1630_entropyin[] = { + 0xd1, 0x17, 0x76, 0x26, 0xcc, 0x06, 0x76, 0x73, 0x7d, 0x87, 0x92, 0x99, + 0xd0, 0x1a, 0x5a, 0x24, +}; +static const unsigned char kat1630_nonce[] = { + 0xef, 0x9e, 0xfb, 0x3a, 0x6e, 0xd4, 0x84, 0x8a, +}; +static const unsigned char kat1630_persstr[] = {0}; +static const unsigned char kat1630_entropyinreseed[] = { + 0x19, 0xbe, 0xeb, 0x41, 0xb5, 0x96, 0x9d, 0xf1, 0xab, 0xa6, 0x5d, 0xe8, + 0x54, 0x74, 0xf6, 0xc8, +}; +static const unsigned char kat1630_addinreseed[] = {0}; +static const unsigned char kat1630_addin0[] = {0}; +static const unsigned char kat1630_addin1[] = {0}; +static const unsigned char kat1630_retbits[] = { + 0xee, 0xfa, 0x3b, 0x05, 0xf8, 0x74, 0x2c, 0x2c, 0x31, 0xf7, 0x2f, 0x36, + 0x2a, 0xc9, 0x4e, 0x9c, 0x25, 0x4d, 0x39, 0x8c, 0x2c, 0x7b, 0x43, 0x15, + 0xb6, 0x06, 0x0e, 0x73, 0x3c, 0x80, 0x1f, 0xb9, 0x56, 0xff, 0x06, 0x48, + 0xfa, 0x87, 0x33, 0x8d, 0x5f, 0xeb, 0x1e, 0x33, 0x04, 0xfa, 0xbe, 0xc5, + 0x29, 0xa3, 0x37, 0xe2, 0x94, 0x62, 0xd3, 0x6c, 0x02, 0xa2, 0x75, 0x7d, + 0x0b, 0x31, 0xd4, 0xc6, +}; +static const struct drbg_kat_pr_false kat1630_t = { + 9, kat1630_entropyin, kat1630_nonce, kat1630_persstr, + kat1630_entropyinreseed, kat1630_addinreseed, kat1630_addin0, + kat1630_addin1, kat1630_retbits +}; +static const struct drbg_kat kat1630 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1630_t +}; + +static const unsigned char kat1631_entropyin[] = { + 0x92, 0x87, 0xcc, 0x2b, 0xb1, 0xfe, 0xe8, 0x2a, 0x6d, 0x74, 0xcc, 0xb8, + 0x53, 0x49, 0xc7, 0x5d, +}; +static const unsigned char kat1631_nonce[] = { + 0x22, 0x2d, 0x7a, 0x6f, 0xe2, 0xc1, 0x6c, 0x1f, +}; +static const unsigned char kat1631_persstr[] = {0}; +static const unsigned char kat1631_entropyinreseed[] = { + 0xf5, 0xf6, 0x01, 0xce, 0xbc, 0x5a, 0x7f, 0xb7, 0x3f, 0x14, 0xed, 0x29, + 0x08, 0x01, 0x6c, 0x7d, +}; +static const unsigned char kat1631_addinreseed[] = {0}; +static const unsigned char kat1631_addin0[] = {0}; +static const unsigned char kat1631_addin1[] = {0}; +static const unsigned char kat1631_retbits[] = { + 0xc5, 0x40, 0x51, 0xb9, 0xdb, 0xb9, 0x8b, 0x81, 0x2d, 0xcc, 0x41, 0x7b, + 0x67, 0x15, 0x26, 0x7a, 0x11, 0x72, 0x09, 0xd4, 0x73, 0x58, 0x77, 0xb4, + 0x9e, 0x68, 0xe9, 0x6f, 0x4f, 0xa7, 0x16, 0x7d, 0x6e, 0x13, 0x82, 0x69, + 0x17, 0x6f, 0xbb, 0x4d, 0x5e, 0xbe, 0x53, 0x28, 0x6d, 0xd0, 0xc0, 0xc3, + 0xbc, 0x6b, 0x7f, 0xc6, 0xd7, 0x42, 0x64, 0x45, 0x8a, 0x61, 0xcb, 0x67, + 0x41, 0x8b, 0xe4, 0xb1, +}; +static const struct drbg_kat_pr_false kat1631_t = { + 10, kat1631_entropyin, kat1631_nonce, kat1631_persstr, + kat1631_entropyinreseed, kat1631_addinreseed, kat1631_addin0, + kat1631_addin1, kat1631_retbits +}; +static const struct drbg_kat kat1631 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1631_t +}; + +static const unsigned char kat1632_entropyin[] = { + 0xd8, 0xbe, 0xea, 0x04, 0xe4, 0x55, 0xb1, 0x5c, 0x26, 0x87, 0x02, 0xc7, + 0x87, 0xa5, 0x46, 0xbb, +}; +static const unsigned char kat1632_nonce[] = { + 0xd3, 0x3f, 0x60, 0x34, 0x33, 0xf0, 0x97, 0xc4, +}; +static const unsigned char kat1632_persstr[] = {0}; +static const unsigned char kat1632_entropyinreseed[] = { + 0x3d, 0x0e, 0x20, 0x90, 0xdc, 0xab, 0xf5, 0x21, 0x16, 0x09, 0x62, 0xe5, + 0xee, 0x91, 0x21, 0x32, +}; +static const unsigned char kat1632_addinreseed[] = {0}; +static const unsigned char kat1632_addin0[] = {0}; +static const unsigned char kat1632_addin1[] = {0}; +static const unsigned char kat1632_retbits[] = { + 0x4e, 0xda, 0xaf, 0x5f, 0x46, 0x83, 0x82, 0xca, 0x0a, 0x8c, 0x9b, 0x51, + 0x17, 0x4d, 0x97, 0xc1, 0x06, 0xa2, 0xed, 0x2e, 0xc6, 0x36, 0xe9, 0xb4, + 0xd2, 0x9c, 0x25, 0x99, 0xc0, 0xe0, 0xd6, 0x80, 0xaa, 0xf7, 0xbd, 0xa1, + 0x5b, 0x26, 0x7f, 0x8f, 0x16, 0x18, 0x24, 0xa0, 0x1c, 0xc6, 0x0d, 0x41, + 0x8a, 0x8f, 0x13, 0xe7, 0xcd, 0xe3, 0x1f, 0xbd, 0x2a, 0x85, 0x27, 0x2c, + 0xb5, 0x57, 0x76, 0x79, +}; +static const struct drbg_kat_pr_false kat1632_t = { + 11, kat1632_entropyin, kat1632_nonce, kat1632_persstr, + kat1632_entropyinreseed, kat1632_addinreseed, kat1632_addin0, + kat1632_addin1, kat1632_retbits +}; +static const struct drbg_kat kat1632 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1632_t +}; + +static const unsigned char kat1633_entropyin[] = { + 0xf2, 0x41, 0xf0, 0x59, 0x8f, 0x93, 0x15, 0xdc, 0xad, 0x17, 0xe6, 0x09, + 0x8a, 0x7d, 0x5d, 0x72, +}; +static const unsigned char kat1633_nonce[] = { + 0x3a, 0x79, 0xda, 0x9a, 0xd1, 0x74, 0x9c, 0x15, +}; +static const unsigned char kat1633_persstr[] = {0}; +static const unsigned char kat1633_entropyinreseed[] = { + 0xc5, 0x04, 0x6a, 0x9d, 0x08, 0x79, 0x46, 0xe3, 0xac, 0x1c, 0x54, 0x12, + 0x77, 0x2d, 0x26, 0x2e, +}; +static const unsigned char kat1633_addinreseed[] = {0}; +static const unsigned char kat1633_addin0[] = {0}; +static const unsigned char kat1633_addin1[] = {0}; +static const unsigned char kat1633_retbits[] = { + 0x07, 0xd0, 0xb5, 0x65, 0x09, 0x41, 0x8f, 0xba, 0x49, 0xa3, 0x62, 0xeb, + 0x47, 0xc3, 0xe2, 0x30, 0xb9, 0x32, 0x93, 0x04, 0xc0, 0xa4, 0x47, 0x89, + 0x49, 0x58, 0x6c, 0xb1, 0xfe, 0x28, 0xb1, 0xd0, 0x48, 0x0c, 0x4f, 0x44, + 0x3b, 0x04, 0xb0, 0xa2, 0xdd, 0x12, 0xce, 0xd3, 0xd7, 0x21, 0xf1, 0x3e, + 0x7f, 0x1b, 0xc0, 0xed, 0x07, 0x4b, 0xcc, 0x08, 0x47, 0xca, 0x0e, 0xfe, + 0x7f, 0xcb, 0xc3, 0x63, +}; +static const struct drbg_kat_pr_false kat1633_t = { + 12, kat1633_entropyin, kat1633_nonce, kat1633_persstr, + kat1633_entropyinreseed, kat1633_addinreseed, kat1633_addin0, + kat1633_addin1, kat1633_retbits +}; +static const struct drbg_kat kat1633 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1633_t +}; + +static const unsigned char kat1634_entropyin[] = { + 0x8a, 0x40, 0xd5, 0x80, 0xe5, 0x3b, 0xdb, 0xbc, 0xfd, 0x9f, 0x49, 0xcb, + 0x76, 0x56, 0xe3, 0xa2, +}; +static const unsigned char kat1634_nonce[] = { + 0xd4, 0x12, 0x9f, 0xc3, 0x72, 0x4c, 0x6d, 0x41, +}; +static const unsigned char kat1634_persstr[] = {0}; +static const unsigned char kat1634_entropyinreseed[] = { + 0x88, 0xee, 0xad, 0xc3, 0x2c, 0x34, 0x87, 0xcb, 0x07, 0x45, 0x43, 0xab, + 0xf2, 0x24, 0x76, 0x43, +}; +static const unsigned char kat1634_addinreseed[] = {0}; +static const unsigned char kat1634_addin0[] = {0}; +static const unsigned char kat1634_addin1[] = {0}; +static const unsigned char kat1634_retbits[] = { + 0x6a, 0x02, 0xe4, 0xc3, 0xc8, 0x14, 0xf7, 0x5f, 0x65, 0x18, 0xfb, 0x2a, + 0x52, 0x95, 0xa0, 0x5c, 0x5a, 0xf4, 0x91, 0xb6, 0x43, 0x89, 0xf9, 0x16, + 0x11, 0x79, 0xaf, 0x54, 0x36, 0xa5, 0x2a, 0x5e, 0xcd, 0xbc, 0x07, 0x31, + 0xde, 0xda, 0xf9, 0x5a, 0x24, 0xdc, 0x56, 0xec, 0x63, 0x4c, 0x97, 0x45, + 0xb6, 0xcd, 0x33, 0x3a, 0x6d, 0xe9, 0x60, 0x4d, 0x18, 0xa5, 0x18, 0x7a, + 0xc7, 0xcc, 0x9a, 0x1d, +}; +static const struct drbg_kat_pr_false kat1634_t = { + 13, kat1634_entropyin, kat1634_nonce, kat1634_persstr, + kat1634_entropyinreseed, kat1634_addinreseed, kat1634_addin0, + kat1634_addin1, kat1634_retbits +}; +static const struct drbg_kat kat1634 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1634_t +}; + +static const unsigned char kat1635_entropyin[] = { + 0x07, 0x56, 0xb7, 0x33, 0x1d, 0x1c, 0x5b, 0x85, 0x52, 0xf1, 0x04, 0x73, + 0x4a, 0x4e, 0x4f, 0x5c, +}; +static const unsigned char kat1635_nonce[] = { + 0x17, 0x78, 0xbc, 0x41, 0x30, 0xec, 0xfd, 0x4f, +}; +static const unsigned char kat1635_persstr[] = {0}; +static const unsigned char kat1635_entropyinreseed[] = { + 0x48, 0x8e, 0xd1, 0x5d, 0xce, 0x02, 0xe3, 0xc2, 0xe3, 0xee, 0x57, 0x12, + 0x60, 0xfe, 0x73, 0x4c, +}; +static const unsigned char kat1635_addinreseed[] = {0}; +static const unsigned char kat1635_addin0[] = {0}; +static const unsigned char kat1635_addin1[] = {0}; +static const unsigned char kat1635_retbits[] = { + 0x8e, 0xa1, 0x97, 0x96, 0x34, 0x72, 0xda, 0x04, 0x30, 0xaa, 0xb9, 0xc3, + 0x1b, 0x91, 0xb5, 0xf9, 0x59, 0x24, 0xe7, 0xc8, 0xa3, 0x4c, 0x26, 0x25, + 0x27, 0x7d, 0xdb, 0xdf, 0xf5, 0x51, 0xb8, 0x37, 0xf4, 0x08, 0x96, 0xf1, + 0x33, 0xf7, 0xf6, 0x85, 0x5f, 0xbb, 0xbc, 0xb1, 0x97, 0xd4, 0xb2, 0x22, + 0xac, 0xb3, 0xc0, 0xd0, 0x4d, 0x1c, 0xff, 0xc3, 0x41, 0x19, 0x47, 0xa5, + 0x8b, 0x57, 0x16, 0x6b, +}; +static const struct drbg_kat_pr_false kat1635_t = { + 14, kat1635_entropyin, kat1635_nonce, kat1635_persstr, + kat1635_entropyinreseed, kat1635_addinreseed, kat1635_addin0, + kat1635_addin1, kat1635_retbits +}; +static const struct drbg_kat kat1635 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat1635_t +}; + +static const unsigned char kat1636_entropyin[] = { + 0x09, 0x6a, 0xf1, 0x70, 0x4b, 0xca, 0xb3, 0x13, 0xf8, 0xa4, 0xe9, 0xa2, + 0xb1, 0xed, 0x50, 0x6e, +}; +static const unsigned char kat1636_nonce[] = { + 0x58, 0xf0, 0xeb, 0x13, 0x75, 0xa0, 0xbd, 0x20, +}; +static const unsigned char kat1636_persstr[] = {0}; +static const unsigned char kat1636_entropyinreseed[] = { + 0x4b, 0x55, 0x79, 0xcd, 0x54, 0x8b, 0xf9, 0xea, 0xf3, 0xf1, 0x75, 0x45, + 0x96, 0x13, 0xf3, 0xc8, +}; +static const unsigned char kat1636_addinreseed[] = { + 0x2f, 0x23, 0x3b, 0x8d, 0x01, 0x24, 0xb7, 0xa0, 0xac, 0x81, 0xce, 0xe2, + 0xea, 0x1e, 0x7e, 0xf4, +}; +static const unsigned char kat1636_addin0[] = { + 0x19, 0xf8, 0xdb, 0xdc, 0xc7, 0x78, 0x51, 0xf3, 0x6b, 0x40, 0x05, 0x90, + 0x86, 0x20, 0xe4, 0x03, +}; +static const unsigned char kat1636_addin1[] = { + 0xeb, 0x89, 0x42, 0x22, 0x93, 0xb9, 0xc9, 0xaa, 0x20, 0xa5, 0x0c, 0x42, + 0x9e, 0xbd, 0xad, 0x6e, +}; +static const unsigned char kat1636_retbits[] = { + 0x82, 0x44, 0x51, 0xfd, 0x98, 0x19, 0xef, 0x4e, 0x30, 0x0e, 0xa6, 0xea, + 0xa1, 0xd2, 0x05, 0x12, 0xfa, 0xd1, 0xa6, 0xce, 0xa4, 0x3c, 0x47, 0xa9, + 0x2d, 0xc5, 0x07, 0x56, 0xb5, 0x91, 0x7b, 0x84, 0x88, 0x87, 0xe7, 0x05, + 0xb1, 0x7d, 0x71, 0x78, 0x15, 0xa5, 0xf6, 0xc3, 0xbb, 0xc0, 0xf4, 0xb3, + 0xe1, 0xb3, 0x92, 0x51, 0x9e, 0x5e, 0x71, 0x47, 0xda, 0x12, 0x6f, 0xd0, + 0xc5, 0x8a, 0x25, 0xbd, +}; +static const struct drbg_kat_pr_false kat1636_t = { + 0, kat1636_entropyin, kat1636_nonce, kat1636_persstr, + kat1636_entropyinreseed, kat1636_addinreseed, kat1636_addin0, + kat1636_addin1, kat1636_retbits +}; +static const struct drbg_kat kat1636 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1636_t +}; + +static const unsigned char kat1637_entropyin[] = { + 0x47, 0x96, 0x55, 0xc2, 0x06, 0x72, 0xdb, 0x0e, 0xaa, 0xbf, 0xd8, 0x9b, + 0x82, 0x2f, 0x03, 0x0f, +}; +static const unsigned char kat1637_nonce[] = { + 0xac, 0x04, 0x35, 0x95, 0x5c, 0x09, 0x76, 0xde, +}; +static const unsigned char kat1637_persstr[] = {0}; +static const unsigned char kat1637_entropyinreseed[] = { + 0xbe, 0x00, 0x06, 0x29, 0xc3, 0x1e, 0xb6, 0xd6, 0x6b, 0x09, 0x9d, 0xad, + 0x3a, 0xeb, 0xed, 0x35, +}; +static const unsigned char kat1637_addinreseed[] = { + 0xde, 0x2f, 0x66, 0x25, 0x0a, 0x05, 0x3f, 0x6f, 0x3f, 0xf1, 0xf1, 0xf3, + 0xe3, 0x1c, 0x0e, 0xdc, +}; +static const unsigned char kat1637_addin0[] = { + 0x6f, 0xf2, 0xba, 0x8f, 0xe3, 0x4c, 0x1d, 0x08, 0xe5, 0x5e, 0x70, 0x0a, + 0x77, 0x30, 0xc2, 0x3b, +}; +static const unsigned char kat1637_addin1[] = { + 0xa2, 0xc9, 0x66, 0x07, 0xa2, 0xe3, 0x1a, 0x5d, 0xd1, 0x0c, 0x82, 0x1e, + 0xc0, 0x53, 0xe2, 0xfe, +}; +static const unsigned char kat1637_retbits[] = { + 0xff, 0xcd, 0xde, 0x31, 0xbc, 0xce, 0x01, 0x6d, 0x9f, 0xba, 0xcb, 0xbe, + 0x8b, 0xe4, 0x62, 0x1b, 0xa8, 0x4f, 0x8c, 0x97, 0xfb, 0xd0, 0xa0, 0x37, + 0x8e, 0xe1, 0x34, 0xe8, 0xd4, 0x12, 0x4a, 0x5f, 0x12, 0x98, 0xa2, 0xcb, + 0x0e, 0x8c, 0x1b, 0xe8, 0xc6, 0x58, 0x7c, 0x60, 0x0a, 0xb2, 0x72, 0xfb, + 0xbe, 0x30, 0xbb, 0xb1, 0x5a, 0x8f, 0x8f, 0xab, 0x68, 0xc3, 0xe8, 0x22, + 0xfe, 0xe7, 0x10, 0x0d, +}; +static const struct drbg_kat_pr_false kat1637_t = { + 1, kat1637_entropyin, kat1637_nonce, kat1637_persstr, + kat1637_entropyinreseed, kat1637_addinreseed, kat1637_addin0, + kat1637_addin1, kat1637_retbits +}; +static const struct drbg_kat kat1637 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1637_t +}; + +static const unsigned char kat1638_entropyin[] = { + 0xf6, 0xcc, 0x98, 0x59, 0xa8, 0x81, 0x1d, 0x24, 0x7e, 0x93, 0x42, 0x58, + 0x78, 0x64, 0xd4, 0x53, +}; +static const unsigned char kat1638_nonce[] = { + 0x70, 0x2f, 0x64, 0xb7, 0x91, 0x2a, 0x61, 0xd9, +}; +static const unsigned char kat1638_persstr[] = {0}; +static const unsigned char kat1638_entropyinreseed[] = { + 0xbf, 0x7b, 0x10, 0x0a, 0x23, 0x54, 0xf6, 0x00, 0x62, 0x21, 0x23, 0xd2, + 0x1e, 0x61, 0xb2, 0x2d, +}; +static const unsigned char kat1638_addinreseed[] = { + 0x92, 0x50, 0xfe, 0x41, 0x9e, 0xbf, 0xba, 0xb0, 0xec, 0x7c, 0x5b, 0x8c, + 0xb9, 0xe1, 0x5e, 0x6f, +}; +static const unsigned char kat1638_addin0[] = { + 0xa2, 0xb1, 0xf0, 0xac, 0x23, 0x0e, 0xb0, 0x5f, 0x99, 0xc0, 0x0f, 0x02, + 0x8e, 0xa8, 0xfb, 0xf5, +}; +static const unsigned char kat1638_addin1[] = { + 0x02, 0xb1, 0x47, 0x1a, 0xce, 0x23, 0x30, 0xcb, 0x99, 0x90, 0xe2, 0xb3, + 0x3f, 0x7d, 0x2f, 0xe2, +}; +static const unsigned char kat1638_retbits[] = { + 0xd8, 0x65, 0xd2, 0x38, 0x47, 0xd0, 0xae, 0x11, 0x3b, 0xa0, 0x69, 0xb6, + 0x45, 0x64, 0x9b, 0x1e, 0x8d, 0x97, 0x64, 0xc4, 0xb8, 0x25, 0x6b, 0x90, + 0x64, 0x60, 0x14, 0x15, 0xdf, 0x62, 0x00, 0xed, 0x92, 0xab, 0x18, 0x65, + 0x24, 0x37, 0x7d, 0x0f, 0x97, 0x03, 0x61, 0xb6, 0x6d, 0x07, 0x48, 0x62, + 0xe7, 0x63, 0x89, 0x4f, 0xc1, 0xf9, 0x3a, 0x9c, 0xdb, 0x64, 0x5c, 0xa6, + 0xd8, 0xe4, 0x44, 0x9c, +}; +static const struct drbg_kat_pr_false kat1638_t = { + 2, kat1638_entropyin, kat1638_nonce, kat1638_persstr, + kat1638_entropyinreseed, kat1638_addinreseed, kat1638_addin0, + kat1638_addin1, kat1638_retbits +}; +static const struct drbg_kat kat1638 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1638_t +}; + +static const unsigned char kat1639_entropyin[] = { + 0xcc, 0xc6, 0xad, 0x2d, 0xd9, 0x31, 0x8d, 0x61, 0xbe, 0xf5, 0x39, 0x0e, + 0x0e, 0x5f, 0xe9, 0x1f, +}; +static const unsigned char kat1639_nonce[] = { + 0x6d, 0xdb, 0x3c, 0xd3, 0x78, 0xfa, 0x31, 0x7a, +}; +static const unsigned char kat1639_persstr[] = {0}; +static const unsigned char kat1639_entropyinreseed[] = { + 0x9e, 0xab, 0x54, 0xe7, 0x43, 0xac, 0x5e, 0xc4, 0x97, 0x7c, 0xad, 0x57, + 0x53, 0x2f, 0x81, 0xd1, +}; +static const unsigned char kat1639_addinreseed[] = { + 0xb0, 0x2c, 0x69, 0xda, 0x73, 0x58, 0xe8, 0x25, 0x25, 0xa5, 0x03, 0xd7, + 0xb7, 0x24, 0xd1, 0x5d, +}; +static const unsigned char kat1639_addin0[] = { + 0x1c, 0xd7, 0x22, 0xa3, 0x93, 0x2d, 0xb2, 0x12, 0xf9, 0x27, 0xa4, 0xe0, + 0x1f, 0x7e, 0x71, 0x32, +}; +static const unsigned char kat1639_addin1[] = { + 0x72, 0xc7, 0xfb, 0xbf, 0xb6, 0x6c, 0x1c, 0x74, 0x4f, 0xe1, 0x4f, 0x39, + 0xeb, 0x4f, 0x68, 0xaa, +}; +static const unsigned char kat1639_retbits[] = { + 0xe1, 0xae, 0xca, 0xd7, 0xb5, 0x8d, 0x69, 0x7a, 0xdb, 0x10, 0xfd, 0xf6, + 0x4b, 0x55, 0x0e, 0xbb, 0xdd, 0x72, 0x14, 0x6d, 0xcb, 0x97, 0x34, 0x64, + 0xf2, 0x3a, 0xde, 0x84, 0x56, 0xbc, 0x90, 0x37, 0x22, 0x72, 0xb0, 0xe0, + 0x41, 0xa7, 0x1d, 0x4e, 0x0b, 0x63, 0x5a, 0x13, 0xb5, 0x75, 0x16, 0x3a, + 0x81, 0x09, 0xe9, 0xc9, 0xab, 0xe6, 0x93, 0x29, 0x6d, 0x74, 0x85, 0xe7, + 0x2d, 0x58, 0x6c, 0x66, +}; +static const struct drbg_kat_pr_false kat1639_t = { + 3, kat1639_entropyin, kat1639_nonce, kat1639_persstr, + kat1639_entropyinreseed, kat1639_addinreseed, kat1639_addin0, + kat1639_addin1, kat1639_retbits +}; +static const struct drbg_kat kat1639 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1639_t +}; + +static const unsigned char kat1640_entropyin[] = { + 0xfb, 0x39, 0xe5, 0xb3, 0xd0, 0xd1, 0x3d, 0x19, 0xa9, 0xac, 0xa7, 0x61, + 0xe6, 0xd6, 0xda, 0xc1, +}; +static const unsigned char kat1640_nonce[] = { + 0xa8, 0x4c, 0x3d, 0xec, 0x8f, 0xd8, 0xd3, 0xd7, +}; +static const unsigned char kat1640_persstr[] = {0}; +static const unsigned char kat1640_entropyinreseed[] = { + 0xcb, 0x39, 0x17, 0xe8, 0x54, 0x11, 0x7b, 0x54, 0xf8, 0x72, 0xfe, 0x54, + 0xf3, 0x96, 0x42, 0x6e, +}; +static const unsigned char kat1640_addinreseed[] = { + 0x12, 0x01, 0xc0, 0x48, 0x86, 0xbe, 0xf5, 0xf8, 0x76, 0xae, 0x73, 0x29, + 0x70, 0x80, 0x33, 0x37, +}; +static const unsigned char kat1640_addin0[] = { + 0x04, 0xcc, 0xad, 0x68, 0xea, 0xe5, 0x72, 0x99, 0xee, 0x86, 0x3c, 0x73, + 0x61, 0x97, 0x83, 0x67, +}; +static const unsigned char kat1640_addin1[] = { + 0xc1, 0x1b, 0xa7, 0x99, 0x4d, 0xbf, 0xbe, 0x09, 0xec, 0x91, 0x11, 0x6e, + 0xc3, 0x7a, 0x26, 0xe0, +}; +static const unsigned char kat1640_retbits[] = { + 0x7b, 0x28, 0xab, 0x4b, 0x2d, 0x8f, 0xfe, 0x3c, 0x8a, 0x78, 0xdf, 0x52, + 0x2f, 0x2f, 0x66, 0xe5, 0x37, 0x3c, 0xdb, 0x13, 0xa2, 0xe7, 0xb9, 0x5f, + 0x80, 0xe1, 0x5f, 0xb1, 0x5e, 0x9e, 0xc8, 0x53, 0x81, 0x84, 0x83, 0x94, + 0xb9, 0x10, 0x58, 0xd9, 0xb1, 0x23, 0x0c, 0x1b, 0x52, 0xc7, 0x5d, 0x32, + 0x22, 0x6c, 0xc8, 0x20, 0x6f, 0x78, 0x44, 0x0e, 0x09, 0xf2, 0x93, 0x9f, + 0xa4, 0xd0, 0x95, 0x38, +}; +static const struct drbg_kat_pr_false kat1640_t = { + 4, kat1640_entropyin, kat1640_nonce, kat1640_persstr, + kat1640_entropyinreseed, kat1640_addinreseed, kat1640_addin0, + kat1640_addin1, kat1640_retbits +}; +static const struct drbg_kat kat1640 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1640_t +}; + +static const unsigned char kat1641_entropyin[] = { + 0x02, 0xa8, 0x96, 0xb4, 0x4a, 0x0b, 0xee, 0x21, 0xab, 0x76, 0xf2, 0xb3, + 0xb8, 0x1b, 0x82, 0x2b, +}; +static const unsigned char kat1641_nonce[] = { + 0xf8, 0x73, 0x32, 0xdf, 0x5d, 0x23, 0x4c, 0xc7, +}; +static const unsigned char kat1641_persstr[] = {0}; +static const unsigned char kat1641_entropyinreseed[] = { + 0x81, 0xa5, 0x59, 0x70, 0xbd, 0x1f, 0xfb, 0xcd, 0xc4, 0x4c, 0x05, 0x26, + 0xa3, 0x11, 0x73, 0xa7, +}; +static const unsigned char kat1641_addinreseed[] = { + 0x34, 0xb9, 0xbd, 0xfd, 0x1b, 0x35, 0xb3, 0xc3, 0xcf, 0x18, 0x3f, 0xfc, + 0x1d, 0xb7, 0xea, 0x64, +}; +static const unsigned char kat1641_addin0[] = { + 0xe3, 0x70, 0xda, 0xb5, 0xc5, 0x1f, 0x4e, 0xbe, 0xde, 0xc1, 0xce, 0x23, + 0x53, 0xba, 0x2d, 0x3e, +}; +static const unsigned char kat1641_addin1[] = { + 0x2a, 0x9c, 0xb1, 0x9b, 0x53, 0x7a, 0x18, 0xf8, 0x2d, 0xf6, 0xc3, 0x3a, + 0x0a, 0x4c, 0x27, 0x16, +}; +static const unsigned char kat1641_retbits[] = { + 0x9f, 0x54, 0x6c, 0x83, 0xaf, 0xe7, 0xfb, 0x8f, 0xa8, 0x19, 0x40, 0x77, + 0xf9, 0x91, 0x71, 0xe9, 0x78, 0x7a, 0xb3, 0xdd, 0x2c, 0x3b, 0xe0, 0xde, + 0xbb, 0x99, 0x20, 0xf9, 0x08, 0x4d, 0x0d, 0xd1, 0x77, 0xd1, 0x14, 0x3d, + 0x76, 0xfd, 0xea, 0xbe, 0x6c, 0x6d, 0x79, 0x41, 0x65, 0xea, 0x99, 0x60, + 0x26, 0x7d, 0x61, 0x6f, 0x6f, 0x0f, 0xfd, 0x57, 0xae, 0x16, 0xd0, 0x8e, + 0xf5, 0x65, 0x05, 0xc5, +}; +static const struct drbg_kat_pr_false kat1641_t = { + 5, kat1641_entropyin, kat1641_nonce, kat1641_persstr, + kat1641_entropyinreseed, kat1641_addinreseed, kat1641_addin0, + kat1641_addin1, kat1641_retbits +}; +static const struct drbg_kat kat1641 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1641_t +}; + +static const unsigned char kat1642_entropyin[] = { + 0x6b, 0x90, 0x99, 0x43, 0x98, 0xad, 0x0d, 0xaa, 0x3c, 0xa9, 0x82, 0xea, + 0x94, 0x5c, 0x56, 0xda, +}; +static const unsigned char kat1642_nonce[] = { + 0x6b, 0x31, 0xe0, 0x10, 0x15, 0x63, 0xd6, 0xcb, +}; +static const unsigned char kat1642_persstr[] = {0}; +static const unsigned char kat1642_entropyinreseed[] = { + 0x18, 0x90, 0x44, 0xb3, 0x3d, 0xf7, 0xc3, 0x2a, 0x63, 0xd0, 0xb5, 0x13, + 0xc9, 0xa0, 0x80, 0xe0, +}; +static const unsigned char kat1642_addinreseed[] = { + 0x5d, 0xdd, 0x33, 0x2b, 0xe7, 0xdd, 0xaa, 0xa8, 0x6d, 0x47, 0x6e, 0x5f, + 0x49, 0xe1, 0x69, 0xbb, +}; +static const unsigned char kat1642_addin0[] = { + 0x7c, 0xca, 0x79, 0xe6, 0xdc, 0xc0, 0xf1, 0x2c, 0xea, 0xd1, 0x89, 0xfe, + 0x61, 0xd5, 0xd4, 0xfe, +}; +static const unsigned char kat1642_addin1[] = { + 0x95, 0x7f, 0x2b, 0xc6, 0x7a, 0x24, 0x48, 0xaa, 0x69, 0x61, 0xa3, 0x35, + 0x76, 0x50, 0x30, 0x4a, +}; +static const unsigned char kat1642_retbits[] = { + 0x44, 0xef, 0x3b, 0xbd, 0x32, 0x75, 0x80, 0x0b, 0xbe, 0xff, 0xac, 0xa6, + 0xc9, 0x47, 0x93, 0xdc, 0xa2, 0xb0, 0x25, 0xf5, 0x0f, 0x13, 0xbc, 0x57, + 0x2d, 0x75, 0xe9, 0x09, 0xb6, 0xbf, 0xd4, 0xb7, 0xbd, 0xa2, 0x3e, 0x19, + 0xa3, 0x43, 0x46, 0x74, 0x93, 0xd2, 0x3c, 0x16, 0xd8, 0x81, 0x20, 0xfe, + 0x73, 0xe3, 0xa2, 0x46, 0xe5, 0x45, 0xaf, 0x09, 0xce, 0x2d, 0xf0, 0xff, + 0x4e, 0x09, 0x45, 0xda, +}; +static const struct drbg_kat_pr_false kat1642_t = { + 6, kat1642_entropyin, kat1642_nonce, kat1642_persstr, + kat1642_entropyinreseed, kat1642_addinreseed, kat1642_addin0, + kat1642_addin1, kat1642_retbits +}; +static const struct drbg_kat kat1642 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1642_t +}; + +static const unsigned char kat1643_entropyin[] = { + 0xdc, 0xb2, 0x07, 0x2b, 0xa7, 0x46, 0x6c, 0x37, 0x46, 0x1b, 0x75, 0x81, + 0xc4, 0xcd, 0x7a, 0xb2, +}; +static const unsigned char kat1643_nonce[] = { + 0xd5, 0xf8, 0x31, 0x70, 0x90, 0x12, 0x4c, 0xfe, +}; +static const unsigned char kat1643_persstr[] = {0}; +static const unsigned char kat1643_entropyinreseed[] = { + 0xf8, 0xd4, 0xf7, 0x77, 0x6f, 0x53, 0xa7, 0x04, 0x15, 0x35, 0xe6, 0xa2, + 0x16, 0x19, 0x13, 0x78, +}; +static const unsigned char kat1643_addinreseed[] = { + 0xb3, 0xcc, 0xe2, 0x11, 0xf1, 0x06, 0x1d, 0xbd, 0x0a, 0x59, 0x38, 0x4f, + 0x6b, 0xa1, 0x4a, 0x85, +}; +static const unsigned char kat1643_addin0[] = { + 0xfc, 0xfc, 0xd5, 0x5e, 0x35, 0x3b, 0x12, 0x94, 0x47, 0x6b, 0xa9, 0x82, + 0x80, 0xe5, 0x2e, 0x6c, +}; +static const unsigned char kat1643_addin1[] = { + 0xcc, 0x41, 0x57, 0x1b, 0x9a, 0x7e, 0x58, 0xad, 0xf9, 0x63, 0x39, 0x56, + 0x88, 0x7c, 0xab, 0x4d, +}; +static const unsigned char kat1643_retbits[] = { + 0x47, 0x26, 0x9a, 0x35, 0x51, 0x55, 0xdb, 0xd9, 0x9a, 0x6d, 0x9e, 0x5f, + 0x3f, 0x37, 0x79, 0xea, 0xbe, 0x60, 0xf3, 0x73, 0xa7, 0x27, 0x90, 0xd1, + 0x73, 0x46, 0xe8, 0x67, 0x26, 0xe6, 0xb3, 0xb4, 0x6a, 0x01, 0x74, 0xae, + 0x5c, 0x51, 0x59, 0xc0, 0x6c, 0xe9, 0xbe, 0x07, 0x77, 0xd3, 0xd3, 0x6e, + 0x5d, 0x1b, 0x37, 0xb8, 0x47, 0x2e, 0xbb, 0x09, 0x21, 0x3d, 0x3e, 0xd6, + 0x23, 0xfa, 0x3e, 0xf2, +}; +static const struct drbg_kat_pr_false kat1643_t = { + 7, kat1643_entropyin, kat1643_nonce, kat1643_persstr, + kat1643_entropyinreseed, kat1643_addinreseed, kat1643_addin0, + kat1643_addin1, kat1643_retbits +}; +static const struct drbg_kat kat1643 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1643_t +}; + +static const unsigned char kat1644_entropyin[] = { + 0xee, 0x89, 0x77, 0x21, 0xc7, 0x65, 0x8e, 0xdb, 0x43, 0xcb, 0x66, 0xd9, + 0x17, 0x9d, 0x03, 0x75, +}; +static const unsigned char kat1644_nonce[] = { + 0x6f, 0x0c, 0xf5, 0x07, 0x1c, 0x79, 0xb4, 0xa6, +}; +static const unsigned char kat1644_persstr[] = {0}; +static const unsigned char kat1644_entropyinreseed[] = { + 0x2a, 0xd2, 0xc8, 0x5a, 0x34, 0xe4, 0x44, 0x7d, 0x2d, 0xb6, 0x3e, 0x17, + 0x8d, 0xc7, 0x06, 0xc6, +}; +static const unsigned char kat1644_addinreseed[] = { + 0x6f, 0x9a, 0x15, 0x23, 0xcb, 0x3d, 0xde, 0x58, 0x8d, 0x80, 0xe5, 0x20, + 0x99, 0xdf, 0x13, 0xdc, +}; +static const unsigned char kat1644_addin0[] = { + 0xe6, 0x00, 0x88, 0xd6, 0xfe, 0xb5, 0xd7, 0xb8, 0x3a, 0x01, 0x06, 0x56, + 0xcf, 0x99, 0x6c, 0x65, +}; +static const unsigned char kat1644_addin1[] = { + 0x3a, 0x44, 0x43, 0xf3, 0xe9, 0xae, 0x8c, 0x59, 0x29, 0x8c, 0xb5, 0x3a, + 0x8b, 0xd6, 0x05, 0xd6, +}; +static const unsigned char kat1644_retbits[] = { + 0xfc, 0x73, 0x86, 0x29, 0xb7, 0xd5, 0x99, 0x13, 0x81, 0x0b, 0xab, 0x5d, + 0x53, 0xf7, 0xe9, 0xf8, 0x36, 0x9f, 0xf9, 0x27, 0xc4, 0xc3, 0xd7, 0xdc, + 0xb8, 0xc5, 0xd6, 0x16, 0x36, 0xd0, 0x62, 0x27, 0x97, 0x7a, 0x99, 0x7b, + 0x75, 0x77, 0x07, 0xe1, 0xe1, 0x45, 0x7b, 0x1b, 0x8f, 0xff, 0x3f, 0x7e, + 0x48, 0x30, 0xb8, 0x4c, 0x5a, 0xd6, 0xfc, 0x3d, 0x15, 0xac, 0x1a, 0x57, + 0xc5, 0x87, 0x67, 0xb0, +}; +static const struct drbg_kat_pr_false kat1644_t = { + 8, kat1644_entropyin, kat1644_nonce, kat1644_persstr, + kat1644_entropyinreseed, kat1644_addinreseed, kat1644_addin0, + kat1644_addin1, kat1644_retbits +}; +static const struct drbg_kat kat1644 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1644_t +}; + +static const unsigned char kat1645_entropyin[] = { + 0x0e, 0x45, 0xd8, 0xb4, 0xcc, 0x12, 0x23, 0xc0, 0xfa, 0x44, 0xcc, 0x4e, + 0x9b, 0xa0, 0x7a, 0x95, +}; +static const unsigned char kat1645_nonce[] = { + 0x1c, 0x73, 0xa3, 0xe3, 0x6d, 0xa2, 0x48, 0xb5, +}; +static const unsigned char kat1645_persstr[] = {0}; +static const unsigned char kat1645_entropyinreseed[] = { + 0xd8, 0x83, 0x53, 0xf7, 0x82, 0xfd, 0x4f, 0x77, 0xba, 0x5e, 0x4b, 0x74, + 0x15, 0xaa, 0xa7, 0x0d, +}; +static const unsigned char kat1645_addinreseed[] = { + 0x91, 0xd2, 0x2d, 0x86, 0x66, 0xe3, 0xa8, 0x8e, 0x21, 0x73, 0xc7, 0x64, + 0x61, 0x5c, 0x88, 0x48, +}; +static const unsigned char kat1645_addin0[] = { + 0xc1, 0xe7, 0xd9, 0xa0, 0x10, 0xbe, 0x5e, 0xcb, 0xbe, 0xb9, 0xbf, 0x6c, + 0x23, 0x42, 0xd3, 0x61, +}; +static const unsigned char kat1645_addin1[] = { + 0xf8, 0x1d, 0x44, 0xb9, 0x5a, 0x5c, 0x5a, 0x8a, 0x50, 0xb5, 0x85, 0x8b, + 0x98, 0x1e, 0x67, 0x6e, +}; +static const unsigned char kat1645_retbits[] = { + 0x32, 0xbe, 0x02, 0xe9, 0x68, 0x1c, 0x6d, 0xbf, 0xcb, 0x9b, 0xf6, 0x88, + 0xc2, 0xc5, 0x15, 0xd6, 0x36, 0x92, 0xfa, 0xae, 0x3f, 0x5f, 0x76, 0x08, + 0x35, 0x1e, 0xf2, 0x8c, 0x3a, 0xa1, 0xae, 0xdf, 0xe1, 0x0f, 0xab, 0xbb, + 0x2d, 0x69, 0x31, 0x92, 0x90, 0xf6, 0x3f, 0x0e, 0x5e, 0x5b, 0xeb, 0xa9, + 0x1f, 0x2a, 0x5c, 0x26, 0x9f, 0xa7, 0x33, 0x09, 0xf2, 0x32, 0x60, 0xd7, + 0x6d, 0xae, 0x3c, 0xe5, +}; +static const struct drbg_kat_pr_false kat1645_t = { + 9, kat1645_entropyin, kat1645_nonce, kat1645_persstr, + kat1645_entropyinreseed, kat1645_addinreseed, kat1645_addin0, + kat1645_addin1, kat1645_retbits +}; +static const struct drbg_kat kat1645 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1645_t +}; + +static const unsigned char kat1646_entropyin[] = { + 0xc7, 0xad, 0xf6, 0x03, 0x2c, 0xa8, 0x0c, 0x8a, 0xc0, 0xe6, 0x2f, 0x81, + 0x48, 0xca, 0x35, 0x73, +}; +static const unsigned char kat1646_nonce[] = { + 0x7e, 0x54, 0x68, 0x31, 0xf9, 0x48, 0xd5, 0xb1, +}; +static const unsigned char kat1646_persstr[] = {0}; +static const unsigned char kat1646_entropyinreseed[] = { + 0xf4, 0x8c, 0xe4, 0x98, 0xef, 0x65, 0xf5, 0xbb, 0x23, 0x29, 0x85, 0x7d, + 0xba, 0xe6, 0x6d, 0xff, +}; +static const unsigned char kat1646_addinreseed[] = { + 0x84, 0x02, 0x0b, 0x1e, 0xc2, 0xc2, 0xb2, 0xc9, 0x8e, 0x49, 0xcf, 0x7e, + 0x71, 0x60, 0x00, 0x49, +}; +static const unsigned char kat1646_addin0[] = { + 0x60, 0x36, 0xf9, 0x63, 0x89, 0xdb, 0x7c, 0xd1, 0x63, 0x49, 0xbf, 0xed, + 0xcb, 0x80, 0xf4, 0x73, +}; +static const unsigned char kat1646_addin1[] = { + 0x5f, 0x2c, 0xc7, 0x3c, 0x73, 0x12, 0x94, 0xee, 0x13, 0xfd, 0x23, 0x4b, + 0x29, 0xea, 0x10, 0xbd, +}; +static const unsigned char kat1646_retbits[] = { + 0xd2, 0xf2, 0xef, 0x17, 0x95, 0x5c, 0xb9, 0x33, 0x7b, 0x6f, 0xf6, 0x8b, + 0x8d, 0x38, 0xf6, 0x4c, 0x83, 0xca, 0x1e, 0x12, 0xd7, 0x8a, 0xd7, 0x8b, + 0x39, 0xff, 0xb2, 0xc7, 0xc6, 0xd5, 0x5f, 0xde, 0xad, 0xfc, 0x00, 0xbd, + 0x96, 0xd1, 0x23, 0x9f, 0xfd, 0x1a, 0x5f, 0x34, 0x60, 0x20, 0x7a, 0x2f, + 0xc1, 0x92, 0x47, 0x62, 0x77, 0x41, 0x56, 0x17, 0x3a, 0xb0, 0xf5, 0x14, + 0xa9, 0x3d, 0xa1, 0x0b, +}; +static const struct drbg_kat_pr_false kat1646_t = { + 10, kat1646_entropyin, kat1646_nonce, kat1646_persstr, + kat1646_entropyinreseed, kat1646_addinreseed, kat1646_addin0, + kat1646_addin1, kat1646_retbits +}; +static const struct drbg_kat kat1646 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1646_t +}; + +static const unsigned char kat1647_entropyin[] = { + 0x5b, 0x15, 0x45, 0x3c, 0x39, 0x6d, 0xde, 0x5a, 0x82, 0x63, 0xa2, 0x9c, + 0x3e, 0xc1, 0xd9, 0x71, +}; +static const unsigned char kat1647_nonce[] = { + 0xf6, 0xe9, 0x02, 0x60, 0x37, 0x0d, 0xb0, 0xd0, +}; +static const unsigned char kat1647_persstr[] = {0}; +static const unsigned char kat1647_entropyinreseed[] = { + 0x2e, 0x0e, 0x8f, 0xa6, 0x25, 0x41, 0xbd, 0x37, 0xcc, 0xb5, 0xb4, 0x45, + 0xc4, 0xc5, 0xfd, 0xdd, +}; +static const unsigned char kat1647_addinreseed[] = { + 0xb6, 0x15, 0xa8, 0x41, 0xea, 0x7c, 0xe4, 0xc0, 0xf8, 0x5f, 0xb0, 0xcd, + 0xaa, 0x60, 0x23, 0x94, +}; +static const unsigned char kat1647_addin0[] = { + 0xec, 0x2b, 0xa3, 0x53, 0x03, 0x5a, 0x90, 0x10, 0xcd, 0x99, 0xec, 0x92, + 0xfd, 0x8f, 0x26, 0x44, +}; +static const unsigned char kat1647_addin1[] = { + 0xac, 0xe2, 0x25, 0xa7, 0x88, 0xda, 0x7e, 0xfb, 0x41, 0xba, 0x15, 0x56, + 0x22, 0x2f, 0x62, 0x86, +}; +static const unsigned char kat1647_retbits[] = { + 0x3a, 0x92, 0xb2, 0x57, 0x0c, 0x78, 0xc5, 0xd5, 0x42, 0xb9, 0x5e, 0xbb, + 0x0c, 0xbc, 0x43, 0xa5, 0x22, 0x42, 0x6c, 0xaa, 0x84, 0x6f, 0x5a, 0x52, + 0xaf, 0x61, 0xc1, 0x07, 0x70, 0x74, 0x73, 0x36, 0x70, 0x55, 0xc4, 0x45, + 0x53, 0x33, 0x53, 0x16, 0x07, 0x98, 0x5c, 0xd8, 0x12, 0xdb, 0x42, 0xee, + 0x26, 0xfb, 0x2d, 0x69, 0xca, 0x02, 0x10, 0xc0, 0x44, 0x3f, 0xd8, 0xca, + 0x0f, 0xef, 0x1f, 0x89, +}; +static const struct drbg_kat_pr_false kat1647_t = { + 11, kat1647_entropyin, kat1647_nonce, kat1647_persstr, + kat1647_entropyinreseed, kat1647_addinreseed, kat1647_addin0, + kat1647_addin1, kat1647_retbits +}; +static const struct drbg_kat kat1647 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1647_t +}; + +static const unsigned char kat1648_entropyin[] = { + 0x96, 0x76, 0x44, 0xa1, 0x2c, 0x0c, 0xac, 0x92, 0xaa, 0x3c, 0x24, 0x61, + 0x5a, 0x90, 0x2a, 0x28, +}; +static const unsigned char kat1648_nonce[] = { + 0xd3, 0x8e, 0x61, 0x76, 0xc3, 0x7c, 0xee, 0x4c, +}; +static const unsigned char kat1648_persstr[] = {0}; +static const unsigned char kat1648_entropyinreseed[] = { + 0xfe, 0x42, 0xe0, 0x6c, 0x38, 0xa8, 0x1c, 0x45, 0x25, 0x08, 0xee, 0x3d, + 0x5d, 0xbf, 0x4b, 0x58, +}; +static const unsigned char kat1648_addinreseed[] = { + 0x72, 0x3b, 0xa4, 0x72, 0x0d, 0xae, 0x76, 0x09, 0x56, 0x12, 0x14, 0x21, + 0x52, 0xca, 0x8f, 0x79, +}; +static const unsigned char kat1648_addin0[] = { + 0x2b, 0x81, 0xc9, 0x8b, 0x29, 0x24, 0x93, 0x85, 0xb2, 0xce, 0x41, 0xa0, + 0x80, 0xe7, 0x2a, 0x76, +}; +static const unsigned char kat1648_addin1[] = { + 0x13, 0x61, 0x0d, 0x87, 0x45, 0x9c, 0xcc, 0x72, 0xa9, 0xe1, 0x0b, 0x45, + 0x2a, 0xba, 0xd9, 0xc8, +}; +static const unsigned char kat1648_retbits[] = { + 0xdd, 0xe7, 0x1d, 0x2d, 0xd1, 0x03, 0x52, 0x4f, 0x8a, 0x8b, 0xa7, 0xaf, + 0x12, 0xaf, 0xbd, 0xf5, 0x1a, 0xb5, 0x69, 0xc9, 0x97, 0x3e, 0x16, 0x13, + 0x94, 0x58, 0x63, 0x0b, 0x0d, 0xa1, 0x3d, 0x62, 0x40, 0x04, 0x2c, 0x3b, + 0x08, 0x92, 0x45, 0x7e, 0x90, 0x44, 0x63, 0x90, 0xf2, 0x2a, 0x6d, 0x85, + 0x6d, 0x3a, 0x21, 0x28, 0x4f, 0xea, 0x54, 0x68, 0x11, 0xd0, 0x1c, 0x33, + 0x89, 0x6a, 0x4a, 0x1e, +}; +static const struct drbg_kat_pr_false kat1648_t = { + 12, kat1648_entropyin, kat1648_nonce, kat1648_persstr, + kat1648_entropyinreseed, kat1648_addinreseed, kat1648_addin0, + kat1648_addin1, kat1648_retbits +}; +static const struct drbg_kat kat1648 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1648_t +}; + +static const unsigned char kat1649_entropyin[] = { + 0xb7, 0xf3, 0x99, 0xdd, 0x5a, 0x9b, 0x2c, 0x48, 0x69, 0xaa, 0x4a, 0xdd, + 0x46, 0xdb, 0xbe, 0x64, +}; +static const unsigned char kat1649_nonce[] = { + 0xc0, 0x7f, 0x6d, 0xf3, 0x50, 0x5f, 0xe2, 0xc9, +}; +static const unsigned char kat1649_persstr[] = {0}; +static const unsigned char kat1649_entropyinreseed[] = { + 0xa7, 0xc4, 0x9b, 0x25, 0xc4, 0xf4, 0x27, 0x62, 0x57, 0x37, 0x2d, 0x7b, + 0x29, 0xa7, 0xed, 0x64, +}; +static const unsigned char kat1649_addinreseed[] = { + 0x29, 0xc8, 0x86, 0xf9, 0x9c, 0x32, 0xf1, 0xea, 0xff, 0xf5, 0x68, 0x17, + 0x5d, 0x63, 0xc5, 0x8f, +}; +static const unsigned char kat1649_addin0[] = { + 0xaa, 0x3f, 0x8c, 0x15, 0x91, 0x54, 0xaf, 0x33, 0x53, 0x9b, 0xbc, 0xb8, + 0xfc, 0xa2, 0x83, 0x6b, +}; +static const unsigned char kat1649_addin1[] = { + 0x20, 0xe8, 0x40, 0xf7, 0x0e, 0x6d, 0x1d, 0x88, 0x83, 0xde, 0x53, 0xeb, + 0x0d, 0xfe, 0x2e, 0xb0, +}; +static const unsigned char kat1649_retbits[] = { + 0x43, 0xe4, 0x4d, 0x6b, 0xb5, 0x7b, 0x70, 0xfb, 0xc2, 0xe7, 0x4a, 0xf3, + 0x7b, 0xdf, 0x79, 0x11, 0x6f, 0x3e, 0xb0, 0xc0, 0x94, 0x5b, 0xe7, 0x3a, + 0x34, 0xee, 0x90, 0xc0, 0xa7, 0x44, 0x60, 0x09, 0xb4, 0x9f, 0x52, 0xaa, + 0x9c, 0x6a, 0x1d, 0xd9, 0x0d, 0x2b, 0x57, 0xe7, 0xe3, 0x0a, 0x65, 0xd4, + 0x62, 0x68, 0xcf, 0x26, 0x9c, 0xfd, 0x86, 0x23, 0xf7, 0xe2, 0xca, 0xb0, + 0xe0, 0xfb, 0xc6, 0x65, +}; +static const struct drbg_kat_pr_false kat1649_t = { + 13, kat1649_entropyin, kat1649_nonce, kat1649_persstr, + kat1649_entropyinreseed, kat1649_addinreseed, kat1649_addin0, + kat1649_addin1, kat1649_retbits +}; +static const struct drbg_kat kat1649 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1649_t +}; + +static const unsigned char kat1650_entropyin[] = { + 0x71, 0x28, 0x2c, 0x33, 0x99, 0x24, 0x43, 0x50, 0x6e, 0x38, 0x85, 0x54, + 0xad, 0x6f, 0xe8, 0xea, +}; +static const unsigned char kat1650_nonce[] = { + 0xdb, 0x21, 0x40, 0x73, 0xbc, 0xeb, 0xe1, 0x33, +}; +static const unsigned char kat1650_persstr[] = {0}; +static const unsigned char kat1650_entropyinreseed[] = { + 0xa3, 0xaa, 0xaf, 0x03, 0x74, 0x46, 0xf7, 0xc2, 0xaa, 0x1c, 0x20, 0x4a, + 0x33, 0x2d, 0xda, 0x01, +}; +static const unsigned char kat1650_addinreseed[] = { + 0xc9, 0x6f, 0xd8, 0xeb, 0xe8, 0x98, 0x54, 0x19, 0xde, 0x85, 0x89, 0x03, + 0x32, 0x04, 0x41, 0x9c, +}; +static const unsigned char kat1650_addin0[] = { + 0x21, 0x3b, 0x12, 0xdc, 0x91, 0x53, 0x56, 0xa1, 0x28, 0x1f, 0xa0, 0x62, + 0x48, 0x64, 0x1f, 0x93, +}; +static const unsigned char kat1650_addin1[] = { + 0xef, 0x7e, 0x08, 0xce, 0x74, 0x77, 0x0e, 0x30, 0xe5, 0xcc, 0xd8, 0x6a, + 0xb9, 0xfb, 0x06, 0x13, +}; +static const unsigned char kat1650_retbits[] = { + 0x8b, 0x77, 0xd5, 0x33, 0x2e, 0xe6, 0x11, 0x95, 0x28, 0x68, 0x00, 0x49, + 0xaf, 0xf5, 0x74, 0xd0, 0x21, 0x0f, 0x4e, 0x43, 0xf7, 0x58, 0x71, 0xcf, + 0xea, 0x4e, 0xee, 0x70, 0xaf, 0xac, 0x0e, 0x0d, 0xf9, 0x45, 0x78, 0x55, + 0x56, 0x75, 0x4c, 0x21, 0x04, 0x67, 0xdd, 0x58, 0x1e, 0x97, 0xfe, 0x68, + 0x81, 0xd9, 0xf7, 0x21, 0x15, 0xb6, 0x6b, 0xfd, 0xd7, 0x28, 0xe8, 0xf1, + 0x42, 0x5a, 0x40, 0x75, +}; +static const struct drbg_kat_pr_false kat1650_t = { + 14, kat1650_entropyin, kat1650_nonce, kat1650_persstr, + kat1650_entropyinreseed, kat1650_addinreseed, kat1650_addin0, + kat1650_addin1, kat1650_retbits +}; +static const struct drbg_kat kat1650 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat1650_t +}; + +static const unsigned char kat1651_entropyin[] = { + 0x81, 0x05, 0x2d, 0x33, 0x22, 0xa2, 0x60, 0xfc, 0xf3, 0x33, 0x9b, 0x53, + 0xf6, 0xcf, 0x5d, 0x6d, +}; +static const unsigned char kat1651_nonce[] = { + 0x57, 0x30, 0x39, 0x72, 0xab, 0x58, 0xf0, 0x64, +}; +static const unsigned char kat1651_persstr[] = { + 0xc3, 0xce, 0xe8, 0x56, 0x4d, 0x8b, 0xb2, 0xfb, 0x8e, 0xfe, 0x6b, 0x16, + 0xaa, 0x26, 0x16, 0xa6, +}; +static const unsigned char kat1651_entropyinreseed[] = { + 0xc9, 0xb1, 0x03, 0xf3, 0x77, 0x9a, 0xa6, 0x3e, 0x37, 0x98, 0x41, 0xb7, + 0x14, 0x19, 0x6c, 0xf6, +}; +static const unsigned char kat1651_addinreseed[] = {0}; +static const unsigned char kat1651_addin0[] = {0}; +static const unsigned char kat1651_addin1[] = {0}; +static const unsigned char kat1651_retbits[] = { + 0xd5, 0x37, 0x12, 0x48, 0x2c, 0x2b, 0x33, 0x36, 0x40, 0x3c, 0x40, 0xaa, + 0xe1, 0x56, 0x20, 0x3c, 0x58, 0x59, 0xa6, 0xb3, 0xfa, 0xe4, 0xb5, 0x53, + 0xe7, 0x2b, 0x8a, 0x66, 0x87, 0xc0, 0x15, 0x2b, 0xbd, 0xaf, 0xe4, 0x09, + 0x94, 0x39, 0xe1, 0x97, 0xe5, 0xd6, 0x0f, 0x8e, 0x60, 0x2e, 0x5b, 0x55, + 0x0a, 0xeb, 0x73, 0x87, 0xa4, 0x34, 0x7e, 0xcd, 0xe6, 0xe3, 0xa0, 0x42, + 0x88, 0x39, 0x0f, 0x13, +}; +static const struct drbg_kat_pr_false kat1651_t = { + 0, kat1651_entropyin, kat1651_nonce, kat1651_persstr, + kat1651_entropyinreseed, kat1651_addinreseed, kat1651_addin0, + kat1651_addin1, kat1651_retbits +}; +static const struct drbg_kat kat1651 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1651_t +}; + +static const unsigned char kat1652_entropyin[] = { + 0xd7, 0x12, 0xbe, 0x6d, 0xf1, 0xe2, 0x1d, 0xed, 0xd8, 0x88, 0x93, 0x03, + 0x1d, 0xa2, 0x00, 0x9b, +}; +static const unsigned char kat1652_nonce[] = { + 0xfe, 0x56, 0x0d, 0x21, 0x41, 0x84, 0x65, 0x40, +}; +static const unsigned char kat1652_persstr[] = { + 0x49, 0xec, 0x80, 0xb4, 0xf3, 0xf8, 0x53, 0x88, 0xd2, 0xea, 0x74, 0x54, + 0xac, 0x31, 0xbf, 0xcc, +}; +static const unsigned char kat1652_entropyinreseed[] = { + 0xb5, 0xed, 0x3d, 0xd2, 0xf5, 0xe1, 0x9c, 0xbe, 0xdb, 0x9d, 0xa7, 0xb0, + 0xf1, 0x40, 0xc1, 0x82, +}; +static const unsigned char kat1652_addinreseed[] = {0}; +static const unsigned char kat1652_addin0[] = {0}; +static const unsigned char kat1652_addin1[] = {0}; +static const unsigned char kat1652_retbits[] = { + 0x04, 0x22, 0xd6, 0x0c, 0xec, 0xea, 0x42, 0x66, 0x12, 0x04, 0x4a, 0x3e, + 0x97, 0xc4, 0xc9, 0x62, 0x97, 0x5c, 0x86, 0xf5, 0x9b, 0x27, 0x8f, 0x80, + 0xab, 0xb5, 0xb5, 0xd2, 0x05, 0x37, 0xb3, 0x9f, 0x97, 0x93, 0x94, 0xdc, + 0x34, 0x18, 0xd0, 0x04, 0xf3, 0x91, 0x29, 0x7a, 0xf0, 0xfe, 0x5a, 0x17, + 0x42, 0x16, 0x6b, 0xec, 0x5b, 0xc0, 0x13, 0xe2, 0xe7, 0x32, 0x9c, 0xe3, + 0x08, 0xd8, 0xa0, 0xae, +}; +static const struct drbg_kat_pr_false kat1652_t = { + 1, kat1652_entropyin, kat1652_nonce, kat1652_persstr, + kat1652_entropyinreseed, kat1652_addinreseed, kat1652_addin0, + kat1652_addin1, kat1652_retbits +}; +static const struct drbg_kat kat1652 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1652_t +}; + +static const unsigned char kat1653_entropyin[] = { + 0x63, 0x08, 0xf7, 0xcc, 0xbf, 0xe7, 0x46, 0x9b, 0x1a, 0x9d, 0x97, 0x27, + 0x4a, 0x94, 0x03, 0xbb, +}; +static const unsigned char kat1653_nonce[] = { + 0x4f, 0x63, 0xa8, 0x62, 0x80, 0x8a, 0x0b, 0x5a, +}; +static const unsigned char kat1653_persstr[] = { + 0x0a, 0xbf, 0x7c, 0x0b, 0x6e, 0xc5, 0x42, 0x38, 0x74, 0xc1, 0x70, 0x01, + 0xe1, 0x95, 0x34, 0x60, +}; +static const unsigned char kat1653_entropyinreseed[] = { + 0xf2, 0xf8, 0x87, 0x15, 0xe1, 0x98, 0xc7, 0xe3, 0xee, 0x46, 0x52, 0x50, + 0x40, 0xd8, 0xd7, 0xde, +}; +static const unsigned char kat1653_addinreseed[] = {0}; +static const unsigned char kat1653_addin0[] = {0}; +static const unsigned char kat1653_addin1[] = {0}; +static const unsigned char kat1653_retbits[] = { + 0x00, 0x8e, 0x17, 0xda, 0x77, 0x57, 0xaf, 0xbe, 0x5c, 0x5f, 0x2f, 0x79, + 0x08, 0x82, 0xe3, 0x10, 0x4e, 0x23, 0x43, 0x81, 0xba, 0x5a, 0xe3, 0xa9, + 0x9b, 0x7a, 0x45, 0x01, 0x47, 0x97, 0x3f, 0x54, 0x3c, 0x8a, 0xe0, 0x67, + 0x2e, 0xe7, 0x24, 0xea, 0xa4, 0x09, 0x73, 0xf0, 0xb7, 0x24, 0x61, 0x0f, + 0xc5, 0x12, 0x98, 0x12, 0x54, 0xa5, 0x45, 0x34, 0x43, 0xbd, 0x68, 0x25, + 0x3a, 0x67, 0x37, 0x83, +}; +static const struct drbg_kat_pr_false kat1653_t = { + 2, kat1653_entropyin, kat1653_nonce, kat1653_persstr, + kat1653_entropyinreseed, kat1653_addinreseed, kat1653_addin0, + kat1653_addin1, kat1653_retbits +}; +static const struct drbg_kat kat1653 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1653_t +}; + +static const unsigned char kat1654_entropyin[] = { + 0xe8, 0x9d, 0xac, 0x4d, 0x14, 0xab, 0xe1, 0x78, 0x3f, 0xe7, 0x9f, 0x9c, + 0xd7, 0x46, 0x6d, 0xfa, +}; +static const unsigned char kat1654_nonce[] = { + 0x63, 0x2c, 0x72, 0x69, 0x6a, 0x65, 0x75, 0xcf, +}; +static const unsigned char kat1654_persstr[] = { + 0xd1, 0x15, 0x42, 0x6c, 0x6a, 0xbc, 0xfc, 0x94, 0xdb, 0x8a, 0x03, 0x44, + 0x0f, 0xa6, 0x80, 0x69, +}; +static const unsigned char kat1654_entropyinreseed[] = { + 0x14, 0xa7, 0x67, 0xa1, 0x6c, 0x2c, 0xc3, 0x5c, 0x38, 0x99, 0x28, 0xcc, + 0x9c, 0xae, 0x2c, 0x6e, +}; +static const unsigned char kat1654_addinreseed[] = {0}; +static const unsigned char kat1654_addin0[] = {0}; +static const unsigned char kat1654_addin1[] = {0}; +static const unsigned char kat1654_retbits[] = { + 0x3a, 0x50, 0x4f, 0xd1, 0xc9, 0x5b, 0x6c, 0xdd, 0x10, 0x57, 0xb3, 0xaa, + 0x6e, 0xa9, 0xaf, 0xb0, 0xdd, 0x53, 0x47, 0x5f, 0x77, 0x4d, 0xf7, 0x79, + 0x7d, 0x94, 0x98, 0x53, 0xfc, 0xe5, 0x38, 0xe1, 0xa3, 0xf1, 0xbd, 0xfd, + 0x7b, 0xc8, 0x6f, 0xe0, 0xe4, 0x49, 0x6f, 0x21, 0x03, 0x51, 0xaf, 0xd0, + 0x64, 0x62, 0xc3, 0xe0, 0xfc, 0xb6, 0x6a, 0x54, 0x78, 0xcc, 0x54, 0xc8, + 0x54, 0x69, 0x0a, 0x69, +}; +static const struct drbg_kat_pr_false kat1654_t = { + 3, kat1654_entropyin, kat1654_nonce, kat1654_persstr, + kat1654_entropyinreseed, kat1654_addinreseed, kat1654_addin0, + kat1654_addin1, kat1654_retbits +}; +static const struct drbg_kat kat1654 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1654_t +}; + +static const unsigned char kat1655_entropyin[] = { + 0xa8, 0x5e, 0x33, 0xac, 0x6b, 0x70, 0x9b, 0x7d, 0xe2, 0xad, 0x77, 0x3f, + 0x77, 0x62, 0x8b, 0x32, +}; +static const unsigned char kat1655_nonce[] = { + 0x7e, 0x5b, 0x6a, 0x38, 0xb6, 0x66, 0x0c, 0x54, +}; +static const unsigned char kat1655_persstr[] = { + 0x1a, 0xbf, 0x0b, 0x86, 0x7a, 0xe7, 0x81, 0x0c, 0x52, 0xbc, 0x8b, 0xfe, + 0xd2, 0x43, 0x70, 0x59, +}; +static const unsigned char kat1655_entropyinreseed[] = { + 0x65, 0xa8, 0xd3, 0xd0, 0xfe, 0xa0, 0x1a, 0x05, 0x16, 0x81, 0x24, 0x18, + 0x4d, 0xea, 0xb4, 0xf1, +}; +static const unsigned char kat1655_addinreseed[] = {0}; +static const unsigned char kat1655_addin0[] = {0}; +static const unsigned char kat1655_addin1[] = {0}; +static const unsigned char kat1655_retbits[] = { + 0xb8, 0x7e, 0xba, 0x4b, 0xcf, 0x9b, 0x91, 0x48, 0x23, 0x81, 0x8b, 0xe7, + 0xd1, 0x3a, 0x73, 0xd7, 0xb2, 0xad, 0x39, 0xa0, 0xbb, 0x28, 0x95, 0x59, + 0xcb, 0x18, 0x62, 0x55, 0x26, 0x88, 0xe0, 0xd4, 0x22, 0x9a, 0x7b, 0x10, + 0x69, 0xe2, 0xd4, 0x59, 0xfb, 0xbe, 0x38, 0x52, 0xd5, 0x48, 0xfb, 0x31, + 0x60, 0x26, 0x02, 0x55, 0x19, 0x41, 0x52, 0xe6, 0x2a, 0x3c, 0xde, 0xb7, + 0xaf, 0x81, 0x6f, 0xf0, +}; +static const struct drbg_kat_pr_false kat1655_t = { + 4, kat1655_entropyin, kat1655_nonce, kat1655_persstr, + kat1655_entropyinreseed, kat1655_addinreseed, kat1655_addin0, + kat1655_addin1, kat1655_retbits +}; +static const struct drbg_kat kat1655 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1655_t +}; + +static const unsigned char kat1656_entropyin[] = { + 0x0f, 0xb4, 0x03, 0xce, 0x51, 0x3c, 0x91, 0x48, 0xef, 0xb4, 0x97, 0x31, + 0x39, 0xda, 0x3c, 0x1b, +}; +static const unsigned char kat1656_nonce[] = { + 0xbb, 0x37, 0xf7, 0x3d, 0xf2, 0x80, 0xc7, 0xba, +}; +static const unsigned char kat1656_persstr[] = { + 0xad, 0x71, 0x2e, 0xe9, 0x6e, 0xe9, 0x6a, 0xd8, 0x21, 0x08, 0x81, 0x5d, + 0x97, 0x5f, 0x0f, 0x74, +}; +static const unsigned char kat1656_entropyinreseed[] = { + 0xfb, 0xd8, 0x71, 0x7c, 0x36, 0xc2, 0xfa, 0x4d, 0xfe, 0x1d, 0x9a, 0x69, + 0x0b, 0x5d, 0x16, 0xaf, +}; +static const unsigned char kat1656_addinreseed[] = {0}; +static const unsigned char kat1656_addin0[] = {0}; +static const unsigned char kat1656_addin1[] = {0}; +static const unsigned char kat1656_retbits[] = { + 0xbc, 0x16, 0xda, 0x47, 0xe6, 0x4d, 0x48, 0x01, 0xc4, 0xc4, 0x74, 0x08, + 0x8a, 0xa5, 0x35, 0x64, 0x67, 0x32, 0x31, 0xda, 0xd9, 0xda, 0x7e, 0x76, + 0xb4, 0xff, 0x8e, 0x5b, 0xe6, 0x53, 0xd5, 0x61, 0xd5, 0x4a, 0xcf, 0xd2, + 0xa5, 0x5e, 0x0f, 0x4c, 0xae, 0x45, 0x33, 0x3e, 0xef, 0x0c, 0xcc, 0x28, + 0xab, 0xd9, 0x4f, 0x5e, 0x11, 0x8e, 0xfa, 0x7b, 0x3c, 0x51, 0x88, 0x39, + 0xb7, 0xe4, 0x09, 0xe0, +}; +static const struct drbg_kat_pr_false kat1656_t = { + 5, kat1656_entropyin, kat1656_nonce, kat1656_persstr, + kat1656_entropyinreseed, kat1656_addinreseed, kat1656_addin0, + kat1656_addin1, kat1656_retbits +}; +static const struct drbg_kat kat1656 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1656_t +}; + +static const unsigned char kat1657_entropyin[] = { + 0x2b, 0xa9, 0xc0, 0x9f, 0xa8, 0x33, 0xa4, 0xa1, 0x98, 0xff, 0x06, 0x79, + 0xa0, 0x22, 0x61, 0xa1, +}; +static const unsigned char kat1657_nonce[] = { + 0x76, 0x4e, 0x8c, 0x46, 0x05, 0x71, 0x1d, 0x49, +}; +static const unsigned char kat1657_persstr[] = { + 0x46, 0x54, 0x96, 0xdd, 0xad, 0xd1, 0x00, 0x86, 0xb7, 0xe6, 0xc7, 0x57, + 0x80, 0x41, 0x81, 0x77, +}; +static const unsigned char kat1657_entropyinreseed[] = { + 0xda, 0x68, 0x1a, 0x3f, 0x60, 0x3a, 0x2a, 0xd1, 0xea, 0xae, 0x2e, 0x7e, + 0xfd, 0xba, 0x51, 0x97, +}; +static const unsigned char kat1657_addinreseed[] = {0}; +static const unsigned char kat1657_addin0[] = {0}; +static const unsigned char kat1657_addin1[] = {0}; +static const unsigned char kat1657_retbits[] = { + 0xd6, 0x35, 0x28, 0xe2, 0x80, 0x46, 0x8c, 0x71, 0x92, 0xcf, 0x77, 0x39, + 0xdc, 0x3b, 0xcd, 0xf5, 0x6b, 0x3a, 0x85, 0x60, 0x92, 0x4c, 0x7d, 0x18, + 0x48, 0xd6, 0x4a, 0xe4, 0x0a, 0x0e, 0x5c, 0x12, 0x4b, 0x47, 0xd2, 0xd1, + 0xcc, 0x43, 0x9a, 0x04, 0xd7, 0x53, 0xb3, 0xb8, 0x85, 0x8f, 0xc2, 0x27, + 0xb5, 0xdf, 0x11, 0x86, 0x4b, 0xfa, 0x22, 0x4e, 0x46, 0xbf, 0x0a, 0x6a, + 0x01, 0xba, 0x68, 0x3e, +}; +static const struct drbg_kat_pr_false kat1657_t = { + 6, kat1657_entropyin, kat1657_nonce, kat1657_persstr, + kat1657_entropyinreseed, kat1657_addinreseed, kat1657_addin0, + kat1657_addin1, kat1657_retbits +}; +static const struct drbg_kat kat1657 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1657_t +}; + +static const unsigned char kat1658_entropyin[] = { + 0x79, 0x7b, 0x61, 0x23, 0x10, 0xf4, 0xd8, 0x97, 0x55, 0xef, 0x63, 0xd5, + 0x89, 0x51, 0xcc, 0x90, +}; +static const unsigned char kat1658_nonce[] = { + 0x21, 0xb8, 0x21, 0xf9, 0x37, 0xd6, 0xe6, 0x60, +}; +static const unsigned char kat1658_persstr[] = { + 0x9b, 0x92, 0x77, 0xb3, 0x68, 0x5d, 0xc0, 0x30, 0x12, 0xa4, 0x2d, 0x2f, + 0x01, 0xbb, 0x28, 0xfb, +}; +static const unsigned char kat1658_entropyinreseed[] = { + 0x60, 0x52, 0x3f, 0x67, 0x64, 0xd4, 0x2a, 0x6f, 0x94, 0x79, 0x39, 0xed, + 0x11, 0x51, 0x15, 0x86, +}; +static const unsigned char kat1658_addinreseed[] = {0}; +static const unsigned char kat1658_addin0[] = {0}; +static const unsigned char kat1658_addin1[] = {0}; +static const unsigned char kat1658_retbits[] = { + 0x4b, 0x2f, 0xa5, 0x53, 0x83, 0x97, 0xeb, 0x49, 0xf6, 0xb6, 0xd7, 0x6d, + 0x55, 0xe5, 0x32, 0xb5, 0x78, 0xbf, 0xc5, 0xa1, 0xf2, 0x88, 0xd7, 0xba, + 0x20, 0xc8, 0x51, 0x81, 0x66, 0x97, 0x5b, 0xee, 0x53, 0xe6, 0x3f, 0xe7, + 0xdf, 0x54, 0xcc, 0xf6, 0x9e, 0x0b, 0x3f, 0xfa, 0x07, 0x72, 0x78, 0xf9, + 0x2c, 0xc1, 0x44, 0x80, 0x00, 0xd9, 0x6d, 0x82, 0xcb, 0x45, 0xc0, 0x55, + 0xce, 0x6c, 0x00, 0xeb, +}; +static const struct drbg_kat_pr_false kat1658_t = { + 7, kat1658_entropyin, kat1658_nonce, kat1658_persstr, + kat1658_entropyinreseed, kat1658_addinreseed, kat1658_addin0, + kat1658_addin1, kat1658_retbits +}; +static const struct drbg_kat kat1658 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1658_t +}; + +static const unsigned char kat1659_entropyin[] = { + 0xd0, 0x85, 0x26, 0xc1, 0x78, 0x83, 0x93, 0x93, 0x24, 0xfa, 0x66, 0xfd, + 0xe8, 0x01, 0xa3, 0xbd, +}; +static const unsigned char kat1659_nonce[] = { + 0x21, 0xc2, 0x84, 0x91, 0xa8, 0xfe, 0x20, 0xd9, +}; +static const unsigned char kat1659_persstr[] = { + 0x6e, 0xf8, 0x10, 0x47, 0x7d, 0x4d, 0x96, 0x14, 0x39, 0x89, 0x46, 0x65, + 0x3f, 0xd3, 0x47, 0x12, +}; +static const unsigned char kat1659_entropyinreseed[] = { + 0x40, 0x64, 0x5b, 0xeb, 0x71, 0xb4, 0x0f, 0x95, 0x06, 0x3d, 0x49, 0x2e, + 0xd3, 0xbe, 0xd7, 0xc1, +}; +static const unsigned char kat1659_addinreseed[] = {0}; +static const unsigned char kat1659_addin0[] = {0}; +static const unsigned char kat1659_addin1[] = {0}; +static const unsigned char kat1659_retbits[] = { + 0x0b, 0x2c, 0x24, 0x31, 0x61, 0xc8, 0x38, 0x6e, 0xc9, 0x96, 0xa8, 0x69, + 0x3f, 0xc3, 0x07, 0xc0, 0xc5, 0xa0, 0x94, 0xa0, 0x23, 0xc8, 0x12, 0x33, + 0x7f, 0x8d, 0x47, 0x6b, 0xef, 0x8c, 0x96, 0xc6, 0xf7, 0x16, 0x87, 0x02, + 0x76, 0xb0, 0x90, 0x09, 0x49, 0x4d, 0x64, 0xdf, 0x31, 0xe6, 0x6f, 0xf6, + 0xd0, 0x67, 0xfe, 0x58, 0x9c, 0x35, 0x7e, 0xec, 0x5a, 0xc9, 0x9c, 0xc9, + 0xa8, 0x1b, 0x2d, 0x6e, +}; +static const struct drbg_kat_pr_false kat1659_t = { + 8, kat1659_entropyin, kat1659_nonce, kat1659_persstr, + kat1659_entropyinreseed, kat1659_addinreseed, kat1659_addin0, + kat1659_addin1, kat1659_retbits +}; +static const struct drbg_kat kat1659 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1659_t +}; + +static const unsigned char kat1660_entropyin[] = { + 0xb9, 0x1a, 0xfe, 0xe6, 0x05, 0x7b, 0xf4, 0xc6, 0x30, 0x69, 0x64, 0xb8, + 0x6f, 0xbb, 0xbc, 0xbe, +}; +static const unsigned char kat1660_nonce[] = { + 0x09, 0x06, 0x42, 0x79, 0x9a, 0x48, 0x0b, 0xe1, +}; +static const unsigned char kat1660_persstr[] = { + 0xfc, 0xf6, 0x3a, 0x6b, 0x30, 0xc2, 0xfd, 0xd9, 0xa5, 0x35, 0x55, 0x77, + 0x96, 0x05, 0x98, 0x4c, +}; +static const unsigned char kat1660_entropyinreseed[] = { + 0x1b, 0x47, 0x80, 0x0f, 0x5b, 0x61, 0x89, 0x11, 0x6c, 0x34, 0x1e, 0x9b, + 0x99, 0xc4, 0x3b, 0x01, +}; +static const unsigned char kat1660_addinreseed[] = {0}; +static const unsigned char kat1660_addin0[] = {0}; +static const unsigned char kat1660_addin1[] = {0}; +static const unsigned char kat1660_retbits[] = { + 0x9d, 0x85, 0xb2, 0xaa, 0xad, 0x31, 0xe0, 0x24, 0x79, 0xe2, 0xaf, 0x3a, + 0x59, 0xcc, 0x61, 0xda, 0x98, 0xcd, 0xc2, 0x46, 0x50, 0x53, 0x56, 0x18, + 0x31, 0x8d, 0x93, 0xda, 0xfc, 0x18, 0x59, 0x0d, 0x5a, 0xf6, 0xa4, 0x20, + 0x25, 0x3d, 0x74, 0xd5, 0x29, 0x91, 0xb1, 0x22, 0x83, 0x76, 0x19, 0x8b, + 0x1c, 0xab, 0x0e, 0x12, 0x18, 0x43, 0x85, 0xe7, 0xc0, 0x28, 0x92, 0x3c, + 0x93, 0x94, 0x93, 0x10, +}; +static const struct drbg_kat_pr_false kat1660_t = { + 9, kat1660_entropyin, kat1660_nonce, kat1660_persstr, + kat1660_entropyinreseed, kat1660_addinreseed, kat1660_addin0, + kat1660_addin1, kat1660_retbits +}; +static const struct drbg_kat kat1660 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1660_t +}; + +static const unsigned char kat1661_entropyin[] = { + 0xa9, 0xaa, 0xfd, 0x15, 0xd1, 0x09, 0xd3, 0x0c, 0xf8, 0x89, 0xe6, 0x54, + 0x57, 0x92, 0xb8, 0x69, +}; +static const unsigned char kat1661_nonce[] = { + 0x4d, 0xab, 0xcc, 0x8c, 0x29, 0x3b, 0x88, 0x16, +}; +static const unsigned char kat1661_persstr[] = { + 0xa0, 0xe5, 0x66, 0x63, 0x70, 0x74, 0xc9, 0x40, 0x7c, 0x2f, 0x18, 0xf5, + 0x7f, 0x8b, 0x0c, 0x3e, +}; +static const unsigned char kat1661_entropyinreseed[] = { + 0xd1, 0x8b, 0x43, 0x41, 0x3b, 0xc0, 0xc9, 0xbd, 0xc8, 0xb8, 0xca, 0x83, + 0xf2, 0x2b, 0x1c, 0x7b, +}; +static const unsigned char kat1661_addinreseed[] = {0}; +static const unsigned char kat1661_addin0[] = {0}; +static const unsigned char kat1661_addin1[] = {0}; +static const unsigned char kat1661_retbits[] = { + 0x40, 0x58, 0xa7, 0xd0, 0x33, 0x09, 0xc5, 0x49, 0x4b, 0xa6, 0x82, 0x69, + 0xb4, 0x87, 0xac, 0x6e, 0xed, 0x2a, 0x8f, 0x20, 0x3d, 0xb9, 0x1d, 0xa9, + 0xe0, 0x94, 0x13, 0x7e, 0x53, 0xcd, 0x48, 0x45, 0x3d, 0x50, 0xe3, 0xa6, + 0x41, 0xdb, 0xc1, 0x9a, 0x4a, 0x7e, 0x64, 0x09, 0xf4, 0xc1, 0xf7, 0x09, + 0x71, 0x9e, 0xf8, 0x35, 0xce, 0xcd, 0xb7, 0xf1, 0xe5, 0xc4, 0xa3, 0xe4, + 0x4f, 0x12, 0x5e, 0x22, +}; +static const struct drbg_kat_pr_false kat1661_t = { + 10, kat1661_entropyin, kat1661_nonce, kat1661_persstr, + kat1661_entropyinreseed, kat1661_addinreseed, kat1661_addin0, + kat1661_addin1, kat1661_retbits +}; +static const struct drbg_kat kat1661 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1661_t +}; + +static const unsigned char kat1662_entropyin[] = { + 0x8b, 0xd6, 0x76, 0x14, 0x99, 0x6c, 0x00, 0xfa, 0xe1, 0xc1, 0x51, 0xfa, + 0xe1, 0xb7, 0x8b, 0xbf, +}; +static const unsigned char kat1662_nonce[] = { + 0x32, 0xba, 0x6e, 0x01, 0x50, 0xa0, 0x8c, 0x02, +}; +static const unsigned char kat1662_persstr[] = { + 0x5a, 0x43, 0x28, 0xea, 0x5b, 0x5c, 0xf8, 0xe1, 0x6a, 0xe2, 0x1e, 0x8d, + 0xf0, 0x6d, 0xf9, 0x40, +}; +static const unsigned char kat1662_entropyinreseed[] = { + 0xcd, 0xd5, 0xe2, 0x49, 0xa7, 0x77, 0x09, 0xe0, 0x2d, 0x34, 0xae, 0x6a, + 0x4c, 0x71, 0x38, 0x76, +}; +static const unsigned char kat1662_addinreseed[] = {0}; +static const unsigned char kat1662_addin0[] = {0}; +static const unsigned char kat1662_addin1[] = {0}; +static const unsigned char kat1662_retbits[] = { + 0x61, 0x6c, 0xfe, 0x61, 0x27, 0xed, 0xdc, 0xca, 0xdd, 0xaa, 0xf8, 0x16, + 0x24, 0x82, 0x93, 0xa7, 0x1f, 0xed, 0x14, 0x66, 0x1a, 0xc0, 0x67, 0xeb, + 0xcb, 0xb8, 0xb3, 0x15, 0xc7, 0x73, 0xbd, 0x54, 0xe5, 0x41, 0x6c, 0xb1, + 0xf2, 0xf4, 0xe3, 0xf1, 0x5e, 0x78, 0x5b, 0x9a, 0x48, 0xb5, 0xa3, 0x10, + 0xcf, 0x24, 0x1d, 0x53, 0xb2, 0x11, 0xbc, 0x20, 0x70, 0xc7, 0x4f, 0x53, + 0xf3, 0x16, 0x31, 0x09, +}; +static const struct drbg_kat_pr_false kat1662_t = { + 11, kat1662_entropyin, kat1662_nonce, kat1662_persstr, + kat1662_entropyinreseed, kat1662_addinreseed, kat1662_addin0, + kat1662_addin1, kat1662_retbits +}; +static const struct drbg_kat kat1662 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1662_t +}; + +static const unsigned char kat1663_entropyin[] = { + 0x12, 0x3c, 0x43, 0x44, 0x43, 0x6c, 0xc0, 0x99, 0x0b, 0x3a, 0xde, 0x31, + 0x83, 0x0a, 0x97, 0x4b, +}; +static const unsigned char kat1663_nonce[] = { + 0xb5, 0xcd, 0x6c, 0x8b, 0xc4, 0x20, 0x25, 0x8b, +}; +static const unsigned char kat1663_persstr[] = { + 0xf9, 0xd9, 0xb8, 0xd8, 0xd1, 0xd3, 0xef, 0x2c, 0x3c, 0xec, 0x38, 0x96, + 0x8c, 0x40, 0x6c, 0x03, +}; +static const unsigned char kat1663_entropyinreseed[] = { + 0x94, 0x90, 0x60, 0x24, 0xe8, 0xb4, 0xf5, 0x73, 0x20, 0x88, 0x70, 0xc4, + 0x04, 0x26, 0x7d, 0x30, +}; +static const unsigned char kat1663_addinreseed[] = {0}; +static const unsigned char kat1663_addin0[] = {0}; +static const unsigned char kat1663_addin1[] = {0}; +static const unsigned char kat1663_retbits[] = { + 0x35, 0x11, 0xd4, 0x1a, 0xcf, 0x56, 0xd6, 0x37, 0xa8, 0x13, 0x80, 0x3d, + 0x1c, 0xdb, 0xed, 0xfa, 0xd5, 0xa2, 0xc3, 0x22, 0xea, 0x64, 0x49, 0x87, + 0x29, 0x01, 0x44, 0x68, 0xee, 0x2e, 0x7a, 0x26, 0x33, 0xfc, 0x37, 0xf3, + 0xca, 0x11, 0xbe, 0x7e, 0x49, 0x87, 0xf5, 0x30, 0xf1, 0xf9, 0xa9, 0x66, + 0x49, 0x82, 0x9e, 0xb6, 0xda, 0x52, 0x4c, 0xf9, 0xbd, 0x0c, 0x7f, 0x20, + 0xb2, 0x19, 0x94, 0x15, +}; +static const struct drbg_kat_pr_false kat1663_t = { + 12, kat1663_entropyin, kat1663_nonce, kat1663_persstr, + kat1663_entropyinreseed, kat1663_addinreseed, kat1663_addin0, + kat1663_addin1, kat1663_retbits +}; +static const struct drbg_kat kat1663 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1663_t +}; + +static const unsigned char kat1664_entropyin[] = { + 0x0c, 0xfc, 0x00, 0xd7, 0x72, 0xf3, 0x8e, 0x58, 0xa6, 0xef, 0xde, 0xde, + 0xf1, 0xfa, 0xc3, 0xd9, +}; +static const unsigned char kat1664_nonce[] = { + 0x46, 0x99, 0x6d, 0xce, 0xa6, 0xed, 0x65, 0x2f, +}; +static const unsigned char kat1664_persstr[] = { + 0x68, 0xe3, 0x9a, 0xe1, 0x43, 0xbd, 0x7a, 0xf7, 0x59, 0x33, 0x9d, 0xf9, + 0xcf, 0x86, 0x11, 0x22, +}; +static const unsigned char kat1664_entropyinreseed[] = { + 0x5c, 0x7e, 0xe1, 0x19, 0x2c, 0xb3, 0xb4, 0x3d, 0x30, 0x29, 0xee, 0x6c, + 0xe7, 0x85, 0x95, 0x34, +}; +static const unsigned char kat1664_addinreseed[] = {0}; +static const unsigned char kat1664_addin0[] = {0}; +static const unsigned char kat1664_addin1[] = {0}; +static const unsigned char kat1664_retbits[] = { + 0x6f, 0xb8, 0x87, 0x1f, 0xf3, 0x19, 0xf6, 0x31, 0x19, 0x08, 0x18, 0x30, + 0xd3, 0x8d, 0x43, 0xf3, 0x77, 0x40, 0xc3, 0xb8, 0x62, 0xd6, 0xb2, 0xa0, + 0x78, 0x0d, 0x89, 0xbc, 0xb3, 0x89, 0x21, 0xa0, 0x34, 0x96, 0xfe, 0x8a, + 0x09, 0x79, 0x2f, 0x4f, 0x64, 0xbd, 0x0c, 0xa1, 0xb6, 0x07, 0x1f, 0xfc, + 0x8d, 0xb7, 0x6d, 0xe1, 0xcd, 0xd0, 0xb0, 0x9c, 0x2a, 0x0e, 0xa1, 0x92, + 0x2e, 0xad, 0x60, 0x43, +}; +static const struct drbg_kat_pr_false kat1664_t = { + 13, kat1664_entropyin, kat1664_nonce, kat1664_persstr, + kat1664_entropyinreseed, kat1664_addinreseed, kat1664_addin0, + kat1664_addin1, kat1664_retbits +}; +static const struct drbg_kat kat1664 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1664_t +}; + +static const unsigned char kat1665_entropyin[] = { + 0x81, 0x3c, 0xe8, 0xc1, 0x5b, 0xe0, 0xee, 0xf6, 0xce, 0x6e, 0x11, 0x9a, + 0x5b, 0x3f, 0xa2, 0x3c, +}; +static const unsigned char kat1665_nonce[] = { + 0xe4, 0x71, 0x36, 0x67, 0x32, 0x80, 0x3f, 0x51, +}; +static const unsigned char kat1665_persstr[] = { + 0xa3, 0x5b, 0x7d, 0x70, 0x37, 0xf4, 0xe1, 0xa2, 0xbf, 0xe3, 0xff, 0x17, + 0xc2, 0xce, 0xe8, 0x7a, +}; +static const unsigned char kat1665_entropyinreseed[] = { + 0x8f, 0x8d, 0xae, 0xf2, 0x5b, 0x0c, 0x78, 0xae, 0x5a, 0xdd, 0x50, 0xce, + 0xa3, 0x05, 0x47, 0x20, +}; +static const unsigned char kat1665_addinreseed[] = {0}; +static const unsigned char kat1665_addin0[] = {0}; +static const unsigned char kat1665_addin1[] = {0}; +static const unsigned char kat1665_retbits[] = { + 0x01, 0x70, 0x65, 0x1e, 0x7e, 0xec, 0x1f, 0x00, 0x11, 0xc9, 0x57, 0x31, + 0x3a, 0x9c, 0x33, 0x20, 0x21, 0x96, 0x4a, 0xbe, 0xba, 0x2e, 0x62, 0x6e, + 0xfc, 0x59, 0xd8, 0xb0, 0x30, 0x22, 0xf8, 0xb2, 0x77, 0x2c, 0xe3, 0x54, + 0xe5, 0xdd, 0x7d, 0x6c, 0x20, 0x95, 0x1c, 0xb6, 0x34, 0x1c, 0xe9, 0x86, + 0x1b, 0x35, 0x34, 0x6e, 0x9d, 0x16, 0x6d, 0x92, 0xce, 0x11, 0xfb, 0xc0, + 0xad, 0x21, 0xb4, 0x64, +}; +static const struct drbg_kat_pr_false kat1665_t = { + 14, kat1665_entropyin, kat1665_nonce, kat1665_persstr, + kat1665_entropyinreseed, kat1665_addinreseed, kat1665_addin0, + kat1665_addin1, kat1665_retbits +}; +static const struct drbg_kat kat1665 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat1665_t +}; + +static const unsigned char kat1666_entropyin[] = { + 0xe7, 0x96, 0xb7, 0x28, 0xec, 0x69, 0xcf, 0x79, 0xf9, 0x7e, 0xaa, 0x2c, + 0x06, 0xe7, 0x18, 0x7f, +}; +static const unsigned char kat1666_nonce[] = { + 0x35, 0x68, 0xf0, 0x11, 0xc2, 0x82, 0xc0, 0x1d, +}; +static const unsigned char kat1666_persstr[] = { + 0xb5, 0xae, 0x69, 0x31, 0x92, 0xff, 0x05, 0x7e, 0x68, 0x2a, 0x62, 0x9b, + 0x84, 0xb8, 0xfe, 0xec, +}; +static const unsigned char kat1666_entropyinreseed[] = { + 0x31, 0xc4, 0xdb, 0x57, 0x13, 0xe0, 0x8e, 0x4e, 0x8c, 0xfb, 0xf7, 0x77, + 0xb9, 0x62, 0x1a, 0x04, +}; +static const unsigned char kat1666_addinreseed[] = { + 0xb6, 0x99, 0x76, 0x17, 0xe4, 0xe2, 0xc9, 0x4d, 0x8a, 0x3b, 0xf3, 0xc6, + 0x14, 0x39, 0xa5, 0x5e, +}; +static const unsigned char kat1666_addin0[] = { + 0xc3, 0x99, 0x8f, 0x9e, 0xdd, 0x93, 0x82, 0x86, 0xd7, 0xfa, 0xd2, 0xcc, + 0x75, 0x96, 0x3f, 0xdd, +}; +static const unsigned char kat1666_addin1[] = { + 0x64, 0x8f, 0xc7, 0x36, 0x0a, 0xe2, 0x70, 0x02, 0xe1, 0xaa, 0x77, 0xd8, + 0x58, 0x95, 0xb8, 0x9e, +}; +static const unsigned char kat1666_retbits[] = { + 0x6c, 0xe1, 0xeb, 0x64, 0xfd, 0xca, 0x9f, 0xd3, 0xb3, 0xef, 0x61, 0x91, + 0x3c, 0xc1, 0xc2, 0x14, 0xf9, 0x3b, 0xca, 0x0e, 0x51, 0x5d, 0x05, 0x14, + 0xfa, 0x48, 0x8d, 0x8a, 0xf5, 0x29, 0xf4, 0x98, 0x92, 0xbb, 0x7c, 0xd7, + 0xfb, 0xf5, 0x84, 0xeb, 0x02, 0x0f, 0xd8, 0xcb, 0x2a, 0xf9, 0xe6, 0xdb, + 0xfc, 0xe8, 0xa8, 0xa3, 0x43, 0x9b, 0xe8, 0x5d, 0x5c, 0xc4, 0xde, 0x76, + 0x40, 0xb4, 0xef, 0x7d, +}; +static const struct drbg_kat_pr_false kat1666_t = { + 0, kat1666_entropyin, kat1666_nonce, kat1666_persstr, + kat1666_entropyinreseed, kat1666_addinreseed, kat1666_addin0, + kat1666_addin1, kat1666_retbits +}; +static const struct drbg_kat kat1666 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1666_t +}; + +static const unsigned char kat1667_entropyin[] = { + 0x94, 0xa7, 0x99, 0xa2, 0xc3, 0x52, 0xbb, 0xc8, 0x24, 0x92, 0x1a, 0x75, + 0xdb, 0x0b, 0x15, 0x90, +}; +static const unsigned char kat1667_nonce[] = { + 0xf5, 0xfc, 0xd4, 0xcf, 0x35, 0x32, 0x7d, 0xbe, +}; +static const unsigned char kat1667_persstr[] = { + 0xde, 0xff, 0xfa, 0xfd, 0x85, 0xc8, 0x47, 0x35, 0xbe, 0xae, 0xe8, 0x7b, + 0x3d, 0x22, 0x66, 0x84, +}; +static const unsigned char kat1667_entropyinreseed[] = { + 0xe6, 0x95, 0x0d, 0x5b, 0xd3, 0x1c, 0x48, 0x2b, 0x6d, 0x83, 0xc6, 0x46, + 0xd7, 0xbf, 0xab, 0x07, +}; +static const unsigned char kat1667_addinreseed[] = { + 0x90, 0x3b, 0x9c, 0x07, 0x91, 0x79, 0x4c, 0xf5, 0xc8, 0x82, 0x48, 0x82, + 0x54, 0x22, 0xab, 0x79, +}; +static const unsigned char kat1667_addin0[] = { + 0x1d, 0x08, 0x7b, 0xde, 0x28, 0xb6, 0x63, 0x53, 0xe0, 0x26, 0x1d, 0xb4, + 0xf9, 0x9a, 0xc5, 0xf8, +}; +static const unsigned char kat1667_addin1[] = { + 0x90, 0x9a, 0x9f, 0x61, 0xa8, 0x7a, 0x68, 0x1d, 0x08, 0x44, 0x1c, 0x26, + 0x1e, 0x33, 0xed, 0xae, +}; +static const unsigned char kat1667_retbits[] = { + 0x55, 0x1f, 0x8b, 0x60, 0x71, 0xe4, 0xa1, 0xbd, 0xe5, 0x9b, 0x60, 0x6f, + 0x8e, 0x3d, 0xf0, 0x33, 0x50, 0x1c, 0x1e, 0x45, 0xa0, 0xf7, 0x18, 0xb6, + 0xbd, 0xf0, 0x6a, 0x64, 0xfc, 0xef, 0x9c, 0xda, 0xec, 0x65, 0xba, 0x60, + 0x89, 0x12, 0x5a, 0xd0, 0xa2, 0x5e, 0x61, 0x7a, 0x03, 0xac, 0xc2, 0x6a, + 0x26, 0x2f, 0xe4, 0xef, 0x4b, 0x64, 0x60, 0x52, 0x4c, 0xf6, 0xbf, 0x92, + 0x11, 0x08, 0xd5, 0xff, +}; +static const struct drbg_kat_pr_false kat1667_t = { + 1, kat1667_entropyin, kat1667_nonce, kat1667_persstr, + kat1667_entropyinreseed, kat1667_addinreseed, kat1667_addin0, + kat1667_addin1, kat1667_retbits +}; +static const struct drbg_kat kat1667 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1667_t +}; + +static const unsigned char kat1668_entropyin[] = { + 0xed, 0x3f, 0x63, 0x46, 0xca, 0x31, 0x6c, 0xea, 0x24, 0x55, 0x8d, 0x0f, + 0x1a, 0xaa, 0x4b, 0xac, +}; +static const unsigned char kat1668_nonce[] = { + 0xcf, 0xfb, 0xd0, 0xed, 0x03, 0x36, 0xfd, 0x69, +}; +static const unsigned char kat1668_persstr[] = { + 0x07, 0xd6, 0xfa, 0x69, 0x41, 0xfe, 0x2a, 0x4a, 0xf3, 0x5b, 0x4f, 0x93, + 0x9c, 0x2c, 0xa8, 0x9d, +}; +static const unsigned char kat1668_entropyinreseed[] = { + 0x1d, 0xad, 0xbf, 0xf4, 0xd9, 0x17, 0xba, 0x52, 0x36, 0x75, 0x2d, 0xe8, + 0xe0, 0x1e, 0x42, 0xa8, +}; +static const unsigned char kat1668_addinreseed[] = { + 0x03, 0x1f, 0x2b, 0x1f, 0x31, 0x30, 0xd0, 0xdb, 0x79, 0x80, 0x5d, 0x9c, + 0x78, 0x7c, 0x18, 0x99, +}; +static const unsigned char kat1668_addin0[] = { + 0xb2, 0xb2, 0xee, 0xa5, 0xfa, 0x8a, 0x18, 0x81, 0xe2, 0x61, 0x5b, 0x46, + 0x79, 0xec, 0x4d, 0x9c, +}; +static const unsigned char kat1668_addin1[] = { + 0x00, 0xf6, 0x1c, 0x3a, 0x37, 0x45, 0x36, 0xf8, 0x9b, 0xfc, 0xcf, 0x7e, + 0x43, 0xa3, 0xb0, 0x4b, +}; +static const unsigned char kat1668_retbits[] = { + 0x8c, 0xc6, 0xb6, 0xdb, 0xb0, 0x95, 0xc8, 0x7e, 0x0e, 0xde, 0x01, 0xf5, + 0xe8, 0x7b, 0x8a, 0xaf, 0x0e, 0xad, 0xdf, 0x43, 0xfd, 0x2d, 0xff, 0xc0, + 0x84, 0x39, 0xd1, 0x06, 0xeb, 0xbe, 0x51, 0x73, 0xd5, 0xb3, 0xeb, 0x61, + 0xf3, 0x89, 0x63, 0xc1, 0x9b, 0x5d, 0xb1, 0x83, 0x3b, 0xe1, 0x44, 0x2e, + 0x8a, 0x50, 0x99, 0x25, 0x1c, 0xc6, 0x6d, 0x75, 0x77, 0x3b, 0xc6, 0xfa, + 0x49, 0x36, 0x73, 0x2a, +}; +static const struct drbg_kat_pr_false kat1668_t = { + 2, kat1668_entropyin, kat1668_nonce, kat1668_persstr, + kat1668_entropyinreseed, kat1668_addinreseed, kat1668_addin0, + kat1668_addin1, kat1668_retbits +}; +static const struct drbg_kat kat1668 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1668_t +}; + +static const unsigned char kat1669_entropyin[] = { + 0x6b, 0x47, 0x6b, 0x20, 0x1b, 0x0c, 0xaa, 0x27, 0x0e, 0xef, 0x30, 0xb0, + 0x94, 0x06, 0x82, 0xa3, +}; +static const unsigned char kat1669_nonce[] = { + 0xa1, 0xd0, 0x95, 0x4c, 0x17, 0x16, 0x7b, 0x17, +}; +static const unsigned char kat1669_persstr[] = { + 0x65, 0x42, 0x79, 0xa6, 0x97, 0x2d, 0x0f, 0x18, 0xca, 0x99, 0x0f, 0xb9, + 0xe8, 0x7f, 0x40, 0x89, +}; +static const unsigned char kat1669_entropyinreseed[] = { + 0xf4, 0x36, 0x74, 0x80, 0x08, 0x6b, 0x48, 0x22, 0xa3, 0xb5, 0x4d, 0xd5, + 0xb1, 0xf4, 0xd3, 0x10, +}; +static const unsigned char kat1669_addinreseed[] = { + 0xde, 0x6e, 0x78, 0x40, 0x68, 0xb0, 0x51, 0xf6, 0x04, 0x27, 0xa3, 0xf4, + 0x9d, 0xde, 0x44, 0x6a, +}; +static const unsigned char kat1669_addin0[] = { + 0xa6, 0xa5, 0xd6, 0x1d, 0x96, 0x97, 0xd9, 0x33, 0x64, 0xe7, 0xe5, 0x50, + 0xa9, 0x3c, 0xf7, 0xd7, +}; +static const unsigned char kat1669_addin1[] = { + 0xa4, 0xe9, 0x48, 0x81, 0x1c, 0x45, 0x55, 0x00, 0x20, 0x62, 0xf5, 0xe7, + 0x6e, 0x89, 0x2f, 0xfc, +}; +static const unsigned char kat1669_retbits[] = { + 0x33, 0x2a, 0x38, 0x68, 0x36, 0x2a, 0xfe, 0xe0, 0x36, 0xe8, 0x07, 0x3f, + 0x1c, 0x83, 0x91, 0xff, 0xca, 0x33, 0xc7, 0x24, 0x32, 0x5a, 0xa3, 0xf6, + 0x6c, 0x79, 0x71, 0x52, 0xb9, 0x97, 0x8e, 0xab, 0xe8, 0x31, 0x92, 0x29, + 0xf8, 0xae, 0x3e, 0x52, 0x3f, 0x03, 0xb1, 0x47, 0xa8, 0x7b, 0xee, 0x27, + 0x8f, 0xa3, 0x35, 0x51, 0xd5, 0xf3, 0x04, 0x28, 0xb5, 0x6b, 0xb0, 0x1e, + 0x3b, 0x3c, 0x1c, 0xf3, +}; +static const struct drbg_kat_pr_false kat1669_t = { + 3, kat1669_entropyin, kat1669_nonce, kat1669_persstr, + kat1669_entropyinreseed, kat1669_addinreseed, kat1669_addin0, + kat1669_addin1, kat1669_retbits +}; +static const struct drbg_kat kat1669 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1669_t +}; + +static const unsigned char kat1670_entropyin[] = { + 0x70, 0xca, 0xd5, 0x57, 0xde, 0xfa, 0xa0, 0xc8, 0xb3, 0x7c, 0x16, 0x7c, + 0x97, 0x23, 0xdb, 0xc7, +}; +static const unsigned char kat1670_nonce[] = { + 0xdb, 0xe8, 0x9a, 0x10, 0x6f, 0x15, 0xd1, 0x12, +}; +static const unsigned char kat1670_persstr[] = { + 0x84, 0x6c, 0xdb, 0x83, 0x87, 0x2b, 0xe7, 0x90, 0x01, 0x04, 0xc1, 0x4c, + 0x1f, 0x88, 0xdd, 0x6b, +}; +static const unsigned char kat1670_entropyinreseed[] = { + 0xf0, 0x4c, 0x51, 0x9d, 0x94, 0xa0, 0xab, 0x7e, 0xaf, 0x35, 0x44, 0xec, + 0xd5, 0xf8, 0x5b, 0x95, +}; +static const unsigned char kat1670_addinreseed[] = { + 0x9f, 0xbd, 0x72, 0xce, 0x33, 0x2a, 0xbf, 0xf5, 0xf7, 0x46, 0x66, 0xd7, + 0xe6, 0x4f, 0x5a, 0xcd, +}; +static const unsigned char kat1670_addin0[] = { + 0xb0, 0x76, 0x87, 0xad, 0xba, 0xef, 0x6b, 0x11, 0x41, 0xae, 0xbd, 0x9e, + 0x78, 0x35, 0x84, 0x74, +}; +static const unsigned char kat1670_addin1[] = { + 0x53, 0x98, 0xf3, 0x1a, 0x34, 0xaf, 0x72, 0x0d, 0x2b, 0x2e, 0x30, 0xf6, + 0x5b, 0x8b, 0x05, 0x67, +}; +static const unsigned char kat1670_retbits[] = { + 0x0f, 0x29, 0xf6, 0xb2, 0x07, 0xc3, 0x82, 0xd3, 0x52, 0x44, 0x03, 0xde, + 0x0e, 0xdd, 0xe3, 0xbd, 0xca, 0x56, 0xab, 0x08, 0x10, 0x13, 0x74, 0x2b, + 0x40, 0xc9, 0x23, 0xa3, 0xe3, 0xc9, 0x5b, 0x9c, 0x3b, 0x36, 0x1c, 0x1c, + 0xff, 0x27, 0xbf, 0x2d, 0x2e, 0x60, 0xd8, 0x1f, 0x3b, 0x45, 0x06, 0xf8, + 0x8e, 0xe5, 0x58, 0xf7, 0x7f, 0x72, 0x48, 0xae, 0x3a, 0x68, 0xac, 0x29, + 0x1f, 0x00, 0x21, 0xe8, +}; +static const struct drbg_kat_pr_false kat1670_t = { + 4, kat1670_entropyin, kat1670_nonce, kat1670_persstr, + kat1670_entropyinreseed, kat1670_addinreseed, kat1670_addin0, + kat1670_addin1, kat1670_retbits +}; +static const struct drbg_kat kat1670 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1670_t +}; + +static const unsigned char kat1671_entropyin[] = { + 0x33, 0xba, 0x49, 0x4b, 0x54, 0x91, 0x84, 0x51, 0x03, 0xb5, 0x7a, 0xaa, + 0xce, 0xf0, 0xa6, 0x5d, +}; +static const unsigned char kat1671_nonce[] = { + 0x55, 0x38, 0x5b, 0x3e, 0xa7, 0xf3, 0xb4, 0xac, +}; +static const unsigned char kat1671_persstr[] = { + 0x92, 0x47, 0xdd, 0xa0, 0x3f, 0x2c, 0x31, 0x07, 0x93, 0xf3, 0xe5, 0xec, + 0x5d, 0x07, 0xd3, 0x97, +}; +static const unsigned char kat1671_entropyinreseed[] = { + 0x87, 0x89, 0x5e, 0xd4, 0x3a, 0xf7, 0x34, 0x51, 0x89, 0x91, 0x19, 0x77, + 0x48, 0x19, 0x8c, 0x0d, +}; +static const unsigned char kat1671_addinreseed[] = { + 0xde, 0x0e, 0xcc, 0xbf, 0xda, 0xbb, 0xae, 0xb7, 0xf9, 0xc5, 0x25, 0x80, + 0x49, 0x0c, 0xeb, 0x87, +}; +static const unsigned char kat1671_addin0[] = { + 0x6d, 0xea, 0x3b, 0x1b, 0xee, 0x14, 0x66, 0x6e, 0xd0, 0x53, 0xf0, 0xb5, + 0x12, 0x56, 0x53, 0x16, +}; +static const unsigned char kat1671_addin1[] = { + 0x1e, 0x3d, 0x49, 0xdf, 0x6e, 0x07, 0x9f, 0x9c, 0x8e, 0x79, 0x26, 0x0c, + 0x63, 0x12, 0x74, 0x45, +}; +static const unsigned char kat1671_retbits[] = { + 0x13, 0x9d, 0x25, 0x6f, 0x1c, 0xe3, 0xe4, 0xf2, 0xb6, 0xbf, 0x08, 0x6d, + 0x80, 0x9f, 0xaf, 0x19, 0x82, 0x0e, 0x79, 0x9f, 0x74, 0x4f, 0x7c, 0x36, + 0x58, 0x0c, 0xf8, 0x24, 0x19, 0xca, 0xef, 0x4d, 0xe7, 0x6e, 0x51, 0x10, + 0xe1, 0x1c, 0xa4, 0x75, 0x60, 0x4f, 0xc0, 0x4a, 0x55, 0xfe, 0x3b, 0x07, + 0x13, 0xcf, 0x19, 0x1a, 0x6d, 0xfb, 0x9d, 0x33, 0xde, 0xd0, 0xd5, 0xc6, + 0x1a, 0x6b, 0xa1, 0x60, +}; +static const struct drbg_kat_pr_false kat1671_t = { + 5, kat1671_entropyin, kat1671_nonce, kat1671_persstr, + kat1671_entropyinreseed, kat1671_addinreseed, kat1671_addin0, + kat1671_addin1, kat1671_retbits +}; +static const struct drbg_kat kat1671 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1671_t +}; + +static const unsigned char kat1672_entropyin[] = { + 0x26, 0xe3, 0xa5, 0x0f, 0x73, 0xa6, 0x06, 0x98, 0xb9, 0x4a, 0xd3, 0x93, + 0x15, 0xa6, 0x6a, 0xda, +}; +static const unsigned char kat1672_nonce[] = { + 0x6e, 0x53, 0xc2, 0xba, 0xa7, 0x17, 0x45, 0xca, +}; +static const unsigned char kat1672_persstr[] = { + 0xc4, 0x7b, 0xeb, 0x1a, 0x59, 0x0e, 0x06, 0x70, 0x77, 0x22, 0xe3, 0xf1, + 0x94, 0xfa, 0x5c, 0xee, +}; +static const unsigned char kat1672_entropyinreseed[] = { + 0x61, 0x81, 0x51, 0x42, 0x13, 0x45, 0xf7, 0x40, 0x0a, 0xce, 0x77, 0xeb, + 0x7f, 0xa4, 0xb0, 0xc8, +}; +static const unsigned char kat1672_addinreseed[] = { + 0xfd, 0x7e, 0xbb, 0x1e, 0xa4, 0xe7, 0x6d, 0x8e, 0x52, 0x28, 0xcd, 0xff, + 0x77, 0x86, 0xa5, 0x2a, +}; +static const unsigned char kat1672_addin0[] = { + 0x39, 0xe8, 0xc5, 0x78, 0xb7, 0xc9, 0x24, 0xc5, 0x6a, 0xfc, 0xdf, 0xfe, + 0xa3, 0x7f, 0xed, 0x4d, +}; +static const unsigned char kat1672_addin1[] = { + 0x24, 0x83, 0xb9, 0x6f, 0x21, 0x90, 0xed, 0x57, 0xb4, 0xa6, 0x8c, 0x7c, + 0xd0, 0x4a, 0x42, 0xcf, +}; +static const unsigned char kat1672_retbits[] = { + 0x94, 0x8c, 0x0a, 0xe1, 0x8f, 0x98, 0x9d, 0x2d, 0xe0, 0x70, 0x0b, 0x5f, + 0xf1, 0xcf, 0xb5, 0x39, 0xb9, 0x14, 0x67, 0x6e, 0xcb, 0x4e, 0x51, 0x6f, + 0x4f, 0xa0, 0x37, 0x69, 0x9b, 0x18, 0x14, 0x04, 0xa3, 0x00, 0x51, 0x3b, + 0xbb, 0x9a, 0xf3, 0xf5, 0x55, 0x53, 0xa6, 0xbe, 0x6e, 0x89, 0x41, 0x96, + 0x48, 0x57, 0x36, 0xe7, 0x53, 0x43, 0x2b, 0xfa, 0x67, 0x9d, 0x07, 0xbb, + 0x6c, 0x5b, 0xcd, 0xa8, +}; +static const struct drbg_kat_pr_false kat1672_t = { + 6, kat1672_entropyin, kat1672_nonce, kat1672_persstr, + kat1672_entropyinreseed, kat1672_addinreseed, kat1672_addin0, + kat1672_addin1, kat1672_retbits +}; +static const struct drbg_kat kat1672 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1672_t +}; + +static const unsigned char kat1673_entropyin[] = { + 0xb7, 0x51, 0x68, 0x65, 0xda, 0x6b, 0x6b, 0x49, 0x4e, 0x6b, 0x33, 0xb2, + 0x78, 0xfb, 0xa5, 0x88, +}; +static const unsigned char kat1673_nonce[] = { + 0xc6, 0x6f, 0x5d, 0x69, 0x9f, 0x36, 0x98, 0x1d, +}; +static const unsigned char kat1673_persstr[] = { + 0xbc, 0x64, 0x31, 0x50, 0x04, 0x95, 0xb2, 0xcf, 0x8f, 0x91, 0x05, 0x37, + 0xb2, 0x9e, 0x86, 0xc1, +}; +static const unsigned char kat1673_entropyinreseed[] = { + 0x4e, 0xf0, 0x7e, 0xde, 0xc9, 0x5e, 0x66, 0x2a, 0xd8, 0xec, 0x1a, 0xe3, + 0x0c, 0x77, 0x39, 0xf2, +}; +static const unsigned char kat1673_addinreseed[] = { + 0x5d, 0xb2, 0x75, 0x41, 0xe3, 0xb6, 0xdc, 0x48, 0x30, 0xe7, 0xaf, 0xb1, + 0x6b, 0x26, 0x7e, 0x42, +}; +static const unsigned char kat1673_addin0[] = { + 0x5a, 0x4b, 0xa4, 0xf6, 0xa1, 0xa7, 0x6d, 0x21, 0xa4, 0x16, 0x12, 0x04, + 0xd5, 0x82, 0xcd, 0x25, +}; +static const unsigned char kat1673_addin1[] = { + 0xd3, 0x5d, 0xef, 0x58, 0xfb, 0x9c, 0x13, 0xf2, 0x6f, 0x13, 0xdb, 0x4f, + 0x44, 0xf8, 0x43, 0xc8, +}; +static const unsigned char kat1673_retbits[] = { + 0xbc, 0x5a, 0x17, 0x4b, 0x9a, 0xf4, 0xc1, 0xb9, 0xb3, 0x77, 0xb3, 0x20, + 0xa9, 0x3b, 0xce, 0x84, 0x8d, 0xa3, 0x10, 0x6a, 0x14, 0x7c, 0xa6, 0xb8, + 0x84, 0x2e, 0x02, 0x0c, 0xe3, 0xad, 0x5b, 0x79, 0xd2, 0x6f, 0x7a, 0xdf, + 0x72, 0x10, 0x05, 0x18, 0x3a, 0x1b, 0x53, 0xce, 0x07, 0x64, 0xa7, 0xd4, + 0x73, 0x8d, 0xdb, 0x97, 0xcd, 0xcd, 0x0d, 0x6a, 0x76, 0xa3, 0x2d, 0xbf, + 0xa4, 0x96, 0xd2, 0xcb, +}; +static const struct drbg_kat_pr_false kat1673_t = { + 7, kat1673_entropyin, kat1673_nonce, kat1673_persstr, + kat1673_entropyinreseed, kat1673_addinreseed, kat1673_addin0, + kat1673_addin1, kat1673_retbits +}; +static const struct drbg_kat kat1673 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1673_t +}; + +static const unsigned char kat1674_entropyin[] = { + 0xbc, 0x08, 0x07, 0xf6, 0xcd, 0xae, 0x0e, 0x32, 0xb1, 0xbb, 0x0a, 0xc0, + 0xb4, 0x02, 0x81, 0x19, +}; +static const unsigned char kat1674_nonce[] = { + 0x76, 0xf5, 0x69, 0x4b, 0x0c, 0x85, 0x2d, 0x4b, +}; +static const unsigned char kat1674_persstr[] = { + 0x32, 0x49, 0x48, 0x22, 0x00, 0x2c, 0x74, 0xdc, 0x40, 0x6b, 0x88, 0xa2, + 0x13, 0xe2, 0x6d, 0x46, +}; +static const unsigned char kat1674_entropyinreseed[] = { + 0x16, 0xd4, 0x60, 0x23, 0x7a, 0x5f, 0x38, 0xa6, 0x49, 0xe6, 0x8f, 0xc1, + 0x11, 0xc1, 0xef, 0x56, +}; +static const unsigned char kat1674_addinreseed[] = { + 0xee, 0x95, 0xf1, 0x84, 0x34, 0x4b, 0xfb, 0x04, 0x55, 0xfa, 0x7f, 0x4d, + 0xb2, 0x32, 0x6d, 0x45, +}; +static const unsigned char kat1674_addin0[] = { + 0xbe, 0x4b, 0x33, 0x2e, 0x3c, 0xf2, 0x0a, 0x86, 0x8b, 0xa9, 0x90, 0xee, + 0xf3, 0xf8, 0x21, 0x2f, +}; +static const unsigned char kat1674_addin1[] = { + 0x43, 0x45, 0xac, 0xd4, 0x33, 0xee, 0xc5, 0x10, 0xaf, 0xde, 0x2f, 0xaf, + 0x2c, 0x51, 0xdc, 0x9a, +}; +static const unsigned char kat1674_retbits[] = { + 0xc7, 0xb5, 0x7b, 0x7e, 0x6d, 0xee, 0xb1, 0x32, 0x88, 0xb4, 0x8f, 0xc1, + 0x77, 0x5c, 0x0e, 0xb1, 0x22, 0x81, 0x1c, 0xe2, 0x7e, 0x33, 0x6d, 0xab, + 0xdc, 0xe3, 0xfa, 0x23, 0xdb, 0x31, 0x68, 0x82, 0xed, 0xe6, 0x93, 0x8a, + 0x44, 0x1f, 0xfe, 0x84, 0x8d, 0x82, 0xc0, 0xa1, 0xa3, 0x7a, 0x1e, 0x8b, + 0xbf, 0x12, 0xca, 0x3b, 0xb8, 0xb2, 0x26, 0x5c, 0xb5, 0xb3, 0xb3, 0x35, + 0xd4, 0xc7, 0x9f, 0x14, +}; +static const struct drbg_kat_pr_false kat1674_t = { + 8, kat1674_entropyin, kat1674_nonce, kat1674_persstr, + kat1674_entropyinreseed, kat1674_addinreseed, kat1674_addin0, + kat1674_addin1, kat1674_retbits +}; +static const struct drbg_kat kat1674 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1674_t +}; + +static const unsigned char kat1675_entropyin[] = { + 0xb5, 0x43, 0x14, 0x02, 0x3c, 0xb8, 0x82, 0xd7, 0x59, 0xe7, 0x4f, 0xd8, + 0x22, 0xd6, 0x14, 0x95, +}; +static const unsigned char kat1675_nonce[] = { + 0xb3, 0x3a, 0xd7, 0x16, 0x9c, 0x32, 0x64, 0xc0, +}; +static const unsigned char kat1675_persstr[] = { + 0x89, 0xbf, 0x26, 0x19, 0x0e, 0xaf, 0xec, 0x31, 0x7d, 0xae, 0x99, 0x49, + 0xff, 0x79, 0xaa, 0x20, +}; +static const unsigned char kat1675_entropyinreseed[] = { + 0x49, 0x00, 0x88, 0x22, 0x5d, 0x2a, 0x81, 0x64, 0x1b, 0xc0, 0x14, 0x7d, + 0x10, 0x8a, 0x79, 0x25, +}; +static const unsigned char kat1675_addinreseed[] = { + 0x47, 0x0b, 0x3f, 0x0a, 0xa0, 0xf2, 0x80, 0x59, 0x9f, 0xe9, 0x38, 0xcd, + 0x5a, 0xa1, 0xb9, 0xbd, +}; +static const unsigned char kat1675_addin0[] = { + 0x32, 0xf3, 0xb0, 0xf8, 0x61, 0x0b, 0x2f, 0xe6, 0x54, 0x94, 0x09, 0xa7, + 0x42, 0xae, 0x16, 0x38, +}; +static const unsigned char kat1675_addin1[] = { + 0xc8, 0x37, 0x68, 0x2d, 0x0a, 0x19, 0xdb, 0x10, 0xef, 0xc3, 0x4a, 0x44, + 0x47, 0x85, 0x12, 0xe2, +}; +static const unsigned char kat1675_retbits[] = { + 0x99, 0xab, 0x5f, 0xa6, 0x18, 0xbc, 0x7b, 0xd1, 0x52, 0x1b, 0xf3, 0xd0, + 0x5d, 0xb3, 0xcd, 0x08, 0x27, 0x24, 0x83, 0x6d, 0x29, 0x13, 0x61, 0x9d, + 0x18, 0xd0, 0x7a, 0xc4, 0x7d, 0x57, 0xf0, 0x5f, 0x4d, 0xf2, 0xeb, 0xe2, + 0xbd, 0x22, 0xde, 0x04, 0x87, 0xac, 0x6c, 0xb9, 0xba, 0xb7, 0x58, 0xf9, + 0xf4, 0x9e, 0xbf, 0x1a, 0xfd, 0xf7, 0xcf, 0x83, 0xe8, 0xae, 0x3b, 0x5f, + 0xb6, 0x9d, 0x62, 0x9f, +}; +static const struct drbg_kat_pr_false kat1675_t = { + 9, kat1675_entropyin, kat1675_nonce, kat1675_persstr, + kat1675_entropyinreseed, kat1675_addinreseed, kat1675_addin0, + kat1675_addin1, kat1675_retbits +}; +static const struct drbg_kat kat1675 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1675_t +}; + +static const unsigned char kat1676_entropyin[] = { + 0xb3, 0xcb, 0x56, 0xce, 0x6d, 0x01, 0xea, 0xc4, 0x58, 0x38, 0x66, 0xfd, + 0xf2, 0xa0, 0xcc, 0xe6, +}; +static const unsigned char kat1676_nonce[] = { + 0x13, 0x0d, 0x06, 0xc3, 0x5a, 0x72, 0xa8, 0x70, +}; +static const unsigned char kat1676_persstr[] = { + 0x5d, 0xe4, 0xb0, 0xc6, 0xc7, 0x1f, 0x9a, 0xd9, 0x1d, 0xf2, 0xee, 0x4c, + 0xa4, 0xca, 0xde, 0x6e, +}; +static const unsigned char kat1676_entropyinreseed[] = { + 0x7a, 0x91, 0x6f, 0xbc, 0x9f, 0x00, 0x39, 0x48, 0x55, 0x1b, 0x1c, 0x7e, + 0x61, 0xc5, 0xd1, 0x26, +}; +static const unsigned char kat1676_addinreseed[] = { + 0x63, 0x7d, 0x0c, 0x6e, 0xf1, 0x99, 0xc8, 0xe3, 0xe3, 0x09, 0x38, 0x7a, + 0x55, 0xea, 0x39, 0x86, +}; +static const unsigned char kat1676_addin0[] = { + 0x84, 0xb3, 0xaa, 0x93, 0xf8, 0x44, 0x47, 0xe2, 0xd3, 0x79, 0x2d, 0x2f, + 0x5f, 0xe0, 0xea, 0x61, +}; +static const unsigned char kat1676_addin1[] = { + 0xa0, 0x45, 0xf5, 0x0a, 0xa1, 0x7c, 0x94, 0xd1, 0xf5, 0x5c, 0x55, 0xd3, + 0xdd, 0x70, 0x59, 0x32, +}; +static const unsigned char kat1676_retbits[] = { + 0x22, 0x7e, 0x06, 0x77, 0x1d, 0x65, 0x80, 0x94, 0xc8, 0x24, 0xcc, 0x4b, + 0xbc, 0x1a, 0x98, 0x50, 0x58, 0xc5, 0xaf, 0xa3, 0x71, 0x06, 0xf3, 0xf0, + 0xfe, 0xd3, 0x70, 0xdf, 0x64, 0xbb, 0x22, 0x65, 0x11, 0x51, 0xe3, 0x33, + 0x2c, 0x60, 0x2d, 0x0a, 0x36, 0x48, 0x6c, 0x70, 0xed, 0x7f, 0xd1, 0xf5, + 0xaf, 0x6b, 0x52, 0xc3, 0xfb, 0xd2, 0x8b, 0x8a, 0x31, 0x03, 0x2b, 0xb1, + 0x0f, 0x79, 0xdf, 0x5d, +}; +static const struct drbg_kat_pr_false kat1676_t = { + 10, kat1676_entropyin, kat1676_nonce, kat1676_persstr, + kat1676_entropyinreseed, kat1676_addinreseed, kat1676_addin0, + kat1676_addin1, kat1676_retbits +}; +static const struct drbg_kat kat1676 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1676_t +}; + +static const unsigned char kat1677_entropyin[] = { + 0x7f, 0x24, 0x9f, 0x2b, 0x0a, 0xf7, 0xf6, 0xd2, 0xac, 0xcc, 0x53, 0x44, + 0x86, 0xff, 0x25, 0xd4, +}; +static const unsigned char kat1677_nonce[] = { + 0xb4, 0xa5, 0xeb, 0x9f, 0x06, 0x22, 0x75, 0x80, +}; +static const unsigned char kat1677_persstr[] = { + 0x26, 0x0f, 0x24, 0xcb, 0xf2, 0xc6, 0x6c, 0x31, 0xc8, 0x78, 0xba, 0x86, + 0x7a, 0x47, 0x04, 0xc0, +}; +static const unsigned char kat1677_entropyinreseed[] = { + 0x9b, 0xa2, 0x92, 0xc2, 0x92, 0x26, 0xaf, 0x77, 0x34, 0x2c, 0xa4, 0x6c, + 0xa8, 0x0d, 0x03, 0x20, +}; +static const unsigned char kat1677_addinreseed[] = { + 0x91, 0xa7, 0x7c, 0x7f, 0x13, 0x2f, 0x21, 0x03, 0x51, 0xbb, 0x51, 0xc6, + 0xc7, 0x32, 0x7f, 0x6f, +}; +static const unsigned char kat1677_addin0[] = { + 0x33, 0x61, 0xb4, 0x6f, 0xc0, 0x51, 0x20, 0x43, 0x02, 0x26, 0x4b, 0x97, + 0xb8, 0x54, 0x77, 0x07, +}; +static const unsigned char kat1677_addin1[] = { + 0x06, 0x47, 0x8f, 0xa6, 0x87, 0x46, 0x5e, 0x75, 0x94, 0x20, 0xea, 0xac, + 0x2c, 0x7d, 0x0a, 0xdd, +}; +static const unsigned char kat1677_retbits[] = { + 0x26, 0x05, 0xbb, 0xd7, 0xd0, 0xef, 0x8e, 0x2b, 0x3d, 0x8c, 0x57, 0x9e, + 0xb9, 0xf0, 0x60, 0x2c, 0xb0, 0x35, 0xcf, 0xd5, 0xe4, 0x66, 0xe4, 0xd5, + 0xa1, 0xe4, 0x0f, 0x92, 0x88, 0xbb, 0x06, 0xdc, 0x52, 0x89, 0x6c, 0xe3, + 0x41, 0xab, 0x39, 0xe2, 0x16, 0xce, 0x7b, 0x8b, 0x70, 0xd6, 0x2e, 0x1c, + 0xe0, 0x7b, 0xbc, 0x0a, 0x31, 0x17, 0x2f, 0xd1, 0x91, 0xf4, 0x00, 0xfd, + 0x2b, 0xfa, 0xfd, 0x47, +}; +static const struct drbg_kat_pr_false kat1677_t = { + 11, kat1677_entropyin, kat1677_nonce, kat1677_persstr, + kat1677_entropyinreseed, kat1677_addinreseed, kat1677_addin0, + kat1677_addin1, kat1677_retbits +}; +static const struct drbg_kat kat1677 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1677_t +}; + +static const unsigned char kat1678_entropyin[] = { + 0x7c, 0x5d, 0x54, 0x81, 0x65, 0x13, 0xa3, 0x18, 0xb3, 0x3a, 0xc6, 0x7e, + 0xd7, 0x14, 0x4d, 0x4c, +}; +static const unsigned char kat1678_nonce[] = { + 0x52, 0xbe, 0xc7, 0x8f, 0xae, 0xa5, 0xe1, 0xf6, +}; +static const unsigned char kat1678_persstr[] = { + 0x8a, 0x2f, 0x62, 0xb8, 0x33, 0x07, 0xbc, 0x52, 0xe7, 0xcf, 0xa4, 0xcf, + 0x81, 0x73, 0x6e, 0xfa, +}; +static const unsigned char kat1678_entropyinreseed[] = { + 0x19, 0x2f, 0x65, 0x31, 0x61, 0x7e, 0xc4, 0xba, 0xef, 0x6a, 0x30, 0x2e, + 0x18, 0xfe, 0x8a, 0x16, +}; +static const unsigned char kat1678_addinreseed[] = { + 0xf2, 0xac, 0xa1, 0xe5, 0xc0, 0x01, 0x77, 0x08, 0xfc, 0x78, 0x14, 0xcb, + 0x74, 0x8b, 0x09, 0x79, +}; +static const unsigned char kat1678_addin0[] = { + 0xff, 0x68, 0xc1, 0x94, 0x02, 0xe0, 0xcb, 0xae, 0x1a, 0x67, 0xf9, 0x8f, + 0xfd, 0x62, 0xf2, 0x5e, +}; +static const unsigned char kat1678_addin1[] = { + 0x2e, 0x89, 0x13, 0x4c, 0x16, 0xb5, 0xda, 0x0f, 0x57, 0x2a, 0x72, 0xe8, + 0xf7, 0x2b, 0xad, 0x03, +}; +static const unsigned char kat1678_retbits[] = { + 0x95, 0x9d, 0x50, 0x5f, 0x74, 0x2d, 0x5c, 0xfd, 0x4e, 0x57, 0x67, 0xab, + 0x75, 0xf4, 0x1a, 0x6a, 0x97, 0x86, 0x5b, 0x6a, 0x48, 0x91, 0x8a, 0x68, + 0xc9, 0x15, 0x5d, 0x9e, 0xe5, 0x61, 0x43, 0x96, 0x3c, 0x5f, 0xe0, 0x20, + 0x0e, 0xb3, 0xf7, 0x3e, 0x23, 0x4d, 0xdb, 0x0d, 0xf4, 0xbf, 0xe9, 0xa9, + 0x6b, 0x59, 0xc8, 0xd3, 0xdb, 0xc3, 0x24, 0xd4, 0x9a, 0x01, 0xe0, 0x11, + 0x3b, 0xfc, 0x0e, 0xae, +}; +static const struct drbg_kat_pr_false kat1678_t = { + 12, kat1678_entropyin, kat1678_nonce, kat1678_persstr, + kat1678_entropyinreseed, kat1678_addinreseed, kat1678_addin0, + kat1678_addin1, kat1678_retbits +}; +static const struct drbg_kat kat1678 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1678_t +}; + +static const unsigned char kat1679_entropyin[] = { + 0x59, 0x87, 0x0c, 0x27, 0x3d, 0x6d, 0x94, 0xa6, 0xa8, 0xa3, 0x8a, 0x2c, + 0x63, 0xba, 0x28, 0x82, +}; +static const unsigned char kat1679_nonce[] = { + 0x16, 0x76, 0x7b, 0x20, 0x36, 0x07, 0x63, 0x01, +}; +static const unsigned char kat1679_persstr[] = { + 0x1e, 0x4c, 0x01, 0xaf, 0x96, 0x95, 0x28, 0x84, 0x9f, 0xfa, 0xfb, 0x17, + 0x04, 0x4b, 0xbc, 0xd9, +}; +static const unsigned char kat1679_entropyinreseed[] = { + 0x4d, 0x83, 0x53, 0x75, 0x0d, 0xe1, 0x5b, 0xbc, 0x51, 0x0e, 0xe8, 0x9c, + 0x56, 0xd9, 0xb2, 0xcf, +}; +static const unsigned char kat1679_addinreseed[] = { + 0x58, 0xd4, 0x9d, 0x61, 0x04, 0x73, 0xcd, 0x1a, 0x0c, 0x02, 0x2e, 0x33, + 0x8e, 0x45, 0xc9, 0xc7, +}; +static const unsigned char kat1679_addin0[] = { + 0x2b, 0xc0, 0x10, 0x29, 0xd8, 0x19, 0x5d, 0x54, 0xf8, 0xac, 0xe2, 0x35, + 0x2c, 0x4b, 0xf1, 0x56, +}; +static const unsigned char kat1679_addin1[] = { + 0xdf, 0xdc, 0xb7, 0x8b, 0xcd, 0xa7, 0x7c, 0xf0, 0xa6, 0x36, 0xde, 0x21, + 0x84, 0x9b, 0xab, 0xc9, +}; +static const unsigned char kat1679_retbits[] = { + 0xdd, 0x24, 0xc8, 0x35, 0x59, 0x5f, 0xf6, 0x42, 0xfc, 0x2f, 0x23, 0x79, + 0xe3, 0x5f, 0x5c, 0xdd, 0x74, 0x95, 0x78, 0x38, 0x48, 0x61, 0x35, 0x64, + 0xd9, 0xb2, 0xbe, 0xf9, 0x62, 0x50, 0x4f, 0x2c, 0x76, 0x07, 0x50, 0x5e, + 0x09, 0x12, 0x2d, 0x63, 0xa2, 0xaa, 0x06, 0x78, 0xb9, 0x5f, 0x4d, 0x3c, + 0x3d, 0xd3, 0xc5, 0xf8, 0x5f, 0x1a, 0x1a, 0x0f, 0x55, 0x9e, 0xef, 0x23, + 0xdb, 0x00, 0x2f, 0xd7, +}; +static const struct drbg_kat_pr_false kat1679_t = { + 13, kat1679_entropyin, kat1679_nonce, kat1679_persstr, + kat1679_entropyinreseed, kat1679_addinreseed, kat1679_addin0, + kat1679_addin1, kat1679_retbits +}; +static const struct drbg_kat kat1679 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1679_t +}; + +static const unsigned char kat1680_entropyin[] = { + 0x03, 0xaf, 0x6c, 0x44, 0xc7, 0x10, 0x15, 0x44, 0xca, 0x78, 0x88, 0x83, + 0x1f, 0x3f, 0x9f, 0x95, +}; +static const unsigned char kat1680_nonce[] = { + 0x58, 0xd8, 0x0f, 0xc3, 0x78, 0x56, 0x93, 0x46, +}; +static const unsigned char kat1680_persstr[] = { + 0x7e, 0xc2, 0xb5, 0x97, 0xc8, 0x45, 0xae, 0x8b, 0xbb, 0x63, 0x60, 0x9a, + 0x80, 0xc2, 0xab, 0x4f, +}; +static const unsigned char kat1680_entropyinreseed[] = { + 0x41, 0x07, 0x37, 0xc3, 0xc6, 0x11, 0x2b, 0x51, 0x13, 0xf0, 0xef, 0x66, + 0xb0, 0xfa, 0x6a, 0x07, +}; +static const unsigned char kat1680_addinreseed[] = { + 0xae, 0x2c, 0xe6, 0xd1, 0xdb, 0xa5, 0x67, 0x75, 0xdb, 0x17, 0xb8, 0xc6, + 0xd9, 0x37, 0x9f, 0x14, +}; +static const unsigned char kat1680_addin0[] = { + 0x57, 0x86, 0x63, 0x75, 0x23, 0x8e, 0xa5, 0x6e, 0x97, 0xdd, 0x6a, 0xf8, + 0xc5, 0x01, 0x06, 0x18, +}; +static const unsigned char kat1680_addin1[] = { + 0x34, 0xa4, 0x49, 0xf8, 0x60, 0xc0, 0xc1, 0x8f, 0xdf, 0x85, 0x4b, 0x32, + 0xde, 0x57, 0x29, 0x17, +}; +static const unsigned char kat1680_retbits[] = { + 0x56, 0x4b, 0xd3, 0xb7, 0x7e, 0x4c, 0x3b, 0xdc, 0xb6, 0xc8, 0x5d, 0xb1, + 0x11, 0xf2, 0x94, 0x29, 0x3a, 0x47, 0x38, 0xd2, 0x00, 0x43, 0xda, 0x15, + 0x64, 0x9b, 0x8c, 0x94, 0xf1, 0x4e, 0xcd, 0xc7, 0x3f, 0xb7, 0x5d, 0x76, + 0x19, 0x71, 0xf3, 0xa8, 0xdc, 0x4f, 0x33, 0xf4, 0x5d, 0xf9, 0x7c, 0x0d, + 0x2b, 0xba, 0x4e, 0x4b, 0xe7, 0x4f, 0x52, 0x88, 0x73, 0x25, 0xb3, 0x00, + 0xff, 0x1e, 0x6d, 0x81, +}; +static const struct drbg_kat_pr_false kat1680_t = { + 14, kat1680_entropyin, kat1680_nonce, kat1680_persstr, + kat1680_entropyinreseed, kat1680_addinreseed, kat1680_addin0, + kat1680_addin1, kat1680_retbits +}; +static const struct drbg_kat kat1680 = { + PR_FALSE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat1680_t +}; + +static const unsigned char kat1681_entropyin[] = { + 0xb1, 0x1d, 0x8b, 0x10, 0x4a, 0x7c, 0xed, 0x9b, 0x9f, 0x37, 0xe5, 0xd9, + 0x2a, 0xd3, 0xdf, 0xcb, 0xb8, 0x17, 0x55, 0x2b, 0x1a, 0xe8, 0x8f, 0x6a, +}; +static const unsigned char kat1681_nonce[] = { + 0x01, 0x75, 0x10, 0xf2, 0x70, 0xc6, 0x65, 0x86, 0xa5, 0x13, 0x13, 0xea, + 0xdc, 0x32, 0xb0, 0x7e, +}; +static const unsigned char kat1681_persstr[] = {0}; +static const unsigned char kat1681_entropyinreseed[] = { + 0x6d, 0x14, 0xcf, 0xb3, 0x6f, 0x30, 0xc9, 0xc1, 0xa1, 0xba, 0x0e, 0x0a, + 0x32, 0xc2, 0xf9, 0x9d, 0x1b, 0x47, 0xf2, 0x19, 0xa3, 0xa8, 0xac, 0x14, +}; +static const unsigned char kat1681_addinreseed[] = {0}; +static const unsigned char kat1681_addin0[] = {0}; +static const unsigned char kat1681_addin1[] = {0}; +static const unsigned char kat1681_retbits[] = { + 0x53, 0xfb, 0xba, 0x56, 0x3a, 0xe0, 0x14, 0xeb, 0xc0, 0x80, 0x76, 0x7a, + 0xab, 0x84, 0x52, 0xa9, 0xf3, 0x6c, 0xe4, 0x0b, 0xbf, 0x68, 0xf1, 0xa1, + 0x2d, 0xc0, 0xa6, 0x38, 0x8c, 0x87, 0x0c, 0x8d, 0xfa, 0x42, 0x50, 0x52, + 0x6c, 0xbc, 0x8c, 0x98, 0x3f, 0xee, 0x64, 0x49, 0x90, 0x3c, 0x6b, 0xd7, + 0xc2, 0xc0, 0x2e, 0x32, 0x76, 0x80, 0xa6, 0x6b, 0x46, 0x42, 0x67, 0xed, + 0xbc, 0x4e, 0x67, 0x97, +}; +static const struct drbg_kat_pr_false kat1681_t = { + 0, kat1681_entropyin, kat1681_nonce, kat1681_persstr, + kat1681_entropyinreseed, kat1681_addinreseed, kat1681_addin0, + kat1681_addin1, kat1681_retbits +}; +static const struct drbg_kat kat1681 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1681_t +}; + +static const unsigned char kat1682_entropyin[] = { + 0x88, 0x0a, 0x7d, 0xee, 0x52, 0xba, 0x35, 0x83, 0x04, 0x42, 0x54, 0xbd, + 0xca, 0xe8, 0x9d, 0xb6, 0xf8, 0x45, 0x1e, 0x63, 0x19, 0x37, 0xfe, 0xcb, +}; +static const unsigned char kat1682_nonce[] = { + 0x82, 0x99, 0x9b, 0x1f, 0x66, 0x83, 0xa3, 0x0d, 0xdf, 0x52, 0x76, 0x59, + 0xdf, 0x47, 0x3e, 0x2f, +}; +static const unsigned char kat1682_persstr[] = {0}; +static const unsigned char kat1682_entropyinreseed[] = { + 0x11, 0x53, 0xcf, 0xd0, 0x90, 0x6d, 0x9d, 0x82, 0xf2, 0xb6, 0x73, 0xcc, + 0xdd, 0x92, 0x8e, 0xda, 0x89, 0x87, 0x05, 0x76, 0xc9, 0xc4, 0x78, 0xaf, +}; +static const unsigned char kat1682_addinreseed[] = {0}; +static const unsigned char kat1682_addin0[] = {0}; +static const unsigned char kat1682_addin1[] = {0}; +static const unsigned char kat1682_retbits[] = { + 0xa0, 0x79, 0x79, 0xb2, 0xae, 0xb6, 0xc4, 0x81, 0x95, 0xb9, 0x17, 0xeb, + 0xb4, 0xf3, 0xea, 0x4d, 0x24, 0x8e, 0x96, 0x24, 0xa9, 0x10, 0x01, 0x29, + 0x00, 0xeb, 0xbd, 0xff, 0x1a, 0xf4, 0xa9, 0x75, 0x40, 0x0d, 0xcc, 0x51, + 0x0a, 0x0f, 0x56, 0x6b, 0x02, 0x4a, 0x23, 0x82, 0x06, 0x28, 0x08, 0xcd, + 0x5b, 0x44, 0x39, 0xdc, 0xce, 0xaf, 0x7c, 0xe7, 0xe3, 0x83, 0x7d, 0xdf, + 0xc2, 0x5c, 0xb1, 0x66, +}; +static const struct drbg_kat_pr_false kat1682_t = { + 1, kat1682_entropyin, kat1682_nonce, kat1682_persstr, + kat1682_entropyinreseed, kat1682_addinreseed, kat1682_addin0, + kat1682_addin1, kat1682_retbits +}; +static const struct drbg_kat kat1682 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1682_t +}; + +static const unsigned char kat1683_entropyin[] = { + 0xb8, 0x5e, 0xa7, 0x67, 0x39, 0xba, 0xf8, 0x3c, 0x2c, 0xe4, 0x4c, 0x9c, + 0xb3, 0xb0, 0xd6, 0x55, 0xef, 0x36, 0x9c, 0x63, 0x14, 0x85, 0x05, 0xd2, +}; +static const unsigned char kat1683_nonce[] = { + 0xdc, 0xf5, 0xf6, 0x6c, 0x8d, 0xc3, 0xd9, 0x6e, 0x11, 0x7c, 0xa8, 0xb9, + 0x07, 0x56, 0x58, 0x79, +}; +static const unsigned char kat1683_persstr[] = {0}; +static const unsigned char kat1683_entropyinreseed[] = { + 0xbd, 0x67, 0xbd, 0x3f, 0xab, 0xaf, 0xd2, 0x98, 0xd8, 0xd2, 0xa3, 0x9e, + 0x7c, 0x88, 0x77, 0x88, 0x60, 0x9d, 0xc9, 0x0b, 0x00, 0xaa, 0xfa, 0xb3, +}; +static const unsigned char kat1683_addinreseed[] = {0}; +static const unsigned char kat1683_addin0[] = {0}; +static const unsigned char kat1683_addin1[] = {0}; +static const unsigned char kat1683_retbits[] = { + 0x7d, 0x6b, 0x36, 0x75, 0x26, 0xb2, 0xfc, 0xa3, 0x6b, 0x18, 0x43, 0xa5, + 0xf7, 0x43, 0xcf, 0xef, 0x02, 0xe1, 0xc4, 0x9f, 0x16, 0x07, 0x1d, 0x15, + 0x01, 0xf9, 0x1f, 0xfb, 0xd2, 0x4a, 0x03, 0xf5, 0xe0, 0xe6, 0x4f, 0xbf, + 0x55, 0x0b, 0x6c, 0x36, 0x6f, 0x5c, 0x05, 0x92, 0xbc, 0x83, 0xbd, 0xff, + 0xa5, 0xdb, 0x64, 0x89, 0x7b, 0xfc, 0x38, 0x42, 0x53, 0x54, 0xbe, 0xa3, + 0xe1, 0x78, 0x26, 0x1d, +}; +static const struct drbg_kat_pr_false kat1683_t = { + 2, kat1683_entropyin, kat1683_nonce, kat1683_persstr, + kat1683_entropyinreseed, kat1683_addinreseed, kat1683_addin0, + kat1683_addin1, kat1683_retbits +}; +static const struct drbg_kat kat1683 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1683_t +}; + +static const unsigned char kat1684_entropyin[] = { + 0x5c, 0x1c, 0x98, 0x76, 0x25, 0xe9, 0x1a, 0x8d, 0xa1, 0x4d, 0x9a, 0x48, + 0x27, 0xe8, 0x3e, 0x0a, 0x18, 0xb7, 0x15, 0x4c, 0xfc, 0xd2, 0xa2, 0xe6, +}; +static const unsigned char kat1684_nonce[] = { + 0xe7, 0x5d, 0x87, 0x38, 0xac, 0xef, 0x17, 0xff, 0x94, 0xa4, 0x80, 0x9e, + 0xde, 0xd5, 0xcc, 0x74, +}; +static const unsigned char kat1684_persstr[] = {0}; +static const unsigned char kat1684_entropyinreseed[] = { + 0x4d, 0xc9, 0xca, 0x6b, 0xf7, 0xc4, 0xe9, 0x14, 0xcc, 0xb7, 0x85, 0x63, + 0x9c, 0x80, 0xb0, 0x85, 0x38, 0xe6, 0x85, 0x9a, 0xe1, 0x60, 0xb1, 0xc1, +}; +static const unsigned char kat1684_addinreseed[] = {0}; +static const unsigned char kat1684_addin0[] = {0}; +static const unsigned char kat1684_addin1[] = {0}; +static const unsigned char kat1684_retbits[] = { + 0xd2, 0x3c, 0x44, 0xc8, 0x9c, 0xb4, 0xcf, 0x3a, 0x61, 0x9d, 0xf8, 0x0d, + 0xf7, 0x6c, 0x75, 0x25, 0xd3, 0x7f, 0x83, 0xbe, 0x93, 0xf7, 0x23, 0xf5, + 0x5f, 0x26, 0x63, 0x99, 0x69, 0xde, 0x8b, 0x12, 0xc6, 0x87, 0xf1, 0x7b, + 0x4d, 0x4c, 0x94, 0x7e, 0x6a, 0x53, 0xde, 0x7c, 0x0f, 0x7c, 0xdd, 0xde, + 0xf6, 0x21, 0x50, 0x21, 0x62, 0xa3, 0x4c, 0xee, 0x70, 0xd5, 0x1e, 0x14, + 0xe7, 0x9d, 0x85, 0x3c, +}; +static const struct drbg_kat_pr_false kat1684_t = { + 3, kat1684_entropyin, kat1684_nonce, kat1684_persstr, + kat1684_entropyinreseed, kat1684_addinreseed, kat1684_addin0, + kat1684_addin1, kat1684_retbits +}; +static const struct drbg_kat kat1684 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1684_t +}; + +static const unsigned char kat1685_entropyin[] = { + 0xcc, 0x15, 0xb7, 0x05, 0x89, 0xb3, 0xe4, 0x7b, 0x00, 0xa0, 0x8e, 0x17, + 0x18, 0x60, 0xcd, 0x24, 0x43, 0x55, 0xda, 0x6a, 0xd8, 0xe0, 0x5c, 0xac, +}; +static const unsigned char kat1685_nonce[] = { + 0x25, 0x65, 0x03, 0x30, 0x94, 0x68, 0x95, 0x5f, 0x40, 0x8d, 0xe1, 0xa1, + 0x88, 0x19, 0xe9, 0x8c, +}; +static const unsigned char kat1685_persstr[] = {0}; +static const unsigned char kat1685_entropyinreseed[] = { + 0x00, 0xd3, 0x94, 0xec, 0x9e, 0x37, 0xc1, 0x58, 0xb2, 0xb6, 0x5f, 0x43, + 0xf6, 0x91, 0x12, 0xe6, 0xb7, 0x5d, 0x6b, 0x19, 0x95, 0xd5, 0x6a, 0x2c, +}; +static const unsigned char kat1685_addinreseed[] = {0}; +static const unsigned char kat1685_addin0[] = {0}; +static const unsigned char kat1685_addin1[] = {0}; +static const unsigned char kat1685_retbits[] = { + 0x6c, 0xc2, 0x80, 0x59, 0x53, 0xbc, 0x5c, 0xfb, 0x9a, 0x26, 0x80, 0x8b, + 0x10, 0x93, 0x40, 0x01, 0xcf, 0xeb, 0x91, 0xa3, 0x7a, 0x2f, 0x7b, 0xb8, + 0xa9, 0x14, 0x13, 0x50, 0x0d, 0x69, 0x62, 0x02, 0x0b, 0x1a, 0xe0, 0xd1, + 0xea, 0xd6, 0x03, 0x89, 0x9e, 0xb2, 0x34, 0xa5, 0x1b, 0xeb, 0xea, 0x22, + 0x1a, 0x80, 0x3e, 0x1c, 0xec, 0x0f, 0x9c, 0xfd, 0x65, 0x06, 0x86, 0xee, + 0x14, 0xb0, 0xc5, 0xc3, +}; +static const struct drbg_kat_pr_false kat1685_t = { + 4, kat1685_entropyin, kat1685_nonce, kat1685_persstr, + kat1685_entropyinreseed, kat1685_addinreseed, kat1685_addin0, + kat1685_addin1, kat1685_retbits +}; +static const struct drbg_kat kat1685 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1685_t +}; + +static const unsigned char kat1686_entropyin[] = { + 0xf9, 0xb2, 0xfd, 0xd2, 0xed, 0xaa, 0x5f, 0x94, 0xef, 0xdc, 0xc3, 0xdc, + 0x97, 0xba, 0xfd, 0xa0, 0x14, 0x21, 0x0d, 0x62, 0xbe, 0x32, 0x9c, 0x18, +}; +static const unsigned char kat1686_nonce[] = { + 0x99, 0x86, 0x88, 0x05, 0xc0, 0xc3, 0x6b, 0xd2, 0x68, 0x65, 0x0a, 0x48, + 0xc6, 0xc8, 0x40, 0x83, +}; +static const unsigned char kat1686_persstr[] = {0}; +static const unsigned char kat1686_entropyinreseed[] = { + 0x95, 0xe4, 0x40, 0x07, 0xd9, 0xba, 0x0b, 0xeb, 0x99, 0xf8, 0x22, 0x08, + 0x52, 0xf8, 0x6f, 0xb3, 0x8c, 0xa6, 0x33, 0x31, 0xf8, 0x99, 0x15, 0xec, +}; +static const unsigned char kat1686_addinreseed[] = {0}; +static const unsigned char kat1686_addin0[] = {0}; +static const unsigned char kat1686_addin1[] = {0}; +static const unsigned char kat1686_retbits[] = { + 0xf6, 0x53, 0x8f, 0x8f, 0x69, 0x1a, 0xda, 0xa1, 0x17, 0x93, 0x8e, 0xfc, + 0x81, 0x88, 0x5f, 0x56, 0xff, 0xd9, 0xb4, 0x21, 0x03, 0x7b, 0x92, 0x4b, + 0xe2, 0xb6, 0xe2, 0x3d, 0x38, 0x51, 0xe4, 0x65, 0x0e, 0x03, 0xf0, 0xdd, + 0x7a, 0x44, 0xaf, 0xa4, 0x1a, 0x46, 0x0c, 0xce, 0xdc, 0x3b, 0x65, 0x96, + 0xdc, 0xb0, 0x49, 0xe9, 0x89, 0x56, 0x4b, 0x0f, 0xf5, 0xef, 0x6a, 0xdc, + 0xea, 0x82, 0xab, 0x01, +}; +static const struct drbg_kat_pr_false kat1686_t = { + 5, kat1686_entropyin, kat1686_nonce, kat1686_persstr, + kat1686_entropyinreseed, kat1686_addinreseed, kat1686_addin0, + kat1686_addin1, kat1686_retbits +}; +static const struct drbg_kat kat1686 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1686_t +}; + +static const unsigned char kat1687_entropyin[] = { + 0xa9, 0x79, 0x20, 0x82, 0x0f, 0x98, 0x69, 0xa4, 0x38, 0x75, 0xe3, 0xc2, + 0xc6, 0x46, 0x5a, 0xe5, 0xf8, 0xb0, 0x97, 0x6e, 0xc8, 0xb6, 0xf6, 0x56, +}; +static const unsigned char kat1687_nonce[] = { + 0x92, 0x7c, 0x2a, 0xad, 0x29, 0x09, 0x1d, 0x96, 0xa4, 0x5f, 0x28, 0x17, + 0x25, 0x30, 0xed, 0x77, +}; +static const unsigned char kat1687_persstr[] = {0}; +static const unsigned char kat1687_entropyinreseed[] = { + 0xdb, 0xdb, 0x21, 0x29, 0x8a, 0x35, 0x9c, 0x9c, 0xdf, 0x82, 0x0a, 0x04, + 0xb2, 0x86, 0xd8, 0x7c, 0xc0, 0xa0, 0x74, 0x96, 0xd9, 0xa4, 0x9a, 0x2e, +}; +static const unsigned char kat1687_addinreseed[] = {0}; +static const unsigned char kat1687_addin0[] = {0}; +static const unsigned char kat1687_addin1[] = {0}; +static const unsigned char kat1687_retbits[] = { + 0xde, 0x33, 0xef, 0xd6, 0x8a, 0x83, 0xc9, 0x1a, 0xdc, 0xdf, 0xe9, 0xbe, + 0x01, 0x97, 0xa7, 0x91, 0x2b, 0x0f, 0xf0, 0xc7, 0xff, 0x4d, 0x2f, 0xa3, + 0x8e, 0x6b, 0x1f, 0xe4, 0x27, 0xce, 0x77, 0x77, 0x5d, 0xd8, 0xa6, 0x6e, + 0x64, 0x06, 0x0a, 0x8e, 0x82, 0xfd, 0x3a, 0xfe, 0xf9, 0xa7, 0x3d, 0xea, + 0x82, 0xa5, 0x4a, 0x55, 0x4a, 0x20, 0xae, 0x31, 0x40, 0xc1, 0x6b, 0x8e, + 0xe3, 0x38, 0x95, 0x34, +}; +static const struct drbg_kat_pr_false kat1687_t = { + 6, kat1687_entropyin, kat1687_nonce, kat1687_persstr, + kat1687_entropyinreseed, kat1687_addinreseed, kat1687_addin0, + kat1687_addin1, kat1687_retbits +}; +static const struct drbg_kat kat1687 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1687_t +}; + +static const unsigned char kat1688_entropyin[] = { + 0x94, 0x85, 0x54, 0x25, 0xe8, 0x28, 0xce, 0x1f, 0x2e, 0x05, 0x11, 0x14, + 0xa9, 0x0f, 0xa1, 0xea, 0x86, 0xda, 0xfd, 0x8f, 0x2a, 0xa5, 0x8e, 0xba, +}; +static const unsigned char kat1688_nonce[] = { + 0x97, 0x9a, 0x8c, 0xdb, 0xad, 0xf8, 0x44, 0x66, 0x5b, 0x13, 0xad, 0x19, + 0x76, 0x9d, 0xa9, 0x09, +}; +static const unsigned char kat1688_persstr[] = {0}; +static const unsigned char kat1688_entropyinreseed[] = { + 0x69, 0x5a, 0x5c, 0xd7, 0x98, 0x66, 0xa7, 0x2e, 0x2b, 0xd2, 0xb4, 0xb6, + 0x1b, 0xe0, 0x70, 0x8a, 0x4e, 0xa7, 0x95, 0x80, 0x49, 0x4d, 0x1b, 0xd5, +}; +static const unsigned char kat1688_addinreseed[] = {0}; +static const unsigned char kat1688_addin0[] = {0}; +static const unsigned char kat1688_addin1[] = {0}; +static const unsigned char kat1688_retbits[] = { + 0x4b, 0x9f, 0x91, 0x05, 0x56, 0xcf, 0xb4, 0x5d, 0x3b, 0x3a, 0x0b, 0xa9, + 0x45, 0xe2, 0x72, 0xd8, 0x1e, 0x36, 0x15, 0x97, 0xe3, 0xa2, 0x60, 0x63, + 0xb3, 0x86, 0x2e, 0xc5, 0xba, 0x6a, 0x5e, 0x9e, 0xe7, 0xc7, 0xd7, 0x70, + 0xe7, 0xbb, 0xce, 0x70, 0x3e, 0x6e, 0xeb, 0x68, 0xd6, 0xeb, 0x12, 0x73, + 0x5a, 0x19, 0x6c, 0xd2, 0x01, 0xb5, 0xbc, 0x9f, 0x2c, 0xeb, 0x30, 0x4b, + 0xa6, 0x4b, 0x66, 0x5c, +}; +static const struct drbg_kat_pr_false kat1688_t = { + 7, kat1688_entropyin, kat1688_nonce, kat1688_persstr, + kat1688_entropyinreseed, kat1688_addinreseed, kat1688_addin0, + kat1688_addin1, kat1688_retbits +}; +static const struct drbg_kat kat1688 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1688_t +}; + +static const unsigned char kat1689_entropyin[] = { + 0xf1, 0xa7, 0x52, 0xeb, 0x2b, 0x86, 0x93, 0x23, 0x48, 0x48, 0x64, 0xe2, + 0x28, 0x5c, 0x08, 0xf2, 0x3b, 0xc5, 0x1c, 0xed, 0x55, 0x10, 0xc0, 0x53, +}; +static const unsigned char kat1689_nonce[] = { + 0xcb, 0xfb, 0x38, 0x85, 0xad, 0x9e, 0xb3, 0xdd, 0xb2, 0x88, 0x53, 0x29, + 0x03, 0x0c, 0x20, 0xb3, +}; +static const unsigned char kat1689_persstr[] = {0}; +static const unsigned char kat1689_entropyinreseed[] = { + 0x1a, 0xbe, 0x3a, 0xe3, 0x4c, 0x0a, 0x9b, 0x5d, 0xf6, 0x0f, 0xc7, 0xaf, + 0x7a, 0x8f, 0x65, 0xc3, 0xb7, 0x65, 0x70, 0x9c, 0x2f, 0xce, 0xed, 0x3b, +}; +static const unsigned char kat1689_addinreseed[] = {0}; +static const unsigned char kat1689_addin0[] = {0}; +static const unsigned char kat1689_addin1[] = {0}; +static const unsigned char kat1689_retbits[] = { + 0x75, 0xa3, 0xe6, 0xe4, 0x51, 0x7a, 0x30, 0x26, 0xf1, 0x1f, 0xc6, 0x19, + 0x1a, 0x32, 0x8a, 0xbd, 0xf9, 0x16, 0x6b, 0xf5, 0xe9, 0x00, 0x10, 0xc1, + 0xe8, 0x33, 0x2e, 0x4a, 0x59, 0x3e, 0x4e, 0x49, 0x31, 0xd6, 0xaf, 0x12, + 0x9e, 0xe2, 0x50, 0xd5, 0x65, 0x4c, 0x6a, 0x9b, 0x60, 0x1b, 0xe6, 0xee, + 0xd2, 0xd6, 0x71, 0x19, 0xa7, 0xcd, 0x22, 0x22, 0x1e, 0x68, 0xdb, 0xb9, + 0xd7, 0x13, 0xd1, 0x38, +}; +static const struct drbg_kat_pr_false kat1689_t = { + 8, kat1689_entropyin, kat1689_nonce, kat1689_persstr, + kat1689_entropyinreseed, kat1689_addinreseed, kat1689_addin0, + kat1689_addin1, kat1689_retbits +}; +static const struct drbg_kat kat1689 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1689_t +}; + +static const unsigned char kat1690_entropyin[] = { + 0xea, 0xc1, 0x5d, 0x41, 0x87, 0xdb, 0x3c, 0x65, 0x6f, 0x3c, 0xa8, 0x2c, + 0xad, 0xf3, 0xb8, 0x22, 0xe7, 0x92, 0xab, 0xd7, 0x7d, 0x07, 0x62, 0x09, +}; +static const unsigned char kat1690_nonce[] = { + 0x07, 0x94, 0xcd, 0x4c, 0x85, 0x6c, 0x3b, 0x06, 0xe5, 0xa0, 0x8c, 0x01, + 0xa2, 0xf7, 0x33, 0x9b, +}; +static const unsigned char kat1690_persstr[] = {0}; +static const unsigned char kat1690_entropyinreseed[] = { + 0xdf, 0x9f, 0x05, 0x09, 0x9f, 0x04, 0x92, 0xb2, 0x85, 0xd6, 0x79, 0x1d, + 0xb7, 0x03, 0x89, 0xa4, 0x12, 0xaf, 0x2e, 0x9b, 0xb4, 0x97, 0x18, 0xd9, +}; +static const unsigned char kat1690_addinreseed[] = {0}; +static const unsigned char kat1690_addin0[] = {0}; +static const unsigned char kat1690_addin1[] = {0}; +static const unsigned char kat1690_retbits[] = { + 0x38, 0x95, 0xe8, 0xb2, 0x75, 0x1c, 0xac, 0x3d, 0xcb, 0xaa, 0x9c, 0x06, + 0xb9, 0x8d, 0x4b, 0xb4, 0x8f, 0xc7, 0xdf, 0xf1, 0x75, 0xad, 0xb4, 0xfe, + 0x9e, 0x8d, 0xde, 0x5e, 0x76, 0x1f, 0x9c, 0x5f, 0x9d, 0x7c, 0x92, 0xc4, + 0xe8, 0x32, 0x0c, 0x9d, 0x6f, 0xd2, 0x7b, 0x48, 0x71, 0x3b, 0x39, 0x01, + 0x2b, 0x67, 0x15, 0x4c, 0x15, 0xea, 0x0b, 0xe1, 0xd0, 0xb9, 0xb4, 0x52, + 0x3c, 0xd8, 0x2e, 0x52, +}; +static const struct drbg_kat_pr_false kat1690_t = { + 9, kat1690_entropyin, kat1690_nonce, kat1690_persstr, + kat1690_entropyinreseed, kat1690_addinreseed, kat1690_addin0, + kat1690_addin1, kat1690_retbits +}; +static const struct drbg_kat kat1690 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1690_t +}; + +static const unsigned char kat1691_entropyin[] = { + 0x8e, 0xc7, 0x70, 0x27, 0x54, 0x86, 0x31, 0x64, 0x65, 0xf6, 0xdd, 0x0a, + 0x82, 0xd5, 0xa5, 0xf7, 0x52, 0x93, 0x92, 0xca, 0x59, 0xda, 0xe5, 0x72, +}; +static const unsigned char kat1691_nonce[] = { + 0x68, 0xe5, 0xb6, 0xbe, 0xf9, 0xb2, 0x21, 0x84, 0x87, 0x25, 0x04, 0xb2, + 0xb8, 0xb1, 0xbc, 0x63, +}; +static const unsigned char kat1691_persstr[] = {0}; +static const unsigned char kat1691_entropyinreseed[] = { + 0x06, 0x6b, 0xba, 0xb8, 0x85, 0xdb, 0xec, 0x60, 0xa4, 0x00, 0x5b, 0xdf, + 0x1b, 0x26, 0xae, 0x24, 0x05, 0xb0, 0xf0, 0x89, 0xcd, 0x72, 0xb4, 0x70, +}; +static const unsigned char kat1691_addinreseed[] = {0}; +static const unsigned char kat1691_addin0[] = {0}; +static const unsigned char kat1691_addin1[] = {0}; +static const unsigned char kat1691_retbits[] = { + 0xe2, 0x37, 0xd1, 0x4f, 0xa1, 0xde, 0x2d, 0xb1, 0xee, 0xed, 0x8d, 0x56, + 0x12, 0xe6, 0x40, 0x11, 0x61, 0x2b, 0x92, 0x9a, 0x59, 0x55, 0x8e, 0xb1, + 0x1a, 0xfa, 0xe1, 0xe8, 0xab, 0x01, 0x0f, 0x9a, 0xca, 0xf6, 0x97, 0x0b, + 0x86, 0x12, 0xd7, 0x6c, 0xb9, 0x82, 0xbf, 0x8b, 0xd0, 0x59, 0x7a, 0x6c, + 0xf1, 0x45, 0x0f, 0x5a, 0xf4, 0x60, 0x48, 0xf3, 0x76, 0x88, 0x96, 0x54, + 0x05, 0x18, 0xd3, 0x6e, +}; +static const struct drbg_kat_pr_false kat1691_t = { + 10, kat1691_entropyin, kat1691_nonce, kat1691_persstr, + kat1691_entropyinreseed, kat1691_addinreseed, kat1691_addin0, + kat1691_addin1, kat1691_retbits +}; +static const struct drbg_kat kat1691 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1691_t +}; + +static const unsigned char kat1692_entropyin[] = { + 0x4d, 0x8f, 0x48, 0xad, 0xd2, 0xe4, 0x3f, 0x33, 0xe9, 0x7b, 0xf4, 0xa0, + 0x47, 0xc0, 0xfb, 0xf4, 0xb6, 0x9f, 0xc6, 0x16, 0x95, 0x10, 0x26, 0x25, +}; +static const unsigned char kat1692_nonce[] = { + 0x7f, 0xb4, 0xe4, 0xb5, 0xe5, 0xc0, 0x25, 0x82, 0x26, 0x2f, 0x9c, 0x1a, + 0xe6, 0xe3, 0x21, 0x4e, +}; +static const unsigned char kat1692_persstr[] = {0}; +static const unsigned char kat1692_entropyinreseed[] = { + 0x38, 0x7a, 0x88, 0x88, 0x56, 0x59, 0x27, 0xa2, 0x26, 0x22, 0x51, 0xd1, + 0x37, 0x18, 0xe8, 0x97, 0xda, 0x8d, 0xdc, 0x41, 0xa5, 0x95, 0xa1, 0xc8, +}; +static const unsigned char kat1692_addinreseed[] = {0}; +static const unsigned char kat1692_addin0[] = {0}; +static const unsigned char kat1692_addin1[] = {0}; +static const unsigned char kat1692_retbits[] = { + 0x2b, 0x5c, 0x7c, 0x6d, 0x83, 0x9e, 0x83, 0xf5, 0x6e, 0x6e, 0x40, 0xe0, + 0x6f, 0xf1, 0x7f, 0xc2, 0x2e, 0xb1, 0x25, 0x0d, 0xd3, 0xa1, 0xda, 0x76, + 0xf2, 0xd6, 0xed, 0x8b, 0x23, 0x69, 0x6f, 0x2c, 0x10, 0x62, 0xdd, 0x1e, + 0x64, 0xae, 0xa7, 0x63, 0xe4, 0x55, 0x83, 0x5d, 0xbe, 0x68, 0xcb, 0x58, + 0xcc, 0xce, 0x0a, 0xc2, 0x61, 0x01, 0xa3, 0xed, 0xf0, 0xd6, 0x56, 0x0a, + 0x57, 0xbe, 0x2f, 0x28, +}; +static const struct drbg_kat_pr_false kat1692_t = { + 11, kat1692_entropyin, kat1692_nonce, kat1692_persstr, + kat1692_entropyinreseed, kat1692_addinreseed, kat1692_addin0, + kat1692_addin1, kat1692_retbits +}; +static const struct drbg_kat kat1692 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1692_t +}; + +static const unsigned char kat1693_entropyin[] = { + 0xe2, 0xa3, 0x0f, 0xa3, 0xcb, 0x3e, 0x33, 0xb9, 0x7d, 0x83, 0xd0, 0xd3, + 0xaa, 0x2d, 0xf4, 0x05, 0x37, 0x72, 0x91, 0xe9, 0x92, 0x0f, 0x3b, 0x26, +}; +static const unsigned char kat1693_nonce[] = { + 0x41, 0xa5, 0xe7, 0x4c, 0x8f, 0x19, 0x6a, 0x5d, 0xa2, 0xb4, 0xd9, 0x04, + 0x3e, 0x24, 0xcd, 0x42, +}; +static const unsigned char kat1693_persstr[] = {0}; +static const unsigned char kat1693_entropyinreseed[] = { + 0x15, 0xf0, 0x86, 0x37, 0xda, 0xa6, 0x57, 0x92, 0x70, 0xd8, 0x7b, 0x0c, + 0x7b, 0xeb, 0x81, 0xc3, 0x20, 0x98, 0x12, 0x15, 0xfd, 0x58, 0xa1, 0x06, +}; +static const unsigned char kat1693_addinreseed[] = {0}; +static const unsigned char kat1693_addin0[] = {0}; +static const unsigned char kat1693_addin1[] = {0}; +static const unsigned char kat1693_retbits[] = { + 0xaa, 0x1c, 0x37, 0x50, 0x3f, 0xea, 0x02, 0xa1, 0xc9, 0xd7, 0x72, 0x4b, + 0xc2, 0x8b, 0x82, 0x42, 0x46, 0xbf, 0x62, 0x03, 0x29, 0xba, 0x2f, 0x8b, + 0x4d, 0x3a, 0xa9, 0x9a, 0x8b, 0x5a, 0xd3, 0xaa, 0x47, 0x38, 0xd5, 0xb6, + 0x39, 0xa9, 0xe1, 0x73, 0x4e, 0x52, 0x08, 0x7f, 0x4d, 0xa1, 0x0f, 0x7c, + 0x29, 0x31, 0x54, 0x92, 0x3b, 0x60, 0x81, 0x90, 0xa2, 0x9e, 0x6a, 0x0d, + 0xf7, 0x6e, 0x56, 0x2f, +}; +static const struct drbg_kat_pr_false kat1693_t = { + 12, kat1693_entropyin, kat1693_nonce, kat1693_persstr, + kat1693_entropyinreseed, kat1693_addinreseed, kat1693_addin0, + kat1693_addin1, kat1693_retbits +}; +static const struct drbg_kat kat1693 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1693_t +}; + +static const unsigned char kat1694_entropyin[] = { + 0x91, 0xf9, 0x69, 0x7b, 0xb5, 0x08, 0x6f, 0x33, 0x15, 0xf5, 0xab, 0x85, + 0xde, 0x1e, 0x1f, 0xb3, 0xc1, 0xcf, 0xa8, 0x43, 0xdb, 0xae, 0x5a, 0x0e, +}; +static const unsigned char kat1694_nonce[] = { + 0xa2, 0xe5, 0xca, 0x73, 0x00, 0x77, 0x76, 0x9e, 0x3a, 0xb6, 0x52, 0xb5, + 0x03, 0x83, 0x02, 0x47, +}; +static const unsigned char kat1694_persstr[] = {0}; +static const unsigned char kat1694_entropyinreseed[] = { + 0xfe, 0x30, 0x47, 0x16, 0xbf, 0xe5, 0xa4, 0xf0, 0xc6, 0x12, 0x94, 0x6f, + 0x52, 0xb3, 0xbd, 0xea, 0x06, 0xf9, 0x12, 0xd2, 0x23, 0x15, 0x24, 0xd2, +}; +static const unsigned char kat1694_addinreseed[] = {0}; +static const unsigned char kat1694_addin0[] = {0}; +static const unsigned char kat1694_addin1[] = {0}; +static const unsigned char kat1694_retbits[] = { + 0xfc, 0xd9, 0x4f, 0x13, 0x8b, 0x88, 0xaa, 0x2e, 0x49, 0x8f, 0x75, 0x52, + 0x34, 0x5b, 0x25, 0x3a, 0xa6, 0xff, 0xe0, 0xbc, 0x15, 0x98, 0x80, 0x37, + 0x9f, 0xe7, 0x39, 0xc3, 0x60, 0x92, 0x29, 0x4d, 0xe2, 0x8d, 0x7f, 0xa7, + 0xbb, 0xb5, 0x74, 0x26, 0x6f, 0x50, 0x05, 0x99, 0x8b, 0x1a, 0xd1, 0xf2, + 0x94, 0x2b, 0x0e, 0x8f, 0xf1, 0x8c, 0xb6, 0xb3, 0x7e, 0x2f, 0x0c, 0xbf, + 0x45, 0xc0, 0x30, 0x1a, +}; +static const struct drbg_kat_pr_false kat1694_t = { + 13, kat1694_entropyin, kat1694_nonce, kat1694_persstr, + kat1694_entropyinreseed, kat1694_addinreseed, kat1694_addin0, + kat1694_addin1, kat1694_retbits +}; +static const struct drbg_kat kat1694 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1694_t +}; + +static const unsigned char kat1695_entropyin[] = { + 0xf3, 0x92, 0x2c, 0xf4, 0x22, 0x17, 0x4c, 0xe2, 0x6b, 0x0b, 0x69, 0x1d, + 0xf1, 0xc8, 0xd4, 0x4e, 0xfd, 0x46, 0xaa, 0xef, 0xa6, 0x20, 0xc2, 0x04, +}; +static const unsigned char kat1695_nonce[] = { + 0x54, 0x29, 0x0f, 0x52, 0x02, 0xde, 0x67, 0x1c, 0x30, 0xd7, 0x81, 0x97, + 0x55, 0x25, 0x74, 0x94, +}; +static const unsigned char kat1695_persstr[] = {0}; +static const unsigned char kat1695_entropyinreseed[] = { + 0xc7, 0xdb, 0xf7, 0xf1, 0x16, 0x1d, 0x35, 0x51, 0xc3, 0xb6, 0xe3, 0x60, + 0xca, 0x73, 0x21, 0x31, 0xc0, 0x4f, 0xd5, 0xe1, 0xa4, 0x3f, 0x9a, 0xff, +}; +static const unsigned char kat1695_addinreseed[] = {0}; +static const unsigned char kat1695_addin0[] = {0}; +static const unsigned char kat1695_addin1[] = {0}; +static const unsigned char kat1695_retbits[] = { + 0x11, 0x4e, 0xb9, 0x2d, 0x66, 0x78, 0x66, 0x79, 0xdc, 0xc9, 0xea, 0x1a, + 0xfa, 0x04, 0xe4, 0xba, 0xfb, 0x83, 0xab, 0x94, 0xf3, 0x38, 0xb3, 0xbd, + 0xc4, 0x0f, 0xf6, 0x6b, 0xeb, 0xf1, 0xc4, 0x6f, 0x73, 0x6d, 0x6a, 0x91, + 0x2a, 0xc3, 0xe3, 0xe7, 0x9c, 0x5b, 0x0e, 0x14, 0x92, 0x7f, 0xbe, 0xfb, + 0x59, 0xcd, 0x80, 0x5a, 0xd5, 0x51, 0x5c, 0x50, 0x19, 0x23, 0xdc, 0x47, + 0xd6, 0x45, 0x6e, 0x64, +}; +static const struct drbg_kat_pr_false kat1695_t = { + 14, kat1695_entropyin, kat1695_nonce, kat1695_persstr, + kat1695_entropyinreseed, kat1695_addinreseed, kat1695_addin0, + kat1695_addin1, kat1695_retbits +}; +static const struct drbg_kat kat1695 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1695_t +}; + +static const unsigned char kat1696_entropyin[] = { + 0x3a, 0x09, 0xc9, 0xcc, 0x5e, 0x01, 0xf1, 0x52, 0xea, 0x2e, 0xd3, 0x02, + 0x1d, 0x49, 0xb4, 0xd6, 0x38, 0x6a, 0xa6, 0xf0, 0x45, 0x21, 0xeb, 0xde, +}; +static const unsigned char kat1696_nonce[] = { + 0x49, 0x0b, 0xd4, 0xee, 0x62, 0x8c, 0xf9, 0x61, 0x50, 0x35, 0x54, 0x3e, + 0x70, 0xfc, 0xe4, 0xe2, +}; +static const unsigned char kat1696_persstr[] = {0}; +static const unsigned char kat1696_entropyinreseed[] = { + 0xdf, 0x06, 0xe5, 0x66, 0x8d, 0x41, 0xa6, 0xfa, 0x76, 0x60, 0xae, 0xf4, + 0x77, 0xef, 0xf7, 0xa0, 0xff, 0xc0, 0x54, 0x2c, 0x1c, 0xd4, 0x06, 0xd5, +}; +static const unsigned char kat1696_addinreseed[] = { + 0x59, 0xb8, 0xc2, 0x66, 0x26, 0xaa, 0xb6, 0x9e, 0x46, 0x27, 0x52, 0x72, + 0x2f, 0x19, 0x45, 0x0d, 0x12, 0xe2, 0xc0, 0xe9, 0x59, 0x88, 0x2d, 0x4d, + 0x06, 0xef, 0x41, 0x77, 0xe3, 0x96, 0x85, 0x5d, +}; +static const unsigned char kat1696_addin0[] = { + 0x28, 0xe5, 0x7a, 0x91, 0x28, 0xe4, 0x79, 0x98, 0x5c, 0xce, 0x39, 0x1e, + 0x98, 0x12, 0x7f, 0xd1, 0x26, 0xf3, 0x7a, 0xd0, 0xf3, 0x17, 0xfd, 0x5f, + 0x97, 0xb8, 0xc1, 0x8e, 0x76, 0x2f, 0x36, 0x0b, +}; +static const unsigned char kat1696_addin1[] = { + 0xd4, 0x88, 0x67, 0x2b, 0x52, 0xe8, 0x67, 0x81, 0x61, 0x78, 0x36, 0x9f, + 0x54, 0x21, 0x90, 0x68, 0x5b, 0xbe, 0x86, 0x72, 0x72, 0x0c, 0x19, 0x43, + 0xd8, 0xa4, 0x37, 0x8c, 0xc9, 0xb9, 0xdd, 0x0c, +}; +static const unsigned char kat1696_retbits[] = { + 0x5c, 0x23, 0x3e, 0x28, 0x50, 0xe4, 0x98, 0x1b, 0xab, 0x0f, 0x65, 0x13, + 0xa7, 0x6c, 0xa2, 0xc9, 0xf9, 0xf9, 0x7b, 0x89, 0xb7, 0xfe, 0xdd, 0x3d, + 0x9a, 0xaf, 0xfe, 0xcf, 0x30, 0x5d, 0x89, 0xfd, 0x53, 0x06, 0xcf, 0x24, + 0x71, 0x58, 0x95, 0xad, 0x9b, 0xa7, 0xda, 0xc8, 0xc3, 0x89, 0xfd, 0x87, + 0xf9, 0x5b, 0x49, 0x73, 0x00, 0x31, 0x50, 0x87, 0x1f, 0xa2, 0x81, 0xe9, + 0x62, 0xf2, 0x70, 0xcb, +}; +static const struct drbg_kat_pr_false kat1696_t = { + 0, kat1696_entropyin, kat1696_nonce, kat1696_persstr, + kat1696_entropyinreseed, kat1696_addinreseed, kat1696_addin0, + kat1696_addin1, kat1696_retbits +}; +static const struct drbg_kat kat1696 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1696_t +}; + +static const unsigned char kat1697_entropyin[] = { + 0x60, 0x2a, 0x92, 0x35, 0x7a, 0x43, 0x37, 0xc3, 0xd4, 0x2c, 0x29, 0x83, + 0x84, 0xc2, 0x9c, 0x1e, 0x04, 0x8d, 0x30, 0xc1, 0x14, 0x6d, 0xce, 0xd6, +}; +static const unsigned char kat1697_nonce[] = { + 0x86, 0x9e, 0x7d, 0x82, 0xde, 0xc9, 0xe9, 0x2c, 0x07, 0xd2, 0xc6, 0x58, + 0xbc, 0x86, 0x7d, 0xcd, +}; +static const unsigned char kat1697_persstr[] = {0}; +static const unsigned char kat1697_entropyinreseed[] = { + 0x08, 0x8c, 0x0a, 0xbf, 0x63, 0x34, 0x6b, 0xd6, 0xa7, 0xfc, 0x75, 0x42, + 0xdf, 0xf6, 0x0f, 0x12, 0xcf, 0x55, 0xfd, 0x32, 0x0f, 0xfb, 0x60, 0x75, +}; +static const unsigned char kat1697_addinreseed[] = { + 0xe2, 0x8e, 0xcb, 0xbe, 0x64, 0x61, 0xc6, 0xc1, 0x3b, 0x85, 0x6e, 0xb6, + 0xfd, 0x97, 0x1b, 0x00, 0x0d, 0xf6, 0xf4, 0xca, 0x6f, 0xad, 0xa0, 0x59, + 0xb6, 0x20, 0x1c, 0x65, 0x82, 0x66, 0x22, 0x5b, +}; +static const unsigned char kat1697_addin0[] = { + 0x1a, 0x1b, 0xfb, 0x70, 0x32, 0xf9, 0xaa, 0x19, 0x78, 0x42, 0xef, 0x9a, + 0x5b, 0xb3, 0x33, 0xd6, 0x4b, 0x23, 0xe5, 0x0b, 0x87, 0x8f, 0xe9, 0x6c, + 0x36, 0x34, 0x3e, 0x45, 0x64, 0x2f, 0x94, 0xd1, +}; +static const unsigned char kat1697_addin1[] = { + 0x6c, 0x59, 0x6c, 0x81, 0x94, 0xae, 0x83, 0x89, 0x04, 0x18, 0x8d, 0x3e, + 0x8c, 0xaf, 0x89, 0x5f, 0xa2, 0xb2, 0xf5, 0x23, 0x54, 0x45, 0x29, 0xa3, + 0xdf, 0x54, 0xad, 0x5e, 0xd7, 0x34, 0x97, 0x60, +}; +static const unsigned char kat1697_retbits[] = { + 0x1a, 0x40, 0xcd, 0xed, 0x46, 0xf0, 0xff, 0x78, 0x09, 0x14, 0x9e, 0x1e, + 0xd8, 0xfd, 0xa8, 0x3b, 0x18, 0xdc, 0xd1, 0xdb, 0xcb, 0x5d, 0xf7, 0xb2, + 0xb4, 0xe2, 0xeb, 0xd8, 0x76, 0xea, 0x6e, 0xf3, 0xdd, 0x53, 0x52, 0x8f, + 0x90, 0x96, 0x7b, 0xcd, 0x8f, 0xae, 0xb6, 0x3f, 0xbe, 0x5b, 0xe1, 0x83, + 0x8a, 0xf3, 0x78, 0x57, 0xc1, 0xd0, 0x10, 0x70, 0x4a, 0x59, 0x7d, 0x24, + 0x5d, 0xb5, 0x7e, 0x57, +}; +static const struct drbg_kat_pr_false kat1697_t = { + 1, kat1697_entropyin, kat1697_nonce, kat1697_persstr, + kat1697_entropyinreseed, kat1697_addinreseed, kat1697_addin0, + kat1697_addin1, kat1697_retbits +}; +static const struct drbg_kat kat1697 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1697_t +}; + +static const unsigned char kat1698_entropyin[] = { + 0xac, 0xce, 0xfe, 0x82, 0xaf, 0x41, 0x4c, 0x24, 0x92, 0xb0, 0x2d, 0xde, + 0x59, 0x70, 0x5f, 0x01, 0x5c, 0x78, 0x02, 0x7a, 0x8e, 0xec, 0x11, 0x3d, +}; +static const unsigned char kat1698_nonce[] = { + 0x51, 0x34, 0x07, 0x5d, 0x95, 0x14, 0xb4, 0x66, 0xce, 0x11, 0xf4, 0x73, + 0x29, 0x81, 0x81, 0x23, +}; +static const unsigned char kat1698_persstr[] = {0}; +static const unsigned char kat1698_entropyinreseed[] = { + 0x77, 0x95, 0x0e, 0x14, 0xe3, 0x2d, 0x96, 0x65, 0xec, 0x60, 0x30, 0x8c, + 0x1b, 0x47, 0x32, 0xfc, 0x51, 0xf7, 0xc6, 0xfd, 0xc2, 0x7a, 0x04, 0x37, +}; +static const unsigned char kat1698_addinreseed[] = { + 0xa4, 0x68, 0xa6, 0x85, 0xd2, 0x7e, 0xb4, 0xbf, 0x61, 0xfc, 0xff, 0x6c, + 0xe5, 0x91, 0xc5, 0x57, 0x9f, 0x9a, 0x22, 0x10, 0x48, 0x15, 0xbc, 0x34, + 0x1b, 0x41, 0x1e, 0xa1, 0x61, 0x0a, 0xb5, 0x1f, +}; +static const unsigned char kat1698_addin0[] = { + 0x13, 0xce, 0xdd, 0xac, 0x15, 0x04, 0x76, 0xa1, 0x36, 0x4b, 0x9f, 0x70, + 0x0e, 0xc7, 0xa3, 0xae, 0x02, 0x62, 0x9b, 0x9a, 0xa4, 0x41, 0xa5, 0x59, + 0x05, 0x7b, 0x65, 0x49, 0xa1, 0x33, 0xe4, 0x96, +}; +static const unsigned char kat1698_addin1[] = { + 0x90, 0x84, 0x2d, 0x71, 0xb9, 0xc5, 0x97, 0xff, 0xd3, 0x07, 0xb5, 0xa9, + 0xe1, 0xb7, 0x35, 0x5f, 0x73, 0x0f, 0xa3, 0x0b, 0xdc, 0x42, 0x42, 0x5c, + 0xb0, 0x1c, 0x9b, 0x94, 0x15, 0x21, 0xcc, 0x54, +}; +static const unsigned char kat1698_retbits[] = { + 0x77, 0x4f, 0xff, 0x12, 0x1f, 0x3b, 0x7c, 0x9b, 0xbc, 0xdf, 0x84, 0x44, + 0x97, 0x21, 0x2d, 0xa4, 0x7a, 0x83, 0xce, 0xc4, 0x76, 0xf0, 0x9b, 0xca, + 0x3e, 0x19, 0x89, 0xe5, 0x4d, 0xe0, 0x11, 0x6f, 0x3f, 0x25, 0xab, 0x24, + 0x76, 0x84, 0xfb, 0xd0, 0xb5, 0xb5, 0x9a, 0xd1, 0xbd, 0xa0, 0x77, 0x3f, + 0xa0, 0x06, 0xd6, 0x04, 0x9d, 0xfb, 0x0e, 0xaf, 0xdb, 0xab, 0xf4, 0xbe, + 0x05, 0xbe, 0xc4, 0x55, +}; +static const struct drbg_kat_pr_false kat1698_t = { + 2, kat1698_entropyin, kat1698_nonce, kat1698_persstr, + kat1698_entropyinreseed, kat1698_addinreseed, kat1698_addin0, + kat1698_addin1, kat1698_retbits +}; +static const struct drbg_kat kat1698 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1698_t +}; + +static const unsigned char kat1699_entropyin[] = { + 0xf8, 0xaf, 0x59, 0x4a, 0xf0, 0xd5, 0x73, 0x4e, 0x80, 0x2d, 0xc1, 0xf3, + 0x47, 0xc0, 0x2f, 0x5f, 0xad, 0x75, 0x3b, 0x9e, 0x4e, 0x2d, 0x8e, 0xaa, +}; +static const unsigned char kat1699_nonce[] = { + 0xf8, 0x67, 0x14, 0x4b, 0x4f, 0xd8, 0x28, 0x89, 0xd0, 0x74, 0x64, 0x09, + 0xbf, 0x8e, 0xad, 0x4b, +}; +static const unsigned char kat1699_persstr[] = {0}; +static const unsigned char kat1699_entropyinreseed[] = { + 0x39, 0x93, 0x80, 0x3f, 0xb8, 0xd4, 0x23, 0x34, 0x28, 0xaa, 0xb4, 0x60, + 0x83, 0x5a, 0xcc, 0x9a, 0xd4, 0xb2, 0xc0, 0xd5, 0xd2, 0x15, 0x71, 0x0b, +}; +static const unsigned char kat1699_addinreseed[] = { + 0xfc, 0x53, 0x85, 0x64, 0x78, 0xfd, 0xc9, 0x1c, 0xb2, 0x8a, 0x32, 0xf1, + 0xfb, 0x75, 0xe1, 0x73, 0x26, 0xe3, 0x88, 0x25, 0x78, 0x31, 0x71, 0xa2, + 0x07, 0x7f, 0x86, 0x21, 0x26, 0x8d, 0x7f, 0x63, +}; +static const unsigned char kat1699_addin0[] = { + 0x1f, 0xf0, 0x4a, 0x19, 0x18, 0x60, 0x7f, 0xda, 0xc6, 0x16, 0x60, 0xee, + 0x44, 0x0d, 0x1c, 0x1f, 0xdd, 0x05, 0x03, 0x8d, 0x03, 0xc6, 0x01, 0x1c, + 0x93, 0x26, 0x66, 0xa4, 0xb5, 0x4b, 0x03, 0x91, +}; +static const unsigned char kat1699_addin1[] = { + 0xd6, 0x7e, 0x82, 0xb2, 0x65, 0xe5, 0xee, 0xd3, 0x20, 0x62, 0x71, 0x4f, + 0x5a, 0xd2, 0x4e, 0x56, 0x63, 0xcb, 0x96, 0x18, 0x42, 0x1c, 0xc1, 0xb6, + 0x9c, 0xea, 0x37, 0x71, 0xed, 0x7a, 0xe4, 0xa5, +}; +static const unsigned char kat1699_retbits[] = { + 0xb4, 0xe2, 0x20, 0x34, 0xe1, 0x42, 0xc5, 0xd1, 0xad, 0xa2, 0x6b, 0x09, + 0x02, 0x78, 0xb7, 0x36, 0x0b, 0x5e, 0x1d, 0x9b, 0x0b, 0x56, 0xfb, 0x25, + 0x75, 0x15, 0xf5, 0xc3, 0xce, 0x34, 0x62, 0x16, 0x9a, 0xf1, 0xac, 0x86, + 0xfa, 0x2c, 0xfc, 0x58, 0x66, 0xe9, 0x73, 0xa9, 0x83, 0x0d, 0x65, 0x54, + 0x18, 0x6f, 0xb2, 0xd1, 0xf5, 0xf1, 0x11, 0x46, 0xa1, 0x5e, 0x78, 0xaf, + 0xeb, 0xd8, 0xc1, 0x20, +}; +static const struct drbg_kat_pr_false kat1699_t = { + 3, kat1699_entropyin, kat1699_nonce, kat1699_persstr, + kat1699_entropyinreseed, kat1699_addinreseed, kat1699_addin0, + kat1699_addin1, kat1699_retbits +}; +static const struct drbg_kat kat1699 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1699_t +}; + +static const unsigned char kat1700_entropyin[] = { + 0x85, 0x92, 0xce, 0xc1, 0xa3, 0xfb, 0x26, 0x15, 0xd8, 0xde, 0xb8, 0xfa, + 0x42, 0x51, 0xee, 0x2a, 0xf1, 0x7b, 0x52, 0xd3, 0x2c, 0xb8, 0x7e, 0xae, +}; +static const unsigned char kat1700_nonce[] = { + 0x35, 0x88, 0x82, 0x0f, 0x95, 0xa5, 0x16, 0xef, 0x5d, 0x24, 0x97, 0x56, + 0x22, 0xe0, 0x3d, 0xf7, +}; +static const unsigned char kat1700_persstr[] = {0}; +static const unsigned char kat1700_entropyinreseed[] = { + 0x58, 0x80, 0xbb, 0x7d, 0xe2, 0xce, 0xac, 0x8a, 0xf5, 0x3d, 0x24, 0x3a, + 0x74, 0xed, 0x5d, 0xef, 0x43, 0xb7, 0x63, 0xc5, 0xe2, 0x90, 0xe3, 0x9b, +}; +static const unsigned char kat1700_addinreseed[] = { + 0x92, 0x45, 0xb3, 0x2b, 0xe1, 0x81, 0xa9, 0x3c, 0x03, 0x77, 0x67, 0x57, + 0xdb, 0xbe, 0xd2, 0x56, 0x67, 0x70, 0xb0, 0x1f, 0xfb, 0xd2, 0xfa, 0x8b, + 0xea, 0x19, 0x4c, 0xf9, 0x7e, 0x1e, 0xbb, 0x39, +}; +static const unsigned char kat1700_addin0[] = { + 0xd4, 0xf6, 0x8a, 0x99, 0xe3, 0x22, 0xf7, 0x56, 0x0b, 0x5f, 0x60, 0x1a, + 0xbf, 0xf8, 0x99, 0x71, 0x1d, 0xf0, 0x66, 0x66, 0x69, 0x59, 0xf2, 0x31, + 0xaa, 0x3a, 0x63, 0x53, 0xad, 0x59, 0x74, 0xb1, +}; +static const unsigned char kat1700_addin1[] = { + 0xa2, 0x4d, 0x59, 0xdc, 0x5a, 0xff, 0x9b, 0xee, 0x69, 0xf7, 0x92, 0xc2, + 0x90, 0xd2, 0xf4, 0x98, 0xd8, 0x85, 0x0b, 0xb1, 0xec, 0x75, 0xed, 0xf5, + 0xe6, 0xfe, 0x0f, 0xd7, 0x14, 0xa8, 0xe2, 0x29, +}; +static const unsigned char kat1700_retbits[] = { + 0x94, 0x13, 0x69, 0x8a, 0x33, 0xff, 0xfd, 0x6c, 0x89, 0x8f, 0x20, 0x59, + 0xcf, 0xc7, 0xa6, 0x01, 0xb2, 0x2c, 0x34, 0x3a, 0x4f, 0x7b, 0x48, 0x45, + 0x73, 0x73, 0x67, 0x14, 0xbc, 0x3b, 0x85, 0x1a, 0x31, 0x64, 0xe2, 0xb3, + 0x05, 0x65, 0x34, 0x8e, 0x4d, 0x0d, 0x0b, 0xc0, 0xee, 0x6c, 0x50, 0xd2, + 0x52, 0x69, 0xb1, 0xa2, 0x89, 0x24, 0x7b, 0xe0, 0x90, 0x65, 0x14, 0x45, + 0x51, 0x31, 0xcf, 0x29, +}; +static const struct drbg_kat_pr_false kat1700_t = { + 4, kat1700_entropyin, kat1700_nonce, kat1700_persstr, + kat1700_entropyinreseed, kat1700_addinreseed, kat1700_addin0, + kat1700_addin1, kat1700_retbits +}; +static const struct drbg_kat kat1700 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1700_t +}; + +static const unsigned char kat1701_entropyin[] = { + 0x42, 0xa2, 0xac, 0xb0, 0x3c, 0x89, 0xd9, 0x66, 0x46, 0x85, 0x2d, 0xc2, + 0x79, 0x67, 0x94, 0x82, 0x81, 0xfa, 0xff, 0xe0, 0x54, 0xe1, 0xe7, 0x24, +}; +static const unsigned char kat1701_nonce[] = { + 0xec, 0x26, 0x08, 0x86, 0x4b, 0xac, 0xd3, 0xd6, 0x7b, 0x13, 0x5c, 0xaf, + 0x43, 0xbe, 0xa1, 0x21, +}; +static const unsigned char kat1701_persstr[] = {0}; +static const unsigned char kat1701_entropyinreseed[] = { + 0xfd, 0x61, 0x2c, 0xde, 0x9f, 0xa6, 0x53, 0xc3, 0x8a, 0x43, 0x83, 0x8d, + 0xab, 0xa2, 0x32, 0xd0, 0xd8, 0x35, 0x69, 0xb4, 0xc5, 0x00, 0xeb, 0x20, +}; +static const unsigned char kat1701_addinreseed[] = { + 0xa0, 0x87, 0x38, 0x8b, 0x6d, 0xb7, 0x55, 0x04, 0x58, 0x09, 0xae, 0x59, + 0x82, 0x25, 0xb5, 0xf3, 0xb2, 0x83, 0xc2, 0xf3, 0x3e, 0xa6, 0xa2, 0x21, + 0x6c, 0x34, 0xcf, 0x46, 0xe5, 0x07, 0x7d, 0x95, +}; +static const unsigned char kat1701_addin0[] = { + 0xb7, 0xb1, 0x3e, 0x5f, 0x55, 0x98, 0x02, 0x72, 0x90, 0x1e, 0xb1, 0x86, + 0xca, 0x61, 0xf5, 0xce, 0xcb, 0xaa, 0xd8, 0xe4, 0x00, 0x94, 0x5e, 0x47, + 0x46, 0xaa, 0x85, 0x9f, 0xe7, 0x23, 0xb9, 0xd3, +}; +static const unsigned char kat1701_addin1[] = { + 0xb8, 0x7f, 0xc6, 0xc1, 0x14, 0x50, 0xa6, 0xe6, 0x2e, 0x2b, 0x8c, 0x97, + 0x62, 0x3b, 0x9a, 0xa3, 0xec, 0x05, 0xfd, 0x24, 0x0a, 0xc9, 0xfa, 0xa5, + 0x4d, 0x61, 0xc7, 0x01, 0xd7, 0xd9, 0x66, 0x61, +}; +static const unsigned char kat1701_retbits[] = { + 0xb6, 0x0a, 0xc5, 0xc2, 0xdd, 0x9d, 0xa0, 0x55, 0x75, 0x44, 0x32, 0x55, + 0x21, 0x33, 0xb8, 0xd1, 0x73, 0x1c, 0x7b, 0xc3, 0x0d, 0x8f, 0x99, 0x58, + 0x59, 0x6a, 0x54, 0x3e, 0x95, 0x4f, 0xc2, 0x01, 0xa1, 0x63, 0x74, 0xb2, + 0xd6, 0xd4, 0x03, 0x33, 0x4a, 0xf6, 0x8d, 0x20, 0xec, 0x0d, 0x5a, 0xad, + 0x47, 0xb2, 0xc2, 0xc8, 0xeb, 0xb1, 0xf8, 0x02, 0x3b, 0x8c, 0x19, 0xeb, + 0x04, 0x1f, 0x3e, 0x3e, +}; +static const struct drbg_kat_pr_false kat1701_t = { + 5, kat1701_entropyin, kat1701_nonce, kat1701_persstr, + kat1701_entropyinreseed, kat1701_addinreseed, kat1701_addin0, + kat1701_addin1, kat1701_retbits +}; +static const struct drbg_kat kat1701 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1701_t +}; + +static const unsigned char kat1702_entropyin[] = { + 0x74, 0x3a, 0x00, 0xf3, 0x82, 0x80, 0x02, 0x87, 0xb2, 0x34, 0xd7, 0x4d, + 0x27, 0x46, 0x9b, 0x32, 0x22, 0x8f, 0x5f, 0xe3, 0xbd, 0xcf, 0xf4, 0x6f, +}; +static const unsigned char kat1702_nonce[] = { + 0xfc, 0x31, 0x97, 0x60, 0x29, 0x29, 0x66, 0x5f, 0xe0, 0x21, 0x2d, 0xba, + 0xb1, 0xf0, 0xf7, 0x25, +}; +static const unsigned char kat1702_persstr[] = {0}; +static const unsigned char kat1702_entropyinreseed[] = { + 0x2f, 0x85, 0x7a, 0x20, 0x33, 0x8c, 0x3d, 0x9a, 0xdd, 0xfb, 0xa4, 0xa7, + 0x9d, 0x84, 0xf9, 0xef, 0xec, 0x5a, 0xe8, 0x5d, 0xfa, 0xbb, 0x62, 0xd4, +}; +static const unsigned char kat1702_addinreseed[] = { + 0x4c, 0xa1, 0xf2, 0xb8, 0x6c, 0x8e, 0x61, 0x48, 0x66, 0x68, 0x77, 0x03, + 0x8c, 0x00, 0x96, 0x16, 0x16, 0xe4, 0x67, 0x1b, 0x76, 0x76, 0xa9, 0x64, + 0x7e, 0xb6, 0x51, 0x5d, 0x39, 0x22, 0x4d, 0x99, +}; +static const unsigned char kat1702_addin0[] = { + 0xaa, 0x19, 0x4d, 0x36, 0x6d, 0xfe, 0xf6, 0x2e, 0xcb, 0x94, 0x9a, 0xac, + 0x68, 0xcd, 0x32, 0xfb, 0x09, 0xd1, 0x3a, 0xe2, 0x9f, 0xf8, 0x46, 0x0f, + 0x66, 0x9b, 0xd7, 0xda, 0x6c, 0xaa, 0xfb, 0x9e, +}; +static const unsigned char kat1702_addin1[] = { + 0x2d, 0x25, 0x5f, 0x27, 0x3b, 0x8b, 0x7f, 0xa3, 0x94, 0x31, 0xb0, 0x56, + 0x8a, 0xdb, 0x4a, 0xef, 0xcb, 0xec, 0xf5, 0x7d, 0xce, 0x3f, 0x45, 0xf7, + 0x7e, 0x61, 0x1e, 0x97, 0xc6, 0xd5, 0x86, 0xb6, +}; +static const unsigned char kat1702_retbits[] = { + 0x28, 0x0d, 0xa4, 0xa8, 0xbd, 0x81, 0x58, 0x31, 0x8c, 0xe3, 0x2e, 0x92, + 0x6a, 0xd4, 0xf0, 0x31, 0x65, 0xbc, 0xd4, 0xff, 0x19, 0xc2, 0x74, 0x10, + 0x38, 0x38, 0xcd, 0xab, 0xed, 0x76, 0xdf, 0x4b, 0xa0, 0x64, 0x26, 0x77, + 0x03, 0xc2, 0x4b, 0xd1, 0x83, 0x9d, 0x18, 0xd0, 0x31, 0x18, 0x37, 0xc4, + 0xd7, 0xca, 0xbb, 0x7c, 0x22, 0x75, 0x1b, 0x63, 0x56, 0x14, 0x36, 0x99, + 0x3a, 0x14, 0xd4, 0x19, +}; +static const struct drbg_kat_pr_false kat1702_t = { + 6, kat1702_entropyin, kat1702_nonce, kat1702_persstr, + kat1702_entropyinreseed, kat1702_addinreseed, kat1702_addin0, + kat1702_addin1, kat1702_retbits +}; +static const struct drbg_kat kat1702 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1702_t +}; + +static const unsigned char kat1703_entropyin[] = { + 0xfd, 0x36, 0xf6, 0x1e, 0x82, 0xb1, 0x7a, 0xed, 0x18, 0xe7, 0x0f, 0x40, + 0x3a, 0xe5, 0xec, 0x89, 0xd1, 0xbe, 0xc1, 0xe6, 0xcc, 0x2c, 0x73, 0x9c, +}; +static const unsigned char kat1703_nonce[] = { + 0xb3, 0xa7, 0x9e, 0x1a, 0x78, 0xef, 0x63, 0x0f, 0x82, 0x74, 0xbb, 0x17, + 0x66, 0xfa, 0x2f, 0x4d, +}; +static const unsigned char kat1703_persstr[] = {0}; +static const unsigned char kat1703_entropyinreseed[] = { + 0x5d, 0xf9, 0x2b, 0xd6, 0x3a, 0x0d, 0x92, 0x10, 0xed, 0xef, 0xc4, 0x55, + 0x08, 0xf4, 0x76, 0xee, 0x97, 0xde, 0x02, 0xbf, 0x06, 0x75, 0x3a, 0x29, +}; +static const unsigned char kat1703_addinreseed[] = { + 0x0e, 0xe3, 0xd2, 0xcc, 0xf2, 0x34, 0x3e, 0x68, 0x47, 0x10, 0xb9, 0x4e, + 0x72, 0x1b, 0x23, 0xbd, 0x7a, 0x14, 0x66, 0x27, 0x92, 0x06, 0xb0, 0xb5, + 0xaa, 0x85, 0x4b, 0x03, 0xbe, 0x2a, 0x73, 0x60, +}; +static const unsigned char kat1703_addin0[] = { + 0x95, 0xfc, 0x87, 0x57, 0xdf, 0x7b, 0x89, 0xce, 0xf1, 0xdb, 0x5d, 0xbb, + 0xdd, 0xa2, 0xce, 0x45, 0x92, 0x84, 0x70, 0x5c, 0x9a, 0xc5, 0x68, 0xef, + 0xdb, 0x6f, 0xcf, 0xc6, 0x85, 0xfd, 0x13, 0x6d, +}; +static const unsigned char kat1703_addin1[] = { + 0xd1, 0x2a, 0xe9, 0xad, 0x44, 0x12, 0xde, 0x00, 0xef, 0xc5, 0x85, 0xf0, + 0x29, 0xbb, 0x36, 0x16, 0x55, 0x8e, 0x60, 0x80, 0x67, 0x85, 0xe3, 0x2b, + 0xe7, 0x08, 0x6d, 0x2c, 0x64, 0x09, 0xe2, 0xc8, +}; +static const unsigned char kat1703_retbits[] = { + 0x0d, 0x35, 0x9a, 0x5e, 0x94, 0xac, 0x6f, 0xf1, 0xfa, 0x3b, 0xc1, 0x5a, + 0xdc, 0x46, 0xd5, 0x48, 0x30, 0x11, 0x83, 0x10, 0xbc, 0x65, 0x0d, 0x61, + 0x35, 0x30, 0xe6, 0x29, 0xd3, 0x4a, 0x45, 0x9b, 0xe5, 0xb2, 0xa6, 0x29, + 0x06, 0x5b, 0x4e, 0x7f, 0x4c, 0x85, 0xf3, 0xb6, 0xac, 0xb8, 0x96, 0x2f, + 0xcb, 0xbc, 0x8a, 0x0f, 0xed, 0x24, 0x81, 0x84, 0x09, 0xf9, 0x42, 0x5f, + 0xff, 0xa3, 0xe1, 0x6a, +}; +static const struct drbg_kat_pr_false kat1703_t = { + 7, kat1703_entropyin, kat1703_nonce, kat1703_persstr, + kat1703_entropyinreseed, kat1703_addinreseed, kat1703_addin0, + kat1703_addin1, kat1703_retbits +}; +static const struct drbg_kat kat1703 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1703_t +}; + +static const unsigned char kat1704_entropyin[] = { + 0xde, 0xce, 0xa1, 0x8a, 0xbd, 0x55, 0x45, 0x50, 0x07, 0x75, 0x1b, 0xbd, + 0xff, 0x85, 0x01, 0xc4, 0x63, 0x05, 0xa7, 0xfa, 0xdf, 0x15, 0xe7, 0xa0, +}; +static const unsigned char kat1704_nonce[] = { + 0x9f, 0xf5, 0x32, 0xb8, 0x26, 0x85, 0xf9, 0xea, 0x4f, 0x91, 0x89, 0x47, + 0x08, 0x07, 0x86, 0xfc, +}; +static const unsigned char kat1704_persstr[] = {0}; +static const unsigned char kat1704_entropyinreseed[] = { + 0x2c, 0x06, 0xc5, 0xd4, 0x8a, 0x5f, 0xd3, 0x86, 0x99, 0x9d, 0x42, 0x8c, + 0xcc, 0x22, 0x7b, 0x55, 0xd7, 0x54, 0x9f, 0x57, 0xc4, 0xf3, 0xc1, 0x62, +}; +static const unsigned char kat1704_addinreseed[] = { + 0x82, 0x3b, 0x0e, 0xec, 0x04, 0x51, 0xa2, 0x89, 0xe8, 0x27, 0x21, 0xea, + 0x47, 0x94, 0x9b, 0x5b, 0x25, 0x8b, 0x85, 0x0a, 0x4f, 0xa1, 0x49, 0x83, + 0x92, 0x1e, 0x9e, 0xca, 0x70, 0xd6, 0x4d, 0x8c, +}; +static const unsigned char kat1704_addin0[] = { + 0x01, 0xe9, 0x0b, 0x33, 0xf3, 0x06, 0x7e, 0xbb, 0x73, 0x8d, 0xf3, 0x8f, + 0x6c, 0xcb, 0x08, 0x16, 0x4a, 0x0d, 0x8d, 0x92, 0x19, 0x01, 0x3f, 0xcf, + 0xbd, 0x05, 0x99, 0xdc, 0xfd, 0xd4, 0xfc, 0x40, +}; +static const unsigned char kat1704_addin1[] = { + 0x15, 0xdd, 0x70, 0xaf, 0xee, 0x05, 0x3c, 0x64, 0xc6, 0xe1, 0x80, 0xf4, + 0x3b, 0xf1, 0x56, 0x42, 0x00, 0x7f, 0x2f, 0x2d, 0xf6, 0xdb, 0x9e, 0xbe, + 0x75, 0xf4, 0x06, 0x43, 0x14, 0xaa, 0x61, 0xf6, +}; +static const unsigned char kat1704_retbits[] = { + 0x9a, 0x60, 0x83, 0xaa, 0x7a, 0x1f, 0xc1, 0xae, 0x11, 0xda, 0x9d, 0xa4, + 0x50, 0x60, 0xbe, 0xb1, 0x14, 0x2a, 0x57, 0xe0, 0xaa, 0x84, 0xf7, 0x5e, + 0x3d, 0xe1, 0x82, 0x88, 0xb1, 0x78, 0xfb, 0x20, 0x23, 0xfd, 0x30, 0xdc, + 0x42, 0x7f, 0xc9, 0x20, 0x16, 0x42, 0x90, 0x63, 0x56, 0x8a, 0xcc, 0xd4, + 0x92, 0x63, 0x9d, 0xe3, 0xd8, 0xd8, 0x07, 0xdc, 0x32, 0x40, 0x95, 0xa6, + 0xed, 0x01, 0xfe, 0x56, +}; +static const struct drbg_kat_pr_false kat1704_t = { + 8, kat1704_entropyin, kat1704_nonce, kat1704_persstr, + kat1704_entropyinreseed, kat1704_addinreseed, kat1704_addin0, + kat1704_addin1, kat1704_retbits +}; +static const struct drbg_kat kat1704 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1704_t +}; + +static const unsigned char kat1705_entropyin[] = { + 0x23, 0x98, 0x50, 0xb9, 0x49, 0x0a, 0x64, 0x03, 0x4e, 0x4b, 0x1d, 0xe3, + 0xd8, 0xdb, 0xf9, 0x37, 0x8c, 0x6e, 0xe8, 0x70, 0x2c, 0xc6, 0xa1, 0x34, +}; +static const unsigned char kat1705_nonce[] = { + 0x0c, 0xb7, 0x8b, 0xf0, 0xbd, 0x2a, 0xe2, 0x7e, 0xff, 0xdc, 0xd5, 0x56, + 0x4b, 0x13, 0x8c, 0x9a, +}; +static const unsigned char kat1705_persstr[] = {0}; +static const unsigned char kat1705_entropyinreseed[] = { + 0xe5, 0xcb, 0xac, 0xb9, 0x29, 0x64, 0xe9, 0xab, 0xd8, 0xff, 0x6d, 0xeb, + 0x1d, 0xae, 0x10, 0x21, 0x11, 0xf5, 0x29, 0x26, 0x7b, 0xcb, 0xb4, 0x3b, +}; +static const unsigned char kat1705_addinreseed[] = { + 0xd7, 0x3f, 0x98, 0x23, 0x59, 0x0b, 0xe4, 0x3e, 0x23, 0x89, 0x42, 0x7b, + 0xc7, 0x96, 0xbf, 0x7e, 0xe5, 0xef, 0x65, 0x82, 0x32, 0x33, 0x8b, 0x45, + 0x75, 0xfb, 0x57, 0x74, 0x89, 0x88, 0xdf, 0x3e, +}; +static const unsigned char kat1705_addin0[] = { + 0x1e, 0x48, 0x3f, 0x9a, 0xbe, 0xf8, 0x34, 0x66, 0xd2, 0x61, 0xce, 0x53, + 0x5a, 0xf9, 0x39, 0x4d, 0x11, 0x7c, 0x0d, 0xc0, 0x6b, 0x5b, 0xf5, 0x68, + 0x97, 0xe8, 0x1a, 0x98, 0xd8, 0x0a, 0x32, 0x54, +}; +static const unsigned char kat1705_addin1[] = { + 0xc3, 0x21, 0x29, 0xbf, 0xa5, 0x6d, 0x52, 0xed, 0x84, 0x83, 0x49, 0x15, + 0xc9, 0x08, 0x60, 0x84, 0x3a, 0x78, 0xa6, 0xd9, 0xbb, 0x5c, 0x47, 0x0e, + 0xbc, 0xe2, 0xe1, 0x38, 0xa3, 0x95, 0x5b, 0x24, +}; +static const unsigned char kat1705_retbits[] = { + 0xac, 0x61, 0x3d, 0x48, 0x58, 0x8a, 0x28, 0x00, 0xca, 0x6b, 0x77, 0xd5, + 0x6a, 0xf2, 0x1f, 0xa1, 0x36, 0x84, 0x76, 0x46, 0x78, 0x09, 0x9e, 0x51, + 0x76, 0x48, 0x97, 0xcf, 0x50, 0x8a, 0x12, 0xf9, 0xbb, 0xbb, 0xcf, 0x9a, + 0x72, 0x20, 0x91, 0x83, 0x41, 0x1c, 0x84, 0x6a, 0xe9, 0xb0, 0x12, 0x28, + 0xfc, 0x1d, 0xab, 0xc3, 0x41, 0xd6, 0x34, 0x50, 0xfc, 0xc0, 0x15, 0x93, + 0x2e, 0x8b, 0xd6, 0x45, +}; +static const struct drbg_kat_pr_false kat1705_t = { + 9, kat1705_entropyin, kat1705_nonce, kat1705_persstr, + kat1705_entropyinreseed, kat1705_addinreseed, kat1705_addin0, + kat1705_addin1, kat1705_retbits +}; +static const struct drbg_kat kat1705 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1705_t +}; + +static const unsigned char kat1706_entropyin[] = { + 0x1f, 0x7f, 0x04, 0xd9, 0xd5, 0x73, 0x35, 0xaf, 0xf4, 0x1e, 0xf2, 0x11, + 0x29, 0x9e, 0xd9, 0xe8, 0x8c, 0x95, 0x08, 0x3a, 0x93, 0xda, 0x76, 0x66, +}; +static const unsigned char kat1706_nonce[] = { + 0x2c, 0x08, 0x55, 0x5e, 0x92, 0x98, 0x21, 0x91, 0x52, 0x28, 0x50, 0xb7, + 0x77, 0xd6, 0x1c, 0xad, +}; +static const unsigned char kat1706_persstr[] = {0}; +static const unsigned char kat1706_entropyinreseed[] = { + 0xe1, 0xf4, 0x18, 0xc9, 0x9d, 0x81, 0x4e, 0x9e, 0x95, 0x96, 0xc2, 0x62, + 0xf8, 0x26, 0x61, 0x9f, 0xbc, 0x0a, 0x31, 0x43, 0x50, 0xe0, 0xbf, 0x64, +}; +static const unsigned char kat1706_addinreseed[] = { + 0x5d, 0x1c, 0xd9, 0x63, 0xcd, 0x8f, 0xef, 0x60, 0x52, 0x9a, 0x15, 0x7f, + 0x55, 0xcd, 0xb0, 0xea, 0x96, 0xa6, 0x0e, 0x84, 0x5e, 0x2f, 0xc6, 0x32, + 0x66, 0xb9, 0x13, 0x8e, 0xb2, 0xe2, 0xb4, 0xd7, +}; +static const unsigned char kat1706_addin0[] = { + 0xc9, 0xd5, 0x36, 0x69, 0x2e, 0x69, 0x91, 0x19, 0xae, 0x81, 0xb8, 0x89, + 0x6e, 0x78, 0xac, 0xe4, 0xf1, 0x34, 0x68, 0xb6, 0x26, 0x0a, 0xd8, 0xcf, + 0xa4, 0x8d, 0x16, 0x78, 0x1d, 0x34, 0x44, 0xef, +}; +static const unsigned char kat1706_addin1[] = { + 0x09, 0x93, 0x5f, 0x2c, 0x5f, 0x63, 0x13, 0x20, 0x63, 0x7f, 0xbf, 0x8c, + 0xbb, 0xd1, 0x0d, 0x9e, 0x08, 0x2d, 0x21, 0xe3, 0xf2, 0x6c, 0xcf, 0x9b, + 0x7f, 0xd5, 0x4c, 0xa9, 0xa3, 0x47, 0x38, 0x71, +}; +static const unsigned char kat1706_retbits[] = { + 0x59, 0x46, 0x4c, 0xa6, 0x8b, 0x54, 0xf4, 0xfa, 0x32, 0xe7, 0x64, 0x73, + 0x8c, 0x10, 0x73, 0xf9, 0xb8, 0xcc, 0x01, 0x4e, 0x2f, 0x57, 0x9e, 0x67, + 0xe1, 0xb1, 0x18, 0xf7, 0xf2, 0xf7, 0x8d, 0xad, 0x7f, 0x39, 0x92, 0xc5, + 0x3a, 0x45, 0xd6, 0x50, 0x7f, 0x88, 0x95, 0xa7, 0xbe, 0x7f, 0x76, 0x4d, + 0xc7, 0x2a, 0x88, 0xd4, 0x06, 0x64, 0x0b, 0x37, 0x09, 0x96, 0x5a, 0x9c, + 0xf6, 0xff, 0x1e, 0x8f, +}; +static const struct drbg_kat_pr_false kat1706_t = { + 10, kat1706_entropyin, kat1706_nonce, kat1706_persstr, + kat1706_entropyinreseed, kat1706_addinreseed, kat1706_addin0, + kat1706_addin1, kat1706_retbits +}; +static const struct drbg_kat kat1706 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1706_t +}; + +static const unsigned char kat1707_entropyin[] = { + 0x8c, 0x4e, 0xe1, 0xf9, 0xe1, 0x0a, 0x3a, 0xd8, 0x58, 0x7c, 0x15, 0x6e, + 0x28, 0x2f, 0x11, 0xaf, 0x86, 0x84, 0x1e, 0x11, 0xc5, 0xed, 0x1c, 0x2b, +}; +static const unsigned char kat1707_nonce[] = { + 0xa2, 0x76, 0x0a, 0xc4, 0x50, 0x0a, 0x6d, 0xb4, 0x6b, 0x2a, 0x0a, 0x23, + 0x94, 0x08, 0xbe, 0x43, +}; +static const unsigned char kat1707_persstr[] = {0}; +static const unsigned char kat1707_entropyinreseed[] = { + 0x05, 0x26, 0x1c, 0x4b, 0x47, 0x46, 0x93, 0x7f, 0x42, 0x5c, 0xc4, 0x92, + 0x78, 0xdf, 0x53, 0x38, 0x29, 0xc5, 0x4f, 0x36, 0xb4, 0x3f, 0x59, 0x24, +}; +static const unsigned char kat1707_addinreseed[] = { + 0xa2, 0x68, 0x81, 0xf6, 0x4d, 0xfb, 0xe6, 0xb5, 0x0c, 0xd8, 0x79, 0xfd, + 0xcc, 0x35, 0xb6, 0x90, 0xd5, 0xec, 0x7e, 0xf9, 0x0e, 0x65, 0x7a, 0x61, + 0x34, 0x2e, 0x0f, 0x6b, 0xed, 0xa0, 0x46, 0xbb, +}; +static const unsigned char kat1707_addin0[] = { + 0x39, 0xe1, 0x01, 0x41, 0x29, 0x93, 0x9c, 0x1a, 0x55, 0xf5, 0xfb, 0x58, + 0x4b, 0x14, 0x14, 0x96, 0x5e, 0x1e, 0x7b, 0x5e, 0x5d, 0xfa, 0xb2, 0x3d, + 0x10, 0x84, 0xcb, 0x32, 0x4d, 0xbb, 0x32, 0x8f, +}; +static const unsigned char kat1707_addin1[] = { + 0xd0, 0xbb, 0x63, 0xa8, 0xe1, 0xcb, 0x4c, 0xdc, 0xa8, 0xcf, 0x2a, 0x26, + 0x34, 0xb4, 0x91, 0x60, 0x39, 0x75, 0x9c, 0xc1, 0xd5, 0x74, 0xb8, 0xd2, + 0xe2, 0x78, 0x18, 0x52, 0x2f, 0xca, 0xf7, 0x45, +}; +static const unsigned char kat1707_retbits[] = { + 0xd3, 0xef, 0xf7, 0x65, 0xc8, 0x3e, 0x14, 0x0b, 0xad, 0x7b, 0x00, 0xc5, + 0x71, 0xd2, 0x79, 0x10, 0xb2, 0x17, 0xba, 0x53, 0xe0, 0x0f, 0x3f, 0x11, + 0xc5, 0xf2, 0x1a, 0xee, 0x87, 0xfb, 0xfe, 0x33, 0xe2, 0xa1, 0x95, 0x68, + 0x17, 0x52, 0x06, 0x2d, 0x79, 0xa6, 0xb2, 0x11, 0xd5, 0x82, 0x01, 0x87, + 0x99, 0x46, 0x5b, 0x83, 0xd6, 0xa8, 0xc7, 0x32, 0xa8, 0x7e, 0xe8, 0xe9, + 0x0b, 0xcb, 0x47, 0xb4, +}; +static const struct drbg_kat_pr_false kat1707_t = { + 11, kat1707_entropyin, kat1707_nonce, kat1707_persstr, + kat1707_entropyinreseed, kat1707_addinreseed, kat1707_addin0, + kat1707_addin1, kat1707_retbits +}; +static const struct drbg_kat kat1707 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1707_t +}; + +static const unsigned char kat1708_entropyin[] = { + 0x8f, 0x6a, 0xa1, 0x65, 0x44, 0x11, 0x71, 0x51, 0xeb, 0xa0, 0x2f, 0xb2, + 0x66, 0xdc, 0x34, 0x7b, 0xdd, 0x2e, 0x1e, 0xc5, 0xe6, 0x02, 0x18, 0x14, +}; +static const unsigned char kat1708_nonce[] = { + 0x60, 0x09, 0xa1, 0x64, 0x96, 0x8e, 0x19, 0xc7, 0x07, 0x57, 0x0c, 0x4a, + 0xdb, 0xbc, 0x22, 0x53, +}; +static const unsigned char kat1708_persstr[] = {0}; +static const unsigned char kat1708_entropyinreseed[] = { + 0x0b, 0x51, 0xe6, 0x81, 0x56, 0xe2, 0xa5, 0x70, 0xe1, 0xa0, 0x8f, 0xf8, + 0xed, 0xa4, 0x65, 0x91, 0xb2, 0xf5, 0x4c, 0xb2, 0x17, 0x88, 0x3d, 0x04, +}; +static const unsigned char kat1708_addinreseed[] = { + 0x3c, 0xd2, 0x78, 0x3e, 0x00, 0xd4, 0x8f, 0x5b, 0x4c, 0x13, 0x39, 0x31, + 0xbc, 0xb4, 0xd3, 0x59, 0x0d, 0x09, 0xc7, 0x09, 0xed, 0x6f, 0x19, 0x5c, + 0x3d, 0xfe, 0xd6, 0xbf, 0x15, 0x0c, 0x76, 0xdd, +}; +static const unsigned char kat1708_addin0[] = { + 0xdb, 0x89, 0x1a, 0xf9, 0x7a, 0x11, 0x0a, 0x36, 0x43, 0x15, 0x50, 0x94, + 0xe0, 0xee, 0xb9, 0xc6, 0x11, 0x6c, 0x38, 0x1b, 0x86, 0x16, 0xe3, 0x6f, + 0x47, 0x1a, 0xed, 0xf2, 0x72, 0x5e, 0x1c, 0x54, +}; +static const unsigned char kat1708_addin1[] = { + 0xfc, 0x60, 0x84, 0xa2, 0x85, 0x8f, 0x34, 0xbc, 0xd2, 0xb8, 0x79, 0x49, + 0x45, 0x2b, 0x38, 0x2b, 0x18, 0x9f, 0x35, 0x13, 0x43, 0x6a, 0xea, 0x38, + 0xd6, 0x8f, 0xd9, 0xc7, 0x61, 0xd6, 0x8e, 0x83, +}; +static const unsigned char kat1708_retbits[] = { + 0x15, 0xb7, 0xc5, 0xb6, 0x70, 0x61, 0x67, 0x23, 0x49, 0x59, 0x72, 0x7d, + 0xa2, 0x71, 0x85, 0xe6, 0x5b, 0x7b, 0x8f, 0xa9, 0xcb, 0x77, 0x59, 0x70, + 0xa5, 0xfe, 0x80, 0x62, 0x85, 0xa0, 0x37, 0xb3, 0x22, 0xbf, 0x81, 0x14, + 0xa3, 0x98, 0xa0, 0x19, 0xef, 0xfb, 0xcf, 0x65, 0xc3, 0xd4, 0xdc, 0xe1, + 0x54, 0xe0, 0x3a, 0x0c, 0x7f, 0x4b, 0x72, 0xd3, 0xa5, 0x7f, 0x4a, 0xc8, + 0xf4, 0x0b, 0x40, 0x74, +}; +static const struct drbg_kat_pr_false kat1708_t = { + 12, kat1708_entropyin, kat1708_nonce, kat1708_persstr, + kat1708_entropyinreseed, kat1708_addinreseed, kat1708_addin0, + kat1708_addin1, kat1708_retbits +}; +static const struct drbg_kat kat1708 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1708_t +}; + +static const unsigned char kat1709_entropyin[] = { + 0x52, 0xf0, 0x6f, 0xdc, 0x40, 0xd3, 0x2a, 0x19, 0xe6, 0x9d, 0x32, 0xa2, + 0x1b, 0xf8, 0xf4, 0xcf, 0x55, 0xd6, 0x97, 0x84, 0x21, 0xe6, 0x36, 0xa2, +}; +static const unsigned char kat1709_nonce[] = { + 0x1f, 0xb3, 0x3c, 0x9e, 0xe0, 0x7b, 0x2a, 0x2f, 0xfd, 0x41, 0x0b, 0x7c, + 0x6a, 0x02, 0x36, 0x5b, +}; +static const unsigned char kat1709_persstr[] = {0}; +static const unsigned char kat1709_entropyinreseed[] = { + 0xb1, 0x04, 0x34, 0xd0, 0xae, 0xea, 0xd8, 0x74, 0xa3, 0x0d, 0xf2, 0x49, + 0xdd, 0x69, 0x2d, 0xfb, 0xaf, 0xd0, 0xd5, 0xd8, 0xaa, 0xb6, 0x74, 0x38, +}; +static const unsigned char kat1709_addinreseed[] = { + 0xfc, 0x8a, 0x66, 0x14, 0xd9, 0x37, 0xf5, 0x0f, 0x74, 0xea, 0x94, 0x9f, + 0x50, 0x97, 0xb9, 0x00, 0x3e, 0xb0, 0x4b, 0x95, 0x35, 0x10, 0xde, 0x46, + 0x46, 0xc9, 0x4d, 0x18, 0xc9, 0x78, 0xec, 0x62, +}; +static const unsigned char kat1709_addin0[] = { + 0xba, 0xa0, 0xd5, 0xc1, 0x14, 0x6e, 0xaf, 0xa4, 0x63, 0x1c, 0xae, 0x7d, + 0x4c, 0x8c, 0x80, 0x93, 0x00, 0x96, 0xc9, 0xbf, 0x05, 0x64, 0xc0, 0x9d, + 0x5a, 0xc8, 0x89, 0x5e, 0xea, 0x02, 0x57, 0x27, +}; +static const unsigned char kat1709_addin1[] = { + 0xfe, 0x23, 0x0d, 0x75, 0x0e, 0xa1, 0xc8, 0x81, 0xb2, 0xc7, 0x3c, 0x6b, + 0x97, 0xcb, 0xcc, 0x30, 0xe4, 0x39, 0xb1, 0x83, 0x0a, 0x9e, 0x8e, 0xba, + 0x12, 0x34, 0x21, 0x57, 0x43, 0x90, 0xa1, 0xa2, +}; +static const unsigned char kat1709_retbits[] = { + 0xe8, 0xbb, 0xe2, 0x23, 0xd9, 0xef, 0x98, 0x9b, 0x12, 0x27, 0x45, 0xe5, + 0xf5, 0xa4, 0x42, 0xe0, 0xbd, 0x54, 0xba, 0x8d, 0x8f, 0xbe, 0x91, 0x9a, + 0x19, 0x99, 0x54, 0x25, 0x25, 0x1d, 0x00, 0x20, 0xd5, 0x50, 0x3b, 0x49, + 0x3a, 0x37, 0x22, 0x53, 0x7d, 0x81, 0xbf, 0x42, 0x5e, 0xc9, 0x15, 0x9e, + 0x53, 0x72, 0x5b, 0x70, 0x7c, 0x2d, 0xf8, 0xbf, 0x2e, 0x2c, 0x25, 0x8f, + 0xd8, 0xfb, 0x8e, 0x7b, +}; +static const struct drbg_kat_pr_false kat1709_t = { + 13, kat1709_entropyin, kat1709_nonce, kat1709_persstr, + kat1709_entropyinreseed, kat1709_addinreseed, kat1709_addin0, + kat1709_addin1, kat1709_retbits +}; +static const struct drbg_kat kat1709 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1709_t +}; + +static const unsigned char kat1710_entropyin[] = { + 0x8f, 0x8e, 0x6e, 0x35, 0xa6, 0x89, 0xbb, 0x88, 0xf8, 0x96, 0x89, 0x91, + 0xa4, 0xad, 0xbf, 0x89, 0x37, 0x3c, 0x58, 0xc5, 0xed, 0x36, 0x3f, 0x5f, +}; +static const unsigned char kat1710_nonce[] = { + 0x85, 0x70, 0xbf, 0xeb, 0xd6, 0x37, 0x9d, 0x10, 0x51, 0x86, 0xf8, 0x7e, + 0x99, 0x64, 0xcc, 0x6b, +}; +static const unsigned char kat1710_persstr[] = {0}; +static const unsigned char kat1710_entropyinreseed[] = { + 0x29, 0x5c, 0x35, 0xe7, 0x2f, 0xaf, 0x6a, 0xad, 0xed, 0xdb, 0x49, 0x32, + 0x0f, 0x86, 0xa4, 0x3b, 0x18, 0xda, 0x0e, 0x60, 0xb8, 0xd9, 0x41, 0xa2, +}; +static const unsigned char kat1710_addinreseed[] = { + 0x23, 0xbe, 0x84, 0x8c, 0xad, 0xd9, 0x0a, 0xf9, 0xb3, 0x34, 0xda, 0x73, + 0x44, 0xec, 0xaa, 0xfa, 0x99, 0xcb, 0x48, 0x10, 0xfb, 0x00, 0xce, 0x67, + 0x4f, 0x56, 0xe5, 0xed, 0x36, 0xab, 0x98, 0xba, +}; +static const unsigned char kat1710_addin0[] = { + 0x92, 0xbd, 0x8e, 0xeb, 0x63, 0x6f, 0xbf, 0x83, 0xfe, 0x7d, 0x6b, 0xf5, + 0xd2, 0x99, 0x84, 0x3d, 0x8f, 0xac, 0x84, 0x37, 0x69, 0x1a, 0xe5, 0xf5, + 0xea, 0x43, 0x56, 0x06, 0x27, 0xa7, 0xc0, 0x22, +}; +static const unsigned char kat1710_addin1[] = { + 0xed, 0x82, 0xe0, 0xfb, 0xb0, 0xed, 0x60, 0x7b, 0xf1, 0xd2, 0x41, 0xcc, + 0xf3, 0x47, 0x0d, 0xc0, 0x65, 0x87, 0x73, 0xb0, 0xc8, 0xf5, 0xb8, 0x32, + 0xb3, 0x24, 0x4a, 0xe8, 0x8e, 0x45, 0xc6, 0xed, +}; +static const unsigned char kat1710_retbits[] = { + 0x10, 0xc4, 0xcd, 0x9c, 0x6f, 0xb5, 0x61, 0x62, 0x95, 0x22, 0x4d, 0x4b, + 0x2c, 0xaa, 0x98, 0xac, 0x96, 0x2c, 0xba, 0xf5, 0x0f, 0x9c, 0x52, 0x17, + 0x49, 0xd5, 0x54, 0xcf, 0x2a, 0x41, 0x7a, 0xe7, 0x6c, 0x07, 0xff, 0xfb, + 0x88, 0x75, 0x38, 0x1a, 0x2b, 0xd6, 0x30, 0x5b, 0x50, 0x31, 0xfb, 0x62, + 0xf9, 0x3c, 0x00, 0x64, 0xac, 0xa7, 0xa4, 0x55, 0xdb, 0x75, 0x45, 0xe6, + 0xb5, 0x29, 0x38, 0xb0, +}; +static const struct drbg_kat_pr_false kat1710_t = { + 14, kat1710_entropyin, kat1710_nonce, kat1710_persstr, + kat1710_entropyinreseed, kat1710_addinreseed, kat1710_addin0, + kat1710_addin1, kat1710_retbits +}; +static const struct drbg_kat kat1710 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1710_t +}; + +static const unsigned char kat1711_entropyin[] = { + 0x35, 0x81, 0x14, 0x73, 0xd1, 0x05, 0xa6, 0xae, 0x33, 0x2b, 0xf7, 0x2a, + 0xa9, 0x8a, 0x44, 0x3b, 0xa9, 0x7d, 0xa5, 0x5b, 0xad, 0xb2, 0xe3, 0xc3, +}; +static const unsigned char kat1711_nonce[] = { + 0x38, 0x5b, 0xd4, 0x42, 0xb5, 0xb7, 0x21, 0x0c, 0x2d, 0x66, 0x10, 0x9f, + 0x88, 0xac, 0x1e, 0xd1, +}; +static const unsigned char kat1711_persstr[] = { + 0x16, 0xed, 0x4e, 0xe5, 0x94, 0x01, 0x55, 0x0c, 0x67, 0xcd, 0xab, 0x99, + 0x62, 0x02, 0x57, 0xe5, 0x4c, 0xfc, 0x7a, 0xa3, 0x12, 0xc6, 0x81, 0x4f, + 0x81, 0x35, 0x21, 0x23, 0xe4, 0xa2, 0x8f, 0x11, +}; +static const unsigned char kat1711_entropyinreseed[] = { + 0xa8, 0x35, 0xe0, 0x14, 0x0b, 0x52, 0xae, 0x14, 0xdf, 0x33, 0x43, 0xb6, + 0x5b, 0x11, 0x01, 0x92, 0xba, 0xaf, 0xd1, 0x7e, 0xc2, 0xbc, 0xb1, 0x0a, +}; +static const unsigned char kat1711_addinreseed[] = {0}; +static const unsigned char kat1711_addin0[] = {0}; +static const unsigned char kat1711_addin1[] = {0}; +static const unsigned char kat1711_retbits[] = { + 0x4b, 0x8a, 0xfb, 0x7c, 0x20, 0xbf, 0x94, 0x1d, 0xb7, 0xfb, 0x2c, 0xac, + 0x02, 0xb4, 0x6a, 0x45, 0x31, 0x33, 0x34, 0xc0, 0x40, 0x34, 0xb7, 0xe4, + 0x11, 0xb3, 0x60, 0x7e, 0x19, 0xfc, 0x92, 0x1d, 0xca, 0x47, 0xf1, 0x9c, + 0x58, 0x77, 0xe9, 0x20, 0x86, 0x54, 0x7c, 0xc6, 0xf1, 0x15, 0x8c, 0xa4, + 0xcf, 0xd6, 0x20, 0x01, 0xf7, 0xe0, 0xf3, 0xaf, 0x8a, 0x62, 0xe3, 0xc9, + 0x88, 0x8b, 0xf9, 0xad, +}; +static const struct drbg_kat_pr_false kat1711_t = { + 0, kat1711_entropyin, kat1711_nonce, kat1711_persstr, + kat1711_entropyinreseed, kat1711_addinreseed, kat1711_addin0, + kat1711_addin1, kat1711_retbits +}; +static const struct drbg_kat kat1711 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1711_t +}; + +static const unsigned char kat1712_entropyin[] = { + 0xe3, 0xcf, 0xf7, 0x14, 0x2a, 0x7f, 0x22, 0x01, 0x86, 0x03, 0x2d, 0x9a, + 0xe1, 0x71, 0x0a, 0xda, 0x92, 0x14, 0x77, 0x3a, 0x88, 0x4f, 0x3e, 0xc2, +}; +static const unsigned char kat1712_nonce[] = { + 0x1d, 0x82, 0x7a, 0x2d, 0xf6, 0x8e, 0x9f, 0x64, 0xb6, 0xde, 0xdf, 0x09, + 0x98, 0xe1, 0x12, 0x3c, +}; +static const unsigned char kat1712_persstr[] = { + 0xea, 0x14, 0xfe, 0xbc, 0x4c, 0xc3, 0x38, 0x46, 0xd2, 0x66, 0x96, 0x1d, + 0x2d, 0x97, 0xfb, 0xca, 0xba, 0x58, 0xc8, 0x48, 0xbb, 0x82, 0x8b, 0xef, + 0x63, 0x36, 0xab, 0x06, 0x9a, 0x87, 0xda, 0xef, +}; +static const unsigned char kat1712_entropyinreseed[] = { + 0xbd, 0xbd, 0xf2, 0x28, 0x7b, 0xec, 0x53, 0x6b, 0xe1, 0x6d, 0x62, 0x18, + 0x0d, 0x66, 0x7c, 0xcf, 0xeb, 0xd3, 0x7d, 0x44, 0x59, 0x20, 0xc6, 0x96, +}; +static const unsigned char kat1712_addinreseed[] = {0}; +static const unsigned char kat1712_addin0[] = {0}; +static const unsigned char kat1712_addin1[] = {0}; +static const unsigned char kat1712_retbits[] = { + 0x16, 0xa4, 0x6a, 0xe5, 0xda, 0xe5, 0xea, 0x51, 0xc5, 0x8a, 0x8f, 0xf6, + 0xeb, 0x43, 0x19, 0x6d, 0xe2, 0x6a, 0xc9, 0x7f, 0xb4, 0x32, 0xc6, 0x33, + 0x3a, 0x41, 0x82, 0x68, 0xf4, 0xbe, 0xfe, 0x2b, 0x75, 0x34, 0xa8, 0x9b, + 0xee, 0xc1, 0xa7, 0x7f, 0x23, 0x9a, 0xcd, 0x4c, 0x63, 0x36, 0x7a, 0xd7, + 0xad, 0xf9, 0xbc, 0x6c, 0xf2, 0xe4, 0xf7, 0x42, 0xef, 0xcc, 0xde, 0xf6, + 0x26, 0x24, 0x57, 0x2b, +}; +static const struct drbg_kat_pr_false kat1712_t = { + 1, kat1712_entropyin, kat1712_nonce, kat1712_persstr, + kat1712_entropyinreseed, kat1712_addinreseed, kat1712_addin0, + kat1712_addin1, kat1712_retbits +}; +static const struct drbg_kat kat1712 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1712_t +}; + +static const unsigned char kat1713_entropyin[] = { + 0x0c, 0xb4, 0xfa, 0x32, 0x5f, 0xe3, 0x28, 0x38, 0x56, 0x80, 0xa2, 0x05, + 0x3a, 0x47, 0x19, 0x4a, 0x7d, 0x6d, 0x20, 0x1a, 0x02, 0x8f, 0x14, 0x7a, +}; +static const unsigned char kat1713_nonce[] = { + 0xc3, 0xa7, 0x12, 0xec, 0x12, 0xb6, 0xed, 0x9a, 0x21, 0x47, 0x07, 0xa5, + 0xf1, 0x5a, 0x8b, 0x4a, +}; +static const unsigned char kat1713_persstr[] = { + 0x5d, 0x44, 0x33, 0xd2, 0x9b, 0xac, 0x8c, 0x03, 0xa1, 0x61, 0x6d, 0xf4, + 0x31, 0x9f, 0xf3, 0x1f, 0x1a, 0xd6, 0x2d, 0x76, 0x46, 0x1a, 0xf6, 0xd3, + 0xf3, 0xbe, 0x53, 0x7d, 0xcd, 0x9b, 0x1a, 0x21, +}; +static const unsigned char kat1713_entropyinreseed[] = { + 0x61, 0x6e, 0xbb, 0x63, 0xcc, 0x14, 0x39, 0x48, 0x09, 0xd5, 0xce, 0x11, + 0x48, 0xe8, 0x5c, 0x26, 0xde, 0xf9, 0xaa, 0xcc, 0xf7, 0x0b, 0x2f, 0x13, +}; +static const unsigned char kat1713_addinreseed[] = {0}; +static const unsigned char kat1713_addin0[] = {0}; +static const unsigned char kat1713_addin1[] = {0}; +static const unsigned char kat1713_retbits[] = { + 0x2e, 0x0b, 0x66, 0x3a, 0x5a, 0xaf, 0xe0, 0xfc, 0x61, 0x5e, 0xf4, 0xef, + 0xa6, 0xbe, 0x0c, 0x7b, 0xa1, 0xc4, 0x74, 0x36, 0x0d, 0xf2, 0x10, 0xed, + 0x0b, 0xc7, 0x6f, 0xf4, 0x58, 0xa3, 0xbd, 0x73, 0x2d, 0x3d, 0xec, 0x7b, + 0x89, 0x01, 0x79, 0xbc, 0xe2, 0x69, 0x8c, 0x28, 0x53, 0x83, 0xdc, 0x58, + 0x04, 0x5a, 0x95, 0x79, 0xfc, 0x72, 0x4f, 0x9a, 0x24, 0xca, 0x76, 0x8a, + 0x43, 0xb6, 0xf5, 0xdd, +}; +static const struct drbg_kat_pr_false kat1713_t = { + 2, kat1713_entropyin, kat1713_nonce, kat1713_persstr, + kat1713_entropyinreseed, kat1713_addinreseed, kat1713_addin0, + kat1713_addin1, kat1713_retbits +}; +static const struct drbg_kat kat1713 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1713_t +}; + +static const unsigned char kat1714_entropyin[] = { + 0xc9, 0xd8, 0x9d, 0x88, 0xc9, 0x33, 0x03, 0x3a, 0x27, 0x53, 0x09, 0xd3, + 0xe8, 0xe4, 0x84, 0xb9, 0x2f, 0x3c, 0x22, 0xb1, 0xf2, 0xe5, 0xe0, 0x84, +}; +static const unsigned char kat1714_nonce[] = { + 0x49, 0x2d, 0x6f, 0x25, 0x49, 0x2d, 0x7e, 0x43, 0x34, 0xe7, 0x2b, 0xfc, + 0xfc, 0x2f, 0x4e, 0xc5, +}; +static const unsigned char kat1714_persstr[] = { + 0xe1, 0xc9, 0x9f, 0x11, 0x60, 0x57, 0x84, 0x2d, 0x63, 0x06, 0xdb, 0x32, + 0x7b, 0x43, 0x6a, 0x65, 0x3c, 0xe7, 0x6f, 0x4a, 0x30, 0xc3, 0x08, 0x92, + 0x13, 0x66, 0xbf, 0xcc, 0xfa, 0xce, 0xdc, 0x98, +}; +static const unsigned char kat1714_entropyinreseed[] = { + 0x83, 0x35, 0xfa, 0xbd, 0x36, 0x9e, 0x9d, 0xbb, 0xc4, 0xe2, 0xd6, 0x34, + 0xb3, 0x74, 0x61, 0xe3, 0x0a, 0x01, 0xdb, 0x6e, 0xd4, 0x82, 0x47, 0x3b, +}; +static const unsigned char kat1714_addinreseed[] = {0}; +static const unsigned char kat1714_addin0[] = {0}; +static const unsigned char kat1714_addin1[] = {0}; +static const unsigned char kat1714_retbits[] = { + 0x5f, 0x4a, 0xaf, 0x8b, 0x5a, 0x3a, 0x1a, 0x03, 0x14, 0x48, 0xf9, 0x49, + 0xc4, 0xf8, 0x2c, 0x50, 0x1a, 0xd6, 0xb0, 0xb8, 0x29, 0x19, 0x06, 0xee, + 0x00, 0x5c, 0x1b, 0x77, 0x11, 0x44, 0xc1, 0xc0, 0xda, 0xf5, 0x85, 0x7a, + 0x25, 0x64, 0xf7, 0xe0, 0xac, 0x21, 0xdf, 0x5d, 0x52, 0x34, 0x43, 0xab, + 0xa9, 0x51, 0xee, 0x53, 0x51, 0xa2, 0xe6, 0x60, 0xe4, 0xd5, 0x27, 0xdc, + 0x3f, 0x32, 0x0c, 0xa4, +}; +static const struct drbg_kat_pr_false kat1714_t = { + 3, kat1714_entropyin, kat1714_nonce, kat1714_persstr, + kat1714_entropyinreseed, kat1714_addinreseed, kat1714_addin0, + kat1714_addin1, kat1714_retbits +}; +static const struct drbg_kat kat1714 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1714_t +}; + +static const unsigned char kat1715_entropyin[] = { + 0x89, 0xd5, 0xf4, 0x9b, 0x38, 0xc2, 0x51, 0x1d, 0xab, 0x84, 0xdd, 0x37, + 0x9d, 0x99, 0x96, 0x5d, 0x89, 0x7f, 0x82, 0x95, 0x29, 0x47, 0xad, 0xe4, +}; +static const unsigned char kat1715_nonce[] = { + 0xde, 0x6d, 0x08, 0x38, 0xf5, 0x29, 0x95, 0x26, 0x2f, 0xe8, 0xf9, 0x1c, + 0x24, 0x55, 0xa0, 0x9d, +}; +static const unsigned char kat1715_persstr[] = { + 0x94, 0x71, 0x58, 0x73, 0x11, 0xf5, 0x9d, 0xb5, 0xd7, 0xb5, 0x7b, 0x7b, + 0x74, 0xdb, 0x62, 0x68, 0x7d, 0x85, 0xa0, 0x8c, 0x22, 0x55, 0xf4, 0xa8, + 0x4e, 0x6c, 0x09, 0x6e, 0x53, 0xb3, 0x38, 0x18, +}; +static const unsigned char kat1715_entropyinreseed[] = { + 0xfe, 0xf4, 0xbf, 0x58, 0x4b, 0x76, 0x7c, 0xdf, 0xa2, 0x97, 0xf0, 0x77, + 0x17, 0xe0, 0x3b, 0x7e, 0x9a, 0x29, 0xf1, 0x61, 0xd1, 0x05, 0x04, 0x0b, +}; +static const unsigned char kat1715_addinreseed[] = {0}; +static const unsigned char kat1715_addin0[] = {0}; +static const unsigned char kat1715_addin1[] = {0}; +static const unsigned char kat1715_retbits[] = { + 0xb2, 0x3d, 0x19, 0xfd, 0xad, 0x4f, 0xb8, 0xe4, 0x5b, 0x2f, 0xb5, 0xed, + 0x80, 0x7b, 0xa3, 0xac, 0xb1, 0x1d, 0x56, 0x64, 0x9a, 0xc2, 0xef, 0x71, + 0x47, 0xc8, 0xc7, 0x8b, 0x13, 0x4c, 0x5b, 0xba, 0x87, 0xa7, 0x10, 0xcf, + 0xb6, 0xe6, 0x46, 0x02, 0x81, 0xdd, 0x4d, 0xb7, 0xd6, 0x28, 0x3e, 0x15, + 0x4a, 0xfa, 0x16, 0x49, 0x95, 0xaf, 0x02, 0x49, 0x11, 0x98, 0x38, 0xb2, + 0x2b, 0x8a, 0x5a, 0x4b, +}; +static const struct drbg_kat_pr_false kat1715_t = { + 4, kat1715_entropyin, kat1715_nonce, kat1715_persstr, + kat1715_entropyinreseed, kat1715_addinreseed, kat1715_addin0, + kat1715_addin1, kat1715_retbits +}; +static const struct drbg_kat kat1715 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1715_t +}; + +static const unsigned char kat1716_entropyin[] = { + 0x37, 0x78, 0xc9, 0x92, 0x77, 0x8f, 0x16, 0xf4, 0x8e, 0x46, 0xf6, 0x8c, + 0xe0, 0x0b, 0xe0, 0x24, 0x69, 0x6a, 0xae, 0xe2, 0xd5, 0x3c, 0xc6, 0xc9, +}; +static const unsigned char kat1716_nonce[] = { + 0x9e, 0xa6, 0x45, 0x1e, 0xe3, 0x1d, 0xf3, 0x0e, 0x60, 0xad, 0xbb, 0xf4, + 0xd8, 0x29, 0x87, 0x47, +}; +static const unsigned char kat1716_persstr[] = { + 0x5a, 0xed, 0x80, 0x56, 0xfe, 0x05, 0x89, 0x2e, 0x9c, 0x99, 0xc6, 0x0f, + 0x0b, 0xc1, 0xd9, 0xb2, 0x48, 0x48, 0xf7, 0x2a, 0x17, 0x22, 0xfc, 0x4f, + 0x48, 0x9a, 0x1e, 0xc2, 0x0b, 0x5d, 0x19, 0xd2, +}; +static const unsigned char kat1716_entropyinreseed[] = { + 0x42, 0x1f, 0x1b, 0x05, 0xf4, 0x7a, 0x0a, 0x11, 0x00, 0xeb, 0xb5, 0xcc, + 0xb0, 0x4d, 0xc3, 0x17, 0x87, 0x99, 0xd2, 0x40, 0x1f, 0x71, 0x98, 0x59, +}; +static const unsigned char kat1716_addinreseed[] = {0}; +static const unsigned char kat1716_addin0[] = {0}; +static const unsigned char kat1716_addin1[] = {0}; +static const unsigned char kat1716_retbits[] = { + 0xb5, 0x84, 0x04, 0x3c, 0xad, 0x7c, 0xd3, 0x46, 0xdf, 0xd0, 0x58, 0xd4, + 0x6b, 0x34, 0xf0, 0xba, 0x0c, 0xa6, 0xc3, 0x4b, 0x61, 0x98, 0xff, 0xf8, + 0xc8, 0x61, 0x47, 0x10, 0x48, 0x39, 0x29, 0xa1, 0x8b, 0xae, 0xe5, 0xa6, + 0x7b, 0x1b, 0x64, 0x8e, 0x6b, 0x27, 0xa7, 0xe9, 0x10, 0x0c, 0xb2, 0x8d, + 0x1a, 0x94, 0x23, 0x60, 0xf8, 0x52, 0x29, 0x5f, 0x33, 0xa8, 0xf8, 0xcf, + 0x09, 0xb8, 0x29, 0xcb, +}; +static const struct drbg_kat_pr_false kat1716_t = { + 5, kat1716_entropyin, kat1716_nonce, kat1716_persstr, + kat1716_entropyinreseed, kat1716_addinreseed, kat1716_addin0, + kat1716_addin1, kat1716_retbits +}; +static const struct drbg_kat kat1716 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1716_t +}; + +static const unsigned char kat1717_entropyin[] = { + 0x74, 0xed, 0x96, 0x9a, 0x5f, 0x80, 0x67, 0xa4, 0xbe, 0xe9, 0x9c, 0x24, + 0x8d, 0x79, 0x9a, 0x85, 0x49, 0x47, 0x93, 0x22, 0x46, 0x0e, 0x1c, 0x6d, +}; +static const unsigned char kat1717_nonce[] = { + 0xa8, 0xa5, 0xc8, 0x74, 0xcd, 0xdc, 0x73, 0xab, 0xd8, 0xa6, 0xcc, 0x5a, + 0x0c, 0xb2, 0x87, 0x18, +}; +static const unsigned char kat1717_persstr[] = { + 0xd7, 0xb6, 0x4d, 0x2d, 0xd3, 0xbd, 0xf5, 0xba, 0x98, 0xa6, 0xf6, 0x9e, + 0x90, 0x45, 0xf2, 0x61, 0xaa, 0xe3, 0x2e, 0xa4, 0xac, 0xe5, 0xca, 0x05, + 0x49, 0x69, 0xeb, 0x31, 0x33, 0x27, 0x0c, 0xbf, +}; +static const unsigned char kat1717_entropyinreseed[] = { + 0xbe, 0x88, 0x02, 0xae, 0x99, 0x5a, 0xea, 0x50, 0xa6, 0xde, 0x7d, 0xab, + 0x99, 0x72, 0xb8, 0x65, 0x32, 0x68, 0xaf, 0xfb, 0x68, 0x7b, 0x46, 0xb3, +}; +static const unsigned char kat1717_addinreseed[] = {0}; +static const unsigned char kat1717_addin0[] = {0}; +static const unsigned char kat1717_addin1[] = {0}; +static const unsigned char kat1717_retbits[] = { + 0x88, 0x75, 0x49, 0x97, 0xc4, 0x74, 0xbb, 0x30, 0xe9, 0xf1, 0x47, 0x27, + 0x3f, 0x65, 0x3c, 0x02, 0x69, 0x3b, 0xe2, 0xc2, 0xe4, 0x79, 0x53, 0xb4, + 0xc8, 0xff, 0x2c, 0x37, 0xa1, 0xe1, 0x95, 0x52, 0x19, 0x02, 0x3d, 0x5a, + 0xae, 0x09, 0xa8, 0xd3, 0x9d, 0x77, 0x2b, 0xdc, 0x58, 0x36, 0x10, 0x12, + 0x8b, 0x89, 0x44, 0x0c, 0x9d, 0x51, 0x56, 0x6d, 0xa8, 0xbd, 0xe9, 0x2c, + 0xc2, 0x65, 0x21, 0xcc, +}; +static const struct drbg_kat_pr_false kat1717_t = { + 6, kat1717_entropyin, kat1717_nonce, kat1717_persstr, + kat1717_entropyinreseed, kat1717_addinreseed, kat1717_addin0, + kat1717_addin1, kat1717_retbits +}; +static const struct drbg_kat kat1717 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1717_t +}; + +static const unsigned char kat1718_entropyin[] = { + 0x9f, 0xf4, 0xb4, 0xfe, 0x4b, 0xee, 0x71, 0xfc, 0xc8, 0x3c, 0xcb, 0xaa, + 0xb7, 0x37, 0x5f, 0xb2, 0x0d, 0x51, 0x80, 0x0e, 0x94, 0x6a, 0xa2, 0x0f, +}; +static const unsigned char kat1718_nonce[] = { + 0xcc, 0x4a, 0xab, 0x82, 0xec, 0x3b, 0xc4, 0x58, 0x8b, 0x84, 0x8c, 0x41, + 0x29, 0x3a, 0x57, 0x18, +}; +static const unsigned char kat1718_persstr[] = { + 0x0f, 0x49, 0x26, 0x17, 0xa1, 0x89, 0xe9, 0xd5, 0x35, 0xca, 0x7b, 0x64, + 0xad, 0xbb, 0x6a, 0x6d, 0xab, 0x3a, 0x5b, 0xe5, 0x13, 0xf8, 0x67, 0x42, + 0xf9, 0x61, 0xd0, 0xc8, 0xda, 0xa5, 0x38, 0x37, +}; +static const unsigned char kat1718_entropyinreseed[] = { + 0x99, 0xd6, 0x88, 0x49, 0x9f, 0x6b, 0xe5, 0xda, 0x36, 0xb9, 0xc9, 0xba, + 0x94, 0x3e, 0xec, 0x84, 0x7b, 0x4b, 0x6b, 0x3c, 0xf3, 0x18, 0x40, 0xd0, +}; +static const unsigned char kat1718_addinreseed[] = {0}; +static const unsigned char kat1718_addin0[] = {0}; +static const unsigned char kat1718_addin1[] = {0}; +static const unsigned char kat1718_retbits[] = { + 0x3c, 0x4c, 0x9a, 0x4c, 0x1c, 0x82, 0xf1, 0x6a, 0x3f, 0x72, 0xc2, 0x1a, + 0xd9, 0xc0, 0x25, 0x7b, 0x5c, 0x69, 0xfb, 0xd1, 0x2b, 0x70, 0xa3, 0xa8, + 0xbd, 0x2c, 0xa4, 0x2a, 0x20, 0x33, 0xa2, 0x31, 0xbe, 0xc4, 0xd9, 0x32, + 0x46, 0xd2, 0x5c, 0xaa, 0x68, 0xd6, 0x0c, 0x7a, 0xab, 0x41, 0x94, 0x38, + 0x1a, 0x30, 0x9a, 0x1a, 0xaa, 0x07, 0x98, 0x93, 0xf7, 0x8a, 0x96, 0xac, + 0xcf, 0x1e, 0x10, 0xba, +}; +static const struct drbg_kat_pr_false kat1718_t = { + 7, kat1718_entropyin, kat1718_nonce, kat1718_persstr, + kat1718_entropyinreseed, kat1718_addinreseed, kat1718_addin0, + kat1718_addin1, kat1718_retbits +}; +static const struct drbg_kat kat1718 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1718_t +}; + +static const unsigned char kat1719_entropyin[] = { + 0xee, 0xf4, 0xce, 0x64, 0x12, 0xc0, 0x29, 0xdb, 0xd0, 0x09, 0x0f, 0x6b, + 0xfb, 0x56, 0x42, 0x68, 0x9c, 0x53, 0x66, 0xef, 0x4b, 0x31, 0x08, 0x9c, +}; +static const unsigned char kat1719_nonce[] = { + 0x01, 0xf9, 0x80, 0x77, 0x3c, 0x1c, 0x7a, 0xef, 0xa2, 0x18, 0xa7, 0x67, + 0xae, 0x02, 0x3e, 0xe7, +}; +static const unsigned char kat1719_persstr[] = { + 0xa9, 0xff, 0x72, 0x03, 0xce, 0x16, 0xa7, 0x20, 0xb8, 0xb6, 0x51, 0x4d, + 0xff, 0x58, 0x7f, 0x54, 0xeb, 0x28, 0x32, 0x36, 0x69, 0xd0, 0x1b, 0x9e, + 0x55, 0xfc, 0xd3, 0x4a, 0x98, 0xdc, 0xad, 0x90, +}; +static const unsigned char kat1719_entropyinreseed[] = { + 0x19, 0x26, 0xa7, 0x29, 0xcc, 0x54, 0xe2, 0x28, 0x69, 0xfa, 0xd8, 0x0d, + 0xb7, 0x74, 0xd8, 0x4f, 0x42, 0xd7, 0x38, 0xd3, 0xc8, 0x84, 0x8d, 0x1e, +}; +static const unsigned char kat1719_addinreseed[] = {0}; +static const unsigned char kat1719_addin0[] = {0}; +static const unsigned char kat1719_addin1[] = {0}; +static const unsigned char kat1719_retbits[] = { + 0x52, 0x23, 0xf2, 0x69, 0xda, 0xf6, 0xb4, 0x78, 0xcd, 0x31, 0x05, 0xb8, + 0xd6, 0x89, 0xcb, 0x0b, 0x32, 0x24, 0x7a, 0x47, 0x64, 0xd8, 0xb0, 0x52, + 0xbe, 0x2c, 0x3f, 0xdd, 0x8a, 0x61, 0x0a, 0xc8, 0x93, 0x82, 0x28, 0x20, + 0xac, 0xba, 0x53, 0xc0, 0x36, 0x85, 0x18, 0xef, 0x3a, 0x3f, 0xdf, 0x98, + 0xf5, 0xf4, 0x44, 0x07, 0x89, 0xfc, 0x2b, 0xf4, 0xb1, 0xe9, 0x99, 0xb3, + 0x84, 0xfb, 0x8a, 0x5b, +}; +static const struct drbg_kat_pr_false kat1719_t = { + 8, kat1719_entropyin, kat1719_nonce, kat1719_persstr, + kat1719_entropyinreseed, kat1719_addinreseed, kat1719_addin0, + kat1719_addin1, kat1719_retbits +}; +static const struct drbg_kat kat1719 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1719_t +}; + +static const unsigned char kat1720_entropyin[] = { + 0x64, 0x0c, 0xb5, 0x2b, 0xb0, 0x72, 0x0e, 0xcf, 0x4d, 0x69, 0xd9, 0x03, + 0x7c, 0x8a, 0x96, 0x99, 0x9d, 0x06, 0x22, 0x1a, 0xaa, 0x53, 0xf0, 0xd5, +}; +static const unsigned char kat1720_nonce[] = { + 0xd8, 0x35, 0x3d, 0xc3, 0x3b, 0x33, 0x28, 0x7b, 0x7f, 0xfd, 0x91, 0x00, + 0xbc, 0xcb, 0x55, 0x54, +}; +static const unsigned char kat1720_persstr[] = { + 0x98, 0x9f, 0x1c, 0xa7, 0xd6, 0x3a, 0xd2, 0xbf, 0x8a, 0x2c, 0x34, 0x92, + 0x1a, 0xd7, 0xbf, 0x8a, 0xf3, 0xd8, 0x30, 0xdc, 0x1c, 0xae, 0xa6, 0xa8, + 0x4d, 0x2c, 0x88, 0xbe, 0xf3, 0x31, 0x8a, 0xa8, +}; +static const unsigned char kat1720_entropyinreseed[] = { + 0x86, 0x5f, 0x77, 0x28, 0x22, 0xf1, 0x85, 0x63, 0xe9, 0x74, 0x71, 0x54, + 0xec, 0xa2, 0xb8, 0x6f, 0x38, 0x66, 0xc3, 0xe1, 0x52, 0x29, 0x3e, 0x27, +}; +static const unsigned char kat1720_addinreseed[] = {0}; +static const unsigned char kat1720_addin0[] = {0}; +static const unsigned char kat1720_addin1[] = {0}; +static const unsigned char kat1720_retbits[] = { + 0xeb, 0x3d, 0xfb, 0xca, 0xaf, 0x41, 0xdb, 0xa5, 0xb4, 0xcb, 0x13, 0x34, + 0xdf, 0x47, 0xb0, 0x88, 0xd3, 0x4e, 0x7e, 0x6e, 0x13, 0x40, 0x64, 0x5d, + 0x19, 0x6b, 0x40, 0x57, 0x9a, 0xaa, 0xed, 0x94, 0x4e, 0x93, 0xe2, 0xde, + 0x78, 0x1b, 0x62, 0x15, 0x2d, 0x75, 0xe8, 0x2a, 0xf9, 0x03, 0x6d, 0x7c, + 0xca, 0xf3, 0xf8, 0x3d, 0x67, 0x46, 0x5c, 0xce, 0x27, 0x46, 0xf7, 0xb6, + 0xb3, 0xe2, 0x6e, 0x58, +}; +static const struct drbg_kat_pr_false kat1720_t = { + 9, kat1720_entropyin, kat1720_nonce, kat1720_persstr, + kat1720_entropyinreseed, kat1720_addinreseed, kat1720_addin0, + kat1720_addin1, kat1720_retbits +}; +static const struct drbg_kat kat1720 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1720_t +}; + +static const unsigned char kat1721_entropyin[] = { + 0x5e, 0x26, 0x76, 0xdc, 0x7c, 0x0e, 0x85, 0xe7, 0x2a, 0xa4, 0x83, 0x86, + 0x39, 0x96, 0x7e, 0x04, 0xf7, 0x70, 0x1c, 0x11, 0x15, 0x04, 0xa4, 0xec, +}; +static const unsigned char kat1721_nonce[] = { + 0x29, 0x3a, 0x64, 0x5b, 0xe4, 0x3e, 0xe7, 0x92, 0xdf, 0x89, 0xea, 0x78, + 0xc8, 0xfc, 0xe5, 0x75, +}; +static const unsigned char kat1721_persstr[] = { + 0xcc, 0xb1, 0x3a, 0xdc, 0xbd, 0xf1, 0x12, 0x97, 0x9c, 0xcf, 0xcd, 0x1c, + 0xb4, 0x0f, 0x74, 0x43, 0xb0, 0x82, 0x07, 0xda, 0x54, 0x38, 0x36, 0xa6, + 0x95, 0x21, 0x49, 0xbc, 0x9a, 0x8b, 0x95, 0x37, +}; +static const unsigned char kat1721_entropyinreseed[] = { + 0x64, 0x0e, 0x6e, 0xdb, 0x68, 0x3f, 0xcb, 0xa5, 0xb1, 0x0d, 0x3c, 0x39, + 0x5b, 0x19, 0xbf, 0xe0, 0x3b, 0x64, 0x98, 0xe1, 0x40, 0x30, 0x2a, 0x5a, +}; +static const unsigned char kat1721_addinreseed[] = {0}; +static const unsigned char kat1721_addin0[] = {0}; +static const unsigned char kat1721_addin1[] = {0}; +static const unsigned char kat1721_retbits[] = { + 0xf7, 0x0e, 0x60, 0x47, 0x1a, 0x48, 0x04, 0x9a, 0x4a, 0x85, 0x19, 0x1f, + 0x4d, 0xc2, 0xa5, 0xaa, 0x0d, 0xa1, 0x1a, 0x45, 0x51, 0xb3, 0xc1, 0xee, + 0x49, 0x13, 0x67, 0xb8, 0x5d, 0x4e, 0x10, 0x01, 0x4b, 0xd9, 0x14, 0x22, + 0x3e, 0xa7, 0x0b, 0x20, 0x99, 0xd8, 0x31, 0x65, 0xfe, 0xef, 0x3e, 0x96, + 0x6e, 0x29, 0x72, 0xc5, 0x54, 0xc3, 0x97, 0xd3, 0x3b, 0xfe, 0x5c, 0x77, + 0x34, 0xec, 0x3f, 0xaf, +}; +static const struct drbg_kat_pr_false kat1721_t = { + 10, kat1721_entropyin, kat1721_nonce, kat1721_persstr, + kat1721_entropyinreseed, kat1721_addinreseed, kat1721_addin0, + kat1721_addin1, kat1721_retbits +}; +static const struct drbg_kat kat1721 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1721_t +}; + +static const unsigned char kat1722_entropyin[] = { + 0x87, 0x92, 0xc5, 0xa2, 0xc8, 0x4b, 0x1b, 0x9d, 0xcd, 0x2a, 0x7f, 0xcc, + 0x4a, 0x38, 0xd6, 0xcc, 0x85, 0x24, 0x34, 0xde, 0x18, 0xb0, 0xf2, 0xd6, +}; +static const unsigned char kat1722_nonce[] = { + 0x01, 0x13, 0x24, 0x11, 0xa6, 0xdf, 0x2f, 0x1f, 0xac, 0x37, 0x4f, 0xba, + 0x2e, 0x96, 0x1d, 0x52, +}; +static const unsigned char kat1722_persstr[] = { + 0xe9, 0x85, 0xad, 0x13, 0x5f, 0x44, 0xc4, 0xf0, 0x68, 0xc1, 0x9b, 0xa4, + 0x2a, 0x47, 0x4a, 0x78, 0x2c, 0x4b, 0x23, 0x92, 0xa5, 0xa9, 0x43, 0xe6, + 0x29, 0x80, 0x2b, 0x27, 0x58, 0x23, 0x1e, 0x74, +}; +static const unsigned char kat1722_entropyinreseed[] = { + 0x51, 0xea, 0x69, 0x00, 0xe3, 0xd2, 0x78, 0x9e, 0x9f, 0x13, 0x53, 0x54, + 0xb6, 0x63, 0x8f, 0xf3, 0xdd, 0x49, 0x57, 0xf9, 0x28, 0x91, 0xba, 0x66, +}; +static const unsigned char kat1722_addinreseed[] = {0}; +static const unsigned char kat1722_addin0[] = {0}; +static const unsigned char kat1722_addin1[] = {0}; +static const unsigned char kat1722_retbits[] = { + 0xb3, 0x84, 0xb7, 0x29, 0x30, 0xd1, 0xb5, 0x31, 0xb5, 0xe2, 0x82, 0x21, + 0x33, 0x9e, 0xd2, 0x8d, 0x04, 0x5c, 0x72, 0x93, 0x67, 0x3d, 0x73, 0x65, + 0xab, 0x2b, 0x0b, 0x28, 0xaf, 0x0d, 0x82, 0xca, 0x97, 0xb6, 0x23, 0xf9, + 0x1b, 0x0b, 0x65, 0x08, 0xfa, 0x3f, 0xec, 0x78, 0xe2, 0xc5, 0x60, 0x07, + 0x40, 0x35, 0x7e, 0x77, 0xc1, 0xac, 0x67, 0x3b, 0xd3, 0x86, 0x12, 0xaa, + 0xa9, 0x1b, 0x46, 0xe3, +}; +static const struct drbg_kat_pr_false kat1722_t = { + 11, kat1722_entropyin, kat1722_nonce, kat1722_persstr, + kat1722_entropyinreseed, kat1722_addinreseed, kat1722_addin0, + kat1722_addin1, kat1722_retbits +}; +static const struct drbg_kat kat1722 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1722_t +}; + +static const unsigned char kat1723_entropyin[] = { + 0x55, 0x72, 0xc0, 0xf3, 0x52, 0x0c, 0xe2, 0x5b, 0x4b, 0xac, 0xbd, 0x82, + 0x76, 0xbe, 0xaa, 0x9c, 0x8a, 0xd4, 0xf8, 0xcd, 0xda, 0xfd, 0x8d, 0xaa, +}; +static const unsigned char kat1723_nonce[] = { + 0x46, 0xf2, 0x4e, 0x7a, 0x1d, 0xe7, 0x69, 0x48, 0x44, 0x64, 0xab, 0x41, + 0x97, 0x21, 0x26, 0x3e, +}; +static const unsigned char kat1723_persstr[] = { + 0xde, 0xe6, 0x58, 0x9c, 0x8b, 0x97, 0x2b, 0x0b, 0x58, 0x18, 0x52, 0xa2, + 0x63, 0x01, 0xcf, 0x5c, 0x2e, 0x7b, 0x58, 0x2f, 0x5d, 0x57, 0x4d, 0x41, + 0x34, 0xdb, 0x5a, 0x46, 0x20, 0x27, 0x10, 0x45, +}; +static const unsigned char kat1723_entropyinreseed[] = { + 0xf2, 0x5a, 0xc7, 0xa1, 0xd9, 0xfb, 0xa5, 0x74, 0xf5, 0x5a, 0x73, 0x8d, + 0x81, 0xd7, 0x30, 0xd4, 0xa6, 0x78, 0xc9, 0x22, 0xab, 0xff, 0x56, 0x67, +}; +static const unsigned char kat1723_addinreseed[] = {0}; +static const unsigned char kat1723_addin0[] = {0}; +static const unsigned char kat1723_addin1[] = {0}; +static const unsigned char kat1723_retbits[] = { + 0xbc, 0x7e, 0x16, 0xf8, 0xc6, 0x43, 0x2d, 0xa6, 0xd7, 0xf9, 0xf1, 0x87, + 0x65, 0x0a, 0x33, 0x08, 0x60, 0xe6, 0xb7, 0x07, 0xc2, 0xfe, 0x2b, 0xda, + 0x14, 0x6a, 0x5a, 0xdb, 0xbb, 0xac, 0xd3, 0x05, 0xc8, 0x13, 0x66, 0xe1, + 0x5f, 0x26, 0x9f, 0xcf, 0x33, 0xb4, 0x0c, 0xc1, 0x71, 0x0e, 0x2e, 0xfe, + 0x3d, 0x96, 0x91, 0x9b, 0x50, 0x09, 0xfb, 0xad, 0xc0, 0x26, 0x6d, 0xde, + 0xe8, 0x5e, 0x02, 0xf5, +}; +static const struct drbg_kat_pr_false kat1723_t = { + 12, kat1723_entropyin, kat1723_nonce, kat1723_persstr, + kat1723_entropyinreseed, kat1723_addinreseed, kat1723_addin0, + kat1723_addin1, kat1723_retbits +}; +static const struct drbg_kat kat1723 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1723_t +}; + +static const unsigned char kat1724_entropyin[] = { + 0x89, 0xbb, 0xe5, 0xd0, 0x01, 0xdb, 0x9f, 0xb2, 0x19, 0x8d, 0xb6, 0xd9, + 0x25, 0xd6, 0xca, 0x12, 0xf6, 0x8a, 0x2a, 0x52, 0x50, 0xa1, 0x42, 0xa4, +}; +static const unsigned char kat1724_nonce[] = { + 0xf4, 0x58, 0x12, 0x7b, 0x7a, 0x5d, 0xce, 0x83, 0xee, 0xb8, 0x7b, 0xe8, + 0x24, 0xe1, 0xa5, 0xac, +}; +static const unsigned char kat1724_persstr[] = { + 0x23, 0x96, 0xa7, 0x14, 0x68, 0x43, 0x5c, 0x63, 0x5e, 0x51, 0xf4, 0xf7, + 0xd3, 0x8c, 0x4a, 0x11, 0x57, 0x24, 0x0e, 0xd9, 0xa4, 0xf6, 0x32, 0x3e, + 0x13, 0xe7, 0xdb, 0x34, 0x0a, 0xba, 0x16, 0x62, +}; +static const unsigned char kat1724_entropyinreseed[] = { + 0xe1, 0x34, 0x62, 0x32, 0x55, 0x02, 0x90, 0x60, 0x02, 0xeb, 0xf9, 0x0b, + 0xc2, 0xa4, 0x2b, 0xb1, 0x06, 0xf2, 0xd7, 0x35, 0xf1, 0xd6, 0x97, 0x10, +}; +static const unsigned char kat1724_addinreseed[] = {0}; +static const unsigned char kat1724_addin0[] = {0}; +static const unsigned char kat1724_addin1[] = {0}; +static const unsigned char kat1724_retbits[] = { + 0x0c, 0xf5, 0xa2, 0x54, 0x85, 0xac, 0x14, 0x0b, 0xc6, 0x49, 0x71, 0xd9, + 0xb1, 0x73, 0x4f, 0xa5, 0x7b, 0xad, 0xad, 0xa8, 0xea, 0x2b, 0xaa, 0xc7, + 0x0b, 0xb2, 0x9d, 0xc2, 0x3a, 0xb5, 0x32, 0x79, 0xeb, 0xe5, 0x44, 0x4d, + 0xe2, 0x31, 0x98, 0x79, 0x63, 0x98, 0x21, 0x44, 0x83, 0xe8, 0xba, 0x12, + 0xee, 0x64, 0x7c, 0x3f, 0x06, 0x68, 0xdf, 0xff, 0x2d, 0x97, 0x9a, 0xe0, + 0x41, 0x43, 0xfb, 0x3d, +}; +static const struct drbg_kat_pr_false kat1724_t = { + 13, kat1724_entropyin, kat1724_nonce, kat1724_persstr, + kat1724_entropyinreseed, kat1724_addinreseed, kat1724_addin0, + kat1724_addin1, kat1724_retbits +}; +static const struct drbg_kat kat1724 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1724_t +}; + +static const unsigned char kat1725_entropyin[] = { + 0x8d, 0xf6, 0x79, 0x6a, 0xa3, 0x55, 0x95, 0xbe, 0x1f, 0x4f, 0x9f, 0x07, + 0x40, 0xe2, 0xa8, 0x22, 0x33, 0x2c, 0x82, 0xfb, 0xb9, 0xce, 0x49, 0x2e, +}; +static const unsigned char kat1725_nonce[] = { + 0x12, 0x55, 0x05, 0xcb, 0x0c, 0x37, 0xe0, 0x4b, 0xb9, 0xac, 0x58, 0x99, + 0x06, 0x99, 0xa9, 0x25, +}; +static const unsigned char kat1725_persstr[] = { + 0xff, 0xd7, 0x5a, 0x98, 0xdc, 0xf5, 0x21, 0x8a, 0x81, 0xf5, 0x82, 0x00, + 0x87, 0xee, 0xc8, 0x4a, 0x4a, 0x07, 0x60, 0x01, 0xb0, 0x1e, 0x24, 0xcc, + 0x8c, 0x15, 0x68, 0x03, 0xcc, 0xf9, 0x94, 0x35, +}; +static const unsigned char kat1725_entropyinreseed[] = { + 0x59, 0x94, 0x88, 0x01, 0x9a, 0x36, 0x13, 0x20, 0x02, 0x36, 0x7d, 0xf6, + 0xe2, 0xa6, 0xf8, 0x27, 0x35, 0xed, 0x55, 0xd5, 0xfa, 0x1c, 0x91, 0x46, +}; +static const unsigned char kat1725_addinreseed[] = {0}; +static const unsigned char kat1725_addin0[] = {0}; +static const unsigned char kat1725_addin1[] = {0}; +static const unsigned char kat1725_retbits[] = { + 0x73, 0xb0, 0x9a, 0xef, 0x67, 0x83, 0xb0, 0xc9, 0xd3, 0x08, 0xda, 0xb8, + 0xc9, 0x61, 0xbe, 0x7a, 0xe3, 0x4a, 0xff, 0xd4, 0xd0, 0x72, 0x56, 0x84, + 0x29, 0x8a, 0x2c, 0x76, 0x57, 0xe5, 0xa3, 0x3f, 0xe3, 0x67, 0x78, 0x1e, + 0xe1, 0xa7, 0xf2, 0x7e, 0x33, 0x7c, 0x23, 0xef, 0x7a, 0x35, 0x5d, 0x78, + 0x00, 0xf0, 0x85, 0x42, 0x00, 0x5f, 0x96, 0x86, 0xf2, 0xa8, 0x76, 0x2e, + 0xe8, 0xf6, 0xdb, 0x35, +}; +static const struct drbg_kat_pr_false kat1725_t = { + 14, kat1725_entropyin, kat1725_nonce, kat1725_persstr, + kat1725_entropyinreseed, kat1725_addinreseed, kat1725_addin0, + kat1725_addin1, kat1725_retbits +}; +static const struct drbg_kat kat1725 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1725_t +}; + +static const unsigned char kat1726_entropyin[] = { + 0xc4, 0xb1, 0xe6, 0xa9, 0x95, 0x87, 0xea, 0xcd, 0x7e, 0xc8, 0x51, 0x7f, + 0x40, 0xf9, 0x43, 0x3c, 0xa4, 0x32, 0xce, 0xa8, 0x68, 0x64, 0x33, 0xf0, +}; +static const unsigned char kat1726_nonce[] = { + 0xd0, 0x3a, 0x29, 0xe5, 0x48, 0xe5, 0x8c, 0xa7, 0xcb, 0xf0, 0xac, 0x70, + 0x7b, 0x14, 0x64, 0xe3, +}; +static const unsigned char kat1726_persstr[] = { + 0x0d, 0xaa, 0xea, 0xd2, 0x17, 0x79, 0xb2, 0xa4, 0x28, 0xd2, 0xb7, 0xfb, + 0x12, 0xd9, 0xab, 0x83, 0x16, 0x89, 0x9e, 0xdb, 0xe2, 0x6b, 0x54, 0x60, + 0xde, 0x15, 0x49, 0xc9, 0x9e, 0x47, 0x81, 0xc9, +}; +static const unsigned char kat1726_entropyinreseed[] = { + 0x22, 0x29, 0x14, 0x4c, 0x1b, 0x4e, 0xfb, 0x79, 0xab, 0x5f, 0xe0, 0x79, + 0xcd, 0xa2, 0x6b, 0xc3, 0x3a, 0xcb, 0xb2, 0xa0, 0xa8, 0x7f, 0x64, 0x2c, +}; +static const unsigned char kat1726_addinreseed[] = { + 0xf1, 0x16, 0xa6, 0x83, 0xca, 0x48, 0x5f, 0xda, 0x84, 0x6a, 0x59, 0x8b, + 0x8d, 0x9b, 0x07, 0x9e, 0x78, 0xc2, 0x82, 0x82, 0x86, 0xad, 0x53, 0x0b, + 0xf0, 0x1f, 0x69, 0x3c, 0xc8, 0xaf, 0x9f, 0x84, +}; +static const unsigned char kat1726_addin0[] = { + 0x7c, 0x89, 0xde, 0x35, 0x32, 0x98, 0x93, 0x5b, 0xd2, 0x6a, 0xa1, 0x85, + 0x17, 0x35, 0x53, 0x13, 0xdf, 0x06, 0x30, 0xda, 0x5f, 0x45, 0xea, 0x02, + 0x40, 0xe8, 0x09, 0x17, 0x93, 0x63, 0x08, 0x0b, +}; +static const unsigned char kat1726_addin1[] = { + 0xe9, 0x78, 0xb8, 0xfe, 0x56, 0xaf, 0xc9, 0x08, 0xbe, 0xd1, 0x29, 0xa4, + 0x6d, 0x57, 0xa8, 0x69, 0x8d, 0x66, 0x03, 0x4d, 0x4d, 0xbc, 0xc7, 0xab, + 0xa3, 0xa3, 0x3d, 0x57, 0x96, 0xfb, 0x75, 0x59, +}; +static const unsigned char kat1726_retbits[] = { + 0x8c, 0xe7, 0xe9, 0x58, 0x9c, 0x29, 0x75, 0xfd, 0x69, 0x89, 0xa4, 0x50, + 0xaa, 0x65, 0xda, 0x91, 0x14, 0xe5, 0x15, 0x77, 0x7c, 0x97, 0x35, 0x1d, + 0xa0, 0x37, 0xcc, 0xb7, 0x2d, 0x49, 0x87, 0xeb, 0x69, 0xc6, 0x80, 0x41, + 0x17, 0x24, 0xed, 0x60, 0x2e, 0x6a, 0xc7, 0x6c, 0xd2, 0xd0, 0x85, 0x72, + 0x56, 0x16, 0xc9, 0x27, 0x77, 0xa4, 0x66, 0x4d, 0x43, 0xa5, 0x9c, 0x3a, + 0xe9, 0x94, 0x61, 0x34, +}; +static const struct drbg_kat_pr_false kat1726_t = { + 0, kat1726_entropyin, kat1726_nonce, kat1726_persstr, + kat1726_entropyinreseed, kat1726_addinreseed, kat1726_addin0, + kat1726_addin1, kat1726_retbits +}; +static const struct drbg_kat kat1726 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1726_t +}; + +static const unsigned char kat1727_entropyin[] = { + 0xc5, 0x8a, 0xd5, 0x0f, 0x48, 0x8b, 0xd6, 0x92, 0x5c, 0x0e, 0x92, 0x3e, + 0x83, 0x64, 0xe8, 0x2d, 0x65, 0x5f, 0xd4, 0xd9, 0xbc, 0x05, 0xc9, 0xf0, +}; +static const unsigned char kat1727_nonce[] = { + 0x21, 0x9c, 0xb7, 0x12, 0x58, 0x11, 0x87, 0x72, 0x65, 0x27, 0xa2, 0x63, + 0x3c, 0x55, 0x05, 0xa6, +}; +static const unsigned char kat1727_persstr[] = { + 0xdf, 0x4d, 0x6e, 0xba, 0xba, 0xbf, 0xb2, 0x09, 0xa6, 0x01, 0xb9, 0x38, + 0xa6, 0x55, 0x6f, 0xf0, 0x37, 0xac, 0x2d, 0x51, 0xef, 0xaa, 0x23, 0x7b, + 0x34, 0x7d, 0x5d, 0xff, 0xff, 0x1e, 0x12, 0x71, +}; +static const unsigned char kat1727_entropyinreseed[] = { + 0xe4, 0x71, 0xdb, 0x32, 0xc9, 0xc5, 0x0c, 0x26, 0x88, 0x07, 0x52, 0x51, + 0xcc, 0x45, 0x51, 0x60, 0x4d, 0x02, 0xe2, 0xc1, 0x39, 0x82, 0x37, 0x52, +}; +static const unsigned char kat1727_addinreseed[] = { + 0xe5, 0xb1, 0xec, 0x5e, 0x6e, 0x8b, 0x43, 0x24, 0xb9, 0xe5, 0x02, 0xfb, + 0x88, 0xf9, 0xec, 0x66, 0x71, 0xec, 0x49, 0x41, 0x40, 0xc4, 0x6e, 0x58, + 0xec, 0x1d, 0x0c, 0x87, 0xd4, 0xff, 0x23, 0x64, +}; +static const unsigned char kat1727_addin0[] = { + 0xa7, 0x70, 0xf7, 0x3e, 0x3b, 0xfb, 0xe6, 0x1e, 0x8f, 0x05, 0xee, 0x03, + 0x4c, 0xdb, 0xc1, 0x45, 0x8f, 0x53, 0x42, 0xfb, 0xa9, 0xf0, 0x4d, 0xc2, + 0xeb, 0x52, 0x57, 0x39, 0x08, 0xd3, 0xd1, 0x6c, +}; +static const unsigned char kat1727_addin1[] = { + 0xaf, 0x96, 0x18, 0x16, 0x0e, 0x6e, 0x6f, 0x65, 0x65, 0x47, 0x9c, 0x74, + 0x4b, 0x75, 0xcc, 0x8a, 0xde, 0x16, 0x66, 0xd9, 0x4d, 0xa7, 0x90, 0x08, + 0x6a, 0x2e, 0x82, 0x13, 0xdd, 0xc9, 0xcc, 0x19, +}; +static const unsigned char kat1727_retbits[] = { + 0x3f, 0x8e, 0xff, 0x82, 0x47, 0x90, 0xe0, 0xec, 0x6d, 0x07, 0xfa, 0x28, + 0xe0, 0xa0, 0x0e, 0x8e, 0x06, 0xda, 0xd0, 0x33, 0xfa, 0x2d, 0xe5, 0xb9, + 0x7b, 0x4d, 0x46, 0x7c, 0x70, 0xa9, 0x13, 0xff, 0xa2, 0x5c, 0xbb, 0x30, + 0x05, 0x97, 0x0e, 0x65, 0xcb, 0x3f, 0x34, 0x24, 0x85, 0x5d, 0x4b, 0xfa, + 0x10, 0xf7, 0x25, 0x68, 0xcb, 0x5e, 0x91, 0xe3, 0xfc, 0x1d, 0x6d, 0x81, + 0x78, 0x33, 0x1f, 0x8c, +}; +static const struct drbg_kat_pr_false kat1727_t = { + 1, kat1727_entropyin, kat1727_nonce, kat1727_persstr, + kat1727_entropyinreseed, kat1727_addinreseed, kat1727_addin0, + kat1727_addin1, kat1727_retbits +}; +static const struct drbg_kat kat1727 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1727_t +}; + +static const unsigned char kat1728_entropyin[] = { + 0x8a, 0xba, 0xfd, 0xcc, 0xff, 0x47, 0x08, 0x84, 0x5a, 0x5f, 0x0a, 0x21, + 0xd9, 0x9b, 0xd7, 0xc7, 0x4c, 0xff, 0xc9, 0x5a, 0x60, 0xab, 0x9e, 0x8a, +}; +static const unsigned char kat1728_nonce[] = { + 0xa7, 0xd9, 0x8d, 0xa9, 0x54, 0xc3, 0x3f, 0xaf, 0xca, 0x07, 0x01, 0x73, + 0x90, 0x59, 0x1d, 0x53, +}; +static const unsigned char kat1728_persstr[] = { + 0xdc, 0x7a, 0x32, 0x71, 0x1d, 0x69, 0x33, 0xb6, 0xfc, 0x10, 0x18, 0x4a, + 0xe0, 0x80, 0x89, 0xa2, 0xb9, 0x6d, 0x44, 0x48, 0x67, 0x6b, 0xcc, 0xb4, + 0xe8, 0xf0, 0xf6, 0x9a, 0x46, 0x6d, 0x44, 0x49, +}; +static const unsigned char kat1728_entropyinreseed[] = { + 0xc3, 0x8c, 0xe5, 0x72, 0x84, 0x0b, 0x16, 0x38, 0xef, 0xf0, 0xc1, 0x80, + 0x1f, 0x40, 0xbe, 0xa2, 0x4b, 0x71, 0xaf, 0xb1, 0x41, 0xee, 0xeb, 0xa0, +}; +static const unsigned char kat1728_addinreseed[] = { + 0x3c, 0xa0, 0x5c, 0x23, 0xd8, 0x25, 0x91, 0x7e, 0x4a, 0x98, 0xd9, 0xbf, + 0x1b, 0xeb, 0xc7, 0x25, 0xca, 0x04, 0x54, 0xa0, 0x62, 0x8c, 0xba, 0x77, + 0x68, 0x6e, 0xe5, 0x8d, 0x45, 0x6a, 0x5b, 0x39, +}; +static const unsigned char kat1728_addin0[] = { + 0x92, 0x07, 0x10, 0x1a, 0x61, 0x71, 0x0e, 0xdc, 0xc6, 0x02, 0xd4, 0x31, + 0xb4, 0xb9, 0xf1, 0x3a, 0x1b, 0xb0, 0xf4, 0x3a, 0x0d, 0xbe, 0x3e, 0x97, + 0xa4, 0xce, 0xdc, 0x32, 0xcc, 0x17, 0xf4, 0xc6, +}; +static const unsigned char kat1728_addin1[] = { + 0x8d, 0xfe, 0xcd, 0x01, 0xba, 0xe7, 0xc6, 0xf4, 0x71, 0x9b, 0x2f, 0x12, + 0x0b, 0x6b, 0xf1, 0x1b, 0x84, 0x8f, 0xf5, 0x64, 0x8d, 0xf3, 0x03, 0x04, + 0xe3, 0x40, 0xde, 0x90, 0xc3, 0x34, 0x2b, 0xb0, +}; +static const unsigned char kat1728_retbits[] = { + 0x6b, 0x87, 0x6e, 0xb3, 0xd2, 0x91, 0xfb, 0xc4, 0x97, 0x30, 0xb5, 0x51, + 0x5a, 0x32, 0x65, 0x87, 0x29, 0x7e, 0x97, 0x13, 0x60, 0xdb, 0xe2, 0x94, + 0xee, 0xce, 0x35, 0xd0, 0xdc, 0x00, 0x58, 0xc0, 0x69, 0x5f, 0xa0, 0x61, + 0xb2, 0x36, 0x45, 0x79, 0x15, 0xc4, 0x70, 0x12, 0xb7, 0x89, 0xec, 0xdc, + 0xe6, 0xc0, 0x8b, 0x5a, 0x47, 0xa0, 0xe5, 0xd1, 0xd2, 0x3d, 0xb3, 0x07, + 0x3b, 0xf2, 0x92, 0xcc, +}; +static const struct drbg_kat_pr_false kat1728_t = { + 2, kat1728_entropyin, kat1728_nonce, kat1728_persstr, + kat1728_entropyinreseed, kat1728_addinreseed, kat1728_addin0, + kat1728_addin1, kat1728_retbits +}; +static const struct drbg_kat kat1728 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1728_t +}; + +static const unsigned char kat1729_entropyin[] = { + 0x6b, 0xbf, 0xcc, 0x3a, 0xdc, 0xb5, 0x7d, 0x1a, 0x54, 0x2a, 0x24, 0x6f, + 0xac, 0xd8, 0x99, 0x24, 0x41, 0x62, 0xdd, 0x9a, 0xfb, 0xe4, 0xcb, 0xe9, +}; +static const unsigned char kat1729_nonce[] = { + 0x98, 0xf6, 0x06, 0x43, 0xcb, 0x5d, 0xd6, 0x6b, 0x41, 0x5b, 0x42, 0x85, + 0xf6, 0x06, 0x21, 0x2d, +}; +static const unsigned char kat1729_persstr[] = { + 0x38, 0x4b, 0x97, 0x79, 0x3b, 0x9d, 0x51, 0x8d, 0xbf, 0x71, 0x89, 0x0c, + 0xbf, 0x13, 0x83, 0x6e, 0x51, 0xb9, 0xe9, 0xb1, 0xd6, 0xf7, 0x69, 0xca, + 0xc2, 0x0b, 0x71, 0xcf, 0x51, 0xd3, 0x13, 0xfb, +}; +static const unsigned char kat1729_entropyinreseed[] = { + 0x0d, 0x88, 0x40, 0x93, 0xd0, 0x0e, 0x9a, 0x95, 0x1a, 0xd2, 0xdf, 0x66, + 0x80, 0xe3, 0x65, 0xaf, 0x11, 0xd1, 0x4e, 0x70, 0x00, 0xf4, 0x40, 0xaf, +}; +static const unsigned char kat1729_addinreseed[] = { + 0x96, 0x07, 0x06, 0xa7, 0x9f, 0xb0, 0xb2, 0xef, 0x08, 0x37, 0xd1, 0x63, + 0x0f, 0xed, 0x53, 0xaf, 0x50, 0xdf, 0x03, 0x3c, 0xde, 0xff, 0x2d, 0xda, + 0x61, 0xe5, 0xa3, 0xf3, 0x25, 0x2a, 0xef, 0xce, +}; +static const unsigned char kat1729_addin0[] = { + 0xef, 0x74, 0xde, 0x0f, 0x42, 0x10, 0xd1, 0x80, 0xc0, 0x99, 0xfe, 0x5f, + 0xdd, 0x58, 0xc2, 0xcd, 0x6d, 0x8c, 0x79, 0xb3, 0xfe, 0x4a, 0x78, 0x2e, + 0x58, 0x4a, 0xc9, 0x6f, 0x8e, 0x27, 0x43, 0x03, +}; +static const unsigned char kat1729_addin1[] = { + 0x0a, 0xdc, 0x46, 0x26, 0xc9, 0xd6, 0x60, 0x85, 0xe1, 0xcd, 0x4c, 0xc4, + 0xa1, 0x0f, 0x85, 0xd0, 0x4d, 0xea, 0x85, 0x45, 0x39, 0x90, 0x58, 0x51, + 0x2d, 0xa0, 0xa6, 0xac, 0x38, 0x77, 0x37, 0x7f, +}; +static const unsigned char kat1729_retbits[] = { + 0x92, 0x7b, 0x03, 0x19, 0xbd, 0xc7, 0x6e, 0x79, 0x5d, 0x37, 0x84, 0x53, + 0xf2, 0x41, 0x91, 0x6e, 0x25, 0xfb, 0x8a, 0x72, 0x24, 0x94, 0x14, 0x6e, + 0xbd, 0xfe, 0xa9, 0x9a, 0xa4, 0x8a, 0xa6, 0xd8, 0x78, 0xd8, 0xcf, 0xfa, + 0x93, 0x24, 0xa8, 0x98, 0x48, 0x14, 0xdc, 0xda, 0x30, 0xe5, 0xae, 0xd8, + 0xc8, 0x73, 0x99, 0xc9, 0xe5, 0xfd, 0x45, 0x7d, 0x63, 0xc0, 0xd6, 0x1b, + 0x46, 0xa4, 0x6a, 0x7f, +}; +static const struct drbg_kat_pr_false kat1729_t = { + 3, kat1729_entropyin, kat1729_nonce, kat1729_persstr, + kat1729_entropyinreseed, kat1729_addinreseed, kat1729_addin0, + kat1729_addin1, kat1729_retbits +}; +static const struct drbg_kat kat1729 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1729_t +}; + +static const unsigned char kat1730_entropyin[] = { + 0x0c, 0x91, 0x04, 0xc0, 0x8e, 0xba, 0xf5, 0xa4, 0x91, 0xf2, 0xd8, 0x5f, + 0x10, 0xde, 0xd3, 0xe2, 0xfe, 0x76, 0x12, 0xdf, 0xa6, 0xe1, 0xd6, 0xfb, +}; +static const unsigned char kat1730_nonce[] = { + 0x22, 0x67, 0x8d, 0x0e, 0xd3, 0x64, 0x63, 0x56, 0xb5, 0x2f, 0xe3, 0x28, + 0xb2, 0x3f, 0x2e, 0xd1, +}; +static const unsigned char kat1730_persstr[] = { + 0x58, 0xc1, 0xd9, 0xb7, 0x6a, 0x19, 0xd2, 0x17, 0x22, 0x3b, 0x44, 0x31, + 0x94, 0x97, 0xaa, 0x99, 0xe3, 0x90, 0xe3, 0x20, 0xb8, 0xc9, 0x1e, 0x11, + 0x70, 0xeb, 0x8f, 0x8f, 0x48, 0x4a, 0x34, 0xbe, +}; +static const unsigned char kat1730_entropyinreseed[] = { + 0xb1, 0x96, 0x63, 0x2d, 0x9b, 0x65, 0x1c, 0xaa, 0xc5, 0xad, 0xd9, 0x01, + 0xdd, 0xe3, 0xf2, 0x2e, 0xaa, 0xf9, 0xfd, 0xa9, 0x84, 0xed, 0x36, 0x80, +}; +static const unsigned char kat1730_addinreseed[] = { + 0x2b, 0xff, 0xb5, 0x87, 0x6d, 0x20, 0x0a, 0x35, 0x87, 0x2e, 0x30, 0xa9, + 0x97, 0x6e, 0x93, 0x8e, 0x1f, 0x4a, 0xc5, 0x43, 0xfd, 0x2d, 0xac, 0xfe, + 0xe1, 0x61, 0xc0, 0x74, 0x67, 0xc3, 0x45, 0x78, +}; +static const unsigned char kat1730_addin0[] = { + 0xdc, 0x7f, 0xf3, 0xaa, 0x1d, 0xd3, 0xd2, 0xec, 0x77, 0x41, 0xc2, 0xeb, + 0x64, 0x8c, 0xc3, 0x64, 0x39, 0x8a, 0xe0, 0x12, 0xd2, 0xd4, 0x75, 0x8f, + 0x0f, 0x5b, 0x32, 0xa9, 0xb3, 0xb7, 0x3c, 0x4c, +}; +static const unsigned char kat1730_addin1[] = { + 0xf6, 0xc9, 0x37, 0xcd, 0xaa, 0x89, 0x14, 0x62, 0xa5, 0x4d, 0x5c, 0xaa, + 0xa0, 0xc6, 0xbb, 0x20, 0x09, 0xd1, 0x9c, 0x76, 0x92, 0xe2, 0x67, 0xd5, + 0x79, 0x40, 0xd6, 0xf2, 0x88, 0x6f, 0xe6, 0x87, +}; +static const unsigned char kat1730_retbits[] = { + 0x60, 0x82, 0xab, 0x6e, 0x55, 0xf5, 0x37, 0x3b, 0x2d, 0x70, 0xda, 0xfa, + 0x2d, 0xd0, 0xc5, 0x3a, 0xcd, 0x97, 0x9e, 0xb1, 0xb0, 0x9f, 0xf4, 0x2d, + 0x34, 0xe3, 0x64, 0x15, 0x93, 0xc1, 0xfc, 0x66, 0x93, 0x7b, 0x6e, 0xb0, + 0x8a, 0x84, 0x90, 0xb3, 0xea, 0x20, 0x8b, 0xa5, 0xe0, 0xe9, 0x94, 0x79, + 0x2b, 0x1e, 0xe9, 0x99, 0x26, 0x15, 0x9e, 0xb0, 0x80, 0x74, 0x8d, 0xda, + 0x31, 0x4b, 0x48, 0x60, +}; +static const struct drbg_kat_pr_false kat1730_t = { + 4, kat1730_entropyin, kat1730_nonce, kat1730_persstr, + kat1730_entropyinreseed, kat1730_addinreseed, kat1730_addin0, + kat1730_addin1, kat1730_retbits +}; +static const struct drbg_kat kat1730 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1730_t +}; + +static const unsigned char kat1731_entropyin[] = { + 0x02, 0xff, 0xe9, 0xc1, 0x62, 0x87, 0x73, 0x94, 0x89, 0xbb, 0xc5, 0xb1, + 0x62, 0x0f, 0x74, 0x9a, 0xd5, 0x4b, 0x2c, 0x4c, 0x8a, 0x08, 0x11, 0x22, +}; +static const unsigned char kat1731_nonce[] = { + 0x56, 0x00, 0xaf, 0x36, 0x95, 0xa9, 0xac, 0x46, 0x72, 0xe3, 0xb2, 0xa5, + 0x2a, 0xe0, 0xb1, 0x9f, +}; +static const unsigned char kat1731_persstr[] = { + 0xc7, 0xc9, 0xf9, 0xcc, 0x55, 0xa1, 0xf8, 0x2a, 0x61, 0x22, 0xa5, 0x36, + 0x54, 0x09, 0x5a, 0x38, 0xbc, 0xc1, 0xce, 0xb7, 0xf2, 0xa9, 0x7c, 0x52, + 0xa7, 0xe7, 0xf4, 0x6c, 0xd0, 0xd0, 0x74, 0xca, +}; +static const unsigned char kat1731_entropyinreseed[] = { + 0x2d, 0x6e, 0x4b, 0x10, 0x74, 0x29, 0xbf, 0x28, 0xcb, 0xd9, 0xef, 0xd6, + 0x2c, 0x91, 0x85, 0x75, 0x65, 0xc9, 0x9f, 0x70, 0xcb, 0xd1, 0x2f, 0x00, +}; +static const unsigned char kat1731_addinreseed[] = { + 0xb6, 0x74, 0x7c, 0x8a, 0x93, 0x92, 0xc6, 0xe5, 0x20, 0x9c, 0x0d, 0x4c, + 0xa3, 0x88, 0xa4, 0x49, 0xe7, 0x27, 0xb1, 0xfe, 0xba, 0x24, 0xa2, 0x74, + 0xc7, 0x9a, 0x20, 0xb0, 0x7c, 0x59, 0x89, 0x45, +}; +static const unsigned char kat1731_addin0[] = { + 0x1c, 0x4f, 0xc5, 0x5f, 0x2b, 0x56, 0x4c, 0xff, 0xba, 0x27, 0xfc, 0x54, + 0x28, 0x12, 0xe2, 0x46, 0xef, 0xf4, 0xd6, 0xbc, 0x65, 0xea, 0xf8, 0x97, + 0x3c, 0xb0, 0x3c, 0x3c, 0x9f, 0xde, 0x39, 0x59, +}; +static const unsigned char kat1731_addin1[] = { + 0xa8, 0x14, 0xa5, 0x1a, 0xd2, 0x6e, 0xd3, 0x40, 0x0e, 0x62, 0xa3, 0x42, + 0x7d, 0x1b, 0x88, 0x1c, 0x7b, 0x3d, 0x3e, 0x46, 0xdf, 0xd8, 0x6e, 0x54, + 0xb4, 0x14, 0x01, 0xc7, 0xe2, 0x8b, 0xa2, 0xb7, +}; +static const unsigned char kat1731_retbits[] = { + 0x1b, 0x72, 0x73, 0x45, 0xc0, 0x92, 0x7c, 0x80, 0x50, 0x04, 0x41, 0x98, + 0x55, 0xfc, 0x69, 0x8d, 0xa8, 0x77, 0x50, 0xe4, 0x48, 0x85, 0x9d, 0x75, + 0x33, 0xec, 0xe8, 0x7b, 0xc5, 0xac, 0xb2, 0xef, 0xe6, 0x97, 0xd6, 0xf5, + 0xa5, 0x6b, 0xf2, 0xb5, 0x74, 0x7b, 0x0b, 0xd4, 0xbd, 0x21, 0x27, 0x30, + 0x62, 0x99, 0x4e, 0x89, 0xd3, 0x02, 0x8d, 0xb6, 0x3e, 0x5b, 0x0f, 0x8c, + 0xfd, 0xe0, 0x2b, 0x3e, +}; +static const struct drbg_kat_pr_false kat1731_t = { + 5, kat1731_entropyin, kat1731_nonce, kat1731_persstr, + kat1731_entropyinreseed, kat1731_addinreseed, kat1731_addin0, + kat1731_addin1, kat1731_retbits +}; +static const struct drbg_kat kat1731 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1731_t +}; + +static const unsigned char kat1732_entropyin[] = { + 0xff, 0xa1, 0x6b, 0x18, 0x7b, 0x4e, 0x0f, 0x40, 0xd7, 0x3d, 0x41, 0x03, + 0xa8, 0x02, 0x19, 0xe5, 0xd7, 0x96, 0x10, 0x64, 0xfa, 0x6f, 0x40, 0x6c, +}; +static const unsigned char kat1732_nonce[] = { + 0x81, 0x22, 0xf3, 0xb2, 0xcd, 0x57, 0x5f, 0xbc, 0xbd, 0x3e, 0x74, 0x0b, + 0xe1, 0xaf, 0x44, 0x11, +}; +static const unsigned char kat1732_persstr[] = { + 0x0f, 0x23, 0xa0, 0x8a, 0xd7, 0xab, 0x7d, 0x0e, 0xc9, 0xdf, 0x99, 0x39, + 0xe0, 0x85, 0xd0, 0xbf, 0x49, 0xf3, 0xef, 0xf9, 0x26, 0x3f, 0x4d, 0x0e, + 0xf9, 0xf8, 0x8b, 0x54, 0x72, 0x3b, 0x5c, 0x66, +}; +static const unsigned char kat1732_entropyinreseed[] = { + 0x72, 0x79, 0x2b, 0x72, 0xe8, 0x36, 0x37, 0x96, 0xc4, 0x64, 0xda, 0x3b, + 0x54, 0x28, 0xfe, 0x40, 0x25, 0x49, 0x11, 0x21, 0x0e, 0x32, 0x82, 0x22, +}; +static const unsigned char kat1732_addinreseed[] = { + 0x1a, 0x3b, 0x6d, 0x86, 0x06, 0x51, 0x0b, 0x13, 0x28, 0x7d, 0xae, 0x18, + 0x39, 0xc9, 0x3c, 0x9f, 0x53, 0x6e, 0xdb, 0x5c, 0xf5, 0xcc, 0x52, 0xf4, + 0x43, 0x1a, 0xd7, 0xf2, 0xed, 0x53, 0xdf, 0x7f, +}; +static const unsigned char kat1732_addin0[] = { + 0x9e, 0xef, 0x33, 0x78, 0x5e, 0x86, 0x2a, 0x99, 0x07, 0x5e, 0x19, 0xfe, + 0xc4, 0x20, 0x7c, 0x2e, 0xef, 0x9c, 0x6e, 0x39, 0x65, 0xb3, 0xf2, 0x2c, + 0x53, 0xcc, 0xfd, 0x65, 0x5b, 0x84, 0x80, 0x62, +}; +static const unsigned char kat1732_addin1[] = { + 0x88, 0x1e, 0x83, 0xd1, 0x75, 0xfa, 0xd0, 0x4c, 0x5a, 0xc5, 0x48, 0xaa, + 0x54, 0x43, 0xb9, 0x30, 0xb5, 0xdc, 0xc0, 0x4b, 0x9d, 0x0a, 0xfe, 0xb5, + 0xe7, 0xd0, 0x57, 0xf0, 0xc7, 0x75, 0x7e, 0xea, +}; +static const unsigned char kat1732_retbits[] = { + 0x87, 0xb2, 0x76, 0x39, 0xb2, 0x9e, 0x73, 0x06, 0xd3, 0x03, 0xe6, 0x7e, + 0x88, 0x59, 0x8f, 0xfb, 0xef, 0xf2, 0x30, 0xe0, 0xac, 0x23, 0x1e, 0x97, + 0x72, 0xbe, 0x25, 0x7e, 0x6c, 0xaa, 0x96, 0xac, 0x35, 0x01, 0x8a, 0x45, + 0xf8, 0x3e, 0xcb, 0x72, 0xdc, 0x7b, 0x9e, 0xa8, 0xc0, 0x06, 0xb2, 0xae, + 0x36, 0x62, 0x7b, 0x18, 0x1a, 0xdf, 0x30, 0xf5, 0x65, 0x92, 0x18, 0x41, + 0xc8, 0x78, 0x21, 0xb1, +}; +static const struct drbg_kat_pr_false kat1732_t = { + 6, kat1732_entropyin, kat1732_nonce, kat1732_persstr, + kat1732_entropyinreseed, kat1732_addinreseed, kat1732_addin0, + kat1732_addin1, kat1732_retbits +}; +static const struct drbg_kat kat1732 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1732_t +}; + +static const unsigned char kat1733_entropyin[] = { + 0xbd, 0x04, 0xd9, 0x1c, 0x3e, 0x30, 0x10, 0x93, 0x89, 0x17, 0x08, 0x10, + 0x69, 0xd0, 0xad, 0x91, 0x11, 0x88, 0x5d, 0xef, 0xf8, 0x98, 0x82, 0xed, +}; +static const unsigned char kat1733_nonce[] = { + 0x3a, 0x78, 0x16, 0x88, 0x88, 0x74, 0x9e, 0x95, 0xe4, 0x4b, 0x17, 0x18, + 0x8e, 0x6c, 0xb3, 0xc5, +}; +static const unsigned char kat1733_persstr[] = { + 0x31, 0x2a, 0xd6, 0x94, 0x36, 0x01, 0x47, 0x0d, 0x60, 0x18, 0x40, 0xdf, + 0x6d, 0x9d, 0x3f, 0x92, 0x04, 0x85, 0xe4, 0xbb, 0xfb, 0x0b, 0x1c, 0x68, + 0x83, 0xbb, 0x18, 0x68, 0x82, 0xf3, 0x05, 0x7b, +}; +static const unsigned char kat1733_entropyinreseed[] = { + 0xd0, 0x63, 0xdb, 0xdd, 0xca, 0x1b, 0xfb, 0x0b, 0x5a, 0xa1, 0x9a, 0x9d, + 0x88, 0xf5, 0x8c, 0xb9, 0x00, 0x7f, 0x98, 0xf0, 0x98, 0xc8, 0xb8, 0x01, +}; +static const unsigned char kat1733_addinreseed[] = { + 0x17, 0x00, 0x59, 0xa3, 0x31, 0x3c, 0x13, 0xae, 0xb4, 0x6f, 0x61, 0xe2, + 0x7f, 0x6b, 0x48, 0xf8, 0xaa, 0xe9, 0x4f, 0x10, 0x04, 0x08, 0x3e, 0xc2, + 0x7c, 0xb7, 0x1a, 0xdf, 0xe1, 0xd3, 0x6f, 0x35, +}; +static const unsigned char kat1733_addin0[] = { + 0xa1, 0xe3, 0xe4, 0x57, 0x15, 0xc6, 0x8d, 0x57, 0x11, 0xd5, 0x76, 0xf4, + 0x50, 0x65, 0xb7, 0x62, 0x9a, 0xd2, 0x9c, 0x6f, 0x42, 0x55, 0x42, 0xe1, + 0x20, 0x4d, 0x57, 0x87, 0x22, 0x94, 0x51, 0xff, +}; +static const unsigned char kat1733_addin1[] = { + 0x8c, 0xce, 0x6a, 0x52, 0xbf, 0xa2, 0xb0, 0x2e, 0x56, 0x6e, 0x86, 0x00, + 0x23, 0x1b, 0x0f, 0x5e, 0xc8, 0xff, 0xfe, 0xcd, 0x13, 0x33, 0x87, 0x22, + 0xfd, 0x47, 0x6b, 0xe4, 0x97, 0x43, 0x50, 0xd8, +}; +static const unsigned char kat1733_retbits[] = { + 0x86, 0xc2, 0xcb, 0x9d, 0x00, 0xaa, 0xc2, 0x55, 0x56, 0xe8, 0x37, 0xd8, + 0x28, 0xae, 0xee, 0x34, 0x93, 0x10, 0xf8, 0x59, 0x54, 0x7b, 0xd5, 0x10, + 0x96, 0x28, 0x3a, 0x3d, 0x22, 0x12, 0xdf, 0x63, 0x67, 0x1a, 0x07, 0x05, + 0x0e, 0x1d, 0x64, 0x1a, 0x39, 0xf8, 0x8f, 0xa9, 0xff, 0x13, 0x11, 0x75, + 0x48, 0xe1, 0x58, 0xe1, 0x74, 0x5e, 0x85, 0x94, 0x47, 0x16, 0x7c, 0x80, + 0xae, 0x98, 0xe7, 0x1a, +}; +static const struct drbg_kat_pr_false kat1733_t = { + 7, kat1733_entropyin, kat1733_nonce, kat1733_persstr, + kat1733_entropyinreseed, kat1733_addinreseed, kat1733_addin0, + kat1733_addin1, kat1733_retbits +}; +static const struct drbg_kat kat1733 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1733_t +}; + +static const unsigned char kat1734_entropyin[] = { + 0x43, 0x88, 0xfe, 0xb0, 0xaf, 0x37, 0x1c, 0x51, 0x7f, 0xf3, 0x26, 0x78, + 0xab, 0x06, 0xee, 0x5b, 0xb0, 0x8d, 0x3e, 0xe2, 0xe9, 0x6b, 0xc9, 0xeb, +}; +static const unsigned char kat1734_nonce[] = { + 0x30, 0xf6, 0xd8, 0x6d, 0x5d, 0x70, 0xe8, 0xb0, 0xcd, 0x8e, 0xa2, 0x9f, + 0x05, 0xb9, 0xb9, 0x6f, +}; +static const unsigned char kat1734_persstr[] = { + 0x81, 0xe8, 0x2b, 0x9d, 0x1a, 0x08, 0x7c, 0x0b, 0x51, 0x57, 0xa0, 0xd3, + 0x1c, 0x60, 0x73, 0x6b, 0x19, 0xb2, 0x2f, 0x6a, 0xc2, 0xc0, 0xd6, 0x4e, + 0x49, 0xe6, 0x47, 0xe5, 0xcc, 0xaa, 0x5b, 0x98, +}; +static const unsigned char kat1734_entropyinreseed[] = { + 0x75, 0x07, 0x42, 0x3c, 0x12, 0xe4, 0xa9, 0x1c, 0x29, 0x1c, 0x3b, 0x7b, + 0x3c, 0x12, 0x8d, 0xef, 0xa4, 0xa3, 0x43, 0x21, 0x5c, 0xb8, 0x86, 0x32, +}; +static const unsigned char kat1734_addinreseed[] = { + 0xb9, 0xc4, 0x90, 0xc7, 0x02, 0x83, 0xf9, 0x5e, 0xa2, 0xa5, 0x55, 0xe5, + 0xc7, 0xc1, 0x1f, 0x25, 0x46, 0x1d, 0x60, 0x75, 0x12, 0xc8, 0x3f, 0xbd, + 0x86, 0x7f, 0x03, 0x25, 0x41, 0x94, 0xd3, 0x0a, +}; +static const unsigned char kat1734_addin0[] = { + 0x1d, 0x54, 0xaa, 0x2a, 0x4a, 0x2e, 0xf1, 0x75, 0x37, 0x68, 0x82, 0xd4, + 0x0f, 0x1b, 0x92, 0x97, 0xf7, 0xd0, 0x5e, 0xf2, 0x1d, 0x5a, 0x6d, 0x95, + 0xfc, 0x84, 0xd5, 0x89, 0xd1, 0xb0, 0x30, 0xf5, +}; +static const unsigned char kat1734_addin1[] = { + 0x2b, 0x03, 0x1f, 0x9b, 0x0b, 0xca, 0x10, 0xcb, 0xd1, 0xc4, 0x79, 0x9d, + 0xe3, 0x90, 0x0d, 0xf2, 0x81, 0x5a, 0x5f, 0xf8, 0x8a, 0x66, 0xf9, 0xfd, + 0xf1, 0x63, 0xe8, 0x95, 0x32, 0xdd, 0x1c, 0x91, +}; +static const unsigned char kat1734_retbits[] = { + 0xd3, 0xc6, 0x4c, 0x70, 0xd8, 0x48, 0x9f, 0xec, 0x82, 0x15, 0x0b, 0xd8, + 0x8b, 0x1c, 0x7e, 0x5f, 0xee, 0xe7, 0x10, 0x04, 0xbb, 0x6d, 0xaa, 0x37, + 0x5e, 0x40, 0x42, 0x09, 0x2f, 0x5a, 0x9d, 0x62, 0xa6, 0xc0, 0x7a, 0x4c, + 0xd1, 0xcc, 0x05, 0x9e, 0x32, 0x95, 0x87, 0xc5, 0xb6, 0xe1, 0xf2, 0x5d, + 0x4d, 0xd2, 0xec, 0x89, 0xe6, 0x9c, 0x73, 0xdd, 0x10, 0xf4, 0xa6, 0x19, + 0x66, 0x96, 0x5d, 0xe2, +}; +static const struct drbg_kat_pr_false kat1734_t = { + 8, kat1734_entropyin, kat1734_nonce, kat1734_persstr, + kat1734_entropyinreseed, kat1734_addinreseed, kat1734_addin0, + kat1734_addin1, kat1734_retbits +}; +static const struct drbg_kat kat1734 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1734_t +}; + +static const unsigned char kat1735_entropyin[] = { + 0xb3, 0x44, 0x24, 0x39, 0x39, 0x3a, 0xa5, 0xb9, 0xfb, 0xc4, 0x77, 0xd3, + 0x8f, 0xfc, 0xf9, 0x14, 0xef, 0xda, 0x00, 0x9b, 0x4b, 0x54, 0x65, 0x04, +}; +static const unsigned char kat1735_nonce[] = { + 0x9e, 0x46, 0x14, 0xc2, 0x37, 0xfe, 0xa7, 0xc1, 0xb5, 0x0b, 0x1d, 0x09, + 0x24, 0x7b, 0x32, 0xb9, +}; +static const unsigned char kat1735_persstr[] = { + 0x73, 0x64, 0x4e, 0x9c, 0x09, 0x20, 0x03, 0xdf, 0x11, 0x95, 0x16, 0xd1, + 0x86, 0x4d, 0xbd, 0x7f, 0x8d, 0x30, 0xce, 0xc0, 0xf7, 0x01, 0x18, 0x82, + 0xf4, 0xf7, 0xe8, 0x35, 0xea, 0x7d, 0x0a, 0xe1, +}; +static const unsigned char kat1735_entropyinreseed[] = { + 0xa1, 0x0b, 0x44, 0x60, 0x7d, 0x8f, 0x46, 0x90, 0xa8, 0x96, 0x51, 0x86, + 0xa4, 0x4f, 0x54, 0x42, 0x5a, 0x14, 0x28, 0xc7, 0xa3, 0x6f, 0xa5, 0xb7, +}; +static const unsigned char kat1735_addinreseed[] = { + 0xda, 0xb6, 0x21, 0xcc, 0xbd, 0x15, 0xf1, 0x2e, 0x3a, 0x7a, 0x6e, 0xa0, + 0xc4, 0x1d, 0x54, 0x82, 0x01, 0x89, 0xeb, 0xf9, 0x55, 0xbe, 0x61, 0x25, + 0xd7, 0x32, 0x16, 0x5d, 0x1d, 0xda, 0x19, 0x8a, +}; +static const unsigned char kat1735_addin0[] = { + 0x3c, 0xbb, 0x61, 0x5f, 0xc6, 0xbb, 0x70, 0x33, 0x90, 0x65, 0xce, 0xdf, + 0x41, 0xae, 0xcb, 0xce, 0xbe, 0x82, 0xf3, 0x2d, 0xc9, 0x47, 0xa7, 0x98, + 0x56, 0x26, 0xe1, 0xf4, 0x2d, 0xd3, 0xea, 0x80, +}; +static const unsigned char kat1735_addin1[] = { + 0x19, 0x42, 0x0e, 0x42, 0xcc, 0x21, 0x35, 0xe4, 0xd7, 0x0d, 0xcd, 0x3c, + 0xf3, 0xac, 0x8b, 0xa6, 0x30, 0xe4, 0x2e, 0xb1, 0xac, 0x71, 0x12, 0x90, + 0x65, 0x78, 0xa1, 0xe3, 0x16, 0xed, 0xd0, 0xbd, +}; +static const unsigned char kat1735_retbits[] = { + 0x7c, 0xc3, 0x2d, 0x5f, 0x08, 0x15, 0x95, 0x24, 0x5c, 0x16, 0x70, 0xd4, + 0x98, 0x9a, 0xb7, 0xbf, 0xfe, 0x05, 0x3c, 0x03, 0xb0, 0xf2, 0xd6, 0x36, + 0x88, 0x6b, 0xaa, 0x93, 0xe1, 0x23, 0xc1, 0x0c, 0x1b, 0x49, 0x52, 0x35, + 0xc9, 0xa7, 0xcb, 0xb6, 0xbc, 0x08, 0xbc, 0x06, 0x71, 0x9b, 0x6d, 0x4b, + 0x7c, 0x65, 0xf0, 0xdd, 0xc5, 0x4d, 0x2b, 0xa9, 0x7f, 0x73, 0x26, 0xcd, + 0xa5, 0x44, 0xdf, 0x65, +}; +static const struct drbg_kat_pr_false kat1735_t = { + 9, kat1735_entropyin, kat1735_nonce, kat1735_persstr, + kat1735_entropyinreseed, kat1735_addinreseed, kat1735_addin0, + kat1735_addin1, kat1735_retbits +}; +static const struct drbg_kat kat1735 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1735_t +}; + +static const unsigned char kat1736_entropyin[] = { + 0x3e, 0x5a, 0x64, 0xdc, 0x44, 0x1c, 0x56, 0x99, 0xd2, 0x24, 0xdb, 0xf4, + 0x9d, 0x71, 0xd3, 0x2a, 0x43, 0x65, 0xd7, 0xe1, 0xd3, 0xe4, 0x75, 0x71, +}; +static const unsigned char kat1736_nonce[] = { + 0xa2, 0x19, 0x51, 0x91, 0x7c, 0x69, 0xcf, 0x41, 0x88, 0x5a, 0x93, 0x98, + 0x86, 0x61, 0xa3, 0x6d, +}; +static const unsigned char kat1736_persstr[] = { + 0x9d, 0x75, 0x9f, 0xa8, 0x73, 0xe3, 0x75, 0x35, 0xcd, 0x39, 0xcc, 0xe9, + 0xdd, 0x09, 0x24, 0x14, 0xb8, 0x38, 0x72, 0x56, 0xc6, 0x38, 0x0a, 0xb2, + 0xdf, 0x96, 0xfe, 0xd0, 0x14, 0xaf, 0x41, 0x71, +}; +static const unsigned char kat1736_entropyinreseed[] = { + 0x96, 0xa1, 0x28, 0x7a, 0x1b, 0x36, 0xf5, 0xf1, 0x4c, 0xe8, 0xab, 0xed, + 0xae, 0x64, 0xb7, 0x91, 0xaf, 0xfc, 0x5a, 0x5c, 0xdb, 0x50, 0x53, 0x75, +}; +static const unsigned char kat1736_addinreseed[] = { + 0x76, 0xa1, 0x25, 0xcd, 0xae, 0xa2, 0x71, 0x22, 0xe4, 0xf8, 0xf7, 0x4c, + 0xc9, 0x28, 0x4a, 0xf2, 0x61, 0xc7, 0xe3, 0x6f, 0x2b, 0x72, 0xb6, 0x13, + 0x7f, 0x6e, 0xe5, 0x38, 0xfc, 0x1a, 0x84, 0x20, +}; +static const unsigned char kat1736_addin0[] = { + 0xeb, 0x46, 0x41, 0x28, 0x83, 0x69, 0x49, 0x58, 0x66, 0xdc, 0x9c, 0x2e, + 0x72, 0x42, 0xdb, 0x84, 0xc3, 0x74, 0xb7, 0x99, 0xd3, 0xfe, 0x0f, 0xd9, + 0x1e, 0x82, 0x01, 0x62, 0x9b, 0xa1, 0xdb, 0xd8, +}; +static const unsigned char kat1736_addin1[] = { + 0xe4, 0x57, 0xac, 0xf8, 0xc5, 0x17, 0xfc, 0xb8, 0x38, 0x86, 0x5f, 0x58, + 0x79, 0xe2, 0xde, 0xa3, 0x1b, 0x6f, 0xa5, 0x06, 0xa6, 0xd4, 0xf4, 0x1e, + 0x3d, 0x05, 0xab, 0xb9, 0x3d, 0x94, 0x93, 0xf4, +}; +static const unsigned char kat1736_retbits[] = { + 0xe3, 0x21, 0xe4, 0x34, 0x9b, 0xdc, 0xb1, 0xf3, 0x40, 0x20, 0xb2, 0x31, + 0x11, 0xd8, 0x8b, 0x55, 0x86, 0x95, 0xc7, 0x0c, 0x14, 0x73, 0x85, 0x2f, + 0x46, 0x03, 0x9a, 0x1a, 0xfe, 0x26, 0x76, 0xca, 0x91, 0xc9, 0xb4, 0x90, + 0x65, 0xaf, 0x4b, 0x81, 0xfe, 0xfd, 0x6b, 0x3e, 0x0d, 0xc3, 0xea, 0x88, + 0xfe, 0x69, 0xac, 0xa1, 0xf2, 0x1a, 0x3e, 0x09, 0x14, 0x5b, 0xab, 0xa0, + 0x26, 0x1e, 0xfb, 0x54, +}; +static const struct drbg_kat_pr_false kat1736_t = { + 10, kat1736_entropyin, kat1736_nonce, kat1736_persstr, + kat1736_entropyinreseed, kat1736_addinreseed, kat1736_addin0, + kat1736_addin1, kat1736_retbits +}; +static const struct drbg_kat kat1736 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1736_t +}; + +static const unsigned char kat1737_entropyin[] = { + 0x54, 0x53, 0x3d, 0x5c, 0x00, 0x27, 0x37, 0x17, 0x80, 0x22, 0x41, 0x84, + 0xbf, 0x72, 0x72, 0x05, 0xdd, 0x72, 0xb4, 0x0f, 0xb0, 0x9f, 0x49, 0x37, +}; +static const unsigned char kat1737_nonce[] = { + 0x73, 0xe3, 0xf2, 0xaf, 0xe2, 0xc6, 0xf2, 0x11, 0x2a, 0xb9, 0x36, 0xf1, + 0x21, 0xff, 0x25, 0xbb, +}; +static const unsigned char kat1737_persstr[] = { + 0xf4, 0x58, 0xa9, 0x55, 0x41, 0x4a, 0xd4, 0x7c, 0xb2, 0xf4, 0x3d, 0xd8, + 0xea, 0x2f, 0x4b, 0x1b, 0xcd, 0xf0, 0x9d, 0xa5, 0x3d, 0x07, 0x5e, 0x2b, + 0x47, 0xd4, 0xb9, 0xad, 0x93, 0xcd, 0x4e, 0x04, +}; +static const unsigned char kat1737_entropyinreseed[] = { + 0x67, 0xd5, 0xa0, 0x79, 0xc4, 0xe6, 0x8a, 0xd4, 0xc9, 0x57, 0xdd, 0xd4, + 0x85, 0xee, 0x58, 0x71, 0x04, 0xc9, 0x24, 0xb1, 0x71, 0x92, 0x4d, 0x44, +}; +static const unsigned char kat1737_addinreseed[] = { + 0x1a, 0xcc, 0x20, 0xb2, 0xeb, 0xeb, 0x2d, 0xcb, 0xdf, 0x6d, 0x3a, 0x0a, + 0x32, 0x70, 0x8f, 0x59, 0xe4, 0x3f, 0x66, 0x02, 0x7b, 0x52, 0x5d, 0xa6, + 0x10, 0xa3, 0xdd, 0xed, 0x85, 0x52, 0x44, 0x75, +}; +static const unsigned char kat1737_addin0[] = { + 0x88, 0x66, 0x7f, 0x25, 0xd1, 0x9e, 0x4c, 0x99, 0x45, 0x87, 0xc1, 0x92, + 0x4e, 0xc6, 0xac, 0x51, 0x97, 0x3b, 0x5a, 0x43, 0x4e, 0x62, 0x36, 0xc8, + 0x95, 0xe3, 0xd1, 0xd2, 0x00, 0x52, 0x0a, 0x44, +}; +static const unsigned char kat1737_addin1[] = { + 0x91, 0x52, 0x08, 0x19, 0xc6, 0x44, 0x0b, 0xa4, 0x1e, 0x25, 0xa3, 0x27, + 0xce, 0x16, 0x8d, 0xf9, 0xa9, 0x89, 0xc9, 0xfd, 0xc9, 0x5c, 0x3d, 0xb9, + 0xa0, 0xf4, 0x96, 0xd6, 0xf4, 0xf3, 0x74, 0xb0, +}; +static const unsigned char kat1737_retbits[] = { + 0x1b, 0x10, 0xc9, 0x51, 0x7b, 0x63, 0x71, 0x0e, 0x0e, 0x48, 0xda, 0xb3, + 0x14, 0x6f, 0xed, 0xfe, 0xcb, 0x95, 0xc4, 0xb5, 0xe5, 0xcd, 0x39, 0x37, + 0x9a, 0xab, 0x9b, 0x36, 0x02, 0xd8, 0x15, 0x6a, 0x5d, 0xdc, 0xfa, 0xaa, + 0xbf, 0x6c, 0xcb, 0xff, 0x1d, 0xd5, 0x91, 0x1e, 0xc8, 0xed, 0x11, 0x3e, + 0xc9, 0x34, 0xcf, 0x34, 0x92, 0x1d, 0x5f, 0x6b, 0x73, 0x38, 0x71, 0x27, + 0x55, 0x4d, 0x29, 0x88, +}; +static const struct drbg_kat_pr_false kat1737_t = { + 11, kat1737_entropyin, kat1737_nonce, kat1737_persstr, + kat1737_entropyinreseed, kat1737_addinreseed, kat1737_addin0, + kat1737_addin1, kat1737_retbits +}; +static const struct drbg_kat kat1737 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1737_t +}; + +static const unsigned char kat1738_entropyin[] = { + 0xaf, 0x26, 0x03, 0x6d, 0x72, 0xb9, 0xad, 0x05, 0x84, 0xe7, 0x9b, 0x51, + 0xdb, 0xab, 0xe2, 0x5e, 0x60, 0x91, 0x4f, 0x3f, 0x48, 0xd9, 0x78, 0xe4, +}; +static const unsigned char kat1738_nonce[] = { + 0x39, 0xeb, 0x3c, 0x0f, 0xd2, 0x0a, 0x00, 0xb7, 0x7e, 0xbd, 0xb0, 0x03, + 0x01, 0x80, 0x20, 0xc1, +}; +static const unsigned char kat1738_persstr[] = { + 0x08, 0x1f, 0x45, 0xa7, 0xab, 0x84, 0x51, 0x05, 0x77, 0xaa, 0x11, 0x3d, + 0xd7, 0x11, 0xc0, 0xc2, 0x89, 0xc4, 0xfe, 0x4e, 0x66, 0x2b, 0x74, 0x6e, + 0xea, 0xbe, 0xd2, 0x68, 0x0a, 0x67, 0x0b, 0x25, +}; +static const unsigned char kat1738_entropyinreseed[] = { + 0xaf, 0x8e, 0x68, 0x99, 0xdd, 0x09, 0x7a, 0x54, 0x9b, 0x56, 0xb9, 0xd2, + 0x49, 0xdf, 0xef, 0x8c, 0xdd, 0x39, 0x6e, 0xa6, 0x70, 0xdf, 0x8c, 0x38, +}; +static const unsigned char kat1738_addinreseed[] = { + 0x88, 0xbf, 0x96, 0x9c, 0x1a, 0xe4, 0xba, 0xaa, 0x60, 0xb7, 0x4c, 0xbd, + 0x80, 0x4b, 0x79, 0x8b, 0x95, 0x80, 0xd4, 0x5c, 0x10, 0x00, 0x85, 0x10, + 0x86, 0x30, 0x1d, 0x41, 0xb6, 0xa9, 0x83, 0x95, +}; +static const unsigned char kat1738_addin0[] = { + 0xdb, 0xf4, 0xcf, 0xae, 0x03, 0x84, 0xda, 0xe7, 0x1a, 0xe5, 0xfb, 0x2b, + 0xaa, 0x27, 0xb8, 0x6c, 0x05, 0x29, 0x16, 0xc9, 0x2a, 0x66, 0x2c, 0x32, + 0x83, 0x9e, 0x67, 0xb9, 0xfb, 0x13, 0xb2, 0x26, +}; +static const unsigned char kat1738_addin1[] = { + 0x30, 0xb3, 0xf0, 0x73, 0xc9, 0x79, 0x98, 0x2e, 0xc1, 0x9a, 0xba, 0x53, + 0x73, 0x19, 0xc3, 0xb7, 0xb8, 0xd8, 0xd6, 0x84, 0xd9, 0x93, 0xa5, 0xc3, + 0x8e, 0x72, 0x18, 0xa1, 0x36, 0x92, 0x27, 0x1c, +}; +static const unsigned char kat1738_retbits[] = { + 0xf0, 0x09, 0xbc, 0xb2, 0xb5, 0x2e, 0x30, 0x8b, 0x76, 0x9d, 0xa0, 0x6c, + 0x02, 0xaa, 0xb3, 0xf4, 0xf6, 0xe7, 0x76, 0x04, 0xe4, 0xec, 0xfc, 0x9b, + 0x50, 0xcd, 0x02, 0xd5, 0xc1, 0xfc, 0x4b, 0x71, 0xd1, 0xfa, 0x5a, 0xa9, + 0x52, 0x02, 0x7a, 0x85, 0x6a, 0xf6, 0x14, 0x95, 0x78, 0xf1, 0xd9, 0x09, + 0xe3, 0xbc, 0xce, 0xb8, 0xe6, 0xed, 0xcf, 0xfb, 0x61, 0x40, 0xfc, 0x67, + 0x8e, 0xd5, 0x45, 0x59, +}; +static const struct drbg_kat_pr_false kat1738_t = { + 12, kat1738_entropyin, kat1738_nonce, kat1738_persstr, + kat1738_entropyinreseed, kat1738_addinreseed, kat1738_addin0, + kat1738_addin1, kat1738_retbits +}; +static const struct drbg_kat kat1738 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1738_t +}; + +static const unsigned char kat1739_entropyin[] = { + 0x8d, 0x92, 0xdd, 0xad, 0xac, 0x44, 0x61, 0xb0, 0xa4, 0x0d, 0xec, 0x1b, + 0xea, 0x91, 0xfb, 0x3f, 0x9a, 0x8a, 0x76, 0xec, 0x77, 0x57, 0xb2, 0x72, +}; +static const unsigned char kat1739_nonce[] = { + 0x14, 0x08, 0xc1, 0xe6, 0xba, 0xfc, 0xd0, 0x97, 0x2f, 0x1f, 0x38, 0x1b, + 0xa3, 0x1e, 0x15, 0x7d, +}; +static const unsigned char kat1739_persstr[] = { + 0x69, 0xde, 0x45, 0xdc, 0x21, 0xe7, 0x84, 0x9e, 0x37, 0xde, 0xd8, 0x76, + 0xbf, 0x5d, 0x89, 0x2d, 0x0f, 0xf5, 0x67, 0x63, 0x8d, 0xca, 0x8f, 0x48, + 0x0b, 0x04, 0x95, 0x73, 0xdf, 0xc0, 0x73, 0x4d, +}; +static const unsigned char kat1739_entropyinreseed[] = { + 0x2a, 0xdf, 0x51, 0x61, 0x11, 0xeb, 0x9b, 0xd1, 0x84, 0x48, 0x28, 0x40, + 0x70, 0xf2, 0x79, 0x95, 0x68, 0x06, 0xf4, 0xd2, 0xd2, 0xeb, 0xbd, 0xcf, +}; +static const unsigned char kat1739_addinreseed[] = { + 0xcf, 0x77, 0x4b, 0x40, 0x5f, 0x45, 0x02, 0xef, 0x20, 0x74, 0xdb, 0xe5, + 0xbc, 0xf8, 0x68, 0x15, 0x28, 0xfe, 0x01, 0x1f, 0x71, 0xb1, 0xcd, 0x41, + 0x8a, 0x01, 0xfc, 0xab, 0xd1, 0xc2, 0x7c, 0x04, +}; +static const unsigned char kat1739_addin0[] = { + 0xae, 0xc5, 0x9e, 0xa5, 0x33, 0x96, 0x96, 0xe8, 0xa4, 0x17, 0x3a, 0xa2, + 0x39, 0xac, 0xfa, 0xaf, 0x17, 0x42, 0x6a, 0xd1, 0xd8, 0x34, 0x46, 0x0f, + 0x84, 0x83, 0xc3, 0x6e, 0x47, 0x76, 0xd6, 0xa6, +}; +static const unsigned char kat1739_addin1[] = { + 0x33, 0x2b, 0x67, 0x83, 0x57, 0xf6, 0xb2, 0x47, 0xac, 0xc1, 0xe3, 0x44, + 0x67, 0xec, 0x4d, 0xf7, 0x44, 0xbb, 0xa4, 0x2b, 0x1e, 0x1c, 0xd0, 0x5a, + 0x35, 0xd3, 0xac, 0xcd, 0x0e, 0xcc, 0xe9, 0x1f, +}; +static const unsigned char kat1739_retbits[] = { + 0x38, 0x2c, 0xe5, 0xed, 0x5c, 0xf0, 0x2d, 0xd3, 0x85, 0x4f, 0xb9, 0x7b, + 0x16, 0x25, 0xf2, 0x3e, 0xa9, 0x97, 0x27, 0x6d, 0x2d, 0x8b, 0x85, 0xc1, + 0x05, 0xda, 0x6d, 0x95, 0x8c, 0xcb, 0xf8, 0xd0, 0xc1, 0x22, 0xce, 0x47, + 0x97, 0x91, 0x89, 0xcf, 0x7f, 0x96, 0x43, 0x6f, 0x09, 0x89, 0xa2, 0xbe, + 0x72, 0x58, 0x98, 0xae, 0x91, 0xdd, 0x96, 0x4d, 0x1b, 0xcd, 0x6a, 0x2e, + 0xc6, 0xdb, 0x6b, 0x94, +}; +static const struct drbg_kat_pr_false kat1739_t = { + 13, kat1739_entropyin, kat1739_nonce, kat1739_persstr, + kat1739_entropyinreseed, kat1739_addinreseed, kat1739_addin0, + kat1739_addin1, kat1739_retbits +}; +static const struct drbg_kat kat1739 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1739_t +}; + +static const unsigned char kat1740_entropyin[] = { + 0x22, 0xd0, 0xca, 0x92, 0x65, 0xd8, 0x9c, 0x5b, 0x37, 0x16, 0x52, 0x45, + 0x90, 0xbf, 0x2d, 0xec, 0xa5, 0x31, 0xfe, 0x9a, 0xd6, 0xc4, 0xca, 0xdd, +}; +static const unsigned char kat1740_nonce[] = { + 0xed, 0x25, 0xae, 0x62, 0x79, 0xf1, 0xff, 0x44, 0x52, 0xb8, 0x89, 0x71, + 0x30, 0x40, 0x79, 0xec, +}; +static const unsigned char kat1740_persstr[] = { + 0xdf, 0xe0, 0x4e, 0xe1, 0x9a, 0x64, 0xaf, 0x7c, 0x06, 0x98, 0xa0, 0x57, + 0xb7, 0x68, 0x0f, 0xd3, 0x7a, 0x9f, 0x7b, 0x5a, 0x9e, 0xe3, 0xc9, 0xfb, + 0x98, 0x5a, 0x20, 0x73, 0x46, 0xdb, 0xa5, 0x68, +}; +static const unsigned char kat1740_entropyinreseed[] = { + 0x77, 0xed, 0x9f, 0x0a, 0xe1, 0x3d, 0x23, 0x7c, 0xf3, 0x93, 0x13, 0x43, + 0xaf, 0x6f, 0xdc, 0x34, 0xeb, 0x3a, 0xa8, 0x47, 0x74, 0xb4, 0x04, 0xef, +}; +static const unsigned char kat1740_addinreseed[] = { + 0x7e, 0x87, 0xdb, 0x1a, 0x9c, 0xd8, 0x19, 0x14, 0xe4, 0x39, 0x49, 0xa7, + 0xa9, 0xdb, 0xa1, 0x67, 0xab, 0x01, 0x2d, 0x35, 0x55, 0x7f, 0x7d, 0x90, + 0x01, 0xd4, 0xec, 0xe3, 0x53, 0xc7, 0x90, 0x75, +}; +static const unsigned char kat1740_addin0[] = { + 0x23, 0x96, 0x2b, 0x88, 0x7c, 0x19, 0x6b, 0x7d, 0x0d, 0x62, 0xb2, 0xe7, + 0x9b, 0x9a, 0xdd, 0xca, 0xa7, 0x4e, 0xe0, 0x4c, 0xf2, 0xa2, 0x8c, 0x45, + 0x38, 0x6f, 0x69, 0xa5, 0x6b, 0xb4, 0x76, 0x99, +}; +static const unsigned char kat1740_addin1[] = { + 0xc0, 0x28, 0x2b, 0x47, 0x16, 0x62, 0x73, 0x2c, 0x84, 0x75, 0xc1, 0xd6, + 0x30, 0x6e, 0xff, 0xa2, 0xe8, 0xb4, 0xc1, 0xaf, 0xc1, 0x60, 0x54, 0x4d, + 0x3c, 0x9b, 0x01, 0x9e, 0x00, 0x71, 0xb1, 0x0e, +}; +static const unsigned char kat1740_retbits[] = { + 0xe7, 0x92, 0x01, 0x75, 0x5a, 0x4c, 0xb6, 0x3a, 0x13, 0x34, 0xcf, 0xaa, + 0x53, 0xac, 0x55, 0x32, 0xc2, 0xd4, 0x45, 0x57, 0xfd, 0xa2, 0xa2, 0x2f, + 0x71, 0x8d, 0x69, 0xf0, 0xdc, 0xea, 0xfc, 0xe1, 0x81, 0x79, 0x67, 0x8b, + 0x30, 0xae, 0x8c, 0x97, 0xea, 0xc2, 0xfc, 0x49, 0x97, 0x90, 0xd2, 0x53, + 0x2a, 0xe1, 0xb3, 0xfc, 0x54, 0x01, 0xb0, 0x88, 0xea, 0x1f, 0xa3, 0xa4, + 0x9e, 0xab, 0x26, 0x04, +}; +static const struct drbg_kat_pr_false kat1740_t = { + 14, kat1740_entropyin, kat1740_nonce, kat1740_persstr, + kat1740_entropyinreseed, kat1740_addinreseed, kat1740_addin0, + kat1740_addin1, kat1740_retbits +}; +static const struct drbg_kat kat1740 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1740_t +}; + +static const unsigned char kat1741_entropyin[] = { + 0xff, 0x25, 0x66, 0x1b, 0x6b, 0x58, 0x5c, 0x5a, 0x31, 0x21, 0x7a, 0x9b, + 0x5c, 0x20, 0xa6, 0xe3, 0x07, 0xf7, 0x0b, 0x12, 0x6f, 0xda, 0x2e, 0x25, +}; +static const unsigned char kat1741_nonce[] = { + 0x1b, 0xe8, 0xf5, 0x1a, 0xfe, 0xbd, 0x48, 0x14, 0x55, 0x41, 0x60, 0x3d, + 0xf9, 0x2e, 0x5d, 0x0d, +}; +static const unsigned char kat1741_persstr[] = {0}; +static const unsigned char kat1741_entropyinreseed[] = { + 0x29, 0x85, 0x5d, 0xfe, 0x13, 0x48, 0x00, 0x58, 0x56, 0x2d, 0x33, 0x7e, + 0x16, 0xae, 0x0c, 0x87, 0x53, 0xcc, 0x4e, 0xb5, 0x42, 0x0c, 0x88, 0x25, +}; +static const unsigned char kat1741_addinreseed[] = {0}; +static const unsigned char kat1741_addin0[] = {0}; +static const unsigned char kat1741_addin1[] = {0}; +static const unsigned char kat1741_retbits[] = { + 0x86, 0x07, 0xc9, 0xd7, 0x84, 0x54, 0x8f, 0x2f, 0x37, 0xf2, 0x61, 0x6b, + 0x24, 0x4e, 0x9f, 0x27, 0xa3, 0x00, 0x92, 0xdf, 0x94, 0x24, 0xc4, 0x7b, + 0x34, 0x64, 0x86, 0x2e, 0x67, 0x5f, 0x03, 0xd4, 0xec, 0x6c, 0xd5, 0xff, + 0x79, 0xf9, 0xf4, 0xa5, 0xd3, 0x88, 0xa6, 0x03, 0xe7, 0x49, 0x5d, 0x39, + 0x47, 0x79, 0x55, 0x46, 0x0a, 0xc2, 0xee, 0x0c, 0x2c, 0xe4, 0xd3, 0xd8, + 0x34, 0xef, 0x51, 0x74, +}; +static const struct drbg_kat_pr_false kat1741_t = { + 0, kat1741_entropyin, kat1741_nonce, kat1741_persstr, + kat1741_entropyinreseed, kat1741_addinreseed, kat1741_addin0, + kat1741_addin1, kat1741_retbits +}; +static const struct drbg_kat kat1741 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1741_t +}; + +static const unsigned char kat1742_entropyin[] = { + 0x39, 0xaf, 0x29, 0xf3, 0x92, 0xbc, 0x31, 0x78, 0x98, 0xa6, 0x6a, 0x84, + 0xad, 0x84, 0x3b, 0x9e, 0x17, 0x69, 0x87, 0xb0, 0x29, 0xd0, 0x01, 0x2d, +}; +static const unsigned char kat1742_nonce[] = { + 0xef, 0xa6, 0x22, 0xec, 0xfe, 0xcc, 0x7b, 0x52, 0x93, 0x76, 0x8b, 0x48, + 0xdb, 0xf3, 0xe5, 0xa7, +}; +static const unsigned char kat1742_persstr[] = {0}; +static const unsigned char kat1742_entropyinreseed[] = { + 0xb6, 0x66, 0x30, 0x6e, 0x4f, 0x02, 0xf4, 0xcd, 0x45, 0x5c, 0x3a, 0x79, + 0x94, 0x38, 0x73, 0x36, 0x77, 0xc5, 0x96, 0x5f, 0x48, 0x2e, 0x32, 0x5a, +}; +static const unsigned char kat1742_addinreseed[] = {0}; +static const unsigned char kat1742_addin0[] = {0}; +static const unsigned char kat1742_addin1[] = {0}; +static const unsigned char kat1742_retbits[] = { + 0xb7, 0x36, 0xc6, 0xba, 0x43, 0x0b, 0x05, 0x1f, 0xa2, 0x09, 0x6e, 0xe7, + 0xf0, 0x77, 0xb0, 0xce, 0xda, 0x0b, 0x40, 0xd4, 0xf3, 0x97, 0xb4, 0xdd, + 0x55, 0x9c, 0x29, 0x4a, 0x73, 0x00, 0x3d, 0xf3, 0x80, 0xb2, 0x66, 0xd2, + 0xbb, 0xa4, 0xeb, 0x94, 0xac, 0xc6, 0x2f, 0x45, 0x98, 0x71, 0x26, 0xf7, + 0x78, 0xc9, 0x4c, 0x02, 0x08, 0xa3, 0x30, 0xed, 0xc8, 0xbf, 0xa3, 0xae, + 0xc7, 0xdd, 0x86, 0x6d, +}; +static const struct drbg_kat_pr_false kat1742_t = { + 1, kat1742_entropyin, kat1742_nonce, kat1742_persstr, + kat1742_entropyinreseed, kat1742_addinreseed, kat1742_addin0, + kat1742_addin1, kat1742_retbits +}; +static const struct drbg_kat kat1742 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1742_t +}; + +static const unsigned char kat1743_entropyin[] = { + 0x34, 0x30, 0xbe, 0x27, 0x58, 0x37, 0x10, 0x61, 0x88, 0x22, 0xa1, 0xd8, + 0xb4, 0xa0, 0xfd, 0xfe, 0xab, 0xc1, 0x2f, 0x8d, 0x2f, 0x70, 0x23, 0x87, +}; +static const unsigned char kat1743_nonce[] = { + 0xc2, 0xbd, 0xf8, 0x75, 0x47, 0xfe, 0x9c, 0xd7, 0xca, 0xd2, 0x3b, 0xc1, + 0xf6, 0x30, 0x49, 0xbd, +}; +static const unsigned char kat1743_persstr[] = {0}; +static const unsigned char kat1743_entropyinreseed[] = { + 0x53, 0xe2, 0xec, 0x40, 0xc0, 0x31, 0xd8, 0x60, 0xb7, 0x7a, 0x00, 0xc8, + 0x6d, 0x1b, 0x65, 0x90, 0xa4, 0xbd, 0x02, 0xf7, 0xb2, 0x7b, 0x1e, 0xf1, +}; +static const unsigned char kat1743_addinreseed[] = {0}; +static const unsigned char kat1743_addin0[] = {0}; +static const unsigned char kat1743_addin1[] = {0}; +static const unsigned char kat1743_retbits[] = { + 0xed, 0xf1, 0xb1, 0xb6, 0x48, 0x90, 0x7a, 0xbe, 0x36, 0xe5, 0x05, 0x8f, + 0xff, 0x3f, 0xf7, 0xaa, 0x66, 0x82, 0xe0, 0x1d, 0x05, 0x81, 0x56, 0x17, + 0x47, 0x2c, 0xc5, 0x0f, 0xcf, 0x17, 0xc3, 0xeb, 0xe0, 0xc7, 0x9c, 0x03, + 0x00, 0x49, 0x9e, 0x88, 0x1d, 0x10, 0x67, 0x39, 0xe6, 0xe4, 0xd6, 0xf4, + 0x02, 0x21, 0xa7, 0x7a, 0x24, 0x2d, 0xcd, 0xe2, 0x96, 0x87, 0xa2, 0xda, + 0x7e, 0x18, 0x12, 0x09, +}; +static const struct drbg_kat_pr_false kat1743_t = { + 2, kat1743_entropyin, kat1743_nonce, kat1743_persstr, + kat1743_entropyinreseed, kat1743_addinreseed, kat1743_addin0, + kat1743_addin1, kat1743_retbits +}; +static const struct drbg_kat kat1743 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1743_t +}; + +static const unsigned char kat1744_entropyin[] = { + 0x27, 0xf1, 0xd6, 0xe2, 0xcf, 0x04, 0xbd, 0x6e, 0x97, 0xf1, 0xac, 0x02, + 0x8a, 0x7f, 0x07, 0x68, 0x7f, 0xe8, 0xa0, 0x17, 0x44, 0x78, 0x02, 0xdc, +}; +static const unsigned char kat1744_nonce[] = { + 0xb3, 0xc4, 0x9d, 0x63, 0x52, 0x84, 0x8c, 0x4f, 0x72, 0xd7, 0xf8, 0x2e, + 0x5c, 0x35, 0x72, 0xdd, +}; +static const unsigned char kat1744_persstr[] = {0}; +static const unsigned char kat1744_entropyinreseed[] = { + 0xdf, 0xb1, 0x3a, 0x14, 0x26, 0xbd, 0x48, 0xde, 0xfc, 0xfa, 0x7a, 0x91, + 0xe1, 0x34, 0x67, 0xee, 0xb2, 0x43, 0x07, 0x5c, 0x23, 0xa6, 0xa4, 0x19, +}; +static const unsigned char kat1744_addinreseed[] = {0}; +static const unsigned char kat1744_addin0[] = {0}; +static const unsigned char kat1744_addin1[] = {0}; +static const unsigned char kat1744_retbits[] = { + 0x7d, 0x90, 0x4e, 0x4c, 0xe2, 0x9e, 0xda, 0x57, 0x0c, 0x4c, 0xa2, 0x7a, + 0xf3, 0x82, 0x35, 0xaf, 0x66, 0x6a, 0x25, 0x1a, 0x45, 0x18, 0xf0, 0x64, + 0x96, 0x3d, 0x8c, 0x36, 0x41, 0x80, 0x6e, 0x5e, 0x7d, 0x96, 0x3d, 0x1f, + 0x32, 0x09, 0x0b, 0x8a, 0xe8, 0x69, 0x91, 0x82, 0xb9, 0xec, 0xd6, 0x25, + 0xec, 0x61, 0xe0, 0x9c, 0x47, 0x08, 0x34, 0x88, 0xea, 0xb7, 0x56, 0x56, + 0xc2, 0xbe, 0xe4, 0xcf, +}; +static const struct drbg_kat_pr_false kat1744_t = { + 3, kat1744_entropyin, kat1744_nonce, kat1744_persstr, + kat1744_entropyinreseed, kat1744_addinreseed, kat1744_addin0, + kat1744_addin1, kat1744_retbits +}; +static const struct drbg_kat kat1744 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1744_t +}; + +static const unsigned char kat1745_entropyin[] = { + 0xdf, 0x28, 0xa9, 0x33, 0x1b, 0x88, 0x99, 0x13, 0x65, 0x7c, 0x59, 0xf9, + 0x54, 0x6c, 0xb6, 0xe3, 0x33, 0x93, 0xea, 0x65, 0x85, 0x84, 0x32, 0xb1, +}; +static const unsigned char kat1745_nonce[] = { + 0xd6, 0xd8, 0x58, 0x3b, 0xb7, 0xef, 0x49, 0x5a, 0x5b, 0x10, 0x87, 0x30, + 0xaf, 0x2c, 0xf1, 0x4b, +}; +static const unsigned char kat1745_persstr[] = {0}; +static const unsigned char kat1745_entropyinreseed[] = { + 0x7b, 0x14, 0x4e, 0x63, 0x8d, 0xe5, 0x3a, 0x66, 0x18, 0x17, 0xc2, 0x95, + 0x61, 0x9e, 0xa0, 0xe0, 0x8f, 0x2b, 0xcf, 0x3f, 0xe1, 0xc7, 0x82, 0x90, +}; +static const unsigned char kat1745_addinreseed[] = {0}; +static const unsigned char kat1745_addin0[] = {0}; +static const unsigned char kat1745_addin1[] = {0}; +static const unsigned char kat1745_retbits[] = { + 0xea, 0x76, 0x0a, 0xb5, 0xda, 0x81, 0x1a, 0x6b, 0x1a, 0x17, 0x9c, 0xcf, + 0x53, 0x19, 0x02, 0xe1, 0x5f, 0xba, 0x08, 0x01, 0x4f, 0xf9, 0x4d, 0x19, + 0x9a, 0x1c, 0xd8, 0xb7, 0x52, 0x74, 0x87, 0xe4, 0x3c, 0x36, 0xf6, 0x87, + 0x4c, 0xe3, 0x52, 0x11, 0xe6, 0xd7, 0x19, 0xfa, 0xbf, 0x8c, 0x0a, 0x05, + 0xd4, 0xf3, 0x78, 0x2e, 0x78, 0xf9, 0xf8, 0xe8, 0x91, 0x31, 0xfe, 0x9f, + 0x39, 0x21, 0xc8, 0xea, +}; +static const struct drbg_kat_pr_false kat1745_t = { + 4, kat1745_entropyin, kat1745_nonce, kat1745_persstr, + kat1745_entropyinreseed, kat1745_addinreseed, kat1745_addin0, + kat1745_addin1, kat1745_retbits +}; +static const struct drbg_kat kat1745 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1745_t +}; + +static const unsigned char kat1746_entropyin[] = { + 0x3c, 0xa7, 0x8a, 0xbb, 0x93, 0x47, 0xfd, 0xf8, 0x76, 0xd2, 0x98, 0xa3, + 0x7d, 0xe1, 0xba, 0xf0, 0x67, 0x9f, 0x9e, 0x9e, 0xd6, 0x91, 0xdd, 0x63, +}; +static const unsigned char kat1746_nonce[] = { + 0xc5, 0xb3, 0x57, 0xe7, 0xf2, 0x77, 0xe4, 0x4b, 0x2a, 0xa5, 0x2c, 0x6b, + 0xe5, 0xef, 0x12, 0xed, +}; +static const unsigned char kat1746_persstr[] = {0}; +static const unsigned char kat1746_entropyinreseed[] = { + 0x96, 0x8f, 0x83, 0x03, 0x0b, 0x80, 0x50, 0x37, 0xd2, 0xbd, 0x5d, 0xb9, + 0xea, 0xee, 0xbb, 0x5c, 0x5b, 0xb4, 0x65, 0x0b, 0x21, 0xaf, 0xec, 0x1f, +}; +static const unsigned char kat1746_addinreseed[] = {0}; +static const unsigned char kat1746_addin0[] = {0}; +static const unsigned char kat1746_addin1[] = {0}; +static const unsigned char kat1746_retbits[] = { + 0xd2, 0xa0, 0x32, 0xf7, 0x7b, 0x57, 0xd7, 0x44, 0x06, 0x76, 0x67, 0xcf, + 0xf1, 0x88, 0x40, 0xd0, 0x34, 0xe2, 0x73, 0x81, 0x94, 0x3e, 0xf1, 0x41, + 0xfb, 0x94, 0x7f, 0x34, 0x07, 0x67, 0x50, 0xb9, 0xe9, 0x0c, 0x2c, 0x03, + 0x3e, 0xaa, 0x9d, 0xe7, 0x8e, 0x48, 0xfd, 0xb1, 0x92, 0x6e, 0x31, 0x24, + 0xc2, 0x10, 0x78, 0xfc, 0xcc, 0x44, 0xe3, 0x50, 0x98, 0xb4, 0x89, 0x47, + 0x75, 0x22, 0x67, 0x1e, +}; +static const struct drbg_kat_pr_false kat1746_t = { + 5, kat1746_entropyin, kat1746_nonce, kat1746_persstr, + kat1746_entropyinreseed, kat1746_addinreseed, kat1746_addin0, + kat1746_addin1, kat1746_retbits +}; +static const struct drbg_kat kat1746 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1746_t +}; + +static const unsigned char kat1747_entropyin[] = { + 0x89, 0x1c, 0xd4, 0x4b, 0x24, 0x6f, 0x6c, 0xc4, 0x79, 0x01, 0x92, 0x7a, + 0x01, 0x74, 0xe2, 0x25, 0x07, 0x89, 0x93, 0xb5, 0xb6, 0x4d, 0x89, 0x72, +}; +static const unsigned char kat1747_nonce[] = { + 0xfb, 0x4f, 0x2e, 0xb7, 0x3c, 0x30, 0x3a, 0xa6, 0xe3, 0xd6, 0x12, 0xa9, + 0x1f, 0x25, 0x19, 0x30, +}; +static const unsigned char kat1747_persstr[] = {0}; +static const unsigned char kat1747_entropyinreseed[] = { + 0x5e, 0xf1, 0x97, 0x23, 0x73, 0xeb, 0xdb, 0x4c, 0x7b, 0x41, 0x4c, 0x69, + 0x84, 0x5a, 0x8e, 0xad, 0xa0, 0x73, 0x4e, 0xa4, 0x6f, 0xa1, 0xd0, 0x12, +}; +static const unsigned char kat1747_addinreseed[] = {0}; +static const unsigned char kat1747_addin0[] = {0}; +static const unsigned char kat1747_addin1[] = {0}; +static const unsigned char kat1747_retbits[] = { + 0x59, 0xe6, 0xf2, 0xe4, 0x16, 0xe0, 0xfa, 0x43, 0xb6, 0x5f, 0xec, 0x2b, + 0xec, 0x3d, 0x51, 0x1d, 0x97, 0xe0, 0xb0, 0xd5, 0x37, 0xeb, 0xf8, 0x40, + 0x57, 0xba, 0xca, 0x29, 0x50, 0x44, 0x9b, 0xe1, 0x25, 0x3f, 0x58, 0x4d, + 0x57, 0x54, 0x03, 0xfb, 0x17, 0x20, 0x33, 0x01, 0x8e, 0xfc, 0xc0, 0x94, + 0xe4, 0x3d, 0xb9, 0x98, 0x40, 0x88, 0x1d, 0x94, 0x4b, 0x45, 0x0a, 0xfc, + 0x6b, 0x9e, 0x99, 0xc3, +}; +static const struct drbg_kat_pr_false kat1747_t = { + 6, kat1747_entropyin, kat1747_nonce, kat1747_persstr, + kat1747_entropyinreseed, kat1747_addinreseed, kat1747_addin0, + kat1747_addin1, kat1747_retbits +}; +static const struct drbg_kat kat1747 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1747_t +}; + +static const unsigned char kat1748_entropyin[] = { + 0x55, 0x70, 0x9e, 0xf0, 0x14, 0x8e, 0x66, 0xa6, 0x05, 0xe4, 0x3e, 0x76, + 0xcc, 0xd1, 0xaa, 0x9c, 0xe1, 0x67, 0xe2, 0x53, 0x85, 0x71, 0x6c, 0xc4, +}; +static const unsigned char kat1748_nonce[] = { + 0x6c, 0xc4, 0x71, 0x1a, 0xc1, 0x43, 0xaa, 0xc7, 0x36, 0x3b, 0x9f, 0x5f, + 0xe1, 0x16, 0xd5, 0x50, +}; +static const unsigned char kat1748_persstr[] = {0}; +static const unsigned char kat1748_entropyinreseed[] = { + 0xb1, 0x78, 0xff, 0x73, 0x2e, 0x79, 0x45, 0x9d, 0xb5, 0x12, 0x86, 0x3f, + 0x65, 0x48, 0x7d, 0x08, 0xe0, 0x18, 0x5c, 0x3e, 0x82, 0x5f, 0x74, 0x96, +}; +static const unsigned char kat1748_addinreseed[] = {0}; +static const unsigned char kat1748_addin0[] = {0}; +static const unsigned char kat1748_addin1[] = {0}; +static const unsigned char kat1748_retbits[] = { + 0x0d, 0x27, 0xa3, 0x9e, 0x96, 0x10, 0x57, 0xfc, 0x03, 0x03, 0x81, 0x8c, + 0x80, 0x05, 0x87, 0x25, 0x4c, 0xc4, 0xa7, 0xd7, 0xda, 0x33, 0xf2, 0x16, + 0xa1, 0xb2, 0x80, 0x4a, 0x27, 0x85, 0xd7, 0x22, 0xae, 0xde, 0xf0, 0xe1, + 0x6c, 0x02, 0x97, 0x30, 0x07, 0x38, 0x3c, 0xb7, 0x57, 0x4c, 0x64, 0xed, + 0x1f, 0x8c, 0x52, 0x8c, 0xc8, 0xb0, 0xbd, 0xde, 0xef, 0x77, 0x07, 0xcd, + 0xab, 0x7b, 0x7e, 0xa6, +}; +static const struct drbg_kat_pr_false kat1748_t = { + 7, kat1748_entropyin, kat1748_nonce, kat1748_persstr, + kat1748_entropyinreseed, kat1748_addinreseed, kat1748_addin0, + kat1748_addin1, kat1748_retbits +}; +static const struct drbg_kat kat1748 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1748_t +}; + +static const unsigned char kat1749_entropyin[] = { + 0xf9, 0x7b, 0x44, 0x2e, 0xf4, 0x89, 0xf8, 0x22, 0x00, 0x46, 0x97, 0xce, + 0xad, 0xac, 0xfc, 0x24, 0x0e, 0x53, 0x3d, 0xb4, 0x3c, 0xc9, 0xd2, 0x1a, +}; +static const unsigned char kat1749_nonce[] = { + 0xee, 0xcf, 0x1b, 0x9a, 0x52, 0xc3, 0x70, 0xf0, 0xfc, 0xd6, 0x4b, 0x5d, + 0x2d, 0x7b, 0x05, 0x3c, +}; +static const unsigned char kat1749_persstr[] = {0}; +static const unsigned char kat1749_entropyinreseed[] = { + 0xe9, 0x7b, 0x26, 0x17, 0xe8, 0x7c, 0x6a, 0xb9, 0x3f, 0xfb, 0x9f, 0xf0, + 0x64, 0x08, 0xe4, 0x44, 0x45, 0x2e, 0x06, 0xd0, 0x1d, 0xbd, 0x99, 0x49, +}; +static const unsigned char kat1749_addinreseed[] = {0}; +static const unsigned char kat1749_addin0[] = {0}; +static const unsigned char kat1749_addin1[] = {0}; +static const unsigned char kat1749_retbits[] = { + 0x2f, 0x82, 0xdf, 0xf5, 0x43, 0x24, 0x19, 0x5a, 0xe3, 0x9e, 0x92, 0x63, + 0x0a, 0xf5, 0x41, 0xb3, 0x9e, 0xbb, 0xee, 0xa0, 0xad, 0xab, 0x96, 0x7f, + 0xe5, 0x15, 0x97, 0xc8, 0x49, 0x6c, 0xd6, 0x63, 0x7e, 0xf7, 0x48, 0x36, + 0xb7, 0xa9, 0x2d, 0x9c, 0x7f, 0x69, 0x93, 0x46, 0xa8, 0xb4, 0xa8, 0x90, + 0x78, 0x70, 0x40, 0x9f, 0xa5, 0xa2, 0xa3, 0x9b, 0xf1, 0x71, 0xb8, 0xd7, + 0xe5, 0x80, 0x6c, 0x9a, +}; +static const struct drbg_kat_pr_false kat1749_t = { + 8, kat1749_entropyin, kat1749_nonce, kat1749_persstr, + kat1749_entropyinreseed, kat1749_addinreseed, kat1749_addin0, + kat1749_addin1, kat1749_retbits +}; +static const struct drbg_kat kat1749 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1749_t +}; + +static const unsigned char kat1750_entropyin[] = { + 0xc5, 0xd2, 0xd8, 0x36, 0xc3, 0x75, 0x63, 0x38, 0x19, 0x23, 0x1b, 0xf9, + 0x1f, 0x50, 0xf8, 0xb7, 0x49, 0x8c, 0x7d, 0xad, 0x84, 0x84, 0x73, 0xe1, +}; +static const unsigned char kat1750_nonce[] = { + 0x45, 0x25, 0x02, 0x5b, 0x4e, 0x84, 0x8f, 0x81, 0xf4, 0xd4, 0xc6, 0x7b, + 0x5f, 0xe2, 0x2b, 0x67, +}; +static const unsigned char kat1750_persstr[] = {0}; +static const unsigned char kat1750_entropyinreseed[] = { + 0xe9, 0xf7, 0xd8, 0xd3, 0x54, 0xcb, 0xa1, 0x69, 0x1c, 0x40, 0xeb, 0xce, + 0x00, 0xa2, 0xdd, 0x73, 0xc4, 0x56, 0x9d, 0x79, 0x3e, 0x83, 0x8a, 0x23, +}; +static const unsigned char kat1750_addinreseed[] = {0}; +static const unsigned char kat1750_addin0[] = {0}; +static const unsigned char kat1750_addin1[] = {0}; +static const unsigned char kat1750_retbits[] = { + 0x3a, 0xe7, 0xa6, 0xd7, 0x67, 0x87, 0xab, 0xd4, 0x70, 0xd2, 0xa9, 0x58, + 0x65, 0x49, 0xfe, 0x08, 0x15, 0xda, 0x69, 0x04, 0x02, 0xc8, 0x3d, 0x4d, + 0x74, 0x57, 0xa0, 0x2c, 0x1d, 0x79, 0x5c, 0x61, 0xc9, 0x42, 0xdf, 0x12, + 0x8c, 0xa7, 0xc2, 0xfd, 0x2c, 0x05, 0x89, 0xf9, 0xa0, 0xc9, 0xc0, 0x8b, + 0x24, 0x75, 0x79, 0xdd, 0xf2, 0x65, 0xaf, 0x06, 0xaf, 0xfa, 0x9f, 0x04, + 0x41, 0xf6, 0x97, 0x71, +}; +static const struct drbg_kat_pr_false kat1750_t = { + 9, kat1750_entropyin, kat1750_nonce, kat1750_persstr, + kat1750_entropyinreseed, kat1750_addinreseed, kat1750_addin0, + kat1750_addin1, kat1750_retbits +}; +static const struct drbg_kat kat1750 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1750_t +}; + +static const unsigned char kat1751_entropyin[] = { + 0x93, 0xdf, 0xc0, 0x25, 0xa3, 0xa8, 0x39, 0xa7, 0x7d, 0x63, 0xfd, 0xe8, + 0x0c, 0x3d, 0xd2, 0x8d, 0x82, 0xd0, 0xd2, 0x99, 0x9d, 0x19, 0xd0, 0x4c, +}; +static const unsigned char kat1751_nonce[] = { + 0x97, 0xbe, 0xba, 0xb3, 0x68, 0x46, 0x53, 0x6f, 0x60, 0xd3, 0x15, 0xfe, + 0x88, 0x43, 0x47, 0xec, +}; +static const unsigned char kat1751_persstr[] = {0}; +static const unsigned char kat1751_entropyinreseed[] = { + 0xb4, 0x15, 0xc7, 0x0c, 0x93, 0xed, 0x68, 0x96, 0x4c, 0x9f, 0x15, 0x22, + 0x70, 0x42, 0x3c, 0xb3, 0x82, 0x00, 0x7a, 0x5b, 0xa8, 0x88, 0x27, 0xa2, +}; +static const unsigned char kat1751_addinreseed[] = {0}; +static const unsigned char kat1751_addin0[] = {0}; +static const unsigned char kat1751_addin1[] = {0}; +static const unsigned char kat1751_retbits[] = { + 0x5a, 0xa7, 0x02, 0x88, 0xc8, 0x48, 0xe1, 0xc2, 0xba, 0x05, 0x8d, 0x54, + 0x5e, 0x97, 0xfd, 0x91, 0x02, 0xfa, 0xd2, 0x5f, 0xb6, 0x09, 0xda, 0x1e, + 0x30, 0x1c, 0x25, 0x2e, 0x4f, 0xf0, 0xa7, 0xeb, 0x53, 0x7f, 0x3c, 0x41, + 0x1f, 0xd0, 0x48, 0x56, 0x67, 0x64, 0xba, 0xb6, 0x17, 0x06, 0x04, 0x65, + 0xbc, 0x6c, 0x3a, 0x2c, 0xe0, 0x67, 0x0e, 0x68, 0x92, 0x6c, 0xcb, 0xf4, + 0xe9, 0x8d, 0x91, 0x40, +}; +static const struct drbg_kat_pr_false kat1751_t = { + 10, kat1751_entropyin, kat1751_nonce, kat1751_persstr, + kat1751_entropyinreseed, kat1751_addinreseed, kat1751_addin0, + kat1751_addin1, kat1751_retbits +}; +static const struct drbg_kat kat1751 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1751_t +}; + +static const unsigned char kat1752_entropyin[] = { + 0x94, 0x63, 0xfc, 0x03, 0xc1, 0x7b, 0xdb, 0x56, 0x6f, 0x14, 0x08, 0xcf, + 0x6d, 0x05, 0x26, 0x69, 0x81, 0x6f, 0xd7, 0x9d, 0x4c, 0x55, 0x02, 0x86, +}; +static const unsigned char kat1752_nonce[] = { + 0x31, 0x42, 0xc0, 0x30, 0xd3, 0x3f, 0x46, 0x51, 0x54, 0x8c, 0x56, 0x9b, + 0x64, 0xfb, 0x2d, 0x45, +}; +static const unsigned char kat1752_persstr[] = {0}; +static const unsigned char kat1752_entropyinreseed[] = { + 0x6e, 0x6d, 0x9a, 0x71, 0x67, 0xfd, 0xab, 0x95, 0x92, 0x1d, 0x78, 0xfe, + 0x19, 0x7d, 0x06, 0x5c, 0xe7, 0xbd, 0x16, 0x89, 0x75, 0x47, 0x3c, 0x54, +}; +static const unsigned char kat1752_addinreseed[] = {0}; +static const unsigned char kat1752_addin0[] = {0}; +static const unsigned char kat1752_addin1[] = {0}; +static const unsigned char kat1752_retbits[] = { + 0xd1, 0x82, 0xbf, 0x85, 0xd9, 0x48, 0xb2, 0xc8, 0xb0, 0x5c, 0xd2, 0xa9, + 0x8b, 0x2c, 0x7b, 0xaf, 0x46, 0x18, 0xc1, 0x23, 0x87, 0xb4, 0x1d, 0x72, + 0xba, 0xbb, 0xc9, 0xf9, 0x2b, 0x9f, 0xe3, 0xe4, 0xba, 0x65, 0x52, 0x25, + 0x25, 0x74, 0xc4, 0x04, 0x59, 0xbf, 0xe7, 0x4d, 0x9e, 0x79, 0x0b, 0x29, + 0x49, 0x11, 0xca, 0x07, 0x77, 0xd2, 0xd2, 0xc4, 0xd5, 0x49, 0x29, 0x70, + 0x06, 0x99, 0xea, 0x0c, +}; +static const struct drbg_kat_pr_false kat1752_t = { + 11, kat1752_entropyin, kat1752_nonce, kat1752_persstr, + kat1752_entropyinreseed, kat1752_addinreseed, kat1752_addin0, + kat1752_addin1, kat1752_retbits +}; +static const struct drbg_kat kat1752 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1752_t +}; + +static const unsigned char kat1753_entropyin[] = { + 0xcc, 0xc5, 0xce, 0xf1, 0xe1, 0x77, 0x48, 0x07, 0xb2, 0x08, 0x8e, 0xa2, + 0x48, 0x69, 0x13, 0x61, 0xb5, 0x60, 0x38, 0x06, 0xce, 0x61, 0x31, 0x09, +}; +static const unsigned char kat1753_nonce[] = { + 0x02, 0x56, 0xaf, 0x44, 0x54, 0x65, 0xdd, 0x03, 0x75, 0x6c, 0x30, 0x01, + 0x44, 0x7e, 0xea, 0x4f, +}; +static const unsigned char kat1753_persstr[] = {0}; +static const unsigned char kat1753_entropyinreseed[] = { + 0xb6, 0xbb, 0xa4, 0x17, 0xab, 0x2c, 0x32, 0xae, 0x81, 0x21, 0xc9, 0xb0, + 0xaf, 0x77, 0x24, 0xee, 0xab, 0x15, 0xb7, 0x06, 0x4d, 0x9e, 0xfa, 0x91, +}; +static const unsigned char kat1753_addinreseed[] = {0}; +static const unsigned char kat1753_addin0[] = {0}; +static const unsigned char kat1753_addin1[] = {0}; +static const unsigned char kat1753_retbits[] = { + 0xdb, 0xdf, 0x75, 0x5f, 0x7a, 0x3f, 0x7e, 0x8a, 0xe1, 0x0d, 0xa9, 0x95, + 0x7f, 0xd6, 0xf0, 0x68, 0xb2, 0x4d, 0x2b, 0x25, 0x38, 0x18, 0xb8, 0xfd, + 0x11, 0x70, 0xfe, 0x17, 0xc6, 0xeb, 0x98, 0x11, 0x2d, 0x56, 0x39, 0x45, + 0x59, 0xf5, 0x07, 0x53, 0x76, 0x1b, 0x48, 0x60, 0x49, 0x32, 0x64, 0x64, + 0x6c, 0x51, 0x7a, 0xbc, 0xf5, 0xc8, 0x6a, 0x29, 0xcd, 0x1a, 0xcd, 0x6d, + 0x14, 0x51, 0xe3, 0x94, +}; +static const struct drbg_kat_pr_false kat1753_t = { + 12, kat1753_entropyin, kat1753_nonce, kat1753_persstr, + kat1753_entropyinreseed, kat1753_addinreseed, kat1753_addin0, + kat1753_addin1, kat1753_retbits +}; +static const struct drbg_kat kat1753 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1753_t +}; + +static const unsigned char kat1754_entropyin[] = { + 0x95, 0xb7, 0xc2, 0x78, 0x07, 0x11, 0x6c, 0xbb, 0x6a, 0xd8, 0xb6, 0x9c, + 0x88, 0x95, 0xef, 0x11, 0x5b, 0xf5, 0x65, 0x87, 0xd8, 0xc0, 0x0f, 0x6a, +}; +static const unsigned char kat1754_nonce[] = { + 0xc9, 0x47, 0x78, 0x41, 0x14, 0xf6, 0xf5, 0xba, 0x96, 0x52, 0x86, 0xfd, + 0x9b, 0x31, 0xf3, 0xc7, +}; +static const unsigned char kat1754_persstr[] = {0}; +static const unsigned char kat1754_entropyinreseed[] = { + 0xf3, 0x36, 0xb1, 0xab, 0x1a, 0x4f, 0xeb, 0xac, 0x39, 0xeb, 0xce, 0xb2, + 0xed, 0x91, 0x9a, 0x81, 0xb4, 0x38, 0x8b, 0x13, 0xae, 0x77, 0x72, 0x42, +}; +static const unsigned char kat1754_addinreseed[] = {0}; +static const unsigned char kat1754_addin0[] = {0}; +static const unsigned char kat1754_addin1[] = {0}; +static const unsigned char kat1754_retbits[] = { + 0xbb, 0xd7, 0x09, 0x42, 0xbb, 0x27, 0x72, 0xa1, 0xc0, 0x09, 0x7b, 0xc5, + 0xcc, 0xe0, 0x1b, 0xfb, 0x64, 0xdc, 0x27, 0xcc, 0x20, 0x03, 0x7f, 0x85, + 0x9e, 0x23, 0xa6, 0xc7, 0x85, 0x75, 0xaa, 0xe4, 0xe2, 0xed, 0xa3, 0x8c, + 0x64, 0x59, 0x9a, 0x40, 0xe7, 0x06, 0xee, 0x0c, 0x11, 0x9f, 0xc1, 0xeb, + 0x0e, 0x13, 0x9e, 0xd1, 0xa0, 0x2f, 0x0d, 0xa9, 0xd7, 0xcf, 0x7b, 0x84, + 0xcc, 0x7e, 0x69, 0x34, +}; +static const struct drbg_kat_pr_false kat1754_t = { + 13, kat1754_entropyin, kat1754_nonce, kat1754_persstr, + kat1754_entropyinreseed, kat1754_addinreseed, kat1754_addin0, + kat1754_addin1, kat1754_retbits +}; +static const struct drbg_kat kat1754 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1754_t +}; + +static const unsigned char kat1755_entropyin[] = { + 0x77, 0x0b, 0x80, 0xe1, 0x5a, 0x3e, 0xee, 0x89, 0xf7, 0x56, 0x08, 0xa7, + 0x80, 0x93, 0x4b, 0x15, 0x9d, 0xe6, 0xad, 0x3f, 0x5d, 0x78, 0xb6, 0xdf, +}; +static const unsigned char kat1755_nonce[] = { + 0xd7, 0x41, 0x92, 0xd5, 0x0f, 0x0f, 0x73, 0x90, 0x94, 0x80, 0x89, 0x87, + 0xed, 0x94, 0xd3, 0x82, +}; +static const unsigned char kat1755_persstr[] = {0}; +static const unsigned char kat1755_entropyinreseed[] = { + 0xdd, 0x3e, 0x0a, 0xe9, 0x4d, 0xe7, 0x39, 0x52, 0x66, 0x5c, 0xd7, 0x5c, + 0x72, 0x94, 0x04, 0x32, 0x90, 0x98, 0xd6, 0x10, 0x94, 0x0a, 0x9a, 0x40, +}; +static const unsigned char kat1755_addinreseed[] = {0}; +static const unsigned char kat1755_addin0[] = {0}; +static const unsigned char kat1755_addin1[] = {0}; +static const unsigned char kat1755_retbits[] = { + 0x11, 0x1c, 0x15, 0x75, 0xc8, 0xee, 0xc3, 0x7a, 0x42, 0x72, 0xf5, 0x9e, + 0x83, 0x9b, 0x6d, 0x6d, 0xa2, 0x48, 0x86, 0xa8, 0x2f, 0x1d, 0x33, 0x89, + 0x95, 0x2b, 0x5f, 0x5f, 0xe9, 0xea, 0x6b, 0x35, 0x2e, 0x84, 0x73, 0x95, + 0x9d, 0xfd, 0x61, 0x7d, 0x0c, 0xd8, 0x58, 0x80, 0x10, 0xa1, 0xf5, 0xda, + 0x8c, 0x9a, 0x9d, 0xd0, 0x36, 0x61, 0x0a, 0x93, 0xd4, 0xe9, 0x40, 0xe0, + 0x9a, 0x95, 0xb1, 0x64, +}; +static const struct drbg_kat_pr_false kat1755_t = { + 14, kat1755_entropyin, kat1755_nonce, kat1755_persstr, + kat1755_entropyinreseed, kat1755_addinreseed, kat1755_addin0, + kat1755_addin1, kat1755_retbits +}; +static const struct drbg_kat kat1755 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1755_t +}; + +static const unsigned char kat1756_entropyin[] = { + 0x1a, 0x1a, 0x4a, 0x3b, 0xec, 0x7b, 0xbd, 0xf9, 0x8f, 0x53, 0x59, 0x24, + 0x18, 0xd9, 0x03, 0xae, 0xd3, 0xe1, 0x14, 0xa7, 0xf0, 0x11, 0x45, 0x63, +}; +static const unsigned char kat1756_nonce[] = { + 0xf0, 0xb7, 0xb7, 0x42, 0x4f, 0x10, 0x8f, 0x6d, 0xb6, 0xcf, 0xcb, 0xfd, + 0x2d, 0x40, 0xa5, 0xb6, +}; +static const unsigned char kat1756_persstr[] = {0}; +static const unsigned char kat1756_entropyinreseed[] = { + 0x6f, 0x78, 0xaf, 0xb3, 0x10, 0xee, 0x0d, 0xae, 0x67, 0x32, 0xe0, 0xed, + 0x97, 0x9c, 0x63, 0xa3, 0xad, 0x87, 0x92, 0x33, 0x36, 0x62, 0xf6, 0x24, +}; +static const unsigned char kat1756_addinreseed[] = { + 0x9f, 0x05, 0x05, 0x42, 0xa1, 0x09, 0x7f, 0x93, 0x5c, 0x68, 0xf3, 0x73, + 0x82, 0x4a, 0xb9, 0xca, 0xc1, 0x78, 0x27, 0xba, 0xdb, 0xe0, 0x7c, 0xf9, + 0xde, 0xe4, 0x8a, 0xf3, 0x3a, 0x31, 0x99, 0x1f, +}; +static const unsigned char kat1756_addin0[] = { + 0x38, 0xd6, 0x8c, 0xc7, 0xc8, 0x98, 0x66, 0xd8, 0xd2, 0x70, 0x8a, 0x21, + 0x57, 0x76, 0xaf, 0x15, 0x4b, 0x3c, 0x08, 0x2d, 0x55, 0x0c, 0x55, 0x5e, + 0x1a, 0xaa, 0x5a, 0x72, 0xef, 0x2f, 0x5b, 0xe0, +}; +static const unsigned char kat1756_addin1[] = { + 0x40, 0xf8, 0x31, 0x44, 0x89, 0xc3, 0x25, 0x8d, 0xd4, 0xb1, 0x3b, 0xa5, + 0x9b, 0x7e, 0x8f, 0x3e, 0xc9, 0x5d, 0xb0, 0x08, 0x29, 0xa2, 0x35, 0x3a, + 0x08, 0xcd, 0x75, 0x8b, 0x49, 0x89, 0xc0, 0x53, +}; +static const unsigned char kat1756_retbits[] = { + 0x15, 0xcc, 0x0c, 0xe7, 0x7e, 0xe5, 0x5c, 0xa4, 0xd7, 0x2b, 0x2e, 0x75, + 0xc3, 0x28, 0x87, 0x69, 0x4d, 0xca, 0xc9, 0x7f, 0x7d, 0x26, 0x1f, 0xbe, + 0x9e, 0xe1, 0xd0, 0x99, 0x70, 0xb7, 0xb0, 0x31, 0x3f, 0xb3, 0x18, 0x63, + 0x0a, 0xfa, 0x4a, 0xc3, 0x69, 0xb9, 0x97, 0x9c, 0x22, 0x64, 0x7f, 0x60, + 0xa3, 0x79, 0x97, 0x39, 0x94, 0x2d, 0x78, 0x08, 0xd4, 0xfb, 0xb1, 0x4f, + 0x7a, 0xc4, 0x90, 0x37, +}; +static const struct drbg_kat_pr_false kat1756_t = { + 0, kat1756_entropyin, kat1756_nonce, kat1756_persstr, + kat1756_entropyinreseed, kat1756_addinreseed, kat1756_addin0, + kat1756_addin1, kat1756_retbits +}; +static const struct drbg_kat kat1756 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1756_t +}; + +static const unsigned char kat1757_entropyin[] = { + 0x71, 0xe7, 0x3c, 0x32, 0xcd, 0x92, 0x05, 0xd4, 0x5c, 0x25, 0x5a, 0x5e, + 0x30, 0xba, 0x6d, 0x98, 0x47, 0x53, 0x85, 0xf1, 0x66, 0x17, 0x60, 0x06, +}; +static const unsigned char kat1757_nonce[] = { + 0x10, 0xa5, 0x55, 0x7c, 0xc3, 0xa1, 0x26, 0x84, 0x49, 0xb9, 0xa4, 0x40, + 0xf3, 0xe5, 0x7e, 0xb7, +}; +static const unsigned char kat1757_persstr[] = {0}; +static const unsigned char kat1757_entropyinreseed[] = { + 0x29, 0x0c, 0x46, 0x5c, 0x47, 0xf7, 0x6f, 0xe1, 0x1c, 0x2d, 0xdd, 0xee, + 0x35, 0x43, 0x88, 0x6e, 0x83, 0x83, 0x18, 0x41, 0x1a, 0xac, 0x69, 0x22, +}; +static const unsigned char kat1757_addinreseed[] = { + 0x4a, 0x2f, 0x94, 0xd6, 0xd8, 0x57, 0x54, 0x06, 0x79, 0xea, 0x0b, 0x03, + 0x1a, 0x86, 0x90, 0x19, 0x1a, 0xea, 0x68, 0x19, 0x9a, 0xf3, 0x94, 0xe2, + 0xf6, 0x41, 0x86, 0xe4, 0x1c, 0xfa, 0xa3, 0xd7, +}; +static const unsigned char kat1757_addin0[] = { + 0x22, 0xea, 0xa2, 0x4b, 0x0a, 0x5c, 0xdb, 0x23, 0x61, 0xfe, 0x82, 0x86, + 0x1f, 0x33, 0xc2, 0x42, 0xbb, 0x4a, 0x5b, 0x9e, 0x0f, 0x7b, 0x10, 0xe2, + 0xef, 0xde, 0x2b, 0xc3, 0x2e, 0x42, 0xd7, 0x20, +}; +static const unsigned char kat1757_addin1[] = { + 0x21, 0x9c, 0x41, 0x68, 0x95, 0x7f, 0x03, 0x0f, 0x60, 0x21, 0xd0, 0x35, + 0xa5, 0x2a, 0x5c, 0xd6, 0x66, 0xe9, 0xbf, 0x26, 0xea, 0xd9, 0x53, 0x88, + 0xa8, 0xcc, 0x6f, 0x59, 0x31, 0xdb, 0x8d, 0xbd, +}; +static const unsigned char kat1757_retbits[] = { + 0x76, 0x33, 0xdc, 0xb4, 0xee, 0x8e, 0xe1, 0x0c, 0x82, 0xac, 0x4e, 0x6f, + 0xae, 0x5f, 0xe6, 0x45, 0x3d, 0xda, 0x9b, 0x83, 0xf3, 0x83, 0x16, 0xd3, + 0xd6, 0x8d, 0xb1, 0xce, 0x72, 0x61, 0xdb, 0x92, 0x1a, 0x7d, 0x53, 0x82, + 0x82, 0x4c, 0xe9, 0xd4, 0xfb, 0x12, 0xa3, 0x83, 0xea, 0x27, 0x34, 0x78, + 0xee, 0xeb, 0xa9, 0x7d, 0xca, 0x2e, 0xea, 0x9b, 0x3b, 0x5c, 0xba, 0x7c, + 0x97, 0x8c, 0x20, 0xb5, +}; +static const struct drbg_kat_pr_false kat1757_t = { + 1, kat1757_entropyin, kat1757_nonce, kat1757_persstr, + kat1757_entropyinreseed, kat1757_addinreseed, kat1757_addin0, + kat1757_addin1, kat1757_retbits +}; +static const struct drbg_kat kat1757 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1757_t +}; + +static const unsigned char kat1758_entropyin[] = { + 0x8a, 0xaf, 0x10, 0xeb, 0x86, 0x77, 0xc8, 0x8f, 0xcb, 0xc3, 0xd4, 0xb8, + 0x41, 0x83, 0x41, 0xa5, 0x38, 0xcc, 0x28, 0xb1, 0xc7, 0x2d, 0x95, 0x97, +}; +static const unsigned char kat1758_nonce[] = { + 0xd5, 0x83, 0xc8, 0x52, 0x66, 0xa9, 0xee, 0xe2, 0x8d, 0x62, 0x3f, 0x24, + 0xcd, 0x5e, 0x16, 0xbb, +}; +static const unsigned char kat1758_persstr[] = {0}; +static const unsigned char kat1758_entropyinreseed[] = { + 0x15, 0xdc, 0xf6, 0x5b, 0xbe, 0x6f, 0xd3, 0x97, 0x4a, 0xeb, 0x4b, 0xf1, + 0xf2, 0x5a, 0xbe, 0xd2, 0xa3, 0x7a, 0x6f, 0x46, 0xc8, 0xdf, 0x48, 0xef, +}; +static const unsigned char kat1758_addinreseed[] = { + 0x77, 0x41, 0x1d, 0xe2, 0x4f, 0x03, 0x35, 0x28, 0x64, 0xe3, 0x3b, 0x9a, + 0x2b, 0x34, 0xd3, 0x7f, 0x91, 0x50, 0x03, 0xe2, 0x8e, 0x31, 0xbd, 0xf0, + 0xb4, 0x35, 0x5e, 0x90, 0x08, 0x30, 0xd6, 0xb2, +}; +static const unsigned char kat1758_addin0[] = { + 0x13, 0x07, 0x02, 0xd1, 0x32, 0x6b, 0x4e, 0x6d, 0xea, 0x87, 0x96, 0x7e, + 0x9e, 0xd7, 0xef, 0xe0, 0x37, 0xf1, 0xe5, 0x60, 0x70, 0x42, 0x44, 0x73, + 0x8f, 0x3e, 0xd5, 0xd6, 0x2f, 0x57, 0xf7, 0x26, +}; +static const unsigned char kat1758_addin1[] = { + 0xbd, 0xfe, 0x4c, 0x89, 0x12, 0xab, 0x00, 0x67, 0x0b, 0xac, 0xf1, 0x42, + 0x31, 0x0a, 0x92, 0x22, 0x55, 0x85, 0x41, 0x99, 0x7d, 0x36, 0x65, 0x90, + 0x88, 0x71, 0x04, 0xed, 0x95, 0x46, 0xa2, 0xaf, +}; +static const unsigned char kat1758_retbits[] = { + 0xfb, 0x5c, 0x73, 0x16, 0x16, 0x3c, 0x8e, 0xc1, 0xcb, 0x1b, 0x9f, 0xbc, + 0x30, 0xa8, 0x10, 0x40, 0xfd, 0x4e, 0x6e, 0x0d, 0x1b, 0x6d, 0x35, 0xda, + 0xc6, 0xce, 0xd9, 0xe6, 0x78, 0x04, 0x82, 0x88, 0x07, 0xc1, 0x29, 0x26, + 0xcb, 0x1e, 0x7b, 0x28, 0x44, 0x96, 0x25, 0xdc, 0x11, 0xfb, 0x98, 0xc1, + 0xfd, 0x71, 0xd6, 0x69, 0x3d, 0x77, 0x34, 0xcf, 0x40, 0x3e, 0x80, 0xe0, + 0x90, 0xd6, 0xa8, 0x2f, +}; +static const struct drbg_kat_pr_false kat1758_t = { + 2, kat1758_entropyin, kat1758_nonce, kat1758_persstr, + kat1758_entropyinreseed, kat1758_addinreseed, kat1758_addin0, + kat1758_addin1, kat1758_retbits +}; +static const struct drbg_kat kat1758 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1758_t +}; + +static const unsigned char kat1759_entropyin[] = { + 0x81, 0x4a, 0x71, 0xf1, 0x7b, 0x4d, 0x83, 0xea, 0xba, 0x16, 0x42, 0xb5, + 0x3b, 0x42, 0xab, 0x5f, 0xcf, 0x37, 0x49, 0x53, 0x1e, 0x05, 0x2c, 0x6a, +}; +static const unsigned char kat1759_nonce[] = { + 0x19, 0x70, 0xb2, 0x49, 0x74, 0xa6, 0xe4, 0x5f, 0xcd, 0x09, 0x9f, 0x7f, + 0x81, 0xe9, 0x89, 0x68, +}; +static const unsigned char kat1759_persstr[] = {0}; +static const unsigned char kat1759_entropyinreseed[] = { + 0x58, 0x3d, 0xdd, 0x4b, 0x2d, 0x88, 0xdd, 0xe2, 0x5b, 0x7e, 0x22, 0x85, + 0x47, 0x8b, 0x06, 0xa2, 0xe1, 0xba, 0x41, 0xc0, 0x05, 0xe2, 0xb9, 0x39, +}; +static const unsigned char kat1759_addinreseed[] = { + 0xe1, 0x25, 0x14, 0xea, 0xa3, 0xf6, 0x8d, 0x7f, 0x2c, 0xf0, 0x37, 0x77, + 0x36, 0x36, 0x0b, 0x2a, 0x14, 0x45, 0x9c, 0x0b, 0x74, 0x1d, 0x04, 0x32, + 0xd0, 0x41, 0xb9, 0x8d, 0xe3, 0xf1, 0x1e, 0xdc, +}; +static const unsigned char kat1759_addin0[] = { + 0xc4, 0xcc, 0xc6, 0x6d, 0x9b, 0x2f, 0x4d, 0x09, 0xe2, 0x30, 0x25, 0xb0, + 0xc0, 0x43, 0x6c, 0xcc, 0x7a, 0x7f, 0x02, 0x97, 0x34, 0x05, 0xdf, 0x09, + 0x34, 0x4d, 0x74, 0x21, 0xaa, 0x56, 0x92, 0xa1, +}; +static const unsigned char kat1759_addin1[] = { + 0x00, 0xe6, 0xc4, 0x9a, 0x01, 0x66, 0xe4, 0x7e, 0x4b, 0x81, 0x2f, 0xed, + 0x1b, 0x2f, 0x9e, 0x66, 0x2a, 0x6e, 0x7b, 0x90, 0x6a, 0xda, 0xe6, 0x48, + 0x67, 0x57, 0xca, 0x65, 0xf0, 0xad, 0x8a, 0xa3, +}; +static const unsigned char kat1759_retbits[] = { + 0xc0, 0x73, 0xda, 0x24, 0x88, 0xad, 0x58, 0xc9, 0xb2, 0xb3, 0xc5, 0xc1, + 0x21, 0xde, 0x40, 0x81, 0x71, 0x10, 0x86, 0xb6, 0x2d, 0xaf, 0xbf, 0xa2, + 0x35, 0x95, 0xb2, 0xde, 0xea, 0x86, 0x2e, 0x89, 0xcd, 0x8b, 0xcd, 0xb1, + 0x66, 0x81, 0x73, 0x92, 0xfb, 0xbf, 0xbc, 0x54, 0xec, 0x07, 0x0f, 0x1f, + 0xfb, 0xe5, 0x45, 0xfe, 0xc8, 0xf5, 0xb0, 0x4a, 0xeb, 0x34, 0x82, 0xf2, + 0xcf, 0x5a, 0xf4, 0xd0, +}; +static const struct drbg_kat_pr_false kat1759_t = { + 3, kat1759_entropyin, kat1759_nonce, kat1759_persstr, + kat1759_entropyinreseed, kat1759_addinreseed, kat1759_addin0, + kat1759_addin1, kat1759_retbits +}; +static const struct drbg_kat kat1759 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1759_t +}; + +static const unsigned char kat1760_entropyin[] = { + 0xda, 0x3f, 0x84, 0x0c, 0x1b, 0x9e, 0x65, 0x6b, 0x1c, 0x20, 0x84, 0x1a, + 0xec, 0x39, 0x26, 0x18, 0xd9, 0x05, 0x27, 0xcf, 0x64, 0x5a, 0x76, 0x91, +}; +static const unsigned char kat1760_nonce[] = { + 0x1e, 0x15, 0x6c, 0x5d, 0x97, 0xf3, 0x24, 0x5a, 0x4e, 0x88, 0xf4, 0xf1, + 0xd0, 0xaf, 0xe5, 0xcd, +}; +static const unsigned char kat1760_persstr[] = {0}; +static const unsigned char kat1760_entropyinreseed[] = { + 0x6c, 0x71, 0x43, 0x3e, 0xc9, 0x88, 0x48, 0x6e, 0x29, 0x30, 0xe7, 0x20, + 0x60, 0xf9, 0x71, 0x57, 0xeb, 0xef, 0x1b, 0x41, 0x0d, 0xed, 0xa0, 0xfc, +}; +static const unsigned char kat1760_addinreseed[] = { + 0x1b, 0xc4, 0xff, 0xa8, 0xc5, 0x78, 0x25, 0x9b, 0x65, 0x26, 0x1d, 0x38, + 0xa8, 0x08, 0x87, 0x51, 0x9f, 0xf0, 0x53, 0x71, 0xe1, 0x82, 0x4a, 0xdb, + 0x3c, 0xe8, 0x90, 0xc8, 0xe2, 0xa6, 0xc1, 0xb0, +}; +static const unsigned char kat1760_addin0[] = { + 0x7d, 0xa1, 0xc4, 0x87, 0xcd, 0x40, 0xad, 0x88, 0x94, 0x5b, 0xab, 0xd3, + 0x50, 0xe9, 0x8f, 0xf6, 0x9b, 0xa6, 0x5c, 0x92, 0xd9, 0x99, 0x1b, 0xf2, + 0xb9, 0xee, 0x7c, 0xb6, 0x2f, 0x59, 0x26, 0x28, +}; +static const unsigned char kat1760_addin1[] = { + 0x0e, 0x97, 0x65, 0x5c, 0x3f, 0xda, 0x2f, 0x9c, 0x48, 0xcb, 0xf6, 0xd8, + 0x48, 0x97, 0xe0, 0x9e, 0xa7, 0x71, 0xf9, 0x83, 0x3f, 0xa3, 0x11, 0x87, + 0x90, 0x14, 0x28, 0x9a, 0x09, 0xc0, 0xa1, 0x1b, +}; +static const unsigned char kat1760_retbits[] = { + 0x1f, 0x02, 0xf7, 0xa8, 0xa2, 0x90, 0x77, 0xef, 0xf9, 0x15, 0xcc, 0xa9, + 0x8d, 0x44, 0x36, 0xca, 0xa2, 0x70, 0xaa, 0xfe, 0xa0, 0x37, 0xc0, 0x8d, + 0x5a, 0x2a, 0x91, 0x71, 0xdc, 0xb6, 0xa6, 0x18, 0xe9, 0x9e, 0x7e, 0xac, + 0xb0, 0x07, 0x28, 0x07, 0xa6, 0x1e, 0xae, 0x8f, 0x75, 0x57, 0xc1, 0x83, + 0xdb, 0x67, 0xa1, 0x86, 0x89, 0x33, 0x16, 0x05, 0x7f, 0x85, 0xf1, 0x66, + 0x01, 0x30, 0x11, 0xd2, +}; +static const struct drbg_kat_pr_false kat1760_t = { + 4, kat1760_entropyin, kat1760_nonce, kat1760_persstr, + kat1760_entropyinreseed, kat1760_addinreseed, kat1760_addin0, + kat1760_addin1, kat1760_retbits +}; +static const struct drbg_kat kat1760 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1760_t +}; + +static const unsigned char kat1761_entropyin[] = { + 0xe5, 0x1c, 0xc4, 0xdd, 0x63, 0x24, 0xeb, 0x3e, 0x2e, 0xe3, 0xcf, 0x68, + 0x07, 0xa5, 0x81, 0xc5, 0xfe, 0x69, 0xa4, 0xd9, 0x06, 0x74, 0xa1, 0xb0, +}; +static const unsigned char kat1761_nonce[] = { + 0x8f, 0xf0, 0x15, 0x7e, 0xea, 0x81, 0x29, 0x5a, 0xff, 0x85, 0xa6, 0x2f, + 0xc8, 0x7f, 0xd5, 0xfc, +}; +static const unsigned char kat1761_persstr[] = {0}; +static const unsigned char kat1761_entropyinreseed[] = { + 0x01, 0x14, 0x91, 0xb7, 0x65, 0xe4, 0xf7, 0x92, 0x7c, 0x2a, 0xd5, 0x6b, + 0xeb, 0xb1, 0xc5, 0x44, 0x66, 0xce, 0x6a, 0x00, 0x50, 0xde, 0x0b, 0xea, +}; +static const unsigned char kat1761_addinreseed[] = { + 0xc9, 0x46, 0x0a, 0xc8, 0x53, 0x33, 0xd5, 0x83, 0xde, 0xc6, 0x96, 0xf8, + 0x75, 0x32, 0x74, 0xfb, 0x16, 0xed, 0x0e, 0x27, 0x39, 0x34, 0xbd, 0x18, + 0xc8, 0xb9, 0xb8, 0x00, 0xd8, 0x2f, 0x19, 0x16, +}; +static const unsigned char kat1761_addin0[] = { + 0x83, 0x7a, 0x5b, 0x4c, 0x64, 0x96, 0x86, 0x10, 0xcf, 0x67, 0xe1, 0x76, + 0x6b, 0x27, 0x66, 0x54, 0x95, 0xde, 0x9a, 0x79, 0x58, 0xe8, 0x35, 0x91, + 0xaf, 0x8a, 0x18, 0x33, 0x28, 0xf0, 0xc4, 0x27, +}; +static const unsigned char kat1761_addin1[] = { + 0x6a, 0x22, 0x17, 0xa8, 0x65, 0xf9, 0x79, 0xa7, 0x50, 0xb4, 0xb5, 0x64, + 0xb9, 0xd7, 0x2e, 0x8e, 0xf9, 0xa0, 0x51, 0xcf, 0x26, 0x63, 0x9c, 0xfa, + 0xc8, 0x3b, 0x0d, 0x19, 0x65, 0xfa, 0x2b, 0xf5, +}; +static const unsigned char kat1761_retbits[] = { + 0xe2, 0x5f, 0x04, 0xc5, 0x06, 0xea, 0xad, 0x2c, 0x39, 0xe2, 0xa1, 0x28, + 0x58, 0xa3, 0xbf, 0xa5, 0x46, 0x4c, 0xf4, 0xdf, 0x77, 0x13, 0x7b, 0x82, + 0x86, 0xa3, 0x33, 0x74, 0xeb, 0x67, 0x65, 0xd7, 0x45, 0xc9, 0x34, 0xaf, + 0xa0, 0x60, 0x7d, 0xfe, 0x46, 0x00, 0xe2, 0x8b, 0x69, 0x23, 0x0d, 0x28, + 0xa8, 0xcb, 0x93, 0x1d, 0xfc, 0x3d, 0x43, 0x49, 0x77, 0xb7, 0xa8, 0x59, + 0xa8, 0x6d, 0x2d, 0x74, +}; +static const struct drbg_kat_pr_false kat1761_t = { + 5, kat1761_entropyin, kat1761_nonce, kat1761_persstr, + kat1761_entropyinreseed, kat1761_addinreseed, kat1761_addin0, + kat1761_addin1, kat1761_retbits +}; +static const struct drbg_kat kat1761 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1761_t +}; + +static const unsigned char kat1762_entropyin[] = { + 0x1b, 0x9f, 0xc4, 0xe1, 0x5d, 0x6d, 0xfa, 0x69, 0x18, 0x4e, 0x90, 0x5d, + 0xc5, 0x7d, 0x84, 0x9d, 0x79, 0x16, 0x28, 0x68, 0x3c, 0xc7, 0x1c, 0x07, +}; +static const unsigned char kat1762_nonce[] = { + 0xa5, 0x90, 0x29, 0x65, 0xd4, 0x4b, 0x0e, 0x3c, 0x63, 0x92, 0xd9, 0x6f, + 0x2f, 0x0f, 0xae, 0xe6, +}; +static const unsigned char kat1762_persstr[] = {0}; +static const unsigned char kat1762_entropyinreseed[] = { + 0xd9, 0x88, 0xc4, 0x56, 0x1c, 0x9f, 0x6d, 0x8a, 0xde, 0xc7, 0x2e, 0xa5, + 0xab, 0xd3, 0x70, 0x73, 0x8e, 0x82, 0xd8, 0xc7, 0x7b, 0x77, 0xa7, 0x96, +}; +static const unsigned char kat1762_addinreseed[] = { + 0x42, 0x78, 0x6f, 0x5c, 0x79, 0xee, 0x03, 0xe3, 0x9a, 0x7a, 0x7f, 0xf0, + 0x1c, 0x2d, 0x20, 0xe2, 0xa6, 0xd5, 0xae, 0xf7, 0xc7, 0xb1, 0x61, 0xbc, + 0x2a, 0xd1, 0xbc, 0x10, 0xec, 0xe7, 0xd4, 0x51, +}; +static const unsigned char kat1762_addin0[] = { + 0x82, 0x19, 0xb7, 0xc3, 0x00, 0x96, 0xfb, 0x4e, 0xee, 0x43, 0x3c, 0x09, + 0xa6, 0x1c, 0x21, 0xef, 0xf9, 0xd2, 0x9f, 0xb5, 0x6d, 0x4a, 0x28, 0xa9, + 0xe6, 0xdf, 0xac, 0x50, 0xf1, 0x56, 0x42, 0x06, +}; +static const unsigned char kat1762_addin1[] = { + 0x14, 0x87, 0x0b, 0x12, 0x35, 0xe1, 0xcb, 0x17, 0x8e, 0xe7, 0x29, 0xae, + 0x45, 0x5e, 0x05, 0xde, 0x8c, 0xab, 0xf7, 0xb3, 0x1b, 0xf7, 0xc5, 0xa8, + 0xff, 0x6a, 0xc0, 0x5c, 0xed, 0x3c, 0x89, 0x38, +}; +static const unsigned char kat1762_retbits[] = { + 0xcc, 0x73, 0x86, 0xb1, 0xbd, 0xd1, 0x86, 0x92, 0x32, 0xfb, 0x94, 0x8d, + 0x89, 0x9d, 0xbb, 0x0a, 0xf6, 0x63, 0x33, 0xd0, 0x7b, 0x23, 0xed, 0x3d, + 0x10, 0x5c, 0x37, 0x7d, 0x7a, 0x15, 0xd5, 0xbe, 0x67, 0x8c, 0x7c, 0x53, + 0x0c, 0x79, 0xad, 0x52, 0xc2, 0xda, 0xd5, 0xa3, 0x5a, 0x2e, 0xac, 0x31, + 0xa9, 0x74, 0x97, 0x64, 0x39, 0x92, 0xb4, 0xa5, 0x81, 0xe7, 0x71, 0x7d, + 0xe8, 0xbc, 0x4b, 0xde, +}; +static const struct drbg_kat_pr_false kat1762_t = { + 6, kat1762_entropyin, kat1762_nonce, kat1762_persstr, + kat1762_entropyinreseed, kat1762_addinreseed, kat1762_addin0, + kat1762_addin1, kat1762_retbits +}; +static const struct drbg_kat kat1762 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1762_t +}; + +static const unsigned char kat1763_entropyin[] = { + 0x50, 0xaa, 0x97, 0x94, 0x21, 0xc7, 0xcc, 0xd4, 0x2d, 0x6f, 0x05, 0x52, + 0x50, 0x92, 0x81, 0x2f, 0xa6, 0x10, 0xde, 0x82, 0x33, 0x55, 0x7d, 0x1a, +}; +static const unsigned char kat1763_nonce[] = { + 0x57, 0x5b, 0xfb, 0x8f, 0x5c, 0x47, 0x24, 0x98, 0xeb, 0x16, 0xb0, 0xb9, + 0xe0, 0xb9, 0xad, 0x10, +}; +static const unsigned char kat1763_persstr[] = {0}; +static const unsigned char kat1763_entropyinreseed[] = { + 0x83, 0x14, 0xc1, 0xb3, 0x0b, 0x34, 0x16, 0xb3, 0xd1, 0x38, 0xbb, 0xf2, + 0xf6, 0x90, 0xd0, 0xe4, 0x5c, 0x06, 0x15, 0x0d, 0x35, 0x35, 0xcb, 0x4d, +}; +static const unsigned char kat1763_addinreseed[] = { + 0x41, 0x98, 0x1c, 0xc9, 0x77, 0xe7, 0x27, 0x6c, 0xf6, 0x9b, 0x55, 0x81, + 0x4c, 0xb0, 0x66, 0x52, 0x8c, 0x90, 0x6d, 0xc2, 0x64, 0xf6, 0xf8, 0x56, + 0x3f, 0xaa, 0x5f, 0xf0, 0xd4, 0xdd, 0x4e, 0x0a, +}; +static const unsigned char kat1763_addin0[] = { + 0x3d, 0x46, 0x50, 0xb5, 0xf1, 0x9c, 0xf1, 0x9f, 0x3c, 0x03, 0x7a, 0x11, + 0x0d, 0x64, 0xa2, 0xdf, 0x4e, 0x81, 0xed, 0x7a, 0xd6, 0xcc, 0x47, 0x8b, + 0x83, 0x63, 0x74, 0xba, 0x9b, 0x0a, 0x15, 0x91, +}; +static const unsigned char kat1763_addin1[] = { + 0x52, 0x12, 0x12, 0x55, 0x7a, 0x42, 0xc6, 0x54, 0xd8, 0xe2, 0x8b, 0x39, + 0x95, 0xf0, 0x35, 0xbd, 0x57, 0xe8, 0xc5, 0x7f, 0xcd, 0xa6, 0xb8, 0x9d, + 0xb6, 0x0d, 0xd2, 0xcd, 0x11, 0xdf, 0x9b, 0xf9, +}; +static const unsigned char kat1763_retbits[] = { + 0x87, 0xf9, 0x83, 0x23, 0x46, 0x03, 0xff, 0xdc, 0xbd, 0x61, 0x7d, 0x62, + 0xd2, 0x3c, 0x5f, 0x9d, 0x40, 0xcc, 0xb5, 0xe2, 0xcd, 0x55, 0x73, 0x9d, + 0x99, 0x4b, 0x09, 0x59, 0x1e, 0x63, 0x36, 0xd1, 0xa3, 0xec, 0x92, 0xec, + 0x56, 0x07, 0x4e, 0xe3, 0xfd, 0x78, 0x3d, 0x56, 0x99, 0xe5, 0x2d, 0xa0, + 0x9e, 0xf2, 0x00, 0x2a, 0xe8, 0xf2, 0xf8, 0x53, 0x64, 0x7a, 0x6b, 0xd9, + 0xff, 0xf6, 0xa0, 0xe5, +}; +static const struct drbg_kat_pr_false kat1763_t = { + 7, kat1763_entropyin, kat1763_nonce, kat1763_persstr, + kat1763_entropyinreseed, kat1763_addinreseed, kat1763_addin0, + kat1763_addin1, kat1763_retbits +}; +static const struct drbg_kat kat1763 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1763_t +}; + +static const unsigned char kat1764_entropyin[] = { + 0xa5, 0x3e, 0x5d, 0xaf, 0x4a, 0x15, 0x61, 0x8a, 0x2b, 0xa5, 0x9c, 0xa1, + 0xd3, 0xbd, 0x9a, 0xbd, 0x75, 0xd5, 0x85, 0x98, 0xe4, 0x58, 0xae, 0x7d, +}; +static const unsigned char kat1764_nonce[] = { + 0x33, 0x8c, 0xd8, 0x66, 0xb0, 0xc4, 0x05, 0x51, 0x29, 0x47, 0xf4, 0x10, + 0x2f, 0x0e, 0x3d, 0x27, +}; +static const unsigned char kat1764_persstr[] = {0}; +static const unsigned char kat1764_entropyinreseed[] = { + 0x42, 0xce, 0x3e, 0x84, 0xe8, 0xe8, 0xdc, 0x92, 0xd3, 0x94, 0x8c, 0xaa, + 0x0a, 0x71, 0x24, 0x84, 0x92, 0xf1, 0x6e, 0xa6, 0xc5, 0x4a, 0x44, 0x4d, +}; +static const unsigned char kat1764_addinreseed[] = { + 0x01, 0x00, 0x8e, 0xc0, 0xcc, 0xe1, 0x7f, 0x9f, 0x9f, 0x60, 0x0a, 0xd6, + 0x82, 0xf0, 0xda, 0xea, 0x81, 0xec, 0x4e, 0x5f, 0xad, 0x23, 0xad, 0xbd, + 0x45, 0xee, 0x95, 0x4d, 0x7c, 0xe8, 0x44, 0x9a, +}; +static const unsigned char kat1764_addin0[] = { + 0x69, 0x42, 0x40, 0x03, 0xf0, 0x8f, 0x5d, 0xcb, 0x73, 0x66, 0xe7, 0x40, + 0x24, 0x64, 0x8d, 0x9b, 0xc0, 0x1a, 0x57, 0x08, 0xbf, 0x15, 0x57, 0x4b, + 0x81, 0x67, 0x94, 0x30, 0x27, 0x69, 0x75, 0x55, +}; +static const unsigned char kat1764_addin1[] = { + 0x81, 0x31, 0x40, 0x6a, 0x80, 0x3b, 0xd4, 0x4f, 0xed, 0xb1, 0xa4, 0x51, + 0x3e, 0x4c, 0xc0, 0xdd, 0x19, 0xc0, 0xe1, 0xae, 0xf2, 0xcd, 0x91, 0xd7, + 0x7f, 0x91, 0x35, 0x9a, 0xd6, 0x65, 0xe2, 0xb7, +}; +static const unsigned char kat1764_retbits[] = { + 0x82, 0x48, 0x56, 0xa7, 0x29, 0x08, 0x28, 0x27, 0x3f, 0xaa, 0x88, 0x58, + 0x5c, 0x17, 0xd6, 0xc6, 0xe9, 0x39, 0x5e, 0x6a, 0xd9, 0xeb, 0x85, 0x81, + 0xfc, 0xbe, 0x15, 0xd2, 0x6b, 0x11, 0xd1, 0xd7, 0x8e, 0xec, 0xbf, 0x9a, + 0x98, 0xa5, 0x6a, 0xf4, 0x78, 0x45, 0xac, 0x46, 0xd7, 0x3e, 0xa6, 0xdc, + 0x47, 0x54, 0xb5, 0x96, 0xdc, 0x97, 0xc2, 0x64, 0xc4, 0xab, 0xc4, 0x02, + 0x91, 0xfa, 0x26, 0xe0, +}; +static const struct drbg_kat_pr_false kat1764_t = { + 8, kat1764_entropyin, kat1764_nonce, kat1764_persstr, + kat1764_entropyinreseed, kat1764_addinreseed, kat1764_addin0, + kat1764_addin1, kat1764_retbits +}; +static const struct drbg_kat kat1764 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1764_t +}; + +static const unsigned char kat1765_entropyin[] = { + 0x1c, 0x1e, 0x9c, 0xcf, 0x0b, 0x05, 0xa9, 0x31, 0xca, 0xd4, 0xd8, 0xa0, + 0x26, 0xd0, 0x31, 0x36, 0x46, 0x35, 0xa3, 0x85, 0x62, 0x62, 0xb7, 0x5a, +}; +static const unsigned char kat1765_nonce[] = { + 0x61, 0xe9, 0x48, 0x36, 0x5f, 0x59, 0x0e, 0xc3, 0x63, 0x07, 0x5c, 0xb6, + 0xac, 0xc1, 0x40, 0xf3, +}; +static const unsigned char kat1765_persstr[] = {0}; +static const unsigned char kat1765_entropyinreseed[] = { + 0x0d, 0xa4, 0xb5, 0xe8, 0x40, 0x9b, 0xcc, 0x2e, 0xe6, 0x54, 0x5e, 0xee, + 0xb6, 0xe9, 0xd7, 0x85, 0x70, 0x09, 0x23, 0xc0, 0x34, 0x04, 0xd6, 0x5b, +}; +static const unsigned char kat1765_addinreseed[] = { + 0x10, 0x06, 0x44, 0x0f, 0x91, 0x37, 0xe5, 0x75, 0x22, 0x88, 0x7c, 0x93, + 0xe7, 0x09, 0x28, 0x81, 0xb7, 0x87, 0x56, 0xfe, 0xa2, 0x28, 0x57, 0xd6, + 0x9c, 0xc1, 0x55, 0xb0, 0xa8, 0xfb, 0x7d, 0xd8, +}; +static const unsigned char kat1765_addin0[] = { + 0x7d, 0xe4, 0xc7, 0x57, 0x59, 0x2a, 0xb9, 0x9a, 0x0f, 0x0a, 0x9e, 0x94, + 0xa5, 0x1f, 0xc2, 0xd5, 0xde, 0x57, 0x28, 0x02, 0x85, 0xf0, 0xf2, 0xa3, + 0x68, 0x81, 0x4c, 0x47, 0x05, 0xfd, 0x25, 0x04, +}; +static const unsigned char kat1765_addin1[] = { + 0x11, 0xc9, 0x46, 0x8c, 0x28, 0x6e, 0x66, 0x39, 0x53, 0x6d, 0x51, 0x3d, + 0x13, 0x68, 0xce, 0x25, 0x25, 0x3f, 0x0e, 0x60, 0x35, 0x7e, 0x45, 0x07, + 0x73, 0x38, 0x5b, 0xd8, 0x7c, 0x32, 0x49, 0x58, +}; +static const unsigned char kat1765_retbits[] = { + 0x37, 0x12, 0xfa, 0xd0, 0x6f, 0xbb, 0xe3, 0x9c, 0xb2, 0xca, 0x2e, 0x85, + 0x36, 0xee, 0x10, 0x61, 0xb6, 0xed, 0x74, 0x36, 0x2d, 0x8c, 0xc6, 0xcf, + 0xcc, 0xfd, 0x49, 0x40, 0x1e, 0x21, 0x0d, 0x10, 0x13, 0xee, 0x0d, 0x21, + 0x28, 0xe9, 0x90, 0x2c, 0xc3, 0x43, 0xed, 0xe3, 0x22, 0xd9, 0xe4, 0xcb, + 0x56, 0x21, 0xc6, 0xb3, 0xad, 0x27, 0xb0, 0xca, 0x8d, 0x27, 0xa1, 0x8d, + 0x31, 0x39, 0xd1, 0x53, +}; +static const struct drbg_kat_pr_false kat1765_t = { + 9, kat1765_entropyin, kat1765_nonce, kat1765_persstr, + kat1765_entropyinreseed, kat1765_addinreseed, kat1765_addin0, + kat1765_addin1, kat1765_retbits +}; +static const struct drbg_kat kat1765 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1765_t +}; + +static const unsigned char kat1766_entropyin[] = { + 0xa1, 0x5b, 0x7d, 0xab, 0x42, 0xf6, 0x30, 0x4c, 0xbe, 0x20, 0x1c, 0x67, + 0xee, 0xf5, 0x2c, 0xb7, 0x2b, 0x92, 0xf7, 0xdd, 0xe9, 0xcd, 0xe9, 0xf5, +}; +static const unsigned char kat1766_nonce[] = { + 0x3d, 0x62, 0x16, 0xc7, 0x78, 0xfa, 0x79, 0x63, 0x12, 0x28, 0x1e, 0xb7, + 0x8e, 0x36, 0x0d, 0xfc, +}; +static const unsigned char kat1766_persstr[] = {0}; +static const unsigned char kat1766_entropyinreseed[] = { + 0x86, 0xc5, 0x9d, 0x10, 0x8e, 0x18, 0xa0, 0x72, 0xd1, 0x3c, 0x83, 0x6e, + 0x70, 0xf9, 0xa3, 0xb5, 0x03, 0x5d, 0x4a, 0x80, 0xa7, 0x38, 0x4f, 0x15, +}; +static const unsigned char kat1766_addinreseed[] = { + 0xa6, 0x1d, 0x90, 0xe6, 0xa9, 0x4c, 0x09, 0x6e, 0x41, 0xb4, 0xa9, 0xb6, + 0x9a, 0x1d, 0xab, 0xa4, 0xe5, 0xf5, 0x30, 0xa5, 0x3d, 0xa5, 0x85, 0x10, + 0xe4, 0x5a, 0xdc, 0x36, 0x1b, 0xe9, 0x64, 0x00, +}; +static const unsigned char kat1766_addin0[] = { + 0x92, 0xd3, 0x74, 0xff, 0xd3, 0x69, 0xa7, 0x1b, 0x9a, 0x96, 0x3b, 0xb8, + 0x4c, 0x9a, 0x57, 0xbc, 0xbd, 0x02, 0x21, 0x53, 0x17, 0x06, 0x0a, 0xa1, + 0xba, 0x6f, 0x8d, 0xb7, 0xf8, 0xa8, 0x89, 0xd7, +}; +static const unsigned char kat1766_addin1[] = { + 0x1b, 0x36, 0x7d, 0x51, 0xc9, 0x2f, 0xad, 0x59, 0xc7, 0xe7, 0x6b, 0xb1, + 0xeb, 0x67, 0xb9, 0x86, 0xfe, 0x2b, 0x4b, 0x3d, 0xd7, 0xe3, 0xad, 0x6c, + 0xc7, 0x36, 0x41, 0x2a, 0x90, 0x18, 0x79, 0x0f, +}; +static const unsigned char kat1766_retbits[] = { + 0x83, 0x14, 0xc9, 0x92, 0xf9, 0x78, 0x65, 0x7d, 0xcc, 0xb0, 0xe8, 0x58, + 0x86, 0xb6, 0x71, 0xe2, 0xef, 0xfe, 0x8a, 0x62, 0x76, 0xd2, 0x4d, 0xd4, + 0xa8, 0x6b, 0xfc, 0x4c, 0xa1, 0x7e, 0x43, 0xdb, 0xc5, 0xcf, 0xc0, 0x6c, + 0x59, 0xd5, 0x21, 0xc2, 0xd9, 0x1a, 0xbc, 0x13, 0xe7, 0xec, 0x7e, 0x99, + 0x98, 0x3f, 0x2f, 0xdd, 0x12, 0x31, 0x94, 0x97, 0x1b, 0x1d, 0x52, 0xbd, + 0x7e, 0xf1, 0x52, 0xde, +}; +static const struct drbg_kat_pr_false kat1766_t = { + 10, kat1766_entropyin, kat1766_nonce, kat1766_persstr, + kat1766_entropyinreseed, kat1766_addinreseed, kat1766_addin0, + kat1766_addin1, kat1766_retbits +}; +static const struct drbg_kat kat1766 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1766_t +}; + +static const unsigned char kat1767_entropyin[] = { + 0xf0, 0x24, 0xbb, 0x65, 0x54, 0xa3, 0x1a, 0x62, 0x28, 0x1e, 0x06, 0x31, + 0x4f, 0xd4, 0x67, 0x11, 0x28, 0x68, 0xcf, 0xc1, 0x8d, 0x39, 0x50, 0x80, +}; +static const unsigned char kat1767_nonce[] = { + 0xbf, 0x8e, 0x1a, 0xf5, 0xcd, 0x96, 0x31, 0x53, 0x62, 0xf8, 0x2b, 0xe8, + 0x2e, 0x4b, 0x88, 0x7a, +}; +static const unsigned char kat1767_persstr[] = {0}; +static const unsigned char kat1767_entropyinreseed[] = { + 0x94, 0x62, 0x3e, 0x66, 0x06, 0x5f, 0x15, 0x28, 0x01, 0x94, 0x91, 0x89, + 0x3c, 0x8c, 0x5d, 0x23, 0x46, 0x4a, 0x97, 0x7c, 0x7f, 0x30, 0x21, 0x8d, +}; +static const unsigned char kat1767_addinreseed[] = { + 0x5d, 0x0a, 0x55, 0x11, 0xca, 0x4f, 0x36, 0xd0, 0xb0, 0xfc, 0xce, 0x0f, + 0xcd, 0x42, 0x1f, 0x95, 0xff, 0x65, 0x90, 0x12, 0xd6, 0x67, 0x4a, 0xd8, + 0xe1, 0x97, 0xb7, 0x02, 0xf3, 0x58, 0x8e, 0x91, +}; +static const unsigned char kat1767_addin0[] = { + 0x6b, 0x9c, 0xc5, 0x97, 0x17, 0x5c, 0x2c, 0x0a, 0x3f, 0xf4, 0x85, 0x12, + 0x2f, 0x6e, 0x12, 0x49, 0x35, 0xf2, 0x3b, 0x48, 0xad, 0xbf, 0x0a, 0xb2, + 0x97, 0xf1, 0xb2, 0x7f, 0xc1, 0x1e, 0x99, 0xe9, +}; +static const unsigned char kat1767_addin1[] = { + 0x08, 0x96, 0x7a, 0x8d, 0xcd, 0xcf, 0x63, 0x27, 0x5d, 0x79, 0x91, 0x52, + 0x17, 0x8a, 0x75, 0x2c, 0x79, 0x28, 0xa4, 0x30, 0x7f, 0x5c, 0xbe, 0x7c, + 0x01, 0xbb, 0x5b, 0xa6, 0x07, 0xe5, 0xe6, 0xc9, +}; +static const unsigned char kat1767_retbits[] = { + 0xe0, 0x2b, 0xe5, 0x57, 0xa6, 0xdc, 0x83, 0x49, 0x72, 0xf3, 0xde, 0x03, + 0x22, 0xb0, 0x71, 0xe3, 0x5d, 0x79, 0x25, 0xfe, 0x37, 0x4e, 0x85, 0x4c, + 0xdb, 0xaa, 0x64, 0x89, 0x28, 0x27, 0xb8, 0x64, 0x45, 0x54, 0x5d, 0xf6, + 0xcc, 0xcc, 0x8f, 0x53, 0x43, 0xb2, 0x11, 0xe0, 0x25, 0xc9, 0xea, 0x03, + 0xd8, 0x0e, 0xf2, 0x83, 0x7f, 0xf0, 0x6f, 0x4f, 0x20, 0x6a, 0xa2, 0x26, + 0x25, 0xb9, 0xab, 0xf7, +}; +static const struct drbg_kat_pr_false kat1767_t = { + 11, kat1767_entropyin, kat1767_nonce, kat1767_persstr, + kat1767_entropyinreseed, kat1767_addinreseed, kat1767_addin0, + kat1767_addin1, kat1767_retbits +}; +static const struct drbg_kat kat1767 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1767_t +}; + +static const unsigned char kat1768_entropyin[] = { + 0x82, 0x0a, 0xd7, 0x4a, 0x3c, 0x3c, 0x10, 0xb5, 0x64, 0x52, 0xdf, 0x57, + 0xbf, 0xea, 0xfb, 0xff, 0xd0, 0x9f, 0x1a, 0xd0, 0x21, 0x65, 0x2a, 0x9b, +}; +static const unsigned char kat1768_nonce[] = { + 0xaf, 0xb7, 0x68, 0xe3, 0x56, 0x78, 0xb6, 0x7d, 0xee, 0xcc, 0xd8, 0x83, + 0xa4, 0x3e, 0x2c, 0xb2, +}; +static const unsigned char kat1768_persstr[] = {0}; +static const unsigned char kat1768_entropyinreseed[] = { + 0x3f, 0xe9, 0x80, 0x72, 0xd4, 0x21, 0x3d, 0x47, 0x51, 0x7e, 0xc8, 0x26, + 0xab, 0x9a, 0x4b, 0x5f, 0xff, 0x39, 0xe8, 0x98, 0x70, 0x22, 0x30, 0xb2, +}; +static const unsigned char kat1768_addinreseed[] = { + 0x36, 0x68, 0x7f, 0xd7, 0x4e, 0xcf, 0xbc, 0x15, 0xbc, 0x9f, 0x40, 0x07, + 0xd2, 0xa3, 0x60, 0xdb, 0xcc, 0x4f, 0x35, 0x5e, 0xe9, 0xbc, 0xf7, 0xec, + 0x4c, 0xf1, 0xaf, 0xdd, 0xbd, 0xca, 0x07, 0x38, +}; +static const unsigned char kat1768_addin0[] = { + 0x07, 0x02, 0xe7, 0x82, 0xde, 0xf9, 0x48, 0xc2, 0x77, 0x8b, 0xad, 0xb2, + 0xf6, 0xa4, 0xb2, 0xea, 0x77, 0x32, 0x0e, 0x82, 0xb3, 0xed, 0xc2, 0x17, + 0x4d, 0xea, 0xa9, 0xcb, 0x49, 0x37, 0x24, 0x48, +}; +static const unsigned char kat1768_addin1[] = { + 0x31, 0x59, 0xbb, 0x5c, 0x19, 0x63, 0x24, 0x3a, 0x58, 0xe5, 0x3d, 0x23, + 0x6e, 0x09, 0xbe, 0x05, 0x58, 0xa5, 0x48, 0x71, 0x75, 0x1d, 0x46, 0x04, + 0xba, 0x7e, 0x3f, 0xb2, 0xe3, 0xf3, 0x82, 0xb7, +}; +static const unsigned char kat1768_retbits[] = { + 0xcf, 0x81, 0x75, 0x10, 0xcd, 0x62, 0xd0, 0x88, 0xad, 0x84, 0x80, 0xdc, + 0xc0, 0x22, 0x38, 0xd3, 0xf9, 0x43, 0xb4, 0x29, 0xf9, 0x1e, 0x4a, 0xdd, + 0x15, 0xd8, 0x7b, 0x4c, 0xb2, 0x3a, 0xfa, 0x3b, 0x5e, 0xa9, 0x26, 0xea, + 0xf7, 0xc0, 0x1f, 0x4e, 0xbf, 0xa8, 0x5d, 0xe1, 0xbc, 0x98, 0x30, 0x7c, + 0x49, 0x63, 0xc8, 0x18, 0x9e, 0xbe, 0xf4, 0x6a, 0x8b, 0xef, 0x6e, 0xa1, + 0xaa, 0x14, 0xb8, 0x33, +}; +static const struct drbg_kat_pr_false kat1768_t = { + 12, kat1768_entropyin, kat1768_nonce, kat1768_persstr, + kat1768_entropyinreseed, kat1768_addinreseed, kat1768_addin0, + kat1768_addin1, kat1768_retbits +}; +static const struct drbg_kat kat1768 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1768_t +}; + +static const unsigned char kat1769_entropyin[] = { + 0xbf, 0x03, 0x39, 0x77, 0x4a, 0x1d, 0x0b, 0x64, 0xa2, 0x4f, 0xfa, 0x11, + 0x2c, 0x6d, 0x73, 0x07, 0x46, 0xb7, 0x16, 0x7a, 0x64, 0x95, 0xc6, 0xe8, +}; +static const unsigned char kat1769_nonce[] = { + 0xcc, 0x9c, 0xec, 0xf9, 0x04, 0xe8, 0x73, 0xfa, 0x41, 0xbf, 0x51, 0x65, + 0x63, 0x34, 0x40, 0x9a, +}; +static const unsigned char kat1769_persstr[] = {0}; +static const unsigned char kat1769_entropyinreseed[] = { + 0x4d, 0x4e, 0x0e, 0x0c, 0xe3, 0x3b, 0xd3, 0x63, 0x3b, 0x33, 0x2c, 0xb1, + 0x58, 0xeb, 0xf9, 0x14, 0xc1, 0x78, 0xff, 0x19, 0x5c, 0x80, 0x29, 0x2b, +}; +static const unsigned char kat1769_addinreseed[] = { + 0x2c, 0x62, 0xee, 0x3c, 0x5a, 0x44, 0xc1, 0x1a, 0xaa, 0x31, 0xa0, 0x04, + 0xea, 0x11, 0x75, 0xee, 0x4f, 0x8e, 0x43, 0x21, 0x44, 0x41, 0x8b, 0x8a, + 0x83, 0xf3, 0x79, 0xae, 0x07, 0x73, 0x9a, 0x5c, +}; +static const unsigned char kat1769_addin0[] = { + 0x4b, 0xa7, 0xc3, 0x60, 0x34, 0x3d, 0x98, 0xed, 0xa3, 0xa3, 0x15, 0x84, + 0x3e, 0xf6, 0x38, 0x79, 0x5a, 0xfd, 0x99, 0xb8, 0x52, 0x7c, 0x07, 0xb5, + 0x67, 0xee, 0xd4, 0xd5, 0x2b, 0x3a, 0xa0, 0x46, +}; +static const unsigned char kat1769_addin1[] = { + 0x38, 0x0a, 0x11, 0x72, 0xc4, 0x38, 0xc5, 0x54, 0x6e, 0x3a, 0xbc, 0xb0, + 0xe9, 0xe3, 0xff, 0x68, 0x51, 0x96, 0x72, 0x7e, 0xf6, 0x7c, 0x62, 0xd1, + 0xe5, 0x17, 0xdd, 0x55, 0x5d, 0xfe, 0x46, 0x28, +}; +static const unsigned char kat1769_retbits[] = { + 0xd3, 0xf2, 0xa7, 0xbc, 0x68, 0x02, 0x3d, 0xdf, 0x2b, 0xd5, 0x75, 0x76, + 0x76, 0x48, 0xb0, 0x8e, 0x08, 0xe6, 0x65, 0x89, 0x0c, 0xf5, 0xba, 0xef, + 0x71, 0x7b, 0x60, 0x91, 0xbd, 0xa5, 0xa3, 0x2b, 0xc1, 0x9d, 0xae, 0x9c, + 0xa9, 0x64, 0x2a, 0xe6, 0x0f, 0xd4, 0x16, 0x01, 0x1b, 0xe8, 0x3c, 0x92, + 0x67, 0x66, 0xe3, 0x6c, 0x9a, 0xff, 0x61, 0x66, 0xfe, 0xd3, 0xa6, 0xb2, + 0x7d, 0xa5, 0xb3, 0x1b, +}; +static const struct drbg_kat_pr_false kat1769_t = { + 13, kat1769_entropyin, kat1769_nonce, kat1769_persstr, + kat1769_entropyinreseed, kat1769_addinreseed, kat1769_addin0, + kat1769_addin1, kat1769_retbits +}; +static const struct drbg_kat kat1769 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1769_t +}; + +static const unsigned char kat1770_entropyin[] = { + 0xd5, 0x31, 0xfd, 0x35, 0xf3, 0x1c, 0xb0, 0xfd, 0xd6, 0x69, 0x20, 0x55, + 0x41, 0x4c, 0x69, 0xe9, 0xa3, 0x3f, 0x8d, 0xdd, 0x69, 0x76, 0x46, 0x79, +}; +static const unsigned char kat1770_nonce[] = { + 0x90, 0xb2, 0x85, 0xdd, 0xe8, 0x1d, 0xac, 0x32, 0x39, 0x9b, 0x10, 0xa2, + 0x60, 0x91, 0x8a, 0x57, +}; +static const unsigned char kat1770_persstr[] = {0}; +static const unsigned char kat1770_entropyinreseed[] = { + 0xc1, 0x3a, 0x65, 0x16, 0x18, 0xfe, 0x8b, 0x94, 0x6d, 0xd3, 0xe4, 0x72, + 0x74, 0x16, 0xdd, 0x78, 0x10, 0x48, 0x21, 0x4f, 0x4e, 0x65, 0xbf, 0x05, +}; +static const unsigned char kat1770_addinreseed[] = { + 0x5d, 0x38, 0x50, 0x72, 0xd2, 0x50, 0x18, 0xf3, 0x57, 0xc8, 0x25, 0x5c, + 0x33, 0x0c, 0xc5, 0xac, 0x3c, 0x49, 0x00, 0x23, 0x23, 0x2d, 0x6b, 0x42, + 0x30, 0x0c, 0x86, 0x8d, 0xdb, 0xb1, 0x8b, 0xa7, +}; +static const unsigned char kat1770_addin0[] = { + 0x84, 0x3b, 0xdd, 0x12, 0x4e, 0x61, 0x0e, 0x6d, 0x4a, 0x8b, 0x8a, 0x57, + 0x0b, 0x6e, 0xaa, 0xa4, 0x20, 0x8a, 0xc4, 0xc9, 0x0a, 0x63, 0x46, 0xae, + 0xc5, 0x68, 0xbc, 0xb4, 0x0e, 0x7e, 0xfd, 0x9c, +}; +static const unsigned char kat1770_addin1[] = { + 0xae, 0xc9, 0x86, 0x64, 0xda, 0xd6, 0x63, 0x48, 0x33, 0xe2, 0x77, 0x81, + 0xc6, 0x26, 0x41, 0xf6, 0x74, 0x9c, 0xce, 0xbb, 0x40, 0x7a, 0xc2, 0xfa, + 0x04, 0x06, 0x3b, 0x47, 0xd1, 0x87, 0xc6, 0xa1, +}; +static const unsigned char kat1770_retbits[] = { + 0xa4, 0x97, 0x49, 0x7e, 0x07, 0x22, 0x35, 0x13, 0xb6, 0xde, 0xcd, 0xcb, + 0x3c, 0x1c, 0xa6, 0x20, 0x43, 0xda, 0x0b, 0x2d, 0x65, 0xa1, 0x31, 0x6a, + 0x5d, 0x24, 0x5f, 0x61, 0x70, 0xb2, 0x7b, 0x08, 0x04, 0x0c, 0x0c, 0xbd, + 0xcc, 0x59, 0x6e, 0x0e, 0xeb, 0x8f, 0x0f, 0xb8, 0xf3, 0x90, 0x7a, 0x57, + 0xf4, 0x1c, 0xfe, 0xa1, 0xe0, 0x4d, 0xed, 0xc4, 0x5c, 0x58, 0x6b, 0xfd, + 0x26, 0xba, 0x45, 0x23, +}; +static const struct drbg_kat_pr_false kat1770_t = { + 14, kat1770_entropyin, kat1770_nonce, kat1770_persstr, + kat1770_entropyinreseed, kat1770_addinreseed, kat1770_addin0, + kat1770_addin1, kat1770_retbits +}; +static const struct drbg_kat kat1770 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1770_t +}; + +static const unsigned char kat1771_entropyin[] = { + 0xa7, 0x11, 0x8c, 0x15, 0x5d, 0x69, 0x70, 0x55, 0x19, 0xf1, 0xa5, 0x6f, + 0x3f, 0x52, 0x4e, 0xfc, 0xb3, 0x2a, 0xeb, 0x32, 0xa9, 0x8a, 0xe8, 0x1a, +}; +static const unsigned char kat1771_nonce[] = { + 0x02, 0x07, 0xf3, 0x53, 0x4f, 0x11, 0x8c, 0x71, 0xcc, 0x11, 0xf1, 0x81, + 0xf5, 0xc6, 0xfc, 0x0f, +}; +static const unsigned char kat1771_persstr[] = { + 0x8d, 0x11, 0x49, 0x1c, 0x83, 0xde, 0xde, 0x01, 0x2f, 0x27, 0x1c, 0x26, + 0x3f, 0x8d, 0x42, 0x46, 0xc3, 0xef, 0xdf, 0xdd, 0x28, 0x87, 0x10, 0xc6, + 0x7e, 0x97, 0x9f, 0x4f, 0xbb, 0xc8, 0x64, 0xcd, +}; +static const unsigned char kat1771_entropyinreseed[] = { + 0x66, 0xab, 0xef, 0x82, 0xf7, 0x94, 0xf3, 0x5e, 0xd9, 0x42, 0x82, 0xde, + 0xef, 0x0d, 0xfc, 0x22, 0x8c, 0xa5, 0xec, 0x83, 0x25, 0x7e, 0x81, 0xd7, +}; +static const unsigned char kat1771_addinreseed[] = {0}; +static const unsigned char kat1771_addin0[] = {0}; +static const unsigned char kat1771_addin1[] = {0}; +static const unsigned char kat1771_retbits[] = { + 0x5d, 0xdd, 0x46, 0xba, 0xf5, 0xc6, 0xa5, 0xe3, 0x09, 0x43, 0xc5, 0xbd, + 0xa1, 0x2f, 0x5d, 0xb8, 0xec, 0x19, 0xc5, 0x37, 0xf1, 0x70, 0x2a, 0xfe, + 0xa3, 0x12, 0x92, 0xb4, 0xa9, 0xa8, 0xd4, 0x25, 0x76, 0x3a, 0x9f, 0x92, + 0xb3, 0x6f, 0x61, 0x6f, 0x4f, 0xfd, 0xb9, 0x16, 0x07, 0x74, 0xd8, 0x77, + 0x64, 0x33, 0xb7, 0xc0, 0x5c, 0x46, 0xfe, 0x6f, 0x66, 0xc4, 0x03, 0x73, + 0x6a, 0x04, 0x4b, 0xe5, +}; +static const struct drbg_kat_pr_false kat1771_t = { + 0, kat1771_entropyin, kat1771_nonce, kat1771_persstr, + kat1771_entropyinreseed, kat1771_addinreseed, kat1771_addin0, + kat1771_addin1, kat1771_retbits +}; +static const struct drbg_kat kat1771 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1771_t +}; + +static const unsigned char kat1772_entropyin[] = { + 0x45, 0xc2, 0xaf, 0x2d, 0x36, 0x15, 0xd4, 0x49, 0x3b, 0xeb, 0x79, 0x22, + 0x0c, 0x2f, 0x78, 0x2b, 0xa5, 0x64, 0x2e, 0xf4, 0x45, 0x47, 0x14, 0x7d, +}; +static const unsigned char kat1772_nonce[] = { + 0xaf, 0x67, 0x2d, 0x64, 0x5a, 0x68, 0x34, 0xd6, 0x56, 0x5f, 0xb3, 0x2d, + 0x15, 0xd4, 0x08, 0x5c, +}; +static const unsigned char kat1772_persstr[] = { + 0x07, 0x58, 0xc2, 0x4f, 0xc9, 0x2f, 0x12, 0x6b, 0x41, 0xea, 0x90, 0x6d, + 0xa2, 0xbd, 0x9e, 0x8f, 0x97, 0x32, 0x70, 0x3b, 0x13, 0xc4, 0xf2, 0x33, + 0x4c, 0x96, 0xfb, 0x55, 0xbd, 0xbe, 0xa9, 0x98, +}; +static const unsigned char kat1772_entropyinreseed[] = { + 0x8d, 0xd1, 0x5d, 0x94, 0x4c, 0xbb, 0xcc, 0x54, 0x13, 0x99, 0x6d, 0x32, + 0x16, 0x20, 0xfa, 0x12, 0x64, 0x78, 0x95, 0x34, 0xbd, 0x22, 0x8f, 0xc1, +}; +static const unsigned char kat1772_addinreseed[] = {0}; +static const unsigned char kat1772_addin0[] = {0}; +static const unsigned char kat1772_addin1[] = {0}; +static const unsigned char kat1772_retbits[] = { + 0x6e, 0x4c, 0x6c, 0xf2, 0x19, 0x2c, 0x95, 0x93, 0x76, 0xe1, 0xd9, 0xf3, + 0xfe, 0xf0, 0xa7, 0x15, 0xa9, 0x93, 0x2b, 0x1c, 0xad, 0x08, 0xb9, 0xc6, + 0x53, 0xe7, 0xb1, 0xac, 0xee, 0x53, 0x13, 0x05, 0x1f, 0xe2, 0xf4, 0x3c, + 0xdb, 0xe0, 0xf1, 0x6a, 0x56, 0x50, 0x39, 0xd5, 0x47, 0xca, 0xb6, 0xde, + 0x9b, 0xbc, 0xbe, 0x3a, 0xf1, 0x2d, 0x90, 0x57, 0xa9, 0xbc, 0x3f, 0xeb, + 0x98, 0xd7, 0x21, 0x0e, +}; +static const struct drbg_kat_pr_false kat1772_t = { + 1, kat1772_entropyin, kat1772_nonce, kat1772_persstr, + kat1772_entropyinreseed, kat1772_addinreseed, kat1772_addin0, + kat1772_addin1, kat1772_retbits +}; +static const struct drbg_kat kat1772 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1772_t +}; + +static const unsigned char kat1773_entropyin[] = { + 0x5f, 0xe4, 0x90, 0x5c, 0x81, 0x0f, 0xcc, 0xff, 0xd3, 0xe2, 0x98, 0x5f, + 0x20, 0x94, 0x69, 0x0d, 0x7a, 0x58, 0x1f, 0x3e, 0x5a, 0xd3, 0x99, 0x71, +}; +static const unsigned char kat1773_nonce[] = { + 0x3a, 0x12, 0xf5, 0xf2, 0xd9, 0x06, 0x27, 0xb9, 0xb7, 0x21, 0x2c, 0x33, + 0xbf, 0xf3, 0xde, 0x9a, +}; +static const unsigned char kat1773_persstr[] = { + 0xb4, 0x59, 0x1d, 0xc7, 0xef, 0x27, 0x05, 0x80, 0x8e, 0xdd, 0xe8, 0x0a, + 0x37, 0xf6, 0x25, 0x70, 0x5e, 0x5b, 0xa2, 0xab, 0x0d, 0x4c, 0x79, 0x4f, + 0x10, 0xac, 0x0d, 0xf6, 0x35, 0x3f, 0x5c, 0x15, +}; +static const unsigned char kat1773_entropyinreseed[] = { + 0x79, 0xd3, 0xf0, 0x84, 0x70, 0xe1, 0x89, 0x09, 0xe8, 0x5a, 0x04, 0x10, + 0xc7, 0xe4, 0x85, 0x5b, 0x15, 0x5c, 0xd5, 0x9b, 0x2c, 0xec, 0xc4, 0x7a, +}; +static const unsigned char kat1773_addinreseed[] = {0}; +static const unsigned char kat1773_addin0[] = {0}; +static const unsigned char kat1773_addin1[] = {0}; +static const unsigned char kat1773_retbits[] = { + 0xc4, 0x97, 0xbe, 0x7e, 0xae, 0x97, 0x4f, 0x2e, 0xd6, 0x5d, 0xfb, 0x0f, + 0x8b, 0x6c, 0xbb, 0x3c, 0xe0, 0x5d, 0xb8, 0x2f, 0xf3, 0x1f, 0x36, 0xf0, + 0x4a, 0xaa, 0x44, 0xe1, 0x9b, 0x08, 0x28, 0xd0, 0xc5, 0xfd, 0xb5, 0x9c, + 0xf5, 0x88, 0x52, 0x9e, 0x5f, 0x7e, 0xb0, 0x48, 0xc4, 0x2d, 0x50, 0x3e, + 0x5b, 0xe7, 0x37, 0x26, 0x57, 0x34, 0x7e, 0x9d, 0x3e, 0xdb, 0xde, 0xd3, + 0x4d, 0xe3, 0x16, 0x33, +}; +static const struct drbg_kat_pr_false kat1773_t = { + 2, kat1773_entropyin, kat1773_nonce, kat1773_persstr, + kat1773_entropyinreseed, kat1773_addinreseed, kat1773_addin0, + kat1773_addin1, kat1773_retbits +}; +static const struct drbg_kat kat1773 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1773_t +}; + +static const unsigned char kat1774_entropyin[] = { + 0x72, 0x23, 0x17, 0x5b, 0x57, 0xe3, 0xe3, 0xa2, 0x2b, 0x95, 0xbe, 0xde, + 0x4b, 0x62, 0xb2, 0x46, 0xee, 0xcb, 0x21, 0x7e, 0xf8, 0x71, 0x47, 0xa4, +}; +static const unsigned char kat1774_nonce[] = { + 0xed, 0x25, 0xc6, 0xf4, 0xc4, 0x87, 0x9f, 0xa9, 0x9f, 0x17, 0x5b, 0x2e, + 0x47, 0x0c, 0x8d, 0xee, +}; +static const unsigned char kat1774_persstr[] = { + 0xad, 0x21, 0xbf, 0x9e, 0x96, 0xa9, 0x1b, 0x56, 0xfe, 0x9b, 0x19, 0x9a, + 0x16, 0xa6, 0x74, 0x88, 0x5a, 0xbf, 0x22, 0x34, 0x83, 0xc7, 0x6c, 0x6c, + 0x27, 0x9e, 0xcb, 0x25, 0x3d, 0xc5, 0x80, 0x0b, +}; +static const unsigned char kat1774_entropyinreseed[] = { + 0x54, 0x4b, 0xdd, 0xff, 0x07, 0xfb, 0x62, 0x46, 0xfe, 0xcf, 0x5a, 0xa4, + 0xec, 0x7a, 0x88, 0x35, 0x0a, 0xfe, 0x27, 0x58, 0x24, 0x0b, 0xc5, 0x58, +}; +static const unsigned char kat1774_addinreseed[] = {0}; +static const unsigned char kat1774_addin0[] = {0}; +static const unsigned char kat1774_addin1[] = {0}; +static const unsigned char kat1774_retbits[] = { + 0x3e, 0x52, 0x22, 0x4e, 0x48, 0x91, 0xa1, 0x7c, 0x10, 0x19, 0xd2, 0x8d, + 0x0c, 0x90, 0xb0, 0x36, 0x59, 0x28, 0x66, 0x0f, 0x8a, 0xf1, 0xf6, 0x6f, + 0xab, 0xd6, 0xe6, 0x87, 0xd8, 0x1c, 0xa7, 0x24, 0xf1, 0x34, 0x01, 0x4c, + 0x72, 0x59, 0xd5, 0x3f, 0xe7, 0x95, 0xab, 0xc3, 0x4b, 0x6f, 0xdc, 0x03, + 0x9d, 0x9c, 0xf2, 0xd2, 0x46, 0xcc, 0x73, 0x81, 0x05, 0xe1, 0x7b, 0xd5, + 0x54, 0x75, 0x2f, 0x73, +}; +static const struct drbg_kat_pr_false kat1774_t = { + 3, kat1774_entropyin, kat1774_nonce, kat1774_persstr, + kat1774_entropyinreseed, kat1774_addinreseed, kat1774_addin0, + kat1774_addin1, kat1774_retbits +}; +static const struct drbg_kat kat1774 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1774_t +}; + +static const unsigned char kat1775_entropyin[] = { + 0x1d, 0xeb, 0x31, 0x28, 0xbd, 0x87, 0x02, 0x2d, 0xd2, 0xff, 0x7a, 0xbe, + 0xaf, 0x7b, 0xfd, 0xac, 0x66, 0x14, 0x0c, 0x31, 0x9f, 0x1d, 0xd2, 0x4d, +}; +static const unsigned char kat1775_nonce[] = { + 0xd6, 0x50, 0x4f, 0x4d, 0xbb, 0xe2, 0xfe, 0xcc, 0xd8, 0x9c, 0x9c, 0x22, + 0x5c, 0xef, 0x0c, 0x7c, +}; +static const unsigned char kat1775_persstr[] = { + 0x26, 0x67, 0x37, 0xc2, 0xc2, 0x82, 0x5f, 0x2d, 0x0c, 0x85, 0x39, 0x75, + 0x7f, 0xf8, 0xf9, 0xe8, 0x5a, 0xd9, 0x4f, 0xa4, 0xec, 0x8e, 0x2a, 0x29, + 0x58, 0x02, 0x5f, 0x0f, 0xc2, 0xc6, 0x64, 0x87, +}; +static const unsigned char kat1775_entropyinreseed[] = { + 0xf9, 0x67, 0x9a, 0x22, 0x0b, 0x82, 0xaf, 0x90, 0x38, 0x5c, 0x5e, 0x04, + 0xfc, 0xf8, 0x91, 0xca, 0xca, 0x12, 0x46, 0xc0, 0xec, 0xe0, 0x83, 0xfc, +}; +static const unsigned char kat1775_addinreseed[] = {0}; +static const unsigned char kat1775_addin0[] = {0}; +static const unsigned char kat1775_addin1[] = {0}; +static const unsigned char kat1775_retbits[] = { + 0x9d, 0x41, 0x94, 0xc9, 0x88, 0xa7, 0xbf, 0x40, 0xd4, 0x7d, 0x40, 0x60, + 0x94, 0xb7, 0x27, 0x53, 0x40, 0xa6, 0x47, 0x43, 0x57, 0xc8, 0xf4, 0xee, + 0x5f, 0xce, 0xdb, 0x29, 0xf5, 0xc3, 0xc9, 0x7b, 0xb9, 0xf6, 0xdc, 0x95, + 0x7a, 0x4c, 0xe3, 0xce, 0x54, 0x1f, 0xe4, 0x3c, 0x4d, 0x2c, 0x54, 0x7c, + 0x85, 0xe4, 0x82, 0x32, 0x88, 0xaf, 0x9d, 0x47, 0xba, 0x8d, 0x4f, 0x89, + 0xd3, 0xd4, 0x6c, 0xaf, +}; +static const struct drbg_kat_pr_false kat1775_t = { + 4, kat1775_entropyin, kat1775_nonce, kat1775_persstr, + kat1775_entropyinreseed, kat1775_addinreseed, kat1775_addin0, + kat1775_addin1, kat1775_retbits +}; +static const struct drbg_kat kat1775 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1775_t +}; + +static const unsigned char kat1776_entropyin[] = { + 0x92, 0x29, 0x5b, 0xe3, 0x87, 0x66, 0xb6, 0x48, 0xcf, 0x44, 0x2b, 0x84, + 0xcd, 0x3e, 0xaf, 0x02, 0x28, 0x2e, 0x37, 0x8c, 0x00, 0xd3, 0xe4, 0x2f, +}; +static const unsigned char kat1776_nonce[] = { + 0x8f, 0x1b, 0x22, 0x7a, 0xb2, 0xcc, 0x65, 0x64, 0x86, 0x8d, 0x7a, 0x21, + 0x9b, 0x36, 0xf5, 0xcc, +}; +static const unsigned char kat1776_persstr[] = { + 0xb5, 0x72, 0xb2, 0xbe, 0xf8, 0x44, 0x03, 0xd8, 0xa2, 0x88, 0xf0, 0xa5, + 0x47, 0x5c, 0x00, 0xf1, 0x86, 0x94, 0x1f, 0x72, 0x88, 0x02, 0x3b, 0x8c, + 0xda, 0xca, 0x3e, 0xe6, 0x5c, 0x4b, 0x5e, 0x46, +}; +static const unsigned char kat1776_entropyinreseed[] = { + 0xa5, 0xb8, 0xb6, 0xf4, 0x4d, 0x8a, 0xa2, 0x3b, 0x66, 0x21, 0x88, 0x85, + 0x45, 0x09, 0x8e, 0x25, 0x54, 0xa6, 0x81, 0x15, 0xdb, 0x1b, 0x3f, 0x0d, +}; +static const unsigned char kat1776_addinreseed[] = {0}; +static const unsigned char kat1776_addin0[] = {0}; +static const unsigned char kat1776_addin1[] = {0}; +static const unsigned char kat1776_retbits[] = { + 0xa1, 0x1e, 0x67, 0xa3, 0x53, 0xa2, 0xe6, 0x4e, 0xe0, 0x60, 0x8e, 0xea, + 0x12, 0xe6, 0xdb, 0x0b, 0x35, 0xc1, 0xc6, 0xd9, 0xeb, 0xf8, 0x86, 0x9b, + 0xc4, 0xea, 0x48, 0x06, 0x00, 0x9b, 0x42, 0x3c, 0x68, 0xc2, 0xf6, 0xb3, + 0x91, 0x30, 0xa0, 0x82, 0xed, 0x6b, 0x06, 0x3a, 0xd5, 0x7b, 0xc2, 0xd7, + 0x55, 0x69, 0xb2, 0x21, 0x64, 0x7c, 0x9b, 0xd1, 0xc0, 0x38, 0xa7, 0x36, + 0x04, 0xdf, 0x2c, 0xd5, +}; +static const struct drbg_kat_pr_false kat1776_t = { + 5, kat1776_entropyin, kat1776_nonce, kat1776_persstr, + kat1776_entropyinreseed, kat1776_addinreseed, kat1776_addin0, + kat1776_addin1, kat1776_retbits +}; +static const struct drbg_kat kat1776 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1776_t +}; + +static const unsigned char kat1777_entropyin[] = { + 0x0b, 0x6e, 0xa6, 0x6e, 0x96, 0x19, 0xc8, 0xd3, 0xe1, 0xbd, 0x52, 0xb3, + 0x65, 0x62, 0x8a, 0x4a, 0x0b, 0x7f, 0x94, 0x83, 0x72, 0xdf, 0x28, 0x53, +}; +static const unsigned char kat1777_nonce[] = { + 0x6c, 0xba, 0xf0, 0x2c, 0x17, 0x3d, 0x73, 0x9b, 0x00, 0x94, 0xc0, 0xa2, + 0x5e, 0xf2, 0x0a, 0x54, +}; +static const unsigned char kat1777_persstr[] = { + 0x2d, 0x23, 0xdc, 0x58, 0x40, 0xf8, 0xfd, 0xcc, 0x8a, 0x8b, 0x93, 0xce, + 0x30, 0x14, 0x18, 0xfa, 0xa8, 0x17, 0xec, 0xc6, 0x61, 0x2f, 0xf0, 0xc9, + 0x1b, 0x01, 0xad, 0x7e, 0x22, 0xa8, 0x64, 0xe9, +}; +static const unsigned char kat1777_entropyinreseed[] = { + 0xed, 0xf7, 0x63, 0x85, 0xd2, 0xc9, 0x95, 0x16, 0x98, 0x8e, 0x91, 0x86, + 0x9e, 0x09, 0xe1, 0xc0, 0x7e, 0x65, 0x56, 0x55, 0x42, 0x84, 0x74, 0xd4, +}; +static const unsigned char kat1777_addinreseed[] = {0}; +static const unsigned char kat1777_addin0[] = {0}; +static const unsigned char kat1777_addin1[] = {0}; +static const unsigned char kat1777_retbits[] = { + 0x17, 0x57, 0xea, 0xd1, 0x4a, 0x22, 0xc4, 0xce, 0x8c, 0xd1, 0x90, 0xfd, + 0xa3, 0x67, 0x10, 0xc3, 0xee, 0x80, 0x56, 0x26, 0x8b, 0xd6, 0xef, 0x44, + 0x8b, 0xc3, 0x8a, 0x34, 0x05, 0x7d, 0xaa, 0x0d, 0x55, 0xe7, 0x09, 0xbb, + 0x20, 0xfc, 0x72, 0xbb, 0xb5, 0xd4, 0xc1, 0xfa, 0x16, 0xb4, 0x04, 0x26, + 0x9f, 0x94, 0x68, 0xc3, 0x02, 0x9a, 0xd4, 0x44, 0x48, 0x00, 0x5d, 0x5b, + 0xe0, 0xf4, 0x55, 0x26, +}; +static const struct drbg_kat_pr_false kat1777_t = { + 6, kat1777_entropyin, kat1777_nonce, kat1777_persstr, + kat1777_entropyinreseed, kat1777_addinreseed, kat1777_addin0, + kat1777_addin1, kat1777_retbits +}; +static const struct drbg_kat kat1777 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1777_t +}; + +static const unsigned char kat1778_entropyin[] = { + 0xd0, 0x10, 0x00, 0x3f, 0x83, 0x5e, 0xce, 0x36, 0xbe, 0x84, 0xe2, 0x53, + 0xeb, 0xb8, 0x29, 0xb6, 0x68, 0x9a, 0xe0, 0x55, 0x82, 0xda, 0x39, 0x9a, +}; +static const unsigned char kat1778_nonce[] = { + 0x17, 0x28, 0x1f, 0x73, 0x42, 0x7d, 0x33, 0x1f, 0x15, 0x9d, 0xc5, 0xcc, + 0xa3, 0xb8, 0x42, 0x69, +}; +static const unsigned char kat1778_persstr[] = { + 0x9a, 0x9c, 0x95, 0x40, 0xe6, 0xf1, 0x77, 0xfd, 0xe4, 0x0a, 0xda, 0x55, + 0xcf, 0x6d, 0xbc, 0xb5, 0x3c, 0xf3, 0x00, 0x52, 0xbf, 0x69, 0xfb, 0xfd, + 0x10, 0x41, 0x95, 0xdb, 0x59, 0x69, 0x95, 0x74, +}; +static const unsigned char kat1778_entropyinreseed[] = { + 0x6b, 0x72, 0x93, 0x36, 0x10, 0xd8, 0xef, 0xda, 0xb5, 0xb2, 0x36, 0x56, + 0xa6, 0x57, 0xf6, 0x93, 0x45, 0x92, 0xf5, 0xc8, 0x6e, 0x01, 0x8b, 0x4d, +}; +static const unsigned char kat1778_addinreseed[] = {0}; +static const unsigned char kat1778_addin0[] = {0}; +static const unsigned char kat1778_addin1[] = {0}; +static const unsigned char kat1778_retbits[] = { + 0xae, 0xf5, 0xae, 0x88, 0x2c, 0xcb, 0x2f, 0xae, 0xcf, 0xf8, 0x4c, 0x64, + 0x84, 0x24, 0x8f, 0xc1, 0x3e, 0xd8, 0x07, 0x91, 0xe8, 0x92, 0x66, 0x75, + 0xa9, 0xc0, 0x11, 0x84, 0xd8, 0x43, 0xe0, 0xaa, 0x15, 0x4d, 0x97, 0xdd, + 0x17, 0x59, 0xe4, 0xef, 0xb1, 0x78, 0x8b, 0x0e, 0xc8, 0xfb, 0xcd, 0xd6, + 0xe5, 0x9e, 0x9f, 0x1d, 0xb0, 0x2a, 0xd4, 0x7c, 0x8b, 0x16, 0x78, 0x1f, + 0xe8, 0x13, 0xc2, 0x50, +}; +static const struct drbg_kat_pr_false kat1778_t = { + 7, kat1778_entropyin, kat1778_nonce, kat1778_persstr, + kat1778_entropyinreseed, kat1778_addinreseed, kat1778_addin0, + kat1778_addin1, kat1778_retbits +}; +static const struct drbg_kat kat1778 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1778_t +}; + +static const unsigned char kat1779_entropyin[] = { + 0xa9, 0xf4, 0x08, 0xa0, 0xa9, 0x72, 0x85, 0xf0, 0xc5, 0x34, 0x16, 0xe6, + 0x0d, 0xf5, 0x5a, 0xd4, 0x6a, 0x1b, 0xee, 0x91, 0xcc, 0x9d, 0x46, 0x36, +}; +static const unsigned char kat1779_nonce[] = { + 0x73, 0xc7, 0x85, 0x3f, 0xa6, 0x76, 0x81, 0xe4, 0xc2, 0x55, 0x87, 0xb5, + 0x47, 0x11, 0x0e, 0xb2, +}; +static const unsigned char kat1779_persstr[] = { + 0x3a, 0xe2, 0x6b, 0x8b, 0x2e, 0xbd, 0x1a, 0x15, 0x31, 0x61, 0x00, 0x96, + 0x9d, 0x33, 0x5a, 0x38, 0x39, 0x45, 0xfd, 0xf6, 0xbf, 0x9f, 0x7c, 0x1c, + 0x65, 0x83, 0x11, 0x81, 0x16, 0x79, 0x93, 0x3f, +}; +static const unsigned char kat1779_entropyinreseed[] = { + 0x87, 0x7b, 0xf6, 0xc9, 0x1d, 0x63, 0x45, 0xf7, 0x77, 0xdc, 0x1d, 0xf5, + 0x65, 0x0c, 0x1f, 0xe4, 0x0f, 0x74, 0xca, 0xde, 0x7b, 0x3b, 0x29, 0xa3, +}; +static const unsigned char kat1779_addinreseed[] = {0}; +static const unsigned char kat1779_addin0[] = {0}; +static const unsigned char kat1779_addin1[] = {0}; +static const unsigned char kat1779_retbits[] = { + 0x67, 0x9f, 0xdc, 0xc2, 0xc5, 0xb1, 0x0b, 0xcf, 0xee, 0x0a, 0xb3, 0x22, + 0xa1, 0xa3, 0xfb, 0x43, 0xa8, 0x30, 0x03, 0x9e, 0x9c, 0x23, 0x57, 0x4f, + 0xc6, 0xee, 0x77, 0x2c, 0xfe, 0x6e, 0xf7, 0x99, 0x1d, 0x35, 0x0e, 0x52, + 0xc0, 0xcb, 0xd7, 0xb6, 0xb3, 0xe4, 0xed, 0xb2, 0xab, 0xd3, 0xbf, 0xff, + 0xf6, 0xd7, 0x22, 0xbb, 0xae, 0x43, 0x30, 0x56, 0x31, 0xdf, 0x0a, 0xbd, + 0x10, 0x9d, 0x6b, 0xdd, +}; +static const struct drbg_kat_pr_false kat1779_t = { + 8, kat1779_entropyin, kat1779_nonce, kat1779_persstr, + kat1779_entropyinreseed, kat1779_addinreseed, kat1779_addin0, + kat1779_addin1, kat1779_retbits +}; +static const struct drbg_kat kat1779 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1779_t +}; + +static const unsigned char kat1780_entropyin[] = { + 0xdb, 0x35, 0x5d, 0x72, 0x6c, 0x79, 0xea, 0xc6, 0xd6, 0x22, 0x58, 0xed, + 0x92, 0xd4, 0xf3, 0x1c, 0xd3, 0xe6, 0xa8, 0xe0, 0xcd, 0xa0, 0x52, 0x74, +}; +static const unsigned char kat1780_nonce[] = { + 0xaf, 0x52, 0xb3, 0xf0, 0xd4, 0x3e, 0x3a, 0x03, 0x10, 0xda, 0x57, 0xb4, + 0xd0, 0xc6, 0xa2, 0x84, +}; +static const unsigned char kat1780_persstr[] = { + 0x51, 0xd6, 0xb8, 0x40, 0x3b, 0x7a, 0x37, 0x29, 0xc5, 0xe0, 0x5d, 0x59, + 0x5b, 0x6f, 0x38, 0x50, 0xd2, 0x20, 0xb2, 0x33, 0xf4, 0xec, 0x30, 0x52, + 0xab, 0x67, 0x8f, 0x4a, 0x3e, 0x1a, 0xb4, 0x29, +}; +static const unsigned char kat1780_entropyinreseed[] = { + 0x9f, 0x1e, 0x57, 0x62, 0xf5, 0xc7, 0x5b, 0x1a, 0xc9, 0x8c, 0xb0, 0x68, + 0x81, 0x77, 0x39, 0xfe, 0xed, 0x86, 0xfa, 0xcd, 0x98, 0xfe, 0x85, 0xb1, +}; +static const unsigned char kat1780_addinreseed[] = {0}; +static const unsigned char kat1780_addin0[] = {0}; +static const unsigned char kat1780_addin1[] = {0}; +static const unsigned char kat1780_retbits[] = { + 0x5e, 0x6a, 0xf3, 0x00, 0xa4, 0xff, 0x0c, 0x00, 0x42, 0xd1, 0xe8, 0xc5, + 0x1b, 0x0e, 0xac, 0x14, 0x90, 0x2b, 0x95, 0x94, 0xdb, 0x95, 0xc3, 0x5d, + 0xac, 0x8e, 0xb5, 0x31, 0x49, 0x66, 0x3c, 0x6a, 0xd5, 0x9f, 0x9f, 0x47, + 0x5c, 0x68, 0x02, 0xb1, 0x1a, 0xa0, 0x94, 0x49, 0x44, 0x13, 0xff, 0xc6, + 0x1a, 0xca, 0x80, 0x6a, 0x45, 0x57, 0x20, 0x8b, 0x0c, 0x86, 0x3b, 0x0c, + 0x10, 0xa6, 0x0c, 0xdf, +}; +static const struct drbg_kat_pr_false kat1780_t = { + 9, kat1780_entropyin, kat1780_nonce, kat1780_persstr, + kat1780_entropyinreseed, kat1780_addinreseed, kat1780_addin0, + kat1780_addin1, kat1780_retbits +}; +static const struct drbg_kat kat1780 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1780_t +}; + +static const unsigned char kat1781_entropyin[] = { + 0x4d, 0xc6, 0x5a, 0xbe, 0x7e, 0xdc, 0x66, 0x28, 0xa9, 0xce, 0x20, 0xfe, + 0xcf, 0x1c, 0xa9, 0xcc, 0x11, 0xe1, 0x06, 0xc2, 0x47, 0xaa, 0xdc, 0x78, +}; +static const unsigned char kat1781_nonce[] = { + 0x26, 0x9e, 0x93, 0xba, 0xd3, 0x8f, 0xf6, 0x9a, 0xf7, 0x23, 0x30, 0xe5, + 0xfb, 0x29, 0x60, 0xb1, +}; +static const unsigned char kat1781_persstr[] = { + 0x5e, 0x10, 0x57, 0x8b, 0xea, 0x14, 0xb9, 0x80, 0x6c, 0x47, 0x20, 0xf1, + 0x99, 0xde, 0x43, 0xd4, 0xb3, 0x49, 0x87, 0x45, 0xd3, 0x67, 0xce, 0x6a, + 0xea, 0x80, 0x5d, 0x17, 0x6b, 0x83, 0xaf, 0x85, +}; +static const unsigned char kat1781_entropyinreseed[] = { + 0xec, 0xf4, 0xf2, 0xa5, 0x15, 0x79, 0x4d, 0x3f, 0x4e, 0x19, 0x82, 0x46, + 0xf7, 0x72, 0x64, 0x5d, 0x34, 0x12, 0x14, 0xa8, 0xe2, 0x73, 0xdd, 0xab, +}; +static const unsigned char kat1781_addinreseed[] = {0}; +static const unsigned char kat1781_addin0[] = {0}; +static const unsigned char kat1781_addin1[] = {0}; +static const unsigned char kat1781_retbits[] = { + 0x41, 0x33, 0x5b, 0x22, 0x2f, 0x06, 0x3d, 0x9f, 0x1e, 0x8c, 0x09, 0xb5, + 0xb1, 0xfd, 0xf9, 0xd2, 0x0c, 0x8d, 0x09, 0x75, 0x93, 0x91, 0x7a, 0x55, + 0x32, 0x7f, 0x81, 0x28, 0xf5, 0xbd, 0x8a, 0xbd, 0x42, 0xa2, 0xa8, 0x9a, + 0x86, 0xd1, 0x0a, 0xd6, 0x36, 0xea, 0x8d, 0xdc, 0x0a, 0xad, 0xf4, 0x79, + 0xc2, 0xe6, 0xe6, 0x78, 0x6e, 0xe1, 0x66, 0xd3, 0x37, 0xd8, 0xcb, 0x32, + 0x63, 0xd6, 0xb3, 0xfc, +}; +static const struct drbg_kat_pr_false kat1781_t = { + 10, kat1781_entropyin, kat1781_nonce, kat1781_persstr, + kat1781_entropyinreseed, kat1781_addinreseed, kat1781_addin0, + kat1781_addin1, kat1781_retbits +}; +static const struct drbg_kat kat1781 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1781_t +}; + +static const unsigned char kat1782_entropyin[] = { + 0xb9, 0x86, 0x27, 0x6f, 0x9f, 0xbb, 0x11, 0xab, 0xc1, 0x2a, 0x14, 0x71, + 0xbe, 0xb8, 0x2c, 0xf5, 0xe8, 0xcc, 0xc5, 0x3c, 0x02, 0xdc, 0x35, 0x27, +}; +static const unsigned char kat1782_nonce[] = { + 0x16, 0x5b, 0x23, 0xa4, 0x47, 0x84, 0x87, 0xe0, 0xa4, 0xef, 0xb4, 0x0c, + 0xd3, 0xf8, 0x63, 0x53, +}; +static const unsigned char kat1782_persstr[] = { + 0xa8, 0x20, 0xfc, 0x95, 0x88, 0x68, 0x89, 0x4b, 0xba, 0xaa, 0xdb, 0x33, + 0x3a, 0xec, 0x48, 0xd2, 0xf9, 0xca, 0x8e, 0xb3, 0x37, 0x80, 0xb2, 0x17, + 0xed, 0x3b, 0xb8, 0xaa, 0xb7, 0x92, 0xdd, 0xc3, +}; +static const unsigned char kat1782_entropyinreseed[] = { + 0x10, 0xc4, 0x47, 0x62, 0x37, 0xb2, 0x3c, 0xe6, 0xf5, 0xff, 0x6b, 0xf2, + 0x69, 0x0c, 0xf8, 0x6a, 0x9e, 0x0a, 0x5d, 0xea, 0xa2, 0xec, 0x94, 0x5a, +}; +static const unsigned char kat1782_addinreseed[] = {0}; +static const unsigned char kat1782_addin0[] = {0}; +static const unsigned char kat1782_addin1[] = {0}; +static const unsigned char kat1782_retbits[] = { + 0xce, 0x03, 0xa4, 0x7a, 0xf0, 0xf4, 0xde, 0xaa, 0x7b, 0xa0, 0xf2, 0xac, + 0x33, 0x2d, 0x4c, 0x46, 0x7d, 0xd1, 0xbe, 0xa4, 0xde, 0x27, 0x91, 0xab, + 0xca, 0x97, 0x55, 0x43, 0xae, 0x78, 0x56, 0x09, 0x67, 0xe6, 0x75, 0xe9, + 0x0d, 0x1e, 0xcd, 0xb6, 0x64, 0x3f, 0x39, 0xaa, 0x75, 0x3b, 0x86, 0x19, + 0xb9, 0xe2, 0xa7, 0x6e, 0x46, 0x39, 0xe6, 0x27, 0x02, 0xde, 0xa2, 0x3c, + 0x6e, 0x60, 0x9b, 0x71, +}; +static const struct drbg_kat_pr_false kat1782_t = { + 11, kat1782_entropyin, kat1782_nonce, kat1782_persstr, + kat1782_entropyinreseed, kat1782_addinreseed, kat1782_addin0, + kat1782_addin1, kat1782_retbits +}; +static const struct drbg_kat kat1782 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1782_t +}; + +static const unsigned char kat1783_entropyin[] = { + 0xd6, 0x46, 0x5c, 0x9a, 0xb5, 0x5c, 0x68, 0x19, 0x3f, 0x5b, 0xe8, 0x7f, + 0x10, 0x24, 0x08, 0xe2, 0x2b, 0xdc, 0x9b, 0x29, 0x81, 0x56, 0x6f, 0xf9, +}; +static const unsigned char kat1783_nonce[] = { + 0x0c, 0x0b, 0xf9, 0xbd, 0x55, 0x5b, 0x91, 0x56, 0x42, 0x69, 0x3e, 0xd4, + 0x56, 0x92, 0xb2, 0xe3, +}; +static const unsigned char kat1783_persstr[] = { + 0x58, 0x98, 0xc4, 0x99, 0x9a, 0x56, 0x75, 0x8f, 0x67, 0x91, 0x94, 0xa9, + 0x1d, 0x88, 0xaa, 0x1f, 0xfe, 0xa8, 0x61, 0x74, 0x3c, 0xbf, 0x99, 0xfb, + 0xf5, 0x3f, 0xf8, 0xeb, 0x91, 0xac, 0xa1, 0x85, +}; +static const unsigned char kat1783_entropyinreseed[] = { + 0x82, 0x83, 0xc4, 0x8d, 0x8f, 0x77, 0x50, 0xad, 0x74, 0x63, 0x11, 0x97, + 0xa5, 0x8b, 0x30, 0xf2, 0xa5, 0x36, 0xbe, 0xd2, 0x60, 0x63, 0xff, 0x2e, +}; +static const unsigned char kat1783_addinreseed[] = {0}; +static const unsigned char kat1783_addin0[] = {0}; +static const unsigned char kat1783_addin1[] = {0}; +static const unsigned char kat1783_retbits[] = { + 0x2f, 0x1f, 0x48, 0x4f, 0xa2, 0x76, 0x47, 0x65, 0x31, 0xc0, 0x9e, 0x2b, + 0x8a, 0x47, 0x45, 0x4f, 0xf4, 0xa7, 0x4b, 0x04, 0x23, 0x79, 0x3e, 0xfa, + 0x05, 0x6b, 0x41, 0x5b, 0xc8, 0x53, 0x59, 0x00, 0x76, 0xd3, 0x27, 0x73, + 0x69, 0xa7, 0x28, 0xae, 0xe6, 0x6c, 0x1f, 0x3b, 0xad, 0x91, 0x3f, 0x33, + 0xb4, 0x82, 0xcb, 0x8e, 0x0e, 0x80, 0x58, 0x91, 0xe2, 0x0a, 0xcf, 0x14, + 0x64, 0x4d, 0xd5, 0x5a, +}; +static const struct drbg_kat_pr_false kat1783_t = { + 12, kat1783_entropyin, kat1783_nonce, kat1783_persstr, + kat1783_entropyinreseed, kat1783_addinreseed, kat1783_addin0, + kat1783_addin1, kat1783_retbits +}; +static const struct drbg_kat kat1783 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1783_t +}; + +static const unsigned char kat1784_entropyin[] = { + 0x1e, 0xb6, 0x96, 0xf5, 0xc6, 0x4a, 0x3c, 0x49, 0x21, 0x85, 0xbe, 0x78, + 0x79, 0x89, 0xa3, 0xe0, 0x14, 0xe8, 0xd5, 0x52, 0x57, 0xf3, 0x9e, 0x1e, +}; +static const unsigned char kat1784_nonce[] = { + 0x0d, 0x7b, 0x8a, 0x3d, 0x6b, 0xee, 0x62, 0x1d, 0x2a, 0x29, 0x74, 0x2c, + 0x05, 0x8e, 0x86, 0x66, +}; +static const unsigned char kat1784_persstr[] = { + 0x9c, 0x14, 0x84, 0xee, 0x47, 0x1c, 0x88, 0x47, 0xda, 0x3d, 0x97, 0xac, + 0xef, 0x0d, 0x02, 0x83, 0xaf, 0x1d, 0x95, 0xf7, 0x35, 0x71, 0x7f, 0xc2, + 0x31, 0xc1, 0x28, 0x46, 0xbd, 0x8e, 0xae, 0x27, +}; +static const unsigned char kat1784_entropyinreseed[] = { + 0x17, 0xe3, 0x33, 0xbb, 0xbf, 0x9f, 0xaa, 0x74, 0x11, 0xcf, 0x13, 0xdb, + 0xb5, 0x40, 0xe0, 0x5b, 0xe9, 0x54, 0xb8, 0x17, 0x15, 0xb0, 0x9c, 0x68, +}; +static const unsigned char kat1784_addinreseed[] = {0}; +static const unsigned char kat1784_addin0[] = {0}; +static const unsigned char kat1784_addin1[] = {0}; +static const unsigned char kat1784_retbits[] = { + 0x54, 0x4c, 0x50, 0x96, 0xe6, 0x9f, 0x2b, 0x3b, 0xf7, 0x4d, 0x8e, 0xa7, + 0x89, 0xa9, 0x57, 0x2d, 0x2e, 0x61, 0xaa, 0x83, 0x6b, 0x2c, 0x5a, 0xa5, + 0xb0, 0x2b, 0xfe, 0x9e, 0xdd, 0x12, 0x7c, 0xa1, 0xcc, 0x49, 0x91, 0x7d, + 0x8e, 0x7f, 0xb8, 0x15, 0x49, 0x70, 0x96, 0x85, 0x7c, 0xce, 0x59, 0x5c, + 0x84, 0x41, 0x93, 0x89, 0x66, 0x2f, 0x1b, 0xc8, 0x42, 0xb5, 0xfb, 0xb4, + 0x6d, 0x44, 0xdc, 0xd4, +}; +static const struct drbg_kat_pr_false kat1784_t = { + 13, kat1784_entropyin, kat1784_nonce, kat1784_persstr, + kat1784_entropyinreseed, kat1784_addinreseed, kat1784_addin0, + kat1784_addin1, kat1784_retbits +}; +static const struct drbg_kat kat1784 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1784_t +}; + +static const unsigned char kat1785_entropyin[] = { + 0x0e, 0x14, 0xa0, 0x5f, 0xfd, 0xc1, 0xa8, 0x0a, 0x9c, 0xa9, 0xc7, 0xf3, + 0x77, 0xce, 0xd6, 0x9c, 0x06, 0x42, 0xab, 0x84, 0x90, 0xc6, 0x92, 0xaa, +}; +static const unsigned char kat1785_nonce[] = { + 0x25, 0x09, 0x8e, 0x57, 0x45, 0x02, 0xed, 0x63, 0x49, 0xed, 0xc0, 0xc8, + 0xd3, 0xa2, 0x80, 0x06, +}; +static const unsigned char kat1785_persstr[] = { + 0x1d, 0x0e, 0x83, 0xb9, 0xf3, 0x25, 0x71, 0xaf, 0x1b, 0xd9, 0x4c, 0xb1, + 0x5e, 0x4e, 0xdd, 0xf1, 0x8a, 0x4e, 0x56, 0x52, 0x04, 0x74, 0x6d, 0x7a, + 0x34, 0xd6, 0x48, 0xef, 0x17, 0xd3, 0x86, 0xa8, +}; +static const unsigned char kat1785_entropyinreseed[] = { + 0x3b, 0x2c, 0xdf, 0xc8, 0xe4, 0xea, 0xb2, 0x83, 0xd6, 0x11, 0x83, 0x1e, + 0xd1, 0x21, 0xa9, 0xd1, 0xdd, 0x2c, 0x3b, 0x90, 0xc8, 0x6e, 0x42, 0x98, +}; +static const unsigned char kat1785_addinreseed[] = {0}; +static const unsigned char kat1785_addin0[] = {0}; +static const unsigned char kat1785_addin1[] = {0}; +static const unsigned char kat1785_retbits[] = { + 0x4a, 0x40, 0xd4, 0xb4, 0xca, 0x42, 0x90, 0xc6, 0x7b, 0x52, 0x22, 0xfe, + 0xd5, 0x7d, 0xdb, 0xba, 0x72, 0xb6, 0xaa, 0x20, 0xa5, 0x70, 0x48, 0xa3, + 0x24, 0x78, 0xb9, 0x94, 0x1b, 0xda, 0x2e, 0x96, 0xe4, 0xf3, 0x5b, 0x32, + 0x85, 0xd5, 0x12, 0xea, 0x1a, 0xc0, 0x28, 0x2e, 0xf2, 0xd4, 0xce, 0x4c, + 0x22, 0x3a, 0x6d, 0xc7, 0x9b, 0x91, 0x1e, 0x1b, 0xd3, 0x57, 0x6c, 0x9c, + 0x90, 0x08, 0xf9, 0x57, +}; +static const struct drbg_kat_pr_false kat1785_t = { + 14, kat1785_entropyin, kat1785_nonce, kat1785_persstr, + kat1785_entropyinreseed, kat1785_addinreseed, kat1785_addin0, + kat1785_addin1, kat1785_retbits +}; +static const struct drbg_kat kat1785 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1785_t +}; + +static const unsigned char kat1786_entropyin[] = { + 0xe8, 0x9d, 0x54, 0xf8, 0x16, 0xf8, 0x02, 0xa1, 0x25, 0x6f, 0xb9, 0xc9, + 0xc2, 0x39, 0x88, 0x7e, 0xbc, 0xf6, 0xc6, 0x4d, 0x68, 0x55, 0x79, 0x40, +}; +static const unsigned char kat1786_nonce[] = { + 0x4f, 0x02, 0x21, 0x71, 0xca, 0xce, 0x97, 0xc0, 0x81, 0xdf, 0x28, 0xcf, + 0x42, 0x5d, 0x09, 0x56, +}; +static const unsigned char kat1786_persstr[] = { + 0x53, 0xcc, 0x68, 0x34, 0xe9, 0xfc, 0xbb, 0x3e, 0xca, 0x68, 0x80, 0xa0, + 0xae, 0x90, 0xd3, 0xa7, 0x76, 0x0a, 0xaf, 0x5a, 0x1c, 0x0d, 0x07, 0x4b, + 0x09, 0x2b, 0x9f, 0x93, 0x70, 0x31, 0xa6, 0x8a, +}; +static const unsigned char kat1786_entropyinreseed[] = { + 0x6e, 0x5c, 0x51, 0xab, 0x74, 0xc8, 0x55, 0x2c, 0x16, 0xbe, 0x25, 0x7b, + 0xd1, 0x62, 0x6d, 0xf3, 0xaf, 0x79, 0x26, 0xbe, 0x67, 0xb6, 0x2c, 0x0c, +}; +static const unsigned char kat1786_addinreseed[] = { + 0x73, 0x97, 0x2f, 0x57, 0xc4, 0xa3, 0xe3, 0x0a, 0x79, 0x5d, 0x8c, 0x10, + 0xee, 0x80, 0x1e, 0xf0, 0xf6, 0xc8, 0xbe, 0x7f, 0x79, 0xff, 0xfb, 0x96, + 0xb5, 0x41, 0xd3, 0x22, 0xba, 0x7f, 0xd9, 0xcc, +}; +static const unsigned char kat1786_addin0[] = { + 0xec, 0xe1, 0xb6, 0x4c, 0x51, 0xbb, 0x97, 0xee, 0x3e, 0x72, 0xc1, 0xc7, + 0xd4, 0xca, 0xa3, 0xa3, 0xd4, 0x8b, 0x64, 0x10, 0x91, 0x42, 0x40, 0xca, + 0x03, 0x3f, 0x35, 0xed, 0x5b, 0x89, 0x83, 0x31, +}; +static const unsigned char kat1786_addin1[] = { + 0xe7, 0xd5, 0xda, 0xbd, 0x56, 0xf9, 0x20, 0x29, 0xa0, 0x9c, 0xf1, 0x7c, + 0xd6, 0x4a, 0xaa, 0xd8, 0xba, 0x6b, 0x4d, 0x72, 0xdb, 0xfa, 0x07, 0x00, + 0x3c, 0xd4, 0xea, 0xfd, 0x83, 0xc1, 0x70, 0xe5, +}; +static const unsigned char kat1786_retbits[] = { + 0xb0, 0xe0, 0x3c, 0xef, 0x0f, 0xbb, 0xfa, 0xec, 0x57, 0x54, 0xa0, 0xa2, + 0xc1, 0xb3, 0x96, 0xa7, 0xdf, 0x6e, 0x44, 0xdf, 0x6a, 0xc0, 0x55, 0x4a, + 0xe1, 0x9d, 0x77, 0xe6, 0xfb, 0xe4, 0xf0, 0x13, 0x64, 0x83, 0x38, 0x0c, + 0xbb, 0x81, 0x56, 0x8c, 0x1c, 0x1f, 0x0a, 0xe7, 0xfc, 0x02, 0x75, 0x8d, + 0x8d, 0x1e, 0x79, 0x68, 0x66, 0xb7, 0xa6, 0xa6, 0xd1, 0x73, 0xec, 0xc0, + 0x16, 0xb8, 0x1f, 0x26, +}; +static const struct drbg_kat_pr_false kat1786_t = { + 0, kat1786_entropyin, kat1786_nonce, kat1786_persstr, + kat1786_entropyinreseed, kat1786_addinreseed, kat1786_addin0, + kat1786_addin1, kat1786_retbits +}; +static const struct drbg_kat kat1786 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1786_t +}; + +static const unsigned char kat1787_entropyin[] = { + 0x22, 0xf7, 0x79, 0x8a, 0xc6, 0x7c, 0x09, 0x1d, 0xe8, 0x68, 0x7a, 0x84, + 0x9b, 0x7a, 0x2d, 0xd4, 0x04, 0x52, 0xe6, 0x50, 0x54, 0xd3, 0x54, 0x3a, +}; +static const unsigned char kat1787_nonce[] = { + 0x10, 0xa4, 0x21, 0x46, 0xc7, 0xb0, 0xa4, 0x12, 0x34, 0x7f, 0x1c, 0x93, + 0x4b, 0x21, 0x7b, 0xfb, +}; +static const unsigned char kat1787_persstr[] = { + 0xd6, 0xee, 0x30, 0xbd, 0xd4, 0xc8, 0x71, 0x50, 0xb7, 0x9f, 0x88, 0xa1, + 0xd1, 0x1f, 0xe3, 0x88, 0x9c, 0xdb, 0xdd, 0x37, 0x63, 0x00, 0x2f, 0x6d, + 0x6e, 0x27, 0x35, 0x2f, 0x6e, 0x51, 0xeb, 0x93, +}; +static const unsigned char kat1787_entropyinreseed[] = { + 0xae, 0x4a, 0xe7, 0x9b, 0xd9, 0x0b, 0x36, 0xd2, 0xab, 0x76, 0xf2, 0x3d, + 0x9e, 0x94, 0x2b, 0x5c, 0x12, 0x02, 0x19, 0xa0, 0x78, 0xec, 0x45, 0x8c, +}; +static const unsigned char kat1787_addinreseed[] = { + 0x21, 0x28, 0xf3, 0x48, 0xdb, 0x64, 0x71, 0x25, 0x74, 0x21, 0x96, 0x54, + 0xfb, 0xa0, 0x31, 0x75, 0xba, 0xc5, 0x60, 0xcc, 0x2a, 0xb8, 0x3f, 0x93, + 0xdd, 0x43, 0xd5, 0xba, 0x10, 0xef, 0x89, 0x21, +}; +static const unsigned char kat1787_addin0[] = { + 0xc0, 0xe6, 0xb2, 0xeb, 0x2e, 0xc9, 0x8c, 0x78, 0xee, 0x46, 0xd2, 0x57, + 0x07, 0xd0, 0xf0, 0x11, 0xc3, 0x26, 0x40, 0x20, 0xff, 0xcc, 0x81, 0xcd, + 0x1b, 0x60, 0xc4, 0xc1, 0xef, 0x56, 0xab, 0x66, +}; +static const unsigned char kat1787_addin1[] = { + 0x19, 0xc0, 0x01, 0x77, 0xfb, 0x10, 0x30, 0x78, 0xc0, 0xff, 0x32, 0x3c, + 0x65, 0x23, 0x25, 0x82, 0x31, 0x53, 0x0d, 0x0d, 0x17, 0x95, 0x47, 0x93, + 0xb3, 0x63, 0x7d, 0x9d, 0x62, 0x04, 0x68, 0x9a, +}; +static const unsigned char kat1787_retbits[] = { + 0xde, 0xb7, 0x4b, 0x2e, 0x7e, 0xe9, 0x67, 0x66, 0xf3, 0x2e, 0x96, 0xda, + 0x12, 0xea, 0x1d, 0xa4, 0xdc, 0x4c, 0xb5, 0x27, 0x5f, 0x26, 0x74, 0x87, + 0x97, 0x12, 0xce, 0x7d, 0xeb, 0x35, 0xcf, 0xd5, 0x78, 0x61, 0xef, 0x4f, + 0x01, 0x1b, 0x51, 0xf5, 0xae, 0xb2, 0xf1, 0x67, 0x6f, 0x32, 0xcc, 0xa3, + 0x77, 0x29, 0xcc, 0x7a, 0x65, 0x35, 0x81, 0x49, 0x70, 0x4c, 0x65, 0x43, + 0x28, 0x2d, 0x9d, 0x9a, +}; +static const struct drbg_kat_pr_false kat1787_t = { + 1, kat1787_entropyin, kat1787_nonce, kat1787_persstr, + kat1787_entropyinreseed, kat1787_addinreseed, kat1787_addin0, + kat1787_addin1, kat1787_retbits +}; +static const struct drbg_kat kat1787 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1787_t +}; + +static const unsigned char kat1788_entropyin[] = { + 0x82, 0x01, 0x7f, 0xb7, 0x8d, 0x34, 0x55, 0x95, 0x8b, 0xe3, 0x2c, 0xfe, + 0x22, 0xc1, 0x20, 0x76, 0x8f, 0x66, 0x88, 0x16, 0x42, 0x64, 0x30, 0xf5, +}; +static const unsigned char kat1788_nonce[] = { + 0xc0, 0x59, 0x73, 0x36, 0x7c, 0x93, 0x86, 0x83, 0x14, 0xd5, 0xed, 0x91, + 0xfe, 0x27, 0x5b, 0x82, +}; +static const unsigned char kat1788_persstr[] = { + 0x5e, 0x9c, 0xc6, 0x69, 0x50, 0x57, 0xa0, 0xbf, 0x15, 0x50, 0xfd, 0xf6, + 0x2c, 0x2e, 0x96, 0x6a, 0xbe, 0xa0, 0x13, 0xb9, 0xad, 0xc6, 0xf2, 0xa2, + 0xa8, 0xdd, 0x9d, 0xdb, 0x7b, 0xb3, 0x50, 0x71, +}; +static const unsigned char kat1788_entropyinreseed[] = { + 0x70, 0x49, 0xdc, 0xcb, 0x73, 0xd0, 0x43, 0x1a, 0xee, 0x47, 0x33, 0xbe, + 0x2b, 0x1a, 0x26, 0x9a, 0x55, 0xdb, 0xcc, 0x6d, 0xf8, 0x3f, 0x2d, 0xe0, +}; +static const unsigned char kat1788_addinreseed[] = { + 0xee, 0x73, 0x1e, 0x2d, 0xab, 0xdc, 0x71, 0x31, 0xa1, 0x18, 0x6e, 0x87, + 0x39, 0x35, 0x73, 0x1a, 0x93, 0x18, 0xde, 0xef, 0x0e, 0xfc, 0x84, 0x56, + 0x31, 0xac, 0x80, 0xc9, 0xf9, 0x1d, 0x92, 0x5a, +}; +static const unsigned char kat1788_addin0[] = { + 0x0d, 0x6e, 0x10, 0x49, 0xd9, 0xbf, 0xd6, 0xe5, 0xd5, 0xfb, 0xaa, 0xe8, + 0x72, 0x87, 0x62, 0x82, 0x2c, 0x2d, 0x26, 0xf4, 0x5c, 0xfc, 0xea, 0xa4, + 0x2e, 0x89, 0x50, 0xb7, 0x97, 0x1e, 0xc9, 0x4e, +}; +static const unsigned char kat1788_addin1[] = { + 0xce, 0x6b, 0xb4, 0xb8, 0x69, 0x5b, 0xd7, 0xbb, 0x48, 0xa1, 0xa9, 0xc2, + 0x74, 0x30, 0x2f, 0x4f, 0xf2, 0xcb, 0xd3, 0x30, 0x72, 0xe3, 0xc6, 0x35, + 0x63, 0x30, 0x2e, 0xbc, 0xf8, 0x25, 0xa6, 0x33, +}; +static const unsigned char kat1788_retbits[] = { + 0x0c, 0xba, 0xa6, 0xa0, 0x67, 0xc4, 0xc5, 0x68, 0x73, 0x67, 0xa3, 0x3a, + 0xb1, 0x5f, 0xad, 0x90, 0xec, 0x64, 0xdf, 0x41, 0xba, 0x5f, 0xc5, 0xf2, + 0xcb, 0xa0, 0x01, 0x99, 0x83, 0x28, 0xf8, 0xa9, 0x4f, 0x3a, 0x4d, 0x8a, + 0x49, 0x8f, 0x8c, 0xa0, 0xc9, 0x70, 0x4a, 0x86, 0xec, 0xbc, 0xe2, 0xe1, + 0x4d, 0x08, 0x23, 0x4f, 0xab, 0x8c, 0x4c, 0xee, 0x79, 0xc4, 0xab, 0x40, + 0x52, 0x2d, 0xd1, 0xf4, +}; +static const struct drbg_kat_pr_false kat1788_t = { + 2, kat1788_entropyin, kat1788_nonce, kat1788_persstr, + kat1788_entropyinreseed, kat1788_addinreseed, kat1788_addin0, + kat1788_addin1, kat1788_retbits +}; +static const struct drbg_kat kat1788 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1788_t +}; + +static const unsigned char kat1789_entropyin[] = { + 0x16, 0xfa, 0x53, 0x65, 0xb5, 0xb5, 0x21, 0x6d, 0xd8, 0xa5, 0xbd, 0xb8, + 0xc7, 0xbe, 0xcc, 0x09, 0xa4, 0x1c, 0x61, 0x62, 0x35, 0x55, 0xa1, 0xc4, +}; +static const unsigned char kat1789_nonce[] = { + 0x0c, 0x10, 0x8c, 0xfc, 0xad, 0xd4, 0xa5, 0xea, 0xde, 0xfc, 0x66, 0xd0, + 0x6f, 0xcd, 0x63, 0x7a, +}; +static const unsigned char kat1789_persstr[] = { + 0x7f, 0x4c, 0xca, 0xdd, 0x08, 0xe4, 0xbb, 0x1d, 0xf1, 0xcb, 0xaa, 0x32, + 0x92, 0x49, 0x1d, 0x66, 0x09, 0xaa, 0x7f, 0x88, 0xaf, 0xb0, 0x74, 0xde, + 0x67, 0x54, 0x5b, 0xfc, 0x1d, 0x00, 0x11, 0x36, +}; +static const unsigned char kat1789_entropyinreseed[] = { + 0xf8, 0x17, 0x11, 0x4b, 0x9e, 0xe5, 0xac, 0x7a, 0x75, 0x67, 0xca, 0x0b, + 0x0d, 0x64, 0xbf, 0xfb, 0x80, 0xb9, 0x15, 0x2f, 0x01, 0xaf, 0x86, 0x45, +}; +static const unsigned char kat1789_addinreseed[] = { + 0x7a, 0x6c, 0x28, 0xa4, 0x0d, 0x51, 0x81, 0x58, 0x01, 0x66, 0xad, 0xb1, + 0x3b, 0xba, 0x1e, 0x8c, 0x21, 0x68, 0xc1, 0x43, 0xbd, 0xcf, 0x78, 0xd0, + 0xba, 0xba, 0x05, 0x02, 0xf9, 0xce, 0xd8, 0x5b, +}; +static const unsigned char kat1789_addin0[] = { + 0x88, 0xfb, 0x83, 0x63, 0x59, 0xf8, 0xe4, 0x6e, 0x3d, 0x06, 0x82, 0x09, + 0x95, 0xcc, 0x58, 0xd6, 0x1b, 0xb6, 0x1f, 0x8a, 0x5e, 0x12, 0x87, 0xec, + 0xe4, 0x11, 0xb6, 0x5b, 0x14, 0x68, 0x31, 0xd3, +}; +static const unsigned char kat1789_addin1[] = { + 0xa2, 0xec, 0x3e, 0x73, 0x0c, 0xb9, 0x41, 0xd6, 0x16, 0x55, 0xbf, 0xef, + 0xba, 0xfb, 0x48, 0x2c, 0xd5, 0xfe, 0xda, 0x99, 0x8b, 0xc3, 0x10, 0x4f, + 0xca, 0x6b, 0xf7, 0x44, 0xfb, 0x18, 0x4b, 0x13, +}; +static const unsigned char kat1789_retbits[] = { + 0x51, 0x4c, 0x5b, 0x0c, 0xb6, 0x7f, 0xe3, 0xa9, 0x98, 0x69, 0x2d, 0xaf, + 0x5c, 0xa4, 0x58, 0x70, 0xad, 0x3d, 0x84, 0xea, 0x05, 0x63, 0x1e, 0x53, + 0xdb, 0xb1, 0x40, 0xd4, 0x31, 0x98, 0x66, 0x03, 0xbd, 0x5b, 0x5b, 0xb0, + 0xc0, 0xe0, 0x2d, 0x51, 0xc1, 0x3e, 0x4b, 0x33, 0xd5, 0x02, 0x15, 0x71, + 0xde, 0xb7, 0xe2, 0x22, 0xd9, 0xa9, 0xfc, 0xaa, 0xbb, 0xaa, 0xf8, 0x8e, + 0xf6, 0x5b, 0xa8, 0xef, +}; +static const struct drbg_kat_pr_false kat1789_t = { + 3, kat1789_entropyin, kat1789_nonce, kat1789_persstr, + kat1789_entropyinreseed, kat1789_addinreseed, kat1789_addin0, + kat1789_addin1, kat1789_retbits +}; +static const struct drbg_kat kat1789 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1789_t +}; + +static const unsigned char kat1790_entropyin[] = { + 0xdb, 0x22, 0x31, 0xa8, 0xdc, 0xb6, 0x0e, 0x15, 0x44, 0x38, 0xbe, 0x8d, + 0x11, 0xb2, 0x21, 0x9e, 0x29, 0x27, 0xe8, 0x31, 0xd5, 0xb3, 0xf6, 0xae, +}; +static const unsigned char kat1790_nonce[] = { + 0x5f, 0x0f, 0x17, 0x21, 0xf2, 0x73, 0x19, 0x9f, 0x41, 0x75, 0xa9, 0x7d, + 0x53, 0x54, 0x99, 0xda, +}; +static const unsigned char kat1790_persstr[] = { + 0x1c, 0x37, 0x64, 0xee, 0x63, 0xbb, 0x12, 0x47, 0x35, 0x0a, 0x4d, 0x4a, + 0x68, 0x25, 0x10, 0xf5, 0xd5, 0xf8, 0x80, 0x21, 0x1a, 0xad, 0xf9, 0xd4, + 0xea, 0x86, 0x5f, 0x6b, 0xa3, 0xd2, 0xcd, 0x74, +}; +static const unsigned char kat1790_entropyinreseed[] = { + 0x96, 0x56, 0x0d, 0xb1, 0x58, 0x08, 0x69, 0xc3, 0x9b, 0x9b, 0x46, 0x07, + 0x4d, 0xe4, 0xc2, 0x99, 0x95, 0xec, 0x1b, 0xd8, 0xfe, 0x78, 0x13, 0xa2, +}; +static const unsigned char kat1790_addinreseed[] = { + 0x1a, 0x9d, 0x96, 0xd8, 0x82, 0x44, 0x87, 0x30, 0x25, 0xac, 0x58, 0x45, + 0xa1, 0xfb, 0x69, 0xd9, 0xaa, 0x9d, 0x18, 0x20, 0x62, 0xe4, 0xb4, 0x45, + 0x26, 0x8f, 0x57, 0x9c, 0x77, 0x85, 0x32, 0xfd, +}; +static const unsigned char kat1790_addin0[] = { + 0x01, 0x4c, 0xc6, 0x9f, 0x6e, 0xcf, 0x20, 0xd1, 0xef, 0x39, 0x08, 0x1d, + 0x9b, 0x94, 0x5a, 0xed, 0x97, 0x00, 0xb8, 0x60, 0x53, 0x0f, 0xb3, 0xa6, + 0xe9, 0xec, 0xa8, 0x7c, 0x6d, 0xac, 0x6b, 0xd6, +}; +static const unsigned char kat1790_addin1[] = { + 0x26, 0xdf, 0x86, 0x83, 0xca, 0x38, 0x36, 0xe5, 0x92, 0x21, 0x55, 0xd4, + 0xe7, 0xe6, 0x27, 0xf3, 0xf1, 0x37, 0xd0, 0x7c, 0x05, 0x62, 0x4e, 0x76, + 0x45, 0x63, 0xae, 0x68, 0xab, 0x0d, 0x75, 0x19, +}; +static const unsigned char kat1790_retbits[] = { + 0xe8, 0x24, 0x10, 0xf1, 0xbf, 0x2c, 0x0c, 0xac, 0xe3, 0x5e, 0x05, 0xcf, + 0x44, 0x23, 0x3e, 0x5c, 0xbc, 0xb3, 0xdd, 0xa7, 0x45, 0x72, 0xc6, 0x9e, + 0xef, 0x14, 0x71, 0x93, 0xf4, 0x7e, 0x40, 0xbc, 0x0d, 0x4d, 0x20, 0x6a, + 0xc8, 0x0b, 0x77, 0xe3, 0x6e, 0xa1, 0x16, 0x38, 0xb3, 0x5a, 0xb5, 0x3f, + 0x7a, 0x16, 0xeb, 0x5c, 0x01, 0xf2, 0xab, 0x43, 0x49, 0x88, 0x4b, 0x08, + 0x8e, 0xf8, 0x77, 0xc4, +}; +static const struct drbg_kat_pr_false kat1790_t = { + 4, kat1790_entropyin, kat1790_nonce, kat1790_persstr, + kat1790_entropyinreseed, kat1790_addinreseed, kat1790_addin0, + kat1790_addin1, kat1790_retbits +}; +static const struct drbg_kat kat1790 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1790_t +}; + +static const unsigned char kat1791_entropyin[] = { + 0x69, 0x11, 0xeb, 0xe9, 0xed, 0xe1, 0xdc, 0xd1, 0x34, 0xdb, 0x33, 0x6f, + 0x95, 0xad, 0x1b, 0x8b, 0xa2, 0x75, 0xbd, 0x56, 0xef, 0xe2, 0x7a, 0x17, +}; +static const unsigned char kat1791_nonce[] = { + 0x54, 0xf1, 0x9e, 0xbb, 0x53, 0xd8, 0xed, 0xcf, 0x4e, 0xae, 0x8c, 0xa4, + 0x63, 0x12, 0x6e, 0xb4, +}; +static const unsigned char kat1791_persstr[] = { + 0x05, 0xe1, 0xa0, 0xf5, 0xb3, 0xd9, 0x64, 0xf3, 0xe6, 0x3a, 0x10, 0x58, + 0xd7, 0xe2, 0xab, 0xa7, 0xfe, 0x58, 0xa9, 0xae, 0x97, 0xc2, 0xaa, 0x37, + 0x45, 0x27, 0xaf, 0x29, 0x6f, 0x4d, 0x18, 0x4d, +}; +static const unsigned char kat1791_entropyinreseed[] = { + 0x10, 0xb4, 0x8f, 0x4a, 0x15, 0xfa, 0x12, 0x1c, 0x51, 0x49, 0x8c, 0x2a, + 0x86, 0x70, 0x0f, 0xc4, 0x7a, 0x55, 0xd8, 0x34, 0x05, 0x16, 0x55, 0x69, +}; +static const unsigned char kat1791_addinreseed[] = { + 0x2f, 0x7e, 0x0d, 0x79, 0x57, 0xb1, 0x8e, 0x03, 0x4b, 0x9c, 0xa9, 0xa1, + 0x19, 0x61, 0x09, 0xca, 0x6c, 0xe3, 0xa5, 0xac, 0x80, 0x60, 0x03, 0x85, + 0xe0, 0x05, 0x14, 0xac, 0xf7, 0x15, 0xe8, 0x1a, +}; +static const unsigned char kat1791_addin0[] = { + 0x3b, 0xb1, 0x3c, 0xc2, 0x97, 0x0e, 0x8f, 0x14, 0x7d, 0xfb, 0x24, 0xfb, + 0x0b, 0x76, 0x1f, 0x0d, 0xe6, 0x32, 0x7b, 0x0f, 0xd1, 0x77, 0xba, 0xc7, + 0x5a, 0xca, 0xa7, 0x2d, 0xfe, 0x60, 0xe2, 0x66, +}; +static const unsigned char kat1791_addin1[] = { + 0x71, 0x4b, 0x13, 0x5d, 0xf6, 0x99, 0x53, 0x1a, 0x72, 0xc5, 0x7c, 0xee, + 0xdd, 0x39, 0x90, 0xf9, 0xd5, 0x3d, 0x68, 0xe7, 0x8d, 0xec, 0x0b, 0x68, + 0xd2, 0xad, 0xd1, 0xf3, 0xa4, 0x94, 0xaf, 0xbb, +}; +static const unsigned char kat1791_retbits[] = { + 0x99, 0x70, 0xd7, 0x20, 0x2f, 0xf7, 0x7e, 0x95, 0xf4, 0x22, 0x51, 0x54, + 0x58, 0x53, 0xcf, 0xd5, 0x0d, 0x1e, 0x5a, 0xd7, 0xa5, 0x17, 0x19, 0xa3, + 0x91, 0xed, 0xe0, 0x0b, 0x3f, 0x8f, 0x50, 0x07, 0xce, 0x05, 0x03, 0x48, + 0x4b, 0x83, 0xd0, 0xf0, 0x14, 0xe6, 0x5a, 0xc0, 0x27, 0x82, 0x9a, 0x5c, + 0x9f, 0xc7, 0xf6, 0x09, 0x2c, 0x62, 0xe7, 0xec, 0x47, 0x51, 0x5d, 0x20, + 0x0b, 0x39, 0xb6, 0x18, +}; +static const struct drbg_kat_pr_false kat1791_t = { + 5, kat1791_entropyin, kat1791_nonce, kat1791_persstr, + kat1791_entropyinreseed, kat1791_addinreseed, kat1791_addin0, + kat1791_addin1, kat1791_retbits +}; +static const struct drbg_kat kat1791 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1791_t +}; + +static const unsigned char kat1792_entropyin[] = { + 0xa3, 0xd8, 0x65, 0x9c, 0x09, 0x7d, 0x5c, 0x7e, 0x27, 0x42, 0x83, 0x64, + 0x7a, 0xad, 0x26, 0xc0, 0x7f, 0xe7, 0x51, 0x17, 0x2c, 0xa1, 0x2e, 0x10, +}; +static const unsigned char kat1792_nonce[] = { + 0xea, 0x0f, 0x68, 0xdd, 0x7b, 0x68, 0x78, 0xd6, 0xd1, 0x39, 0xa9, 0x35, + 0xc2, 0x4b, 0x7f, 0xeb, +}; +static const unsigned char kat1792_persstr[] = { + 0x84, 0x51, 0x5e, 0x05, 0x19, 0x27, 0x97, 0x40, 0xce, 0x7a, 0x00, 0xfa, + 0x1b, 0x31, 0xf6, 0xfb, 0x2b, 0xb1, 0x4b, 0x36, 0x36, 0x8b, 0x9b, 0xbf, + 0x95, 0xb4, 0xc4, 0x32, 0xe1, 0x38, 0x2e, 0x99, +}; +static const unsigned char kat1792_entropyinreseed[] = { + 0x7d, 0xe4, 0x78, 0x11, 0x57, 0x4a, 0x94, 0xe6, 0xec, 0xc4, 0xa2, 0xd1, + 0x6c, 0x41, 0x47, 0xcf, 0xb6, 0x9e, 0x41, 0x1b, 0x66, 0xaa, 0x6d, 0x0c, +}; +static const unsigned char kat1792_addinreseed[] = { + 0xf8, 0x84, 0x45, 0x98, 0x84, 0xe2, 0x2d, 0xd0, 0x6a, 0x7b, 0x4e, 0x23, + 0x43, 0x02, 0x25, 0x77, 0x22, 0x12, 0x13, 0xc8, 0x61, 0xee, 0x61, 0xd6, + 0xa9, 0xb5, 0x96, 0x94, 0x22, 0x99, 0xc7, 0x72, +}; +static const unsigned char kat1792_addin0[] = { + 0x35, 0x84, 0x2e, 0xdb, 0x5d, 0xfb, 0xf0, 0x2c, 0x72, 0xca, 0xf9, 0xe2, + 0x48, 0xf3, 0xc0, 0x7e, 0xf0, 0xf9, 0xb3, 0x80, 0x71, 0x69, 0x5c, 0x0a, + 0x28, 0x52, 0x50, 0x6d, 0x65, 0xe5, 0x25, 0x2e, +}; +static const unsigned char kat1792_addin1[] = { + 0x9a, 0x43, 0x3f, 0xdc, 0x6f, 0x80, 0xb2, 0xcf, 0xb8, 0x13, 0x80, 0xc9, + 0xf9, 0xb4, 0x4b, 0xb4, 0xa2, 0x64, 0xe5, 0xfb, 0xc7, 0x59, 0x34, 0xba, + 0x63, 0x5f, 0xdf, 0xb6, 0x96, 0xec, 0x5d, 0x23, +}; +static const unsigned char kat1792_retbits[] = { + 0xe6, 0xef, 0xbf, 0x12, 0xfe, 0xd1, 0xc6, 0x4c, 0x3a, 0x98, 0x17, 0x55, + 0x71, 0x46, 0x0a, 0x19, 0xa4, 0xc6, 0x2c, 0xea, 0xe4, 0x15, 0x3b, 0xeb, + 0x7a, 0x04, 0x78, 0x4e, 0xa4, 0xd8, 0xdd, 0xc4, 0x1d, 0x9c, 0x8c, 0x6e, + 0x89, 0xf7, 0xb6, 0x4a, 0x95, 0xc6, 0xfe, 0x3d, 0x57, 0xe7, 0xb3, 0x64, + 0x88, 0xe9, 0x36, 0x31, 0x64, 0x8e, 0x1f, 0x94, 0xe0, 0xfc, 0x6f, 0xf3, + 0xc0, 0x58, 0x56, 0x9d, +}; +static const struct drbg_kat_pr_false kat1792_t = { + 6, kat1792_entropyin, kat1792_nonce, kat1792_persstr, + kat1792_entropyinreseed, kat1792_addinreseed, kat1792_addin0, + kat1792_addin1, kat1792_retbits +}; +static const struct drbg_kat kat1792 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1792_t +}; + +static const unsigned char kat1793_entropyin[] = { + 0xdd, 0xc1, 0x37, 0xa7, 0x25, 0x95, 0x7f, 0x7f, 0x36, 0x27, 0x5a, 0x2f, + 0x2e, 0xe1, 0xbf, 0x8a, 0xe9, 0x2a, 0xfe, 0x71, 0x1a, 0x7a, 0x3f, 0x77, +}; +static const unsigned char kat1793_nonce[] = { + 0x4d, 0xc7, 0xe3, 0xc7, 0x5d, 0x20, 0x6e, 0x4e, 0x3e, 0x7f, 0xc0, 0x33, + 0xde, 0x54, 0x2c, 0x20, +}; +static const unsigned char kat1793_persstr[] = { + 0x76, 0x44, 0x3d, 0xdb, 0xcf, 0xfa, 0xd4, 0x0a, 0xd8, 0xc7, 0xc0, 0xb2, + 0x81, 0x10, 0x45, 0x21, 0x6e, 0xa1, 0x6c, 0x7f, 0x54, 0x25, 0x91, 0x9b, + 0x13, 0x78, 0x66, 0xcc, 0x17, 0xbd, 0xd2, 0xdb, +}; +static const unsigned char kat1793_entropyinreseed[] = { + 0x4a, 0xf4, 0xe3, 0xe8, 0x77, 0xca, 0x4b, 0x1d, 0x6f, 0xb9, 0xf4, 0xdc, + 0x42, 0x21, 0x08, 0xdc, 0x47, 0xc9, 0x24, 0xfa, 0xaf, 0x93, 0x1f, 0x6b, +}; +static const unsigned char kat1793_addinreseed[] = { + 0xaa, 0x28, 0xf7, 0x23, 0x36, 0x32, 0x14, 0xac, 0xd0, 0x82, 0xcc, 0xd2, + 0x35, 0x8b, 0xe8, 0xc7, 0x2f, 0x2d, 0x3a, 0x90, 0x31, 0x53, 0x83, 0xd4, + 0xb6, 0x79, 0x93, 0xf8, 0xd8, 0xdf, 0xdc, 0xcb, +}; +static const unsigned char kat1793_addin0[] = { + 0x8c, 0x42, 0x7d, 0x26, 0x0f, 0xdf, 0xed, 0x81, 0x33, 0x51, 0xea, 0x2c, + 0xef, 0x64, 0x31, 0x52, 0x78, 0xb3, 0x3a, 0x08, 0x78, 0x91, 0xe3, 0x6a, + 0xea, 0x41, 0x60, 0x57, 0x4e, 0xcd, 0xdd, 0x74, +}; +static const unsigned char kat1793_addin1[] = { + 0x8b, 0xca, 0x36, 0x6d, 0xc9, 0x0b, 0x9a, 0x2a, 0x9f, 0xaf, 0x85, 0x56, + 0x82, 0x0c, 0x64, 0x31, 0xe2, 0x6e, 0x0f, 0xdb, 0x7d, 0x9c, 0x7c, 0x2c, + 0x94, 0xfc, 0xc8, 0x9d, 0xa6, 0x08, 0x18, 0xf1, +}; +static const unsigned char kat1793_retbits[] = { + 0x83, 0x47, 0x06, 0x8e, 0xbb, 0x42, 0xb3, 0x59, 0x22, 0x8a, 0x84, 0x34, + 0x03, 0x69, 0xd5, 0x1a, 0x73, 0xf8, 0x5a, 0xb2, 0xcd, 0xa2, 0xe3, 0x2d, + 0xd2, 0x66, 0x3f, 0xc8, 0x3d, 0x2c, 0x64, 0x74, 0xe3, 0x8a, 0x08, 0xb8, + 0xe9, 0xe6, 0x0d, 0x6e, 0xc0, 0xbc, 0x1a, 0x4e, 0xe9, 0xf0, 0x93, 0xfb, + 0x69, 0xf0, 0xcc, 0x42, 0x81, 0x25, 0x8d, 0x72, 0xc6, 0xe4, 0xc7, 0xa4, + 0xd1, 0x0f, 0x08, 0xac, +}; +static const struct drbg_kat_pr_false kat1793_t = { + 7, kat1793_entropyin, kat1793_nonce, kat1793_persstr, + kat1793_entropyinreseed, kat1793_addinreseed, kat1793_addin0, + kat1793_addin1, kat1793_retbits +}; +static const struct drbg_kat kat1793 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1793_t +}; + +static const unsigned char kat1794_entropyin[] = { + 0x3c, 0xf4, 0xe2, 0x61, 0xf7, 0x26, 0xeb, 0x75, 0xdc, 0xb3, 0x56, 0x29, + 0xf4, 0x4a, 0x31, 0x02, 0x96, 0x8b, 0x6c, 0x94, 0x79, 0x0f, 0x41, 0x16, +}; +static const unsigned char kat1794_nonce[] = { + 0x16, 0x7a, 0xbc, 0xa4, 0xfd, 0xaf, 0x21, 0xa3, 0x0b, 0x55, 0x43, 0x14, + 0xd2, 0xde, 0xfc, 0x7e, +}; +static const unsigned char kat1794_persstr[] = { + 0xcc, 0x87, 0xbc, 0x66, 0xae, 0x04, 0xea, 0x9b, 0x35, 0xef, 0x84, 0x7f, + 0x92, 0x90, 0x9f, 0x8d, 0xd2, 0x36, 0x41, 0xd6, 0xec, 0x26, 0x10, 0xbc, + 0xdf, 0x1d, 0xb7, 0x8a, 0xb0, 0xfa, 0x4f, 0x2d, +}; +static const unsigned char kat1794_entropyinreseed[] = { + 0xb5, 0x9b, 0xe5, 0xdd, 0x93, 0xd7, 0xd2, 0xd4, 0x00, 0xd9, 0xbc, 0x93, + 0xb6, 0xc4, 0x41, 0x60, 0x15, 0xf7, 0x0f, 0xdc, 0x3a, 0xc8, 0x09, 0x78, +}; +static const unsigned char kat1794_addinreseed[] = { + 0x32, 0x38, 0x73, 0x32, 0x34, 0x6c, 0x56, 0x6e, 0xc9, 0x45, 0x6a, 0x16, + 0xe9, 0x16, 0xe9, 0xa4, 0x67, 0xfa, 0x0d, 0xb0, 0xc8, 0xa3, 0x15, 0xb6, + 0x71, 0x21, 0xe3, 0x00, 0x35, 0x02, 0x99, 0x38, +}; +static const unsigned char kat1794_addin0[] = { + 0xc4, 0xcf, 0x2c, 0xb9, 0x2c, 0xf8, 0x56, 0xe3, 0x33, 0xcd, 0x95, 0x3a, + 0xab, 0x50, 0x0b, 0x3f, 0xb7, 0xa2, 0x59, 0xc6, 0x98, 0x1b, 0x22, 0x06, + 0xf3, 0x9b, 0xa1, 0x6b, 0xf4, 0x39, 0xc5, 0x81, +}; +static const unsigned char kat1794_addin1[] = { + 0xac, 0xd9, 0x8e, 0x1c, 0x9a, 0xd4, 0x9f, 0x1b, 0x30, 0x9e, 0xef, 0xe9, + 0x5a, 0x5b, 0xa3, 0x6f, 0x35, 0xc4, 0x11, 0xfc, 0x42, 0x41, 0xaf, 0xbe, + 0x06, 0x7e, 0x6a, 0xde, 0x67, 0xff, 0xa0, 0x9e, +}; +static const unsigned char kat1794_retbits[] = { + 0xf9, 0x59, 0x9d, 0x40, 0x2a, 0x9f, 0x26, 0xfd, 0x6f, 0x1f, 0xe9, 0x8f, + 0xde, 0x34, 0x22, 0x54, 0x6b, 0x7d, 0x75, 0x11, 0x62, 0xa7, 0x28, 0x8b, + 0xfc, 0x6b, 0x32, 0xf8, 0x63, 0xae, 0x98, 0xb1, 0xb2, 0x04, 0x82, 0x86, + 0x32, 0xd3, 0xad, 0x5e, 0x90, 0x0c, 0xb0, 0xfe, 0x54, 0xd8, 0x4b, 0x2c, + 0xeb, 0x4d, 0xf1, 0x55, 0xcc, 0xfd, 0x99, 0x1e, 0x93, 0xa2, 0x63, 0xe1, + 0xe0, 0x4f, 0xdb, 0xdc, +}; +static const struct drbg_kat_pr_false kat1794_t = { + 8, kat1794_entropyin, kat1794_nonce, kat1794_persstr, + kat1794_entropyinreseed, kat1794_addinreseed, kat1794_addin0, + kat1794_addin1, kat1794_retbits +}; +static const struct drbg_kat kat1794 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1794_t +}; + +static const unsigned char kat1795_entropyin[] = { + 0xf8, 0xfe, 0xa2, 0x09, 0xa8, 0xab, 0xf3, 0xd6, 0x70, 0x0f, 0x05, 0x12, + 0x91, 0xbf, 0xf9, 0x86, 0x55, 0xf9, 0x9c, 0x10, 0x41, 0xd6, 0x9b, 0x61, +}; +static const unsigned char kat1795_nonce[] = { + 0xfc, 0xcf, 0xb4, 0x00, 0xdb, 0x6f, 0x4b, 0xbf, 0xaf, 0xa5, 0x1b, 0xda, + 0xc0, 0x35, 0x80, 0xd8, +}; +static const unsigned char kat1795_persstr[] = { + 0x71, 0x70, 0xc1, 0x54, 0x8d, 0xf5, 0xc4, 0x8e, 0xee, 0x3b, 0x07, 0x65, + 0x16, 0x39, 0x6c, 0xd3, 0x55, 0xcd, 0x76, 0x1d, 0xd2, 0x9b, 0x8a, 0x53, + 0x42, 0x63, 0xa3, 0xb9, 0xaf, 0x29, 0x9d, 0xca, +}; +static const unsigned char kat1795_entropyinreseed[] = { + 0x96, 0x3e, 0x22, 0x2a, 0xf3, 0xed, 0x7d, 0x4b, 0x6d, 0x33, 0xd9, 0x2f, + 0x8e, 0xfb, 0x7d, 0xbd, 0x44, 0x70, 0xdd, 0x86, 0xef, 0x4a, 0x22, 0x03, +}; +static const unsigned char kat1795_addinreseed[] = { + 0x34, 0xa1, 0x0d, 0x36, 0x53, 0x33, 0xbc, 0x69, 0x40, 0x24, 0xe7, 0xe0, + 0x87, 0x28, 0x0d, 0x5f, 0xa2, 0x7f, 0x0f, 0x69, 0xc4, 0x8e, 0x53, 0x79, + 0x9b, 0x0d, 0x3f, 0x55, 0xbb, 0xbe, 0x58, 0x21, +}; +static const unsigned char kat1795_addin0[] = { + 0xbc, 0x95, 0xea, 0x09, 0x9f, 0xd7, 0xeb, 0x90, 0x7b, 0xcc, 0x96, 0x69, + 0xff, 0x2a, 0xed, 0x11, 0x0d, 0xb8, 0x8c, 0x30, 0xb0, 0x9a, 0x10, 0xa6, + 0xa5, 0x0b, 0x45, 0x14, 0x6c, 0x19, 0xa2, 0xba, +}; +static const unsigned char kat1795_addin1[] = { + 0x87, 0x12, 0x11, 0x49, 0xb2, 0x5e, 0xb1, 0xe5, 0x50, 0x0e, 0x78, 0x2d, + 0x7c, 0xd0, 0x73, 0x3f, 0x9d, 0xff, 0x8e, 0x59, 0x73, 0xac, 0xfd, 0x0b, + 0xba, 0x04, 0x93, 0x2c, 0xbb, 0x05, 0x8c, 0xf6, +}; +static const unsigned char kat1795_retbits[] = { + 0xb3, 0x25, 0xc7, 0xfa, 0xde, 0xe9, 0x11, 0xab, 0x38, 0xde, 0x35, 0xbb, + 0x02, 0xfe, 0x63, 0xf7, 0x04, 0xbd, 0xaa, 0xe8, 0xeb, 0xd2, 0xe9, 0x75, + 0x0d, 0x27, 0x3b, 0x65, 0x52, 0xe3, 0x42, 0x86, 0xe4, 0x72, 0xa0, 0x1c, + 0x05, 0x4d, 0x5a, 0x84, 0x6a, 0x64, 0xce, 0x0b, 0xe1, 0x5f, 0xc4, 0x4a, + 0xfd, 0xf5, 0xc6, 0x46, 0x5b, 0x50, 0x86, 0x4b, 0x24, 0x65, 0x89, 0x4c, + 0x83, 0x88, 0xc6, 0xfb, +}; +static const struct drbg_kat_pr_false kat1795_t = { + 9, kat1795_entropyin, kat1795_nonce, kat1795_persstr, + kat1795_entropyinreseed, kat1795_addinreseed, kat1795_addin0, + kat1795_addin1, kat1795_retbits +}; +static const struct drbg_kat kat1795 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1795_t +}; + +static const unsigned char kat1796_entropyin[] = { + 0x2d, 0xbb, 0xc1, 0xb4, 0x1e, 0xca, 0x69, 0xae, 0xeb, 0x3f, 0x16, 0x19, + 0x07, 0xb1, 0x22, 0x81, 0x65, 0x36, 0x56, 0xf1, 0x5c, 0x87, 0x93, 0x41, +}; +static const unsigned char kat1796_nonce[] = { + 0x7d, 0x88, 0xa1, 0x24, 0xa3, 0xbd, 0x84, 0x71, 0xa5, 0xb5, 0x61, 0xda, + 0xd2, 0xce, 0xb9, 0xb2, +}; +static const unsigned char kat1796_persstr[] = { + 0xa1, 0xb6, 0x6f, 0x79, 0xb4, 0x8f, 0xda, 0xf8, 0x19, 0x1a, 0xb2, 0x70, + 0x35, 0xb0, 0xa3, 0xa8, 0xbb, 0x1c, 0xed, 0x65, 0x8d, 0x03, 0x00, 0x58, + 0x14, 0xc2, 0x49, 0x4b, 0x68, 0x02, 0x64, 0x85, +}; +static const unsigned char kat1796_entropyinreseed[] = { + 0x50, 0xe0, 0xdf, 0x18, 0x7d, 0xd9, 0xc2, 0x7d, 0x5a, 0x0e, 0x96, 0x2c, + 0x2c, 0x86, 0x15, 0xbf, 0xe7, 0x22, 0x8d, 0x14, 0x75, 0xe2, 0xf4, 0xf7, +}; +static const unsigned char kat1796_addinreseed[] = { + 0x85, 0x98, 0xc8, 0x0c, 0xaf, 0x70, 0xe2, 0xe6, 0xff, 0xce, 0x3c, 0x6c, + 0xb4, 0xf0, 0x69, 0x33, 0x11, 0x40, 0x15, 0xd7, 0xc9, 0xc5, 0xd2, 0x73, + 0xb4, 0x28, 0xb4, 0xfb, 0xc2, 0xd1, 0x4b, 0x7c, +}; +static const unsigned char kat1796_addin0[] = { + 0x83, 0x94, 0xe9, 0x45, 0xa4, 0x21, 0xe9, 0xbc, 0x68, 0x4f, 0x49, 0x87, + 0x6a, 0x01, 0x15, 0x96, 0xa2, 0x2c, 0x6c, 0x98, 0x8b, 0x83, 0xc7, 0x30, + 0x9f, 0x3d, 0xbc, 0xbd, 0x9c, 0xb1, 0x9d, 0x8c, +}; +static const unsigned char kat1796_addin1[] = { + 0x70, 0x52, 0x58, 0xf5, 0xb7, 0x80, 0x48, 0x20, 0x7e, 0x1e, 0x3f, 0x8e, + 0xfd, 0x9e, 0xaf, 0xee, 0xfe, 0xde, 0x23, 0xb4, 0xe5, 0x1c, 0x79, 0xc0, + 0x31, 0x04, 0xb1, 0x56, 0x86, 0x56, 0x27, 0xd5, +}; +static const unsigned char kat1796_retbits[] = { + 0xb7, 0xf5, 0x39, 0x6c, 0x9d, 0x2d, 0xbb, 0x14, 0xfb, 0xe1, 0x62, 0x2d, + 0x15, 0x40, 0xe5, 0xdf, 0xe7, 0x2b, 0xba, 0x85, 0xcd, 0xd4, 0x95, 0x15, + 0x11, 0x47, 0x28, 0xdc, 0x9a, 0x35, 0xef, 0x38, 0x6a, 0xd5, 0xc1, 0xb7, + 0xc7, 0xb7, 0xc4, 0x0b, 0x06, 0x90, 0x4f, 0x71, 0x19, 0x0a, 0x39, 0xd5, + 0xbe, 0x41, 0x9b, 0x29, 0xa4, 0x2b, 0x94, 0x70, 0xe6, 0xb9, 0x73, 0x83, + 0x0f, 0x01, 0x87, 0xd3, +}; +static const struct drbg_kat_pr_false kat1796_t = { + 10, kat1796_entropyin, kat1796_nonce, kat1796_persstr, + kat1796_entropyinreseed, kat1796_addinreseed, kat1796_addin0, + kat1796_addin1, kat1796_retbits +}; +static const struct drbg_kat kat1796 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1796_t +}; + +static const unsigned char kat1797_entropyin[] = { + 0x60, 0x7b, 0x26, 0x92, 0x9e, 0x2a, 0x93, 0x26, 0xcd, 0x3b, 0xb2, 0x6e, + 0x7d, 0xd1, 0x0b, 0x13, 0x09, 0x5c, 0xca, 0x93, 0x94, 0x95, 0x75, 0xf5, +}; +static const unsigned char kat1797_nonce[] = { + 0xbf, 0xf2, 0x91, 0xe5, 0x98, 0x12, 0xd1, 0x0a, 0x4d, 0x65, 0xb3, 0x8a, + 0x61, 0x44, 0xd0, 0x08, +}; +static const unsigned char kat1797_persstr[] = { + 0x52, 0xaa, 0x98, 0x10, 0xf2, 0x6f, 0x28, 0x4e, 0x91, 0x5a, 0xa3, 0x8f, + 0x20, 0xd5, 0x8b, 0x38, 0x94, 0x9e, 0x5d, 0xb9, 0x27, 0x80, 0x51, 0x1d, + 0x69, 0xcf, 0x73, 0xc0, 0x8b, 0xb9, 0x92, 0x6f, +}; +static const unsigned char kat1797_entropyinreseed[] = { + 0x64, 0x89, 0xce, 0x0e, 0x80, 0xeb, 0x12, 0xde, 0x88, 0xcb, 0xcd, 0xc4, + 0xe6, 0xa1, 0xf1, 0x64, 0xf8, 0xc3, 0x41, 0x09, 0xa8, 0x42, 0x21, 0xe9, +}; +static const unsigned char kat1797_addinreseed[] = { + 0xf9, 0xd6, 0x5f, 0x81, 0x8d, 0xc0, 0x80, 0x6e, 0xaa, 0xa9, 0x0f, 0x22, + 0xa6, 0x1b, 0x7c, 0xf3, 0xde, 0x69, 0x54, 0x2f, 0xd7, 0x22, 0x39, 0x69, + 0x36, 0x13, 0x84, 0x1b, 0x92, 0x4a, 0xd2, 0xb0, +}; +static const unsigned char kat1797_addin0[] = { + 0xd8, 0x59, 0x20, 0xfa, 0x2d, 0x32, 0x1e, 0xf6, 0x17, 0xb2, 0x39, 0x8e, + 0x43, 0x8c, 0x6a, 0xa4, 0x55, 0x22, 0x91, 0x24, 0x9c, 0x54, 0x4a, 0x65, + 0xe6, 0x2f, 0xe1, 0xdb, 0xfa, 0x77, 0xfe, 0x75, +}; +static const unsigned char kat1797_addin1[] = { + 0x77, 0xf9, 0x64, 0x78, 0x0f, 0x61, 0x98, 0xe5, 0x21, 0xa1, 0xd3, 0x11, + 0x1c, 0xc4, 0xa8, 0xaa, 0xc7, 0xcd, 0x84, 0x2d, 0x8b, 0xb6, 0x90, 0x44, + 0x95, 0xc8, 0xbb, 0x25, 0x57, 0x82, 0x86, 0xd9, +}; +static const unsigned char kat1797_retbits[] = { + 0xb8, 0xc1, 0xa5, 0x3e, 0xa0, 0x7a, 0xf7, 0xcb, 0xcf, 0xec, 0x57, 0xb7, + 0xc4, 0x89, 0xfa, 0xf8, 0x51, 0x61, 0xd9, 0xdd, 0xe7, 0xc2, 0x73, 0x4b, + 0x60, 0x5f, 0x62, 0x38, 0xbc, 0x3a, 0xaf, 0xdc, 0x44, 0x83, 0xd2, 0x41, + 0x35, 0x2c, 0xaf, 0x04, 0x47, 0x9b, 0xa6, 0x7c, 0x84, 0xc1, 0xbf, 0xeb, + 0x19, 0xa8, 0xbb, 0xf0, 0xc4, 0xc0, 0xe7, 0x07, 0x28, 0x8d, 0x2c, 0x2c, + 0x69, 0x70, 0x11, 0x22, +}; +static const struct drbg_kat_pr_false kat1797_t = { + 11, kat1797_entropyin, kat1797_nonce, kat1797_persstr, + kat1797_entropyinreseed, kat1797_addinreseed, kat1797_addin0, + kat1797_addin1, kat1797_retbits +}; +static const struct drbg_kat kat1797 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1797_t +}; + +static const unsigned char kat1798_entropyin[] = { + 0xe1, 0xb5, 0xb9, 0x1f, 0x0f, 0x5e, 0xf3, 0xd6, 0x65, 0x18, 0xca, 0x65, + 0x09, 0x8c, 0x6a, 0xf7, 0x90, 0x80, 0x66, 0x24, 0xbf, 0x6c, 0x2e, 0x98, +}; +static const unsigned char kat1798_nonce[] = { + 0xe9, 0x27, 0x8e, 0xa5, 0xf8, 0x64, 0x35, 0x11, 0xcd, 0x78, 0x7a, 0x71, + 0xe3, 0x9b, 0x4c, 0x4d, +}; +static const unsigned char kat1798_persstr[] = { + 0x0c, 0xab, 0x8f, 0x63, 0xd0, 0x8f, 0xad, 0xaa, 0x11, 0xc1, 0xe8, 0x0a, + 0x1e, 0x29, 0x82, 0x95, 0x06, 0xbe, 0x37, 0x20, 0x96, 0x3b, 0xad, 0x7f, + 0xe9, 0x08, 0xea, 0x74, 0x88, 0x0e, 0x41, 0x38, +}; +static const unsigned char kat1798_entropyinreseed[] = { + 0xcf, 0x20, 0x4b, 0xbc, 0x35, 0xe9, 0x77, 0xfb, 0x77, 0xcb, 0x04, 0x8a, + 0xcb, 0x7a, 0x3c, 0xd5, 0xba, 0x1d, 0x8e, 0x1d, 0xd6, 0x48, 0x43, 0x13, +}; +static const unsigned char kat1798_addinreseed[] = { + 0x3c, 0x60, 0xd5, 0x16, 0xaf, 0x0f, 0x43, 0x61, 0x2e, 0x2e, 0x0d, 0xb1, + 0xad, 0x91, 0xba, 0x12, 0xad, 0x5a, 0x9b, 0xdb, 0x20, 0xcb, 0x3c, 0x80, + 0x7a, 0x7a, 0x30, 0xfd, 0xc0, 0x0d, 0xac, 0x8e, +}; +static const unsigned char kat1798_addin0[] = { + 0x4b, 0x69, 0x7b, 0xdf, 0x6e, 0xe0, 0x15, 0xfa, 0xac, 0xfa, 0x95, 0x96, + 0xcf, 0x4a, 0xb6, 0x64, 0xd4, 0x7d, 0xbb, 0xc1, 0x98, 0xac, 0x77, 0x11, + 0x2b, 0x2e, 0x64, 0xe3, 0x32, 0x51, 0xa0, 0x30, +}; +static const unsigned char kat1798_addin1[] = { + 0x89, 0xdc, 0x88, 0xd0, 0xba, 0x7c, 0x9d, 0xd8, 0x31, 0xf0, 0xcf, 0x11, + 0xbe, 0xbd, 0x08, 0x0e, 0x1c, 0x38, 0xd1, 0x69, 0x70, 0xcf, 0x48, 0x7b, + 0x46, 0xe0, 0xaa, 0x7e, 0xbd, 0x46, 0x82, 0x40, +}; +static const unsigned char kat1798_retbits[] = { + 0x8d, 0x84, 0xec, 0x1a, 0x7b, 0x11, 0xdd, 0xed, 0xdd, 0xdd, 0x6d, 0x6b, + 0x90, 0xb2, 0x60, 0x4e, 0x6d, 0x6c, 0x87, 0x2c, 0x9d, 0x3e, 0xce, 0x42, + 0x4c, 0xae, 0x84, 0xbe, 0x9b, 0x71, 0xd8, 0xc0, 0xc1, 0x39, 0x5a, 0xfe, + 0xbd, 0x95, 0x50, 0x20, 0xcc, 0xa1, 0x5b, 0x03, 0xa5, 0xf5, 0x09, 0xd8, + 0x8d, 0x51, 0x5b, 0x3b, 0xbc, 0xd5, 0x8f, 0xe9, 0x0a, 0x30, 0x52, 0xb0, + 0x07, 0xf7, 0xe8, 0xf5, +}; +static const struct drbg_kat_pr_false kat1798_t = { + 12, kat1798_entropyin, kat1798_nonce, kat1798_persstr, + kat1798_entropyinreseed, kat1798_addinreseed, kat1798_addin0, + kat1798_addin1, kat1798_retbits +}; +static const struct drbg_kat kat1798 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1798_t +}; + +static const unsigned char kat1799_entropyin[] = { + 0xb4, 0x6c, 0x57, 0xd2, 0x61, 0xd5, 0x94, 0x9f, 0x47, 0x12, 0x98, 0x28, + 0xcd, 0x1a, 0x7f, 0xc8, 0xbe, 0xa0, 0x82, 0x61, 0x13, 0x25, 0x57, 0xe0, +}; +static const unsigned char kat1799_nonce[] = { + 0x82, 0x9f, 0x0e, 0x69, 0x20, 0x55, 0xf6, 0xba, 0xf7, 0xf5, 0x5d, 0x36, + 0x42, 0x13, 0xbd, 0xb1, +}; +static const unsigned char kat1799_persstr[] = { + 0x4e, 0x00, 0x00, 0x1a, 0x12, 0xf5, 0x32, 0xeb, 0x49, 0x9d, 0xf4, 0x71, + 0x0e, 0x47, 0xdb, 0x80, 0xc1, 0x5b, 0x08, 0xc0, 0x0c, 0xa9, 0x2b, 0x84, + 0x85, 0xd3, 0xb4, 0xa8, 0xe0, 0x21, 0xa4, 0xbe, +}; +static const unsigned char kat1799_entropyinreseed[] = { + 0x56, 0xc5, 0x0b, 0x70, 0x16, 0x34, 0xb9, 0x37, 0x96, 0x90, 0x10, 0xc3, + 0xac, 0x50, 0x53, 0xee, 0x6c, 0x7e, 0xa6, 0x90, 0xaa, 0x65, 0x2d, 0x6b, +}; +static const unsigned char kat1799_addinreseed[] = { + 0xcd, 0xbc, 0x87, 0x31, 0xa1, 0xe3, 0x9a, 0x36, 0xac, 0x03, 0x79, 0x02, + 0x77, 0xfa, 0x02, 0xee, 0x09, 0xd8, 0x35, 0xd6, 0xcd, 0x73, 0x70, 0xf9, + 0x3d, 0x78, 0xfb, 0x18, 0x4c, 0x6c, 0xd7, 0x9c, +}; +static const unsigned char kat1799_addin0[] = { + 0xe0, 0xc2, 0xbb, 0x2d, 0xc1, 0x87, 0x2f, 0x85, 0x6f, 0x7f, 0x15, 0x94, + 0xb9, 0xf6, 0x52, 0xb6, 0x38, 0xa0, 0xf7, 0x80, 0x85, 0x5c, 0xe4, 0x99, + 0xa7, 0xcf, 0x26, 0x28, 0xe1, 0xb1, 0x76, 0x3c, +}; +static const unsigned char kat1799_addin1[] = { + 0x0e, 0xec, 0x40, 0xf4, 0x86, 0xff, 0xbd, 0xa8, 0x3e, 0xfc, 0xa8, 0x89, + 0xb5, 0xf8, 0xe8, 0x43, 0x6f, 0xba, 0xe0, 0xcf, 0x89, 0xc5, 0xa4, 0x01, + 0x28, 0x6b, 0x81, 0x91, 0x3a, 0xaf, 0x95, 0xd1, +}; +static const unsigned char kat1799_retbits[] = { + 0x91, 0xcc, 0x03, 0x09, 0x72, 0xe6, 0xc2, 0x85, 0x6f, 0x49, 0x03, 0x11, + 0xb7, 0x4c, 0x23, 0xad, 0xf0, 0x5d, 0x87, 0x91, 0xe5, 0x8f, 0xff, 0x2b, + 0x03, 0x48, 0x01, 0x63, 0x48, 0xc6, 0xc9, 0x9f, 0xa9, 0x68, 0x63, 0xe6, + 0x30, 0xfa, 0xfe, 0x10, 0x5a, 0x81, 0xc3, 0x4c, 0x2f, 0x93, 0xe7, 0xf0, + 0xff, 0x09, 0xfa, 0x74, 0x23, 0x3e, 0x6f, 0x88, 0x02, 0xce, 0xb9, 0xcf, + 0x04, 0x40, 0x9c, 0xa3, +}; +static const struct drbg_kat_pr_false kat1799_t = { + 13, kat1799_entropyin, kat1799_nonce, kat1799_persstr, + kat1799_entropyinreseed, kat1799_addinreseed, kat1799_addin0, + kat1799_addin1, kat1799_retbits +}; +static const struct drbg_kat kat1799 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1799_t +}; + +static const unsigned char kat1800_entropyin[] = { + 0xa7, 0x1b, 0x17, 0xc7, 0x42, 0x8f, 0x2b, 0x3e, 0x67, 0x5a, 0x0c, 0x46, + 0xcf, 0xd1, 0x7d, 0x89, 0x15, 0x90, 0x04, 0x62, 0x02, 0xdf, 0x4a, 0x3e, +}; +static const unsigned char kat1800_nonce[] = { + 0x55, 0x8c, 0x6e, 0xc0, 0x9d, 0x48, 0x33, 0xbd, 0x1e, 0xb2, 0x89, 0xa5, + 0x8d, 0x9a, 0x80, 0xe6, +}; +static const unsigned char kat1800_persstr[] = { + 0xee, 0x6d, 0x71, 0xf0, 0xbd, 0x06, 0x64, 0xea, 0x86, 0xe4, 0xb0, 0x4f, + 0xf6, 0xe4, 0x75, 0x10, 0xe9, 0xc4, 0x29, 0x32, 0x47, 0xce, 0xfb, 0x9f, + 0xea, 0x3b, 0x5c, 0xc1, 0xc8, 0xed, 0xec, 0xf7, +}; +static const unsigned char kat1800_entropyinreseed[] = { + 0x11, 0x80, 0xc5, 0x75, 0xb9, 0x9d, 0x09, 0xc7, 0x50, 0xe4, 0x4f, 0xed, + 0x75, 0x6e, 0x75, 0x5f, 0xd8, 0xb0, 0x10, 0xbc, 0x75, 0x11, 0xbf, 0xde, +}; +static const unsigned char kat1800_addinreseed[] = { + 0x85, 0x75, 0x65, 0xdf, 0xef, 0xed, 0xbe, 0xbc, 0x2b, 0x93, 0x07, 0x79, + 0x5d, 0x83, 0x42, 0xdd, 0x37, 0x4c, 0xcf, 0xec, 0x43, 0xbd, 0x45, 0x4f, + 0x7b, 0x92, 0x24, 0x31, 0xe9, 0x36, 0x83, 0x07, +}; +static const unsigned char kat1800_addin0[] = { + 0xc2, 0x66, 0x01, 0x9b, 0xef, 0x29, 0x4f, 0xae, 0xc2, 0x87, 0xd1, 0x49, + 0x27, 0x6c, 0x9b, 0xef, 0x20, 0x25, 0x8c, 0x3e, 0xf0, 0x68, 0x51, 0xc5, + 0x0b, 0x63, 0x0f, 0x76, 0x81, 0xa6, 0x87, 0xed, +}; +static const unsigned char kat1800_addin1[] = { + 0x8d, 0x8b, 0x34, 0xc3, 0x01, 0x86, 0x62, 0x13, 0x57, 0x9e, 0x2d, 0x4a, + 0x0d, 0xed, 0x89, 0x50, 0x2c, 0x68, 0x37, 0x3e, 0xa2, 0x34, 0x53, 0xba, + 0x89, 0x6f, 0x18, 0x3c, 0x35, 0x37, 0x61, 0x0f, +}; +static const unsigned char kat1800_retbits[] = { + 0xe5, 0x36, 0x33, 0xd4, 0x9f, 0xa5, 0x64, 0x28, 0xc0, 0x81, 0x2e, 0xd0, + 0xe2, 0xec, 0xbb, 0x8c, 0x97, 0x3b, 0x91, 0xb9, 0x30, 0x95, 0x9a, 0xae, + 0x4f, 0x18, 0x54, 0xe2, 0x5b, 0x52, 0xfb, 0x10, 0x23, 0x0b, 0x58, 0x0d, + 0x7f, 0xd0, 0x1c, 0x0e, 0x54, 0xec, 0x25, 0xdc, 0x4f, 0xc4, 0x41, 0x51, + 0x24, 0xab, 0x5b, 0x22, 0xa0, 0x07, 0x12, 0xd3, 0xd1, 0xdd, 0x01, 0xc0, + 0x93, 0x46, 0x6f, 0x9b, +}; +static const struct drbg_kat_pr_false kat1800_t = { + 14, kat1800_entropyin, kat1800_nonce, kat1800_persstr, + kat1800_entropyinreseed, kat1800_addinreseed, kat1800_addin0, + kat1800_addin1, kat1800_retbits +}; +static const struct drbg_kat kat1800 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1800_t +}; + +static const unsigned char kat1801_entropyin[] = { + 0x85, 0x16, 0xa8, 0x78, 0x8f, 0x6a, 0x58, 0xdd, 0xad, 0xed, 0xf8, 0x17, + 0x5a, 0xa2, 0x89, 0xa2, 0xbc, 0x31, 0x0c, 0x07, 0xef, 0x0d, 0x0d, 0x82, +}; +static const unsigned char kat1801_nonce[] = { + 0x5d, 0xb7, 0xbe, 0x3e, 0x06, 0x83, 0x00, 0xb2, 0x5b, 0xd9, 0x49, 0x74, + 0x47, 0x5e, 0x58, 0xf5, +}; +static const unsigned char kat1801_persstr[] = {0}; +static const unsigned char kat1801_entropyinreseed[] = { + 0x42, 0x3b, 0x99, 0x12, 0xe0, 0xe6, 0xfb, 0xef, 0x38, 0x64, 0x2c, 0x46, + 0xdf, 0x7d, 0xba, 0xee, 0x21, 0x97, 0x17, 0x33, 0x52, 0xf1, 0x52, 0x67, +}; +static const unsigned char kat1801_addinreseed[] = {0}; +static const unsigned char kat1801_addin0[] = {0}; +static const unsigned char kat1801_addin1[] = {0}; +static const unsigned char kat1801_retbits[] = { + 0xc6, 0x12, 0xff, 0xdb, 0x9e, 0xa6, 0xe2, 0x09, 0x01, 0xe8, 0xf5, 0x8c, + 0x18, 0x0d, 0xc4, 0xd7, 0x9b, 0x9a, 0x25, 0xbb, 0x51, 0xff, 0xb7, 0x5d, + 0x7b, 0x40, 0x76, 0xf8, 0xf6, 0x79, 0x1c, 0x23, 0x2e, 0xea, 0xab, 0xb2, + 0xe4, 0x3f, 0x30, 0x91, 0x55, 0xe5, 0x38, 0x10, 0xae, 0x79, 0x5e, 0xba, + 0x66, 0x71, 0x24, 0xa9, 0xf6, 0x97, 0xf6, 0xbb, 0x35, 0x67, 0x85, 0xed, + 0xd9, 0xff, 0x39, 0x59, +}; +static const struct drbg_kat_pr_false kat1801_t = { + 0, kat1801_entropyin, kat1801_nonce, kat1801_persstr, + kat1801_entropyinreseed, kat1801_addinreseed, kat1801_addin0, + kat1801_addin1, kat1801_retbits +}; +static const struct drbg_kat kat1801 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1801_t +}; + +static const unsigned char kat1802_entropyin[] = { + 0x88, 0x93, 0x59, 0x3a, 0x21, 0xe2, 0xdf, 0x41, 0xdd, 0xbd, 0x7f, 0xce, + 0xe3, 0x00, 0x18, 0xa6, 0x9f, 0xfb, 0x23, 0x35, 0x86, 0x0d, 0x18, 0xda, +}; +static const unsigned char kat1802_nonce[] = { + 0xfd, 0x1d, 0xc5, 0x85, 0xcc, 0x19, 0x5c, 0x10, 0xd7, 0xe2, 0x74, 0x18, + 0xff, 0x2d, 0xdd, 0x35, +}; +static const unsigned char kat1802_persstr[] = {0}; +static const unsigned char kat1802_entropyinreseed[] = { + 0x3c, 0x23, 0x6b, 0xe2, 0x70, 0x7e, 0x38, 0x80, 0x22, 0xe7, 0x30, 0x7e, + 0x1e, 0xf4, 0xde, 0x38, 0x7b, 0x3a, 0x6e, 0xb9, 0x50, 0x86, 0xb2, 0xa7, +}; +static const unsigned char kat1802_addinreseed[] = {0}; +static const unsigned char kat1802_addin0[] = {0}; +static const unsigned char kat1802_addin1[] = {0}; +static const unsigned char kat1802_retbits[] = { + 0x30, 0x83, 0x05, 0x4e, 0xa1, 0xe2, 0x76, 0x87, 0xd8, 0x69, 0x6b, 0x74, + 0x62, 0x98, 0xb3, 0xad, 0xd9, 0xf3, 0xb5, 0x6d, 0x7a, 0xc8, 0x3f, 0xba, + 0x75, 0xc4, 0x72, 0xc3, 0xd5, 0xba, 0xd1, 0xbf, 0xd5, 0xc5, 0x37, 0xe4, + 0x21, 0x16, 0x49, 0xf7, 0x2b, 0xeb, 0x0d, 0xea, 0x79, 0xf0, 0x97, 0xc9, + 0xeb, 0x13, 0xa7, 0xce, 0xf0, 0x84, 0x33, 0x3d, 0x95, 0x86, 0x66, 0x3e, + 0x07, 0x28, 0xb2, 0x90, +}; +static const struct drbg_kat_pr_false kat1802_t = { + 1, kat1802_entropyin, kat1802_nonce, kat1802_persstr, + kat1802_entropyinreseed, kat1802_addinreseed, kat1802_addin0, + kat1802_addin1, kat1802_retbits +}; +static const struct drbg_kat kat1802 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1802_t +}; + +static const unsigned char kat1803_entropyin[] = { + 0x0a, 0xe9, 0xa6, 0x0d, 0xc1, 0xf0, 0x74, 0xb2, 0xdd, 0x86, 0xba, 0x3f, + 0xa2, 0xe3, 0x29, 0xb9, 0xca, 0xdf, 0x7a, 0xfc, 0xd9, 0x4e, 0x64, 0xd1, +}; +static const unsigned char kat1803_nonce[] = { + 0x28, 0xf3, 0xbb, 0x2c, 0x48, 0xeb, 0xe5, 0x82, 0x9d, 0x31, 0x28, 0x30, + 0x24, 0xf7, 0x0a, 0x55, +}; +static const unsigned char kat1803_persstr[] = {0}; +static const unsigned char kat1803_entropyinreseed[] = { + 0xd0, 0xff, 0xba, 0xf4, 0x62, 0xaf, 0xe1, 0xfc, 0x9b, 0x5c, 0x45, 0x93, + 0x28, 0x03, 0x6e, 0x11, 0x5d, 0x4f, 0xde, 0x0d, 0x0b, 0x87, 0xe2, 0x87, +}; +static const unsigned char kat1803_addinreseed[] = {0}; +static const unsigned char kat1803_addin0[] = {0}; +static const unsigned char kat1803_addin1[] = {0}; +static const unsigned char kat1803_retbits[] = { + 0x67, 0x82, 0x85, 0xfd, 0x0c, 0xba, 0x3c, 0x39, 0x27, 0x2f, 0x64, 0xad, + 0xaf, 0xc6, 0x97, 0x07, 0xcb, 0xbb, 0xcc, 0x50, 0x26, 0x43, 0x06, 0x3b, + 0x0c, 0xda, 0xfa, 0x32, 0xc4, 0x5e, 0x7a, 0xca, 0x70, 0xdd, 0xfa, 0xed, + 0xc6, 0x56, 0xd7, 0x43, 0xcb, 0xc9, 0x80, 0xa1, 0x85, 0x90, 0x46, 0x97, + 0xc4, 0xe4, 0xdd, 0x1a, 0x10, 0x26, 0x93, 0x3e, 0x42, 0x59, 0x8d, 0x44, + 0xf3, 0xc1, 0xc9, 0x9e, +}; +static const struct drbg_kat_pr_false kat1803_t = { + 2, kat1803_entropyin, kat1803_nonce, kat1803_persstr, + kat1803_entropyinreseed, kat1803_addinreseed, kat1803_addin0, + kat1803_addin1, kat1803_retbits +}; +static const struct drbg_kat kat1803 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1803_t +}; + +static const unsigned char kat1804_entropyin[] = { + 0x7d, 0x0e, 0xfd, 0x40, 0x0f, 0xbc, 0x7a, 0xe6, 0xaf, 0xb8, 0xb0, 0x85, + 0x29, 0x1f, 0x22, 0xd9, 0xd6, 0xf4, 0x12, 0x90, 0xc0, 0x87, 0xbd, 0x24, +}; +static const unsigned char kat1804_nonce[] = { + 0x11, 0xa6, 0xa4, 0x53, 0x12, 0x4a, 0xde, 0xe3, 0x3f, 0x8e, 0xbc, 0x68, + 0x85, 0xcc, 0xaf, 0xdd, +}; +static const unsigned char kat1804_persstr[] = {0}; +static const unsigned char kat1804_entropyinreseed[] = { + 0x33, 0xd5, 0x55, 0xae, 0xbd, 0xc8, 0xc5, 0x29, 0x33, 0xb5, 0x8b, 0xba, + 0xa2, 0x7c, 0x2b, 0x46, 0xbb, 0xc6, 0xc5, 0x9e, 0xa9, 0xc3, 0x26, 0xe0, +}; +static const unsigned char kat1804_addinreseed[] = {0}; +static const unsigned char kat1804_addin0[] = {0}; +static const unsigned char kat1804_addin1[] = {0}; +static const unsigned char kat1804_retbits[] = { + 0xe4, 0x05, 0x98, 0x48, 0x62, 0xb4, 0x0e, 0x21, 0xf2, 0x96, 0x78, 0xc4, + 0x10, 0xda, 0xff, 0x86, 0x4e, 0xd9, 0xe7, 0x0a, 0xb4, 0x1f, 0xa3, 0x07, + 0x82, 0xa7, 0x33, 0x90, 0xfd, 0xdd, 0xc3, 0xe0, 0x9e, 0x0a, 0x89, 0x6f, + 0x12, 0xb1, 0xc8, 0x5e, 0x6a, 0x66, 0x88, 0x20, 0x3b, 0xa8, 0xbb, 0xdb, + 0xac, 0xce, 0xb5, 0x0f, 0xdf, 0x90, 0xa0, 0xd2, 0xd5, 0x8e, 0x88, 0x1a, + 0xc9, 0x4b, 0x3d, 0xa6, +}; +static const struct drbg_kat_pr_false kat1804_t = { + 3, kat1804_entropyin, kat1804_nonce, kat1804_persstr, + kat1804_entropyinreseed, kat1804_addinreseed, kat1804_addin0, + kat1804_addin1, kat1804_retbits +}; +static const struct drbg_kat kat1804 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1804_t +}; + +static const unsigned char kat1805_entropyin[] = { + 0x7f, 0xbe, 0xbd, 0xc4, 0x84, 0x63, 0xe3, 0xff, 0x81, 0x35, 0x88, 0xa1, + 0x08, 0xc2, 0x88, 0xe0, 0x6c, 0xce, 0xbb, 0xbf, 0x3e, 0x0a, 0xb7, 0x57, +}; +static const unsigned char kat1805_nonce[] = { + 0x84, 0x92, 0xb8, 0xcf, 0x8a, 0xb3, 0x62, 0x0a, 0xde, 0x27, 0x28, 0xc3, + 0x06, 0xe0, 0x7c, 0x2d, +}; +static const unsigned char kat1805_persstr[] = {0}; +static const unsigned char kat1805_entropyinreseed[] = { + 0x22, 0x6d, 0x45, 0xb7, 0xd7, 0x7c, 0xf7, 0x4e, 0x9d, 0xe7, 0x4c, 0xb2, + 0x47, 0x49, 0xb9, 0x26, 0x67, 0x5d, 0xd8, 0xf9, 0xb3, 0x86, 0x94, 0x55, +}; +static const unsigned char kat1805_addinreseed[] = {0}; +static const unsigned char kat1805_addin0[] = {0}; +static const unsigned char kat1805_addin1[] = {0}; +static const unsigned char kat1805_retbits[] = { + 0xc5, 0x6f, 0x70, 0x40, 0xef, 0x81, 0x4f, 0x24, 0x49, 0x91, 0xbf, 0xb4, + 0x31, 0xab, 0x18, 0xe1, 0xce, 0xb6, 0xc7, 0xab, 0x20, 0xcd, 0xdb, 0x6e, + 0x9c, 0xdb, 0x1d, 0x77, 0x40, 0xd6, 0xa1, 0x43, 0x43, 0xd5, 0xe8, 0xdc, + 0xca, 0x2c, 0x70, 0xf5, 0xca, 0xe2, 0x57, 0x6b, 0xa5, 0x75, 0x79, 0x5b, + 0xcb, 0xa7, 0x36, 0x79, 0x09, 0x9c, 0xc0, 0x3c, 0xc5, 0x01, 0xdb, 0xa6, + 0xc9, 0x75, 0x83, 0xa9, +}; +static const struct drbg_kat_pr_false kat1805_t = { + 4, kat1805_entropyin, kat1805_nonce, kat1805_persstr, + kat1805_entropyinreseed, kat1805_addinreseed, kat1805_addin0, + kat1805_addin1, kat1805_retbits +}; +static const struct drbg_kat kat1805 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1805_t +}; + +static const unsigned char kat1806_entropyin[] = { + 0xe2, 0xe6, 0x95, 0x34, 0x3b, 0xcb, 0x5d, 0x7c, 0xbd, 0xed, 0xc3, 0x76, + 0x3d, 0x95, 0x15, 0x51, 0xb5, 0x48, 0x61, 0x55, 0x8a, 0x8f, 0x32, 0x11, +}; +static const unsigned char kat1806_nonce[] = { + 0x41, 0x87, 0x39, 0xcd, 0x69, 0xca, 0xe5, 0x0e, 0xc9, 0xc1, 0x03, 0x57, + 0xbf, 0x6c, 0xe0, 0x8c, +}; +static const unsigned char kat1806_persstr[] = {0}; +static const unsigned char kat1806_entropyinreseed[] = { + 0xd9, 0x36, 0x2f, 0xce, 0x7b, 0xc4, 0x8b, 0xe4, 0x37, 0xc9, 0xe9, 0xb6, + 0x70, 0xdb, 0x33, 0x1d, 0x68, 0x24, 0x18, 0xf6, 0x1d, 0x77, 0x25, 0x00, +}; +static const unsigned char kat1806_addinreseed[] = {0}; +static const unsigned char kat1806_addin0[] = {0}; +static const unsigned char kat1806_addin1[] = {0}; +static const unsigned char kat1806_retbits[] = { + 0x01, 0x39, 0x42, 0x70, 0x19, 0x01, 0xbd, 0x4d, 0xde, 0x2e, 0x38, 0x3a, + 0x5f, 0x99, 0x8f, 0x66, 0xf2, 0x0f, 0x9a, 0xd5, 0x75, 0xbc, 0xd5, 0x72, + 0x90, 0x3a, 0x9d, 0x8e, 0xe3, 0x0e, 0x22, 0xac, 0xfb, 0xe0, 0xf2, 0x63, + 0xbd, 0x0d, 0xb0, 0x2d, 0x38, 0xa9, 0x94, 0x73, 0xfd, 0x7d, 0xc8, 0x95, + 0x44, 0xce, 0xc1, 0xc4, 0xdb, 0xca, 0x81, 0xbf, 0x2d, 0x73, 0x9b, 0x21, + 0x48, 0xf1, 0xaf, 0xd7, +}; +static const struct drbg_kat_pr_false kat1806_t = { + 5, kat1806_entropyin, kat1806_nonce, kat1806_persstr, + kat1806_entropyinreseed, kat1806_addinreseed, kat1806_addin0, + kat1806_addin1, kat1806_retbits +}; +static const struct drbg_kat kat1806 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1806_t +}; + +static const unsigned char kat1807_entropyin[] = { + 0x1c, 0xd8, 0x9c, 0xfc, 0x55, 0x97, 0xe8, 0x09, 0xed, 0xf9, 0xe6, 0x8a, + 0x25, 0xf4, 0x41, 0x1c, 0x9d, 0xf3, 0xc3, 0xf5, 0x7d, 0x7d, 0x72, 0x18, +}; +static const unsigned char kat1807_nonce[] = { + 0x86, 0xdc, 0x6a, 0x43, 0x33, 0xfb, 0x03, 0xa8, 0x99, 0x93, 0xcf, 0x5d, + 0x36, 0x95, 0x78, 0xd6, +}; +static const unsigned char kat1807_persstr[] = {0}; +static const unsigned char kat1807_entropyinreseed[] = { + 0xb6, 0x5e, 0x35, 0xa5, 0x79, 0xbf, 0xc3, 0x70, 0x81, 0x93, 0x8d, 0x69, + 0x63, 0x27, 0xa9, 0x2f, 0x02, 0xa2, 0x8a, 0x1b, 0x60, 0x86, 0x55, 0x21, +}; +static const unsigned char kat1807_addinreseed[] = {0}; +static const unsigned char kat1807_addin0[] = {0}; +static const unsigned char kat1807_addin1[] = {0}; +static const unsigned char kat1807_retbits[] = { + 0x21, 0x05, 0x53, 0x79, 0x40, 0xb6, 0x4a, 0x57, 0x02, 0x1d, 0x43, 0x5a, + 0x1a, 0xcf, 0x03, 0x5c, 0xb3, 0x07, 0xd2, 0x41, 0x81, 0xc0, 0x9d, 0x6f, + 0xc6, 0x7a, 0x73, 0xd6, 0xe3, 0x6f, 0xba, 0x8a, 0x62, 0x87, 0x0e, 0x72, + 0x64, 0x43, 0x52, 0x44, 0x78, 0xa1, 0x8d, 0x79, 0x0c, 0xde, 0xba, 0xf1, + 0x23, 0xf5, 0xea, 0x88, 0x2d, 0x34, 0x70, 0xc8, 0xae, 0x3a, 0x1e, 0xb1, + 0xdf, 0xdb, 0x47, 0x34, +}; +static const struct drbg_kat_pr_false kat1807_t = { + 6, kat1807_entropyin, kat1807_nonce, kat1807_persstr, + kat1807_entropyinreseed, kat1807_addinreseed, kat1807_addin0, + kat1807_addin1, kat1807_retbits +}; +static const struct drbg_kat kat1807 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1807_t +}; + +static const unsigned char kat1808_entropyin[] = { + 0x1c, 0xc3, 0xe8, 0xf1, 0xc3, 0x37, 0x60, 0xc4, 0xa0, 0xfd, 0xda, 0x9d, + 0xa7, 0xda, 0xba, 0xec, 0xab, 0x10, 0xd5, 0x70, 0xc6, 0xdd, 0x64, 0x00, +}; +static const unsigned char kat1808_nonce[] = { + 0x1b, 0x73, 0xad, 0xb6, 0x67, 0x83, 0xbe, 0xe0, 0x24, 0x27, 0x2b, 0x69, + 0x5b, 0x0e, 0x19, 0xc3, +}; +static const unsigned char kat1808_persstr[] = {0}; +static const unsigned char kat1808_entropyinreseed[] = { + 0x3b, 0xc1, 0x48, 0xc4, 0x3b, 0x54, 0xcb, 0x12, 0x6a, 0x16, 0xe7, 0x5d, + 0xa5, 0x4f, 0x53, 0x89, 0x7e, 0xc0, 0xa2, 0x8a, 0xe5, 0x89, 0xac, 0x64, +}; +static const unsigned char kat1808_addinreseed[] = {0}; +static const unsigned char kat1808_addin0[] = {0}; +static const unsigned char kat1808_addin1[] = {0}; +static const unsigned char kat1808_retbits[] = { + 0x5e, 0xd9, 0xd6, 0x51, 0x92, 0x1f, 0x35, 0x11, 0x8a, 0x6f, 0xd8, 0xac, + 0x34, 0x84, 0xf9, 0xde, 0xee, 0x2d, 0x02, 0x5e, 0x0b, 0xa4, 0x80, 0x0e, + 0xfc, 0xf4, 0x8e, 0x5a, 0x8e, 0x63, 0x22, 0xfe, 0x4b, 0x49, 0x36, 0x18, + 0x01, 0xc7, 0x7e, 0x02, 0x68, 0xe1, 0xc5, 0xe5, 0x5b, 0xe5, 0x3c, 0x8f, + 0xb5, 0x66, 0x8c, 0x7a, 0x28, 0x96, 0x70, 0xcb, 0x26, 0xb5, 0xa8, 0x5b, + 0xc5, 0x33, 0x61, 0xf9, +}; +static const struct drbg_kat_pr_false kat1808_t = { + 7, kat1808_entropyin, kat1808_nonce, kat1808_persstr, + kat1808_entropyinreseed, kat1808_addinreseed, kat1808_addin0, + kat1808_addin1, kat1808_retbits +}; +static const struct drbg_kat kat1808 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1808_t +}; + +static const unsigned char kat1809_entropyin[] = { + 0x72, 0x19, 0x73, 0x9f, 0x3e, 0x1f, 0x8c, 0x23, 0x9c, 0xf0, 0x7d, 0xf8, + 0x99, 0xc8, 0x7c, 0x79, 0xcb, 0x4d, 0x59, 0xe7, 0xb9, 0xec, 0x8c, 0x64, +}; +static const unsigned char kat1809_nonce[] = { + 0x4f, 0xb9, 0x43, 0xb6, 0x2b, 0xb2, 0x37, 0x4e, 0xbe, 0xe5, 0x0b, 0x69, + 0x67, 0xa3, 0xac, 0x46, +}; +static const unsigned char kat1809_persstr[] = {0}; +static const unsigned char kat1809_entropyinreseed[] = { + 0x75, 0x57, 0xd7, 0xdd, 0xef, 0x0a, 0x0f, 0xa1, 0xd7, 0xb8, 0xee, 0x12, + 0x19, 0xf0, 0xa1, 0xbe, 0x84, 0xdd, 0x0c, 0xab, 0x71, 0xd8, 0x5b, 0x90, +}; +static const unsigned char kat1809_addinreseed[] = {0}; +static const unsigned char kat1809_addin0[] = {0}; +static const unsigned char kat1809_addin1[] = {0}; +static const unsigned char kat1809_retbits[] = { + 0x8b, 0x4a, 0xe1, 0xdf, 0x4e, 0x76, 0xbc, 0x75, 0x4d, 0xee, 0x8e, 0x64, + 0xa0, 0xae, 0x0d, 0x0c, 0xd6, 0x7a, 0x62, 0x8e, 0x60, 0x4f, 0x8e, 0x28, + 0x5b, 0xcf, 0x0e, 0x08, 0x1b, 0x6b, 0x3d, 0xc1, 0x1c, 0x4f, 0x43, 0xe8, + 0x5a, 0xaa, 0xea, 0x19, 0x35, 0x62, 0xe1, 0x35, 0xcf, 0x06, 0x1a, 0x71, + 0xfb, 0xfc, 0x46, 0x9b, 0x7f, 0x2c, 0x03, 0x83, 0x37, 0x48, 0xde, 0x32, + 0x85, 0xbf, 0x9c, 0x2c, +}; +static const struct drbg_kat_pr_false kat1809_t = { + 8, kat1809_entropyin, kat1809_nonce, kat1809_persstr, + kat1809_entropyinreseed, kat1809_addinreseed, kat1809_addin0, + kat1809_addin1, kat1809_retbits +}; +static const struct drbg_kat kat1809 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1809_t +}; + +static const unsigned char kat1810_entropyin[] = { + 0x62, 0x68, 0xc2, 0x43, 0xd1, 0xc9, 0x09, 0x4f, 0x63, 0xb1, 0xc4, 0x5f, + 0x4b, 0xb1, 0xc4, 0x4f, 0x43, 0xca, 0x28, 0x49, 0x54, 0x94, 0xfd, 0x46, +}; +static const unsigned char kat1810_nonce[] = { + 0x9f, 0xcd, 0xcb, 0x37, 0x2d, 0x37, 0x54, 0x41, 0x92, 0x5d, 0x7d, 0x27, + 0x5b, 0x58, 0x2d, 0x73, +}; +static const unsigned char kat1810_persstr[] = {0}; +static const unsigned char kat1810_entropyinreseed[] = { + 0xec, 0xf4, 0xa3, 0x16, 0x2a, 0xba, 0x12, 0x95, 0xa3, 0x35, 0xd5, 0xe0, + 0x02, 0x10, 0x9c, 0x95, 0xce, 0x20, 0x10, 0xdc, 0xbb, 0xd1, 0xf8, 0xa8, +}; +static const unsigned char kat1810_addinreseed[] = {0}; +static const unsigned char kat1810_addin0[] = {0}; +static const unsigned char kat1810_addin1[] = {0}; +static const unsigned char kat1810_retbits[] = { + 0x08, 0xa2, 0xaa, 0x60, 0x8f, 0x79, 0xb3, 0xf5, 0xee, 0x17, 0x13, 0xac, + 0xcd, 0xe3, 0x91, 0x49, 0xef, 0xb1, 0x50, 0x41, 0x02, 0x1f, 0xad, 0xc5, + 0xad, 0x2b, 0xe4, 0xca, 0x3b, 0x2a, 0xd8, 0x24, 0xb3, 0x27, 0x67, 0xc2, + 0xeb, 0x35, 0x85, 0x7b, 0xbf, 0x14, 0xce, 0x9f, 0xdb, 0xdc, 0x30, 0x1b, + 0xd6, 0xab, 0x51, 0xec, 0x16, 0xe3, 0x08, 0xd3, 0x5b, 0xa9, 0x41, 0x95, + 0xfa, 0x51, 0xee, 0x58, +}; +static const struct drbg_kat_pr_false kat1810_t = { + 9, kat1810_entropyin, kat1810_nonce, kat1810_persstr, + kat1810_entropyinreseed, kat1810_addinreseed, kat1810_addin0, + kat1810_addin1, kat1810_retbits +}; +static const struct drbg_kat kat1810 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1810_t +}; + +static const unsigned char kat1811_entropyin[] = { + 0xc9, 0x05, 0xf9, 0x60, 0x65, 0x4b, 0xc6, 0x31, 0x7c, 0xc5, 0xbd, 0x6b, + 0x32, 0xae, 0x79, 0x61, 0xb0, 0xfe, 0x5e, 0xeb, 0xb4, 0xe9, 0xe5, 0xcf, +}; +static const unsigned char kat1811_nonce[] = { + 0xc7, 0x2b, 0xaa, 0x07, 0xff, 0xa4, 0x5e, 0xb5, 0x66, 0x6b, 0xbb, 0x01, + 0x10, 0x9a, 0x4f, 0x5f, +}; +static const unsigned char kat1811_persstr[] = {0}; +static const unsigned char kat1811_entropyinreseed[] = { + 0xee, 0x91, 0xc5, 0x18, 0xf4, 0xda, 0x92, 0x8b, 0x36, 0xa5, 0x28, 0x9d, + 0x35, 0x0d, 0x41, 0x97, 0x02, 0x85, 0x7e, 0x24, 0x3e, 0x62, 0xa9, 0xb4, +}; +static const unsigned char kat1811_addinreseed[] = {0}; +static const unsigned char kat1811_addin0[] = {0}; +static const unsigned char kat1811_addin1[] = {0}; +static const unsigned char kat1811_retbits[] = { + 0x0d, 0x74, 0x2f, 0x74, 0xdc, 0x8f, 0x09, 0xc6, 0x1c, 0x36, 0x3a, 0x18, + 0x79, 0x48, 0x81, 0x1e, 0x9a, 0x50, 0x4a, 0xfc, 0xb1, 0x3d, 0x5e, 0x6f, + 0x18, 0xe9, 0xf1, 0x90, 0x5a, 0x05, 0xcc, 0x75, 0x40, 0x08, 0xac, 0x57, + 0xe2, 0xfc, 0xdd, 0x4c, 0x3b, 0xdc, 0x53, 0x68, 0x50, 0x83, 0x1e, 0x7d, + 0x1b, 0x2d, 0x49, 0x9d, 0x95, 0x72, 0x9e, 0xd5, 0x73, 0x73, 0xca, 0xf0, + 0xb4, 0x1a, 0x55, 0x9c, +}; +static const struct drbg_kat_pr_false kat1811_t = { + 10, kat1811_entropyin, kat1811_nonce, kat1811_persstr, + kat1811_entropyinreseed, kat1811_addinreseed, kat1811_addin0, + kat1811_addin1, kat1811_retbits +}; +static const struct drbg_kat kat1811 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1811_t +}; + +static const unsigned char kat1812_entropyin[] = { + 0x7f, 0x0a, 0xf1, 0x9f, 0x09, 0x47, 0xd3, 0xbc, 0xc2, 0x27, 0x0a, 0xd8, + 0x86, 0x42, 0x32, 0x75, 0x0e, 0x3a, 0x79, 0x07, 0x3e, 0x54, 0xaa, 0x5e, +}; +static const unsigned char kat1812_nonce[] = { + 0xd0, 0xfe, 0x40, 0x37, 0x45, 0x98, 0xd5, 0xad, 0x63, 0x46, 0x8a, 0xa0, + 0x6f, 0x92, 0xc5, 0x03, +}; +static const unsigned char kat1812_persstr[] = {0}; +static const unsigned char kat1812_entropyinreseed[] = { + 0x65, 0x8e, 0x55, 0x21, 0x5a, 0x90, 0x63, 0x34, 0xe6, 0xb8, 0x02, 0x6f, + 0x6f, 0xc3, 0x65, 0x75, 0x99, 0x50, 0x01, 0xc9, 0xdb, 0xb8, 0xf8, 0x90, +}; +static const unsigned char kat1812_addinreseed[] = {0}; +static const unsigned char kat1812_addin0[] = {0}; +static const unsigned char kat1812_addin1[] = {0}; +static const unsigned char kat1812_retbits[] = { + 0xa8, 0xdd, 0xbb, 0xef, 0x58, 0xdd, 0xeb, 0x3b, 0xdb, 0x92, 0x3b, 0x64, + 0xae, 0x8f, 0x43, 0xf0, 0xaa, 0x3f, 0xfe, 0xc3, 0x03, 0xc0, 0x4d, 0x0a, + 0xca, 0x8e, 0xcf, 0x0d, 0x45, 0x25, 0xfe, 0xd8, 0x42, 0x15, 0x5d, 0xfe, + 0x46, 0x38, 0xbb, 0x08, 0x92, 0x08, 0x7f, 0x8f, 0x7d, 0x28, 0xb1, 0x28, + 0x29, 0x6d, 0x62, 0xe9, 0x8a, 0x51, 0xf6, 0x49, 0x32, 0x46, 0x2a, 0xcb, + 0x6b, 0x84, 0x1a, 0x82, +}; +static const struct drbg_kat_pr_false kat1812_t = { + 11, kat1812_entropyin, kat1812_nonce, kat1812_persstr, + kat1812_entropyinreseed, kat1812_addinreseed, kat1812_addin0, + kat1812_addin1, kat1812_retbits +}; +static const struct drbg_kat kat1812 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1812_t +}; + +static const unsigned char kat1813_entropyin[] = { + 0x0b, 0x8a, 0x7f, 0x72, 0xc3, 0xdd, 0xc6, 0x37, 0x67, 0xd3, 0x36, 0x80, + 0x59, 0x85, 0x3b, 0x2c, 0xc3, 0xd8, 0x30, 0x95, 0x34, 0xd4, 0x4c, 0x31, +}; +static const unsigned char kat1813_nonce[] = { + 0xc5, 0x27, 0x9d, 0x25, 0x22, 0xcb, 0x77, 0x0a, 0x82, 0x07, 0xec, 0x2d, + 0x38, 0x4f, 0x7c, 0xcc, +}; +static const unsigned char kat1813_persstr[] = {0}; +static const unsigned char kat1813_entropyinreseed[] = { + 0xc1, 0x10, 0x44, 0x27, 0xc1, 0x97, 0xbf, 0xaf, 0x5d, 0x4a, 0x17, 0x69, + 0xfd, 0xa0, 0x12, 0xea, 0xa2, 0xf5, 0x4e, 0x94, 0x17, 0x7a, 0x5a, 0xd5, +}; +static const unsigned char kat1813_addinreseed[] = {0}; +static const unsigned char kat1813_addin0[] = {0}; +static const unsigned char kat1813_addin1[] = {0}; +static const unsigned char kat1813_retbits[] = { + 0x56, 0x7d, 0x3c, 0x40, 0x6e, 0x82, 0x7e, 0x5c, 0x0f, 0x43, 0x8a, 0x30, + 0x41, 0x76, 0x59, 0xd2, 0x27, 0xf3, 0xad, 0x10, 0x20, 0xa5, 0xcc, 0xfd, + 0xaa, 0x3e, 0x64, 0xcc, 0x9f, 0xcf, 0x6b, 0x0e, 0xed, 0xf8, 0x3b, 0x9f, + 0x1f, 0xbc, 0x52, 0x51, 0x40, 0xbc, 0x60, 0x43, 0x4c, 0x0c, 0x02, 0xa3, + 0xce, 0x54, 0x82, 0xf1, 0xaf, 0xf8, 0x5f, 0x30, 0xc6, 0xf9, 0x8d, 0xea, + 0x4a, 0x22, 0xed, 0xf4, +}; +static const struct drbg_kat_pr_false kat1813_t = { + 12, kat1813_entropyin, kat1813_nonce, kat1813_persstr, + kat1813_entropyinreseed, kat1813_addinreseed, kat1813_addin0, + kat1813_addin1, kat1813_retbits +}; +static const struct drbg_kat kat1813 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1813_t +}; + +static const unsigned char kat1814_entropyin[] = { + 0x00, 0x97, 0xb5, 0x44, 0x37, 0x40, 0x41, 0xcf, 0xb4, 0x57, 0x27, 0xbf, + 0xca, 0x76, 0x9c, 0x75, 0x86, 0xca, 0xe5, 0x2c, 0x8b, 0x94, 0x5c, 0x18, +}; +static const unsigned char kat1814_nonce[] = { + 0x0e, 0x90, 0x59, 0xb8, 0x65, 0x50, 0x56, 0xf9, 0xc8, 0x24, 0x18, 0x0f, + 0xe1, 0x07, 0xab, 0x55, +}; +static const unsigned char kat1814_persstr[] = {0}; +static const unsigned char kat1814_entropyinreseed[] = { + 0x03, 0xdd, 0xb3, 0xe6, 0xf2, 0x73, 0x42, 0x53, 0x8d, 0x21, 0x0b, 0x02, + 0xce, 0x2b, 0xbd, 0x42, 0x0a, 0x52, 0xd3, 0x14, 0x2a, 0x69, 0xb0, 0xca, +}; +static const unsigned char kat1814_addinreseed[] = {0}; +static const unsigned char kat1814_addin0[] = {0}; +static const unsigned char kat1814_addin1[] = {0}; +static const unsigned char kat1814_retbits[] = { + 0x7a, 0xab, 0x29, 0xb7, 0xc4, 0x0c, 0x29, 0xc4, 0xfc, 0x71, 0x56, 0x6b, + 0x3f, 0x9f, 0x6e, 0xbc, 0x37, 0xea, 0x8c, 0xd9, 0x26, 0x6d, 0x0c, 0x8b, + 0x4d, 0x50, 0xd8, 0x1b, 0x07, 0x95, 0x9c, 0x22, 0x8e, 0x0d, 0x96, 0x76, + 0x1a, 0xaa, 0x91, 0x65, 0x68, 0xec, 0xfe, 0xbe, 0x6c, 0x7a, 0xf3, 0xe9, + 0xc0, 0x2c, 0x55, 0x64, 0x00, 0x4f, 0x22, 0x5d, 0xa9, 0x18, 0x11, 0xc5, + 0xb7, 0x61, 0x41, 0x9e, +}; +static const struct drbg_kat_pr_false kat1814_t = { + 13, kat1814_entropyin, kat1814_nonce, kat1814_persstr, + kat1814_entropyinreseed, kat1814_addinreseed, kat1814_addin0, + kat1814_addin1, kat1814_retbits +}; +static const struct drbg_kat kat1814 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1814_t +}; + +static const unsigned char kat1815_entropyin[] = { + 0x02, 0xe1, 0x03, 0xc5, 0xdc, 0xb5, 0x5e, 0x06, 0x5e, 0x50, 0xf7, 0xf2, + 0x66, 0x02, 0x83, 0xb0, 0xe3, 0x08, 0x72, 0x43, 0x3c, 0xd3, 0x66, 0x20, +}; +static const unsigned char kat1815_nonce[] = { + 0xb2, 0xf2, 0x1f, 0x7a, 0x10, 0x11, 0x95, 0xd4, 0xa2, 0xe7, 0xdd, 0x73, + 0x53, 0x77, 0x3a, 0xe2, +}; +static const unsigned char kat1815_persstr[] = {0}; +static const unsigned char kat1815_entropyinreseed[] = { + 0x95, 0xe4, 0xc2, 0xf9, 0x76, 0x93, 0x1c, 0xb5, 0x03, 0x6f, 0xae, 0x1d, + 0x4d, 0x58, 0x38, 0x47, 0x44, 0xc4, 0xba, 0x30, 0x06, 0xfa, 0xb3, 0x66, +}; +static const unsigned char kat1815_addinreseed[] = {0}; +static const unsigned char kat1815_addin0[] = {0}; +static const unsigned char kat1815_addin1[] = {0}; +static const unsigned char kat1815_retbits[] = { + 0xf0, 0x49, 0x55, 0xbf, 0x05, 0x2c, 0xd1, 0x88, 0x99, 0xa4, 0x48, 0xa2, + 0x50, 0x79, 0xbc, 0x03, 0xe3, 0x61, 0x9c, 0x44, 0x44, 0x8f, 0xc5, 0x5b, + 0x6e, 0x6f, 0x04, 0xc9, 0x87, 0x24, 0x80, 0x37, 0x81, 0x30, 0xd8, 0xd2, + 0xae, 0x35, 0x3e, 0xf2, 0x55, 0xb4, 0xa9, 0xf5, 0x36, 0xc9, 0x62, 0xe2, + 0xda, 0x01, 0xfa, 0x44, 0xb7, 0xd9, 0xd3, 0x4c, 0x3f, 0xaf, 0x14, 0xb7, + 0x25, 0x7a, 0x62, 0xeb, +}; +static const struct drbg_kat_pr_false kat1815_t = { + 14, kat1815_entropyin, kat1815_nonce, kat1815_persstr, + kat1815_entropyinreseed, kat1815_addinreseed, kat1815_addin0, + kat1815_addin1, kat1815_retbits +}; +static const struct drbg_kat kat1815 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1815_t +}; + +static const unsigned char kat1816_entropyin[] = { + 0xf0, 0xe2, 0x17, 0x21, 0x4a, 0x4b, 0x7f, 0x85, 0x85, 0xd5, 0x24, 0x42, + 0x63, 0x85, 0x9e, 0x64, 0x5c, 0xe0, 0x1e, 0x76, 0xeb, 0x7c, 0x55, 0x53, +}; +static const unsigned char kat1816_nonce[] = { + 0xd1, 0xd4, 0xdb, 0xb0, 0xcb, 0xa2, 0xf0, 0xb0, 0x39, 0x6c, 0x41, 0x38, + 0xe4, 0x32, 0x1e, 0x61, +}; +static const unsigned char kat1816_persstr[] = {0}; +static const unsigned char kat1816_entropyinreseed[] = { + 0xe3, 0xc7, 0x49, 0x3d, 0xde, 0xf2, 0x5d, 0x62, 0x81, 0x8c, 0x85, 0x61, + 0x9c, 0x3b, 0x38, 0x3c, 0x5b, 0x7e, 0x96, 0x8f, 0xb6, 0x04, 0x3c, 0xb1, +}; +static const unsigned char kat1816_addinreseed[] = { + 0xa9, 0x74, 0x63, 0xfb, 0x30, 0x37, 0xce, 0xee, 0x5e, 0xd2, 0x2f, 0xda, + 0x8f, 0x59, 0xc3, 0x70, 0x73, 0x90, 0x89, 0xe8, 0x9f, 0xdd, 0xc2, 0x4e, + 0x79, 0xf0, 0x38, 0x22, 0x03, 0x2e, 0x19, 0x93, +}; +static const unsigned char kat1816_addin0[] = { + 0xfc, 0x62, 0xd7, 0xcd, 0x9a, 0xc1, 0x39, 0x77, 0x18, 0x11, 0x20, 0xcd, + 0xe5, 0x7c, 0x93, 0xa6, 0x83, 0x92, 0x28, 0x43, 0xc3, 0x09, 0x34, 0x3c, + 0x9a, 0xa8, 0xc6, 0x76, 0x17, 0x10, 0xb4, 0x11, +}; +static const unsigned char kat1816_addin1[] = { + 0xf6, 0xb9, 0xb0, 0x17, 0x24, 0xda, 0xea, 0x70, 0xf2, 0xce, 0xd2, 0x4b, + 0xed, 0x57, 0x2f, 0x61, 0x10, 0x08, 0xeb, 0x9e, 0x0c, 0x21, 0xd9, 0x02, + 0x86, 0x97, 0x17, 0x13, 0x82, 0x1c, 0x75, 0xe6, +}; +static const unsigned char kat1816_retbits[] = { + 0x95, 0x97, 0xe6, 0x9f, 0x09, 0xd5, 0x77, 0x85, 0xbf, 0x83, 0xb5, 0xdb, + 0x3d, 0x04, 0x2e, 0xa7, 0x67, 0x60, 0x42, 0x44, 0x19, 0x0a, 0x65, 0x76, + 0x5d, 0xea, 0x89, 0x83, 0x41, 0x5f, 0xe8, 0x84, 0x20, 0x46, 0xb9, 0xab, + 0x90, 0x00, 0x8e, 0xc6, 0x8a, 0x3e, 0x4c, 0x8b, 0xd3, 0xc7, 0xa4, 0xcc, + 0xbf, 0x7d, 0xc6, 0x88, 0xec, 0xf0, 0xd1, 0x2e, 0x53, 0x76, 0x0d, 0xcc, + 0x9d, 0xf2, 0x66, 0x4b, +}; +static const struct drbg_kat_pr_false kat1816_t = { + 0, kat1816_entropyin, kat1816_nonce, kat1816_persstr, + kat1816_entropyinreseed, kat1816_addinreseed, kat1816_addin0, + kat1816_addin1, kat1816_retbits +}; +static const struct drbg_kat kat1816 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1816_t +}; + +static const unsigned char kat1817_entropyin[] = { + 0xb1, 0x5a, 0x2a, 0xc5, 0x4b, 0x2b, 0x7c, 0x03, 0x71, 0xaf, 0x00, 0xca, + 0xfc, 0x27, 0xd8, 0xe1, 0x50, 0x1d, 0xba, 0x2f, 0xe8, 0xa2, 0x6f, 0x40, +}; +static const unsigned char kat1817_nonce[] = { + 0x1e, 0xee, 0x88, 0x1d, 0xe4, 0x37, 0xcb, 0xcf, 0x27, 0x73, 0x8d, 0x7c, + 0x16, 0x7d, 0x12, 0x3d, +}; +static const unsigned char kat1817_persstr[] = {0}; +static const unsigned char kat1817_entropyinreseed[] = { + 0xb4, 0x7e, 0x42, 0x99, 0x52, 0x6b, 0x93, 0xf0, 0x5f, 0x32, 0x14, 0x32, + 0xbe, 0x03, 0x45, 0x99, 0xfc, 0xbc, 0x12, 0xd4, 0x65, 0x4a, 0x97, 0xb8, +}; +static const unsigned char kat1817_addinreseed[] = { + 0x36, 0x56, 0x34, 0x71, 0x15, 0x76, 0xc7, 0xc8, 0x70, 0x7b, 0x26, 0xa3, + 0x67, 0x5d, 0x84, 0xdb, 0x8d, 0x79, 0xa9, 0xfd, 0xa6, 0x99, 0x5d, 0xa2, + 0x0d, 0xfa, 0x1a, 0xfa, 0xe0, 0xcf, 0xe4, 0xc0, +}; +static const unsigned char kat1817_addin0[] = { + 0xd4, 0xe6, 0x45, 0xe2, 0xaa, 0xad, 0xbc, 0xbf, 0x97, 0x2f, 0x55, 0x22, + 0x88, 0xa3, 0x6b, 0xe9, 0xda, 0xed, 0x48, 0x83, 0x37, 0x95, 0xe8, 0x2b, + 0x8d, 0xbe, 0xc4, 0x5a, 0x84, 0x68, 0x1d, 0x7a, +}; +static const unsigned char kat1817_addin1[] = { + 0xd6, 0xca, 0x41, 0x4b, 0x27, 0x90, 0x59, 0x33, 0x23, 0xe1, 0xb1, 0xf1, + 0x75, 0xc6, 0x0e, 0xf2, 0x14, 0xfe, 0x6b, 0x04, 0x5c, 0x9c, 0x05, 0x9c, + 0x99, 0xa4, 0xf7, 0x1b, 0xcb, 0x6f, 0xc3, 0x31, +}; +static const unsigned char kat1817_retbits[] = { + 0xac, 0xbb, 0xb4, 0x82, 0x28, 0xc9, 0xfa, 0xc4, 0xab, 0x99, 0x46, 0xec, + 0xb7, 0x7f, 0x83, 0x0c, 0x0c, 0x38, 0xda, 0xfe, 0x95, 0xba, 0x64, 0xa2, + 0x37, 0xd7, 0x86, 0xbd, 0x14, 0x46, 0x35, 0xc8, 0x1f, 0x52, 0x07, 0xc0, + 0xa5, 0xb2, 0x0d, 0x56, 0xb5, 0x59, 0xae, 0xfe, 0x53, 0xa4, 0xbf, 0xb8, + 0xb2, 0x30, 0x83, 0xe7, 0xfa, 0x4f, 0x5b, 0xb1, 0xdd, 0xb5, 0x09, 0x77, + 0x55, 0xb5, 0x99, 0xed, +}; +static const struct drbg_kat_pr_false kat1817_t = { + 1, kat1817_entropyin, kat1817_nonce, kat1817_persstr, + kat1817_entropyinreseed, kat1817_addinreseed, kat1817_addin0, + kat1817_addin1, kat1817_retbits +}; +static const struct drbg_kat kat1817 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1817_t +}; + +static const unsigned char kat1818_entropyin[] = { + 0x8e, 0xf4, 0x56, 0x81, 0x2c, 0x1d, 0xd6, 0x64, 0xf5, 0xd6, 0xe6, 0x8d, + 0x33, 0x34, 0x16, 0x28, 0x3d, 0x07, 0xfa, 0x72, 0x6f, 0xb7, 0xaa, 0x11, +}; +static const unsigned char kat1818_nonce[] = { + 0x41, 0xa4, 0xe4, 0x9b, 0x52, 0x97, 0x21, 0x6e, 0xde, 0x17, 0x28, 0x3a, + 0xb1, 0x58, 0xf6, 0xfb, +}; +static const unsigned char kat1818_persstr[] = {0}; +static const unsigned char kat1818_entropyinreseed[] = { + 0x59, 0x5e, 0x6e, 0xa0, 0x66, 0x72, 0xaa, 0xbf, 0xf8, 0x98, 0x67, 0xc2, + 0x66, 0xe1, 0x38, 0x84, 0x0e, 0xad, 0x1f, 0x8a, 0x3e, 0xae, 0x74, 0xb9, +}; +static const unsigned char kat1818_addinreseed[] = { + 0xd0, 0xef, 0xd9, 0xf7, 0x5f, 0x21, 0xd2, 0xa3, 0xf4, 0xe9, 0x3f, 0x5e, + 0xfe, 0x4f, 0x28, 0x5b, 0x6e, 0x33, 0x45, 0x6b, 0x37, 0x81, 0xf0, 0x80, + 0x95, 0xf8, 0x85, 0x5f, 0x1a, 0x43, 0xa4, 0x6a, +}; +static const unsigned char kat1818_addin0[] = { + 0x44, 0x0c, 0xb6, 0x8e, 0x0c, 0x9d, 0x6d, 0xb8, 0xb9, 0x1e, 0x8a, 0x3e, + 0x32, 0xe4, 0xb4, 0x7d, 0xd1, 0xbd, 0xea, 0xe2, 0x40, 0xfa, 0x6c, 0x18, + 0x12, 0xac, 0xb5, 0x81, 0x4e, 0x24, 0x68, 0xb4, +}; +static const unsigned char kat1818_addin1[] = { + 0x5b, 0x27, 0x88, 0x1c, 0x73, 0x5e, 0xa7, 0x32, 0x2d, 0xb0, 0x39, 0x75, + 0x05, 0x4b, 0x95, 0x5a, 0x2e, 0x99, 0x5c, 0xc0, 0xd3, 0xea, 0x3a, 0x98, + 0x2a, 0x03, 0xb8, 0xf8, 0x4f, 0x6b, 0x97, 0x67, +}; +static const unsigned char kat1818_retbits[] = { + 0x77, 0xf9, 0x03, 0xa4, 0x0b, 0xee, 0xf1, 0xf9, 0x2a, 0xbe, 0xbb, 0x58, + 0xf5, 0xe1, 0xfb, 0x50, 0x82, 0x39, 0x10, 0x3a, 0xa8, 0x63, 0xe0, 0x30, + 0x05, 0x91, 0xe5, 0xc5, 0x8a, 0x96, 0x80, 0xb5, 0x7e, 0x46, 0x68, 0x15, + 0x0d, 0x55, 0x3d, 0x39, 0x0b, 0xe0, 0x59, 0xa2, 0xc6, 0xdb, 0xc9, 0xf7, + 0xe2, 0x54, 0x42, 0xc6, 0xab, 0xd1, 0x17, 0x68, 0xb1, 0x17, 0x8d, 0xf9, + 0x93, 0x4e, 0xf6, 0xd9, +}; +static const struct drbg_kat_pr_false kat1818_t = { + 2, kat1818_entropyin, kat1818_nonce, kat1818_persstr, + kat1818_entropyinreseed, kat1818_addinreseed, kat1818_addin0, + kat1818_addin1, kat1818_retbits +}; +static const struct drbg_kat kat1818 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1818_t +}; + +static const unsigned char kat1819_entropyin[] = { + 0xc9, 0x56, 0x81, 0x42, 0x40, 0x4f, 0x28, 0xa2, 0xb2, 0xff, 0xe1, 0x83, + 0xde, 0xce, 0xe1, 0xbe, 0xd5, 0x66, 0x78, 0x5a, 0xed, 0x71, 0x42, 0x0e, +}; +static const unsigned char kat1819_nonce[] = { + 0x14, 0xef, 0x70, 0x09, 0x33, 0x27, 0x88, 0x41, 0x17, 0xc0, 0x18, 0x3a, + 0x4b, 0xd5, 0x45, 0x58, +}; +static const unsigned char kat1819_persstr[] = {0}; +static const unsigned char kat1819_entropyinreseed[] = { + 0x67, 0x3a, 0x9f, 0x7a, 0x68, 0xee, 0x42, 0x01, 0xc2, 0xc4, 0xe4, 0x50, + 0x7b, 0x23, 0xc5, 0x03, 0x63, 0xad, 0xe2, 0xc0, 0x37, 0x06, 0x3c, 0x40, +}; +static const unsigned char kat1819_addinreseed[] = { + 0xf3, 0x41, 0xc1, 0xc5, 0x5a, 0x40, 0x47, 0x1c, 0xf2, 0x52, 0x39, 0x6f, + 0xc6, 0x5a, 0x90, 0xaf, 0xa6, 0x64, 0xd9, 0x93, 0xee, 0xc4, 0xc0, 0x3b, + 0x4e, 0x54, 0xbc, 0x0b, 0x12, 0xfe, 0x00, 0xf5, +}; +static const unsigned char kat1819_addin0[] = { + 0xea, 0x20, 0x91, 0x40, 0xd9, 0x30, 0x08, 0x32, 0x42, 0xfe, 0x4a, 0x2f, + 0x7c, 0xba, 0xcc, 0x0a, 0x73, 0xeb, 0xdd, 0x5e, 0x73, 0x77, 0x1b, 0x9d, + 0x9e, 0x1b, 0xcc, 0xf7, 0xa3, 0x09, 0x23, 0xf1, +}; +static const unsigned char kat1819_addin1[] = { + 0x05, 0xea, 0xcd, 0x56, 0x0d, 0x53, 0x7f, 0x91, 0x0e, 0xa2, 0xd9, 0xc7, + 0x7f, 0x16, 0x9e, 0xfe, 0x75, 0xa0, 0x6c, 0x06, 0xe4, 0x35, 0xdc, 0x3c, + 0xd9, 0xc6, 0x4d, 0x50, 0xee, 0xda, 0xa9, 0xdd, +}; +static const unsigned char kat1819_retbits[] = { + 0x6b, 0x40, 0xab, 0x76, 0xf1, 0x0b, 0x30, 0x38, 0x3b, 0x2c, 0x98, 0x39, + 0x4f, 0x26, 0x95, 0xba, 0x4d, 0x2e, 0xcf, 0x96, 0x14, 0x81, 0x12, 0xca, + 0x5e, 0x3a, 0x2b, 0x2e, 0x00, 0xc6, 0xb0, 0xcd, 0x05, 0x1a, 0x44, 0x7f, + 0xe1, 0x9d, 0x32, 0xb4, 0x8e, 0x2e, 0x1a, 0x89, 0xb8, 0x6b, 0x48, 0xd5, + 0x2f, 0x05, 0xbd, 0x26, 0xd2, 0x8c, 0x24, 0x26, 0xb0, 0xe5, 0x7a, 0x76, + 0x1d, 0xa8, 0x31, 0xe6, +}; +static const struct drbg_kat_pr_false kat1819_t = { + 3, kat1819_entropyin, kat1819_nonce, kat1819_persstr, + kat1819_entropyinreseed, kat1819_addinreseed, kat1819_addin0, + kat1819_addin1, kat1819_retbits +}; +static const struct drbg_kat kat1819 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1819_t +}; + +static const unsigned char kat1820_entropyin[] = { + 0x5b, 0x3e, 0x48, 0x45, 0x6c, 0xad, 0x2b, 0xf7, 0x88, 0x2f, 0xf6, 0x9b, + 0xdc, 0x2c, 0x3b, 0x38, 0xe2, 0xa9, 0x85, 0x8f, 0xcc, 0x37, 0x58, 0x77, +}; +static const unsigned char kat1820_nonce[] = { + 0x12, 0x4e, 0xf0, 0xaf, 0xb6, 0x6b, 0x6e, 0x41, 0x97, 0xad, 0x87, 0x14, + 0x80, 0x89, 0x80, 0xf0, +}; +static const unsigned char kat1820_persstr[] = {0}; +static const unsigned char kat1820_entropyinreseed[] = { + 0x55, 0xb8, 0x52, 0xc8, 0xee, 0xf9, 0xfa, 0xb4, 0xf0, 0xb2, 0xdb, 0xf2, + 0x3a, 0xe7, 0x2a, 0x7c, 0x24, 0xc9, 0x7a, 0xc7, 0x6f, 0x80, 0x2f, 0xc6, +}; +static const unsigned char kat1820_addinreseed[] = { + 0xf7, 0x0a, 0xef, 0x2e, 0x5b, 0x2a, 0x95, 0xfa, 0x78, 0xd5, 0xa4, 0xf5, + 0x45, 0xc3, 0x41, 0xb5, 0x48, 0x32, 0xc9, 0xd9, 0xc9, 0x1a, 0xbf, 0x33, + 0xf9, 0x46, 0xea, 0xb8, 0x64, 0x9e, 0x2a, 0xc3, +}; +static const unsigned char kat1820_addin0[] = { + 0x78, 0x25, 0x2e, 0xac, 0xb9, 0x81, 0x5e, 0x93, 0x30, 0x51, 0xf5, 0x25, + 0x1c, 0x07, 0x39, 0xb8, 0x59, 0x73, 0x92, 0x4b, 0x17, 0x34, 0x18, 0x8a, + 0x9a, 0x59, 0xcd, 0xd4, 0x8a, 0x7b, 0x7d, 0x8a, +}; +static const unsigned char kat1820_addin1[] = { + 0x8e, 0x39, 0x1f, 0x33, 0xd6, 0xbb, 0xca, 0x15, 0x42, 0x88, 0xc6, 0x9c, + 0x95, 0xd8, 0xa5, 0x5a, 0x18, 0xa4, 0xe0, 0x0d, 0x77, 0x3c, 0x88, 0xf5, + 0x04, 0x4c, 0x18, 0x4d, 0x7e, 0x16, 0x0b, 0xcf, +}; +static const unsigned char kat1820_retbits[] = { + 0x59, 0x20, 0x77, 0xa6, 0xbd, 0xeb, 0x53, 0x9a, 0x7f, 0xf9, 0x68, 0x1e, + 0xb8, 0x60, 0xb8, 0xa3, 0x9c, 0x53, 0xd5, 0xa4, 0x12, 0x04, 0xa8, 0xe0, + 0x1a, 0x5a, 0x8a, 0xc3, 0x1a, 0x40, 0x88, 0xef, 0xeb, 0x15, 0xa1, 0x65, + 0xa5, 0xd9, 0xbe, 0x5b, 0xb0, 0x1a, 0x0a, 0xb8, 0x3d, 0x5d, 0x46, 0xd3, + 0x98, 0x71, 0x37, 0xa6, 0x3b, 0xda, 0x38, 0x21, 0x14, 0xbf, 0xd1, 0x50, + 0x2e, 0xeb, 0x25, 0xab, +}; +static const struct drbg_kat_pr_false kat1820_t = { + 4, kat1820_entropyin, kat1820_nonce, kat1820_persstr, + kat1820_entropyinreseed, kat1820_addinreseed, kat1820_addin0, + kat1820_addin1, kat1820_retbits +}; +static const struct drbg_kat kat1820 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1820_t +}; + +static const unsigned char kat1821_entropyin[] = { + 0x12, 0x55, 0x64, 0x2a, 0x14, 0xc2, 0x22, 0xa9, 0x08, 0xc7, 0xd6, 0x67, + 0x2f, 0x8c, 0xb6, 0x04, 0x58, 0x70, 0x23, 0x1b, 0xe7, 0xdd, 0x6c, 0xf3, +}; +static const unsigned char kat1821_nonce[] = { + 0x32, 0x70, 0x7c, 0x7d, 0xc9, 0xd0, 0xf8, 0x17, 0x54, 0xdd, 0xfb, 0xb3, + 0x97, 0x0f, 0x5b, 0x9f, +}; +static const unsigned char kat1821_persstr[] = {0}; +static const unsigned char kat1821_entropyinreseed[] = { + 0x08, 0xc8, 0x68, 0x2a, 0xdb, 0x94, 0x8a, 0xb0, 0xb7, 0x3b, 0x3e, 0x7f, + 0x1a, 0xeb, 0x72, 0xaf, 0xb7, 0x7c, 0x59, 0x4a, 0xc4, 0xe0, 0x3a, 0x17, +}; +static const unsigned char kat1821_addinreseed[] = { + 0xd0, 0x9e, 0xa0, 0x3b, 0x81, 0xca, 0x3f, 0x39, 0x37, 0x48, 0xb1, 0xb0, + 0x86, 0x38, 0x09, 0x70, 0xda, 0xfd, 0x79, 0xa3, 0x64, 0x49, 0xc2, 0x26, + 0xf7, 0xd9, 0x7d, 0x88, 0x31, 0xf5, 0x6b, 0x96, +}; +static const unsigned char kat1821_addin0[] = { + 0xcb, 0x08, 0x5f, 0x55, 0xa5, 0xe5, 0x74, 0x6c, 0xa1, 0x24, 0x1f, 0xab, + 0x16, 0xb5, 0x45, 0xc5, 0x37, 0xb8, 0xf5, 0xe0, 0xfe, 0x8d, 0xb7, 0x43, + 0x2e, 0x10, 0x83, 0xda, 0x07, 0x07, 0xe1, 0x43, +}; +static const unsigned char kat1821_addin1[] = { + 0x83, 0xce, 0x1c, 0xd0, 0xbf, 0xa5, 0x38, 0x4e, 0xe8, 0x74, 0x72, 0xfd, + 0x88, 0xfe, 0x87, 0xbf, 0xe1, 0xcf, 0xd2, 0x0f, 0x69, 0x5e, 0x0d, 0xac, + 0x03, 0x5a, 0xf8, 0x47, 0x75, 0xf9, 0xfc, 0xc6, +}; +static const unsigned char kat1821_retbits[] = { + 0x81, 0x01, 0xd9, 0x8b, 0x42, 0xaf, 0x97, 0x3c, 0xee, 0xe8, 0x1f, 0x8e, + 0xf3, 0x6a, 0xf9, 0xaa, 0x41, 0xd7, 0xaa, 0x93, 0xa9, 0xfd, 0x0e, 0x3c, + 0x91, 0xcb, 0x9a, 0x8e, 0x6b, 0xaa, 0xe5, 0xd0, 0x73, 0x59, 0x6e, 0x1b, + 0xe2, 0xb9, 0x2b, 0xd3, 0x02, 0xf2, 0x50, 0x1a, 0xed, 0x36, 0xaf, 0x2e, + 0x4b, 0x2e, 0xf4, 0x6c, 0xe2, 0x2a, 0x16, 0xcf, 0x88, 0x94, 0x04, 0x5d, + 0x89, 0x2f, 0x6f, 0x1d, +}; +static const struct drbg_kat_pr_false kat1821_t = { + 5, kat1821_entropyin, kat1821_nonce, kat1821_persstr, + kat1821_entropyinreseed, kat1821_addinreseed, kat1821_addin0, + kat1821_addin1, kat1821_retbits +}; +static const struct drbg_kat kat1821 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1821_t +}; + +static const unsigned char kat1822_entropyin[] = { + 0xfb, 0xc5, 0x79, 0x34, 0x78, 0xaf, 0xe0, 0x52, 0x2e, 0x2f, 0x90, 0x87, + 0x9b, 0xa8, 0xcd, 0x0c, 0x2b, 0x2f, 0x2d, 0x4e, 0xfa, 0x4e, 0x94, 0x74, +}; +static const unsigned char kat1822_nonce[] = { + 0x6c, 0xc1, 0xcc, 0x67, 0x32, 0x5b, 0x90, 0x0d, 0x06, 0x24, 0xe2, 0x79, + 0x3e, 0xc3, 0x5e, 0x96, +}; +static const unsigned char kat1822_persstr[] = {0}; +static const unsigned char kat1822_entropyinreseed[] = { + 0x50, 0x8e, 0x1a, 0xb7, 0x55, 0xb0, 0x26, 0xfa, 0xab, 0xe7, 0x3d, 0x35, + 0x45, 0x07, 0xb3, 0x49, 0x5a, 0x1d, 0x6d, 0xe1, 0xbb, 0xf4, 0x99, 0x11, +}; +static const unsigned char kat1822_addinreseed[] = { + 0xcb, 0xd2, 0xf6, 0x1a, 0x84, 0xc5, 0xf0, 0x85, 0xee, 0x5b, 0xf3, 0x4e, + 0x1f, 0xf7, 0x51, 0xbc, 0xf3, 0x3a, 0x04, 0x78, 0x38, 0x99, 0x8e, 0x0e, + 0xb0, 0x4a, 0xf0, 0xff, 0x30, 0x28, 0x5c, 0x45, +}; +static const unsigned char kat1822_addin0[] = { + 0x4c, 0xae, 0x13, 0x1d, 0x3e, 0x36, 0x61, 0x85, 0xb8, 0xb1, 0xe4, 0xca, + 0xa3, 0x4f, 0xaf, 0x28, 0xe3, 0x59, 0xf4, 0x6e, 0xd4, 0xf3, 0x6b, 0xd9, + 0x07, 0x2a, 0xa5, 0xbe, 0x93, 0x6b, 0xc4, 0xa1, +}; +static const unsigned char kat1822_addin1[] = { + 0x43, 0x7f, 0x31, 0xf2, 0xa4, 0xb3, 0xf5, 0x46, 0x46, 0x9d, 0xf7, 0x26, + 0x0a, 0x3e, 0x5f, 0x05, 0x12, 0x95, 0x16, 0xa8, 0x4a, 0xf7, 0x58, 0xe7, + 0x59, 0xe4, 0x48, 0x31, 0xed, 0x13, 0x2e, 0x36, +}; +static const unsigned char kat1822_retbits[] = { + 0x65, 0x6d, 0xa5, 0x12, 0x32, 0x3f, 0xa8, 0x26, 0x17, 0x08, 0xcf, 0xc9, + 0x71, 0xcf, 0x7c, 0xf7, 0xaf, 0xa8, 0xcb, 0x41, 0x9f, 0xfa, 0x31, 0x07, + 0x69, 0x67, 0xc5, 0xe6, 0x62, 0x9a, 0x24, 0x90, 0x29, 0x7a, 0xee, 0xbb, + 0x58, 0x2a, 0x05, 0xb2, 0xb6, 0x67, 0x8a, 0x82, 0xd8, 0xa4, 0x1f, 0x24, + 0x67, 0x2d, 0x35, 0xdb, 0x2e, 0xca, 0xc4, 0x86, 0x6d, 0x78, 0x11, 0x8a, + 0x24, 0x21, 0x28, 0x3b, +}; +static const struct drbg_kat_pr_false kat1822_t = { + 6, kat1822_entropyin, kat1822_nonce, kat1822_persstr, + kat1822_entropyinreseed, kat1822_addinreseed, kat1822_addin0, + kat1822_addin1, kat1822_retbits +}; +static const struct drbg_kat kat1822 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1822_t +}; + +static const unsigned char kat1823_entropyin[] = { + 0xee, 0x37, 0x9f, 0x3c, 0xc9, 0x90, 0x84, 0x29, 0x44, 0x6b, 0xf2, 0x2b, + 0x7c, 0xe1, 0xb5, 0xb9, 0x46, 0xeb, 0x2b, 0x16, 0xdc, 0xe5, 0x09, 0xd8, +}; +static const unsigned char kat1823_nonce[] = { + 0xc3, 0x96, 0xd8, 0x3d, 0x90, 0xb4, 0x2a, 0x67, 0xe4, 0xff, 0xea, 0x01, + 0x1c, 0x37, 0x9d, 0x26, +}; +static const unsigned char kat1823_persstr[] = {0}; +static const unsigned char kat1823_entropyinreseed[] = { + 0x52, 0x4c, 0x96, 0x98, 0x9f, 0xf4, 0x30, 0xb1, 0x42, 0x41, 0xec, 0xbf, + 0x5d, 0x23, 0x7b, 0xb0, 0xd9, 0xc5, 0x61, 0x07, 0x6e, 0xeb, 0xa4, 0x21, +}; +static const unsigned char kat1823_addinreseed[] = { + 0x4d, 0x0e, 0xb1, 0x8c, 0xbc, 0xc7, 0x88, 0x3a, 0x07, 0xb9, 0x99, 0x97, + 0xad, 0xca, 0xa5, 0xc1, 0x32, 0x0a, 0x24, 0x05, 0x0b, 0x44, 0x07, 0xd7, + 0x55, 0x0c, 0x9c, 0xe6, 0xbb, 0xbf, 0xbf, 0x56, +}; +static const unsigned char kat1823_addin0[] = { + 0xc9, 0xe8, 0x5f, 0x42, 0xd7, 0x2b, 0x2f, 0x34, 0x8e, 0x72, 0x3f, 0xf2, + 0x67, 0xca, 0x8a, 0x37, 0xec, 0xf5, 0x07, 0x06, 0xa7, 0x5b, 0x36, 0xb7, + 0xc6, 0x45, 0x85, 0x2c, 0x0d, 0x00, 0x2e, 0x71, +}; +static const unsigned char kat1823_addin1[] = { + 0x3f, 0xf6, 0xd9, 0x57, 0xdd, 0xb1, 0xed, 0x27, 0x13, 0xcf, 0x3d, 0x40, + 0x69, 0x8f, 0xe8, 0x8a, 0x62, 0xf5, 0x36, 0xb3, 0xf8, 0xfd, 0x68, 0x4f, + 0xe0, 0x1d, 0xa3, 0xc3, 0x23, 0x19, 0xc1, 0xd6, +}; +static const unsigned char kat1823_retbits[] = { + 0xbb, 0x1c, 0x04, 0x56, 0x10, 0x64, 0xf8, 0xc7, 0x29, 0xfd, 0x62, 0x09, + 0x8a, 0x32, 0x51, 0x6b, 0xc4, 0x72, 0x98, 0x86, 0x9e, 0x42, 0x6f, 0x49, + 0xd5, 0x2a, 0x26, 0x9b, 0x74, 0x4d, 0x82, 0x39, 0x77, 0xea, 0xa0, 0xa0, + 0xea, 0x80, 0x2f, 0xb0, 0x8e, 0xda, 0xc6, 0xf1, 0x30, 0x4c, 0x4d, 0xbe, + 0x5e, 0x17, 0x12, 0xd2, 0xbb, 0x88, 0xb6, 0xaf, 0x99, 0x57, 0x9d, 0xd4, + 0xba, 0xd4, 0x78, 0x37, +}; +static const struct drbg_kat_pr_false kat1823_t = { + 7, kat1823_entropyin, kat1823_nonce, kat1823_persstr, + kat1823_entropyinreseed, kat1823_addinreseed, kat1823_addin0, + kat1823_addin1, kat1823_retbits +}; +static const struct drbg_kat kat1823 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1823_t +}; + +static const unsigned char kat1824_entropyin[] = { + 0x5c, 0x0d, 0x92, 0xa3, 0xa3, 0xc7, 0xe3, 0x10, 0x42, 0x21, 0x75, 0x09, + 0x0c, 0x74, 0x99, 0x73, 0xc3, 0x0f, 0x83, 0xec, 0x2d, 0xe7, 0x9a, 0x98, +}; +static const unsigned char kat1824_nonce[] = { + 0xf4, 0x8e, 0x7f, 0xf7, 0x4b, 0x31, 0x8f, 0x65, 0x83, 0xbe, 0xba, 0x9a, + 0xa8, 0xbc, 0xb7, 0x9e, +}; +static const unsigned char kat1824_persstr[] = {0}; +static const unsigned char kat1824_entropyinreseed[] = { + 0x37, 0xf9, 0x1f, 0xc9, 0x43, 0x1e, 0xcc, 0xb2, 0xa0, 0x62, 0xbf, 0x78, + 0xd3, 0x14, 0xaa, 0xdd, 0xfd, 0x2c, 0xe2, 0x5f, 0x32, 0xd3, 0x7e, 0x32, +}; +static const unsigned char kat1824_addinreseed[] = { + 0x77, 0xf8, 0x1b, 0xef, 0xdf, 0xfd, 0xcc, 0xf9, 0x83, 0x78, 0x3a, 0x6b, + 0x70, 0xa8, 0xd8, 0xfa, 0x6e, 0x64, 0x0a, 0x74, 0x76, 0xdb, 0x2f, 0x28, + 0x3f, 0x42, 0xe0, 0x49, 0x85, 0x50, 0x05, 0xe3, +}; +static const unsigned char kat1824_addin0[] = { + 0xd0, 0xbc, 0x32, 0x86, 0x5e, 0x04, 0x75, 0xd0, 0xbd, 0x77, 0xa3, 0x8c, + 0x2d, 0x9a, 0xa7, 0xbf, 0xfa, 0xfd, 0xfd, 0x44, 0xbc, 0xc1, 0x33, 0xff, + 0x1e, 0xbd, 0x56, 0xdf, 0xae, 0x89, 0x78, 0x84, +}; +static const unsigned char kat1824_addin1[] = { + 0x22, 0x70, 0xa5, 0xd7, 0x1d, 0x58, 0x4f, 0x3a, 0xa0, 0xfb, 0x2e, 0xaf, + 0x69, 0x99, 0x87, 0x79, 0x96, 0xaa, 0x1d, 0x03, 0xc0, 0xe8, 0x8f, 0xa2, + 0xec, 0x63, 0x81, 0x3b, 0xe6, 0x39, 0x1a, 0xb6, +}; +static const unsigned char kat1824_retbits[] = { + 0x2f, 0x4d, 0xca, 0x3e, 0x8e, 0x58, 0x0e, 0x53, 0x33, 0xda, 0xe9, 0x04, + 0x43, 0x6b, 0xaa, 0x80, 0xb7, 0xa9, 0xb9, 0x5f, 0x02, 0x4a, 0x48, 0xac, + 0x8a, 0x3f, 0x0f, 0xec, 0x2b, 0x38, 0xc1, 0x08, 0x05, 0xa3, 0x8e, 0x84, + 0x29, 0x27, 0x20, 0xbf, 0xb8, 0xad, 0xbc, 0xa7, 0x7e, 0x9c, 0xcb, 0x7a, + 0xbb, 0xd6, 0x8e, 0x70, 0x10, 0xff, 0xfa, 0x35, 0x14, 0x52, 0xd3, 0x37, + 0xba, 0x42, 0x1f, 0x61, +}; +static const struct drbg_kat_pr_false kat1824_t = { + 8, kat1824_entropyin, kat1824_nonce, kat1824_persstr, + kat1824_entropyinreseed, kat1824_addinreseed, kat1824_addin0, + kat1824_addin1, kat1824_retbits +}; +static const struct drbg_kat kat1824 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1824_t +}; + +static const unsigned char kat1825_entropyin[] = { + 0x4f, 0x43, 0xad, 0x1b, 0xad, 0x3b, 0xf9, 0x28, 0xee, 0xb0, 0x1f, 0xf9, + 0x95, 0x6c, 0xb6, 0x89, 0xbb, 0xd6, 0xae, 0x70, 0xdd, 0x5a, 0x08, 0x49, +}; +static const unsigned char kat1825_nonce[] = { + 0x8e, 0x11, 0xec, 0xb9, 0x89, 0x28, 0x07, 0x5c, 0x77, 0x85, 0x7f, 0xd4, + 0x48, 0x48, 0xc3, 0x00, +}; +static const unsigned char kat1825_persstr[] = {0}; +static const unsigned char kat1825_entropyinreseed[] = { + 0xab, 0xee, 0x57, 0xc4, 0xf5, 0xc8, 0xe3, 0x75, 0x08, 0x64, 0xfd, 0x56, + 0xd1, 0x53, 0x92, 0x8f, 0xf1, 0x62, 0x14, 0x0e, 0x6a, 0x4a, 0x3e, 0xf0, +}; +static const unsigned char kat1825_addinreseed[] = { + 0x75, 0x59, 0x3a, 0x00, 0x45, 0xb2, 0x50, 0x83, 0x60, 0xa9, 0x04, 0xbe, + 0x27, 0x0e, 0x38, 0x1b, 0x43, 0x9f, 0x5c, 0x58, 0xe5, 0xd6, 0xdc, 0x80, + 0xa4, 0x5f, 0xb1, 0x76, 0xf8, 0xbe, 0x2e, 0x9e, +}; +static const unsigned char kat1825_addin0[] = { + 0xad, 0x68, 0xad, 0xcc, 0x9f, 0xe6, 0x81, 0xd2, 0xe5, 0xea, 0x02, 0xbc, + 0x02, 0x5b, 0xe7, 0x92, 0x88, 0x50, 0x73, 0x40, 0x3f, 0x79, 0xb3, 0x2a, + 0x15, 0xb9, 0xe9, 0xa3, 0xca, 0x61, 0x9f, 0x89, +}; +static const unsigned char kat1825_addin1[] = { + 0x20, 0x34, 0x09, 0xaf, 0x2d, 0x63, 0xc0, 0x89, 0x8d, 0x8a, 0xad, 0x3e, + 0x54, 0x15, 0x71, 0xcb, 0x36, 0x31, 0x6e, 0xe2, 0x80, 0x6d, 0x26, 0x2b, + 0x2d, 0xfe, 0xa6, 0x3e, 0x65, 0xe9, 0xe5, 0xf1, +}; +static const unsigned char kat1825_retbits[] = { + 0x4d, 0xc0, 0xe6, 0x8c, 0x07, 0xb2, 0xce, 0xf2, 0x45, 0x08, 0x83, 0x67, + 0x2b, 0xd5, 0x71, 0x6d, 0xe8, 0x8c, 0xe9, 0x4b, 0x5f, 0x72, 0x40, 0x0f, + 0xb7, 0x49, 0xad, 0xe2, 0xf4, 0xa5, 0xc6, 0xda, 0xbd, 0x01, 0xc3, 0xd3, + 0x26, 0xc7, 0xa8, 0xec, 0x4b, 0xa5, 0xbc, 0xb3, 0x3c, 0xc4, 0x5c, 0x20, + 0x64, 0x98, 0xe1, 0x45, 0xca, 0x2a, 0xea, 0xfc, 0x5b, 0x42, 0x6d, 0xc1, + 0x65, 0xaf, 0x33, 0xfb, +}; +static const struct drbg_kat_pr_false kat1825_t = { + 9, kat1825_entropyin, kat1825_nonce, kat1825_persstr, + kat1825_entropyinreseed, kat1825_addinreseed, kat1825_addin0, + kat1825_addin1, kat1825_retbits +}; +static const struct drbg_kat kat1825 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1825_t +}; + +static const unsigned char kat1826_entropyin[] = { + 0xa4, 0x4a, 0x50, 0xf5, 0x30, 0x3a, 0x77, 0x0f, 0x1b, 0x58, 0x73, 0x33, + 0x4e, 0x7c, 0x7d, 0x42, 0xec, 0xfd, 0x83, 0x77, 0x78, 0x23, 0x55, 0xb2, +}; +static const unsigned char kat1826_nonce[] = { + 0xab, 0x86, 0x69, 0x25, 0x75, 0x75, 0x37, 0xa1, 0x8b, 0x57, 0x55, 0x7f, + 0xde, 0xcf, 0xfd, 0x30, +}; +static const unsigned char kat1826_persstr[] = {0}; +static const unsigned char kat1826_entropyinreseed[] = { + 0xfc, 0x81, 0xc0, 0xab, 0xef, 0x73, 0xef, 0x4b, 0x7b, 0xfa, 0x38, 0x73, + 0xf0, 0xdb, 0xae, 0xb9, 0xea, 0x72, 0xce, 0x6f, 0xbd, 0x23, 0x5f, 0x22, +}; +static const unsigned char kat1826_addinreseed[] = { + 0xee, 0x7b, 0xd6, 0x67, 0xb3, 0x8e, 0x2d, 0xfd, 0x79, 0x96, 0x20, 0x47, + 0x8e, 0xd8, 0x58, 0xa3, 0x21, 0xeb, 0xa2, 0x8d, 0x23, 0x42, 0xc2, 0x7e, + 0x5a, 0xfb, 0xd5, 0xa6, 0xac, 0x89, 0x63, 0x5a, +}; +static const unsigned char kat1826_addin0[] = { + 0x56, 0x11, 0xfd, 0x32, 0x39, 0x52, 0x59, 0x92, 0x40, 0xeb, 0x28, 0xc5, + 0x1c, 0x4e, 0xf0, 0xf3, 0xfd, 0x50, 0x8e, 0xb4, 0x59, 0xdc, 0x65, 0x2a, + 0xdf, 0x17, 0xfd, 0x19, 0xe7, 0xc2, 0xbe, 0x66, +}; +static const unsigned char kat1826_addin1[] = { + 0xe1, 0xac, 0x2a, 0xbd, 0x69, 0x3e, 0xf6, 0xf1, 0xe5, 0x84, 0xa5, 0xa7, + 0x93, 0xfc, 0xb3, 0xd2, 0x3a, 0x38, 0x8e, 0xfe, 0x75, 0x02, 0x5a, 0x86, + 0x52, 0xc5, 0x4f, 0x99, 0xf6, 0xe3, 0xfb, 0x5f, +}; +static const unsigned char kat1826_retbits[] = { + 0x0e, 0x11, 0xbc, 0x63, 0xc8, 0x6a, 0x93, 0x96, 0xfe, 0x20, 0x6a, 0x73, + 0xab, 0x7d, 0x6d, 0xdd, 0x83, 0xbe, 0x9b, 0x67, 0xa9, 0x45, 0x27, 0x09, + 0x29, 0x24, 0xf1, 0xf8, 0xb2, 0x29, 0x54, 0xb9, 0xa4, 0xb4, 0x28, 0x54, + 0xa1, 0xe9, 0x58, 0x16, 0x14, 0x00, 0x46, 0x20, 0x57, 0x7d, 0x68, 0x77, + 0x75, 0x65, 0x7a, 0x8d, 0x33, 0xff, 0xb3, 0xeb, 0xd6, 0xf7, 0x54, 0x2f, + 0x42, 0x1a, 0x75, 0x7a, +}; +static const struct drbg_kat_pr_false kat1826_t = { + 10, kat1826_entropyin, kat1826_nonce, kat1826_persstr, + kat1826_entropyinreseed, kat1826_addinreseed, kat1826_addin0, + kat1826_addin1, kat1826_retbits +}; +static const struct drbg_kat kat1826 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1826_t +}; + +static const unsigned char kat1827_entropyin[] = { + 0x5b, 0x91, 0x58, 0x0f, 0x90, 0xc7, 0x06, 0xba, 0x39, 0xc3, 0x84, 0x5e, + 0x26, 0xcc, 0x7e, 0x39, 0x79, 0x35, 0x6c, 0xbe, 0xfb, 0x11, 0x66, 0xc5, +}; +static const unsigned char kat1827_nonce[] = { + 0x04, 0xfa, 0xa1, 0x9a, 0x8a, 0x14, 0x06, 0xed, 0xa3, 0xe2, 0x28, 0x0a, + 0xe2, 0xd1, 0xc7, 0x8f, +}; +static const unsigned char kat1827_persstr[] = {0}; +static const unsigned char kat1827_entropyinreseed[] = { + 0xda, 0xf1, 0x44, 0x93, 0xf4, 0x2f, 0x75, 0xb7, 0x0c, 0xfe, 0xcc, 0xc7, + 0x6b, 0x95, 0x54, 0xbc, 0x7c, 0x5a, 0x9d, 0x81, 0x16, 0xe8, 0x8d, 0xb5, +}; +static const unsigned char kat1827_addinreseed[] = { + 0x93, 0xc6, 0x29, 0xbb, 0xb9, 0x8d, 0xfd, 0x26, 0xeb, 0x01, 0x6a, 0xc4, + 0xc4, 0xd5, 0xc2, 0xdd, 0x1b, 0x37, 0xdb, 0x62, 0x6c, 0x21, 0x61, 0xad, + 0xa7, 0xfc, 0x47, 0xab, 0x77, 0x08, 0x9b, 0xa8, +}; +static const unsigned char kat1827_addin0[] = { + 0x96, 0xc6, 0x01, 0xd4, 0x82, 0x4b, 0x37, 0xe7, 0x6c, 0xfc, 0x1a, 0x71, + 0x79, 0xc6, 0x5e, 0x8c, 0x96, 0xfa, 0x42, 0xf3, 0xc1, 0xab, 0x6a, 0x56, + 0x46, 0x9a, 0x18, 0x42, 0x3e, 0xfa, 0x45, 0xc0, +}; +static const unsigned char kat1827_addin1[] = { + 0xe8, 0x33, 0xc4, 0x7f, 0xf9, 0x8b, 0x52, 0x1b, 0x2b, 0x1b, 0xf6, 0x23, + 0x79, 0x4b, 0x95, 0xfe, 0xa7, 0x3b, 0x81, 0xb3, 0xde, 0x0b, 0x17, 0x8c, + 0x5d, 0x1d, 0xd3, 0x16, 0xd5, 0x64, 0xa0, 0xac, +}; +static const unsigned char kat1827_retbits[] = { + 0x39, 0xb2, 0x7f, 0x35, 0x36, 0xb9, 0x3a, 0xdf, 0x14, 0x78, 0x54, 0x43, + 0x79, 0x7b, 0x9c, 0x1c, 0x59, 0x29, 0xf0, 0xd7, 0x92, 0x0c, 0xa2, 0x93, + 0x25, 0x80, 0xe2, 0xff, 0x0d, 0xca, 0xe3, 0x98, 0x1d, 0xfc, 0x86, 0xc1, + 0x55, 0xf1, 0x38, 0xac, 0x2b, 0x9c, 0x63, 0x8a, 0x09, 0x3b, 0x65, 0xe9, + 0xe3, 0xde, 0x71, 0x55, 0x35, 0xcf, 0x72, 0x9e, 0x4f, 0xce, 0x46, 0x58, + 0xfe, 0x35, 0x0c, 0x6b, +}; +static const struct drbg_kat_pr_false kat1827_t = { + 11, kat1827_entropyin, kat1827_nonce, kat1827_persstr, + kat1827_entropyinreseed, kat1827_addinreseed, kat1827_addin0, + kat1827_addin1, kat1827_retbits +}; +static const struct drbg_kat kat1827 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1827_t +}; + +static const unsigned char kat1828_entropyin[] = { + 0x26, 0x85, 0x78, 0xf1, 0x4d, 0xf3, 0x20, 0x00, 0x2e, 0x79, 0xd1, 0x17, + 0x4d, 0x28, 0x1c, 0xeb, 0x14, 0x34, 0x9e, 0x0d, 0xa1, 0xe7, 0x23, 0x56, +}; +static const unsigned char kat1828_nonce[] = { + 0x75, 0xcf, 0x7e, 0x7b, 0x84, 0xa1, 0x1e, 0xcf, 0xce, 0x10, 0x64, 0x68, + 0xad, 0xc2, 0x87, 0x96, +}; +static const unsigned char kat1828_persstr[] = {0}; +static const unsigned char kat1828_entropyinreseed[] = { + 0x28, 0xc5, 0x64, 0x2a, 0x89, 0x23, 0xe7, 0x37, 0xea, 0xdd, 0x24, 0xf0, + 0xae, 0xc0, 0x89, 0x77, 0x20, 0x1d, 0x08, 0xca, 0xa0, 0xc2, 0x43, 0x27, +}; +static const unsigned char kat1828_addinreseed[] = { + 0xaf, 0x7b, 0x0e, 0x35, 0x1d, 0x2c, 0xa7, 0x95, 0x59, 0x2b, 0x1c, 0xad, + 0x16, 0x7a, 0xe3, 0xf6, 0x99, 0xcf, 0x01, 0xf0, 0xf1, 0xd0, 0xcc, 0x8c, + 0xfd, 0xc9, 0x14, 0x82, 0xd3, 0x04, 0x2f, 0x57, +}; +static const unsigned char kat1828_addin0[] = { + 0x47, 0x26, 0xeb, 0x11, 0x9c, 0xa6, 0x2e, 0xff, 0xe2, 0x05, 0x99, 0x0b, + 0x94, 0x3e, 0x8b, 0xc9, 0xcf, 0xd4, 0x93, 0xdb, 0xf3, 0x17, 0xab, 0x70, + 0xab, 0x96, 0x6b, 0x8d, 0x22, 0x57, 0xae, 0xf7, +}; +static const unsigned char kat1828_addin1[] = { + 0x8e, 0x35, 0xac, 0x04, 0x31, 0xb9, 0xea, 0x89, 0xdf, 0x69, 0x8f, 0xad, + 0x94, 0x57, 0x3c, 0xf6, 0xaa, 0x96, 0x2a, 0xca, 0x44, 0x09, 0x1a, 0xb7, + 0x3f, 0x6a, 0xb0, 0xc1, 0x5f, 0x9f, 0x72, 0xb1, +}; +static const unsigned char kat1828_retbits[] = { + 0xbd, 0x97, 0xf1, 0x49, 0xf8, 0xb6, 0x0f, 0xca, 0xfd, 0x16, 0x48, 0x58, + 0x7f, 0x65, 0x62, 0x3a, 0xb9, 0xe8, 0xc7, 0xe5, 0xf4, 0x3c, 0x96, 0x5f, + 0x69, 0x5e, 0xd7, 0x30, 0x54, 0x3a, 0x6e, 0xfa, 0x58, 0xbb, 0x25, 0x38, + 0x70, 0x72, 0xa5, 0x25, 0x1a, 0x7c, 0xd3, 0xcb, 0x92, 0x10, 0xb2, 0xa7, + 0x98, 0x57, 0x39, 0x35, 0xc7, 0x41, 0x54, 0xa9, 0xa7, 0x7f, 0x41, 0x8b, + 0x06, 0x6a, 0x6a, 0xdb, +}; +static const struct drbg_kat_pr_false kat1828_t = { + 12, kat1828_entropyin, kat1828_nonce, kat1828_persstr, + kat1828_entropyinreseed, kat1828_addinreseed, kat1828_addin0, + kat1828_addin1, kat1828_retbits +}; +static const struct drbg_kat kat1828 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1828_t +}; + +static const unsigned char kat1829_entropyin[] = { + 0x06, 0x65, 0x0e, 0x55, 0xf2, 0x14, 0x36, 0xce, 0xea, 0x53, 0x06, 0x15, + 0xe1, 0x43, 0x57, 0x5e, 0xf5, 0x9e, 0x0f, 0xb6, 0xe1, 0x3e, 0x1b, 0x48, +}; +static const unsigned char kat1829_nonce[] = { + 0x87, 0x0b, 0x65, 0xaf, 0x36, 0xdf, 0x39, 0xcc, 0x20, 0x4c, 0xd3, 0x2b, + 0xd0, 0x96, 0x24, 0x20, +}; +static const unsigned char kat1829_persstr[] = {0}; +static const unsigned char kat1829_entropyinreseed[] = { + 0x7b, 0x2c, 0x19, 0x9c, 0xae, 0x21, 0xe4, 0xa3, 0x28, 0xec, 0xee, 0x6b, + 0x8f, 0x2b, 0x8c, 0x28, 0x63, 0x0e, 0x3c, 0x39, 0x0f, 0x40, 0x1a, 0xe1, +}; +static const unsigned char kat1829_addinreseed[] = { + 0x29, 0xba, 0x0b, 0x55, 0xa4, 0xf2, 0xee, 0x63, 0xc8, 0x58, 0x61, 0x5f, + 0xe3, 0x93, 0xe6, 0xd7, 0x04, 0xd0, 0x45, 0x88, 0xf5, 0x19, 0x01, 0xd5, + 0x75, 0xf6, 0x24, 0x7c, 0xf5, 0x2d, 0x69, 0xa5, +}; +static const unsigned char kat1829_addin0[] = { + 0x7c, 0x34, 0x32, 0x9a, 0x91, 0xb1, 0xd1, 0x5e, 0x8a, 0x2f, 0x33, 0x52, + 0xf7, 0xcc, 0x18, 0x76, 0xec, 0xbd, 0xd6, 0x6e, 0xad, 0x5c, 0x6d, 0x9d, + 0xfb, 0x6b, 0x90, 0x48, 0xbc, 0x7e, 0x20, 0xf1, +}; +static const unsigned char kat1829_addin1[] = { + 0x4e, 0x75, 0x78, 0x84, 0x92, 0xaa, 0x55, 0xf6, 0x32, 0xd5, 0x9b, 0xdf, + 0x96, 0xb6, 0x4c, 0xed, 0xe3, 0xcf, 0x1e, 0x9f, 0x97, 0x6c, 0x43, 0xec, + 0x7a, 0x32, 0x58, 0xc6, 0x8c, 0x0e, 0x03, 0x08, +}; +static const unsigned char kat1829_retbits[] = { + 0x8a, 0xce, 0x58, 0xad, 0x55, 0xdf, 0x74, 0x4d, 0x2d, 0x19, 0xdd, 0x8d, + 0x68, 0xf2, 0x96, 0x74, 0xc3, 0x0b, 0xaa, 0x5a, 0xaf, 0x4d, 0xd6, 0x74, + 0x86, 0x24, 0xac, 0xd6, 0x3a, 0xb0, 0xa8, 0xdc, 0xd6, 0x26, 0xfd, 0x94, + 0xe1, 0x31, 0xa1, 0x00, 0xc1, 0x58, 0x15, 0xeb, 0xc0, 0x56, 0x97, 0x2f, + 0x80, 0xb3, 0x38, 0xe5, 0xa9, 0xf6, 0x22, 0xcf, 0xb1, 0x59, 0xc9, 0xf9, + 0xe3, 0x16, 0x00, 0x46, +}; +static const struct drbg_kat_pr_false kat1829_t = { + 13, kat1829_entropyin, kat1829_nonce, kat1829_persstr, + kat1829_entropyinreseed, kat1829_addinreseed, kat1829_addin0, + kat1829_addin1, kat1829_retbits +}; +static const struct drbg_kat kat1829 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1829_t +}; + +static const unsigned char kat1830_entropyin[] = { + 0x46, 0xb5, 0xb2, 0x73, 0xb4, 0x46, 0x4d, 0x53, 0xaa, 0x43, 0xba, 0xca, + 0x41, 0x3c, 0xc9, 0xda, 0xa3, 0x05, 0xe9, 0xd9, 0x88, 0x9c, 0xc2, 0x8f, +}; +static const unsigned char kat1830_nonce[] = { + 0x23, 0xd3, 0xdd, 0xcb, 0x8a, 0xd9, 0x89, 0x0c, 0xf4, 0x48, 0x0e, 0x84, + 0xcb, 0x7a, 0x1b, 0xf1, +}; +static const unsigned char kat1830_persstr[] = {0}; +static const unsigned char kat1830_entropyinreseed[] = { + 0x43, 0x7a, 0x21, 0x3d, 0xd1, 0xa0, 0x6c, 0x1a, 0xc5, 0x06, 0x9d, 0x55, + 0xc0, 0xb2, 0x1a, 0xab, 0xd7, 0x23, 0xf1, 0xfd, 0x84, 0xe4, 0x5a, 0x92, +}; +static const unsigned char kat1830_addinreseed[] = { + 0xcb, 0x24, 0x2d, 0x02, 0xdb, 0xdb, 0x8f, 0x93, 0x67, 0x37, 0x35, 0xdd, + 0xbe, 0x45, 0x13, 0xc3, 0xaf, 0x98, 0x01, 0x0f, 0x82, 0x72, 0x9b, 0x2c, + 0xee, 0xd0, 0x8f, 0xe0, 0x2d, 0x39, 0x0a, 0x39, +}; +static const unsigned char kat1830_addin0[] = { + 0x73, 0x11, 0x3a, 0x6b, 0xed, 0x92, 0x93, 0x5e, 0x4b, 0x6c, 0x58, 0xbb, + 0x78, 0x8e, 0xa6, 0x20, 0x03, 0x38, 0x37, 0x41, 0x50, 0x8c, 0xcf, 0xe9, + 0xff, 0xf1, 0x43, 0x22, 0x87, 0x0f, 0x19, 0x8f, +}; +static const unsigned char kat1830_addin1[] = { + 0x12, 0x9c, 0xa5, 0x35, 0xa8, 0xa9, 0xec, 0xed, 0x5a, 0xa8, 0xc0, 0xc9, + 0x6a, 0x01, 0x8a, 0xa1, 0xa8, 0x60, 0x64, 0x8a, 0x5f, 0xc2, 0xc5, 0x65, + 0x7a, 0x49, 0xda, 0xb7, 0x79, 0x31, 0x54, 0xdc, +}; +static const unsigned char kat1830_retbits[] = { + 0x03, 0x7a, 0x2b, 0x9b, 0xa1, 0x3b, 0xe2, 0x12, 0xdb, 0xe8, 0xae, 0x28, + 0xf4, 0xaa, 0xff, 0x9c, 0x9b, 0x36, 0x35, 0xed, 0xeb, 0xe0, 0xad, 0x29, + 0xbd, 0x13, 0xff, 0x64, 0x20, 0xf9, 0x79, 0x04, 0x32, 0x45, 0x49, 0xba, + 0x24, 0x7e, 0xc3, 0xd5, 0x76, 0x4f, 0x66, 0x23, 0x67, 0xd9, 0x49, 0x49, + 0x77, 0xe2, 0xf9, 0xef, 0xf2, 0xa3, 0xaa, 0xa4, 0x84, 0x39, 0x5a, 0x9e, + 0x9e, 0x5b, 0x77, 0x6c, +}; +static const struct drbg_kat_pr_false kat1830_t = { + 14, kat1830_entropyin, kat1830_nonce, kat1830_persstr, + kat1830_entropyinreseed, kat1830_addinreseed, kat1830_addin0, + kat1830_addin1, kat1830_retbits +}; +static const struct drbg_kat kat1830 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1830_t +}; + +static const unsigned char kat1831_entropyin[] = { + 0xb4, 0xb0, 0x5c, 0xe9, 0xce, 0x07, 0x41, 0x83, 0xa3, 0x06, 0xbf, 0x07, + 0xee, 0xd6, 0x84, 0xbf, 0x06, 0x5e, 0xbf, 0xfa, 0xd9, 0x75, 0x84, 0x51, +}; +static const unsigned char kat1831_nonce[] = { + 0x73, 0x3a, 0x68, 0xb1, 0xd2, 0x76, 0xf1, 0x54, 0xe7, 0x9b, 0x3d, 0xd0, + 0x83, 0xd2, 0x27, 0x8f, +}; +static const unsigned char kat1831_persstr[] = { + 0x9e, 0x88, 0x4f, 0xac, 0xfb, 0x9e, 0x9d, 0x40, 0x03, 0x47, 0x1d, 0x76, + 0x2b, 0xe0, 0x12, 0x47, 0xfb, 0xcb, 0x18, 0xd9, 0x08, 0x49, 0x73, 0xa2, + 0xb8, 0x33, 0x76, 0x4d, 0x71, 0x5c, 0x0c, 0xf8, +}; +static const unsigned char kat1831_entropyinreseed[] = { + 0xbe, 0x90, 0x03, 0xb0, 0x6e, 0x75, 0x26, 0x5c, 0x4f, 0xa5, 0x4c, 0x31, + 0xf6, 0xf5, 0xbf, 0xd2, 0x13, 0x25, 0xe1, 0x24, 0xfd, 0x54, 0x17, 0x69, +}; +static const unsigned char kat1831_addinreseed[] = {0}; +static const unsigned char kat1831_addin0[] = {0}; +static const unsigned char kat1831_addin1[] = {0}; +static const unsigned char kat1831_retbits[] = { + 0x38, 0xbf, 0x46, 0x94, 0x71, 0x70, 0x62, 0xef, 0x51, 0x12, 0x1b, 0xcd, + 0xf1, 0xdc, 0x70, 0x0e, 0xcc, 0x1a, 0x01, 0x8a, 0x2d, 0xa4, 0x07, 0x41, + 0x7a, 0x8f, 0x63, 0x11, 0xf1, 0x97, 0xe7, 0xda, 0x9c, 0x7b, 0x4a, 0x30, + 0x05, 0x46, 0xa6, 0x8c, 0x4a, 0x39, 0x35, 0x76, 0xd1, 0x51, 0x2e, 0x27, + 0x73, 0x75, 0xa0, 0xe0, 0x5c, 0x53, 0x75, 0x77, 0x86, 0x7c, 0x93, 0x70, + 0x62, 0xd7, 0x0f, 0xd7, +}; +static const struct drbg_kat_pr_false kat1831_t = { + 0, kat1831_entropyin, kat1831_nonce, kat1831_persstr, + kat1831_entropyinreseed, kat1831_addinreseed, kat1831_addin0, + kat1831_addin1, kat1831_retbits +}; +static const struct drbg_kat kat1831 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1831_t +}; + +static const unsigned char kat1832_entropyin[] = { + 0xa4, 0xf6, 0xfc, 0x1a, 0x3d, 0xfe, 0xcb, 0x13, 0x77, 0x69, 0x98, 0x26, + 0xb8, 0xf4, 0xb5, 0x12, 0x9e, 0x58, 0x4b, 0xf8, 0xd2, 0x6b, 0x3a, 0x82, +}; +static const unsigned char kat1832_nonce[] = { + 0x47, 0xf7, 0xa5, 0x5a, 0x78, 0x38, 0x70, 0xc5, 0xcb, 0x62, 0x1d, 0x67, + 0x38, 0x7d, 0x6f, 0xdd, +}; +static const unsigned char kat1832_persstr[] = { + 0xb0, 0x16, 0xdb, 0x1c, 0x11, 0x1f, 0x20, 0x3d, 0x10, 0x84, 0x96, 0xdf, + 0xdc, 0x79, 0x9e, 0xe2, 0xec, 0xe6, 0xd7, 0xf5, 0x6c, 0x8b, 0x73, 0xc9, + 0xf5, 0xeb, 0x24, 0xe1, 0x88, 0xa4, 0x88, 0x2f, +}; +static const unsigned char kat1832_entropyinreseed[] = { + 0x35, 0xb7, 0xe7, 0x15, 0xce, 0xb2, 0x6b, 0xe7, 0x5c, 0x23, 0x0d, 0x44, + 0x2c, 0xce, 0xad, 0x39, 0xc9, 0xab, 0x94, 0x10, 0x38, 0xd4, 0x74, 0xcc, +}; +static const unsigned char kat1832_addinreseed[] = {0}; +static const unsigned char kat1832_addin0[] = {0}; +static const unsigned char kat1832_addin1[] = {0}; +static const unsigned char kat1832_retbits[] = { + 0xe4, 0x75, 0x26, 0x2f, 0x8f, 0x34, 0xb0, 0xd2, 0x3e, 0xaa, 0x75, 0x3b, + 0x0c, 0xdf, 0xe5, 0xf4, 0x9b, 0xb5, 0x42, 0x16, 0xf8, 0x9c, 0x7b, 0x73, + 0xcb, 0xd5, 0xb4, 0xcd, 0x8c, 0x88, 0x2c, 0xf9, 0xf2, 0x5b, 0x40, 0x59, + 0xe3, 0x98, 0x72, 0xc3, 0xa7, 0x90, 0x20, 0xfe, 0x44, 0xbe, 0xf2, 0x0a, + 0x39, 0xe3, 0xdf, 0x16, 0x5e, 0x0b, 0x6e, 0x16, 0x9a, 0xd4, 0x6d, 0x89, + 0xee, 0x3a, 0xfa, 0x0b, +}; +static const struct drbg_kat_pr_false kat1832_t = { + 1, kat1832_entropyin, kat1832_nonce, kat1832_persstr, + kat1832_entropyinreseed, kat1832_addinreseed, kat1832_addin0, + kat1832_addin1, kat1832_retbits +}; +static const struct drbg_kat kat1832 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1832_t +}; + +static const unsigned char kat1833_entropyin[] = { + 0x2c, 0x84, 0xf1, 0xa7, 0x9a, 0x2c, 0xf4, 0xfa, 0xc8, 0x74, 0x0e, 0xd9, + 0x80, 0xc6, 0x57, 0x32, 0xc5, 0xb2, 0x57, 0xbb, 0x1c, 0x2c, 0xea, 0x36, +}; +static const unsigned char kat1833_nonce[] = { + 0x40, 0xf1, 0xfd, 0xf6, 0xfa, 0x5f, 0xf0, 0x37, 0x66, 0xea, 0xd7, 0xb7, + 0x1b, 0xcb, 0x44, 0xd2, +}; +static const unsigned char kat1833_persstr[] = { + 0x4f, 0x8c, 0x7b, 0x89, 0x31, 0x7a, 0x92, 0xfa, 0xe1, 0x8b, 0x6d, 0x68, + 0xf7, 0xfa, 0xcd, 0x60, 0x1c, 0x4d, 0x4d, 0xd5, 0x39, 0xc3, 0xa9, 0xc3, + 0xeb, 0xe2, 0x89, 0x18, 0x6f, 0xfb, 0x2f, 0x22, +}; +static const unsigned char kat1833_entropyinreseed[] = { + 0xa6, 0x5b, 0xa6, 0x90, 0xcf, 0x9b, 0xa5, 0x74, 0xd0, 0x10, 0x55, 0x2b, + 0x7b, 0x3d, 0xfd, 0x38, 0x8b, 0x56, 0x52, 0xf3, 0x23, 0x3d, 0xbc, 0xd3, +}; +static const unsigned char kat1833_addinreseed[] = {0}; +static const unsigned char kat1833_addin0[] = {0}; +static const unsigned char kat1833_addin1[] = {0}; +static const unsigned char kat1833_retbits[] = { + 0xea, 0x06, 0x8f, 0xb6, 0x2d, 0x2f, 0x78, 0xb1, 0xb4, 0xb1, 0x92, 0x51, + 0x81, 0xa9, 0xf6, 0x13, 0x96, 0x4a, 0x17, 0xc3, 0xe1, 0xf8, 0xa9, 0xce, + 0xd2, 0xa9, 0x6f, 0xa3, 0x77, 0x12, 0x3c, 0x01, 0xb7, 0xf7, 0x84, 0x77, + 0x4e, 0x94, 0x08, 0x31, 0xc1, 0xf5, 0x2d, 0xc1, 0x5a, 0xca, 0x3b, 0xad, + 0x24, 0xac, 0xe3, 0x42, 0x2e, 0xdf, 0x56, 0xdf, 0xc8, 0x95, 0x2d, 0xb8, + 0x61, 0x38, 0x83, 0x22, +}; +static const struct drbg_kat_pr_false kat1833_t = { + 2, kat1833_entropyin, kat1833_nonce, kat1833_persstr, + kat1833_entropyinreseed, kat1833_addinreseed, kat1833_addin0, + kat1833_addin1, kat1833_retbits +}; +static const struct drbg_kat kat1833 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1833_t +}; + +static const unsigned char kat1834_entropyin[] = { + 0x26, 0x3c, 0xb0, 0x78, 0x00, 0x82, 0xab, 0xf9, 0xf3, 0xb3, 0x7f, 0xf2, + 0xb8, 0xf8, 0x10, 0xdb, 0x35, 0xf9, 0x70, 0xf4, 0x74, 0x9e, 0x1e, 0x4b, +}; +static const unsigned char kat1834_nonce[] = { + 0x43, 0x65, 0x58, 0x42, 0x5d, 0x3a, 0x43, 0x26, 0xaa, 0xda, 0x7e, 0xef, + 0x7b, 0x13, 0xc1, 0xba, +}; +static const unsigned char kat1834_persstr[] = { + 0x30, 0xc8, 0x2b, 0xe2, 0x5e, 0xba, 0xcb, 0xa2, 0x24, 0xaa, 0xd9, 0xc8, + 0xb7, 0xd4, 0x99, 0x3e, 0x7b, 0xae, 0x90, 0x82, 0x05, 0xeb, 0xd1, 0x1c, + 0x19, 0xf1, 0xb3, 0x5b, 0x09, 0xd0, 0x6a, 0xf8, +}; +static const unsigned char kat1834_entropyinreseed[] = { + 0x63, 0xd5, 0x60, 0xf8, 0xa0, 0xee, 0xab, 0x76, 0xce, 0x62, 0xa1, 0x6d, + 0x12, 0x5d, 0x39, 0x2a, 0x36, 0xff, 0x34, 0x2b, 0x03, 0x4c, 0xe8, 0xa5, +}; +static const unsigned char kat1834_addinreseed[] = {0}; +static const unsigned char kat1834_addin0[] = {0}; +static const unsigned char kat1834_addin1[] = {0}; +static const unsigned char kat1834_retbits[] = { + 0xbb, 0xb3, 0x9e, 0xaa, 0x24, 0xa9, 0x84, 0x17, 0xb6, 0xaf, 0xdc, 0xd5, + 0x6d, 0x15, 0x41, 0xe3, 0x05, 0x45, 0xa9, 0x44, 0x4c, 0xb7, 0xbc, 0x66, + 0x49, 0xe9, 0xbb, 0x8b, 0x4b, 0x52, 0xbf, 0x3a, 0x10, 0xa7, 0xa2, 0x0b, + 0x5b, 0xda, 0x1e, 0x76, 0x40, 0xfa, 0x15, 0xce, 0x09, 0x05, 0xd7, 0x6e, + 0xc4, 0x92, 0xdb, 0xf3, 0xb3, 0x74, 0x65, 0x89, 0x69, 0x4a, 0xcc, 0x2e, + 0xde, 0x36, 0xb2, 0x96, +}; +static const struct drbg_kat_pr_false kat1834_t = { + 3, kat1834_entropyin, kat1834_nonce, kat1834_persstr, + kat1834_entropyinreseed, kat1834_addinreseed, kat1834_addin0, + kat1834_addin1, kat1834_retbits +}; +static const struct drbg_kat kat1834 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1834_t +}; + +static const unsigned char kat1835_entropyin[] = { + 0x54, 0x25, 0x5d, 0x15, 0x88, 0x32, 0x50, 0x17, 0x21, 0xaf, 0x07, 0x4f, + 0x1a, 0x05, 0x3f, 0x04, 0xc7, 0x17, 0xc9, 0x38, 0xc3, 0x22, 0x6d, 0x7e, +}; +static const unsigned char kat1835_nonce[] = { + 0xc8, 0xb9, 0x45, 0x14, 0x33, 0xa2, 0x9e, 0x92, 0x09, 0x99, 0x82, 0xfe, + 0x6b, 0xa9, 0x95, 0x5a, +}; +static const unsigned char kat1835_persstr[] = { + 0xc2, 0x6c, 0x8d, 0xad, 0xf2, 0x10, 0x51, 0xbf, 0x82, 0xbb, 0xd0, 0x9d, + 0x5a, 0x45, 0x50, 0xda, 0x1e, 0x90, 0xfc, 0x8d, 0x3b, 0x3b, 0xfc, 0x0e, + 0xc2, 0xca, 0x55, 0xef, 0xc5, 0xce, 0x66, 0xae, +}; +static const unsigned char kat1835_entropyinreseed[] = { + 0x30, 0x03, 0x5f, 0xa0, 0xdd, 0xf9, 0xbd, 0xbf, 0x2e, 0x09, 0xc6, 0x92, + 0x60, 0xec, 0x31, 0x8c, 0xa3, 0xe4, 0x4d, 0x60, 0x80, 0xa2, 0x8b, 0x7e, +}; +static const unsigned char kat1835_addinreseed[] = {0}; +static const unsigned char kat1835_addin0[] = {0}; +static const unsigned char kat1835_addin1[] = {0}; +static const unsigned char kat1835_retbits[] = { + 0x84, 0xd1, 0x57, 0x84, 0xb0, 0x20, 0x87, 0xe2, 0x62, 0x26, 0xc6, 0x63, + 0xc5, 0xc8, 0x6d, 0x5f, 0x06, 0x17, 0xa1, 0x50, 0x30, 0x10, 0x92, 0x0c, + 0xd0, 0x29, 0xf7, 0xca, 0x91, 0xbb, 0x82, 0xb6, 0x63, 0x30, 0x50, 0x13, + 0x9e, 0xb4, 0x23, 0xb8, 0x6f, 0x29, 0x24, 0xd5, 0x0d, 0xa7, 0x78, 0x7e, + 0x1e, 0x47, 0xda, 0x02, 0xb8, 0x34, 0x85, 0x91, 0xb7, 0xc7, 0xa7, 0xc6, + 0x1d, 0xbb, 0xb8, 0xf5, +}; +static const struct drbg_kat_pr_false kat1835_t = { + 4, kat1835_entropyin, kat1835_nonce, kat1835_persstr, + kat1835_entropyinreseed, kat1835_addinreseed, kat1835_addin0, + kat1835_addin1, kat1835_retbits +}; +static const struct drbg_kat kat1835 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1835_t +}; + +static const unsigned char kat1836_entropyin[] = { + 0x25, 0x3f, 0xfd, 0xfa, 0xd4, 0x16, 0x5e, 0x6e, 0x3f, 0x00, 0xb9, 0x73, + 0x53, 0x50, 0xa9, 0xe1, 0x7e, 0xf2, 0xfa, 0x1a, 0x04, 0x83, 0x08, 0xe6, +}; +static const unsigned char kat1836_nonce[] = { + 0x77, 0xb9, 0x59, 0x98, 0x2f, 0x91, 0xa2, 0xf5, 0x21, 0xe7, 0xe8, 0xc2, + 0x55, 0x50, 0x67, 0x5d, +}; +static const unsigned char kat1836_persstr[] = { + 0x16, 0x43, 0x5f, 0x2a, 0xb0, 0xef, 0x6e, 0xe1, 0xa1, 0x6f, 0x9b, 0xa1, + 0x5a, 0xb5, 0xcf, 0x26, 0x41, 0xab, 0x07, 0x6b, 0x37, 0xe6, 0x42, 0x1a, + 0xef, 0x73, 0x38, 0x0b, 0x4b, 0x89, 0x69, 0x91, +}; +static const unsigned char kat1836_entropyinreseed[] = { + 0xc0, 0x69, 0xcf, 0x7c, 0x19, 0x91, 0x46, 0xba, 0xa6, 0x7e, 0x5d, 0x80, + 0x23, 0xb5, 0x62, 0xbd, 0xe6, 0x18, 0x5d, 0x3d, 0xab, 0x78, 0x12, 0x11, +}; +static const unsigned char kat1836_addinreseed[] = {0}; +static const unsigned char kat1836_addin0[] = {0}; +static const unsigned char kat1836_addin1[] = {0}; +static const unsigned char kat1836_retbits[] = { + 0xa5, 0x8d, 0x58, 0xc9, 0x90, 0x43, 0xc0, 0xe2, 0x57, 0xfe, 0xe3, 0x8e, + 0xfd, 0x78, 0x28, 0x12, 0x96, 0xd4, 0x68, 0xbc, 0xa2, 0xa9, 0x19, 0x18, + 0xd8, 0x17, 0xd3, 0x1b, 0x00, 0xbb, 0x52, 0x93, 0x08, 0x79, 0x14, 0x1d, + 0xe2, 0x4b, 0xde, 0x70, 0x1d, 0x83, 0x76, 0xe8, 0xab, 0x07, 0xe8, 0x43, + 0xcd, 0x6c, 0x4e, 0x33, 0x4e, 0x5b, 0xd0, 0xc3, 0x6f, 0x92, 0xe3, 0x8a, + 0x19, 0x58, 0x19, 0x92, +}; +static const struct drbg_kat_pr_false kat1836_t = { + 5, kat1836_entropyin, kat1836_nonce, kat1836_persstr, + kat1836_entropyinreseed, kat1836_addinreseed, kat1836_addin0, + kat1836_addin1, kat1836_retbits +}; +static const struct drbg_kat kat1836 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1836_t +}; + +static const unsigned char kat1837_entropyin[] = { + 0xcf, 0xd1, 0x6e, 0xe9, 0x53, 0xaa, 0x49, 0x89, 0xa2, 0x08, 0xb9, 0xfa, + 0x8e, 0x00, 0x44, 0xce, 0x2e, 0x4e, 0xd6, 0xd6, 0x72, 0xd1, 0x82, 0xfe, +}; +static const unsigned char kat1837_nonce[] = { + 0xde, 0x8e, 0x91, 0xe6, 0x58, 0x14, 0x56, 0x9f, 0xf0, 0x47, 0x67, 0xaa, + 0x75, 0xdb, 0x6b, 0xf5, +}; +static const unsigned char kat1837_persstr[] = { + 0xde, 0x22, 0x3d, 0x66, 0x43, 0xe2, 0x33, 0x19, 0x0e, 0xe0, 0x21, 0x8f, + 0xef, 0x63, 0x05, 0xc1, 0x42, 0xd2, 0xfe, 0xaa, 0xa0, 0xab, 0xd6, 0xac, + 0x7c, 0x8b, 0xd8, 0x95, 0xa0, 0x0e, 0x91, 0x72, +}; +static const unsigned char kat1837_entropyinreseed[] = { + 0xad, 0x5a, 0x4f, 0xb9, 0xe0, 0x3f, 0x8a, 0x51, 0xab, 0x23, 0x82, 0x35, + 0xed, 0x27, 0x27, 0x98, 0xbe, 0x43, 0xdb, 0x42, 0x17, 0xa5, 0xb3, 0x63, +}; +static const unsigned char kat1837_addinreseed[] = {0}; +static const unsigned char kat1837_addin0[] = {0}; +static const unsigned char kat1837_addin1[] = {0}; +static const unsigned char kat1837_retbits[] = { + 0x1d, 0x59, 0x82, 0x19, 0x54, 0xc5, 0xc4, 0xad, 0x22, 0x48, 0xe0, 0x59, + 0x3e, 0xab, 0x77, 0x5c, 0xb2, 0x08, 0xa1, 0x88, 0x7b, 0xec, 0xf9, 0xcf, + 0x93, 0xea, 0x2b, 0x02, 0x58, 0xaf, 0x6e, 0x37, 0x05, 0xb1, 0xd7, 0x22, + 0x7a, 0x14, 0x01, 0xcb, 0xcd, 0x32, 0x72, 0xed, 0xc4, 0xcf, 0x98, 0x5a, + 0x05, 0xc3, 0x45, 0x49, 0x2d, 0x1b, 0xb9, 0xe9, 0x04, 0x7b, 0xbe, 0xec, + 0x7a, 0xba, 0x24, 0x36, +}; +static const struct drbg_kat_pr_false kat1837_t = { + 6, kat1837_entropyin, kat1837_nonce, kat1837_persstr, + kat1837_entropyinreseed, kat1837_addinreseed, kat1837_addin0, + kat1837_addin1, kat1837_retbits +}; +static const struct drbg_kat kat1837 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1837_t +}; + +static const unsigned char kat1838_entropyin[] = { + 0x36, 0xd2, 0x23, 0x69, 0x48, 0x40, 0x0d, 0xea, 0x19, 0x14, 0x2d, 0xd1, + 0xc5, 0x3c, 0x3e, 0x7d, 0xb7, 0xc3, 0xbc, 0x7e, 0xf3, 0xb9, 0xe2, 0x75, +}; +static const unsigned char kat1838_nonce[] = { + 0x90, 0xa5, 0xb9, 0x10, 0x30, 0xcb, 0x25, 0x37, 0xd4, 0xbc, 0xbb, 0xce, + 0xc6, 0xcd, 0x43, 0x86, +}; +static const unsigned char kat1838_persstr[] = { + 0x7c, 0xc5, 0x1d, 0x67, 0x30, 0x40, 0x05, 0xb5, 0x23, 0x1c, 0x3a, 0x3a, + 0xd3, 0xbf, 0x14, 0x4e, 0xb6, 0xa1, 0x74, 0xbf, 0x1a, 0x0d, 0x29, 0xed, + 0x97, 0xb8, 0x87, 0xcf, 0x7c, 0x00, 0xc3, 0xf6, +}; +static const unsigned char kat1838_entropyinreseed[] = { + 0x83, 0x07, 0xc0, 0x28, 0x00, 0x12, 0x69, 0x45, 0x2b, 0x72, 0xb4, 0x13, + 0x4d, 0x85, 0x34, 0x16, 0x36, 0x57, 0x66, 0xb8, 0xb8, 0xc2, 0x7e, 0xea, +}; +static const unsigned char kat1838_addinreseed[] = {0}; +static const unsigned char kat1838_addin0[] = {0}; +static const unsigned char kat1838_addin1[] = {0}; +static const unsigned char kat1838_retbits[] = { + 0xb6, 0x4c, 0xcb, 0xa0, 0x8e, 0x5d, 0x97, 0x00, 0xa6, 0xc7, 0xbe, 0x68, + 0x14, 0x85, 0xf6, 0x7c, 0xf1, 0xb2, 0xea, 0xa7, 0xa7, 0x9f, 0xcc, 0x0c, + 0xab, 0x39, 0xd3, 0xb2, 0x68, 0xe3, 0x66, 0x14, 0x7c, 0x95, 0x42, 0xd4, + 0x44, 0x6f, 0xa0, 0x72, 0x61, 0x4f, 0xde, 0xb5, 0x0e, 0x74, 0x8c, 0x2f, + 0xdd, 0x85, 0xf4, 0xd5, 0x16, 0x86, 0x3a, 0xa8, 0x82, 0x0f, 0x69, 0xc0, + 0x70, 0x76, 0x1c, 0x72, +}; +static const struct drbg_kat_pr_false kat1838_t = { + 7, kat1838_entropyin, kat1838_nonce, kat1838_persstr, + kat1838_entropyinreseed, kat1838_addinreseed, kat1838_addin0, + kat1838_addin1, kat1838_retbits +}; +static const struct drbg_kat kat1838 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1838_t +}; + +static const unsigned char kat1839_entropyin[] = { + 0x7e, 0xb1, 0x89, 0xf1, 0xbc, 0xb5, 0x47, 0xd8, 0x37, 0xb7, 0x55, 0x32, + 0x31, 0x32, 0x5b, 0x4d, 0xda, 0xe1, 0xea, 0x87, 0xb9, 0x38, 0xb0, 0xc4, +}; +static const unsigned char kat1839_nonce[] = { + 0x9d, 0x2d, 0xc9, 0x6e, 0x33, 0x37, 0x3f, 0x89, 0xe4, 0xda, 0x9f, 0x5b, + 0xa1, 0x7e, 0xb1, 0xb7, +}; +static const unsigned char kat1839_persstr[] = { + 0x1c, 0x56, 0xb2, 0xa0, 0x25, 0x34, 0x09, 0xcc, 0xa5, 0x73, 0x83, 0xc9, + 0x57, 0x12, 0xbb, 0xab, 0xd5, 0xa5, 0x5b, 0x32, 0x99, 0x87, 0xd1, 0xbe, + 0xe5, 0xff, 0x82, 0x37, 0xe7, 0xbd, 0x9e, 0x70, +}; +static const unsigned char kat1839_entropyinreseed[] = { + 0xcd, 0x9b, 0x86, 0xc1, 0xb8, 0xb8, 0x2c, 0x72, 0xf7, 0xcb, 0x2b, 0xb9, + 0x40, 0xee, 0x31, 0x89, 0xa2, 0x55, 0x41, 0x87, 0xdf, 0xa8, 0xfd, 0xd4, +}; +static const unsigned char kat1839_addinreseed[] = {0}; +static const unsigned char kat1839_addin0[] = {0}; +static const unsigned char kat1839_addin1[] = {0}; +static const unsigned char kat1839_retbits[] = { + 0xe9, 0x5d, 0xbf, 0x39, 0xd1, 0x48, 0x2b, 0xd0, 0x3a, 0x57, 0x73, 0x57, + 0x76, 0xdd, 0xb3, 0x18, 0xe0, 0xf9, 0xff, 0xb0, 0xcc, 0xb5, 0x13, 0x60, + 0x7d, 0xe3, 0x86, 0x3b, 0x4f, 0xd0, 0xfb, 0x40, 0x5e, 0x74, 0xd2, 0x8b, + 0x2d, 0xed, 0x6e, 0xe1, 0x97, 0x2e, 0x2e, 0xe8, 0x9a, 0x09, 0xb6, 0x64, + 0x17, 0x61, 0xfa, 0x18, 0xa2, 0xf6, 0xc1, 0x23, 0xae, 0xe9, 0xf7, 0x19, + 0x1e, 0xfe, 0x52, 0x8c, +}; +static const struct drbg_kat_pr_false kat1839_t = { + 8, kat1839_entropyin, kat1839_nonce, kat1839_persstr, + kat1839_entropyinreseed, kat1839_addinreseed, kat1839_addin0, + kat1839_addin1, kat1839_retbits +}; +static const struct drbg_kat kat1839 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1839_t +}; + +static const unsigned char kat1840_entropyin[] = { + 0xe0, 0x61, 0x79, 0x9e, 0xb8, 0xa5, 0x70, 0xf6, 0xde, 0x95, 0xba, 0x5f, + 0x10, 0x8f, 0xcc, 0x1d, 0x2c, 0x9e, 0xa1, 0x6c, 0xcf, 0xc2, 0xbe, 0xce, +}; +static const unsigned char kat1840_nonce[] = { + 0x87, 0x71, 0x03, 0x26, 0xb9, 0x78, 0xb2, 0xf4, 0x34, 0x3e, 0x26, 0x70, + 0xb4, 0x51, 0xed, 0x31, +}; +static const unsigned char kat1840_persstr[] = { + 0x27, 0xa3, 0xa9, 0x29, 0x10, 0x36, 0x8d, 0xa0, 0x98, 0x4a, 0xaf, 0x3c, + 0x7e, 0x31, 0x5b, 0xed, 0x2b, 0x6b, 0x19, 0x34, 0x15, 0xd4, 0x38, 0xa3, + 0x7d, 0xef, 0x8f, 0x2c, 0xe5, 0x42, 0xa3, 0x23, +}; +static const unsigned char kat1840_entropyinreseed[] = { + 0x3f, 0x3c, 0x15, 0x3d, 0xca, 0xb7, 0xa0, 0x08, 0x56, 0x6c, 0x25, 0xd3, + 0xfa, 0x71, 0xbc, 0x71, 0x04, 0x76, 0x7c, 0x1d, 0x4a, 0xe5, 0xca, 0x02, +}; +static const unsigned char kat1840_addinreseed[] = {0}; +static const unsigned char kat1840_addin0[] = {0}; +static const unsigned char kat1840_addin1[] = {0}; +static const unsigned char kat1840_retbits[] = { + 0x6b, 0x75, 0x48, 0x1f, 0x70, 0xda, 0x16, 0x6f, 0x30, 0x55, 0x39, 0x1c, + 0x70, 0x5f, 0xf6, 0xec, 0x67, 0x5d, 0xc9, 0x12, 0x25, 0x3a, 0x5d, 0xe9, + 0xf6, 0x61, 0xf6, 0x8a, 0xdc, 0x09, 0x7c, 0x64, 0x33, 0x46, 0x16, 0x83, + 0x9c, 0x67, 0xf2, 0x98, 0xae, 0xc4, 0x10, 0x4b, 0x51, 0x3f, 0x49, 0x70, + 0xe6, 0x1d, 0xcf, 0x30, 0x40, 0x87, 0x73, 0x31, 0xc2, 0x4d, 0x87, 0xeb, + 0x09, 0x1b, 0x9d, 0x91, +}; +static const struct drbg_kat_pr_false kat1840_t = { + 9, kat1840_entropyin, kat1840_nonce, kat1840_persstr, + kat1840_entropyinreseed, kat1840_addinreseed, kat1840_addin0, + kat1840_addin1, kat1840_retbits +}; +static const struct drbg_kat kat1840 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1840_t +}; + +static const unsigned char kat1841_entropyin[] = { + 0xba, 0x8c, 0xa3, 0x61, 0xab, 0x65, 0xb9, 0xf1, 0x56, 0xe8, 0xdc, 0x5d, + 0x4e, 0x50, 0xc8, 0xac, 0x4c, 0x78, 0x76, 0xcb, 0xea, 0xae, 0x09, 0xae, +}; +static const unsigned char kat1841_nonce[] = { + 0xc2, 0x16, 0xc9, 0xaf, 0x4d, 0xd9, 0x44, 0x0a, 0xe5, 0x19, 0x15, 0x41, + 0xb4, 0x0b, 0x1d, 0x6b, +}; +static const unsigned char kat1841_persstr[] = { + 0x25, 0xad, 0xc2, 0x73, 0xf5, 0xd8, 0x3b, 0xe2, 0x70, 0x23, 0x35, 0x2b, + 0x7a, 0x78, 0xbf, 0x0c, 0xbd, 0xae, 0xfa, 0x76, 0x72, 0x5a, 0x45, 0xaa, + 0x9b, 0xee, 0x06, 0x13, 0x73, 0x51, 0xd2, 0x4d, +}; +static const unsigned char kat1841_entropyinreseed[] = { + 0xc7, 0xe3, 0x6a, 0xe2, 0x3e, 0xfe, 0x97, 0x4b, 0x76, 0x3e, 0xe4, 0x23, + 0xf2, 0x14, 0x55, 0x59, 0x23, 0xd6, 0x6f, 0xeb, 0x9a, 0xa1, 0x74, 0xed, +}; +static const unsigned char kat1841_addinreseed[] = {0}; +static const unsigned char kat1841_addin0[] = {0}; +static const unsigned char kat1841_addin1[] = {0}; +static const unsigned char kat1841_retbits[] = { + 0x1f, 0xa1, 0xce, 0xd6, 0xb2, 0xf2, 0x09, 0xe4, 0x30, 0x66, 0x7c, 0xc1, + 0x11, 0xf2, 0x97, 0x81, 0x39, 0x36, 0x0c, 0xd4, 0xc5, 0x26, 0x7a, 0x66, + 0xd9, 0x02, 0x39, 0xa5, 0x37, 0x81, 0x49, 0xd2, 0x47, 0x83, 0xac, 0x42, + 0x77, 0x26, 0x5f, 0x38, 0xd4, 0x40, 0xcd, 0xac, 0xaf, 0x47, 0x9b, 0xb7, + 0x34, 0xbb, 0x5a, 0x86, 0x5b, 0x3c, 0x67, 0xc4, 0x96, 0xd3, 0x64, 0x23, + 0x37, 0xad, 0xda, 0xbd, +}; +static const struct drbg_kat_pr_false kat1841_t = { + 10, kat1841_entropyin, kat1841_nonce, kat1841_persstr, + kat1841_entropyinreseed, kat1841_addinreseed, kat1841_addin0, + kat1841_addin1, kat1841_retbits +}; +static const struct drbg_kat kat1841 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1841_t +}; + +static const unsigned char kat1842_entropyin[] = { + 0x0a, 0xa9, 0x24, 0xd3, 0x23, 0xa3, 0x92, 0x46, 0x22, 0x4f, 0x4a, 0x6b, + 0xe2, 0xb6, 0x37, 0xe2, 0x06, 0xc6, 0xcf, 0x2c, 0xc2, 0x87, 0x20, 0x45, +}; +static const unsigned char kat1842_nonce[] = { + 0x0c, 0x22, 0xc2, 0x62, 0x96, 0x51, 0x7b, 0xb9, 0x9d, 0xc9, 0x2c, 0x6d, + 0x16, 0xdc, 0x05, 0x8b, +}; +static const unsigned char kat1842_persstr[] = { + 0xbb, 0x1e, 0xf0, 0x94, 0x07, 0x24, 0xb5, 0xcf, 0x38, 0xdd, 0xb6, 0xcf, + 0xdc, 0xa8, 0x6c, 0xf2, 0x25, 0x04, 0x62, 0x00, 0x12, 0xc2, 0x7b, 0xeb, + 0x65, 0xc4, 0x1c, 0xf7, 0x90, 0x29, 0x45, 0x95, +}; +static const unsigned char kat1842_entropyinreseed[] = { + 0xdf, 0x35, 0x0b, 0x7f, 0x1c, 0xc5, 0x3b, 0xec, 0x3e, 0xae, 0x29, 0x2d, + 0xad, 0xb7, 0x56, 0x9d, 0xeb, 0x21, 0xeb, 0x34, 0x5c, 0x2e, 0x19, 0x20, +}; +static const unsigned char kat1842_addinreseed[] = {0}; +static const unsigned char kat1842_addin0[] = {0}; +static const unsigned char kat1842_addin1[] = {0}; +static const unsigned char kat1842_retbits[] = { + 0x3e, 0x59, 0x86, 0x67, 0xb2, 0x13, 0x2e, 0x80, 0x30, 0xce, 0x4c, 0xfc, + 0x92, 0xa5, 0xb8, 0xa7, 0x50, 0xb3, 0xe7, 0x19, 0xa1, 0x01, 0xb8, 0x73, + 0xa5, 0x7a, 0x17, 0x95, 0x15, 0x98, 0x52, 0x8c, 0x1a, 0xa3, 0xa8, 0x71, + 0x5b, 0x63, 0x83, 0x24, 0xea, 0x00, 0xa4, 0x72, 0x5e, 0xa8, 0x3f, 0x94, + 0x6a, 0x24, 0x9f, 0xba, 0x6f, 0x36, 0x20, 0xb7, 0xf1, 0xbf, 0x22, 0xff, + 0x7d, 0x09, 0x2d, 0xe9, +}; +static const struct drbg_kat_pr_false kat1842_t = { + 11, kat1842_entropyin, kat1842_nonce, kat1842_persstr, + kat1842_entropyinreseed, kat1842_addinreseed, kat1842_addin0, + kat1842_addin1, kat1842_retbits +}; +static const struct drbg_kat kat1842 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1842_t +}; + +static const unsigned char kat1843_entropyin[] = { + 0x38, 0xae, 0x86, 0x1a, 0x0d, 0xfa, 0x5f, 0xa4, 0xbd, 0xb4, 0x41, 0xb1, + 0xb6, 0x89, 0x1a, 0x6a, 0x28, 0x8e, 0x53, 0xb4, 0xba, 0x11, 0x28, 0xb1, +}; +static const unsigned char kat1843_nonce[] = { + 0xce, 0x41, 0x04, 0x74, 0x1c, 0x21, 0xae, 0xc8, 0x39, 0xb3, 0x36, 0xbd, + 0x06, 0x3e, 0x5b, 0x31, +}; +static const unsigned char kat1843_persstr[] = { + 0x5e, 0x4a, 0x4f, 0x9b, 0xf0, 0xbd, 0x36, 0x72, 0x2b, 0x45, 0x65, 0x55, + 0xbf, 0xc2, 0x04, 0x4c, 0x4f, 0xc4, 0x3f, 0xf2, 0x8e, 0xcf, 0x7e, 0x4e, + 0x0d, 0xf3, 0xe1, 0x7a, 0xd1, 0x02, 0xc7, 0xca, +}; +static const unsigned char kat1843_entropyinreseed[] = { + 0x40, 0x61, 0xa0, 0xd2, 0xb1, 0x15, 0x82, 0xfd, 0x4b, 0xc2, 0xa9, 0x00, + 0xb5, 0xf3, 0x80, 0xf9, 0x19, 0xd5, 0xd3, 0x2a, 0xf4, 0x6a, 0xfa, 0x13, +}; +static const unsigned char kat1843_addinreseed[] = {0}; +static const unsigned char kat1843_addin0[] = {0}; +static const unsigned char kat1843_addin1[] = {0}; +static const unsigned char kat1843_retbits[] = { + 0xc8, 0x5d, 0xa5, 0x24, 0x49, 0x8a, 0x8b, 0x6e, 0xdd, 0xff, 0x39, 0x98, + 0x64, 0xaf, 0x02, 0x7d, 0x93, 0x5e, 0xc0, 0x02, 0xea, 0xec, 0x2c, 0x8d, + 0xc7, 0x5b, 0x1b, 0x1d, 0x84, 0x9d, 0x46, 0x1e, 0xa6, 0xde, 0xa8, 0x0e, + 0x91, 0x5a, 0x75, 0xa3, 0x7c, 0x5c, 0x46, 0x78, 0x07, 0x44, 0x65, 0xa9, + 0x95, 0x5c, 0xb9, 0xf0, 0x74, 0x54, 0xb6, 0x37, 0x9c, 0xb1, 0xba, 0xf5, + 0x48, 0xe9, 0x28, 0x16, +}; +static const struct drbg_kat_pr_false kat1843_t = { + 12, kat1843_entropyin, kat1843_nonce, kat1843_persstr, + kat1843_entropyinreseed, kat1843_addinreseed, kat1843_addin0, + kat1843_addin1, kat1843_retbits +}; +static const struct drbg_kat kat1843 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1843_t +}; + +static const unsigned char kat1844_entropyin[] = { + 0xb2, 0xba, 0xbc, 0x18, 0x8a, 0xba, 0x0d, 0xf4, 0x8f, 0x9e, 0xce, 0x46, + 0x2b, 0xae, 0x4c, 0x20, 0xfa, 0x60, 0xbb, 0xcc, 0x76, 0xc7, 0x7e, 0xdb, +}; +static const unsigned char kat1844_nonce[] = { + 0x39, 0xd5, 0x0f, 0x4f, 0x3e, 0x9c, 0x19, 0xca, 0x43, 0x79, 0x12, 0x13, + 0xd1, 0xe4, 0xab, 0xea, +}; +static const unsigned char kat1844_persstr[] = { + 0xc0, 0x1a, 0x62, 0x42, 0xd7, 0x9f, 0x07, 0x3e, 0x11, 0x2c, 0x5e, 0xe6, + 0xbd, 0x4a, 0x71, 0xa1, 0x25, 0x9b, 0x2c, 0xed, 0xd7, 0x5c, 0x5c, 0xfb, + 0x82, 0xda, 0x2b, 0xf1, 0xc0, 0x50, 0xe4, 0x02, +}; +static const unsigned char kat1844_entropyinreseed[] = { + 0x8b, 0xbc, 0x6d, 0x75, 0x4a, 0xd5, 0x50, 0x61, 0x25, 0x2a, 0x2b, 0x53, + 0x59, 0x99, 0xf1, 0xb5, 0x80, 0x57, 0x86, 0x36, 0x92, 0x7e, 0x93, 0x27, +}; +static const unsigned char kat1844_addinreseed[] = {0}; +static const unsigned char kat1844_addin0[] = {0}; +static const unsigned char kat1844_addin1[] = {0}; +static const unsigned char kat1844_retbits[] = { + 0x22, 0xda, 0x3f, 0x3c, 0x2d, 0xcc, 0xe7, 0xf3, 0xa3, 0xf3, 0x31, 0x29, + 0xca, 0xf2, 0x27, 0x10, 0x28, 0x42, 0x4d, 0x72, 0xbc, 0xbd, 0x75, 0xcc, + 0x81, 0x86, 0x3b, 0x24, 0xf9, 0x6f, 0x75, 0x01, 0xe7, 0x0b, 0xcb, 0x5b, + 0x25, 0x4c, 0xb4, 0xd2, 0xca, 0x48, 0x0c, 0x2c, 0x64, 0x9d, 0x9e, 0x89, + 0x47, 0xc2, 0x53, 0x7e, 0xfe, 0xdc, 0xec, 0xd5, 0x07, 0x2d, 0x57, 0xfd, + 0x36, 0xb7, 0x54, 0x81, +}; +static const struct drbg_kat_pr_false kat1844_t = { + 13, kat1844_entropyin, kat1844_nonce, kat1844_persstr, + kat1844_entropyinreseed, kat1844_addinreseed, kat1844_addin0, + kat1844_addin1, kat1844_retbits +}; +static const struct drbg_kat kat1844 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1844_t +}; + +static const unsigned char kat1845_entropyin[] = { + 0xea, 0x1e, 0x0b, 0xd5, 0x16, 0x89, 0xf2, 0xd1, 0x21, 0xeb, 0x55, 0xee, + 0x52, 0x72, 0xb6, 0xfe, 0xd7, 0xb9, 0xff, 0x7d, 0xfa, 0x8c, 0x1f, 0x11, +}; +static const unsigned char kat1845_nonce[] = { + 0x31, 0xaa, 0x1e, 0x8f, 0x81, 0xac, 0xaf, 0x88, 0x40, 0x48, 0xfa, 0x05, + 0x64, 0x88, 0x90, 0x2a, +}; +static const unsigned char kat1845_persstr[] = { + 0x2a, 0xc2, 0xe8, 0x98, 0xb0, 0x0a, 0x09, 0x96, 0x12, 0xf6, 0x85, 0x47, + 0x38, 0x22, 0xd2, 0x15, 0x2b, 0xcd, 0x8f, 0x77, 0x82, 0x0a, 0x38, 0x59, + 0xb4, 0x81, 0xef, 0x1d, 0xfb, 0xed, 0xab, 0xed, +}; +static const unsigned char kat1845_entropyinreseed[] = { + 0x05, 0xc7, 0xb3, 0xfc, 0xd8, 0x58, 0xbf, 0x50, 0x80, 0xb7, 0xec, 0x08, + 0xb6, 0x4c, 0x20, 0xfd, 0x36, 0x14, 0xd2, 0x5d, 0x9b, 0x6f, 0x4d, 0x1b, +}; +static const unsigned char kat1845_addinreseed[] = {0}; +static const unsigned char kat1845_addin0[] = {0}; +static const unsigned char kat1845_addin1[] = {0}; +static const unsigned char kat1845_retbits[] = { + 0x43, 0x97, 0xf3, 0x8e, 0x54, 0xa1, 0x58, 0x39, 0xaf, 0x1d, 0x7f, 0x5b, + 0x19, 0x0b, 0x9f, 0x12, 0x2b, 0x1e, 0x85, 0x34, 0xd1, 0xd7, 0x4c, 0x53, + 0x29, 0x3e, 0x9f, 0x37, 0x27, 0x37, 0x4c, 0x2c, 0x66, 0xba, 0x78, 0x48, + 0x89, 0x29, 0xee, 0x09, 0x99, 0x15, 0x98, 0x52, 0x4b, 0x14, 0xed, 0x98, + 0x00, 0x21, 0x7d, 0x3c, 0xb2, 0xe0, 0x2e, 0xde, 0xe7, 0xf8, 0x41, 0x04, + 0x22, 0xe3, 0x6e, 0xb5, +}; +static const struct drbg_kat_pr_false kat1845_t = { + 14, kat1845_entropyin, kat1845_nonce, kat1845_persstr, + kat1845_entropyinreseed, kat1845_addinreseed, kat1845_addin0, + kat1845_addin1, kat1845_retbits +}; +static const struct drbg_kat kat1845 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1845_t +}; + +static const unsigned char kat1846_entropyin[] = { + 0xa9, 0xb3, 0xbb, 0xf1, 0x9c, 0x1d, 0x80, 0x62, 0x32, 0x97, 0xf7, 0xc5, + 0x0e, 0x9d, 0xeb, 0x3b, 0x6c, 0xc4, 0x97, 0xd1, 0x8c, 0x48, 0xd2, 0x44, +}; +static const unsigned char kat1846_nonce[] = { + 0xe0, 0xaa, 0x9a, 0x80, 0x3e, 0x29, 0x6e, 0x3f, 0x37, 0x00, 0x1e, 0x77, + 0x65, 0x4e, 0x23, 0x39, +}; +static const unsigned char kat1846_persstr[] = { + 0xcc, 0xef, 0xb2, 0xc8, 0xbc, 0x0d, 0xfa, 0xa1, 0x6c, 0x14, 0xef, 0x3c, + 0x9d, 0x98, 0x54, 0x6e, 0x47, 0x66, 0x58, 0xed, 0xe3, 0xf3, 0x56, 0x21, + 0x48, 0x8f, 0x1d, 0x03, 0xad, 0x49, 0x06, 0x33, +}; +static const unsigned char kat1846_entropyinreseed[] = { + 0xcd, 0x2a, 0x71, 0x04, 0xda, 0x1b, 0x30, 0x30, 0x11, 0x81, 0x7d, 0xe7, + 0x3e, 0x83, 0xe4, 0x6c, 0x6e, 0xf8, 0x93, 0x95, 0x2f, 0xa9, 0x21, 0x45, +}; +static const unsigned char kat1846_addinreseed[] = { + 0xb9, 0xed, 0xaa, 0x9d, 0x7d, 0xb6, 0x67, 0x06, 0x6c, 0xa8, 0x5a, 0x46, + 0x19, 0x91, 0xb7, 0x81, 0xbd, 0x87, 0x7c, 0xae, 0x12, 0x00, 0xa4, 0x7b, + 0xa0, 0x89, 0xbb, 0x81, 0x65, 0xfb, 0xb9, 0x5a, +}; +static const unsigned char kat1846_addin0[] = { + 0x01, 0xc5, 0xae, 0xb2, 0x5c, 0xfb, 0x8f, 0x31, 0x63, 0x1f, 0x6e, 0x7b, + 0x69, 0xb8, 0x44, 0x98, 0x45, 0x03, 0x44, 0x35, 0x75, 0x8b, 0x97, 0x47, + 0xd3, 0x81, 0x22, 0x23, 0x70, 0x9a, 0x55, 0xa5, +}; +static const unsigned char kat1846_addin1[] = { + 0x93, 0x0e, 0xbe, 0x68, 0xb0, 0x2f, 0x33, 0x1f, 0xb1, 0xa9, 0xe7, 0xe5, + 0xed, 0x2f, 0xd0, 0x33, 0x4b, 0x45, 0xb5, 0x03, 0x13, 0xa6, 0x14, 0xed, + 0xdc, 0x06, 0xfd, 0x67, 0x80, 0x49, 0x2d, 0xe9, +}; +static const unsigned char kat1846_retbits[] = { + 0x18, 0xba, 0xcd, 0xea, 0x0c, 0x71, 0xdb, 0xea, 0x09, 0x48, 0x5a, 0xd0, + 0xb9, 0x21, 0x0d, 0xaf, 0x6b, 0x17, 0x5c, 0x8a, 0xfa, 0xa7, 0xd6, 0x15, + 0x8f, 0xa7, 0x4e, 0x5a, 0xe3, 0x70, 0xd3, 0x38, 0x21, 0x6c, 0xa0, 0x27, + 0x57, 0x47, 0x86, 0xd4, 0x14, 0xf0, 0xef, 0x87, 0xb4, 0x18, 0xc4, 0x7f, + 0xc5, 0x87, 0xa0, 0x1e, 0x57, 0x8d, 0x8d, 0x41, 0x6f, 0x80, 0x20, 0xa4, + 0x45, 0xe2, 0x0f, 0x3e, +}; +static const struct drbg_kat_pr_false kat1846_t = { + 0, kat1846_entropyin, kat1846_nonce, kat1846_persstr, + kat1846_entropyinreseed, kat1846_addinreseed, kat1846_addin0, + kat1846_addin1, kat1846_retbits +}; +static const struct drbg_kat kat1846 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1846_t +}; + +static const unsigned char kat1847_entropyin[] = { + 0x08, 0x35, 0x31, 0x41, 0x2b, 0x21, 0x9d, 0x9d, 0x1b, 0x08, 0x48, 0xbc, + 0xa3, 0x52, 0x72, 0xca, 0x96, 0xd4, 0x9a, 0xfd, 0x4b, 0x0b, 0x5c, 0x8e, +}; +static const unsigned char kat1847_nonce[] = { + 0x5c, 0x8f, 0xfe, 0xcf, 0xd6, 0x5b, 0x9c, 0xa2, 0xa4, 0x28, 0x6b, 0xa4, + 0x41, 0x38, 0x62, 0x7d, +}; +static const unsigned char kat1847_persstr[] = { + 0x26, 0xc9, 0xa7, 0xb2, 0xf1, 0x5a, 0x59, 0x0e, 0x0e, 0x92, 0xa2, 0x70, + 0x8b, 0xc3, 0x06, 0xe6, 0x87, 0x50, 0x47, 0x6e, 0x96, 0x26, 0xd5, 0x42, + 0xf1, 0x57, 0x70, 0x75, 0xf4, 0xe5, 0x94, 0xed, +}; +static const unsigned char kat1847_entropyinreseed[] = { + 0x85, 0x13, 0xb3, 0x2e, 0xff, 0x61, 0x74, 0x0c, 0xf9, 0xd1, 0x9c, 0xac, + 0xc7, 0xab, 0x02, 0x88, 0x90, 0x3d, 0x3f, 0x18, 0x86, 0xf2, 0x85, 0x34, +}; +static const unsigned char kat1847_addinreseed[] = { + 0x0f, 0x1f, 0x76, 0xa1, 0x92, 0x8e, 0x49, 0x07, 0x6b, 0xe7, 0xf0, 0x2f, + 0x70, 0x31, 0x2d, 0x0a, 0xc5, 0x22, 0x49, 0x87, 0xd0, 0x09, 0x8d, 0x2e, + 0xb3, 0xa4, 0x53, 0xe3, 0x7a, 0x0d, 0x5f, 0x7b, +}; +static const unsigned char kat1847_addin0[] = { + 0x1b, 0xd8, 0x0d, 0xb1, 0xd7, 0x40, 0x22, 0x34, 0x29, 0x80, 0x8c, 0x1e, + 0x09, 0xce, 0xf6, 0x90, 0xc3, 0x8f, 0xaf, 0x31, 0xdc, 0x3b, 0xf2, 0x94, + 0x94, 0xce, 0xf3, 0x4a, 0x74, 0xa6, 0x89, 0x72, +}; +static const unsigned char kat1847_addin1[] = { + 0x19, 0xb3, 0x6f, 0x90, 0x75, 0xb1, 0x0e, 0x91, 0x59, 0xa8, 0x99, 0x54, + 0xdb, 0xc8, 0x35, 0x0a, 0x72, 0x2d, 0x1b, 0x21, 0x14, 0xd0, 0xf9, 0x3a, + 0xfb, 0x9b, 0xba, 0x0c, 0xc5, 0xa7, 0x45, 0x9e, +}; +static const unsigned char kat1847_retbits[] = { + 0xf6, 0xe8, 0x4c, 0x6e, 0x16, 0x53, 0xe1, 0xcf, 0x38, 0xd3, 0xdd, 0xac, + 0x0c, 0x02, 0xbe, 0x3c, 0xbb, 0xdc, 0x07, 0x12, 0xf7, 0xf7, 0x9e, 0x15, + 0x9b, 0xbc, 0x50, 0x19, 0xc4, 0x19, 0x6a, 0xba, 0x13, 0x33, 0xd3, 0x4a, + 0xed, 0xa7, 0x94, 0xa8, 0x66, 0x22, 0xf5, 0xb9, 0x26, 0xf4, 0xce, 0x92, + 0x9d, 0xe9, 0xd8, 0xee, 0x04, 0x60, 0x43, 0xae, 0x48, 0x93, 0xf6, 0x7c, + 0x19, 0x57, 0x2b, 0xf7, +}; +static const struct drbg_kat_pr_false kat1847_t = { + 1, kat1847_entropyin, kat1847_nonce, kat1847_persstr, + kat1847_entropyinreseed, kat1847_addinreseed, kat1847_addin0, + kat1847_addin1, kat1847_retbits +}; +static const struct drbg_kat kat1847 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1847_t +}; + +static const unsigned char kat1848_entropyin[] = { + 0x89, 0xe5, 0x82, 0x55, 0x8a, 0x26, 0xfc, 0x33, 0xd4, 0x04, 0x8a, 0xac, + 0xa2, 0xb5, 0xba, 0x4d, 0x7c, 0x0f, 0xcb, 0x70, 0xa2, 0x5a, 0xd7, 0x54, +}; +static const unsigned char kat1848_nonce[] = { + 0x3f, 0xd2, 0xd1, 0x91, 0xd9, 0x66, 0xb0, 0xd5, 0x53, 0xd1, 0x4e, 0xf3, + 0xc5, 0x13, 0x5d, 0x35, +}; +static const unsigned char kat1848_persstr[] = { + 0x4b, 0x68, 0xda, 0x99, 0xc5, 0xa9, 0x95, 0xf4, 0xa2, 0x03, 0xa8, 0xd1, + 0xc8, 0xdc, 0x85, 0xa2, 0xcd, 0x96, 0xda, 0x5d, 0xd6, 0x6a, 0x8f, 0xed, + 0x10, 0x8d, 0x21, 0x3e, 0x34, 0x72, 0x07, 0x25, +}; +static const unsigned char kat1848_entropyinreseed[] = { + 0x84, 0xe5, 0x88, 0xa5, 0xa5, 0x95, 0xab, 0x01, 0xdb, 0x9c, 0xc1, 0xd0, + 0x5f, 0x93, 0x2c, 0xc4, 0x2d, 0x62, 0x3f, 0x7e, 0xff, 0x59, 0x66, 0x51, +}; +static const unsigned char kat1848_addinreseed[] = { + 0x58, 0x7f, 0x52, 0x66, 0xb6, 0xd7, 0x28, 0x43, 0x55, 0x74, 0x94, 0xde, + 0xcf, 0xa5, 0xf7, 0x84, 0x14, 0x28, 0xf8, 0x96, 0xc6, 0x50, 0x46, 0xbe, + 0xa9, 0x46, 0x81, 0x15, 0xe8, 0xeb, 0xcc, 0xbe, +}; +static const unsigned char kat1848_addin0[] = { + 0x73, 0x15, 0x43, 0xe0, 0xd0, 0xb3, 0xa9, 0x13, 0xe0, 0x13, 0x83, 0x05, + 0x44, 0x12, 0x25, 0x0a, 0x26, 0x7b, 0x99, 0x17, 0x41, 0xb5, 0xe8, 0x36, + 0x12, 0xba, 0xe7, 0xc6, 0x23, 0x4d, 0xa3, 0xec, +}; +static const unsigned char kat1848_addin1[] = { + 0x6f, 0xaf, 0x16, 0x1b, 0xa8, 0xe1, 0xd6, 0xa6, 0x5a, 0x21, 0xf5, 0x06, + 0x20, 0x76, 0x4a, 0x28, 0xdb, 0x12, 0x8a, 0x55, 0xea, 0xe9, 0x27, 0x50, + 0xf5, 0xeb, 0x07, 0x49, 0xab, 0x2a, 0x5e, 0xf5, +}; +static const unsigned char kat1848_retbits[] = { + 0x15, 0x91, 0x30, 0x65, 0x13, 0x3a, 0xb3, 0x1c, 0xeb, 0x6c, 0xb6, 0xd0, + 0x73, 0xdb, 0x1b, 0x56, 0x34, 0x79, 0x2d, 0xa4, 0x60, 0x67, 0x31, 0x09, + 0x71, 0x6a, 0x3f, 0x76, 0x33, 0x82, 0x4f, 0x62, 0xd7, 0x40, 0xbf, 0xe5, + 0x05, 0x9a, 0xd3, 0xa9, 0x91, 0x1e, 0xe2, 0xdf, 0x27, 0xcc, 0x22, 0x66, + 0x1e, 0xaa, 0x00, 0x81, 0xf0, 0x75, 0xea, 0x26, 0x35, 0x3c, 0x63, 0x47, + 0x45, 0x01, 0x4e, 0x0b, +}; +static const struct drbg_kat_pr_false kat1848_t = { + 2, kat1848_entropyin, kat1848_nonce, kat1848_persstr, + kat1848_entropyinreseed, kat1848_addinreseed, kat1848_addin0, + kat1848_addin1, kat1848_retbits +}; +static const struct drbg_kat kat1848 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1848_t +}; + +static const unsigned char kat1849_entropyin[] = { + 0x05, 0x10, 0x6b, 0x71, 0xaa, 0x27, 0x41, 0x1b, 0xf5, 0x1d, 0xd3, 0x86, + 0x2c, 0x15, 0x0d, 0xb3, 0x56, 0xc9, 0x73, 0x62, 0x33, 0xd1, 0x6f, 0x64, +}; +static const unsigned char kat1849_nonce[] = { + 0xb1, 0x96, 0x0f, 0x10, 0x05, 0xf2, 0x0d, 0x6f, 0xfd, 0x10, 0xdb, 0x51, + 0xdc, 0x28, 0x9e, 0xcd, +}; +static const unsigned char kat1849_persstr[] = { + 0x29, 0x79, 0x47, 0x4c, 0x07, 0x99, 0xb3, 0x5f, 0x94, 0xda, 0x68, 0x13, + 0xb2, 0x64, 0x4b, 0x3a, 0x79, 0xfa, 0x83, 0xc6, 0xc3, 0xda, 0x5f, 0xff, + 0xc8, 0x2f, 0x4e, 0x0f, 0x66, 0x1e, 0xd9, 0x2d, +}; +static const unsigned char kat1849_entropyinreseed[] = { + 0x52, 0xff, 0x44, 0x30, 0xbf, 0x26, 0x59, 0x32, 0xee, 0xd4, 0x2c, 0x8c, + 0x70, 0xeb, 0xdb, 0x13, 0x05, 0x00, 0xf8, 0x11, 0x1a, 0x29, 0xfb, 0x5f, +}; +static const unsigned char kat1849_addinreseed[] = { + 0xce, 0x48, 0x40, 0xa6, 0x5a, 0xb3, 0xcb, 0x97, 0x42, 0xb7, 0xaa, 0x58, + 0x2e, 0x42, 0x8f, 0x85, 0x1a, 0x70, 0xd1, 0x8d, 0xd9, 0x16, 0xde, 0x63, + 0x64, 0x7f, 0xe3, 0xfa, 0x2b, 0xd9, 0x29, 0x94, +}; +static const unsigned char kat1849_addin0[] = { + 0x4d, 0x6d, 0xba, 0x3f, 0xe5, 0x20, 0x98, 0xe4, 0xf5, 0x70, 0x12, 0x41, + 0x97, 0x48, 0x6d, 0x8c, 0xd9, 0xc6, 0x06, 0x21, 0x0f, 0x4f, 0x21, 0x2e, + 0x98, 0xb4, 0x5f, 0x10, 0x4a, 0xcc, 0x17, 0x72, +}; +static const unsigned char kat1849_addin1[] = { + 0x94, 0x29, 0xe5, 0x10, 0x01, 0x1b, 0xcd, 0xd1, 0xb4, 0x3a, 0x8b, 0x84, + 0x1d, 0x9a, 0x75, 0xf1, 0x4c, 0x66, 0x55, 0xa5, 0x23, 0x2e, 0xf0, 0x84, + 0x77, 0xa5, 0x4e, 0xbd, 0x14, 0x48, 0x83, 0xfc, +}; +static const unsigned char kat1849_retbits[] = { + 0x6a, 0x7f, 0xd0, 0x7f, 0xd4, 0x06, 0x3f, 0xd6, 0xef, 0xa3, 0x59, 0x7a, + 0xd8, 0xb8, 0x17, 0x92, 0xc7, 0x9e, 0x74, 0x8e, 0x8e, 0xd6, 0xca, 0xb0, + 0x09, 0xe4, 0xb8, 0x41, 0xd9, 0x88, 0xd9, 0x72, 0x57, 0xeb, 0xe0, 0x25, + 0xad, 0x56, 0x19, 0xe1, 0xdd, 0x9d, 0xab, 0xf1, 0xef, 0x1c, 0x59, 0xa4, + 0x54, 0x49, 0x90, 0xe0, 0xc6, 0x81, 0x93, 0xe5, 0x9c, 0x28, 0x64, 0x7b, + 0xd6, 0x96, 0xa9, 0xc7, +}; +static const struct drbg_kat_pr_false kat1849_t = { + 3, kat1849_entropyin, kat1849_nonce, kat1849_persstr, + kat1849_entropyinreseed, kat1849_addinreseed, kat1849_addin0, + kat1849_addin1, kat1849_retbits +}; +static const struct drbg_kat kat1849 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1849_t +}; + +static const unsigned char kat1850_entropyin[] = { + 0x0c, 0x5e, 0xc7, 0x88, 0x1c, 0xbf, 0x99, 0x57, 0xe1, 0x09, 0xd8, 0xb9, + 0x76, 0xf8, 0x2b, 0xff, 0x1d, 0xf2, 0xa9, 0x45, 0xfa, 0x6d, 0xae, 0x0c, +}; +static const unsigned char kat1850_nonce[] = { + 0xf1, 0x8e, 0xf1, 0x25, 0x0b, 0x60, 0x8d, 0xbf, 0x06, 0x7c, 0xb6, 0xab, + 0xee, 0x21, 0x6b, 0x67, +}; +static const unsigned char kat1850_persstr[] = { + 0xc6, 0x4f, 0xda, 0x60, 0x0e, 0x24, 0x95, 0x3f, 0x36, 0xeb, 0x53, 0x05, + 0x89, 0x05, 0xcc, 0x2e, 0x94, 0xa4, 0xe6, 0x61, 0xe1, 0xc5, 0x4a, 0xf9, + 0xf8, 0xb2, 0x9f, 0x48, 0xa9, 0x6c, 0x69, 0xfb, +}; +static const unsigned char kat1850_entropyinreseed[] = { + 0x30, 0xdf, 0x03, 0xd1, 0xa3, 0x2d, 0xb7, 0xa7, 0x4c, 0x33, 0x8c, 0x80, + 0x33, 0x1b, 0x04, 0x30, 0x2e, 0xde, 0x61, 0x6d, 0xfd, 0x23, 0x05, 0x3e, +}; +static const unsigned char kat1850_addinreseed[] = { + 0x27, 0x40, 0x98, 0x30, 0xb6, 0x07, 0xcd, 0x33, 0x52, 0x06, 0x66, 0xdd, + 0x29, 0x1c, 0x3d, 0xd2, 0x0c, 0x38, 0xbe, 0xd5, 0x29, 0x99, 0xc1, 0x6f, + 0xb7, 0x28, 0x77, 0xc5, 0x95, 0x4e, 0x94, 0xe4, +}; +static const unsigned char kat1850_addin0[] = { + 0xb1, 0xf2, 0xf1, 0x6d, 0xeb, 0x47, 0xa7, 0x29, 0x0d, 0x79, 0x25, 0x1c, + 0x4a, 0xec, 0x38, 0xa0, 0x5d, 0xb3, 0x54, 0x96, 0xfc, 0x49, 0x89, 0x29, + 0x65, 0x3d, 0xb5, 0x40, 0xd3, 0x01, 0xf9, 0x39, +}; +static const unsigned char kat1850_addin1[] = { + 0x91, 0x8d, 0xb2, 0xc3, 0x1f, 0xd4, 0x0d, 0x06, 0xf0, 0x74, 0xb0, 0xf9, + 0x2a, 0x13, 0x27, 0xf8, 0x1d, 0x8c, 0xbc, 0x47, 0xd8, 0x35, 0xb0, 0x8a, + 0x69, 0x8b, 0x08, 0x3e, 0x57, 0x59, 0xde, 0xdf, +}; +static const unsigned char kat1850_retbits[] = { + 0xd1, 0x22, 0x39, 0xc3, 0x0a, 0x44, 0x58, 0x2e, 0xd0, 0x58, 0xf2, 0xb4, + 0x35, 0xe0, 0x75, 0xba, 0x23, 0x41, 0x69, 0xdb, 0xf3, 0x02, 0x70, 0xd7, + 0x5d, 0x00, 0xeb, 0xf3, 0x8e, 0xbf, 0x32, 0xf5, 0xd4, 0x33, 0xad, 0x1b, + 0xb8, 0xd8, 0xae, 0x2b, 0x15, 0x3f, 0x6f, 0x3f, 0xbf, 0xed, 0x74, 0x94, + 0xf5, 0xab, 0x9a, 0x9c, 0x19, 0x25, 0x6c, 0x4b, 0x10, 0xa9, 0xfc, 0xcb, + 0x28, 0x29, 0x82, 0x87, +}; +static const struct drbg_kat_pr_false kat1850_t = { + 4, kat1850_entropyin, kat1850_nonce, kat1850_persstr, + kat1850_entropyinreseed, kat1850_addinreseed, kat1850_addin0, + kat1850_addin1, kat1850_retbits +}; +static const struct drbg_kat kat1850 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1850_t +}; + +static const unsigned char kat1851_entropyin[] = { + 0x13, 0x30, 0x77, 0xd8, 0x2c, 0x26, 0xf9, 0x44, 0x8a, 0x28, 0x90, 0x0f, + 0xe6, 0xba, 0xde, 0x08, 0x0b, 0x38, 0x16, 0xc3, 0xf8, 0xc8, 0x98, 0xfd, +}; +static const unsigned char kat1851_nonce[] = { + 0x68, 0x72, 0x57, 0x45, 0x96, 0x0d, 0x17, 0x4e, 0xef, 0x8a, 0x76, 0x2b, + 0xc8, 0x7c, 0x0b, 0x9f, +}; +static const unsigned char kat1851_persstr[] = { + 0x45, 0x9b, 0x7a, 0x15, 0x4d, 0x7a, 0x66, 0xdc, 0x78, 0x7b, 0x89, 0xe5, + 0xdb, 0x98, 0x1c, 0x69, 0x0e, 0x95, 0xd3, 0x11, 0xd8, 0xa1, 0x68, 0xc4, + 0xd2, 0x6c, 0x48, 0x78, 0x90, 0x26, 0x64, 0xb9, +}; +static const unsigned char kat1851_entropyinreseed[] = { + 0xf1, 0xea, 0x44, 0xf0, 0x20, 0xa5, 0x57, 0x2a, 0xde, 0x8a, 0x84, 0x3f, + 0xdf, 0x1e, 0x9c, 0x4e, 0x5b, 0x0a, 0x06, 0x77, 0x56, 0x67, 0x0c, 0x1e, +}; +static const unsigned char kat1851_addinreseed[] = { + 0xf3, 0x73, 0x05, 0x96, 0x38, 0xdc, 0xb7, 0x60, 0x2a, 0x30, 0x88, 0x73, + 0x0b, 0xa0, 0x0c, 0xb3, 0x17, 0x90, 0x76, 0xa2, 0x79, 0x52, 0xd4, 0x65, + 0xfb, 0x01, 0x59, 0xf4, 0x6a, 0x19, 0x17, 0x91, +}; +static const unsigned char kat1851_addin0[] = { + 0x20, 0x4c, 0x3b, 0x20, 0xea, 0x88, 0x28, 0x1b, 0x5c, 0x76, 0x68, 0xbd, + 0x47, 0x4f, 0xa4, 0x3f, 0x61, 0x92, 0x1f, 0x70, 0x2b, 0xa6, 0xdf, 0x17, + 0x61, 0x6a, 0xd6, 0xe9, 0xeb, 0x14, 0x90, 0x45, +}; +static const unsigned char kat1851_addin1[] = { + 0xa0, 0x04, 0xcd, 0x5d, 0x29, 0x4a, 0x4a, 0x96, 0xb7, 0x6b, 0x68, 0x9c, + 0xc7, 0x77, 0xf4, 0xf6, 0x33, 0x57, 0x85, 0x8d, 0x7e, 0x51, 0x21, 0x27, + 0xca, 0x9c, 0x6e, 0x9a, 0xdf, 0xbc, 0x54, 0x7a, +}; +static const unsigned char kat1851_retbits[] = { + 0x70, 0x5a, 0xf2, 0x14, 0x7b, 0x04, 0x24, 0x8b, 0x0b, 0x7c, 0xd1, 0x7b, + 0x5b, 0x6f, 0xb8, 0x91, 0xf3, 0xb1, 0xa8, 0x42, 0x0e, 0x25, 0x3c, 0xc7, + 0x0c, 0x42, 0xf8, 0xb3, 0xcc, 0xf7, 0x79, 0xcc, 0x12, 0x8b, 0xa0, 0x09, + 0x58, 0x17, 0x40, 0xd8, 0x0d, 0x2e, 0x4c, 0xfa, 0xe6, 0x62, 0x43, 0x40, + 0xef, 0xe1, 0xa6, 0xa9, 0x20, 0xc2, 0x9a, 0xfd, 0x8a, 0xf6, 0x3c, 0xbe, + 0x0f, 0x66, 0x7c, 0xe3, +}; +static const struct drbg_kat_pr_false kat1851_t = { + 5, kat1851_entropyin, kat1851_nonce, kat1851_persstr, + kat1851_entropyinreseed, kat1851_addinreseed, kat1851_addin0, + kat1851_addin1, kat1851_retbits +}; +static const struct drbg_kat kat1851 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1851_t +}; + +static const unsigned char kat1852_entropyin[] = { + 0x05, 0x09, 0xdf, 0x07, 0x08, 0x54, 0x4e, 0x7a, 0x57, 0x5b, 0x3d, 0x5b, + 0x9e, 0x07, 0xb4, 0x9e, 0xe9, 0x35, 0x19, 0xfc, 0x33, 0xe0, 0x8f, 0x99, +}; +static const unsigned char kat1852_nonce[] = { + 0x02, 0xc8, 0x66, 0x33, 0x6f, 0xfe, 0x75, 0xdf, 0x64, 0x7f, 0x5c, 0x5f, + 0x81, 0xa1, 0x18, 0x8f, +}; +static const unsigned char kat1852_persstr[] = { + 0x3d, 0xda, 0xd3, 0xee, 0x67, 0xd0, 0x64, 0x14, 0xb7, 0x88, 0x25, 0xfb, + 0x0e, 0x75, 0x77, 0x8e, 0xd0, 0x50, 0xdb, 0x00, 0x6b, 0xef, 0x2b, 0x01, + 0x88, 0xd1, 0x9a, 0x15, 0x62, 0xec, 0xb4, 0x15, +}; +static const unsigned char kat1852_entropyinreseed[] = { + 0x56, 0x38, 0xe2, 0xa2, 0x2e, 0x7b, 0x1a, 0xb2, 0x0a, 0xf2, 0x7d, 0x83, + 0xde, 0x26, 0xc3, 0xcd, 0xee, 0x62, 0x5a, 0x81, 0x1d, 0xc7, 0x50, 0x79, +}; +static const unsigned char kat1852_addinreseed[] = { + 0x41, 0xfb, 0xd0, 0xae, 0xed, 0x30, 0x96, 0x66, 0xb0, 0x73, 0xaf, 0xb0, + 0x14, 0x11, 0xb7, 0xc4, 0x62, 0x67, 0x3d, 0xb9, 0x20, 0x26, 0x37, 0x03, + 0x01, 0x42, 0x32, 0x7a, 0xc1, 0x09, 0x25, 0x6d, +}; +static const unsigned char kat1852_addin0[] = { + 0x96, 0xc1, 0x7e, 0x3c, 0x80, 0xb0, 0x90, 0x57, 0x13, 0xb3, 0x21, 0x6d, + 0xd1, 0x19, 0xe9, 0xc0, 0xb5, 0xa4, 0xe8, 0x8e, 0x55, 0xa2, 0x01, 0xb4, + 0x30, 0x7b, 0x0d, 0x44, 0xd1, 0xf7, 0xe2, 0x4c, +}; +static const unsigned char kat1852_addin1[] = { + 0x40, 0x90, 0x5a, 0xce, 0xd9, 0x87, 0x18, 0x1f, 0x0c, 0x5e, 0x3b, 0xb4, + 0xdf, 0x7e, 0xa9, 0x99, 0x0c, 0x87, 0xcc, 0xc5, 0x87, 0x37, 0x0b, 0x92, + 0x37, 0xce, 0xa6, 0x5f, 0x80, 0x37, 0x86, 0x27, +}; +static const unsigned char kat1852_retbits[] = { + 0x7f, 0x68, 0xae, 0x02, 0x37, 0x99, 0xa3, 0x28, 0xda, 0xbe, 0x2b, 0x18, + 0x22, 0x5b, 0x51, 0x0b, 0x2d, 0xbc, 0x89, 0xd3, 0xfd, 0x85, 0x40, 0xff, + 0xc2, 0x4a, 0x41, 0x90, 0x67, 0x03, 0xb3, 0x21, 0x2b, 0xf8, 0x10, 0x09, + 0x0d, 0x6d, 0x2d, 0x0a, 0x53, 0x66, 0xfe, 0x64, 0xbf, 0x8f, 0xf4, 0xf8, + 0x76, 0x69, 0x7b, 0x7b, 0xf8, 0x09, 0x97, 0x67, 0x85, 0x3b, 0xed, 0xc3, + 0xf3, 0x7a, 0x34, 0x95, +}; +static const struct drbg_kat_pr_false kat1852_t = { + 6, kat1852_entropyin, kat1852_nonce, kat1852_persstr, + kat1852_entropyinreseed, kat1852_addinreseed, kat1852_addin0, + kat1852_addin1, kat1852_retbits +}; +static const struct drbg_kat kat1852 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1852_t +}; + +static const unsigned char kat1853_entropyin[] = { + 0xd0, 0xdd, 0x32, 0x9f, 0x93, 0x4d, 0xce, 0x8b, 0xf0, 0x87, 0x16, 0x01, + 0x40, 0x9c, 0x2e, 0x21, 0xcb, 0xf0, 0x35, 0x03, 0x04, 0xd3, 0xa7, 0x9c, +}; +static const unsigned char kat1853_nonce[] = { + 0xa3, 0xa0, 0x4c, 0x16, 0x44, 0xd1, 0xba, 0x80, 0xea, 0xfd, 0xde, 0x17, + 0xc4, 0x4e, 0x08, 0xdc, +}; +static const unsigned char kat1853_persstr[] = { + 0xda, 0x53, 0xb0, 0x0d, 0x0a, 0xf5, 0x64, 0x22, 0x1e, 0x37, 0xcd, 0x68, + 0x1c, 0xbb, 0x63, 0x9a, 0x77, 0x70, 0x4b, 0x37, 0x6a, 0x59, 0x8e, 0x16, + 0x4b, 0x05, 0x6c, 0xa1, 0xae, 0x4c, 0x1c, 0x50, +}; +static const unsigned char kat1853_entropyinreseed[] = { + 0x2e, 0x50, 0xff, 0xc1, 0x62, 0x75, 0x93, 0xc2, 0x55, 0xcc, 0x72, 0xa9, + 0x98, 0xed, 0xfc, 0x90, 0x67, 0xa3, 0x1e, 0xee, 0x74, 0xfd, 0xf0, 0xb7, +}; +static const unsigned char kat1853_addinreseed[] = { + 0x31, 0x4d, 0x8e, 0xa4, 0x09, 0x69, 0x70, 0xae, 0x48, 0xd3, 0x2f, 0x40, + 0x2b, 0x0c, 0xd7, 0x5e, 0xea, 0x72, 0xca, 0x46, 0x3d, 0xa3, 0x05, 0x75, + 0x2e, 0xba, 0x67, 0xbf, 0x23, 0xf0, 0x83, 0xa2, +}; +static const unsigned char kat1853_addin0[] = { + 0xac, 0x23, 0x73, 0x13, 0x07, 0x0a, 0x98, 0x06, 0x03, 0x4b, 0xe9, 0xdb, + 0x87, 0x99, 0x40, 0x56, 0xf6, 0x6a, 0xb0, 0x6b, 0x00, 0x0e, 0xee, 0x7d, + 0x8e, 0x1d, 0xde, 0x9e, 0xac, 0x24, 0xf8, 0x98, +}; +static const unsigned char kat1853_addin1[] = { + 0xc2, 0x45, 0xee, 0x9a, 0xc6, 0x08, 0x00, 0xb8, 0xf3, 0xd1, 0x35, 0x15, + 0xc5, 0x10, 0x2e, 0xda, 0xdb, 0xf3, 0x73, 0xe1, 0x33, 0xab, 0x8f, 0x81, + 0xd5, 0x1a, 0x3c, 0xe6, 0xe2, 0x26, 0x82, 0x95, +}; +static const unsigned char kat1853_retbits[] = { + 0xb2, 0x36, 0x08, 0x70, 0xea, 0x54, 0xd6, 0xa2, 0x40, 0x37, 0x2b, 0x7e, + 0xd8, 0x2b, 0x25, 0xb4, 0x97, 0x89, 0x7b, 0xdc, 0x5f, 0x23, 0x74, 0x64, + 0x0d, 0x06, 0xf2, 0x2e, 0x2a, 0xe0, 0x78, 0x22, 0xf9, 0x9a, 0x76, 0x8f, + 0xc9, 0x5f, 0x50, 0x84, 0x93, 0x24, 0x1f, 0x57, 0x3d, 0x5f, 0x86, 0x5e, + 0x87, 0x80, 0xa3, 0xb2, 0x79, 0x63, 0xe2, 0xb4, 0x51, 0x00, 0xae, 0xb7, + 0x1a, 0x38, 0x33, 0x2b, +}; +static const struct drbg_kat_pr_false kat1853_t = { + 7, kat1853_entropyin, kat1853_nonce, kat1853_persstr, + kat1853_entropyinreseed, kat1853_addinreseed, kat1853_addin0, + kat1853_addin1, kat1853_retbits +}; +static const struct drbg_kat kat1853 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1853_t +}; + +static const unsigned char kat1854_entropyin[] = { + 0x81, 0x88, 0x9a, 0x65, 0x45, 0x8e, 0x06, 0xf4, 0x48, 0xa6, 0x16, 0x35, + 0x3e, 0x1f, 0xcc, 0x5f, 0x82, 0xdc, 0x1b, 0xb7, 0x4b, 0x55, 0x41, 0xc7, +}; +static const unsigned char kat1854_nonce[] = { + 0x39, 0x04, 0x31, 0x44, 0xb4, 0x5f, 0xeb, 0x3a, 0x3a, 0x49, 0x23, 0xab, + 0x33, 0x64, 0x6a, 0x71, +}; +static const unsigned char kat1854_persstr[] = { + 0x3d, 0xf6, 0x37, 0x71, 0xf9, 0xf4, 0x04, 0x79, 0xd1, 0x2a, 0x1f, 0x24, + 0x6e, 0xf6, 0xe6, 0x59, 0x1b, 0x18, 0x18, 0x7e, 0xd1, 0x1d, 0xbd, 0xf0, + 0x4f, 0x1f, 0xd4, 0x50, 0xf0, 0xd2, 0x1c, 0x38, +}; +static const unsigned char kat1854_entropyinreseed[] = { + 0x62, 0xb1, 0x40, 0xdc, 0x4b, 0x7d, 0x68, 0x5d, 0x82, 0xf7, 0x4c, 0xd1, + 0x33, 0xfc, 0x49, 0xcc, 0x00, 0x60, 0xc4, 0xeb, 0xb9, 0xf1, 0xf6, 0xdd, +}; +static const unsigned char kat1854_addinreseed[] = { + 0x0b, 0x33, 0x1b, 0xd3, 0x8c, 0x94, 0x3a, 0xb1, 0x1f, 0xd1, 0xa2, 0xee, + 0xb5, 0x63, 0x5c, 0xe6, 0x6d, 0x73, 0x25, 0xf2, 0x61, 0xf0, 0x28, 0x95, + 0x3c, 0x3b, 0x63, 0x02, 0x63, 0x12, 0x20, 0x4e, +}; +static const unsigned char kat1854_addin0[] = { + 0x13, 0xfe, 0x4d, 0x09, 0x02, 0xde, 0x13, 0x62, 0x78, 0xb1, 0x4e, 0xd7, + 0x74, 0x94, 0x79, 0x84, 0x44, 0xb3, 0xda, 0x6e, 0x03, 0xed, 0xde, 0x64, + 0xb0, 0xdf, 0x11, 0xe2, 0x9b, 0x25, 0xcf, 0xcb, +}; +static const unsigned char kat1854_addin1[] = { + 0xe8, 0x0f, 0x4a, 0x99, 0x01, 0x4a, 0x52, 0x0d, 0x0d, 0x4f, 0xdd, 0xcb, + 0xd9, 0xb7, 0x38, 0x11, 0x10, 0x3c, 0xd9, 0x8e, 0x12, 0xe1, 0x0a, 0x69, + 0x2d, 0x45, 0x4f, 0x7c, 0x24, 0x5e, 0x5e, 0xe9, +}; +static const unsigned char kat1854_retbits[] = { + 0x14, 0x2d, 0x3d, 0xc2, 0x0f, 0x17, 0x78, 0x37, 0x82, 0x01, 0xb3, 0xda, + 0x58, 0xac, 0x7f, 0x32, 0xa0, 0x5a, 0xba, 0x7d, 0x91, 0xae, 0xc7, 0x55, + 0xf3, 0x2e, 0xf3, 0xfd, 0xd8, 0x0b, 0xa2, 0xea, 0x31, 0x10, 0xcd, 0x76, + 0xb7, 0xad, 0x3c, 0x54, 0xc7, 0x8d, 0x14, 0xed, 0xa6, 0x34, 0xc7, 0x4e, + 0xa8, 0x3b, 0x82, 0xf6, 0x31, 0xf4, 0xcf, 0x01, 0x75, 0x4a, 0x58, 0x33, + 0x4e, 0xa9, 0x31, 0x6e, +}; +static const struct drbg_kat_pr_false kat1854_t = { + 8, kat1854_entropyin, kat1854_nonce, kat1854_persstr, + kat1854_entropyinreseed, kat1854_addinreseed, kat1854_addin0, + kat1854_addin1, kat1854_retbits +}; +static const struct drbg_kat kat1854 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1854_t +}; + +static const unsigned char kat1855_entropyin[] = { + 0x03, 0xec, 0x84, 0x37, 0x99, 0x44, 0xaf, 0xf7, 0xe0, 0xad, 0xb0, 0x8c, + 0x92, 0x91, 0x12, 0x7e, 0xd3, 0x7e, 0xcb, 0x05, 0xa3, 0xec, 0x9e, 0x39, +}; +static const unsigned char kat1855_nonce[] = { + 0xc6, 0x91, 0xd7, 0x43, 0x54, 0x31, 0xe1, 0xd8, 0x11, 0xe4, 0xa7, 0x43, + 0xe5, 0x2b, 0x71, 0x35, +}; +static const unsigned char kat1855_persstr[] = { + 0xd9, 0x7f, 0x3f, 0xd8, 0x6b, 0xa4, 0x12, 0xdb, 0xe6, 0xd4, 0xba, 0xe7, + 0xef, 0x32, 0xb4, 0xd1, 0x06, 0x08, 0x6a, 0xde, 0xa3, 0xf4, 0xdf, 0x74, + 0xc5, 0x6f, 0x65, 0xe2, 0xe4, 0x82, 0x09, 0xdb, +}; +static const unsigned char kat1855_entropyinreseed[] = { + 0x41, 0xd8, 0x86, 0xd8, 0x52, 0x27, 0x78, 0x6a, 0x30, 0x87, 0x76, 0xad, + 0x7c, 0xa5, 0x29, 0xdd, 0x1f, 0x3e, 0x9b, 0x7c, 0x4c, 0x09, 0xa2, 0x12, +}; +static const unsigned char kat1855_addinreseed[] = { + 0x2f, 0x34, 0x43, 0xee, 0xc2, 0x9c, 0x51, 0x2a, 0x55, 0x77, 0x0c, 0x4c, + 0xa6, 0xa3, 0xf4, 0x63, 0x7f, 0xa9, 0x41, 0x52, 0xd7, 0x4c, 0xae, 0xa5, + 0xaa, 0x4b, 0xac, 0x9d, 0x21, 0x58, 0x4d, 0x22, +}; +static const unsigned char kat1855_addin0[] = { + 0x32, 0x25, 0x47, 0x0b, 0x5b, 0x9b, 0x52, 0x81, 0x56, 0x03, 0x89, 0xde, + 0x7a, 0x7e, 0x3f, 0xd5, 0x31, 0x49, 0xc5, 0xaa, 0xbf, 0x94, 0x07, 0x74, + 0x87, 0x78, 0xf6, 0xde, 0x9b, 0xb5, 0x1b, 0xf2, +}; +static const unsigned char kat1855_addin1[] = { + 0x4b, 0xa5, 0x9a, 0x6f, 0xb8, 0x7b, 0x8d, 0x97, 0x7c, 0x6f, 0x92, 0xac, + 0x3c, 0x62, 0x39, 0x97, 0xf7, 0x8a, 0x67, 0xa6, 0xa0, 0x5f, 0x0d, 0x15, + 0x19, 0x22, 0xda, 0x69, 0x26, 0x09, 0xf5, 0x21, +}; +static const unsigned char kat1855_retbits[] = { + 0x14, 0xc6, 0x93, 0xc3, 0x7a, 0x43, 0x3e, 0x2c, 0xa1, 0x6f, 0x30, 0xb4, + 0x17, 0xab, 0xe5, 0x65, 0x10, 0x4b, 0x41, 0x89, 0x8d, 0x6a, 0xcb, 0x75, + 0xfc, 0x3e, 0x86, 0x66, 0x08, 0xcb, 0xe5, 0x12, 0xac, 0xd8, 0x56, 0xd0, + 0xef, 0xb2, 0xcb, 0xbf, 0x82, 0xe8, 0xe9, 0x31, 0x01, 0xf0, 0x33, 0x66, + 0xa7, 0x86, 0x88, 0xe1, 0x44, 0x3f, 0xaf, 0xdc, 0xfd, 0x82, 0xe5, 0x85, + 0x7a, 0x8e, 0x51, 0xe6, +}; +static const struct drbg_kat_pr_false kat1855_t = { + 9, kat1855_entropyin, kat1855_nonce, kat1855_persstr, + kat1855_entropyinreseed, kat1855_addinreseed, kat1855_addin0, + kat1855_addin1, kat1855_retbits +}; +static const struct drbg_kat kat1855 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1855_t +}; + +static const unsigned char kat1856_entropyin[] = { + 0xd2, 0xac, 0xf0, 0x8b, 0xcc, 0x40, 0xe9, 0xdf, 0xc5, 0x9a, 0x64, 0x06, + 0xfc, 0x4e, 0x9c, 0x8b, 0x7e, 0x00, 0x74, 0x0d, 0x58, 0x9b, 0x98, 0xc9, +}; +static const unsigned char kat1856_nonce[] = { + 0x60, 0x23, 0x28, 0x4f, 0xfb, 0x13, 0x8b, 0xc5, 0x94, 0x91, 0xdd, 0x99, + 0x37, 0x44, 0x1d, 0xae, +}; +static const unsigned char kat1856_persstr[] = { + 0xb9, 0xc7, 0x53, 0x34, 0x66, 0x9d, 0xf3, 0x1c, 0x8b, 0x6a, 0xbd, 0x9d, + 0x25, 0xc4, 0x0f, 0xe3, 0x15, 0xad, 0xfa, 0xd4, 0xc4, 0x3b, 0x2f, 0x68, + 0x3e, 0x0c, 0xf2, 0x67, 0x33, 0x59, 0xd6, 0x7f, +}; +static const unsigned char kat1856_entropyinreseed[] = { + 0x4a, 0x89, 0x40, 0xb0, 0x18, 0x0d, 0x21, 0x6b, 0x63, 0x50, 0xb8, 0xb3, + 0xea, 0x55, 0xa1, 0xf2, 0x70, 0x7f, 0xed, 0x06, 0xe6, 0x72, 0x3e, 0x42, +}; +static const unsigned char kat1856_addinreseed[] = { + 0xcd, 0x9d, 0xe0, 0x0b, 0x55, 0xff, 0xbe, 0x8e, 0x02, 0xc8, 0x31, 0xc2, + 0x98, 0xb3, 0xc1, 0x3a, 0x4c, 0xbc, 0x4c, 0x3c, 0x6e, 0xb7, 0xb2, 0xb6, + 0x25, 0x8d, 0xe7, 0xc2, 0xd9, 0x5d, 0x4d, 0x9b, +}; +static const unsigned char kat1856_addin0[] = { + 0xaa, 0x37, 0x54, 0xc1, 0x3d, 0xde, 0x61, 0x6a, 0xa4, 0x62, 0x1f, 0xe0, + 0x8b, 0xd2, 0xab, 0xa2, 0x50, 0x87, 0x97, 0x67, 0x03, 0x93, 0x9c, 0x71, + 0xe8, 0x48, 0x32, 0xde, 0xbc, 0xf3, 0x98, 0x64, +}; +static const unsigned char kat1856_addin1[] = { + 0x52, 0x06, 0xe7, 0x1f, 0x69, 0xac, 0x98, 0x8e, 0x70, 0x92, 0xcc, 0xfd, + 0xea, 0x60, 0x41, 0xae, 0x16, 0x78, 0xab, 0x21, 0x60, 0x77, 0x60, 0xa8, + 0x5f, 0x4f, 0xb3, 0xc9, 0x9c, 0x27, 0xa1, 0x5a, +}; +static const unsigned char kat1856_retbits[] = { + 0xa2, 0x7f, 0x43, 0x51, 0xf8, 0x57, 0x33, 0x87, 0xc1, 0xdf, 0x57, 0xf2, + 0x0b, 0x75, 0xc1, 0xde, 0x59, 0xf8, 0xbb, 0x42, 0xe2, 0x7f, 0xba, 0x73, + 0x1c, 0xf6, 0x08, 0xe7, 0x49, 0xa7, 0x6c, 0x4d, 0xd0, 0x90, 0x4e, 0x2d, + 0x13, 0x72, 0x3f, 0xe5, 0x31, 0x8d, 0x9b, 0x69, 0xf1, 0x02, 0x03, 0x62, + 0xce, 0x23, 0xdf, 0x7e, 0xfe, 0x2c, 0x02, 0x3c, 0xee, 0x72, 0xfe, 0xfa, + 0xe0, 0x4d, 0x1d, 0x82, +}; +static const struct drbg_kat_pr_false kat1856_t = { + 10, kat1856_entropyin, kat1856_nonce, kat1856_persstr, + kat1856_entropyinreseed, kat1856_addinreseed, kat1856_addin0, + kat1856_addin1, kat1856_retbits +}; +static const struct drbg_kat kat1856 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1856_t +}; + +static const unsigned char kat1857_entropyin[] = { + 0x1b, 0x03, 0xf6, 0x89, 0x55, 0x05, 0x65, 0x3d, 0xe5, 0xb3, 0x4c, 0x21, + 0xac, 0x40, 0xb5, 0xb9, 0x66, 0x9a, 0x9d, 0xb1, 0x38, 0x88, 0x79, 0x00, +}; +static const unsigned char kat1857_nonce[] = { + 0x3c, 0x76, 0xd7, 0xa2, 0xae, 0x12, 0x20, 0x50, 0x88, 0x6d, 0x23, 0xb6, + 0xf5, 0x3f, 0x6d, 0x86, +}; +static const unsigned char kat1857_persstr[] = { + 0x23, 0x4a, 0xde, 0x4d, 0x96, 0x7a, 0xf7, 0xdf, 0x54, 0xd5, 0x01, 0x27, + 0x0c, 0xbf, 0xd6, 0x58, 0xd1, 0xc9, 0x6d, 0xee, 0x79, 0xbc, 0xbd, 0x4c, + 0xe5, 0x55, 0x25, 0x53, 0xb1, 0x13, 0xef, 0x05, +}; +static const unsigned char kat1857_entropyinreseed[] = { + 0x0e, 0x24, 0x0b, 0x43, 0x6e, 0x48, 0xeb, 0xfd, 0x50, 0xb2, 0xe0, 0x0f, + 0xa2, 0xd5, 0xb4, 0xe0, 0x49, 0x76, 0xf7, 0xf8, 0x94, 0xa1, 0xdf, 0x4a, +}; +static const unsigned char kat1857_addinreseed[] = { + 0x9b, 0x43, 0xb7, 0x34, 0xd7, 0x11, 0x98, 0x5f, 0x69, 0x90, 0x0f, 0x6a, + 0x0b, 0x09, 0xdc, 0x9f, 0x8e, 0xb0, 0x0a, 0xf4, 0xe5, 0x4f, 0x7f, 0x5b, + 0x64, 0xee, 0x09, 0x5b, 0xca, 0xdd, 0x2c, 0x89, +}; +static const unsigned char kat1857_addin0[] = { + 0xf9, 0x1d, 0x3a, 0xb7, 0xca, 0xee, 0xad, 0x5e, 0x2f, 0x29, 0xad, 0xfa, + 0x0f, 0xa9, 0x70, 0xc3, 0x7a, 0x96, 0xd6, 0x33, 0xd9, 0xdc, 0x42, 0xe4, + 0x27, 0x19, 0x7d, 0x12, 0x1e, 0x34, 0x58, 0x05, +}; +static const unsigned char kat1857_addin1[] = { + 0x3e, 0x97, 0x02, 0x59, 0x15, 0xa5, 0x16, 0xb2, 0x21, 0xf6, 0x27, 0x98, + 0x32, 0x45, 0xc2, 0x8a, 0x6a, 0xa6, 0x62, 0xad, 0x78, 0xca, 0x82, 0xb2, + 0x95, 0xfd, 0xbc, 0x91, 0x6e, 0x06, 0x2f, 0x02, +}; +static const unsigned char kat1857_retbits[] = { + 0x18, 0x63, 0xad, 0x4e, 0x4d, 0xa5, 0xee, 0x11, 0x31, 0xdc, 0x40, 0xc2, + 0xa0, 0x87, 0x81, 0x17, 0x7f, 0xa8, 0xf3, 0x45, 0x19, 0x88, 0x4a, 0xb1, + 0xaf, 0x43, 0x6a, 0x4e, 0xa6, 0x9d, 0x0a, 0xca, 0x1b, 0x97, 0x10, 0x86, + 0x2b, 0x70, 0x0d, 0x5c, 0x47, 0xbb, 0xd4, 0x8b, 0x56, 0x00, 0x0c, 0xcf, + 0xb3, 0xd2, 0x44, 0x67, 0xaf, 0xc5, 0xd1, 0xd6, 0xad, 0x58, 0x11, 0xee, + 0x0a, 0x45, 0xdc, 0xec, +}; +static const struct drbg_kat_pr_false kat1857_t = { + 11, kat1857_entropyin, kat1857_nonce, kat1857_persstr, + kat1857_entropyinreseed, kat1857_addinreseed, kat1857_addin0, + kat1857_addin1, kat1857_retbits +}; +static const struct drbg_kat kat1857 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1857_t +}; + +static const unsigned char kat1858_entropyin[] = { + 0xfa, 0xff, 0x69, 0x5a, 0x25, 0x5d, 0xbb, 0x2f, 0xa6, 0x7e, 0x64, 0xaf, + 0x83, 0x4c, 0x95, 0xac, 0xc2, 0x72, 0xa9, 0x75, 0x84, 0x2b, 0xcd, 0x35, +}; +static const unsigned char kat1858_nonce[] = { + 0x83, 0x39, 0xa7, 0xd4, 0x9d, 0xbb, 0x6b, 0x36, 0xa8, 0x46, 0x9a, 0xf7, + 0x40, 0xc8, 0x7f, 0x27, +}; +static const unsigned char kat1858_persstr[] = { + 0xbb, 0xba, 0xf2, 0x72, 0x49, 0xf3, 0x0e, 0x12, 0x12, 0x98, 0x02, 0x84, + 0xb8, 0x37, 0xde, 0x12, 0x01, 0x02, 0x49, 0xef, 0xba, 0x78, 0xa3, 0xf8, + 0xc7, 0x65, 0x75, 0x39, 0xea, 0x70, 0x80, 0xc7, +}; +static const unsigned char kat1858_entropyinreseed[] = { + 0x13, 0xb2, 0xbe, 0x94, 0x5b, 0x68, 0xb9, 0x85, 0x71, 0xac, 0x82, 0xf5, + 0x91, 0x81, 0x95, 0x38, 0xc4, 0x41, 0xc4, 0x55, 0x6c, 0x58, 0x15, 0xe2, +}; +static const unsigned char kat1858_addinreseed[] = { + 0x7b, 0x6c, 0x0c, 0x3d, 0xdf, 0xd4, 0x81, 0x3f, 0x4e, 0x8a, 0xea, 0x81, + 0x99, 0x43, 0x06, 0x7f, 0x25, 0xa4, 0xb8, 0x93, 0x9a, 0x43, 0xe3, 0xcd, + 0xf3, 0x2f, 0xad, 0x5d, 0x15, 0x9d, 0x69, 0xad, +}; +static const unsigned char kat1858_addin0[] = { + 0xbf, 0xee, 0x57, 0x52, 0x37, 0x9d, 0x9f, 0xe8, 0xcc, 0xe5, 0x5b, 0x19, + 0x7f, 0x3c, 0x46, 0xde, 0xbc, 0x66, 0xc9, 0x33, 0xe5, 0xf9, 0xba, 0x37, + 0x4b, 0x9d, 0xd6, 0xf1, 0x84, 0x20, 0x2d, 0xd7, +}; +static const unsigned char kat1858_addin1[] = { + 0xa6, 0x08, 0x47, 0x94, 0x33, 0xbc, 0xef, 0x51, 0x7e, 0x81, 0x44, 0x8c, + 0x91, 0x2f, 0x25, 0x7e, 0x66, 0x87, 0x74, 0x7c, 0x99, 0x24, 0xb8, 0xf8, + 0x8a, 0x0e, 0xc1, 0x44, 0x2d, 0x90, 0xe1, 0x9e, +}; +static const unsigned char kat1858_retbits[] = { + 0x7c, 0xc6, 0x5e, 0x63, 0x83, 0xaa, 0x89, 0x19, 0x34, 0xe5, 0xcf, 0x1e, + 0x6d, 0x29, 0x69, 0x2e, 0xa5, 0xf2, 0x78, 0xf3, 0x5f, 0x4d, 0x5e, 0x48, + 0xfc, 0x21, 0xf6, 0x04, 0xe4, 0xf4, 0x2e, 0xed, 0xad, 0x07, 0xd2, 0xb1, + 0xad, 0x70, 0xfa, 0x74, 0x62, 0xec, 0x0e, 0xd6, 0x68, 0x6b, 0x27, 0x36, + 0x5f, 0xa0, 0xa7, 0xb3, 0x4e, 0xc8, 0x4e, 0xf3, 0xaa, 0x9b, 0xb0, 0x8e, + 0x02, 0x7d, 0x6c, 0xa0, +}; +static const struct drbg_kat_pr_false kat1858_t = { + 12, kat1858_entropyin, kat1858_nonce, kat1858_persstr, + kat1858_entropyinreseed, kat1858_addinreseed, kat1858_addin0, + kat1858_addin1, kat1858_retbits +}; +static const struct drbg_kat kat1858 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1858_t +}; + +static const unsigned char kat1859_entropyin[] = { + 0xd0, 0x98, 0xdf, 0x2d, 0x5d, 0x7a, 0x8e, 0x96, 0xd4, 0x79, 0xf6, 0xac, + 0x30, 0xa1, 0x77, 0x15, 0x00, 0xec, 0xac, 0x0e, 0x2b, 0x82, 0x9d, 0x22, +}; +static const unsigned char kat1859_nonce[] = { + 0x8d, 0xa4, 0xd6, 0x23, 0x31, 0xed, 0xec, 0xf8, 0x28, 0xeb, 0x58, 0x52, + 0xed, 0x92, 0x01, 0x0c, +}; +static const unsigned char kat1859_persstr[] = { + 0xc6, 0x1d, 0x8a, 0x14, 0x18, 0xc0, 0xe0, 0xeb, 0x3d, 0x06, 0x52, 0xe5, + 0x5b, 0x77, 0x0f, 0x87, 0x10, 0xc8, 0x4a, 0xed, 0x5e, 0x24, 0xd3, 0xc6, + 0x31, 0x48, 0x5b, 0x15, 0xbc, 0x03, 0x70, 0x90, +}; +static const unsigned char kat1859_entropyinreseed[] = { + 0x81, 0x22, 0x96, 0xb1, 0xfc, 0xd4, 0x7b, 0xbf, 0x5d, 0x3d, 0xec, 0x66, + 0x25, 0xfc, 0x85, 0xd1, 0xe1, 0x41, 0xab, 0x26, 0x65, 0x5f, 0xb1, 0x88, +}; +static const unsigned char kat1859_addinreseed[] = { + 0xb1, 0x32, 0x81, 0x65, 0x61, 0x0b, 0xef, 0x7a, 0x32, 0x38, 0x69, 0x0c, + 0x03, 0x54, 0x9f, 0x06, 0xfa, 0xf8, 0x72, 0xd6, 0x42, 0x82, 0x7c, 0x38, + 0x5d, 0x6c, 0xe0, 0x39, 0x46, 0x5c, 0xbe, 0x56, +}; +static const unsigned char kat1859_addin0[] = { + 0x41, 0x03, 0x4b, 0xa9, 0xac, 0x78, 0x98, 0x7f, 0x21, 0xeb, 0xcd, 0xdc, + 0x7e, 0x22, 0x89, 0x85, 0xb7, 0x18, 0x33, 0x45, 0x3e, 0x14, 0xeb, 0x71, + 0x29, 0x26, 0x1b, 0x5f, 0xdc, 0xa5, 0xfa, 0xf7, +}; +static const unsigned char kat1859_addin1[] = { + 0x39, 0x8f, 0xbe, 0x1d, 0xca, 0x9a, 0x36, 0x1f, 0x27, 0x68, 0x64, 0xb0, + 0xcd, 0xe0, 0xe5, 0xf2, 0x5c, 0xc3, 0x7b, 0x29, 0x4b, 0xb0, 0xc0, 0x48, + 0x3b, 0x10, 0x9d, 0x7b, 0x36, 0x87, 0x8a, 0x5b, +}; +static const unsigned char kat1859_retbits[] = { + 0xc6, 0xd5, 0x44, 0xdd, 0xde, 0xbe, 0x42, 0x7b, 0x73, 0xe7, 0x5d, 0x9d, + 0x65, 0x9d, 0x49, 0x98, 0xe7, 0x23, 0x04, 0xca, 0x64, 0xc5, 0x6d, 0x07, + 0xf6, 0x8b, 0x70, 0x12, 0x5e, 0x90, 0xfe, 0xb9, 0xff, 0x70, 0xaf, 0xd2, + 0xb8, 0x59, 0x86, 0x67, 0xcb, 0x6b, 0x08, 0x43, 0x65, 0x57, 0x69, 0x85, + 0x5e, 0xf3, 0xa7, 0x83, 0x2b, 0x86, 0x05, 0x55, 0x43, 0xac, 0xfe, 0x4d, + 0x37, 0x7c, 0x01, 0x8a, +}; +static const struct drbg_kat_pr_false kat1859_t = { + 13, kat1859_entropyin, kat1859_nonce, kat1859_persstr, + kat1859_entropyinreseed, kat1859_addinreseed, kat1859_addin0, + kat1859_addin1, kat1859_retbits +}; +static const struct drbg_kat kat1859 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1859_t +}; + +static const unsigned char kat1860_entropyin[] = { + 0x17, 0xb7, 0xbb, 0x5b, 0x07, 0x6a, 0x5f, 0x4c, 0x5b, 0x87, 0xb9, 0xcb, + 0x11, 0x38, 0x3d, 0xdb, 0x38, 0xc4, 0x94, 0xb7, 0xb8, 0x9e, 0xed, 0x83, +}; +static const unsigned char kat1860_nonce[] = { + 0x2d, 0xd9, 0x28, 0xdd, 0x7e, 0xee, 0x5f, 0x03, 0x97, 0x79, 0xe7, 0xcd, + 0x05, 0x04, 0x49, 0x37, +}; +static const unsigned char kat1860_persstr[] = { + 0x77, 0xe9, 0xd3, 0xbc, 0x69, 0xed, 0x06, 0xc4, 0xd9, 0x70, 0x99, 0x71, + 0xdf, 0xac, 0x2a, 0xb7, 0x75, 0x32, 0x35, 0x0c, 0x2a, 0x86, 0x0d, 0xe7, + 0xb0, 0x11, 0x47, 0x75, 0x6d, 0x59, 0x41, 0x31, +}; +static const unsigned char kat1860_entropyinreseed[] = { + 0x42, 0xef, 0x85, 0x73, 0x7b, 0x47, 0x2b, 0xae, 0x82, 0x02, 0x15, 0xf1, + 0xa7, 0xf0, 0x0c, 0xe6, 0x80, 0x50, 0x26, 0x56, 0x3c, 0x70, 0x3d, 0x87, +}; +static const unsigned char kat1860_addinreseed[] = { + 0xb2, 0x28, 0xa3, 0x11, 0x3a, 0xbc, 0x0e, 0x1e, 0x45, 0x03, 0x39, 0xcb, + 0xf6, 0x1b, 0x74, 0xb1, 0x38, 0x67, 0x16, 0xf8, 0x67, 0x4e, 0x73, 0x7c, + 0xdf, 0x38, 0x45, 0xcb, 0x67, 0x2b, 0x38, 0x07, +}; +static const unsigned char kat1860_addin0[] = { + 0x13, 0x36, 0xba, 0x38, 0xc0, 0x4d, 0x6f, 0x3a, 0x2d, 0x43, 0xb1, 0x9f, + 0x65, 0x70, 0xbe, 0xfc, 0x05, 0x06, 0xa3, 0xd0, 0x2b, 0x0b, 0x62, 0x96, + 0xf4, 0xd5, 0x12, 0x21, 0x66, 0x5b, 0x8f, 0x45, +}; +static const unsigned char kat1860_addin1[] = { + 0xbf, 0x2b, 0x08, 0x64, 0x99, 0x55, 0x8c, 0x15, 0xc1, 0xd6, 0x0a, 0xd7, + 0xa2, 0xcc, 0x90, 0xb2, 0xb9, 0xac, 0x41, 0x1f, 0xa2, 0x13, 0xa2, 0x01, + 0x44, 0xac, 0xa3, 0x86, 0x48, 0x3f, 0x50, 0xdf, +}; +static const unsigned char kat1860_retbits[] = { + 0x0e, 0xce, 0xc0, 0xe3, 0x4a, 0x4d, 0x31, 0x9c, 0x1e, 0x41, 0x34, 0xae, + 0xf6, 0x33, 0xbf, 0x5d, 0x2a, 0xe0, 0x9e, 0x93, 0x11, 0xb2, 0x9b, 0x74, + 0xfc, 0x76, 0x51, 0xc6, 0xa4, 0x29, 0x53, 0xcf, 0xc0, 0x47, 0xf6, 0xf6, + 0x89, 0x27, 0x62, 0x6a, 0x6f, 0xfc, 0xc9, 0xa2, 0x05, 0xfd, 0x3a, 0x33, + 0x46, 0xa1, 0x10, 0x58, 0x04, 0xfc, 0x1b, 0x4d, 0x60, 0x76, 0xbd, 0xd1, + 0x1b, 0xa3, 0x71, 0x90, +}; +static const struct drbg_kat_pr_false kat1860_t = { + 14, kat1860_entropyin, kat1860_nonce, kat1860_persstr, + kat1860_entropyinreseed, kat1860_addinreseed, kat1860_addin0, + kat1860_addin1, kat1860_retbits +}; +static const struct drbg_kat kat1860 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1860_t +}; + +static const unsigned char kat1861_entropyin[] = { + 0xb7, 0x1d, 0x3e, 0x35, 0x69, 0x7b, 0x6a, 0x1c, 0xf5, 0xca, 0x4f, 0x09, + 0x92, 0xda, 0xe0, 0xaf, 0xd9, 0x1d, 0x6d, 0x59, 0xfa, 0x67, 0x34, 0x40, +}; +static const unsigned char kat1861_nonce[] = { + 0x40, 0x0b, 0x0d, 0xe0, 0x36, 0x70, 0x40, 0x9c, 0x92, 0x79, 0x85, 0x35, + 0x85, 0x8e, 0x54, 0x88, +}; +static const unsigned char kat1861_persstr[] = {0}; +static const unsigned char kat1861_entropyinreseed[] = { + 0x56, 0xe3, 0x1e, 0xb4, 0xa1, 0xc8, 0xba, 0xe7, 0x96, 0x20, 0x7a, 0xa5, + 0x20, 0xd6, 0x61, 0x61, 0xcf, 0x06, 0xbe, 0x2d, 0x5b, 0x46, 0xa7, 0xaa, +}; +static const unsigned char kat1861_addinreseed[] = {0}; +static const unsigned char kat1861_addin0[] = {0}; +static const unsigned char kat1861_addin1[] = {0}; +static const unsigned char kat1861_retbits[] = { + 0x3d, 0xce, 0x2a, 0xce, 0xaa, 0xec, 0x3f, 0xcf, 0x59, 0xd7, 0x2a, 0xd8, + 0xca, 0xe9, 0x26, 0x75, 0x37, 0xb0, 0xd9, 0x65, 0xb9, 0x70, 0x84, 0x6d, + 0x2c, 0xa3, 0xc5, 0x2c, 0xcc, 0x28, 0xfe, 0x78, 0x62, 0xea, 0x14, 0x40, + 0x74, 0xd7, 0x19, 0xe1, 0x8a, 0x7c, 0x50, 0xa9, 0xa1, 0x88, 0xef, 0x28, + 0x9f, 0x36, 0xd1, 0x1d, 0x20, 0xe1, 0x76, 0xc0, 0x02, 0x0d, 0x0d, 0xbf, + 0x2c, 0x94, 0xc2, 0x82, +}; +static const struct drbg_kat_pr_false kat1861_t = { + 0, kat1861_entropyin, kat1861_nonce, kat1861_persstr, + kat1861_entropyinreseed, kat1861_addinreseed, kat1861_addin0, + kat1861_addin1, kat1861_retbits +}; +static const struct drbg_kat kat1861 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1861_t +}; + +static const unsigned char kat1862_entropyin[] = { + 0x04, 0xa2, 0xb8, 0xad, 0xf8, 0x34, 0x88, 0x64, 0x3d, 0x5e, 0x67, 0x12, + 0xd0, 0x9f, 0xdb, 0x4b, 0x0d, 0xa6, 0x0e, 0x3e, 0xbd, 0x0e, 0x64, 0x27, +}; +static const unsigned char kat1862_nonce[] = { + 0xc7, 0x0f, 0xfc, 0x39, 0x67, 0x41, 0x6d, 0x4a, 0xf2, 0xe3, 0xf5, 0xef, + 0x20, 0xd7, 0xd4, 0x02, +}; +static const unsigned char kat1862_persstr[] = {0}; +static const unsigned char kat1862_entropyinreseed[] = { + 0xb3, 0xf2, 0x48, 0xa4, 0xca, 0x6f, 0x65, 0x89, 0x3e, 0x61, 0x3e, 0xac, + 0xa4, 0xe2, 0x4c, 0x99, 0xd1, 0xff, 0xbb, 0x37, 0x33, 0x95, 0xa8, 0xe8, +}; +static const unsigned char kat1862_addinreseed[] = {0}; +static const unsigned char kat1862_addin0[] = {0}; +static const unsigned char kat1862_addin1[] = {0}; +static const unsigned char kat1862_retbits[] = { + 0x3c, 0x7a, 0x50, 0xf0, 0x21, 0x5c, 0xd9, 0xb4, 0xcf, 0x60, 0xea, 0x77, + 0xc0, 0x6a, 0xd2, 0x09, 0xb2, 0x4d, 0xf9, 0x3c, 0x9d, 0x7a, 0x9d, 0x28, + 0x8c, 0xc4, 0x97, 0x8c, 0x18, 0xe0, 0x88, 0x35, 0x67, 0x1c, 0x9f, 0x7a, + 0x54, 0x15, 0xde, 0x66, 0xbb, 0xbf, 0xaa, 0x5c, 0x9c, 0x2e, 0x70, 0x99, + 0x98, 0x98, 0x8d, 0x86, 0x12, 0x2f, 0x98, 0x5b, 0x86, 0xfd, 0xb5, 0x02, + 0xed, 0xf1, 0xb9, 0x28, +}; +static const struct drbg_kat_pr_false kat1862_t = { + 1, kat1862_entropyin, kat1862_nonce, kat1862_persstr, + kat1862_entropyinreseed, kat1862_addinreseed, kat1862_addin0, + kat1862_addin1, kat1862_retbits +}; +static const struct drbg_kat kat1862 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1862_t +}; + +static const unsigned char kat1863_entropyin[] = { + 0x73, 0xd6, 0x8d, 0x22, 0xb4, 0xb6, 0xb9, 0x8c, 0xf4, 0xee, 0x1a, 0x4f, + 0x6b, 0x8f, 0x6a, 0x03, 0x58, 0x93, 0xf0, 0x3d, 0x34, 0xeb, 0x82, 0xa2, +}; +static const unsigned char kat1863_nonce[] = { + 0x76, 0xd8, 0x33, 0x38, 0xff, 0x6e, 0x65, 0x71, 0xe9, 0x59, 0x7f, 0x34, + 0xa8, 0x04, 0x62, 0x6d, +}; +static const unsigned char kat1863_persstr[] = {0}; +static const unsigned char kat1863_entropyinreseed[] = { + 0xdc, 0xe7, 0xc7, 0x23, 0x8d, 0x22, 0xe6, 0x3d, 0xb2, 0xed, 0xd8, 0xf9, + 0xa4, 0x86, 0x84, 0x69, 0x9f, 0x94, 0x94, 0xb4, 0x69, 0x82, 0x51, 0x66, +}; +static const unsigned char kat1863_addinreseed[] = {0}; +static const unsigned char kat1863_addin0[] = {0}; +static const unsigned char kat1863_addin1[] = {0}; +static const unsigned char kat1863_retbits[] = { + 0x29, 0x6e, 0xfd, 0x1a, 0x98, 0xed, 0xf4, 0x54, 0x2d, 0x34, 0xf6, 0x93, + 0x8b, 0xd8, 0x82, 0x6e, 0x52, 0x5e, 0x46, 0x61, 0xaa, 0xc5, 0xef, 0xd0, + 0x21, 0x69, 0xf5, 0x52, 0xab, 0x12, 0xdd, 0x01, 0x93, 0xb6, 0xf7, 0x66, + 0xb4, 0x1d, 0xa0, 0x55, 0x30, 0x06, 0xcb, 0xba, 0xf5, 0xb7, 0x29, 0x37, + 0x7e, 0xb2, 0xc9, 0x30, 0xb7, 0x1a, 0xb8, 0x62, 0x17, 0x31, 0xa0, 0x63, + 0xbb, 0x11, 0x13, 0xb9, +}; +static const struct drbg_kat_pr_false kat1863_t = { + 2, kat1863_entropyin, kat1863_nonce, kat1863_persstr, + kat1863_entropyinreseed, kat1863_addinreseed, kat1863_addin0, + kat1863_addin1, kat1863_retbits +}; +static const struct drbg_kat kat1863 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1863_t +}; + +static const unsigned char kat1864_entropyin[] = { + 0xbe, 0xe5, 0xbf, 0xc0, 0x0f, 0x67, 0x07, 0x95, 0x85, 0xf1, 0x15, 0x9c, + 0x37, 0xe5, 0xc2, 0xda, 0xca, 0xf1, 0x9a, 0x20, 0x57, 0x4b, 0x9a, 0xe6, +}; +static const unsigned char kat1864_nonce[] = { + 0x8d, 0xf0, 0xc9, 0xb5, 0xbb, 0x7b, 0x18, 0xdf, 0x82, 0x3f, 0xe5, 0x6c, + 0xf1, 0x15, 0x3d, 0x53, +}; +static const unsigned char kat1864_persstr[] = {0}; +static const unsigned char kat1864_entropyinreseed[] = { + 0xc1, 0xa5, 0x3c, 0xfa, 0x7d, 0xa4, 0x4e, 0xb9, 0x42, 0x0b, 0x3e, 0xb7, + 0x22, 0xda, 0xab, 0x61, 0x85, 0x8f, 0x5e, 0xfa, 0x57, 0x3f, 0x12, 0xc1, +}; +static const unsigned char kat1864_addinreseed[] = {0}; +static const unsigned char kat1864_addin0[] = {0}; +static const unsigned char kat1864_addin1[] = {0}; +static const unsigned char kat1864_retbits[] = { + 0xda, 0xc2, 0x50, 0x49, 0x2a, 0xbf, 0x78, 0xbf, 0x7c, 0x43, 0x37, 0x36, + 0x97, 0x4f, 0x73, 0xbb, 0x2c, 0xb3, 0xd3, 0xe0, 0x1c, 0xfd, 0xf2, 0x72, + 0x6d, 0x31, 0x59, 0x08, 0x63, 0xb2, 0x96, 0x45, 0x1d, 0x5b, 0x51, 0x27, + 0x50, 0x7f, 0x6d, 0x4c, 0x50, 0x06, 0x72, 0x72, 0xfa, 0xea, 0x3a, 0xa5, + 0x79, 0x06, 0x70, 0x56, 0x89, 0x48, 0xc6, 0x17, 0xaf, 0x11, 0x61, 0x24, + 0x96, 0xb7, 0x6e, 0xe1, +}; +static const struct drbg_kat_pr_false kat1864_t = { + 3, kat1864_entropyin, kat1864_nonce, kat1864_persstr, + kat1864_entropyinreseed, kat1864_addinreseed, kat1864_addin0, + kat1864_addin1, kat1864_retbits +}; +static const struct drbg_kat kat1864 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1864_t +}; + +static const unsigned char kat1865_entropyin[] = { + 0xbe, 0x06, 0x74, 0x4b, 0x7c, 0xc6, 0x33, 0x13, 0x20, 0x86, 0xb2, 0xd5, + 0xa1, 0xe9, 0xb6, 0x2c, 0x26, 0xbd, 0xe5, 0x6b, 0xd9, 0xc0, 0xd7, 0xd0, +}; +static const unsigned char kat1865_nonce[] = { + 0x70, 0x57, 0x67, 0xee, 0xb9, 0xb9, 0x7c, 0xe7, 0x17, 0xd7, 0x27, 0x2e, + 0x75, 0xb6, 0x21, 0xb8, +}; +static const unsigned char kat1865_persstr[] = {0}; +static const unsigned char kat1865_entropyinreseed[] = { + 0xc9, 0x38, 0x49, 0x87, 0x51, 0x8e, 0xa2, 0xd0, 0x29, 0xea, 0x7c, 0x1d, + 0x41, 0x65, 0x7c, 0x55, 0xd7, 0x79, 0x38, 0x82, 0xc8, 0xe0, 0x8c, 0xcc, +}; +static const unsigned char kat1865_addinreseed[] = {0}; +static const unsigned char kat1865_addin0[] = {0}; +static const unsigned char kat1865_addin1[] = {0}; +static const unsigned char kat1865_retbits[] = { + 0xef, 0x10, 0xc8, 0x6d, 0x13, 0x4b, 0xa1, 0x62, 0x57, 0xad, 0x2f, 0xa4, + 0x83, 0x96, 0x13, 0x49, 0x17, 0x79, 0x57, 0x24, 0xf7, 0xed, 0x52, 0x57, + 0xa2, 0x87, 0x88, 0xd7, 0x29, 0xae, 0x13, 0x93, 0xf4, 0x42, 0xbc, 0x5f, + 0x5a, 0x5d, 0x39, 0x88, 0x4b, 0x3b, 0x9d, 0xf5, 0x6e, 0x26, 0x2b, 0xe4, + 0x29, 0x88, 0x1a, 0x72, 0x01, 0x69, 0x5a, 0xcd, 0x21, 0xfc, 0x2c, 0xef, + 0xdb, 0x91, 0xff, 0xa7, +}; +static const struct drbg_kat_pr_false kat1865_t = { + 4, kat1865_entropyin, kat1865_nonce, kat1865_persstr, + kat1865_entropyinreseed, kat1865_addinreseed, kat1865_addin0, + kat1865_addin1, kat1865_retbits +}; +static const struct drbg_kat kat1865 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1865_t +}; + +static const unsigned char kat1866_entropyin[] = { + 0x0f, 0x06, 0xdf, 0xb4, 0x07, 0xdc, 0x85, 0x79, 0x61, 0x76, 0x13, 0xe5, + 0xf7, 0x16, 0x54, 0xa6, 0xad, 0xb9, 0xb2, 0x7a, 0xef, 0x95, 0xd8, 0xa6, +}; +static const unsigned char kat1866_nonce[] = { + 0x4c, 0xd4, 0x15, 0xdd, 0x1a, 0x32, 0xc7, 0xe2, 0x8b, 0x86, 0x35, 0xe5, + 0x4d, 0xe9, 0x28, 0x7d, +}; +static const unsigned char kat1866_persstr[] = {0}; +static const unsigned char kat1866_entropyinreseed[] = { + 0xac, 0xfa, 0x2c, 0xbc, 0x60, 0xe6, 0xcd, 0x27, 0x3d, 0x64, 0x99, 0x77, + 0xe5, 0x67, 0x59, 0x0d, 0x05, 0xd1, 0x5e, 0x6b, 0x52, 0x94, 0xdd, 0x2b, +}; +static const unsigned char kat1866_addinreseed[] = {0}; +static const unsigned char kat1866_addin0[] = {0}; +static const unsigned char kat1866_addin1[] = {0}; +static const unsigned char kat1866_retbits[] = { + 0x93, 0x67, 0x8a, 0x28, 0x0f, 0xad, 0x7a, 0xdd, 0x11, 0x77, 0x6e, 0x03, + 0x35, 0x88, 0xd7, 0x57, 0x54, 0x0e, 0x45, 0x14, 0x44, 0x86, 0xb3, 0xc7, + 0x5d, 0x87, 0xd2, 0xf0, 0x3f, 0xf3, 0x64, 0xef, 0x6d, 0xee, 0x2c, 0x87, + 0x78, 0xd4, 0x35, 0xa4, 0xd6, 0x97, 0x5b, 0x3c, 0xb2, 0x53, 0x0b, 0x07, + 0x1b, 0x65, 0x93, 0x97, 0x03, 0xfa, 0x01, 0x7b, 0xb5, 0x2c, 0x2c, 0x0c, + 0x35, 0x20, 0xaf, 0x20, +}; +static const struct drbg_kat_pr_false kat1866_t = { + 5, kat1866_entropyin, kat1866_nonce, kat1866_persstr, + kat1866_entropyinreseed, kat1866_addinreseed, kat1866_addin0, + kat1866_addin1, kat1866_retbits +}; +static const struct drbg_kat kat1866 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1866_t +}; + +static const unsigned char kat1867_entropyin[] = { + 0x7e, 0x8b, 0xef, 0x91, 0x21, 0x1e, 0xf7, 0x3d, 0xaa, 0x9e, 0xb7, 0xd3, + 0x2a, 0xf7, 0x9f, 0xbe, 0x74, 0x12, 0x0b, 0x5c, 0x18, 0x3e, 0x30, 0xa0, +}; +static const unsigned char kat1867_nonce[] = { + 0xe9, 0xeb, 0x7d, 0x6b, 0xa6, 0xee, 0xb4, 0x5b, 0x67, 0x73, 0x69, 0x19, + 0xde, 0x78, 0x2f, 0x15, +}; +static const unsigned char kat1867_persstr[] = {0}; +static const unsigned char kat1867_entropyinreseed[] = { + 0x43, 0x45, 0x2b, 0xa9, 0x09, 0x07, 0x78, 0x55, 0xb2, 0x12, 0x4a, 0x5e, + 0xf9, 0x0f, 0x84, 0x9e, 0xf4, 0xf0, 0x19, 0xce, 0x16, 0x90, 0x2a, 0x46, +}; +static const unsigned char kat1867_addinreseed[] = {0}; +static const unsigned char kat1867_addin0[] = {0}; +static const unsigned char kat1867_addin1[] = {0}; +static const unsigned char kat1867_retbits[] = { + 0xb1, 0xe1, 0x9c, 0xf5, 0x5d, 0xa5, 0xc1, 0xcb, 0x0f, 0x36, 0x46, 0xe7, + 0x4b, 0xd2, 0xdf, 0x96, 0xf6, 0x88, 0x7c, 0x77, 0x9b, 0x54, 0x74, 0xe4, + 0x7f, 0xae, 0xd2, 0x2e, 0x68, 0x67, 0xdb, 0xb2, 0x84, 0x33, 0x23, 0xc2, + 0xa3, 0x29, 0x04, 0x2a, 0x15, 0x50, 0x57, 0xd2, 0x42, 0xf3, 0xfe, 0x6f, + 0x59, 0x0a, 0xe3, 0x82, 0x51, 0x38, 0x02, 0x27, 0x69, 0xbc, 0x6e, 0x14, + 0x1d, 0xa5, 0x1b, 0xd9, +}; +static const struct drbg_kat_pr_false kat1867_t = { + 6, kat1867_entropyin, kat1867_nonce, kat1867_persstr, + kat1867_entropyinreseed, kat1867_addinreseed, kat1867_addin0, + kat1867_addin1, kat1867_retbits +}; +static const struct drbg_kat kat1867 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1867_t +}; + +static const unsigned char kat1868_entropyin[] = { + 0x63, 0xbc, 0x10, 0x0a, 0x11, 0x6e, 0x14, 0x82, 0xaa, 0x5f, 0x6d, 0x66, + 0xc1, 0x8b, 0x69, 0xf9, 0xe3, 0xde, 0xea, 0x25, 0x20, 0x3d, 0xd7, 0xae, +}; +static const unsigned char kat1868_nonce[] = { + 0xcf, 0x9b, 0x21, 0x79, 0xe3, 0xe8, 0xd6, 0x51, 0xfd, 0xda, 0xe5, 0xca, + 0x8b, 0x22, 0x0c, 0x0d, +}; +static const unsigned char kat1868_persstr[] = {0}; +static const unsigned char kat1868_entropyinreseed[] = { + 0x2e, 0x7b, 0xac, 0x45, 0x85, 0xde, 0xea, 0x2a, 0x93, 0xf4, 0x06, 0x9f, + 0x98, 0x96, 0x54, 0x4a, 0xef, 0xc4, 0xa2, 0x18, 0xc1, 0x41, 0xa2, 0x5e, +}; +static const unsigned char kat1868_addinreseed[] = {0}; +static const unsigned char kat1868_addin0[] = {0}; +static const unsigned char kat1868_addin1[] = {0}; +static const unsigned char kat1868_retbits[] = { + 0x96, 0x24, 0x97, 0x7f, 0x13, 0x5c, 0x29, 0x8a, 0xff, 0xfc, 0xd6, 0x0b, + 0x5b, 0xe0, 0xff, 0x62, 0xdd, 0x29, 0xa2, 0xd8, 0x91, 0x38, 0x9b, 0x6b, + 0x50, 0x80, 0xe9, 0xd8, 0x8b, 0xac, 0x60, 0x9d, 0xe4, 0xc7, 0x16, 0xf0, + 0x6b, 0x47, 0xc1, 0xb7, 0xcc, 0x92, 0xf6, 0x6c, 0xb5, 0xf7, 0xa4, 0xd9, + 0xda, 0x90, 0x6f, 0x08, 0x4d, 0x5d, 0x45, 0xae, 0xe9, 0xbb, 0xef, 0x26, + 0x24, 0x30, 0x9a, 0xda, +}; +static const struct drbg_kat_pr_false kat1868_t = { + 7, kat1868_entropyin, kat1868_nonce, kat1868_persstr, + kat1868_entropyinreseed, kat1868_addinreseed, kat1868_addin0, + kat1868_addin1, kat1868_retbits +}; +static const struct drbg_kat kat1868 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1868_t +}; + +static const unsigned char kat1869_entropyin[] = { + 0x43, 0x78, 0xbc, 0x78, 0xe4, 0x0b, 0x93, 0x18, 0x89, 0xce, 0x78, 0x51, + 0x0e, 0xe5, 0x27, 0xfd, 0x96, 0xa5, 0x75, 0x1e, 0xa7, 0x7c, 0xd8, 0x77, +}; +static const unsigned char kat1869_nonce[] = { + 0xf4, 0xbf, 0xf2, 0xf1, 0xda, 0x88, 0x63, 0x21, 0xeb, 0x94, 0xf6, 0xba, + 0x34, 0xef, 0x0c, 0xb9, +}; +static const unsigned char kat1869_persstr[] = {0}; +static const unsigned char kat1869_entropyinreseed[] = { + 0x0f, 0x25, 0xa2, 0xc8, 0xd4, 0x0a, 0x04, 0x0b, 0x2b, 0xfd, 0xae, 0x68, + 0xc5, 0x67, 0x19, 0x43, 0x25, 0xc9, 0x4d, 0x8a, 0xa5, 0x73, 0x93, 0xcb, +}; +static const unsigned char kat1869_addinreseed[] = {0}; +static const unsigned char kat1869_addin0[] = {0}; +static const unsigned char kat1869_addin1[] = {0}; +static const unsigned char kat1869_retbits[] = { + 0x16, 0x0d, 0xbe, 0x0b, 0x5f, 0x8a, 0xab, 0x91, 0xb9, 0x9e, 0xe5, 0x82, + 0x24, 0xe3, 0x1e, 0xb5, 0xe8, 0x00, 0x7d, 0x43, 0xe0, 0xea, 0xee, 0x13, + 0x86, 0x2a, 0x26, 0xa1, 0xbb, 0xaf, 0x09, 0x9f, 0x8d, 0x93, 0xed, 0x4d, + 0x21, 0x12, 0x11, 0x4d, 0xc9, 0x52, 0xa0, 0xcd, 0x8c, 0x26, 0x6f, 0x82, + 0xd5, 0xcc, 0xd8, 0x0a, 0x5b, 0x35, 0xf5, 0xff, 0xb3, 0xb2, 0x11, 0xd0, + 0xcb, 0xa5, 0x11, 0x03, +}; +static const struct drbg_kat_pr_false kat1869_t = { + 8, kat1869_entropyin, kat1869_nonce, kat1869_persstr, + kat1869_entropyinreseed, kat1869_addinreseed, kat1869_addin0, + kat1869_addin1, kat1869_retbits +}; +static const struct drbg_kat kat1869 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1869_t +}; + +static const unsigned char kat1870_entropyin[] = { + 0x8c, 0xc5, 0xc1, 0x01, 0xec, 0xe3, 0xca, 0xdc, 0xce, 0x50, 0xad, 0x2b, + 0x80, 0x5a, 0x4c, 0x79, 0xc5, 0x1c, 0x67, 0x95, 0xaf, 0x71, 0x66, 0x80, +}; +static const unsigned char kat1870_nonce[] = { + 0x3a, 0x16, 0x68, 0x15, 0xaa, 0x0c, 0x21, 0x7c, 0x0c, 0x14, 0x7e, 0xec, + 0xa8, 0xef, 0x1d, 0xbb, +}; +static const unsigned char kat1870_persstr[] = {0}; +static const unsigned char kat1870_entropyinreseed[] = { + 0xe9, 0x45, 0x67, 0x8b, 0x03, 0x33, 0xa0, 0xb4, 0xde, 0xd6, 0x48, 0x67, + 0x9d, 0x73, 0x90, 0x09, 0x42, 0xeb, 0xe7, 0xbb, 0x9a, 0xd1, 0xef, 0xaf, +}; +static const unsigned char kat1870_addinreseed[] = {0}; +static const unsigned char kat1870_addin0[] = {0}; +static const unsigned char kat1870_addin1[] = {0}; +static const unsigned char kat1870_retbits[] = { + 0x4a, 0xc1, 0x7a, 0xcf, 0x72, 0x5f, 0xa2, 0xc5, 0xde, 0xcf, 0x35, 0x96, + 0xcc, 0x85, 0x9b, 0xed, 0xbc, 0x14, 0x46, 0x74, 0x6b, 0x39, 0x40, 0xe6, + 0xd2, 0x8a, 0x37, 0x59, 0xc7, 0x98, 0xf5, 0x91, 0x62, 0xf1, 0x76, 0xb8, + 0x59, 0x1b, 0x70, 0xac, 0x58, 0xea, 0x83, 0x28, 0x3f, 0x37, 0x39, 0xff, + 0x82, 0x5f, 0xc1, 0xc5, 0x3e, 0xf3, 0xd9, 0x1b, 0x84, 0x83, 0x2c, 0x16, + 0x2a, 0x4c, 0xeb, 0x5c, +}; +static const struct drbg_kat_pr_false kat1870_t = { + 9, kat1870_entropyin, kat1870_nonce, kat1870_persstr, + kat1870_entropyinreseed, kat1870_addinreseed, kat1870_addin0, + kat1870_addin1, kat1870_retbits +}; +static const struct drbg_kat kat1870 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1870_t +}; + +static const unsigned char kat1871_entropyin[] = { + 0x36, 0x28, 0x4d, 0xdc, 0xea, 0x07, 0xdc, 0xab, 0x15, 0xd5, 0xca, 0x8c, + 0x6c, 0x6e, 0xca, 0xa7, 0xd1, 0x91, 0x8a, 0x38, 0x3e, 0x65, 0xa1, 0x5e, +}; +static const unsigned char kat1871_nonce[] = { + 0x8a, 0x20, 0x92, 0x90, 0x64, 0xfd, 0x5f, 0x29, 0xe6, 0x98, 0xae, 0x13, + 0x47, 0xc7, 0xd7, 0x55, +}; +static const unsigned char kat1871_persstr[] = {0}; +static const unsigned char kat1871_entropyinreseed[] = { + 0xde, 0x97, 0x0d, 0x72, 0x45, 0x26, 0xe0, 0x68, 0xc8, 0xa4, 0x26, 0x74, + 0xbf, 0x99, 0x90, 0x5a, 0x3e, 0x16, 0x15, 0xbc, 0x03, 0x63, 0x12, 0x25, +}; +static const unsigned char kat1871_addinreseed[] = {0}; +static const unsigned char kat1871_addin0[] = {0}; +static const unsigned char kat1871_addin1[] = {0}; +static const unsigned char kat1871_retbits[] = { + 0x67, 0xe2, 0x7a, 0x41, 0x90, 0x0d, 0xb0, 0x06, 0x70, 0x79, 0x9b, 0x61, + 0xde, 0x77, 0x1e, 0x03, 0x74, 0x25, 0x82, 0xe8, 0xa5, 0x82, 0x25, 0x68, + 0x62, 0x89, 0x0d, 0x33, 0x2c, 0x85, 0x8e, 0xae, 0xe4, 0xed, 0x31, 0x01, + 0x00, 0xbb, 0x43, 0x23, 0xa3, 0x06, 0xb1, 0xde, 0x9b, 0xde, 0x3f, 0x78, + 0x22, 0x19, 0xe3, 0xe7, 0x96, 0x60, 0x44, 0x4a, 0x4c, 0xbc, 0x44, 0xa5, + 0xc4, 0x8b, 0x07, 0xef, +}; +static const struct drbg_kat_pr_false kat1871_t = { + 10, kat1871_entropyin, kat1871_nonce, kat1871_persstr, + kat1871_entropyinreseed, kat1871_addinreseed, kat1871_addin0, + kat1871_addin1, kat1871_retbits +}; +static const struct drbg_kat kat1871 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1871_t +}; + +static const unsigned char kat1872_entropyin[] = { + 0xa6, 0x28, 0x15, 0x05, 0xd0, 0x16, 0xf4, 0x52, 0x27, 0xcb, 0x86, 0xff, + 0xb3, 0x29, 0x49, 0x9a, 0x89, 0x44, 0x9d, 0x7e, 0x7d, 0x1f, 0x96, 0xae, +}; +static const unsigned char kat1872_nonce[] = { + 0x44, 0xed, 0x90, 0x0e, 0x03, 0xbe, 0x20, 0x99, 0x8d, 0x0d, 0xe6, 0xa4, + 0xc8, 0xa6, 0x47, 0xca, +}; +static const unsigned char kat1872_persstr[] = {0}; +static const unsigned char kat1872_entropyinreseed[] = { + 0x3c, 0xe1, 0x02, 0x76, 0x7f, 0x57, 0x9d, 0xd9, 0xe0, 0x99, 0x52, 0x9a, + 0xb6, 0x48, 0x05, 0x96, 0xc3, 0x8a, 0xdb, 0x22, 0xe9, 0x22, 0xc1, 0xbf, +}; +static const unsigned char kat1872_addinreseed[] = {0}; +static const unsigned char kat1872_addin0[] = {0}; +static const unsigned char kat1872_addin1[] = {0}; +static const unsigned char kat1872_retbits[] = { + 0xe3, 0xbe, 0x72, 0xf6, 0xc8, 0xce, 0xe6, 0xae, 0x17, 0x02, 0xfc, 0x10, + 0x60, 0x11, 0x50, 0x08, 0x72, 0xbd, 0x43, 0xa2, 0x33, 0x58, 0x7c, 0xdd, + 0x27, 0x45, 0xf6, 0x9d, 0x12, 0x14, 0x8f, 0x33, 0xbd, 0x56, 0x09, 0x8a, + 0x70, 0x6d, 0x95, 0xfa, 0x75, 0x31, 0xb7, 0x83, 0x32, 0xad, 0x76, 0xd1, + 0xb7, 0xa7, 0xa1, 0xe1, 0x6b, 0x69, 0x04, 0xed, 0x53, 0x64, 0xb3, 0xd1, + 0xb3, 0x23, 0x0a, 0x74, +}; +static const struct drbg_kat_pr_false kat1872_t = { + 11, kat1872_entropyin, kat1872_nonce, kat1872_persstr, + kat1872_entropyinreseed, kat1872_addinreseed, kat1872_addin0, + kat1872_addin1, kat1872_retbits +}; +static const struct drbg_kat kat1872 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1872_t +}; + +static const unsigned char kat1873_entropyin[] = { + 0xd4, 0x36, 0xc3, 0xb4, 0x6a, 0x8f, 0x2a, 0x04, 0xb0, 0x7e, 0xbe, 0x21, + 0x3b, 0x3d, 0x6e, 0x46, 0x41, 0x38, 0xf8, 0x01, 0x5d, 0xaf, 0xd0, 0x79, +}; +static const unsigned char kat1873_nonce[] = { + 0xf6, 0xdf, 0xa2, 0xe6, 0x90, 0x75, 0xff, 0x67, 0x65, 0xc4, 0xa3, 0xef, + 0x9d, 0x7f, 0x8f, 0x83, +}; +static const unsigned char kat1873_persstr[] = {0}; +static const unsigned char kat1873_entropyinreseed[] = { + 0x19, 0x5c, 0x37, 0xc4, 0xe2, 0xf8, 0xc0, 0x6e, 0x40, 0xc7, 0x9c, 0xd4, + 0xbc, 0xd5, 0x5f, 0x1d, 0x82, 0xec, 0x2d, 0xae, 0xfa, 0x1a, 0x5f, 0x83, +}; +static const unsigned char kat1873_addinreseed[] = {0}; +static const unsigned char kat1873_addin0[] = {0}; +static const unsigned char kat1873_addin1[] = {0}; +static const unsigned char kat1873_retbits[] = { + 0x29, 0xc9, 0x20, 0x40, 0x70, 0xd4, 0xc2, 0x55, 0xef, 0x0e, 0x1b, 0x52, + 0xfb, 0xa7, 0x45, 0x0e, 0xe0, 0xe5, 0xae, 0x0d, 0x26, 0x8b, 0xd8, 0xaa, + 0x9d, 0x17, 0x38, 0x16, 0x1f, 0x22, 0xfb, 0x95, 0x50, 0x5c, 0x1f, 0xa6, + 0xa6, 0xb3, 0x30, 0x91, 0x8e, 0x75, 0xc4, 0xbb, 0x8f, 0x96, 0xfa, 0x2b, + 0x9a, 0xc0, 0x2b, 0x5d, 0xdb, 0x25, 0x51, 0xbd, 0x49, 0x7e, 0x56, 0x1a, + 0xe1, 0xec, 0x84, 0x5d, +}; +static const struct drbg_kat_pr_false kat1873_t = { + 12, kat1873_entropyin, kat1873_nonce, kat1873_persstr, + kat1873_entropyinreseed, kat1873_addinreseed, kat1873_addin0, + kat1873_addin1, kat1873_retbits +}; +static const struct drbg_kat kat1873 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1873_t +}; + +static const unsigned char kat1874_entropyin[] = { + 0xb6, 0x9f, 0x6c, 0xae, 0xa2, 0xd9, 0xcb, 0x35, 0x15, 0xac, 0xd9, 0x9d, + 0x24, 0x56, 0x42, 0x6b, 0x79, 0x95, 0x05, 0x94, 0xf5, 0xd7, 0xbe, 0x45, +}; +static const unsigned char kat1874_nonce[] = { + 0x76, 0xd6, 0x6f, 0xbf, 0x25, 0xf4, 0x18, 0xd8, 0xb3, 0x9a, 0x14, 0x25, + 0x19, 0x17, 0xa5, 0x97, +}; +static const unsigned char kat1874_persstr[] = {0}; +static const unsigned char kat1874_entropyinreseed[] = { + 0xfc, 0x3a, 0x32, 0xe8, 0x09, 0x58, 0x9e, 0x33, 0x58, 0xb7, 0x98, 0xb1, + 0xb5, 0xd6, 0x42, 0xd0, 0xf9, 0xc1, 0xdb, 0xe8, 0x95, 0x2f, 0x80, 0x32, +}; +static const unsigned char kat1874_addinreseed[] = {0}; +static const unsigned char kat1874_addin0[] = {0}; +static const unsigned char kat1874_addin1[] = {0}; +static const unsigned char kat1874_retbits[] = { + 0x7c, 0xcf, 0xe7, 0x4c, 0x24, 0x3d, 0xa0, 0x1c, 0x74, 0x38, 0x1d, 0x64, + 0xe7, 0xb2, 0xac, 0xd3, 0x7f, 0xb4, 0xf3, 0xd2, 0x44, 0x12, 0xe7, 0x57, + 0x3a, 0xbd, 0xd9, 0xdb, 0x91, 0xe2, 0x79, 0x70, 0x13, 0xa1, 0xd6, 0x72, + 0xe9, 0x09, 0x29, 0x8e, 0x51, 0x65, 0xf2, 0x9a, 0x53, 0x09, 0x6d, 0xdd, + 0x5b, 0x90, 0x22, 0x05, 0x48, 0xb2, 0x17, 0x3c, 0x75, 0xa0, 0x83, 0x43, + 0x95, 0xd1, 0x2e, 0xad, +}; +static const struct drbg_kat_pr_false kat1874_t = { + 13, kat1874_entropyin, kat1874_nonce, kat1874_persstr, + kat1874_entropyinreseed, kat1874_addinreseed, kat1874_addin0, + kat1874_addin1, kat1874_retbits +}; +static const struct drbg_kat kat1874 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1874_t +}; + +static const unsigned char kat1875_entropyin[] = { + 0xe8, 0xd8, 0x01, 0x57, 0x46, 0x77, 0x19, 0x9b, 0xd8, 0x66, 0x19, 0x79, + 0x46, 0xd2, 0xac, 0xcf, 0x3c, 0xd1, 0xc6, 0x17, 0x30, 0x55, 0x3c, 0xbd, +}; +static const unsigned char kat1875_nonce[] = { + 0xaf, 0xb3, 0x2d, 0x28, 0x3c, 0xa1, 0x54, 0x6d, 0xbd, 0x50, 0x75, 0xa9, + 0x03, 0x82, 0x82, 0x75, +}; +static const unsigned char kat1875_persstr[] = {0}; +static const unsigned char kat1875_entropyinreseed[] = { + 0x34, 0xf8, 0xc9, 0x6c, 0x52, 0xc6, 0xc4, 0x8a, 0xa0, 0xf3, 0x9d, 0x20, + 0x50, 0x2f, 0x5b, 0x03, 0x19, 0x30, 0x66, 0x7a, 0xf2, 0x93, 0xbb, 0xaa, +}; +static const unsigned char kat1875_addinreseed[] = {0}; +static const unsigned char kat1875_addin0[] = {0}; +static const unsigned char kat1875_addin1[] = {0}; +static const unsigned char kat1875_retbits[] = { + 0x5b, 0x8a, 0x8c, 0xc5, 0x54, 0xa7, 0x0e, 0x64, 0xd1, 0xe8, 0xf0, 0x80, + 0xfa, 0x20, 0xbe, 0xe1, 0x26, 0xb4, 0x39, 0x14, 0x7c, 0x6c, 0x56, 0xfd, + 0xf6, 0x98, 0xe9, 0x6c, 0x5c, 0x3e, 0x89, 0xf2, 0x0f, 0xef, 0xed, 0x68, + 0x63, 0x66, 0x9f, 0xb8, 0xf5, 0x8e, 0xa4, 0x2e, 0x2f, 0xcb, 0xfa, 0x9a, + 0x40, 0xa4, 0xfc, 0xa7, 0x7a, 0x7e, 0xbd, 0xe4, 0x39, 0x56, 0x64, 0x90, + 0x22, 0xc6, 0xf4, 0x75, +}; +static const struct drbg_kat_pr_false kat1875_t = { + 14, kat1875_entropyin, kat1875_nonce, kat1875_persstr, + kat1875_entropyinreseed, kat1875_addinreseed, kat1875_addin0, + kat1875_addin1, kat1875_retbits +}; +static const struct drbg_kat kat1875 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat1875_t +}; + +static const unsigned char kat1876_entropyin[] = { + 0x2c, 0x09, 0x49, 0x0d, 0xc8, 0x67, 0x10, 0xa6, 0xbc, 0xdb, 0x45, 0x0d, + 0x07, 0xfa, 0x52, 0xaa, 0x6b, 0xbd, 0x5e, 0xe1, 0x55, 0x90, 0x14, 0x0a, +}; +static const unsigned char kat1876_nonce[] = { + 0x1d, 0x40, 0x71, 0x20, 0xf3, 0xb6, 0x83, 0x5d, 0x0d, 0xf0, 0x86, 0x6d, + 0x0e, 0xcd, 0x05, 0xf8, +}; +static const unsigned char kat1876_persstr[] = {0}; +static const unsigned char kat1876_entropyinreseed[] = { + 0x2e, 0x52, 0xa0, 0x68, 0xbd, 0x4d, 0x9c, 0x42, 0x79, 0xb1, 0x83, 0xf1, + 0xa4, 0x5f, 0x1d, 0x2c, 0xe5, 0x03, 0x10, 0x5a, 0x42, 0x8c, 0xee, 0x9e, +}; +static const unsigned char kat1876_addinreseed[] = { + 0x31, 0xcf, 0xc6, 0x8c, 0xcb, 0xe6, 0x80, 0xf1, 0x80, 0x75, 0xe2, 0x16, + 0x05, 0x02, 0x4f, 0xaa, 0x39, 0x79, 0xee, 0x70, 0xc6, 0xff, 0xaa, 0xfa, + 0xef, 0x17, 0x0b, 0x57, 0xc5, 0x7f, 0x4c, 0x14, +}; +static const unsigned char kat1876_addin0[] = { + 0x26, 0x26, 0xab, 0x5a, 0x06, 0x50, 0x8b, 0x34, 0xfd, 0x64, 0x90, 0x4e, + 0x75, 0x6f, 0xfc, 0x52, 0xa1, 0xc6, 0xaf, 0x28, 0x29, 0xc9, 0xee, 0xc0, + 0x08, 0xf2, 0x1b, 0x28, 0x40, 0x43, 0xfb, 0x67, +}; +static const unsigned char kat1876_addin1[] = { + 0xce, 0x41, 0x26, 0xda, 0x75, 0x7e, 0x5d, 0x88, 0xcb, 0x86, 0x27, 0x72, + 0x1b, 0x54, 0x91, 0xc2, 0x86, 0x6e, 0xd0, 0xd1, 0xd6, 0x73, 0x8a, 0x68, + 0xbe, 0x1b, 0x49, 0x83, 0x9d, 0x4b, 0xf6, 0xc2, +}; +static const unsigned char kat1876_retbits[] = { + 0xa7, 0xa9, 0x2c, 0x0f, 0xf5, 0xdf, 0xf9, 0x24, 0x1e, 0x2f, 0x0f, 0x87, + 0x6a, 0xe4, 0xc1, 0xa3, 0x19, 0xe8, 0xfb, 0x00, 0xfd, 0x39, 0x15, 0x1e, + 0x72, 0x77, 0x36, 0xa1, 0xdd, 0xa7, 0xbe, 0x1b, 0x9f, 0xdc, 0xaa, 0x82, + 0xc8, 0x8b, 0xfa, 0x5b, 0x14, 0x9d, 0xbc, 0x24, 0x6b, 0xd6, 0x72, 0x03, + 0x4a, 0x9f, 0x70, 0xac, 0x2e, 0xbe, 0x72, 0xf7, 0x0b, 0x83, 0x41, 0x81, + 0x73, 0xcc, 0xbd, 0x04, +}; +static const struct drbg_kat_pr_false kat1876_t = { + 0, kat1876_entropyin, kat1876_nonce, kat1876_persstr, + kat1876_entropyinreseed, kat1876_addinreseed, kat1876_addin0, + kat1876_addin1, kat1876_retbits +}; +static const struct drbg_kat kat1876 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1876_t +}; + +static const unsigned char kat1877_entropyin[] = { + 0xf9, 0x5c, 0xd3, 0x8c, 0x3e, 0x18, 0xfa, 0x19, 0xc3, 0x65, 0x02, 0x2f, + 0xba, 0x6c, 0xb1, 0x97, 0xc3, 0xaa, 0x31, 0xe3, 0x48, 0x23, 0x49, 0xe4, +}; +static const unsigned char kat1877_nonce[] = { + 0xab, 0x14, 0xf6, 0xe3, 0xac, 0x82, 0xff, 0xef, 0xa1, 0xb2, 0x0c, 0xb1, + 0x27, 0x14, 0x5b, 0x54, +}; +static const unsigned char kat1877_persstr[] = {0}; +static const unsigned char kat1877_entropyinreseed[] = { + 0x79, 0x04, 0x44, 0x2f, 0x08, 0x71, 0xdb, 0x67, 0x27, 0xfb, 0xf2, 0xcc, + 0x34, 0x26, 0xfd, 0x5c, 0x30, 0x53, 0xd1, 0xf9, 0x3f, 0x57, 0x4b, 0x27, +}; +static const unsigned char kat1877_addinreseed[] = { + 0x74, 0xce, 0xd2, 0x49, 0xbe, 0x05, 0xcc, 0x23, 0xd0, 0xc1, 0x8f, 0xf9, + 0x61, 0x99, 0xd8, 0x66, 0x45, 0x4a, 0x52, 0xc9, 0x62, 0xd6, 0xaa, 0xc4, + 0x0a, 0x42, 0x93, 0x60, 0x3f, 0x2c, 0x97, 0xa2, +}; +static const unsigned char kat1877_addin0[] = { + 0xad, 0x33, 0x91, 0xc8, 0xa8, 0x10, 0x61, 0x9e, 0x50, 0x4d, 0xab, 0x12, + 0xfd, 0x1b, 0xaa, 0x1d, 0x43, 0x34, 0x32, 0x46, 0x86, 0x53, 0x19, 0xc6, + 0xa7, 0x03, 0x08, 0x28, 0x2f, 0xf6, 0x03, 0x26, +}; +static const unsigned char kat1877_addin1[] = { + 0x6c, 0xf4, 0xf2, 0xa9, 0xba, 0x56, 0x11, 0x60, 0xcc, 0x0f, 0x91, 0x02, + 0xd7, 0x7f, 0x56, 0x63, 0x4a, 0x86, 0x7d, 0x4f, 0x4a, 0xa0, 0xaf, 0xce, + 0x17, 0x5d, 0x99, 0x4a, 0x40, 0x74, 0x45, 0xdc, +}; +static const unsigned char kat1877_retbits[] = { + 0x89, 0xcb, 0xbd, 0x15, 0xb4, 0xf0, 0xd1, 0xac, 0xa8, 0x4a, 0x44, 0x73, + 0x13, 0xe9, 0xbc, 0x83, 0xa6, 0x4a, 0x87, 0xc7, 0x07, 0x5b, 0x1c, 0x74, + 0xde, 0x18, 0x4b, 0xda, 0x6c, 0x6a, 0xb6, 0x69, 0xc8, 0xef, 0x7b, 0x8c, + 0x6b, 0xca, 0x3d, 0xe3, 0x28, 0xa5, 0xd3, 0x24, 0xbf, 0xa2, 0x79, 0x52, + 0xa8, 0x34, 0x24, 0xbb, 0xd4, 0x0c, 0xac, 0x99, 0x51, 0x03, 0x30, 0xe9, + 0x59, 0xb0, 0x2d, 0xc7, +}; +static const struct drbg_kat_pr_false kat1877_t = { + 1, kat1877_entropyin, kat1877_nonce, kat1877_persstr, + kat1877_entropyinreseed, kat1877_addinreseed, kat1877_addin0, + kat1877_addin1, kat1877_retbits +}; +static const struct drbg_kat kat1877 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1877_t +}; + +static const unsigned char kat1878_entropyin[] = { + 0xc4, 0xf0, 0x88, 0xcc, 0x36, 0x9b, 0x2c, 0x22, 0x76, 0x67, 0xe8, 0x29, + 0x78, 0xf3, 0x4d, 0x26, 0x78, 0xd1, 0xa5, 0x3d, 0xe1, 0xf0, 0x56, 0x55, +}; +static const unsigned char kat1878_nonce[] = { + 0x61, 0x95, 0xe0, 0x26, 0x70, 0xba, 0xe3, 0xbe, 0xdb, 0x2f, 0xf0, 0xca, + 0x0f, 0x7a, 0x05, 0x49, +}; +static const unsigned char kat1878_persstr[] = {0}; +static const unsigned char kat1878_entropyinreseed[] = { + 0x1f, 0x37, 0xe7, 0x80, 0xfb, 0x27, 0xd7, 0x43, 0xc5, 0x2d, 0xe9, 0xbb, + 0x71, 0xd4, 0xdd, 0xca, 0x74, 0x39, 0x00, 0x15, 0x4a, 0x8d, 0x46, 0x22, +}; +static const unsigned char kat1878_addinreseed[] = { + 0x5f, 0x05, 0x9a, 0xb2, 0xc4, 0x7e, 0x54, 0xf7, 0x73, 0x5d, 0x85, 0x0d, + 0x49, 0x23, 0x06, 0x96, 0xd5, 0x22, 0x38, 0xc6, 0xab, 0x28, 0xf2, 0xb1, + 0x19, 0x94, 0x54, 0x53, 0x89, 0x35, 0x0f, 0x78, +}; +static const unsigned char kat1878_addin0[] = { + 0xcc, 0x3e, 0x9e, 0xbc, 0xf2, 0xad, 0xd4, 0x63, 0x17, 0x7b, 0xc1, 0x8a, + 0xdd, 0xc3, 0x30, 0x60, 0x0d, 0x42, 0x43, 0x1f, 0x77, 0x88, 0xf7, 0x62, + 0xcd, 0x69, 0xce, 0xe2, 0x1e, 0x14, 0x1b, 0x9e, +}; +static const unsigned char kat1878_addin1[] = { + 0xec, 0x29, 0x2f, 0x2e, 0x19, 0xd9, 0x51, 0x0d, 0xc3, 0x99, 0x3c, 0x79, + 0x60, 0x93, 0xf7, 0xe2, 0x37, 0x26, 0xd2, 0xae, 0x1c, 0x4f, 0xa7, 0x6b, + 0x95, 0xf1, 0x18, 0xce, 0x39, 0x06, 0x10, 0xc5, +}; +static const unsigned char kat1878_retbits[] = { + 0xec, 0xe8, 0xaf, 0x0e, 0x89, 0xf0, 0xad, 0x9d, 0xd2, 0x10, 0xe8, 0xb3, + 0x28, 0x26, 0xc1, 0x5d, 0x15, 0x3e, 0x57, 0x9d, 0x26, 0x04, 0x46, 0xbd, + 0xf1, 0x08, 0x12, 0xca, 0xe3, 0xd6, 0x87, 0x55, 0x61, 0x8a, 0xe3, 0xc2, + 0xef, 0xe3, 0x29, 0x38, 0x7e, 0x09, 0x04, 0xae, 0xc1, 0x54, 0x10, 0xb3, + 0x01, 0x00, 0xbf, 0xd5, 0xd2, 0xb3, 0xe4, 0xdf, 0x87, 0x91, 0xf6, 0x73, + 0xdc, 0x05, 0xe4, 0x93, +}; +static const struct drbg_kat_pr_false kat1878_t = { + 2, kat1878_entropyin, kat1878_nonce, kat1878_persstr, + kat1878_entropyinreseed, kat1878_addinreseed, kat1878_addin0, + kat1878_addin1, kat1878_retbits +}; +static const struct drbg_kat kat1878 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1878_t +}; + +static const unsigned char kat1879_entropyin[] = { + 0x73, 0x58, 0xd4, 0x37, 0x39, 0xe2, 0xd3, 0x1d, 0x55, 0x3e, 0xa4, 0x84, + 0x2c, 0x38, 0xf8, 0xb9, 0x44, 0x6f, 0x72, 0x24, 0x21, 0xeb, 0xb0, 0x02, +}; +static const unsigned char kat1879_nonce[] = { + 0xef, 0xc2, 0x6b, 0x24, 0x50, 0x5b, 0xc4, 0x57, 0xa2, 0x33, 0x98, 0x2b, + 0x8a, 0xbf, 0x64, 0xa0, +}; +static const unsigned char kat1879_persstr[] = {0}; +static const unsigned char kat1879_entropyinreseed[] = { + 0x8f, 0xa7, 0x89, 0xdd, 0xc0, 0xa5, 0x31, 0x4d, 0x8e, 0x9f, 0xad, 0x3e, + 0xf9, 0xa9, 0xf8, 0x36, 0x00, 0xe5, 0xb0, 0x19, 0x01, 0x68, 0xc5, 0x48, +}; +static const unsigned char kat1879_addinreseed[] = { + 0xce, 0x6b, 0x37, 0x64, 0x64, 0x01, 0xf7, 0x80, 0x6c, 0x6c, 0x9f, 0x9a, + 0x4b, 0xec, 0x98, 0xf7, 0x0c, 0xcc, 0x5c, 0x1e, 0xf1, 0xf4, 0xee, 0xa1, + 0xce, 0x8a, 0xfd, 0x09, 0x2f, 0x31, 0x62, 0x6d, +}; +static const unsigned char kat1879_addin0[] = { + 0xf0, 0x31, 0x5b, 0x4c, 0xdb, 0x0c, 0x92, 0xd3, 0x46, 0x14, 0x4b, 0xdb, + 0xc3, 0x57, 0x32, 0xf4, 0xe3, 0xeb, 0xec, 0xa5, 0xf3, 0x90, 0x74, 0xbf, + 0x9b, 0x84, 0x91, 0x70, 0xb6, 0xa3, 0x14, 0x4b, +}; +static const unsigned char kat1879_addin1[] = { + 0x91, 0xc2, 0x89, 0x61, 0xeb, 0x16, 0xda, 0x37, 0x15, 0xe9, 0x54, 0x46, + 0x23, 0x8e, 0xdd, 0xf3, 0x46, 0x02, 0xb3, 0x69, 0xf7, 0xf8, 0x07, 0xbd, + 0xb7, 0x4b, 0x97, 0xf1, 0xe1, 0xa1, 0xc8, 0xb8, +}; +static const unsigned char kat1879_retbits[] = { + 0x81, 0x50, 0xca, 0xed, 0x36, 0x08, 0xad, 0x8b, 0xa1, 0x0a, 0x60, 0x5a, + 0x9c, 0xca, 0x68, 0x8d, 0x2a, 0x1d, 0x97, 0xd4, 0xf6, 0x52, 0xd3, 0xb3, + 0x5c, 0xd6, 0xc5, 0xeb, 0xae, 0x3f, 0x62, 0xdf, 0xbc, 0xab, 0xeb, 0xa8, + 0xe1, 0x13, 0x87, 0x7b, 0x28, 0x1b, 0x70, 0xd2, 0x3d, 0x5a, 0xe9, 0xa2, + 0x05, 0xfc, 0x46, 0xd9, 0xe6, 0x38, 0x32, 0x91, 0xb0, 0xb5, 0x4e, 0x13, + 0x24, 0x10, 0x91, 0x5e, +}; +static const struct drbg_kat_pr_false kat1879_t = { + 3, kat1879_entropyin, kat1879_nonce, kat1879_persstr, + kat1879_entropyinreseed, kat1879_addinreseed, kat1879_addin0, + kat1879_addin1, kat1879_retbits +}; +static const struct drbg_kat kat1879 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1879_t +}; + +static const unsigned char kat1880_entropyin[] = { + 0x59, 0x9b, 0xe5, 0x01, 0xc1, 0xfd, 0xd8, 0xaa, 0xc4, 0xdf, 0x29, 0x4f, + 0x32, 0xc0, 0x15, 0x9b, 0x00, 0xc6, 0x61, 0x64, 0x59, 0x55, 0x93, 0x8e, +}; +static const unsigned char kat1880_nonce[] = { + 0xdc, 0x4a, 0xbf, 0xa8, 0x6c, 0x4b, 0x7a, 0x47, 0x46, 0x68, 0xa5, 0x64, + 0xd5, 0x62, 0x1e, 0x17, +}; +static const unsigned char kat1880_persstr[] = {0}; +static const unsigned char kat1880_entropyinreseed[] = { + 0xe0, 0xb7, 0xa4, 0x00, 0xb2, 0x3a, 0xb2, 0xce, 0xcc, 0x2a, 0xf1, 0xed, + 0x4c, 0x80, 0x39, 0x13, 0x08, 0x7a, 0x9a, 0xf8, 0x5a, 0x7d, 0xc5, 0x08, +}; +static const unsigned char kat1880_addinreseed[] = { + 0xdd, 0x24, 0xc8, 0x97, 0x57, 0x60, 0x02, 0xbc, 0x66, 0x5f, 0xd5, 0xa2, + 0xc5, 0x7a, 0x43, 0x93, 0x45, 0xac, 0xd0, 0x46, 0x90, 0xba, 0x7b, 0xfa, + 0x1c, 0xfd, 0x65, 0x5c, 0x73, 0x67, 0x67, 0xf1, +}; +static const unsigned char kat1880_addin0[] = { + 0x87, 0xeb, 0x59, 0xa1, 0x9b, 0xf8, 0x72, 0x6b, 0x41, 0x3c, 0xe8, 0xff, + 0xd8, 0x59, 0xc0, 0xbf, 0x96, 0x39, 0xf0, 0x01, 0x3d, 0x4a, 0x58, 0xa0, + 0xab, 0x8e, 0xe9, 0x3a, 0xa5, 0xb3, 0xf7, 0x9e, +}; +static const unsigned char kat1880_addin1[] = { + 0x8c, 0x12, 0xfc, 0x58, 0x83, 0x3f, 0xae, 0x3e, 0xf2, 0xf0, 0x87, 0x6b, + 0xeb, 0x2d, 0xea, 0xf6, 0xca, 0xd9, 0x5c, 0xf4, 0x9b, 0x04, 0x81, 0x21, + 0xe0, 0x59, 0x3a, 0xcf, 0x64, 0xc9, 0x22, 0x99, +}; +static const unsigned char kat1880_retbits[] = { + 0xf3, 0x43, 0x4f, 0xdb, 0x75, 0xf2, 0xe2, 0x1e, 0xfe, 0xe2, 0x61, 0xfe, + 0x9a, 0xfb, 0xeb, 0x7b, 0x71, 0xe2, 0x10, 0xf1, 0x6e, 0x3b, 0x61, 0x23, + 0x40, 0xe2, 0xf5, 0x87, 0xd9, 0x58, 0xdf, 0x6d, 0x8a, 0x83, 0xf1, 0x91, + 0x6e, 0x75, 0x77, 0xb8, 0x9c, 0x7c, 0xd3, 0xb0, 0x1c, 0x60, 0x4e, 0x92, + 0xb0, 0xda, 0xc3, 0xa0, 0x4a, 0x3c, 0x58, 0xd7, 0x37, 0x7b, 0xb2, 0x05, + 0xce, 0xc1, 0xa5, 0x23, +}; +static const struct drbg_kat_pr_false kat1880_t = { + 4, kat1880_entropyin, kat1880_nonce, kat1880_persstr, + kat1880_entropyinreseed, kat1880_addinreseed, kat1880_addin0, + kat1880_addin1, kat1880_retbits +}; +static const struct drbg_kat kat1880 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1880_t +}; + +static const unsigned char kat1881_entropyin[] = { + 0xe7, 0xa6, 0x39, 0x69, 0x85, 0x3b, 0x21, 0xc8, 0xa4, 0x1f, 0x9c, 0xbd, + 0x11, 0x25, 0xba, 0xc6, 0x6a, 0xbc, 0x87, 0x71, 0xf3, 0x49, 0xc5, 0xb5, +}; +static const unsigned char kat1881_nonce[] = { + 0x45, 0xe5, 0x89, 0x8e, 0x4c, 0xd7, 0xf6, 0xee, 0x15, 0xee, 0xcc, 0xaa, + 0x20, 0x43, 0x76, 0xaf, +}; +static const unsigned char kat1881_persstr[] = {0}; +static const unsigned char kat1881_entropyinreseed[] = { + 0x46, 0x81, 0xc0, 0xdc, 0x64, 0x35, 0x48, 0x3a, 0xbe, 0x87, 0x71, 0x1f, + 0xd2, 0xd1, 0x29, 0x2a, 0x3d, 0xbb, 0xa7, 0xee, 0x13, 0xa1, 0x8b, 0x79, +}; +static const unsigned char kat1881_addinreseed[] = { + 0x43, 0x79, 0x0f, 0x50, 0x88, 0x2e, 0xf2, 0xcc, 0x65, 0xb3, 0x73, 0x6a, + 0xdc, 0x17, 0x05, 0x2c, 0x2f, 0x65, 0x99, 0x04, 0x57, 0x9c, 0x48, 0xfb, + 0xbc, 0x8b, 0xf8, 0x96, 0xc0, 0x0d, 0xdd, 0xb6, +}; +static const unsigned char kat1881_addin0[] = { + 0x68, 0x66, 0x6c, 0x2a, 0x39, 0x11, 0xc6, 0xef, 0x22, 0x0b, 0x67, 0x65, + 0xb4, 0x37, 0xa5, 0xf6, 0x99, 0x31, 0xd5, 0xc5, 0x47, 0x63, 0xb6, 0x42, + 0xe4, 0xc3, 0x84, 0xd8, 0xaf, 0x76, 0xc0, 0xac, +}; +static const unsigned char kat1881_addin1[] = { + 0x31, 0x21, 0xd7, 0x1c, 0x5d, 0x3d, 0x56, 0x44, 0x2c, 0x17, 0xc3, 0x7f, + 0xbf, 0x7e, 0x5b, 0xf6, 0x79, 0x82, 0xda, 0x1d, 0xbe, 0xbc, 0x0c, 0x9c, + 0xd5, 0x11, 0xec, 0x81, 0x05, 0x9f, 0xf7, 0x01, +}; +static const unsigned char kat1881_retbits[] = { + 0xd2, 0x97, 0x9b, 0xec, 0x69, 0x23, 0xcd, 0x21, 0x06, 0x5e, 0x7b, 0xe3, + 0x4f, 0xa1, 0x8d, 0x3e, 0x59, 0x1c, 0xed, 0x66, 0x9b, 0x02, 0x93, 0xb3, + 0xcd, 0x0d, 0xbf, 0xcd, 0x79, 0xd0, 0xa7, 0x06, 0x27, 0x38, 0x42, 0xd3, + 0x79, 0x2f, 0x77, 0xad, 0x67, 0x85, 0x3a, 0x41, 0x1a, 0xa2, 0x8d, 0x76, + 0x82, 0xff, 0x37, 0xde, 0x2b, 0x4f, 0x36, 0xff, 0xbf, 0x7f, 0x40, 0x03, + 0xb2, 0x79, 0x62, 0x7d, +}; +static const struct drbg_kat_pr_false kat1881_t = { + 5, kat1881_entropyin, kat1881_nonce, kat1881_persstr, + kat1881_entropyinreseed, kat1881_addinreseed, kat1881_addin0, + kat1881_addin1, kat1881_retbits +}; +static const struct drbg_kat kat1881 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1881_t +}; + +static const unsigned char kat1882_entropyin[] = { + 0xc6, 0xee, 0x4e, 0xd1, 0x61, 0x1b, 0x36, 0x19, 0x7c, 0x29, 0xe7, 0x2e, + 0x27, 0xaf, 0x2e, 0x5b, 0x50, 0x47, 0x6c, 0x85, 0x31, 0x88, 0xd7, 0x15, +}; +static const unsigned char kat1882_nonce[] = { + 0x87, 0x3a, 0x27, 0x5e, 0x5a, 0xa1, 0xe9, 0xde, 0x62, 0xa1, 0x8c, 0x25, + 0xb1, 0x46, 0xc2, 0x36, +}; +static const unsigned char kat1882_persstr[] = {0}; +static const unsigned char kat1882_entropyinreseed[] = { + 0xc0, 0xe1, 0xe5, 0xd4, 0xa7, 0x3a, 0xb1, 0xeb, 0x78, 0xfa, 0xd2, 0x3a, + 0x81, 0xd5, 0xf7, 0x2b, 0xea, 0x2f, 0xec, 0xd5, 0xac, 0x2d, 0x87, 0x7e, +}; +static const unsigned char kat1882_addinreseed[] = { + 0x3c, 0xbc, 0x7e, 0xa5, 0xe6, 0x34, 0xca, 0x5f, 0xf0, 0xfb, 0x82, 0x29, + 0x95, 0x5d, 0x86, 0x0e, 0x1b, 0xac, 0xb2, 0xea, 0x41, 0xd0, 0xf8, 0xf7, + 0x82, 0xc8, 0xb0, 0x2e, 0x00, 0x16, 0xce, 0xc9, +}; +static const unsigned char kat1882_addin0[] = { + 0xbe, 0xeb, 0x14, 0x8c, 0xa4, 0x71, 0x84, 0x20, 0x21, 0xde, 0xfc, 0x36, + 0x5c, 0xbb, 0x57, 0x09, 0xbb, 0xbf, 0x70, 0xe1, 0x21, 0x3c, 0xe6, 0xff, + 0xe6, 0x0d, 0xb0, 0xce, 0xaf, 0x9e, 0xac, 0xec, +}; +static const unsigned char kat1882_addin1[] = { + 0x8e, 0x81, 0xc7, 0xec, 0xaf, 0xc3, 0x65, 0xa3, 0x20, 0xc4, 0xad, 0xea, + 0x72, 0x94, 0x3e, 0x1b, 0xb0, 0xee, 0xab, 0x84, 0xee, 0x0e, 0x37, 0xd2, + 0xa4, 0x9e, 0x6b, 0xf0, 0xa5, 0x2d, 0xb1, 0xa4, +}; +static const unsigned char kat1882_retbits[] = { + 0x9b, 0x4d, 0xfc, 0x68, 0x35, 0xa9, 0xf6, 0x4d, 0x77, 0x80, 0xf4, 0x74, + 0xd2, 0xb6, 0xe1, 0xdc, 0xfc, 0x77, 0x42, 0x3c, 0x4a, 0xb0, 0x3f, 0x3e, + 0xb5, 0xfd, 0x2a, 0x50, 0x52, 0xdf, 0x3f, 0x71, 0x9d, 0x1d, 0x54, 0x8e, + 0x3e, 0x5a, 0x2c, 0xd5, 0x0b, 0x8a, 0x49, 0xa1, 0x80, 0xa3, 0xb3, 0xa2, + 0xfe, 0x26, 0xa1, 0xfe, 0xae, 0x15, 0xa9, 0xf7, 0x5a, 0x81, 0xd7, 0xa1, + 0x8a, 0xa7, 0x74, 0xe4, +}; +static const struct drbg_kat_pr_false kat1882_t = { + 6, kat1882_entropyin, kat1882_nonce, kat1882_persstr, + kat1882_entropyinreseed, kat1882_addinreseed, kat1882_addin0, + kat1882_addin1, kat1882_retbits +}; +static const struct drbg_kat kat1882 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1882_t +}; + +static const unsigned char kat1883_entropyin[] = { + 0xa7, 0xc9, 0x04, 0x01, 0xea, 0xd7, 0xcd, 0x97, 0x84, 0xf6, 0x05, 0x19, + 0x7d, 0x5e, 0xd8, 0xbd, 0xae, 0x93, 0xf3, 0x5d, 0x39, 0x0e, 0xd4, 0xf9, +}; +static const unsigned char kat1883_nonce[] = { + 0xe0, 0xbd, 0x52, 0xa2, 0xcc, 0xa3, 0xba, 0x7c, 0x6c, 0xf8, 0xf6, 0x5f, + 0xe6, 0x52, 0x1f, 0xb6, +}; +static const unsigned char kat1883_persstr[] = {0}; +static const unsigned char kat1883_entropyinreseed[] = { + 0xcf, 0x4b, 0x11, 0xd8, 0x27, 0x61, 0x62, 0xc2, 0xf3, 0xc6, 0x3d, 0x38, + 0x6f, 0x9f, 0xaa, 0x34, 0xe3, 0x42, 0x00, 0x70, 0xc7, 0xa1, 0x09, 0x45, +}; +static const unsigned char kat1883_addinreseed[] = { + 0x21, 0xeb, 0x57, 0x52, 0x5a, 0x88, 0xdf, 0x1b, 0x5a, 0xf4, 0xf5, 0xf1, + 0x8a, 0x2e, 0x5f, 0x2a, 0x4c, 0x8a, 0x18, 0x79, 0xd7, 0x6d, 0xe9, 0xb9, + 0x2a, 0xc7, 0x53, 0xec, 0x92, 0x4c, 0x02, 0x40, +}; +static const unsigned char kat1883_addin0[] = { + 0xc5, 0x45, 0x36, 0x1d, 0xde, 0xe8, 0x15, 0x0a, 0xe9, 0x8a, 0x9d, 0xe9, + 0xff, 0x46, 0x96, 0x5f, 0xb4, 0x26, 0x16, 0xea, 0x85, 0xfe, 0x25, 0x8a, + 0x34, 0xdc, 0x26, 0x26, 0x73, 0x2a, 0xbf, 0x73, +}; +static const unsigned char kat1883_addin1[] = { + 0x37, 0x4c, 0x4d, 0x96, 0x63, 0x98, 0x1b, 0x1f, 0xcf, 0xf2, 0x2f, 0xb2, + 0xbf, 0xfa, 0xf2, 0xa5, 0x76, 0x6f, 0x7f, 0xb7, 0x3a, 0xe7, 0x6b, 0x1f, + 0x4a, 0x49, 0xe7, 0x6c, 0x41, 0xbf, 0xe0, 0xef, +}; +static const unsigned char kat1883_retbits[] = { + 0x7a, 0xff, 0x3b, 0xbc, 0xad, 0x25, 0xd1, 0xc6, 0x8b, 0x3b, 0xa0, 0xdf, + 0xd4, 0xc3, 0x40, 0x95, 0xd5, 0xd6, 0x56, 0x37, 0x4c, 0xb0, 0xd6, 0x69, + 0xcb, 0x32, 0x42, 0xc6, 0x10, 0xa6, 0x97, 0xa7, 0xe2, 0xf3, 0x6c, 0xe9, + 0x41, 0x6a, 0xf2, 0xc8, 0x5f, 0xe0, 0x21, 0xf4, 0xa5, 0xeb, 0x24, 0xec, + 0x72, 0xe9, 0xcd, 0xa1, 0x45, 0x9c, 0xb9, 0x12, 0xea, 0xb0, 0x6a, 0x0d, + 0xbe, 0xf3, 0xa5, 0x01, +}; +static const struct drbg_kat_pr_false kat1883_t = { + 7, kat1883_entropyin, kat1883_nonce, kat1883_persstr, + kat1883_entropyinreseed, kat1883_addinreseed, kat1883_addin0, + kat1883_addin1, kat1883_retbits +}; +static const struct drbg_kat kat1883 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1883_t +}; + +static const unsigned char kat1884_entropyin[] = { + 0x53, 0x81, 0x4b, 0x3e, 0x96, 0x45, 0xf1, 0x77, 0xbf, 0xb2, 0xcc, 0xf7, + 0x58, 0xf1, 0x2e, 0xc1, 0x45, 0xf6, 0x79, 0xed, 0x85, 0x62, 0x21, 0xeb, +}; +static const unsigned char kat1884_nonce[] = { + 0x76, 0xbd, 0x9b, 0x8e, 0xd5, 0x36, 0xd3, 0x8d, 0xf7, 0xcb, 0x49, 0x6d, + 0xb5, 0xb1, 0x56, 0x23, +}; +static const unsigned char kat1884_persstr[] = {0}; +static const unsigned char kat1884_entropyinreseed[] = { + 0x7a, 0xb2, 0x0a, 0xdb, 0xd8, 0x27, 0x52, 0xb2, 0x29, 0x2d, 0x9f, 0x17, + 0xae, 0xcb, 0x01, 0xdb, 0xb2, 0x7c, 0x31, 0x49, 0xab, 0xa6, 0xc6, 0xdf, +}; +static const unsigned char kat1884_addinreseed[] = { + 0x82, 0xea, 0xed, 0x42, 0xfd, 0x77, 0xe6, 0xad, 0x8f, 0x81, 0xe7, 0xbf, + 0x18, 0x21, 0x69, 0x1c, 0x2c, 0x00, 0xba, 0xb9, 0x4c, 0x85, 0x7a, 0x6e, + 0xc0, 0x2c, 0x2e, 0xbc, 0xd3, 0xfc, 0xa2, 0xee, +}; +static const unsigned char kat1884_addin0[] = { + 0x1b, 0x52, 0xb0, 0x27, 0x04, 0x42, 0xfe, 0x5b, 0x87, 0xde, 0x64, 0x0f, + 0xa8, 0x60, 0x74, 0x7f, 0xb3, 0x01, 0x94, 0xa9, 0xe9, 0xd1, 0x88, 0x95, + 0x00, 0x2a, 0x3d, 0x37, 0x8f, 0x54, 0x33, 0x5c, +}; +static const unsigned char kat1884_addin1[] = { + 0x93, 0x54, 0xed, 0x25, 0x8f, 0x0e, 0x59, 0x95, 0xb4, 0xae, 0x13, 0x82, + 0x67, 0x1f, 0xe0, 0x65, 0x92, 0x4b, 0x54, 0x77, 0x66, 0x8d, 0x88, 0xe4, + 0xeb, 0xce, 0x36, 0x2b, 0x2d, 0x94, 0x93, 0xec, +}; +static const unsigned char kat1884_retbits[] = { + 0x3b, 0x24, 0x61, 0x32, 0x28, 0x82, 0x08, 0x85, 0x34, 0x5e, 0xc8, 0xeb, + 0x70, 0x3b, 0x34, 0xc1, 0x9b, 0xab, 0x15, 0x03, 0xb4, 0x24, 0xd6, 0x5e, + 0xa3, 0x72, 0xe8, 0x3f, 0x2a, 0xbd, 0xe7, 0xbc, 0x74, 0xb0, 0x3b, 0xdd, + 0x43, 0xa9, 0x02, 0x65, 0xa1, 0x79, 0xc4, 0x34, 0xac, 0x7d, 0x93, 0x69, + 0xed, 0x0b, 0x5e, 0x8a, 0xde, 0xa6, 0x84, 0x04, 0x79, 0x74, 0xaa, 0x89, + 0x47, 0xdd, 0xea, 0x88, +}; +static const struct drbg_kat_pr_false kat1884_t = { + 8, kat1884_entropyin, kat1884_nonce, kat1884_persstr, + kat1884_entropyinreseed, kat1884_addinreseed, kat1884_addin0, + kat1884_addin1, kat1884_retbits +}; +static const struct drbg_kat kat1884 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1884_t +}; + +static const unsigned char kat1885_entropyin[] = { + 0xb7, 0xdb, 0xea, 0x9d, 0x0a, 0x65, 0x43, 0x06, 0x95, 0xf4, 0x5c, 0x58, + 0xad, 0xc6, 0x68, 0x96, 0x77, 0xd3, 0xb3, 0xf3, 0x24, 0x69, 0xb9, 0x4a, +}; +static const unsigned char kat1885_nonce[] = { + 0x12, 0x5e, 0x64, 0x85, 0xef, 0x1d, 0x71, 0xd4, 0x9c, 0x64, 0x17, 0x6f, + 0x5f, 0xbe, 0x13, 0xf6, +}; +static const unsigned char kat1885_persstr[] = {0}; +static const unsigned char kat1885_entropyinreseed[] = { + 0x86, 0x0c, 0x03, 0x16, 0x47, 0xa2, 0xe0, 0x22, 0xc3, 0x45, 0x74, 0x5a, + 0x84, 0xef, 0x63, 0x60, 0x34, 0x14, 0xe1, 0x1e, 0x64, 0xb3, 0xed, 0x32, +}; +static const unsigned char kat1885_addinreseed[] = { + 0x7e, 0x00, 0xca, 0xaa, 0xfd, 0x46, 0x46, 0x45, 0x34, 0x72, 0x5c, 0x0d, + 0x99, 0xb5, 0x26, 0x54, 0x56, 0xa5, 0xd6, 0x59, 0xb7, 0x63, 0xdd, 0xf6, + 0x79, 0x81, 0x34, 0x34, 0x1f, 0xa6, 0xa4, 0xbb, +}; +static const unsigned char kat1885_addin0[] = { + 0xfd, 0xd9, 0x13, 0xfc, 0xac, 0x4d, 0x32, 0xb2, 0x31, 0x30, 0x3a, 0x65, + 0x36, 0x84, 0x24, 0x85, 0x5d, 0xcb, 0xba, 0x49, 0xc1, 0xe5, 0xf5, 0x18, + 0x13, 0xa6, 0x25, 0x36, 0x53, 0xd9, 0x94, 0x47, +}; +static const unsigned char kat1885_addin1[] = { + 0x14, 0xdd, 0x4b, 0x3b, 0xbf, 0x47, 0x6c, 0xc7, 0x70, 0xdc, 0x3a, 0xa0, + 0x01, 0xd5, 0x47, 0x3c, 0xc9, 0x9a, 0x77, 0xb4, 0xcb, 0x13, 0xd5, 0x1f, + 0x6e, 0xfc, 0x37, 0x0a, 0xdf, 0x4b, 0x90, 0x2b, +}; +static const unsigned char kat1885_retbits[] = { + 0xa2, 0xb1, 0x5d, 0x99, 0x84, 0xdd, 0x5c, 0xb0, 0x0a, 0x33, 0x39, 0xed, + 0x0a, 0xfb, 0x3c, 0xf3, 0xb9, 0x0d, 0xfc, 0xca, 0x4c, 0xdf, 0x87, 0x8a, + 0x6e, 0xfa, 0xcc, 0x9e, 0xe5, 0x48, 0xb8, 0x31, 0x8c, 0x20, 0xfb, 0xc6, + 0x14, 0x4a, 0x0f, 0xa8, 0xdb, 0x23, 0x00, 0x8c, 0xb2, 0xfc, 0xfb, 0x09, + 0x48, 0xf0, 0x4b, 0x17, 0xc6, 0x5c, 0xc6, 0x84, 0xde, 0x92, 0x72, 0x45, + 0xff, 0xed, 0xd5, 0x5a, +}; +static const struct drbg_kat_pr_false kat1885_t = { + 9, kat1885_entropyin, kat1885_nonce, kat1885_persstr, + kat1885_entropyinreseed, kat1885_addinreseed, kat1885_addin0, + kat1885_addin1, kat1885_retbits +}; +static const struct drbg_kat kat1885 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1885_t +}; + +static const unsigned char kat1886_entropyin[] = { + 0x06, 0xa9, 0xbc, 0xdd, 0x5b, 0xd8, 0x71, 0x33, 0x9b, 0xb8, 0xf0, 0x36, + 0xee, 0xb1, 0xa3, 0x2e, 0x1c, 0x65, 0x53, 0xc9, 0x90, 0xc6, 0x26, 0xd6, +}; +static const unsigned char kat1886_nonce[] = { + 0x43, 0xb3, 0x0d, 0x3c, 0x04, 0xd8, 0x7d, 0xea, 0xa6, 0x23, 0x71, 0x8a, + 0xdd, 0x57, 0xd8, 0xc6, +}; +static const unsigned char kat1886_persstr[] = {0}; +static const unsigned char kat1886_entropyinreseed[] = { + 0x31, 0x0a, 0x06, 0x48, 0xfa, 0x83, 0x81, 0x31, 0xe8, 0xbc, 0xbb, 0xed, + 0x29, 0xde, 0x0f, 0x39, 0x7d, 0xa2, 0x98, 0x11, 0x37, 0xe1, 0xf1, 0x4d, +}; +static const unsigned char kat1886_addinreseed[] = { + 0x23, 0x0d, 0xeb, 0xdf, 0x54, 0x93, 0x52, 0x13, 0xae, 0x5b, 0x3c, 0x19, + 0x75, 0x8d, 0xf9, 0x2b, 0x8d, 0x63, 0x59, 0x69, 0xcb, 0x3c, 0xcb, 0x80, + 0x29, 0x38, 0xcc, 0xf9, 0x3b, 0x3b, 0xcb, 0x92, +}; +static const unsigned char kat1886_addin0[] = { + 0xb5, 0xbb, 0x93, 0xab, 0x9d, 0xa9, 0xcc, 0x5b, 0x57, 0x71, 0x2c, 0x64, + 0x9e, 0x46, 0xe9, 0x9d, 0xc9, 0x2b, 0x63, 0x4b, 0x18, 0x28, 0xf9, 0x09, + 0xe9, 0x8e, 0xb2, 0x38, 0xbd, 0xd4, 0x61, 0xc8, +}; +static const unsigned char kat1886_addin1[] = { + 0x48, 0x95, 0x70, 0x9c, 0x29, 0xd4, 0x02, 0xdf, 0x99, 0x9e, 0x43, 0x01, + 0xfc, 0xee, 0x4a, 0xbe, 0x5a, 0xc5, 0xc6, 0xab, 0x13, 0xbf, 0x31, 0xab, + 0x5d, 0xe0, 0x94, 0x6e, 0x75, 0x03, 0x97, 0x02, +}; +static const unsigned char kat1886_retbits[] = { + 0x5e, 0xf5, 0x16, 0x1c, 0xa1, 0xa5, 0xa9, 0xac, 0x4f, 0x9e, 0x93, 0x0f, + 0x3b, 0xce, 0x13, 0xd4, 0x12, 0x2c, 0xe2, 0x7e, 0x0d, 0xb9, 0x33, 0x9e, + 0x05, 0xe1, 0x03, 0x8e, 0x35, 0x89, 0xe3, 0x00, 0xbf, 0x72, 0x3d, 0x50, + 0x37, 0x01, 0x61, 0xb7, 0x5d, 0x5a, 0xf0, 0x49, 0x0c, 0x74, 0xba, 0x3c, + 0xb9, 0x4e, 0x4a, 0xcf, 0x10, 0x50, 0xd4, 0x77, 0x5d, 0xa9, 0x6c, 0xfa, + 0x9d, 0x10, 0x89, 0x86, +}; +static const struct drbg_kat_pr_false kat1886_t = { + 10, kat1886_entropyin, kat1886_nonce, kat1886_persstr, + kat1886_entropyinreseed, kat1886_addinreseed, kat1886_addin0, + kat1886_addin1, kat1886_retbits +}; +static const struct drbg_kat kat1886 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1886_t +}; + +static const unsigned char kat1887_entropyin[] = { + 0xe3, 0x2c, 0xce, 0x1d, 0x96, 0x22, 0xf8, 0xf0, 0x45, 0x08, 0xe3, 0x66, + 0x1e, 0x63, 0x5c, 0x46, 0x62, 0x6e, 0x00, 0x70, 0xf6, 0x56, 0x07, 0x99, +}; +static const unsigned char kat1887_nonce[] = { + 0xd4, 0x89, 0xae, 0x9d, 0x83, 0x01, 0x1e, 0x32, 0x39, 0xb1, 0xd1, 0x11, + 0xff, 0x89, 0xc2, 0x0b, +}; +static const unsigned char kat1887_persstr[] = {0}; +static const unsigned char kat1887_entropyinreseed[] = { + 0x84, 0x91, 0xcb, 0x65, 0x4e, 0x46, 0x4b, 0x0e, 0xbc, 0xf0, 0x37, 0x29, + 0x71, 0xdc, 0xb0, 0x87, 0x62, 0xa7, 0xdf, 0x82, 0x84, 0xda, 0xf9, 0x0e, +}; +static const unsigned char kat1887_addinreseed[] = { + 0x69, 0x46, 0x2c, 0x9f, 0x14, 0x86, 0x28, 0xdf, 0x54, 0x32, 0x4e, 0xc8, + 0x54, 0xde, 0x81, 0x6e, 0x5f, 0xa6, 0x36, 0x6f, 0x8f, 0x5e, 0x0a, 0x3a, + 0xde, 0x9c, 0x12, 0x5e, 0x2d, 0x88, 0xc1, 0x2b, +}; +static const unsigned char kat1887_addin0[] = { + 0x53, 0x5b, 0x2c, 0xc4, 0x72, 0x65, 0x21, 0xb0, 0xa6, 0x6f, 0xb8, 0x0f, + 0xce, 0xcc, 0x8c, 0x0c, 0x6a, 0xa7, 0xab, 0x30, 0xb9, 0x35, 0x61, 0x81, + 0xeb, 0xbd, 0xce, 0xdf, 0xd9, 0xb7, 0x5f, 0x76, +}; +static const unsigned char kat1887_addin1[] = { + 0x4e, 0x08, 0x13, 0x99, 0xa2, 0xb7, 0x78, 0x4d, 0x9e, 0x85, 0xdf, 0xdf, + 0x48, 0x8b, 0x6a, 0xc9, 0x06, 0x51, 0x8d, 0x71, 0xd1, 0x43, 0x93, 0x37, + 0xa5, 0x0b, 0x6b, 0xe9, 0x37, 0x09, 0x64, 0xd8, +}; +static const unsigned char kat1887_retbits[] = { + 0xab, 0x2e, 0x87, 0xa3, 0xd6, 0x5f, 0x42, 0x2f, 0xfd, 0x67, 0x71, 0x5c, + 0x98, 0x5b, 0xb5, 0xbc, 0x77, 0xdc, 0x15, 0x05, 0x51, 0xe2, 0x42, 0xeb, + 0x9d, 0xf0, 0x98, 0xbc, 0x6b, 0x83, 0x54, 0xe0, 0xb3, 0xb4, 0x69, 0x8b, + 0xe9, 0xb1, 0x94, 0x6b, 0xf0, 0xee, 0xe7, 0x58, 0x17, 0x7b, 0x6e, 0x51, + 0x07, 0x0b, 0x24, 0xbb, 0xa0, 0x07, 0x93, 0x62, 0x23, 0xca, 0xfe, 0x98, + 0x1f, 0x3c, 0x64, 0xd8, +}; +static const struct drbg_kat_pr_false kat1887_t = { + 11, kat1887_entropyin, kat1887_nonce, kat1887_persstr, + kat1887_entropyinreseed, kat1887_addinreseed, kat1887_addin0, + kat1887_addin1, kat1887_retbits +}; +static const struct drbg_kat kat1887 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1887_t +}; + +static const unsigned char kat1888_entropyin[] = { + 0xdc, 0x0d, 0x12, 0x49, 0xfe, 0x31, 0x36, 0x4f, 0x9b, 0x7c, 0x96, 0x13, + 0xd9, 0xd7, 0x18, 0x0d, 0x59, 0x82, 0x96, 0x8a, 0xf8, 0xab, 0x60, 0x85, +}; +static const unsigned char kat1888_nonce[] = { + 0x4d, 0x44, 0xaa, 0xf1, 0x79, 0xb4, 0x35, 0x44, 0x25, 0x9b, 0xd4, 0xd3, + 0x1d, 0xf3, 0xc3, 0x82, +}; +static const unsigned char kat1888_persstr[] = {0}; +static const unsigned char kat1888_entropyinreseed[] = { + 0x54, 0x19, 0x61, 0xc1, 0xcf, 0x4c, 0xbc, 0x04, 0x28, 0xc3, 0xc9, 0x3f, + 0xda, 0x65, 0xa8, 0x37, 0x43, 0x2b, 0xf8, 0xa4, 0xbb, 0xc9, 0xcd, 0xd9, +}; +static const unsigned char kat1888_addinreseed[] = { + 0x39, 0x57, 0xb3, 0xac, 0x7e, 0xd3, 0x5b, 0x46, 0x87, 0x5f, 0xc5, 0x79, + 0xc5, 0xfd, 0x5e, 0x91, 0x50, 0x52, 0x02, 0x48, 0x16, 0xf9, 0x12, 0xb7, + 0x1f, 0x7d, 0xe9, 0xb0, 0xb3, 0x1e, 0xda, 0x38, +}; +static const unsigned char kat1888_addin0[] = { + 0x20, 0xcc, 0x95, 0xb4, 0xd7, 0xb1, 0x87, 0x89, 0xad, 0x6c, 0xab, 0x1f, + 0x7a, 0x44, 0x4d, 0x7e, 0xcd, 0x1a, 0x33, 0x06, 0x70, 0x0d, 0x08, 0x46, + 0xe3, 0x52, 0xef, 0xf1, 0x5a, 0xed, 0xb7, 0xc9, +}; +static const unsigned char kat1888_addin1[] = { + 0xb4, 0x0a, 0x26, 0xda, 0x42, 0xe3, 0xd6, 0x6a, 0x8e, 0x02, 0xff, 0x16, + 0xbc, 0x91, 0xe5, 0x25, 0xc8, 0x29, 0x90, 0x26, 0xbe, 0x41, 0xd4, 0x68, + 0xa4, 0x4b, 0xf9, 0x3d, 0x74, 0xbc, 0xab, 0xa3, +}; +static const unsigned char kat1888_retbits[] = { + 0x28, 0x89, 0x96, 0xd0, 0x1d, 0x28, 0x2f, 0x1c, 0xc2, 0x80, 0x6f, 0x85, + 0x7b, 0xe6, 0x69, 0xd9, 0x11, 0xa6, 0xbf, 0x9a, 0xc4, 0xcc, 0x59, 0xab, + 0x58, 0xac, 0xbe, 0x7c, 0xd9, 0x71, 0x3d, 0xea, 0xcf, 0xfb, 0x7a, 0x2c, + 0xb3, 0x90, 0xc8, 0xf2, 0xdf, 0xf4, 0x42, 0x79, 0x2b, 0x5d, 0x63, 0x08, + 0x9a, 0x33, 0x4b, 0xf4, 0x3d, 0x2d, 0x1f, 0x46, 0x25, 0xf5, 0x09, 0x94, + 0x81, 0x35, 0x42, 0xa9, +}; +static const struct drbg_kat_pr_false kat1888_t = { + 12, kat1888_entropyin, kat1888_nonce, kat1888_persstr, + kat1888_entropyinreseed, kat1888_addinreseed, kat1888_addin0, + kat1888_addin1, kat1888_retbits +}; +static const struct drbg_kat kat1888 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1888_t +}; + +static const unsigned char kat1889_entropyin[] = { + 0xe4, 0x2d, 0x17, 0x7d, 0x30, 0xf0, 0x63, 0x21, 0xd1, 0xae, 0x17, 0x98, + 0x99, 0x3f, 0x24, 0x80, 0x58, 0x4b, 0x4a, 0x6d, 0x3d, 0xde, 0xd3, 0x54, +}; +static const unsigned char kat1889_nonce[] = { + 0x10, 0x9f, 0x51, 0x55, 0xc6, 0xd2, 0xac, 0x7b, 0x8c, 0x96, 0x63, 0x83, + 0x61, 0x39, 0xe7, 0xe4, +}; +static const unsigned char kat1889_persstr[] = {0}; +static const unsigned char kat1889_entropyinreseed[] = { + 0xcb, 0x4d, 0x71, 0xb6, 0xd6, 0xc3, 0x5b, 0x91, 0xff, 0x4c, 0x50, 0xfd, + 0x88, 0xd8, 0xf4, 0xe8, 0xdd, 0x51, 0xc0, 0xc1, 0x33, 0x25, 0xae, 0xd5, +}; +static const unsigned char kat1889_addinreseed[] = { + 0xd7, 0xf7, 0x30, 0xcc, 0x17, 0xf7, 0x0a, 0xe6, 0x47, 0x75, 0xfd, 0x59, + 0x3b, 0xe4, 0x3b, 0x9e, 0xeb, 0x41, 0xdb, 0x8c, 0x58, 0x80, 0x4d, 0x4f, + 0xaf, 0x8b, 0x4a, 0x57, 0xe8, 0xe9, 0xa1, 0x65, +}; +static const unsigned char kat1889_addin0[] = { + 0x03, 0xc0, 0xd2, 0xf7, 0x2a, 0xb6, 0x6a, 0x18, 0xdb, 0x41, 0x09, 0xdf, + 0x3f, 0xcc, 0xd6, 0xa6, 0x17, 0x41, 0x74, 0xa4, 0x53, 0xde, 0x17, 0x93, + 0x1c, 0x87, 0x85, 0x4f, 0xd1, 0x2e, 0x4a, 0xb5, +}; +static const unsigned char kat1889_addin1[] = { + 0x9d, 0xfa, 0xd6, 0xa1, 0xb1, 0x58, 0xa1, 0xad, 0x24, 0xb4, 0x66, 0x99, + 0x9e, 0x16, 0x9b, 0x32, 0x0b, 0x47, 0x24, 0xf5, 0x8d, 0x80, 0xed, 0x89, + 0xad, 0xe8, 0xd2, 0x6b, 0x67, 0xa0, 0x15, 0x67, +}; +static const unsigned char kat1889_retbits[] = { + 0xbe, 0x7d, 0x61, 0x8e, 0xa4, 0x77, 0x3e, 0x3e, 0xf5, 0xee, 0x2a, 0x9d, + 0x9a, 0xb2, 0x65, 0x2f, 0xbe, 0x5c, 0x8c, 0xc7, 0x65, 0x7a, 0xbe, 0x11, + 0x18, 0x16, 0x08, 0x5a, 0xc3, 0x5d, 0x7f, 0x09, 0x07, 0x40, 0x9e, 0x00, + 0x41, 0x37, 0x7e, 0x87, 0xf9, 0xe5, 0x8c, 0xf6, 0xf1, 0x5a, 0xaa, 0x58, + 0x3f, 0x84, 0xe7, 0x7d, 0x74, 0x81, 0xd5, 0x12, 0x84, 0xa3, 0x59, 0xe2, + 0x31, 0xdf, 0x77, 0x67, +}; +static const struct drbg_kat_pr_false kat1889_t = { + 13, kat1889_entropyin, kat1889_nonce, kat1889_persstr, + kat1889_entropyinreseed, kat1889_addinreseed, kat1889_addin0, + kat1889_addin1, kat1889_retbits +}; +static const struct drbg_kat kat1889 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1889_t +}; + +static const unsigned char kat1890_entropyin[] = { + 0xb5, 0x7e, 0xac, 0x6d, 0x16, 0x7d, 0xca, 0x49, 0x3c, 0xf1, 0xbd, 0x58, + 0x17, 0x26, 0x58, 0x0b, 0xbc, 0x14, 0x2c, 0xae, 0xe0, 0xa9, 0x31, 0x2a, +}; +static const unsigned char kat1890_nonce[] = { + 0x5d, 0x6f, 0x1f, 0x44, 0x43, 0x8a, 0x31, 0x2c, 0x19, 0x4d, 0xe7, 0x40, + 0xe5, 0xe7, 0x2c, 0xc4, +}; +static const unsigned char kat1890_persstr[] = {0}; +static const unsigned char kat1890_entropyinreseed[] = { + 0xc9, 0xb3, 0xf4, 0x74, 0x0e, 0x50, 0x76, 0x27, 0x8b, 0x23, 0x02, 0x10, + 0x07, 0x39, 0xc9, 0xaa, 0x1a, 0xb3, 0xa2, 0xac, 0x82, 0xf4, 0x62, 0x87, +}; +static const unsigned char kat1890_addinreseed[] = { + 0x27, 0xf6, 0xb7, 0x1b, 0xa6, 0x0b, 0x62, 0xff, 0x29, 0xd2, 0xba, 0xaf, + 0x5b, 0xbf, 0xbe, 0x34, 0x5a, 0xc5, 0x95, 0x5c, 0x80, 0xce, 0x1c, 0x21, + 0x35, 0x5c, 0x25, 0x6f, 0x69, 0x26, 0x63, 0xa3, +}; +static const unsigned char kat1890_addin0[] = { + 0xaf, 0xde, 0xaa, 0x87, 0x96, 0x5c, 0x4e, 0xa3, 0x3a, 0xff, 0x1c, 0x32, + 0xce, 0x37, 0x06, 0x52, 0xd4, 0x3e, 0x89, 0xf2, 0xff, 0x4b, 0x63, 0x21, + 0x5d, 0x84, 0xd0, 0xf7, 0x6a, 0xc0, 0x97, 0xc7, +}; +static const unsigned char kat1890_addin1[] = { + 0x5c, 0x7e, 0xad, 0x30, 0xd4, 0x42, 0xc9, 0x57, 0xfb, 0xde, 0xb5, 0xc1, + 0xe3, 0xe9, 0x3c, 0x09, 0x4d, 0x96, 0x47, 0xb0, 0x08, 0x44, 0xb1, 0x23, + 0x97, 0x86, 0xc8, 0x84, 0x84, 0xd2, 0xfb, 0xe5, +}; +static const unsigned char kat1890_retbits[] = { + 0x95, 0x1b, 0xd3, 0x58, 0xbc, 0x14, 0x57, 0x01, 0x1b, 0x34, 0x31, 0x74, + 0x78, 0xeb, 0x82, 0xa6, 0xbf, 0x61, 0x8e, 0x34, 0x2c, 0x45, 0x05, 0x03, + 0x05, 0x59, 0xba, 0xf2, 0xee, 0x2a, 0xf8, 0xa2, 0x6b, 0x4e, 0xa2, 0x0b, + 0xb5, 0x4e, 0xc2, 0x57, 0x84, 0x7e, 0x05, 0xe5, 0x61, 0x5e, 0xf4, 0x18, + 0xff, 0x8b, 0x88, 0xfb, 0x68, 0x1b, 0x36, 0xa4, 0xe5, 0xeb, 0xcb, 0x81, + 0x7e, 0xbd, 0x6e, 0xb6, +}; +static const struct drbg_kat_pr_false kat1890_t = { + 14, kat1890_entropyin, kat1890_nonce, kat1890_persstr, + kat1890_entropyinreseed, kat1890_addinreseed, kat1890_addin0, + kat1890_addin1, kat1890_retbits +}; +static const struct drbg_kat kat1890 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat1890_t +}; + +static const unsigned char kat1891_entropyin[] = { + 0xf4, 0x93, 0x6a, 0x73, 0x2f, 0xdf, 0x56, 0x68, 0x57, 0x7d, 0xb7, 0x9e, + 0x7f, 0x93, 0xe9, 0x1c, 0x4c, 0xda, 0x1d, 0x10, 0xb5, 0x78, 0x1b, 0x5e, +}; +static const unsigned char kat1891_nonce[] = { + 0xc6, 0x0b, 0x0b, 0x05, 0x60, 0x01, 0x52, 0xf0, 0x33, 0xf0, 0x56, 0xdc, + 0xe7, 0xaf, 0x79, 0x15, +}; +static const unsigned char kat1891_persstr[] = { + 0x6f, 0x0c, 0xf0, 0x12, 0xd0, 0xe4, 0x95, 0x05, 0x1f, 0xd6, 0xc2, 0xc9, + 0x6e, 0x58, 0x19, 0x25, 0x96, 0x02, 0x71, 0xb3, 0x59, 0xa7, 0x05, 0xa6, + 0x50, 0x75, 0xbc, 0x5e, 0xc1, 0x6d, 0xdc, 0x6e, +}; +static const unsigned char kat1891_entropyinreseed[] = { + 0xbf, 0x21, 0xff, 0x36, 0x30, 0xb1, 0x6a, 0xce, 0xf8, 0x76, 0x02, 0xba, + 0xdb, 0x5a, 0xc2, 0xd6, 0x40, 0x24, 0x1e, 0xb4, 0x81, 0xa0, 0xc8, 0xd9, +}; +static const unsigned char kat1891_addinreseed[] = {0}; +static const unsigned char kat1891_addin0[] = {0}; +static const unsigned char kat1891_addin1[] = {0}; +static const unsigned char kat1891_retbits[] = { + 0x18, 0x93, 0x1f, 0xb1, 0xdc, 0x25, 0x5d, 0xde, 0xa2, 0xe6, 0xd4, 0x35, + 0x1e, 0xb6, 0xf3, 0x29, 0xc2, 0x34, 0xe1, 0xd4, 0x96, 0x20, 0x60, 0xac, + 0xed, 0xdf, 0x0c, 0x9f, 0xa9, 0x95, 0x09, 0xcb, 0xc6, 0x4c, 0x04, 0x22, + 0x58, 0xf8, 0xda, 0xf5, 0x7c, 0x12, 0x0d, 0x7a, 0x2d, 0xac, 0xa9, 0x5f, + 0x40, 0x73, 0x4f, 0x59, 0x20, 0x6e, 0x69, 0x94, 0xaa, 0x63, 0x95, 0xcd, + 0x80, 0xa1, 0xfd, 0x54, +}; +static const struct drbg_kat_pr_false kat1891_t = { + 0, kat1891_entropyin, kat1891_nonce, kat1891_persstr, + kat1891_entropyinreseed, kat1891_addinreseed, kat1891_addin0, + kat1891_addin1, kat1891_retbits +}; +static const struct drbg_kat kat1891 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1891_t +}; + +static const unsigned char kat1892_entropyin[] = { + 0x3d, 0x18, 0x5c, 0x30, 0x29, 0xd1, 0x29, 0x2e, 0x8d, 0xc0, 0x74, 0x8a, + 0xfd, 0x68, 0x1c, 0x9e, 0x8c, 0x41, 0x07, 0x77, 0x74, 0x21, 0x7b, 0x9c, +}; +static const unsigned char kat1892_nonce[] = { + 0xec, 0x68, 0xb8, 0xb7, 0xda, 0x23, 0x8e, 0xdc, 0x37, 0x82, 0x4f, 0x55, + 0xeb, 0xff, 0x29, 0xf8, +}; +static const unsigned char kat1892_persstr[] = { + 0x80, 0x5c, 0xc9, 0x41, 0xc1, 0xdd, 0xc1, 0xa4, 0xae, 0x3a, 0x1f, 0xf9, + 0xda, 0x01, 0x45, 0xe5, 0xc2, 0x56, 0xfd, 0x63, 0xdf, 0xec, 0xc5, 0x94, + 0x8e, 0x0e, 0x24, 0xa9, 0x2d, 0x8a, 0xdb, 0xcb, +}; +static const unsigned char kat1892_entropyinreseed[] = { + 0xb4, 0x5d, 0x6e, 0x41, 0x03, 0x35, 0xda, 0x94, 0xa1, 0x78, 0x41, 0x67, + 0x65, 0x79, 0xde, 0x67, 0x78, 0x1e, 0xcb, 0xa2, 0x57, 0x13, 0x13, 0x85, +}; +static const unsigned char kat1892_addinreseed[] = {0}; +static const unsigned char kat1892_addin0[] = {0}; +static const unsigned char kat1892_addin1[] = {0}; +static const unsigned char kat1892_retbits[] = { + 0xfb, 0x95, 0x2f, 0x3f, 0x62, 0x3e, 0xf2, 0x83, 0x3a, 0x4d, 0x81, 0x13, + 0x01, 0x91, 0x74, 0xb9, 0x12, 0x7f, 0x84, 0xfa, 0x59, 0x3c, 0x38, 0x0d, + 0x03, 0xad, 0x11, 0x64, 0x3d, 0x5a, 0x35, 0x73, 0x58, 0x48, 0xd9, 0x30, + 0x09, 0xb4, 0x58, 0xef, 0x41, 0x64, 0x3c, 0x26, 0x66, 0xda, 0x6d, 0xeb, + 0x94, 0x32, 0x39, 0x8c, 0x4e, 0x7e, 0xc2, 0x48, 0x0b, 0x9c, 0x7b, 0x87, + 0x9c, 0x09, 0x9f, 0xd1, +}; +static const struct drbg_kat_pr_false kat1892_t = { + 1, kat1892_entropyin, kat1892_nonce, kat1892_persstr, + kat1892_entropyinreseed, kat1892_addinreseed, kat1892_addin0, + kat1892_addin1, kat1892_retbits +}; +static const struct drbg_kat kat1892 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1892_t +}; + +static const unsigned char kat1893_entropyin[] = { + 0xc3, 0x36, 0xf7, 0xc8, 0x12, 0x1c, 0x4f, 0x6d, 0xf2, 0x06, 0xa9, 0x4e, + 0xfc, 0x5d, 0xc1, 0x30, 0xe8, 0xef, 0x83, 0xdd, 0x48, 0x7e, 0xcd, 0x56, +}; +static const unsigned char kat1893_nonce[] = { + 0x61, 0x5b, 0x07, 0x9c, 0x73, 0x80, 0x12, 0xa3, 0xda, 0x7f, 0xe8, 0xe9, + 0x0c, 0x4d, 0x8a, 0xc5, +}; +static const unsigned char kat1893_persstr[] = { + 0x8b, 0xca, 0x6f, 0x65, 0xed, 0xd7, 0x4f, 0x3c, 0x88, 0xeb, 0x56, 0x8e, + 0x2f, 0xad, 0xcd, 0x1c, 0x7d, 0x3d, 0x71, 0x7a, 0xbf, 0x80, 0xa2, 0x65, + 0xdb, 0x35, 0x90, 0xe0, 0xfe, 0x50, 0xf5, 0xf7, +}; +static const unsigned char kat1893_entropyinreseed[] = { + 0x1a, 0x02, 0xbd, 0x0c, 0xc1, 0x58, 0xc9, 0x18, 0x6c, 0xfc, 0xd4, 0xcb, + 0x15, 0x32, 0x86, 0x24, 0xd3, 0x7b, 0xe1, 0xe8, 0x96, 0xf0, 0xbd, 0x0f, +}; +static const unsigned char kat1893_addinreseed[] = {0}; +static const unsigned char kat1893_addin0[] = {0}; +static const unsigned char kat1893_addin1[] = {0}; +static const unsigned char kat1893_retbits[] = { + 0xb4, 0x46, 0x31, 0x16, 0x49, 0xe6, 0x16, 0xfd, 0xf4, 0x08, 0x8d, 0x4f, + 0x9f, 0xd5, 0x09, 0x72, 0x2b, 0x3d, 0x99, 0x75, 0xf9, 0x39, 0x65, 0x82, + 0x25, 0x8b, 0x98, 0x92, 0xa6, 0xcb, 0x5f, 0x5a, 0xb4, 0xe2, 0x61, 0xa8, + 0x15, 0x6b, 0x35, 0x22, 0x91, 0x0e, 0xfc, 0x20, 0x64, 0x54, 0x28, 0xff, + 0x3c, 0x0f, 0x65, 0x23, 0x28, 0x4e, 0x5c, 0x56, 0x29, 0xf9, 0x74, 0x61, + 0x3d, 0x49, 0x42, 0xb7, +}; +static const struct drbg_kat_pr_false kat1893_t = { + 2, kat1893_entropyin, kat1893_nonce, kat1893_persstr, + kat1893_entropyinreseed, kat1893_addinreseed, kat1893_addin0, + kat1893_addin1, kat1893_retbits +}; +static const struct drbg_kat kat1893 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1893_t +}; + +static const unsigned char kat1894_entropyin[] = { + 0x78, 0xca, 0x16, 0xd7, 0x7c, 0x8f, 0x03, 0x75, 0x92, 0xdd, 0x30, 0xf5, + 0xe3, 0xe0, 0xdf, 0x30, 0xcb, 0xb8, 0xb5, 0xc4, 0x25, 0xf8, 0x43, 0xa2, +}; +static const unsigned char kat1894_nonce[] = { + 0xf7, 0xe8, 0x0e, 0xd2, 0x76, 0xaf, 0x5f, 0xa1, 0xcb, 0x96, 0x7f, 0x33, + 0x1f, 0x12, 0x98, 0x26, +}; +static const unsigned char kat1894_persstr[] = { + 0x7c, 0xf5, 0x34, 0x2f, 0x37, 0x1d, 0x56, 0xb3, 0x1e, 0x70, 0xb6, 0xc5, + 0x52, 0xaa, 0x96, 0xeb, 0x00, 0x00, 0x9c, 0x15, 0xa5, 0xe0, 0xe3, 0xeb, + 0x8f, 0x6b, 0x9c, 0xea, 0x4c, 0x96, 0xeb, 0x5f, +}; +static const unsigned char kat1894_entropyinreseed[] = { + 0x4d, 0x58, 0x2b, 0x73, 0xb5, 0x4f, 0x07, 0xe3, 0xb5, 0x98, 0x2f, 0x12, + 0xb7, 0xe9, 0x38, 0x88, 0x9a, 0x72, 0x0e, 0xd0, 0x38, 0x9c, 0x76, 0xa1, +}; +static const unsigned char kat1894_addinreseed[] = {0}; +static const unsigned char kat1894_addin0[] = {0}; +static const unsigned char kat1894_addin1[] = {0}; +static const unsigned char kat1894_retbits[] = { + 0x91, 0x2a, 0x9f, 0xa8, 0x5b, 0xef, 0xf2, 0xec, 0xd1, 0xb8, 0xd5, 0x27, + 0x80, 0xd5, 0xa5, 0x67, 0x4e, 0x2b, 0xf2, 0x2d, 0xa5, 0xf9, 0xf2, 0x60, + 0x43, 0x26, 0x91, 0xeb, 0xbd, 0x43, 0x2c, 0x82, 0x75, 0x19, 0x68, 0xd2, + 0x25, 0xbd, 0x06, 0xc6, 0x81, 0xaf, 0x89, 0xac, 0xd2, 0xba, 0x48, 0x3a, + 0x37, 0x21, 0x4a, 0xbf, 0xdb, 0xe4, 0xaa, 0x88, 0x19, 0xc6, 0x46, 0x32, + 0xe3, 0xb4, 0x04, 0x08, +}; +static const struct drbg_kat_pr_false kat1894_t = { + 3, kat1894_entropyin, kat1894_nonce, kat1894_persstr, + kat1894_entropyinreseed, kat1894_addinreseed, kat1894_addin0, + kat1894_addin1, kat1894_retbits +}; +static const struct drbg_kat kat1894 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1894_t +}; + +static const unsigned char kat1895_entropyin[] = { + 0xff, 0x51, 0x15, 0xcc, 0xbc, 0x5f, 0xc4, 0x15, 0xdd, 0x57, 0xab, 0xa3, + 0x10, 0x2d, 0x23, 0xf6, 0xf1, 0x19, 0xaa, 0xc1, 0x4d, 0xc9, 0x5d, 0x1b, +}; +static const unsigned char kat1895_nonce[] = { + 0xd8, 0xa0, 0xc6, 0xe2, 0xcb, 0xd0, 0xc0, 0xb3, 0x97, 0x9d, 0x9a, 0xfa, + 0xa3, 0x23, 0x62, 0xa3, +}; +static const unsigned char kat1895_persstr[] = { + 0x41, 0x17, 0x45, 0x7f, 0x12, 0x56, 0xdb, 0x46, 0x94, 0x31, 0x66, 0xc8, + 0xcf, 0xe0, 0x3c, 0xcb, 0x40, 0xa4, 0x33, 0x36, 0x9f, 0x0b, 0xd3, 0xbb, + 0x2e, 0xee, 0xe2, 0x8d, 0xcc, 0xe4, 0x4b, 0x65, +}; +static const unsigned char kat1895_entropyinreseed[] = { + 0x11, 0xbf, 0x85, 0xb6, 0x34, 0x8b, 0xce, 0xb8, 0x63, 0xb6, 0xa7, 0x52, + 0xcb, 0x65, 0x15, 0x72, 0xa4, 0xe7, 0x50, 0xb1, 0xd1, 0x01, 0x07, 0x80, +}; +static const unsigned char kat1895_addinreseed[] = {0}; +static const unsigned char kat1895_addin0[] = {0}; +static const unsigned char kat1895_addin1[] = {0}; +static const unsigned char kat1895_retbits[] = { + 0xab, 0xbb, 0xa8, 0x3d, 0x02, 0xfa, 0x0b, 0xad, 0x5f, 0xf6, 0xac, 0xe6, + 0xa9, 0x2a, 0xab, 0x07, 0xb3, 0xaa, 0x2f, 0xaa, 0xc6, 0xc5, 0xfe, 0xcb, + 0x46, 0xaf, 0x4c, 0xb4, 0x39, 0x04, 0x22, 0x7f, 0xd9, 0xf3, 0x43, 0x22, + 0xb3, 0xac, 0x90, 0x29, 0x82, 0xb2, 0x3b, 0x55, 0x80, 0x46, 0x58, 0xba, + 0xd3, 0xf9, 0x75, 0x67, 0x40, 0x51, 0xba, 0xf5, 0x54, 0x06, 0x57, 0x85, + 0xec, 0x5b, 0xad, 0x80, +}; +static const struct drbg_kat_pr_false kat1895_t = { + 4, kat1895_entropyin, kat1895_nonce, kat1895_persstr, + kat1895_entropyinreseed, kat1895_addinreseed, kat1895_addin0, + kat1895_addin1, kat1895_retbits +}; +static const struct drbg_kat kat1895 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1895_t +}; + +static const unsigned char kat1896_entropyin[] = { + 0x9e, 0xb4, 0x24, 0x9f, 0x70, 0x60, 0xd6, 0xc3, 0xee, 0x57, 0x4b, 0x63, + 0xf8, 0x4d, 0x4d, 0xd7, 0x75, 0x90, 0x38, 0xd3, 0x2d, 0x15, 0xb2, 0x4b, +}; +static const unsigned char kat1896_nonce[] = { + 0x64, 0x91, 0xe9, 0xd1, 0x4f, 0xa7, 0xed, 0xd4, 0x02, 0x49, 0xfb, 0x55, + 0x92, 0xad, 0x8e, 0xbc, +}; +static const unsigned char kat1896_persstr[] = { + 0xca, 0x30, 0x44, 0xf4, 0x39, 0x13, 0xbe, 0x03, 0x45, 0xa7, 0x4a, 0x99, + 0x88, 0x73, 0x33, 0x2c, 0xa3, 0x62, 0x32, 0x82, 0xfd, 0x03, 0xb0, 0x0b, + 0xce, 0x0c, 0xfd, 0x97, 0x8e, 0x0d, 0x9b, 0x1d, +}; +static const unsigned char kat1896_entropyinreseed[] = { + 0xf6, 0x58, 0x34, 0x6d, 0xa8, 0x25, 0x95, 0x7f, 0x1d, 0x14, 0x29, 0xdc, + 0x32, 0xd7, 0x25, 0x18, 0x46, 0xfe, 0xbe, 0x1c, 0x3a, 0xe6, 0xcc, 0x3b, +}; +static const unsigned char kat1896_addinreseed[] = {0}; +static const unsigned char kat1896_addin0[] = {0}; +static const unsigned char kat1896_addin1[] = {0}; +static const unsigned char kat1896_retbits[] = { + 0x02, 0x7f, 0x5c, 0xbe, 0x58, 0x8d, 0xd3, 0x9c, 0x52, 0x69, 0x1e, 0x52, + 0x05, 0x03, 0x98, 0x13, 0xa5, 0x74, 0xd4, 0x54, 0x34, 0x13, 0xd0, 0x92, + 0xaf, 0x0d, 0x0b, 0x75, 0x42, 0xfb, 0x25, 0x52, 0xa7, 0xf5, 0x83, 0xd1, + 0x96, 0x00, 0xb8, 0x97, 0xcc, 0xe9, 0xe8, 0xac, 0x1c, 0x74, 0x4f, 0xa4, + 0x99, 0xfe, 0x0d, 0x70, 0x4e, 0x89, 0x7d, 0x76, 0xd8, 0x7a, 0xeb, 0xf4, + 0xfd, 0xc9, 0x4d, 0x19, +}; +static const struct drbg_kat_pr_false kat1896_t = { + 5, kat1896_entropyin, kat1896_nonce, kat1896_persstr, + kat1896_entropyinreseed, kat1896_addinreseed, kat1896_addin0, + kat1896_addin1, kat1896_retbits +}; +static const struct drbg_kat kat1896 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1896_t +}; + +static const unsigned char kat1897_entropyin[] = { + 0xf4, 0x18, 0xd3, 0xa2, 0xd3, 0xa1, 0x04, 0xa3, 0x25, 0xf8, 0x2e, 0xa1, + 0x7e, 0x2b, 0x03, 0xe3, 0xdc, 0x47, 0x1f, 0xaa, 0xe7, 0x83, 0x41, 0x3a, +}; +static const unsigned char kat1897_nonce[] = { + 0x41, 0xfd, 0xda, 0xcc, 0x56, 0xc8, 0x18, 0x07, 0xb4, 0x2e, 0x44, 0x12, + 0x88, 0xda, 0x65, 0x78, +}; +static const unsigned char kat1897_persstr[] = { + 0x95, 0x5f, 0x18, 0x80, 0x23, 0xda, 0x79, 0xf9, 0x4f, 0x3c, 0xfd, 0xe7, + 0x1e, 0xdf, 0xf2, 0xec, 0x5a, 0x6b, 0xab, 0x24, 0x92, 0x5f, 0x52, 0x6f, + 0xc0, 0x2d, 0x82, 0x08, 0x71, 0xce, 0x4d, 0x9e, +}; +static const unsigned char kat1897_entropyinreseed[] = { + 0x39, 0x24, 0xcd, 0xe4, 0x36, 0x83, 0x61, 0x4e, 0xb4, 0x39, 0x6f, 0xce, + 0x38, 0xd6, 0x5a, 0x49, 0x8f, 0x87, 0xe6, 0xc3, 0x74, 0xfc, 0x23, 0x08, +}; +static const unsigned char kat1897_addinreseed[] = {0}; +static const unsigned char kat1897_addin0[] = {0}; +static const unsigned char kat1897_addin1[] = {0}; +static const unsigned char kat1897_retbits[] = { + 0x97, 0x5c, 0xb8, 0xc8, 0x17, 0xac, 0x90, 0x27, 0xe5, 0x4a, 0xb9, 0xef, + 0xfc, 0xb6, 0xf8, 0x21, 0xf4, 0x68, 0x8f, 0x9c, 0xfc, 0xdf, 0x5c, 0xf9, + 0xc0, 0xf5, 0x84, 0xa5, 0xb5, 0x12, 0x23, 0x60, 0x01, 0x68, 0x1b, 0xb9, + 0x85, 0xd9, 0x13, 0xd5, 0x23, 0x6b, 0xed, 0x8d, 0x53, 0x6a, 0xf0, 0x5e, + 0xeb, 0xee, 0x87, 0xcd, 0xc7, 0x75, 0x6a, 0xf9, 0x8b, 0x22, 0x99, 0x01, + 0x26, 0x40, 0x89, 0x7e, +}; +static const struct drbg_kat_pr_false kat1897_t = { + 6, kat1897_entropyin, kat1897_nonce, kat1897_persstr, + kat1897_entropyinreseed, kat1897_addinreseed, kat1897_addin0, + kat1897_addin1, kat1897_retbits +}; +static const struct drbg_kat kat1897 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1897_t +}; + +static const unsigned char kat1898_entropyin[] = { + 0xb9, 0x7a, 0x78, 0xcc, 0x24, 0x88, 0x61, 0x4d, 0xed, 0xcc, 0x62, 0x17, + 0x06, 0xae, 0x80, 0x96, 0xa0, 0x8a, 0x27, 0xed, 0x23, 0x23, 0x72, 0xea, +}; +static const unsigned char kat1898_nonce[] = { + 0x68, 0x5b, 0x6c, 0x16, 0xe3, 0xd3, 0xf7, 0x25, 0x68, 0x64, 0x44, 0x50, + 0xc8, 0x11, 0xca, 0xfa, +}; +static const unsigned char kat1898_persstr[] = { + 0x4a, 0xce, 0x80, 0xd8, 0xc0, 0xbb, 0xb9, 0xef, 0x5e, 0x1a, 0x6b, 0xc2, + 0x4a, 0x7b, 0x7f, 0x66, 0xfd, 0x86, 0xc9, 0x3f, 0x95, 0xfc, 0x7c, 0xf1, + 0x43, 0x08, 0x38, 0x3c, 0x82, 0x72, 0xee, 0x6a, +}; +static const unsigned char kat1898_entropyinreseed[] = { + 0x9a, 0xac, 0xfa, 0xf8, 0x11, 0xcd, 0xcd, 0xa8, 0x65, 0x5c, 0x6a, 0xf2, + 0xee, 0xfb, 0x24, 0xca, 0xed, 0x4a, 0x90, 0x68, 0xd1, 0xf6, 0xf5, 0x58, +}; +static const unsigned char kat1898_addinreseed[] = {0}; +static const unsigned char kat1898_addin0[] = {0}; +static const unsigned char kat1898_addin1[] = {0}; +static const unsigned char kat1898_retbits[] = { + 0x40, 0xef, 0x28, 0x7a, 0xc7, 0x53, 0x7c, 0xf3, 0x70, 0x1b, 0x75, 0xbc, + 0x67, 0x0a, 0xdd, 0x6e, 0xb9, 0x41, 0xe9, 0x35, 0x8b, 0xe8, 0x49, 0xd4, + 0xb7, 0xfb, 0xdf, 0x4c, 0x2d, 0x4c, 0xa9, 0x4c, 0x03, 0xc5, 0xa8, 0x01, + 0xb3, 0x0a, 0x9e, 0x9a, 0x74, 0x41, 0xc4, 0x67, 0x18, 0x3d, 0xb8, 0x18, + 0xfd, 0x9e, 0xea, 0xca, 0x9b, 0x97, 0x8b, 0xfc, 0x17, 0x93, 0xc1, 0x91, + 0x42, 0x7d, 0xa2, 0x81, +}; +static const struct drbg_kat_pr_false kat1898_t = { + 7, kat1898_entropyin, kat1898_nonce, kat1898_persstr, + kat1898_entropyinreseed, kat1898_addinreseed, kat1898_addin0, + kat1898_addin1, kat1898_retbits +}; +static const struct drbg_kat kat1898 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1898_t +}; + +static const unsigned char kat1899_entropyin[] = { + 0xf2, 0x07, 0xc8, 0xa0, 0xc2, 0x7c, 0x3e, 0x3f, 0x22, 0xc6, 0xbb, 0x8a, + 0x5b, 0xea, 0xd3, 0x57, 0x61, 0x40, 0xdd, 0x7d, 0x8b, 0x60, 0x32, 0x46, +}; +static const unsigned char kat1899_nonce[] = { + 0x64, 0x80, 0x60, 0x75, 0x08, 0xaf, 0xa5, 0xa0, 0xd4, 0xcf, 0xc0, 0x91, + 0x2f, 0xb9, 0xf7, 0x15, +}; +static const unsigned char kat1899_persstr[] = { + 0x54, 0x1c, 0x21, 0xc0, 0xf8, 0x5f, 0x0f, 0x4c, 0x58, 0xfd, 0x04, 0x45, + 0x2a, 0x7a, 0xe4, 0x11, 0x72, 0x30, 0xef, 0x2f, 0xea, 0x31, 0x6e, 0xd5, + 0xe0, 0x0b, 0x74, 0x22, 0x31, 0x29, 0x15, 0x6e, +}; +static const unsigned char kat1899_entropyinreseed[] = { + 0xae, 0xdf, 0x55, 0xe5, 0xcd, 0xcc, 0x12, 0x9e, 0x7a, 0x6d, 0xf9, 0x34, + 0x63, 0x68, 0x00, 0x59, 0xa0, 0xf7, 0x3b, 0xf9, 0x11, 0x76, 0xf6, 0x9f, +}; +static const unsigned char kat1899_addinreseed[] = {0}; +static const unsigned char kat1899_addin0[] = {0}; +static const unsigned char kat1899_addin1[] = {0}; +static const unsigned char kat1899_retbits[] = { + 0x7f, 0x88, 0x33, 0x0f, 0xa0, 0xe6, 0x80, 0x39, 0x22, 0xf9, 0xc8, 0x50, + 0xab, 0xe5, 0xa8, 0x3b, 0xc1, 0xd7, 0xc9, 0xd5, 0xe4, 0x7d, 0x17, 0x5c, + 0xc0, 0xdb, 0x22, 0x71, 0xcd, 0x72, 0xfc, 0xe9, 0xcc, 0xc2, 0x05, 0xdf, + 0x33, 0x1b, 0x8f, 0x39, 0x85, 0x8f, 0x77, 0x8f, 0x73, 0x3a, 0x4b, 0x70, + 0x92, 0xd7, 0x80, 0x5d, 0x27, 0xad, 0x5f, 0x49, 0x1c, 0xb2, 0xa3, 0x4d, + 0x79, 0x82, 0xc8, 0x09, +}; +static const struct drbg_kat_pr_false kat1899_t = { + 8, kat1899_entropyin, kat1899_nonce, kat1899_persstr, + kat1899_entropyinreseed, kat1899_addinreseed, kat1899_addin0, + kat1899_addin1, kat1899_retbits +}; +static const struct drbg_kat kat1899 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1899_t +}; + +static const unsigned char kat1900_entropyin[] = { + 0x62, 0x79, 0xa3, 0xa5, 0x21, 0x24, 0x46, 0x5e, 0x50, 0x6a, 0x00, 0x16, + 0x6b, 0x31, 0x85, 0x20, 0x88, 0x46, 0x25, 0xf3, 0xd1, 0xf5, 0xce, 0xfd, +}; +static const unsigned char kat1900_nonce[] = { + 0x59, 0xa0, 0xc8, 0xeb, 0x4d, 0xcf, 0x7c, 0x54, 0xff, 0xaa, 0x39, 0x9d, + 0xac, 0x76, 0x13, 0x65, +}; +static const unsigned char kat1900_persstr[] = { + 0xaf, 0x79, 0x29, 0x4e, 0x87, 0xc6, 0xdf, 0x70, 0x5e, 0xc4, 0xcb, 0xd0, + 0xf4, 0xac, 0xc0, 0x5b, 0xef, 0xc4, 0x06, 0xae, 0x7a, 0x52, 0xda, 0xca, + 0x1c, 0xd4, 0xa5, 0xf7, 0xec, 0x56, 0xa9, 0x89, +}; +static const unsigned char kat1900_entropyinreseed[] = { + 0x53, 0x20, 0xe0, 0xc8, 0x24, 0xb9, 0x2e, 0x9d, 0xb9, 0x22, 0xf2, 0x8d, + 0xed, 0x30, 0x93, 0x6b, 0xb1, 0xa0, 0xf6, 0x71, 0x70, 0x2b, 0xda, 0xcd, +}; +static const unsigned char kat1900_addinreseed[] = {0}; +static const unsigned char kat1900_addin0[] = {0}; +static const unsigned char kat1900_addin1[] = {0}; +static const unsigned char kat1900_retbits[] = { + 0x15, 0x27, 0x43, 0xc5, 0xd4, 0xa7, 0xf9, 0xc5, 0x72, 0x6d, 0x5d, 0x5a, + 0x9f, 0xde, 0x8c, 0x1e, 0x63, 0x8f, 0x2f, 0xe6, 0x40, 0x97, 0x28, 0xf2, + 0xa6, 0xe8, 0xa9, 0x5f, 0x30, 0x7c, 0xd2, 0xa8, 0x8e, 0x22, 0xd1, 0x0f, + 0x51, 0x2c, 0xf3, 0xea, 0x4b, 0x38, 0x45, 0x39, 0x63, 0x59, 0xe1, 0x81, + 0xcc, 0xfb, 0x02, 0x72, 0xf9, 0x1b, 0xf0, 0x79, 0x5a, 0x85, 0x63, 0x9a, + 0xe5, 0xce, 0xf0, 0x14, +}; +static const struct drbg_kat_pr_false kat1900_t = { + 9, kat1900_entropyin, kat1900_nonce, kat1900_persstr, + kat1900_entropyinreseed, kat1900_addinreseed, kat1900_addin0, + kat1900_addin1, kat1900_retbits +}; +static const struct drbg_kat kat1900 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1900_t +}; + +static const unsigned char kat1901_entropyin[] = { + 0xaf, 0x2b, 0xe0, 0xee, 0xc2, 0xc1, 0x0b, 0xa5, 0x7f, 0xf2, 0xef, 0xec, + 0xa5, 0xe5, 0xa6, 0x35, 0x0d, 0x6b, 0x73, 0x4b, 0xc2, 0x19, 0xf2, 0x60, +}; +static const unsigned char kat1901_nonce[] = { + 0x99, 0xed, 0xa9, 0x5f, 0x1b, 0xbd, 0x4c, 0x07, 0x93, 0xbc, 0x34, 0xb7, + 0xfc, 0x1e, 0x23, 0x97, +}; +static const unsigned char kat1901_persstr[] = { + 0x4d, 0x61, 0x63, 0x64, 0xd5, 0x2a, 0x6f, 0x94, 0xdf, 0x53, 0xe9, 0x5c, + 0x55, 0x04, 0xf1, 0xc5, 0xf5, 0x6d, 0x1b, 0x4d, 0x03, 0x0d, 0xab, 0xae, + 0xdc, 0xb4, 0xbc, 0xf1, 0xc8, 0x1e, 0xe5, 0xdc, +}; +static const unsigned char kat1901_entropyinreseed[] = { + 0x63, 0xef, 0xa8, 0x99, 0x65, 0xdb, 0x28, 0x1c, 0xaa, 0xc5, 0x2c, 0x1d, + 0xe6, 0x2d, 0x1f, 0x53, 0xd9, 0x9d, 0xe8, 0x80, 0xe6, 0x5a, 0xb6, 0x2e, +}; +static const unsigned char kat1901_addinreseed[] = {0}; +static const unsigned char kat1901_addin0[] = {0}; +static const unsigned char kat1901_addin1[] = {0}; +static const unsigned char kat1901_retbits[] = { + 0xe9, 0x78, 0xda, 0x1f, 0x41, 0x49, 0xe4, 0x30, 0x9f, 0x43, 0x21, 0x3e, + 0x31, 0x3e, 0x58, 0x60, 0xe1, 0xf1, 0x68, 0x3a, 0xfa, 0x97, 0x49, 0xa9, + 0x38, 0xae, 0x08, 0x25, 0x2b, 0xf8, 0x48, 0x9e, 0xb3, 0x0d, 0x24, 0x72, + 0x3d, 0x19, 0xe4, 0x91, 0xfc, 0xd2, 0xe0, 0x84, 0x4b, 0x16, 0x97, 0xde, + 0xc3, 0x82, 0x3e, 0x1f, 0xb6, 0xfe, 0x80, 0x7c, 0x7f, 0x66, 0xf6, 0xe8, + 0x03, 0xe7, 0xfe, 0xc3, +}; +static const struct drbg_kat_pr_false kat1901_t = { + 10, kat1901_entropyin, kat1901_nonce, kat1901_persstr, + kat1901_entropyinreseed, kat1901_addinreseed, kat1901_addin0, + kat1901_addin1, kat1901_retbits +}; +static const struct drbg_kat kat1901 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1901_t +}; + +static const unsigned char kat1902_entropyin[] = { + 0xd3, 0x97, 0xa9, 0xd8, 0x0f, 0x77, 0xca, 0xf5, 0xbe, 0xcb, 0x65, 0xb1, + 0x24, 0xf3, 0x78, 0x8e, 0xbb, 0xec, 0x7c, 0x3a, 0xdf, 0xa6, 0xa8, 0xbf, +}; +static const unsigned char kat1902_nonce[] = { + 0x06, 0x0b, 0x85, 0x6f, 0xa8, 0xdb, 0x25, 0x7b, 0x16, 0x3f, 0xfa, 0x8e, + 0x1c, 0x1a, 0xd2, 0xed, +}; +static const unsigned char kat1902_persstr[] = { + 0x04, 0x53, 0x33, 0x2d, 0xfd, 0xfd, 0x39, 0xa9, 0x74, 0xb9, 0x5d, 0x84, + 0x91, 0xba, 0x57, 0xc0, 0x34, 0x76, 0x2d, 0x63, 0xdc, 0x0a, 0x46, 0xe6, + 0x5e, 0x06, 0x6c, 0x7d, 0xf6, 0xd9, 0xef, 0x91, +}; +static const unsigned char kat1902_entropyinreseed[] = { + 0x5b, 0xf4, 0x45, 0x5e, 0xf3, 0x08, 0x62, 0xd8, 0xc2, 0x42, 0xba, 0x07, + 0xb1, 0x2c, 0x7a, 0x9c, 0xf2, 0x55, 0xe1, 0x67, 0x3c, 0x5c, 0x3b, 0x98, +}; +static const unsigned char kat1902_addinreseed[] = {0}; +static const unsigned char kat1902_addin0[] = {0}; +static const unsigned char kat1902_addin1[] = {0}; +static const unsigned char kat1902_retbits[] = { + 0x41, 0x13, 0xac, 0xc3, 0xc1, 0x55, 0xe9, 0x6d, 0xa2, 0x8d, 0xc1, 0xc5, + 0xaa, 0x36, 0x9a, 0xd5, 0xd1, 0xbc, 0x4a, 0x83, 0x93, 0x12, 0xd6, 0xf7, + 0x9d, 0x6e, 0x15, 0x14, 0x69, 0x6f, 0x9a, 0x2c, 0x52, 0x31, 0x57, 0x7d, + 0xce, 0x79, 0xe8, 0xcc, 0x9d, 0x94, 0x9c, 0xbb, 0xd3, 0x03, 0x39, 0xc4, + 0xe5, 0x25, 0xd0, 0x17, 0x10, 0x6c, 0x4b, 0x2f, 0x64, 0xb5, 0x48, 0xc5, + 0x53, 0x74, 0xaf, 0x6c, +}; +static const struct drbg_kat_pr_false kat1902_t = { + 11, kat1902_entropyin, kat1902_nonce, kat1902_persstr, + kat1902_entropyinreseed, kat1902_addinreseed, kat1902_addin0, + kat1902_addin1, kat1902_retbits +}; +static const struct drbg_kat kat1902 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1902_t +}; + +static const unsigned char kat1903_entropyin[] = { + 0xbd, 0xa8, 0x8e, 0x80, 0x55, 0x70, 0xfb, 0xbe, 0x77, 0xb9, 0xd5, 0x3f, + 0xe5, 0xbc, 0x44, 0x39, 0x72, 0xa0, 0x09, 0x4e, 0x54, 0x36, 0x2c, 0x6d, +}; +static const unsigned char kat1903_nonce[] = { + 0x83, 0xac, 0x35, 0xef, 0x07, 0xaf, 0x29, 0x1d, 0x6e, 0x46, 0xd8, 0xa9, + 0xe4, 0xa2, 0xf4, 0x0a, +}; +static const unsigned char kat1903_persstr[] = { + 0xb5, 0xff, 0x03, 0x68, 0x54, 0xfe, 0x4b, 0x3f, 0x67, 0x4b, 0x11, 0x31, + 0x73, 0x3b, 0x8a, 0xaf, 0x11, 0xec, 0xa1, 0xdb, 0xb2, 0xbf, 0x68, 0x34, + 0xf3, 0xd2, 0x36, 0xe6, 0xe0, 0xff, 0xaf, 0x43, +}; +static const unsigned char kat1903_entropyinreseed[] = { + 0xed, 0xd2, 0xf0, 0xdb, 0x20, 0xf4, 0x31, 0x3c, 0xe3, 0x6d, 0xec, 0x00, + 0xa8, 0x5f, 0xf6, 0xf7, 0x0e, 0x00, 0xd5, 0x06, 0xf8, 0xdb, 0xad, 0x68, +}; +static const unsigned char kat1903_addinreseed[] = {0}; +static const unsigned char kat1903_addin0[] = {0}; +static const unsigned char kat1903_addin1[] = {0}; +static const unsigned char kat1903_retbits[] = { + 0x97, 0xb4, 0x5b, 0xc5, 0x6e, 0x89, 0xd4, 0x0d, 0x83, 0x46, 0xe8, 0xfe, + 0x3c, 0x3e, 0x3c, 0x9b, 0x23, 0x0f, 0x19, 0x25, 0x6e, 0x01, 0xc4, 0x03, + 0x64, 0x09, 0x0e, 0x30, 0x81, 0xdb, 0x19, 0x22, 0x30, 0x46, 0x5b, 0x8e, + 0xf1, 0x3b, 0x9d, 0x58, 0xe2, 0xd6, 0x21, 0x8a, 0xaa, 0xdb, 0xc4, 0xaf, + 0xd6, 0xf9, 0x1b, 0x83, 0x57, 0x3e, 0x6c, 0xf7, 0xf0, 0x57, 0x29, 0x9d, + 0x75, 0x82, 0x6d, 0x66, +}; +static const struct drbg_kat_pr_false kat1903_t = { + 12, kat1903_entropyin, kat1903_nonce, kat1903_persstr, + kat1903_entropyinreseed, kat1903_addinreseed, kat1903_addin0, + kat1903_addin1, kat1903_retbits +}; +static const struct drbg_kat kat1903 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1903_t +}; + +static const unsigned char kat1904_entropyin[] = { + 0x28, 0x80, 0xd8, 0x06, 0xb5, 0xdc, 0xa2, 0x2e, 0x2c, 0xeb, 0x0e, 0x24, + 0x2b, 0xd0, 0xa5, 0xd6, 0x47, 0x58, 0xf9, 0x8b, 0x70, 0x32, 0xfa, 0x5d, +}; +static const unsigned char kat1904_nonce[] = { + 0x0f, 0x48, 0x11, 0xc8, 0xf4, 0x94, 0x2e, 0x69, 0xbe, 0x1e, 0x7d, 0x15, + 0x4c, 0x73, 0x06, 0x72, +}; +static const unsigned char kat1904_persstr[] = { + 0x63, 0x2a, 0x70, 0xfd, 0xf2, 0xb9, 0xce, 0xe1, 0xf4, 0x5a, 0x3d, 0x18, + 0xa9, 0x67, 0x2d, 0xdf, 0xf9, 0xb2, 0x2a, 0x01, 0xb8, 0x25, 0x26, 0x2e, + 0x64, 0x1e, 0x7c, 0xc6, 0xe0, 0xc9, 0xca, 0x46, +}; +static const unsigned char kat1904_entropyinreseed[] = { + 0x3b, 0x4f, 0x70, 0x5e, 0x1f, 0x47, 0x04, 0xb2, 0x19, 0xb2, 0x65, 0xe8, + 0x35, 0x9c, 0x16, 0x7d, 0x17, 0x12, 0xb8, 0x3e, 0x56, 0x00, 0x00, 0x6a, +}; +static const unsigned char kat1904_addinreseed[] = {0}; +static const unsigned char kat1904_addin0[] = {0}; +static const unsigned char kat1904_addin1[] = {0}; +static const unsigned char kat1904_retbits[] = { + 0x25, 0x38, 0xeb, 0xdd, 0x9c, 0x73, 0x92, 0x19, 0x3a, 0xa2, 0xdf, 0x2e, + 0xfe, 0x8a, 0x9c, 0xe1, 0xc5, 0x91, 0xb1, 0xe6, 0x5e, 0x1b, 0x8d, 0x08, + 0x37, 0xa6, 0xc1, 0x82, 0x6d, 0xd9, 0x86, 0x00, 0x1c, 0xd1, 0x69, 0xa8, + 0x5d, 0x66, 0xfc, 0x6c, 0xb6, 0x72, 0xd4, 0xda, 0xa3, 0xd2, 0xab, 0x98, + 0xc3, 0xdc, 0xde, 0x71, 0x04, 0x7c, 0xe7, 0x3d, 0xb4, 0xb6, 0x90, 0xea, + 0x29, 0xd3, 0x20, 0xdb, +}; +static const struct drbg_kat_pr_false kat1904_t = { + 13, kat1904_entropyin, kat1904_nonce, kat1904_persstr, + kat1904_entropyinreseed, kat1904_addinreseed, kat1904_addin0, + kat1904_addin1, kat1904_retbits +}; +static const struct drbg_kat kat1904 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1904_t +}; + +static const unsigned char kat1905_entropyin[] = { + 0x20, 0x46, 0x34, 0x49, 0x04, 0xa1, 0xd3, 0xad, 0xbe, 0x32, 0x47, 0x66, + 0x79, 0xf6, 0xb4, 0x5b, 0xa9, 0x87, 0xeb, 0x1f, 0x9a, 0xf7, 0xa9, 0x68, +}; +static const unsigned char kat1905_nonce[] = { + 0xcf, 0xbb, 0x77, 0x61, 0xde, 0xed, 0x18, 0xfe, 0x83, 0x25, 0x0f, 0xd1, + 0x28, 0xb7, 0xd5, 0x6a, +}; +static const unsigned char kat1905_persstr[] = { + 0x20, 0x30, 0x06, 0x72, 0x46, 0xe0, 0xfc, 0x33, 0x10, 0xb4, 0x11, 0x19, + 0x5c, 0x5f, 0xba, 0x12, 0x8a, 0xa1, 0xec, 0x82, 0x30, 0x51, 0x08, 0x1a, + 0xf0, 0xad, 0x3a, 0x43, 0x32, 0x44, 0xb4, 0xb1, +}; +static const unsigned char kat1905_entropyinreseed[] = { + 0xfc, 0xd0, 0x71, 0x14, 0xa5, 0x60, 0x39, 0xf5, 0xce, 0x59, 0x1e, 0x90, + 0x7b, 0x3a, 0xf1, 0x47, 0x2b, 0x0f, 0x07, 0xc8, 0xf9, 0xad, 0x08, 0x2c, +}; +static const unsigned char kat1905_addinreseed[] = {0}; +static const unsigned char kat1905_addin0[] = {0}; +static const unsigned char kat1905_addin1[] = {0}; +static const unsigned char kat1905_retbits[] = { + 0x25, 0xfc, 0x78, 0xce, 0x65, 0xa5, 0x6f, 0x4b, 0xbc, 0x1b, 0xf3, 0xad, + 0x32, 0x71, 0x6e, 0xd1, 0xbc, 0x91, 0x7c, 0xc2, 0x1f, 0x51, 0x90, 0x84, + 0xc5, 0xff, 0x17, 0x58, 0x7a, 0x37, 0x7f, 0x2e, 0xf7, 0x83, 0x0c, 0x1e, + 0x4f, 0x7c, 0xf3, 0x81, 0xbe, 0x26, 0x0f, 0x5c, 0xb9, 0x39, 0x7c, 0x4c, + 0xca, 0xea, 0x42, 0xef, 0xc4, 0x99, 0x36, 0x3e, 0xdc, 0xc1, 0x4b, 0xfb, + 0xe5, 0x41, 0x20, 0xf2, +}; +static const struct drbg_kat_pr_false kat1905_t = { + 14, kat1905_entropyin, kat1905_nonce, kat1905_persstr, + kat1905_entropyinreseed, kat1905_addinreseed, kat1905_addin0, + kat1905_addin1, kat1905_retbits +}; +static const struct drbg_kat kat1905 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat1905_t +}; + +static const unsigned char kat1906_entropyin[] = { + 0xa6, 0x01, 0x37, 0x86, 0xb2, 0xe7, 0x8a, 0xf9, 0x7a, 0x4c, 0xcc, 0xe8, + 0xfc, 0x71, 0x1b, 0x53, 0x88, 0x69, 0xb7, 0x80, 0x09, 0x80, 0x3a, 0xc3, +}; +static const unsigned char kat1906_nonce[] = { + 0x8b, 0x97, 0x4d, 0x92, 0x3a, 0xe0, 0x96, 0xa6, 0x1f, 0x2c, 0x06, 0x3a, + 0x1b, 0xfa, 0x20, 0xc4, +}; +static const unsigned char kat1906_persstr[] = { + 0x4a, 0xfe, 0x7d, 0x39, 0xb3, 0x68, 0x50, 0xb8, 0xb1, 0x40, 0x03, 0xf3, + 0x93, 0x0f, 0xd6, 0x8a, 0xd3, 0x2d, 0xc6, 0xc4, 0x69, 0xb8, 0x18, 0x5d, + 0xba, 0x21, 0x3c, 0x77, 0x08, 0x60, 0x93, 0xf7, +}; +static const unsigned char kat1906_entropyinreseed[] = { + 0x5b, 0x75, 0x1b, 0xb1, 0x15, 0x0f, 0x67, 0x2a, 0x47, 0xc2, 0x12, 0x80, + 0x7b, 0xeb, 0x2b, 0x2d, 0xaa, 0xf5, 0xa1, 0x9c, 0x4b, 0x94, 0xcf, 0xc7, +}; +static const unsigned char kat1906_addinreseed[] = { + 0xb1, 0x11, 0xd8, 0x2a, 0xe4, 0xb6, 0x1c, 0x4e, 0x21, 0xd2, 0x7b, 0xee, + 0xd0, 0x05, 0x11, 0x01, 0x4f, 0x4c, 0xff, 0xac, 0x62, 0xd9, 0x68, 0x78, + 0x11, 0x5c, 0xd4, 0x1f, 0x83, 0xa7, 0xdb, 0xe5, +}; +static const unsigned char kat1906_addin0[] = { + 0x5a, 0x30, 0x7a, 0x08, 0x7f, 0x9c, 0x09, 0xed, 0x8e, 0x66, 0x7d, 0x1c, + 0x3c, 0xbe, 0xfa, 0x77, 0x22, 0x22, 0xd0, 0x90, 0x11, 0xf0, 0x0f, 0x80, + 0xb6, 0xf6, 0x30, 0x6e, 0x24, 0xef, 0x67, 0x47, +}; +static const unsigned char kat1906_addin1[] = { + 0xee, 0x94, 0x19, 0xfe, 0xd1, 0x45, 0xa9, 0xfc, 0xf4, 0xae, 0x56, 0x71, + 0x86, 0xcc, 0xc4, 0xff, 0xed, 0xf8, 0xbc, 0x00, 0x00, 0x8b, 0x00, 0xb6, + 0x06, 0xcc, 0xfc, 0xb8, 0xf4, 0xf3, 0xfb, 0x99, +}; +static const unsigned char kat1906_retbits[] = { + 0x60, 0xa0, 0x77, 0xb6, 0xb5, 0xc3, 0xa4, 0xf5, 0x9c, 0x6a, 0x9f, 0xce, + 0x46, 0xee, 0x8e, 0xb1, 0x6f, 0x14, 0x33, 0xb2, 0x4f, 0x99, 0x29, 0x0f, + 0x17, 0xb2, 0xfb, 0xe1, 0x89, 0x0a, 0x33, 0xb9, 0x8c, 0xd0, 0x1c, 0xd3, + 0x73, 0x50, 0x13, 0x0c, 0x30, 0x11, 0x77, 0xdf, 0x0a, 0x6f, 0x0c, 0x44, + 0xae, 0xf6, 0x30, 0x82, 0xe6, 0xa1, 0x3c, 0xc7, 0x4a, 0x2a, 0x51, 0xf8, + 0x96, 0xaa, 0x27, 0xf6, +}; +static const struct drbg_kat_pr_false kat1906_t = { + 0, kat1906_entropyin, kat1906_nonce, kat1906_persstr, + kat1906_entropyinreseed, kat1906_addinreseed, kat1906_addin0, + kat1906_addin1, kat1906_retbits +}; +static const struct drbg_kat kat1906 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1906_t +}; + +static const unsigned char kat1907_entropyin[] = { + 0xf4, 0x71, 0x50, 0xc1, 0xb3, 0xc4, 0xe1, 0xea, 0x7f, 0x19, 0x5c, 0x81, + 0xd2, 0xa4, 0xa3, 0xee, 0x9b, 0x7b, 0x59, 0xb7, 0xad, 0x55, 0x36, 0x95, +}; +static const unsigned char kat1907_nonce[] = { + 0x84, 0x9c, 0xf7, 0x0b, 0xcb, 0x23, 0x1d, 0xf7, 0xa8, 0x67, 0x30, 0x03, + 0xd6, 0x5d, 0xb5, 0xf0, +}; +static const unsigned char kat1907_persstr[] = { + 0x84, 0xb3, 0x63, 0xef, 0x90, 0xb3, 0x8a, 0xfc, 0x04, 0x2b, 0x3f, 0x81, + 0x79, 0x6b, 0x0f, 0xcf, 0x05, 0x13, 0x73, 0x9c, 0xcc, 0x33, 0x78, 0x72, + 0xf1, 0x6c, 0xdb, 0x7b, 0xa8, 0x12, 0x51, 0x47, +}; +static const unsigned char kat1907_entropyinreseed[] = { + 0xb6, 0xa9, 0x31, 0xea, 0x34, 0xee, 0x8b, 0x2b, 0x4f, 0xf4, 0x3c, 0x5c, + 0x3a, 0x32, 0x5e, 0xff, 0x1a, 0xfc, 0x74, 0xb2, 0x63, 0xc4, 0x54, 0xdb, +}; +static const unsigned char kat1907_addinreseed[] = { + 0x1e, 0xe9, 0xa0, 0x56, 0x36, 0x2f, 0xdc, 0xe4, 0x71, 0x88, 0x70, 0xe1, + 0x70, 0xd5, 0x04, 0xf0, 0xe6, 0x7d, 0x9d, 0x4f, 0x02, 0x81, 0x3a, 0x9b, + 0xc0, 0xf1, 0x74, 0xd9, 0x10, 0x6e, 0xcb, 0xfe, +}; +static const unsigned char kat1907_addin0[] = { + 0x3d, 0xd2, 0x21, 0xda, 0x19, 0xd4, 0x7b, 0x0d, 0x2b, 0xb8, 0x19, 0x7b, + 0x07, 0x06, 0xa5, 0x9e, 0xc9, 0x50, 0x99, 0xa8, 0x84, 0xc3, 0x0a, 0xe0, + 0x6f, 0xea, 0xe6, 0x8c, 0x3f, 0x17, 0x5a, 0xed, +}; +static const unsigned char kat1907_addin1[] = { + 0xe5, 0x3f, 0xcb, 0xf8, 0xab, 0x85, 0x0f, 0x16, 0x0b, 0xfc, 0xa6, 0x84, + 0xda, 0x91, 0x1f, 0x44, 0x72, 0x7c, 0x7c, 0xd1, 0x24, 0xfa, 0xed, 0x95, + 0x6f, 0xcb, 0xf0, 0x83, 0x2d, 0xeb, 0x41, 0x41, +}; +static const unsigned char kat1907_retbits[] = { + 0x1b, 0x6c, 0x79, 0x23, 0x03, 0x7a, 0x87, 0xf7, 0xa6, 0xd3, 0x32, 0x2c, + 0xb0, 0xac, 0x73, 0xbc, 0xaa, 0xd5, 0xea, 0x5b, 0x24, 0x26, 0x79, 0x6c, + 0x10, 0x5c, 0x6d, 0x6c, 0x75, 0x9e, 0x34, 0xa4, 0xd6, 0xbb, 0x8a, 0x06, + 0x49, 0x89, 0xfa, 0xc7, 0xb1, 0x19, 0x30, 0xb3, 0x77, 0x2d, 0xc0, 0x4f, + 0xea, 0x90, 0x23, 0x54, 0xbd, 0x4c, 0x81, 0x75, 0x5f, 0xad, 0x6e, 0x88, + 0x01, 0x99, 0x31, 0x3b, +}; +static const struct drbg_kat_pr_false kat1907_t = { + 1, kat1907_entropyin, kat1907_nonce, kat1907_persstr, + kat1907_entropyinreseed, kat1907_addinreseed, kat1907_addin0, + kat1907_addin1, kat1907_retbits +}; +static const struct drbg_kat kat1907 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1907_t +}; + +static const unsigned char kat1908_entropyin[] = { + 0xd9, 0x3f, 0xfd, 0xb3, 0x51, 0xc6, 0x4e, 0x5d, 0xea, 0xd1, 0x8a, 0x25, + 0x3d, 0x51, 0x85, 0x61, 0x37, 0x0f, 0x7b, 0x38, 0x8f, 0x6c, 0x14, 0xb3, +}; +static const unsigned char kat1908_nonce[] = { + 0x0b, 0x8a, 0xab, 0xbf, 0xb5, 0x0c, 0x34, 0xe2, 0xb4, 0xce, 0xf3, 0x55, + 0xcc, 0xe0, 0x2d, 0x16, +}; +static const unsigned char kat1908_persstr[] = { + 0xea, 0x28, 0x46, 0x14, 0x2e, 0xf9, 0xe5, 0xe9, 0x15, 0x15, 0x64, 0xe7, + 0xe4, 0x80, 0xda, 0x1c, 0x53, 0xfd, 0x7f, 0x71, 0x6a, 0xb4, 0x7c, 0x86, + 0xff, 0x77, 0xd2, 0xc7, 0xe4, 0x8d, 0x0a, 0x31, +}; +static const unsigned char kat1908_entropyinreseed[] = { + 0x69, 0x07, 0x69, 0x1b, 0xf8, 0x22, 0x89, 0x26, 0x82, 0xa2, 0x87, 0xa5, + 0x48, 0xb0, 0x21, 0x44, 0x01, 0xf0, 0xe2, 0x85, 0xee, 0xe2, 0x35, 0xd6, +}; +static const unsigned char kat1908_addinreseed[] = { + 0x38, 0x8e, 0x47, 0x09, 0xe2, 0x4f, 0x8c, 0xfc, 0x33, 0xfc, 0x4e, 0xb6, + 0x20, 0x00, 0x30, 0xc8, 0xe3, 0x3b, 0x75, 0x6e, 0xfd, 0x63, 0x51, 0x7a, + 0x54, 0x95, 0x82, 0xae, 0xb7, 0xab, 0xfc, 0x3c, +}; +static const unsigned char kat1908_addin0[] = { + 0xb3, 0x1f, 0x05, 0x6e, 0x61, 0x0b, 0xc0, 0x55, 0x2e, 0xcc, 0x30, 0x39, + 0xe8, 0xbc, 0xbd, 0x3a, 0x94, 0x8e, 0xda, 0xff, 0x21, 0xfa, 0x08, 0x9f, + 0x69, 0xd2, 0xd5, 0x96, 0x55, 0xef, 0x5a, 0x5e, +}; +static const unsigned char kat1908_addin1[] = { + 0x78, 0xf1, 0xf0, 0x2d, 0x50, 0xa8, 0x84, 0x17, 0xad, 0xc9, 0x57, 0x2c, + 0x44, 0x72, 0xa8, 0x6d, 0x2e, 0xf4, 0x2b, 0x37, 0x57, 0x10, 0x31, 0xce, + 0xb4, 0xa6, 0xd6, 0xa9, 0xd4, 0x8a, 0xfb, 0x78, +}; +static const unsigned char kat1908_retbits[] = { + 0xcd, 0x87, 0x91, 0x49, 0x5a, 0xbe, 0x44, 0x46, 0x5a, 0xd1, 0xf2, 0xf7, + 0x86, 0x6d, 0x18, 0x3d, 0xb8, 0x37, 0x5f, 0x1c, 0x32, 0x5b, 0xce, 0xaf, + 0xf2, 0xa5, 0xdf, 0x27, 0x9a, 0xc2, 0x62, 0xe3, 0x4b, 0x58, 0x9e, 0xb3, + 0x7c, 0x49, 0x6c, 0xdd, 0x1d, 0x17, 0xf5, 0xfe, 0x4f, 0xd9, 0x1f, 0xee, + 0xa4, 0x6e, 0x03, 0xbb, 0xc7, 0x6b, 0x94, 0x13, 0x7e, 0x12, 0x8b, 0xce, + 0xf3, 0x02, 0xae, 0x4b, +}; +static const struct drbg_kat_pr_false kat1908_t = { + 2, kat1908_entropyin, kat1908_nonce, kat1908_persstr, + kat1908_entropyinreseed, kat1908_addinreseed, kat1908_addin0, + kat1908_addin1, kat1908_retbits +}; +static const struct drbg_kat kat1908 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1908_t +}; + +static const unsigned char kat1909_entropyin[] = { + 0x5e, 0x26, 0x0d, 0xb3, 0x62, 0xdc, 0x6c, 0xa6, 0x7c, 0xee, 0xd0, 0x61, + 0x89, 0xc4, 0x8c, 0x6b, 0x56, 0x5a, 0x5a, 0x97, 0x65, 0x2b, 0xff, 0xa2, +}; +static const unsigned char kat1909_nonce[] = { + 0x93, 0x8c, 0x4e, 0x17, 0xae, 0x2d, 0x58, 0xa0, 0xea, 0xba, 0x1c, 0xb0, + 0xfb, 0x17, 0x1f, 0x5c, +}; +static const unsigned char kat1909_persstr[] = { + 0x4d, 0x07, 0x7d, 0x2d, 0xb8, 0xc1, 0xc0, 0x71, 0x37, 0xa1, 0xf0, 0x18, + 0x6d, 0xde, 0xac, 0xb9, 0xad, 0x41, 0x03, 0x13, 0xb8, 0x89, 0xf9, 0x22, + 0x13, 0xe3, 0xcb, 0xe6, 0xbc, 0xb5, 0x15, 0x33, +}; +static const unsigned char kat1909_entropyinreseed[] = { + 0x1c, 0x06, 0xf7, 0x99, 0xed, 0x96, 0xd7, 0x2f, 0x1a, 0x3b, 0xc6, 0x43, + 0x11, 0x99, 0xf8, 0x13, 0x38, 0x56, 0x51, 0x35, 0x3a, 0x58, 0x0b, 0xc2, +}; +static const unsigned char kat1909_addinreseed[] = { + 0xc5, 0x2f, 0xa7, 0xaa, 0x53, 0x00, 0xb7, 0xf9, 0x04, 0xc8, 0xa0, 0x41, + 0x4b, 0xb9, 0x52, 0xf6, 0x31, 0x15, 0x5a, 0xf1, 0x74, 0x05, 0xef, 0x95, + 0xb7, 0x7c, 0x6f, 0xfd, 0xda, 0x76, 0x94, 0x78, +}; +static const unsigned char kat1909_addin0[] = { + 0x7d, 0xc8, 0x6d, 0xd2, 0x3c, 0x8a, 0x0f, 0x39, 0x85, 0x8b, 0x6b, 0x04, + 0x21, 0x7f, 0x90, 0x8f, 0xfc, 0x80, 0x70, 0xb5, 0x06, 0xde, 0x36, 0x9a, + 0x76, 0x90, 0x85, 0x07, 0x99, 0xcd, 0x51, 0x0f, +}; +static const unsigned char kat1909_addin1[] = { + 0xb4, 0xb0, 0x1b, 0xf4, 0x68, 0x19, 0xbf, 0xb7, 0x0c, 0x69, 0x62, 0x64, + 0x3c, 0xee, 0x8e, 0x72, 0x05, 0x10, 0xb1, 0x1f, 0x54, 0x65, 0x09, 0xf0, + 0x09, 0xcf, 0xb3, 0x6a, 0x2a, 0x59, 0x64, 0xfc, +}; +static const unsigned char kat1909_retbits[] = { + 0xfb, 0xb5, 0x0d, 0x0d, 0xd0, 0xf4, 0x5c, 0xa9, 0x07, 0xff, 0xc7, 0x28, + 0x55, 0x6b, 0x2b, 0x80, 0x57, 0x07, 0x7e, 0xde, 0xf0, 0x38, 0x23, 0x6a, + 0x30, 0xa3, 0x5b, 0xf2, 0x3c, 0x3b, 0x02, 0x47, 0x5e, 0xda, 0x2a, 0x76, + 0xfe, 0x9a, 0xfc, 0xb9, 0xd3, 0x8d, 0x4e, 0x91, 0x15, 0xce, 0x4e, 0x32, + 0x85, 0xa1, 0x72, 0x35, 0x80, 0xd7, 0xc7, 0xcf, 0x31, 0x0d, 0x45, 0xed, + 0x28, 0x2f, 0x72, 0x12, +}; +static const struct drbg_kat_pr_false kat1909_t = { + 3, kat1909_entropyin, kat1909_nonce, kat1909_persstr, + kat1909_entropyinreseed, kat1909_addinreseed, kat1909_addin0, + kat1909_addin1, kat1909_retbits +}; +static const struct drbg_kat kat1909 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1909_t +}; + +static const unsigned char kat1910_entropyin[] = { + 0xec, 0xe4, 0x8b, 0xe4, 0x9e, 0x97, 0x96, 0x61, 0x0b, 0xd1, 0x83, 0xa9, + 0x9e, 0x87, 0x85, 0x95, 0x5a, 0xce, 0xe4, 0x8c, 0xed, 0xcb, 0xcd, 0x1f, +}; +static const unsigned char kat1910_nonce[] = { + 0x8a, 0xf5, 0xce, 0x39, 0x3c, 0x24, 0x1d, 0xcb, 0x99, 0x3b, 0x4e, 0x2b, + 0xd1, 0x41, 0xff, 0x0d, +}; +static const unsigned char kat1910_persstr[] = { + 0x59, 0x2b, 0x01, 0xbf, 0xc7, 0x48, 0xdb, 0x7b, 0xa6, 0xfd, 0xc5, 0x17, + 0xf8, 0x71, 0xed, 0x96, 0x21, 0xab, 0xf3, 0x8b, 0x18, 0x3c, 0x7b, 0x92, + 0xe7, 0x3a, 0x87, 0xb6, 0x6c, 0xec, 0xb0, 0x2c, +}; +static const unsigned char kat1910_entropyinreseed[] = { + 0x92, 0x5e, 0x83, 0xe8, 0x53, 0xed, 0x17, 0xb9, 0xa5, 0x1c, 0x3a, 0x5d, + 0xc1, 0xa5, 0x58, 0xad, 0x46, 0x9c, 0x72, 0x9a, 0xbf, 0x33, 0xc3, 0x64, +}; +static const unsigned char kat1910_addinreseed[] = { + 0xb9, 0xc5, 0x15, 0xe3, 0x79, 0xd4, 0x27, 0xb3, 0xb5, 0x26, 0x49, 0xa4, + 0xf4, 0xe7, 0x9a, 0xa1, 0xf8, 0xd7, 0xe3, 0x32, 0x0d, 0xb1, 0xf9, 0x53, + 0x7e, 0x86, 0x0e, 0xb6, 0xce, 0x9f, 0xa3, 0x0c, +}; +static const unsigned char kat1910_addin0[] = { + 0x4d, 0x77, 0xbc, 0x15, 0xf7, 0x7e, 0xef, 0xac, 0x57, 0x8b, 0xff, 0xb4, + 0x5a, 0xb7, 0x73, 0x79, 0x2a, 0x4b, 0x88, 0x15, 0x19, 0x81, 0x18, 0xe4, + 0xde, 0x50, 0xfc, 0x57, 0x63, 0xfd, 0x49, 0x1c, +}; +static const unsigned char kat1910_addin1[] = { + 0xba, 0x5a, 0x18, 0x49, 0x93, 0x32, 0xd2, 0x7b, 0x14, 0x70, 0xab, 0xf0, + 0x52, 0x65, 0xa2, 0x5a, 0xa9, 0x7e, 0x54, 0x2d, 0x35, 0x62, 0x29, 0x8e, + 0x8c, 0xa1, 0x80, 0x3b, 0xd3, 0xd5, 0xf2, 0xe7, +}; +static const unsigned char kat1910_retbits[] = { + 0x86, 0xec, 0xcf, 0x86, 0x9b, 0xb1, 0x33, 0xe0, 0x57, 0x0a, 0x80, 0x21, + 0xe1, 0x58, 0x9a, 0xfe, 0xa2, 0xf4, 0xbb, 0x88, 0x0a, 0xc8, 0x4d, 0xde, + 0xff, 0xd5, 0x96, 0x28, 0xd6, 0x77, 0x1d, 0x2d, 0x0c, 0x1a, 0x03, 0xbb, + 0x75, 0x2b, 0x2d, 0xaa, 0x2c, 0x28, 0xd0, 0x48, 0x57, 0x0e, 0x0f, 0x49, + 0x3c, 0xef, 0x76, 0x65, 0x0f, 0x4c, 0x83, 0xf8, 0x8d, 0x07, 0x9b, 0x3f, + 0xc6, 0x8f, 0xb4, 0x47, +}; +static const struct drbg_kat_pr_false kat1910_t = { + 4, kat1910_entropyin, kat1910_nonce, kat1910_persstr, + kat1910_entropyinreseed, kat1910_addinreseed, kat1910_addin0, + kat1910_addin1, kat1910_retbits +}; +static const struct drbg_kat kat1910 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1910_t +}; + +static const unsigned char kat1911_entropyin[] = { + 0x69, 0x7d, 0x57, 0x85, 0x30, 0x02, 0x04, 0xca, 0xdb, 0x61, 0x20, 0x34, + 0xd3, 0xe0, 0x98, 0x65, 0x1f, 0xf1, 0x01, 0x94, 0x12, 0xcf, 0x37, 0x18, +}; +static const unsigned char kat1911_nonce[] = { + 0xb4, 0x30, 0x42, 0xd9, 0xdb, 0xce, 0x8e, 0xf4, 0x96, 0x28, 0x89, 0xea, + 0x3a, 0xec, 0x21, 0x60, +}; +static const unsigned char kat1911_persstr[] = { + 0xfd, 0x40, 0xe0, 0x40, 0x13, 0xf5, 0x43, 0x0c, 0xec, 0x93, 0x56, 0xab, + 0xcc, 0x5a, 0x3d, 0x71, 0xfd, 0xd7, 0x0c, 0x5e, 0xf2, 0x98, 0xc3, 0x8d, + 0x55, 0x91, 0x82, 0xaa, 0xd1, 0xf1, 0x5f, 0xa4, +}; +static const unsigned char kat1911_entropyinreseed[] = { + 0xc6, 0x52, 0x17, 0x19, 0x25, 0x26, 0xba, 0x93, 0x68, 0x1f, 0xd1, 0x53, + 0x39, 0x4c, 0x32, 0xba, 0x4a, 0x78, 0xcb, 0x92, 0x24, 0xab, 0x57, 0x65, +}; +static const unsigned char kat1911_addinreseed[] = { + 0x9e, 0x1c, 0x82, 0x32, 0x01, 0x94, 0x36, 0x32, 0xe3, 0xb5, 0xe9, 0xdc, + 0x15, 0xa6, 0x00, 0xc9, 0x95, 0x46, 0x0c, 0x04, 0x71, 0xd8, 0xc8, 0x92, + 0xb1, 0xd6, 0xe0, 0xb6, 0xcd, 0xa6, 0x9a, 0xdf, +}; +static const unsigned char kat1911_addin0[] = { + 0xee, 0x91, 0x1f, 0xc3, 0x53, 0xca, 0xd8, 0x51, 0x1b, 0x97, 0xa3, 0xfa, + 0xe4, 0x95, 0xc7, 0x07, 0x28, 0x22, 0x9b, 0x2b, 0x79, 0x59, 0x6a, 0x6d, + 0x65, 0x74, 0xf5, 0x47, 0x6a, 0xa3, 0x84, 0xd5, +}; +static const unsigned char kat1911_addin1[] = { + 0xeb, 0x46, 0x6d, 0xd8, 0x45, 0x06, 0xb3, 0xfd, 0xc3, 0xcf, 0xcb, 0xac, + 0x86, 0x9c, 0xa0, 0x47, 0x70, 0x26, 0x6c, 0x80, 0x68, 0x9a, 0x0e, 0xbb, + 0x2a, 0xf0, 0xd2, 0xe6, 0xfa, 0xdd, 0x0c, 0x2e, +}; +static const unsigned char kat1911_retbits[] = { + 0x5f, 0x66, 0x7e, 0xf0, 0xe3, 0xe5, 0x89, 0xdd, 0xe3, 0x49, 0x96, 0x3c, + 0x46, 0x4b, 0x16, 0x80, 0xae, 0x7c, 0x30, 0x64, 0xb1, 0x1b, 0xf2, 0xcd, + 0xa9, 0x2e, 0x04, 0x07, 0x03, 0x75, 0x91, 0xd2, 0xa4, 0x78, 0x2c, 0x89, + 0x17, 0x2d, 0xce, 0xba, 0xc3, 0x96, 0x45, 0x36, 0x88, 0xd7, 0x86, 0xaa, + 0x6d, 0x61, 0xbf, 0x80, 0xe8, 0x3f, 0x3a, 0xc3, 0x96, 0x3a, 0x07, 0x15, + 0x3e, 0xbb, 0x77, 0xf2, +}; +static const struct drbg_kat_pr_false kat1911_t = { + 5, kat1911_entropyin, kat1911_nonce, kat1911_persstr, + kat1911_entropyinreseed, kat1911_addinreseed, kat1911_addin0, + kat1911_addin1, kat1911_retbits +}; +static const struct drbg_kat kat1911 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1911_t +}; + +static const unsigned char kat1912_entropyin[] = { + 0x20, 0x1a, 0x22, 0x93, 0x31, 0x7a, 0x8d, 0x5b, 0xd7, 0x40, 0xc0, 0xe8, + 0x71, 0xb3, 0x52, 0x6b, 0xb8, 0xaa, 0x4d, 0xbb, 0x04, 0x2c, 0xdb, 0x9f, +}; +static const unsigned char kat1912_nonce[] = { + 0xcf, 0xba, 0x92, 0x8a, 0x48, 0x97, 0xfa, 0xb8, 0xbf, 0x01, 0xe1, 0x95, + 0xb9, 0xbe, 0xb7, 0xf5, +}; +static const unsigned char kat1912_persstr[] = { + 0x89, 0x06, 0x59, 0x6c, 0xfd, 0xa6, 0x8e, 0xb4, 0x99, 0xd5, 0xc8, 0x4e, + 0xbb, 0x04, 0x4d, 0x23, 0x10, 0xf3, 0x9c, 0x16, 0x56, 0x5a, 0x4a, 0x6d, + 0xb1, 0x27, 0x09, 0x0b, 0x0c, 0x15, 0xa1, 0x62, +}; +static const unsigned char kat1912_entropyinreseed[] = { + 0x38, 0x58, 0xa9, 0x99, 0x54, 0x04, 0xc5, 0xcc, 0xa0, 0xa0, 0x4a, 0xc5, + 0x90, 0xdb, 0xc7, 0x9e, 0x7f, 0x21, 0xe0, 0x42, 0xec, 0x23, 0x79, 0x93, +}; +static const unsigned char kat1912_addinreseed[] = { + 0xf9, 0xca, 0x96, 0x77, 0xb1, 0xdd, 0x89, 0x48, 0x6a, 0xfd, 0x2a, 0x52, + 0x1f, 0x72, 0x12, 0xc4, 0x1d, 0xaa, 0xb3, 0x68, 0x50, 0x51, 0x78, 0xbe, + 0x49, 0x4b, 0x77, 0x96, 0x18, 0xb6, 0x15, 0xf4, +}; +static const unsigned char kat1912_addin0[] = { + 0xf6, 0x60, 0x37, 0xb8, 0xb5, 0x77, 0xd4, 0xb8, 0x66, 0xb0, 0x17, 0x1c, + 0xe1, 0x6b, 0xed, 0x3b, 0x90, 0x47, 0x94, 0xa0, 0x9e, 0xf0, 0x2a, 0x41, + 0x38, 0xe7, 0xbe, 0x47, 0x26, 0x88, 0xb8, 0xb4, +}; +static const unsigned char kat1912_addin1[] = { + 0xb5, 0x4e, 0xb9, 0x3f, 0xb6, 0x65, 0x3f, 0x7a, 0x57, 0x1f, 0x3e, 0x07, + 0x92, 0x39, 0x84, 0x24, 0xd5, 0x0b, 0x75, 0xfb, 0x6a, 0xae, 0x6f, 0x45, + 0x7f, 0xdc, 0x0b, 0x2d, 0xcd, 0xae, 0x38, 0xf4, +}; +static const unsigned char kat1912_retbits[] = { + 0x3e, 0x94, 0x65, 0x7c, 0x6c, 0x08, 0xc0, 0x4a, 0x2a, 0x56, 0xf6, 0x30, + 0x72, 0x19, 0x7c, 0x72, 0xe1, 0x24, 0x42, 0x86, 0x67, 0x5b, 0xe3, 0x5d, + 0x86, 0x57, 0xa9, 0x2f, 0xb1, 0x57, 0x3c, 0xff, 0xc7, 0xe8, 0x76, 0x63, + 0x12, 0x84, 0x50, 0x1d, 0x07, 0x64, 0x57, 0xf0, 0x74, 0x51, 0x79, 0x16, + 0x2d, 0x90, 0x3f, 0xf4, 0x2e, 0x8a, 0x29, 0x19, 0xec, 0x5f, 0x32, 0x6c, + 0x93, 0x6d, 0xfa, 0xf7, +}; +static const struct drbg_kat_pr_false kat1912_t = { + 6, kat1912_entropyin, kat1912_nonce, kat1912_persstr, + kat1912_entropyinreseed, kat1912_addinreseed, kat1912_addin0, + kat1912_addin1, kat1912_retbits +}; +static const struct drbg_kat kat1912 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1912_t +}; + +static const unsigned char kat1913_entropyin[] = { + 0x82, 0x33, 0x49, 0x05, 0x0b, 0xed, 0x4f, 0x80, 0x59, 0x71, 0x5f, 0xcf, + 0x8d, 0xe4, 0x57, 0x0c, 0xf3, 0x7e, 0x45, 0x4f, 0x83, 0x3b, 0x59, 0xbf, +}; +static const unsigned char kat1913_nonce[] = { + 0x23, 0xe7, 0x78, 0xbe, 0x62, 0x17, 0x7f, 0xbd, 0x73, 0x56, 0x36, 0x40, + 0x76, 0x7c, 0xd7, 0xad, +}; +static const unsigned char kat1913_persstr[] = { + 0x76, 0x55, 0x4f, 0xef, 0x6f, 0xeb, 0x95, 0x97, 0x39, 0x12, 0xd4, 0xaf, + 0x33, 0xd5, 0x38, 0x0e, 0xc1, 0x3e, 0x17, 0xeb, 0x9c, 0x07, 0x20, 0xc5, + 0x2e, 0xf0, 0x11, 0x0d, 0xee, 0xf4, 0x27, 0xa0, +}; +static const unsigned char kat1913_entropyinreseed[] = { + 0x29, 0xf4, 0x0a, 0xa8, 0x8b, 0x68, 0xea, 0x61, 0xec, 0xdc, 0x0f, 0xc6, + 0x0d, 0xed, 0x69, 0x58, 0x04, 0x23, 0xfd, 0x4a, 0x19, 0x43, 0x11, 0x7e, +}; +static const unsigned char kat1913_addinreseed[] = { + 0x5b, 0x32, 0x62, 0x36, 0xce, 0x66, 0x27, 0x4c, 0xc9, 0x8f, 0x34, 0x53, + 0xdb, 0x13, 0x7e, 0xb3, 0xa3, 0x94, 0xba, 0x6b, 0x1f, 0xa7, 0x2a, 0xff, + 0x98, 0x26, 0x90, 0x26, 0xa4, 0x70, 0xfd, 0xe6, +}; +static const unsigned char kat1913_addin0[] = { + 0x18, 0xef, 0x72, 0xd2, 0x35, 0x85, 0x2d, 0xe3, 0xf1, 0x87, 0x7c, 0x5d, + 0x67, 0xaa, 0xff, 0xda, 0x71, 0xd0, 0xe2, 0x0a, 0xe3, 0x13, 0xac, 0xca, + 0x5e, 0xec, 0xa5, 0xd0, 0x2e, 0x0d, 0x7a, 0x81, +}; +static const unsigned char kat1913_addin1[] = { + 0xd4, 0x28, 0xde, 0x12, 0x1a, 0x20, 0xf7, 0x10, 0xc8, 0x2b, 0x04, 0x78, + 0x4b, 0x42, 0x0f, 0x3f, 0xc1, 0x32, 0xcb, 0xd6, 0xfb, 0xe4, 0xc1, 0xc8, + 0xb2, 0x41, 0x73, 0xa7, 0x0c, 0x27, 0x97, 0x51, +}; +static const unsigned char kat1913_retbits[] = { + 0x73, 0x0a, 0x7b, 0x36, 0x5d, 0x8e, 0x38, 0xc3, 0x0d, 0x6f, 0xc8, 0x8e, + 0x1c, 0x87, 0x5c, 0xfe, 0xf7, 0x14, 0x6c, 0xac, 0x3a, 0x14, 0xe5, 0xbb, + 0xbb, 0x92, 0x2d, 0x0e, 0x03, 0xae, 0x6b, 0xa5, 0xe1, 0x19, 0x84, 0x84, + 0x87, 0x29, 0x3d, 0xd0, 0x4c, 0xec, 0x93, 0x43, 0x99, 0x89, 0xb2, 0xdd, + 0x9b, 0x4b, 0x8e, 0x61, 0x10, 0xe1, 0xea, 0xd0, 0x4d, 0xe8, 0x1c, 0x21, + 0x2a, 0x01, 0x06, 0x55, +}; +static const struct drbg_kat_pr_false kat1913_t = { + 7, kat1913_entropyin, kat1913_nonce, kat1913_persstr, + kat1913_entropyinreseed, kat1913_addinreseed, kat1913_addin0, + kat1913_addin1, kat1913_retbits +}; +static const struct drbg_kat kat1913 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1913_t +}; + +static const unsigned char kat1914_entropyin[] = { + 0x78, 0x85, 0x2a, 0xb6, 0xf6, 0xb9, 0x7f, 0xd3, 0x3d, 0x0a, 0xf2, 0x96, + 0xfe, 0xb8, 0x20, 0x1b, 0x84, 0xc0, 0x69, 0x8e, 0x94, 0xd8, 0x71, 0x49, +}; +static const unsigned char kat1914_nonce[] = { + 0x2e, 0xec, 0xbe, 0x98, 0xc1, 0x0d, 0xdc, 0xe7, 0xb3, 0xdc, 0x43, 0xd8, + 0x21, 0xb9, 0x65, 0x14, +}; +static const unsigned char kat1914_persstr[] = { + 0x22, 0xae, 0x68, 0x7b, 0xbd, 0x32, 0x90, 0x3d, 0x78, 0x16, 0xd2, 0x47, + 0x6e, 0x14, 0x52, 0x8f, 0xbe, 0x12, 0xe9, 0x9f, 0xa6, 0x2f, 0xbf, 0x61, + 0x6b, 0xd0, 0x8f, 0x66, 0x15, 0x2d, 0xba, 0xa2, +}; +static const unsigned char kat1914_entropyinreseed[] = { + 0xcb, 0xf0, 0x65, 0x4e, 0xaa, 0x4e, 0x24, 0x81, 0xf3, 0x2a, 0xb7, 0x4b, + 0xa0, 0x19, 0x57, 0x7c, 0x52, 0xc2, 0xeb, 0x45, 0x11, 0xbb, 0xff, 0x26, +}; +static const unsigned char kat1914_addinreseed[] = { + 0x75, 0x0e, 0x5d, 0x39, 0x3e, 0x18, 0xbe, 0xb3, 0x23, 0x81, 0x45, 0x77, + 0x9c, 0xe1, 0x26, 0x5b, 0xd4, 0x73, 0xc9, 0xd3, 0x13, 0x03, 0x7b, 0x1e, + 0x3f, 0x34, 0x33, 0xed, 0x47, 0xf0, 0x95, 0x5b, +}; +static const unsigned char kat1914_addin0[] = { + 0x4a, 0x63, 0x21, 0x1a, 0x20, 0x9d, 0x5b, 0x07, 0x6b, 0xde, 0x3a, 0x43, + 0xe4, 0xeb, 0xc5, 0x51, 0xe4, 0xb6, 0x96, 0x85, 0x7a, 0xcf, 0x6b, 0x2b, + 0xe9, 0x2a, 0x73, 0x62, 0xb7, 0x04, 0x6d, 0x1b, +}; +static const unsigned char kat1914_addin1[] = { + 0xda, 0xd1, 0x95, 0x2c, 0xf6, 0xc4, 0xdb, 0x63, 0x15, 0xc7, 0xb4, 0x7c, + 0x53, 0x74, 0x1d, 0xc0, 0x2d, 0x66, 0xc3, 0x36, 0xd7, 0x08, 0xaf, 0x18, + 0xcf, 0xff, 0x9e, 0xdf, 0xec, 0x88, 0x22, 0xbf, +}; +static const unsigned char kat1914_retbits[] = { + 0xd1, 0x29, 0x0b, 0x3d, 0xfd, 0x54, 0xb0, 0x0e, 0x06, 0x39, 0xd9, 0x6b, + 0x17, 0x1c, 0x57, 0x11, 0xef, 0xd7, 0xa7, 0x69, 0xab, 0x53, 0x2c, 0x09, + 0x63, 0x14, 0x34, 0xa1, 0x0b, 0x6b, 0x33, 0x6a, 0xc3, 0x7a, 0xad, 0xdb, + 0x5d, 0x03, 0x94, 0x96, 0x3c, 0xed, 0xea, 0x3f, 0x91, 0x9a, 0xd5, 0xf6, + 0xea, 0x10, 0x6e, 0x81, 0xce, 0xcf, 0x7f, 0x01, 0x05, 0x32, 0x63, 0x88, + 0xea, 0xb7, 0x45, 0x33, +}; +static const struct drbg_kat_pr_false kat1914_t = { + 8, kat1914_entropyin, kat1914_nonce, kat1914_persstr, + kat1914_entropyinreseed, kat1914_addinreseed, kat1914_addin0, + kat1914_addin1, kat1914_retbits +}; +static const struct drbg_kat kat1914 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1914_t +}; + +static const unsigned char kat1915_entropyin[] = { + 0x52, 0x26, 0x6e, 0x3d, 0x43, 0x2c, 0x32, 0x7b, 0x87, 0x9d, 0x69, 0x70, + 0x7a, 0x26, 0xcc, 0xd8, 0x2f, 0x1c, 0x71, 0x36, 0x99, 0x13, 0xc9, 0x97, +}; +static const unsigned char kat1915_nonce[] = { + 0x7e, 0x77, 0x4e, 0x99, 0x2e, 0xb9, 0xfc, 0x62, 0x9d, 0x20, 0xbb, 0x96, + 0x8f, 0x11, 0x39, 0xa9, +}; +static const unsigned char kat1915_persstr[] = { + 0xd7, 0x4f, 0x4a, 0xa6, 0x94, 0x9b, 0x4c, 0x4c, 0xa7, 0x28, 0xab, 0xfe, + 0x12, 0x2f, 0x64, 0x15, 0x11, 0x08, 0x7b, 0x85, 0x68, 0x6f, 0x79, 0x32, + 0x85, 0x56, 0xcf, 0xf8, 0xbb, 0xcb, 0x11, 0x58, +}; +static const unsigned char kat1915_entropyinreseed[] = { + 0xd4, 0x80, 0xd8, 0x6e, 0xfb, 0x6c, 0x9e, 0xfc, 0xd7, 0x41, 0x2e, 0x1f, + 0x37, 0x82, 0xfd, 0x5a, 0x87, 0xb5, 0x41, 0x98, 0xa3, 0x0f, 0xca, 0x6f, +}; +static const unsigned char kat1915_addinreseed[] = { + 0xf2, 0x05, 0xa6, 0x75, 0x1d, 0x23, 0x25, 0xc7, 0x9d, 0xbb, 0x31, 0x43, + 0x79, 0x53, 0x67, 0x47, 0x5d, 0x2c, 0x8d, 0x32, 0x48, 0xc1, 0xbb, 0xee, + 0xc8, 0x89, 0xce, 0x2c, 0xc4, 0xfd, 0xd6, 0x92, +}; +static const unsigned char kat1915_addin0[] = { + 0xe6, 0x8b, 0x67, 0xbe, 0x2e, 0x8b, 0x18, 0x4f, 0x19, 0x3b, 0x37, 0x54, + 0xb0, 0x29, 0xb9, 0x6b, 0xda, 0xd8, 0xd1, 0xd1, 0xca, 0xfd, 0xa0, 0x60, + 0x37, 0x05, 0x81, 0x3c, 0xec, 0xad, 0x75, 0xd7, +}; +static const unsigned char kat1915_addin1[] = { + 0x8b, 0x83, 0xbf, 0xf6, 0x53, 0x6e, 0x4b, 0x3c, 0xb1, 0xc1, 0xd4, 0x25, + 0xf0, 0x2e, 0x07, 0xb9, 0xd8, 0x8c, 0xa6, 0x15, 0x41, 0xd2, 0x59, 0x32, + 0x42, 0x10, 0xee, 0x48, 0x8b, 0x59, 0xba, 0xf7, +}; +static const unsigned char kat1915_retbits[] = { + 0x19, 0x75, 0x45, 0xab, 0x71, 0x7f, 0x4b, 0x15, 0x6b, 0xae, 0x39, 0x3c, + 0x7e, 0x86, 0xcb, 0x2f, 0x3d, 0xa7, 0x53, 0xa2, 0xe7, 0x8c, 0x33, 0x17, + 0x93, 0xd9, 0xf2, 0xb6, 0x76, 0x7d, 0xbf, 0x07, 0xd7, 0xac, 0xa1, 0x22, + 0x8e, 0x45, 0x2e, 0x39, 0x68, 0xa0, 0x4b, 0x48, 0xcb, 0x9d, 0x7f, 0x94, + 0x1c, 0x53, 0x46, 0x2f, 0x98, 0x8c, 0xbd, 0x12, 0xc0, 0xad, 0xc7, 0xc7, + 0x16, 0x08, 0x5d, 0x69, +}; +static const struct drbg_kat_pr_false kat1915_t = { + 9, kat1915_entropyin, kat1915_nonce, kat1915_persstr, + kat1915_entropyinreseed, kat1915_addinreseed, kat1915_addin0, + kat1915_addin1, kat1915_retbits +}; +static const struct drbg_kat kat1915 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1915_t +}; + +static const unsigned char kat1916_entropyin[] = { + 0x50, 0x23, 0xd5, 0x26, 0x99, 0x1c, 0x0b, 0xa4, 0xd7, 0x80, 0x93, 0x47, + 0xc4, 0x3d, 0x99, 0x00, 0x42, 0x5b, 0x59, 0x96, 0x7c, 0xb9, 0x76, 0x19, +}; +static const unsigned char kat1916_nonce[] = { + 0xea, 0xe2, 0x91, 0x2f, 0x80, 0x6d, 0x1b, 0xed, 0x45, 0xa0, 0xd8, 0x3c, + 0x02, 0x5c, 0xc3, 0xf9, +}; +static const unsigned char kat1916_persstr[] = { + 0xa4, 0x8b, 0xd5, 0xfb, 0x24, 0xe6, 0x75, 0xb7, 0xd4, 0x7c, 0x66, 0x2b, + 0x7c, 0x57, 0xae, 0x1c, 0xdc, 0x43, 0xe6, 0x45, 0xc7, 0xb3, 0x9e, 0x1c, + 0x5b, 0x54, 0x97, 0xbe, 0x55, 0xc3, 0x1e, 0xdf, +}; +static const unsigned char kat1916_entropyinreseed[] = { + 0xc0, 0x12, 0x37, 0xcc, 0xa4, 0x1c, 0xc7, 0x7f, 0x96, 0x86, 0xfe, 0xd0, + 0x78, 0xf5, 0x67, 0xca, 0xfb, 0xcb, 0xca, 0x23, 0x16, 0xe9, 0xc5, 0xd9, +}; +static const unsigned char kat1916_addinreseed[] = { + 0xbd, 0x59, 0xb8, 0x90, 0x80, 0x6b, 0x0f, 0x67, 0x30, 0x82, 0x92, 0xc6, + 0x73, 0x27, 0xc4, 0x7f, 0xf4, 0x39, 0xbd, 0x76, 0xb0, 0x50, 0xfb, 0x87, + 0xd9, 0x55, 0xd1, 0x14, 0x81, 0xe2, 0x8f, 0x95, +}; +static const unsigned char kat1916_addin0[] = { + 0xc1, 0xeb, 0x4e, 0x0e, 0xb4, 0x08, 0x8c, 0xdb, 0x9f, 0xee, 0xd0, 0xbb, + 0x19, 0xe1, 0x5a, 0x1e, 0x48, 0xe0, 0xc0, 0x6c, 0x60, 0xe8, 0x6a, 0x4a, + 0x0c, 0x77, 0x99, 0x8e, 0x8d, 0x60, 0x04, 0x56, +}; +static const unsigned char kat1916_addin1[] = { + 0xbf, 0x84, 0x1c, 0x1b, 0x1f, 0xc5, 0x5c, 0x2f, 0x01, 0xf9, 0x6a, 0x3c, + 0x2f, 0xe4, 0xce, 0x50, 0x3f, 0xfd, 0x40, 0x99, 0xbd, 0x88, 0x4f, 0xc6, + 0x20, 0xa1, 0x5d, 0x45, 0x27, 0xfd, 0x1e, 0x21, +}; +static const unsigned char kat1916_retbits[] = { + 0xbf, 0x7a, 0x3a, 0x2a, 0x43, 0x0e, 0xfc, 0xf4, 0xeb, 0x9b, 0x30, 0xd2, + 0xc7, 0x6d, 0x3c, 0x2d, 0xb3, 0xdc, 0x67, 0x0b, 0xcc, 0xd5, 0x14, 0xb4, + 0xbc, 0xb5, 0x0c, 0x56, 0xd3, 0x42, 0xd9, 0xa9, 0xfe, 0x1d, 0x45, 0x89, + 0xe0, 0xb8, 0xcc, 0x0d, 0x42, 0x26, 0xf1, 0x0d, 0x51, 0x8b, 0x36, 0xc1, + 0x15, 0xd8, 0xe4, 0xa2, 0x91, 0x06, 0xc3, 0xa0, 0x72, 0x42, 0x3f, 0x1f, + 0x3c, 0x09, 0xc7, 0xfd, +}; +static const struct drbg_kat_pr_false kat1916_t = { + 10, kat1916_entropyin, kat1916_nonce, kat1916_persstr, + kat1916_entropyinreseed, kat1916_addinreseed, kat1916_addin0, + kat1916_addin1, kat1916_retbits +}; +static const struct drbg_kat kat1916 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1916_t +}; + +static const unsigned char kat1917_entropyin[] = { + 0x36, 0xdd, 0x90, 0xad, 0x3a, 0x99, 0xef, 0x0f, 0x03, 0x9d, 0x30, 0xd2, + 0xc9, 0x9f, 0x2b, 0x07, 0xbf, 0x8b, 0x1a, 0xb7, 0xa4, 0xef, 0xdb, 0x01, +}; +static const unsigned char kat1917_nonce[] = { + 0x17, 0x90, 0x21, 0x0b, 0x26, 0x3d, 0x0f, 0x66, 0xd1, 0x99, 0xdf, 0x75, + 0x90, 0x74, 0x83, 0xba, +}; +static const unsigned char kat1917_persstr[] = { + 0x77, 0x10, 0x04, 0xb4, 0x54, 0xc3, 0xc2, 0xc4, 0x18, 0xcd, 0x7e, 0x39, + 0xbc, 0xf8, 0xb3, 0x34, 0x9d, 0x8d, 0xd0, 0x16, 0x5f, 0xb9, 0xc5, 0xf5, + 0x6f, 0x72, 0x49, 0xf7, 0x25, 0x8a, 0x43, 0x04, +}; +static const unsigned char kat1917_entropyinreseed[] = { + 0x31, 0x03, 0xdd, 0xed, 0x1e, 0x53, 0xb3, 0xae, 0x63, 0xa4, 0x20, 0x7e, + 0xba, 0xef, 0xcb, 0x86, 0x27, 0x1f, 0xfe, 0x9d, 0x73, 0x71, 0x18, 0xaf, +}; +static const unsigned char kat1917_addinreseed[] = { + 0x03, 0x50, 0xcb, 0xee, 0x80, 0xaa, 0xad, 0x1b, 0xcd, 0xc9, 0x45, 0x3b, + 0xdb, 0x12, 0xaf, 0x36, 0xd5, 0xa0, 0x33, 0x7a, 0xf3, 0x65, 0xd4, 0x67, + 0x05, 0x30, 0x5b, 0x5d, 0xbc, 0x8d, 0x0d, 0x4b, +}; +static const unsigned char kat1917_addin0[] = { + 0xa3, 0x35, 0x7c, 0x6e, 0x97, 0xb7, 0xf2, 0xea, 0xed, 0xd4, 0x5d, 0x8b, + 0x17, 0xb1, 0x87, 0xea, 0xa5, 0x8c, 0xea, 0x7f, 0x6b, 0x90, 0xcd, 0x71, + 0x11, 0x09, 0x33, 0x7a, 0xc6, 0x40, 0x1b, 0x38, +}; +static const unsigned char kat1917_addin1[] = { + 0xf1, 0xa8, 0x78, 0x7b, 0x45, 0x43, 0x01, 0x28, 0xec, 0xf1, 0x60, 0x8a, + 0xbf, 0x7d, 0xf5, 0x39, 0x75, 0x3e, 0x59, 0xb7, 0x42, 0xf1, 0x40, 0x0b, + 0xea, 0xe3, 0x5f, 0x87, 0xf7, 0x6e, 0x60, 0x0a, +}; +static const unsigned char kat1917_retbits[] = { + 0x03, 0xb0, 0xe5, 0x10, 0x3b, 0x44, 0xcc, 0x72, 0xb3, 0xa7, 0x6c, 0x6e, + 0x3f, 0xe5, 0x3b, 0x2a, 0x21, 0x6d, 0xe6, 0xa6, 0xa2, 0x57, 0x14, 0x4d, + 0xeb, 0x74, 0x75, 0xc8, 0xc9, 0x17, 0xc2, 0x03, 0x17, 0x4c, 0xf5, 0xd2, + 0x59, 0x35, 0x16, 0xee, 0x13, 0x16, 0xcf, 0xf5, 0xc1, 0x0a, 0x13, 0x3a, + 0x3b, 0xd8, 0x0e, 0x06, 0x71, 0x40, 0xad, 0x9e, 0x7c, 0xaf, 0x39, 0xa7, + 0x06, 0xdd, 0xb4, 0x71, +}; +static const struct drbg_kat_pr_false kat1917_t = { + 11, kat1917_entropyin, kat1917_nonce, kat1917_persstr, + kat1917_entropyinreseed, kat1917_addinreseed, kat1917_addin0, + kat1917_addin1, kat1917_retbits +}; +static const struct drbg_kat kat1917 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1917_t +}; + +static const unsigned char kat1918_entropyin[] = { + 0x32, 0xa4, 0xbc, 0x55, 0xfe, 0x00, 0x93, 0x34, 0x11, 0xbc, 0x14, 0x63, + 0xc0, 0x04, 0xb7, 0xdd, 0xb6, 0xaf, 0xfb, 0xa1, 0x85, 0xdf, 0x62, 0x5f, +}; +static const unsigned char kat1918_nonce[] = { + 0x4f, 0x93, 0x6c, 0x59, 0xf1, 0xdd, 0x36, 0xae, 0xd0, 0x40, 0x44, 0x02, + 0x0e, 0x60, 0x64, 0xab, +}; +static const unsigned char kat1918_persstr[] = { + 0x31, 0xcb, 0x2a, 0x44, 0x66, 0x33, 0xbb, 0x01, 0xb9, 0xd9, 0x02, 0x4d, + 0x16, 0xbf, 0xc3, 0x87, 0x2f, 0xfa, 0x2d, 0x1c, 0x8f, 0x95, 0x92, 0xc4, + 0x72, 0x65, 0x7a, 0x92, 0x5d, 0x6e, 0xc3, 0x14, +}; +static const unsigned char kat1918_entropyinreseed[] = { + 0xde, 0x9e, 0x64, 0x8b, 0xf1, 0x54, 0x06, 0xca, 0x39, 0x8d, 0x6b, 0x1c, + 0x68, 0xb7, 0x0b, 0x3e, 0xad, 0x20, 0xb4, 0x66, 0x90, 0xb9, 0x9c, 0x26, +}; +static const unsigned char kat1918_addinreseed[] = { + 0x13, 0x3c, 0x98, 0x79, 0x41, 0x16, 0x12, 0xbc, 0x04, 0x92, 0x51, 0x98, + 0x7f, 0x20, 0x26, 0x13, 0x02, 0x04, 0x53, 0xa6, 0x18, 0xac, 0xba, 0x0f, + 0x45, 0xd5, 0x05, 0xe2, 0xb6, 0xc1, 0xb9, 0x45, +}; +static const unsigned char kat1918_addin0[] = { + 0x9b, 0x6c, 0x10, 0x33, 0x39, 0xed, 0xe7, 0x00, 0x56, 0x41, 0x85, 0xcd, + 0x26, 0xd6, 0xa7, 0x2a, 0x0b, 0x2b, 0x55, 0x9e, 0xc9, 0x01, 0xa0, 0xda, + 0x1a, 0x68, 0xc7, 0x5f, 0xc6, 0xad, 0x94, 0x9b, +}; +static const unsigned char kat1918_addin1[] = { + 0xd1, 0xc6, 0x02, 0x29, 0x4b, 0x4a, 0x1e, 0x66, 0x06, 0xfa, 0xd1, 0x1c, + 0x53, 0x88, 0x7e, 0x90, 0x47, 0x0a, 0x05, 0x00, 0xef, 0x54, 0xbe, 0x0b, + 0x56, 0x9f, 0x8f, 0x48, 0xaa, 0xd9, 0xe1, 0xaa, +}; +static const unsigned char kat1918_retbits[] = { + 0x6a, 0xec, 0x60, 0x89, 0x42, 0xd4, 0x00, 0x86, 0x8d, 0x4a, 0x49, 0x0a, + 0x70, 0x8a, 0x77, 0x19, 0x6c, 0x56, 0xcf, 0x01, 0x40, 0xe2, 0x50, 0xe3, + 0xfd, 0x7e, 0x1e, 0xe5, 0xcd, 0x90, 0x49, 0x25, 0xed, 0x7f, 0xbd, 0xfc, + 0xbb, 0x8a, 0xc3, 0x89, 0x9e, 0x63, 0x29, 0x03, 0x0e, 0xfa, 0xc6, 0xb7, + 0xae, 0xc3, 0xfe, 0x4c, 0x17, 0x2f, 0xfc, 0x3c, 0x78, 0x37, 0xb9, 0x69, + 0x5f, 0xec, 0x58, 0xde, +}; +static const struct drbg_kat_pr_false kat1918_t = { + 12, kat1918_entropyin, kat1918_nonce, kat1918_persstr, + kat1918_entropyinreseed, kat1918_addinreseed, kat1918_addin0, + kat1918_addin1, kat1918_retbits +}; +static const struct drbg_kat kat1918 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1918_t +}; + +static const unsigned char kat1919_entropyin[] = { + 0xfa, 0x45, 0x67, 0x8e, 0x54, 0x8e, 0xca, 0x6f, 0x7d, 0x55, 0x2d, 0x03, + 0xfe, 0xf9, 0xf5, 0x00, 0xa4, 0x1e, 0x63, 0xa9, 0xaf, 0x5f, 0x6d, 0xe7, +}; +static const unsigned char kat1919_nonce[] = { + 0xe2, 0x14, 0xb4, 0x23, 0x0c, 0xb2, 0xae, 0x42, 0x8e, 0x31, 0x7c, 0x52, + 0x11, 0x28, 0x3f, 0x47, +}; +static const unsigned char kat1919_persstr[] = { + 0xf3, 0x2a, 0x32, 0x62, 0xca, 0x7a, 0x6b, 0x52, 0x37, 0x2a, 0x86, 0xa7, + 0x20, 0xb1, 0xe3, 0xb3, 0xee, 0xd9, 0xf2, 0x28, 0xa9, 0x66, 0xe3, 0xe9, + 0xeb, 0xc5, 0x94, 0x72, 0x3b, 0x83, 0x13, 0x9d, +}; +static const unsigned char kat1919_entropyinreseed[] = { + 0x4b, 0x4f, 0x7a, 0x51, 0xdf, 0x67, 0x39, 0xe8, 0x83, 0x9e, 0xa1, 0x11, + 0xb8, 0x09, 0x83, 0x48, 0x62, 0x9f, 0x89, 0x96, 0xcf, 0xce, 0x8a, 0xdf, +}; +static const unsigned char kat1919_addinreseed[] = { + 0x21, 0xdf, 0xbc, 0xee, 0x16, 0xb0, 0x58, 0x1a, 0x4e, 0xaa, 0x7f, 0x22, + 0xa7, 0xc1, 0x15, 0x62, 0x66, 0xde, 0x87, 0x14, 0x67, 0xf3, 0x27, 0xe8, + 0x05, 0x39, 0x78, 0x41, 0x18, 0x9b, 0xef, 0x6e, +}; +static const unsigned char kat1919_addin0[] = { + 0xcd, 0xd8, 0x36, 0x6b, 0x0e, 0x7b, 0xe7, 0x7b, 0x00, 0xe8, 0x47, 0xf6, + 0x89, 0x8c, 0xfe, 0xdd, 0x50, 0x13, 0x32, 0x1d, 0x15, 0x1e, 0x6a, 0x4a, + 0x01, 0xf8, 0xe1, 0xe4, 0x45, 0x1e, 0x73, 0x18, +}; +static const unsigned char kat1919_addin1[] = { + 0x36, 0x66, 0xe9, 0xf2, 0x7c, 0x2b, 0xe7, 0x5d, 0x70, 0x7f, 0xdf, 0x0e, + 0x08, 0x23, 0x0c, 0x5e, 0x22, 0xee, 0x30, 0x72, 0x9f, 0xfd, 0x70, 0xcf, + 0xce, 0x62, 0xca, 0x82, 0xca, 0x97, 0x6a, 0x3b, +}; +static const unsigned char kat1919_retbits[] = { + 0xea, 0x8b, 0x6e, 0xc1, 0xdd, 0xc4, 0x98, 0xd5, 0x9c, 0x97, 0x69, 0x21, + 0xa8, 0x74, 0x6a, 0xef, 0x37, 0xc4, 0x1a, 0x1f, 0xfa, 0xe2, 0x7d, 0x51, + 0x4f, 0xc9, 0xdb, 0x9d, 0x75, 0xa0, 0xce, 0x18, 0x1c, 0x94, 0xb1, 0x22, + 0x9c, 0x09, 0xd2, 0xe4, 0x84, 0xc8, 0x1a, 0xbf, 0xaf, 0x2f, 0xdc, 0x23, + 0x12, 0x4e, 0x51, 0x85, 0x02, 0xf7, 0xdb, 0xc7, 0x96, 0x71, 0x98, 0xa5, + 0xdd, 0x0e, 0xef, 0x71, +}; +static const struct drbg_kat_pr_false kat1919_t = { + 13, kat1919_entropyin, kat1919_nonce, kat1919_persstr, + kat1919_entropyinreseed, kat1919_addinreseed, kat1919_addin0, + kat1919_addin1, kat1919_retbits +}; +static const struct drbg_kat kat1919 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1919_t +}; + +static const unsigned char kat1920_entropyin[] = { + 0x66, 0xc1, 0xb0, 0xef, 0x8b, 0xac, 0xf0, 0x16, 0x36, 0x6d, 0x2d, 0x9a, + 0xe1, 0xaa, 0x16, 0x75, 0x91, 0xd8, 0x60, 0x74, 0x85, 0xf1, 0x6a, 0x9a, +}; +static const unsigned char kat1920_nonce[] = { + 0xce, 0xa9, 0x90, 0x2a, 0x8e, 0xc1, 0xac, 0xbc, 0xa4, 0xb1, 0x0e, 0x13, + 0x25, 0xca, 0x6f, 0xff, +}; +static const unsigned char kat1920_persstr[] = { + 0xee, 0xdc, 0xc9, 0xba, 0x4e, 0xa5, 0x01, 0xca, 0x23, 0xaf, 0x2f, 0x41, + 0x18, 0x52, 0xb4, 0xba, 0xfd, 0xd9, 0x2f, 0x3d, 0x4b, 0xb0, 0x81, 0x7c, + 0x3c, 0x47, 0xb7, 0x45, 0x77, 0xfb, 0xd1, 0x63, +}; +static const unsigned char kat1920_entropyinreseed[] = { + 0xd4, 0x97, 0xe5, 0x55, 0x56, 0xa1, 0x11, 0x9c, 0x02, 0xa0, 0xe1, 0x2d, + 0xab, 0x8c, 0x1f, 0x8f, 0x77, 0xa4, 0x17, 0x17, 0xa1, 0xfe, 0x4a, 0xa6, +}; +static const unsigned char kat1920_addinreseed[] = { + 0x81, 0xda, 0x6a, 0xf9, 0x7d, 0x93, 0xab, 0xfc, 0x11, 0xa7, 0x04, 0x0a, + 0x2a, 0x88, 0xa1, 0x67, 0x65, 0xef, 0x29, 0xb6, 0xba, 0xb5, 0x26, 0x0a, + 0x6c, 0x2c, 0x4b, 0xab, 0x1f, 0xa5, 0xdf, 0x3c, +}; +static const unsigned char kat1920_addin0[] = { + 0x32, 0x13, 0x0c, 0x14, 0xe5, 0x92, 0xca, 0xfb, 0x1d, 0xa7, 0x46, 0xae, + 0x46, 0x34, 0xc5, 0xeb, 0xfe, 0xf0, 0x8f, 0x31, 0x84, 0x63, 0x9a, 0x44, + 0x7b, 0x96, 0xef, 0x12, 0xb4, 0x80, 0x2d, 0xf5, +}; +static const unsigned char kat1920_addin1[] = { + 0x42, 0x9b, 0x9f, 0x44, 0x2c, 0x75, 0xc7, 0x66, 0x15, 0x49, 0x25, 0x82, + 0xd6, 0xdc, 0xc0, 0x07, 0xc9, 0x14, 0x06, 0xab, 0xfa, 0x88, 0x20, 0x8f, + 0x8b, 0x06, 0xe8, 0x0e, 0xf2, 0x29, 0x0c, 0xc5, +}; +static const unsigned char kat1920_retbits[] = { + 0x5c, 0x37, 0xde, 0x23, 0x5a, 0x55, 0xd3, 0x74, 0x77, 0x44, 0xe8, 0x4e, + 0xb4, 0x41, 0x6b, 0x6e, 0x2d, 0xa0, 0xda, 0x09, 0xf3, 0x2c, 0x29, 0xf7, + 0x2c, 0xba, 0x63, 0x43, 0xb3, 0x27, 0xb4, 0x88, 0xdf, 0xa0, 0xd8, 0xa6, + 0x03, 0x66, 0x6d, 0x8b, 0xa3, 0x3b, 0x41, 0x7c, 0x71, 0x79, 0x51, 0xdd, + 0xee, 0xc4, 0x7d, 0x54, 0x9d, 0x0f, 0x6e, 0x09, 0x1e, 0x1b, 0xb7, 0xda, + 0xeb, 0x9e, 0x2e, 0x20, +}; +static const struct drbg_kat_pr_false kat1920_t = { + 14, kat1920_entropyin, kat1920_nonce, kat1920_persstr, + kat1920_entropyinreseed, kat1920_addinreseed, kat1920_addin0, + kat1920_addin1, kat1920_retbits +}; +static const struct drbg_kat kat1920 = { + PR_FALSE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat1920_t +}; + +static const unsigned char kat1921_entropyin[] = { + 0x2d, 0x4c, 0x9f, 0x46, 0xb9, 0x81, 0xc6, 0xa0, 0xb2, 0xb5, 0xd8, 0xc6, + 0x93, 0x91, 0xe5, 0x69, 0xff, 0x13, 0x85, 0x14, 0x37, 0xeb, 0xc0, 0xfc, + 0x00, 0xd6, 0x16, 0x34, 0x02, 0x52, 0xfe, 0xd5, +}; +static const unsigned char kat1921_nonce[] = { + 0x0b, 0xf8, 0x14, 0xb4, 0x11, 0xf6, 0x5e, 0xc4, 0x86, 0x6b, 0xe1, 0xab, + 0xb5, 0x9d, 0x3c, 0x32, +}; +static const unsigned char kat1921_persstr[] = {0}; +static const unsigned char kat1921_entropyinreseed[] = { + 0x93, 0x50, 0x0f, 0xae, 0x4f, 0xa3, 0x2b, 0x86, 0x03, 0x3b, 0x7a, 0x7b, + 0xac, 0x9d, 0x37, 0xe7, 0x10, 0xdc, 0xc6, 0x7c, 0xa2, 0x66, 0xbc, 0x86, + 0x07, 0xd6, 0x65, 0x93, 0x77, 0x66, 0xd2, 0x07, +}; +static const unsigned char kat1921_addinreseed[] = {0}; +static const unsigned char kat1921_addin0[] = {0}; +static const unsigned char kat1921_addin1[] = {0}; +static const unsigned char kat1921_retbits[] = { + 0x32, 0x2d, 0xd2, 0x86, 0x70, 0xe7, 0x5c, 0x0e, 0xa6, 0x38, 0xf3, 0xcb, + 0x68, 0xd6, 0xa9, 0xd6, 0xe5, 0x0d, 0xdf, 0xd0, 0x52, 0xb7, 0x72, 0xa7, + 0xb1, 0xd7, 0x82, 0x63, 0xa7, 0xb8, 0x97, 0x8b, 0x67, 0x40, 0xc2, 0xb6, + 0x5a, 0x95, 0x50, 0xc3, 0xa7, 0x63, 0x25, 0x86, 0x6f, 0xa9, 0x7e, 0x16, + 0xd7, 0x40, 0x06, 0xbc, 0x96, 0xf2, 0x62, 0x49, 0xb9, 0xf0, 0xa9, 0x0d, + 0x07, 0x6f, 0x08, 0xe5, +}; +static const struct drbg_kat_pr_false kat1921_t = { + 0, kat1921_entropyin, kat1921_nonce, kat1921_persstr, + kat1921_entropyinreseed, kat1921_addinreseed, kat1921_addin0, + kat1921_addin1, kat1921_retbits +}; +static const struct drbg_kat kat1921 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1921_t +}; + +static const unsigned char kat1922_entropyin[] = { + 0x20, 0x0f, 0x09, 0x6b, 0x76, 0xe3, 0xbf, 0x2f, 0x40, 0x13, 0x3a, 0xe6, + 0x64, 0x92, 0x21, 0x08, 0x4f, 0x0a, 0xfb, 0x11, 0xf9, 0x6f, 0xe8, 0x6a, + 0x49, 0x87, 0xae, 0x7b, 0x11, 0x59, 0xd0, 0x32, +}; +static const unsigned char kat1922_nonce[] = { + 0x3b, 0xe5, 0x6f, 0x6c, 0x0a, 0xe2, 0x89, 0xdf, 0xc6, 0x36, 0xf9, 0x6c, + 0xff, 0x5d, 0xaa, 0xa1, +}; +static const unsigned char kat1922_persstr[] = {0}; +static const unsigned char kat1922_entropyinreseed[] = { + 0x89, 0x51, 0x33, 0xf4, 0xf2, 0xd1, 0xbe, 0x25, 0xec, 0x92, 0x9d, 0x42, + 0xe9, 0x04, 0xdb, 0xc7, 0x74, 0x99, 0x39, 0xad, 0x70, 0x22, 0xa9, 0x03, + 0x60, 0xa7, 0x43, 0xfd, 0x2c, 0x3f, 0x48, 0x3c, +}; +static const unsigned char kat1922_addinreseed[] = {0}; +static const unsigned char kat1922_addin0[] = {0}; +static const unsigned char kat1922_addin1[] = {0}; +static const unsigned char kat1922_retbits[] = { + 0xbf, 0x12, 0xbf, 0x4d, 0x8e, 0xb6, 0xbb, 0xbd, 0x9f, 0x91, 0xa2, 0xef, + 0x48, 0xc6, 0xbc, 0x65, 0x24, 0xa1, 0x33, 0xdd, 0xe3, 0xc8, 0xd4, 0xf1, + 0x3d, 0x4b, 0x5c, 0xda, 0xe3, 0xb9, 0xe0, 0x41, 0xb9, 0x8c, 0x86, 0x50, + 0xad, 0xa9, 0xe1, 0xf2, 0xb5, 0xdf, 0x01, 0xd8, 0x75, 0x47, 0x0b, 0x22, + 0x0c, 0xac, 0xad, 0x0e, 0xe8, 0x87, 0x08, 0x0c, 0x27, 0x19, 0x29, 0xf6, + 0x95, 0x20, 0x4b, 0x66, +}; +static const struct drbg_kat_pr_false kat1922_t = { + 1, kat1922_entropyin, kat1922_nonce, kat1922_persstr, + kat1922_entropyinreseed, kat1922_addinreseed, kat1922_addin0, + kat1922_addin1, kat1922_retbits +}; +static const struct drbg_kat kat1922 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1922_t +}; + +static const unsigned char kat1923_entropyin[] = { + 0x1c, 0xc5, 0xa0, 0x86, 0x83, 0x1f, 0xac, 0x6b, 0xa0, 0x46, 0xb7, 0xf5, + 0x6c, 0x4e, 0xa5, 0xba, 0x7b, 0xcf, 0x9d, 0x85, 0x1b, 0x50, 0x51, 0x25, + 0x4c, 0x46, 0x83, 0xbf, 0xed, 0x7a, 0x26, 0xf9, +}; +static const unsigned char kat1923_nonce[] = { + 0xa8, 0xd4, 0x2c, 0xa3, 0xb0, 0x8c, 0x9c, 0x97, 0x4f, 0xa2, 0xc2, 0xec, + 0xeb, 0x5a, 0x71, 0xe7, +}; +static const unsigned char kat1923_persstr[] = {0}; +static const unsigned char kat1923_entropyinreseed[] = { + 0xe8, 0xc1, 0x74, 0xc6, 0x21, 0xaf, 0x92, 0xc5, 0x01, 0x2f, 0xc4, 0xca, + 0xca, 0x8d, 0x1f, 0xb7, 0x2e, 0xa7, 0x99, 0x8f, 0x5f, 0x78, 0xa6, 0xcd, + 0x5f, 0x3f, 0x25, 0x0f, 0x33, 0x0f, 0x0c, 0x74, +}; +static const unsigned char kat1923_addinreseed[] = {0}; +static const unsigned char kat1923_addin0[] = {0}; +static const unsigned char kat1923_addin1[] = {0}; +static const unsigned char kat1923_retbits[] = { + 0x66, 0x54, 0xd8, 0x31, 0x40, 0x36, 0x93, 0x59, 0x14, 0x76, 0x21, 0x3b, + 0xee, 0x7b, 0xea, 0x64, 0x4c, 0x50, 0x58, 0xf9, 0x34, 0x54, 0xe8, 0x9e, + 0xa5, 0xb3, 0x48, 0xbc, 0x53, 0x54, 0xe2, 0xd8, 0xab, 0xac, 0x00, 0xd5, + 0x3b, 0x38, 0x79, 0xe2, 0xc8, 0x9b, 0xc8, 0xf4, 0x90, 0x96, 0x9e, 0x42, + 0xd7, 0x38, 0xba, 0x37, 0x43, 0x28, 0x22, 0xdf, 0x85, 0x9d, 0x63, 0x1c, + 0xfc, 0x86, 0xcd, 0x40, +}; +static const struct drbg_kat_pr_false kat1923_t = { + 2, kat1923_entropyin, kat1923_nonce, kat1923_persstr, + kat1923_entropyinreseed, kat1923_addinreseed, kat1923_addin0, + kat1923_addin1, kat1923_retbits +}; +static const struct drbg_kat kat1923 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1923_t +}; + +static const unsigned char kat1924_entropyin[] = { + 0x6b, 0xa5, 0xe8, 0x15, 0x27, 0x4e, 0x5c, 0xf4, 0xb2, 0x46, 0x77, 0x43, + 0xa8, 0x33, 0x3c, 0x5c, 0x52, 0x92, 0x32, 0x9a, 0x96, 0xf0, 0xae, 0xa4, + 0xfd, 0xc9, 0xa1, 0x80, 0x8b, 0x31, 0x2c, 0x62, +}; +static const unsigned char kat1924_nonce[] = { + 0x2a, 0xbe, 0x3c, 0x2f, 0x11, 0xc9, 0x0e, 0xc9, 0xb6, 0x84, 0xe1, 0xcb, + 0x3f, 0xb0, 0xbd, 0xe6, +}; +static const unsigned char kat1924_persstr[] = {0}; +static const unsigned char kat1924_entropyinreseed[] = { + 0xbc, 0x72, 0x57, 0xf6, 0x25, 0xcc, 0x10, 0x95, 0x36, 0x6d, 0x7e, 0xdd, + 0xb7, 0x93, 0xea, 0x75, 0xad, 0x2c, 0x5a, 0x47, 0x55, 0x14, 0xd5, 0x30, + 0x56, 0x65, 0x94, 0x23, 0xe5, 0x4c, 0xd0, 0x01, +}; +static const unsigned char kat1924_addinreseed[] = {0}; +static const unsigned char kat1924_addin0[] = {0}; +static const unsigned char kat1924_addin1[] = {0}; +static const unsigned char kat1924_retbits[] = { + 0xb9, 0x5f, 0x8d, 0x62, 0x58, 0x51, 0x5a, 0x67, 0xc5, 0x1f, 0x96, 0xf8, + 0x20, 0x1c, 0x0b, 0x54, 0x45, 0x14, 0x2c, 0xde, 0x38, 0xda, 0xb3, 0xcf, + 0xf2, 0xb5, 0x27, 0xa4, 0xe5, 0xdc, 0xa5, 0xee, 0xe1, 0x5f, 0x79, 0xcf, + 0x07, 0x33, 0x45, 0xf3, 0x43, 0x8b, 0x1c, 0xd5, 0x07, 0xb2, 0xfe, 0x6c, + 0xe1, 0x56, 0x97, 0x07, 0xfe, 0x0c, 0x28, 0x8b, 0x76, 0xbf, 0x85, 0xe1, + 0xbf, 0x1a, 0x04, 0x19, +}; +static const struct drbg_kat_pr_false kat1924_t = { + 3, kat1924_entropyin, kat1924_nonce, kat1924_persstr, + kat1924_entropyinreseed, kat1924_addinreseed, kat1924_addin0, + kat1924_addin1, kat1924_retbits +}; +static const struct drbg_kat kat1924 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1924_t +}; + +static const unsigned char kat1925_entropyin[] = { + 0x14, 0x59, 0x8d, 0x23, 0xe6, 0x1d, 0x00, 0x3b, 0xf3, 0x21, 0xa2, 0xb4, + 0x81, 0x6f, 0x0a, 0x7e, 0xa3, 0xef, 0x6d, 0xe1, 0xad, 0x69, 0x83, 0xf9, + 0x3f, 0x26, 0xb1, 0xc1, 0x63, 0x0d, 0x58, 0x8b, +}; +static const unsigned char kat1925_nonce[] = { + 0x2f, 0xce, 0xfe, 0x8c, 0x6a, 0x93, 0xce, 0xf3, 0x5a, 0x92, 0x5e, 0xb0, + 0x23, 0x17, 0x9f, 0x02, +}; +static const unsigned char kat1925_persstr[] = {0}; +static const unsigned char kat1925_entropyinreseed[] = { + 0x42, 0xed, 0xae, 0x47, 0x8f, 0x8b, 0xa6, 0xd4, 0x5e, 0x97, 0xa4, 0x39, + 0x06, 0xaa, 0x2a, 0x62, 0x3a, 0xb6, 0x04, 0x03, 0xf5, 0xf6, 0x0a, 0x4c, + 0x40, 0x54, 0x8f, 0x0d, 0xed, 0xed, 0xba, 0x4b, +}; +static const unsigned char kat1925_addinreseed[] = {0}; +static const unsigned char kat1925_addin0[] = {0}; +static const unsigned char kat1925_addin1[] = {0}; +static const unsigned char kat1925_retbits[] = { + 0x76, 0x6a, 0xe3, 0x6c, 0x6e, 0x9c, 0x48, 0x2c, 0x6f, 0xa2, 0xe7, 0xfc, + 0x1e, 0x25, 0x1d, 0xc3, 0x5b, 0x2e, 0x2a, 0xe6, 0x45, 0xa7, 0x9c, 0x2b, + 0x8d, 0x5c, 0x0b, 0xd7, 0xf5, 0x20, 0xb0, 0xf4, 0xde, 0x1b, 0x68, 0x41, + 0x9c, 0x4d, 0xce, 0xa0, 0x75, 0x16, 0xe2, 0x55, 0xe6, 0xcb, 0xe9, 0x60, + 0x07, 0xa2, 0x53, 0x96, 0xf9, 0x3f, 0x78, 0x1b, 0x36, 0xc9, 0xd2, 0xca, + 0x32, 0x36, 0x14, 0x33, +}; +static const struct drbg_kat_pr_false kat1925_t = { + 4, kat1925_entropyin, kat1925_nonce, kat1925_persstr, + kat1925_entropyinreseed, kat1925_addinreseed, kat1925_addin0, + kat1925_addin1, kat1925_retbits +}; +static const struct drbg_kat kat1925 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1925_t +}; + +static const unsigned char kat1926_entropyin[] = { + 0xb5, 0x53, 0x89, 0x90, 0x82, 0xc7, 0x83, 0x54, 0x84, 0xa2, 0xcb, 0x11, + 0x14, 0xce, 0xb1, 0x8f, 0xcb, 0x26, 0xa7, 0xb0, 0x1d, 0xb8, 0xd7, 0xcb, + 0xfc, 0xea, 0x9c, 0x35, 0xa6, 0x4e, 0x11, 0x1f, +}; +static const unsigned char kat1926_nonce[] = { + 0x2e, 0x81, 0x4d, 0x71, 0x71, 0x73, 0x6a, 0xee, 0x9a, 0x47, 0xf9, 0x94, + 0xe7, 0x63, 0x9e, 0xdf, +}; +static const unsigned char kat1926_persstr[] = {0}; +static const unsigned char kat1926_entropyinreseed[] = { + 0x53, 0xff, 0x45, 0xe7, 0x28, 0x97, 0x9c, 0xbb, 0x90, 0x54, 0xdc, 0xa9, + 0x30, 0xda, 0x5a, 0x54, 0xf1, 0xc6, 0x03, 0x37, 0x56, 0x21, 0xb5, 0xc8, + 0xbe, 0x06, 0x52, 0x13, 0x2f, 0x58, 0x7f, 0x0e, +}; +static const unsigned char kat1926_addinreseed[] = {0}; +static const unsigned char kat1926_addin0[] = {0}; +static const unsigned char kat1926_addin1[] = {0}; +static const unsigned char kat1926_retbits[] = { + 0x06, 0x93, 0xd0, 0xa1, 0x3f, 0xb4, 0x84, 0x8d, 0xcf, 0xb5, 0xbf, 0xe4, + 0xa9, 0xa0, 0x22, 0x27, 0xd3, 0x98, 0x41, 0x03, 0xce, 0x39, 0xbb, 0x8c, + 0x40, 0xd7, 0xcb, 0x22, 0x4b, 0xc9, 0x28, 0x10, 0x87, 0xd7, 0x97, 0xa5, + 0x33, 0x33, 0x75, 0x05, 0x2b, 0xfc, 0x35, 0x2e, 0xa8, 0x8d, 0xa1, 0xc9, + 0x36, 0x8c, 0x3e, 0x25, 0x0e, 0x09, 0x5b, 0x12, 0x09, 0x1f, 0x6b, 0x6f, + 0x12, 0x60, 0x5f, 0x46, +}; +static const struct drbg_kat_pr_false kat1926_t = { + 5, kat1926_entropyin, kat1926_nonce, kat1926_persstr, + kat1926_entropyinreseed, kat1926_addinreseed, kat1926_addin0, + kat1926_addin1, kat1926_retbits +}; +static const struct drbg_kat kat1926 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1926_t +}; + +static const unsigned char kat1927_entropyin[] = { + 0xcb, 0x15, 0xc9, 0x0b, 0xc7, 0x2d, 0xf4, 0xa4, 0xad, 0xed, 0x92, 0xe9, + 0xa8, 0x5f, 0x0a, 0x23, 0x01, 0x9f, 0xbf, 0x86, 0x7b, 0x5b, 0x02, 0x7a, + 0x61, 0x4a, 0x00, 0x25, 0xf9, 0xf3, 0xcc, 0xfe, +}; +static const unsigned char kat1927_nonce[] = { + 0x3b, 0x42, 0x6d, 0xf8, 0xfc, 0x90, 0xb5, 0xba, 0xc1, 0xf2, 0x0e, 0x8d, + 0x32, 0x48, 0x7d, 0x1a, +}; +static const unsigned char kat1927_persstr[] = {0}; +static const unsigned char kat1927_entropyinreseed[] = { + 0x27, 0x70, 0x98, 0xc4, 0xc0, 0x4f, 0x2e, 0x3f, 0x47, 0xa4, 0x61, 0xe7, + 0x02, 0x58, 0xd6, 0x29, 0xfd, 0xac, 0x97, 0xe0, 0x40, 0xf1, 0x3d, 0x4b, + 0xa0, 0x15, 0x16, 0x0a, 0xd7, 0xb5, 0x37, 0xb9, +}; +static const unsigned char kat1927_addinreseed[] = {0}; +static const unsigned char kat1927_addin0[] = {0}; +static const unsigned char kat1927_addin1[] = {0}; +static const unsigned char kat1927_retbits[] = { + 0x75, 0x32, 0x87, 0x78, 0xfe, 0x7a, 0x63, 0xdc, 0xe1, 0xb7, 0xc8, 0xce, + 0xde, 0xa9, 0xd6, 0xa9, 0xd7, 0x67, 0xdc, 0x81, 0x79, 0x1d, 0xf0, 0x48, + 0x19, 0x83, 0xab, 0xfa, 0x2d, 0x21, 0x5a, 0xe5, 0x36, 0xbf, 0x76, 0xb5, + 0x99, 0x2a, 0x10, 0xc4, 0xa5, 0xcb, 0x06, 0x85, 0x8b, 0x5a, 0x4e, 0x3c, + 0x2d, 0x8b, 0xa4, 0xba, 0x99, 0x12, 0xae, 0xbe, 0x96, 0x03, 0x93, 0xe8, + 0x1e, 0x28, 0xaa, 0x69, +}; +static const struct drbg_kat_pr_false kat1927_t = { + 6, kat1927_entropyin, kat1927_nonce, kat1927_persstr, + kat1927_entropyinreseed, kat1927_addinreseed, kat1927_addin0, + kat1927_addin1, kat1927_retbits +}; +static const struct drbg_kat kat1927 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1927_t +}; + +static const unsigned char kat1928_entropyin[] = { + 0xa0, 0x2d, 0xe2, 0xe5, 0x3e, 0x9b, 0x72, 0x85, 0x35, 0x11, 0xac, 0xaf, + 0xa5, 0x90, 0x28, 0xc3, 0x58, 0xe8, 0xdc, 0x4a, 0x1c, 0x70, 0x83, 0x4d, + 0x43, 0x50, 0x65, 0x8b, 0x89, 0x99, 0xac, 0xf9, +}; +static const unsigned char kat1928_nonce[] = { + 0x2d, 0xa0, 0x17, 0xfb, 0xfc, 0x2b, 0x13, 0xf2, 0x1b, 0xda, 0x1e, 0x70, + 0xde, 0x06, 0x74, 0x4b, +}; +static const unsigned char kat1928_persstr[] = {0}; +static const unsigned char kat1928_entropyinreseed[] = { + 0x14, 0xe7, 0xc1, 0xaf, 0x87, 0x60, 0xd6, 0x4c, 0x74, 0x66, 0x8d, 0xd5, + 0x09, 0x50, 0x83, 0x5d, 0x98, 0x81, 0xe0, 0x40, 0xec, 0xd6, 0x25, 0xe0, + 0x02, 0x5d, 0x8c, 0x13, 0x63, 0xbf, 0xd7, 0x64, +}; +static const unsigned char kat1928_addinreseed[] = {0}; +static const unsigned char kat1928_addin0[] = {0}; +static const unsigned char kat1928_addin1[] = {0}; +static const unsigned char kat1928_retbits[] = { + 0x09, 0xe0, 0x47, 0x91, 0xc2, 0xf9, 0xbe, 0xf5, 0x29, 0x78, 0x54, 0x06, + 0x52, 0x12, 0xcf, 0x1b, 0xe4, 0x4c, 0x2a, 0x5e, 0x28, 0xe8, 0xf9, 0x0d, + 0xc1, 0x84, 0xd4, 0xe7, 0x6c, 0x6d, 0xd0, 0x94, 0x49, 0x85, 0x9e, 0x66, + 0xf4, 0x5b, 0x7e, 0x1f, 0x4c, 0xb2, 0x2a, 0xe5, 0x1b, 0x8d, 0x0c, 0x53, + 0x74, 0x45, 0xb7, 0xd4, 0x38, 0xb0, 0x54, 0xef, 0x9c, 0x7c, 0xc7, 0xf5, + 0xa2, 0xba, 0x2e, 0x19, +}; +static const struct drbg_kat_pr_false kat1928_t = { + 7, kat1928_entropyin, kat1928_nonce, kat1928_persstr, + kat1928_entropyinreseed, kat1928_addinreseed, kat1928_addin0, + kat1928_addin1, kat1928_retbits +}; +static const struct drbg_kat kat1928 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1928_t +}; + +static const unsigned char kat1929_entropyin[] = { + 0xc9, 0xce, 0xd6, 0x50, 0x13, 0xee, 0x88, 0xa5, 0x4e, 0xe9, 0x0d, 0x95, + 0xca, 0x61, 0x89, 0x20, 0x7c, 0x22, 0xd7, 0xfd, 0x93, 0xf5, 0x69, 0xec, + 0x11, 0xbf, 0x69, 0x42, 0x43, 0xb7, 0xaa, 0x19, +}; +static const unsigned char kat1929_nonce[] = { + 0x4b, 0x3b, 0x12, 0x4b, 0x7e, 0x7f, 0x83, 0xa8, 0x8d, 0x83, 0x64, 0x56, + 0x33, 0xd7, 0xa8, 0x6a, +}; +static const unsigned char kat1929_persstr[] = {0}; +static const unsigned char kat1929_entropyinreseed[] = { + 0x69, 0xc0, 0x85, 0x76, 0xb8, 0x8d, 0x95, 0x7a, 0xbd, 0xcb, 0xbf, 0x03, + 0x8e, 0xcb, 0x6d, 0xb8, 0x65, 0xd1, 0x2b, 0x0b, 0x0a, 0x7d, 0x42, 0x0b, + 0x64, 0xfd, 0xb0, 0x3a, 0x26, 0x19, 0x08, 0x28, +}; +static const unsigned char kat1929_addinreseed[] = {0}; +static const unsigned char kat1929_addin0[] = {0}; +static const unsigned char kat1929_addin1[] = {0}; +static const unsigned char kat1929_retbits[] = { + 0xb2, 0x4a, 0xf1, 0x37, 0x9b, 0x88, 0xda, 0x5f, 0xba, 0x97, 0x85, 0xd8, + 0xac, 0x5f, 0xc9, 0xfb, 0x53, 0xcc, 0x3d, 0xb5, 0xc7, 0x1a, 0xd8, 0x00, + 0x2a, 0x3f, 0x08, 0x62, 0xf4, 0x84, 0x87, 0xad, 0xdc, 0xf4, 0x2d, 0xdc, + 0x19, 0x3b, 0xc9, 0x08, 0x82, 0x71, 0x07, 0x30, 0x26, 0xc3, 0x3c, 0xb1, + 0xb8, 0xef, 0xd7, 0x72, 0x03, 0xd5, 0xe9, 0xbc, 0xd8, 0x83, 0x94, 0xe4, + 0x43, 0xdb, 0xd5, 0x73, +}; +static const struct drbg_kat_pr_false kat1929_t = { + 8, kat1929_entropyin, kat1929_nonce, kat1929_persstr, + kat1929_entropyinreseed, kat1929_addinreseed, kat1929_addin0, + kat1929_addin1, kat1929_retbits +}; +static const struct drbg_kat kat1929 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1929_t +}; + +static const unsigned char kat1930_entropyin[] = { + 0x95, 0x9a, 0xd6, 0xbc, 0xd9, 0xf6, 0xb2, 0xa1, 0x07, 0x19, 0x9d, 0x95, + 0x93, 0xb7, 0xf6, 0x33, 0xec, 0xb0, 0x30, 0x24, 0x6c, 0xc9, 0x86, 0x0a, + 0x41, 0x55, 0x88, 0x34, 0x07, 0x0d, 0x0a, 0x0b, +}; +static const unsigned char kat1930_nonce[] = { + 0x77, 0x84, 0x1f, 0x79, 0x56, 0x2d, 0xa4, 0xe4, 0x8a, 0x66, 0x56, 0x45, + 0x41, 0x0e, 0x15, 0x69, +}; +static const unsigned char kat1930_persstr[] = {0}; +static const unsigned char kat1930_entropyinreseed[] = { + 0x21, 0x3d, 0xa2, 0x49, 0x06, 0xda, 0x06, 0xff, 0x2b, 0x9b, 0xeb, 0x1f, + 0xe5, 0x04, 0x14, 0x96, 0x36, 0xa8, 0xac, 0xd6, 0x70, 0x01, 0xfe, 0x32, + 0x6b, 0xfa, 0xbd, 0x03, 0x8a, 0x71, 0x48, 0xf3, +}; +static const unsigned char kat1930_addinreseed[] = {0}; +static const unsigned char kat1930_addin0[] = {0}; +static const unsigned char kat1930_addin1[] = {0}; +static const unsigned char kat1930_retbits[] = { + 0x33, 0x57, 0x48, 0xe3, 0x90, 0xea, 0x7c, 0x23, 0x19, 0x3c, 0xdf, 0x67, + 0x2f, 0x31, 0x82, 0x65, 0x6b, 0x9e, 0x44, 0xe7, 0x3a, 0xff, 0x8f, 0x38, + 0x23, 0x9b, 0x06, 0x57, 0xd8, 0x25, 0x8c, 0x2b, 0x1d, 0x40, 0x45, 0x8a, + 0x0f, 0xe2, 0x01, 0x01, 0x0b, 0x36, 0xed, 0xe6, 0x22, 0x06, 0xce, 0x67, + 0xc1, 0x98, 0x32, 0x3b, 0x7c, 0xd1, 0xd8, 0x1b, 0x61, 0xaa, 0x25, 0xa0, + 0xf5, 0x21, 0x1e, 0x95, +}; +static const struct drbg_kat_pr_false kat1930_t = { + 9, kat1930_entropyin, kat1930_nonce, kat1930_persstr, + kat1930_entropyinreseed, kat1930_addinreseed, kat1930_addin0, + kat1930_addin1, kat1930_retbits +}; +static const struct drbg_kat kat1930 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1930_t +}; + +static const unsigned char kat1931_entropyin[] = { + 0xb9, 0xff, 0xca, 0x2a, 0x28, 0xb4, 0xb5, 0x35, 0xc2, 0xad, 0x53, 0x44, + 0x7a, 0x2b, 0x53, 0x7c, 0x5f, 0xd6, 0x73, 0xd2, 0xeb, 0x2a, 0x6e, 0x98, + 0x0e, 0x84, 0x34, 0xec, 0x7b, 0xec, 0x21, 0xa2, +}; +static const unsigned char kat1931_nonce[] = { + 0xd2, 0x3a, 0x37, 0x64, 0x51, 0xfc, 0x7e, 0x0a, 0x6a, 0x0d, 0x20, 0x15, + 0x97, 0x04, 0xe9, 0xfe, +}; +static const unsigned char kat1931_persstr[] = {0}; +static const unsigned char kat1931_entropyinreseed[] = { + 0x27, 0xde, 0x4e, 0x53, 0xba, 0x25, 0xe7, 0x4e, 0x08, 0xa9, 0x8d, 0xc2, + 0xb9, 0x6d, 0xf4, 0x39, 0xff, 0xfa, 0x0c, 0xf2, 0x11, 0xa5, 0x22, 0xc0, + 0xa9, 0x2e, 0xf1, 0xb6, 0x08, 0x30, 0xc3, 0x08, +}; +static const unsigned char kat1931_addinreseed[] = {0}; +static const unsigned char kat1931_addin0[] = {0}; +static const unsigned char kat1931_addin1[] = {0}; +static const unsigned char kat1931_retbits[] = { + 0xeb, 0xb3, 0x00, 0x30, 0x3b, 0xf8, 0xbc, 0xb9, 0x77, 0x1a, 0x2f, 0xbc, + 0x75, 0x53, 0x59, 0xcc, 0x8a, 0x8d, 0xe2, 0xd8, 0x24, 0x5b, 0xf4, 0xac, + 0xb2, 0xb5, 0x16, 0xe2, 0xa8, 0xbc, 0x71, 0x91, 0xea, 0x47, 0x7d, 0xd8, + 0x4a, 0x4c, 0x5a, 0x19, 0xc2, 0xc4, 0xcd, 0x09, 0xb8, 0x23, 0x3d, 0x58, + 0x01, 0x5e, 0x4f, 0xe9, 0xc0, 0xf0, 0xc6, 0x01, 0x76, 0x8d, 0xe0, 0xaf, + 0x3f, 0x16, 0x36, 0xac, +}; +static const struct drbg_kat_pr_false kat1931_t = { + 10, kat1931_entropyin, kat1931_nonce, kat1931_persstr, + kat1931_entropyinreseed, kat1931_addinreseed, kat1931_addin0, + kat1931_addin1, kat1931_retbits +}; +static const struct drbg_kat kat1931 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1931_t +}; + +static const unsigned char kat1932_entropyin[] = { + 0x4c, 0xe2, 0x4a, 0x78, 0x79, 0x55, 0x07, 0xa5, 0x37, 0xb3, 0x2c, 0x12, + 0x7d, 0x94, 0x9c, 0x7d, 0xf9, 0x03, 0x22, 0xa8, 0xd5, 0x03, 0x8e, 0x25, + 0x9d, 0x4c, 0xad, 0x7d, 0x21, 0x88, 0x9e, 0x09, +}; +static const unsigned char kat1932_nonce[] = { + 0x1e, 0xc7, 0x84, 0x86, 0x91, 0xce, 0x55, 0x18, 0x76, 0x02, 0x8d, 0x24, + 0xc4, 0xd9, 0x74, 0xe0, +}; +static const unsigned char kat1932_persstr[] = {0}; +static const unsigned char kat1932_entropyinreseed[] = { + 0x40, 0x42, 0x58, 0x4f, 0x1c, 0x00, 0x00, 0x59, 0xc2, 0xa1, 0xd7, 0x3c, + 0x60, 0x28, 0x56, 0x7b, 0x12, 0xd5, 0xef, 0x2a, 0xda, 0xc3, 0x75, 0x4f, + 0x32, 0xf4, 0x1a, 0x61, 0xea, 0x65, 0xfe, 0x06, +}; +static const unsigned char kat1932_addinreseed[] = {0}; +static const unsigned char kat1932_addin0[] = {0}; +static const unsigned char kat1932_addin1[] = {0}; +static const unsigned char kat1932_retbits[] = { + 0xb5, 0xcb, 0xd3, 0xad, 0x01, 0xd2, 0x16, 0xeb, 0x48, 0x73, 0xae, 0x66, + 0x24, 0x4c, 0xc6, 0x13, 0x7f, 0xa7, 0xb4, 0x6c, 0xfe, 0xa2, 0xdd, 0x60, + 0x3b, 0x4e, 0xb7, 0xe2, 0xca, 0x0a, 0x92, 0xcf, 0xff, 0x78, 0xc4, 0x69, + 0xc4, 0x08, 0x8c, 0x62, 0x3d, 0xc2, 0x72, 0x2b, 0x18, 0x7f, 0xb8, 0x78, + 0x3b, 0x4e, 0xc1, 0x0d, 0x0c, 0x93, 0x03, 0x7d, 0xc2, 0x13, 0xd4, 0x14, + 0xd9, 0x36, 0xcc, 0xcc, +}; +static const struct drbg_kat_pr_false kat1932_t = { + 11, kat1932_entropyin, kat1932_nonce, kat1932_persstr, + kat1932_entropyinreseed, kat1932_addinreseed, kat1932_addin0, + kat1932_addin1, kat1932_retbits +}; +static const struct drbg_kat kat1932 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1932_t +}; + +static const unsigned char kat1933_entropyin[] = { + 0xce, 0x8d, 0xaf, 0xdd, 0xf0, 0x8f, 0x03, 0x21, 0xb0, 0xf0, 0x7a, 0x82, + 0x52, 0x82, 0xb4, 0x53, 0x40, 0x11, 0x78, 0x6f, 0x04, 0x28, 0x86, 0x78, + 0xcb, 0xd9, 0xf3, 0x40, 0x75, 0x2a, 0x9a, 0xc6, +}; +static const unsigned char kat1933_nonce[] = { + 0xd9, 0x2a, 0xe0, 0x2e, 0x9b, 0x54, 0x0b, 0x68, 0x12, 0x84, 0x19, 0xbb, + 0x62, 0x8b, 0x90, 0x74, +}; +static const unsigned char kat1933_persstr[] = {0}; +static const unsigned char kat1933_entropyinreseed[] = { + 0xee, 0xd6, 0x94, 0x79, 0x73, 0x73, 0x5b, 0x05, 0xdd, 0x54, 0x68, 0xa6, + 0x62, 0x80, 0x21, 0x51, 0xb3, 0x0f, 0xbd, 0xe6, 0xc9, 0x56, 0xc8, 0xf0, + 0x68, 0x54, 0x6c, 0x94, 0x62, 0xce, 0xa7, 0x87, +}; +static const unsigned char kat1933_addinreseed[] = {0}; +static const unsigned char kat1933_addin0[] = {0}; +static const unsigned char kat1933_addin1[] = {0}; +static const unsigned char kat1933_retbits[] = { + 0x49, 0x6f, 0x69, 0xfa, 0x85, 0x65, 0x55, 0x8b, 0xfd, 0xe8, 0xb6, 0x7e, + 0x99, 0x0d, 0x5f, 0x44, 0x6a, 0x7c, 0xd6, 0x68, 0xba, 0x0a, 0xa1, 0x0d, + 0x1e, 0xb1, 0x71, 0x0e, 0xf6, 0x47, 0x98, 0xd7, 0xd8, 0xc7, 0xe0, 0x8d, + 0xb6, 0x54, 0x40, 0x9e, 0x4c, 0x62, 0x6c, 0x05, 0x03, 0xf3, 0x77, 0x9f, + 0x14, 0xa9, 0xb2, 0xbe, 0x22, 0x90, 0x5f, 0xbf, 0x0c, 0x49, 0xc3, 0x05, + 0x70, 0x02, 0x49, 0x53, +}; +static const struct drbg_kat_pr_false kat1933_t = { + 12, kat1933_entropyin, kat1933_nonce, kat1933_persstr, + kat1933_entropyinreseed, kat1933_addinreseed, kat1933_addin0, + kat1933_addin1, kat1933_retbits +}; +static const struct drbg_kat kat1933 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1933_t +}; + +static const unsigned char kat1934_entropyin[] = { + 0xf3, 0xab, 0x51, 0x25, 0xec, 0x2d, 0xbb, 0x3d, 0xd9, 0x8e, 0x4f, 0x02, + 0x53, 0xaf, 0x3c, 0xd2, 0x3a, 0x85, 0xf4, 0xf0, 0xcb, 0x01, 0xc7, 0x45, + 0xf4, 0x21, 0x03, 0x2b, 0x4f, 0x0c, 0x86, 0x33, +}; +static const unsigned char kat1934_nonce[] = { + 0x85, 0x20, 0x43, 0x76, 0xc7, 0x7c, 0xa3, 0xa9, 0x9a, 0x66, 0x21, 0x35, + 0x49, 0x91, 0xf0, 0x5a, +}; +static const unsigned char kat1934_persstr[] = {0}; +static const unsigned char kat1934_entropyinreseed[] = { + 0x69, 0x16, 0x7e, 0x80, 0x47, 0x83, 0x89, 0xce, 0x33, 0x42, 0x65, 0x02, + 0xa6, 0xf7, 0xdd, 0x96, 0xd3, 0x1e, 0x2c, 0xf7, 0x86, 0x4b, 0xc8, 0xe0, + 0x8c, 0xaf, 0x41, 0xa0, 0xbc, 0xb6, 0xe7, 0x74, +}; +static const unsigned char kat1934_addinreseed[] = {0}; +static const unsigned char kat1934_addin0[] = {0}; +static const unsigned char kat1934_addin1[] = {0}; +static const unsigned char kat1934_retbits[] = { + 0xe6, 0xad, 0xcd, 0x35, 0x29, 0xaf, 0xd0, 0x55, 0x7c, 0x19, 0x51, 0xb6, + 0x32, 0x56, 0xc6, 0xb7, 0xb4, 0x23, 0xb1, 0x27, 0x10, 0xb5, 0xf4, 0xf8, + 0x77, 0x15, 0xa8, 0xff, 0x21, 0x56, 0xc0, 0x7c, 0xbe, 0xa5, 0x3f, 0x29, + 0xa6, 0x7c, 0x60, 0xb0, 0x10, 0xdc, 0x4c, 0x45, 0x75, 0x04, 0xdd, 0x8a, + 0xe4, 0xae, 0x3f, 0x92, 0xda, 0xb3, 0xc2, 0xc4, 0x63, 0x10, 0xf4, 0x61, + 0x62, 0x90, 0xca, 0xb0, +}; +static const struct drbg_kat_pr_false kat1934_t = { + 13, kat1934_entropyin, kat1934_nonce, kat1934_persstr, + kat1934_entropyinreseed, kat1934_addinreseed, kat1934_addin0, + kat1934_addin1, kat1934_retbits +}; +static const struct drbg_kat kat1934 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1934_t +}; + +static const unsigned char kat1935_entropyin[] = { + 0x67, 0xde, 0x0f, 0x88, 0xbd, 0x02, 0x17, 0x93, 0x81, 0xc0, 0x3b, 0xe6, + 0x29, 0x5a, 0xdb, 0xa3, 0xc1, 0x02, 0xf5, 0xee, 0x74, 0xf8, 0x5a, 0x96, + 0xee, 0xbe, 0xad, 0x92, 0x5d, 0x0e, 0x80, 0xe0, +}; +static const unsigned char kat1935_nonce[] = { + 0x9e, 0xc1, 0xef, 0x1f, 0xe9, 0xee, 0x30, 0x8e, 0xa9, 0xc4, 0xd2, 0x44, + 0x7b, 0x9e, 0xab, 0xea, +}; +static const unsigned char kat1935_persstr[] = {0}; +static const unsigned char kat1935_entropyinreseed[] = { + 0x12, 0x51, 0x33, 0x1a, 0x10, 0xf9, 0xfb, 0xe9, 0x38, 0x48, 0x58, 0x58, + 0x35, 0x24, 0x70, 0xc5, 0x8c, 0x47, 0x29, 0xa9, 0xd9, 0xc4, 0x7c, 0x64, + 0x5d, 0x06, 0x26, 0x15, 0x2d, 0xdb, 0x21, 0x21, +}; +static const unsigned char kat1935_addinreseed[] = {0}; +static const unsigned char kat1935_addin0[] = {0}; +static const unsigned char kat1935_addin1[] = {0}; +static const unsigned char kat1935_retbits[] = { + 0xd6, 0x69, 0xb7, 0xd6, 0xdc, 0x83, 0xb1, 0x6e, 0x2f, 0x81, 0x91, 0xd2, + 0x16, 0xab, 0x0b, 0xe3, 0x52, 0x39, 0x81, 0xb4, 0xcc, 0xa4, 0x02, 0x0d, + 0x58, 0x9f, 0x4d, 0x79, 0xb8, 0x92, 0x68, 0x38, 0x33, 0x4f, 0xbb, 0x7e, + 0xf4, 0x82, 0x65, 0xda, 0xa1, 0x09, 0x1e, 0xf2, 0x85, 0xfe, 0xc2, 0x78, + 0x6c, 0x81, 0xe7, 0x1b, 0xe4, 0x39, 0x2c, 0x82, 0x44, 0xe4, 0x36, 0x59, + 0x8d, 0x0a, 0xf3, 0x91, +}; +static const struct drbg_kat_pr_false kat1935_t = { + 14, kat1935_entropyin, kat1935_nonce, kat1935_persstr, + kat1935_entropyinreseed, kat1935_addinreseed, kat1935_addin0, + kat1935_addin1, kat1935_retbits +}; +static const struct drbg_kat kat1935 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1935_t +}; + +static const unsigned char kat1936_entropyin[] = { + 0x6f, 0x60, 0xf0, 0xf9, 0xd4, 0x86, 0xbc, 0x23, 0xe1, 0x22, 0x3b, 0x93, + 0x4e, 0x61, 0xc0, 0xc7, 0x8a, 0xe9, 0x23, 0x2f, 0xa2, 0xe9, 0xa8, 0x7c, + 0x6d, 0xac, 0xd4, 0x47, 0xc3, 0xf1, 0x0e, 0x9e, +}; +static const unsigned char kat1936_nonce[] = { + 0x40, 0x1e, 0x3f, 0x87, 0x76, 0x2f, 0xa8, 0xa1, 0x4a, 0xb2, 0x32, 0xcc, + 0xb8, 0x48, 0x0a, 0x2f, +}; +static const unsigned char kat1936_persstr[] = {0}; +static const unsigned char kat1936_entropyinreseed[] = { + 0x35, 0x0b, 0xe5, 0x25, 0x52, 0xa6, 0x5a, 0x80, 0x4a, 0x10, 0x65, 0x43, + 0xeb, 0xb7, 0xdd, 0x04, 0x6c, 0xff, 0xae, 0x10, 0x4e, 0x4e, 0x8b, 0x2f, + 0x18, 0x93, 0x6d, 0x56, 0x4d, 0x3c, 0x19, 0x50, +}; +static const unsigned char kat1936_addinreseed[] = { + 0x7a, 0x36, 0x88, 0xad, 0xb1, 0xcf, 0xb6, 0xc0, 0x32, 0x64, 0xe2, 0x76, + 0x2e, 0xce, 0x96, 0xbf, 0xe4, 0xda, 0xf9, 0x55, 0x8f, 0xab, 0xf7, 0x4d, + 0x7f, 0xff, 0x20, 0x3c, 0x08, 0xb4, 0xdd, 0x9f, +}; +static const unsigned char kat1936_addin0[] = { + 0x67, 0xcf, 0x4a, 0x56, 0xd0, 0x81, 0xc5, 0x36, 0x70, 0xf2, 0x57, 0xc2, + 0x55, 0x57, 0x01, 0x4c, 0xd5, 0xe8, 0xb0, 0xe9, 0x19, 0xaa, 0x58, 0xf2, + 0x3d, 0x68, 0x61, 0xb1, 0x0b, 0x00, 0xea, 0x80, +}; +static const unsigned char kat1936_addin1[] = { + 0x64, 0x8d, 0x4a, 0x22, 0x91, 0x98, 0xb4, 0x3f, 0x33, 0xdd, 0x7d, 0xd8, + 0x42, 0x66, 0x50, 0xbe, 0x11, 0xc5, 0x65, 0x6a, 0xdc, 0xdf, 0x91, 0x3b, + 0xb3, 0xee, 0x5e, 0xb4, 0x9a, 0x2a, 0x38, 0x92, +}; +static const unsigned char kat1936_retbits[] = { + 0x2d, 0x81, 0x9f, 0xb9, 0xfe, 0xe3, 0x8b, 0xfc, 0x3f, 0x15, 0xa0, 0x7e, + 0xf0, 0xe1, 0x83, 0xff, 0x36, 0xdb, 0x5d, 0x31, 0x84, 0xce, 0xa1, 0xd2, + 0x4e, 0x79, 0x6b, 0xa1, 0x03, 0x68, 0x74, 0x15, 0xab, 0xe6, 0xd9, 0xf2, + 0xc5, 0x9a, 0x11, 0x93, 0x14, 0x39, 0xa3, 0xd1, 0x4f, 0x45, 0xfc, 0x3f, + 0x43, 0x45, 0xf3, 0x31, 0xa0, 0x67, 0x5a, 0x34, 0x77, 0xea, 0xf7, 0xcd, + 0x89, 0x10, 0x7e, 0x37, +}; +static const struct drbg_kat_pr_false kat1936_t = { + 0, kat1936_entropyin, kat1936_nonce, kat1936_persstr, + kat1936_entropyinreseed, kat1936_addinreseed, kat1936_addin0, + kat1936_addin1, kat1936_retbits +}; +static const struct drbg_kat kat1936 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1936_t +}; + +static const unsigned char kat1937_entropyin[] = { + 0xfc, 0xe3, 0x1f, 0xf0, 0xd8, 0x4b, 0x13, 0x49, 0x59, 0xc8, 0xa3, 0x63, + 0x16, 0x68, 0xdd, 0x81, 0x26, 0xeb, 0x2f, 0xf9, 0xf4, 0x0a, 0x0d, 0x1d, + 0x74, 0xa3, 0x71, 0xb1, 0xd2, 0xbc, 0x52, 0x3e, +}; +static const unsigned char kat1937_nonce[] = { + 0x2e, 0x18, 0x41, 0x9b, 0x16, 0xaa, 0x23, 0xd2, 0x23, 0x0e, 0xf8, 0x78, + 0x37, 0x19, 0x81, 0xb9, +}; +static const unsigned char kat1937_persstr[] = {0}; +static const unsigned char kat1937_entropyinreseed[] = { + 0x75, 0xfe, 0x1b, 0x33, 0xea, 0x93, 0x0b, 0x25, 0x73, 0xc4, 0x91, 0xfa, + 0x89, 0x2c, 0x15, 0xe0, 0x99, 0x11, 0xe3, 0x47, 0x9e, 0x12, 0x7c, 0xd6, + 0xf8, 0x6e, 0xcb, 0x89, 0x56, 0x8e, 0x6d, 0xdd, +}; +static const unsigned char kat1937_addinreseed[] = { + 0xae, 0x15, 0x52, 0x90, 0x6d, 0x13, 0xa3, 0x4f, 0xad, 0xd1, 0xe3, 0xda, + 0xcc, 0xc1, 0xe9, 0x07, 0x5d, 0xae, 0x64, 0xbf, 0xe8, 0x0d, 0xcb, 0xf6, + 0x92, 0x1c, 0x96, 0xdf, 0x88, 0x97, 0x92, 0x9c, +}; +static const unsigned char kat1937_addin0[] = { + 0xc9, 0xbd, 0xdd, 0x01, 0x23, 0x7a, 0x8c, 0x46, 0x10, 0xc6, 0x16, 0x22, + 0xec, 0x28, 0xa8, 0x0b, 0x81, 0x1c, 0x28, 0x8c, 0x2d, 0xbf, 0xba, 0xb4, + 0x96, 0xb4, 0x9a, 0xc1, 0x5e, 0x2e, 0x54, 0x0f, +}; +static const unsigned char kat1937_addin1[] = { + 0x89, 0x9f, 0xd8, 0xd3, 0x62, 0x15, 0xcb, 0x4e, 0xcb, 0xa7, 0xdf, 0x33, + 0x37, 0xce, 0x50, 0x60, 0xfe, 0xfd, 0x63, 0xfb, 0x7d, 0x63, 0x81, 0xcd, + 0x0d, 0xb7, 0xfb, 0x9a, 0xd4, 0x92, 0x93, 0xcd, +}; +static const unsigned char kat1937_retbits[] = { + 0x88, 0xfb, 0x20, 0xe4, 0x7e, 0xe6, 0x38, 0x65, 0xfa, 0x9e, 0xe1, 0x9a, + 0x7d, 0x4f, 0x8c, 0x1b, 0x48, 0x94, 0x8a, 0xf1, 0x76, 0xb5, 0x78, 0x3a, + 0x28, 0x54, 0x1e, 0xba, 0x3a, 0xc6, 0x7c, 0x58, 0xb9, 0x33, 0xb5, 0x93, + 0x7e, 0x48, 0x6e, 0x1f, 0xc1, 0x82, 0x7e, 0x27, 0xe3, 0x6b, 0xd8, 0xf8, + 0x6f, 0x22, 0xad, 0xae, 0xd7, 0x94, 0xcc, 0x57, 0x1c, 0xf6, 0x25, 0x44, + 0x2f, 0x82, 0xa8, 0x9b, +}; +static const struct drbg_kat_pr_false kat1937_t = { + 1, kat1937_entropyin, kat1937_nonce, kat1937_persstr, + kat1937_entropyinreseed, kat1937_addinreseed, kat1937_addin0, + kat1937_addin1, kat1937_retbits +}; +static const struct drbg_kat kat1937 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1937_t +}; + +static const unsigned char kat1938_entropyin[] = { + 0x94, 0x4d, 0xf3, 0x4c, 0xa4, 0x9c, 0xad, 0xbe, 0x78, 0xd5, 0x07, 0xad, + 0x48, 0xdd, 0xea, 0xd9, 0x03, 0xa4, 0x3f, 0x6c, 0x2b, 0x7f, 0xd7, 0xf7, + 0x69, 0x80, 0x75, 0x44, 0x58, 0xef, 0x91, 0x21, +}; +static const unsigned char kat1938_nonce[] = { + 0x55, 0xc0, 0x2c, 0x46, 0x1b, 0xe3, 0x8a, 0xc2, 0x91, 0x9f, 0x96, 0xf3, + 0x11, 0x42, 0xec, 0x61, +}; +static const unsigned char kat1938_persstr[] = {0}; +static const unsigned char kat1938_entropyinreseed[] = { + 0x68, 0x9a, 0x4f, 0x4d, 0x06, 0xe2, 0x49, 0xdb, 0x86, 0x23, 0x99, 0xe5, + 0x8a, 0xf5, 0x10, 0xd8, 0x09, 0x67, 0xfa, 0x7c, 0x07, 0xbf, 0x1b, 0xce, + 0x0d, 0xbc, 0x78, 0x63, 0x06, 0x27, 0x3b, 0x57, +}; +static const unsigned char kat1938_addinreseed[] = { + 0x90, 0xca, 0xdd, 0xd0, 0xc9, 0x7f, 0xea, 0x34, 0xed, 0x6d, 0xd9, 0x67, + 0x67, 0x71, 0xc9, 0x18, 0x05, 0x3d, 0x88, 0xb1, 0x80, 0x9d, 0x56, 0x34, + 0xd5, 0xc5, 0xcb, 0x89, 0x35, 0xb4, 0x07, 0x5e, +}; +static const unsigned char kat1938_addin0[] = { + 0xa4, 0xf0, 0x5f, 0xdb, 0x44, 0x8d, 0x8c, 0x2a, 0xb7, 0xe4, 0xc1, 0x65, + 0xa3, 0x15, 0x35, 0x10, 0x86, 0xae, 0xb1, 0x94, 0x83, 0x38, 0x08, 0xb2, + 0x0e, 0xaf, 0xfd, 0x55, 0xd1, 0x19, 0xa2, 0xd2, +}; +static const unsigned char kat1938_addin1[] = { + 0xb1, 0x83, 0x55, 0xc7, 0x5f, 0x0d, 0xd4, 0x09, 0x20, 0xa0, 0x4d, 0xdc, + 0x22, 0x91, 0x40, 0xab, 0xe2, 0x21, 0x81, 0xd1, 0x2c, 0x86, 0x61, 0x94, + 0x81, 0x53, 0xe9, 0xc6, 0x92, 0x81, 0xda, 0x58, +}; +static const unsigned char kat1938_retbits[] = { + 0x3d, 0x7e, 0xa8, 0x04, 0x6f, 0x78, 0x49, 0x3c, 0xa7, 0x76, 0x53, 0x77, + 0x55, 0x45, 0x1e, 0x5e, 0x7f, 0x06, 0x3f, 0xcb, 0x4d, 0x53, 0xf6, 0xa6, + 0x22, 0x76, 0x40, 0x48, 0xc2, 0x5b, 0xc4, 0x8f, 0x05, 0xc3, 0x9f, 0x8c, + 0x8d, 0x79, 0x33, 0x8c, 0xf9, 0x3e, 0xad, 0x21, 0xb4, 0x55, 0xcf, 0xa5, + 0x9c, 0x9b, 0x1b, 0xdd, 0x81, 0xee, 0xa2, 0x3d, 0x75, 0xcf, 0xd6, 0x3c, + 0xa1, 0xfd, 0xa9, 0xbf, +}; +static const struct drbg_kat_pr_false kat1938_t = { + 2, kat1938_entropyin, kat1938_nonce, kat1938_persstr, + kat1938_entropyinreseed, kat1938_addinreseed, kat1938_addin0, + kat1938_addin1, kat1938_retbits +}; +static const struct drbg_kat kat1938 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1938_t +}; + +static const unsigned char kat1939_entropyin[] = { + 0x3b, 0xb3, 0xb5, 0x11, 0x2e, 0x2f, 0xa8, 0xc3, 0x7b, 0x22, 0xe4, 0x99, + 0xad, 0x91, 0x0d, 0x2a, 0x7c, 0xfe, 0xce, 0x4e, 0xc1, 0x14, 0xad, 0xa1, + 0xe5, 0x2e, 0xe5, 0x45, 0xbe, 0x0c, 0xe0, 0xbb, +}; +static const unsigned char kat1939_nonce[] = { + 0x54, 0xb5, 0xd6, 0x43, 0x1b, 0x84, 0xaa, 0x20, 0x7b, 0x55, 0x0a, 0xcd, + 0xba, 0xf4, 0xe0, 0xf1, +}; +static const unsigned char kat1939_persstr[] = {0}; +static const unsigned char kat1939_entropyinreseed[] = { + 0x0d, 0xa0, 0x82, 0xed, 0xb7, 0xd7, 0xee, 0x03, 0x49, 0xc9, 0x0e, 0xd3, + 0xf4, 0xd4, 0xcd, 0x59, 0x75, 0xfa, 0x38, 0xa1, 0xe7, 0x95, 0xdb, 0xef, + 0x9a, 0x92, 0xaf, 0x71, 0x11, 0x8c, 0xc8, 0x67, +}; +static const unsigned char kat1939_addinreseed[] = { + 0x44, 0x96, 0xe5, 0x79, 0xc0, 0x86, 0xe6, 0x59, 0x0a, 0xe5, 0xe0, 0x86, + 0x33, 0x1f, 0xc5, 0xb8, 0xd6, 0x85, 0x4f, 0xeb, 0x94, 0xb6, 0x49, 0xbb, + 0xf8, 0xe2, 0x12, 0xdd, 0xf1, 0xcf, 0xc5, 0x27, +}; +static const unsigned char kat1939_addin0[] = { + 0x58, 0x52, 0x2d, 0x81, 0x22, 0x41, 0x56, 0x3f, 0xc1, 0x67, 0x96, 0xd7, + 0x93, 0x58, 0x6b, 0x1f, 0x7f, 0xdc, 0xbc, 0xbe, 0x2d, 0x80, 0x78, 0x65, + 0xdf, 0x4a, 0x20, 0xe9, 0xf5, 0x04, 0x30, 0xea, +}; +static const unsigned char kat1939_addin1[] = { + 0x84, 0x8a, 0x24, 0xb8, 0x45, 0x2f, 0xd6, 0x79, 0x23, 0x78, 0xdf, 0x38, + 0x22, 0x17, 0xbf, 0x72, 0x39, 0x2e, 0x94, 0x35, 0x37, 0x5d, 0x27, 0xb3, + 0xe7, 0x0e, 0x88, 0xc7, 0x9c, 0x90, 0x50, 0xc9, +}; +static const unsigned char kat1939_retbits[] = { + 0x3c, 0x64, 0x4f, 0xdd, 0x07, 0x64, 0x25, 0x0c, 0x7d, 0xc7, 0xe8, 0xf0, + 0x2d, 0x55, 0x9b, 0xbc, 0xbe, 0xf8, 0xe7, 0xf5, 0x39, 0x16, 0x26, 0xd5, + 0x63, 0x05, 0x4e, 0x6c, 0x0c, 0xdc, 0x11, 0x40, 0x8c, 0xca, 0x6d, 0xbc, + 0x06, 0xe5, 0x73, 0xe6, 0xd5, 0x71, 0x9e, 0xa7, 0x7a, 0x19, 0x91, 0x3a, + 0xe1, 0x27, 0x53, 0xc2, 0x8f, 0xfc, 0xe8, 0x72, 0xb1, 0x3f, 0x48, 0x43, + 0x77, 0xe2, 0x33, 0x9c, +}; +static const struct drbg_kat_pr_false kat1939_t = { + 3, kat1939_entropyin, kat1939_nonce, kat1939_persstr, + kat1939_entropyinreseed, kat1939_addinreseed, kat1939_addin0, + kat1939_addin1, kat1939_retbits +}; +static const struct drbg_kat kat1939 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1939_t +}; + +static const unsigned char kat1940_entropyin[] = { + 0x1d, 0x60, 0x2a, 0xec, 0x16, 0x01, 0xe2, 0xff, 0x65, 0xf1, 0x66, 0x28, + 0xbd, 0xde, 0xac, 0x66, 0x97, 0x71, 0x3d, 0x2f, 0x5d, 0x43, 0x35, 0xc7, + 0x01, 0x35, 0x07, 0x88, 0x5b, 0x0d, 0x50, 0xc9, +}; +static const unsigned char kat1940_nonce[] = { + 0x03, 0xa5, 0xbc, 0xa1, 0xbf, 0xd3, 0x85, 0xac, 0x0e, 0x14, 0xf1, 0xdc, + 0x9d, 0xa4, 0x17, 0xbd, +}; +static const unsigned char kat1940_persstr[] = {0}; +static const unsigned char kat1940_entropyinreseed[] = { + 0x7c, 0x5e, 0xd5, 0x89, 0x8a, 0x5f, 0xf4, 0x9b, 0x36, 0xf7, 0xaa, 0x8d, + 0x38, 0x60, 0x0d, 0x33, 0x10, 0x90, 0x35, 0x75, 0x03, 0x84, 0xfa, 0xb2, + 0xbe, 0x26, 0xad, 0xc8, 0x59, 0x09, 0x40, 0x2d, +}; +static const unsigned char kat1940_addinreseed[] = { + 0x3f, 0x11, 0x64, 0xdf, 0x72, 0x65, 0xfd, 0x56, 0xe7, 0x01, 0xd5, 0x1e, + 0xf1, 0xfb, 0x39, 0x96, 0xd2, 0xcf, 0xc7, 0xc3, 0x55, 0x87, 0x36, 0x53, + 0xd1, 0x27, 0xb9, 0xe2, 0xdc, 0xcc, 0x1d, 0xa3, +}; +static const unsigned char kat1940_addin0[] = { + 0x02, 0xa7, 0xd6, 0x8d, 0x2e, 0x6f, 0x4d, 0xe2, 0xa3, 0x5c, 0x97, 0xe7, + 0xaa, 0xdf, 0x25, 0xa2, 0xf1, 0x4a, 0x9b, 0x40, 0x76, 0x94, 0x00, 0x50, + 0xff, 0xe6, 0x44, 0x82, 0xe6, 0x27, 0x18, 0xa7, +}; +static const unsigned char kat1940_addin1[] = { + 0x40, 0xb4, 0xff, 0x19, 0x60, 0x9f, 0x62, 0x66, 0xe4, 0x50, 0xe1, 0xcd, + 0xb1, 0x84, 0xf1, 0xaa, 0x0b, 0x55, 0x1a, 0x05, 0xb9, 0x12, 0xa1, 0x25, + 0x1b, 0x9c, 0xaf, 0x7e, 0xe1, 0x5a, 0x71, 0x84, +}; +static const unsigned char kat1940_retbits[] = { + 0x5b, 0xc4, 0xe4, 0xc0, 0x9a, 0x19, 0xd5, 0xf3, 0x94, 0xee, 0x60, 0x03, + 0x43, 0x78, 0x43, 0x97, 0x4d, 0xfe, 0x44, 0x30, 0x68, 0x4d, 0x39, 0x4d, + 0x6c, 0x7c, 0xc8, 0xeb, 0x4d, 0x7a, 0x72, 0x2c, 0x61, 0x57, 0x07, 0xd0, + 0xed, 0xe8, 0x8e, 0xf1, 0xfb, 0xba, 0x81, 0xe4, 0x5f, 0xdd, 0x93, 0xd2, + 0x09, 0x66, 0x32, 0xcf, 0x21, 0xb6, 0x30, 0xdd, 0x93, 0x3f, 0x52, 0xa0, + 0x52, 0xaa, 0x9b, 0xe4, +}; +static const struct drbg_kat_pr_false kat1940_t = { + 4, kat1940_entropyin, kat1940_nonce, kat1940_persstr, + kat1940_entropyinreseed, kat1940_addinreseed, kat1940_addin0, + kat1940_addin1, kat1940_retbits +}; +static const struct drbg_kat kat1940 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1940_t +}; + +static const unsigned char kat1941_entropyin[] = { + 0x57, 0x54, 0x8b, 0xee, 0x6b, 0x45, 0x3d, 0xa6, 0xb0, 0xe6, 0x50, 0xaa, + 0x04, 0x45, 0xdd, 0xfb, 0x13, 0x23, 0x8a, 0x3c, 0x64, 0x7c, 0x4f, 0x41, + 0x0e, 0xcc, 0x52, 0x27, 0x48, 0xd8, 0xa5, 0xe8, +}; +static const unsigned char kat1941_nonce[] = { + 0x01, 0x01, 0x9d, 0xaf, 0x8a, 0xa3, 0xbd, 0x72, 0x79, 0xd0, 0x95, 0x2b, + 0xc7, 0xa3, 0x0c, 0x1c, +}; +static const unsigned char kat1941_persstr[] = {0}; +static const unsigned char kat1941_entropyinreseed[] = { + 0x80, 0xbc, 0xb9, 0xb9, 0x50, 0x6c, 0x81, 0x17, 0xe8, 0x4c, 0xd8, 0xae, + 0x22, 0xc4, 0xd9, 0x07, 0x0a, 0x95, 0x0e, 0x04, 0x9b, 0x59, 0x7f, 0xf4, + 0x82, 0xc6, 0xf9, 0x08, 0x09, 0xf4, 0xff, 0x22, +}; +static const unsigned char kat1941_addinreseed[] = { + 0x17, 0x4a, 0x42, 0xc2, 0x48, 0xdd, 0x17, 0x6e, 0x65, 0xd9, 0x37, 0x48, + 0x70, 0xbd, 0x78, 0xcc, 0xcf, 0x3f, 0x3b, 0x1b, 0x5c, 0xa2, 0x22, 0xb0, + 0xfa, 0x3c, 0xb1, 0x28, 0x24, 0x27, 0x23, 0xb3, +}; +static const unsigned char kat1941_addin0[] = { + 0x86, 0xd8, 0x85, 0xe9, 0x24, 0x64, 0x6e, 0xad, 0xe6, 0xa2, 0xd9, 0x0a, + 0xf3, 0x18, 0x5f, 0x11, 0x77, 0x6c, 0x40, 0x90, 0x01, 0xf1, 0x9b, 0x04, + 0x28, 0x3e, 0xa6, 0xf2, 0x1a, 0x25, 0xff, 0x9f, +}; +static const unsigned char kat1941_addin1[] = { + 0x22, 0xd9, 0x05, 0x81, 0xa8, 0x55, 0x0f, 0x0f, 0x3c, 0xb2, 0x96, 0x6b, + 0xf1, 0x8c, 0x04, 0x67, 0x10, 0x79, 0x7d, 0x56, 0x54, 0x90, 0x46, 0x52, + 0xac, 0xa2, 0x7d, 0x1c, 0x73, 0xd7, 0x5f, 0xf0, +}; +static const unsigned char kat1941_retbits[] = { + 0x67, 0xc3, 0x26, 0x66, 0x3c, 0x12, 0x31, 0xa3, 0xf5, 0xd6, 0xbe, 0x94, + 0x22, 0x30, 0x0b, 0xfc, 0xa1, 0x64, 0x1c, 0x3a, 0x3d, 0xdd, 0x1b, 0x07, + 0xb8, 0x51, 0x91, 0xca, 0xa1, 0x34, 0xaf, 0x4c, 0xfd, 0x61, 0xe4, 0x7b, + 0x73, 0x20, 0x44, 0xfc, 0xca, 0x0d, 0x45, 0xfc, 0x63, 0x23, 0x77, 0x16, + 0x85, 0x74, 0x63, 0x9b, 0x68, 0x4d, 0x3d, 0x58, 0x75, 0x1b, 0xc3, 0x02, + 0xbb, 0x20, 0x37, 0xd2, +}; +static const struct drbg_kat_pr_false kat1941_t = { + 5, kat1941_entropyin, kat1941_nonce, kat1941_persstr, + kat1941_entropyinreseed, kat1941_addinreseed, kat1941_addin0, + kat1941_addin1, kat1941_retbits +}; +static const struct drbg_kat kat1941 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1941_t +}; + +static const unsigned char kat1942_entropyin[] = { + 0x48, 0x8f, 0x11, 0xf5, 0x21, 0x5e, 0x5a, 0x3d, 0x2d, 0xd3, 0xa6, 0xb8, + 0x99, 0x62, 0x42, 0xdf, 0x86, 0x63, 0x8a, 0x9c, 0x20, 0xd8, 0x0b, 0xd9, + 0x4f, 0xc1, 0xf6, 0xda, 0x1d, 0x9a, 0x65, 0x50, +}; +static const unsigned char kat1942_nonce[] = { + 0xc0, 0xf3, 0x31, 0xd0, 0x22, 0xe8, 0x0f, 0xa2, 0x1a, 0xe0, 0xee, 0x81, + 0x59, 0x37, 0xd2, 0xaa, +}; +static const unsigned char kat1942_persstr[] = {0}; +static const unsigned char kat1942_entropyinreseed[] = { + 0xc7, 0x32, 0x6a, 0x10, 0x4c, 0x33, 0xcc, 0xdc, 0x06, 0xf6, 0x13, 0x93, + 0x55, 0x46, 0x8a, 0xff, 0x1f, 0xb5, 0x43, 0xe3, 0xe9, 0x67, 0x5e, 0x1d, + 0xc2, 0xc7, 0xae, 0x0b, 0x42, 0xce, 0x4a, 0xb7, +}; +static const unsigned char kat1942_addinreseed[] = { + 0xbf, 0x61, 0xd5, 0x69, 0x46, 0x81, 0x10, 0x8d, 0x73, 0x5d, 0x4d, 0x15, + 0xf0, 0xae, 0x34, 0x58, 0x82, 0x38, 0xf9, 0x46, 0xb3, 0x3f, 0xf3, 0xfc, + 0x14, 0x0d, 0xa2, 0x67, 0x59, 0xbc, 0x03, 0xdd, +}; +static const unsigned char kat1942_addin0[] = { + 0x5c, 0xa2, 0x47, 0xc6, 0x81, 0xb0, 0x00, 0x8a, 0x4d, 0x4c, 0x2a, 0xa0, + 0xc0, 0xf5, 0x82, 0xc5, 0x19, 0xe1, 0xb5, 0x13, 0x49, 0x43, 0x05, 0xae, + 0xb1, 0x26, 0x5b, 0xe9, 0x4c, 0xde, 0x3f, 0x5e, +}; +static const unsigned char kat1942_addin1[] = { + 0xeb, 0x5f, 0x56, 0x78, 0x83, 0xec, 0xe6, 0xef, 0xc4, 0x23, 0x4f, 0x8e, + 0xf3, 0x5c, 0x26, 0xc4, 0x5b, 0x56, 0x90, 0x9b, 0x96, 0xe4, 0x7f, 0xd2, + 0x1f, 0xc6, 0x1e, 0xd5, 0x6e, 0xbb, 0xb3, 0xcd, +}; +static const unsigned char kat1942_retbits[] = { + 0xa6, 0xe6, 0xc9, 0x98, 0x9b, 0xe3, 0xe1, 0x9b, 0x08, 0xb2, 0xa2, 0x3a, + 0x25, 0xc1, 0x5f, 0xac, 0xe6, 0x1a, 0xea, 0x67, 0x1a, 0x19, 0x04, 0xbb, + 0x76, 0x14, 0xbc, 0x2f, 0xc5, 0x12, 0x91, 0xd1, 0x01, 0xb7, 0x37, 0xeb, + 0x32, 0x87, 0xf7, 0xb0, 0xe6, 0x86, 0xd6, 0xe8, 0xb3, 0x80, 0x99, 0x85, + 0x3c, 0xd8, 0xc2, 0x0e, 0xbc, 0xd8, 0x2b, 0x1b, 0xe6, 0x73, 0x56, 0x91, + 0x1c, 0x62, 0xd8, 0x94, +}; +static const struct drbg_kat_pr_false kat1942_t = { + 6, kat1942_entropyin, kat1942_nonce, kat1942_persstr, + kat1942_entropyinreseed, kat1942_addinreseed, kat1942_addin0, + kat1942_addin1, kat1942_retbits +}; +static const struct drbg_kat kat1942 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1942_t +}; + +static const unsigned char kat1943_entropyin[] = { + 0x3b, 0x12, 0x66, 0xf1, 0xaf, 0xc0, 0x7a, 0x3c, 0xb2, 0x12, 0xa7, 0x79, + 0xf3, 0x29, 0x76, 0xe3, 0x33, 0x4a, 0x34, 0x32, 0xce, 0xec, 0x46, 0xb9, + 0xd9, 0xd0, 0xf0, 0xf7, 0xb1, 0xad, 0x5b, 0x1a, +}; +static const unsigned char kat1943_nonce[] = { + 0x87, 0xe0, 0xb3, 0xc2, 0x7c, 0xc5, 0x57, 0x3e, 0x6c, 0xec, 0x5e, 0x3b, + 0xdd, 0xda, 0x94, 0x3c, +}; +static const unsigned char kat1943_persstr[] = {0}; +static const unsigned char kat1943_entropyinreseed[] = { + 0x65, 0xcc, 0x6c, 0x45, 0x4a, 0x03, 0x41, 0xe1, 0x5f, 0xff, 0xb5, 0xb4, + 0x05, 0xc4, 0x0e, 0x77, 0x74, 0x98, 0x06, 0x54, 0xc6, 0x2b, 0x06, 0x01, + 0x2f, 0x60, 0xc2, 0xc3, 0xa7, 0x84, 0xb0, 0x29, +}; +static const unsigned char kat1943_addinreseed[] = { + 0x3c, 0xb7, 0x5a, 0x67, 0x62, 0xbe, 0x00, 0x8d, 0x71, 0xad, 0x48, 0x57, + 0x76, 0x72, 0xf2, 0xcc, 0xab, 0x0a, 0x3f, 0x68, 0x84, 0xe6, 0x61, 0xf4, + 0x27, 0x0e, 0xdf, 0x8e, 0xcd, 0x8f, 0xfa, 0x1e, +}; +static const unsigned char kat1943_addin0[] = { + 0x37, 0x91, 0xe5, 0x5d, 0xac, 0xf0, 0x27, 0xc8, 0x28, 0xe7, 0x6e, 0xab, + 0xe2, 0x5c, 0xca, 0xd3, 0x3b, 0x74, 0x27, 0x8d, 0xb8, 0x5f, 0xd2, 0x73, + 0x23, 0x2c, 0x73, 0x36, 0x23, 0x01, 0x7c, 0x8a, +}; +static const unsigned char kat1943_addin1[] = { + 0x01, 0xea, 0x3c, 0x8c, 0x66, 0x63, 0xde, 0xdc, 0xec, 0xcf, 0x31, 0x1d, + 0x3a, 0xf3, 0xc2, 0x79, 0xe4, 0x00, 0xde, 0x3d, 0x7b, 0xdd, 0xcd, 0xbd, + 0xa4, 0x0d, 0x78, 0x6a, 0xf1, 0xd9, 0x6c, 0x7b, +}; +static const unsigned char kat1943_retbits[] = { + 0xd4, 0x66, 0x48, 0xfa, 0x06, 0xdb, 0x61, 0xd4, 0xd0, 0x70, 0xcd, 0x92, + 0xf4, 0x20, 0x21, 0x10, 0xff, 0x07, 0x67, 0x22, 0xe5, 0xfb, 0xb4, 0x95, + 0x92, 0xc0, 0x20, 0x31, 0x16, 0xce, 0x8d, 0x38, 0x73, 0x3e, 0x44, 0xa8, + 0xc4, 0x8a, 0xe7, 0xb7, 0xe7, 0x62, 0xf2, 0x67, 0x14, 0x96, 0x8f, 0x15, + 0xe6, 0xe4, 0x33, 0x73, 0xbe, 0xf1, 0xa7, 0xa6, 0x72, 0xbe, 0x70, 0xfa, + 0x43, 0x7f, 0x5f, 0xed, +}; +static const struct drbg_kat_pr_false kat1943_t = { + 7, kat1943_entropyin, kat1943_nonce, kat1943_persstr, + kat1943_entropyinreseed, kat1943_addinreseed, kat1943_addin0, + kat1943_addin1, kat1943_retbits +}; +static const struct drbg_kat kat1943 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1943_t +}; + +static const unsigned char kat1944_entropyin[] = { + 0x02, 0x04, 0x77, 0x41, 0x58, 0xe7, 0x45, 0x49, 0x35, 0xf3, 0xf9, 0xad, + 0xe7, 0xc6, 0xf0, 0x46, 0xcc, 0x2d, 0xb5, 0x26, 0xcf, 0x38, 0x24, 0x9d, + 0xe0, 0x3b, 0x23, 0x53, 0x8b, 0x9f, 0x88, 0xf7, +}; +static const unsigned char kat1944_nonce[] = { + 0xd0, 0x91, 0x2d, 0xc4, 0x92, 0x2a, 0xac, 0x88, 0x70, 0x26, 0xa2, 0x38, + 0xb9, 0x41, 0x3d, 0x7e, +}; +static const unsigned char kat1944_persstr[] = {0}; +static const unsigned char kat1944_entropyinreseed[] = { + 0x18, 0x98, 0xa3, 0x70, 0x1c, 0x36, 0x0e, 0x17, 0x3d, 0x87, 0x37, 0x99, + 0xac, 0x6a, 0xb0, 0x2d, 0x52, 0xdc, 0x1a, 0x45, 0xcc, 0xfe, 0x1c, 0x69, + 0xcd, 0x9e, 0x8a, 0x66, 0xa2, 0x80, 0x12, 0xb9, +}; +static const unsigned char kat1944_addinreseed[] = { + 0x26, 0x72, 0x1f, 0x70, 0xf3, 0x51, 0x6f, 0x48, 0x24, 0x5f, 0x05, 0x33, + 0x92, 0xd3, 0x2f, 0x48, 0xef, 0x7c, 0x50, 0xab, 0x6c, 0x05, 0x0c, 0x92, + 0xf6, 0x71, 0x06, 0x8d, 0x79, 0xf7, 0x83, 0x75, +}; +static const unsigned char kat1944_addin0[] = { + 0xfa, 0x10, 0x6c, 0x6b, 0xc9, 0xca, 0xb8, 0x03, 0x5d, 0x64, 0xa2, 0xa1, + 0x8b, 0xce, 0xc3, 0x43, 0x5d, 0x5f, 0xb3, 0x23, 0x40, 0xc8, 0x36, 0x7d, + 0x5f, 0x2c, 0x1d, 0xd1, 0x8f, 0x81, 0x8a, 0xbf, +}; +static const unsigned char kat1944_addin1[] = { + 0xb7, 0x81, 0xb4, 0xf5, 0x2d, 0xa6, 0xe7, 0x01, 0xf4, 0xaf, 0x17, 0xd6, + 0xc9, 0x6b, 0x3e, 0x7d, 0x86, 0x7a, 0xc7, 0x01, 0x2c, 0x43, 0x35, 0x6a, + 0x5a, 0xfe, 0xee, 0xc4, 0x8f, 0xf4, 0x86, 0x37, +}; +static const unsigned char kat1944_retbits[] = { + 0xf9, 0xba, 0x4c, 0x30, 0xd3, 0x3d, 0x85, 0xeb, 0x8b, 0x99, 0xea, 0xcd, + 0xad, 0xb1, 0xc1, 0x45, 0x94, 0x66, 0xb9, 0xc9, 0xcf, 0x24, 0xe4, 0xc0, + 0xe0, 0xc4, 0xb6, 0xb0, 0x58, 0xe9, 0x3b, 0x88, 0x25, 0x0d, 0x31, 0x89, + 0x6b, 0x73, 0x8a, 0x95, 0xeb, 0xd3, 0xc8, 0x1c, 0x3a, 0x1f, 0x9c, 0xd0, + 0x92, 0x28, 0xfd, 0xb3, 0xac, 0xa3, 0x0c, 0x25, 0xad, 0xec, 0x99, 0x0c, + 0x53, 0xfc, 0x53, 0xa3, +}; +static const struct drbg_kat_pr_false kat1944_t = { + 8, kat1944_entropyin, kat1944_nonce, kat1944_persstr, + kat1944_entropyinreseed, kat1944_addinreseed, kat1944_addin0, + kat1944_addin1, kat1944_retbits +}; +static const struct drbg_kat kat1944 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1944_t +}; + +static const unsigned char kat1945_entropyin[] = { + 0x42, 0x8e, 0x20, 0xb9, 0x6d, 0xbb, 0xfe, 0xbe, 0xe7, 0x9a, 0xb1, 0xdb, + 0x8c, 0x0c, 0xc1, 0xfb, 0x40, 0xd0, 0x00, 0x9b, 0xe9, 0xdb, 0xd5, 0x8f, + 0x3f, 0x9b, 0x37, 0xa7, 0x4e, 0x1e, 0x56, 0xec, +}; +static const unsigned char kat1945_nonce[] = { + 0xc9, 0x3a, 0x22, 0xc9, 0x43, 0x7f, 0x02, 0x2b, 0xec, 0xdd, 0x12, 0xff, + 0xae, 0xbb, 0x0f, 0xc4, +}; +static const unsigned char kat1945_persstr[] = {0}; +static const unsigned char kat1945_entropyinreseed[] = { + 0xea, 0xaa, 0xe4, 0xbe, 0x71, 0x21, 0xc8, 0xf5, 0xc0, 0x73, 0xc7, 0x91, + 0xa9, 0xa1, 0x83, 0x93, 0xd9, 0xad, 0x66, 0x15, 0x3b, 0xfc, 0x98, 0xa0, + 0xd6, 0x45, 0x69, 0x7a, 0x46, 0x39, 0x28, 0xa1, +}; +static const unsigned char kat1945_addinreseed[] = { + 0x82, 0x3e, 0x71, 0xbb, 0x84, 0x3c, 0x54, 0x00, 0x9e, 0x8d, 0x02, 0xd2, + 0xec, 0x0e, 0x5d, 0x7b, 0x49, 0xf0, 0xd5, 0x3b, 0xc0, 0xf0, 0xc3, 0x83, + 0xf6, 0xc9, 0x27, 0x3a, 0x25, 0xa6, 0xf3, 0x12, +}; +static const unsigned char kat1945_addin0[] = { + 0xf0, 0xd5, 0xad, 0x12, 0x99, 0x99, 0xd7, 0x10, 0xf8, 0xe5, 0x50, 0x4c, + 0x95, 0x5b, 0x78, 0xd0, 0x52, 0xa1, 0xcc, 0x63, 0x37, 0xd4, 0x63, 0x2e, + 0xaa, 0x85, 0xbd, 0xb9, 0x85, 0x75, 0x9e, 0xa6, +}; +static const unsigned char kat1945_addin1[] = { + 0xdd, 0x10, 0x78, 0x19, 0x8d, 0xb2, 0xdd, 0x5e, 0x7e, 0x63, 0x25, 0x25, + 0x62, 0x36, 0xeb, 0x2b, 0xe2, 0x62, 0x0e, 0xe0, 0xee, 0x85, 0x97, 0x01, + 0x29, 0x80, 0x8f, 0xd1, 0x64, 0x0b, 0xdf, 0x41, +}; +static const unsigned char kat1945_retbits[] = { + 0x99, 0x3a, 0x6a, 0x73, 0xfc, 0x63, 0xbd, 0x50, 0x62, 0x93, 0xba, 0x73, + 0xb7, 0x6c, 0xb2, 0xcd, 0xc8, 0xb0, 0x56, 0xd2, 0xf8, 0x7e, 0x21, 0x07, + 0x91, 0x25, 0x62, 0x43, 0x99, 0xc2, 0xfb, 0xec, 0x29, 0x16, 0x97, 0x71, + 0x87, 0x93, 0xdb, 0x1f, 0xfd, 0xd8, 0x76, 0xd2, 0x7a, 0x68, 0x9e, 0xcd, + 0x49, 0xe7, 0xc9, 0xf5, 0xbb, 0xa1, 0x91, 0x06, 0x91, 0xe5, 0x6f, 0x81, + 0x76, 0xeb, 0x84, 0x4b, +}; +static const struct drbg_kat_pr_false kat1945_t = { + 9, kat1945_entropyin, kat1945_nonce, kat1945_persstr, + kat1945_entropyinreseed, kat1945_addinreseed, kat1945_addin0, + kat1945_addin1, kat1945_retbits +}; +static const struct drbg_kat kat1945 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1945_t +}; + +static const unsigned char kat1946_entropyin[] = { + 0x72, 0xe7, 0x73, 0x5c, 0x3b, 0x8b, 0x44, 0xca, 0x95, 0x57, 0xb2, 0x93, + 0x90, 0x34, 0xef, 0x4c, 0x38, 0x3d, 0x23, 0xbc, 0x68, 0xce, 0xa0, 0xfe, + 0x35, 0x52, 0xb5, 0xeb, 0xd4, 0x88, 0x5a, 0x9f, +}; +static const unsigned char kat1946_nonce[] = { + 0x35, 0xf4, 0x11, 0x2d, 0x4d, 0xe3, 0x97, 0x05, 0xb6, 0xad, 0x6d, 0x42, + 0x2e, 0xc1, 0xd5, 0x9a, +}; +static const unsigned char kat1946_persstr[] = {0}; +static const unsigned char kat1946_entropyinreseed[] = { + 0x71, 0x59, 0x18, 0x4b, 0xb4, 0x62, 0x8e, 0x7e, 0xc7, 0x95, 0xf9, 0x4f, + 0x05, 0x4f, 0x7b, 0xbd, 0xe9, 0xc3, 0x64, 0xc6, 0x0b, 0xa3, 0xf0, 0x76, + 0x70, 0xdb, 0xf6, 0x15, 0xd1, 0xfa, 0xf5, 0x12, +}; +static const unsigned char kat1946_addinreseed[] = { + 0x89, 0x68, 0x98, 0xb9, 0xa4, 0x7e, 0xbe, 0xfe, 0x20, 0xcb, 0x20, 0x14, + 0x1a, 0x16, 0x76, 0x48, 0xac, 0x0a, 0xa8, 0x15, 0x1f, 0x49, 0x1b, 0xd1, + 0xd1, 0x3a, 0x00, 0xf5, 0xcf, 0x6f, 0x17, 0xb4, +}; +static const unsigned char kat1946_addin0[] = { + 0x9c, 0xfb, 0xbf, 0x1b, 0xd7, 0xb6, 0xf5, 0x52, 0x43, 0x67, 0x27, 0x59, + 0x17, 0x7f, 0xa9, 0x06, 0x01, 0x67, 0x91, 0xd4, 0x5d, 0x1e, 0xa5, 0x02, + 0xaf, 0x2c, 0xc5, 0x69, 0xe6, 0xd7, 0xc8, 0x82, +}; +static const unsigned char kat1946_addin1[] = { + 0x4d, 0x9a, 0xdd, 0x7b, 0x30, 0xf3, 0xa8, 0x55, 0x03, 0x8b, 0xcb, 0xbb, + 0x9a, 0x3c, 0xf6, 0x37, 0xbe, 0x18, 0xdd, 0xd1, 0xc6, 0x72, 0x1f, 0x4c, + 0xb2, 0xdd, 0x65, 0x4e, 0x8e, 0xf2, 0x57, 0x1c, +}; +static const unsigned char kat1946_retbits[] = { + 0x11, 0xaf, 0xdc, 0x0f, 0xe1, 0x5c, 0x21, 0x51, 0x30, 0x64, 0x8b, 0x3d, + 0xca, 0xbd, 0x8b, 0x76, 0x25, 0xad, 0x20, 0xfc, 0x65, 0x98, 0x5a, 0x70, + 0xee, 0x05, 0x61, 0x40, 0x1b, 0xb0, 0xaf, 0x02, 0xd5, 0xc4, 0x28, 0x27, + 0x65, 0x12, 0x34, 0x7a, 0x3f, 0x4b, 0x76, 0xca, 0x99, 0x7c, 0xaa, 0xd1, + 0x78, 0xa7, 0xf8, 0xcd, 0xad, 0xdf, 0xd7, 0x7d, 0x5f, 0xe7, 0x35, 0x75, + 0x5e, 0x7d, 0x37, 0xac, +}; +static const struct drbg_kat_pr_false kat1946_t = { + 10, kat1946_entropyin, kat1946_nonce, kat1946_persstr, + kat1946_entropyinreseed, kat1946_addinreseed, kat1946_addin0, + kat1946_addin1, kat1946_retbits +}; +static const struct drbg_kat kat1946 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1946_t +}; + +static const unsigned char kat1947_entropyin[] = { + 0xfd, 0x06, 0x92, 0x71, 0x6b, 0x92, 0xab, 0xbc, 0x87, 0x53, 0x4e, 0x70, + 0xd0, 0xfc, 0x5a, 0xd0, 0x7b, 0xab, 0x29, 0x68, 0x2e, 0x33, 0xf4, 0x30, + 0x01, 0xec, 0xda, 0xd7, 0xab, 0x92, 0xb3, 0x26, +}; +static const unsigned char kat1947_nonce[] = { + 0x4f, 0x3c, 0xd8, 0xb4, 0x2a, 0xb8, 0x90, 0xc7, 0x7e, 0xda, 0x4a, 0xfe, + 0x96, 0xc5, 0x35, 0x74, +}; +static const unsigned char kat1947_persstr[] = {0}; +static const unsigned char kat1947_entropyinreseed[] = { + 0xc5, 0x51, 0xf5, 0x79, 0x27, 0x68, 0x0d, 0x8e, 0xb7, 0x89, 0x08, 0x70, + 0x1f, 0x34, 0xd8, 0xca, 0x7e, 0x03, 0x1b, 0x7a, 0x25, 0x22, 0x45, 0xee, + 0x53, 0xb8, 0x3d, 0xc9, 0x38, 0x2e, 0xa5, 0x2d, +}; +static const unsigned char kat1947_addinreseed[] = { + 0xa8, 0x41, 0x19, 0xf7, 0x73, 0xb3, 0xd3, 0xbe, 0xd2, 0x8d, 0xae, 0x7c, + 0x79, 0x13, 0x69, 0xf9, 0xe9, 0xba, 0x33, 0x3b, 0xa6, 0x03, 0x73, 0x70, + 0xdb, 0x64, 0xc0, 0xb6, 0x55, 0x7c, 0x11, 0x37, +}; +static const unsigned char kat1947_addin0[] = { + 0x6b, 0x0c, 0x61, 0x9f, 0x00, 0xe0, 0x4e, 0xa9, 0x1e, 0x2e, 0x7c, 0xd3, + 0x7a, 0x1f, 0x4d, 0x5a, 0xe7, 0x2e, 0xfb, 0x55, 0x2a, 0xf5, 0x5d, 0x27, + 0x37, 0x22, 0xc3, 0x71, 0xd9, 0x68, 0xeb, 0xc3, +}; +static const unsigned char kat1947_addin1[] = { + 0xb5, 0x8f, 0xfd, 0x71, 0xfc, 0x21, 0x66, 0xd3, 0x86, 0xc9, 0x42, 0x75, + 0xbd, 0x97, 0xe4, 0x36, 0x17, 0x7d, 0xd0, 0xb5, 0xc6, 0xfa, 0x9e, 0x80, + 0x97, 0x60, 0xc8, 0x49, 0x10, 0xb8, 0xe6, 0xf8, +}; +static const unsigned char kat1947_retbits[] = { + 0xdd, 0xb7, 0x67, 0xec, 0xd3, 0xb3, 0xd2, 0xcd, 0xc9, 0x25, 0xe7, 0x0b, + 0x90, 0x19, 0xd5, 0x51, 0x18, 0x5f, 0xad, 0x94, 0x28, 0x56, 0x55, 0xc2, + 0xcb, 0x96, 0xdc, 0xa7, 0xfe, 0xde, 0xd8, 0x1d, 0xc6, 0x1a, 0x59, 0x81, + 0xa4, 0x45, 0x96, 0x5f, 0x59, 0xf9, 0x86, 0x2e, 0x9a, 0x63, 0xda, 0x20, + 0xe3, 0xb2, 0x89, 0x48, 0x61, 0xd6, 0x2e, 0xe9, 0x9e, 0xcc, 0x5f, 0x90, + 0x46, 0x7c, 0xff, 0x69, +}; +static const struct drbg_kat_pr_false kat1947_t = { + 11, kat1947_entropyin, kat1947_nonce, kat1947_persstr, + kat1947_entropyinreseed, kat1947_addinreseed, kat1947_addin0, + kat1947_addin1, kat1947_retbits +}; +static const struct drbg_kat kat1947 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1947_t +}; + +static const unsigned char kat1948_entropyin[] = { + 0x8e, 0x1b, 0x9f, 0x28, 0x28, 0xc2, 0xa7, 0x98, 0x67, 0x2c, 0x6c, 0xb6, + 0x03, 0x39, 0x6b, 0xd4, 0xb7, 0x3d, 0xbc, 0xe8, 0x19, 0x48, 0x7c, 0xe8, + 0x15, 0x54, 0x48, 0xf0, 0x26, 0xef, 0x16, 0x07, +}; +static const unsigned char kat1948_nonce[] = { + 0x60, 0xf4, 0xa0, 0x76, 0xcd, 0xd0, 0xa2, 0xa3, 0xf3, 0x32, 0xea, 0x18, + 0x67, 0xdb, 0x02, 0x77, +}; +static const unsigned char kat1948_persstr[] = {0}; +static const unsigned char kat1948_entropyinreseed[] = { + 0x07, 0x58, 0x2e, 0x14, 0xea, 0x30, 0xd8, 0x66, 0x08, 0x81, 0x42, 0x5f, + 0x9d, 0x56, 0xfa, 0x00, 0x5c, 0x4f, 0xe2, 0xf4, 0x28, 0x2e, 0xce, 0xfe, + 0x74, 0xc9, 0xd9, 0xfe, 0x59, 0x54, 0x21, 0x1d, +}; +static const unsigned char kat1948_addinreseed[] = { + 0xa2, 0x4c, 0x19, 0xbf, 0x72, 0x63, 0xfa, 0x8b, 0x52, 0x64, 0xad, 0x71, + 0x36, 0x0c, 0xf5, 0x86, 0x6a, 0xf4, 0x3b, 0x63, 0x8b, 0x39, 0x04, 0xb8, + 0xfa, 0x32, 0x18, 0x8e, 0x4c, 0x15, 0x78, 0x40, +}; +static const unsigned char kat1948_addin0[] = { + 0xb2, 0x50, 0x07, 0xd2, 0xd4, 0xe5, 0xf8, 0x1c, 0x3b, 0x7c, 0x8d, 0x49, + 0x38, 0x8b, 0x8c, 0xd0, 0x13, 0xae, 0xbf, 0x00, 0xe9, 0x2d, 0x90, 0x4f, + 0x0d, 0x12, 0x97, 0x97, 0xed, 0x65, 0x35, 0xd6, +}; +static const unsigned char kat1948_addin1[] = { + 0x3f, 0x11, 0x60, 0xa6, 0x77, 0x0f, 0x71, 0x41, 0xee, 0xe7, 0x59, 0x0d, + 0xb2, 0xd2, 0xf7, 0x41, 0x26, 0xe7, 0x28, 0xb8, 0x0a, 0x3a, 0x5e, 0xad, + 0x5a, 0xa3, 0x67, 0x50, 0x00, 0x63, 0x7e, 0xc0, +}; +static const unsigned char kat1948_retbits[] = { + 0x7b, 0x91, 0x58, 0xc9, 0x78, 0xea, 0x13, 0xef, 0x7a, 0xdf, 0xda, 0x03, + 0xfa, 0x2a, 0x01, 0x1b, 0x78, 0x0e, 0x48, 0x5b, 0xc9, 0xbb, 0xce, 0x32, + 0x7a, 0x95, 0x8b, 0x98, 0x0c, 0x73, 0x38, 0xdf, 0x22, 0x2a, 0x79, 0x2a, + 0xab, 0xea, 0x0f, 0x74, 0x65, 0xb4, 0x38, 0x6e, 0x1c, 0x51, 0x08, 0xca, + 0xfb, 0x72, 0x8b, 0xbb, 0x66, 0x0f, 0x85, 0x34, 0xc6, 0x25, 0x21, 0x34, + 0x32, 0x3c, 0x39, 0xfc, +}; +static const struct drbg_kat_pr_false kat1948_t = { + 12, kat1948_entropyin, kat1948_nonce, kat1948_persstr, + kat1948_entropyinreseed, kat1948_addinreseed, kat1948_addin0, + kat1948_addin1, kat1948_retbits +}; +static const struct drbg_kat kat1948 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1948_t +}; + +static const unsigned char kat1949_entropyin[] = { + 0xa6, 0xe3, 0xc0, 0x38, 0xc0, 0x33, 0xb3, 0x1b, 0xc9, 0x2d, 0x32, 0xc0, + 0x92, 0x96, 0xf7, 0xfa, 0xce, 0xfe, 0x1e, 0x4a, 0xac, 0xa0, 0x3c, 0x19, + 0x7d, 0x1c, 0x03, 0x54, 0xb4, 0x97, 0x58, 0xf5, +}; +static const unsigned char kat1949_nonce[] = { + 0xe7, 0x25, 0xa5, 0xa8, 0x1a, 0x7b, 0x47, 0x78, 0xea, 0x1c, 0xca, 0xec, + 0x77, 0x77, 0x23, 0x1b, +}; +static const unsigned char kat1949_persstr[] = {0}; +static const unsigned char kat1949_entropyinreseed[] = { + 0x09, 0x1f, 0xe5, 0x3d, 0x98, 0xc7, 0xff, 0x8e, 0x64, 0x17, 0x91, 0x45, + 0x02, 0x7a, 0xc6, 0xbe, 0xf4, 0x55, 0xa8, 0xf4, 0xd1, 0x67, 0x30, 0xf3, + 0x12, 0x35, 0x31, 0xde, 0x4c, 0xfb, 0x32, 0x59, +}; +static const unsigned char kat1949_addinreseed[] = { + 0x95, 0x9b, 0x30, 0x40, 0x64, 0x79, 0x11, 0x84, 0x31, 0xa2, 0x65, 0x3d, + 0x0f, 0x0d, 0x08, 0xf8, 0xfc, 0xcc, 0x68, 0x14, 0x11, 0x66, 0xfb, 0x19, + 0xdb, 0x71, 0x6e, 0xe2, 0xd7, 0x8e, 0xf0, 0x12, +}; +static const unsigned char kat1949_addin0[] = { + 0x9a, 0x0b, 0x0d, 0xe5, 0xf8, 0xf8, 0x25, 0xe7, 0x58, 0xb9, 0xfb, 0x28, + 0xe2, 0xa0, 0x6f, 0x9f, 0xac, 0x29, 0x0a, 0x16, 0x11, 0x97, 0x6c, 0xa9, + 0x98, 0x09, 0x25, 0x08, 0x9f, 0x5e, 0xe6, 0xf7, +}; +static const unsigned char kat1949_addin1[] = { + 0xb3, 0xe4, 0x22, 0xe0, 0xba, 0x29, 0xe8, 0x82, 0x36, 0x96, 0xcd, 0x82, + 0x98, 0x22, 0x58, 0xce, 0x93, 0x6a, 0x51, 0xe8, 0x0e, 0x64, 0x08, 0x70, + 0x0a, 0x2b, 0xd5, 0xca, 0x51, 0x29, 0x49, 0xbb, +}; +static const unsigned char kat1949_retbits[] = { + 0x7b, 0x8a, 0xb6, 0xd8, 0x79, 0xaa, 0x29, 0x07, 0xe4, 0x41, 0xdb, 0x2f, + 0xf6, 0x0c, 0x84, 0x0b, 0x68, 0x4a, 0x98, 0x1f, 0x8d, 0x08, 0x67, 0xc0, + 0xf7, 0xcf, 0xc3, 0x03, 0x23, 0xee, 0x32, 0x1e, 0x7f, 0xb1, 0xad, 0xee, + 0x16, 0xad, 0xb6, 0xc3, 0x14, 0xb0, 0x0e, 0xd4, 0x11, 0x5d, 0x9c, 0xb5, + 0x76, 0x08, 0xd5, 0x0f, 0x29, 0x80, 0xc3, 0xa1, 0xfa, 0x9a, 0x24, 0x2d, + 0x1a, 0x5c, 0xe4, 0x09, +}; +static const struct drbg_kat_pr_false kat1949_t = { + 13, kat1949_entropyin, kat1949_nonce, kat1949_persstr, + kat1949_entropyinreseed, kat1949_addinreseed, kat1949_addin0, + kat1949_addin1, kat1949_retbits +}; +static const struct drbg_kat kat1949 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1949_t +}; + +static const unsigned char kat1950_entropyin[] = { + 0x8b, 0x60, 0x56, 0x35, 0x13, 0x8a, 0xb1, 0x96, 0xa9, 0x61, 0x92, 0xab, + 0x3a, 0xa6, 0x95, 0x85, 0x7f, 0xfd, 0x19, 0x7a, 0x55, 0x20, 0xec, 0x65, + 0xe2, 0xad, 0x44, 0xd0, 0x50, 0xbd, 0x97, 0xc4, +}; +static const unsigned char kat1950_nonce[] = { + 0xc0, 0xa2, 0x59, 0xd4, 0xcd, 0x87, 0x2b, 0x35, 0x1a, 0xc6, 0x01, 0x82, + 0xa6, 0x7c, 0x4f, 0xaa, +}; +static const unsigned char kat1950_persstr[] = {0}; +static const unsigned char kat1950_entropyinreseed[] = { + 0xde, 0x78, 0xf4, 0x5f, 0xbf, 0x92, 0xdd, 0x2e, 0x8a, 0x1f, 0x19, 0xe6, + 0xcc, 0x9c, 0xaf, 0xcd, 0xdd, 0x93, 0x61, 0x7d, 0x3a, 0x1d, 0xa4, 0x01, + 0x53, 0x45, 0x07, 0xf5, 0x2d, 0x63, 0xf5, 0x1a, +}; +static const unsigned char kat1950_addinreseed[] = { + 0x15, 0x5f, 0xeb, 0xed, 0xef, 0x23, 0x54, 0xb4, 0x4e, 0x86, 0xeb, 0x66, + 0xd5, 0x73, 0x0c, 0x6d, 0x6c, 0x9c, 0x7d, 0x49, 0x97, 0x78, 0x82, 0xdb, + 0xb6, 0x51, 0x5b, 0x83, 0x67, 0x47, 0xfa, 0x34, +}; +static const unsigned char kat1950_addin0[] = { + 0xae, 0x78, 0xdc, 0xb8, 0x12, 0x84, 0x5e, 0x9f, 0x42, 0xe4, 0xfc, 0x86, + 0x75, 0x81, 0x18, 0x1d, 0xd8, 0x46, 0xc4, 0xfe, 0x98, 0xb5, 0xb2, 0x80, + 0x5f, 0x55, 0x1b, 0x6c, 0x40, 0x7b, 0xcf, 0x5f, +}; +static const unsigned char kat1950_addin1[] = { + 0x5f, 0x07, 0x62, 0x17, 0x2d, 0xcd, 0xc6, 0x40, 0x73, 0x75, 0x55, 0x9a, + 0xc8, 0xb2, 0x86, 0xf4, 0xaf, 0xcf, 0x52, 0x02, 0xa3, 0xe7, 0x16, 0x4d, + 0x72, 0xfd, 0x5e, 0x35, 0x3f, 0x90, 0xa1, 0x41, +}; +static const unsigned char kat1950_retbits[] = { + 0x26, 0x96, 0xba, 0xa6, 0x7d, 0x11, 0xfa, 0x12, 0x5a, 0x8d, 0xfd, 0x4e, + 0xf8, 0x89, 0xe6, 0xb3, 0x16, 0x20, 0xef, 0x6f, 0xdd, 0xe5, 0x83, 0x50, + 0x6c, 0x4c, 0x9c, 0x7f, 0x93, 0xc4, 0xee, 0xa0, 0x55, 0x2c, 0x08, 0xff, + 0x8f, 0x00, 0x98, 0x8e, 0xf6, 0x12, 0x4a, 0xd2, 0x26, 0xcd, 0xcc, 0x04, + 0x36, 0x06, 0xc5, 0x4b, 0x38, 0x58, 0xef, 0x62, 0x20, 0x09, 0x1e, 0xaf, + 0x45, 0x90, 0x6f, 0x82, +}; +static const struct drbg_kat_pr_false kat1950_t = { + 14, kat1950_entropyin, kat1950_nonce, kat1950_persstr, + kat1950_entropyinreseed, kat1950_addinreseed, kat1950_addin0, + kat1950_addin1, kat1950_retbits +}; +static const struct drbg_kat kat1950 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1950_t +}; + +static const unsigned char kat1951_entropyin[] = { + 0x5b, 0xb1, 0x4b, 0xec, 0x3a, 0x2e, 0x43, 0x5a, 0xca, 0xb8, 0xb8, 0x91, + 0xf0, 0x75, 0x10, 0x7d, 0xf3, 0x87, 0x90, 0x2c, 0xb2, 0xcd, 0x99, 0x60, + 0x21, 0xb1, 0xa1, 0x24, 0x5d, 0x4e, 0xa2, 0xb5, +}; +static const unsigned char kat1951_nonce[] = { + 0x12, 0xac, 0x7f, 0x44, 0x4e, 0x24, 0x7f, 0x77, 0x0d, 0x2f, 0x4d, 0x0a, + 0x65, 0xfd, 0xab, 0x4e, +}; +static const unsigned char kat1951_persstr[] = { + 0x2e, 0x95, 0x7d, 0x53, 0xcb, 0xa5, 0xa6, 0xb9, 0xb8, 0xa2, 0xce, 0x43, + 0x69, 0xbb, 0x88, 0x5c, 0x09, 0x31, 0x78, 0x80, 0x15, 0xb9, 0xfe, 0x5a, + 0xc3, 0xc0, 0x1a, 0x7e, 0xc5, 0xea, 0xcd, 0x70, +}; +static const unsigned char kat1951_entropyinreseed[] = { + 0x19, 0xf3, 0x0c, 0x84, 0xf6, 0xdb, 0xf1, 0xca, 0xf6, 0x8c, 0xbe, 0xc3, + 0xd4, 0xbb, 0x90, 0xe5, 0xe8, 0xf5, 0x71, 0x6e, 0xae, 0x8c, 0x1b, 0xba, + 0xda, 0xba, 0x99, 0xa2, 0xa2, 0xbd, 0x4e, 0xb2, +}; +static const unsigned char kat1951_addinreseed[] = {0}; +static const unsigned char kat1951_addin0[] = {0}; +static const unsigned char kat1951_addin1[] = {0}; +static const unsigned char kat1951_retbits[] = { + 0xb7, 0xdd, 0x8a, 0xc2, 0xc5, 0xea, 0xa9, 0x7c, 0x77, 0x9f, 0xe4, 0x6c, + 0xc7, 0x93, 0xb9, 0xb1, 0xe7, 0xb9, 0x40, 0xc3, 0x18, 0xd3, 0xb5, 0x31, + 0x74, 0x4b, 0x42, 0x85, 0x6f, 0x29, 0x82, 0x64, 0xe4, 0x5f, 0x9a, 0x0a, + 0xca, 0x5d, 0xa9, 0x3e, 0x7f, 0x34, 0xf0, 0xeb, 0xc0, 0xed, 0x0e, 0xa3, + 0x2c, 0x00, 0x9e, 0x3e, 0x03, 0xcf, 0x01, 0x32, 0x0c, 0x9a, 0x83, 0x98, + 0x07, 0x57, 0x54, 0x05, +}; +static const struct drbg_kat_pr_false kat1951_t = { + 0, kat1951_entropyin, kat1951_nonce, kat1951_persstr, + kat1951_entropyinreseed, kat1951_addinreseed, kat1951_addin0, + kat1951_addin1, kat1951_retbits +}; +static const struct drbg_kat kat1951 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1951_t +}; + +static const unsigned char kat1952_entropyin[] = { + 0x5e, 0x1a, 0x56, 0x4a, 0x70, 0xf5, 0x93, 0xc1, 0xc0, 0xb0, 0x7c, 0x99, + 0x06, 0x45, 0x5b, 0xd9, 0xf5, 0xce, 0x7a, 0xd9, 0x2e, 0xb3, 0x44, 0xa9, + 0xcc, 0xeb, 0x12, 0xf5, 0x57, 0x6d, 0x7d, 0x9c, +}; +static const unsigned char kat1952_nonce[] = { + 0x45, 0xe0, 0x93, 0xe5, 0x87, 0x34, 0x1f, 0x6c, 0xb8, 0xf3, 0xde, 0xff, + 0xdd, 0xc4, 0xdc, 0x4d, +}; +static const unsigned char kat1952_persstr[] = { + 0xb6, 0x17, 0x14, 0xba, 0x7e, 0xd3, 0x39, 0xa2, 0x46, 0x35, 0xc0, 0xbd, + 0x4f, 0x4d, 0xb4, 0x96, 0xb7, 0x46, 0x31, 0xeb, 0xbc, 0xd1, 0x4f, 0x64, + 0x8d, 0xe7, 0x1b, 0xd6, 0xd7, 0xc1, 0x97, 0xff, +}; +static const unsigned char kat1952_entropyinreseed[] = { + 0x4f, 0xcf, 0x7a, 0xb9, 0xda, 0xa8, 0x08, 0xae, 0x81, 0xea, 0xf7, 0x28, + 0xdc, 0x74, 0xbd, 0xf4, 0xc1, 0x23, 0xa1, 0xe2, 0x44, 0x4e, 0x51, 0x18, + 0xc8, 0x04, 0x01, 0x42, 0xfe, 0xa5, 0x0a, 0x0b, +}; +static const unsigned char kat1952_addinreseed[] = {0}; +static const unsigned char kat1952_addin0[] = {0}; +static const unsigned char kat1952_addin1[] = {0}; +static const unsigned char kat1952_retbits[] = { + 0x4d, 0x56, 0xfa, 0x06, 0x5a, 0x3b, 0x98, 0xf9, 0xce, 0x21, 0x70, 0x1c, + 0x00, 0xc8, 0x33, 0xbc, 0xd4, 0x39, 0x27, 0x6f, 0xc7, 0x0a, 0xaa, 0x14, + 0x18, 0x5b, 0x39, 0xf3, 0x4d, 0x80, 0x23, 0x25, 0x65, 0xc9, 0x92, 0xe2, + 0xf0, 0xfb, 0xd9, 0x51, 0x91, 0x75, 0x75, 0x1b, 0x40, 0x57, 0xc2, 0x1e, + 0xa6, 0x9d, 0x4c, 0x55, 0x3e, 0x30, 0xe3, 0xdc, 0x55, 0x33, 0xd4, 0xab, + 0xd9, 0x7a, 0xb1, 0x9f, +}; +static const struct drbg_kat_pr_false kat1952_t = { + 1, kat1952_entropyin, kat1952_nonce, kat1952_persstr, + kat1952_entropyinreseed, kat1952_addinreseed, kat1952_addin0, + kat1952_addin1, kat1952_retbits +}; +static const struct drbg_kat kat1952 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1952_t +}; + +static const unsigned char kat1953_entropyin[] = { + 0xc3, 0x22, 0x38, 0x77, 0x3d, 0xe8, 0xdf, 0xdf, 0x3b, 0xc3, 0x19, 0xa6, + 0x46, 0x31, 0xc3, 0xca, 0xf6, 0x7a, 0xb0, 0x71, 0x6e, 0x89, 0x46, 0xee, + 0xe2, 0xff, 0xf1, 0xfd, 0xda, 0x96, 0xd2, 0xff, +}; +static const unsigned char kat1953_nonce[] = { + 0xae, 0x2b, 0x3a, 0x16, 0xb0, 0x31, 0xc7, 0x84, 0xb8, 0x0b, 0x94, 0xb4, + 0x5c, 0x8c, 0xfa, 0xea, +}; +static const unsigned char kat1953_persstr[] = { + 0xb2, 0x94, 0x00, 0xe4, 0x9e, 0x0f, 0xe2, 0x4c, 0x64, 0x18, 0xc4, 0xda, + 0x38, 0x41, 0x7f, 0x85, 0x7d, 0x53, 0xed, 0x61, 0x07, 0x0d, 0x46, 0x7e, + 0x34, 0x04, 0x9f, 0x61, 0x35, 0x68, 0x97, 0x8f, +}; +static const unsigned char kat1953_entropyinreseed[] = { + 0x91, 0xc3, 0x6b, 0x0c, 0x87, 0x58, 0x7b, 0x66, 0x35, 0x83, 0xf6, 0x36, + 0xa2, 0x63, 0x03, 0xf3, 0x08, 0xb7, 0xa5, 0xdc, 0x23, 0x5c, 0xb1, 0x80, + 0x86, 0xd4, 0xe3, 0x50, 0xbd, 0x3f, 0xb6, 0x31, +}; +static const unsigned char kat1953_addinreseed[] = {0}; +static const unsigned char kat1953_addin0[] = {0}; +static const unsigned char kat1953_addin1[] = {0}; +static const unsigned char kat1953_retbits[] = { + 0xa1, 0xd5, 0xa0, 0x59, 0xe6, 0xf3, 0xc2, 0x5a, 0x1b, 0x10, 0x61, 0x3e, + 0xfb, 0xfc, 0x48, 0x30, 0x95, 0xcc, 0x25, 0x7f, 0xd9, 0x8e, 0xd2, 0x91, + 0x43, 0x79, 0xbc, 0xd8, 0xa2, 0xff, 0xca, 0x2b, 0x3d, 0x74, 0x5c, 0x32, + 0xdf, 0xfd, 0xb7, 0x21, 0xae, 0x7a, 0x9d, 0xea, 0x85, 0xe0, 0xb7, 0xa9, + 0x93, 0xdb, 0xdf, 0xec, 0x01, 0xac, 0xaf, 0x10, 0x97, 0xdd, 0x9f, 0x52, + 0xee, 0x22, 0x3a, 0x0d, +}; +static const struct drbg_kat_pr_false kat1953_t = { + 2, kat1953_entropyin, kat1953_nonce, kat1953_persstr, + kat1953_entropyinreseed, kat1953_addinreseed, kat1953_addin0, + kat1953_addin1, kat1953_retbits +}; +static const struct drbg_kat kat1953 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1953_t +}; + +static const unsigned char kat1954_entropyin[] = { + 0xce, 0x80, 0xe5, 0x65, 0x60, 0x90, 0xe0, 0x97, 0xba, 0xfc, 0x21, 0x03, + 0x70, 0x21, 0x3d, 0x46, 0xf3, 0x58, 0xf7, 0x79, 0x03, 0xfc, 0xdf, 0xb8, + 0x77, 0xa0, 0xe5, 0x7f, 0x45, 0x3b, 0x4f, 0x7a, +}; +static const unsigned char kat1954_nonce[] = { + 0x45, 0x15, 0xc8, 0x64, 0x48, 0xed, 0xa2, 0x8e, 0xe6, 0x38, 0x17, 0xf3, + 0x6a, 0x28, 0x2b, 0xa3, +}; +static const unsigned char kat1954_persstr[] = { + 0xc7, 0x87, 0x5c, 0xcf, 0x1e, 0x5e, 0xf1, 0xf6, 0xd7, 0x59, 0x42, 0x96, + 0x02, 0x4a, 0x71, 0xca, 0xca, 0x6c, 0xf5, 0x3c, 0xc8, 0x6e, 0x4e, 0x02, + 0xf8, 0x6f, 0xbb, 0x03, 0x50, 0x6f, 0xa9, 0xa8, +}; +static const unsigned char kat1954_entropyinreseed[] = { + 0x8c, 0xe6, 0xf5, 0x6c, 0xd5, 0xb2, 0x6d, 0xe5, 0x9e, 0x01, 0xea, 0x11, + 0x50, 0x9a, 0x23, 0xe5, 0x98, 0xaf, 0xf8, 0x09, 0xdf, 0xe0, 0x7d, 0xf7, + 0xe4, 0x99, 0x4c, 0x99, 0x88, 0x5e, 0xb9, 0x4f, +}; +static const unsigned char kat1954_addinreseed[] = {0}; +static const unsigned char kat1954_addin0[] = {0}; +static const unsigned char kat1954_addin1[] = {0}; +static const unsigned char kat1954_retbits[] = { + 0x41, 0xcc, 0x56, 0x5e, 0xc3, 0x49, 0xc9, 0x78, 0xbf, 0x7c, 0x4a, 0xf2, + 0x8a, 0x6c, 0xa9, 0xb1, 0xa5, 0x99, 0x24, 0xb2, 0x3a, 0x58, 0x1a, 0x7f, + 0x3b, 0x43, 0xae, 0x08, 0x96, 0x90, 0xd6, 0xac, 0x26, 0x2c, 0x02, 0x4f, + 0xc1, 0x6d, 0x56, 0xd1, 0xb4, 0x36, 0xc8, 0x00, 0x45, 0x22, 0xf8, 0x7f, + 0x5e, 0x8e, 0xc3, 0x85, 0x19, 0x03, 0xea, 0x1e, 0xc8, 0x74, 0x50, 0x5a, + 0x20, 0x6d, 0x16, 0x59, +}; +static const struct drbg_kat_pr_false kat1954_t = { + 3, kat1954_entropyin, kat1954_nonce, kat1954_persstr, + kat1954_entropyinreseed, kat1954_addinreseed, kat1954_addin0, + kat1954_addin1, kat1954_retbits +}; +static const struct drbg_kat kat1954 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1954_t +}; + +static const unsigned char kat1955_entropyin[] = { + 0x41, 0x7b, 0x1a, 0x5a, 0xa4, 0x69, 0x4a, 0xcc, 0x25, 0xae, 0x2f, 0xb1, + 0x8e, 0xbe, 0xe5, 0x05, 0x5d, 0x69, 0x1f, 0x89, 0x08, 0x88, 0x8e, 0x60, + 0x88, 0x62, 0xc8, 0x31, 0xb9, 0x93, 0x6e, 0xae, +}; +static const unsigned char kat1955_nonce[] = { + 0x53, 0xa2, 0x27, 0xb0, 0x46, 0x86, 0x02, 0xf6, 0xd5, 0xed, 0x62, 0x3b, + 0x6b, 0x55, 0x2f, 0x48, +}; +static const unsigned char kat1955_persstr[] = { + 0xec, 0xbe, 0x55, 0xcd, 0xe2, 0x1a, 0x7d, 0x74, 0xf0, 0x34, 0x08, 0xe5, + 0xfc, 0x8b, 0x4c, 0x16, 0x2e, 0xe0, 0x66, 0x51, 0x55, 0x2f, 0xd3, 0x2a, + 0x6d, 0x40, 0xe0, 0x6c, 0x66, 0x7f, 0x95, 0xe2, +}; +static const unsigned char kat1955_entropyinreseed[] = { + 0xd1, 0xa0, 0x0e, 0x5b, 0xf5, 0x65, 0x19, 0xc1, 0x27, 0xa1, 0x7f, 0xfc, + 0xa8, 0x48, 0xa2, 0x27, 0x6b, 0x02, 0x60, 0x4e, 0xb0, 0x1b, 0x92, 0x83, + 0xde, 0x58, 0x57, 0xfa, 0x8d, 0x19, 0xb4, 0x37, +}; +static const unsigned char kat1955_addinreseed[] = {0}; +static const unsigned char kat1955_addin0[] = {0}; +static const unsigned char kat1955_addin1[] = {0}; +static const unsigned char kat1955_retbits[] = { + 0xad, 0x11, 0x37, 0x5c, 0xd7, 0xdb, 0x35, 0x4f, 0xd6, 0x73, 0x02, 0xd7, + 0x06, 0x5c, 0x9e, 0xf3, 0x6d, 0xea, 0x37, 0x3f, 0x74, 0x41, 0x14, 0xce, + 0xaf, 0xea, 0xfe, 0x6b, 0x91, 0x47, 0x98, 0x37, 0xec, 0x6f, 0xd9, 0xcd, + 0xfc, 0x29, 0x22, 0x0e, 0x84, 0x60, 0x8f, 0xb8, 0xc1, 0xa5, 0x9b, 0xde, + 0x70, 0x22, 0xa8, 0xf1, 0xe3, 0x1b, 0xef, 0x03, 0x48, 0x95, 0xcf, 0x06, + 0xa8, 0x08, 0x51, 0x88, +}; +static const struct drbg_kat_pr_false kat1955_t = { + 4, kat1955_entropyin, kat1955_nonce, kat1955_persstr, + kat1955_entropyinreseed, kat1955_addinreseed, kat1955_addin0, + kat1955_addin1, kat1955_retbits +}; +static const struct drbg_kat kat1955 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1955_t +}; + +static const unsigned char kat1956_entropyin[] = { + 0xf7, 0xf9, 0xbc, 0x79, 0x89, 0x94, 0x31, 0x7e, 0xca, 0xaf, 0x30, 0x54, + 0xaf, 0x3f, 0x65, 0x49, 0x4a, 0xeb, 0x2a, 0x23, 0x5a, 0x6e, 0x76, 0x68, + 0xaf, 0xef, 0xc4, 0x31, 0x77, 0x57, 0xab, 0xbf, +}; +static const unsigned char kat1956_nonce[] = { + 0x5d, 0x97, 0x89, 0xc2, 0x77, 0x4b, 0x85, 0x86, 0xdc, 0xba, 0xd4, 0x13, + 0x46, 0x0b, 0x7c, 0xb1, +}; +static const unsigned char kat1956_persstr[] = { + 0x8c, 0x18, 0x8f, 0xe3, 0x10, 0xbd, 0x42, 0x00, 0xbf, 0x84, 0xb5, 0x76, + 0x17, 0xac, 0x0d, 0xaf, 0x2c, 0x37, 0x3a, 0xb2, 0x1d, 0xf7, 0xb0, 0xe5, + 0x61, 0xaa, 0xbb, 0xd2, 0xe3, 0xac, 0x19, 0xef, +}; +static const unsigned char kat1956_entropyinreseed[] = { + 0xed, 0x53, 0xec, 0x2b, 0xd6, 0xed, 0x54, 0x58, 0xa5, 0x76, 0x2c, 0x38, + 0xb5, 0xc5, 0x92, 0x82, 0xf6, 0xe5, 0x56, 0x5c, 0x3b, 0xab, 0xdd, 0xe6, + 0x61, 0xbf, 0x60, 0x2a, 0x33, 0xd6, 0xf0, 0x8d, +}; +static const unsigned char kat1956_addinreseed[] = {0}; +static const unsigned char kat1956_addin0[] = {0}; +static const unsigned char kat1956_addin1[] = {0}; +static const unsigned char kat1956_retbits[] = { + 0x27, 0xe7, 0xcb, 0xeb, 0xd6, 0x7c, 0x9d, 0x82, 0xbc, 0x5e, 0x79, 0x67, + 0x10, 0xb5, 0x70, 0xe4, 0x99, 0xe0, 0xbf, 0x9b, 0xa3, 0x90, 0x54, 0xbb, + 0x0c, 0x98, 0x9a, 0x04, 0x5b, 0x27, 0x5f, 0x5f, 0x0c, 0x08, 0x9e, 0x5a, + 0x01, 0xec, 0x0b, 0xb7, 0x4c, 0xf2, 0x9e, 0x55, 0x3d, 0xc2, 0xb5, 0x2c, + 0x0b, 0x53, 0xa3, 0x03, 0x7b, 0x62, 0x92, 0xa4, 0x13, 0x29, 0x9c, 0x9d, + 0x03, 0xae, 0xdf, 0xf3, +}; +static const struct drbg_kat_pr_false kat1956_t = { + 5, kat1956_entropyin, kat1956_nonce, kat1956_persstr, + kat1956_entropyinreseed, kat1956_addinreseed, kat1956_addin0, + kat1956_addin1, kat1956_retbits +}; +static const struct drbg_kat kat1956 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1956_t +}; + +static const unsigned char kat1957_entropyin[] = { + 0x3a, 0x67, 0x01, 0x02, 0xa4, 0x46, 0xdb, 0x05, 0x67, 0x74, 0x2d, 0x42, + 0xee, 0xcd, 0xa3, 0x04, 0x69, 0xc9, 0x62, 0x11, 0xf8, 0xe7, 0xfd, 0xf8, + 0xbb, 0x72, 0x01, 0xcc, 0x5e, 0x60, 0x24, 0x81, +}; +static const unsigned char kat1957_nonce[] = { + 0x9b, 0xf1, 0x38, 0xee, 0x6a, 0xf5, 0x0a, 0x1b, 0xc2, 0x27, 0x49, 0xda, + 0x1f, 0x36, 0xe6, 0xfe, +}; +static const unsigned char kat1957_persstr[] = { + 0x16, 0xb8, 0xe8, 0x4e, 0x24, 0x9e, 0xeb, 0x2d, 0x26, 0xf8, 0x9f, 0x47, + 0x97, 0xf3, 0xff, 0x38, 0xa0, 0x68, 0x71, 0x8c, 0xc0, 0x3d, 0x14, 0xc6, + 0x55, 0x6c, 0x25, 0x5e, 0x1c, 0xc6, 0xf6, 0x6d, +}; +static const unsigned char kat1957_entropyinreseed[] = { + 0x13, 0xd8, 0x16, 0x0e, 0x06, 0x70, 0xac, 0xa8, 0x40, 0xd9, 0x5e, 0x0c, + 0x39, 0x61, 0x15, 0x19, 0x2f, 0xf8, 0x41, 0x8c, 0xfa, 0x45, 0x97, 0x34, + 0xb6, 0xe3, 0x5c, 0x4a, 0x41, 0x44, 0xef, 0xb1, +}; +static const unsigned char kat1957_addinreseed[] = {0}; +static const unsigned char kat1957_addin0[] = {0}; +static const unsigned char kat1957_addin1[] = {0}; +static const unsigned char kat1957_retbits[] = { + 0x5a, 0xd8, 0xd4, 0x37, 0xd2, 0x1a, 0x11, 0xc3, 0x7f, 0x9e, 0x95, 0x0a, + 0xab, 0x0e, 0x74, 0x1b, 0x7b, 0xa1, 0x79, 0x8a, 0x9f, 0xb8, 0xeb, 0x16, + 0x6d, 0x40, 0xee, 0xc4, 0x2f, 0x9c, 0x07, 0xd2, 0x72, 0xfe, 0x7d, 0x95, + 0xb1, 0x55, 0x61, 0x1f, 0xc6, 0xe5, 0xa4, 0x5d, 0x9e, 0x35, 0x5a, 0x55, + 0x26, 0x1a, 0x28, 0xdb, 0x17, 0xea, 0xad, 0x37, 0x3c, 0x46, 0xb4, 0xef, + 0xf6, 0xa1, 0x4b, 0x59, +}; +static const struct drbg_kat_pr_false kat1957_t = { + 6, kat1957_entropyin, kat1957_nonce, kat1957_persstr, + kat1957_entropyinreseed, kat1957_addinreseed, kat1957_addin0, + kat1957_addin1, kat1957_retbits +}; +static const struct drbg_kat kat1957 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1957_t +}; + +static const unsigned char kat1958_entropyin[] = { + 0x05, 0xee, 0xe5, 0xcf, 0x3a, 0x14, 0x8a, 0x84, 0xf1, 0x4d, 0xbe, 0x86, + 0xcb, 0xb0, 0x10, 0x4e, 0x40, 0x89, 0x3b, 0xb0, 0xb4, 0xa7, 0x12, 0x24, + 0x7b, 0x8d, 0xd5, 0x2e, 0x4a, 0x66, 0xcc, 0xb9, +}; +static const unsigned char kat1958_nonce[] = { + 0xe1, 0xe5, 0xc4, 0x83, 0x0f, 0xd7, 0x3e, 0x87, 0xe6, 0x34, 0x6c, 0x55, + 0xe2, 0x16, 0xd0, 0x75, +}; +static const unsigned char kat1958_persstr[] = { + 0xbc, 0x41, 0xaa, 0xfb, 0xcc, 0x7e, 0x63, 0xc0, 0x2d, 0x7e, 0x9c, 0x3f, + 0xb9, 0x55, 0x18, 0xb0, 0x18, 0x88, 0x67, 0x56, 0x7c, 0x65, 0x73, 0x5c, + 0x12, 0xf1, 0x3f, 0x5a, 0xb9, 0x0e, 0x78, 0x8b, +}; +static const unsigned char kat1958_entropyinreseed[] = { + 0x70, 0x2a, 0x6a, 0x05, 0x88, 0xe7, 0x2b, 0x9c, 0x95, 0x27, 0x43, 0x64, + 0x5e, 0x3d, 0x00, 0xb3, 0x5a, 0x0c, 0x8b, 0x0c, 0x2c, 0x39, 0xda, 0x09, + 0xa2, 0xe4, 0x3e, 0x91, 0xb4, 0xda, 0xcb, 0x6d, +}; +static const unsigned char kat1958_addinreseed[] = {0}; +static const unsigned char kat1958_addin0[] = {0}; +static const unsigned char kat1958_addin1[] = {0}; +static const unsigned char kat1958_retbits[] = { + 0xf7, 0xde, 0x81, 0xc2, 0x6c, 0x2f, 0x78, 0xb4, 0x2c, 0x33, 0x6a, 0x8e, + 0x0c, 0xdd, 0xde, 0x25, 0x81, 0xd4, 0xd0, 0x6d, 0x40, 0x90, 0x75, 0x0e, + 0xff, 0x3e, 0x43, 0x81, 0x6f, 0x6e, 0xa3, 0x3f, 0x56, 0xbe, 0xab, 0x6f, + 0x78, 0x79, 0x3a, 0xc4, 0x5d, 0xd4, 0xbc, 0x0a, 0x1d, 0x34, 0xf4, 0x90, + 0x60, 0xf7, 0x2f, 0xab, 0x0f, 0x8f, 0x31, 0xac, 0x5b, 0x7e, 0x98, 0x0e, + 0x34, 0x6e, 0x2f, 0x93, +}; +static const struct drbg_kat_pr_false kat1958_t = { + 7, kat1958_entropyin, kat1958_nonce, kat1958_persstr, + kat1958_entropyinreseed, kat1958_addinreseed, kat1958_addin0, + kat1958_addin1, kat1958_retbits +}; +static const struct drbg_kat kat1958 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1958_t +}; + +static const unsigned char kat1959_entropyin[] = { + 0x6c, 0x2a, 0xae, 0xac, 0x30, 0x12, 0xfc, 0x4a, 0xcc, 0x8d, 0x35, 0xc6, + 0x71, 0xf5, 0xd8, 0x8f, 0xa2, 0x5f, 0x50, 0xd8, 0xc8, 0x0c, 0x03, 0x1a, + 0xc5, 0xe8, 0x94, 0x22, 0x0b, 0xcf, 0x6f, 0xbf, +}; +static const unsigned char kat1959_nonce[] = { + 0xba, 0xac, 0x5c, 0xc1, 0x70, 0x84, 0x7c, 0x81, 0x5a, 0x76, 0xfe, 0x6e, + 0x7f, 0x9a, 0x3d, 0xa8, +}; +static const unsigned char kat1959_persstr[] = { + 0x8d, 0xb2, 0x9b, 0x7c, 0xa6, 0x68, 0x4a, 0x13, 0xed, 0xe4, 0x02, 0x5f, + 0x60, 0x00, 0x48, 0x2a, 0x37, 0x9f, 0x74, 0x56, 0x04, 0xa7, 0xd5, 0xbc, + 0xbf, 0x60, 0xa4, 0x8e, 0xf6, 0xcd, 0x8d, 0xb2, +}; +static const unsigned char kat1959_entropyinreseed[] = { + 0x64, 0xe9, 0x86, 0x2f, 0x9e, 0x66, 0x36, 0x61, 0xb3, 0x2a, 0x8e, 0x27, + 0xa7, 0x0b, 0x2a, 0x3c, 0x0e, 0xcd, 0x3f, 0x1c, 0xa3, 0xc6, 0xe1, 0x99, + 0x99, 0x5b, 0x1b, 0x58, 0x7b, 0xa3, 0x1e, 0x0c, +}; +static const unsigned char kat1959_addinreseed[] = {0}; +static const unsigned char kat1959_addin0[] = {0}; +static const unsigned char kat1959_addin1[] = {0}; +static const unsigned char kat1959_retbits[] = { + 0xfa, 0x74, 0x54, 0x92, 0x70, 0xc6, 0x48, 0x47, 0x22, 0x63, 0xe0, 0xa7, + 0x9e, 0xfb, 0x82, 0x39, 0xf0, 0x36, 0x96, 0x79, 0xcd, 0x46, 0x1f, 0xc6, + 0x87, 0x34, 0xf1, 0x04, 0x32, 0xcd, 0x26, 0x6b, 0x5b, 0xd2, 0xdf, 0x0b, + 0x50, 0xcd, 0x30, 0x7b, 0xf4, 0x79, 0xac, 0x63, 0xd5, 0xd3, 0x3d, 0xd6, + 0x50, 0x17, 0xad, 0x51, 0xb8, 0xb8, 0x57, 0x7e, 0xb4, 0x2a, 0x45, 0xac, + 0xad, 0x37, 0x3f, 0xc7, +}; +static const struct drbg_kat_pr_false kat1959_t = { + 8, kat1959_entropyin, kat1959_nonce, kat1959_persstr, + kat1959_entropyinreseed, kat1959_addinreseed, kat1959_addin0, + kat1959_addin1, kat1959_retbits +}; +static const struct drbg_kat kat1959 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1959_t +}; + +static const unsigned char kat1960_entropyin[] = { + 0x23, 0x88, 0x16, 0x18, 0xde, 0x81, 0xab, 0x18, 0xa1, 0xe3, 0x15, 0x96, + 0xae, 0x03, 0x63, 0x2a, 0x50, 0x0e, 0xe8, 0xd7, 0x51, 0xc4, 0xbd, 0x30, + 0x97, 0x22, 0x77, 0xe3, 0xab, 0xdd, 0xb4, 0x8d, +}; +static const unsigned char kat1960_nonce[] = { + 0x88, 0xcd, 0x13, 0x0a, 0x12, 0xf9, 0x2a, 0xad, 0x96, 0xe1, 0x6b, 0x13, + 0xda, 0xdc, 0xd9, 0xdd, +}; +static const unsigned char kat1960_persstr[] = { + 0x2d, 0x9d, 0xae, 0x1d, 0xcd, 0x0b, 0x7b, 0x57, 0x10, 0x88, 0x80, 0xc3, + 0x22, 0x51, 0x41, 0x65, 0x24, 0x01, 0x40, 0xd8, 0x75, 0xf2, 0xfc, 0x82, + 0x9d, 0x9b, 0x2e, 0xf9, 0x9d, 0xd3, 0x71, 0xc8, +}; +static const unsigned char kat1960_entropyinreseed[] = { + 0x85, 0x75, 0xf1, 0x6a, 0xc4, 0x2d, 0xce, 0x0d, 0xe1, 0x13, 0x23, 0x90, + 0x53, 0x54, 0x99, 0x1f, 0x1b, 0x2e, 0x85, 0xd7, 0x5c, 0x2c, 0x89, 0x30, + 0x2f, 0x5a, 0x63, 0x4c, 0xb0, 0xda, 0x24, 0x37, +}; +static const unsigned char kat1960_addinreseed[] = {0}; +static const unsigned char kat1960_addin0[] = {0}; +static const unsigned char kat1960_addin1[] = {0}; +static const unsigned char kat1960_retbits[] = { + 0x66, 0x30, 0x8b, 0x40, 0xe1, 0x2d, 0xcb, 0x28, 0x68, 0x39, 0xf2, 0x4d, + 0x88, 0xcd, 0x19, 0xeb, 0x46, 0xc4, 0x49, 0x0d, 0xca, 0xfa, 0x92, 0xd8, + 0xea, 0x19, 0xd0, 0xb2, 0x6f, 0x73, 0xe1, 0x51, 0x50, 0xe9, 0x2c, 0x9e, + 0x79, 0x18, 0xa2, 0xf1, 0x8c, 0x9b, 0x26, 0x59, 0x9c, 0x9f, 0x19, 0xa8, + 0x13, 0xb4, 0xf0, 0x1e, 0xd5, 0x66, 0x17, 0x41, 0x27, 0xfe, 0xae, 0xfc, + 0x5d, 0x15, 0x1f, 0xf4, +}; +static const struct drbg_kat_pr_false kat1960_t = { + 9, kat1960_entropyin, kat1960_nonce, kat1960_persstr, + kat1960_entropyinreseed, kat1960_addinreseed, kat1960_addin0, + kat1960_addin1, kat1960_retbits +}; +static const struct drbg_kat kat1960 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1960_t +}; + +static const unsigned char kat1961_entropyin[] = { + 0xcb, 0xde, 0x0b, 0x36, 0x4d, 0xb2, 0x2d, 0x51, 0x07, 0xfc, 0xb2, 0x9b, + 0x06, 0x62, 0x84, 0x70, 0x15, 0x06, 0x2f, 0xbe, 0x18, 0x0f, 0x9d, 0xd1, + 0x3f, 0x8b, 0x6a, 0x0f, 0xa7, 0x9c, 0xe7, 0xdb, +}; +static const unsigned char kat1961_nonce[] = { + 0xf1, 0x29, 0x4d, 0xd5, 0x52, 0x6d, 0x94, 0x97, 0x2e, 0xb0, 0x8f, 0xb3, + 0xfa, 0xb7, 0x83, 0xff, +}; +static const unsigned char kat1961_persstr[] = { + 0x7b, 0x1d, 0x46, 0x97, 0x6d, 0x6d, 0x18, 0xf0, 0xad, 0x0c, 0x39, 0x28, + 0x6b, 0x9a, 0x9d, 0x55, 0x49, 0xc6, 0xaa, 0xab, 0xdf, 0x1d, 0xf0, 0xf0, + 0x28, 0x5d, 0x2e, 0xec, 0xe4, 0xa2, 0x9a, 0x58, +}; +static const unsigned char kat1961_entropyinreseed[] = { + 0x3d, 0x71, 0xf3, 0xc4, 0xf5, 0xea, 0xe7, 0x78, 0x33, 0x3e, 0x65, 0x31, + 0x56, 0x64, 0xd4, 0x4d, 0x3a, 0x0a, 0x58, 0x86, 0x5b, 0xdd, 0xfd, 0x62, + 0xd2, 0x2f, 0x01, 0x9d, 0xcf, 0x2b, 0xcb, 0xdb, +}; +static const unsigned char kat1961_addinreseed[] = {0}; +static const unsigned char kat1961_addin0[] = {0}; +static const unsigned char kat1961_addin1[] = {0}; +static const unsigned char kat1961_retbits[] = { + 0x56, 0xf7, 0x1f, 0x0d, 0x48, 0x80, 0x4e, 0x0f, 0x2e, 0xac, 0x77, 0xf5, + 0xd3, 0x4f, 0x7b, 0xdc, 0x5e, 0x73, 0xb4, 0xe6, 0x42, 0x1d, 0x30, 0x62, + 0x3a, 0x50, 0x86, 0x0a, 0x4e, 0xfb, 0x44, 0x9b, 0x4b, 0xda, 0xb3, 0x91, + 0x8b, 0xa9, 0x4a, 0x89, 0x8d, 0x01, 0x3f, 0x15, 0x13, 0xa4, 0x01, 0x45, + 0x06, 0x73, 0x10, 0x74, 0x4e, 0x9a, 0x41, 0x98, 0xc5, 0xd3, 0x15, 0x0f, + 0xbd, 0xca, 0xb5, 0xba, +}; +static const struct drbg_kat_pr_false kat1961_t = { + 10, kat1961_entropyin, kat1961_nonce, kat1961_persstr, + kat1961_entropyinreseed, kat1961_addinreseed, kat1961_addin0, + kat1961_addin1, kat1961_retbits +}; +static const struct drbg_kat kat1961 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1961_t +}; + +static const unsigned char kat1962_entropyin[] = { + 0x8b, 0xc6, 0x8f, 0xd8, 0xe3, 0xe4, 0x25, 0x4d, 0xd1, 0xcc, 0x17, 0x8c, + 0xad, 0x22, 0x71, 0x96, 0x19, 0x67, 0x33, 0x1f, 0x3a, 0x9b, 0xf3, 0xa4, + 0xb4, 0x40, 0x40, 0x7f, 0xf0, 0xcd, 0x57, 0x47, +}; +static const unsigned char kat1962_nonce[] = { + 0xf6, 0xd9, 0x2f, 0x16, 0x33, 0xa1, 0xc4, 0x15, 0xcb, 0xa8, 0xd1, 0x35, + 0x97, 0x96, 0x5f, 0x4d, +}; +static const unsigned char kat1962_persstr[] = { + 0x7f, 0x5d, 0xe4, 0x5b, 0xd1, 0x23, 0xb5, 0xf8, 0x35, 0x07, 0x1d, 0x51, + 0xbe, 0x22, 0xe5, 0x12, 0xc8, 0x66, 0x90, 0xdf, 0x17, 0xac, 0x9d, 0x21, + 0x09, 0xdd, 0xf8, 0xe2, 0xd7, 0xd4, 0xa6, 0x5e, +}; +static const unsigned char kat1962_entropyinreseed[] = { + 0x22, 0x03, 0xaf, 0xda, 0x11, 0xd3, 0x9a, 0xca, 0x50, 0x79, 0x39, 0xb0, + 0xcd, 0xc1, 0xb7, 0x1a, 0x46, 0xec, 0x50, 0xc8, 0xfc, 0x75, 0xca, 0xd8, + 0x7e, 0x86, 0x64, 0xc1, 0x43, 0x91, 0x3d, 0x07, +}; +static const unsigned char kat1962_addinreseed[] = {0}; +static const unsigned char kat1962_addin0[] = {0}; +static const unsigned char kat1962_addin1[] = {0}; +static const unsigned char kat1962_retbits[] = { + 0x5e, 0x92, 0x13, 0x22, 0xaa, 0xf8, 0x03, 0x01, 0x22, 0xa6, 0x81, 0x4c, + 0x9e, 0x33, 0xa2, 0xb6, 0x7c, 0x02, 0x05, 0x6e, 0xaf, 0xd7, 0xfc, 0xa4, + 0x57, 0xdf, 0xbd, 0xf5, 0x52, 0x7d, 0x3e, 0xf7, 0xbb, 0x95, 0x05, 0xd9, + 0x69, 0xdc, 0x35, 0x31, 0x55, 0xc7, 0xc9, 0x23, 0x4c, 0xaa, 0x50, 0x04, + 0xc3, 0xfa, 0x6c, 0x8e, 0x63, 0x80, 0xb9, 0xe2, 0x5c, 0xd6, 0xc2, 0xc3, + 0x6c, 0x84, 0x0f, 0xc6, +}; +static const struct drbg_kat_pr_false kat1962_t = { + 11, kat1962_entropyin, kat1962_nonce, kat1962_persstr, + kat1962_entropyinreseed, kat1962_addinreseed, kat1962_addin0, + kat1962_addin1, kat1962_retbits +}; +static const struct drbg_kat kat1962 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1962_t +}; + +static const unsigned char kat1963_entropyin[] = { + 0x22, 0xe2, 0xdb, 0x91, 0xef, 0xbe, 0x30, 0xb5, 0x3f, 0xa6, 0x43, 0xd8, + 0x9e, 0x60, 0x7a, 0x1b, 0x7e, 0xeb, 0x11, 0x71, 0xca, 0xf9, 0xa5, 0x0a, + 0xf5, 0xba, 0x5d, 0x86, 0x10, 0xbe, 0xc9, 0xb2, +}; +static const unsigned char kat1963_nonce[] = { + 0x7e, 0x7d, 0x51, 0xf8, 0x9c, 0x10, 0xae, 0xa9, 0xc1, 0x3a, 0xd0, 0x3a, + 0x17, 0xa6, 0xf2, 0x08, +}; +static const unsigned char kat1963_persstr[] = { + 0x8a, 0x7b, 0xc1, 0x75, 0x52, 0xa5, 0x52, 0xdb, 0x2d, 0x6c, 0x96, 0xbd, + 0xfe, 0x93, 0xf4, 0xed, 0x61, 0xf1, 0xb1, 0x1b, 0xf9, 0xf6, 0x90, 0x3b, + 0x4f, 0xe3, 0x06, 0x63, 0x8f, 0xe0, 0x35, 0x7f, +}; +static const unsigned char kat1963_entropyinreseed[] = { + 0xec, 0x21, 0x9c, 0xcf, 0x1f, 0x56, 0x55, 0xa2, 0x48, 0x1c, 0x6a, 0xf3, + 0x5d, 0x88, 0x66, 0xf3, 0x54, 0x47, 0x2b, 0xf2, 0x57, 0x44, 0x73, 0x11, + 0x41, 0xbe, 0xf7, 0x46, 0x36, 0x87, 0xfd, 0x28, +}; +static const unsigned char kat1963_addinreseed[] = {0}; +static const unsigned char kat1963_addin0[] = {0}; +static const unsigned char kat1963_addin1[] = {0}; +static const unsigned char kat1963_retbits[] = { + 0x19, 0xc4, 0x2f, 0x82, 0xf8, 0xff, 0xba, 0x0d, 0xb3, 0x58, 0x7d, 0xbd, + 0xda, 0xcb, 0x95, 0x37, 0x6b, 0xe4, 0xef, 0x55, 0x46, 0xf3, 0x31, 0x24, + 0xff, 0xc3, 0x4d, 0xa4, 0x99, 0xbb, 0xdc, 0xb1, 0x5a, 0x17, 0x72, 0x7b, + 0x5f, 0x41, 0x4d, 0x01, 0x0c, 0x22, 0x72, 0x8e, 0x8f, 0x9c, 0x72, 0x1e, + 0xa0, 0xe0, 0xba, 0x5d, 0xc6, 0x8f, 0x7b, 0x29, 0x24, 0x7b, 0xfd, 0x04, + 0x94, 0x6b, 0x9d, 0xad, +}; +static const struct drbg_kat_pr_false kat1963_t = { + 12, kat1963_entropyin, kat1963_nonce, kat1963_persstr, + kat1963_entropyinreseed, kat1963_addinreseed, kat1963_addin0, + kat1963_addin1, kat1963_retbits +}; +static const struct drbg_kat kat1963 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1963_t +}; + +static const unsigned char kat1964_entropyin[] = { + 0x4f, 0x56, 0x73, 0xce, 0x79, 0x8b, 0x07, 0xee, 0x69, 0x1b, 0x0c, 0x42, + 0x6d, 0x52, 0x9e, 0xb6, 0xc9, 0x38, 0xf1, 0x6f, 0xf3, 0x30, 0x47, 0x2f, + 0xc6, 0xf6, 0x06, 0x80, 0xa3, 0x54, 0x9f, 0xd3, +}; +static const unsigned char kat1964_nonce[] = { + 0xa0, 0x7d, 0xf7, 0xd8, 0x76, 0x24, 0x12, 0xdc, 0x61, 0xa9, 0xd7, 0x8b, + 0xa0, 0x24, 0x4d, 0x5d, +}; +static const unsigned char kat1964_persstr[] = { + 0x9f, 0xdc, 0xb1, 0x7d, 0xa4, 0x41, 0x92, 0xca, 0xad, 0x6b, 0x57, 0x0d, + 0xd5, 0xe7, 0x5b, 0xe6, 0x6c, 0x3b, 0x30, 0x3c, 0xa7, 0xc1, 0x4b, 0xf7, + 0x20, 0xc9, 0x4a, 0x2d, 0xef, 0x34, 0xdd, 0xc3, +}; +static const unsigned char kat1964_entropyinreseed[] = { + 0x45, 0x48, 0xef, 0xd4, 0xfd, 0xc0, 0x6d, 0xf5, 0x45, 0x80, 0xf1, 0x42, + 0x6e, 0x1b, 0xe1, 0x45, 0x5f, 0x1e, 0x6d, 0x72, 0x4b, 0x07, 0x48, 0x09, + 0x74, 0xa4, 0xc6, 0xf1, 0x6b, 0x16, 0xa1, 0x90, +}; +static const unsigned char kat1964_addinreseed[] = {0}; +static const unsigned char kat1964_addin0[] = {0}; +static const unsigned char kat1964_addin1[] = {0}; +static const unsigned char kat1964_retbits[] = { + 0xa1, 0x72, 0xfd, 0xf2, 0xcd, 0x1a, 0xd4, 0x6d, 0xa5, 0xa9, 0x0c, 0x00, + 0xfe, 0x39, 0x2b, 0xbb, 0x5b, 0x3b, 0x44, 0x05, 0xa0, 0x77, 0x10, 0x8a, + 0x19, 0x49, 0xb5, 0x4c, 0x05, 0x23, 0x64, 0xeb, 0xdc, 0xda, 0xd3, 0x4e, + 0xb9, 0xea, 0xc9, 0x3f, 0xf9, 0x1e, 0x5e, 0x13, 0xcc, 0x67, 0xf0, 0x84, + 0x33, 0x10, 0x21, 0xf8, 0xdb, 0x72, 0x3b, 0x46, 0xfc, 0xdc, 0x13, 0x78, + 0x15, 0x7a, 0x6d, 0x0a, +}; +static const struct drbg_kat_pr_false kat1964_t = { + 13, kat1964_entropyin, kat1964_nonce, kat1964_persstr, + kat1964_entropyinreseed, kat1964_addinreseed, kat1964_addin0, + kat1964_addin1, kat1964_retbits +}; +static const struct drbg_kat kat1964 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1964_t +}; + +static const unsigned char kat1965_entropyin[] = { + 0xab, 0xc9, 0xf9, 0xd5, 0x38, 0x10, 0xde, 0x8e, 0x38, 0xba, 0xd1, 0x19, + 0xd5, 0x23, 0x40, 0x17, 0xc6, 0x6e, 0xcb, 0xd4, 0x10, 0x21, 0x86, 0x1f, + 0xa2, 0x82, 0x56, 0xe7, 0x3d, 0x3f, 0x70, 0x1b, +}; +static const unsigned char kat1965_nonce[] = { + 0x19, 0x4d, 0x4d, 0x4c, 0x8e, 0x64, 0xbd, 0xd9, 0x6c, 0xab, 0x79, 0xe2, + 0x3d, 0x21, 0x26, 0xe8, +}; +static const unsigned char kat1965_persstr[] = { + 0x21, 0xdc, 0x81, 0x41, 0xc8, 0x92, 0xea, 0x17, 0x36, 0x37, 0x52, 0x57, + 0x53, 0xc1, 0x1f, 0x11, 0x58, 0xfe, 0x74, 0x97, 0x5e, 0xe5, 0x5f, 0xfe, + 0x76, 0xc8, 0xa4, 0x39, 0xa3, 0x69, 0xfd, 0x25, +}; +static const unsigned char kat1965_entropyinreseed[] = { + 0xe9, 0x99, 0xc9, 0xd8, 0xb6, 0xec, 0xae, 0x35, 0xa4, 0xe0, 0x74, 0x1e, + 0xb9, 0x44, 0x12, 0x3b, 0x9b, 0xfb, 0x82, 0x42, 0x4d, 0xca, 0xe1, 0x84, + 0xee, 0x36, 0xba, 0xb4, 0xce, 0xdd, 0x54, 0x70, +}; +static const unsigned char kat1965_addinreseed[] = {0}; +static const unsigned char kat1965_addin0[] = {0}; +static const unsigned char kat1965_addin1[] = {0}; +static const unsigned char kat1965_retbits[] = { + 0x30, 0xc3, 0x28, 0xb6, 0xf8, 0xcd, 0x1e, 0xd8, 0x6d, 0x10, 0x6d, 0x40, + 0xb7, 0x24, 0xf9, 0x42, 0xbd, 0xbc, 0xd9, 0x03, 0x81, 0x1f, 0x4b, 0x8c, + 0x9d, 0xd0, 0xd2, 0x54, 0x66, 0x38, 0x75, 0x0e, 0x51, 0x42, 0x7e, 0xcd, + 0xb5, 0x17, 0xa9, 0x16, 0xf8, 0xae, 0x11, 0x90, 0x0c, 0x4a, 0xd7, 0x3d, + 0xb1, 0xbd, 0x1f, 0x23, 0x5c, 0xf8, 0xce, 0xf8, 0x1c, 0x60, 0xc7, 0x5c, + 0xfc, 0x4e, 0xe3, 0x23, +}; +static const struct drbg_kat_pr_false kat1965_t = { + 14, kat1965_entropyin, kat1965_nonce, kat1965_persstr, + kat1965_entropyinreseed, kat1965_addinreseed, kat1965_addin0, + kat1965_addin1, kat1965_retbits +}; +static const struct drbg_kat kat1965 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat1965_t +}; + +static const unsigned char kat1966_entropyin[] = { + 0x17, 0x4b, 0x46, 0x25, 0x00, 0x51, 0xa9, 0xe3, 0xd8, 0x0c, 0x56, 0xae, + 0x71, 0x63, 0xda, 0xfe, 0x7e, 0x54, 0x48, 0x1a, 0x56, 0xca, 0xfd, 0x3b, + 0x86, 0x25, 0xf9, 0x9b, 0xbb, 0x29, 0xc4, 0x42, +}; +static const unsigned char kat1966_nonce[] = { + 0x98, 0xff, 0xd9, 0x9c, 0x46, 0x6e, 0x0e, 0x94, 0xa4, 0x5d, 0xa7, 0xe0, + 0xe8, 0x2d, 0xbc, 0x6b, +}; +static const unsigned char kat1966_persstr[] = { + 0x70, 0x95, 0x26, 0x8e, 0x99, 0x93, 0x8b, 0x3e, 0x04, 0x27, 0x34, 0xb9, + 0x17, 0x6c, 0x9a, 0xa0, 0x51, 0xf0, 0x0a, 0x5f, 0x8d, 0x2a, 0x89, 0xad, + 0xa2, 0x14, 0xb8, 0x9b, 0xee, 0xf1, 0x8e, 0xbf, +}; +static const unsigned char kat1966_entropyinreseed[] = { + 0xe8, 0x8b, 0xe1, 0x96, 0x7c, 0x55, 0x03, 0xf6, 0x5d, 0x23, 0x86, 0x7b, + 0xbc, 0x89, 0x1b, 0xd6, 0x79, 0xdb, 0x03, 0xb4, 0x87, 0x86, 0x63, 0xf6, + 0xc8, 0x77, 0x59, 0x2d, 0xf2, 0x5f, 0x0d, 0x9a, +}; +static const unsigned char kat1966_addinreseed[] = { + 0xcd, 0xf6, 0xad, 0x54, 0x9e, 0x45, 0xb6, 0xaa, 0x5c, 0xd6, 0x7d, 0x02, + 0x49, 0x31, 0xc3, 0x3c, 0xd1, 0x33, 0xd5, 0x2d, 0x5a, 0xe5, 0x00, 0xc3, + 0x01, 0x50, 0x20, 0xbe, 0xb3, 0x0d, 0xa0, 0x63, +}; +static const unsigned char kat1966_addin0[] = { + 0xc7, 0x22, 0x8e, 0x90, 0xc6, 0x2f, 0x89, 0x6a, 0x09, 0xe1, 0x16, 0x84, + 0x53, 0x01, 0x02, 0xf9, 0x26, 0xec, 0x90, 0xa3, 0x25, 0x5f, 0x6c, 0x21, + 0xb8, 0x57, 0x88, 0x3c, 0x75, 0x80, 0x01, 0x43, +}; +static const unsigned char kat1966_addin1[] = { + 0x76, 0xa9, 0x4f, 0x22, 0x41, 0x78, 0xfe, 0x4c, 0xbf, 0x9e, 0x2b, 0x8a, + 0xcc, 0x53, 0xc9, 0xdc, 0x3e, 0x50, 0xbb, 0x61, 0x3a, 0xac, 0x89, 0x36, + 0x60, 0x14, 0x53, 0xcd, 0xa3, 0x29, 0x3b, 0x17, +}; +static const unsigned char kat1966_retbits[] = { + 0x1a, 0x6d, 0x8d, 0xbd, 0x64, 0x20, 0x76, 0xd1, 0x39, 0x16, 0xe5, 0xe2, + 0x30, 0x38, 0xb6, 0x0b, 0x26, 0x06, 0x1f, 0x13, 0xdd, 0x4e, 0x00, 0x62, + 0x77, 0xe0, 0x26, 0x86, 0x98, 0xff, 0xb2, 0xc8, 0x7e, 0x45, 0x3b, 0xae, + 0x12, 0x51, 0x63, 0x1a, 0xc9, 0x0c, 0x70, 0x1a, 0x98, 0x49, 0xd9, 0x33, + 0x99, 0x5e, 0x8b, 0x02, 0x21, 0xfe, 0x9a, 0xca, 0x19, 0x85, 0xc5, 0x46, + 0xc2, 0x07, 0x90, 0x27, +}; +static const struct drbg_kat_pr_false kat1966_t = { + 0, kat1966_entropyin, kat1966_nonce, kat1966_persstr, + kat1966_entropyinreseed, kat1966_addinreseed, kat1966_addin0, + kat1966_addin1, kat1966_retbits +}; +static const struct drbg_kat kat1966 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1966_t +}; + +static const unsigned char kat1967_entropyin[] = { + 0x4a, 0x92, 0x74, 0x81, 0x37, 0xf9, 0x99, 0x16, 0x0a, 0x6a, 0x75, 0xa2, + 0xa1, 0x4b, 0xc8, 0x78, 0x63, 0xf7, 0xd2, 0x7a, 0xef, 0x0d, 0x53, 0x5c, + 0x72, 0xc7, 0xf6, 0xc2, 0xe9, 0x6d, 0xa2, 0x45, +}; +static const unsigned char kat1967_nonce[] = { + 0x3f, 0x1a, 0xf8, 0xa2, 0x3a, 0xf9, 0xe1, 0x30, 0x95, 0xa0, 0xad, 0xa3, + 0xa9, 0x62, 0x18, 0xdb, +}; +static const unsigned char kat1967_persstr[] = { + 0xf7, 0xfc, 0xfc, 0x35, 0x6c, 0xda, 0x3a, 0x71, 0xc4, 0xc4, 0x72, 0x9a, + 0x2c, 0xa6, 0x3a, 0x0b, 0xe6, 0xb7, 0x17, 0x86, 0x12, 0xe6, 0x43, 0xea, + 0xd7, 0x8a, 0x44, 0xef, 0xa3, 0x5d, 0x11, 0x00, +}; +static const unsigned char kat1967_entropyinreseed[] = { + 0xef, 0xa6, 0xfd, 0xa8, 0x4b, 0x4d, 0x01, 0xb1, 0x16, 0xb3, 0x9d, 0xc5, + 0x14, 0xba, 0xef, 0x49, 0xff, 0x51, 0xf0, 0x18, 0x41, 0xb1, 0x94, 0x9e, + 0x94, 0xfd, 0xee, 0x2e, 0xc7, 0x46, 0xbd, 0xd4, +}; +static const unsigned char kat1967_addinreseed[] = { + 0x5d, 0x20, 0xbf, 0x1e, 0x3a, 0x06, 0x19, 0x3a, 0xb9, 0xe1, 0xe0, 0x25, + 0xc3, 0x00, 0x59, 0x14, 0x90, 0x30, 0xb1, 0x99, 0x6b, 0x72, 0x7c, 0xe6, + 0x5d, 0x07, 0x64, 0x9b, 0x62, 0xfa, 0x1b, 0xc7, +}; +static const unsigned char kat1967_addin0[] = { + 0xb5, 0x3f, 0x78, 0x08, 0x06, 0xa9, 0xad, 0x59, 0x03, 0xac, 0xdd, 0x1f, + 0x85, 0x1f, 0x0b, 0x0f, 0xe7, 0x2a, 0x33, 0x90, 0x66, 0x3b, 0x40, 0x68, + 0x20, 0x75, 0xb2, 0x5a, 0xc9, 0x2c, 0x0f, 0xd5, +}; +static const unsigned char kat1967_addin1[] = { + 0x46, 0xe8, 0x48, 0x39, 0xa1, 0x0e, 0xbb, 0x41, 0x69, 0x4e, 0x55, 0xfd, + 0x06, 0x42, 0x4e, 0x49, 0x4b, 0xe5, 0x80, 0xc5, 0xe1, 0x8e, 0x47, 0x44, + 0xdf, 0x8a, 0x64, 0x63, 0xff, 0x73, 0x4a, 0x40, +}; +static const unsigned char kat1967_retbits[] = { + 0xdc, 0x67, 0x62, 0x85, 0xe8, 0xdc, 0xfc, 0xcf, 0xfb, 0xb1, 0xc2, 0xbf, + 0x41, 0x4f, 0x4b, 0x20, 0xfe, 0xcd, 0x3e, 0x99, 0xe7, 0xa9, 0xf4, 0xd9, + 0x0b, 0xc8, 0x65, 0x06, 0x05, 0x4d, 0xbd, 0x44, 0x4a, 0x7c, 0x74, 0x0f, + 0x48, 0xe7, 0x1f, 0x12, 0x93, 0x1e, 0x86, 0x4e, 0xe6, 0x3c, 0x69, 0x03, + 0x74, 0xb1, 0x4d, 0x18, 0x20, 0xea, 0xef, 0xc1, 0xbf, 0x5f, 0x0d, 0x8b, + 0x57, 0x15, 0x0b, 0x5b, +}; +static const struct drbg_kat_pr_false kat1967_t = { + 1, kat1967_entropyin, kat1967_nonce, kat1967_persstr, + kat1967_entropyinreseed, kat1967_addinreseed, kat1967_addin0, + kat1967_addin1, kat1967_retbits +}; +static const struct drbg_kat kat1967 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1967_t +}; + +static const unsigned char kat1968_entropyin[] = { + 0x0a, 0xb7, 0x99, 0x5c, 0xb7, 0x93, 0x6f, 0x22, 0xfe, 0xa0, 0x32, 0x40, + 0xfd, 0x87, 0x86, 0x6e, 0xd3, 0x90, 0x75, 0xee, 0xd9, 0x4b, 0xbf, 0xc6, + 0xbe, 0x78, 0x5a, 0xd0, 0x52, 0x55, 0x2a, 0xb4, +}; +static const unsigned char kat1968_nonce[] = { + 0x5f, 0x1b, 0x0e, 0x41, 0x7d, 0x86, 0x7a, 0x38, 0xee, 0x09, 0x94, 0xf9, + 0x6e, 0xd6, 0xe8, 0xe1, +}; +static const unsigned char kat1968_persstr[] = { + 0x43, 0x05, 0xa7, 0xe0, 0x1f, 0x93, 0x1e, 0x2d, 0xd7, 0x68, 0x30, 0xcf, + 0xc3, 0x8b, 0xd1, 0x66, 0xb2, 0x35, 0x93, 0x4d, 0x25, 0x05, 0x84, 0x88, + 0x4f, 0x9b, 0x6a, 0x4d, 0x78, 0x37, 0x83, 0x8f, +}; +static const unsigned char kat1968_entropyinreseed[] = { + 0x5c, 0xc4, 0x8c, 0xd4, 0xc1, 0x9e, 0x8c, 0x17, 0xcd, 0x9f, 0xcc, 0xf6, + 0x7f, 0xb4, 0xaa, 0x80, 0x08, 0xa7, 0x45, 0xf9, 0x22, 0xf3, 0xe7, 0xe5, + 0x1f, 0xd2, 0x9c, 0xc1, 0xc1, 0x49, 0x0a, 0xe7, +}; +static const unsigned char kat1968_addinreseed[] = { + 0x89, 0x63, 0x2c, 0x6a, 0x52, 0xe9, 0x25, 0x73, 0x21, 0x4f, 0x50, 0x28, + 0x9a, 0xc7, 0x43, 0x16, 0x5e, 0xc7, 0xb2, 0x2e, 0x6c, 0x9e, 0xf9, 0x5b, + 0xe8, 0xee, 0x4a, 0x8d, 0x3a, 0xd9, 0x68, 0xab, +}; +static const unsigned char kat1968_addin0[] = { + 0x9b, 0xad, 0x67, 0xae, 0x47, 0x2d, 0x90, 0x1d, 0x3e, 0xb0, 0x44, 0xc5, + 0x39, 0x4e, 0x49, 0x68, 0xb2, 0xc2, 0xbf, 0xed, 0x1f, 0xa6, 0x51, 0x03, + 0xaa, 0x35, 0xb1, 0x21, 0xd7, 0xea, 0xda, 0xf1, +}; +static const unsigned char kat1968_addin1[] = { + 0xaf, 0x71, 0x5e, 0xb5, 0x88, 0x9f, 0x22, 0xfb, 0x63, 0xd0, 0x04, 0xb3, + 0xd7, 0xed, 0x48, 0x5c, 0x60, 0xb0, 0x34, 0x2d, 0x4a, 0xf7, 0x37, 0xac, + 0x32, 0xe0, 0x7c, 0xa5, 0x54, 0x6e, 0x74, 0xa3, +}; +static const unsigned char kat1968_retbits[] = { + 0x92, 0x37, 0xd5, 0xa4, 0x04, 0xf7, 0xeb, 0xa1, 0x57, 0xf1, 0xd9, 0xb8, + 0xbc, 0x82, 0xf6, 0xed, 0x1f, 0x82, 0x99, 0x25, 0xc2, 0xc6, 0x90, 0xf9, + 0x05, 0xb1, 0x03, 0x0f, 0xf4, 0xb3, 0xa5, 0x92, 0xf5, 0xe2, 0x21, 0xe9, + 0x9d, 0x76, 0xc1, 0x42, 0x1a, 0x41, 0xe8, 0xf7, 0x4b, 0xc1, 0xf7, 0x8a, + 0xb4, 0xa7, 0x70, 0x01, 0xe3, 0x9d, 0x87, 0xd4, 0x2f, 0x42, 0x60, 0xcb, + 0xaf, 0x4a, 0x40, 0xc1, +}; +static const struct drbg_kat_pr_false kat1968_t = { + 2, kat1968_entropyin, kat1968_nonce, kat1968_persstr, + kat1968_entropyinreseed, kat1968_addinreseed, kat1968_addin0, + kat1968_addin1, kat1968_retbits +}; +static const struct drbg_kat kat1968 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1968_t +}; + +static const unsigned char kat1969_entropyin[] = { + 0x5f, 0x04, 0x39, 0x91, 0x65, 0xa2, 0x39, 0x2f, 0x61, 0xc5, 0x88, 0xfe, + 0x64, 0x6e, 0x9d, 0x8c, 0xdc, 0x9b, 0x2c, 0x35, 0x6f, 0x7b, 0x00, 0x50, + 0x27, 0x16, 0xdc, 0x43, 0x3e, 0xcf, 0x91, 0x3d, +}; +static const unsigned char kat1969_nonce[] = { + 0xd3, 0xc9, 0xb9, 0x33, 0x6b, 0xcd, 0xef, 0x76, 0xbe, 0x6d, 0xa4, 0x2d, + 0x67, 0xb7, 0x7c, 0x73, +}; +static const unsigned char kat1969_persstr[] = { + 0xf3, 0x1c, 0xb8, 0xec, 0x30, 0xe0, 0x87, 0xc6, 0xf9, 0x32, 0x50, 0x08, + 0x77, 0xb9, 0xd7, 0xb3, 0xc4, 0x75, 0x66, 0xcd, 0x91, 0x9e, 0x79, 0xd1, + 0x87, 0x34, 0x0b, 0xaa, 0x4d, 0x38, 0x9c, 0xed, +}; +static const unsigned char kat1969_entropyinreseed[] = { + 0x73, 0x62, 0xfd, 0x81, 0x35, 0x5a, 0xdb, 0x2d, 0x42, 0x21, 0xfd, 0x66, + 0xa8, 0x5e, 0xcd, 0x20, 0xe9, 0x49, 0xb9, 0x12, 0xc4, 0xae, 0xf9, 0xc1, + 0x28, 0x51, 0xb7, 0x91, 0x6d, 0x44, 0x18, 0x67, +}; +static const unsigned char kat1969_addinreseed[] = { + 0xf8, 0x11, 0x56, 0x38, 0x23, 0xd0, 0x46, 0x62, 0x56, 0x42, 0xe0, 0x52, + 0xaa, 0xdb, 0x89, 0xbd, 0x64, 0x14, 0x67, 0x3b, 0xe1, 0x41, 0x9d, 0x34, + 0x2a, 0x7e, 0x3d, 0xc3, 0xbb, 0x1a, 0xdd, 0x17, +}; +static const unsigned char kat1969_addin0[] = { + 0x6a, 0x06, 0xf3, 0x07, 0x79, 0x56, 0x9b, 0x7d, 0x56, 0x1e, 0xe1, 0x6b, + 0xd5, 0x2e, 0xb8, 0xfa, 0x7c, 0xe6, 0x0d, 0x23, 0x6e, 0x81, 0x92, 0xf8, + 0x01, 0x83, 0x10, 0xd9, 0x01, 0xad, 0xb6, 0x54, +}; +static const unsigned char kat1969_addin1[] = { + 0x9b, 0xf4, 0x89, 0xbd, 0x45, 0xe4, 0xdd, 0x75, 0x20, 0x7d, 0xbe, 0x73, + 0x39, 0xb9, 0xe0, 0x46, 0x6f, 0x53, 0x71, 0x82, 0x2f, 0x8e, 0x90, 0xdc, + 0xca, 0xa2, 0xa3, 0x1b, 0x3c, 0x78, 0x8a, 0x2b, +}; +static const unsigned char kat1969_retbits[] = { + 0x00, 0xd8, 0x8e, 0x7f, 0xa5, 0x28, 0xf8, 0x30, 0xbe, 0x3e, 0xad, 0x61, + 0xdd, 0xba, 0x12, 0x98, 0xdc, 0xad, 0x36, 0x6c, 0x0a, 0xb1, 0xa4, 0xe9, + 0x0f, 0x49, 0xf1, 0x35, 0x87, 0xb9, 0x32, 0x69, 0x32, 0xd8, 0xe1, 0x97, + 0x2c, 0x4e, 0x7b, 0x33, 0x5c, 0xee, 0xdd, 0x2f, 0xb1, 0x7d, 0x33, 0x46, + 0x47, 0xef, 0x6f, 0x40, 0x6e, 0x30, 0x82, 0xa1, 0xc3, 0x3f, 0xf4, 0xde, + 0x98, 0x6a, 0x55, 0x57, +}; +static const struct drbg_kat_pr_false kat1969_t = { + 3, kat1969_entropyin, kat1969_nonce, kat1969_persstr, + kat1969_entropyinreseed, kat1969_addinreseed, kat1969_addin0, + kat1969_addin1, kat1969_retbits +}; +static const struct drbg_kat kat1969 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1969_t +}; + +static const unsigned char kat1970_entropyin[] = { + 0xa7, 0xa0, 0x53, 0x61, 0xd4, 0x28, 0xaf, 0x23, 0xa0, 0xd4, 0xf1, 0x32, + 0x76, 0x8a, 0x4b, 0x24, 0xfb, 0xd7, 0x8e, 0x1f, 0x42, 0xfb, 0x46, 0x20, + 0x5d, 0x7b, 0x52, 0x89, 0x1b, 0x22, 0x97, 0xa8, +}; +static const unsigned char kat1970_nonce[] = { + 0x81, 0x77, 0x60, 0x0c, 0xb1, 0xff, 0xea, 0x16, 0x12, 0x77, 0xa8, 0x39, + 0xad, 0x5d, 0x05, 0xfa, +}; +static const unsigned char kat1970_persstr[] = { + 0x79, 0xce, 0x51, 0xa1, 0xc2, 0x95, 0xc9, 0xa3, 0x8d, 0x11, 0xdb, 0x50, + 0x23, 0xc3, 0x49, 0xfb, 0xa3, 0x47, 0xe1, 0x93, 0x96, 0x1c, 0x90, 0xaf, + 0x9e, 0x2e, 0x73, 0x26, 0x42, 0x0d, 0x90, 0x28, +}; +static const unsigned char kat1970_entropyinreseed[] = { + 0x66, 0x40, 0x38, 0xf3, 0xe8, 0xbf, 0xd6, 0xb0, 0xba, 0x65, 0x52, 0xe8, + 0x36, 0x98, 0xb3, 0xf4, 0x94, 0x5f, 0x18, 0x2c, 0x40, 0x0b, 0xff, 0xab, + 0x74, 0xb4, 0x6f, 0x07, 0xad, 0x42, 0x76, 0x4e, +}; +static const unsigned char kat1970_addinreseed[] = { + 0xa5, 0x82, 0xb4, 0x50, 0xef, 0xf2, 0x1d, 0xc5, 0xc0, 0xbb, 0xde, 0x22, + 0x5c, 0xf9, 0x02, 0xa4, 0x85, 0x88, 0x91, 0xff, 0x42, 0xb2, 0xcd, 0xc5, + 0x20, 0x80, 0x91, 0x10, 0x64, 0x48, 0x58, 0x2e, +}; +static const unsigned char kat1970_addin0[] = { + 0x1f, 0xa8, 0xbe, 0x06, 0x76, 0xba, 0x5b, 0x09, 0xb8, 0x4d, 0x43, 0xac, + 0x44, 0xc7, 0x84, 0x32, 0x85, 0x8e, 0xfa, 0x4b, 0xda, 0x7b, 0x4a, 0xad, + 0x8d, 0x6a, 0x7e, 0x64, 0xd1, 0x55, 0xcc, 0x89, +}; +static const unsigned char kat1970_addin1[] = { + 0xb7, 0x36, 0x8a, 0x0e, 0x32, 0xea, 0x9e, 0x17, 0x61, 0x63, 0x67, 0x92, + 0x19, 0x58, 0x0f, 0xd0, 0x50, 0xf7, 0x56, 0x6a, 0x31, 0x8f, 0x1b, 0x6c, + 0x5f, 0xaf, 0x1e, 0x84, 0xe2, 0xe9, 0x07, 0x0f, +}; +static const unsigned char kat1970_retbits[] = { + 0x56, 0xeb, 0xc2, 0x2b, 0xd2, 0x5e, 0x87, 0x23, 0x3e, 0x27, 0x44, 0x8f, + 0x3d, 0x78, 0xd0, 0x27, 0xfd, 0x9a, 0xb6, 0x06, 0xf0, 0x0a, 0xd1, 0x7d, + 0x9c, 0x42, 0x7c, 0x7a, 0xd8, 0x8a, 0x29, 0x7b, 0x94, 0x0f, 0x04, 0x4a, + 0x7e, 0x6d, 0xc5, 0x48, 0xa9, 0xec, 0x12, 0x07, 0x4a, 0xc9, 0xcb, 0x87, + 0x14, 0x8b, 0x6b, 0x2d, 0x48, 0xd7, 0x0b, 0x24, 0xcf, 0xd6, 0xe2, 0x03, + 0x44, 0xe7, 0xb8, 0x5b, +}; +static const struct drbg_kat_pr_false kat1970_t = { + 4, kat1970_entropyin, kat1970_nonce, kat1970_persstr, + kat1970_entropyinreseed, kat1970_addinreseed, kat1970_addin0, + kat1970_addin1, kat1970_retbits +}; +static const struct drbg_kat kat1970 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1970_t +}; + +static const unsigned char kat1971_entropyin[] = { + 0x2d, 0x06, 0x66, 0x50, 0x7c, 0xc6, 0xe1, 0xe6, 0xab, 0x6d, 0x87, 0x44, + 0x83, 0x35, 0x38, 0x05, 0x67, 0x22, 0xd6, 0x72, 0x0a, 0xf8, 0x8d, 0x01, + 0x09, 0xd0, 0xef, 0x56, 0x3e, 0xc1, 0xd1, 0x3e, +}; +static const unsigned char kat1971_nonce[] = { + 0xcb, 0x71, 0x96, 0x4e, 0x05, 0x72, 0x1f, 0xc4, 0xe6, 0xfd, 0x22, 0x79, + 0xdf, 0x81, 0xee, 0x45, +}; +static const unsigned char kat1971_persstr[] = { + 0x0d, 0x07, 0xef, 0xdd, 0x5a, 0x8e, 0x15, 0x25, 0x26, 0xb7, 0xbd, 0x59, + 0x21, 0x77, 0x4c, 0xe5, 0x04, 0xf0, 0xc4, 0xff, 0x8c, 0xca, 0xca, 0x1d, + 0x86, 0x15, 0xe0, 0x74, 0xf8, 0xc9, 0x93, 0x1b, +}; +static const unsigned char kat1971_entropyinreseed[] = { + 0xc9, 0x21, 0x8f, 0x42, 0xa2, 0xa5, 0x63, 0x1e, 0x75, 0x7e, 0x6e, 0x92, + 0xcc, 0xdb, 0x84, 0x8b, 0x51, 0xb0, 0xc9, 0xba, 0xc8, 0x94, 0x58, 0x88, + 0xcb, 0x9f, 0xda, 0x7e, 0xe1, 0x09, 0x56, 0xb8, +}; +static const unsigned char kat1971_addinreseed[] = { + 0xf8, 0x30, 0x52, 0x47, 0xd7, 0xcc, 0xa7, 0xb0, 0x65, 0xdb, 0x7e, 0xae, + 0xeb, 0x13, 0xab, 0xc3, 0x18, 0x71, 0xe7, 0xa8, 0xcd, 0x76, 0x63, 0xc2, + 0x91, 0x08, 0x3c, 0x87, 0xd9, 0xcb, 0xc1, 0x84, +}; +static const unsigned char kat1971_addin0[] = { + 0xb9, 0xc4, 0x8f, 0x33, 0x81, 0xf9, 0xcc, 0x54, 0x97, 0x5f, 0x9b, 0xd4, + 0x6d, 0x00, 0x38, 0x66, 0x44, 0x18, 0x3f, 0x17, 0x16, 0xb2, 0xe0, 0x4c, + 0xf1, 0x07, 0x2c, 0x0e, 0x53, 0xf5, 0xa4, 0xeb, +}; +static const unsigned char kat1971_addin1[] = { + 0xef, 0x19, 0x0e, 0x7e, 0xb3, 0xb6, 0x0f, 0x61, 0x46, 0x65, 0x63, 0x8f, + 0xb3, 0xba, 0xe5, 0x66, 0xd2, 0x5e, 0x77, 0x90, 0x21, 0x70, 0x42, 0x38, + 0x54, 0x60, 0x18, 0x40, 0x84, 0x9e, 0x62, 0x88, +}; +static const unsigned char kat1971_retbits[] = { + 0xe6, 0x2e, 0x6a, 0x47, 0x88, 0x65, 0x7b, 0xa4, 0xe9, 0xb9, 0x37, 0x1d, + 0x1e, 0x72, 0xe7, 0xb0, 0x70, 0xe5, 0x88, 0x57, 0x31, 0x8f, 0x4d, 0x3a, + 0x7f, 0x0e, 0xf3, 0x70, 0x21, 0x4a, 0x2f, 0x4e, 0xb4, 0xb4, 0x5d, 0x32, + 0x97, 0x6a, 0xf7, 0x9c, 0x7c, 0xfd, 0xc4, 0x49, 0x44, 0x7b, 0x51, 0x71, + 0x48, 0x92, 0xbe, 0x31, 0xc9, 0x92, 0x30, 0x99, 0x6f, 0xa6, 0xa1, 0x8f, + 0x23, 0x65, 0x80, 0x76, +}; +static const struct drbg_kat_pr_false kat1971_t = { + 5, kat1971_entropyin, kat1971_nonce, kat1971_persstr, + kat1971_entropyinreseed, kat1971_addinreseed, kat1971_addin0, + kat1971_addin1, kat1971_retbits +}; +static const struct drbg_kat kat1971 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1971_t +}; + +static const unsigned char kat1972_entropyin[] = { + 0x49, 0x1c, 0xc3, 0x12, 0x91, 0xac, 0x33, 0xe3, 0x69, 0xde, 0xd4, 0xe7, + 0xae, 0xb0, 0x7e, 0xe5, 0x77, 0x7f, 0x3e, 0x18, 0x3e, 0x30, 0xa8, 0x32, + 0x7b, 0x4e, 0x56, 0x49, 0x80, 0x92, 0x82, 0x58, +}; +static const unsigned char kat1972_nonce[] = { + 0x4d, 0x38, 0x0f, 0x5a, 0xe8, 0x77, 0xce, 0xcf, 0x4d, 0x70, 0xc6, 0x56, + 0x0e, 0x92, 0x26, 0xba, +}; +static const unsigned char kat1972_persstr[] = { + 0xa3, 0x22, 0x05, 0xba, 0x78, 0x25, 0x3d, 0x54, 0x21, 0xfe, 0x61, 0xbe, + 0x3c, 0x8b, 0xa8, 0x99, 0x03, 0x11, 0xfd, 0xdc, 0xa1, 0x81, 0x50, 0x3b, + 0x2a, 0x85, 0xb9, 0x82, 0x74, 0x50, 0x6f, 0x90, +}; +static const unsigned char kat1972_entropyinreseed[] = { + 0x57, 0xc8, 0x4a, 0xbf, 0x8e, 0x41, 0x80, 0xa6, 0x8d, 0x84, 0x32, 0x06, + 0x36, 0x9a, 0x6a, 0x5d, 0xb1, 0x3e, 0x02, 0xf9, 0x9f, 0x65, 0x75, 0x1f, + 0x92, 0x22, 0xe7, 0x4b, 0x06, 0xa7, 0xdc, 0xab, +}; +static const unsigned char kat1972_addinreseed[] = { + 0xb2, 0x79, 0x26, 0x41, 0xd5, 0x42, 0x2b, 0x27, 0x6a, 0x56, 0xb9, 0x97, + 0x21, 0x24, 0x37, 0x52, 0x75, 0xb0, 0xbb, 0x2e, 0x52, 0xd2, 0xea, 0x65, + 0x2e, 0x53, 0xd8, 0xbe, 0xd5, 0xfc, 0xe8, 0xb6, +}; +static const unsigned char kat1972_addin0[] = { + 0x17, 0xa6, 0x9c, 0x86, 0x2f, 0xff, 0xd1, 0xb0, 0xf3, 0x55, 0x71, 0x6f, + 0xb1, 0x0c, 0x9f, 0xc9, 0xfa, 0x8d, 0xc7, 0xe2, 0x9e, 0xc7, 0x46, 0xed, + 0x3a, 0xf2, 0x62, 0x08, 0x53, 0x03, 0xa8, 0x95, +}; +static const unsigned char kat1972_addin1[] = { + 0x0b, 0xeb, 0x0a, 0xf4, 0x1f, 0xa7, 0x9e, 0xc5, 0x39, 0x26, 0x1c, 0x85, + 0x61, 0x17, 0x6c, 0xed, 0xa3, 0x88, 0x8b, 0x56, 0x90, 0x24, 0xfd, 0x44, + 0xca, 0xdd, 0xc7, 0xd7, 0xb9, 0x9a, 0x9a, 0x6c, +}; +static const unsigned char kat1972_retbits[] = { + 0x27, 0x81, 0x00, 0x65, 0x97, 0xc9, 0x2e, 0xe6, 0x8f, 0xd5, 0xb1, 0x79, + 0x13, 0x01, 0xa5, 0x64, 0x30, 0x71, 0x25, 0xde, 0x30, 0xdf, 0xe3, 0x83, + 0x0c, 0x0b, 0xff, 0x48, 0x27, 0xf7, 0x4b, 0xe3, 0xa1, 0x1c, 0x21, 0xfd, + 0xa3, 0x9e, 0x4c, 0xff, 0xd2, 0x92, 0xcf, 0xe7, 0x4d, 0x69, 0x1e, 0x00, + 0xe9, 0x1f, 0x43, 0x15, 0x60, 0xd3, 0x2f, 0xcd, 0xf5, 0xe6, 0xe5, 0xa3, + 0xae, 0xad, 0xa9, 0x0b, +}; +static const struct drbg_kat_pr_false kat1972_t = { + 6, kat1972_entropyin, kat1972_nonce, kat1972_persstr, + kat1972_entropyinreseed, kat1972_addinreseed, kat1972_addin0, + kat1972_addin1, kat1972_retbits +}; +static const struct drbg_kat kat1972 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1972_t +}; + +static const unsigned char kat1973_entropyin[] = { + 0x44, 0xc9, 0xd4, 0x36, 0x1c, 0x63, 0x9e, 0xe3, 0x50, 0x88, 0x22, 0x03, + 0xe0, 0x8f, 0x81, 0xa5, 0xff, 0xec, 0x04, 0x4c, 0x35, 0xd8, 0x4e, 0x3b, + 0x60, 0x11, 0x7d, 0x45, 0xda, 0xfb, 0x33, 0xfd, +}; +static const unsigned char kat1973_nonce[] = { + 0x42, 0xb3, 0x02, 0xfa, 0xf1, 0x98, 0x1a, 0x5c, 0x90, 0xc6, 0x84, 0xc6, + 0xd4, 0xae, 0x1c, 0x66, +}; +static const unsigned char kat1973_persstr[] = { + 0x65, 0x61, 0xd6, 0xf2, 0x98, 0x20, 0x5a, 0x0b, 0xf0, 0x52, 0xed, 0xf7, + 0x3d, 0xfd, 0xd1, 0xd5, 0x8e, 0xef, 0x8a, 0xb6, 0xdf, 0x93, 0x93, 0x54, + 0x5e, 0x1f, 0xc7, 0x69, 0x1e, 0x23, 0xde, 0x88, +}; +static const unsigned char kat1973_entropyinreseed[] = { + 0x9f, 0x0e, 0xfe, 0xe8, 0x6b, 0x42, 0x67, 0x62, 0xf1, 0xd6, 0x5e, 0x2c, + 0x70, 0x2e, 0xfe, 0x93, 0x94, 0x29, 0x30, 0xc3, 0xf3, 0x68, 0xfd, 0x17, + 0xbb, 0x3a, 0xaf, 0xa0, 0x3e, 0x47, 0x2e, 0x77, +}; +static const unsigned char kat1973_addinreseed[] = { + 0x1f, 0xaf, 0x3b, 0x76, 0x2a, 0x40, 0xad, 0x81, 0x5c, 0x67, 0xbe, 0x4e, + 0xfe, 0xc9, 0xac, 0x0f, 0x2a, 0xc2, 0x94, 0xc7, 0x22, 0x6f, 0xe7, 0xac, + 0x8a, 0x9d, 0x68, 0xa3, 0x46, 0x09, 0x91, 0x1d, +}; +static const unsigned char kat1973_addin0[] = { + 0x7d, 0xba, 0xd1, 0x57, 0xb0, 0x98, 0x14, 0x17, 0x73, 0xf9, 0x63, 0x0c, + 0xfa, 0x4e, 0x71, 0xee, 0xdf, 0x36, 0x32, 0x9b, 0x92, 0x50, 0x0b, 0x65, + 0x55, 0x1c, 0xec, 0xab, 0x57, 0xae, 0x99, 0x44, +}; +static const unsigned char kat1973_addin1[] = { + 0x03, 0x14, 0xf5, 0xea, 0x3a, 0xab, 0xad, 0xbc, 0x0c, 0x3d, 0xb2, 0x5f, + 0x7f, 0xd1, 0x45, 0x61, 0x0b, 0xa3, 0x50, 0xb2, 0xb2, 0x78, 0xd4, 0x05, + 0xd0, 0x0a, 0x36, 0x89, 0xb6, 0x75, 0x0a, 0xf3, +}; +static const unsigned char kat1973_retbits[] = { + 0xde, 0x13, 0x6a, 0x0f, 0x97, 0x44, 0x7d, 0x24, 0xea, 0x51, 0x60, 0xec, + 0x1a, 0xb9, 0x3b, 0xa7, 0xfe, 0x80, 0x44, 0xfe, 0x3b, 0x8a, 0xe8, 0x69, + 0xf5, 0xc4, 0x48, 0xcc, 0x9e, 0x27, 0xa4, 0x8e, 0x18, 0x44, 0xd8, 0xfa, + 0xe0, 0x68, 0x70, 0x5b, 0x6c, 0xd7, 0x86, 0x7e, 0xa1, 0xae, 0xb5, 0xa3, + 0xf0, 0xd4, 0x9e, 0x79, 0xea, 0x9f, 0x51, 0x37, 0x69, 0x4e, 0xca, 0x28, + 0x65, 0x96, 0x40, 0x4d, +}; +static const struct drbg_kat_pr_false kat1973_t = { + 7, kat1973_entropyin, kat1973_nonce, kat1973_persstr, + kat1973_entropyinreseed, kat1973_addinreseed, kat1973_addin0, + kat1973_addin1, kat1973_retbits +}; +static const struct drbg_kat kat1973 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1973_t +}; + +static const unsigned char kat1974_entropyin[] = { + 0xb5, 0x43, 0x0c, 0x96, 0x22, 0xac, 0x2d, 0xde, 0xf3, 0x03, 0xee, 0xac, + 0x62, 0xdb, 0x05, 0x75, 0xba, 0x07, 0x1f, 0xfb, 0x73, 0xec, 0xb0, 0x19, + 0xf7, 0xf3, 0xc5, 0xb8, 0xd7, 0x3f, 0x8a, 0x05, +}; +static const unsigned char kat1974_nonce[] = { + 0xd3, 0xa3, 0x07, 0x22, 0xd6, 0xb4, 0x30, 0xbc, 0x9e, 0x9a, 0xe6, 0x13, + 0x47, 0x74, 0x46, 0x91, +}; +static const unsigned char kat1974_persstr[] = { + 0x3f, 0xb2, 0x8f, 0x0a, 0x48, 0xd5, 0x6d, 0x87, 0x13, 0xc8, 0x59, 0xd2, + 0xfc, 0x05, 0x0c, 0xc2, 0x8e, 0xc3, 0xa6, 0xa1, 0x0e, 0x20, 0x60, 0xdb, + 0x25, 0x0f, 0x73, 0xb2, 0x1e, 0x79, 0x83, 0xb4, +}; +static const unsigned char kat1974_entropyinreseed[] = { + 0xdd, 0xa8, 0x22, 0xa6, 0x96, 0x85, 0x15, 0x71, 0xaa, 0x5b, 0x1e, 0x07, + 0x26, 0x61, 0x6c, 0xe1, 0x12, 0x2e, 0x71, 0xdc, 0xe3, 0x3d, 0x54, 0xfb, + 0x75, 0xf2, 0x3f, 0xf2, 0xb9, 0x1a, 0xf9, 0x55, +}; +static const unsigned char kat1974_addinreseed[] = { + 0x07, 0x63, 0x35, 0xd2, 0x3d, 0xb4, 0x02, 0x31, 0x63, 0x4d, 0x4c, 0x90, + 0xd2, 0x19, 0x1b, 0xbb, 0x25, 0xa5, 0x2e, 0x2f, 0x20, 0xf2, 0x77, 0xea, + 0xec, 0x90, 0xe2, 0xc0, 0x6c, 0x9f, 0xde, 0x82, +}; +static const unsigned char kat1974_addin0[] = { + 0x5f, 0x34, 0xc6, 0x1b, 0x82, 0xf5, 0x51, 0x6b, 0x67, 0xbe, 0xd5, 0x10, + 0x20, 0x98, 0x07, 0xad, 0xe3, 0xa6, 0x68, 0x7a, 0x3c, 0x5f, 0x03, 0xb2, + 0x94, 0xad, 0x11, 0x64, 0xa4, 0xd7, 0xa1, 0x52, +}; +static const unsigned char kat1974_addin1[] = { + 0x83, 0xd4, 0x0f, 0xd5, 0x5b, 0x12, 0xfc, 0x40, 0x85, 0x65, 0x33, 0x30, + 0xe6, 0x73, 0x61, 0xb0, 0x86, 0xbb, 0x00, 0x3a, 0x2d, 0x00, 0x2d, 0x4f, + 0x1a, 0xc9, 0x19, 0x10, 0x8e, 0x31, 0x7f, 0x1a, +}; +static const unsigned char kat1974_retbits[] = { + 0xf8, 0xd4, 0xab, 0xc5, 0xb4, 0x8f, 0xba, 0x89, 0x4a, 0x6e, 0x96, 0xfb, + 0x21, 0xd2, 0xb8, 0x1c, 0x1a, 0xfc, 0xa1, 0xed, 0x0b, 0x0f, 0x02, 0x7c, + 0x05, 0xc3, 0xa8, 0x37, 0xe0, 0x5f, 0xe6, 0x35, 0x9a, 0x31, 0x4f, 0x34, + 0xc5, 0x05, 0x41, 0x31, 0x42, 0x35, 0x6d, 0x33, 0xba, 0x4f, 0xbd, 0x22, + 0x71, 0x67, 0x34, 0x08, 0x81, 0x3a, 0x48, 0x7c, 0x68, 0xf6, 0xf4, 0x56, + 0x08, 0x83, 0xc4, 0x75, +}; +static const struct drbg_kat_pr_false kat1974_t = { + 8, kat1974_entropyin, kat1974_nonce, kat1974_persstr, + kat1974_entropyinreseed, kat1974_addinreseed, kat1974_addin0, + kat1974_addin1, kat1974_retbits +}; +static const struct drbg_kat kat1974 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1974_t +}; + +static const unsigned char kat1975_entropyin[] = { + 0xda, 0x0a, 0x38, 0xa4, 0x63, 0x8f, 0x1b, 0x7d, 0xbd, 0xa5, 0x90, 0xab, + 0xb5, 0xa3, 0x7d, 0x59, 0x35, 0xf1, 0xe2, 0xe7, 0x24, 0xf5, 0x0c, 0xd3, + 0xfe, 0x9a, 0xb1, 0x31, 0xd1, 0x0f, 0xdc, 0xd9, +}; +static const unsigned char kat1975_nonce[] = { + 0x7d, 0x11, 0x73, 0xea, 0x9d, 0x0c, 0x56, 0x51, 0x29, 0xe3, 0x62, 0xc3, + 0x9b, 0x54, 0x14, 0xd1, +}; +static const unsigned char kat1975_persstr[] = { + 0x93, 0x92, 0x38, 0x53, 0x3e, 0x73, 0xaa, 0xc1, 0xf2, 0x46, 0x70, 0xa5, + 0x86, 0x36, 0x8b, 0xc5, 0x4b, 0xe2, 0x48, 0x13, 0x65, 0x29, 0xf8, 0x6a, + 0xbc, 0x6b, 0x50, 0x79, 0x14, 0x74, 0xff, 0x8c, +}; +static const unsigned char kat1975_entropyinreseed[] = { + 0xf5, 0xf9, 0x12, 0x27, 0x85, 0x2b, 0x78, 0xad, 0x75, 0x5a, 0x28, 0x4a, + 0x3f, 0x43, 0xf3, 0x8e, 0x88, 0xd3, 0xe9, 0x3f, 0x78, 0xd4, 0x4a, 0x0d, + 0x34, 0x8f, 0x10, 0x13, 0x56, 0x1b, 0xa2, 0x9c, +}; +static const unsigned char kat1975_addinreseed[] = { + 0x3d, 0xf6, 0xc0, 0x3d, 0x2f, 0x09, 0xcc, 0x64, 0xca, 0x13, 0x39, 0x08, + 0x34, 0x7c, 0xed, 0xd6, 0x11, 0x06, 0x2b, 0xf6, 0x9e, 0xa6, 0x91, 0x26, + 0x86, 0xe4, 0x24, 0x4b, 0xd5, 0xcf, 0x42, 0x1b, +}; +static const unsigned char kat1975_addin0[] = { + 0x54, 0xaf, 0x87, 0x4c, 0x0d, 0x14, 0x2a, 0xb9, 0x07, 0x77, 0x97, 0x4c, + 0x1c, 0x9c, 0x7f, 0xce, 0x24, 0xd4, 0x3b, 0xd5, 0x6c, 0x94, 0x37, 0xf5, + 0xc7, 0x74, 0xbf, 0xf5, 0xf5, 0x44, 0x61, 0x24, +}; +static const unsigned char kat1975_addin1[] = { + 0x4f, 0x26, 0x45, 0x61, 0xd6, 0xf3, 0xcc, 0xdb, 0xeb, 0xcf, 0x3f, 0xf5, + 0x86, 0x2e, 0x4d, 0xba, 0xa3, 0xae, 0xf6, 0x7f, 0xf4, 0xbd, 0x66, 0xe3, + 0xf2, 0x5c, 0x3a, 0xf1, 0xf4, 0x1c, 0xfe, 0xc8, +}; +static const unsigned char kat1975_retbits[] = { + 0xfa, 0x04, 0xd2, 0xd7, 0x2d, 0x5b, 0xd0, 0x4e, 0x6b, 0x6a, 0x58, 0x5f, + 0x84, 0x85, 0x47, 0xcd, 0x84, 0xcb, 0x18, 0x5f, 0x18, 0x82, 0x50, 0x5f, + 0xa8, 0xc5, 0xd4, 0xad, 0xd1, 0xc8, 0xf5, 0x47, 0x5e, 0x83, 0xe2, 0x56, + 0xd8, 0xd6, 0xe4, 0x15, 0x08, 0x3c, 0x06, 0x5f, 0x8b, 0x06, 0x44, 0x0f, + 0xa1, 0x47, 0x4e, 0xf4, 0xe8, 0x49, 0x69, 0x36, 0x3d, 0xbd, 0xb3, 0x96, + 0x45, 0x40, 0x73, 0x75, +}; +static const struct drbg_kat_pr_false kat1975_t = { + 9, kat1975_entropyin, kat1975_nonce, kat1975_persstr, + kat1975_entropyinreseed, kat1975_addinreseed, kat1975_addin0, + kat1975_addin1, kat1975_retbits +}; +static const struct drbg_kat kat1975 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1975_t +}; + +static const unsigned char kat1976_entropyin[] = { + 0x5a, 0xf6, 0xb6, 0x59, 0x08, 0xb5, 0x46, 0x1c, 0x07, 0xd4, 0x0e, 0xc4, + 0xc9, 0x8f, 0x7c, 0x26, 0x1c, 0x08, 0x2a, 0x4f, 0xb8, 0x5c, 0x1f, 0x04, + 0x0c, 0xf3, 0xc1, 0x8f, 0x78, 0x97, 0x96, 0x91, +}; +static const unsigned char kat1976_nonce[] = { + 0x55, 0xd3, 0x3b, 0x62, 0xb4, 0x25, 0xfa, 0x0e, 0x10, 0x9f, 0x24, 0x33, + 0x77, 0x7c, 0xd9, 0x37, +}; +static const unsigned char kat1976_persstr[] = { + 0x63, 0xa0, 0x58, 0xbd, 0x4c, 0x6c, 0x72, 0x69, 0x10, 0x61, 0xd2, 0x1a, + 0xc1, 0x69, 0xd2, 0xb3, 0x3d, 0x02, 0xdd, 0xc7, 0xb1, 0xde, 0x1c, 0x2c, + 0xa1, 0xe5, 0xf6, 0x10, 0xdc, 0x28, 0x76, 0x82, +}; +static const unsigned char kat1976_entropyinreseed[] = { + 0xb0, 0x78, 0xb3, 0xaf, 0x06, 0x8d, 0x7e, 0x13, 0x28, 0xed, 0x8f, 0x00, + 0xa0, 0xe4, 0x2a, 0x65, 0x8c, 0x29, 0x2a, 0x47, 0x50, 0x43, 0x99, 0x6b, + 0x10, 0xb7, 0x05, 0x6e, 0x1e, 0x49, 0x71, 0x02, +}; +static const unsigned char kat1976_addinreseed[] = { + 0x2a, 0x2a, 0xfe, 0x6e, 0x45, 0xf1, 0xf4, 0x8b, 0x7a, 0xb0, 0x43, 0x31, + 0x20, 0xb2, 0xb8, 0xa3, 0x7b, 0x79, 0xb2, 0xe6, 0xf2, 0xab, 0x92, 0x1f, + 0x12, 0xa5, 0xbc, 0xa9, 0xc6, 0x73, 0x64, 0xce, +}; +static const unsigned char kat1976_addin0[] = { + 0x07, 0x2f, 0x69, 0xd0, 0x0d, 0xff, 0x6f, 0x5a, 0xb5, 0x95, 0x0c, 0xc9, + 0x54, 0xdc, 0x36, 0x37, 0xbd, 0x68, 0x55, 0x5a, 0x18, 0x0b, 0x89, 0xf1, + 0xc5, 0x2a, 0x1d, 0x47, 0x20, 0x1c, 0x02, 0xf3, +}; +static const unsigned char kat1976_addin1[] = { + 0xf8, 0xd0, 0x6b, 0xdd, 0x54, 0x10, 0xfd, 0x66, 0x92, 0xda, 0x7e, 0x23, + 0xc6, 0x4b, 0x30, 0xd1, 0xde, 0x24, 0x0b, 0x34, 0x59, 0x18, 0x65, 0x3b, + 0x84, 0x5b, 0x2b, 0xf9, 0xea, 0xc1, 0x67, 0xbe, +}; +static const unsigned char kat1976_retbits[] = { + 0x8f, 0xeb, 0x4e, 0x9d, 0x8a, 0x89, 0x95, 0x00, 0x76, 0x3f, 0x24, 0xc5, + 0x7c, 0xa1, 0x05, 0x2a, 0x44, 0x03, 0xc2, 0xce, 0xaa, 0x17, 0x96, 0xbb, + 0xc1, 0xeb, 0x1e, 0x26, 0xe8, 0x7f, 0xbe, 0x05, 0x21, 0xe7, 0xa3, 0x4d, + 0x00, 0x5f, 0x9d, 0x1e, 0x5e, 0x2c, 0x97, 0x6a, 0xbe, 0x71, 0xac, 0xa8, + 0xbd, 0xfa, 0x43, 0x4e, 0x80, 0x30, 0x49, 0xb7, 0x59, 0xae, 0x71, 0x7c, + 0xac, 0x67, 0x72, 0x1a, +}; +static const struct drbg_kat_pr_false kat1976_t = { + 10, kat1976_entropyin, kat1976_nonce, kat1976_persstr, + kat1976_entropyinreseed, kat1976_addinreseed, kat1976_addin0, + kat1976_addin1, kat1976_retbits +}; +static const struct drbg_kat kat1976 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1976_t +}; + +static const unsigned char kat1977_entropyin[] = { + 0xf2, 0xe0, 0x47, 0x18, 0x70, 0xfe, 0x34, 0xf9, 0xb6, 0xb5, 0x9f, 0x92, + 0x9e, 0xc2, 0xc0, 0x92, 0x44, 0x9f, 0xa0, 0x87, 0x71, 0x88, 0x13, 0x11, + 0xc0, 0xe8, 0x1f, 0x7a, 0xf1, 0x37, 0x90, 0x5b, +}; +static const unsigned char kat1977_nonce[] = { + 0x34, 0x37, 0x45, 0x6d, 0xb3, 0x5a, 0x5b, 0xda, 0x24, 0xae, 0x47, 0xbf, + 0x87, 0xc5, 0xbe, 0x30, +}; +static const unsigned char kat1977_persstr[] = { + 0x1f, 0x8e, 0xd1, 0x6f, 0xa8, 0x6a, 0x24, 0x84, 0xa7, 0x2b, 0x35, 0xc1, + 0xf9, 0x70, 0x1a, 0xc6, 0x94, 0xab, 0xa0, 0x71, 0x88, 0xf6, 0x9a, 0x64, + 0x51, 0x82, 0xcd, 0xe4, 0x88, 0xca, 0x11, 0x38, +}; +static const unsigned char kat1977_entropyinreseed[] = { + 0x7e, 0xa6, 0xcc, 0x5c, 0xa1, 0x9b, 0x0e, 0xe8, 0xdf, 0x42, 0xa3, 0x01, + 0x01, 0x87, 0x1d, 0x35, 0xbb, 0xc0, 0xc3, 0xdf, 0xec, 0xd4, 0x78, 0x65, + 0x57, 0x15, 0x79, 0xb1, 0xa8, 0x96, 0x22, 0x82, +}; +static const unsigned char kat1977_addinreseed[] = { + 0xab, 0x49, 0x73, 0x3e, 0xe0, 0x6c, 0x08, 0xf8, 0x82, 0x7a, 0xd4, 0xf8, + 0x3b, 0x5b, 0x43, 0x8e, 0xc4, 0x43, 0xe1, 0x38, 0x90, 0x6c, 0xa6, 0x79, + 0x4c, 0xd8, 0x61, 0xc0, 0xc0, 0x28, 0x95, 0x1a, +}; +static const unsigned char kat1977_addin0[] = { + 0xf7, 0x8c, 0xc7, 0xe9, 0x0d, 0xcd, 0x9c, 0xa2, 0x80, 0x8b, 0x85, 0x94, + 0x6b, 0x68, 0x6f, 0x50, 0x21, 0xb8, 0x99, 0x41, 0x3b, 0x7e, 0x34, 0x4c, + 0x38, 0x57, 0xc0, 0x09, 0x13, 0x5b, 0x83, 0x2a, +}; +static const unsigned char kat1977_addin1[] = { + 0x3d, 0x8e, 0x21, 0xe4, 0x2c, 0x5c, 0x0e, 0xc9, 0x88, 0xc9, 0xd9, 0xc5, + 0x90, 0xc0, 0xff, 0xbe, 0x24, 0x70, 0x0a, 0xbe, 0xc7, 0xbb, 0xe9, 0x00, + 0x0f, 0x3b, 0x46, 0xae, 0xa7, 0x13, 0x2d, 0x2c, +}; +static const unsigned char kat1977_retbits[] = { + 0x80, 0x7e, 0x47, 0x3b, 0xbe, 0xec, 0x28, 0x8e, 0x1e, 0x7b, 0xf5, 0x80, + 0x3e, 0x56, 0xea, 0x91, 0xb8, 0xa7, 0x52, 0xf4, 0xc9, 0xe9, 0x69, 0x4d, + 0xfb, 0x86, 0x9a, 0x13, 0x34, 0x48, 0x73, 0xf3, 0x79, 0xc6, 0xb6, 0x85, + 0xe5, 0x82, 0x38, 0x5b, 0x69, 0x50, 0x52, 0x3c, 0x2e, 0x93, 0xc0, 0x33, + 0x5a, 0x9f, 0x84, 0x56, 0x67, 0xeb, 0x99, 0x0c, 0xcf, 0x0f, 0xfd, 0xe1, + 0x6f, 0x92, 0x99, 0x18, +}; +static const struct drbg_kat_pr_false kat1977_t = { + 11, kat1977_entropyin, kat1977_nonce, kat1977_persstr, + kat1977_entropyinreseed, kat1977_addinreseed, kat1977_addin0, + kat1977_addin1, kat1977_retbits +}; +static const struct drbg_kat kat1977 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1977_t +}; + +static const unsigned char kat1978_entropyin[] = { + 0x5b, 0xde, 0x92, 0xbb, 0xc8, 0x3a, 0x68, 0xe8, 0x2c, 0xef, 0x67, 0xcb, + 0x60, 0xd4, 0x7d, 0x93, 0x51, 0xc2, 0x33, 0xf3, 0xfc, 0x64, 0x60, 0xc8, + 0xfb, 0x61, 0xef, 0x55, 0x78, 0x82, 0xee, 0x26, +}; +static const unsigned char kat1978_nonce[] = { + 0xf5, 0xc0, 0x72, 0xc0, 0x5d, 0x07, 0x44, 0x60, 0x30, 0x5e, 0x89, 0xf8, + 0xce, 0xcb, 0x5b, 0x9c, +}; +static const unsigned char kat1978_persstr[] = { + 0xab, 0x1b, 0x19, 0x99, 0x78, 0xe5, 0x7f, 0x14, 0xb9, 0xe1, 0x9d, 0x81, + 0x63, 0x6b, 0xdd, 0xef, 0x53, 0xba, 0xe4, 0x2a, 0xa7, 0x8e, 0x96, 0xc7, + 0xb3, 0xf8, 0x57, 0x57, 0x8a, 0x4c, 0x6c, 0x3e, +}; +static const unsigned char kat1978_entropyinreseed[] = { + 0x50, 0xd9, 0x0c, 0xe4, 0x74, 0x12, 0xca, 0xb9, 0x8e, 0x42, 0x21, 0xef, + 0xa1, 0xac, 0x7c, 0xdb, 0x78, 0x8e, 0x03, 0x3f, 0xdd, 0xa4, 0xff, 0xcc, + 0x62, 0x72, 0xe1, 0xb8, 0x97, 0xcc, 0x44, 0x12, +}; +static const unsigned char kat1978_addinreseed[] = { + 0x46, 0x83, 0x9e, 0xc6, 0xc1, 0x03, 0xdf, 0x72, 0x2e, 0x85, 0x6e, 0x1a, + 0x10, 0x6b, 0xad, 0x55, 0xcd, 0x66, 0x01, 0xd1, 0x88, 0xd4, 0x10, 0x31, + 0xe1, 0x75, 0xda, 0x09, 0x7c, 0x01, 0x9a, 0x39, +}; +static const unsigned char kat1978_addin0[] = { + 0xc3, 0xa3, 0xef, 0xb6, 0x95, 0xb6, 0x82, 0x78, 0xc6, 0x35, 0x10, 0xe0, + 0x79, 0xd9, 0x74, 0x06, 0xd9, 0xf5, 0x73, 0xe2, 0x1d, 0x7b, 0x35, 0xdd, + 0x44, 0x6a, 0x14, 0xce, 0x68, 0xfa, 0x0d, 0xea, +}; +static const unsigned char kat1978_addin1[] = { + 0xb0, 0x42, 0x7c, 0x4f, 0x4d, 0x90, 0x85, 0x14, 0x41, 0x62, 0xbd, 0x6c, + 0x1d, 0xf9, 0x7c, 0x07, 0x44, 0x5f, 0xf2, 0xaf, 0xcb, 0x18, 0x67, 0x56, + 0xf3, 0x4c, 0x1f, 0x19, 0x24, 0xdd, 0x40, 0x3a, +}; +static const unsigned char kat1978_retbits[] = { + 0x23, 0x84, 0x35, 0xbf, 0xb2, 0x6f, 0x01, 0x4c, 0x76, 0x52, 0xb5, 0xe6, + 0x70, 0x88, 0x09, 0x43, 0x5c, 0xa0, 0x58, 0xf4, 0xf3, 0xb6, 0xa0, 0x30, + 0xed, 0x83, 0xaa, 0x41, 0x52, 0xb5, 0x2c, 0xe0, 0xbb, 0x03, 0xc0, 0xec, + 0x49, 0xfc, 0x03, 0x26, 0xcf, 0x5c, 0xab, 0xa2, 0x96, 0xb4, 0xc9, 0x18, + 0xb1, 0x8e, 0x0b, 0xdd, 0x89, 0xef, 0x33, 0x81, 0x79, 0xb7, 0x2b, 0x6c, + 0xc0, 0xad, 0x6d, 0xe8, +}; +static const struct drbg_kat_pr_false kat1978_t = { + 12, kat1978_entropyin, kat1978_nonce, kat1978_persstr, + kat1978_entropyinreseed, kat1978_addinreseed, kat1978_addin0, + kat1978_addin1, kat1978_retbits +}; +static const struct drbg_kat kat1978 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1978_t +}; + +static const unsigned char kat1979_entropyin[] = { + 0x48, 0x0b, 0xd3, 0x97, 0x3d, 0xc0, 0x4d, 0xfa, 0xac, 0x13, 0x40, 0x35, + 0xfa, 0x45, 0xf2, 0xbb, 0x92, 0x20, 0x0d, 0xf8, 0xec, 0x46, 0x8c, 0x23, + 0xc5, 0xb9, 0x54, 0xd0, 0x69, 0x3e, 0xea, 0x88, +}; +static const unsigned char kat1979_nonce[] = { + 0xd4, 0xf0, 0x13, 0xd5, 0x87, 0x73, 0xe7, 0x6e, 0xf5, 0x21, 0x97, 0xa6, + 0x8f, 0xba, 0x4a, 0x31, +}; +static const unsigned char kat1979_persstr[] = { + 0xd7, 0x04, 0xf9, 0xe2, 0xfc, 0x2b, 0x24, 0xa0, 0xbe, 0x98, 0xa6, 0xeb, + 0x44, 0x3a, 0x7f, 0x99, 0xcf, 0x8c, 0x1b, 0xaf, 0x62, 0x97, 0x0c, 0xcd, + 0x0f, 0x1e, 0x92, 0x9a, 0x8d, 0x2e, 0x47, 0x5b, +}; +static const unsigned char kat1979_entropyinreseed[] = { + 0x1d, 0xd9, 0x13, 0x9e, 0x18, 0xc3, 0xb8, 0xd5, 0x41, 0xff, 0x47, 0xa5, + 0x49, 0x5f, 0x13, 0xa7, 0x2a, 0x35, 0x34, 0xa9, 0xee, 0x4a, 0x12, 0x25, + 0x42, 0xee, 0x33, 0x06, 0x51, 0x28, 0xd5, 0x7b, +}; +static const unsigned char kat1979_addinreseed[] = { + 0x1b, 0x1d, 0xde, 0x5e, 0x70, 0x64, 0x89, 0x1a, 0xcd, 0x5c, 0xe8, 0x0e, + 0xb8, 0x72, 0x64, 0xa3, 0x91, 0x53, 0x40, 0xd2, 0x25, 0xbb, 0xda, 0x81, + 0xfa, 0x3d, 0x79, 0xcb, 0x25, 0x02, 0x7d, 0x0c, +}; +static const unsigned char kat1979_addin0[] = { + 0x71, 0x19, 0x22, 0x6c, 0xd5, 0xf2, 0xcf, 0x7a, 0x00, 0x74, 0x61, 0x49, + 0x33, 0x5c, 0x56, 0x7e, 0x88, 0x63, 0x4a, 0x0b, 0x82, 0x86, 0xfd, 0xdb, + 0xd1, 0x2a, 0xb7, 0x6c, 0x3f, 0x05, 0xe7, 0x7a, +}; +static const unsigned char kat1979_addin1[] = { + 0x2f, 0xf3, 0x83, 0x88, 0x24, 0xfb, 0x03, 0x20, 0xa8, 0x33, 0x23, 0x35, + 0x8b, 0x3a, 0x0b, 0x50, 0x1b, 0x06, 0x0f, 0x6e, 0xb1, 0x68, 0xd0, 0xdd, + 0x56, 0xee, 0xd4, 0x03, 0xf3, 0x61, 0xf3, 0x1b, +}; +static const unsigned char kat1979_retbits[] = { + 0x48, 0x02, 0xd4, 0xfa, 0x85, 0x47, 0x93, 0xf9, 0xef, 0xf0, 0x2f, 0xca, + 0x1d, 0x77, 0x68, 0x75, 0x98, 0x86, 0xcf, 0xaf, 0x80, 0x7e, 0x69, 0x43, + 0x18, 0x35, 0x2f, 0x84, 0x61, 0xf4, 0x78, 0xc4, 0xc9, 0x83, 0xa6, 0xf6, + 0x05, 0xa3, 0x21, 0x82, 0xb5, 0xbc, 0x01, 0x03, 0x46, 0x61, 0x4a, 0x5f, + 0xb2, 0xb8, 0x0c, 0xea, 0xd4, 0x7a, 0xc7, 0x54, 0x0a, 0x8f, 0x91, 0x3e, + 0x53, 0xd0, 0x54, 0xbb, +}; +static const struct drbg_kat_pr_false kat1979_t = { + 13, kat1979_entropyin, kat1979_nonce, kat1979_persstr, + kat1979_entropyinreseed, kat1979_addinreseed, kat1979_addin0, + kat1979_addin1, kat1979_retbits +}; +static const struct drbg_kat kat1979 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1979_t +}; + +static const unsigned char kat1980_entropyin[] = { + 0x7f, 0x72, 0x64, 0xa5, 0x7c, 0x98, 0x51, 0xcb, 0xc7, 0xd0, 0x17, 0x10, + 0x7e, 0x0e, 0xdb, 0xd5, 0x54, 0xae, 0xfd, 0x5a, 0x98, 0x48, 0x3e, 0xe7, + 0x6f, 0xa5, 0xef, 0x17, 0x74, 0x5e, 0xec, 0xb4, +}; +static const unsigned char kat1980_nonce[] = { + 0xe6, 0x24, 0xbe, 0x62, 0x8f, 0x27, 0x81, 0x7c, 0x18, 0x06, 0xad, 0x40, + 0x64, 0x0b, 0x57, 0x70, +}; +static const unsigned char kat1980_persstr[] = { + 0x8c, 0x76, 0x9b, 0x07, 0x24, 0xb3, 0x81, 0x3e, 0x71, 0x57, 0x3d, 0x50, + 0x66, 0x98, 0x89, 0x7d, 0x4d, 0xe7, 0xe6, 0xc9, 0x6c, 0x1f, 0xb3, 0xb1, + 0x03, 0xde, 0x29, 0xa0, 0x0b, 0x3d, 0x5f, 0x32, +}; +static const unsigned char kat1980_entropyinreseed[] = { + 0xf1, 0x3e, 0x8b, 0xc2, 0xc1, 0x9f, 0x0a, 0xb7, 0x39, 0x87, 0xce, 0x58, + 0x7c, 0x66, 0x64, 0x01, 0xe1, 0xc3, 0xd0, 0x1a, 0x76, 0xde, 0x66, 0x85, + 0xb7, 0x00, 0x63, 0x8f, 0x48, 0x60, 0xbb, 0x7d, +}; +static const unsigned char kat1980_addinreseed[] = { + 0x02, 0x92, 0x2d, 0x34, 0xeb, 0x86, 0x13, 0xd5, 0xc8, 0x80, 0x41, 0xf4, + 0x46, 0xb1, 0xb8, 0x76, 0xef, 0x53, 0x45, 0x45, 0xb8, 0x74, 0x8b, 0x8a, + 0x4c, 0xb8, 0xe1, 0x0c, 0x3d, 0x9a, 0x2a, 0xb9, +}; +static const unsigned char kat1980_addin0[] = { + 0xd6, 0xb7, 0x61, 0xc8, 0x35, 0x13, 0x40, 0x5c, 0x3b, 0x25, 0x14, 0x9d, + 0x47, 0x7b, 0x35, 0xb3, 0xcd, 0x9b, 0x28, 0x39, 0xdc, 0xaa, 0xa0, 0x71, + 0x74, 0xba, 0x94, 0x88, 0xf0, 0x0d, 0xdd, 0x89, +}; +static const unsigned char kat1980_addin1[] = { + 0x50, 0x88, 0x6c, 0x50, 0x3f, 0xd4, 0x86, 0x4c, 0xe3, 0x27, 0x10, 0xf8, + 0x3b, 0xd6, 0x75, 0xb6, 0x70, 0x37, 0xc4, 0x5e, 0x68, 0xca, 0x8e, 0x54, + 0x11, 0x66, 0xca, 0xee, 0x95, 0x79, 0x69, 0xa4, +}; +static const unsigned char kat1980_retbits[] = { + 0x5f, 0x07, 0x9f, 0xfb, 0xde, 0xca, 0x18, 0xda, 0x7b, 0x13, 0xcc, 0x71, + 0x0e, 0xbc, 0xd4, 0xae, 0xdf, 0x7f, 0x47, 0x5c, 0x2a, 0x7d, 0x96, 0x9b, + 0x4a, 0x1e, 0xff, 0x3a, 0x33, 0x48, 0xb5, 0x77, 0xcc, 0x2b, 0xa8, 0xd9, + 0x26, 0x11, 0x37, 0x09, 0x70, 0xc9, 0xbf, 0x02, 0x2d, 0xcf, 0x09, 0xdb, + 0xdb, 0xc0, 0xa4, 0x42, 0xa0, 0xac, 0xdf, 0xd3, 0x1a, 0xd9, 0x25, 0x7c, + 0x62, 0xce, 0xa1, 0xab, +}; +static const struct drbg_kat_pr_false kat1980_t = { + 14, kat1980_entropyin, kat1980_nonce, kat1980_persstr, + kat1980_entropyinreseed, kat1980_addinreseed, kat1980_addin0, + kat1980_addin1, kat1980_retbits +}; +static const struct drbg_kat kat1980 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat1980_t +}; + +static const unsigned char kat1981_entropyin[] = { + 0xa8, 0x9d, 0x08, 0x18, 0x5b, 0x53, 0x9a, 0x83, 0x0b, 0x1e, 0x9b, 0x74, + 0xc0, 0x1f, 0x59, 0xe2, 0xb7, 0x5b, 0xd2, 0xe2, 0xcb, 0xcf, 0x95, 0xc1, + 0x85, 0xa8, 0x3a, 0x80, 0x69, 0x43, 0x9e, 0x42, +}; +static const unsigned char kat1981_nonce[] = { + 0xc6, 0x75, 0xe3, 0xb6, 0x34, 0xb0, 0x75, 0xdb, 0x09, 0x78, 0x9e, 0x5d, + 0x8a, 0x39, 0xc5, 0xe8, +}; +static const unsigned char kat1981_persstr[] = {0}; +static const unsigned char kat1981_entropyinreseed[] = { + 0x0e, 0xd8, 0xe6, 0x3b, 0x82, 0x3a, 0xf5, 0x47, 0x6d, 0xcb, 0x97, 0x02, + 0xda, 0xf4, 0x61, 0x85, 0xd3, 0xf4, 0x95, 0x3d, 0xf7, 0x04, 0x74, 0x9d, + 0x3d, 0xea, 0x2f, 0xbe, 0x0c, 0x7a, 0x46, 0xdd, +}; +static const unsigned char kat1981_addinreseed[] = {0}; +static const unsigned char kat1981_addin0[] = {0}; +static const unsigned char kat1981_addin1[] = {0}; +static const unsigned char kat1981_retbits[] = { + 0x61, 0xf1, 0xfb, 0x64, 0xc0, 0x66, 0x87, 0x47, 0xd2, 0x70, 0xd4, 0xfa, + 0xb1, 0x7c, 0x34, 0xdb, 0x3a, 0x69, 0x82, 0x9e, 0xa0, 0x8f, 0xe4, 0x3e, + 0xc3, 0x59, 0xae, 0x17, 0x4f, 0xfb, 0x0c, 0xaa, 0xe8, 0xbc, 0xba, 0x3a, + 0x4f, 0xff, 0xb5, 0xb2, 0x9b, 0x90, 0x0f, 0x0e, 0x2e, 0xf2, 0x39, 0x4c, + 0x39, 0x29, 0x2b, 0xf2, 0x95, 0x62, 0x3f, 0x89, 0x46, 0x17, 0xce, 0x95, + 0x00, 0x22, 0x8b, 0xb4, +}; +static const struct drbg_kat_pr_false kat1981_t = { + 0, kat1981_entropyin, kat1981_nonce, kat1981_persstr, + kat1981_entropyinreseed, kat1981_addinreseed, kat1981_addin0, + kat1981_addin1, kat1981_retbits +}; +static const struct drbg_kat kat1981 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1981_t +}; + +static const unsigned char kat1982_entropyin[] = { + 0x00, 0xc3, 0x12, 0xcb, 0xa2, 0xec, 0x5d, 0x72, 0xf9, 0x54, 0x9e, 0x2a, + 0x14, 0x14, 0xc9, 0x73, 0xf4, 0xe9, 0xed, 0x70, 0x40, 0x79, 0x71, 0xf5, + 0x8c, 0xcb, 0xcc, 0x85, 0x72, 0x0f, 0x1f, 0xa5, +}; +static const unsigned char kat1982_nonce[] = { + 0x03, 0x1e, 0x82, 0xc6, 0x0b, 0xe9, 0x64, 0x98, 0x70, 0x5e, 0x6d, 0xab, + 0xf4, 0xc5, 0x50, 0xb7, +}; +static const unsigned char kat1982_persstr[] = {0}; +static const unsigned char kat1982_entropyinreseed[] = { + 0x08, 0x4b, 0x11, 0xec, 0xae, 0xfe, 0x51, 0xdb, 0xb7, 0xa2, 0x65, 0x1f, + 0x45, 0xb0, 0xe1, 0x81, 0x92, 0x8c, 0x65, 0xce, 0xc5, 0x75, 0xf7, 0x63, + 0x0d, 0xbf, 0x9f, 0x49, 0xc0, 0x84, 0xa5, 0x84, +}; +static const unsigned char kat1982_addinreseed[] = {0}; +static const unsigned char kat1982_addin0[] = {0}; +static const unsigned char kat1982_addin1[] = {0}; +static const unsigned char kat1982_retbits[] = { + 0xeb, 0x2c, 0x76, 0xed, 0x3e, 0x94, 0x67, 0xec, 0xf9, 0xfa, 0x64, 0x2b, + 0x87, 0x2c, 0xbd, 0xf3, 0x40, 0xa2, 0xe1, 0xf7, 0x11, 0x6f, 0x5b, 0xa5, + 0x9e, 0xcc, 0xef, 0x7b, 0xe8, 0x27, 0x65, 0x62, 0x0f, 0xa3, 0x50, 0x7a, + 0x3f, 0x87, 0x0b, 0xfc, 0x85, 0x74, 0x04, 0x1d, 0xbb, 0x9e, 0x7b, 0x8a, + 0x0d, 0xb6, 0x90, 0x6b, 0xde, 0xe0, 0xbc, 0x5d, 0xc1, 0x44, 0x92, 0x2d, + 0x67, 0x0c, 0xee, 0xd4, +}; +static const struct drbg_kat_pr_false kat1982_t = { + 1, kat1982_entropyin, kat1982_nonce, kat1982_persstr, + kat1982_entropyinreseed, kat1982_addinreseed, kat1982_addin0, + kat1982_addin1, kat1982_retbits +}; +static const struct drbg_kat kat1982 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1982_t +}; + +static const unsigned char kat1983_entropyin[] = { + 0x42, 0xcf, 0x0a, 0x3b, 0x9f, 0x08, 0x1f, 0x46, 0x94, 0x5c, 0x37, 0x82, + 0x2c, 0x4c, 0xfa, 0x65, 0xcb, 0x6f, 0xb6, 0x24, 0xfb, 0xc5, 0x6f, 0xd7, + 0x12, 0x0c, 0x15, 0x9f, 0xc5, 0x58, 0x52, 0x83, +}; +static const unsigned char kat1983_nonce[] = { + 0x96, 0xe4, 0xb7, 0xf6, 0x61, 0xf0, 0xe1, 0xaa, 0x7e, 0x35, 0x61, 0xd0, + 0x6b, 0xac, 0x14, 0x30, +}; +static const unsigned char kat1983_persstr[] = {0}; +static const unsigned char kat1983_entropyinreseed[] = { + 0x29, 0x3e, 0x30, 0x9d, 0xbc, 0x4b, 0x90, 0xf8, 0x05, 0xad, 0x2e, 0x7d, + 0xd4, 0x06, 0x29, 0x10, 0x02, 0xc2, 0x83, 0x84, 0xcb, 0x29, 0xbf, 0xc7, + 0x2c, 0x30, 0x5a, 0x93, 0xdb, 0x6c, 0x50, 0x2a, +}; +static const unsigned char kat1983_addinreseed[] = {0}; +static const unsigned char kat1983_addin0[] = {0}; +static const unsigned char kat1983_addin1[] = {0}; +static const unsigned char kat1983_retbits[] = { + 0x94, 0x85, 0x20, 0x8c, 0x00, 0x2e, 0x4e, 0x27, 0xf8, 0x0b, 0xdf, 0xed, + 0x3c, 0x1b, 0xf3, 0x27, 0xe3, 0xc0, 0xf4, 0xf0, 0x74, 0xfa, 0x8f, 0x60, + 0xee, 0xd4, 0x07, 0x52, 0xc2, 0x88, 0xc5, 0x39, 0x8a, 0x77, 0x64, 0x3d, + 0xd9, 0xa7, 0xed, 0x50, 0x81, 0x00, 0xb0, 0x47, 0xb8, 0x2d, 0x42, 0x9f, + 0x3b, 0x18, 0x06, 0xf0, 0x50, 0xe0, 0xad, 0x57, 0xf9, 0x71, 0x41, 0xbb, + 0x7a, 0x5d, 0x99, 0xc7, +}; +static const struct drbg_kat_pr_false kat1983_t = { + 2, kat1983_entropyin, kat1983_nonce, kat1983_persstr, + kat1983_entropyinreseed, kat1983_addinreseed, kat1983_addin0, + kat1983_addin1, kat1983_retbits +}; +static const struct drbg_kat kat1983 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1983_t +}; + +static const unsigned char kat1984_entropyin[] = { + 0x4d, 0x53, 0xcc, 0xa2, 0x56, 0x57, 0x79, 0xf6, 0xcf, 0x96, 0x23, 0x67, + 0xbb, 0x37, 0x93, 0xb0, 0xfc, 0xa3, 0xfe, 0xaf, 0xee, 0x09, 0xdf, 0xd7, + 0xd3, 0xb4, 0xd9, 0xbf, 0x0b, 0xa5, 0xaa, 0xfd, +}; +static const unsigned char kat1984_nonce[] = { + 0x9a, 0x51, 0x81, 0x4c, 0x35, 0x7e, 0xe8, 0x74, 0x41, 0xfe, 0x02, 0x77, + 0x60, 0x93, 0x10, 0x33, +}; +static const unsigned char kat1984_persstr[] = {0}; +static const unsigned char kat1984_entropyinreseed[] = { + 0xda, 0x0d, 0xe5, 0xa7, 0xa5, 0x4d, 0xc3, 0xa6, 0xc8, 0x74, 0xd8, 0xe5, + 0xb3, 0x1c, 0x7c, 0xd2, 0xc6, 0xd2, 0xb5, 0x83, 0x44, 0x32, 0x1e, 0xcf, + 0xb1, 0xf9, 0x8d, 0x42, 0x80, 0x7d, 0x64, 0x47, +}; +static const unsigned char kat1984_addinreseed[] = {0}; +static const unsigned char kat1984_addin0[] = {0}; +static const unsigned char kat1984_addin1[] = {0}; +static const unsigned char kat1984_retbits[] = { + 0x72, 0x74, 0xb2, 0x27, 0xd0, 0x24, 0x47, 0x5d, 0x52, 0x48, 0xcb, 0xf5, + 0x67, 0x91, 0xc9, 0xbe, 0xf9, 0x18, 0xe2, 0x5e, 0x28, 0x65, 0x9e, 0x6b, + 0xcc, 0x7d, 0x04, 0x50, 0xe9, 0xc2, 0x5b, 0x81, 0xc5, 0xb6, 0x44, 0x26, + 0x61, 0xd5, 0x9f, 0x97, 0x2e, 0xe9, 0x59, 0x45, 0x28, 0x97, 0x9a, 0x0d, + 0x92, 0xc1, 0x4d, 0xc9, 0x3f, 0x4a, 0xdd, 0xdb, 0x03, 0xea, 0x48, 0xb1, + 0x5d, 0xc6, 0x1c, 0xf3, +}; +static const struct drbg_kat_pr_false kat1984_t = { + 3, kat1984_entropyin, kat1984_nonce, kat1984_persstr, + kat1984_entropyinreseed, kat1984_addinreseed, kat1984_addin0, + kat1984_addin1, kat1984_retbits +}; +static const struct drbg_kat kat1984 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1984_t +}; + +static const unsigned char kat1985_entropyin[] = { + 0x15, 0x97, 0xc3, 0x5f, 0x95, 0xf9, 0x4f, 0x12, 0xbb, 0x94, 0xa1, 0xa4, + 0x7a, 0x06, 0x96, 0xf4, 0x68, 0xa8, 0x72, 0x5a, 0x67, 0x93, 0xd4, 0xd9, + 0x84, 0x8a, 0xa0, 0x6f, 0x2c, 0xa0, 0x86, 0x82, +}; +static const unsigned char kat1985_nonce[] = { + 0x44, 0xdd, 0x56, 0x83, 0x9e, 0xa1, 0x93, 0xe5, 0xa1, 0xfc, 0x34, 0xe9, + 0xc6, 0x11, 0x75, 0x6b, +}; +static const unsigned char kat1985_persstr[] = {0}; +static const unsigned char kat1985_entropyinreseed[] = { + 0xae, 0x7e, 0x17, 0x93, 0xdb, 0xfe, 0xc6, 0x08, 0x62, 0xc0, 0xbc, 0x91, + 0x29, 0x3d, 0x69, 0x22, 0x15, 0x93, 0x13, 0x08, 0x48, 0x10, 0xcc, 0x50, + 0x69, 0xb7, 0x5d, 0xf1, 0xcb, 0x87, 0x83, 0x2a, +}; +static const unsigned char kat1985_addinreseed[] = {0}; +static const unsigned char kat1985_addin0[] = {0}; +static const unsigned char kat1985_addin1[] = {0}; +static const unsigned char kat1985_retbits[] = { + 0x4f, 0x7c, 0xa3, 0x9c, 0x8e, 0x90, 0x6d, 0x12, 0x6f, 0xdc, 0xeb, 0xaa, + 0x89, 0xa2, 0x8c, 0xeb, 0x63, 0x8b, 0x3d, 0xd5, 0xb9, 0xa2, 0xaf, 0x0e, + 0x27, 0x08, 0xb4, 0xbc, 0x5f, 0xfb, 0x8c, 0x28, 0xeb, 0xa3, 0xd4, 0x2b, + 0x3b, 0xc7, 0x49, 0x8e, 0x4c, 0xd3, 0x71, 0x67, 0x20, 0x49, 0xdd, 0x9b, + 0x83, 0x47, 0x2e, 0x1e, 0x47, 0xb9, 0x8d, 0xf7, 0x7f, 0x15, 0xd1, 0x44, + 0xad, 0xa6, 0x78, 0x8d, +}; +static const struct drbg_kat_pr_false kat1985_t = { + 4, kat1985_entropyin, kat1985_nonce, kat1985_persstr, + kat1985_entropyinreseed, kat1985_addinreseed, kat1985_addin0, + kat1985_addin1, kat1985_retbits +}; +static const struct drbg_kat kat1985 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1985_t +}; + +static const unsigned char kat1986_entropyin[] = { + 0xb8, 0x7d, 0xaa, 0x16, 0x72, 0x94, 0xe2, 0x73, 0xea, 0xd3, 0x15, 0x09, + 0x28, 0xc7, 0x58, 0x3c, 0xf8, 0x08, 0xf3, 0x34, 0xad, 0xbe, 0x8c, 0x56, + 0xb1, 0x81, 0xfc, 0xf0, 0x32, 0x5d, 0x8f, 0xc5, +}; +static const unsigned char kat1986_nonce[] = { + 0x98, 0xc0, 0x39, 0xbc, 0x42, 0x18, 0xa3, 0xcd, 0x76, 0x3e, 0x40, 0xb7, + 0xb6, 0x5e, 0x8a, 0xa5, +}; +static const unsigned char kat1986_persstr[] = {0}; +static const unsigned char kat1986_entropyinreseed[] = { + 0x7c, 0xd8, 0x99, 0xb6, 0xd3, 0x76, 0x2f, 0xa4, 0xce, 0x27, 0x3b, 0x81, + 0x11, 0x4b, 0x08, 0x5d, 0x6f, 0x10, 0x8c, 0xec, 0xd0, 0x1e, 0x76, 0x06, + 0xb6, 0x40, 0x46, 0x80, 0x7e, 0x63, 0x44, 0xe6, +}; +static const unsigned char kat1986_addinreseed[] = {0}; +static const unsigned char kat1986_addin0[] = {0}; +static const unsigned char kat1986_addin1[] = {0}; +static const unsigned char kat1986_retbits[] = { + 0x68, 0xc3, 0xa6, 0x14, 0x38, 0xc0, 0x00, 0x96, 0xc1, 0x59, 0x17, 0xe7, + 0x94, 0x1f, 0xda, 0x04, 0x94, 0x5e, 0xc5, 0x49, 0x47, 0x91, 0x42, 0xe8, + 0x4c, 0x7f, 0x29, 0xa1, 0x47, 0x6c, 0x37, 0x20, 0x7c, 0xed, 0x72, 0xf8, + 0x60, 0x0c, 0x1c, 0x64, 0x61, 0x3c, 0x30, 0xa9, 0x16, 0x57, 0x81, 0xa2, + 0xd2, 0xef, 0x17, 0x60, 0x6c, 0xd5, 0xcd, 0xb6, 0xfe, 0x59, 0x0a, 0x2c, + 0xbf, 0x99, 0x22, 0x43, +}; +static const struct drbg_kat_pr_false kat1986_t = { + 5, kat1986_entropyin, kat1986_nonce, kat1986_persstr, + kat1986_entropyinreseed, kat1986_addinreseed, kat1986_addin0, + kat1986_addin1, kat1986_retbits +}; +static const struct drbg_kat kat1986 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1986_t +}; + +static const unsigned char kat1987_entropyin[] = { + 0x81, 0x61, 0xeb, 0x93, 0x5e, 0xa9, 0x0c, 0xcc, 0xec, 0xfc, 0xed, 0x72, + 0xa1, 0x0d, 0x41, 0xee, 0xbd, 0xc7, 0x5e, 0x5b, 0x1e, 0xcc, 0x1f, 0x0d, + 0x8a, 0x08, 0x32, 0x66, 0x35, 0xd0, 0x5f, 0x11, +}; +static const unsigned char kat1987_nonce[] = { + 0x1f, 0x9c, 0xda, 0xc6, 0xae, 0xc9, 0xe7, 0x42, 0x72, 0xf4, 0x0a, 0x52, + 0x87, 0x48, 0x89, 0x78, +}; +static const unsigned char kat1987_persstr[] = {0}; +static const unsigned char kat1987_entropyinreseed[] = { + 0xd1, 0x34, 0x14, 0xac, 0x42, 0x2e, 0x7c, 0x35, 0x97, 0x03, 0x06, 0x51, + 0x00, 0xd0, 0x6e, 0x64, 0xc7, 0x1d, 0xaa, 0x49, 0x98, 0xe6, 0x5b, 0xa4, + 0xca, 0x71, 0x70, 0xb3, 0x14, 0x18, 0x81, 0x5e, +}; +static const unsigned char kat1987_addinreseed[] = {0}; +static const unsigned char kat1987_addin0[] = {0}; +static const unsigned char kat1987_addin1[] = {0}; +static const unsigned char kat1987_retbits[] = { + 0x63, 0xa3, 0x1c, 0xdb, 0xcd, 0x3d, 0x10, 0xf9, 0xa3, 0x66, 0x7f, 0xd5, + 0x7a, 0x28, 0x1d, 0xf5, 0x23, 0xac, 0x6f, 0xdf, 0xdc, 0xa9, 0x3f, 0x3a, + 0xa5, 0x7b, 0x04, 0x71, 0x62, 0x24, 0x01, 0xe2, 0x03, 0xd5, 0xb0, 0xf2, + 0x84, 0x6e, 0x5e, 0xae, 0x9a, 0xd0, 0x1e, 0xf6, 0xec, 0x8c, 0x5b, 0x6c, + 0xb0, 0xaf, 0xa1, 0xbd, 0x24, 0x48, 0x06, 0xd0, 0x63, 0x0b, 0x1a, 0x23, + 0x42, 0xf3, 0x60, 0x54, +}; +static const struct drbg_kat_pr_false kat1987_t = { + 6, kat1987_entropyin, kat1987_nonce, kat1987_persstr, + kat1987_entropyinreseed, kat1987_addinreseed, kat1987_addin0, + kat1987_addin1, kat1987_retbits +}; +static const struct drbg_kat kat1987 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1987_t +}; + +static const unsigned char kat1988_entropyin[] = { + 0xb8, 0xfd, 0xe0, 0xb3, 0xbc, 0x46, 0x08, 0x47, 0x78, 0x29, 0xf2, 0x2e, + 0xf3, 0xec, 0x37, 0xe6, 0x65, 0xe6, 0xea, 0x75, 0x35, 0xfa, 0xdb, 0xbc, + 0x65, 0x91, 0xfc, 0xae, 0x02, 0x43, 0x1f, 0xeb, +}; +static const unsigned char kat1988_nonce[] = { + 0x20, 0xd5, 0x96, 0xab, 0x90, 0x2a, 0x88, 0x04, 0x76, 0x03, 0x24, 0x16, + 0xb2, 0xe8, 0x0c, 0x35, +}; +static const unsigned char kat1988_persstr[] = {0}; +static const unsigned char kat1988_entropyinreseed[] = { + 0x47, 0xfb, 0x33, 0x79, 0xe4, 0xf0, 0xd4, 0x6f, 0xe8, 0x2f, 0xaf, 0x1a, + 0xcf, 0xe0, 0x55, 0xa5, 0x7f, 0x63, 0xf9, 0x18, 0x70, 0xc1, 0x3f, 0xbe, + 0x16, 0xc4, 0x0d, 0xe4, 0x13, 0x68, 0x47, 0x7c, +}; +static const unsigned char kat1988_addinreseed[] = {0}; +static const unsigned char kat1988_addin0[] = {0}; +static const unsigned char kat1988_addin1[] = {0}; +static const unsigned char kat1988_retbits[] = { + 0xfb, 0x59, 0xea, 0xf7, 0xe2, 0x3b, 0x7d, 0xef, 0x45, 0x1f, 0x21, 0xa3, + 0xe1, 0xa7, 0xdc, 0x02, 0xa4, 0x8d, 0xfb, 0x29, 0x09, 0x33, 0x2a, 0xe9, + 0x49, 0xd7, 0x17, 0xd1, 0x26, 0x4f, 0x86, 0xe9, 0xcf, 0x9a, 0xc4, 0x76, + 0xa1, 0x56, 0x79, 0x25, 0x91, 0x74, 0xd4, 0xa7, 0x7b, 0x50, 0x52, 0x5e, + 0x03, 0x03, 0x45, 0xfb, 0x9b, 0x04, 0xa7, 0x10, 0x1e, 0xad, 0x5f, 0x8b, + 0xd7, 0x55, 0x74, 0x9c, +}; +static const struct drbg_kat_pr_false kat1988_t = { + 7, kat1988_entropyin, kat1988_nonce, kat1988_persstr, + kat1988_entropyinreseed, kat1988_addinreseed, kat1988_addin0, + kat1988_addin1, kat1988_retbits +}; +static const struct drbg_kat kat1988 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1988_t +}; + +static const unsigned char kat1989_entropyin[] = { + 0xb7, 0x72, 0xf6, 0x63, 0xad, 0x91, 0xc0, 0xf7, 0x2f, 0x83, 0x5b, 0xb0, + 0xcd, 0xc9, 0xab, 0x22, 0xa3, 0x90, 0xc0, 0x57, 0x50, 0x0d, 0x2c, 0xdc, + 0xdd, 0x0b, 0x29, 0xf9, 0xab, 0xcd, 0x01, 0xd7, +}; +static const unsigned char kat1989_nonce[] = { + 0x97, 0x31, 0x68, 0x1c, 0xf5, 0x60, 0xd6, 0x0c, 0x2b, 0x97, 0x86, 0xa6, + 0x61, 0x89, 0x95, 0xb9, +}; +static const unsigned char kat1989_persstr[] = {0}; +static const unsigned char kat1989_entropyinreseed[] = { + 0x2c, 0x93, 0xce, 0xbe, 0x26, 0x6c, 0x48, 0x91, 0x22, 0x0f, 0x49, 0x01, + 0x79, 0xb0, 0x40, 0xe4, 0x1d, 0x41, 0x74, 0x24, 0x8c, 0x90, 0x0f, 0x2d, + 0xd2, 0xbb, 0x32, 0xfb, 0xce, 0x04, 0x35, 0xc6, +}; +static const unsigned char kat1989_addinreseed[] = {0}; +static const unsigned char kat1989_addin0[] = {0}; +static const unsigned char kat1989_addin1[] = {0}; +static const unsigned char kat1989_retbits[] = { + 0xef, 0x87, 0xf8, 0x20, 0x56, 0x6c, 0xd8, 0x2b, 0x66, 0x4c, 0x3d, 0x40, + 0xa1, 0x18, 0x6a, 0xc8, 0x05, 0x13, 0x53, 0x5c, 0x3a, 0x2b, 0x6e, 0x25, + 0x8f, 0x6a, 0x76, 0x4d, 0xd7, 0xb2, 0x92, 0xa0, 0x17, 0xec, 0xbb, 0x9d, + 0x7b, 0xdf, 0x34, 0x09, 0x99, 0x8a, 0xe6, 0xb3, 0xbc, 0x31, 0xc1, 0xe4, + 0xd4, 0xeb, 0x87, 0x6b, 0x6b, 0x0c, 0x5c, 0xeb, 0x97, 0x04, 0xe9, 0x57, + 0x49, 0x35, 0x72, 0xc0, +}; +static const struct drbg_kat_pr_false kat1989_t = { + 8, kat1989_entropyin, kat1989_nonce, kat1989_persstr, + kat1989_entropyinreseed, kat1989_addinreseed, kat1989_addin0, + kat1989_addin1, kat1989_retbits +}; +static const struct drbg_kat kat1989 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1989_t +}; + +static const unsigned char kat1990_entropyin[] = { + 0x7e, 0x31, 0x3c, 0x2c, 0xab, 0x1c, 0x49, 0xea, 0x71, 0x41, 0x22, 0x36, + 0x05, 0x59, 0x88, 0xea, 0x95, 0x8a, 0x29, 0xf1, 0xc6, 0x6e, 0xad, 0x5d, + 0xaf, 0x91, 0xff, 0x47, 0xcc, 0x5e, 0x84, 0x36, +}; +static const unsigned char kat1990_nonce[] = { + 0xc2, 0xb8, 0x52, 0x0e, 0xfb, 0xa1, 0xca, 0x97, 0x85, 0xd1, 0x9e, 0xe0, + 0x58, 0xcf, 0x23, 0xe0, +}; +static const unsigned char kat1990_persstr[] = {0}; +static const unsigned char kat1990_entropyinreseed[] = { + 0x2a, 0x37, 0x51, 0x83, 0x42, 0x6c, 0x04, 0x4e, 0x84, 0xd7, 0x16, 0x3c, + 0x06, 0x74, 0xdf, 0x32, 0x48, 0x89, 0xc3, 0xbe, 0xa2, 0xba, 0xf0, 0x57, + 0xea, 0x93, 0xa4, 0x7e, 0xf7, 0x75, 0xa8, 0xbf, +}; +static const unsigned char kat1990_addinreseed[] = {0}; +static const unsigned char kat1990_addin0[] = {0}; +static const unsigned char kat1990_addin1[] = {0}; +static const unsigned char kat1990_retbits[] = { + 0x5e, 0x6c, 0xc2, 0x5c, 0xd2, 0xa2, 0x0b, 0x89, 0xa8, 0xfe, 0x89, 0x4f, + 0x2f, 0x1e, 0x72, 0x6b, 0x66, 0x54, 0x41, 0xf7, 0x3c, 0x6e, 0x45, 0xeb, + 0x41, 0xaf, 0x99, 0x01, 0xca, 0x6a, 0xe6, 0x2e, 0x63, 0xe0, 0x82, 0xef, + 0x49, 0xa1, 0xbd, 0xc9, 0xd1, 0x13, 0xe9, 0x9a, 0xbf, 0xf7, 0x48, 0x46, + 0x7a, 0xdd, 0x4c, 0x69, 0x05, 0xb8, 0x8c, 0x4d, 0x2c, 0x25, 0x86, 0x73, + 0x3f, 0x4b, 0x33, 0xdd, +}; +static const struct drbg_kat_pr_false kat1990_t = { + 9, kat1990_entropyin, kat1990_nonce, kat1990_persstr, + kat1990_entropyinreseed, kat1990_addinreseed, kat1990_addin0, + kat1990_addin1, kat1990_retbits +}; +static const struct drbg_kat kat1990 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1990_t +}; + +static const unsigned char kat1991_entropyin[] = { + 0xb2, 0x7e, 0x9c, 0x0f, 0xb4, 0x94, 0xc0, 0x9e, 0x2a, 0x96, 0x0a, 0x5f, + 0x03, 0x49, 0x1a, 0x46, 0x1c, 0xc3, 0x30, 0x4c, 0x92, 0xeb, 0xed, 0xe9, + 0xe3, 0xcc, 0xc7, 0x48, 0xf5, 0x02, 0xa8, 0xbb, +}; +static const unsigned char kat1991_nonce[] = { + 0xd0, 0xb6, 0xa2, 0x94, 0x0d, 0x43, 0x6f, 0x09, 0xe0, 0xe1, 0xbd, 0x90, + 0x3c, 0xc4, 0x46, 0x3d, +}; +static const unsigned char kat1991_persstr[] = {0}; +static const unsigned char kat1991_entropyinreseed[] = { + 0xf1, 0x0b, 0x94, 0x28, 0xd0, 0xd6, 0x00, 0x9c, 0x8a, 0x6d, 0xa2, 0x48, + 0x3a, 0x14, 0x72, 0x46, 0xe2, 0x02, 0x10, 0xa3, 0xae, 0x82, 0x78, 0x9e, + 0x9e, 0x32, 0xd3, 0xd8, 0xac, 0x5c, 0x4f, 0x87, +}; +static const unsigned char kat1991_addinreseed[] = {0}; +static const unsigned char kat1991_addin0[] = {0}; +static const unsigned char kat1991_addin1[] = {0}; +static const unsigned char kat1991_retbits[] = { + 0xd0, 0xb5, 0x94, 0x6a, 0x21, 0x55, 0x1d, 0x84, 0x08, 0xea, 0x54, 0xeb, + 0xcd, 0xe8, 0x93, 0xeb, 0xbb, 0xd5, 0xad, 0x9e, 0xaa, 0xbd, 0xdd, 0xd2, + 0xe7, 0x60, 0x1f, 0xce, 0xce, 0xc9, 0xa7, 0x93, 0x91, 0x82, 0xca, 0xdb, + 0xe2, 0xef, 0x7b, 0xa7, 0x0b, 0xee, 0x96, 0x6a, 0x22, 0x45, 0x45, 0x49, + 0xe9, 0xd5, 0xc1, 0x34, 0x44, 0xe4, 0x42, 0xad, 0xda, 0xd8, 0xba, 0x4e, + 0x55, 0xf5, 0xd7, 0x49, +}; +static const struct drbg_kat_pr_false kat1991_t = { + 10, kat1991_entropyin, kat1991_nonce, kat1991_persstr, + kat1991_entropyinreseed, kat1991_addinreseed, kat1991_addin0, + kat1991_addin1, kat1991_retbits +}; +static const struct drbg_kat kat1991 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1991_t +}; + +static const unsigned char kat1992_entropyin[] = { + 0x98, 0x75, 0xfe, 0xf6, 0xd8, 0xb0, 0x69, 0x91, 0x45, 0xce, 0x20, 0x38, + 0x7e, 0xd0, 0x9e, 0xcd, 0xfc, 0xba, 0x5d, 0xd9, 0xbd, 0xe9, 0x26, 0x7d, + 0xe3, 0xa5, 0x5e, 0x03, 0x8f, 0xc6, 0x4a, 0xc7, +}; +static const unsigned char kat1992_nonce[] = { + 0xf3, 0xe7, 0x44, 0xf4, 0x38, 0x71, 0x7b, 0x81, 0x2d, 0x02, 0xed, 0x45, + 0x96, 0x41, 0x0d, 0xdf, +}; +static const unsigned char kat1992_persstr[] = {0}; +static const unsigned char kat1992_entropyinreseed[] = { + 0xa6, 0xa1, 0x11, 0x5f, 0x2e, 0x8b, 0x8d, 0xf2, 0x1c, 0xad, 0x82, 0x0b, + 0xfc, 0x5f, 0xe3, 0x07, 0x7b, 0xdc, 0x6b, 0xf8, 0x8a, 0xbe, 0x07, 0xc5, + 0x2f, 0x1f, 0xbc, 0x4c, 0x35, 0x3c, 0x22, 0x37, +}; +static const unsigned char kat1992_addinreseed[] = {0}; +static const unsigned char kat1992_addin0[] = {0}; +static const unsigned char kat1992_addin1[] = {0}; +static const unsigned char kat1992_retbits[] = { + 0x89, 0x08, 0x93, 0x5d, 0xc5, 0x30, 0x28, 0x49, 0x84, 0xaa, 0x1c, 0x55, + 0xde, 0xf5, 0x6d, 0x7b, 0x07, 0xc7, 0x40, 0xaa, 0x1b, 0x20, 0x86, 0x46, + 0x18, 0x0f, 0x90, 0x80, 0xf9, 0xba, 0xc3, 0xce, 0xd4, 0xb9, 0xcc, 0xe3, + 0x0c, 0x4a, 0x82, 0x09, 0x84, 0xc6, 0x95, 0x91, 0xc9, 0x7d, 0xe7, 0x03, + 0xd0, 0x62, 0xdf, 0x19, 0xe2, 0x11, 0xdc, 0x20, 0x34, 0x06, 0xe1, 0x88, + 0xf2, 0x12, 0x2a, 0x65, +}; +static const struct drbg_kat_pr_false kat1992_t = { + 11, kat1992_entropyin, kat1992_nonce, kat1992_persstr, + kat1992_entropyinreseed, kat1992_addinreseed, kat1992_addin0, + kat1992_addin1, kat1992_retbits +}; +static const struct drbg_kat kat1992 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1992_t +}; + +static const unsigned char kat1993_entropyin[] = { + 0x1e, 0x8f, 0x79, 0xf3, 0x04, 0x16, 0xf8, 0x08, 0xec, 0x31, 0x7e, 0x40, + 0xb1, 0x5d, 0xcd, 0x93, 0x5e, 0x10, 0xe2, 0x91, 0x4b, 0x9d, 0x83, 0x41, + 0x3e, 0x21, 0x85, 0xd0, 0x09, 0x9f, 0xfe, 0xd6, +}; +static const unsigned char kat1993_nonce[] = { + 0x24, 0xb6, 0x75, 0x8f, 0x5e, 0x31, 0xb3, 0x25, 0xdc, 0x73, 0x6e, 0x6c, + 0xfb, 0x2c, 0x36, 0xe4, +}; +static const unsigned char kat1993_persstr[] = {0}; +static const unsigned char kat1993_entropyinreseed[] = { + 0x20, 0xd5, 0x9d, 0x0b, 0xbf, 0xf2, 0x2f, 0x2e, 0x99, 0x1a, 0x8b, 0x45, + 0xcd, 0xab, 0x52, 0x5d, 0xbc, 0xae, 0x36, 0x91, 0x91, 0x93, 0x23, 0x3c, + 0xa9, 0xb0, 0x8b, 0xf1, 0x0d, 0x41, 0xf6, 0xd1, +}; +static const unsigned char kat1993_addinreseed[] = {0}; +static const unsigned char kat1993_addin0[] = {0}; +static const unsigned char kat1993_addin1[] = {0}; +static const unsigned char kat1993_retbits[] = { + 0xce, 0xf2, 0x98, 0x71, 0x30, 0x6d, 0xa0, 0xaf, 0xa0, 0x0f, 0x6d, 0x63, + 0x43, 0x05, 0x7c, 0x2d, 0x89, 0x93, 0xeb, 0xe3, 0xe0, 0xab, 0xe0, 0xf5, + 0xa8, 0xca, 0xaf, 0xbd, 0x67, 0x2a, 0x63, 0x86, 0x2f, 0xe6, 0xba, 0xd6, + 0x94, 0x53, 0x12, 0x1a, 0xd8, 0xa7, 0x57, 0xea, 0x4e, 0x5c, 0x48, 0x2c, + 0xa1, 0x47, 0x29, 0xb6, 0xe2, 0xce, 0x01, 0xb3, 0x99, 0x6d, 0x4d, 0x34, + 0xa1, 0xd8, 0x32, 0xb1, +}; +static const struct drbg_kat_pr_false kat1993_t = { + 12, kat1993_entropyin, kat1993_nonce, kat1993_persstr, + kat1993_entropyinreseed, kat1993_addinreseed, kat1993_addin0, + kat1993_addin1, kat1993_retbits +}; +static const struct drbg_kat kat1993 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1993_t +}; + +static const unsigned char kat1994_entropyin[] = { + 0xaa, 0xdc, 0x2c, 0xce, 0x3a, 0xcf, 0x39, 0x8c, 0x8c, 0x11, 0xbf, 0x8e, + 0x20, 0x5d, 0x61, 0x57, 0xf9, 0x90, 0x3e, 0x8f, 0x19, 0x52, 0x46, 0xa7, + 0xbb, 0x81, 0x0a, 0xdf, 0xab, 0x0a, 0x76, 0x28, +}; +static const unsigned char kat1994_nonce[] = { + 0x8f, 0x66, 0xf8, 0x80, 0xd0, 0x79, 0x6f, 0x8e, 0xe5, 0x55, 0x45, 0xa2, + 0x26, 0x8c, 0x46, 0x52, +}; +static const unsigned char kat1994_persstr[] = {0}; +static const unsigned char kat1994_entropyinreseed[] = { + 0x25, 0x02, 0xca, 0x2a, 0xf9, 0x70, 0x79, 0xa3, 0x87, 0xdf, 0xdf, 0x25, + 0x47, 0x21, 0x7f, 0x84, 0xc3, 0x93, 0x2f, 0xcb, 0xa4, 0x91, 0x77, 0xc2, + 0xa9, 0x52, 0x81, 0xf3, 0xa2, 0x89, 0xe8, 0x3e, +}; +static const unsigned char kat1994_addinreseed[] = {0}; +static const unsigned char kat1994_addin0[] = {0}; +static const unsigned char kat1994_addin1[] = {0}; +static const unsigned char kat1994_retbits[] = { + 0xd5, 0x7d, 0xdd, 0xf8, 0x72, 0x43, 0xde, 0x2d, 0xb9, 0xa5, 0xba, 0xe4, + 0x95, 0xcc, 0x20, 0xeb, 0xe8, 0x19, 0xe6, 0xa4, 0x67, 0x46, 0x06, 0x19, + 0x9a, 0xaa, 0xb3, 0xb5, 0x59, 0x31, 0xc1, 0xbf, 0xa1, 0xd1, 0x33, 0x35, + 0x78, 0x15, 0xb3, 0x94, 0xff, 0x9e, 0x81, 0x0b, 0x83, 0x73, 0xda, 0xec, + 0xd8, 0x59, 0x26, 0x98, 0x71, 0xea, 0xf6, 0xf5, 0x6b, 0xe4, 0xa7, 0x43, + 0xb1, 0xc1, 0x99, 0x7a, +}; +static const struct drbg_kat_pr_false kat1994_t = { + 13, kat1994_entropyin, kat1994_nonce, kat1994_persstr, + kat1994_entropyinreseed, kat1994_addinreseed, kat1994_addin0, + kat1994_addin1, kat1994_retbits +}; +static const struct drbg_kat kat1994 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1994_t +}; + +static const unsigned char kat1995_entropyin[] = { + 0x4e, 0xeb, 0x68, 0x8f, 0x8a, 0xa8, 0x60, 0x04, 0x74, 0x96, 0x42, 0x16, + 0x17, 0x26, 0x6a, 0xbe, 0xe3, 0xee, 0xf3, 0xf8, 0x86, 0x82, 0xa7, 0x92, + 0x51, 0x11, 0x6b, 0xf7, 0x80, 0x16, 0xa8, 0xf1, +}; +static const unsigned char kat1995_nonce[] = { + 0xbc, 0x38, 0xd8, 0x3e, 0x89, 0x18, 0x15, 0x59, 0x7c, 0x40, 0x8b, 0x0a, + 0x50, 0xa2, 0x94, 0x8d, +}; +static const unsigned char kat1995_persstr[] = {0}; +static const unsigned char kat1995_entropyinreseed[] = { + 0xae, 0xe4, 0xa6, 0x65, 0x5f, 0x81, 0x74, 0x12, 0xf2, 0x7f, 0x4c, 0xa6, + 0x86, 0xf1, 0x47, 0x6f, 0xf3, 0x8b, 0xe0, 0x6a, 0xbc, 0x2d, 0xfa, 0xfe, + 0xd9, 0x50, 0xfd, 0x46, 0xdf, 0x03, 0x86, 0x5e, +}; +static const unsigned char kat1995_addinreseed[] = {0}; +static const unsigned char kat1995_addin0[] = {0}; +static const unsigned char kat1995_addin1[] = {0}; +static const unsigned char kat1995_retbits[] = { + 0x2d, 0xbe, 0xc5, 0x64, 0x8c, 0x60, 0x8d, 0xa2, 0xf1, 0x95, 0xf8, 0x6a, + 0x41, 0xd2, 0x6a, 0x98, 0x87, 0xa7, 0xf7, 0x5f, 0x38, 0xed, 0x8d, 0x5d, + 0xc5, 0x1b, 0x8c, 0xe6, 0x7e, 0xdb, 0x10, 0xe9, 0x68, 0xc1, 0xb0, 0x54, + 0xa7, 0x8d, 0x12, 0x98, 0xcc, 0x3e, 0x6d, 0x8a, 0xd3, 0x61, 0x08, 0x6a, + 0x0f, 0xee, 0x9d, 0x24, 0xcb, 0x36, 0xfc, 0x84, 0x34, 0xbb, 0xaa, 0x14, + 0x42, 0xe2, 0x82, 0x87, +}; +static const struct drbg_kat_pr_false kat1995_t = { + 14, kat1995_entropyin, kat1995_nonce, kat1995_persstr, + kat1995_entropyinreseed, kat1995_addinreseed, kat1995_addin0, + kat1995_addin1, kat1995_retbits +}; +static const struct drbg_kat kat1995 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat1995_t +}; + +static const unsigned char kat1996_entropyin[] = { + 0x44, 0xa6, 0x90, 0xd5, 0x90, 0xf4, 0x43, 0xbc, 0xa7, 0xab, 0xe4, 0xc2, + 0x0c, 0x70, 0xdd, 0xb0, 0xdf, 0x0e, 0xe2, 0x9e, 0xd2, 0x3e, 0xdf, 0xc1, + 0xcb, 0xe9, 0x23, 0xae, 0x7a, 0x4e, 0xb6, 0xc7, +}; +static const unsigned char kat1996_nonce[] = { + 0x33, 0x4f, 0xc3, 0x55, 0xf9, 0xf0, 0x74, 0x59, 0xd8, 0xf0, 0x14, 0xeb, + 0xde, 0x24, 0xbc, 0xb6, +}; +static const unsigned char kat1996_persstr[] = {0}; +static const unsigned char kat1996_entropyinreseed[] = { + 0x1b, 0xb4, 0x9e, 0x9b, 0xad, 0x9f, 0xc9, 0x4d, 0x36, 0x3d, 0xf0, 0x1c, + 0x02, 0x38, 0x8a, 0xf3, 0x91, 0xf4, 0x56, 0x4a, 0xbd, 0x8c, 0xce, 0x10, + 0x29, 0x88, 0x75, 0xd2, 0x93, 0x4d, 0xf8, 0x91, +}; +static const unsigned char kat1996_addinreseed[] = { + 0x00, 0x92, 0xb9, 0x9e, 0xfa, 0x09, 0xa6, 0xb3, 0x0b, 0xb6, 0xf0, 0xd9, + 0xfd, 0x5f, 0xde, 0xd4, 0x90, 0xe7, 0x45, 0xc4, 0xbe, 0x3f, 0xa5, 0x61, + 0x5b, 0x31, 0x84, 0x44, 0xb5, 0x59, 0x3d, 0xb5, +}; +static const unsigned char kat1996_addin0[] = { + 0xf5, 0xf6, 0x98, 0xf0, 0xdd, 0x17, 0x1c, 0x38, 0xd2, 0x4a, 0x5b, 0xb3, + 0xc5, 0xbf, 0x61, 0x15, 0xbf, 0x1a, 0xf2, 0x3c, 0x38, 0x51, 0x72, 0x92, + 0xe9, 0x4d, 0xd7, 0xf5, 0x76, 0x59, 0x7d, 0xb5, +}; +static const unsigned char kat1996_addin1[] = { + 0x2d, 0xa7, 0x19, 0xaa, 0x44, 0xa9, 0x69, 0x10, 0xe7, 0x3f, 0xcf, 0x27, + 0xe4, 0x6d, 0x8d, 0xbb, 0x1c, 0x7b, 0x5d, 0x82, 0xf5, 0x71, 0x3a, 0x29, + 0x80, 0xaa, 0xda, 0x6c, 0xf2, 0xa4, 0x51, 0x04, +}; +static const unsigned char kat1996_retbits[] = { + 0x27, 0xa2, 0xfb, 0x77, 0x04, 0xa7, 0x14, 0xe2, 0x07, 0xfd, 0x31, 0xa7, + 0x96, 0xc4, 0xc0, 0x53, 0xb0, 0x35, 0x5a, 0x15, 0x99, 0xd4, 0x7d, 0x20, + 0x1b, 0x1b, 0x5b, 0xb3, 0x7f, 0x79, 0xcf, 0x32, 0xf9, 0x28, 0x9b, 0xd2, + 0x63, 0xac, 0x6b, 0xdd, 0x8e, 0x83, 0xcc, 0x45, 0x1b, 0x3a, 0x3b, 0xaa, + 0x8f, 0x27, 0xcf, 0x3b, 0x5b, 0xa6, 0xa9, 0xa4, 0xa7, 0xd2, 0xd6, 0xae, + 0x60, 0x7d, 0xbc, 0x22, +}; +static const struct drbg_kat_pr_false kat1996_t = { + 0, kat1996_entropyin, kat1996_nonce, kat1996_persstr, + kat1996_entropyinreseed, kat1996_addinreseed, kat1996_addin0, + kat1996_addin1, kat1996_retbits +}; +static const struct drbg_kat kat1996 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1996_t +}; + +static const unsigned char kat1997_entropyin[] = { + 0x64, 0x9d, 0xb3, 0xcd, 0x39, 0x89, 0xa3, 0xb6, 0xc7, 0x73, 0xd7, 0x2b, + 0x16, 0x72, 0x3d, 0xe9, 0x03, 0xac, 0x45, 0x76, 0x40, 0xf2, 0xa9, 0x70, + 0xb9, 0xfc, 0xe2, 0xf5, 0xbf, 0x24, 0xa1, 0xf2, +}; +static const unsigned char kat1997_nonce[] = { + 0x02, 0x83, 0xf0, 0xdb, 0x14, 0xbd, 0x72, 0x9f, 0x96, 0x84, 0x2e, 0x35, + 0xba, 0xa9, 0xc8, 0x2f, +}; +static const unsigned char kat1997_persstr[] = {0}; +static const unsigned char kat1997_entropyinreseed[] = { + 0x42, 0x2a, 0xb5, 0x36, 0x72, 0xd6, 0x7d, 0x4e, 0xc1, 0x9d, 0xe8, 0xd0, + 0xa1, 0x89, 0xf8, 0x10, 0x0e, 0x77, 0xde, 0x8f, 0x79, 0xd9, 0x52, 0x8e, + 0xe5, 0xad, 0xcc, 0x4f, 0xfd, 0xb4, 0x9a, 0x9a, +}; +static const unsigned char kat1997_addinreseed[] = { + 0x56, 0xb5, 0x27, 0xe7, 0x8f, 0x33, 0xe2, 0xba, 0x91, 0xa6, 0xf5, 0x49, + 0x11, 0x57, 0x6e, 0xb9, 0xdc, 0x15, 0xb9, 0xda, 0x40, 0x7c, 0x28, 0xc8, + 0x13, 0x1d, 0x7a, 0x5f, 0x33, 0xef, 0x6f, 0xd8, +}; +static const unsigned char kat1997_addin0[] = { + 0x7d, 0x58, 0x38, 0xfc, 0x84, 0xcf, 0xce, 0xf3, 0xbd, 0x11, 0xd2, 0x7f, + 0x3d, 0x8c, 0x79, 0x15, 0x03, 0xad, 0xd8, 0x38, 0xdf, 0xe6, 0x95, 0xc9, + 0x48, 0x9a, 0x5b, 0x3c, 0x9c, 0xcd, 0x32, 0x7a, +}; +static const unsigned char kat1997_addin1[] = { + 0x19, 0x9b, 0x51, 0x64, 0xbf, 0xcb, 0x0e, 0x91, 0x58, 0xa1, 0x9a, 0x2f, + 0xdf, 0xce, 0xdc, 0x8f, 0x00, 0xc3, 0x9b, 0x97, 0x04, 0x24, 0x62, 0x53, + 0x69, 0x7c, 0x8e, 0xe0, 0x1f, 0xc0, 0x8e, 0x2c, +}; +static const unsigned char kat1997_retbits[] = { + 0x82, 0x27, 0xed, 0xc6, 0x0f, 0x95, 0xc7, 0x89, 0xeb, 0x19, 0x00, 0x82, + 0x19, 0x9b, 0x1a, 0xd4, 0x30, 0xbb, 0x8a, 0x83, 0xf1, 0xc4, 0x09, 0x12, + 0xfd, 0xf7, 0x3c, 0xa9, 0x97, 0x9a, 0x2b, 0x52, 0xdf, 0x52, 0xb5, 0xe6, + 0x52, 0x1c, 0x86, 0xa7, 0x9d, 0x68, 0x1e, 0x01, 0x05, 0xa1, 0x1b, 0x48, + 0x5a, 0x47, 0x4d, 0x09, 0xff, 0x77, 0x4e, 0x57, 0x30, 0xdf, 0x10, 0xc7, + 0x44, 0x19, 0x8e, 0x15, +}; +static const struct drbg_kat_pr_false kat1997_t = { + 1, kat1997_entropyin, kat1997_nonce, kat1997_persstr, + kat1997_entropyinreseed, kat1997_addinreseed, kat1997_addin0, + kat1997_addin1, kat1997_retbits +}; +static const struct drbg_kat kat1997 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1997_t +}; + +static const unsigned char kat1998_entropyin[] = { + 0x3e, 0x7d, 0x7c, 0x87, 0x97, 0xdc, 0x01, 0x64, 0xfc, 0x3a, 0xdb, 0x59, + 0x5b, 0xad, 0xd0, 0xd8, 0xeb, 0x26, 0xf3, 0xa8, 0x28, 0x79, 0xe5, 0x4a, + 0x10, 0x46, 0xaf, 0x14, 0x0b, 0xe7, 0x37, 0xb4, +}; +static const unsigned char kat1998_nonce[] = { + 0x62, 0x99, 0x3d, 0xd2, 0xfc, 0x88, 0xcc, 0xaa, 0x24, 0x38, 0xe2, 0x14, + 0x83, 0xab, 0xa2, 0x44, +}; +static const unsigned char kat1998_persstr[] = {0}; +static const unsigned char kat1998_entropyinreseed[] = { + 0xc7, 0x31, 0x1f, 0x9f, 0x1e, 0x1b, 0x61, 0x89, 0xfa, 0x05, 0x10, 0xec, + 0x96, 0x93, 0xb8, 0xf5, 0xde, 0x6c, 0x2a, 0xb9, 0x00, 0xc9, 0x3f, 0xb0, + 0xe3, 0x8e, 0xb0, 0x9e, 0x83, 0x13, 0x5d, 0x22, +}; +static const unsigned char kat1998_addinreseed[] = { + 0x7d, 0x0d, 0xda, 0xce, 0xd9, 0x21, 0xbd, 0x01, 0x87, 0xa2, 0xb5, 0x86, + 0x69, 0xe4, 0x6e, 0x07, 0x2c, 0xd0, 0x15, 0x1c, 0x90, 0x51, 0x3d, 0xc8, + 0x1c, 0xff, 0x20, 0x6e, 0xa4, 0xb1, 0xf3, 0xd9, +}; +static const unsigned char kat1998_addin0[] = { + 0xb0, 0x00, 0x10, 0x7d, 0x1a, 0x93, 0xc5, 0xbd, 0xbb, 0x48, 0x6a, 0x4b, + 0x7e, 0xdc, 0x5f, 0xbd, 0xec, 0x1e, 0xc1, 0xab, 0xd7, 0x1f, 0xcd, 0xc6, + 0xb2, 0x48, 0x33, 0x32, 0x07, 0x42, 0x27, 0x79, +}; +static const unsigned char kat1998_addin1[] = { + 0xfb, 0xf8, 0xac, 0x5f, 0x68, 0x9b, 0xbd, 0xb3, 0x6c, 0x9c, 0xf4, 0xff, + 0xc8, 0x84, 0xe3, 0x2a, 0xf9, 0xa6, 0x00, 0xca, 0x79, 0x28, 0xf8, 0x7c, + 0xa3, 0x22, 0x40, 0xbf, 0xbd, 0x9c, 0x89, 0xdd, +}; +static const unsigned char kat1998_retbits[] = { + 0x4d, 0xc2, 0x2e, 0xa7, 0x2e, 0xbe, 0x04, 0xfe, 0x6e, 0x0b, 0xbb, 0xc4, + 0x85, 0xa2, 0x1d, 0x24, 0x96, 0x49, 0x98, 0xb8, 0x94, 0x8e, 0x5d, 0x08, + 0xf1, 0x58, 0x57, 0xc6, 0x0e, 0x7e, 0x25, 0x42, 0x8a, 0xcc, 0xf2, 0x4d, + 0xac, 0xec, 0x40, 0xad, 0x7d, 0x7d, 0x39, 0xb3, 0x4d, 0x21, 0x53, 0xdd, + 0x95, 0xf4, 0xe6, 0xb7, 0x2d, 0x2d, 0x35, 0xd1, 0xd9, 0x5e, 0xf6, 0xd0, + 0x99, 0x88, 0x6e, 0x4c, +}; +static const struct drbg_kat_pr_false kat1998_t = { + 2, kat1998_entropyin, kat1998_nonce, kat1998_persstr, + kat1998_entropyinreseed, kat1998_addinreseed, kat1998_addin0, + kat1998_addin1, kat1998_retbits +}; +static const struct drbg_kat kat1998 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1998_t +}; + +static const unsigned char kat1999_entropyin[] = { + 0xc7, 0x63, 0x39, 0xf1, 0xe0, 0x9b, 0xa2, 0xe8, 0xa4, 0x7b, 0xe1, 0xbe, + 0xf7, 0xba, 0xb4, 0x9a, 0x22, 0x2b, 0xa9, 0xa1, 0xc8, 0x49, 0x2e, 0x71, + 0x64, 0xab, 0x36, 0xeb, 0xce, 0xa7, 0xea, 0x5d, +}; +static const unsigned char kat1999_nonce[] = { + 0xd4, 0x65, 0x73, 0x33, 0xca, 0x9f, 0xba, 0x1e, 0xd3, 0x31, 0x64, 0xd8, + 0xb3, 0xbb, 0xe4, 0xd7, +}; +static const unsigned char kat1999_persstr[] = {0}; +static const unsigned char kat1999_entropyinreseed[] = { + 0x64, 0xc2, 0x5b, 0x2f, 0xd3, 0x3d, 0xdc, 0x3e, 0xc6, 0x5e, 0x84, 0xc1, + 0xac, 0x14, 0xc9, 0xd3, 0xe8, 0x64, 0x5c, 0xd1, 0xf5, 0xfe, 0x85, 0x22, + 0x2c, 0x5b, 0xfb, 0x8c, 0x59, 0x01, 0xa2, 0x47, +}; +static const unsigned char kat1999_addinreseed[] = { + 0xfc, 0xa6, 0x00, 0x41, 0x1f, 0xd3, 0xfb, 0xa5, 0x54, 0xad, 0xa7, 0x6f, + 0x90, 0x97, 0x2f, 0x81, 0x8a, 0xcd, 0x57, 0x43, 0x1a, 0x48, 0xd8, 0x10, + 0x00, 0xf1, 0xde, 0xa2, 0xe2, 0x83, 0x00, 0x02, +}; +static const unsigned char kat1999_addin0[] = { + 0xac, 0x98, 0xcf, 0x17, 0x06, 0x4b, 0x93, 0x3c, 0xb5, 0xd7, 0x18, 0x21, + 0x30, 0xf1, 0x0b, 0x0f, 0x72, 0x11, 0x7f, 0xcd, 0x2c, 0x91, 0x4c, 0x0d, + 0xbd, 0x46, 0x1d, 0xdb, 0x7e, 0xc1, 0xa1, 0xd0, +}; +static const unsigned char kat1999_addin1[] = { + 0xe8, 0x22, 0x10, 0x9e, 0x3b, 0xaa, 0x54, 0xa0, 0xbf, 0xb5, 0x4b, 0x9a, + 0x52, 0xaa, 0x7c, 0x94, 0x5c, 0xdc, 0x48, 0xb4, 0x1d, 0x1a, 0x5e, 0x54, + 0x4f, 0xbc, 0xea, 0xc1, 0x14, 0x7a, 0x36, 0xca, +}; +static const unsigned char kat1999_retbits[] = { + 0xb4, 0x8b, 0x4c, 0x1d, 0x9d, 0xb0, 0x71, 0xc7, 0xdf, 0x5e, 0xd9, 0xf7, + 0x8f, 0x48, 0xff, 0xb3, 0x76, 0xc3, 0x92, 0xc5, 0x1d, 0x2d, 0x0e, 0x76, + 0x42, 0x47, 0xb7, 0x94, 0xa7, 0x62, 0xd0, 0x85, 0x74, 0x31, 0x1b, 0xc3, + 0xe6, 0x1c, 0x84, 0xc8, 0x12, 0xd8, 0x3f, 0x5a, 0xb1, 0x7a, 0x2b, 0x47, + 0x46, 0x7f, 0x84, 0xc0, 0xa4, 0xd4, 0xe8, 0x5a, 0xb9, 0x90, 0x98, 0x9c, + 0x56, 0x1a, 0xa2, 0x0c, +}; +static const struct drbg_kat_pr_false kat1999_t = { + 3, kat1999_entropyin, kat1999_nonce, kat1999_persstr, + kat1999_entropyinreseed, kat1999_addinreseed, kat1999_addin0, + kat1999_addin1, kat1999_retbits +}; +static const struct drbg_kat kat1999 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat1999_t +}; + +static const unsigned char kat2000_entropyin[] = { + 0x10, 0x12, 0x60, 0x1e, 0x13, 0x60, 0x24, 0x7c, 0x8f, 0xc2, 0x48, 0xcb, + 0x1d, 0x6b, 0x76, 0x1e, 0x78, 0xe6, 0x23, 0xcd, 0xfe, 0x85, 0x79, 0x39, + 0xdb, 0x98, 0xb4, 0xc1, 0x57, 0xb7, 0x3d, 0xad, +}; +static const unsigned char kat2000_nonce[] = { + 0x0d, 0x6f, 0xcf, 0x7c, 0x63, 0xc2, 0x0a, 0x41, 0xdd, 0xdf, 0xf5, 0xe0, + 0x01, 0xad, 0x0d, 0xe3, +}; +static const unsigned char kat2000_persstr[] = {0}; +static const unsigned char kat2000_entropyinreseed[] = { + 0x08, 0x91, 0x20, 0xc4, 0x78, 0xd3, 0x34, 0xb3, 0x97, 0xcb, 0xaf, 0xa7, + 0xad, 0x1c, 0xf2, 0xa9, 0xb3, 0xaa, 0xfb, 0x65, 0xb7, 0x9b, 0x0e, 0x0a, + 0xd1, 0xc4, 0xd8, 0x62, 0x72, 0xf0, 0xc2, 0x96, +}; +static const unsigned char kat2000_addinreseed[] = { + 0xd2, 0xed, 0x4c, 0xf9, 0x0d, 0x3f, 0xb8, 0xa0, 0x7c, 0x96, 0x52, 0x2e, + 0xff, 0x6f, 0xda, 0x6b, 0xe4, 0x51, 0x11, 0x50, 0xfa, 0x8b, 0xf3, 0x27, + 0xe4, 0x3c, 0x85, 0x98, 0x61, 0xab, 0xcb, 0x02, +}; +static const unsigned char kat2000_addin0[] = { + 0x95, 0x22, 0x0e, 0x36, 0x78, 0x95, 0x98, 0x5f, 0xa9, 0xa5, 0xa0, 0xba, + 0x2b, 0x10, 0x84, 0xae, 0x96, 0xca, 0x37, 0xbd, 0x7b, 0x90, 0x97, 0x6e, + 0x63, 0x6d, 0xaf, 0xe5, 0x99, 0x93, 0xc4, 0xf9, +}; +static const unsigned char kat2000_addin1[] = { + 0xcc, 0xb2, 0xbf, 0x64, 0xa7, 0xe7, 0x06, 0xa8, 0xa7, 0xc8, 0x6d, 0x30, + 0xd7, 0x2f, 0x89, 0xa7, 0xa8, 0x7c, 0xb9, 0x85, 0x69, 0x24, 0x2a, 0x72, + 0xa1, 0xd3, 0x28, 0x58, 0x77, 0x23, 0x80, 0x37, +}; +static const unsigned char kat2000_retbits[] = { + 0x6e, 0x25, 0x10, 0x47, 0xfd, 0x4f, 0x9d, 0x10, 0x44, 0xde, 0x50, 0xd5, + 0xf3, 0xda, 0x3a, 0x9d, 0xe2, 0x75, 0x60, 0xf2, 0xc2, 0xef, 0xbb, 0xfa, + 0xaa, 0xef, 0x1a, 0x03, 0x06, 0x08, 0x75, 0x69, 0xf5, 0xa8, 0x2d, 0x8b, + 0xde, 0x09, 0x4c, 0x0c, 0x45, 0x1b, 0x5e, 0x52, 0x38, 0x11, 0x14, 0x93, + 0xd5, 0xee, 0x6e, 0xa6, 0x5e, 0x7d, 0x39, 0x97, 0x7b, 0xed, 0x45, 0xdd, + 0xb7, 0xf0, 0xea, 0xf8, +}; +static const struct drbg_kat_pr_false kat2000_t = { + 4, kat2000_entropyin, kat2000_nonce, kat2000_persstr, + kat2000_entropyinreseed, kat2000_addinreseed, kat2000_addin0, + kat2000_addin1, kat2000_retbits +}; +static const struct drbg_kat kat2000 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2000_t +}; + +static const unsigned char kat2001_entropyin[] = { + 0x8a, 0xce, 0xcd, 0x89, 0x86, 0xca, 0xee, 0xdd, 0xcd, 0xa8, 0xb7, 0xe1, + 0x8b, 0xa2, 0x84, 0x44, 0x05, 0x57, 0xf8, 0xd4, 0xeb, 0x74, 0x19, 0x30, + 0xd9, 0xc9, 0x64, 0xc6, 0x28, 0xa5, 0xb0, 0x27, +}; +static const unsigned char kat2001_nonce[] = { + 0xb3, 0xbc, 0x9f, 0x79, 0x3d, 0x6a, 0x8b, 0xd3, 0xc6, 0x7d, 0x98, 0x6e, + 0x7d, 0xb3, 0x34, 0x9d, +}; +static const unsigned char kat2001_persstr[] = {0}; +static const unsigned char kat2001_entropyinreseed[] = { + 0x1b, 0x7f, 0x8a, 0xf0, 0x0c, 0x7d, 0xc7, 0xbc, 0x89, 0xc2, 0x52, 0x25, + 0xb1, 0x57, 0x36, 0x5a, 0x66, 0xc0, 0x1d, 0x51, 0x59, 0x69, 0x1d, 0x66, + 0xe4, 0x79, 0xfa, 0x9e, 0x6c, 0x16, 0x46, 0x79, +}; +static const unsigned char kat2001_addinreseed[] = { + 0xec, 0x9a, 0x53, 0xbd, 0xb4, 0xb5, 0x14, 0x40, 0x9b, 0xa1, 0xa4, 0xa1, + 0x41, 0x5e, 0x84, 0xda, 0x62, 0x23, 0x19, 0x7a, 0x97, 0xc2, 0xf9, 0xd8, + 0x9a, 0x9c, 0xd0, 0x27, 0xba, 0xe6, 0x7a, 0x93, +}; +static const unsigned char kat2001_addin0[] = { + 0x87, 0xb9, 0x6a, 0xeb, 0x33, 0xf6, 0x15, 0xbc, 0x91, 0xba, 0xf8, 0xb0, + 0x9f, 0xbb, 0x17, 0x9c, 0xd3, 0x36, 0x42, 0x4f, 0x4b, 0x5e, 0x63, 0x71, + 0xdf, 0x55, 0xbe, 0x66, 0x87, 0xf9, 0x4b, 0x1e, +}; +static const unsigned char kat2001_addin1[] = { + 0xf3, 0x62, 0x2d, 0xe5, 0xdd, 0x40, 0x97, 0xa0, 0xdb, 0xc7, 0x1b, 0xc7, + 0xac, 0x01, 0xcf, 0x70, 0xd8, 0x83, 0x7e, 0xc2, 0x96, 0xcb, 0x84, 0x4c, + 0x7a, 0x66, 0x20, 0x68, 0x85, 0xc7, 0x1e, 0x80, +}; +static const unsigned char kat2001_retbits[] = { + 0xc5, 0xc7, 0x49, 0xa8, 0x0a, 0xce, 0x0d, 0x83, 0x34, 0xbc, 0x85, 0x58, + 0x32, 0x05, 0x78, 0x91, 0x67, 0x80, 0xd5, 0x9a, 0xc6, 0xa8, 0x17, 0x42, + 0xab, 0x0f, 0xaf, 0x0f, 0x3d, 0x1a, 0xce, 0x4f, 0x33, 0xd2, 0xed, 0x6f, + 0xb4, 0xe1, 0x47, 0xe1, 0xdd, 0x15, 0x7e, 0x34, 0x85, 0x66, 0x35, 0x4d, + 0x24, 0x9c, 0xf2, 0x5f, 0x36, 0xcc, 0x46, 0xae, 0x36, 0x15, 0xe3, 0x2d, + 0x51, 0x7a, 0xb6, 0x4c, +}; +static const struct drbg_kat_pr_false kat2001_t = { + 5, kat2001_entropyin, kat2001_nonce, kat2001_persstr, + kat2001_entropyinreseed, kat2001_addinreseed, kat2001_addin0, + kat2001_addin1, kat2001_retbits +}; +static const struct drbg_kat kat2001 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2001_t +}; + +static const unsigned char kat2002_entropyin[] = { + 0x66, 0x5b, 0xb9, 0xce, 0xf9, 0xe9, 0x3b, 0x94, 0x3a, 0xaf, 0x7f, 0x75, + 0x34, 0x36, 0x7d, 0x88, 0x11, 0x3b, 0xde, 0x79, 0x96, 0xfc, 0x92, 0x2b, + 0x26, 0xb9, 0x34, 0x53, 0x6f, 0x4e, 0x47, 0x80, +}; +static const unsigned char kat2002_nonce[] = { + 0x80, 0xa5, 0x7f, 0x45, 0x0d, 0x81, 0x63, 0xdd, 0xe1, 0xae, 0xff, 0xc1, + 0x74, 0x24, 0x55, 0x19, +}; +static const unsigned char kat2002_persstr[] = {0}; +static const unsigned char kat2002_entropyinreseed[] = { + 0x7a, 0x24, 0xa2, 0xbd, 0x4f, 0x5e, 0x20, 0x10, 0xf6, 0x00, 0xcd, 0xf0, + 0x33, 0x03, 0x1d, 0xbd, 0x20, 0xe1, 0xc9, 0x5d, 0x2b, 0x31, 0xdb, 0x82, + 0x4e, 0x66, 0x16, 0xd3, 0x15, 0xb1, 0x48, 0x67, +}; +static const unsigned char kat2002_addinreseed[] = { + 0xd6, 0xd1, 0x91, 0x1b, 0x53, 0xb4, 0x34, 0x22, 0x45, 0x31, 0xf8, 0xea, + 0xb5, 0x6f, 0x0a, 0xd4, 0xf4, 0x6c, 0xdb, 0x38, 0x92, 0x24, 0xaf, 0xfe, + 0xc3, 0xbf, 0x61, 0xbb, 0xcc, 0x84, 0x3e, 0x51, +}; +static const unsigned char kat2002_addin0[] = { + 0xa1, 0xd0, 0x42, 0x00, 0xea, 0x02, 0x11, 0x29, 0x48, 0xe0, 0xa9, 0xb0, + 0x22, 0x9d, 0x63, 0x69, 0x7d, 0x68, 0x96, 0xcb, 0xcd, 0x1a, 0x9b, 0x97, + 0x95, 0x38, 0x17, 0xbd, 0xd0, 0x0f, 0xe6, 0x61, +}; +static const unsigned char kat2002_addin1[] = { + 0x89, 0x34, 0xbc, 0x9a, 0x62, 0x29, 0xbd, 0x25, 0x78, 0x79, 0xf6, 0xd8, + 0x4d, 0x75, 0x3b, 0xd7, 0xb1, 0x51, 0xe6, 0x16, 0xff, 0xfd, 0xa3, 0x30, + 0x50, 0x2b, 0x2d, 0x7e, 0xf2, 0x03, 0x53, 0x1c, +}; +static const unsigned char kat2002_retbits[] = { + 0xd9, 0x50, 0xcf, 0xe3, 0x23, 0xef, 0x9f, 0x24, 0xdc, 0xef, 0x3e, 0x87, + 0x65, 0xa9, 0x90, 0x9c, 0xcd, 0xd6, 0x0a, 0x5d, 0x63, 0x59, 0xb5, 0x1c, + 0xa2, 0x93, 0x7e, 0x11, 0xca, 0x38, 0xc9, 0xd8, 0xca, 0x89, 0xdc, 0x4d, + 0xdf, 0x3e, 0x7a, 0x5b, 0x27, 0x32, 0x0f, 0x18, 0xe9, 0x6d, 0xc1, 0x8a, + 0x37, 0x99, 0xcb, 0x22, 0x8d, 0x59, 0x06, 0xc9, 0x3e, 0xf1, 0x38, 0x0f, + 0x10, 0xa6, 0x6a, 0xee, +}; +static const struct drbg_kat_pr_false kat2002_t = { + 6, kat2002_entropyin, kat2002_nonce, kat2002_persstr, + kat2002_entropyinreseed, kat2002_addinreseed, kat2002_addin0, + kat2002_addin1, kat2002_retbits +}; +static const struct drbg_kat kat2002 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2002_t +}; + +static const unsigned char kat2003_entropyin[] = { + 0x72, 0x2b, 0xcc, 0xd6, 0xf5, 0x5f, 0xe0, 0xba, 0xe6, 0x99, 0x87, 0x07, + 0x91, 0x1e, 0xfb, 0x59, 0x1c, 0xd4, 0xb4, 0x8e, 0xfd, 0x95, 0xd6, 0x93, + 0x17, 0xbf, 0x2b, 0xcc, 0x50, 0xf1, 0xc1, 0xbc, +}; +static const unsigned char kat2003_nonce[] = { + 0x53, 0xe3, 0x9a, 0x29, 0x91, 0xdc, 0xae, 0xfc, 0xca, 0x3d, 0xbe, 0x53, + 0xca, 0x3b, 0x6c, 0x4d, +}; +static const unsigned char kat2003_persstr[] = {0}; +static const unsigned char kat2003_entropyinreseed[] = { + 0xd7, 0xfc, 0x5a, 0xfe, 0xf4, 0x03, 0xb9, 0x30, 0x5e, 0xc3, 0xca, 0xb0, + 0xbf, 0xd8, 0x47, 0x91, 0x19, 0x66, 0x6a, 0xd0, 0x8f, 0xe2, 0x44, 0xc6, + 0x5a, 0xa1, 0xb8, 0x35, 0x96, 0x2e, 0x59, 0x8f, +}; +static const unsigned char kat2003_addinreseed[] = { + 0xee, 0x1a, 0xd1, 0x32, 0x2b, 0x4f, 0x23, 0xd6, 0xbc, 0x1a, 0x58, 0xd0, + 0xa3, 0x26, 0x73, 0xeb, 0x89, 0x42, 0xb6, 0xe5, 0x3c, 0x9e, 0xc2, 0x25, + 0x69, 0xf3, 0xfc, 0xaf, 0xd2, 0xdb, 0x33, 0x97, +}; +static const unsigned char kat2003_addin0[] = { + 0xd5, 0x16, 0xae, 0xae, 0xf6, 0x8b, 0x70, 0x77, 0xd4, 0x31, 0x4e, 0xb6, + 0x94, 0xbc, 0x0b, 0x4c, 0xa6, 0x61, 0xec, 0x26, 0x43, 0x14, 0x59, 0xa4, + 0x4d, 0x15, 0xe9, 0xdf, 0x27, 0x33, 0x3b, 0xbe, +}; +static const unsigned char kat2003_addin1[] = { + 0xf6, 0xc3, 0x72, 0x3a, 0xdb, 0x8e, 0xff, 0x96, 0x00, 0xb8, 0x4a, 0x45, + 0x2a, 0xdb, 0x00, 0x71, 0x97, 0x77, 0xc9, 0x52, 0x32, 0x9a, 0xfe, 0x7d, + 0xc2, 0xf4, 0x12, 0x91, 0x75, 0x24, 0x7a, 0xb0, +}; +static const unsigned char kat2003_retbits[] = { + 0xc9, 0x5b, 0x75, 0x75, 0x49, 0x93, 0x1f, 0x03, 0x0f, 0x70, 0x79, 0x6e, + 0xaf, 0x03, 0x83, 0xd9, 0x80, 0x36, 0x27, 0x94, 0xcf, 0x24, 0xfd, 0xac, + 0xf5, 0xa6, 0x10, 0x1f, 0x96, 0x8d, 0x09, 0x9c, 0x19, 0x4c, 0xc7, 0x06, + 0x07, 0xa6, 0xf8, 0x6b, 0xa0, 0x40, 0x4a, 0xdd, 0xd2, 0xac, 0x04, 0xd2, + 0x5e, 0x4a, 0x0d, 0x51, 0xce, 0xb4, 0x5e, 0x2f, 0x9f, 0xfc, 0x2d, 0xa4, + 0x99, 0x13, 0xea, 0x5b, +}; +static const struct drbg_kat_pr_false kat2003_t = { + 7, kat2003_entropyin, kat2003_nonce, kat2003_persstr, + kat2003_entropyinreseed, kat2003_addinreseed, kat2003_addin0, + kat2003_addin1, kat2003_retbits +}; +static const struct drbg_kat kat2003 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2003_t +}; + +static const unsigned char kat2004_entropyin[] = { + 0x64, 0x7f, 0xa5, 0x68, 0x08, 0x69, 0xa0, 0x8f, 0x9f, 0xb1, 0x9d, 0x6a, + 0xf6, 0x27, 0x47, 0x85, 0x26, 0x88, 0xf5, 0x87, 0x0a, 0x5b, 0x5d, 0x80, + 0x92, 0x6c, 0x69, 0xd0, 0x85, 0x03, 0xcc, 0x12, +}; +static const unsigned char kat2004_nonce[] = { + 0x66, 0xa1, 0xc1, 0x52, 0xb8, 0xdb, 0x54, 0x56, 0xd9, 0x17, 0x63, 0x7b, + 0xf3, 0x34, 0x86, 0xac, +}; +static const unsigned char kat2004_persstr[] = {0}; +static const unsigned char kat2004_entropyinreseed[] = { + 0xa6, 0x58, 0xb2, 0x55, 0x93, 0x13, 0xf1, 0x61, 0x81, 0xaf, 0x98, 0x00, + 0x0d, 0x05, 0x8b, 0x20, 0xc7, 0xc1, 0x22, 0x3b, 0x22, 0x58, 0xd6, 0x8d, + 0xe5, 0x43, 0xfa, 0x83, 0x47, 0x56, 0x88, 0x55, +}; +static const unsigned char kat2004_addinreseed[] = { + 0x44, 0x60, 0xdd, 0xd3, 0xbd, 0xe8, 0x53, 0x28, 0x53, 0xd3, 0xc8, 0x67, + 0xc4, 0xed, 0xcc, 0x32, 0xeb, 0xac, 0x9b, 0x04, 0x08, 0x60, 0x95, 0xe1, + 0x81, 0xf4, 0x24, 0x84, 0x18, 0x68, 0x8a, 0x85, +}; +static const unsigned char kat2004_addin0[] = { + 0x79, 0x36, 0x4b, 0xaf, 0xbe, 0x6c, 0xeb, 0x9e, 0xe5, 0xf6, 0xb9, 0xee, + 0x93, 0x2a, 0x46, 0x7a, 0x50, 0xe1, 0xaa, 0x1d, 0x5f, 0xdb, 0xf4, 0x03, + 0x80, 0xe6, 0x7d, 0x66, 0x02, 0xf8, 0x33, 0xcf, +}; +static const unsigned char kat2004_addin1[] = { + 0x42, 0x33, 0xa1, 0x1a, 0xea, 0x16, 0x8c, 0x43, 0xeb, 0xcf, 0x8d, 0x2d, + 0x3e, 0xe0, 0x03, 0xf7, 0xcc, 0x0f, 0x3b, 0x68, 0xb8, 0x59, 0xcd, 0x81, + 0xc7, 0x21, 0x44, 0x7c, 0x05, 0x77, 0x30, 0x8e, +}; +static const unsigned char kat2004_retbits[] = { + 0x81, 0x40, 0x67, 0x45, 0xe9, 0x97, 0xb7, 0x3d, 0x6c, 0xa3, 0x14, 0xe0, + 0xac, 0xfa, 0x08, 0x76, 0x18, 0xe9, 0x67, 0xec, 0x93, 0x48, 0x78, 0xa5, + 0xa7, 0xe0, 0x08, 0xf4, 0xc3, 0xb3, 0xa7, 0xe0, 0x2d, 0x9e, 0x75, 0x92, + 0x93, 0xa4, 0xa4, 0x88, 0xff, 0xf4, 0x8e, 0xf9, 0x69, 0x37, 0x67, 0xe1, + 0x7e, 0x07, 0xa0, 0x89, 0x21, 0x1e, 0xca, 0xee, 0x1b, 0xdd, 0xbe, 0x54, + 0x6e, 0x95, 0xb5, 0xc2, +}; +static const struct drbg_kat_pr_false kat2004_t = { + 8, kat2004_entropyin, kat2004_nonce, kat2004_persstr, + kat2004_entropyinreseed, kat2004_addinreseed, kat2004_addin0, + kat2004_addin1, kat2004_retbits +}; +static const struct drbg_kat kat2004 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2004_t +}; + +static const unsigned char kat2005_entropyin[] = { + 0xb2, 0xb6, 0xfe, 0x28, 0x6e, 0x93, 0x4e, 0x1e, 0xdb, 0x91, 0x69, 0xdb, + 0xa3, 0x14, 0xea, 0x13, 0x64, 0xd5, 0x97, 0x2a, 0xe4, 0x5a, 0x34, 0x3f, + 0xa3, 0xa2, 0x9e, 0xc7, 0xd2, 0x2e, 0x63, 0x0b, +}; +static const unsigned char kat2005_nonce[] = { + 0x6d, 0xe0, 0xb6, 0x1f, 0xb0, 0x85, 0x27, 0x11, 0xc0, 0xb7, 0x8e, 0xac, + 0xca, 0x49, 0x01, 0x08, +}; +static const unsigned char kat2005_persstr[] = {0}; +static const unsigned char kat2005_entropyinreseed[] = { + 0xe7, 0x40, 0x74, 0xcf, 0xfe, 0x00, 0x4d, 0xb9, 0x0f, 0x24, 0x85, 0x22, + 0x0d, 0xdd, 0xb0, 0xbf, 0x81, 0xdd, 0xd9, 0xec, 0x2f, 0xb8, 0x3e, 0xbd, + 0x42, 0x49, 0xba, 0x39, 0xab, 0x1b, 0x2a, 0x20, +}; +static const unsigned char kat2005_addinreseed[] = { + 0x72, 0xaa, 0x7b, 0xd3, 0xf4, 0xc3, 0x29, 0x94, 0xce, 0xeb, 0xd3, 0x74, + 0xba, 0x55, 0x96, 0x44, 0x14, 0x8e, 0x55, 0xc1, 0x4b, 0xba, 0xbe, 0xa5, + 0x53, 0x6a, 0xf8, 0xca, 0xcd, 0xb2, 0xce, 0x34, +}; +static const unsigned char kat2005_addin0[] = { + 0xc1, 0xff, 0x35, 0xde, 0x77, 0xf0, 0x71, 0x3a, 0xb3, 0x52, 0x65, 0x42, + 0x0d, 0x0b, 0xcd, 0xe1, 0x13, 0xc1, 0x85, 0xbc, 0xbd, 0x14, 0x75, 0x22, + 0xb4, 0xb6, 0x49, 0x98, 0x45, 0x1b, 0x38, 0x95, +}; +static const unsigned char kat2005_addin1[] = { + 0x77, 0xab, 0xb2, 0x9a, 0x42, 0x1b, 0x8b, 0xd4, 0x8c, 0xef, 0xe4, 0x7c, + 0xff, 0x73, 0x0b, 0xe6, 0x6a, 0xb9, 0xf5, 0xb5, 0x22, 0x4f, 0x3f, 0x69, + 0x39, 0x9a, 0xfe, 0x81, 0x3e, 0x2a, 0x24, 0xfb, +}; +static const unsigned char kat2005_retbits[] = { + 0xb3, 0x96, 0xa2, 0x9c, 0x98, 0x31, 0x8e, 0x0f, 0x1b, 0xb2, 0x27, 0x9f, + 0xba, 0xc6, 0x77, 0xec, 0xa0, 0x63, 0x42, 0x28, 0x7e, 0x6d, 0x4a, 0xec, + 0x0c, 0xef, 0x36, 0xe8, 0x7e, 0xc4, 0x33, 0x33, 0x7d, 0x00, 0x4a, 0x5a, + 0x0e, 0xc6, 0xd8, 0xf3, 0x5a, 0xf7, 0x05, 0x58, 0xf5, 0xdc, 0x6c, 0xdf, + 0xf9, 0x14, 0x48, 0x36, 0xa6, 0x70, 0x5e, 0x0d, 0x31, 0x59, 0xe6, 0x90, + 0x42, 0x13, 0x90, 0x3c, +}; +static const struct drbg_kat_pr_false kat2005_t = { + 9, kat2005_entropyin, kat2005_nonce, kat2005_persstr, + kat2005_entropyinreseed, kat2005_addinreseed, kat2005_addin0, + kat2005_addin1, kat2005_retbits +}; +static const struct drbg_kat kat2005 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2005_t +}; + +static const unsigned char kat2006_entropyin[] = { + 0x22, 0x97, 0xaa, 0x40, 0x6e, 0x58, 0x9f, 0xe6, 0x30, 0xfa, 0xf8, 0xe5, + 0x7c, 0x75, 0xf0, 0x84, 0x3b, 0x03, 0x07, 0xa4, 0xef, 0x46, 0xa5, 0xa3, + 0x53, 0xe0, 0xd5, 0xc2, 0x19, 0xef, 0xd5, 0xda, +}; +static const unsigned char kat2006_nonce[] = { + 0x92, 0x18, 0x25, 0xe5, 0xec, 0xbc, 0x19, 0x51, 0xcb, 0xfb, 0xa8, 0xbb, + 0x05, 0xcf, 0xda, 0x30, +}; +static const unsigned char kat2006_persstr[] = {0}; +static const unsigned char kat2006_entropyinreseed[] = { + 0xff, 0x27, 0xdc, 0xdd, 0x3c, 0xb7, 0x47, 0x6f, 0xa7, 0x74, 0x01, 0xfd, + 0xd2, 0x5e, 0xa0, 0x42, 0xa3, 0xf3, 0xb6, 0xdc, 0xa7, 0x5d, 0x7a, 0x6b, + 0xe0, 0xd3, 0x93, 0x84, 0x32, 0xeb, 0x7c, 0xa5, +}; +static const unsigned char kat2006_addinreseed[] = { + 0xbd, 0x65, 0xc1, 0x1d, 0x7e, 0x42, 0x1e, 0x17, 0xde, 0x46, 0x19, 0x65, + 0x6a, 0xc9, 0xab, 0x7d, 0x5d, 0x11, 0x2b, 0x28, 0xc9, 0x5d, 0x51, 0x17, + 0x96, 0x3a, 0x19, 0x89, 0x65, 0xfc, 0x75, 0xcb, +}; +static const unsigned char kat2006_addin0[] = { + 0xbf, 0x1c, 0x52, 0xe8, 0x11, 0x27, 0xa5, 0x3b, 0xe2, 0x31, 0x34, 0x6d, + 0x9d, 0x82, 0x75, 0x41, 0x22, 0x1d, 0xe0, 0x99, 0x4a, 0x23, 0xf8, 0xd5, + 0xd5, 0x7f, 0x7b, 0x16, 0x8a, 0xf5, 0x9f, 0xd9, +}; +static const unsigned char kat2006_addin1[] = { + 0x6b, 0xf3, 0x00, 0xfc, 0x65, 0x05, 0xeb, 0xde, 0xb7, 0x0d, 0x96, 0x1b, + 0xf5, 0xb8, 0x89, 0x7a, 0x4f, 0xf4, 0x28, 0x8d, 0x12, 0xf4, 0xf3, 0xf7, + 0xf7, 0x91, 0xd0, 0xa7, 0xc5, 0x33, 0xb6, 0xd2, +}; +static const unsigned char kat2006_retbits[] = { + 0x27, 0x7b, 0xeb, 0x95, 0x11, 0xdf, 0x11, 0x5f, 0x44, 0x8b, 0xbf, 0x37, + 0x3a, 0x73, 0xfb, 0x8e, 0x83, 0x5b, 0x30, 0xa2, 0x87, 0x81, 0xed, 0x8e, + 0xc3, 0x20, 0xbc, 0x77, 0x5a, 0x46, 0xc0, 0x60, 0x08, 0x90, 0x53, 0x3e, + 0xc6, 0x05, 0x67, 0xa1, 0xc5, 0x05, 0x70, 0xd4, 0xcd, 0xec, 0xde, 0xba, + 0x52, 0x43, 0x2d, 0xdc, 0x75, 0x8e, 0xa8, 0x6c, 0xc3, 0x4b, 0x3d, 0x83, + 0xcd, 0x9e, 0x3c, 0x81, +}; +static const struct drbg_kat_pr_false kat2006_t = { + 10, kat2006_entropyin, kat2006_nonce, kat2006_persstr, + kat2006_entropyinreseed, kat2006_addinreseed, kat2006_addin0, + kat2006_addin1, kat2006_retbits +}; +static const struct drbg_kat kat2006 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2006_t +}; + +static const unsigned char kat2007_entropyin[] = { + 0xac, 0x72, 0x05, 0xc8, 0x1f, 0x9b, 0x2f, 0x86, 0x9a, 0x85, 0xfd, 0x09, + 0x24, 0x03, 0xa7, 0x9f, 0x82, 0x1e, 0xe9, 0x84, 0xec, 0x54, 0x52, 0x9b, + 0xd3, 0x8a, 0xdc, 0x7a, 0x62, 0x5b, 0x42, 0x8b, +}; +static const unsigned char kat2007_nonce[] = { + 0x56, 0x8f, 0x2b, 0x58, 0xe8, 0x4d, 0xe0, 0x57, 0xbf, 0x00, 0x63, 0x0c, + 0x12, 0x5e, 0x38, 0x4b, +}; +static const unsigned char kat2007_persstr[] = {0}; +static const unsigned char kat2007_entropyinreseed[] = { + 0x14, 0x67, 0x4d, 0xc6, 0x20, 0x3e, 0x93, 0x19, 0xfa, 0x81, 0x0f, 0x48, + 0x07, 0x37, 0xda, 0xa3, 0x47, 0x99, 0x0e, 0x83, 0x03, 0xb5, 0x9c, 0xb8, + 0xe4, 0x76, 0x3d, 0xab, 0xb1, 0x0b, 0xa2, 0xae, +}; +static const unsigned char kat2007_addinreseed[] = { + 0x90, 0x96, 0xef, 0x0d, 0xc5, 0x38, 0xc5, 0x14, 0xd7, 0x85, 0x50, 0x66, + 0x0b, 0x42, 0x4c, 0x7b, 0x95, 0xf0, 0x3d, 0xbd, 0x13, 0x90, 0xee, 0xa4, + 0x18, 0x85, 0xc3, 0xf0, 0xa5, 0x9b, 0xf3, 0x57, +}; +static const unsigned char kat2007_addin0[] = { + 0x35, 0x74, 0x31, 0x99, 0xbd, 0xb9, 0x56, 0xd2, 0x69, 0xcd, 0xdc, 0x55, + 0xa8, 0xaf, 0x52, 0xe4, 0x98, 0x16, 0x88, 0x29, 0x56, 0xeb, 0xe3, 0x17, + 0xfd, 0x7e, 0x09, 0x5a, 0x6f, 0x18, 0x30, 0xd8, +}; +static const unsigned char kat2007_addin1[] = { + 0x29, 0x84, 0x5f, 0x68, 0x8d, 0x6f, 0x7c, 0x00, 0xa1, 0x4a, 0x72, 0xb0, + 0xa4, 0xbc, 0x5e, 0x6c, 0x31, 0x95, 0xd0, 0xb0, 0x43, 0x6e, 0xa6, 0x7c, + 0x09, 0x8c, 0x0a, 0xbe, 0x05, 0x85, 0x0b, 0x90, +}; +static const unsigned char kat2007_retbits[] = { + 0xc6, 0xc6, 0xd6, 0xdb, 0x9a, 0xe3, 0xfc, 0x25, 0xbc, 0x5b, 0x17, 0xcc, + 0x44, 0x8b, 0x95, 0xe8, 0xc7, 0xf1, 0xa0, 0x7b, 0xb3, 0xd0, 0x26, 0x47, + 0xbc, 0x88, 0xcc, 0x8e, 0x8e, 0xd1, 0x07, 0x58, 0x41, 0x6a, 0xc0, 0xa7, + 0x6c, 0x55, 0x65, 0xe3, 0x8f, 0xa5, 0xd6, 0x9b, 0xe6, 0x52, 0x84, 0x40, + 0x5f, 0x51, 0x7a, 0x84, 0x6c, 0x3e, 0x43, 0x11, 0xa6, 0xf3, 0x82, 0x58, + 0x3c, 0xf8, 0x96, 0x46, +}; +static const struct drbg_kat_pr_false kat2007_t = { + 11, kat2007_entropyin, kat2007_nonce, kat2007_persstr, + kat2007_entropyinreseed, kat2007_addinreseed, kat2007_addin0, + kat2007_addin1, kat2007_retbits +}; +static const struct drbg_kat kat2007 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2007_t +}; + +static const unsigned char kat2008_entropyin[] = { + 0x26, 0x7d, 0x90, 0x56, 0xdb, 0xf8, 0x60, 0x31, 0xeb, 0x8c, 0x5a, 0x98, + 0x28, 0xf7, 0x99, 0x1c, 0x67, 0xa8, 0xe0, 0x41, 0xaa, 0x62, 0xaf, 0xd0, + 0xf6, 0x5b, 0x51, 0x4b, 0xfc, 0xd6, 0xa4, 0xf9, +}; +static const unsigned char kat2008_nonce[] = { + 0x43, 0x97, 0xda, 0x37, 0xff, 0x90, 0x73, 0x1f, 0x27, 0x23, 0x48, 0x2a, + 0x2b, 0xdc, 0x99, 0x11, +}; +static const unsigned char kat2008_persstr[] = {0}; +static const unsigned char kat2008_entropyinreseed[] = { + 0xba, 0x2a, 0x72, 0x41, 0xbb, 0xf3, 0xb5, 0xc6, 0xfc, 0xfd, 0x20, 0x60, + 0x0f, 0x69, 0x31, 0x4f, 0x29, 0x06, 0x97, 0x85, 0x75, 0xb1, 0x20, 0xa7, + 0x59, 0xea, 0x4f, 0xc8, 0x34, 0xd0, 0x70, 0x10, +}; +static const unsigned char kat2008_addinreseed[] = { + 0x7e, 0xce, 0xd6, 0x5d, 0x87, 0xc5, 0x5a, 0x81, 0xfa, 0x01, 0xc4, 0x6b, + 0xfd, 0x80, 0x95, 0x8a, 0x87, 0xe6, 0x71, 0xf8, 0x6a, 0x62, 0x8a, 0x3a, + 0xd0, 0xa1, 0xc5, 0xb0, 0x63, 0x9c, 0xe4, 0xb3, +}; +static const unsigned char kat2008_addin0[] = { + 0x09, 0xb5, 0xde, 0x16, 0x81, 0xb5, 0x52, 0x6e, 0xfd, 0xe5, 0x8f, 0xe9, + 0xd3, 0xab, 0xe4, 0xcd, 0x4e, 0x74, 0xf5, 0xdf, 0xd4, 0x83, 0x92, 0xa8, + 0x51, 0xf8, 0x85, 0x59, 0x6f, 0xd5, 0xb8, 0xbd, +}; +static const unsigned char kat2008_addin1[] = { + 0x48, 0xee, 0x86, 0x11, 0xaa, 0x8c, 0x0e, 0x75, 0xa2, 0xd4, 0x5a, 0x65, + 0x82, 0x6a, 0x49, 0xf0, 0xd2, 0x1d, 0xfb, 0x4a, 0xf3, 0xfd, 0x1d, 0x17, + 0xcd, 0x64, 0x9f, 0x52, 0xbf, 0xe2, 0x6a, 0x9a, +}; +static const unsigned char kat2008_retbits[] = { + 0xff, 0xe8, 0xbd, 0xbe, 0xfd, 0x0c, 0xf8, 0x21, 0xda, 0x1e, 0x0a, 0x3c, + 0xd8, 0xe8, 0x12, 0xe2, 0x9b, 0x2c, 0x10, 0xfb, 0x00, 0xb5, 0xcc, 0xbd, + 0x35, 0x81, 0x0b, 0x74, 0xa0, 0xc9, 0x6d, 0x54, 0x88, 0xfc, 0x6c, 0xd2, + 0x0d, 0x4a, 0x36, 0x35, 0xaf, 0x14, 0x28, 0x21, 0x6a, 0x75, 0x4c, 0x32, + 0xaa, 0x0c, 0x4a, 0x2e, 0xdf, 0xb8, 0xbd, 0xa3, 0x71, 0xa2, 0x5a, 0xe7, + 0x7f, 0x6b, 0x05, 0x0c, +}; +static const struct drbg_kat_pr_false kat2008_t = { + 12, kat2008_entropyin, kat2008_nonce, kat2008_persstr, + kat2008_entropyinreseed, kat2008_addinreseed, kat2008_addin0, + kat2008_addin1, kat2008_retbits +}; +static const struct drbg_kat kat2008 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2008_t +}; + +static const unsigned char kat2009_entropyin[] = { + 0x12, 0x26, 0x88, 0x7c, 0xec, 0xc5, 0xee, 0xf4, 0x73, 0x92, 0x74, 0x5c, + 0xf9, 0x29, 0xff, 0xff, 0x4d, 0xd6, 0xe9, 0xc0, 0xda, 0x8b, 0xbe, 0x5e, + 0x32, 0xaa, 0x0a, 0xbd, 0xaa, 0xf4, 0x28, 0x84, +}; +static const unsigned char kat2009_nonce[] = { + 0x67, 0x97, 0x5b, 0x45, 0xee, 0xf8, 0x94, 0xaa, 0x8d, 0x40, 0x4f, 0xa2, + 0x98, 0xb0, 0xaa, 0xa1, +}; +static const unsigned char kat2009_persstr[] = {0}; +static const unsigned char kat2009_entropyinreseed[] = { + 0xe7, 0xaf, 0xf4, 0x6f, 0x2b, 0x77, 0x18, 0x99, 0x23, 0x8f, 0xa6, 0xc0, + 0x9c, 0x09, 0x48, 0x21, 0x66, 0x46, 0x11, 0xc6, 0x6a, 0x57, 0x8c, 0x25, + 0xbb, 0x3e, 0xf5, 0xe5, 0x3d, 0xb4, 0xbd, 0x8b, +}; +static const unsigned char kat2009_addinreseed[] = { + 0xcf, 0xbd, 0xad, 0x53, 0xab, 0x7c, 0xc8, 0xcb, 0x78, 0x51, 0x2c, 0x7f, + 0x19, 0x5d, 0x95, 0x54, 0x48, 0xfa, 0x80, 0xcc, 0x08, 0xe1, 0xb5, 0x02, + 0x81, 0xa7, 0xe9, 0x8b, 0x0e, 0xdd, 0xd7, 0x80, +}; +static const unsigned char kat2009_addin0[] = { + 0x3d, 0x83, 0xa6, 0x01, 0x49, 0x48, 0x7c, 0xd4, 0x4f, 0x12, 0x69, 0xc4, + 0xa2, 0xbe, 0xcb, 0x26, 0x20, 0x93, 0x96, 0x45, 0xe6, 0x89, 0x86, 0x85, + 0x51, 0x28, 0x6c, 0x70, 0xf3, 0x7f, 0x61, 0xc4, +}; +static const unsigned char kat2009_addin1[] = { + 0x7a, 0x20, 0xbc, 0x5e, 0x65, 0xa9, 0xbf, 0x88, 0x66, 0x9d, 0xe6, 0x26, + 0xa5, 0x7b, 0xff, 0xfd, 0xf6, 0x7f, 0xfb, 0x31, 0x10, 0x54, 0x19, 0x11, + 0x26, 0xce, 0x18, 0x81, 0x9a, 0xc7, 0x07, 0xcb, +}; +static const unsigned char kat2009_retbits[] = { + 0x68, 0x05, 0xb3, 0x15, 0xc0, 0xbc, 0x3e, 0xdd, 0x65, 0x74, 0x85, 0x92, + 0xb5, 0xb2, 0xde, 0xa1, 0x67, 0x83, 0xc2, 0x01, 0xfc, 0x46, 0x93, 0xd4, + 0x0c, 0x1e, 0x2b, 0x9c, 0xba, 0x53, 0x34, 0x53, 0x02, 0x4f, 0x07, 0xd8, + 0xa7, 0x0b, 0xcd, 0xe4, 0xbf, 0x8d, 0x1f, 0x62, 0xf3, 0x58, 0xb9, 0xbf, + 0x53, 0x37, 0x27, 0x06, 0xe9, 0x24, 0x06, 0x2a, 0x16, 0x03, 0x74, 0x62, + 0x53, 0x83, 0x00, 0xcd, +}; +static const struct drbg_kat_pr_false kat2009_t = { + 13, kat2009_entropyin, kat2009_nonce, kat2009_persstr, + kat2009_entropyinreseed, kat2009_addinreseed, kat2009_addin0, + kat2009_addin1, kat2009_retbits +}; +static const struct drbg_kat kat2009 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2009_t +}; + +static const unsigned char kat2010_entropyin[] = { + 0x5e, 0xaf, 0x75, 0x44, 0xa8, 0x32, 0xc9, 0xc9, 0xea, 0x6d, 0x44, 0xfe, + 0xb9, 0x32, 0x3f, 0x5f, 0xad, 0x6b, 0xe9, 0xdd, 0x7e, 0xb3, 0x58, 0x3e, + 0x37, 0xd2, 0x6d, 0x0a, 0x11, 0x39, 0x68, 0xa4, +}; +static const unsigned char kat2010_nonce[] = { + 0xc8, 0x2d, 0x1b, 0xa5, 0xb2, 0x1f, 0x00, 0x63, 0xca, 0x68, 0x67, 0x06, + 0xbe, 0x55, 0x64, 0x72, +}; +static const unsigned char kat2010_persstr[] = {0}; +static const unsigned char kat2010_entropyinreseed[] = { + 0x3c, 0xbd, 0x80, 0x7a, 0xe5, 0xa1, 0x28, 0x3e, 0x8c, 0xd8, 0xbc, 0x36, + 0xf8, 0x9d, 0xbc, 0x74, 0x74, 0x34, 0xe5, 0x87, 0x21, 0xd8, 0x38, 0x7f, + 0x3d, 0x3f, 0xef, 0x48, 0xc6, 0x6e, 0x25, 0x95, +}; +static const unsigned char kat2010_addinreseed[] = { + 0x35, 0x50, 0x19, 0x8b, 0xe9, 0x9e, 0x10, 0x84, 0xad, 0x87, 0xf1, 0x3f, + 0xab, 0x41, 0x21, 0x33, 0x3c, 0x38, 0x99, 0x61, 0xef, 0x48, 0x91, 0x9d, + 0x9b, 0xb8, 0x37, 0xb2, 0x46, 0xdf, 0x56, 0x11, +}; +static const unsigned char kat2010_addin0[] = { + 0xbd, 0x20, 0xf7, 0x26, 0x63, 0xcc, 0xae, 0xb0, 0x86, 0x32, 0x8a, 0x3c, + 0x59, 0xd3, 0xee, 0x4a, 0x2d, 0xb2, 0xd8, 0xb0, 0x10, 0xff, 0x8f, 0x41, + 0x46, 0xaf, 0x45, 0x05, 0x8b, 0x2a, 0xf6, 0x2b, +}; +static const unsigned char kat2010_addin1[] = { + 0xc6, 0xb1, 0x9e, 0x4c, 0xd3, 0xd8, 0xdf, 0x2c, 0x95, 0x3e, 0x0a, 0xdd, + 0xac, 0xbf, 0xf6, 0xf4, 0x47, 0x44, 0x1f, 0xe2, 0x30, 0x9b, 0xd8, 0xc4, + 0x37, 0x13, 0x7b, 0xec, 0x1b, 0xb9, 0xb8, 0x19, +}; +static const unsigned char kat2010_retbits[] = { + 0x01, 0x9d, 0x32, 0x2a, 0x41, 0xa6, 0xcd, 0x1f, 0x4f, 0x7a, 0x06, 0xed, + 0xdb, 0x64, 0xaf, 0x1f, 0x84, 0x17, 0x09, 0x70, 0xb9, 0x38, 0xf4, 0x27, + 0xe2, 0x4b, 0x7c, 0xaa, 0x3f, 0x82, 0x17, 0x04, 0xba, 0x6b, 0x73, 0xac, + 0x67, 0xc2, 0x98, 0xfc, 0x09, 0xc0, 0x76, 0xe5, 0x6c, 0xda, 0x06, 0x5d, + 0xe3, 0xd0, 0x68, 0x2a, 0xbe, 0x6e, 0x55, 0x84, 0x1f, 0x68, 0x5e, 0x4a, + 0xb3, 0x27, 0x70, 0x2d, +}; +static const struct drbg_kat_pr_false kat2010_t = { + 14, kat2010_entropyin, kat2010_nonce, kat2010_persstr, + kat2010_entropyinreseed, kat2010_addinreseed, kat2010_addin0, + kat2010_addin1, kat2010_retbits +}; +static const struct drbg_kat kat2010 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2010_t +}; + +static const unsigned char kat2011_entropyin[] = { + 0x4c, 0xfb, 0x21, 0x86, 0x73, 0x34, 0x6d, 0x9d, 0x50, 0xc9, 0x22, 0xe4, + 0x9b, 0x0d, 0xfc, 0xd0, 0x90, 0xad, 0xf0, 0x4f, 0x5c, 0x3b, 0xa4, 0x73, + 0x27, 0xdf, 0xcd, 0x6f, 0xa6, 0x3a, 0x78, 0x5c, +}; +static const unsigned char kat2011_nonce[] = { + 0x01, 0x69, 0x62, 0xa7, 0xfd, 0x27, 0x87, 0xa2, 0x4b, 0xf6, 0xbe, 0x47, + 0xef, 0x37, 0x83, 0xf1, +}; +static const unsigned char kat2011_persstr[] = { + 0x88, 0xee, 0xb8, 0xe0, 0xe8, 0x3b, 0xf3, 0x29, 0x4b, 0xda, 0xcd, 0x60, + 0x99, 0xeb, 0xe4, 0xbf, 0x55, 0xec, 0xd9, 0x11, 0x3f, 0x71, 0xe5, 0xeb, + 0xcb, 0x45, 0x75, 0xf3, 0xd6, 0xa6, 0x8a, 0x6b, +}; +static const unsigned char kat2011_entropyinreseed[] = { + 0xb7, 0xec, 0x46, 0x07, 0x23, 0x63, 0x83, 0x4a, 0x1b, 0x01, 0x33, 0xf2, + 0xc2, 0x38, 0x91, 0xdb, 0x4f, 0x11, 0xa6, 0x86, 0x51, 0xf2, 0x3e, 0x3a, + 0x8b, 0x1f, 0xdc, 0x03, 0xb1, 0x92, 0xc7, 0xe7, +}; +static const unsigned char kat2011_addinreseed[] = {0}; +static const unsigned char kat2011_addin0[] = {0}; +static const unsigned char kat2011_addin1[] = {0}; +static const unsigned char kat2011_retbits[] = { + 0xa5, 0x51, 0x80, 0xa1, 0x90, 0xbe, 0xf3, 0xad, 0xaf, 0x28, 0xf6, 0xb7, + 0x95, 0xe9, 0xf1, 0xf3, 0xd6, 0xdf, 0xa1, 0xb2, 0x7d, 0xd0, 0x46, 0x7b, + 0x0c, 0x75, 0xf5, 0xfa, 0x93, 0x1e, 0x97, 0x14, 0x75, 0xb2, 0x7c, 0xae, + 0x03, 0xa2, 0x96, 0x54, 0xe2, 0xf4, 0x09, 0x66, 0xea, 0x33, 0x64, 0x30, + 0x40, 0xd1, 0x40, 0x0f, 0xe6, 0x77, 0x87, 0x3a, 0xf8, 0x09, 0x7c, 0x1f, + 0xe9, 0xf0, 0x02, 0x98, +}; +static const struct drbg_kat_pr_false kat2011_t = { + 0, kat2011_entropyin, kat2011_nonce, kat2011_persstr, + kat2011_entropyinreseed, kat2011_addinreseed, kat2011_addin0, + kat2011_addin1, kat2011_retbits +}; +static const struct drbg_kat kat2011 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2011_t +}; + +static const unsigned char kat2012_entropyin[] = { + 0x29, 0xce, 0xa3, 0x1e, 0x47, 0x32, 0x08, 0xa5, 0x52, 0xad, 0x82, 0x6d, + 0x25, 0x50, 0x3e, 0xbc, 0x06, 0x5d, 0x88, 0x7d, 0xda, 0xa8, 0x3e, 0xf9, + 0xcf, 0xf8, 0x30, 0x44, 0xf2, 0xe4, 0x9b, 0xc0, +}; +static const unsigned char kat2012_nonce[] = { + 0x45, 0x4c, 0x1c, 0x31, 0x8f, 0x74, 0xb3, 0x32, 0xc8, 0x98, 0xf0, 0x2e, + 0x95, 0x1f, 0x4f, 0xc5, +}; +static const unsigned char kat2012_persstr[] = { + 0x67, 0x8d, 0xae, 0xda, 0x93, 0x30, 0x5c, 0x64, 0xc0, 0xfd, 0x05, 0x6c, + 0x9e, 0xf4, 0x26, 0x95, 0xf4, 0x0e, 0x5a, 0xf6, 0x13, 0x08, 0x21, 0xb4, + 0xa4, 0xd7, 0x06, 0xe7, 0x01, 0x3f, 0xc5, 0x23, +}; +static const unsigned char kat2012_entropyinreseed[] = { + 0x23, 0x42, 0xd3, 0xd6, 0x2a, 0xcb, 0x6d, 0x40, 0x2a, 0xf7, 0x57, 0x35, + 0x96, 0x31, 0xb5, 0x30, 0x29, 0xed, 0x18, 0xd9, 0x7e, 0xf7, 0xd6, 0xae, + 0x9c, 0xf7, 0xff, 0xc3, 0x40, 0x20, 0x28, 0x08, +}; +static const unsigned char kat2012_addinreseed[] = {0}; +static const unsigned char kat2012_addin0[] = {0}; +static const unsigned char kat2012_addin1[] = {0}; +static const unsigned char kat2012_retbits[] = { + 0x65, 0x14, 0x67, 0xac, 0xa6, 0x45, 0x4e, 0x17, 0x5f, 0x85, 0x79, 0x24, + 0xe1, 0x48, 0x32, 0x94, 0xc7, 0xbf, 0xd3, 0xbc, 0x22, 0x63, 0xa1, 0xde, + 0xe9, 0x03, 0xb7, 0xeb, 0x9b, 0xb0, 0x89, 0x95, 0x03, 0xbf, 0x61, 0xec, + 0x2a, 0x9d, 0xb5, 0x8e, 0x69, 0xaa, 0xc0, 0x9a, 0xc4, 0x46, 0x31, 0xe4, + 0xc7, 0xd4, 0xc0, 0x5d, 0xc7, 0x04, 0x19, 0x87, 0x06, 0xea, 0xe2, 0xd1, + 0xa1, 0xef, 0x76, 0x6e, +}; +static const struct drbg_kat_pr_false kat2012_t = { + 1, kat2012_entropyin, kat2012_nonce, kat2012_persstr, + kat2012_entropyinreseed, kat2012_addinreseed, kat2012_addin0, + kat2012_addin1, kat2012_retbits +}; +static const struct drbg_kat kat2012 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2012_t +}; + +static const unsigned char kat2013_entropyin[] = { + 0x23, 0x9e, 0xa1, 0x4c, 0x16, 0x90, 0x01, 0x73, 0xfb, 0xed, 0x08, 0x06, + 0xa3, 0x46, 0x5d, 0xf4, 0x83, 0xce, 0x98, 0x16, 0x06, 0xd9, 0xa3, 0x68, + 0x80, 0xd1, 0xca, 0x8d, 0xb2, 0x4f, 0xc2, 0x98, +}; +static const unsigned char kat2013_nonce[] = { + 0x3a, 0xf4, 0x04, 0xff, 0x32, 0x62, 0x20, 0x0c, 0x22, 0xb6, 0x46, 0xba, + 0x80, 0xbb, 0xf5, 0x38, +}; +static const unsigned char kat2013_persstr[] = { + 0x63, 0x57, 0x37, 0x22, 0x01, 0x06, 0xb0, 0x84, 0xc6, 0x41, 0xbb, 0xa0, + 0x05, 0x73, 0x1f, 0xeb, 0xb6, 0xea, 0xe4, 0x58, 0xf0, 0xfe, 0x38, 0x77, + 0x7b, 0x2f, 0x85, 0xb0, 0x49, 0xa1, 0x71, 0xb7, +}; +static const unsigned char kat2013_entropyinreseed[] = { + 0x34, 0x51, 0x9e, 0x5f, 0x5a, 0x23, 0x70, 0x0d, 0x3b, 0x62, 0xcb, 0x3f, + 0x0f, 0x36, 0x22, 0x14, 0xa8, 0x87, 0x42, 0xcc, 0x5d, 0x11, 0x2d, 0x47, + 0x4f, 0x8c, 0xfd, 0x81, 0xa9, 0x3a, 0xce, 0x1f, +}; +static const unsigned char kat2013_addinreseed[] = {0}; +static const unsigned char kat2013_addin0[] = {0}; +static const unsigned char kat2013_addin1[] = {0}; +static const unsigned char kat2013_retbits[] = { + 0xd7, 0x55, 0x42, 0xca, 0x92, 0x64, 0x44, 0xd0, 0xab, 0x13, 0xd4, 0x20, + 0x97, 0xfa, 0xb5, 0x94, 0xc5, 0x02, 0x33, 0xe2, 0x1b, 0x5d, 0x46, 0x39, + 0xe3, 0x2c, 0x5b, 0xc2, 0x04, 0xd3, 0xfb, 0xe7, 0x8b, 0x58, 0x34, 0x94, + 0x69, 0x2e, 0x72, 0x0b, 0x07, 0x14, 0xb5, 0xdd, 0x64, 0x7f, 0x5e, 0xbb, + 0xba, 0x76, 0xf1, 0xe2, 0x70, 0x28, 0xb9, 0x79, 0xc2, 0xde, 0x7b, 0x62, + 0xf7, 0x57, 0x87, 0x68, +}; +static const struct drbg_kat_pr_false kat2013_t = { + 2, kat2013_entropyin, kat2013_nonce, kat2013_persstr, + kat2013_entropyinreseed, kat2013_addinreseed, kat2013_addin0, + kat2013_addin1, kat2013_retbits +}; +static const struct drbg_kat kat2013 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2013_t +}; + +static const unsigned char kat2014_entropyin[] = { + 0xd8, 0xff, 0x66, 0xe0, 0xe9, 0xc2, 0x6a, 0x79, 0x85, 0xda, 0xde, 0x71, + 0xe9, 0xf6, 0x1b, 0xa4, 0x35, 0x3b, 0x88, 0x7a, 0x09, 0xfb, 0xc8, 0x9d, + 0x77, 0xfa, 0x9d, 0xc7, 0x39, 0xff, 0xc7, 0xf8, +}; +static const unsigned char kat2014_nonce[] = { + 0x4a, 0xe3, 0x0b, 0x04, 0x7f, 0x67, 0x41, 0x39, 0x3e, 0x8d, 0x77, 0x25, + 0x99, 0x2c, 0x5c, 0x44, +}; +static const unsigned char kat2014_persstr[] = { + 0x51, 0x7e, 0x7d, 0x94, 0x13, 0x79, 0xd2, 0x5c, 0x82, 0xc1, 0x29, 0xc1, + 0x0f, 0x3e, 0xe4, 0xdd, 0x7e, 0xaf, 0xad, 0x17, 0x53, 0xd7, 0x38, 0x3e, + 0xaf, 0x81, 0x97, 0x02, 0xea, 0x93, 0xf1, 0xea, +}; +static const unsigned char kat2014_entropyinreseed[] = { + 0xb0, 0x88, 0xea, 0x2c, 0xc9, 0x30, 0xd1, 0x67, 0x7f, 0xc6, 0x9d, 0x9e, + 0x60, 0x59, 0x47, 0xc5, 0x98, 0xff, 0x67, 0x4b, 0x52, 0x74, 0x2f, 0xc6, + 0xdb, 0x01, 0x77, 0x5a, 0x62, 0xd2, 0x57, 0xfd, +}; +static const unsigned char kat2014_addinreseed[] = {0}; +static const unsigned char kat2014_addin0[] = {0}; +static const unsigned char kat2014_addin1[] = {0}; +static const unsigned char kat2014_retbits[] = { + 0x50, 0x44, 0xf6, 0x8a, 0x7a, 0x7b, 0x26, 0xcf, 0xed, 0xc0, 0x63, 0x78, + 0xba, 0x9e, 0xa1, 0x6d, 0x47, 0x15, 0x25, 0x42, 0x93, 0x45, 0x64, 0xbc, + 0xee, 0x62, 0x78, 0x24, 0xf5, 0xb7, 0x2b, 0x59, 0x5e, 0xf3, 0xc3, 0xd8, + 0xfd, 0xba, 0xeb, 0x29, 0x6c, 0x8e, 0x10, 0x66, 0x40, 0x1f, 0xf4, 0x38, + 0xd3, 0xb3, 0xd1, 0xd2, 0x5a, 0xec, 0xf7, 0x79, 0x03, 0x43, 0x23, 0xa2, + 0x60, 0x5f, 0x9e, 0xa8, +}; +static const struct drbg_kat_pr_false kat2014_t = { + 3, kat2014_entropyin, kat2014_nonce, kat2014_persstr, + kat2014_entropyinreseed, kat2014_addinreseed, kat2014_addin0, + kat2014_addin1, kat2014_retbits +}; +static const struct drbg_kat kat2014 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2014_t +}; + +static const unsigned char kat2015_entropyin[] = { + 0x91, 0x73, 0xc4, 0x4a, 0xba, 0xf9, 0x26, 0xae, 0x00, 0xb7, 0x71, 0xbd, + 0x72, 0xc4, 0x97, 0xcd, 0x58, 0x3d, 0x8b, 0x3c, 0x11, 0x6f, 0x32, 0x04, + 0x4d, 0x6a, 0xce, 0x54, 0xf2, 0x9a, 0xf5, 0x9a, +}; +static const unsigned char kat2015_nonce[] = { + 0x72, 0x6d, 0xab, 0xbe, 0x47, 0x46, 0x51, 0xda, 0x76, 0x06, 0xb6, 0x5a, + 0x2b, 0xbe, 0x0a, 0x6f, +}; +static const unsigned char kat2015_persstr[] = { + 0x7a, 0x66, 0xdd, 0x4b, 0x42, 0xf9, 0x0a, 0x05, 0x57, 0x5c, 0xab, 0x46, + 0x08, 0xc9, 0x4d, 0x69, 0xe7, 0x4c, 0x96, 0x8d, 0x69, 0x7f, 0x66, 0xa2, + 0xea, 0xd4, 0x0d, 0x4d, 0xc0, 0xd5, 0x3e, 0xfa, +}; +static const unsigned char kat2015_entropyinreseed[] = { + 0x09, 0xf2, 0x29, 0x4f, 0x43, 0xb6, 0x8a, 0x99, 0x25, 0x09, 0xdc, 0xfa, + 0xaf, 0x82, 0xb3, 0x0e, 0xc4, 0x73, 0x66, 0x7b, 0xe7, 0x79, 0xf2, 0x2b, + 0x03, 0x53, 0xd9, 0x01, 0xd2, 0x1a, 0x70, 0x47, +}; +static const unsigned char kat2015_addinreseed[] = {0}; +static const unsigned char kat2015_addin0[] = {0}; +static const unsigned char kat2015_addin1[] = {0}; +static const unsigned char kat2015_retbits[] = { + 0xf3, 0x6d, 0x59, 0xc8, 0xe3, 0x28, 0xba, 0x45, 0xb1, 0x50, 0x74, 0xbc, + 0x59, 0x69, 0x62, 0xec, 0xe0, 0x48, 0x4e, 0xfc, 0x73, 0x35, 0x93, 0x2d, + 0x8d, 0x49, 0x2e, 0xcd, 0xe2, 0x55, 0x2c, 0x6d, 0xf3, 0xb5, 0x2d, 0xa8, + 0xba, 0xa0, 0x5d, 0xd4, 0x18, 0xcb, 0x39, 0xb2, 0x9f, 0x84, 0x68, 0xbd, + 0xe9, 0xe8, 0x82, 0xbc, 0x11, 0xe0, 0x7a, 0x03, 0x7e, 0xcc, 0xd2, 0x04, + 0x7c, 0x0b, 0x32, 0xae, +}; +static const struct drbg_kat_pr_false kat2015_t = { + 4, kat2015_entropyin, kat2015_nonce, kat2015_persstr, + kat2015_entropyinreseed, kat2015_addinreseed, kat2015_addin0, + kat2015_addin1, kat2015_retbits +}; +static const struct drbg_kat kat2015 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2015_t +}; + +static const unsigned char kat2016_entropyin[] = { + 0xde, 0x5a, 0x2a, 0x51, 0x29, 0x31, 0xc0, 0x71, 0x93, 0x32, 0xce, 0xb5, + 0x14, 0x60, 0x5f, 0x89, 0xb3, 0x05, 0xca, 0xe6, 0x26, 0x24, 0xe6, 0xf8, + 0xb4, 0xe5, 0x98, 0x44, 0xc4, 0x61, 0xf2, 0xbc, +}; +static const unsigned char kat2016_nonce[] = { + 0x74, 0x28, 0x15, 0xb8, 0xfe, 0x39, 0x9e, 0x5f, 0x2d, 0xf4, 0x58, 0x11, + 0xf6, 0x54, 0xc6, 0x0e, +}; +static const unsigned char kat2016_persstr[] = { + 0xf8, 0x69, 0xd9, 0x30, 0x28, 0x89, 0x61, 0xe4, 0x3e, 0x11, 0x2e, 0xc0, + 0x26, 0xde, 0xaf, 0x76, 0xcf, 0x5d, 0x00, 0x12, 0xc2, 0x45, 0xea, 0xec, + 0x57, 0x1b, 0x30, 0xc1, 0x3b, 0xb5, 0x34, 0xc4, +}; +static const unsigned char kat2016_entropyinreseed[] = { + 0xaa, 0x1c, 0x49, 0x3e, 0x86, 0x57, 0xab, 0x3d, 0xc2, 0xd7, 0x78, 0xb5, + 0x84, 0x5c, 0x16, 0x10, 0xa6, 0xd0, 0x79, 0x71, 0xe4, 0x36, 0x66, 0x66, + 0xd2, 0x46, 0xc7, 0xaa, 0x15, 0x57, 0x8b, 0x01, +}; +static const unsigned char kat2016_addinreseed[] = {0}; +static const unsigned char kat2016_addin0[] = {0}; +static const unsigned char kat2016_addin1[] = {0}; +static const unsigned char kat2016_retbits[] = { + 0x7d, 0xf6, 0xed, 0xe4, 0x50, 0xfa, 0xcd, 0x51, 0xdd, 0xb9, 0x31, 0xf7, + 0xa8, 0x17, 0xb6, 0xc1, 0xff, 0x27, 0xa3, 0x09, 0x4c, 0xf7, 0xdd, 0x4e, + 0x25, 0xc3, 0x90, 0xbe, 0xd8, 0x38, 0xad, 0x47, 0xb8, 0xc0, 0x3d, 0xe0, + 0xa6, 0xbc, 0xba, 0xd3, 0x7b, 0x0d, 0x1c, 0xb5, 0x5a, 0xab, 0x58, 0xf6, + 0xf0, 0x35, 0x71, 0x87, 0xb2, 0xec, 0x22, 0xd9, 0xe8, 0x8a, 0xa9, 0x80, + 0xb6, 0xe5, 0x4d, 0x75, +}; +static const struct drbg_kat_pr_false kat2016_t = { + 5, kat2016_entropyin, kat2016_nonce, kat2016_persstr, + kat2016_entropyinreseed, kat2016_addinreseed, kat2016_addin0, + kat2016_addin1, kat2016_retbits +}; +static const struct drbg_kat kat2016 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2016_t +}; + +static const unsigned char kat2017_entropyin[] = { + 0x77, 0x53, 0x1f, 0x8a, 0xd0, 0x07, 0xaa, 0xd3, 0x1f, 0xc1, 0x05, 0xe0, + 0xee, 0xc0, 0x24, 0xd5, 0x02, 0xcf, 0x76, 0xfd, 0x8f, 0xaa, 0xcd, 0x8b, + 0x46, 0xeb, 0x83, 0x4d, 0xfc, 0xf8, 0xd5, 0xae, +}; +static const unsigned char kat2017_nonce[] = { + 0x37, 0xde, 0x8b, 0xaa, 0x4b, 0x96, 0x68, 0x97, 0x93, 0xae, 0x6a, 0xd9, + 0x9a, 0xd3, 0x44, 0x5c, +}; +static const unsigned char kat2017_persstr[] = { + 0x67, 0xdd, 0xa2, 0xdb, 0x55, 0x9e, 0xbc, 0x63, 0x8e, 0x18, 0x2c, 0xc5, + 0x29, 0x0c, 0xcc, 0x1b, 0xbf, 0xc7, 0x01, 0x7a, 0xf2, 0xda, 0x6b, 0x99, + 0x8b, 0x85, 0x12, 0x05, 0x29, 0x61, 0x87, 0x42, +}; +static const unsigned char kat2017_entropyinreseed[] = { + 0x6c, 0xed, 0xc8, 0x68, 0xa2, 0x00, 0xed, 0xca, 0xfc, 0x34, 0xdb, 0xff, + 0x2b, 0xb4, 0xbc, 0x78, 0x51, 0xaa, 0x08, 0xa9, 0xf9, 0x23, 0x8b, 0x3f, + 0x2b, 0x31, 0xa0, 0x4d, 0x66, 0xab, 0x57, 0x67, +}; +static const unsigned char kat2017_addinreseed[] = {0}; +static const unsigned char kat2017_addin0[] = {0}; +static const unsigned char kat2017_addin1[] = {0}; +static const unsigned char kat2017_retbits[] = { + 0x0f, 0xeb, 0x6c, 0xb4, 0xbd, 0x77, 0x74, 0x91, 0x3d, 0x17, 0x52, 0xec, + 0x47, 0x7a, 0x43, 0xe4, 0xcf, 0xc1, 0x14, 0x7e, 0x82, 0x64, 0xda, 0xa3, + 0x3d, 0x90, 0x7b, 0x5f, 0x3c, 0x2d, 0xe7, 0x44, 0x60, 0xbc, 0x7d, 0x45, + 0xd3, 0xf1, 0x74, 0xbb, 0x7b, 0x24, 0x12, 0x56, 0xae, 0xf2, 0x46, 0x19, + 0x31, 0xb3, 0x51, 0x60, 0xf7, 0x93, 0xe9, 0x86, 0x40, 0xb4, 0xe1, 0x07, + 0xe3, 0x58, 0x5d, 0xcf, +}; +static const struct drbg_kat_pr_false kat2017_t = { + 6, kat2017_entropyin, kat2017_nonce, kat2017_persstr, + kat2017_entropyinreseed, kat2017_addinreseed, kat2017_addin0, + kat2017_addin1, kat2017_retbits +}; +static const struct drbg_kat kat2017 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2017_t +}; + +static const unsigned char kat2018_entropyin[] = { + 0xee, 0xf2, 0x97, 0xf8, 0x8d, 0x13, 0xed, 0x4c, 0xa5, 0xfc, 0xe5, 0x6a, + 0xcb, 0x43, 0x6c, 0x38, 0x77, 0xd7, 0xb9, 0x4d, 0x0a, 0xdb, 0x90, 0xa3, + 0x77, 0x44, 0x39, 0x7e, 0x9e, 0x84, 0x68, 0x47, +}; +static const unsigned char kat2018_nonce[] = { + 0x64, 0x31, 0x67, 0x7c, 0x9b, 0x85, 0x22, 0x0d, 0x1c, 0x6b, 0x1f, 0x78, + 0x64, 0x19, 0xfa, 0xcd, +}; +static const unsigned char kat2018_persstr[] = { + 0x14, 0x76, 0xd4, 0xb9, 0x16, 0xa8, 0x69, 0x4a, 0x45, 0xfc, 0xd0, 0x08, + 0x9f, 0x3b, 0x61, 0x52, 0xed, 0x6e, 0x92, 0x06, 0x4b, 0x1f, 0x6b, 0x6f, + 0xb0, 0xa3, 0x13, 0xc7, 0xaa, 0x8e, 0xfa, 0xda, +}; +static const unsigned char kat2018_entropyinreseed[] = { + 0x93, 0x82, 0x5a, 0x28, 0x28, 0x66, 0x26, 0x90, 0x42, 0x4b, 0x8c, 0x6c, + 0xf8, 0xdd, 0xbe, 0x9c, 0xd1, 0x4b, 0x14, 0xaf, 0x8d, 0x91, 0x98, 0x4b, + 0x66, 0x76, 0xfa, 0x6a, 0x92, 0x42, 0x84, 0x5e, +}; +static const unsigned char kat2018_addinreseed[] = {0}; +static const unsigned char kat2018_addin0[] = {0}; +static const unsigned char kat2018_addin1[] = {0}; +static const unsigned char kat2018_retbits[] = { + 0xa4, 0x5f, 0xbb, 0x99, 0x6a, 0x1c, 0x35, 0xe7, 0xc6, 0x72, 0xb1, 0x68, + 0x69, 0x02, 0x3c, 0x7d, 0x1c, 0xe8, 0x1a, 0x1e, 0x10, 0x7a, 0x46, 0x07, + 0xd2, 0xf7, 0x56, 0xf7, 0x90, 0x45, 0x26, 0xb7, 0x29, 0x85, 0x85, 0x15, + 0x55, 0x3e, 0x39, 0xa7, 0xc7, 0xf4, 0x49, 0x12, 0xa2, 0x7d, 0x8f, 0xc7, + 0xfc, 0x61, 0x12, 0x0a, 0x63, 0x62, 0x54, 0x33, 0x98, 0xa2, 0xb5, 0x8c, + 0xcd, 0x7a, 0x67, 0xd3, +}; +static const struct drbg_kat_pr_false kat2018_t = { + 7, kat2018_entropyin, kat2018_nonce, kat2018_persstr, + kat2018_entropyinreseed, kat2018_addinreseed, kat2018_addin0, + kat2018_addin1, kat2018_retbits +}; +static const struct drbg_kat kat2018 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2018_t +}; + +static const unsigned char kat2019_entropyin[] = { + 0x6f, 0x77, 0x68, 0x48, 0x07, 0x01, 0xda, 0x57, 0xff, 0xb6, 0xf6, 0x5f, + 0xde, 0x52, 0xb3, 0x07, 0x6d, 0x0d, 0x54, 0xdf, 0x32, 0x5a, 0x81, 0x5b, + 0xa0, 0x08, 0x9c, 0xf9, 0x66, 0x76, 0x6e, 0x69, +}; +static const unsigned char kat2019_nonce[] = { + 0x7f, 0x97, 0x9d, 0x87, 0x6d, 0xef, 0x96, 0xd8, 0x03, 0xb1, 0xd2, 0x11, + 0x17, 0x3c, 0xe4, 0x99, +}; +static const unsigned char kat2019_persstr[] = { + 0xa4, 0x8d, 0x8c, 0xc1, 0x24, 0x57, 0xad, 0xe1, 0x15, 0x15, 0xec, 0x9d, + 0xdb, 0xa1, 0x27, 0x4d, 0x05, 0xa6, 0xb3, 0x40, 0x70, 0xf0, 0x4e, 0xe4, + 0x27, 0xcb, 0xd2, 0x6a, 0xfc, 0x2e, 0xdf, 0x3b, +}; +static const unsigned char kat2019_entropyinreseed[] = { + 0x3d, 0xfe, 0x53, 0xa6, 0x1b, 0xb7, 0x95, 0x53, 0x7c, 0x65, 0xfe, 0xd8, + 0xff, 0xe0, 0x9c, 0x3f, 0x8b, 0xb6, 0x2f, 0xfa, 0x5e, 0x9e, 0x26, 0xcb, + 0x29, 0x07, 0x40, 0x1c, 0x4b, 0x8d, 0xcc, 0x1c, +}; +static const unsigned char kat2019_addinreseed[] = {0}; +static const unsigned char kat2019_addin0[] = {0}; +static const unsigned char kat2019_addin1[] = {0}; +static const unsigned char kat2019_retbits[] = { + 0xe5, 0xeb, 0x35, 0x3c, 0xf0, 0xad, 0xbe, 0xf2, 0xe6, 0xc6, 0x2d, 0x74, + 0x58, 0x76, 0xa8, 0x35, 0x65, 0x9a, 0x3a, 0x94, 0xcd, 0xd2, 0x32, 0x8b, + 0xcc, 0xa6, 0xab, 0xf9, 0x6a, 0xd9, 0x63, 0x7b, 0xe2, 0xff, 0x68, 0xe2, + 0x7b, 0x8e, 0x7c, 0xc4, 0x5a, 0x3b, 0x79, 0xd2, 0x57, 0x36, 0x61, 0x81, + 0x9e, 0xc6, 0x84, 0xea, 0xb3, 0x4a, 0xba, 0x07, 0xc1, 0xfa, 0xe6, 0xab, + 0x81, 0xc9, 0x88, 0xcd, +}; +static const struct drbg_kat_pr_false kat2019_t = { + 8, kat2019_entropyin, kat2019_nonce, kat2019_persstr, + kat2019_entropyinreseed, kat2019_addinreseed, kat2019_addin0, + kat2019_addin1, kat2019_retbits +}; +static const struct drbg_kat kat2019 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2019_t +}; + +static const unsigned char kat2020_entropyin[] = { + 0x2c, 0x07, 0x7b, 0xd7, 0x8a, 0x88, 0x67, 0xc6, 0x27, 0xc8, 0x56, 0xd8, + 0xf0, 0x4d, 0x7d, 0x6f, 0x1d, 0x21, 0x62, 0x23, 0x2b, 0x33, 0x91, 0x6a, + 0x94, 0x69, 0x97, 0xf4, 0xfb, 0x0f, 0xcf, 0x55, +}; +static const unsigned char kat2020_nonce[] = { + 0xf0, 0x12, 0x36, 0xe4, 0x57, 0x55, 0xd7, 0x21, 0xd5, 0x75, 0xc4, 0xe9, + 0x30, 0x41, 0x70, 0xb0, +}; +static const unsigned char kat2020_persstr[] = { + 0x57, 0xef, 0xc6, 0x0e, 0x69, 0x31, 0x51, 0xfb, 0xaf, 0x60, 0x51, 0xde, + 0x84, 0xfa, 0x04, 0x29, 0xb4, 0xea, 0xff, 0x35, 0xfe, 0xb7, 0xe8, 0x24, + 0xc2, 0xfb, 0xbd, 0x69, 0x2f, 0xb8, 0xd6, 0x8f, +}; +static const unsigned char kat2020_entropyinreseed[] = { + 0x15, 0x1f, 0xeb, 0xac, 0xbf, 0x94, 0x9e, 0x12, 0x93, 0x71, 0x0a, 0x12, + 0x50, 0xd2, 0x29, 0xec, 0x02, 0xba, 0x4d, 0xf1, 0x0b, 0x50, 0xab, 0xc2, + 0x74, 0x2f, 0x08, 0x3e, 0x3f, 0x92, 0x3a, 0xbf, +}; +static const unsigned char kat2020_addinreseed[] = {0}; +static const unsigned char kat2020_addin0[] = {0}; +static const unsigned char kat2020_addin1[] = {0}; +static const unsigned char kat2020_retbits[] = { + 0xa6, 0xcc, 0x43, 0x1f, 0xb6, 0x26, 0xa9, 0x26, 0x21, 0x0f, 0xf7, 0xd3, + 0x08, 0x4e, 0x13, 0x3d, 0xbf, 0x00, 0xb2, 0x2d, 0x98, 0x77, 0xa0, 0x7c, + 0x82, 0x22, 0x1b, 0x1a, 0x5e, 0xbd, 0x77, 0xea, 0x67, 0x19, 0x50, 0x16, + 0x0e, 0xb2, 0x98, 0x18, 0x4a, 0xfc, 0x62, 0x37, 0x31, 0xa2, 0x22, 0x5b, + 0x6c, 0x67, 0x10, 0x4b, 0x85, 0xb9, 0x10, 0x22, 0xad, 0x9d, 0x33, 0xe8, + 0x49, 0x5a, 0xcf, 0xad, +}; +static const struct drbg_kat_pr_false kat2020_t = { + 9, kat2020_entropyin, kat2020_nonce, kat2020_persstr, + kat2020_entropyinreseed, kat2020_addinreseed, kat2020_addin0, + kat2020_addin1, kat2020_retbits +}; +static const struct drbg_kat kat2020 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2020_t +}; + +static const unsigned char kat2021_entropyin[] = { + 0x68, 0x5d, 0xe1, 0xf0, 0x40, 0x67, 0x8f, 0x2e, 0x86, 0x11, 0x1f, 0x7a, + 0xbf, 0x2f, 0x75, 0x96, 0x49, 0x3b, 0xaa, 0xc9, 0x32, 0xdd, 0x9e, 0xd0, + 0x1f, 0xb7, 0x0a, 0xef, 0xab, 0x40, 0xfe, 0x03, +}; +static const unsigned char kat2021_nonce[] = { + 0x5c, 0xcd, 0xe2, 0x40, 0xd7, 0xff, 0x22, 0x93, 0x09, 0x1a, 0x58, 0xde, + 0x55, 0x60, 0x2c, 0xa9, +}; +static const unsigned char kat2021_persstr[] = { + 0x3b, 0x18, 0x89, 0x2f, 0xea, 0xb0, 0x83, 0xb5, 0x30, 0x37, 0x1d, 0x6e, + 0xb5, 0x99, 0x82, 0x8a, 0x58, 0xa7, 0x6a, 0x34, 0x6f, 0x2a, 0x25, 0xa4, + 0x12, 0xf5, 0xd4, 0x60, 0x6f, 0x2f, 0x0b, 0xaa, +}; +static const unsigned char kat2021_entropyinreseed[] = { + 0x3e, 0x7a, 0x1c, 0xb8, 0xbc, 0xc4, 0xf2, 0xc2, 0xc6, 0x26, 0x2b, 0x1b, + 0x8f, 0xa7, 0xbd, 0xc2, 0x0a, 0xac, 0x98, 0xe3, 0xf4, 0x25, 0xf7, 0x81, + 0xc7, 0xd6, 0x85, 0xbb, 0x43, 0xfe, 0x38, 0x3b, +}; +static const unsigned char kat2021_addinreseed[] = {0}; +static const unsigned char kat2021_addin0[] = {0}; +static const unsigned char kat2021_addin1[] = {0}; +static const unsigned char kat2021_retbits[] = { + 0xd8, 0x7b, 0x0e, 0xf2, 0x3e, 0x09, 0xb1, 0xc6, 0xf1, 0x26, 0x72, 0x68, + 0x02, 0x95, 0x28, 0xc7, 0x6b, 0x3e, 0x3a, 0x66, 0x48, 0xc6, 0x74, 0xfe, + 0x92, 0x48, 0x68, 0x69, 0xa4, 0x7f, 0x78, 0x92, 0xe5, 0x66, 0x0f, 0x88, + 0x5d, 0x0f, 0xd2, 0xe6, 0xb2, 0xa2, 0x28, 0x85, 0x61, 0xd0, 0x75, 0x75, + 0xc6, 0x60, 0x68, 0x99, 0xa6, 0x55, 0x1c, 0x4f, 0x3e, 0x2f, 0x14, 0xca, + 0x75, 0xc4, 0x35, 0xc5, +}; +static const struct drbg_kat_pr_false kat2021_t = { + 10, kat2021_entropyin, kat2021_nonce, kat2021_persstr, + kat2021_entropyinreseed, kat2021_addinreseed, kat2021_addin0, + kat2021_addin1, kat2021_retbits +}; +static const struct drbg_kat kat2021 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2021_t +}; + +static const unsigned char kat2022_entropyin[] = { + 0xeb, 0x4b, 0x9c, 0x2e, 0x64, 0x18, 0x80, 0xe8, 0x57, 0xa2, 0xba, 0xeb, + 0xc8, 0xcb, 0xf9, 0x18, 0x24, 0xba, 0x35, 0xd2, 0x63, 0x99, 0xa7, 0xca, + 0xed, 0xc1, 0x1e, 0xa4, 0x2d, 0x7c, 0x85, 0x8d, +}; +static const unsigned char kat2022_nonce[] = { + 0xf4, 0x81, 0x90, 0x53, 0xac, 0x38, 0x8f, 0x63, 0x44, 0xe8, 0xd0, 0x6f, + 0xc9, 0x40, 0x67, 0xa3, +}; +static const unsigned char kat2022_persstr[] = { + 0x10, 0xbe, 0x74, 0x84, 0x45, 0x06, 0x56, 0x6a, 0x1d, 0xb5, 0x52, 0x93, + 0x2c, 0x9a, 0xff, 0xb3, 0x14, 0xb8, 0x9c, 0x83, 0x43, 0x43, 0x07, 0xb8, + 0x73, 0xa0, 0x12, 0x6f, 0x4c, 0xf2, 0x8a, 0x77, +}; +static const unsigned char kat2022_entropyinreseed[] = { + 0x66, 0x82, 0x6d, 0x4b, 0x8e, 0xc8, 0x03, 0x8f, 0x71, 0x99, 0xd9, 0x6c, + 0x84, 0x95, 0x96, 0x1a, 0x0a, 0x74, 0xe3, 0x91, 0xbd, 0x28, 0x99, 0xf0, + 0x45, 0x80, 0x59, 0xea, 0x4d, 0x2e, 0xdd, 0xe3, +}; +static const unsigned char kat2022_addinreseed[] = {0}; +static const unsigned char kat2022_addin0[] = {0}; +static const unsigned char kat2022_addin1[] = {0}; +static const unsigned char kat2022_retbits[] = { + 0x83, 0xb7, 0x38, 0xbd, 0xb8, 0x63, 0xcc, 0x77, 0x12, 0xea, 0xbc, 0xe9, + 0x3f, 0xb9, 0x35, 0xa0, 0xc0, 0x18, 0x34, 0xba, 0xa1, 0x18, 0xae, 0x99, + 0xa6, 0x16, 0x3b, 0x5d, 0xc0, 0x5a, 0x71, 0xb0, 0x2b, 0x93, 0xe8, 0xeb, + 0xfd, 0x6a, 0x20, 0xde, 0xb3, 0xd5, 0x4e, 0x18, 0x50, 0xf8, 0x2d, 0x96, + 0xaf, 0xba, 0xb2, 0xc1, 0x3b, 0x1f, 0xaa, 0x27, 0xc5, 0xbb, 0x01, 0x28, + 0x18, 0x02, 0xe2, 0xf1, +}; +static const struct drbg_kat_pr_false kat2022_t = { + 11, kat2022_entropyin, kat2022_nonce, kat2022_persstr, + kat2022_entropyinreseed, kat2022_addinreseed, kat2022_addin0, + kat2022_addin1, kat2022_retbits +}; +static const struct drbg_kat kat2022 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2022_t +}; + +static const unsigned char kat2023_entropyin[] = { + 0x6e, 0xe0, 0xc8, 0x75, 0xd0, 0x8c, 0xe1, 0x2c, 0xb1, 0x0f, 0xfa, 0x82, + 0x4b, 0xe2, 0xb7, 0x57, 0x13, 0x90, 0x1d, 0xfa, 0xd2, 0xd9, 0x43, 0x09, + 0xa1, 0xec, 0xc4, 0xb5, 0x1a, 0xdc, 0x37, 0xcb, +}; +static const unsigned char kat2023_nonce[] = { + 0xc0, 0x3e, 0x8e, 0xf1, 0x0c, 0x25, 0x39, 0x43, 0xa0, 0x58, 0x01, 0xb7, + 0xc0, 0xd0, 0x4e, 0x70, +}; +static const unsigned char kat2023_persstr[] = { + 0x0e, 0x71, 0x7d, 0xb9, 0x6e, 0xbc, 0xf8, 0x94, 0xc0, 0x18, 0x28, 0x07, + 0xeb, 0x49, 0x1a, 0x87, 0x19, 0xcf, 0xd4, 0x33, 0xec, 0x02, 0xda, 0xda, + 0xb7, 0xba, 0x2f, 0xbd, 0xea, 0xb1, 0x08, 0x5c, +}; +static const unsigned char kat2023_entropyinreseed[] = { + 0xcd, 0x6d, 0x2a, 0x32, 0x4c, 0xd3, 0x8f, 0x3a, 0xae, 0x6e, 0xf8, 0xe9, + 0x3d, 0xe7, 0x01, 0xf0, 0x72, 0x5c, 0x3c, 0x08, 0xf0, 0x7d, 0x35, 0x70, + 0xd6, 0xc8, 0xc0, 0x1b, 0x65, 0x25, 0xc1, 0x8c, +}; +static const unsigned char kat2023_addinreseed[] = {0}; +static const unsigned char kat2023_addin0[] = {0}; +static const unsigned char kat2023_addin1[] = {0}; +static const unsigned char kat2023_retbits[] = { + 0xdc, 0x5e, 0x7a, 0xa2, 0x2a, 0x72, 0x2c, 0x62, 0xd6, 0x83, 0x91, 0xe1, + 0xa5, 0x97, 0x93, 0xab, 0x4f, 0x27, 0xef, 0x9f, 0x1c, 0xb2, 0xc3, 0x24, + 0x7b, 0xbf, 0x94, 0xc3, 0x39, 0x17, 0x6a, 0xe8, 0x10, 0x10, 0xc3, 0x0c, + 0x75, 0x57, 0x29, 0x71, 0xbe, 0x8f, 0x78, 0xa6, 0xcf, 0x8c, 0xb4, 0xc3, + 0xff, 0x13, 0xbd, 0xf0, 0x0c, 0x0e, 0x3a, 0x25, 0x9e, 0xa7, 0x03, 0x06, + 0xbc, 0x0b, 0x4b, 0x02, +}; +static const struct drbg_kat_pr_false kat2023_t = { + 12, kat2023_entropyin, kat2023_nonce, kat2023_persstr, + kat2023_entropyinreseed, kat2023_addinreseed, kat2023_addin0, + kat2023_addin1, kat2023_retbits +}; +static const struct drbg_kat kat2023 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2023_t +}; + +static const unsigned char kat2024_entropyin[] = { + 0x60, 0x0b, 0xab, 0x60, 0x15, 0x80, 0x02, 0xdb, 0xae, 0x08, 0x65, 0x77, + 0x57, 0x13, 0xcb, 0x02, 0x45, 0x3f, 0xb5, 0x25, 0xd5, 0xcd, 0xae, 0xbd, + 0x8a, 0xd3, 0x23, 0x03, 0xab, 0x9c, 0xf8, 0x6b, +}; +static const unsigned char kat2024_nonce[] = { + 0x66, 0x1a, 0x0b, 0x68, 0x0f, 0x2b, 0x76, 0x82, 0xc1, 0x57, 0xe0, 0x1c, + 0x99, 0xd8, 0x3f, 0xa9, +}; +static const unsigned char kat2024_persstr[] = { + 0x1c, 0x16, 0xa8, 0x11, 0x08, 0x0b, 0xe7, 0x4b, 0x86, 0x2f, 0x9f, 0x64, + 0xd4, 0xba, 0x0a, 0xc8, 0x96, 0x44, 0x39, 0xbd, 0xa0, 0xe5, 0x60, 0x58, + 0x4b, 0x7f, 0xe8, 0xe5, 0xd6, 0x7e, 0x9d, 0x62, +}; +static const unsigned char kat2024_entropyinreseed[] = { + 0xaa, 0x15, 0xf2, 0x6c, 0x20, 0x5d, 0x46, 0xc2, 0x0f, 0xbc, 0xc5, 0xe8, + 0x88, 0x3d, 0xf0, 0xa2, 0xb9, 0x1a, 0xc3, 0x13, 0x9a, 0x3c, 0x1f, 0xb5, + 0x8f, 0x1f, 0xff, 0x17, 0xb1, 0xce, 0x0d, 0x95, +}; +static const unsigned char kat2024_addinreseed[] = {0}; +static const unsigned char kat2024_addin0[] = {0}; +static const unsigned char kat2024_addin1[] = {0}; +static const unsigned char kat2024_retbits[] = { + 0xab, 0x59, 0xd0, 0x63, 0x60, 0x45, 0xcc, 0x34, 0x63, 0x47, 0x84, 0x50, + 0xdf, 0x2e, 0x6e, 0x9e, 0x08, 0xc2, 0x09, 0x04, 0x15, 0x44, 0xfc, 0x15, + 0xd3, 0x2d, 0xed, 0xb6, 0x41, 0x75, 0x6f, 0x15, 0x20, 0x7a, 0xc7, 0xa4, + 0xdd, 0x56, 0xdc, 0x00, 0x6e, 0xf9, 0xe5, 0x20, 0x54, 0x66, 0x90, 0x4a, + 0x47, 0xb5, 0xe5, 0x11, 0x66, 0x7c, 0x7d, 0x14, 0x1e, 0x1b, 0x9a, 0xe9, + 0xd9, 0xd6, 0xa8, 0x61, +}; +static const struct drbg_kat_pr_false kat2024_t = { + 13, kat2024_entropyin, kat2024_nonce, kat2024_persstr, + kat2024_entropyinreseed, kat2024_addinreseed, kat2024_addin0, + kat2024_addin1, kat2024_retbits +}; +static const struct drbg_kat kat2024 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2024_t +}; + +static const unsigned char kat2025_entropyin[] = { + 0xff, 0xec, 0x8a, 0x7f, 0x17, 0x0f, 0xff, 0x95, 0x26, 0x68, 0x72, 0x8c, + 0x9c, 0x93, 0x90, 0xe7, 0x1b, 0xa4, 0x13, 0x8f, 0xde, 0x68, 0x40, 0x53, + 0x35, 0x13, 0x76, 0xd7, 0xab, 0x54, 0x86, 0x4e, +}; +static const unsigned char kat2025_nonce[] = { + 0xa2, 0x70, 0x70, 0xb7, 0x10, 0xe5, 0xae, 0xe5, 0xfa, 0xd9, 0xc6, 0x05, + 0xdf, 0x1c, 0x34, 0xd5, +}; +static const unsigned char kat2025_persstr[] = { + 0xdb, 0xc5, 0x11, 0x3e, 0xf0, 0xd4, 0xc4, 0xe6, 0x1a, 0x27, 0x4c, 0xf6, + 0x66, 0x18, 0x19, 0xfc, 0x41, 0xbf, 0x2f, 0x91, 0xf2, 0xe4, 0x4f, 0x39, + 0xdf, 0x43, 0xa7, 0x6c, 0xce, 0x0c, 0x84, 0xde, +}; +static const unsigned char kat2025_entropyinreseed[] = { + 0xed, 0xe1, 0x52, 0x73, 0x04, 0x75, 0x08, 0x0f, 0x4b, 0x8c, 0xaf, 0xdd, + 0x33, 0xef, 0xd0, 0xe7, 0xd0, 0x35, 0x29, 0xc0, 0x68, 0x34, 0xfd, 0x5c, + 0x62, 0xcf, 0x07, 0x08, 0xdc, 0x96, 0x1d, 0x31, +}; +static const unsigned char kat2025_addinreseed[] = {0}; +static const unsigned char kat2025_addin0[] = {0}; +static const unsigned char kat2025_addin1[] = {0}; +static const unsigned char kat2025_retbits[] = { + 0x0c, 0x50, 0x98, 0xb7, 0xbb, 0xc8, 0xb8, 0xe2, 0x04, 0x5d, 0xd6, 0xac, + 0x82, 0x50, 0x8f, 0x83, 0x6c, 0x9e, 0x05, 0x9c, 0x07, 0x0e, 0x04, 0x99, + 0xbc, 0xbe, 0x58, 0xb2, 0x0d, 0x98, 0x43, 0xf2, 0x58, 0xa6, 0xcb, 0xeb, + 0xdc, 0x05, 0x54, 0x68, 0x6c, 0xc0, 0x45, 0x07, 0xdc, 0x58, 0x9c, 0xaf, + 0xf4, 0x60, 0xf0, 0xe9, 0xb8, 0xdb, 0xd9, 0xd9, 0xe6, 0xa8, 0x4a, 0x36, + 0x54, 0x9e, 0x77, 0xeb, +}; +static const struct drbg_kat_pr_false kat2025_t = { + 14, kat2025_entropyin, kat2025_nonce, kat2025_persstr, + kat2025_entropyinreseed, kat2025_addinreseed, kat2025_addin0, + kat2025_addin1, kat2025_retbits +}; +static const struct drbg_kat kat2025 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2025_t +}; + +static const unsigned char kat2026_entropyin[] = { + 0x6c, 0x0f, 0xf3, 0x73, 0x51, 0xe7, 0x87, 0xd3, 0x58, 0x05, 0x81, 0x07, + 0x50, 0x39, 0x48, 0x54, 0xdf, 0xc7, 0xb3, 0x70, 0x4c, 0xad, 0xea, 0x32, + 0x59, 0x34, 0x58, 0xe1, 0xef, 0x67, 0xf2, 0xdc, +}; +static const unsigned char kat2026_nonce[] = { + 0xf0, 0xd3, 0x42, 0xf2, 0xcb, 0x12, 0x70, 0xed, 0x3c, 0xc9, 0x35, 0xb1, + 0xd3, 0x05, 0x9d, 0x0f, +}; +static const unsigned char kat2026_persstr[] = { + 0xe1, 0xb9, 0x5c, 0x70, 0x69, 0xbb, 0x22, 0x47, 0x5d, 0x5a, 0x7a, 0x99, + 0xfc, 0x8b, 0xee, 0xdc, 0xed, 0x73, 0xbb, 0xed, 0x78, 0x5c, 0x73, 0xce, + 0x56, 0x63, 0x74, 0x0c, 0x46, 0x56, 0x88, 0x84, +}; +static const unsigned char kat2026_entropyinreseed[] = { + 0x11, 0x40, 0xa4, 0x7d, 0xbe, 0x3b, 0x89, 0x36, 0x29, 0x22, 0xb3, 0x75, + 0x50, 0x23, 0x00, 0xc7, 0xe7, 0x56, 0x62, 0x24, 0xac, 0xca, 0xc3, 0xeb, + 0xdb, 0x99, 0xc8, 0xfa, 0x77, 0x65, 0x94, 0xdd, +}; +static const unsigned char kat2026_addinreseed[] = { + 0x66, 0xcc, 0xb8, 0xdd, 0xaf, 0x02, 0x01, 0xa7, 0xf2, 0xf7, 0xfe, 0xf0, + 0x49, 0x39, 0xf2, 0xc8, 0x02, 0xe4, 0x80, 0xe4, 0xac, 0xc1, 0xc3, 0x17, + 0x75, 0x71, 0xf3, 0x42, 0x48, 0xbb, 0xfc, 0xe1, +}; +static const unsigned char kat2026_addin0[] = { + 0x53, 0xf7, 0x4b, 0xa9, 0xd0, 0xeb, 0x69, 0x01, 0x0c, 0xc4, 0xed, 0xa1, + 0xda, 0x03, 0x7c, 0x8e, 0x60, 0x56, 0xc1, 0x15, 0x42, 0x48, 0xbc, 0xf4, + 0x63, 0x2b, 0x44, 0xd6, 0xa5, 0x98, 0x11, 0xf1, +}; +static const unsigned char kat2026_addin1[] = { + 0x1c, 0xdb, 0xb5, 0x31, 0x80, 0x3e, 0x7b, 0xca, 0xc8, 0xde, 0x8a, 0xaf, + 0x9c, 0x35, 0x34, 0x18, 0x4c, 0xf7, 0x37, 0xc9, 0xce, 0xda, 0x1a, 0x7a, + 0x16, 0x05, 0x6b, 0x0c, 0x53, 0xa8, 0x28, 0xff, +}; +static const unsigned char kat2026_retbits[] = { + 0x74, 0x3e, 0x9c, 0xb6, 0x03, 0x89, 0xd6, 0x49, 0x11, 0x3a, 0x93, 0xe9, + 0xba, 0x35, 0x00, 0xad, 0xcf, 0xf0, 0x51, 0x93, 0x93, 0x46, 0x02, 0x79, + 0x7c, 0x5a, 0x36, 0x08, 0x4d, 0xc1, 0xb3, 0xf2, 0xdb, 0x7c, 0x65, 0xd7, + 0xb6, 0x42, 0x5d, 0xbf, 0x3b, 0xb5, 0x72, 0x23, 0x9e, 0x88, 0x45, 0xa0, + 0x5b, 0x3e, 0xe5, 0x36, 0x6b, 0x53, 0x8a, 0x10, 0x10, 0xd4, 0xfe, 0x2a, + 0x09, 0x19, 0xc1, 0xa9, +}; +static const struct drbg_kat_pr_false kat2026_t = { + 0, kat2026_entropyin, kat2026_nonce, kat2026_persstr, + kat2026_entropyinreseed, kat2026_addinreseed, kat2026_addin0, + kat2026_addin1, kat2026_retbits +}; +static const struct drbg_kat kat2026 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2026_t +}; + +static const unsigned char kat2027_entropyin[] = { + 0x0c, 0x02, 0x9b, 0xad, 0x3e, 0x7f, 0x1d, 0xdf, 0x54, 0x2d, 0x54, 0x48, + 0x82, 0xfe, 0x1a, 0x00, 0x92, 0xed, 0xb6, 0xcf, 0x2a, 0x3a, 0x22, 0x02, + 0xd8, 0x84, 0x86, 0x90, 0x4e, 0xef, 0x78, 0x59, +}; +static const unsigned char kat2027_nonce[] = { + 0x9e, 0x6e, 0xe0, 0x2c, 0x4b, 0x52, 0x0d, 0x4f, 0xc1, 0x26, 0x2e, 0x28, + 0x33, 0xd8, 0xe2, 0x46, +}; +static const unsigned char kat2027_persstr[] = { + 0x2f, 0x24, 0xa5, 0xd9, 0xbf, 0x88, 0x93, 0xa0, 0xf2, 0xd3, 0x3a, 0x66, + 0x5b, 0x1b, 0x18, 0x72, 0x9e, 0x96, 0x33, 0x0e, 0x22, 0xf6, 0xe5, 0xa2, + 0x9b, 0xbb, 0xb4, 0xa9, 0xe8, 0x89, 0xec, 0x30, +}; +static const unsigned char kat2027_entropyinreseed[] = { + 0x7e, 0xc4, 0x50, 0x63, 0xb8, 0x77, 0xf4, 0x97, 0x38, 0xac, 0x80, 0x20, + 0xc0, 0xa7, 0x64, 0xef, 0xbf, 0xc1, 0x66, 0x7c, 0x7d, 0xba, 0x37, 0xa6, + 0x52, 0xf0, 0xfc, 0x6a, 0x03, 0xd0, 0xb1, 0x53, +}; +static const unsigned char kat2027_addinreseed[] = { + 0x74, 0xb7, 0x1d, 0x1d, 0x5b, 0x8b, 0x5d, 0x8c, 0x24, 0xf4, 0x4b, 0x75, + 0x7b, 0xa8, 0x79, 0x89, 0xd3, 0xea, 0x75, 0x7c, 0xcf, 0xc5, 0xb7, 0xf4, + 0xc4, 0x26, 0xe7, 0xd7, 0x2c, 0xbd, 0xe9, 0xf8, +}; +static const unsigned char kat2027_addin0[] = { + 0xec, 0x30, 0xeb, 0x4c, 0x56, 0xb8, 0xf6, 0x1f, 0x5d, 0x61, 0x52, 0x6b, + 0xf1, 0x83, 0x07, 0x45, 0xfd, 0xe9, 0xf0, 0x7a, 0x4d, 0xbd, 0x50, 0xfb, + 0x50, 0x2b, 0x27, 0x08, 0x7f, 0x42, 0xf4, 0x2f, +}; +static const unsigned char kat2027_addin1[] = { + 0xb4, 0x0b, 0x2e, 0x8f, 0x9d, 0x51, 0x7e, 0x64, 0x35, 0x6f, 0xd8, 0x98, + 0x17, 0x60, 0x19, 0x61, 0xd2, 0x21, 0x96, 0xfd, 0xbe, 0x74, 0x92, 0x79, + 0xb3, 0x21, 0xba, 0xa6, 0x1e, 0x72, 0xd6, 0x28, +}; +static const unsigned char kat2027_retbits[] = { + 0x70, 0xdb, 0x96, 0x9c, 0x96, 0x75, 0x5d, 0x28, 0xa1, 0x3a, 0xdf, 0xff, + 0x66, 0x6c, 0x0a, 0xa6, 0x2f, 0x0d, 0xbe, 0x13, 0x20, 0x52, 0x22, 0xb6, + 0x4e, 0xc4, 0x97, 0x03, 0x1e, 0x73, 0x4a, 0xa9, 0x57, 0xbd, 0xf8, 0x7b, + 0x72, 0xb2, 0xbe, 0x56, 0x53, 0xe1, 0x05, 0x1a, 0xb5, 0x55, 0x19, 0x31, + 0x00, 0x79, 0x78, 0xe8, 0x7f, 0x6b, 0xda, 0x21, 0x5f, 0x43, 0x58, 0xdc, + 0x08, 0x42, 0x77, 0x46, +}; +static const struct drbg_kat_pr_false kat2027_t = { + 1, kat2027_entropyin, kat2027_nonce, kat2027_persstr, + kat2027_entropyinreseed, kat2027_addinreseed, kat2027_addin0, + kat2027_addin1, kat2027_retbits +}; +static const struct drbg_kat kat2027 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2027_t +}; + +static const unsigned char kat2028_entropyin[] = { + 0x68, 0xc4, 0xf1, 0x36, 0xb5, 0xc4, 0xe2, 0x3d, 0x67, 0x6c, 0xa2, 0x41, + 0xb9, 0x01, 0x32, 0xd8, 0x30, 0xd8, 0xf3, 0xc4, 0x47, 0x8a, 0x9b, 0xc0, + 0x63, 0x96, 0x00, 0xe9, 0xc0, 0x62, 0xdd, 0xa7, +}; +static const unsigned char kat2028_nonce[] = { + 0x4f, 0x35, 0x04, 0x2b, 0xc4, 0x18, 0xd6, 0xcd, 0x9b, 0x1b, 0x1f, 0xf6, + 0x67, 0x6b, 0xb8, 0xf3, +}; +static const unsigned char kat2028_persstr[] = { + 0x7d, 0x9e, 0xe5, 0x89, 0x15, 0x99, 0x90, 0xf1, 0x26, 0xdb, 0x66, 0xb0, + 0xee, 0x59, 0x47, 0x58, 0xb7, 0x52, 0x03, 0x7c, 0x06, 0x08, 0x4c, 0xae, + 0x35, 0x4f, 0x02, 0x13, 0x0f, 0x0f, 0xce, 0x05, +}; +static const unsigned char kat2028_entropyinreseed[] = { + 0xb7, 0xe6, 0x83, 0xd1, 0x79, 0x7f, 0xe3, 0x64, 0xdd, 0x95, 0xe8, 0x4f, + 0x47, 0xd2, 0x16, 0xe0, 0x4d, 0xe2, 0xef, 0x9d, 0xfc, 0x51, 0xdb, 0x88, + 0x7c, 0x56, 0x8a, 0x16, 0x22, 0x1c, 0x8c, 0xbe, +}; +static const unsigned char kat2028_addinreseed[] = { + 0xe4, 0x48, 0x8b, 0x56, 0x54, 0x19, 0x70, 0x7a, 0x46, 0x14, 0x78, 0x5f, + 0xe7, 0xde, 0x43, 0x18, 0xa1, 0x8a, 0xbf, 0x7b, 0xda, 0xee, 0x54, 0xbd, + 0x60, 0x9c, 0x17, 0x39, 0x87, 0xa2, 0x6a, 0x2d, +}; +static const unsigned char kat2028_addin0[] = { + 0x4e, 0xd5, 0xcb, 0x9b, 0x2b, 0x7e, 0x2b, 0xb7, 0xa9, 0x66, 0xca, 0xcb, + 0x9e, 0x7c, 0x7e, 0xe7, 0xc5, 0x8c, 0xb6, 0xde, 0x45, 0xe6, 0xf7, 0xd9, + 0x1d, 0xa4, 0x3d, 0xe0, 0xc6, 0x25, 0xc4, 0x3b, +}; +static const unsigned char kat2028_addin1[] = { + 0x45, 0x48, 0x14, 0x0c, 0xf5, 0xfc, 0x79, 0x02, 0xed, 0xee, 0x67, 0x34, + 0x0f, 0x38, 0xed, 0x2e, 0xd8, 0x30, 0x1c, 0xc3, 0x5c, 0xd4, 0xa6, 0xbf, + 0x27, 0x1e, 0xfa, 0x89, 0x7b, 0x1e, 0xba, 0x6b, +}; +static const unsigned char kat2028_retbits[] = { + 0x8b, 0x91, 0xdb, 0xf2, 0xa5, 0x67, 0x9f, 0x95, 0x87, 0xeb, 0xc3, 0x51, + 0x4a, 0x36, 0x45, 0xa6, 0x88, 0x10, 0xdc, 0x87, 0x74, 0x6c, 0x66, 0xa2, + 0x2c, 0xea, 0x59, 0x9a, 0x90, 0xf3, 0x4d, 0xde, 0x9d, 0x4c, 0x13, 0x0b, + 0xae, 0xc3, 0x5e, 0xdc, 0x0c, 0x2f, 0x10, 0x46, 0x37, 0xb6, 0xd4, 0x0a, + 0x4b, 0x69, 0x5a, 0x11, 0xbb, 0x55, 0xe8, 0x6a, 0x36, 0x17, 0x5e, 0x63, + 0x12, 0x4a, 0x4e, 0x5d, +}; +static const struct drbg_kat_pr_false kat2028_t = { + 2, kat2028_entropyin, kat2028_nonce, kat2028_persstr, + kat2028_entropyinreseed, kat2028_addinreseed, kat2028_addin0, + kat2028_addin1, kat2028_retbits +}; +static const struct drbg_kat kat2028 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2028_t +}; + +static const unsigned char kat2029_entropyin[] = { + 0xa9, 0x36, 0x3e, 0x0b, 0x2b, 0x09, 0x97, 0xe1, 0x1c, 0x5d, 0xf6, 0x8c, + 0xcd, 0x5b, 0xc5, 0x3d, 0x10, 0xd9, 0xb9, 0xc6, 0x84, 0xe0, 0x69, 0x76, + 0x11, 0x41, 0xdc, 0xf7, 0x71, 0xac, 0x64, 0x76, +}; +static const unsigned char kat2029_nonce[] = { + 0xb8, 0xf8, 0xdf, 0xfe, 0x03, 0x48, 0x1c, 0x63, 0x21, 0x15, 0xec, 0x4e, + 0x95, 0xd2, 0x06, 0x22, +}; +static const unsigned char kat2029_persstr[] = { + 0x13, 0x4f, 0x93, 0xf5, 0xee, 0x3c, 0x5d, 0x88, 0x41, 0x6a, 0xc0, 0xf4, + 0xee, 0xa9, 0x05, 0xd4, 0xba, 0x2b, 0xfc, 0xe3, 0x1b, 0xc4, 0x04, 0x12, + 0xe8, 0xa3, 0xb9, 0x02, 0xa9, 0xfe, 0xb6, 0x49, +}; +static const unsigned char kat2029_entropyinreseed[] = { + 0xd0, 0xcc, 0x63, 0xe9, 0xce, 0xd8, 0x29, 0x24, 0xde, 0x6a, 0x8e, 0x91, + 0x72, 0x4c, 0xc3, 0x91, 0x36, 0xbc, 0x2a, 0xe3, 0x92, 0x89, 0xb4, 0x39, + 0xad, 0x90, 0x27, 0x7d, 0xdc, 0xfd, 0x28, 0xcf, +}; +static const unsigned char kat2029_addinreseed[] = { + 0x8c, 0x17, 0x6a, 0x3d, 0xa6, 0x62, 0x16, 0xf0, 0xf3, 0x47, 0x64, 0x0e, + 0x34, 0xf6, 0x97, 0x9e, 0xb5, 0x21, 0xc8, 0xdb, 0x3e, 0x44, 0x75, 0xb8, + 0x13, 0x90, 0xad, 0x8f, 0xd8, 0x9b, 0xf2, 0xae, +}; +static const unsigned char kat2029_addin0[] = { + 0xe6, 0x47, 0x75, 0x65, 0x00, 0xca, 0xfe, 0x3e, 0xaf, 0xdb, 0x93, 0x41, + 0x69, 0xc8, 0x36, 0x84, 0x10, 0x39, 0x26, 0x3f, 0x90, 0xa4, 0x4c, 0x1d, + 0x78, 0x97, 0x7b, 0x79, 0x4f, 0xbc, 0x4b, 0x01, +}; +static const unsigned char kat2029_addin1[] = { + 0x56, 0xe7, 0x5d, 0x3a, 0xa5, 0xf9, 0xb4, 0xd4, 0x34, 0xf5, 0x3d, 0x18, + 0x63, 0x47, 0x09, 0x03, 0xdd, 0x71, 0xbd, 0x12, 0x7e, 0x30, 0x1a, 0x7e, + 0x59, 0xb3, 0x53, 0xc2, 0x29, 0xc2, 0xae, 0xe0, +}; +static const unsigned char kat2029_retbits[] = { + 0x83, 0x42, 0x31, 0x25, 0x59, 0x5f, 0xa9, 0xd0, 0x20, 0xb2, 0x35, 0x91, + 0x8d, 0xb9, 0x28, 0xef, 0x5d, 0xe2, 0xb7, 0xb5, 0x7a, 0x2a, 0xb3, 0x94, + 0x07, 0x1e, 0x57, 0x77, 0xd2, 0x52, 0xcd, 0x13, 0x69, 0x18, 0xd9, 0xf4, + 0x33, 0x92, 0x0f, 0x09, 0xda, 0xd1, 0x3d, 0xbf, 0x36, 0x44, 0x9e, 0x2c, + 0x9c, 0x26, 0x86, 0x59, 0x9a, 0x20, 0x94, 0x65, 0x71, 0x16, 0x79, 0x74, + 0x92, 0xbe, 0x73, 0x27, +}; +static const struct drbg_kat_pr_false kat2029_t = { + 3, kat2029_entropyin, kat2029_nonce, kat2029_persstr, + kat2029_entropyinreseed, kat2029_addinreseed, kat2029_addin0, + kat2029_addin1, kat2029_retbits +}; +static const struct drbg_kat kat2029 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2029_t +}; + +static const unsigned char kat2030_entropyin[] = { + 0xf2, 0xe6, 0x5a, 0x05, 0xb7, 0x5c, 0x87, 0x50, 0xc1, 0x79, 0xbf, 0x07, + 0x71, 0x5d, 0xaf, 0x35, 0x08, 0xc0, 0x8c, 0xdc, 0x04, 0xac, 0xaa, 0x22, + 0x3c, 0x93, 0xcf, 0xae, 0xba, 0xd2, 0x00, 0x15, +}; +static const unsigned char kat2030_nonce[] = { + 0xa3, 0x34, 0x0a, 0xc8, 0x8f, 0xca, 0x36, 0x0a, 0x72, 0x8b, 0x5c, 0x9a, + 0x73, 0x53, 0x7c, 0xac, +}; +static const unsigned char kat2030_persstr[] = { + 0x13, 0x64, 0x6f, 0xba, 0xc9, 0x38, 0x30, 0x56, 0x09, 0x1c, 0xad, 0x95, + 0xf8, 0xc6, 0xd8, 0x77, 0xb0, 0x91, 0x6f, 0x3b, 0xb9, 0xc2, 0xac, 0xb1, + 0xaf, 0xf6, 0xa6, 0xe9, 0x7f, 0xc3, 0xf5, 0x39, +}; +static const unsigned char kat2030_entropyinreseed[] = { + 0x34, 0xd6, 0x97, 0x77, 0xcb, 0x99, 0x3a, 0x4b, 0xe6, 0x65, 0x83, 0x30, + 0x9c, 0xe0, 0xbc, 0x2a, 0x67, 0x66, 0xdf, 0xf0, 0x5a, 0x26, 0xef, 0x41, + 0x83, 0xf1, 0x1f, 0x7e, 0xe6, 0x54, 0xe4, 0x36, +}; +static const unsigned char kat2030_addinreseed[] = { + 0x80, 0x31, 0xea, 0x87, 0x92, 0x09, 0x69, 0x1a, 0x68, 0x24, 0x06, 0x80, + 0x34, 0x31, 0x1d, 0x7c, 0x91, 0x53, 0xbb, 0x26, 0x63, 0x4b, 0x4f, 0x72, + 0x85, 0xda, 0xdb, 0x9b, 0xbd, 0xdf, 0x89, 0x5f, +}; +static const unsigned char kat2030_addin0[] = { + 0xfb, 0x68, 0x41, 0x6c, 0x48, 0x54, 0x27, 0x21, 0xa2, 0x0f, 0x2e, 0xdc, + 0x1e, 0xe3, 0xad, 0x21, 0x0d, 0xaf, 0xb6, 0xb5, 0x29, 0x18, 0x38, 0xc2, + 0x17, 0x1b, 0x79, 0xc7, 0xe8, 0x45, 0x78, 0xfa, +}; +static const unsigned char kat2030_addin1[] = { + 0xee, 0x20, 0x66, 0xa2, 0x10, 0xd9, 0x6d, 0x2a, 0xe2, 0xde, 0x62, 0xc3, + 0xb7, 0xcd, 0x8f, 0x62, 0xa2, 0x82, 0x00, 0x6d, 0x6f, 0xc0, 0xd6, 0x9f, + 0xa4, 0x03, 0x57, 0x04, 0x90, 0x9b, 0x98, 0x1b, +}; +static const unsigned char kat2030_retbits[] = { + 0x44, 0xf3, 0x34, 0x50, 0xff, 0x56, 0x59, 0x3e, 0x77, 0xfc, 0x51, 0x16, + 0xbd, 0xbb, 0xa5, 0xa1, 0x70, 0x83, 0xed, 0xaf, 0x0d, 0xd0, 0xd2, 0x07, + 0x07, 0x96, 0xc5, 0x55, 0xf3, 0xea, 0x2d, 0x35, 0x89, 0xa5, 0x5d, 0x54, + 0x1d, 0xcd, 0x83, 0x4b, 0x5e, 0x3d, 0xf2, 0x81, 0x45, 0x4e, 0x84, 0xf8, + 0x1f, 0xda, 0xe9, 0x41, 0x35, 0x8b, 0x57, 0x52, 0xa3, 0x66, 0xee, 0xee, + 0x0a, 0x56, 0x5a, 0xd0, +}; +static const struct drbg_kat_pr_false kat2030_t = { + 4, kat2030_entropyin, kat2030_nonce, kat2030_persstr, + kat2030_entropyinreseed, kat2030_addinreseed, kat2030_addin0, + kat2030_addin1, kat2030_retbits +}; +static const struct drbg_kat kat2030 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2030_t +}; + +static const unsigned char kat2031_entropyin[] = { + 0x5d, 0x48, 0x06, 0x2e, 0x6d, 0xbe, 0xb6, 0x9d, 0x09, 0x09, 0x29, 0xd8, + 0x9d, 0x12, 0x7c, 0xe5, 0x4e, 0xf2, 0xc3, 0x37, 0x3e, 0x22, 0x2c, 0x3c, + 0xed, 0x1f, 0x1d, 0xa2, 0x33, 0xd0, 0xf6, 0xa9, +}; +static const unsigned char kat2031_nonce[] = { + 0x97, 0x01, 0x39, 0x53, 0x20, 0xdb, 0xd4, 0x43, 0x7e, 0x67, 0x87, 0x6f, + 0x97, 0x83, 0x42, 0xd8, +}; +static const unsigned char kat2031_persstr[] = { + 0xb9, 0x76, 0xfa, 0x12, 0x84, 0x1d, 0xc6, 0x31, 0x4e, 0xfd, 0xc9, 0xb3, + 0xb4, 0xd2, 0xe3, 0xcc, 0x1e, 0x5d, 0x8d, 0xf4, 0x34, 0x5f, 0x33, 0xad, + 0xc0, 0x47, 0xa8, 0xe8, 0x13, 0x5e, 0xbd, 0xa0, +}; +static const unsigned char kat2031_entropyinreseed[] = { + 0xd9, 0xef, 0x5e, 0x9a, 0x53, 0x4a, 0xe3, 0x20, 0xf1, 0x70, 0x58, 0xdf, + 0x52, 0xc0, 0xbb, 0x3a, 0xa0, 0x22, 0x60, 0xbd, 0xd5, 0x19, 0x19, 0xe0, + 0xd6, 0x8c, 0x7b, 0x6d, 0x58, 0xe1, 0xca, 0x43, +}; +static const unsigned char kat2031_addinreseed[] = { + 0x12, 0x0b, 0xd1, 0xc3, 0xc2, 0x1b, 0xe3, 0x46, 0x52, 0x03, 0xe2, 0x91, + 0x2e, 0x9a, 0xd5, 0xef, 0x2f, 0x83, 0x36, 0xa2, 0x0e, 0x5d, 0xbf, 0x87, + 0x35, 0x3d, 0xa5, 0x65, 0x32, 0x2b, 0x18, 0x52, +}; +static const unsigned char kat2031_addin0[] = { + 0xdb, 0x2d, 0x4a, 0x5c, 0xff, 0x0e, 0xf5, 0xab, 0x75, 0x75, 0x26, 0xfc, + 0x04, 0x66, 0x63, 0x10, 0x85, 0xad, 0xbb, 0x88, 0x20, 0x86, 0x87, 0xc1, + 0x0a, 0x72, 0x81, 0xb5, 0xa2, 0x5d, 0x58, 0x38, +}; +static const unsigned char kat2031_addin1[] = { + 0x0f, 0x3f, 0xc9, 0x16, 0xb1, 0xf6, 0x60, 0x46, 0x6e, 0x0a, 0xdc, 0xf2, + 0xc4, 0x2d, 0xf0, 0x76, 0x2c, 0xc6, 0xac, 0x4a, 0x1e, 0x07, 0xd1, 0x42, + 0x0e, 0x04, 0x48, 0x6c, 0x59, 0x3e, 0x40, 0xab, +}; +static const unsigned char kat2031_retbits[] = { + 0x20, 0x0f, 0x5d, 0xe4, 0x66, 0xcf, 0x4a, 0xd5, 0x74, 0x27, 0x54, 0x3d, + 0x95, 0x50, 0x2b, 0x50, 0x42, 0xa8, 0xc2, 0x3e, 0x0d, 0xc9, 0xd8, 0xaf, + 0x45, 0x9f, 0x27, 0x76, 0xbd, 0x3c, 0x78, 0xa7, 0x6a, 0x91, 0xaa, 0xc4, + 0x8f, 0xa3, 0x49, 0xb3, 0xe0, 0x28, 0x33, 0xf1, 0xb7, 0xe1, 0x97, 0x74, + 0xf3, 0x51, 0xdb, 0xf8, 0x1c, 0x2a, 0x66, 0xf0, 0xe9, 0xa0, 0xc0, 0x16, + 0x89, 0xd3, 0x88, 0xa8, +}; +static const struct drbg_kat_pr_false kat2031_t = { + 5, kat2031_entropyin, kat2031_nonce, kat2031_persstr, + kat2031_entropyinreseed, kat2031_addinreseed, kat2031_addin0, + kat2031_addin1, kat2031_retbits +}; +static const struct drbg_kat kat2031 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2031_t +}; + +static const unsigned char kat2032_entropyin[] = { + 0xd2, 0x59, 0xf3, 0xfd, 0x16, 0xfe, 0xeb, 0x67, 0xd1, 0x76, 0x67, 0xfe, + 0x82, 0xea, 0x29, 0x17, 0x61, 0x91, 0x8f, 0xc2, 0x94, 0x76, 0x62, 0x69, + 0xba, 0x2c, 0xb5, 0x6a, 0x36, 0x76, 0xed, 0xd2, +}; +static const unsigned char kat2032_nonce[] = { + 0x58, 0x2c, 0x05, 0x83, 0x8e, 0x16, 0x38, 0x1e, 0x6d, 0xc1, 0x04, 0x6d, + 0x78, 0x4f, 0xfd, 0xf8, +}; +static const unsigned char kat2032_persstr[] = { + 0x94, 0xca, 0x52, 0xda, 0x42, 0x4c, 0xc0, 0x71, 0x72, 0xc2, 0x07, 0x50, + 0xdf, 0x5f, 0xed, 0xdb, 0x68, 0xf2, 0x8f, 0xe7, 0x94, 0x46, 0x1e, 0x51, + 0xc9, 0x2c, 0xc6, 0x45, 0x1f, 0xf5, 0x8c, 0x0f, +}; +static const unsigned char kat2032_entropyinreseed[] = { + 0x1b, 0x98, 0xe4, 0xa8, 0x62, 0x0c, 0xa5, 0xf9, 0x52, 0x05, 0x83, 0xb7, + 0x53, 0xc2, 0x22, 0xed, 0xa5, 0x54, 0x0a, 0x87, 0x36, 0xd8, 0xa3, 0xe7, + 0x84, 0xd0, 0x1b, 0x75, 0xfc, 0x8a, 0xe3, 0x5d, +}; +static const unsigned char kat2032_addinreseed[] = { + 0xe6, 0xe1, 0xfb, 0x6b, 0xe9, 0x07, 0xc8, 0x43, 0xc9, 0x9b, 0x5a, 0x85, + 0xe6, 0x21, 0xaf, 0xd2, 0x2e, 0xb1, 0xac, 0x18, 0xb5, 0x41, 0xa6, 0x95, + 0x9c, 0x2a, 0xef, 0x14, 0xaa, 0x8e, 0xb8, 0x54, +}; +static const unsigned char kat2032_addin0[] = { + 0x43, 0x6b, 0xfc, 0xb8, 0x0f, 0x97, 0x4d, 0x5e, 0x28, 0x15, 0xe2, 0x1e, + 0xc0, 0x92, 0x5c, 0x8e, 0x0e, 0x41, 0x46, 0xda, 0xbe, 0xb2, 0xad, 0x6a, + 0xe7, 0x6d, 0x11, 0x8b, 0xf4, 0xd9, 0xfa, 0x9a, +}; +static const unsigned char kat2032_addin1[] = { + 0x11, 0xd4, 0x15, 0x3c, 0xf7, 0x7f, 0xa5, 0xb1, 0xb5, 0x8a, 0xce, 0x5c, + 0xa0, 0x1d, 0x73, 0x70, 0x99, 0xb4, 0xc2, 0xad, 0xb5, 0x7f, 0xc2, 0xfb, + 0xf2, 0x8f, 0xb5, 0x8e, 0x5f, 0xd3, 0xea, 0x50, +}; +static const unsigned char kat2032_retbits[] = { + 0x1c, 0x39, 0xba, 0x5e, 0xd9, 0x63, 0x28, 0xec, 0x66, 0x56, 0x8d, 0x3c, + 0xeb, 0x77, 0x89, 0x4f, 0x12, 0x24, 0x0f, 0x0f, 0xdc, 0xf0, 0x65, 0x11, + 0x9c, 0xd8, 0x41, 0x15, 0x1c, 0xb8, 0x60, 0xca, 0xa6, 0x4f, 0x74, 0xbb, + 0x1b, 0x19, 0x98, 0x32, 0x25, 0x25, 0x4b, 0x3b, 0x58, 0xfe, 0x97, 0xbf, + 0xfb, 0xd2, 0x0b, 0x57, 0xa9, 0x49, 0x23, 0x89, 0xd6, 0x2c, 0x2b, 0x54, + 0x2d, 0x53, 0xfb, 0x64, +}; +static const struct drbg_kat_pr_false kat2032_t = { + 6, kat2032_entropyin, kat2032_nonce, kat2032_persstr, + kat2032_entropyinreseed, kat2032_addinreseed, kat2032_addin0, + kat2032_addin1, kat2032_retbits +}; +static const struct drbg_kat kat2032 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2032_t +}; + +static const unsigned char kat2033_entropyin[] = { + 0xf3, 0x6e, 0x6a, 0xb1, 0x6a, 0x4d, 0xc1, 0xa6, 0x8e, 0xad, 0x3c, 0x8f, + 0xb5, 0xfd, 0x4a, 0x9b, 0x22, 0xeb, 0x15, 0xe2, 0x43, 0x96, 0x46, 0x57, + 0x89, 0x5d, 0x02, 0xce, 0xb5, 0xca, 0x9b, 0x75, +}; +static const unsigned char kat2033_nonce[] = { + 0xcb, 0x55, 0x56, 0x1e, 0x35, 0xc4, 0x41, 0x8b, 0x6c, 0x22, 0x75, 0xb5, + 0x0d, 0xe5, 0x7d, 0xf1, +}; +static const unsigned char kat2033_persstr[] = { + 0x9c, 0x60, 0x4b, 0xa9, 0x91, 0x03, 0x66, 0x68, 0x57, 0x98, 0xf0, 0xc2, + 0x10, 0x44, 0x78, 0x9e, 0xb8, 0xfa, 0x3a, 0x51, 0xf9, 0x9a, 0x7e, 0xd4, + 0x51, 0xca, 0x3a, 0x6e, 0x22, 0x3e, 0xc3, 0x4a, +}; +static const unsigned char kat2033_entropyinreseed[] = { + 0x9f, 0xf7, 0x9a, 0xea, 0xb2, 0x49, 0x8f, 0xde, 0xe0, 0x9a, 0x35, 0x55, + 0x79, 0x98, 0xe8, 0x00, 0xec, 0xc1, 0x62, 0xff, 0xe0, 0xd5, 0x62, 0x91, + 0xe5, 0x76, 0x01, 0x1e, 0x23, 0x68, 0x09, 0xdc, +}; +static const unsigned char kat2033_addinreseed[] = { + 0x0b, 0x86, 0x5e, 0x50, 0xb6, 0x19, 0x82, 0x1f, 0x53, 0xe6, 0x3e, 0x06, + 0x84, 0xd1, 0xce, 0xa2, 0x7a, 0xba, 0xc0, 0xbe, 0x27, 0xf1, 0x20, 0x6a, + 0xb1, 0xa6, 0xe4, 0x7f, 0xf0, 0x3e, 0xcf, 0x47, +}; +static const unsigned char kat2033_addin0[] = { + 0x4e, 0x2b, 0x14, 0x2f, 0x77, 0xdb, 0x9e, 0xa7, 0xf2, 0x9f, 0x6a, 0x93, + 0x85, 0xa4, 0xae, 0x22, 0xbf, 0xcc, 0xcf, 0x81, 0x1f, 0x7f, 0xdf, 0x8a, + 0x5e, 0x5f, 0x4a, 0x0f, 0x6f, 0x32, 0x5c, 0x99, +}; +static const unsigned char kat2033_addin1[] = { + 0x46, 0x92, 0x2a, 0xd3, 0x87, 0x71, 0x54, 0x90, 0x11, 0xfc, 0x80, 0xe7, + 0x46, 0x33, 0x4e, 0x15, 0x85, 0x3c, 0x04, 0x46, 0x19, 0xae, 0xd6, 0x84, + 0x7f, 0xc7, 0xc6, 0x2e, 0x60, 0x04, 0xf2, 0x98, +}; +static const unsigned char kat2033_retbits[] = { + 0xe1, 0x3d, 0x04, 0x6e, 0x9d, 0xa6, 0xa6, 0x03, 0x66, 0xee, 0x3c, 0x7c, + 0xe2, 0x0b, 0x59, 0xcf, 0x55, 0x5e, 0x41, 0xfa, 0xf5, 0x8b, 0xab, 0x05, + 0x1a, 0xa4, 0x0c, 0x35, 0xa2, 0x07, 0xa3, 0x16, 0x63, 0x4d, 0x17, 0x95, + 0x1f, 0x8c, 0x17, 0x51, 0xa2, 0x64, 0x13, 0xca, 0x25, 0xea, 0x2e, 0x94, + 0x62, 0xcd, 0x3d, 0x9c, 0xe8, 0xff, 0xf3, 0xb3, 0x53, 0xf9, 0x10, 0x76, + 0xa3, 0x2a, 0xd6, 0xe2, +}; +static const struct drbg_kat_pr_false kat2033_t = { + 7, kat2033_entropyin, kat2033_nonce, kat2033_persstr, + kat2033_entropyinreseed, kat2033_addinreseed, kat2033_addin0, + kat2033_addin1, kat2033_retbits +}; +static const struct drbg_kat kat2033 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2033_t +}; + +static const unsigned char kat2034_entropyin[] = { + 0xf9, 0xb2, 0x9d, 0x40, 0x98, 0x2e, 0xa2, 0x73, 0xa6, 0xb3, 0x5b, 0xec, + 0x95, 0x3c, 0x6e, 0x9b, 0x77, 0xab, 0x90, 0x4f, 0xef, 0x3b, 0x55, 0x40, + 0x8e, 0xb4, 0xde, 0x51, 0x73, 0x19, 0xb7, 0x92, +}; +static const unsigned char kat2034_nonce[] = { + 0x76, 0x5c, 0x54, 0x2b, 0xc6, 0xfa, 0xda, 0x9f, 0x68, 0x72, 0xfa, 0xaf, + 0x63, 0xe7, 0xb9, 0x53, +}; +static const unsigned char kat2034_persstr[] = { + 0x9c, 0xef, 0xad, 0x9c, 0x60, 0x51, 0x1e, 0x2f, 0x67, 0xa1, 0x69, 0x56, + 0x0f, 0x7d, 0x4e, 0x5e, 0xc5, 0x31, 0xaf, 0xa7, 0x4e, 0x83, 0xa5, 0x69, + 0xe8, 0x39, 0xed, 0xcd, 0x47, 0xef, 0x46, 0xaa, +}; +static const unsigned char kat2034_entropyinreseed[] = { + 0x97, 0x7e, 0x45, 0xdf, 0xf8, 0x78, 0xec, 0xec, 0x24, 0xbe, 0x75, 0x9f, + 0xfe, 0x70, 0x37, 0x32, 0xf6, 0x16, 0x73, 0xdb, 0x62, 0x6f, 0x07, 0xc0, + 0x0e, 0x94, 0x64, 0xc6, 0x9b, 0x2e, 0x08, 0x24, +}; +static const unsigned char kat2034_addinreseed[] = { + 0xa4, 0xb1, 0x50, 0x28, 0x86, 0x23, 0xbb, 0x82, 0x21, 0x6a, 0x96, 0xef, + 0x1f, 0xb6, 0x73, 0x4f, 0xda, 0x32, 0x24, 0xbe, 0xa5, 0x65, 0xa5, 0x65, + 0xde, 0xe4, 0x1e, 0x5b, 0x7c, 0xec, 0x95, 0x00, +}; +static const unsigned char kat2034_addin0[] = { + 0x6a, 0x16, 0x5a, 0xb0, 0x41, 0xc1, 0x2c, 0x31, 0xb9, 0x8a, 0x40, 0x78, + 0xd8, 0xca, 0x90, 0x7c, 0x2a, 0x08, 0x41, 0x20, 0x60, 0x4f, 0x85, 0x9c, + 0x63, 0x09, 0x43, 0xef, 0x25, 0x13, 0x1c, 0x6f, +}; +static const unsigned char kat2034_addin1[] = { + 0x5e, 0x59, 0x18, 0xcc, 0x94, 0x39, 0x63, 0x7a, 0x96, 0xfb, 0x3c, 0xb3, + 0xb1, 0x7e, 0x46, 0x8b, 0xda, 0xcd, 0x8b, 0x87, 0x4e, 0x2c, 0xf1, 0x4b, + 0x56, 0x40, 0x34, 0xdd, 0xb4, 0x7d, 0x1e, 0x20, +}; +static const unsigned char kat2034_retbits[] = { + 0xe3, 0x97, 0xc6, 0x10, 0x46, 0x55, 0x59, 0x2c, 0xbc, 0x9b, 0x8e, 0x14, + 0xab, 0x5d, 0x08, 0x22, 0x86, 0x6d, 0xe4, 0x31, 0x48, 0x8f, 0x45, 0x2e, + 0xac, 0xfe, 0x42, 0x3e, 0x69, 0x41, 0x10, 0x9c, 0x47, 0xea, 0x4a, 0x43, + 0x88, 0xa6, 0x72, 0x3b, 0x40, 0x73, 0xc0, 0xe8, 0x96, 0x37, 0x7b, 0x0d, + 0x2f, 0x35, 0x2d, 0x6f, 0xb9, 0x60, 0x1d, 0x7f, 0xb5, 0xbc, 0x73, 0xc0, + 0x4c, 0x52, 0x4d, 0xe8, +}; +static const struct drbg_kat_pr_false kat2034_t = { + 8, kat2034_entropyin, kat2034_nonce, kat2034_persstr, + kat2034_entropyinreseed, kat2034_addinreseed, kat2034_addin0, + kat2034_addin1, kat2034_retbits +}; +static const struct drbg_kat kat2034 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2034_t +}; + +static const unsigned char kat2035_entropyin[] = { + 0x3d, 0xdf, 0xa0, 0xf5, 0x78, 0x09, 0xbe, 0x74, 0x56, 0xfc, 0x8f, 0xb8, + 0xc4, 0xeb, 0xbc, 0x20, 0x40, 0x49, 0x6a, 0xef, 0x79, 0x27, 0x58, 0xee, + 0xbb, 0x72, 0x84, 0xe2, 0x36, 0x99, 0xc2, 0x0c, +}; +static const unsigned char kat2035_nonce[] = { + 0xa1, 0x83, 0x9a, 0x77, 0x56, 0x1f, 0xf3, 0xe4, 0x06, 0x19, 0x78, 0xf8, + 0xf4, 0x22, 0x70, 0x8c, +}; +static const unsigned char kat2035_persstr[] = { + 0x88, 0x9b, 0x72, 0x24, 0x6e, 0x71, 0x33, 0x39, 0x45, 0xc7, 0xcf, 0x9f, + 0x4d, 0x70, 0x6d, 0x6d, 0xdd, 0x7b, 0x1c, 0xf0, 0x9a, 0x59, 0xc5, 0x7c, + 0xe8, 0x82, 0xdb, 0xf3, 0xab, 0x3c, 0x88, 0xc7, +}; +static const unsigned char kat2035_entropyinreseed[] = { + 0x6d, 0x26, 0xd6, 0x1a, 0xec, 0x8f, 0x12, 0x2b, 0x50, 0xf9, 0x02, 0x2b, + 0xda, 0x1f, 0x09, 0x73, 0xb1, 0x4c, 0x5c, 0x3e, 0x5d, 0x16, 0xbe, 0x2c, + 0x88, 0x39, 0x8e, 0x35, 0x28, 0x65, 0x4b, 0x6b, +}; +static const unsigned char kat2035_addinreseed[] = { + 0x50, 0x13, 0x8a, 0x1c, 0x11, 0x8b, 0x36, 0xc7, 0x5a, 0x05, 0x2a, 0xad, + 0x17, 0x0c, 0xda, 0x2c, 0xd4, 0xc0, 0x11, 0x36, 0xd6, 0x2b, 0x88, 0x40, + 0x97, 0xd6, 0x4b, 0x8b, 0xe2, 0xa8, 0x87, 0x60, +}; +static const unsigned char kat2035_addin0[] = { + 0x45, 0xe5, 0x70, 0x24, 0x61, 0xdd, 0x9b, 0xc7, 0x26, 0x15, 0x8e, 0x6c, + 0x96, 0xc6, 0x96, 0xf5, 0x19, 0xf8, 0x07, 0xa5, 0x8e, 0xdd, 0xfe, 0xc7, + 0x9e, 0x50, 0xf3, 0x8a, 0x03, 0xb6, 0x5a, 0x29, +}; +static const unsigned char kat2035_addin1[] = { + 0x34, 0x8f, 0x61, 0x37, 0x0c, 0xa8, 0x04, 0xe6, 0x4d, 0x42, 0x19, 0xae, + 0xc7, 0xb7, 0xa9, 0x61, 0x0d, 0xe4, 0x43, 0x19, 0x05, 0x10, 0x7b, 0x2a, + 0xb9, 0x33, 0x62, 0xf4, 0xbc, 0x19, 0xd8, 0xf1, +}; +static const unsigned char kat2035_retbits[] = { + 0xfc, 0xc0, 0xdc, 0x7a, 0xed, 0x0e, 0x56, 0x94, 0x05, 0x8e, 0xd3, 0xc6, + 0x21, 0x34, 0x6d, 0x5c, 0xb5, 0xcf, 0xef, 0x49, 0xd3, 0xc0, 0x46, 0x73, + 0x80, 0x23, 0x45, 0x6f, 0x17, 0x57, 0x7b, 0xc0, 0x86, 0x15, 0x94, 0xec, + 0x01, 0x81, 0x49, 0xb3, 0x66, 0xb4, 0x02, 0xdd, 0x64, 0x30, 0x3d, 0x4b, + 0x0e, 0x36, 0xfc, 0xb8, 0x95, 0xf3, 0xc6, 0xa5, 0x08, 0x3f, 0xd2, 0x89, + 0x80, 0x35, 0x5b, 0xc1, +}; +static const struct drbg_kat_pr_false kat2035_t = { + 9, kat2035_entropyin, kat2035_nonce, kat2035_persstr, + kat2035_entropyinreseed, kat2035_addinreseed, kat2035_addin0, + kat2035_addin1, kat2035_retbits +}; +static const struct drbg_kat kat2035 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2035_t +}; + +static const unsigned char kat2036_entropyin[] = { + 0x77, 0x82, 0x8e, 0xfc, 0xe8, 0x2d, 0xfc, 0x95, 0x5f, 0x77, 0x84, 0x99, + 0x7a, 0x70, 0xdf, 0xf8, 0xfe, 0x11, 0xcc, 0xc7, 0x25, 0xcd, 0x1b, 0xa2, + 0xd6, 0xa1, 0x1e, 0xd6, 0x73, 0xa0, 0x6b, 0x38, +}; +static const unsigned char kat2036_nonce[] = { + 0x5e, 0x2d, 0xe9, 0xfe, 0x7e, 0xec, 0xeb, 0x0a, 0x5b, 0xd7, 0xc1, 0xfe, + 0x5f, 0xb6, 0x30, 0x1e, +}; +static const unsigned char kat2036_persstr[] = { + 0x26, 0x78, 0x11, 0x51, 0x52, 0xd3, 0xa5, 0xd2, 0x5a, 0x86, 0x30, 0x31, + 0x29, 0x87, 0x56, 0x55, 0x09, 0xfd, 0x85, 0xcb, 0xc0, 0xac, 0xcc, 0x26, + 0x2c, 0x14, 0x03, 0x0e, 0x5e, 0xd4, 0x48, 0xa8, +}; +static const unsigned char kat2036_entropyinreseed[] = { + 0xaf, 0x77, 0x49, 0x41, 0x5d, 0xe1, 0xb5, 0x53, 0xfa, 0x6b, 0x20, 0xa1, + 0x92, 0x3e, 0xf3, 0x48, 0xf7, 0xef, 0x60, 0x19, 0x0d, 0x02, 0x88, 0x15, + 0x5d, 0x57, 0x94, 0xcd, 0x8f, 0xff, 0x4e, 0x45, +}; +static const unsigned char kat2036_addinreseed[] = { + 0x97, 0xe8, 0x11, 0x74, 0xb5, 0x07, 0x69, 0xbd, 0xb0, 0xb4, 0x3d, 0xc7, + 0x44, 0xb1, 0xfa, 0xbe, 0x08, 0x55, 0x05, 0xc3, 0x54, 0xb2, 0xf6, 0xa7, + 0xde, 0x38, 0xa5, 0x30, 0xc1, 0x06, 0x06, 0x9b, +}; +static const unsigned char kat2036_addin0[] = { + 0x6f, 0xc0, 0x2b, 0xbc, 0xc3, 0x07, 0x59, 0x46, 0xdd, 0x5c, 0xd8, 0x10, + 0xe6, 0x77, 0x18, 0x8c, 0xf6, 0x91, 0x18, 0x66, 0x5d, 0x04, 0xf1, 0x5c, + 0xe6, 0x67, 0x1e, 0x5b, 0xb5, 0xbb, 0xe7, 0xa3, +}; +static const unsigned char kat2036_addin1[] = { + 0xe7, 0x67, 0x4e, 0x18, 0xae, 0x38, 0xaa, 0x10, 0xf4, 0x4a, 0x0e, 0x24, + 0x1c, 0x9c, 0x74, 0xf8, 0xd6, 0xe5, 0x70, 0x66, 0x6b, 0xf5, 0x3e, 0x02, + 0x3c, 0xe1, 0x1e, 0x5c, 0x1c, 0x2c, 0x0a, 0x02, +}; +static const unsigned char kat2036_retbits[] = { + 0x13, 0x89, 0xc9, 0x04, 0xca, 0xc5, 0x90, 0x8a, 0xc5, 0x72, 0x85, 0xbc, + 0x5f, 0xa5, 0xbe, 0xfe, 0x12, 0xf8, 0x10, 0x0d, 0x0e, 0x50, 0xd0, 0x9f, + 0x01, 0xd1, 0x37, 0xa9, 0x7d, 0x6c, 0xf6, 0x21, 0x14, 0xa6, 0xbd, 0x18, + 0xa4, 0xd8, 0xbc, 0x81, 0x23, 0xae, 0x4c, 0xbc, 0x63, 0x03, 0xe2, 0x98, + 0x30, 0xe6, 0xb3, 0x01, 0xac, 0x29, 0x4f, 0xcd, 0x0f, 0xd4, 0x1d, 0x17, + 0x39, 0xbb, 0x28, 0x0d, +}; +static const struct drbg_kat_pr_false kat2036_t = { + 10, kat2036_entropyin, kat2036_nonce, kat2036_persstr, + kat2036_entropyinreseed, kat2036_addinreseed, kat2036_addin0, + kat2036_addin1, kat2036_retbits +}; +static const struct drbg_kat kat2036 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2036_t +}; + +static const unsigned char kat2037_entropyin[] = { + 0x55, 0x57, 0xed, 0xbd, 0x85, 0x34, 0x9f, 0x61, 0x6b, 0x8b, 0x52, 0x59, + 0xc9, 0x55, 0xd6, 0x7e, 0x19, 0x8f, 0x96, 0xa9, 0xe3, 0x6c, 0x23, 0x66, + 0x02, 0x46, 0x48, 0x53, 0x8f, 0x11, 0xd9, 0xda, +}; +static const unsigned char kat2037_nonce[] = { + 0x33, 0xce, 0x40, 0x59, 0xe8, 0xbd, 0xe0, 0x8d, 0x74, 0xa0, 0x25, 0x9c, + 0x14, 0x10, 0x94, 0x67, +}; +static const unsigned char kat2037_persstr[] = { + 0x81, 0xd2, 0x6a, 0xc8, 0x78, 0x52, 0xec, 0x42, 0x81, 0x01, 0xbb, 0x00, + 0xe4, 0xcf, 0xd3, 0xf0, 0xc3, 0xbb, 0x46, 0xf2, 0xe9, 0xf0, 0x5f, 0xc7, + 0x89, 0xfb, 0x58, 0x96, 0x93, 0xfe, 0x66, 0x16, +}; +static const unsigned char kat2037_entropyinreseed[] = { + 0x6a, 0xfc, 0x50, 0x03, 0xb7, 0xc1, 0x96, 0xc5, 0xe5, 0xc6, 0x86, 0x20, + 0x76, 0x55, 0x38, 0x5f, 0x55, 0xf7, 0xe2, 0x07, 0xf7, 0xab, 0x28, 0xb5, + 0x3a, 0x94, 0xb0, 0xab, 0x5b, 0x2a, 0xdf, 0x8c, +}; +static const unsigned char kat2037_addinreseed[] = { + 0x66, 0x1f, 0x9d, 0x57, 0x13, 0x1b, 0x78, 0x89, 0xd6, 0x5d, 0xf4, 0xe4, + 0x44, 0xec, 0xd4, 0x1b, 0x32, 0x5c, 0x11, 0x22, 0x85, 0xea, 0xb1, 0x36, + 0x73, 0x9f, 0x11, 0x7e, 0x6e, 0xcc, 0xa4, 0xb4, +}; +static const unsigned char kat2037_addin0[] = { + 0x03, 0x98, 0x30, 0x95, 0xb3, 0x12, 0xf8, 0x15, 0xe0, 0x1d, 0x0c, 0x24, + 0x03, 0xcd, 0xa2, 0xbb, 0x22, 0x2f, 0xcc, 0xd5, 0xb5, 0xa6, 0xa5, 0xf1, + 0x6c, 0x85, 0x96, 0xf5, 0x56, 0xfa, 0x80, 0x70, +}; +static const unsigned char kat2037_addin1[] = { + 0x14, 0xb8, 0x44, 0x64, 0x46, 0x87, 0x77, 0x60, 0x22, 0xae, 0x0d, 0x4e, + 0x5c, 0xc3, 0x5b, 0xa9, 0xb7, 0x7f, 0xeb, 0x70, 0x0d, 0x17, 0xac, 0x5b, + 0xdb, 0x7e, 0x5c, 0x62, 0x74, 0x47, 0x7c, 0xfa, +}; +static const unsigned char kat2037_retbits[] = { + 0x5c, 0xd9, 0x4c, 0x38, 0xb3, 0x4a, 0x13, 0x18, 0x46, 0x88, 0x64, 0x39, + 0x4c, 0x5a, 0x0e, 0x8f, 0x3b, 0xbe, 0x99, 0xa5, 0xbc, 0x76, 0x27, 0xe6, + 0x05, 0x71, 0xed, 0x0f, 0x0e, 0xb5, 0x9d, 0x2f, 0xa5, 0x89, 0xaf, 0xb2, + 0xdc, 0xa4, 0x72, 0x63, 0x06, 0xb0, 0x9c, 0x11, 0xe0, 0x79, 0xe1, 0xd6, + 0x00, 0x9b, 0x6e, 0x52, 0x03, 0x36, 0x8b, 0x23, 0x9d, 0xd5, 0x93, 0x1d, + 0x8a, 0x3e, 0xa8, 0x57, +}; +static const struct drbg_kat_pr_false kat2037_t = { + 11, kat2037_entropyin, kat2037_nonce, kat2037_persstr, + kat2037_entropyinreseed, kat2037_addinreseed, kat2037_addin0, + kat2037_addin1, kat2037_retbits +}; +static const struct drbg_kat kat2037 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2037_t +}; + +static const unsigned char kat2038_entropyin[] = { + 0xb7, 0xa4, 0x83, 0x79, 0xbb, 0x37, 0x60, 0xea, 0xa6, 0x1a, 0x73, 0x3c, + 0x9b, 0x13, 0xd0, 0x07, 0x9b, 0xc7, 0x62, 0xec, 0xaf, 0x7c, 0xb3, 0x3a, + 0xdc, 0x47, 0xfd, 0xab, 0xe1, 0x60, 0xb6, 0xed, +}; +static const unsigned char kat2038_nonce[] = { + 0x90, 0xce, 0xe0, 0x92, 0x75, 0xcc, 0x0d, 0xa2, 0x95, 0x5c, 0xbd, 0xc8, + 0x17, 0xc9, 0x26, 0x9d, +}; +static const unsigned char kat2038_persstr[] = { + 0x3a, 0x93, 0x3b, 0x47, 0x64, 0x07, 0x4a, 0xfb, 0xd7, 0x5f, 0x08, 0x0b, + 0x7e, 0x6d, 0x7e, 0xa7, 0xad, 0x28, 0x83, 0x7f, 0x14, 0xbc, 0xae, 0x18, + 0x73, 0xbd, 0xe7, 0xa7, 0xab, 0x7b, 0x08, 0x5b, +}; +static const unsigned char kat2038_entropyinreseed[] = { + 0xe1, 0xbd, 0x1f, 0x81, 0x20, 0xc8, 0xdc, 0x41, 0x8c, 0x5c, 0xca, 0x4e, + 0x76, 0x7e, 0x4a, 0xb7, 0x74, 0x83, 0x37, 0xce, 0xf9, 0x88, 0xb2, 0x59, + 0x88, 0x00, 0xd6, 0x09, 0xa0, 0x2b, 0xa1, 0x45, +}; +static const unsigned char kat2038_addinreseed[] = { + 0x04, 0xed, 0x95, 0x64, 0x79, 0x76, 0xce, 0x36, 0xe0, 0xbb, 0xb3, 0x2e, + 0xbd, 0xaf, 0xa7, 0xd3, 0x2d, 0x01, 0x1f, 0xc6, 0xf1, 0x3f, 0x09, 0x8e, + 0x70, 0xdc, 0x10, 0xf5, 0x1a, 0x2b, 0x41, 0x1d, +}; +static const unsigned char kat2038_addin0[] = { + 0x4e, 0x43, 0x12, 0xc6, 0x9f, 0x41, 0x56, 0xdc, 0xd6, 0x33, 0x48, 0x1c, + 0xf8, 0x2d, 0x9f, 0x77, 0x7d, 0x40, 0x2f, 0xfe, 0x17, 0x58, 0x4e, 0x6d, + 0xa7, 0x72, 0x14, 0x47, 0x6f, 0x00, 0x11, 0x6e, +}; +static const unsigned char kat2038_addin1[] = { + 0xce, 0xdb, 0xaf, 0x29, 0x7d, 0xc8, 0xc8, 0x38, 0x20, 0xdb, 0x61, 0x47, + 0xd4, 0xad, 0x9c, 0xc8, 0x06, 0xcf, 0x63, 0x26, 0x89, 0xb8, 0x1f, 0x02, + 0xdb, 0xc9, 0x5a, 0x1e, 0x74, 0xea, 0xac, 0x81, +}; +static const unsigned char kat2038_retbits[] = { + 0x74, 0x61, 0xdf, 0x9d, 0x63, 0x4f, 0xd4, 0x73, 0x85, 0x67, 0x70, 0x90, + 0xc4, 0x78, 0xd0, 0xa4, 0xd9, 0x67, 0xcd, 0x9c, 0xec, 0x61, 0x60, 0x08, + 0x83, 0xd7, 0x00, 0xa5, 0xd5, 0xf8, 0xd2, 0xa5, 0x47, 0xfb, 0x3a, 0xae, + 0x9c, 0x2b, 0x64, 0x17, 0xaa, 0xef, 0x1c, 0x5c, 0x3f, 0xa6, 0x28, 0xfd, + 0x25, 0xb0, 0x12, 0x60, 0x0b, 0x78, 0xbb, 0x88, 0xed, 0xdd, 0x8c, 0x80, + 0x9c, 0x77, 0xcb, 0xfc, +}; +static const struct drbg_kat_pr_false kat2038_t = { + 12, kat2038_entropyin, kat2038_nonce, kat2038_persstr, + kat2038_entropyinreseed, kat2038_addinreseed, kat2038_addin0, + kat2038_addin1, kat2038_retbits +}; +static const struct drbg_kat kat2038 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2038_t +}; + +static const unsigned char kat2039_entropyin[] = { + 0x1b, 0x4b, 0xc0, 0x41, 0x68, 0xf2, 0x1a, 0xfa, 0x76, 0xe6, 0x5a, 0x7f, + 0x80, 0xba, 0xce, 0x5e, 0x1a, 0x28, 0x53, 0x09, 0xac, 0x93, 0x6e, 0x66, + 0x5b, 0x9a, 0x3f, 0x45, 0xd0, 0x90, 0xe3, 0x42, +}; +static const unsigned char kat2039_nonce[] = { + 0x8f, 0xb3, 0xf4, 0xa6, 0xc8, 0xef, 0x57, 0x25, 0xd0, 0xb9, 0xef, 0xdf, + 0x17, 0xf2, 0xd0, 0x2f, +}; +static const unsigned char kat2039_persstr[] = { + 0x5e, 0x7c, 0x4b, 0x72, 0x3b, 0xc8, 0xfe, 0x19, 0xc2, 0xe2, 0x49, 0xba, + 0x3e, 0x3a, 0xce, 0x3e, 0x44, 0x1b, 0xcc, 0xdd, 0x33, 0xce, 0x35, 0x3c, + 0xbd, 0xdf, 0xc2, 0xe2, 0x6e, 0x81, 0xd8, 0xe8, +}; +static const unsigned char kat2039_entropyinreseed[] = { + 0x1d, 0x8f, 0xbf, 0xa1, 0xe8, 0x32, 0xd3, 0x0a, 0x9c, 0x9c, 0xf7, 0x8f, + 0x6e, 0x01, 0x46, 0xcd, 0x5d, 0xc7, 0xec, 0x01, 0xc4, 0x45, 0xad, 0xa4, + 0x32, 0xc7, 0x6a, 0x79, 0xa3, 0x03, 0xd3, 0x70, +}; +static const unsigned char kat2039_addinreseed[] = { + 0x51, 0x9e, 0x20, 0x10, 0x2d, 0x03, 0x10, 0xd7, 0x7d, 0x2a, 0xca, 0x93, + 0xb8, 0xb9, 0x20, 0x37, 0x05, 0x6c, 0xbc, 0x0a, 0x9e, 0xb2, 0x5f, 0xd3, + 0xd0, 0xf2, 0x3a, 0x94, 0x79, 0xba, 0x44, 0x1c, +}; +static const unsigned char kat2039_addin0[] = { + 0x94, 0x63, 0x3d, 0xd0, 0xc6, 0xf3, 0x37, 0xde, 0xbf, 0xc2, 0x18, 0xc5, + 0x96, 0x0f, 0x71, 0x6d, 0x5d, 0x42, 0xcf, 0x01, 0xb7, 0x96, 0x8d, 0x7d, + 0x9e, 0x50, 0xd8, 0x3c, 0xc3, 0x5b, 0xdc, 0x71, +}; +static const unsigned char kat2039_addin1[] = { + 0xf1, 0xe7, 0x0c, 0x21, 0x24, 0xec, 0x84, 0xf1, 0xe3, 0x22, 0x29, 0x44, + 0x17, 0x7d, 0xd7, 0xee, 0x74, 0x14, 0x29, 0x4c, 0x35, 0x45, 0x6e, 0xc4, + 0x4e, 0xf0, 0xae, 0x9b, 0x03, 0x04, 0x4f, 0x63, +}; +static const unsigned char kat2039_retbits[] = { + 0x58, 0xe9, 0xe6, 0x83, 0xd1, 0xbc, 0x06, 0x4c, 0x83, 0x6e, 0x36, 0x20, + 0x15, 0xd0, 0xe8, 0x2b, 0x8c, 0xd1, 0x2e, 0xb0, 0x5c, 0x5c, 0x3f, 0x94, + 0x83, 0x2f, 0x81, 0xdf, 0xd7, 0xc0, 0x71, 0x97, 0xa3, 0xa5, 0xe1, 0xd3, + 0xc5, 0xb8, 0xbe, 0x33, 0x11, 0xc7, 0x34, 0x9e, 0x05, 0xd4, 0x68, 0x04, + 0x2e, 0x74, 0xbb, 0x51, 0xa4, 0xa3, 0x0d, 0xff, 0x94, 0x31, 0xd2, 0x7d, + 0x77, 0xb5, 0x6e, 0x6c, +}; +static const struct drbg_kat_pr_false kat2039_t = { + 13, kat2039_entropyin, kat2039_nonce, kat2039_persstr, + kat2039_entropyinreseed, kat2039_addinreseed, kat2039_addin0, + kat2039_addin1, kat2039_retbits +}; +static const struct drbg_kat kat2039 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2039_t +}; + +static const unsigned char kat2040_entropyin[] = { + 0xc1, 0x68, 0xc7, 0xc4, 0xec, 0x2a, 0xab, 0x2a, 0x43, 0xeb, 0x91, 0x06, + 0xcc, 0x7b, 0x01, 0x5b, 0x51, 0xf9, 0x63, 0xbe, 0xa7, 0x50, 0x55, 0xbd, + 0xdf, 0x30, 0x9c, 0xe4, 0xc4, 0xbd, 0xdd, 0x35, +}; +static const unsigned char kat2040_nonce[] = { + 0x78, 0x45, 0x5e, 0x64, 0x37, 0xea, 0x20, 0x65, 0x29, 0xec, 0x02, 0xca, + 0x10, 0x31, 0xe3, 0xa8, +}; +static const unsigned char kat2040_persstr[] = { + 0x2d, 0x1f, 0x73, 0x5d, 0x27, 0xa9, 0x86, 0x85, 0x59, 0x4e, 0xbd, 0x7d, + 0x1f, 0x33, 0x85, 0x19, 0xb0, 0x39, 0x81, 0xb4, 0xe9, 0x1c, 0x20, 0xa6, + 0x69, 0xdf, 0x5b, 0x06, 0x68, 0x53, 0xd3, 0xa7, +}; +static const unsigned char kat2040_entropyinreseed[] = { + 0x3f, 0x38, 0x53, 0xd3, 0xd1, 0xd6, 0x9f, 0x43, 0xc1, 0xf3, 0x31, 0xcc, + 0x06, 0x10, 0xa6, 0xd3, 0x4e, 0x52, 0x4b, 0x15, 0x1f, 0xbd, 0x07, 0x4a, + 0x2f, 0x92, 0x4e, 0x4f, 0xb7, 0x17, 0xbd, 0x62, +}; +static const unsigned char kat2040_addinreseed[] = { + 0xdb, 0xf6, 0xa2, 0xe0, 0x38, 0xcc, 0x18, 0x20, 0xe8, 0x76, 0x83, 0xa8, + 0xad, 0x6e, 0xd0, 0x05, 0xa4, 0x8b, 0x3f, 0x46, 0x08, 0x68, 0x34, 0x37, + 0x76, 0xdc, 0x76, 0xf1, 0xd7, 0x74, 0x8e, 0x00, +}; +static const unsigned char kat2040_addin0[] = { + 0x4c, 0xc2, 0x2a, 0x0b, 0x23, 0x3f, 0x31, 0x70, 0xe0, 0x19, 0x02, 0xca, + 0x80, 0x4a, 0x45, 0x16, 0x2b, 0x73, 0xf5, 0x50, 0xc1, 0x9c, 0xaf, 0x2c, + 0x97, 0x41, 0xcc, 0x25, 0x85, 0x45, 0x87, 0xd1, +}; +static const unsigned char kat2040_addin1[] = { + 0x48, 0x23, 0x8c, 0x9b, 0xe5, 0xce, 0xf5, 0x7d, 0x5b, 0x1c, 0x45, 0xa0, + 0x45, 0x6c, 0xce, 0x1e, 0x42, 0xbd, 0x45, 0x9a, 0x7a, 0xb3, 0xe3, 0x48, + 0x3b, 0xcd, 0xaf, 0xae, 0x90, 0x94, 0x1e, 0x64, +}; +static const unsigned char kat2040_retbits[] = { + 0xf2, 0xda, 0x41, 0x89, 0x06, 0x19, 0x1b, 0x76, 0xb3, 0xc5, 0xe2, 0x92, + 0x1a, 0x17, 0xe5, 0xcb, 0xf4, 0x82, 0x03, 0x69, 0xe8, 0xc8, 0xb1, 0xc2, + 0xa2, 0x66, 0x3c, 0x3f, 0xdf, 0x9d, 0x73, 0x09, 0x5b, 0xe4, 0xc5, 0x41, + 0xad, 0xd9, 0xb8, 0xdc, 0xa4, 0x4a, 0x48, 0x6c, 0x31, 0x36, 0x8b, 0x1c, + 0x64, 0xb1, 0xc3, 0xd2, 0xc5, 0xbf, 0x14, 0xf3, 0x35, 0x58, 0x41, 0x1c, + 0xca, 0x1f, 0x2c, 0xe7, +}; +static const struct drbg_kat_pr_false kat2040_t = { + 14, kat2040_entropyin, kat2040_nonce, kat2040_persstr, + kat2040_entropyinreseed, kat2040_addinreseed, kat2040_addin0, + kat2040_addin1, kat2040_retbits +}; +static const struct drbg_kat kat2040 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2040_t +}; + +static const unsigned char kat2041_entropyin[] = { + 0x83, 0x0b, 0xdf, 0xd3, 0x34, 0x86, 0xf2, 0x6f, 0x4a, 0xf9, 0xf2, 0xa6, + 0x99, 0xdb, 0x1e, 0x49, 0x65, 0x26, 0x35, 0xae, 0xd6, 0x98, 0x4e, 0x04, + 0xa0, 0xce, 0xa2, 0xc9, 0xa8, 0x7e, 0x43, 0xd2, +}; +static const unsigned char kat2041_nonce[] = { + 0x21, 0xed, 0xe5, 0xbe, 0x36, 0x40, 0x4c, 0x34, 0xb1, 0xb8, 0x5c, 0x2d, + 0x23, 0x69, 0xbf, 0x09, +}; +static const unsigned char kat2041_persstr[] = {0}; +static const unsigned char kat2041_entropyinreseed[] = { + 0x8c, 0x72, 0x19, 0x57, 0xa6, 0x30, 0x07, 0x94, 0x86, 0x2a, 0x00, 0x45, + 0x74, 0xf9, 0x8a, 0xf9, 0xbb, 0xc0, 0x74, 0xec, 0xdd, 0xe2, 0x2b, 0xec, + 0xb0, 0x81, 0xf3, 0x60, 0x53, 0x5f, 0x3f, 0x1f, +}; +static const unsigned char kat2041_addinreseed[] = {0}; +static const unsigned char kat2041_addin0[] = {0}; +static const unsigned char kat2041_addin1[] = {0}; +static const unsigned char kat2041_retbits[] = { + 0x3f, 0x63, 0xeb, 0x5d, 0xe3, 0xa1, 0x3a, 0x30, 0x97, 0xe2, 0x53, 0x99, + 0xc3, 0xd9, 0xed, 0x7d, 0x5e, 0x65, 0x91, 0x93, 0x14, 0x61, 0xa8, 0x51, + 0xba, 0x64, 0x5b, 0xcf, 0xfd, 0xd0, 0xc0, 0x7f, 0x2b, 0x71, 0xcf, 0xbb, + 0x83, 0x29, 0xbb, 0x19, 0x34, 0x97, 0x1d, 0x14, 0x03, 0xdc, 0x68, 0xca, + 0xfb, 0x0b, 0xd6, 0xca, 0x4e, 0x4a, 0x6c, 0x28, 0x97, 0x6a, 0xd5, 0xe8, + 0xbb, 0x13, 0xa3, 0x5f, +}; +static const struct drbg_kat_pr_false kat2041_t = { + 0, kat2041_entropyin, kat2041_nonce, kat2041_persstr, + kat2041_entropyinreseed, kat2041_addinreseed, kat2041_addin0, + kat2041_addin1, kat2041_retbits +}; +static const struct drbg_kat kat2041 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2041_t +}; + +static const unsigned char kat2042_entropyin[] = { + 0x06, 0x8c, 0xe2, 0x9e, 0x91, 0xfa, 0x6e, 0xbe, 0x9d, 0x39, 0xb0, 0x1e, + 0x28, 0x8f, 0xbb, 0x5c, 0x64, 0xd5, 0x30, 0x6e, 0xea, 0xe7, 0x03, 0xd3, + 0xb7, 0x4d, 0xcd, 0xcd, 0x64, 0x75, 0x7d, 0x8f, +}; +static const unsigned char kat2042_nonce[] = { + 0xc9, 0x60, 0x64, 0xd6, 0x19, 0xd4, 0xee, 0x60, 0x5d, 0xeb, 0x0c, 0xac, + 0x78, 0x02, 0x9e, 0x0c, +}; +static const unsigned char kat2042_persstr[] = {0}; +static const unsigned char kat2042_entropyinreseed[] = { + 0xa5, 0xf0, 0xc7, 0x36, 0xba, 0xc2, 0xf1, 0xe7, 0xc7, 0x55, 0x4f, 0x51, + 0xe8, 0x72, 0x79, 0xab, 0xf0, 0x1d, 0x39, 0x21, 0x3f, 0x20, 0xe3, 0x10, + 0xab, 0x45, 0xd0, 0xe0, 0x26, 0x22, 0x70, 0xfd, +}; +static const unsigned char kat2042_addinreseed[] = {0}; +static const unsigned char kat2042_addin0[] = {0}; +static const unsigned char kat2042_addin1[] = {0}; +static const unsigned char kat2042_retbits[] = { + 0x24, 0x1c, 0x13, 0xc5, 0xf1, 0x80, 0xe1, 0x73, 0x82, 0xb0, 0x32, 0x29, + 0xcb, 0x60, 0x37, 0xa2, 0x23, 0x8e, 0x65, 0x8b, 0x0b, 0xc7, 0x92, 0x73, + 0x42, 0x83, 0x3e, 0xf0, 0xb4, 0x51, 0x1b, 0xf8, 0x0d, 0x8d, 0x04, 0x04, + 0x2a, 0x71, 0x14, 0x48, 0x5b, 0x6a, 0xec, 0x34, 0x7d, 0xa8, 0x9c, 0x64, + 0xea, 0x5f, 0x7d, 0x80, 0xe8, 0xf4, 0xab, 0xb4, 0xb0, 0x54, 0xf2, 0xf0, + 0x7a, 0xc6, 0xe2, 0xee, +}; +static const struct drbg_kat_pr_false kat2042_t = { + 1, kat2042_entropyin, kat2042_nonce, kat2042_persstr, + kat2042_entropyinreseed, kat2042_addinreseed, kat2042_addin0, + kat2042_addin1, kat2042_retbits +}; +static const struct drbg_kat kat2042 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2042_t +}; + +static const unsigned char kat2043_entropyin[] = { + 0xf2, 0x2c, 0xf7, 0xcf, 0xf5, 0xc8, 0xf2, 0x5c, 0x3b, 0x15, 0xd9, 0xe6, + 0x4b, 0x72, 0x8e, 0xe8, 0xd1, 0x5c, 0xc9, 0x06, 0x37, 0xe2, 0x7b, 0x64, + 0xc4, 0x64, 0x3e, 0x46, 0xe1, 0x9a, 0xfb, 0x76, +}; +static const unsigned char kat2043_nonce[] = { + 0xae, 0xf3, 0x66, 0xb3, 0x95, 0x5f, 0x78, 0xf1, 0xcc, 0x43, 0xee, 0x00, + 0x8f, 0xc8, 0x8b, 0x7d, +}; +static const unsigned char kat2043_persstr[] = {0}; +static const unsigned char kat2043_entropyinreseed[] = { + 0x17, 0xc1, 0x95, 0x0c, 0x8f, 0x33, 0x9c, 0x84, 0x93, 0xd2, 0x29, 0x8b, + 0xb5, 0x3e, 0x14, 0x7c, 0x1b, 0xf8, 0xce, 0x8c, 0xd2, 0xd5, 0x47, 0x62, + 0x25, 0x3f, 0x90, 0xf4, 0x3f, 0xb1, 0xc2, 0x54, +}; +static const unsigned char kat2043_addinreseed[] = {0}; +static const unsigned char kat2043_addin0[] = {0}; +static const unsigned char kat2043_addin1[] = {0}; +static const unsigned char kat2043_retbits[] = { + 0xd6, 0xbb, 0x19, 0x64, 0xe6, 0x9c, 0x56, 0x12, 0xe5, 0x8b, 0xff, 0x46, + 0x60, 0xa5, 0x83, 0x67, 0x04, 0xd7, 0xf1, 0x4a, 0x3d, 0xd8, 0x3b, 0xac, + 0x42, 0x7a, 0x46, 0x4c, 0x8d, 0xcc, 0xe6, 0x08, 0x22, 0xc8, 0x57, 0xf2, + 0x80, 0xc2, 0x54, 0x0a, 0x5c, 0x43, 0x19, 0xb8, 0xf1, 0x37, 0xf8, 0xcd, + 0x5c, 0x9f, 0xb8, 0xbf, 0xa7, 0xf8, 0xea, 0x75, 0x58, 0x76, 0x95, 0xad, + 0xa3, 0xb7, 0x99, 0xbd, +}; +static const struct drbg_kat_pr_false kat2043_t = { + 2, kat2043_entropyin, kat2043_nonce, kat2043_persstr, + kat2043_entropyinreseed, kat2043_addinreseed, kat2043_addin0, + kat2043_addin1, kat2043_retbits +}; +static const struct drbg_kat kat2043 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2043_t +}; + +static const unsigned char kat2044_entropyin[] = { + 0x9a, 0xa2, 0x27, 0x51, 0x45, 0xe2, 0x52, 0xf9, 0x47, 0x1f, 0xa1, 0x39, + 0x9e, 0xea, 0xf8, 0x4a, 0x7d, 0xac, 0x15, 0x90, 0xb6, 0xc1, 0x2e, 0x71, + 0x33, 0x84, 0x39, 0x35, 0x58, 0x7e, 0xe8, 0x14, +}; +static const unsigned char kat2044_nonce[] = { + 0xe5, 0x0e, 0xfc, 0xb1, 0xa4, 0xfa, 0xc7, 0x02, 0xf2, 0x4d, 0xf5, 0x04, + 0x7e, 0xf4, 0x9d, 0x8c, +}; +static const unsigned char kat2044_persstr[] = {0}; +static const unsigned char kat2044_entropyinreseed[] = { + 0xe0, 0x5b, 0x05, 0x97, 0xbd, 0xde, 0x19, 0x98, 0xef, 0xfb, 0x97, 0x02, + 0xa2, 0x0c, 0x79, 0x2e, 0x80, 0x93, 0xc2, 0x89, 0x60, 0x07, 0xf8, 0x77, + 0x7d, 0xc5, 0x93, 0x3a, 0x6d, 0xe4, 0x9b, 0x10, +}; +static const unsigned char kat2044_addinreseed[] = {0}; +static const unsigned char kat2044_addin0[] = {0}; +static const unsigned char kat2044_addin1[] = {0}; +static const unsigned char kat2044_retbits[] = { + 0x5b, 0xa6, 0xf7, 0xb6, 0x5e, 0xc4, 0xc9, 0x5d, 0x17, 0xcd, 0x02, 0x9a, + 0xd5, 0x6a, 0x4f, 0xe2, 0x9d, 0xd7, 0x03, 0xc9, 0x33, 0x13, 0xac, 0x06, + 0x59, 0x74, 0x15, 0x59, 0x64, 0xa7, 0xb9, 0xb0, 0xfe, 0x25, 0x2b, 0xc2, + 0xe8, 0x65, 0x35, 0x2e, 0x6a, 0x4c, 0xae, 0xe0, 0x90, 0x72, 0x1a, 0x0e, + 0xee, 0x0d, 0x6a, 0x7a, 0x0f, 0xd8, 0x3c, 0x74, 0xfe, 0xb7, 0x28, 0xfd, + 0xcb, 0xca, 0x4e, 0x94, +}; +static const struct drbg_kat_pr_false kat2044_t = { + 3, kat2044_entropyin, kat2044_nonce, kat2044_persstr, + kat2044_entropyinreseed, kat2044_addinreseed, kat2044_addin0, + kat2044_addin1, kat2044_retbits +}; +static const struct drbg_kat kat2044 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2044_t +}; + +static const unsigned char kat2045_entropyin[] = { + 0xf6, 0x5e, 0xcb, 0xb2, 0x12, 0x05, 0xf1, 0x48, 0x6f, 0xd9, 0x5f, 0x77, + 0xa9, 0xac, 0xd6, 0x1a, 0x39, 0x2d, 0x9c, 0x9d, 0x80, 0xb8, 0x01, 0x0c, + 0x99, 0x89, 0xbb, 0x84, 0xae, 0x31, 0xf0, 0x64, +}; +static const unsigned char kat2045_nonce[] = { + 0x32, 0xb0, 0x43, 0x52, 0xbd, 0x34, 0x5b, 0x8e, 0x46, 0xa5, 0xb7, 0x7b, + 0x30, 0x80, 0x64, 0xb6, +}; +static const unsigned char kat2045_persstr[] = {0}; +static const unsigned char kat2045_entropyinreseed[] = { + 0x32, 0xd8, 0x61, 0xef, 0x5b, 0xcc, 0xc9, 0x0d, 0x39, 0x3c, 0xc9, 0x9b, + 0x5c, 0x45, 0x50, 0xa4, 0x1e, 0x2f, 0x0c, 0x2d, 0x23, 0x48, 0x28, 0x23, + 0x5f, 0x06, 0x24, 0x3d, 0x61, 0x26, 0xd1, 0x5b, +}; +static const unsigned char kat2045_addinreseed[] = {0}; +static const unsigned char kat2045_addin0[] = {0}; +static const unsigned char kat2045_addin1[] = {0}; +static const unsigned char kat2045_retbits[] = { + 0x52, 0x46, 0x30, 0xad, 0x63, 0xdf, 0x62, 0x94, 0xb9, 0x75, 0xd1, 0xfc, + 0xf8, 0x6b, 0x79, 0x50, 0x66, 0x97, 0xc4, 0xb7, 0x96, 0x68, 0xd3, 0x82, + 0xe7, 0xd8, 0x3e, 0x30, 0xda, 0x06, 0xac, 0xbd, 0x97, 0xe1, 0x6e, 0x25, + 0x6d, 0xf7, 0x3d, 0x68, 0x0c, 0x50, 0x44, 0xe8, 0x34, 0x3d, 0x6b, 0x88, + 0x12, 0x3c, 0x7c, 0x89, 0x48, 0x2e, 0x93, 0xef, 0x1a, 0x6c, 0x67, 0xf8, + 0x14, 0xcb, 0x99, 0x8b, +}; +static const struct drbg_kat_pr_false kat2045_t = { + 4, kat2045_entropyin, kat2045_nonce, kat2045_persstr, + kat2045_entropyinreseed, kat2045_addinreseed, kat2045_addin0, + kat2045_addin1, kat2045_retbits +}; +static const struct drbg_kat kat2045 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2045_t +}; + +static const unsigned char kat2046_entropyin[] = { + 0x3c, 0xad, 0xe5, 0x24, 0x68, 0xee, 0x03, 0x3f, 0x34, 0x0c, 0xed, 0xf2, + 0x66, 0xf6, 0x0e, 0x5d, 0xc4, 0xf4, 0x46, 0xce, 0x1c, 0x53, 0x75, 0x09, + 0xc3, 0xa2, 0x5e, 0x77, 0x6e, 0x2d, 0x05, 0x4c, +}; +static const unsigned char kat2046_nonce[] = { + 0x32, 0x5e, 0x3c, 0x6b, 0xc9, 0x0d, 0xab, 0x20, 0x17, 0x83, 0x80, 0xbc, + 0x97, 0xa9, 0x2e, 0xa3, +}; +static const unsigned char kat2046_persstr[] = {0}; +static const unsigned char kat2046_entropyinreseed[] = { + 0x6c, 0x3a, 0x92, 0x7d, 0x9f, 0x06, 0x20, 0x92, 0x6f, 0x35, 0x4f, 0x2b, + 0x91, 0x29, 0x86, 0x32, 0xbc, 0x52, 0x6b, 0x0c, 0x99, 0xf2, 0x15, 0x05, + 0x6f, 0x63, 0x1e, 0x07, 0x97, 0x26, 0xad, 0x98, +}; +static const unsigned char kat2046_addinreseed[] = {0}; +static const unsigned char kat2046_addin0[] = {0}; +static const unsigned char kat2046_addin1[] = {0}; +static const unsigned char kat2046_retbits[] = { + 0x1d, 0x2b, 0x13, 0x25, 0x16, 0x35, 0x4e, 0x9b, 0x0c, 0xbc, 0xf7, 0x88, + 0x12, 0xdd, 0xa8, 0xfd, 0xd0, 0x44, 0xaf, 0x16, 0x1c, 0x2e, 0xd5, 0x21, + 0x9d, 0xf1, 0xa4, 0xe6, 0x43, 0xda, 0xfa, 0xba, 0xd1, 0xf2, 0x32, 0x1e, + 0xd0, 0x9d, 0x68, 0x0c, 0x27, 0x8a, 0x2a, 0x6d, 0xad, 0xfb, 0x5a, 0x5c, + 0x9c, 0xd3, 0x28, 0x4c, 0x7e, 0x56, 0x26, 0x2b, 0xb7, 0x07, 0x7e, 0xf7, + 0x75, 0x1c, 0xc9, 0xbf, +}; +static const struct drbg_kat_pr_false kat2046_t = { + 5, kat2046_entropyin, kat2046_nonce, kat2046_persstr, + kat2046_entropyinreseed, kat2046_addinreseed, kat2046_addin0, + kat2046_addin1, kat2046_retbits +}; +static const struct drbg_kat kat2046 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2046_t +}; + +static const unsigned char kat2047_entropyin[] = { + 0x82, 0xbc, 0xba, 0xf4, 0x30, 0x05, 0x23, 0x3f, 0x53, 0x5a, 0xb0, 0x4b, + 0xdd, 0x9e, 0xb0, 0x8f, 0x55, 0x24, 0xfb, 0x69, 0x99, 0xe9, 0xbb, 0x60, + 0xc4, 0xb9, 0x50, 0x1b, 0xb5, 0x8f, 0xaa, 0xe5, +}; +static const unsigned char kat2047_nonce[] = { + 0xb6, 0x34, 0xf1, 0x19, 0x61, 0x75, 0x33, 0x24, 0x2b, 0xc4, 0xe1, 0x0c, + 0xdc, 0x73, 0xc8, 0xcc, +}; +static const unsigned char kat2047_persstr[] = {0}; +static const unsigned char kat2047_entropyinreseed[] = { + 0xe0, 0xea, 0x05, 0x05, 0x54, 0xd4, 0xb7, 0xab, 0x4f, 0xaa, 0x51, 0xe3, + 0x84, 0xeb, 0x4a, 0x3d, 0xfc, 0xec, 0x08, 0x04, 0x8a, 0x6e, 0xaa, 0x6d, + 0x51, 0xe0, 0xfc, 0x95, 0x60, 0x43, 0xec, 0xb5, +}; +static const unsigned char kat2047_addinreseed[] = {0}; +static const unsigned char kat2047_addin0[] = {0}; +static const unsigned char kat2047_addin1[] = {0}; +static const unsigned char kat2047_retbits[] = { + 0x17, 0xae, 0xf2, 0x8a, 0x45, 0xc1, 0xeb, 0xec, 0xcf, 0xed, 0x99, 0x1f, + 0x52, 0x6e, 0x56, 0x00, 0x35, 0xd1, 0xc9, 0xe7, 0x3d, 0xe1, 0x21, 0x7c, + 0x26, 0x90, 0xe4, 0xe0, 0x1b, 0x36, 0x3c, 0x51, 0x48, 0xcc, 0xd8, 0x00, + 0x71, 0x14, 0x3f, 0xc3, 0x4d, 0xf0, 0xee, 0xc7, 0x35, 0x42, 0xd9, 0x93, + 0x7a, 0x22, 0x6b, 0x13, 0xf1, 0x6c, 0x2f, 0xce, 0xc9, 0x68, 0xa4, 0x1e, + 0xb6, 0xa5, 0x20, 0xd9, +}; +static const struct drbg_kat_pr_false kat2047_t = { + 6, kat2047_entropyin, kat2047_nonce, kat2047_persstr, + kat2047_entropyinreseed, kat2047_addinreseed, kat2047_addin0, + kat2047_addin1, kat2047_retbits +}; +static const struct drbg_kat kat2047 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2047_t +}; + +static const unsigned char kat2048_entropyin[] = { + 0xdc, 0x19, 0xdf, 0x9e, 0x97, 0x75, 0x9b, 0x82, 0x67, 0xa5, 0x50, 0xed, + 0xdb, 0x19, 0xc9, 0xac, 0x93, 0x6e, 0x88, 0x1f, 0xe5, 0xf8, 0x07, 0xd8, + 0x1b, 0xcc, 0x91, 0x4b, 0x3c, 0x5f, 0x63, 0x89, +}; +static const unsigned char kat2048_nonce[] = { + 0x11, 0x21, 0xd9, 0x75, 0x2e, 0x5f, 0x88, 0x2a, 0x70, 0x75, 0x60, 0xbd, + 0x0a, 0x44, 0x9c, 0x59, +}; +static const unsigned char kat2048_persstr[] = {0}; +static const unsigned char kat2048_entropyinreseed[] = { + 0x1c, 0x61, 0x5c, 0xd5, 0x96, 0x22, 0xed, 0xf0, 0xe1, 0xa5, 0xbf, 0xda, + 0xbd, 0x4c, 0x39, 0x2e, 0x5d, 0xfd, 0xe8, 0x7d, 0xe0, 0x56, 0xab, 0x83, + 0x3f, 0xe2, 0x38, 0x54, 0xb2, 0x6f, 0x3a, 0xe4, +}; +static const unsigned char kat2048_addinreseed[] = {0}; +static const unsigned char kat2048_addin0[] = {0}; +static const unsigned char kat2048_addin1[] = {0}; +static const unsigned char kat2048_retbits[] = { + 0x62, 0xd4, 0x66, 0xee, 0x59, 0x0a, 0x6c, 0x77, 0x27, 0x9f, 0xd8, 0x1c, + 0x63, 0x7d, 0x0c, 0x13, 0xb6, 0xca, 0x88, 0x6e, 0x7d, 0xd5, 0x38, 0x0d, + 0x55, 0x86, 0x42, 0x8b, 0x40, 0xa6, 0x36, 0x58, 0x17, 0x52, 0x45, 0x8a, + 0xda, 0xc6, 0x02, 0x4c, 0xc6, 0x3d, 0x51, 0x24, 0xb7, 0xf5, 0x40, 0x0b, + 0x3d, 0x25, 0x4e, 0x4d, 0xdb, 0xbd, 0x48, 0xd2, 0x04, 0x87, 0x89, 0xca, + 0x0e, 0x46, 0x4f, 0x9c, +}; +static const struct drbg_kat_pr_false kat2048_t = { + 7, kat2048_entropyin, kat2048_nonce, kat2048_persstr, + kat2048_entropyinreseed, kat2048_addinreseed, kat2048_addin0, + kat2048_addin1, kat2048_retbits +}; +static const struct drbg_kat kat2048 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2048_t +}; + +static const unsigned char kat2049_entropyin[] = { + 0x00, 0x62, 0x44, 0x33, 0x85, 0xcd, 0xb8, 0xbc, 0xae, 0xd2, 0x7a, 0xc3, + 0xef, 0x50, 0xa9, 0x8d, 0x93, 0x46, 0xff, 0x59, 0xf5, 0xe2, 0x24, 0x2a, + 0x2d, 0x01, 0x65, 0xd3, 0xa7, 0x8a, 0xab, 0x58, +}; +static const unsigned char kat2049_nonce[] = { + 0x44, 0x8c, 0x17, 0x4e, 0x31, 0x66, 0x38, 0xea, 0xfa, 0x0b, 0xcc, 0x35, + 0xfd, 0x5c, 0x59, 0x9d, +}; +static const unsigned char kat2049_persstr[] = {0}; +static const unsigned char kat2049_entropyinreseed[] = { + 0xec, 0xe3, 0xf6, 0x5e, 0x9e, 0xe3, 0x87, 0x5b, 0xac, 0x85, 0x2c, 0xc6, + 0x8a, 0x81, 0x72, 0xbd, 0x02, 0xf3, 0xd7, 0x0c, 0xf7, 0x86, 0x07, 0xed, + 0xd3, 0xc0, 0x68, 0x69, 0x06, 0xdf, 0xbf, 0x7c, +}; +static const unsigned char kat2049_addinreseed[] = {0}; +static const unsigned char kat2049_addin0[] = {0}; +static const unsigned char kat2049_addin1[] = {0}; +static const unsigned char kat2049_retbits[] = { + 0xd6, 0xe0, 0xcb, 0x06, 0x2c, 0xa6, 0xf8, 0xce, 0xaf, 0x32, 0x80, 0xd9, + 0x18, 0x06, 0x21, 0x68, 0xdf, 0x79, 0xc3, 0xa2, 0xa9, 0x28, 0x17, 0xbe, + 0x76, 0x57, 0x3f, 0x19, 0xb2, 0xd5, 0x15, 0x15, 0xee, 0x20, 0x70, 0xa7, + 0x87, 0x01, 0xac, 0x41, 0x41, 0x9c, 0x7a, 0xf1, 0xf6, 0xd3, 0xb5, 0xcc, + 0x3f, 0x7b, 0xc0, 0xf3, 0xc0, 0xcb, 0xe3, 0x7c, 0x9c, 0x68, 0x25, 0x8a, + 0xbf, 0x2b, 0x2b, 0x2c, +}; +static const struct drbg_kat_pr_false kat2049_t = { + 8, kat2049_entropyin, kat2049_nonce, kat2049_persstr, + kat2049_entropyinreseed, kat2049_addinreseed, kat2049_addin0, + kat2049_addin1, kat2049_retbits +}; +static const struct drbg_kat kat2049 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2049_t +}; + +static const unsigned char kat2050_entropyin[] = { + 0xf9, 0xa0, 0x99, 0x20, 0x37, 0x17, 0x0c, 0xb0, 0xfc, 0xa1, 0x69, 0x74, + 0x2b, 0x0c, 0x7d, 0xe2, 0xee, 0x80, 0x7b, 0x13, 0x70, 0x1b, 0x29, 0xd4, + 0xe4, 0x9d, 0xa0, 0x4a, 0x00, 0xf2, 0x04, 0xbe, +}; +static const unsigned char kat2050_nonce[] = { + 0x97, 0x86, 0x9e, 0xd7, 0x96, 0xb0, 0x3c, 0xf4, 0xae, 0xf0, 0x00, 0xff, + 0x75, 0x0a, 0x17, 0xaa, +}; +static const unsigned char kat2050_persstr[] = {0}; +static const unsigned char kat2050_entropyinreseed[] = { + 0x3a, 0x22, 0x1b, 0x7c, 0xda, 0x67, 0xd6, 0x4a, 0xfc, 0xdb, 0xb1, 0x63, + 0xf2, 0x0d, 0xb4, 0x58, 0x4a, 0x39, 0xa0, 0xda, 0x8a, 0x70, 0x75, 0x6f, + 0xb2, 0x49, 0xfd, 0x16, 0xfe, 0x96, 0x0a, 0xee, +}; +static const unsigned char kat2050_addinreseed[] = {0}; +static const unsigned char kat2050_addin0[] = {0}; +static const unsigned char kat2050_addin1[] = {0}; +static const unsigned char kat2050_retbits[] = { + 0x92, 0x3b, 0x15, 0xe4, 0xf6, 0x3d, 0x08, 0x4c, 0x59, 0x93, 0xca, 0x72, + 0x02, 0xf0, 0x75, 0x4d, 0xa8, 0x29, 0xa0, 0xea, 0x42, 0x63, 0x77, 0x19, + 0x7a, 0x4c, 0xbd, 0xff, 0xf4, 0x9e, 0xff, 0x86, 0x51, 0x5e, 0xbb, 0xa8, + 0x39, 0xdc, 0x3f, 0xa7, 0xa7, 0x2b, 0xe7, 0x9f, 0xdf, 0xe1, 0x82, 0xc7, + 0xc0, 0x8a, 0xa8, 0x3f, 0xc0, 0x26, 0xf8, 0x8e, 0x20, 0x6c, 0x7b, 0x19, + 0x4d, 0x2f, 0x3e, 0xc5, +}; +static const struct drbg_kat_pr_false kat2050_t = { + 9, kat2050_entropyin, kat2050_nonce, kat2050_persstr, + kat2050_entropyinreseed, kat2050_addinreseed, kat2050_addin0, + kat2050_addin1, kat2050_retbits +}; +static const struct drbg_kat kat2050 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2050_t +}; + +static const unsigned char kat2051_entropyin[] = { + 0x2c, 0x9d, 0x39, 0x34, 0xfd, 0x01, 0x41, 0x88, 0x57, 0xc6, 0x9a, 0xa5, + 0xe6, 0x50, 0xe6, 0x6c, 0x27, 0x78, 0xc8, 0xe3, 0xc0, 0xd6, 0x18, 0x01, + 0x46, 0x52, 0x85, 0x07, 0x2a, 0x6c, 0x96, 0x28, +}; +static const unsigned char kat2051_nonce[] = { + 0xc5, 0xb5, 0x06, 0x5f, 0x97, 0x97, 0x1e, 0x1f, 0x8d, 0x8f, 0x90, 0x70, + 0xc6, 0xc1, 0x8c, 0xbf, +}; +static const unsigned char kat2051_persstr[] = {0}; +static const unsigned char kat2051_entropyinreseed[] = { + 0x85, 0x50, 0xde, 0xa0, 0x8a, 0x70, 0x96, 0x5d, 0xdb, 0xac, 0x46, 0xd1, + 0x2f, 0x34, 0x45, 0xd1, 0xfb, 0xf3, 0xfc, 0xce, 0x23, 0x3f, 0x54, 0x0b, + 0x23, 0x49, 0x4b, 0x24, 0xb8, 0x78, 0xad, 0x03, +}; +static const unsigned char kat2051_addinreseed[] = {0}; +static const unsigned char kat2051_addin0[] = {0}; +static const unsigned char kat2051_addin1[] = {0}; +static const unsigned char kat2051_retbits[] = { + 0xda, 0x8c, 0x3b, 0x43, 0xdc, 0xd7, 0xd3, 0x93, 0xb6, 0x9e, 0x4d, 0x02, + 0x3e, 0xf0, 0xee, 0x57, 0xa4, 0x97, 0x52, 0xcb, 0x16, 0xef, 0x4f, 0xaf, + 0x84, 0x48, 0xac, 0x67, 0x4a, 0xac, 0x9c, 0xc3, 0xc4, 0x38, 0xb9, 0x8a, + 0x8a, 0x6a, 0xdd, 0x54, 0xf5, 0x09, 0xbd, 0x76, 0x3e, 0x47, 0xd7, 0xa2, + 0xeb, 0x52, 0x54, 0x00, 0x9f, 0x69, 0x52, 0xd3, 0x8e, 0x2b, 0xb6, 0xe0, + 0x5d, 0xc5, 0xa9, 0x72, +}; +static const struct drbg_kat_pr_false kat2051_t = { + 10, kat2051_entropyin, kat2051_nonce, kat2051_persstr, + kat2051_entropyinreseed, kat2051_addinreseed, kat2051_addin0, + kat2051_addin1, kat2051_retbits +}; +static const struct drbg_kat kat2051 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2051_t +}; + +static const unsigned char kat2052_entropyin[] = { + 0xe6, 0xa5, 0x84, 0x3f, 0x49, 0xe0, 0xa8, 0x37, 0xbd, 0xf2, 0x16, 0xe0, + 0x64, 0x4c, 0x89, 0x02, 0xef, 0xfd, 0x8c, 0x69, 0x22, 0xd3, 0x0e, 0xba, + 0x8d, 0xa3, 0xfd, 0x45, 0x37, 0x57, 0x8e, 0x8c, +}; +static const unsigned char kat2052_nonce[] = { + 0xd8, 0x7b, 0x4c, 0xe9, 0x48, 0x9a, 0xa9, 0xb6, 0xd1, 0x83, 0x7d, 0x9c, + 0x72, 0xae, 0x98, 0x69, +}; +static const unsigned char kat2052_persstr[] = {0}; +static const unsigned char kat2052_entropyinreseed[] = { + 0xa9, 0x0e, 0x89, 0xfd, 0x52, 0xd9, 0x74, 0xd8, 0x6c, 0x39, 0xe8, 0xd5, + 0x04, 0xa6, 0x1a, 0x17, 0xeb, 0x08, 0xd3, 0xd8, 0x9d, 0x97, 0xbc, 0x4f, + 0x18, 0xde, 0x4a, 0xe2, 0x87, 0x95, 0x75, 0x7f, +}; +static const unsigned char kat2052_addinreseed[] = {0}; +static const unsigned char kat2052_addin0[] = {0}; +static const unsigned char kat2052_addin1[] = {0}; +static const unsigned char kat2052_retbits[] = { + 0x95, 0x19, 0x15, 0x4b, 0x87, 0xb2, 0xc9, 0xac, 0x7b, 0xe1, 0xe1, 0xea, + 0x12, 0xd5, 0x52, 0x5d, 0x8e, 0x00, 0xe2, 0x5b, 0x05, 0x28, 0xbf, 0xa0, + 0x85, 0x2e, 0x45, 0xe8, 0x90, 0x19, 0x7d, 0xcf, 0x3a, 0xba, 0x65, 0xe2, + 0x81, 0x2a, 0x42, 0xe3, 0xe9, 0x25, 0xe2, 0xd8, 0x75, 0x0c, 0xe5, 0x96, + 0x54, 0xc0, 0x43, 0xcd, 0xd3, 0xa6, 0xc9, 0x2d, 0x09, 0x14, 0xd0, 0x30, + 0xce, 0x87, 0xa4, 0x39, +}; +static const struct drbg_kat_pr_false kat2052_t = { + 11, kat2052_entropyin, kat2052_nonce, kat2052_persstr, + kat2052_entropyinreseed, kat2052_addinreseed, kat2052_addin0, + kat2052_addin1, kat2052_retbits +}; +static const struct drbg_kat kat2052 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2052_t +}; + +static const unsigned char kat2053_entropyin[] = { + 0xaa, 0xd6, 0xe7, 0x13, 0x43, 0x3a, 0x4c, 0xce, 0x72, 0x95, 0x8b, 0x1c, + 0x69, 0xe2, 0x2e, 0x67, 0xeb, 0xf0, 0xde, 0xe5, 0x02, 0xab, 0xb5, 0xce, + 0x6b, 0x2a, 0x5a, 0xb3, 0x5c, 0x0c, 0xef, 0x2c, +}; +static const unsigned char kat2053_nonce[] = { + 0x63, 0x01, 0xb4, 0x1a, 0x2c, 0x28, 0xb3, 0x0c, 0xd3, 0x57, 0xf0, 0x89, + 0x00, 0xd6, 0xca, 0x75, +}; +static const unsigned char kat2053_persstr[] = {0}; +static const unsigned char kat2053_entropyinreseed[] = { + 0xa9, 0xdd, 0xda, 0xa0, 0x88, 0x28, 0x92, 0x41, 0xf6, 0x5f, 0xa8, 0x0a, + 0xc6, 0x11, 0x59, 0x79, 0x60, 0x27, 0x98, 0x56, 0x89, 0x56, 0xf1, 0xbb, + 0x09, 0x34, 0x0d, 0x78, 0x78, 0x6c, 0xe3, 0xe8, +}; +static const unsigned char kat2053_addinreseed[] = {0}; +static const unsigned char kat2053_addin0[] = {0}; +static const unsigned char kat2053_addin1[] = {0}; +static const unsigned char kat2053_retbits[] = { + 0xe8, 0xd4, 0x9d, 0xba, 0xd6, 0xe0, 0x89, 0xad, 0x08, 0x44, 0x1a, 0x10, + 0x5a, 0xd8, 0x90, 0x16, 0xfb, 0x03, 0x61, 0xad, 0x1b, 0x6d, 0xfb, 0x83, + 0x5b, 0x22, 0x83, 0x6e, 0x51, 0x31, 0xe8, 0xa2, 0xc4, 0xbb, 0x2c, 0xee, + 0x2a, 0x45, 0xe8, 0x18, 0x17, 0x72, 0x19, 0x4c, 0x29, 0xa8, 0x2a, 0x89, + 0x05, 0x4d, 0xf7, 0x0d, 0x97, 0x01, 0xd2, 0x77, 0xbe, 0xaf, 0xc8, 0x55, + 0x3c, 0x21, 0x02, 0x58, +}; +static const struct drbg_kat_pr_false kat2053_t = { + 12, kat2053_entropyin, kat2053_nonce, kat2053_persstr, + kat2053_entropyinreseed, kat2053_addinreseed, kat2053_addin0, + kat2053_addin1, kat2053_retbits +}; +static const struct drbg_kat kat2053 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2053_t +}; + +static const unsigned char kat2054_entropyin[] = { + 0x74, 0x9f, 0xad, 0x3e, 0xdf, 0x12, 0x0a, 0x72, 0x68, 0x1e, 0x67, 0x8b, + 0x5d, 0x68, 0x36, 0xa7, 0x3e, 0xd7, 0x36, 0x12, 0xad, 0x1b, 0x37, 0x57, + 0xbb, 0x00, 0x54, 0xf7, 0x61, 0xf2, 0x11, 0xe9, +}; +static const unsigned char kat2054_nonce[] = { + 0xcc, 0x84, 0xac, 0xb7, 0xc6, 0x87, 0x63, 0x6c, 0x1e, 0xb7, 0x70, 0x1e, + 0x6d, 0x45, 0x69, 0x1c, +}; +static const unsigned char kat2054_persstr[] = {0}; +static const unsigned char kat2054_entropyinreseed[] = { + 0x46, 0x8e, 0xce, 0x07, 0x20, 0x44, 0x91, 0x93, 0xfd, 0xbe, 0xe2, 0x3d, + 0xc5, 0xb2, 0x46, 0x32, 0x77, 0x0c, 0x44, 0x48, 0x5b, 0x2b, 0xc1, 0x9a, + 0x2d, 0xc4, 0xe2, 0xed, 0x3a, 0x45, 0xc9, 0x35, +}; +static const unsigned char kat2054_addinreseed[] = {0}; +static const unsigned char kat2054_addin0[] = {0}; +static const unsigned char kat2054_addin1[] = {0}; +static const unsigned char kat2054_retbits[] = { + 0xd5, 0x0e, 0x34, 0x7e, 0x74, 0x59, 0x8e, 0xe3, 0xb2, 0x79, 0xeb, 0x7f, + 0x6b, 0xe7, 0x83, 0x49, 0x46, 0xe5, 0x44, 0x96, 0xce, 0x0c, 0x09, 0x1a, + 0xf1, 0x50, 0x1a, 0x30, 0xc6, 0x07, 0x3f, 0xfd, 0xfd, 0x42, 0xc5, 0x5f, + 0x20, 0x94, 0xc8, 0x16, 0x07, 0x1a, 0xf6, 0x63, 0xda, 0xf3, 0x8c, 0xf4, + 0x51, 0x5c, 0x4b, 0xb9, 0xa0, 0xd1, 0x5a, 0x0f, 0x95, 0x77, 0x09, 0xad, + 0x84, 0x08, 0x61, 0x69, +}; +static const struct drbg_kat_pr_false kat2054_t = { + 13, kat2054_entropyin, kat2054_nonce, kat2054_persstr, + kat2054_entropyinreseed, kat2054_addinreseed, kat2054_addin0, + kat2054_addin1, kat2054_retbits +}; +static const struct drbg_kat kat2054 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2054_t +}; + +static const unsigned char kat2055_entropyin[] = { + 0xae, 0x8d, 0xa9, 0x6f, 0x3d, 0x66, 0x24, 0x3a, 0x89, 0xff, 0x45, 0x46, + 0x76, 0xd9, 0xbd, 0xa5, 0xa3, 0x9d, 0xad, 0xc7, 0x23, 0xb1, 0x19, 0xb4, + 0x8a, 0x03, 0xb7, 0xcd, 0x9d, 0xa5, 0xb0, 0x2e, +}; +static const unsigned char kat2055_nonce[] = { + 0xbc, 0xd1, 0xd6, 0x43, 0x68, 0x0b, 0x50, 0xf1, 0x92, 0x05, 0x13, 0xbb, + 0xaf, 0xd3, 0x8b, 0x01, +}; +static const unsigned char kat2055_persstr[] = {0}; +static const unsigned char kat2055_entropyinreseed[] = { + 0xd2, 0x96, 0xa0, 0xab, 0x1d, 0xf8, 0x8a, 0x37, 0x54, 0x2a, 0x51, 0x21, + 0xa4, 0x74, 0x09, 0xd5, 0xe2, 0x0c, 0x48, 0xf4, 0x8e, 0x3a, 0xc4, 0x08, + 0xd8, 0xa4, 0x92, 0xf7, 0xcc, 0x21, 0xf2, 0x82, +}; +static const unsigned char kat2055_addinreseed[] = {0}; +static const unsigned char kat2055_addin0[] = {0}; +static const unsigned char kat2055_addin1[] = {0}; +static const unsigned char kat2055_retbits[] = { + 0x5f, 0xc1, 0xdb, 0xe6, 0x7e, 0x39, 0x6a, 0xed, 0x1d, 0x04, 0x1e, 0xed, + 0x15, 0x73, 0x2a, 0x80, 0xcb, 0x3f, 0x50, 0x82, 0x9b, 0xdc, 0x54, 0x9c, + 0x79, 0x59, 0xf2, 0x6e, 0xd6, 0x6a, 0xd4, 0x07, 0xfa, 0x93, 0x98, 0xa5, + 0x8c, 0x7b, 0xf3, 0x25, 0x71, 0x04, 0xe1, 0x69, 0xae, 0x6f, 0xb5, 0xdc, + 0x18, 0xf0, 0xa1, 0x85, 0xa8, 0xba, 0xa7, 0x44, 0xda, 0xc4, 0xa1, 0x14, + 0xe1, 0x6f, 0x11, 0x1a, +}; +static const struct drbg_kat_pr_false kat2055_t = { + 14, kat2055_entropyin, kat2055_nonce, kat2055_persstr, + kat2055_entropyinreseed, kat2055_addinreseed, kat2055_addin0, + kat2055_addin1, kat2055_retbits +}; +static const struct drbg_kat kat2055 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2055_t +}; + +static const unsigned char kat2056_entropyin[] = { + 0x9f, 0x07, 0x35, 0x80, 0x36, 0x8a, 0xb5, 0xed, 0xea, 0x6d, 0x6d, 0x66, + 0x7b, 0xfc, 0xf3, 0x6a, 0x01, 0x05, 0x98, 0x2d, 0x53, 0xc7, 0xb7, 0xb0, + 0x55, 0x75, 0x96, 0x4b, 0x9f, 0x32, 0xfd, 0xd6, +}; +static const unsigned char kat2056_nonce[] = { + 0x4a, 0x08, 0xd6, 0xe7, 0xb5, 0x3d, 0x78, 0x29, 0x26, 0x6f, 0xd8, 0x49, + 0xaa, 0x2d, 0x57, 0x6e, +}; +static const unsigned char kat2056_persstr[] = {0}; +static const unsigned char kat2056_entropyinreseed[] = { + 0x09, 0xc1, 0x18, 0x34, 0xd1, 0xa2, 0x73, 0xd5, 0xc5, 0xd1, 0x2a, 0xc7, + 0x1c, 0x11, 0xff, 0x0d, 0xae, 0xd3, 0xb5, 0x20, 0xd6, 0x2b, 0x80, 0x41, + 0xcd, 0x60, 0x8b, 0xa7, 0x85, 0x3a, 0xc1, 0xa3, +}; +static const unsigned char kat2056_addinreseed[] = { + 0xe2, 0x44, 0x26, 0xc1, 0x59, 0xbd, 0xe6, 0xe1, 0xf0, 0xc1, 0xed, 0x20, + 0xaf, 0x18, 0x9f, 0x15, 0x52, 0x60, 0xa8, 0xf2, 0x0a, 0x02, 0xda, 0x69, + 0x3d, 0xf3, 0x3a, 0xda, 0x4a, 0xba, 0x5c, 0x32, +}; +static const unsigned char kat2056_addin0[] = { + 0x90, 0x55, 0xb0, 0x15, 0xae, 0xed, 0x80, 0xa3, 0xed, 0xd5, 0x22, 0x6c, + 0x64, 0x33, 0x1f, 0xd0, 0xa6, 0x5f, 0x82, 0xe7, 0x81, 0xde, 0xdc, 0x03, + 0x45, 0x3f, 0x5d, 0xcb, 0xb1, 0xa2, 0x70, 0x32, +}; +static const unsigned char kat2056_addin1[] = { + 0xb6, 0x34, 0x35, 0x3f, 0x5b, 0x71, 0x3e, 0x1c, 0xe0, 0x77, 0x8a, 0x6a, + 0x19, 0x32, 0x5a, 0x1a, 0x1d, 0xeb, 0x02, 0xbc, 0xf1, 0xcc, 0xf1, 0xde, + 0x5c, 0x2c, 0x2c, 0xb6, 0xd4, 0x69, 0xe4, 0x2f, +}; +static const unsigned char kat2056_retbits[] = { + 0x43, 0xe7, 0xe6, 0x2f, 0xfa, 0x98, 0xf4, 0x36, 0xef, 0xa3, 0x4b, 0x1f, + 0xe0, 0xe4, 0xe6, 0x33, 0xbd, 0xfe, 0x10, 0xfd, 0x20, 0xa2, 0xab, 0x1c, + 0x6f, 0x7d, 0x8f, 0x5c, 0xa5, 0x51, 0xdc, 0xd1, 0x4a, 0x8b, 0x96, 0x96, + 0xe5, 0x49, 0xb4, 0xe6, 0xfe, 0xe4, 0xc6, 0xd6, 0x9a, 0x89, 0x0c, 0x6a, + 0xa4, 0x24, 0x68, 0xda, 0xd9, 0xc5, 0x66, 0xaa, 0xaf, 0x16, 0x4a, 0x9c, + 0x81, 0x98, 0x3f, 0x11, +}; +static const struct drbg_kat_pr_false kat2056_t = { + 0, kat2056_entropyin, kat2056_nonce, kat2056_persstr, + kat2056_entropyinreseed, kat2056_addinreseed, kat2056_addin0, + kat2056_addin1, kat2056_retbits +}; +static const struct drbg_kat kat2056 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2056_t +}; + +static const unsigned char kat2057_entropyin[] = { + 0x74, 0x8b, 0x9b, 0xd2, 0x2e, 0x6e, 0x7c, 0x58, 0xb3, 0xbc, 0x01, 0x8f, + 0xa2, 0xae, 0xe9, 0xee, 0x34, 0x45, 0xaa, 0x05, 0x4b, 0x2a, 0x50, 0x9d, + 0xca, 0xed, 0xe5, 0x13, 0x9b, 0x3f, 0xb8, 0xd6, +}; +static const unsigned char kat2057_nonce[] = { + 0xe2, 0x04, 0xff, 0xc9, 0xbc, 0x51, 0x4c, 0x9c, 0x55, 0x66, 0x08, 0x61, + 0x17, 0x59, 0x0e, 0x4c, +}; +static const unsigned char kat2057_persstr[] = {0}; +static const unsigned char kat2057_entropyinreseed[] = { + 0x05, 0x58, 0x5a, 0x0c, 0x8e, 0xb3, 0xc7, 0x06, 0x1d, 0x24, 0xe0, 0x9a, + 0xfc, 0x84, 0x40, 0xce, 0xd5, 0xfd, 0x6e, 0x74, 0x8a, 0xff, 0x0b, 0x5e, + 0x38, 0xd7, 0xd5, 0xeb, 0x74, 0xf0, 0xdc, 0x6a, +}; +static const unsigned char kat2057_addinreseed[] = { + 0x83, 0x52, 0xd0, 0xbb, 0xcb, 0xb0, 0x26, 0x27, 0xc7, 0x11, 0x5e, 0xc7, + 0x88, 0x9e, 0x34, 0x2f, 0x6c, 0x6d, 0xd4, 0x3a, 0xa5, 0x65, 0x09, 0xc6, + 0x33, 0x7b, 0x2d, 0x88, 0x2d, 0xf6, 0xab, 0xc4, +}; +static const unsigned char kat2057_addin0[] = { + 0xd8, 0xa9, 0x8a, 0x4d, 0x9d, 0xf5, 0xa7, 0x9d, 0x17, 0x96, 0x8d, 0xbe, + 0x37, 0xea, 0xc8, 0x97, 0x29, 0xd4, 0x92, 0xa4, 0x93, 0x74, 0xf7, 0xea, + 0xf6, 0xe0, 0x3f, 0x53, 0xce, 0xae, 0xc0, 0xb7, +}; +static const unsigned char kat2057_addin1[] = { + 0x52, 0x69, 0xe1, 0x18, 0x7f, 0xf5, 0x82, 0xa5, 0xe3, 0xf6, 0x41, 0x7d, + 0x9e, 0x1a, 0xbd, 0x68, 0x9f, 0xb2, 0xa9, 0xd8, 0x28, 0xec, 0x30, 0x58, + 0xd8, 0xdc, 0x1c, 0x44, 0x4c, 0xfd, 0xf2, 0x24, +}; +static const unsigned char kat2057_retbits[] = { + 0xe4, 0xa1, 0xec, 0x1f, 0xa5, 0x73, 0x33, 0x7b, 0xca, 0x64, 0x9b, 0xbf, + 0xcd, 0xe2, 0xeb, 0x52, 0xe0, 0xbd, 0x61, 0x70, 0xc5, 0xb1, 0x29, 0x68, + 0xe3, 0x04, 0x60, 0x74, 0xaa, 0xd8, 0xa5, 0xe3, 0x3d, 0x12, 0x04, 0x68, + 0xb8, 0x6a, 0x07, 0x64, 0xa1, 0x03, 0xd8, 0x48, 0xd5, 0xa5, 0xad, 0xf6, + 0x30, 0x31, 0x5c, 0xc9, 0x14, 0x1d, 0xdc, 0x07, 0x1e, 0xde, 0x86, 0x96, + 0xc4, 0xae, 0x0c, 0x9b, +}; +static const struct drbg_kat_pr_false kat2057_t = { + 1, kat2057_entropyin, kat2057_nonce, kat2057_persstr, + kat2057_entropyinreseed, kat2057_addinreseed, kat2057_addin0, + kat2057_addin1, kat2057_retbits +}; +static const struct drbg_kat kat2057 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2057_t +}; + +static const unsigned char kat2058_entropyin[] = { + 0x95, 0x0a, 0xf3, 0xe5, 0xe5, 0x39, 0x82, 0x02, 0x7c, 0x70, 0xbe, 0xa5, + 0x53, 0x40, 0x02, 0x6b, 0x14, 0xde, 0xb0, 0x46, 0xb7, 0xb5, 0x62, 0xfc, + 0x2a, 0x70, 0x4e, 0x87, 0x44, 0x88, 0x58, 0x44, +}; +static const unsigned char kat2058_nonce[] = { + 0xe9, 0xe1, 0xe5, 0xcf, 0x21, 0xca, 0x35, 0xb5, 0xbd, 0xf0, 0x9d, 0x52, + 0xe8, 0xa2, 0x0a, 0x67, +}; +static const unsigned char kat2058_persstr[] = {0}; +static const unsigned char kat2058_entropyinreseed[] = { + 0x4f, 0xe1, 0x3c, 0x82, 0xf3, 0xfb, 0x4e, 0x9f, 0xe7, 0x65, 0xc2, 0xaf, + 0xc7, 0x7d, 0xc7, 0x60, 0x12, 0xe1, 0x51, 0x4f, 0x90, 0xc8, 0x2e, 0x83, + 0xd4, 0x8a, 0xc0, 0xa9, 0x3b, 0xbc, 0xac, 0xdf, +}; +static const unsigned char kat2058_addinreseed[] = { + 0x86, 0xe8, 0x2b, 0x15, 0x04, 0x96, 0xca, 0x2f, 0x7d, 0x10, 0x26, 0x6e, + 0x93, 0xc5, 0x34, 0x4c, 0x7b, 0xc2, 0x7e, 0x3d, 0x94, 0xa6, 0xe2, 0x30, + 0xdb, 0xa8, 0x04, 0x40, 0x05, 0x44, 0x5a, 0x59, +}; +static const unsigned char kat2058_addin0[] = { + 0x2a, 0x48, 0xd7, 0xa7, 0xb6, 0x51, 0x53, 0x52, 0x46, 0x81, 0x96, 0xa8, + 0x8c, 0x4b, 0x01, 0x5c, 0x57, 0x54, 0x4c, 0xb8, 0x33, 0x10, 0xbd, 0xec, + 0xf1, 0xa8, 0xbe, 0x5b, 0x53, 0xa4, 0x87, 0x5e, +}; +static const unsigned char kat2058_addin1[] = { + 0xe2, 0xf2, 0x0c, 0xf7, 0x0c, 0x84, 0x96, 0x59, 0xb1, 0x9f, 0x03, 0x4b, + 0x46, 0x23, 0x96, 0x35, 0xf7, 0x6c, 0x2d, 0x0c, 0x92, 0x9d, 0x2d, 0xcf, + 0xaa, 0x1e, 0x31, 0xd9, 0x45, 0xf0, 0x2b, 0xaa, +}; +static const unsigned char kat2058_retbits[] = { + 0xf1, 0x2a, 0xa1, 0x75, 0x6b, 0xdd, 0x09, 0x0b, 0x64, 0xae, 0xbf, 0x99, + 0xf8, 0x62, 0x84, 0x40, 0xdc, 0xab, 0x15, 0x91, 0xd5, 0x1c, 0xa1, 0x0f, + 0x71, 0xac, 0xf4, 0xa6, 0x07, 0x9e, 0xeb, 0xe3, 0xec, 0x50, 0x05, 0x26, + 0xbe, 0x2d, 0xbf, 0xb0, 0xfb, 0xb0, 0xd2, 0x5f, 0x61, 0xd1, 0x5f, 0xcc, + 0xcc, 0xba, 0xcd, 0x14, 0x35, 0x61, 0x91, 0x4f, 0xb9, 0x21, 0xd4, 0x34, + 0xda, 0xaa, 0x02, 0x3f, +}; +static const struct drbg_kat_pr_false kat2058_t = { + 2, kat2058_entropyin, kat2058_nonce, kat2058_persstr, + kat2058_entropyinreseed, kat2058_addinreseed, kat2058_addin0, + kat2058_addin1, kat2058_retbits +}; +static const struct drbg_kat kat2058 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2058_t +}; + +static const unsigned char kat2059_entropyin[] = { + 0x84, 0x2b, 0x5d, 0xcc, 0x51, 0x9c, 0x45, 0xe7, 0x80, 0x19, 0xc0, 0xc8, + 0xd0, 0xff, 0x9f, 0x1f, 0x89, 0xe1, 0x3b, 0x10, 0x33, 0x95, 0xc4, 0xdb, + 0x67, 0xe6, 0x56, 0xc7, 0x98, 0x00, 0x96, 0x55, +}; +static const unsigned char kat2059_nonce[] = { + 0x59, 0x87, 0x6a, 0xf4, 0x58, 0x61, 0x4e, 0x4c, 0x71, 0xe7, 0x2e, 0x16, + 0x32, 0xc2, 0xbf, 0x2e, +}; +static const unsigned char kat2059_persstr[] = {0}; +static const unsigned char kat2059_entropyinreseed[] = { + 0x5e, 0xa5, 0xba, 0xfb, 0x70, 0x5f, 0xfb, 0x0a, 0x05, 0x12, 0x38, 0xf7, + 0x80, 0xab, 0x02, 0x77, 0x93, 0xb6, 0x4a, 0x2d, 0x9d, 0xb4, 0xef, 0x15, + 0xc6, 0x50, 0x30, 0x97, 0xf8, 0xb3, 0x17, 0xa8, +}; +static const unsigned char kat2059_addinreseed[] = { + 0x1f, 0x6f, 0xce, 0x9f, 0x01, 0x00, 0x5b, 0xfc, 0x9a, 0xc5, 0x5c, 0x28, + 0x20, 0xc3, 0x26, 0xf5, 0xba, 0x8a, 0x10, 0x27, 0xaa, 0x49, 0x2a, 0x11, + 0x30, 0x6d, 0x35, 0x67, 0x1b, 0xd1, 0x5a, 0x96, +}; +static const unsigned char kat2059_addin0[] = { + 0xfd, 0xba, 0xbb, 0x5e, 0xe1, 0x36, 0x48, 0x82, 0x71, 0xfb, 0x86, 0x04, + 0x50, 0x6c, 0x59, 0xb2, 0xb1, 0xb1, 0xb0, 0xa5, 0xcb, 0xa4, 0x24, 0x1f, + 0xe9, 0xc3, 0x3d, 0x59, 0xff, 0xbe, 0xe7, 0xc6, +}; +static const unsigned char kat2059_addin1[] = { + 0xbc, 0x6c, 0x2d, 0xca, 0x4c, 0xeb, 0x01, 0x45, 0xd9, 0x68, 0xc5, 0x54, + 0xfc, 0x9d, 0xe7, 0xf0, 0x88, 0x2c, 0x92, 0x72, 0xbe, 0x9b, 0xbe, 0x76, + 0xcb, 0xed, 0xd3, 0xd7, 0x22, 0x92, 0xdb, 0x96, +}; +static const unsigned char kat2059_retbits[] = { + 0x54, 0x0d, 0xa0, 0xc1, 0xd1, 0xda, 0x6d, 0x0e, 0x7c, 0x3d, 0x1e, 0x5c, + 0x64, 0x97, 0x43, 0x92, 0x3e, 0xe9, 0x24, 0xa2, 0xa8, 0x54, 0xc2, 0x2c, + 0x03, 0x4f, 0xf5, 0x3b, 0x6c, 0x86, 0x66, 0x86, 0x3f, 0xc6, 0x39, 0xeb, + 0xe9, 0xf4, 0xde, 0x4c, 0x48, 0x61, 0x85, 0x91, 0xbc, 0x46, 0xce, 0x69, + 0x3a, 0xae, 0xcb, 0x6e, 0x9c, 0x32, 0xe8, 0x63, 0x5b, 0x25, 0x83, 0x28, + 0x5b, 0xd7, 0x91, 0x85, +}; +static const struct drbg_kat_pr_false kat2059_t = { + 3, kat2059_entropyin, kat2059_nonce, kat2059_persstr, + kat2059_entropyinreseed, kat2059_addinreseed, kat2059_addin0, + kat2059_addin1, kat2059_retbits +}; +static const struct drbg_kat kat2059 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2059_t +}; + +static const unsigned char kat2060_entropyin[] = { + 0x96, 0xcd, 0x1a, 0xc9, 0x3f, 0xbd, 0xe2, 0xce, 0x84, 0x33, 0x99, 0x2d, + 0xf6, 0x41, 0x08, 0x13, 0x89, 0x7f, 0xdd, 0x93, 0xa2, 0x6d, 0xb8, 0xe6, + 0x95, 0x53, 0x60, 0x04, 0x5c, 0xd5, 0x54, 0x70, +}; +static const unsigned char kat2060_nonce[] = { + 0x1f, 0x25, 0x82, 0x61, 0xba, 0xa3, 0x9a, 0xa3, 0xae, 0xbd, 0x7e, 0x8b, + 0x16, 0x7d, 0xd6, 0xe8, +}; +static const unsigned char kat2060_persstr[] = {0}; +static const unsigned char kat2060_entropyinreseed[] = { + 0xb7, 0x65, 0xd4, 0xdd, 0x23, 0xad, 0xcd, 0x9c, 0x5b, 0x92, 0xae, 0x10, + 0xe5, 0xf7, 0xd7, 0x2c, 0x6f, 0x28, 0x74, 0xad, 0x08, 0x05, 0xde, 0x3d, + 0x12, 0xd3, 0x18, 0xd0, 0x8c, 0x70, 0xb2, 0x98, +}; +static const unsigned char kat2060_addinreseed[] = { + 0x7b, 0x6e, 0x37, 0x90, 0x9d, 0xfd, 0xcc, 0xe4, 0xb1, 0x53, 0x56, 0xaa, + 0x4b, 0x5c, 0xca, 0x64, 0x92, 0x15, 0x70, 0x5f, 0xff, 0x00, 0xa2, 0x30, + 0xa9, 0x4a, 0xed, 0xf1, 0x6f, 0xba, 0x85, 0x8c, +}; +static const unsigned char kat2060_addin0[] = { + 0xea, 0xc7, 0x7c, 0xd7, 0xe6, 0xca, 0xbc, 0x39, 0x71, 0x09, 0xa6, 0x66, + 0x93, 0x28, 0xbb, 0x78, 0x89, 0x60, 0x41, 0xc8, 0x3b, 0x6c, 0xc6, 0xe3, + 0xf6, 0xea, 0xa6, 0xc4, 0x8b, 0x3f, 0xfb, 0xca, +}; +static const unsigned char kat2060_addin1[] = { + 0x7b, 0x08, 0xa2, 0x56, 0x54, 0x0d, 0xe3, 0xed, 0xe2, 0xa6, 0x8a, 0x88, + 0x22, 0x99, 0xd5, 0xbf, 0x7b, 0x55, 0xdc, 0xf6, 0x6b, 0x02, 0x1a, 0x44, + 0x2e, 0x11, 0x0a, 0x1b, 0xc0, 0x68, 0x8a, 0xcf, +}; +static const unsigned char kat2060_retbits[] = { + 0x39, 0xae, 0x15, 0xfd, 0x0e, 0x41, 0x67, 0x92, 0x25, 0x9c, 0x75, 0xe1, + 0x5d, 0x30, 0x5f, 0x77, 0xb0, 0x92, 0x0d, 0x99, 0x13, 0xab, 0x17, 0xd3, + 0x4f, 0x6b, 0x02, 0x5a, 0x78, 0xc9, 0xd1, 0x4c, 0x25, 0xf7, 0xbb, 0xcc, + 0x11, 0xae, 0x8f, 0x9c, 0xbd, 0xbe, 0xa4, 0x13, 0xc3, 0x32, 0xd0, 0xfa, + 0x53, 0xb5, 0x01, 0x6d, 0x62, 0xf5, 0x92, 0x51, 0x63, 0xd1, 0xf9, 0xf3, + 0xeb, 0xc3, 0x73, 0x16, +}; +static const struct drbg_kat_pr_false kat2060_t = { + 4, kat2060_entropyin, kat2060_nonce, kat2060_persstr, + kat2060_entropyinreseed, kat2060_addinreseed, kat2060_addin0, + kat2060_addin1, kat2060_retbits +}; +static const struct drbg_kat kat2060 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2060_t +}; + +static const unsigned char kat2061_entropyin[] = { + 0xbb, 0xe7, 0xca, 0xee, 0x69, 0xaf, 0xde, 0xdc, 0xa4, 0xd5, 0x65, 0xe3, + 0x52, 0xbf, 0x4a, 0x51, 0xf1, 0xd3, 0xa5, 0xae, 0x2a, 0x2d, 0x72, 0x1b, + 0x6e, 0xa4, 0x81, 0xd8, 0xc2, 0x5e, 0x11, 0x82, +}; +static const unsigned char kat2061_nonce[] = { + 0xc9, 0xe5, 0xc0, 0x75, 0xb2, 0x89, 0xb5, 0x8c, 0xbc, 0x92, 0x0f, 0xeb, + 0x99, 0x9d, 0xa9, 0xcb, +}; +static const unsigned char kat2061_persstr[] = {0}; +static const unsigned char kat2061_entropyinreseed[] = { + 0xa7, 0x51, 0xbc, 0x73, 0x73, 0xe1, 0x9c, 0xac, 0x00, 0xc7, 0x20, 0x6f, + 0x06, 0x5d, 0x70, 0xf6, 0xa3, 0xcf, 0x4a, 0xc2, 0xbd, 0x8f, 0x19, 0xa9, + 0x56, 0xed, 0x81, 0x68, 0x05, 0x40, 0x42, 0x59, +}; +static const unsigned char kat2061_addinreseed[] = { + 0xdf, 0x89, 0x4e, 0x68, 0xf6, 0x1d, 0x34, 0xae, 0x10, 0xa2, 0xdc, 0xc0, + 0xca, 0x7a, 0xe0, 0x4b, 0x41, 0xaf, 0xd7, 0xba, 0x58, 0xaa, 0xc9, 0xb2, + 0xb0, 0x81, 0x21, 0x6d, 0x21, 0x41, 0x77, 0xc4, +}; +static const unsigned char kat2061_addin0[] = { + 0x2c, 0x43, 0xa2, 0xe1, 0xaa, 0x47, 0x79, 0x99, 0x4b, 0x1b, 0x74, 0xb4, + 0x51, 0x09, 0x15, 0xda, 0xa7, 0xeb, 0x0f, 0x90, 0xbb, 0xae, 0x83, 0xb5, + 0xfd, 0xce, 0xb6, 0x7f, 0xac, 0x1e, 0x23, 0x76, +}; +static const unsigned char kat2061_addin1[] = { + 0x6a, 0x77, 0xa6, 0x8f, 0x3d, 0x07, 0x92, 0x37, 0xbc, 0x77, 0x7c, 0xf4, + 0x1c, 0x38, 0xad, 0x49, 0xc7, 0xc0, 0x05, 0x3c, 0xda, 0xdd, 0x0b, 0xb1, + 0xaa, 0x41, 0xb5, 0xd8, 0xb8, 0x1d, 0xde, 0x48, +}; +static const unsigned char kat2061_retbits[] = { + 0x34, 0xb5, 0xe2, 0x2a, 0x86, 0x24, 0x73, 0x4b, 0x7d, 0x5f, 0x6b, 0x35, + 0x93, 0x07, 0x99, 0xec, 0xeb, 0x7d, 0xbf, 0xc4, 0x69, 0x14, 0xf4, 0x79, + 0xe3, 0x4b, 0xf6, 0x4e, 0xaa, 0x15, 0x43, 0x09, 0xd8, 0x5c, 0xec, 0xa6, + 0x24, 0x1e, 0x17, 0xfd, 0xa0, 0x4f, 0x09, 0x70, 0x45, 0x7e, 0xcf, 0xd8, + 0xa9, 0xf7, 0x00, 0x30, 0x46, 0xc1, 0xbd, 0xfc, 0xe3, 0xb3, 0x11, 0xba, + 0x2e, 0xfa, 0x97, 0xa9, +}; +static const struct drbg_kat_pr_false kat2061_t = { + 5, kat2061_entropyin, kat2061_nonce, kat2061_persstr, + kat2061_entropyinreseed, kat2061_addinreseed, kat2061_addin0, + kat2061_addin1, kat2061_retbits +}; +static const struct drbg_kat kat2061 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2061_t +}; + +static const unsigned char kat2062_entropyin[] = { + 0xfb, 0x33, 0x7b, 0x69, 0xc9, 0xac, 0xe8, 0xde, 0xfa, 0xc7, 0xf6, 0x85, + 0x35, 0xcc, 0x6f, 0xee, 0x72, 0xb8, 0x0b, 0xf9, 0x1d, 0x22, 0x6a, 0x34, + 0x77, 0xb9, 0x0a, 0x0d, 0xa0, 0x2c, 0x3e, 0x71, +}; +static const unsigned char kat2062_nonce[] = { + 0x58, 0x1d, 0x7f, 0x09, 0xc1, 0x1e, 0x7c, 0x40, 0x8a, 0x99, 0x36, 0x84, + 0xe5, 0x16, 0xa3, 0x07, +}; +static const unsigned char kat2062_persstr[] = {0}; +static const unsigned char kat2062_entropyinreseed[] = { + 0xb0, 0xcb, 0x88, 0xe0, 0x7a, 0xc0, 0xa0, 0x0a, 0xe7, 0xaf, 0x46, 0x9c, + 0xb9, 0x76, 0xc1, 0x6c, 0xbc, 0x3e, 0x93, 0x11, 0xb6, 0x92, 0x7a, 0x53, + 0x74, 0xd4, 0x9a, 0x9a, 0xb7, 0x6e, 0xb8, 0xe3, +}; +static const unsigned char kat2062_addinreseed[] = { + 0xc1, 0xef, 0xdf, 0x70, 0xb2, 0x16, 0xab, 0x0f, 0xb7, 0x81, 0x4d, 0x0c, + 0x92, 0x3d, 0x26, 0x69, 0x97, 0x49, 0xf6, 0x2a, 0x72, 0x0b, 0x9b, 0xbc, + 0xdb, 0xd1, 0x47, 0x17, 0x03, 0x64, 0x50, 0x4c, +}; +static const unsigned char kat2062_addin0[] = { + 0x4f, 0x86, 0xec, 0x3b, 0x4c, 0x3b, 0x48, 0x89, 0x67, 0x17, 0x27, 0x5b, + 0x74, 0x6b, 0xe2, 0x0f, 0xcf, 0x59, 0x3f, 0x39, 0x79, 0xf4, 0xbe, 0x3b, + 0x8e, 0x16, 0xda, 0x50, 0x39, 0xcf, 0x79, 0x6e, +}; +static const unsigned char kat2062_addin1[] = { + 0x86, 0x82, 0x04, 0xde, 0x4b, 0x0d, 0xce, 0x60, 0x1b, 0x59, 0xfb, 0x69, + 0x2b, 0x08, 0x91, 0xf4, 0x4f, 0xa0, 0x8b, 0x44, 0x09, 0x02, 0x48, 0x10, + 0x9f, 0x50, 0x12, 0xfd, 0x21, 0x05, 0x63, 0x64, +}; +static const unsigned char kat2062_retbits[] = { + 0x7a, 0xee, 0x74, 0x7a, 0x7d, 0x70, 0xd2, 0x6e, 0x94, 0x2e, 0x56, 0x42, + 0x89, 0xc8, 0x40, 0x3d, 0xce, 0x2e, 0x70, 0x7d, 0xaa, 0xed, 0xf2, 0x79, + 0x46, 0x03, 0xc3, 0xbe, 0xf0, 0x35, 0xd0, 0xff, 0x14, 0xe8, 0xf6, 0x1d, + 0x12, 0x35, 0xe8, 0xf8, 0x36, 0x2d, 0x18, 0xf2, 0xc4, 0xf1, 0xe7, 0xdc, + 0xf5, 0x57, 0x77, 0x7d, 0x44, 0x42, 0xc5, 0xd5, 0xeb, 0x46, 0xe3, 0x97, + 0x56, 0xdb, 0x98, 0x6d, +}; +static const struct drbg_kat_pr_false kat2062_t = { + 6, kat2062_entropyin, kat2062_nonce, kat2062_persstr, + kat2062_entropyinreseed, kat2062_addinreseed, kat2062_addin0, + kat2062_addin1, kat2062_retbits +}; +static const struct drbg_kat kat2062 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2062_t +}; + +static const unsigned char kat2063_entropyin[] = { + 0x15, 0xb7, 0x40, 0x90, 0xb3, 0x62, 0xe9, 0xb5, 0xc8, 0xba, 0x9f, 0xb7, + 0xf9, 0x84, 0x1d, 0x60, 0x88, 0x51, 0xa9, 0xf6, 0xd7, 0x0c, 0xd0, 0x71, + 0xd3, 0x46, 0xa2, 0x7f, 0x5e, 0x1a, 0x8f, 0x95, +}; +static const unsigned char kat2063_nonce[] = { + 0xca, 0x94, 0x43, 0x3a, 0x65, 0x1a, 0x87, 0x3c, 0x10, 0xc2, 0xbc, 0x46, + 0x26, 0x84, 0x6a, 0x29, +}; +static const unsigned char kat2063_persstr[] = {0}; +static const unsigned char kat2063_entropyinreseed[] = { + 0xc8, 0x64, 0xb7, 0x86, 0xb4, 0xf7, 0xda, 0x6c, 0xe9, 0xe1, 0x15, 0x40, + 0x44, 0x76, 0x82, 0x10, 0xf6, 0xff, 0x3e, 0x6f, 0xb6, 0x7e, 0x9c, 0x1c, + 0x05, 0x99, 0x7f, 0xac, 0x3d, 0x6a, 0xed, 0x6b, +}; +static const unsigned char kat2063_addinreseed[] = { + 0xed, 0x7d, 0x93, 0x34, 0x74, 0xeb, 0xcf, 0x2d, 0x24, 0x61, 0x94, 0xb8, + 0xd9, 0xe2, 0x81, 0xa2, 0xb6, 0x5c, 0x1d, 0x4c, 0x63, 0xa4, 0x4a, 0x6b, + 0x3d, 0xdf, 0x86, 0x8e, 0x05, 0x2b, 0xdb, 0x1e, +}; +static const unsigned char kat2063_addin0[] = { + 0x58, 0xd8, 0x5c, 0x1f, 0x69, 0x76, 0x51, 0xd7, 0xe1, 0x8e, 0x90, 0x2f, + 0x71, 0x6b, 0xc3, 0xeb, 0x7c, 0xbc, 0x31, 0xb1, 0x27, 0xcd, 0x85, 0xd7, + 0x06, 0xd6, 0x99, 0xc4, 0xa4, 0x2a, 0x2d, 0x62, +}; +static const unsigned char kat2063_addin1[] = { + 0xe9, 0x16, 0x42, 0x9e, 0xd3, 0x82, 0x2a, 0xb6, 0xc8, 0x84, 0xc2, 0xcd, + 0xd5, 0xd7, 0x16, 0x13, 0xeb, 0x41, 0x03, 0x7d, 0x18, 0xe3, 0xd6, 0xa8, + 0x93, 0x35, 0x64, 0x81, 0xa1, 0x45, 0x13, 0xf8, +}; +static const unsigned char kat2063_retbits[] = { + 0xe9, 0x7f, 0x83, 0x8e, 0xef, 0x0f, 0xb6, 0xd0, 0x3c, 0xd6, 0x51, 0x0e, + 0x47, 0x17, 0x16, 0x92, 0xf4, 0x63, 0xa6, 0x9e, 0xd5, 0x62, 0x1f, 0x7c, + 0x42, 0x48, 0x39, 0x9e, 0xa7, 0x70, 0x51, 0x48, 0xea, 0x6e, 0x7c, 0x4b, + 0xf3, 0x45, 0x00, 0xda, 0x89, 0x50, 0x46, 0xe1, 0x71, 0xe5, 0x14, 0x94, + 0x1c, 0x43, 0x03, 0x0c, 0xa5, 0xdb, 0xfc, 0xc2, 0x6a, 0x3c, 0x7e, 0x5c, + 0x30, 0x56, 0x46, 0xa4, +}; +static const struct drbg_kat_pr_false kat2063_t = { + 7, kat2063_entropyin, kat2063_nonce, kat2063_persstr, + kat2063_entropyinreseed, kat2063_addinreseed, kat2063_addin0, + kat2063_addin1, kat2063_retbits +}; +static const struct drbg_kat kat2063 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2063_t +}; + +static const unsigned char kat2064_entropyin[] = { + 0x65, 0xe3, 0xdb, 0x8d, 0x0a, 0x6e, 0x3d, 0xc1, 0x28, 0x42, 0xf0, 0x55, + 0xc8, 0x0e, 0xae, 0x31, 0xf8, 0x18, 0xb1, 0xa1, 0x4d, 0x75, 0xc8, 0x71, + 0x1b, 0x8c, 0x18, 0x1d, 0x0d, 0x18, 0x74, 0x7b, +}; +static const unsigned char kat2064_nonce[] = { + 0xb7, 0x9f, 0x9c, 0xf8, 0x55, 0xe0, 0xcb, 0x6a, 0x84, 0x1c, 0x08, 0x0b, + 0xae, 0x63, 0x49, 0x76, +}; +static const unsigned char kat2064_persstr[] = {0}; +static const unsigned char kat2064_entropyinreseed[] = { + 0xd4, 0xcf, 0x11, 0x66, 0xb3, 0x38, 0xc6, 0x42, 0xd9, 0xac, 0x01, 0x38, + 0x91, 0x35, 0x20, 0x13, 0x03, 0x4f, 0xb8, 0xe7, 0x1b, 0x19, 0xf4, 0x6a, + 0x5e, 0x6b, 0xb8, 0xde, 0x03, 0x44, 0x77, 0xb0, +}; +static const unsigned char kat2064_addinreseed[] = { + 0xc4, 0x43, 0x07, 0x38, 0x7c, 0x1f, 0xf4, 0xee, 0xa1, 0x94, 0x16, 0x9b, + 0x00, 0x62, 0x42, 0x10, 0x52, 0x2d, 0xfc, 0x9a, 0x15, 0x66, 0x24, 0xe8, + 0x22, 0x5d, 0xc4, 0x95, 0x76, 0xdf, 0xc1, 0xf1, +}; +static const unsigned char kat2064_addin0[] = { + 0xe8, 0xb1, 0x0c, 0x6e, 0x30, 0xe4, 0xa2, 0xf4, 0x06, 0xd5, 0xe6, 0x5c, + 0x39, 0x7d, 0xf0, 0xde, 0x25, 0x19, 0x9a, 0x14, 0x8f, 0xe3, 0x16, 0x26, + 0x68, 0x69, 0xe9, 0xfe, 0xdc, 0x71, 0x15, 0x87, +}; +static const unsigned char kat2064_addin1[] = { + 0xb6, 0x05, 0x51, 0x59, 0x67, 0x47, 0xb7, 0xf1, 0x43, 0x91, 0xac, 0xce, + 0x63, 0xc7, 0xf1, 0xde, 0x7a, 0xa5, 0x96, 0xf6, 0x43, 0xa3, 0x6c, 0x97, + 0xc8, 0x2f, 0xbd, 0x8f, 0x34, 0x3e, 0xf7, 0x1a, +}; +static const unsigned char kat2064_retbits[] = { + 0x88, 0x6c, 0xc0, 0x6f, 0x88, 0x41, 0xb2, 0xec, 0xe3, 0x89, 0x42, 0x2c, + 0xa8, 0x8b, 0xc1, 0x56, 0xd3, 0x96, 0xa7, 0xe6, 0x2c, 0x01, 0x81, 0x80, + 0x84, 0x0a, 0xb0, 0x9b, 0x2c, 0x8b, 0x08, 0x4c, 0x0c, 0xd0, 0x63, 0xcc, + 0x27, 0x56, 0x75, 0x5c, 0x6e, 0x35, 0x0d, 0x42, 0xa7, 0xea, 0x85, 0xae, + 0x04, 0x7f, 0x4d, 0x86, 0x29, 0xbe, 0xcd, 0x70, 0x2d, 0x35, 0xcf, 0x2e, + 0xe4, 0x03, 0x9c, 0x4e, +}; +static const struct drbg_kat_pr_false kat2064_t = { + 8, kat2064_entropyin, kat2064_nonce, kat2064_persstr, + kat2064_entropyinreseed, kat2064_addinreseed, kat2064_addin0, + kat2064_addin1, kat2064_retbits +}; +static const struct drbg_kat kat2064 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2064_t +}; + +static const unsigned char kat2065_entropyin[] = { + 0xc5, 0x7b, 0x69, 0x79, 0x25, 0xa2, 0xb2, 0xca, 0x7e, 0xe1, 0x24, 0x25, + 0x2a, 0xd7, 0x5d, 0x45, 0x1a, 0x33, 0x31, 0xcd, 0xe2, 0x07, 0x8c, 0xc3, + 0x49, 0xd7, 0x3e, 0x55, 0xce, 0xc5, 0x0b, 0x86, +}; +static const unsigned char kat2065_nonce[] = { + 0x5f, 0x59, 0x31, 0x58, 0x79, 0x4c, 0x51, 0x4c, 0x7d, 0x34, 0x47, 0x87, + 0x1c, 0x8e, 0xc9, 0xef, +}; +static const unsigned char kat2065_persstr[] = {0}; +static const unsigned char kat2065_entropyinreseed[] = { + 0x71, 0x65, 0x3e, 0xbc, 0x9e, 0x18, 0xba, 0x5d, 0x3e, 0x5f, 0x0a, 0x7a, + 0xe5, 0xb3, 0x80, 0x2e, 0xc6, 0x96, 0x15, 0xa5, 0x0f, 0x3a, 0xe8, 0x70, + 0x4a, 0x8c, 0x3d, 0xac, 0xe0, 0x6d, 0x14, 0x6b, +}; +static const unsigned char kat2065_addinreseed[] = { + 0x79, 0xd9, 0x32, 0x2a, 0x06, 0xe4, 0xc6, 0x64, 0x06, 0xb3, 0x76, 0x66, + 0xd7, 0x71, 0x4c, 0x24, 0x99, 0x7d, 0xb0, 0x07, 0x55, 0x7f, 0x49, 0x07, + 0xa1, 0x80, 0x9c, 0xc7, 0x88, 0x32, 0x69, 0x78, +}; +static const unsigned char kat2065_addin0[] = { + 0x8f, 0x53, 0xc1, 0xc6, 0xa1, 0x1d, 0xfe, 0xe6, 0x52, 0x13, 0x2b, 0x86, + 0x4e, 0x47, 0x07, 0xb2, 0x23, 0x6d, 0x31, 0x5c, 0x46, 0x4f, 0xcf, 0x5e, + 0x84, 0x58, 0x72, 0x12, 0x66, 0xd1, 0x53, 0x68, +}; +static const unsigned char kat2065_addin1[] = { + 0x84, 0xc7, 0x84, 0x63, 0x7c, 0xde, 0xf2, 0x05, 0x3a, 0x2d, 0xd5, 0xdc, + 0xd6, 0xa7, 0x5e, 0xd2, 0x11, 0x92, 0x09, 0xe7, 0xda, 0x45, 0x4b, 0x1d, + 0x90, 0x22, 0xfd, 0x7e, 0xf7, 0xd4, 0x16, 0x75, +}; +static const unsigned char kat2065_retbits[] = { + 0x99, 0x0d, 0x41, 0x42, 0x1f, 0x54, 0x5a, 0x75, 0x8e, 0xe4, 0x15, 0x93, + 0x8a, 0x05, 0x07, 0x7f, 0x56, 0xab, 0x3e, 0x96, 0xf0, 0x3d, 0xb6, 0x2b, + 0x6c, 0x88, 0x5a, 0x98, 0x7b, 0x70, 0xdd, 0x2d, 0x72, 0xcc, 0xb1, 0x88, + 0x26, 0x33, 0xab, 0x8f, 0xba, 0xb7, 0x00, 0x21, 0x04, 0x1e, 0xa9, 0x4c, + 0xce, 0xd7, 0x20, 0x5b, 0x65, 0x50, 0x15, 0x6a, 0x3d, 0x73, 0x71, 0xa2, + 0x37, 0xe9, 0x01, 0x6f, +}; +static const struct drbg_kat_pr_false kat2065_t = { + 9, kat2065_entropyin, kat2065_nonce, kat2065_persstr, + kat2065_entropyinreseed, kat2065_addinreseed, kat2065_addin0, + kat2065_addin1, kat2065_retbits +}; +static const struct drbg_kat kat2065 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2065_t +}; + +static const unsigned char kat2066_entropyin[] = { + 0x3e, 0x47, 0x3c, 0x90, 0x9e, 0x54, 0xca, 0x0b, 0xef, 0x5d, 0xe8, 0x53, + 0x66, 0x4f, 0x31, 0x13, 0x82, 0xed, 0x00, 0x52, 0x26, 0x01, 0xdf, 0xea, + 0x2c, 0xa0, 0x3a, 0xcd, 0x10, 0x59, 0x3f, 0xa1, +}; +static const unsigned char kat2066_nonce[] = { + 0x5e, 0x41, 0x5a, 0x91, 0x41, 0xda, 0xb4, 0xdf, 0x17, 0x1a, 0xda, 0xd3, + 0x99, 0x79, 0x52, 0xd8, +}; +static const unsigned char kat2066_persstr[] = {0}; +static const unsigned char kat2066_entropyinreseed[] = { + 0x2e, 0x76, 0xa1, 0x86, 0x77, 0x1e, 0x1d, 0x70, 0x59, 0xc9, 0xd6, 0xdf, + 0x5a, 0xab, 0x3e, 0x30, 0x42, 0x1d, 0x34, 0xdd, 0x31, 0x8b, 0x5e, 0x1e, + 0xdd, 0x59, 0xc0, 0xc2, 0xf2, 0x10, 0x36, 0xce, +}; +static const unsigned char kat2066_addinreseed[] = { + 0x18, 0x10, 0xe5, 0xb9, 0x63, 0xdf, 0xfb, 0x7f, 0xa7, 0x7b, 0x76, 0x1b, + 0x6d, 0x3c, 0xc9, 0xca, 0xfd, 0xa7, 0xb7, 0x75, 0x10, 0xe4, 0x44, 0x57, + 0x85, 0x26, 0x89, 0x10, 0xb9, 0x95, 0xc7, 0x88, +}; +static const unsigned char kat2066_addin0[] = { + 0x0a, 0xbc, 0xce, 0x85, 0x53, 0xe1, 0x57, 0x0d, 0xa0, 0x7a, 0xd5, 0x16, + 0x5c, 0x95, 0xa7, 0x1e, 0xf0, 0xa9, 0xce, 0xe7, 0x46, 0x96, 0x39, 0x95, + 0xdc, 0x7a, 0xbb, 0x2c, 0x9b, 0x4d, 0xc5, 0x60, +}; +static const unsigned char kat2066_addin1[] = { + 0xd3, 0x9b, 0x08, 0xed, 0x9b, 0x49, 0x92, 0x1c, 0x7e, 0xc7, 0x35, 0xd1, + 0x77, 0x23, 0xd7, 0xc8, 0x47, 0xe0, 0x61, 0xcf, 0xd8, 0xc3, 0xdb, 0x4f, + 0xb9, 0x14, 0xe0, 0x9b, 0xc3, 0x98, 0x92, 0x65, +}; +static const unsigned char kat2066_retbits[] = { + 0x21, 0xd7, 0x7a, 0x37, 0x06, 0xdf, 0x28, 0x28, 0x92, 0x37, 0x30, 0x03, + 0x95, 0x4e, 0x95, 0x3c, 0xf9, 0x09, 0x1b, 0x35, 0x02, 0xb8, 0x02, 0x85, + 0x59, 0x91, 0x9d, 0x61, 0x5b, 0x74, 0x53, 0x39, 0x5e, 0x12, 0x03, 0xc9, + 0x85, 0x8c, 0x23, 0x6f, 0xf4, 0xa3, 0x9d, 0x26, 0x4d, 0xbe, 0xfa, 0xb4, + 0x8d, 0xc7, 0xb3, 0xe0, 0x83, 0xa1, 0xa2, 0x13, 0x4c, 0x1b, 0xf7, 0x05, + 0x43, 0xb8, 0x18, 0x59, +}; +static const struct drbg_kat_pr_false kat2066_t = { + 10, kat2066_entropyin, kat2066_nonce, kat2066_persstr, + kat2066_entropyinreseed, kat2066_addinreseed, kat2066_addin0, + kat2066_addin1, kat2066_retbits +}; +static const struct drbg_kat kat2066 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2066_t +}; + +static const unsigned char kat2067_entropyin[] = { + 0xd5, 0x35, 0xa0, 0x9b, 0x24, 0x05, 0xe4, 0x38, 0x8c, 0xcb, 0xd1, 0xf6, + 0x1a, 0x55, 0x18, 0xcf, 0xe9, 0xd0, 0xb3, 0x11, 0xf6, 0x41, 0xa1, 0xf2, + 0xde, 0xf7, 0x39, 0x4e, 0x7e, 0xe3, 0x89, 0x43, +}; +static const unsigned char kat2067_nonce[] = { + 0x8b, 0x07, 0x98, 0x43, 0xb5, 0x3f, 0x41, 0x5f, 0x48, 0x49, 0xb6, 0x0f, + 0x6c, 0x4b, 0x6f, 0x5b, +}; +static const unsigned char kat2067_persstr[] = {0}; +static const unsigned char kat2067_entropyinreseed[] = { + 0x40, 0xe4, 0xad, 0x89, 0x0e, 0x3a, 0xe3, 0x8b, 0x0e, 0xf0, 0xbb, 0x45, + 0x8a, 0xb5, 0x79, 0xd7, 0xd9, 0x89, 0x04, 0xc3, 0xf0, 0xf1, 0xf3, 0x2b, + 0xd2, 0x72, 0x05, 0x35, 0x5f, 0x2a, 0x0a, 0x18, +}; +static const unsigned char kat2067_addinreseed[] = { + 0x46, 0xf0, 0x5c, 0x8f, 0x15, 0xbc, 0xcf, 0x47, 0xfe, 0xa0, 0x99, 0x13, + 0x80, 0xfc, 0x40, 0x7e, 0x36, 0x7f, 0x1b, 0x11, 0xdd, 0xdf, 0xd4, 0xb3, + 0xdd, 0x0e, 0xa8, 0x61, 0x44, 0x54, 0x99, 0x8a, +}; +static const unsigned char kat2067_addin0[] = { + 0x97, 0x88, 0x1b, 0xf6, 0x3c, 0xf3, 0xe9, 0xcb, 0xef, 0xa8, 0x99, 0x96, + 0x21, 0xdd, 0x8f, 0x6f, 0x19, 0xbe, 0x23, 0x1b, 0x12, 0xe2, 0x66, 0xb7, + 0x74, 0x79, 0xd7, 0x15, 0xe7, 0x65, 0x66, 0xf2, +}; +static const unsigned char kat2067_addin1[] = { + 0x20, 0xb3, 0x20, 0xd2, 0x72, 0xe0, 0x2c, 0x04, 0xc4, 0x50, 0x2a, 0x09, + 0x4e, 0x22, 0x46, 0x2e, 0x1e, 0xa7, 0x6a, 0x81, 0x26, 0x87, 0x87, 0x15, + 0xba, 0x17, 0x41, 0x5a, 0x3b, 0x5a, 0x11, 0x16, +}; +static const unsigned char kat2067_retbits[] = { + 0x3d, 0xc4, 0x7d, 0x67, 0x86, 0xc2, 0xcc, 0x41, 0x8b, 0x6e, 0xce, 0x22, + 0xda, 0xd2, 0x1a, 0x8d, 0x75, 0x9c, 0xe7, 0xc4, 0xb1, 0x98, 0x2a, 0x78, + 0xd8, 0xb3, 0x26, 0xee, 0x72, 0x62, 0xc6, 0x4a, 0x18, 0x9f, 0x59, 0x85, + 0xe7, 0x97, 0x4f, 0x6f, 0x7c, 0x2d, 0xfc, 0x43, 0xba, 0x37, 0xa1, 0x12, + 0x63, 0x7b, 0xb9, 0xba, 0xc1, 0xf8, 0xb4, 0xe6, 0xc6, 0x24, 0x52, 0xd4, + 0x53, 0xf8, 0xa2, 0xe6, +}; +static const struct drbg_kat_pr_false kat2067_t = { + 11, kat2067_entropyin, kat2067_nonce, kat2067_persstr, + kat2067_entropyinreseed, kat2067_addinreseed, kat2067_addin0, + kat2067_addin1, kat2067_retbits +}; +static const struct drbg_kat kat2067 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2067_t +}; + +static const unsigned char kat2068_entropyin[] = { + 0x54, 0x14, 0xaa, 0x61, 0xc9, 0x9a, 0x61, 0xa8, 0x37, 0x95, 0x7d, 0x4e, + 0x48, 0x34, 0xaf, 0x5a, 0x1f, 0xa1, 0xaf, 0x06, 0x47, 0x3b, 0x2a, 0x00, + 0x92, 0xe8, 0x64, 0x37, 0x7b, 0xa6, 0x0b, 0x37, +}; +static const unsigned char kat2068_nonce[] = { + 0x21, 0xdc, 0x0a, 0xc4, 0x8c, 0x7c, 0xbb, 0x74, 0x97, 0x01, 0x08, 0x35, + 0xfc, 0xc6, 0xfa, 0x0e, +}; +static const unsigned char kat2068_persstr[] = {0}; +static const unsigned char kat2068_entropyinreseed[] = { + 0x88, 0x07, 0x2a, 0xf8, 0xd0, 0x67, 0xfc, 0x9f, 0x63, 0x73, 0x1a, 0x62, + 0x41, 0x3c, 0x3a, 0xaf, 0x44, 0xb4, 0xb6, 0x80, 0x12, 0x06, 0x15, 0x60, + 0x75, 0xdf, 0xc9, 0x0b, 0x0a, 0xc9, 0xfe, 0x91, +}; +static const unsigned char kat2068_addinreseed[] = { + 0x96, 0x65, 0x1f, 0xd4, 0x55, 0x51, 0x62, 0x49, 0x49, 0x26, 0xbd, 0x86, + 0x5a, 0xfc, 0x18, 0x6b, 0x4e, 0x9a, 0x93, 0x85, 0x2f, 0x7c, 0x9a, 0xb4, + 0xf7, 0x59, 0x96, 0x27, 0xaa, 0x96, 0x37, 0x74, +}; +static const unsigned char kat2068_addin0[] = { + 0xb3, 0x1b, 0x15, 0x2f, 0x87, 0x7b, 0xfd, 0x3d, 0xbe, 0x55, 0x16, 0x56, + 0x7d, 0x78, 0xe1, 0x48, 0x81, 0x94, 0x8a, 0x60, 0x56, 0x0e, 0xf7, 0xc3, + 0xdd, 0x6c, 0x48, 0xe4, 0x5a, 0xf6, 0x17, 0x63, +}; +static const unsigned char kat2068_addin1[] = { + 0xaa, 0xfa, 0xb7, 0x76, 0x9b, 0x57, 0x80, 0x5f, 0xef, 0x54, 0x8d, 0x32, + 0xed, 0x95, 0xe7, 0x0a, 0x94, 0x19, 0x0c, 0xca, 0x0c, 0xb9, 0x90, 0xf6, + 0xbc, 0xb5, 0xbe, 0x52, 0x0f, 0x8a, 0xd7, 0xdd, +}; +static const unsigned char kat2068_retbits[] = { + 0x43, 0x15, 0xad, 0x17, 0x9d, 0x6a, 0x54, 0xef, 0xa9, 0xa2, 0x43, 0x8d, + 0x46, 0x02, 0x9f, 0x9d, 0xf5, 0x22, 0x09, 0x0b, 0xdb, 0x69, 0xa3, 0x51, + 0x91, 0x56, 0x1d, 0xe0, 0x00, 0x5f, 0xc7, 0xf0, 0x74, 0xed, 0xc4, 0x5d, + 0x54, 0x4b, 0xa3, 0x61, 0xcf, 0x37, 0xac, 0x94, 0xa9, 0xf9, 0xed, 0xdb, + 0x9e, 0x5c, 0x24, 0xe2, 0xe4, 0x16, 0x77, 0xe5, 0xda, 0x2a, 0xc9, 0x64, + 0x91, 0x3b, 0xe2, 0x02, +}; +static const struct drbg_kat_pr_false kat2068_t = { + 12, kat2068_entropyin, kat2068_nonce, kat2068_persstr, + kat2068_entropyinreseed, kat2068_addinreseed, kat2068_addin0, + kat2068_addin1, kat2068_retbits +}; +static const struct drbg_kat kat2068 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2068_t +}; + +static const unsigned char kat2069_entropyin[] = { + 0xe8, 0xfc, 0x2f, 0xb6, 0xf9, 0x24, 0x73, 0xef, 0x5c, 0xbe, 0xbe, 0xe6, + 0x38, 0xd5, 0x8b, 0xdd, 0x07, 0xe5, 0x86, 0x0d, 0x87, 0xa2, 0x66, 0x70, + 0xde, 0x5e, 0x83, 0x05, 0xa2, 0x1b, 0xa8, 0x2b, +}; +static const unsigned char kat2069_nonce[] = { + 0xc0, 0x3c, 0x34, 0x0b, 0xb3, 0x77, 0xe0, 0x36, 0xd2, 0xf1, 0xb9, 0xed, + 0x01, 0x83, 0x30, 0xdf, +}; +static const unsigned char kat2069_persstr[] = {0}; +static const unsigned char kat2069_entropyinreseed[] = { + 0x6b, 0x1e, 0x3a, 0x62, 0xe7, 0x7c, 0x81, 0x4c, 0x22, 0xcd, 0xde, 0xaf, + 0x63, 0x10, 0xb7, 0x51, 0x77, 0x1b, 0xf0, 0xa8, 0x6f, 0x5f, 0x55, 0x7f, + 0xe1, 0x31, 0x8e, 0xa0, 0xfe, 0x2e, 0xd7, 0xdc, +}; +static const unsigned char kat2069_addinreseed[] = { + 0xab, 0xd7, 0xeb, 0xbc, 0xae, 0x2e, 0x26, 0x88, 0x04, 0xab, 0x4b, 0x98, + 0xad, 0x33, 0xfe, 0x6c, 0xc2, 0x12, 0x9d, 0x7f, 0x17, 0xb3, 0xc7, 0x14, + 0x18, 0x5f, 0xf2, 0x40, 0x60, 0x96, 0xb9, 0x22, +}; +static const unsigned char kat2069_addin0[] = { + 0x65, 0x66, 0x9e, 0x7d, 0xb6, 0x14, 0x52, 0x75, 0x36, 0xcb, 0xf9, 0x32, + 0xad, 0x42, 0xe4, 0x39, 0x5c, 0xcb, 0xef, 0x38, 0x87, 0x3b, 0xd5, 0x5d, + 0x18, 0x13, 0xd8, 0x01, 0x59, 0xe1, 0xff, 0xf4, +}; +static const unsigned char kat2069_addin1[] = { + 0xb8, 0x43, 0xfa, 0xe8, 0xf8, 0xdc, 0x65, 0x5d, 0x84, 0x21, 0x73, 0x3a, + 0x62, 0x04, 0x34, 0x68, 0x84, 0xac, 0x33, 0x5a, 0x05, 0xe3, 0xb2, 0x9a, + 0x8a, 0xdf, 0x03, 0x6d, 0xeb, 0x80, 0x88, 0x55, +}; +static const unsigned char kat2069_retbits[] = { + 0xa3, 0x04, 0x40, 0x87, 0x46, 0x5c, 0x14, 0x26, 0xf4, 0x54, 0xba, 0xcc, + 0x2d, 0xad, 0x1f, 0x9d, 0x9e, 0x23, 0x53, 0x9a, 0xeb, 0xd8, 0x03, 0x6d, + 0xd7, 0xf5, 0x8f, 0x16, 0xd6, 0xf2, 0xf5, 0x55, 0x69, 0x70, 0xe7, 0x5d, + 0x72, 0x83, 0xe1, 0xef, 0x91, 0x25, 0x42, 0xf2, 0x08, 0x96, 0xaa, 0x98, + 0xc5, 0xcb, 0xb1, 0xac, 0x1f, 0x76, 0xce, 0x64, 0xd5, 0x3c, 0x7e, 0x36, + 0x76, 0x1d, 0xe2, 0x9b, +}; +static const struct drbg_kat_pr_false kat2069_t = { + 13, kat2069_entropyin, kat2069_nonce, kat2069_persstr, + kat2069_entropyinreseed, kat2069_addinreseed, kat2069_addin0, + kat2069_addin1, kat2069_retbits +}; +static const struct drbg_kat kat2069 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2069_t +}; + +static const unsigned char kat2070_entropyin[] = { + 0x8d, 0xca, 0x78, 0xc7, 0x87, 0x4b, 0x3c, 0xc3, 0x05, 0xc5, 0x6a, 0x47, + 0x79, 0x50, 0x1b, 0xad, 0xb7, 0x1c, 0x29, 0x27, 0x74, 0xe9, 0xd1, 0xd8, + 0x93, 0xb4, 0x39, 0x0c, 0xf1, 0x32, 0xc2, 0x6a, +}; +static const unsigned char kat2070_nonce[] = { + 0x43, 0xff, 0x3a, 0xac, 0xcc, 0xee, 0x9e, 0x4a, 0x11, 0x2a, 0x34, 0x70, + 0xff, 0xa6, 0x77, 0x0f, +}; +static const unsigned char kat2070_persstr[] = {0}; +static const unsigned char kat2070_entropyinreseed[] = { + 0xda, 0x52, 0x47, 0x15, 0xb4, 0x5d, 0xe9, 0x93, 0x91, 0xeb, 0xb3, 0x4a, + 0x1a, 0x70, 0x62, 0x15, 0x53, 0xaa, 0xb2, 0x45, 0x04, 0x4a, 0x65, 0x23, + 0xb7, 0x38, 0x81, 0xc0, 0x0c, 0xb1, 0xb2, 0xc7, +}; +static const unsigned char kat2070_addinreseed[] = { + 0x8d, 0xb7, 0xda, 0xb5, 0x8d, 0xf1, 0xc4, 0x38, 0xf5, 0x6a, 0x72, 0x2c, + 0x14, 0x8c, 0x4a, 0x02, 0xb3, 0x94, 0xd1, 0xd7, 0x86, 0x6b, 0x61, 0x54, + 0xfd, 0x02, 0xf0, 0xbb, 0x26, 0x69, 0xe6, 0x04, +}; +static const unsigned char kat2070_addin0[] = { + 0x43, 0xe7, 0x0e, 0xf3, 0xd4, 0x72, 0xe2, 0xcd, 0xd7, 0x37, 0xe8, 0xa0, + 0xbb, 0xb7, 0x5a, 0x55, 0x0f, 0x60, 0x79, 0xe2, 0xa5, 0x02, 0x62, 0x71, + 0xcc, 0xc3, 0xdc, 0xbf, 0x56, 0x8b, 0x84, 0xb1, +}; +static const unsigned char kat2070_addin1[] = { + 0x94, 0xf4, 0x42, 0x59, 0xb1, 0xa3, 0xd3, 0xb4, 0x65, 0x57, 0x19, 0x60, + 0xc6, 0xd8, 0x8b, 0x9f, 0xa4, 0x0c, 0x7c, 0x0b, 0xeb, 0x30, 0xde, 0x5f, + 0x8f, 0x6d, 0xf5, 0xc3, 0x74, 0xf4, 0xb3, 0x48, +}; +static const unsigned char kat2070_retbits[] = { + 0x2b, 0x46, 0xad, 0xfc, 0x92, 0xd2, 0x22, 0x77, 0x11, 0x1a, 0xba, 0x05, + 0x60, 0x32, 0xd7, 0x9e, 0x9c, 0x1f, 0x85, 0x7d, 0x2a, 0x94, 0xc6, 0x27, + 0xef, 0xa3, 0x32, 0x7d, 0x6f, 0x19, 0xe8, 0xc9, 0x00, 0xf2, 0x0e, 0xb9, + 0xe0, 0xcb, 0x16, 0x43, 0x01, 0x6c, 0x03, 0xef, 0xb9, 0x66, 0x18, 0xd2, + 0x70, 0xe1, 0x5e, 0x4a, 0x7e, 0x91, 0x52, 0x2f, 0x0e, 0x1e, 0x81, 0x44, + 0x03, 0x25, 0x64, 0xda, +}; +static const struct drbg_kat_pr_false kat2070_t = { + 14, kat2070_entropyin, kat2070_nonce, kat2070_persstr, + kat2070_entropyinreseed, kat2070_addinreseed, kat2070_addin0, + kat2070_addin1, kat2070_retbits +}; +static const struct drbg_kat kat2070 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2070_t +}; + +static const unsigned char kat2071_entropyin[] = { + 0x7f, 0xc5, 0xc6, 0x7c, 0x1e, 0x8e, 0xae, 0xbf, 0x19, 0xbe, 0x64, 0x63, + 0xc9, 0xee, 0x13, 0x82, 0x5b, 0x1c, 0x63, 0xbd, 0x38, 0xe5, 0x8c, 0xe7, + 0x3a, 0x77, 0x68, 0x87, 0xd9, 0x5f, 0xf9, 0x20, +}; +static const unsigned char kat2071_nonce[] = { + 0x36, 0xb6, 0xaa, 0xc8, 0x1c, 0x45, 0x45, 0x8d, 0x48, 0xe3, 0xa1, 0xa3, + 0x42, 0xff, 0x66, 0x7c, +}; +static const unsigned char kat2071_persstr[] = { + 0x21, 0x96, 0x68, 0x06, 0x72, 0xe2, 0xc4, 0xe1, 0x64, 0x05, 0x9c, 0xde, + 0x6d, 0x2f, 0xe9, 0x1b, 0xa3, 0xc3, 0x96, 0xcf, 0x4b, 0x61, 0xb5, 0xe2, + 0x3f, 0xb1, 0x66, 0x78, 0x16, 0xf9, 0xbd, 0xa4, +}; +static const unsigned char kat2071_entropyinreseed[] = { + 0x11, 0x44, 0x75, 0xd8, 0xee, 0xb7, 0x71, 0xa0, 0xd9, 0xba, 0xd4, 0x51, + 0x24, 0x5f, 0x36, 0x33, 0xe7, 0x09, 0x59, 0x24, 0x42, 0xe5, 0x00, 0x58, + 0x45, 0xd0, 0xeb, 0xaf, 0xed, 0x5f, 0x68, 0x0d, +}; +static const unsigned char kat2071_addinreseed[] = {0}; +static const unsigned char kat2071_addin0[] = {0}; +static const unsigned char kat2071_addin1[] = {0}; +static const unsigned char kat2071_retbits[] = { + 0xcc, 0x7c, 0x90, 0x20, 0xa9, 0xb1, 0x15, 0x01, 0x44, 0x04, 0x64, 0xe3, + 0xc3, 0x06, 0xd3, 0x82, 0x62, 0xc4, 0x58, 0x38, 0xda, 0x3a, 0x0d, 0xd2, + 0x65, 0x52, 0xee, 0x7a, 0x9e, 0xdd, 0x9f, 0xc3, 0x82, 0xd3, 0xf7, 0xb1, + 0x87, 0xe9, 0xfb, 0x37, 0x0b, 0xe9, 0x7d, 0x9b, 0xf4, 0x34, 0x66, 0xa5, + 0x51, 0xe9, 0x73, 0x89, 0x29, 0xf3, 0x86, 0x97, 0xc7, 0x38, 0xbf, 0x26, + 0x7b, 0x66, 0x49, 0x84, +}; +static const struct drbg_kat_pr_false kat2071_t = { + 0, kat2071_entropyin, kat2071_nonce, kat2071_persstr, + kat2071_entropyinreseed, kat2071_addinreseed, kat2071_addin0, + kat2071_addin1, kat2071_retbits +}; +static const struct drbg_kat kat2071 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2071_t +}; + +static const unsigned char kat2072_entropyin[] = { + 0x3a, 0xf4, 0xdf, 0x4e, 0x10, 0x10, 0x56, 0xd2, 0x2e, 0x93, 0x86, 0xa4, + 0xf7, 0xd4, 0x7a, 0x97, 0x5a, 0x8e, 0x7b, 0x44, 0xe2, 0x02, 0xe7, 0xa3, + 0xd6, 0x0a, 0x0c, 0x92, 0x0c, 0x07, 0x0f, 0x59, +}; +static const unsigned char kat2072_nonce[] = { + 0x4f, 0xdb, 0xb7, 0x87, 0xed, 0xe1, 0xf7, 0x04, 0x1c, 0xd6, 0xc5, 0xa1, + 0x80, 0xc2, 0x37, 0x26, +}; +static const unsigned char kat2072_persstr[] = { + 0xf8, 0x51, 0x98, 0x98, 0xa7, 0x17, 0x3c, 0x7b, 0xee, 0xe3, 0x40, 0x62, + 0x65, 0x24, 0x3c, 0x0b, 0x06, 0x13, 0x9c, 0x3c, 0xbc, 0xb4, 0x7a, 0x6c, + 0x45, 0x25, 0xc4, 0x1f, 0x5c, 0xd0, 0x79, 0xe9, +}; +static const unsigned char kat2072_entropyinreseed[] = { + 0x81, 0x72, 0x99, 0x9c, 0x00, 0x5b, 0x5e, 0xa6, 0x0c, 0xe1, 0x2b, 0xfe, + 0x04, 0x13, 0xd7, 0xc7, 0x97, 0x4e, 0x55, 0xf1, 0xb8, 0xe0, 0x55, 0x21, + 0x39, 0x08, 0x5e, 0x1e, 0xc9, 0xae, 0x79, 0xfb, +}; +static const unsigned char kat2072_addinreseed[] = {0}; +static const unsigned char kat2072_addin0[] = {0}; +static const unsigned char kat2072_addin1[] = {0}; +static const unsigned char kat2072_retbits[] = { + 0xfc, 0xa1, 0x7a, 0xb3, 0x23, 0xf4, 0x4a, 0x1f, 0x7b, 0xee, 0x2a, 0xc8, + 0x40, 0x00, 0x66, 0xee, 0xe2, 0xb0, 0x2b, 0xfc, 0x43, 0x4f, 0x63, 0xcc, + 0x9f, 0xa3, 0x69, 0x9b, 0x08, 0x3b, 0x34, 0xac, 0x7a, 0x9a, 0xa9, 0x09, + 0xb4, 0x11, 0xc7, 0x69, 0xcd, 0xe1, 0x2c, 0xab, 0x39, 0xb3, 0x1d, 0x70, + 0x77, 0xd4, 0x1f, 0xa0, 0xda, 0xb0, 0xab, 0x1a, 0xbe, 0x8e, 0x7e, 0xe7, + 0x75, 0x51, 0x1e, 0x3b, +}; +static const struct drbg_kat_pr_false kat2072_t = { + 1, kat2072_entropyin, kat2072_nonce, kat2072_persstr, + kat2072_entropyinreseed, kat2072_addinreseed, kat2072_addin0, + kat2072_addin1, kat2072_retbits +}; +static const struct drbg_kat kat2072 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2072_t +}; + +static const unsigned char kat2073_entropyin[] = { + 0xe8, 0xba, 0x22, 0xbc, 0x9d, 0x74, 0x6b, 0x6a, 0x4e, 0xcf, 0x61, 0x0b, + 0xca, 0xf1, 0x97, 0x13, 0x0c, 0xf6, 0x22, 0x69, 0xde, 0xa6, 0x84, 0x92, + 0x0b, 0xf1, 0xbb, 0xcf, 0x17, 0x66, 0x03, 0x24, +}; +static const unsigned char kat2073_nonce[] = { + 0x54, 0xaf, 0xff, 0x3a, 0xb2, 0x95, 0x57, 0xaa, 0xef, 0xbf, 0x4f, 0x2d, + 0x7d, 0x34, 0xe9, 0x4e, +}; +static const unsigned char kat2073_persstr[] = { + 0xe0, 0x21, 0xd4, 0x42, 0x65, 0x37, 0xdd, 0x91, 0x59, 0x0e, 0x35, 0x4b, + 0xe4, 0xd9, 0x61, 0x07, 0xa7, 0x8d, 0xb8, 0x0a, 0xc4, 0x80, 0x2f, 0xff, + 0x38, 0x4b, 0x52, 0x9a, 0x3f, 0x8f, 0xa9, 0x25, +}; +static const unsigned char kat2073_entropyinreseed[] = { + 0xcc, 0xea, 0xb6, 0xa2, 0x6c, 0x17, 0x0b, 0x68, 0x9a, 0xdd, 0xc9, 0x62, + 0xbe, 0x4c, 0x11, 0xa4, 0xfc, 0xfb, 0x47, 0x26, 0x00, 0xe7, 0xa3, 0xe5, + 0xc5, 0xe7, 0x8f, 0x0c, 0xe8, 0xfa, 0x97, 0xf7, +}; +static const unsigned char kat2073_addinreseed[] = {0}; +static const unsigned char kat2073_addin0[] = {0}; +static const unsigned char kat2073_addin1[] = {0}; +static const unsigned char kat2073_retbits[] = { + 0xd2, 0x04, 0x54, 0x54, 0x94, 0x22, 0xfb, 0xdc, 0x77, 0x08, 0xb0, 0x47, + 0xe2, 0xec, 0xbd, 0x13, 0xbb, 0x47, 0x12, 0xe3, 0x8a, 0xb2, 0xb0, 0xef, + 0xc6, 0x80, 0x0c, 0xe2, 0xd6, 0x32, 0xac, 0xb2, 0xac, 0x14, 0x36, 0xfc, + 0x81, 0x3d, 0x55, 0x11, 0x34, 0x94, 0x7d, 0x14, 0x2d, 0x84, 0x21, 0xa9, + 0x1d, 0x1e, 0xb3, 0x21, 0x50, 0xcb, 0xf9, 0x9b, 0x26, 0x6c, 0x55, 0x2b, + 0x21, 0x5c, 0x20, 0xa7, +}; +static const struct drbg_kat_pr_false kat2073_t = { + 2, kat2073_entropyin, kat2073_nonce, kat2073_persstr, + kat2073_entropyinreseed, kat2073_addinreseed, kat2073_addin0, + kat2073_addin1, kat2073_retbits +}; +static const struct drbg_kat kat2073 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2073_t +}; + +static const unsigned char kat2074_entropyin[] = { + 0xcc, 0x02, 0x83, 0xb5, 0x6b, 0x01, 0xaf, 0x29, 0xdf, 0x83, 0x61, 0x7f, + 0x12, 0x96, 0x9e, 0x05, 0xbc, 0x95, 0x15, 0x1b, 0xd6, 0xea, 0x04, 0x33, + 0x78, 0x25, 0x89, 0x1a, 0xc9, 0x47, 0x98, 0xe9, +}; +static const unsigned char kat2074_nonce[] = { + 0x82, 0x59, 0x76, 0xf8, 0x32, 0x79, 0x66, 0x02, 0xd9, 0xaf, 0xac, 0x19, + 0xf9, 0xa4, 0x59, 0x72, +}; +static const unsigned char kat2074_persstr[] = { + 0x75, 0xae, 0xc9, 0xc3, 0x2f, 0x40, 0xbd, 0xa3, 0x39, 0x02, 0xf1, 0xa2, + 0x10, 0x75, 0x77, 0x59, 0x70, 0xf6, 0xa2, 0x78, 0x44, 0xae, 0x2a, 0x34, + 0x29, 0xb5, 0xe1, 0x86, 0x11, 0x9c, 0xe9, 0x17, +}; +static const unsigned char kat2074_entropyinreseed[] = { + 0x7b, 0x27, 0x34, 0x15, 0xd5, 0xbc, 0xac, 0xc9, 0xbe, 0xba, 0x66, 0x59, + 0x92, 0x35, 0xb7, 0x80, 0xa0, 0x77, 0xf4, 0xa7, 0xeb, 0xba, 0x6a, 0xed, + 0xdc, 0xdd, 0xe5, 0x83, 0xc2, 0x05, 0x89, 0xcf, +}; +static const unsigned char kat2074_addinreseed[] = {0}; +static const unsigned char kat2074_addin0[] = {0}; +static const unsigned char kat2074_addin1[] = {0}; +static const unsigned char kat2074_retbits[] = { + 0xe8, 0x37, 0x57, 0xb1, 0x9d, 0xc2, 0x44, 0xf4, 0x8d, 0xbf, 0x6a, 0xba, + 0x22, 0xa8, 0xb2, 0x4a, 0xde, 0x44, 0xde, 0xe9, 0x59, 0xd0, 0x17, 0xff, + 0xb4, 0xfe, 0x97, 0x71, 0xc2, 0xa6, 0xd2, 0x8c, 0xc5, 0x6e, 0x94, 0x49, + 0xc9, 0x05, 0x0f, 0x52, 0xb5, 0xa3, 0x15, 0xff, 0x7e, 0x45, 0x35, 0x43, + 0x52, 0xfc, 0x4b, 0x44, 0x62, 0x19, 0x44, 0xdc, 0x7c, 0xa3, 0xa9, 0x3f, + 0xba, 0x7a, 0xa7, 0x1c, +}; +static const struct drbg_kat_pr_false kat2074_t = { + 3, kat2074_entropyin, kat2074_nonce, kat2074_persstr, + kat2074_entropyinreseed, kat2074_addinreseed, kat2074_addin0, + kat2074_addin1, kat2074_retbits +}; +static const struct drbg_kat kat2074 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2074_t +}; + +static const unsigned char kat2075_entropyin[] = { + 0xd4, 0xc9, 0xfa, 0x57, 0xd2, 0x11, 0xf5, 0x3d, 0xcd, 0x16, 0xb2, 0xf1, + 0x81, 0x21, 0x41, 0xec, 0x3e, 0xfe, 0x2d, 0x0b, 0xd4, 0x25, 0xd5, 0xc1, + 0xfd, 0x7e, 0x6d, 0x96, 0xa1, 0x46, 0xdb, 0x37, +}; +static const unsigned char kat2075_nonce[] = { + 0x64, 0x73, 0x75, 0x8b, 0x32, 0x84, 0x8f, 0x04, 0xb8, 0x6c, 0xcb, 0xcb, + 0xd0, 0x17, 0xf1, 0x4b, +}; +static const unsigned char kat2075_persstr[] = { + 0xa2, 0x69, 0x8b, 0x2b, 0x6e, 0x58, 0xc2, 0x3c, 0x3e, 0x82, 0xcc, 0x19, + 0x5e, 0x15, 0x51, 0x64, 0xf4, 0xd8, 0x86, 0x53, 0x92, 0x46, 0x9a, 0x30, + 0x87, 0x4e, 0x54, 0x9b, 0x01, 0x71, 0xa4, 0x90, +}; +static const unsigned char kat2075_entropyinreseed[] = { + 0x96, 0xb5, 0x9a, 0x20, 0x9f, 0xe5, 0x4c, 0xe7, 0x5a, 0x3f, 0x0d, 0x6f, + 0x62, 0xf7, 0xe4, 0x92, 0xaa, 0xbc, 0x41, 0x58, 0x4e, 0x16, 0x07, 0x46, + 0x3d, 0x16, 0x1f, 0x99, 0xe9, 0x8c, 0xbd, 0x88, +}; +static const unsigned char kat2075_addinreseed[] = {0}; +static const unsigned char kat2075_addin0[] = {0}; +static const unsigned char kat2075_addin1[] = {0}; +static const unsigned char kat2075_retbits[] = { + 0x1b, 0x5b, 0xf3, 0xcf, 0xee, 0x33, 0xf7, 0xfd, 0x4b, 0x9a, 0x07, 0xf9, + 0xbb, 0x98, 0x25, 0x5b, 0x0b, 0xd4, 0x7a, 0x3e, 0x8d, 0x64, 0x72, 0xaf, + 0x57, 0x60, 0x2a, 0xb8, 0xb6, 0xab, 0xeb, 0xd0, 0x78, 0xdf, 0x5a, 0xae, + 0x76, 0x10, 0x53, 0x3a, 0xe3, 0x17, 0x38, 0x95, 0x6c, 0x3e, 0x4c, 0xcd, + 0x41, 0x10, 0x45, 0x85, 0x65, 0x5d, 0xab, 0x4c, 0xfc, 0xb3, 0x2d, 0x37, + 0xc8, 0x1f, 0xb7, 0x92, +}; +static const struct drbg_kat_pr_false kat2075_t = { + 4, kat2075_entropyin, kat2075_nonce, kat2075_persstr, + kat2075_entropyinreseed, kat2075_addinreseed, kat2075_addin0, + kat2075_addin1, kat2075_retbits +}; +static const struct drbg_kat kat2075 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2075_t +}; + +static const unsigned char kat2076_entropyin[] = { + 0x75, 0x1b, 0xe4, 0x10, 0x47, 0x40, 0xcd, 0x52, 0xa1, 0xa5, 0x15, 0xe4, + 0x3b, 0x80, 0xef, 0xda, 0x17, 0x38, 0x55, 0x8d, 0xe8, 0x9e, 0x6f, 0x04, + 0x9e, 0xa1, 0x94, 0xd7, 0xd8, 0x48, 0x7f, 0x29, +}; +static const unsigned char kat2076_nonce[] = { + 0xee, 0xc6, 0x0a, 0x29, 0x78, 0xa4, 0x90, 0xb2, 0xe6, 0xbe, 0x71, 0x76, + 0x5e, 0x69, 0xc3, 0x61, +}; +static const unsigned char kat2076_persstr[] = { + 0x6c, 0x7a, 0x39, 0x82, 0x2f, 0x61, 0xf4, 0xf1, 0x7d, 0x0a, 0xe3, 0x90, + 0x99, 0xfd, 0xc8, 0x20, 0xc6, 0x35, 0xc6, 0x90, 0x05, 0xbf, 0x04, 0xe4, + 0xd1, 0x3b, 0x18, 0xa1, 0x88, 0x38, 0x21, 0x40, +}; +static const unsigned char kat2076_entropyinreseed[] = { + 0x39, 0x61, 0xb2, 0x4f, 0x64, 0x27, 0x35, 0x2d, 0x52, 0xf2, 0xdc, 0x45, + 0xee, 0x9d, 0x22, 0x81, 0x4e, 0x72, 0x26, 0x56, 0x7a, 0xdc, 0xff, 0x95, + 0x0b, 0xf7, 0x3d, 0x43, 0x1a, 0xb8, 0xcb, 0x4a, +}; +static const unsigned char kat2076_addinreseed[] = {0}; +static const unsigned char kat2076_addin0[] = {0}; +static const unsigned char kat2076_addin1[] = {0}; +static const unsigned char kat2076_retbits[] = { + 0xde, 0x87, 0xa4, 0xa7, 0x65, 0xc5, 0x04, 0x0d, 0x89, 0x74, 0x31, 0x46, + 0x69, 0x6a, 0x67, 0x02, 0xd5, 0xcd, 0xe9, 0x05, 0xeb, 0xf2, 0xdd, 0x0f, + 0x65, 0x40, 0xd5, 0x3f, 0x5c, 0x8b, 0xd4, 0xfa, 0x1c, 0x3a, 0xa8, 0x3b, + 0x9c, 0x2b, 0x0e, 0xdd, 0x72, 0xf8, 0x57, 0xd5, 0x95, 0x71, 0xba, 0x50, + 0x8b, 0xd6, 0x3d, 0x5f, 0x7a, 0xe3, 0x01, 0x18, 0xe3, 0xe9, 0x68, 0x8c, + 0x60, 0x6f, 0xd1, 0xcb, +}; +static const struct drbg_kat_pr_false kat2076_t = { + 5, kat2076_entropyin, kat2076_nonce, kat2076_persstr, + kat2076_entropyinreseed, kat2076_addinreseed, kat2076_addin0, + kat2076_addin1, kat2076_retbits +}; +static const struct drbg_kat kat2076 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2076_t +}; + +static const unsigned char kat2077_entropyin[] = { + 0xd4, 0x01, 0xf6, 0xfc, 0x6d, 0xaf, 0x7c, 0x00, 0x3c, 0xcd, 0xfe, 0xde, + 0xac, 0xd0, 0x11, 0xe2, 0xc0, 0x49, 0x96, 0x3f, 0x66, 0x2b, 0xfe, 0x18, + 0x5c, 0x63, 0x15, 0x68, 0xa8, 0x3c, 0x9e, 0xed, +}; +static const unsigned char kat2077_nonce[] = { + 0x03, 0x73, 0x51, 0x56, 0x23, 0x64, 0x76, 0x10, 0x49, 0x28, 0xdf, 0x85, + 0xc3, 0x07, 0x74, 0xf0, +}; +static const unsigned char kat2077_persstr[] = { + 0x17, 0x50, 0x48, 0x78, 0x6a, 0xa8, 0x3e, 0x4d, 0xc8, 0x50, 0x0b, 0x01, + 0x18, 0xfc, 0xda, 0xce, 0x91, 0x74, 0xbb, 0x77, 0xed, 0x8e, 0xae, 0xe4, + 0xc5, 0x5f, 0xeb, 0xa0, 0x45, 0x34, 0xb0, 0x9d, +}; +static const unsigned char kat2077_entropyinreseed[] = { + 0xd5, 0x4f, 0x61, 0xe2, 0xf1, 0x53, 0xd3, 0x42, 0x2f, 0x74, 0x87, 0x06, + 0xa4, 0xf4, 0x07, 0x91, 0x4b, 0x84, 0x78, 0x99, 0x75, 0x18, 0xcd, 0x5f, + 0x24, 0xf0, 0x7b, 0x52, 0x3b, 0xec, 0x5c, 0xe2, +}; +static const unsigned char kat2077_addinreseed[] = {0}; +static const unsigned char kat2077_addin0[] = {0}; +static const unsigned char kat2077_addin1[] = {0}; +static const unsigned char kat2077_retbits[] = { + 0xa3, 0xa6, 0x91, 0x0c, 0x6f, 0xfc, 0x12, 0x1b, 0xdc, 0xfa, 0x6d, 0x29, + 0xb7, 0xee, 0x78, 0x72, 0xb5, 0x37, 0xb3, 0xa3, 0xab, 0x84, 0xa8, 0xc8, + 0xa6, 0xd7, 0x43, 0xb8, 0x3d, 0xe9, 0x8d, 0xcf, 0x9b, 0xe9, 0xdd, 0x50, + 0x6e, 0x51, 0xc5, 0xa5, 0x56, 0x9e, 0x40, 0xee, 0xff, 0xdb, 0x57, 0x89, + 0xa0, 0x53, 0x15, 0xae, 0xf5, 0x95, 0xcf, 0x44, 0x01, 0xcd, 0xcd, 0x31, + 0x16, 0xfe, 0x24, 0xfa, +}; +static const struct drbg_kat_pr_false kat2077_t = { + 6, kat2077_entropyin, kat2077_nonce, kat2077_persstr, + kat2077_entropyinreseed, kat2077_addinreseed, kat2077_addin0, + kat2077_addin1, kat2077_retbits +}; +static const struct drbg_kat kat2077 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2077_t +}; + +static const unsigned char kat2078_entropyin[] = { + 0x77, 0x23, 0x05, 0x44, 0xaa, 0xa9, 0x9a, 0x91, 0x03, 0x69, 0xa2, 0xef, + 0x67, 0x98, 0xe2, 0x10, 0x62, 0x46, 0xab, 0x47, 0x29, 0x64, 0x85, 0xc8, + 0xf6, 0x5a, 0x75, 0x30, 0x3c, 0xf9, 0x0b, 0x18, +}; +static const unsigned char kat2078_nonce[] = { + 0x49, 0x37, 0xbc, 0x2c, 0x21, 0x1a, 0xd7, 0x13, 0x77, 0x97, 0xa0, 0xc4, + 0xd0, 0xcd, 0x07, 0x3a, +}; +static const unsigned char kat2078_persstr[] = { + 0x1d, 0x24, 0x63, 0xa3, 0x26, 0x6c, 0xac, 0x98, 0x40, 0xed, 0x6b, 0x7c, + 0x35, 0xf1, 0x45, 0x65, 0x41, 0x89, 0xe1, 0xe0, 0x83, 0x22, 0x2a, 0x4a, + 0x28, 0x1d, 0xab, 0x50, 0x1e, 0x99, 0x23, 0xf9, +}; +static const unsigned char kat2078_entropyinreseed[] = { + 0x2e, 0x1d, 0x69, 0xe4, 0x66, 0x80, 0x0f, 0xe9, 0xfe, 0xab, 0x87, 0x2b, + 0x3e, 0x3d, 0x41, 0x04, 0x59, 0xdc, 0x17, 0x91, 0xf2, 0x92, 0x42, 0x41, + 0xa0, 0x0a, 0x58, 0x5a, 0x6f, 0x94, 0xdc, 0xe1, +}; +static const unsigned char kat2078_addinreseed[] = {0}; +static const unsigned char kat2078_addin0[] = {0}; +static const unsigned char kat2078_addin1[] = {0}; +static const unsigned char kat2078_retbits[] = { + 0x2f, 0xed, 0x41, 0x01, 0x07, 0x52, 0xd7, 0x7f, 0x32, 0x3c, 0x4b, 0xfb, + 0xfa, 0x09, 0xb9, 0x52, 0x96, 0xbc, 0xbe, 0x56, 0x5b, 0x84, 0xb4, 0xa6, + 0x5d, 0x7e, 0xca, 0x93, 0x8e, 0xd6, 0x4e, 0x30, 0xf7, 0xe4, 0x8e, 0x0c, + 0x71, 0xb2, 0xca, 0x0b, 0x6c, 0x08, 0xa0, 0xfe, 0x52, 0xd8, 0xa0, 0xcf, + 0xd8, 0x55, 0x8e, 0x58, 0xdc, 0x15, 0xe7, 0xd5, 0x61, 0x0c, 0xc6, 0x6c, + 0x24, 0x22, 0x50, 0x31, +}; +static const struct drbg_kat_pr_false kat2078_t = { + 7, kat2078_entropyin, kat2078_nonce, kat2078_persstr, + kat2078_entropyinreseed, kat2078_addinreseed, kat2078_addin0, + kat2078_addin1, kat2078_retbits +}; +static const struct drbg_kat kat2078 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2078_t +}; + +static const unsigned char kat2079_entropyin[] = { + 0x50, 0x09, 0xd8, 0x18, 0xcc, 0x03, 0x84, 0xbf, 0xbc, 0x9c, 0x5d, 0xd8, + 0x15, 0x79, 0xc7, 0x4f, 0x56, 0xe5, 0x49, 0x0c, 0x56, 0xe5, 0x31, 0x11, + 0x52, 0x23, 0x1e, 0x8a, 0x71, 0x72, 0x0a, 0x13, +}; +static const unsigned char kat2079_nonce[] = { + 0x1b, 0x16, 0x4d, 0x66, 0x07, 0x34, 0x67, 0xa8, 0xfc, 0xb1, 0x72, 0x2c, + 0x67, 0x1b, 0x40, 0x8e, +}; +static const unsigned char kat2079_persstr[] = { + 0x1e, 0x56, 0xa2, 0xcd, 0xae, 0x59, 0x11, 0xd0, 0xd6, 0x0b, 0xae, 0xd7, + 0xd4, 0x9d, 0x3b, 0x3c, 0xb0, 0x62, 0xc4, 0xcb, 0xfb, 0xbe, 0x31, 0xa5, + 0x67, 0x13, 0xbe, 0xb3, 0x7f, 0xb1, 0x9f, 0xd4, +}; +static const unsigned char kat2079_entropyinreseed[] = { + 0x2d, 0x75, 0x4e, 0xda, 0x6d, 0xe4, 0x87, 0xa5, 0xb2, 0x82, 0x84, 0x86, + 0x75, 0x57, 0xac, 0xcd, 0x43, 0x2c, 0x63, 0x86, 0x92, 0x4b, 0x24, 0xd3, + 0x22, 0x63, 0xf6, 0x07, 0x29, 0x17, 0x37, 0xec, +}; +static const unsigned char kat2079_addinreseed[] = {0}; +static const unsigned char kat2079_addin0[] = {0}; +static const unsigned char kat2079_addin1[] = {0}; +static const unsigned char kat2079_retbits[] = { + 0x89, 0xfd, 0xec, 0xe4, 0x0e, 0xf8, 0x18, 0x21, 0xbb, 0xb7, 0xbe, 0xba, + 0x79, 0xf1, 0xc1, 0xd6, 0x8c, 0xb9, 0xbe, 0xe9, 0xe9, 0xcf, 0x2f, 0x6c, + 0x2b, 0x0b, 0xf4, 0x2e, 0x0c, 0xa3, 0xa3, 0xc6, 0x65, 0x9b, 0x2a, 0xcb, + 0xb5, 0xee, 0xe8, 0x5e, 0xba, 0xcf, 0xdc, 0xcf, 0x35, 0x20, 0x22, 0x08, + 0x8b, 0x99, 0x5e, 0xbc, 0x84, 0xcd, 0x24, 0xd3, 0xa1, 0x9b, 0x83, 0x2e, + 0x46, 0x17, 0xcd, 0xad, +}; +static const struct drbg_kat_pr_false kat2079_t = { + 8, kat2079_entropyin, kat2079_nonce, kat2079_persstr, + kat2079_entropyinreseed, kat2079_addinreseed, kat2079_addin0, + kat2079_addin1, kat2079_retbits +}; +static const struct drbg_kat kat2079 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2079_t +}; + +static const unsigned char kat2080_entropyin[] = { + 0xd4, 0xdf, 0xfe, 0x9c, 0x0d, 0x22, 0xf9, 0xe9, 0x6c, 0xd2, 0x95, 0x3c, + 0x61, 0x04, 0xd7, 0x94, 0x32, 0x84, 0x88, 0x93, 0xb7, 0x50, 0xeb, 0x2c, + 0x2d, 0x73, 0x8c, 0x15, 0x7f, 0x2a, 0xd6, 0x72, +}; +static const unsigned char kat2080_nonce[] = { + 0x11, 0x9f, 0x12, 0x04, 0xc0, 0xab, 0x08, 0x62, 0x29, 0x73, 0x5c, 0x03, + 0xcf, 0xaa, 0xd1, 0xe7, +}; +static const unsigned char kat2080_persstr[] = { + 0x81, 0x1c, 0x74, 0x80, 0xaf, 0xe7, 0xd9, 0xac, 0xfd, 0x5d, 0x46, 0xd8, + 0x5d, 0x01, 0xc2, 0xaf, 0x4e, 0xc7, 0x80, 0x29, 0x48, 0xa0, 0x4d, 0x3f, + 0x2d, 0x6c, 0x2b, 0xe8, 0xed, 0x80, 0xf2, 0xfb, +}; +static const unsigned char kat2080_entropyinreseed[] = { + 0x59, 0xc7, 0xe9, 0x4b, 0xec, 0xdf, 0x52, 0x34, 0xb6, 0x02, 0x90, 0x31, + 0x52, 0xea, 0xb2, 0x4e, 0xed, 0x5f, 0x84, 0x17, 0x59, 0xfd, 0x13, 0xa9, + 0xb0, 0xda, 0x4d, 0xdf, 0x14, 0x82, 0x11, 0x70, +}; +static const unsigned char kat2080_addinreseed[] = {0}; +static const unsigned char kat2080_addin0[] = {0}; +static const unsigned char kat2080_addin1[] = {0}; +static const unsigned char kat2080_retbits[] = { + 0x8a, 0x2b, 0xda, 0xc0, 0xe3, 0xb9, 0xec, 0xab, 0x36, 0xf4, 0x95, 0xcd, + 0xc9, 0x2b, 0xfd, 0x0e, 0xb1, 0x97, 0x8a, 0xa6, 0x26, 0x04, 0xda, 0x0c, + 0xf5, 0x88, 0x4a, 0x02, 0x62, 0x12, 0x30, 0x04, 0x95, 0x8f, 0x07, 0xe7, + 0x0f, 0x33, 0x80, 0xde, 0x03, 0xa8, 0x38, 0x68, 0xf4, 0x31, 0xf8, 0xce, + 0xfa, 0xd7, 0xa1, 0x4b, 0x5a, 0x3d, 0x9c, 0x42, 0x54, 0xe5, 0x2f, 0x0c, + 0xe9, 0x91, 0xc0, 0xf1, +}; +static const struct drbg_kat_pr_false kat2080_t = { + 9, kat2080_entropyin, kat2080_nonce, kat2080_persstr, + kat2080_entropyinreseed, kat2080_addinreseed, kat2080_addin0, + kat2080_addin1, kat2080_retbits +}; +static const struct drbg_kat kat2080 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2080_t +}; + +static const unsigned char kat2081_entropyin[] = { + 0x0e, 0xa4, 0x75, 0x26, 0x1c, 0xad, 0x88, 0x91, 0x3c, 0x57, 0xc9, 0x8a, + 0xac, 0xcc, 0x03, 0x69, 0xba, 0x00, 0xe8, 0xb0, 0x67, 0x6d, 0x1b, 0xfb, + 0x5b, 0x30, 0xfc, 0x36, 0xb3, 0x8a, 0x4a, 0x1d, +}; +static const unsigned char kat2081_nonce[] = { + 0x3d, 0xd1, 0x8e, 0x05, 0xb7, 0x63, 0xfa, 0x1c, 0xa3, 0x88, 0x1e, 0x7d, + 0x92, 0x85, 0x5c, 0x8e, +}; +static const unsigned char kat2081_persstr[] = { + 0x1b, 0x95, 0xa4, 0xba, 0x83, 0x93, 0xe5, 0x2c, 0x94, 0x98, 0x27, 0x9e, + 0x8a, 0x00, 0x99, 0x01, 0x34, 0x28, 0xc2, 0x91, 0xd7, 0x0c, 0xce, 0x70, + 0xbe, 0xa7, 0xf9, 0x01, 0xa9, 0xb9, 0x28, 0x28, +}; +static const unsigned char kat2081_entropyinreseed[] = { + 0xe8, 0xed, 0x16, 0x2d, 0xe3, 0xb5, 0x1a, 0x68, 0xe2, 0xcd, 0x8d, 0xf5, + 0x91, 0xb9, 0xc6, 0x22, 0x59, 0xd2, 0x4e, 0x31, 0x01, 0x2b, 0x79, 0x38, + 0xcd, 0x36, 0x8c, 0x1a, 0x53, 0x6b, 0xa9, 0xb3, +}; +static const unsigned char kat2081_addinreseed[] = {0}; +static const unsigned char kat2081_addin0[] = {0}; +static const unsigned char kat2081_addin1[] = {0}; +static const unsigned char kat2081_retbits[] = { + 0x2c, 0x6c, 0xf1, 0x74, 0x7b, 0xda, 0xc8, 0xf3, 0x33, 0x51, 0xd6, 0x39, + 0x2d, 0xaf, 0x4a, 0x2b, 0x32, 0xf5, 0x42, 0x4b, 0x12, 0xf1, 0xfd, 0x80, + 0x96, 0xb6, 0x5b, 0x6a, 0x76, 0x39, 0x89, 0x17, 0xc4, 0x34, 0xff, 0xed, + 0xac, 0xdc, 0x6b, 0x2b, 0xe1, 0xaa, 0x4a, 0xd6, 0xdc, 0xda, 0xd1, 0x89, + 0x32, 0xb6, 0x38, 0xe3, 0xcb, 0x56, 0xde, 0xb7, 0x2e, 0xfd, 0x3b, 0x69, + 0xcf, 0xd1, 0xb0, 0xbc, +}; +static const struct drbg_kat_pr_false kat2081_t = { + 10, kat2081_entropyin, kat2081_nonce, kat2081_persstr, + kat2081_entropyinreseed, kat2081_addinreseed, kat2081_addin0, + kat2081_addin1, kat2081_retbits +}; +static const struct drbg_kat kat2081 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2081_t +}; + +static const unsigned char kat2082_entropyin[] = { + 0x21, 0x89, 0x37, 0x99, 0x01, 0x6c, 0xfb, 0xe5, 0x44, 0xd6, 0x63, 0x80, + 0x0d, 0x6e, 0xaa, 0xbc, 0x1d, 0x49, 0xfb, 0xe3, 0xe5, 0xbc, 0x4b, 0x95, + 0x84, 0x59, 0xcb, 0xe3, 0x01, 0xac, 0x67, 0x8b, +}; +static const unsigned char kat2082_nonce[] = { + 0x60, 0x05, 0x98, 0x54, 0xb2, 0x34, 0xf1, 0x8b, 0xe1, 0x8c, 0x6e, 0x6e, + 0x32, 0xc6, 0x0d, 0x69, +}; +static const unsigned char kat2082_persstr[] = { + 0xab, 0x61, 0xe4, 0x4f, 0x7a, 0xa3, 0x1c, 0x12, 0x41, 0xa2, 0xa4, 0x8c, + 0x33, 0x4d, 0x3f, 0xa9, 0x52, 0x03, 0xa2, 0xf2, 0x10, 0x2a, 0xfc, 0x29, + 0x09, 0xb6, 0x27, 0xf8, 0x3b, 0xd0, 0xeb, 0x0b, +}; +static const unsigned char kat2082_entropyinreseed[] = { + 0x45, 0x6a, 0x7d, 0x56, 0x6b, 0xb4, 0x88, 0xaf, 0x9a, 0x80, 0x84, 0xe1, + 0x96, 0x1b, 0x61, 0x0d, 0x05, 0xcd, 0x7e, 0xa5, 0x73, 0x54, 0xb2, 0x0f, + 0x74, 0xc3, 0x08, 0x18, 0xab, 0xdf, 0x01, 0x1d, +}; +static const unsigned char kat2082_addinreseed[] = {0}; +static const unsigned char kat2082_addin0[] = {0}; +static const unsigned char kat2082_addin1[] = {0}; +static const unsigned char kat2082_retbits[] = { + 0x64, 0x01, 0xc6, 0xaf, 0xe7, 0x34, 0x2a, 0xd9, 0x57, 0x45, 0x26, 0x95, + 0x80, 0xfd, 0x3f, 0xb1, 0xa5, 0x6c, 0x3c, 0x7d, 0x7f, 0x7d, 0x74, 0x7d, + 0x35, 0xe0, 0x95, 0x01, 0xc0, 0xef, 0x35, 0x9e, 0x1d, 0xbb, 0xe1, 0xe0, + 0xf5, 0x11, 0x34, 0x21, 0xf8, 0x89, 0xad, 0x64, 0xab, 0x6e, 0xe3, 0xbf, + 0xf2, 0x1e, 0x38, 0x66, 0x8f, 0x7e, 0xa1, 0x6a, 0x80, 0x0d, 0xd0, 0x21, + 0x79, 0x48, 0x5b, 0xb4, +}; +static const struct drbg_kat_pr_false kat2082_t = { + 11, kat2082_entropyin, kat2082_nonce, kat2082_persstr, + kat2082_entropyinreseed, kat2082_addinreseed, kat2082_addin0, + kat2082_addin1, kat2082_retbits +}; +static const struct drbg_kat kat2082 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2082_t +}; + +static const unsigned char kat2083_entropyin[] = { + 0xad, 0x02, 0xf7, 0xd2, 0x57, 0xda, 0x2a, 0x69, 0x3b, 0xb3, 0xc5, 0x44, + 0xc0, 0x66, 0xcd, 0xd7, 0x70, 0x29, 0xfe, 0xdf, 0x75, 0x7f, 0x42, 0x4c, + 0xe2, 0x12, 0x10, 0x3e, 0x83, 0x49, 0xcd, 0x4f, +}; +static const unsigned char kat2083_nonce[] = { + 0x6e, 0xe3, 0xdd, 0x90, 0x9c, 0xbb, 0xcd, 0xc0, 0x46, 0x23, 0xfd, 0x63, + 0xe9, 0x15, 0x42, 0x87, +}; +static const unsigned char kat2083_persstr[] = { + 0x7f, 0x9b, 0x52, 0x1d, 0x35, 0x7e, 0xf4, 0x86, 0xe3, 0x68, 0x27, 0xfd, + 0x0d, 0xc0, 0x30, 0xbc, 0x5b, 0x48, 0x5e, 0x7b, 0x44, 0x24, 0x45, 0x55, + 0xfb, 0xb9, 0x24, 0xb2, 0x0a, 0x88, 0xbc, 0x49, +}; +static const unsigned char kat2083_entropyinreseed[] = { + 0xf5, 0xd1, 0x03, 0xa7, 0xb4, 0x83, 0xcf, 0xfe, 0xa2, 0xe0, 0x9e, 0x5a, + 0x5e, 0x84, 0x9c, 0x43, 0x6d, 0xf0, 0x8c, 0xb4, 0x1e, 0x17, 0x9e, 0x7d, + 0x2c, 0x85, 0x37, 0x05, 0x3e, 0xd5, 0xe7, 0x1a, +}; +static const unsigned char kat2083_addinreseed[] = {0}; +static const unsigned char kat2083_addin0[] = {0}; +static const unsigned char kat2083_addin1[] = {0}; +static const unsigned char kat2083_retbits[] = { + 0x6c, 0x21, 0x27, 0x03, 0xa2, 0x78, 0x35, 0x80, 0xf2, 0xfc, 0xb4, 0xdc, + 0x48, 0x56, 0x13, 0x52, 0xcf, 0x4b, 0xf2, 0x3c, 0xf1, 0xca, 0x3f, 0x42, + 0x76, 0x29, 0x23, 0xb9, 0xfa, 0xd3, 0x52, 0xd2, 0xef, 0x63, 0x83, 0x67, + 0x60, 0x75, 0x67, 0x21, 0xa3, 0xcd, 0x91, 0x53, 0xd5, 0xdc, 0x3e, 0x96, + 0xa2, 0xd7, 0x2a, 0xcd, 0x5e, 0x6b, 0xd9, 0xd7, 0xa3, 0x60, 0xf9, 0xca, + 0x05, 0x10, 0x3c, 0x3f, +}; +static const struct drbg_kat_pr_false kat2083_t = { + 12, kat2083_entropyin, kat2083_nonce, kat2083_persstr, + kat2083_entropyinreseed, kat2083_addinreseed, kat2083_addin0, + kat2083_addin1, kat2083_retbits +}; +static const struct drbg_kat kat2083 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2083_t +}; + +static const unsigned char kat2084_entropyin[] = { + 0xa5, 0xcb, 0xff, 0x0d, 0x43, 0x58, 0x97, 0xec, 0xc9, 0xa7, 0x87, 0xf8, + 0x05, 0xbb, 0xdb, 0x26, 0xb7, 0xae, 0x87, 0x40, 0xf6, 0xb8, 0x4a, 0x46, + 0x51, 0x3e, 0xfb, 0x2c, 0xc9, 0x72, 0x04, 0xce, +}; +static const unsigned char kat2084_nonce[] = { + 0x76, 0xa0, 0x6e, 0xd1, 0xed, 0xe2, 0x64, 0xa2, 0xac, 0x16, 0xa5, 0x80, + 0x50, 0xe1, 0x91, 0xf9, +}; +static const unsigned char kat2084_persstr[] = { + 0x6f, 0x5c, 0xd7, 0x38, 0x55, 0xfa, 0x56, 0x96, 0x6d, 0x62, 0xd5, 0x04, + 0xe3, 0x21, 0x16, 0x64, 0xed, 0xaa, 0xff, 0x51, 0x81, 0x8e, 0x7a, 0x30, + 0x90, 0x4c, 0x3a, 0xe4, 0xb1, 0xa0, 0x4a, 0x51, +}; +static const unsigned char kat2084_entropyinreseed[] = { + 0x42, 0xe6, 0xb1, 0x57, 0xab, 0x34, 0x19, 0x0f, 0x82, 0x60, 0xda, 0x99, + 0x69, 0xa6, 0xfa, 0x35, 0xec, 0x31, 0x3d, 0x04, 0x4f, 0xe5, 0xef, 0x96, + 0xf6, 0xec, 0x49, 0x7f, 0xe1, 0xe5, 0x26, 0xd8, +}; +static const unsigned char kat2084_addinreseed[] = {0}; +static const unsigned char kat2084_addin0[] = {0}; +static const unsigned char kat2084_addin1[] = {0}; +static const unsigned char kat2084_retbits[] = { + 0x6d, 0x5d, 0xf4, 0xde, 0xc9, 0x97, 0xc5, 0x9a, 0x36, 0x30, 0xef, 0xdf, + 0xa9, 0xd7, 0x47, 0xca, 0x8c, 0x82, 0xa8, 0x63, 0x05, 0x61, 0x2d, 0x40, + 0x43, 0x91, 0x62, 0xad, 0x48, 0x5d, 0x47, 0xc9, 0x3e, 0xf4, 0x4b, 0x88, + 0x4f, 0x69, 0xdf, 0x3c, 0x4a, 0xb4, 0x0a, 0x2e, 0x4e, 0xa6, 0x3a, 0x45, + 0x51, 0x56, 0x41, 0x5f, 0x31, 0xa3, 0x1f, 0xdd, 0xb6, 0xb1, 0x8d, 0x9a, + 0xe1, 0xf3, 0xcc, 0x1a, +}; +static const struct drbg_kat_pr_false kat2084_t = { + 13, kat2084_entropyin, kat2084_nonce, kat2084_persstr, + kat2084_entropyinreseed, kat2084_addinreseed, kat2084_addin0, + kat2084_addin1, kat2084_retbits +}; +static const struct drbg_kat kat2084 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2084_t +}; + +static const unsigned char kat2085_entropyin[] = { + 0x92, 0x52, 0x17, 0x8c, 0x52, 0xd1, 0x12, 0x48, 0xa0, 0x56, 0x91, 0x2f, + 0x51, 0x00, 0xa3, 0xd7, 0x58, 0x3b, 0xa4, 0x1c, 0x91, 0xe5, 0x31, 0xb7, + 0x55, 0xa9, 0x3a, 0xc5, 0xe0, 0xc6, 0x1b, 0xde, +}; +static const unsigned char kat2085_nonce[] = { + 0x9e, 0xe9, 0x82, 0xdf, 0xbd, 0x23, 0x60, 0x75, 0x35, 0x9a, 0x6f, 0x19, + 0x6b, 0xc0, 0x03, 0x9f, +}; +static const unsigned char kat2085_persstr[] = { + 0x58, 0x62, 0x5e, 0x96, 0xe0, 0x3c, 0x78, 0x9f, 0x00, 0x65, 0x9e, 0xc4, + 0xcc, 0x7a, 0x13, 0xb3, 0x14, 0x04, 0xb9, 0x91, 0x6d, 0x8b, 0xb7, 0x6f, + 0x90, 0x9f, 0x60, 0xc0, 0x85, 0xfe, 0xd9, 0xa4, +}; +static const unsigned char kat2085_entropyinreseed[] = { + 0xde, 0xaa, 0x87, 0x6e, 0x0c, 0x1b, 0xbd, 0xfd, 0x5d, 0xd7, 0xac, 0xf8, + 0x8b, 0x53, 0x20, 0xbf, 0x9b, 0xd1, 0xcc, 0x0a, 0x95, 0xc7, 0x46, 0x16, + 0xe6, 0x06, 0x6c, 0xff, 0xd9, 0x13, 0xdd, 0x7a, +}; +static const unsigned char kat2085_addinreseed[] = {0}; +static const unsigned char kat2085_addin0[] = {0}; +static const unsigned char kat2085_addin1[] = {0}; +static const unsigned char kat2085_retbits[] = { + 0x34, 0x0a, 0xfc, 0x31, 0x54, 0xde, 0xff, 0xc2, 0xd8, 0xe2, 0xb9, 0xf9, + 0xbb, 0x1d, 0x1c, 0x69, 0x57, 0x6c, 0x6b, 0x35, 0x57, 0x73, 0xe2, 0x79, + 0xf0, 0x7e, 0x23, 0x26, 0x7e, 0xea, 0x72, 0xd3, 0xcd, 0x70, 0x67, 0xf0, + 0xc2, 0xdf, 0xa5, 0x84, 0xf0, 0xfd, 0x1f, 0xe8, 0xe6, 0x40, 0x05, 0x87, + 0x95, 0xbb, 0x24, 0xea, 0xb4, 0xe5, 0xda, 0x36, 0x14, 0x83, 0x48, 0x70, + 0x38, 0x02, 0xb5, 0xfb, +}; +static const struct drbg_kat_pr_false kat2085_t = { + 14, kat2085_entropyin, kat2085_nonce, kat2085_persstr, + kat2085_entropyinreseed, kat2085_addinreseed, kat2085_addin0, + kat2085_addin1, kat2085_retbits +}; +static const struct drbg_kat kat2085 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2085_t +}; + +static const unsigned char kat2086_entropyin[] = { + 0xfa, 0xfa, 0x5b, 0x9d, 0x43, 0xae, 0xfb, 0x06, 0x2a, 0xff, 0x96, 0x0c, + 0x01, 0xd1, 0xf7, 0x43, 0x9f, 0x8f, 0x00, 0xe5, 0xde, 0x1b, 0x23, 0x28, + 0xc8, 0xdd, 0xf1, 0xdf, 0xc6, 0xcc, 0x5f, 0x33, +}; +static const unsigned char kat2086_nonce[] = { + 0x6c, 0xf9, 0xc5, 0x92, 0x5e, 0xfd, 0x88, 0x6c, 0xab, 0x50, 0xce, 0x85, + 0xbb, 0x07, 0x8b, 0xd3, +}; +static const unsigned char kat2086_persstr[] = { + 0xbf, 0xc8, 0xc5, 0xeb, 0x0e, 0x41, 0x07, 0x7e, 0xb9, 0xfb, 0xb0, 0xaa, + 0x82, 0xbe, 0xd7, 0xa7, 0x69, 0x2a, 0x3a, 0xbf, 0x89, 0x7f, 0x00, 0xa0, + 0x21, 0x89, 0x7a, 0x01, 0x83, 0xd8, 0x59, 0x01, +}; +static const unsigned char kat2086_entropyinreseed[] = { + 0x23, 0x47, 0x61, 0xb5, 0x8f, 0x9f, 0x79, 0x35, 0xed, 0x4e, 0x42, 0x01, + 0xa8, 0x76, 0xcf, 0x79, 0x64, 0x65, 0xf9, 0x0b, 0x94, 0xd8, 0x85, 0xe8, + 0xb7, 0x24, 0x89, 0x4a, 0x19, 0xa6, 0x72, 0x3f, +}; +static const unsigned char kat2086_addinreseed[] = { + 0x43, 0xa4, 0xe4, 0x84, 0xd1, 0x47, 0xa9, 0x25, 0x52, 0x99, 0xeb, 0xb8, + 0x93, 0x45, 0xf2, 0xa2, 0xb9, 0xf3, 0x8b, 0xb5, 0x8f, 0xd2, 0x95, 0xd7, + 0x37, 0xe8, 0xac, 0x2f, 0x4f, 0x02, 0xa6, 0x76, +}; +static const unsigned char kat2086_addin0[] = { + 0x0c, 0xe1, 0x84, 0x00, 0xcc, 0xf5, 0x10, 0xa3, 0x8f, 0xe7, 0xe2, 0xda, + 0x4a, 0xf7, 0xd9, 0x38, 0x74, 0xb1, 0x28, 0x2d, 0x8a, 0xa4, 0x90, 0x74, + 0xb7, 0xde, 0x92, 0x4a, 0xdb, 0x40, 0xdc, 0x3e, +}; +static const unsigned char kat2086_addin1[] = { + 0x68, 0x74, 0x2f, 0x45, 0x43, 0xd1, 0xa2, 0x50, 0x66, 0x00, 0xf2, 0xae, + 0x8f, 0xb7, 0x18, 0xde, 0xcb, 0x2f, 0xa3, 0x0b, 0x24, 0xcc, 0x5b, 0xd6, + 0xd3, 0xda, 0xf0, 0x51, 0x1a, 0x9d, 0x91, 0xe8, +}; +static const unsigned char kat2086_retbits[] = { + 0x96, 0x6d, 0xb3, 0xb1, 0xc9, 0x27, 0x15, 0xcb, 0x59, 0xac, 0x23, 0x86, + 0x0d, 0x2b, 0x13, 0x4b, 0x54, 0x11, 0x2a, 0x99, 0xb1, 0x16, 0xb8, 0xd4, + 0x98, 0x36, 0x6c, 0x29, 0x26, 0xf1, 0xcc, 0xda, 0x76, 0xba, 0x3f, 0x7d, + 0x7c, 0x28, 0x2d, 0x5e, 0xdc, 0x1f, 0x66, 0x4d, 0x22, 0x73, 0x8a, 0x45, + 0xd4, 0xbb, 0x24, 0x40, 0xe5, 0x5b, 0x6f, 0xd9, 0x2b, 0xe8, 0x9c, 0xa7, + 0xc1, 0xce, 0x87, 0x5d, +}; +static const struct drbg_kat_pr_false kat2086_t = { + 0, kat2086_entropyin, kat2086_nonce, kat2086_persstr, + kat2086_entropyinreseed, kat2086_addinreseed, kat2086_addin0, + kat2086_addin1, kat2086_retbits +}; +static const struct drbg_kat kat2086 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2086_t +}; + +static const unsigned char kat2087_entropyin[] = { + 0x28, 0x2f, 0x3f, 0x1e, 0xf1, 0x2e, 0x70, 0x53, 0x7e, 0xa5, 0x3f, 0x17, + 0x70, 0x57, 0x99, 0xfd, 0xcc, 0x00, 0x48, 0xa8, 0x8e, 0x2d, 0xcc, 0x7d, + 0xf2, 0x23, 0x25, 0x1a, 0x70, 0x9e, 0xf9, 0xf5, +}; +static const unsigned char kat2087_nonce[] = { + 0x70, 0x12, 0xa2, 0xa5, 0xd0, 0x14, 0x12, 0x09, 0x57, 0x44, 0xed, 0x53, + 0x06, 0x81, 0x5d, 0x57, +}; +static const unsigned char kat2087_persstr[] = { + 0x4d, 0xe7, 0x98, 0x31, 0x90, 0x3f, 0x0e, 0x24, 0xb9, 0x59, 0x62, 0x05, + 0x4e, 0xed, 0x06, 0x16, 0xa3, 0xa7, 0xa9, 0x45, 0xff, 0x2b, 0x9d, 0xe8, + 0xfd, 0x63, 0x1e, 0xa0, 0x8b, 0xae, 0xf3, 0xd0, +}; +static const unsigned char kat2087_entropyinreseed[] = { + 0xac, 0xe3, 0x29, 0xd7, 0x9a, 0xf4, 0x81, 0xc1, 0xca, 0x9d, 0xc2, 0x88, + 0x1d, 0x73, 0x4a, 0x10, 0x56, 0x79, 0x48, 0xb5, 0x96, 0xb7, 0xbe, 0xeb, + 0x0f, 0xc5, 0x13, 0x84, 0x0e, 0x5c, 0x58, 0x3d, +}; +static const unsigned char kat2087_addinreseed[] = { + 0x73, 0x21, 0xa3, 0x30, 0x52, 0x73, 0x69, 0x4e, 0xba, 0x15, 0xa9, 0xca, + 0x81, 0x09, 0xb9, 0x09, 0x98, 0x16, 0x27, 0xf6, 0x93, 0xa6, 0xf1, 0xa9, + 0x61, 0x6e, 0x63, 0xf8, 0xdb, 0xe4, 0xcb, 0x50, +}; +static const unsigned char kat2087_addin0[] = { + 0x3b, 0xd4, 0x34, 0x98, 0x1f, 0x58, 0xfa, 0xf8, 0x21, 0x22, 0xe6, 0x12, + 0xae, 0x8a, 0x92, 0x5f, 0x6a, 0xbb, 0x6a, 0x2c, 0x95, 0x0a, 0x48, 0x61, + 0x10, 0x7e, 0xfa, 0x69, 0x92, 0x27, 0xc6, 0x6d, +}; +static const unsigned char kat2087_addin1[] = { + 0x68, 0x36, 0x96, 0x5c, 0x88, 0x75, 0x27, 0x8c, 0xa7, 0x8e, 0xad, 0x9e, + 0x59, 0x62, 0x89, 0xb0, 0x71, 0x53, 0xf5, 0xc4, 0x2d, 0x99, 0x73, 0xf1, + 0xb8, 0xb5, 0x30, 0x24, 0x4a, 0xd1, 0xaa, 0x3d, +}; +static const unsigned char kat2087_retbits[] = { + 0xc4, 0xce, 0x3a, 0x78, 0xf6, 0xbe, 0x46, 0x7a, 0x08, 0xed, 0x78, 0x3a, + 0x95, 0x7f, 0x63, 0x97, 0xfc, 0xc9, 0x05, 0xee, 0x83, 0x6d, 0xcf, 0xe0, + 0x47, 0xe2, 0x8a, 0xa7, 0xe9, 0x2d, 0x66, 0x98, 0x6f, 0x41, 0xf8, 0x6b, + 0xfc, 0xc7, 0xce, 0xef, 0x93, 0x23, 0xe0, 0x05, 0x39, 0x77, 0x27, 0x68, + 0x14, 0x27, 0x8c, 0x3d, 0x3b, 0x60, 0x6a, 0xe1, 0x19, 0x5d, 0xef, 0xdb, + 0xab, 0x71, 0x41, 0xac, +}; +static const struct drbg_kat_pr_false kat2087_t = { + 1, kat2087_entropyin, kat2087_nonce, kat2087_persstr, + kat2087_entropyinreseed, kat2087_addinreseed, kat2087_addin0, + kat2087_addin1, kat2087_retbits +}; +static const struct drbg_kat kat2087 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2087_t +}; + +static const unsigned char kat2088_entropyin[] = { + 0x97, 0xb9, 0x02, 0xf2, 0x88, 0x89, 0x29, 0xaa, 0x89, 0xb8, 0x75, 0x14, + 0xb1, 0x22, 0x1e, 0xeb, 0xa8, 0xed, 0xa1, 0x2d, 0x6c, 0x5a, 0x60, 0xd6, + 0x4a, 0xd1, 0x2d, 0x18, 0x57, 0x67, 0xfa, 0x51, +}; +static const unsigned char kat2088_nonce[] = { + 0x8f, 0x07, 0x51, 0x05, 0xed, 0xf8, 0x6d, 0xa4, 0x0d, 0xb7, 0x6f, 0x5c, + 0xc9, 0x77, 0x69, 0x5a, +}; +static const unsigned char kat2088_persstr[] = { + 0x1b, 0x05, 0x17, 0xee, 0x64, 0x0f, 0x1e, 0xc6, 0xbb, 0xfc, 0x4f, 0xac, + 0x43, 0x73, 0xe4, 0xc5, 0xee, 0x2c, 0x8e, 0x1f, 0x4a, 0x72, 0x1b, 0x41, + 0x48, 0x7a, 0x96, 0x8c, 0x5c, 0x05, 0x8c, 0x99, +}; +static const unsigned char kat2088_entropyinreseed[] = { + 0x4b, 0x44, 0x08, 0x99, 0xf9, 0x8b, 0x9b, 0x71, 0xd0, 0xfc, 0x14, 0xa1, + 0x00, 0x30, 0x8f, 0x1e, 0x74, 0xb8, 0xbb, 0xe6, 0x1f, 0x60, 0xe4, 0x7f, + 0x88, 0x7e, 0x60, 0x43, 0x40, 0x53, 0x97, 0xa2, +}; +static const unsigned char kat2088_addinreseed[] = { + 0x05, 0xd3, 0x31, 0x03, 0x39, 0x0b, 0xfb, 0xa0, 0x3e, 0xef, 0xfc, 0x14, + 0x03, 0x79, 0xa8, 0x1c, 0xfc, 0x84, 0x3d, 0x27, 0xa6, 0x25, 0xb5, 0x23, + 0xb4, 0x0e, 0x3d, 0xfd, 0xfd, 0xe9, 0xdd, 0xfd, +}; +static const unsigned char kat2088_addin0[] = { + 0xde, 0x7a, 0x2f, 0x05, 0x70, 0x0c, 0x70, 0x71, 0x29, 0x08, 0xb2, 0xc7, + 0x45, 0xb4, 0xfb, 0x88, 0x5b, 0x2a, 0xe8, 0x79, 0x1f, 0x9a, 0x17, 0x7d, + 0xdf, 0x98, 0xab, 0x89, 0x34, 0x26, 0x6c, 0x6e, +}; +static const unsigned char kat2088_addin1[] = { + 0x62, 0x33, 0x5d, 0x94, 0xb4, 0x67, 0x35, 0x26, 0xdb, 0x73, 0x2f, 0x12, + 0x37, 0xde, 0x72, 0x30, 0x8b, 0x32, 0xe7, 0xcf, 0xc7, 0xa1, 0x38, 0x71, + 0x6c, 0x4b, 0xaa, 0x61, 0x17, 0xb8, 0xfc, 0x99, +}; +static const unsigned char kat2088_retbits[] = { + 0xef, 0xcd, 0x4f, 0xd2, 0x23, 0x2a, 0x48, 0x4e, 0xee, 0x54, 0x47, 0xa1, + 0x1e, 0xe2, 0xac, 0xfc, 0x45, 0x23, 0x77, 0x53, 0x4d, 0x45, 0x3f, 0x32, + 0x0b, 0xa7, 0x3b, 0xe4, 0xc4, 0xa1, 0x5e, 0xa1, 0x2d, 0xda, 0x11, 0x49, + 0xd8, 0x5f, 0x80, 0x50, 0xc7, 0xa2, 0x0f, 0xf6, 0x81, 0xb9, 0x96, 0xea, + 0x78, 0x64, 0x80, 0xd8, 0x2e, 0x88, 0x5d, 0xfc, 0xb6, 0x4a, 0xba, 0x55, + 0x8a, 0xaa, 0xcd, 0xba, +}; +static const struct drbg_kat_pr_false kat2088_t = { + 2, kat2088_entropyin, kat2088_nonce, kat2088_persstr, + kat2088_entropyinreseed, kat2088_addinreseed, kat2088_addin0, + kat2088_addin1, kat2088_retbits +}; +static const struct drbg_kat kat2088 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2088_t +}; + +static const unsigned char kat2089_entropyin[] = { + 0x15, 0x0a, 0x91, 0xb6, 0x3c, 0x28, 0xa2, 0x37, 0x4c, 0x06, 0xf7, 0x0a, + 0x08, 0xdb, 0x87, 0x4e, 0x58, 0x7e, 0x17, 0x2f, 0x36, 0xd2, 0xc8, 0x04, + 0x4f, 0x08, 0x58, 0xc6, 0x1b, 0x1a, 0xa9, 0xfd, +}; +static const unsigned char kat2089_nonce[] = { + 0x34, 0x9b, 0x82, 0x28, 0xc2, 0x2d, 0xd7, 0x62, 0xaa, 0x86, 0x08, 0x08, + 0x09, 0xde, 0xda, 0x5f, +}; +static const unsigned char kat2089_persstr[] = { + 0x8f, 0x32, 0xa7, 0x7d, 0xa1, 0xaf, 0x4a, 0xd1, 0x41, 0x96, 0x0f, 0x1a, + 0x69, 0xf4, 0xef, 0xc9, 0x90, 0x50, 0x73, 0xd4, 0x24, 0x3d, 0x9b, 0x0e, + 0xa0, 0x99, 0x6f, 0xf4, 0x5f, 0x24, 0xc7, 0x20, +}; +static const unsigned char kat2089_entropyinreseed[] = { + 0x35, 0x8b, 0x5e, 0xdb, 0x24, 0xc9, 0xa9, 0x4d, 0x3b, 0x4b, 0x91, 0xd9, + 0x25, 0x16, 0x2c, 0x52, 0x43, 0x28, 0x03, 0xfb, 0x90, 0x26, 0x8a, 0xef, + 0xf8, 0x5e, 0x02, 0x7e, 0x47, 0xfe, 0xe9, 0x49, +}; +static const unsigned char kat2089_addinreseed[] = { + 0x0e, 0x2e, 0xb1, 0x1e, 0x8f, 0x71, 0x2b, 0xb5, 0xf6, 0x22, 0x7a, 0x58, + 0x97, 0x88, 0xf8, 0x91, 0x1c, 0x83, 0x80, 0x21, 0x86, 0x6f, 0xb9, 0x3a, + 0x87, 0x50, 0x44, 0x13, 0x0d, 0x54, 0x9b, 0xae, +}; +static const unsigned char kat2089_addin0[] = { + 0xd0, 0xd3, 0xd6, 0x02, 0xb9, 0xe4, 0x3d, 0x8a, 0x4b, 0xbd, 0xe7, 0x3e, + 0xe9, 0x3e, 0xec, 0xbe, 0x78, 0xdf, 0xa5, 0x34, 0xf1, 0xf7, 0x4b, 0xad, + 0xe7, 0xeb, 0x38, 0x66, 0x90, 0xf5, 0xb3, 0x03, +}; +static const unsigned char kat2089_addin1[] = { + 0x2d, 0xe2, 0x4b, 0x49, 0x17, 0xb9, 0xd6, 0x42, 0x0e, 0x64, 0x6c, 0x31, + 0x41, 0x31, 0x0c, 0x45, 0xe4, 0x93, 0xc3, 0x1d, 0x53, 0x25, 0xa8, 0x5c, + 0x1a, 0x6f, 0x56, 0xdd, 0x87, 0x3a, 0xba, 0x20, +}; +static const unsigned char kat2089_retbits[] = { + 0xb5, 0x29, 0x88, 0x89, 0x75, 0x8b, 0xcf, 0xec, 0x31, 0x83, 0x87, 0x5b, + 0x4d, 0x73, 0xf8, 0x4a, 0x28, 0xa7, 0x83, 0x93, 0xbe, 0x7e, 0xbd, 0x4b, + 0xa3, 0xd4, 0x2e, 0xfb, 0xa7, 0x4e, 0xd6, 0xf5, 0xa5, 0x85, 0xd9, 0xe6, + 0x77, 0x56, 0x85, 0x86, 0x2d, 0xc4, 0x5d, 0x37, 0xe1, 0x32, 0x20, 0x08, + 0x55, 0xf8, 0xf8, 0x64, 0x4b, 0x93, 0x59, 0xd8, 0x46, 0xd7, 0x4d, 0x00, + 0x08, 0x2a, 0xfd, 0xdd, +}; +static const struct drbg_kat_pr_false kat2089_t = { + 3, kat2089_entropyin, kat2089_nonce, kat2089_persstr, + kat2089_entropyinreseed, kat2089_addinreseed, kat2089_addin0, + kat2089_addin1, kat2089_retbits +}; +static const struct drbg_kat kat2089 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2089_t +}; + +static const unsigned char kat2090_entropyin[] = { + 0xce, 0x3c, 0x09, 0x74, 0x58, 0x3f, 0x1a, 0xa6, 0xd2, 0x4c, 0xa0, 0x12, + 0x85, 0x73, 0x44, 0x69, 0x4a, 0x01, 0x0d, 0xfc, 0x4a, 0xcc, 0x26, 0x05, + 0xd3, 0xd7, 0x3b, 0x12, 0xcf, 0x22, 0x8a, 0xe7, +}; +static const unsigned char kat2090_nonce[] = { + 0xf8, 0x2b, 0xc8, 0xab, 0x0a, 0x55, 0x64, 0xe3, 0xde, 0x71, 0x26, 0x3a, + 0x8a, 0x5f, 0x94, 0x3b, +}; +static const unsigned char kat2090_persstr[] = { + 0xde, 0x0b, 0xde, 0x27, 0x60, 0x40, 0x19, 0x72, 0x44, 0x35, 0x79, 0x5e, + 0xfd, 0x20, 0x4c, 0xb4, 0xc9, 0x39, 0x99, 0x52, 0x7c, 0x5b, 0x11, 0xc1, + 0x5d, 0x11, 0xe1, 0x1d, 0x3a, 0xa4, 0x82, 0xb7, +}; +static const unsigned char kat2090_entropyinreseed[] = { + 0x1e, 0xf1, 0xc0, 0xf6, 0xf5, 0x00, 0x24, 0xcd, 0xda, 0xcb, 0xed, 0x96, + 0xf2, 0x90, 0x9c, 0xa0, 0xa2, 0x94, 0x6b, 0x7c, 0x9b, 0x87, 0x41, 0x7e, + 0xd5, 0xf6, 0x8c, 0x4f, 0x9c, 0x20, 0xf3, 0x67, +}; +static const unsigned char kat2090_addinreseed[] = { + 0x5c, 0x44, 0x41, 0xf1, 0x1b, 0x37, 0x99, 0x5c, 0x9a, 0x6e, 0xd1, 0x71, + 0x01, 0xc3, 0xcd, 0x1f, 0x4b, 0x47, 0x3f, 0xb0, 0xdc, 0x9c, 0x13, 0x88, + 0xfa, 0xc6, 0xa1, 0x45, 0xab, 0x0b, 0xb7, 0xd2, +}; +static const unsigned char kat2090_addin0[] = { + 0x5c, 0xd7, 0x4a, 0xa3, 0xc2, 0xc9, 0x40, 0x64, 0x18, 0x7b, 0x00, 0x80, + 0x8c, 0x18, 0xcb, 0x6e, 0xe4, 0x39, 0x58, 0xb9, 0xf8, 0xca, 0xab, 0x17, + 0xe7, 0x73, 0x52, 0xe7, 0x30, 0xc1, 0x01, 0xaf, +}; +static const unsigned char kat2090_addin1[] = { + 0xde, 0x68, 0xa7, 0xf7, 0x5e, 0xf1, 0x8a, 0xbb, 0xb2, 0x46, 0x54, 0x39, + 0x84, 0xa2, 0x78, 0xa1, 0x1a, 0x6a, 0x37, 0xde, 0x68, 0x5a, 0x71, 0x5b, + 0x08, 0xa8, 0xa3, 0xe0, 0x79, 0xbb, 0x9e, 0xa8, +}; +static const unsigned char kat2090_retbits[] = { + 0x1b, 0x34, 0x56, 0x82, 0x5f, 0xaa, 0x79, 0x8f, 0x77, 0x03, 0x18, 0x68, + 0x7b, 0xa6, 0x2d, 0xf8, 0x61, 0xa1, 0x07, 0x81, 0xb8, 0x50, 0xd3, 0x25, + 0x4b, 0x52, 0x81, 0x50, 0x20, 0x39, 0xcc, 0x0e, 0x73, 0xee, 0xb8, 0x5a, + 0x9c, 0x79, 0x31, 0x73, 0x41, 0x74, 0xeb, 0x3e, 0x08, 0x6b, 0x70, 0x49, + 0x1f, 0xd7, 0x35, 0xc3, 0x9f, 0x55, 0xe6, 0x7f, 0x92, 0x8d, 0xdf, 0xb4, + 0xe8, 0xec, 0xe3, 0xd0, +}; +static const struct drbg_kat_pr_false kat2090_t = { + 4, kat2090_entropyin, kat2090_nonce, kat2090_persstr, + kat2090_entropyinreseed, kat2090_addinreseed, kat2090_addin0, + kat2090_addin1, kat2090_retbits +}; +static const struct drbg_kat kat2090 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2090_t +}; + +static const unsigned char kat2091_entropyin[] = { + 0xf3, 0x45, 0x60, 0xff, 0x22, 0xfe, 0x4c, 0x09, 0x19, 0xca, 0xe7, 0x39, + 0x9b, 0xb8, 0xfc, 0x99, 0x22, 0x8e, 0xde, 0xb6, 0x52, 0x4b, 0xbc, 0x62, + 0x07, 0xed, 0xc6, 0x36, 0x8a, 0xad, 0xa0, 0xfc, +}; +static const unsigned char kat2091_nonce[] = { + 0x39, 0x4b, 0x73, 0xda, 0x65, 0xab, 0x35, 0xcc, 0xba, 0xd6, 0x1a, 0xa3, + 0x01, 0x0d, 0x7a, 0xe0, +}; +static const unsigned char kat2091_persstr[] = { + 0x4c, 0xb4, 0x2f, 0x76, 0x40, 0x81, 0x41, 0x5f, 0x1c, 0x34, 0x68, 0xf9, + 0x25, 0xf5, 0xe3, 0xc0, 0x1c, 0x31, 0x62, 0xd5, 0x52, 0x01, 0x7d, 0x9b, + 0x4c, 0xcc, 0x49, 0xa3, 0xac, 0x9a, 0x19, 0x31, +}; +static const unsigned char kat2091_entropyinreseed[] = { + 0x2c, 0xdf, 0x1e, 0x13, 0x1f, 0xec, 0x0d, 0xe6, 0x53, 0xb7, 0x84, 0xe8, + 0x92, 0x38, 0x89, 0x86, 0xb2, 0xf2, 0x81, 0x77, 0xc4, 0xf5, 0xa7, 0x13, + 0x50, 0x17, 0xbf, 0x17, 0xda, 0x30, 0xd6, 0xf8, +}; +static const unsigned char kat2091_addinreseed[] = { + 0x37, 0xc0, 0x3b, 0x05, 0x54, 0x28, 0x77, 0x8e, 0xfe, 0x9e, 0x2a, 0x49, + 0x78, 0x1b, 0x02, 0xca, 0x66, 0xaa, 0x0d, 0xc4, 0xc2, 0x74, 0x80, 0x01, + 0x09, 0x20, 0x3e, 0xda, 0x12, 0xa3, 0x42, 0x73, +}; +static const unsigned char kat2091_addin0[] = { + 0x2b, 0x38, 0x12, 0x52, 0xd6, 0xad, 0x41, 0x93, 0x56, 0xe7, 0xd7, 0x78, + 0xaa, 0xf4, 0x0d, 0x0c, 0x1b, 0x7e, 0x7b, 0xa8, 0x86, 0x2f, 0x90, 0x75, + 0x67, 0x23, 0xe6, 0xab, 0x84, 0xba, 0xf0, 0xc8, +}; +static const unsigned char kat2091_addin1[] = { + 0xd0, 0x36, 0xef, 0x8e, 0x08, 0x9c, 0x53, 0x52, 0xf8, 0x00, 0x7d, 0xed, + 0xbf, 0x49, 0x3d, 0xc3, 0x66, 0x2d, 0xbd, 0x47, 0x51, 0x52, 0x9d, 0x95, + 0xa6, 0x75, 0x5d, 0x3e, 0x5a, 0x27, 0xed, 0x80, +}; +static const unsigned char kat2091_retbits[] = { + 0xa2, 0x83, 0x69, 0xdb, 0xde, 0xe9, 0xa8, 0x4b, 0xd0, 0xe5, 0x99, 0x7a, + 0xc1, 0x50, 0x58, 0x11, 0x5a, 0x22, 0xc9, 0xa3, 0x11, 0x9d, 0x24, 0x38, + 0xca, 0x86, 0xa7, 0x17, 0xb3, 0xe1, 0x60, 0xfe, 0x67, 0x50, 0xd2, 0x88, + 0xca, 0x73, 0xf3, 0xbb, 0x4a, 0x93, 0xdc, 0xd5, 0x37, 0x50, 0x26, 0x28, + 0xde, 0x0d, 0xcb, 0x75, 0xae, 0xfd, 0x19, 0xc7, 0xec, 0xff, 0x04, 0x44, + 0xf1, 0x9f, 0x78, 0x74, +}; +static const struct drbg_kat_pr_false kat2091_t = { + 5, kat2091_entropyin, kat2091_nonce, kat2091_persstr, + kat2091_entropyinreseed, kat2091_addinreseed, kat2091_addin0, + kat2091_addin1, kat2091_retbits +}; +static const struct drbg_kat kat2091 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2091_t +}; + +static const unsigned char kat2092_entropyin[] = { + 0xcc, 0x20, 0xf6, 0x7e, 0xef, 0x21, 0x9f, 0x30, 0xe5, 0x10, 0x8c, 0x0a, + 0x14, 0xaf, 0x05, 0x5a, 0x53, 0xb4, 0xa0, 0xe8, 0x80, 0x5c, 0x0a, 0xfb, + 0xb7, 0x96, 0x54, 0x67, 0xd5, 0x58, 0x1e, 0xef, +}; +static const unsigned char kat2092_nonce[] = { + 0x60, 0xbb, 0xca, 0x8a, 0xbb, 0x53, 0x80, 0xe6, 0x2d, 0xa2, 0x6f, 0x8e, + 0xec, 0x80, 0x21, 0x2a, +}; +static const unsigned char kat2092_persstr[] = { + 0xf9, 0x8d, 0x53, 0x7e, 0x64, 0xd3, 0x26, 0x3e, 0xe4, 0x1a, 0x2f, 0x1c, + 0x93, 0xdd, 0x76, 0x17, 0xd4, 0x57, 0xe0, 0x8a, 0x0d, 0x49, 0x04, 0x6b, + 0xc1, 0x74, 0x10, 0xec, 0xe7, 0xb1, 0x42, 0x7c, +}; +static const unsigned char kat2092_entropyinreseed[] = { + 0x61, 0x45, 0x87, 0x08, 0x6c, 0xec, 0x14, 0x6f, 0xd1, 0x5c, 0x1c, 0x45, + 0x60, 0x23, 0x96, 0x17, 0x41, 0x35, 0x96, 0x06, 0x96, 0xbf, 0x78, 0x54, + 0x66, 0x0f, 0x50, 0x4d, 0xde, 0xb1, 0xfc, 0x03, +}; +static const unsigned char kat2092_addinreseed[] = { + 0x43, 0x2a, 0xed, 0xc0, 0x93, 0xe9, 0xa3, 0xf5, 0xcf, 0xf3, 0x43, 0x37, + 0xf9, 0xd1, 0xf0, 0xb6, 0xb2, 0xf4, 0xd9, 0xe9, 0x55, 0x15, 0x6a, 0x55, + 0xff, 0xfc, 0x59, 0x17, 0x03, 0x87, 0x3a, 0xa7, +}; +static const unsigned char kat2092_addin0[] = { + 0x13, 0xc3, 0x85, 0x0d, 0x8a, 0x13, 0xe2, 0x05, 0xa8, 0xe8, 0x16, 0xd3, + 0xee, 0xa3, 0x1b, 0x96, 0xc4, 0x71, 0xb8, 0xc2, 0x9a, 0xd0, 0x37, 0xd6, + 0x8c, 0xda, 0xf0, 0x53, 0x72, 0xf9, 0x82, 0x66, +}; +static const unsigned char kat2092_addin1[] = { + 0xfe, 0x43, 0x11, 0xce, 0x3a, 0x9b, 0xf6, 0xe1, 0x05, 0xa0, 0x7a, 0x9f, + 0x6e, 0xbd, 0xae, 0xc8, 0x1f, 0xab, 0x96, 0x82, 0x05, 0xce, 0xf6, 0x41, + 0x56, 0xdb, 0x09, 0xf6, 0xfd, 0xce, 0x62, 0x84, +}; +static const unsigned char kat2092_retbits[] = { + 0x98, 0xe0, 0xdc, 0xa2, 0x0d, 0x95, 0x6b, 0x4b, 0xe8, 0x0e, 0x62, 0xcd, + 0xc0, 0x3d, 0x5e, 0xa5, 0x45, 0x05, 0x70, 0x61, 0xe7, 0x2b, 0xf6, 0x06, + 0x05, 0x7d, 0xfc, 0xea, 0x0e, 0x0f, 0x48, 0x5b, 0x95, 0x55, 0x26, 0x38, + 0xd4, 0x4b, 0xee, 0xcc, 0x5c, 0xc6, 0xdb, 0x87, 0x6d, 0xff, 0x0b, 0xa9, + 0x5a, 0x0d, 0x15, 0x1a, 0xa0, 0xb7, 0x2f, 0x79, 0x9b, 0xfe, 0x49, 0xa9, + 0x3d, 0x86, 0xdd, 0xb9, +}; +static const struct drbg_kat_pr_false kat2092_t = { + 6, kat2092_entropyin, kat2092_nonce, kat2092_persstr, + kat2092_entropyinreseed, kat2092_addinreseed, kat2092_addin0, + kat2092_addin1, kat2092_retbits +}; +static const struct drbg_kat kat2092 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2092_t +}; + +static const unsigned char kat2093_entropyin[] = { + 0x09, 0xe4, 0xc1, 0xe0, 0xbc, 0x54, 0x01, 0x3b, 0xaa, 0x0f, 0x5f, 0x69, + 0x7c, 0xda, 0x89, 0x7a, 0x0f, 0xa4, 0x7c, 0x9a, 0x91, 0x85, 0xe2, 0xd0, + 0x34, 0x8a, 0x75, 0x66, 0x95, 0x76, 0x91, 0x43, +}; +static const unsigned char kat2093_nonce[] = { + 0xc5, 0x92, 0xfa, 0xe4, 0xaa, 0xcc, 0x3e, 0x2f, 0x6a, 0x41, 0x7c, 0x5a, + 0xf6, 0xc5, 0xc0, 0x30, +}; +static const unsigned char kat2093_persstr[] = { + 0x66, 0x02, 0x68, 0x0d, 0xd9, 0x37, 0xf7, 0xac, 0x34, 0xbc, 0xcc, 0x7b, + 0xa7, 0x79, 0x32, 0x9e, 0x37, 0xab, 0x46, 0xef, 0x70, 0xb3, 0x81, 0xdc, + 0x65, 0x71, 0xe0, 0x25, 0xe0, 0xea, 0x3a, 0x2e, +}; +static const unsigned char kat2093_entropyinreseed[] = { + 0x45, 0xf2, 0xbd, 0x8e, 0xbc, 0x9b, 0x2f, 0x57, 0x74, 0xe9, 0x3d, 0xe0, + 0x01, 0xed, 0x97, 0xf2, 0x5f, 0x76, 0x51, 0x5d, 0x74, 0x82, 0xa5, 0x5e, + 0x18, 0x12, 0x94, 0x1f, 0x79, 0x5e, 0x97, 0xb7, +}; +static const unsigned char kat2093_addinreseed[] = { + 0x58, 0xba, 0x0e, 0xda, 0x15, 0xdb, 0xf5, 0xb9, 0x0d, 0xef, 0x6d, 0xca, + 0xdd, 0xbf, 0xf8, 0x75, 0xda, 0x07, 0x89, 0x2d, 0x2b, 0xc3, 0xcc, 0x4b, + 0xef, 0xb5, 0x60, 0x89, 0x26, 0x28, 0x31, 0x82, +}; +static const unsigned char kat2093_addin0[] = { + 0xa9, 0x0e, 0xb4, 0xec, 0xe1, 0xa1, 0x0a, 0x5b, 0x3e, 0xb4, 0x44, 0x77, + 0x0b, 0x9f, 0xae, 0x2d, 0xb9, 0x5b, 0x52, 0x4d, 0x72, 0x2a, 0x61, 0xfb, + 0x68, 0x1c, 0x8d, 0xe9, 0xc8, 0x88, 0xf3, 0xd2, +}; +static const unsigned char kat2093_addin1[] = { + 0x77, 0xac, 0x3a, 0xe2, 0x46, 0xc4, 0x18, 0xba, 0x00, 0xfb, 0xf1, 0x11, + 0x0a, 0xac, 0x88, 0x37, 0x82, 0xfe, 0x89, 0x9b, 0x69, 0x7b, 0x83, 0x0f, + 0x72, 0x90, 0x49, 0x49, 0xa2, 0x31, 0xc7, 0x12, +}; +static const unsigned char kat2093_retbits[] = { + 0x6a, 0x9c, 0x6e, 0x15, 0x55, 0x19, 0x94, 0x77, 0x4d, 0xe0, 0x94, 0x27, + 0x04, 0x60, 0x24, 0x88, 0x07, 0xef, 0xee, 0xb1, 0xb1, 0x6b, 0x7d, 0xff, + 0x10, 0x2e, 0xbc, 0x33, 0xf0, 0x43, 0xdc, 0xa3, 0xa6, 0x8d, 0x46, 0xec, + 0x55, 0xcc, 0xbd, 0x89, 0x1b, 0xf4, 0x09, 0x95, 0x99, 0xc1, 0x95, 0xfe, + 0x38, 0x68, 0x07, 0xf6, 0x4e, 0x61, 0x2d, 0x5c, 0xd5, 0x64, 0x96, 0x19, + 0x5a, 0x1b, 0xed, 0xe7, +}; +static const struct drbg_kat_pr_false kat2093_t = { + 7, kat2093_entropyin, kat2093_nonce, kat2093_persstr, + kat2093_entropyinreseed, kat2093_addinreseed, kat2093_addin0, + kat2093_addin1, kat2093_retbits +}; +static const struct drbg_kat kat2093 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2093_t +}; + +static const unsigned char kat2094_entropyin[] = { + 0x62, 0xcf, 0x2b, 0x15, 0x9e, 0x28, 0x72, 0x15, 0xe9, 0x63, 0xa2, 0x89, + 0xf3, 0x63, 0xc4, 0x10, 0xde, 0x2e, 0x19, 0xdd, 0xce, 0x44, 0xfa, 0xc9, + 0xe2, 0x6b, 0x7e, 0xd4, 0x4a, 0xd1, 0xf9, 0x71, +}; +static const unsigned char kat2094_nonce[] = { + 0xc4, 0xe5, 0xb2, 0x21, 0xae, 0x8b, 0xca, 0xec, 0xcc, 0x34, 0x81, 0xf1, + 0xc5, 0x06, 0x38, 0xf5, +}; +static const unsigned char kat2094_persstr[] = { + 0x14, 0x7f, 0x15, 0x24, 0xbe, 0xe0, 0xb0, 0x51, 0x26, 0x61, 0x11, 0x00, + 0xf7, 0x78, 0xe2, 0x23, 0x07, 0xca, 0x58, 0x93, 0xc5, 0x86, 0x8e, 0x13, + 0xc3, 0x41, 0x5d, 0x08, 0xc3, 0xf2, 0xd9, 0x98, +}; +static const unsigned char kat2094_entropyinreseed[] = { + 0xba, 0x37, 0x05, 0xc6, 0xae, 0xb6, 0x6d, 0xd1, 0x27, 0x86, 0xb8, 0xe3, + 0x5d, 0x6e, 0x5a, 0xac, 0xd4, 0xc2, 0x03, 0x0a, 0x95, 0x09, 0x3a, 0x8e, + 0xb0, 0x8e, 0xcb, 0x06, 0xd5, 0xab, 0x87, 0x6f, +}; +static const unsigned char kat2094_addinreseed[] = { + 0x32, 0x7e, 0x55, 0x80, 0xf4, 0xc9, 0xb3, 0x6f, 0x99, 0x94, 0x92, 0x74, + 0xb3, 0x91, 0xff, 0x1a, 0xc4, 0x65, 0xf1, 0xff, 0x30, 0x5d, 0x04, 0x4b, + 0x0c, 0x2e, 0x9d, 0x4f, 0xfc, 0x09, 0xf9, 0xf8, +}; +static const unsigned char kat2094_addin0[] = { + 0xcd, 0x1b, 0x49, 0x35, 0x86, 0x98, 0x94, 0xfe, 0xe3, 0xca, 0x2e, 0x18, + 0x34, 0x16, 0xe4, 0x4b, 0xf0, 0x98, 0x23, 0x94, 0x62, 0xf9, 0xa5, 0xa4, + 0x35, 0x95, 0xae, 0x59, 0x27, 0xc4, 0x0d, 0x2d, +}; +static const unsigned char kat2094_addin1[] = { + 0xa4, 0xe7, 0xb4, 0x7c, 0x9d, 0xe1, 0xf9, 0xd3, 0x63, 0x55, 0xe2, 0xfc, + 0x99, 0x20, 0x01, 0xa3, 0x72, 0x97, 0xa7, 0xca, 0xe7, 0x35, 0x2c, 0x27, + 0x2a, 0xf0, 0x19, 0x1a, 0x6f, 0x54, 0xbb, 0x2c, +}; +static const unsigned char kat2094_retbits[] = { + 0x89, 0xaa, 0xe1, 0x70, 0xab, 0xce, 0x1e, 0x86, 0xea, 0x52, 0x75, 0xdd, + 0x8c, 0x96, 0x0d, 0xfe, 0x29, 0xba, 0xb5, 0x49, 0x92, 0xea, 0x01, 0x3e, + 0x82, 0xdc, 0x89, 0xd8, 0x1c, 0xae, 0xe9, 0x2e, 0x72, 0x0c, 0xad, 0x6f, + 0x26, 0x1a, 0xf2, 0xb2, 0x0b, 0xa7, 0xfb, 0xfb, 0xa1, 0xfc, 0x2f, 0x68, + 0x43, 0xdb, 0x82, 0xf9, 0x1a, 0x40, 0x4c, 0x08, 0xb2, 0x65, 0xdf, 0x06, + 0xf9, 0x5b, 0x6d, 0x4e, +}; +static const struct drbg_kat_pr_false kat2094_t = { + 8, kat2094_entropyin, kat2094_nonce, kat2094_persstr, + kat2094_entropyinreseed, kat2094_addinreseed, kat2094_addin0, + kat2094_addin1, kat2094_retbits +}; +static const struct drbg_kat kat2094 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2094_t +}; + +static const unsigned char kat2095_entropyin[] = { + 0x8b, 0x61, 0xac, 0x65, 0xfe, 0x61, 0xa6, 0x2d, 0x1c, 0x14, 0x2d, 0xd4, + 0x43, 0xa2, 0xa9, 0x39, 0x11, 0xb5, 0xe3, 0x5c, 0x66, 0x26, 0xf8, 0xc4, + 0xd0, 0xc9, 0x1b, 0x81, 0xdd, 0x2f, 0xe5, 0x59, +}; +static const unsigned char kat2095_nonce[] = { + 0x05, 0xc2, 0xa2, 0x11, 0x9a, 0xdb, 0xc0, 0x96, 0x95, 0x1a, 0x35, 0xd9, + 0x22, 0xcb, 0x7e, 0xd0, +}; +static const unsigned char kat2095_persstr[] = { + 0x12, 0xf1, 0xc2, 0xd9, 0xde, 0xbe, 0xb8, 0x9a, 0xb6, 0x40, 0xbd, 0x0f, + 0xdd, 0x0b, 0xfb, 0x3e, 0x9f, 0x35, 0x6c, 0x22, 0xe9, 0x92, 0x51, 0x76, + 0xd0, 0x0d, 0x3b, 0x1d, 0x79, 0xf5, 0x9e, 0x41, +}; +static const unsigned char kat2095_entropyinreseed[] = { + 0x98, 0x76, 0x30, 0xfe, 0x62, 0x21, 0x90, 0xd0, 0x99, 0x3e, 0x79, 0xdc, + 0x0a, 0x69, 0x4d, 0x35, 0x8a, 0xdf, 0x09, 0x75, 0x99, 0x3c, 0xc1, 0x6e, + 0x7b, 0xde, 0x35, 0xcb, 0x9b, 0xaa, 0xd8, 0x42, +}; +static const unsigned char kat2095_addinreseed[] = { + 0x3d, 0x68, 0x64, 0xd4, 0xd0, 0x76, 0x52, 0xfe, 0xab, 0x92, 0x69, 0xad, + 0xad, 0xf1, 0xa7, 0x59, 0xe3, 0xf8, 0x72, 0x3a, 0xc0, 0xcf, 0x3b, 0x05, + 0xb8, 0x46, 0x39, 0x8e, 0xb2, 0x1b, 0xab, 0xac, +}; +static const unsigned char kat2095_addin0[] = { + 0xd8, 0x90, 0x61, 0x4d, 0x33, 0xbe, 0x07, 0xdf, 0x37, 0x80, 0x64, 0x4e, + 0xe4, 0x79, 0x38, 0x9a, 0x7a, 0xe7, 0x88, 0x7e, 0x28, 0xc2, 0x5d, 0x14, + 0xf7, 0x66, 0xf2, 0x89, 0xc7, 0x5f, 0x2c, 0x22, +}; +static const unsigned char kat2095_addin1[] = { + 0xd2, 0xb0, 0x29, 0xa2, 0xdd, 0x16, 0x6f, 0xc1, 0x75, 0xc6, 0x7d, 0xf9, + 0xc9, 0x8b, 0x4e, 0x16, 0x90, 0x0b, 0x1d, 0xc0, 0x20, 0xfa, 0x11, 0x39, + 0x33, 0xab, 0xa6, 0xc7, 0x72, 0x09, 0xe3, 0x30, +}; +static const unsigned char kat2095_retbits[] = { + 0x14, 0x62, 0xb7, 0x9b, 0xe2, 0x5c, 0xc4, 0x8b, 0x7b, 0xe8, 0x1f, 0x44, + 0xdf, 0x5f, 0xbb, 0x21, 0xba, 0xff, 0x03, 0x7e, 0xa8, 0x6e, 0x2a, 0x34, + 0x44, 0x09, 0xcb, 0x48, 0x31, 0x57, 0xef, 0x84, 0x85, 0x9d, 0x34, 0x6f, + 0x5c, 0x92, 0x50, 0xba, 0x45, 0x39, 0xa8, 0xd5, 0x98, 0x34, 0xb1, 0x56, + 0x73, 0xd4, 0x30, 0x36, 0x52, 0xf5, 0xc6, 0xd2, 0x73, 0x10, 0x6e, 0x05, + 0x3c, 0x57, 0x8d, 0x02, +}; +static const struct drbg_kat_pr_false kat2095_t = { + 9, kat2095_entropyin, kat2095_nonce, kat2095_persstr, + kat2095_entropyinreseed, kat2095_addinreseed, kat2095_addin0, + kat2095_addin1, kat2095_retbits +}; +static const struct drbg_kat kat2095 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2095_t +}; + +static const unsigned char kat2096_entropyin[] = { + 0x13, 0x99, 0x16, 0xe7, 0x4a, 0x74, 0x05, 0xa7, 0x0c, 0x09, 0xe3, 0x1b, + 0x65, 0x11, 0xe8, 0x5f, 0xb5, 0xf3, 0x87, 0xbc, 0xdb, 0xfc, 0x1c, 0x5e, + 0x4d, 0x93, 0xb7, 0x83, 0xda, 0x94, 0x98, 0x4a, +}; +static const unsigned char kat2096_nonce[] = { + 0x70, 0x9d, 0xba, 0x3d, 0xe6, 0xf7, 0x99, 0xed, 0x20, 0xa8, 0xfc, 0xc7, + 0x1c, 0xa7, 0xeb, 0x47, +}; +static const unsigned char kat2096_persstr[] = { + 0x08, 0x2f, 0xf0, 0xb5, 0x2f, 0x79, 0xf2, 0x8f, 0x63, 0x56, 0x86, 0xbf, + 0x9a, 0xd0, 0x41, 0x5a, 0x94, 0xea, 0x2a, 0x40, 0x39, 0x14, 0x4c, 0x7e, + 0x3d, 0xce, 0xf8, 0xe3, 0xa8, 0xd6, 0xcb, 0x4e, +}; +static const unsigned char kat2096_entropyinreseed[] = { + 0x72, 0x09, 0x7f, 0xf8, 0x3c, 0x04, 0x66, 0xc1, 0x8d, 0xc6, 0x64, 0xbc, + 0xa1, 0xf2, 0x17, 0xbf, 0xd4, 0x67, 0xbd, 0x38, 0xa8, 0xaa, 0xc1, 0x94, + 0x9f, 0x49, 0x96, 0xe1, 0x96, 0x70, 0xb8, 0x7f, +}; +static const unsigned char kat2096_addinreseed[] = { + 0x92, 0xea, 0xf3, 0x48, 0xc8, 0x20, 0xcc, 0x30, 0xd0, 0x0b, 0x9d, 0xd6, + 0xb4, 0x02, 0xd0, 0x76, 0x15, 0x8e, 0xe9, 0x57, 0xb1, 0x9e, 0x27, 0xe5, + 0xde, 0xe3, 0xea, 0x48, 0x2b, 0xce, 0x0a, 0x77, +}; +static const unsigned char kat2096_addin0[] = { + 0x6b, 0x9a, 0xf2, 0x7c, 0xf7, 0x94, 0xba, 0xe5, 0x6e, 0x69, 0xd0, 0xe8, + 0x79, 0xcb, 0xdb, 0x82, 0xfa, 0xc1, 0xe3, 0x72, 0xd0, 0x0a, 0x31, 0x58, + 0xff, 0x73, 0xd4, 0xcc, 0x76, 0x59, 0x01, 0x4a, +}; +static const unsigned char kat2096_addin1[] = { + 0xdd, 0x18, 0xc8, 0x13, 0x9f, 0xe9, 0xbd, 0x59, 0xef, 0xd5, 0x36, 0x02, + 0x24, 0x16, 0xf0, 0xe0, 0x38, 0x0f, 0x5f, 0x1d, 0xfd, 0x5e, 0x3e, 0x6a, + 0x19, 0x54, 0xa7, 0x30, 0xf0, 0x07, 0x08, 0xc7, +}; +static const unsigned char kat2096_retbits[] = { + 0xdd, 0xf3, 0xe7, 0xae, 0x96, 0x7d, 0xd3, 0xa1, 0xee, 0xfb, 0x82, 0x8a, + 0xf4, 0x20, 0x17, 0x05, 0x98, 0xd4, 0x64, 0xd3, 0xc2, 0xf7, 0x8d, 0xba, + 0xbf, 0x10, 0x17, 0x6e, 0x90, 0xbf, 0xda, 0xc2, 0xd0, 0x0d, 0x9a, 0xea, + 0x42, 0x47, 0xdb, 0x05, 0x35, 0x81, 0xd0, 0xb5, 0x40, 0xa1, 0xfc, 0xe0, + 0x92, 0x9c, 0x6f, 0x24, 0xdd, 0x64, 0x7a, 0x6e, 0x86, 0xcb, 0x8c, 0x42, + 0x2b, 0x56, 0x90, 0x29, +}; +static const struct drbg_kat_pr_false kat2096_t = { + 10, kat2096_entropyin, kat2096_nonce, kat2096_persstr, + kat2096_entropyinreseed, kat2096_addinreseed, kat2096_addin0, + kat2096_addin1, kat2096_retbits +}; +static const struct drbg_kat kat2096 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2096_t +}; + +static const unsigned char kat2097_entropyin[] = { + 0xd2, 0x5d, 0x0a, 0x11, 0x8d, 0x9d, 0x3f, 0x62, 0x37, 0xb6, 0xe5, 0x6f, + 0x5e, 0xac, 0xff, 0x1b, 0xb9, 0xd5, 0xdf, 0x8c, 0xb0, 0x94, 0x5c, 0x14, + 0xf0, 0x9c, 0x4b, 0x6d, 0x77, 0x8b, 0xe3, 0x9a, +}; +static const unsigned char kat2097_nonce[] = { + 0x74, 0x55, 0x73, 0xc0, 0x91, 0x79, 0x34, 0xcd, 0xd6, 0x15, 0xa6, 0xa2, + 0x1d, 0xd6, 0x8b, 0xb9, +}; +static const unsigned char kat2097_persstr[] = { + 0xbe, 0xc1, 0xbc, 0xe1, 0x32, 0xaa, 0x26, 0xae, 0x4b, 0x44, 0xc9, 0xdb, + 0xb9, 0x1a, 0xf4, 0xb9, 0xbd, 0xc6, 0xa0, 0xc9, 0x0e, 0x4a, 0x7a, 0x97, + 0x8f, 0x36, 0xdc, 0xa0, 0xff, 0x17, 0x27, 0xdd, +}; +static const unsigned char kat2097_entropyinreseed[] = { + 0x7e, 0xe5, 0x65, 0xbe, 0x81, 0xb5, 0xb6, 0xba, 0x0d, 0x60, 0xf2, 0xd3, + 0x33, 0x90, 0x2b, 0x45, 0xb4, 0x35, 0x58, 0x1c, 0x5b, 0xb4, 0xa8, 0x19, + 0x03, 0x0c, 0x15, 0x1b, 0x51, 0xb6, 0x1c, 0x35, +}; +static const unsigned char kat2097_addinreseed[] = { + 0xb1, 0xbf, 0xd9, 0xef, 0x0b, 0x54, 0x01, 0x10, 0x7f, 0xca, 0xfc, 0x1a, + 0x5f, 0x15, 0xac, 0x63, 0xfc, 0x58, 0x86, 0xef, 0xae, 0xbb, 0x1d, 0xea, + 0x9c, 0x8e, 0xae, 0xc4, 0xa4, 0xca, 0x27, 0x14, +}; +static const unsigned char kat2097_addin0[] = { + 0xd8, 0x7d, 0x68, 0x33, 0x81, 0x5e, 0x5a, 0xaf, 0xda, 0xc7, 0x17, 0x91, + 0xb2, 0x82, 0x79, 0x53, 0x52, 0x76, 0x72, 0xd3, 0xc6, 0x92, 0xb4, 0x2c, + 0x6a, 0x22, 0x40, 0xd8, 0x47, 0x1a, 0x5c, 0x95, +}; +static const unsigned char kat2097_addin1[] = { + 0xef, 0x92, 0xf4, 0x6e, 0x53, 0xea, 0x61, 0xbd, 0xe1, 0x75, 0xe6, 0x66, + 0xe9, 0x7c, 0x62, 0xf5, 0xa4, 0xb1, 0xf3, 0x76, 0xf9, 0x01, 0xa7, 0x98, + 0x41, 0x1e, 0xf9, 0x05, 0x59, 0x46, 0x00, 0x79, +}; +static const unsigned char kat2097_retbits[] = { + 0x27, 0xfa, 0x85, 0xc2, 0xeb, 0xd4, 0x31, 0x02, 0x5b, 0x1e, 0x1b, 0x66, + 0x98, 0xb5, 0xf0, 0x8f, 0x05, 0x9a, 0x65, 0xc0, 0x93, 0xfc, 0x3c, 0xc9, + 0x6e, 0x49, 0xac, 0x74, 0x39, 0x04, 0x04, 0xdc, 0xe0, 0x0c, 0x34, 0x56, + 0xd5, 0x97, 0xd3, 0xc5, 0x95, 0x99, 0xfb, 0x7d, 0x85, 0x6a, 0xe5, 0x5a, + 0x04, 0xb5, 0xc8, 0xb2, 0x82, 0x00, 0x84, 0x7b, 0xb9, 0x53, 0xc3, 0x3e, + 0xf5, 0x56, 0xeb, 0x1c, +}; +static const struct drbg_kat_pr_false kat2097_t = { + 11, kat2097_entropyin, kat2097_nonce, kat2097_persstr, + kat2097_entropyinreseed, kat2097_addinreseed, kat2097_addin0, + kat2097_addin1, kat2097_retbits +}; +static const struct drbg_kat kat2097 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2097_t +}; + +static const unsigned char kat2098_entropyin[] = { + 0x05, 0x74, 0x6b, 0x55, 0xef, 0x89, 0x70, 0xe3, 0x5f, 0x37, 0x9c, 0x58, + 0xf6, 0xba, 0x8f, 0x8c, 0x21, 0xd3, 0xc4, 0xe2, 0x41, 0xf9, 0xa8, 0x88, + 0x0f, 0x81, 0x1d, 0xfa, 0xd0, 0x85, 0xdc, 0xcf, +}; +static const unsigned char kat2098_nonce[] = { + 0xc5, 0x2f, 0x6c, 0xc4, 0x31, 0x19, 0xb0, 0x8f, 0xdc, 0xa9, 0x95, 0xc7, + 0x15, 0xcb, 0xee, 0x15, +}; +static const unsigned char kat2098_persstr[] = { + 0xbf, 0xc1, 0x39, 0xcd, 0xc8, 0xb4, 0x6c, 0x4c, 0xef, 0xc1, 0x38, 0x3a, + 0x9f, 0x42, 0x89, 0xbd, 0x4f, 0x79, 0xc1, 0x6a, 0x46, 0xa6, 0x4c, 0x87, + 0xfb, 0x99, 0x1e, 0x91, 0x02, 0xd4, 0x1d, 0xd2, +}; +static const unsigned char kat2098_entropyinreseed[] = { + 0x78, 0xfe, 0x98, 0x1d, 0xd9, 0x59, 0xe9, 0xdd, 0x55, 0x73, 0xa6, 0x9d, + 0xa8, 0xd6, 0x38, 0xc4, 0x4f, 0xd8, 0xe9, 0xa3, 0x7c, 0x34, 0x63, 0x27, + 0xd6, 0xdb, 0x1a, 0xed, 0x04, 0x28, 0x7a, 0x17, +}; +static const unsigned char kat2098_addinreseed[] = { + 0xf1, 0x66, 0x83, 0xa7, 0xfa, 0x56, 0xfe, 0x77, 0xfe, 0x2e, 0xc5, 0xe0, + 0xfc, 0xfc, 0x8c, 0x73, 0x06, 0xac, 0x96, 0x40, 0xe9, 0x0e, 0x12, 0xd0, + 0xf8, 0x90, 0x18, 0x84, 0x35, 0x98, 0x07, 0x66, +}; +static const unsigned char kat2098_addin0[] = { + 0xfc, 0x5a, 0x69, 0xe0, 0x79, 0x89, 0x62, 0xc7, 0x22, 0x97, 0xf0, 0x18, + 0xfc, 0x6a, 0x85, 0x16, 0x1e, 0x97, 0xa8, 0x02, 0x9b, 0x66, 0x4c, 0x78, + 0x9e, 0xb9, 0x95, 0x04, 0x8f, 0xf3, 0x02, 0x06, +}; +static const unsigned char kat2098_addin1[] = { + 0xe2, 0x69, 0xaa, 0x79, 0x16, 0xf5, 0x48, 0x44, 0x52, 0x09, 0xa8, 0x75, + 0xda, 0x37, 0x84, 0x2e, 0xc9, 0xea, 0xa4, 0x6b, 0x30, 0x13, 0xf6, 0xee, + 0x08, 0x7b, 0xf1, 0x13, 0x07, 0x92, 0x31, 0x29, +}; +static const unsigned char kat2098_retbits[] = { + 0xbf, 0x53, 0xfe, 0x5c, 0x0d, 0x48, 0x5e, 0x2c, 0xb8, 0x4d, 0xaa, 0xad, + 0x94, 0x99, 0x1f, 0x3c, 0x1a, 0x1c, 0x7e, 0x5f, 0xcd, 0xda, 0x3c, 0xfe, + 0xe9, 0x7a, 0x63, 0x2f, 0x44, 0x43, 0x97, 0x10, 0xe8, 0x3d, 0x15, 0x80, + 0x0a, 0xb3, 0x5d, 0x6d, 0x6c, 0x22, 0x05, 0xb3, 0xf4, 0x23, 0xa4, 0xd6, + 0x8a, 0x2b, 0x36, 0xc3, 0x24, 0x97, 0xf2, 0x48, 0xe5, 0xbe, 0x80, 0xef, + 0xd7, 0x2f, 0xb1, 0xc1, +}; +static const struct drbg_kat_pr_false kat2098_t = { + 12, kat2098_entropyin, kat2098_nonce, kat2098_persstr, + kat2098_entropyinreseed, kat2098_addinreseed, kat2098_addin0, + kat2098_addin1, kat2098_retbits +}; +static const struct drbg_kat kat2098 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2098_t +}; + +static const unsigned char kat2099_entropyin[] = { + 0x78, 0x82, 0xb2, 0xa4, 0x43, 0x94, 0xf3, 0x73, 0xc2, 0x40, 0xf1, 0x59, + 0x82, 0x59, 0x2c, 0xc5, 0x14, 0x4e, 0xa0, 0x99, 0xd6, 0x9a, 0x6d, 0xa3, + 0xdd, 0xd5, 0x31, 0xf4, 0x98, 0x44, 0xd0, 0xc7, +}; +static const unsigned char kat2099_nonce[] = { + 0xbf, 0x39, 0xee, 0xa3, 0x14, 0x93, 0xf3, 0x56, 0x55, 0xa7, 0xb4, 0x75, + 0xe7, 0x5f, 0x4a, 0xb8, +}; +static const unsigned char kat2099_persstr[] = { + 0x76, 0xc6, 0x0c, 0x2f, 0x17, 0x1d, 0x5d, 0x35, 0x67, 0xdc, 0xf4, 0x39, + 0x77, 0x8c, 0xe3, 0xaa, 0x92, 0x0c, 0x04, 0x46, 0x23, 0x70, 0xda, 0xb2, + 0x7e, 0xd1, 0x17, 0x5b, 0x17, 0xdc, 0x3b, 0x1c, +}; +static const unsigned char kat2099_entropyinreseed[] = { + 0x9b, 0x04, 0xf2, 0xa8, 0xcd, 0x91, 0xf0, 0x45, 0x34, 0x44, 0x04, 0xc1, + 0x38, 0x9b, 0x73, 0xc1, 0x72, 0x84, 0xfb, 0x80, 0xe3, 0xd2, 0x32, 0x80, + 0xb4, 0x07, 0xa3, 0x3b, 0xef, 0x91, 0xa8, 0xaf, +}; +static const unsigned char kat2099_addinreseed[] = { + 0x6a, 0xfd, 0x74, 0xbb, 0xaa, 0x06, 0x20, 0x63, 0x8d, 0x49, 0xb6, 0x86, + 0x31, 0xdb, 0x75, 0x1e, 0x61, 0x20, 0xb1, 0x17, 0x1e, 0xdf, 0x8a, 0x4b, + 0xb3, 0x29, 0xde, 0xcd, 0xca, 0x35, 0x05, 0xb0, +}; +static const unsigned char kat2099_addin0[] = { + 0x01, 0x05, 0x9b, 0x5e, 0xf0, 0xfa, 0xa0, 0x1d, 0x1e, 0x7a, 0x8d, 0x04, + 0xa2, 0x02, 0x8f, 0xe0, 0xb9, 0x30, 0x7b, 0xb1, 0xdc, 0x19, 0xff, 0x05, + 0x49, 0xa1, 0xac, 0xaa, 0x69, 0xd4, 0x98, 0x97, +}; +static const unsigned char kat2099_addin1[] = { + 0x06, 0xe8, 0x6c, 0x7f, 0x79, 0xa2, 0xcb, 0x16, 0xe6, 0x36, 0xcf, 0x4d, + 0x77, 0x8c, 0x10, 0xf6, 0x1f, 0x9e, 0xd7, 0xe2, 0x4c, 0xd7, 0xfe, 0x92, + 0x13, 0x44, 0x7f, 0x01, 0x90, 0xc3, 0x08, 0x0e, +}; +static const unsigned char kat2099_retbits[] = { + 0x9a, 0xbd, 0xc0, 0x6e, 0x5a, 0x7a, 0xbf, 0xb7, 0x45, 0x1c, 0xc2, 0x6a, + 0xe4, 0x7d, 0xf1, 0x4d, 0x33, 0xde, 0xc8, 0xf7, 0x92, 0x3a, 0x9d, 0x35, + 0x73, 0xe5, 0xd3, 0xfc, 0x1f, 0x35, 0x4b, 0x48, 0x0d, 0x83, 0x83, 0xdb, + 0xe2, 0xe9, 0xb7, 0xb7, 0x34, 0x60, 0x38, 0xb9, 0xa5, 0xbd, 0x33, 0x07, + 0xf8, 0xb5, 0x6d, 0x9d, 0xd6, 0x19, 0x7b, 0x92, 0xc8, 0x0e, 0x11, 0xe3, + 0xc1, 0x6b, 0x4a, 0x84, +}; +static const struct drbg_kat_pr_false kat2099_t = { + 13, kat2099_entropyin, kat2099_nonce, kat2099_persstr, + kat2099_entropyinreseed, kat2099_addinreseed, kat2099_addin0, + kat2099_addin1, kat2099_retbits +}; +static const struct drbg_kat kat2099 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2099_t +}; + +static const unsigned char kat2100_entropyin[] = { + 0x4c, 0x4e, 0xbf, 0x43, 0xe2, 0x1c, 0x24, 0x29, 0x94, 0x75, 0x81, 0x8a, + 0xbc, 0x84, 0xfd, 0xd5, 0x34, 0xeb, 0xd9, 0xe6, 0x5b, 0x61, 0x08, 0x42, + 0x8d, 0xb8, 0xf9, 0xa5, 0x49, 0xd5, 0x0d, 0x9d, +}; +static const unsigned char kat2100_nonce[] = { + 0x50, 0xfa, 0x19, 0x03, 0x94, 0x29, 0xd9, 0x57, 0xd3, 0x47, 0x42, 0x36, + 0x6c, 0x8a, 0x07, 0xfe, +}; +static const unsigned char kat2100_persstr[] = { + 0x6d, 0xe8, 0x3c, 0x16, 0xf9, 0x10, 0x70, 0xe6, 0xe3, 0x01, 0xda, 0x2e, + 0x18, 0xd5, 0x5b, 0xa2, 0xad, 0x77, 0xec, 0x05, 0x4b, 0x27, 0x06, 0xfc, + 0xea, 0x03, 0x2c, 0xf4, 0x9b, 0x0d, 0xa9, 0xe5, +}; +static const unsigned char kat2100_entropyinreseed[] = { + 0x3e, 0x42, 0x75, 0x2a, 0x39, 0xd1, 0x55, 0x18, 0x64, 0xf0, 0x18, 0x7f, + 0x35, 0xe3, 0x03, 0x30, 0x18, 0x49, 0x89, 0x84, 0xe4, 0x96, 0xf8, 0xe4, + 0xff, 0xa9, 0x1b, 0xde, 0x1c, 0x35, 0x5e, 0x81, +}; +static const unsigned char kat2100_addinreseed[] = { + 0x9a, 0x11, 0x10, 0x9a, 0x33, 0x27, 0xb3, 0xeb, 0x22, 0xc2, 0x0c, 0x74, + 0xca, 0xd7, 0x46, 0x47, 0xbe, 0xd3, 0xd0, 0x22, 0x0f, 0xab, 0x4f, 0x6f, + 0x2c, 0x13, 0xc9, 0xac, 0x37, 0x8a, 0xbd, 0xdf, +}; +static const unsigned char kat2100_addin0[] = { + 0x30, 0x8e, 0xa9, 0xfd, 0x62, 0x9b, 0x01, 0x94, 0xaf, 0xf1, 0x55, 0xea, + 0x40, 0x6d, 0x68, 0x04, 0x7e, 0x7d, 0xa4, 0x00, 0x55, 0x92, 0x85, 0x7c, + 0xb8, 0xad, 0xe4, 0x04, 0x47, 0x80, 0x71, 0xa3, +}; +static const unsigned char kat2100_addin1[] = { + 0x89, 0x1a, 0x8b, 0x0a, 0xbf, 0x78, 0xeb, 0x7e, 0xae, 0x64, 0x69, 0x0e, + 0x48, 0x85, 0x7c, 0xde, 0x9d, 0xa4, 0xaf, 0x41, 0x5d, 0xff, 0x59, 0xfd, + 0xed, 0x63, 0x05, 0xc5, 0x7e, 0xf3, 0xd8, 0x33, +}; +static const unsigned char kat2100_retbits[] = { + 0x85, 0x97, 0xc5, 0xc2, 0xe5, 0xd6, 0x3d, 0xba, 0xed, 0x95, 0xac, 0xef, + 0x7b, 0xb4, 0x15, 0x36, 0xfc, 0x36, 0x2b, 0x0f, 0xbd, 0x18, 0x78, 0x0f, + 0xdf, 0xb6, 0xf1, 0x25, 0xa9, 0x7d, 0xb0, 0xa0, 0xed, 0x94, 0xa8, 0x93, + 0x43, 0x17, 0xd8, 0x0c, 0x93, 0xb1, 0x4c, 0xb3, 0x60, 0x1f, 0x45, 0x11, + 0xa2, 0xd8, 0xdb, 0xdc, 0xbb, 0x32, 0x4f, 0x9e, 0x90, 0x75, 0x97, 0x8d, + 0x5c, 0x9a, 0x4f, 0x21, +}; +static const struct drbg_kat_pr_false kat2100_t = { + 14, kat2100_entropyin, kat2100_nonce, kat2100_persstr, + kat2100_entropyinreseed, kat2100_addinreseed, kat2100_addin0, + kat2100_addin1, kat2100_retbits +}; +static const struct drbg_kat kat2100 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2100_t +}; + +static const unsigned char kat2101_entropyin[] = { + 0xd5, 0x55, 0x91, 0x02, 0xcf, 0x8f, 0x23, 0x4a, 0x89, 0xb6, 0xc4, 0x8c, + 0xbf, 0x47, 0x3b, 0x15, 0x72, 0xa7, 0xd0, 0xc3, 0x42, 0xd7, 0xb6, 0x1a, + 0xdd, 0xe3, 0xd6, 0xa0, 0x12, 0x4d, 0x39, 0x91, +}; +static const unsigned char kat2101_nonce[] = { + 0x5b, 0xe9, 0x48, 0xd0, 0x54, 0xbb, 0x66, 0xe1, 0x76, 0xb9, 0x3f, 0xa8, + 0x48, 0xda, 0x0f, 0x51, +}; +static const unsigned char kat2101_persstr[] = {0}; +static const unsigned char kat2101_entropyinreseed[] = { + 0x8b, 0xd5, 0x44, 0xef, 0x23, 0x9b, 0xe9, 0x8f, 0xf3, 0x15, 0x26, 0x1a, + 0xd3, 0xa3, 0xe2, 0x3a, 0x84, 0x00, 0xf1, 0xeb, 0xdc, 0xca, 0x65, 0xe0, + 0xf4, 0x6c, 0x7c, 0x66, 0x1f, 0xc4, 0x21, 0xa6, +}; +static const unsigned char kat2101_addinreseed[] = {0}; +static const unsigned char kat2101_addin0[] = {0}; +static const unsigned char kat2101_addin1[] = {0}; +static const unsigned char kat2101_retbits[] = { + 0xe1, 0xbd, 0xd0, 0xbd, 0xb4, 0xd5, 0x1b, 0x01, 0x0b, 0x11, 0x1e, 0x90, + 0x88, 0xdf, 0x56, 0x2d, 0x21, 0x6c, 0xa7, 0x37, 0x14, 0x09, 0xd7, 0x29, + 0xf9, 0x52, 0x50, 0xe8, 0x10, 0x0f, 0x97, 0x53, 0xa6, 0x00, 0x99, 0xa4, + 0x94, 0x08, 0xbb, 0x00, 0x65, 0xf9, 0x9d, 0x59, 0xdc, 0xe5, 0x08, 0x1b, + 0xd6, 0x7c, 0xeb, 0xd5, 0x4c, 0x2b, 0x21, 0xfb, 0xf3, 0x51, 0x84, 0xf2, + 0x6d, 0x1c, 0x47, 0x06, +}; +static const struct drbg_kat_pr_false kat2101_t = { + 0, kat2101_entropyin, kat2101_nonce, kat2101_persstr, + kat2101_entropyinreseed, kat2101_addinreseed, kat2101_addin0, + kat2101_addin1, kat2101_retbits +}; +static const struct drbg_kat kat2101 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2101_t +}; + +static const unsigned char kat2102_entropyin[] = { + 0x6b, 0x9d, 0xad, 0xcd, 0x05, 0xb1, 0xf2, 0xb4, 0x49, 0x33, 0x55, 0xec, + 0x62, 0x1b, 0xdb, 0xb0, 0xeb, 0xb6, 0x79, 0x52, 0x33, 0x7f, 0x3d, 0x37, + 0x23, 0x96, 0x31, 0x97, 0x77, 0x47, 0x7a, 0x70, +}; +static const unsigned char kat2102_nonce[] = { + 0x34, 0xe6, 0x2e, 0x1c, 0x2e, 0x74, 0x1b, 0x4f, 0xd7, 0x4b, 0x79, 0x9c, + 0x3f, 0x6f, 0xd9, 0xc1, +}; +static const unsigned char kat2102_persstr[] = {0}; +static const unsigned char kat2102_entropyinreseed[] = { + 0x24, 0xa9, 0xfc, 0x63, 0x93, 0xc8, 0xc3, 0xaf, 0x6b, 0xa2, 0xec, 0xe5, + 0x11, 0x87, 0xd7, 0x29, 0x80, 0xf4, 0x0a, 0xd6, 0x01, 0xf0, 0x39, 0x54, + 0x35, 0xc5, 0x4e, 0xda, 0xc6, 0x42, 0x68, 0x1f, +}; +static const unsigned char kat2102_addinreseed[] = {0}; +static const unsigned char kat2102_addin0[] = {0}; +static const unsigned char kat2102_addin1[] = {0}; +static const unsigned char kat2102_retbits[] = { + 0xd2, 0xba, 0xa4, 0x59, 0x67, 0x61, 0x7b, 0x7d, 0x9a, 0x50, 0x56, 0xfa, + 0x8b, 0x84, 0x3d, 0x9f, 0x5c, 0x72, 0xb7, 0x7e, 0xd9, 0x51, 0xa1, 0xa4, + 0xe4, 0x3f, 0x2e, 0x88, 0xa6, 0x32, 0x32, 0xbc, 0xf1, 0xcf, 0xb2, 0x27, + 0x18, 0x86, 0x8a, 0x6d, 0x14, 0x2a, 0xf2, 0x0d, 0x23, 0x4a, 0x0b, 0x4a, + 0x29, 0xf5, 0xf1, 0x52, 0xd7, 0x2a, 0xe6, 0x0b, 0x9e, 0xb8, 0x68, 0x95, + 0x3c, 0x0d, 0x46, 0xad, +}; +static const struct drbg_kat_pr_false kat2102_t = { + 1, kat2102_entropyin, kat2102_nonce, kat2102_persstr, + kat2102_entropyinreseed, kat2102_addinreseed, kat2102_addin0, + kat2102_addin1, kat2102_retbits +}; +static const struct drbg_kat kat2102 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2102_t +}; + +static const unsigned char kat2103_entropyin[] = { + 0x55, 0xc4, 0x65, 0xf2, 0x79, 0x86, 0x0a, 0xe0, 0xa3, 0x0b, 0x37, 0x4e, + 0x54, 0x20, 0xb5, 0x8f, 0x5c, 0x2f, 0xbb, 0x55, 0x79, 0x28, 0x15, 0x5b, + 0xc0, 0x49, 0x40, 0x4c, 0x71, 0x7d, 0x01, 0x48, +}; +static const unsigned char kat2103_nonce[] = { + 0xd4, 0x13, 0x7d, 0x0c, 0x64, 0xfd, 0x93, 0x20, 0x57, 0xc9, 0x9e, 0x9c, + 0x48, 0x8b, 0xc9, 0xe9, +}; +static const unsigned char kat2103_persstr[] = {0}; +static const unsigned char kat2103_entropyinreseed[] = { + 0xd0, 0x97, 0x64, 0x62, 0x80, 0x26, 0x28, 0xc6, 0xed, 0x63, 0x20, 0xf6, + 0xd8, 0x85, 0x21, 0x22, 0x8c, 0xc6, 0x2e, 0xaf, 0xd4, 0xa8, 0xe1, 0x49, + 0x84, 0xaa, 0xcd, 0x0a, 0x30, 0xb2, 0x1b, 0x1c, +}; +static const unsigned char kat2103_addinreseed[] = {0}; +static const unsigned char kat2103_addin0[] = {0}; +static const unsigned char kat2103_addin1[] = {0}; +static const unsigned char kat2103_retbits[] = { + 0xc1, 0x40, 0x68, 0x12, 0x25, 0x2b, 0x57, 0xe7, 0x93, 0xce, 0x57, 0x13, + 0x2f, 0x0b, 0xf4, 0xb7, 0xe7, 0x86, 0xa2, 0xb9, 0x6b, 0xa2, 0x84, 0xd7, + 0x69, 0x17, 0x28, 0x8f, 0x0c, 0x79, 0xb5, 0xf5, 0x2c, 0x59, 0x1b, 0xef, + 0x9b, 0x12, 0x31, 0xf9, 0x82, 0xe1, 0x42, 0xaa, 0xe6, 0xe0, 0xcf, 0x63, + 0xbf, 0xf0, 0xe5, 0x4a, 0x1c, 0x89, 0x34, 0x5f, 0x59, 0x1f, 0xe5, 0x6d, + 0x5a, 0x79, 0x5f, 0x95, +}; +static const struct drbg_kat_pr_false kat2103_t = { + 2, kat2103_entropyin, kat2103_nonce, kat2103_persstr, + kat2103_entropyinreseed, kat2103_addinreseed, kat2103_addin0, + kat2103_addin1, kat2103_retbits +}; +static const struct drbg_kat kat2103 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2103_t +}; + +static const unsigned char kat2104_entropyin[] = { + 0x40, 0x71, 0x95, 0x2b, 0x5c, 0x08, 0xad, 0xa3, 0x47, 0xc7, 0xad, 0x5e, + 0xca, 0x73, 0x10, 0x96, 0x3d, 0x08, 0x86, 0xc4, 0xf3, 0x07, 0x67, 0x69, + 0xc5, 0xce, 0xb7, 0x32, 0x98, 0x58, 0x61, 0xc6, +}; +static const unsigned char kat2104_nonce[] = { + 0xcc, 0x2d, 0xd3, 0x39, 0x35, 0x09, 0xb4, 0xbb, 0x25, 0x42, 0xd2, 0xb6, + 0x96, 0x10, 0xd4, 0x9e, +}; +static const unsigned char kat2104_persstr[] = {0}; +static const unsigned char kat2104_entropyinreseed[] = { + 0xbf, 0x9c, 0x1a, 0x5b, 0x5d, 0x9b, 0x7c, 0xe8, 0xf9, 0xe5, 0x0c, 0x62, + 0xda, 0xef, 0xef, 0x19, 0x04, 0x19, 0x05, 0x52, 0xae, 0x4a, 0xbc, 0x22, + 0x2f, 0x8d, 0xe8, 0x65, 0xd3, 0xe3, 0xee, 0x0d, +}; +static const unsigned char kat2104_addinreseed[] = {0}; +static const unsigned char kat2104_addin0[] = {0}; +static const unsigned char kat2104_addin1[] = {0}; +static const unsigned char kat2104_retbits[] = { + 0x24, 0xfb, 0x48, 0x3f, 0xb7, 0xc9, 0xff, 0x58, 0xe2, 0xdc, 0x90, 0x0d, + 0x63, 0x34, 0xd3, 0xa3, 0xb6, 0x2d, 0x26, 0xea, 0x74, 0xe6, 0x06, 0xb6, + 0xdc, 0x7a, 0x9b, 0x1e, 0xb5, 0x07, 0x9f, 0xfa, 0x02, 0x00, 0xd4, 0xf9, + 0x47, 0x95, 0xe1, 0xb2, 0xae, 0xb5, 0x8a, 0x48, 0x11, 0x48, 0xf2, 0x48, + 0x32, 0xa8, 0x29, 0x92, 0x16, 0xea, 0x9c, 0x17, 0x24, 0x27, 0x4e, 0xcf, + 0xe2, 0xed, 0x8d, 0x2f, +}; +static const struct drbg_kat_pr_false kat2104_t = { + 3, kat2104_entropyin, kat2104_nonce, kat2104_persstr, + kat2104_entropyinreseed, kat2104_addinreseed, kat2104_addin0, + kat2104_addin1, kat2104_retbits +}; +static const struct drbg_kat kat2104 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2104_t +}; + +static const unsigned char kat2105_entropyin[] = { + 0x8b, 0x1d, 0xbf, 0x30, 0x9e, 0x22, 0xd7, 0xa7, 0x92, 0xfa, 0x89, 0x8b, + 0x23, 0xdb, 0x77, 0xc0, 0x73, 0x38, 0xc5, 0xb5, 0xa9, 0x0b, 0x89, 0xde, + 0x54, 0x14, 0xb3, 0xd8, 0x5b, 0xac, 0x85, 0x81, +}; +static const unsigned char kat2105_nonce[] = { + 0xdf, 0x1c, 0xc9, 0xe0, 0x0d, 0xae, 0x20, 0x2a, 0xf1, 0x31, 0xe8, 0x10, + 0x10, 0x44, 0x32, 0x73, +}; +static const unsigned char kat2105_persstr[] = {0}; +static const unsigned char kat2105_entropyinreseed[] = { + 0xfa, 0x1f, 0xc8, 0xff, 0x6a, 0xec, 0xf7, 0xca, 0x00, 0xf3, 0x18, 0x0e, + 0x94, 0xfc, 0xcb, 0xb0, 0x55, 0xe3, 0xa2, 0xaf, 0x28, 0xc2, 0x7f, 0x66, + 0xea, 0xab, 0xb8, 0x13, 0x51, 0x43, 0x0b, 0x08, +}; +static const unsigned char kat2105_addinreseed[] = {0}; +static const unsigned char kat2105_addin0[] = {0}; +static const unsigned char kat2105_addin1[] = {0}; +static const unsigned char kat2105_retbits[] = { + 0x5d, 0x34, 0x78, 0x50, 0x40, 0xd4, 0xfd, 0xeb, 0x85, 0x8a, 0xb1, 0xca, + 0x7c, 0x4b, 0xff, 0x23, 0x60, 0x1f, 0xdf, 0xd9, 0x1f, 0xe0, 0x03, 0xe5, + 0x79, 0xe1, 0x14, 0xa2, 0xe2, 0xa8, 0xf2, 0x90, 0xe6, 0xc4, 0x2b, 0x20, + 0xc8, 0x23, 0x22, 0xdc, 0xa0, 0xf4, 0xc9, 0xab, 0xb6, 0x34, 0x95, 0x4d, + 0x59, 0x6d, 0x1d, 0x1b, 0xd1, 0x19, 0x37, 0x34, 0x19, 0x83, 0x52, 0x15, + 0x2e, 0x4e, 0xb8, 0x17, +}; +static const struct drbg_kat_pr_false kat2105_t = { + 4, kat2105_entropyin, kat2105_nonce, kat2105_persstr, + kat2105_entropyinreseed, kat2105_addinreseed, kat2105_addin0, + kat2105_addin1, kat2105_retbits +}; +static const struct drbg_kat kat2105 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2105_t +}; + +static const unsigned char kat2106_entropyin[] = { + 0xa9, 0x46, 0xbe, 0xb3, 0x8c, 0x95, 0xb6, 0x3b, 0xb7, 0x11, 0xf0, 0x43, + 0xb0, 0x49, 0xed, 0x94, 0xcb, 0x7d, 0x1e, 0x08, 0x01, 0x85, 0x44, 0xa8, + 0xfa, 0xfd, 0x27, 0x53, 0x13, 0x87, 0x2a, 0x75, +}; +static const unsigned char kat2106_nonce[] = { + 0xc8, 0x58, 0x20, 0x6d, 0xca, 0x84, 0x3b, 0x65, 0xad, 0x9e, 0x50, 0xa6, + 0x3e, 0xbc, 0x32, 0xbd, +}; +static const unsigned char kat2106_persstr[] = {0}; +static const unsigned char kat2106_entropyinreseed[] = { + 0x2d, 0x0f, 0xc4, 0x58, 0x35, 0x42, 0xc4, 0xe9, 0x23, 0x14, 0x82, 0xf6, + 0x6a, 0x52, 0x28, 0x46, 0xbc, 0xdc, 0xb2, 0x81, 0xd1, 0x6e, 0xb0, 0x79, + 0x50, 0xa8, 0xa8, 0x59, 0x5b, 0x20, 0x0b, 0x9f, +}; +static const unsigned char kat2106_addinreseed[] = {0}; +static const unsigned char kat2106_addin0[] = {0}; +static const unsigned char kat2106_addin1[] = {0}; +static const unsigned char kat2106_retbits[] = { + 0x2b, 0xbe, 0xa1, 0x6d, 0x11, 0x0e, 0x85, 0x35, 0xfb, 0xa8, 0x9f, 0x4a, + 0x9c, 0xec, 0x48, 0x2c, 0x87, 0xd9, 0x99, 0x98, 0x2f, 0x6b, 0x05, 0xc1, + 0x5c, 0x4f, 0x4b, 0xcb, 0x74, 0x0d, 0x1d, 0x43, 0xb9, 0x0f, 0xb7, 0x62, + 0xaa, 0x8b, 0x50, 0x6a, 0xfa, 0x6d, 0x4c, 0x8b, 0x96, 0x76, 0xe3, 0xbc, + 0xee, 0xb6, 0x3d, 0xb9, 0x22, 0x45, 0x22, 0x7c, 0x73, 0x66, 0xaa, 0x96, + 0x97, 0x0c, 0xe8, 0xee, +}; +static const struct drbg_kat_pr_false kat2106_t = { + 5, kat2106_entropyin, kat2106_nonce, kat2106_persstr, + kat2106_entropyinreseed, kat2106_addinreseed, kat2106_addin0, + kat2106_addin1, kat2106_retbits +}; +static const struct drbg_kat kat2106 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2106_t +}; + +static const unsigned char kat2107_entropyin[] = { + 0xa7, 0xfd, 0xa1, 0x96, 0xa7, 0x0f, 0x5b, 0xce, 0x96, 0x15, 0x4f, 0x88, + 0xd7, 0xa5, 0x13, 0x7b, 0x17, 0x83, 0x3a, 0x43, 0x5f, 0x04, 0x2a, 0x16, + 0x6d, 0x55, 0x50, 0x4e, 0xc5, 0x98, 0xb2, 0xa5, +}; +static const unsigned char kat2107_nonce[] = { + 0xff, 0x4e, 0x6e, 0x41, 0xb0, 0x72, 0x0a, 0xa7, 0x2c, 0x34, 0x93, 0xb3, + 0xf2, 0x07, 0xc2, 0x58, +}; +static const unsigned char kat2107_persstr[] = {0}; +static const unsigned char kat2107_entropyinreseed[] = { + 0xea, 0x04, 0xe6, 0x0f, 0xc4, 0xff, 0x30, 0x9d, 0x05, 0x34, 0xb7, 0xff, + 0xb5, 0xb1, 0xa0, 0x54, 0x99, 0x32, 0x6b, 0xaf, 0x5e, 0x0d, 0x57, 0xfc, + 0xeb, 0xd3, 0x2b, 0xe6, 0xee, 0x50, 0x8c, 0xcc, +}; +static const unsigned char kat2107_addinreseed[] = {0}; +static const unsigned char kat2107_addin0[] = {0}; +static const unsigned char kat2107_addin1[] = {0}; +static const unsigned char kat2107_retbits[] = { + 0xb6, 0x24, 0xe0, 0x59, 0x49, 0x36, 0xec, 0xc5, 0x76, 0xae, 0xd1, 0x06, + 0xfa, 0xcf, 0x68, 0x40, 0x12, 0x58, 0x0b, 0x5c, 0xd7, 0x50, 0x2c, 0x16, + 0x25, 0xad, 0x6e, 0x03, 0x23, 0xf6, 0x4e, 0xff, 0x8b, 0x91, 0x76, 0xce, + 0xbd, 0xd1, 0xf6, 0xab, 0x7f, 0x39, 0x9a, 0x4b, 0x71, 0xb8, 0xa9, 0x10, + 0xf9, 0x12, 0xe1, 0x2e, 0x71, 0x45, 0xbb, 0xb0, 0xbb, 0x47, 0x94, 0x10, + 0x66, 0xcc, 0x7a, 0xd5, +}; +static const struct drbg_kat_pr_false kat2107_t = { + 6, kat2107_entropyin, kat2107_nonce, kat2107_persstr, + kat2107_entropyinreseed, kat2107_addinreseed, kat2107_addin0, + kat2107_addin1, kat2107_retbits +}; +static const struct drbg_kat kat2107 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2107_t +}; + +static const unsigned char kat2108_entropyin[] = { + 0x59, 0x70, 0x11, 0x52, 0x79, 0x8c, 0x85, 0xd2, 0x0e, 0xda, 0x96, 0x3c, + 0x03, 0x2b, 0x3d, 0x9e, 0xfe, 0xf8, 0xd7, 0xc7, 0x14, 0x20, 0x3a, 0xd4, + 0x4a, 0x39, 0x71, 0xe3, 0xa6, 0xef, 0xdd, 0xd2, +}; +static const unsigned char kat2108_nonce[] = { + 0x37, 0x96, 0x3c, 0xf4, 0x4d, 0xfe, 0x03, 0x87, 0x74, 0x7e, 0x23, 0xfd, + 0x2c, 0xd1, 0x25, 0x6e, +}; +static const unsigned char kat2108_persstr[] = {0}; +static const unsigned char kat2108_entropyinreseed[] = { + 0x9c, 0x61, 0xd2, 0x94, 0x62, 0x02, 0xc4, 0x0e, 0x78, 0x37, 0x0c, 0x46, + 0xc3, 0xdb, 0xb4, 0xec, 0xe2, 0x93, 0x09, 0x9d, 0x88, 0x08, 0x97, 0x88, + 0x59, 0x2c, 0xca, 0x1b, 0x4c, 0x49, 0xf7, 0x9c, +}; +static const unsigned char kat2108_addinreseed[] = {0}; +static const unsigned char kat2108_addin0[] = {0}; +static const unsigned char kat2108_addin1[] = {0}; +static const unsigned char kat2108_retbits[] = { + 0x14, 0xc1, 0x42, 0x60, 0x5f, 0x72, 0x5b, 0xb5, 0x94, 0xf2, 0x00, 0xfb, + 0xc7, 0x09, 0xaf, 0x89, 0x2f, 0x0a, 0x32, 0x4d, 0x41, 0x81, 0x1f, 0xca, + 0x6b, 0x81, 0xec, 0x71, 0xc6, 0xa2, 0xff, 0x1e, 0xe4, 0x23, 0xde, 0x7e, + 0x14, 0x21, 0x33, 0x77, 0x60, 0x84, 0x7e, 0x86, 0x26, 0x70, 0x63, 0x75, + 0x46, 0xcf, 0x17, 0x07, 0x35, 0x41, 0x2f, 0xa2, 0x62, 0x07, 0x52, 0x19, + 0xe1, 0x02, 0xc2, 0x40, +}; +static const struct drbg_kat_pr_false kat2108_t = { + 7, kat2108_entropyin, kat2108_nonce, kat2108_persstr, + kat2108_entropyinreseed, kat2108_addinreseed, kat2108_addin0, + kat2108_addin1, kat2108_retbits +}; +static const struct drbg_kat kat2108 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2108_t +}; + +static const unsigned char kat2109_entropyin[] = { + 0x9e, 0x4a, 0x31, 0x24, 0xf5, 0xc5, 0x6e, 0x83, 0x69, 0xd5, 0x1f, 0xa4, + 0x2b, 0xf6, 0x62, 0x55, 0x13, 0x0a, 0x3a, 0x30, 0x05, 0x34, 0x27, 0xe0, + 0xbb, 0x5d, 0x03, 0x66, 0xf1, 0x8b, 0xdf, 0x47, +}; +static const unsigned char kat2109_nonce[] = { + 0x55, 0xdd, 0xd1, 0x82, 0xb9, 0x56, 0xaa, 0xce, 0xaf, 0x92, 0xed, 0x50, + 0xc7, 0xea, 0x77, 0x81, +}; +static const unsigned char kat2109_persstr[] = {0}; +static const unsigned char kat2109_entropyinreseed[] = { + 0x55, 0x8f, 0x4e, 0xcf, 0x21, 0x68, 0x78, 0x59, 0x93, 0x5f, 0x9a, 0x25, + 0xc2, 0xac, 0xdf, 0xc0, 0x09, 0x9c, 0x69, 0x3a, 0x86, 0xf1, 0xce, 0xfe, + 0x62, 0xef, 0x3b, 0x97, 0x33, 0x4a, 0x3f, 0xdd, +}; +static const unsigned char kat2109_addinreseed[] = {0}; +static const unsigned char kat2109_addin0[] = {0}; +static const unsigned char kat2109_addin1[] = {0}; +static const unsigned char kat2109_retbits[] = { + 0x02, 0xa7, 0xbf, 0xda, 0x63, 0x48, 0x49, 0xff, 0x49, 0xce, 0xad, 0xb4, + 0xba, 0x67, 0x94, 0x65, 0xcc, 0x45, 0x7f, 0xf1, 0x07, 0x35, 0xbb, 0xa7, + 0x2b, 0x13, 0x8c, 0x21, 0x27, 0xb5, 0x30, 0x6b, 0x5a, 0xf0, 0x8f, 0xbb, + 0xfa, 0x8f, 0xd4, 0x17, 0xa6, 0x73, 0x39, 0xbc, 0xaf, 0x93, 0xfd, 0xf4, + 0x17, 0xa2, 0x6d, 0xa6, 0xfe, 0x32, 0x95, 0xdd, 0xfa, 0xfd, 0x0c, 0xb8, + 0x1a, 0x8e, 0xff, 0x3a, +}; +static const struct drbg_kat_pr_false kat2109_t = { + 8, kat2109_entropyin, kat2109_nonce, kat2109_persstr, + kat2109_entropyinreseed, kat2109_addinreseed, kat2109_addin0, + kat2109_addin1, kat2109_retbits +}; +static const struct drbg_kat kat2109 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2109_t +}; + +static const unsigned char kat2110_entropyin[] = { + 0x76, 0x2d, 0xaf, 0x87, 0xb7, 0xa2, 0x6d, 0xe0, 0xba, 0xb5, 0xdb, 0xa9, + 0x11, 0x01, 0xf8, 0x98, 0xd1, 0x92, 0x5a, 0x51, 0x7a, 0x52, 0x53, 0x39, + 0x47, 0x5d, 0xfb, 0x43, 0xa0, 0x5a, 0x97, 0x0d, +}; +static const unsigned char kat2110_nonce[] = { + 0xf4, 0xc9, 0x83, 0x08, 0x8d, 0x46, 0xc4, 0x75, 0xd4, 0x94, 0x66, 0xdd, + 0xf3, 0x35, 0x6c, 0xd5, +}; +static const unsigned char kat2110_persstr[] = {0}; +static const unsigned char kat2110_entropyinreseed[] = { + 0xd3, 0x92, 0xd2, 0xbd, 0x13, 0x7a, 0xcd, 0x80, 0x16, 0x94, 0xfc, 0xed, + 0xcf, 0xd7, 0xcb, 0x5c, 0xc8, 0xf5, 0xad, 0xf4, 0xb1, 0xcb, 0xf5, 0xe5, + 0xa4, 0x46, 0xc2, 0x4e, 0x36, 0x92, 0xa2, 0x60, +}; +static const unsigned char kat2110_addinreseed[] = {0}; +static const unsigned char kat2110_addin0[] = {0}; +static const unsigned char kat2110_addin1[] = {0}; +static const unsigned char kat2110_retbits[] = { + 0x2b, 0x38, 0xeb, 0xe7, 0xa4, 0xb0, 0xba, 0x7b, 0xc9, 0x77, 0xd1, 0xe3, + 0x85, 0x26, 0x78, 0xf9, 0xa9, 0xec, 0x78, 0xd9, 0x9e, 0xe5, 0xc2, 0xe2, + 0x41, 0xdf, 0xdc, 0xd3, 0x63, 0xde, 0xe1, 0x58, 0x9f, 0xb6, 0x6d, 0x89, + 0x06, 0xef, 0xf7, 0xb4, 0x92, 0xe2, 0x32, 0x69, 0x31, 0xa6, 0xea, 0x11, + 0x59, 0x66, 0x49, 0x78, 0x12, 0x2b, 0xa6, 0xe2, 0x08, 0xe4, 0x91, 0x66, + 0xf4, 0x81, 0x1f, 0xa0, +}; +static const struct drbg_kat_pr_false kat2110_t = { + 9, kat2110_entropyin, kat2110_nonce, kat2110_persstr, + kat2110_entropyinreseed, kat2110_addinreseed, kat2110_addin0, + kat2110_addin1, kat2110_retbits +}; +static const struct drbg_kat kat2110 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2110_t +}; + +static const unsigned char kat2111_entropyin[] = { + 0x6a, 0xc8, 0xe3, 0x50, 0x40, 0x24, 0xbd, 0x11, 0xae, 0xde, 0xa1, 0xfc, + 0x28, 0x6e, 0xb2, 0xea, 0xd9, 0x71, 0x98, 0x37, 0xb1, 0xfb, 0x95, 0x68, + 0xbc, 0xa0, 0x1c, 0x3e, 0xc9, 0xcc, 0x74, 0xd1, +}; +static const unsigned char kat2111_nonce[] = { + 0x3b, 0x90, 0xc5, 0xc9, 0xdf, 0xf9, 0xb0, 0x52, 0xe4, 0x21, 0x7b, 0x27, + 0x8a, 0xa6, 0x4c, 0x3b, +}; +static const unsigned char kat2111_persstr[] = {0}; +static const unsigned char kat2111_entropyinreseed[] = { + 0xc4, 0xcc, 0xfa, 0xcb, 0xf2, 0x94, 0xb5, 0x6e, 0x41, 0xf6, 0xb5, 0xd6, + 0x91, 0xec, 0x36, 0xd9, 0xb6, 0x9d, 0x70, 0xed, 0x67, 0x82, 0x9a, 0x8d, + 0x28, 0x56, 0xda, 0x85, 0x93, 0xf2, 0xd0, 0x68, +}; +static const unsigned char kat2111_addinreseed[] = {0}; +static const unsigned char kat2111_addin0[] = {0}; +static const unsigned char kat2111_addin1[] = {0}; +static const unsigned char kat2111_retbits[] = { + 0x3b, 0x28, 0x60, 0xce, 0x55, 0xe6, 0x80, 0xfd, 0x96, 0x47, 0x87, 0xe5, + 0xd2, 0xbb, 0xf6, 0xfb, 0xdb, 0x7d, 0x5d, 0x8b, 0xc8, 0xdd, 0xdf, 0x66, + 0x29, 0xc5, 0x88, 0x77, 0x60, 0x04, 0xbe, 0xb9, 0x83, 0x14, 0xd1, 0x50, + 0x1d, 0x0e, 0x23, 0x5b, 0xea, 0xff, 0x94, 0x76, 0x27, 0xdd, 0x69, 0x5d, + 0x77, 0xb1, 0x1b, 0x19, 0xe4, 0xfe, 0xee, 0x86, 0x03, 0x0e, 0x20, 0x47, + 0x9f, 0x32, 0x12, 0xdf, +}; +static const struct drbg_kat_pr_false kat2111_t = { + 10, kat2111_entropyin, kat2111_nonce, kat2111_persstr, + kat2111_entropyinreseed, kat2111_addinreseed, kat2111_addin0, + kat2111_addin1, kat2111_retbits +}; +static const struct drbg_kat kat2111 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2111_t +}; + +static const unsigned char kat2112_entropyin[] = { + 0xa4, 0xf1, 0x1d, 0xae, 0x4a, 0x6d, 0x51, 0x5a, 0x7d, 0xbb, 0xc6, 0x24, + 0xdf, 0xfa, 0x3d, 0xc1, 0x6e, 0xef, 0xbf, 0x3b, 0xe7, 0x20, 0x7d, 0x9c, + 0x1b, 0xfa, 0x23, 0x27, 0xe7, 0x88, 0x98, 0x44, +}; +static const unsigned char kat2112_nonce[] = { + 0x58, 0xa2, 0xe7, 0xa6, 0xf9, 0xcc, 0x54, 0x3d, 0xe0, 0xd7, 0xbb, 0xe8, + 0x23, 0x57, 0xd1, 0x85, +}; +static const unsigned char kat2112_persstr[] = {0}; +static const unsigned char kat2112_entropyinreseed[] = { + 0x52, 0x8c, 0x20, 0x6e, 0xc5, 0x93, 0x45, 0xce, 0x4a, 0x8f, 0xfa, 0x8f, + 0x5c, 0x85, 0xdc, 0xfa, 0x78, 0x47, 0xc1, 0x18, 0x4a, 0x79, 0x84, 0x39, + 0x78, 0x69, 0xa1, 0xbd, 0x4e, 0xf6, 0xc1, 0x46, +}; +static const unsigned char kat2112_addinreseed[] = {0}; +static const unsigned char kat2112_addin0[] = {0}; +static const unsigned char kat2112_addin1[] = {0}; +static const unsigned char kat2112_retbits[] = { + 0x20, 0x97, 0xb5, 0x7c, 0x80, 0x2d, 0x25, 0x85, 0xec, 0x19, 0x20, 0x98, + 0xee, 0xa7, 0xad, 0x73, 0xae, 0x11, 0xdb, 0x7d, 0x28, 0x4f, 0x75, 0xd2, + 0xc3, 0x1f, 0xf4, 0xb6, 0xcd, 0xbd, 0x3f, 0x42, 0xe2, 0x52, 0x5a, 0x65, + 0x18, 0x38, 0x3d, 0x8d, 0x89, 0x2a, 0x57, 0x8a, 0xf9, 0x48, 0x42, 0x5e, + 0x1e, 0x60, 0x80, 0x3a, 0xfd, 0x88, 0x35, 0xc6, 0xf7, 0x3b, 0x58, 0x7a, + 0xa7, 0x8a, 0xc0, 0x3b, +}; +static const struct drbg_kat_pr_false kat2112_t = { + 11, kat2112_entropyin, kat2112_nonce, kat2112_persstr, + kat2112_entropyinreseed, kat2112_addinreseed, kat2112_addin0, + kat2112_addin1, kat2112_retbits +}; +static const struct drbg_kat kat2112 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2112_t +}; + +static const unsigned char kat2113_entropyin[] = { + 0xdb, 0x54, 0x4f, 0x76, 0x78, 0xe8, 0xe2, 0xf6, 0xc8, 0x45, 0xe4, 0x24, + 0x41, 0x46, 0x84, 0xd3, 0xcb, 0x6f, 0x2f, 0x67, 0x05, 0x0d, 0xf5, 0xaf, + 0x3c, 0xa5, 0xe4, 0x1d, 0x5d, 0x83, 0x4b, 0x42, +}; +static const unsigned char kat2113_nonce[] = { + 0xc9, 0x6c, 0x73, 0x57, 0x05, 0xbe, 0xc1, 0x3e, 0xc9, 0x34, 0x8e, 0x8f, + 0x5d, 0xb4, 0x55, 0x5d, +}; +static const unsigned char kat2113_persstr[] = {0}; +static const unsigned char kat2113_entropyinreseed[] = { + 0x83, 0x74, 0x98, 0x4b, 0x53, 0x92, 0x63, 0xfa, 0xf1, 0x21, 0x45, 0x91, + 0x09, 0xe0, 0xf5, 0x3a, 0x03, 0x03, 0xfa, 0x0f, 0x82, 0x0b, 0x9b, 0xea, + 0x4e, 0x35, 0xc5, 0x64, 0x4a, 0x42, 0xbd, 0xd2, +}; +static const unsigned char kat2113_addinreseed[] = {0}; +static const unsigned char kat2113_addin0[] = {0}; +static const unsigned char kat2113_addin1[] = {0}; +static const unsigned char kat2113_retbits[] = { + 0xd6, 0xb5, 0x43, 0xa9, 0x5c, 0x18, 0x4b, 0x96, 0x58, 0x3e, 0x9e, 0x5d, + 0x47, 0x7e, 0xd1, 0x9e, 0x2d, 0xcd, 0xb8, 0x4d, 0xba, 0x69, 0x21, 0x58, + 0x7f, 0xb1, 0x4b, 0xc6, 0xdc, 0x1d, 0xa5, 0xa7, 0xbf, 0x9f, 0x2a, 0xa4, + 0x14, 0x5d, 0x3d, 0x4f, 0x77, 0x3f, 0x53, 0x93, 0xec, 0x8b, 0x76, 0xc3, + 0x07, 0xf3, 0xf7, 0x2f, 0xf1, 0xb5, 0xe0, 0xb0, 0x3b, 0x32, 0x2d, 0xda, + 0x40, 0x9a, 0x88, 0xb4, +}; +static const struct drbg_kat_pr_false kat2113_t = { + 12, kat2113_entropyin, kat2113_nonce, kat2113_persstr, + kat2113_entropyinreseed, kat2113_addinreseed, kat2113_addin0, + kat2113_addin1, kat2113_retbits +}; +static const struct drbg_kat kat2113 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2113_t +}; + +static const unsigned char kat2114_entropyin[] = { + 0x86, 0x81, 0x54, 0x77, 0x45, 0xec, 0x3c, 0x9b, 0xdc, 0xe9, 0x75, 0x28, + 0x79, 0x8f, 0xf3, 0x5e, 0x25, 0x9f, 0x0e, 0x64, 0x9b, 0x52, 0x5f, 0x49, + 0x2d, 0xae, 0xf3, 0xa5, 0x96, 0xfc, 0xa9, 0xeb, +}; +static const unsigned char kat2114_nonce[] = { + 0x92, 0x7d, 0x4b, 0x92, 0xa9, 0xfd, 0x2d, 0x8a, 0x78, 0xa0, 0x5f, 0x73, + 0xc9, 0x04, 0xa7, 0xc8, +}; +static const unsigned char kat2114_persstr[] = {0}; +static const unsigned char kat2114_entropyinreseed[] = { + 0x8e, 0xe9, 0xe5, 0x76, 0x63, 0x2b, 0x2f, 0x5a, 0x54, 0x9e, 0x3d, 0xd0, + 0xd9, 0x9d, 0x0b, 0x26, 0x7e, 0x07, 0x93, 0x6e, 0x97, 0x22, 0x3a, 0x49, + 0xed, 0xf3, 0x86, 0xba, 0xc7, 0xfd, 0xcd, 0xc4, +}; +static const unsigned char kat2114_addinreseed[] = {0}; +static const unsigned char kat2114_addin0[] = {0}; +static const unsigned char kat2114_addin1[] = {0}; +static const unsigned char kat2114_retbits[] = { + 0xd1, 0x61, 0x6f, 0x14, 0x5a, 0x4e, 0xfd, 0x1c, 0xdc, 0x6e, 0x68, 0x82, + 0x66, 0xd2, 0x0d, 0xa1, 0x16, 0xad, 0x90, 0x44, 0xce, 0x4e, 0x4e, 0x42, + 0xd7, 0xe6, 0xe7, 0x8b, 0x65, 0xbb, 0x4f, 0xf1, 0x5c, 0x89, 0x36, 0xdf, + 0x9f, 0x2a, 0xc6, 0x5f, 0x43, 0xb5, 0x11, 0x17, 0x50, 0xec, 0xe5, 0x14, + 0x12, 0x84, 0x7a, 0xb3, 0xc0, 0xd6, 0x30, 0x53, 0x54, 0x55, 0x46, 0xfa, + 0x66, 0xf5, 0x77, 0x18, +}; +static const struct drbg_kat_pr_false kat2114_t = { + 13, kat2114_entropyin, kat2114_nonce, kat2114_persstr, + kat2114_entropyinreseed, kat2114_addinreseed, kat2114_addin0, + kat2114_addin1, kat2114_retbits +}; +static const struct drbg_kat kat2114 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2114_t +}; + +static const unsigned char kat2115_entropyin[] = { + 0x73, 0x4f, 0x99, 0xb0, 0xab, 0xc6, 0x1a, 0xe2, 0x31, 0xdb, 0x7f, 0xb1, + 0x9a, 0xb2, 0xbc, 0x4b, 0xb9, 0x03, 0x56, 0x7d, 0x6b, 0x35, 0xdb, 0xaf, + 0x76, 0x27, 0x4c, 0x4a, 0x68, 0x9e, 0xa2, 0xae, +}; +static const unsigned char kat2115_nonce[] = { + 0x3c, 0xbc, 0xda, 0x1d, 0xc5, 0xf7, 0x7e, 0x82, 0x11, 0x11, 0x25, 0xac, + 0x8c, 0x9d, 0x30, 0xb3, +}; +static const unsigned char kat2115_persstr[] = {0}; +static const unsigned char kat2115_entropyinreseed[] = { + 0xa3, 0x75, 0x6f, 0xff, 0x99, 0x03, 0xf3, 0x23, 0xe5, 0x73, 0x87, 0x21, + 0x04, 0xa1, 0xf4, 0xa2, 0x03, 0x5d, 0xbd, 0x3a, 0x46, 0x4e, 0xe5, 0xa5, + 0xee, 0x8d, 0xb4, 0xf4, 0x8e, 0xd0, 0xf1, 0xb7, +}; +static const unsigned char kat2115_addinreseed[] = {0}; +static const unsigned char kat2115_addin0[] = {0}; +static const unsigned char kat2115_addin1[] = {0}; +static const unsigned char kat2115_retbits[] = { + 0xbf, 0xe7, 0xe2, 0x05, 0xac, 0x68, 0x9d, 0x21, 0xae, 0x2a, 0x26, 0x85, + 0xe2, 0xea, 0xf1, 0xae, 0x0a, 0xd3, 0xe1, 0x39, 0x88, 0x18, 0x91, 0xc1, + 0xd1, 0x1b, 0x50, 0x59, 0x4d, 0xdd, 0x22, 0xcf, 0x3d, 0x7e, 0xe4, 0xd5, + 0xd4, 0x01, 0x0b, 0x44, 0xc9, 0xb7, 0xa8, 0x6f, 0x9b, 0x86, 0xd6, 0x65, + 0xa1, 0xb2, 0x8a, 0xe2, 0x1a, 0xc1, 0xd1, 0x19, 0xdd, 0xb5, 0x4e, 0x14, + 0x4e, 0xe8, 0xcb, 0x64, +}; +static const struct drbg_kat_pr_false kat2115_t = { + 14, kat2115_entropyin, kat2115_nonce, kat2115_persstr, + kat2115_entropyinreseed, kat2115_addinreseed, kat2115_addin0, + kat2115_addin1, kat2115_retbits +}; +static const struct drbg_kat kat2115 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat2115_t +}; + +static const unsigned char kat2116_entropyin[] = { + 0xa6, 0xe8, 0x60, 0x41, 0x4e, 0x2f, 0xe8, 0xd4, 0x74, 0x0e, 0xa2, 0x04, + 0xb8, 0x77, 0xc7, 0x6b, 0x50, 0x28, 0x07, 0x22, 0xc3, 0xb9, 0x18, 0x63, + 0x25, 0x74, 0x34, 0xc7, 0x53, 0x04, 0xda, 0xfe, +}; +static const unsigned char kat2116_nonce[] = { + 0x8f, 0x12, 0xc9, 0x32, 0x7d, 0x28, 0xe2, 0xc2, 0x74, 0x1e, 0x4a, 0xd7, + 0xe2, 0x7b, 0xb1, 0x24, +}; +static const unsigned char kat2116_persstr[] = {0}; +static const unsigned char kat2116_entropyinreseed[] = { + 0xc3, 0x2e, 0x3b, 0x4c, 0xf9, 0x7c, 0x06, 0xfa, 0xb4, 0x1b, 0x54, 0x58, + 0x70, 0xad, 0xd8, 0xc3, 0xf9, 0x8f, 0xa6, 0x75, 0x1a, 0xab, 0x02, 0x98, + 0x8d, 0x2d, 0x34, 0xc9, 0x5d, 0x19, 0x99, 0x65, +}; +static const unsigned char kat2116_addinreseed[] = { + 0xf0, 0xd9, 0xa6, 0x4f, 0xab, 0xbf, 0x34, 0x6c, 0x87, 0x1d, 0x77, 0x31, + 0xe7, 0x15, 0x86, 0xbc, 0xce, 0x74, 0x8b, 0x08, 0xff, 0x07, 0x26, 0xd6, + 0x8d, 0x54, 0xbf, 0xed, 0x27, 0xb1, 0x0b, 0x27, +}; +static const unsigned char kat2116_addin0[] = { + 0xc7, 0x2f, 0x45, 0x58, 0x1a, 0x79, 0x73, 0xcb, 0x41, 0x48, 0xfb, 0x9e, + 0x8e, 0xac, 0xfc, 0xa0, 0xe5, 0x13, 0xc4, 0x0a, 0xb8, 0x92, 0x53, 0x13, + 0xb4, 0x99, 0xb1, 0xb8, 0x3a, 0x99, 0xe3, 0x72, +}; +static const unsigned char kat2116_addin1[] = { + 0x7d, 0xfa, 0xcd, 0x72, 0xc0, 0x84, 0xc3, 0x24, 0xf7, 0x21, 0xf0, 0x3a, + 0xdd, 0xbe, 0x72, 0xb6, 0x46, 0xa4, 0xa7, 0x23, 0xe7, 0x8b, 0x5e, 0x40, + 0x1a, 0xef, 0x84, 0x4c, 0xf2, 0xb9, 0x13, 0x33, +}; +static const unsigned char kat2116_retbits[] = { + 0xdb, 0x25, 0x29, 0x86, 0x20, 0x11, 0xf4, 0x5d, 0x95, 0x91, 0x8d, 0x84, + 0x3b, 0x7e, 0xf0, 0xd7, 0xab, 0x18, 0xa6, 0xd6, 0xe3, 0xf0, 0xbc, 0xec, + 0x10, 0x94, 0x97, 0x50, 0x2b, 0x68, 0xb5, 0xed, 0x9c, 0xea, 0xe8, 0x55, + 0x14, 0xaf, 0x51, 0x59, 0x7e, 0x84, 0x79, 0x19, 0x6d, 0x59, 0x19, 0x0c, + 0xda, 0x41, 0x4e, 0x56, 0x6a, 0xd6, 0x38, 0xd3, 0x91, 0x56, 0x35, 0x1a, + 0xfb, 0xae, 0xaf, 0xd9, +}; +static const struct drbg_kat_pr_false kat2116_t = { + 0, kat2116_entropyin, kat2116_nonce, kat2116_persstr, + kat2116_entropyinreseed, kat2116_addinreseed, kat2116_addin0, + kat2116_addin1, kat2116_retbits +}; +static const struct drbg_kat kat2116 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2116_t +}; + +static const unsigned char kat2117_entropyin[] = { + 0xdd, 0xbf, 0xec, 0xb8, 0x8d, 0xf6, 0x62, 0x75, 0x52, 0xb9, 0x13, 0xe6, + 0x36, 0xa2, 0xdf, 0xcc, 0x8a, 0x00, 0x93, 0xf4, 0xc5, 0xd6, 0xec, 0x3b, + 0x0a, 0x30, 0x07, 0xcf, 0xce, 0x1b, 0x08, 0xf2, +}; +static const unsigned char kat2117_nonce[] = { + 0xb8, 0x62, 0xf9, 0xd4, 0x92, 0xd9, 0x3d, 0x73, 0x62, 0x01, 0xb5, 0xce, + 0xf1, 0x5b, 0x5c, 0x5c, +}; +static const unsigned char kat2117_persstr[] = {0}; +static const unsigned char kat2117_entropyinreseed[] = { + 0x2a, 0xe9, 0xd1, 0x9f, 0x0a, 0xaf, 0x66, 0x88, 0xd7, 0x8a, 0xb9, 0x1b, + 0x11, 0xf0, 0x66, 0x8c, 0x16, 0x16, 0xe8, 0x1a, 0x62, 0x79, 0xab, 0xaf, + 0x91, 0x1b, 0x46, 0x86, 0xe0, 0x46, 0xd1, 0xdb, +}; +static const unsigned char kat2117_addinreseed[] = { + 0x40, 0x4c, 0x84, 0x94, 0x36, 0x37, 0xc2, 0x2f, 0xce, 0xd4, 0x95, 0x55, + 0x83, 0x9d, 0xab, 0xab, 0xa0, 0xd6, 0xdf, 0x25, 0xc7, 0xa0, 0x49, 0xaa, + 0x2b, 0xb7, 0x11, 0x4b, 0xea, 0x93, 0xff, 0x67, +}; +static const unsigned char kat2117_addin0[] = { + 0x79, 0x53, 0x9a, 0x1f, 0xe5, 0x6c, 0x5e, 0x1d, 0x72, 0x01, 0x29, 0x2d, + 0x50, 0x7c, 0x5e, 0xdb, 0x55, 0x4c, 0xde, 0x37, 0x96, 0x81, 0x05, 0xc3, + 0x86, 0x5d, 0xf9, 0xf7, 0xdc, 0x36, 0xd1, 0xe7, +}; +static const unsigned char kat2117_addin1[] = { + 0x8f, 0x33, 0x19, 0xf8, 0x43, 0xe0, 0x82, 0x44, 0xe8, 0xd2, 0x7d, 0x7e, + 0xb5, 0xdb, 0x68, 0x1e, 0x9f, 0xfd, 0x83, 0x65, 0x7d, 0xdb, 0x40, 0x65, + 0x9f, 0xde, 0x20, 0xb2, 0xb4, 0x37, 0x6c, 0x01, +}; +static const unsigned char kat2117_retbits[] = { + 0x87, 0xb7, 0xa3, 0xe5, 0xbf, 0xd7, 0xa5, 0xf8, 0xba, 0x93, 0xfb, 0x02, + 0x0f, 0x21, 0x3c, 0xef, 0xb0, 0xb2, 0xaf, 0xc6, 0xa7, 0x33, 0xd9, 0x9b, + 0x53, 0xe5, 0x6e, 0x51, 0xca, 0x06, 0x06, 0x8f, 0x1a, 0x37, 0xff, 0x8d, + 0x88, 0xb7, 0xc7, 0x7c, 0x23, 0x48, 0x7b, 0xdf, 0x63, 0xb0, 0x98, 0x76, + 0x10, 0x40, 0xf5, 0xf3, 0xd4, 0x94, 0x89, 0xc3, 0x8f, 0xb6, 0xfd, 0x3a, + 0x7e, 0xb3, 0x3f, 0xf1, +}; +static const struct drbg_kat_pr_false kat2117_t = { + 1, kat2117_entropyin, kat2117_nonce, kat2117_persstr, + kat2117_entropyinreseed, kat2117_addinreseed, kat2117_addin0, + kat2117_addin1, kat2117_retbits +}; +static const struct drbg_kat kat2117 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2117_t +}; + +static const unsigned char kat2118_entropyin[] = { + 0xca, 0x44, 0x84, 0x1b, 0xa8, 0x3a, 0xcc, 0xac, 0x8a, 0x90, 0xe8, 0xe7, + 0xed, 0xe8, 0x6a, 0x9b, 0xcc, 0x1e, 0x42, 0xa7, 0x36, 0xf3, 0x17, 0xbe, + 0x3e, 0xc2, 0x5d, 0xd8, 0xc0, 0x15, 0xe0, 0xe0, +}; +static const unsigned char kat2118_nonce[] = { + 0xd1, 0x59, 0xa4, 0x15, 0xb8, 0x1b, 0xf2, 0x6e, 0x13, 0xb6, 0xce, 0x37, + 0x98, 0x63, 0x1f, 0x7c, +}; +static const unsigned char kat2118_persstr[] = {0}; +static const unsigned char kat2118_entropyinreseed[] = { + 0xdb, 0xdf, 0xb6, 0x75, 0x71, 0x48, 0x70, 0x4b, 0x56, 0xa1, 0x6c, 0x40, + 0x17, 0xe4, 0xda, 0xa2, 0x0c, 0x1a, 0x40, 0x3b, 0x79, 0x0b, 0xd6, 0x48, + 0x3d, 0x3f, 0x4c, 0x1a, 0xb4, 0xcc, 0x96, 0xa8, +}; +static const unsigned char kat2118_addinreseed[] = { + 0x8e, 0x22, 0x25, 0x23, 0xa9, 0x3e, 0x06, 0x11, 0x7d, 0xd2, 0xbe, 0x55, + 0xed, 0x51, 0x30, 0xce, 0x59, 0x0d, 0xcb, 0xcc, 0xb7, 0x05, 0xa4, 0x23, + 0x86, 0x7a, 0x56, 0xa6, 0xc7, 0x87, 0x51, 0xca, +}; +static const unsigned char kat2118_addin0[] = { + 0x9f, 0x0d, 0x6c, 0xa9, 0xf4, 0xd3, 0xb7, 0x9f, 0x36, 0x9f, 0x37, 0x63, + 0x25, 0x4f, 0xe8, 0x0a, 0x77, 0x03, 0xdf, 0x5a, 0x96, 0xdd, 0x2f, 0xf5, + 0x3d, 0x57, 0x82, 0x0b, 0x70, 0x09, 0x5c, 0x1f, +}; +static const unsigned char kat2118_addin1[] = { + 0xc9, 0x01, 0x99, 0x27, 0xc4, 0x0c, 0xe1, 0x2c, 0x1b, 0xd5, 0x96, 0xc2, + 0x2c, 0x72, 0x65, 0x4c, 0xce, 0xa3, 0xee, 0x52, 0x91, 0xcc, 0xe1, 0x1c, + 0xe5, 0x50, 0xe6, 0x0e, 0xb7, 0xf0, 0x39, 0x31, +}; +static const unsigned char kat2118_retbits[] = { + 0xcf, 0xdb, 0x90, 0x64, 0x12, 0x88, 0xc8, 0x57, 0x17, 0x48, 0xc9, 0xea, + 0x59, 0x34, 0xac, 0xb3, 0x23, 0x0a, 0x84, 0x7d, 0x1d, 0xee, 0xd4, 0x80, + 0x14, 0xcc, 0x1b, 0x25, 0x78, 0xe4, 0x05, 0x39, 0xdf, 0xab, 0x2b, 0xc6, + 0x11, 0x80, 0x57, 0xb1, 0x86, 0x08, 0x39, 0x9e, 0xdf, 0x19, 0x8d, 0xad, + 0xb4, 0x87, 0xaa, 0x4a, 0xf2, 0x0b, 0xc5, 0xf4, 0x4d, 0x8c, 0x4f, 0xbb, + 0xc9, 0x60, 0x56, 0xb6, +}; +static const struct drbg_kat_pr_false kat2118_t = { + 2, kat2118_entropyin, kat2118_nonce, kat2118_persstr, + kat2118_entropyinreseed, kat2118_addinreseed, kat2118_addin0, + kat2118_addin1, kat2118_retbits +}; +static const struct drbg_kat kat2118 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2118_t +}; + +static const unsigned char kat2119_entropyin[] = { + 0x10, 0xe2, 0x6c, 0x67, 0x4e, 0x99, 0xf1, 0x86, 0x67, 0x78, 0xe3, 0x16, + 0x50, 0x7f, 0x7a, 0x15, 0xcf, 0x5d, 0x82, 0xfb, 0xca, 0xb3, 0xb9, 0x1f, + 0xf7, 0xf6, 0x6b, 0x92, 0x61, 0x46, 0x7b, 0xb8, +}; +static const unsigned char kat2119_nonce[] = { + 0x12, 0x76, 0xfa, 0x82, 0x6b, 0x68, 0xf3, 0x85, 0xf2, 0x3a, 0x43, 0x78, + 0x6d, 0x62, 0xbe, 0x18, +}; +static const unsigned char kat2119_persstr[] = {0}; +static const unsigned char kat2119_entropyinreseed[] = { + 0xec, 0xa2, 0xbf, 0xae, 0x3f, 0xa6, 0xb2, 0x71, 0xfb, 0x51, 0xef, 0x89, + 0xa6, 0x41, 0xf8, 0x92, 0x30, 0xad, 0x3e, 0xfb, 0x23, 0xa2, 0x50, 0x53, + 0x4a, 0x34, 0x2d, 0xbf, 0xff, 0xc4, 0x3b, 0xdf, +}; +static const unsigned char kat2119_addinreseed[] = { + 0x8c, 0x1c, 0x67, 0x3b, 0x3a, 0x06, 0xbd, 0x9b, 0x10, 0xc7, 0x87, 0xe6, + 0x09, 0x44, 0x2d, 0x7f, 0x6d, 0xba, 0x9d, 0xef, 0x1d, 0x59, 0x6c, 0x03, + 0x1d, 0x39, 0x3c, 0x91, 0x65, 0x67, 0x41, 0x14, +}; +static const unsigned char kat2119_addin0[] = { + 0x12, 0xce, 0x47, 0x00, 0x2f, 0x81, 0x57, 0x00, 0xe7, 0x9a, 0xc6, 0x6f, + 0x69, 0xba, 0x65, 0x87, 0x44, 0x27, 0xa5, 0x20, 0xe5, 0xa0, 0x33, 0xa0, + 0x96, 0x05, 0xde, 0xd1, 0xac, 0xe9, 0xb0, 0xd2, +}; +static const unsigned char kat2119_addin1[] = { + 0x05, 0x80, 0xae, 0x03, 0x35, 0x9c, 0x94, 0xd3, 0x27, 0x6e, 0x67, 0x87, + 0x8a, 0x01, 0xfc, 0x99, 0xcb, 0xdc, 0x83, 0xbb, 0x83, 0x2d, 0xbd, 0x85, + 0xa6, 0x1a, 0x11, 0x60, 0x38, 0xd6, 0x28, 0x4e, +}; +static const unsigned char kat2119_retbits[] = { + 0xc6, 0x5a, 0x71, 0x6f, 0x71, 0x6e, 0x12, 0xe8, 0x88, 0x4b, 0x68, 0x5f, + 0xbd, 0x61, 0x2f, 0x8a, 0xdf, 0xc0, 0x2b, 0x0d, 0x17, 0x53, 0x78, 0x62, + 0x08, 0x80, 0x2a, 0xca, 0x3f, 0xe6, 0x97, 0x03, 0x1f, 0x51, 0x4a, 0x47, + 0x0c, 0x09, 0x63, 0x50, 0x30, 0xf0, 0x39, 0x73, 0x81, 0xbc, 0x61, 0x95, + 0xe9, 0x9f, 0xf2, 0x4b, 0xcf, 0x20, 0xf5, 0x16, 0xa0, 0xb4, 0xc6, 0x55, + 0xa6, 0x45, 0x13, 0x05, +}; +static const struct drbg_kat_pr_false kat2119_t = { + 3, kat2119_entropyin, kat2119_nonce, kat2119_persstr, + kat2119_entropyinreseed, kat2119_addinreseed, kat2119_addin0, + kat2119_addin1, kat2119_retbits +}; +static const struct drbg_kat kat2119 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2119_t +}; + +static const unsigned char kat2120_entropyin[] = { + 0x52, 0x99, 0x8a, 0x71, 0xea, 0x17, 0xfc, 0x99, 0x3f, 0x67, 0xd8, 0xbb, + 0xb1, 0x77, 0xd7, 0xe1, 0x93, 0x9b, 0x58, 0x5c, 0x21, 0x36, 0xff, 0x16, + 0x11, 0x2a, 0x89, 0xa8, 0x9d, 0x36, 0xad, 0x6d, +}; +static const unsigned char kat2120_nonce[] = { + 0x4d, 0xd6, 0x76, 0xa4, 0x24, 0x15, 0xb4, 0x81, 0x87, 0xec, 0xbb, 0x8f, + 0x27, 0x05, 0x7a, 0x2c, +}; +static const unsigned char kat2120_persstr[] = {0}; +static const unsigned char kat2120_entropyinreseed[] = { + 0xf7, 0x67, 0x3a, 0x0f, 0x9b, 0x21, 0x50, 0xee, 0x95, 0x67, 0xcd, 0xf4, + 0x81, 0x4a, 0x40, 0x99, 0x41, 0xa1, 0x76, 0x0c, 0xbf, 0xc3, 0x69, 0xe8, + 0xc7, 0xdf, 0xc7, 0x1b, 0x02, 0xc2, 0x78, 0x38, +}; +static const unsigned char kat2120_addinreseed[] = { + 0xd1, 0x61, 0xc1, 0x8a, 0xbb, 0x23, 0xd0, 0x84, 0x0b, 0xd3, 0x77, 0xbf, + 0x7b, 0xf4, 0xd6, 0xe6, 0xaa, 0x2f, 0xeb, 0xe4, 0x54, 0x2b, 0xc5, 0x38, + 0x07, 0xaf, 0xd5, 0x0d, 0xd3, 0x2e, 0x71, 0x1e, +}; +static const unsigned char kat2120_addin0[] = { + 0x92, 0xc1, 0x80, 0xe7, 0x7c, 0x48, 0xf9, 0xb4, 0xa0, 0xfa, 0x85, 0xf3, + 0x81, 0x2e, 0x0b, 0x2a, 0x19, 0xce, 0xaf, 0x56, 0x89, 0x0b, 0x57, 0x82, + 0xaf, 0x2c, 0xc9, 0x1f, 0x73, 0x8f, 0xc6, 0x65, +}; +static const unsigned char kat2120_addin1[] = { + 0x50, 0x50, 0x67, 0xbe, 0x22, 0x50, 0xe0, 0x83, 0xf3, 0x2e, 0xbb, 0x38, + 0xfe, 0xab, 0x5f, 0xd1, 0xaf, 0x1b, 0x71, 0x79, 0xcc, 0x4b, 0x73, 0xa4, + 0xea, 0x75, 0xf3, 0xad, 0xf3, 0xe7, 0xfc, 0x5b, +}; +static const unsigned char kat2120_retbits[] = { + 0x9c, 0x3d, 0xb7, 0x06, 0x21, 0xf2, 0xe9, 0xb6, 0x6d, 0x94, 0xa7, 0x2c, + 0xf9, 0x65, 0x27, 0x27, 0xbd, 0x76, 0xe1, 0x6f, 0xb9, 0x8e, 0x3f, 0x78, + 0x0b, 0x21, 0x8a, 0x3f, 0x84, 0xc4, 0xd5, 0xd3, 0x86, 0x04, 0xac, 0x85, + 0x71, 0xfb, 0x70, 0x76, 0xae, 0xa0, 0xd6, 0x69, 0x20, 0x6b, 0x37, 0xb9, + 0x78, 0x78, 0x77, 0x67, 0xdc, 0xb4, 0xe8, 0xf2, 0xcb, 0x64, 0x09, 0x2e, + 0x1c, 0xfb, 0x97, 0x39, +}; +static const struct drbg_kat_pr_false kat2120_t = { + 4, kat2120_entropyin, kat2120_nonce, kat2120_persstr, + kat2120_entropyinreseed, kat2120_addinreseed, kat2120_addin0, + kat2120_addin1, kat2120_retbits +}; +static const struct drbg_kat kat2120 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2120_t +}; + +static const unsigned char kat2121_entropyin[] = { + 0x71, 0x03, 0x7d, 0xf5, 0xd1, 0x85, 0x2f, 0xa6, 0xd5, 0x85, 0x26, 0x92, + 0xb3, 0x64, 0xbf, 0x74, 0xd8, 0x91, 0x3e, 0x4b, 0xcc, 0x01, 0x5e, 0xc9, + 0x7b, 0x8c, 0xb4, 0x5d, 0x45, 0x62, 0xe8, 0x51, +}; +static const unsigned char kat2121_nonce[] = { + 0xf7, 0xae, 0xd4, 0x63, 0x1b, 0xfa, 0x3d, 0xe4, 0xa0, 0xf0, 0x28, 0xed, + 0xc9, 0xba, 0xae, 0xe0, +}; +static const unsigned char kat2121_persstr[] = {0}; +static const unsigned char kat2121_entropyinreseed[] = { + 0xd6, 0xce, 0x60, 0x95, 0xeb, 0x53, 0x1c, 0x5e, 0xc9, 0x42, 0x20, 0x97, + 0x8f, 0xb4, 0x29, 0x3c, 0x8f, 0x62, 0x7e, 0x97, 0x0b, 0x0d, 0x34, 0xcd, + 0x2f, 0x44, 0xbd, 0xb3, 0x8e, 0xb9, 0xed, 0xd4, +}; +static const unsigned char kat2121_addinreseed[] = { + 0x99, 0xa6, 0xe1, 0xf0, 0x0c, 0xc4, 0xb9, 0xc4, 0xf7, 0x79, 0x57, 0xd4, + 0xf8, 0x3a, 0x02, 0x41, 0xcf, 0x4e, 0xc1, 0x4c, 0x59, 0xdf, 0x8d, 0xef, + 0x35, 0xdf, 0xde, 0x2b, 0x5b, 0x44, 0x1d, 0x75, +}; +static const unsigned char kat2121_addin0[] = { + 0xde, 0xf6, 0xf7, 0x96, 0x03, 0xde, 0x44, 0x66, 0xcd, 0x17, 0xc0, 0xa9, + 0x3b, 0x58, 0x2e, 0xa2, 0xbc, 0x2d, 0x94, 0xde, 0xd2, 0x4d, 0x74, 0xbd, + 0xe5, 0x7e, 0x81, 0x08, 0x56, 0x67, 0x30, 0xc5, +}; +static const unsigned char kat2121_addin1[] = { + 0x88, 0x05, 0xf0, 0x93, 0xa6, 0x7f, 0x02, 0xb2, 0x08, 0xfa, 0x37, 0x44, + 0x51, 0x11, 0x58, 0xf3, 0xfa, 0xc0, 0x7a, 0x78, 0x84, 0xfd, 0xbd, 0x2e, + 0x5a, 0x96, 0xee, 0xc9, 0x64, 0x57, 0x64, 0xf0, +}; +static const unsigned char kat2121_retbits[] = { + 0x87, 0x03, 0x35, 0xd8, 0x35, 0x76, 0xcf, 0x60, 0xb9, 0x74, 0xef, 0x6b, + 0x2d, 0xd1, 0xe2, 0xa9, 0x73, 0x90, 0x16, 0x67, 0xa6, 0x90, 0x5e, 0x18, + 0x1e, 0x5a, 0x04, 0x9a, 0x7a, 0xf0, 0xf4, 0x83, 0xbe, 0xd1, 0xff, 0x11, + 0x65, 0xd5, 0xff, 0x09, 0x4e, 0x88, 0x56, 0xbd, 0x7f, 0x93, 0x34, 0x2d, + 0xbe, 0xa5, 0xe4, 0xa5, 0x40, 0x7e, 0x7a, 0x5e, 0x20, 0x41, 0xa9, 0x6c, + 0x94, 0x3a, 0x25, 0x54, +}; +static const struct drbg_kat_pr_false kat2121_t = { + 5, kat2121_entropyin, kat2121_nonce, kat2121_persstr, + kat2121_entropyinreseed, kat2121_addinreseed, kat2121_addin0, + kat2121_addin1, kat2121_retbits +}; +static const struct drbg_kat kat2121 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2121_t +}; + +static const unsigned char kat2122_entropyin[] = { + 0x4e, 0x40, 0xed, 0x65, 0xde, 0xaf, 0xbe, 0x08, 0xd8, 0x1a, 0xca, 0x66, + 0x07, 0x51, 0x8f, 0xa9, 0xe5, 0x58, 0xba, 0x83, 0x23, 0x5c, 0xb9, 0x23, + 0xae, 0x5e, 0xc2, 0xd4, 0x81, 0x9e, 0x4f, 0xb2, +}; +static const unsigned char kat2122_nonce[] = { + 0xec, 0xd1, 0xc0, 0x86, 0x38, 0x92, 0xcd, 0x09, 0x6e, 0xc0, 0x00, 0xd1, + 0xf8, 0x29, 0x58, 0x86, +}; +static const unsigned char kat2122_persstr[] = {0}; +static const unsigned char kat2122_entropyinreseed[] = { + 0x38, 0x1b, 0xc2, 0x4e, 0xf1, 0xfe, 0xa4, 0x04, 0xc6, 0x85, 0xeb, 0x7b, + 0x06, 0xc4, 0x0d, 0xb6, 0x97, 0x2a, 0xf2, 0xf9, 0x98, 0x04, 0xdf, 0xa8, + 0x87, 0x59, 0x14, 0x7a, 0xad, 0x41, 0xa8, 0x62, +}; +static const unsigned char kat2122_addinreseed[] = { + 0x2d, 0x28, 0x44, 0x5e, 0xa8, 0x81, 0xec, 0x3a, 0x42, 0x37, 0x41, 0xb1, + 0x70, 0xb5, 0xef, 0x85, 0x29, 0xe5, 0xdc, 0x53, 0xa2, 0x6f, 0x2d, 0x63, + 0x45, 0x2a, 0xf4, 0x28, 0x61, 0x3d, 0x56, 0xd5, +}; +static const unsigned char kat2122_addin0[] = { + 0xb7, 0xca, 0x5f, 0xb6, 0xd8, 0xa7, 0xce, 0x2a, 0x5d, 0x25, 0xbc, 0xba, + 0xc2, 0x46, 0x97, 0x8a, 0x26, 0x01, 0x83, 0x2f, 0xcd, 0x9e, 0xa2, 0x35, + 0x0b, 0xbb, 0x7b, 0xb8, 0x34, 0xfc, 0xa7, 0x85, +}; +static const unsigned char kat2122_addin1[] = { + 0xc5, 0xdd, 0x43, 0x28, 0xa1, 0x10, 0xd6, 0x9a, 0xa1, 0xfe, 0x1b, 0x24, + 0x28, 0x1b, 0x8b, 0xbf, 0x7a, 0x15, 0xe7, 0x86, 0x21, 0xd6, 0x2a, 0x66, + 0x56, 0xf3, 0xa0, 0x3c, 0x87, 0xdd, 0x92, 0xa7, +}; +static const unsigned char kat2122_retbits[] = { + 0xb9, 0x7b, 0x22, 0x0c, 0x2c, 0x44, 0x70, 0x29, 0xc1, 0x58, 0x75, 0x9f, + 0x0a, 0x5e, 0x94, 0x4e, 0x35, 0x3c, 0x15, 0xf0, 0x3d, 0x3a, 0x74, 0x55, + 0x52, 0xf8, 0xd5, 0x41, 0x53, 0x35, 0xe8, 0xc8, 0x4b, 0x80, 0x38, 0xe6, + 0x30, 0xbd, 0x82, 0x18, 0x3b, 0x0c, 0x1a, 0x3c, 0x4f, 0x75, 0xc4, 0xe2, + 0x08, 0xe2, 0x75, 0x76, 0x37, 0x36, 0x53, 0xee, 0xa7, 0xb8, 0x4b, 0x1e, + 0xc7, 0x04, 0xf4, 0x96, +}; +static const struct drbg_kat_pr_false kat2122_t = { + 6, kat2122_entropyin, kat2122_nonce, kat2122_persstr, + kat2122_entropyinreseed, kat2122_addinreseed, kat2122_addin0, + kat2122_addin1, kat2122_retbits +}; +static const struct drbg_kat kat2122 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2122_t +}; + +static const unsigned char kat2123_entropyin[] = { + 0xc7, 0xa8, 0x47, 0x9e, 0x9a, 0x97, 0xa0, 0x4c, 0xb3, 0x1a, 0x75, 0xb1, + 0xcc, 0x8c, 0x12, 0x89, 0x73, 0x83, 0xd4, 0xb3, 0x58, 0xd6, 0x30, 0x80, + 0x67, 0x93, 0x93, 0x1d, 0x67, 0xe2, 0x9f, 0x2e, +}; +static const unsigned char kat2123_nonce[] = { + 0x69, 0x52, 0x33, 0x66, 0x95, 0xe2, 0xf5, 0x18, 0x42, 0xe5, 0x0d, 0x47, + 0xac, 0x03, 0x1e, 0x3a, +}; +static const unsigned char kat2123_persstr[] = {0}; +static const unsigned char kat2123_entropyinreseed[] = { + 0x4d, 0xbe, 0xf9, 0x60, 0x13, 0xf0, 0xb0, 0x35, 0xdc, 0xce, 0xfb, 0x03, + 0x36, 0x20, 0x74, 0xe4, 0x25, 0xe4, 0xa7, 0x49, 0x16, 0xbe, 0x7c, 0x9c, + 0x8a, 0xdd, 0x37, 0x68, 0x35, 0x9f, 0x63, 0x10, +}; +static const unsigned char kat2123_addinreseed[] = { + 0xdd, 0xa0, 0xcd, 0x22, 0xf2, 0x4c, 0xff, 0x55, 0x2a, 0xb9, 0x63, 0x81, + 0x98, 0x67, 0x82, 0xbb, 0xdf, 0x4f, 0xa9, 0x1d, 0x17, 0xbb, 0x25, 0x26, + 0x5b, 0x8f, 0x30, 0xcc, 0xa9, 0x31, 0xb3, 0xf6, +}; +static const unsigned char kat2123_addin0[] = { + 0x8a, 0x08, 0x98, 0xe1, 0xea, 0xa5, 0xca, 0x96, 0xcb, 0xff, 0xd0, 0xae, + 0xf4, 0xaa, 0xfb, 0x59, 0xe5, 0x53, 0x00, 0x99, 0x0f, 0xf4, 0xe4, 0xd2, + 0xa5, 0x57, 0x44, 0x9a, 0x9f, 0x45, 0x2b, 0x0b, +}; +static const unsigned char kat2123_addin1[] = { + 0xc0, 0xb4, 0x8a, 0xe5, 0xe4, 0xcf, 0xf6, 0x0d, 0x9d, 0x80, 0x92, 0x10, + 0x41, 0x05, 0xa4, 0x85, 0xd4, 0x00, 0xc4, 0xe6, 0x2a, 0x20, 0x87, 0xb6, + 0xee, 0xfb, 0x8c, 0x45, 0xc7, 0x25, 0x1a, 0x15, +}; +static const unsigned char kat2123_retbits[] = { + 0x8e, 0xa6, 0x1e, 0x74, 0x00, 0x80, 0xed, 0xcd, 0x50, 0xd8, 0x53, 0x6e, + 0xdf, 0x1f, 0xb0, 0x9c, 0xab, 0x95, 0x14, 0xaf, 0xd3, 0xf5, 0xd7, 0x0c, + 0x61, 0xe0, 0x62, 0x53, 0xcf, 0xe2, 0x9c, 0x35, 0x7f, 0x58, 0xdc, 0xcc, + 0xc7, 0xa9, 0x47, 0x8c, 0xb9, 0x11, 0xd8, 0xb0, 0x78, 0xd0, 0x28, 0xfc, + 0x28, 0x44, 0x96, 0x78, 0xa4, 0x7e, 0x12, 0xc1, 0xef, 0x80, 0xed, 0xbd, + 0x68, 0x28, 0x05, 0x5b, +}; +static const struct drbg_kat_pr_false kat2123_t = { + 7, kat2123_entropyin, kat2123_nonce, kat2123_persstr, + kat2123_entropyinreseed, kat2123_addinreseed, kat2123_addin0, + kat2123_addin1, kat2123_retbits +}; +static const struct drbg_kat kat2123 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2123_t +}; + +static const unsigned char kat2124_entropyin[] = { + 0xdf, 0x2f, 0xc4, 0x1f, 0x0b, 0xd9, 0xd1, 0x85, 0xdc, 0x15, 0xc6, 0xea, + 0xb6, 0xb9, 0xe9, 0xe7, 0x26, 0x7e, 0x8c, 0xce, 0x27, 0x22, 0x81, 0xaf, + 0xa5, 0xd6, 0x54, 0x5a, 0x75, 0xea, 0x7a, 0x18, +}; +static const unsigned char kat2124_nonce[] = { + 0x28, 0x65, 0xdc, 0x91, 0xbd, 0xf6, 0xbb, 0x25, 0xbd, 0xf9, 0xec, 0xae, + 0x68, 0x10, 0xbe, 0x24, +}; +static const unsigned char kat2124_persstr[] = {0}; +static const unsigned char kat2124_entropyinreseed[] = { + 0x21, 0x01, 0xfe, 0xbe, 0x49, 0x04, 0xbe, 0xfd, 0xce, 0xf6, 0x08, 0x94, + 0x53, 0xac, 0x1b, 0x3c, 0x82, 0xcb, 0xee, 0x72, 0x5d, 0x96, 0x9f, 0x09, + 0x77, 0xcb, 0x57, 0x4c, 0xd2, 0xa4, 0x41, 0x2e, +}; +static const unsigned char kat2124_addinreseed[] = { + 0x31, 0xb8, 0xd2, 0x98, 0x48, 0xa0, 0x4f, 0x81, 0x59, 0xb8, 0x02, 0xd6, + 0xec, 0x98, 0x27, 0x49, 0xe7, 0xfa, 0x4a, 0xa0, 0xb8, 0x72, 0x29, 0x1d, + 0x2c, 0xc9, 0xda, 0x03, 0x10, 0x34, 0x4d, 0x43, +}; +static const unsigned char kat2124_addin0[] = { + 0xb0, 0xaa, 0xd9, 0xd5, 0x68, 0x57, 0x88, 0xfe, 0x82, 0x1b, 0xb2, 0xbb, + 0x81, 0xd3, 0x42, 0x0f, 0x49, 0xa5, 0x1a, 0xec, 0x11, 0x8f, 0x54, 0x87, + 0xf4, 0x15, 0x52, 0x84, 0x78, 0x85, 0x76, 0xe8, +}; +static const unsigned char kat2124_addin1[] = { + 0xba, 0x68, 0xcc, 0x2e, 0xde, 0x48, 0x38, 0xa8, 0x34, 0x93, 0x8d, 0xce, + 0xa6, 0x94, 0xfa, 0x63, 0x41, 0xb0, 0x73, 0x28, 0x60, 0xc0, 0xed, 0xa9, + 0xcd, 0x0f, 0xd3, 0xc6, 0xe6, 0x87, 0xc9, 0x88, +}; +static const unsigned char kat2124_retbits[] = { + 0x4d, 0xcf, 0x23, 0xca, 0x7f, 0xa9, 0x87, 0x21, 0x65, 0x1c, 0x0c, 0xcf, + 0x5f, 0x7a, 0xe8, 0xcd, 0xfa, 0x51, 0x2c, 0xba, 0x1a, 0x90, 0xf4, 0xcb, + 0x31, 0xac, 0x8d, 0x13, 0x16, 0xc1, 0xd3, 0x67, 0x2e, 0xd8, 0x46, 0x55, + 0x4c, 0xd6, 0x2e, 0xb8, 0x5c, 0xbd, 0x0e, 0xd9, 0xb2, 0x8f, 0x6e, 0x2a, + 0xac, 0x87, 0xa1, 0xb2, 0x90, 0x76, 0xd3, 0x27, 0x8a, 0xbe, 0x1d, 0xc4, + 0xd9, 0x81, 0x37, 0x95, +}; +static const struct drbg_kat_pr_false kat2124_t = { + 8, kat2124_entropyin, kat2124_nonce, kat2124_persstr, + kat2124_entropyinreseed, kat2124_addinreseed, kat2124_addin0, + kat2124_addin1, kat2124_retbits +}; +static const struct drbg_kat kat2124 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2124_t +}; + +static const unsigned char kat2125_entropyin[] = { + 0x79, 0x86, 0x4c, 0xd2, 0xd6, 0x9f, 0xc5, 0xb7, 0x5f, 0xac, 0xa2, 0xa9, + 0x35, 0x03, 0xec, 0xf2, 0x1b, 0x60, 0x17, 0x67, 0x54, 0xc7, 0xe6, 0xc0, + 0x28, 0xec, 0xbb, 0x67, 0x4f, 0x2b, 0xba, 0xac, +}; +static const unsigned char kat2125_nonce[] = { + 0x61, 0x9b, 0x1f, 0x7e, 0xd2, 0x8f, 0x45, 0x1c, 0xee, 0x9b, 0xa7, 0x3f, + 0x61, 0x4b, 0x05, 0x90, +}; +static const unsigned char kat2125_persstr[] = {0}; +static const unsigned char kat2125_entropyinreseed[] = { + 0xa6, 0x18, 0xdb, 0xbf, 0x6a, 0xcb, 0x2e, 0x29, 0xb2, 0x73, 0xee, 0x89, + 0xce, 0x86, 0x6e, 0xa2, 0x93, 0xb2, 0x8b, 0x4b, 0x11, 0xb4, 0x7c, 0xef, + 0x8c, 0x48, 0xbe, 0xc2, 0x93, 0x39, 0x7c, 0xf1, +}; +static const unsigned char kat2125_addinreseed[] = { + 0xd2, 0x2d, 0xb1, 0x90, 0xf2, 0xa7, 0x17, 0x45, 0xa7, 0xbd, 0xe0, 0x72, + 0x3f, 0xde, 0xf0, 0x58, 0x80, 0xf8, 0xe3, 0x73, 0x86, 0x5c, 0x6e, 0x8b, + 0x93, 0x33, 0xaa, 0x93, 0x33, 0xb0, 0xdb, 0x55, +}; +static const unsigned char kat2125_addin0[] = { + 0x76, 0x0c, 0xe1, 0x2b, 0x9a, 0x1f, 0x09, 0xed, 0x4c, 0x0b, 0x9a, 0xe5, + 0xcf, 0x47, 0x85, 0xad, 0x0a, 0x8e, 0x6f, 0x4e, 0x69, 0x92, 0x3d, 0xcc, + 0xf8, 0x21, 0x38, 0xbf, 0x2c, 0x57, 0x52, 0x73, +}; +static const unsigned char kat2125_addin1[] = { + 0xe6, 0x17, 0x61, 0xdc, 0x83, 0xfd, 0xf9, 0x4e, 0x91, 0x0b, 0x25, 0xb1, + 0xc1, 0x6b, 0x83, 0x65, 0x30, 0xbe, 0x7c, 0xd3, 0x30, 0x6b, 0x4f, 0x29, + 0x81, 0xba, 0x1a, 0x05, 0x43, 0x32, 0xe7, 0x8d, +}; +static const unsigned char kat2125_retbits[] = { + 0xef, 0x45, 0xa0, 0xe1, 0x1a, 0x2e, 0xc4, 0x00, 0x89, 0x45, 0xbb, 0xf2, + 0xe2, 0xa3, 0x9f, 0xf2, 0x6b, 0xf4, 0xce, 0x12, 0x62, 0x40, 0x12, 0x93, + 0x32, 0x64, 0x86, 0x41, 0x2e, 0x77, 0xe7, 0x13, 0x5f, 0xc3, 0xbc, 0xba, + 0x60, 0xc2, 0x61, 0x3b, 0x48, 0x93, 0xd3, 0x75, 0x5b, 0xd2, 0x25, 0x37, + 0xab, 0x34, 0x75, 0x85, 0x93, 0x12, 0x16, 0x15, 0x19, 0x10, 0xcb, 0xf9, + 0x68, 0x76, 0xb3, 0x00, +}; +static const struct drbg_kat_pr_false kat2125_t = { + 9, kat2125_entropyin, kat2125_nonce, kat2125_persstr, + kat2125_entropyinreseed, kat2125_addinreseed, kat2125_addin0, + kat2125_addin1, kat2125_retbits +}; +static const struct drbg_kat kat2125 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2125_t +}; + +static const unsigned char kat2126_entropyin[] = { + 0x23, 0xf3, 0x2f, 0xd6, 0xa8, 0x09, 0x79, 0xd0, 0x04, 0xdd, 0xeb, 0xa2, + 0xfb, 0xce, 0xa7, 0x30, 0x65, 0x94, 0x20, 0x68, 0x07, 0xe6, 0x6e, 0xd0, + 0x5e, 0x8a, 0xa4, 0x64, 0xec, 0x91, 0xb7, 0x14, +}; +static const unsigned char kat2126_nonce[] = { + 0x75, 0x31, 0x14, 0xf0, 0x3f, 0x8f, 0xa5, 0x14, 0xb7, 0xd3, 0x09, 0xad, + 0xc9, 0x0a, 0xa5, 0x49, +}; +static const unsigned char kat2126_persstr[] = {0}; +static const unsigned char kat2126_entropyinreseed[] = { + 0xe0, 0x32, 0x91, 0xac, 0x01, 0x95, 0x89, 0x46, 0xc9, 0x68, 0x8e, 0xaa, + 0x3a, 0xe7, 0x93, 0x35, 0x7e, 0x9f, 0x75, 0xb4, 0x71, 0x53, 0xd7, 0x1b, + 0x26, 0x37, 0x5f, 0x6a, 0x10, 0x07, 0x0a, 0xdd, +}; +static const unsigned char kat2126_addinreseed[] = { + 0x7a, 0xd9, 0x39, 0x8a, 0x31, 0x37, 0xa1, 0xd5, 0x22, 0xe0, 0xe2, 0x22, + 0x95, 0x02, 0x05, 0x9b, 0xed, 0xc0, 0xb4, 0x85, 0x49, 0x59, 0x80, 0x9e, + 0xef, 0x19, 0xad, 0xaf, 0x9f, 0x59, 0x3a, 0x70, +}; +static const unsigned char kat2126_addin0[] = { + 0xb0, 0xd4, 0xe8, 0x96, 0xb9, 0xa0, 0xbe, 0xa0, 0x73, 0xd4, 0x29, 0xc9, + 0x62, 0x8c, 0x23, 0x75, 0xaa, 0x89, 0x66, 0xfb, 0x3e, 0xf4, 0x4c, 0xf4, + 0xe4, 0x01, 0x02, 0x97, 0x63, 0x5b, 0xab, 0xd8, +}; +static const unsigned char kat2126_addin1[] = { + 0x08, 0xb1, 0xf2, 0xd6, 0x9c, 0x90, 0x00, 0x7c, 0xaf, 0x10, 0xbb, 0x98, + 0x8b, 0xaf, 0x3f, 0x7e, 0xd9, 0xed, 0xc5, 0xfa, 0x49, 0xf9, 0x1e, 0xa6, + 0x82, 0x67, 0x59, 0x60, 0x95, 0x88, 0x26, 0xc0, +}; +static const unsigned char kat2126_retbits[] = { + 0x0b, 0x24, 0xd8, 0xfa, 0xdd, 0xe9, 0x49, 0xb8, 0xce, 0x0a, 0x44, 0xa5, + 0x5c, 0xff, 0x2a, 0xfd, 0x20, 0x35, 0x8b, 0xe7, 0x57, 0x99, 0x32, 0xb3, + 0xa5, 0xbb, 0xc4, 0x1c, 0xc9, 0xcc, 0xe2, 0xbc, 0x10, 0x78, 0x47, 0xdd, + 0x14, 0xe3, 0x34, 0xda, 0x5c, 0x8e, 0xb3, 0xfe, 0x03, 0x97, 0x60, 0x46, + 0x27, 0xa9, 0x3f, 0x87, 0x91, 0xd6, 0x4a, 0x41, 0x6c, 0x6f, 0x83, 0x22, + 0x42, 0xaf, 0x05, 0xde, +}; +static const struct drbg_kat_pr_false kat2126_t = { + 10, kat2126_entropyin, kat2126_nonce, kat2126_persstr, + kat2126_entropyinreseed, kat2126_addinreseed, kat2126_addin0, + kat2126_addin1, kat2126_retbits +}; +static const struct drbg_kat kat2126 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2126_t +}; + +static const unsigned char kat2127_entropyin[] = { + 0x7f, 0xf4, 0x9d, 0x51, 0xb6, 0xbc, 0x73, 0x01, 0xd2, 0xd3, 0x3a, 0x13, + 0x76, 0x78, 0x2c, 0x95, 0x10, 0xf2, 0xb1, 0x6e, 0x83, 0x9c, 0xe2, 0xd2, + 0x85, 0x63, 0xfc, 0x28, 0x78, 0xf6, 0x2e, 0x16, +}; +static const unsigned char kat2127_nonce[] = { + 0x88, 0xb7, 0x48, 0x9a, 0xb9, 0x75, 0x45, 0x03, 0xe9, 0x80, 0x58, 0xc4, + 0xcd, 0x9a, 0x18, 0xf4, +}; +static const unsigned char kat2127_persstr[] = {0}; +static const unsigned char kat2127_entropyinreseed[] = { + 0x17, 0xcb, 0xc9, 0x23, 0x6b, 0x1a, 0x43, 0x5d, 0x17, 0xed, 0x3e, 0x7f, + 0x43, 0x84, 0x83, 0x39, 0x40, 0xb8, 0x74, 0xbc, 0x26, 0xdd, 0x64, 0xab, + 0xda, 0x01, 0x83, 0xf2, 0xf1, 0x4b, 0x7a, 0xa4, +}; +static const unsigned char kat2127_addinreseed[] = { + 0x55, 0x78, 0x0b, 0x47, 0x16, 0x28, 0xcb, 0xcc, 0xa5, 0xbb, 0x71, 0x6c, + 0x42, 0xc8, 0x08, 0x3e, 0x1d, 0x45, 0x5e, 0xbe, 0x56, 0x9d, 0x39, 0xfa, + 0x65, 0x6b, 0x0b, 0xee, 0x1b, 0xba, 0xe1, 0xfd, +}; +static const unsigned char kat2127_addin0[] = { + 0xa5, 0xf9, 0x4d, 0xfa, 0x79, 0x88, 0xbc, 0xf8, 0x8b, 0xde, 0x68, 0xf7, + 0x31, 0x12, 0x48, 0xe4, 0xdf, 0x8b, 0xe9, 0xaf, 0x8d, 0xf3, 0xf4, 0x81, + 0x4e, 0x97, 0x6b, 0x75, 0x1c, 0x23, 0x11, 0x3a, +}; +static const unsigned char kat2127_addin1[] = { + 0x59, 0x87, 0xbf, 0xb2, 0x7d, 0x2f, 0xe8, 0xf5, 0xca, 0x95, 0x53, 0x9a, + 0x85, 0x35, 0xa8, 0xcc, 0x3d, 0xa2, 0x67, 0x70, 0xc7, 0x3f, 0xf3, 0x4e, + 0xe8, 0xd3, 0x76, 0x47, 0x44, 0x83, 0xf3, 0x2a, +}; +static const unsigned char kat2127_retbits[] = { + 0x63, 0x07, 0x1a, 0x08, 0xf1, 0xc2, 0x55, 0xad, 0x89, 0x87, 0xe8, 0x34, + 0x88, 0x2d, 0xa0, 0xeb, 0xff, 0xe5, 0xee, 0x72, 0xfd, 0xf4, 0xb4, 0xbf, + 0xcd, 0xc4, 0xb7, 0x80, 0x82, 0xee, 0xcc, 0x5e, 0x3a, 0x59, 0xb2, 0x18, + 0xb9, 0xd9, 0x08, 0x4d, 0xef, 0xdf, 0x06, 0x1f, 0xe6, 0xaf, 0x5d, 0xd5, + 0x70, 0xcb, 0x93, 0x2e, 0xf4, 0x4f, 0xf6, 0x41, 0xd4, 0x74, 0xaa, 0x04, + 0x58, 0x7f, 0xd7, 0x12, +}; +static const struct drbg_kat_pr_false kat2127_t = { + 11, kat2127_entropyin, kat2127_nonce, kat2127_persstr, + kat2127_entropyinreseed, kat2127_addinreseed, kat2127_addin0, + kat2127_addin1, kat2127_retbits +}; +static const struct drbg_kat kat2127 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2127_t +}; + +static const unsigned char kat2128_entropyin[] = { + 0x59, 0xc6, 0x24, 0x97, 0x25, 0x40, 0x13, 0x30, 0x29, 0xe9, 0x15, 0x62, + 0x33, 0x2c, 0xcf, 0x40, 0xf7, 0xb5, 0x56, 0x28, 0x64, 0x07, 0xa7, 0x3e, + 0xa7, 0xc9, 0xdf, 0x43, 0x04, 0xd2, 0xf3, 0x25, +}; +static const unsigned char kat2128_nonce[] = { + 0xc0, 0xe4, 0x7a, 0x74, 0xbb, 0x19, 0xd6, 0xb1, 0x60, 0x96, 0x36, 0x4c, + 0x37, 0xba, 0x0c, 0xe5, +}; +static const unsigned char kat2128_persstr[] = {0}; +static const unsigned char kat2128_entropyinreseed[] = { + 0xcc, 0xa8, 0xc1, 0xbb, 0x44, 0x82, 0xa4, 0x83, 0x34, 0x39, 0x19, 0x76, + 0x57, 0xb1, 0x1d, 0x64, 0xa5, 0xe6, 0x56, 0xe0, 0xe6, 0x1a, 0xe7, 0x1d, + 0x90, 0x51, 0x58, 0xc0, 0xd9, 0xbf, 0xa3, 0xaf, +}; +static const unsigned char kat2128_addinreseed[] = { + 0x41, 0x28, 0x78, 0xf5, 0x68, 0x08, 0x31, 0x61, 0xe5, 0xc8, 0x60, 0x8b, + 0xa6, 0x12, 0x80, 0x77, 0x33, 0x96, 0x73, 0x0f, 0x79, 0x16, 0x00, 0x39, + 0x01, 0x03, 0x39, 0x5c, 0x7e, 0x80, 0xc6, 0x00, +}; +static const unsigned char kat2128_addin0[] = { + 0x04, 0x8e, 0xcc, 0xc9, 0x29, 0xef, 0x23, 0xbb, 0x41, 0x4d, 0x3d, 0x1a, + 0x4e, 0x6e, 0xc7, 0x03, 0xb0, 0x32, 0xf2, 0x1a, 0x23, 0xd5, 0x94, 0x08, + 0x15, 0xef, 0xdb, 0x06, 0x0b, 0xe5, 0x95, 0x42, +}; +static const unsigned char kat2128_addin1[] = { + 0x43, 0x30, 0xd5, 0x48, 0x7d, 0x71, 0x70, 0xf5, 0x5e, 0xdb, 0x3a, 0x50, + 0x93, 0x6c, 0x75, 0xbb, 0xf5, 0x23, 0x0f, 0x24, 0x7b, 0x29, 0x52, 0x45, + 0xca, 0x10, 0x78, 0xd8, 0xb6, 0x46, 0xe5, 0x2d, +}; +static const unsigned char kat2128_retbits[] = { + 0x6c, 0x58, 0x12, 0x77, 0x55, 0x6d, 0x56, 0xa3, 0x3d, 0x15, 0x48, 0xca, + 0xe0, 0x32, 0x0c, 0x5e, 0x40, 0xa7, 0x9a, 0x81, 0x31, 0xbf, 0xe5, 0x64, + 0x60, 0x4d, 0x5e, 0x05, 0xb1, 0x0c, 0xce, 0x0a, 0x9f, 0x69, 0xcf, 0x32, + 0x4b, 0xa3, 0xd5, 0x2a, 0x04, 0xa8, 0x56, 0x35, 0x8d, 0xf5, 0xef, 0x72, + 0x0c, 0xa2, 0x5a, 0xf4, 0xd6, 0x6a, 0x8d, 0x5b, 0xf9, 0x16, 0x21, 0x76, + 0xfa, 0xc7, 0xf1, 0x70, +}; +static const struct drbg_kat_pr_false kat2128_t = { + 12, kat2128_entropyin, kat2128_nonce, kat2128_persstr, + kat2128_entropyinreseed, kat2128_addinreseed, kat2128_addin0, + kat2128_addin1, kat2128_retbits +}; +static const struct drbg_kat kat2128 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2128_t +}; + +static const unsigned char kat2129_entropyin[] = { + 0x43, 0x60, 0xd1, 0xf9, 0x2c, 0xa7, 0x60, 0x0f, 0x95, 0x4e, 0xab, 0x31, + 0x0a, 0xa1, 0xb4, 0xe5, 0x84, 0xf3, 0x27, 0x94, 0xa2, 0x7c, 0xb4, 0xa4, + 0x99, 0x8f, 0xc5, 0x16, 0x97, 0x32, 0x62, 0xaf, +}; +static const unsigned char kat2129_nonce[] = { + 0xac, 0xd8, 0xb9, 0x47, 0xd3, 0xf3, 0x25, 0x2c, 0xc1, 0x1f, 0x22, 0xd4, + 0x7c, 0xe7, 0x28, 0xf3, +}; +static const unsigned char kat2129_persstr[] = {0}; +static const unsigned char kat2129_entropyinreseed[] = { + 0x81, 0x5c, 0x19, 0x40, 0x6b, 0x7f, 0x65, 0x9b, 0x65, 0x61, 0xc7, 0x23, + 0x2c, 0xe3, 0x0e, 0x71, 0x9f, 0xca, 0x70, 0x04, 0xc6, 0x6e, 0xd6, 0xf0, + 0x59, 0x64, 0x72, 0x34, 0x0c, 0x24, 0xed, 0x13, +}; +static const unsigned char kat2129_addinreseed[] = { + 0xb4, 0xe5, 0xc9, 0xb9, 0xd4, 0x54, 0xcb, 0x10, 0x98, 0xbb, 0x94, 0x96, + 0x14, 0xa8, 0x4c, 0x36, 0xce, 0xe8, 0xfb, 0x57, 0xc6, 0x27, 0xea, 0x86, + 0x31, 0xf5, 0xc0, 0xb6, 0x30, 0x3a, 0x21, 0x37, +}; +static const unsigned char kat2129_addin0[] = { + 0xab, 0xef, 0xd6, 0xa5, 0xf2, 0xe8, 0x8a, 0x69, 0x79, 0x06, 0xd7, 0x4b, + 0x23, 0xb3, 0x9a, 0xf9, 0x7a, 0x19, 0x5a, 0x30, 0xb8, 0xc6, 0x3d, 0x22, + 0x6b, 0xae, 0x6b, 0x2d, 0xdf, 0x29, 0x56, 0xbe, +}; +static const unsigned char kat2129_addin1[] = { + 0xd3, 0xf2, 0x27, 0x7e, 0x1e, 0x89, 0xdc, 0x6c, 0xd9, 0x75, 0xe7, 0xd7, + 0x7d, 0xca, 0x4b, 0x74, 0xbf, 0x67, 0xc6, 0x8b, 0x4e, 0x8d, 0xbb, 0xc2, + 0xbb, 0x1c, 0xd0, 0x29, 0x8b, 0x3d, 0xf0, 0x75, +}; +static const unsigned char kat2129_retbits[] = { + 0x1a, 0xf3, 0x58, 0x62, 0x99, 0xe7, 0xfb, 0x06, 0x9d, 0x13, 0xcf, 0x8e, + 0x16, 0x97, 0xcd, 0x3d, 0x24, 0xfd, 0x1b, 0x1c, 0x65, 0x6b, 0x64, 0xc2, + 0xc5, 0x6c, 0xfb, 0x5f, 0x32, 0x15, 0x68, 0xc4, 0x35, 0xae, 0x15, 0x24, + 0xf5, 0x7a, 0x86, 0x09, 0x7a, 0xbd, 0xf0, 0x88, 0xfd, 0x35, 0x5d, 0xb9, + 0x8a, 0x1b, 0xd2, 0x4c, 0xe8, 0x2a, 0xf7, 0xfb, 0x0b, 0xd3, 0xfe, 0x5e, + 0x0b, 0x26, 0x36, 0x15, +}; +static const struct drbg_kat_pr_false kat2129_t = { + 13, kat2129_entropyin, kat2129_nonce, kat2129_persstr, + kat2129_entropyinreseed, kat2129_addinreseed, kat2129_addin0, + kat2129_addin1, kat2129_retbits +}; +static const struct drbg_kat kat2129 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2129_t +}; + +static const unsigned char kat2130_entropyin[] = { + 0x18, 0x14, 0x21, 0xb5, 0xee, 0x17, 0x84, 0x1e, 0x23, 0x92, 0xdf, 0x0b, + 0xe3, 0xbe, 0xbc, 0xb4, 0xe9, 0x05, 0xbb, 0x5c, 0xdf, 0x7c, 0xdd, 0xa6, + 0xb9, 0x60, 0x4f, 0x81, 0x45, 0x0b, 0xfa, 0x23, +}; +static const unsigned char kat2130_nonce[] = { + 0x7e, 0x9d, 0xe5, 0xb3, 0x72, 0x41, 0xf1, 0xc4, 0xea, 0x91, 0x07, 0x00, + 0xd8, 0xf8, 0x60, 0x94, +}; +static const unsigned char kat2130_persstr[] = {0}; +static const unsigned char kat2130_entropyinreseed[] = { + 0xc3, 0xe2, 0xe3, 0x8d, 0xe2, 0xb2, 0x6b, 0x35, 0x99, 0x62, 0xab, 0xf5, + 0x6b, 0xbf, 0xe4, 0xcb, 0x73, 0x63, 0x4f, 0x79, 0xc1, 0x21, 0x46, 0x9d, + 0x45, 0x44, 0x68, 0x8d, 0x65, 0xe9, 0xce, 0xc9, +}; +static const unsigned char kat2130_addinreseed[] = { + 0xcf, 0x24, 0xf3, 0x4c, 0xc1, 0xd7, 0x65, 0xe8, 0x82, 0x93, 0xa7, 0x70, + 0x7c, 0xf5, 0x22, 0xc2, 0x98, 0xea, 0x33, 0x5b, 0xfc, 0xc9, 0xd9, 0xa6, + 0xe8, 0x0b, 0xce, 0x3d, 0x57, 0x55, 0x58, 0x2c, +}; +static const unsigned char kat2130_addin0[] = { + 0x1b, 0xe2, 0x40, 0x10, 0x85, 0x0f, 0x9a, 0xa3, 0xaa, 0x0f, 0x50, 0xc9, + 0x8b, 0xe8, 0x15, 0x70, 0x9d, 0x5e, 0x7a, 0x3d, 0xcf, 0xf9, 0x75, 0x8b, + 0x1a, 0xc5, 0x1b, 0x5a, 0x66, 0x64, 0x1c, 0x68, +}; +static const unsigned char kat2130_addin1[] = { + 0x39, 0x08, 0x25, 0x0e, 0x9a, 0xc3, 0xb3, 0xa8, 0x82, 0x3f, 0x6d, 0x61, + 0x56, 0x34, 0x8e, 0x55, 0xc3, 0x5d, 0xab, 0x68, 0x1b, 0x48, 0x51, 0xc3, + 0x9a, 0xd6, 0x39, 0x3e, 0x42, 0xa3, 0x46, 0x9e, +}; +static const unsigned char kat2130_retbits[] = { + 0xd4, 0x76, 0x63, 0xde, 0x21, 0x3d, 0x5a, 0x15, 0xdc, 0xf3, 0x76, 0x74, + 0xd7, 0x13, 0xc8, 0x50, 0xc1, 0x4c, 0xfd, 0x7b, 0x1e, 0xfd, 0x62, 0xf0, + 0xe3, 0xdd, 0x1c, 0xdb, 0x51, 0xdc, 0xae, 0xd4, 0x3f, 0xc0, 0xb6, 0x60, + 0xae, 0xef, 0x38, 0x58, 0xee, 0x5e, 0x91, 0x1e, 0x17, 0xc0, 0xbd, 0x74, + 0x8c, 0x3b, 0x76, 0x2e, 0xbd, 0x59, 0x5a, 0x02, 0x75, 0x90, 0x2b, 0x69, + 0xe7, 0x53, 0xc1, 0x11, +}; +static const struct drbg_kat_pr_false kat2130_t = { + 14, kat2130_entropyin, kat2130_nonce, kat2130_persstr, + kat2130_entropyinreseed, kat2130_addinreseed, kat2130_addin0, + kat2130_addin1, kat2130_retbits +}; +static const struct drbg_kat kat2130 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat2130_t +}; + +static const unsigned char kat2131_entropyin[] = { + 0xfb, 0xae, 0x3e, 0xe0, 0x21, 0x05, 0xa8, 0xa2, 0x35, 0x3b, 0xbe, 0x9d, + 0x80, 0x68, 0x29, 0xcf, 0x78, 0xc8, 0xc3, 0x12, 0xc7, 0x82, 0xab, 0xf1, + 0x55, 0x4c, 0x66, 0x46, 0xcc, 0x37, 0xa1, 0xe5, +}; +static const unsigned char kat2131_nonce[] = { + 0xb0, 0x47, 0x99, 0x00, 0xa4, 0x04, 0xe8, 0xe7, 0x9c, 0x5f, 0x2f, 0xd7, + 0x81, 0x92, 0x32, 0xb9, +}; +static const unsigned char kat2131_persstr[] = { + 0x54, 0x90, 0x9f, 0xaf, 0xc8, 0xf7, 0x04, 0x28, 0x89, 0x2f, 0x8d, 0x32, + 0xed, 0x51, 0xe9, 0x56, 0x72, 0x89, 0x21, 0x92, 0xd3, 0x95, 0x54, 0x09, + 0xe8, 0x9c, 0x53, 0xdc, 0x69, 0x80, 0xd0, 0xaf, +}; +static const unsigned char kat2131_entropyinreseed[] = { + 0xaa, 0xb3, 0x6c, 0x9f, 0xab, 0x8b, 0xea, 0x6b, 0x9d, 0xeb, 0x70, 0x1f, + 0xdf, 0x56, 0x5d, 0x51, 0xe7, 0xa1, 0x8b, 0x38, 0x98, 0x08, 0xf8, 0xb9, + 0x38, 0x37, 0x5d, 0x76, 0xf8, 0x65, 0x78, 0x42, +}; +static const unsigned char kat2131_addinreseed[] = {0}; +static const unsigned char kat2131_addin0[] = {0}; +static const unsigned char kat2131_addin1[] = {0}; +static const unsigned char kat2131_retbits[] = { + 0x8d, 0x17, 0x00, 0xf1, 0xf6, 0x32, 0xdf, 0x34, 0x00, 0xaf, 0x0c, 0xc9, + 0x1c, 0x4d, 0x3d, 0x11, 0xda, 0x03, 0x49, 0x93, 0xdf, 0x50, 0x43, 0xce, + 0xfa, 0x49, 0xfb, 0xc0, 0x17, 0x84, 0xed, 0x78, 0x09, 0x9e, 0xec, 0x91, + 0xd0, 0x93, 0x95, 0x08, 0x4d, 0xf3, 0x25, 0xba, 0x02, 0xcd, 0xbd, 0x5b, + 0x1a, 0xbc, 0x64, 0xf9, 0xe3, 0x47, 0xd8, 0x1a, 0xe0, 0x91, 0xec, 0x08, + 0x1f, 0xe2, 0x7d, 0x4c, +}; +static const struct drbg_kat_pr_false kat2131_t = { + 0, kat2131_entropyin, kat2131_nonce, kat2131_persstr, + kat2131_entropyinreseed, kat2131_addinreseed, kat2131_addin0, + kat2131_addin1, kat2131_retbits +}; +static const struct drbg_kat kat2131 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2131_t +}; + +static const unsigned char kat2132_entropyin[] = { + 0x7d, 0x4f, 0x11, 0x35, 0xa5, 0x2b, 0xc8, 0x6c, 0x13, 0x75, 0x0f, 0xcc, + 0x1e, 0x02, 0xd3, 0x1d, 0x51, 0xaf, 0x05, 0x73, 0x40, 0x5e, 0x7e, 0xe1, + 0xb6, 0x1a, 0x5a, 0xec, 0x6f, 0x96, 0x9a, 0xc9, +}; +static const unsigned char kat2132_nonce[] = { + 0xc2, 0xb9, 0x95, 0x98, 0x8a, 0x6f, 0xdc, 0xbe, 0x04, 0x3a, 0x41, 0x5a, + 0xbb, 0x20, 0xf6, 0xd9, +}; +static const unsigned char kat2132_persstr[] = { + 0xc8, 0x1a, 0x7c, 0x88, 0x16, 0x9f, 0x1c, 0xe6, 0x4f, 0x5b, 0x8e, 0xdd, + 0x1e, 0xcc, 0xfa, 0xa1, 0xab, 0x85, 0x3e, 0x48, 0x79, 0x96, 0xc2, 0x4d, + 0x13, 0x68, 0xaf, 0x36, 0x4f, 0xfe, 0x8c, 0xb8, +}; +static const unsigned char kat2132_entropyinreseed[] = { + 0x98, 0x77, 0x2d, 0xb6, 0xc0, 0x38, 0xa6, 0xbf, 0xe3, 0x28, 0xc9, 0xdb, + 0x05, 0x93, 0xbb, 0x12, 0xc7, 0x1c, 0xb1, 0x4d, 0x12, 0xff, 0x5c, 0x5e, + 0x6a, 0xa1, 0x12, 0x01, 0xbd, 0x7e, 0x06, 0x58, +}; +static const unsigned char kat2132_addinreseed[] = {0}; +static const unsigned char kat2132_addin0[] = {0}; +static const unsigned char kat2132_addin1[] = {0}; +static const unsigned char kat2132_retbits[] = { + 0xd5, 0xe5, 0xcf, 0x6a, 0x1d, 0x67, 0x28, 0xc5, 0x0a, 0x95, 0x8c, 0xfa, + 0x9e, 0x38, 0x53, 0xa3, 0x78, 0xf4, 0xb4, 0x7d, 0x2a, 0x8b, 0xb8, 0x41, + 0xae, 0xf6, 0xbc, 0x55, 0x83, 0x51, 0x43, 0xfe, 0x41, 0x18, 0x60, 0xe4, + 0xb3, 0xaf, 0xbf, 0xc9, 0x48, 0xff, 0x87, 0xcf, 0x6e, 0x65, 0x33, 0x36, + 0x42, 0x2d, 0xcc, 0x36, 0xb6, 0x06, 0x56, 0x0d, 0xf6, 0x6b, 0xca, 0xfd, + 0x83, 0x02, 0xd7, 0xc5, +}; +static const struct drbg_kat_pr_false kat2132_t = { + 1, kat2132_entropyin, kat2132_nonce, kat2132_persstr, + kat2132_entropyinreseed, kat2132_addinreseed, kat2132_addin0, + kat2132_addin1, kat2132_retbits +}; +static const struct drbg_kat kat2132 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2132_t +}; + +static const unsigned char kat2133_entropyin[] = { + 0x03, 0xcd, 0x4e, 0x03, 0x10, 0x89, 0x59, 0xa5, 0x87, 0xa2, 0x09, 0x76, + 0x54, 0x12, 0xc2, 0xde, 0xb8, 0x85, 0x85, 0x36, 0x9a, 0xa7, 0x28, 0x0a, + 0xd9, 0x5a, 0xbd, 0xe3, 0xbc, 0x5e, 0x6b, 0x61, +}; +static const unsigned char kat2133_nonce[] = { + 0x49, 0x9c, 0x15, 0x12, 0xbc, 0x86, 0xf1, 0xb0, 0xeb, 0x1a, 0x06, 0x27, + 0xdc, 0xe2, 0xcc, 0x39, +}; +static const unsigned char kat2133_persstr[] = { + 0x33, 0x56, 0xaf, 0xd6, 0x03, 0x65, 0x38, 0x85, 0x38, 0xc2, 0x77, 0xb8, + 0x7c, 0xc8, 0x2f, 0x4d, 0x10, 0xa2, 0xfa, 0x61, 0x84, 0xba, 0x36, 0xca, + 0xc3, 0xf7, 0x12, 0xd5, 0x84, 0xd6, 0x5d, 0xc2, +}; +static const unsigned char kat2133_entropyinreseed[] = { + 0x61, 0xe0, 0x5c, 0x8b, 0x87, 0xa3, 0x5d, 0x5b, 0xe4, 0x7f, 0xed, 0x54, + 0xeb, 0xf7, 0x54, 0x3d, 0xdd, 0xa1, 0x3b, 0xcb, 0xb9, 0x42, 0xd0, 0x80, + 0x71, 0x8c, 0xce, 0xb0, 0x7e, 0xd7, 0x18, 0x08, +}; +static const unsigned char kat2133_addinreseed[] = {0}; +static const unsigned char kat2133_addin0[] = {0}; +static const unsigned char kat2133_addin1[] = {0}; +static const unsigned char kat2133_retbits[] = { + 0x2e, 0xfa, 0xbe, 0x7f, 0x94, 0x4c, 0xe4, 0x9e, 0x27, 0xb8, 0x6f, 0xda, + 0x4e, 0x0d, 0xd9, 0xc4, 0x6f, 0x11, 0x9c, 0xa2, 0x54, 0x1c, 0x87, 0x81, + 0xdb, 0xec, 0x6b, 0xe2, 0xcc, 0x74, 0xce, 0x9a, 0xc2, 0x08, 0xb2, 0x4b, + 0xe5, 0x75, 0x83, 0x75, 0x72, 0x0f, 0x1c, 0x42, 0xe0, 0x41, 0x87, 0x62, + 0x3d, 0x2c, 0xcd, 0xce, 0x73, 0x43, 0xd7, 0xc8, 0xc1, 0x24, 0x4a, 0x66, + 0x92, 0x6e, 0x28, 0x66, +}; +static const struct drbg_kat_pr_false kat2133_t = { + 2, kat2133_entropyin, kat2133_nonce, kat2133_persstr, + kat2133_entropyinreseed, kat2133_addinreseed, kat2133_addin0, + kat2133_addin1, kat2133_retbits +}; +static const struct drbg_kat kat2133 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2133_t +}; + +static const unsigned char kat2134_entropyin[] = { + 0xe9, 0xa3, 0x3f, 0xee, 0xf5, 0x45, 0x5b, 0xe5, 0x7a, 0x87, 0x6a, 0x4e, + 0xaf, 0xd4, 0xfe, 0xbb, 0x02, 0xa3, 0x13, 0xc7, 0x7c, 0x64, 0x21, 0x7f, + 0xfb, 0x8c, 0x6f, 0xdb, 0x2c, 0x46, 0xfd, 0x9b, +}; +static const unsigned char kat2134_nonce[] = { + 0xb0, 0xa2, 0x56, 0x1d, 0x86, 0xf4, 0x12, 0x78, 0x71, 0xdc, 0x6c, 0x09, + 0x17, 0xfe, 0x01, 0xde, +}; +static const unsigned char kat2134_persstr[] = { + 0x62, 0x31, 0xa9, 0x99, 0xd0, 0x0e, 0x07, 0x96, 0x2d, 0x98, 0x26, 0x09, + 0x5e, 0xd0, 0xc2, 0x49, 0x81, 0x7d, 0x86, 0x47, 0xae, 0x02, 0xd1, 0x7c, + 0x25, 0x05, 0x74, 0x38, 0xea, 0xc5, 0xb5, 0x06, +}; +static const unsigned char kat2134_entropyinreseed[] = { + 0x71, 0x21, 0xa3, 0x8b, 0x59, 0xf8, 0x0a, 0x53, 0x64, 0x1b, 0x0c, 0xeb, + 0xe2, 0xa6, 0xd1, 0xae, 0xeb, 0xf6, 0xe3, 0x66, 0x96, 0x48, 0x2d, 0x54, + 0xa5, 0xb5, 0xbf, 0x0a, 0xd4, 0x49, 0x02, 0x93, +}; +static const unsigned char kat2134_addinreseed[] = {0}; +static const unsigned char kat2134_addin0[] = {0}; +static const unsigned char kat2134_addin1[] = {0}; +static const unsigned char kat2134_retbits[] = { + 0x16, 0x5f, 0x56, 0xa0, 0x1e, 0x61, 0x94, 0x4e, 0xee, 0x87, 0xce, 0x0c, + 0x75, 0x2a, 0x8a, 0x31, 0x11, 0x7d, 0x6e, 0xad, 0x60, 0xc3, 0x7b, 0xea, + 0xa0, 0x5d, 0x8a, 0x39, 0xec, 0x6f, 0x42, 0xb6, 0xb9, 0xc9, 0x0e, 0x47, + 0x1c, 0x84, 0x0a, 0x61, 0x72, 0xfa, 0xcd, 0x9a, 0x1b, 0xd3, 0xdb, 0x7d, + 0x47, 0x70, 0x9d, 0x66, 0x5b, 0x49, 0x40, 0x7a, 0x23, 0x02, 0x0d, 0xaf, + 0xb8, 0x97, 0xe8, 0x53, +}; +static const struct drbg_kat_pr_false kat2134_t = { + 3, kat2134_entropyin, kat2134_nonce, kat2134_persstr, + kat2134_entropyinreseed, kat2134_addinreseed, kat2134_addin0, + kat2134_addin1, kat2134_retbits +}; +static const struct drbg_kat kat2134 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2134_t +}; + +static const unsigned char kat2135_entropyin[] = { + 0x05, 0xbd, 0xd4, 0xe1, 0x43, 0x18, 0x0e, 0x1b, 0xe2, 0xd2, 0xa5, 0x61, + 0xb9, 0x05, 0x59, 0x26, 0x8e, 0x46, 0x2a, 0xd5, 0x68, 0x69, 0xf5, 0xf5, + 0xd3, 0x48, 0x0f, 0xc4, 0xbd, 0xd1, 0xe6, 0x82, +}; +static const unsigned char kat2135_nonce[] = { + 0x74, 0x7d, 0x40, 0xd2, 0x0f, 0x46, 0xa7, 0xf3, 0x9a, 0xe5, 0x2b, 0xab, + 0x17, 0xca, 0x61, 0xce, +}; +static const unsigned char kat2135_persstr[] = { + 0x40, 0x3e, 0x35, 0xaf, 0x4f, 0xfa, 0xe9, 0xe3, 0xee, 0x2d, 0x5f, 0x27, + 0x7e, 0x69, 0xb2, 0x9d, 0x3f, 0x4a, 0x8d, 0xac, 0x36, 0x69, 0x1d, 0xdb, + 0x31, 0x50, 0x7d, 0xda, 0x6f, 0xbe, 0x66, 0x50, +}; +static const unsigned char kat2135_entropyinreseed[] = { + 0x5e, 0x4e, 0x32, 0xe9, 0x4e, 0xd5, 0xe1, 0xdc, 0x89, 0x4b, 0x7c, 0xf2, + 0x85, 0x7b, 0xf5, 0xe2, 0x21, 0x8e, 0x46, 0xf2, 0xb6, 0x9f, 0x8b, 0xf4, + 0x55, 0x5b, 0xcc, 0xa6, 0x15, 0x68, 0xaf, 0x33, +}; +static const unsigned char kat2135_addinreseed[] = {0}; +static const unsigned char kat2135_addin0[] = {0}; +static const unsigned char kat2135_addin1[] = {0}; +static const unsigned char kat2135_retbits[] = { + 0xa3, 0x68, 0x46, 0xc7, 0x20, 0x11, 0x87, 0x36, 0xd0, 0x99, 0x2a, 0x0a, + 0xfe, 0xb0, 0x85, 0x30, 0xa2, 0xa3, 0xb6, 0x8b, 0xed, 0x0c, 0x76, 0x07, + 0x6e, 0xa6, 0x52, 0x50, 0x91, 0x17, 0x94, 0x3c, 0xee, 0x2f, 0x8f, 0x88, + 0x8f, 0x82, 0xc8, 0xc0, 0x40, 0x5c, 0xff, 0xec, 0x84, 0xb2, 0x14, 0x58, + 0x21, 0xca, 0x33, 0x68, 0x64, 0x35, 0xaf, 0xe1, 0x45, 0xc0, 0x4a, 0x49, + 0xdf, 0xe1, 0xcd, 0x7a, +}; +static const struct drbg_kat_pr_false kat2135_t = { + 4, kat2135_entropyin, kat2135_nonce, kat2135_persstr, + kat2135_entropyinreseed, kat2135_addinreseed, kat2135_addin0, + kat2135_addin1, kat2135_retbits +}; +static const struct drbg_kat kat2135 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2135_t +}; + +static const unsigned char kat2136_entropyin[] = { + 0xa6, 0x35, 0xe4, 0x3f, 0x3d, 0x97, 0xdc, 0x35, 0x11, 0x93, 0x2a, 0xef, + 0x96, 0x64, 0x98, 0x62, 0xb4, 0x68, 0x30, 0xdf, 0x9a, 0xc0, 0xeb, 0xbc, + 0x31, 0xb9, 0x32, 0xef, 0x51, 0xad, 0xa0, 0x5b, +}; +static const unsigned char kat2136_nonce[] = { + 0xb3, 0x8d, 0x99, 0x26, 0x19, 0x1b, 0x49, 0xeb, 0x99, 0x59, 0x81, 0xbb, + 0xfe, 0xce, 0xcb, 0xa3, +}; +static const unsigned char kat2136_persstr[] = { + 0xcd, 0x98, 0x38, 0xb0, 0x7d, 0x04, 0x1b, 0xe3, 0x13, 0x57, 0xfe, 0x9e, + 0xbc, 0x01, 0xfa, 0xf5, 0x47, 0x31, 0xcc, 0xb9, 0x05, 0x84, 0xd6, 0xc1, + 0x95, 0x23, 0xdf, 0x39, 0x89, 0xcd, 0x86, 0x6b, +}; +static const unsigned char kat2136_entropyinreseed[] = { + 0xb8, 0xd1, 0x11, 0xba, 0xcd, 0xf0, 0x1b, 0x76, 0xb1, 0x48, 0x2d, 0xa9, + 0xdf, 0x89, 0x76, 0xac, 0x34, 0xbf, 0xff, 0x06, 0xe1, 0x01, 0x84, 0x06, + 0x5a, 0x33, 0x9a, 0xda, 0xb8, 0x5a, 0x9b, 0xa5, +}; +static const unsigned char kat2136_addinreseed[] = {0}; +static const unsigned char kat2136_addin0[] = {0}; +static const unsigned char kat2136_addin1[] = {0}; +static const unsigned char kat2136_retbits[] = { + 0x6e, 0x0f, 0xc3, 0xde, 0x87, 0xa9, 0x92, 0x84, 0x77, 0x90, 0x5b, 0x9b, + 0x62, 0x1f, 0x3f, 0x9f, 0x86, 0xfe, 0xc7, 0x64, 0x30, 0x07, 0xe4, 0xb5, + 0x60, 0x85, 0x4f, 0xb2, 0x09, 0x9c, 0x7c, 0xaa, 0x58, 0xb8, 0x62, 0xc7, + 0xff, 0x21, 0x98, 0x0e, 0xd6, 0xf9, 0x1f, 0x78, 0x67, 0xa6, 0xec, 0x48, + 0x70, 0xe2, 0xc3, 0x2b, 0x34, 0x59, 0x28, 0x09, 0xb8, 0xaf, 0x17, 0x95, + 0x80, 0x7c, 0xa3, 0x4b, +}; +static const struct drbg_kat_pr_false kat2136_t = { + 5, kat2136_entropyin, kat2136_nonce, kat2136_persstr, + kat2136_entropyinreseed, kat2136_addinreseed, kat2136_addin0, + kat2136_addin1, kat2136_retbits +}; +static const struct drbg_kat kat2136 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2136_t +}; + +static const unsigned char kat2137_entropyin[] = { + 0x1f, 0xf0, 0x23, 0x99, 0x22, 0x87, 0x2d, 0x42, 0xcc, 0xb5, 0x95, 0xf7, + 0xbb, 0xdb, 0xe6, 0xad, 0x86, 0xcb, 0x39, 0x52, 0x25, 0x1e, 0x6e, 0x11, + 0x0b, 0x36, 0x0f, 0xbd, 0xf4, 0x19, 0x59, 0x1e, +}; +static const unsigned char kat2137_nonce[] = { + 0xa0, 0x07, 0x41, 0x6d, 0x48, 0x31, 0x24, 0x57, 0xff, 0xe0, 0x8b, 0x43, + 0x8b, 0x54, 0xd9, 0x29, +}; +static const unsigned char kat2137_persstr[] = { + 0x70, 0xa3, 0xf7, 0x36, 0x27, 0x45, 0xba, 0x47, 0xa9, 0xd5, 0xd5, 0x93, + 0x81, 0x7f, 0x09, 0x6d, 0x88, 0x18, 0x48, 0xf0, 0x77, 0xe8, 0x1f, 0x43, + 0x39, 0xe7, 0x9e, 0xff, 0xa9, 0x91, 0x9d, 0x82, +}; +static const unsigned char kat2137_entropyinreseed[] = { + 0x56, 0xc9, 0x68, 0xdc, 0x6d, 0x17, 0x03, 0xfb, 0x42, 0x93, 0x55, 0xa0, + 0x03, 0x3b, 0x5b, 0x61, 0xe8, 0x7a, 0x22, 0x61, 0x67, 0xbb, 0x36, 0x01, + 0x7c, 0x70, 0xc4, 0xb1, 0x77, 0xbb, 0x7a, 0xd8, +}; +static const unsigned char kat2137_addinreseed[] = {0}; +static const unsigned char kat2137_addin0[] = {0}; +static const unsigned char kat2137_addin1[] = {0}; +static const unsigned char kat2137_retbits[] = { + 0xd0, 0x37, 0xe0, 0xfa, 0x29, 0xbb, 0x5e, 0x48, 0xbb, 0x0e, 0x91, 0x4c, + 0x09, 0x5a, 0x11, 0x8c, 0xbd, 0xc4, 0x6a, 0x81, 0xb8, 0xa5, 0xb6, 0x8a, + 0x84, 0xcf, 0x82, 0x8e, 0xc3, 0x9c, 0xa4, 0x90, 0x94, 0x55, 0xcd, 0x00, + 0x21, 0x26, 0xae, 0x1c, 0x3d, 0xad, 0x12, 0x79, 0xbf, 0x33, 0xfc, 0xc7, + 0xd7, 0x47, 0x59, 0x05, 0xd3, 0xb5, 0xf4, 0xb9, 0x81, 0xc8, 0xfb, 0x15, + 0x8f, 0xe6, 0x7c, 0x8d, +}; +static const struct drbg_kat_pr_false kat2137_t = { + 6, kat2137_entropyin, kat2137_nonce, kat2137_persstr, + kat2137_entropyinreseed, kat2137_addinreseed, kat2137_addin0, + kat2137_addin1, kat2137_retbits +}; +static const struct drbg_kat kat2137 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2137_t +}; + +static const unsigned char kat2138_entropyin[] = { + 0xe4, 0xc6, 0xe4, 0x01, 0x0c, 0x7f, 0x5b, 0x79, 0xd0, 0x67, 0xe0, 0x35, + 0xea, 0xe4, 0xd0, 0xf7, 0xe4, 0xc6, 0xb3, 0x13, 0xc5, 0xd0, 0xf4, 0xdd, + 0xa3, 0xf0, 0x7f, 0x77, 0x0e, 0x63, 0x78, 0x19, +}; +static const unsigned char kat2138_nonce[] = { + 0x98, 0x2d, 0xdf, 0xcb, 0xe5, 0xb6, 0x55, 0xdb, 0xbf, 0x1f, 0x6e, 0x42, + 0x8c, 0x6e, 0xa2, 0x16, +}; +static const unsigned char kat2138_persstr[] = { + 0xd6, 0x11, 0x70, 0x48, 0xbe, 0xc5, 0x91, 0xf9, 0x0a, 0x46, 0x81, 0xd8, + 0xe6, 0x67, 0x70, 0x7f, 0x9a, 0xfc, 0xfe, 0x92, 0xf2, 0xea, 0xb8, 0x6e, + 0xf0, 0x4b, 0x68, 0xa4, 0x1d, 0xe1, 0x7f, 0x31, +}; +static const unsigned char kat2138_entropyinreseed[] = { + 0x02, 0x93, 0x9c, 0xd4, 0x00, 0x4a, 0xe8, 0x91, 0xb3, 0xbf, 0xcd, 0x21, + 0x00, 0x75, 0xc1, 0xa9, 0x78, 0x76, 0xc0, 0xce, 0xf8, 0x6d, 0x3e, 0xcf, + 0xeb, 0xe2, 0xc8, 0xca, 0xf8, 0x0f, 0xe2, 0x11, +}; +static const unsigned char kat2138_addinreseed[] = {0}; +static const unsigned char kat2138_addin0[] = {0}; +static const unsigned char kat2138_addin1[] = {0}; +static const unsigned char kat2138_retbits[] = { + 0xa4, 0x18, 0x2c, 0x34, 0xc1, 0xdf, 0x82, 0x7e, 0xc9, 0x3e, 0xbf, 0xa0, + 0xd5, 0x15, 0xcc, 0x7d, 0x6f, 0x8e, 0xe2, 0x2f, 0x3a, 0x76, 0x9a, 0x30, + 0xaf, 0x0c, 0xd5, 0xee, 0x74, 0x88, 0xab, 0x68, 0xf7, 0x0c, 0x4c, 0xe6, + 0x2e, 0xe3, 0x14, 0xa0, 0x47, 0x26, 0x8c, 0x00, 0x45, 0xfb, 0x1b, 0x7d, + 0x25, 0x84, 0xbd, 0xb6, 0x46, 0xc3, 0xed, 0x49, 0xc8, 0x85, 0x10, 0xb4, + 0xc5, 0x4a, 0x67, 0x6b, +}; +static const struct drbg_kat_pr_false kat2138_t = { + 7, kat2138_entropyin, kat2138_nonce, kat2138_persstr, + kat2138_entropyinreseed, kat2138_addinreseed, kat2138_addin0, + kat2138_addin1, kat2138_retbits +}; +static const struct drbg_kat kat2138 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2138_t +}; + +static const unsigned char kat2139_entropyin[] = { + 0x65, 0x2d, 0xb4, 0x0e, 0xda, 0x98, 0x90, 0x32, 0xae, 0x1e, 0xd5, 0xee, + 0x90, 0x1c, 0xbf, 0x95, 0x0c, 0x31, 0x83, 0x3a, 0x9d, 0x6f, 0x36, 0xe5, + 0x15, 0x9c, 0x2c, 0xc8, 0x24, 0x5d, 0xf3, 0xd6, +}; +static const unsigned char kat2139_nonce[] = { + 0x72, 0x80, 0x39, 0xb6, 0x72, 0xc1, 0x14, 0x9b, 0x9b, 0x48, 0xa1, 0x18, + 0xe6, 0x7f, 0x73, 0x8f, +}; +static const unsigned char kat2139_persstr[] = { + 0x14, 0xa9, 0x29, 0x92, 0xfc, 0xb0, 0x15, 0x77, 0x80, 0xf8, 0x19, 0x9a, + 0xf5, 0x6e, 0xd1, 0xca, 0xec, 0x8e, 0xe6, 0x24, 0xd9, 0x23, 0x2d, 0xa4, + 0xa1, 0x49, 0xc3, 0xd2, 0xa6, 0xe5, 0x34, 0x94, +}; +static const unsigned char kat2139_entropyinreseed[] = { + 0x8d, 0x6a, 0x04, 0x51, 0x3d, 0xd5, 0xbd, 0xd3, 0xee, 0x04, 0xdd, 0x9d, + 0xc0, 0xd4, 0x8e, 0xda, 0xc0, 0x41, 0x34, 0x8b, 0xf6, 0x95, 0x23, 0xa8, + 0x2b, 0x25, 0x86, 0x0e, 0xc1, 0x71, 0xad, 0xd4, +}; +static const unsigned char kat2139_addinreseed[] = {0}; +static const unsigned char kat2139_addin0[] = {0}; +static const unsigned char kat2139_addin1[] = {0}; +static const unsigned char kat2139_retbits[] = { + 0x6a, 0x77, 0x21, 0xac, 0x74, 0xfe, 0xae, 0x95, 0xb2, 0x95, 0x88, 0x33, + 0x30, 0xe0, 0x0d, 0xe9, 0x42, 0x80, 0xcd, 0x66, 0x6c, 0x73, 0x91, 0xc7, + 0x10, 0x86, 0x67, 0xd1, 0x29, 0x2d, 0xc8, 0x80, 0x15, 0xf9, 0x91, 0x30, + 0xe5, 0x61, 0x55, 0x1b, 0x72, 0x41, 0xc9, 0xe5, 0xa0, 0x6b, 0x47, 0x6b, + 0xe9, 0x44, 0x21, 0x5b, 0x23, 0x66, 0xe6, 0x64, 0xeb, 0x28, 0xe5, 0xc2, + 0x5b, 0x2f, 0xa9, 0x84, +}; +static const struct drbg_kat_pr_false kat2139_t = { + 8, kat2139_entropyin, kat2139_nonce, kat2139_persstr, + kat2139_entropyinreseed, kat2139_addinreseed, kat2139_addin0, + kat2139_addin1, kat2139_retbits +}; +static const struct drbg_kat kat2139 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2139_t +}; + +static const unsigned char kat2140_entropyin[] = { + 0x98, 0x3f, 0xb9, 0xe2, 0x9d, 0x7c, 0xf7, 0x40, 0x6e, 0x03, 0x1a, 0x50, + 0x1a, 0x04, 0xf5, 0xef, 0xba, 0xe2, 0x1d, 0x89, 0xd1, 0xff, 0x7e, 0x37, + 0x44, 0xc6, 0x25, 0x1b, 0x1c, 0x6e, 0x51, 0xec, +}; +static const unsigned char kat2140_nonce[] = { + 0xd4, 0x79, 0xf8, 0x03, 0x12, 0x8d, 0x7a, 0x87, 0xdc, 0x5f, 0x18, 0x80, + 0xe9, 0xd1, 0x82, 0xc5, +}; +static const unsigned char kat2140_persstr[] = { + 0x0d, 0x58, 0xac, 0x5a, 0xe0, 0x40, 0xa3, 0x69, 0xaa, 0x37, 0x0c, 0x40, + 0xde, 0xee, 0x13, 0x16, 0x36, 0x09, 0x7a, 0x1c, 0x7d, 0x2c, 0x26, 0x2e, + 0xdf, 0x63, 0xbf, 0x93, 0x9f, 0x34, 0x26, 0x16, +}; +static const unsigned char kat2140_entropyinreseed[] = { + 0x35, 0xae, 0xcb, 0xdd, 0x24, 0x4a, 0x41, 0x97, 0x2b, 0xe4, 0x50, 0x9a, + 0x98, 0xdd, 0xc4, 0xd6, 0x46, 0x7f, 0xa6, 0x33, 0xe9, 0x35, 0x3d, 0x9d, + 0xd2, 0xc3, 0x44, 0x2a, 0x30, 0x87, 0x50, 0x39, +}; +static const unsigned char kat2140_addinreseed[] = {0}; +static const unsigned char kat2140_addin0[] = {0}; +static const unsigned char kat2140_addin1[] = {0}; +static const unsigned char kat2140_retbits[] = { + 0xfc, 0x7b, 0x2c, 0xf9, 0x20, 0x6a, 0x83, 0xb2, 0xa8, 0xd7, 0xed, 0xb1, + 0x78, 0x63, 0x2a, 0x0c, 0x0c, 0x0b, 0xd3, 0xaa, 0x28, 0xb1, 0x9a, 0x96, + 0x3f, 0xda, 0x7f, 0xab, 0x9d, 0x09, 0x92, 0x8a, 0xde, 0xde, 0xe6, 0xc3, + 0x7d, 0x3d, 0xd4, 0xb9, 0xf3, 0x86, 0x52, 0x9c, 0x68, 0x02, 0xd9, 0xa4, + 0xf5, 0xf6, 0x39, 0xdf, 0xa4, 0x92, 0xbf, 0xad, 0x22, 0xd6, 0x83, 0xb6, + 0xc9, 0xfb, 0xbe, 0x6a, +}; +static const struct drbg_kat_pr_false kat2140_t = { + 9, kat2140_entropyin, kat2140_nonce, kat2140_persstr, + kat2140_entropyinreseed, kat2140_addinreseed, kat2140_addin0, + kat2140_addin1, kat2140_retbits +}; +static const struct drbg_kat kat2140 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2140_t +}; + +static const unsigned char kat2141_entropyin[] = { + 0xbd, 0x9e, 0x23, 0xeb, 0x4b, 0xb4, 0xdc, 0x2c, 0x3b, 0x58, 0xa7, 0xf4, + 0xd3, 0x2c, 0x8e, 0x93, 0x21, 0x08, 0xfc, 0x7a, 0x2d, 0xc7, 0xa9, 0xf4, + 0x0d, 0xce, 0x67, 0x1f, 0xc3, 0xfe, 0xa1, 0xdb, +}; +static const unsigned char kat2141_nonce[] = { + 0x14, 0x73, 0x2e, 0xc7, 0x51, 0xa5, 0x56, 0x66, 0xde, 0x4f, 0x16, 0xba, + 0xc7, 0x7d, 0x20, 0xab, +}; +static const unsigned char kat2141_persstr[] = { + 0xbf, 0x7e, 0x5c, 0x3f, 0xe8, 0xe3, 0xaf, 0x80, 0x5e, 0x61, 0xb2, 0xa2, + 0xbe, 0x73, 0xb2, 0x37, 0xe9, 0x5c, 0x5b, 0x93, 0xcf, 0x1e, 0x26, 0xd0, + 0x43, 0x5a, 0xb6, 0x34, 0x14, 0x96, 0x47, 0x40, +}; +static const unsigned char kat2141_entropyinreseed[] = { + 0x62, 0xf6, 0xd8, 0x06, 0x5f, 0xdb, 0x72, 0x79, 0xbf, 0x58, 0xa4, 0x00, + 0x80, 0x95, 0xf4, 0x48, 0x51, 0x9a, 0x21, 0x23, 0x1c, 0x9b, 0x96, 0xd5, + 0x92, 0x72, 0xa9, 0xb5, 0x38, 0x2b, 0x72, 0x6e, +}; +static const unsigned char kat2141_addinreseed[] = {0}; +static const unsigned char kat2141_addin0[] = {0}; +static const unsigned char kat2141_addin1[] = {0}; +static const unsigned char kat2141_retbits[] = { + 0x51, 0xf4, 0x37, 0x4e, 0x68, 0x04, 0xce, 0x98, 0x9b, 0x4b, 0xf4, 0x1e, + 0x48, 0xde, 0x6b, 0xfd, 0x37, 0x1f, 0x02, 0x34, 0x3a, 0x07, 0xda, 0x6a, + 0x7a, 0x65, 0x11, 0x63, 0xf8, 0xa8, 0x4d, 0x4e, 0xa7, 0xc7, 0x05, 0xe0, + 0xc5, 0x49, 0x1d, 0xfe, 0x5e, 0xb8, 0x73, 0x0d, 0xbe, 0x38, 0xd6, 0x9d, + 0x68, 0x8b, 0x6d, 0x83, 0x51, 0xe9, 0x60, 0x0c, 0x23, 0x1c, 0xb7, 0x27, + 0x6d, 0x69, 0xdc, 0xee, +}; +static const struct drbg_kat_pr_false kat2141_t = { + 10, kat2141_entropyin, kat2141_nonce, kat2141_persstr, + kat2141_entropyinreseed, kat2141_addinreseed, kat2141_addin0, + kat2141_addin1, kat2141_retbits +}; +static const struct drbg_kat kat2141 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2141_t +}; + +static const unsigned char kat2142_entropyin[] = { + 0xba, 0x06, 0xca, 0x20, 0x47, 0x54, 0x97, 0x2a, 0x26, 0xac, 0x96, 0x25, + 0xc8, 0x5c, 0x5c, 0x80, 0x94, 0xd8, 0xed, 0xb0, 0x7f, 0x6f, 0x47, 0x3e, + 0xbb, 0x94, 0x1b, 0x57, 0x71, 0x18, 0x7a, 0x17, +}; +static const unsigned char kat2142_nonce[] = { + 0x20, 0x09, 0x80, 0xcc, 0x16, 0x68, 0xaf, 0x5a, 0x4e, 0x54, 0x07, 0x96, + 0x19, 0x47, 0x0b, 0xe3, +}; +static const unsigned char kat2142_persstr[] = { + 0x57, 0xd8, 0x07, 0xd0, 0xa6, 0x19, 0xf8, 0x95, 0xac, 0x68, 0x37, 0x79, + 0xe6, 0xc1, 0xf8, 0x9b, 0xae, 0xeb, 0xc9, 0x3e, 0x17, 0xdb, 0x5b, 0x5e, + 0x80, 0xbd, 0xdc, 0xe5, 0xf8, 0x5b, 0x00, 0x2d, +}; +static const unsigned char kat2142_entropyinreseed[] = { + 0xfa, 0x0e, 0x8f, 0x2a, 0x77, 0xc6, 0xc0, 0x6a, 0x58, 0x68, 0x09, 0xf3, + 0xea, 0xe9, 0x3a, 0xa7, 0xea, 0xc0, 0xa3, 0xd0, 0x9c, 0x26, 0x2a, 0x72, + 0xa1, 0x88, 0x66, 0x51, 0xba, 0x25, 0x29, 0x6e, +}; +static const unsigned char kat2142_addinreseed[] = {0}; +static const unsigned char kat2142_addin0[] = {0}; +static const unsigned char kat2142_addin1[] = {0}; +static const unsigned char kat2142_retbits[] = { + 0xe0, 0x22, 0xdb, 0xdf, 0xcd, 0x01, 0x88, 0xed, 0x16, 0x41, 0x30, 0x14, + 0xf1, 0x70, 0x75, 0x77, 0xc6, 0xaf, 0x5b, 0x59, 0xec, 0x41, 0xa4, 0x6b, + 0x98, 0x36, 0x38, 0xc6, 0xa7, 0xe0, 0x55, 0xb9, 0xfa, 0xde, 0x91, 0x52, + 0x8c, 0x9e, 0x5c, 0x46, 0xd8, 0x4a, 0x71, 0xd7, 0x33, 0xa4, 0x7c, 0xdd, + 0xe6, 0x2f, 0x3f, 0xb4, 0x7d, 0x33, 0x56, 0x02, 0x9c, 0x4e, 0xc7, 0x79, + 0xfc, 0x88, 0x56, 0x91, +}; +static const struct drbg_kat_pr_false kat2142_t = { + 11, kat2142_entropyin, kat2142_nonce, kat2142_persstr, + kat2142_entropyinreseed, kat2142_addinreseed, kat2142_addin0, + kat2142_addin1, kat2142_retbits +}; +static const struct drbg_kat kat2142 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2142_t +}; + +static const unsigned char kat2143_entropyin[] = { + 0xa7, 0x94, 0x2a, 0x0d, 0x3b, 0x07, 0x54, 0x61, 0xa2, 0x9b, 0xb9, 0x93, + 0x43, 0xb1, 0x0e, 0x1f, 0x10, 0x01, 0x4f, 0x53, 0x09, 0x7c, 0x34, 0x02, + 0x74, 0x47, 0x59, 0xd2, 0x4b, 0xaf, 0x43, 0x9a, +}; +static const unsigned char kat2143_nonce[] = { + 0xf2, 0x68, 0xeb, 0x70, 0xdb, 0xdf, 0xa7, 0xec, 0x61, 0x14, 0x19, 0xee, + 0xb9, 0x4b, 0xf8, 0x84, +}; +static const unsigned char kat2143_persstr[] = { + 0xf9, 0x47, 0x75, 0x4a, 0x31, 0x35, 0xbc, 0x19, 0x07, 0xf8, 0x6f, 0x77, + 0xf6, 0xf5, 0x22, 0x45, 0x94, 0xb2, 0xc5, 0x87, 0x19, 0x3f, 0x7d, 0x86, + 0xe3, 0x43, 0xdb, 0xe8, 0xae, 0x94, 0x0a, 0xf0, +}; +static const unsigned char kat2143_entropyinreseed[] = { + 0x1f, 0x57, 0x25, 0x65, 0x3a, 0x01, 0xfd, 0x3d, 0x38, 0x70, 0xa5, 0x87, + 0x4b, 0xb9, 0x7e, 0x09, 0x10, 0xd4, 0x80, 0x39, 0x58, 0x9c, 0xeb, 0x80, + 0xa0, 0xd4, 0x1c, 0x2d, 0x3b, 0x07, 0x24, 0x0c, +}; +static const unsigned char kat2143_addinreseed[] = {0}; +static const unsigned char kat2143_addin0[] = {0}; +static const unsigned char kat2143_addin1[] = {0}; +static const unsigned char kat2143_retbits[] = { + 0x72, 0x48, 0xfa, 0xac, 0x73, 0xe7, 0x78, 0x28, 0x18, 0x85, 0x47, 0x3b, + 0x0a, 0xd2, 0xed, 0x56, 0xdc, 0x3c, 0x4e, 0xcb, 0x50, 0x5a, 0x29, 0xc0, + 0x80, 0xc5, 0x7d, 0xd5, 0x07, 0xe5, 0x6a, 0x50, 0xbf, 0xe9, 0xce, 0x04, + 0xc7, 0x24, 0xac, 0x71, 0x30, 0xcb, 0xfc, 0xf5, 0x22, 0x7c, 0x8d, 0xf5, + 0x1a, 0xd1, 0x08, 0xfc, 0x58, 0x75, 0xed, 0x13, 0xcf, 0xdd, 0x3e, 0xed, + 0x7b, 0x95, 0xed, 0x60, +}; +static const struct drbg_kat_pr_false kat2143_t = { + 12, kat2143_entropyin, kat2143_nonce, kat2143_persstr, + kat2143_entropyinreseed, kat2143_addinreseed, kat2143_addin0, + kat2143_addin1, kat2143_retbits +}; +static const struct drbg_kat kat2143 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2143_t +}; + +static const unsigned char kat2144_entropyin[] = { + 0xc1, 0x7b, 0x59, 0x23, 0x51, 0xce, 0x97, 0xc2, 0xb9, 0x39, 0x7d, 0x1d, + 0x35, 0xf7, 0x84, 0x93, 0x61, 0xce, 0x0f, 0xbc, 0xc8, 0x9d, 0x64, 0xea, + 0x24, 0xee, 0x23, 0x44, 0x89, 0xc8, 0x78, 0x48, +}; +static const unsigned char kat2144_nonce[] = { + 0xd0, 0x22, 0x07, 0xb5, 0x33, 0xdd, 0xfc, 0x79, 0xfd, 0x54, 0xe2, 0x47, + 0x47, 0x25, 0x42, 0x68, +}; +static const unsigned char kat2144_persstr[] = { + 0x6b, 0x88, 0x60, 0xde, 0x89, 0xdc, 0x49, 0x34, 0x59, 0xc3, 0xe8, 0x22, + 0x1d, 0xb1, 0x0d, 0x60, 0x16, 0x77, 0xec, 0xa9, 0x3c, 0x86, 0xa4, 0x36, + 0x07, 0xc0, 0xff, 0x55, 0x8d, 0x26, 0xb7, 0x04, +}; +static const unsigned char kat2144_entropyinreseed[] = { + 0x26, 0x72, 0x25, 0xf3, 0xa9, 0xaa, 0x08, 0x67, 0xa4, 0xbe, 0x8e, 0x3e, + 0x53, 0x01, 0x54, 0x51, 0xcf, 0x58, 0x79, 0x6a, 0xce, 0x50, 0xa3, 0x6c, + 0x65, 0x78, 0x11, 0xe5, 0x1b, 0xd5, 0x21, 0x70, +}; +static const unsigned char kat2144_addinreseed[] = {0}; +static const unsigned char kat2144_addin0[] = {0}; +static const unsigned char kat2144_addin1[] = {0}; +static const unsigned char kat2144_retbits[] = { + 0x2c, 0x07, 0x5e, 0xfc, 0xca, 0x1a, 0x60, 0x3e, 0x60, 0x9f, 0x35, 0xbd, + 0xeb, 0xf5, 0x75, 0x56, 0xe8, 0x7c, 0x1d, 0x41, 0x8b, 0xbf, 0x22, 0x98, + 0x78, 0x80, 0x00, 0xb8, 0x25, 0x4f, 0x70, 0xa4, 0x4e, 0x98, 0x17, 0x2e, + 0x41, 0xc6, 0xba, 0x51, 0xdc, 0x35, 0x21, 0xdc, 0x19, 0x69, 0xbc, 0x38, + 0x6c, 0x62, 0x5e, 0xc0, 0xef, 0x12, 0x89, 0xc4, 0x2c, 0x3e, 0x27, 0xc5, + 0x2b, 0x4a, 0x24, 0x87, +}; +static const struct drbg_kat_pr_false kat2144_t = { + 13, kat2144_entropyin, kat2144_nonce, kat2144_persstr, + kat2144_entropyinreseed, kat2144_addinreseed, kat2144_addin0, + kat2144_addin1, kat2144_retbits +}; +static const struct drbg_kat kat2144 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2144_t +}; + +static const unsigned char kat2145_entropyin[] = { + 0xf8, 0x83, 0xb4, 0xbb, 0xea, 0x89, 0xca, 0xc2, 0xfd, 0x37, 0x85, 0x59, + 0xfe, 0x57, 0x90, 0xd7, 0xad, 0x64, 0xdc, 0x6f, 0x5a, 0xcc, 0x61, 0xce, + 0xec, 0xbc, 0x13, 0xbd, 0x97, 0x1f, 0x6a, 0xfb, +}; +static const unsigned char kat2145_nonce[] = { + 0x3a, 0xb0, 0x89, 0x48, 0xf0, 0x14, 0x16, 0x31, 0x7c, 0xeb, 0xab, 0x29, + 0xeb, 0x21, 0x1d, 0x7b, +}; +static const unsigned char kat2145_persstr[] = { + 0xd0, 0x86, 0x05, 0x74, 0x93, 0x50, 0x0d, 0x75, 0xd9, 0x3d, 0x93, 0x27, + 0xb0, 0x9c, 0x10, 0x8e, 0xd9, 0xe6, 0x27, 0x01, 0x79, 0x49, 0x51, 0xc9, + 0xb9, 0xfc, 0x77, 0xef, 0x38, 0x72, 0xa5, 0x55, +}; +static const unsigned char kat2145_entropyinreseed[] = { + 0x21, 0x49, 0x69, 0x3a, 0xd3, 0xbb, 0x60, 0xd8, 0x75, 0x0e, 0x9f, 0x21, + 0xff, 0xc1, 0x6b, 0x71, 0x78, 0x31, 0x0a, 0xfa, 0xc1, 0xe2, 0xfa, 0x63, + 0x33, 0x43, 0x02, 0xcf, 0xfa, 0x1c, 0x0a, 0x47, +}; +static const unsigned char kat2145_addinreseed[] = {0}; +static const unsigned char kat2145_addin0[] = {0}; +static const unsigned char kat2145_addin1[] = {0}; +static const unsigned char kat2145_retbits[] = { + 0xe0, 0x59, 0x8a, 0x33, 0x11, 0x4c, 0xc1, 0x83, 0xed, 0xb8, 0x43, 0x41, + 0x5d, 0x69, 0x7a, 0xca, 0xdc, 0x91, 0xc3, 0x9b, 0xa5, 0x41, 0x00, 0xc7, + 0xb1, 0x4f, 0x79, 0xe6, 0x7e, 0x47, 0xeb, 0x7f, 0x8d, 0x21, 0xcc, 0x1c, + 0x5e, 0x4d, 0x74, 0x4b, 0x32, 0x9f, 0x71, 0x7c, 0x88, 0x23, 0x90, 0x35, + 0xb9, 0x1f, 0xd4, 0xb7, 0x0e, 0x41, 0x5f, 0x26, 0x97, 0xe9, 0xf9, 0xd4, + 0x36, 0xf3, 0xb0, 0x01, +}; +static const struct drbg_kat_pr_false kat2145_t = { + 14, kat2145_entropyin, kat2145_nonce, kat2145_persstr, + kat2145_entropyinreseed, kat2145_addinreseed, kat2145_addin0, + kat2145_addin1, kat2145_retbits +}; +static const struct drbg_kat kat2145 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat2145_t +}; + +static const unsigned char kat2146_entropyin[] = { + 0xe2, 0xf7, 0x5c, 0xf5, 0x53, 0x03, 0x5b, 0x3c, 0xb4, 0xd2, 0x1e, 0x56, + 0x7c, 0xa5, 0xc2, 0x03, 0x62, 0x3d, 0x4a, 0x4b, 0x58, 0x85, 0x32, 0x6f, + 0x63, 0xea, 0x61, 0xa0, 0x20, 0xa4, 0x98, 0x4e, +}; +static const unsigned char kat2146_nonce[] = { + 0xa6, 0x66, 0xee, 0x4b, 0x26, 0xda, 0xe5, 0x89, 0x7f, 0xc5, 0xe8, 0x5c, + 0x64, 0x3f, 0xc6, 0x30, +}; +static const unsigned char kat2146_persstr[] = { + 0x19, 0x27, 0x5b, 0xbd, 0x7a, 0x01, 0x09, 0xd8, 0x17, 0x93, 0x34, 0xc5, + 0x53, 0x37, 0xbc, 0x0a, 0x3f, 0x5a, 0xc4, 0x8c, 0xb8, 0xc4, 0x95, 0x9c, + 0x88, 0x8c, 0x0b, 0x65, 0xf7, 0xac, 0x9a, 0x84, +}; +static const unsigned char kat2146_entropyinreseed[] = { + 0xf6, 0x67, 0x2d, 0x02, 0x22, 0x26, 0xb0, 0x5d, 0xb5, 0xd3, 0xc5, 0x9c, + 0x0d, 0xa5, 0xb2, 0x0a, 0x1b, 0xe0, 0x5e, 0xca, 0xbb, 0xd1, 0x74, 0x44, + 0x83, 0xca, 0x4c, 0xe5, 0x57, 0x1d, 0x93, 0xf4, +}; +static const unsigned char kat2146_addinreseed[] = { + 0x8c, 0x8f, 0x94, 0x0a, 0xf4, 0x5a, 0xec, 0x86, 0x4c, 0x8a, 0xa8, 0xbe, + 0x60, 0xb1, 0x00, 0xf8, 0x2b, 0xb9, 0x67, 0x0c, 0x7e, 0x2a, 0x39, 0x2a, + 0x4a, 0xb6, 0xf4, 0xb2, 0x0e, 0xef, 0xbb, 0xaa, +}; +static const unsigned char kat2146_addin0[] = { + 0x26, 0xb5, 0xf0, 0xda, 0xdc, 0x89, 0x1e, 0x0b, 0x1b, 0x78, 0x87, 0x8e, + 0x7a, 0xe7, 0x5a, 0xee, 0x84, 0x33, 0x76, 0xc0, 0x96, 0x8c, 0x54, 0xc1, + 0x27, 0x59, 0xc1, 0x8d, 0xef, 0x21, 0xd3, 0x63, +}; +static const unsigned char kat2146_addin1[] = { + 0xff, 0x67, 0x91, 0xf4, 0xd4, 0xb2, 0x99, 0x96, 0xb0, 0x39, 0x9d, 0x95, + 0xa1, 0x4a, 0x28, 0xb8, 0xe2, 0xe2, 0x07, 0x87, 0x53, 0x1d, 0x91, 0x6e, + 0x7e, 0xd2, 0xec, 0x04, 0x0b, 0xbd, 0x7c, 0x84, +}; +static const unsigned char kat2146_retbits[] = { + 0xeb, 0x8f, 0x28, 0x9b, 0xb0, 0x5b, 0xe8, 0x40, 0x84, 0x84, 0x0c, 0x3d, + 0x2c, 0x9d, 0xee, 0xa0, 0x24, 0x54, 0x87, 0xa9, 0x8d, 0x7e, 0x1a, 0x40, + 0x17, 0xb8, 0x60, 0xe4, 0x86, 0x35, 0x21, 0x3d, 0x62, 0x2a, 0x4a, 0x4e, + 0xae, 0x91, 0xef, 0xdd, 0x53, 0x42, 0xad, 0xe9, 0x40, 0x93, 0xf1, 0x99, + 0xc1, 0x6d, 0xeb, 0x1e, 0x58, 0xd0, 0x08, 0x8b, 0x9b, 0x4a, 0x0f, 0x24, + 0xa5, 0xd1, 0x57, 0x75, +}; +static const struct drbg_kat_pr_false kat2146_t = { + 0, kat2146_entropyin, kat2146_nonce, kat2146_persstr, + kat2146_entropyinreseed, kat2146_addinreseed, kat2146_addin0, + kat2146_addin1, kat2146_retbits +}; +static const struct drbg_kat kat2146 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2146_t +}; + +static const unsigned char kat2147_entropyin[] = { + 0x0b, 0xab, 0xce, 0xcc, 0x5d, 0x90, 0xf7, 0xe5, 0xdf, 0xde, 0x2c, 0x3c, + 0x24, 0xa0, 0x76, 0x69, 0xe0, 0xf7, 0x19, 0xaa, 0x4f, 0xf5, 0xbf, 0xcc, + 0x02, 0xed, 0xdd, 0xc5, 0x5f, 0x2c, 0x48, 0xf7, +}; +static const unsigned char kat2147_nonce[] = { + 0x2c, 0x3e, 0x8a, 0xfc, 0xaa, 0xef, 0xf9, 0x4a, 0xb3, 0x39, 0xe3, 0x9a, + 0xa5, 0xcf, 0x1a, 0xbe, +}; +static const unsigned char kat2147_persstr[] = { + 0x94, 0xd9, 0x5d, 0xdf, 0xb0, 0x2f, 0xef, 0xf3, 0x95, 0x0c, 0x03, 0xa2, + 0x85, 0x45, 0xbf, 0xfb, 0xa9, 0x84, 0x00, 0xf9, 0xca, 0xd0, 0x04, 0xcb, + 0x22, 0xb8, 0xa7, 0x7b, 0x67, 0xed, 0x61, 0x80, +}; +static const unsigned char kat2147_entropyinreseed[] = { + 0x17, 0x82, 0xe8, 0x62, 0x69, 0x09, 0x68, 0x6c, 0x37, 0x9c, 0xfc, 0xa7, + 0x8b, 0x93, 0x9f, 0x7c, 0x0c, 0xb5, 0x89, 0xea, 0x0b, 0xd3, 0x16, 0xf3, + 0xae, 0xc8, 0xdc, 0x5a, 0x04, 0x93, 0x79, 0x9b, +}; +static const unsigned char kat2147_addinreseed[] = { + 0x7b, 0x5f, 0x37, 0xad, 0xba, 0xd3, 0x1d, 0x71, 0xca, 0xdd, 0x3d, 0x32, + 0xb5, 0x72, 0x84, 0xb5, 0xf9, 0xd7, 0xd6, 0x72, 0x21, 0xf4, 0x51, 0xdf, + 0x25, 0x81, 0x93, 0xa1, 0x40, 0xd4, 0xa1, 0x38, +}; +static const unsigned char kat2147_addin0[] = { + 0x75, 0x0c, 0x2c, 0x67, 0xd1, 0xa3, 0xd5, 0xb0, 0x41, 0x75, 0x27, 0x45, + 0x0f, 0xde, 0xd2, 0x04, 0xa5, 0xaa, 0x9f, 0xf6, 0xe9, 0x72, 0x6a, 0x33, + 0xdf, 0xe8, 0xdb, 0x52, 0xf8, 0x5c, 0xf2, 0x9a, +}; +static const unsigned char kat2147_addin1[] = { + 0x62, 0x42, 0xc0, 0x0a, 0x5c, 0x73, 0x2f, 0x38, 0x00, 0x87, 0x91, 0x87, + 0x09, 0x73, 0xbe, 0x60, 0xb8, 0x3c, 0x04, 0x3a, 0x1b, 0xb3, 0xf0, 0xbe, + 0xdb, 0x4e, 0x46, 0x17, 0x0f, 0xda, 0x5b, 0xe2, +}; +static const unsigned char kat2147_retbits[] = { + 0xc0, 0xb7, 0xac, 0xdf, 0xf7, 0xa3, 0x36, 0x28, 0xfb, 0xb6, 0x8b, 0xb3, + 0x99, 0x69, 0x3d, 0x0e, 0xdf, 0xb2, 0x26, 0x23, 0xfb, 0xcb, 0x1f, 0xe6, + 0x4c, 0xb5, 0x03, 0xcc, 0x52, 0x7f, 0x81, 0xc7, 0x05, 0xa5, 0x7d, 0xe8, + 0xe7, 0xed, 0x65, 0x6c, 0xe3, 0x28, 0xe9, 0x9c, 0xbb, 0xa0, 0xde, 0xcd, + 0x25, 0x3c, 0xc9, 0x46, 0x8b, 0xc8, 0x04, 0x2f, 0x49, 0xd3, 0xa4, 0x8c, + 0x51, 0xeb, 0xab, 0xd2, +}; +static const struct drbg_kat_pr_false kat2147_t = { + 1, kat2147_entropyin, kat2147_nonce, kat2147_persstr, + kat2147_entropyinreseed, kat2147_addinreseed, kat2147_addin0, + kat2147_addin1, kat2147_retbits +}; +static const struct drbg_kat kat2147 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2147_t +}; + +static const unsigned char kat2148_entropyin[] = { + 0x02, 0xe0, 0xc4, 0xbe, 0xd4, 0xff, 0x5a, 0x3a, 0x01, 0xa2, 0x57, 0x3c, + 0xb1, 0x34, 0x4a, 0x55, 0xa8, 0xed, 0xd6, 0x8c, 0x83, 0xe1, 0x11, 0xda, + 0x83, 0xea, 0xee, 0x22, 0x17, 0xb7, 0xb0, 0xf9, +}; +static const unsigned char kat2148_nonce[] = { + 0x60, 0x6a, 0x90, 0x9c, 0x1e, 0xb4, 0x26, 0xe8, 0x6f, 0x65, 0x64, 0xcb, + 0xe0, 0x17, 0x72, 0x73, +}; +static const unsigned char kat2148_persstr[] = { + 0x51, 0x97, 0x58, 0x93, 0x3d, 0x0c, 0x75, 0xad, 0x84, 0x4a, 0xc8, 0xb7, + 0xb9, 0x8c, 0x31, 0x45, 0x22, 0xdc, 0xb5, 0xb8, 0x08, 0x2a, 0xf3, 0x68, + 0xcb, 0x48, 0x9b, 0xca, 0xcb, 0x5d, 0xfa, 0xa9, +}; +static const unsigned char kat2148_entropyinreseed[] = { + 0x81, 0xb0, 0x92, 0x39, 0x97, 0xa7, 0x86, 0xf9, 0x1e, 0xd0, 0xc2, 0x78, + 0x3a, 0x37, 0x2c, 0x87, 0xfe, 0x0f, 0xee, 0x2b, 0x83, 0x05, 0x23, 0x8e, + 0xff, 0xf9, 0x57, 0x56, 0x64, 0x51, 0xf7, 0x12, +}; +static const unsigned char kat2148_addinreseed[] = { + 0x57, 0x6e, 0x8d, 0xc3, 0x6e, 0x4c, 0xc8, 0xaf, 0xe8, 0x0e, 0xdf, 0xb9, + 0x4f, 0x19, 0x22, 0x74, 0xbc, 0x90, 0x4b, 0x86, 0x59, 0xf3, 0xe7, 0x27, + 0x28, 0x4f, 0xd3, 0x77, 0xe9, 0xf9, 0xfb, 0x38, +}; +static const unsigned char kat2148_addin0[] = { + 0x8c, 0x65, 0x63, 0xbd, 0x4a, 0x5f, 0xdb, 0x59, 0x81, 0x00, 0x35, 0x58, + 0x10, 0xd3, 0xaf, 0x0e, 0x0e, 0x07, 0xb2, 0x09, 0xb7, 0x8c, 0xd5, 0x6c, + 0xe5, 0x33, 0xab, 0xa3, 0x8a, 0xb7, 0x5b, 0x02, +}; +static const unsigned char kat2148_addin1[] = { + 0xeb, 0xec, 0xb4, 0x61, 0x34, 0x57, 0x15, 0x0d, 0x8a, 0x28, 0x5a, 0x35, + 0x42, 0x51, 0xcf, 0xf0, 0x94, 0xa6, 0x35, 0xc3, 0xe1, 0x85, 0x63, 0xc8, + 0x00, 0xb5, 0xf5, 0xea, 0x71, 0x03, 0x2e, 0xfd, +}; +static const unsigned char kat2148_retbits[] = { + 0xdf, 0xdb, 0x7f, 0x53, 0x42, 0x45, 0x60, 0xb5, 0xfa, 0x21, 0xbf, 0xbc, + 0xfb, 0x6a, 0x17, 0xdc, 0x6c, 0xd6, 0x93, 0x68, 0x1b, 0xb9, 0x78, 0xc2, + 0xd0, 0x4c, 0xf8, 0x8c, 0x46, 0x78, 0xb6, 0x8a, 0xf8, 0x4f, 0xe5, 0x41, + 0x91, 0x3e, 0x63, 0x3f, 0xde, 0xdc, 0x21, 0xa8, 0x7f, 0xb5, 0xcd, 0x1f, + 0xfe, 0x74, 0x25, 0x1d, 0x45, 0xac, 0x15, 0xd8, 0xe4, 0xec, 0xb3, 0x07, + 0x98, 0xd0, 0x69, 0x51, +}; +static const struct drbg_kat_pr_false kat2148_t = { + 2, kat2148_entropyin, kat2148_nonce, kat2148_persstr, + kat2148_entropyinreseed, kat2148_addinreseed, kat2148_addin0, + kat2148_addin1, kat2148_retbits +}; +static const struct drbg_kat kat2148 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2148_t +}; + +static const unsigned char kat2149_entropyin[] = { + 0xc0, 0x74, 0xa9, 0xe5, 0xac, 0x43, 0x39, 0x04, 0x37, 0xd1, 0x2d, 0x71, + 0x62, 0x85, 0x3a, 0xa9, 0xab, 0xd7, 0x6e, 0xc7, 0xec, 0xb4, 0x17, 0x41, + 0x7b, 0x30, 0x4e, 0x16, 0x4b, 0x60, 0xcb, 0x6f, +}; +static const unsigned char kat2149_nonce[] = { + 0x59, 0xe3, 0x03, 0xf0, 0xbe, 0x5c, 0x52, 0x8e, 0x45, 0x25, 0x8d, 0x52, + 0x61, 0x4b, 0x85, 0x18, +}; +static const unsigned char kat2149_persstr[] = { + 0x4c, 0xd7, 0x4f, 0x78, 0x46, 0x1d, 0x87, 0x9a, 0x90, 0xc2, 0x6e, 0x16, + 0xd7, 0x33, 0x3e, 0xf4, 0x59, 0xc2, 0xd6, 0x32, 0xe0, 0x89, 0x49, 0x7a, + 0x89, 0x1a, 0x9e, 0xe6, 0x18, 0x4e, 0x98, 0x1d, +}; +static const unsigned char kat2149_entropyinreseed[] = { + 0x31, 0x61, 0xef, 0x4f, 0x92, 0xbf, 0xc3, 0x2f, 0xaf, 0x7f, 0xc1, 0xd7, + 0x0b, 0x19, 0x5c, 0xc1, 0xb0, 0x51, 0xf7, 0xf0, 0xaf, 0xc5, 0x90, 0x2f, + 0x4f, 0x28, 0xd0, 0x46, 0x20, 0x31, 0x82, 0xf1, +}; +static const unsigned char kat2149_addinreseed[] = { + 0xab, 0x16, 0xc4, 0x17, 0x44, 0x2b, 0x01, 0xf3, 0x37, 0x25, 0x08, 0xc1, + 0x72, 0xc7, 0xf2, 0x37, 0xe2, 0x8f, 0x2b, 0x01, 0xfa, 0x13, 0x94, 0xe3, + 0x93, 0xa8, 0x71, 0xee, 0x50, 0x8b, 0xd5, 0xb2, +}; +static const unsigned char kat2149_addin0[] = { + 0x81, 0xc7, 0x3b, 0x87, 0x80, 0xe8, 0x71, 0x69, 0x49, 0x42, 0x30, 0xf0, + 0x4f, 0xed, 0x33, 0xbb, 0x5b, 0x25, 0x1b, 0x6a, 0x42, 0xbc, 0x60, 0xa0, + 0xdd, 0xfe, 0x3f, 0xce, 0x78, 0xa1, 0xeb, 0x5c, +}; +static const unsigned char kat2149_addin1[] = { + 0x29, 0xdf, 0x72, 0x41, 0x64, 0xff, 0xa3, 0x82, 0x69, 0x18, 0x3d, 0x55, + 0xe0, 0x5b, 0x22, 0xde, 0xb8, 0xde, 0xfc, 0x0d, 0x40, 0xfe, 0x9c, 0x23, + 0x29, 0x7b, 0xe0, 0xb6, 0x92, 0x61, 0xf6, 0x53, +}; +static const unsigned char kat2149_retbits[] = { + 0xd4, 0xbc, 0x09, 0xc3, 0x91, 0xf5, 0xae, 0x44, 0x93, 0x69, 0xd9, 0x26, + 0x7e, 0x76, 0x44, 0x8d, 0x64, 0x93, 0xa2, 0x60, 0xad, 0xb9, 0xc3, 0x87, + 0x0c, 0xd5, 0x0b, 0xcc, 0xbf, 0x23, 0x6b, 0x6b, 0xcf, 0xf2, 0x13, 0x34, + 0xc6, 0x93, 0x92, 0x9c, 0x83, 0x93, 0x8f, 0xc9, 0xd6, 0x7a, 0x7d, 0x96, + 0xa1, 0x7e, 0x75, 0x4a, 0x8b, 0x68, 0x82, 0x9a, 0x13, 0x5d, 0x6f, 0xb6, + 0x3b, 0xfc, 0x7a, 0x26, +}; +static const struct drbg_kat_pr_false kat2149_t = { + 3, kat2149_entropyin, kat2149_nonce, kat2149_persstr, + kat2149_entropyinreseed, kat2149_addinreseed, kat2149_addin0, + kat2149_addin1, kat2149_retbits +}; +static const struct drbg_kat kat2149 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2149_t +}; + +static const unsigned char kat2150_entropyin[] = { + 0x9f, 0x06, 0xca, 0x93, 0xae, 0x6a, 0xf2, 0xab, 0x0f, 0xbf, 0x6a, 0xf0, + 0xeb, 0x1e, 0xb5, 0x83, 0xb8, 0xf6, 0xf8, 0xb5, 0x0a, 0xe9, 0xe1, 0x68, + 0xed, 0x6a, 0x85, 0xe6, 0xca, 0x56, 0x09, 0xc5, +}; +static const unsigned char kat2150_nonce[] = { + 0x1c, 0x3f, 0xe6, 0x42, 0x4b, 0x3a, 0x6d, 0x4e, 0xa4, 0x1e, 0xdf, 0x35, + 0xf9, 0x77, 0xb3, 0x85, +}; +static const unsigned char kat2150_persstr[] = { + 0x11, 0x64, 0xb2, 0xc0, 0x32, 0x99, 0xb6, 0x8d, 0xce, 0xb2, 0x10, 0x7a, + 0x61, 0x6e, 0x1e, 0xfe, 0x4d, 0x11, 0x1d, 0x59, 0x68, 0x8b, 0x6e, 0x24, + 0x81, 0x2f, 0x65, 0x71, 0x5f, 0xc9, 0x80, 0x23, +}; +static const unsigned char kat2150_entropyinreseed[] = { + 0xcd, 0xa6, 0x5f, 0xa8, 0xc4, 0xe0, 0xbf, 0x37, 0xf3, 0xaa, 0xa9, 0xc2, + 0x53, 0x8d, 0x81, 0x07, 0xfc, 0x1c, 0xbc, 0x07, 0x25, 0xf3, 0x8e, 0xbe, + 0xb4, 0xb8, 0x74, 0x1e, 0x23, 0xb6, 0xa6, 0x32, +}; +static const unsigned char kat2150_addinreseed[] = { + 0x44, 0xd6, 0xf1, 0x4b, 0xe3, 0xaa, 0x7a, 0x46, 0x85, 0x4b, 0xaa, 0x83, + 0x9c, 0x82, 0xdd, 0xe2, 0x39, 0xc6, 0xfd, 0xf2, 0x37, 0xc6, 0x18, 0x90, + 0xe1, 0x32, 0xa5, 0x48, 0x22, 0x84, 0x21, 0x36, +}; +static const unsigned char kat2150_addin0[] = { + 0xe5, 0x0e, 0x51, 0x92, 0xf4, 0xeb, 0xd5, 0x77, 0x0b, 0x17, 0xdf, 0x64, + 0x20, 0x70, 0xa9, 0x4e, 0x7a, 0xb8, 0xe3, 0x64, 0xfb, 0xfd, 0x42, 0xb5, + 0xf4, 0xf0, 0xf6, 0xc3, 0xf3, 0x12, 0x0b, 0x5c, +}; +static const unsigned char kat2150_addin1[] = { + 0xad, 0x96, 0x26, 0xe5, 0x8b, 0xdc, 0xd4, 0x30, 0xcd, 0xf8, 0x17, 0x24, + 0x5d, 0x04, 0xf8, 0xbe, 0x6e, 0xdf, 0xba, 0x8a, 0x6c, 0xda, 0x9d, 0x1c, + 0x44, 0xb8, 0x66, 0x48, 0x99, 0x63, 0x08, 0xef, +}; +static const unsigned char kat2150_retbits[] = { + 0xac, 0x1e, 0x0c, 0xf2, 0x28, 0xc1, 0x4a, 0x82, 0x7a, 0x7d, 0x81, 0x7d, + 0x39, 0x93, 0xb5, 0x03, 0xbf, 0xb7, 0x53, 0x05, 0x24, 0xe6, 0xa6, 0x03, + 0xf8, 0x93, 0x18, 0x12, 0x8e, 0x5b, 0x08, 0x92, 0xd8, 0xe2, 0xbe, 0xb7, + 0x05, 0x97, 0x8b, 0x5c, 0x25, 0x5c, 0x86, 0x8e, 0xf0, 0xc4, 0x78, 0x93, + 0x12, 0xd9, 0xd0, 0xa2, 0x23, 0x07, 0xbe, 0xc2, 0x04, 0x22, 0x47, 0xf3, + 0xdf, 0x60, 0x12, 0x6a, +}; +static const struct drbg_kat_pr_false kat2150_t = { + 4, kat2150_entropyin, kat2150_nonce, kat2150_persstr, + kat2150_entropyinreseed, kat2150_addinreseed, kat2150_addin0, + kat2150_addin1, kat2150_retbits +}; +static const struct drbg_kat kat2150 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2150_t +}; + +static const unsigned char kat2151_entropyin[] = { + 0xec, 0xd1, 0x38, 0xbb, 0xf1, 0xd5, 0x54, 0x95, 0xf0, 0x79, 0x21, 0xb4, + 0xfb, 0x58, 0x60, 0x78, 0x50, 0x5b, 0xe5, 0xf6, 0x58, 0x6e, 0xba, 0x7f, + 0xe1, 0xad, 0xf5, 0x74, 0xf1, 0x63, 0xd3, 0x5a, +}; +static const unsigned char kat2151_nonce[] = { + 0xe5, 0xae, 0xf8, 0xe6, 0x41, 0xc9, 0x2b, 0x0a, 0x05, 0xe3, 0xca, 0x17, + 0x8b, 0xce, 0xc8, 0x77, +}; +static const unsigned char kat2151_persstr[] = { + 0xd3, 0xe2, 0x65, 0x73, 0xb8, 0x96, 0xbc, 0x32, 0x84, 0xc0, 0x4c, 0x78, + 0x6d, 0x3f, 0xb5, 0xeb, 0x29, 0x9d, 0xad, 0xa0, 0x3f, 0xda, 0x12, 0x9e, + 0x93, 0xd1, 0x18, 0xc1, 0x3c, 0x46, 0x9b, 0xca, +}; +static const unsigned char kat2151_entropyinreseed[] = { + 0x3b, 0xce, 0x4b, 0x4e, 0x9c, 0xd3, 0xba, 0xf9, 0xe0, 0xb0, 0xcc, 0x7f, + 0xc7, 0x9a, 0x48, 0xa3, 0x26, 0x55, 0x25, 0xd7, 0x43, 0x15, 0xd3, 0x66, + 0x6e, 0x01, 0x8e, 0x06, 0xc8, 0xe8, 0xdf, 0x84, +}; +static const unsigned char kat2151_addinreseed[] = { + 0xf6, 0x85, 0xcb, 0x18, 0x5c, 0xcf, 0x41, 0xdd, 0x92, 0x8e, 0x90, 0xf8, + 0x67, 0x5c, 0x27, 0xf5, 0x2c, 0x7b, 0x6b, 0x90, 0xff, 0x6c, 0x8c, 0x9f, + 0x40, 0x12, 0x51, 0x18, 0xc5, 0x82, 0x79, 0x49, +}; +static const unsigned char kat2151_addin0[] = { + 0x03, 0x80, 0x38, 0x68, 0xd5, 0x9f, 0x85, 0xdf, 0x25, 0xaf, 0x53, 0x00, + 0xf9, 0x92, 0x10, 0xb5, 0xa9, 0x5f, 0x88, 0x48, 0x3c, 0xe6, 0xb9, 0x77, + 0x68, 0xc5, 0x53, 0x29, 0x76, 0x59, 0x2c, 0x2b, +}; +static const unsigned char kat2151_addin1[] = { + 0x2c, 0x90, 0x32, 0xcb, 0xfe, 0x8b, 0xaf, 0xc9, 0x48, 0x80, 0xba, 0xc9, + 0x91, 0xb4, 0x69, 0x53, 0x1a, 0xfe, 0x06, 0x19, 0xd7, 0x1d, 0xd3, 0x84, + 0x1e, 0x14, 0xc7, 0x24, 0x45, 0x78, 0xae, 0x95, +}; +static const unsigned char kat2151_retbits[] = { + 0xa0, 0xfd, 0xbc, 0x3d, 0x36, 0x28, 0x47, 0x9f, 0x47, 0xea, 0x66, 0x94, + 0xef, 0xad, 0x2b, 0xa9, 0xbe, 0xc2, 0xf5, 0xe7, 0xd1, 0x55, 0x23, 0x31, + 0x87, 0x0c, 0x03, 0x6a, 0xf1, 0x01, 0x92, 0xff, 0x0d, 0x0c, 0xe8, 0xa4, + 0xf1, 0x00, 0xdd, 0xe2, 0xb2, 0x2e, 0xbd, 0xac, 0xb8, 0x89, 0xec, 0x1d, + 0xc6, 0xbf, 0x8c, 0x34, 0xb4, 0x1e, 0x42, 0xc0, 0x6c, 0xd9, 0x68, 0xe2, + 0xd0, 0x62, 0x31, 0x2c, +}; +static const struct drbg_kat_pr_false kat2151_t = { + 5, kat2151_entropyin, kat2151_nonce, kat2151_persstr, + kat2151_entropyinreseed, kat2151_addinreseed, kat2151_addin0, + kat2151_addin1, kat2151_retbits +}; +static const struct drbg_kat kat2151 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2151_t +}; + +static const unsigned char kat2152_entropyin[] = { + 0xee, 0x7f, 0x43, 0x06, 0x5d, 0x94, 0x81, 0xd2, 0x3c, 0x4e, 0xc5, 0x6e, + 0xc4, 0x2d, 0xfb, 0xea, 0xc2, 0x0c, 0xd3, 0x6a, 0x74, 0x85, 0x41, 0xd1, + 0xad, 0x50, 0x52, 0x6d, 0x39, 0x47, 0xb4, 0xe7, +}; +static const unsigned char kat2152_nonce[] = { + 0x65, 0x9e, 0x13, 0x58, 0x71, 0xaf, 0x57, 0x78, 0x00, 0x67, 0xc2, 0x16, + 0xf2, 0x72, 0xb4, 0xe7, +}; +static const unsigned char kat2152_persstr[] = { + 0x4a, 0xb0, 0xcb, 0x88, 0x78, 0x1a, 0xa9, 0xc1, 0xa6, 0x9c, 0x7d, 0xaa, + 0xf5, 0x39, 0x4b, 0x48, 0x2c, 0x1f, 0x2a, 0x13, 0xf4, 0x09, 0xa0, 0xf0, + 0xaa, 0x35, 0xab, 0x84, 0x89, 0x7f, 0xf8, 0x9a, +}; +static const unsigned char kat2152_entropyinreseed[] = { + 0xfc, 0xaf, 0x45, 0x6b, 0xae, 0xe3, 0x81, 0x32, 0xdc, 0x43, 0x04, 0xc5, + 0xc1, 0x79, 0x8c, 0x76, 0xc4, 0xea, 0x26, 0x26, 0xaa, 0x6a, 0x91, 0x23, + 0x32, 0xae, 0x2e, 0x04, 0x86, 0xc1, 0xb5, 0x48, +}; +static const unsigned char kat2152_addinreseed[] = { + 0xe9, 0xc8, 0xf1, 0x54, 0x4b, 0x2e, 0x49, 0xe9, 0x49, 0x81, 0x06, 0xf6, + 0x43, 0x05, 0xa1, 0xe0, 0x99, 0x88, 0x3b, 0xc2, 0x3f, 0x00, 0x0c, 0x26, + 0xcf, 0xeb, 0x7b, 0x4d, 0xca, 0x50, 0xb2, 0xc4, +}; +static const unsigned char kat2152_addin0[] = { + 0xa5, 0x67, 0x9b, 0xf8, 0xc2, 0x97, 0xac, 0x08, 0x6b, 0xee, 0x3a, 0xc6, + 0xc2, 0x5f, 0xfb, 0x89, 0x5d, 0x17, 0xeb, 0xae, 0x81, 0xd5, 0x60, 0x53, + 0xc8, 0x8f, 0x2d, 0xca, 0x4f, 0x70, 0x5e, 0xf8, +}; +static const unsigned char kat2152_addin1[] = { + 0x0c, 0x0e, 0xae, 0x3c, 0x9b, 0x02, 0x24, 0x2b, 0xd8, 0x6d, 0x38, 0x73, + 0x3d, 0x02, 0x8e, 0x49, 0x0e, 0xe7, 0xcf, 0xb6, 0xf0, 0x7c, 0x9b, 0xc1, + 0xd7, 0x61, 0x8f, 0x6d, 0xaa, 0x20, 0x56, 0xc1, +}; +static const unsigned char kat2152_retbits[] = { + 0x29, 0xc0, 0x9f, 0xa1, 0x97, 0x95, 0xa7, 0xab, 0x05, 0x2a, 0xc5, 0x56, + 0x84, 0xe6, 0x83, 0x57, 0x53, 0x9c, 0x80, 0xa4, 0x28, 0xf7, 0x19, 0x31, + 0xef, 0x4c, 0xef, 0x5f, 0x90, 0x99, 0xf7, 0x52, 0xa8, 0x44, 0xf2, 0x1c, + 0x54, 0x66, 0x22, 0xd8, 0xa4, 0x4b, 0xf6, 0xd4, 0x6f, 0x9e, 0xc4, 0x96, + 0x72, 0x0d, 0xfe, 0xe6, 0x11, 0x88, 0xdc, 0xab, 0x68, 0x68, 0xbe, 0x18, + 0xc8, 0x26, 0xd2, 0x30, +}; +static const struct drbg_kat_pr_false kat2152_t = { + 6, kat2152_entropyin, kat2152_nonce, kat2152_persstr, + kat2152_entropyinreseed, kat2152_addinreseed, kat2152_addin0, + kat2152_addin1, kat2152_retbits +}; +static const struct drbg_kat kat2152 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2152_t +}; + +static const unsigned char kat2153_entropyin[] = { + 0xd6, 0xc4, 0x95, 0x3a, 0x45, 0x71, 0x6f, 0x32, 0x16, 0xbe, 0xd8, 0xbe, + 0x44, 0x6c, 0xd3, 0xdf, 0xce, 0x25, 0x1d, 0x7f, 0xad, 0x76, 0xe7, 0x26, + 0x4e, 0x72, 0x83, 0xf9, 0x7b, 0xd5, 0x61, 0xd6, +}; +static const unsigned char kat2153_nonce[] = { + 0xe8, 0x76, 0xf3, 0xf5, 0x7d, 0xf4, 0xf6, 0xc6, 0x9d, 0xed, 0xd5, 0xb7, + 0x72, 0xe7, 0xa4, 0x80, +}; +static const unsigned char kat2153_persstr[] = { + 0x4c, 0x1a, 0x21, 0xf8, 0x06, 0x1c, 0x95, 0xd3, 0x22, 0xaa, 0xdf, 0x4a, + 0x4c, 0x5d, 0xbc, 0x09, 0x0d, 0xd0, 0x69, 0x7e, 0xc3, 0xf2, 0x02, 0x8a, + 0xea, 0xaa, 0x00, 0x93, 0x76, 0x04, 0x02, 0x7a, +}; +static const unsigned char kat2153_entropyinreseed[] = { + 0xd8, 0xbc, 0xf4, 0xd1, 0x61, 0xea, 0x13, 0xf6, 0xf5, 0xd5, 0x2a, 0x04, + 0x99, 0x8e, 0xf7, 0xda, 0xef, 0x41, 0x79, 0xc4, 0x05, 0x83, 0x2d, 0xd6, + 0xe3, 0xe1, 0xc3, 0x7f, 0xbf, 0x2d, 0x2f, 0x53, +}; +static const unsigned char kat2153_addinreseed[] = { + 0x01, 0xf6, 0x46, 0x50, 0x95, 0x71, 0x2d, 0x5d, 0x1b, 0xe3, 0x2d, 0x24, + 0xba, 0xd4, 0x7a, 0x1d, 0xde, 0xa1, 0xdf, 0xf9, 0xf7, 0x28, 0x97, 0xa0, + 0x54, 0x6e, 0x18, 0x79, 0x9c, 0x51, 0xc1, 0xfb, +}; +static const unsigned char kat2153_addin0[] = { + 0x0f, 0x84, 0x5c, 0xe1, 0xcd, 0x10, 0x39, 0xf4, 0x00, 0x54, 0xf0, 0x6e, + 0x05, 0xc9, 0x54, 0xdd, 0xdb, 0x0d, 0x92, 0x97, 0x85, 0x57, 0xc7, 0xaa, + 0xda, 0xc4, 0x90, 0x48, 0x51, 0x7d, 0xb9, 0xe2, +}; +static const unsigned char kat2153_addin1[] = { + 0x59, 0xfb, 0x2f, 0x13, 0x3c, 0xaa, 0xd5, 0xc9, 0x5d, 0x42, 0x8f, 0xf8, + 0xb5, 0xd5, 0x96, 0xf6, 0x43, 0xbc, 0xe6, 0x64, 0xba, 0x13, 0x4f, 0x92, + 0x1a, 0xbd, 0xaa, 0xa4, 0x87, 0x76, 0x8a, 0x93, +}; +static const unsigned char kat2153_retbits[] = { + 0x11, 0x92, 0x7f, 0x50, 0x41, 0x61, 0x3a, 0x71, 0x92, 0xbe, 0x58, 0x69, + 0x7d, 0x66, 0xa4, 0x3e, 0x30, 0x24, 0x71, 0x01, 0x73, 0x0b, 0x94, 0x4c, + 0xeb, 0x1e, 0x35, 0xbc, 0x1c, 0xfe, 0x4d, 0xa4, 0x0e, 0x40, 0x70, 0x78, + 0x3a, 0xff, 0x20, 0x14, 0x2f, 0x73, 0xc4, 0xc3, 0xa8, 0xe7, 0x97, 0xeb, + 0xba, 0xba, 0x9e, 0x63, 0x9d, 0x28, 0x11, 0x9c, 0x8c, 0x67, 0x73, 0x1d, + 0x61, 0x09, 0x1d, 0xd9, +}; +static const struct drbg_kat_pr_false kat2153_t = { + 7, kat2153_entropyin, kat2153_nonce, kat2153_persstr, + kat2153_entropyinreseed, kat2153_addinreseed, kat2153_addin0, + kat2153_addin1, kat2153_retbits +}; +static const struct drbg_kat kat2153 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2153_t +}; + +static const unsigned char kat2154_entropyin[] = { + 0x2b, 0x08, 0xea, 0x18, 0x85, 0xcd, 0x66, 0x80, 0x46, 0x84, 0x86, 0x84, + 0x46, 0xfd, 0x79, 0x5c, 0x94, 0x10, 0x5e, 0x72, 0xf8, 0xb4, 0xa0, 0x99, + 0x7e, 0xd1, 0x78, 0xe0, 0xcd, 0x69, 0x59, 0xb2, +}; +static const unsigned char kat2154_nonce[] = { + 0x30, 0x6b, 0x93, 0xb9, 0x3b, 0x2a, 0xb7, 0xe9, 0x4c, 0x2a, 0x7f, 0x0b, + 0x40, 0x1d, 0x18, 0xea, +}; +static const unsigned char kat2154_persstr[] = { + 0x7a, 0x49, 0x1a, 0xae, 0x8a, 0x65, 0xeb, 0x02, 0x40, 0x26, 0x2f, 0x60, + 0x4b, 0xb0, 0x02, 0x39, 0xea, 0x8a, 0xd4, 0xc1, 0x40, 0x68, 0xa4, 0x61, + 0x06, 0xff, 0x68, 0x4d, 0x0f, 0x5e, 0x9c, 0xc4, +}; +static const unsigned char kat2154_entropyinreseed[] = { + 0x38, 0x39, 0x0f, 0x35, 0x7d, 0x77, 0x70, 0xef, 0x3e, 0xa7, 0xdf, 0x82, + 0x37, 0x1e, 0x7e, 0xcf, 0x1e, 0xd1, 0x76, 0xfd, 0xba, 0x0d, 0x77, 0x6f, + 0x11, 0x27, 0x23, 0xe3, 0xd3, 0x38, 0xf0, 0xd6, +}; +static const unsigned char kat2154_addinreseed[] = { + 0x75, 0xce, 0x68, 0x80, 0x28, 0x17, 0x7a, 0xab, 0xe8, 0xe9, 0x5f, 0x0f, + 0x50, 0x49, 0x4c, 0xf2, 0xb1, 0x3b, 0x21, 0x8b, 0x1b, 0x71, 0x52, 0x6c, + 0xed, 0x09, 0x77, 0xbc, 0x6b, 0x6e, 0x47, 0xa9, +}; +static const unsigned char kat2154_addin0[] = { + 0x80, 0x70, 0x92, 0xa7, 0x46, 0x23, 0xf4, 0x63, 0xe5, 0xff, 0x4d, 0x4a, + 0xb8, 0x4a, 0x1b, 0x53, 0x9c, 0x34, 0x6b, 0xf4, 0x79, 0x8b, 0x4c, 0x66, + 0x1a, 0x78, 0x17, 0x83, 0x8b, 0x41, 0xfd, 0xe7, +}; +static const unsigned char kat2154_addin1[] = { + 0xdb, 0xcb, 0x02, 0x35, 0x7c, 0x44, 0xb7, 0x70, 0xe6, 0x75, 0x3f, 0xbb, + 0xb1, 0x62, 0x2c, 0xa2, 0x89, 0x3e, 0x7c, 0xa4, 0x04, 0xd7, 0x93, 0xc5, + 0x4c, 0xf4, 0x02, 0xff, 0xb7, 0x8d, 0xec, 0x6c, +}; +static const unsigned char kat2154_retbits[] = { + 0xa6, 0x0b, 0xc7, 0x53, 0x07, 0xf6, 0x83, 0x34, 0x51, 0x0e, 0xc3, 0x22, + 0x4a, 0x8a, 0x1e, 0xb1, 0xc9, 0x89, 0x25, 0x14, 0x55, 0xa8, 0xaa, 0x89, + 0xff, 0x1f, 0x91, 0x43, 0x53, 0x7b, 0x4e, 0xdd, 0x35, 0xce, 0xb0, 0xa9, + 0xce, 0xfd, 0x7b, 0x4f, 0x71, 0x5e, 0xe1, 0x70, 0x9f, 0xc7, 0xda, 0xe7, + 0x19, 0xfd, 0xfa, 0xe8, 0xb2, 0x02, 0x79, 0x09, 0x7c, 0xf8, 0x6b, 0x7f, + 0x48, 0x5d, 0x34, 0xcd, +}; +static const struct drbg_kat_pr_false kat2154_t = { + 8, kat2154_entropyin, kat2154_nonce, kat2154_persstr, + kat2154_entropyinreseed, kat2154_addinreseed, kat2154_addin0, + kat2154_addin1, kat2154_retbits +}; +static const struct drbg_kat kat2154 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2154_t +}; + +static const unsigned char kat2155_entropyin[] = { + 0x83, 0x6f, 0x18, 0xd7, 0xe0, 0xa9, 0x1e, 0x37, 0x26, 0xdd, 0x83, 0x30, + 0xa2, 0x3d, 0x09, 0x6a, 0x7e, 0xe5, 0xf8, 0x1a, 0xd2, 0x76, 0x75, 0x0a, + 0x53, 0xe8, 0x72, 0xff, 0xfe, 0x36, 0xd2, 0x8a, +}; +static const unsigned char kat2155_nonce[] = { + 0x32, 0x01, 0x9f, 0xf2, 0x9b, 0xfc, 0x47, 0x29, 0xc7, 0x63, 0x9f, 0x74, + 0xba, 0xd7, 0x22, 0x4b, +}; +static const unsigned char kat2155_persstr[] = { + 0xfe, 0xb7, 0x8b, 0xd6, 0x29, 0xee, 0xec, 0xf4, 0xfc, 0x04, 0x00, 0xd5, + 0x8c, 0x4c, 0x87, 0x15, 0xfd, 0xa9, 0x65, 0xbf, 0x76, 0x90, 0x5d, 0x14, + 0x6d, 0x58, 0xf8, 0x9f, 0x90, 0xf4, 0x00, 0x52, +}; +static const unsigned char kat2155_entropyinreseed[] = { + 0x7a, 0x96, 0x33, 0x48, 0xb1, 0xdd, 0xd6, 0x9c, 0xa3, 0x74, 0xad, 0xba, + 0x0c, 0x8b, 0x57, 0x76, 0xc9, 0xb9, 0x8c, 0x29, 0x3a, 0x67, 0xa0, 0xbd, + 0x9b, 0x76, 0x32, 0x85, 0x13, 0xc7, 0x5d, 0x4b, +}; +static const unsigned char kat2155_addinreseed[] = { + 0x8a, 0x91, 0x07, 0x8e, 0xf7, 0x08, 0x5e, 0x8e, 0x6a, 0x14, 0x27, 0xae, + 0xac, 0x3f, 0xc7, 0x93, 0x1d, 0xeb, 0xa0, 0xa7, 0x8a, 0xc1, 0x86, 0x62, + 0x21, 0x6a, 0xc9, 0xa6, 0xaa, 0xff, 0xd7, 0xea, +}; +static const unsigned char kat2155_addin0[] = { + 0xb0, 0x72, 0x33, 0x93, 0x41, 0x9e, 0x29, 0xfc, 0xbc, 0x02, 0x97, 0x43, + 0xce, 0x53, 0xd0, 0xd6, 0xd1, 0x90, 0x5a, 0xd1, 0x9c, 0x0d, 0x80, 0xe6, + 0xed, 0x68, 0x1a, 0x3b, 0xb1, 0xaa, 0x71, 0xa0, +}; +static const unsigned char kat2155_addin1[] = { + 0xa2, 0xd3, 0xe9, 0x6c, 0xd6, 0x6c, 0xe7, 0x7d, 0x72, 0x76, 0xd8, 0x81, + 0x92, 0x35, 0xab, 0xcb, 0x00, 0xdf, 0x30, 0xf3, 0xb9, 0xb8, 0x18, 0x8e, + 0x89, 0x50, 0x7c, 0x97, 0x81, 0x1a, 0xe7, 0x70, +}; +static const unsigned char kat2155_retbits[] = { + 0x03, 0x45, 0x71, 0x27, 0x52, 0x3c, 0xe2, 0x5a, 0xe9, 0xa7, 0xdd, 0xed, + 0xd6, 0x57, 0xcc, 0x2e, 0x36, 0x20, 0xd2, 0xc3, 0xec, 0x18, 0x63, 0x7a, + 0x00, 0x39, 0x4b, 0x1a, 0x07, 0x2c, 0x04, 0xdf, 0xb8, 0x05, 0xb5, 0xb7, + 0xac, 0x91, 0x7f, 0xfa, 0x47, 0x4a, 0x7a, 0x5e, 0xc4, 0x72, 0x1d, 0x29, + 0xab, 0xec, 0xdc, 0x98, 0x41, 0xd3, 0x57, 0x50, 0xc6, 0xe3, 0xfc, 0xaa, + 0x8f, 0xc5, 0x4f, 0xd3, +}; +static const struct drbg_kat_pr_false kat2155_t = { + 9, kat2155_entropyin, kat2155_nonce, kat2155_persstr, + kat2155_entropyinreseed, kat2155_addinreseed, kat2155_addin0, + kat2155_addin1, kat2155_retbits +}; +static const struct drbg_kat kat2155 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2155_t +}; + +static const unsigned char kat2156_entropyin[] = { + 0x99, 0xdd, 0xe8, 0x97, 0xb5, 0xa3, 0xc4, 0x5c, 0x30, 0x7f, 0x68, 0x92, + 0x1a, 0xed, 0x2c, 0x58, 0x05, 0xef, 0x3b, 0x2e, 0xe2, 0xfe, 0x6d, 0xbd, + 0xf0, 0xf5, 0x8f, 0x67, 0x7c, 0xac, 0x5f, 0x34, +}; +static const unsigned char kat2156_nonce[] = { + 0xd3, 0x76, 0xd5, 0xb1, 0xbc, 0xd4, 0x1e, 0xa1, 0x61, 0x13, 0x71, 0xd5, + 0x72, 0x13, 0x11, 0x9b, +}; +static const unsigned char kat2156_persstr[] = { + 0xce, 0x0f, 0xa4, 0x3e, 0xb5, 0x72, 0x95, 0x29, 0xce, 0xaf, 0x3e, 0x7c, + 0x6d, 0x63, 0x19, 0x6c, 0x71, 0x08, 0xda, 0xec, 0x1a, 0x30, 0x2d, 0x38, + 0xfd, 0x6f, 0x52, 0x35, 0xa3, 0xcb, 0x59, 0x3a, +}; +static const unsigned char kat2156_entropyinreseed[] = { + 0x49, 0x8d, 0x10, 0x60, 0x84, 0x16, 0x9b, 0x38, 0xf9, 0xdb, 0x61, 0xe1, + 0x0c, 0x87, 0x67, 0x39, 0x26, 0x4e, 0x0d, 0x35, 0xa3, 0x31, 0x4c, 0xf1, + 0x6b, 0xc7, 0x2d, 0xfb, 0x67, 0xbf, 0xbb, 0x36, +}; +static const unsigned char kat2156_addinreseed[] = { + 0xc1, 0x95, 0x9d, 0xbb, 0xac, 0x36, 0xef, 0xca, 0xf1, 0x90, 0x15, 0x48, + 0x10, 0xcd, 0x76, 0x5b, 0xe4, 0xac, 0x05, 0x0d, 0xb9, 0x3b, 0xc7, 0x67, + 0xb0, 0xa4, 0xef, 0xba, 0xd6, 0x84, 0x1b, 0x05, +}; +static const unsigned char kat2156_addin0[] = { + 0x07, 0xc9, 0x48, 0xe6, 0x87, 0x92, 0xfe, 0x9c, 0xb8, 0x9d, 0xb9, 0x3f, + 0xed, 0x75, 0xa9, 0x41, 0xa9, 0x1e, 0x55, 0x2c, 0x80, 0x26, 0x20, 0x4e, + 0x90, 0x30, 0x7e, 0x36, 0x0c, 0xc3, 0x04, 0x40, +}; +static const unsigned char kat2156_addin1[] = { + 0x36, 0xd3, 0xde, 0xb7, 0xa3, 0x21, 0xee, 0xf9, 0xc1, 0x9f, 0xad, 0x4d, + 0x79, 0xb3, 0x1b, 0xdf, 0x40, 0x84, 0x53, 0x56, 0xdb, 0x3a, 0x3f, 0xcc, + 0xe9, 0xf2, 0x14, 0x7f, 0xfb, 0xe0, 0xcc, 0x8a, +}; +static const unsigned char kat2156_retbits[] = { + 0x91, 0x1d, 0x89, 0xa6, 0x5c, 0xc1, 0x4b, 0x71, 0xdb, 0xae, 0x07, 0x58, + 0x7d, 0xc0, 0xe4, 0x23, 0x8c, 0x97, 0x13, 0xa5, 0xd7, 0x76, 0xac, 0xab, + 0x91, 0x6f, 0x09, 0x9e, 0x23, 0xf3, 0xd7, 0x8d, 0xe6, 0x17, 0xc5, 0xf6, + 0x97, 0xc9, 0x5e, 0x70, 0xc7, 0xa0, 0xec, 0x78, 0x4a, 0x41, 0x92, 0xad, + 0xce, 0x1e, 0xfc, 0x90, 0xc3, 0x36, 0xef, 0x6c, 0x21, 0xa5, 0x19, 0xa6, + 0x29, 0x5d, 0xc6, 0xb6, +}; +static const struct drbg_kat_pr_false kat2156_t = { + 10, kat2156_entropyin, kat2156_nonce, kat2156_persstr, + kat2156_entropyinreseed, kat2156_addinreseed, kat2156_addin0, + kat2156_addin1, kat2156_retbits +}; +static const struct drbg_kat kat2156 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2156_t +}; + +static const unsigned char kat2157_entropyin[] = { + 0xe1, 0x41, 0xd4, 0x5d, 0x2b, 0xaf, 0xcb, 0x32, 0xd7, 0x27, 0xc5, 0x2d, + 0x00, 0x79, 0x18, 0x8a, 0xdb, 0x4e, 0x14, 0x0b, 0x0a, 0xbb, 0xb2, 0x57, + 0xfa, 0x4b, 0x76, 0xcb, 0x14, 0xb5, 0x6b, 0x48, +}; +static const unsigned char kat2157_nonce[] = { + 0xd0, 0x14, 0x02, 0x1d, 0x82, 0xd7, 0x1e, 0x7d, 0xa0, 0x7d, 0xb6, 0x7c, + 0x75, 0x1b, 0x6a, 0x13, +}; +static const unsigned char kat2157_persstr[] = { + 0x23, 0xb4, 0x98, 0x39, 0xc8, 0x22, 0x13, 0xfc, 0xcf, 0x8e, 0x82, 0x11, + 0x4d, 0xb3, 0x81, 0x9c, 0xfd, 0xd8, 0xc0, 0x44, 0x0d, 0x64, 0xbd, 0xea, + 0xe4, 0x6e, 0x79, 0x8b, 0xed, 0xca, 0xff, 0x4d, +}; +static const unsigned char kat2157_entropyinreseed[] = { + 0x68, 0x32, 0xcd, 0xf2, 0xab, 0x89, 0x77, 0x07, 0x53, 0x46, 0x66, 0xfd, + 0x47, 0x12, 0x6c, 0x07, 0xef, 0xa3, 0xc5, 0x38, 0x35, 0x35, 0xac, 0x85, + 0xcf, 0xee, 0xc8, 0xc6, 0xba, 0x1e, 0x17, 0x2b, +}; +static const unsigned char kat2157_addinreseed[] = { + 0xcc, 0x22, 0x9c, 0x81, 0xa1, 0xc0, 0xbb, 0x7c, 0x5e, 0x63, 0x26, 0xc6, + 0x12, 0xf6, 0xf3, 0x0d, 0x1a, 0x54, 0x4f, 0xb8, 0xbf, 0xdf, 0x55, 0xd0, + 0x60, 0xda, 0xd6, 0xae, 0x01, 0x4d, 0x94, 0x33, +}; +static const unsigned char kat2157_addin0[] = { + 0x68, 0x07, 0xbd, 0x4a, 0x3c, 0xe8, 0x49, 0xc7, 0x2d, 0x02, 0x21, 0x5f, + 0x97, 0x0e, 0x8e, 0x2a, 0xca, 0x54, 0xfe, 0xd1, 0x63, 0x0e, 0x91, 0x07, + 0x07, 0xb3, 0x01, 0xd6, 0x3b, 0xe9, 0x87, 0x62, +}; +static const unsigned char kat2157_addin1[] = { + 0x0a, 0xd1, 0x42, 0xdc, 0xeb, 0xfd, 0xf2, 0x2a, 0x2d, 0x2e, 0xb5, 0xe7, + 0x58, 0xbc, 0x79, 0xc5, 0xaf, 0x8e, 0xd6, 0x40, 0x39, 0x02, 0x8e, 0xe8, + 0xa5, 0xc3, 0xe8, 0xc2, 0x4d, 0x4f, 0x47, 0x13, +}; +static const unsigned char kat2157_retbits[] = { + 0xfb, 0x5b, 0xa7, 0xa1, 0x8f, 0x12, 0x22, 0x20, 0x1d, 0xc0, 0xbf, 0xa5, + 0x4c, 0xba, 0xe4, 0xc5, 0xee, 0x42, 0xdf, 0xe4, 0x8f, 0x58, 0xd6, 0x2c, + 0x50, 0xb3, 0xda, 0xdf, 0x5d, 0xca, 0x02, 0x1a, 0xa8, 0x48, 0x49, 0x21, + 0xf4, 0x5d, 0x89, 0x96, 0x2b, 0x5a, 0x82, 0x8e, 0x4b, 0xed, 0x53, 0xca, + 0xb6, 0x7a, 0xe2, 0x8c, 0xf8, 0xf0, 0x65, 0x4a, 0x3c, 0x38, 0xeb, 0x0b, + 0xc3, 0x6a, 0x13, 0xf0, +}; +static const struct drbg_kat_pr_false kat2157_t = { + 11, kat2157_entropyin, kat2157_nonce, kat2157_persstr, + kat2157_entropyinreseed, kat2157_addinreseed, kat2157_addin0, + kat2157_addin1, kat2157_retbits +}; +static const struct drbg_kat kat2157 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2157_t +}; + +static const unsigned char kat2158_entropyin[] = { + 0xec, 0x78, 0xd9, 0xf3, 0x85, 0xfc, 0xd4, 0x6d, 0xf1, 0xb0, 0x1d, 0xc0, + 0x56, 0x8c, 0xbf, 0x23, 0xaf, 0xe0, 0xa7, 0x19, 0x6a, 0x1c, 0x08, 0x3f, + 0x05, 0xa5, 0x3c, 0x5b, 0xee, 0x61, 0x00, 0x48, +}; +static const unsigned char kat2158_nonce[] = { + 0x1e, 0x18, 0x3f, 0x9d, 0x70, 0x24, 0xcb, 0xc8, 0x5e, 0xc6, 0x98, 0x49, + 0x1c, 0x89, 0x0b, 0x56, +}; +static const unsigned char kat2158_persstr[] = { + 0x5d, 0x09, 0x0b, 0x15, 0xe4, 0x89, 0x72, 0x31, 0x21, 0xbf, 0xdc, 0x9c, + 0x2b, 0x8f, 0x82, 0x87, 0x71, 0x8d, 0xca, 0xd0, 0x65, 0x44, 0xf0, 0x65, + 0x90, 0x2d, 0xe6, 0x86, 0x9c, 0x5f, 0x22, 0xe6, +}; +static const unsigned char kat2158_entropyinreseed[] = { + 0x3a, 0x39, 0x11, 0x41, 0x5f, 0x45, 0xd3, 0xf9, 0xf6, 0x65, 0xab, 0x3d, + 0x28, 0xc5, 0xe9, 0x5c, 0xa0, 0xd7, 0xf8, 0x6a, 0x5e, 0x5b, 0xc9, 0xc7, + 0x6d, 0xc1, 0xe3, 0x5a, 0x5a, 0xc6, 0xfe, 0x06, +}; +static const unsigned char kat2158_addinreseed[] = { + 0xba, 0xca, 0x0f, 0xb1, 0x3e, 0xf4, 0x5e, 0x9c, 0x1d, 0xde, 0x22, 0xf5, + 0x6a, 0xcf, 0x04, 0x8d, 0x53, 0x01, 0xcf, 0xa9, 0x27, 0x84, 0xa1, 0xe9, + 0x57, 0x31, 0x6b, 0x93, 0x37, 0xda, 0x25, 0x15, +}; +static const unsigned char kat2158_addin0[] = { + 0xcf, 0xa0, 0x0b, 0xdc, 0x20, 0xda, 0xb7, 0x7d, 0xf9, 0xbe, 0xcd, 0x0e, + 0x21, 0x9c, 0xec, 0x4e, 0x26, 0x61, 0xe2, 0xe0, 0x15, 0xa5, 0x0a, 0xa6, + 0x46, 0x91, 0x25, 0xa3, 0xd0, 0x9f, 0xfd, 0xa8, +}; +static const unsigned char kat2158_addin1[] = { + 0x11, 0x37, 0x96, 0x92, 0x7f, 0x70, 0xaa, 0x34, 0xa8, 0x27, 0xaf, 0xb8, + 0x92, 0xab, 0xaa, 0x38, 0xaf, 0x16, 0x15, 0xda, 0x0d, 0xa1, 0x34, 0x34, + 0xf5, 0xbe, 0x6c, 0xe4, 0x48, 0xe4, 0x3f, 0xe2, +}; +static const unsigned char kat2158_retbits[] = { + 0x79, 0x20, 0x19, 0x54, 0xe9, 0xb5, 0x54, 0x41, 0x95, 0xba, 0xc5, 0x46, + 0x2e, 0xbf, 0x5c, 0x50, 0x23, 0x00, 0x45, 0x85, 0x24, 0x53, 0x3f, 0xdf, + 0xd7, 0xc8, 0xe4, 0xcc, 0x1a, 0x6d, 0x1b, 0x28, 0x4f, 0x12, 0xa0, 0x03, + 0xed, 0x49, 0x4b, 0x67, 0x16, 0x9c, 0xb1, 0x7d, 0x0f, 0xcd, 0x9e, 0xb5, + 0x7c, 0x93, 0xb8, 0x0f, 0x5f, 0xc3, 0xf6, 0xd4, 0xfa, 0x98, 0x3c, 0x63, + 0xbd, 0xa5, 0x95, 0xa6, +}; +static const struct drbg_kat_pr_false kat2158_t = { + 12, kat2158_entropyin, kat2158_nonce, kat2158_persstr, + kat2158_entropyinreseed, kat2158_addinreseed, kat2158_addin0, + kat2158_addin1, kat2158_retbits +}; +static const struct drbg_kat kat2158 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2158_t +}; + +static const unsigned char kat2159_entropyin[] = { + 0x3b, 0x4c, 0x1f, 0x22, 0x51, 0x75, 0x86, 0x2c, 0x15, 0xf5, 0x66, 0xf6, + 0xe8, 0x40, 0xa5, 0x2c, 0x71, 0xad, 0x24, 0x19, 0x76, 0x28, 0x8b, 0x95, + 0x21, 0x13, 0x51, 0x44, 0x1f, 0x55, 0xed, 0xb0, +}; +static const unsigned char kat2159_nonce[] = { + 0xc2, 0x10, 0x67, 0x4f, 0x93, 0x22, 0xb5, 0xd1, 0xec, 0xd3, 0xb5, 0x70, + 0x65, 0xe6, 0xbb, 0xe8, +}; +static const unsigned char kat2159_persstr[] = { + 0xfc, 0x46, 0x39, 0xe3, 0x97, 0x1b, 0xba, 0x34, 0xae, 0x3a, 0xda, 0xf8, + 0x8c, 0xb3, 0xc1, 0x00, 0x7c, 0x98, 0x61, 0x3f, 0x57, 0x39, 0x58, 0xea, + 0x74, 0x8c, 0x3d, 0x01, 0xa1, 0x1d, 0x0d, 0xac, +}; +static const unsigned char kat2159_entropyinreseed[] = { + 0xbb, 0x42, 0xe1, 0x91, 0xb6, 0x17, 0xe0, 0x1d, 0xe8, 0x34, 0x34, 0xf1, + 0x39, 0x75, 0xc0, 0x3a, 0xe1, 0xd1, 0x1d, 0xf3, 0x47, 0x04, 0x63, 0x78, + 0x15, 0xfe, 0x71, 0xb6, 0x87, 0x6d, 0x9d, 0x7b, +}; +static const unsigned char kat2159_addinreseed[] = { + 0xb6, 0x5b, 0xb9, 0xac, 0x14, 0xee, 0xac, 0x53, 0xaa, 0xb6, 0x85, 0x6f, + 0x3f, 0x90, 0x4b, 0x35, 0x3b, 0x6d, 0xb9, 0x11, 0xd5, 0xe1, 0xa4, 0x05, + 0x41, 0x4b, 0xd6, 0x9b, 0x8e, 0xf8, 0x2f, 0x8b, +}; +static const unsigned char kat2159_addin0[] = { + 0x3c, 0x1e, 0x5f, 0xe0, 0x21, 0x2b, 0x72, 0xab, 0x2a, 0x8d, 0xc5, 0xd8, + 0xa1, 0x2e, 0x38, 0xe9, 0x7f, 0xcb, 0x0c, 0x3d, 0xaf, 0xb7, 0xd8, 0x79, + 0x35, 0xc4, 0x67, 0x85, 0xe4, 0xc1, 0x7c, 0xb0, +}; +static const unsigned char kat2159_addin1[] = { + 0xb6, 0x79, 0x1e, 0xae, 0x5c, 0x22, 0x05, 0x99, 0x65, 0x47, 0x2b, 0x7a, + 0x7c, 0x71, 0x99, 0xe5, 0xc6, 0x37, 0xa5, 0x3f, 0x92, 0xb0, 0xa7, 0x10, + 0x29, 0x0a, 0x9d, 0xde, 0xec, 0xb7, 0x6e, 0xc6, +}; +static const unsigned char kat2159_retbits[] = { + 0xd7, 0x74, 0x5b, 0x5d, 0x74, 0xae, 0xee, 0x1f, 0x90, 0xe5, 0xd9, 0x2b, + 0x3f, 0x72, 0x52, 0xae, 0x55, 0xbc, 0x03, 0xb2, 0xdb, 0x0c, 0x07, 0x3d, + 0x43, 0x58, 0xa3, 0x97, 0xe3, 0x97, 0x2b, 0x6e, 0x86, 0x88, 0x44, 0x84, + 0x85, 0xe2, 0x26, 0x31, 0xbf, 0xe2, 0xf0, 0xe1, 0x56, 0x52, 0x3a, 0xca, + 0x16, 0x3e, 0xbe, 0x39, 0x2d, 0xdc, 0xb1, 0xe5, 0x24, 0xa8, 0x39, 0x8f, + 0x75, 0x4b, 0x4c, 0x4d, +}; +static const struct drbg_kat_pr_false kat2159_t = { + 13, kat2159_entropyin, kat2159_nonce, kat2159_persstr, + kat2159_entropyinreseed, kat2159_addinreseed, kat2159_addin0, + kat2159_addin1, kat2159_retbits +}; +static const struct drbg_kat kat2159 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2159_t +}; + +static const unsigned char kat2160_entropyin[] = { + 0xbe, 0x69, 0x23, 0xef, 0x05, 0xea, 0xae, 0x72, 0x9b, 0x5b, 0x76, 0x1b, + 0x86, 0x68, 0xab, 0x9c, 0x72, 0x08, 0x38, 0x04, 0xdf, 0x87, 0x96, 0xa3, + 0x00, 0x41, 0x94, 0x74, 0xdd, 0x66, 0x33, 0x87, +}; +static const unsigned char kat2160_nonce[] = { + 0x78, 0x06, 0x45, 0x8f, 0xfe, 0x9f, 0x20, 0x6e, 0xea, 0x8a, 0x96, 0x6b, + 0x1b, 0x23, 0xea, 0xc2, +}; +static const unsigned char kat2160_persstr[] = { + 0x8b, 0x44, 0xc7, 0xf2, 0xe1, 0xf6, 0xb1, 0xba, 0x37, 0x98, 0xe5, 0x1f, + 0x9b, 0x04, 0x8c, 0x8c, 0x8b, 0x08, 0xdf, 0x3c, 0x83, 0x58, 0x45, 0x78, + 0x71, 0x2b, 0x9f, 0x8b, 0x73, 0x7b, 0xa1, 0x1b, +}; +static const unsigned char kat2160_entropyinreseed[] = { + 0x40, 0xf0, 0xfe, 0x73, 0x6e, 0x7c, 0x94, 0xc6, 0x94, 0xeb, 0x85, 0x39, + 0xec, 0x81, 0x62, 0x66, 0x1f, 0x73, 0xa5, 0xdf, 0x5c, 0xf3, 0xd6, 0x96, + 0xb1, 0x9f, 0xa3, 0xfa, 0xcf, 0x3e, 0x32, 0xd1, +}; +static const unsigned char kat2160_addinreseed[] = { + 0x86, 0x67, 0x70, 0x96, 0xcd, 0x2f, 0xc1, 0x9f, 0xb2, 0xb7, 0x43, 0x1c, + 0xb2, 0x5f, 0x8b, 0x3f, 0x0c, 0xc1, 0xdd, 0xa2, 0x78, 0x3a, 0xf6, 0xd4, + 0x9e, 0x0f, 0x02, 0xde, 0x44, 0xd9, 0x19, 0x58, +}; +static const unsigned char kat2160_addin0[] = { + 0x63, 0x98, 0x24, 0x76, 0x80, 0x81, 0xb8, 0xf8, 0xd0, 0x9b, 0x9b, 0x4e, + 0xb5, 0x1c, 0x0b, 0xd1, 0xea, 0x56, 0x66, 0x06, 0x7a, 0xde, 0x26, 0x28, + 0xd4, 0x5e, 0x72, 0x72, 0x13, 0x84, 0xb1, 0xdd, +}; +static const unsigned char kat2160_addin1[] = { + 0x74, 0x92, 0xad, 0xa1, 0xc9, 0x6f, 0x7b, 0x2d, 0xe3, 0x29, 0xcd, 0x54, + 0x65, 0x1b, 0xde, 0x17, 0xb4, 0xfc, 0x69, 0x47, 0x12, 0x80, 0x93, 0x11, + 0x80, 0xbb, 0xde, 0xca, 0xa2, 0x88, 0x94, 0x35, +}; +static const unsigned char kat2160_retbits[] = { + 0x5c, 0x37, 0xc8, 0x29, 0xee, 0xe0, 0xa9, 0xac, 0xf2, 0xec, 0x0a, 0xf8, + 0x16, 0xc7, 0x97, 0x4a, 0x09, 0x99, 0x4e, 0x74, 0x4c, 0x07, 0x0f, 0x58, + 0xd4, 0xfc, 0xc2, 0x16, 0x49, 0x1a, 0x35, 0xbe, 0x0d, 0x32, 0x85, 0x4c, + 0xc4, 0xbf, 0x69, 0x56, 0xea, 0x5c, 0x43, 0x37, 0x0c, 0x02, 0x08, 0x4d, + 0xd3, 0x0a, 0x66, 0xfd, 0xa0, 0x89, 0xf5, 0xc4, 0x7b, 0x49, 0x75, 0xd5, + 0x9a, 0x01, 0xa0, 0x22, +}; +static const struct drbg_kat_pr_false kat2160_t = { + 14, kat2160_entropyin, kat2160_nonce, kat2160_persstr, + kat2160_entropyinreseed, kat2160_addinreseed, kat2160_addin0, + kat2160_addin1, kat2160_retbits +}; +static const struct drbg_kat kat2160 = { + PR_FALSE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat2160_t +}; + +static const unsigned char kat2161_entropyin[] = { + 0xed, 0x1e, 0x7f, 0x21, 0xef, 0x66, 0xea, 0x5d, 0x8e, 0x2a, 0x85, 0xb9, + 0x33, 0x72, 0x45, 0x44, 0x5b, 0x71, 0xd6, 0x39, 0x3a, 0x4e, 0xec, 0xb0, + 0xe6, 0x3c, 0x19, 0x3d, 0x0f, 0x72, 0xf9, 0xa9, +}; +static const unsigned char kat2161_nonce[] = {0}; +static const unsigned char kat2161_persstr[] = {0}; +static const unsigned char kat2161_entropyinreseed[] = { + 0x30, 0x3f, 0xb5, 0x19, 0xf0, 0xa4, 0xe1, 0x7d, 0x6d, 0xf0, 0xb6, 0x42, + 0x6a, 0xa0, 0xec, 0xb2, 0xa3, 0x60, 0x79, 0xbd, 0x48, 0xbe, 0x47, 0xad, + 0x2a, 0x8d, 0xbf, 0xe4, 0x8d, 0xa3, 0xef, 0xad, +}; +static const unsigned char kat2161_addinreseed[] = {0}; +static const unsigned char kat2161_addin0[] = {0}; +static const unsigned char kat2161_addin1[] = {0}; +static const unsigned char kat2161_retbits[] = { + 0xf8, 0x01, 0x11, 0xd0, 0x8e, 0x87, 0x46, 0x72, 0xf3, 0x2f, 0x42, 0x99, + 0x71, 0x33, 0xa5, 0x21, 0x0f, 0x7a, 0x93, 0x75, 0xe2, 0x2c, 0xea, 0x70, + 0x58, 0x7f, 0x9c, 0xfa, 0xfe, 0xbe, 0x0f, 0x6a, 0x6a, 0xa2, 0xeb, 0x68, + 0xe7, 0xdd, 0x91, 0x64, 0x53, 0x6d, 0x53, 0xfa, 0x02, 0x0f, 0xca, 0xb2, + 0x0f, 0x54, 0xca, 0xdd, 0xfa, 0xb7, 0xd6, 0xd9, 0x1e, 0x5f, 0xfe, 0xc1, + 0xdf, 0xd8, 0xde, 0xaa, +}; +static const struct drbg_kat_pr_false kat2161_t = { + 0, kat2161_entropyin, kat2161_nonce, kat2161_persstr, + kat2161_entropyinreseed, kat2161_addinreseed, kat2161_addin0, + kat2161_addin1, kat2161_retbits +}; +static const struct drbg_kat kat2161 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2161_t +}; + +static const unsigned char kat2162_entropyin[] = { + 0xea, 0xb5, 0xa9, 0xf2, 0x3c, 0xea, 0xc9, 0xe4, 0x19, 0x5e, 0x18, 0x5c, + 0x8c, 0xea, 0x54, 0x9d, 0x6d, 0x97, 0xd0, 0x32, 0x76, 0x22, 0x5a, 0x74, + 0x52, 0x76, 0x3c, 0x39, 0x6a, 0x7f, 0x70, 0xbf, +}; +static const unsigned char kat2162_nonce[] = {0}; +static const unsigned char kat2162_persstr[] = {0}; +static const unsigned char kat2162_entropyinreseed[] = { + 0x42, 0x58, 0x76, 0x5c, 0x65, 0xa0, 0x3a, 0xf9, 0x2f, 0xc5, 0x81, 0x6f, + 0x96, 0x6f, 0x1a, 0x66, 0x44, 0xa6, 0x13, 0x46, 0x33, 0xaa, 0xd2, 0xd5, + 0xd1, 0x9b, 0xd1, 0x92, 0xe4, 0xc1, 0x19, 0x6a, +}; +static const unsigned char kat2162_addinreseed[] = {0}; +static const unsigned char kat2162_addin0[] = {0}; +static const unsigned char kat2162_addin1[] = {0}; +static const unsigned char kat2162_retbits[] = { + 0x29, 0x15, 0xc9, 0xfa, 0xbf, 0xbf, 0x7c, 0x62, 0xd6, 0x8d, 0x83, 0xb4, + 0xe6, 0x5a, 0x23, 0x98, 0x85, 0xe8, 0x09, 0xce, 0xac, 0x97, 0xeb, 0x8e, + 0xf4, 0xb6, 0x4d, 0xf5, 0x98, 0x81, 0xc2, 0x77, 0xd3, 0xa1, 0x5e, 0x0e, + 0x15, 0xb0, 0x1d, 0x16, 0x7c, 0x49, 0x03, 0x8f, 0xad, 0x2f, 0x54, 0x78, + 0x5e, 0xa7, 0x14, 0x36, 0x6d, 0x17, 0xbb, 0x2f, 0x82, 0x39, 0xfd, 0x21, + 0x7d, 0x7e, 0x1c, 0xba, +}; +static const struct drbg_kat_pr_false kat2162_t = { + 1, kat2162_entropyin, kat2162_nonce, kat2162_persstr, + kat2162_entropyinreseed, kat2162_addinreseed, kat2162_addin0, + kat2162_addin1, kat2162_retbits +}; +static const struct drbg_kat kat2162 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2162_t +}; + +static const unsigned char kat2163_entropyin[] = { + 0x44, 0x65, 0xbf, 0x16, 0x92, 0x97, 0x81, 0x91, 0x60, 0xb8, 0xef, 0x40, + 0x6c, 0xe7, 0x68, 0xf7, 0x0d, 0x09, 0x45, 0x88, 0x32, 0x2e, 0x8a, 0x21, + 0x4a, 0x8d, 0x67, 0xd5, 0x57, 0x04, 0x93, 0x1c, +}; +static const unsigned char kat2163_nonce[] = {0}; +static const unsigned char kat2163_persstr[] = {0}; +static const unsigned char kat2163_entropyinreseed[] = { + 0xa4, 0x61, 0xf0, 0x49, 0xfc, 0xa9, 0x34, 0x9c, 0x29, 0xf4, 0xaa, 0x49, + 0x09, 0xa4, 0xd1, 0x5d, 0x11, 0xe4, 0xce, 0x72, 0x74, 0x7a, 0xd5, 0xb0, + 0xa7, 0xb1, 0xca, 0x6d, 0x83, 0xf8, 0x8f, 0xf1, +}; +static const unsigned char kat2163_addinreseed[] = {0}; +static const unsigned char kat2163_addin0[] = {0}; +static const unsigned char kat2163_addin1[] = {0}; +static const unsigned char kat2163_retbits[] = { + 0x1e, 0xd1, 0x07, 0x97, 0x63, 0xfb, 0xe2, 0xdc, 0xfc, 0x65, 0x53, 0x2d, + 0x2f, 0x1d, 0xb0, 0xe1, 0xcc, 0xd2, 0x71, 0xa9, 0xc7, 0x3b, 0x34, 0x79, + 0xf1, 0x6b, 0x0d, 0x3d, 0x99, 0x3b, 0xc0, 0x51, 0x6f, 0x4c, 0xaf, 0x6f, + 0x01, 0x85, 0xec, 0xba, 0x91, 0x2e, 0xbb, 0x8e, 0x42, 0x43, 0x7e, 0x20, + 0x16, 0xa6, 0x12, 0x14, 0x59, 0xe6, 0x4e, 0x82, 0xb4, 0x14, 0xba, 0x7f, + 0x99, 0x4a, 0x53, 0xbd, +}; +static const struct drbg_kat_pr_false kat2163_t = { + 2, kat2163_entropyin, kat2163_nonce, kat2163_persstr, + kat2163_entropyinreseed, kat2163_addinreseed, kat2163_addin0, + kat2163_addin1, kat2163_retbits +}; +static const struct drbg_kat kat2163 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2163_t +}; + +static const unsigned char kat2164_entropyin[] = { + 0x67, 0x56, 0x64, 0x94, 0xc6, 0xa1, 0x70, 0xe6, 0x5d, 0x52, 0x77, 0xb8, + 0x27, 0x26, 0x4d, 0xa1, 0x1d, 0xe1, 0xbd, 0xef, 0x34, 0x5e, 0x59, 0x3f, + 0x7a, 0x42, 0x05, 0x80, 0xbe, 0x8e, 0x3f, 0x7b, +}; +static const unsigned char kat2164_nonce[] = {0}; +static const unsigned char kat2164_persstr[] = {0}; +static const unsigned char kat2164_entropyinreseed[] = { + 0x73, 0x76, 0x52, 0xb3, 0xa4, 0xce, 0xa2, 0xe6, 0x8f, 0x28, 0xfe, 0xd8, + 0x39, 0x99, 0x41, 0x70, 0xb7, 0x01, 0xaa, 0xa0, 0xfd, 0xc0, 0x15, 0xa9, + 0x45, 0xe8, 0xee, 0x00, 0x57, 0x7a, 0x7f, 0x6e, +}; +static const unsigned char kat2164_addinreseed[] = {0}; +static const unsigned char kat2164_addin0[] = {0}; +static const unsigned char kat2164_addin1[] = {0}; +static const unsigned char kat2164_retbits[] = { + 0xe0, 0xee, 0x86, 0x95, 0x0d, 0xe5, 0x52, 0x81, 0xd8, 0x61, 0xdc, 0x65, + 0x6f, 0x80, 0xbc, 0x4b, 0xbe, 0xaf, 0x8b, 0x53, 0x03, 0xe0, 0x7d, 0xf3, + 0x53, 0xf6, 0x7a, 0xa6, 0x31, 0x83, 0x33, 0x3a, 0x43, 0x7a, 0xab, 0xc4, + 0x00, 0x64, 0x3e, 0x64, 0x8f, 0x21, 0xe6, 0x38, 0x09, 0xd6, 0x88, 0x63, + 0x2e, 0x4f, 0xc8, 0xa2, 0x5a, 0xa7, 0x40, 0x63, 0x7d, 0x81, 0x2a, 0xbe, + 0x9e, 0xb1, 0x7b, 0x5a, +}; +static const struct drbg_kat_pr_false kat2164_t = { + 3, kat2164_entropyin, kat2164_nonce, kat2164_persstr, + kat2164_entropyinreseed, kat2164_addinreseed, kat2164_addin0, + kat2164_addin1, kat2164_retbits +}; +static const struct drbg_kat kat2164 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2164_t +}; + +static const unsigned char kat2165_entropyin[] = { + 0x9b, 0xa9, 0x28, 0xf8, 0x8b, 0xc9, 0x24, 0xa1, 0xe1, 0x9e, 0xa8, 0x04, + 0xd7, 0x09, 0x6d, 0xd6, 0xc5, 0x5d, 0x94, 0x97, 0xd8, 0x89, 0xfb, 0x87, + 0xea, 0xfb, 0x17, 0x93, 0x80, 0xf7, 0xd7, 0xa5, +}; +static const unsigned char kat2165_nonce[] = {0}; +static const unsigned char kat2165_persstr[] = {0}; +static const unsigned char kat2165_entropyinreseed[] = { + 0x76, 0x33, 0x7f, 0x55, 0xd0, 0x7c, 0x33, 0xc2, 0x11, 0x29, 0xaa, 0x69, + 0x49, 0x12, 0x70, 0x3e, 0x4f, 0xef, 0x8e, 0x54, 0x01, 0x18, 0x5c, 0x7e, + 0x7d, 0x47, 0x78, 0x4e, 0x96, 0x3c, 0x87, 0xa4, +}; +static const unsigned char kat2165_addinreseed[] = {0}; +static const unsigned char kat2165_addin0[] = {0}; +static const unsigned char kat2165_addin1[] = {0}; +static const unsigned char kat2165_retbits[] = { + 0x51, 0x0b, 0x18, 0xec, 0x20, 0x12, 0x0d, 0xa8, 0x79, 0x8c, 0xa9, 0x44, + 0xdf, 0xc9, 0x7c, 0x63, 0xae, 0x62, 0x26, 0x6d, 0x12, 0x2c, 0x70, 0xce, + 0x5c, 0xf4, 0x72, 0xd5, 0xba, 0x71, 0x7d, 0xfc, 0x80, 0xa1, 0xcc, 0xe0, + 0xc2, 0x9a, 0x8c, 0xf3, 0xd2, 0x21, 0x58, 0x3c, 0x72, 0x23, 0xb3, 0x31, + 0x72, 0x7b, 0x41, 0xa0, 0xcd, 0x56, 0xd4, 0xca, 0x42, 0x5e, 0x76, 0x78, + 0x44, 0x17, 0x84, 0xfc, +}; +static const struct drbg_kat_pr_false kat2165_t = { + 4, kat2165_entropyin, kat2165_nonce, kat2165_persstr, + kat2165_entropyinreseed, kat2165_addinreseed, kat2165_addin0, + kat2165_addin1, kat2165_retbits +}; +static const struct drbg_kat kat2165 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2165_t +}; + +static const unsigned char kat2166_entropyin[] = { + 0xeb, 0x20, 0x96, 0x8b, 0x85, 0xcd, 0xab, 0xe8, 0x7c, 0x64, 0x00, 0xd8, + 0xb0, 0x1d, 0x93, 0xc0, 0x24, 0x0a, 0xce, 0x20, 0xa4, 0x0b, 0xbb, 0x49, + 0x96, 0xa0, 0xde, 0x6e, 0xd3, 0xc4, 0x93, 0x26, +}; +static const unsigned char kat2166_nonce[] = {0}; +static const unsigned char kat2166_persstr[] = {0}; +static const unsigned char kat2166_entropyinreseed[] = { + 0xc4, 0x6e, 0x67, 0xb8, 0x02, 0x7d, 0xb6, 0xb5, 0xba, 0xc4, 0x09, 0x06, + 0xad, 0x0b, 0xe6, 0x27, 0x59, 0x52, 0x4a, 0x2f, 0x3d, 0x90, 0xa5, 0x02, + 0x5b, 0x18, 0x8e, 0x7a, 0x85, 0x0c, 0x73, 0xbe, +}; +static const unsigned char kat2166_addinreseed[] = {0}; +static const unsigned char kat2166_addin0[] = {0}; +static const unsigned char kat2166_addin1[] = {0}; +static const unsigned char kat2166_retbits[] = { + 0xbd, 0x15, 0x8d, 0x21, 0xc0, 0x17, 0x2d, 0x50, 0x58, 0xf7, 0x4d, 0x69, + 0x86, 0x5c, 0x98, 0xb6, 0x10, 0x25, 0x68, 0x38, 0x07, 0xdf, 0x93, 0x0b, + 0xf5, 0xfc, 0x3c, 0x50, 0x0c, 0x8c, 0x10, 0xc7, 0x1d, 0x88, 0x04, 0xfa, + 0x67, 0xdb, 0x41, 0x3a, 0x4a, 0x5c, 0x53, 0xd5, 0x7a, 0x52, 0xaa, 0xac, + 0x46, 0x96, 0x98, 0xb4, 0xa4, 0x2f, 0xda, 0x0e, 0xed, 0xf7, 0xb4, 0x5d, + 0x36, 0x07, 0x86, 0x39, +}; +static const struct drbg_kat_pr_false kat2166_t = { + 5, kat2166_entropyin, kat2166_nonce, kat2166_persstr, + kat2166_entropyinreseed, kat2166_addinreseed, kat2166_addin0, + kat2166_addin1, kat2166_retbits +}; +static const struct drbg_kat kat2166 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2166_t +}; + +static const unsigned char kat2167_entropyin[] = { + 0x7b, 0x32, 0x92, 0xfe, 0xd2, 0x22, 0x26, 0x31, 0x5b, 0x52, 0xc1, 0x2e, + 0x0a, 0x49, 0x3e, 0xb4, 0xed, 0xa9, 0xa7, 0x94, 0x98, 0xcc, 0x71, 0x98, + 0x5a, 0x3b, 0xd0, 0x7d, 0x29, 0xe5, 0xae, 0x04, +}; +static const unsigned char kat2167_nonce[] = {0}; +static const unsigned char kat2167_persstr[] = {0}; +static const unsigned char kat2167_entropyinreseed[] = { + 0x21, 0x31, 0x7b, 0xba, 0x5c, 0x80, 0x5b, 0x6e, 0x05, 0xa1, 0x13, 0x7c, + 0x90, 0xb6, 0x55, 0x9b, 0xf1, 0x02, 0x7c, 0x2a, 0x80, 0xb9, 0x5d, 0x17, + 0x6e, 0x31, 0xa8, 0x7f, 0x6d, 0xdd, 0x48, 0xb9, +}; +static const unsigned char kat2167_addinreseed[] = {0}; +static const unsigned char kat2167_addin0[] = {0}; +static const unsigned char kat2167_addin1[] = {0}; +static const unsigned char kat2167_retbits[] = { + 0xeb, 0x68, 0xb9, 0x98, 0x5d, 0xb9, 0xfc, 0x86, 0x54, 0xe7, 0x21, 0x9c, + 0x85, 0x99, 0xf4, 0x2e, 0xc0, 0x16, 0x4b, 0x42, 0xb5, 0xe9, 0x5a, 0x08, + 0x7c, 0x4e, 0xe8, 0xbd, 0x88, 0x98, 0xfa, 0x69, 0x54, 0x8b, 0x8c, 0x5d, + 0xa1, 0xaf, 0x2a, 0x78, 0x5f, 0x5a, 0x01, 0x49, 0xdd, 0x30, 0xc8, 0x89, + 0x22, 0x12, 0x3d, 0x44, 0x9e, 0x32, 0x4c, 0x39, 0x9d, 0xf4, 0xb5, 0x24, + 0xa3, 0x3e, 0x5a, 0x9d, +}; +static const struct drbg_kat_pr_false kat2167_t = { + 6, kat2167_entropyin, kat2167_nonce, kat2167_persstr, + kat2167_entropyinreseed, kat2167_addinreseed, kat2167_addin0, + kat2167_addin1, kat2167_retbits +}; +static const struct drbg_kat kat2167 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2167_t +}; + +static const unsigned char kat2168_entropyin[] = { + 0x47, 0x7b, 0xaa, 0xc7, 0x30, 0xe5, 0x34, 0xf2, 0xe2, 0x52, 0x5e, 0x83, + 0x71, 0x98, 0x02, 0x76, 0x4b, 0x95, 0x4a, 0xcf, 0x97, 0x32, 0xe8, 0x72, + 0x4d, 0x85, 0x6d, 0xcd, 0x12, 0x4a, 0xea, 0xc7, +}; +static const unsigned char kat2168_nonce[] = {0}; +static const unsigned char kat2168_persstr[] = {0}; +static const unsigned char kat2168_entropyinreseed[] = { + 0x44, 0x61, 0xfa, 0x9e, 0x6f, 0xb6, 0xd4, 0x82, 0x9c, 0x8b, 0x16, 0xcb, + 0xcc, 0xb1, 0x4d, 0xed, 0xee, 0x9f, 0x0d, 0x6f, 0x58, 0x83, 0x74, 0x8d, + 0x7a, 0x90, 0xf1, 0x4f, 0xef, 0x54, 0xd8, 0xcc, +}; +static const unsigned char kat2168_addinreseed[] = {0}; +static const unsigned char kat2168_addin0[] = {0}; +static const unsigned char kat2168_addin1[] = {0}; +static const unsigned char kat2168_retbits[] = { + 0x61, 0xe5, 0xd9, 0x05, 0x6d, 0x27, 0x69, 0x1f, 0x42, 0x58, 0xe8, 0x84, + 0x4a, 0x51, 0x6e, 0x97, 0x9a, 0xeb, 0x49, 0xc5, 0xd9, 0x48, 0x26, 0x82, + 0xf9, 0x14, 0xcb, 0x9b, 0x31, 0x01, 0x72, 0xed, 0x1a, 0xe1, 0xb0, 0x1b, + 0x24, 0x1b, 0x31, 0x7a, 0x59, 0xad, 0xcc, 0x94, 0x44, 0xcd, 0xd8, 0x20, + 0x4e, 0x49, 0xb8, 0xd9, 0x17, 0x89, 0x2d, 0x23, 0x72, 0x58, 0x66, 0xcd, + 0x31, 0xef, 0xf5, 0x34, +}; +static const struct drbg_kat_pr_false kat2168_t = { + 7, kat2168_entropyin, kat2168_nonce, kat2168_persstr, + kat2168_entropyinreseed, kat2168_addinreseed, kat2168_addin0, + kat2168_addin1, kat2168_retbits +}; +static const struct drbg_kat kat2168 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2168_t +}; + +static const unsigned char kat2169_entropyin[] = { + 0x94, 0xc7, 0x7e, 0xc6, 0xe2, 0x2b, 0x85, 0xee, 0xb1, 0xd2, 0x87, 0x7b, + 0x69, 0xee, 0xb5, 0x64, 0x25, 0x8c, 0x21, 0x4e, 0x9e, 0xa5, 0x7c, 0xef, + 0x69, 0xa8, 0x29, 0xbb, 0xd8, 0xb7, 0xca, 0x09, +}; +static const unsigned char kat2169_nonce[] = {0}; +static const unsigned char kat2169_persstr[] = {0}; +static const unsigned char kat2169_entropyinreseed[] = { + 0xc2, 0x26, 0x77, 0xc5, 0x70, 0xfc, 0x95, 0x91, 0x88, 0x09, 0x42, 0x9c, + 0x24, 0x08, 0x02, 0xf6, 0xb5, 0x89, 0x6c, 0x48, 0xa1, 0x30, 0xcb, 0x19, + 0xbf, 0x1c, 0x1a, 0xd4, 0x38, 0x76, 0x22, 0xdf, +}; +static const unsigned char kat2169_addinreseed[] = {0}; +static const unsigned char kat2169_addin0[] = {0}; +static const unsigned char kat2169_addin1[] = {0}; +static const unsigned char kat2169_retbits[] = { + 0x52, 0x5d, 0x69, 0xe6, 0x83, 0x9a, 0x24, 0x2a, 0x90, 0x11, 0x79, 0xbc, + 0x2e, 0x23, 0x9e, 0xc3, 0x72, 0x26, 0x31, 0x9a, 0x34, 0x64, 0xb2, 0xaa, + 0x42, 0x1c, 0x9b, 0x5f, 0xf4, 0xc9, 0xd6, 0x71, 0x7e, 0x5b, 0x4a, 0xd4, + 0x2c, 0x91, 0x3c, 0x53, 0x29, 0x05, 0x69, 0x8d, 0xee, 0x3b, 0x82, 0x09, + 0xf2, 0xe2, 0x27, 0xae, 0x4f, 0x74, 0x8d, 0xeb, 0x3c, 0xe8, 0xd2, 0x17, + 0x46, 0xb5, 0x85, 0xbd, +}; +static const struct drbg_kat_pr_false kat2169_t = { + 8, kat2169_entropyin, kat2169_nonce, kat2169_persstr, + kat2169_entropyinreseed, kat2169_addinreseed, kat2169_addin0, + kat2169_addin1, kat2169_retbits +}; +static const struct drbg_kat kat2169 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2169_t +}; + +static const unsigned char kat2170_entropyin[] = { + 0x0e, 0x55, 0x85, 0xe1, 0x0c, 0xed, 0xd8, 0x96, 0x79, 0x2e, 0x2b, 0x91, + 0x8b, 0x2c, 0xb0, 0xa3, 0x78, 0x44, 0xb6, 0x4c, 0x86, 0x2c, 0x28, 0x3d, + 0x76, 0xc9, 0x70, 0x55, 0xc8, 0x8d, 0x70, 0x2b, +}; +static const unsigned char kat2170_nonce[] = {0}; +static const unsigned char kat2170_persstr[] = {0}; +static const unsigned char kat2170_entropyinreseed[] = { + 0x87, 0x44, 0x5a, 0x1a, 0xde, 0x00, 0x2d, 0x1f, 0x0f, 0x49, 0xd6, 0x4b, + 0xda, 0x4c, 0x8c, 0xa4, 0x27, 0x22, 0x5f, 0xf5, 0x6f, 0x37, 0x1a, 0x20, + 0xbd, 0x8a, 0x5a, 0x3b, 0xd3, 0x5f, 0xc5, 0x68, +}; +static const unsigned char kat2170_addinreseed[] = {0}; +static const unsigned char kat2170_addin0[] = {0}; +static const unsigned char kat2170_addin1[] = {0}; +static const unsigned char kat2170_retbits[] = { + 0x83, 0x06, 0x7b, 0x4a, 0x57, 0xa5, 0xf6, 0xba, 0x41, 0x8a, 0x98, 0x99, + 0x6e, 0xb1, 0x02, 0x32, 0x9d, 0x6b, 0xdc, 0x4e, 0x1d, 0xfb, 0x12, 0x54, + 0x68, 0xf1, 0xf8, 0xab, 0x36, 0xd0, 0x07, 0x32, 0x59, 0x7d, 0xe5, 0x68, + 0xc1, 0x7c, 0xae, 0x34, 0x12, 0xc9, 0xeb, 0xfa, 0xe0, 0x83, 0x77, 0xca, + 0x19, 0x40, 0x6b, 0x1a, 0xbc, 0x5e, 0x10, 0xbe, 0x5d, 0xbe, 0xac, 0xf3, + 0x83, 0x9b, 0xcf, 0x43, +}; +static const struct drbg_kat_pr_false kat2170_t = { + 9, kat2170_entropyin, kat2170_nonce, kat2170_persstr, + kat2170_entropyinreseed, kat2170_addinreseed, kat2170_addin0, + kat2170_addin1, kat2170_retbits +}; +static const struct drbg_kat kat2170 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2170_t +}; + +static const unsigned char kat2171_entropyin[] = { + 0x01, 0xd9, 0xf6, 0x24, 0x69, 0x36, 0xee, 0x66, 0x82, 0xe5, 0xcb, 0x84, + 0x0a, 0x39, 0x46, 0x28, 0xc7, 0x9d, 0x0d, 0x74, 0xc8, 0x98, 0xc7, 0x3c, + 0xac, 0x25, 0x15, 0xed, 0x9e, 0x05, 0x30, 0x3b, +}; +static const unsigned char kat2171_nonce[] = {0}; +static const unsigned char kat2171_persstr[] = {0}; +static const unsigned char kat2171_entropyinreseed[] = { + 0xe2, 0xae, 0x7e, 0x8d, 0x2e, 0x3a, 0x18, 0x29, 0x36, 0x89, 0x1c, 0x06, + 0x67, 0x51, 0xd4, 0x0d, 0xd6, 0xc9, 0x2e, 0xbe, 0x14, 0x6d, 0xd1, 0x3d, + 0x4e, 0x07, 0x65, 0x91, 0xd7, 0xd6, 0x3f, 0x8d, +}; +static const unsigned char kat2171_addinreseed[] = {0}; +static const unsigned char kat2171_addin0[] = {0}; +static const unsigned char kat2171_addin1[] = {0}; +static const unsigned char kat2171_retbits[] = { + 0x1c, 0xe0, 0x4a, 0x78, 0xac, 0x2d, 0x53, 0xdb, 0x46, 0xa1, 0xbb, 0x92, + 0x40, 0xd4, 0x7f, 0x37, 0x13, 0x4c, 0xa7, 0xa2, 0x82, 0x6c, 0x09, 0xce, + 0xb4, 0x8d, 0x53, 0x3d, 0x64, 0x5b, 0xb0, 0x87, 0xbf, 0xb7, 0x7b, 0x18, + 0xf9, 0xaa, 0xfd, 0x1c, 0xf1, 0x72, 0x7a, 0xd4, 0x8a, 0xed, 0xe2, 0x07, + 0xf4, 0x90, 0xbf, 0x53, 0xe1, 0xe1, 0x9f, 0x9f, 0x06, 0x61, 0x5d, 0xd9, + 0x37, 0x07, 0x3c, 0x11, +}; +static const struct drbg_kat_pr_false kat2171_t = { + 10, kat2171_entropyin, kat2171_nonce, kat2171_persstr, + kat2171_entropyinreseed, kat2171_addinreseed, kat2171_addin0, + kat2171_addin1, kat2171_retbits +}; +static const struct drbg_kat kat2171 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2171_t +}; + +static const unsigned char kat2172_entropyin[] = { + 0xc9, 0x11, 0x89, 0x66, 0x9a, 0xab, 0x97, 0x3c, 0x92, 0xc9, 0xa7, 0x1f, + 0xd6, 0x8d, 0xb2, 0x53, 0xd2, 0xad, 0xee, 0x1c, 0xbf, 0x25, 0xbd, 0x6a, + 0x4a, 0x1f, 0xa6, 0x69, 0xf7, 0xd0, 0x6e, 0x35, +}; +static const unsigned char kat2172_nonce[] = {0}; +static const unsigned char kat2172_persstr[] = {0}; +static const unsigned char kat2172_entropyinreseed[] = { + 0xb7, 0x6f, 0x39, 0x31, 0x10, 0x0b, 0x65, 0x8f, 0xc0, 0x64, 0xa1, 0xcd, + 0x21, 0xcb, 0x75, 0x1d, 0x57, 0x70, 0x8f, 0x71, 0xe9, 0x03, 0xbf, 0x79, + 0x08, 0xa8, 0x06, 0x16, 0xfa, 0x7e, 0x5b, 0xcf, +}; +static const unsigned char kat2172_addinreseed[] = {0}; +static const unsigned char kat2172_addin0[] = {0}; +static const unsigned char kat2172_addin1[] = {0}; +static const unsigned char kat2172_retbits[] = { + 0x86, 0xa5, 0x97, 0x07, 0xf4, 0x3f, 0x09, 0xdf, 0x04, 0xd0, 0x60, 0xe9, + 0xad, 0x08, 0x0f, 0x2d, 0x95, 0x84, 0xdc, 0x33, 0xc8, 0xf2, 0xde, 0x97, + 0x33, 0x75, 0x1d, 0xe4, 0xae, 0x17, 0xda, 0x5a, 0xc9, 0x3a, 0xd9, 0xf7, + 0xe3, 0x04, 0x39, 0x01, 0x37, 0x32, 0x52, 0x16, 0xf3, 0x7c, 0x77, 0xa7, + 0x12, 0xb6, 0x75, 0x6e, 0x6f, 0xfa, 0x38, 0x2b, 0x63, 0x49, 0x5e, 0xeb, + 0x80, 0x33, 0x24, 0x56, +}; +static const struct drbg_kat_pr_false kat2172_t = { + 11, kat2172_entropyin, kat2172_nonce, kat2172_persstr, + kat2172_entropyinreseed, kat2172_addinreseed, kat2172_addin0, + kat2172_addin1, kat2172_retbits +}; +static const struct drbg_kat kat2172 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2172_t +}; + +static const unsigned char kat2173_entropyin[] = { + 0xb0, 0xc3, 0x5b, 0xba, 0x01, 0x04, 0x33, 0x98, 0x44, 0x3d, 0x68, 0xdf, + 0xe2, 0xc8, 0x89, 0x89, 0x33, 0xce, 0x58, 0xb9, 0x8a, 0x59, 0x80, 0x64, + 0xb7, 0x6d, 0x09, 0x5c, 0x30, 0x07, 0x4b, 0xf6, +}; +static const unsigned char kat2173_nonce[] = {0}; +static const unsigned char kat2173_persstr[] = {0}; +static const unsigned char kat2173_entropyinreseed[] = { + 0x02, 0xfd, 0xeb, 0x64, 0xd0, 0x97, 0x39, 0x96, 0xa8, 0xa8, 0xa0, 0x62, + 0x90, 0x26, 0xf5, 0x6c, 0xbb, 0xb9, 0x1f, 0xca, 0x34, 0xb8, 0xf5, 0x0e, + 0xc0, 0x59, 0xe7, 0x46, 0xd4, 0xb2, 0x0b, 0x1a, +}; +static const unsigned char kat2173_addinreseed[] = {0}; +static const unsigned char kat2173_addin0[] = {0}; +static const unsigned char kat2173_addin1[] = {0}; +static const unsigned char kat2173_retbits[] = { + 0xa3, 0xdc, 0xfd, 0x35, 0x47, 0x81, 0x4b, 0x54, 0x39, 0xdd, 0x5c, 0xc6, + 0x17, 0x8c, 0x66, 0x32, 0xcc, 0xcd, 0x81, 0xfc, 0xc3, 0x4b, 0x8f, 0x9c, + 0x9c, 0xeb, 0x52, 0xc2, 0x3e, 0xfd, 0xd1, 0x8b, 0xb4, 0x87, 0x3b, 0x97, + 0xad, 0xe5, 0x3c, 0x54, 0x82, 0x4c, 0x87, 0x68, 0xdf, 0x0e, 0x99, 0x87, + 0xec, 0xfa, 0x96, 0x35, 0xe1, 0xba, 0x39, 0x44, 0xd8, 0x69, 0x4f, 0x7c, + 0xa8, 0xc5, 0x1f, 0xac, +}; +static const struct drbg_kat_pr_false kat2173_t = { + 12, kat2173_entropyin, kat2173_nonce, kat2173_persstr, + kat2173_entropyinreseed, kat2173_addinreseed, kat2173_addin0, + kat2173_addin1, kat2173_retbits +}; +static const struct drbg_kat kat2173 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2173_t +}; + +static const unsigned char kat2174_entropyin[] = { + 0x56, 0x9f, 0x3b, 0x21, 0xf1, 0xb8, 0x0c, 0x6c, 0x51, 0x70, 0x30, 0xf5, + 0x1c, 0xb8, 0x18, 0x66, 0xcd, 0xa2, 0x4a, 0xc1, 0x68, 0xa9, 0x9b, 0x4e, + 0x5e, 0x96, 0x34, 0xd0, 0xb1, 0x6a, 0xc0, 0xa1, +}; +static const unsigned char kat2174_nonce[] = {0}; +static const unsigned char kat2174_persstr[] = {0}; +static const unsigned char kat2174_entropyinreseed[] = { + 0x0d, 0x66, 0x25, 0xc6, 0xe5, 0x10, 0x22, 0x16, 0xd4, 0xe0, 0xe5, 0xe6, + 0x17, 0x1d, 0x8e, 0xe2, 0x60, 0xca, 0xcd, 0xe6, 0xbd, 0xb5, 0xb0, 0x82, + 0xcb, 0x9b, 0xcf, 0xe9, 0x6b, 0x67, 0x98, 0x6e, +}; +static const unsigned char kat2174_addinreseed[] = {0}; +static const unsigned char kat2174_addin0[] = {0}; +static const unsigned char kat2174_addin1[] = {0}; +static const unsigned char kat2174_retbits[] = { + 0x00, 0x6b, 0xe6, 0xcb, 0xd8, 0x66, 0xe2, 0x75, 0xd9, 0x7c, 0xc4, 0x99, + 0x81, 0x3f, 0x46, 0x25, 0x87, 0xf9, 0x38, 0x05, 0x4d, 0x73, 0x3f, 0xf2, + 0x09, 0xd3, 0x03, 0x5f, 0xde, 0x3e, 0x2d, 0x69, 0x15, 0xcf, 0x6c, 0xa3, + 0x34, 0x2d, 0x90, 0x64, 0xdf, 0x7a, 0xc8, 0x07, 0x5b, 0x3f, 0x54, 0xf8, + 0x7b, 0x35, 0xcd, 0x9b, 0x4e, 0xbc, 0x56, 0x83, 0x5a, 0x9e, 0xa2, 0x55, + 0x7d, 0x8e, 0x15, 0x4b, +}; +static const struct drbg_kat_pr_false kat2174_t = { + 13, kat2174_entropyin, kat2174_nonce, kat2174_persstr, + kat2174_entropyinreseed, kat2174_addinreseed, kat2174_addin0, + kat2174_addin1, kat2174_retbits +}; +static const struct drbg_kat kat2174 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2174_t +}; + +static const unsigned char kat2175_entropyin[] = { + 0x8e, 0xcd, 0xbf, 0x1c, 0xba, 0x26, 0xea, 0xe4, 0x5f, 0x70, 0xcc, 0xfe, + 0xc0, 0xe4, 0x2d, 0x61, 0x39, 0xbe, 0x57, 0xf1, 0x31, 0xff, 0x60, 0x89, + 0x8a, 0x3b, 0x63, 0x96, 0x8a, 0xcf, 0x28, 0xac, +}; +static const unsigned char kat2175_nonce[] = {0}; +static const unsigned char kat2175_persstr[] = {0}; +static const unsigned char kat2175_entropyinreseed[] = { + 0x8d, 0x86, 0x0d, 0xcf, 0x67, 0xfb, 0xee, 0x47, 0xf3, 0x3e, 0xd5, 0x27, + 0x3f, 0xf8, 0x19, 0x56, 0x33, 0x5d, 0x91, 0x52, 0x08, 0x5f, 0x18, 0x4f, + 0x84, 0x27, 0xad, 0x42, 0x34, 0xf9, 0x56, 0x61, +}; +static const unsigned char kat2175_addinreseed[] = {0}; +static const unsigned char kat2175_addin0[] = {0}; +static const unsigned char kat2175_addin1[] = {0}; +static const unsigned char kat2175_retbits[] = { + 0x80, 0x49, 0xf3, 0xfe, 0x2e, 0x62, 0x88, 0x3f, 0x71, 0xcc, 0x43, 0x87, + 0x3b, 0x97, 0x75, 0xbf, 0x60, 0xa9, 0x7c, 0x07, 0x03, 0x70, 0xf9, 0x75, + 0x7c, 0x51, 0x48, 0x8b, 0x05, 0x0c, 0x00, 0x95, 0x9d, 0x08, 0x5d, 0xdd, + 0x8f, 0x8e, 0x37, 0x02, 0xaa, 0x4c, 0xd6, 0xff, 0x19, 0xb6, 0xc6, 0x26, + 0x85, 0xaf, 0xb7, 0x79, 0x2e, 0xb0, 0x03, 0xc0, 0x7b, 0xbc, 0xc9, 0xf4, + 0xa0, 0x26, 0xd1, 0x38, +}; +static const struct drbg_kat_pr_false kat2175_t = { + 14, kat2175_entropyin, kat2175_nonce, kat2175_persstr, + kat2175_entropyinreseed, kat2175_addinreseed, kat2175_addin0, + kat2175_addin1, kat2175_retbits +}; +static const struct drbg_kat kat2175 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2175_t +}; + +static const unsigned char kat2176_entropyin[] = { + 0x6b, 0xc7, 0x09, 0xaa, 0x4c, 0x97, 0x5b, 0x0e, 0xcc, 0xb9, 0x22, 0xce, + 0x21, 0x10, 0xfa, 0x9b, 0x57, 0x24, 0x03, 0xf9, 0x01, 0x3d, 0xfd, 0x10, + 0xf0, 0x6a, 0x88, 0xd5, 0x4d, 0x38, 0x00, 0x02, +}; +static const unsigned char kat2176_nonce[] = {0}; +static const unsigned char kat2176_persstr[] = {0}; +static const unsigned char kat2176_entropyinreseed[] = { + 0xcf, 0x1a, 0xf8, 0x4e, 0xdd, 0xd5, 0xbe, 0xf6, 0x66, 0xea, 0x42, 0xbe, + 0xa6, 0x06, 0x7a, 0x23, 0xe5, 0x27, 0x42, 0xe2, 0x46, 0x61, 0xf9, 0x44, + 0xba, 0x25, 0x14, 0xfe, 0x05, 0x2a, 0xbf, 0x31, +}; +static const unsigned char kat2176_addinreseed[] = { + 0xa4, 0x69, 0x88, 0xba, 0xd4, 0x9b, 0x78, 0xc6, 0x13, 0xc9, 0x4e, 0x06, + 0xa5, 0x3b, 0x08, 0x0b, 0xf6, 0xd2, 0x0b, 0x73, 0x85, 0xbf, 0x4c, 0x78, + 0x2a, 0xd7, 0xcd, 0x14, 0x5d, 0xdc, 0x90, 0x53, +}; +static const unsigned char kat2176_addin0[] = { + 0x13, 0x9d, 0x6f, 0x72, 0xbf, 0x1d, 0x0e, 0xc5, 0xbf, 0xdd, 0x24, 0x5e, + 0x01, 0x3f, 0x5c, 0xda, 0xc8, 0x5e, 0x3e, 0xca, 0x71, 0x61, 0x96, 0x01, + 0x8b, 0x92, 0x13, 0x3c, 0x00, 0xa0, 0x74, 0x36, +}; +static const unsigned char kat2176_addin1[] = { + 0x24, 0x0f, 0x1a, 0x5a, 0xf7, 0xfc, 0x2e, 0x4d, 0x32, 0xac, 0xe6, 0x35, + 0xac, 0xba, 0x59, 0x47, 0xf3, 0x56, 0x4e, 0xcb, 0xfd, 0x75, 0x16, 0xc4, + 0x79, 0xc0, 0xad, 0xda, 0x20, 0x74, 0x7f, 0x26, +}; +static const unsigned char kat2176_retbits[] = { + 0xe7, 0x27, 0x26, 0x8a, 0x54, 0x6c, 0x0c, 0x89, 0x1c, 0xf5, 0x3a, 0x70, + 0xa9, 0x28, 0x20, 0xee, 0x9b, 0xbf, 0x72, 0x8a, 0xd5, 0x2f, 0x30, 0x62, + 0x5b, 0x2e, 0x28, 0xf0, 0xf6, 0xc9, 0x06, 0xf6, 0x0f, 0xfd, 0x02, 0xf7, + 0xd8, 0x16, 0x23, 0x29, 0x59, 0x50, 0xc0, 0x4b, 0x63, 0xa4, 0x86, 0x34, + 0xeb, 0x41, 0xa5, 0xb4, 0xd6, 0x49, 0xbd, 0xab, 0xff, 0x33, 0x5a, 0xc3, + 0x20, 0x06, 0x90, 0xb0, +}; +static const struct drbg_kat_pr_false kat2176_t = { + 0, kat2176_entropyin, kat2176_nonce, kat2176_persstr, + kat2176_entropyinreseed, kat2176_addinreseed, kat2176_addin0, + kat2176_addin1, kat2176_retbits +}; +static const struct drbg_kat kat2176 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2176_t +}; + +static const unsigned char kat2177_entropyin[] = { + 0x7b, 0x8f, 0x45, 0x57, 0xe7, 0x8f, 0x17, 0x5c, 0x2a, 0x82, 0xb5, 0x62, + 0xc8, 0x59, 0x5a, 0xea, 0xd7, 0x5e, 0x6d, 0x6e, 0xae, 0xa8, 0x7b, 0xe0, + 0x96, 0x5a, 0xac, 0x1f, 0x92, 0x34, 0x73, 0x06, +}; +static const unsigned char kat2177_nonce[] = {0}; +static const unsigned char kat2177_persstr[] = {0}; +static const unsigned char kat2177_entropyinreseed[] = { + 0x2b, 0x6a, 0xf9, 0x8e, 0x7e, 0x95, 0x09, 0x6f, 0xc3, 0xb8, 0xd2, 0xe2, + 0x26, 0xed, 0x4b, 0x1b, 0xe7, 0x77, 0xc3, 0x1b, 0x81, 0x06, 0xa9, 0x00, + 0x27, 0x05, 0x2e, 0xcd, 0xec, 0x17, 0xbc, 0x94, +}; +static const unsigned char kat2177_addinreseed[] = { + 0x64, 0xdf, 0xaa, 0xa7, 0x19, 0x78, 0x75, 0x9f, 0xc2, 0xa0, 0xee, 0x73, + 0xae, 0xb4, 0x48, 0x95, 0xef, 0x09, 0xc9, 0x36, 0x38, 0xab, 0xf9, 0x9c, + 0xd4, 0xec, 0x99, 0xff, 0xa0, 0xfb, 0x94, 0x06, +}; +static const unsigned char kat2177_addin0[] = { + 0xc0, 0xe5, 0xaa, 0x51, 0xf0, 0x54, 0x95, 0xfc, 0x74, 0x38, 0xae, 0xb9, + 0x53, 0xb6, 0x16, 0x27, 0xfa, 0xbb, 0xd1, 0x48, 0xa9, 0x95, 0x9b, 0xf8, + 0x73, 0xbb, 0x87, 0xea, 0x00, 0x5f, 0x05, 0x5c, +}; +static const unsigned char kat2177_addin1[] = { + 0x69, 0x20, 0x02, 0x63, 0x79, 0x8a, 0x7d, 0x17, 0x4c, 0x1e, 0x36, 0x69, + 0xab, 0xef, 0x91, 0x4b, 0x86, 0x63, 0xe3, 0xf9, 0x99, 0x8c, 0x71, 0x1f, + 0x0d, 0xc0, 0x66, 0x78, 0x91, 0x8e, 0x80, 0x63, +}; +static const unsigned char kat2177_retbits[] = { + 0x45, 0x39, 0x7a, 0x1d, 0x05, 0xd6, 0xc2, 0xc0, 0x82, 0xf7, 0x36, 0xae, + 0x77, 0xf1, 0x16, 0xd7, 0xbf, 0x54, 0x3b, 0x78, 0xad, 0x3b, 0xa4, 0xbf, + 0x39, 0xab, 0xea, 0xb7, 0xa9, 0x64, 0xef, 0x9d, 0xa3, 0x1d, 0x6e, 0x8c, + 0x5d, 0xec, 0x8e, 0x9e, 0x52, 0x47, 0x76, 0x65, 0x59, 0xb0, 0x3f, 0xb9, + 0x8c, 0x61, 0x98, 0x90, 0xd4, 0x09, 0x68, 0xb9, 0xab, 0x3c, 0x99, 0x51, + 0xdd, 0x6b, 0xf4, 0x8f, +}; +static const struct drbg_kat_pr_false kat2177_t = { + 1, kat2177_entropyin, kat2177_nonce, kat2177_persstr, + kat2177_entropyinreseed, kat2177_addinreseed, kat2177_addin0, + kat2177_addin1, kat2177_retbits +}; +static const struct drbg_kat kat2177 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2177_t +}; + +static const unsigned char kat2178_entropyin[] = { + 0xaa, 0x47, 0x40, 0xe7, 0x5b, 0x0b, 0x71, 0x42, 0xa1, 0x7c, 0xbe, 0x32, + 0xe0, 0xf9, 0xf8, 0x23, 0xc5, 0xc3, 0xea, 0xcb, 0x7a, 0xc8, 0xfc, 0xbd, + 0xcb, 0xbf, 0xb3, 0x46, 0x0c, 0x5b, 0xff, 0x92, +}; +static const unsigned char kat2178_nonce[] = {0}; +static const unsigned char kat2178_persstr[] = {0}; +static const unsigned char kat2178_entropyinreseed[] = { + 0x1f, 0x34, 0x65, 0x09, 0xf7, 0x64, 0x19, 0xad, 0x21, 0xf4, 0x81, 0x2e, + 0xf3, 0x8b, 0x66, 0xeb, 0x1a, 0xb2, 0x27, 0x73, 0x38, 0xdb, 0x56, 0xf3, + 0xe3, 0x07, 0xad, 0xf4, 0xee, 0x55, 0xf0, 0x2f, +}; +static const unsigned char kat2178_addinreseed[] = { + 0x51, 0xbf, 0xe5, 0x8d, 0xcb, 0x44, 0x08, 0xd5, 0xdb, 0x8b, 0x8c, 0x0c, + 0xf9, 0x7d, 0x8c, 0xfb, 0xb0, 0x8d, 0xa2, 0xda, 0x4a, 0x6e, 0x11, 0xe9, + 0x02, 0x32, 0xad, 0xf6, 0xa9, 0x38, 0xba, 0x9d, +}; +static const unsigned char kat2178_addin0[] = { + 0x46, 0x40, 0xae, 0xd4, 0x19, 0xd8, 0x07, 0x57, 0x15, 0x14, 0x28, 0xdf, + 0xd1, 0x8c, 0x6d, 0x2a, 0x11, 0x91, 0xf0, 0xab, 0xa9, 0xe5, 0xa1, 0xd9, + 0xab, 0x62, 0x9a, 0xc0, 0x03, 0x5c, 0x1e, 0xd0, +}; +static const unsigned char kat2178_addin1[] = { + 0x38, 0x8f, 0xcd, 0x2d, 0x71, 0x27, 0x79, 0x2a, 0x87, 0x75, 0x6e, 0xb3, + 0xfd, 0x7b, 0x31, 0x3a, 0x7e, 0x41, 0xc2, 0xf8, 0x75, 0x43, 0xf3, 0xce, + 0x23, 0x15, 0xe3, 0x4f, 0x2d, 0x9e, 0x4c, 0x5a, +}; +static const unsigned char kat2178_retbits[] = { + 0xba, 0x44, 0x88, 0x69, 0xc1, 0x05, 0x29, 0x4c, 0xf9, 0x1b, 0xa7, 0x39, + 0x34, 0x9b, 0x74, 0xfb, 0xc2, 0x9d, 0x02, 0x1d, 0xa1, 0x47, 0x66, 0x2f, + 0xa1, 0x36, 0xd8, 0x89, 0x7e, 0xb8, 0x64, 0x21, 0xb5, 0x3f, 0xac, 0xfc, + 0x70, 0x9f, 0x7b, 0xc2, 0xa1, 0x92, 0x37, 0xea, 0xec, 0x53, 0xb2, 0xd4, + 0x48, 0xb9, 0x4f, 0x96, 0xc3, 0x7d, 0xc6, 0x97, 0x34, 0x9d, 0xc9, 0xa3, + 0x90, 0x17, 0xeb, 0x2e, +}; +static const struct drbg_kat_pr_false kat2178_t = { + 2, kat2178_entropyin, kat2178_nonce, kat2178_persstr, + kat2178_entropyinreseed, kat2178_addinreseed, kat2178_addin0, + kat2178_addin1, kat2178_retbits +}; +static const struct drbg_kat kat2178 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2178_t +}; + +static const unsigned char kat2179_entropyin[] = { + 0x82, 0x6c, 0x95, 0x14, 0x64, 0x51, 0x14, 0x70, 0xd1, 0x56, 0x0d, 0xf8, + 0x08, 0x8a, 0x04, 0x96, 0xa9, 0x6f, 0xae, 0x1b, 0xc7, 0x17, 0x15, 0x45, + 0x80, 0xfb, 0xbb, 0x63, 0xbd, 0x06, 0xea, 0x92, +}; +static const unsigned char kat2179_nonce[] = {0}; +static const unsigned char kat2179_persstr[] = {0}; +static const unsigned char kat2179_entropyinreseed[] = { + 0xa0, 0xcb, 0x04, 0x42, 0x58, 0x78, 0x4e, 0x90, 0x70, 0xcf, 0x17, 0xfb, + 0xc9, 0xda, 0xb6, 0x00, 0x64, 0x91, 0x52, 0xb9, 0xca, 0x86, 0x6f, 0x24, + 0x44, 0x7c, 0xb9, 0x2c, 0x29, 0x01, 0xf5, 0xd2, +}; +static const unsigned char kat2179_addinreseed[] = { + 0x65, 0x6f, 0x0b, 0xb0, 0x3f, 0x2c, 0x75, 0xd8, 0xa9, 0xbe, 0xb0, 0x49, + 0xef, 0xfd, 0xe2, 0x03, 0x2b, 0xbb, 0xf0, 0xb5, 0x08, 0x65, 0xc5, 0x2c, + 0xf0, 0x5f, 0xb4, 0xf4, 0xb3, 0xc1, 0x8d, 0x92, +}; +static const unsigned char kat2179_addin0[] = { + 0x0f, 0xcf, 0xe1, 0x83, 0x97, 0x05, 0x6b, 0x1c, 0x98, 0xa9, 0x90, 0x30, + 0x11, 0x68, 0x3d, 0xa1, 0x2e, 0x51, 0x71, 0x7c, 0xd8, 0x13, 0xe8, 0xb6, + 0xf0, 0xed, 0x88, 0xf3, 0x77, 0xbd, 0x5e, 0x0f, +}; +static const unsigned char kat2179_addin1[] = { + 0x0d, 0x6d, 0xc8, 0x35, 0xa7, 0x16, 0xa8, 0x69, 0xd7, 0x3c, 0x1c, 0xf7, + 0x80, 0xc0, 0x25, 0xc2, 0x6a, 0x77, 0x86, 0xf8, 0x37, 0x2b, 0x01, 0x57, + 0x0e, 0x89, 0x58, 0x7a, 0xce, 0xfa, 0x45, 0x35, +}; +static const unsigned char kat2179_retbits[] = { + 0x77, 0x25, 0x16, 0x61, 0x20, 0x0d, 0xc4, 0xcb, 0x73, 0x96, 0xd4, 0x64, + 0x55, 0xc1, 0x45, 0x82, 0xbb, 0xc1, 0xc6, 0xcf, 0x61, 0x3a, 0xa4, 0x13, + 0xe4, 0x06, 0x9b, 0xf8, 0xfc, 0x4f, 0x01, 0xf4, 0xef, 0xee, 0xcf, 0x11, + 0x21, 0xe0, 0xa5, 0x04, 0x1e, 0xf4, 0x78, 0x5d, 0x73, 0xfa, 0xc3, 0x2b, + 0x0e, 0xf0, 0x8a, 0x0c, 0x13, 0xf9, 0x16, 0x4d, 0x7d, 0x74, 0xc0, 0xd6, + 0x96, 0xb7, 0x1d, 0x18, +}; +static const struct drbg_kat_pr_false kat2179_t = { + 3, kat2179_entropyin, kat2179_nonce, kat2179_persstr, + kat2179_entropyinreseed, kat2179_addinreseed, kat2179_addin0, + kat2179_addin1, kat2179_retbits +}; +static const struct drbg_kat kat2179 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2179_t +}; + +static const unsigned char kat2180_entropyin[] = { + 0xf5, 0x02, 0xec, 0x7c, 0x3e, 0x46, 0x21, 0x73, 0x86, 0x7d, 0xb8, 0x28, + 0x22, 0x04, 0x71, 0x25, 0xdc, 0x7b, 0xde, 0x93, 0x13, 0x27, 0x34, 0xc1, + 0xf0, 0xf2, 0xdc, 0xec, 0x6b, 0xb7, 0x4e, 0x33, +}; +static const unsigned char kat2180_nonce[] = {0}; +static const unsigned char kat2180_persstr[] = {0}; +static const unsigned char kat2180_entropyinreseed[] = { + 0x14, 0x9c, 0x7a, 0xc7, 0x40, 0xfa, 0x5d, 0x05, 0xa7, 0xbd, 0xbb, 0x98, + 0x00, 0x86, 0xa9, 0xda, 0x1e, 0xef, 0x54, 0x1b, 0xee, 0xce, 0x75, 0xce, + 0xae, 0x41, 0x81, 0xba, 0xb3, 0x6b, 0x8f, 0x84, +}; +static const unsigned char kat2180_addinreseed[] = { + 0x43, 0xed, 0xd5, 0xa2, 0x93, 0xa3, 0x6a, 0xd0, 0x77, 0xb9, 0x0a, 0x0f, + 0x72, 0xf4, 0xd1, 0x66, 0x1f, 0xdc, 0x12, 0x62, 0xb5, 0x29, 0x3f, 0xeb, + 0x9d, 0xad, 0xe5, 0x65, 0x10, 0xea, 0x23, 0xbf, +}; +static const unsigned char kat2180_addin0[] = { + 0x12, 0x14, 0x95, 0xce, 0x1c, 0x78, 0xf2, 0x05, 0xe2, 0x43, 0xe5, 0xf5, + 0x08, 0xc9, 0xdb, 0x04, 0x57, 0x4d, 0xc6, 0x87, 0x82, 0x0f, 0xe2, 0xe1, + 0xf8, 0x70, 0x10, 0xf2, 0x3c, 0x2b, 0x42, 0xfb, +}; +static const unsigned char kat2180_addin1[] = { + 0xf0, 0x35, 0xe4, 0x97, 0x6c, 0x99, 0x73, 0x2e, 0x11, 0x5b, 0xb4, 0x52, + 0x7d, 0x64, 0x22, 0xc6, 0x47, 0xbb, 0x03, 0x23, 0xc0, 0x12, 0x1f, 0x1a, + 0x4d, 0x42, 0x08, 0xfa, 0xbd, 0xd5, 0x6f, 0x9d, +}; +static const unsigned char kat2180_retbits[] = { + 0x6b, 0x07, 0xa2, 0x98, 0x8a, 0x03, 0x69, 0x85, 0x91, 0xe0, 0x06, 0x63, + 0x37, 0x10, 0x41, 0x70, 0x6e, 0x72, 0x00, 0xe1, 0xa8, 0x19, 0xae, 0xa7, + 0xf6, 0x4e, 0x34, 0xa7, 0x7d, 0xed, 0x25, 0x04, 0x96, 0x51, 0x67, 0xb8, + 0x80, 0x4e, 0x6e, 0x77, 0xe9, 0x00, 0xf1, 0xb7, 0x8c, 0x0b, 0x8d, 0x59, + 0x45, 0xba, 0xb0, 0xc1, 0xec, 0xc3, 0x53, 0x22, 0x93, 0x21, 0x5f, 0xa4, + 0x05, 0x07, 0xd4, 0x57, +}; +static const struct drbg_kat_pr_false kat2180_t = { + 4, kat2180_entropyin, kat2180_nonce, kat2180_persstr, + kat2180_entropyinreseed, kat2180_addinreseed, kat2180_addin0, + kat2180_addin1, kat2180_retbits +}; +static const struct drbg_kat kat2180 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2180_t +}; + +static const unsigned char kat2181_entropyin[] = { + 0xe3, 0x1d, 0x0f, 0x4f, 0xc1, 0xa2, 0xb5, 0xbf, 0xa6, 0xda, 0x7d, 0xfa, + 0xd1, 0xa8, 0xdf, 0x6f, 0x90, 0x94, 0xa5, 0x65, 0xe0, 0x27, 0x3b, 0xc6, + 0x36, 0xbe, 0x46, 0x0c, 0x96, 0x38, 0xe7, 0x6f, +}; +static const unsigned char kat2181_nonce[] = {0}; +static const unsigned char kat2181_persstr[] = {0}; +static const unsigned char kat2181_entropyinreseed[] = { + 0xe0, 0x68, 0x17, 0x05, 0x54, 0x74, 0xec, 0xfb, 0xd8, 0xe3, 0x03, 0xff, + 0xac, 0x10, 0x18, 0xda, 0x76, 0xfe, 0x47, 0x0a, 0x55, 0x72, 0x5a, 0xfd, + 0xf8, 0x1e, 0xb4, 0x71, 0xbf, 0x6e, 0x75, 0x93, +}; +static const unsigned char kat2181_addinreseed[] = { + 0xec, 0x0c, 0x81, 0x82, 0xa0, 0x40, 0x74, 0x03, 0x5f, 0x28, 0x74, 0x70, + 0xf4, 0x97, 0x41, 0xad, 0xf1, 0x0e, 0xce, 0xcc, 0x69, 0x8c, 0x38, 0x0d, + 0xb6, 0x7b, 0xd2, 0xed, 0x23, 0x35, 0xf2, 0x9b, +}; +static const unsigned char kat2181_addin0[] = { + 0x23, 0x14, 0x3e, 0xf3, 0x07, 0x85, 0xda, 0x8a, 0x40, 0x78, 0xd7, 0x17, + 0x35, 0x49, 0xf4, 0x2d, 0xc5, 0x3f, 0xa7, 0xa6, 0xcc, 0x12, 0xe7, 0x75, + 0x36, 0x1d, 0x16, 0xca, 0x9d, 0x8b, 0xfa, 0xc8, +}; +static const unsigned char kat2181_addin1[] = { + 0x61, 0x5b, 0xfb, 0x9c, 0x06, 0x51, 0x10, 0x23, 0x26, 0xef, 0x1c, 0x1e, + 0xb6, 0xce, 0xd7, 0xb3, 0xf8, 0x7d, 0x40, 0x26, 0x83, 0x5e, 0x79, 0x6a, + 0xda, 0xbc, 0x05, 0xa0, 0x4e, 0x05, 0x50, 0xb6, +}; +static const unsigned char kat2181_retbits[] = { + 0xcd, 0xfb, 0xcb, 0xf0, 0x69, 0x94, 0xfc, 0x9a, 0xa1, 0xfb, 0x5e, 0xbb, + 0xb8, 0xba, 0x47, 0x40, 0xc8, 0x6f, 0xf6, 0xce, 0x7a, 0xdd, 0xe7, 0x35, + 0x89, 0xbd, 0xe8, 0x80, 0x06, 0xda, 0xf2, 0x4f, 0x36, 0xb9, 0x82, 0xdf, + 0xc0, 0x68, 0xa1, 0x34, 0x78, 0x37, 0x74, 0x57, 0x69, 0xa7, 0x67, 0xe4, + 0xbd, 0x41, 0x41, 0x75, 0x68, 0xe8, 0x96, 0xe1, 0xb6, 0x9b, 0x63, 0xff, + 0x8f, 0xf2, 0x59, 0x23, +}; +static const struct drbg_kat_pr_false kat2181_t = { + 5, kat2181_entropyin, kat2181_nonce, kat2181_persstr, + kat2181_entropyinreseed, kat2181_addinreseed, kat2181_addin0, + kat2181_addin1, kat2181_retbits +}; +static const struct drbg_kat kat2181 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2181_t +}; + +static const unsigned char kat2182_entropyin[] = { + 0x1b, 0x56, 0x51, 0xab, 0x23, 0x6b, 0xae, 0x70, 0x61, 0x24, 0x7d, 0x66, + 0x6c, 0x1e, 0x27, 0xf7, 0x3f, 0x13, 0xe1, 0x4a, 0xcc, 0xc1, 0x53, 0xd0, + 0x8a, 0xf1, 0x9e, 0xac, 0xb9, 0xde, 0x3f, 0x9e, +}; +static const unsigned char kat2182_nonce[] = {0}; +static const unsigned char kat2182_persstr[] = {0}; +static const unsigned char kat2182_entropyinreseed[] = { + 0xff, 0xf2, 0x6b, 0xc1, 0xd4, 0x80, 0x13, 0x48, 0xab, 0x5d, 0x2b, 0x74, + 0x7b, 0xc5, 0x23, 0xf3, 0xb5, 0xc9, 0xae, 0x5a, 0xe3, 0x9d, 0xb6, 0xb2, + 0x81, 0xed, 0x67, 0xd1, 0x7f, 0x50, 0x98, 0xa4, +}; +static const unsigned char kat2182_addinreseed[] = { + 0xc3, 0x83, 0x99, 0x9f, 0x1c, 0x14, 0xe0, 0x7b, 0x16, 0xfc, 0xe1, 0x24, + 0xc0, 0x47, 0xa0, 0x1a, 0x62, 0xf8, 0xdf, 0x5c, 0xa0, 0xaa, 0xb2, 0x30, + 0xfb, 0xec, 0x71, 0x35, 0x3c, 0xf6, 0x32, 0x04, +}; +static const unsigned char kat2182_addin0[] = { + 0x20, 0x78, 0x1e, 0xe4, 0x3c, 0xde, 0xd0, 0x7c, 0x46, 0x1a, 0xed, 0xbc, + 0x3d, 0x0f, 0xb9, 0x46, 0xf7, 0xd7, 0x0b, 0x6f, 0x5e, 0x8c, 0xcc, 0xbe, + 0x43, 0x5d, 0x6e, 0xd3, 0x71, 0x58, 0xbd, 0x13, +}; +static const unsigned char kat2182_addin1[] = { + 0x1a, 0xae, 0x1a, 0x19, 0xd6, 0x53, 0xc0, 0x76, 0xea, 0xb1, 0x47, 0x53, + 0x98, 0x11, 0x83, 0xbe, 0xb9, 0x3c, 0xa5, 0xbb, 0x7c, 0xa5, 0x2e, 0x3d, + 0xd5, 0x00, 0xce, 0xa0, 0xf3, 0x0c, 0x31, 0x06, +}; +static const unsigned char kat2182_retbits[] = { + 0x07, 0x03, 0x02, 0xb4, 0x3d, 0x7c, 0xed, 0xe1, 0xd9, 0x19, 0x1f, 0x8f, + 0xd1, 0xd2, 0x71, 0x13, 0x66, 0xcd, 0x1c, 0x2d, 0xb5, 0x6a, 0x61, 0xe8, + 0xad, 0x3d, 0x39, 0xca, 0x78, 0xa5, 0x3d, 0x05, 0x45, 0xa1, 0xd3, 0xf3, + 0xee, 0x79, 0x16, 0xd9, 0x2c, 0x6f, 0x6d, 0xfe, 0x4c, 0x52, 0xa5, 0xeb, + 0x87, 0x65, 0xea, 0x6f, 0xe7, 0x14, 0x09, 0x44, 0x2b, 0xd9, 0xdd, 0x0a, + 0xb6, 0x55, 0xde, 0x7a, +}; +static const struct drbg_kat_pr_false kat2182_t = { + 6, kat2182_entropyin, kat2182_nonce, kat2182_persstr, + kat2182_entropyinreseed, kat2182_addinreseed, kat2182_addin0, + kat2182_addin1, kat2182_retbits +}; +static const struct drbg_kat kat2182 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2182_t +}; + +static const unsigned char kat2183_entropyin[] = { + 0xfb, 0x5f, 0x8c, 0x3b, 0x6a, 0xc3, 0xe4, 0x7e, 0x19, 0x06, 0xef, 0xff, + 0xcd, 0x44, 0xa6, 0x75, 0x8c, 0x98, 0xd5, 0x1a, 0x14, 0xc6, 0xef, 0x7b, + 0xf4, 0x70, 0x8c, 0x1b, 0x4a, 0xe9, 0x2a, 0x0e, +}; +static const unsigned char kat2183_nonce[] = {0}; +static const unsigned char kat2183_persstr[] = {0}; +static const unsigned char kat2183_entropyinreseed[] = { + 0x86, 0xfa, 0x40, 0x12, 0x4b, 0x30, 0x39, 0x0d, 0x63, 0x45, 0x1e, 0x3c, + 0xa1, 0xcb, 0xa4, 0xb7, 0xce, 0x5d, 0x25, 0xa8, 0x2e, 0x04, 0x61, 0x79, + 0xba, 0xe5, 0xa4, 0x84, 0x23, 0xde, 0x67, 0xd0, +}; +static const unsigned char kat2183_addinreseed[] = { + 0x21, 0x8e, 0xed, 0xf5, 0x12, 0x01, 0x32, 0xe9, 0x28, 0x39, 0x7f, 0x35, + 0x8d, 0xe6, 0x5a, 0x5d, 0x19, 0x5d, 0xff, 0x3a, 0xed, 0xf5, 0x10, 0x28, + 0x9f, 0xc5, 0x13, 0x90, 0xb0, 0xec, 0x73, 0xd9, +}; +static const unsigned char kat2183_addin0[] = { + 0x3a, 0x95, 0x77, 0x56, 0x1d, 0xc2, 0x80, 0xaf, 0xad, 0x33, 0xd5, 0x71, + 0xa6, 0x28, 0xcf, 0xa1, 0xa1, 0x04, 0xd3, 0xb9, 0x35, 0x43, 0x9b, 0xad, + 0x8c, 0xb6, 0xa8, 0xb5, 0xf6, 0x5e, 0x83, 0x7b, +}; +static const unsigned char kat2183_addin1[] = { + 0xa1, 0x00, 0xf0, 0x83, 0x29, 0x3b, 0x2a, 0xe1, 0x76, 0xfa, 0xdc, 0x82, + 0xfc, 0x33, 0xc9, 0x7e, 0x03, 0xfe, 0xd2, 0xeb, 0xcb, 0xdc, 0x0b, 0x28, + 0xaa, 0x9c, 0xaa, 0x07, 0x54, 0x5e, 0x2b, 0x6d, +}; +static const unsigned char kat2183_retbits[] = { + 0x96, 0x29, 0x6e, 0x9b, 0xad, 0xd3, 0xc4, 0xbb, 0x2b, 0xb3, 0x5a, 0x32, + 0x4c, 0x04, 0xcb, 0xef, 0xc2, 0x39, 0x50, 0x60, 0x9d, 0x65, 0x11, 0x8d, + 0x36, 0xaa, 0xe6, 0x01, 0x0f, 0x79, 0x06, 0x6c, 0x15, 0xd6, 0x12, 0x11, + 0xf2, 0x5b, 0x84, 0xcb, 0x39, 0x9e, 0x78, 0xfb, 0x43, 0xbb, 0x87, 0x6b, + 0xe9, 0x17, 0x26, 0x30, 0xe2, 0x50, 0x06, 0x9f, 0x0c, 0x71, 0x45, 0xbc, + 0x90, 0x9a, 0xc2, 0x13, +}; +static const struct drbg_kat_pr_false kat2183_t = { + 7, kat2183_entropyin, kat2183_nonce, kat2183_persstr, + kat2183_entropyinreseed, kat2183_addinreseed, kat2183_addin0, + kat2183_addin1, kat2183_retbits +}; +static const struct drbg_kat kat2183 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2183_t +}; + +static const unsigned char kat2184_entropyin[] = { + 0xf1, 0xce, 0x42, 0xd7, 0x8e, 0x25, 0xc8, 0xc0, 0x8e, 0xfa, 0x1f, 0x85, + 0xfb, 0x01, 0xee, 0x49, 0x11, 0xe6, 0x39, 0x6a, 0x4c, 0x1c, 0xd2, 0x4b, + 0x88, 0x69, 0xc4, 0x5a, 0xa6, 0x74, 0xaf, 0xff, +}; +static const unsigned char kat2184_nonce[] = {0}; +static const unsigned char kat2184_persstr[] = {0}; +static const unsigned char kat2184_entropyinreseed[] = { + 0x19, 0x6b, 0x3d, 0xdc, 0xe4, 0xe9, 0xdd, 0x5d, 0x00, 0xc0, 0x1f, 0xa9, + 0x32, 0x94, 0x2a, 0x48, 0x16, 0xc0, 0xa2, 0x84, 0xcd, 0x44, 0xdb, 0xcb, + 0x26, 0x5d, 0x77, 0x98, 0x55, 0x02, 0x4d, 0xb7, +}; +static const unsigned char kat2184_addinreseed[] = { + 0x55, 0x54, 0xc7, 0xa0, 0xe9, 0xef, 0x6b, 0x59, 0x9e, 0xff, 0x13, 0xd0, + 0x66, 0x2c, 0x1e, 0xdd, 0x12, 0x70, 0x7a, 0x35, 0x8c, 0xbc, 0xd3, 0x9c, + 0xe8, 0x06, 0xc5, 0x29, 0x7a, 0x8f, 0x2d, 0x47, +}; +static const unsigned char kat2184_addin0[] = { + 0xfc, 0xcc, 0x8e, 0xe2, 0x51, 0xf8, 0x41, 0xe1, 0x01, 0xfd, 0x58, 0xbe, + 0xe5, 0x4e, 0x7d, 0xb4, 0xde, 0x15, 0x69, 0x8a, 0x13, 0x18, 0x51, 0x43, + 0x57, 0x7f, 0xdc, 0x3a, 0x51, 0xf1, 0xdb, 0x53, +}; +static const unsigned char kat2184_addin1[] = { + 0xbb, 0x3a, 0xa7, 0x79, 0x9c, 0xec, 0x18, 0x23, 0xff, 0xc2, 0x02, 0xe3, + 0x0c, 0x48, 0x5f, 0x44, 0xf3, 0xeb, 0xae, 0xcc, 0xaf, 0x6f, 0x3a, 0x84, + 0xd4, 0xdc, 0x79, 0xdf, 0x4e, 0xcc, 0x3c, 0x09, +}; +static const unsigned char kat2184_retbits[] = { + 0xa5, 0xd3, 0x08, 0x30, 0x32, 0xf0, 0x6e, 0x9a, 0x04, 0xca, 0x81, 0x99, + 0xd1, 0x8e, 0x7e, 0x7b, 0x0f, 0x6c, 0xa2, 0x94, 0x28, 0xdc, 0xa5, 0x9b, + 0xe4, 0xa4, 0x0f, 0xe7, 0xe7, 0x2f, 0x62, 0x12, 0xcb, 0x95, 0xf3, 0x58, + 0xd3, 0x08, 0x4a, 0x29, 0x08, 0x6a, 0xd3, 0x64, 0xb2, 0xf8, 0x60, 0xa8, + 0x7b, 0xb7, 0x87, 0xe8, 0x9f, 0x37, 0xd9, 0x15, 0xf2, 0xd8, 0x41, 0x3c, + 0x58, 0x04, 0x7d, 0x42, +}; +static const struct drbg_kat_pr_false kat2184_t = { + 8, kat2184_entropyin, kat2184_nonce, kat2184_persstr, + kat2184_entropyinreseed, kat2184_addinreseed, kat2184_addin0, + kat2184_addin1, kat2184_retbits +}; +static const struct drbg_kat kat2184 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2184_t +}; + +static const unsigned char kat2185_entropyin[] = { + 0x17, 0x0b, 0x01, 0x1a, 0xee, 0x09, 0x92, 0x3c, 0x77, 0xac, 0x05, 0xde, + 0x01, 0x83, 0xa8, 0x70, 0xea, 0x7f, 0x9a, 0x23, 0xef, 0x40, 0x1c, 0x50, + 0x7a, 0x98, 0xc9, 0x5c, 0xb4, 0xb6, 0xd1, 0x8b, +}; +static const unsigned char kat2185_nonce[] = {0}; +static const unsigned char kat2185_persstr[] = {0}; +static const unsigned char kat2185_entropyinreseed[] = { + 0x93, 0x0a, 0x77, 0x01, 0x65, 0x87, 0xf5, 0x08, 0xa4, 0x84, 0x89, 0xe9, + 0x0b, 0x0c, 0x7e, 0x27, 0xc7, 0x91, 0x62, 0x41, 0x3b, 0x4b, 0x94, 0x6f, + 0x52, 0x45, 0x9d, 0x56, 0x1b, 0xea, 0xda, 0x6e, +}; +static const unsigned char kat2185_addinreseed[] = { + 0xc2, 0xe6, 0x0b, 0x86, 0xc1, 0xbb, 0x85, 0x1e, 0x27, 0xec, 0xaf, 0xd0, + 0x6a, 0x9a, 0x44, 0x00, 0x3a, 0x98, 0x36, 0x85, 0x1f, 0xd7, 0x25, 0x07, + 0x73, 0x07, 0xbe, 0x28, 0xdf, 0xa3, 0x2e, 0x30, +}; +static const unsigned char kat2185_addin0[] = { + 0xee, 0x67, 0xde, 0xd1, 0x36, 0x8d, 0xa0, 0x2f, 0x54, 0x5f, 0xfb, 0x6d, + 0x3f, 0xb1, 0x3c, 0x10, 0x54, 0x9e, 0x88, 0xf0, 0x73, 0xa6, 0xa6, 0xb2, + 0xad, 0x12, 0x1d, 0xcd, 0x99, 0x5b, 0xb9, 0x38, +}; +static const unsigned char kat2185_addin1[] = { + 0x7b, 0xa0, 0x28, 0x7d, 0x9d, 0x12, 0xf4, 0x74, 0x20, 0x74, 0x0a, 0x8e, + 0xc6, 0xf1, 0xf3, 0x3b, 0x9f, 0x39, 0x9c, 0x03, 0xe9, 0xa9, 0x93, 0x12, + 0x96, 0xec, 0xb9, 0x33, 0x1c, 0x4d, 0xf8, 0x25, +}; +static const unsigned char kat2185_retbits[] = { + 0x3d, 0x13, 0xc4, 0x53, 0xd5, 0xf3, 0xd3, 0x05, 0x67, 0x7b, 0x95, 0x32, + 0xb5, 0x7d, 0xc1, 0x6f, 0xc6, 0x8c, 0x7d, 0xb6, 0xbb, 0xae, 0xa6, 0xbe, + 0x8a, 0x35, 0x67, 0x45, 0x1b, 0x22, 0x1e, 0x99, 0x0d, 0x8b, 0x27, 0x71, + 0xc9, 0xe2, 0x8a, 0xee, 0x1c, 0x0c, 0xd0, 0x84, 0xea, 0xd9, 0x34, 0x6f, + 0x97, 0xbe, 0xd2, 0xc3, 0xb5, 0x82, 0x3b, 0xaf, 0x57, 0xe0, 0xd2, 0x7b, + 0x78, 0x3b, 0xa8, 0x6f, +}; +static const struct drbg_kat_pr_false kat2185_t = { + 9, kat2185_entropyin, kat2185_nonce, kat2185_persstr, + kat2185_entropyinreseed, kat2185_addinreseed, kat2185_addin0, + kat2185_addin1, kat2185_retbits +}; +static const struct drbg_kat kat2185 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2185_t +}; + +static const unsigned char kat2186_entropyin[] = { + 0x77, 0x86, 0x84, 0x1f, 0x3e, 0x87, 0x5f, 0x8d, 0x92, 0xc5, 0xb4, 0xab, + 0x38, 0x2e, 0x65, 0x38, 0xfd, 0x6f, 0x0f, 0xff, 0x26, 0x5f, 0xac, 0x5f, + 0xfd, 0xcc, 0x8a, 0x3a, 0x24, 0xc5, 0xe3, 0xb6, +}; +static const unsigned char kat2186_nonce[] = {0}; +static const unsigned char kat2186_persstr[] = {0}; +static const unsigned char kat2186_entropyinreseed[] = { + 0xb5, 0xc9, 0x0a, 0x31, 0x93, 0x1a, 0xfb, 0x23, 0xfb, 0xc7, 0xad, 0x09, + 0xd5, 0xf5, 0xc8, 0xdf, 0x46, 0x12, 0xca, 0xf1, 0x49, 0xcd, 0xb7, 0xd2, + 0xdd, 0xc9, 0xba, 0x4d, 0x7d, 0x4e, 0x48, 0xa6, +}; +static const unsigned char kat2186_addinreseed[] = { + 0xfe, 0x6c, 0x70, 0x12, 0x32, 0xe9, 0xc6, 0x74, 0x89, 0xf6, 0x66, 0xc0, + 0x57, 0x62, 0x27, 0x5a, 0xe0, 0x3c, 0x65, 0xe1, 0x8d, 0xfb, 0x2f, 0xd5, + 0xed, 0xc5, 0xbf, 0xf7, 0xfa, 0xe5, 0x01, 0x9f, +}; +static const unsigned char kat2186_addin0[] = { + 0x57, 0xa8, 0x98, 0x47, 0x7d, 0x90, 0xc6, 0x87, 0xcd, 0x03, 0xb4, 0xb0, + 0xd0, 0xf4, 0xb5, 0xa4, 0xd3, 0xe0, 0x03, 0x7b, 0x35, 0x04, 0xcd, 0xc8, + 0x36, 0x7a, 0x26, 0xee, 0x93, 0x38, 0x37, 0x08, +}; +static const unsigned char kat2186_addin1[] = { + 0x2d, 0xac, 0xb0, 0x99, 0x2d, 0x67, 0xcc, 0x6b, 0x29, 0x67, 0x1a, 0x95, + 0x14, 0x9b, 0x8b, 0xd9, 0x30, 0xda, 0xf0, 0x4b, 0x6c, 0xb5, 0x28, 0x98, + 0x3c, 0x7a, 0x2c, 0xe1, 0xb0, 0x72, 0xc8, 0xc2, +}; +static const unsigned char kat2186_retbits[] = { + 0x1b, 0x1b, 0x16, 0x92, 0x8a, 0xf1, 0x9a, 0x71, 0x4f, 0x26, 0x07, 0x39, + 0x18, 0x39, 0xdb, 0x42, 0x8d, 0xdb, 0x49, 0xfd, 0x99, 0xed, 0xa0, 0xfd, + 0x2b, 0x0c, 0x05, 0xb0, 0x0a, 0x3d, 0x45, 0xaf, 0x65, 0x24, 0xc5, 0xbf, + 0x04, 0xc9, 0xcc, 0x04, 0xe3, 0x41, 0xf2, 0x3f, 0xef, 0xbb, 0xea, 0x10, + 0x75, 0xd9, 0xe0, 0x46, 0x30, 0xad, 0xca, 0xe2, 0xc8, 0xdd, 0x12, 0xff, + 0xcf, 0x88, 0x2b, 0xc8, +}; +static const struct drbg_kat_pr_false kat2186_t = { + 10, kat2186_entropyin, kat2186_nonce, kat2186_persstr, + kat2186_entropyinreseed, kat2186_addinreseed, kat2186_addin0, + kat2186_addin1, kat2186_retbits +}; +static const struct drbg_kat kat2186 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2186_t +}; + +static const unsigned char kat2187_entropyin[] = { + 0xf6, 0x59, 0x13, 0xee, 0x80, 0x86, 0xf9, 0xc2, 0x54, 0x7e, 0xe1, 0x38, + 0x24, 0x0f, 0x92, 0x61, 0x88, 0xe7, 0xf7, 0xbb, 0xaf, 0x8e, 0x9b, 0xd2, + 0x3b, 0x58, 0x21, 0xbc, 0xd1, 0xe3, 0xf4, 0x48, +}; +static const unsigned char kat2187_nonce[] = {0}; +static const unsigned char kat2187_persstr[] = {0}; +static const unsigned char kat2187_entropyinreseed[] = { + 0x93, 0xd8, 0x26, 0xeb, 0x69, 0x38, 0x0d, 0x19, 0x6d, 0xb4, 0x76, 0x06, + 0x3b, 0x1d, 0x75, 0x3f, 0x84, 0x34, 0x42, 0xa7, 0xce, 0x8e, 0x0b, 0xb1, + 0xb2, 0x09, 0x4b, 0xbd, 0x25, 0x2f, 0x49, 0xf2, +}; +static const unsigned char kat2187_addinreseed[] = { + 0xa1, 0x7f, 0xc9, 0x0c, 0x1f, 0x14, 0x68, 0x57, 0xdd, 0x68, 0xaf, 0x97, + 0x07, 0x33, 0x74, 0x93, 0xb1, 0x10, 0xa6, 0xed, 0x87, 0x85, 0x3e, 0x0b, + 0xf8, 0x5c, 0x05, 0x81, 0x35, 0xa8, 0x80, 0xa0, +}; +static const unsigned char kat2187_addin0[] = { + 0x8b, 0x80, 0x2d, 0x97, 0x25, 0x7d, 0x13, 0x1a, 0x8d, 0xde, 0x39, 0x83, + 0xd8, 0x18, 0xd0, 0xeb, 0x83, 0x3e, 0x78, 0x2b, 0x2c, 0x47, 0x0b, 0xae, + 0xb3, 0x98, 0x14, 0x38, 0x82, 0x84, 0x0a, 0x97, +}; +static const unsigned char kat2187_addin1[] = { + 0x86, 0xbb, 0xb6, 0xc4, 0x5e, 0xf8, 0x65, 0x5f, 0xa1, 0x51, 0xa1, 0xe2, + 0xff, 0x5a, 0x9e, 0x48, 0xa9, 0xc7, 0x0d, 0xd8, 0xd7, 0x93, 0xc1, 0xff, + 0xda, 0x80, 0xaa, 0x68, 0x00, 0x66, 0xc8, 0xbe, +}; +static const unsigned char kat2187_retbits[] = { + 0x38, 0x46, 0x4e, 0x12, 0x41, 0x5b, 0x76, 0xec, 0x9a, 0x75, 0x44, 0xc9, + 0x55, 0x18, 0x7e, 0x58, 0xbb, 0xb3, 0xa5, 0xa0, 0x5b, 0xbc, 0xee, 0x22, + 0x2a, 0xf5, 0x88, 0xe0, 0x15, 0x29, 0x8c, 0x62, 0x27, 0xec, 0x94, 0xbc, + 0xb3, 0x7c, 0xea, 0x30, 0x28, 0x5b, 0x2d, 0x76, 0x7a, 0x60, 0x25, 0x9c, + 0x12, 0xe9, 0x6f, 0x3b, 0x15, 0x3c, 0x02, 0xe8, 0xfd, 0xac, 0x6d, 0x45, + 0x66, 0x29, 0x36, 0x2a, +}; +static const struct drbg_kat_pr_false kat2187_t = { + 11, kat2187_entropyin, kat2187_nonce, kat2187_persstr, + kat2187_entropyinreseed, kat2187_addinreseed, kat2187_addin0, + kat2187_addin1, kat2187_retbits +}; +static const struct drbg_kat kat2187 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2187_t +}; + +static const unsigned char kat2188_entropyin[] = { + 0xf1, 0xc1, 0x9b, 0x94, 0x55, 0xfd, 0x72, 0x62, 0x16, 0x43, 0x4f, 0xa8, + 0xad, 0x32, 0x2e, 0x7e, 0xfe, 0x5a, 0xae, 0x54, 0x90, 0x88, 0xd3, 0xfa, + 0x7e, 0x98, 0xf0, 0x1c, 0x90, 0xeb, 0x71, 0xf9, +}; +static const unsigned char kat2188_nonce[] = {0}; +static const unsigned char kat2188_persstr[] = {0}; +static const unsigned char kat2188_entropyinreseed[] = { + 0xd4, 0x46, 0x97, 0xcf, 0x7c, 0x3b, 0x9a, 0xc2, 0x6c, 0x99, 0x89, 0x46, + 0x31, 0x57, 0x24, 0x83, 0x04, 0x70, 0xa3, 0x13, 0x0a, 0x42, 0xf0, 0xde, + 0xfa, 0xf6, 0x38, 0x0c, 0xa8, 0x1a, 0x0e, 0x72, +}; +static const unsigned char kat2188_addinreseed[] = { + 0x46, 0x6f, 0x63, 0x68, 0x0a, 0xe4, 0xdf, 0xd9, 0x36, 0xae, 0x50, 0x9f, + 0xc0, 0x12, 0xae, 0xae, 0x02, 0x30, 0x0e, 0x12, 0x89, 0x40, 0xda, 0x44, + 0x8c, 0x6b, 0xa7, 0x5a, 0xfa, 0x42, 0xef, 0xf4, +}; +static const unsigned char kat2188_addin0[] = { + 0xd2, 0x62, 0xc4, 0x19, 0x1c, 0x2a, 0xc1, 0x9c, 0x9e, 0xdd, 0x1c, 0x2c, + 0x93, 0x28, 0x29, 0x9f, 0xa0, 0x64, 0x1b, 0xc8, 0x0c, 0x08, 0xf3, 0x6c, + 0x63, 0xe3, 0xf3, 0x0e, 0x46, 0x8b, 0x89, 0x65, +}; +static const unsigned char kat2188_addin1[] = { + 0x6c, 0x94, 0x3c, 0x5a, 0xc4, 0x06, 0x13, 0x68, 0xd2, 0xcf, 0x2e, 0x81, + 0x84, 0xd9, 0x6e, 0x44, 0x42, 0x84, 0xa6, 0xdb, 0xdc, 0xc8, 0xb9, 0x69, + 0xb0, 0xe2, 0xd5, 0x60, 0xbc, 0xe9, 0xc6, 0x2d, +}; +static const unsigned char kat2188_retbits[] = { + 0x09, 0x66, 0x0d, 0xfe, 0xf8, 0x7d, 0x4f, 0x5e, 0x19, 0x92, 0xff, 0xb4, + 0x93, 0xed, 0x8c, 0x00, 0x99, 0xe7, 0x1a, 0x50, 0xda, 0xa6, 0xaf, 0x0a, + 0xa2, 0x10, 0x01, 0x21, 0x25, 0xdd, 0x63, 0x2a, 0xc8, 0x73, 0xfa, 0xa8, + 0xe4, 0x6b, 0x11, 0xd4, 0xae, 0xd7, 0xed, 0xef, 0x5d, 0xfb, 0xbf, 0x99, + 0x66, 0xc3, 0x14, 0xb7, 0xea, 0x5c, 0xf9, 0x89, 0xb6, 0x64, 0xe3, 0x56, + 0x48, 0x40, 0x4b, 0x5d, +}; +static const struct drbg_kat_pr_false kat2188_t = { + 12, kat2188_entropyin, kat2188_nonce, kat2188_persstr, + kat2188_entropyinreseed, kat2188_addinreseed, kat2188_addin0, + kat2188_addin1, kat2188_retbits +}; +static const struct drbg_kat kat2188 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2188_t +}; + +static const unsigned char kat2189_entropyin[] = { + 0x78, 0x11, 0x26, 0x14, 0x8a, 0x81, 0x9e, 0xda, 0x73, 0xbc, 0x90, 0xa2, + 0xc1, 0x4a, 0xa3, 0xba, 0xb8, 0x1b, 0xda, 0x81, 0x6a, 0x7c, 0xa6, 0x44, + 0xb3, 0x15, 0xd4, 0x8c, 0x43, 0x68, 0x70, 0x5c, +}; +static const unsigned char kat2189_nonce[] = {0}; +static const unsigned char kat2189_persstr[] = {0}; +static const unsigned char kat2189_entropyinreseed[] = { + 0xdc, 0x6c, 0x73, 0xcf, 0x47, 0x82, 0x4a, 0x26, 0xb1, 0x20, 0xa9, 0x83, + 0xda, 0x41, 0x74, 0x51, 0x87, 0x7d, 0x55, 0x59, 0x49, 0x2f, 0x08, 0x54, + 0x17, 0x8e, 0x1a, 0x21, 0x8c, 0xf4, 0xb8, 0x2e, +}; +static const unsigned char kat2189_addinreseed[] = { + 0x11, 0x57, 0x7c, 0xcb, 0xe1, 0x03, 0x00, 0x0b, 0xcb, 0x32, 0xea, 0xd5, + 0xef, 0xc3, 0x2b, 0x14, 0x55, 0xef, 0x5e, 0x37, 0xa1, 0x07, 0x53, 0xab, + 0x8f, 0xf8, 0xa8, 0xea, 0xe5, 0x7a, 0xd4, 0x2b, +}; +static const unsigned char kat2189_addin0[] = { + 0x9f, 0xbf, 0x82, 0x56, 0x11, 0x3a, 0x79, 0x42, 0xc0, 0x5e, 0xed, 0x10, + 0xfb, 0xa1, 0xee, 0xeb, 0x7d, 0x4c, 0xa7, 0x80, 0x8a, 0xcc, 0xbf, 0x54, + 0x0a, 0x49, 0x7e, 0xa1, 0xa3, 0x70, 0x17, 0x2e, +}; +static const unsigned char kat2189_addin1[] = { + 0x24, 0xd6, 0xd2, 0x22, 0x06, 0x4f, 0x34, 0xa0, 0xab, 0xe6, 0x33, 0x36, + 0xdd, 0xc6, 0x3f, 0xdb, 0x21, 0x27, 0x2d, 0x9f, 0xfc, 0x10, 0x92, 0x3e, + 0xe2, 0x68, 0x3a, 0x11, 0xd4, 0xec, 0xe7, 0x12, +}; +static const unsigned char kat2189_retbits[] = { + 0xdf, 0xda, 0xe1, 0xa9, 0x48, 0xb1, 0xc1, 0xd3, 0xad, 0xc7, 0xe2, 0xfc, + 0xc7, 0xc6, 0x58, 0x91, 0x9a, 0x82, 0xe1, 0x0d, 0xd6, 0x5d, 0xfe, 0x34, + 0x51, 0xa2, 0xc5, 0x92, 0xc0, 0xa6, 0x46, 0x06, 0xb3, 0x31, 0xc5, 0xae, + 0xb9, 0x54, 0x9d, 0x4c, 0x36, 0x11, 0x13, 0x9f, 0x3d, 0x7d, 0x35, 0x9c, + 0x19, 0x70, 0xfd, 0x38, 0x88, 0x5e, 0xfa, 0x33, 0xdc, 0x74, 0x91, 0x73, + 0x99, 0x4c, 0xde, 0xd0, +}; +static const struct drbg_kat_pr_false kat2189_t = { + 13, kat2189_entropyin, kat2189_nonce, kat2189_persstr, + kat2189_entropyinreseed, kat2189_addinreseed, kat2189_addin0, + kat2189_addin1, kat2189_retbits +}; +static const struct drbg_kat kat2189 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2189_t +}; + +static const unsigned char kat2190_entropyin[] = { + 0x48, 0x15, 0xc5, 0x38, 0x0a, 0xe2, 0xde, 0x56, 0x2b, 0x55, 0x2b, 0xc1, + 0x8f, 0x42, 0x77, 0xbb, 0x29, 0xca, 0x89, 0xc6, 0xda, 0xad, 0xe8, 0x4a, + 0xf4, 0xe5, 0xb1, 0xaa, 0x99, 0x4c, 0x5e, 0x4f, +}; +static const unsigned char kat2190_nonce[] = {0}; +static const unsigned char kat2190_persstr[] = {0}; +static const unsigned char kat2190_entropyinreseed[] = { + 0xcb, 0xcf, 0x3c, 0x89, 0xb2, 0xae, 0xff, 0x5b, 0xa2, 0x81, 0x42, 0xfd, + 0xb9, 0xf0, 0xe1, 0xed, 0xa8, 0x35, 0xeb, 0xe9, 0x18, 0x9e, 0x72, 0xbd, + 0xb6, 0xcc, 0x2a, 0x59, 0x12, 0x6c, 0x85, 0x3c, +}; +static const unsigned char kat2190_addinreseed[] = { + 0x82, 0x50, 0xfb, 0x55, 0x53, 0xb1, 0xdd, 0x69, 0x2c, 0x98, 0xd6, 0x51, + 0xeb, 0xa5, 0x0d, 0x6e, 0x73, 0xd2, 0x51, 0x23, 0x1f, 0x83, 0x6c, 0x39, + 0x04, 0x5b, 0x45, 0x6f, 0x52, 0x73, 0x76, 0x81, +}; +static const unsigned char kat2190_addin0[] = { + 0x9e, 0x0a, 0xbd, 0x6f, 0xee, 0x61, 0x13, 0x20, 0xde, 0x52, 0xbc, 0x48, + 0xe5, 0x6f, 0x5f, 0x17, 0xbf, 0x18, 0x0e, 0x59, 0x6d, 0x25, 0x80, 0x31, + 0xe3, 0x66, 0x60, 0x66, 0xbc, 0xc1, 0xe3, 0x69, +}; +static const unsigned char kat2190_addin1[] = { + 0x56, 0x12, 0x69, 0x4e, 0x42, 0x60, 0xdc, 0x91, 0xba, 0x87, 0xee, 0x97, + 0x65, 0x6f, 0x14, 0x36, 0xce, 0xc1, 0xf7, 0x11, 0x53, 0x6b, 0xdb, 0xf6, + 0x10, 0x64, 0x02, 0x66, 0x73, 0xbb, 0x39, 0x8b, +}; +static const unsigned char kat2190_retbits[] = { + 0x02, 0xbb, 0x0c, 0x1e, 0x3a, 0xbb, 0x29, 0x93, 0x38, 0x3c, 0xc9, 0xcf, + 0x2f, 0x32, 0xc1, 0x48, 0xd7, 0x85, 0xdd, 0xe2, 0x7d, 0xf3, 0xa8, 0xdb, + 0xd3, 0xec, 0xc7, 0x3e, 0xa4, 0xe8, 0x84, 0xcd, 0x42, 0x70, 0x61, 0x42, + 0x3e, 0x07, 0x36, 0xa9, 0x5d, 0xd3, 0x20, 0x2e, 0x63, 0x36, 0xcf, 0xac, + 0x40, 0x31, 0x1b, 0x8f, 0x08, 0xaa, 0xa8, 0x8a, 0x90, 0xba, 0xa2, 0xf9, + 0x39, 0x99, 0x69, 0x4b, +}; +static const struct drbg_kat_pr_false kat2190_t = { + 14, kat2190_entropyin, kat2190_nonce, kat2190_persstr, + kat2190_entropyinreseed, kat2190_addinreseed, kat2190_addin0, + kat2190_addin1, kat2190_retbits +}; +static const struct drbg_kat kat2190 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2190_t +}; + +static const unsigned char kat2191_entropyin[] = { + 0x34, 0xcb, 0xc2, 0xb2, 0x17, 0xf3, 0xd9, 0x07, 0xfa, 0x2a, 0xd6, 0xa0, + 0xd7, 0xa8, 0x13, 0xb0, 0xfd, 0xa1, 0xe1, 0x7f, 0xbe, 0xed, 0x94, 0xb0, + 0xe0, 0xa0, 0xab, 0xfb, 0xec, 0x94, 0x71, 0x46, +}; +static const unsigned char kat2191_nonce[] = {0}; +static const unsigned char kat2191_persstr[] = { + 0xe8, 0xfa, 0x4c, 0x5d, 0xe8, 0x25, 0x79, 0x1e, 0x68, 0x18, 0x0f, 0x2b, + 0xa1, 0x07, 0xe8, 0x29, 0xc4, 0x82, 0x99, 0xcb, 0x01, 0xbe, 0x93, 0x9c, + 0xd0, 0xbe, 0x76, 0xda, 0x12, 0x0a, 0x91, 0xf2, +}; +static const unsigned char kat2191_entropyinreseed[] = { + 0x83, 0x26, 0xf8, 0xe9, 0xcf, 0xbd, 0x02, 0xeb, 0x07, 0x6b, 0xbb, 0x98, + 0x19, 0xd9, 0x6a, 0x02, 0x38, 0x6f, 0x80, 0xbf, 0x91, 0x3c, 0x8e, 0x4a, + 0x80, 0x36, 0x1d, 0x82, 0xca, 0xfa, 0xd5, 0x2e, +}; +static const unsigned char kat2191_addinreseed[] = {0}; +static const unsigned char kat2191_addin0[] = {0}; +static const unsigned char kat2191_addin1[] = {0}; +static const unsigned char kat2191_retbits[] = { + 0x52, 0xf5, 0xe7, 0x18, 0xbf, 0x48, 0xd9, 0x9e, 0x49, 0x87, 0x75, 0xc0, + 0x03, 0x78, 0xe5, 0x45, 0x79, 0x9b, 0xb2, 0x05, 0x9a, 0xef, 0x0b, 0x74, + 0xbe, 0x57, 0x3d, 0x82, 0x83, 0xf0, 0x2b, 0x52, 0x93, 0x91, 0x79, 0x13, + 0xbc, 0x8f, 0x26, 0xfc, 0x23, 0x76, 0x0a, 0x1c, 0x86, 0xc3, 0xf5, 0xc8, + 0x44, 0x85, 0x74, 0x19, 0x86, 0x8e, 0xaf, 0xeb, 0x17, 0xc9, 0x24, 0x82, + 0x27, 0xd0, 0x26, 0xb8, +}; +static const struct drbg_kat_pr_false kat2191_t = { + 0, kat2191_entropyin, kat2191_nonce, kat2191_persstr, + kat2191_entropyinreseed, kat2191_addinreseed, kat2191_addin0, + kat2191_addin1, kat2191_retbits +}; +static const struct drbg_kat kat2191 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2191_t +}; + +static const unsigned char kat2192_entropyin[] = { + 0xba, 0x81, 0x1b, 0xf4, 0x91, 0xac, 0x45, 0x97, 0xd7, 0x9d, 0x0f, 0x44, + 0x73, 0x20, 0x80, 0x11, 0xc5, 0xd4, 0x85, 0x75, 0xa1, 0x56, 0xd9, 0x69, + 0xf0, 0x71, 0xcd, 0x5a, 0xe5, 0xaa, 0x45, 0x58, +}; +static const unsigned char kat2192_nonce[] = {0}; +static const unsigned char kat2192_persstr[] = { + 0x09, 0x09, 0xe7, 0x80, 0x9f, 0x07, 0x6e, 0xd3, 0x74, 0x76, 0x25, 0xcd, + 0x2b, 0x80, 0x61, 0x58, 0x75, 0x40, 0x7a, 0x13, 0x3e, 0x77, 0xd6, 0x77, + 0xfd, 0xf8, 0xd9, 0xd3, 0x78, 0xde, 0x4f, 0xd9, +}; +static const unsigned char kat2192_entropyinreseed[] = { + 0xf5, 0x56, 0xc3, 0xaf, 0xea, 0x21, 0x2f, 0xf0, 0x60, 0xed, 0x01, 0xb7, + 0xf7, 0xf5, 0xdb, 0xb7, 0x3f, 0x96, 0x0e, 0xa6, 0xa3, 0xa9, 0x3f, 0x24, + 0x8a, 0xe4, 0xd2, 0xdf, 0x2b, 0xf4, 0x99, 0x48, +}; +static const unsigned char kat2192_addinreseed[] = {0}; +static const unsigned char kat2192_addin0[] = {0}; +static const unsigned char kat2192_addin1[] = {0}; +static const unsigned char kat2192_retbits[] = { + 0x96, 0xee, 0xe3, 0x4e, 0x4c, 0xfc, 0x90, 0x5b, 0xe6, 0x4c, 0xf1, 0xdc, + 0x64, 0xc6, 0xe0, 0x7f, 0x1c, 0xeb, 0x3b, 0xdb, 0x74, 0x5f, 0x42, 0x33, + 0x25, 0x68, 0x87, 0x3b, 0x80, 0xb1, 0x1f, 0x1a, 0x1a, 0xc6, 0xd0, 0xd5, + 0x76, 0xaf, 0xef, 0xcd, 0xd7, 0xc7, 0x0c, 0xe6, 0xa8, 0x82, 0xee, 0x94, + 0x04, 0x63, 0x32, 0x3b, 0x51, 0xc1, 0x63, 0x39, 0x98, 0xa8, 0x09, 0x00, + 0x3b, 0x94, 0x72, 0x10, +}; +static const struct drbg_kat_pr_false kat2192_t = { + 1, kat2192_entropyin, kat2192_nonce, kat2192_persstr, + kat2192_entropyinreseed, kat2192_addinreseed, kat2192_addin0, + kat2192_addin1, kat2192_retbits +}; +static const struct drbg_kat kat2192 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2192_t +}; + +static const unsigned char kat2193_entropyin[] = { + 0xe9, 0xd1, 0x64, 0xce, 0x4b, 0xf5, 0x2a, 0x73, 0xe7, 0x39, 0x45, 0xe3, + 0xfd, 0xe2, 0xd5, 0x99, 0xdf, 0x02, 0xd6, 0x85, 0x40, 0x16, 0x5c, 0xe9, + 0x12, 0xe2, 0x0d, 0x29, 0xe3, 0xda, 0x17, 0x2f, +}; +static const unsigned char kat2193_nonce[] = {0}; +static const unsigned char kat2193_persstr[] = { + 0x09, 0x10, 0xb0, 0x15, 0x8f, 0x03, 0x38, 0x29, 0x12, 0xb9, 0x6a, 0xab, + 0x0c, 0x35, 0x65, 0xb2, 0xb9, 0x5c, 0x7a, 0xbe, 0x82, 0x3d, 0xf4, 0x4e, + 0xad, 0xb2, 0x7d, 0x86, 0xd1, 0x56, 0xa9, 0xb8, +}; +static const unsigned char kat2193_entropyinreseed[] = { + 0x97, 0x3c, 0x87, 0x25, 0x04, 0x7e, 0x71, 0xcf, 0xe9, 0xd2, 0x8d, 0x10, + 0xc4, 0x08, 0x49, 0xfa, 0xe8, 0x44, 0xc9, 0x32, 0x39, 0x84, 0x22, 0xac, + 0x0d, 0x80, 0xa5, 0xef, 0x2f, 0xef, 0x5b, 0x9c, +}; +static const unsigned char kat2193_addinreseed[] = {0}; +static const unsigned char kat2193_addin0[] = {0}; +static const unsigned char kat2193_addin1[] = {0}; +static const unsigned char kat2193_retbits[] = { + 0x54, 0x7a, 0xe8, 0xf1, 0x1d, 0x18, 0x6c, 0xc2, 0x85, 0xf8, 0x2b, 0x38, + 0x54, 0xe4, 0xa5, 0xeb, 0x88, 0xd0, 0x21, 0x8d, 0xf6, 0x46, 0xf5, 0x4b, + 0x1f, 0xd7, 0xfe, 0x33, 0x50, 0x8f, 0xe6, 0xa1, 0x40, 0xf0, 0xc5, 0x17, + 0x35, 0x6d, 0x19, 0x2f, 0xdd, 0x96, 0x1a, 0x29, 0xf4, 0x7f, 0xdc, 0xc9, + 0xe3, 0x98, 0x37, 0x5e, 0xaf, 0xe7, 0x86, 0xd9, 0x7c, 0x69, 0xd0, 0xac, + 0x5c, 0x86, 0xc9, 0xe4, +}; +static const struct drbg_kat_pr_false kat2193_t = { + 2, kat2193_entropyin, kat2193_nonce, kat2193_persstr, + kat2193_entropyinreseed, kat2193_addinreseed, kat2193_addin0, + kat2193_addin1, kat2193_retbits +}; +static const struct drbg_kat kat2193 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2193_t +}; + +static const unsigned char kat2194_entropyin[] = { + 0x65, 0x11, 0x76, 0x66, 0x13, 0xfe, 0x85, 0x09, 0x39, 0x6f, 0x2c, 0x0a, + 0xf7, 0x43, 0xb7, 0xfe, 0x81, 0xf2, 0x83, 0x4b, 0xe8, 0xa7, 0xfc, 0x39, + 0x9f, 0x84, 0xb3, 0x5c, 0x1e, 0x89, 0xa2, 0x74, +}; +static const unsigned char kat2194_nonce[] = {0}; +static const unsigned char kat2194_persstr[] = { + 0x62, 0x78, 0x4e, 0x10, 0xe5, 0x49, 0x0b, 0x15, 0x79, 0x88, 0xaf, 0x06, + 0x66, 0x0d, 0x42, 0xd8, 0xaa, 0x56, 0x78, 0x2b, 0x6d, 0x5f, 0x88, 0x1e, + 0x5e, 0x09, 0x88, 0xe8, 0xe3, 0x47, 0xbf, 0x08, +}; +static const unsigned char kat2194_entropyinreseed[] = { + 0x52, 0xc1, 0xbf, 0x53, 0x7f, 0x4d, 0xa3, 0xbe, 0x03, 0x17, 0xa4, 0x88, + 0x14, 0xdf, 0x6d, 0xac, 0x9e, 0x66, 0x44, 0x40, 0x00, 0xe5, 0xb0, 0x22, + 0x6a, 0xb9, 0x04, 0xc8, 0xf0, 0xef, 0xa4, 0x4b, +}; +static const unsigned char kat2194_addinreseed[] = {0}; +static const unsigned char kat2194_addin0[] = {0}; +static const unsigned char kat2194_addin1[] = {0}; +static const unsigned char kat2194_retbits[] = { + 0x2d, 0x04, 0xdc, 0x4e, 0x84, 0xe0, 0x2b, 0x07, 0x9b, 0xca, 0x0d, 0xf8, + 0xfe, 0xe5, 0x35, 0x10, 0xfe, 0xcc, 0x58, 0x27, 0x75, 0x18, 0x3d, 0x27, + 0x9d, 0x61, 0x4a, 0xef, 0xd9, 0xf5, 0x5d, 0x05, 0x67, 0x5a, 0x65, 0x7f, + 0x87, 0xc7, 0xe6, 0xfd, 0xa4, 0x5d, 0x99, 0x14, 0x83, 0xba, 0x78, 0x7a, + 0xc5, 0x7d, 0x3e, 0x22, 0xed, 0xa2, 0x9a, 0x86, 0xdc, 0x09, 0x4b, 0xc0, + 0x33, 0x27, 0x9b, 0x98, +}; +static const struct drbg_kat_pr_false kat2194_t = { + 3, kat2194_entropyin, kat2194_nonce, kat2194_persstr, + kat2194_entropyinreseed, kat2194_addinreseed, kat2194_addin0, + kat2194_addin1, kat2194_retbits +}; +static const struct drbg_kat kat2194 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2194_t +}; + +static const unsigned char kat2195_entropyin[] = { + 0xf8, 0x4a, 0x1b, 0xa8, 0x02, 0x1e, 0xe1, 0xb1, 0xbe, 0x01, 0xf1, 0x5d, + 0x47, 0xac, 0x98, 0xcc, 0x91, 0xb5, 0xd1, 0x15, 0x61, 0xc9, 0xce, 0x6a, + 0xd3, 0x13, 0xaf, 0x69, 0x4d, 0x87, 0x06, 0x1d, +}; +static const unsigned char kat2195_nonce[] = {0}; +static const unsigned char kat2195_persstr[] = { + 0x46, 0xde, 0x12, 0xc1, 0x7a, 0x42, 0xe0, 0x4e, 0x49, 0x77, 0xe3, 0xd2, + 0xbf, 0x68, 0x94, 0xbf, 0x97, 0xce, 0x9e, 0x6c, 0x28, 0x76, 0x29, 0xec, + 0xf8, 0xfc, 0x84, 0xf8, 0xad, 0xba, 0xd8, 0xb3, +}; +static const unsigned char kat2195_entropyinreseed[] = { + 0xc0, 0x5c, 0x30, 0xf8, 0x99, 0x4c, 0x38, 0x68, 0x8b, 0xf1, 0xc8, 0xfd, + 0xea, 0xab, 0x3f, 0x04, 0xdd, 0x7b, 0xca, 0xe1, 0xf3, 0xf1, 0xe8, 0x53, + 0x9b, 0x05, 0x35, 0x78, 0x9c, 0x8c, 0x49, 0x0f, +}; +static const unsigned char kat2195_addinreseed[] = {0}; +static const unsigned char kat2195_addin0[] = {0}; +static const unsigned char kat2195_addin1[] = {0}; +static const unsigned char kat2195_retbits[] = { + 0xaf, 0x00, 0x78, 0x2c, 0x6f, 0xba, 0x94, 0x39, 0xd6, 0x1f, 0x63, 0x7d, + 0x73, 0x61, 0x53, 0xc9, 0x45, 0x67, 0x3c, 0x73, 0xa5, 0xa1, 0xd6, 0x46, + 0x5f, 0xed, 0x97, 0xf2, 0xd7, 0xcc, 0x38, 0xfc, 0x07, 0x19, 0x21, 0x8d, + 0xb5, 0xb2, 0x0a, 0x65, 0xba, 0x6e, 0xc0, 0xec, 0x7a, 0xfd, 0x47, 0xdc, + 0x40, 0xf4, 0xec, 0x61, 0x94, 0x0c, 0x9b, 0x11, 0x6f, 0x82, 0x00, 0x98, + 0xae, 0x53, 0xc9, 0x3d, +}; +static const struct drbg_kat_pr_false kat2195_t = { + 4, kat2195_entropyin, kat2195_nonce, kat2195_persstr, + kat2195_entropyinreseed, kat2195_addinreseed, kat2195_addin0, + kat2195_addin1, kat2195_retbits +}; +static const struct drbg_kat kat2195 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2195_t +}; + +static const unsigned char kat2196_entropyin[] = { + 0x26, 0xaf, 0x70, 0x07, 0x5d, 0xfa, 0x4f, 0x60, 0xf3, 0x4f, 0x40, 0x63, + 0xea, 0xaf, 0x74, 0x77, 0x9e, 0x58, 0x4c, 0xfc, 0xcd, 0xa7, 0x2a, 0x61, + 0x25, 0x78, 0xf8, 0x45, 0x83, 0x01, 0xae, 0x7d, +}; +static const unsigned char kat2196_nonce[] = {0}; +static const unsigned char kat2196_persstr[] = { + 0x04, 0x8b, 0x9f, 0x8f, 0x06, 0xc2, 0x86, 0xc1, 0x30, 0x3f, 0x58, 0x7a, + 0x80, 0x27, 0x01, 0xbb, 0xa0, 0x05, 0x33, 0x8b, 0xb9, 0x52, 0xa6, 0x6b, + 0x30, 0xe4, 0x0a, 0x15, 0x3c, 0x9c, 0x07, 0x66, +}; +static const unsigned char kat2196_entropyinreseed[] = { + 0xdb, 0xea, 0x9a, 0xd4, 0x23, 0x44, 0x72, 0xee, 0x5a, 0x15, 0x94, 0xd5, + 0x2e, 0x3b, 0x43, 0xd9, 0x4f, 0x23, 0x76, 0x2e, 0xd1, 0x98, 0x09, 0xde, + 0xa6, 0xca, 0xce, 0xdb, 0x93, 0x04, 0xa3, 0xcd, +}; +static const unsigned char kat2196_addinreseed[] = {0}; +static const unsigned char kat2196_addin0[] = {0}; +static const unsigned char kat2196_addin1[] = {0}; +static const unsigned char kat2196_retbits[] = { + 0x32, 0xa7, 0x9a, 0xab, 0x3f, 0x2c, 0x04, 0xca, 0x33, 0x0f, 0xdb, 0x60, + 0x6c, 0x43, 0x7c, 0xb8, 0xdd, 0x58, 0x14, 0x70, 0xbc, 0xe8, 0x80, 0xc7, + 0x28, 0x07, 0xc5, 0x6e, 0x35, 0x65, 0xc2, 0xa2, 0x26, 0x92, 0x8c, 0x87, + 0x15, 0x21, 0x3d, 0xb1, 0x55, 0x0e, 0x3d, 0x44, 0x12, 0x63, 0x2f, 0xcb, + 0xcd, 0xed, 0xd9, 0x5f, 0xdc, 0xef, 0x93, 0xbd, 0x03, 0xcc, 0xf7, 0xc1, + 0x10, 0xd2, 0x06, 0xaf, +}; +static const struct drbg_kat_pr_false kat2196_t = { + 5, kat2196_entropyin, kat2196_nonce, kat2196_persstr, + kat2196_entropyinreseed, kat2196_addinreseed, kat2196_addin0, + kat2196_addin1, kat2196_retbits +}; +static const struct drbg_kat kat2196 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2196_t +}; + +static const unsigned char kat2197_entropyin[] = { + 0xe9, 0x0f, 0xe0, 0x73, 0x62, 0x57, 0x4f, 0x81, 0xed, 0xae, 0xa5, 0x41, + 0xc5, 0x25, 0xd6, 0xf9, 0x90, 0x6a, 0x5c, 0x4f, 0xd7, 0xf8, 0xf2, 0x8e, + 0x10, 0x10, 0x73, 0xaa, 0xcb, 0x88, 0xd1, 0xe7, +}; +static const unsigned char kat2197_nonce[] = {0}; +static const unsigned char kat2197_persstr[] = { + 0xef, 0x64, 0xe8, 0xf6, 0x6b, 0x9f, 0x81, 0xfb, 0x2c, 0xc9, 0xec, 0xaa, + 0xe2, 0x08, 0xe5, 0xa9, 0x08, 0xf8, 0x4e, 0x7b, 0xa1, 0xe8, 0xac, 0x27, + 0x3d, 0xb2, 0xf8, 0xef, 0x11, 0xb5, 0x5b, 0x34, +}; +static const unsigned char kat2197_entropyinreseed[] = { + 0xd4, 0xb7, 0x63, 0xdb, 0x6b, 0x46, 0x1e, 0x75, 0xd3, 0xbe, 0x8f, 0x01, + 0xb0, 0x89, 0x70, 0xda, 0x4d, 0x88, 0xc7, 0xdf, 0xa9, 0xf3, 0xe5, 0xc0, + 0x7c, 0x58, 0xff, 0x21, 0xf5, 0xa3, 0xc5, 0xe0, +}; +static const unsigned char kat2197_addinreseed[] = {0}; +static const unsigned char kat2197_addin0[] = {0}; +static const unsigned char kat2197_addin1[] = {0}; +static const unsigned char kat2197_retbits[] = { + 0x91, 0xac, 0xb3, 0x87, 0xa1, 0x92, 0xf4, 0x0f, 0x3c, 0x29, 0x33, 0xca, + 0xe9, 0x4d, 0x3d, 0x29, 0xd2, 0xb9, 0xad, 0x12, 0xde, 0x19, 0x3f, 0x20, + 0xf7, 0x1d, 0xa5, 0x94, 0x39, 0x0d, 0xd5, 0x3a, 0xa4, 0xd0, 0xa6, 0x67, + 0x34, 0x7e, 0xb6, 0x1a, 0xd0, 0xfb, 0x09, 0x20, 0x1e, 0x25, 0x98, 0xfc, + 0x99, 0xb4, 0xab, 0xde, 0x5f, 0x80, 0x45, 0x8e, 0xb7, 0xec, 0x47, 0x66, + 0x6a, 0xe2, 0x65, 0x43, +}; +static const struct drbg_kat_pr_false kat2197_t = { + 6, kat2197_entropyin, kat2197_nonce, kat2197_persstr, + kat2197_entropyinreseed, kat2197_addinreseed, kat2197_addin0, + kat2197_addin1, kat2197_retbits +}; +static const struct drbg_kat kat2197 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2197_t +}; + +static const unsigned char kat2198_entropyin[] = { + 0x82, 0x68, 0x23, 0xd3, 0x54, 0xdc, 0x97, 0xd4, 0x55, 0x07, 0xae, 0xa1, + 0xad, 0x81, 0x42, 0xe7, 0x04, 0x75, 0x4b, 0x9f, 0xac, 0x6a, 0xda, 0xb2, + 0xe3, 0x52, 0x3b, 0xca, 0xea, 0xa0, 0x8a, 0x9c, +}; +static const unsigned char kat2198_nonce[] = {0}; +static const unsigned char kat2198_persstr[] = { + 0x33, 0x34, 0xce, 0xa8, 0x71, 0x27, 0x9e, 0x90, 0xe1, 0xf3, 0xfa, 0xd0, + 0x8c, 0x5f, 0x1c, 0xb5, 0x49, 0x58, 0xd7, 0x5f, 0x28, 0xc7, 0xa1, 0x88, + 0x22, 0x89, 0xda, 0xd5, 0xbf, 0xa0, 0x46, 0x4d, +}; +static const unsigned char kat2198_entropyinreseed[] = { + 0xbe, 0xc5, 0xaa, 0x6e, 0x75, 0x5b, 0xf3, 0x51, 0x4f, 0x35, 0x20, 0xe7, + 0xa9, 0x2c, 0xfa, 0xb4, 0x2c, 0xdf, 0x35, 0xc9, 0xb5, 0x9a, 0x15, 0xe7, + 0x81, 0xec, 0x82, 0xff, 0x7a, 0xdc, 0x88, 0xdd, +}; +static const unsigned char kat2198_addinreseed[] = {0}; +static const unsigned char kat2198_addin0[] = {0}; +static const unsigned char kat2198_addin1[] = {0}; +static const unsigned char kat2198_retbits[] = { + 0x38, 0x82, 0x1c, 0xdc, 0x34, 0xe3, 0xd7, 0x64, 0xf8, 0x77, 0xf7, 0x60, + 0xb5, 0x1e, 0x18, 0x64, 0x6a, 0xa6, 0xab, 0x98, 0x71, 0xe8, 0xef, 0x22, + 0xb4, 0x3c, 0x34, 0x28, 0xd7, 0xcb, 0x66, 0x4e, 0x93, 0x2d, 0x96, 0x9b, + 0x34, 0x2d, 0x51, 0x96, 0x48, 0xcf, 0xfd, 0xef, 0x66, 0x24, 0xee, 0x14, + 0xe4, 0xf1, 0x36, 0x80, 0x0d, 0xe1, 0x1c, 0xce, 0xc1, 0x62, 0x1e, 0x3b, + 0x16, 0xbe, 0xea, 0x7d, +}; +static const struct drbg_kat_pr_false kat2198_t = { + 7, kat2198_entropyin, kat2198_nonce, kat2198_persstr, + kat2198_entropyinreseed, kat2198_addinreseed, kat2198_addin0, + kat2198_addin1, kat2198_retbits +}; +static const struct drbg_kat kat2198 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2198_t +}; + +static const unsigned char kat2199_entropyin[] = { + 0x30, 0x0b, 0x94, 0x5e, 0x8e, 0x0d, 0xff, 0xcb, 0xfc, 0x04, 0x35, 0xe6, + 0xac, 0x10, 0x85, 0xef, 0xd9, 0x33, 0x07, 0xe7, 0x11, 0xf1, 0xad, 0x60, + 0x9f, 0x7b, 0x92, 0x97, 0x04, 0x16, 0xb0, 0x79, +}; +static const unsigned char kat2199_nonce[] = {0}; +static const unsigned char kat2199_persstr[] = { + 0x9a, 0x0f, 0xf7, 0x52, 0xcd, 0x21, 0x71, 0xfe, 0x59, 0xa2, 0x7a, 0x68, + 0xe9, 0xcd, 0xce, 0x81, 0xae, 0xa2, 0xb4, 0x08, 0xe0, 0x27, 0xbd, 0xd6, + 0x09, 0x98, 0x24, 0x48, 0x21, 0x58, 0x65, 0x34, +}; +static const unsigned char kat2199_entropyinreseed[] = { + 0xe0, 0x76, 0xf4, 0xae, 0x6f, 0xe8, 0xf6, 0x6d, 0x71, 0x6b, 0xff, 0xc6, + 0xc4, 0xe1, 0x0d, 0xaa, 0xb3, 0x54, 0x91, 0x80, 0x4a, 0x59, 0xe6, 0xe5, + 0x79, 0x09, 0x43, 0x34, 0x83, 0xf3, 0xf4, 0x21, +}; +static const unsigned char kat2199_addinreseed[] = {0}; +static const unsigned char kat2199_addin0[] = {0}; +static const unsigned char kat2199_addin1[] = {0}; +static const unsigned char kat2199_retbits[] = { + 0x48, 0x50, 0x26, 0xdd, 0x2d, 0x2a, 0xe2, 0x0c, 0x90, 0xc8, 0xb4, 0x3f, + 0x41, 0x84, 0x27, 0x0b, 0xb1, 0x56, 0x15, 0x6e, 0xf8, 0x8b, 0xb8, 0xf1, + 0x5e, 0x6f, 0xca, 0xf0, 0x73, 0x68, 0xe5, 0x0b, 0x75, 0x16, 0xc6, 0x03, + 0xf3, 0xf6, 0x9b, 0x2d, 0x20, 0xbd, 0x84, 0xbc, 0xcc, 0x02, 0xdf, 0x62, + 0xe6, 0xe8, 0x2e, 0xcf, 0xe0, 0x16, 0xe7, 0x48, 0x3f, 0xc0, 0x2a, 0x40, + 0x0f, 0xe4, 0x6a, 0xd6, +}; +static const struct drbg_kat_pr_false kat2199_t = { + 8, kat2199_entropyin, kat2199_nonce, kat2199_persstr, + kat2199_entropyinreseed, kat2199_addinreseed, kat2199_addin0, + kat2199_addin1, kat2199_retbits +}; +static const struct drbg_kat kat2199 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2199_t +}; + +static const unsigned char kat2200_entropyin[] = { + 0x64, 0xec, 0x01, 0x71, 0x09, 0xb9, 0x5c, 0xcb, 0x6a, 0xca, 0xc7, 0xaf, + 0x3d, 0xdb, 0x0b, 0xb0, 0x9c, 0xe5, 0x38, 0xb1, 0xaf, 0xe1, 0x31, 0xf0, + 0x89, 0x9f, 0x1f, 0xb0, 0x02, 0x3b, 0x21, 0xf8, +}; +static const unsigned char kat2200_nonce[] = {0}; +static const unsigned char kat2200_persstr[] = { + 0xdb, 0x2c, 0x8f, 0xb7, 0x88, 0x01, 0xd7, 0x3c, 0x83, 0xf7, 0x9e, 0xde, + 0xb7, 0x6e, 0x87, 0x68, 0x24, 0x71, 0xdc, 0x0b, 0xee, 0xcf, 0x13, 0x51, + 0x01, 0x33, 0x9f, 0x7c, 0xc3, 0x21, 0xed, 0x6b, +}; +static const unsigned char kat2200_entropyinreseed[] = { + 0x75, 0x18, 0x38, 0xce, 0x43, 0x40, 0xf8, 0xf8, 0xda, 0xd2, 0x29, 0xb3, + 0xd9, 0x5a, 0x24, 0xde, 0x3e, 0x45, 0xf0, 0x39, 0x6e, 0x44, 0x36, 0xb2, + 0x7f, 0xdd, 0x51, 0x30, 0xd6, 0x9b, 0x55, 0xb7, +}; +static const unsigned char kat2200_addinreseed[] = {0}; +static const unsigned char kat2200_addin0[] = {0}; +static const unsigned char kat2200_addin1[] = {0}; +static const unsigned char kat2200_retbits[] = { + 0x51, 0x85, 0x45, 0x29, 0x21, 0x94, 0x44, 0xbb, 0x65, 0x99, 0x9e, 0x63, + 0xad, 0xfe, 0x88, 0xb5, 0x12, 0x4c, 0x2d, 0x60, 0xaf, 0x21, 0x4b, 0xf0, + 0x2b, 0x63, 0x8e, 0x47, 0x86, 0x44, 0x50, 0x01, 0x2e, 0x79, 0x1e, 0x73, + 0x7c, 0x5b, 0x57, 0xa8, 0xd7, 0x33, 0xdc, 0x07, 0xca, 0x59, 0x43, 0x5e, + 0xaa, 0x3c, 0x0e, 0x50, 0xd3, 0x1c, 0x73, 0x0e, 0xfb, 0xe9, 0x64, 0xa1, + 0x66, 0x8f, 0x60, 0xa4, +}; +static const struct drbg_kat_pr_false kat2200_t = { + 9, kat2200_entropyin, kat2200_nonce, kat2200_persstr, + kat2200_entropyinreseed, kat2200_addinreseed, kat2200_addin0, + kat2200_addin1, kat2200_retbits +}; +static const struct drbg_kat kat2200 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2200_t +}; + +static const unsigned char kat2201_entropyin[] = { + 0x94, 0x0b, 0xea, 0xb8, 0x8d, 0x26, 0xf3, 0x47, 0x5a, 0x2b, 0x65, 0x07, + 0x90, 0xcb, 0xdb, 0x89, 0xf7, 0x48, 0x37, 0x29, 0x1c, 0x05, 0x99, 0x59, + 0xd9, 0xc4, 0x19, 0xe9, 0xaf, 0xa9, 0xbe, 0x7c, +}; +static const unsigned char kat2201_nonce[] = {0}; +static const unsigned char kat2201_persstr[] = { + 0x4e, 0x81, 0xc4, 0x2d, 0x27, 0xa5, 0xd0, 0xbf, 0x54, 0xa4, 0xc8, 0xe1, + 0xee, 0x44, 0x53, 0xa1, 0x80, 0x4f, 0x63, 0x81, 0x37, 0x69, 0x13, 0x7c, + 0x9a, 0x50, 0x05, 0xf2, 0x58, 0xb2, 0xa1, 0x4d, +}; +static const unsigned char kat2201_entropyinreseed[] = { + 0x17, 0x83, 0x41, 0x1b, 0x3f, 0xae, 0xef, 0xe2, 0xaf, 0x92, 0x55, 0x87, + 0x2b, 0x2b, 0x60, 0x2f, 0xc1, 0x60, 0xcd, 0xbc, 0x2b, 0x03, 0x40, 0xd1, + 0xa0, 0x55, 0x8c, 0x44, 0x50, 0xdd, 0xe6, 0xca, +}; +static const unsigned char kat2201_addinreseed[] = {0}; +static const unsigned char kat2201_addin0[] = {0}; +static const unsigned char kat2201_addin1[] = {0}; +static const unsigned char kat2201_retbits[] = { + 0xe7, 0xfa, 0x2f, 0xf9, 0x8a, 0xf3, 0xe8, 0x2b, 0xbe, 0x8e, 0xd8, 0x32, + 0xb9, 0x26, 0x91, 0x7e, 0x30, 0x03, 0x6b, 0xc1, 0xd2, 0xfa, 0xa0, 0xb6, + 0x82, 0x7c, 0x38, 0xd5, 0x37, 0x45, 0x59, 0xbe, 0x30, 0x1d, 0x27, 0x6b, + 0x40, 0x57, 0x92, 0x49, 0x92, 0xed, 0xe1, 0x11, 0xb0, 0x2d, 0x64, 0xa4, + 0x86, 0xbc, 0x3e, 0xc8, 0xb0, 0x9f, 0xfd, 0x15, 0x13, 0x9a, 0x21, 0xd4, + 0x1f, 0xcc, 0x85, 0xfb, +}; +static const struct drbg_kat_pr_false kat2201_t = { + 10, kat2201_entropyin, kat2201_nonce, kat2201_persstr, + kat2201_entropyinreseed, kat2201_addinreseed, kat2201_addin0, + kat2201_addin1, kat2201_retbits +}; +static const struct drbg_kat kat2201 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2201_t +}; + +static const unsigned char kat2202_entropyin[] = { + 0x59, 0x12, 0x03, 0xe2, 0x02, 0xf4, 0xf3, 0x2d, 0xc7, 0x1a, 0x00, 0x0a, + 0x4f, 0xa3, 0xea, 0x92, 0x30, 0xf3, 0x9a, 0x20, 0x42, 0xfc, 0x50, 0xbb, + 0x72, 0x53, 0xa9, 0x3f, 0xd0, 0xb1, 0xce, 0x01, +}; +static const unsigned char kat2202_nonce[] = {0}; +static const unsigned char kat2202_persstr[] = { + 0x37, 0xa4, 0xd4, 0x62, 0xf6, 0x53, 0x0b, 0x5f, 0xc4, 0x4f, 0xd0, 0x1b, + 0x24, 0x66, 0x9c, 0x68, 0xae, 0x04, 0x2f, 0x0f, 0x0e, 0x84, 0xbf, 0xc1, + 0x81, 0x74, 0xff, 0x4c, 0xd4, 0x5d, 0xd1, 0x23, +}; +static const unsigned char kat2202_entropyinreseed[] = { + 0x8a, 0x73, 0x88, 0xd7, 0x39, 0xcd, 0x2e, 0xf5, 0x42, 0xd5, 0xcb, 0x62, + 0x26, 0x07, 0xfd, 0x92, 0x28, 0x46, 0x66, 0xd5, 0x2e, 0xd9, 0x78, 0x84, + 0x46, 0x9e, 0xcb, 0xad, 0x1d, 0xae, 0xf6, 0xf6, +}; +static const unsigned char kat2202_addinreseed[] = {0}; +static const unsigned char kat2202_addin0[] = {0}; +static const unsigned char kat2202_addin1[] = {0}; +static const unsigned char kat2202_retbits[] = { + 0x9d, 0x34, 0x8b, 0x5d, 0x6f, 0x71, 0x26, 0x03, 0x1e, 0x79, 0xac, 0xa1, + 0x67, 0x09, 0x7e, 0x2f, 0x8d, 0xd1, 0xc1, 0x07, 0x73, 0x06, 0x48, 0x18, + 0x66, 0x2c, 0x40, 0x8d, 0xc0, 0xf2, 0x43, 0x73, 0x5e, 0xff, 0xc6, 0xeb, + 0xc3, 0x35, 0x53, 0xf2, 0x5a, 0xc9, 0x29, 0x49, 0x1f, 0xf7, 0xb7, 0x71, + 0x3e, 0x05, 0x6c, 0x21, 0x49, 0x2a, 0x87, 0x7e, 0x47, 0x1a, 0xd1, 0x27, + 0x98, 0xa9, 0x66, 0xcb, +}; +static const struct drbg_kat_pr_false kat2202_t = { + 11, kat2202_entropyin, kat2202_nonce, kat2202_persstr, + kat2202_entropyinreseed, kat2202_addinreseed, kat2202_addin0, + kat2202_addin1, kat2202_retbits +}; +static const struct drbg_kat kat2202 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2202_t +}; + +static const unsigned char kat2203_entropyin[] = { + 0x4e, 0x16, 0x9d, 0xb1, 0xf4, 0x55, 0x51, 0x24, 0xf9, 0x53, 0xb7, 0x27, + 0x16, 0xdf, 0x0a, 0xe9, 0x76, 0xf9, 0x54, 0xf3, 0x19, 0x82, 0xe0, 0xa7, + 0x94, 0x84, 0x8f, 0x9b, 0x12, 0xec, 0x1a, 0x44, +}; +static const unsigned char kat2203_nonce[] = {0}; +static const unsigned char kat2203_persstr[] = { + 0xc1, 0xa3, 0x4b, 0x76, 0x58, 0x1f, 0x1e, 0x7f, 0xbd, 0x52, 0x06, 0xbc, + 0x88, 0xea, 0x4d, 0x05, 0xa7, 0x61, 0x48, 0xb6, 0x17, 0x0c, 0x91, 0x23, + 0x1f, 0x35, 0x6c, 0x04, 0xf6, 0x90, 0x3a, 0xb5, +}; +static const unsigned char kat2203_entropyinreseed[] = { + 0xcb, 0xcd, 0xf4, 0x96, 0x09, 0x3b, 0x84, 0x69, 0x94, 0x17, 0x06, 0x0b, + 0x1c, 0xe7, 0x6f, 0x56, 0xb2, 0x87, 0x9b, 0x14, 0x10, 0x2a, 0x58, 0x58, + 0xd0, 0x74, 0x35, 0x45, 0xca, 0x01, 0x96, 0x1f, +}; +static const unsigned char kat2203_addinreseed[] = {0}; +static const unsigned char kat2203_addin0[] = {0}; +static const unsigned char kat2203_addin1[] = {0}; +static const unsigned char kat2203_retbits[] = { + 0x3d, 0x1f, 0xa7, 0xd8, 0x04, 0x71, 0x44, 0xde, 0xaf, 0xe5, 0xcf, 0x9a, + 0xb3, 0x4e, 0x41, 0xa8, 0x1d, 0xea, 0x90, 0x02, 0x03, 0x35, 0xc3, 0x68, + 0x02, 0x30, 0xa3, 0xad, 0xeb, 0xb8, 0xef, 0xb2, 0x39, 0x11, 0xeb, 0x4f, + 0xa4, 0xfa, 0x3b, 0x50, 0x5b, 0xe2, 0x1c, 0xe8, 0x4c, 0xe0, 0x35, 0xe8, + 0xc4, 0x4c, 0x11, 0xcb, 0xdc, 0x1f, 0x0e, 0x7b, 0x4c, 0x7e, 0x91, 0x30, + 0xe2, 0xfc, 0x57, 0x5d, +}; +static const struct drbg_kat_pr_false kat2203_t = { + 12, kat2203_entropyin, kat2203_nonce, kat2203_persstr, + kat2203_entropyinreseed, kat2203_addinreseed, kat2203_addin0, + kat2203_addin1, kat2203_retbits +}; +static const struct drbg_kat kat2203 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2203_t +}; + +static const unsigned char kat2204_entropyin[] = { + 0x15, 0x57, 0xa1, 0xae, 0xd5, 0x45, 0xe9, 0x7c, 0x1a, 0x84, 0xc4, 0x93, + 0x64, 0x75, 0x35, 0xf6, 0x5d, 0xe5, 0xbe, 0x29, 0x47, 0x8a, 0x4c, 0x9f, + 0xf6, 0x04, 0x79, 0x56, 0x00, 0x3b, 0x19, 0x5f, +}; +static const unsigned char kat2204_nonce[] = {0}; +static const unsigned char kat2204_persstr[] = { + 0x6b, 0xef, 0x51, 0xa1, 0x4d, 0xa3, 0xdc, 0xe3, 0x0f, 0x20, 0xbc, 0x41, + 0x8a, 0x1d, 0xb9, 0x90, 0x10, 0x72, 0x1e, 0xd5, 0x65, 0xa2, 0xb8, 0x5d, + 0x15, 0xd6, 0x90, 0xee, 0x80, 0xd5, 0x38, 0xd5, +}; +static const unsigned char kat2204_entropyinreseed[] = { + 0x10, 0xe9, 0xff, 0x17, 0x59, 0x20, 0x91, 0xc9, 0xbf, 0x21, 0x36, 0xdd, + 0xf8, 0xf8, 0x02, 0x3f, 0x9a, 0xa6, 0xce, 0x25, 0x6e, 0x6e, 0x93, 0x64, + 0x0d, 0xf5, 0xf4, 0xd7, 0xa7, 0xc3, 0x64, 0x6c, +}; +static const unsigned char kat2204_addinreseed[] = {0}; +static const unsigned char kat2204_addin0[] = {0}; +static const unsigned char kat2204_addin1[] = {0}; +static const unsigned char kat2204_retbits[] = { + 0x33, 0x91, 0x97, 0xff, 0x48, 0x49, 0x9c, 0x09, 0x3a, 0x1b, 0x73, 0x18, + 0xe1, 0x09, 0x16, 0xfa, 0x2c, 0xb4, 0x4c, 0xf8, 0x2d, 0x44, 0x1f, 0x9b, + 0xa3, 0x34, 0xdc, 0x73, 0xd6, 0x25, 0xb6, 0x14, 0x03, 0x3b, 0x3f, 0xd8, + 0x98, 0xc1, 0x79, 0xa0, 0x5e, 0xd8, 0x1b, 0xe8, 0x8d, 0x7f, 0xb5, 0xf3, + 0xa4, 0x42, 0x97, 0x39, 0x84, 0x8a, 0xbe, 0xd5, 0x90, 0x40, 0x4f, 0x42, + 0x65, 0x4b, 0x26, 0x87, +}; +static const struct drbg_kat_pr_false kat2204_t = { + 13, kat2204_entropyin, kat2204_nonce, kat2204_persstr, + kat2204_entropyinreseed, kat2204_addinreseed, kat2204_addin0, + kat2204_addin1, kat2204_retbits +}; +static const struct drbg_kat kat2204 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2204_t +}; + +static const unsigned char kat2205_entropyin[] = { + 0xf3, 0xca, 0x53, 0x47, 0x5e, 0xab, 0x61, 0x72, 0x58, 0xe3, 0x97, 0x15, + 0x1a, 0xb3, 0xc1, 0x0a, 0x63, 0x56, 0xd1, 0x8e, 0xfa, 0x22, 0x5a, 0x43, + 0x42, 0xda, 0x13, 0xfa, 0x62, 0xaf, 0xf9, 0x9c, +}; +static const unsigned char kat2205_nonce[] = {0}; +static const unsigned char kat2205_persstr[] = { + 0x48, 0x88, 0x2b, 0x0a, 0x26, 0x35, 0x82, 0xf0, 0xc6, 0xbb, 0x82, 0x88, + 0xba, 0x89, 0x4d, 0x71, 0x41, 0xe6, 0x65, 0xaa, 0x0c, 0x08, 0x4c, 0x7d, + 0x99, 0xea, 0xa0, 0xc1, 0xf0, 0x7e, 0x23, 0xc0, +}; +static const unsigned char kat2205_entropyinreseed[] = { + 0x34, 0xcc, 0x10, 0xa3, 0xd7, 0x13, 0x98, 0xef, 0xec, 0x3c, 0x58, 0x54, + 0xef, 0x82, 0xa7, 0x7a, 0x0b, 0x6b, 0xfc, 0xaf, 0x84, 0x1a, 0xd9, 0xa1, + 0xd5, 0xc7, 0xbf, 0x05, 0xae, 0xed, 0x90, 0x82, +}; +static const unsigned char kat2205_addinreseed[] = {0}; +static const unsigned char kat2205_addin0[] = {0}; +static const unsigned char kat2205_addin1[] = {0}; +static const unsigned char kat2205_retbits[] = { + 0xca, 0xc2, 0x6b, 0x07, 0x20, 0x4e, 0xea, 0x9a, 0x41, 0xe4, 0x28, 0x93, + 0x02, 0xd0, 0xda, 0x8f, 0x36, 0xea, 0x20, 0x0d, 0xac, 0xd2, 0x43, 0x5f, + 0x1b, 0xb1, 0xc1, 0x23, 0x5c, 0xb3, 0x62, 0x49, 0x7e, 0xeb, 0x87, 0xae, + 0xa2, 0x88, 0x9a, 0xa1, 0x09, 0x3d, 0x13, 0xd2, 0xce, 0xe2, 0x5e, 0xb1, + 0x1e, 0x28, 0x22, 0x9c, 0x39, 0xac, 0xdf, 0x89, 0x41, 0x22, 0x42, 0x5b, + 0x59, 0x48, 0xca, 0xe2, +}; +static const struct drbg_kat_pr_false kat2205_t = { + 14, kat2205_entropyin, kat2205_nonce, kat2205_persstr, + kat2205_entropyinreseed, kat2205_addinreseed, kat2205_addin0, + kat2205_addin1, kat2205_retbits +}; +static const struct drbg_kat kat2205 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2205_t +}; + +static const unsigned char kat2206_entropyin[] = { + 0x28, 0x9e, 0x5c, 0x82, 0x83, 0xcb, 0xd7, 0xdb, 0xe7, 0x07, 0x25, 0x5c, + 0xb3, 0xcf, 0x29, 0x07, 0xd8, 0xa5, 0xce, 0x5b, 0x34, 0x73, 0x14, 0x96, + 0x6f, 0x9b, 0x2b, 0xeb, 0xb1, 0xa1, 0xe2, 0x00, +}; +static const unsigned char kat2206_nonce[] = {0}; +static const unsigned char kat2206_persstr[] = { + 0x7f, 0x7b, 0x59, 0xf2, 0x35, 0x10, 0xb9, 0x76, 0xfe, 0x15, 0x5d, 0x04, + 0x75, 0x25, 0xc9, 0x4e, 0x2d, 0xac, 0xb3, 0x0d, 0x77, 0xac, 0x8b, 0x09, + 0x28, 0x15, 0x44, 0xdd, 0x81, 0x5d, 0x52, 0x93, +}; +static const unsigned char kat2206_entropyinreseed[] = { + 0x98, 0xc5, 0x22, 0x02, 0x8f, 0x36, 0xfc, 0x6b, 0x85, 0xa8, 0xf3, 0xc0, + 0x03, 0xef, 0xd4, 0xb1, 0x30, 0xdd, 0x90, 0x18, 0x0e, 0xc8, 0x1c, 0xf7, + 0xc6, 0x7d, 0x4c, 0x53, 0xd1, 0x0f, 0x00, 0x22, +}; +static const unsigned char kat2206_addinreseed[] = { + 0xf7, 0xa0, 0x37, 0x83, 0x28, 0xd9, 0x39, 0xf0, 0xf8, 0x52, 0x1e, 0x39, + 0x40, 0x9d, 0x71, 0x75, 0xd8, 0x73, 0x19, 0xc7, 0x59, 0x7a, 0x90, 0x50, + 0x41, 0x4f, 0x7a, 0xdc, 0x39, 0x2a, 0x32, 0x8d, +}; +static const unsigned char kat2206_addin0[] = { + 0x19, 0xc2, 0x86, 0xf5, 0xb3, 0x61, 0x94, 0xd1, 0xcc, 0x62, 0xc0, 0x18, + 0x81, 0x40, 0xbc, 0x9d, 0x61, 0xd2, 0xa9, 0xc5, 0xd8, 0x8b, 0xb5, 0xae, + 0xbc, 0x22, 0x4b, 0xfb, 0x04, 0xdf, 0xca, 0x83, +}; +static const unsigned char kat2206_addin1[] = { + 0x82, 0x06, 0x50, 0xc3, 0x20, 0x1d, 0x34, 0x7f, 0x5b, 0x20, 0xd3, 0xd2, + 0x5d, 0x1c, 0x8c, 0x7b, 0xef, 0x4d, 0x9f, 0x66, 0xa5, 0xa0, 0x4c, 0x7d, + 0xd9, 0xd6, 0x69, 0xe9, 0x51, 0x82, 0xa0, 0xc4, +}; +static const unsigned char kat2206_retbits[] = { + 0x79, 0xa7, 0x9d, 0x44, 0xed, 0xad, 0xa5, 0x8e, 0x3f, 0xc1, 0x2a, 0x4e, + 0x36, 0xae, 0x90, 0x0e, 0xea, 0xce, 0x29, 0x02, 0x65, 0xf0, 0x12, 0x62, + 0xf4, 0x0f, 0x29, 0x58, 0xa7, 0x0d, 0xcb, 0xd4, 0xd4, 0x18, 0x5f, 0x70, + 0x8c, 0x08, 0x8e, 0xde, 0x7f, 0xf8, 0xc8, 0x37, 0x5f, 0x44, 0xf4, 0x01, + 0x2f, 0x25, 0x12, 0xd3, 0x83, 0x28, 0xa5, 0xdf, 0x17, 0x1a, 0x17, 0x02, + 0x9d, 0x90, 0xf1, 0x85, +}; +static const struct drbg_kat_pr_false kat2206_t = { + 0, kat2206_entropyin, kat2206_nonce, kat2206_persstr, + kat2206_entropyinreseed, kat2206_addinreseed, kat2206_addin0, + kat2206_addin1, kat2206_retbits +}; +static const struct drbg_kat kat2206 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2206_t +}; + +static const unsigned char kat2207_entropyin[] = { + 0xa8, 0xcc, 0xbb, 0xf5, 0xa8, 0xba, 0x78, 0xa9, 0x3f, 0xc7, 0xf3, 0x01, + 0x33, 0x68, 0x9e, 0x2c, 0xee, 0x40, 0x3c, 0x42, 0x2f, 0x11, 0x71, 0xc0, + 0xb6, 0x5c, 0x38, 0xf0, 0x90, 0x41, 0x64, 0x22, +}; +static const unsigned char kat2207_nonce[] = {0}; +static const unsigned char kat2207_persstr[] = { + 0x5c, 0x65, 0x61, 0x1d, 0xaf, 0xa5, 0xfc, 0x06, 0xad, 0xb3, 0x6c, 0x70, + 0x9a, 0x85, 0xa9, 0x37, 0x6c, 0xe5, 0xb2, 0x6b, 0x24, 0x3b, 0x89, 0x22, + 0xe2, 0x54, 0x72, 0xde, 0xee, 0x01, 0x91, 0xf3, +}; +static const unsigned char kat2207_entropyinreseed[] = { + 0xb1, 0x7f, 0xf2, 0x27, 0xac, 0xfa, 0x21, 0xbc, 0x2d, 0x37, 0xe5, 0xba, + 0x23, 0xa8, 0x53, 0x9b, 0xc6, 0xe4, 0xe6, 0xff, 0x0a, 0x48, 0x37, 0x22, + 0x2a, 0x7c, 0xa9, 0x8b, 0xde, 0x86, 0xf8, 0x64, +}; +static const unsigned char kat2207_addinreseed[] = { + 0x2b, 0x8f, 0x75, 0xb7, 0x60, 0x68, 0x8b, 0x41, 0xaa, 0xe7, 0x38, 0x47, + 0xfb, 0xa5, 0x6e, 0x43, 0x27, 0x4b, 0x32, 0x1f, 0xe7, 0xd8, 0xda, 0x6f, + 0x73, 0x45, 0x95, 0xcc, 0xf2, 0x1d, 0xa3, 0x42, +}; +static const unsigned char kat2207_addin0[] = { + 0x66, 0xf8, 0xa4, 0xd5, 0x82, 0x48, 0xb5, 0x0e, 0x9a, 0x58, 0x24, 0x0f, + 0x72, 0x4e, 0xc3, 0xe1, 0x06, 0x3c, 0x47, 0x95, 0x1f, 0x7d, 0x2b, 0x54, + 0x46, 0x6d, 0xcc, 0xa7, 0x2f, 0xc7, 0xbb, 0xe1, +}; +static const unsigned char kat2207_addin1[] = { + 0x0a, 0x29, 0xda, 0xcb, 0xbe, 0xbc, 0x8c, 0x45, 0x6d, 0x5e, 0x94, 0x4a, + 0x4d, 0x81, 0xab, 0x96, 0x4d, 0xe1, 0xce, 0xb3, 0xbb, 0xa8, 0x7f, 0x91, + 0xbb, 0x78, 0x87, 0xfc, 0x71, 0x45, 0x6e, 0x8e, +}; +static const unsigned char kat2207_retbits[] = { + 0x49, 0xda, 0x27, 0x16, 0xe4, 0xdc, 0xfb, 0x22, 0x5b, 0x9b, 0x18, 0x3f, + 0x98, 0xf9, 0x22, 0xd5, 0x68, 0xc5, 0x59, 0x4a, 0x76, 0xf1, 0xbb, 0x4d, + 0xaa, 0xe6, 0xc1, 0x01, 0xb4, 0x94, 0x85, 0x4a, 0x0a, 0x11, 0xd2, 0x44, + 0x7c, 0x20, 0xb5, 0x57, 0x8a, 0x92, 0xd8, 0x47, 0x65, 0xfd, 0x76, 0xd0, + 0xdf, 0x16, 0xba, 0x38, 0xdd, 0xeb, 0x11, 0x0d, 0xb7, 0xcd, 0x99, 0xd7, + 0xaa, 0x71, 0xe8, 0x74, +}; +static const struct drbg_kat_pr_false kat2207_t = { + 1, kat2207_entropyin, kat2207_nonce, kat2207_persstr, + kat2207_entropyinreseed, kat2207_addinreseed, kat2207_addin0, + kat2207_addin1, kat2207_retbits +}; +static const struct drbg_kat kat2207 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2207_t +}; + +static const unsigned char kat2208_entropyin[] = { + 0x89, 0x7c, 0x09, 0x7d, 0x81, 0x5c, 0xb9, 0x8e, 0x90, 0xd0, 0x1d, 0x79, + 0x2e, 0xa4, 0xb3, 0x6a, 0xfa, 0x90, 0x37, 0x46, 0x95, 0x12, 0xf0, 0x3b, + 0x39, 0x27, 0xb8, 0x95, 0x2e, 0x90, 0x85, 0x00, +}; +static const unsigned char kat2208_nonce[] = {0}; +static const unsigned char kat2208_persstr[] = { + 0x76, 0x1a, 0x0e, 0xa7, 0xd6, 0x19, 0xf3, 0xeb, 0xc0, 0x72, 0xbb, 0x79, + 0x9d, 0x7e, 0xfb, 0xaa, 0xfb, 0x54, 0xe8, 0x68, 0x9d, 0x95, 0xf7, 0xee, + 0x57, 0x34, 0x56, 0x07, 0xae, 0x61, 0xa9, 0xc6, +}; +static const unsigned char kat2208_entropyinreseed[] = { + 0x86, 0x8d, 0x7f, 0xfb, 0xe5, 0x1b, 0xd1, 0x2e, 0xb8, 0x8b, 0x0b, 0x5d, + 0xfb, 0x25, 0xdf, 0x5d, 0x5d, 0xcb, 0x94, 0x76, 0x4f, 0x05, 0x4a, 0x3a, + 0xe0, 0x76, 0x80, 0x88, 0x8b, 0xbf, 0x5e, 0x26, +}; +static const unsigned char kat2208_addinreseed[] = { + 0x59, 0xf8, 0xbb, 0x8b, 0x05, 0xab, 0xcb, 0xc2, 0x5a, 0x40, 0x40, 0x95, + 0x05, 0x5b, 0xac, 0x55, 0xd0, 0xdb, 0xd3, 0xca, 0x41, 0xec, 0xce, 0x17, + 0x74, 0x02, 0xdf, 0xd0, 0x74, 0x04, 0xc3, 0x8e, +}; +static const unsigned char kat2208_addin0[] = { + 0xa7, 0x98, 0x02, 0xf9, 0x85, 0xa1, 0xd1, 0xcd, 0x0d, 0x4e, 0xd8, 0xc6, + 0x39, 0x4a, 0xe5, 0x3c, 0xab, 0x35, 0x42, 0x3e, 0xbe, 0xe2, 0xbc, 0x53, + 0x6a, 0x38, 0x66, 0xed, 0x49, 0x65, 0x68, 0x7a, +}; +static const unsigned char kat2208_addin1[] = { + 0x21, 0xb6, 0xcc, 0xaf, 0x45, 0xae, 0x2e, 0x8d, 0x51, 0xd9, 0x63, 0x68, + 0x18, 0xa8, 0x46, 0x80, 0xb3, 0x8f, 0x9c, 0x2d, 0xeb, 0x7a, 0x82, 0x04, + 0x0f, 0xd8, 0xf8, 0xb2, 0x90, 0x31, 0x6e, 0x4f, +}; +static const unsigned char kat2208_retbits[] = { + 0x99, 0x93, 0x84, 0x11, 0xa8, 0x54, 0xed, 0xfa, 0xe3, 0x68, 0x31, 0xf8, + 0x87, 0x0d, 0xe3, 0x9a, 0x17, 0x0f, 0x23, 0x60, 0x72, 0xc0, 0x8f, 0xec, + 0x93, 0x6b, 0x7f, 0x7d, 0x7b, 0xd3, 0xab, 0xc3, 0x99, 0x56, 0x16, 0xde, + 0x96, 0x59, 0x58, 0xc0, 0x0c, 0x36, 0x03, 0x0d, 0x57, 0xf6, 0x66, 0x56, + 0x32, 0x47, 0x3b, 0x07, 0xae, 0x78, 0xad, 0xd2, 0x21, 0x0f, 0x95, 0x61, + 0x19, 0x2e, 0x69, 0x94, +}; +static const struct drbg_kat_pr_false kat2208_t = { + 2, kat2208_entropyin, kat2208_nonce, kat2208_persstr, + kat2208_entropyinreseed, kat2208_addinreseed, kat2208_addin0, + kat2208_addin1, kat2208_retbits +}; +static const struct drbg_kat kat2208 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2208_t +}; + +static const unsigned char kat2209_entropyin[] = { + 0x46, 0xa1, 0xcb, 0xb4, 0xcf, 0xec, 0x94, 0x99, 0x2b, 0x0c, 0x06, 0xe6, + 0xcd, 0x58, 0xe1, 0x04, 0x3f, 0xef, 0x1c, 0x34, 0xe8, 0x84, 0x04, 0x28, + 0x65, 0x84, 0x5d, 0x83, 0xdf, 0xd5, 0x2c, 0xb3, +}; +static const unsigned char kat2209_nonce[] = {0}; +static const unsigned char kat2209_persstr[] = { + 0x5c, 0x86, 0x2d, 0xc6, 0x89, 0x4a, 0x36, 0x89, 0x75, 0x5b, 0x23, 0x25, + 0xa9, 0x2e, 0xf7, 0x9a, 0xce, 0x4a, 0x2c, 0x25, 0xd1, 0xd8, 0x71, 0x6b, + 0x1a, 0xce, 0xeb, 0xcb, 0x71, 0xb9, 0x72, 0xf9, +}; +static const unsigned char kat2209_entropyinreseed[] = { + 0x02, 0xd4, 0xbc, 0xf9, 0x60, 0x95, 0xc0, 0x20, 0x69, 0xd6, 0x93, 0x2d, + 0x62, 0x70, 0x39, 0x64, 0xc2, 0xbd, 0x09, 0xfe, 0xdf, 0xd9, 0x87, 0x88, + 0xda, 0x20, 0xbe, 0x5d, 0x89, 0x86, 0xda, 0x40, +}; +static const unsigned char kat2209_addinreseed[] = { + 0x3d, 0xc2, 0xf2, 0xe1, 0xea, 0x19, 0xd6, 0x70, 0xff, 0x66, 0x9e, 0xe7, + 0x3a, 0x45, 0xcb, 0xd0, 0x69, 0x01, 0x22, 0x82, 0x63, 0x1a, 0xf6, 0xf9, + 0x16, 0xb9, 0xd1, 0x19, 0xdf, 0xd3, 0xb3, 0xf4, +}; +static const unsigned char kat2209_addin0[] = { + 0x08, 0x40, 0xaf, 0x82, 0x4f, 0x94, 0x13, 0x9d, 0xad, 0x12, 0xb5, 0x01, + 0xa2, 0x7e, 0x24, 0xe2, 0x7d, 0x91, 0xed, 0xe1, 0xcd, 0xbb, 0x15, 0x47, + 0x0d, 0x98, 0x7e, 0x98, 0xb0, 0x24, 0x3e, 0x5d, +}; +static const unsigned char kat2209_addin1[] = { + 0x1d, 0x4e, 0x1e, 0x4b, 0xb4, 0x9e, 0xcf, 0x8c, 0x58, 0x2b, 0xba, 0x65, + 0x82, 0xa5, 0x98, 0x9d, 0x20, 0x47, 0x29, 0xc3, 0xa8, 0x01, 0x18, 0x20, + 0x66, 0xa6, 0x71, 0x55, 0x89, 0x6c, 0x48, 0xc0, +}; +static const unsigned char kat2209_retbits[] = { + 0x53, 0x22, 0xed, 0x1f, 0x50, 0xaf, 0x42, 0xc1, 0x3b, 0x2f, 0x36, 0xa4, + 0xfa, 0x04, 0x1d, 0xc1, 0x84, 0x66, 0xba, 0xea, 0x55, 0x80, 0x1d, 0x41, + 0xda, 0xc5, 0x49, 0x46, 0x55, 0x6f, 0xd0, 0xe0, 0x28, 0x47, 0xa2, 0x3d, + 0x4e, 0x89, 0x39, 0xce, 0x1d, 0x3c, 0x87, 0xbd, 0x9e, 0x61, 0xc4, 0xf6, + 0x7a, 0x66, 0x04, 0x97, 0x2e, 0x27, 0x3b, 0x30, 0xd0, 0xe3, 0x65, 0x5e, + 0xbc, 0xf7, 0x6d, 0xe0, +}; +static const struct drbg_kat_pr_false kat2209_t = { + 3, kat2209_entropyin, kat2209_nonce, kat2209_persstr, + kat2209_entropyinreseed, kat2209_addinreseed, kat2209_addin0, + kat2209_addin1, kat2209_retbits +}; +static const struct drbg_kat kat2209 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2209_t +}; + +static const unsigned char kat2210_entropyin[] = { + 0x96, 0x08, 0x08, 0x1f, 0xa3, 0xdf, 0xa9, 0xd5, 0x0f, 0x0e, 0x77, 0xae, + 0xf3, 0x07, 0x59, 0xcc, 0x5d, 0xc1, 0xa6, 0x42, 0x36, 0xa8, 0xf0, 0x9c, + 0x64, 0xb6, 0x89, 0xe6, 0x9d, 0xf2, 0xc3, 0x95, +}; +static const unsigned char kat2210_nonce[] = {0}; +static const unsigned char kat2210_persstr[] = { + 0xa5, 0x5e, 0xb6, 0xa8, 0x01, 0xc6, 0xe4, 0xc9, 0xf1, 0x87, 0xad, 0xc8, + 0x65, 0x91, 0x60, 0x18, 0x1f, 0x21, 0x4b, 0xd2, 0x6a, 0x93, 0x2e, 0x16, + 0xc3, 0xb4, 0xc1, 0x42, 0xa2, 0x67, 0xdb, 0xae, +}; +static const unsigned char kat2210_entropyinreseed[] = { + 0x4a, 0x64, 0xd7, 0x1c, 0xe7, 0x39, 0xd1, 0x4b, 0x49, 0x03, 0x76, 0x96, + 0x4f, 0x50, 0xc5, 0x06, 0xcb, 0xa0, 0xbe, 0xdf, 0x51, 0xbd, 0x79, 0xc2, + 0x86, 0x19, 0x59, 0xc6, 0x72, 0x24, 0x7a, 0x1f, +}; +static const unsigned char kat2210_addinreseed[] = { + 0xa6, 0xae, 0x54, 0xc4, 0x2d, 0x7e, 0xe1, 0xdd, 0x6e, 0x91, 0x96, 0x51, + 0xed, 0x6d, 0x6d, 0x8e, 0x03, 0x40, 0x38, 0x27, 0xc6, 0x13, 0x75, 0x3e, + 0xcc, 0x51, 0x77, 0x6c, 0xdc, 0xd2, 0x4f, 0x9f, +}; +static const unsigned char kat2210_addin0[] = { + 0xf4, 0x01, 0x1b, 0x9b, 0xed, 0x89, 0x75, 0x7e, 0xac, 0xe1, 0x51, 0x4c, + 0x03, 0x18, 0x4b, 0x76, 0xc0, 0xaf, 0x78, 0x97, 0xb1, 0x70, 0x73, 0x28, + 0x0a, 0x40, 0xe7, 0xaa, 0x8f, 0x39, 0xeb, 0xc1, +}; +static const unsigned char kat2210_addin1[] = { + 0x59, 0x5f, 0xa0, 0xd4, 0x81, 0x73, 0xec, 0x95, 0x15, 0x0c, 0x3c, 0x62, + 0x2b, 0xae, 0xb1, 0x53, 0xfb, 0xca, 0x88, 0x0f, 0xc6, 0x83, 0xd8, 0xe5, + 0xc1, 0x4d, 0x6a, 0xb2, 0x53, 0x86, 0x94, 0x32, +}; +static const unsigned char kat2210_retbits[] = { + 0x22, 0xf5, 0xfc, 0x79, 0x6c, 0x87, 0x95, 0xb9, 0xc8, 0x29, 0x6f, 0x0f, + 0x31, 0x36, 0x92, 0x03, 0xd5, 0x16, 0x7b, 0x43, 0x56, 0x0d, 0x50, 0x3f, + 0x20, 0xcb, 0xa6, 0x2c, 0xf5, 0xbb, 0x1d, 0x4a, 0xdd, 0x49, 0x1a, 0xcf, + 0x44, 0xcc, 0x11, 0xff, 0x40, 0x90, 0xaf, 0x7d, 0xf1, 0x0e, 0xa7, 0xb9, + 0xb6, 0x09, 0xe1, 0xe8, 0xa7, 0x90, 0x46, 0x05, 0x62, 0x87, 0x40, 0xa2, + 0xa6, 0xa1, 0xd6, 0xf4, +}; +static const struct drbg_kat_pr_false kat2210_t = { + 4, kat2210_entropyin, kat2210_nonce, kat2210_persstr, + kat2210_entropyinreseed, kat2210_addinreseed, kat2210_addin0, + kat2210_addin1, kat2210_retbits +}; +static const struct drbg_kat kat2210 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2210_t +}; + +static const unsigned char kat2211_entropyin[] = { + 0x13, 0x49, 0xc7, 0xf3, 0xd5, 0x2b, 0x8f, 0x92, 0xa0, 0xfe, 0xf2, 0xd8, + 0xc6, 0xa6, 0x77, 0xc3, 0xaf, 0x42, 0xcd, 0xf0, 0x76, 0x02, 0x6e, 0x0f, + 0x27, 0xec, 0x44, 0x97, 0xed, 0x86, 0x6f, 0x5f, +}; +static const unsigned char kat2211_nonce[] = {0}; +static const unsigned char kat2211_persstr[] = { + 0x47, 0x1e, 0x89, 0x39, 0x76, 0x37, 0x3d, 0x2b, 0x6c, 0x34, 0x5a, 0xfd, + 0xa8, 0xcf, 0xd2, 0xfb, 0x90, 0x8b, 0xdf, 0x70, 0x46, 0x2c, 0x31, 0x45, + 0xbf, 0x88, 0x78, 0x8b, 0x31, 0xc1, 0x23, 0xbe, +}; +static const unsigned char kat2211_entropyinreseed[] = { + 0x50, 0x3c, 0xc8, 0xc9, 0xb5, 0xec, 0xe0, 0xa8, 0x8c, 0xc1, 0xe0, 0x62, + 0x25, 0xed, 0xfd, 0x46, 0x9d, 0x6f, 0xfd, 0xd5, 0x93, 0xdb, 0x30, 0x13, + 0xdb, 0x38, 0x61, 0x57, 0x6c, 0x5f, 0xf7, 0x5b, +}; +static const unsigned char kat2211_addinreseed[] = { + 0x2c, 0x94, 0x8a, 0x70, 0x38, 0x7b, 0x4e, 0xb5, 0x64, 0x2a, 0xd9, 0x2f, + 0x65, 0x7a, 0x7e, 0x5a, 0x65, 0xf2, 0xc4, 0x33, 0x72, 0xf3, 0x30, 0xef, + 0x27, 0x34, 0x4f, 0x8a, 0x65, 0xc0, 0x53, 0x0f, +}; +static const unsigned char kat2211_addin0[] = { + 0x1b, 0xc8, 0x13, 0x3e, 0xe0, 0x4b, 0x9a, 0x4c, 0xae, 0x32, 0x30, 0x0c, + 0xbb, 0x04, 0x83, 0x2f, 0xb4, 0xb7, 0x8f, 0x6c, 0x87, 0xd6, 0x51, 0xaf, + 0xfc, 0xb1, 0xb5, 0x22, 0x58, 0x5b, 0xc6, 0xcd, +}; +static const unsigned char kat2211_addin1[] = { + 0xf9, 0xd1, 0x1e, 0x59, 0xa9, 0x7c, 0x90, 0xf0, 0xba, 0xa3, 0x00, 0xa2, + 0x73, 0x0b, 0x3e, 0x18, 0xdf, 0x83, 0x04, 0x33, 0x03, 0xbc, 0xbb, 0x31, + 0x68, 0x6e, 0xe3, 0x3c, 0x24, 0xda, 0x08, 0xa9, +}; +static const unsigned char kat2211_retbits[] = { + 0x63, 0xc3, 0x69, 0x2d, 0x71, 0xee, 0x48, 0x87, 0x9d, 0x0d, 0x8d, 0x1c, + 0x9a, 0x9d, 0x6c, 0x78, 0x19, 0xe3, 0xb6, 0x1f, 0xad, 0xb9, 0x7b, 0xb8, + 0xdd, 0x5c, 0x6b, 0xdd, 0x87, 0x88, 0x81, 0x9d, 0x59, 0xb6, 0x17, 0xf0, + 0x58, 0xea, 0x4c, 0x21, 0xde, 0xc6, 0xe1, 0xb7, 0x03, 0xa6, 0x31, 0x7a, + 0x48, 0x7c, 0x65, 0xc2, 0xc7, 0xf1, 0x9e, 0xa9, 0x9e, 0x9a, 0x50, 0xd5, + 0xcc, 0xdc, 0x9e, 0x9e, +}; +static const struct drbg_kat_pr_false kat2211_t = { + 5, kat2211_entropyin, kat2211_nonce, kat2211_persstr, + kat2211_entropyinreseed, kat2211_addinreseed, kat2211_addin0, + kat2211_addin1, kat2211_retbits +}; +static const struct drbg_kat kat2211 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2211_t +}; + +static const unsigned char kat2212_entropyin[] = { + 0x26, 0x0f, 0x99, 0xf0, 0xa9, 0x85, 0x05, 0xfd, 0xa8, 0x9e, 0xad, 0xd2, + 0x02, 0x4f, 0xaa, 0x84, 0x63, 0xc3, 0x2a, 0x62, 0x45, 0x30, 0x06, 0xfd, + 0x19, 0xe8, 0x8b, 0x34, 0xf5, 0x38, 0x9a, 0x77, +}; +static const unsigned char kat2212_nonce[] = {0}; +static const unsigned char kat2212_persstr[] = { + 0x1b, 0xf7, 0xcf, 0x55, 0x38, 0x3d, 0xba, 0xc2, 0x6f, 0xc1, 0x83, 0xf5, + 0x06, 0x52, 0xcf, 0x03, 0xa8, 0xde, 0x20, 0x42, 0x32, 0xce, 0xe0, 0x24, + 0x2a, 0x1a, 0xbf, 0xd4, 0x3e, 0x7a, 0x38, 0x1f, +}; +static const unsigned char kat2212_entropyinreseed[] = { + 0xab, 0xe2, 0xbd, 0x8e, 0x54, 0x49, 0x2c, 0x0c, 0xb3, 0x17, 0xf8, 0x36, + 0xfa, 0xa0, 0x85, 0x0e, 0x70, 0x8d, 0x78, 0x89, 0x57, 0xf1, 0xe2, 0x3a, + 0x33, 0xc1, 0x13, 0x2a, 0x48, 0xc5, 0xd8, 0x4e, +}; +static const unsigned char kat2212_addinreseed[] = { + 0xc0, 0xfb, 0x4b, 0x84, 0x44, 0x5f, 0x37, 0xe2, 0x60, 0xbc, 0xba, 0xe4, + 0x56, 0x57, 0x6b, 0x4f, 0x7c, 0x39, 0xf0, 0xdc, 0xf3, 0x12, 0x2e, 0x18, + 0xd6, 0x0c, 0x31, 0x4e, 0xd4, 0xd7, 0xb3, 0x1e, +}; +static const unsigned char kat2212_addin0[] = { + 0x9f, 0xdd, 0x11, 0x19, 0x65, 0x7c, 0xb3, 0x15, 0x98, 0xfc, 0xa9, 0xee, + 0xe9, 0x60, 0x0c, 0x1e, 0xae, 0x26, 0xda, 0xb6, 0x8d, 0x8f, 0xe7, 0xb8, + 0xa3, 0xf2, 0x6f, 0x4a, 0xe2, 0x92, 0xb3, 0xc0, +}; +static const unsigned char kat2212_addin1[] = { + 0x9f, 0xd9, 0xd7, 0x42, 0xa6, 0x75, 0xf2, 0x72, 0x5c, 0x49, 0x67, 0xc7, + 0x6f, 0x1c, 0x79, 0x7c, 0x07, 0xae, 0xaa, 0xcf, 0x20, 0x98, 0x5a, 0xb9, + 0xd8, 0x8e, 0x6e, 0x08, 0x4d, 0xde, 0x20, 0x56, +}; +static const unsigned char kat2212_retbits[] = { + 0x22, 0x26, 0x7c, 0x1d, 0xfb, 0x3a, 0xe0, 0xf4, 0x6b, 0xfc, 0x93, 0x0e, + 0x9d, 0x02, 0xe4, 0x05, 0x02, 0x8f, 0x0a, 0xb8, 0x38, 0x07, 0x80, 0xdc, + 0xa0, 0x03, 0x40, 0xc9, 0xe7, 0xe0, 0x30, 0xe0, 0x1c, 0xba, 0xd1, 0xad, + 0xaf, 0xf0, 0x79, 0x05, 0xe3, 0x43, 0x60, 0x70, 0xba, 0x65, 0x8d, 0x83, + 0x26, 0x35, 0x3e, 0xf4, 0x7d, 0xc0, 0x6c, 0x55, 0x08, 0x9c, 0x2d, 0xaa, + 0x5e, 0x39, 0x6e, 0x8c, +}; +static const struct drbg_kat_pr_false kat2212_t = { + 6, kat2212_entropyin, kat2212_nonce, kat2212_persstr, + kat2212_entropyinreseed, kat2212_addinreseed, kat2212_addin0, + kat2212_addin1, kat2212_retbits +}; +static const struct drbg_kat kat2212 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2212_t +}; + +static const unsigned char kat2213_entropyin[] = { + 0xa7, 0x4a, 0xa2, 0xa7, 0xce, 0x50, 0xa8, 0x71, 0xfb, 0x82, 0xa8, 0xb7, + 0x17, 0x9d, 0x25, 0x60, 0x6f, 0xb0, 0x0f, 0x4d, 0xcd, 0x6a, 0x1e, 0x8c, + 0x2d, 0x6d, 0xfe, 0xe1, 0x1b, 0x58, 0xdc, 0xa1, +}; +static const unsigned char kat2213_nonce[] = {0}; +static const unsigned char kat2213_persstr[] = { + 0x95, 0xcf, 0x5c, 0x25, 0x12, 0xc7, 0x98, 0xcc, 0x23, 0xaa, 0x5d, 0x3d, + 0xb1, 0xb8, 0x2b, 0x14, 0xd2, 0x0d, 0x32, 0xcb, 0x8b, 0x7a, 0xae, 0x6b, + 0xc2, 0x63, 0x0e, 0x9c, 0x7a, 0x92, 0x39, 0xb3, +}; +static const unsigned char kat2213_entropyinreseed[] = { + 0xe2, 0xde, 0x02, 0xb8, 0x48, 0x01, 0xbd, 0xc4, 0xf4, 0x94, 0x80, 0x05, + 0x5d, 0x54, 0xc4, 0xfd, 0x58, 0xd7, 0xf1, 0x24, 0x2b, 0xfb, 0xfa, 0x8f, + 0xa3, 0x5c, 0x99, 0x21, 0x1f, 0x27, 0x11, 0x3d, +}; +static const unsigned char kat2213_addinreseed[] = { + 0x43, 0x4d, 0x46, 0x71, 0x50, 0xde, 0xcd, 0x49, 0x53, 0x6a, 0xb9, 0x7f, + 0x1a, 0x7d, 0xf2, 0x6f, 0x9f, 0x35, 0x31, 0x12, 0xde, 0xc5, 0xa6, 0x3b, + 0xc0, 0xa9, 0xee, 0x78, 0x9d, 0x3a, 0xa0, 0xd6, +}; +static const unsigned char kat2213_addin0[] = { + 0x4b, 0x08, 0x79, 0xb0, 0x9f, 0x7b, 0xfd, 0x83, 0xd4, 0x9f, 0x68, 0x50, + 0x87, 0x68, 0x54, 0x1e, 0x6a, 0x5c, 0x9c, 0x7a, 0xe6, 0xd0, 0x21, 0xdd, + 0x74, 0x63, 0x95, 0x37, 0x0f, 0x1c, 0x50, 0xe2, +}; +static const unsigned char kat2213_addin1[] = { + 0x7b, 0xf0, 0xa7, 0x59, 0x7c, 0x68, 0x4d, 0xce, 0xd6, 0xff, 0x03, 0x2a, + 0x58, 0x40, 0x70, 0x14, 0x40, 0x38, 0xce, 0x4d, 0xc3, 0x37, 0x65, 0xa6, + 0x7b, 0x92, 0xfd, 0x5b, 0x56, 0x31, 0xdf, 0x04, +}; +static const unsigned char kat2213_retbits[] = { + 0xd8, 0x3e, 0xae, 0xaf, 0x16, 0xdf, 0x26, 0xfb, 0x1a, 0x58, 0xd4, 0x52, + 0x01, 0x47, 0xfc, 0x05, 0x04, 0xb2, 0x97, 0x41, 0x56, 0x7b, 0x75, 0xea, + 0xa5, 0x79, 0xdf, 0x31, 0x0b, 0xe3, 0xb1, 0xec, 0x5d, 0x95, 0x08, 0x13, + 0x07, 0x0f, 0x54, 0x34, 0x46, 0x2c, 0xea, 0x3a, 0x2b, 0x05, 0xaf, 0xc0, + 0x02, 0xa5, 0x11, 0x80, 0x1d, 0xd7, 0x3f, 0x82, 0x64, 0x64, 0x1d, 0xf1, + 0x16, 0x19, 0xbc, 0xc9, +}; +static const struct drbg_kat_pr_false kat2213_t = { + 7, kat2213_entropyin, kat2213_nonce, kat2213_persstr, + kat2213_entropyinreseed, kat2213_addinreseed, kat2213_addin0, + kat2213_addin1, kat2213_retbits +}; +static const struct drbg_kat kat2213 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2213_t +}; + +static const unsigned char kat2214_entropyin[] = { + 0x1b, 0x68, 0x10, 0x81, 0x60, 0x43, 0xca, 0x32, 0x6a, 0x44, 0x17, 0xb9, + 0x57, 0x68, 0x2b, 0x20, 0xce, 0xaf, 0x53, 0x2c, 0xfd, 0xd3, 0x29, 0xe6, + 0x19, 0xfa, 0xa2, 0x72, 0x6c, 0x03, 0x15, 0x56, +}; +static const unsigned char kat2214_nonce[] = {0}; +static const unsigned char kat2214_persstr[] = { + 0x56, 0xee, 0x0d, 0x8c, 0xb5, 0x4c, 0x5a, 0x8d, 0x97, 0xbe, 0x4e, 0xc5, + 0x11, 0x74, 0x18, 0x61, 0x1c, 0x18, 0x24, 0x13, 0x22, 0xfd, 0x12, 0xbb, + 0xb5, 0x0d, 0xbd, 0x5d, 0x60, 0x01, 0xa7, 0xdd, +}; +static const unsigned char kat2214_entropyinreseed[] = { + 0x1a, 0x88, 0xc8, 0x99, 0xee, 0x1c, 0x5c, 0x6f, 0x29, 0x64, 0xaa, 0x6b, + 0x36, 0xf6, 0x15, 0x98, 0x95, 0xd2, 0x86, 0x06, 0x96, 0xe3, 0xd6, 0xe3, + 0xe9, 0x2f, 0x72, 0x31, 0xbf, 0x6e, 0x47, 0x89, +}; +static const unsigned char kat2214_addinreseed[] = { + 0x66, 0xa0, 0x75, 0x60, 0xc5, 0x1d, 0x44, 0x09, 0x77, 0xa8, 0xdb, 0x1b, + 0x5f, 0xb1, 0xcf, 0x8d, 0x71, 0x53, 0x0f, 0xa8, 0x57, 0x9d, 0x43, 0x67, + 0x12, 0x3c, 0x82, 0xc3, 0x8a, 0x2e, 0x43, 0x87, +}; +static const unsigned char kat2214_addin0[] = { + 0xbc, 0x64, 0xeb, 0xb2, 0x05, 0x35, 0x11, 0xb5, 0xb5, 0xba, 0x2e, 0x99, + 0x87, 0x91, 0x28, 0x3d, 0x9b, 0x5d, 0xd8, 0xeb, 0x9d, 0x39, 0xb7, 0xd1, + 0xa2, 0xc3, 0x15, 0x62, 0xa0, 0xea, 0xc1, 0x2a, +}; +static const unsigned char kat2214_addin1[] = { + 0x1d, 0x8d, 0x76, 0xc1, 0x06, 0xbd, 0x27, 0x5c, 0x39, 0xd2, 0x1d, 0xb2, + 0xa1, 0xfe, 0x1a, 0x26, 0x42, 0xbd, 0xaf, 0xfc, 0x92, 0x12, 0xe8, 0x41, + 0x45, 0xa2, 0x24, 0xcd, 0xfc, 0x6a, 0x7e, 0x2f, +}; +static const unsigned char kat2214_retbits[] = { + 0x31, 0x35, 0x93, 0x3b, 0x86, 0xd9, 0x80, 0x31, 0xa9, 0x7f, 0xf1, 0x38, + 0x28, 0xc6, 0x3f, 0x43, 0x78, 0x0c, 0x81, 0x76, 0x85, 0x6c, 0x6f, 0xc8, + 0xd4, 0xf2, 0xd3, 0x2a, 0xfc, 0xc6, 0xe8, 0x4f, 0x71, 0xee, 0x0f, 0xe6, + 0xde, 0x9a, 0x7b, 0x75, 0x96, 0x8b, 0xcf, 0xfe, 0x9f, 0xae, 0x9d, 0xf7, + 0xa5, 0x3e, 0x8d, 0xfb, 0x46, 0xac, 0xec, 0x16, 0x8d, 0x1c, 0xa4, 0xc5, + 0x9b, 0xd4, 0x4b, 0x93, +}; +static const struct drbg_kat_pr_false kat2214_t = { + 8, kat2214_entropyin, kat2214_nonce, kat2214_persstr, + kat2214_entropyinreseed, kat2214_addinreseed, kat2214_addin0, + kat2214_addin1, kat2214_retbits +}; +static const struct drbg_kat kat2214 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2214_t +}; + +static const unsigned char kat2215_entropyin[] = { + 0xa4, 0x40, 0xef, 0xa3, 0xc7, 0xe8, 0x96, 0x63, 0xe3, 0x71, 0xe4, 0x1b, + 0xa5, 0xe1, 0x92, 0xb9, 0x5b, 0x2d, 0x14, 0x94, 0x2b, 0xfd, 0xfd, 0x03, + 0x78, 0x68, 0x60, 0xee, 0x33, 0xf7, 0x96, 0xb4, +}; +static const unsigned char kat2215_nonce[] = {0}; +static const unsigned char kat2215_persstr[] = { + 0x32, 0x89, 0xae, 0xb3, 0xce, 0xda, 0x9d, 0xef, 0xf2, 0xf6, 0x5e, 0xa8, + 0x94, 0x17, 0x6f, 0x13, 0x1c, 0x41, 0x2f, 0x69, 0x95, 0x60, 0xfb, 0x21, + 0xd8, 0x7b, 0xe5, 0xaf, 0x99, 0xba, 0x18, 0xaf, +}; +static const unsigned char kat2215_entropyinreseed[] = { + 0x93, 0x39, 0xf1, 0xff, 0xc3, 0x32, 0x0f, 0xb4, 0xd5, 0x1c, 0x24, 0x34, + 0xf5, 0xe5, 0x1e, 0xd5, 0x6a, 0x12, 0x01, 0x12, 0x73, 0xa4, 0x5f, 0x64, + 0x00, 0x2d, 0x1e, 0x3f, 0x91, 0x90, 0xbf, 0x3b, +}; +static const unsigned char kat2215_addinreseed[] = { + 0x7a, 0xcd, 0xc7, 0x96, 0x7a, 0xa6, 0x86, 0xae, 0x37, 0xeb, 0xe9, 0xf3, + 0xae, 0x6f, 0x53, 0x11, 0x30, 0xbd, 0xb6, 0xc4, 0x84, 0xae, 0x93, 0x81, + 0xe9, 0x62, 0xdb, 0x37, 0x01, 0xf6, 0x6c, 0x4e, +}; +static const unsigned char kat2215_addin0[] = { + 0xbf, 0x85, 0x64, 0x7e, 0x6c, 0xce, 0xe6, 0xd7, 0x8d, 0xbf, 0x62, 0x5a, + 0x46, 0x59, 0xac, 0xb8, 0xcc, 0x50, 0x3c, 0xfd, 0x1c, 0xf9, 0xfd, 0xd5, + 0x46, 0x8d, 0x51, 0xda, 0x1e, 0xba, 0x39, 0xdf, +}; +static const unsigned char kat2215_addin1[] = { + 0x60, 0xda, 0x39, 0x9d, 0x92, 0x72, 0xeb, 0x90, 0x87, 0x8e, 0x3a, 0x24, + 0xf1, 0xab, 0x03, 0xd2, 0x57, 0xe5, 0x67, 0xaa, 0x1e, 0xba, 0xa4, 0x1e, + 0x00, 0xb4, 0xc8, 0x7c, 0xad, 0xda, 0x46, 0x3b, +}; +static const unsigned char kat2215_retbits[] = { + 0x28, 0xac, 0x3a, 0xe1, 0xfb, 0x85, 0x2a, 0x3d, 0x9a, 0xb1, 0x76, 0x18, + 0x49, 0x30, 0x2c, 0x25, 0x15, 0xa0, 0xa8, 0x91, 0x2b, 0xbb, 0xb3, 0x72, + 0x48, 0x05, 0x46, 0x0b, 0x32, 0x7e, 0x34, 0xcc, 0x78, 0x10, 0xd0, 0xb4, + 0x60, 0x8c, 0x9c, 0x25, 0xa0, 0xbd, 0xbd, 0xd3, 0x42, 0x08, 0x83, 0x05, + 0x9d, 0xc7, 0x7f, 0x59, 0xd6, 0x96, 0x0b, 0x27, 0x15, 0x13, 0xd5, 0x26, + 0x7d, 0x96, 0xc9, 0xc2, +}; +static const struct drbg_kat_pr_false kat2215_t = { + 9, kat2215_entropyin, kat2215_nonce, kat2215_persstr, + kat2215_entropyinreseed, kat2215_addinreseed, kat2215_addin0, + kat2215_addin1, kat2215_retbits +}; +static const struct drbg_kat kat2215 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2215_t +}; + +static const unsigned char kat2216_entropyin[] = { + 0xc8, 0xa3, 0x2e, 0x5f, 0xf0, 0x6b, 0xc2, 0x0f, 0x07, 0x6b, 0x3b, 0xba, + 0xbd, 0x68, 0xeb, 0x21, 0xb6, 0x5f, 0x95, 0x36, 0xd7, 0x80, 0x27, 0x1a, + 0xfb, 0x13, 0xf7, 0x9e, 0xeb, 0x21, 0x0c, 0x1f, +}; +static const unsigned char kat2216_nonce[] = {0}; +static const unsigned char kat2216_persstr[] = { + 0xce, 0x90, 0xe1, 0xaf, 0x81, 0xea, 0x8f, 0x9c, 0x58, 0x76, 0x20, 0x62, + 0x3d, 0xee, 0x3e, 0xf8, 0x89, 0xab, 0x61, 0x0b, 0x4d, 0x18, 0x27, 0x70, + 0x1c, 0x73, 0x92, 0x16, 0x2e, 0xab, 0x92, 0x3d, +}; +static const unsigned char kat2216_entropyinreseed[] = { + 0xd1, 0xcc, 0xf4, 0xfb, 0xd8, 0xe0, 0x70, 0x9b, 0x4c, 0xf8, 0xd2, 0x04, + 0x4e, 0xe3, 0xc8, 0x9f, 0xcb, 0xbc, 0x1c, 0x6c, 0xf1, 0x0d, 0x63, 0x4e, + 0x44, 0x60, 0x5c, 0xc6, 0x76, 0xb7, 0x50, 0xad, +}; +static const unsigned char kat2216_addinreseed[] = { + 0x3c, 0xda, 0xec, 0x08, 0xd7, 0x67, 0x0b, 0x80, 0xc6, 0x8b, 0x8c, 0xa4, + 0x72, 0x3d, 0x62, 0xf1, 0xa2, 0x3d, 0x7d, 0x83, 0xd8, 0x26, 0x87, 0xbc, + 0xcc, 0x10, 0xc3, 0x8e, 0x89, 0x4d, 0x81, 0x2a, +}; +static const unsigned char kat2216_addin0[] = { + 0xfb, 0x0b, 0x46, 0x98, 0xd6, 0x62, 0x2c, 0x8f, 0x5f, 0x1d, 0x68, 0x0b, + 0xce, 0xb7, 0xf3, 0x94, 0xeb, 0x13, 0x72, 0x92, 0x14, 0x34, 0xf1, 0x7c, + 0x1a, 0xe6, 0x10, 0x9e, 0xce, 0x79, 0x5d, 0x96, +}; +static const unsigned char kat2216_addin1[] = { + 0x1e, 0xc9, 0xcb, 0xf3, 0x69, 0xaa, 0x80, 0x16, 0x2b, 0x12, 0x48, 0xa2, + 0x50, 0xe4, 0x2f, 0xdd, 0xd1, 0x32, 0xb1, 0x2f, 0xa6, 0xf8, 0xca, 0x2d, + 0xe2, 0xed, 0xa4, 0xb7, 0x8e, 0x7f, 0x2e, 0xd2, +}; +static const unsigned char kat2216_retbits[] = { + 0x58, 0xdf, 0x4e, 0x60, 0x2f, 0x85, 0xbd, 0x94, 0xa9, 0xbf, 0x7d, 0xd3, + 0x75, 0xba, 0xc1, 0x82, 0xe8, 0x93, 0xc7, 0xa3, 0x4a, 0xcc, 0x62, 0xa4, + 0x56, 0xd3, 0x62, 0x4c, 0xcb, 0xc5, 0x4e, 0x9b, 0x08, 0x2f, 0x4f, 0x04, + 0x40, 0x6a, 0x6c, 0x81, 0x5e, 0x26, 0xa5, 0x13, 0x8c, 0x29, 0x37, 0x23, + 0x72, 0xfa, 0x2c, 0x1f, 0x00, 0xe2, 0x86, 0xb3, 0xf4, 0x42, 0x17, 0x23, + 0x94, 0xf4, 0xda, 0x07, +}; +static const struct drbg_kat_pr_false kat2216_t = { + 10, kat2216_entropyin, kat2216_nonce, kat2216_persstr, + kat2216_entropyinreseed, kat2216_addinreseed, kat2216_addin0, + kat2216_addin1, kat2216_retbits +}; +static const struct drbg_kat kat2216 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2216_t +}; + +static const unsigned char kat2217_entropyin[] = { + 0xd0, 0x1e, 0x66, 0xa9, 0x23, 0x7a, 0x87, 0xac, 0x7b, 0x34, 0xbe, 0x3a, + 0xb4, 0x6a, 0xc9, 0xe5, 0xef, 0x86, 0xb6, 0x3f, 0xb8, 0x15, 0x0f, 0x2d, + 0x47, 0x3d, 0xc8, 0x05, 0xaf, 0x32, 0xc6, 0xe4, +}; +static const unsigned char kat2217_nonce[] = {0}; +static const unsigned char kat2217_persstr[] = { + 0xea, 0xd3, 0x53, 0xed, 0xb0, 0xe4, 0xe9, 0xc3, 0x63, 0x20, 0x2d, 0x49, + 0xcd, 0x74, 0x62, 0x1e, 0x80, 0x6c, 0xc3, 0xf7, 0x91, 0x9f, 0x7c, 0xb4, + 0xbf, 0xda, 0xe9, 0x94, 0x4e, 0xf6, 0x60, 0x62, +}; +static const unsigned char kat2217_entropyinreseed[] = { + 0x8c, 0x19, 0x86, 0xae, 0xbb, 0x33, 0x69, 0x32, 0xd8, 0xd7, 0x5e, 0xb5, + 0x59, 0xf4, 0x74, 0x8f, 0x61, 0x50, 0x6e, 0x83, 0x08, 0xd8, 0x16, 0x4a, + 0x63, 0x42, 0xf7, 0x97, 0xbc, 0x13, 0x64, 0xa2, +}; +static const unsigned char kat2217_addinreseed[] = { + 0x05, 0xf9, 0xb1, 0x49, 0xcb, 0x48, 0xe9, 0x0e, 0x02, 0x86, 0x1e, 0x8c, + 0xef, 0xe4, 0xd5, 0xb4, 0xc5, 0x61, 0x98, 0xde, 0x51, 0xab, 0xc0, 0x7d, + 0xcd, 0xc3, 0x04, 0x7d, 0x6e, 0x68, 0x79, 0xa0, +}; +static const unsigned char kat2217_addin0[] = { + 0xa3, 0xe1, 0x57, 0x7e, 0x87, 0xa4, 0x72, 0xf1, 0xf2, 0xcf, 0x66, 0x56, + 0xde, 0x57, 0x37, 0xb1, 0x7a, 0xfd, 0xc2, 0xee, 0xc4, 0x72, 0xac, 0xee, + 0x84, 0xe7, 0x95, 0x09, 0x86, 0x88, 0x90, 0x91, +}; +static const unsigned char kat2217_addin1[] = { + 0xcb, 0xc8, 0x17, 0x95, 0x4c, 0x2f, 0x69, 0xcd, 0x63, 0x0f, 0xa8, 0x8d, + 0x36, 0x3f, 0x38, 0x78, 0xa5, 0x37, 0x62, 0xd3, 0xa9, 0x86, 0x25, 0xf1, + 0xba, 0xab, 0x9d, 0xa8, 0x39, 0x3e, 0x3e, 0x0b, +}; +static const unsigned char kat2217_retbits[] = { + 0x59, 0xad, 0x55, 0x17, 0x21, 0xe3, 0x5f, 0x0a, 0xc2, 0xc3, 0x75, 0x67, + 0xd2, 0xd3, 0x13, 0x64, 0xfa, 0xe7, 0x39, 0x7f, 0x66, 0xe8, 0xa4, 0x54, + 0xe3, 0x27, 0x87, 0xe8, 0x6d, 0xf3, 0x0c, 0x26, 0x2d, 0xd6, 0xf0, 0xac, + 0x58, 0x3a, 0x5f, 0x88, 0xd5, 0x3d, 0x44, 0x4e, 0xf4, 0x64, 0xcf, 0x66, + 0x40, 0xf3, 0xd1, 0x6d, 0xa7, 0x36, 0xc0, 0x8e, 0x2f, 0x32, 0x8b, 0x53, + 0xee, 0x22, 0x84, 0xef, +}; +static const struct drbg_kat_pr_false kat2217_t = { + 11, kat2217_entropyin, kat2217_nonce, kat2217_persstr, + kat2217_entropyinreseed, kat2217_addinreseed, kat2217_addin0, + kat2217_addin1, kat2217_retbits +}; +static const struct drbg_kat kat2217 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2217_t +}; + +static const unsigned char kat2218_entropyin[] = { + 0x6b, 0x09, 0x8f, 0x31, 0x4b, 0x9f, 0x95, 0xc3, 0xa7, 0xbb, 0x25, 0x97, + 0x18, 0x2b, 0x30, 0x48, 0x3f, 0x21, 0x94, 0xfa, 0x4d, 0x21, 0x42, 0xb1, + 0x1d, 0x3f, 0x46, 0xcd, 0x94, 0xa0, 0xfe, 0xd4, +}; +static const unsigned char kat2218_nonce[] = {0}; +static const unsigned char kat2218_persstr[] = { + 0x55, 0x36, 0xb0, 0xe3, 0x1d, 0xb7, 0x80, 0x14, 0x4a, 0xb7, 0xf5, 0xe6, + 0xc2, 0x25, 0x58, 0x84, 0xa8, 0x4b, 0x6d, 0xf9, 0x94, 0x77, 0x03, 0x99, + 0x39, 0xe2, 0x6c, 0x77, 0xbf, 0x28, 0x47, 0x0d, +}; +static const unsigned char kat2218_entropyinreseed[] = { + 0xe0, 0xf9, 0xb6, 0x31, 0x75, 0xc7, 0x93, 0x09, 0x26, 0x9d, 0xd1, 0x3c, + 0x13, 0x42, 0x34, 0x00, 0xfa, 0xde, 0xc2, 0xb9, 0xa4, 0xed, 0x20, 0xff, + 0x1c, 0x71, 0xd6, 0x42, 0xb9, 0x5b, 0xcd, 0xe8, +}; +static const unsigned char kat2218_addinreseed[] = { + 0x22, 0x74, 0x37, 0x31, 0x3d, 0xc0, 0x93, 0x13, 0x82, 0x80, 0x4f, 0x8a, + 0x2d, 0x7c, 0x14, 0xc8, 0x47, 0xe1, 0xcc, 0x4c, 0xe2, 0x8c, 0x5a, 0x58, + 0x9e, 0xc8, 0xe5, 0x1d, 0x3a, 0x81, 0x3c, 0x33, +}; +static const unsigned char kat2218_addin0[] = { + 0x09, 0xc7, 0xee, 0xd8, 0xf0, 0xb6, 0x77, 0x5f, 0x02, 0x77, 0x45, 0xab, + 0x1a, 0x6f, 0x9f, 0xcd, 0x6a, 0x26, 0x69, 0x1f, 0xbb, 0xd4, 0x77, 0xff, + 0x23, 0xe0, 0x64, 0x43, 0xa6, 0x39, 0x14, 0xa4, +}; +static const unsigned char kat2218_addin1[] = { + 0x70, 0xac, 0xab, 0x5c, 0xab, 0x1c, 0x70, 0x58, 0xc3, 0x77, 0xbf, 0x2b, + 0xae, 0xf6, 0x6d, 0x52, 0x6a, 0x77, 0xd3, 0x75, 0x16, 0xb8, 0x49, 0xe5, + 0x2f, 0x22, 0xc1, 0x04, 0x5d, 0x3f, 0x8a, 0x5d, +}; +static const unsigned char kat2218_retbits[] = { + 0x74, 0x29, 0x9d, 0xe3, 0x5f, 0xfa, 0xb5, 0x51, 0x13, 0x2e, 0xe3, 0xa5, + 0x7b, 0x2d, 0x19, 0x68, 0xc7, 0xb2, 0x1d, 0xf9, 0x68, 0xfe, 0x21, 0xec, + 0x69, 0x7b, 0x93, 0x6c, 0x61, 0xad, 0x4a, 0x36, 0xff, 0x46, 0x2f, 0x75, + 0x15, 0x59, 0x4d, 0x3d, 0xb7, 0x7c, 0xc9, 0xaf, 0x73, 0x50, 0xed, 0xc2, + 0x57, 0x24, 0xa7, 0x54, 0xa6, 0x9d, 0xcb, 0x94, 0x72, 0xdf, 0x5b, 0x6f, + 0x08, 0x68, 0xf5, 0x5d, +}; +static const struct drbg_kat_pr_false kat2218_t = { + 12, kat2218_entropyin, kat2218_nonce, kat2218_persstr, + kat2218_entropyinreseed, kat2218_addinreseed, kat2218_addin0, + kat2218_addin1, kat2218_retbits +}; +static const struct drbg_kat kat2218 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2218_t +}; + +static const unsigned char kat2219_entropyin[] = { + 0x37, 0x6d, 0xf6, 0x9a, 0xc3, 0xdf, 0x60, 0x36, 0x7e, 0xaa, 0xe9, 0x14, + 0xa5, 0xbb, 0x60, 0x0f, 0x6a, 0x3d, 0x2d, 0x18, 0x85, 0xea, 0xb4, 0xf8, + 0xba, 0x9d, 0x87, 0x27, 0xd0, 0x99, 0xf1, 0xd9, +}; +static const unsigned char kat2219_nonce[] = {0}; +static const unsigned char kat2219_persstr[] = { + 0xb7, 0xbe, 0x85, 0xc0, 0xb4, 0x6f, 0x0f, 0x75, 0x05, 0x02, 0xc0, 0x3d, + 0xbb, 0x82, 0x4c, 0xf5, 0x08, 0x2a, 0x29, 0x7e, 0x6e, 0x76, 0x32, 0xc9, + 0x45, 0x4f, 0x02, 0x9b, 0x4b, 0xac, 0x5b, 0x5a, +}; +static const unsigned char kat2219_entropyinreseed[] = { + 0xf5, 0x61, 0x9d, 0xae, 0xf4, 0xdb, 0xf6, 0x38, 0x20, 0xe6, 0x7f, 0xbf, + 0xfe, 0x7b, 0x57, 0x7d, 0x10, 0x69, 0x99, 0x3f, 0x91, 0xfb, 0x07, 0xe5, + 0x39, 0x95, 0x54, 0xd7, 0x3f, 0xe1, 0x92, 0xa1, +}; +static const unsigned char kat2219_addinreseed[] = { + 0x08, 0x86, 0x99, 0xed, 0x19, 0x58, 0xfa, 0x6c, 0x33, 0x19, 0xe6, 0xf6, + 0xd3, 0x5e, 0xa4, 0x2c, 0xc1, 0x4b, 0xa6, 0x59, 0x6c, 0x48, 0x47, 0x21, + 0x6a, 0x74, 0xa7, 0xf9, 0xcb, 0xd3, 0x1e, 0x35, +}; +static const unsigned char kat2219_addin0[] = { + 0x50, 0x73, 0xe2, 0xe2, 0x45, 0x0b, 0x18, 0x2f, 0xb4, 0x29, 0x01, 0x28, + 0x08, 0x26, 0xf3, 0x4b, 0x0a, 0xeb, 0x1b, 0x0d, 0xcf, 0x26, 0xbc, 0xde, + 0x62, 0xb1, 0xd0, 0x4f, 0x8b, 0x96, 0x58, 0x99, +}; +static const unsigned char kat2219_addin1[] = { + 0xbf, 0x58, 0xe8, 0x6f, 0x9d, 0xfa, 0x0c, 0x0a, 0x2c, 0xd4, 0x41, 0xc6, + 0x64, 0x0f, 0x8f, 0x46, 0xa2, 0x72, 0xa5, 0x05, 0x13, 0x26, 0x6a, 0xb2, + 0x90, 0xe2, 0x4c, 0x4f, 0x21, 0xc6, 0xf6, 0x38, +}; +static const unsigned char kat2219_retbits[] = { + 0xf8, 0x0f, 0x79, 0xe6, 0x9f, 0x99, 0xf6, 0xd7, 0xcd, 0x24, 0x84, 0xc6, + 0x79, 0xa9, 0x74, 0xbd, 0xfa, 0x23, 0x64, 0x21, 0x8e, 0x1b, 0xf6, 0x44, + 0x53, 0x22, 0x2b, 0xc8, 0xb5, 0xb4, 0xea, 0x33, 0x9b, 0xd0, 0x56, 0x97, + 0xb4, 0x61, 0xcc, 0x49, 0xed, 0x33, 0x84, 0x74, 0x51, 0xe8, 0x76, 0x6f, + 0xf7, 0x6a, 0x87, 0x14, 0xcc, 0x92, 0x56, 0x18, 0x8e, 0x59, 0x6f, 0xf4, + 0x4e, 0xcc, 0xab, 0x10, +}; +static const struct drbg_kat_pr_false kat2219_t = { + 13, kat2219_entropyin, kat2219_nonce, kat2219_persstr, + kat2219_entropyinreseed, kat2219_addinreseed, kat2219_addin0, + kat2219_addin1, kat2219_retbits +}; +static const struct drbg_kat kat2219 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2219_t +}; + +static const unsigned char kat2220_entropyin[] = { + 0x25, 0x3d, 0xe0, 0xa4, 0xf5, 0x52, 0xf2, 0x7e, 0x2a, 0xe6, 0x15, 0x34, + 0x3d, 0xdc, 0xf8, 0x41, 0xdd, 0x28, 0x00, 0x30, 0x84, 0xb0, 0x7a, 0x63, + 0x5d, 0xd7, 0x19, 0x5a, 0x33, 0x6a, 0x20, 0x52, +}; +static const unsigned char kat2220_nonce[] = {0}; +static const unsigned char kat2220_persstr[] = { + 0xbd, 0x13, 0xb2, 0x6e, 0xac, 0x18, 0x41, 0xee, 0x90, 0xdc, 0x84, 0xa4, + 0xc4, 0x56, 0xe3, 0x97, 0x5a, 0x3f, 0xf8, 0x17, 0x8f, 0xa5, 0x4d, 0x9d, + 0x59, 0x1c, 0x1c, 0x68, 0x1d, 0x49, 0x0c, 0x35, +}; +static const unsigned char kat2220_entropyinreseed[] = { + 0x66, 0x00, 0xbc, 0x9f, 0x59, 0xae, 0x88, 0x08, 0xb2, 0x82, 0xb6, 0xe4, + 0x8d, 0x7b, 0xbc, 0x0d, 0x11, 0x12, 0x0b, 0xb4, 0xd7, 0x3a, 0xe6, 0x06, + 0x8f, 0x01, 0xdf, 0xe0, 0xc2, 0x19, 0x62, 0x76, +}; +static const unsigned char kat2220_addinreseed[] = { + 0x0d, 0xc9, 0x35, 0x30, 0x3e, 0xef, 0xf1, 0x69, 0x39, 0xab, 0x83, 0xd4, + 0x60, 0x1e, 0x77, 0x28, 0x99, 0x3a, 0x7e, 0xdb, 0x57, 0xe6, 0x04, 0x74, + 0xf8, 0xa1, 0xa5, 0xfe, 0xef, 0x9f, 0x41, 0x40, +}; +static const unsigned char kat2220_addin0[] = { + 0x15, 0x50, 0xac, 0x6d, 0xa1, 0x74, 0x28, 0x34, 0xc7, 0x05, 0xb4, 0xda, + 0xd6, 0x1c, 0x37, 0xfc, 0x33, 0xe7, 0xd7, 0x86, 0xf7, 0x6b, 0x55, 0x3a, + 0xb3, 0x24, 0xbf, 0x54, 0x3f, 0x8a, 0x1b, 0x17, +}; +static const unsigned char kat2220_addin1[] = { + 0x77, 0xef, 0x7c, 0x3f, 0x81, 0x9d, 0xe7, 0x8c, 0x24, 0x33, 0x51, 0xa7, + 0x1b, 0xbb, 0x46, 0x09, 0x36, 0x06, 0x47, 0x38, 0xfc, 0xb7, 0x5a, 0xcf, + 0xc2, 0x14, 0xc8, 0x84, 0xff, 0x17, 0x23, 0x11, +}; +static const unsigned char kat2220_retbits[] = { + 0x10, 0x30, 0xbf, 0xc7, 0xcc, 0x64, 0x5d, 0x6e, 0x2d, 0x6b, 0x2a, 0x3f, + 0x2e, 0x97, 0x97, 0x9a, 0xb9, 0x99, 0xd7, 0x02, 0x52, 0xc1, 0x55, 0x04, + 0xd7, 0x1d, 0x02, 0xc5, 0x84, 0x2c, 0x34, 0xcf, 0x63, 0xb9, 0x4c, 0x51, + 0x2e, 0x16, 0x27, 0x26, 0xac, 0xfb, 0x14, 0x92, 0xcc, 0xb5, 0x25, 0xea, + 0x56, 0xe4, 0xca, 0x1b, 0x54, 0xda, 0xaa, 0xc2, 0x28, 0x4e, 0x55, 0x8c, + 0xb4, 0x93, 0x69, 0x31, +}; +static const struct drbg_kat_pr_false kat2220_t = { + 14, kat2220_entropyin, kat2220_nonce, kat2220_persstr, + kat2220_entropyinreseed, kat2220_addinreseed, kat2220_addin0, + kat2220_addin1, kat2220_retbits +}; +static const struct drbg_kat kat2220 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2220_t +}; + +static const unsigned char kat2221_entropyin[] = { + 0xb2, 0xb3, 0x29, 0x83, 0x06, 0x47, 0x1b, 0xfc, 0xae, 0x61, 0x43, 0x8a, + 0x3a, 0x79, 0xe2, 0x35, 0x5e, 0xfa, 0x0b, 0x6e, 0xde, 0x4c, 0xbc, 0xd3, + 0xe6, 0x6d, 0xe5, 0x14, 0x0b, 0x3a, 0xe6, 0x80, +}; +static const unsigned char kat2221_nonce[] = {0}; +static const unsigned char kat2221_persstr[] = {0}; +static const unsigned char kat2221_entropyinreseed[] = { + 0x26, 0xf0, 0xd1, 0xe4, 0x4b, 0xe5, 0x75, 0xee, 0x6f, 0x3e, 0xda, 0x89, + 0xc1, 0xe7, 0xe4, 0xfb, 0xd1, 0x42, 0x8f, 0x88, 0x52, 0x60, 0x48, 0x71, + 0xc7, 0xa4, 0xf4, 0xc7, 0x07, 0xa3, 0x93, 0x28, +}; +static const unsigned char kat2221_addinreseed[] = {0}; +static const unsigned char kat2221_addin0[] = {0}; +static const unsigned char kat2221_addin1[] = {0}; +static const unsigned char kat2221_retbits[] = { + 0xb7, 0x1b, 0x6d, 0x73, 0x22, 0x45, 0x3a, 0x61, 0x2c, 0x34, 0xa9, 0x1c, + 0x1e, 0x5c, 0x3f, 0x8c, 0x30, 0x48, 0x6a, 0x69, 0x2b, 0x1a, 0xd1, 0x3a, + 0x4c, 0x08, 0xca, 0xcc, 0xd1, 0x23, 0xa6, 0x39, 0xfd, 0x2e, 0x0a, 0x7c, + 0x38, 0x9c, 0xfa, 0x1a, 0x97, 0xcb, 0x78, 0xb4, 0x38, 0xdf, 0xf5, 0x7b, + 0x0b, 0x5e, 0xc4, 0xd5, 0x69, 0xa8, 0xb2, 0x81, 0x0a, 0x15, 0xf8, 0x5c, + 0x8c, 0x92, 0x26, 0xbf, +}; +static const struct drbg_kat_pr_false kat2221_t = { + 0, kat2221_entropyin, kat2221_nonce, kat2221_persstr, + kat2221_entropyinreseed, kat2221_addinreseed, kat2221_addin0, + kat2221_addin1, kat2221_retbits +}; +static const struct drbg_kat kat2221 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2221_t +}; + +static const unsigned char kat2222_entropyin[] = { + 0x66, 0xf4, 0x1d, 0xc7, 0x91, 0xe1, 0x55, 0x12, 0x7b, 0x7f, 0xc6, 0x80, + 0x84, 0x20, 0x21, 0x29, 0x6f, 0xfd, 0x9f, 0x5e, 0x11, 0xd1, 0x09, 0x4e, + 0xb4, 0x46, 0xaf, 0x24, 0x37, 0x5f, 0x7f, 0x79, +}; +static const unsigned char kat2222_nonce[] = {0}; +static const unsigned char kat2222_persstr[] = {0}; +static const unsigned char kat2222_entropyinreseed[] = { + 0x04, 0x4e, 0xb1, 0x2d, 0xb0, 0x5c, 0x2f, 0x45, 0x74, 0xb9, 0xb1, 0x62, + 0x8c, 0x65, 0x89, 0x17, 0x70, 0x72, 0xe8, 0x60, 0x7a, 0xfe, 0xd2, 0x7e, + 0x4a, 0x8f, 0xaa, 0x1a, 0xdb, 0xdd, 0x96, 0xf0, +}; +static const unsigned char kat2222_addinreseed[] = {0}; +static const unsigned char kat2222_addin0[] = {0}; +static const unsigned char kat2222_addin1[] = {0}; +static const unsigned char kat2222_retbits[] = { + 0xf2, 0x72, 0x68, 0x2d, 0x39, 0x2f, 0xe7, 0x07, 0xff, 0x8f, 0xaa, 0xe4, + 0x71, 0xb7, 0xfa, 0xb6, 0x85, 0x14, 0x60, 0xed, 0xeb, 0x20, 0x7d, 0x9e, + 0x7d, 0xb9, 0x6d, 0x2c, 0x27, 0xb6, 0x6c, 0x5c, 0x45, 0xf9, 0x8a, 0x44, + 0x5d, 0xef, 0xd0, 0x89, 0x5e, 0x8c, 0x3f, 0x47, 0xfe, 0x85, 0xf8, 0xde, + 0x3c, 0x62, 0xd4, 0x02, 0x8f, 0x4f, 0xcc, 0x89, 0x1e, 0x28, 0x8f, 0xcd, + 0x78, 0x0f, 0x21, 0x2d, +}; +static const struct drbg_kat_pr_false kat2222_t = { + 1, kat2222_entropyin, kat2222_nonce, kat2222_persstr, + kat2222_entropyinreseed, kat2222_addinreseed, kat2222_addin0, + kat2222_addin1, kat2222_retbits +}; +static const struct drbg_kat kat2222 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2222_t +}; + +static const unsigned char kat2223_entropyin[] = { + 0xc6, 0x50, 0x6d, 0xd8, 0xb9, 0xb7, 0x4c, 0xa1, 0x6b, 0xd4, 0x11, 0x9b, + 0x69, 0x0f, 0xc3, 0x0d, 0xa5, 0xfc, 0xed, 0x3b, 0x8d, 0x31, 0x5e, 0x95, + 0x7b, 0x12, 0xf1, 0xcd, 0x9b, 0xf9, 0x5f, 0x94, +}; +static const unsigned char kat2223_nonce[] = {0}; +static const unsigned char kat2223_persstr[] = {0}; +static const unsigned char kat2223_entropyinreseed[] = { + 0x0c, 0x80, 0xff, 0x54, 0xc4, 0x9a, 0xb8, 0x97, 0x82, 0x71, 0x6b, 0x1d, + 0x51, 0x5d, 0xa2, 0x4c, 0x30, 0x31, 0xf3, 0xef, 0x71, 0x79, 0xe5, 0x99, + 0xed, 0xc8, 0xd8, 0x65, 0xa0, 0x3c, 0x79, 0x9f, +}; +static const unsigned char kat2223_addinreseed[] = {0}; +static const unsigned char kat2223_addin0[] = {0}; +static const unsigned char kat2223_addin1[] = {0}; +static const unsigned char kat2223_retbits[] = { + 0xe1, 0x69, 0x6c, 0xdb, 0x47, 0x6b, 0x24, 0xb5, 0x13, 0xc1, 0xe8, 0x7e, + 0x68, 0xc7, 0x4b, 0x1f, 0x38, 0x42, 0xf4, 0x29, 0x4a, 0xbf, 0x2a, 0x1a, + 0x81, 0x00, 0x73, 0xa6, 0xa5, 0xc8, 0xc4, 0x39, 0x93, 0xa5, 0x65, 0x07, + 0x44, 0x2d, 0xb3, 0x6a, 0x38, 0x22, 0x8b, 0x9c, 0x25, 0x25, 0x29, 0x93, + 0xdd, 0x88, 0x65, 0x09, 0x6f, 0xed, 0xb5, 0x85, 0x89, 0x24, 0xf0, 0x79, + 0xd5, 0x6c, 0x30, 0xd1, +}; +static const struct drbg_kat_pr_false kat2223_t = { + 2, kat2223_entropyin, kat2223_nonce, kat2223_persstr, + kat2223_entropyinreseed, kat2223_addinreseed, kat2223_addin0, + kat2223_addin1, kat2223_retbits +}; +static const struct drbg_kat kat2223 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2223_t +}; + +static const unsigned char kat2224_entropyin[] = { + 0x6b, 0x2e, 0x86, 0xd5, 0xfc, 0x54, 0x69, 0xda, 0x4e, 0xd3, 0x32, 0xf4, + 0xd1, 0x23, 0xa6, 0x11, 0xf6, 0x0d, 0x96, 0x49, 0x1c, 0x0a, 0x45, 0x08, + 0x81, 0x04, 0x76, 0x87, 0x12, 0x31, 0x43, 0x77, +}; +static const unsigned char kat2224_nonce[] = {0}; +static const unsigned char kat2224_persstr[] = {0}; +static const unsigned char kat2224_entropyinreseed[] = { + 0x76, 0x2c, 0x53, 0x60, 0x8f, 0x07, 0x5b, 0xa1, 0x92, 0x63, 0x37, 0xa6, + 0x1c, 0x35, 0xdb, 0xfe, 0x02, 0x44, 0x27, 0xd2, 0x90, 0x26, 0x07, 0x85, + 0xb4, 0x3b, 0x39, 0xf3, 0x2d, 0x28, 0x2f, 0xc1, +}; +static const unsigned char kat2224_addinreseed[] = {0}; +static const unsigned char kat2224_addin0[] = {0}; +static const unsigned char kat2224_addin1[] = {0}; +static const unsigned char kat2224_retbits[] = { + 0x7a, 0x6e, 0x19, 0x3c, 0xe1, 0xee, 0xb6, 0xa5, 0x43, 0xd2, 0xed, 0x0c, + 0x4d, 0xbb, 0xe4, 0x2e, 0x9b, 0x1a, 0xee, 0x2f, 0x3c, 0x99, 0x09, 0x16, + 0xe2, 0x13, 0xf0, 0x76, 0x13, 0x99, 0x46, 0x43, 0x01, 0xc2, 0x2e, 0x87, + 0x90, 0x7d, 0x3c, 0x1b, 0x20, 0xb1, 0x98, 0x72, 0x60, 0x15, 0x7d, 0xbc, + 0x66, 0xfb, 0x86, 0x0d, 0x68, 0x96, 0xad, 0xd9, 0xab, 0xd5, 0xed, 0x25, + 0x6c, 0x76, 0x35, 0x63, +}; +static const struct drbg_kat_pr_false kat2224_t = { + 3, kat2224_entropyin, kat2224_nonce, kat2224_persstr, + kat2224_entropyinreseed, kat2224_addinreseed, kat2224_addin0, + kat2224_addin1, kat2224_retbits +}; +static const struct drbg_kat kat2224 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2224_t +}; + +static const unsigned char kat2225_entropyin[] = { + 0x4f, 0xbe, 0xad, 0x74, 0x78, 0x2f, 0xdc, 0xd2, 0xb3, 0x31, 0x8c, 0x71, + 0xe7, 0x8a, 0xce, 0xb2, 0x3a, 0x4d, 0x03, 0x99, 0xfc, 0x5c, 0x03, 0x42, + 0x54, 0x5b, 0x99, 0x80, 0xdc, 0xd8, 0x5d, 0x53, +}; +static const unsigned char kat2225_nonce[] = {0}; +static const unsigned char kat2225_persstr[] = {0}; +static const unsigned char kat2225_entropyinreseed[] = { + 0x53, 0xa4, 0x55, 0x12, 0x15, 0x96, 0xb4, 0x9d, 0xfa, 0x3a, 0x97, 0x93, + 0x2c, 0x71, 0x5f, 0x92, 0x6d, 0xe4, 0x0e, 0x6f, 0xc9, 0x30, 0xa8, 0xdd, + 0x57, 0x36, 0x15, 0x9c, 0x74, 0x93, 0x18, 0x9c, +}; +static const unsigned char kat2225_addinreseed[] = {0}; +static const unsigned char kat2225_addin0[] = {0}; +static const unsigned char kat2225_addin1[] = {0}; +static const unsigned char kat2225_retbits[] = { + 0xc9, 0x12, 0xbf, 0xc9, 0x3b, 0x94, 0x78, 0xbf, 0x98, 0xf5, 0x4d, 0x58, + 0x54, 0xbb, 0x7d, 0x9f, 0x4e, 0xb5, 0xd4, 0x64, 0x89, 0x1c, 0xd0, 0xc5, + 0xe8, 0x4c, 0xbc, 0x4b, 0x44, 0x69, 0x5f, 0x74, 0x20, 0xbc, 0x21, 0xc6, + 0xfa, 0x7f, 0xb5, 0x7d, 0x9c, 0xbd, 0xc2, 0xe5, 0x8a, 0x35, 0xd0, 0x01, + 0xc5, 0x16, 0x29, 0x83, 0xae, 0x7f, 0x90, 0x35, 0xbd, 0x81, 0xdc, 0xd1, + 0xee, 0xc0, 0x99, 0x97, +}; +static const struct drbg_kat_pr_false kat2225_t = { + 4, kat2225_entropyin, kat2225_nonce, kat2225_persstr, + kat2225_entropyinreseed, kat2225_addinreseed, kat2225_addin0, + kat2225_addin1, kat2225_retbits +}; +static const struct drbg_kat kat2225 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2225_t +}; + +static const unsigned char kat2226_entropyin[] = { + 0x71, 0x1b, 0xf3, 0x4f, 0x33, 0x84, 0x4b, 0x11, 0x01, 0x69, 0x0a, 0xab, + 0x9a, 0x91, 0xcf, 0x42, 0xda, 0x10, 0xdc, 0x6f, 0xa2, 0x81, 0xbf, 0x06, + 0x50, 0xbc, 0x2b, 0x21, 0x27, 0x2c, 0x02, 0xf5, +}; +static const unsigned char kat2226_nonce[] = {0}; +static const unsigned char kat2226_persstr[] = {0}; +static const unsigned char kat2226_entropyinreseed[] = { + 0x4c, 0x5a, 0x8a, 0xa8, 0x24, 0x21, 0xcd, 0x10, 0x1e, 0x53, 0x48, 0x13, + 0x76, 0x4b, 0x6c, 0x51, 0x4d, 0xe6, 0x30, 0x18, 0x26, 0xdd, 0xe3, 0xb9, + 0x21, 0x24, 0xb3, 0x35, 0xeb, 0xbf, 0x6f, 0x92, +}; +static const unsigned char kat2226_addinreseed[] = {0}; +static const unsigned char kat2226_addin0[] = {0}; +static const unsigned char kat2226_addin1[] = {0}; +static const unsigned char kat2226_retbits[] = { + 0x60, 0x35, 0xa0, 0xff, 0x6b, 0x26, 0xd2, 0xb9, 0x38, 0x6e, 0x89, 0x3a, + 0x70, 0x4f, 0x20, 0x8b, 0x67, 0xd5, 0xb3, 0x55, 0x0d, 0xed, 0x60, 0x6c, + 0x6d, 0x5f, 0xdb, 0x3f, 0x61, 0x77, 0xf3, 0xa5, 0xd7, 0x0b, 0xf0, 0x84, + 0x4c, 0xef, 0x25, 0x2b, 0x3b, 0x38, 0xec, 0xc6, 0x83, 0xa8, 0x67, 0x0a, + 0x92, 0x35, 0x14, 0x31, 0x37, 0xd3, 0xe4, 0x45, 0x14, 0x59, 0x8c, 0x44, + 0x86, 0xeb, 0x73, 0x45, +}; +static const struct drbg_kat_pr_false kat2226_t = { + 5, kat2226_entropyin, kat2226_nonce, kat2226_persstr, + kat2226_entropyinreseed, kat2226_addinreseed, kat2226_addin0, + kat2226_addin1, kat2226_retbits +}; +static const struct drbg_kat kat2226 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2226_t +}; + +static const unsigned char kat2227_entropyin[] = { + 0x8c, 0x00, 0x6c, 0x19, 0xf2, 0xda, 0x7a, 0xe8, 0x82, 0x18, 0xfc, 0xd5, + 0x0d, 0x5c, 0x6d, 0x51, 0x02, 0x99, 0x2b, 0x47, 0x62, 0xb1, 0x47, 0x5e, + 0x12, 0x2a, 0x30, 0xed, 0x13, 0x29, 0x2d, 0x02, +}; +static const unsigned char kat2227_nonce[] = {0}; +static const unsigned char kat2227_persstr[] = {0}; +static const unsigned char kat2227_entropyinreseed[] = { + 0x5c, 0xe9, 0x8d, 0x2a, 0x58, 0x2b, 0x95, 0xbd, 0xa2, 0x30, 0xb7, 0x48, + 0x2f, 0xf8, 0x00, 0xa8, 0x28, 0x91, 0xd6, 0xb1, 0xdf, 0x75, 0xfe, 0xce, + 0xca, 0xe5, 0xd7, 0x06, 0x7d, 0xdf, 0x5b, 0x46, +}; +static const unsigned char kat2227_addinreseed[] = {0}; +static const unsigned char kat2227_addin0[] = {0}; +static const unsigned char kat2227_addin1[] = {0}; +static const unsigned char kat2227_retbits[] = { + 0x2a, 0x19, 0xd7, 0xb3, 0x58, 0x33, 0xea, 0xbf, 0xbc, 0x43, 0xcb, 0xc3, + 0xdd, 0xe1, 0x43, 0x92, 0xd8, 0x2f, 0x32, 0x83, 0xef, 0xbb, 0xd3, 0x3f, + 0x13, 0x4b, 0x32, 0x04, 0x04, 0x02, 0xc7, 0x13, 0x26, 0xcd, 0x31, 0xd3, + 0x7e, 0x25, 0x72, 0x2c, 0xe7, 0x3b, 0xf3, 0x64, 0x0e, 0x5e, 0x2b, 0x00, + 0xd7, 0xdd, 0x27, 0x8f, 0x28, 0xa0, 0xf4, 0xe4, 0x3f, 0x89, 0x35, 0x37, + 0x7c, 0xa1, 0xa6, 0x0b, +}; +static const struct drbg_kat_pr_false kat2227_t = { + 6, kat2227_entropyin, kat2227_nonce, kat2227_persstr, + kat2227_entropyinreseed, kat2227_addinreseed, kat2227_addin0, + kat2227_addin1, kat2227_retbits +}; +static const struct drbg_kat kat2227 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2227_t +}; + +static const unsigned char kat2228_entropyin[] = { + 0x9d, 0xee, 0xfa, 0x77, 0x93, 0x37, 0xef, 0x1f, 0xf7, 0xf4, 0x7c, 0x48, + 0x19, 0xd1, 0x75, 0x02, 0x4d, 0xf3, 0x49, 0xf8, 0xa5, 0xcf, 0xe8, 0x57, + 0xc9, 0xb5, 0xe8, 0x22, 0xd8, 0xda, 0xfc, 0x56, +}; +static const unsigned char kat2228_nonce[] = {0}; +static const unsigned char kat2228_persstr[] = {0}; +static const unsigned char kat2228_entropyinreseed[] = { + 0x55, 0x8d, 0x79, 0xc8, 0x3d, 0x81, 0xd3, 0xfd, 0x07, 0xd6, 0xeb, 0x73, + 0x9a, 0xd3, 0x0e, 0x29, 0x83, 0x45, 0xbc, 0x4b, 0x90, 0x6d, 0x2f, 0x6f, + 0x87, 0xce, 0xeb, 0x79, 0x3a, 0xaa, 0xe8, 0xd6, +}; +static const unsigned char kat2228_addinreseed[] = {0}; +static const unsigned char kat2228_addin0[] = {0}; +static const unsigned char kat2228_addin1[] = {0}; +static const unsigned char kat2228_retbits[] = { + 0x13, 0xda, 0x72, 0xe2, 0xa4, 0x8e, 0x58, 0x93, 0xae, 0x78, 0x64, 0x40, + 0x57, 0xf7, 0xd3, 0x44, 0xcf, 0x5b, 0x56, 0xcf, 0xc9, 0xc4, 0x9b, 0x7e, + 0x09, 0x79, 0xc5, 0x75, 0x35, 0x07, 0x18, 0x58, 0x8e, 0x73, 0xbd, 0x13, + 0x0e, 0xde, 0x3b, 0x84, 0x51, 0x31, 0x45, 0x2b, 0x82, 0x0e, 0x41, 0xe8, + 0xc9, 0x9b, 0xb7, 0xe5, 0x82, 0xe6, 0xe8, 0xa2, 0xe4, 0x52, 0xc0, 0x90, + 0x04, 0xad, 0xe4, 0x0d, +}; +static const struct drbg_kat_pr_false kat2228_t = { + 7, kat2228_entropyin, kat2228_nonce, kat2228_persstr, + kat2228_entropyinreseed, kat2228_addinreseed, kat2228_addin0, + kat2228_addin1, kat2228_retbits +}; +static const struct drbg_kat kat2228 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2228_t +}; + +static const unsigned char kat2229_entropyin[] = { + 0xb8, 0xd8, 0x2f, 0x15, 0xc3, 0xe0, 0xdf, 0x02, 0xd2, 0xdc, 0xd5, 0xa1, + 0x99, 0x5c, 0xbf, 0x47, 0x88, 0x45, 0x42, 0x6f, 0xf9, 0xe4, 0xfd, 0x7c, + 0xba, 0xc4, 0x94, 0xa2, 0xb7, 0x50, 0xa6, 0xdb, +}; +static const unsigned char kat2229_nonce[] = {0}; +static const unsigned char kat2229_persstr[] = {0}; +static const unsigned char kat2229_entropyinreseed[] = { + 0xa3, 0x4c, 0xd6, 0x89, 0x58, 0x9e, 0x4f, 0x6f, 0x97, 0x35, 0x6f, 0x95, + 0xfc, 0xc8, 0xdd, 0xfd, 0x48, 0x40, 0x10, 0x43, 0xa6, 0xf0, 0xa0, 0xbb, + 0x4c, 0x83, 0x59, 0xca, 0x97, 0xe3, 0xe4, 0xca, +}; +static const unsigned char kat2229_addinreseed[] = {0}; +static const unsigned char kat2229_addin0[] = {0}; +static const unsigned char kat2229_addin1[] = {0}; +static const unsigned char kat2229_retbits[] = { + 0x29, 0xc9, 0x08, 0x17, 0xb6, 0x5f, 0x08, 0xf9, 0x2b, 0xd5, 0x68, 0xcf, + 0x40, 0x55, 0x3d, 0x99, 0x8d, 0x0f, 0x45, 0x48, 0x27, 0x6d, 0xba, 0x08, + 0x9a, 0x02, 0x96, 0x25, 0x61, 0x9f, 0xc2, 0xaf, 0x85, 0xfb, 0x64, 0xd9, + 0x2a, 0x7c, 0x0c, 0x33, 0x37, 0xe5, 0x8d, 0x05, 0xc3, 0x4b, 0xfa, 0xe1, + 0xb9, 0x99, 0xd6, 0x2e, 0x50, 0x0c, 0xe7, 0x5c, 0xb3, 0x3d, 0xec, 0x5d, + 0xcb, 0x4d, 0x96, 0xc7, +}; +static const struct drbg_kat_pr_false kat2229_t = { + 8, kat2229_entropyin, kat2229_nonce, kat2229_persstr, + kat2229_entropyinreseed, kat2229_addinreseed, kat2229_addin0, + kat2229_addin1, kat2229_retbits +}; +static const struct drbg_kat kat2229 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2229_t +}; + +static const unsigned char kat2230_entropyin[] = { + 0x10, 0xd5, 0xd6, 0x38, 0xf7, 0x0d, 0x4b, 0x37, 0xc9, 0x1b, 0xe4, 0x4c, + 0x18, 0x21, 0x29, 0x26, 0x49, 0x57, 0x61, 0x01, 0x84, 0xcd, 0x9d, 0xe2, + 0x38, 0x74, 0x5b, 0x10, 0x57, 0x9a, 0x93, 0xde, +}; +static const unsigned char kat2230_nonce[] = {0}; +static const unsigned char kat2230_persstr[] = {0}; +static const unsigned char kat2230_entropyinreseed[] = { + 0x36, 0x97, 0x34, 0x0c, 0x47, 0x83, 0x73, 0xa3, 0xb2, 0x29, 0x15, 0x7e, + 0x99, 0xdd, 0x95, 0x46, 0xfb, 0x0f, 0xd0, 0x37, 0x0b, 0x37, 0x39, 0x38, + 0x2d, 0x38, 0x49, 0x90, 0xc2, 0xb8, 0x5b, 0x5e, +}; +static const unsigned char kat2230_addinreseed[] = {0}; +static const unsigned char kat2230_addin0[] = {0}; +static const unsigned char kat2230_addin1[] = {0}; +static const unsigned char kat2230_retbits[] = { + 0xa3, 0x1b, 0xba, 0x6f, 0x7b, 0x20, 0x3e, 0x05, 0x6f, 0xff, 0x45, 0x10, + 0x25, 0x06, 0x16, 0xc8, 0xd6, 0x7e, 0x0e, 0xb9, 0xac, 0x2d, 0x11, 0xd7, + 0xf4, 0x88, 0x88, 0x46, 0xc1, 0x97, 0x97, 0x1b, 0xdb, 0x8e, 0xdb, 0x2a, + 0xae, 0xda, 0x12, 0x02, 0x3c, 0x4a, 0x0d, 0x19, 0x9a, 0x89, 0x29, 0x14, + 0xef, 0x22, 0xaf, 0x69, 0x13, 0x89, 0xfe, 0x56, 0xe9, 0xac, 0xf3, 0x1f, + 0xb5, 0x8b, 0x63, 0xe6, +}; +static const struct drbg_kat_pr_false kat2230_t = { + 9, kat2230_entropyin, kat2230_nonce, kat2230_persstr, + kat2230_entropyinreseed, kat2230_addinreseed, kat2230_addin0, + kat2230_addin1, kat2230_retbits +}; +static const struct drbg_kat kat2230 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2230_t +}; + +static const unsigned char kat2231_entropyin[] = { + 0xe1, 0xf6, 0x77, 0x02, 0xec, 0x10, 0xc7, 0x5c, 0xa3, 0xe9, 0xd3, 0x08, + 0x16, 0xc4, 0x79, 0xbf, 0x4d, 0x04, 0xdb, 0xd1, 0xf6, 0x64, 0x73, 0x8b, + 0x21, 0xd5, 0x29, 0xe5, 0x46, 0x0e, 0x92, 0xdd, +}; +static const unsigned char kat2231_nonce[] = {0}; +static const unsigned char kat2231_persstr[] = {0}; +static const unsigned char kat2231_entropyinreseed[] = { + 0x00, 0xc8, 0xac, 0x19, 0x71, 0x09, 0x6a, 0xe2, 0xa8, 0xd2, 0x88, 0xa9, + 0x62, 0xe5, 0xab, 0x33, 0x1e, 0xbd, 0x4e, 0xde, 0x7d, 0xd0, 0x72, 0x3b, + 0x0a, 0x92, 0xf9, 0x86, 0x9a, 0xb7, 0xea, 0x31, +}; +static const unsigned char kat2231_addinreseed[] = {0}; +static const unsigned char kat2231_addin0[] = {0}; +static const unsigned char kat2231_addin1[] = {0}; +static const unsigned char kat2231_retbits[] = { + 0xa1, 0x58, 0x0a, 0x82, 0xcd, 0xc0, 0x86, 0x11, 0xf8, 0x6b, 0x0f, 0x1b, + 0xe4, 0x88, 0x10, 0xe3, 0x2f, 0x08, 0x48, 0x28, 0xe6, 0x15, 0x6c, 0xde, + 0x1a, 0x2b, 0x20, 0x4b, 0x5d, 0x30, 0x63, 0x6f, 0x1f, 0x06, 0x32, 0x4e, + 0x21, 0x5d, 0x1c, 0x0d, 0xe8, 0x8d, 0x60, 0x34, 0xa8, 0xe7, 0x36, 0x9e, + 0xa8, 0x45, 0xf8, 0xd4, 0xaf, 0xcb, 0xe9, 0x3b, 0xb2, 0x47, 0x0d, 0xf1, + 0x2a, 0x99, 0x3f, 0xe3, +}; +static const struct drbg_kat_pr_false kat2231_t = { + 10, kat2231_entropyin, kat2231_nonce, kat2231_persstr, + kat2231_entropyinreseed, kat2231_addinreseed, kat2231_addin0, + kat2231_addin1, kat2231_retbits +}; +static const struct drbg_kat kat2231 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2231_t +}; + +static const unsigned char kat2232_entropyin[] = { + 0xc9, 0x6d, 0xa7, 0x20, 0x4d, 0xf6, 0x93, 0x47, 0xb9, 0x1d, 0xec, 0x74, + 0x3d, 0xcb, 0xc8, 0x6c, 0xa6, 0x69, 0x0e, 0xba, 0x81, 0x93, 0xd1, 0x43, + 0x4b, 0x1b, 0x87, 0xc4, 0xaf, 0x03, 0xcc, 0x1d, +}; +static const unsigned char kat2232_nonce[] = {0}; +static const unsigned char kat2232_persstr[] = {0}; +static const unsigned char kat2232_entropyinreseed[] = { + 0x42, 0x96, 0x74, 0xcb, 0x12, 0xe3, 0x55, 0x88, 0x4c, 0x33, 0xf2, 0x9b, + 0x46, 0xe2, 0x57, 0xf0, 0xfb, 0x0c, 0x38, 0xfa, 0xc9, 0x03, 0x9c, 0x0f, + 0xfc, 0x2a, 0x77, 0xb2, 0x9a, 0xcd, 0xf1, 0xc6, +}; +static const unsigned char kat2232_addinreseed[] = {0}; +static const unsigned char kat2232_addin0[] = {0}; +static const unsigned char kat2232_addin1[] = {0}; +static const unsigned char kat2232_retbits[] = { + 0x28, 0x6f, 0x17, 0x37, 0x72, 0xd9, 0x42, 0x3e, 0x8a, 0x49, 0xa2, 0xa6, + 0x77, 0x36, 0x6f, 0xfe, 0x21, 0x25, 0xe1, 0x16, 0x64, 0x6e, 0x79, 0x9d, + 0x1c, 0x37, 0x7b, 0x33, 0x0f, 0x5a, 0x17, 0xb8, 0x2a, 0xdb, 0x65, 0x2b, + 0xa9, 0xf1, 0x4a, 0x57, 0x0d, 0x3c, 0xd3, 0xb5, 0xe2, 0xfb, 0xb8, 0xdf, + 0x03, 0x11, 0x9d, 0xac, 0x21, 0x9d, 0x87, 0x2b, 0x11, 0xe7, 0x50, 0xfd, + 0xb3, 0x26, 0xa6, 0x2d, +}; +static const struct drbg_kat_pr_false kat2232_t = { + 11, kat2232_entropyin, kat2232_nonce, kat2232_persstr, + kat2232_entropyinreseed, kat2232_addinreseed, kat2232_addin0, + kat2232_addin1, kat2232_retbits +}; +static const struct drbg_kat kat2232 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2232_t +}; + +static const unsigned char kat2233_entropyin[] = { + 0x5d, 0x31, 0xf8, 0x1a, 0x37, 0xc9, 0xb5, 0xd8, 0x4b, 0x87, 0x6d, 0x8c, + 0x38, 0x25, 0xb0, 0x0e, 0xdc, 0x9f, 0x4a, 0x51, 0xfe, 0x82, 0x14, 0x1d, + 0xdc, 0x58, 0xb6, 0x5d, 0x5f, 0x9a, 0x37, 0xcd, +}; +static const unsigned char kat2233_nonce[] = {0}; +static const unsigned char kat2233_persstr[] = {0}; +static const unsigned char kat2233_entropyinreseed[] = { + 0x41, 0xda, 0x02, 0x30, 0xbb, 0x94, 0xf2, 0x60, 0x14, 0x47, 0xe4, 0x90, + 0xb0, 0x22, 0x0e, 0x7a, 0x1f, 0x4b, 0x2c, 0x42, 0x0e, 0xc6, 0xde, 0x0d, + 0x67, 0x5f, 0x63, 0x43, 0xf3, 0x4f, 0x1b, 0x6d, +}; +static const unsigned char kat2233_addinreseed[] = {0}; +static const unsigned char kat2233_addin0[] = {0}; +static const unsigned char kat2233_addin1[] = {0}; +static const unsigned char kat2233_retbits[] = { + 0xb6, 0x18, 0xaf, 0xef, 0x11, 0x32, 0x93, 0x5a, 0xe9, 0xed, 0x83, 0xe1, + 0x3c, 0xc7, 0x07, 0x83, 0x32, 0x19, 0xff, 0xbd, 0x88, 0x5e, 0xd7, 0xaa, + 0x27, 0x9b, 0x6d, 0xf4, 0xef, 0x62, 0x86, 0x4b, 0x3f, 0xa3, 0xcc, 0x7e, + 0xcb, 0xe7, 0xd7, 0xe1, 0xf3, 0xb0, 0xd5, 0x35, 0x47, 0x06, 0x97, 0x3a, + 0x85, 0x94, 0xe4, 0x12, 0x43, 0x57, 0xca, 0xf3, 0x1f, 0xfc, 0x1d, 0x04, + 0xd4, 0x9d, 0xf6, 0x9b, +}; +static const struct drbg_kat_pr_false kat2233_t = { + 12, kat2233_entropyin, kat2233_nonce, kat2233_persstr, + kat2233_entropyinreseed, kat2233_addinreseed, kat2233_addin0, + kat2233_addin1, kat2233_retbits +}; +static const struct drbg_kat kat2233 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2233_t +}; + +static const unsigned char kat2234_entropyin[] = { + 0xc5, 0x0c, 0xea, 0xce, 0x05, 0xb9, 0xaa, 0xc3, 0x40, 0x7c, 0x91, 0xfc, + 0x40, 0x1e, 0x17, 0x78, 0xd2, 0xd7, 0xaa, 0x44, 0xb7, 0xa4, 0x2a, 0xf6, + 0x77, 0x4f, 0xd8, 0x0a, 0x13, 0x9b, 0x4e, 0x3c, +}; +static const unsigned char kat2234_nonce[] = {0}; +static const unsigned char kat2234_persstr[] = {0}; +static const unsigned char kat2234_entropyinreseed[] = { + 0x15, 0xfe, 0x0d, 0xba, 0x96, 0x7b, 0xe9, 0xc7, 0x66, 0x87, 0xc8, 0x2d, + 0x74, 0xb0, 0xa0, 0x18, 0xcd, 0x96, 0xa8, 0x1c, 0xfb, 0xd0, 0x2e, 0x60, + 0x0f, 0x99, 0xf1, 0xd3, 0xe9, 0x65, 0xfa, 0xe3, +}; +static const unsigned char kat2234_addinreseed[] = {0}; +static const unsigned char kat2234_addin0[] = {0}; +static const unsigned char kat2234_addin1[] = {0}; +static const unsigned char kat2234_retbits[] = { + 0xc0, 0xd8, 0x0e, 0x37, 0xd2, 0x02, 0x28, 0xb9, 0xe0, 0x7b, 0xa8, 0xda, + 0x21, 0x78, 0xbf, 0x18, 0xea, 0x8d, 0x49, 0x7c, 0xda, 0xe2, 0x7a, 0xb3, + 0x7d, 0x17, 0xeb, 0xf9, 0xba, 0xee, 0x9a, 0x4b, 0x88, 0x95, 0x33, 0x01, + 0xc3, 0x64, 0x2d, 0xe5, 0x96, 0x5a, 0x6c, 0xa7, 0xf9, 0x0e, 0x9f, 0x48, + 0xf8, 0xe6, 0x2e, 0x33, 0x8c, 0x77, 0xeb, 0x85, 0x9c, 0x69, 0x60, 0x88, + 0x67, 0x9f, 0xb0, 0xa4, +}; +static const struct drbg_kat_pr_false kat2234_t = { + 13, kat2234_entropyin, kat2234_nonce, kat2234_persstr, + kat2234_entropyinreseed, kat2234_addinreseed, kat2234_addin0, + kat2234_addin1, kat2234_retbits +}; +static const struct drbg_kat kat2234 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2234_t +}; + +static const unsigned char kat2235_entropyin[] = { + 0xac, 0x56, 0x68, 0xac, 0x05, 0x4f, 0x73, 0x2d, 0x2b, 0xcd, 0x88, 0x56, + 0x16, 0x42, 0xc5, 0xa7, 0xca, 0x98, 0xc6, 0x8e, 0x34, 0x1c, 0xf0, 0xcf, + 0x18, 0x87, 0x3f, 0xea, 0x93, 0xef, 0x33, 0xfe, +}; +static const unsigned char kat2235_nonce[] = {0}; +static const unsigned char kat2235_persstr[] = {0}; +static const unsigned char kat2235_entropyinreseed[] = { + 0x4a, 0x4d, 0x08, 0x8b, 0xeb, 0x98, 0x43, 0xe4, 0x62, 0x2c, 0xdb, 0x0c, + 0x5a, 0x68, 0x51, 0x58, 0x7f, 0x2b, 0x47, 0x2d, 0xc5, 0xd7, 0x34, 0x21, + 0x14, 0x09, 0xba, 0xce, 0xc7, 0xb2, 0xac, 0x06, +}; +static const unsigned char kat2235_addinreseed[] = {0}; +static const unsigned char kat2235_addin0[] = {0}; +static const unsigned char kat2235_addin1[] = {0}; +static const unsigned char kat2235_retbits[] = { + 0xb2, 0x01, 0x3a, 0x36, 0x3f, 0x3e, 0xe0, 0x1a, 0xb8, 0x57, 0x3f, 0x3e, + 0x3e, 0xed, 0x32, 0x28, 0x51, 0x08, 0xc3, 0xed, 0x3b, 0xf2, 0x31, 0xc0, + 0x66, 0x17, 0x6e, 0xd9, 0x01, 0xe4, 0xd6, 0xff, 0xaa, 0xf0, 0xcf, 0xd1, + 0x2d, 0x63, 0xd7, 0xc1, 0x9f, 0x6c, 0x46, 0x0b, 0xaf, 0x43, 0x4a, 0x1d, + 0x6a, 0x55, 0x2c, 0x62, 0x27, 0x4b, 0xcb, 0x74, 0x69, 0xf7, 0x00, 0x9c, + 0x0b, 0xea, 0xb9, 0x72, +}; +static const struct drbg_kat_pr_false kat2235_t = { + 14, kat2235_entropyin, kat2235_nonce, kat2235_persstr, + kat2235_entropyinreseed, kat2235_addinreseed, kat2235_addin0, + kat2235_addin1, kat2235_retbits +}; +static const struct drbg_kat kat2235 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2235_t +}; + +static const unsigned char kat2236_entropyin[] = { + 0xf8, 0x17, 0xed, 0xc3, 0x35, 0x37, 0xaf, 0x62, 0xb7, 0xe8, 0xc0, 0x87, + 0x45, 0xa5, 0x9a, 0xb0, 0x45, 0xa4, 0x99, 0x1f, 0x64, 0x89, 0xed, 0x48, + 0x16, 0x8b, 0xad, 0x05, 0x5a, 0x70, 0x42, 0x4b, +}; +static const unsigned char kat2236_nonce[] = {0}; +static const unsigned char kat2236_persstr[] = {0}; +static const unsigned char kat2236_entropyinreseed[] = { + 0xd5, 0x2b, 0xaa, 0x36, 0x24, 0xc2, 0x63, 0x30, 0x4c, 0x09, 0x6a, 0x48, + 0x35, 0x6f, 0x06, 0x55, 0x19, 0xc7, 0xa7, 0x47, 0x08, 0x91, 0xf6, 0xce, + 0x3a, 0x20, 0xa4, 0xf4, 0x7e, 0xfd, 0x21, 0xc4, +}; +static const unsigned char kat2236_addinreseed[] = { + 0x63, 0x26, 0x5b, 0xec, 0xde, 0xaa, 0xdb, 0x76, 0xa6, 0x74, 0x22, 0x1d, + 0xb1, 0xd8, 0x41, 0xba, 0xd5, 0x6b, 0xbc, 0x5d, 0x2a, 0xc1, 0xa5, 0x4e, + 0xc4, 0x4d, 0xea, 0xc5, 0xf7, 0xf2, 0x83, 0x68, +}; +static const unsigned char kat2236_addin0[] = { + 0xf7, 0x8d, 0x6c, 0xb6, 0xea, 0x09, 0x45, 0xe8, 0xff, 0x9b, 0xc6, 0xf0, + 0xc2, 0x03, 0xd0, 0x6b, 0xf2, 0x78, 0x78, 0x35, 0xef, 0x4a, 0x94, 0xf1, + 0x0b, 0x90, 0x45, 0x92, 0xee, 0xd3, 0x1a, 0xd7, +}; +static const unsigned char kat2236_addin1[] = { + 0x88, 0x11, 0xee, 0x4c, 0xad, 0x91, 0x74, 0x75, 0xde, 0x9a, 0x7c, 0xa1, + 0x07, 0x49, 0x80, 0x67, 0xd3, 0x94, 0x4b, 0x14, 0xe2, 0x03, 0xc3, 0xcf, + 0x4c, 0x33, 0x87, 0x66, 0xf0, 0x6d, 0x00, 0xf7, +}; +static const unsigned char kat2236_retbits[] = { + 0xbb, 0x71, 0xbc, 0x49, 0x79, 0x4d, 0xfe, 0x83, 0xcf, 0x07, 0xf4, 0x2e, + 0xeb, 0x6e, 0x41, 0xa4, 0x96, 0x10, 0xf1, 0xa1, 0xe5, 0x74, 0x59, 0x76, + 0x4a, 0x40, 0x61, 0x1b, 0x1b, 0x14, 0x47, 0xc2, 0x84, 0x39, 0x40, 0xa4, + 0x76, 0x0c, 0xf3, 0x3b, 0x41, 0xf5, 0xf1, 0x02, 0x51, 0xa8, 0xe8, 0x3a, + 0xea, 0xfa, 0xba, 0xed, 0x1c, 0x28, 0x09, 0x1a, 0xb5, 0x52, 0xbc, 0x76, + 0x22, 0xf6, 0xea, 0xc3, +}; +static const struct drbg_kat_pr_false kat2236_t = { + 0, kat2236_entropyin, kat2236_nonce, kat2236_persstr, + kat2236_entropyinreseed, kat2236_addinreseed, kat2236_addin0, + kat2236_addin1, kat2236_retbits +}; +static const struct drbg_kat kat2236 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2236_t +}; + +static const unsigned char kat2237_entropyin[] = { + 0x85, 0x3f, 0x0b, 0x57, 0x15, 0x6c, 0xc0, 0x85, 0xfe, 0x4c, 0xd2, 0xd9, + 0xb9, 0x44, 0xf8, 0xe8, 0x5f, 0xd9, 0x81, 0xcf, 0xf2, 0x8f, 0xcf, 0xac, + 0x09, 0x2a, 0x28, 0x16, 0x27, 0xc4, 0x8a, 0x96, +}; +static const unsigned char kat2237_nonce[] = {0}; +static const unsigned char kat2237_persstr[] = {0}; +static const unsigned char kat2237_entropyinreseed[] = { + 0x0c, 0x39, 0x92, 0xe1, 0xc6, 0xc8, 0x6f, 0x77, 0x4f, 0x1f, 0x95, 0x11, + 0xda, 0x98, 0xaf, 0xef, 0xcd, 0x78, 0x0a, 0x11, 0xc5, 0xdd, 0x00, 0x0e, + 0x59, 0x74, 0x3b, 0xdc, 0xec, 0xcb, 0x43, 0x1c, +}; +static const unsigned char kat2237_addinreseed[] = { + 0x59, 0x8c, 0xf4, 0xba, 0xba, 0x27, 0xc1, 0x42, 0x68, 0xa8, 0x9f, 0x66, + 0x3b, 0x26, 0x27, 0x1b, 0x28, 0x7a, 0x4c, 0xc1, 0x97, 0xcb, 0xca, 0xec, + 0xf1, 0xdb, 0x68, 0x79, 0x20, 0x4d, 0x38, 0x41, +}; +static const unsigned char kat2237_addin0[] = { + 0x64, 0x9a, 0x28, 0xe6, 0x0b, 0x85, 0x1f, 0x05, 0x41, 0x40, 0xbf, 0xa7, + 0x5c, 0x37, 0x08, 0x55, 0xfe, 0x49, 0x6b, 0x17, 0x5f, 0x92, 0x5e, 0xc4, + 0xc5, 0x65, 0x44, 0x75, 0xad, 0xcf, 0x12, 0x10, +}; +static const unsigned char kat2237_addin1[] = { + 0x83, 0xb9, 0x2f, 0xa5, 0x02, 0x8d, 0x74, 0x22, 0x84, 0x07, 0xee, 0x65, + 0x42, 0xdf, 0x48, 0x1d, 0x35, 0xb9, 0xc9, 0x77, 0x4b, 0x0e, 0xab, 0x68, + 0x60, 0x7a, 0x51, 0x6d, 0xea, 0x99, 0x3c, 0x5d, +}; +static const unsigned char kat2237_retbits[] = { + 0x96, 0x77, 0xab, 0xda, 0xa3, 0x02, 0xb2, 0x74, 0x64, 0x54, 0x1b, 0x03, + 0x55, 0xa3, 0x17, 0x07, 0xeb, 0x3f, 0xe9, 0x0d, 0xcb, 0xa3, 0xe1, 0x95, + 0x22, 0x3f, 0x41, 0x9d, 0xa2, 0xd1, 0x74, 0x38, 0xf4, 0xc5, 0xe3, 0xe1, + 0x92, 0xcd, 0xcf, 0x48, 0x97, 0xa1, 0x4b, 0x27, 0xee, 0xa6, 0x35, 0x25, + 0x11, 0xb7, 0xa9, 0x53, 0xf7, 0xf4, 0xd1, 0x29, 0x8b, 0x40, 0x0e, 0x03, + 0xb6, 0x7a, 0xa1, 0x1a, +}; +static const struct drbg_kat_pr_false kat2237_t = { + 1, kat2237_entropyin, kat2237_nonce, kat2237_persstr, + kat2237_entropyinreseed, kat2237_addinreseed, kat2237_addin0, + kat2237_addin1, kat2237_retbits +}; +static const struct drbg_kat kat2237 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2237_t +}; + +static const unsigned char kat2238_entropyin[] = { + 0x96, 0x65, 0x64, 0xca, 0x87, 0x82, 0x2f, 0xe8, 0x40, 0x97, 0x2d, 0xf9, + 0xbb, 0xdb, 0x4c, 0x54, 0x37, 0xfe, 0xad, 0x0b, 0x04, 0xb3, 0x5e, 0xeb, + 0xe3, 0x21, 0xe4, 0x9c, 0xdc, 0x48, 0x01, 0x39, +}; +static const unsigned char kat2238_nonce[] = {0}; +static const unsigned char kat2238_persstr[] = {0}; +static const unsigned char kat2238_entropyinreseed[] = { + 0xb7, 0xb9, 0xa1, 0xdf, 0xa4, 0xac, 0x43, 0x5b, 0xc4, 0x3f, 0x40, 0x5a, + 0xc5, 0x32, 0xfb, 0x8b, 0x99, 0x54, 0xb9, 0x5a, 0x00, 0x17, 0xb9, 0x0e, + 0xb6, 0xa7, 0xdc, 0x49, 0xed, 0x5f, 0x71, 0x6f, +}; +static const unsigned char kat2238_addinreseed[] = { + 0x20, 0x28, 0x67, 0xf8, 0x6b, 0xcf, 0xe0, 0xd2, 0xe8, 0x84, 0xa0, 0x56, + 0x4a, 0x9b, 0x37, 0xfd, 0xbf, 0x70, 0x5b, 0xc3, 0xb4, 0x49, 0xde, 0xa0, + 0xd9, 0x55, 0x3c, 0xe0, 0x89, 0x3d, 0xa9, 0xc1, +}; +static const unsigned char kat2238_addin0[] = { + 0x1a, 0x57, 0xa3, 0xa6, 0x35, 0x68, 0x0f, 0xdc, 0xcb, 0x04, 0x89, 0x96, + 0x54, 0xd2, 0x8b, 0x01, 0xdb, 0xcb, 0x61, 0xc5, 0xe6, 0xd7, 0x08, 0x00, + 0xe0, 0xfc, 0x8b, 0x69, 0x4a, 0xc1, 0xeb, 0xf9, +}; +static const unsigned char kat2238_addin1[] = { + 0x5b, 0x07, 0xdc, 0xaa, 0x29, 0x4a, 0x81, 0xf4, 0x12, 0x1a, 0x76, 0xe9, + 0xdd, 0x25, 0xab, 0x6d, 0xe0, 0x15, 0x28, 0x76, 0x1e, 0x2a, 0x61, 0xd8, + 0x7d, 0x63, 0x07, 0x86, 0xe5, 0x9c, 0x16, 0x5d, +}; +static const unsigned char kat2238_retbits[] = { + 0x42, 0xcc, 0x3f, 0x56, 0x55, 0x16, 0xbd, 0x9c, 0x08, 0xd9, 0x13, 0x59, + 0xcd, 0x03, 0x62, 0x8b, 0x91, 0xb4, 0xcc, 0x11, 0x44, 0x6c, 0xba, 0xd6, + 0xea, 0xe1, 0xf9, 0xb6, 0xc9, 0xce, 0x2c, 0x9b, 0x57, 0xbe, 0xd0, 0x95, + 0x02, 0x83, 0xe8, 0xef, 0x2f, 0x78, 0x8f, 0x36, 0x2b, 0x32, 0xee, 0x35, + 0xd1, 0x63, 0x70, 0xc2, 0x3a, 0x03, 0x3e, 0xfe, 0x39, 0xbc, 0x89, 0x7d, + 0xd6, 0x7d, 0xc2, 0xe3, +}; +static const struct drbg_kat_pr_false kat2238_t = { + 2, kat2238_entropyin, kat2238_nonce, kat2238_persstr, + kat2238_entropyinreseed, kat2238_addinreseed, kat2238_addin0, + kat2238_addin1, kat2238_retbits +}; +static const struct drbg_kat kat2238 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2238_t +}; + +static const unsigned char kat2239_entropyin[] = { + 0x5f, 0x25, 0xed, 0x0a, 0x49, 0xa9, 0x5c, 0x85, 0x63, 0x02, 0x42, 0x0f, + 0x8e, 0x37, 0xb2, 0xb8, 0x12, 0xc4, 0x7e, 0x14, 0x0e, 0xf9, 0x54, 0xae, + 0xe4, 0x67, 0x49, 0x77, 0x6b, 0x05, 0x28, 0xff, +}; +static const unsigned char kat2239_nonce[] = {0}; +static const unsigned char kat2239_persstr[] = {0}; +static const unsigned char kat2239_entropyinreseed[] = { + 0xb1, 0xf1, 0x31, 0xa6, 0x0b, 0x60, 0xc8, 0x10, 0x17, 0x55, 0x9d, 0xab, + 0x4f, 0x69, 0x6a, 0x1a, 0xf4, 0x35, 0x10, 0x69, 0x04, 0xe2, 0x97, 0x95, + 0xad, 0x78, 0xa8, 0x1b, 0x27, 0xfe, 0x9e, 0xb3, +}; +static const unsigned char kat2239_addinreseed[] = { + 0x9d, 0x9a, 0xad, 0x67, 0x43, 0xde, 0x48, 0xc9, 0xd8, 0x65, 0xb6, 0x11, + 0xa0, 0x1d, 0xa3, 0x96, 0x46, 0x46, 0x93, 0x46, 0xe1, 0x56, 0x50, 0xfd, + 0xc9, 0xcb, 0x08, 0x4f, 0x35, 0xc2, 0xed, 0x8d, +}; +static const unsigned char kat2239_addin0[] = { + 0xc4, 0x47, 0x88, 0x2f, 0x6c, 0x4a, 0x3f, 0x92, 0x0d, 0xb5, 0xf0, 0xf5, + 0x3e, 0xf1, 0xa4, 0x96, 0x03, 0x23, 0x80, 0xf3, 0x34, 0xe4, 0x69, 0x28, + 0x88, 0xa3, 0x7d, 0xe9, 0x3b, 0x39, 0xe7, 0xb0, +}; +static const unsigned char kat2239_addin1[] = { + 0x5b, 0x4a, 0x50, 0x38, 0x6a, 0x7a, 0x2b, 0xa1, 0x2c, 0xaf, 0x2f, 0xb1, + 0x98, 0x9e, 0x50, 0xe7, 0x6d, 0xfb, 0xee, 0x2f, 0x31, 0xca, 0xd2, 0x88, + 0x1e, 0x6e, 0xfb, 0x75, 0xcf, 0x5f, 0x91, 0x93, +}; +static const unsigned char kat2239_retbits[] = { + 0xb4, 0x4f, 0x0b, 0x16, 0x5d, 0x9e, 0x62, 0x16, 0xff, 0xec, 0xf4, 0x86, + 0xd3, 0x78, 0x6a, 0x78, 0xbf, 0x59, 0x39, 0xd5, 0x50, 0x96, 0x6e, 0x88, + 0xca, 0xd2, 0xd3, 0x9c, 0xf1, 0x75, 0xf7, 0xe9, 0x2c, 0xf1, 0xe1, 0x8f, + 0x11, 0xce, 0x11, 0x08, 0x89, 0x40, 0x5d, 0xb7, 0x39, 0xe4, 0x0a, 0x5d, + 0x18, 0x5f, 0x02, 0xb1, 0x2b, 0xdf, 0xa5, 0xb4, 0xb9, 0x23, 0xb8, 0x48, + 0x6f, 0x0a, 0xc5, 0x40, +}; +static const struct drbg_kat_pr_false kat2239_t = { + 3, kat2239_entropyin, kat2239_nonce, kat2239_persstr, + kat2239_entropyinreseed, kat2239_addinreseed, kat2239_addin0, + kat2239_addin1, kat2239_retbits +}; +static const struct drbg_kat kat2239 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2239_t +}; + +static const unsigned char kat2240_entropyin[] = { + 0xd9, 0x8b, 0x88, 0xd9, 0x57, 0xd4, 0x9a, 0xdb, 0x78, 0x9c, 0xf7, 0xda, + 0xe5, 0x77, 0x36, 0xb2, 0xad, 0x50, 0xb2, 0xce, 0xa3, 0x62, 0xf0, 0x54, + 0x8a, 0xa0, 0xfa, 0xfb, 0xb7, 0x02, 0x7e, 0x92, +}; +static const unsigned char kat2240_nonce[] = {0}; +static const unsigned char kat2240_persstr[] = {0}; +static const unsigned char kat2240_entropyinreseed[] = { + 0xbc, 0x96, 0x4b, 0xbb, 0x80, 0x53, 0x2f, 0xfd, 0x6a, 0xfa, 0xf3, 0xa0, + 0xc6, 0xdc, 0x36, 0x92, 0xff, 0x51, 0x13, 0xe7, 0x42, 0xf4, 0x7d, 0xcc, + 0x0e, 0x33, 0x69, 0x49, 0xbf, 0x6d, 0x7a, 0xf2, +}; +static const unsigned char kat2240_addinreseed[] = { + 0x7d, 0xa5, 0x5d, 0x04, 0x60, 0x39, 0x67, 0xc5, 0x26, 0x6c, 0x13, 0x80, + 0x47, 0x0f, 0x19, 0xdc, 0xf4, 0x53, 0xd2, 0x7f, 0x66, 0x0d, 0x08, 0x83, + 0x93, 0x08, 0x5c, 0xa4, 0xa3, 0x4f, 0x79, 0x2e, +}; +static const unsigned char kat2240_addin0[] = { + 0xd7, 0x49, 0x73, 0x7b, 0x22, 0xc2, 0x37, 0x47, 0x1b, 0x9d, 0x78, 0x5e, + 0x4f, 0xf7, 0x52, 0x95, 0x1b, 0x49, 0x99, 0xbe, 0x82, 0xbe, 0xa9, 0x2c, + 0xf5, 0xd3, 0x62, 0x3e, 0xb2, 0x87, 0x40, 0x0f, +}; +static const unsigned char kat2240_addin1[] = { + 0x97, 0x23, 0xd0, 0xe7, 0x2e, 0xe9, 0x65, 0x0d, 0xb1, 0x5f, 0x79, 0xf5, + 0xbe, 0x1f, 0xc7, 0x8c, 0xd7, 0x82, 0x5e, 0xa1, 0x02, 0xb4, 0x4a, 0x4b, + 0xd9, 0x6c, 0x51, 0xf4, 0x51, 0xff, 0x5c, 0xed, +}; +static const unsigned char kat2240_retbits[] = { + 0x89, 0x59, 0x66, 0xcb, 0xa1, 0x7b, 0x7f, 0x6f, 0x0a, 0xfa, 0x16, 0x1f, + 0xfa, 0x23, 0xc9, 0x7d, 0x7b, 0xb9, 0x80, 0xbd, 0x2f, 0xf9, 0x8e, 0xc2, + 0x25, 0x50, 0x07, 0xc5, 0xe2, 0xfb, 0x82, 0xb8, 0x61, 0xce, 0x0a, 0x82, + 0x48, 0x0b, 0x0c, 0x06, 0xaf, 0xb1, 0xb4, 0xed, 0x62, 0x26, 0x22, 0x98, + 0x2e, 0x80, 0x60, 0x16, 0x9a, 0x36, 0xb1, 0x43, 0xa8, 0x20, 0x13, 0xbe, + 0xfb, 0x37, 0xf6, 0xea, +}; +static const struct drbg_kat_pr_false kat2240_t = { + 4, kat2240_entropyin, kat2240_nonce, kat2240_persstr, + kat2240_entropyinreseed, kat2240_addinreseed, kat2240_addin0, + kat2240_addin1, kat2240_retbits +}; +static const struct drbg_kat kat2240 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2240_t +}; + +static const unsigned char kat2241_entropyin[] = { + 0xb0, 0xe1, 0xc0, 0x50, 0x4f, 0xc2, 0xee, 0xe3, 0x9b, 0xb6, 0x10, 0x7d, + 0xea, 0x06, 0x99, 0x0a, 0x9b, 0x2e, 0xae, 0x04, 0x24, 0x26, 0x63, 0xbc, + 0xb5, 0xf4, 0x19, 0x2d, 0x15, 0x05, 0x2c, 0x13, +}; +static const unsigned char kat2241_nonce[] = {0}; +static const unsigned char kat2241_persstr[] = {0}; +static const unsigned char kat2241_entropyinreseed[] = { + 0x4f, 0xd5, 0x25, 0x07, 0x93, 0x47, 0x65, 0x17, 0x84, 0x7d, 0xb8, 0xf4, + 0xe8, 0x06, 0xc3, 0x40, 0x24, 0x4b, 0xc2, 0x44, 0xdb, 0x15, 0xe7, 0x4f, + 0x7e, 0x0a, 0xb1, 0xaf, 0x9c, 0xb3, 0xfa, 0xf9, +}; +static const unsigned char kat2241_addinreseed[] = { + 0xd1, 0x60, 0xbb, 0x1f, 0xcc, 0xc7, 0xaf, 0xd6, 0xea, 0x81, 0x87, 0x3c, + 0xd7, 0xba, 0x7a, 0x09, 0x38, 0xd3, 0xd7, 0xba, 0x4a, 0xef, 0x6b, 0xc1, + 0xc7, 0xdb, 0x63, 0x1f, 0x07, 0x71, 0x11, 0x4e, +}; +static const unsigned char kat2241_addin0[] = { + 0x75, 0x06, 0x78, 0xd7, 0xfe, 0x88, 0x82, 0xf3, 0xda, 0xf7, 0x10, 0xd7, + 0x95, 0xef, 0xdd, 0xe4, 0x27, 0xcd, 0xe0, 0x9d, 0x2b, 0x9e, 0x59, 0x6a, + 0xf9, 0x83, 0x5b, 0x7c, 0x7c, 0x0b, 0x28, 0x6e, +}; +static const unsigned char kat2241_addin1[] = { + 0x57, 0x0a, 0x22, 0x9e, 0xd5, 0xcd, 0x24, 0xe6, 0x57, 0xa2, 0x0c, 0x0e, + 0x00, 0x9b, 0x78, 0x6f, 0xd1, 0xa3, 0x0b, 0xc8, 0x0b, 0x6d, 0x49, 0x17, + 0x4b, 0x4c, 0xba, 0xcf, 0x67, 0x83, 0xcc, 0x5b, +}; +static const unsigned char kat2241_retbits[] = { + 0x07, 0x2a, 0x9e, 0x3a, 0x66, 0xf2, 0x9c, 0x33, 0x5f, 0xa0, 0x91, 0xaf, + 0x47, 0x23, 0x3c, 0x4a, 0x9a, 0xeb, 0x43, 0x1c, 0xdb, 0x5e, 0x8c, 0xdf, + 0x7b, 0xa5, 0xa5, 0x64, 0x48, 0xd6, 0x33, 0xc1, 0xa2, 0x63, 0x85, 0xeb, + 0x88, 0x90, 0x7f, 0x13, 0x94, 0x1a, 0xb1, 0x6f, 0xe8, 0x0c, 0x5f, 0x28, + 0x8f, 0x3e, 0x78, 0x9a, 0x63, 0x4f, 0xa0, 0x79, 0x6c, 0x30, 0x80, 0xfe, + 0x2f, 0x43, 0x5a, 0x88, +}; +static const struct drbg_kat_pr_false kat2241_t = { + 5, kat2241_entropyin, kat2241_nonce, kat2241_persstr, + kat2241_entropyinreseed, kat2241_addinreseed, kat2241_addin0, + kat2241_addin1, kat2241_retbits +}; +static const struct drbg_kat kat2241 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2241_t +}; + +static const unsigned char kat2242_entropyin[] = { + 0x7c, 0x9d, 0xca, 0x70, 0xb3, 0xba, 0x24, 0xe3, 0x17, 0x2a, 0x89, 0xa9, + 0xf1, 0x7f, 0xe5, 0xcc, 0x75, 0x7e, 0x0f, 0xc0, 0x54, 0x94, 0x8b, 0xfd, + 0x1a, 0x1b, 0x80, 0xa6, 0x93, 0x6e, 0xad, 0xcf, +}; +static const unsigned char kat2242_nonce[] = {0}; +static const unsigned char kat2242_persstr[] = {0}; +static const unsigned char kat2242_entropyinreseed[] = { + 0x84, 0x7f, 0xca, 0x31, 0x03, 0xb6, 0xb1, 0x11, 0x48, 0x51, 0x46, 0x70, + 0xba, 0x38, 0x3d, 0xbd, 0x10, 0x46, 0x12, 0x01, 0x9d, 0xc6, 0x35, 0xb4, + 0x49, 0xe0, 0x88, 0x02, 0xd6, 0x5e, 0xa4, 0x88, +}; +static const unsigned char kat2242_addinreseed[] = { + 0xca, 0x08, 0x4e, 0xcb, 0x4d, 0xc2, 0x0d, 0x17, 0x6d, 0x50, 0x4a, 0x9a, + 0x95, 0xa9, 0xcf, 0x66, 0x6d, 0xd1, 0x2a, 0x63, 0x59, 0x8f, 0x7e, 0x32, + 0x06, 0xe7, 0x67, 0x3c, 0xbd, 0x31, 0x28, 0xa0, +}; +static const unsigned char kat2242_addin0[] = { + 0xf4, 0x10, 0x46, 0xab, 0x85, 0x8e, 0x68, 0x85, 0x46, 0xa1, 0x2c, 0x2c, + 0xe9, 0x55, 0xe3, 0xc3, 0xa2, 0xb9, 0x8b, 0xf0, 0xd3, 0x86, 0x1a, 0x20, + 0x90, 0x34, 0x0a, 0x59, 0x2c, 0xee, 0x36, 0xc9, +}; +static const unsigned char kat2242_addin1[] = { + 0x6e, 0x61, 0x06, 0x0e, 0xcf, 0xe6, 0xd5, 0x67, 0xf3, 0x5f, 0x7a, 0xcc, + 0xeb, 0x07, 0x49, 0x72, 0x03, 0xea, 0x8b, 0xa9, 0x17, 0xb5, 0x6f, 0x81, + 0xed, 0xef, 0x02, 0x4a, 0x84, 0x9e, 0x8c, 0x84, +}; +static const unsigned char kat2242_retbits[] = { + 0x3a, 0x1e, 0x1e, 0xec, 0x45, 0x9c, 0x90, 0xfc, 0xee, 0x4c, 0x12, 0x41, + 0xf2, 0xa4, 0x9e, 0x5a, 0x2a, 0xa3, 0x1c, 0xe1, 0x69, 0x83, 0x05, 0x7a, + 0xd8, 0xd4, 0x3d, 0x3a, 0x88, 0x7c, 0xe3, 0x01, 0xf0, 0xd7, 0xa4, 0x55, + 0x8a, 0x07, 0x2b, 0xe3, 0x19, 0x8d, 0xb7, 0x31, 0x06, 0xee, 0x3c, 0xf6, + 0x30, 0xd4, 0xe4, 0xc1, 0x3a, 0xb3, 0x76, 0x7e, 0x81, 0xaf, 0x15, 0x68, + 0xef, 0x7a, 0x25, 0x1d, +}; +static const struct drbg_kat_pr_false kat2242_t = { + 6, kat2242_entropyin, kat2242_nonce, kat2242_persstr, + kat2242_entropyinreseed, kat2242_addinreseed, kat2242_addin0, + kat2242_addin1, kat2242_retbits +}; +static const struct drbg_kat kat2242 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2242_t +}; + +static const unsigned char kat2243_entropyin[] = { + 0x0b, 0x1b, 0xd6, 0x1c, 0x9c, 0xd2, 0xc1, 0xaa, 0x26, 0xb6, 0x8d, 0x2e, + 0x0e, 0x40, 0x9c, 0xe8, 0x7a, 0xfa, 0x40, 0xe0, 0x3a, 0x8d, 0xfa, 0xe6, + 0x14, 0x85, 0x3c, 0x1f, 0x3e, 0x50, 0x33, 0xa7, +}; +static const unsigned char kat2243_nonce[] = {0}; +static const unsigned char kat2243_persstr[] = {0}; +static const unsigned char kat2243_entropyinreseed[] = { + 0x96, 0x0e, 0x3e, 0xd2, 0x46, 0x66, 0x02, 0xc3, 0xa4, 0x56, 0xe0, 0x16, + 0x1d, 0x89, 0x24, 0x82, 0x82, 0x98, 0xeb, 0x5d, 0x3d, 0x4a, 0x0e, 0x28, + 0x97, 0xd3, 0xc2, 0x30, 0xfb, 0x12, 0xad, 0xf6, +}; +static const unsigned char kat2243_addinreseed[] = { + 0xfb, 0xb3, 0xf1, 0x6d, 0x70, 0xec, 0xd0, 0xf5, 0x81, 0x91, 0x4a, 0x1f, + 0xf8, 0xb1, 0xe5, 0x36, 0xaa, 0xe6, 0x05, 0x4f, 0x3d, 0x68, 0x88, 0xee, + 0x84, 0x36, 0xb2, 0xe6, 0x00, 0xda, 0x2e, 0xbd, +}; +static const unsigned char kat2243_addin0[] = { + 0x4f, 0xd3, 0x0a, 0x71, 0xf7, 0x86, 0xae, 0x96, 0x60, 0xe4, 0x21, 0x75, + 0xe6, 0x43, 0xbb, 0x99, 0x02, 0x3a, 0x66, 0x31, 0xc5, 0x2f, 0x51, 0xc5, + 0xb3, 0x5e, 0xa0, 0x56, 0xe9, 0xfd, 0x39, 0x52, +}; +static const unsigned char kat2243_addin1[] = { + 0xde, 0xa9, 0xa0, 0x94, 0x29, 0x0b, 0x68, 0xa7, 0x90, 0xea, 0x1a, 0x8b, + 0xe7, 0x08, 0x9a, 0xe1, 0x52, 0x28, 0xf6, 0x8d, 0xa0, 0xcb, 0x5f, 0xaa, + 0x70, 0x25, 0x8f, 0x51, 0x3c, 0x19, 0xe1, 0x61, +}; +static const unsigned char kat2243_retbits[] = { + 0x6a, 0x12, 0x37, 0x02, 0xdf, 0xfe, 0x38, 0xd5, 0x52, 0xc6, 0x3b, 0x1c, + 0xa9, 0xba, 0x01, 0xd0, 0xde, 0x1b, 0x8c, 0xc0, 0x64, 0xae, 0xd9, 0x52, + 0x96, 0xda, 0x45, 0x44, 0x69, 0xad, 0x28, 0xe2, 0xb7, 0x94, 0xea, 0xfc, + 0x04, 0xc4, 0x67, 0x78, 0xfa, 0x9e, 0x24, 0xe5, 0xc3, 0x86, 0x68, 0x40, + 0xc2, 0x91, 0xc8, 0x51, 0x48, 0x2c, 0xd3, 0x78, 0x8b, 0x2a, 0x5e, 0xb1, + 0x7f, 0x23, 0x63, 0x90, +}; +static const struct drbg_kat_pr_false kat2243_t = { + 7, kat2243_entropyin, kat2243_nonce, kat2243_persstr, + kat2243_entropyinreseed, kat2243_addinreseed, kat2243_addin0, + kat2243_addin1, kat2243_retbits +}; +static const struct drbg_kat kat2243 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2243_t +}; + +static const unsigned char kat2244_entropyin[] = { + 0xb7, 0x7f, 0xfb, 0xdb, 0x00, 0x58, 0x6f, 0x80, 0x34, 0xcf, 0xfb, 0x58, + 0xe2, 0xc4, 0x59, 0xf7, 0x73, 0xce, 0x20, 0x4d, 0x41, 0x3d, 0x4b, 0x7a, + 0x6f, 0xc3, 0x1c, 0x0f, 0x97, 0x0c, 0xab, 0x2c, +}; +static const unsigned char kat2244_nonce[] = {0}; +static const unsigned char kat2244_persstr[] = {0}; +static const unsigned char kat2244_entropyinreseed[] = { + 0xa9, 0x00, 0xa2, 0xb9, 0x40, 0x5f, 0x6b, 0x07, 0xcd, 0xf4, 0x4e, 0xb4, + 0x95, 0xb6, 0x2d, 0x35, 0xca, 0x66, 0xa1, 0x36, 0x2b, 0xd9, 0x6b, 0x62, + 0x31, 0x04, 0x39, 0x90, 0x26, 0x46, 0x99, 0xf1, +}; +static const unsigned char kat2244_addinreseed[] = { + 0x75, 0x8d, 0x5c, 0x4d, 0x93, 0x43, 0x4b, 0x02, 0xc6, 0xf6, 0x96, 0x4e, + 0xb7, 0xa9, 0x31, 0xbd, 0x33, 0x1d, 0x5a, 0x4e, 0x29, 0x0b, 0x32, 0x91, + 0xab, 0x51, 0x74, 0x71, 0x48, 0x21, 0x75, 0x3f, +}; +static const unsigned char kat2244_addin0[] = { + 0x58, 0x52, 0xbe, 0x3e, 0xf7, 0x36, 0x1d, 0xc7, 0x69, 0x6c, 0x0a, 0x35, + 0x8f, 0x30, 0xba, 0xb0, 0x59, 0xfe, 0xeb, 0xb7, 0x7a, 0x6b, 0xca, 0xa1, + 0x1d, 0x3c, 0x35, 0x83, 0xfb, 0x6a, 0x4e, 0x5f, +}; +static const unsigned char kat2244_addin1[] = { + 0xe5, 0x17, 0x82, 0x84, 0x83, 0xee, 0x9c, 0x1c, 0x1c, 0x65, 0x20, 0xbc, + 0x9b, 0xb6, 0x93, 0x24, 0xfa, 0x2e, 0x24, 0xc3, 0x56, 0x6e, 0xd5, 0xcf, + 0x0d, 0xb8, 0xc5, 0x84, 0x17, 0xc3, 0xd9, 0x9b, +}; +static const unsigned char kat2244_retbits[] = { + 0x5f, 0x01, 0x75, 0x9b, 0x2a, 0x74, 0x8b, 0x40, 0xf8, 0x10, 0x9d, 0x5f, + 0x78, 0xcb, 0xfb, 0x7b, 0xa2, 0x45, 0xb3, 0x65, 0x58, 0x85, 0x8b, 0x82, + 0x1e, 0xc4, 0x43, 0xc7, 0xca, 0x41, 0x47, 0x90, 0x3a, 0xe2, 0xbd, 0xc2, + 0xb1, 0x00, 0x89, 0x59, 0xfb, 0xe8, 0xa6, 0x60, 0x5a, 0x7e, 0x4f, 0x9a, + 0x22, 0xad, 0xf4, 0x31, 0x38, 0xbf, 0x96, 0xc6, 0xff, 0x1d, 0xf1, 0x00, + 0xdc, 0xbc, 0xb0, 0xb4, +}; +static const struct drbg_kat_pr_false kat2244_t = { + 8, kat2244_entropyin, kat2244_nonce, kat2244_persstr, + kat2244_entropyinreseed, kat2244_addinreseed, kat2244_addin0, + kat2244_addin1, kat2244_retbits +}; +static const struct drbg_kat kat2244 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2244_t +}; + +static const unsigned char kat2245_entropyin[] = { + 0x67, 0xf1, 0xfd, 0x05, 0xf2, 0xeb, 0xd3, 0x21, 0xfc, 0xdf, 0x41, 0x16, + 0x55, 0xc5, 0x55, 0x94, 0x5e, 0xf8, 0xa5, 0xe8, 0x68, 0xad, 0x38, 0x8a, + 0x68, 0x6e, 0xfe, 0x88, 0xec, 0xd1, 0x54, 0xc1, +}; +static const unsigned char kat2245_nonce[] = {0}; +static const unsigned char kat2245_persstr[] = {0}; +static const unsigned char kat2245_entropyinreseed[] = { + 0xa0, 0xdb, 0x50, 0x92, 0xdf, 0xdf, 0xef, 0x42, 0x44, 0x4d, 0x46, 0xc4, + 0xe3, 0x34, 0x42, 0xa3, 0x3f, 0x71, 0x4c, 0x05, 0x62, 0x4d, 0x24, 0xa9, + 0x22, 0xcd, 0x3d, 0xd2, 0x8f, 0x2b, 0x2e, 0x07, +}; +static const unsigned char kat2245_addinreseed[] = { + 0xbf, 0x0e, 0x3d, 0xb3, 0x1b, 0x0e, 0x3c, 0x19, 0x94, 0xe7, 0x31, 0xe4, + 0x78, 0x76, 0xeb, 0xfd, 0x62, 0xfb, 0x4d, 0x3c, 0x62, 0x07, 0x19, 0xf9, + 0xf0, 0x86, 0xf1, 0x7d, 0x51, 0xbb, 0xfc, 0x15, +}; +static const unsigned char kat2245_addin0[] = { + 0x1a, 0x28, 0x14, 0x05, 0x43, 0x45, 0xde, 0xb9, 0x23, 0x4b, 0x68, 0x37, + 0xd0, 0x3e, 0x6d, 0xe9, 0xec, 0x5c, 0xd3, 0x2d, 0x17, 0x62, 0x7f, 0x18, + 0x2c, 0x63, 0x3c, 0xc5, 0xc4, 0xca, 0x33, 0x4b, +}; +static const unsigned char kat2245_addin1[] = { + 0xe6, 0xc7, 0x77, 0x82, 0xb1, 0x43, 0x06, 0xff, 0x68, 0x82, 0xe2, 0x97, + 0xda, 0x10, 0xcc, 0x9e, 0x47, 0x73, 0x3e, 0xd1, 0xf7, 0xc8, 0x59, 0x2d, + 0x46, 0xc3, 0x6d, 0x9d, 0xf0, 0x77, 0x51, 0xae, +}; +static const unsigned char kat2245_retbits[] = { + 0x73, 0x74, 0x51, 0xd9, 0x56, 0xe5, 0x18, 0x46, 0xf6, 0xfa, 0xc8, 0x8b, + 0xc3, 0x31, 0x3f, 0xf4, 0x9b, 0x26, 0x41, 0x12, 0x79, 0x04, 0x2f, 0xa2, + 0x66, 0xcf, 0x55, 0x89, 0xd2, 0xff, 0x8a, 0x69, 0x1d, 0x22, 0x55, 0x8b, + 0xff, 0xb3, 0x6c, 0xdc, 0x23, 0xf0, 0x6d, 0xa0, 0xb5, 0xa3, 0xdf, 0xd7, + 0x98, 0x40, 0x3e, 0x9d, 0x48, 0x6b, 0x8e, 0x41, 0xa7, 0x2c, 0xf1, 0x47, + 0x3f, 0xed, 0xda, 0xc1, +}; +static const struct drbg_kat_pr_false kat2245_t = { + 9, kat2245_entropyin, kat2245_nonce, kat2245_persstr, + kat2245_entropyinreseed, kat2245_addinreseed, kat2245_addin0, + kat2245_addin1, kat2245_retbits +}; +static const struct drbg_kat kat2245 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2245_t +}; + +static const unsigned char kat2246_entropyin[] = { + 0x41, 0x65, 0xe4, 0xad, 0xb3, 0x7a, 0xfc, 0x2a, 0xe4, 0x35, 0xa9, 0x67, + 0x11, 0x47, 0xb9, 0x83, 0x10, 0x22, 0x79, 0xf7, 0x9b, 0x9a, 0x01, 0x88, + 0xc6, 0xfa, 0x4e, 0x5a, 0x22, 0xff, 0x55, 0xf4, +}; +static const unsigned char kat2246_nonce[] = {0}; +static const unsigned char kat2246_persstr[] = {0}; +static const unsigned char kat2246_entropyinreseed[] = { + 0x2d, 0x32, 0xed, 0x1d, 0x2e, 0x3a, 0x52, 0x17, 0x9d, 0x07, 0x79, 0xef, + 0x09, 0xd1, 0x20, 0xa9, 0x2b, 0x3a, 0x4d, 0xaa, 0x09, 0xa3, 0x00, 0x65, + 0xd6, 0x3b, 0xd1, 0x1a, 0x97, 0xc4, 0xd6, 0xc7, +}; +static const unsigned char kat2246_addinreseed[] = { + 0x4a, 0xc1, 0x99, 0x2e, 0xd9, 0x5f, 0x9f, 0x8d, 0x20, 0x7f, 0x29, 0xf6, + 0xa2, 0x03, 0x9b, 0x51, 0x1f, 0xfa, 0x82, 0x33, 0xf4, 0x6b, 0xb4, 0x8d, + 0xe6, 0x64, 0x77, 0x04, 0x4d, 0xc6, 0x7d, 0xd2, +}; +static const unsigned char kat2246_addin0[] = { + 0xf2, 0x0d, 0x78, 0x1d, 0x0c, 0xcb, 0x63, 0x0d, 0x72, 0x62, 0x2e, 0x5d, + 0x65, 0x3c, 0x32, 0x3d, 0xb5, 0xf6, 0x52, 0xfc, 0x7b, 0xaa, 0xa8, 0x00, + 0x9a, 0xc1, 0xc3, 0xad, 0x2d, 0x0f, 0x38, 0x32, +}; +static const unsigned char kat2246_addin1[] = { + 0x15, 0x62, 0x80, 0x1a, 0x0a, 0xaa, 0x41, 0x5b, 0x9d, 0x7a, 0x19, 0x4d, + 0xb4, 0x24, 0xc1, 0x8a, 0x73, 0x1e, 0xa2, 0x48, 0xa3, 0x25, 0x2c, 0x3a, + 0x70, 0x1e, 0x9f, 0x5d, 0x24, 0xce, 0x8d, 0x2d, +}; +static const unsigned char kat2246_retbits[] = { + 0x1f, 0x02, 0x7b, 0xd8, 0x0e, 0x6e, 0xe8, 0x79, 0x75, 0x34, 0xbb, 0x44, + 0x41, 0xad, 0x16, 0x7f, 0x26, 0xcc, 0x4e, 0x42, 0x15, 0x61, 0x05, 0x11, + 0xfd, 0xac, 0xe7, 0x5e, 0x25, 0x1f, 0x2d, 0xed, 0xb9, 0x67, 0xa3, 0x5f, + 0x6b, 0xdc, 0x1f, 0x89, 0x53, 0xb9, 0xcc, 0x28, 0x52, 0xc8, 0x16, 0xa5, + 0xc3, 0xc8, 0xbc, 0x22, 0xd2, 0xf8, 0x84, 0x74, 0xea, 0x96, 0x4a, 0xbc, + 0xcb, 0x9b, 0x19, 0x68, +}; +static const struct drbg_kat_pr_false kat2246_t = { + 10, kat2246_entropyin, kat2246_nonce, kat2246_persstr, + kat2246_entropyinreseed, kat2246_addinreseed, kat2246_addin0, + kat2246_addin1, kat2246_retbits +}; +static const struct drbg_kat kat2246 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2246_t +}; + +static const unsigned char kat2247_entropyin[] = { + 0xb2, 0x60, 0xdb, 0x47, 0x85, 0x3c, 0xa3, 0x7f, 0x00, 0xb6, 0x9e, 0xa7, + 0x5f, 0x65, 0x40, 0xd1, 0xe8, 0x15, 0x51, 0x51, 0x57, 0x7f, 0xee, 0x68, + 0x35, 0x74, 0x64, 0x87, 0xdc, 0xef, 0x61, 0x5a, +}; +static const unsigned char kat2247_nonce[] = {0}; +static const unsigned char kat2247_persstr[] = {0}; +static const unsigned char kat2247_entropyinreseed[] = { + 0x90, 0x13, 0x23, 0xde, 0x85, 0x9f, 0x3b, 0x5a, 0xd3, 0xe8, 0x1e, 0x33, + 0xb8, 0x7f, 0x53, 0xa8, 0xfe, 0xa3, 0x5a, 0x1a, 0x8b, 0x3f, 0xf3, 0xfb, + 0xd8, 0xe9, 0x66, 0xec, 0xfc, 0x6c, 0x72, 0xce, +}; +static const unsigned char kat2247_addinreseed[] = { + 0x58, 0x4b, 0xf2, 0x9e, 0x79, 0xe1, 0x95, 0x0e, 0xf1, 0x2b, 0xc7, 0x7d, + 0x35, 0x5d, 0x39, 0xe3, 0x4d, 0xe3, 0xba, 0xd0, 0xe5, 0x82, 0xfd, 0xfa, + 0x62, 0x8e, 0x97, 0x40, 0x3f, 0x59, 0xf4, 0x06, +}; +static const unsigned char kat2247_addin0[] = { + 0xc5, 0x42, 0x64, 0x83, 0xaa, 0x28, 0x2f, 0x44, 0xaf, 0xd6, 0x46, 0x2e, + 0x24, 0xec, 0xa4, 0x65, 0x32, 0x85, 0x39, 0xb4, 0x65, 0xb1, 0xb9, 0x7d, + 0x67, 0x3b, 0x05, 0xd9, 0x19, 0x50, 0xa3, 0x7e, +}; +static const unsigned char kat2247_addin1[] = { + 0x07, 0x3b, 0xb1, 0xc0, 0x06, 0x94, 0xf6, 0x5a, 0xb1, 0x28, 0x80, 0xb9, + 0x4e, 0x24, 0x21, 0x08, 0x66, 0xed, 0x27, 0x2e, 0xa6, 0xe2, 0x06, 0xe0, + 0xae, 0x7e, 0x50, 0x07, 0xdc, 0xf4, 0xed, 0x4d, +}; +static const unsigned char kat2247_retbits[] = { + 0xe6, 0x62, 0xb9, 0xc0, 0xdd, 0x94, 0xe0, 0xe8, 0x97, 0xf6, 0x47, 0x9c, + 0xa2, 0x3a, 0x5d, 0xe7, 0x45, 0xe4, 0x34, 0xd8, 0xd9, 0xd4, 0x1e, 0x22, + 0xfd, 0x89, 0xac, 0xa7, 0x93, 0xfa, 0xbe, 0x6d, 0x57, 0x34, 0x55, 0x34, + 0x15, 0xb6, 0x92, 0xb3, 0xce, 0x76, 0x08, 0xe8, 0x71, 0x4a, 0x4b, 0xc7, + 0xc2, 0x25, 0xec, 0xbc, 0xc7, 0xbb, 0x5b, 0x9f, 0x55, 0xc0, 0x53, 0xb5, + 0x1c, 0xee, 0x2c, 0x49, +}; +static const struct drbg_kat_pr_false kat2247_t = { + 11, kat2247_entropyin, kat2247_nonce, kat2247_persstr, + kat2247_entropyinreseed, kat2247_addinreseed, kat2247_addin0, + kat2247_addin1, kat2247_retbits +}; +static const struct drbg_kat kat2247 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2247_t +}; + +static const unsigned char kat2248_entropyin[] = { + 0xa9, 0x6e, 0x95, 0x20, 0x94, 0x31, 0x43, 0x50, 0xc6, 0x1c, 0x97, 0x4c, + 0x0a, 0x76, 0xd6, 0x2d, 0xa6, 0xeb, 0xf2, 0x5d, 0xc6, 0x33, 0xb7, 0x71, + 0x88, 0xae, 0xee, 0x43, 0x48, 0x97, 0x7d, 0xdf, +}; +static const unsigned char kat2248_nonce[] = {0}; +static const unsigned char kat2248_persstr[] = {0}; +static const unsigned char kat2248_entropyinreseed[] = { + 0xea, 0x2d, 0x91, 0x10, 0x8a, 0x9e, 0xf2, 0xcc, 0xd6, 0xa1, 0x5b, 0xae, + 0x97, 0x60, 0x65, 0x74, 0xf6, 0x43, 0xc5, 0xc4, 0x89, 0x5d, 0xdf, 0x60, + 0x8a, 0x04, 0xf0, 0xc3, 0xa2, 0xf3, 0xee, 0xdf, +}; +static const unsigned char kat2248_addinreseed[] = { + 0xed, 0x87, 0x5d, 0xa4, 0x52, 0x09, 0xf7, 0x47, 0x3e, 0x8c, 0x37, 0xa8, + 0x1c, 0x19, 0x8e, 0xba, 0xac, 0x89, 0xbb, 0x2d, 0xa2, 0x35, 0xf1, 0x1e, + 0xd6, 0x23, 0xe4, 0xd9, 0xa2, 0x70, 0x7c, 0x31, +}; +static const unsigned char kat2248_addin0[] = { + 0x7b, 0x84, 0x13, 0x06, 0x54, 0x95, 0xab, 0x86, 0x5c, 0xf1, 0xab, 0x07, + 0x8b, 0x61, 0x03, 0xc1, 0xa8, 0x1a, 0x0a, 0x8b, 0xc5, 0xc9, 0x96, 0xc2, + 0xa5, 0xd4, 0x6c, 0x4e, 0x37, 0xab, 0x26, 0x95, +}; +static const unsigned char kat2248_addin1[] = { + 0x26, 0x05, 0x7d, 0xf2, 0x12, 0xbb, 0x78, 0x04, 0x0a, 0xef, 0x36, 0xa1, + 0xcd, 0x4f, 0xbd, 0x09, 0x3d, 0x5d, 0x9b, 0xe7, 0x75, 0xc6, 0x1b, 0x93, + 0xa9, 0x05, 0xca, 0x0e, 0xbb, 0xb9, 0xed, 0x49, +}; +static const unsigned char kat2248_retbits[] = { + 0xdb, 0xc5, 0xfe, 0x05, 0xc1, 0x93, 0xe1, 0x01, 0xb9, 0xa3, 0x13, 0x43, + 0x5b, 0x9f, 0x37, 0x71, 0x58, 0x8c, 0x16, 0x8a, 0x15, 0xdf, 0x08, 0x46, + 0x7a, 0x4d, 0x3c, 0x81, 0xac, 0xd4, 0xff, 0xd1, 0x77, 0x98, 0xd2, 0x00, + 0x46, 0x9a, 0xa7, 0x6a, 0xab, 0x34, 0x20, 0xe9, 0x9e, 0x1a, 0x68, 0xac, + 0xda, 0x02, 0x35, 0xb1, 0x59, 0x7d, 0x4a, 0xb9, 0x25, 0xe6, 0x1e, 0xe9, + 0xee, 0x57, 0xb5, 0x2d, +}; +static const struct drbg_kat_pr_false kat2248_t = { + 12, kat2248_entropyin, kat2248_nonce, kat2248_persstr, + kat2248_entropyinreseed, kat2248_addinreseed, kat2248_addin0, + kat2248_addin1, kat2248_retbits +}; +static const struct drbg_kat kat2248 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2248_t +}; + +static const unsigned char kat2249_entropyin[] = { + 0x2a, 0xaa, 0x69, 0xcc, 0x44, 0x0e, 0x47, 0x4b, 0x6b, 0x99, 0x40, 0x57, + 0x4c, 0x03, 0x6b, 0x82, 0xf7, 0x24, 0xac, 0x97, 0xdf, 0xa8, 0x2c, 0x71, + 0xf4, 0x92, 0x34, 0x9b, 0xb7, 0xa8, 0xf9, 0xe5, +}; +static const unsigned char kat2249_nonce[] = {0}; +static const unsigned char kat2249_persstr[] = {0}; +static const unsigned char kat2249_entropyinreseed[] = { + 0x21, 0x31, 0x86, 0x6c, 0x96, 0x02, 0x62, 0xf4, 0x04, 0xad, 0x53, 0x59, + 0x67, 0xc5, 0x18, 0xf3, 0xf2, 0xe3, 0x64, 0xc4, 0xbb, 0x6d, 0xae, 0xb0, + 0xc4, 0xd7, 0x44, 0xbf, 0xc8, 0xfc, 0x83, 0xa0, +}; +static const unsigned char kat2249_addinreseed[] = { + 0x33, 0xf7, 0xd1, 0x0b, 0xb1, 0xc6, 0x6a, 0xe0, 0x77, 0x1b, 0xa4, 0xfe, + 0x61, 0x93, 0xac, 0x27, 0x12, 0x01, 0xd6, 0x81, 0xe8, 0xe5, 0x80, 0x82, + 0xdf, 0x16, 0x32, 0xe5, 0xba, 0xee, 0x67, 0xa9, +}; +static const unsigned char kat2249_addin0[] = { + 0xcf, 0x75, 0xd2, 0x02, 0xc5, 0xf3, 0x6a, 0x4d, 0x7a, 0x40, 0xce, 0x08, + 0x89, 0xb7, 0x92, 0x0b, 0x57, 0xcf, 0x9e, 0x55, 0xe9, 0xbe, 0xd3, 0x9c, + 0x06, 0x88, 0x79, 0x0d, 0xdf, 0x3b, 0xa7, 0x39, +}; +static const unsigned char kat2249_addin1[] = { + 0x34, 0x5e, 0xea, 0x83, 0x40, 0x59, 0x40, 0xc2, 0xce, 0x5f, 0x32, 0xbe, + 0xba, 0x44, 0x57, 0x06, 0xe3, 0xd2, 0xd9, 0x12, 0x96, 0x1e, 0x0f, 0xc8, + 0x69, 0xee, 0x46, 0xed, 0x2f, 0x5d, 0x81, 0xb6, +}; +static const unsigned char kat2249_retbits[] = { + 0xe3, 0x89, 0x19, 0x7c, 0x83, 0xf4, 0x32, 0xea, 0xe5, 0xaf, 0xbe, 0x2d, + 0xd4, 0x61, 0xdd, 0xf7, 0xea, 0xc0, 0x9b, 0xc8, 0xf9, 0x2a, 0xba, 0x0f, + 0x72, 0x6d, 0xd6, 0xd8, 0x57, 0x96, 0xf3, 0x47, 0x7f, 0x2b, 0x1e, 0xaf, + 0x50, 0x1d, 0x7f, 0x37, 0xb1, 0x73, 0x89, 0xca, 0xe9, 0x5c, 0x09, 0xe5, + 0xd4, 0xf2, 0x40, 0xa2, 0x77, 0xc9, 0xc9, 0x69, 0x56, 0x50, 0x0c, 0xaa, + 0x30, 0xea, 0xae, 0x28, +}; +static const struct drbg_kat_pr_false kat2249_t = { + 13, kat2249_entropyin, kat2249_nonce, kat2249_persstr, + kat2249_entropyinreseed, kat2249_addinreseed, kat2249_addin0, + kat2249_addin1, kat2249_retbits +}; +static const struct drbg_kat kat2249 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2249_t +}; + +static const unsigned char kat2250_entropyin[] = { + 0x9d, 0xd2, 0xb8, 0x4f, 0x4b, 0xa3, 0xbc, 0x67, 0xf5, 0x90, 0xee, 0xfd, + 0x75, 0xd5, 0x6b, 0xab, 0xf3, 0x37, 0x27, 0x40, 0x5a, 0x38, 0xa2, 0xd1, + 0xcd, 0x2a, 0x5b, 0xaf, 0xbb, 0x0d, 0xb2, 0x7c, +}; +static const unsigned char kat2250_nonce[] = {0}; +static const unsigned char kat2250_persstr[] = {0}; +static const unsigned char kat2250_entropyinreseed[] = { + 0x4f, 0x21, 0xf5, 0x60, 0x76, 0x32, 0xc2, 0x86, 0x8e, 0x58, 0x48, 0xa6, + 0xbc, 0x9c, 0x6e, 0x17, 0xa1, 0xf6, 0x28, 0x22, 0xf9, 0x1a, 0x9a, 0x77, + 0xcf, 0x83, 0xfb, 0xe0, 0xf8, 0x12, 0xc6, 0xc7, +}; +static const unsigned char kat2250_addinreseed[] = { + 0xf9, 0x08, 0x4e, 0x1f, 0xd6, 0xae, 0x34, 0x6c, 0x89, 0x20, 0x4b, 0x22, + 0xa7, 0x7a, 0x87, 0x9d, 0xda, 0xad, 0xb4, 0x2a, 0x1d, 0xcf, 0x5d, 0xa0, + 0x18, 0xc6, 0xb3, 0x06, 0xdf, 0xef, 0x11, 0x69, +}; +static const unsigned char kat2250_addin0[] = { + 0xcc, 0x92, 0xf0, 0x9a, 0x3b, 0x12, 0xf2, 0x9d, 0x9e, 0x73, 0x25, 0x3c, + 0x26, 0x1e, 0x82, 0x81, 0x96, 0xfa, 0x54, 0x0a, 0x90, 0x24, 0x63, 0x26, + 0x65, 0xc6, 0xc2, 0x5a, 0x41, 0x9b, 0x1f, 0x86, +}; +static const unsigned char kat2250_addin1[] = { + 0x53, 0x11, 0x37, 0x03, 0xa3, 0x36, 0x2b, 0x3e, 0xef, 0xb0, 0xc1, 0x25, + 0x87, 0xfa, 0x25, 0xa6, 0x20, 0xe0, 0x9e, 0x0c, 0xb6, 0x3a, 0xcb, 0x3f, + 0x7b, 0x74, 0x47, 0x16, 0x18, 0xcc, 0x0d, 0x05, +}; +static const unsigned char kat2250_retbits[] = { + 0xee, 0xf4, 0x85, 0x0d, 0x91, 0xb6, 0x35, 0x08, 0xbd, 0xf3, 0x25, 0x7c, + 0x4b, 0x66, 0xc8, 0xc0, 0x22, 0xa6, 0x86, 0x9c, 0xc8, 0xd9, 0x47, 0x3e, + 0x5f, 0x57, 0x9d, 0x10, 0x3c, 0x67, 0x22, 0x5c, 0x04, 0xe3, 0x99, 0x4f, + 0x14, 0xc3, 0x1f, 0xf0, 0xe3, 0x28, 0xc1, 0xad, 0xdd, 0xc8, 0xd8, 0xf6, + 0xb1, 0xf2, 0xe7, 0x04, 0x09, 0x32, 0x5a, 0x35, 0x3e, 0xec, 0x19, 0xc4, + 0x20, 0x35, 0x2b, 0x7c, +}; +static const struct drbg_kat_pr_false kat2250_t = { + 14, kat2250_entropyin, kat2250_nonce, kat2250_persstr, + kat2250_entropyinreseed, kat2250_addinreseed, kat2250_addin0, + kat2250_addin1, kat2250_retbits +}; +static const struct drbg_kat kat2250 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2250_t +}; + +static const unsigned char kat2251_entropyin[] = { + 0x5c, 0xd1, 0xdf, 0x6d, 0xb5, 0x8e, 0xa5, 0x07, 0x83, 0x8d, 0x74, 0x26, + 0xb3, 0xfb, 0x48, 0x40, 0x2c, 0xd1, 0x4a, 0xb7, 0x5a, 0xbb, 0xde, 0xf3, + 0x3c, 0xe3, 0x0f, 0xb9, 0x7c, 0x53, 0x09, 0x98, +}; +static const unsigned char kat2251_nonce[] = {0}; +static const unsigned char kat2251_persstr[] = { + 0x35, 0x14, 0x20, 0xc0, 0x26, 0x3c, 0xe1, 0x1e, 0xe8, 0xb6, 0x83, 0xf6, + 0x10, 0x61, 0x30, 0xc6, 0x7f, 0xf1, 0xc6, 0x55, 0xc4, 0xe6, 0x78, 0x82, + 0x52, 0x93, 0xf0, 0x04, 0xd2, 0x7c, 0x54, 0x24, +}; +static const unsigned char kat2251_entropyinreseed[] = { + 0x99, 0xe6, 0x85, 0x0f, 0xa2, 0x91, 0x31, 0xbf, 0xc7, 0x48, 0xb2, 0xe7, + 0x4e, 0x0f, 0xd6, 0x2a, 0xcc, 0x4b, 0xe4, 0xe9, 0xb5, 0xf0, 0x64, 0x47, + 0xdc, 0x26, 0xf7, 0x72, 0xc0, 0x24, 0x15, 0x61, +}; +static const unsigned char kat2251_addinreseed[] = {0}; +static const unsigned char kat2251_addin0[] = {0}; +static const unsigned char kat2251_addin1[] = {0}; +static const unsigned char kat2251_retbits[] = { + 0xf6, 0x04, 0x0a, 0xf8, 0xae, 0x7a, 0xb0, 0x4c, 0xde, 0x02, 0xbe, 0x25, + 0xaf, 0x95, 0xde, 0xda, 0xda, 0x3b, 0x10, 0x32, 0x1c, 0x41, 0x8c, 0x7a, + 0xf4, 0xed, 0x5b, 0xc8, 0x2e, 0x28, 0xeb, 0xf7, 0x78, 0xae, 0x42, 0x48, + 0xc5, 0x65, 0x29, 0x2e, 0x4c, 0xb8, 0xec, 0xcd, 0x40, 0xf1, 0x8a, 0x38, + 0x28, 0x48, 0xb4, 0x0d, 0x74, 0x41, 0xa2, 0x91, 0xcc, 0x9e, 0xe8, 0x46, + 0x5c, 0xbe, 0x5f, 0xd6, +}; +static const struct drbg_kat_pr_false kat2251_t = { + 0, kat2251_entropyin, kat2251_nonce, kat2251_persstr, + kat2251_entropyinreseed, kat2251_addinreseed, kat2251_addin0, + kat2251_addin1, kat2251_retbits +}; +static const struct drbg_kat kat2251 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2251_t +}; + +static const unsigned char kat2252_entropyin[] = { + 0x5a, 0x6d, 0xb1, 0xb1, 0xec, 0x99, 0xb8, 0x15, 0x05, 0xa6, 0x7f, 0x8c, + 0x22, 0xe4, 0x86, 0x9d, 0xd2, 0x2f, 0xeb, 0x9e, 0xb9, 0x42, 0xc2, 0x69, + 0xed, 0xbd, 0x5c, 0x9a, 0x85, 0x17, 0xa6, 0x83, +}; +static const unsigned char kat2252_nonce[] = {0}; +static const unsigned char kat2252_persstr[] = { + 0xb7, 0x41, 0xa4, 0xc1, 0xeb, 0xfa, 0x69, 0x3a, 0xf8, 0xce, 0x1d, 0x2a, + 0xb1, 0x65, 0xba, 0xda, 0xcd, 0xc9, 0xa8, 0xbe, 0x61, 0xe2, 0x94, 0x4e, + 0xae, 0xe5, 0xb1, 0xb0, 0xdb, 0xd7, 0xa1, 0xa3, +}; +static const unsigned char kat2252_entropyinreseed[] = { + 0x51, 0x0b, 0x0c, 0xec, 0x9b, 0x8e, 0x18, 0x2a, 0xa4, 0xed, 0x96, 0xdc, + 0xd7, 0x74, 0xc2, 0x41, 0xad, 0x98, 0xfc, 0x45, 0xd2, 0xd8, 0x17, 0x92, + 0x8a, 0x1b, 0x60, 0x13, 0xfb, 0xa6, 0xc9, 0xd4, +}; +static const unsigned char kat2252_addinreseed[] = {0}; +static const unsigned char kat2252_addin0[] = {0}; +static const unsigned char kat2252_addin1[] = {0}; +static const unsigned char kat2252_retbits[] = { + 0xc0, 0x13, 0x52, 0x85, 0xad, 0xa6, 0xde, 0x39, 0x3f, 0xcc, 0xf2, 0x5e, + 0x20, 0xae, 0xb9, 0xd1, 0x06, 0x5d, 0x56, 0x71, 0xf5, 0x46, 0x2d, 0x15, + 0xf5, 0x9e, 0x54, 0xc1, 0x58, 0xfd, 0xd4, 0x82, 0x91, 0x20, 0xa2, 0xa6, + 0x78, 0xed, 0x79, 0xf6, 0x10, 0xd4, 0xbe, 0x30, 0x62, 0xbc, 0x37, 0xba, + 0x5a, 0x32, 0x9b, 0x6b, 0x1f, 0x25, 0x6e, 0x30, 0x62, 0xde, 0x33, 0x23, + 0xca, 0x50, 0xce, 0x13, +}; +static const struct drbg_kat_pr_false kat2252_t = { + 1, kat2252_entropyin, kat2252_nonce, kat2252_persstr, + kat2252_entropyinreseed, kat2252_addinreseed, kat2252_addin0, + kat2252_addin1, kat2252_retbits +}; +static const struct drbg_kat kat2252 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2252_t +}; + +static const unsigned char kat2253_entropyin[] = { + 0x9b, 0xdd, 0xb6, 0x2c, 0x4b, 0xdb, 0x84, 0x27, 0x24, 0x8f, 0x71, 0x9c, + 0x49, 0x70, 0x1e, 0xb2, 0x27, 0x8d, 0x72, 0x40, 0x85, 0xf6, 0xc7, 0xd3, + 0xfe, 0xf2, 0x62, 0x3a, 0x83, 0xdb, 0xce, 0xd4, +}; +static const unsigned char kat2253_nonce[] = {0}; +static const unsigned char kat2253_persstr[] = { + 0xc0, 0xb7, 0x99, 0x37, 0x47, 0xee, 0x00, 0x3e, 0xfc, 0xc9, 0x7f, 0xff, + 0x09, 0x40, 0xc4, 0x44, 0x62, 0xd4, 0x65, 0x62, 0x85, 0x1c, 0x2b, 0x94, + 0xb0, 0x67, 0xb8, 0x99, 0xc9, 0xf7, 0x6c, 0x85, +}; +static const unsigned char kat2253_entropyinreseed[] = { + 0x76, 0x02, 0x5a, 0xa8, 0x8b, 0x1a, 0xb2, 0xb2, 0xac, 0x51, 0xee, 0x5e, + 0x4b, 0x8a, 0xaa, 0xda, 0x34, 0x17, 0x2e, 0x82, 0x65, 0xe0, 0x31, 0x87, + 0x59, 0x82, 0x14, 0xff, 0x35, 0xa2, 0x81, 0x12, +}; +static const unsigned char kat2253_addinreseed[] = {0}; +static const unsigned char kat2253_addin0[] = {0}; +static const unsigned char kat2253_addin1[] = {0}; +static const unsigned char kat2253_retbits[] = { + 0xc9, 0x06, 0xb7, 0x32, 0xf1, 0x1b, 0xae, 0x67, 0xa1, 0x8d, 0x6a, 0x25, + 0xb8, 0xa6, 0x50, 0xc7, 0x81, 0xce, 0xa4, 0x84, 0x84, 0x8d, 0xfb, 0x3a, + 0x7e, 0x88, 0x8f, 0xc9, 0x50, 0x78, 0x35, 0x9f, 0x2a, 0x08, 0x0b, 0x24, + 0x49, 0x0f, 0x84, 0xfe, 0xf1, 0x72, 0xbe, 0xa8, 0xcb, 0x0d, 0x0b, 0x33, + 0xea, 0x15, 0x71, 0x3b, 0xe9, 0x42, 0x7a, 0x09, 0xa8, 0x8f, 0x92, 0x07, + 0x1a, 0xf0, 0x07, 0xe4, +}; +static const struct drbg_kat_pr_false kat2253_t = { + 2, kat2253_entropyin, kat2253_nonce, kat2253_persstr, + kat2253_entropyinreseed, kat2253_addinreseed, kat2253_addin0, + kat2253_addin1, kat2253_retbits +}; +static const struct drbg_kat kat2253 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2253_t +}; + +static const unsigned char kat2254_entropyin[] = { + 0x67, 0x05, 0xf1, 0x42, 0xd5, 0x38, 0x06, 0x41, 0x1d, 0xaf, 0xb8, 0x97, + 0x4b, 0x9e, 0x04, 0xea, 0x96, 0xbd, 0x7e, 0xac, 0xdf, 0x3c, 0xa9, 0x86, + 0x78, 0xb8, 0x1b, 0xae, 0xf9, 0xb7, 0x94, 0xa4, +}; +static const unsigned char kat2254_nonce[] = {0}; +static const unsigned char kat2254_persstr[] = { + 0xdb, 0x70, 0xc6, 0xa6, 0x75, 0x35, 0x68, 0x3d, 0x89, 0xab, 0xda, 0x1f, + 0xbe, 0xfc, 0x14, 0x96, 0x73, 0xde, 0x4c, 0xed, 0x67, 0x61, 0x22, 0x78, + 0x94, 0xff, 0xb5, 0x27, 0xc1, 0x59, 0xb5, 0xf8, +}; +static const unsigned char kat2254_entropyinreseed[] = { + 0x8d, 0xa0, 0x42, 0xd0, 0x50, 0xc7, 0x18, 0xcd, 0xa4, 0x25, 0x2d, 0xd0, + 0x08, 0x0f, 0x0f, 0x46, 0x39, 0x92, 0x15, 0x35, 0x0f, 0xa5, 0x1e, 0x07, + 0x7c, 0x5b, 0x13, 0xf0, 0xb7, 0x3a, 0xaa, 0xa0, +}; +static const unsigned char kat2254_addinreseed[] = {0}; +static const unsigned char kat2254_addin0[] = {0}; +static const unsigned char kat2254_addin1[] = {0}; +static const unsigned char kat2254_retbits[] = { + 0x77, 0x0c, 0x82, 0x80, 0x4c, 0x7b, 0x56, 0xab, 0x52, 0x4f, 0xd7, 0x8c, + 0x47, 0xd6, 0x76, 0x9f, 0xc8, 0x08, 0x28, 0x5a, 0x41, 0x05, 0x7c, 0x1e, + 0xe3, 0x22, 0xe4, 0x6b, 0xc8, 0x65, 0x3b, 0x2c, 0x80, 0x6f, 0x3a, 0x27, + 0x9c, 0xa0, 0x02, 0x81, 0xf8, 0xa7, 0xee, 0x69, 0x11, 0x1e, 0xb4, 0x0b, + 0x98, 0xc6, 0x5b, 0x20, 0x31, 0xd9, 0x62, 0xef, 0x4f, 0x79, 0x2b, 0xda, + 0x00, 0x53, 0x38, 0xe9, +}; +static const struct drbg_kat_pr_false kat2254_t = { + 3, kat2254_entropyin, kat2254_nonce, kat2254_persstr, + kat2254_entropyinreseed, kat2254_addinreseed, kat2254_addin0, + kat2254_addin1, kat2254_retbits +}; +static const struct drbg_kat kat2254 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2254_t +}; + +static const unsigned char kat2255_entropyin[] = { + 0x9b, 0x5f, 0xfa, 0xe4, 0x15, 0x8f, 0xc3, 0x5d, 0x95, 0xb0, 0x57, 0x2b, + 0xf7, 0xc9, 0xa6, 0x72, 0xce, 0x2b, 0x60, 0xe6, 0x0a, 0xed, 0xff, 0x83, + 0xaa, 0x4e, 0x06, 0x25, 0xcc, 0xa3, 0xb1, 0x59, +}; +static const unsigned char kat2255_nonce[] = {0}; +static const unsigned char kat2255_persstr[] = { + 0x1a, 0x7c, 0x4a, 0x9f, 0xed, 0x26, 0x24, 0xff, 0x83, 0xd0, 0x14, 0x2a, + 0x60, 0x1b, 0x88, 0x72, 0xf4, 0x38, 0xce, 0x20, 0xc1, 0xdf, 0xb2, 0x10, + 0xb5, 0xa0, 0x82, 0xaf, 0x2b, 0x2a, 0xb4, 0xc9, +}; +static const unsigned char kat2255_entropyinreseed[] = { + 0x09, 0x69, 0xf8, 0x95, 0xd8, 0x62, 0xdb, 0x10, 0x41, 0xe5, 0x3a, 0xe2, + 0xc9, 0x94, 0xd2, 0xce, 0xb6, 0xe9, 0x47, 0x0a, 0x58, 0xa6, 0xdf, 0x29, + 0x40, 0xae, 0x1b, 0x22, 0x49, 0xce, 0x32, 0xa1, +}; +static const unsigned char kat2255_addinreseed[] = {0}; +static const unsigned char kat2255_addin0[] = {0}; +static const unsigned char kat2255_addin1[] = {0}; +static const unsigned char kat2255_retbits[] = { + 0x8f, 0xb5, 0x52, 0xd8, 0x4b, 0x11, 0x19, 0x6e, 0xb6, 0x4d, 0x04, 0x3a, + 0xdf, 0x89, 0x13, 0x11, 0x6f, 0x66, 0xd2, 0x8a, 0x41, 0x72, 0x5b, 0xc1, + 0xfb, 0x91, 0x43, 0xe3, 0xf8, 0xfd, 0x92, 0xd8, 0xd5, 0xb5, 0xa8, 0x69, + 0x36, 0xe0, 0xe8, 0x35, 0xff, 0x93, 0x2c, 0x52, 0x47, 0xfb, 0xc4, 0x8e, + 0x94, 0x64, 0x8c, 0x10, 0xcb, 0x9c, 0x90, 0xda, 0xd3, 0x54, 0xcd, 0x42, + 0x5e, 0x0a, 0xe9, 0xff, +}; +static const struct drbg_kat_pr_false kat2255_t = { + 4, kat2255_entropyin, kat2255_nonce, kat2255_persstr, + kat2255_entropyinreseed, kat2255_addinreseed, kat2255_addin0, + kat2255_addin1, kat2255_retbits +}; +static const struct drbg_kat kat2255 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2255_t +}; + +static const unsigned char kat2256_entropyin[] = { + 0xf9, 0xd4, 0x0e, 0x13, 0x7f, 0xbe, 0xdb, 0xba, 0xfd, 0x71, 0xf9, 0x7c, + 0x22, 0x05, 0xf4, 0x32, 0x52, 0x7e, 0x7a, 0x72, 0xd4, 0x52, 0xff, 0x45, + 0xeb, 0xc3, 0x11, 0xe2, 0x1c, 0x1a, 0x71, 0xad, +}; +static const unsigned char kat2256_nonce[] = {0}; +static const unsigned char kat2256_persstr[] = { + 0xcc, 0x37, 0x6a, 0x45, 0xb3, 0x70, 0x3a, 0x58, 0xc5, 0x56, 0x0b, 0x1b, + 0xe1, 0x4a, 0x53, 0xc0, 0xe9, 0x1a, 0x90, 0x0a, 0x14, 0xbb, 0x88, 0xa8, + 0x77, 0x0d, 0x8d, 0xa3, 0xec, 0x27, 0x58, 0xe9, +}; +static const unsigned char kat2256_entropyinreseed[] = { + 0x2f, 0x33, 0x6b, 0x89, 0x32, 0x96, 0xb7, 0x8c, 0x8a, 0xa9, 0xc3, 0x8e, + 0xa2, 0xf9, 0x17, 0xe1, 0x16, 0xa0, 0x3b, 0xb7, 0xf7, 0xa4, 0x5c, 0x14, + 0x20, 0xd7, 0xfc, 0x98, 0x0e, 0x2c, 0x10, 0xd9, +}; +static const unsigned char kat2256_addinreseed[] = {0}; +static const unsigned char kat2256_addin0[] = {0}; +static const unsigned char kat2256_addin1[] = {0}; +static const unsigned char kat2256_retbits[] = { + 0xa8, 0x44, 0x99, 0x2c, 0xe6, 0x06, 0x87, 0xd5, 0xb1, 0xed, 0x23, 0x53, + 0xbd, 0x5b, 0xfa, 0xd0, 0x24, 0x7e, 0xd3, 0xe7, 0xad, 0xa6, 0x7d, 0x4d, + 0x41, 0x70, 0xff, 0x41, 0x2e, 0xa8, 0x6d, 0x72, 0xab, 0xb8, 0xe7, 0xa5, + 0x0f, 0x8f, 0x14, 0x6c, 0xc2, 0xcd, 0xa0, 0xc2, 0x20, 0x09, 0x4f, 0xd8, + 0x07, 0x4c, 0x11, 0x82, 0x71, 0xea, 0xbe, 0xe7, 0xa2, 0x7c, 0xb5, 0x3c, + 0xbf, 0x7a, 0x1a, 0x18, +}; +static const struct drbg_kat_pr_false kat2256_t = { + 5, kat2256_entropyin, kat2256_nonce, kat2256_persstr, + kat2256_entropyinreseed, kat2256_addinreseed, kat2256_addin0, + kat2256_addin1, kat2256_retbits +}; +static const struct drbg_kat kat2256 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2256_t +}; + +static const unsigned char kat2257_entropyin[] = { + 0xa9, 0x00, 0x72, 0xab, 0x36, 0x11, 0xcb, 0x02, 0xc1, 0xe7, 0x0e, 0x11, + 0x26, 0x06, 0xd7, 0xbd, 0xfd, 0x49, 0x45, 0x77, 0x74, 0xe4, 0xf3, 0xdb, + 0x23, 0xb2, 0xfb, 0x6b, 0xcd, 0xdd, 0x1f, 0xd7, +}; +static const unsigned char kat2257_nonce[] = {0}; +static const unsigned char kat2257_persstr[] = { + 0x94, 0x0c, 0xf9, 0x7c, 0x25, 0xeb, 0x52, 0x49, 0x69, 0xe0, 0x4a, 0x47, + 0x04, 0x45, 0x88, 0x1a, 0x39, 0x40, 0xc0, 0x4d, 0x64, 0x8f, 0x41, 0x80, + 0x2b, 0x55, 0x88, 0xe4, 0xfe, 0x74, 0x49, 0x2e, +}; +static const unsigned char kat2257_entropyinreseed[] = { + 0x05, 0x00, 0x26, 0x40, 0xb6, 0x43, 0xa0, 0x7e, 0xf9, 0x97, 0x1e, 0x38, + 0x07, 0xaa, 0x11, 0x8f, 0x40, 0xa3, 0x57, 0x31, 0x75, 0x68, 0xda, 0xd1, + 0x11, 0x9f, 0x00, 0xf6, 0x10, 0x0a, 0xcc, 0x41, +}; +static const unsigned char kat2257_addinreseed[] = {0}; +static const unsigned char kat2257_addin0[] = {0}; +static const unsigned char kat2257_addin1[] = {0}; +static const unsigned char kat2257_retbits[] = { + 0x55, 0x80, 0x0b, 0xec, 0xd4, 0x0c, 0x19, 0xb7, 0xa1, 0x15, 0xa0, 0xcb, + 0xbf, 0x96, 0x4b, 0x2b, 0x59, 0x18, 0x90, 0xc4, 0x9e, 0x1f, 0xc9, 0x8a, + 0x65, 0xa6, 0x47, 0x1a, 0x51, 0xf6, 0xbd, 0x9a, 0x2e, 0xbd, 0x17, 0x7a, + 0x65, 0xb5, 0xcc, 0x0e, 0xf7, 0x22, 0x34, 0x08, 0x0f, 0x64, 0x8c, 0x93, + 0x8a, 0xe4, 0xa2, 0x02, 0x78, 0x76, 0x4c, 0x66, 0x94, 0x56, 0xba, 0xcf, + 0x71, 0x40, 0xf2, 0xbe, +}; +static const struct drbg_kat_pr_false kat2257_t = { + 6, kat2257_entropyin, kat2257_nonce, kat2257_persstr, + kat2257_entropyinreseed, kat2257_addinreseed, kat2257_addin0, + kat2257_addin1, kat2257_retbits +}; +static const struct drbg_kat kat2257 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2257_t +}; + +static const unsigned char kat2258_entropyin[] = { + 0x8d, 0xb0, 0x2f, 0x21, 0xf2, 0x60, 0xe4, 0x6e, 0x9e, 0x76, 0x72, 0x1a, + 0x6d, 0xfb, 0xd9, 0x42, 0x2e, 0xfc, 0x87, 0x1f, 0x4f, 0x9b, 0x10, 0x62, + 0x29, 0x4c, 0x5c, 0x59, 0xe7, 0x6d, 0xb9, 0x9d, +}; +static const unsigned char kat2258_nonce[] = {0}; +static const unsigned char kat2258_persstr[] = { + 0xb1, 0xb9, 0x90, 0xc2, 0x91, 0x09, 0xb8, 0x72, 0x4e, 0x31, 0x6f, 0x19, + 0xb8, 0x9b, 0x4a, 0xd7, 0x96, 0x0e, 0xb8, 0x4c, 0x88, 0x4d, 0xb0, 0x59, + 0xbc, 0x67, 0x88, 0xe2, 0x49, 0x9b, 0x51, 0x59, +}; +static const unsigned char kat2258_entropyinreseed[] = { + 0xb7, 0xda, 0xdb, 0xd5, 0x3e, 0xd4, 0x60, 0x73, 0xf2, 0x0b, 0xab, 0x20, + 0x2a, 0x55, 0x9b, 0xc5, 0x70, 0x46, 0xcc, 0x8f, 0x54, 0x83, 0xe2, 0x68, + 0xdd, 0x88, 0xd9, 0xbd, 0x38, 0x65, 0xc2, 0x42, +}; +static const unsigned char kat2258_addinreseed[] = {0}; +static const unsigned char kat2258_addin0[] = {0}; +static const unsigned char kat2258_addin1[] = {0}; +static const unsigned char kat2258_retbits[] = { + 0x78, 0xe6, 0x38, 0x9d, 0xe4, 0xa6, 0x32, 0xea, 0x5a, 0xaf, 0xcd, 0x2b, + 0x31, 0xe0, 0xf0, 0x49, 0x20, 0xb2, 0x24, 0xd8, 0x66, 0xa9, 0x76, 0x3c, + 0xd6, 0xce, 0x33, 0xea, 0x67, 0x9d, 0x11, 0xc3, 0xf5, 0xc3, 0x61, 0xb9, + 0xdd, 0x7c, 0x89, 0x5e, 0x45, 0x10, 0x8d, 0xb2, 0xad, 0x03, 0x9e, 0x42, + 0xd6, 0xcf, 0xd1, 0xf8, 0xdb, 0x64, 0x09, 0xed, 0x8b, 0xde, 0x1e, 0xa2, + 0xb6, 0x3e, 0x9b, 0x5c, +}; +static const struct drbg_kat_pr_false kat2258_t = { + 7, kat2258_entropyin, kat2258_nonce, kat2258_persstr, + kat2258_entropyinreseed, kat2258_addinreseed, kat2258_addin0, + kat2258_addin1, kat2258_retbits +}; +static const struct drbg_kat kat2258 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2258_t +}; + +static const unsigned char kat2259_entropyin[] = { + 0xe9, 0x29, 0x1a, 0x80, 0x0e, 0xa9, 0x0c, 0x06, 0x9b, 0x52, 0x60, 0xf0, + 0x00, 0xc9, 0x4b, 0x14, 0x6d, 0x95, 0xd3, 0xd6, 0x4c, 0xf4, 0xae, 0x7b, + 0x97, 0x48, 0xc5, 0xa8, 0x5e, 0x0a, 0x08, 0x9f, +}; +static const unsigned char kat2259_nonce[] = {0}; +static const unsigned char kat2259_persstr[] = { + 0xf7, 0x87, 0x51, 0x5a, 0xde, 0x3a, 0x38, 0x84, 0xd7, 0x3d, 0x85, 0x72, + 0xef, 0x11, 0x0f, 0x64, 0x48, 0x15, 0x3b, 0xf1, 0xe0, 0x52, 0xe7, 0x6d, + 0x79, 0x36, 0xc3, 0xbb, 0x10, 0x7c, 0xc1, 0xa4, +}; +static const unsigned char kat2259_entropyinreseed[] = { + 0xe8, 0x1b, 0xc7, 0x0f, 0x7d, 0x11, 0x6d, 0x9c, 0x2a, 0xab, 0x9f, 0xd9, + 0x90, 0x0a, 0x93, 0x85, 0x91, 0xf7, 0x25, 0xc1, 0x88, 0x1f, 0x39, 0x1f, + 0x93, 0xf1, 0xe8, 0x4c, 0x67, 0xed, 0xbf, 0xba, +}; +static const unsigned char kat2259_addinreseed[] = {0}; +static const unsigned char kat2259_addin0[] = {0}; +static const unsigned char kat2259_addin1[] = {0}; +static const unsigned char kat2259_retbits[] = { + 0x83, 0xf9, 0x86, 0xa5, 0xf8, 0x3a, 0x59, 0x12, 0x6d, 0xc8, 0x61, 0xe0, + 0xa6, 0x5a, 0x9f, 0x45, 0x44, 0x62, 0xb8, 0xf5, 0xaf, 0xa6, 0xf4, 0xdc, + 0x72, 0x4d, 0x11, 0x93, 0x6a, 0xe1, 0xa1, 0x49, 0x42, 0x23, 0x8c, 0x7c, + 0xe8, 0x5a, 0xa2, 0x7b, 0x80, 0xed, 0x71, 0x19, 0xd4, 0xc3, 0xd3, 0x84, + 0xb9, 0x12, 0x4a, 0xe5, 0xd6, 0x64, 0xd9, 0xa1, 0xd0, 0x09, 0x3c, 0xf6, + 0x9f, 0xa1, 0x2f, 0x80, +}; +static const struct drbg_kat_pr_false kat2259_t = { + 8, kat2259_entropyin, kat2259_nonce, kat2259_persstr, + kat2259_entropyinreseed, kat2259_addinreseed, kat2259_addin0, + kat2259_addin1, kat2259_retbits +}; +static const struct drbg_kat kat2259 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2259_t +}; + +static const unsigned char kat2260_entropyin[] = { + 0x13, 0x53, 0xd6, 0x86, 0x1c, 0x03, 0x4f, 0x22, 0x09, 0x7d, 0x5c, 0xf4, + 0xc6, 0x75, 0x27, 0x5d, 0xdb, 0x58, 0x8d, 0xbc, 0x5a, 0xc3, 0x15, 0xb7, + 0x25, 0x62, 0xb6, 0x4a, 0xaf, 0x84, 0xcd, 0x24, +}; +static const unsigned char kat2260_nonce[] = {0}; +static const unsigned char kat2260_persstr[] = { + 0x56, 0x32, 0x41, 0x7e, 0x26, 0x80, 0x24, 0x19, 0x67, 0xbf, 0x72, 0x7d, + 0x6f, 0xb8, 0xa7, 0x46, 0x04, 0xdc, 0x63, 0x5b, 0x3d, 0x05, 0xea, 0x70, + 0xda, 0xb6, 0xb0, 0xfd, 0xac, 0xb0, 0xbe, 0xbe, +}; +static const unsigned char kat2260_entropyinreseed[] = { + 0xc9, 0x0f, 0x5e, 0x48, 0x66, 0xf6, 0xc7, 0x6f, 0x9d, 0x75, 0x41, 0x88, + 0x2e, 0x38, 0x61, 0x78, 0xad, 0xa3, 0xe2, 0x9c, 0x7a, 0xa4, 0x32, 0x96, + 0x39, 0xb8, 0xe6, 0x16, 0x7b, 0x1a, 0x2d, 0x20, +}; +static const unsigned char kat2260_addinreseed[] = {0}; +static const unsigned char kat2260_addin0[] = {0}; +static const unsigned char kat2260_addin1[] = {0}; +static const unsigned char kat2260_retbits[] = { + 0x49, 0x67, 0x9c, 0x5f, 0x86, 0x1a, 0xfa, 0xd3, 0x5f, 0xf1, 0xd2, 0xd1, + 0xa5, 0x23, 0x53, 0xfb, 0xd7, 0x5c, 0x76, 0x1b, 0xa0, 0xb9, 0xb8, 0xfd, + 0xc8, 0x3f, 0x7c, 0xe2, 0x6c, 0xb6, 0x48, 0x95, 0x7d, 0x74, 0xf8, 0x58, + 0x8f, 0x62, 0x3e, 0xc4, 0xba, 0x24, 0x4d, 0x97, 0x07, 0xc1, 0x3b, 0x07, + 0xeb, 0x6f, 0xa1, 0xac, 0xf3, 0x7c, 0xc1, 0x34, 0x1f, 0x59, 0x55, 0x77, + 0x8d, 0xee, 0xb7, 0x46, +}; +static const struct drbg_kat_pr_false kat2260_t = { + 9, kat2260_entropyin, kat2260_nonce, kat2260_persstr, + kat2260_entropyinreseed, kat2260_addinreseed, kat2260_addin0, + kat2260_addin1, kat2260_retbits +}; +static const struct drbg_kat kat2260 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2260_t +}; + +static const unsigned char kat2261_entropyin[] = { + 0x85, 0xc5, 0x08, 0xf0, 0x0b, 0x62, 0x85, 0xe4, 0xce, 0xf2, 0x18, 0x7b, + 0x28, 0x16, 0x9c, 0xe7, 0x2d, 0xc5, 0x69, 0xeb, 0xc1, 0xd2, 0x88, 0xbf, + 0xb3, 0x37, 0xfd, 0xd3, 0x6a, 0x52, 0x32, 0x85, +}; +static const unsigned char kat2261_nonce[] = {0}; +static const unsigned char kat2261_persstr[] = { + 0x9c, 0xc8, 0xfb, 0x6e, 0xcc, 0x2c, 0x19, 0x65, 0x39, 0x86, 0x31, 0x59, + 0x40, 0xdb, 0x55, 0x23, 0x60, 0xa2, 0x5b, 0x5d, 0x8f, 0xe4, 0xb9, 0x14, + 0x2e, 0x15, 0xdc, 0x62, 0xc5, 0xbe, 0x19, 0xf0, +}; +static const unsigned char kat2261_entropyinreseed[] = { + 0x05, 0x0a, 0xf1, 0x10, 0x89, 0x67, 0xaf, 0x92, 0x6f, 0xca, 0xf4, 0xdf, + 0x07, 0x87, 0xc9, 0xe0, 0x39, 0x9a, 0x07, 0x20, 0x44, 0x52, 0x86, 0x60, + 0x94, 0x64, 0x6a, 0x4e, 0xe7, 0xff, 0x69, 0x2c, +}; +static const unsigned char kat2261_addinreseed[] = {0}; +static const unsigned char kat2261_addin0[] = {0}; +static const unsigned char kat2261_addin1[] = {0}; +static const unsigned char kat2261_retbits[] = { + 0x71, 0x23, 0x2d, 0xff, 0x0b, 0x88, 0x7e, 0x91, 0x44, 0x21, 0xdd, 0xe7, + 0xd3, 0xd9, 0x07, 0xa7, 0x42, 0x5e, 0x95, 0xe5, 0x99, 0x79, 0x46, 0x08, + 0x12, 0x0b, 0x6f, 0xa3, 0x3a, 0xe8, 0x75, 0x1f, 0xf3, 0x1d, 0x01, 0x99, + 0x69, 0x92, 0x44, 0x64, 0x4f, 0xe1, 0xe7, 0x51, 0x71, 0x20, 0xbe, 0x8b, + 0x28, 0xe8, 0x35, 0x33, 0x6f, 0x94, 0xc7, 0x9c, 0xc9, 0x4b, 0xf8, 0xdc, + 0x82, 0xa1, 0x02, 0xfb, +}; +static const struct drbg_kat_pr_false kat2261_t = { + 10, kat2261_entropyin, kat2261_nonce, kat2261_persstr, + kat2261_entropyinreseed, kat2261_addinreseed, kat2261_addin0, + kat2261_addin1, kat2261_retbits +}; +static const struct drbg_kat kat2261 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2261_t +}; + +static const unsigned char kat2262_entropyin[] = { + 0x4f, 0xe0, 0xd8, 0x99, 0x09, 0x01, 0xbd, 0x60, 0xd7, 0x8f, 0xdc, 0xe5, + 0xbb, 0xfa, 0xfb, 0xb8, 0x24, 0x73, 0x78, 0xa0, 0x8a, 0x83, 0xe6, 0xf5, + 0xfb, 0xa7, 0x95, 0x89, 0x81, 0x22, 0x54, 0xe7, +}; +static const unsigned char kat2262_nonce[] = {0}; +static const unsigned char kat2262_persstr[] = { + 0x24, 0x0b, 0x77, 0x76, 0x0a, 0x80, 0x83, 0xdc, 0x5e, 0x1a, 0xb6, 0x2c, + 0x4b, 0x70, 0x45, 0x0a, 0x28, 0x41, 0xe2, 0x4f, 0xc3, 0xc3, 0xec, 0x74, + 0x02, 0xd5, 0x57, 0xdb, 0xe1, 0xf2, 0xf6, 0xa2, +}; +static const unsigned char kat2262_entropyinreseed[] = { + 0x15, 0x2c, 0x88, 0x61, 0xdd, 0x1f, 0x1d, 0x1f, 0x6a, 0xb4, 0xe5, 0x65, + 0xa4, 0xe8, 0x7c, 0xb7, 0x46, 0x0d, 0xbe, 0x72, 0xe3, 0x43, 0x8a, 0x76, + 0x9e, 0xbc, 0xcf, 0xf3, 0x38, 0x8c, 0x2c, 0x29, +}; +static const unsigned char kat2262_addinreseed[] = {0}; +static const unsigned char kat2262_addin0[] = {0}; +static const unsigned char kat2262_addin1[] = {0}; +static const unsigned char kat2262_retbits[] = { + 0xaa, 0x47, 0x57, 0x60, 0xe5, 0x01, 0x97, 0x2f, 0xe0, 0x4e, 0x42, 0xd9, + 0x0c, 0x62, 0x10, 0x87, 0x28, 0xb4, 0x2f, 0xfb, 0x9e, 0xcd, 0x5f, 0xc0, + 0x57, 0xc6, 0xc4, 0xd1, 0x90, 0xc1, 0x6d, 0x83, 0xc4, 0x2e, 0xf0, 0xf4, + 0xeb, 0x96, 0x55, 0x7a, 0xfd, 0xdb, 0x1b, 0xc7, 0x6a, 0x31, 0x9a, 0x81, + 0xfd, 0xf5, 0xe3, 0x16, 0xe4, 0xf9, 0x25, 0x25, 0x48, 0x39, 0x94, 0x5f, + 0xdd, 0x21, 0x32, 0x3a, +}; +static const struct drbg_kat_pr_false kat2262_t = { + 11, kat2262_entropyin, kat2262_nonce, kat2262_persstr, + kat2262_entropyinreseed, kat2262_addinreseed, kat2262_addin0, + kat2262_addin1, kat2262_retbits +}; +static const struct drbg_kat kat2262 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2262_t +}; + +static const unsigned char kat2263_entropyin[] = { + 0x76, 0xd9, 0x75, 0x22, 0xd2, 0x88, 0xa5, 0x78, 0x63, 0x10, 0xfb, 0x49, + 0xd3, 0x58, 0xa4, 0x0a, 0xc9, 0xcd, 0x59, 0xda, 0xc2, 0x00, 0xd1, 0x79, + 0xca, 0x42, 0xaf, 0x31, 0x74, 0xb9, 0x58, 0x14, +}; +static const unsigned char kat2263_nonce[] = {0}; +static const unsigned char kat2263_persstr[] = { + 0xe3, 0x9b, 0x94, 0xd6, 0x96, 0xbd, 0x9d, 0x5a, 0xe2, 0xd2, 0x7a, 0x1c, + 0x23, 0x2e, 0x2c, 0xa4, 0xfa, 0xa8, 0x13, 0xfa, 0x1b, 0x34, 0xf7, 0x93, + 0xed, 0x7b, 0xa5, 0xd9, 0x31, 0xdc, 0xec, 0x34, +}; +static const unsigned char kat2263_entropyinreseed[] = { + 0x8a, 0xe2, 0xcf, 0xb4, 0x4c, 0x92, 0x02, 0x03, 0x42, 0x45, 0xe8, 0xaa, + 0x88, 0x9a, 0x60, 0x38, 0x3a, 0x1f, 0x34, 0x99, 0x17, 0x2f, 0x46, 0x7b, + 0x23, 0xcc, 0x13, 0xd1, 0x48, 0x60, 0x0b, 0x4b, +}; +static const unsigned char kat2263_addinreseed[] = {0}; +static const unsigned char kat2263_addin0[] = {0}; +static const unsigned char kat2263_addin1[] = {0}; +static const unsigned char kat2263_retbits[] = { + 0x1a, 0x04, 0xbe, 0x8e, 0x86, 0xc1, 0x59, 0x1f, 0x0b, 0x53, 0x86, 0xc8, + 0xd9, 0x2d, 0xdf, 0x7a, 0x29, 0xb9, 0x05, 0xe8, 0x63, 0xae, 0x96, 0x7a, + 0x48, 0x15, 0x7f, 0xb6, 0xb0, 0x8b, 0x89, 0x30, 0x51, 0x60, 0xdc, 0x72, + 0xd1, 0x20, 0x71, 0x52, 0xe7, 0x99, 0x87, 0xc0, 0x8e, 0x9e, 0x73, 0x22, + 0x41, 0x94, 0xfc, 0x5f, 0x19, 0x8e, 0x03, 0x4b, 0xc2, 0x12, 0x20, 0x82, + 0x28, 0xe2, 0xce, 0xb6, +}; +static const struct drbg_kat_pr_false kat2263_t = { + 12, kat2263_entropyin, kat2263_nonce, kat2263_persstr, + kat2263_entropyinreseed, kat2263_addinreseed, kat2263_addin0, + kat2263_addin1, kat2263_retbits +}; +static const struct drbg_kat kat2263 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2263_t +}; + +static const unsigned char kat2264_entropyin[] = { + 0x51, 0x16, 0x9f, 0xe1, 0x9e, 0xc2, 0xcc, 0x92, 0x4f, 0x66, 0x54, 0xae, + 0xa7, 0x7a, 0x9c, 0x18, 0x90, 0xf8, 0xa6, 0x4b, 0x34, 0x07, 0x1a, 0x69, + 0x4e, 0xb4, 0xdf, 0x88, 0xa0, 0xba, 0x6a, 0xec, +}; +static const unsigned char kat2264_nonce[] = {0}; +static const unsigned char kat2264_persstr[] = { + 0x6b, 0x34, 0xc9, 0xfe, 0x6b, 0x14, 0x6f, 0xe9, 0x34, 0x2d, 0x4b, 0x1d, + 0xec, 0x10, 0xa5, 0x8b, 0x64, 0xc3, 0xf3, 0x8b, 0x12, 0x6f, 0xbe, 0xc4, + 0xc3, 0xb9, 0xa3, 0x77, 0x4f, 0xd6, 0x6a, 0x3e, +}; +static const unsigned char kat2264_entropyinreseed[] = { + 0x0c, 0xd4, 0x46, 0x69, 0x9c, 0x1b, 0xf3, 0xfe, 0x98, 0x26, 0xd7, 0xfb, + 0xd0, 0x77, 0xac, 0x3b, 0x73, 0xd3, 0x43, 0x65, 0x03, 0xbc, 0x3d, 0x9a, + 0x4c, 0xba, 0x9c, 0xdb, 0xde, 0x7c, 0xe0, 0xf9, +}; +static const unsigned char kat2264_addinreseed[] = {0}; +static const unsigned char kat2264_addin0[] = {0}; +static const unsigned char kat2264_addin1[] = {0}; +static const unsigned char kat2264_retbits[] = { + 0x37, 0x9e, 0x2a, 0xbd, 0xfd, 0xf6, 0x76, 0x4c, 0xb2, 0xac, 0x8c, 0xeb, + 0xdf, 0x57, 0x7b, 0xdf, 0xb5, 0x82, 0xda, 0x5e, 0xd5, 0x07, 0xd9, 0x6b, + 0xbd, 0x27, 0x84, 0xac, 0x6e, 0x18, 0xd4, 0xb3, 0xa5, 0x24, 0xd2, 0xf9, + 0x22, 0x6c, 0x21, 0x57, 0x2a, 0x54, 0x4d, 0x59, 0x2f, 0x49, 0x03, 0xb1, + 0xa5, 0x6c, 0xd1, 0x65, 0x1b, 0x0d, 0x0f, 0x0e, 0x2f, 0x13, 0xbe, 0xc3, + 0x11, 0x4c, 0x93, 0x57, +}; +static const struct drbg_kat_pr_false kat2264_t = { + 13, kat2264_entropyin, kat2264_nonce, kat2264_persstr, + kat2264_entropyinreseed, kat2264_addinreseed, kat2264_addin0, + kat2264_addin1, kat2264_retbits +}; +static const struct drbg_kat kat2264 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2264_t +}; + +static const unsigned char kat2265_entropyin[] = { + 0x85, 0xd2, 0xa6, 0xec, 0x8b, 0xe0, 0x12, 0xea, 0x4a, 0x50, 0x50, 0x51, + 0xed, 0x87, 0xa0, 0xa7, 0x4e, 0xbf, 0x60, 0xbf, 0xba, 0xc0, 0xed, 0x57, + 0x7d, 0xdc, 0xcf, 0xb1, 0x12, 0xfe, 0xd6, 0x3e, +}; +static const unsigned char kat2265_nonce[] = {0}; +static const unsigned char kat2265_persstr[] = { + 0xa4, 0x8f, 0x64, 0xc6, 0x72, 0xf3, 0x76, 0x49, 0xb1, 0x26, 0x30, 0x15, + 0x7e, 0x15, 0xb9, 0x36, 0x4e, 0xe7, 0x54, 0x89, 0x84, 0xd9, 0x41, 0x71, + 0xb2, 0xa2, 0x91, 0x29, 0x2e, 0x54, 0xe1, 0x3e, +}; +static const unsigned char kat2265_entropyinreseed[] = { + 0xc4, 0x93, 0x3f, 0x8a, 0x2a, 0xf9, 0x93, 0x89, 0x73, 0x2c, 0xbd, 0x01, + 0x20, 0xb6, 0x97, 0xb9, 0xad, 0x99, 0xe4, 0x82, 0x1f, 0x46, 0x10, 0xb6, + 0x6c, 0x18, 0xd9, 0xda, 0x0e, 0x28, 0xbd, 0x00, +}; +static const unsigned char kat2265_addinreseed[] = {0}; +static const unsigned char kat2265_addin0[] = {0}; +static const unsigned char kat2265_addin1[] = {0}; +static const unsigned char kat2265_retbits[] = { + 0x77, 0xdc, 0x9c, 0x1b, 0x63, 0x6a, 0xcd, 0x5b, 0x76, 0xa3, 0x45, 0x3b, + 0x16, 0x84, 0x79, 0xce, 0x94, 0x7f, 0x4f, 0xc1, 0x40, 0x1c, 0xca, 0xd4, + 0xdc, 0x61, 0xd4, 0x63, 0x03, 0x70, 0xce, 0x21, 0xd2, 0x90, 0x17, 0x24, + 0x4c, 0xee, 0x50, 0x64, 0x4e, 0x36, 0x54, 0xe7, 0x02, 0xb6, 0x23, 0xe2, + 0x0f, 0xf4, 0x98, 0x61, 0x89, 0x07, 0x81, 0xa6, 0xbd, 0xb6, 0x8e, 0x5c, + 0xf3, 0xa7, 0x21, 0x6b, +}; +static const struct drbg_kat_pr_false kat2265_t = { + 14, kat2265_entropyin, kat2265_nonce, kat2265_persstr, + kat2265_entropyinreseed, kat2265_addinreseed, kat2265_addin0, + kat2265_addin1, kat2265_retbits +}; +static const struct drbg_kat kat2265 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2265_t +}; + +static const unsigned char kat2266_entropyin[] = { + 0x82, 0xaa, 0xbd, 0x90, 0x1b, 0x21, 0xbd, 0x5f, 0x54, 0x54, 0x47, 0x55, + 0xba, 0x1f, 0xb4, 0xc6, 0xa3, 0xf5, 0x99, 0x59, 0xe5, 0x9a, 0x20, 0x56, + 0x67, 0xdf, 0xcb, 0x5e, 0x76, 0x0b, 0xd4, 0xa5, +}; +static const unsigned char kat2266_nonce[] = {0}; +static const unsigned char kat2266_persstr[] = { + 0x33, 0x78, 0x81, 0xb1, 0x6c, 0x89, 0xb8, 0xf4, 0x9f, 0x55, 0xa6, 0xe8, + 0x2b, 0xf1, 0xae, 0x98, 0x24, 0x77, 0x9b, 0x40, 0x15, 0xf3, 0x04, 0x4c, + 0x78, 0x0b, 0x23, 0x81, 0x6b, 0xb3, 0x99, 0xd6, +}; +static const unsigned char kat2266_entropyinreseed[] = { + 0x2e, 0xd5, 0x33, 0xa7, 0xfa, 0x6b, 0xf1, 0x96, 0x57, 0x11, 0xb1, 0x2a, + 0x9d, 0x99, 0x37, 0x13, 0x9f, 0x52, 0xb6, 0x39, 0xf9, 0x40, 0x5b, 0x4a, + 0x40, 0xc8, 0xfc, 0x2f, 0xeb, 0xf6, 0x3b, 0x21, +}; +static const unsigned char kat2266_addinreseed[] = { + 0x54, 0x44, 0xc8, 0xa3, 0xd8, 0x17, 0x0a, 0x64, 0x0a, 0x16, 0x19, 0xc8, + 0x7d, 0xfc, 0xa6, 0x60, 0xd6, 0xd2, 0xa7, 0x93, 0x5e, 0xb2, 0x1f, 0xb0, + 0x98, 0x8a, 0x12, 0x6c, 0x5f, 0x16, 0xef, 0x41, +}; +static const unsigned char kat2266_addin0[] = { + 0xf7, 0xd8, 0x47, 0xa4, 0xc1, 0x8f, 0x86, 0x3f, 0x55, 0xfb, 0xa4, 0x05, + 0xd8, 0x99, 0xf8, 0x58, 0x09, 0x1c, 0x3a, 0x8e, 0x6e, 0x97, 0x4b, 0xdc, + 0xba, 0x58, 0xcd, 0x35, 0x63, 0xec, 0x63, 0xf1, +}; +static const unsigned char kat2266_addin1[] = { + 0x35, 0xc8, 0x39, 0x3b, 0x03, 0x67, 0x4d, 0x9b, 0x89, 0x6b, 0x21, 0x30, + 0xe1, 0x06, 0x9d, 0x53, 0x77, 0x8f, 0xe5, 0x7a, 0x06, 0x3b, 0xcf, 0xcd, + 0x05, 0x1f, 0x7d, 0xe0, 0x36, 0xc9, 0x27, 0xbf, +}; +static const unsigned char kat2266_retbits[] = { + 0xb2, 0x18, 0x61, 0xbb, 0xef, 0x51, 0xda, 0x17, 0x34, 0x7d, 0x72, 0x09, + 0x61, 0x37, 0x5e, 0x24, 0x4a, 0x34, 0xc3, 0x1c, 0x36, 0xf1, 0xa7, 0x56, + 0x85, 0x03, 0xb2, 0xdb, 0x6a, 0x33, 0x5b, 0x3c, 0xae, 0x2d, 0xb4, 0x13, + 0x0d, 0x4a, 0x1f, 0x35, 0x3d, 0x60, 0x85, 0xe3, 0x9f, 0xdd, 0xb8, 0xbe, + 0xa2, 0xa0, 0x41, 0x40, 0xf4, 0x44, 0x81, 0xf0, 0x79, 0x93, 0xa9, 0x3c, + 0x8e, 0xd0, 0xd1, 0xc1, +}; +static const struct drbg_kat_pr_false kat2266_t = { + 0, kat2266_entropyin, kat2266_nonce, kat2266_persstr, + kat2266_entropyinreseed, kat2266_addinreseed, kat2266_addin0, + kat2266_addin1, kat2266_retbits +}; +static const struct drbg_kat kat2266 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2266_t +}; + +static const unsigned char kat2267_entropyin[] = { + 0xe0, 0x1a, 0x0c, 0x42, 0xbf, 0x15, 0xd0, 0xac, 0x59, 0x3c, 0xd8, 0xf9, + 0xeb, 0x75, 0x72, 0x49, 0x01, 0x8d, 0x97, 0xcd, 0x02, 0x6a, 0x61, 0xbc, + 0x34, 0x2d, 0x1e, 0xfa, 0x22, 0x36, 0x04, 0x61, +}; +static const unsigned char kat2267_nonce[] = {0}; +static const unsigned char kat2267_persstr[] = { + 0x12, 0x71, 0xb8, 0x19, 0x4e, 0x13, 0x16, 0xf8, 0xd9, 0xb8, 0xa0, 0xc9, + 0x11, 0x50, 0x2b, 0x6f, 0x9e, 0xee, 0x1a, 0x34, 0x73, 0xae, 0x0d, 0x6f, + 0xda, 0x0e, 0x43, 0xfd, 0x06, 0x68, 0x31, 0xc0, +}; +static const unsigned char kat2267_entropyinreseed[] = { + 0xb8, 0x7a, 0x5f, 0x9c, 0xb5, 0x85, 0xd3, 0x33, 0xc7, 0x02, 0x37, 0x6c, + 0xd5, 0x43, 0xb0, 0x06, 0x24, 0xd9, 0x31, 0x2e, 0x2f, 0x64, 0xb6, 0x72, + 0x2c, 0x95, 0x02, 0x8e, 0xed, 0xe0, 0x0d, 0x98, +}; +static const unsigned char kat2267_addinreseed[] = { + 0x4c, 0x6b, 0x42, 0x71, 0xd7, 0x8a, 0x3e, 0x4d, 0x99, 0x51, 0x2a, 0xe6, + 0xa0, 0xca, 0x7f, 0x8a, 0xd5, 0x9e, 0xf6, 0x7e, 0x28, 0x4c, 0x8d, 0x2a, + 0x40, 0x91, 0x6f, 0x5e, 0x83, 0xd1, 0x55, 0xde, +}; +static const unsigned char kat2267_addin0[] = { + 0xbb, 0x4e, 0x5b, 0xd8, 0xde, 0xb2, 0xd2, 0xde, 0x49, 0x4f, 0x9d, 0x56, + 0x04, 0x1d, 0x4f, 0x56, 0xf1, 0x6f, 0xa6, 0x29, 0xd1, 0x7b, 0x54, 0xde, + 0x6c, 0x2c, 0x20, 0x18, 0xdf, 0xa0, 0xd8, 0xf2, +}; +static const unsigned char kat2267_addin1[] = { + 0xc6, 0xd3, 0xae, 0xf9, 0xb3, 0xbf, 0x45, 0x75, 0x6d, 0x0b, 0x01, 0x7e, + 0xda, 0xff, 0x4e, 0x21, 0x62, 0x60, 0x9e, 0x47, 0xb7, 0x95, 0x4f, 0x5e, + 0xf9, 0xb4, 0x1b, 0x8f, 0xc6, 0x7e, 0x1b, 0x7a, +}; +static const unsigned char kat2267_retbits[] = { + 0x5e, 0xb2, 0x51, 0x20, 0x20, 0xd1, 0xc1, 0xb7, 0xe8, 0x95, 0x1b, 0x20, + 0x66, 0x96, 0xfc, 0x76, 0xf8, 0x3e, 0x39, 0xc1, 0x8a, 0xac, 0x68, 0x2e, + 0x35, 0x96, 0x58, 0x68, 0x9a, 0xf7, 0x0c, 0x48, 0x62, 0xe1, 0xb8, 0x36, + 0x63, 0xfd, 0x24, 0x6c, 0xac, 0x02, 0xfc, 0x04, 0x55, 0xba, 0xbd, 0x6c, + 0xc3, 0xab, 0xc2, 0x06, 0xa3, 0x0a, 0x40, 0x59, 0xab, 0x48, 0x4a, 0x9d, + 0xa0, 0xff, 0x3d, 0x84, +}; +static const struct drbg_kat_pr_false kat2267_t = { + 1, kat2267_entropyin, kat2267_nonce, kat2267_persstr, + kat2267_entropyinreseed, kat2267_addinreseed, kat2267_addin0, + kat2267_addin1, kat2267_retbits +}; +static const struct drbg_kat kat2267 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2267_t +}; + +static const unsigned char kat2268_entropyin[] = { + 0x65, 0xcd, 0xfa, 0x76, 0xa8, 0xa8, 0xb9, 0x03, 0x34, 0x2c, 0xa6, 0x10, + 0xbc, 0x33, 0x92, 0xa0, 0xcc, 0x8c, 0x7a, 0x95, 0xe4, 0xd0, 0x6e, 0x32, + 0xbc, 0x11, 0x4b, 0x1e, 0x4e, 0x65, 0x4a, 0xfa, +}; +static const unsigned char kat2268_nonce[] = {0}; +static const unsigned char kat2268_persstr[] = { + 0x21, 0x39, 0xe0, 0x15, 0x60, 0x03, 0x47, 0xdb, 0xd6, 0x0c, 0x2e, 0xcd, + 0x22, 0x03, 0x13, 0x8e, 0x13, 0xd2, 0xea, 0x2d, 0xd6, 0x7b, 0xc4, 0x4b, + 0x0e, 0x00, 0xd3, 0x15, 0xcf, 0xa9, 0xd0, 0x55, +}; +static const unsigned char kat2268_entropyinreseed[] = { + 0x72, 0x06, 0x6f, 0x1f, 0x42, 0xf4, 0x60, 0x25, 0x18, 0xad, 0xe0, 0x8b, + 0xd8, 0x15, 0xd2, 0x21, 0x25, 0xe2, 0x46, 0x37, 0x6d, 0x0c, 0xdd, 0xfe, + 0xf3, 0xbb, 0xc8, 0x85, 0xc4, 0xec, 0x05, 0xe7, +}; +static const unsigned char kat2268_addinreseed[] = { + 0xa3, 0x88, 0x76, 0x1c, 0xc3, 0x5d, 0xd4, 0x5c, 0x73, 0x76, 0x8f, 0xca, + 0x9b, 0x48, 0x56, 0xef, 0xdf, 0xc9, 0x82, 0x2d, 0x85, 0x83, 0x0a, 0x65, + 0x1a, 0x92, 0xae, 0x7e, 0xdd, 0xc4, 0x8d, 0x2c, +}; +static const unsigned char kat2268_addin0[] = { + 0x47, 0x96, 0x50, 0xb8, 0x23, 0x5f, 0x72, 0x85, 0x0d, 0x5f, 0x09, 0x50, + 0x4e, 0xa6, 0x9f, 0x4f, 0x81, 0xf8, 0x82, 0x14, 0xce, 0x64, 0x57, 0xbb, + 0xaa, 0x8b, 0x5b, 0x6f, 0xdd, 0x03, 0xa5, 0x7a, +}; +static const unsigned char kat2268_addin1[] = { + 0x7e, 0xba, 0x6b, 0x99, 0x4f, 0x4a, 0xfc, 0x2c, 0x75, 0x86, 0x0a, 0x71, + 0xb8, 0xbd, 0xdb, 0x41, 0xab, 0xab, 0x02, 0x91, 0x95, 0x11, 0x68, 0x34, + 0x31, 0x02, 0x82, 0x0c, 0x45, 0x73, 0x41, 0x08, +}; +static const unsigned char kat2268_retbits[] = { + 0xfd, 0xf9, 0x1c, 0xbb, 0x54, 0x14, 0xaf, 0x19, 0x4b, 0x10, 0x7f, 0x68, + 0xbe, 0x0b, 0x6b, 0xb2, 0xbb, 0xda, 0x86, 0x15, 0x75, 0x50, 0x40, 0xb1, + 0x3b, 0x81, 0x7c, 0x9c, 0x92, 0x96, 0x35, 0x2a, 0x2c, 0xd1, 0xe9, 0x5b, + 0x72, 0x8c, 0x91, 0x64, 0x71, 0x12, 0x2c, 0x86, 0x55, 0x9b, 0xc1, 0x61, + 0xbf, 0xe7, 0xc7, 0x60, 0x58, 0x4d, 0x34, 0xea, 0x9d, 0x5e, 0x1c, 0x64, + 0x5b, 0x65, 0xf1, 0x02, +}; +static const struct drbg_kat_pr_false kat2268_t = { + 2, kat2268_entropyin, kat2268_nonce, kat2268_persstr, + kat2268_entropyinreseed, kat2268_addinreseed, kat2268_addin0, + kat2268_addin1, kat2268_retbits +}; +static const struct drbg_kat kat2268 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2268_t +}; + +static const unsigned char kat2269_entropyin[] = { + 0x0e, 0x91, 0xb7, 0x33, 0x28, 0x68, 0x28, 0x08, 0x32, 0x1e, 0xf7, 0x13, + 0xff, 0xd8, 0x13, 0x5a, 0x6a, 0x8b, 0x62, 0x1b, 0xcc, 0xdd, 0x7c, 0xe9, + 0x7f, 0xf4, 0xb0, 0xb9, 0x40, 0xc5, 0x5c, 0x67, +}; +static const unsigned char kat2269_nonce[] = {0}; +static const unsigned char kat2269_persstr[] = { + 0xcb, 0xd5, 0xff, 0xde, 0x8c, 0x60, 0xdd, 0x65, 0xc6, 0x6b, 0xeb, 0xfc, + 0xed, 0x0a, 0x47, 0x36, 0x68, 0x05, 0x0a, 0x75, 0x3e, 0x3b, 0x5f, 0xbe, + 0xc2, 0x00, 0x0f, 0x4d, 0x21, 0xfe, 0x24, 0xef, +}; +static const unsigned char kat2269_entropyinreseed[] = { + 0xf5, 0x3a, 0x72, 0x71, 0x08, 0x34, 0x74, 0x4a, 0x52, 0xe2, 0x93, 0x94, + 0x45, 0x9e, 0x31, 0x1d, 0xce, 0xcc, 0x37, 0xf3, 0xc2, 0x70, 0x14, 0xdc, + 0x3c, 0x9d, 0x85, 0x00, 0xf4, 0xb4, 0xbe, 0xcd, +}; +static const unsigned char kat2269_addinreseed[] = { + 0x21, 0x5f, 0x26, 0x55, 0xae, 0x42, 0x46, 0x4b, 0x4a, 0xca, 0x80, 0x62, + 0x7e, 0x53, 0xf9, 0x2d, 0x02, 0x78, 0xa8, 0x66, 0x05, 0x93, 0x62, 0x8c, + 0x96, 0xee, 0x04, 0x8b, 0xc4, 0x4f, 0x8f, 0xaa, +}; +static const unsigned char kat2269_addin0[] = { + 0x00, 0x62, 0x75, 0xae, 0x93, 0xdf, 0x89, 0x73, 0x4f, 0x53, 0xb6, 0x2d, + 0x5f, 0xd4, 0xb1, 0x49, 0xae, 0x0e, 0xa4, 0xca, 0xa9, 0x0d, 0x2e, 0xe1, + 0x26, 0x85, 0x4d, 0x36, 0x52, 0x62, 0xe0, 0x15, +}; +static const unsigned char kat2269_addin1[] = { + 0x20, 0x6b, 0xaf, 0x1b, 0x61, 0x4c, 0x39, 0xc0, 0xc9, 0x86, 0xd3, 0x91, + 0x8a, 0xcb, 0x58, 0x61, 0x95, 0xa3, 0x72, 0x15, 0x82, 0xac, 0xec, 0x96, + 0x1c, 0x83, 0x07, 0x0e, 0x09, 0xa2, 0x81, 0xec, +}; +static const unsigned char kat2269_retbits[] = { + 0xae, 0xb8, 0x33, 0x5f, 0x71, 0x17, 0x4b, 0xf6, 0x52, 0x25, 0xa9, 0x09, + 0xee, 0x49, 0x72, 0x26, 0xd6, 0x6e, 0xa6, 0x83, 0x99, 0x8f, 0x0b, 0xe5, + 0xf3, 0x4d, 0x7c, 0x1d, 0x88, 0xe0, 0xe4, 0x6d, 0x96, 0xbe, 0xc6, 0x43, + 0x80, 0x30, 0xa7, 0xc1, 0xda, 0x3b, 0x7f, 0xb3, 0xba, 0x91, 0x61, 0x50, + 0x6f, 0x78, 0x16, 0x0d, 0x40, 0xce, 0xa5, 0xf7, 0x4d, 0xae, 0x98, 0x5b, + 0xc6, 0xb2, 0xe8, 0x05, +}; +static const struct drbg_kat_pr_false kat2269_t = { + 3, kat2269_entropyin, kat2269_nonce, kat2269_persstr, + kat2269_entropyinreseed, kat2269_addinreseed, kat2269_addin0, + kat2269_addin1, kat2269_retbits +}; +static const struct drbg_kat kat2269 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2269_t +}; + +static const unsigned char kat2270_entropyin[] = { + 0xef, 0xe6, 0xb0, 0x36, 0xc6, 0xfe, 0x4a, 0xf1, 0xcd, 0x49, 0xf4, 0xa0, + 0x5f, 0x0b, 0x07, 0x11, 0x63, 0x9c, 0x4a, 0xbd, 0x23, 0xd1, 0x48, 0x4b, + 0xdc, 0x38, 0x0b, 0xbd, 0x70, 0xac, 0x52, 0xea, +}; +static const unsigned char kat2270_nonce[] = {0}; +static const unsigned char kat2270_persstr[] = { + 0x90, 0x0e, 0xd9, 0x63, 0x9b, 0x54, 0x9e, 0xba, 0x0b, 0xac, 0x4e, 0xb1, + 0x25, 0xda, 0x62, 0xb4, 0x14, 0x5d, 0xeb, 0x48, 0xf8, 0x17, 0xee, 0xd6, + 0xc3, 0xbc, 0xb6, 0xec, 0x78, 0x22, 0x94, 0x04, +}; +static const unsigned char kat2270_entropyinreseed[] = { + 0xe7, 0x66, 0x9b, 0xff, 0x42, 0x34, 0x58, 0x52, 0xc5, 0x7a, 0x2a, 0xc4, + 0x09, 0x9c, 0x43, 0xf8, 0x8c, 0xf2, 0x5d, 0xd9, 0xff, 0x6f, 0x75, 0xe1, + 0xc9, 0x26, 0xbb, 0x91, 0x14, 0x51, 0xd3, 0x84, +}; +static const unsigned char kat2270_addinreseed[] = { + 0x85, 0x8c, 0x94, 0xec, 0x1d, 0x95, 0x3f, 0xe7, 0x33, 0x84, 0x2c, 0x49, + 0xb7, 0x85, 0x89, 0xb1, 0x9b, 0xc0, 0xf6, 0xe8, 0xb3, 0x46, 0x68, 0xe0, + 0x48, 0x89, 0x76, 0x54, 0x38, 0x5a, 0x02, 0xde, +}; +static const unsigned char kat2270_addin0[] = { + 0xa1, 0x79, 0x2a, 0x91, 0xc7, 0xd9, 0x72, 0xdf, 0xe7, 0xfe, 0x45, 0xd4, + 0x82, 0x9d, 0x63, 0x58, 0xf1, 0x09, 0x22, 0x0a, 0x43, 0xc7, 0x3e, 0x63, + 0x4f, 0x2f, 0xb6, 0xc5, 0x58, 0x67, 0x98, 0xec, +}; +static const unsigned char kat2270_addin1[] = { + 0xd5, 0xcc, 0x94, 0xdd, 0xac, 0x9f, 0x2d, 0x2b, 0x88, 0x39, 0x38, 0xfd, + 0x8c, 0x4a, 0xda, 0xe1, 0x46, 0xeb, 0xc5, 0x15, 0x06, 0x11, 0x23, 0x50, + 0xd9, 0x51, 0x2a, 0x3e, 0x0b, 0x7a, 0x61, 0x05, +}; +static const unsigned char kat2270_retbits[] = { + 0x07, 0x96, 0x48, 0x9e, 0x81, 0x69, 0xfe, 0x32, 0xa5, 0xc9, 0x99, 0xf7, + 0x0a, 0x2e, 0x1b, 0x1e, 0x06, 0x55, 0xa4, 0x19, 0x0f, 0x04, 0x2e, 0x1c, + 0x6d, 0xa2, 0x71, 0x39, 0xb0, 0xdd, 0xd2, 0x2f, 0x1b, 0x15, 0x05, 0xff, + 0x10, 0x58, 0xb3, 0x43, 0x00, 0x5b, 0x81, 0x05, 0x10, 0x93, 0x9d, 0x53, + 0xf4, 0x97, 0x2e, 0xa1, 0x10, 0x49, 0x9f, 0xeb, 0x34, 0xf2, 0x11, 0x4e, + 0x90, 0x68, 0xaa, 0x0d, +}; +static const struct drbg_kat_pr_false kat2270_t = { + 4, kat2270_entropyin, kat2270_nonce, kat2270_persstr, + kat2270_entropyinreseed, kat2270_addinreseed, kat2270_addin0, + kat2270_addin1, kat2270_retbits +}; +static const struct drbg_kat kat2270 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2270_t +}; + +static const unsigned char kat2271_entropyin[] = { + 0xa5, 0xec, 0x52, 0x9d, 0x89, 0xe0, 0x8e, 0x9e, 0x44, 0x07, 0x67, 0xf7, + 0x21, 0x96, 0x0b, 0x6c, 0x6b, 0xac, 0x49, 0xaf, 0xb2, 0x12, 0xc7, 0x43, + 0x9d, 0x11, 0xdf, 0x2c, 0xda, 0xd0, 0xf3, 0x3e, +}; +static const unsigned char kat2271_nonce[] = {0}; +static const unsigned char kat2271_persstr[] = { + 0x39, 0x5b, 0xd2, 0xe9, 0x19, 0x63, 0x8e, 0x42, 0x8d, 0x61, 0x55, 0xff, + 0xeb, 0xc9, 0x00, 0x89, 0xc0, 0x7f, 0xbe, 0x01, 0x2a, 0xc5, 0xbd, 0xb1, + 0x22, 0x93, 0x55, 0x82, 0x4e, 0x14, 0x5a, 0x26, +}; +static const unsigned char kat2271_entropyinreseed[] = { + 0xee, 0x2c, 0x97, 0xe6, 0xd5, 0xb5, 0x4a, 0x29, 0x1d, 0x04, 0x15, 0xa0, + 0x30, 0x79, 0xf2, 0xd6, 0x88, 0x37, 0xfe, 0x9e, 0x42, 0x49, 0x07, 0xf7, + 0xce, 0x39, 0x8e, 0x73, 0x0e, 0xb3, 0x70, 0x17, +}; +static const unsigned char kat2271_addinreseed[] = { + 0x5b, 0x86, 0xd0, 0xd7, 0xf0, 0xfa, 0x8b, 0x14, 0x83, 0xe2, 0x75, 0x8f, + 0xc0, 0x9f, 0xf7, 0x6b, 0xf0, 0x0d, 0xac, 0x31, 0x43, 0xfc, 0x4b, 0x44, + 0xcc, 0x2c, 0xe9, 0x3b, 0x19, 0x26, 0xc1, 0xc1, +}; +static const unsigned char kat2271_addin0[] = { + 0x5b, 0xc4, 0x46, 0xc5, 0x23, 0x38, 0x6e, 0x7d, 0xca, 0x9a, 0x8b, 0x3b, + 0xf4, 0x0f, 0xb5, 0xe8, 0x66, 0x89, 0xfc, 0x4d, 0x17, 0x5a, 0x51, 0xe2, + 0x2a, 0x79, 0xa6, 0xea, 0xed, 0x79, 0xea, 0x43, +}; +static const unsigned char kat2271_addin1[] = { + 0x88, 0x79, 0x8e, 0x30, 0x8f, 0x08, 0x1c, 0xdd, 0x87, 0xe6, 0xbc, 0xec, + 0x5a, 0xb2, 0x3f, 0x73, 0x19, 0xea, 0x4e, 0x38, 0xab, 0x96, 0x7b, 0x23, + 0xa6, 0xb9, 0xd2, 0xac, 0x9c, 0xd3, 0xdb, 0xec, +}; +static const unsigned char kat2271_retbits[] = { + 0x5a, 0x42, 0x59, 0xf5, 0x27, 0x55, 0xc7, 0x4a, 0x91, 0xf2, 0x57, 0x7d, + 0xd0, 0xf4, 0x73, 0x21, 0x7e, 0x62, 0xe8, 0x85, 0x61, 0xcf, 0xfa, 0x62, + 0x5e, 0x03, 0x67, 0x29, 0x3f, 0xfb, 0x19, 0x99, 0xa3, 0xc6, 0xda, 0x37, + 0xc0, 0xbd, 0x6e, 0x62, 0xa7, 0x42, 0x53, 0x66, 0x32, 0xc8, 0x5b, 0x40, + 0x96, 0x2e, 0x72, 0x49, 0xbd, 0xe0, 0x7d, 0xef, 0xb9, 0x5b, 0x9e, 0x3a, + 0x72, 0xd2, 0x76, 0x2f, +}; +static const struct drbg_kat_pr_false kat2271_t = { + 5, kat2271_entropyin, kat2271_nonce, kat2271_persstr, + kat2271_entropyinreseed, kat2271_addinreseed, kat2271_addin0, + kat2271_addin1, kat2271_retbits +}; +static const struct drbg_kat kat2271 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2271_t +}; + +static const unsigned char kat2272_entropyin[] = { + 0xe5, 0xc6, 0x84, 0xd7, 0x03, 0x55, 0x0b, 0xf6, 0x50, 0x26, 0x46, 0x3a, + 0x89, 0x49, 0x24, 0x41, 0xf2, 0x97, 0x1c, 0xb1, 0xae, 0xe3, 0x94, 0xd1, + 0x62, 0x1c, 0x05, 0x34, 0x3c, 0x92, 0x45, 0x5e, +}; +static const unsigned char kat2272_nonce[] = {0}; +static const unsigned char kat2272_persstr[] = { + 0x8f, 0x2a, 0x85, 0x78, 0xb4, 0x50, 0x01, 0x0d, 0xf7, 0xb5, 0x0c, 0x92, + 0xc3, 0x13, 0x16, 0xcd, 0x76, 0xf2, 0x8e, 0x4a, 0x95, 0x60, 0x2e, 0xde, + 0x95, 0x77, 0x0b, 0x02, 0x69, 0x52, 0x97, 0xd7, +}; +static const unsigned char kat2272_entropyinreseed[] = { + 0xc2, 0x60, 0xed, 0x27, 0x92, 0x3b, 0x69, 0x42, 0x2a, 0x19, 0x61, 0xe4, + 0xbf, 0xbd, 0xe3, 0xa4, 0x75, 0x28, 0x99, 0x91, 0xcd, 0x31, 0xb5, 0xdb, + 0xad, 0x43, 0xa6, 0x50, 0xed, 0x29, 0xc0, 0x3c, +}; +static const unsigned char kat2272_addinreseed[] = { + 0xa9, 0xdb, 0x1a, 0x29, 0x94, 0x37, 0x07, 0xb1, 0xc3, 0xfa, 0x6d, 0x6b, + 0x1d, 0x2f, 0xa8, 0x08, 0x41, 0xb2, 0xf2, 0x6e, 0x2b, 0xe9, 0x31, 0xa8, + 0xdb, 0x58, 0x65, 0xb5, 0xe3, 0x6a, 0x1b, 0xb8, +}; +static const unsigned char kat2272_addin0[] = { + 0xbb, 0xb1, 0x1f, 0x77, 0xfd, 0xc9, 0xbd, 0x49, 0xdb, 0x0e, 0xb1, 0x9d, + 0x05, 0xb1, 0x65, 0x3d, 0xcd, 0xb0, 0x1b, 0x03, 0x2b, 0x2b, 0x53, 0xa2, + 0xa7, 0x9c, 0x74, 0xc5, 0x5a, 0x7f, 0x5e, 0x4a, +}; +static const unsigned char kat2272_addin1[] = { + 0x2c, 0xa9, 0x14, 0x03, 0xd2, 0x77, 0xf7, 0xef, 0x52, 0xd7, 0x75, 0x2f, + 0xc4, 0x73, 0x8b, 0x0a, 0x5e, 0x4c, 0x27, 0xf3, 0x4e, 0xc5, 0xbd, 0x90, + 0xac, 0x1c, 0x70, 0xd3, 0x8f, 0x7f, 0x55, 0x80, +}; +static const unsigned char kat2272_retbits[] = { + 0xd0, 0x78, 0xdd, 0x65, 0xc7, 0x18, 0x7b, 0x33, 0x7c, 0x81, 0xbc, 0xd0, + 0x3e, 0x0e, 0x54, 0x51, 0x39, 0x81, 0x87, 0xb0, 0x14, 0x64, 0xb5, 0xb1, + 0x0d, 0x85, 0xd8, 0x5b, 0xfd, 0x20, 0x62, 0x45, 0xca, 0x75, 0x8e, 0xb6, + 0xe7, 0xed, 0x57, 0x01, 0x84, 0xe9, 0xcd, 0x2f, 0xe5, 0x96, 0xf1, 0xee, + 0xfe, 0x69, 0x19, 0x10, 0xe1, 0x08, 0x7a, 0x74, 0xba, 0x73, 0x04, 0xa0, + 0x3e, 0xed, 0x6d, 0x4f, +}; +static const struct drbg_kat_pr_false kat2272_t = { + 6, kat2272_entropyin, kat2272_nonce, kat2272_persstr, + kat2272_entropyinreseed, kat2272_addinreseed, kat2272_addin0, + kat2272_addin1, kat2272_retbits +}; +static const struct drbg_kat kat2272 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2272_t +}; + +static const unsigned char kat2273_entropyin[] = { + 0x63, 0x02, 0xfb, 0x5f, 0x99, 0x25, 0x44, 0x96, 0xa7, 0xc8, 0x29, 0x37, + 0x0e, 0x43, 0xfc, 0xc8, 0xd6, 0x8e, 0x41, 0x09, 0x7a, 0x35, 0x75, 0xd3, + 0x0b, 0x41, 0x47, 0x7e, 0xc5, 0x34, 0x64, 0x0b, +}; +static const unsigned char kat2273_nonce[] = {0}; +static const unsigned char kat2273_persstr[] = { + 0x54, 0x4e, 0x22, 0x68, 0x64, 0x51, 0xc4, 0x01, 0xa9, 0xdc, 0xf0, 0xf2, + 0x4e, 0xd9, 0x22, 0xd8, 0x8e, 0x82, 0x20, 0xbe, 0x45, 0x03, 0x11, 0x1b, + 0x58, 0x0c, 0x05, 0x2d, 0x39, 0x7b, 0xc1, 0x5d, +}; +static const unsigned char kat2273_entropyinreseed[] = { + 0x0e, 0xdc, 0x85, 0xbc, 0xa4, 0x82, 0x6a, 0xe9, 0xea, 0x61, 0x8c, 0xc5, + 0xf7, 0x35, 0xcc, 0xf9, 0x74, 0x8c, 0xe8, 0xb9, 0xb4, 0x7b, 0xac, 0x67, + 0xe9, 0xf4, 0x73, 0xc2, 0xd2, 0x91, 0xd9, 0x91, +}; +static const unsigned char kat2273_addinreseed[] = { + 0x00, 0xd5, 0x73, 0xc9, 0xb8, 0x9d, 0x4f, 0x3b, 0xd6, 0x0c, 0xde, 0xb4, + 0xd4, 0x0a, 0x8a, 0xf4, 0x1e, 0x2e, 0xb2, 0xf9, 0x39, 0x7f, 0xaf, 0x0d, + 0xe0, 0x49, 0xb5, 0x0c, 0xb5, 0x63, 0x86, 0x27, +}; +static const unsigned char kat2273_addin0[] = { + 0x39, 0x87, 0xd1, 0x1b, 0xfa, 0xcf, 0x56, 0x14, 0xef, 0x0e, 0x28, 0xe2, + 0x60, 0x06, 0xd6, 0x6e, 0xa0, 0x3c, 0x3b, 0x01, 0x41, 0xe6, 0x77, 0x01, + 0x8b, 0xe1, 0x0e, 0x30, 0xf0, 0xb2, 0x53, 0x8a, +}; +static const unsigned char kat2273_addin1[] = { + 0x23, 0x38, 0xa6, 0x8b, 0x5f, 0xac, 0xa8, 0xd6, 0xbe, 0x89, 0x81, 0x54, + 0x9e, 0xf2, 0xf6, 0xf3, 0x05, 0x69, 0xa2, 0xd2, 0x5f, 0x7c, 0x51, 0xf6, + 0x2c, 0xec, 0x5e, 0x12, 0x6a, 0xeb, 0xdf, 0x8d, +}; +static const unsigned char kat2273_retbits[] = { + 0xee, 0xf8, 0xd2, 0x2d, 0x01, 0x40, 0xcf, 0x78, 0xa2, 0x9e, 0x40, 0x39, + 0x8a, 0xf3, 0xd1, 0xc8, 0x8d, 0xbc, 0x9e, 0xae, 0xf8, 0xc6, 0xe5, 0xa3, + 0xf8, 0xe3, 0x41, 0xbc, 0x72, 0x9e, 0x47, 0xc0, 0x35, 0x3f, 0x51, 0x68, + 0xde, 0x20, 0x80, 0xdf, 0x87, 0x00, 0xbc, 0xd6, 0x8d, 0x6b, 0x85, 0x15, + 0xef, 0xd8, 0x7b, 0xb1, 0x0f, 0x45, 0x97, 0xec, 0x5b, 0x52, 0x64, 0xcc, + 0x47, 0x65, 0xfc, 0xec, +}; +static const struct drbg_kat_pr_false kat2273_t = { + 7, kat2273_entropyin, kat2273_nonce, kat2273_persstr, + kat2273_entropyinreseed, kat2273_addinreseed, kat2273_addin0, + kat2273_addin1, kat2273_retbits +}; +static const struct drbg_kat kat2273 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2273_t +}; + +static const unsigned char kat2274_entropyin[] = { + 0xc4, 0x12, 0x94, 0xfc, 0x54, 0xdb, 0xb8, 0xb3, 0x6f, 0xa1, 0x43, 0x39, + 0x34, 0xc6, 0xd8, 0xc5, 0x17, 0x19, 0xc3, 0x0f, 0xd6, 0x37, 0x1d, 0x83, + 0x0c, 0x63, 0x2f, 0x6c, 0x10, 0x53, 0x30, 0x21, +}; +static const unsigned char kat2274_nonce[] = {0}; +static const unsigned char kat2274_persstr[] = { + 0x8c, 0x43, 0xb0, 0x0a, 0x1b, 0xee, 0xfb, 0xae, 0x61, 0x28, 0x1c, 0x85, + 0x3f, 0xc2, 0x7a, 0xad, 0xc6, 0xea, 0xc6, 0x0e, 0xa0, 0x09, 0x87, 0x59, + 0x0d, 0x96, 0x76, 0xbf, 0x28, 0x72, 0x5b, 0x7a, +}; +static const unsigned char kat2274_entropyinreseed[] = { + 0x60, 0x99, 0xd2, 0x71, 0x6d, 0x1e, 0x5b, 0xa4, 0x6b, 0x0b, 0x37, 0xd0, + 0x8b, 0x9a, 0xe2, 0xf6, 0xb7, 0xd3, 0x95, 0x83, 0xc5, 0xe1, 0x15, 0x8f, + 0x77, 0xe2, 0x68, 0xa7, 0x7b, 0xd9, 0x2a, 0x84, +}; +static const unsigned char kat2274_addinreseed[] = { + 0xca, 0x48, 0x88, 0x12, 0x49, 0x43, 0xd6, 0x74, 0x1e, 0x09, 0xde, 0xed, + 0x6f, 0xf5, 0xae, 0xf0, 0xf0, 0x5d, 0x32, 0x27, 0x90, 0xfe, 0x79, 0x25, + 0x86, 0xa0, 0xfa, 0xdb, 0x7f, 0x9b, 0x27, 0xe0, +}; +static const unsigned char kat2274_addin0[] = { + 0x26, 0x8e, 0x4a, 0x9f, 0xe0, 0x09, 0x23, 0x35, 0x63, 0x6a, 0x86, 0xb4, + 0x8f, 0x54, 0x84, 0x9a, 0x6e, 0x4a, 0xed, 0xbd, 0x8d, 0x88, 0x44, 0xb0, + 0xfd, 0x19, 0x02, 0xa6, 0xd2, 0x88, 0x6f, 0x56, +}; +static const unsigned char kat2274_addin1[] = { + 0x79, 0x7a, 0x96, 0x4b, 0x3f, 0xf0, 0xb0, 0x38, 0xa4, 0xcb, 0x71, 0x38, + 0xf9, 0x80, 0x4e, 0x61, 0x6f, 0x4f, 0x4f, 0x31, 0xe5, 0xb4, 0x06, 0x7f, + 0x35, 0xa5, 0x3a, 0x9d, 0x73, 0x95, 0x8c, 0x1f, +}; +static const unsigned char kat2274_retbits[] = { + 0x7d, 0xfb, 0x47, 0x1b, 0x39, 0x11, 0x2a, 0x02, 0xe4, 0x25, 0xca, 0x79, + 0x12, 0xfa, 0xe1, 0x00, 0xdb, 0xf0, 0x25, 0x15, 0x38, 0x2d, 0xf3, 0x08, + 0xd1, 0x42, 0x62, 0x07, 0xd7, 0x8d, 0x7a, 0x56, 0xf4, 0xbc, 0x84, 0x91, + 0x56, 0xb5, 0x13, 0x77, 0xf8, 0xe3, 0x1b, 0xff, 0x5a, 0xac, 0x7c, 0x2d, + 0x4e, 0x18, 0x17, 0xc8, 0x91, 0x32, 0x2f, 0x48, 0xd5, 0xe1, 0xbd, 0x8d, + 0x4f, 0xd6, 0xc7, 0xc6, +}; +static const struct drbg_kat_pr_false kat2274_t = { + 8, kat2274_entropyin, kat2274_nonce, kat2274_persstr, + kat2274_entropyinreseed, kat2274_addinreseed, kat2274_addin0, + kat2274_addin1, kat2274_retbits +}; +static const struct drbg_kat kat2274 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2274_t +}; + +static const unsigned char kat2275_entropyin[] = { + 0x36, 0x84, 0x32, 0xce, 0x04, 0x9f, 0x1a, 0x07, 0x54, 0xdc, 0x42, 0x60, + 0x8f, 0xd2, 0x66, 0x48, 0x61, 0xf2, 0xad, 0x0f, 0x0a, 0xc3, 0xcc, 0x26, + 0x5e, 0x74, 0x99, 0xc8, 0xc2, 0x0e, 0xc8, 0xa8, +}; +static const unsigned char kat2275_nonce[] = {0}; +static const unsigned char kat2275_persstr[] = { + 0xe3, 0x42, 0xf4, 0xc0, 0xc9, 0x3e, 0x10, 0xae, 0x15, 0xc7, 0xf4, 0xdb, + 0x19, 0x3d, 0xbd, 0xa6, 0x74, 0x7f, 0x61, 0xeb, 0x22, 0xcd, 0x34, 0x2e, + 0x64, 0x1f, 0xae, 0xb1, 0x63, 0xf8, 0x3f, 0x2f, +}; +static const unsigned char kat2275_entropyinreseed[] = { + 0xd6, 0x2b, 0xbe, 0x9a, 0x62, 0x56, 0x1a, 0x22, 0x74, 0x3f, 0x73, 0xe0, + 0xd6, 0x64, 0x7f, 0xfc, 0x9b, 0x8d, 0x5b, 0xa0, 0xcb, 0x41, 0x4f, 0xbf, + 0xa4, 0xfb, 0xa6, 0x33, 0x71, 0xe7, 0x91, 0x2a, +}; +static const unsigned char kat2275_addinreseed[] = { + 0xff, 0x09, 0x78, 0x79, 0x87, 0xaa, 0xa1, 0x58, 0x59, 0x07, 0x5f, 0xcf, + 0xfb, 0x02, 0xd0, 0x49, 0x22, 0x2e, 0x2b, 0xec, 0x69, 0x0b, 0xfa, 0xcd, + 0xec, 0x2e, 0xe7, 0xd3, 0x16, 0x4b, 0xdf, 0x99, +}; +static const unsigned char kat2275_addin0[] = { + 0x2d, 0xc1, 0xd8, 0xae, 0x52, 0xa2, 0x6c, 0xdf, 0x75, 0xba, 0x41, 0x32, + 0x38, 0xb1, 0xcb, 0x77, 0x63, 0x27, 0xdc, 0x9d, 0x83, 0x6a, 0xb2, 0x33, + 0x3e, 0xca, 0xf7, 0x60, 0x4c, 0x91, 0x10, 0x5c, +}; +static const unsigned char kat2275_addin1[] = { + 0xe9, 0x1e, 0x11, 0x0e, 0x7b, 0x93, 0x72, 0x53, 0x08, 0x53, 0xc4, 0xab, + 0x31, 0x61, 0x50, 0xea, 0xc5, 0xfe, 0x62, 0x40, 0xf3, 0xef, 0x71, 0x75, + 0xc2, 0xca, 0x71, 0xb8, 0x89, 0xe5, 0x48, 0x4f, +}; +static const unsigned char kat2275_retbits[] = { + 0x49, 0x30, 0xfa, 0xe1, 0x7e, 0xdc, 0x90, 0xa6, 0x9f, 0xa2, 0xa3, 0xc3, + 0x53, 0x68, 0x94, 0x5b, 0x56, 0x55, 0x6d, 0x56, 0x15, 0x51, 0xc3, 0xbd, + 0x04, 0x74, 0xa8, 0x8a, 0x10, 0xa0, 0x52, 0xcd, 0xbd, 0x70, 0xa6, 0xa2, + 0x2a, 0x9d, 0xec, 0x01, 0x7b, 0x23, 0x16, 0x0c, 0xa4, 0x70, 0x0d, 0x79, + 0x7f, 0xf5, 0x90, 0x92, 0x1e, 0x3e, 0xf4, 0x56, 0xe1, 0x1b, 0xe1, 0xc0, + 0xfe, 0x08, 0xcc, 0x35, +}; +static const struct drbg_kat_pr_false kat2275_t = { + 9, kat2275_entropyin, kat2275_nonce, kat2275_persstr, + kat2275_entropyinreseed, kat2275_addinreseed, kat2275_addin0, + kat2275_addin1, kat2275_retbits +}; +static const struct drbg_kat kat2275 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2275_t +}; + +static const unsigned char kat2276_entropyin[] = { + 0xb2, 0x05, 0xcd, 0xe0, 0xfc, 0xa4, 0x12, 0x1a, 0xf7, 0xd0, 0x7b, 0x44, + 0xc9, 0x19, 0xbf, 0x51, 0x3d, 0xb0, 0x90, 0x0c, 0x3f, 0x29, 0x2a, 0xff, + 0x8e, 0xd2, 0x9a, 0x7c, 0xc1, 0xcd, 0x7a, 0x5d, +}; +static const unsigned char kat2276_nonce[] = {0}; +static const unsigned char kat2276_persstr[] = { + 0x1e, 0x77, 0x87, 0xca, 0x3a, 0xc8, 0x6f, 0xbf, 0xa3, 0xff, 0xde, 0xa3, + 0x3f, 0xd0, 0x50, 0xfb, 0xe0, 0x26, 0xa4, 0xce, 0x3a, 0x8e, 0x81, 0x61, + 0xd4, 0xc2, 0x13, 0xad, 0xb4, 0xf6, 0xa1, 0x49, +}; +static const unsigned char kat2276_entropyinreseed[] = { + 0x49, 0xc5, 0x2f, 0x33, 0xa6, 0xed, 0x01, 0xc5, 0x5d, 0xe9, 0xcd, 0x02, + 0x80, 0x3f, 0xac, 0x02, 0x64, 0xb6, 0x70, 0x2b, 0xac, 0x6a, 0xf0, 0xaa, + 0x09, 0x24, 0xc6, 0x46, 0x2d, 0xc2, 0x17, 0xc1, +}; +static const unsigned char kat2276_addinreseed[] = { + 0x29, 0x25, 0x5f, 0x9f, 0x7b, 0x39, 0xbe, 0xb0, 0x3e, 0xfd, 0xcd, 0x5a, + 0xe2, 0x43, 0x23, 0x58, 0xb6, 0x16, 0xf1, 0xc0, 0x89, 0xb2, 0x4b, 0x7b, + 0xd6, 0x53, 0xd7, 0xcc, 0x34, 0xc8, 0xf4, 0x49, +}; +static const unsigned char kat2276_addin0[] = { + 0x35, 0xe9, 0xc1, 0x40, 0x32, 0xf0, 0xe0, 0x04, 0x99, 0x06, 0x13, 0x6c, + 0x71, 0xcf, 0x7f, 0x13, 0x97, 0x95, 0x0b, 0x42, 0x92, 0xa3, 0x9d, 0x16, + 0xa4, 0x90, 0x95, 0x9d, 0x13, 0x01, 0x5d, 0xf2, +}; +static const unsigned char kat2276_addin1[] = { + 0xcf, 0x66, 0x07, 0x73, 0x53, 0x20, 0xdd, 0x4b, 0xce, 0x82, 0xaa, 0x15, + 0xd1, 0x57, 0x07, 0x80, 0x65, 0xb7, 0xd1, 0x1e, 0x72, 0x32, 0x1d, 0x0d, + 0x31, 0x5a, 0xa2, 0x53, 0xf7, 0x41, 0x48, 0xdc, +}; +static const unsigned char kat2276_retbits[] = { + 0x67, 0x3e, 0x6d, 0x3a, 0xbe, 0x0c, 0x79, 0x91, 0x64, 0x70, 0xf0, 0x6a, + 0x94, 0xea, 0x61, 0x2e, 0x8a, 0xe0, 0x29, 0x20, 0xc6, 0xa5, 0xed, 0xfa, + 0xbe, 0xf8, 0x61, 0xb2, 0x89, 0xd3, 0x78, 0xf6, 0x7a, 0x07, 0x18, 0xd6, + 0x68, 0xa1, 0xa4, 0x43, 0x32, 0x6d, 0x94, 0xba, 0xa3, 0x87, 0xb6, 0x29, + 0x9d, 0x49, 0x9e, 0x0e, 0x83, 0x5d, 0x2c, 0xbd, 0xcb, 0xbe, 0x3f, 0xde, + 0xba, 0x5e, 0x00, 0x32, +}; +static const struct drbg_kat_pr_false kat2276_t = { + 10, kat2276_entropyin, kat2276_nonce, kat2276_persstr, + kat2276_entropyinreseed, kat2276_addinreseed, kat2276_addin0, + kat2276_addin1, kat2276_retbits +}; +static const struct drbg_kat kat2276 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2276_t +}; + +static const unsigned char kat2277_entropyin[] = { + 0xaa, 0xd0, 0x0f, 0x0e, 0xd2, 0x72, 0x20, 0x74, 0x78, 0x1e, 0x10, 0x2b, + 0x65, 0xf3, 0x23, 0xfb, 0x35, 0x86, 0x65, 0xf2, 0xc9, 0xe0, 0x5a, 0x17, + 0x75, 0x6d, 0x72, 0x1b, 0xae, 0x03, 0x75, 0x39, +}; +static const unsigned char kat2277_nonce[] = {0}; +static const unsigned char kat2277_persstr[] = { + 0x53, 0x05, 0x68, 0x80, 0x59, 0x86, 0xe6, 0x0d, 0x9e, 0x96, 0x6b, 0xf2, + 0x0d, 0xf0, 0x97, 0xd9, 0xc5, 0x87, 0x57, 0x17, 0x86, 0xc0, 0x2e, 0x07, + 0x0f, 0xad, 0xd7, 0x51, 0xac, 0x1c, 0x88, 0xa5, +}; +static const unsigned char kat2277_entropyinreseed[] = { + 0xce, 0xbe, 0xc2, 0xb5, 0xc7, 0xf4, 0x0d, 0xdf, 0x00, 0x68, 0xa9, 0x4a, + 0x17, 0x5f, 0x0e, 0xcd, 0xee, 0x43, 0xb6, 0xac, 0xe8, 0xe2, 0x86, 0x97, + 0x15, 0xf9, 0x20, 0xda, 0x40, 0x9b, 0x8e, 0xbf, +}; +static const unsigned char kat2277_addinreseed[] = { + 0x8c, 0xc5, 0x22, 0x50, 0x79, 0xfe, 0xfd, 0xcc, 0x73, 0x32, 0xd0, 0x5c, + 0x6d, 0x57, 0x0c, 0xa6, 0x14, 0xa0, 0xfa, 0x53, 0xf4, 0x46, 0xd3, 0x8b, + 0xb7, 0x1a, 0xac, 0x4b, 0x33, 0x29, 0xd2, 0xe6, +}; +static const unsigned char kat2277_addin0[] = { + 0x97, 0xbd, 0x3e, 0xcb, 0xc2, 0x7e, 0xeb, 0xfb, 0x56, 0x0b, 0xa0, 0x46, + 0x4d, 0xd9, 0xc2, 0x1e, 0x17, 0xa9, 0x15, 0x2c, 0xf8, 0x60, 0x8e, 0x8a, + 0x8f, 0x3a, 0x9f, 0x59, 0x08, 0x9d, 0x7b, 0x2e, +}; +static const unsigned char kat2277_addin1[] = { + 0xa2, 0x4f, 0x46, 0xc9, 0xf2, 0x07, 0xef, 0xac, 0xef, 0x81, 0x09, 0x6d, + 0xc7, 0x6c, 0xf2, 0x93, 0xdd, 0xb5, 0x05, 0x77, 0x46, 0x30, 0x3f, 0xf6, + 0xef, 0x34, 0xfb, 0x83, 0xd1, 0x76, 0x0d, 0x33, +}; +static const unsigned char kat2277_retbits[] = { + 0xf5, 0x7c, 0x5d, 0x13, 0x49, 0x5b, 0x10, 0x1b, 0x8b, 0x0a, 0x03, 0xa9, + 0xcc, 0xe0, 0x1d, 0x43, 0xef, 0xf7, 0xb9, 0x9d, 0x87, 0xda, 0x65, 0x0b, + 0xe3, 0xf6, 0x57, 0xe9, 0x0f, 0x57, 0x7c, 0x0b, 0x40, 0x96, 0x8d, 0xcf, + 0x18, 0x11, 0x44, 0x86, 0xb4, 0xb1, 0x88, 0x84, 0x35, 0xf8, 0x80, 0x69, + 0x6d, 0xc9, 0xc0, 0x28, 0x6d, 0xb7, 0xa4, 0x1e, 0x90, 0x07, 0x2d, 0x55, + 0xac, 0x8a, 0x2d, 0xc6, +}; +static const struct drbg_kat_pr_false kat2277_t = { + 11, kat2277_entropyin, kat2277_nonce, kat2277_persstr, + kat2277_entropyinreseed, kat2277_addinreseed, kat2277_addin0, + kat2277_addin1, kat2277_retbits +}; +static const struct drbg_kat kat2277 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2277_t +}; + +static const unsigned char kat2278_entropyin[] = { + 0x96, 0xb0, 0x84, 0xa6, 0xac, 0x52, 0x3b, 0x57, 0x84, 0xb6, 0x33, 0x5b, + 0x1e, 0xab, 0x7d, 0x31, 0x48, 0xa0, 0x5d, 0x0f, 0x8a, 0xf8, 0xa5, 0xac, + 0x4a, 0xc3, 0x19, 0x3d, 0x28, 0x16, 0xff, 0xe5, +}; +static const unsigned char kat2278_nonce[] = {0}; +static const unsigned char kat2278_persstr[] = { + 0x93, 0x66, 0xab, 0x60, 0xa2, 0x63, 0x4d, 0xb0, 0x37, 0x04, 0x9b, 0xd3, + 0x7b, 0x33, 0x14, 0xbb, 0x3f, 0xa7, 0x01, 0xf4, 0xd6, 0xc3, 0xaa, 0x3a, + 0x22, 0x00, 0xd9, 0x8d, 0x28, 0xcc, 0x3d, 0x6e, +}; +static const unsigned char kat2278_entropyinreseed[] = { + 0xba, 0xb2, 0x0d, 0x66, 0xed, 0xe0, 0x00, 0x15, 0x04, 0xc8, 0xbc, 0x73, + 0xdd, 0x17, 0x21, 0x66, 0x9e, 0xef, 0xba, 0x79, 0xf3, 0x99, 0x05, 0x32, + 0xd3, 0xc5, 0x43, 0x76, 0x65, 0xc3, 0x29, 0x9f, +}; +static const unsigned char kat2278_addinreseed[] = { + 0x4f, 0x07, 0x92, 0xa8, 0x26, 0xf9, 0x74, 0xbf, 0xd9, 0x2a, 0xa4, 0xa0, + 0x9b, 0x8b, 0x51, 0xaa, 0x91, 0x2e, 0x93, 0x77, 0x8a, 0xd1, 0x4a, 0x73, + 0x79, 0x0e, 0xec, 0x3a, 0x25, 0x6c, 0xf4, 0x4b, +}; +static const unsigned char kat2278_addin0[] = { + 0x7d, 0xc5, 0x21, 0xa5, 0xe5, 0x06, 0xe8, 0xec, 0x3e, 0xab, 0xcb, 0x28, + 0xcf, 0x30, 0xf2, 0xe9, 0x08, 0x1c, 0x29, 0xfa, 0x47, 0xe7, 0xf8, 0x89, + 0x34, 0x99, 0xa2, 0xa2, 0xff, 0x87, 0x44, 0xbd, +}; +static const unsigned char kat2278_addin1[] = { + 0x86, 0xd0, 0x1d, 0x82, 0xe8, 0x16, 0x23, 0x54, 0xaa, 0x61, 0x30, 0x41, + 0xce, 0xf5, 0xc0, 0x27, 0x23, 0xab, 0x4d, 0x6b, 0x41, 0xfd, 0xb5, 0xdd, + 0xcb, 0x81, 0xcd, 0x81, 0x61, 0x0d, 0xab, 0xdc, +}; +static const unsigned char kat2278_retbits[] = { + 0x4d, 0x21, 0xbb, 0x5b, 0x31, 0x8a, 0x2a, 0xd7, 0x9f, 0xb6, 0x5a, 0x7b, + 0x74, 0xb1, 0xd8, 0x76, 0x1b, 0x3d, 0x25, 0x6b, 0x54, 0x87, 0x5b, 0x7b, + 0x5c, 0x57, 0xb7, 0x6e, 0x3e, 0x2f, 0xb1, 0x82, 0x51, 0xdd, 0xfb, 0x55, + 0x09, 0x3a, 0x34, 0xed, 0x30, 0x52, 0x77, 0x02, 0x24, 0x14, 0x6a, 0xf6, + 0x52, 0xd5, 0xc3, 0xe0, 0xae, 0x34, 0x8d, 0xc6, 0xa1, 0x34, 0x11, 0x21, + 0x4e, 0x70, 0x6a, 0x2e, +}; +static const struct drbg_kat_pr_false kat2278_t = { + 12, kat2278_entropyin, kat2278_nonce, kat2278_persstr, + kat2278_entropyinreseed, kat2278_addinreseed, kat2278_addin0, + kat2278_addin1, kat2278_retbits +}; +static const struct drbg_kat kat2278 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2278_t +}; + +static const unsigned char kat2279_entropyin[] = { + 0xaa, 0x3b, 0x6a, 0x15, 0x20, 0x3f, 0xda, 0xd8, 0x97, 0x99, 0x69, 0x7a, + 0x0a, 0x6f, 0x14, 0x66, 0xd1, 0x77, 0xb7, 0x32, 0x31, 0xc3, 0x80, 0xd0, + 0x8b, 0xf4, 0xfd, 0xe5, 0x4d, 0xd9, 0x95, 0xc4, +}; +static const unsigned char kat2279_nonce[] = {0}; +static const unsigned char kat2279_persstr[] = { + 0x9c, 0x17, 0x4a, 0x21, 0xe9, 0x07, 0x52, 0xfe, 0x8c, 0xf3, 0x18, 0x5f, + 0xa0, 0x6a, 0x9f, 0xd0, 0x63, 0x51, 0x35, 0x43, 0xf1, 0x70, 0x60, 0xb3, + 0xeb, 0x37, 0xd8, 0x63, 0x20, 0x25, 0xdb, 0xce, +}; +static const unsigned char kat2279_entropyinreseed[] = { + 0x12, 0x04, 0xc8, 0xd8, 0x19, 0x25, 0x28, 0xc1, 0xe7, 0x28, 0x6b, 0x81, + 0x16, 0x8f, 0xef, 0x2a, 0x31, 0x16, 0xcf, 0x79, 0x59, 0x46, 0x26, 0xec, + 0x45, 0x33, 0xab, 0xa8, 0xff, 0xb0, 0xa5, 0x68, +}; +static const unsigned char kat2279_addinreseed[] = { + 0xb5, 0xa7, 0xce, 0x55, 0x5d, 0x63, 0x0a, 0xcf, 0x70, 0x09, 0x35, 0x13, + 0x7d, 0x69, 0x20, 0xe3, 0x19, 0x62, 0xaa, 0xd9, 0x39, 0xe7, 0x64, 0xe5, + 0x65, 0x54, 0x3a, 0x38, 0xc7, 0x66, 0x0b, 0x14, +}; +static const unsigned char kat2279_addin0[] = { + 0xc1, 0x61, 0x26, 0x32, 0xf8, 0xb3, 0xbd, 0xd4, 0x42, 0x4a, 0xa5, 0x52, + 0x15, 0x99, 0x12, 0xab, 0x82, 0xa2, 0x1f, 0x30, 0x06, 0x4c, 0x5f, 0x6f, + 0x00, 0xb9, 0x12, 0x1b, 0x7b, 0x74, 0xca, 0xc7, +}; +static const unsigned char kat2279_addin1[] = { + 0x7a, 0xfb, 0x7b, 0x99, 0xbc, 0x91, 0x94, 0xe5, 0xda, 0x2c, 0xbe, 0xa1, + 0xe6, 0xc2, 0x23, 0xa5, 0x6c, 0x99, 0xea, 0x62, 0x91, 0x7c, 0x9b, 0x7d, + 0xc6, 0x2a, 0x44, 0xcc, 0xbb, 0x78, 0xf5, 0x81, +}; +static const unsigned char kat2279_retbits[] = { + 0x11, 0x2d, 0xfe, 0x63, 0x25, 0x99, 0x8a, 0xb0, 0x3a, 0x8c, 0x56, 0xfe, + 0x4e, 0x0f, 0xb4, 0x56, 0x14, 0x15, 0x7b, 0x26, 0x35, 0xe8, 0x4c, 0x8a, + 0xb8, 0xfa, 0x0e, 0x98, 0xe0, 0xd0, 0xad, 0x0a, 0x82, 0x74, 0x23, 0x09, + 0x8f, 0x5f, 0xa8, 0x7f, 0x10, 0x38, 0xe0, 0x01, 0x8e, 0xfd, 0x03, 0x8f, + 0x38, 0x55, 0x01, 0xec, 0xc9, 0x53, 0x8d, 0x76, 0x29, 0x32, 0x9b, 0x81, + 0x73, 0x1f, 0x71, 0x6d, +}; +static const struct drbg_kat_pr_false kat2279_t = { + 13, kat2279_entropyin, kat2279_nonce, kat2279_persstr, + kat2279_entropyinreseed, kat2279_addinreseed, kat2279_addin0, + kat2279_addin1, kat2279_retbits +}; +static const struct drbg_kat kat2279 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2279_t +}; + +static const unsigned char kat2280_entropyin[] = { + 0x85, 0xf2, 0xb8, 0x38, 0x43, 0xcf, 0xca, 0x2a, 0xdf, 0x48, 0x10, 0x31, + 0x22, 0x05, 0xe9, 0x44, 0xb5, 0xef, 0x5f, 0xa7, 0x9a, 0x1e, 0x00, 0xdb, + 0xda, 0x0d, 0xf7, 0x1b, 0xe7, 0x75, 0x61, 0x81, +}; +static const unsigned char kat2280_nonce[] = {0}; +static const unsigned char kat2280_persstr[] = { + 0x81, 0x37, 0xd6, 0xd0, 0x9a, 0x04, 0xe5, 0x87, 0xbe, 0x50, 0x82, 0xb8, + 0x5a, 0x0d, 0xe6, 0xaa, 0x65, 0x81, 0x94, 0x1f, 0xda, 0x24, 0x97, 0x1d, + 0x9d, 0xd1, 0x21, 0x70, 0xe5, 0x5b, 0xdc, 0x75, +}; +static const unsigned char kat2280_entropyinreseed[] = { + 0x13, 0xf5, 0xf0, 0x66, 0xa8, 0x6c, 0x21, 0xee, 0x11, 0xfb, 0x40, 0x77, + 0x6d, 0xed, 0x01, 0x7f, 0x11, 0x52, 0xe9, 0xbe, 0xca, 0x96, 0x60, 0x2c, + 0x4e, 0x6e, 0x0a, 0x1e, 0x82, 0x2a, 0x9b, 0xe3, +}; +static const unsigned char kat2280_addinreseed[] = { + 0xb9, 0xf8, 0xab, 0xd5, 0x90, 0xbb, 0xe1, 0x75, 0x1f, 0x1c, 0x41, 0x0a, + 0x42, 0xdd, 0xf9, 0x3c, 0x24, 0xe7, 0xf4, 0x9a, 0x5f, 0xd4, 0xb1, 0x64, + 0x48, 0x20, 0x75, 0x9a, 0x2a, 0xa2, 0x93, 0xb1, +}; +static const unsigned char kat2280_addin0[] = { + 0x25, 0x37, 0xee, 0x73, 0xb5, 0x66, 0xf7, 0xfe, 0xbc, 0x51, 0x96, 0x3e, + 0xa9, 0x66, 0x91, 0x99, 0x4f, 0xdb, 0x15, 0x0d, 0x42, 0xdb, 0x58, 0x20, + 0x4f, 0x95, 0xbe, 0x45, 0xb4, 0xb4, 0xae, 0x32, +}; +static const unsigned char kat2280_addin1[] = { + 0x2f, 0x4d, 0xd1, 0x69, 0x8f, 0x26, 0xaf, 0x2a, 0x92, 0x1d, 0x4f, 0x4a, + 0xce, 0xda, 0x1c, 0x15, 0xac, 0x71, 0xff, 0xf6, 0x2f, 0xf7, 0xbb, 0x5e, + 0xa6, 0xa9, 0x93, 0xa2, 0x9a, 0x8d, 0xc1, 0x99, +}; +static const unsigned char kat2280_retbits[] = { + 0xf1, 0xb4, 0x6b, 0x02, 0x76, 0xbb, 0xd7, 0x5e, 0xec, 0x07, 0x92, 0xe9, + 0x99, 0x8c, 0xe8, 0x30, 0x22, 0xc8, 0xff, 0x2f, 0x00, 0xee, 0x99, 0x47, + 0x76, 0x0c, 0x6b, 0x2b, 0xed, 0x3f, 0x6a, 0x19, 0xbf, 0xf5, 0x8a, 0x0a, + 0x92, 0x09, 0x3a, 0x57, 0xb5, 0xac, 0x94, 0x9c, 0xc4, 0x02, 0x8f, 0xe3, + 0x1e, 0x2a, 0x62, 0x62, 0x12, 0x59, 0x94, 0xe6, 0xe3, 0x0d, 0xbb, 0x4b, + 0x7f, 0xaa, 0x6d, 0x4a, +}; +static const struct drbg_kat_pr_false kat2280_t = { + 14, kat2280_entropyin, kat2280_nonce, kat2280_persstr, + kat2280_entropyinreseed, kat2280_addinreseed, kat2280_addin0, + kat2280_addin1, kat2280_retbits +}; +static const struct drbg_kat kat2280 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2280_t +}; + +static const unsigned char kat2281_entropyin[] = { + 0x85, 0x82, 0x04, 0xf2, 0x7e, 0x93, 0xe8, 0x72, 0xa1, 0xce, 0x62, 0x08, + 0xef, 0x6d, 0xe3, 0x98, 0x68, 0xdd, 0xad, 0x55, 0xea, 0xc8, 0x99, 0xca, + 0x05, 0x81, 0xb9, 0xbb, 0x69, 0x7d, 0x44, 0x17, +}; +static const unsigned char kat2281_nonce[] = {0}; +static const unsigned char kat2281_persstr[] = {0}; +static const unsigned char kat2281_entropyinreseed[] = { + 0x1e, 0x82, 0x20, 0x08, 0xae, 0xcf, 0x6e, 0x67, 0xcc, 0x47, 0xf2, 0xb9, + 0x8b, 0x04, 0x68, 0x7b, 0x12, 0x1e, 0xa4, 0x03, 0x6b, 0x6c, 0xab, 0xb0, + 0xc3, 0x6e, 0xfb, 0xe1, 0x51, 0x46, 0x38, 0x0b, +}; +static const unsigned char kat2281_addinreseed[] = {0}; +static const unsigned char kat2281_addin0[] = {0}; +static const unsigned char kat2281_addin1[] = {0}; +static const unsigned char kat2281_retbits[] = { + 0x49, 0xce, 0x84, 0x96, 0x3d, 0xf8, 0x64, 0xaa, 0xe3, 0x6b, 0xec, 0x3f, + 0x3e, 0xd2, 0x23, 0xf9, 0x5d, 0xf4, 0x95, 0x6c, 0x7c, 0x01, 0xb6, 0x20, + 0xd5, 0xf2, 0x10, 0xe6, 0x38, 0x65, 0x9d, 0x5e, 0x18, 0x86, 0x70, 0x0c, + 0x04, 0xe7, 0x9e, 0x57, 0x9c, 0xa7, 0xc9, 0xb0, 0x54, 0x54, 0xb5, 0x25, + 0xc2, 0xea, 0x73, 0x48, 0x03, 0x2b, 0x3a, 0xb8, 0xd9, 0x1b, 0x4c, 0x47, + 0x00, 0x22, 0x04, 0xaf, +}; +static const struct drbg_kat_pr_false kat2281_t = { + 0, kat2281_entropyin, kat2281_nonce, kat2281_persstr, + kat2281_entropyinreseed, kat2281_addinreseed, kat2281_addin0, + kat2281_addin1, kat2281_retbits +}; +static const struct drbg_kat kat2281 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2281_t +}; + +static const unsigned char kat2282_entropyin[] = { + 0x04, 0xca, 0x8b, 0x70, 0xf0, 0xd9, 0x5b, 0x2a, 0x9f, 0x31, 0xda, 0xa6, + 0x66, 0xac, 0x57, 0xd2, 0xbf, 0x7c, 0x02, 0xfb, 0x65, 0x12, 0x2a, 0xb8, + 0x19, 0x0c, 0x56, 0x78, 0x55, 0xde, 0xba, 0xb6, +}; +static const unsigned char kat2282_nonce[] = {0}; +static const unsigned char kat2282_persstr[] = {0}; +static const unsigned char kat2282_entropyinreseed[] = { + 0x0b, 0x40, 0x93, 0xae, 0x0f, 0x4c, 0x7f, 0xec, 0x06, 0xec, 0xb0, 0x5d, + 0xa5, 0x16, 0xe2, 0x23, 0x71, 0xdc, 0x8a, 0xbd, 0x55, 0x72, 0x17, 0x90, + 0x3b, 0xc5, 0xe3, 0x19, 0xc5, 0x0a, 0x0b, 0x51, +}; +static const unsigned char kat2282_addinreseed[] = {0}; +static const unsigned char kat2282_addin0[] = {0}; +static const unsigned char kat2282_addin1[] = {0}; +static const unsigned char kat2282_retbits[] = { + 0xd7, 0x71, 0x32, 0x70, 0xe7, 0xbc, 0x22, 0x21, 0xde, 0x92, 0x9d, 0x96, + 0x22, 0xee, 0xfe, 0x35, 0xa4, 0x28, 0x5c, 0x27, 0x61, 0x6e, 0x2d, 0x0d, + 0xdc, 0xf6, 0x5e, 0xc4, 0xe7, 0x9a, 0xc5, 0x18, 0x09, 0x7e, 0xac, 0xf2, + 0xa5, 0xca, 0x3d, 0x20, 0x7c, 0x20, 0x17, 0xcc, 0xbc, 0x3a, 0x93, 0x43, + 0x58, 0x7e, 0x34, 0xca, 0x12, 0xa9, 0x7a, 0xfa, 0xea, 0x67, 0x8b, 0xba, + 0x86, 0xb6, 0x5c, 0xa8, +}; +static const struct drbg_kat_pr_false kat2282_t = { + 1, kat2282_entropyin, kat2282_nonce, kat2282_persstr, + kat2282_entropyinreseed, kat2282_addinreseed, kat2282_addin0, + kat2282_addin1, kat2282_retbits +}; +static const struct drbg_kat kat2282 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2282_t +}; + +static const unsigned char kat2283_entropyin[] = { + 0x82, 0x26, 0xac, 0xff, 0xba, 0x92, 0x3f, 0xa4, 0x63, 0x2d, 0x9d, 0x52, + 0xbd, 0x82, 0x63, 0xff, 0xe6, 0x08, 0xa7, 0x2b, 0x65, 0x55, 0x9f, 0x66, + 0xe2, 0x83, 0x23, 0xbc, 0xe0, 0x9c, 0xa2, 0x8d, +}; +static const unsigned char kat2283_nonce[] = {0}; +static const unsigned char kat2283_persstr[] = {0}; +static const unsigned char kat2283_entropyinreseed[] = { + 0xf9, 0x3e, 0xee, 0x49, 0x7a, 0xe3, 0xf0, 0x66, 0xcc, 0xe4, 0x66, 0x84, + 0xeb, 0x30, 0xbe, 0xff, 0x68, 0xe8, 0xf5, 0x73, 0x8c, 0xef, 0xdb, 0xd5, + 0x19, 0xf9, 0xa3, 0x5b, 0x2a, 0xb2, 0xa6, 0xac, +}; +static const unsigned char kat2283_addinreseed[] = {0}; +static const unsigned char kat2283_addin0[] = {0}; +static const unsigned char kat2283_addin1[] = {0}; +static const unsigned char kat2283_retbits[] = { + 0x14, 0xc3, 0x8f, 0x2c, 0x21, 0x74, 0x0d, 0xf8, 0xc2, 0xf2, 0x87, 0x0c, + 0xd1, 0xfc, 0x6c, 0x53, 0x6c, 0x19, 0x00, 0xb3, 0xda, 0xe6, 0x34, 0xc2, + 0x8b, 0xa9, 0x55, 0xb1, 0x35, 0xeb, 0xf1, 0xac, 0x8e, 0x63, 0x02, 0xdc, + 0x80, 0xf8, 0x9a, 0xf9, 0x82, 0x65, 0x3d, 0x29, 0x14, 0xdf, 0xf1, 0x0e, + 0xc7, 0x2c, 0x09, 0xf0, 0xd8, 0x0c, 0x91, 0x8f, 0xb5, 0xff, 0x96, 0xba, + 0xe8, 0x88, 0xee, 0xd5, +}; +static const struct drbg_kat_pr_false kat2283_t = { + 2, kat2283_entropyin, kat2283_nonce, kat2283_persstr, + kat2283_entropyinreseed, kat2283_addinreseed, kat2283_addin0, + kat2283_addin1, kat2283_retbits +}; +static const struct drbg_kat kat2283 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2283_t +}; + +static const unsigned char kat2284_entropyin[] = { + 0x1c, 0x1d, 0xb7, 0xb9, 0xc1, 0x2c, 0x06, 0x58, 0x2f, 0xca, 0x53, 0x04, + 0xc5, 0xda, 0x9b, 0x14, 0x58, 0x9f, 0x52, 0xf7, 0x84, 0xe6, 0x3d, 0x2f, + 0xd6, 0x59, 0x0e, 0x04, 0x23, 0x29, 0xb9, 0x50, +}; +static const unsigned char kat2284_nonce[] = {0}; +static const unsigned char kat2284_persstr[] = {0}; +static const unsigned char kat2284_entropyinreseed[] = { + 0xd4, 0xbf, 0x05, 0x75, 0x54, 0x19, 0xef, 0xc2, 0x83, 0xc0, 0xec, 0x01, + 0x77, 0xd1, 0x5c, 0xc4, 0x4a, 0x63, 0x84, 0xda, 0x6f, 0xf0, 0x67, 0xf2, + 0xb9, 0xce, 0x5a, 0x19, 0xf6, 0x1f, 0x08, 0x2f, +}; +static const unsigned char kat2284_addinreseed[] = {0}; +static const unsigned char kat2284_addin0[] = {0}; +static const unsigned char kat2284_addin1[] = {0}; +static const unsigned char kat2284_retbits[] = { + 0x91, 0xcb, 0xd4, 0xea, 0x47, 0x4e, 0xd1, 0x3d, 0x2d, 0xb1, 0x8b, 0xe2, + 0xcb, 0x08, 0x66, 0x16, 0x0f, 0xed, 0x17, 0xf2, 0x1b, 0x98, 0x28, 0x33, + 0x37, 0x17, 0xcc, 0xd8, 0xce, 0xa5, 0x12, 0x9a, 0x40, 0x7a, 0xa2, 0x3d, + 0x9e, 0x9c, 0x1b, 0x72, 0xea, 0xdf, 0x18, 0xab, 0x3c, 0xb9, 0xd5, 0xc2, + 0xfa, 0x0a, 0x03, 0x1c, 0xbe, 0x3d, 0xbc, 0x0b, 0xb6, 0x7b, 0x2d, 0xcb, + 0x01, 0x4b, 0x98, 0xc1, +}; +static const struct drbg_kat_pr_false kat2284_t = { + 3, kat2284_entropyin, kat2284_nonce, kat2284_persstr, + kat2284_entropyinreseed, kat2284_addinreseed, kat2284_addin0, + kat2284_addin1, kat2284_retbits +}; +static const struct drbg_kat kat2284 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2284_t +}; + +static const unsigned char kat2285_entropyin[] = { + 0xb7, 0x5e, 0x03, 0x82, 0x71, 0x39, 0x8c, 0x6e, 0x0a, 0xee, 0x80, 0x65, + 0x99, 0xc8, 0xc0, 0x88, 0xae, 0x92, 0x6e, 0xe7, 0x14, 0xb0, 0xe6, 0xef, + 0xa2, 0x50, 0xcf, 0x1c, 0xe4, 0xf9, 0xf7, 0x14, +}; +static const unsigned char kat2285_nonce[] = {0}; +static const unsigned char kat2285_persstr[] = {0}; +static const unsigned char kat2285_entropyinreseed[] = { + 0xb9, 0x88, 0xb1, 0x67, 0xf9, 0x75, 0x97, 0x5b, 0x65, 0xb2, 0xe0, 0xea, + 0x2e, 0x69, 0xc5, 0x0f, 0xb3, 0x4e, 0x69, 0xa0, 0x5b, 0xc7, 0x8c, 0xc2, + 0x6e, 0x40, 0x95, 0xf1, 0xcf, 0x67, 0xeb, 0x21, +}; +static const unsigned char kat2285_addinreseed[] = {0}; +static const unsigned char kat2285_addin0[] = {0}; +static const unsigned char kat2285_addin1[] = {0}; +static const unsigned char kat2285_retbits[] = { + 0x5e, 0x1f, 0xdb, 0xc3, 0x63, 0x3e, 0xbe, 0x87, 0x99, 0xf6, 0xca, 0x4d, + 0xb5, 0x30, 0x1a, 0xff, 0x06, 0x60, 0xea, 0xd7, 0x82, 0x5c, 0xbc, 0x48, + 0x19, 0x4a, 0xa3, 0x87, 0x70, 0xc8, 0x98, 0xf7, 0x41, 0x5a, 0x8a, 0x6b, + 0x93, 0x07, 0xf0, 0x9c, 0xcb, 0xf5, 0xfc, 0xe3, 0x86, 0xea, 0xb3, 0x3a, + 0x97, 0x3c, 0xc4, 0x6e, 0x59, 0xbc, 0x49, 0xac, 0x90, 0xd5, 0xbc, 0x4a, + 0x47, 0xfd, 0x3d, 0x39, +}; +static const struct drbg_kat_pr_false kat2285_t = { + 4, kat2285_entropyin, kat2285_nonce, kat2285_persstr, + kat2285_entropyinreseed, kat2285_addinreseed, kat2285_addin0, + kat2285_addin1, kat2285_retbits +}; +static const struct drbg_kat kat2285 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2285_t +}; + +static const unsigned char kat2286_entropyin[] = { + 0xc0, 0x61, 0xcf, 0x7b, 0x18, 0x04, 0xd7, 0xe7, 0x9f, 0xb3, 0x85, 0x32, + 0xc9, 0xd0, 0xd6, 0xed, 0xeb, 0xc5, 0xc4, 0xb1, 0xa4, 0x7d, 0x99, 0xbf, + 0xad, 0x50, 0x6a, 0xb1, 0xc4, 0xe0, 0x20, 0xca, +}; +static const unsigned char kat2286_nonce[] = {0}; +static const unsigned char kat2286_persstr[] = {0}; +static const unsigned char kat2286_entropyinreseed[] = { + 0xa2, 0xe8, 0x60, 0x02, 0x3b, 0xa1, 0x5c, 0x23, 0x21, 0x5d, 0xfb, 0x31, + 0x7a, 0x99, 0xb2, 0x38, 0x68, 0xc5, 0x51, 0xfc, 0x5e, 0xcd, 0x1f, 0x95, + 0x71, 0xab, 0x9f, 0x77, 0x92, 0x00, 0xde, 0x0c, +}; +static const unsigned char kat2286_addinreseed[] = {0}; +static const unsigned char kat2286_addin0[] = {0}; +static const unsigned char kat2286_addin1[] = {0}; +static const unsigned char kat2286_retbits[] = { + 0xca, 0x4c, 0xa6, 0x1a, 0xc8, 0x7f, 0x7a, 0xae, 0xe3, 0xed, 0xf6, 0x9e, + 0xd9, 0x5a, 0xfe, 0x43, 0x86, 0xc7, 0xeb, 0x0e, 0xd2, 0x0c, 0xf0, 0xd6, + 0xfe, 0xcd, 0x89, 0x45, 0x32, 0x70, 0xc1, 0xb1, 0xe7, 0xac, 0x4f, 0xac, + 0xc2, 0xf7, 0x3e, 0xb6, 0x94, 0xe3, 0x50, 0xfa, 0x12, 0xae, 0x82, 0xb1, + 0x5c, 0x70, 0xe2, 0x78, 0x95, 0x08, 0xd7, 0x74, 0x64, 0xff, 0x4f, 0xb9, + 0x1b, 0xf6, 0x0f, 0xa2, +}; +static const struct drbg_kat_pr_false kat2286_t = { + 5, kat2286_entropyin, kat2286_nonce, kat2286_persstr, + kat2286_entropyinreseed, kat2286_addinreseed, kat2286_addin0, + kat2286_addin1, kat2286_retbits +}; +static const struct drbg_kat kat2286 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2286_t +}; + +static const unsigned char kat2287_entropyin[] = { + 0xfc, 0xcc, 0x19, 0x36, 0x32, 0x6f, 0x01, 0xa3, 0x1a, 0xba, 0xeb, 0x61, + 0x82, 0xc9, 0x94, 0x60, 0xdd, 0x0c, 0x92, 0x3d, 0x8f, 0xbe, 0x55, 0xbd, + 0xc9, 0x58, 0xb1, 0x28, 0x75, 0x3a, 0x3c, 0x29, +}; +static const unsigned char kat2287_nonce[] = {0}; +static const unsigned char kat2287_persstr[] = {0}; +static const unsigned char kat2287_entropyinreseed[] = { + 0xdc, 0x81, 0x4a, 0x96, 0xdb, 0xcd, 0xc3, 0x33, 0xa9, 0x4d, 0x66, 0x54, + 0x83, 0xb1, 0x1f, 0xd0, 0x7a, 0x7b, 0x5f, 0xea, 0xaa, 0x49, 0xa2, 0x3e, + 0xe7, 0x7c, 0xca, 0x74, 0x07, 0x54, 0x82, 0x54, +}; +static const unsigned char kat2287_addinreseed[] = {0}; +static const unsigned char kat2287_addin0[] = {0}; +static const unsigned char kat2287_addin1[] = {0}; +static const unsigned char kat2287_retbits[] = { + 0xe6, 0xba, 0x27, 0x41, 0x68, 0x82, 0x5d, 0x39, 0xe9, 0xbe, 0x80, 0xcc, + 0x69, 0x01, 0xae, 0x41, 0xd8, 0x11, 0x45, 0x02, 0xc0, 0xa1, 0x0f, 0xc4, + 0x95, 0x62, 0x6a, 0xa6, 0x49, 0x74, 0xc0, 0x06, 0x5e, 0xb0, 0xe7, 0x53, + 0xf6, 0x69, 0xd1, 0x74, 0xa0, 0x81, 0x3a, 0xad, 0xde, 0xc0, 0xc7, 0x20, + 0x9d, 0x19, 0x79, 0x4c, 0x9a, 0xa1, 0x4c, 0x41, 0x0a, 0xbc, 0x13, 0xf3, + 0xdd, 0x8e, 0xba, 0x3f, +}; +static const struct drbg_kat_pr_false kat2287_t = { + 6, kat2287_entropyin, kat2287_nonce, kat2287_persstr, + kat2287_entropyinreseed, kat2287_addinreseed, kat2287_addin0, + kat2287_addin1, kat2287_retbits +}; +static const struct drbg_kat kat2287 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2287_t +}; + +static const unsigned char kat2288_entropyin[] = { + 0xa0, 0x33, 0x07, 0x9a, 0xde, 0x6f, 0xde, 0xb4, 0x2f, 0x91, 0x20, 0x7c, + 0xa4, 0x8a, 0x46, 0x86, 0xd9, 0x62, 0xab, 0xd6, 0x5f, 0x59, 0x0d, 0x0d, + 0x8e, 0xc5, 0x8d, 0x3a, 0xd3, 0x51, 0xfe, 0x49, +}; +static const unsigned char kat2288_nonce[] = {0}; +static const unsigned char kat2288_persstr[] = {0}; +static const unsigned char kat2288_entropyinreseed[] = { + 0x1d, 0xf4, 0x8c, 0x8f, 0xac, 0xaa, 0xae, 0xdd, 0x6c, 0xb8, 0x95, 0xc5, + 0xaa, 0xc7, 0xbc, 0x61, 0xb0, 0x85, 0xcb, 0x29, 0xe3, 0xda, 0xf5, 0x71, + 0x6b, 0x55, 0xb8, 0x95, 0x82, 0x78, 0xce, 0xb0, +}; +static const unsigned char kat2288_addinreseed[] = {0}; +static const unsigned char kat2288_addin0[] = {0}; +static const unsigned char kat2288_addin1[] = {0}; +static const unsigned char kat2288_retbits[] = { + 0xb7, 0x5a, 0x09, 0x2d, 0x2a, 0x91, 0x54, 0xc3, 0x30, 0x42, 0xcb, 0xd8, + 0xbb, 0x96, 0x0e, 0xd7, 0x42, 0xdc, 0x7a, 0x00, 0x2c, 0x16, 0xe5, 0xe7, + 0x47, 0xdd, 0x58, 0xd3, 0x10, 0x57, 0x7d, 0xd0, 0x78, 0x0d, 0x4e, 0x39, + 0xfd, 0xb8, 0x97, 0xef, 0x37, 0x57, 0x02, 0x50, 0x71, 0x4e, 0x74, 0x68, + 0xe6, 0x87, 0xd5, 0x72, 0x91, 0x9c, 0xa9, 0x4a, 0x27, 0x36, 0x03, 0x46, + 0x4d, 0x3e, 0x91, 0xad, +}; +static const struct drbg_kat_pr_false kat2288_t = { + 7, kat2288_entropyin, kat2288_nonce, kat2288_persstr, + kat2288_entropyinreseed, kat2288_addinreseed, kat2288_addin0, + kat2288_addin1, kat2288_retbits +}; +static const struct drbg_kat kat2288 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2288_t +}; + +static const unsigned char kat2289_entropyin[] = { + 0xaa, 0x83, 0xd5, 0x11, 0x23, 0xe9, 0xdf, 0xbd, 0xd0, 0x8f, 0x8a, 0x0e, + 0x1b, 0x46, 0xbf, 0xf9, 0x65, 0x7d, 0x07, 0xe2, 0x2f, 0x4b, 0xc8, 0x2c, + 0x1e, 0xba, 0x64, 0x9c, 0x78, 0xd2, 0x1a, 0x2b, +}; +static const unsigned char kat2289_nonce[] = {0}; +static const unsigned char kat2289_persstr[] = {0}; +static const unsigned char kat2289_entropyinreseed[] = { + 0x80, 0xfd, 0xcb, 0x15, 0x9f, 0x1e, 0xb6, 0x41, 0xd7, 0x2d, 0xa1, 0xd9, + 0x27, 0x40, 0xee, 0x37, 0xa3, 0xb1, 0xf5, 0xea, 0x7e, 0xc3, 0x69, 0x50, + 0x95, 0xa5, 0x67, 0x9a, 0x8d, 0x67, 0x34, 0x49, +}; +static const unsigned char kat2289_addinreseed[] = {0}; +static const unsigned char kat2289_addin0[] = {0}; +static const unsigned char kat2289_addin1[] = {0}; +static const unsigned char kat2289_retbits[] = { + 0x6c, 0x65, 0x23, 0x39, 0x8f, 0x06, 0x29, 0x7c, 0x9e, 0x83, 0x4d, 0x10, + 0x22, 0x60, 0xc1, 0x80, 0x14, 0xf2, 0x49, 0x3b, 0x06, 0x8f, 0x65, 0x83, + 0xa8, 0x43, 0x6f, 0xc7, 0x96, 0x4e, 0x99, 0xbb, 0xc9, 0x31, 0x5b, 0x7d, + 0xc8, 0x01, 0x5d, 0xc4, 0xe0, 0x54, 0x89, 0x42, 0xb0, 0x24, 0xe7, 0xc1, + 0xab, 0x5c, 0x2d, 0x37, 0x50, 0x96, 0x7d, 0x7e, 0xb6, 0xa1, 0x78, 0x37, + 0xae, 0x94, 0x82, 0x89, +}; +static const struct drbg_kat_pr_false kat2289_t = { + 8, kat2289_entropyin, kat2289_nonce, kat2289_persstr, + kat2289_entropyinreseed, kat2289_addinreseed, kat2289_addin0, + kat2289_addin1, kat2289_retbits +}; +static const struct drbg_kat kat2289 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2289_t +}; + +static const unsigned char kat2290_entropyin[] = { + 0x9b, 0x23, 0x7c, 0x7a, 0x8c, 0xae, 0x39, 0x12, 0xa8, 0x68, 0x6e, 0x84, + 0x08, 0x8a, 0xc3, 0xb6, 0x58, 0x90, 0xd7, 0x0e, 0xd5, 0xd2, 0x0f, 0x55, + 0xe2, 0x16, 0x8c, 0x12, 0x96, 0x6b, 0xdc, 0xf4, +}; +static const unsigned char kat2290_nonce[] = {0}; +static const unsigned char kat2290_persstr[] = {0}; +static const unsigned char kat2290_entropyinreseed[] = { + 0x52, 0x30, 0x03, 0x8a, 0x3d, 0xd7, 0x1a, 0x15, 0x87, 0xaa, 0x0e, 0xb5, + 0x59, 0x64, 0x66, 0x01, 0xa7, 0x96, 0xdc, 0x69, 0x47, 0xee, 0xe2, 0x86, + 0xda, 0x40, 0xbb, 0x6d, 0xf1, 0xfa, 0xec, 0xb2, +}; +static const unsigned char kat2290_addinreseed[] = {0}; +static const unsigned char kat2290_addin0[] = {0}; +static const unsigned char kat2290_addin1[] = {0}; +static const unsigned char kat2290_retbits[] = { + 0xbd, 0x22, 0xa6, 0x5b, 0x53, 0x6c, 0xa9, 0x91, 0x83, 0xa7, 0x14, 0x52, + 0xdd, 0xf6, 0x92, 0x7e, 0x6b, 0xd6, 0x87, 0x61, 0x25, 0x07, 0x6d, 0xb7, + 0x61, 0x34, 0xf4, 0xb5, 0x2c, 0x35, 0x9f, 0x46, 0x44, 0xfa, 0xed, 0x46, + 0x45, 0x4b, 0xc2, 0xf7, 0x2e, 0xbf, 0x69, 0x8c, 0x86, 0x60, 0x3b, 0xcc, + 0x3b, 0x57, 0x5c, 0xfd, 0x93, 0x9c, 0xd0, 0x86, 0x10, 0x73, 0xb3, 0x2a, + 0x0c, 0x73, 0xec, 0xf4, +}; +static const struct drbg_kat_pr_false kat2290_t = { + 9, kat2290_entropyin, kat2290_nonce, kat2290_persstr, + kat2290_entropyinreseed, kat2290_addinreseed, kat2290_addin0, + kat2290_addin1, kat2290_retbits +}; +static const struct drbg_kat kat2290 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2290_t +}; + +static const unsigned char kat2291_entropyin[] = { + 0x4b, 0xf2, 0xb6, 0x26, 0x35, 0xad, 0xb5, 0xd6, 0xa0, 0x13, 0x3a, 0xed, + 0x5f, 0x19, 0xf3, 0x36, 0x8b, 0x94, 0xf9, 0xcb, 0x1a, 0xdb, 0xf2, 0xab, + 0x0b, 0x14, 0x4e, 0x61, 0x81, 0x39, 0xe8, 0x31, +}; +static const unsigned char kat2291_nonce[] = {0}; +static const unsigned char kat2291_persstr[] = {0}; +static const unsigned char kat2291_entropyinreseed[] = { + 0x7d, 0x52, 0xba, 0xc3, 0xd0, 0xff, 0x5f, 0x2b, 0xf7, 0x8f, 0x63, 0x09, + 0x07, 0x22, 0x2b, 0x6c, 0xe5, 0x1f, 0xf4, 0x31, 0xc9, 0x95, 0x09, 0xbe, + 0xef, 0x16, 0x0d, 0x32, 0x7e, 0x3b, 0xc8, 0xe9, +}; +static const unsigned char kat2291_addinreseed[] = {0}; +static const unsigned char kat2291_addin0[] = {0}; +static const unsigned char kat2291_addin1[] = {0}; +static const unsigned char kat2291_retbits[] = { + 0x11, 0xab, 0xad, 0x1f, 0xb1, 0x32, 0x5e, 0xe3, 0x32, 0x31, 0xf3, 0x90, + 0xe9, 0x50, 0x65, 0x02, 0x2d, 0xea, 0x2a, 0x57, 0xe0, 0x0b, 0x10, 0x50, + 0x78, 0xdf, 0x01, 0xde, 0x3d, 0x59, 0xad, 0xb8, 0x28, 0xf5, 0x4c, 0xe7, + 0xe9, 0xd9, 0x09, 0xb9, 0x75, 0x71, 0x46, 0xde, 0x17, 0xa7, 0x43, 0xcc, + 0x2e, 0x57, 0xed, 0x14, 0xb8, 0x54, 0x1a, 0x1a, 0x0d, 0x8f, 0x57, 0x7f, + 0x83, 0xd7, 0x5c, 0x1a, +}; +static const struct drbg_kat_pr_false kat2291_t = { + 10, kat2291_entropyin, kat2291_nonce, kat2291_persstr, + kat2291_entropyinreseed, kat2291_addinreseed, kat2291_addin0, + kat2291_addin1, kat2291_retbits +}; +static const struct drbg_kat kat2291 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2291_t +}; + +static const unsigned char kat2292_entropyin[] = { + 0xfd, 0xce, 0x5a, 0xeb, 0x11, 0xf9, 0x25, 0x07, 0x5b, 0x89, 0xf9, 0x5e, + 0xfe, 0xeb, 0x5c, 0x0a, 0xde, 0x47, 0xc5, 0xd3, 0x5f, 0x47, 0x6f, 0x78, + 0xf5, 0x14, 0x50, 0xaa, 0x1c, 0x5d, 0x6b, 0x40, +}; +static const unsigned char kat2292_nonce[] = {0}; +static const unsigned char kat2292_persstr[] = {0}; +static const unsigned char kat2292_entropyinreseed[] = { + 0x99, 0x73, 0x84, 0x94, 0x3e, 0x55, 0x93, 0xd6, 0x16, 0x80, 0x37, 0x26, + 0xb7, 0xe8, 0x0f, 0xa8, 0xdd, 0x78, 0x5a, 0xb2, 0xf3, 0x30, 0xb9, 0xae, + 0x26, 0xf6, 0x5d, 0x70, 0xa7, 0x80, 0xdb, 0xf3, +}; +static const unsigned char kat2292_addinreseed[] = {0}; +static const unsigned char kat2292_addin0[] = {0}; +static const unsigned char kat2292_addin1[] = {0}; +static const unsigned char kat2292_retbits[] = { + 0xb3, 0xf2, 0xec, 0xd1, 0x71, 0xb6, 0xaf, 0xbe, 0x1b, 0xd2, 0x2c, 0xf8, + 0x81, 0xba, 0x0a, 0x38, 0xd7, 0xf9, 0x4b, 0x68, 0x8b, 0x42, 0x37, 0xd3, + 0xb6, 0xe7, 0x37, 0x64, 0x85, 0x41, 0x12, 0xe9, 0xc7, 0xc2, 0x4d, 0x8c, + 0x7e, 0x8e, 0xfb, 0xfd, 0x9d, 0x90, 0x3b, 0x9b, 0xce, 0xb8, 0xe6, 0x75, + 0x43, 0x66, 0x80, 0xb4, 0x82, 0xca, 0x48, 0xae, 0x59, 0x49, 0x85, 0xae, + 0x16, 0x26, 0x67, 0x40, +}; +static const struct drbg_kat_pr_false kat2292_t = { + 11, kat2292_entropyin, kat2292_nonce, kat2292_persstr, + kat2292_entropyinreseed, kat2292_addinreseed, kat2292_addin0, + kat2292_addin1, kat2292_retbits +}; +static const struct drbg_kat kat2292 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2292_t +}; + +static const unsigned char kat2293_entropyin[] = { + 0x2a, 0xd9, 0x95, 0x98, 0x32, 0x50, 0x03, 0x57, 0x9b, 0xfd, 0x0c, 0xf0, + 0x57, 0xca, 0x8d, 0x28, 0x71, 0x94, 0xff, 0xa0, 0xd4, 0xad, 0xe2, 0xf9, + 0xec, 0x5b, 0x7a, 0x67, 0x14, 0x99, 0xa7, 0x65, +}; +static const unsigned char kat2293_nonce[] = {0}; +static const unsigned char kat2293_persstr[] = {0}; +static const unsigned char kat2293_entropyinreseed[] = { + 0x9e, 0xb0, 0x2d, 0xc8, 0xbf, 0x74, 0x30, 0x3c, 0x54, 0x2c, 0x6d, 0xa4, + 0xbf, 0xf7, 0x2c, 0xb8, 0xa2, 0x85, 0x93, 0x87, 0x5a, 0x7e, 0x9b, 0xa0, + 0xda, 0x73, 0xbc, 0x7b, 0x47, 0x39, 0x95, 0x76, +}; +static const unsigned char kat2293_addinreseed[] = {0}; +static const unsigned char kat2293_addin0[] = {0}; +static const unsigned char kat2293_addin1[] = {0}; +static const unsigned char kat2293_retbits[] = { + 0x65, 0xbd, 0x86, 0x70, 0x7d, 0x02, 0x76, 0xcd, 0x6f, 0x07, 0x95, 0x55, + 0xb8, 0x19, 0x27, 0x10, 0xab, 0x28, 0xb9, 0xeb, 0x0d, 0xcf, 0x3c, 0x1b, + 0x01, 0xc2, 0xf4, 0x68, 0x30, 0x47, 0x76, 0x09, 0xb4, 0x1e, 0x70, 0xab, + 0x36, 0x4b, 0x48, 0xa8, 0x9f, 0x62, 0x24, 0x16, 0xc3, 0xc1, 0x14, 0xea, + 0x99, 0x0d, 0xe7, 0x4b, 0x24, 0xc6, 0x7e, 0x26, 0x18, 0xd1, 0xc4, 0x9f, + 0x1d, 0x16, 0x9e, 0xb3, +}; +static const struct drbg_kat_pr_false kat2293_t = { + 12, kat2293_entropyin, kat2293_nonce, kat2293_persstr, + kat2293_entropyinreseed, kat2293_addinreseed, kat2293_addin0, + kat2293_addin1, kat2293_retbits +}; +static const struct drbg_kat kat2293 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2293_t +}; + +static const unsigned char kat2294_entropyin[] = { + 0x49, 0x72, 0x64, 0x1e, 0xa2, 0x42, 0x32, 0x63, 0x1a, 0x5d, 0x80, 0x83, + 0x2e, 0x98, 0xeb, 0xb1, 0xaa, 0x18, 0x56, 0xef, 0x08, 0x99, 0x92, 0x0a, + 0x5b, 0x50, 0xaa, 0x06, 0xd2, 0x05, 0x18, 0x4a, +}; +static const unsigned char kat2294_nonce[] = {0}; +static const unsigned char kat2294_persstr[] = {0}; +static const unsigned char kat2294_entropyinreseed[] = { + 0xf5, 0xe9, 0x1c, 0x15, 0x4d, 0x6d, 0x0c, 0xce, 0x6b, 0x15, 0xcc, 0xa4, + 0x4b, 0xa6, 0x4b, 0x67, 0x01, 0x34, 0xf6, 0xdc, 0x86, 0x9d, 0x01, 0x05, + 0x7e, 0x20, 0xc0, 0xe0, 0x27, 0x52, 0x0b, 0x4c, +}; +static const unsigned char kat2294_addinreseed[] = {0}; +static const unsigned char kat2294_addin0[] = {0}; +static const unsigned char kat2294_addin1[] = {0}; +static const unsigned char kat2294_retbits[] = { + 0x3f, 0x8a, 0x14, 0x5d, 0x9a, 0xd6, 0xce, 0x2a, 0xb8, 0x8c, 0xd8, 0x63, + 0xda, 0x34, 0xa3, 0xe5, 0xa3, 0xd7, 0x67, 0x03, 0x97, 0x69, 0x67, 0x7f, + 0x5c, 0x53, 0x2d, 0xbe, 0xb4, 0x16, 0xd3, 0x9d, 0xec, 0x4c, 0x29, 0x1c, + 0xe5, 0x0c, 0xe5, 0x37, 0x75, 0x80, 0xfe, 0x97, 0xc1, 0x93, 0x14, 0x4d, + 0x79, 0xb9, 0x59, 0xf0, 0xdc, 0x34, 0x24, 0x93, 0xda, 0xa8, 0x19, 0xeb, + 0x60, 0x12, 0xfa, 0x9f, +}; +static const struct drbg_kat_pr_false kat2294_t = { + 13, kat2294_entropyin, kat2294_nonce, kat2294_persstr, + kat2294_entropyinreseed, kat2294_addinreseed, kat2294_addin0, + kat2294_addin1, kat2294_retbits +}; +static const struct drbg_kat kat2294 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2294_t +}; + +static const unsigned char kat2295_entropyin[] = { + 0xd0, 0x83, 0xe2, 0x22, 0xd8, 0x15, 0x97, 0x40, 0x04, 0x47, 0x07, 0xc7, + 0x6b, 0xd9, 0xec, 0x44, 0x36, 0x20, 0x2a, 0xc7, 0x78, 0xf6, 0x36, 0x46, + 0xe5, 0xb1, 0xe8, 0x8f, 0x21, 0xdd, 0xc1, 0x3f, +}; +static const unsigned char kat2295_nonce[] = {0}; +static const unsigned char kat2295_persstr[] = {0}; +static const unsigned char kat2295_entropyinreseed[] = { + 0xb7, 0xb7, 0x14, 0x55, 0x07, 0x98, 0xc8, 0x88, 0xa5, 0x02, 0x6b, 0x0b, + 0x78, 0x01, 0xc0, 0x92, 0x3a, 0xe6, 0x0a, 0x28, 0x58, 0xca, 0xbb, 0x6d, + 0x69, 0x72, 0xd6, 0x61, 0x15, 0xf4, 0x0e, 0xda, +}; +static const unsigned char kat2295_addinreseed[] = {0}; +static const unsigned char kat2295_addin0[] = {0}; +static const unsigned char kat2295_addin1[] = {0}; +static const unsigned char kat2295_retbits[] = { + 0x22, 0x7a, 0x88, 0x58, 0x3b, 0xb1, 0x37, 0xf0, 0x82, 0x96, 0x7a, 0xf0, + 0x4c, 0x27, 0xcb, 0x46, 0x4a, 0x63, 0x32, 0x72, 0x0b, 0x75, 0x9b, 0x43, + 0x5d, 0x4a, 0x7e, 0x26, 0x34, 0x9f, 0x56, 0xf4, 0xbb, 0x44, 0x76, 0x95, + 0xc0, 0x62, 0x95, 0xe8, 0x38, 0xa6, 0xc8, 0x6f, 0xc3, 0x86, 0x70, 0x06, + 0x21, 0x7c, 0x94, 0xbb, 0x5c, 0xc9, 0x9b, 0x3c, 0x44, 0xbf, 0xe5, 0x41, + 0xfc, 0x77, 0x50, 0x3c, +}; +static const struct drbg_kat_pr_false kat2295_t = { + 14, kat2295_entropyin, kat2295_nonce, kat2295_persstr, + kat2295_entropyinreseed, kat2295_addinreseed, kat2295_addin0, + kat2295_addin1, kat2295_retbits +}; +static const struct drbg_kat kat2295 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2295_t +}; + +static const unsigned char kat2296_entropyin[] = { + 0x3f, 0x63, 0xe6, 0x06, 0xdc, 0xc3, 0x8f, 0xe1, 0x5c, 0xcb, 0x4b, 0x98, + 0x8b, 0x29, 0xd3, 0x9f, 0x10, 0xbd, 0xde, 0xbd, 0x29, 0x5e, 0x1f, 0x23, + 0x5b, 0xaf, 0x4f, 0x07, 0x97, 0x39, 0x90, 0x9a, +}; +static const unsigned char kat2296_nonce[] = {0}; +static const unsigned char kat2296_persstr[] = {0}; +static const unsigned char kat2296_entropyinreseed[] = { + 0x74, 0xf6, 0x10, 0xc0, 0x9f, 0xdd, 0x94, 0x98, 0xff, 0xbd, 0x7e, 0x95, + 0x69, 0xf1, 0x42, 0xfd, 0xb3, 0x34, 0x56, 0xc6, 0x93, 0x1f, 0xf8, 0x8d, + 0x4a, 0xcf, 0x1f, 0xfc, 0x5d, 0x42, 0x48, 0x2b, +}; +static const unsigned char kat2296_addinreseed[] = { + 0x84, 0xe8, 0x79, 0x6b, 0x05, 0x4b, 0xd9, 0x90, 0x28, 0x45, 0x52, 0x8b, + 0x03, 0x85, 0xa8, 0x78, 0xb0, 0xf6, 0xc9, 0x8a, 0x93, 0x3e, 0xc3, 0x78, + 0xa8, 0x79, 0xad, 0x36, 0x53, 0x94, 0xc8, 0xe8, +}; +static const unsigned char kat2296_addin0[] = { + 0x80, 0x99, 0x5e, 0x23, 0xf6, 0x66, 0x4d, 0x2b, 0xb2, 0x3e, 0x22, 0x31, + 0x0d, 0x0e, 0x40, 0xd3, 0xfd, 0xae, 0x89, 0x0d, 0x64, 0xc0, 0x1c, 0x37, + 0x27, 0xa7, 0x57, 0x6a, 0x6c, 0x3c, 0xf8, 0xe5, +}; +static const unsigned char kat2296_addin1[] = { + 0x53, 0xb8, 0xab, 0xef, 0x45, 0xd0, 0x2e, 0x53, 0xa6, 0x39, 0x76, 0x62, + 0x6c, 0x60, 0x43, 0x6d, 0xfd, 0xbe, 0x9a, 0x48, 0xbf, 0x5f, 0x88, 0xfc, + 0x05, 0x31, 0x7f, 0x63, 0x68, 0x47, 0x19, 0x3f, +}; +static const unsigned char kat2296_retbits[] = { + 0x0b, 0x92, 0x4d, 0xe3, 0xca, 0x2a, 0x9d, 0xcc, 0xe9, 0xae, 0x4c, 0xd0, + 0x9a, 0x36, 0x46, 0x3e, 0xc3, 0x34, 0x8e, 0xef, 0xbd, 0x53, 0x11, 0x51, + 0xe5, 0x53, 0x1b, 0x4d, 0x2e, 0xc6, 0xcd, 0x27, 0x67, 0x4f, 0x26, 0xe8, + 0x42, 0x40, 0xa2, 0xaf, 0x9d, 0x37, 0xc7, 0x9c, 0x20, 0x45, 0xd9, 0x45, + 0x11, 0x2d, 0xaf, 0xa9, 0x42, 0xd3, 0xdf, 0x53, 0xa0, 0xe2, 0x52, 0x20, + 0xe0, 0xde, 0xfa, 0x3f, +}; +static const struct drbg_kat_pr_false kat2296_t = { + 0, kat2296_entropyin, kat2296_nonce, kat2296_persstr, + kat2296_entropyinreseed, kat2296_addinreseed, kat2296_addin0, + kat2296_addin1, kat2296_retbits +}; +static const struct drbg_kat kat2296 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2296_t +}; + +static const unsigned char kat2297_entropyin[] = { + 0x05, 0x2e, 0xff, 0x35, 0xd0, 0x51, 0x74, 0x15, 0x54, 0x36, 0xd8, 0x3b, + 0x50, 0xdf, 0xc0, 0xbc, 0x45, 0xef, 0x81, 0x51, 0x3c, 0xbb, 0x3e, 0xe6, + 0x3c, 0x48, 0xe8, 0xdc, 0x3b, 0xbc, 0x6d, 0x74, +}; +static const unsigned char kat2297_nonce[] = {0}; +static const unsigned char kat2297_persstr[] = {0}; +static const unsigned char kat2297_entropyinreseed[] = { + 0x28, 0x56, 0xa0, 0xfb, 0x49, 0x44, 0x7b, 0x28, 0x58, 0xdf, 0x74, 0xd2, + 0x81, 0xff, 0xae, 0x23, 0xfb, 0x94, 0xf0, 0x40, 0xf7, 0x63, 0x3a, 0xa4, + 0xc8, 0x47, 0x84, 0x45, 0x04, 0x2e, 0x2a, 0xc4, +}; +static const unsigned char kat2297_addinreseed[] = { + 0xbc, 0xd4, 0xab, 0x13, 0x6b, 0x67, 0xe7, 0x5e, 0xd0, 0x40, 0x9a, 0xa2, + 0xca, 0xca, 0x94, 0x26, 0x8b, 0x97, 0xa2, 0x68, 0xf9, 0x6a, 0x29, 0x1e, + 0x38, 0x73, 0x8b, 0xd7, 0xb3, 0xb3, 0x9d, 0x56, +}; +static const unsigned char kat2297_addin0[] = { + 0x08, 0x7d, 0x24, 0x89, 0x61, 0x89, 0x0b, 0x84, 0x02, 0x8e, 0xfe, 0x6a, + 0x07, 0x97, 0xbc, 0x21, 0xe9, 0x7a, 0x4d, 0xfc, 0xce, 0x5f, 0x3c, 0x36, + 0x2f, 0x02, 0x9a, 0x62, 0x9f, 0xd4, 0x4c, 0x4f, +}; +static const unsigned char kat2297_addin1[] = { + 0xdd, 0x3f, 0x9c, 0x56, 0xd6, 0xfe, 0xeb, 0xe9, 0x3c, 0xe9, 0xad, 0xa8, + 0x08, 0x26, 0x37, 0x79, 0x97, 0xc5, 0xb6, 0x3b, 0x7a, 0x3a, 0x00, 0x35, + 0xbe, 0xe2, 0xb6, 0x96, 0x22, 0xd9, 0x2d, 0xdc, +}; +static const unsigned char kat2297_retbits[] = { + 0xe3, 0x77, 0x40, 0xd3, 0xde, 0x49, 0x58, 0x1f, 0x9a, 0x1b, 0xc8, 0xfa, + 0xa1, 0x95, 0x6d, 0x9e, 0x57, 0xc8, 0x75, 0x01, 0xd9, 0xd7, 0xd1, 0x8c, + 0x7b, 0x9e, 0x3a, 0x14, 0x1f, 0x3f, 0x1c, 0x1d, 0xef, 0x05, 0xf5, 0xf3, + 0x6c, 0x60, 0x18, 0x07, 0x73, 0x6e, 0xb9, 0x2d, 0x89, 0xa7, 0x2c, 0xbe, + 0x01, 0x59, 0x6f, 0x21, 0x52, 0x61, 0x0f, 0xa5, 0x09, 0xfe, 0x75, 0xf9, + 0xab, 0x00, 0x0b, 0x6d, +}; +static const struct drbg_kat_pr_false kat2297_t = { + 1, kat2297_entropyin, kat2297_nonce, kat2297_persstr, + kat2297_entropyinreseed, kat2297_addinreseed, kat2297_addin0, + kat2297_addin1, kat2297_retbits +}; +static const struct drbg_kat kat2297 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2297_t +}; + +static const unsigned char kat2298_entropyin[] = { + 0xcc, 0x83, 0x4e, 0x09, 0x7c, 0x3d, 0xd4, 0xc6, 0x2c, 0x1b, 0x93, 0x8d, + 0x66, 0x3f, 0xf1, 0x8b, 0x20, 0xbd, 0x12, 0x55, 0x25, 0x72, 0xb3, 0x27, + 0xd2, 0x40, 0x01, 0x7c, 0x52, 0xd2, 0x8f, 0x18, +}; +static const unsigned char kat2298_nonce[] = {0}; +static const unsigned char kat2298_persstr[] = {0}; +static const unsigned char kat2298_entropyinreseed[] = { + 0x15, 0xc1, 0xe0, 0xf0, 0x27, 0x37, 0x57, 0xbf, 0x18, 0xab, 0x0f, 0x42, + 0x50, 0x67, 0xa7, 0xf3, 0xea, 0x32, 0x87, 0xe0, 0x67, 0xd8, 0x61, 0x4d, + 0xaf, 0x4d, 0x66, 0x78, 0x68, 0xf8, 0xff, 0x6e, +}; +static const unsigned char kat2298_addinreseed[] = { + 0x5f, 0xa4, 0xe7, 0x9c, 0xa2, 0x0e, 0xcc, 0x7c, 0xbc, 0x6b, 0x11, 0x26, + 0x3f, 0x7a, 0x07, 0xfe, 0xae, 0x7e, 0xfa, 0xce, 0xb7, 0x3a, 0xba, 0xb5, + 0x66, 0x29, 0x4c, 0x3f, 0x78, 0x4d, 0x83, 0x62, +}; +static const unsigned char kat2298_addin0[] = { + 0x3e, 0x88, 0x2f, 0x8b, 0x35, 0x04, 0xa1, 0xe0, 0xde, 0xd4, 0x06, 0xaf, + 0x62, 0xbe, 0x3b, 0xa1, 0x62, 0x99, 0x91, 0x49, 0x78, 0xe2, 0x7d, 0x28, + 0x34, 0x09, 0xf7, 0x9b, 0xc6, 0xb1, 0x40, 0x7d, +}; +static const unsigned char kat2298_addin1[] = { + 0x32, 0x17, 0x65, 0x55, 0xbc, 0xbb, 0x43, 0x3f, 0x4f, 0x99, 0xd3, 0x70, + 0x9c, 0x8f, 0x9d, 0x11, 0x3e, 0x4e, 0x84, 0xdf, 0x1d, 0xd6, 0x8d, 0x93, + 0x95, 0x3f, 0xb3, 0x23, 0x17, 0x29, 0x73, 0xf2, +}; +static const unsigned char kat2298_retbits[] = { + 0x74, 0xb6, 0x47, 0xe2, 0x1d, 0x40, 0x70, 0x5b, 0x7d, 0x84, 0x17, 0xf8, + 0xec, 0x75, 0x43, 0x40, 0xc2, 0x02, 0x7f, 0x53, 0xa3, 0x97, 0xc5, 0xcb, + 0x1b, 0xad, 0x3e, 0x3b, 0x63, 0x42, 0xbb, 0x65, 0x33, 0x88, 0x3d, 0x68, + 0x83, 0x3c, 0x0f, 0x0f, 0x66, 0x66, 0x93, 0xae, 0x66, 0xde, 0xcc, 0x9c, + 0xe5, 0x76, 0x19, 0x6b, 0xca, 0x20, 0x82, 0x99, 0x14, 0x2c, 0xd2, 0x27, + 0x77, 0x97, 0x47, 0x67, +}; +static const struct drbg_kat_pr_false kat2298_t = { + 2, kat2298_entropyin, kat2298_nonce, kat2298_persstr, + kat2298_entropyinreseed, kat2298_addinreseed, kat2298_addin0, + kat2298_addin1, kat2298_retbits +}; +static const struct drbg_kat kat2298 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2298_t +}; + +static const unsigned char kat2299_entropyin[] = { + 0xc8, 0x10, 0x9d, 0x21, 0x10, 0x29, 0xe9, 0x18, 0x67, 0x85, 0xb9, 0x4c, + 0xaa, 0x1f, 0x04, 0xbc, 0x42, 0x9b, 0xe4, 0xec, 0x44, 0x8d, 0xf6, 0xd3, + 0x76, 0xf9, 0x1c, 0x61, 0xc3, 0x63, 0x2d, 0xac, +}; +static const unsigned char kat2299_nonce[] = {0}; +static const unsigned char kat2299_persstr[] = {0}; +static const unsigned char kat2299_entropyinreseed[] = { + 0x48, 0xc0, 0x27, 0xb9, 0x28, 0x7e, 0xec, 0xb8, 0x53, 0xdd, 0xb7, 0x78, + 0x1a, 0x4c, 0x60, 0x08, 0xd0, 0x31, 0xb1, 0x20, 0x71, 0xaa, 0x0f, 0x36, + 0x00, 0x0b, 0x76, 0xed, 0x69, 0x3c, 0xf6, 0xa0, +}; +static const unsigned char kat2299_addinreseed[] = { + 0xd3, 0xd2, 0x7f, 0xa5, 0x25, 0xd4, 0xf7, 0x0f, 0xae, 0x0d, 0x86, 0x75, + 0xa9, 0xa6, 0xbf, 0x17, 0xff, 0x2e, 0x31, 0x7d, 0xaf, 0xbd, 0x62, 0xc7, + 0x7e, 0xc9, 0x99, 0xcf, 0xe0, 0xb1, 0xf1, 0xf7, +}; +static const unsigned char kat2299_addin0[] = { + 0x70, 0x8b, 0x9d, 0x5c, 0x5b, 0x96, 0x29, 0x93, 0xe5, 0xef, 0x1e, 0xdf, + 0x4b, 0xbb, 0xa3, 0x8a, 0xe7, 0x1b, 0x3f, 0xd3, 0x1b, 0xd7, 0x67, 0x0d, + 0x72, 0x36, 0xb7, 0xb0, 0xde, 0x98, 0x05, 0xf1, +}; +static const unsigned char kat2299_addin1[] = { + 0xfb, 0x9d, 0xdf, 0x9d, 0x04, 0x83, 0xce, 0xe3, 0x78, 0xb8, 0x6a, 0xba, + 0x5a, 0x3b, 0xd0, 0x16, 0x10, 0x80, 0x19, 0xc0, 0x7e, 0x5f, 0x2c, 0x85, + 0xc0, 0xd9, 0x80, 0xce, 0xd9, 0x05, 0xd7, 0xa2, +}; +static const unsigned char kat2299_retbits[] = { + 0xcf, 0x69, 0xe0, 0xec, 0xad, 0x27, 0xc6, 0x6e, 0x1e, 0xc0, 0x94, 0x49, + 0x5b, 0xa3, 0x0d, 0x7f, 0x3a, 0x3e, 0x2d, 0xa5, 0x76, 0x6c, 0x4d, 0xba, + 0xa8, 0x21, 0x7e, 0xbe, 0xab, 0x77, 0xfa, 0x4d, 0x88, 0xfa, 0x9c, 0x67, + 0x31, 0x4b, 0xa6, 0x07, 0x64, 0x70, 0x95, 0xfa, 0x33, 0xad, 0x31, 0x8b, + 0xa6, 0x61, 0x11, 0x16, 0x7b, 0x2e, 0x88, 0x79, 0xd2, 0x1c, 0xc7, 0xe9, + 0xb1, 0x67, 0x76, 0x7a, +}; +static const struct drbg_kat_pr_false kat2299_t = { + 3, kat2299_entropyin, kat2299_nonce, kat2299_persstr, + kat2299_entropyinreseed, kat2299_addinreseed, kat2299_addin0, + kat2299_addin1, kat2299_retbits +}; +static const struct drbg_kat kat2299 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2299_t +}; + +static const unsigned char kat2300_entropyin[] = { + 0xdc, 0x36, 0xb2, 0x04, 0x93, 0xef, 0x94, 0x07, 0x52, 0x8a, 0xad, 0xd6, + 0xb7, 0xb3, 0x7f, 0xd6, 0x00, 0x45, 0xf6, 0x69, 0x73, 0x45, 0xa2, 0x69, + 0xb2, 0x0d, 0xd9, 0xcb, 0x06, 0x51, 0xe6, 0x30, +}; +static const unsigned char kat2300_nonce[] = {0}; +static const unsigned char kat2300_persstr[] = {0}; +static const unsigned char kat2300_entropyinreseed[] = { + 0x6d, 0xbc, 0x7f, 0x8a, 0x60, 0xa3, 0xc4, 0x50, 0x5f, 0x12, 0x24, 0xf8, + 0x4e, 0x29, 0x42, 0x57, 0x1f, 0xe9, 0x63, 0x5e, 0x6b, 0xd3, 0xa9, 0x8e, + 0x67, 0x76, 0x47, 0xd7, 0x3f, 0x45, 0x47, 0x80, +}; +static const unsigned char kat2300_addinreseed[] = { + 0x48, 0x09, 0x72, 0xb4, 0x39, 0x3f, 0x00, 0x41, 0xe0, 0x4b, 0x19, 0x35, + 0x40, 0x98, 0x75, 0x85, 0x99, 0x15, 0x88, 0x13, 0xcd, 0x2a, 0x8e, 0xd7, + 0x1b, 0x05, 0x74, 0x6b, 0xfd, 0x28, 0x67, 0x66, +}; +static const unsigned char kat2300_addin0[] = { + 0xc0, 0x97, 0x2b, 0x8b, 0xd5, 0x40, 0x7f, 0xb7, 0xad, 0xac, 0x4d, 0x95, + 0x52, 0x92, 0x09, 0xef, 0xb5, 0x9a, 0xd9, 0xdc, 0x4b, 0xbf, 0xf7, 0x29, + 0x3c, 0x1e, 0x6e, 0x41, 0xf7, 0xf5, 0xef, 0x9f, +}; +static const unsigned char kat2300_addin1[] = { + 0x32, 0x57, 0x86, 0xe4, 0xfc, 0xba, 0xcc, 0x9b, 0xa6, 0x50, 0x4b, 0x81, + 0x87, 0x49, 0xcd, 0x01, 0x78, 0xd4, 0xc3, 0xa7, 0x8e, 0x17, 0x8e, 0xc7, + 0xb2, 0x2d, 0x27, 0xaa, 0x06, 0x71, 0x01, 0x83, +}; +static const unsigned char kat2300_retbits[] = { + 0xbd, 0xa1, 0xf7, 0xd3, 0x86, 0x1e, 0xbf, 0xc5, 0xd6, 0xee, 0x4d, 0x4e, + 0x94, 0xf3, 0xf4, 0xba, 0x97, 0xf1, 0x8e, 0x2c, 0x5a, 0xf7, 0x66, 0x72, + 0x65, 0xcc, 0x32, 0x03, 0xf0, 0x02, 0xa0, 0xf7, 0x9e, 0x7b, 0x51, 0x0c, + 0xde, 0x53, 0x10, 0xb3, 0x59, 0x2c, 0x12, 0x9a, 0xe7, 0x10, 0x5a, 0xb9, + 0x75, 0xad, 0xd8, 0x25, 0xce, 0x78, 0xd3, 0x46, 0xbf, 0x95, 0x63, 0xaa, + 0x50, 0x13, 0x9c, 0x13, +}; +static const struct drbg_kat_pr_false kat2300_t = { + 4, kat2300_entropyin, kat2300_nonce, kat2300_persstr, + kat2300_entropyinreseed, kat2300_addinreseed, kat2300_addin0, + kat2300_addin1, kat2300_retbits +}; +static const struct drbg_kat kat2300 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2300_t +}; + +static const unsigned char kat2301_entropyin[] = { + 0xaa, 0x18, 0x5b, 0x63, 0x66, 0x14, 0x9e, 0x18, 0xab, 0x0b, 0x82, 0x2c, + 0x17, 0xb5, 0x2c, 0xe9, 0x94, 0x0c, 0xc1, 0xc6, 0x06, 0x7e, 0xff, 0x3c, + 0xe1, 0xaa, 0x9a, 0x79, 0x89, 0x19, 0x35, 0xd7, +}; +static const unsigned char kat2301_nonce[] = {0}; +static const unsigned char kat2301_persstr[] = {0}; +static const unsigned char kat2301_entropyinreseed[] = { + 0x10, 0x47, 0x31, 0xf4, 0x68, 0x93, 0xaa, 0x96, 0xe5, 0x8f, 0x09, 0x1f, + 0x87, 0x0c, 0x25, 0x01, 0x5d, 0x91, 0x7d, 0xce, 0x7b, 0x6e, 0x17, 0x79, + 0x96, 0x83, 0x83, 0x53, 0xdc, 0x0c, 0x32, 0x4c, +}; +static const unsigned char kat2301_addinreseed[] = { + 0xc0, 0xef, 0x97, 0x4f, 0xe0, 0xad, 0xad, 0x82, 0x08, 0x8a, 0xc6, 0x44, + 0xbc, 0x70, 0x2d, 0xb6, 0x09, 0xca, 0xf2, 0xa8, 0xf5, 0x78, 0x61, 0xa6, + 0xb3, 0x1c, 0x9c, 0xf6, 0x5c, 0x19, 0x42, 0x88, +}; +static const unsigned char kat2301_addin0[] = { + 0xa7, 0x07, 0x84, 0x25, 0xec, 0xb8, 0x7e, 0x04, 0xbb, 0xda, 0x85, 0xaf, + 0x2a, 0xa8, 0xc6, 0x44, 0x52, 0x5f, 0xc0, 0x91, 0x09, 0xae, 0xaf, 0xb1, + 0xd5, 0xdc, 0x95, 0xf1, 0x63, 0xeb, 0xfc, 0xe3, +}; +static const unsigned char kat2301_addin1[] = { + 0x84, 0x76, 0x4f, 0x40, 0x6a, 0x50, 0xae, 0xa8, 0x71, 0xa5, 0x32, 0x68, + 0x65, 0x07, 0xc8, 0x28, 0x8e, 0xac, 0x5e, 0xdf, 0x95, 0x1d, 0xfc, 0x77, + 0x94, 0xc6, 0x71, 0xe8, 0x6c, 0x1f, 0x3d, 0x91, +}; +static const unsigned char kat2301_retbits[] = { + 0x7e, 0x8c, 0xc1, 0x6d, 0xe3, 0xe3, 0xb7, 0x80, 0xfd, 0x51, 0x65, 0x14, + 0xe0, 0x45, 0x40, 0x03, 0xf6, 0x29, 0x38, 0x8f, 0x6a, 0x85, 0x38, 0xf3, + 0x6d, 0xfa, 0xe9, 0x4b, 0xdb, 0x85, 0x63, 0x29, 0xdc, 0xee, 0xd1, 0xcd, + 0xbc, 0x97, 0x24, 0xb0, 0x9e, 0xfa, 0x3f, 0x3b, 0xa1, 0x7b, 0x72, 0x36, + 0xd9, 0x7e, 0x95, 0xcf, 0xe4, 0xb3, 0x37, 0x82, 0xa2, 0xde, 0x73, 0x61, + 0x7a, 0x0d, 0x1d, 0x84, +}; +static const struct drbg_kat_pr_false kat2301_t = { + 5, kat2301_entropyin, kat2301_nonce, kat2301_persstr, + kat2301_entropyinreseed, kat2301_addinreseed, kat2301_addin0, + kat2301_addin1, kat2301_retbits +}; +static const struct drbg_kat kat2301 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2301_t +}; + +static const unsigned char kat2302_entropyin[] = { + 0xfd, 0xc6, 0x95, 0x8a, 0x4f, 0x3d, 0x10, 0x1f, 0xa9, 0x9e, 0xcf, 0x6a, + 0xc6, 0x02, 0xbf, 0xa6, 0x76, 0xa1, 0xe1, 0xfd, 0x56, 0xd5, 0xac, 0xf4, + 0xe5, 0x33, 0x99, 0x6d, 0xb1, 0x74, 0x63, 0xbf, +}; +static const unsigned char kat2302_nonce[] = {0}; +static const unsigned char kat2302_persstr[] = {0}; +static const unsigned char kat2302_entropyinreseed[] = { + 0xc5, 0xfb, 0x57, 0x99, 0x0a, 0x54, 0x4e, 0x36, 0x5e, 0x94, 0x31, 0x8b, + 0xe0, 0x25, 0xb8, 0x00, 0x1d, 0xa4, 0x65, 0x3f, 0x30, 0x99, 0x61, 0xbc, + 0xbf, 0x58, 0xe6, 0x1a, 0x33, 0x7d, 0xb4, 0x12, +}; +static const unsigned char kat2302_addinreseed[] = { + 0x39, 0x0d, 0xdd, 0x2f, 0xc1, 0x71, 0xaf, 0xa0, 0xc5, 0x19, 0xcf, 0x12, + 0x92, 0x33, 0x10, 0x23, 0xca, 0x3d, 0xc9, 0x3f, 0x63, 0x71, 0xe3, 0x22, + 0xd1, 0x0b, 0xcd, 0x4b, 0x9b, 0x42, 0x86, 0xd5, +}; +static const unsigned char kat2302_addin0[] = { + 0x3b, 0xa2, 0x6a, 0x9f, 0xe0, 0x56, 0x9f, 0xa2, 0x1d, 0xfc, 0xc8, 0x23, + 0x7d, 0x7d, 0x9e, 0xe1, 0x0d, 0xb3, 0x8a, 0xd7, 0xf7, 0x28, 0x22, 0x3a, + 0xb6, 0x42, 0x94, 0xdf, 0x6a, 0x83, 0xca, 0xbf, +}; +static const unsigned char kat2302_addin1[] = { + 0x92, 0xfb, 0xb9, 0xe3, 0xc2, 0x5c, 0x5e, 0x6e, 0xf9, 0x6d, 0x4a, 0x34, + 0x9f, 0x17, 0x6a, 0x91, 0xdc, 0x9f, 0x38, 0x56, 0xc3, 0x6f, 0x13, 0xc4, + 0x58, 0x4a, 0xea, 0xd0, 0xc9, 0x23, 0x1f, 0x7c, +}; +static const unsigned char kat2302_retbits[] = { + 0xea, 0xe4, 0x75, 0x63, 0x25, 0x7a, 0x2c, 0x6b, 0x73, 0x05, 0x9e, 0x32, + 0x52, 0xff, 0x60, 0x11, 0xf6, 0xc7, 0x48, 0xff, 0xdc, 0x0a, 0x30, 0x29, + 0xad, 0x4c, 0x1b, 0x7b, 0x6a, 0x27, 0x79, 0x7b, 0xec, 0xcb, 0xda, 0x1e, + 0xfe, 0x0d, 0x97, 0x64, 0xa5, 0x91, 0x0a, 0x17, 0x1f, 0x35, 0x15, 0x71, + 0x19, 0x0b, 0x2e, 0xe1, 0x1b, 0xa9, 0x04, 0xa4, 0x54, 0x53, 0x17, 0xef, + 0xc9, 0x43, 0x6c, 0x61, +}; +static const struct drbg_kat_pr_false kat2302_t = { + 6, kat2302_entropyin, kat2302_nonce, kat2302_persstr, + kat2302_entropyinreseed, kat2302_addinreseed, kat2302_addin0, + kat2302_addin1, kat2302_retbits +}; +static const struct drbg_kat kat2302 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2302_t +}; + +static const unsigned char kat2303_entropyin[] = { + 0x8f, 0xeb, 0xa3, 0x37, 0xaf, 0x22, 0x25, 0xa6, 0x88, 0x3b, 0xed, 0x91, + 0xed, 0xb2, 0x61, 0x4b, 0x90, 0x5d, 0x3c, 0x24, 0x0d, 0xe1, 0x66, 0x3b, + 0xdc, 0x23, 0x15, 0xad, 0x72, 0x4e, 0x76, 0xa8, +}; +static const unsigned char kat2303_nonce[] = {0}; +static const unsigned char kat2303_persstr[] = {0}; +static const unsigned char kat2303_entropyinreseed[] = { + 0x45, 0x83, 0xd0, 0xaf, 0x8a, 0x4c, 0x0b, 0xa1, 0x41, 0xdc, 0xa8, 0x50, + 0x1b, 0x36, 0xb0, 0x40, 0x66, 0xac, 0x80, 0xf6, 0xab, 0xec, 0x11, 0xfd, + 0x59, 0xd8, 0xd0, 0xdb, 0xee, 0x80, 0x9d, 0xeb, +}; +static const unsigned char kat2303_addinreseed[] = { + 0x8c, 0xed, 0x0f, 0xef, 0x57, 0x86, 0x41, 0x3d, 0x2a, 0x7e, 0x5a, 0xb3, + 0xc1, 0x83, 0x6c, 0xaa, 0x1e, 0x14, 0x7e, 0xfc, 0x42, 0x4c, 0x4f, 0x36, + 0x53, 0xbb, 0xd1, 0x8b, 0xce, 0xdf, 0x1e, 0xf8, +}; +static const unsigned char kat2303_addin0[] = { + 0xcf, 0x5b, 0xa3, 0x22, 0x47, 0x7f, 0x5a, 0xb6, 0x37, 0xe1, 0x10, 0xbb, + 0xaf, 0x78, 0x4f, 0x05, 0xaa, 0xf8, 0xbc, 0x09, 0x80, 0x76, 0x9d, 0x16, + 0xa7, 0x7f, 0x69, 0xfc, 0x90, 0xb0, 0x66, 0x07, +}; +static const unsigned char kat2303_addin1[] = { + 0xc3, 0x0f, 0x6a, 0x2d, 0x12, 0x18, 0x4b, 0xfd, 0xe9, 0x60, 0x1b, 0xa2, + 0x61, 0x83, 0xed, 0x8e, 0x0d, 0x81, 0xd7, 0x92, 0x9c, 0x72, 0x10, 0x1c, + 0x5f, 0xef, 0x56, 0xb0, 0xda, 0x72, 0x38, 0xdf, +}; +static const unsigned char kat2303_retbits[] = { + 0x4d, 0x3d, 0xe3, 0x0c, 0xf0, 0x2e, 0x8e, 0xc2, 0xe0, 0x4f, 0x52, 0xf3, + 0xb7, 0x4d, 0x10, 0x61, 0x80, 0x95, 0xa9, 0x27, 0xfe, 0xb0, 0xb1, 0xf1, + 0xa0, 0x4e, 0x65, 0x2d, 0x31, 0xed, 0x4c, 0xa2, 0xa4, 0x80, 0xa7, 0x4c, + 0xfe, 0xb3, 0xcb, 0x2a, 0xff, 0x9c, 0xfa, 0xd5, 0x3a, 0xaf, 0x9b, 0x95, + 0xfb, 0x1e, 0xf5, 0x01, 0x83, 0x31, 0xeb, 0xf7, 0x32, 0x05, 0xac, 0x98, + 0x88, 0x9f, 0xdf, 0x02, +}; +static const struct drbg_kat_pr_false kat2303_t = { + 7, kat2303_entropyin, kat2303_nonce, kat2303_persstr, + kat2303_entropyinreseed, kat2303_addinreseed, kat2303_addin0, + kat2303_addin1, kat2303_retbits +}; +static const struct drbg_kat kat2303 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2303_t +}; + +static const unsigned char kat2304_entropyin[] = { + 0x79, 0x46, 0xa1, 0x1e, 0x27, 0x52, 0xa4, 0x8b, 0x28, 0xf0, 0xa3, 0xbb, + 0x22, 0x9b, 0x41, 0xaa, 0x2e, 0x38, 0x0e, 0x37, 0x54, 0x27, 0x6e, 0x43, + 0x89, 0x16, 0xba, 0xbf, 0xff, 0x3f, 0x0b, 0xbe, +}; +static const unsigned char kat2304_nonce[] = {0}; +static const unsigned char kat2304_persstr[] = {0}; +static const unsigned char kat2304_entropyinreseed[] = { + 0xbe, 0xcd, 0x22, 0xf3, 0x08, 0x60, 0xa5, 0x12, 0x5a, 0x28, 0x45, 0x4f, + 0x9b, 0x68, 0xc6, 0x83, 0x9c, 0x74, 0x40, 0xc6, 0x5b, 0xca, 0x8b, 0x8f, + 0x53, 0x7b, 0xe5, 0xfc, 0x0a, 0xac, 0xe5, 0x5b, +}; +static const unsigned char kat2304_addinreseed[] = { + 0x48, 0xa9, 0xb5, 0x1e, 0x85, 0x2c, 0x1e, 0x33, 0x52, 0xe4, 0xe1, 0x5e, + 0x8a, 0x0a, 0xff, 0x75, 0x76, 0xc7, 0x68, 0x0f, 0x1a, 0x6a, 0xce, 0x48, + 0x44, 0x00, 0x17, 0xa3, 0xb0, 0xa6, 0x28, 0xcf, +}; +static const unsigned char kat2304_addin0[] = { + 0x07, 0x86, 0xfa, 0x8c, 0x78, 0xa4, 0x26, 0x59, 0x88, 0xc7, 0xe8, 0xec, + 0x14, 0xc2, 0x59, 0xc3, 0x1e, 0x10, 0x3f, 0x79, 0x31, 0xc0, 0x91, 0x50, + 0xe9, 0x61, 0x71, 0xa2, 0xef, 0xe3, 0xae, 0x09, +}; +static const unsigned char kat2304_addin1[] = { + 0x54, 0xe4, 0xa8, 0xf6, 0x29, 0x23, 0x59, 0x7d, 0xe4, 0xcd, 0xd6, 0x56, + 0x7e, 0x2d, 0x7f, 0xce, 0xab, 0xf5, 0xaf, 0xf8, 0x8b, 0x4a, 0xdb, 0x9a, + 0xe2, 0x72, 0xe4, 0xc5, 0xd5, 0xfd, 0xbe, 0x28, +}; +static const unsigned char kat2304_retbits[] = { + 0xfa, 0x12, 0x11, 0xa4, 0x4e, 0xc4, 0x96, 0x6a, 0x63, 0x90, 0x4b, 0x03, + 0xcd, 0xa2, 0xe2, 0x68, 0xf8, 0x4a, 0x00, 0x91, 0xa2, 0xa8, 0x1b, 0x87, + 0xcc, 0x69, 0x5b, 0x0d, 0x05, 0xbb, 0xa8, 0xaf, 0x18, 0xee, 0x29, 0x2f, + 0x46, 0xe1, 0xda, 0xf1, 0x5d, 0xad, 0xd3, 0xef, 0x12, 0xd9, 0xd7, 0x9c, + 0xdf, 0x32, 0xa0, 0xe7, 0x3c, 0x9a, 0x6f, 0x57, 0xb2, 0xac, 0x14, 0xdb, + 0xc3, 0xcd, 0xaf, 0x37, +}; +static const struct drbg_kat_pr_false kat2304_t = { + 8, kat2304_entropyin, kat2304_nonce, kat2304_persstr, + kat2304_entropyinreseed, kat2304_addinreseed, kat2304_addin0, + kat2304_addin1, kat2304_retbits +}; +static const struct drbg_kat kat2304 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2304_t +}; + +static const unsigned char kat2305_entropyin[] = { + 0xe7, 0x45, 0xd1, 0x50, 0x74, 0xdd, 0x1e, 0x53, 0x16, 0x3e, 0x1a, 0x0f, + 0xb8, 0xce, 0x15, 0xf9, 0x30, 0xd8, 0x00, 0x10, 0x4a, 0xef, 0x4b, 0xc1, + 0x06, 0xfc, 0xb8, 0xaf, 0x15, 0x08, 0xca, 0xbd, +}; +static const unsigned char kat2305_nonce[] = {0}; +static const unsigned char kat2305_persstr[] = {0}; +static const unsigned char kat2305_entropyinreseed[] = { + 0x39, 0xe0, 0x13, 0x85, 0xb2, 0xd4, 0xb9, 0x7d, 0x5a, 0x33, 0x82, 0xf2, + 0x8d, 0x02, 0xa4, 0xbb, 0xf4, 0x1e, 0xab, 0x31, 0x10, 0x86, 0x96, 0x73, + 0xe5, 0xc3, 0x7f, 0x4d, 0x08, 0x16, 0x86, 0xb3, +}; +static const unsigned char kat2305_addinreseed[] = { + 0x91, 0xef, 0xc4, 0x19, 0x91, 0x22, 0x9d, 0xda, 0xbe, 0xb0, 0xe0, 0xcd, + 0x94, 0x5b, 0x6c, 0xec, 0xef, 0x92, 0xd7, 0x45, 0x6b, 0x22, 0xa9, 0xe7, + 0x94, 0x02, 0x96, 0x16, 0x10, 0xc0, 0x57, 0xa1, +}; +static const unsigned char kat2305_addin0[] = { + 0xc8, 0x19, 0xe3, 0x91, 0xe1, 0xd7, 0x8f, 0x88, 0x1d, 0x7a, 0xc7, 0x79, + 0xcd, 0xe2, 0xe8, 0xd3, 0x53, 0xc2, 0xf8, 0xe7, 0x52, 0x55, 0xb8, 0x05, + 0x2e, 0xf5, 0xfc, 0x33, 0x6a, 0xd8, 0x15, 0x65, +}; +static const unsigned char kat2305_addin1[] = { + 0xf0, 0xcf, 0xbb, 0x76, 0x28, 0x20, 0x8d, 0xc3, 0x82, 0xe7, 0x80, 0xdf, + 0x02, 0x37, 0x1e, 0x1c, 0x61, 0xa3, 0x28, 0xb3, 0x3d, 0x95, 0x54, 0x97, + 0x50, 0x9e, 0xd4, 0xd3, 0xf3, 0x17, 0x2c, 0xaf, +}; +static const unsigned char kat2305_retbits[] = { + 0xeb, 0x8a, 0xc8, 0x68, 0xf4, 0x7c, 0x41, 0xee, 0xb1, 0xf7, 0x13, 0x65, + 0x14, 0xa6, 0x88, 0x39, 0x5b, 0x86, 0x2c, 0xc0, 0x7c, 0x26, 0x9c, 0x3c, + 0xee, 0xbf, 0xc9, 0xa6, 0x9e, 0x91, 0x8e, 0xa8, 0x3e, 0x30, 0xc9, 0x81, + 0x68, 0xe2, 0x76, 0x86, 0xae, 0x3a, 0xb1, 0x53, 0xf9, 0xb5, 0xac, 0x5a, + 0x45, 0x6b, 0x57, 0x96, 0x70, 0xfb, 0x4a, 0xf5, 0x1b, 0x34, 0xc7, 0x1d, + 0x73, 0xcc, 0x36, 0xcf, +}; +static const struct drbg_kat_pr_false kat2305_t = { + 9, kat2305_entropyin, kat2305_nonce, kat2305_persstr, + kat2305_entropyinreseed, kat2305_addinreseed, kat2305_addin0, + kat2305_addin1, kat2305_retbits +}; +static const struct drbg_kat kat2305 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2305_t +}; + +static const unsigned char kat2306_entropyin[] = { + 0xac, 0x24, 0x19, 0x0f, 0x83, 0x39, 0x44, 0xf8, 0xae, 0xed, 0x03, 0x95, + 0xf7, 0x5a, 0xbf, 0xd0, 0x85, 0x36, 0x87, 0x68, 0x29, 0x93, 0x45, 0x19, + 0x21, 0x4f, 0x37, 0x20, 0x48, 0x20, 0xbd, 0x8c, +}; +static const unsigned char kat2306_nonce[] = {0}; +static const unsigned char kat2306_persstr[] = {0}; +static const unsigned char kat2306_entropyinreseed[] = { + 0xc7, 0xe6, 0x8f, 0x6c, 0x90, 0x87, 0x8d, 0xff, 0x52, 0xfc, 0xd5, 0x23, + 0x78, 0xb7, 0x15, 0x5c, 0x08, 0x68, 0xfd, 0x84, 0x93, 0xad, 0xcf, 0x9d, + 0xe7, 0xda, 0x75, 0x47, 0xdb, 0x8c, 0xbb, 0xe8, +}; +static const unsigned char kat2306_addinreseed[] = { + 0x6e, 0xb2, 0x14, 0xcc, 0x64, 0x8a, 0xd0, 0xaa, 0xf9, 0xe3, 0x6d, 0xb8, + 0x7e, 0x69, 0x8c, 0x3a, 0xcb, 0x1f, 0x79, 0x4d, 0x2c, 0xe4, 0x64, 0x72, + 0xb5, 0x15, 0xca, 0x38, 0x6f, 0xc3, 0xaa, 0xed, +}; +static const unsigned char kat2306_addin0[] = { + 0x18, 0xea, 0x81, 0x6f, 0x90, 0x6b, 0x9b, 0x64, 0x2d, 0xb0, 0xa1, 0xde, + 0xf3, 0x19, 0xb7, 0x1e, 0x70, 0x99, 0x25, 0xa6, 0xff, 0x54, 0xa2, 0x51, + 0x2f, 0x45, 0xaf, 0x1b, 0x9a, 0x95, 0x65, 0x1e, +}; +static const unsigned char kat2306_addin1[] = { + 0x14, 0x3e, 0x68, 0x2a, 0x7d, 0x2f, 0x14, 0xa9, 0x25, 0x82, 0x2b, 0xf0, + 0xd8, 0xe5, 0x1d, 0x52, 0x05, 0xc4, 0x1a, 0xce, 0xc4, 0xa4, 0x8f, 0xec, + 0x98, 0x41, 0x08, 0x1c, 0x6f, 0x56, 0xaa, 0x5b, +}; +static const unsigned char kat2306_retbits[] = { + 0xc8, 0xc2, 0xd6, 0x09, 0x1c, 0x27, 0x96, 0x51, 0x98, 0xb3, 0x00, 0x27, + 0xd2, 0x1c, 0x6e, 0x26, 0x7a, 0x00, 0x73, 0xfe, 0x94, 0xb0, 0x93, 0x67, + 0x53, 0x53, 0x18, 0x5f, 0x77, 0xb8, 0x9c, 0x02, 0x07, 0x45, 0x93, 0xd8, + 0xfc, 0x5b, 0xc2, 0x33, 0xe5, 0x9c, 0xdb, 0xef, 0x80, 0xb9, 0x33, 0x61, + 0xbd, 0x8b, 0x50, 0x38, 0xe0, 0xb2, 0x4c, 0x8a, 0x96, 0x3a, 0xb5, 0x95, + 0x2c, 0x87, 0xd6, 0xbc, +}; +static const struct drbg_kat_pr_false kat2306_t = { + 10, kat2306_entropyin, kat2306_nonce, kat2306_persstr, + kat2306_entropyinreseed, kat2306_addinreseed, kat2306_addin0, + kat2306_addin1, kat2306_retbits +}; +static const struct drbg_kat kat2306 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2306_t +}; + +static const unsigned char kat2307_entropyin[] = { + 0xb8, 0xf9, 0xe9, 0x97, 0x5c, 0xa0, 0x1d, 0x4b, 0x55, 0x73, 0x8b, 0xa5, + 0x99, 0x1e, 0x0b, 0x8c, 0xe6, 0xc4, 0x8f, 0x9e, 0x5e, 0x24, 0xe2, 0x08, + 0x0c, 0x94, 0x26, 0xfa, 0x46, 0xbf, 0xfc, 0x7a, +}; +static const unsigned char kat2307_nonce[] = {0}; +static const unsigned char kat2307_persstr[] = {0}; +static const unsigned char kat2307_entropyinreseed[] = { + 0xb0, 0x14, 0x4a, 0xb4, 0xb9, 0xed, 0xab, 0xf8, 0xbc, 0x31, 0x67, 0x97, + 0x4d, 0x42, 0xac, 0xcb, 0x3c, 0x37, 0x73, 0x04, 0x29, 0x51, 0x9b, 0x65, + 0x69, 0xca, 0x7e, 0x7f, 0x68, 0xb5, 0x1b, 0x31, +}; +static const unsigned char kat2307_addinreseed[] = { + 0x18, 0xc9, 0xaf, 0x5d, 0x87, 0x47, 0xa5, 0x52, 0x34, 0x82, 0x23, 0x76, + 0xb2, 0x11, 0xfd, 0x2f, 0xc0, 0xc5, 0xc1, 0x39, 0xcd, 0x53, 0xd3, 0xf9, + 0x30, 0xea, 0x4f, 0xd8, 0x00, 0x23, 0x33, 0x88, +}; +static const unsigned char kat2307_addin0[] = { + 0xd6, 0x91, 0xc5, 0x8e, 0x10, 0xc6, 0xb3, 0x7b, 0xca, 0xb6, 0xf0, 0x42, + 0x56, 0xc4, 0xc1, 0xea, 0xe2, 0xda, 0xae, 0x79, 0xaf, 0xb6, 0x29, 0xdf, + 0xea, 0xab, 0x6c, 0xd0, 0x61, 0xf0, 0xdb, 0x95, +}; +static const unsigned char kat2307_addin1[] = { + 0x2b, 0x65, 0xf6, 0xd5, 0x9e, 0xa4, 0xa3, 0x4c, 0x1e, 0x7e, 0xa4, 0x5e, + 0xca, 0x57, 0xb9, 0x72, 0x5e, 0x97, 0x4d, 0x3c, 0x44, 0x4d, 0xa5, 0x55, + 0x2f, 0x01, 0xfa, 0x3d, 0xe9, 0xef, 0x59, 0x36, +}; +static const unsigned char kat2307_retbits[] = { + 0x1e, 0x3c, 0x83, 0x0f, 0xbe, 0x43, 0x89, 0x4c, 0x4f, 0x3c, 0x4c, 0x65, + 0xf7, 0xe6, 0x68, 0xe6, 0x8c, 0x50, 0x41, 0xf2, 0x0c, 0xb5, 0xb8, 0x05, + 0x60, 0x5e, 0x0c, 0x50, 0xcb, 0x45, 0x16, 0xc0, 0xef, 0x62, 0x7b, 0xbe, + 0x36, 0x4c, 0x29, 0xf9, 0x8e, 0xa9, 0xed, 0xd5, 0x48, 0x3f, 0x78, 0x94, + 0x02, 0xce, 0x27, 0xfb, 0x17, 0x80, 0xba, 0xcf, 0x06, 0x9b, 0xa8, 0x23, + 0x1f, 0xe1, 0xba, 0x7f, +}; +static const struct drbg_kat_pr_false kat2307_t = { + 11, kat2307_entropyin, kat2307_nonce, kat2307_persstr, + kat2307_entropyinreseed, kat2307_addinreseed, kat2307_addin0, + kat2307_addin1, kat2307_retbits +}; +static const struct drbg_kat kat2307 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2307_t +}; + +static const unsigned char kat2308_entropyin[] = { + 0xd8, 0x07, 0x5b, 0x36, 0xc2, 0x5f, 0x82, 0x12, 0xa4, 0x8d, 0x55, 0xb8, + 0xb0, 0x10, 0x28, 0xb2, 0x05, 0x35, 0x32, 0xa3, 0x19, 0xe8, 0x9c, 0x64, + 0x43, 0x31, 0xf2, 0xb6, 0x1d, 0x69, 0x02, 0xe2, +}; +static const unsigned char kat2308_nonce[] = {0}; +static const unsigned char kat2308_persstr[] = {0}; +static const unsigned char kat2308_entropyinreseed[] = { + 0xb3, 0x90, 0x9a, 0x05, 0x5a, 0x25, 0xd0, 0x79, 0x78, 0xb0, 0xb4, 0x20, + 0x1b, 0x9a, 0x84, 0xb2, 0xd7, 0xf2, 0xa9, 0x91, 0xe4, 0x9e, 0x88, 0x2d, + 0x85, 0x89, 0x67, 0xd2, 0x06, 0x1d, 0x53, 0x0c, +}; +static const unsigned char kat2308_addinreseed[] = { + 0x8c, 0xae, 0x69, 0xcb, 0x63, 0xfd, 0x81, 0xf0, 0x56, 0xe9, 0x86, 0xcc, + 0x31, 0xbd, 0xdd, 0x01, 0xe4, 0xa9, 0x13, 0x93, 0x4c, 0x4d, 0x6a, 0x34, + 0x8b, 0xc4, 0x04, 0x80, 0x00, 0x0f, 0xd1, 0x9e, +}; +static const unsigned char kat2308_addin0[] = { + 0xa9, 0xf6, 0x32, 0xeb, 0x72, 0x16, 0xca, 0x91, 0x2c, 0x92, 0x27, 0xfe, + 0x24, 0xd1, 0xbd, 0x38, 0xb9, 0x5a, 0xb8, 0xff, 0x93, 0x94, 0x64, 0x52, + 0x8b, 0x21, 0xb4, 0x69, 0x27, 0x3c, 0x93, 0x70, +}; +static const unsigned char kat2308_addin1[] = { + 0xc1, 0x88, 0xc5, 0x71, 0xb1, 0xa7, 0x08, 0x08, 0x17, 0xd4, 0x15, 0xc3, + 0xe7, 0xd9, 0xe5, 0x7c, 0xf2, 0x42, 0x62, 0x55, 0xe2, 0x5a, 0x32, 0x76, + 0x53, 0x7f, 0xd4, 0xc9, 0xb5, 0x25, 0x72, 0x03, +}; +static const unsigned char kat2308_retbits[] = { + 0xb8, 0x11, 0x6d, 0xa0, 0x55, 0x98, 0x3b, 0x12, 0xd5, 0x62, 0xfa, 0xe9, + 0xcc, 0x47, 0x5b, 0xb9, 0x4f, 0x88, 0x08, 0xbd, 0x86, 0x06, 0xc9, 0xfa, + 0x02, 0x55, 0x62, 0xad, 0x89, 0x8f, 0xb5, 0x6d, 0x02, 0x60, 0x7a, 0x5a, + 0x88, 0xf9, 0xbb, 0xf4, 0xef, 0xc4, 0x08, 0x9d, 0xa8, 0x54, 0x05, 0xd7, + 0x31, 0xe8, 0x00, 0xd3, 0x61, 0x38, 0xbe, 0x4e, 0x01, 0xc8, 0xaa, 0xcc, + 0x79, 0xc3, 0xc9, 0x0d, +}; +static const struct drbg_kat_pr_false kat2308_t = { + 12, kat2308_entropyin, kat2308_nonce, kat2308_persstr, + kat2308_entropyinreseed, kat2308_addinreseed, kat2308_addin0, + kat2308_addin1, kat2308_retbits +}; +static const struct drbg_kat kat2308 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2308_t +}; + +static const unsigned char kat2309_entropyin[] = { + 0x9f, 0xb3, 0xe4, 0x88, 0xf3, 0x21, 0x9d, 0xa5, 0x1d, 0x66, 0xdd, 0x6d, + 0x74, 0x1f, 0x61, 0xc1, 0x79, 0x62, 0x77, 0xce, 0x50, 0x35, 0xe7, 0x22, + 0x11, 0x82, 0xfb, 0xff, 0x6c, 0x92, 0x0b, 0xe5, +}; +static const unsigned char kat2309_nonce[] = {0}; +static const unsigned char kat2309_persstr[] = {0}; +static const unsigned char kat2309_entropyinreseed[] = { + 0x80, 0x6d, 0xc8, 0xf9, 0x88, 0xec, 0xfc, 0xf6, 0x3d, 0xa6, 0x3c, 0x0c, + 0xb2, 0x13, 0x0e, 0x11, 0xc2, 0x73, 0x31, 0x42, 0x6b, 0xc9, 0xc8, 0x2c, + 0xfc, 0x1a, 0xde, 0xf5, 0xb9, 0xb7, 0x9f, 0xf1, +}; +static const unsigned char kat2309_addinreseed[] = { + 0x46, 0x3d, 0x3f, 0xf4, 0xb0, 0x22, 0xa2, 0x7c, 0xb5, 0x37, 0xc4, 0xd9, + 0x3a, 0x00, 0x12, 0x7a, 0x22, 0xf0, 0xa8, 0xe6, 0xcf, 0x11, 0xb4, 0x17, + 0xb1, 0x12, 0x90, 0xaa, 0x4c, 0x76, 0x66, 0x94, +}; +static const unsigned char kat2309_addin0[] = { + 0x29, 0x3e, 0x26, 0x62, 0x21, 0x46, 0x24, 0x97, 0x66, 0x55, 0x5b, 0x00, + 0xfd, 0x6a, 0xe3, 0x7b, 0xa8, 0x1c, 0x7d, 0xb7, 0x5b, 0xf9, 0xd0, 0x1e, + 0xda, 0x27, 0xd4, 0x37, 0x05, 0x42, 0x08, 0x39, +}; +static const unsigned char kat2309_addin1[] = { + 0x10, 0x99, 0xb7, 0x88, 0xa1, 0xf5, 0xa3, 0xa8, 0xbd, 0xea, 0x7f, 0x64, + 0x74, 0x82, 0x33, 0x7d, 0x45, 0x14, 0x9f, 0x36, 0x2e, 0xbb, 0x07, 0x7d, + 0xba, 0x24, 0x03, 0x39, 0xe3, 0x2c, 0x78, 0x04, +}; +static const unsigned char kat2309_retbits[] = { + 0xea, 0x0b, 0x2f, 0xb3, 0x4a, 0x68, 0x01, 0x3a, 0x54, 0x68, 0x24, 0xb4, + 0x26, 0x78, 0xdb, 0xb7, 0xb7, 0x72, 0xf8, 0x5e, 0x2a, 0xda, 0x34, 0xe1, + 0x74, 0x77, 0x0a, 0xad, 0xd1, 0x05, 0xa6, 0x43, 0xe6, 0xaa, 0x58, 0xd5, + 0x3a, 0xae, 0xb9, 0x2c, 0xfa, 0xe7, 0xfb, 0x5b, 0x31, 0x2e, 0xa6, 0xb1, + 0xd3, 0x1e, 0xee, 0x59, 0x8d, 0xf1, 0x46, 0xa3, 0xf2, 0x92, 0x76, 0x3b, + 0x05, 0xaf, 0xaa, 0x63, +}; +static const struct drbg_kat_pr_false kat2309_t = { + 13, kat2309_entropyin, kat2309_nonce, kat2309_persstr, + kat2309_entropyinreseed, kat2309_addinreseed, kat2309_addin0, + kat2309_addin1, kat2309_retbits +}; +static const struct drbg_kat kat2309 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2309_t +}; + +static const unsigned char kat2310_entropyin[] = { + 0x52, 0xda, 0x7e, 0x17, 0x7f, 0xca, 0xed, 0xa2, 0x7f, 0x0a, 0x5b, 0xcb, + 0xbc, 0x08, 0x73, 0xb9, 0xea, 0xa2, 0xd3, 0x3b, 0xfa, 0xa2, 0x5c, 0xbd, + 0xbc, 0x04, 0xcd, 0x58, 0xe3, 0x6a, 0xb4, 0xd2, +}; +static const unsigned char kat2310_nonce[] = {0}; +static const unsigned char kat2310_persstr[] = {0}; +static const unsigned char kat2310_entropyinreseed[] = { + 0x1f, 0xbe, 0xa4, 0x2f, 0xce, 0xcb, 0x30, 0x73, 0xfe, 0x25, 0x80, 0xc2, + 0x2c, 0xe6, 0x4c, 0x87, 0xcd, 0x23, 0x99, 0x43, 0xd4, 0x1b, 0xc7, 0x5f, + 0xac, 0xae, 0xdd, 0x39, 0x39, 0xa9, 0xa0, 0xce, +}; +static const unsigned char kat2310_addinreseed[] = { + 0x28, 0x1e, 0xad, 0x1b, 0x26, 0x94, 0xfc, 0x14, 0x3b, 0x2e, 0x14, 0x89, + 0x7b, 0xd0, 0x3b, 0xea, 0xb9, 0x54, 0xe3, 0x24, 0x3f, 0x58, 0xac, 0x1c, + 0x09, 0x19, 0xfb, 0xac, 0xe7, 0x67, 0xa5, 0xe3, +}; +static const unsigned char kat2310_addin0[] = { + 0xee, 0x0d, 0x3e, 0x9c, 0x17, 0x8d, 0x53, 0xf9, 0x95, 0x7e, 0xc0, 0x87, + 0x7a, 0xc7, 0x19, 0x69, 0x41, 0x97, 0xe8, 0xbd, 0xff, 0xed, 0xf8, 0xfe, + 0x59, 0xc5, 0x7a, 0x0c, 0xf6, 0xa8, 0xff, 0x84, +}; +static const unsigned char kat2310_addin1[] = { + 0x25, 0x45, 0xd3, 0x0f, 0x8b, 0x97, 0x4a, 0x21, 0xfa, 0x54, 0x14, 0x6a, + 0x14, 0xa5, 0x66, 0xbc, 0x01, 0x56, 0xa0, 0x15, 0xbd, 0xde, 0x60, 0xf3, + 0xf2, 0xb9, 0xe1, 0x86, 0xf6, 0x18, 0x1f, 0x5d, +}; +static const unsigned char kat2310_retbits[] = { + 0x7c, 0xd2, 0x00, 0x30, 0x34, 0xf2, 0x35, 0xe2, 0x09, 0xcb, 0x0d, 0x73, + 0xab, 0x44, 0x22, 0x34, 0x01, 0x6a, 0x04, 0xc8, 0x30, 0x75, 0x27, 0x21, + 0x99, 0x81, 0x46, 0xc2, 0xf6, 0xf2, 0x7d, 0x92, 0x30, 0x0b, 0x47, 0xfa, + 0x3e, 0xe7, 0x2b, 0x46, 0x37, 0x80, 0x92, 0xfe, 0xb1, 0x75, 0x58, 0x38, + 0x94, 0xb6, 0xf7, 0x00, 0x43, 0x62, 0xf7, 0x24, 0xef, 0x14, 0x5f, 0xe0, + 0x3c, 0x94, 0x1d, 0x42, +}; +static const struct drbg_kat_pr_false kat2310_t = { + 14, kat2310_entropyin, kat2310_nonce, kat2310_persstr, + kat2310_entropyinreseed, kat2310_addinreseed, kat2310_addin0, + kat2310_addin1, kat2310_retbits +}; +static const struct drbg_kat kat2310 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2310_t +}; + +static const unsigned char kat2311_entropyin[] = { + 0x87, 0x64, 0xbf, 0x9c, 0x12, 0xff, 0x37, 0xe2, 0x3a, 0xfe, 0x28, 0xa4, + 0x5c, 0x43, 0x04, 0xc0, 0x5d, 0x54, 0x65, 0x4b, 0xa1, 0x4c, 0xf5, 0x8d, + 0x7a, 0xe3, 0x71, 0x34, 0x7e, 0x1e, 0x70, 0x35, +}; +static const unsigned char kat2311_nonce[] = {0}; +static const unsigned char kat2311_persstr[] = { + 0xa6, 0xcf, 0xbd, 0xd0, 0x5e, 0xee, 0x36, 0xa3, 0xd1, 0x01, 0xc3, 0xd0, + 0x30, 0x1c, 0xb6, 0xff, 0x21, 0x68, 0x7d, 0x9f, 0x89, 0xcf, 0xc8, 0x60, + 0xd0, 0x5d, 0xfa, 0x1a, 0x95, 0x7f, 0x56, 0xbd, +}; +static const unsigned char kat2311_entropyinreseed[] = { + 0x19, 0x09, 0x33, 0xf0, 0x7a, 0x1d, 0x44, 0x8d, 0xab, 0x65, 0x07, 0x16, + 0xa1, 0xb3, 0x07, 0x14, 0xca, 0xda, 0x5c, 0xd0, 0xfb, 0xc4, 0x3b, 0x9d, + 0x2d, 0xde, 0x79, 0x1c, 0x4a, 0xd8, 0x52, 0x2d, +}; +static const unsigned char kat2311_addinreseed[] = {0}; +static const unsigned char kat2311_addin0[] = {0}; +static const unsigned char kat2311_addin1[] = {0}; +static const unsigned char kat2311_retbits[] = { + 0x5c, 0xbd, 0x9b, 0x5c, 0xf1, 0x88, 0x33, 0x30, 0xb3, 0x0b, 0x1d, 0xa9, + 0x17, 0xe6, 0x2d, 0x66, 0x82, 0x11, 0x5f, 0x0e, 0x97, 0x52, 0x39, 0x6c, + 0x32, 0xc5, 0x97, 0xb9, 0x0a, 0x95, 0x72, 0xa7, 0xe9, 0xc6, 0x13, 0x89, + 0xf5, 0xec, 0x97, 0x9a, 0x72, 0xf7, 0x1f, 0xe0, 0x3d, 0x0c, 0xd2, 0xf3, + 0x4b, 0x3d, 0x91, 0x70, 0xcc, 0x96, 0x1a, 0x79, 0x42, 0xc6, 0x52, 0xec, + 0x42, 0x65, 0x1b, 0xd3, +}; +static const struct drbg_kat_pr_false kat2311_t = { + 0, kat2311_entropyin, kat2311_nonce, kat2311_persstr, + kat2311_entropyinreseed, kat2311_addinreseed, kat2311_addin0, + kat2311_addin1, kat2311_retbits +}; +static const struct drbg_kat kat2311 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2311_t +}; + +static const unsigned char kat2312_entropyin[] = { + 0xdf, 0x7b, 0xb7, 0x21, 0x7c, 0x72, 0xc3, 0xf9, 0x66, 0x1b, 0xce, 0x37, + 0xe1, 0x18, 0xda, 0x03, 0xf9, 0xf6, 0x8b, 0x63, 0xdf, 0x62, 0x66, 0x10, + 0x7e, 0x87, 0xcd, 0x6b, 0x16, 0x17, 0xff, 0x74, +}; +static const unsigned char kat2312_nonce[] = {0}; +static const unsigned char kat2312_persstr[] = { + 0xd8, 0x60, 0xaf, 0x51, 0x7e, 0x2b, 0x09, 0x6f, 0x09, 0x4b, 0xd9, 0x00, + 0x43, 0x2e, 0xc6, 0xad, 0x0d, 0xa9, 0xee, 0x6e, 0xb5, 0xa1, 0x4a, 0x9d, + 0xbd, 0xf3, 0x2b, 0xc9, 0xfd, 0x6b, 0xca, 0x3c, +}; +static const unsigned char kat2312_entropyinreseed[] = { + 0x41, 0x48, 0x71, 0xa9, 0xc3, 0x30, 0x87, 0x93, 0x92, 0x79, 0x73, 0x36, + 0x95, 0x24, 0x53, 0xf3, 0xcb, 0x5f, 0xb7, 0x52, 0x18, 0xbf, 0xe7, 0x24, + 0x60, 0x6b, 0x1a, 0xe7, 0xc1, 0x07, 0xd3, 0x84, +}; +static const unsigned char kat2312_addinreseed[] = {0}; +static const unsigned char kat2312_addin0[] = {0}; +static const unsigned char kat2312_addin1[] = {0}; +static const unsigned char kat2312_retbits[] = { + 0x00, 0x66, 0x06, 0x35, 0x14, 0x62, 0x87, 0xae, 0x14, 0xdd, 0x6e, 0x87, + 0xfe, 0xe4, 0x40, 0x88, 0xed, 0x4d, 0xda, 0xee, 0xbb, 0x24, 0x66, 0x85, + 0xed, 0x95, 0xc3, 0xbc, 0xab, 0xc9, 0xe7, 0x2a, 0xaa, 0x23, 0xb2, 0x7d, + 0x74, 0x62, 0xe3, 0x2a, 0xe7, 0x8f, 0x17, 0x1a, 0x73, 0x9f, 0x8b, 0x30, + 0x40, 0x9a, 0x50, 0xce, 0xdb, 0xca, 0x39, 0xa4, 0xa8, 0x9e, 0xff, 0xac, + 0x38, 0x45, 0x97, 0x51, +}; +static const struct drbg_kat_pr_false kat2312_t = { + 1, kat2312_entropyin, kat2312_nonce, kat2312_persstr, + kat2312_entropyinreseed, kat2312_addinreseed, kat2312_addin0, + kat2312_addin1, kat2312_retbits +}; +static const struct drbg_kat kat2312 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2312_t +}; + +static const unsigned char kat2313_entropyin[] = { + 0x16, 0xd6, 0x48, 0xe7, 0x67, 0xb9, 0xd7, 0xcf, 0x63, 0x67, 0xb9, 0xdc, + 0x19, 0xe2, 0xd0, 0xb3, 0xbe, 0x20, 0x4b, 0x70, 0x26, 0x88, 0x69, 0xff, + 0x07, 0x28, 0xb9, 0xec, 0x21, 0x32, 0xe2, 0xaf, +}; +static const unsigned char kat2313_nonce[] = {0}; +static const unsigned char kat2313_persstr[] = { + 0x2d, 0x81, 0x20, 0x4a, 0x42, 0x99, 0x50, 0x55, 0x6f, 0x89, 0x4a, 0x21, + 0x9e, 0x45, 0x5a, 0xe8, 0x01, 0x6a, 0x8c, 0x38, 0x33, 0xab, 0xe0, 0x53, + 0xc1, 0xc1, 0x8f, 0x53, 0xc9, 0x36, 0xc8, 0x99, +}; +static const unsigned char kat2313_entropyinreseed[] = { + 0xa4, 0xbb, 0x15, 0xbe, 0x31, 0x45, 0x14, 0x9a, 0xea, 0xd1, 0x27, 0xad, + 0xf3, 0x82, 0xb9, 0x2c, 0xdd, 0xd6, 0x7c, 0x89, 0x8d, 0xd9, 0x5e, 0xa8, + 0xb2, 0x82, 0xa4, 0xbc, 0x83, 0xf9, 0xfb, 0xfc, +}; +static const unsigned char kat2313_addinreseed[] = {0}; +static const unsigned char kat2313_addin0[] = {0}; +static const unsigned char kat2313_addin1[] = {0}; +static const unsigned char kat2313_retbits[] = { + 0x01, 0x23, 0x09, 0xa4, 0xc7, 0x9d, 0xbc, 0x7b, 0x54, 0x6d, 0x55, 0x0c, + 0xf5, 0x48, 0x87, 0x3e, 0xe1, 0x7e, 0x43, 0x71, 0x89, 0x6d, 0xa2, 0x9b, + 0x9b, 0x93, 0xde, 0xae, 0x14, 0xd8, 0xa8, 0x94, 0x1c, 0xb3, 0xca, 0x3b, + 0xcc, 0x47, 0xe7, 0x03, 0xea, 0xff, 0x03, 0x1e, 0x13, 0x5c, 0xa4, 0x6e, + 0x22, 0xc9, 0x17, 0xe0, 0xab, 0x31, 0x68, 0x5a, 0x7d, 0x84, 0x34, 0xca, + 0x44, 0xff, 0x4c, 0x70, +}; +static const struct drbg_kat_pr_false kat2313_t = { + 2, kat2313_entropyin, kat2313_nonce, kat2313_persstr, + kat2313_entropyinreseed, kat2313_addinreseed, kat2313_addin0, + kat2313_addin1, kat2313_retbits +}; +static const struct drbg_kat kat2313 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2313_t +}; + +static const unsigned char kat2314_entropyin[] = { + 0xdb, 0xdd, 0xa4, 0xf6, 0xc6, 0xf0, 0x1a, 0xce, 0x43, 0x87, 0x77, 0xdd, + 0x95, 0x1c, 0xf9, 0x2a, 0xd5, 0x14, 0x8f, 0x1f, 0x0d, 0xf6, 0x40, 0xb0, + 0x37, 0x93, 0xee, 0x9a, 0xf8, 0x82, 0x9c, 0x05, +}; +static const unsigned char kat2314_nonce[] = {0}; +static const unsigned char kat2314_persstr[] = { + 0xaf, 0x64, 0x1b, 0xa2, 0xc2, 0xd8, 0xce, 0x09, 0xf4, 0x26, 0x45, 0x5a, + 0x84, 0xd3, 0x2d, 0x27, 0x14, 0x3a, 0x7d, 0x83, 0xf3, 0x3e, 0x22, 0x27, + 0x63, 0x44, 0xe6, 0xcd, 0x11, 0xf6, 0x86, 0x94, +}; +static const unsigned char kat2314_entropyinreseed[] = { + 0xda, 0x44, 0xe2, 0x3d, 0x1b, 0x61, 0x15, 0x03, 0x2f, 0xd3, 0x16, 0xcd, + 0xad, 0x47, 0x52, 0x4b, 0x15, 0xf9, 0xe3, 0x48, 0xf1, 0x60, 0x81, 0xa6, + 0x26, 0x12, 0x1f, 0x68, 0xac, 0x21, 0x3b, 0x7e, +}; +static const unsigned char kat2314_addinreseed[] = {0}; +static const unsigned char kat2314_addin0[] = {0}; +static const unsigned char kat2314_addin1[] = {0}; +static const unsigned char kat2314_retbits[] = { + 0x4b, 0x2c, 0x9c, 0x7f, 0xfd, 0x58, 0x8b, 0x13, 0xdf, 0x41, 0x5c, 0x55, + 0xc1, 0xfd, 0xa1, 0x5c, 0x1e, 0xfe, 0x22, 0x34, 0x5f, 0x7d, 0x72, 0x71, + 0x0b, 0x0c, 0xce, 0x2e, 0x5c, 0xa5, 0xe5, 0xdd, 0xa4, 0x03, 0xd8, 0x63, + 0x29, 0x59, 0x1e, 0x8a, 0x5a, 0xbd, 0x58, 0xac, 0x9f, 0xaa, 0x09, 0x93, + 0x3f, 0xf3, 0x88, 0xc3, 0xde, 0xeb, 0x8e, 0xc8, 0xef, 0xb5, 0xca, 0xda, + 0x3c, 0x66, 0xce, 0x8f, +}; +static const struct drbg_kat_pr_false kat2314_t = { + 3, kat2314_entropyin, kat2314_nonce, kat2314_persstr, + kat2314_entropyinreseed, kat2314_addinreseed, kat2314_addin0, + kat2314_addin1, kat2314_retbits +}; +static const struct drbg_kat kat2314 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2314_t +}; + +static const unsigned char kat2315_entropyin[] = { + 0x2b, 0xac, 0xf6, 0x9b, 0xc8, 0xb5, 0xc1, 0xba, 0x18, 0xa6, 0x27, 0xd2, + 0xe8, 0x3a, 0x98, 0xde, 0x11, 0xc8, 0x53, 0xa3, 0x37, 0x5e, 0x3c, 0x22, + 0xed, 0x8a, 0xf9, 0xd0, 0x1c, 0x91, 0xea, 0xa0, +}; +static const unsigned char kat2315_nonce[] = {0}; +static const unsigned char kat2315_persstr[] = { + 0xcd, 0xc3, 0x0e, 0x35, 0x64, 0x12, 0xc3, 0x08, 0x23, 0x9a, 0xf2, 0x96, + 0x2c, 0xea, 0xc8, 0x25, 0xcb, 0x59, 0x5c, 0x60, 0xef, 0xf0, 0xbe, 0xbb, + 0x74, 0xed, 0x52, 0xe2, 0xc8, 0x80, 0x36, 0xd0, +}; +static const unsigned char kat2315_entropyinreseed[] = { + 0xd5, 0xf7, 0x1f, 0x70, 0x9e, 0x0e, 0x27, 0x1c, 0xeb, 0x6a, 0x45, 0xeb, + 0x9c, 0xa6, 0xb7, 0x5f, 0x6b, 0x17, 0xbe, 0x22, 0x7f, 0x2b, 0xf5, 0xcb, + 0x6d, 0x47, 0x75, 0x5f, 0xf4, 0x0e, 0x5a, 0xe3, +}; +static const unsigned char kat2315_addinreseed[] = {0}; +static const unsigned char kat2315_addin0[] = {0}; +static const unsigned char kat2315_addin1[] = {0}; +static const unsigned char kat2315_retbits[] = { + 0xf3, 0xf8, 0xb8, 0xda, 0x42, 0xb0, 0xeb, 0x2d, 0x1e, 0x5a, 0x16, 0xb5, + 0x83, 0xe7, 0xc0, 0x23, 0x10, 0xa9, 0xaa, 0xa9, 0x7a, 0xc3, 0x1f, 0x46, + 0x81, 0x26, 0x85, 0x08, 0xa7, 0x54, 0xf5, 0xd3, 0xd8, 0xd1, 0x58, 0xb4, + 0x5c, 0x54, 0xd5, 0x6a, 0x2c, 0xb8, 0x5c, 0x63, 0x82, 0xa3, 0xdc, 0xe9, + 0x75, 0x15, 0xdc, 0xcf, 0x0c, 0x52, 0x34, 0xa6, 0xa3, 0x69, 0x63, 0x00, + 0x02, 0x32, 0x54, 0xca, +}; +static const struct drbg_kat_pr_false kat2315_t = { + 4, kat2315_entropyin, kat2315_nonce, kat2315_persstr, + kat2315_entropyinreseed, kat2315_addinreseed, kat2315_addin0, + kat2315_addin1, kat2315_retbits +}; +static const struct drbg_kat kat2315 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2315_t +}; + +static const unsigned char kat2316_entropyin[] = { + 0xbd, 0xb2, 0x72, 0xeb, 0x56, 0x63, 0x67, 0xc8, 0xe0, 0x30, 0xe8, 0xb1, + 0x14, 0x70, 0x36, 0x41, 0x89, 0x20, 0x40, 0x67, 0xab, 0x3e, 0xe6, 0xf2, + 0xf5, 0x4c, 0x74, 0x61, 0x7e, 0xf3, 0x73, 0xec, +}; +static const unsigned char kat2316_nonce[] = {0}; +static const unsigned char kat2316_persstr[] = { + 0xa9, 0x58, 0x35, 0x61, 0x86, 0x05, 0x52, 0xad, 0x92, 0x61, 0x76, 0x21, + 0xf0, 0xc0, 0x15, 0xbd, 0x09, 0xb6, 0xc0, 0x3c, 0x5e, 0x24, 0xa6, 0xf0, + 0xfe, 0x92, 0x63, 0xae, 0xf5, 0xd8, 0x1d, 0xe0, +}; +static const unsigned char kat2316_entropyinreseed[] = { + 0x6d, 0x02, 0x4e, 0xff, 0xf1, 0x08, 0x4f, 0xea, 0x38, 0xa2, 0x64, 0xdb, + 0x2a, 0xa1, 0xf2, 0x78, 0x0d, 0xf3, 0xc7, 0x29, 0xc1, 0x2b, 0x34, 0x47, + 0x90, 0x26, 0xd2, 0x75, 0xef, 0xec, 0x97, 0xee, +}; +static const unsigned char kat2316_addinreseed[] = {0}; +static const unsigned char kat2316_addin0[] = {0}; +static const unsigned char kat2316_addin1[] = {0}; +static const unsigned char kat2316_retbits[] = { + 0x50, 0x70, 0x98, 0x28, 0x51, 0xcd, 0xd8, 0x27, 0x72, 0x2b, 0xac, 0x4b, + 0x56, 0xe6, 0x38, 0x5a, 0x94, 0xba, 0xcd, 0x3e, 0xd3, 0xa0, 0xdc, 0x23, + 0x03, 0x3b, 0xf6, 0x0f, 0xbb, 0x71, 0xc7, 0xcb, 0xa3, 0x1f, 0x7f, 0xc0, + 0x39, 0x9d, 0x17, 0xf2, 0x41, 0x30, 0x49, 0x46, 0x04, 0x0b, 0x52, 0x7b, + 0xdc, 0xf8, 0x63, 0x15, 0xac, 0x89, 0x0e, 0x43, 0x76, 0x63, 0x51, 0xdd, + 0xb9, 0xba, 0x9e, 0xb4, +}; +static const struct drbg_kat_pr_false kat2316_t = { + 5, kat2316_entropyin, kat2316_nonce, kat2316_persstr, + kat2316_entropyinreseed, kat2316_addinreseed, kat2316_addin0, + kat2316_addin1, kat2316_retbits +}; +static const struct drbg_kat kat2316 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2316_t +}; + +static const unsigned char kat2317_entropyin[] = { + 0x8e, 0x3d, 0x85, 0xc9, 0x1d, 0xef, 0x9a, 0xb0, 0x8a, 0xf1, 0xae, 0xe1, + 0xdb, 0x87, 0xb1, 0xdb, 0x7b, 0x8c, 0x3d, 0xbf, 0x49, 0x3b, 0x8b, 0x62, + 0x5e, 0x6c, 0x87, 0xee, 0x4a, 0x05, 0xe1, 0x77, +}; +static const unsigned char kat2317_nonce[] = {0}; +static const unsigned char kat2317_persstr[] = { + 0x3b, 0xc3, 0xd5, 0x2c, 0xa8, 0x08, 0x6f, 0x8c, 0xb3, 0x75, 0xdf, 0x48, + 0x7b, 0x41, 0xef, 0x1d, 0x5b, 0xef, 0x5e, 0x4b, 0x01, 0x05, 0x8c, 0xee, + 0xfb, 0xc2, 0xa8, 0xe8, 0xb6, 0x82, 0x69, 0x4a, +}; +static const unsigned char kat2317_entropyinreseed[] = { + 0x9d, 0xbf, 0x4c, 0x8d, 0x18, 0x7c, 0x99, 0x72, 0xd0, 0xd2, 0x26, 0xce, + 0x2b, 0xd2, 0x09, 0x8d, 0x70, 0x66, 0x02, 0xe5, 0xd8, 0xfe, 0x63, 0x87, + 0x97, 0xaa, 0x96, 0x9e, 0xe4, 0xb6, 0xb4, 0x73, +}; +static const unsigned char kat2317_addinreseed[] = {0}; +static const unsigned char kat2317_addin0[] = {0}; +static const unsigned char kat2317_addin1[] = {0}; +static const unsigned char kat2317_retbits[] = { + 0xe0, 0xce, 0x25, 0x04, 0xb1, 0x9c, 0xdf, 0x7e, 0x7d, 0x4d, 0x50, 0x9b, + 0x26, 0x4a, 0xad, 0xe8, 0x34, 0x48, 0xc0, 0x48, 0xc3, 0x47, 0x73, 0xb6, + 0x9e, 0xb1, 0x4b, 0x71, 0xb0, 0xb1, 0xa8, 0x89, 0x9b, 0xda, 0xc8, 0x35, + 0x24, 0xd5, 0xf7, 0x43, 0x3d, 0xfc, 0x65, 0xa1, 0x64, 0x19, 0xf8, 0x1b, + 0xa4, 0x18, 0xa4, 0xab, 0x3d, 0xe0, 0xfe, 0xc5, 0x07, 0x57, 0xa4, 0x1a, + 0x4d, 0x00, 0x9a, 0xc1, +}; +static const struct drbg_kat_pr_false kat2317_t = { + 6, kat2317_entropyin, kat2317_nonce, kat2317_persstr, + kat2317_entropyinreseed, kat2317_addinreseed, kat2317_addin0, + kat2317_addin1, kat2317_retbits +}; +static const struct drbg_kat kat2317 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2317_t +}; + +static const unsigned char kat2318_entropyin[] = { + 0xb5, 0x5b, 0xe0, 0x84, 0x87, 0x38, 0x94, 0x57, 0x9c, 0xf1, 0xda, 0x2d, + 0x86, 0x3a, 0x4c, 0x36, 0xe1, 0x50, 0x05, 0x06, 0x5b, 0x64, 0x57, 0x05, + 0x78, 0xb1, 0xf4, 0x60, 0xe9, 0xf7, 0xa5, 0xc7, +}; +static const unsigned char kat2318_nonce[] = {0}; +static const unsigned char kat2318_persstr[] = { + 0xd3, 0x0d, 0xd7, 0x4b, 0xbf, 0xf7, 0x14, 0xb9, 0x0a, 0x12, 0xe4, 0x21, + 0xe3, 0x8e, 0x75, 0xff, 0xa8, 0x09, 0xb0, 0xe9, 0xc8, 0x69, 0x2a, 0x4a, + 0x0b, 0xb9, 0xff, 0xc6, 0xec, 0xe1, 0x13, 0x8f, +}; +static const unsigned char kat2318_entropyinreseed[] = { + 0x26, 0x4b, 0x4b, 0xae, 0x24, 0x9e, 0x78, 0xb6, 0x26, 0x74, 0x71, 0x49, + 0xdd, 0x6d, 0xd5, 0xd2, 0x39, 0x60, 0x8f, 0x8c, 0x10, 0xe6, 0x0e, 0xe8, + 0x40, 0xe0, 0xbc, 0x0a, 0xb6, 0xb9, 0x14, 0xeb, +}; +static const unsigned char kat2318_addinreseed[] = {0}; +static const unsigned char kat2318_addin0[] = {0}; +static const unsigned char kat2318_addin1[] = {0}; +static const unsigned char kat2318_retbits[] = { + 0xd2, 0xd4, 0xa4, 0xe3, 0x3f, 0xf5, 0x95, 0x1b, 0xc3, 0x45, 0x7b, 0x4b, + 0xe2, 0xa8, 0xa8, 0xcb, 0x1c, 0x7d, 0x46, 0x57, 0xd6, 0x66, 0x75, 0x82, + 0x4b, 0xc0, 0xe4, 0x2c, 0xe6, 0xa1, 0xb9, 0xe0, 0x4f, 0x0f, 0x27, 0xe6, + 0x7d, 0xaf, 0x6b, 0xbb, 0x11, 0xcc, 0x9e, 0x80, 0x91, 0x34, 0x76, 0xb6, + 0xd1, 0xdb, 0x78, 0x87, 0x96, 0xdc, 0x60, 0xea, 0x7d, 0x87, 0x59, 0xc2, + 0xe1, 0x60, 0x3a, 0x85, +}; +static const struct drbg_kat_pr_false kat2318_t = { + 7, kat2318_entropyin, kat2318_nonce, kat2318_persstr, + kat2318_entropyinreseed, kat2318_addinreseed, kat2318_addin0, + kat2318_addin1, kat2318_retbits +}; +static const struct drbg_kat kat2318 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2318_t +}; + +static const unsigned char kat2319_entropyin[] = { + 0x7b, 0xa1, 0x5c, 0x76, 0xd5, 0xec, 0x7c, 0x8e, 0x34, 0x9f, 0xb3, 0x68, + 0x3b, 0x2b, 0x39, 0x6c, 0x61, 0x3b, 0xbf, 0x69, 0x59, 0xfb, 0x49, 0xab, + 0xe3, 0xf2, 0xab, 0xc3, 0x46, 0x93, 0x7b, 0xa1, +}; +static const unsigned char kat2319_nonce[] = {0}; +static const unsigned char kat2319_persstr[] = { + 0xc4, 0xce, 0x04, 0x34, 0x2c, 0x7c, 0x74, 0x31, 0x6e, 0xb1, 0xe1, 0x1c, + 0x5a, 0x10, 0x30, 0x09, 0xa3, 0xf6, 0xce, 0x1f, 0xa2, 0x70, 0x07, 0xd5, + 0x4d, 0xd1, 0x45, 0x57, 0x4f, 0x71, 0xef, 0x8b, +}; +static const unsigned char kat2319_entropyinreseed[] = { + 0x66, 0x1b, 0xb5, 0xed, 0x93, 0x20, 0xb4, 0xb8, 0x2f, 0xed, 0x06, 0x6b, + 0x65, 0x2d, 0x82, 0x89, 0x3c, 0xec, 0xf2, 0xd6, 0x91, 0x02, 0x6a, 0xd6, + 0xf1, 0xb4, 0x5e, 0x0b, 0x4b, 0x57, 0xca, 0xf5, +}; +static const unsigned char kat2319_addinreseed[] = {0}; +static const unsigned char kat2319_addin0[] = {0}; +static const unsigned char kat2319_addin1[] = {0}; +static const unsigned char kat2319_retbits[] = { + 0x0b, 0xf6, 0xe5, 0x28, 0xfc, 0xc8, 0x58, 0x9d, 0xa4, 0x92, 0xde, 0xc0, + 0x57, 0xb4, 0xde, 0x83, 0x63, 0x48, 0x3f, 0x59, 0x6f, 0x7b, 0xf8, 0xea, + 0x8b, 0xab, 0x5a, 0x58, 0x22, 0xa0, 0xd6, 0x02, 0x12, 0x5a, 0xdc, 0xa6, + 0x81, 0x93, 0xee, 0x5e, 0x2c, 0x64, 0x2c, 0x5e, 0xa8, 0x94, 0xf9, 0xcd, + 0xa9, 0x82, 0xcf, 0xbb, 0x41, 0x6c, 0x9e, 0x43, 0x9e, 0xde, 0xa5, 0xec, + 0x2b, 0x04, 0x29, 0xd5, +}; +static const struct drbg_kat_pr_false kat2319_t = { + 8, kat2319_entropyin, kat2319_nonce, kat2319_persstr, + kat2319_entropyinreseed, kat2319_addinreseed, kat2319_addin0, + kat2319_addin1, kat2319_retbits +}; +static const struct drbg_kat kat2319 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2319_t +}; + +static const unsigned char kat2320_entropyin[] = { + 0x7f, 0x07, 0xc8, 0x29, 0x57, 0xfc, 0x85, 0x00, 0x90, 0xab, 0xb4, 0xe0, + 0x6f, 0xea, 0xe9, 0xa6, 0xeb, 0x9e, 0x90, 0x51, 0x7f, 0x7e, 0x02, 0x4f, + 0x7b, 0xb7, 0x84, 0x40, 0xc4, 0x81, 0xb1, 0x0a, +}; +static const unsigned char kat2320_nonce[] = {0}; +static const unsigned char kat2320_persstr[] = { + 0x44, 0x9b, 0xca, 0x7c, 0x34, 0x81, 0x44, 0xe0, 0x7b, 0x3e, 0xc3, 0x3c, + 0x33, 0xcf, 0x99, 0x77, 0xb1, 0x1b, 0xe3, 0x1a, 0xfc, 0x49, 0x1e, 0x0a, + 0x09, 0xa5, 0x32, 0xa1, 0x67, 0xfc, 0xee, 0x4a, +}; +static const unsigned char kat2320_entropyinreseed[] = { + 0x50, 0x17, 0xd7, 0x58, 0xf3, 0xc9, 0x08, 0x5b, 0x9d, 0x55, 0x85, 0xfc, + 0xf5, 0x58, 0xbd, 0x35, 0x15, 0xfe, 0xab, 0xa4, 0x9c, 0xd0, 0x49, 0x1e, + 0xfb, 0x20, 0x24, 0xc0, 0x8b, 0x74, 0xe9, 0xf4, +}; +static const unsigned char kat2320_addinreseed[] = {0}; +static const unsigned char kat2320_addin0[] = {0}; +static const unsigned char kat2320_addin1[] = {0}; +static const unsigned char kat2320_retbits[] = { + 0xb6, 0xd7, 0x4b, 0xbd, 0x2c, 0xbe, 0x4d, 0xe6, 0x36, 0xaf, 0x1e, 0xf1, + 0x20, 0x78, 0x58, 0x0e, 0x4e, 0x72, 0x85, 0x5d, 0x7f, 0xfe, 0x43, 0x33, + 0x12, 0xda, 0xad, 0xed, 0x3c, 0x81, 0x7f, 0x77, 0xb6, 0xc4, 0x03, 0xd9, + 0x40, 0x94, 0xbf, 0xf3, 0xc0, 0xed, 0xb1, 0x23, 0x2d, 0x59, 0x62, 0xf7, + 0x47, 0xe5, 0xca, 0xb2, 0xde, 0xc3, 0x29, 0xf1, 0x9b, 0x32, 0xee, 0x1d, + 0xb6, 0xa6, 0x78, 0xb1, +}; +static const struct drbg_kat_pr_false kat2320_t = { + 9, kat2320_entropyin, kat2320_nonce, kat2320_persstr, + kat2320_entropyinreseed, kat2320_addinreseed, kat2320_addin0, + kat2320_addin1, kat2320_retbits +}; +static const struct drbg_kat kat2320 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2320_t +}; + +static const unsigned char kat2321_entropyin[] = { + 0x54, 0x15, 0xa7, 0x36, 0xa1, 0x89, 0xb5, 0x80, 0xb6, 0x2f, 0xaf, 0xf8, + 0x18, 0x04, 0x5a, 0x98, 0x10, 0x4d, 0x31, 0x90, 0x72, 0x22, 0xe2, 0xd4, + 0xbb, 0x76, 0x45, 0x2e, 0x69, 0xec, 0x93, 0x48, +}; +static const unsigned char kat2321_nonce[] = {0}; +static const unsigned char kat2321_persstr[] = { + 0xa9, 0xd3, 0xeb, 0x2f, 0x85, 0x11, 0x9f, 0x62, 0x52, 0xfa, 0xd8, 0xac, + 0x32, 0x5c, 0xa1, 0x5f, 0xcc, 0x46, 0x3e, 0xe5, 0x1f, 0xb0, 0xb5, 0x7c, + 0x1d, 0x72, 0x46, 0xc8, 0xba, 0x28, 0xed, 0xdd, +}; +static const unsigned char kat2321_entropyinreseed[] = { + 0x11, 0x08, 0xf9, 0x87, 0xff, 0x50, 0x08, 0x7c, 0xb5, 0x83, 0xd2, 0x10, + 0xd2, 0xcc, 0x07, 0xc6, 0x58, 0xf5, 0x29, 0x28, 0x33, 0x2f, 0xad, 0x8f, + 0x2c, 0xa2, 0x17, 0xb4, 0x38, 0x38, 0x65, 0x4e, +}; +static const unsigned char kat2321_addinreseed[] = {0}; +static const unsigned char kat2321_addin0[] = {0}; +static const unsigned char kat2321_addin1[] = {0}; +static const unsigned char kat2321_retbits[] = { + 0xe9, 0x2d, 0x7c, 0xbc, 0xb1, 0xea, 0xbb, 0x42, 0xc9, 0x29, 0xac, 0xf3, + 0x1f, 0x73, 0x89, 0x23, 0x0a, 0xaf, 0xa8, 0xe0, 0x24, 0x28, 0x16, 0xde, + 0xaa, 0xd3, 0x9e, 0x16, 0xec, 0x74, 0x0b, 0x1a, 0xae, 0xaa, 0x71, 0x4d, + 0xa2, 0x07, 0x38, 0xb6, 0x1e, 0xd2, 0xbc, 0xe1, 0x9e, 0xd9, 0x43, 0x63, + 0xdf, 0x69, 0xe1, 0x98, 0xbe, 0xd5, 0x5c, 0x1e, 0x96, 0xbb, 0x88, 0x4d, + 0xb5, 0x67, 0xc8, 0xc6, +}; +static const struct drbg_kat_pr_false kat2321_t = { + 10, kat2321_entropyin, kat2321_nonce, kat2321_persstr, + kat2321_entropyinreseed, kat2321_addinreseed, kat2321_addin0, + kat2321_addin1, kat2321_retbits +}; +static const struct drbg_kat kat2321 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2321_t +}; + +static const unsigned char kat2322_entropyin[] = { + 0x3e, 0xf0, 0xb0, 0x9e, 0xcf, 0x9d, 0x32, 0x50, 0x8b, 0xb3, 0xd3, 0x12, + 0x04, 0x4e, 0xc1, 0x1b, 0xc2, 0xcb, 0xff, 0x65, 0xb7, 0xda, 0x5b, 0xb0, + 0x88, 0x89, 0x65, 0x85, 0x4b, 0xb7, 0xa3, 0x19, +}; +static const unsigned char kat2322_nonce[] = {0}; +static const unsigned char kat2322_persstr[] = { + 0x3c, 0xf0, 0xd2, 0x3c, 0x97, 0xc3, 0xbe, 0x61, 0x7f, 0xaa, 0xbb, 0x44, + 0xda, 0xae, 0x96, 0xc4, 0x61, 0x2c, 0x68, 0x19, 0xe6, 0x52, 0xa5, 0x26, + 0x4d, 0x79, 0x80, 0x99, 0x1a, 0x5d, 0x2a, 0x91, +}; +static const unsigned char kat2322_entropyinreseed[] = { + 0xc3, 0x23, 0x6b, 0x2a, 0x1e, 0xe7, 0x89, 0x19, 0xb2, 0x10, 0x3b, 0x0e, + 0xf0, 0xc5, 0x2c, 0x86, 0x53, 0x15, 0x22, 0x78, 0xdb, 0xa2, 0x3e, 0xef, + 0xf3, 0xa7, 0x06, 0x50, 0xb6, 0x6b, 0xe1, 0x5d, +}; +static const unsigned char kat2322_addinreseed[] = {0}; +static const unsigned char kat2322_addin0[] = {0}; +static const unsigned char kat2322_addin1[] = {0}; +static const unsigned char kat2322_retbits[] = { + 0x7a, 0xf7, 0x4e, 0x3d, 0x8f, 0x8a, 0x6f, 0xb4, 0x2e, 0x2e, 0x37, 0x74, + 0xb3, 0x0c, 0xbf, 0x16, 0x79, 0x4f, 0xc3, 0x5b, 0xd3, 0x30, 0xf2, 0xcd, + 0x78, 0x5a, 0x0d, 0xc6, 0x4e, 0x8f, 0xc8, 0x35, 0x11, 0x3b, 0x59, 0x49, + 0x1b, 0x11, 0x3f, 0xaf, 0xed, 0x0e, 0x60, 0xca, 0x0c, 0xd0, 0xb0, 0x0b, + 0x22, 0x0b, 0x5c, 0x6d, 0x73, 0x50, 0xa1, 0x91, 0xb5, 0xd3, 0x18, 0x8a, + 0x74, 0xc5, 0x95, 0x2b, +}; +static const struct drbg_kat_pr_false kat2322_t = { + 11, kat2322_entropyin, kat2322_nonce, kat2322_persstr, + kat2322_entropyinreseed, kat2322_addinreseed, kat2322_addin0, + kat2322_addin1, kat2322_retbits +}; +static const struct drbg_kat kat2322 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2322_t +}; + +static const unsigned char kat2323_entropyin[] = { + 0x9d, 0xac, 0x11, 0xb1, 0x82, 0x5b, 0x54, 0x6c, 0x07, 0x29, 0x7f, 0xce, + 0x1c, 0xde, 0xbf, 0xad, 0x39, 0xef, 0x27, 0x00, 0x33, 0x60, 0x31, 0x09, + 0x7d, 0xfa, 0x86, 0x15, 0x96, 0xd4, 0x90, 0x15, +}; +static const unsigned char kat2323_nonce[] = {0}; +static const unsigned char kat2323_persstr[] = { + 0x37, 0x3c, 0xff, 0x2b, 0x14, 0x9b, 0xa7, 0xcb, 0xb0, 0xf7, 0xab, 0x5a, + 0x8c, 0x57, 0xe1, 0x40, 0xca, 0x53, 0x20, 0xf7, 0xb5, 0xdd, 0xbf, 0x9e, + 0x8d, 0x56, 0x6c, 0x56, 0x43, 0xfa, 0xba, 0x71, +}; +static const unsigned char kat2323_entropyinreseed[] = { + 0xdc, 0xb2, 0x04, 0xc7, 0xb0, 0x59, 0x2f, 0x2f, 0x38, 0xa5, 0x81, 0x8a, + 0xa0, 0xe1, 0xdc, 0xc2, 0xc8, 0x25, 0x53, 0x87, 0x40, 0x98, 0xbc, 0xe4, + 0x01, 0x04, 0x88, 0x88, 0x29, 0xd7, 0x6a, 0xfd, +}; +static const unsigned char kat2323_addinreseed[] = {0}; +static const unsigned char kat2323_addin0[] = {0}; +static const unsigned char kat2323_addin1[] = {0}; +static const unsigned char kat2323_retbits[] = { + 0xe3, 0xf8, 0x82, 0x60, 0xa3, 0x64, 0xd6, 0x73, 0xe8, 0x9f, 0x8a, 0x67, + 0x14, 0x1a, 0xca, 0x4f, 0x0a, 0x4e, 0x9f, 0xd7, 0x33, 0x16, 0x3e, 0x84, + 0xab, 0x7b, 0xa9, 0x40, 0xe4, 0xf0, 0xca, 0x41, 0xb0, 0x90, 0xad, 0xb3, + 0x93, 0xdc, 0x44, 0x6a, 0x0d, 0xc0, 0x4f, 0x11, 0x37, 0x7e, 0x1a, 0xf4, + 0x1d, 0xbc, 0x07, 0x45, 0x4d, 0xb8, 0xe9, 0x57, 0x77, 0x96, 0x09, 0x46, + 0x92, 0xe4, 0xe5, 0x95, +}; +static const struct drbg_kat_pr_false kat2323_t = { + 12, kat2323_entropyin, kat2323_nonce, kat2323_persstr, + kat2323_entropyinreseed, kat2323_addinreseed, kat2323_addin0, + kat2323_addin1, kat2323_retbits +}; +static const struct drbg_kat kat2323 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2323_t +}; + +static const unsigned char kat2324_entropyin[] = { + 0x5c, 0xf5, 0xa3, 0x1a, 0xac, 0x56, 0x98, 0x44, 0x53, 0xc0, 0x11, 0x63, + 0x80, 0xa1, 0x46, 0x22, 0x7f, 0x14, 0xf0, 0x0d, 0x85, 0x03, 0x55, 0x80, + 0xe6, 0xe3, 0xca, 0x73, 0x14, 0x00, 0x30, 0xab, +}; +static const unsigned char kat2324_nonce[] = {0}; +static const unsigned char kat2324_persstr[] = { + 0x52, 0xdf, 0x31, 0x5f, 0x00, 0x6a, 0xb6, 0xae, 0x72, 0x42, 0xbd, 0x0d, + 0xce, 0xfd, 0x9f, 0x0e, 0x7e, 0x6f, 0x18, 0xb2, 0xf5, 0x7b, 0x80, 0x4e, + 0xaa, 0xcf, 0x90, 0x07, 0x5f, 0x3d, 0x39, 0x4f, +}; +static const unsigned char kat2324_entropyinreseed[] = { + 0x81, 0xd1, 0x3e, 0x9c, 0xda, 0x01, 0x2d, 0x25, 0x35, 0xa1, 0xdf, 0x99, + 0xaf, 0x72, 0xf6, 0x43, 0xca, 0xff, 0xb3, 0x77, 0x6b, 0x97, 0x7a, 0x3d, + 0x3f, 0x81, 0x40, 0x59, 0x45, 0x47, 0x09, 0x86, +}; +static const unsigned char kat2324_addinreseed[] = {0}; +static const unsigned char kat2324_addin0[] = {0}; +static const unsigned char kat2324_addin1[] = {0}; +static const unsigned char kat2324_retbits[] = { + 0xc5, 0x0e, 0xda, 0x2d, 0xa3, 0x68, 0xf0, 0x90, 0x8c, 0x9c, 0x1f, 0xfe, + 0x35, 0xe7, 0x5f, 0x02, 0xe2, 0xb8, 0x64, 0xa3, 0x1a, 0x52, 0x9e, 0x62, + 0x04, 0xad, 0x28, 0x2a, 0x3a, 0x95, 0xa4, 0xbf, 0x50, 0xbd, 0xae, 0x43, + 0x83, 0x77, 0x89, 0xf2, 0x84, 0xf3, 0xec, 0xcb, 0xf3, 0x42, 0xb1, 0xcf, + 0x9d, 0x35, 0xaf, 0x47, 0xa3, 0x59, 0x7c, 0xba, 0x11, 0x06, 0x93, 0x3e, + 0x37, 0x69, 0xd2, 0x90, +}; +static const struct drbg_kat_pr_false kat2324_t = { + 13, kat2324_entropyin, kat2324_nonce, kat2324_persstr, + kat2324_entropyinreseed, kat2324_addinreseed, kat2324_addin0, + kat2324_addin1, kat2324_retbits +}; +static const struct drbg_kat kat2324 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2324_t +}; + +static const unsigned char kat2325_entropyin[] = { + 0xc8, 0xa4, 0xe7, 0x39, 0x42, 0x01, 0x9f, 0xa4, 0xae, 0xe8, 0x8e, 0x01, + 0x21, 0x40, 0xe5, 0x65, 0xb5, 0xed, 0x9e, 0xb8, 0x34, 0x5a, 0x37, 0xbd, + 0x0d, 0xd5, 0x0a, 0x58, 0xc0, 0xc3, 0xbb, 0x7d, +}; +static const unsigned char kat2325_nonce[] = {0}; +static const unsigned char kat2325_persstr[] = { + 0x41, 0xb9, 0xb8, 0xe2, 0xd9, 0xa7, 0x94, 0x5f, 0xfc, 0xf2, 0x63, 0x1b, + 0xf7, 0xd6, 0x68, 0x64, 0x89, 0x93, 0xc0, 0xf4, 0x85, 0x9e, 0xa2, 0x2d, + 0xe4, 0x27, 0x9c, 0x02, 0xa7, 0x39, 0xba, 0x2f, +}; +static const unsigned char kat2325_entropyinreseed[] = { + 0xce, 0xcd, 0x9d, 0x0a, 0xc5, 0xcb, 0x7e, 0xa4, 0xcd, 0xa4, 0x56, 0x6b, + 0x87, 0x3b, 0xce, 0xfc, 0x2d, 0xb0, 0x68, 0xee, 0x41, 0x77, 0x4a, 0x68, + 0x61, 0xa2, 0x1b, 0xc6, 0x9c, 0xbe, 0x18, 0x14, +}; +static const unsigned char kat2325_addinreseed[] = {0}; +static const unsigned char kat2325_addin0[] = {0}; +static const unsigned char kat2325_addin1[] = {0}; +static const unsigned char kat2325_retbits[] = { + 0x9d, 0x72, 0x09, 0xb6, 0x25, 0xd5, 0xdf, 0x31, 0xa9, 0x49, 0xfb, 0xf1, + 0x5b, 0xf6, 0xe4, 0x51, 0x5e, 0x42, 0xe6, 0xeb, 0x03, 0x90, 0x9d, 0xd6, + 0xd7, 0xff, 0x4e, 0x00, 0x1a, 0x84, 0x08, 0xc7, 0x04, 0x90, 0x1c, 0xa2, + 0xb2, 0x12, 0x1c, 0x07, 0x9e, 0x36, 0xc2, 0x8a, 0xed, 0x7a, 0x78, 0x6a, + 0xa3, 0x56, 0xb6, 0xf3, 0xc7, 0x5b, 0x87, 0xd4, 0xc7, 0x8a, 0x2d, 0x06, + 0x37, 0x1d, 0xe3, 0x56, +}; +static const struct drbg_kat_pr_false kat2325_t = { + 14, kat2325_entropyin, kat2325_nonce, kat2325_persstr, + kat2325_entropyinreseed, kat2325_addinreseed, kat2325_addin0, + kat2325_addin1, kat2325_retbits +}; +static const struct drbg_kat kat2325 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2325_t +}; + +static const unsigned char kat2326_entropyin[] = { + 0x77, 0x27, 0xb1, 0x13, 0x58, 0xcf, 0xa1, 0x2d, 0x22, 0x09, 0xd9, 0xd3, + 0xd6, 0x94, 0x2c, 0x62, 0x29, 0x6f, 0x68, 0x15, 0x93, 0xa5, 0xfc, 0x7d, + 0x15, 0xd9, 0x24, 0x42, 0xf5, 0xec, 0x75, 0x7e, +}; +static const unsigned char kat2326_nonce[] = {0}; +static const unsigned char kat2326_persstr[] = { + 0xc1, 0xd2, 0x80, 0xfc, 0x9c, 0xed, 0xad, 0xb9, 0x48, 0x64, 0x12, 0x2e, + 0x87, 0x39, 0x89, 0xd7, 0x08, 0x0a, 0x0a, 0x34, 0xc6, 0x25, 0x20, 0x4f, + 0x04, 0xe7, 0x14, 0x16, 0x0c, 0x1c, 0xd9, 0x62, +}; +static const unsigned char kat2326_entropyinreseed[] = { + 0xeb, 0x85, 0x1c, 0xa6, 0x64, 0x7c, 0xff, 0x70, 0xd9, 0x12, 0xd1, 0xe7, + 0x60, 0xab, 0xdb, 0x6b, 0x75, 0x28, 0x1e, 0x3c, 0xfb, 0x21, 0x69, 0x3f, + 0xea, 0x83, 0x06, 0x59, 0x01, 0x30, 0x14, 0x11, +}; +static const unsigned char kat2326_addinreseed[] = { + 0x28, 0xcc, 0xec, 0x62, 0x8a, 0xc9, 0xfd, 0x74, 0x25, 0x1b, 0xdc, 0xfa, + 0xe5, 0xe3, 0xb3, 0x63, 0x05, 0xd5, 0x8d, 0x45, 0xf2, 0x8d, 0xa7, 0xa7, + 0x1e, 0xb2, 0xaa, 0x71, 0x0b, 0x99, 0x71, 0x79, +}; +static const unsigned char kat2326_addin0[] = { + 0x79, 0x45, 0x78, 0xa6, 0x79, 0xba, 0x82, 0xf1, 0xce, 0x61, 0x10, 0x97, + 0x26, 0x53, 0x8c, 0x0e, 0x8d, 0xc9, 0x40, 0x89, 0xf0, 0x1e, 0xe8, 0x1e, + 0x88, 0xda, 0xb2, 0x75, 0x29, 0x86, 0xa5, 0xa8, +}; +static const unsigned char kat2326_addin1[] = { + 0xbf, 0xd0, 0x56, 0x81, 0xf9, 0x91, 0x7e, 0x99, 0x9e, 0xfe, 0x25, 0xc1, + 0x9a, 0x94, 0x36, 0x49, 0x88, 0x0a, 0x7a, 0x79, 0x81, 0x91, 0x54, 0x34, + 0xf5, 0xd1, 0x72, 0x98, 0x42, 0x6a, 0x23, 0x6b, +}; +static const unsigned char kat2326_retbits[] = { + 0x1a, 0xab, 0x46, 0x36, 0x5a, 0x15, 0x0b, 0xd2, 0x28, 0x1f, 0xa4, 0x95, + 0x55, 0x30, 0x10, 0x16, 0xbc, 0xd2, 0x26, 0x5d, 0x19, 0xb8, 0xfb, 0x83, + 0xde, 0xec, 0xc6, 0x3a, 0xb3, 0x25, 0x03, 0xce, 0x6b, 0x69, 0x6e, 0x15, + 0x76, 0x40, 0xf7, 0x87, 0x8a, 0x74, 0xa1, 0x6d, 0xd8, 0x7c, 0xe7, 0x29, + 0x94, 0x7a, 0x25, 0x63, 0xab, 0xce, 0x4d, 0xc9, 0xd5, 0x3e, 0x53, 0x6b, + 0xf6, 0xf9, 0x3c, 0xd5, +}; +static const struct drbg_kat_pr_false kat2326_t = { + 0, kat2326_entropyin, kat2326_nonce, kat2326_persstr, + kat2326_entropyinreseed, kat2326_addinreseed, kat2326_addin0, + kat2326_addin1, kat2326_retbits +}; +static const struct drbg_kat kat2326 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2326_t +}; + +static const unsigned char kat2327_entropyin[] = { + 0x80, 0x2e, 0xcb, 0x74, 0x7f, 0x01, 0x13, 0x09, 0x78, 0x61, 0xdf, 0x03, + 0xde, 0x18, 0x11, 0xa3, 0x54, 0xd9, 0xb1, 0x8b, 0xa9, 0x8f, 0x2c, 0xaf, + 0xf4, 0x28, 0x3f, 0x33, 0x05, 0xca, 0x9d, 0x82, +}; +static const unsigned char kat2327_nonce[] = {0}; +static const unsigned char kat2327_persstr[] = { + 0x38, 0xb3, 0x90, 0xf8, 0x05, 0x2c, 0xd8, 0x90, 0x54, 0x9f, 0x7e, 0x5e, + 0x97, 0x3e, 0x31, 0x8e, 0xc5, 0xcb, 0xbd, 0x02, 0x29, 0x28, 0x02, 0x5c, + 0xf2, 0x13, 0x6e, 0x21, 0xd9, 0xb0, 0x64, 0xa2, +}; +static const unsigned char kat2327_entropyinreseed[] = { + 0x59, 0x59, 0xaa, 0x5d, 0x35, 0x48, 0x7e, 0xd4, 0x62, 0xdf, 0xc3, 0xd9, + 0x81, 0x6f, 0x63, 0xda, 0x17, 0x26, 0xc5, 0xab, 0x65, 0xd8, 0xf1, 0xb6, + 0x72, 0x99, 0x1a, 0xd1, 0xfe, 0x8a, 0x3c, 0x57, +}; +static const unsigned char kat2327_addinreseed[] = { + 0x57, 0x62, 0x8d, 0xc4, 0xf1, 0xb4, 0x8c, 0x9d, 0x8e, 0x24, 0x84, 0xb0, + 0x61, 0xcd, 0x2f, 0xc8, 0xb2, 0x9e, 0xe1, 0x39, 0x4c, 0x3f, 0x70, 0x74, + 0xac, 0x0b, 0x01, 0x49, 0xb9, 0x98, 0xe0, 0x7d, +}; +static const unsigned char kat2327_addin0[] = { + 0xaf, 0xcf, 0x94, 0x5b, 0xf2, 0x08, 0xa1, 0x90, 0xff, 0x1c, 0xf3, 0xa3, + 0xd3, 0x55, 0x4d, 0xca, 0x0d, 0xa1, 0xc5, 0xbf, 0x21, 0xc9, 0x6f, 0xc2, + 0x83, 0x67, 0x7d, 0xe1, 0x97, 0x22, 0xe6, 0x78, +}; +static const unsigned char kat2327_addin1[] = { + 0x22, 0xc9, 0x4a, 0xb5, 0x04, 0xa6, 0xfa, 0x3d, 0x00, 0xce, 0x68, 0x5d, + 0xb6, 0xc2, 0x65, 0x29, 0x49, 0x4f, 0x2e, 0x86, 0x11, 0x0f, 0x8b, 0x4e, + 0xf3, 0x55, 0x0e, 0x62, 0xa9, 0x38, 0x50, 0x60, +}; +static const unsigned char kat2327_retbits[] = { + 0x69, 0x4e, 0x8b, 0x4b, 0xb5, 0x60, 0x7e, 0x89, 0x42, 0x3c, 0x10, 0xb2, + 0x71, 0x73, 0x2b, 0xa4, 0x01, 0x4a, 0x8a, 0x21, 0xd1, 0xe6, 0x95, 0xc6, + 0x54, 0x57, 0x92, 0xee, 0x30, 0x77, 0xb9, 0xce, 0x90, 0xda, 0x16, 0x2a, + 0xc7, 0x5b, 0xb5, 0x15, 0x2f, 0x7b, 0xf3, 0xfa, 0x07, 0xba, 0x9d, 0xfd, + 0x7a, 0x55, 0x07, 0x7e, 0x69, 0x38, 0x22, 0xda, 0x11, 0x34, 0xb7, 0xc8, + 0x1f, 0xb8, 0x8c, 0xcc, +}; +static const struct drbg_kat_pr_false kat2327_t = { + 1, kat2327_entropyin, kat2327_nonce, kat2327_persstr, + kat2327_entropyinreseed, kat2327_addinreseed, kat2327_addin0, + kat2327_addin1, kat2327_retbits +}; +static const struct drbg_kat kat2327 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2327_t +}; + +static const unsigned char kat2328_entropyin[] = { + 0x29, 0x24, 0x55, 0xcb, 0x52, 0x6e, 0x83, 0x8c, 0x2a, 0xe9, 0x1b, 0x2e, + 0x16, 0xe0, 0x81, 0xeb, 0x63, 0xa1, 0xc0, 0x46, 0x69, 0xfd, 0xdd, 0xcd, + 0xcf, 0x80, 0x28, 0x4c, 0x35, 0x32, 0x2d, 0xbe, +}; +static const unsigned char kat2328_nonce[] = {0}; +static const unsigned char kat2328_persstr[] = { + 0x1f, 0xa3, 0x6f, 0xeb, 0x20, 0xf4, 0x08, 0x80, 0x3e, 0x68, 0xf6, 0x89, + 0x5e, 0x61, 0x84, 0x32, 0x53, 0x6f, 0x5e, 0xbe, 0x1d, 0x9d, 0xbd, 0x72, + 0x80, 0x4f, 0x3e, 0xa9, 0x72, 0x0e, 0x27, 0x4b, +}; +static const unsigned char kat2328_entropyinreseed[] = { + 0x59, 0xb0, 0x63, 0xf4, 0x7e, 0xf6, 0x96, 0xdd, 0x24, 0x43, 0x77, 0xd8, + 0xe2, 0x2b, 0xbf, 0x03, 0x5c, 0xf5, 0x05, 0x46, 0xac, 0x0e, 0x7b, 0xa7, + 0x6e, 0x3d, 0x18, 0xcb, 0x78, 0xee, 0x68, 0xcd, +}; +static const unsigned char kat2328_addinreseed[] = { + 0x2d, 0x5f, 0x74, 0x01, 0xfc, 0xc7, 0xd7, 0xbf, 0x6b, 0xf8, 0x61, 0xbe, + 0x08, 0x87, 0xeb, 0xb7, 0x76, 0xad, 0xeb, 0xcc, 0x11, 0x8d, 0xc8, 0x50, + 0x15, 0xb8, 0x4c, 0x66, 0x33, 0x22, 0xf6, 0xc6, +}; +static const unsigned char kat2328_addin0[] = { + 0x59, 0x6c, 0x6d, 0xde, 0x7b, 0x82, 0xb4, 0x85, 0x0b, 0xc7, 0x3b, 0x34, + 0x0b, 0x34, 0xd6, 0x89, 0x83, 0xd5, 0x6f, 0x3a, 0xa8, 0x59, 0x21, 0x1c, + 0xcb, 0x92, 0xe6, 0x75, 0x77, 0xdd, 0x73, 0x5d, +}; +static const unsigned char kat2328_addin1[] = { + 0x85, 0x8d, 0xa0, 0x66, 0x93, 0x4d, 0x2a, 0x52, 0x15, 0xec, 0xf3, 0xd2, + 0xe8, 0x90, 0xe7, 0x3d, 0x7f, 0x38, 0x9c, 0x75, 0x32, 0x80, 0x07, 0xb6, + 0xcd, 0x91, 0xe6, 0x3f, 0xec, 0x5f, 0x5e, 0x0c, +}; +static const unsigned char kat2328_retbits[] = { + 0x8d, 0x30, 0xc1, 0xe9, 0x65, 0x6b, 0x81, 0xc3, 0xc4, 0x76, 0x6b, 0x24, + 0x55, 0x09, 0x59, 0x16, 0x4a, 0xe8, 0xc6, 0xa3, 0xf6, 0x3a, 0xa6, 0x13, + 0x34, 0xa6, 0x37, 0xf3, 0x4d, 0xa9, 0x39, 0xa8, 0x47, 0xb4, 0x4d, 0x6a, + 0xc0, 0x38, 0x10, 0x9c, 0x65, 0x73, 0xf7, 0xe7, 0xb5, 0x16, 0xf7, 0x8b, + 0x1c, 0x9d, 0xd6, 0x59, 0x8d, 0x11, 0x8c, 0x68, 0x15, 0xd8, 0xea, 0x2c, + 0x5f, 0x89, 0x23, 0x48, +}; +static const struct drbg_kat_pr_false kat2328_t = { + 2, kat2328_entropyin, kat2328_nonce, kat2328_persstr, + kat2328_entropyinreseed, kat2328_addinreseed, kat2328_addin0, + kat2328_addin1, kat2328_retbits +}; +static const struct drbg_kat kat2328 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2328_t +}; + +static const unsigned char kat2329_entropyin[] = { + 0x71, 0x73, 0xa8, 0xab, 0x13, 0xa1, 0xb3, 0x82, 0xf7, 0x35, 0x49, 0xa9, + 0x7a, 0x9c, 0xb1, 0xec, 0x2b, 0x64, 0x8d, 0xab, 0xfa, 0x0c, 0x7e, 0x54, + 0xb7, 0xcc, 0x6f, 0x51, 0xc4, 0xac, 0xeb, 0x5f, +}; +static const unsigned char kat2329_nonce[] = {0}; +static const unsigned char kat2329_persstr[] = { + 0x92, 0x46, 0xdc, 0xd4, 0x83, 0x83, 0xd0, 0xf5, 0x84, 0x7d, 0xe8, 0x5d, + 0xcf, 0x0e, 0x1a, 0x0b, 0xd3, 0x6b, 0x8d, 0x8e, 0x84, 0xce, 0xe7, 0xd3, + 0x7a, 0x60, 0x8b, 0xe9, 0xa2, 0xdd, 0x2d, 0x1f, +}; +static const unsigned char kat2329_entropyinreseed[] = { + 0xfe, 0x80, 0xc5, 0x88, 0xf5, 0x75, 0x4b, 0x98, 0x98, 0x6d, 0xdb, 0x47, + 0x78, 0x7a, 0xb6, 0xc0, 0x67, 0x31, 0xc9, 0xc5, 0xb7, 0xea, 0x01, 0x82, + 0x80, 0x21, 0xee, 0x96, 0x4b, 0x26, 0x0d, 0x1a, +}; +static const unsigned char kat2329_addinreseed[] = { + 0x82, 0x02, 0xb4, 0x60, 0xb0, 0xdc, 0x49, 0x06, 0x67, 0x3e, 0x88, 0x3c, + 0xd2, 0x8d, 0x8e, 0xb7, 0xcf, 0x30, 0x3c, 0x8e, 0xd3, 0x1e, 0x37, 0x69, + 0x2b, 0x0f, 0x5a, 0x5f, 0xcf, 0x68, 0x7e, 0xa5, +}; +static const unsigned char kat2329_addin0[] = { + 0x20, 0x4d, 0xd4, 0x1d, 0x44, 0xad, 0xf8, 0xeb, 0x97, 0x75, 0x8b, 0xc6, + 0x4e, 0xff, 0xa3, 0x2f, 0x42, 0x66, 0x17, 0x46, 0x86, 0xeb, 0xc0, 0x2b, + 0xb6, 0xbc, 0xb9, 0x3d, 0x50, 0x03, 0xc2, 0xf2, +}; +static const unsigned char kat2329_addin1[] = { + 0xdd, 0xf6, 0xb6, 0x4b, 0x8b, 0xcb, 0x95, 0x9b, 0x9e, 0xb3, 0x44, 0x91, + 0x61, 0x70, 0xa9, 0xae, 0xa9, 0xe9, 0x47, 0xd3, 0x34, 0x2a, 0xcc, 0x3d, + 0xe8, 0xe4, 0x7b, 0xa9, 0xa4, 0xe8, 0x9b, 0xbc, +}; +static const unsigned char kat2329_retbits[] = { + 0x52, 0x98, 0x3b, 0x6e, 0x7c, 0x3f, 0xc9, 0x1e, 0x7e, 0xc9, 0x87, 0x78, + 0x30, 0xad, 0x1d, 0x3c, 0x67, 0xbc, 0xd8, 0x0b, 0x06, 0x1e, 0x2c, 0x50, + 0xd8, 0x28, 0x9f, 0x26, 0xf5, 0x91, 0x5f, 0x9b, 0x3e, 0x20, 0x14, 0x82, + 0xb2, 0xfa, 0xa9, 0x80, 0x2a, 0x5a, 0x41, 0x58, 0xe2, 0x47, 0x59, 0x88, + 0xd4, 0x69, 0x80, 0x4a, 0x52, 0x9a, 0xca, 0x9d, 0x41, 0xf1, 0x0c, 0x5a, + 0x7f, 0x30, 0x07, 0x7f, +}; +static const struct drbg_kat_pr_false kat2329_t = { + 3, kat2329_entropyin, kat2329_nonce, kat2329_persstr, + kat2329_entropyinreseed, kat2329_addinreseed, kat2329_addin0, + kat2329_addin1, kat2329_retbits +}; +static const struct drbg_kat kat2329 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2329_t +}; + +static const unsigned char kat2330_entropyin[] = { + 0x50, 0x0d, 0x45, 0xce, 0x65, 0xb0, 0xfe, 0x2a, 0xd5, 0xf9, 0xb9, 0x62, + 0xc0, 0x64, 0xb0, 0x95, 0x0e, 0xe9, 0x5b, 0x09, 0xd4, 0xd7, 0xd7, 0x95, + 0x28, 0x01, 0xed, 0x09, 0x59, 0x78, 0x2b, 0x9d, +}; +static const unsigned char kat2330_nonce[] = {0}; +static const unsigned char kat2330_persstr[] = { + 0x9f, 0x23, 0x37, 0xba, 0xb3, 0x1d, 0x98, 0x9a, 0x8e, 0xdd, 0xcb, 0x3c, + 0x05, 0x75, 0x3f, 0x22, 0x8b, 0xff, 0x22, 0xff, 0xed, 0x2b, 0x72, 0x9d, + 0x81, 0xa0, 0x93, 0xe9, 0x0a, 0x4c, 0x21, 0xb8, +}; +static const unsigned char kat2330_entropyinreseed[] = { + 0x3b, 0xee, 0x44, 0x66, 0x9e, 0x4e, 0x9b, 0xe0, 0x1a, 0x27, 0x95, 0xef, + 0x64, 0xde, 0xd2, 0x8f, 0x9c, 0x43, 0x02, 0x4f, 0x9b, 0xcb, 0xc7, 0xdc, + 0x03, 0x3a, 0x76, 0x46, 0x6f, 0xe6, 0x07, 0x47, +}; +static const unsigned char kat2330_addinreseed[] = { + 0x1a, 0x7a, 0x24, 0x5c, 0xe2, 0xb8, 0xb0, 0x0a, 0x57, 0x62, 0x9c, 0xab, + 0x9d, 0xae, 0xaa, 0xe8, 0xa2, 0xe3, 0x15, 0x90, 0xbc, 0x3f, 0xd3, 0xba, + 0x18, 0x38, 0xdf, 0x54, 0xce, 0x01, 0x9a, 0x29, +}; +static const unsigned char kat2330_addin0[] = { + 0xb5, 0xf1, 0x90, 0xc9, 0x89, 0x13, 0xc0, 0x07, 0xd4, 0x1a, 0x31, 0x0f, + 0x45, 0xec, 0xb9, 0xf6, 0x70, 0xac, 0x05, 0x84, 0x58, 0xec, 0x02, 0xab, + 0x5a, 0xc5, 0x62, 0xf7, 0x94, 0x84, 0x50, 0xef, +}; +static const unsigned char kat2330_addin1[] = { + 0x88, 0x38, 0x19, 0x87, 0xd3, 0xba, 0xd5, 0x83, 0xe0, 0x8d, 0xb2, 0x84, + 0x7a, 0x6e, 0x87, 0x72, 0x79, 0xc5, 0x1f, 0xa3, 0xb1, 0xa7, 0xe1, 0xa9, + 0xe8, 0x59, 0xe2, 0xc4, 0xf4, 0x23, 0xec, 0x21, +}; +static const unsigned char kat2330_retbits[] = { + 0xff, 0xf0, 0x4b, 0xe4, 0xaf, 0x79, 0x1a, 0xdf, 0x61, 0xfa, 0xef, 0xe2, + 0xbb, 0x71, 0x45, 0xfe, 0x2f, 0x02, 0x38, 0xde, 0x8a, 0xdd, 0x47, 0x3f, + 0x7f, 0xcc, 0x7f, 0x9d, 0x82, 0x03, 0x94, 0xf7, 0xe0, 0xee, 0x92, 0xd1, + 0x78, 0x07, 0x58, 0x6c, 0xde, 0x4b, 0x11, 0xa5, 0x09, 0x68, 0xb0, 0xef, + 0x7a, 0x11, 0xdb, 0x1e, 0xe3, 0x57, 0xcc, 0xcc, 0xed, 0x69, 0xb1, 0xc4, + 0xb0, 0x1e, 0xcd, 0x53, +}; +static const struct drbg_kat_pr_false kat2330_t = { + 4, kat2330_entropyin, kat2330_nonce, kat2330_persstr, + kat2330_entropyinreseed, kat2330_addinreseed, kat2330_addin0, + kat2330_addin1, kat2330_retbits +}; +static const struct drbg_kat kat2330 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2330_t +}; + +static const unsigned char kat2331_entropyin[] = { + 0x0e, 0x1a, 0x74, 0x9c, 0xdf, 0x38, 0x55, 0xff, 0x8c, 0xa6, 0x51, 0x09, + 0xb5, 0xc4, 0x1c, 0x51, 0x9f, 0xa7, 0x49, 0x34, 0x32, 0xd6, 0xbb, 0xc1, + 0xf2, 0xfc, 0x08, 0x57, 0x53, 0xa4, 0xf3, 0x0d, +}; +static const unsigned char kat2331_nonce[] = {0}; +static const unsigned char kat2331_persstr[] = { + 0x14, 0xbc, 0xa9, 0x3c, 0xe8, 0xec, 0x94, 0x26, 0xa1, 0x6a, 0x75, 0x95, + 0xdc, 0xf0, 0xba, 0x0c, 0x69, 0xc7, 0xfd, 0x76, 0xa7, 0x5a, 0x1c, 0xa8, + 0x65, 0xf5, 0x3a, 0xd2, 0xfa, 0xbb, 0x3f, 0xdd, +}; +static const unsigned char kat2331_entropyinreseed[] = { + 0x77, 0xbd, 0xbe, 0x9f, 0xf4, 0x08, 0xea, 0xe5, 0x53, 0x55, 0xeb, 0xaa, + 0xf4, 0x77, 0x9b, 0xdd, 0x53, 0x39, 0x71, 0xeb, 0xd5, 0x9b, 0x9b, 0x7d, + 0xb5, 0xee, 0xc1, 0x7a, 0xa4, 0x07, 0x8f, 0xae, +}; +static const unsigned char kat2331_addinreseed[] = { + 0x1d, 0x89, 0xcb, 0xd3, 0x23, 0x9f, 0x8f, 0x6a, 0x0f, 0x20, 0xc1, 0xc1, + 0x37, 0x22, 0xcc, 0xf1, 0xd5, 0xac, 0x10, 0xb6, 0x36, 0x26, 0x76, 0x70, + 0xb4, 0x76, 0x2e, 0x0d, 0xcf, 0x95, 0x99, 0xeb, +}; +static const unsigned char kat2331_addin0[] = { + 0x6c, 0xa4, 0xa4, 0xc5, 0x57, 0x4e, 0x96, 0xa1, 0x2a, 0xc7, 0x40, 0x15, + 0x6d, 0x74, 0xab, 0x5e, 0xf4, 0x7c, 0x87, 0xad, 0xdf, 0xe7, 0x93, 0xa9, + 0x7a, 0x56, 0x32, 0x41, 0x77, 0x0a, 0xc0, 0xab, +}; +static const unsigned char kat2331_addin1[] = { + 0x92, 0x6c, 0x37, 0x67, 0xdd, 0x1e, 0x75, 0xad, 0x60, 0xef, 0x12, 0xdf, + 0xdf, 0xdd, 0xd4, 0x76, 0x38, 0xac, 0x68, 0x25, 0x48, 0x76, 0x4b, 0xe2, + 0x57, 0x61, 0x8c, 0xe1, 0x57, 0x83, 0x4a, 0x52, +}; +static const unsigned char kat2331_retbits[] = { + 0x71, 0x40, 0xe4, 0x69, 0x8c, 0xcc, 0x78, 0x9d, 0x8a, 0x91, 0x32, 0x4f, + 0xe3, 0x35, 0x59, 0x49, 0x93, 0x0d, 0x00, 0xa7, 0xe5, 0x82, 0x59, 0x51, + 0x10, 0x54, 0x7f, 0x3e, 0x28, 0x4a, 0x2c, 0x08, 0x7e, 0xc3, 0x27, 0x51, + 0x85, 0x2b, 0x82, 0x26, 0x29, 0x4c, 0xf1, 0xd1, 0xa0, 0x48, 0xfd, 0x94, + 0x80, 0xd4, 0xe5, 0x29, 0xe0, 0xba, 0x17, 0x81, 0xd4, 0xb1, 0x21, 0x20, + 0xd4, 0x44, 0x8d, 0x19, +}; +static const struct drbg_kat_pr_false kat2331_t = { + 5, kat2331_entropyin, kat2331_nonce, kat2331_persstr, + kat2331_entropyinreseed, kat2331_addinreseed, kat2331_addin0, + kat2331_addin1, kat2331_retbits +}; +static const struct drbg_kat kat2331 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2331_t +}; + +static const unsigned char kat2332_entropyin[] = { + 0xf5, 0x5d, 0xd2, 0x9a, 0xa4, 0x87, 0xd8, 0x83, 0x93, 0x5a, 0x66, 0xd4, + 0xab, 0xa2, 0x4b, 0xf1, 0x17, 0x17, 0x46, 0xaa, 0x68, 0x30, 0xb6, 0xc1, + 0x02, 0xa0, 0x39, 0x35, 0x4c, 0x69, 0x04, 0x8c, +}; +static const unsigned char kat2332_nonce[] = {0}; +static const unsigned char kat2332_persstr[] = { + 0x55, 0x6e, 0xc2, 0x42, 0xe5, 0x52, 0x64, 0x3f, 0x3b, 0xba, 0xce, 0x99, + 0x95, 0x2e, 0x5e, 0x2f, 0x12, 0x3e, 0x5b, 0x55, 0xa7, 0xfd, 0xe5, 0xc7, + 0x50, 0x75, 0x05, 0x0c, 0x68, 0x92, 0x50, 0xcd, +}; +static const unsigned char kat2332_entropyinreseed[] = { + 0xec, 0x61, 0xbf, 0xb0, 0x7f, 0xe2, 0xd3, 0x0b, 0x8f, 0x7b, 0xf9, 0xe3, + 0x9c, 0x7b, 0xeb, 0x0d, 0xe9, 0x67, 0x19, 0x32, 0x26, 0x4f, 0xc8, 0x17, + 0xa4, 0x24, 0x9f, 0x84, 0x8c, 0x64, 0x1d, 0x40, +}; +static const unsigned char kat2332_addinreseed[] = { + 0x16, 0xf6, 0x93, 0xdb, 0x60, 0x24, 0xb7, 0x0f, 0x0c, 0x99, 0x55, 0x41, + 0x6c, 0xfe, 0xb0, 0x7a, 0xbe, 0x41, 0x1f, 0x64, 0xfe, 0x67, 0x04, 0x95, + 0xe6, 0x56, 0x99, 0x87, 0x9c, 0x1d, 0x75, 0x1b, +}; +static const unsigned char kat2332_addin0[] = { + 0xf6, 0x77, 0x5b, 0x3d, 0x13, 0x77, 0xe8, 0xf0, 0x16, 0xa4, 0x4b, 0xbd, + 0x53, 0xdf, 0xb7, 0xc5, 0x4b, 0x20, 0x0f, 0x19, 0xa4, 0x06, 0xbb, 0xf4, + 0x6c, 0xf0, 0x19, 0x67, 0x2b, 0xb1, 0x00, 0xb5, +}; +static const unsigned char kat2332_addin1[] = { + 0x00, 0x94, 0x1d, 0xc2, 0xcd, 0x41, 0xca, 0xf0, 0x81, 0x81, 0x3b, 0x44, + 0x0f, 0xd9, 0x0c, 0x0d, 0x1f, 0xbb, 0xe6, 0x71, 0xb8, 0x51, 0xb7, 0xe7, + 0x47, 0xdf, 0x89, 0x87, 0x8d, 0xf5, 0x61, 0x1e, +}; +static const unsigned char kat2332_retbits[] = { + 0xdf, 0xd9, 0x19, 0x0e, 0xd3, 0x22, 0xa8, 0x4a, 0xa3, 0x0b, 0xff, 0x07, + 0xdb, 0x07, 0xb7, 0x85, 0xd6, 0x63, 0x3c, 0x39, 0xf8, 0xef, 0x12, 0xfa, + 0xe0, 0xe2, 0xa4, 0x5b, 0xc3, 0x8e, 0xc1, 0x09, 0x84, 0xa8, 0x6d, 0x39, + 0xe9, 0x6f, 0x81, 0xfd, 0x7d, 0xda, 0x32, 0x31, 0x22, 0xc6, 0xa2, 0xf8, + 0xb5, 0xff, 0x1d, 0xd0, 0xc9, 0x5c, 0x8b, 0x92, 0xa0, 0x86, 0xa8, 0xed, + 0x79, 0xfe, 0x90, 0x0b, +}; +static const struct drbg_kat_pr_false kat2332_t = { + 6, kat2332_entropyin, kat2332_nonce, kat2332_persstr, + kat2332_entropyinreseed, kat2332_addinreseed, kat2332_addin0, + kat2332_addin1, kat2332_retbits +}; +static const struct drbg_kat kat2332 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2332_t +}; + +static const unsigned char kat2333_entropyin[] = { + 0x76, 0x82, 0x73, 0xda, 0xe7, 0x88, 0x82, 0x9e, 0xe9, 0xd1, 0xc0, 0xb4, + 0xa5, 0x87, 0x1d, 0x87, 0x8a, 0x77, 0x06, 0x09, 0x25, 0x85, 0x1d, 0xef, + 0x18, 0x95, 0x22, 0x50, 0x91, 0x1d, 0x59, 0xf3, +}; +static const unsigned char kat2333_nonce[] = {0}; +static const unsigned char kat2333_persstr[] = { + 0x5b, 0x9f, 0x96, 0x8d, 0xf5, 0xd2, 0x97, 0xa1, 0x86, 0x3d, 0x57, 0xc8, + 0xe1, 0x22, 0xa0, 0xac, 0xb2, 0x3d, 0x4d, 0x53, 0xef, 0x8c, 0x46, 0x50, + 0x46, 0x32, 0x30, 0x82, 0x07, 0x5d, 0xe4, 0xc6, +}; +static const unsigned char kat2333_entropyinreseed[] = { + 0xfe, 0x47, 0xc7, 0xea, 0x3c, 0x95, 0xd1, 0x20, 0x61, 0x3a, 0x57, 0x84, + 0x61, 0x6b, 0x68, 0xae, 0x25, 0x30, 0xfa, 0xd5, 0xdc, 0x16, 0x04, 0x19, + 0xde, 0xed, 0x6e, 0x3d, 0xc9, 0xa1, 0xbf, 0xe1, +}; +static const unsigned char kat2333_addinreseed[] = { + 0xaf, 0x65, 0xc7, 0x9e, 0xb9, 0xa5, 0xf8, 0x6a, 0xf7, 0xc0, 0x96, 0x0d, + 0x59, 0x18, 0xdc, 0xa9, 0x5d, 0x0c, 0x57, 0x38, 0xf5, 0x17, 0x4b, 0xa9, + 0x11, 0x04, 0x3e, 0x32, 0x8d, 0x04, 0x3d, 0x62, +}; +static const unsigned char kat2333_addin0[] = { + 0xcf, 0xbc, 0xb2, 0x09, 0xa5, 0xbd, 0x18, 0xbd, 0x07, 0x22, 0x53, 0x58, + 0xd0, 0xc3, 0xc1, 0x03, 0x6a, 0x2b, 0x20, 0xd2, 0xe7, 0x15, 0xbc, 0xd4, + 0x26, 0x46, 0xd9, 0x72, 0xfc, 0x28, 0x84, 0xac, +}; +static const unsigned char kat2333_addin1[] = { + 0xba, 0xfb, 0xe8, 0x2a, 0x93, 0x5e, 0xd0, 0x3c, 0x82, 0x8f, 0x55, 0xfe, + 0xa7, 0x54, 0x1f, 0xcd, 0x36, 0xde, 0x29, 0xe7, 0xdc, 0xa1, 0x05, 0xd0, + 0x95, 0x85, 0x51, 0x6d, 0x9b, 0xf9, 0x17, 0x31, +}; +static const unsigned char kat2333_retbits[] = { + 0x20, 0xba, 0x45, 0x46, 0xcf, 0xd5, 0x02, 0x77, 0x16, 0x32, 0x13, 0x3b, + 0xf9, 0xfb, 0x59, 0xa5, 0xe1, 0x3d, 0xb5, 0xd2, 0xf4, 0xd0, 0xb3, 0x77, + 0x7e, 0x11, 0x41, 0xec, 0xf4, 0x10, 0xaf, 0xf1, 0xb4, 0x34, 0x7a, 0x29, + 0xbc, 0xc2, 0xd6, 0x8a, 0xd4, 0x63, 0x29, 0x1c, 0x9f, 0x49, 0x9a, 0x06, + 0xed, 0x0b, 0x79, 0x51, 0xbd, 0x41, 0x1e, 0x92, 0xe1, 0xb9, 0xce, 0x40, + 0x3b, 0xd0, 0x6c, 0x5d, +}; +static const struct drbg_kat_pr_false kat2333_t = { + 7, kat2333_entropyin, kat2333_nonce, kat2333_persstr, + kat2333_entropyinreseed, kat2333_addinreseed, kat2333_addin0, + kat2333_addin1, kat2333_retbits +}; +static const struct drbg_kat kat2333 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2333_t +}; + +static const unsigned char kat2334_entropyin[] = { + 0x33, 0x63, 0x6a, 0x4d, 0xcb, 0x87, 0xc5, 0x01, 0xa9, 0x9f, 0x11, 0x9d, + 0x96, 0x8a, 0x31, 0x82, 0xf6, 0x78, 0x6b, 0x3d, 0x23, 0xca, 0xdb, 0xd5, + 0x0c, 0xee, 0xdf, 0x9c, 0x9d, 0xc8, 0xda, 0x84, +}; +static const unsigned char kat2334_nonce[] = {0}; +static const unsigned char kat2334_persstr[] = { + 0xf5, 0x90, 0xea, 0xf7, 0x33, 0x19, 0xec, 0x9e, 0x90, 0x7f, 0x97, 0x25, + 0xb5, 0x1a, 0x16, 0x6f, 0xe8, 0xa8, 0xdc, 0x6d, 0x23, 0x84, 0xee, 0x72, + 0xbf, 0x7f, 0x55, 0xf8, 0x37, 0x8c, 0x29, 0xe8, +}; +static const unsigned char kat2334_entropyinreseed[] = { + 0xf9, 0xa6, 0xa6, 0x3c, 0xf9, 0x41, 0x49, 0xb8, 0x5f, 0x89, 0x2c, 0x8c, + 0x59, 0xfe, 0x20, 0xe7, 0x80, 0x84, 0xc2, 0x81, 0x13, 0x16, 0xb3, 0xd9, + 0x43, 0x21, 0x9d, 0x2c, 0xe1, 0x16, 0x32, 0xe5, +}; +static const unsigned char kat2334_addinreseed[] = { + 0xda, 0xdd, 0x67, 0xa3, 0xfe, 0x25, 0x5f, 0x48, 0x8f, 0xdc, 0xe4, 0x1b, + 0x28, 0xbf, 0x74, 0xcc, 0xd6, 0xbf, 0x49, 0xa7, 0xf8, 0x5d, 0x52, 0x88, + 0x75, 0xbc, 0x5e, 0x6b, 0xe5, 0x59, 0xd4, 0x13, +}; +static const unsigned char kat2334_addin0[] = { + 0x33, 0xd6, 0x34, 0xce, 0xe0, 0x45, 0x45, 0x3b, 0x13, 0xe1, 0xb1, 0x89, + 0x35, 0x5c, 0x0c, 0x99, 0x39, 0x67, 0x80, 0x51, 0x69, 0xbe, 0xf7, 0x2b, + 0xe5, 0x07, 0x37, 0xe3, 0x22, 0xf6, 0x7c, 0xc4, +}; +static const unsigned char kat2334_addin1[] = { + 0x4e, 0x52, 0x8a, 0x71, 0x93, 0x01, 0x6c, 0x54, 0xa0, 0xb1, 0x04, 0x1c, + 0xf2, 0x6c, 0xbc, 0xe9, 0x63, 0x64, 0x34, 0x81, 0x99, 0x8e, 0xa1, 0xf8, + 0x84, 0xb4, 0x63, 0x37, 0x23, 0x58, 0xe5, 0xb2, +}; +static const unsigned char kat2334_retbits[] = { + 0xc0, 0x07, 0x07, 0xab, 0x14, 0x72, 0xcf, 0xc3, 0xee, 0x0a, 0xed, 0x1b, + 0x8d, 0x86, 0x6b, 0x90, 0x9c, 0x15, 0x8b, 0x27, 0x20, 0x52, 0xa7, 0x5f, + 0x9f, 0xa9, 0x6e, 0x24, 0x8f, 0xd4, 0x54, 0x49, 0x00, 0x7d, 0x03, 0xf0, + 0xe1, 0x4d, 0x2e, 0x5d, 0x54, 0x4c, 0x37, 0x96, 0x26, 0x16, 0x59, 0xe3, + 0x07, 0x2e, 0x7c, 0x09, 0x58, 0x36, 0x52, 0xe4, 0xbc, 0x5b, 0xd7, 0xd9, + 0xb8, 0xac, 0xc1, 0xbd, +}; +static const struct drbg_kat_pr_false kat2334_t = { + 8, kat2334_entropyin, kat2334_nonce, kat2334_persstr, + kat2334_entropyinreseed, kat2334_addinreseed, kat2334_addin0, + kat2334_addin1, kat2334_retbits +}; +static const struct drbg_kat kat2334 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2334_t +}; + +static const unsigned char kat2335_entropyin[] = { + 0x5e, 0x0c, 0xe9, 0xdb, 0x9e, 0x51, 0x97, 0xc9, 0x39, 0xbb, 0x85, 0x7b, + 0x6d, 0xb4, 0x96, 0xc2, 0x3f, 0x3f, 0x4f, 0xf4, 0x1c, 0x27, 0xae, 0x9d, + 0x9d, 0x91, 0x0b, 0xa2, 0x9d, 0x77, 0xee, 0x81, +}; +static const unsigned char kat2335_nonce[] = {0}; +static const unsigned char kat2335_persstr[] = { + 0x01, 0x90, 0xe7, 0xae, 0x55, 0x1e, 0x04, 0xb6, 0x86, 0xe7, 0xec, 0x5f, + 0xe9, 0x5d, 0xbd, 0xee, 0x68, 0xea, 0xbb, 0x5b, 0x53, 0xba, 0x9a, 0x66, + 0x31, 0x6c, 0x11, 0x1e, 0x8b, 0xc9, 0xbb, 0xf6, +}; +static const unsigned char kat2335_entropyinreseed[] = { + 0x01, 0x6a, 0x84, 0xa1, 0x3a, 0xa8, 0xe0, 0x1d, 0x86, 0x04, 0x96, 0x4e, + 0xdd, 0x7f, 0xcf, 0x5f, 0xcd, 0x19, 0xd6, 0xe3, 0xb1, 0x76, 0x3a, 0x19, + 0x51, 0x8e, 0xd1, 0xe9, 0x6d, 0x32, 0xd9, 0xd0, +}; +static const unsigned char kat2335_addinreseed[] = { + 0x96, 0x24, 0x5e, 0x8d, 0x1f, 0x8f, 0xe0, 0x68, 0xa7, 0x4b, 0x48, 0xa4, + 0x74, 0x37, 0xb3, 0xcd, 0x02, 0xb9, 0x45, 0x05, 0xcd, 0xcc, 0x7e, 0x5a, + 0x67, 0x79, 0xdd, 0xfc, 0x82, 0xee, 0xe4, 0x16, +}; +static const unsigned char kat2335_addin0[] = { + 0x09, 0x2b, 0x6e, 0x51, 0x72, 0x7f, 0x4b, 0x8d, 0x14, 0x3c, 0x5a, 0x67, + 0x07, 0x44, 0x97, 0xa6, 0x38, 0xe9, 0x64, 0xa6, 0x0a, 0x91, 0x61, 0xfb, + 0x89, 0xd9, 0xe2, 0xd3, 0x58, 0x3e, 0xce, 0x4f, +}; +static const unsigned char kat2335_addin1[] = { + 0x9a, 0x86, 0x96, 0x87, 0x73, 0x0e, 0x0a, 0x99, 0xd0, 0xbd, 0xe4, 0x0c, + 0x96, 0xa3, 0x64, 0x85, 0x24, 0xd3, 0x5f, 0xf2, 0xf7, 0xe5, 0x6b, 0x4c, + 0xcb, 0xd6, 0xf4, 0xbc, 0x68, 0x60, 0x0e, 0xeb, +}; +static const unsigned char kat2335_retbits[] = { + 0x8f, 0x4c, 0xcc, 0x87, 0x34, 0x98, 0x5d, 0xd7, 0xd8, 0x4e, 0xe9, 0xee, + 0x14, 0xc5, 0x22, 0x3f, 0xba, 0x16, 0x27, 0x6f, 0x44, 0x55, 0x83, 0x2c, + 0xb1, 0x0f, 0x84, 0xe4, 0xa5, 0x6f, 0x7d, 0x32, 0x85, 0x39, 0xf3, 0xa3, + 0xf7, 0x17, 0x0c, 0x84, 0x68, 0xa4, 0x34, 0xf0, 0x06, 0xf3, 0x74, 0xfc, + 0xf6, 0xde, 0xc2, 0x71, 0xa9, 0xb4, 0x82, 0x70, 0x3b, 0x25, 0x66, 0x3e, + 0xdc, 0x33, 0xe1, 0x13, +}; +static const struct drbg_kat_pr_false kat2335_t = { + 9, kat2335_entropyin, kat2335_nonce, kat2335_persstr, + kat2335_entropyinreseed, kat2335_addinreseed, kat2335_addin0, + kat2335_addin1, kat2335_retbits +}; +static const struct drbg_kat kat2335 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2335_t +}; + +static const unsigned char kat2336_entropyin[] = { + 0xac, 0x96, 0x56, 0x7a, 0x9b, 0xbb, 0x67, 0x6e, 0x07, 0x46, 0x1a, 0x1e, + 0x50, 0xf6, 0x5d, 0xf7, 0x3d, 0x3b, 0xa7, 0x03, 0xb5, 0xee, 0x0f, 0x10, + 0x5b, 0x03, 0xf2, 0xf9, 0x21, 0x3b, 0xde, 0x26, +}; +static const unsigned char kat2336_nonce[] = {0}; +static const unsigned char kat2336_persstr[] = { + 0xf2, 0x82, 0x1d, 0x6b, 0x19, 0xa1, 0x8d, 0x9b, 0x95, 0xb3, 0x7f, 0x9e, + 0xb4, 0x76, 0xeb, 0x12, 0xfa, 0x77, 0xfd, 0xe7, 0x31, 0xb8, 0xd7, 0xf7, + 0xe7, 0x26, 0x52, 0x08, 0xf2, 0xd2, 0x04, 0x8a, +}; +static const unsigned char kat2336_entropyinreseed[] = { + 0x74, 0xd5, 0xdb, 0xa9, 0x95, 0x7d, 0xc7, 0x40, 0xaf, 0xa0, 0x19, 0x93, + 0x57, 0x5f, 0xa9, 0xbe, 0x6b, 0xbd, 0x89, 0x2e, 0x25, 0x20, 0x47, 0xad, + 0x07, 0x2f, 0x51, 0x39, 0x6b, 0xef, 0xd5, 0x8f, +}; +static const unsigned char kat2336_addinreseed[] = { + 0x9c, 0x2e, 0x8b, 0xd6, 0x34, 0xf2, 0x8c, 0x81, 0x39, 0x0e, 0x01, 0x54, + 0xeb, 0xf8, 0x9e, 0xeb, 0xb6, 0x1a, 0x8f, 0x42, 0xb3, 0x15, 0x6e, 0xa5, + 0x68, 0x63, 0x98, 0xab, 0x0b, 0xbc, 0xa8, 0x1c, +}; +static const unsigned char kat2336_addin0[] = { + 0x9b, 0xd8, 0x1c, 0xb7, 0x96, 0x71, 0xa3, 0xd8, 0x9e, 0x05, 0x0f, 0x1f, + 0x4c, 0x0e, 0x7d, 0xfd, 0xcf, 0xc1, 0xe2, 0xbd, 0x47, 0xd1, 0x9a, 0xd7, + 0xd7, 0xfd, 0xcb, 0x2b, 0x14, 0x36, 0xa8, 0xd4, +}; +static const unsigned char kat2336_addin1[] = { + 0x93, 0xb5, 0xad, 0x9a, 0x6c, 0x08, 0xd3, 0xb7, 0x89, 0xf0, 0x9e, 0x9a, + 0x56, 0x7a, 0x22, 0x7f, 0x94, 0xf4, 0x53, 0x76, 0xf6, 0x8c, 0x82, 0xe7, + 0x5e, 0x80, 0x4a, 0x78, 0xf6, 0x75, 0xfe, 0x32, +}; +static const unsigned char kat2336_retbits[] = { + 0xd3, 0x1d, 0x8e, 0x04, 0xa4, 0xc1, 0x2a, 0xba, 0xcd, 0x44, 0x57, 0xfa, + 0x45, 0x50, 0x4e, 0x9d, 0x7e, 0x53, 0xe9, 0x6f, 0x72, 0xce, 0x43, 0x2b, + 0xe5, 0x61, 0x6b, 0x39, 0x83, 0xa1, 0x3b, 0x3b, 0xd2, 0xbe, 0xc2, 0xdf, + 0x3d, 0x1a, 0x41, 0xbe, 0xf2, 0x98, 0xe9, 0xd8, 0x21, 0x20, 0x73, 0x59, + 0xa5, 0x01, 0xea, 0x90, 0x4b, 0xa2, 0xca, 0xd9, 0x48, 0xe1, 0x12, 0x06, + 0x4c, 0x4a, 0x80, 0x18, +}; +static const struct drbg_kat_pr_false kat2336_t = { + 10, kat2336_entropyin, kat2336_nonce, kat2336_persstr, + kat2336_entropyinreseed, kat2336_addinreseed, kat2336_addin0, + kat2336_addin1, kat2336_retbits +}; +static const struct drbg_kat kat2336 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2336_t +}; + +static const unsigned char kat2337_entropyin[] = { + 0x5e, 0x9b, 0xe4, 0x3d, 0x43, 0xae, 0xef, 0xf1, 0x9a, 0x56, 0x74, 0x0a, + 0xd9, 0x5d, 0xcd, 0x3c, 0xd4, 0x32, 0x6a, 0xaf, 0xe0, 0xfb, 0x4a, 0x16, + 0x09, 0x44, 0xf7, 0xd7, 0x99, 0x83, 0x79, 0x5e, +}; +static const unsigned char kat2337_nonce[] = {0}; +static const unsigned char kat2337_persstr[] = { + 0xe5, 0x6d, 0x54, 0x50, 0xd6, 0xd0, 0xd3, 0xbd, 0x45, 0x2a, 0xff, 0xce, + 0x74, 0x3c, 0x42, 0x15, 0x4a, 0x4a, 0x03, 0x24, 0xd7, 0x96, 0x57, 0x0f, + 0x57, 0x4e, 0x28, 0x48, 0x7a, 0xf4, 0x3f, 0xdf, +}; +static const unsigned char kat2337_entropyinreseed[] = { + 0x1c, 0x45, 0xcd, 0xf5, 0x5a, 0xaa, 0x02, 0x76, 0x53, 0xb2, 0xe3, 0x3b, + 0x77, 0x62, 0xf6, 0x8d, 0x29, 0xb5, 0xe3, 0x48, 0xfe, 0xea, 0x04, 0xc5, + 0x96, 0xf7, 0xc8, 0x66, 0x0f, 0x7b, 0x36, 0xa6, +}; +static const unsigned char kat2337_addinreseed[] = { + 0xf5, 0x7c, 0x21, 0xbc, 0x4a, 0x2a, 0x37, 0xf5, 0xac, 0xe9, 0xc6, 0x19, + 0x2c, 0xb2, 0x49, 0xa8, 0xff, 0x16, 0xe3, 0xe0, 0x61, 0x1f, 0x03, 0x0c, + 0x97, 0xd1, 0x3e, 0x73, 0x0d, 0x84, 0xed, 0xd7, +}; +static const unsigned char kat2337_addin0[] = { + 0xe5, 0xeb, 0x67, 0x78, 0xc2, 0xbb, 0xab, 0x07, 0x7d, 0x1f, 0xc0, 0xf4, + 0x2a, 0x42, 0xe4, 0x63, 0xec, 0xf0, 0x6d, 0x2a, 0xd6, 0x04, 0xb5, 0xa6, + 0x3e, 0x1e, 0xbc, 0x92, 0xd0, 0xe2, 0xdf, 0x75, +}; +static const unsigned char kat2337_addin1[] = { + 0xa4, 0x1d, 0x73, 0x24, 0xb7, 0xba, 0x5c, 0x9d, 0x09, 0x8d, 0xbd, 0xa8, + 0x9c, 0x25, 0xa2, 0x37, 0xb0, 0x32, 0xcb, 0xb3, 0x08, 0x4a, 0x68, 0x7b, + 0x7e, 0x2c, 0x33, 0x30, 0xcc, 0x09, 0xe5, 0xa2, +}; +static const unsigned char kat2337_retbits[] = { + 0x29, 0x5e, 0x75, 0x0d, 0x3b, 0x11, 0xd4, 0xfb, 0x01, 0x8c, 0x3d, 0xe8, + 0xe4, 0x9a, 0x24, 0x05, 0xc7, 0x1c, 0x30, 0x58, 0xf1, 0x01, 0x05, 0x5d, + 0x36, 0xef, 0xc5, 0xd4, 0xc5, 0x18, 0x3b, 0x32, 0x77, 0xd9, 0x8f, 0x0a, + 0xab, 0x8b, 0x4d, 0x3b, 0x0b, 0x9d, 0xd9, 0x9a, 0xbc, 0xfb, 0x95, 0xbc, + 0xb3, 0x50, 0x6a, 0xd1, 0xda, 0x44, 0x2c, 0x39, 0xda, 0xc9, 0xa1, 0x3f, + 0x1b, 0xbc, 0x15, 0xfe, +}; +static const struct drbg_kat_pr_false kat2337_t = { + 11, kat2337_entropyin, kat2337_nonce, kat2337_persstr, + kat2337_entropyinreseed, kat2337_addinreseed, kat2337_addin0, + kat2337_addin1, kat2337_retbits +}; +static const struct drbg_kat kat2337 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2337_t +}; + +static const unsigned char kat2338_entropyin[] = { + 0x47, 0x8d, 0x32, 0x5a, 0x9d, 0xcc, 0xd8, 0x7e, 0x74, 0x7d, 0x49, 0x64, + 0x32, 0x9f, 0x25, 0x7b, 0x7c, 0x3f, 0x58, 0x9d, 0x91, 0x78, 0x36, 0x7d, + 0xc4, 0xc2, 0x7a, 0xdf, 0x29, 0x59, 0xb3, 0x94, +}; +static const unsigned char kat2338_nonce[] = {0}; +static const unsigned char kat2338_persstr[] = { + 0x68, 0x3d, 0x80, 0xba, 0xbc, 0x93, 0xb6, 0x98, 0x0b, 0xfc, 0x22, 0x8f, + 0xae, 0x25, 0xac, 0x1f, 0x2d, 0xd6, 0xed, 0xb7, 0xb1, 0x9e, 0xe5, 0x35, + 0x9a, 0x62, 0x46, 0x4a, 0xec, 0xe4, 0xe5, 0x53, +}; +static const unsigned char kat2338_entropyinreseed[] = { + 0x6e, 0x85, 0xc1, 0x83, 0x73, 0x8f, 0x60, 0x99, 0x2c, 0xa5, 0x9e, 0xf3, + 0x73, 0x62, 0x40, 0xca, 0x36, 0xca, 0x87, 0x91, 0x34, 0x96, 0x64, 0x18, + 0x4e, 0x5d, 0xfa, 0x8d, 0xcc, 0x8c, 0x0b, 0x0f, +}; +static const unsigned char kat2338_addinreseed[] = { + 0x53, 0xa5, 0x43, 0x24, 0xb5, 0x7b, 0x20, 0x40, 0xb9, 0x39, 0xc1, 0x49, + 0x30, 0x8e, 0xd2, 0xff, 0x39, 0xf5, 0xdc, 0xa6, 0x19, 0xa7, 0x38, 0xb0, + 0x00, 0xf8, 0xe3, 0x56, 0x18, 0x29, 0x13, 0x61, +}; +static const unsigned char kat2338_addin0[] = { + 0x2a, 0xd2, 0x3c, 0x2e, 0x67, 0x3e, 0x0b, 0x45, 0x49, 0x60, 0x27, 0x4b, + 0x43, 0x4f, 0xe5, 0xfd, 0xae, 0xf8, 0x71, 0xd0, 0x85, 0x63, 0x4b, 0xab, + 0xcb, 0xad, 0x0f, 0x5b, 0x03, 0x71, 0x04, 0x2c, +}; +static const unsigned char kat2338_addin1[] = { + 0xcc, 0x8b, 0x6b, 0x86, 0xc6, 0x2e, 0xb3, 0x19, 0x9c, 0x49, 0x21, 0x90, + 0x65, 0x57, 0x25, 0x88, 0x03, 0x50, 0xac, 0xc8, 0x25, 0x37, 0x69, 0xb5, + 0x26, 0xb7, 0x19, 0x14, 0x0e, 0x44, 0x80, 0x84, +}; +static const unsigned char kat2338_retbits[] = { + 0x35, 0x42, 0xc6, 0x19, 0xf1, 0x4e, 0x23, 0x92, 0xd9, 0x2f, 0x0b, 0x75, + 0x97, 0xd7, 0xd0, 0x31, 0xda, 0x62, 0xbc, 0x28, 0x37, 0x3f, 0xbf, 0x9f, + 0x07, 0x47, 0xe9, 0x7f, 0x73, 0x92, 0x49, 0x35, 0x57, 0x21, 0x47, 0x6c, + 0xbc, 0xa5, 0xbe, 0x8e, 0xbd, 0xb4, 0xe9, 0xe5, 0x68, 0xd8, 0x63, 0xf3, + 0xb2, 0xd6, 0xba, 0x1f, 0xc2, 0x3d, 0x35, 0x97, 0x37, 0xa9, 0x2a, 0x1b, + 0xdd, 0x9e, 0x5a, 0x6a, +}; +static const struct drbg_kat_pr_false kat2338_t = { + 12, kat2338_entropyin, kat2338_nonce, kat2338_persstr, + kat2338_entropyinreseed, kat2338_addinreseed, kat2338_addin0, + kat2338_addin1, kat2338_retbits +}; +static const struct drbg_kat kat2338 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2338_t +}; + +static const unsigned char kat2339_entropyin[] = { + 0x67, 0xfe, 0xc7, 0x72, 0x18, 0x49, 0x94, 0x15, 0xaa, 0x7d, 0xe0, 0xa1, + 0xbe, 0x22, 0x15, 0x89, 0xb5, 0x13, 0xfd, 0x8c, 0x57, 0x8d, 0x6d, 0xb9, + 0xd4, 0x8f, 0xf8, 0x55, 0xb0, 0xaa, 0x1a, 0x22, +}; +static const unsigned char kat2339_nonce[] = {0}; +static const unsigned char kat2339_persstr[] = { + 0x98, 0x9a, 0xf8, 0x2f, 0x6f, 0x41, 0xfb, 0x5e, 0xa5, 0x14, 0x1f, 0xef, + 0x7d, 0x89, 0xcf, 0xee, 0x1b, 0x5c, 0x3c, 0x6b, 0x9d, 0x41, 0x05, 0xdc, + 0xdc, 0xc9, 0xa8, 0xf1, 0x03, 0xda, 0xdf, 0xfa, +}; +static const unsigned char kat2339_entropyinreseed[] = { + 0xd9, 0x7d, 0xcf, 0x93, 0x28, 0x5f, 0x4b, 0x67, 0xdb, 0x6d, 0x7d, 0x5f, + 0xaa, 0xf2, 0xd4, 0xb0, 0xf9, 0xad, 0x66, 0x0d, 0xbd, 0x26, 0x0d, 0xb7, + 0xc4, 0xd3, 0xc3, 0xc3, 0xd3, 0xa5, 0x9a, 0x19, +}; +static const unsigned char kat2339_addinreseed[] = { + 0x82, 0x62, 0x3e, 0xdc, 0x25, 0x03, 0x97, 0x08, 0x32, 0xd9, 0x56, 0x6e, + 0xb3, 0x42, 0xe1, 0xdb, 0x9b, 0x8a, 0x0a, 0x2f, 0xdf, 0x84, 0x7f, 0x21, + 0xe3, 0x83, 0x13, 0xb2, 0xb9, 0xef, 0x84, 0x32, +}; +static const unsigned char kat2339_addin0[] = { + 0x4e, 0xc1, 0x9e, 0xb0, 0x00, 0x95, 0x43, 0x9d, 0x87, 0x8b, 0xdc, 0x9a, + 0xe2, 0x54, 0x30, 0xcd, 0x8a, 0x70, 0x1a, 0x70, 0x77, 0x92, 0xc9, 0xae, + 0xcc, 0xe7, 0x17, 0xea, 0x3c, 0xfc, 0x8b, 0xe6, +}; +static const unsigned char kat2339_addin1[] = { + 0xe5, 0xc5, 0x3c, 0x5d, 0x4d, 0x98, 0x43, 0xda, 0x5c, 0xee, 0x1c, 0x20, + 0x0d, 0x91, 0xc7, 0x1b, 0xd0, 0x49, 0x49, 0x9c, 0x01, 0x58, 0xb9, 0x30, + 0x29, 0xf0, 0xf7, 0xc8, 0x83, 0x2c, 0xfb, 0x25, +}; +static const unsigned char kat2339_retbits[] = { + 0xa7, 0xa8, 0xee, 0x50, 0x45, 0x4e, 0xae, 0x4f, 0xf8, 0xa9, 0xbf, 0x71, + 0xd5, 0x19, 0xd0, 0x9c, 0x39, 0xe1, 0x4c, 0x0b, 0x46, 0x72, 0x06, 0xd3, + 0xa8, 0x5d, 0x92, 0xf5, 0x04, 0xb3, 0x30, 0x59, 0x99, 0xd4, 0x0e, 0xae, + 0x72, 0x82, 0x64, 0x2f, 0xb5, 0x23, 0xbb, 0x20, 0x35, 0xe4, 0x50, 0x2a, + 0x1b, 0xdb, 0xdf, 0x4f, 0x20, 0x96, 0xe0, 0x27, 0xb0, 0x73, 0x76, 0xe6, + 0xb7, 0x5c, 0x61, 0xe8, +}; +static const struct drbg_kat_pr_false kat2339_t = { + 13, kat2339_entropyin, kat2339_nonce, kat2339_persstr, + kat2339_entropyinreseed, kat2339_addinreseed, kat2339_addin0, + kat2339_addin1, kat2339_retbits +}; +static const struct drbg_kat kat2339 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2339_t +}; + +static const unsigned char kat2340_entropyin[] = { + 0xb0, 0x1a, 0x63, 0xe1, 0xeb, 0x4e, 0xcf, 0x7e, 0xea, 0x9d, 0x07, 0x8e, + 0x6e, 0x90, 0x85, 0x50, 0x22, 0xda, 0x74, 0x39, 0x38, 0x84, 0x8a, 0xf5, + 0x78, 0x97, 0xbb, 0xbc, 0xd6, 0x33, 0x96, 0xd9, +}; +static const unsigned char kat2340_nonce[] = {0}; +static const unsigned char kat2340_persstr[] = { + 0x32, 0xdb, 0xa1, 0xb9, 0x98, 0x1b, 0x32, 0x07, 0x4e, 0xfa, 0x88, 0xdc, + 0x3e, 0xb2, 0xde, 0x16, 0x40, 0xf9, 0x97, 0xb9, 0xf4, 0xb6, 0x59, 0xf5, + 0xc5, 0x18, 0xb6, 0x07, 0x90, 0x98, 0xee, 0xe3, +}; +static const unsigned char kat2340_entropyinreseed[] = { + 0xd1, 0xde, 0xec, 0xd9, 0x28, 0xc4, 0x26, 0x9e, 0xca, 0xbc, 0x75, 0x59, + 0x9d, 0x76, 0x86, 0x4d, 0x99, 0x90, 0xdb, 0xac, 0x39, 0x0e, 0xc8, 0x5a, + 0xf3, 0x0b, 0x71, 0x0d, 0x64, 0xb2, 0xb9, 0x5e, +}; +static const unsigned char kat2340_addinreseed[] = { + 0xf9, 0x38, 0x19, 0x50, 0xa1, 0x24, 0xbc, 0x44, 0xef, 0x81, 0x18, 0xbc, + 0xd4, 0x2b, 0x6b, 0xd1, 0xc6, 0x6f, 0x60, 0xc9, 0x9e, 0xf5, 0x47, 0x9b, + 0x04, 0xcc, 0x1b, 0xae, 0xae, 0x4c, 0xe9, 0x50, +}; +static const unsigned char kat2340_addin0[] = { + 0xad, 0xc0, 0x70, 0x7f, 0x3a, 0x06, 0xe7, 0x67, 0xea, 0x80, 0xf0, 0x88, + 0x2e, 0xbc, 0x01, 0x5b, 0x79, 0xf0, 0x22, 0x85, 0x47, 0xd2, 0x2e, 0xb5, + 0xa6, 0x35, 0xb2, 0x44, 0xa7, 0xd1, 0xc6, 0x57, +}; +static const unsigned char kat2340_addin1[] = { + 0x83, 0x72, 0xa1, 0x27, 0x7f, 0x0e, 0xb8, 0x4c, 0xad, 0xd5, 0x3d, 0xf4, + 0xa6, 0xcc, 0x61, 0x9c, 0xfc, 0xa0, 0x29, 0xf8, 0x4d, 0x9b, 0xea, 0x48, + 0xbe, 0xca, 0x8c, 0xc8, 0x06, 0x05, 0x28, 0xcc, +}; +static const unsigned char kat2340_retbits[] = { + 0x86, 0xcd, 0xe2, 0x2d, 0xae, 0x3a, 0x1a, 0xf9, 0x47, 0xd7, 0x6c, 0xd1, + 0x5e, 0x4d, 0xf0, 0xc8, 0x3a, 0x11, 0x76, 0x9d, 0x34, 0x61, 0x0d, 0x19, + 0x91, 0x94, 0x53, 0x50, 0xac, 0xd4, 0xf0, 0xaa, 0xef, 0x9e, 0xf7, 0x0b, + 0x5b, 0xbd, 0x57, 0xfa, 0xb7, 0x4f, 0xac, 0x6b, 0xe8, 0xcb, 0xc0, 0x28, + 0xb9, 0xba, 0xb6, 0x3a, 0xa5, 0xde, 0x62, 0xd9, 0xf1, 0xf9, 0x5d, 0x94, + 0x9e, 0x9d, 0x09, 0x3e, +}; +static const struct drbg_kat_pr_false kat2340_t = { + 14, kat2340_entropyin, kat2340_nonce, kat2340_persstr, + kat2340_entropyinreseed, kat2340_addinreseed, kat2340_addin0, + kat2340_addin1, kat2340_retbits +}; +static const struct drbg_kat kat2340 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2340_t +}; + +static const unsigned char kat2341_entropyin[] = { + 0x6e, 0xb2, 0xe5, 0x33, 0xb9, 0x02, 0x54, 0x5c, 0x31, 0xcd, 0xd0, 0x9a, + 0x06, 0x2c, 0xf5, 0x93, 0x46, 0x59, 0x4f, 0x34, 0xb5, 0x63, 0xb0, 0x90, + 0xdf, 0xbd, 0x63, 0x2a, 0xea, 0xdb, 0xd1, 0x91, +}; +static const unsigned char kat2341_nonce[] = {0}; +static const unsigned char kat2341_persstr[] = {0}; +static const unsigned char kat2341_entropyinreseed[] = { + 0x2c, 0xd1, 0xce, 0xc6, 0x24, 0x2a, 0xc2, 0x5e, 0x75, 0x18, 0xb9, 0x8d, + 0xa8, 0xa2, 0x2b, 0xd1, 0x3a, 0xcf, 0xaf, 0x5f, 0xa4, 0x5f, 0xee, 0x60, + 0x21, 0xba, 0x28, 0x39, 0x26, 0xde, 0x19, 0x22, +}; +static const unsigned char kat2341_addinreseed[] = {0}; +static const unsigned char kat2341_addin0[] = {0}; +static const unsigned char kat2341_addin1[] = {0}; +static const unsigned char kat2341_retbits[] = { + 0xba, 0x5c, 0xab, 0x62, 0xfd, 0xdf, 0x8c, 0x6e, 0xd1, 0x67, 0x33, 0xc5, + 0xbf, 0x0e, 0x39, 0x33, 0x6c, 0x18, 0x9d, 0x80, 0xa9, 0x66, 0x90, 0x43, + 0xac, 0x89, 0x2c, 0xea, 0x63, 0xd7, 0xe7, 0x0d, 0x39, 0x0e, 0x91, 0x74, + 0x18, 0x40, 0xbf, 0x7e, 0xe1, 0x4c, 0x07, 0x8c, 0xbb, 0xe9, 0x7d, 0x11, + 0x49, 0x92, 0xae, 0x78, 0x1d, 0x99, 0x66, 0xa5, 0xf6, 0xc7, 0x04, 0xe5, + 0xc0, 0x18, 0x11, 0xb5, +}; +static const struct drbg_kat_pr_false kat2341_t = { + 0, kat2341_entropyin, kat2341_nonce, kat2341_persstr, + kat2341_entropyinreseed, kat2341_addinreseed, kat2341_addin0, + kat2341_addin1, kat2341_retbits +}; +static const struct drbg_kat kat2341 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2341_t +}; + +static const unsigned char kat2342_entropyin[] = { + 0xbe, 0x72, 0xde, 0x2b, 0x1c, 0xdb, 0xf0, 0xc8, 0xfb, 0xcd, 0x4c, 0xfe, + 0x0b, 0x0f, 0x8d, 0xc5, 0xd9, 0x3d, 0x03, 0x5d, 0x9f, 0xaf, 0x88, 0x4b, + 0xfb, 0xa2, 0xef, 0x19, 0x72, 0x3f, 0x19, 0x6e, +}; +static const unsigned char kat2342_nonce[] = {0}; +static const unsigned char kat2342_persstr[] = {0}; +static const unsigned char kat2342_entropyinreseed[] = { + 0x89, 0xc4, 0xf4, 0x35, 0x7f, 0x79, 0x9b, 0x65, 0x8e, 0x9d, 0x1c, 0xa5, + 0x34, 0x02, 0xbc, 0x60, 0x26, 0x4b, 0x4c, 0xed, 0xeb, 0x55, 0x3a, 0x0d, + 0x8a, 0xfc, 0x90, 0x46, 0x39, 0x1a, 0x04, 0x3d, +}; +static const unsigned char kat2342_addinreseed[] = {0}; +static const unsigned char kat2342_addin0[] = {0}; +static const unsigned char kat2342_addin1[] = {0}; +static const unsigned char kat2342_retbits[] = { + 0x0d, 0xe1, 0x95, 0x71, 0xb5, 0xf5, 0x4c, 0x8b, 0x13, 0x49, 0x33, 0xd7, + 0x6b, 0x2f, 0xa2, 0x18, 0x26, 0x39, 0x4c, 0x3b, 0xfc, 0x06, 0xdb, 0xdb, + 0x08, 0xc0, 0x78, 0xa1, 0x58, 0xfb, 0xc3, 0x8a, 0xac, 0x3f, 0xca, 0xf6, + 0x91, 0x3d, 0x1c, 0x58, 0x8a, 0x6e, 0x36, 0x9b, 0x12, 0xb1, 0xcd, 0x94, + 0x6d, 0xce, 0x24, 0xd9, 0x6c, 0x4c, 0xa1, 0x74, 0x6e, 0xd1, 0xe9, 0x0a, + 0xb2, 0x62, 0x0d, 0xf5, +}; +static const struct drbg_kat_pr_false kat2342_t = { + 1, kat2342_entropyin, kat2342_nonce, kat2342_persstr, + kat2342_entropyinreseed, kat2342_addinreseed, kat2342_addin0, + kat2342_addin1, kat2342_retbits +}; +static const struct drbg_kat kat2342 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2342_t +}; + +static const unsigned char kat2343_entropyin[] = { + 0x5b, 0x3e, 0xa3, 0x9a, 0xaf, 0xf5, 0xc0, 0x40, 0x09, 0xee, 0xa6, 0x5c, + 0xad, 0x7c, 0x3a, 0x02, 0xd4, 0xf8, 0x80, 0x72, 0x55, 0xa4, 0xf4, 0x8e, + 0x60, 0xe3, 0x62, 0xe0, 0xe4, 0x17, 0x75, 0x85, +}; +static const unsigned char kat2343_nonce[] = {0}; +static const unsigned char kat2343_persstr[] = {0}; +static const unsigned char kat2343_entropyinreseed[] = { + 0xf1, 0x90, 0x69, 0x10, 0x17, 0x9d, 0x2d, 0x64, 0xac, 0x13, 0x10, 0x75, + 0xee, 0x60, 0xaa, 0x69, 0x0c, 0xa4, 0x34, 0x5c, 0x18, 0x75, 0x05, 0x54, + 0x7d, 0xb4, 0xf4, 0x39, 0x58, 0xf6, 0xe1, 0xc6, +}; +static const unsigned char kat2343_addinreseed[] = {0}; +static const unsigned char kat2343_addin0[] = {0}; +static const unsigned char kat2343_addin1[] = {0}; +static const unsigned char kat2343_retbits[] = { + 0x3c, 0x5a, 0xb2, 0x53, 0x97, 0xe0, 0x2a, 0x8c, 0x57, 0xd2, 0x49, 0x97, + 0xe5, 0x10, 0x81, 0xae, 0xd0, 0x9e, 0xb8, 0xfc, 0x68, 0x61, 0x2c, 0xd1, + 0x9c, 0x9d, 0x56, 0x0f, 0x35, 0x97, 0xc9, 0xdb, 0x6a, 0xaf, 0x5f, 0x62, + 0x22, 0x77, 0x8d, 0x81, 0x84, 0xc8, 0x3f, 0xf1, 0x66, 0xf0, 0x59, 0x1a, + 0xc2, 0xa8, 0xb4, 0xbb, 0xe9, 0xed, 0xfc, 0x4f, 0xd4, 0xdd, 0xb3, 0xaa, + 0xdc, 0xab, 0xd3, 0x24, +}; +static const struct drbg_kat_pr_false kat2343_t = { + 2, kat2343_entropyin, kat2343_nonce, kat2343_persstr, + kat2343_entropyinreseed, kat2343_addinreseed, kat2343_addin0, + kat2343_addin1, kat2343_retbits +}; +static const struct drbg_kat kat2343 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2343_t +}; + +static const unsigned char kat2344_entropyin[] = { + 0xb1, 0xd8, 0x7c, 0x20, 0xb1, 0x8e, 0xf4, 0xd7, 0x9b, 0xc0, 0x34, 0xe5, + 0x2e, 0x69, 0xe0, 0x7f, 0x0d, 0x1c, 0x22, 0x4d, 0x49, 0xcf, 0xe7, 0x7c, + 0x5d, 0xf5, 0xff, 0x7f, 0x26, 0x05, 0xee, 0xf5, +}; +static const unsigned char kat2344_nonce[] = {0}; +static const unsigned char kat2344_persstr[] = {0}; +static const unsigned char kat2344_entropyinreseed[] = { + 0x0b, 0xad, 0x85, 0x80, 0x60, 0x63, 0xa7, 0xc6, 0xf5, 0x0c, 0x7e, 0xc4, + 0x98, 0xca, 0xda, 0x91, 0x2c, 0x61, 0x67, 0xbd, 0x6e, 0xe2, 0xcd, 0x3b, + 0xe8, 0xd2, 0xde, 0x94, 0xc1, 0x7d, 0xcf, 0xa8, +}; +static const unsigned char kat2344_addinreseed[] = {0}; +static const unsigned char kat2344_addin0[] = {0}; +static const unsigned char kat2344_addin1[] = {0}; +static const unsigned char kat2344_retbits[] = { + 0x49, 0x53, 0xc4, 0x70, 0x6f, 0xb2, 0x74, 0x57, 0xbe, 0xf8, 0xbb, 0x4f, + 0xc4, 0x92, 0x9f, 0xe2, 0x27, 0xeb, 0x7b, 0xeb, 0x90, 0xe6, 0x6e, 0xda, + 0xb9, 0xe2, 0x6a, 0xb7, 0x67, 0x1f, 0x28, 0xa4, 0xf5, 0xb6, 0x5d, 0x1e, + 0xdf, 0x3f, 0xc2, 0x67, 0xb4, 0xf3, 0xe5, 0x1f, 0x4c, 0xa7, 0xf0, 0x7f, + 0x47, 0x62, 0x89, 0xca, 0x0a, 0xe3, 0xa8, 0x69, 0x19, 0x70, 0x5d, 0x2d, + 0xad, 0x0e, 0x48, 0xb7, +}; +static const struct drbg_kat_pr_false kat2344_t = { + 3, kat2344_entropyin, kat2344_nonce, kat2344_persstr, + kat2344_entropyinreseed, kat2344_addinreseed, kat2344_addin0, + kat2344_addin1, kat2344_retbits +}; +static const struct drbg_kat kat2344 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2344_t +}; + +static const unsigned char kat2345_entropyin[] = { + 0x08, 0x2a, 0x0f, 0x42, 0xb5, 0x4b, 0x52, 0x4e, 0xaf, 0x14, 0xa9, 0x52, + 0x19, 0x75, 0x94, 0xa1, 0x94, 0x7c, 0xff, 0xc2, 0x89, 0x71, 0x67, 0x76, + 0xd5, 0x2d, 0x02, 0xd0, 0x0c, 0x76, 0x30, 0xe0, +}; +static const unsigned char kat2345_nonce[] = {0}; +static const unsigned char kat2345_persstr[] = {0}; +static const unsigned char kat2345_entropyinreseed[] = { + 0x5e, 0x79, 0x8f, 0x69, 0xfc, 0xd0, 0x17, 0xce, 0xea, 0x3c, 0x14, 0x34, + 0xea, 0x59, 0x7d, 0xac, 0x68, 0x47, 0xa6, 0x3a, 0x80, 0x93, 0x30, 0x9d, + 0xcb, 0xe5, 0x4f, 0xc2, 0xa0, 0x27, 0x2b, 0x7d, +}; +static const unsigned char kat2345_addinreseed[] = {0}; +static const unsigned char kat2345_addin0[] = {0}; +static const unsigned char kat2345_addin1[] = {0}; +static const unsigned char kat2345_retbits[] = { + 0x09, 0x46, 0xb9, 0x1d, 0xc3, 0xf1, 0x9c, 0xf0, 0x8a, 0x2a, 0xf8, 0x6b, + 0xa6, 0x5a, 0xb9, 0xd1, 0x62, 0xde, 0x8f, 0x64, 0x5c, 0x2f, 0x53, 0x1d, + 0xd1, 0x6a, 0x22, 0xf6, 0x15, 0xf0, 0x56, 0x2f, 0x79, 0xa1, 0x28, 0x43, + 0x2e, 0x23, 0x95, 0x3d, 0xc3, 0xf6, 0x15, 0x61, 0x22, 0x18, 0xed, 0xbe, + 0xe5, 0xc9, 0xd0, 0x62, 0xae, 0x00, 0x9d, 0x4a, 0x2d, 0x24, 0x16, 0x71, + 0x8d, 0x59, 0x3b, 0x94, +}; +static const struct drbg_kat_pr_false kat2345_t = { + 4, kat2345_entropyin, kat2345_nonce, kat2345_persstr, + kat2345_entropyinreseed, kat2345_addinreseed, kat2345_addin0, + kat2345_addin1, kat2345_retbits +}; +static const struct drbg_kat kat2345 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2345_t +}; + +static const unsigned char kat2346_entropyin[] = { + 0x5f, 0x41, 0xde, 0x01, 0x51, 0x7a, 0x0d, 0x31, 0xa7, 0xd5, 0x35, 0x35, + 0xb8, 0x58, 0x25, 0x7c, 0x9d, 0x80, 0xe8, 0x12, 0x3c, 0xca, 0x98, 0xad, + 0x19, 0x9a, 0xe5, 0x3e, 0x77, 0x6d, 0xb9, 0xe3, +}; +static const unsigned char kat2346_nonce[] = {0}; +static const unsigned char kat2346_persstr[] = {0}; +static const unsigned char kat2346_entropyinreseed[] = { + 0xb8, 0x57, 0xf6, 0x32, 0x81, 0x45, 0xfe, 0xdf, 0xd7, 0x1d, 0x2d, 0xc3, + 0xd4, 0xc9, 0x90, 0x68, 0xbd, 0x46, 0x48, 0xd3, 0x31, 0x03, 0x41, 0x5b, + 0x9f, 0xe1, 0x14, 0x82, 0x6a, 0xf6, 0x6a, 0x84, +}; +static const unsigned char kat2346_addinreseed[] = {0}; +static const unsigned char kat2346_addin0[] = {0}; +static const unsigned char kat2346_addin1[] = {0}; +static const unsigned char kat2346_retbits[] = { + 0xe2, 0x44, 0x46, 0xec, 0x14, 0x9f, 0x6f, 0x16, 0xe4, 0x06, 0x9b, 0x27, + 0xf4, 0x5b, 0x0d, 0xb2, 0x93, 0xf5, 0xff, 0x4b, 0x6a, 0x0c, 0xb4, 0x65, + 0xfb, 0xef, 0x97, 0x09, 0xa6, 0xd9, 0xaf, 0x20, 0xa3, 0xbe, 0x60, 0x9c, + 0xbf, 0x1c, 0x64, 0x7b, 0xcd, 0xa7, 0x7f, 0xdf, 0xe3, 0x03, 0x79, 0x58, + 0x3f, 0x67, 0xad, 0x73, 0xb9, 0xd6, 0x2a, 0x4f, 0x51, 0x87, 0xf2, 0x1d, + 0xbb, 0x89, 0xbb, 0x36, +}; +static const struct drbg_kat_pr_false kat2346_t = { + 5, kat2346_entropyin, kat2346_nonce, kat2346_persstr, + kat2346_entropyinreseed, kat2346_addinreseed, kat2346_addin0, + kat2346_addin1, kat2346_retbits +}; +static const struct drbg_kat kat2346 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2346_t +}; + +static const unsigned char kat2347_entropyin[] = { + 0xd4, 0xfe, 0x09, 0x37, 0x2d, 0x8b, 0xba, 0xf3, 0x9f, 0x83, 0x88, 0xf1, + 0x93, 0x31, 0x0e, 0xe6, 0x3c, 0x4a, 0xda, 0x30, 0x8a, 0x58, 0x78, 0x3f, + 0x4b, 0xfa, 0x58, 0x08, 0x06, 0xf0, 0x1b, 0xc6, +}; +static const unsigned char kat2347_nonce[] = {0}; +static const unsigned char kat2347_persstr[] = {0}; +static const unsigned char kat2347_entropyinreseed[] = { + 0x1e, 0x46, 0xde, 0x02, 0xdf, 0xd2, 0xa9, 0xf1, 0x1d, 0x2d, 0x68, 0x3f, + 0x4a, 0xb7, 0x9c, 0x25, 0x88, 0x62, 0x78, 0x72, 0xab, 0x14, 0xfb, 0xcc, + 0x0b, 0xb6, 0x19, 0xd3, 0x16, 0x87, 0xd5, 0x72, +}; +static const unsigned char kat2347_addinreseed[] = {0}; +static const unsigned char kat2347_addin0[] = {0}; +static const unsigned char kat2347_addin1[] = {0}; +static const unsigned char kat2347_retbits[] = { + 0x20, 0xd8, 0x7a, 0x94, 0xba, 0x7a, 0xf2, 0x0e, 0x41, 0xe3, 0x84, 0x8e, + 0xc3, 0x1f, 0xcb, 0xd0, 0xb8, 0xe5, 0x1a, 0xae, 0x70, 0xa2, 0x5e, 0xb2, + 0xd5, 0x32, 0x03, 0xa7, 0x7a, 0xac, 0xd5, 0x32, 0x40, 0xb9, 0x11, 0x58, + 0x5f, 0x11, 0x5d, 0x8b, 0x8a, 0x07, 0xe3, 0x8c, 0x4e, 0x10, 0x1c, 0xd2, + 0xac, 0x46, 0xd7, 0xc9, 0xf3, 0x25, 0x05, 0xb8, 0x56, 0x4e, 0xbf, 0x7a, + 0xcd, 0x97, 0xa7, 0x99, +}; +static const struct drbg_kat_pr_false kat2347_t = { + 6, kat2347_entropyin, kat2347_nonce, kat2347_persstr, + kat2347_entropyinreseed, kat2347_addinreseed, kat2347_addin0, + kat2347_addin1, kat2347_retbits +}; +static const struct drbg_kat kat2347 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2347_t +}; + +static const unsigned char kat2348_entropyin[] = { + 0x54, 0x88, 0xcd, 0x2f, 0xb7, 0xa0, 0x02, 0xea, 0x1e, 0xd7, 0xeb, 0x6f, + 0x58, 0x5c, 0x23, 0xdd, 0xd7, 0x3c, 0xd5, 0x6c, 0x14, 0xd3, 0x9b, 0xd7, + 0x80, 0xb3, 0x06, 0x99, 0x84, 0xda, 0x00, 0x20, +}; +static const unsigned char kat2348_nonce[] = {0}; +static const unsigned char kat2348_persstr[] = {0}; +static const unsigned char kat2348_entropyinreseed[] = { + 0x24, 0xfd, 0xcc, 0xeb, 0x76, 0x6f, 0xcb, 0xf2, 0x3c, 0x89, 0x54, 0x62, + 0x5f, 0x75, 0x9d, 0x34, 0x3d, 0xd3, 0x17, 0x03, 0xa0, 0x03, 0x9e, 0x95, + 0x96, 0x8b, 0x48, 0x2a, 0x33, 0x58, 0x3e, 0xfa, +}; +static const unsigned char kat2348_addinreseed[] = {0}; +static const unsigned char kat2348_addin0[] = {0}; +static const unsigned char kat2348_addin1[] = {0}; +static const unsigned char kat2348_retbits[] = { + 0xb6, 0xd5, 0x85, 0x52, 0xbd, 0xe5, 0x95, 0xfe, 0x3e, 0xb0, 0xae, 0x54, + 0x53, 0x1e, 0x98, 0x45, 0x10, 0xe5, 0x45, 0xbf, 0xc4, 0x57, 0x69, 0x93, + 0x0a, 0x1f, 0xef, 0x2f, 0x96, 0xc5, 0xd4, 0x7e, 0xa1, 0xff, 0x8d, 0x3e, + 0xa4, 0x17, 0x91, 0x7b, 0x8c, 0x9a, 0x00, 0xaa, 0x32, 0xe4, 0x89, 0x1f, + 0x3b, 0xfe, 0x5d, 0x61, 0x21, 0xbb, 0x40, 0x48, 0x28, 0x86, 0x6a, 0xcc, + 0xd5, 0xac, 0x76, 0x9f, +}; +static const struct drbg_kat_pr_false kat2348_t = { + 7, kat2348_entropyin, kat2348_nonce, kat2348_persstr, + kat2348_entropyinreseed, kat2348_addinreseed, kat2348_addin0, + kat2348_addin1, kat2348_retbits +}; +static const struct drbg_kat kat2348 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2348_t +}; + +static const unsigned char kat2349_entropyin[] = { + 0x0f, 0x1e, 0x74, 0x70, 0x94, 0x4e, 0x37, 0x7d, 0x00, 0xe8, 0x7f, 0x09, + 0x20, 0xfe, 0x60, 0xed, 0x47, 0x34, 0xf6, 0xfa, 0x40, 0x34, 0xd1, 0xd1, + 0xa9, 0xad, 0x0e, 0x67, 0x49, 0x9e, 0x3b, 0x56, +}; +static const unsigned char kat2349_nonce[] = {0}; +static const unsigned char kat2349_persstr[] = {0}; +static const unsigned char kat2349_entropyinreseed[] = { + 0xb0, 0xbb, 0xd0, 0xb3, 0x20, 0x68, 0x25, 0xe4, 0x84, 0x11, 0x8b, 0x9a, + 0xc4, 0xa9, 0xc7, 0xb9, 0xbf, 0x69, 0x83, 0x98, 0x3c, 0xb4, 0x18, 0x0d, + 0x5c, 0xe2, 0x78, 0x47, 0x5e, 0x2e, 0x85, 0xe1, +}; +static const unsigned char kat2349_addinreseed[] = {0}; +static const unsigned char kat2349_addin0[] = {0}; +static const unsigned char kat2349_addin1[] = {0}; +static const unsigned char kat2349_retbits[] = { + 0x7e, 0x65, 0x92, 0x90, 0x50, 0x3d, 0xf5, 0xce, 0x17, 0x62, 0xba, 0x72, + 0x1e, 0x9f, 0x50, 0xa0, 0xd9, 0x87, 0x10, 0x99, 0x8d, 0x75, 0xe1, 0xfd, + 0xe9, 0x28, 0x29, 0x10, 0x6f, 0x10, 0x07, 0x45, 0x85, 0x74, 0xfb, 0x1c, + 0xc7, 0x3f, 0x69, 0x42, 0x7d, 0x10, 0x6d, 0x31, 0x8f, 0x1c, 0x16, 0x90, + 0xcf, 0x74, 0x8e, 0xab, 0xad, 0x72, 0xf8, 0x70, 0xc6, 0x05, 0x66, 0x13, + 0x99, 0x0f, 0x1d, 0xb9, +}; +static const struct drbg_kat_pr_false kat2349_t = { + 8, kat2349_entropyin, kat2349_nonce, kat2349_persstr, + kat2349_entropyinreseed, kat2349_addinreseed, kat2349_addin0, + kat2349_addin1, kat2349_retbits +}; +static const struct drbg_kat kat2349 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2349_t +}; + +static const unsigned char kat2350_entropyin[] = { + 0x30, 0xd6, 0xad, 0xf9, 0xb8, 0x45, 0x13, 0x90, 0xca, 0x56, 0x6f, 0xf1, + 0x99, 0xc0, 0x1d, 0xb2, 0x14, 0xb9, 0xf9, 0xe2, 0xb1, 0x47, 0xbf, 0x58, + 0x06, 0xb7, 0x05, 0x54, 0x57, 0x93, 0x0c, 0x78, +}; +static const unsigned char kat2350_nonce[] = {0}; +static const unsigned char kat2350_persstr[] = {0}; +static const unsigned char kat2350_entropyinreseed[] = { + 0x82, 0x60, 0xeb, 0x48, 0xac, 0xc5, 0x9e, 0xc9, 0x46, 0x90, 0x5c, 0x56, + 0xea, 0xab, 0x34, 0xca, 0xfa, 0x41, 0x2d, 0xad, 0xbc, 0xa0, 0x2b, 0x30, + 0xc2, 0x93, 0xbf, 0xf0, 0xe6, 0x43, 0x75, 0x69, +}; +static const unsigned char kat2350_addinreseed[] = {0}; +static const unsigned char kat2350_addin0[] = {0}; +static const unsigned char kat2350_addin1[] = {0}; +static const unsigned char kat2350_retbits[] = { + 0x29, 0xae, 0xf1, 0x7c, 0x99, 0x92, 0xe7, 0x31, 0x4a, 0xca, 0x59, 0x62, + 0x6d, 0x25, 0x08, 0x20, 0xde, 0xf8, 0x1b, 0xe8, 0x02, 0x42, 0x1a, 0xc7, + 0xba, 0x37, 0x39, 0x05, 0xe9, 0xf5, 0x49, 0xdf, 0xac, 0xde, 0xde, 0x4e, + 0xf7, 0x51, 0xe4, 0x47, 0x14, 0x97, 0x50, 0x14, 0x83, 0x70, 0xb8, 0xa5, + 0x47, 0xc7, 0x04, 0x14, 0x95, 0xd9, 0x45, 0x98, 0x57, 0x26, 0xf8, 0x97, + 0xe9, 0xdd, 0xd3, 0xe1, +}; +static const struct drbg_kat_pr_false kat2350_t = { + 9, kat2350_entropyin, kat2350_nonce, kat2350_persstr, + kat2350_entropyinreseed, kat2350_addinreseed, kat2350_addin0, + kat2350_addin1, kat2350_retbits +}; +static const struct drbg_kat kat2350 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2350_t +}; + +static const unsigned char kat2351_entropyin[] = { + 0x71, 0x72, 0xba, 0x99, 0x4b, 0x2e, 0xb0, 0xc9, 0x31, 0x6e, 0x87, 0x4d, + 0x2a, 0x5c, 0x97, 0x5c, 0xfd, 0x7e, 0x43, 0x77, 0x59, 0x12, 0xb2, 0x94, + 0x36, 0xfa, 0x75, 0x10, 0x58, 0x5a, 0x7d, 0xc5, +}; +static const unsigned char kat2351_nonce[] = {0}; +static const unsigned char kat2351_persstr[] = {0}; +static const unsigned char kat2351_entropyinreseed[] = { + 0x9a, 0xc9, 0xe5, 0x14, 0x4c, 0xfd, 0x52, 0xd3, 0xdf, 0x33, 0x47, 0x36, + 0x09, 0x9d, 0x2c, 0xd9, 0x69, 0x3c, 0x97, 0xed, 0xc7, 0xc4, 0x1c, 0x1e, + 0x17, 0x30, 0x09, 0x14, 0x85, 0x49, 0xce, 0x8e, +}; +static const unsigned char kat2351_addinreseed[] = {0}; +static const unsigned char kat2351_addin0[] = {0}; +static const unsigned char kat2351_addin1[] = {0}; +static const unsigned char kat2351_retbits[] = { + 0x6d, 0xf1, 0xde, 0x2d, 0xdd, 0x71, 0x3f, 0x9b, 0xc0, 0x16, 0x88, 0x36, + 0x6a, 0x44, 0xd1, 0x21, 0x68, 0x68, 0x12, 0x04, 0x1f, 0x00, 0x32, 0xbc, + 0x11, 0xa8, 0xfb, 0xbf, 0x7f, 0x5a, 0x22, 0x5d, 0xcc, 0x06, 0xb5, 0xfd, + 0x12, 0xc1, 0x91, 0x1e, 0xdc, 0xec, 0xb8, 0x06, 0x5e, 0x62, 0x95, 0xa0, + 0xb8, 0xaa, 0x83, 0x8f, 0x3e, 0x82, 0xf4, 0xdc, 0xe8, 0x88, 0x2e, 0xba, + 0xeb, 0x80, 0x27, 0x6e, +}; +static const struct drbg_kat_pr_false kat2351_t = { + 10, kat2351_entropyin, kat2351_nonce, kat2351_persstr, + kat2351_entropyinreseed, kat2351_addinreseed, kat2351_addin0, + kat2351_addin1, kat2351_retbits +}; +static const struct drbg_kat kat2351 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2351_t +}; + +static const unsigned char kat2352_entropyin[] = { + 0x33, 0xc4, 0x9e, 0x74, 0x2b, 0xb3, 0xd9, 0x03, 0x36, 0x12, 0xf3, 0x23, + 0x5e, 0x84, 0x02, 0x90, 0x4d, 0xa8, 0xbe, 0xc4, 0x43, 0x39, 0x31, 0x24, + 0xea, 0xbf, 0x0f, 0xfd, 0x92, 0xc7, 0xfd, 0x3a, +}; +static const unsigned char kat2352_nonce[] = {0}; +static const unsigned char kat2352_persstr[] = {0}; +static const unsigned char kat2352_entropyinreseed[] = { + 0x70, 0x5b, 0xb4, 0x29, 0xe7, 0xca, 0xbd, 0xee, 0x77, 0x16, 0x55, 0xb3, + 0xa8, 0x5d, 0x4e, 0xe3, 0x27, 0x1c, 0x9f, 0x05, 0x71, 0xea, 0xd3, 0x4f, + 0x5d, 0x7d, 0x1d, 0xf3, 0x91, 0x8d, 0x3c, 0xaf, +}; +static const unsigned char kat2352_addinreseed[] = {0}; +static const unsigned char kat2352_addin0[] = {0}; +static const unsigned char kat2352_addin1[] = {0}; +static const unsigned char kat2352_retbits[] = { + 0x19, 0xc5, 0x4e, 0xcb, 0x76, 0x92, 0x4f, 0xf9, 0x30, 0xad, 0xa1, 0xaa, + 0x6f, 0x35, 0xb4, 0x2c, 0x22, 0x5a, 0x0e, 0x72, 0x64, 0x53, 0x41, 0x77, + 0xe0, 0x79, 0x1c, 0xff, 0xda, 0x42, 0x67, 0x76, 0x34, 0x29, 0x78, 0x80, + 0x28, 0xea, 0xcf, 0x9b, 0x98, 0x77, 0x66, 0xf5, 0x3a, 0x06, 0x6f, 0xa6, + 0x91, 0x89, 0x58, 0xe9, 0x2e, 0x66, 0xbf, 0x0f, 0xac, 0x60, 0x63, 0x76, + 0xc8, 0x57, 0xa0, 0x78, +}; +static const struct drbg_kat_pr_false kat2352_t = { + 11, kat2352_entropyin, kat2352_nonce, kat2352_persstr, + kat2352_entropyinreseed, kat2352_addinreseed, kat2352_addin0, + kat2352_addin1, kat2352_retbits +}; +static const struct drbg_kat kat2352 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2352_t +}; + +static const unsigned char kat2353_entropyin[] = { + 0x0b, 0xde, 0x84, 0x03, 0xf4, 0xef, 0xfc, 0x3f, 0x58, 0x8d, 0x4e, 0xae, + 0xb9, 0x41, 0x23, 0x09, 0xed, 0x70, 0x3d, 0x88, 0x9d, 0x11, 0x81, 0x23, + 0xd5, 0xad, 0x55, 0xd4, 0xb6, 0xad, 0x04, 0x82, +}; +static const unsigned char kat2353_nonce[] = {0}; +static const unsigned char kat2353_persstr[] = {0}; +static const unsigned char kat2353_entropyinreseed[] = { + 0x9f, 0xd6, 0x0f, 0x0e, 0xaf, 0xed, 0xfc, 0x85, 0x73, 0xdb, 0x6d, 0x11, + 0x4f, 0x87, 0x33, 0xc3, 0x69, 0xaa, 0x7a, 0x44, 0x9d, 0x58, 0x64, 0x28, + 0x46, 0xed, 0x8c, 0x04, 0x9e, 0xce, 0x92, 0x8d, +}; +static const unsigned char kat2353_addinreseed[] = {0}; +static const unsigned char kat2353_addin0[] = {0}; +static const unsigned char kat2353_addin1[] = {0}; +static const unsigned char kat2353_retbits[] = { + 0x86, 0x65, 0x3c, 0x0a, 0xc3, 0x26, 0x18, 0x74, 0xa3, 0x99, 0xe4, 0x96, + 0x5a, 0x12, 0xbb, 0x98, 0x62, 0x67, 0x64, 0xfc, 0xfa, 0x54, 0x68, 0x99, + 0xcb, 0x22, 0xe4, 0x7a, 0x4d, 0x5c, 0xe2, 0x12, 0x19, 0x29, 0x77, 0x2a, + 0xd7, 0x2e, 0x8b, 0x69, 0x88, 0xbe, 0x10, 0x77, 0xde, 0x45, 0x10, 0xff, + 0x0d, 0x4f, 0x20, 0x4a, 0x92, 0xfa, 0x1e, 0xad, 0x4c, 0x1b, 0x82, 0xa2, + 0x24, 0xfb, 0x74, 0xbd, +}; +static const struct drbg_kat_pr_false kat2353_t = { + 12, kat2353_entropyin, kat2353_nonce, kat2353_persstr, + kat2353_entropyinreseed, kat2353_addinreseed, kat2353_addin0, + kat2353_addin1, kat2353_retbits +}; +static const struct drbg_kat kat2353 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2353_t +}; + +static const unsigned char kat2354_entropyin[] = { + 0x64, 0x59, 0x1d, 0x27, 0xdb, 0xfb, 0x75, 0x6f, 0xa8, 0x82, 0x39, 0x9d, + 0x93, 0xe2, 0x46, 0x04, 0xbb, 0xba, 0xa5, 0x32, 0x02, 0x38, 0xc3, 0x6d, + 0x8b, 0x66, 0x55, 0x4c, 0xb3, 0x42, 0xfc, 0x23, +}; +static const unsigned char kat2354_nonce[] = {0}; +static const unsigned char kat2354_persstr[] = {0}; +static const unsigned char kat2354_entropyinreseed[] = { + 0xe2, 0x8b, 0x90, 0x9e, 0xcb, 0xbf, 0x0c, 0x5f, 0xaf, 0x80, 0xbd, 0x2c, + 0xae, 0xa1, 0x4f, 0x55, 0xdc, 0xa0, 0x8f, 0x97, 0x20, 0x6c, 0x0e, 0x0a, + 0x44, 0xc5, 0x47, 0x25, 0x54, 0x4d, 0xd4, 0xac, +}; +static const unsigned char kat2354_addinreseed[] = {0}; +static const unsigned char kat2354_addin0[] = {0}; +static const unsigned char kat2354_addin1[] = {0}; +static const unsigned char kat2354_retbits[] = { + 0x0f, 0x5b, 0x8f, 0x9e, 0x65, 0xaf, 0x24, 0x7e, 0xc6, 0xe6, 0x4a, 0x99, + 0xe7, 0xc0, 0xa1, 0x9d, 0x9a, 0x75, 0x7b, 0x88, 0x89, 0x5d, 0xb9, 0xcf, + 0x01, 0x5e, 0x61, 0x77, 0xec, 0x24, 0x64, 0xde, 0xc7, 0x8e, 0x42, 0xf1, + 0x9a, 0x0f, 0xe5, 0x2f, 0x90, 0x79, 0x5b, 0x3f, 0xdd, 0x33, 0x12, 0x23, + 0x34, 0x8d, 0x43, 0x28, 0xc1, 0x84, 0x05, 0x07, 0x88, 0x1d, 0xb7, 0xa1, + 0x9f, 0x16, 0x8a, 0xdf, +}; +static const struct drbg_kat_pr_false kat2354_t = { + 13, kat2354_entropyin, kat2354_nonce, kat2354_persstr, + kat2354_entropyinreseed, kat2354_addinreseed, kat2354_addin0, + kat2354_addin1, kat2354_retbits +}; +static const struct drbg_kat kat2354 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2354_t +}; + +static const unsigned char kat2355_entropyin[] = { + 0xe3, 0xd8, 0xfc, 0xb8, 0xc0, 0x49, 0xe4, 0x42, 0xd2, 0xbd, 0x07, 0x10, + 0x4c, 0x46, 0xf0, 0x60, 0x2a, 0x1f, 0x60, 0xf8, 0x7b, 0xdc, 0x02, 0xdb, + 0xec, 0xdc, 0xfc, 0xf4, 0x00, 0x6b, 0x5b, 0x0a, +}; +static const unsigned char kat2355_nonce[] = {0}; +static const unsigned char kat2355_persstr[] = {0}; +static const unsigned char kat2355_entropyinreseed[] = { + 0xe2, 0x53, 0x27, 0x86, 0x7f, 0xf2, 0x74, 0x56, 0xef, 0xf9, 0xf4, 0xae, + 0x43, 0x75, 0xc7, 0xa8, 0x57, 0x88, 0xb4, 0x00, 0xdc, 0xae, 0x03, 0xae, + 0x8c, 0x89, 0x24, 0x72, 0xc8, 0xa0, 0x52, 0x21, +}; +static const unsigned char kat2355_addinreseed[] = {0}; +static const unsigned char kat2355_addin0[] = {0}; +static const unsigned char kat2355_addin1[] = {0}; +static const unsigned char kat2355_retbits[] = { + 0x75, 0x40, 0x63, 0xc6, 0x79, 0x26, 0x99, 0x31, 0xfd, 0xab, 0x8f, 0x90, + 0xde, 0xaa, 0x96, 0x79, 0x69, 0xf2, 0x0b, 0x18, 0x05, 0xd9, 0x3f, 0xe5, + 0xb1, 0x92, 0x85, 0x12, 0xcd, 0x2f, 0xe9, 0x89, 0x84, 0x97, 0x4b, 0x0b, + 0xb1, 0xd7, 0x49, 0x4d, 0x81, 0xf5, 0x3e, 0x07, 0x3f, 0x1a, 0x3a, 0x93, + 0x78, 0xea, 0x27, 0x30, 0x7a, 0x15, 0x4d, 0xc8, 0xa1, 0xfb, 0x1d, 0x3e, + 0x17, 0x99, 0x8f, 0x85, +}; +static const struct drbg_kat_pr_false kat2355_t = { + 14, kat2355_entropyin, kat2355_nonce, kat2355_persstr, + kat2355_entropyinreseed, kat2355_addinreseed, kat2355_addin0, + kat2355_addin1, kat2355_retbits +}; +static const struct drbg_kat kat2355 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat2355_t +}; + +static const unsigned char kat2356_entropyin[] = { + 0x11, 0x09, 0x21, 0x43, 0x25, 0x33, 0x47, 0x10, 0x6d, 0xf7, 0xa1, 0xc4, + 0x57, 0x2a, 0x2d, 0x2c, 0x01, 0x44, 0x28, 0x0b, 0x26, 0x97, 0x0b, 0x30, + 0xe7, 0x44, 0xd8, 0xe1, 0x42, 0x70, 0x32, 0xb3, +}; +static const unsigned char kat2356_nonce[] = {0}; +static const unsigned char kat2356_persstr[] = {0}; +static const unsigned char kat2356_entropyinreseed[] = { + 0x4c, 0x56, 0xb8, 0x4e, 0x97, 0xa3, 0x75, 0xd8, 0x32, 0xe9, 0xd7, 0x41, + 0x3b, 0xa3, 0xc6, 0x20, 0xeb, 0xfd, 0x0e, 0x6b, 0x10, 0x61, 0xed, 0x2b, + 0x59, 0x36, 0xe6, 0xe6, 0xda, 0x9d, 0xae, 0x99, +}; +static const unsigned char kat2356_addinreseed[] = { + 0xa4, 0xe9, 0x43, 0x3b, 0xf4, 0xb9, 0x48, 0xd3, 0x60, 0x3b, 0x5d, 0xac, + 0xb1, 0x5a, 0x66, 0xd1, 0xa2, 0x49, 0x10, 0x4d, 0x39, 0x20, 0x55, 0x39, + 0x25, 0x53, 0xf4, 0x8e, 0x92, 0x67, 0xb3, 0xe8, +}; +static const unsigned char kat2356_addin0[] = { + 0x62, 0x4c, 0xc3, 0x86, 0xd7, 0x20, 0x4a, 0x70, 0xab, 0x42, 0x27, 0x74, + 0x8c, 0xe2, 0x06, 0xb0, 0xad, 0xee, 0x59, 0xb1, 0x9e, 0x42, 0xdf, 0x52, + 0xe8, 0xc8, 0xca, 0x06, 0xb8, 0x81, 0xce, 0x60, +}; +static const unsigned char kat2356_addin1[] = { + 0xb0, 0x24, 0xf8, 0xa6, 0x09, 0xe4, 0xa0, 0xe0, 0x21, 0x4a, 0x22, 0x9d, + 0xcf, 0x65, 0xcf, 0xfd, 0xc2, 0x50, 0x8b, 0x4d, 0x19, 0x2c, 0x6f, 0x3c, + 0xb1, 0x64, 0x17, 0x60, 0xfa, 0xf8, 0x11, 0x31, +}; +static const unsigned char kat2356_retbits[] = { + 0xa5, 0x0e, 0x16, 0x43, 0x26, 0x48, 0x93, 0xec, 0x49, 0xbd, 0xb0, 0xb1, + 0xd9, 0xfd, 0x7b, 0x53, 0x25, 0x61, 0xf8, 0x32, 0x56, 0xfb, 0x34, 0x21, + 0xb1, 0x30, 0x30, 0xdf, 0xdb, 0x3f, 0xf2, 0xe0, 0xab, 0xb6, 0x82, 0x82, + 0xf5, 0x75, 0x74, 0x18, 0xcd, 0x1f, 0xfb, 0x16, 0x93, 0x24, 0x55, 0xed, + 0x03, 0x8a, 0x85, 0x65, 0xc3, 0x80, 0xc5, 0x81, 0xeb, 0x5d, 0x90, 0xb0, + 0x8f, 0x06, 0xbb, 0x13, +}; +static const struct drbg_kat_pr_false kat2356_t = { + 0, kat2356_entropyin, kat2356_nonce, kat2356_persstr, + kat2356_entropyinreseed, kat2356_addinreseed, kat2356_addin0, + kat2356_addin1, kat2356_retbits +}; +static const struct drbg_kat kat2356 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2356_t +}; + +static const unsigned char kat2357_entropyin[] = { + 0xf1, 0x90, 0xfc, 0x84, 0x71, 0x3f, 0x16, 0x33, 0x7e, 0x9b, 0x96, 0xdf, + 0x5b, 0x1f, 0x8a, 0x65, 0x87, 0xda, 0x6b, 0x0f, 0xcf, 0x07, 0xf5, 0xef, + 0xee, 0xed, 0xe0, 0x04, 0x03, 0x21, 0x47, 0x62, +}; +static const unsigned char kat2357_nonce[] = {0}; +static const unsigned char kat2357_persstr[] = {0}; +static const unsigned char kat2357_entropyinreseed[] = { + 0xb9, 0xb5, 0x85, 0x94, 0x83, 0x9f, 0x11, 0x7b, 0x7b, 0x4b, 0x40, 0x13, + 0x69, 0x11, 0x50, 0x1a, 0x60, 0x3c, 0x78, 0x20, 0x71, 0xa6, 0xbb, 0x05, + 0x71, 0xf4, 0x4e, 0x84, 0xfd, 0x5b, 0x7d, 0x1b, +}; +static const unsigned char kat2357_addinreseed[] = { + 0xe5, 0xc2, 0x90, 0x91, 0x0d, 0x48, 0x41, 0x1a, 0xf2, 0x29, 0x23, 0xc6, + 0x8b, 0x1a, 0xc6, 0x11, 0xd6, 0x4f, 0x8d, 0x88, 0x92, 0x01, 0x53, 0x69, + 0x22, 0xa2, 0xe2, 0x29, 0xe6, 0xbe, 0x27, 0xe3, +}; +static const unsigned char kat2357_addin0[] = { + 0xc7, 0xa3, 0xee, 0x13, 0xe2, 0x8e, 0xf7, 0x1e, 0xa5, 0xb2, 0x1c, 0x51, + 0x3f, 0xdb, 0x57, 0x01, 0xcc, 0xa6, 0xcd, 0x55, 0xbf, 0x3c, 0x2e, 0xc8, + 0x5c, 0x90, 0xd1, 0xea, 0x6e, 0xba, 0x5b, 0x28, +}; +static const unsigned char kat2357_addin1[] = { + 0xce, 0xd4, 0xba, 0xd6, 0xc4, 0xb2, 0xff, 0xd2, 0x2c, 0x1a, 0xd1, 0x6a, + 0x31, 0x4c, 0x65, 0x88, 0x69, 0x2a, 0xfe, 0x2a, 0xbf, 0xff, 0x20, 0xfa, + 0xe5, 0xa9, 0xde, 0xb7, 0xaa, 0x9f, 0x03, 0xb3, +}; +static const unsigned char kat2357_retbits[] = { + 0xf3, 0xad, 0xa6, 0xbc, 0x28, 0x8c, 0xbc, 0x98, 0xe4, 0x15, 0x42, 0xfe, + 0xc9, 0x89, 0xf2, 0xc2, 0x62, 0xd5, 0x68, 0xd9, 0x19, 0x8a, 0xb6, 0x29, + 0x64, 0x47, 0x71, 0xcd, 0x13, 0x02, 0xfe, 0x28, 0x56, 0x19, 0xb5, 0x80, + 0xc9, 0xfd, 0x42, 0xc5, 0xf0, 0x58, 0x17, 0x87, 0xc9, 0x02, 0xbc, 0x07, + 0xda, 0x1b, 0x5f, 0x3d, 0xbf, 0x34, 0xd8, 0x55, 0x0b, 0x8a, 0x71, 0x73, + 0x9d, 0x4a, 0xfa, 0x9d, +}; +static const struct drbg_kat_pr_false kat2357_t = { + 1, kat2357_entropyin, kat2357_nonce, kat2357_persstr, + kat2357_entropyinreseed, kat2357_addinreseed, kat2357_addin0, + kat2357_addin1, kat2357_retbits +}; +static const struct drbg_kat kat2357 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2357_t +}; + +static const unsigned char kat2358_entropyin[] = { + 0xd8, 0xad, 0xbb, 0xd7, 0x93, 0x35, 0xed, 0x67, 0x98, 0xd2, 0xb6, 0x6a, + 0x2e, 0xd1, 0xbd, 0x06, 0x8b, 0xfb, 0x69, 0xe2, 0xfc, 0xc1, 0xc0, 0x20, + 0x73, 0xf6, 0x0a, 0x09, 0x20, 0x08, 0xc8, 0x80, +}; +static const unsigned char kat2358_nonce[] = {0}; +static const unsigned char kat2358_persstr[] = {0}; +static const unsigned char kat2358_entropyinreseed[] = { + 0x13, 0x90, 0x34, 0x30, 0x42, 0xb1, 0xff, 0xa4, 0xab, 0x4e, 0xb5, 0xfc, + 0xfb, 0x8b, 0xc7, 0x24, 0x7e, 0xc5, 0x61, 0xc5, 0x2e, 0x47, 0x37, 0xaf, + 0xd7, 0x55, 0xba, 0x06, 0x42, 0x8d, 0xb2, 0x16, +}; +static const unsigned char kat2358_addinreseed[] = { + 0xa1, 0x08, 0x09, 0x7a, 0xa7, 0x2c, 0xf2, 0xf6, 0x7b, 0x72, 0x55, 0x8a, + 0x83, 0xdc, 0xa4, 0x86, 0x25, 0x0d, 0x26, 0x5e, 0x74, 0x8a, 0xe6, 0x80, + 0x81, 0x5c, 0xba, 0xea, 0x9b, 0x04, 0x35, 0xb7, +}; +static const unsigned char kat2358_addin0[] = { + 0x65, 0x15, 0x45, 0x61, 0xff, 0xe9, 0x50, 0xe1, 0xbf, 0xb3, 0xad, 0xc1, + 0x1e, 0xbe, 0x73, 0x2f, 0x66, 0x08, 0xe0, 0xbd, 0x79, 0xdf, 0x4c, 0x38, + 0x4f, 0x8f, 0x04, 0xa2, 0x86, 0x5b, 0xc7, 0xed, +}; +static const unsigned char kat2358_addin1[] = { + 0xe1, 0x72, 0xbc, 0x2a, 0x93, 0x41, 0x22, 0xec, 0x9d, 0xb5, 0x56, 0x67, + 0xf4, 0xd4, 0x47, 0x4f, 0xc6, 0x67, 0xfb, 0x56, 0xb3, 0x43, 0xc0, 0x6f, + 0x13, 0xd8, 0x33, 0x00, 0x6a, 0xcb, 0xbe, 0x38, +}; +static const unsigned char kat2358_retbits[] = { + 0x8b, 0x29, 0xb1, 0x1b, 0x59, 0xb4, 0x90, 0xec, 0x84, 0xa2, 0x55, 0x3c, + 0xef, 0x26, 0x89, 0xf1, 0x4f, 0xeb, 0xb7, 0xa2, 0x81, 0x90, 0x41, 0xf5, + 0x1f, 0xb8, 0x2b, 0x24, 0x65, 0x2a, 0x4b, 0xd5, 0xec, 0x80, 0xd0, 0xd0, + 0x9c, 0x98, 0x31, 0xa7, 0x3d, 0x03, 0x3f, 0x8c, 0xe4, 0x35, 0xee, 0x72, + 0xcd, 0x22, 0x61, 0x95, 0xd7, 0x7e, 0xe0, 0xb2, 0x2b, 0x51, 0x29, 0x5b, + 0xb4, 0x4a, 0x17, 0xd1, +}; +static const struct drbg_kat_pr_false kat2358_t = { + 2, kat2358_entropyin, kat2358_nonce, kat2358_persstr, + kat2358_entropyinreseed, kat2358_addinreseed, kat2358_addin0, + kat2358_addin1, kat2358_retbits +}; +static const struct drbg_kat kat2358 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2358_t +}; + +static const unsigned char kat2359_entropyin[] = { + 0x69, 0xe1, 0xff, 0x29, 0xac, 0xba, 0x36, 0xe1, 0x9e, 0xa1, 0x89, 0x3c, + 0xfa, 0xc8, 0x89, 0xd1, 0x89, 0x02, 0x22, 0xbf, 0x0c, 0x84, 0xc1, 0x5b, + 0x9f, 0xee, 0x62, 0x52, 0x39, 0x3d, 0x0c, 0xbe, +}; +static const unsigned char kat2359_nonce[] = {0}; +static const unsigned char kat2359_persstr[] = {0}; +static const unsigned char kat2359_entropyinreseed[] = { + 0xc1, 0xe5, 0xa2, 0x1d, 0x4a, 0x52, 0x45, 0x9c, 0x08, 0x52, 0x60, 0x17, + 0x7b, 0x0e, 0xee, 0x87, 0x13, 0xdf, 0x05, 0x8d, 0x70, 0x6f, 0x45, 0xf9, + 0xb6, 0x16, 0xf4, 0x90, 0x26, 0x16, 0x9e, 0x0a, +}; +static const unsigned char kat2359_addinreseed[] = { + 0xe9, 0x30, 0xa2, 0xa1, 0x01, 0xde, 0x4f, 0xda, 0x42, 0x87, 0x8f, 0xd1, + 0x91, 0xf7, 0x33, 0x74, 0xc1, 0x20, 0x54, 0x6a, 0x88, 0xc8, 0x42, 0xfd, + 0xf6, 0x45, 0xc3, 0xeb, 0x11, 0xc0, 0x4b, 0xec, +}; +static const unsigned char kat2359_addin0[] = { + 0xd8, 0xdd, 0x0e, 0x74, 0x9f, 0x6c, 0xc4, 0x9a, 0x60, 0x49, 0xe9, 0x51, + 0x4c, 0x5c, 0xe6, 0x09, 0x30, 0x2f, 0x56, 0x04, 0x0e, 0x38, 0x3f, 0xf5, + 0x8b, 0x8b, 0x31, 0x86, 0x9a, 0xb6, 0xa4, 0xe4, +}; +static const unsigned char kat2359_addin1[] = { + 0x07, 0x86, 0xf9, 0xe0, 0xad, 0x87, 0x76, 0x4e, 0xa6, 0x69, 0xaa, 0x8b, + 0x1b, 0x76, 0x85, 0xfe, 0xb7, 0x7e, 0x30, 0x94, 0x34, 0x36, 0x02, 0xc7, + 0x3f, 0x68, 0xb8, 0x4e, 0x48, 0xfc, 0x4d, 0xaf, +}; +static const unsigned char kat2359_retbits[] = { + 0x4e, 0x6a, 0x71, 0x34, 0xf4, 0x95, 0x72, 0xfd, 0x08, 0xce, 0xc8, 0x5c, + 0x8b, 0x90, 0x13, 0x68, 0x48, 0x82, 0x4c, 0xd3, 0x14, 0x2b, 0x36, 0x1a, + 0xe7, 0x0d, 0xbb, 0x80, 0xa3, 0x3a, 0x54, 0x49, 0x88, 0x12, 0xe7, 0x34, + 0xa8, 0x7c, 0x4d, 0x2d, 0xb9, 0xb8, 0xc1, 0x77, 0x6d, 0x6d, 0xa7, 0x59, + 0x3f, 0x98, 0xa5, 0xfb, 0x1d, 0xf9, 0x89, 0x2a, 0x3f, 0xdd, 0x6f, 0x12, + 0xb5, 0x53, 0xa5, 0xe7, +}; +static const struct drbg_kat_pr_false kat2359_t = { + 3, kat2359_entropyin, kat2359_nonce, kat2359_persstr, + kat2359_entropyinreseed, kat2359_addinreseed, kat2359_addin0, + kat2359_addin1, kat2359_retbits +}; +static const struct drbg_kat kat2359 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2359_t +}; + +static const unsigned char kat2360_entropyin[] = { + 0xe5, 0x66, 0x7c, 0x09, 0x01, 0x32, 0x40, 0xd7, 0xde, 0xd3, 0xed, 0xa9, + 0xce, 0x15, 0x77, 0x7e, 0x0a, 0x1d, 0x08, 0xe2, 0xfa, 0x13, 0x80, 0x0e, + 0xc2, 0xab, 0x17, 0x5e, 0x35, 0x12, 0x9e, 0x2a, +}; +static const unsigned char kat2360_nonce[] = {0}; +static const unsigned char kat2360_persstr[] = {0}; +static const unsigned char kat2360_entropyinreseed[] = { + 0xdd, 0xe3, 0x65, 0x96, 0xca, 0xf0, 0x7b, 0xae, 0xb4, 0x2c, 0x6a, 0x73, + 0xc7, 0xb7, 0x21, 0xa6, 0x37, 0x13, 0x2c, 0xdc, 0x78, 0xe0, 0x68, 0xf7, + 0x0f, 0x47, 0xc7, 0x70, 0x28, 0x57, 0xa9, 0x6c, +}; +static const unsigned char kat2360_addinreseed[] = { + 0xd5, 0x3a, 0xea, 0x10, 0x3a, 0x37, 0x60, 0x04, 0x09, 0x15, 0xd8, 0x68, + 0x4f, 0xcf, 0xff, 0xc7, 0xd7, 0x77, 0xa8, 0x7b, 0x0c, 0x23, 0x16, 0x9c, + 0x4d, 0xea, 0xc0, 0xb6, 0x86, 0xec, 0x66, 0x5a, +}; +static const unsigned char kat2360_addin0[] = { + 0x8b, 0xd6, 0x7a, 0x30, 0xa8, 0xc3, 0x7b, 0x95, 0x6d, 0x20, 0xae, 0x76, + 0x19, 0x90, 0x87, 0xee, 0x4b, 0x9a, 0x7f, 0x5e, 0x56, 0xf5, 0xe6, 0x31, + 0xc9, 0xc5, 0x17, 0x0a, 0x9b, 0x2c, 0x51, 0xd0, +}; +static const unsigned char kat2360_addin1[] = { + 0x32, 0x5b, 0xc3, 0x38, 0x6f, 0xcb, 0x93, 0xc3, 0x8a, 0x20, 0x88, 0xb0, + 0x4b, 0xe8, 0xbd, 0xc0, 0x08, 0x0c, 0x51, 0xba, 0x7e, 0xc1, 0x87, 0x93, + 0xfc, 0xc4, 0x6e, 0x0d, 0x41, 0xc7, 0xa5, 0xc9, +}; +static const unsigned char kat2360_retbits[] = { + 0x06, 0x91, 0xa7, 0x1b, 0x34, 0x7f, 0x20, 0x09, 0x48, 0x81, 0xf0, 0xf1, + 0x7f, 0x0e, 0xf6, 0x44, 0x87, 0x6b, 0x75, 0xcf, 0x8c, 0x41, 0xda, 0x01, + 0x52, 0x4c, 0x63, 0x62, 0xc4, 0x1b, 0xec, 0x53, 0xb7, 0x47, 0x9e, 0xb3, + 0x91, 0xdb, 0xe6, 0x33, 0x86, 0xa3, 0xab, 0x4d, 0x38, 0xf7, 0x44, 0xbb, + 0x26, 0xcd, 0x6f, 0x25, 0x75, 0x06, 0x40, 0xb7, 0x41, 0xed, 0x1b, 0x8b, + 0xcf, 0x57, 0x10, 0x88, +}; +static const struct drbg_kat_pr_false kat2360_t = { + 4, kat2360_entropyin, kat2360_nonce, kat2360_persstr, + kat2360_entropyinreseed, kat2360_addinreseed, kat2360_addin0, + kat2360_addin1, kat2360_retbits +}; +static const struct drbg_kat kat2360 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2360_t +}; + +static const unsigned char kat2361_entropyin[] = { + 0xde, 0x44, 0x11, 0xd7, 0x47, 0x2a, 0x27, 0x6d, 0xde, 0x6f, 0xc3, 0xe1, + 0xbf, 0xbb, 0x66, 0x2f, 0xd0, 0x4d, 0x1b, 0xe1, 0xfd, 0x7b, 0xe5, 0x91, + 0xbc, 0xf6, 0x29, 0x48, 0x6b, 0xcd, 0x3d, 0x32, +}; +static const unsigned char kat2361_nonce[] = {0}; +static const unsigned char kat2361_persstr[] = {0}; +static const unsigned char kat2361_entropyinreseed[] = { + 0x25, 0xfb, 0x6a, 0xe4, 0x9a, 0xe3, 0xa7, 0x12, 0x5e, 0xfd, 0xf4, 0xc5, + 0xed, 0x92, 0xf7, 0x87, 0xba, 0xc2, 0xbe, 0xdd, 0x88, 0x59, 0x5b, 0xd7, + 0xb5, 0x5f, 0xae, 0xb7, 0xb9, 0x5e, 0xc7, 0xf8, +}; +static const unsigned char kat2361_addinreseed[] = { + 0x16, 0xf3, 0x98, 0x82, 0xd9, 0x48, 0x29, 0x3a, 0x74, 0x29, 0xae, 0x1f, + 0xf2, 0x0b, 0x51, 0x9f, 0x28, 0xf7, 0xe0, 0x22, 0x15, 0x02, 0x6b, 0x96, + 0xa2, 0xc0, 0x4e, 0x3c, 0xef, 0x56, 0x00, 0x4d, +}; +static const unsigned char kat2361_addin0[] = { + 0xda, 0x63, 0x2e, 0xeb, 0x6f, 0x32, 0x6b, 0x0a, 0xe5, 0x5e, 0x18, 0xc6, + 0x9d, 0xb5, 0xc7, 0x97, 0x1b, 0xf9, 0x67, 0x39, 0xfa, 0xf1, 0xa7, 0x3c, + 0x15, 0x23, 0x92, 0xd5, 0xa6, 0xee, 0xff, 0xc5, +}; +static const unsigned char kat2361_addin1[] = { + 0x00, 0x55, 0xb4, 0xcd, 0xd1, 0x09, 0x3b, 0x1b, 0xe3, 0x20, 0x9e, 0xb6, + 0x56, 0x19, 0x37, 0x9d, 0x58, 0xc2, 0xf2, 0xe9, 0x18, 0xb0, 0x53, 0xf2, + 0xc0, 0x7c, 0xe6, 0x47, 0xa6, 0x79, 0x78, 0x20, +}; +static const unsigned char kat2361_retbits[] = { + 0xc0, 0x23, 0x2b, 0x72, 0x08, 0x78, 0x44, 0xcf, 0x62, 0xd3, 0x00, 0x4a, + 0x59, 0xae, 0x36, 0x85, 0xaf, 0x71, 0x56, 0x57, 0x54, 0x7b, 0x91, 0xbd, + 0xd5, 0x41, 0x16, 0x57, 0xca, 0xab, 0x20, 0xeb, 0x76, 0x6b, 0x04, 0x50, + 0x61, 0x06, 0xbc, 0x4b, 0x9f, 0x7a, 0x55, 0x40, 0xdd, 0xc0, 0xa3, 0x83, + 0x77, 0xaf, 0x0c, 0x28, 0xc7, 0xf4, 0x0e, 0x84, 0xb7, 0x68, 0x11, 0x43, + 0x17, 0x27, 0x9a, 0xde, +}; +static const struct drbg_kat_pr_false kat2361_t = { + 5, kat2361_entropyin, kat2361_nonce, kat2361_persstr, + kat2361_entropyinreseed, kat2361_addinreseed, kat2361_addin0, + kat2361_addin1, kat2361_retbits +}; +static const struct drbg_kat kat2361 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2361_t +}; + +static const unsigned char kat2362_entropyin[] = { + 0x61, 0xef, 0x80, 0xe8, 0x37, 0x2b, 0x80, 0x19, 0x5a, 0x4a, 0x16, 0xd0, + 0x5a, 0x73, 0x73, 0x12, 0xa7, 0xd5, 0x67, 0x68, 0x0a, 0x83, 0x4e, 0xf7, + 0x0a, 0x7d, 0x6a, 0xdb, 0x9d, 0x01, 0x64, 0xa4, +}; +static const unsigned char kat2362_nonce[] = {0}; +static const unsigned char kat2362_persstr[] = {0}; +static const unsigned char kat2362_entropyinreseed[] = { + 0xd7, 0x9f, 0x8c, 0xbb, 0x3f, 0xfd, 0xa9, 0x58, 0x31, 0x51, 0xb9, 0x95, + 0x07, 0xeb, 0x85, 0x6b, 0x04, 0x91, 0x13, 0x35, 0x9e, 0x3b, 0xe0, 0x0d, + 0x4f, 0x67, 0x7c, 0x61, 0xc2, 0x7d, 0x77, 0x29, +}; +static const unsigned char kat2362_addinreseed[] = { + 0xb9, 0x57, 0x10, 0x77, 0xcd, 0x2a, 0xe0, 0x0f, 0xb1, 0xc3, 0x21, 0x5d, + 0x09, 0x17, 0xc8, 0x3f, 0x8f, 0xa8, 0xaa, 0x47, 0x1b, 0xd6, 0xe0, 0x4a, + 0xdc, 0x61, 0x27, 0x87, 0xac, 0x5e, 0x05, 0xc8, +}; +static const unsigned char kat2362_addin0[] = { + 0xdc, 0x6e, 0x9e, 0x7f, 0x58, 0x6a, 0xb6, 0x31, 0xd2, 0x91, 0xb3, 0x47, + 0x40, 0x74, 0x30, 0xd8, 0x89, 0x14, 0x7d, 0x27, 0x32, 0xd0, 0x17, 0xff, + 0xb5, 0xba, 0xfd, 0x3e, 0x6f, 0x44, 0x9d, 0x96, +}; +static const unsigned char kat2362_addin1[] = { + 0x7f, 0xe5, 0x92, 0x2e, 0x85, 0xe5, 0x19, 0x90, 0xef, 0xa6, 0xd3, 0x99, + 0x0e, 0x59, 0xd8, 0x2e, 0x15, 0x80, 0xcd, 0xec, 0x91, 0xb5, 0x55, 0x0c, + 0x10, 0x53, 0xfd, 0x61, 0x41, 0x7d, 0x44, 0xf4, +}; +static const unsigned char kat2362_retbits[] = { + 0x61, 0x5c, 0xbe, 0x15, 0x0c, 0xb8, 0x5d, 0xb0, 0x42, 0x61, 0x42, 0xbd, + 0x08, 0x84, 0xa6, 0x74, 0x47, 0xeb, 0x4f, 0xfa, 0xa7, 0x59, 0xd4, 0xc3, + 0x0c, 0xa5, 0xbe, 0xd2, 0xdd, 0x1c, 0xad, 0x86, 0x9c, 0xb0, 0x1e, 0x57, + 0x85, 0x77, 0xc4, 0xa0, 0x64, 0xd5, 0x9d, 0x55, 0x0e, 0xf4, 0x7f, 0x7e, + 0xe5, 0x94, 0xfa, 0xc2, 0xbd, 0x02, 0xf8, 0x7b, 0x93, 0x30, 0x17, 0xa9, + 0x8b, 0x15, 0x9d, 0xab, +}; +static const struct drbg_kat_pr_false kat2362_t = { + 6, kat2362_entropyin, kat2362_nonce, kat2362_persstr, + kat2362_entropyinreseed, kat2362_addinreseed, kat2362_addin0, + kat2362_addin1, kat2362_retbits +}; +static const struct drbg_kat kat2362 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2362_t +}; + +static const unsigned char kat2363_entropyin[] = { + 0x92, 0x74, 0x71, 0x62, 0x79, 0xd0, 0xc6, 0x06, 0x7b, 0x95, 0x5f, 0x30, + 0x62, 0x7b, 0xa1, 0x84, 0x27, 0x62, 0x02, 0x17, 0x02, 0x68, 0x30, 0x5a, + 0xce, 0x84, 0x66, 0xf9, 0x3b, 0xde, 0x9e, 0x35, +}; +static const unsigned char kat2363_nonce[] = {0}; +static const unsigned char kat2363_persstr[] = {0}; +static const unsigned char kat2363_entropyinreseed[] = { + 0x71, 0x08, 0x6e, 0xed, 0x40, 0x3d, 0x6c, 0x22, 0x1b, 0xe2, 0xc5, 0xeb, + 0x06, 0x41, 0xec, 0xac, 0x4f, 0x78, 0x7f, 0x14, 0x47, 0xad, 0x90, 0x86, + 0x41, 0xcf, 0x37, 0xe4, 0x01, 0x53, 0x41, 0xad, +}; +static const unsigned char kat2363_addinreseed[] = { + 0x99, 0xde, 0x60, 0x6c, 0x0a, 0xfa, 0x62, 0x39, 0xa3, 0xe3, 0x7b, 0x8c, + 0x37, 0xea, 0x37, 0xe2, 0xce, 0xbc, 0xea, 0x7c, 0x0b, 0xee, 0x31, 0x7c, + 0x63, 0x83, 0x6f, 0x3a, 0x85, 0x5f, 0xb8, 0x48, +}; +static const unsigned char kat2363_addin0[] = { + 0x26, 0xad, 0xd2, 0xa6, 0x86, 0x89, 0x33, 0xac, 0x40, 0x21, 0x2f, 0xad, + 0x03, 0xee, 0x33, 0x56, 0x1b, 0xd1, 0x12, 0x12, 0xab, 0x93, 0x41, 0x4a, + 0x8e, 0x57, 0xc1, 0x72, 0x13, 0x8e, 0x57, 0x18, +}; +static const unsigned char kat2363_addin1[] = { + 0x83, 0x34, 0xfe, 0xec, 0x63, 0x76, 0x5e, 0x7a, 0x23, 0x17, 0x5f, 0x6b, + 0xba, 0x6f, 0x3e, 0x77, 0xe1, 0x58, 0xa7, 0x33, 0x1c, 0x37, 0x9a, 0xf9, + 0x6b, 0xa9, 0xc0, 0x7b, 0x35, 0xa7, 0xb8, 0x64, +}; +static const unsigned char kat2363_retbits[] = { + 0x91, 0x23, 0xd4, 0x13, 0x75, 0xb1, 0xc7, 0x84, 0xf5, 0xcb, 0x67, 0x16, + 0x0c, 0x81, 0x67, 0x21, 0xdb, 0xd0, 0x5c, 0xeb, 0xfd, 0xe1, 0xae, 0xea, + 0x5b, 0xe2, 0x4c, 0xed, 0xc4, 0x9b, 0xf3, 0x50, 0x18, 0xa2, 0x53, 0xf7, + 0x23, 0x6c, 0x36, 0x2d, 0x92, 0x92, 0x90, 0x96, 0xdc, 0xa9, 0x5a, 0x07, + 0xa4, 0xd0, 0x1d, 0xfb, 0x15, 0x9b, 0x8f, 0x28, 0x05, 0x56, 0x7d, 0x57, + 0xa0, 0x69, 0x04, 0xff, +}; +static const struct drbg_kat_pr_false kat2363_t = { + 7, kat2363_entropyin, kat2363_nonce, kat2363_persstr, + kat2363_entropyinreseed, kat2363_addinreseed, kat2363_addin0, + kat2363_addin1, kat2363_retbits +}; +static const struct drbg_kat kat2363 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2363_t +}; + +static const unsigned char kat2364_entropyin[] = { + 0x87, 0xbc, 0x9e, 0x07, 0xb0, 0x0c, 0x20, 0x2f, 0x00, 0x26, 0x4f, 0x4e, + 0xd0, 0x9a, 0x41, 0xa8, 0x7f, 0x3b, 0xc7, 0x9a, 0x46, 0x7c, 0xf6, 0x74, + 0x6b, 0x0a, 0x79, 0x2d, 0x3d, 0xe1, 0xf3, 0xd2, +}; +static const unsigned char kat2364_nonce[] = {0}; +static const unsigned char kat2364_persstr[] = {0}; +static const unsigned char kat2364_entropyinreseed[] = { + 0x5d, 0x06, 0xe5, 0x1d, 0xcd, 0x29, 0x2b, 0xf5, 0xc6, 0x19, 0x7b, 0x72, + 0x71, 0xa4, 0x47, 0xfb, 0x5d, 0x8f, 0xfb, 0xc8, 0x4a, 0x89, 0x61, 0x14, + 0xc1, 0x42, 0xd2, 0x04, 0x12, 0xf1, 0x14, 0xdf, +}; +static const unsigned char kat2364_addinreseed[] = { + 0x2d, 0xd5, 0x3c, 0x78, 0x15, 0x60, 0xda, 0x3f, 0x01, 0xa1, 0x3c, 0xa7, + 0xb0, 0x73, 0xf0, 0x88, 0xd1, 0xe7, 0x54, 0xb9, 0xe8, 0xcc, 0x97, 0xbd, + 0x4d, 0xe2, 0xa1, 0xd6, 0x8a, 0x34, 0x0b, 0x6f, +}; +static const unsigned char kat2364_addin0[] = { + 0x7b, 0x5a, 0xf2, 0x54, 0xbe, 0xfe, 0xad, 0x4f, 0x53, 0x1b, 0xda, 0xe0, + 0x9e, 0x7f, 0x3c, 0x98, 0xe7, 0xa6, 0x6a, 0x2d, 0xd2, 0x43, 0xf9, 0xba, + 0x55, 0x67, 0x0c, 0xd5, 0xf4, 0x83, 0xd8, 0x9b, +}; +static const unsigned char kat2364_addin1[] = { + 0x7a, 0x7b, 0x44, 0xec, 0x90, 0x06, 0xbf, 0xe4, 0x02, 0x78, 0x25, 0x96, + 0xd5, 0xa5, 0x00, 0xd4, 0x58, 0x12, 0xd2, 0x09, 0x65, 0x1c, 0x3e, 0x26, + 0x0d, 0x80, 0x49, 0x27, 0x0c, 0xc9, 0xed, 0x51, +}; +static const unsigned char kat2364_retbits[] = { + 0x97, 0x2c, 0x6e, 0x29, 0x19, 0xbc, 0xc5, 0x82, 0x7b, 0xe7, 0x43, 0x5d, + 0xbf, 0xe8, 0x6b, 0xe2, 0x57, 0x44, 0x66, 0x1d, 0xef, 0x51, 0x34, 0x7e, + 0xc6, 0x75, 0x47, 0xf3, 0xd8, 0x74, 0x89, 0x68, 0x7b, 0x79, 0xfc, 0x7d, + 0xae, 0xfd, 0x9b, 0xb8, 0x25, 0x3c, 0x4f, 0x8f, 0x58, 0x86, 0xca, 0x93, + 0x3a, 0x03, 0x82, 0x5f, 0x8d, 0xb6, 0xca, 0x7f, 0x07, 0x8c, 0x6b, 0xfd, + 0xaa, 0x77, 0xe8, 0xc4, +}; +static const struct drbg_kat_pr_false kat2364_t = { + 8, kat2364_entropyin, kat2364_nonce, kat2364_persstr, + kat2364_entropyinreseed, kat2364_addinreseed, kat2364_addin0, + kat2364_addin1, kat2364_retbits +}; +static const struct drbg_kat kat2364 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2364_t +}; + +static const unsigned char kat2365_entropyin[] = { + 0xdd, 0xfe, 0xb8, 0x87, 0xc7, 0xee, 0xe3, 0xbb, 0x4e, 0x9e, 0x34, 0x79, + 0xbd, 0xaa, 0x09, 0x9a, 0xd5, 0x84, 0xce, 0x4d, 0xf4, 0xfc, 0x2c, 0x68, + 0xc1, 0x9f, 0x3e, 0xb9, 0x8f, 0x60, 0xbd, 0x62, +}; +static const unsigned char kat2365_nonce[] = {0}; +static const unsigned char kat2365_persstr[] = {0}; +static const unsigned char kat2365_entropyinreseed[] = { + 0x14, 0x89, 0x3d, 0x56, 0x42, 0xb8, 0xc4, 0xef, 0x27, 0x89, 0xee, 0x62, + 0xbb, 0xc7, 0xef, 0xa1, 0xc7, 0xc8, 0x24, 0xb8, 0x52, 0xe5, 0xe3, 0x20, + 0x19, 0x11, 0xb1, 0x22, 0x8b, 0x1e, 0xc5, 0x34, +}; +static const unsigned char kat2365_addinreseed[] = { + 0xcc, 0x6c, 0x7c, 0xf7, 0x96, 0x6c, 0x71, 0x8b, 0x0f, 0xc9, 0x8a, 0x77, + 0x30, 0xbd, 0xfd, 0xec, 0xef, 0xef, 0x47, 0x12, 0xed, 0x4b, 0xb0, 0xc5, + 0xcc, 0x3d, 0x59, 0x23, 0x44, 0x36, 0xab, 0x8f, +}; +static const unsigned char kat2365_addin0[] = { + 0x98, 0x2d, 0xa5, 0xa4, 0x19, 0xb9, 0x45, 0x6a, 0x66, 0xf3, 0xa7, 0x60, + 0x3b, 0x42, 0x26, 0x0a, 0x9c, 0x4c, 0x90, 0xb7, 0xb9, 0x6c, 0x20, 0xf8, + 0x98, 0xd1, 0x3a, 0xe6, 0x4a, 0x1b, 0xc3, 0xa6, +}; +static const unsigned char kat2365_addin1[] = { + 0xa9, 0x73, 0xb8, 0x52, 0xc1, 0x35, 0xdf, 0x72, 0x64, 0x45, 0x36, 0x48, + 0xf0, 0x98, 0xbc, 0xde, 0x47, 0x0a, 0x84, 0xd1, 0x9f, 0x64, 0x1b, 0x5b, + 0xef, 0xf0, 0x7c, 0xa6, 0x31, 0xb9, 0xa7, 0xc8, +}; +static const unsigned char kat2365_retbits[] = { + 0x8c, 0x30, 0x54, 0xa6, 0x9e, 0xe9, 0x00, 0x39, 0xb7, 0xcd, 0x6b, 0xb8, + 0x0a, 0x14, 0x60, 0x8a, 0x36, 0x6a, 0x3d, 0xb7, 0xce, 0x49, 0xaa, 0x9b, + 0xdf, 0xf1, 0xd0, 0x63, 0xc5, 0x4d, 0x9d, 0x6b, 0xe1, 0x1f, 0xe7, 0xb2, + 0x13, 0xce, 0x3b, 0xa2, 0x04, 0x43, 0xef, 0xd3, 0x84, 0xcc, 0xf0, 0x0f, + 0xec, 0xcc, 0x58, 0xef, 0x99, 0x28, 0x82, 0xc6, 0x65, 0x69, 0x85, 0xa3, + 0x1f, 0x30, 0x09, 0x69, +}; +static const struct drbg_kat_pr_false kat2365_t = { + 9, kat2365_entropyin, kat2365_nonce, kat2365_persstr, + kat2365_entropyinreseed, kat2365_addinreseed, kat2365_addin0, + kat2365_addin1, kat2365_retbits +}; +static const struct drbg_kat kat2365 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2365_t +}; + +static const unsigned char kat2366_entropyin[] = { + 0xfd, 0xb2, 0x7f, 0xa5, 0xd7, 0x6b, 0xff, 0x49, 0xb2, 0x04, 0xf4, 0xc8, + 0x83, 0x49, 0x3d, 0x48, 0x93, 0x6e, 0xb1, 0x2e, 0x27, 0x20, 0x54, 0xd5, + 0x6f, 0xbf, 0x53, 0x75, 0x5b, 0xaf, 0x08, 0x08, +}; +static const unsigned char kat2366_nonce[] = {0}; +static const unsigned char kat2366_persstr[] = {0}; +static const unsigned char kat2366_entropyinreseed[] = { + 0x59, 0x88, 0x04, 0xe3, 0xb0, 0xb2, 0x6e, 0x0b, 0xd4, 0xd8, 0x29, 0x2e, + 0xe5, 0x15, 0x06, 0xe0, 0x20, 0xc4, 0x23, 0x0b, 0x9d, 0x8e, 0xb1, 0x8d, + 0xee, 0x33, 0xbc, 0x6a, 0xc4, 0xd1, 0x1d, 0xb3, +}; +static const unsigned char kat2366_addinreseed[] = { + 0xae, 0x4d, 0x63, 0x6d, 0xac, 0xb2, 0x6e, 0x89, 0xb5, 0x77, 0x72, 0xd1, + 0x0c, 0x2b, 0xef, 0x88, 0xa4, 0xa9, 0xbe, 0x8d, 0x6c, 0x98, 0xd6, 0x59, + 0x72, 0x9a, 0x12, 0x0b, 0x00, 0xeb, 0xda, 0x5f, +}; +static const unsigned char kat2366_addin0[] = { + 0x8e, 0xca, 0x07, 0x50, 0xcc, 0x30, 0x6a, 0x30, 0x14, 0x82, 0x53, 0x94, + 0xa5, 0x80, 0x2b, 0x52, 0x73, 0x37, 0xef, 0x6f, 0x4c, 0x52, 0xc1, 0x67, + 0x9a, 0x82, 0xc9, 0x7b, 0x60, 0xa1, 0xb5, 0x93, +}; +static const unsigned char kat2366_addin1[] = { + 0xb1, 0x84, 0xd9, 0x2e, 0xb2, 0x95, 0x55, 0x92, 0xb1, 0x27, 0x7e, 0xbc, + 0xcf, 0xb3, 0x3b, 0xbc, 0x77, 0x6b, 0x46, 0xf3, 0x00, 0xc6, 0xf2, 0x3b, + 0xda, 0xf1, 0x8c, 0xab, 0x9b, 0xd3, 0x3c, 0xc4, +}; +static const unsigned char kat2366_retbits[] = { + 0x57, 0xed, 0x41, 0x6d, 0x11, 0x6c, 0x64, 0x4f, 0xac, 0x2f, 0x9d, 0xdb, + 0x54, 0xd3, 0xc6, 0x40, 0xae, 0xd6, 0xf6, 0x0d, 0xc6, 0x0d, 0x30, 0xc0, + 0xd8, 0xd7, 0xaa, 0xa4, 0x06, 0x44, 0x88, 0x22, 0x51, 0x82, 0x11, 0xff, + 0xf8, 0x2c, 0x09, 0x4c, 0x47, 0x14, 0xe1, 0xd7, 0x17, 0xc9, 0x33, 0xe2, + 0xd0, 0x50, 0x54, 0x75, 0x7e, 0x5d, 0x8b, 0x1a, 0x5e, 0x97, 0x9e, 0x6e, + 0x7a, 0x97, 0xaa, 0x2f, +}; +static const struct drbg_kat_pr_false kat2366_t = { + 10, kat2366_entropyin, kat2366_nonce, kat2366_persstr, + kat2366_entropyinreseed, kat2366_addinreseed, kat2366_addin0, + kat2366_addin1, kat2366_retbits +}; +static const struct drbg_kat kat2366 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2366_t +}; + +static const unsigned char kat2367_entropyin[] = { + 0x84, 0x3a, 0x90, 0x17, 0x9e, 0xb6, 0xe9, 0x5b, 0x37, 0x10, 0x4a, 0x22, + 0x11, 0xf0, 0xd7, 0x79, 0xff, 0x4a, 0x24, 0x4b, 0x35, 0xb3, 0xca, 0xb1, + 0x71, 0x0e, 0xef, 0x7c, 0x20, 0x72, 0xd6, 0x5a, +}; +static const unsigned char kat2367_nonce[] = {0}; +static const unsigned char kat2367_persstr[] = {0}; +static const unsigned char kat2367_entropyinreseed[] = { + 0xc7, 0x8d, 0xd1, 0xf6, 0x26, 0xe6, 0x4e, 0x84, 0x9f, 0x63, 0xf1, 0x8f, + 0xd6, 0x86, 0xa6, 0xf0, 0x38, 0x7f, 0xd2, 0xd8, 0x03, 0x97, 0x82, 0x62, + 0x7b, 0xcc, 0xe3, 0x6e, 0x12, 0x1d, 0x68, 0x16, +}; +static const unsigned char kat2367_addinreseed[] = { + 0xbd, 0xb6, 0x17, 0x5c, 0xc8, 0xec, 0xa6, 0x21, 0x57, 0x90, 0xdf, 0x0e, + 0x01, 0x07, 0x42, 0xc1, 0x6d, 0xbc, 0xd8, 0x43, 0x03, 0x19, 0x90, 0xd3, + 0x0c, 0xde, 0xd5, 0x67, 0xd1, 0x59, 0x70, 0xcb, +}; +static const unsigned char kat2367_addin0[] = { + 0xa8, 0xd3, 0x60, 0x71, 0x71, 0x77, 0xf6, 0x03, 0xbd, 0xc4, 0xc5, 0x0d, + 0xb6, 0x79, 0xeb, 0x97, 0x11, 0x4c, 0xc5, 0x56, 0xc7, 0x22, 0x00, 0x25, + 0xfc, 0x05, 0xd9, 0xfb, 0x2e, 0xbe, 0xf1, 0x3c, +}; +static const unsigned char kat2367_addin1[] = { + 0xcf, 0x95, 0x2c, 0xc4, 0xad, 0xae, 0xda, 0x8e, 0x5a, 0x33, 0x0f, 0xfe, + 0xa8, 0x6d, 0x1e, 0x1c, 0x4b, 0x4d, 0x3c, 0x95, 0x3d, 0xaf, 0xb3, 0x58, + 0x53, 0xbb, 0x30, 0xe8, 0xf0, 0xb2, 0xbc, 0x34, +}; +static const unsigned char kat2367_retbits[] = { + 0x7c, 0x6e, 0xfb, 0x2a, 0xef, 0x74, 0x91, 0xca, 0x50, 0x11, 0xe5, 0x65, + 0x78, 0x12, 0xc5, 0xf0, 0x6b, 0x67, 0x95, 0xcd, 0xc5, 0xb6, 0x13, 0xff, + 0xc4, 0x18, 0x3a, 0xeb, 0x7c, 0x8b, 0xfd, 0x10, 0xad, 0xa4, 0x6b, 0xc5, + 0x39, 0x6e, 0x24, 0xd8, 0x3e, 0x78, 0x17, 0xd7, 0xd9, 0x04, 0xd8, 0xd5, + 0xb7, 0xfb, 0x58, 0x07, 0xb4, 0x2f, 0xb3, 0xa3, 0xdb, 0xfe, 0xbc, 0x75, + 0xb5, 0x09, 0xf5, 0xdd, +}; +static const struct drbg_kat_pr_false kat2367_t = { + 11, kat2367_entropyin, kat2367_nonce, kat2367_persstr, + kat2367_entropyinreseed, kat2367_addinreseed, kat2367_addin0, + kat2367_addin1, kat2367_retbits +}; +static const struct drbg_kat kat2367 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2367_t +}; + +static const unsigned char kat2368_entropyin[] = { + 0xb0, 0x81, 0x8e, 0xf7, 0x5b, 0x9d, 0x0e, 0xe5, 0xac, 0x6d, 0x72, 0x3a, + 0xee, 0xdc, 0xe2, 0xac, 0x47, 0x33, 0xbe, 0x08, 0xae, 0x89, 0xb4, 0x71, + 0x21, 0x50, 0x99, 0xb3, 0x04, 0x60, 0x9a, 0x7d, +}; +static const unsigned char kat2368_nonce[] = {0}; +static const unsigned char kat2368_persstr[] = {0}; +static const unsigned char kat2368_entropyinreseed[] = { + 0xb5, 0x4d, 0x13, 0x80, 0x31, 0x05, 0xa7, 0x6f, 0x4b, 0x4f, 0x67, 0x32, + 0x9e, 0x63, 0x55, 0xd2, 0xcc, 0x48, 0xaf, 0x86, 0x67, 0x37, 0x90, 0xc5, + 0xc1, 0x7b, 0x03, 0xf8, 0x5b, 0x1c, 0x2e, 0x32, +}; +static const unsigned char kat2368_addinreseed[] = { + 0x9a, 0x8a, 0xbf, 0x49, 0x95, 0x03, 0x63, 0x3a, 0x7b, 0x35, 0xbe, 0x82, + 0x4c, 0x37, 0xc1, 0xa5, 0xd0, 0x20, 0x29, 0x14, 0xfe, 0x5c, 0xd2, 0xd8, + 0x51, 0xa2, 0xed, 0xa0, 0xbe, 0x7b, 0x7c, 0x6f, +}; +static const unsigned char kat2368_addin0[] = { + 0x6c, 0x60, 0xf5, 0xa6, 0x7b, 0x26, 0x22, 0xc8, 0xf5, 0x2a, 0xc1, 0x83, + 0x5a, 0x3f, 0x49, 0x0d, 0x6a, 0x89, 0x9e, 0x5c, 0x8d, 0xdd, 0x4b, 0xdb, + 0xe2, 0x8a, 0x32, 0xd0, 0x46, 0xbe, 0x7f, 0x1b, +}; +static const unsigned char kat2368_addin1[] = { + 0xc6, 0xc8, 0xbc, 0xaa, 0x53, 0x8a, 0xa5, 0x78, 0x3d, 0xb2, 0x5e, 0x63, + 0x00, 0x0c, 0x2a, 0xd2, 0x94, 0x4b, 0x62, 0x85, 0xed, 0x8d, 0x33, 0x80, + 0x86, 0x28, 0x60, 0xc7, 0x15, 0x27, 0x28, 0x43, +}; +static const unsigned char kat2368_retbits[] = { + 0x6c, 0x69, 0x25, 0x0d, 0x63, 0x55, 0x32, 0x28, 0xf9, 0xaf, 0x40, 0x19, + 0x86, 0xc6, 0x37, 0xd0, 0x1b, 0x97, 0xca, 0x9a, 0x4e, 0xf9, 0x81, 0x5b, + 0x70, 0x9d, 0x15, 0x89, 0x71, 0x75, 0xbb, 0x64, 0xd0, 0xda, 0x55, 0x83, + 0xbf, 0x0e, 0x43, 0xa6, 0x1a, 0x28, 0x31, 0x09, 0x5d, 0x30, 0xaa, 0x90, + 0x60, 0x33, 0xc5, 0x4a, 0xfb, 0xa2, 0x1d, 0x7f, 0x38, 0xf2, 0x27, 0x39, + 0x64, 0x48, 0x94, 0x47, +}; +static const struct drbg_kat_pr_false kat2368_t = { + 12, kat2368_entropyin, kat2368_nonce, kat2368_persstr, + kat2368_entropyinreseed, kat2368_addinreseed, kat2368_addin0, + kat2368_addin1, kat2368_retbits +}; +static const struct drbg_kat kat2368 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2368_t +}; + +static const unsigned char kat2369_entropyin[] = { + 0xce, 0xf0, 0x3d, 0x76, 0x60, 0x6e, 0x57, 0xac, 0xa2, 0x78, 0xcf, 0xf0, + 0x05, 0x1a, 0x83, 0x88, 0xcb, 0xe7, 0x29, 0x9f, 0x8a, 0xd3, 0xf7, 0x06, + 0x43, 0xa8, 0x57, 0x91, 0x8f, 0xee, 0x22, 0x60, +}; +static const unsigned char kat2369_nonce[] = {0}; +static const unsigned char kat2369_persstr[] = {0}; +static const unsigned char kat2369_entropyinreseed[] = { + 0x51, 0x7b, 0x42, 0x73, 0x09, 0x66, 0x48, 0xaf, 0xd6, 0x62, 0x3f, 0x49, + 0xfc, 0x40, 0xf1, 0x8d, 0xeb, 0xfe, 0xae, 0xfe, 0xf1, 0xe9, 0x58, 0x98, + 0xdf, 0x15, 0x6e, 0xff, 0xf2, 0xf2, 0x2b, 0xeb, +}; +static const unsigned char kat2369_addinreseed[] = { + 0x8e, 0x86, 0x12, 0xe1, 0xaf, 0x62, 0xb5, 0x1d, 0x04, 0xe7, 0x6c, 0xd9, + 0xd4, 0x1c, 0x83, 0xd6, 0xb6, 0x12, 0x6e, 0xa5, 0x41, 0xf5, 0xdb, 0x64, + 0x87, 0x0e, 0x07, 0xbf, 0x0a, 0x8f, 0xd6, 0x5b, +}; +static const unsigned char kat2369_addin0[] = { + 0x7d, 0x2d, 0x1a, 0x93, 0xfa, 0xac, 0x61, 0xb9, 0x42, 0x5b, 0xfb, 0x82, + 0x59, 0xa4, 0x18, 0xe2, 0x55, 0xdf, 0x29, 0x79, 0xe7, 0x92, 0xb4, 0xb3, + 0x69, 0x04, 0xf8, 0x2f, 0xfc, 0x1b, 0x3d, 0x86, +}; +static const unsigned char kat2369_addin1[] = { + 0x3b, 0x70, 0x71, 0x06, 0xcc, 0x8a, 0x03, 0xbb, 0x37, 0xa8, 0x10, 0x6e, + 0x97, 0xa7, 0xbc, 0xfb, 0x2c, 0x81, 0xf8, 0xba, 0x08, 0x32, 0x48, 0x9c, + 0xf6, 0xa1, 0xfb, 0x49, 0x28, 0x54, 0x09, 0xcd, +}; +static const unsigned char kat2369_retbits[] = { + 0x25, 0xae, 0xf9, 0xe7, 0xee, 0x8a, 0x97, 0x2e, 0x9e, 0x64, 0x1c, 0xbd, + 0x79, 0x7d, 0x04, 0x92, 0xb3, 0x8c, 0xe6, 0xb4, 0x32, 0xa3, 0x5f, 0xe3, + 0x95, 0x0e, 0x65, 0xba, 0x74, 0xa7, 0xe2, 0x2e, 0x26, 0x26, 0xbd, 0x59, + 0xdc, 0x36, 0xac, 0x0f, 0x98, 0x31, 0xa4, 0x55, 0x55, 0x5b, 0x40, 0x24, + 0x6e, 0x29, 0x73, 0xe3, 0x4a, 0x7b, 0xf2, 0xac, 0x98, 0xd5, 0x84, 0xf7, + 0xf4, 0xce, 0x9c, 0x02, +}; +static const struct drbg_kat_pr_false kat2369_t = { + 13, kat2369_entropyin, kat2369_nonce, kat2369_persstr, + kat2369_entropyinreseed, kat2369_addinreseed, kat2369_addin0, + kat2369_addin1, kat2369_retbits +}; +static const struct drbg_kat kat2369 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2369_t +}; + +static const unsigned char kat2370_entropyin[] = { + 0x56, 0x13, 0x00, 0xb8, 0xb3, 0xcc, 0x83, 0x81, 0xad, 0x4c, 0x28, 0x32, + 0xd9, 0xf9, 0xe8, 0xba, 0xde, 0x8c, 0x72, 0x0b, 0x56, 0xed, 0x47, 0x26, + 0xa2, 0x11, 0xfb, 0xf7, 0xee, 0xa2, 0x85, 0xec, +}; +static const unsigned char kat2370_nonce[] = {0}; +static const unsigned char kat2370_persstr[] = {0}; +static const unsigned char kat2370_entropyinreseed[] = { + 0xc2, 0x3d, 0xaa, 0xa3, 0x8e, 0xb8, 0xa0, 0x39, 0xc9, 0x61, 0x7b, 0xf1, + 0x8b, 0x61, 0x20, 0xf7, 0xe9, 0x7e, 0x70, 0x5d, 0xb4, 0x13, 0xd8, 0x22, + 0xe2, 0xd8, 0xb0, 0xf2, 0xb5, 0xfc, 0x5b, 0xa7, +}; +static const unsigned char kat2370_addinreseed[] = { + 0x6c, 0xff, 0x3d, 0xa8, 0x10, 0x73, 0x47, 0x89, 0xc7, 0x60, 0x5d, 0x13, + 0xcc, 0x6b, 0x39, 0x12, 0x61, 0x99, 0x62, 0x57, 0x2e, 0xb9, 0x1b, 0x9f, + 0x9f, 0x27, 0xf9, 0x4a, 0x40, 0xbf, 0xeb, 0x08, +}; +static const unsigned char kat2370_addin0[] = { + 0xff, 0x29, 0x6c, 0xd8, 0x3f, 0x43, 0x95, 0x29, 0xd4, 0x36, 0x25, 0x4c, + 0x49, 0x00, 0x13, 0xf2, 0x6f, 0xac, 0x4a, 0xb4, 0x07, 0xe1, 0x58, 0xa0, + 0x6b, 0x3c, 0x9d, 0x4e, 0x9e, 0x7d, 0x04, 0xa7, +}; +static const unsigned char kat2370_addin1[] = { + 0x63, 0xde, 0xe7, 0x58, 0xf8, 0x0f, 0x00, 0x73, 0x8d, 0xee, 0x68, 0xe5, + 0xf8, 0xa3, 0x61, 0xcb, 0xbb, 0x37, 0x1b, 0xcf, 0xa1, 0xb6, 0x7f, 0xfb, + 0x07, 0x3c, 0x45, 0xe3, 0xc8, 0x4b, 0x85, 0xfb, +}; +static const unsigned char kat2370_retbits[] = { + 0x29, 0x54, 0x46, 0xb0, 0x8f, 0x87, 0x9c, 0x3e, 0x46, 0xf0, 0xc5, 0x7d, + 0xac, 0x85, 0x76, 0x7d, 0x94, 0x80, 0x5f, 0xcd, 0xf7, 0xbe, 0xb1, 0xee, + 0xe7, 0x5d, 0x40, 0xf6, 0x43, 0x25, 0x46, 0x91, 0xad, 0xef, 0x0e, 0x83, + 0x00, 0xcf, 0x27, 0xde, 0xb9, 0x0a, 0x72, 0x80, 0x5c, 0xce, 0x91, 0xa4, + 0x43, 0x3d, 0x26, 0x3e, 0xca, 0xce, 0xe0, 0x58, 0x3b, 0x22, 0x2b, 0x81, + 0xc0, 0xbb, 0xe4, 0x01, +}; +static const struct drbg_kat_pr_false kat2370_t = { + 14, kat2370_entropyin, kat2370_nonce, kat2370_persstr, + kat2370_entropyinreseed, kat2370_addinreseed, kat2370_addin0, + kat2370_addin1, kat2370_retbits +}; +static const struct drbg_kat kat2370 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat2370_t +}; + +static const unsigned char kat2371_entropyin[] = { + 0x96, 0x80, 0xb3, 0x38, 0x56, 0x3c, 0x37, 0xdf, 0x37, 0xd9, 0xb8, 0x7c, + 0x39, 0xa9, 0xf7, 0xd1, 0x6e, 0x58, 0x0e, 0x03, 0x10, 0x63, 0x99, 0x51, + 0x23, 0x83, 0x7c, 0xa7, 0xc5, 0xbb, 0x9a, 0x16, +}; +static const unsigned char kat2371_nonce[] = {0}; +static const unsigned char kat2371_persstr[] = { + 0x7b, 0xd8, 0x4c, 0x53, 0x97, 0xf2, 0xb0, 0xdd, 0xd4, 0xa6, 0x3a, 0x35, + 0x99, 0x49, 0xf1, 0x96, 0x68, 0x06, 0xd9, 0x03, 0x88, 0x56, 0x90, 0xc4, + 0x9f, 0x2a, 0x70, 0x32, 0xe3, 0x88, 0x8b, 0xb8, +}; +static const unsigned char kat2371_entropyinreseed[] = { + 0xba, 0x53, 0x15, 0x33, 0x40, 0xc5, 0x89, 0x00, 0xd4, 0xe4, 0xce, 0xc7, + 0x47, 0x07, 0xa1, 0xfb, 0x32, 0xc9, 0x31, 0x08, 0xe2, 0x66, 0x15, 0xb0, + 0xe0, 0x09, 0x6d, 0xb6, 0x2e, 0xc1, 0x99, 0x9b, +}; +static const unsigned char kat2371_addinreseed[] = {0}; +static const unsigned char kat2371_addin0[] = {0}; +static const unsigned char kat2371_addin1[] = {0}; +static const unsigned char kat2371_retbits[] = { + 0x28, 0x56, 0xd0, 0x79, 0xfe, 0x25, 0x39, 0xdb, 0x40, 0x0e, 0x42, 0x89, + 0x30, 0x6b, 0xf0, 0x42, 0x0c, 0x4c, 0xbc, 0xe3, 0x26, 0xb3, 0x8b, 0x8c, + 0xac, 0x7a, 0xc4, 0x49, 0x54, 0xf6, 0x50, 0x90, 0x00, 0xb4, 0xaf, 0x2f, + 0x50, 0xf2, 0x2c, 0x8f, 0x2c, 0x0a, 0x89, 0x7e, 0x98, 0x96, 0x68, 0x1a, + 0xe4, 0xc4, 0x7a, 0x83, 0x68, 0x8c, 0x7c, 0xfa, 0xc8, 0x6d, 0x6a, 0x16, + 0x37, 0xe4, 0x98, 0xad, +}; +static const struct drbg_kat_pr_false kat2371_t = { + 0, kat2371_entropyin, kat2371_nonce, kat2371_persstr, + kat2371_entropyinreseed, kat2371_addinreseed, kat2371_addin0, + kat2371_addin1, kat2371_retbits +}; +static const struct drbg_kat kat2371 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2371_t +}; + +static const unsigned char kat2372_entropyin[] = { + 0x2e, 0x16, 0xb1, 0xf1, 0x16, 0x7e, 0xd7, 0x04, 0x0b, 0xd7, 0x1b, 0x6d, + 0x80, 0x9f, 0x65, 0xd4, 0xc1, 0x94, 0xdf, 0x94, 0x99, 0xdf, 0x26, 0xec, + 0x29, 0x7d, 0x5b, 0xa7, 0x28, 0xce, 0xdd, 0xa4, +}; +static const unsigned char kat2372_nonce[] = {0}; +static const unsigned char kat2372_persstr[] = { + 0xf9, 0x81, 0x51, 0xe9, 0x90, 0xf5, 0x68, 0x84, 0x2b, 0xd4, 0x7e, 0x0b, + 0x11, 0x67, 0xa6, 0x19, 0x57, 0xa4, 0x6b, 0xbb, 0x25, 0x4f, 0xc5, 0x69, + 0x15, 0xc2, 0x70, 0x71, 0x7d, 0x56, 0x07, 0x20, +}; +static const unsigned char kat2372_entropyinreseed[] = { + 0xc1, 0xc2, 0x82, 0xb0, 0xd3, 0x6f, 0x56, 0xe6, 0x4e, 0x34, 0x89, 0x61, + 0xe0, 0xea, 0xca, 0xc2, 0x28, 0x37, 0x6f, 0xbd, 0x47, 0x05, 0xc1, 0x73, + 0x22, 0x78, 0x0c, 0x42, 0x30, 0x06, 0xcd, 0xf7, +}; +static const unsigned char kat2372_addinreseed[] = {0}; +static const unsigned char kat2372_addin0[] = {0}; +static const unsigned char kat2372_addin1[] = {0}; +static const unsigned char kat2372_retbits[] = { + 0x1f, 0x25, 0xff, 0x8b, 0xa6, 0xe9, 0x6d, 0x41, 0xb3, 0x4d, 0x70, 0xed, + 0x7a, 0xf0, 0xa2, 0xd4, 0x46, 0x2b, 0x3f, 0x49, 0x59, 0x14, 0xa6, 0x5c, + 0x7c, 0x86, 0x18, 0xd9, 0x3c, 0x7f, 0x98, 0xcc, 0xaa, 0x4f, 0x81, 0x2b, + 0x7b, 0xb4, 0xe1, 0x87, 0x53, 0xaf, 0xdc, 0x8a, 0xfb, 0x53, 0x6e, 0xcf, + 0x34, 0x02, 0x80, 0x05, 0x5f, 0xe8, 0x1d, 0xa1, 0xe0, 0x32, 0x2c, 0x44, + 0xc0, 0xdf, 0x8e, 0x59, +}; +static const struct drbg_kat_pr_false kat2372_t = { + 1, kat2372_entropyin, kat2372_nonce, kat2372_persstr, + kat2372_entropyinreseed, kat2372_addinreseed, kat2372_addin0, + kat2372_addin1, kat2372_retbits +}; +static const struct drbg_kat kat2372 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2372_t +}; + +static const unsigned char kat2373_entropyin[] = { + 0xba, 0x84, 0xf7, 0xa7, 0x1d, 0x2c, 0x91, 0x9a, 0x11, 0xf0, 0x8b, 0x7c, + 0x28, 0xd8, 0xec, 0x96, 0x58, 0x06, 0x71, 0xc1, 0x09, 0x04, 0x62, 0x22, + 0xc7, 0xb0, 0xc7, 0x50, 0x5b, 0x50, 0x73, 0xcf, +}; +static const unsigned char kat2373_nonce[] = {0}; +static const unsigned char kat2373_persstr[] = { + 0x20, 0xb1, 0x29, 0xc9, 0x9d, 0x00, 0x2d, 0x94, 0x96, 0xf1, 0x4b, 0x31, + 0x77, 0x74, 0x39, 0x0e, 0x55, 0x54, 0x00, 0xeb, 0xf0, 0x4f, 0xfa, 0xe5, + 0x5d, 0x92, 0x95, 0x70, 0x38, 0xfe, 0x01, 0xcf, +}; +static const unsigned char kat2373_entropyinreseed[] = { + 0x6b, 0x08, 0x7b, 0x3f, 0x90, 0x43, 0x0a, 0x24, 0xf2, 0x16, 0xf0, 0x70, + 0xbd, 0x7c, 0x36, 0x8f, 0xc5, 0x01, 0xca, 0x64, 0x3f, 0x25, 0x11, 0x73, + 0x2b, 0xcb, 0x34, 0x58, 0x8d, 0x7d, 0x82, 0x90, +}; +static const unsigned char kat2373_addinreseed[] = {0}; +static const unsigned char kat2373_addin0[] = {0}; +static const unsigned char kat2373_addin1[] = {0}; +static const unsigned char kat2373_retbits[] = { + 0x95, 0xad, 0x8e, 0x77, 0x7a, 0x32, 0x16, 0x6a, 0xb7, 0xc3, 0x9f, 0x2d, + 0x79, 0x49, 0x93, 0xa9, 0x10, 0x0f, 0x0b, 0xbc, 0x71, 0x72, 0x75, 0x99, + 0xe2, 0x27, 0xbf, 0x02, 0x9b, 0x2e, 0x85, 0xb7, 0xd6, 0x72, 0x69, 0xf4, + 0x85, 0xc3, 0x0f, 0x82, 0x2d, 0x21, 0xb9, 0xdc, 0x11, 0x50, 0x6b, 0x39, + 0xe0, 0x0e, 0x0e, 0x0e, 0xb7, 0xf8, 0x32, 0x21, 0x3c, 0xb8, 0x2f, 0x7d, + 0x6a, 0xf0, 0x67, 0x34, +}; +static const struct drbg_kat_pr_false kat2373_t = { + 2, kat2373_entropyin, kat2373_nonce, kat2373_persstr, + kat2373_entropyinreseed, kat2373_addinreseed, kat2373_addin0, + kat2373_addin1, kat2373_retbits +}; +static const struct drbg_kat kat2373 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2373_t +}; + +static const unsigned char kat2374_entropyin[] = { + 0xb5, 0x0b, 0xf4, 0x6c, 0x1d, 0x31, 0x78, 0x96, 0x80, 0xc5, 0x7c, 0x06, + 0xa3, 0x35, 0x68, 0x2f, 0xf4, 0x85, 0x6e, 0x73, 0xe5, 0xbb, 0x75, 0x52, + 0xfb, 0xb3, 0xb6, 0xd3, 0x30, 0x3f, 0x79, 0xf2, +}; +static const unsigned char kat2374_nonce[] = {0}; +static const unsigned char kat2374_persstr[] = { + 0x98, 0x38, 0x81, 0x6d, 0xeb, 0x65, 0xb9, 0xfa, 0xde, 0x3c, 0xff, 0xc6, + 0xc7, 0xc5, 0x5c, 0x58, 0x32, 0xb2, 0xe7, 0x75, 0x5a, 0x25, 0xa1, 0xe6, + 0x6d, 0x3b, 0x6b, 0x73, 0x78, 0xc5, 0x22, 0xa1, +}; +static const unsigned char kat2374_entropyinreseed[] = { + 0xfe, 0xb1, 0xa1, 0x5a, 0xfe, 0x4e, 0xe8, 0x82, 0x99, 0xc1, 0x6d, 0x5f, + 0xb2, 0xc7, 0x1e, 0x1b, 0x28, 0xad, 0xec, 0x08, 0x78, 0x04, 0x81, 0x76, + 0x3a, 0x04, 0x93, 0xc2, 0xb6, 0x18, 0x99, 0x85, +}; +static const unsigned char kat2374_addinreseed[] = {0}; +static const unsigned char kat2374_addin0[] = {0}; +static const unsigned char kat2374_addin1[] = {0}; +static const unsigned char kat2374_retbits[] = { + 0x6f, 0x83, 0x9b, 0x3f, 0x40, 0xdc, 0x67, 0x74, 0xf7, 0xa0, 0x5f, 0xab, + 0x5a, 0xd1, 0xc0, 0xed, 0x05, 0xff, 0x26, 0xda, 0xe2, 0xf6, 0x5b, 0xd8, + 0x9c, 0xc2, 0xd5, 0x7b, 0x7e, 0xc9, 0x69, 0x30, 0x06, 0x94, 0x56, 0xb1, + 0x09, 0xd9, 0xfa, 0x50, 0xf8, 0x6e, 0x62, 0xf2, 0x75, 0xc1, 0xdd, 0x9f, + 0xef, 0x50, 0x94, 0xc4, 0x87, 0x0d, 0x18, 0x94, 0xe4, 0xb5, 0x0d, 0xad, + 0x6d, 0xf6, 0xfe, 0xda, +}; +static const struct drbg_kat_pr_false kat2374_t = { + 3, kat2374_entropyin, kat2374_nonce, kat2374_persstr, + kat2374_entropyinreseed, kat2374_addinreseed, kat2374_addin0, + kat2374_addin1, kat2374_retbits +}; +static const struct drbg_kat kat2374 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2374_t +}; + +static const unsigned char kat2375_entropyin[] = { + 0x73, 0xb0, 0x6f, 0xc7, 0xc1, 0xd1, 0x81, 0xd7, 0x45, 0x7a, 0x9d, 0x27, + 0x24, 0x43, 0x3a, 0x30, 0x5d, 0xf2, 0xee, 0x29, 0xab, 0x86, 0x1a, 0x87, + 0x4e, 0x08, 0x9f, 0x86, 0x4a, 0x22, 0xa4, 0x92, +}; +static const unsigned char kat2375_nonce[] = {0}; +static const unsigned char kat2375_persstr[] = { + 0xf9, 0xe7, 0x69, 0x39, 0x54, 0xb2, 0x5f, 0x9f, 0x4c, 0xe5, 0xf4, 0xcb, + 0x52, 0x48, 0x70, 0x62, 0x18, 0xbf, 0xcc, 0x81, 0x84, 0x2a, 0xc0, 0xeb, + 0xcc, 0xae, 0x08, 0xe0, 0x74, 0xe2, 0xd0, 0xf2, +}; +static const unsigned char kat2375_entropyinreseed[] = { + 0x68, 0x1f, 0xb7, 0xff, 0xb2, 0x93, 0x17, 0x3e, 0xd0, 0xf3, 0x58, 0x19, + 0x5d, 0x6e, 0x32, 0x9a, 0x6f, 0x79, 0xaf, 0x2c, 0x1a, 0x8e, 0x73, 0x4b, + 0x5a, 0xbf, 0xa8, 0x18, 0x14, 0x4b, 0x3d, 0x51, +}; +static const unsigned char kat2375_addinreseed[] = {0}; +static const unsigned char kat2375_addin0[] = {0}; +static const unsigned char kat2375_addin1[] = {0}; +static const unsigned char kat2375_retbits[] = { + 0x95, 0xd6, 0x20, 0xf6, 0x9d, 0xf2, 0xfe, 0x74, 0xe0, 0x51, 0x4d, 0xfb, + 0x1e, 0x0e, 0x6a, 0x74, 0xe2, 0xac, 0x05, 0xa5, 0x12, 0xa0, 0xc0, 0x76, + 0x38, 0xbb, 0x8e, 0x9d, 0x97, 0x1d, 0xf6, 0xc0, 0x6e, 0x13, 0x67, 0xa3, + 0x4d, 0x3f, 0xfc, 0xaa, 0x5d, 0x6f, 0x56, 0xd3, 0x82, 0xfe, 0xab, 0xeb, + 0x49, 0x78, 0x72, 0x67, 0x7d, 0xf0, 0x0a, 0x9e, 0xc7, 0x11, 0x9b, 0x76, + 0xbb, 0x08, 0x5d, 0x1e, +}; +static const struct drbg_kat_pr_false kat2375_t = { + 4, kat2375_entropyin, kat2375_nonce, kat2375_persstr, + kat2375_entropyinreseed, kat2375_addinreseed, kat2375_addin0, + kat2375_addin1, kat2375_retbits +}; +static const struct drbg_kat kat2375 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2375_t +}; + +static const unsigned char kat2376_entropyin[] = { + 0xc3, 0x8a, 0x07, 0x4e, 0x9d, 0xd0, 0x72, 0x3f, 0x3b, 0x61, 0x97, 0x65, + 0x6c, 0xb4, 0xa0, 0xd3, 0xfa, 0x75, 0xde, 0xb2, 0xcf, 0x67, 0xf2, 0xda, + 0x63, 0x3b, 0xea, 0xc5, 0x0a, 0xe1, 0x41, 0x44, +}; +static const unsigned char kat2376_nonce[] = {0}; +static const unsigned char kat2376_persstr[] = { + 0xd5, 0x8c, 0xa8, 0x8d, 0xea, 0x40, 0x63, 0x6f, 0x28, 0x43, 0xe7, 0x05, + 0x74, 0xe7, 0x64, 0xa4, 0xfb, 0x3c, 0x32, 0x7c, 0x45, 0x3d, 0x93, 0x54, + 0x95, 0xa4, 0x6e, 0xe5, 0x05, 0x83, 0x63, 0x02, +}; +static const unsigned char kat2376_entropyinreseed[] = { + 0x8b, 0x40, 0x0e, 0x5e, 0xfa, 0x15, 0x06, 0xbc, 0xc7, 0x3a, 0xcf, 0x46, + 0x7c, 0x27, 0x39, 0xf4, 0xad, 0xd4, 0xee, 0x23, 0x66, 0x23, 0xbc, 0x78, + 0x07, 0x0d, 0x0d, 0x1b, 0x16, 0xa7, 0x8a, 0xd5, +}; +static const unsigned char kat2376_addinreseed[] = {0}; +static const unsigned char kat2376_addin0[] = {0}; +static const unsigned char kat2376_addin1[] = {0}; +static const unsigned char kat2376_retbits[] = { + 0x2e, 0x2a, 0xe6, 0xfe, 0x54, 0x3b, 0x58, 0xc6, 0xda, 0xfe, 0x55, 0xa5, + 0x62, 0x8e, 0x1f, 0x70, 0x9a, 0x4a, 0x84, 0x8f, 0x66, 0x72, 0x1c, 0xf7, + 0xe6, 0x92, 0x14, 0xb0, 0x84, 0xcc, 0x71, 0xa6, 0xd8, 0x02, 0x94, 0x31, + 0x89, 0x01, 0x57, 0x19, 0x1f, 0x3e, 0xf2, 0xca, 0x45, 0xb4, 0x14, 0x19, + 0x16, 0x58, 0xdb, 0xee, 0xda, 0xea, 0xc7, 0xe0, 0x55, 0x24, 0xec, 0x1b, + 0x39, 0xc2, 0x0a, 0x4f, +}; +static const struct drbg_kat_pr_false kat2376_t = { + 5, kat2376_entropyin, kat2376_nonce, kat2376_persstr, + kat2376_entropyinreseed, kat2376_addinreseed, kat2376_addin0, + kat2376_addin1, kat2376_retbits +}; +static const struct drbg_kat kat2376 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2376_t +}; + +static const unsigned char kat2377_entropyin[] = { + 0xd3, 0x14, 0xa0, 0x80, 0xb0, 0x1f, 0x07, 0x1c, 0x2c, 0x72, 0x07, 0xe6, + 0x1b, 0xf5, 0xa3, 0x16, 0xd7, 0xb7, 0x68, 0xc8, 0x58, 0x16, 0xd9, 0xc9, + 0x2d, 0xd8, 0x63, 0x79, 0x60, 0x96, 0x6e, 0xd4, +}; +static const unsigned char kat2377_nonce[] = {0}; +static const unsigned char kat2377_persstr[] = { + 0x2f, 0xed, 0x85, 0x7b, 0x2d, 0xd4, 0x18, 0xc1, 0x1c, 0x39, 0x9d, 0xb3, + 0xc7, 0x16, 0x88, 0x76, 0xd2, 0xd4, 0xcc, 0xda, 0x32, 0xf2, 0x8c, 0x87, + 0x6c, 0xa2, 0x58, 0x50, 0x75, 0x78, 0xf8, 0x67, +}; +static const unsigned char kat2377_entropyinreseed[] = { + 0x16, 0xb8, 0x9e, 0x8e, 0x0e, 0x1f, 0x58, 0x96, 0x50, 0xda, 0x30, 0x93, + 0x04, 0xc1, 0xd7, 0xd3, 0x25, 0xa5, 0xb6, 0x1e, 0xc4, 0x56, 0xf5, 0x79, + 0xe2, 0x4c, 0xb7, 0xd8, 0xc6, 0xa0, 0x9c, 0x09, +}; +static const unsigned char kat2377_addinreseed[] = {0}; +static const unsigned char kat2377_addin0[] = {0}; +static const unsigned char kat2377_addin1[] = {0}; +static const unsigned char kat2377_retbits[] = { + 0xf2, 0xeb, 0x91, 0x99, 0x42, 0xa1, 0x43, 0x16, 0xa7, 0x33, 0x04, 0xa6, + 0xdc, 0x0a, 0xe5, 0xa9, 0xf9, 0x2f, 0x7c, 0x60, 0xe8, 0x6f, 0x23, 0x14, + 0x63, 0xcc, 0x91, 0x47, 0xf1, 0xcb, 0x60, 0xd6, 0xae, 0x86, 0x25, 0xb6, + 0x90, 0x61, 0x21, 0x90, 0xd3, 0xdf, 0x62, 0x96, 0x4f, 0x95, 0x51, 0xd1, + 0x4b, 0x11, 0xa0, 0xaf, 0x43, 0x5d, 0x40, 0x20, 0xc5, 0x87, 0x32, 0xb6, + 0xa9, 0x09, 0xc9, 0x04, +}; +static const struct drbg_kat_pr_false kat2377_t = { + 6, kat2377_entropyin, kat2377_nonce, kat2377_persstr, + kat2377_entropyinreseed, kat2377_addinreseed, kat2377_addin0, + kat2377_addin1, kat2377_retbits +}; +static const struct drbg_kat kat2377 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2377_t +}; + +static const unsigned char kat2378_entropyin[] = { + 0xbd, 0xa4, 0x5a, 0x21, 0x1b, 0x41, 0xca, 0x5a, 0x49, 0x9d, 0xd2, 0x06, + 0xf9, 0x3d, 0x4e, 0x1f, 0xc4, 0x16, 0xea, 0xad, 0xc4, 0x66, 0xe2, 0x28, + 0xba, 0x31, 0xd7, 0x0e, 0x29, 0x83, 0xc7, 0x51, +}; +static const unsigned char kat2378_nonce[] = {0}; +static const unsigned char kat2378_persstr[] = { + 0x2f, 0x64, 0x43, 0xee, 0xdd, 0xbd, 0xee, 0x49, 0x65, 0xf6, 0xfd, 0x9f, + 0x24, 0x24, 0x32, 0x01, 0xd6, 0x6e, 0x7a, 0x62, 0x55, 0x79, 0x4f, 0x4c, + 0x13, 0xa6, 0xb0, 0x27, 0x41, 0x22, 0xc3, 0xf2, +}; +static const unsigned char kat2378_entropyinreseed[] = { + 0x2a, 0xde, 0x92, 0x40, 0xde, 0x8f, 0xc4, 0xfb, 0xdb, 0xd4, 0xf2, 0x45, + 0x82, 0xd1, 0x24, 0x0c, 0xe2, 0xd8, 0x4d, 0xd8, 0x75, 0x2d, 0x1b, 0x50, + 0x82, 0x2f, 0x72, 0xf6, 0xbe, 0x77, 0x6f, 0x7d, +}; +static const unsigned char kat2378_addinreseed[] = {0}; +static const unsigned char kat2378_addin0[] = {0}; +static const unsigned char kat2378_addin1[] = {0}; +static const unsigned char kat2378_retbits[] = { + 0xab, 0xff, 0x61, 0xb3, 0xdf, 0x53, 0xd6, 0x98, 0xb5, 0x31, 0xd3, 0x4e, + 0xe4, 0xbc, 0x09, 0x7c, 0x05, 0x8b, 0x93, 0x2b, 0xfe, 0x29, 0x01, 0x95, + 0x31, 0xce, 0x08, 0x60, 0xc2, 0x7a, 0x96, 0x7c, 0xc1, 0x88, 0x6d, 0x13, + 0x84, 0xaa, 0xe4, 0x4d, 0x0d, 0x4f, 0x0d, 0x19, 0x6b, 0xee, 0xb9, 0x4a, + 0x62, 0x11, 0x36, 0x1a, 0x89, 0x8e, 0xbd, 0xda, 0x31, 0x6c, 0x33, 0x7f, + 0xfe, 0xb3, 0x82, 0x7a, +}; +static const struct drbg_kat_pr_false kat2378_t = { + 7, kat2378_entropyin, kat2378_nonce, kat2378_persstr, + kat2378_entropyinreseed, kat2378_addinreseed, kat2378_addin0, + kat2378_addin1, kat2378_retbits +}; +static const struct drbg_kat kat2378 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2378_t +}; + +static const unsigned char kat2379_entropyin[] = { + 0x70, 0x9d, 0x42, 0x3b, 0xcf, 0xeb, 0x14, 0xd3, 0xfd, 0x3e, 0x37, 0x21, + 0xe7, 0x47, 0x3e, 0x1b, 0x3f, 0x9d, 0x4d, 0x87, 0x24, 0x46, 0xfa, 0x2e, + 0x36, 0xff, 0xeb, 0xb3, 0xf2, 0x5f, 0xf6, 0x5b, +}; +static const unsigned char kat2379_nonce[] = {0}; +static const unsigned char kat2379_persstr[] = { + 0x63, 0x88, 0x7b, 0xc1, 0x9b, 0x1e, 0xec, 0x94, 0x8f, 0x06, 0xba, 0x14, + 0x14, 0x5d, 0xd9, 0x5d, 0xf8, 0x20, 0x9d, 0x92, 0x5c, 0x81, 0x19, 0x95, + 0x0e, 0x07, 0x53, 0x68, 0x97, 0x0d, 0x7b, 0xb0, +}; +static const unsigned char kat2379_entropyinreseed[] = { + 0x4e, 0xfc, 0x9c, 0x7b, 0x33, 0x7f, 0x00, 0xb2, 0x7b, 0x48, 0x2d, 0x83, + 0x32, 0xff, 0x0b, 0xb4, 0x1e, 0x77, 0x6e, 0x6a, 0xf5, 0xbd, 0x47, 0x41, + 0xbd, 0x22, 0x97, 0x8b, 0xf1, 0x9e, 0x33, 0x44, +}; +static const unsigned char kat2379_addinreseed[] = {0}; +static const unsigned char kat2379_addin0[] = {0}; +static const unsigned char kat2379_addin1[] = {0}; +static const unsigned char kat2379_retbits[] = { + 0xb1, 0xdb, 0x4e, 0x8d, 0xaf, 0x64, 0x2a, 0x7d, 0xc5, 0x07, 0xd0, 0x12, + 0xbc, 0xff, 0xa9, 0xc1, 0x92, 0x43, 0xed, 0x97, 0x4f, 0x08, 0xaf, 0x7b, + 0xab, 0xe3, 0x65, 0xc8, 0x8b, 0x79, 0x4b, 0xe0, 0x5f, 0x1a, 0x5e, 0xd6, + 0x78, 0xc5, 0xcc, 0x13, 0x0e, 0xf0, 0x58, 0xdc, 0xdb, 0x31, 0x29, 0x9a, + 0xa4, 0x02, 0xbe, 0x17, 0x61, 0xc3, 0xda, 0x81, 0x5a, 0x61, 0x51, 0xd1, + 0x04, 0xc2, 0xc5, 0x4d, +}; +static const struct drbg_kat_pr_false kat2379_t = { + 8, kat2379_entropyin, kat2379_nonce, kat2379_persstr, + kat2379_entropyinreseed, kat2379_addinreseed, kat2379_addin0, + kat2379_addin1, kat2379_retbits +}; +static const struct drbg_kat kat2379 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2379_t +}; + +static const unsigned char kat2380_entropyin[] = { + 0x66, 0x67, 0x1a, 0xa2, 0x65, 0x61, 0x66, 0xa1, 0x74, 0xbb, 0x85, 0xc0, + 0xc5, 0x57, 0x5a, 0x4d, 0x16, 0x94, 0x2f, 0xb5, 0x7b, 0x25, 0x4c, 0xc3, + 0x03, 0xe5, 0x95, 0x4e, 0x70, 0xbd, 0x4f, 0x97, +}; +static const unsigned char kat2380_nonce[] = {0}; +static const unsigned char kat2380_persstr[] = { + 0x40, 0x9e, 0xa4, 0x68, 0xfd, 0x7e, 0x7b, 0x80, 0xdd, 0x49, 0x43, 0x39, + 0xde, 0xc8, 0x25, 0x2c, 0x1d, 0xb7, 0x27, 0x90, 0xaf, 0xad, 0x99, 0x7d, + 0xed, 0x0f, 0x9d, 0x77, 0xdd, 0x31, 0x90, 0x1a, +}; +static const unsigned char kat2380_entropyinreseed[] = { + 0x36, 0xd4, 0x84, 0x21, 0x36, 0xd8, 0x34, 0x3a, 0xef, 0xdb, 0xba, 0xb4, + 0xa1, 0x8a, 0xab, 0x9b, 0x68, 0x61, 0x5b, 0x97, 0x4a, 0x9f, 0xaf, 0x42, + 0xa9, 0x35, 0xe4, 0x0c, 0x6f, 0x87, 0xf1, 0x2b, +}; +static const unsigned char kat2380_addinreseed[] = {0}; +static const unsigned char kat2380_addin0[] = {0}; +static const unsigned char kat2380_addin1[] = {0}; +static const unsigned char kat2380_retbits[] = { + 0x98, 0xc1, 0x32, 0x5d, 0xbf, 0x9c, 0x19, 0x0a, 0xba, 0x52, 0x2f, 0xc0, + 0x7f, 0x9d, 0x20, 0x9f, 0xff, 0xa8, 0x24, 0x0f, 0xbf, 0xac, 0xe8, 0x3a, + 0x1e, 0x01, 0x6c, 0x8a, 0x51, 0xc2, 0x83, 0xb0, 0xc8, 0xb8, 0x52, 0x67, + 0x3c, 0x3c, 0x72, 0xaf, 0xc6, 0x5f, 0xbe, 0x19, 0x3d, 0x67, 0x32, 0x12, + 0xf4, 0x6e, 0x8a, 0x28, 0x43, 0xb1, 0x50, 0x7a, 0x25, 0x20, 0xb0, 0x15, + 0x9c, 0x3e, 0xba, 0x01, +}; +static const struct drbg_kat_pr_false kat2380_t = { + 9, kat2380_entropyin, kat2380_nonce, kat2380_persstr, + kat2380_entropyinreseed, kat2380_addinreseed, kat2380_addin0, + kat2380_addin1, kat2380_retbits +}; +static const struct drbg_kat kat2380 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2380_t +}; + +static const unsigned char kat2381_entropyin[] = { + 0x19, 0xc5, 0x01, 0x3e, 0x12, 0x23, 0x7e, 0x58, 0x20, 0x01, 0xa2, 0x35, + 0x63, 0xea, 0xe2, 0xc1, 0x8c, 0x40, 0x09, 0xe5, 0xd1, 0x58, 0x38, 0xc3, + 0x45, 0x42, 0x5e, 0x82, 0xb7, 0x0d, 0x8b, 0x30, +}; +static const unsigned char kat2381_nonce[] = {0}; +static const unsigned char kat2381_persstr[] = { + 0x90, 0x22, 0x6b, 0x0d, 0xbf, 0xf5, 0x45, 0xe3, 0x5f, 0x0e, 0xfa, 0x35, + 0xbf, 0x92, 0xf4, 0xd6, 0x51, 0x73, 0x09, 0x9f, 0xef, 0xde, 0xfe, 0x88, + 0x6e, 0xfe, 0xe0, 0x92, 0x1d, 0x16, 0x02, 0x5e, +}; +static const unsigned char kat2381_entropyinreseed[] = { + 0x9f, 0xaa, 0x13, 0xbb, 0xe1, 0x14, 0xc1, 0x64, 0x28, 0x80, 0xd6, 0xb9, + 0x1f, 0x4e, 0x39, 0x43, 0x99, 0x16, 0x9d, 0x78, 0x57, 0xe1, 0x91, 0xaa, + 0xcd, 0x6d, 0x6f, 0x6a, 0xb4, 0x79, 0xba, 0xdb, +}; +static const unsigned char kat2381_addinreseed[] = {0}; +static const unsigned char kat2381_addin0[] = {0}; +static const unsigned char kat2381_addin1[] = {0}; +static const unsigned char kat2381_retbits[] = { + 0x37, 0x07, 0x28, 0x31, 0xba, 0xe4, 0xd4, 0xdb, 0x94, 0x0a, 0xfc, 0x8e, + 0x89, 0x40, 0xc0, 0xe0, 0x3d, 0xaa, 0xee, 0x38, 0x11, 0xc6, 0xea, 0x92, + 0x39, 0xce, 0x88, 0x5a, 0x82, 0x63, 0xb8, 0xd8, 0xe8, 0x1a, 0xe8, 0x39, + 0x73, 0x2b, 0x11, 0xa6, 0xa5, 0xa5, 0xd2, 0xed, 0x02, 0xd2, 0x38, 0xd8, + 0xb3, 0xfb, 0x4d, 0x8d, 0x59, 0x42, 0x9a, 0x30, 0x2a, 0x07, 0xe9, 0x9b, + 0x84, 0x1e, 0x27, 0x4d, +}; +static const struct drbg_kat_pr_false kat2381_t = { + 10, kat2381_entropyin, kat2381_nonce, kat2381_persstr, + kat2381_entropyinreseed, kat2381_addinreseed, kat2381_addin0, + kat2381_addin1, kat2381_retbits +}; +static const struct drbg_kat kat2381 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2381_t +}; + +static const unsigned char kat2382_entropyin[] = { + 0x6a, 0x8e, 0xdd, 0xc0, 0xc7, 0xc5, 0x7e, 0x37, 0xde, 0xce, 0xaa, 0x3e, + 0x0b, 0x13, 0x92, 0x2d, 0x6a, 0x63, 0xf0, 0x5c, 0x2e, 0xf6, 0x4a, 0x8d, + 0x7c, 0x64, 0x80, 0x85, 0xa6, 0x2e, 0xd9, 0x25, +}; +static const unsigned char kat2382_nonce[] = {0}; +static const unsigned char kat2382_persstr[] = { + 0x52, 0x16, 0x69, 0x65, 0x4b, 0x98, 0xc5, 0x65, 0xb9, 0x29, 0xdd, 0x00, + 0x1e, 0xa4, 0x1d, 0x45, 0x81, 0x20, 0xcc, 0x30, 0x03, 0x6f, 0xfc, 0xf5, + 0xc9, 0x0f, 0xac, 0x6a, 0xf6, 0xac, 0xe9, 0xcd, +}; +static const unsigned char kat2382_entropyinreseed[] = { + 0xe6, 0xd5, 0x87, 0x03, 0xe3, 0xa9, 0xfa, 0x3e, 0x76, 0x08, 0x5b, 0xd1, + 0x0f, 0x18, 0x75, 0xf5, 0xb5, 0x1b, 0xfb, 0x0a, 0x0e, 0x4a, 0x6d, 0xbb, + 0x1c, 0x05, 0x52, 0xbd, 0x29, 0x85, 0x11, 0x96, +}; +static const unsigned char kat2382_addinreseed[] = {0}; +static const unsigned char kat2382_addin0[] = {0}; +static const unsigned char kat2382_addin1[] = {0}; +static const unsigned char kat2382_retbits[] = { + 0x9e, 0xcf, 0x36, 0x7a, 0x00, 0xab, 0x54, 0x45, 0xf8, 0x31, 0xe4, 0xf1, + 0x5b, 0xe9, 0x27, 0xfb, 0x0e, 0x6c, 0xf8, 0x50, 0x87, 0x69, 0x8d, 0x73, + 0x45, 0x88, 0x25, 0x9e, 0xa1, 0xa8, 0x54, 0x12, 0xff, 0x92, 0x52, 0xb6, + 0x5f, 0x27, 0x9c, 0x17, 0xba, 0x0c, 0x99, 0xdc, 0x21, 0xe5, 0x51, 0x74, + 0x79, 0xc8, 0x9d, 0x68, 0x5e, 0x79, 0x74, 0x8f, 0x35, 0xe2, 0x87, 0xb7, + 0x2c, 0xe6, 0xdd, 0x2b, +}; +static const struct drbg_kat_pr_false kat2382_t = { + 11, kat2382_entropyin, kat2382_nonce, kat2382_persstr, + kat2382_entropyinreseed, kat2382_addinreseed, kat2382_addin0, + kat2382_addin1, kat2382_retbits +}; +static const struct drbg_kat kat2382 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2382_t +}; + +static const unsigned char kat2383_entropyin[] = { + 0x26, 0xe6, 0x07, 0x1e, 0xaf, 0x6f, 0x0c, 0xfe, 0x64, 0xd2, 0xfb, 0xf3, + 0x9b, 0x65, 0x5e, 0x16, 0x53, 0x13, 0xbb, 0x96, 0x17, 0x6d, 0xa0, 0x7b, + 0x3a, 0x2d, 0x07, 0x58, 0x90, 0xa5, 0x77, 0xea, +}; +static const unsigned char kat2383_nonce[] = {0}; +static const unsigned char kat2383_persstr[] = { + 0x1a, 0xd4, 0x06, 0xc9, 0xb2, 0x7e, 0x9e, 0xd0, 0xe4, 0xf1, 0x14, 0x87, + 0x5a, 0x9b, 0x40, 0xa4, 0x72, 0x00, 0xd9, 0x2e, 0x94, 0xe2, 0x84, 0xb8, + 0x98, 0xf9, 0x1e, 0x3b, 0x61, 0x16, 0x97, 0x87, +}; +static const unsigned char kat2383_entropyinreseed[] = { + 0x1c, 0x77, 0x44, 0x82, 0x9d, 0x36, 0x97, 0x7b, 0x4f, 0x02, 0x4e, 0xa9, + 0x9d, 0x82, 0xa0, 0xad, 0x8f, 0x87, 0x3d, 0xc9, 0x78, 0xac, 0xfe, 0xb1, + 0x0d, 0x30, 0xe9, 0x9c, 0xdd, 0x36, 0x20, 0x8c, +}; +static const unsigned char kat2383_addinreseed[] = {0}; +static const unsigned char kat2383_addin0[] = {0}; +static const unsigned char kat2383_addin1[] = {0}; +static const unsigned char kat2383_retbits[] = { + 0xc2, 0x50, 0xcd, 0x44, 0x62, 0x5e, 0xf2, 0x7d, 0x1b, 0xf1, 0x96, 0x79, + 0x64, 0x65, 0xe5, 0xd4, 0xb4, 0x5a, 0x7f, 0x0c, 0x61, 0x33, 0xf3, 0xca, + 0x40, 0xb3, 0x63, 0x54, 0xee, 0xac, 0x6b, 0x99, 0x0a, 0xa2, 0x67, 0x3d, + 0x58, 0xff, 0xaa, 0x63, 0x15, 0x6e, 0xfd, 0x2a, 0xdc, 0x6d, 0x88, 0xbc, + 0x1d, 0x40, 0x70, 0x13, 0xd1, 0xa1, 0xe5, 0x27, 0x49, 0x12, 0x65, 0x17, + 0xb6, 0x78, 0x95, 0x21, +}; +static const struct drbg_kat_pr_false kat2383_t = { + 12, kat2383_entropyin, kat2383_nonce, kat2383_persstr, + kat2383_entropyinreseed, kat2383_addinreseed, kat2383_addin0, + kat2383_addin1, kat2383_retbits +}; +static const struct drbg_kat kat2383 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2383_t +}; + +static const unsigned char kat2384_entropyin[] = { + 0x4a, 0x9c, 0x90, 0xde, 0xd4, 0xe8, 0xe4, 0x8c, 0xd6, 0x7d, 0xa5, 0x93, + 0xfd, 0xe8, 0xeb, 0x9e, 0xfc, 0x33, 0xa2, 0x7e, 0xfc, 0xaa, 0xd3, 0x62, + 0x31, 0xeb, 0xa6, 0x02, 0xa4, 0xfc, 0xad, 0x23, +}; +static const unsigned char kat2384_nonce[] = {0}; +static const unsigned char kat2384_persstr[] = { + 0x66, 0xf4, 0x93, 0xf5, 0x13, 0x5d, 0xcd, 0x08, 0xc5, 0x8a, 0x8c, 0x92, + 0x75, 0x8a, 0x3d, 0x9e, 0x20, 0xcc, 0xb3, 0x2a, 0x44, 0xf5, 0x97, 0x4d, + 0x68, 0xcb, 0x76, 0xf5, 0x30, 0x52, 0x0f, 0x3b, +}; +static const unsigned char kat2384_entropyinreseed[] = { + 0x03, 0x79, 0xd0, 0xc6, 0x45, 0x57, 0xc0, 0x9c, 0xd5, 0x71, 0x7a, 0x12, + 0x15, 0x29, 0x89, 0x42, 0xd6, 0x02, 0xa6, 0x0d, 0x3d, 0xf2, 0x6f, 0x34, + 0x96, 0x64, 0x76, 0xc5, 0xa2, 0xc1, 0x60, 0x22, +}; +static const unsigned char kat2384_addinreseed[] = {0}; +static const unsigned char kat2384_addin0[] = {0}; +static const unsigned char kat2384_addin1[] = {0}; +static const unsigned char kat2384_retbits[] = { + 0x1e, 0xd6, 0xa4, 0xfc, 0xfe, 0xf1, 0xd9, 0x60, 0x32, 0x8a, 0x31, 0xf2, + 0x82, 0xc6, 0x0f, 0x4f, 0x66, 0x28, 0xc2, 0x06, 0x1f, 0xe1, 0x14, 0x14, + 0x16, 0x58, 0xb5, 0x51, 0x7c, 0x5d, 0x0f, 0x04, 0x79, 0xb5, 0xfa, 0x11, + 0xeb, 0xb5, 0x70, 0x4b, 0x07, 0xb5, 0x8b, 0x15, 0x82, 0x74, 0x40, 0x6d, + 0xb8, 0x5d, 0xc4, 0x45, 0x71, 0xfa, 0x70, 0xee, 0x6f, 0xb9, 0xb2, 0x0e, + 0x95, 0x8f, 0x5a, 0x65, +}; +static const struct drbg_kat_pr_false kat2384_t = { + 13, kat2384_entropyin, kat2384_nonce, kat2384_persstr, + kat2384_entropyinreseed, kat2384_addinreseed, kat2384_addin0, + kat2384_addin1, kat2384_retbits +}; +static const struct drbg_kat kat2384 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2384_t +}; + +static const unsigned char kat2385_entropyin[] = { + 0x9d, 0x45, 0xbb, 0xae, 0x13, 0x56, 0xc6, 0x7b, 0xa8, 0x31, 0x36, 0xe8, + 0xef, 0x04, 0xd5, 0x2c, 0xc5, 0x8d, 0x1b, 0xa3, 0x9d, 0x98, 0x7a, 0x80, + 0xa5, 0x72, 0xe6, 0x2a, 0x11, 0xe0, 0x91, 0x52, +}; +static const unsigned char kat2385_nonce[] = {0}; +static const unsigned char kat2385_persstr[] = { + 0x34, 0x5b, 0x74, 0xcf, 0x00, 0x94, 0x7d, 0xc1, 0xee, 0xdb, 0xba, 0xcd, + 0x5e, 0x40, 0x30, 0xd5, 0x63, 0x9f, 0x5e, 0x3c, 0x0b, 0x9f, 0xb9, 0x86, + 0xfd, 0xc0, 0xc3, 0xc6, 0xcb, 0xac, 0xb5, 0x8b, +}; +static const unsigned char kat2385_entropyinreseed[] = { + 0x31, 0x50, 0xb6, 0xab, 0x1f, 0xb0, 0x05, 0xce, 0xb8, 0x32, 0x3c, 0x69, + 0x82, 0xfc, 0x3a, 0xf3, 0x09, 0x20, 0x77, 0x24, 0x1d, 0xcf, 0x49, 0x93, + 0xfe, 0x91, 0x69, 0x6b, 0xd5, 0xb8, 0xb7, 0x47, +}; +static const unsigned char kat2385_addinreseed[] = {0}; +static const unsigned char kat2385_addin0[] = {0}; +static const unsigned char kat2385_addin1[] = {0}; +static const unsigned char kat2385_retbits[] = { + 0xbf, 0xf8, 0x3f, 0x45, 0xe0, 0xa4, 0x22, 0x34, 0x89, 0xb0, 0x84, 0x09, + 0x49, 0x74, 0x71, 0x42, 0x7e, 0x7b, 0x82, 0xf8, 0x34, 0x08, 0x21, 0x37, + 0x49, 0x7b, 0xc5, 0x52, 0x12, 0x74, 0x46, 0xa8, 0xa3, 0xf5, 0x2a, 0x73, + 0x09, 0x14, 0x65, 0x0c, 0xd7, 0x53, 0x09, 0x81, 0x62, 0xf7, 0xd2, 0x53, + 0xbb, 0xd6, 0x25, 0x98, 0x34, 0x30, 0xd1, 0xf1, 0x6f, 0xcd, 0xb0, 0xf7, + 0x8a, 0x13, 0x48, 0xa8, +}; +static const struct drbg_kat_pr_false kat2385_t = { + 14, kat2385_entropyin, kat2385_nonce, kat2385_persstr, + kat2385_entropyinreseed, kat2385_addinreseed, kat2385_addin0, + kat2385_addin1, kat2385_retbits +}; +static const struct drbg_kat kat2385 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat2385_t +}; + +static const unsigned char kat2386_entropyin[] = { + 0xd4, 0x22, 0xed, 0xef, 0x41, 0x62, 0x36, 0xb5, 0xfc, 0x6e, 0x34, 0x05, + 0x8c, 0x25, 0x88, 0xa0, 0xc7, 0xaa, 0xa0, 0xd0, 0x1f, 0xad, 0xcf, 0x80, + 0xe9, 0xd4, 0xd6, 0xef, 0x3c, 0x51, 0x57, 0xef, +}; +static const unsigned char kat2386_nonce[] = {0}; +static const unsigned char kat2386_persstr[] = { + 0xc3, 0x3a, 0x82, 0x9f, 0xc5, 0x0c, 0x46, 0xbc, 0x71, 0x29, 0xe0, 0xc2, + 0x8d, 0x26, 0x0c, 0x45, 0x17, 0xb2, 0x8b, 0xa3, 0x2e, 0x5b, 0xe7, 0xc3, + 0x18, 0xf7, 0xf1, 0x82, 0x0a, 0x8c, 0x76, 0x0c, +}; +static const unsigned char kat2386_entropyinreseed[] = { + 0xa2, 0x41, 0x28, 0x08, 0xf1, 0x38, 0xfb, 0x7d, 0x77, 0x24, 0xea, 0x2b, + 0xca, 0xbe, 0xd6, 0xa6, 0x5e, 0x71, 0x0c, 0x36, 0x5d, 0xa8, 0xa2, 0xf2, + 0x39, 0x56, 0xef, 0xeb, 0x96, 0x5d, 0x4d, 0x2e, +}; +static const unsigned char kat2386_addinreseed[] = { + 0x24, 0x73, 0x3e, 0x6a, 0xce, 0xcc, 0x84, 0x9f, 0x12, 0x7a, 0xb1, 0x6a, + 0xd7, 0x54, 0x5a, 0x14, 0x83, 0x5c, 0x01, 0x06, 0x19, 0xde, 0xc1, 0x8a, + 0xef, 0x96, 0x22, 0x0b, 0xca, 0x09, 0x5b, 0xb5, +}; +static const unsigned char kat2386_addin0[] = { + 0x8b, 0xbd, 0xe6, 0x36, 0x75, 0xda, 0x64, 0x5a, 0x25, 0x21, 0x11, 0xc5, + 0x4e, 0x3c, 0x61, 0xf2, 0x7b, 0xd2, 0xc0, 0x33, 0x97, 0x84, 0x5b, 0x59, + 0xe1, 0xf2, 0x2a, 0xbd, 0x81, 0xb4, 0x2c, 0xec, +}; +static const unsigned char kat2386_addin1[] = { + 0x62, 0x20, 0x13, 0xfd, 0x3e, 0x2d, 0xf7, 0x9f, 0xe3, 0x4c, 0x27, 0x3a, + 0xf8, 0x42, 0x77, 0x80, 0x48, 0x68, 0x78, 0xaa, 0x90, 0xd0, 0xc2, 0x36, + 0x8d, 0xde, 0x1d, 0x75, 0x20, 0xb6, 0xab, 0x55, +}; +static const unsigned char kat2386_retbits[] = { + 0xeb, 0x1b, 0x85, 0x51, 0xd1, 0x06, 0x2b, 0x90, 0x7e, 0xfe, 0x53, 0x02, + 0x3c, 0xde, 0x83, 0xd8, 0x8b, 0x4d, 0x1d, 0xb2, 0x89, 0x1b, 0x8d, 0xbb, + 0x8d, 0x10, 0xd6, 0x96, 0xcb, 0x32, 0xea, 0x0b, 0xed, 0x5d, 0x70, 0xd7, + 0x85, 0x7b, 0xf2, 0x99, 0x0c, 0x02, 0x2b, 0xe6, 0x77, 0xad, 0x75, 0xa3, + 0xc8, 0x04, 0x26, 0x3a, 0x77, 0x56, 0xd2, 0x6f, 0x62, 0x90, 0x54, 0xe0, + 0x52, 0xda, 0xfe, 0xbf, +}; +static const struct drbg_kat_pr_false kat2386_t = { + 0, kat2386_entropyin, kat2386_nonce, kat2386_persstr, + kat2386_entropyinreseed, kat2386_addinreseed, kat2386_addin0, + kat2386_addin1, kat2386_retbits +}; +static const struct drbg_kat kat2386 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2386_t +}; + +static const unsigned char kat2387_entropyin[] = { + 0xe4, 0x76, 0xb8, 0x7e, 0xfc, 0xcc, 0xb8, 0x8d, 0xfd, 0xbb, 0x6e, 0x34, + 0x27, 0x3e, 0x0a, 0x67, 0xc6, 0xaf, 0x69, 0x97, 0x8b, 0xed, 0x0c, 0x24, + 0xeb, 0x30, 0x08, 0x80, 0xda, 0x53, 0x1b, 0xb0, +}; +static const unsigned char kat2387_nonce[] = {0}; +static const unsigned char kat2387_persstr[] = { + 0xeb, 0x90, 0x54, 0xf2, 0xab, 0xbd, 0xfb, 0x77, 0x8c, 0xb9, 0xf4, 0x24, + 0x4d, 0x8d, 0xf2, 0x13, 0xe1, 0x3c, 0xcd, 0x3d, 0x0e, 0x39, 0x51, 0x51, + 0xd9, 0xbd, 0x1e, 0xb5, 0xd8, 0xc8, 0x2d, 0x54, +}; +static const unsigned char kat2387_entropyinreseed[] = { + 0x32, 0x9a, 0xdc, 0xee, 0xe7, 0x6f, 0x1b, 0x9d, 0xd4, 0xe2, 0x09, 0x69, + 0x47, 0xfd, 0xfd, 0x0c, 0xf2, 0xf3, 0x7e, 0x78, 0x02, 0xae, 0x7b, 0xa6, + 0xf6, 0xf4, 0xa6, 0x4f, 0x59, 0x4e, 0x13, 0x9e, +}; +static const unsigned char kat2387_addinreseed[] = { + 0xb8, 0xaf, 0x7d, 0x0d, 0x51, 0x4e, 0xf5, 0x88, 0xb0, 0x53, 0x13, 0xdd, + 0xca, 0x65, 0xdd, 0xb2, 0x83, 0x0c, 0x04, 0x00, 0xf0, 0xb7, 0xac, 0x95, + 0xfa, 0xc3, 0xb8, 0xc7, 0xa5, 0x2a, 0xe0, 0x16, +}; +static const unsigned char kat2387_addin0[] = { + 0x0b, 0x60, 0xef, 0xcd, 0xa1, 0x48, 0xb0, 0x6d, 0x11, 0xac, 0x61, 0x06, + 0x4c, 0x53, 0x49, 0x48, 0x69, 0xe9, 0xdf, 0x53, 0xb2, 0x1a, 0x62, 0xbb, + 0x52, 0xd2, 0x80, 0x95, 0xd4, 0xc6, 0x56, 0xe4, +}; +static const unsigned char kat2387_addin1[] = { + 0xf8, 0xb6, 0x29, 0x3c, 0x60, 0x9e, 0xf8, 0x9b, 0x23, 0x9d, 0xc7, 0xfc, + 0xd2, 0xc4, 0x04, 0x80, 0x67, 0x43, 0xc8, 0x7e, 0x28, 0x78, 0x8b, 0x2c, + 0x45, 0xfd, 0xa2, 0x7e, 0x53, 0x6f, 0xbe, 0xc3, +}; +static const unsigned char kat2387_retbits[] = { + 0xec, 0x75, 0x27, 0xec, 0xe6, 0xf3, 0x88, 0x16, 0x02, 0xa1, 0x85, 0xc6, + 0x63, 0x03, 0x6b, 0x22, 0x82, 0x19, 0x15, 0x34, 0x7c, 0xbe, 0xed, 0x6f, + 0xa5, 0x1b, 0xc9, 0x38, 0xe2, 0x08, 0x8c, 0xca, 0x6b, 0x87, 0xeb, 0x82, + 0xd8, 0xf1, 0x1b, 0xca, 0xb2, 0xe1, 0xcb, 0x11, 0xa4, 0xb1, 0xcd, 0x63, + 0x5f, 0xf7, 0xb8, 0x0b, 0x81, 0xf4, 0x09, 0x83, 0xca, 0x03, 0x5c, 0xd3, + 0x03, 0x6d, 0xf5, 0xdf, +}; +static const struct drbg_kat_pr_false kat2387_t = { + 1, kat2387_entropyin, kat2387_nonce, kat2387_persstr, + kat2387_entropyinreseed, kat2387_addinreseed, kat2387_addin0, + kat2387_addin1, kat2387_retbits +}; +static const struct drbg_kat kat2387 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2387_t +}; + +static const unsigned char kat2388_entropyin[] = { + 0x67, 0x48, 0x6c, 0xd0, 0xf3, 0x89, 0x13, 0xbd, 0x08, 0x0c, 0x08, 0xd7, + 0x98, 0xfa, 0x0d, 0x82, 0x87, 0x89, 0x3f, 0xd8, 0xd4, 0x78, 0x30, 0x55, + 0xc7, 0x73, 0xa3, 0x95, 0x43, 0xb6, 0x7d, 0x8c, +}; +static const unsigned char kat2388_nonce[] = {0}; +static const unsigned char kat2388_persstr[] = { + 0xda, 0xdb, 0x51, 0x9f, 0x85, 0x93, 0x4d, 0x83, 0xe9, 0x59, 0xff, 0xaa, + 0x2f, 0x78, 0xa0, 0x08, 0x4d, 0x27, 0x76, 0xca, 0xf3, 0x7d, 0x78, 0x99, + 0xea, 0x73, 0xe0, 0x1b, 0xcd, 0x56, 0x53, 0xfc, +}; +static const unsigned char kat2388_entropyinreseed[] = { + 0xdf, 0x23, 0x9e, 0x68, 0x77, 0xc1, 0xc3, 0xe4, 0x8e, 0xe3, 0x80, 0x62, + 0x9f, 0xde, 0x10, 0x56, 0x34, 0x41, 0xf8, 0xef, 0xf0, 0x6b, 0x16, 0x98, + 0x82, 0xa2, 0x76, 0xa8, 0x5b, 0xfa, 0xff, 0xd8, +}; +static const unsigned char kat2388_addinreseed[] = { + 0xf0, 0xa9, 0xd6, 0x2d, 0x6d, 0xd4, 0x1b, 0x7a, 0x4d, 0x03, 0x8e, 0x7f, + 0x9e, 0x70, 0x55, 0x18, 0xbb, 0x08, 0xe3, 0x47, 0x94, 0xff, 0xdc, 0x80, + 0x12, 0x46, 0x3b, 0x12, 0x4c, 0xc4, 0x6e, 0xcd, +}; +static const unsigned char kat2388_addin0[] = { + 0xa1, 0xff, 0x4e, 0xbd, 0x04, 0x77, 0x93, 0x38, 0x88, 0x4a, 0x06, 0x0a, + 0xd6, 0x97, 0x0e, 0x73, 0xaa, 0x54, 0x81, 0x63, 0x73, 0xb7, 0xa5, 0x0d, + 0xef, 0xc1, 0xf0, 0x17, 0x92, 0xf6, 0xb6, 0x7f, +}; +static const unsigned char kat2388_addin1[] = { + 0x6a, 0x82, 0x57, 0xfe, 0x09, 0x04, 0x33, 0x77, 0x1b, 0x5c, 0xcd, 0x71, + 0x8a, 0xaf, 0xa2, 0x87, 0x55, 0xf7, 0x94, 0x6a, 0xde, 0xfd, 0xe8, 0x69, + 0x40, 0x2f, 0xeb, 0xa3, 0xba, 0x81, 0xe2, 0x54, +}; +static const unsigned char kat2388_retbits[] = { + 0x9d, 0xd9, 0x4d, 0xd8, 0x59, 0x48, 0x3f, 0x5e, 0x56, 0xb7, 0xe1, 0xd1, + 0x31, 0x16, 0x6d, 0xa9, 0x1a, 0x17, 0x89, 0x35, 0x99, 0xcd, 0x85, 0x29, + 0xfd, 0xa4, 0xf3, 0x10, 0x8c, 0xa1, 0x3e, 0x30, 0x77, 0x60, 0x16, 0x1c, + 0x40, 0x93, 0x90, 0xcb, 0x88, 0x7f, 0xfd, 0x18, 0x03, 0x18, 0x4b, 0xc4, + 0x7a, 0x58, 0xf1, 0xfa, 0x88, 0x37, 0xca, 0xe0, 0x1e, 0x28, 0x08, 0xcc, + 0xc9, 0x61, 0xf4, 0x7d, +}; +static const struct drbg_kat_pr_false kat2388_t = { + 2, kat2388_entropyin, kat2388_nonce, kat2388_persstr, + kat2388_entropyinreseed, kat2388_addinreseed, kat2388_addin0, + kat2388_addin1, kat2388_retbits +}; +static const struct drbg_kat kat2388 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2388_t +}; + +static const unsigned char kat2389_entropyin[] = { + 0xcf, 0xb9, 0xf8, 0x0d, 0xc9, 0x05, 0xa4, 0xbd, 0xba, 0x94, 0xb0, 0x6c, + 0xc4, 0x19, 0x76, 0x16, 0x4c, 0x1e, 0x2a, 0xf2, 0xbe, 0x58, 0x30, 0xfc, + 0xb7, 0xf4, 0xeb, 0x3e, 0x74, 0xdb, 0x24, 0x05, +}; +static const unsigned char kat2389_nonce[] = {0}; +static const unsigned char kat2389_persstr[] = { + 0xdc, 0x76, 0xf5, 0xfa, 0xf9, 0xc5, 0x78, 0x1c, 0x8b, 0xcf, 0x81, 0xe4, + 0xde, 0xad, 0x88, 0x3e, 0xc0, 0x0c, 0x0b, 0x59, 0x55, 0x3f, 0xf9, 0x57, + 0xda, 0xfc, 0xc7, 0x44, 0x05, 0x13, 0x14, 0x93, +}; +static const unsigned char kat2389_entropyinreseed[] = { + 0xa8, 0x51, 0xc5, 0x68, 0xe5, 0xec, 0xf9, 0xe6, 0xc8, 0x40, 0xf7, 0xb3, + 0x29, 0x47, 0x1d, 0x38, 0x1a, 0x91, 0x11, 0x6e, 0xa2, 0x26, 0xdd, 0xf9, + 0x67, 0xab, 0x43, 0x47, 0x8b, 0x8a, 0x19, 0x9f, +}; +static const unsigned char kat2389_addinreseed[] = { + 0x0e, 0xfa, 0x40, 0x03, 0xcd, 0x56, 0x33, 0x43, 0xd4, 0x61, 0xc0, 0x5b, + 0x85, 0xa3, 0xc3, 0x26, 0xfb, 0x68, 0x05, 0x64, 0x6d, 0x74, 0x69, 0x19, + 0x9f, 0x45, 0xe2, 0xa1, 0xe2, 0x0b, 0xef, 0x00, +}; +static const unsigned char kat2389_addin0[] = { + 0xb5, 0x7b, 0x47, 0x6e, 0x20, 0xd1, 0x85, 0xd9, 0xd2, 0xa3, 0xf9, 0x31, + 0xbe, 0xd0, 0x46, 0x3f, 0x19, 0xc6, 0x73, 0xbb, 0x49, 0xc3, 0xa6, 0x81, + 0xc1, 0xb6, 0xc8, 0x12, 0x57, 0x1c, 0xfc, 0x7b, +}; +static const unsigned char kat2389_addin1[] = { + 0x3c, 0x29, 0x5f, 0x47, 0xe5, 0x34, 0x33, 0x1d, 0xf2, 0xf6, 0x70, 0x71, + 0x22, 0xf0, 0x7f, 0x98, 0x37, 0xe9, 0x02, 0xe3, 0x79, 0x4e, 0x35, 0xdd, + 0x6e, 0x6d, 0x1b, 0x06, 0xc4, 0x0f, 0x2c, 0x0c, +}; +static const unsigned char kat2389_retbits[] = { + 0x77, 0x7e, 0x5e, 0x33, 0xd6, 0xff, 0xf5, 0x52, 0x83, 0x76, 0x7e, 0x1c, + 0x7a, 0xdd, 0xf3, 0x76, 0x92, 0x11, 0x98, 0x3a, 0xf6, 0x12, 0xf1, 0xa8, + 0xb9, 0x37, 0x16, 0x31, 0x08, 0x07, 0x72, 0x10, 0x3f, 0xba, 0x8d, 0xff, + 0x4e, 0xbc, 0x40, 0x47, 0x6f, 0xa7, 0xa2, 0x19, 0xe6, 0x41, 0x61, 0x72, + 0xba, 0x8f, 0x3c, 0xd3, 0x66, 0xbd, 0xad, 0x48, 0x7e, 0xbb, 0x2f, 0xa7, + 0x8d, 0xf0, 0xf3, 0xd1, +}; +static const struct drbg_kat_pr_false kat2389_t = { + 3, kat2389_entropyin, kat2389_nonce, kat2389_persstr, + kat2389_entropyinreseed, kat2389_addinreseed, kat2389_addin0, + kat2389_addin1, kat2389_retbits +}; +static const struct drbg_kat kat2389 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2389_t +}; + +static const unsigned char kat2390_entropyin[] = { + 0xdb, 0x55, 0x2d, 0x5f, 0x75, 0xd1, 0x70, 0x74, 0x67, 0xe6, 0x28, 0x6e, + 0xff, 0x26, 0x47, 0x5e, 0xa4, 0x7f, 0xbf, 0xe7, 0xc6, 0x4b, 0x12, 0xed, + 0x34, 0xb3, 0x61, 0xf1, 0x50, 0xcd, 0xa0, 0x3f, +}; +static const unsigned char kat2390_nonce[] = {0}; +static const unsigned char kat2390_persstr[] = { + 0x54, 0x08, 0xac, 0x0a, 0x26, 0x06, 0x1e, 0x09, 0x89, 0x90, 0x65, 0xc1, + 0xdd, 0xde, 0x78, 0x43, 0x9d, 0xbd, 0x5f, 0xfa, 0xab, 0xf7, 0x62, 0xc0, + 0x35, 0xe7, 0x17, 0x96, 0xa4, 0x64, 0x5d, 0x28, +}; +static const unsigned char kat2390_entropyinreseed[] = { + 0xeb, 0x08, 0x44, 0x72, 0xba, 0x66, 0xc9, 0x20, 0xd8, 0xbc, 0x08, 0x7e, + 0xff, 0xc3, 0x0e, 0xbe, 0x7d, 0xb5, 0xba, 0x56, 0xe9, 0x75, 0x49, 0x0a, + 0xc2, 0xd3, 0x55, 0x23, 0x93, 0x88, 0x09, 0x3f, +}; +static const unsigned char kat2390_addinreseed[] = { + 0x25, 0x5e, 0x86, 0x39, 0xcc, 0x74, 0xb7, 0x7e, 0xb1, 0x5a, 0xfe, 0xb6, + 0x1f, 0x90, 0x92, 0x6a, 0x2d, 0x43, 0x47, 0x78, 0x7b, 0x54, 0xf5, 0xd3, + 0x86, 0x1e, 0x66, 0xa0, 0x5f, 0x85, 0xd5, 0xc6, +}; +static const unsigned char kat2390_addin0[] = { + 0x54, 0xfe, 0x7d, 0x9d, 0xc4, 0x0b, 0x8d, 0x18, 0x6f, 0xdd, 0x55, 0x25, + 0x00, 0x51, 0x41, 0x9d, 0x9c, 0x2b, 0x25, 0xad, 0xd4, 0xc7, 0xb3, 0x2b, + 0xcc, 0xf6, 0x00, 0x9a, 0x3d, 0x93, 0x88, 0x31, +}; +static const unsigned char kat2390_addin1[] = { + 0x20, 0x6a, 0xe3, 0x0d, 0x2d, 0x6f, 0x7e, 0xe5, 0xdd, 0x0c, 0xdf, 0x2e, + 0x40, 0x35, 0x9a, 0x31, 0x83, 0x8f, 0xae, 0x94, 0xfd, 0x08, 0x17, 0x9a, + 0xf2, 0x33, 0x16, 0x02, 0x1b, 0xca, 0xf9, 0x04, +}; +static const unsigned char kat2390_retbits[] = { + 0xa7, 0x2f, 0xcf, 0x91, 0x00, 0x01, 0x6c, 0xc4, 0x64, 0x56, 0xfc, 0x29, + 0x49, 0x80, 0x65, 0x12, 0xe1, 0xd3, 0x46, 0x28, 0x95, 0x57, 0x32, 0x2b, + 0xe1, 0x9b, 0x2e, 0x2b, 0x81, 0x63, 0xbf, 0x69, 0xab, 0x73, 0x8d, 0x30, + 0x70, 0x07, 0x7b, 0xb3, 0x55, 0xc6, 0xa8, 0x90, 0x1e, 0x75, 0xf4, 0xc6, + 0x06, 0x78, 0x31, 0xa0, 0xdb, 0xa9, 0x57, 0xd6, 0xd8, 0x7f, 0xaa, 0xe6, + 0xbf, 0x0f, 0x95, 0xeb, +}; +static const struct drbg_kat_pr_false kat2390_t = { + 4, kat2390_entropyin, kat2390_nonce, kat2390_persstr, + kat2390_entropyinreseed, kat2390_addinreseed, kat2390_addin0, + kat2390_addin1, kat2390_retbits +}; +static const struct drbg_kat kat2390 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2390_t +}; + +static const unsigned char kat2391_entropyin[] = { + 0x3a, 0x1c, 0x78, 0xa5, 0x6d, 0x5b, 0x7d, 0x01, 0x26, 0xab, 0xc6, 0x22, + 0x59, 0xc0, 0x42, 0x03, 0x8a, 0x3a, 0xac, 0x44, 0x8f, 0x93, 0xab, 0x44, + 0xef, 0x61, 0x12, 0x22, 0x43, 0x9e, 0x0c, 0x2b, +}; +static const unsigned char kat2391_nonce[] = {0}; +static const unsigned char kat2391_persstr[] = { + 0x1e, 0x68, 0x2f, 0x42, 0xe2, 0xbc, 0x17, 0xde, 0x51, 0x55, 0xa3, 0xf3, + 0xfd, 0x93, 0x45, 0x75, 0x90, 0x6e, 0x19, 0xbb, 0x45, 0xe3, 0xd0, 0x10, + 0xfa, 0xf9, 0x62, 0x39, 0x82, 0xbb, 0xbb, 0x0f, +}; +static const unsigned char kat2391_entropyinreseed[] = { + 0x8d, 0xc5, 0xa7, 0x83, 0xae, 0x1a, 0xdd, 0xc4, 0xb7, 0x3d, 0x39, 0xdc, + 0x57, 0x27, 0xa8, 0xbc, 0xc2, 0xd0, 0xd8, 0xc6, 0x03, 0x64, 0xdd, 0xe6, + 0x5b, 0xd9, 0xa0, 0xef, 0xbf, 0x50, 0x42, 0x75, +}; +static const unsigned char kat2391_addinreseed[] = { + 0x73, 0x39, 0xe7, 0x10, 0x87, 0x72, 0xe6, 0x5c, 0x29, 0xb8, 0xb7, 0x47, + 0x15, 0x70, 0x84, 0x4a, 0x81, 0x5c, 0xc6, 0x38, 0xa0, 0xc2, 0xc8, 0xfa, + 0x68, 0x8b, 0xa6, 0x37, 0x7f, 0xfa, 0xe5, 0x56, +}; +static const unsigned char kat2391_addin0[] = { + 0xd4, 0x63, 0xfa, 0xf4, 0xe0, 0x58, 0x52, 0x5d, 0x4a, 0xc2, 0x57, 0x50, + 0x53, 0xf8, 0x5c, 0xd4, 0x21, 0x6d, 0xf7, 0xd5, 0xef, 0xfd, 0x3d, 0xcc, + 0x52, 0x67, 0xd6, 0x81, 0xb8, 0x94, 0xc8, 0x04, +}; +static const unsigned char kat2391_addin1[] = { + 0x39, 0x42, 0x7b, 0x84, 0xc2, 0x35, 0x43, 0x01, 0x14, 0xfc, 0xd4, 0x6c, + 0x8b, 0x07, 0x1c, 0x3e, 0x84, 0x31, 0xf5, 0x40, 0x26, 0xa4, 0xb9, 0x5a, + 0x0a, 0xc5, 0x86, 0xd4, 0xce, 0x49, 0xc7, 0xcd, +}; +static const unsigned char kat2391_retbits[] = { + 0x3a, 0xc8, 0xb4, 0xa2, 0x15, 0xf9, 0xa4, 0x7e, 0x97, 0xa7, 0xe0, 0x15, + 0x0e, 0x8e, 0xd2, 0x7a, 0xb5, 0x9b, 0xb5, 0x7e, 0xfb, 0xeb, 0x13, 0x83, + 0xf5, 0xdb, 0x39, 0xb7, 0xed, 0xec, 0xee, 0x92, 0x05, 0xf5, 0xcc, 0xf4, + 0xd6, 0x6a, 0x9c, 0x28, 0x47, 0xb2, 0xc3, 0x59, 0x66, 0x0c, 0xac, 0xeb, + 0xb8, 0xc8, 0x52, 0xaf, 0x5d, 0x17, 0x45, 0x91, 0x74, 0x0e, 0x8c, 0xf9, + 0xe0, 0xf2, 0x9a, 0x12, +}; +static const struct drbg_kat_pr_false kat2391_t = { + 5, kat2391_entropyin, kat2391_nonce, kat2391_persstr, + kat2391_entropyinreseed, kat2391_addinreseed, kat2391_addin0, + kat2391_addin1, kat2391_retbits +}; +static const struct drbg_kat kat2391 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2391_t +}; + +static const unsigned char kat2392_entropyin[] = { + 0x15, 0xf1, 0xb6, 0x2b, 0x39, 0xaf, 0x34, 0x23, 0xe3, 0xf7, 0x7b, 0xcf, + 0xae, 0x9f, 0x5e, 0x89, 0x8c, 0xae, 0xdd, 0x6c, 0xde, 0x04, 0xa5, 0x14, + 0xf3, 0xba, 0xb8, 0xb4, 0xbc, 0x5f, 0xf2, 0xb5, +}; +static const unsigned char kat2392_nonce[] = {0}; +static const unsigned char kat2392_persstr[] = { + 0x7b, 0x31, 0xdf, 0x6d, 0x1d, 0xd9, 0xc8, 0xda, 0x22, 0x10, 0x5f, 0xd2, + 0xa6, 0x15, 0xec, 0x67, 0xcd, 0x4d, 0x96, 0x39, 0x28, 0xc2, 0x3b, 0x61, + 0xa9, 0x58, 0x35, 0x2b, 0x97, 0xaa, 0x2f, 0x29, +}; +static const unsigned char kat2392_entropyinreseed[] = { + 0x47, 0xdb, 0x12, 0xea, 0xb8, 0x42, 0x00, 0xc9, 0x90, 0x29, 0xcc, 0xa1, + 0x12, 0x15, 0x5b, 0x46, 0x82, 0x9a, 0x09, 0xcb, 0xf3, 0xbb, 0x8d, 0x0c, + 0x53, 0x49, 0x83, 0x32, 0x0b, 0x08, 0x66, 0x4b, +}; +static const unsigned char kat2392_addinreseed[] = { + 0x2a, 0xc1, 0x0a, 0x72, 0xb1, 0xe9, 0x6c, 0xae, 0xc0, 0xc9, 0xfc, 0x04, + 0x36, 0x76, 0x88, 0xa6, 0x2d, 0xf2, 0xe8, 0x39, 0x89, 0xe7, 0xd7, 0xb5, + 0x81, 0x6b, 0xf8, 0x2a, 0xa7, 0xb5, 0xd5, 0x5c, +}; +static const unsigned char kat2392_addin0[] = { + 0x88, 0x24, 0x08, 0xb6, 0x3e, 0xdb, 0x85, 0xee, 0x30, 0x60, 0xc0, 0xc0, + 0x23, 0x46, 0x46, 0x52, 0x2a, 0x3c, 0x3c, 0x9a, 0x9a, 0xdc, 0x23, 0x80, + 0x34, 0xfc, 0x3a, 0x3f, 0x8f, 0x3d, 0xd3, 0xf0, +}; +static const unsigned char kat2392_addin1[] = { + 0x3d, 0x5c, 0xbe, 0xf0, 0xd5, 0xbf, 0xca, 0x58, 0xef, 0x82, 0x3f, 0x2b, + 0xb3, 0xb0, 0x71, 0xe3, 0xa6, 0x93, 0x8b, 0x61, 0xf3, 0xde, 0x58, 0xcd, + 0x18, 0xd0, 0xff, 0xe7, 0x1e, 0x87, 0xa1, 0x58, +}; +static const unsigned char kat2392_retbits[] = { + 0x51, 0xba, 0x7f, 0x02, 0x0c, 0xb3, 0x15, 0xfa, 0xd6, 0xbd, 0xf1, 0x01, + 0x4d, 0xa8, 0xd1, 0x50, 0x03, 0x2b, 0x87, 0x3b, 0x09, 0x32, 0xcf, 0x15, + 0x81, 0x72, 0xf0, 0xa5, 0xd9, 0x23, 0x82, 0x2b, 0xd3, 0x26, 0xff, 0x7c, + 0xab, 0x77, 0xb7, 0x57, 0x69, 0xa6, 0x2d, 0x45, 0x18, 0x39, 0x56, 0xf9, + 0xe5, 0xa7, 0x58, 0x42, 0x03, 0xdd, 0x19, 0xac, 0x81, 0x8d, 0xf5, 0x90, + 0xef, 0x5e, 0xed, 0xf7, +}; +static const struct drbg_kat_pr_false kat2392_t = { + 6, kat2392_entropyin, kat2392_nonce, kat2392_persstr, + kat2392_entropyinreseed, kat2392_addinreseed, kat2392_addin0, + kat2392_addin1, kat2392_retbits +}; +static const struct drbg_kat kat2392 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2392_t +}; + +static const unsigned char kat2393_entropyin[] = { + 0x36, 0xc3, 0x9d, 0xae, 0x57, 0xd9, 0x9a, 0xfd, 0x30, 0xfd, 0x4e, 0xba, + 0xfd, 0x1c, 0x83, 0x43, 0xa7, 0x85, 0xfe, 0x26, 0xbd, 0xb1, 0x2e, 0xb3, + 0xbe, 0x90, 0xb5, 0xda, 0xcc, 0xd2, 0xa3, 0x45, +}; +static const unsigned char kat2393_nonce[] = {0}; +static const unsigned char kat2393_persstr[] = { + 0x18, 0x85, 0x3c, 0x18, 0x69, 0x9a, 0x7b, 0x64, 0xf1, 0x36, 0xce, 0x24, + 0xa8, 0x19, 0x20, 0x52, 0xd7, 0x4e, 0x79, 0x9d, 0xc0, 0x6d, 0x2d, 0x8e, + 0x53, 0xbe, 0xf7, 0x47, 0xd6, 0xda, 0x42, 0xdb, +}; +static const unsigned char kat2393_entropyinreseed[] = { + 0xf7, 0xab, 0x54, 0x75, 0x22, 0x02, 0xc9, 0xce, 0xfa, 0xc3, 0x67, 0xe3, + 0x7b, 0x28, 0xfa, 0x2f, 0x30, 0x4c, 0xc1, 0x78, 0xfc, 0x8c, 0x17, 0x9e, + 0x76, 0xdc, 0xe1, 0x1e, 0x3d, 0xc7, 0xa5, 0x26, +}; +static const unsigned char kat2393_addinreseed[] = { + 0x61, 0xb9, 0xa2, 0xe8, 0xc1, 0x32, 0x85, 0x53, 0x42, 0x3e, 0xc0, 0xed, + 0x71, 0x8f, 0x53, 0x2e, 0xd9, 0xd5, 0x10, 0x36, 0x3b, 0x82, 0x59, 0x0c, + 0xcf, 0xb5, 0x1a, 0xca, 0x85, 0x94, 0xb4, 0xef, +}; +static const unsigned char kat2393_addin0[] = { + 0x9d, 0xc4, 0x83, 0xda, 0xc4, 0x07, 0x20, 0x48, 0xc4, 0xec, 0x5a, 0x3b, + 0xeb, 0x21, 0x7e, 0xbf, 0xa4, 0x10, 0x36, 0x59, 0x45, 0xa7, 0xc2, 0x49, + 0xe1, 0x35, 0xae, 0x55, 0xc7, 0x9e, 0xed, 0xe8, +}; +static const unsigned char kat2393_addin1[] = { + 0x84, 0x28, 0x11, 0x60, 0x18, 0x59, 0xfd, 0x73, 0x97, 0x54, 0xa6, 0xed, + 0x72, 0x50, 0x39, 0xbe, 0xcf, 0x0b, 0xe0, 0x4c, 0x17, 0x2c, 0xac, 0x5c, + 0x97, 0xfa, 0x2e, 0x4a, 0xe7, 0x16, 0x09, 0xb4, +}; +static const unsigned char kat2393_retbits[] = { + 0x48, 0x15, 0x14, 0x02, 0x38, 0x30, 0xf4, 0x3b, 0x09, 0x28, 0x2c, 0xf0, + 0xfd, 0x98, 0x98, 0x7d, 0x1b, 0xfe, 0xe3, 0xd1, 0xba, 0x71, 0xa9, 0x1e, + 0xb8, 0x06, 0x58, 0x35, 0x0f, 0xa9, 0x13, 0x9b, 0x95, 0x67, 0x1f, 0x1f, + 0x49, 0x2c, 0xe3, 0x7e, 0xee, 0x4c, 0x63, 0x72, 0xec, 0x73, 0xa2, 0x6a, + 0xdd, 0xd3, 0x50, 0x8e, 0x28, 0xed, 0x4e, 0xb0, 0xed, 0x83, 0x48, 0xfd, + 0x28, 0xfe, 0x56, 0x9c, +}; +static const struct drbg_kat_pr_false kat2393_t = { + 7, kat2393_entropyin, kat2393_nonce, kat2393_persstr, + kat2393_entropyinreseed, kat2393_addinreseed, kat2393_addin0, + kat2393_addin1, kat2393_retbits +}; +static const struct drbg_kat kat2393 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2393_t +}; + +static const unsigned char kat2394_entropyin[] = { + 0x77, 0xd8, 0xb9, 0x76, 0x47, 0x5a, 0x2d, 0xa0, 0x9a, 0xfe, 0x53, 0xeb, + 0x63, 0x75, 0x14, 0x7c, 0x47, 0xc1, 0x4a, 0xe3, 0xe8, 0x0b, 0x56, 0xce, + 0x90, 0xcd, 0xbe, 0x10, 0x39, 0x89, 0xd4, 0x1d, +}; +static const unsigned char kat2394_nonce[] = {0}; +static const unsigned char kat2394_persstr[] = { + 0x58, 0xa0, 0x54, 0x6a, 0xe7, 0xfb, 0x83, 0xd3, 0x5e, 0x9b, 0x8b, 0xe9, + 0xe5, 0xac, 0xab, 0xdd, 0x07, 0x50, 0x40, 0x78, 0x9e, 0x4a, 0x9b, 0x05, + 0x4e, 0x32, 0x1a, 0x92, 0x68, 0x31, 0x49, 0x5d, +}; +static const unsigned char kat2394_entropyinreseed[] = { + 0xf2, 0x31, 0xbf, 0x21, 0x65, 0x5d, 0xe0, 0x14, 0xcd, 0x1b, 0x06, 0xe0, + 0x7d, 0x8d, 0x11, 0xea, 0x7f, 0xe0, 0x32, 0x8e, 0x67, 0x00, 0xd9, 0xe6, + 0x28, 0x9e, 0xb8, 0xdf, 0x1c, 0x63, 0x52, 0x08, +}; +static const unsigned char kat2394_addinreseed[] = { + 0x73, 0x98, 0x48, 0x0c, 0xf9, 0xcd, 0x0e, 0xe4, 0xd4, 0x8d, 0x5e, 0x04, + 0xbd, 0x46, 0x03, 0xf1, 0xc6, 0xd9, 0x84, 0x7b, 0x8e, 0xbc, 0x37, 0xf0, + 0x14, 0x5b, 0x50, 0xe6, 0x64, 0x8a, 0x8d, 0xa5, +}; +static const unsigned char kat2394_addin0[] = { + 0x5d, 0x40, 0x48, 0x36, 0xeb, 0x95, 0x7f, 0x47, 0x21, 0x69, 0x57, 0xfd, + 0xff, 0x9a, 0xdc, 0x1d, 0x80, 0x5b, 0xeb, 0x1d, 0x74, 0xde, 0x37, 0xde, + 0xca, 0xf1, 0x8d, 0x16, 0x38, 0xab, 0x7d, 0xf2, +}; +static const unsigned char kat2394_addin1[] = { + 0x0d, 0x05, 0xe8, 0x4f, 0x22, 0xd2, 0x4f, 0x81, 0x4c, 0xf3, 0xac, 0xc6, + 0xce, 0x9a, 0xdc, 0xd5, 0xa1, 0xe6, 0xc1, 0xa1, 0x19, 0xab, 0xa1, 0xc9, + 0x41, 0xa2, 0x7c, 0xa7, 0x2c, 0x89, 0x46, 0xbf, +}; +static const unsigned char kat2394_retbits[] = { + 0x1e, 0x50, 0xe3, 0x91, 0xd8, 0x03, 0x89, 0x80, 0x8c, 0xfe, 0xa2, 0xad, + 0xf3, 0xc5, 0xba, 0x78, 0xa4, 0xef, 0x35, 0x5e, 0xa3, 0x59, 0xb8, 0xdb, + 0xaa, 0x0f, 0xfc, 0x8b, 0x54, 0x4f, 0x55, 0x74, 0xc8, 0x8c, 0x0f, 0xc7, + 0x1d, 0xbc, 0xfd, 0x71, 0x4c, 0x3b, 0x61, 0x3e, 0xff, 0xc0, 0xe5, 0xc2, + 0x58, 0x55, 0x77, 0xf2, 0x31, 0xd8, 0x12, 0x4f, 0x47, 0xe1, 0xfd, 0x7c, + 0x3a, 0xb4, 0x16, 0xe1, +}; +static const struct drbg_kat_pr_false kat2394_t = { + 8, kat2394_entropyin, kat2394_nonce, kat2394_persstr, + kat2394_entropyinreseed, kat2394_addinreseed, kat2394_addin0, + kat2394_addin1, kat2394_retbits +}; +static const struct drbg_kat kat2394 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2394_t +}; + +static const unsigned char kat2395_entropyin[] = { + 0x0b, 0x8b, 0xba, 0xe7, 0x2b, 0xb6, 0xd5, 0xe5, 0x93, 0x98, 0x49, 0x7a, + 0x0c, 0x7e, 0x90, 0x0e, 0xe8, 0x46, 0x90, 0x46, 0x9c, 0x07, 0xe7, 0x27, + 0x04, 0xc3, 0xf9, 0xf7, 0x9c, 0xf8, 0xfa, 0x47, +}; +static const unsigned char kat2395_nonce[] = {0}; +static const unsigned char kat2395_persstr[] = { + 0xb7, 0x33, 0x1d, 0xfe, 0xef, 0x1b, 0xb7, 0xb7, 0x60, 0x15, 0xf1, 0x81, + 0xa3, 0x0f, 0x56, 0x6c, 0xf2, 0xe2, 0x61, 0x6a, 0x73, 0xed, 0x49, 0x46, + 0x53, 0x21, 0x8f, 0x43, 0x04, 0x0b, 0x5f, 0xb1, +}; +static const unsigned char kat2395_entropyinreseed[] = { + 0x3c, 0x5a, 0x05, 0xdf, 0x76, 0xba, 0xe6, 0x2c, 0x6f, 0xea, 0xe1, 0xb7, + 0x30, 0x5a, 0x52, 0xf2, 0x06, 0xb6, 0x96, 0xfd, 0x31, 0xcf, 0x61, 0x06, + 0xce, 0x89, 0x9c, 0x14, 0xc6, 0xba, 0x41, 0x38, +}; +static const unsigned char kat2395_addinreseed[] = { + 0xbd, 0xb3, 0xc0, 0xb0, 0xa5, 0x0d, 0x7f, 0x62, 0x28, 0x52, 0xa0, 0x11, + 0xf6, 0x7d, 0xa2, 0x1b, 0x11, 0x70, 0x15, 0xea, 0x6e, 0x89, 0xbf, 0x46, + 0xf0, 0xe8, 0xf4, 0x48, 0x41, 0xb4, 0x73, 0x3e, +}; +static const unsigned char kat2395_addin0[] = { + 0xec, 0xc1, 0xf3, 0xd4, 0x39, 0x82, 0xa8, 0x54, 0x50, 0x42, 0x44, 0x27, + 0x3a, 0xe7, 0x57, 0xe9, 0x25, 0x69, 0x67, 0xd1, 0x19, 0x24, 0xcb, 0xfb, + 0x1d, 0x99, 0xc2, 0x3c, 0x20, 0xa4, 0xc1, 0x4c, +}; +static const unsigned char kat2395_addin1[] = { + 0xc6, 0xd2, 0x44, 0xa0, 0xbb, 0xd6, 0x9d, 0x5a, 0x7a, 0x22, 0xb4, 0x56, + 0x42, 0x5e, 0x97, 0xc4, 0x3d, 0x1d, 0x90, 0x66, 0x00, 0x36, 0xea, 0xd4, + 0x4c, 0x16, 0xc8, 0x6f, 0x43, 0xa0, 0x75, 0xd4, +}; +static const unsigned char kat2395_retbits[] = { + 0x74, 0x0f, 0x54, 0x71, 0x0d, 0xb8, 0x7d, 0x08, 0x66, 0xb1, 0xbf, 0x32, + 0x3b, 0xba, 0xd8, 0x08, 0xef, 0x10, 0xb1, 0xa0, 0x4b, 0x5b, 0xbc, 0xa3, + 0xae, 0x03, 0x74, 0xb2, 0xfb, 0x8b, 0x0f, 0x03, 0xd5, 0x8c, 0x2e, 0xf0, + 0x39, 0xf8, 0x04, 0x85, 0xd1, 0xe9, 0xc7, 0x40, 0xb5, 0xf0, 0x1e, 0x2d, + 0x36, 0xc4, 0x63, 0xea, 0x07, 0xbd, 0x10, 0x0a, 0x87, 0x6b, 0x1c, 0xda, + 0x60, 0xae, 0x79, 0x69, +}; +static const struct drbg_kat_pr_false kat2395_t = { + 9, kat2395_entropyin, kat2395_nonce, kat2395_persstr, + kat2395_entropyinreseed, kat2395_addinreseed, kat2395_addin0, + kat2395_addin1, kat2395_retbits +}; +static const struct drbg_kat kat2395 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2395_t +}; + +static const unsigned char kat2396_entropyin[] = { + 0x1c, 0x57, 0x53, 0x52, 0x09, 0x25, 0x30, 0xf9, 0x90, 0xb7, 0x71, 0x18, + 0x69, 0x77, 0xbd, 0xd6, 0x84, 0x5b, 0xd3, 0x4b, 0x47, 0xaa, 0xd8, 0xd9, + 0x81, 0x77, 0x83, 0xb0, 0x4e, 0xbf, 0xbc, 0xc6, +}; +static const unsigned char kat2396_nonce[] = {0}; +static const unsigned char kat2396_persstr[] = { + 0x4e, 0x74, 0xeb, 0xc3, 0x6d, 0x1e, 0x97, 0xc5, 0x76, 0x5a, 0x20, 0xb7, + 0x89, 0x72, 0xc0, 0x5f, 0x34, 0xf4, 0x13, 0x06, 0x82, 0x3c, 0x73, 0x8d, + 0x62, 0x79, 0xb5, 0x85, 0x77, 0x7a, 0xa7, 0xf3, +}; +static const unsigned char kat2396_entropyinreseed[] = { + 0x93, 0x4e, 0x50, 0x79, 0x4c, 0xc9, 0x04, 0x06, 0xeb, 0x2f, 0xbd, 0x8a, + 0x46, 0xa9, 0xa0, 0x9e, 0xbd, 0xc3, 0xf9, 0x80, 0x26, 0x04, 0xc6, 0x60, + 0x8b, 0xe0, 0x8c, 0xa2, 0x71, 0x09, 0xe5, 0xe3, +}; +static const unsigned char kat2396_addinreseed[] = { + 0x58, 0x67, 0xc2, 0x37, 0x3d, 0x3a, 0x6d, 0xa7, 0xbc, 0x6b, 0xd5, 0x0a, + 0x4b, 0x25, 0x55, 0x58, 0x7f, 0x44, 0xcf, 0x13, 0x1d, 0x0a, 0xdf, 0x91, + 0x26, 0x0d, 0xa9, 0xe0, 0x32, 0xfc, 0x36, 0x80, +}; +static const unsigned char kat2396_addin0[] = { + 0x86, 0x1b, 0xa9, 0xa0, 0x09, 0x5d, 0x81, 0x8f, 0x85, 0x11, 0xfc, 0x56, + 0xbf, 0x3f, 0xdf, 0xa9, 0x00, 0x32, 0x8c, 0x38, 0x8e, 0x9e, 0xd8, 0x0f, + 0x3d, 0x8e, 0x40, 0xde, 0xa0, 0x78, 0x8a, 0x80, +}; +static const unsigned char kat2396_addin1[] = { + 0xa5, 0x15, 0x43, 0x3a, 0x73, 0xbc, 0xd0, 0x3a, 0x4f, 0x65, 0x61, 0x71, + 0x7b, 0x44, 0x6e, 0x8e, 0xb7, 0xec, 0xac, 0x2b, 0x29, 0xcc, 0x87, 0xec, + 0x9c, 0xa5, 0xa4, 0x4e, 0x6f, 0xad, 0xca, 0x8a, +}; +static const unsigned char kat2396_retbits[] = { + 0x57, 0xd9, 0x51, 0x3a, 0xb6, 0xbc, 0x4e, 0x5a, 0x40, 0xdd, 0x23, 0x1a, + 0x3e, 0x9b, 0xa5, 0x5a, 0xa9, 0x26, 0x44, 0xfa, 0x6e, 0x0c, 0x6b, 0xe4, + 0xf9, 0x62, 0xfd, 0x87, 0x88, 0x20, 0x4c, 0xaf, 0x94, 0x83, 0x7e, 0x90, + 0x74, 0x31, 0x81, 0x5a, 0x15, 0x0e, 0x7d, 0x72, 0x2e, 0x2d, 0xaa, 0x4e, + 0xe0, 0x5e, 0x64, 0x7c, 0x9a, 0xe0, 0xfa, 0x75, 0xa0, 0xa6, 0xef, 0x42, + 0x04, 0xd7, 0x4c, 0x16, +}; +static const struct drbg_kat_pr_false kat2396_t = { + 10, kat2396_entropyin, kat2396_nonce, kat2396_persstr, + kat2396_entropyinreseed, kat2396_addinreseed, kat2396_addin0, + kat2396_addin1, kat2396_retbits +}; +static const struct drbg_kat kat2396 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2396_t +}; + +static const unsigned char kat2397_entropyin[] = { + 0x18, 0x67, 0x71, 0xfb, 0x18, 0xb7, 0xb7, 0x5d, 0xc1, 0xab, 0x2b, 0x51, + 0xab, 0x0e, 0x52, 0x42, 0xdc, 0xb1, 0x12, 0x85, 0xcd, 0xc6, 0x1b, 0x11, + 0x2f, 0xb2, 0x39, 0xf5, 0x79, 0xfb, 0x5c, 0xd2, +}; +static const unsigned char kat2397_nonce[] = {0}; +static const unsigned char kat2397_persstr[] = { + 0xc8, 0x08, 0x40, 0xa4, 0x2b, 0x99, 0x92, 0xb2, 0x88, 0xd4, 0x2c, 0xc9, + 0x6a, 0x8e, 0xa5, 0xf9, 0x3e, 0x42, 0x85, 0xcb, 0x53, 0x3e, 0x29, 0xe8, + 0xa4, 0xbf, 0x5a, 0x92, 0xa5, 0x5f, 0xa6, 0xf8, +}; +static const unsigned char kat2397_entropyinreseed[] = { + 0xa3, 0x19, 0x7e, 0xf6, 0x8c, 0x1d, 0x6e, 0xdc, 0x7e, 0xde, 0xcf, 0xf7, + 0xc0, 0xc8, 0x56, 0x1a, 0x9c, 0x33, 0xde, 0x2c, 0x65, 0xa2, 0x1f, 0xa2, + 0x26, 0xce, 0x59, 0x92, 0xe1, 0xc7, 0xaa, 0x68, +}; +static const unsigned char kat2397_addinreseed[] = { + 0xdb, 0xd9, 0xca, 0xc0, 0x49, 0xbf, 0x73, 0x5c, 0x11, 0xfa, 0x86, 0x91, + 0x4f, 0xd1, 0x39, 0x59, 0x90, 0xf7, 0x49, 0xde, 0x8f, 0x38, 0x57, 0xac, + 0x2a, 0xc1, 0xf2, 0x3d, 0x57, 0x27, 0x0c, 0x30, +}; +static const unsigned char kat2397_addin0[] = { + 0x5a, 0x4b, 0x6d, 0x82, 0x90, 0x43, 0x62, 0x1c, 0x5d, 0x46, 0x53, 0x13, + 0x81, 0x30, 0x58, 0x59, 0xdf, 0xcd, 0xb8, 0x6d, 0x08, 0x45, 0xda, 0xc7, + 0x8f, 0xea, 0xc0, 0x72, 0x30, 0x5b, 0x63, 0xe4, +}; +static const unsigned char kat2397_addin1[] = { + 0xea, 0xec, 0xc2, 0x89, 0xf6, 0xdb, 0x7c, 0x0e, 0x15, 0x0d, 0xff, 0x9d, + 0xa1, 0x18, 0x84, 0xb4, 0x8e, 0xbe, 0xf4, 0x7a, 0x50, 0x60, 0xcd, 0xd7, + 0x42, 0x83, 0x91, 0x89, 0x2a, 0x4c, 0x99, 0x69, +}; +static const unsigned char kat2397_retbits[] = { + 0xc0, 0x34, 0xbf, 0xd6, 0xd1, 0x78, 0x06, 0xdf, 0x4b, 0x45, 0xf7, 0x84, + 0x4a, 0xe6, 0xa7, 0xc9, 0xb6, 0x8a, 0x61, 0x5d, 0xdb, 0xce, 0x4e, 0xf4, + 0x0b, 0x96, 0x4e, 0x02, 0x97, 0x23, 0x6d, 0x42, 0x9c, 0x3a, 0xe0, 0xb9, + 0x95, 0x4f, 0xca, 0x08, 0xb4, 0xdc, 0x72, 0x80, 0x9c, 0x0d, 0x5a, 0x14, + 0x5a, 0x51, 0xfa, 0x30, 0x2d, 0x0f, 0x1b, 0x25, 0x1b, 0xc6, 0xdb, 0x8b, + 0x4b, 0x81, 0x5a, 0x4a, +}; +static const struct drbg_kat_pr_false kat2397_t = { + 11, kat2397_entropyin, kat2397_nonce, kat2397_persstr, + kat2397_entropyinreseed, kat2397_addinreseed, kat2397_addin0, + kat2397_addin1, kat2397_retbits +}; +static const struct drbg_kat kat2397 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2397_t +}; + +static const unsigned char kat2398_entropyin[] = { + 0x05, 0xe3, 0x3f, 0xbf, 0xcc, 0x36, 0x2f, 0x65, 0xdf, 0x5f, 0xb1, 0x70, + 0xbc, 0x73, 0x52, 0x84, 0xa4, 0x0b, 0xd7, 0x05, 0x88, 0xca, 0x3e, 0xa6, + 0x90, 0x03, 0xc2, 0x43, 0x9f, 0xa0, 0x30, 0xbd, +}; +static const unsigned char kat2398_nonce[] = {0}; +static const unsigned char kat2398_persstr[] = { + 0xa9, 0x8d, 0x93, 0x41, 0x48, 0xac, 0x82, 0x4d, 0x16, 0xf9, 0x45, 0x42, + 0xf3, 0x5a, 0x20, 0xbb, 0x9e, 0x29, 0x59, 0xfc, 0xff, 0x2a, 0x43, 0x2e, + 0x8c, 0x03, 0xfb, 0x0c, 0x18, 0x9e, 0xc6, 0xd3, +}; +static const unsigned char kat2398_entropyinreseed[] = { + 0xde, 0x2b, 0x7b, 0xb5, 0x3e, 0xa6, 0xea, 0x0a, 0xe6, 0xd9, 0x6c, 0xb3, + 0x2d, 0xc5, 0xc6, 0xdb, 0xb3, 0xfc, 0xad, 0x7f, 0xf1, 0x16, 0xc8, 0xb2, + 0xbe, 0x53, 0xc1, 0x35, 0x85, 0xc5, 0x3e, 0x41, +}; +static const unsigned char kat2398_addinreseed[] = { + 0xbf, 0xef, 0x2d, 0xbf, 0x7e, 0x8d, 0xac, 0xe5, 0x64, 0x5c, 0x4e, 0x53, + 0xae, 0x10, 0x21, 0xca, 0x7f, 0x93, 0x1f, 0xc9, 0x2e, 0x39, 0x75, 0x9e, + 0x96, 0xb0, 0x9a, 0x5a, 0x90, 0xac, 0x60, 0x8f, +}; +static const unsigned char kat2398_addin0[] = { + 0xfe, 0x39, 0xd1, 0x67, 0x16, 0x70, 0xd0, 0x5b, 0x73, 0xd4, 0x5b, 0x02, + 0x0d, 0xb3, 0x05, 0x40, 0x9e, 0xdc, 0x11, 0x46, 0x58, 0xba, 0x40, 0xd7, + 0xdc, 0x6e, 0x7f, 0xba, 0x60, 0x08, 0xf7, 0xc3, +}; +static const unsigned char kat2398_addin1[] = { + 0x45, 0x87, 0xfc, 0xf7, 0xef, 0x2a, 0x84, 0x98, 0xee, 0xef, 0x89, 0x72, + 0x49, 0xc9, 0xfb, 0x96, 0x80, 0x28, 0xa3, 0x81, 0xb9, 0xf3, 0x4c, 0x44, + 0x2f, 0x9e, 0x88, 0x57, 0x56, 0xce, 0x68, 0x62, +}; +static const unsigned char kat2398_retbits[] = { + 0x36, 0x5a, 0x5b, 0x95, 0x3d, 0xa1, 0xf0, 0xf3, 0x6f, 0x42, 0xb0, 0x49, + 0xc1, 0x94, 0xa5, 0x15, 0x0e, 0x2d, 0x44, 0xaf, 0x2e, 0xeb, 0x48, 0x25, + 0xf5, 0x86, 0x5f, 0xe0, 0xaf, 0xf1, 0x49, 0x90, 0x4e, 0x4f, 0xc0, 0x73, + 0xe7, 0x19, 0x36, 0x9f, 0x32, 0x95, 0x07, 0x12, 0x35, 0x27, 0x11, 0xb5, + 0x73, 0x05, 0xbe, 0xee, 0x63, 0x6a, 0xa8, 0x11, 0x76, 0xfb, 0xd0, 0xd0, + 0x8c, 0xeb, 0x62, 0x67, +}; +static const struct drbg_kat_pr_false kat2398_t = { + 12, kat2398_entropyin, kat2398_nonce, kat2398_persstr, + kat2398_entropyinreseed, kat2398_addinreseed, kat2398_addin0, + kat2398_addin1, kat2398_retbits +}; +static const struct drbg_kat kat2398 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2398_t +}; + +static const unsigned char kat2399_entropyin[] = { + 0x9c, 0x5a, 0xe1, 0x06, 0xf2, 0xf0, 0xb0, 0x69, 0x6b, 0x77, 0xb5, 0x1f, + 0xcd, 0xb9, 0x5d, 0xae, 0x3d, 0xe9, 0xe6, 0x68, 0x3a, 0x0c, 0xed, 0x8a, + 0xee, 0xd2, 0x71, 0x94, 0xec, 0xe3, 0x35, 0x0b, +}; +static const unsigned char kat2399_nonce[] = {0}; +static const unsigned char kat2399_persstr[] = { + 0x03, 0x2a, 0xd2, 0x0b, 0xd1, 0xf6, 0x6f, 0x71, 0x3b, 0xc1, 0x46, 0x78, + 0x99, 0xa0, 0x4a, 0xa1, 0xeb, 0xc2, 0xd3, 0x07, 0xcf, 0x33, 0xa4, 0xbe, + 0xad, 0xb7, 0xd6, 0xeb, 0x12, 0x27, 0xc0, 0xe3, +}; +static const unsigned char kat2399_entropyinreseed[] = { + 0x57, 0x2d, 0x09, 0x71, 0x05, 0x0e, 0x4d, 0x17, 0x93, 0x0f, 0xc3, 0x53, + 0x85, 0xbe, 0x7c, 0x27, 0x91, 0x13, 0x60, 0x83, 0x97, 0x70, 0x65, 0x92, + 0x3f, 0xd1, 0x12, 0xa5, 0x89, 0xe2, 0x9d, 0x26, +}; +static const unsigned char kat2399_addinreseed[] = { + 0xe6, 0xfb, 0xaa, 0xf4, 0xb3, 0x4b, 0x7c, 0x7c, 0x93, 0x63, 0x66, 0xfb, + 0x23, 0x56, 0xae, 0x9f, 0x8b, 0x3d, 0x50, 0xab, 0x60, 0x36, 0xa2, 0xc5, + 0x7e, 0x01, 0xef, 0x13, 0x04, 0x21, 0xb9, 0xce, +}; +static const unsigned char kat2399_addin0[] = { + 0xbf, 0xa9, 0x28, 0x4f, 0xe2, 0x02, 0x3d, 0x5b, 0x33, 0x45, 0x7f, 0x80, + 0x55, 0x94, 0x53, 0x94, 0x40, 0xe8, 0x87, 0x8b, 0x44, 0x32, 0xea, 0x82, + 0x8e, 0xf6, 0x78, 0x34, 0x9f, 0x4e, 0x0e, 0xa4, +}; +static const unsigned char kat2399_addin1[] = { + 0xab, 0xc9, 0x6a, 0x6b, 0x4a, 0xc6, 0x03, 0x47, 0x1c, 0x51, 0x4d, 0xe8, + 0x02, 0xa0, 0x0e, 0x2d, 0xdd, 0x09, 0x0c, 0x68, 0xd6, 0x86, 0xbc, 0x3a, + 0x54, 0x3b, 0x53, 0xaf, 0x69, 0xbc, 0xfd, 0x0e, +}; +static const unsigned char kat2399_retbits[] = { + 0x9b, 0xfd, 0xf7, 0xe1, 0x0b, 0xae, 0xe4, 0x03, 0x90, 0x40, 0xee, 0x0e, + 0xa2, 0x17, 0x69, 0x84, 0x46, 0x16, 0xc3, 0xe2, 0xe7, 0x87, 0xc9, 0x74, + 0x27, 0x51, 0x43, 0x35, 0xaa, 0x2c, 0x3c, 0xa4, 0xe7, 0xbb, 0xfa, 0xea, + 0x6f, 0xe9, 0x30, 0xd1, 0x84, 0xdf, 0x7b, 0xda, 0x95, 0xe0, 0x76, 0x55, + 0xee, 0x9e, 0x4e, 0x10, 0x20, 0x86, 0x6f, 0x8c, 0xff, 0x42, 0x2a, 0x8f, + 0xc2, 0xb3, 0xb0, 0xe9, +}; +static const struct drbg_kat_pr_false kat2399_t = { + 13, kat2399_entropyin, kat2399_nonce, kat2399_persstr, + kat2399_entropyinreseed, kat2399_addinreseed, kat2399_addin0, + kat2399_addin1, kat2399_retbits +}; +static const struct drbg_kat kat2399 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2399_t +}; + +static const unsigned char kat2400_entropyin[] = { + 0x24, 0x42, 0xa2, 0x67, 0xb4, 0x38, 0x99, 0xbf, 0xdf, 0xad, 0xa9, 0x8c, + 0xca, 0x39, 0x48, 0xba, 0x36, 0x20, 0x66, 0x1e, 0xec, 0xfd, 0x79, 0x28, + 0x73, 0x3d, 0x25, 0x67, 0xf5, 0xba, 0xac, 0x21, +}; +static const unsigned char kat2400_nonce[] = {0}; +static const unsigned char kat2400_persstr[] = { + 0x73, 0x76, 0x09, 0x9e, 0xf7, 0x6e, 0x4c, 0xb0, 0x57, 0x80, 0x9b, 0xd9, + 0x0a, 0x70, 0xe9, 0x09, 0xbf, 0xd9, 0x79, 0xad, 0x85, 0xb8, 0x7f, 0x08, + 0xe7, 0x66, 0x94, 0xb1, 0x58, 0xfd, 0x17, 0x7e, +}; +static const unsigned char kat2400_entropyinreseed[] = { + 0xd3, 0xd6, 0xf9, 0x86, 0x49, 0xb7, 0x0e, 0x7e, 0x49, 0x7e, 0x64, 0x36, + 0xa6, 0x3a, 0x6f, 0x96, 0x91, 0x3f, 0x7d, 0xef, 0xf3, 0x44, 0x1c, 0x1d, + 0x28, 0x75, 0x88, 0x35, 0x73, 0x7e, 0x66, 0x19, +}; +static const unsigned char kat2400_addinreseed[] = { + 0xfa, 0x20, 0x70, 0x6a, 0x43, 0x39, 0x1a, 0x74, 0xd8, 0x7f, 0x46, 0x69, + 0x27, 0x6e, 0x1f, 0x8a, 0xc4, 0xcb, 0x54, 0xa5, 0x21, 0xe1, 0x52, 0x1a, + 0xfa, 0x93, 0xe4, 0x18, 0x50, 0x38, 0x85, 0x6a, +}; +static const unsigned char kat2400_addin0[] = { + 0xb6, 0x43, 0x01, 0x34, 0x74, 0xa3, 0x7b, 0x20, 0x8a, 0x6f, 0x6c, 0x44, + 0xcc, 0x56, 0xb1, 0xca, 0xea, 0x69, 0xe1, 0x28, 0x9d, 0x88, 0x97, 0xd5, + 0x3f, 0x40, 0x42, 0x3d, 0x9a, 0x6a, 0x40, 0xaa, +}; +static const unsigned char kat2400_addin1[] = { + 0xb1, 0xe0, 0x7a, 0x0f, 0x97, 0x40, 0xc4, 0x93, 0x35, 0xab, 0x52, 0x44, + 0xe3, 0xb7, 0xaa, 0x56, 0x7c, 0x72, 0x34, 0xe0, 0x12, 0x53, 0xfa, 0x1c, + 0x31, 0x37, 0x2a, 0xc4, 0x3b, 0x1d, 0x65, 0x19, +}; +static const unsigned char kat2400_retbits[] = { + 0x6e, 0x5f, 0xb2, 0x13, 0xd4, 0xbe, 0xf4, 0x0b, 0x3f, 0x27, 0x4f, 0x95, + 0x69, 0x60, 0xa1, 0xe0, 0xd2, 0x8e, 0x53, 0x99, 0xbf, 0xcf, 0x27, 0x09, + 0xfe, 0x98, 0xde, 0x2b, 0x54, 0xff, 0x26, 0x76, 0x68, 0x35, 0xb6, 0xed, + 0x53, 0x8b, 0x88, 0x7c, 0xc6, 0x17, 0x52, 0x9d, 0x05, 0x7f, 0x60, 0x05, + 0xdb, 0x02, 0x27, 0xda, 0xe7, 0x62, 0x77, 0x28, 0x50, 0x4c, 0xb8, 0xcf, + 0x35, 0x30, 0xeb, 0x2e, +}; +static const struct drbg_kat_pr_false kat2400_t = { + 14, kat2400_entropyin, kat2400_nonce, kat2400_persstr, + kat2400_entropyinreseed, kat2400_addinreseed, kat2400_addin0, + kat2400_addin1, kat2400_retbits +}; +static const struct drbg_kat kat2400 = { + PR_FALSE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat2400_t +}; + +static const unsigned char kat2401_entropyin[] = { + 0xd6, 0xe1, 0x8f, 0x45, 0x65, 0xfd, 0xf2, 0x82, 0x6d, 0x0d, 0x56, 0x41, + 0x96, 0x47, 0xc0, 0x20, 0x41, 0x3b, 0x96, 0x32, 0x99, 0xd8, 0xde, 0x2c, + 0x65, 0x10, 0x27, 0x7f, 0x8c, 0xe9, 0x88, 0xa7, 0xf0, 0xb3, 0xbc, 0x1d, + 0xf8, 0x5b, 0x15, 0x3f, +}; +static const unsigned char kat2401_nonce[] = {0}; +static const unsigned char kat2401_persstr[] = {0}; +static const unsigned char kat2401_entropyinreseed[] = { + 0xa8, 0x23, 0xd6, 0x31, 0x1f, 0x9f, 0x66, 0xdf, 0x32, 0x9e, 0x3d, 0x70, + 0x65, 0xe2, 0x4f, 0xe2, 0x50, 0x7e, 0x6b, 0x9d, 0xbc, 0xc2, 0x28, 0x38, + 0x48, 0x3f, 0xa7, 0x29, 0xca, 0x51, 0x16, 0xd0, 0x3a, 0x91, 0x02, 0x81, + 0x39, 0xd7, 0x13, 0x0a, +}; +static const unsigned char kat2401_addinreseed[] = {0}; +static const unsigned char kat2401_addin0[] = {0}; +static const unsigned char kat2401_addin1[] = {0}; +static const unsigned char kat2401_retbits[] = { + 0x4b, 0xf8, 0x06, 0x69, 0x0a, 0xf1, 0x3d, 0xbc, 0xfd, 0x44, 0x8c, 0x79, + 0xa3, 0x53, 0x2e, 0x00, 0x0b, 0xca, 0xbc, 0xef, 0x36, 0xf2, 0x64, 0x3f, + 0x3e, 0x1c, 0x9d, 0xe6, 0x07, 0x10, 0x42, 0x82, 0xf8, 0x1c, 0xd6, 0xcd, + 0xcf, 0x8d, 0xa8, 0x42, 0x9c, 0x94, 0x10, 0x82, 0x45, 0x11, 0x4d, 0x3d, + 0xa1, 0x7b, 0x9f, 0x48, 0xbb, 0x07, 0x09, 0x4c, 0x07, 0x3a, 0x94, 0xf5, + 0xd2, 0xef, 0x9e, 0x30, +}; +static const struct drbg_kat_pr_false kat2401_t = { + 0, kat2401_entropyin, kat2401_nonce, kat2401_persstr, + kat2401_entropyinreseed, kat2401_addinreseed, kat2401_addin0, + kat2401_addin1, kat2401_retbits +}; +static const struct drbg_kat kat2401 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2401_t +}; + +static const unsigned char kat2402_entropyin[] = { + 0x80, 0xff, 0xfb, 0xe6, 0x10, 0xd6, 0xd4, 0x04, 0xbe, 0x2a, 0x71, 0x2a, + 0xae, 0x84, 0x7b, 0x0e, 0x6a, 0x0c, 0x48, 0xda, 0x11, 0x43, 0x0f, 0xe1, + 0x7e, 0x1a, 0x74, 0x9f, 0x95, 0xbe, 0xaf, 0x0c, 0x5f, 0x6c, 0x0c, 0x77, + 0xc9, 0x42, 0x08, 0x46, +}; +static const unsigned char kat2402_nonce[] = {0}; +static const unsigned char kat2402_persstr[] = {0}; +static const unsigned char kat2402_entropyinreseed[] = { + 0x27, 0xf5, 0xd5, 0xb3, 0x84, 0x57, 0x2c, 0x8f, 0x20, 0x19, 0xa6, 0x63, + 0xca, 0x19, 0x98, 0xab, 0x80, 0x3b, 0xf2, 0xff, 0xa1, 0x28, 0x73, 0x87, + 0x37, 0xe7, 0x9f, 0xea, 0x89, 0xda, 0x24, 0x70, 0xa3, 0x43, 0x6f, 0x82, + 0xcb, 0x3b, 0xfd, 0x37, +}; +static const unsigned char kat2402_addinreseed[] = {0}; +static const unsigned char kat2402_addin0[] = {0}; +static const unsigned char kat2402_addin1[] = {0}; +static const unsigned char kat2402_retbits[] = { + 0x48, 0x67, 0x2c, 0x4b, 0xd0, 0x1f, 0xe9, 0x7e, 0x85, 0x9a, 0x13, 0xf5, + 0xa7, 0x37, 0x2e, 0xbd, 0xdb, 0x2a, 0xa0, 0xc6, 0x5a, 0x35, 0xa7, 0x1b, + 0xa3, 0x5c, 0xd3, 0x0d, 0xc2, 0x61, 0xdf, 0x08, 0xac, 0xb2, 0x6f, 0x7a, + 0x63, 0x2c, 0xc2, 0x29, 0xd9, 0xd0, 0xad, 0x74, 0x22, 0x8e, 0x2c, 0x54, + 0xed, 0x3b, 0x53, 0xf1, 0x25, 0x66, 0x45, 0xbe, 0x1b, 0xc1, 0xfe, 0xd9, + 0x4d, 0xad, 0x28, 0x2c, +}; +static const struct drbg_kat_pr_false kat2402_t = { + 1, kat2402_entropyin, kat2402_nonce, kat2402_persstr, + kat2402_entropyinreseed, kat2402_addinreseed, kat2402_addin0, + kat2402_addin1, kat2402_retbits +}; +static const struct drbg_kat kat2402 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2402_t +}; + +static const unsigned char kat2403_entropyin[] = { + 0x54, 0x7d, 0x4f, 0xc5, 0xcb, 0x41, 0x50, 0xb4, 0xaf, 0x1c, 0x10, 0xa3, + 0x81, 0xee, 0xd8, 0x64, 0xf2, 0x88, 0x4f, 0x93, 0x5b, 0xbb, 0x55, 0xb8, + 0x32, 0x2c, 0xf7, 0x79, 0xa3, 0x5a, 0x6e, 0x4d, 0x13, 0x93, 0x96, 0xa1, + 0xb8, 0xd7, 0x1a, 0xf8, +}; +static const unsigned char kat2403_nonce[] = {0}; +static const unsigned char kat2403_persstr[] = {0}; +static const unsigned char kat2403_entropyinreseed[] = { + 0x49, 0x8c, 0x4a, 0x97, 0x69, 0xa8, 0x64, 0x9e, 0x61, 0x59, 0x3a, 0x13, + 0xc3, 0x1b, 0x64, 0xb0, 0xd3, 0x8c, 0x3a, 0xd6, 0xdc, 0xcd, 0x95, 0x56, + 0x2e, 0xa1, 0xe9, 0x35, 0xc7, 0x9c, 0xfa, 0xd5, 0xd8, 0xac, 0xcf, 0x82, + 0x67, 0x9c, 0x5b, 0x33, +}; +static const unsigned char kat2403_addinreseed[] = {0}; +static const unsigned char kat2403_addin0[] = {0}; +static const unsigned char kat2403_addin1[] = {0}; +static const unsigned char kat2403_retbits[] = { + 0xc9, 0xdc, 0xf9, 0x99, 0xbd, 0x23, 0xc0, 0xe3, 0xd6, 0x3b, 0xf7, 0xa1, + 0xe8, 0xe4, 0xff, 0x6f, 0x49, 0x39, 0x84, 0xf5, 0x78, 0x0f, 0x29, 0x48, + 0x5d, 0x11, 0xcc, 0x90, 0x56, 0xd9, 0xa7, 0xb1, 0xf0, 0xb0, 0xc4, 0x14, + 0xc1, 0x76, 0xec, 0x86, 0x37, 0xc6, 0x02, 0xab, 0xa1, 0x03, 0x20, 0xfc, + 0xbe, 0x82, 0x64, 0x77, 0x43, 0xee, 0x41, 0xc9, 0xc5, 0x29, 0x11, 0x64, + 0xa0, 0x7c, 0x2e, 0x2e, +}; +static const struct drbg_kat_pr_false kat2403_t = { + 2, kat2403_entropyin, kat2403_nonce, kat2403_persstr, + kat2403_entropyinreseed, kat2403_addinreseed, kat2403_addin0, + kat2403_addin1, kat2403_retbits +}; +static const struct drbg_kat kat2403 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2403_t +}; + +static const unsigned char kat2404_entropyin[] = { + 0x0d, 0x1d, 0xa3, 0x7b, 0x22, 0xec, 0x35, 0xf9, 0x87, 0x57, 0x85, 0x31, + 0x46, 0x2f, 0x52, 0x6f, 0x52, 0xbb, 0x55, 0xfd, 0xed, 0xa0, 0x2c, 0x78, + 0x4b, 0xe1, 0x7e, 0x98, 0xb7, 0x0b, 0x05, 0xcb, 0x44, 0x86, 0xe0, 0xc2, + 0x03, 0xeb, 0x76, 0xf3, +}; +static const unsigned char kat2404_nonce[] = {0}; +static const unsigned char kat2404_persstr[] = {0}; +static const unsigned char kat2404_entropyinreseed[] = { + 0x7f, 0xa5, 0xb8, 0xf7, 0xd8, 0x7e, 0x1c, 0xb5, 0xee, 0x99, 0xdb, 0xff, + 0x91, 0x51, 0xa4, 0x0d, 0xd3, 0x6d, 0xf5, 0x7a, 0x7d, 0xf0, 0xd5, 0xbf, + 0xdd, 0xca, 0x60, 0x83, 0xfa, 0x01, 0x8c, 0xdd, 0x8f, 0x01, 0xf1, 0x64, + 0xc3, 0x0a, 0x32, 0xc2, +}; +static const unsigned char kat2404_addinreseed[] = {0}; +static const unsigned char kat2404_addin0[] = {0}; +static const unsigned char kat2404_addin1[] = {0}; +static const unsigned char kat2404_retbits[] = { + 0x31, 0x82, 0x0f, 0xb5, 0x53, 0x8d, 0x98, 0x52, 0x66, 0x5b, 0xcc, 0x3b, + 0x03, 0x37, 0x0c, 0x3d, 0x37, 0xc1, 0x7a, 0x1e, 0x14, 0x9b, 0x22, 0xc3, + 0x06, 0x34, 0x14, 0x0a, 0x30, 0xcc, 0x1d, 0x52, 0x76, 0x19, 0xad, 0xf6, + 0xc5, 0x27, 0xf5, 0xbe, 0x0f, 0xe1, 0x0e, 0x8b, 0x42, 0xe0, 0x7e, 0x8b, + 0xab, 0x8d, 0x9a, 0xb3, 0xf3, 0x17, 0xd0, 0x32, 0xeb, 0x38, 0x18, 0xca, + 0xae, 0x7e, 0x5e, 0x3f, +}; +static const struct drbg_kat_pr_false kat2404_t = { + 3, kat2404_entropyin, kat2404_nonce, kat2404_persstr, + kat2404_entropyinreseed, kat2404_addinreseed, kat2404_addin0, + kat2404_addin1, kat2404_retbits +}; +static const struct drbg_kat kat2404 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2404_t +}; + +static const unsigned char kat2405_entropyin[] = { + 0x56, 0x24, 0x82, 0xc2, 0xb6, 0x62, 0x99, 0x14, 0xf1, 0x19, 0x4c, 0xb7, + 0xef, 0x7c, 0xc0, 0xac, 0x8c, 0x2c, 0x87, 0x8d, 0xd6, 0x82, 0x4e, 0xf7, + 0x8c, 0xe6, 0x36, 0xab, 0xa8, 0x99, 0x02, 0x1a, 0xe0, 0xdc, 0xc2, 0x78, + 0x20, 0x61, 0x24, 0xdf, +}; +static const unsigned char kat2405_nonce[] = {0}; +static const unsigned char kat2405_persstr[] = {0}; +static const unsigned char kat2405_entropyinreseed[] = { + 0xa0, 0x0d, 0x0e, 0x31, 0xab, 0x3d, 0x99, 0x65, 0xc1, 0xf8, 0x8e, 0x79, + 0xc7, 0x34, 0x0c, 0xa8, 0x01, 0xec, 0xcf, 0x13, 0x12, 0x84, 0x67, 0xd3, + 0x09, 0x1c, 0xc0, 0xf9, 0x59, 0x84, 0xf2, 0x8d, 0x22, 0xe5, 0xde, 0xa3, + 0x4d, 0x5b, 0xa1, 0x97, +}; +static const unsigned char kat2405_addinreseed[] = {0}; +static const unsigned char kat2405_addin0[] = {0}; +static const unsigned char kat2405_addin1[] = {0}; +static const unsigned char kat2405_retbits[] = { + 0xbf, 0x98, 0x0f, 0xa5, 0xd2, 0x61, 0x8f, 0x34, 0x9c, 0xc2, 0xe0, 0xe6, + 0x79, 0xdf, 0x40, 0x00, 0x87, 0x13, 0xb2, 0xfe, 0x9e, 0xc4, 0xf4, 0x52, + 0x3b, 0x11, 0x3f, 0x62, 0x4d, 0xfc, 0xc5, 0xf7, 0xba, 0x32, 0xce, 0xce, + 0x7d, 0xf5, 0x53, 0xdb, 0x87, 0xbe, 0xd9, 0xab, 0xc9, 0xdd, 0xad, 0x81, + 0xa1, 0x8e, 0xe2, 0xcf, 0x95, 0x92, 0x1c, 0xda, 0x3a, 0x35, 0xf9, 0xfc, + 0x1a, 0x69, 0xb4, 0xb7, +}; +static const struct drbg_kat_pr_false kat2405_t = { + 4, kat2405_entropyin, kat2405_nonce, kat2405_persstr, + kat2405_entropyinreseed, kat2405_addinreseed, kat2405_addin0, + kat2405_addin1, kat2405_retbits +}; +static const struct drbg_kat kat2405 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2405_t +}; + +static const unsigned char kat2406_entropyin[] = { + 0xa6, 0x67, 0xc8, 0xaa, 0x4c, 0x4e, 0x10, 0x06, 0x7e, 0x1d, 0xf1, 0x45, + 0x74, 0xcb, 0x7f, 0x84, 0xdb, 0x6b, 0x49, 0xfc, 0x73, 0x0d, 0x23, 0x32, + 0x92, 0xa6, 0x8e, 0x12, 0xff, 0xfc, 0x80, 0x30, 0x32, 0xd9, 0x39, 0x49, + 0x9e, 0x17, 0xae, 0xd8, +}; +static const unsigned char kat2406_nonce[] = {0}; +static const unsigned char kat2406_persstr[] = {0}; +static const unsigned char kat2406_entropyinreseed[] = { + 0xc5, 0x35, 0xe9, 0x36, 0xfa, 0xe2, 0xf2, 0xe8, 0x65, 0xb3, 0xbe, 0x04, + 0x6c, 0x86, 0xc5, 0x67, 0x8b, 0x1e, 0x6f, 0x3d, 0xa9, 0x76, 0x90, 0xb6, + 0x52, 0xe1, 0x29, 0x13, 0x31, 0x98, 0xeb, 0xca, 0x07, 0x47, 0x7a, 0x2a, + 0x11, 0x55, 0xd1, 0xfb, +}; +static const unsigned char kat2406_addinreseed[] = {0}; +static const unsigned char kat2406_addin0[] = {0}; +static const unsigned char kat2406_addin1[] = {0}; +static const unsigned char kat2406_retbits[] = { + 0x07, 0x98, 0x88, 0xfa, 0xa3, 0x77, 0xb0, 0xce, 0x0a, 0x7b, 0x99, 0x47, + 0x44, 0xea, 0xf9, 0xd7, 0x02, 0x4b, 0xc8, 0x80, 0x49, 0x96, 0x6a, 0x84, + 0x5a, 0x84, 0x85, 0x27, 0x0f, 0x5f, 0xf3, 0x84, 0xdf, 0x05, 0x75, 0xd3, + 0x2d, 0xc9, 0x7c, 0x79, 0x81, 0x33, 0xaf, 0x99, 0x4d, 0x53, 0xb1, 0x84, + 0x09, 0x40, 0xb5, 0x13, 0x73, 0x32, 0x29, 0x30, 0x8c, 0x49, 0x74, 0x3a, + 0xdf, 0x58, 0x8c, 0x1c, +}; +static const struct drbg_kat_pr_false kat2406_t = { + 5, kat2406_entropyin, kat2406_nonce, kat2406_persstr, + kat2406_entropyinreseed, kat2406_addinreseed, kat2406_addin0, + kat2406_addin1, kat2406_retbits +}; +static const struct drbg_kat kat2406 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2406_t +}; + +static const unsigned char kat2407_entropyin[] = { + 0x54, 0x23, 0x54, 0x3f, 0xee, 0xc7, 0x2f, 0x5d, 0x56, 0xef, 0xf2, 0xd4, + 0x26, 0xc8, 0xb3, 0x97, 0x5e, 0xe6, 0xb1, 0xc7, 0xca, 0x88, 0x67, 0x99, + 0x4b, 0x2d, 0x8d, 0xd6, 0x5c, 0x4c, 0x44, 0x92, 0x0a, 0xe9, 0x4c, 0xb7, + 0xdb, 0x0f, 0x81, 0xc7, +}; +static const unsigned char kat2407_nonce[] = {0}; +static const unsigned char kat2407_persstr[] = {0}; +static const unsigned char kat2407_entropyinreseed[] = { + 0x77, 0x0f, 0x68, 0xab, 0xe6, 0x21, 0x88, 0xa1, 0x7a, 0xbf, 0x4b, 0x56, + 0x0b, 0x61, 0x07, 0x8b, 0x5e, 0x86, 0xfc, 0x83, 0x0d, 0x88, 0x87, 0x0c, + 0xe3, 0xb7, 0x3a, 0x73, 0x44, 0x98, 0x98, 0x5a, 0x51, 0x39, 0x79, 0x99, + 0xad, 0x08, 0x90, 0xa7, +}; +static const unsigned char kat2407_addinreseed[] = {0}; +static const unsigned char kat2407_addin0[] = {0}; +static const unsigned char kat2407_addin1[] = {0}; +static const unsigned char kat2407_retbits[] = { + 0xd8, 0x7c, 0x92, 0x2c, 0xf5, 0x4a, 0x01, 0x8d, 0xed, 0x13, 0xcc, 0x61, + 0xa8, 0x07, 0xc6, 0xca, 0xdc, 0x43, 0x54, 0xeb, 0xbf, 0x4d, 0x99, 0xae, + 0x38, 0x9f, 0xa8, 0xef, 0xb1, 0xe6, 0xd2, 0x2d, 0x02, 0x1f, 0x3e, 0xfc, + 0xa6, 0x77, 0xf8, 0xed, 0x8d, 0x6c, 0xe9, 0xc6, 0x30, 0xd3, 0x05, 0xb5, + 0xe4, 0xc0, 0x75, 0xa3, 0x21, 0xcc, 0x7e, 0xe2, 0x25, 0x3c, 0x7a, 0x27, + 0x26, 0xf8, 0xf4, 0x08, +}; +static const struct drbg_kat_pr_false kat2407_t = { + 6, kat2407_entropyin, kat2407_nonce, kat2407_persstr, + kat2407_entropyinreseed, kat2407_addinreseed, kat2407_addin0, + kat2407_addin1, kat2407_retbits +}; +static const struct drbg_kat kat2407 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2407_t +}; + +static const unsigned char kat2408_entropyin[] = { + 0xc6, 0xe4, 0xe1, 0x7d, 0x3e, 0xd8, 0x27, 0xc5, 0x7c, 0xe8, 0x5d, 0xc4, + 0x3b, 0x6f, 0x25, 0x72, 0x7b, 0x36, 0x91, 0x3e, 0x28, 0x94, 0xab, 0x83, + 0x8a, 0x0c, 0xee, 0xe6, 0xa6, 0xb4, 0xea, 0x5f, 0xe8, 0x80, 0xa4, 0x7b, + 0x1a, 0xe3, 0x13, 0x52, +}; +static const unsigned char kat2408_nonce[] = {0}; +static const unsigned char kat2408_persstr[] = {0}; +static const unsigned char kat2408_entropyinreseed[] = { + 0x87, 0x33, 0x12, 0x69, 0x58, 0x70, 0x5f, 0x9a, 0x7a, 0x97, 0xc6, 0x95, + 0x2c, 0x40, 0x51, 0xa4, 0xeb, 0xbc, 0x5a, 0xd3, 0xb0, 0xed, 0x18, 0x5a, + 0xea, 0xd6, 0xc4, 0x4c, 0x12, 0x2b, 0x71, 0x08, 0x3b, 0xe9, 0x0d, 0xe7, + 0x2b, 0x8d, 0x33, 0x1b, +}; +static const unsigned char kat2408_addinreseed[] = {0}; +static const unsigned char kat2408_addin0[] = {0}; +static const unsigned char kat2408_addin1[] = {0}; +static const unsigned char kat2408_retbits[] = { + 0x52, 0x61, 0x12, 0x7c, 0x8a, 0x5a, 0xa5, 0x2f, 0xcf, 0xf5, 0x9d, 0x04, + 0xcf, 0x03, 0x24, 0x53, 0xdf, 0x5a, 0x9e, 0x0c, 0x8a, 0xf5, 0xe8, 0x46, + 0x03, 0xb1, 0x5c, 0x77, 0x5a, 0x8e, 0x19, 0x67, 0xb0, 0x16, 0x30, 0x72, + 0x81, 0xb3, 0x52, 0xe8, 0x95, 0x04, 0xf2, 0xf5, 0xf8, 0xbe, 0x45, 0x80, + 0xa1, 0x70, 0x6e, 0x7b, 0x16, 0x3b, 0xaa, 0xfb, 0xd0, 0xb8, 0x9c, 0x7f, + 0x5f, 0xf9, 0x4c, 0x6d, +}; +static const struct drbg_kat_pr_false kat2408_t = { + 7, kat2408_entropyin, kat2408_nonce, kat2408_persstr, + kat2408_entropyinreseed, kat2408_addinreseed, kat2408_addin0, + kat2408_addin1, kat2408_retbits +}; +static const struct drbg_kat kat2408 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2408_t +}; + +static const unsigned char kat2409_entropyin[] = { + 0x21, 0xa1, 0x82, 0x6f, 0x92, 0x9a, 0x45, 0x40, 0x8c, 0x26, 0xa2, 0x52, + 0x9f, 0x93, 0xcb, 0xd3, 0x1e, 0x81, 0x32, 0x7d, 0xce, 0x2a, 0x21, 0x47, + 0xef, 0x1c, 0x54, 0x74, 0x75, 0x6a, 0x62, 0x2f, 0x47, 0x82, 0x3a, 0xb9, + 0x95, 0x4f, 0xa1, 0xbb, +}; +static const unsigned char kat2409_nonce[] = {0}; +static const unsigned char kat2409_persstr[] = {0}; +static const unsigned char kat2409_entropyinreseed[] = { + 0xfc, 0x45, 0x43, 0x1e, 0x4b, 0x2b, 0x16, 0xcc, 0xab, 0x1b, 0xbd, 0xc2, + 0x62, 0x8c, 0xff, 0x34, 0x56, 0x97, 0xca, 0xe7, 0x24, 0x85, 0xb1, 0xdc, + 0xb2, 0x58, 0x0b, 0x70, 0xce, 0xe8, 0x0d, 0x2c, 0x58, 0x21, 0x2a, 0xdc, + 0x43, 0xba, 0x4c, 0x10, +}; +static const unsigned char kat2409_addinreseed[] = {0}; +static const unsigned char kat2409_addin0[] = {0}; +static const unsigned char kat2409_addin1[] = {0}; +static const unsigned char kat2409_retbits[] = { + 0x9e, 0x83, 0xa6, 0x69, 0x90, 0x73, 0x5a, 0x4e, 0xcc, 0xcc, 0x2c, 0xb5, + 0x9a, 0xca, 0x97, 0x19, 0xd0, 0x34, 0x68, 0xbc, 0x9b, 0x37, 0x9d, 0x86, + 0x0a, 0xd1, 0xd9, 0xc0, 0x98, 0x81, 0x11, 0x1a, 0xce, 0xc2, 0x29, 0x52, + 0x68, 0xa6, 0x7b, 0xad, 0xf4, 0x5f, 0x4b, 0xc2, 0x18, 0x96, 0xa1, 0x7f, + 0x26, 0xd2, 0x4d, 0xf5, 0x53, 0x5e, 0x4e, 0xff, 0x14, 0x4a, 0xfa, 0x17, + 0xb0, 0xed, 0x87, 0x33, +}; +static const struct drbg_kat_pr_false kat2409_t = { + 8, kat2409_entropyin, kat2409_nonce, kat2409_persstr, + kat2409_entropyinreseed, kat2409_addinreseed, kat2409_addin0, + kat2409_addin1, kat2409_retbits +}; +static const struct drbg_kat kat2409 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2409_t +}; + +static const unsigned char kat2410_entropyin[] = { + 0x6e, 0x22, 0xce, 0x3e, 0x72, 0x4b, 0xa2, 0x93, 0xe9, 0x9e, 0xfd, 0x66, + 0x9f, 0x65, 0xd9, 0x9b, 0x78, 0xda, 0xc4, 0x96, 0x20, 0x09, 0xbe, 0xb0, + 0xed, 0x6b, 0x8d, 0x2b, 0x99, 0x43, 0xae, 0xff, 0x45, 0xdc, 0x0a, 0x33, + 0x1e, 0x3f, 0x53, 0xd0, +}; +static const unsigned char kat2410_nonce[] = {0}; +static const unsigned char kat2410_persstr[] = {0}; +static const unsigned char kat2410_entropyinreseed[] = { + 0x6d, 0x2f, 0xc9, 0xaa, 0xb9, 0xbe, 0x7e, 0xd8, 0x48, 0x50, 0x10, 0x4d, + 0x19, 0xd8, 0x0f, 0x8b, 0x19, 0xce, 0xe6, 0xe4, 0x67, 0x60, 0xe4, 0x98, + 0x52, 0x04, 0xb2, 0x35, 0x57, 0xf7, 0xf4, 0x13, 0x19, 0x3c, 0x80, 0xf1, + 0xa5, 0x96, 0xbd, 0xd4, +}; +static const unsigned char kat2410_addinreseed[] = {0}; +static const unsigned char kat2410_addin0[] = {0}; +static const unsigned char kat2410_addin1[] = {0}; +static const unsigned char kat2410_retbits[] = { + 0x0d, 0x58, 0x83, 0xaf, 0xea, 0xc7, 0x70, 0x81, 0xec, 0x25, 0x05, 0x39, + 0x09, 0xf2, 0x2e, 0x98, 0x1b, 0xe9, 0x2a, 0x54, 0xc3, 0x8c, 0xd3, 0x63, + 0xb2, 0xda, 0x33, 0x3a, 0x15, 0x19, 0x51, 0xb6, 0x48, 0xec, 0xc1, 0xd6, + 0xb5, 0x6a, 0x0d, 0x87, 0x62, 0x5f, 0x08, 0x06, 0x22, 0x0a, 0xb1, 0xf0, + 0xc7, 0x35, 0x86, 0xed, 0x18, 0x7f, 0xcc, 0x41, 0x17, 0xe8, 0x23, 0x76, + 0xb0, 0xba, 0xec, 0x69, +}; +static const struct drbg_kat_pr_false kat2410_t = { + 9, kat2410_entropyin, kat2410_nonce, kat2410_persstr, + kat2410_entropyinreseed, kat2410_addinreseed, kat2410_addin0, + kat2410_addin1, kat2410_retbits +}; +static const struct drbg_kat kat2410 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2410_t +}; + +static const unsigned char kat2411_entropyin[] = { + 0xcd, 0xa1, 0xab, 0xfe, 0x94, 0x88, 0x75, 0xac, 0xc7, 0x89, 0xb3, 0xf2, + 0x6b, 0xcf, 0xf5, 0x05, 0x4b, 0x9f, 0xa2, 0x43, 0x9e, 0xbf, 0x5c, 0xa9, + 0x8a, 0xa2, 0xfa, 0xcd, 0x51, 0x81, 0x85, 0x76, 0xb1, 0x69, 0x13, 0x78, + 0x43, 0xf5, 0xbb, 0x51, +}; +static const unsigned char kat2411_nonce[] = {0}; +static const unsigned char kat2411_persstr[] = {0}; +static const unsigned char kat2411_entropyinreseed[] = { + 0x39, 0xc5, 0x64, 0x65, 0x20, 0x61, 0x67, 0x40, 0xae, 0xc5, 0x56, 0x52, + 0xbd, 0x67, 0x9e, 0xfa, 0x7b, 0x21, 0xd0, 0x5e, 0x71, 0x03, 0x3c, 0x32, + 0x57, 0x49, 0x3f, 0xad, 0xed, 0x9a, 0x0f, 0xa1, 0x45, 0xe5, 0xc0, 0xaf, + 0x11, 0xba, 0x2e, 0xd8, +}; +static const unsigned char kat2411_addinreseed[] = {0}; +static const unsigned char kat2411_addin0[] = {0}; +static const unsigned char kat2411_addin1[] = {0}; +static const unsigned char kat2411_retbits[] = { + 0x53, 0x3f, 0x6d, 0xff, 0xa2, 0x26, 0x1e, 0x7d, 0x3e, 0x35, 0x16, 0x76, + 0x15, 0x2f, 0xeb, 0x26, 0x55, 0xa7, 0xfc, 0x88, 0xcd, 0x5b, 0xfa, 0x3f, + 0xf5, 0x4c, 0x48, 0x72, 0x37, 0x21, 0x13, 0xf2, 0x8c, 0xa6, 0x9c, 0x0e, + 0x57, 0xe4, 0x1a, 0xe6, 0xae, 0x81, 0x40, 0x8a, 0x7c, 0x64, 0x55, 0x46, + 0x86, 0x82, 0x90, 0xd9, 0x4a, 0xe3, 0x66, 0xd5, 0xb6, 0x4d, 0xff, 0xeb, + 0xdc, 0x27, 0xcb, 0xf7, +}; +static const struct drbg_kat_pr_false kat2411_t = { + 10, kat2411_entropyin, kat2411_nonce, kat2411_persstr, + kat2411_entropyinreseed, kat2411_addinreseed, kat2411_addin0, + kat2411_addin1, kat2411_retbits +}; +static const struct drbg_kat kat2411 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2411_t +}; + +static const unsigned char kat2412_entropyin[] = { + 0x05, 0x62, 0xa5, 0x09, 0x7a, 0x73, 0x53, 0x49, 0x0a, 0x95, 0x25, 0xa2, + 0xe5, 0xa8, 0x05, 0xed, 0x4d, 0xb3, 0x14, 0x5e, 0x94, 0x31, 0x72, 0xae, + 0xcb, 0xf8, 0x40, 0xc2, 0x71, 0xf4, 0xca, 0xef, 0xf3, 0x2c, 0xdc, 0x51, + 0xe8, 0x30, 0x32, 0x79, +}; +static const unsigned char kat2412_nonce[] = {0}; +static const unsigned char kat2412_persstr[] = {0}; +static const unsigned char kat2412_entropyinreseed[] = { + 0x52, 0x9e, 0x85, 0x68, 0x6d, 0x64, 0xeb, 0xdd, 0xff, 0x61, 0xef, 0x1d, + 0x7c, 0x13, 0x50, 0x07, 0x5d, 0x51, 0x5a, 0x88, 0x81, 0x83, 0x71, 0x53, + 0x79, 0xb1, 0xa2, 0xc9, 0xf2, 0x71, 0xc8, 0xff, 0x6c, 0x8e, 0x5e, 0x47, + 0xff, 0xfe, 0x85, 0x53, +}; +static const unsigned char kat2412_addinreseed[] = {0}; +static const unsigned char kat2412_addin0[] = {0}; +static const unsigned char kat2412_addin1[] = {0}; +static const unsigned char kat2412_retbits[] = { + 0x52, 0x84, 0xba, 0xf9, 0x15, 0xfb, 0x79, 0x25, 0x09, 0xd5, 0x0f, 0x18, + 0x2c, 0x3c, 0x40, 0xb7, 0xfe, 0xd7, 0x75, 0xb3, 0xa8, 0xc9, 0x1c, 0xd7, + 0x82, 0x70, 0x2a, 0x88, 0xfd, 0x29, 0x5a, 0x1d, 0x17, 0xcb, 0x7a, 0x99, + 0x70, 0xb0, 0xfd, 0xa7, 0x74, 0x36, 0x0c, 0x6b, 0xf7, 0x95, 0x77, 0xd3, + 0x22, 0x60, 0xdc, 0x2a, 0x99, 0x7f, 0xc3, 0xa9, 0xf3, 0xd4, 0xf7, 0x8e, + 0x48, 0x79, 0xdf, 0x96, +}; +static const struct drbg_kat_pr_false kat2412_t = { + 11, kat2412_entropyin, kat2412_nonce, kat2412_persstr, + kat2412_entropyinreseed, kat2412_addinreseed, kat2412_addin0, + kat2412_addin1, kat2412_retbits +}; +static const struct drbg_kat kat2412 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2412_t +}; + +static const unsigned char kat2413_entropyin[] = { + 0xc4, 0x83, 0x4a, 0xaa, 0x7f, 0x33, 0xd4, 0xa4, 0x43, 0xc2, 0x6c, 0x94, + 0x4d, 0x8e, 0x91, 0x27, 0x50, 0x23, 0x65, 0xd3, 0x3e, 0x52, 0x27, 0x08, + 0x21, 0x11, 0xe1, 0x43, 0x8c, 0xa3, 0xd2, 0x12, 0x9a, 0x42, 0xc9, 0x28, + 0x99, 0xea, 0xc2, 0xcc, +}; +static const unsigned char kat2413_nonce[] = {0}; +static const unsigned char kat2413_persstr[] = {0}; +static const unsigned char kat2413_entropyinreseed[] = { + 0xd9, 0x0c, 0x1b, 0x69, 0xb8, 0xa2, 0x80, 0xf3, 0x1c, 0x66, 0xfb, 0x0c, + 0xbd, 0x53, 0xed, 0xdb, 0x12, 0x44, 0x41, 0xa8, 0x8a, 0x9e, 0x41, 0x30, + 0x10, 0x3e, 0xcd, 0xd5, 0x35, 0x73, 0x61, 0xb0, 0x00, 0xea, 0x5f, 0x80, + 0x1c, 0xa8, 0xab, 0x38, +}; +static const unsigned char kat2413_addinreseed[] = {0}; +static const unsigned char kat2413_addin0[] = {0}; +static const unsigned char kat2413_addin1[] = {0}; +static const unsigned char kat2413_retbits[] = { + 0xc7, 0x14, 0x60, 0x3e, 0xb1, 0x85, 0x2c, 0x0b, 0xb2, 0x1f, 0x22, 0x4a, + 0x25, 0x52, 0xb8, 0x3f, 0x74, 0xc8, 0xa6, 0x66, 0x37, 0xcc, 0x87, 0x07, + 0x74, 0x35, 0xa3, 0x2e, 0x74, 0xfd, 0x79, 0xf4, 0x26, 0x23, 0xd4, 0xda, + 0x11, 0xd6, 0x4c, 0xac, 0x5a, 0x4a, 0xc7, 0xa1, 0x33, 0xd5, 0x6a, 0x10, + 0x76, 0x4c, 0x95, 0x43, 0xba, 0x22, 0x97, 0x29, 0xee, 0xe5, 0x8f, 0xcb, + 0x24, 0x73, 0x47, 0xfb, +}; +static const struct drbg_kat_pr_false kat2413_t = { + 12, kat2413_entropyin, kat2413_nonce, kat2413_persstr, + kat2413_entropyinreseed, kat2413_addinreseed, kat2413_addin0, + kat2413_addin1, kat2413_retbits +}; +static const struct drbg_kat kat2413 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2413_t +}; + +static const unsigned char kat2414_entropyin[] = { + 0x5d, 0xa8, 0x50, 0xea, 0x7c, 0x9c, 0x21, 0xb8, 0x72, 0x8e, 0x9e, 0x97, + 0x5a, 0xc8, 0x46, 0x5c, 0xe1, 0x68, 0x18, 0xfa, 0x82, 0x4f, 0x9b, 0x78, + 0x3b, 0x0e, 0xc3, 0xdb, 0x7e, 0xfd, 0xbd, 0x70, 0x70, 0x31, 0x7d, 0x64, + 0xe6, 0x23, 0xeb, 0xe1, +}; +static const unsigned char kat2414_nonce[] = {0}; +static const unsigned char kat2414_persstr[] = {0}; +static const unsigned char kat2414_entropyinreseed[] = { + 0x27, 0xf2, 0xb4, 0x46, 0xf5, 0x52, 0x23, 0xa1, 0x3d, 0xcb, 0x3b, 0x3c, + 0x86, 0x61, 0xa5, 0x2b, 0xe0, 0x11, 0x8e, 0xb5, 0x5d, 0x9a, 0xc1, 0x7a, + 0x00, 0x71, 0x28, 0xf3, 0x22, 0x06, 0x8d, 0xf7, 0x77, 0xb2, 0x7f, 0x05, + 0xe1, 0xc8, 0x78, 0xd0, +}; +static const unsigned char kat2414_addinreseed[] = {0}; +static const unsigned char kat2414_addin0[] = {0}; +static const unsigned char kat2414_addin1[] = {0}; +static const unsigned char kat2414_retbits[] = { + 0x11, 0xe1, 0x5b, 0x10, 0xf8, 0x3d, 0x08, 0x3e, 0x7e, 0x7d, 0x4c, 0xa1, + 0x3a, 0x46, 0xc5, 0x33, 0x82, 0x67, 0xf9, 0x3c, 0x03, 0x80, 0x2a, 0xe6, + 0xaf, 0x14, 0xb3, 0xdd, 0x5a, 0xca, 0x5e, 0xa8, 0x7d, 0xa3, 0x49, 0xdc, + 0xd9, 0xd5, 0x4b, 0xe5, 0x73, 0x6b, 0x28, 0x67, 0x16, 0x65, 0xdb, 0x49, + 0xc4, 0x85, 0x52, 0xca, 0x3f, 0x21, 0xef, 0x4f, 0x3c, 0xec, 0x4a, 0x5a, + 0xb7, 0xbe, 0xa9, 0xae, +}; +static const struct drbg_kat_pr_false kat2414_t = { + 13, kat2414_entropyin, kat2414_nonce, kat2414_persstr, + kat2414_entropyinreseed, kat2414_addinreseed, kat2414_addin0, + kat2414_addin1, kat2414_retbits +}; +static const struct drbg_kat kat2414 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2414_t +}; + +static const unsigned char kat2415_entropyin[] = { + 0xac, 0x8e, 0x24, 0xb8, 0x70, 0x4e, 0x20, 0x11, 0x07, 0x6f, 0xf9, 0x17, + 0x5f, 0xa1, 0xc1, 0x2d, 0x9b, 0xee, 0xed, 0x66, 0xc9, 0xa9, 0x75, 0x03, + 0x7e, 0xf6, 0xf1, 0xf5, 0x19, 0xef, 0xa2, 0x23, 0x0c, 0xa0, 0x14, 0x82, + 0x97, 0x5c, 0x99, 0x08, +}; +static const unsigned char kat2415_nonce[] = {0}; +static const unsigned char kat2415_persstr[] = {0}; +static const unsigned char kat2415_entropyinreseed[] = { + 0xcb, 0xe0, 0x5b, 0x23, 0x5a, 0xb4, 0x57, 0x35, 0xf0, 0xfa, 0x0e, 0xd9, + 0x45, 0xec, 0x38, 0xec, 0x38, 0x01, 0xf2, 0xca, 0xed, 0x0b, 0xd8, 0xf9, + 0x6d, 0xfb, 0x34, 0xcc, 0x75, 0xef, 0x1a, 0x6a, 0x41, 0x22, 0xf5, 0xa8, + 0x30, 0x5f, 0x91, 0x5e, +}; +static const unsigned char kat2415_addinreseed[] = {0}; +static const unsigned char kat2415_addin0[] = {0}; +static const unsigned char kat2415_addin1[] = {0}; +static const unsigned char kat2415_retbits[] = { + 0x91, 0xc4, 0x98, 0x03, 0xaf, 0x71, 0x47, 0x7a, 0x06, 0xa6, 0xa4, 0x93, + 0xb7, 0x5a, 0xa3, 0x68, 0x17, 0xaa, 0x15, 0xb5, 0x8a, 0xfe, 0x75, 0x98, + 0x75, 0x0b, 0x2f, 0xe4, 0xd6, 0x63, 0xf0, 0x5e, 0xcf, 0x0b, 0x8c, 0x1b, + 0x57, 0x37, 0xcd, 0x61, 0x1e, 0x2d, 0x56, 0xce, 0x95, 0xa0, 0x29, 0xbc, + 0x4f, 0xbc, 0x30, 0x7f, 0x54, 0x78, 0xf0, 0xb7, 0x96, 0xb2, 0x59, 0xe0, + 0x1a, 0x48, 0x92, 0x0b, +}; +static const struct drbg_kat_pr_false kat2415_t = { + 14, kat2415_entropyin, kat2415_nonce, kat2415_persstr, + kat2415_entropyinreseed, kat2415_addinreseed, kat2415_addin0, + kat2415_addin1, kat2415_retbits +}; +static const struct drbg_kat kat2415 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2415_t +}; + +static const unsigned char kat2416_entropyin[] = { + 0x65, 0x8a, 0x2d, 0xf4, 0xd2, 0xe3, 0x71, 0xa9, 0xa9, 0x71, 0x92, 0x86, + 0x9f, 0x77, 0xca, 0x77, 0xab, 0xc8, 0x0e, 0x3f, 0x6d, 0x2e, 0x1e, 0x29, + 0x5d, 0x4d, 0x22, 0x8d, 0xe2, 0xac, 0x90, 0xd5, 0x4d, 0x6c, 0xbe, 0xfa, + 0x2e, 0x9b, 0xa3, 0xda, +}; +static const unsigned char kat2416_nonce[] = {0}; +static const unsigned char kat2416_persstr[] = {0}; +static const unsigned char kat2416_entropyinreseed[] = { + 0x79, 0xfb, 0xa3, 0xe1, 0x4d, 0x22, 0x5b, 0x26, 0xe6, 0x36, 0x5b, 0xd1, + 0xae, 0x16, 0x49, 0xae, 0x93, 0xd7, 0x16, 0xdc, 0x09, 0xed, 0x50, 0x9b, + 0xbe, 0x33, 0x8e, 0x2c, 0x78, 0x88, 0x3c, 0x77, 0xaa, 0x0f, 0x43, 0xae, + 0xd3, 0xc2, 0xbb, 0x2d, +}; +static const unsigned char kat2416_addinreseed[] = { + 0xde, 0xf5, 0x51, 0x23, 0x14, 0xc4, 0x7a, 0x6b, 0xb7, 0xca, 0xcb, 0x35, + 0x29, 0xa6, 0x61, 0x64, 0xea, 0x48, 0x82, 0x66, 0x50, 0xa5, 0x4a, 0x6d, + 0x9b, 0xe9, 0xf5, 0xee, 0x4f, 0xbb, 0x8c, 0x7d, 0x74, 0x2d, 0x3d, 0xeb, + 0x00, 0x5e, 0x89, 0x96, +}; +static const unsigned char kat2416_addin0[] = { + 0x54, 0xe3, 0xad, 0x6f, 0x72, 0xc1, 0xf7, 0x40, 0xa0, 0x19, 0x57, 0x2b, + 0x7e, 0x44, 0x6a, 0xd1, 0x58, 0xe0, 0xa2, 0x9b, 0xb0, 0xef, 0xbe, 0xa6, + 0x0f, 0xf6, 0xf1, 0x65, 0x96, 0xaf, 0xbb, 0xce, 0xcf, 0xd3, 0x5e, 0x65, + 0x63, 0x5f, 0x9f, 0x77, +}; +static const unsigned char kat2416_addin1[] = { + 0x65, 0x16, 0xe1, 0x7a, 0x29, 0x5d, 0x2f, 0xc1, 0x41, 0xd2, 0xe8, 0x70, + 0x6e, 0x73, 0x82, 0x2e, 0xfd, 0x7b, 0x59, 0x7f, 0xc5, 0x76, 0xa9, 0x7f, + 0x43, 0x81, 0x6c, 0xd1, 0xa9, 0xdf, 0x4b, 0x9f, 0xf6, 0x91, 0x32, 0x4e, + 0x2b, 0x58, 0x17, 0x77, +}; +static const unsigned char kat2416_retbits[] = { + 0x93, 0x2e, 0x59, 0xd4, 0x14, 0x55, 0xf8, 0x9a, 0xc8, 0x90, 0x30, 0x19, + 0xa6, 0x83, 0xd5, 0x35, 0x68, 0x94, 0xf4, 0xad, 0x60, 0x8f, 0x04, 0x6f, + 0x63, 0x57, 0x79, 0xd3, 0xae, 0x12, 0xe5, 0x52, 0xaa, 0x75, 0x57, 0x5c, + 0x7b, 0xbf, 0xde, 0xb5, 0x9d, 0x25, 0x38, 0x93, 0xb9, 0x6f, 0x71, 0x53, + 0x8f, 0xec, 0x60, 0x47, 0x58, 0x2e, 0xb9, 0x38, 0x83, 0x79, 0xad, 0x93, + 0x9c, 0x85, 0xc9, 0x56, +}; +static const struct drbg_kat_pr_false kat2416_t = { + 0, kat2416_entropyin, kat2416_nonce, kat2416_persstr, + kat2416_entropyinreseed, kat2416_addinreseed, kat2416_addin0, + kat2416_addin1, kat2416_retbits +}; +static const struct drbg_kat kat2416 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2416_t +}; + +static const unsigned char kat2417_entropyin[] = { + 0xa4, 0x4b, 0x6c, 0x8e, 0x84, 0x1c, 0xfe, 0x7b, 0x83, 0xc5, 0xf7, 0xa9, + 0xd3, 0x58, 0xd5, 0xff, 0xcf, 0x2d, 0x4c, 0xf0, 0xf3, 0x51, 0xc9, 0x99, + 0x88, 0xba, 0x16, 0x65, 0x69, 0x8e, 0xf2, 0x81, 0x85, 0x14, 0xc7, 0x7b, + 0x7e, 0x1d, 0xc5, 0xbc, +}; +static const unsigned char kat2417_nonce[] = {0}; +static const unsigned char kat2417_persstr[] = {0}; +static const unsigned char kat2417_entropyinreseed[] = { + 0x2a, 0x9b, 0x73, 0x8d, 0x3b, 0xee, 0x43, 0x53, 0x56, 0x08, 0x83, 0x99, + 0x13, 0x27, 0x3b, 0x7b, 0xd5, 0x3d, 0x1c, 0x56, 0x2e, 0xde, 0x15, 0x37, + 0xd4, 0xfa, 0x0e, 0x2d, 0x84, 0x6d, 0x01, 0x20, 0x7a, 0x00, 0xb4, 0x98, + 0x31, 0x66, 0xa2, 0xb0, +}; +static const unsigned char kat2417_addinreseed[] = { + 0xb9, 0xff, 0x9b, 0x91, 0x89, 0x60, 0x81, 0x00, 0xa3, 0xc4, 0xbf, 0xed, + 0xcd, 0x05, 0xe9, 0x08, 0xd9, 0x7e, 0x2d, 0x24, 0x84, 0xa9, 0x2e, 0x9b, + 0x31, 0x8a, 0x0f, 0x22, 0x31, 0x7c, 0xa8, 0x0e, 0xc5, 0x9a, 0x43, 0x06, + 0x94, 0x3e, 0x6a, 0x62, +}; +static const unsigned char kat2417_addin0[] = { + 0xa2, 0xac, 0xf3, 0xc4, 0x6b, 0x6c, 0x30, 0xb1, 0xe8, 0x98, 0x55, 0xa8, + 0xf0, 0x0f, 0xec, 0xb8, 0xcb, 0x7f, 0xfe, 0x4b, 0x2c, 0x7b, 0xaa, 0xec, + 0xee, 0x58, 0x96, 0x34, 0xea, 0xdf, 0xc2, 0x71, 0x38, 0x6a, 0x7a, 0x31, + 0x7f, 0xbb, 0x2a, 0x98, +}; +static const unsigned char kat2417_addin1[] = { + 0x41, 0x65, 0x84, 0xb1, 0x7c, 0x8e, 0xcc, 0x4e, 0x53, 0x5c, 0x0c, 0x84, + 0x78, 0x79, 0x82, 0x9a, 0xa7, 0xfc, 0xd4, 0xec, 0xc6, 0x91, 0xa3, 0x62, + 0x88, 0xd2, 0x9d, 0x20, 0x8b, 0x0d, 0xaa, 0xe9, 0xc8, 0xa1, 0xb5, 0x3f, + 0x5b, 0x6e, 0xcc, 0x30, +}; +static const unsigned char kat2417_retbits[] = { + 0x8a, 0xb2, 0xe7, 0x1e, 0x5c, 0x96, 0xdc, 0x8f, 0x57, 0xd2, 0xc1, 0x11, + 0x7a, 0x3d, 0xf0, 0xf8, 0xc8, 0xb0, 0x0f, 0x20, 0x6f, 0xcb, 0x94, 0xe1, + 0xdd, 0x04, 0x70, 0x33, 0x7d, 0x66, 0xf0, 0xf8, 0xed, 0x2f, 0x5c, 0x60, + 0x57, 0x97, 0xd7, 0xdf, 0x6e, 0x2f, 0x70, 0xcf, 0x38, 0xe8, 0x42, 0xc4, + 0xaf, 0xab, 0xc9, 0xa5, 0xfb, 0x2a, 0x7c, 0x76, 0x51, 0xa5, 0xc4, 0x8a, + 0x89, 0x40, 0x09, 0xa5, +}; +static const struct drbg_kat_pr_false kat2417_t = { + 1, kat2417_entropyin, kat2417_nonce, kat2417_persstr, + kat2417_entropyinreseed, kat2417_addinreseed, kat2417_addin0, + kat2417_addin1, kat2417_retbits +}; +static const struct drbg_kat kat2417 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2417_t +}; + +static const unsigned char kat2418_entropyin[] = { + 0x91, 0x57, 0x2d, 0x61, 0xaa, 0x51, 0x0a, 0xdf, 0x20, 0xa0, 0xd7, 0x5d, + 0xba, 0xb5, 0xc9, 0x79, 0x6d, 0x44, 0x88, 0xd6, 0x84, 0xd6, 0x7a, 0x33, + 0xa8, 0x67, 0xea, 0x2a, 0xb6, 0xe4, 0x39, 0x5c, 0x05, 0x9d, 0x89, 0x4c, + 0xcd, 0x57, 0x51, 0xb8, +}; +static const unsigned char kat2418_nonce[] = {0}; +static const unsigned char kat2418_persstr[] = {0}; +static const unsigned char kat2418_entropyinreseed[] = { + 0xda, 0x82, 0xdf, 0xf8, 0xf4, 0x3f, 0x6e, 0xc8, 0x62, 0xb6, 0xf2, 0x93, + 0x97, 0xef, 0xd2, 0xc0, 0xd2, 0xd1, 0x64, 0x5b, 0xf1, 0x8b, 0x56, 0xc5, + 0xc9, 0x5f, 0x23, 0x0b, 0xaa, 0x16, 0x68, 0x8a, 0x81, 0x09, 0xa8, 0xbe, + 0x2e, 0x26, 0xb4, 0xfa, +}; +static const unsigned char kat2418_addinreseed[] = { + 0x14, 0x5e, 0x75, 0x54, 0xc3, 0x42, 0xb8, 0xc0, 0xbc, 0x8e, 0xc4, 0xf7, + 0x1d, 0xcf, 0x58, 0x6c, 0x2b, 0x67, 0xec, 0x12, 0xae, 0xaf, 0x9b, 0xd1, + 0xe4, 0xbf, 0x7f, 0x9b, 0x93, 0x20, 0xfd, 0x0b, 0xd9, 0x1d, 0x8c, 0x38, + 0x85, 0x02, 0x67, 0xf9, +}; +static const unsigned char kat2418_addin0[] = { + 0x92, 0x20, 0x91, 0x99, 0x09, 0xcd, 0xf0, 0x48, 0x2f, 0x7b, 0x88, 0xca, + 0x2e, 0xbb, 0x38, 0x79, 0x83, 0xf0, 0x03, 0x43, 0x53, 0x64, 0x60, 0xa6, + 0x6a, 0x22, 0x0a, 0x3b, 0xcc, 0xf1, 0x38, 0x9b, 0xa8, 0x59, 0xb7, 0xb9, + 0xb3, 0xeb, 0xff, 0x59, +}; +static const unsigned char kat2418_addin1[] = { + 0x47, 0x47, 0x97, 0x7b, 0xff, 0xf8, 0x0c, 0xba, 0xa1, 0x76, 0x47, 0x77, + 0xa4, 0x66, 0x59, 0x72, 0xd3, 0x6b, 0x21, 0x45, 0x59, 0x59, 0x05, 0x67, + 0xb4, 0x6c, 0xbc, 0x71, 0xa2, 0xe8, 0x23, 0x09, 0xb6, 0xe3, 0xe8, 0xf7, + 0x1e, 0x67, 0x50, 0xd2, +}; +static const unsigned char kat2418_retbits[] = { + 0xf0, 0x06, 0x15, 0xaf, 0x99, 0xa9, 0xf9, 0x9d, 0x2c, 0xdf, 0xdb, 0x16, + 0xc7, 0x88, 0x73, 0xd9, 0x31, 0x13, 0x29, 0xee, 0x70, 0x05, 0x58, 0xcb, + 0xbe, 0x40, 0xa5, 0x3d, 0xcc, 0xe6, 0xca, 0xb3, 0xbf, 0xb7, 0xec, 0x49, + 0x7c, 0xe7, 0x3b, 0xa7, 0x26, 0x92, 0x2c, 0x96, 0x85, 0x29, 0xf6, 0x64, + 0xdd, 0xf3, 0x22, 0xbc, 0x1c, 0xce, 0x69, 0xae, 0x79, 0xad, 0x62, 0x6e, + 0x2d, 0xb2, 0xc7, 0xa9, +}; +static const struct drbg_kat_pr_false kat2418_t = { + 2, kat2418_entropyin, kat2418_nonce, kat2418_persstr, + kat2418_entropyinreseed, kat2418_addinreseed, kat2418_addin0, + kat2418_addin1, kat2418_retbits +}; +static const struct drbg_kat kat2418 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2418_t +}; + +static const unsigned char kat2419_entropyin[] = { + 0x9d, 0x49, 0x0a, 0xa1, 0x65, 0x01, 0x64, 0x56, 0x80, 0x73, 0xdd, 0x40, + 0xe7, 0x96, 0x7e, 0x81, 0x35, 0x54, 0x41, 0x79, 0x26, 0xcf, 0xbb, 0x74, + 0xf7, 0x0f, 0x6e, 0x4b, 0xee, 0xb0, 0x2c, 0xd3, 0x9f, 0xf5, 0xf3, 0xe2, + 0x78, 0xfe, 0x4b, 0x0c, +}; +static const unsigned char kat2419_nonce[] = {0}; +static const unsigned char kat2419_persstr[] = {0}; +static const unsigned char kat2419_entropyinreseed[] = { + 0x9e, 0xbf, 0x64, 0x92, 0x7e, 0xd2, 0x60, 0xd9, 0x0a, 0x8a, 0x9a, 0xd7, + 0x79, 0x15, 0xaa, 0x9b, 0x40, 0xe7, 0x54, 0x38, 0x87, 0x25, 0xc3, 0x49, + 0xf5, 0x9b, 0xa2, 0xbb, 0x43, 0xe6, 0xb3, 0x61, 0xd0, 0xb0, 0x58, 0x4c, + 0xe0, 0x26, 0x61, 0x61, +}; +static const unsigned char kat2419_addinreseed[] = { + 0x64, 0x77, 0x21, 0x39, 0xea, 0xe5, 0xe6, 0x60, 0x45, 0x49, 0x79, 0x2d, + 0xd0, 0x29, 0x19, 0x1e, 0xfa, 0x8e, 0x5e, 0x97, 0xc0, 0xfe, 0xff, 0x9e, + 0xad, 0x2d, 0xe1, 0x9a, 0x2d, 0x4c, 0x92, 0xf9, 0x30, 0xd3, 0x20, 0x15, + 0x89, 0x9f, 0xe6, 0x84, +}; +static const unsigned char kat2419_addin0[] = { + 0x58, 0x3a, 0xbb, 0x1d, 0x1d, 0x0f, 0x63, 0x21, 0x79, 0xbd, 0xdc, 0x68, + 0x89, 0xbc, 0x1c, 0x2a, 0x09, 0x79, 0xb0, 0xf3, 0xeb, 0xd3, 0x83, 0xd5, + 0xf0, 0x0d, 0x18, 0xbd, 0xc0, 0xb2, 0x77, 0xf4, 0x0a, 0xf7, 0xb5, 0xc4, + 0x6a, 0x1f, 0x89, 0x36, +}; +static const unsigned char kat2419_addin1[] = { + 0xf2, 0xe2, 0x4f, 0xbb, 0xd6, 0x26, 0xaa, 0x8e, 0xdc, 0xc2, 0xbd, 0x77, + 0xdc, 0x35, 0x69, 0xc5, 0xb9, 0x61, 0xfc, 0x86, 0x48, 0xc2, 0x46, 0x0a, + 0x78, 0xab, 0x4d, 0x1f, 0x29, 0x17, 0xa6, 0xcb, 0xa3, 0x46, 0x6a, 0xae, + 0x45, 0xdb, 0x2c, 0x5c, +}; +static const unsigned char kat2419_retbits[] = { + 0x62, 0xa5, 0x98, 0xb9, 0xa7, 0xf4, 0x07, 0x71, 0xc6, 0x5c, 0xdc, 0x99, + 0x85, 0x1b, 0x22, 0xa7, 0x53, 0xf9, 0x2a, 0xdb, 0x02, 0x6a, 0xcf, 0xdd, + 0x92, 0x57, 0x24, 0x42, 0x5d, 0xb3, 0xb6, 0xea, 0x7b, 0x28, 0xd1, 0x3a, + 0x89, 0x8a, 0x2d, 0xa6, 0x3e, 0x19, 0x09, 0x46, 0xb0, 0xab, 0x1a, 0xdb, + 0x67, 0xf0, 0x52, 0x64, 0x0f, 0xf7, 0xe5, 0xaf, 0x7a, 0x53, 0xcf, 0x1b, + 0xb3, 0x9a, 0xee, 0x69, +}; +static const struct drbg_kat_pr_false kat2419_t = { + 3, kat2419_entropyin, kat2419_nonce, kat2419_persstr, + kat2419_entropyinreseed, kat2419_addinreseed, kat2419_addin0, + kat2419_addin1, kat2419_retbits +}; +static const struct drbg_kat kat2419 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2419_t +}; + +static const unsigned char kat2420_entropyin[] = { + 0xdc, 0x0f, 0x0c, 0xa3, 0x21, 0x37, 0xc6, 0x96, 0x70, 0x6f, 0xda, 0xda, + 0x6d, 0x0f, 0x6c, 0x24, 0xee, 0x0b, 0x68, 0xf4, 0x09, 0x1f, 0x8d, 0x2b, + 0x10, 0x9c, 0x24, 0xe4, 0x74, 0x68, 0x50, 0x70, 0xc3, 0x87, 0xf2, 0x1b, + 0x0c, 0x15, 0xf1, 0xc5, +}; +static const unsigned char kat2420_nonce[] = {0}; +static const unsigned char kat2420_persstr[] = {0}; +static const unsigned char kat2420_entropyinreseed[] = { + 0x0d, 0x09, 0xb2, 0x6d, 0x4b, 0x71, 0x22, 0x57, 0x71, 0x42, 0x48, 0xfc, + 0x78, 0xea, 0xca, 0xc8, 0x14, 0xa7, 0x6b, 0xf4, 0x44, 0x50, 0x89, 0x11, + 0x85, 0x2f, 0x49, 0x92, 0xe8, 0x41, 0x57, 0x38, 0xb4, 0xf4, 0x77, 0xca, + 0x8e, 0x4f, 0x01, 0xc7, +}; +static const unsigned char kat2420_addinreseed[] = { + 0xbb, 0xc0, 0x04, 0x7a, 0x8c, 0x57, 0xd5, 0xf9, 0x6f, 0x71, 0x7d, 0x06, + 0xc2, 0x2e, 0x84, 0xc1, 0x3b, 0xe6, 0x9f, 0x5f, 0xf7, 0xb6, 0x7f, 0x51, + 0xd1, 0x74, 0xe6, 0xca, 0xde, 0xdb, 0x18, 0x1f, 0x7f, 0x8e, 0x95, 0x11, + 0xd1, 0x4e, 0xdb, 0xc6, +}; +static const unsigned char kat2420_addin0[] = { + 0xcc, 0x0d, 0x7b, 0x32, 0x14, 0xb5, 0x3d, 0xc5, 0xe0, 0xf4, 0xc8, 0x91, + 0x41, 0x8b, 0x65, 0x85, 0x43, 0xd8, 0xa9, 0xf6, 0x6e, 0x3b, 0xf5, 0x82, + 0x7e, 0xd9, 0xef, 0xc2, 0xcf, 0x25, 0xf7, 0xfc, 0x8b, 0x0b, 0x56, 0xfa, + 0x2b, 0x3b, 0xbb, 0xbe, +}; +static const unsigned char kat2420_addin1[] = { + 0xa6, 0xd3, 0xc7, 0x27, 0x0e, 0x53, 0x17, 0x18, 0x41, 0x6c, 0xd8, 0x7e, + 0x0d, 0x8c, 0xb8, 0xa1, 0xec, 0xb1, 0xf1, 0xde, 0x6e, 0xbf, 0x33, 0x9e, + 0x22, 0x9c, 0xda, 0xb2, 0x53, 0x99, 0x52, 0xfb, 0x75, 0xdc, 0xc7, 0xe4, + 0xe4, 0xd8, 0x8a, 0xb3, +}; +static const unsigned char kat2420_retbits[] = { + 0x0e, 0x84, 0xd7, 0xc3, 0x9b, 0x04, 0x9d, 0xc7, 0x68, 0x9b, 0x60, 0x9b, + 0x05, 0x2d, 0x1d, 0x24, 0xcb, 0xd6, 0xd4, 0xa8, 0x3a, 0xff, 0xb8, 0x79, + 0x96, 0xf0, 0x16, 0xe5, 0x9f, 0xc9, 0xc6, 0x5e, 0xf2, 0xbc, 0x4c, 0xca, + 0x0a, 0x95, 0x06, 0x72, 0xf3, 0x1a, 0xb3, 0x72, 0x27, 0x63, 0xbe, 0x5e, + 0x44, 0x4c, 0xc6, 0x5a, 0xc3, 0x3b, 0x9f, 0x0e, 0x61, 0x75, 0x55, 0x9c, + 0x65, 0x68, 0x77, 0x8b, +}; +static const struct drbg_kat_pr_false kat2420_t = { + 4, kat2420_entropyin, kat2420_nonce, kat2420_persstr, + kat2420_entropyinreseed, kat2420_addinreseed, kat2420_addin0, + kat2420_addin1, kat2420_retbits +}; +static const struct drbg_kat kat2420 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2420_t +}; + +static const unsigned char kat2421_entropyin[] = { + 0x3b, 0x5b, 0x21, 0x30, 0xcc, 0x3b, 0x2a, 0x60, 0x0c, 0x91, 0x05, 0x4a, + 0x66, 0x2d, 0xda, 0xa4, 0x22, 0x5f, 0x69, 0x4a, 0x26, 0x13, 0xd8, 0x68, + 0x07, 0x5f, 0x63, 0x4a, 0x45, 0xdf, 0x57, 0x49, 0x6d, 0x84, 0x3b, 0x3c, + 0xd0, 0x9f, 0x56, 0x8a, +}; +static const unsigned char kat2421_nonce[] = {0}; +static const unsigned char kat2421_persstr[] = {0}; +static const unsigned char kat2421_entropyinreseed[] = { + 0x33, 0xe8, 0x63, 0x26, 0x00, 0x2f, 0x71, 0xb7, 0x9d, 0x67, 0x82, 0x4a, + 0xe4, 0xb7, 0xdd, 0x18, 0x61, 0x0d, 0x3f, 0x2a, 0x91, 0x1c, 0xee, 0x7f, + 0xdf, 0x24, 0xaf, 0x51, 0x5f, 0x30, 0x62, 0x70, 0xe9, 0x15, 0x0f, 0xeb, + 0xd8, 0x0e, 0x5b, 0xc0, +}; +static const unsigned char kat2421_addinreseed[] = { + 0x4e, 0x1d, 0xac, 0x0d, 0x8e, 0x47, 0xc7, 0xb0, 0x66, 0x51, 0xfb, 0x76, + 0x66, 0xab, 0x9f, 0x4d, 0xb3, 0xa1, 0xad, 0x41, 0x6b, 0x44, 0xfa, 0x09, + 0x5c, 0x3f, 0x85, 0x11, 0xc2, 0xfc, 0x84, 0x9f, 0x08, 0x07, 0xe1, 0x46, + 0x63, 0x8d, 0xd2, 0xa2, +}; +static const unsigned char kat2421_addin0[] = { + 0x38, 0xdd, 0x29, 0xff, 0x7f, 0x16, 0x7b, 0x52, 0x1b, 0x30, 0x19, 0x15, + 0x24, 0xb1, 0xeb, 0x3e, 0xda, 0x03, 0x41, 0xe4, 0x78, 0x23, 0x87, 0x2b, + 0x17, 0x75, 0xc1, 0x76, 0x87, 0x98, 0xf0, 0xc4, 0xe7, 0x57, 0xc5, 0xfd, + 0x15, 0x14, 0x04, 0x5b, +}; +static const unsigned char kat2421_addin1[] = { + 0xa7, 0xc9, 0x99, 0x80, 0x6d, 0x38, 0x2e, 0xf8, 0xe9, 0x1e, 0xcf, 0x58, + 0x61, 0x59, 0x86, 0x02, 0x13, 0x50, 0xdd, 0x26, 0xb8, 0xd0, 0x4a, 0xa5, + 0x7d, 0x8d, 0x69, 0x84, 0x5e, 0xe9, 0x23, 0xa1, 0x36, 0x94, 0x7b, 0xe4, + 0x1d, 0x13, 0xa2, 0x54, +}; +static const unsigned char kat2421_retbits[] = { + 0x64, 0xeb, 0x6c, 0xea, 0x5d, 0x7e, 0xec, 0x48, 0xbe, 0x1c, 0x63, 0xa7, + 0x6f, 0xa8, 0xdf, 0x5a, 0x18, 0x32, 0x96, 0x12, 0x10, 0x89, 0xf8, 0x9c, + 0x32, 0x2e, 0xee, 0x91, 0x6e, 0x70, 0xf8, 0x38, 0x92, 0x57, 0x09, 0xe2, + 0xdb, 0xb0, 0x5f, 0xff, 0x61, 0x37, 0x90, 0xe8, 0xbd, 0x4a, 0x62, 0x89, + 0xe9, 0x6a, 0x83, 0xae, 0xc6, 0xcf, 0xf4, 0x6a, 0xef, 0x91, 0xce, 0xf1, + 0x3e, 0x61, 0xbe, 0x60, +}; +static const struct drbg_kat_pr_false kat2421_t = { + 5, kat2421_entropyin, kat2421_nonce, kat2421_persstr, + kat2421_entropyinreseed, kat2421_addinreseed, kat2421_addin0, + kat2421_addin1, kat2421_retbits +}; +static const struct drbg_kat kat2421 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2421_t +}; + +static const unsigned char kat2422_entropyin[] = { + 0x58, 0x59, 0xf9, 0x21, 0x72, 0x4d, 0xf5, 0x22, 0xf3, 0x48, 0xa3, 0x6f, + 0x23, 0x78, 0x04, 0xdd, 0xbb, 0x71, 0xc7, 0xbc, 0xf6, 0x27, 0x3e, 0xf4, + 0x61, 0xdc, 0xf7, 0x4d, 0xcb, 0xc2, 0x1f, 0x0c, 0x34, 0x7c, 0x62, 0x8d, + 0xc5, 0xe3, 0x73, 0xd3, +}; +static const unsigned char kat2422_nonce[] = {0}; +static const unsigned char kat2422_persstr[] = {0}; +static const unsigned char kat2422_entropyinreseed[] = { + 0xc0, 0xd3, 0x0c, 0xf0, 0xed, 0x04, 0x6a, 0x78, 0x87, 0xc7, 0x68, 0x4a, + 0xd8, 0x8d, 0x1a, 0x25, 0xb4, 0xe8, 0xae, 0x30, 0x35, 0xf2, 0xad, 0x6a, + 0xde, 0x05, 0xcc, 0xb3, 0xcb, 0x42, 0x41, 0x0e, 0x27, 0x90, 0xc9, 0x7d, + 0xab, 0x36, 0xd6, 0x58, +}; +static const unsigned char kat2422_addinreseed[] = { + 0x5c, 0x40, 0xef, 0x84, 0xf8, 0x70, 0xa6, 0x0f, 0x18, 0x0e, 0xa2, 0x7d, + 0x10, 0xb0, 0xfa, 0x9f, 0xcb, 0xb9, 0xc5, 0x38, 0x13, 0x95, 0xd1, 0xd0, + 0x04, 0xab, 0x2b, 0x25, 0x36, 0x6a, 0xc7, 0xef, 0xb4, 0xe4, 0x91, 0x4a, + 0x44, 0xe6, 0x86, 0x8f, +}; +static const unsigned char kat2422_addin0[] = { + 0xd4, 0x7e, 0x7c, 0x58, 0x6e, 0x87, 0x46, 0xa8, 0x7e, 0x1c, 0x5c, 0x0f, + 0x24, 0x29, 0xa0, 0xf7, 0x61, 0x56, 0x9b, 0xe5, 0xe3, 0xa7, 0x53, 0xf4, + 0x53, 0xb7, 0x5b, 0xd0, 0x9d, 0x52, 0x12, 0x69, 0x3f, 0x39, 0xd3, 0x3a, + 0x6f, 0x49, 0xc3, 0xb0, +}; +static const unsigned char kat2422_addin1[] = { + 0x86, 0x70, 0x72, 0xeb, 0xb2, 0xad, 0x2d, 0x87, 0xa7, 0x9b, 0xd6, 0xce, + 0x4e, 0xb9, 0xfc, 0xd7, 0x17, 0x42, 0x88, 0x24, 0xb5, 0x6d, 0x2f, 0xe8, + 0x32, 0x79, 0x92, 0xbc, 0xfb, 0x79, 0x24, 0x94, 0xd7, 0x59, 0x6b, 0xd9, + 0x72, 0x77, 0x0a, 0x83, +}; +static const unsigned char kat2422_retbits[] = { + 0x24, 0x69, 0x14, 0x31, 0x8b, 0x6b, 0xb9, 0x93, 0x68, 0x85, 0xcb, 0x19, + 0x75, 0xa5, 0x28, 0x10, 0x9c, 0xf7, 0x46, 0x44, 0x84, 0xdb, 0x70, 0x0e, + 0xcb, 0x2d, 0x69, 0x91, 0x9e, 0x4a, 0x7d, 0x6b, 0x2e, 0xd4, 0x70, 0xde, + 0x92, 0xa2, 0xc6, 0x48, 0x99, 0x5b, 0xef, 0xf8, 0x2c, 0xc1, 0x30, 0x33, + 0xc8, 0xdb, 0xec, 0x4d, 0xc7, 0x77, 0xe8, 0xb7, 0xbb, 0x57, 0x9b, 0xd7, + 0xdd, 0xb2, 0xdc, 0xf7, +}; +static const struct drbg_kat_pr_false kat2422_t = { + 6, kat2422_entropyin, kat2422_nonce, kat2422_persstr, + kat2422_entropyinreseed, kat2422_addinreseed, kat2422_addin0, + kat2422_addin1, kat2422_retbits +}; +static const struct drbg_kat kat2422 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2422_t +}; + +static const unsigned char kat2423_entropyin[] = { + 0x35, 0x99, 0xc3, 0xf1, 0x7a, 0xe1, 0x05, 0xfd, 0x8c, 0x46, 0xaa, 0x0c, + 0x33, 0x8d, 0xa7, 0x5f, 0x6b, 0xdf, 0xf7, 0x06, 0x49, 0x12, 0xad, 0xa1, + 0xd9, 0xb8, 0xa0, 0xfe, 0xfd, 0xf2, 0xae, 0x5d, 0xd8, 0x48, 0xed, 0x94, + 0xc8, 0xaa, 0x80, 0xe9, +}; +static const unsigned char kat2423_nonce[] = {0}; +static const unsigned char kat2423_persstr[] = {0}; +static const unsigned char kat2423_entropyinreseed[] = { + 0xeb, 0xc8, 0x55, 0x00, 0x45, 0x94, 0xb5, 0xd1, 0xca, 0xaa, 0x95, 0x64, + 0x98, 0xb7, 0x83, 0x4c, 0xb2, 0x8b, 0xbc, 0x70, 0x3b, 0x9c, 0xed, 0xb1, + 0x9d, 0x18, 0xbc, 0x4b, 0xf3, 0x6b, 0xbc, 0x22, 0x4b, 0x40, 0x47, 0x22, + 0xa8, 0xa1, 0x9b, 0x21, +}; +static const unsigned char kat2423_addinreseed[] = { + 0x69, 0x2d, 0x16, 0x8d, 0x7c, 0xa6, 0x69, 0x3f, 0xb9, 0xf4, 0x1c, 0x61, + 0xa5, 0x3c, 0x27, 0xd1, 0x48, 0x2a, 0x75, 0xf3, 0xde, 0xd5, 0x20, 0xe3, + 0x1a, 0x53, 0xa5, 0xe3, 0xb2, 0x84, 0x35, 0x5c, 0x2f, 0x6c, 0xff, 0x83, + 0x51, 0x5b, 0x18, 0x3a, +}; +static const unsigned char kat2423_addin0[] = { + 0x79, 0x6f, 0xdd, 0xef, 0x51, 0xad, 0x8f, 0xfe, 0x79, 0x2d, 0x11, 0x78, + 0x1e, 0xf6, 0xbc, 0xad, 0x53, 0xd9, 0x1f, 0x4b, 0x21, 0x34, 0xbe, 0x53, + 0xa9, 0x59, 0xab, 0xb9, 0x9f, 0x1b, 0x87, 0x05, 0x83, 0xc7, 0xfc, 0x3a, + 0x3e, 0xc4, 0x64, 0xcd, +}; +static const unsigned char kat2423_addin1[] = { + 0x42, 0x7d, 0x44, 0x21, 0xe6, 0x98, 0x1c, 0xad, 0x4c, 0x0a, 0xbc, 0xa0, + 0xb9, 0x14, 0x6c, 0x18, 0x4b, 0xfa, 0x6f, 0x0f, 0xde, 0xf1, 0xcd, 0x12, + 0x22, 0xa1, 0x44, 0x2a, 0xed, 0xeb, 0x75, 0x62, 0x84, 0x23, 0xa8, 0x32, + 0x6f, 0xc6, 0xdd, 0xc6, +}; +static const unsigned char kat2423_retbits[] = { + 0x92, 0x70, 0xfe, 0xa3, 0xfe, 0x71, 0xcb, 0xe9, 0x54, 0xac, 0x4b, 0x79, + 0xe2, 0xcb, 0x31, 0xaf, 0x0d, 0xaf, 0x1f, 0xe7, 0x32, 0x99, 0x04, 0xbb, + 0xff, 0xd8, 0x8c, 0xc0, 0xc9, 0xa0, 0x03, 0x30, 0x32, 0xb0, 0x61, 0xf6, + 0xa8, 0x25, 0xf3, 0xc5, 0x6d, 0x78, 0xe1, 0x02, 0xd1, 0x04, 0x28, 0x43, + 0x3e, 0x1c, 0x19, 0xca, 0x84, 0xa0, 0xf1, 0xd7, 0xa5, 0x6c, 0x52, 0xeb, + 0x11, 0xd8, 0x4e, 0x2a, +}; +static const struct drbg_kat_pr_false kat2423_t = { + 7, kat2423_entropyin, kat2423_nonce, kat2423_persstr, + kat2423_entropyinreseed, kat2423_addinreseed, kat2423_addin0, + kat2423_addin1, kat2423_retbits +}; +static const struct drbg_kat kat2423 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2423_t +}; + +static const unsigned char kat2424_entropyin[] = { + 0x43, 0x12, 0xd0, 0x76, 0xaa, 0x8f, 0x71, 0x9c, 0x33, 0x40, 0xd8, 0x30, + 0xe7, 0x3e, 0x17, 0x61, 0xc7, 0x55, 0xf6, 0x0f, 0xd3, 0x14, 0x43, 0x14, + 0x10, 0x92, 0xe9, 0xf9, 0x81, 0x42, 0x06, 0xea, 0xf5, 0xdb, 0x71, 0x2d, + 0xa0, 0x54, 0x64, 0x76, +}; +static const unsigned char kat2424_nonce[] = {0}; +static const unsigned char kat2424_persstr[] = {0}; +static const unsigned char kat2424_entropyinreseed[] = { + 0x17, 0x82, 0x67, 0xc6, 0x6e, 0x65, 0x87, 0x64, 0x37, 0x37, 0x50, 0x23, + 0x61, 0xe6, 0x52, 0x94, 0x80, 0x80, 0x59, 0xde, 0x01, 0x28, 0x72, 0xaf, + 0x50, 0xe3, 0xfc, 0x22, 0xa7, 0x7b, 0x1d, 0x89, 0x7f, 0x89, 0x1e, 0x17, + 0x37, 0xb9, 0xce, 0xfb, +}; +static const unsigned char kat2424_addinreseed[] = { + 0xdc, 0x8e, 0xf5, 0xcb, 0x2f, 0xe6, 0x58, 0x22, 0x90, 0xb7, 0x86, 0x66, + 0x38, 0x11, 0xf0, 0xc4, 0x13, 0xcd, 0x3a, 0x7b, 0xb0, 0xcc, 0x9e, 0xdb, + 0x71, 0x2b, 0x33, 0x31, 0xc1, 0xd9, 0x5d, 0xed, 0xb3, 0xd0, 0x19, 0x74, + 0xf8, 0xb3, 0x9b, 0x62, +}; +static const unsigned char kat2424_addin0[] = { + 0x63, 0x14, 0x3a, 0x7c, 0x7f, 0xa1, 0x66, 0xfb, 0xac, 0xd6, 0x15, 0x74, + 0x49, 0x1d, 0x9b, 0xbc, 0x78, 0x2e, 0x08, 0xf5, 0x99, 0x97, 0xcc, 0xa6, + 0x33, 0x5d, 0xff, 0x95, 0xb0, 0x1e, 0x80, 0xe0, 0x82, 0x0f, 0xba, 0xfb, + 0xd5, 0xdf, 0x7c, 0x34, +}; +static const unsigned char kat2424_addin1[] = { + 0xcf, 0xdb, 0xa4, 0xc3, 0x78, 0xc5, 0xf6, 0xfb, 0x52, 0xa4, 0xdb, 0xd3, + 0x03, 0xe1, 0x97, 0x17, 0x2d, 0x4d, 0xf8, 0x8f, 0x68, 0x17, 0x04, 0x36, + 0x17, 0x61, 0xc8, 0x0e, 0x3f, 0xb2, 0xcf, 0x67, 0x8c, 0xa8, 0x68, 0x7f, + 0xfb, 0xc9, 0x19, 0xf6, +}; +static const unsigned char kat2424_retbits[] = { + 0x21, 0x97, 0x9a, 0x03, 0x9a, 0x04, 0xba, 0x65, 0x89, 0xb5, 0x6d, 0x56, + 0x3d, 0x28, 0x63, 0xe0, 0xa4, 0x44, 0xf7, 0x3d, 0x37, 0x71, 0xae, 0x53, + 0x6b, 0x50, 0xff, 0xd5, 0x9e, 0xe8, 0x2c, 0xb1, 0x27, 0x57, 0x23, 0xd6, + 0xb7, 0x7e, 0xfc, 0x44, 0xbf, 0x67, 0x3f, 0xd3, 0xdd, 0xf1, 0x4c, 0x16, + 0x0e, 0x59, 0xce, 0x54, 0x9c, 0xd5, 0x1f, 0x46, 0x71, 0xe6, 0xa5, 0xcf, + 0x7e, 0xe6, 0x30, 0x5e, +}; +static const struct drbg_kat_pr_false kat2424_t = { + 8, kat2424_entropyin, kat2424_nonce, kat2424_persstr, + kat2424_entropyinreseed, kat2424_addinreseed, kat2424_addin0, + kat2424_addin1, kat2424_retbits +}; +static const struct drbg_kat kat2424 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2424_t +}; + +static const unsigned char kat2425_entropyin[] = { + 0x18, 0x48, 0x8a, 0x34, 0xee, 0x9d, 0xe4, 0xff, 0x27, 0x90, 0x5f, 0x19, + 0x73, 0x96, 0x04, 0xff, 0x5b, 0x11, 0x83, 0x91, 0x48, 0x55, 0xa2, 0xe4, + 0xb0, 0x5e, 0x07, 0x8e, 0xdc, 0x6f, 0x4e, 0x45, 0xa2, 0xe5, 0x0e, 0x90, + 0x06, 0x66, 0x1f, 0xd4, +}; +static const unsigned char kat2425_nonce[] = {0}; +static const unsigned char kat2425_persstr[] = {0}; +static const unsigned char kat2425_entropyinreseed[] = { + 0xac, 0x53, 0xbc, 0x31, 0x3a, 0x18, 0x15, 0x34, 0x5c, 0xa9, 0xad, 0x9c, + 0x9b, 0x4e, 0x28, 0xfe, 0x1d, 0x01, 0x73, 0xd0, 0x14, 0x7f, 0xd0, 0x78, + 0x30, 0xa5, 0x7e, 0x67, 0xee, 0x67, 0xca, 0x76, 0x50, 0xa2, 0x62, 0x38, + 0xc4, 0x5e, 0x41, 0xf8, +}; +static const unsigned char kat2425_addinreseed[] = { + 0xe7, 0x1f, 0x6d, 0x81, 0x66, 0xaa, 0xfe, 0x20, 0x7b, 0x80, 0x4c, 0xb2, + 0xb5, 0x1a, 0x84, 0xf3, 0xbd, 0x79, 0xbd, 0x88, 0xbb, 0xb5, 0x23, 0x24, + 0x4d, 0x47, 0xcf, 0xec, 0x05, 0xc5, 0xc4, 0x58, 0x3e, 0x0b, 0x0f, 0x5a, + 0x58, 0x31, 0xbb, 0x5a, +}; +static const unsigned char kat2425_addin0[] = { + 0x70, 0x89, 0xce, 0xe3, 0xd8, 0xf6, 0x6c, 0xec, 0xe6, 0xe0, 0x53, 0xf4, + 0x80, 0x16, 0xf1, 0xf9, 0x9d, 0xfc, 0xe7, 0x33, 0x56, 0xa6, 0xbb, 0xf6, + 0xd9, 0x05, 0x86, 0x4e, 0x97, 0x02, 0x9b, 0x4a, 0x93, 0x43, 0x00, 0x86, + 0x28, 0x31, 0x0d, 0xc6, +}; +static const unsigned char kat2425_addin1[] = { + 0x12, 0x35, 0xd6, 0xfe, 0xbe, 0xc6, 0x6d, 0xea, 0x03, 0xe4, 0x44, 0x19, + 0x5d, 0xe5, 0x4a, 0x42, 0x94, 0x83, 0x5d, 0x7a, 0x23, 0x13, 0xf8, 0xfd, + 0x1f, 0xc8, 0x4d, 0xde, 0x0e, 0x07, 0x46, 0x75, 0x03, 0x35, 0x92, 0xd8, + 0x21, 0xa9, 0x9f, 0x68, +}; +static const unsigned char kat2425_retbits[] = { + 0x47, 0x49, 0xc7, 0x41, 0x5b, 0xd5, 0x8e, 0x7a, 0x21, 0x19, 0xf5, 0x0c, + 0xfd, 0x67, 0x3e, 0x73, 0x89, 0x86, 0xe4, 0x1e, 0x4e, 0x9b, 0x38, 0xc4, + 0x33, 0x76, 0x6e, 0x4a, 0xa1, 0xe8, 0x69, 0x4e, 0x7b, 0x93, 0x72, 0x83, + 0x2d, 0x8e, 0x70, 0x12, 0x1d, 0x99, 0x9e, 0x8b, 0xd0, 0x93, 0x7b, 0x79, + 0xe4, 0x88, 0xda, 0xf1, 0x87, 0x3e, 0xb8, 0xfa, 0xfa, 0x16, 0xb9, 0x34, + 0x57, 0x48, 0xf5, 0x51, +}; +static const struct drbg_kat_pr_false kat2425_t = { + 9, kat2425_entropyin, kat2425_nonce, kat2425_persstr, + kat2425_entropyinreseed, kat2425_addinreseed, kat2425_addin0, + kat2425_addin1, kat2425_retbits +}; +static const struct drbg_kat kat2425 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2425_t +}; + +static const unsigned char kat2426_entropyin[] = { + 0xe0, 0xb9, 0xb4, 0x8e, 0xdf, 0x87, 0x3e, 0xbc, 0xb6, 0x46, 0xb0, 0x90, + 0xec, 0xc9, 0xc6, 0xd7, 0xb1, 0xf4, 0xa5, 0xe8, 0x7c, 0x0b, 0x25, 0x70, + 0xf7, 0xec, 0xc4, 0x59, 0xab, 0xa8, 0x55, 0x23, 0xde, 0xd2, 0x04, 0xf5, + 0xfe, 0xc8, 0xd2, 0x7a, +}; +static const unsigned char kat2426_nonce[] = {0}; +static const unsigned char kat2426_persstr[] = {0}; +static const unsigned char kat2426_entropyinreseed[] = { + 0x21, 0x31, 0x81, 0xaf, 0x9f, 0x4b, 0x08, 0x90, 0x8e, 0x08, 0xb5, 0x4a, + 0xbb, 0x5d, 0xb0, 0x9d, 0xa6, 0x76, 0x08, 0x78, 0x93, 0x79, 0x78, 0x8e, + 0xf4, 0xc3, 0xd9, 0x6c, 0xca, 0x41, 0xdb, 0x9e, 0x5e, 0x3c, 0x42, 0x56, + 0x90, 0x3d, 0x68, 0x62, +}; +static const unsigned char kat2426_addinreseed[] = { + 0xd6, 0x66, 0xd0, 0x14, 0x21, 0x53, 0xd4, 0xbc, 0x3b, 0x50, 0x8e, 0x5c, + 0x15, 0x5e, 0x84, 0x03, 0x76, 0xa6, 0xc6, 0xec, 0x3c, 0xf5, 0x45, 0x3c, + 0x38, 0xcc, 0x70, 0x31, 0xab, 0xd0, 0x01, 0x41, 0x4f, 0x6f, 0xf5, 0x56, + 0x75, 0xac, 0x3a, 0x26, +}; +static const unsigned char kat2426_addin0[] = { + 0xe2, 0x82, 0x22, 0x30, 0xe1, 0x0c, 0x94, 0x11, 0x28, 0x16, 0x67, 0xab, + 0xad, 0x67, 0x7d, 0xd7, 0x0b, 0xbc, 0xf8, 0x14, 0xc3, 0x4e, 0x0e, 0x8f, + 0x19, 0x00, 0xdf, 0x78, 0x78, 0xc8, 0x7c, 0xe6, 0x30, 0x63, 0x88, 0x1d, + 0xca, 0x1d, 0xe1, 0x3e, +}; +static const unsigned char kat2426_addin1[] = { + 0xf8, 0x50, 0x6b, 0xfb, 0x85, 0xf0, 0xc8, 0x9c, 0x3c, 0x60, 0x98, 0x92, + 0xe7, 0xe9, 0xb7, 0x43, 0x16, 0xbb, 0xc2, 0x6d, 0x05, 0x8c, 0x80, 0x25, + 0xdb, 0xa9, 0xa6, 0x96, 0x79, 0xcc, 0x55, 0x09, 0x0e, 0x27, 0x05, 0x14, + 0xa0, 0x65, 0xa5, 0x51, +}; +static const unsigned char kat2426_retbits[] = { + 0x25, 0xa4, 0x6b, 0xdd, 0xfa, 0x9a, 0xa7, 0x96, 0x8c, 0x80, 0xc2, 0x03, + 0x5d, 0x9a, 0xd6, 0x41, 0xec, 0x1b, 0x98, 0xc5, 0x51, 0xf3, 0xd0, 0xbb, + 0x0b, 0x57, 0x6c, 0xec, 0x9d, 0xc6, 0x3e, 0x28, 0xff, 0xd0, 0xd0, 0x8a, + 0x15, 0x39, 0xcf, 0x00, 0x52, 0x32, 0xd4, 0x20, 0xd6, 0xea, 0x0e, 0x50, + 0x21, 0x41, 0xf4, 0xa7, 0x30, 0x63, 0x6f, 0x41, 0xea, 0x84, 0x4e, 0xa0, + 0xdc, 0x42, 0x31, 0xee, +}; +static const struct drbg_kat_pr_false kat2426_t = { + 10, kat2426_entropyin, kat2426_nonce, kat2426_persstr, + kat2426_entropyinreseed, kat2426_addinreseed, kat2426_addin0, + kat2426_addin1, kat2426_retbits +}; +static const struct drbg_kat kat2426 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2426_t +}; + +static const unsigned char kat2427_entropyin[] = { + 0xf4, 0x0c, 0x54, 0x6e, 0x81, 0xce, 0x4b, 0x2c, 0xe6, 0x87, 0xce, 0x85, + 0x75, 0x9c, 0xab, 0xf3, 0x6f, 0xd4, 0xb9, 0x0f, 0x67, 0x76, 0x8c, 0x99, + 0xe1, 0x8a, 0x52, 0x5d, 0x3d, 0x11, 0xc3, 0xd8, 0x6d, 0x1d, 0xb8, 0xcb, + 0x49, 0xcc, 0x88, 0x1d, +}; +static const unsigned char kat2427_nonce[] = {0}; +static const unsigned char kat2427_persstr[] = {0}; +static const unsigned char kat2427_entropyinreseed[] = { + 0xe8, 0xcc, 0x4f, 0x31, 0x80, 0x90, 0x4b, 0x3d, 0x06, 0x16, 0x8c, 0xb7, + 0xd4, 0x7b, 0x21, 0x25, 0x2a, 0xcc, 0x72, 0x89, 0x92, 0x63, 0xae, 0xe1, + 0x94, 0x6b, 0x37, 0xb9, 0xb5, 0x46, 0x62, 0x8f, 0x1f, 0x18, 0x26, 0x30, + 0x72, 0x6d, 0x61, 0x62, +}; +static const unsigned char kat2427_addinreseed[] = { + 0x75, 0x3e, 0x59, 0xea, 0x01, 0x00, 0xb5, 0x1a, 0x1f, 0x01, 0x3a, 0x6f, + 0x0d, 0x91, 0x83, 0xe8, 0xd5, 0x4e, 0xdd, 0x44, 0x8e, 0x93, 0xb5, 0x18, + 0xa7, 0x0d, 0xcc, 0x7b, 0x32, 0x8e, 0x64, 0xe1, 0x14, 0xbe, 0x5b, 0xfb, + 0x1f, 0xb2, 0x91, 0x74, +}; +static const unsigned char kat2427_addin0[] = { + 0x36, 0x75, 0xa8, 0x64, 0x1a, 0x09, 0x0d, 0x66, 0x5e, 0xcd, 0x6a, 0xb5, + 0x50, 0x8b, 0xd6, 0x52, 0x40, 0xf3, 0xa2, 0xc8, 0x28, 0xda, 0x70, 0x1e, + 0x1e, 0x59, 0x07, 0xfb, 0xb5, 0x9b, 0x8d, 0x6f, 0xad, 0xca, 0x7a, 0xef, + 0x53, 0xe8, 0x9e, 0xe8, +}; +static const unsigned char kat2427_addin1[] = { + 0x8a, 0xaf, 0x08, 0xb0, 0xca, 0x7e, 0x9d, 0x02, 0x8f, 0x83, 0x0e, 0x45, + 0x74, 0x99, 0x10, 0x93, 0xf9, 0xff, 0x0c, 0xae, 0xbf, 0x89, 0x0b, 0xb8, + 0xc0, 0x0f, 0x2f, 0x18, 0x1f, 0x35, 0x42, 0xd1, 0x84, 0x23, 0xa2, 0xe6, + 0x21, 0x79, 0x36, 0x1d, +}; +static const unsigned char kat2427_retbits[] = { + 0x98, 0xf6, 0xf5, 0x35, 0x9b, 0x55, 0xe8, 0xad, 0x37, 0xf7, 0x4c, 0x23, + 0x36, 0x34, 0x32, 0x97, 0xb9, 0xbc, 0x01, 0xbe, 0xe4, 0xe8, 0xf9, 0x8a, + 0x10, 0xa1, 0xe8, 0x6d, 0x56, 0x29, 0x90, 0xdf, 0xd1, 0xb3, 0xa6, 0x59, + 0x19, 0x8b, 0x2b, 0xf2, 0x61, 0x55, 0x13, 0x0c, 0x15, 0xa6, 0x83, 0xe0, + 0xd5, 0xf1, 0xec, 0xfb, 0xdc, 0x9f, 0xbf, 0x91, 0xe1, 0xbe, 0xc1, 0xd9, + 0x00, 0xf3, 0x06, 0x64, +}; +static const struct drbg_kat_pr_false kat2427_t = { + 11, kat2427_entropyin, kat2427_nonce, kat2427_persstr, + kat2427_entropyinreseed, kat2427_addinreseed, kat2427_addin0, + kat2427_addin1, kat2427_retbits +}; +static const struct drbg_kat kat2427 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2427_t +}; + +static const unsigned char kat2428_entropyin[] = { + 0x8e, 0xf1, 0x2c, 0x3e, 0x89, 0xa2, 0xcd, 0x21, 0xb3, 0xb1, 0x9b, 0x7e, + 0x38, 0xbd, 0x59, 0xd5, 0x22, 0x26, 0x12, 0xe9, 0xf7, 0xe3, 0x31, 0x3c, + 0x85, 0x3b, 0xaa, 0x89, 0x15, 0x75, 0xc8, 0x40, 0x77, 0xd0, 0x1f, 0x5e, + 0x37, 0x14, 0xcf, 0x2c, +}; +static const unsigned char kat2428_nonce[] = {0}; +static const unsigned char kat2428_persstr[] = {0}; +static const unsigned char kat2428_entropyinreseed[] = { + 0x47, 0x04, 0x70, 0x5b, 0x43, 0xda, 0x7b, 0x66, 0x8a, 0xe1, 0x86, 0x5d, + 0x42, 0x1f, 0x6d, 0xe2, 0xc0, 0x54, 0xc6, 0x98, 0x8f, 0x93, 0xd9, 0xf1, + 0xce, 0x1f, 0x31, 0x42, 0x34, 0x7f, 0x20, 0xb5, 0xf4, 0x07, 0x70, 0x5e, + 0x76, 0x5d, 0xa4, 0x49, +}; +static const unsigned char kat2428_addinreseed[] = { + 0x6f, 0x6a, 0x2f, 0xa0, 0xb3, 0x25, 0xe8, 0x54, 0xf3, 0x3e, 0xb7, 0xb2, + 0xe3, 0x03, 0xce, 0x24, 0x96, 0x7c, 0xbe, 0x21, 0x81, 0x2a, 0x7a, 0x24, + 0x48, 0x53, 0x47, 0xa0, 0xb4, 0xda, 0x15, 0x9b, 0xee, 0xfe, 0x03, 0x9a, + 0xbb, 0x25, 0xd8, 0x21, +}; +static const unsigned char kat2428_addin0[] = { + 0xdf, 0xa6, 0x57, 0x09, 0xea, 0xc6, 0xdc, 0xd7, 0xd8, 0xce, 0x09, 0x64, + 0x6b, 0x78, 0xf1, 0xe2, 0x77, 0xfd, 0xe9, 0xfe, 0xaf, 0x52, 0xec, 0x3d, + 0x19, 0x48, 0x42, 0xe3, 0xe4, 0x17, 0x4e, 0x79, 0x03, 0x8a, 0xe1, 0x4b, + 0xab, 0x65, 0x12, 0x12, +}; +static const unsigned char kat2428_addin1[] = { + 0x58, 0xe8, 0x2a, 0xf1, 0xb8, 0x94, 0x74, 0x38, 0xdb, 0x11, 0xd1, 0x3e, + 0x43, 0x6d, 0x4a, 0xfc, 0x51, 0x96, 0x7e, 0x30, 0x34, 0x26, 0x51, 0x5f, + 0x4f, 0xf8, 0xf0, 0x44, 0x80, 0x83, 0xf9, 0xc7, 0x28, 0xdd, 0x5b, 0x17, + 0x14, 0x05, 0x90, 0x7b, +}; +static const unsigned char kat2428_retbits[] = { + 0xec, 0x66, 0x19, 0x4d, 0x98, 0xcd, 0x6b, 0x1c, 0x6e, 0x3e, 0xd6, 0xbd, + 0x5b, 0x83, 0xc2, 0x66, 0x4f, 0x87, 0x5f, 0x2a, 0x08, 0xeb, 0xc6, 0xb9, + 0x5e, 0x1c, 0x8f, 0xd0, 0xbd, 0x50, 0x76, 0x5e, 0xd1, 0x31, 0x5e, 0x32, + 0x9b, 0x35, 0x65, 0x57, 0x65, 0xbb, 0x70, 0x81, 0x57, 0x63, 0x90, 0xb6, + 0x4d, 0x52, 0xb1, 0xc2, 0x47, 0x62, 0xfe, 0x7d, 0x65, 0xe4, 0xa8, 0x13, + 0x31, 0xcd, 0x61, 0x0a, +}; +static const struct drbg_kat_pr_false kat2428_t = { + 12, kat2428_entropyin, kat2428_nonce, kat2428_persstr, + kat2428_entropyinreseed, kat2428_addinreseed, kat2428_addin0, + kat2428_addin1, kat2428_retbits +}; +static const struct drbg_kat kat2428 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2428_t +}; + +static const unsigned char kat2429_entropyin[] = { + 0x9d, 0xdc, 0x93, 0x1b, 0x65, 0x1d, 0x3a, 0xc5, 0x7d, 0xcb, 0x00, 0xdc, + 0xc3, 0xb4, 0xb0, 0x64, 0xdf, 0xff, 0xf4, 0x7e, 0xe2, 0x35, 0xee, 0x06, + 0xf6, 0x29, 0xfc, 0x11, 0x6d, 0xd1, 0x56, 0xe4, 0x5e, 0xf7, 0x21, 0x89, + 0x85, 0x86, 0xfb, 0xa4, +}; +static const unsigned char kat2429_nonce[] = {0}; +static const unsigned char kat2429_persstr[] = {0}; +static const unsigned char kat2429_entropyinreseed[] = { + 0x45, 0x97, 0xdc, 0x09, 0x5c, 0x24, 0x34, 0x92, 0x97, 0x7a, 0x6c, 0x84, + 0xd3, 0x56, 0xeb, 0x67, 0x5d, 0xd6, 0xae, 0x97, 0xbc, 0x96, 0xac, 0x8d, + 0x93, 0x93, 0x3a, 0xaf, 0x91, 0x4d, 0xe1, 0xe4, 0x23, 0xce, 0x92, 0x37, + 0x28, 0x49, 0xbc, 0xfb, +}; +static const unsigned char kat2429_addinreseed[] = { + 0x66, 0x52, 0x5b, 0x69, 0x09, 0x2c, 0x0a, 0x89, 0xbf, 0x4e, 0xe6, 0xfb, + 0xcc, 0xc3, 0x18, 0x53, 0x42, 0x10, 0x21, 0xdb, 0xfd, 0xed, 0x18, 0xdf, + 0xfc, 0xef, 0x91, 0x9c, 0xc1, 0x4f, 0x4d, 0x7f, 0xd6, 0x5c, 0x25, 0xec, + 0xd3, 0x6f, 0xea, 0xb0, +}; +static const unsigned char kat2429_addin0[] = { + 0x79, 0x84, 0x10, 0x30, 0xcf, 0x70, 0x46, 0x8a, 0x49, 0x1e, 0x44, 0x63, + 0xd7, 0x14, 0x22, 0x67, 0x81, 0xa2, 0x7a, 0x26, 0x35, 0xa4, 0x9a, 0x29, + 0x38, 0x6d, 0xd6, 0xdb, 0xd3, 0x6c, 0x9a, 0x5d, 0x82, 0xf0, 0x47, 0x27, + 0x0b, 0xff, 0x29, 0xc1, +}; +static const unsigned char kat2429_addin1[] = { + 0xac, 0x63, 0xf1, 0x7c, 0x8c, 0x46, 0xe0, 0x99, 0x6d, 0xc6, 0x96, 0x16, + 0x1c, 0x35, 0x9d, 0x40, 0x52, 0x32, 0x07, 0x77, 0xfc, 0x7b, 0xae, 0x0a, + 0xfb, 0x45, 0x6b, 0xcf, 0x9c, 0x8d, 0xba, 0xd6, 0xab, 0x10, 0xd4, 0x09, + 0x48, 0xf7, 0xcc, 0xf8, +}; +static const unsigned char kat2429_retbits[] = { + 0xbf, 0xaf, 0x22, 0x73, 0xf8, 0x29, 0x61, 0xa9, 0x20, 0x51, 0x4c, 0xda, + 0x2d, 0x48, 0x6c, 0x9d, 0xed, 0x31, 0x28, 0x78, 0xcf, 0x8a, 0x5c, 0x7c, + 0x8d, 0x65, 0x39, 0xf3, 0x34, 0x15, 0xa0, 0xa0, 0x2a, 0xa7, 0x90, 0x7c, + 0x35, 0xa5, 0x76, 0x28, 0x76, 0x5b, 0x46, 0xe1, 0x4b, 0xaf, 0xbe, 0xf2, + 0xfc, 0xb3, 0x04, 0x76, 0xe1, 0x61, 0xe1, 0xef, 0xa8, 0x7f, 0x4c, 0x5d, + 0x7f, 0xee, 0x66, 0x75, +}; +static const struct drbg_kat_pr_false kat2429_t = { + 13, kat2429_entropyin, kat2429_nonce, kat2429_persstr, + kat2429_entropyinreseed, kat2429_addinreseed, kat2429_addin0, + kat2429_addin1, kat2429_retbits +}; +static const struct drbg_kat kat2429 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2429_t +}; + +static const unsigned char kat2430_entropyin[] = { + 0x15, 0xcf, 0xa0, 0xf5, 0x6d, 0x67, 0x0d, 0x19, 0x97, 0x9d, 0xd5, 0x62, + 0xf9, 0xf5, 0x3d, 0x6f, 0xa2, 0x48, 0x19, 0x82, 0x69, 0x47, 0x50, 0x02, + 0xdd, 0x9e, 0x6b, 0xb5, 0xc3, 0x05, 0xbf, 0x65, 0x02, 0x26, 0x09, 0x30, + 0x32, 0xe0, 0xe0, 0xac, +}; +static const unsigned char kat2430_nonce[] = {0}; +static const unsigned char kat2430_persstr[] = {0}; +static const unsigned char kat2430_entropyinreseed[] = { + 0x47, 0x78, 0x2a, 0xf4, 0xe2, 0x13, 0x30, 0x29, 0x32, 0xd5, 0x2b, 0x57, + 0x76, 0xee, 0x84, 0x74, 0x46, 0xbf, 0xb6, 0xda, 0xc3, 0x58, 0xda, 0xfc, + 0xda, 0xde, 0xbf, 0xf1, 0x2e, 0x01, 0x4e, 0x01, 0xd5, 0xc1, 0x8d, 0x5c, + 0xf2, 0xd4, 0x2b, 0x11, +}; +static const unsigned char kat2430_addinreseed[] = { + 0xf6, 0x9d, 0x8d, 0xa6, 0x8b, 0xb7, 0xc1, 0x18, 0xaa, 0xb8, 0xa2, 0x78, + 0x67, 0xa0, 0x59, 0x1f, 0x7c, 0x39, 0x73, 0x55, 0x0d, 0x3b, 0xec, 0x19, + 0x09, 0x9d, 0x46, 0xd3, 0xab, 0xc3, 0x0a, 0x30, 0x9b, 0x40, 0x5e, 0x51, + 0xa9, 0x2d, 0x1c, 0x2a, +}; +static const unsigned char kat2430_addin0[] = { + 0xa4, 0x91, 0xfa, 0x45, 0xd1, 0x61, 0xef, 0xa7, 0x1c, 0xcd, 0xb4, 0x05, + 0xd6, 0xef, 0x31, 0x53, 0x70, 0x0b, 0x28, 0x96, 0x65, 0x82, 0xe1, 0x05, + 0x2c, 0xea, 0x99, 0x22, 0x18, 0xe5, 0xc0, 0x61, 0xd7, 0xdd, 0xb0, 0x83, + 0xf7, 0xea, 0xa1, 0x16, +}; +static const unsigned char kat2430_addin1[] = { + 0x4a, 0x0c, 0xd5, 0x2d, 0x00, 0x50, 0x56, 0xdf, 0x60, 0x80, 0x3f, 0xb3, + 0x53, 0x72, 0x8f, 0x3b, 0x3f, 0xd2, 0x79, 0x64, 0xe5, 0xc9, 0x69, 0x65, + 0xac, 0x47, 0x2f, 0xf8, 0xbb, 0x4d, 0xed, 0xc4, 0xdd, 0x7d, 0x1c, 0xa0, + 0x4b, 0x12, 0x4f, 0x0a, +}; +static const unsigned char kat2430_retbits[] = { + 0x0f, 0x78, 0xe4, 0x5b, 0xe3, 0x8a, 0x6a, 0x46, 0xc2, 0x91, 0x44, 0x49, + 0xbe, 0xb9, 0xdf, 0x52, 0x39, 0x40, 0x67, 0xb7, 0x20, 0xf3, 0x90, 0x22, + 0x5f, 0x93, 0x0c, 0x33, 0x13, 0x91, 0x6f, 0x00, 0x29, 0x3c, 0x7f, 0x7f, + 0x17, 0x3c, 0xd8, 0x9d, 0x2c, 0x30, 0xc7, 0x2b, 0xc0, 0x74, 0x82, 0xf0, + 0x66, 0x70, 0x8b, 0xda, 0x7a, 0x29, 0xaf, 0x42, 0x04, 0x90, 0x82, 0x1c, + 0x98, 0xc9, 0x95, 0xf4, +}; +static const struct drbg_kat_pr_false kat2430_t = { + 14, kat2430_entropyin, kat2430_nonce, kat2430_persstr, + kat2430_entropyinreseed, kat2430_addinreseed, kat2430_addin0, + kat2430_addin1, kat2430_retbits +}; +static const struct drbg_kat kat2430 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2430_t +}; + +static const unsigned char kat2431_entropyin[] = { + 0xe0, 0xe0, 0x3d, 0x4a, 0x9e, 0x4d, 0xe3, 0x62, 0xe6, 0xbb, 0x9b, 0xa6, + 0x35, 0xb8, 0x47, 0x91, 0x2a, 0x3f, 0x9e, 0x1d, 0x83, 0xb4, 0x36, 0x3f, + 0xc2, 0x58, 0xcd, 0xea, 0x29, 0x28, 0xa8, 0x78, 0x23, 0x18, 0x6f, 0x1c, + 0x47, 0xc4, 0x17, 0x5f, +}; +static const unsigned char kat2431_nonce[] = {0}; +static const unsigned char kat2431_persstr[] = { + 0x2e, 0xca, 0x97, 0x47, 0x8d, 0x60, 0x6b, 0x0b, 0xca, 0x56, 0xf0, 0x55, + 0xa1, 0xe8, 0x39, 0x4b, 0x44, 0xf5, 0xe3, 0x02, 0x8d, 0xa5, 0x9a, 0x39, + 0x00, 0xd5, 0xd7, 0xbd, 0x34, 0x1b, 0x06, 0x21, 0xb5, 0xf6, 0xd2, 0x30, + 0x9e, 0x36, 0xb4, 0xae, +}; +static const unsigned char kat2431_entropyinreseed[] = { + 0x66, 0xaa, 0x3d, 0xb4, 0xbe, 0xa8, 0xf2, 0xe1, 0xb2, 0x46, 0x97, 0x51, + 0x57, 0x8f, 0x24, 0xf1, 0xb4, 0xd0, 0xdf, 0x97, 0x1c, 0xf2, 0x28, 0x17, + 0x12, 0x14, 0x98, 0x12, 0xc2, 0x0e, 0x80, 0x4b, 0x90, 0xf3, 0xaa, 0xc1, + 0x2d, 0x7c, 0x98, 0x32, +}; +static const unsigned char kat2431_addinreseed[] = {0}; +static const unsigned char kat2431_addin0[] = {0}; +static const unsigned char kat2431_addin1[] = {0}; +static const unsigned char kat2431_retbits[] = { + 0x0e, 0x02, 0xf3, 0x44, 0xb1, 0x15, 0x9c, 0xcd, 0x77, 0x95, 0x97, 0x4e, + 0x7b, 0xb9, 0xdf, 0x9e, 0x8c, 0xc3, 0x81, 0xa1, 0x30, 0xb9, 0x8b, 0x43, + 0x46, 0x22, 0x85, 0xfe, 0x3e, 0xd8, 0x58, 0x78, 0x11, 0xab, 0xde, 0xf4, + 0x71, 0xbb, 0xcf, 0xe8, 0x30, 0xe5, 0x16, 0xb7, 0x8f, 0x78, 0x1a, 0x05, + 0xb5, 0x2e, 0x44, 0xd5, 0x41, 0x22, 0x77, 0x50, 0x84, 0x17, 0x0f, 0xf6, + 0xd8, 0x06, 0x27, 0xe9, +}; +static const struct drbg_kat_pr_false kat2431_t = { + 0, kat2431_entropyin, kat2431_nonce, kat2431_persstr, + kat2431_entropyinreseed, kat2431_addinreseed, kat2431_addin0, + kat2431_addin1, kat2431_retbits +}; +static const struct drbg_kat kat2431 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2431_t +}; + +static const unsigned char kat2432_entropyin[] = { + 0x7a, 0x6c, 0x5d, 0x42, 0x8c, 0x1f, 0x0a, 0xd5, 0x7a, 0x82, 0xfd, 0xb8, + 0xe9, 0xfd, 0x39, 0x5c, 0x84, 0x4a, 0x8b, 0xe5, 0x6d, 0x55, 0x42, 0xe9, + 0x17, 0x10, 0x17, 0xf0, 0x72, 0x8f, 0xcb, 0x0c, 0x15, 0xc0, 0xd9, 0x92, + 0x1a, 0x63, 0x88, 0x42, +}; +static const unsigned char kat2432_nonce[] = {0}; +static const unsigned char kat2432_persstr[] = { + 0x33, 0x38, 0x90, 0x56, 0x63, 0x7f, 0xfb, 0xaf, 0x97, 0xf1, 0x16, 0x1c, + 0x8d, 0xbc, 0x33, 0xe3, 0x8a, 0x5c, 0xc5, 0x23, 0x3c, 0x79, 0x8f, 0x35, + 0x8e, 0xdb, 0x76, 0xcd, 0xa0, 0x8b, 0x99, 0x4e, 0x70, 0xce, 0x95, 0x95, + 0x50, 0x85, 0xe0, 0xb4, +}; +static const unsigned char kat2432_entropyinreseed[] = { + 0xb6, 0xea, 0x69, 0xb1, 0x1d, 0xe0, 0x86, 0x00, 0x31, 0x2b, 0xab, 0xe8, + 0x84, 0x57, 0xc4, 0x4b, 0xcc, 0x6e, 0xcb, 0x5a, 0x56, 0xf3, 0xe2, 0x31, + 0x68, 0xdb, 0x00, 0x89, 0xed, 0x2b, 0x04, 0x7a, 0x53, 0x37, 0x88, 0x31, + 0xf4, 0x77, 0x71, 0xef, +}; +static const unsigned char kat2432_addinreseed[] = {0}; +static const unsigned char kat2432_addin0[] = {0}; +static const unsigned char kat2432_addin1[] = {0}; +static const unsigned char kat2432_retbits[] = { + 0xd1, 0xa2, 0x75, 0x21, 0x17, 0x01, 0x71, 0x93, 0x04, 0xe4, 0xa6, 0x5e, + 0x40, 0x91, 0xb1, 0xf3, 0xff, 0x96, 0x96, 0xcc, 0x86, 0x3c, 0x7a, 0xa9, + 0x6d, 0x34, 0x0c, 0x62, 0x76, 0x5b, 0x7a, 0x22, 0x45, 0xc1, 0x9a, 0x12, + 0x0c, 0x98, 0x8d, 0x40, 0x68, 0x40, 0xc0, 0x83, 0x92, 0x74, 0xd8, 0x9a, + 0xb8, 0xd6, 0x82, 0x0f, 0x85, 0xe9, 0xb3, 0xb4, 0xdc, 0xb9, 0x7d, 0x28, + 0xeb, 0x58, 0x95, 0x93, +}; +static const struct drbg_kat_pr_false kat2432_t = { + 1, kat2432_entropyin, kat2432_nonce, kat2432_persstr, + kat2432_entropyinreseed, kat2432_addinreseed, kat2432_addin0, + kat2432_addin1, kat2432_retbits +}; +static const struct drbg_kat kat2432 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2432_t +}; + +static const unsigned char kat2433_entropyin[] = { + 0xc7, 0x54, 0x7c, 0xd2, 0x18, 0x0f, 0x8a, 0xbf, 0x45, 0x52, 0x9a, 0xef, + 0x85, 0x7b, 0x48, 0xf5, 0x94, 0x5c, 0x93, 0xed, 0xd9, 0xc1, 0xb3, 0xad, + 0x11, 0xf3, 0xca, 0x39, 0x05, 0x1a, 0x40, 0x1a, 0xb1, 0xdc, 0xc2, 0xde, + 0x69, 0xb9, 0x9f, 0xb2, +}; +static const unsigned char kat2433_nonce[] = {0}; +static const unsigned char kat2433_persstr[] = { + 0x73, 0x55, 0x7f, 0xb6, 0xe0, 0xbb, 0xe7, 0x8a, 0x02, 0x8e, 0x81, 0x24, + 0x98, 0x92, 0x4e, 0x52, 0x01, 0x37, 0x62, 0x4f, 0x58, 0xfb, 0x2a, 0xd2, + 0x96, 0xb7, 0x14, 0x50, 0xd5, 0x6a, 0x76, 0x0c, 0xae, 0x67, 0x46, 0x16, + 0x2f, 0x2a, 0x64, 0xb3, +}; +static const unsigned char kat2433_entropyinreseed[] = { + 0x80, 0x12, 0x2c, 0x1f, 0x55, 0x52, 0x94, 0x9f, 0x19, 0x7c, 0xd9, 0x2b, + 0x8a, 0xf0, 0x57, 0x9a, 0x73, 0xf7, 0xd5, 0xcc, 0x1e, 0xaa, 0xc9, 0x7a, + 0xcb, 0xd8, 0xfb, 0xf2, 0x8d, 0xf1, 0x2f, 0x10, 0xa9, 0x15, 0x46, 0xa2, + 0xc3, 0xfe, 0x8f, 0x7a, +}; +static const unsigned char kat2433_addinreseed[] = {0}; +static const unsigned char kat2433_addin0[] = {0}; +static const unsigned char kat2433_addin1[] = {0}; +static const unsigned char kat2433_retbits[] = { + 0x8e, 0x68, 0x0e, 0x9f, 0xe7, 0x5f, 0x83, 0xc1, 0x1d, 0x40, 0x30, 0x2b, + 0x96, 0x57, 0x27, 0xb3, 0x71, 0x4c, 0x8f, 0x0e, 0xe1, 0xa2, 0x2c, 0xae, + 0x74, 0x14, 0xeb, 0x05, 0x36, 0x31, 0xa7, 0x70, 0x9b, 0x3b, 0xe2, 0xf6, + 0xac, 0xe6, 0x23, 0x45, 0x4a, 0x44, 0x99, 0x86, 0x7a, 0x3d, 0x86, 0xd3, + 0x20, 0x9a, 0x3c, 0x2a, 0x12, 0x8e, 0xa4, 0x85, 0x1c, 0xb0, 0x81, 0x67, + 0x74, 0xdc, 0x15, 0x8e, +}; +static const struct drbg_kat_pr_false kat2433_t = { + 2, kat2433_entropyin, kat2433_nonce, kat2433_persstr, + kat2433_entropyinreseed, kat2433_addinreseed, kat2433_addin0, + kat2433_addin1, kat2433_retbits +}; +static const struct drbg_kat kat2433 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2433_t +}; + +static const unsigned char kat2434_entropyin[] = { + 0xe6, 0x42, 0x8c, 0x4d, 0xc3, 0xd9, 0xa5, 0xf5, 0xa2, 0xbb, 0x9a, 0x74, + 0x9f, 0x14, 0xcf, 0x57, 0x3d, 0xa8, 0x05, 0x83, 0xaf, 0x8b, 0x9a, 0xa1, + 0x4a, 0x78, 0x83, 0x98, 0x8c, 0x9f, 0x20, 0x18, 0xa3, 0xeb, 0x9e, 0x3d, + 0xed, 0x91, 0xa0, 0x22, +}; +static const unsigned char kat2434_nonce[] = {0}; +static const unsigned char kat2434_persstr[] = { + 0x9e, 0x5c, 0x06, 0xb5, 0xce, 0x45, 0xcd, 0xa9, 0xf2, 0xb2, 0xa7, 0x97, + 0x75, 0x56, 0xe6, 0xb3, 0x9f, 0x0c, 0xed, 0x58, 0xce, 0x6c, 0x28, 0xd8, + 0xd9, 0x9d, 0xba, 0x45, 0x83, 0xc3, 0x5d, 0x78, 0x37, 0x1f, 0xcf, 0x60, + 0x85, 0x70, 0x35, 0xe9, +}; +static const unsigned char kat2434_entropyinreseed[] = { + 0xcb, 0x6a, 0xf3, 0x4e, 0x70, 0xb3, 0x80, 0xe0, 0x5e, 0xb4, 0x39, 0xc1, + 0x2a, 0x73, 0x3c, 0x00, 0x70, 0xf1, 0x79, 0x71, 0x81, 0x6f, 0xfd, 0x2c, + 0x95, 0x9d, 0x9d, 0x37, 0x6c, 0x4b, 0x49, 0x38, 0x27, 0xcf, 0xda, 0x84, + 0xd4, 0xbe, 0xe4, 0xd4, +}; +static const unsigned char kat2434_addinreseed[] = {0}; +static const unsigned char kat2434_addin0[] = {0}; +static const unsigned char kat2434_addin1[] = {0}; +static const unsigned char kat2434_retbits[] = { + 0x5d, 0xf4, 0x40, 0xba, 0x57, 0x8f, 0x1e, 0xaa, 0x1e, 0x91, 0xd0, 0x48, + 0x26, 0xc3, 0x3e, 0xcd, 0x33, 0xd4, 0xf6, 0x95, 0x5d, 0x87, 0x09, 0x29, + 0x01, 0x69, 0x8d, 0x98, 0x72, 0xfc, 0xc2, 0xf4, 0x97, 0x9c, 0xaa, 0xd3, + 0x6b, 0x2d, 0x5f, 0x04, 0xcf, 0x18, 0xe0, 0xd1, 0xa4, 0x27, 0x49, 0xd2, + 0xce, 0xdd, 0xb5, 0x75, 0xb0, 0x08, 0xdd, 0xd9, 0xc1, 0x9e, 0xab, 0x86, + 0xe0, 0xd6, 0x99, 0x23, +}; +static const struct drbg_kat_pr_false kat2434_t = { + 3, kat2434_entropyin, kat2434_nonce, kat2434_persstr, + kat2434_entropyinreseed, kat2434_addinreseed, kat2434_addin0, + kat2434_addin1, kat2434_retbits +}; +static const struct drbg_kat kat2434 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2434_t +}; + +static const unsigned char kat2435_entropyin[] = { + 0xfe, 0x8a, 0x4e, 0x18, 0xb6, 0xe8, 0xa5, 0x01, 0xc6, 0x1b, 0xa8, 0xcc, + 0x5d, 0xc0, 0xc5, 0x61, 0xeb, 0xba, 0x8e, 0x7f, 0x91, 0x5b, 0x20, 0x42, + 0x06, 0x0e, 0xd5, 0xf6, 0x13, 0x86, 0x89, 0x4d, 0xef, 0x33, 0x84, 0xd6, + 0xb9, 0x36, 0x9d, 0x9a, +}; +static const unsigned char kat2435_nonce[] = {0}; +static const unsigned char kat2435_persstr[] = { + 0x51, 0x13, 0x95, 0x16, 0x73, 0x5a, 0x78, 0x77, 0xd0, 0x0e, 0x87, 0x4a, + 0x41, 0xb7, 0xef, 0x6a, 0xee, 0x8a, 0xd5, 0x50, 0xc9, 0xd3, 0xad, 0xef, + 0xdf, 0xc6, 0x0c, 0x47, 0xea, 0xb2, 0x7f, 0x3e, 0x6c, 0xbf, 0x9f, 0x25, + 0x38, 0x05, 0xb9, 0x34, +}; +static const unsigned char kat2435_entropyinreseed[] = { + 0xe2, 0x09, 0x2c, 0xba, 0x77, 0xd1, 0x08, 0xdf, 0x45, 0xdd, 0x92, 0x1f, + 0x6b, 0x29, 0x4f, 0x88, 0xcd, 0x25, 0xfe, 0xb7, 0x06, 0x62, 0x45, 0x1a, + 0xa7, 0xc0, 0x1b, 0x76, 0x25, 0xb2, 0x95, 0x60, 0xb2, 0x39, 0xa9, 0xad, + 0x6c, 0xfc, 0xd0, 0x82, +}; +static const unsigned char kat2435_addinreseed[] = {0}; +static const unsigned char kat2435_addin0[] = {0}; +static const unsigned char kat2435_addin1[] = {0}; +static const unsigned char kat2435_retbits[] = { + 0xcd, 0xdb, 0xfe, 0x20, 0x9b, 0xe6, 0x2b, 0x2f, 0xab, 0x1e, 0x79, 0x2f, + 0x50, 0x71, 0xcf, 0xda, 0xf6, 0xc9, 0xb5, 0x49, 0x1d, 0xb2, 0xaf, 0xbe, + 0x97, 0x10, 0xb7, 0x40, 0x6d, 0x64, 0x99, 0x60, 0xf4, 0x1e, 0xe3, 0x85, + 0xd6, 0x5f, 0x50, 0xe7, 0x6a, 0x40, 0x64, 0x4f, 0x66, 0xbe, 0xfb, 0xa8, + 0x83, 0x5c, 0x75, 0xbb, 0xe3, 0x5c, 0x9c, 0xa7, 0xa7, 0x43, 0x8c, 0xf3, + 0x6a, 0x0c, 0x74, 0x00, +}; +static const struct drbg_kat_pr_false kat2435_t = { + 4, kat2435_entropyin, kat2435_nonce, kat2435_persstr, + kat2435_entropyinreseed, kat2435_addinreseed, kat2435_addin0, + kat2435_addin1, kat2435_retbits +}; +static const struct drbg_kat kat2435 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2435_t +}; + +static const unsigned char kat2436_entropyin[] = { + 0xbf, 0x58, 0x5e, 0xfc, 0xf2, 0x28, 0x5a, 0x1a, 0x4f, 0x29, 0xd5, 0x4a, + 0x78, 0xba, 0xb1, 0x35, 0xfb, 0x84, 0xfd, 0x71, 0x6d, 0x4e, 0x76, 0x86, + 0x3a, 0x9b, 0x01, 0x59, 0x2c, 0x89, 0x08, 0xe3, 0x6d, 0x28, 0xf2, 0x8c, + 0xfa, 0x5f, 0x02, 0xe1, +}; +static const unsigned char kat2436_nonce[] = {0}; +static const unsigned char kat2436_persstr[] = { + 0xb3, 0xf0, 0x8b, 0xb0, 0xec, 0x10, 0x06, 0xa0, 0xf9, 0x4b, 0x2c, 0x49, + 0xf2, 0xcf, 0x02, 0x09, 0x73, 0x32, 0x4c, 0x6d, 0xb4, 0xb0, 0xa2, 0x83, + 0xc2, 0xa3, 0xed, 0x39, 0xb9, 0x2e, 0x5f, 0x81, 0x74, 0x3b, 0x77, 0x8c, + 0x52, 0xbf, 0x51, 0xbc, +}; +static const unsigned char kat2436_entropyinreseed[] = { + 0xab, 0xb4, 0x37, 0xfb, 0x42, 0x6c, 0x7d, 0x00, 0xdc, 0x80, 0x2c, 0x1a, + 0x23, 0xb5, 0xa3, 0xf4, 0x1d, 0x0f, 0xd2, 0x2a, 0x98, 0xd3, 0x29, 0xd9, + 0x59, 0xc4, 0xfb, 0x20, 0x5a, 0xb9, 0x8e, 0x40, 0xa8, 0x13, 0x49, 0x7e, + 0xea, 0xa5, 0x28, 0x5e, +}; +static const unsigned char kat2436_addinreseed[] = {0}; +static const unsigned char kat2436_addin0[] = {0}; +static const unsigned char kat2436_addin1[] = {0}; +static const unsigned char kat2436_retbits[] = { + 0xfc, 0xa0, 0x7b, 0xf5, 0xd7, 0x2d, 0x19, 0xe4, 0xab, 0x99, 0xae, 0x02, + 0x03, 0x11, 0x0a, 0x87, 0x1a, 0xf2, 0x79, 0x09, 0xf4, 0x41, 0xd3, 0xe8, + 0x21, 0xd2, 0xdd, 0x8e, 0x57, 0x84, 0x6b, 0x99, 0x3b, 0x35, 0x5c, 0x41, + 0x9d, 0x9c, 0x67, 0x26, 0x3c, 0xa0, 0x7f, 0xd3, 0xb0, 0xa9, 0x8f, 0x68, + 0x17, 0x80, 0x18, 0x73, 0x7e, 0xc2, 0x5d, 0xb1, 0xa3, 0xe7, 0x41, 0xe9, + 0xe9, 0x30, 0x60, 0x6f, +}; +static const struct drbg_kat_pr_false kat2436_t = { + 5, kat2436_entropyin, kat2436_nonce, kat2436_persstr, + kat2436_entropyinreseed, kat2436_addinreseed, kat2436_addin0, + kat2436_addin1, kat2436_retbits +}; +static const struct drbg_kat kat2436 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2436_t +}; + +static const unsigned char kat2437_entropyin[] = { + 0x2e, 0xa3, 0xaf, 0x0f, 0x4b, 0xa3, 0x13, 0xd1, 0xb6, 0xec, 0x7b, 0xae, + 0x3c, 0x4c, 0xa7, 0xba, 0x8d, 0x5f, 0x2e, 0x3f, 0x90, 0xff, 0x10, 0x14, + 0xc9, 0xad, 0x8a, 0x12, 0x25, 0x79, 0x46, 0xc7, 0x99, 0x4c, 0xad, 0x9e, + 0xbb, 0xa6, 0xe0, 0xa3, +}; +static const unsigned char kat2437_nonce[] = {0}; +static const unsigned char kat2437_persstr[] = { + 0xcf, 0xad, 0xd1, 0xab, 0x11, 0x19, 0xec, 0x7d, 0x6e, 0xcd, 0xe0, 0xa3, + 0xa0, 0x06, 0xce, 0xa0, 0x49, 0xb7, 0xd0, 0xff, 0x16, 0x8d, 0x75, 0x44, + 0xe0, 0xb9, 0x2c, 0xb9, 0x13, 0x19, 0x37, 0xb1, 0xc6, 0xcd, 0x54, 0x8c, + 0xaa, 0xa3, 0xd8, 0xeb, +}; +static const unsigned char kat2437_entropyinreseed[] = { + 0x85, 0x60, 0x15, 0x45, 0xda, 0x1d, 0xf4, 0x45, 0x7b, 0x3e, 0x94, 0x71, + 0x10, 0x98, 0xc4, 0xfd, 0xed, 0xc9, 0x92, 0xc2, 0x75, 0xa8, 0x34, 0x9c, + 0x67, 0xc2, 0x0a, 0xee, 0x9f, 0x61, 0x76, 0x2e, 0x38, 0xbc, 0x97, 0x00, + 0x1e, 0x0e, 0x3c, 0xe5, +}; +static const unsigned char kat2437_addinreseed[] = {0}; +static const unsigned char kat2437_addin0[] = {0}; +static const unsigned char kat2437_addin1[] = {0}; +static const unsigned char kat2437_retbits[] = { + 0xdb, 0x70, 0x72, 0xfb, 0x58, 0x7b, 0x7c, 0xf0, 0xa6, 0x48, 0x3e, 0xc9, + 0xe8, 0x0c, 0x6d, 0x6c, 0x82, 0x36, 0xb2, 0x73, 0x33, 0x20, 0x4f, 0xba, + 0x1c, 0x7b, 0x6f, 0x39, 0xc8, 0x38, 0x7d, 0x73, 0x31, 0xa5, 0x47, 0xa0, + 0x00, 0x98, 0xb9, 0x6d, 0x4c, 0x57, 0x8f, 0xb2, 0xdb, 0x25, 0x43, 0x9f, + 0xd2, 0x62, 0xbc, 0x28, 0x00, 0xb8, 0x4a, 0x80, 0x4e, 0x4a, 0xf8, 0x1a, + 0x05, 0x65, 0x11, 0xea, +}; +static const struct drbg_kat_pr_false kat2437_t = { + 6, kat2437_entropyin, kat2437_nonce, kat2437_persstr, + kat2437_entropyinreseed, kat2437_addinreseed, kat2437_addin0, + kat2437_addin1, kat2437_retbits +}; +static const struct drbg_kat kat2437 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2437_t +}; + +static const unsigned char kat2438_entropyin[] = { + 0xa4, 0x85, 0x6d, 0x1f, 0xd4, 0x52, 0x63, 0x3b, 0xd3, 0xc3, 0x4b, 0x9b, + 0xcb, 0x0d, 0x6b, 0x87, 0x28, 0x9a, 0xe7, 0x37, 0x76, 0x70, 0xcd, 0x70, + 0xc0, 0x73, 0x9f, 0x4e, 0x33, 0xe8, 0xe1, 0xd5, 0x5b, 0x5d, 0x3f, 0x5d, + 0x8e, 0x1a, 0x25, 0xd9, +}; +static const unsigned char kat2438_nonce[] = {0}; +static const unsigned char kat2438_persstr[] = { + 0xbb, 0xfa, 0xbe, 0xbe, 0xc8, 0x95, 0xac, 0x0b, 0x3b, 0x0c, 0x23, 0xfe, + 0x2b, 0x21, 0x52, 0x5f, 0x14, 0x0c, 0x26, 0x3a, 0xf5, 0x4b, 0xa6, 0x74, + 0x82, 0xba, 0x3b, 0x20, 0xc7, 0x7e, 0xc1, 0x4a, 0x8e, 0x58, 0x70, 0x13, + 0x1e, 0xd3, 0x95, 0x35, +}; +static const unsigned char kat2438_entropyinreseed[] = { + 0x94, 0xea, 0x81, 0xc8, 0xa7, 0x62, 0x3a, 0x7b, 0xc2, 0x0f, 0x9d, 0x57, + 0xc6, 0xf5, 0xa4, 0x14, 0xe3, 0xac, 0x58, 0x8b, 0xcf, 0x1b, 0xa9, 0xdc, + 0x48, 0x43, 0x14, 0xfd, 0xa7, 0x8b, 0x23, 0xb1, 0x92, 0xbc, 0x2e, 0x82, + 0x5f, 0xdb, 0xca, 0xdd, +}; +static const unsigned char kat2438_addinreseed[] = {0}; +static const unsigned char kat2438_addin0[] = {0}; +static const unsigned char kat2438_addin1[] = {0}; +static const unsigned char kat2438_retbits[] = { + 0x0c, 0x87, 0xb0, 0x59, 0x08, 0x83, 0x3c, 0xfa, 0xe5, 0x62, 0xdb, 0x9b, + 0xf9, 0x90, 0x75, 0xa2, 0xfb, 0xbd, 0x10, 0xae, 0xe3, 0xee, 0x18, 0xe8, + 0x70, 0x47, 0x1b, 0xfa, 0x9b, 0x48, 0xac, 0x3b, 0xd9, 0x5a, 0xcf, 0x7a, + 0xb3, 0x03, 0x7a, 0x8a, 0x7b, 0x6a, 0x69, 0x01, 0xbd, 0xcc, 0xe9, 0x97, + 0x42, 0x94, 0xb0, 0x44, 0xf2, 0xb5, 0xc6, 0x00, 0x5c, 0xde, 0xaf, 0x8a, + 0xdc, 0xdd, 0xa9, 0x6d, +}; +static const struct drbg_kat_pr_false kat2438_t = { + 7, kat2438_entropyin, kat2438_nonce, kat2438_persstr, + kat2438_entropyinreseed, kat2438_addinreseed, kat2438_addin0, + kat2438_addin1, kat2438_retbits +}; +static const struct drbg_kat kat2438 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2438_t +}; + +static const unsigned char kat2439_entropyin[] = { + 0xf0, 0x2c, 0x4a, 0xc2, 0x29, 0x27, 0x54, 0x80, 0x10, 0x0f, 0xa1, 0xb9, + 0xff, 0xc6, 0xbc, 0xf8, 0x2e, 0xeb, 0xe4, 0x6a, 0xab, 0xd8, 0x91, 0xaf, + 0x11, 0x25, 0x0e, 0x4f, 0x5f, 0x44, 0xac, 0xb2, 0xff, 0xfd, 0x9a, 0xc0, + 0x83, 0x30, 0x60, 0xb9, +}; +static const unsigned char kat2439_nonce[] = {0}; +static const unsigned char kat2439_persstr[] = { + 0x27, 0xd5, 0xd5, 0x2d, 0xa3, 0x97, 0xc0, 0x5e, 0xa3, 0x5b, 0x82, 0x32, + 0x5a, 0x6a, 0xec, 0xd8, 0x99, 0x13, 0xbd, 0x72, 0x21, 0xb3, 0x86, 0x79, + 0xb9, 0x27, 0xd4, 0x55, 0x66, 0xf4, 0xe0, 0x63, 0x3e, 0xea, 0xbf, 0xea, + 0x4e, 0x54, 0x09, 0xc1, +}; +static const unsigned char kat2439_entropyinreseed[] = { + 0x8c, 0x45, 0xaa, 0xb2, 0xb2, 0xfb, 0x11, 0xec, 0x21, 0x01, 0x0f, 0xd0, + 0x25, 0xb2, 0xa5, 0xac, 0x7a, 0xa4, 0xc1, 0xd6, 0xbb, 0x7e, 0xe3, 0x95, + 0x8d, 0x43, 0xb7, 0xea, 0x91, 0xa7, 0x64, 0x10, 0x23, 0x23, 0xac, 0x60, + 0xaa, 0x74, 0x6b, 0x29, +}; +static const unsigned char kat2439_addinreseed[] = {0}; +static const unsigned char kat2439_addin0[] = {0}; +static const unsigned char kat2439_addin1[] = {0}; +static const unsigned char kat2439_retbits[] = { + 0x8e, 0xc2, 0x2e, 0x31, 0x0f, 0x0b, 0xa3, 0xc5, 0xc0, 0x86, 0x23, 0xa7, + 0xd7, 0x74, 0xd7, 0x9a, 0x98, 0x8e, 0xbc, 0x51, 0x21, 0xde, 0xed, 0x7a, + 0xc5, 0xbe, 0x26, 0xd0, 0xd1, 0x44, 0x69, 0xba, 0xe2, 0x78, 0x03, 0xd6, + 0xfd, 0x0b, 0x4e, 0x31, 0x28, 0x0d, 0x16, 0x9f, 0x5e, 0x16, 0x13, 0x58, + 0x88, 0x04, 0x70, 0x26, 0xf2, 0xae, 0xa7, 0x39, 0x99, 0x2d, 0xe1, 0x71, + 0xb2, 0x17, 0xba, 0xa9, +}; +static const struct drbg_kat_pr_false kat2439_t = { + 8, kat2439_entropyin, kat2439_nonce, kat2439_persstr, + kat2439_entropyinreseed, kat2439_addinreseed, kat2439_addin0, + kat2439_addin1, kat2439_retbits +}; +static const struct drbg_kat kat2439 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2439_t +}; + +static const unsigned char kat2440_entropyin[] = { + 0x45, 0x9d, 0x35, 0xa6, 0x65, 0x91, 0x10, 0x8a, 0x83, 0xd4, 0x28, 0xad, + 0x0a, 0x6a, 0x6f, 0x66, 0x9c, 0x6e, 0x4c, 0x00, 0x6a, 0x04, 0x53, 0x65, + 0x9a, 0x7b, 0xc4, 0x93, 0xc4, 0x4a, 0x26, 0xc6, 0x6f, 0xef, 0x24, 0x0c, + 0xa1, 0x3b, 0x00, 0x9f, +}; +static const unsigned char kat2440_nonce[] = {0}; +static const unsigned char kat2440_persstr[] = { + 0x95, 0x39, 0xf4, 0x92, 0x93, 0x0d, 0x91, 0xf3, 0x94, 0x6d, 0x51, 0x79, + 0x3b, 0x9d, 0x27, 0x07, 0x72, 0x96, 0xde, 0x3e, 0x4c, 0x64, 0xf7, 0x43, + 0x1d, 0x60, 0x7b, 0xd1, 0x17, 0xbe, 0xca, 0x98, 0x3d, 0x34, 0x06, 0x9a, + 0xe6, 0xb7, 0x25, 0xa6, +}; +static const unsigned char kat2440_entropyinreseed[] = { + 0x2b, 0x2d, 0xfb, 0xdf, 0x49, 0xc4, 0xd7, 0x95, 0x62, 0xbb, 0xd8, 0x00, + 0xbf, 0x93, 0x61, 0x39, 0xcd, 0x22, 0xa1, 0x0e, 0x8b, 0x20, 0x7a, 0x32, + 0xa5, 0x59, 0x72, 0x11, 0x78, 0xd9, 0xa3, 0xbf, 0x16, 0xcf, 0x24, 0x93, + 0x33, 0x2f, 0xe1, 0x95, +}; +static const unsigned char kat2440_addinreseed[] = {0}; +static const unsigned char kat2440_addin0[] = {0}; +static const unsigned char kat2440_addin1[] = {0}; +static const unsigned char kat2440_retbits[] = { + 0x26, 0xb6, 0x50, 0x49, 0x5f, 0x87, 0x64, 0xe9, 0x84, 0xa5, 0x7a, 0x43, + 0xcd, 0xfe, 0x83, 0x42, 0x00, 0xa0, 0xc3, 0x83, 0x96, 0x47, 0xf7, 0xf7, + 0x3e, 0x8f, 0x90, 0xbe, 0xe6, 0x97, 0xc1, 0x17, 0xb6, 0x64, 0xfa, 0x9f, + 0x73, 0xb0, 0x49, 0x00, 0x21, 0x2b, 0xc5, 0x8e, 0x7d, 0x57, 0x4e, 0xb9, + 0x58, 0x30, 0xc4, 0x75, 0xe7, 0x75, 0xa5, 0x92, 0x6a, 0x3b, 0xeb, 0x53, + 0x78, 0x1d, 0xbd, 0x24, +}; +static const struct drbg_kat_pr_false kat2440_t = { + 9, kat2440_entropyin, kat2440_nonce, kat2440_persstr, + kat2440_entropyinreseed, kat2440_addinreseed, kat2440_addin0, + kat2440_addin1, kat2440_retbits +}; +static const struct drbg_kat kat2440 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2440_t +}; + +static const unsigned char kat2441_entropyin[] = { + 0xd1, 0xe8, 0x8f, 0xb1, 0x9a, 0xf8, 0x09, 0x0a, 0x56, 0x2b, 0x19, 0xa7, + 0xb9, 0x67, 0xae, 0x56, 0x3c, 0x00, 0x9f, 0x97, 0xbb, 0x24, 0x5e, 0xf6, + 0xcf, 0x67, 0x9b, 0x5f, 0x11, 0x5b, 0x5e, 0x2d, 0xbe, 0x7f, 0x28, 0x8d, + 0x19, 0x32, 0xa7, 0x64, +}; +static const unsigned char kat2441_nonce[] = {0}; +static const unsigned char kat2441_persstr[] = { + 0x98, 0xdc, 0xbf, 0x39, 0xc3, 0xc5, 0x8c, 0x9d, 0x1d, 0xc6, 0x16, 0xa6, + 0xd9, 0x0b, 0xa8, 0x87, 0x71, 0x0e, 0x02, 0x1a, 0x38, 0x96, 0x75, 0x67, + 0x2f, 0x79, 0x8b, 0xfd, 0x56, 0xb2, 0xf2, 0x2c, 0x47, 0xbe, 0x31, 0xfd, + 0xcc, 0x1e, 0x94, 0x42, +}; +static const unsigned char kat2441_entropyinreseed[] = { + 0x35, 0x73, 0x12, 0xab, 0x53, 0x16, 0x83, 0x86, 0x0d, 0x7a, 0x3c, 0x68, + 0x45, 0xfb, 0xed, 0xb9, 0xd4, 0x8c, 0x97, 0x70, 0xdd, 0x8c, 0x74, 0x5d, + 0xef, 0xa3, 0xed, 0xc8, 0xed, 0x52, 0x5f, 0xbf, 0xc1, 0x8b, 0x7c, 0xc2, + 0xf6, 0x4c, 0x4d, 0xab, +}; +static const unsigned char kat2441_addinreseed[] = {0}; +static const unsigned char kat2441_addin0[] = {0}; +static const unsigned char kat2441_addin1[] = {0}; +static const unsigned char kat2441_retbits[] = { + 0x49, 0x7a, 0x71, 0x03, 0x3b, 0xfd, 0x1b, 0xb3, 0x2b, 0xcc, 0xc8, 0x94, + 0xf7, 0xdd, 0x53, 0x98, 0x0f, 0x6a, 0xe4, 0x84, 0xd6, 0xc1, 0x66, 0x6d, + 0x59, 0x5b, 0x55, 0x64, 0xa9, 0xca, 0x7e, 0x51, 0x36, 0xd1, 0xb1, 0x5b, + 0x20, 0xf7, 0x63, 0x08, 0x3d, 0x51, 0x3e, 0xc8, 0x51, 0xb5, 0x18, 0x3b, + 0xca, 0x15, 0x12, 0x03, 0xc6, 0xdf, 0x41, 0x6d, 0x0a, 0x92, 0xd5, 0xe7, + 0xad, 0xd1, 0x75, 0xbd, +}; +static const struct drbg_kat_pr_false kat2441_t = { + 10, kat2441_entropyin, kat2441_nonce, kat2441_persstr, + kat2441_entropyinreseed, kat2441_addinreseed, kat2441_addin0, + kat2441_addin1, kat2441_retbits +}; +static const struct drbg_kat kat2441 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2441_t +}; + +static const unsigned char kat2442_entropyin[] = { + 0xdb, 0x37, 0x58, 0x74, 0x00, 0xe2, 0xec, 0x6c, 0x97, 0x13, 0x1a, 0xbb, + 0xca, 0x13, 0x48, 0xb9, 0xe1, 0xcd, 0x4a, 0xdb, 0xfb, 0x01, 0xbe, 0x0c, + 0x85, 0x98, 0x30, 0xf5, 0xa4, 0x75, 0x6a, 0xac, 0x16, 0x20, 0x76, 0x22, + 0x90, 0x47, 0x31, 0x6b, +}; +static const unsigned char kat2442_nonce[] = {0}; +static const unsigned char kat2442_persstr[] = { + 0x55, 0xb6, 0x84, 0x57, 0xf3, 0xcb, 0x70, 0xe2, 0x6a, 0xfa, 0xd6, 0x74, + 0xce, 0xb3, 0xf7, 0x10, 0xfc, 0xdf, 0xb1, 0x43, 0xd2, 0x37, 0x81, 0x8c, + 0xd3, 0x4c, 0x39, 0x37, 0x4f, 0xa1, 0xba, 0xd6, 0x8d, 0x53, 0xe9, 0x50, + 0x94, 0x59, 0xbf, 0x1e, +}; +static const unsigned char kat2442_entropyinreseed[] = { + 0xe1, 0x6b, 0x64, 0x16, 0xa9, 0xb5, 0x57, 0x14, 0x1b, 0xcd, 0xa2, 0x08, + 0x13, 0x5c, 0xd3, 0xff, 0x00, 0x3c, 0x1d, 0x7e, 0x0a, 0xd4, 0x49, 0x5b, + 0x41, 0x60, 0xe5, 0x87, 0x5c, 0x3e, 0x01, 0x93, 0xca, 0xea, 0x6f, 0x17, + 0x70, 0xa9, 0x3d, 0x38, +}; +static const unsigned char kat2442_addinreseed[] = {0}; +static const unsigned char kat2442_addin0[] = {0}; +static const unsigned char kat2442_addin1[] = {0}; +static const unsigned char kat2442_retbits[] = { + 0x4b, 0xe7, 0x44, 0x86, 0x29, 0x06, 0x4c, 0x37, 0xb9, 0xd2, 0x26, 0xbe, + 0xd1, 0x27, 0x95, 0x09, 0x96, 0xb6, 0x15, 0xeb, 0xec, 0x36, 0xf9, 0x8c, + 0x2d, 0x81, 0xbf, 0xd9, 0x7c, 0x2e, 0x51, 0xb6, 0x86, 0xb9, 0x8b, 0x80, + 0xf6, 0x9e, 0x80, 0x1f, 0xae, 0x6d, 0x8a, 0x6c, 0x40, 0xaa, 0xf8, 0x8e, + 0x95, 0x6d, 0x95, 0x3c, 0xea, 0x61, 0x96, 0x8d, 0x9c, 0xf8, 0x51, 0x90, + 0x84, 0x7e, 0xef, 0xd0, +}; +static const struct drbg_kat_pr_false kat2442_t = { + 11, kat2442_entropyin, kat2442_nonce, kat2442_persstr, + kat2442_entropyinreseed, kat2442_addinreseed, kat2442_addin0, + kat2442_addin1, kat2442_retbits +}; +static const struct drbg_kat kat2442 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2442_t +}; + +static const unsigned char kat2443_entropyin[] = { + 0x24, 0x12, 0xc2, 0xe2, 0xe0, 0x06, 0x4b, 0x2b, 0xb5, 0xca, 0x05, 0xc1, + 0xa1, 0x1c, 0x35, 0xef, 0xb1, 0xa5, 0x17, 0xbb, 0x00, 0x50, 0x33, 0x44, + 0x42, 0x06, 0x1e, 0xcf, 0xc4, 0xce, 0x55, 0x9e, 0xa6, 0xb5, 0xb3, 0x11, + 0x83, 0x91, 0x5f, 0xd6, +}; +static const unsigned char kat2443_nonce[] = {0}; +static const unsigned char kat2443_persstr[] = { + 0x1f, 0x29, 0x2d, 0x3c, 0xeb, 0xc2, 0x59, 0x5c, 0x65, 0x6e, 0xaf, 0x30, + 0xd4, 0x6c, 0xf4, 0x85, 0x37, 0xf8, 0xad, 0x7f, 0xd6, 0x50, 0x73, 0x26, + 0x9d, 0x3f, 0x05, 0x7d, 0x22, 0xdc, 0xcd, 0xae, 0x9e, 0xed, 0xc8, 0x2d, + 0x9b, 0x29, 0x00, 0xe5, +}; +static const unsigned char kat2443_entropyinreseed[] = { + 0x52, 0x04, 0x14, 0x66, 0x5d, 0x70, 0x42, 0x7d, 0x9a, 0x9f, 0x02, 0x6b, + 0xb4, 0x64, 0x8c, 0x52, 0xc9, 0xab, 0x3e, 0xcd, 0x31, 0x87, 0xf7, 0xd1, + 0x8f, 0xd3, 0x81, 0x32, 0x14, 0x52, 0x2b, 0x8f, 0xc8, 0x01, 0x7b, 0x18, + 0x9a, 0xeb, 0xc6, 0x94, +}; +static const unsigned char kat2443_addinreseed[] = {0}; +static const unsigned char kat2443_addin0[] = {0}; +static const unsigned char kat2443_addin1[] = {0}; +static const unsigned char kat2443_retbits[] = { + 0xff, 0x1c, 0x4c, 0x73, 0x71, 0xa6, 0x55, 0x34, 0x2f, 0x41, 0xdc, 0x4d, + 0x41, 0x7c, 0x08, 0xd6, 0xbd, 0x55, 0x6a, 0xd2, 0xf6, 0x16, 0x49, 0x28, + 0x5e, 0xc4, 0xc0, 0xc4, 0x42, 0xce, 0xcf, 0x26, 0xbc, 0xf7, 0xa0, 0x97, + 0x5a, 0x9c, 0x41, 0x30, 0x5d, 0x61, 0x8d, 0x96, 0x16, 0xf1, 0x0d, 0x1f, + 0xaf, 0x5d, 0x37, 0x9f, 0xdb, 0xfc, 0x97, 0xd8, 0xef, 0xa6, 0xce, 0xfb, + 0x5a, 0xbe, 0x7c, 0x2b, +}; +static const struct drbg_kat_pr_false kat2443_t = { + 12, kat2443_entropyin, kat2443_nonce, kat2443_persstr, + kat2443_entropyinreseed, kat2443_addinreseed, kat2443_addin0, + kat2443_addin1, kat2443_retbits +}; +static const struct drbg_kat kat2443 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2443_t +}; + +static const unsigned char kat2444_entropyin[] = { + 0xba, 0x8d, 0x35, 0x29, 0xf6, 0x90, 0xf6, 0x09, 0x84, 0x92, 0x2f, 0xca, + 0x43, 0xdd, 0x02, 0x18, 0x0d, 0xb2, 0x88, 0xd1, 0xd4, 0x5d, 0xe9, 0x38, + 0x1f, 0xa8, 0x9a, 0x3d, 0x48, 0x65, 0x96, 0x3b, 0x4f, 0xd7, 0xb8, 0xbb, + 0xc8, 0xbe, 0x8e, 0x35, +}; +static const unsigned char kat2444_nonce[] = {0}; +static const unsigned char kat2444_persstr[] = { + 0x57, 0x34, 0x8e, 0x59, 0x24, 0x4c, 0xfa, 0x19, 0x1d, 0x4e, 0x4d, 0x15, + 0x41, 0x35, 0x4e, 0x62, 0x28, 0x91, 0x01, 0xca, 0x38, 0xeb, 0xe7, 0xaa, + 0x98, 0x62, 0xca, 0xc5, 0x85, 0x8a, 0xf1, 0x25, 0xc8, 0x6c, 0xb0, 0x73, + 0x13, 0x04, 0xbc, 0x7d, +}; +static const unsigned char kat2444_entropyinreseed[] = { + 0x15, 0x15, 0xd3, 0x2a, 0x6e, 0xb7, 0xbc, 0x8e, 0xdc, 0x5e, 0x8d, 0xc8, + 0x94, 0x4d, 0x3f, 0xf4, 0x5e, 0x12, 0x42, 0x6a, 0xe0, 0xae, 0xf4, 0x23, + 0xee, 0xe5, 0xa3, 0x54, 0xf7, 0xb5, 0x39, 0xd1, 0xea, 0xc3, 0xd9, 0xfb, + 0x71, 0x83, 0x7b, 0x53, +}; +static const unsigned char kat2444_addinreseed[] = {0}; +static const unsigned char kat2444_addin0[] = {0}; +static const unsigned char kat2444_addin1[] = {0}; +static const unsigned char kat2444_retbits[] = { + 0xee, 0x7f, 0x2a, 0xcb, 0xe6, 0xa1, 0xf2, 0x76, 0xa0, 0x38, 0x51, 0x28, + 0x5d, 0x16, 0x13, 0xfa, 0x7e, 0xcb, 0xd2, 0x3f, 0x85, 0xea, 0x96, 0xe3, + 0x65, 0x00, 0x41, 0x68, 0x2f, 0x2f, 0x43, 0x76, 0x30, 0xf4, 0x17, 0x41, + 0x3d, 0xc2, 0x3f, 0x28, 0x06, 0xf4, 0x8e, 0xe4, 0x23, 0x65, 0xf4, 0x6f, + 0xb1, 0xcb, 0xba, 0x5c, 0x95, 0x34, 0x2c, 0x86, 0x49, 0x89, 0x7d, 0xc3, + 0xc8, 0x81, 0xcf, 0x20, +}; +static const struct drbg_kat_pr_false kat2444_t = { + 13, kat2444_entropyin, kat2444_nonce, kat2444_persstr, + kat2444_entropyinreseed, kat2444_addinreseed, kat2444_addin0, + kat2444_addin1, kat2444_retbits +}; +static const struct drbg_kat kat2444 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2444_t +}; + +static const unsigned char kat2445_entropyin[] = { + 0x44, 0x70, 0x64, 0x89, 0x49, 0x94, 0x87, 0x25, 0x32, 0x3a, 0xeb, 0x56, + 0x6d, 0xf1, 0x17, 0x65, 0xa1, 0xc5, 0x92, 0x21, 0xcd, 0x8a, 0xa4, 0x46, + 0x0e, 0x53, 0x4b, 0x21, 0xd8, 0xf2, 0xf1, 0xba, 0xce, 0x6e, 0x4c, 0x8a, + 0x9a, 0x78, 0x74, 0x54, +}; +static const unsigned char kat2445_nonce[] = {0}; +static const unsigned char kat2445_persstr[] = { + 0xa3, 0x5f, 0x70, 0x6f, 0xe7, 0x8d, 0xab, 0x17, 0x9b, 0xdb, 0x83, 0x49, + 0x54, 0x08, 0x76, 0x48, 0x05, 0x17, 0x57, 0x44, 0xbc, 0x02, 0x03, 0x88, + 0xa8, 0xa6, 0x0c, 0x20, 0x1b, 0x64, 0x8c, 0xa5, 0x69, 0xb4, 0xc3, 0x19, + 0x7a, 0xe3, 0x89, 0x34, +}; +static const unsigned char kat2445_entropyinreseed[] = { + 0x4d, 0x63, 0x2e, 0xf3, 0x04, 0x82, 0xe6, 0xd5, 0x94, 0x9c, 0xf5, 0x24, + 0x07, 0xd4, 0x2c, 0xae, 0xa7, 0xcd, 0x74, 0x5e, 0x70, 0xd7, 0x6d, 0x34, + 0x49, 0x85, 0x2a, 0x7d, 0xdb, 0x3f, 0x92, 0xe1, 0x98, 0x40, 0xcd, 0x02, + 0x17, 0xe1, 0x11, 0x2f, +}; +static const unsigned char kat2445_addinreseed[] = {0}; +static const unsigned char kat2445_addin0[] = {0}; +static const unsigned char kat2445_addin1[] = {0}; +static const unsigned char kat2445_retbits[] = { + 0x33, 0x40, 0xcd, 0x5e, 0x74, 0xc5, 0x29, 0x18, 0xb3, 0x91, 0x15, 0x67, + 0x02, 0x85, 0x1b, 0x25, 0x32, 0x70, 0x72, 0xf0, 0x75, 0xe1, 0x6b, 0x8c, + 0x93, 0x78, 0x97, 0x2b, 0x08, 0x1b, 0x2c, 0xa8, 0xcf, 0xa7, 0x66, 0x5b, + 0x70, 0x52, 0xcc, 0x44, 0xf4, 0x80, 0xf0, 0xc1, 0x88, 0x34, 0x23, 0x57, + 0xcc, 0x6c, 0x8c, 0xb6, 0x16, 0xa0, 0xda, 0xde, 0xfc, 0x4e, 0x1e, 0xd4, + 0x0b, 0xa4, 0x2b, 0x0a, +}; +static const struct drbg_kat_pr_false kat2445_t = { + 14, kat2445_entropyin, kat2445_nonce, kat2445_persstr, + kat2445_entropyinreseed, kat2445_addinreseed, kat2445_addin0, + kat2445_addin1, kat2445_retbits +}; +static const struct drbg_kat kat2445 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2445_t +}; + +static const unsigned char kat2446_entropyin[] = { + 0x4b, 0x58, 0x27, 0x1b, 0x11, 0x62, 0x37, 0xee, 0xdd, 0x4e, 0x9f, 0xf9, + 0x36, 0x03, 0x82, 0xa5, 0x9f, 0x3e, 0x2a, 0x17, 0x3d, 0x86, 0x0f, 0x2b, + 0xbd, 0x8b, 0x2b, 0xac, 0xe1, 0x42, 0xb2, 0x39, 0x5c, 0x67, 0xcf, 0x5a, + 0x51, 0x3f, 0x06, 0xf3, +}; +static const unsigned char kat2446_nonce[] = {0}; +static const unsigned char kat2446_persstr[] = { + 0xcf, 0x76, 0xc1, 0x6c, 0xd5, 0xd2, 0x70, 0x70, 0x7e, 0xa9, 0xac, 0xc3, + 0x97, 0x44, 0xdb, 0x69, 0xbf, 0xac, 0x63, 0xe5, 0x66, 0x25, 0x6f, 0xd6, + 0x91, 0x7b, 0xf9, 0x81, 0x96, 0x79, 0x84, 0x0f, 0x3f, 0xea, 0x2a, 0xa5, + 0x35, 0xd8, 0xdf, 0x01, +}; +static const unsigned char kat2446_entropyinreseed[] = { + 0x18, 0x67, 0xf3, 0x71, 0xa3, 0x45, 0xee, 0xf9, 0x8b, 0x2d, 0x70, 0xfc, + 0x19, 0x60, 0x39, 0x78, 0x92, 0x64, 0x5b, 0x7b, 0x29, 0xa4, 0xea, 0xd2, + 0x52, 0xe8, 0x83, 0x5e, 0x0b, 0x60, 0x06, 0x18, 0xa9, 0xbd, 0x6f, 0xf9, + 0x97, 0x85, 0xd8, 0x90, +}; +static const unsigned char kat2446_addinreseed[] = { + 0x6d, 0x44, 0x83, 0x9a, 0xff, 0x8b, 0x71, 0x65, 0xde, 0xeb, 0xd4, 0x89, + 0xad, 0x08, 0x8e, 0xcb, 0x7d, 0xce, 0xc1, 0x1c, 0x32, 0xb1, 0xe7, 0x47, + 0xdb, 0xa8, 0xf0, 0xe8, 0xa0, 0xb8, 0x9f, 0x74, 0xa8, 0x4e, 0xa8, 0xa0, + 0x55, 0x86, 0xfe, 0x9e, +}; +static const unsigned char kat2446_addin0[] = { + 0x42, 0x24, 0x8f, 0xce, 0x09, 0x94, 0xe0, 0xe6, 0x35, 0x04, 0x20, 0x9d, + 0x62, 0x9a, 0x69, 0x43, 0xeb, 0x3e, 0x2a, 0xd5, 0x12, 0xf0, 0x3f, 0x79, + 0xcb, 0xd5, 0x10, 0x29, 0x28, 0x39, 0x2b, 0xce, 0x1c, 0xac, 0xbb, 0xa0, + 0x56, 0xac, 0x6c, 0xa9, +}; +static const unsigned char kat2446_addin1[] = { + 0xbd, 0x52, 0x9b, 0x60, 0x02, 0x73, 0x32, 0x94, 0x23, 0xa5, 0x8d, 0x6f, + 0x8a, 0x12, 0xbe, 0x0f, 0x17, 0x98, 0x9a, 0x02, 0xe7, 0x3e, 0x34, 0x7b, + 0xc7, 0xd4, 0x9d, 0x91, 0x69, 0x33, 0x7a, 0x6c, 0xff, 0x7c, 0x07, 0xe8, + 0xa8, 0x07, 0xa8, 0x0a, +}; +static const unsigned char kat2446_retbits[] = { + 0x02, 0x48, 0x6d, 0x32, 0xcd, 0x55, 0x95, 0x4f, 0x40, 0x6b, 0xa5, 0x57, + 0x05, 0xf1, 0x46, 0x0d, 0x38, 0x44, 0x39, 0x59, 0x2d, 0xed, 0xe8, 0x1a, + 0x84, 0xfd, 0xa2, 0x21, 0xfd, 0x45, 0xc0, 0xd6, 0x51, 0xd6, 0x7e, 0xc4, + 0xa8, 0x1a, 0x8b, 0x40, 0x41, 0x51, 0xa6, 0x43, 0xf3, 0x31, 0xad, 0x05, + 0x1c, 0xb0, 0x04, 0x35, 0x22, 0x89, 0xde, 0x37, 0xbc, 0xa7, 0x1e, 0x8c, + 0xc0, 0xa6, 0xae, 0xab, +}; +static const struct drbg_kat_pr_false kat2446_t = { + 0, kat2446_entropyin, kat2446_nonce, kat2446_persstr, + kat2446_entropyinreseed, kat2446_addinreseed, kat2446_addin0, + kat2446_addin1, kat2446_retbits +}; +static const struct drbg_kat kat2446 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2446_t +}; + +static const unsigned char kat2447_entropyin[] = { + 0x60, 0x2e, 0x53, 0xde, 0x42, 0x46, 0x91, 0x80, 0xc5, 0xde, 0x72, 0x2e, + 0x30, 0x0b, 0x1e, 0x59, 0xcf, 0x74, 0x0c, 0x1d, 0x06, 0xe8, 0x20, 0xa9, + 0xe8, 0x10, 0x1f, 0x01, 0x13, 0xaf, 0xa7, 0xb7, 0xd6, 0xf7, 0x64, 0xc0, + 0x18, 0x4a, 0xd9, 0xb4, +}; +static const unsigned char kat2447_nonce[] = {0}; +static const unsigned char kat2447_persstr[] = { + 0x61, 0x83, 0xd3, 0x3b, 0x2a, 0x3a, 0xb3, 0x77, 0x8e, 0x35, 0x4b, 0x83, + 0x58, 0x6e, 0xba, 0x70, 0x1b, 0x79, 0xa5, 0x58, 0x2d, 0x57, 0x9a, 0x48, + 0x15, 0xfa, 0x34, 0x78, 0x73, 0xea, 0x7f, 0x21, 0x4b, 0xe0, 0xbd, 0x23, + 0xf7, 0x76, 0x96, 0xcf, +}; +static const unsigned char kat2447_entropyinreseed[] = { + 0x44, 0xfd, 0x22, 0xd2, 0xb5, 0xae, 0x55, 0xdd, 0xf6, 0x22, 0xf0, 0xd2, + 0x3b, 0x87, 0x96, 0x7f, 0x6b, 0x60, 0xda, 0x26, 0x95, 0xd8, 0xc2, 0xdb, + 0xcc, 0xe2, 0xb3, 0x16, 0x5d, 0x40, 0x69, 0x46, 0x48, 0x0c, 0xb7, 0x0e, + 0x39, 0x21, 0x3e, 0xc1, +}; +static const unsigned char kat2447_addinreseed[] = { + 0x74, 0x9c, 0x0d, 0x83, 0x80, 0x37, 0x11, 0x9f, 0x17, 0xda, 0xa6, 0x26, + 0x05, 0xfa, 0xc1, 0x96, 0xe7, 0x72, 0x76, 0x29, 0x96, 0x0f, 0x51, 0x39, + 0x62, 0x57, 0xf9, 0x1c, 0x4e, 0xdc, 0x19, 0xe1, 0x5c, 0x4e, 0xd2, 0x99, + 0x02, 0xae, 0xef, 0x6b, +}; +static const unsigned char kat2447_addin0[] = { + 0x02, 0xa9, 0x47, 0xc1, 0x1f, 0x12, 0xf4, 0xe0, 0xd6, 0xa8, 0x2a, 0xc6, + 0x66, 0x7c, 0xd9, 0x36, 0xdd, 0xa2, 0xb4, 0x3d, 0xdb, 0x40, 0x52, 0xb6, + 0x8b, 0xa5, 0xc5, 0x17, 0xe7, 0xb3, 0x3a, 0xc2, 0x81, 0x08, 0x8a, 0x0d, + 0x6f, 0x4a, 0x22, 0xcb, +}; +static const unsigned char kat2447_addin1[] = { + 0x40, 0x01, 0x83, 0x93, 0x95, 0x9e, 0x2b, 0x80, 0x98, 0x63, 0x16, 0x27, + 0x9e, 0x7c, 0x42, 0xd4, 0xbd, 0x67, 0x5a, 0x3f, 0xc2, 0x31, 0x21, 0x8d, + 0x79, 0x5a, 0x6e, 0xa4, 0x1a, 0x46, 0xca, 0x2c, 0x2c, 0xe2, 0xef, 0x87, + 0xc9, 0x1d, 0x52, 0x82, +}; +static const unsigned char kat2447_retbits[] = { + 0xe7, 0x99, 0xf0, 0x17, 0x74, 0x01, 0x9d, 0x59, 0x2d, 0xcb, 0x8d, 0x8d, + 0xf9, 0x4e, 0xd6, 0x3c, 0xd3, 0x7e, 0x6d, 0xcb, 0x5a, 0x21, 0xf5, 0x8b, + 0xd1, 0x6a, 0x6b, 0x9a, 0x62, 0xb6, 0x7c, 0x26, 0x28, 0xb1, 0xfb, 0x95, + 0xc4, 0x0d, 0x92, 0x32, 0x12, 0x79, 0x39, 0x14, 0xa2, 0x30, 0x37, 0xa9, + 0x2c, 0xd1, 0x07, 0x8d, 0x88, 0x90, 0x7e, 0x3b, 0x77, 0x1f, 0x4d, 0xb5, + 0x43, 0xef, 0x58, 0xb3, +}; +static const struct drbg_kat_pr_false kat2447_t = { + 1, kat2447_entropyin, kat2447_nonce, kat2447_persstr, + kat2447_entropyinreseed, kat2447_addinreseed, kat2447_addin0, + kat2447_addin1, kat2447_retbits +}; +static const struct drbg_kat kat2447 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2447_t +}; + +static const unsigned char kat2448_entropyin[] = { + 0x96, 0xe0, 0x41, 0x25, 0xfc, 0xc3, 0x2a, 0xa5, 0xc5, 0xd1, 0x21, 0xe8, + 0xfb, 0x78, 0x2c, 0x0d, 0x7c, 0xbc, 0xd7, 0x76, 0x68, 0xa4, 0xc5, 0x20, + 0x5f, 0x31, 0x46, 0x4f, 0x8a, 0x69, 0x71, 0x19, 0x57, 0x59, 0xea, 0x60, + 0x89, 0xe4, 0x59, 0x98, +}; +static const unsigned char kat2448_nonce[] = {0}; +static const unsigned char kat2448_persstr[] = { + 0xf9, 0x33, 0x18, 0x07, 0xdb, 0x0b, 0xf1, 0x66, 0x87, 0x00, 0x65, 0x1b, + 0xfc, 0xa0, 0x15, 0xe7, 0x17, 0x22, 0xc4, 0x67, 0x49, 0x82, 0x44, 0xf6, + 0xd6, 0x35, 0x04, 0x0a, 0x3e, 0xf6, 0xc1, 0x16, 0x63, 0xa9, 0x46, 0x42, + 0x82, 0xe6, 0x3b, 0x17, +}; +static const unsigned char kat2448_entropyinreseed[] = { + 0x14, 0xcd, 0xe6, 0x4d, 0xd6, 0x87, 0x7b, 0x1d, 0x4e, 0xaf, 0x13, 0x47, + 0x88, 0x93, 0x56, 0x2e, 0xda, 0x08, 0x10, 0x38, 0xb4, 0x20, 0x94, 0x17, + 0x53, 0x4c, 0x17, 0x09, 0x7d, 0x7e, 0xc3, 0xb5, 0x98, 0xc6, 0xdf, 0x3b, + 0x89, 0x23, 0xbf, 0x73, +}; +static const unsigned char kat2448_addinreseed[] = { + 0x84, 0x5b, 0x98, 0x21, 0x98, 0x57, 0xf5, 0x2b, 0x99, 0xfc, 0x75, 0x19, + 0xcd, 0x9f, 0x0d, 0x9c, 0x6f, 0xb3, 0x4f, 0x39, 0x31, 0xc2, 0x04, 0xef, + 0x4f, 0x30, 0x3d, 0x90, 0x8d, 0x3f, 0x1c, 0xd3, 0x11, 0x29, 0x10, 0xd0, + 0xe1, 0xa4, 0x1c, 0xa5, +}; +static const unsigned char kat2448_addin0[] = { + 0xf2, 0x88, 0x5e, 0x8a, 0x18, 0x0e, 0x39, 0x5d, 0xf0, 0xcc, 0x77, 0x0a, + 0x83, 0x06, 0x2b, 0x96, 0x31, 0x78, 0x3a, 0x99, 0x62, 0xf3, 0x6c, 0xe0, + 0x5e, 0xf1, 0x97, 0xf9, 0x89, 0xf1, 0xaa, 0xdb, 0xe8, 0xdb, 0x54, 0x9d, + 0x9b, 0x79, 0x13, 0x40, +}; +static const unsigned char kat2448_addin1[] = { + 0xbd, 0xee, 0x38, 0xf9, 0xb3, 0x52, 0x6d, 0x82, 0x4f, 0xbb, 0x08, 0x56, + 0x20, 0x29, 0x9d, 0x5b, 0xca, 0x0c, 0x07, 0xba, 0xd4, 0x88, 0xcc, 0x8e, + 0x61, 0x36, 0xc7, 0x72, 0x3d, 0x44, 0x13, 0xe3, 0xe7, 0x38, 0xc3, 0x11, + 0xfb, 0xbb, 0x39, 0x77, +}; +static const unsigned char kat2448_retbits[] = { + 0xcf, 0x3e, 0x3d, 0xcb, 0x4c, 0x20, 0x91, 0xb3, 0xeb, 0xe7, 0xe1, 0xc0, + 0x5b, 0x83, 0x9d, 0x3a, 0x90, 0x14, 0x84, 0x1c, 0x08, 0x5b, 0x35, 0x58, + 0x92, 0x03, 0x8f, 0x7f, 0xc2, 0xbb, 0x32, 0xc6, 0x87, 0x30, 0x6c, 0xed, + 0xf0, 0x53, 0xfb, 0xae, 0xa1, 0x64, 0x29, 0x24, 0x60, 0x69, 0xbf, 0xd0, + 0xf0, 0xcd, 0xf6, 0xcc, 0xd8, 0x2c, 0xcb, 0x0f, 0x79, 0x2a, 0xcb, 0x87, + 0x75, 0xa5, 0xc6, 0x78, +}; +static const struct drbg_kat_pr_false kat2448_t = { + 2, kat2448_entropyin, kat2448_nonce, kat2448_persstr, + kat2448_entropyinreseed, kat2448_addinreseed, kat2448_addin0, + kat2448_addin1, kat2448_retbits +}; +static const struct drbg_kat kat2448 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2448_t +}; + +static const unsigned char kat2449_entropyin[] = { + 0x42, 0x3c, 0xc9, 0x8b, 0xbe, 0xc9, 0x06, 0x51, 0x6c, 0xf0, 0x77, 0x2f, + 0xf8, 0x96, 0x1e, 0xb3, 0xed, 0xd1, 0x3c, 0xa9, 0x29, 0x29, 0x5d, 0x4c, + 0xdb, 0xa3, 0x2a, 0xbb, 0xb6, 0x01, 0xa2, 0x20, 0xe0, 0xa4, 0x46, 0x0b, + 0xea, 0x6a, 0x6d, 0xff, +}; +static const unsigned char kat2449_nonce[] = {0}; +static const unsigned char kat2449_persstr[] = { + 0x08, 0xdc, 0x21, 0x52, 0xa1, 0x4c, 0x81, 0x87, 0x21, 0xe4, 0xe8, 0x3e, + 0x16, 0x85, 0xdd, 0x0c, 0x38, 0xf2, 0x33, 0xb5, 0xae, 0xdb, 0x6c, 0x69, + 0xc5, 0x74, 0xc8, 0x23, 0xbe, 0xb0, 0xec, 0x6f, 0x19, 0x2d, 0x4d, 0x99, + 0x1d, 0xe6, 0x94, 0x01, +}; +static const unsigned char kat2449_entropyinreseed[] = { + 0x44, 0x13, 0xd5, 0xae, 0x82, 0x12, 0xf0, 0xfe, 0xe0, 0xd2, 0xe6, 0xdc, + 0x99, 0x43, 0x7b, 0x54, 0x09, 0x43, 0xa9, 0xaf, 0x33, 0xad, 0x68, 0x63, + 0xba, 0xc4, 0x27, 0xec, 0xf7, 0x3d, 0xfb, 0x8f, 0x09, 0xa1, 0x00, 0x88, + 0xfa, 0x1a, 0xe1, 0x09, +}; +static const unsigned char kat2449_addinreseed[] = { + 0x5f, 0xc5, 0xfe, 0xe3, 0x50, 0x4e, 0x98, 0x34, 0xa6, 0x95, 0x94, 0x18, + 0xdb, 0x6b, 0x10, 0x66, 0x12, 0x6f, 0x86, 0xd0, 0x8e, 0xab, 0x76, 0x0f, + 0xeb, 0x12, 0xfd, 0x56, 0xaa, 0xbb, 0x79, 0x7e, 0x21, 0x25, 0xb0, 0x6a, + 0x27, 0x6a, 0x9b, 0xef, +}; +static const unsigned char kat2449_addin0[] = { + 0x48, 0x1c, 0x40, 0x7b, 0xdf, 0x31, 0x4c, 0x99, 0x1e, 0x3b, 0x37, 0x89, + 0x36, 0xf8, 0x14, 0x51, 0x20, 0xa3, 0x1d, 0xaf, 0xde, 0xe2, 0x1e, 0x1e, + 0x3a, 0xf5, 0xaa, 0x61, 0x7a, 0x9a, 0xd5, 0x59, 0xca, 0x1e, 0x5b, 0xfb, + 0xa3, 0x8b, 0x29, 0xd0, +}; +static const unsigned char kat2449_addin1[] = { + 0xa2, 0x6e, 0x6c, 0x49, 0x23, 0x54, 0xd6, 0x04, 0xdc, 0xa5, 0x37, 0x3f, + 0xf6, 0x47, 0xf2, 0x06, 0xed, 0x19, 0x07, 0x02, 0x5c, 0x03, 0x2c, 0x28, + 0xd5, 0x65, 0xc8, 0x11, 0x7d, 0xc9, 0x96, 0x55, 0x5c, 0x9c, 0x2a, 0xe8, + 0x30, 0x93, 0x86, 0x3b, +}; +static const unsigned char kat2449_retbits[] = { + 0x41, 0x26, 0x49, 0xdd, 0x98, 0x39, 0xe7, 0xc1, 0x85, 0x41, 0x56, 0xef, + 0x02, 0x96, 0xb1, 0x24, 0x52, 0x29, 0x95, 0x5f, 0xb1, 0x96, 0x02, 0x78, + 0x79, 0x0a, 0xf7, 0xf7, 0x98, 0xc7, 0xee, 0xd1, 0x71, 0xf4, 0xed, 0xc9, + 0x4c, 0x7e, 0x86, 0xab, 0xba, 0x14, 0xcf, 0x30, 0x19, 0x75, 0x51, 0x6d, + 0x7b, 0x68, 0xf6, 0x1b, 0x6e, 0xe4, 0x57, 0x9e, 0x61, 0x1b, 0xdd, 0x57, + 0xdd, 0xdb, 0x9d, 0x9c, +}; +static const struct drbg_kat_pr_false kat2449_t = { + 3, kat2449_entropyin, kat2449_nonce, kat2449_persstr, + kat2449_entropyinreseed, kat2449_addinreseed, kat2449_addin0, + kat2449_addin1, kat2449_retbits +}; +static const struct drbg_kat kat2449 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2449_t +}; + +static const unsigned char kat2450_entropyin[] = { + 0xe8, 0xfd, 0x14, 0x50, 0xe4, 0x21, 0x36, 0x7a, 0x2b, 0xfc, 0x0f, 0x36, + 0x00, 0xab, 0xc7, 0x83, 0xa1, 0x8e, 0x87, 0xb9, 0x81, 0xee, 0x98, 0x1d, + 0xa5, 0x48, 0x9f, 0x45, 0x2f, 0x31, 0x16, 0x23, 0x50, 0x53, 0x6d, 0x03, + 0xc2, 0x99, 0x9f, 0x0d, +}; +static const unsigned char kat2450_nonce[] = {0}; +static const unsigned char kat2450_persstr[] = { + 0xcf, 0xcd, 0x45, 0x14, 0x87, 0x75, 0x99, 0xe0, 0xa9, 0x8a, 0xb9, 0xf2, + 0x55, 0x82, 0xcf, 0xb5, 0xef, 0x7b, 0x31, 0xe0, 0xed, 0xe9, 0x26, 0xdd, + 0x23, 0x0c, 0x4a, 0x73, 0x85, 0x33, 0xf3, 0x8f, 0x53, 0x9f, 0xec, 0xe0, + 0x1c, 0xd8, 0xfd, 0xd5, +}; +static const unsigned char kat2450_entropyinreseed[] = { + 0x75, 0x12, 0xe4, 0xc5, 0x0c, 0xdf, 0x8d, 0xdb, 0xc7, 0x98, 0x17, 0x82, + 0x2f, 0xbb, 0x19, 0x33, 0x04, 0x61, 0xca, 0xf8, 0xe9, 0x9e, 0xf8, 0x86, + 0xc3, 0x76, 0xfc, 0x3f, 0xa0, 0x40, 0x90, 0x15, 0x9c, 0x9d, 0xc7, 0x29, + 0x5e, 0xaf, 0xd4, 0xeb, +}; +static const unsigned char kat2450_addinreseed[] = { + 0x3e, 0xe3, 0xfd, 0x20, 0x7c, 0x04, 0xc3, 0xaa, 0xf3, 0xb0, 0xd9, 0x27, + 0x77, 0xf2, 0xbb, 0xa9, 0xd9, 0xdd, 0x20, 0x08, 0x8b, 0xb6, 0x4a, 0x5e, + 0xab, 0x7b, 0xcd, 0xd4, 0x54, 0xf7, 0xc5, 0xdd, 0x14, 0xeb, 0xe9, 0x1e, + 0xbe, 0xc7, 0x5c, 0xdf, +}; +static const unsigned char kat2450_addin0[] = { + 0x92, 0x76, 0x00, 0x3a, 0x3b, 0x8c, 0x57, 0xc5, 0x69, 0xee, 0xa7, 0x3c, + 0x8f, 0x03, 0x99, 0x1f, 0x16, 0xec, 0x57, 0xb8, 0xd7, 0x4c, 0xb9, 0x07, + 0x74, 0x7e, 0x69, 0x95, 0x4d, 0x4d, 0x23, 0x3f, 0x97, 0xe1, 0x6e, 0xd8, + 0x2f, 0x52, 0x50, 0xd7, +}; +static const unsigned char kat2450_addin1[] = { + 0x34, 0xf7, 0x64, 0x89, 0xdb, 0x8f, 0xd0, 0xec, 0xc0, 0xa8, 0xc9, 0xf4, + 0x57, 0xdf, 0x0a, 0x75, 0x7f, 0xe0, 0x93, 0x4a, 0xdb, 0x1c, 0x92, 0xbb, + 0x32, 0x3f, 0xcd, 0x97, 0xf8, 0x24, 0x69, 0x83, 0xe1, 0xe0, 0x7d, 0xde, + 0x71, 0x27, 0x3e, 0x45, +}; +static const unsigned char kat2450_retbits[] = { + 0x3d, 0x3f, 0x89, 0x95, 0x4b, 0x4e, 0x81, 0x99, 0xd5, 0xbe, 0x84, 0x86, + 0x0c, 0xfb, 0x70, 0xfb, 0x8f, 0x00, 0xfb, 0x6b, 0xb9, 0x61, 0x9d, 0x27, + 0x4b, 0x9c, 0x8c, 0xa9, 0xb6, 0xc5, 0x24, 0x23, 0x5e, 0xca, 0x9c, 0x01, + 0x15, 0x28, 0x4e, 0x8b, 0xbd, 0xb3, 0x96, 0xc6, 0x38, 0x38, 0xba, 0x8e, + 0x6a, 0xf7, 0x45, 0xbb, 0x5d, 0xd1, 0xda, 0xff, 0x21, 0x45, 0x81, 0x39, + 0x80, 0x16, 0xb4, 0x13, +}; +static const struct drbg_kat_pr_false kat2450_t = { + 4, kat2450_entropyin, kat2450_nonce, kat2450_persstr, + kat2450_entropyinreseed, kat2450_addinreseed, kat2450_addin0, + kat2450_addin1, kat2450_retbits +}; +static const struct drbg_kat kat2450 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2450_t +}; + +static const unsigned char kat2451_entropyin[] = { + 0x67, 0x62, 0x8a, 0x4e, 0x76, 0x3b, 0x14, 0xee, 0x13, 0x33, 0x5e, 0x07, + 0x0e, 0xa4, 0x61, 0x13, 0x09, 0x0a, 0xba, 0xdf, 0x52, 0xa1, 0x70, 0x17, + 0xc4, 0xf9, 0xb9, 0xef, 0xf7, 0x83, 0x50, 0xd5, 0x88, 0x17, 0xcb, 0x35, + 0x3d, 0xd6, 0xa3, 0x98, +}; +static const unsigned char kat2451_nonce[] = {0}; +static const unsigned char kat2451_persstr[] = { + 0xba, 0x22, 0x3e, 0x2e, 0xb4, 0xf8, 0x0d, 0x1a, 0xff, 0x56, 0x23, 0xe1, + 0xc7, 0xa6, 0x3c, 0x9f, 0xc4, 0x7b, 0x63, 0xa2, 0xdb, 0x56, 0xa9, 0xea, + 0xaa, 0x83, 0x00, 0x7f, 0x51, 0x40, 0xf7, 0xed, 0xc8, 0x02, 0xf1, 0xf9, + 0x7c, 0x6f, 0xb5, 0x32, +}; +static const unsigned char kat2451_entropyinreseed[] = { + 0xae, 0xd4, 0x2a, 0x16, 0xe0, 0x35, 0x7c, 0x38, 0xa9, 0x34, 0x4f, 0xed, + 0x60, 0xbc, 0xac, 0x6f, 0xc0, 0xac, 0x02, 0xcc, 0xc3, 0x33, 0x6c, 0xf1, + 0x46, 0x4c, 0xda, 0x26, 0x35, 0x1a, 0x3b, 0xdf, 0x9d, 0x7c, 0x62, 0x26, + 0x62, 0x16, 0xeb, 0x44, +}; +static const unsigned char kat2451_addinreseed[] = { + 0x9d, 0x01, 0xea, 0x58, 0x50, 0x5d, 0x40, 0xb3, 0xf0, 0x3c, 0xeb, 0x40, + 0xad, 0xaa, 0x64, 0x01, 0xc9, 0x1e, 0xb0, 0xc1, 0xe3, 0xd7, 0x22, 0xef, + 0x02, 0x6c, 0xac, 0x66, 0xa0, 0x00, 0x68, 0xc9, 0xcd, 0x1b, 0xd1, 0x2f, + 0xc8, 0x6b, 0x6e, 0x7d, +}; +static const unsigned char kat2451_addin0[] = { + 0xf3, 0x7a, 0xfe, 0xe2, 0x28, 0xcc, 0xa5, 0x46, 0x9d, 0x9e, 0x77, 0x4f, + 0xf3, 0x3a, 0xb2, 0xe4, 0x77, 0x82, 0xf6, 0x5f, 0x1c, 0xb0, 0x68, 0xfe, + 0x48, 0xe1, 0xf1, 0x51, 0x9d, 0x06, 0xe0, 0x0d, 0x58, 0xf5, 0x26, 0xf7, + 0x2c, 0x22, 0xbb, 0x9d, +}; +static const unsigned char kat2451_addin1[] = { + 0xa3, 0x6c, 0xa3, 0xab, 0x10, 0xc8, 0x3d, 0x6e, 0x58, 0x9b, 0x2d, 0x94, + 0x83, 0x0a, 0x17, 0x45, 0x75, 0xca, 0x65, 0x05, 0xce, 0x46, 0xbf, 0x23, + 0xe0, 0x10, 0x22, 0x15, 0x1f, 0x9f, 0x7a, 0x35, 0x4a, 0xa5, 0xf1, 0xc0, + 0xd7, 0x6a, 0xab, 0x48, +}; +static const unsigned char kat2451_retbits[] = { + 0x3b, 0xee, 0x8d, 0xa2, 0x15, 0x71, 0x0e, 0x0b, 0x60, 0x39, 0xa7, 0x68, + 0x21, 0x2e, 0x62, 0x6d, 0xaf, 0xdd, 0x37, 0x76, 0xcf, 0x71, 0xb6, 0x85, + 0x6d, 0x6c, 0x0e, 0x54, 0x2f, 0x94, 0x2a, 0x33, 0x64, 0x86, 0xe7, 0x58, + 0x91, 0x24, 0x1e, 0x4b, 0x74, 0x1f, 0xba, 0xb2, 0x3a, 0x7b, 0xbe, 0x57, + 0x08, 0x04, 0x1b, 0xb9, 0x75, 0x08, 0xec, 0x4e, 0x60, 0xea, 0x3e, 0x2b, + 0x74, 0x63, 0xb9, 0xd2, +}; +static const struct drbg_kat_pr_false kat2451_t = { + 5, kat2451_entropyin, kat2451_nonce, kat2451_persstr, + kat2451_entropyinreseed, kat2451_addinreseed, kat2451_addin0, + kat2451_addin1, kat2451_retbits +}; +static const struct drbg_kat kat2451 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2451_t +}; + +static const unsigned char kat2452_entropyin[] = { + 0x48, 0xe6, 0x0a, 0x52, 0xa8, 0x71, 0x8c, 0xa1, 0x8b, 0x3e, 0xfd, 0x01, + 0xcb, 0x0e, 0xfe, 0xef, 0xaf, 0x33, 0xb5, 0xbf, 0x24, 0x4a, 0x6f, 0x78, + 0xf3, 0xd8, 0x67, 0x7f, 0x57, 0x3f, 0x33, 0x98, 0xea, 0x28, 0xfd, 0x4b, + 0x91, 0x78, 0x17, 0x2e, +}; +static const unsigned char kat2452_nonce[] = {0}; +static const unsigned char kat2452_persstr[] = { + 0x0c, 0xc9, 0x5d, 0x75, 0xc1, 0x82, 0xc6, 0xb4, 0x1e, 0x4e, 0x0e, 0x58, + 0x31, 0x8f, 0x9a, 0x76, 0x41, 0x79, 0x5b, 0x63, 0x6f, 0x9b, 0xf8, 0x25, + 0x01, 0x35, 0x2d, 0x1e, 0x38, 0x86, 0x75, 0x9e, 0xb1, 0x6f, 0x4e, 0x20, + 0x20, 0x6e, 0x4d, 0xe0, +}; +static const unsigned char kat2452_entropyinreseed[] = { + 0x3d, 0x7f, 0xa5, 0xc5, 0xe0, 0xfd, 0x6d, 0x01, 0x9c, 0xdd, 0xa0, 0xac, + 0x27, 0xd0, 0x7e, 0x88, 0xd1, 0x49, 0x72, 0xba, 0x2e, 0xcc, 0xee, 0xb9, + 0xa2, 0x39, 0x54, 0xc8, 0x38, 0x81, 0xe3, 0x7c, 0x23, 0x18, 0x0e, 0x6f, + 0xdb, 0x4f, 0x7b, 0xab, +}; +static const unsigned char kat2452_addinreseed[] = { + 0x3c, 0x37, 0xa2, 0x14, 0xd0, 0xd1, 0xc2, 0xab, 0xa6, 0x75, 0x25, 0xaa, + 0xcb, 0xa4, 0x07, 0x7b, 0xd1, 0x6a, 0x77, 0xc8, 0xdc, 0x1c, 0x06, 0x9d, + 0x4b, 0x10, 0x18, 0xca, 0x61, 0x53, 0xff, 0x98, 0x3f, 0xbb, 0xbf, 0xa1, + 0xe1, 0x06, 0x4d, 0x19, +}; +static const unsigned char kat2452_addin0[] = { + 0x1b, 0xdf, 0x68, 0x47, 0x94, 0x60, 0x27, 0x0d, 0x0b, 0x05, 0x81, 0x8d, + 0x80, 0xb4, 0xc6, 0x0f, 0x9b, 0xf3, 0xa5, 0xe6, 0x28, 0x56, 0x27, 0xc8, + 0xaf, 0x68, 0x9e, 0x67, 0xc7, 0x18, 0x83, 0xac, 0x2c, 0xcf, 0xe7, 0x2a, + 0xc5, 0x5e, 0x86, 0xaa, +}; +static const unsigned char kat2452_addin1[] = { + 0x66, 0xb2, 0x50, 0xdd, 0xc3, 0xee, 0x23, 0xb9, 0x79, 0x6a, 0x83, 0x33, + 0xcc, 0xa6, 0x8b, 0xf5, 0xab, 0xa4, 0x11, 0x64, 0xc0, 0xd3, 0xd3, 0x9a, + 0x08, 0x25, 0x63, 0xb1, 0x5f, 0xdf, 0x28, 0xf6, 0x35, 0xfa, 0x1e, 0x19, + 0xbd, 0x88, 0x6b, 0xf9, +}; +static const unsigned char kat2452_retbits[] = { + 0x9a, 0xd0, 0xe2, 0x44, 0x3c, 0x2c, 0xa9, 0x28, 0xe2, 0x4f, 0x1a, 0xd4, + 0xf7, 0x30, 0x39, 0x34, 0x04, 0x3a, 0xcc, 0x4e, 0x6e, 0x9f, 0x03, 0xeb, + 0x8c, 0xe3, 0x71, 0xe4, 0xe1, 0x2c, 0xee, 0x3c, 0x7c, 0xb9, 0x79, 0x13, + 0x20, 0x90, 0xc7, 0xd2, 0x30, 0xaf, 0x21, 0xf9, 0xb5, 0x13, 0x47, 0x98, + 0x36, 0x3e, 0x6e, 0x4c, 0xc8, 0x97, 0x27, 0xac, 0x75, 0xce, 0x29, 0x60, + 0x18, 0x0d, 0xb4, 0x30, +}; +static const struct drbg_kat_pr_false kat2452_t = { + 6, kat2452_entropyin, kat2452_nonce, kat2452_persstr, + kat2452_entropyinreseed, kat2452_addinreseed, kat2452_addin0, + kat2452_addin1, kat2452_retbits +}; +static const struct drbg_kat kat2452 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2452_t +}; + +static const unsigned char kat2453_entropyin[] = { + 0xc6, 0x6f, 0x6c, 0xde, 0x3d, 0x83, 0x77, 0xa8, 0x03, 0xca, 0x22, 0xf3, + 0x8e, 0xf3, 0x37, 0x9b, 0xfa, 0x3a, 0x8a, 0xb7, 0x7e, 0xdd, 0x2c, 0xf3, + 0x8a, 0xe0, 0x54, 0x06, 0xed, 0x94, 0x8d, 0xf9, 0xe0, 0xc1, 0xbf, 0xdd, + 0x5d, 0x6d, 0x99, 0xcf, +}; +static const unsigned char kat2453_nonce[] = {0}; +static const unsigned char kat2453_persstr[] = { + 0xd0, 0x82, 0x24, 0xbe, 0x28, 0xfd, 0x1f, 0xdb, 0x5c, 0x6e, 0x3a, 0x65, + 0xeb, 0xd1, 0x9f, 0x4f, 0x0e, 0xba, 0x13, 0x3f, 0x7f, 0x86, 0x18, 0xaf, + 0x0e, 0xcb, 0xa9, 0xdf, 0x84, 0x98, 0xd3, 0x87, 0xaf, 0x7a, 0xf9, 0x0b, + 0xd3, 0x56, 0x83, 0x3d, +}; +static const unsigned char kat2453_entropyinreseed[] = { + 0xfe, 0xa8, 0x71, 0x6f, 0xf0, 0x25, 0x40, 0xdd, 0x2e, 0xa3, 0x95, 0xe0, + 0xce, 0x19, 0xb7, 0x62, 0x35, 0x5f, 0xbb, 0x5e, 0x7f, 0x39, 0xd5, 0x25, + 0x02, 0x24, 0x07, 0xa6, 0x28, 0x96, 0xb3, 0xa0, 0x94, 0xfc, 0x0e, 0xca, + 0xcc, 0xb7, 0x7f, 0x21, +}; +static const unsigned char kat2453_addinreseed[] = { + 0x64, 0xe1, 0x6c, 0x0a, 0x34, 0x98, 0xb2, 0x69, 0x3e, 0x35, 0x9a, 0x27, + 0x23, 0x46, 0xef, 0xd1, 0x28, 0xbe, 0x5a, 0x5a, 0xe7, 0x38, 0x06, 0x8a, + 0x9e, 0x9f, 0x26, 0x7c, 0xe9, 0xdd, 0x7e, 0x8b, 0xcb, 0x36, 0xdd, 0x2e, + 0x54, 0x27, 0xe3, 0x6d, +}; +static const unsigned char kat2453_addin0[] = { + 0xc4, 0x7f, 0xa9, 0x27, 0x55, 0x84, 0xbc, 0xcd, 0x85, 0xd5, 0xa8, 0x4c, + 0x0a, 0xb3, 0xa1, 0x3a, 0x76, 0x30, 0x56, 0x7d, 0xc9, 0x69, 0xe0, 0x4c, + 0xdf, 0x3c, 0xb2, 0xa1, 0xb3, 0xd9, 0xcc, 0x79, 0xd4, 0x5b, 0x83, 0x20, + 0x26, 0x9a, 0x38, 0x0a, +}; +static const unsigned char kat2453_addin1[] = { + 0xad, 0x2e, 0x79, 0x88, 0x66, 0x4c, 0x31, 0xd1, 0xe5, 0xf9, 0xc0, 0x3d, + 0x8b, 0x5b, 0xa6, 0xaf, 0xd3, 0xbb, 0x4e, 0x23, 0x9d, 0x63, 0xfc, 0xe8, + 0xe6, 0x7a, 0x59, 0xad, 0x92, 0xee, 0x79, 0x56, 0x9e, 0x7c, 0x40, 0x9b, + 0xbf, 0xaf, 0x3d, 0x0c, +}; +static const unsigned char kat2453_retbits[] = { + 0xbd, 0xd9, 0xf5, 0xde, 0x8f, 0xdf, 0xa1, 0x11, 0x27, 0x1b, 0xf4, 0x04, + 0x44, 0x57, 0xdb, 0xd2, 0xa7, 0x30, 0xf8, 0x74, 0xb6, 0x87, 0x81, 0x59, + 0xac, 0xf1, 0xe7, 0xcd, 0x87, 0x96, 0x0c, 0xbe, 0x3a, 0x43, 0x7b, 0x0d, + 0x76, 0xdf, 0x37, 0x80, 0x1b, 0x02, 0x34, 0x6a, 0xcc, 0x0e, 0x25, 0xd0, + 0x2f, 0x7e, 0xd3, 0x6e, 0xc6, 0x12, 0x5b, 0xc3, 0xc4, 0x00, 0x15, 0xea, + 0x87, 0xcc, 0x41, 0x57, +}; +static const struct drbg_kat_pr_false kat2453_t = { + 7, kat2453_entropyin, kat2453_nonce, kat2453_persstr, + kat2453_entropyinreseed, kat2453_addinreseed, kat2453_addin0, + kat2453_addin1, kat2453_retbits +}; +static const struct drbg_kat kat2453 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2453_t +}; + +static const unsigned char kat2454_entropyin[] = { + 0x16, 0x39, 0x23, 0x81, 0x80, 0x97, 0x28, 0x1f, 0x32, 0x6f, 0x1e, 0x6a, + 0xea, 0x73, 0x19, 0x46, 0xbe, 0xd5, 0x96, 0xaf, 0x7d, 0x27, 0xf0, 0x5b, + 0x1e, 0x10, 0xbb, 0x99, 0x9d, 0xaa, 0xf6, 0xb8, 0xaa, 0x3b, 0x68, 0x2c, + 0x01, 0xa0, 0xda, 0x22, +}; +static const unsigned char kat2454_nonce[] = {0}; +static const unsigned char kat2454_persstr[] = { + 0x09, 0xbe, 0x1a, 0xef, 0x56, 0x1a, 0x95, 0x72, 0x27, 0x4d, 0x5f, 0xf4, + 0xa0, 0x11, 0xf1, 0x39, 0x8f, 0xb8, 0x9c, 0x41, 0x7c, 0xc6, 0x97, 0xfe, + 0x40, 0x26, 0xee, 0xec, 0x87, 0xcf, 0x2b, 0x91, 0x86, 0xaf, 0x54, 0x7a, + 0xd5, 0xf5, 0x64, 0xba, +}; +static const unsigned char kat2454_entropyinreseed[] = { + 0x6b, 0x16, 0x09, 0x4e, 0x75, 0x28, 0xee, 0xc7, 0x10, 0x2b, 0x66, 0xb3, + 0xc2, 0x4d, 0xc8, 0xfd, 0xa3, 0xf0, 0x8d, 0x50, 0x4c, 0x60, 0xec, 0x68, + 0x9a, 0x9e, 0x1d, 0x2b, 0x6c, 0xf1, 0xa0, 0x01, 0x5b, 0x9b, 0x91, 0x40, + 0xd1, 0xbc, 0x6d, 0x0b, +}; +static const unsigned char kat2454_addinreseed[] = { + 0xdc, 0x0c, 0x5a, 0x4f, 0x38, 0xc5, 0x72, 0x7a, 0x3f, 0xaa, 0x66, 0xde, + 0xe8, 0x37, 0xd0, 0xa7, 0xb8, 0xa5, 0x17, 0x53, 0x22, 0xf5, 0x09, 0xe3, + 0x92, 0x0b, 0xf8, 0xe3, 0xc3, 0x98, 0x06, 0xf1, 0xd9, 0x98, 0x42, 0xdd, + 0xfa, 0x44, 0x0e, 0x93, +}; +static const unsigned char kat2454_addin0[] = { + 0x74, 0x32, 0xee, 0x11, 0x67, 0x53, 0x1c, 0x70, 0x91, 0x0f, 0x8c, 0xae, + 0x72, 0xb9, 0xb0, 0x9a, 0xf1, 0x91, 0x85, 0x77, 0x6e, 0x58, 0x8a, 0x1b, + 0xa5, 0x02, 0x65, 0x6e, 0xf9, 0xd7, 0x52, 0xe8, 0x4a, 0x97, 0x7f, 0x24, + 0xee, 0x2e, 0x86, 0x25, +}; +static const unsigned char kat2454_addin1[] = { + 0x0c, 0x66, 0x93, 0x06, 0x44, 0xc2, 0xd3, 0x68, 0x0c, 0x10, 0x98, 0x79, + 0x93, 0x04, 0xd1, 0x23, 0x6c, 0xa4, 0x00, 0x6b, 0xa0, 0x60, 0xa8, 0x39, + 0x83, 0x7e, 0x68, 0x42, 0x3e, 0x62, 0x46, 0xe4, 0xd3, 0xf8, 0x51, 0x25, + 0x9c, 0xbb, 0x20, 0x6b, +}; +static const unsigned char kat2454_retbits[] = { + 0x8b, 0xca, 0xc9, 0x3f, 0x84, 0x51, 0x68, 0x91, 0xe6, 0x60, 0xe8, 0xe8, + 0x3f, 0x55, 0x2e, 0x38, 0xce, 0xa2, 0x04, 0xf6, 0xb5, 0xc4, 0xaa, 0x17, + 0x9d, 0x04, 0x83, 0xac, 0xae, 0xd2, 0x0e, 0x8c, 0x13, 0x5b, 0xf8, 0xdf, + 0x32, 0x57, 0xc3, 0xdf, 0xda, 0xd3, 0x47, 0x59, 0x86, 0xcd, 0x58, 0xb0, + 0x59, 0x29, 0xaa, 0xc0, 0xe4, 0x02, 0xc3, 0xab, 0xcc, 0xcf, 0x0c, 0x1d, + 0xe2, 0x2b, 0x97, 0x30, +}; +static const struct drbg_kat_pr_false kat2454_t = { + 8, kat2454_entropyin, kat2454_nonce, kat2454_persstr, + kat2454_entropyinreseed, kat2454_addinreseed, kat2454_addin0, + kat2454_addin1, kat2454_retbits +}; +static const struct drbg_kat kat2454 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2454_t +}; + +static const unsigned char kat2455_entropyin[] = { + 0x0f, 0x91, 0x06, 0x80, 0x19, 0x6d, 0x5d, 0x1c, 0x45, 0x7d, 0xd0, 0x1e, + 0xfa, 0xcf, 0xbe, 0x4d, 0xa9, 0x82, 0x6c, 0xe9, 0x44, 0x01, 0xda, 0x10, + 0x95, 0x19, 0x24, 0x4f, 0xcb, 0xc9, 0xec, 0x0b, 0x84, 0x78, 0x53, 0x81, + 0x9d, 0xd7, 0x75, 0x54, +}; +static const unsigned char kat2455_nonce[] = {0}; +static const unsigned char kat2455_persstr[] = { + 0xcf, 0x32, 0xcc, 0xd9, 0xf9, 0x2a, 0xc3, 0xb3, 0xc0, 0x38, 0x70, 0xec, + 0x3b, 0xfb, 0xbc, 0xf7, 0xaf, 0xab, 0xb9, 0xab, 0x77, 0x78, 0x76, 0xa8, + 0xc0, 0xc9, 0xa7, 0xfe, 0x52, 0x8e, 0xde, 0x33, 0x38, 0x24, 0x41, 0xf3, + 0xe4, 0x77, 0xc9, 0x49, +}; +static const unsigned char kat2455_entropyinreseed[] = { + 0x94, 0x9a, 0x91, 0x9f, 0x13, 0x61, 0xf4, 0x6d, 0x0b, 0xc5, 0x6e, 0xe5, + 0x41, 0x77, 0xff, 0x6f, 0xb0, 0xa2, 0x7b, 0xe6, 0x27, 0xdb, 0xc0, 0x25, + 0xee, 0x6b, 0xf2, 0xee, 0x35, 0xc9, 0x2f, 0x87, 0x15, 0xfb, 0xdd, 0xb4, + 0x55, 0x7c, 0x31, 0x70, +}; +static const unsigned char kat2455_addinreseed[] = { + 0x00, 0x05, 0xd3, 0xa7, 0x45, 0x01, 0xde, 0x95, 0x77, 0x3c, 0x1c, 0xaa, + 0x76, 0x0b, 0xa1, 0x53, 0x40, 0x2e, 0xa7, 0xb0, 0xb6, 0xcb, 0x42, 0xdb, + 0xc4, 0x53, 0x30, 0x0c, 0x5e, 0xa6, 0x18, 0xc0, 0x9a, 0x6c, 0x57, 0x26, + 0x43, 0x1a, 0xa5, 0x25, +}; +static const unsigned char kat2455_addin0[] = { + 0x5e, 0xbd, 0xa5, 0x99, 0x1f, 0x11, 0x54, 0x0e, 0xf4, 0x7a, 0xbc, 0x3e, + 0x85, 0x3c, 0x74, 0x70, 0x7a, 0x06, 0xf5, 0x6c, 0x07, 0xd1, 0x9e, 0x9d, + 0x72, 0x59, 0xef, 0xb4, 0xac, 0x2c, 0x3c, 0x74, 0x0d, 0x7b, 0x4f, 0x17, + 0xc5, 0x76, 0x9b, 0x51, +}; +static const unsigned char kat2455_addin1[] = { + 0x0b, 0xc4, 0x1c, 0x70, 0x5c, 0x7a, 0xc0, 0x13, 0xfe, 0x21, 0xae, 0xbb, + 0xf9, 0x4c, 0x05, 0xad, 0xe1, 0x29, 0xcf, 0x93, 0x58, 0xd6, 0x18, 0x13, + 0x0e, 0xf8, 0xe3, 0x81, 0x99, 0x70, 0xbc, 0xbf, 0x62, 0x36, 0x86, 0x38, + 0xc5, 0xb3, 0xb5, 0x38, +}; +static const unsigned char kat2455_retbits[] = { + 0x01, 0x71, 0x2c, 0x87, 0x08, 0xde, 0xb1, 0x0b, 0x96, 0x04, 0x39, 0xa4, + 0x77, 0x79, 0x72, 0xe6, 0x4b, 0x99, 0xe1, 0x88, 0x9f, 0x9b, 0xc1, 0xec, + 0x90, 0xac, 0xad, 0x50, 0x90, 0xb8, 0x3d, 0x85, 0x50, 0x7d, 0x99, 0x83, + 0x91, 0x50, 0x14, 0x25, 0x52, 0x4b, 0x77, 0xcc, 0xbb, 0x08, 0xd6, 0x26, + 0x73, 0x63, 0x1b, 0x16, 0x18, 0x08, 0xad, 0x02, 0x1d, 0xdb, 0xab, 0x2d, + 0x8f, 0x9e, 0x2e, 0xe9, +}; +static const struct drbg_kat_pr_false kat2455_t = { + 9, kat2455_entropyin, kat2455_nonce, kat2455_persstr, + kat2455_entropyinreseed, kat2455_addinreseed, kat2455_addin0, + kat2455_addin1, kat2455_retbits +}; +static const struct drbg_kat kat2455 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2455_t +}; + +static const unsigned char kat2456_entropyin[] = { + 0xc9, 0x4f, 0xdd, 0x11, 0x91, 0x06, 0xb1, 0x10, 0xa2, 0xa5, 0x78, 0xec, + 0x24, 0xc2, 0x4a, 0xc4, 0x1b, 0x75, 0x55, 0x81, 0xcd, 0x53, 0xd8, 0xe1, + 0x94, 0x18, 0x68, 0x42, 0x94, 0x48, 0xfe, 0xc7, 0xf5, 0xf1, 0xc8, 0x96, + 0x8b, 0xe6, 0x52, 0x7a, +}; +static const unsigned char kat2456_nonce[] = {0}; +static const unsigned char kat2456_persstr[] = { + 0x37, 0x4a, 0xd5, 0xf2, 0xf7, 0x4a, 0xc5, 0x6c, 0x6f, 0x6f, 0x83, 0x6e, + 0xc2, 0x1a, 0xf9, 0x6f, 0xf2, 0x48, 0x34, 0x01, 0x46, 0x44, 0x44, 0x3a, + 0xbf, 0x9c, 0x8a, 0x84, 0xa2, 0x84, 0xf8, 0x05, 0x00, 0x1a, 0x6f, 0x11, + 0x41, 0x23, 0x77, 0x37, +}; +static const unsigned char kat2456_entropyinreseed[] = { + 0x3a, 0x1c, 0xb7, 0x2d, 0xc5, 0x4d, 0xac, 0xa4, 0x8c, 0x75, 0xb7, 0x06, + 0x45, 0x52, 0xe3, 0x7a, 0x6f, 0xc0, 0xa7, 0x01, 0xd1, 0x45, 0x79, 0x2f, + 0x56, 0xe0, 0xbf, 0x2b, 0x3a, 0xda, 0xe7, 0xed, 0x8a, 0x29, 0x8f, 0x3b, + 0x65, 0x7f, 0x22, 0xca, +}; +static const unsigned char kat2456_addinreseed[] = { + 0xed, 0xce, 0xbf, 0x4d, 0x5f, 0x42, 0xa5, 0x93, 0xf3, 0x35, 0x96, 0x0f, + 0x77, 0x85, 0x3b, 0x1e, 0x83, 0x3b, 0xa9, 0xc2, 0x45, 0xa1, 0x3f, 0xe9, + 0xa6, 0x40, 0xb7, 0x8f, 0x1d, 0x83, 0x25, 0xe9, 0x20, 0x4c, 0xe7, 0xcb, + 0x48, 0x70, 0x3d, 0x2c, +}; +static const unsigned char kat2456_addin0[] = { + 0x07, 0x84, 0xb4, 0xe8, 0x3a, 0x6a, 0xd2, 0x27, 0xb7, 0x9a, 0xfa, 0x86, + 0xc2, 0xf3, 0x9b, 0x98, 0xe9, 0x2d, 0x50, 0xfb, 0x68, 0x56, 0xf1, 0x27, + 0x44, 0xc4, 0xdc, 0xa7, 0x1b, 0xb3, 0x32, 0xdd, 0x15, 0x9d, 0x6a, 0x00, + 0x05, 0x07, 0xf4, 0x5d, +}; +static const unsigned char kat2456_addin1[] = { + 0x83, 0xeb, 0x92, 0xe0, 0xdb, 0x4a, 0x25, 0x38, 0xff, 0x8b, 0x1d, 0x89, + 0x0c, 0xd9, 0x0f, 0x17, 0xb3, 0xa8, 0x8a, 0xb4, 0x05, 0x62, 0x9c, 0x3c, + 0x36, 0x31, 0xa6, 0xc3, 0xaf, 0xc5, 0xb7, 0x1d, 0x17, 0x20, 0x37, 0xe9, + 0xc3, 0x71, 0x1d, 0x9f, +}; +static const unsigned char kat2456_retbits[] = { + 0xac, 0xf4, 0x83, 0x56, 0x72, 0x35, 0xea, 0x35, 0x44, 0xa0, 0x9a, 0xab, + 0x42, 0x3d, 0x74, 0x7f, 0x84, 0x15, 0xf0, 0xc9, 0x0e, 0x76, 0x2a, 0x6a, + 0x28, 0x55, 0x1c, 0xa9, 0x36, 0xf3, 0x28, 0x5c, 0xb3, 0x19, 0x0e, 0x10, + 0x11, 0xea, 0x43, 0xb8, 0xe5, 0xd1, 0x7d, 0x02, 0x26, 0x87, 0xf9, 0xd0, + 0x39, 0xd7, 0x7b, 0x0a, 0x11, 0x39, 0x62, 0xef, 0x3e, 0xb0, 0xe9, 0x1a, + 0x47, 0xdc, 0x21, 0x6c, +}; +static const struct drbg_kat_pr_false kat2456_t = { + 10, kat2456_entropyin, kat2456_nonce, kat2456_persstr, + kat2456_entropyinreseed, kat2456_addinreseed, kat2456_addin0, + kat2456_addin1, kat2456_retbits +}; +static const struct drbg_kat kat2456 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2456_t +}; + +static const unsigned char kat2457_entropyin[] = { + 0x24, 0xd8, 0xf5, 0xdc, 0x4c, 0x68, 0x1c, 0x12, 0x55, 0xc1, 0x6b, 0x27, + 0xa4, 0x51, 0x1e, 0x26, 0xcd, 0x1a, 0x8f, 0x32, 0xec, 0xb8, 0x31, 0xcb, + 0x01, 0x23, 0xbe, 0x09, 0x01, 0xe9, 0xed, 0x65, 0x30, 0xdc, 0xd7, 0x24, + 0xa0, 0x2d, 0x5e, 0x35, +}; +static const unsigned char kat2457_nonce[] = {0}; +static const unsigned char kat2457_persstr[] = { + 0x29, 0x9a, 0x25, 0x05, 0x55, 0xe2, 0x82, 0x0b, 0xe1, 0xbc, 0xfb, 0xb5, + 0xd6, 0x38, 0x5f, 0xab, 0x29, 0x4a, 0x4a, 0xbd, 0x31, 0xc5, 0x50, 0xdf, + 0x88, 0x05, 0x38, 0x8e, 0x23, 0x8f, 0xe3, 0x06, 0xfa, 0xa0, 0x1e, 0xf1, + 0xe7, 0xbd, 0xf0, 0xfa, +}; +static const unsigned char kat2457_entropyinreseed[] = { + 0x02, 0x6e, 0xa6, 0xd7, 0xcb, 0x2a, 0x3d, 0x49, 0xd4, 0xe4, 0xcd, 0xbe, + 0x0b, 0x80, 0x5a, 0xd7, 0xb4, 0xe8, 0xbc, 0xf6, 0xc5, 0x5d, 0x53, 0xf3, + 0x4e, 0x07, 0x72, 0x1a, 0xc2, 0xf5, 0xd5, 0x91, 0xa3, 0xe3, 0xf4, 0x6f, + 0xe3, 0x9d, 0x99, 0xb6, +}; +static const unsigned char kat2457_addinreseed[] = { + 0x08, 0xc7, 0xc8, 0x45, 0x8c, 0x03, 0xd2, 0x28, 0xfc, 0x83, 0x27, 0x67, + 0x22, 0xc0, 0xd6, 0x00, 0x4f, 0xf7, 0x57, 0x0b, 0x63, 0x40, 0xe5, 0x18, + 0x37, 0xb8, 0x06, 0xc0, 0xa1, 0x2c, 0x0b, 0x56, 0x3f, 0x40, 0x7b, 0xa0, + 0xae, 0x45, 0xc5, 0xa7, +}; +static const unsigned char kat2457_addin0[] = { + 0xaf, 0x51, 0x6e, 0x36, 0xcf, 0x50, 0x75, 0x00, 0x48, 0x7e, 0x92, 0x49, + 0x5b, 0x67, 0x4e, 0x4d, 0x8c, 0xf0, 0x8c, 0xb1, 0x97, 0xf5, 0xdb, 0x36, + 0x23, 0x23, 0x8c, 0xa6, 0x3e, 0x4c, 0xcf, 0x74, 0x6d, 0xb5, 0x69, 0x49, + 0x4d, 0x02, 0x91, 0xa5, +}; +static const unsigned char kat2457_addin1[] = { + 0xec, 0xaf, 0x4f, 0x7f, 0x2c, 0x57, 0x3e, 0xb3, 0xad, 0xde, 0x25, 0x9c, + 0x25, 0xed, 0x2e, 0x8d, 0xc3, 0xaa, 0x08, 0x86, 0x3c, 0x78, 0x96, 0x5c, + 0xaa, 0x26, 0xbc, 0x86, 0x6f, 0xad, 0x1f, 0x2f, 0x3d, 0x4d, 0x0a, 0x72, + 0xea, 0xf0, 0x17, 0x26, +}; +static const unsigned char kat2457_retbits[] = { + 0x70, 0x80, 0x20, 0x5a, 0x64, 0x37, 0x89, 0x75, 0xcf, 0x2d, 0x81, 0x15, + 0x9c, 0x2f, 0x48, 0xac, 0x7e, 0xd3, 0xec, 0xf3, 0x66, 0xe4, 0xef, 0x42, + 0xe2, 0x64, 0x7a, 0x1b, 0xc0, 0x59, 0x8c, 0x9e, 0xe4, 0xa4, 0x09, 0x68, + 0xf3, 0xd3, 0x4c, 0xcf, 0xc5, 0x53, 0xb9, 0x74, 0x82, 0xcc, 0x27, 0x66, + 0x87, 0x60, 0xd5, 0x21, 0xd0, 0x9b, 0xf4, 0x0d, 0xbb, 0x4e, 0xd8, 0xdb, + 0x80, 0xf0, 0xc6, 0x40, +}; +static const struct drbg_kat_pr_false kat2457_t = { + 11, kat2457_entropyin, kat2457_nonce, kat2457_persstr, + kat2457_entropyinreseed, kat2457_addinreseed, kat2457_addin0, + kat2457_addin1, kat2457_retbits +}; +static const struct drbg_kat kat2457 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2457_t +}; + +static const unsigned char kat2458_entropyin[] = { + 0xce, 0xfa, 0xe9, 0xa6, 0x1b, 0xaa, 0x69, 0xa4, 0xd4, 0xc7, 0x0b, 0xa1, + 0x21, 0x67, 0x0b, 0x16, 0x45, 0x46, 0xe3, 0xcf, 0xe2, 0x62, 0x4f, 0x70, + 0xa2, 0xe7, 0x7e, 0x00, 0xf6, 0x2d, 0x44, 0x31, 0xa2, 0x69, 0xf5, 0x72, + 0x69, 0xb8, 0x73, 0x37, +}; +static const unsigned char kat2458_nonce[] = {0}; +static const unsigned char kat2458_persstr[] = { + 0x15, 0xb7, 0xe8, 0xe9, 0x11, 0xb2, 0x24, 0x1a, 0x9d, 0x30, 0x01, 0xc7, + 0xf6, 0x49, 0xca, 0x0a, 0xce, 0x3b, 0x62, 0xdd, 0x0e, 0xc2, 0x6a, 0x11, + 0xad, 0x86, 0x76, 0xf6, 0x13, 0xb2, 0xf6, 0x88, 0x2e, 0x46, 0x57, 0x89, + 0x34, 0x30, 0xbd, 0x5a, +}; +static const unsigned char kat2458_entropyinreseed[] = { + 0xec, 0x20, 0x18, 0x3b, 0x60, 0x3a, 0xac, 0xe2, 0x0a, 0x57, 0xe7, 0x04, + 0xea, 0x5f, 0x8e, 0xfe, 0x06, 0xbb, 0xb0, 0x94, 0x77, 0xca, 0x30, 0x5f, + 0x3c, 0xd8, 0x5d, 0xfe, 0x30, 0xcb, 0xd2, 0xec, 0x81, 0x72, 0xb7, 0xd5, + 0x20, 0x85, 0x79, 0xcb, +}; +static const unsigned char kat2458_addinreseed[] = { + 0x3c, 0xab, 0xd3, 0x7c, 0x7b, 0xf1, 0x02, 0x1b, 0xbc, 0x0b, 0x83, 0xce, + 0xa5, 0x6e, 0x18, 0xf6, 0xb5, 0xf9, 0x9f, 0x95, 0x57, 0xd4, 0x8b, 0x62, + 0x6f, 0x0a, 0xb7, 0x10, 0x34, 0xd7, 0x47, 0x8e, 0x08, 0xa6, 0x8b, 0x72, + 0x1d, 0xae, 0xc8, 0x58, +}; +static const unsigned char kat2458_addin0[] = { + 0x82, 0x34, 0xdf, 0x65, 0x89, 0x76, 0x31, 0xff, 0x8c, 0x13, 0x93, 0x78, + 0xd8, 0x02, 0xd8, 0x4a, 0x1d, 0xb7, 0x3c, 0x1a, 0x2f, 0x2e, 0x1b, 0xb5, + 0xe6, 0xbf, 0x05, 0x62, 0xaa, 0x2c, 0x1e, 0x91, 0xd2, 0x0d, 0xa9, 0x7e, + 0x63, 0x8d, 0x78, 0x20, +}; +static const unsigned char kat2458_addin1[] = { + 0x14, 0xeb, 0x87, 0xa5, 0xbb, 0xae, 0x31, 0x9b, 0x63, 0xd7, 0xf4, 0x60, + 0x19, 0x45, 0x76, 0x3e, 0x47, 0xdf, 0x63, 0xdb, 0x18, 0xa0, 0xd8, 0x7d, + 0x7f, 0xf3, 0xfc, 0x6c, 0xba, 0x87, 0xf2, 0x6c, 0xaa, 0x7f, 0x7d, 0x5f, + 0xeb, 0xee, 0xfe, 0x15, +}; +static const unsigned char kat2458_retbits[] = { + 0x7b, 0x0e, 0xaf, 0x29, 0x74, 0x50, 0x90, 0x82, 0x00, 0x07, 0x31, 0xe2, + 0x5a, 0xa4, 0x42, 0x74, 0x5b, 0x88, 0xe4, 0x1b, 0xb5, 0x54, 0xc9, 0xe8, + 0x4c, 0xf8, 0xf9, 0xbf, 0x63, 0x71, 0x7e, 0xa5, 0x56, 0x87, 0x6f, 0x74, + 0x66, 0x6c, 0xe5, 0x36, 0x8a, 0x2f, 0x30, 0x24, 0x14, 0x9e, 0x7c, 0x55, + 0x74, 0xcf, 0xfc, 0xb6, 0xcd, 0xf8, 0x98, 0x2d, 0x11, 0xc6, 0xd7, 0xc2, + 0xa1, 0x3d, 0x7e, 0xe9, +}; +static const struct drbg_kat_pr_false kat2458_t = { + 12, kat2458_entropyin, kat2458_nonce, kat2458_persstr, + kat2458_entropyinreseed, kat2458_addinreseed, kat2458_addin0, + kat2458_addin1, kat2458_retbits +}; +static const struct drbg_kat kat2458 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2458_t +}; + +static const unsigned char kat2459_entropyin[] = { + 0xc8, 0x77, 0xab, 0x5d, 0x00, 0x72, 0x91, 0x81, 0x81, 0x94, 0x2d, 0x3c, + 0xf1, 0xb3, 0x2d, 0x2f, 0x62, 0x14, 0xb5, 0x9a, 0x35, 0xa7, 0x20, 0xa0, + 0x9c, 0xf6, 0x9a, 0xc1, 0xd9, 0xdb, 0xa8, 0xca, 0x4b, 0x0d, 0x14, 0xda, + 0x8e, 0xf7, 0xbe, 0x2c, +}; +static const unsigned char kat2459_nonce[] = {0}; +static const unsigned char kat2459_persstr[] = { + 0xce, 0x31, 0x8e, 0x6f, 0x05, 0xb2, 0xb1, 0x03, 0x1f, 0x2f, 0x90, 0x82, + 0x82, 0xcf, 0x36, 0x10, 0xe6, 0x06, 0x6e, 0xb0, 0xac, 0x86, 0xa2, 0x92, + 0x9d, 0xd4, 0xc0, 0xd3, 0xdb, 0x47, 0xeb, 0xa8, 0xfe, 0xce, 0xc9, 0x0f, + 0xfa, 0x69, 0x3b, 0xfc, +}; +static const unsigned char kat2459_entropyinreseed[] = { + 0x11, 0x2a, 0xbc, 0x16, 0x8f, 0x5b, 0xe2, 0xfb, 0x04, 0x4c, 0x7e, 0x4f, + 0x01, 0x4c, 0xd5, 0x8d, 0xd3, 0xa6, 0xc7, 0xbf, 0x21, 0xfb, 0x9d, 0x41, + 0xe0, 0x09, 0x2d, 0x39, 0x01, 0x57, 0xcd, 0x04, 0x98, 0xe5, 0x40, 0x0d, + 0xcd, 0x6c, 0x28, 0x16, +}; +static const unsigned char kat2459_addinreseed[] = { + 0x4c, 0x7f, 0xe1, 0xb1, 0xf1, 0xb8, 0x96, 0xfe, 0xfb, 0x2d, 0xb8, 0xcd, + 0xb3, 0x31, 0xf8, 0xe9, 0x12, 0x55, 0x47, 0x4c, 0xcc, 0x25, 0x11, 0xa3, + 0x0d, 0x04, 0x6c, 0x2d, 0xe3, 0x58, 0x14, 0x42, 0xe6, 0xd1, 0x79, 0x33, + 0x81, 0xc1, 0xb1, 0xe6, +}; +static const unsigned char kat2459_addin0[] = { + 0xfe, 0xc1, 0xce, 0x62, 0xc8, 0xf8, 0xbf, 0x13, 0xe2, 0x1c, 0x20, 0xfd, + 0x64, 0x52, 0x66, 0x34, 0x98, 0xf8, 0xf8, 0x08, 0x13, 0xb0, 0xf8, 0xf5, + 0xf6, 0xbd, 0xd1, 0xdf, 0x3f, 0xc1, 0xad, 0x89, 0x4c, 0x86, 0xfa, 0x98, + 0x7a, 0x58, 0xbf, 0x2c, +}; +static const unsigned char kat2459_addin1[] = { + 0xcd, 0x07, 0x70, 0xca, 0x92, 0x4a, 0x00, 0xf7, 0xe1, 0x03, 0xab, 0x07, + 0xdf, 0xd3, 0xd0, 0x4d, 0xc1, 0xa8, 0x8a, 0x7a, 0x2e, 0x43, 0x43, 0x86, + 0xf7, 0x9d, 0x77, 0x29, 0x78, 0x1f, 0xb1, 0x97, 0x84, 0x50, 0xdc, 0x37, + 0x1a, 0x0b, 0x00, 0xf1, +}; +static const unsigned char kat2459_retbits[] = { + 0x74, 0x18, 0xbd, 0xcb, 0x44, 0xc4, 0x5c, 0xbe, 0x14, 0xc2, 0xb3, 0xa4, + 0x00, 0x91, 0x99, 0xb5, 0xa8, 0x69, 0x42, 0x62, 0x41, 0xc5, 0xe9, 0xb3, + 0xa2, 0x82, 0xd6, 0x19, 0x6c, 0xd6, 0x67, 0x1f, 0x0b, 0x4c, 0x32, 0x01, + 0x13, 0x59, 0x36, 0xeb, 0xfb, 0x79, 0x30, 0xa3, 0xfb, 0x54, 0xfb, 0x6a, + 0xf1, 0x5c, 0x2d, 0x15, 0x26, 0x8e, 0x25, 0x35, 0xd7, 0xe0, 0x15, 0x7b, + 0x7a, 0x7e, 0x34, 0xde, +}; +static const struct drbg_kat_pr_false kat2459_t = { + 13, kat2459_entropyin, kat2459_nonce, kat2459_persstr, + kat2459_entropyinreseed, kat2459_addinreseed, kat2459_addin0, + kat2459_addin1, kat2459_retbits +}; +static const struct drbg_kat kat2459 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2459_t +}; + +static const unsigned char kat2460_entropyin[] = { + 0x59, 0xc1, 0xec, 0x4d, 0x0a, 0xbe, 0x87, 0xcc, 0x1f, 0x1c, 0x0c, 0xad, + 0xdd, 0x94, 0xb0, 0x66, 0x97, 0xb1, 0x70, 0xd0, 0x6b, 0x2c, 0x15, 0x75, + 0x62, 0xc4, 0x3a, 0xd1, 0x0a, 0x3c, 0xbd, 0x5c, 0x3b, 0x4b, 0xe3, 0x35, + 0xbc, 0x2b, 0x50, 0xcc, +}; +static const unsigned char kat2460_nonce[] = {0}; +static const unsigned char kat2460_persstr[] = { + 0xfb, 0xec, 0x1b, 0x40, 0x89, 0x78, 0xe6, 0x7e, 0xe0, 0x75, 0xa7, 0xb7, + 0x7b, 0x9f, 0x36, 0xd0, 0xe6, 0x22, 0xae, 0x3e, 0x65, 0x8a, 0xd0, 0x9e, + 0x09, 0xad, 0x2d, 0x48, 0x1e, 0xf3, 0x1e, 0x47, 0x27, 0xa3, 0xbf, 0xc8, + 0xe2, 0x25, 0x66, 0x4a, +}; +static const unsigned char kat2460_entropyinreseed[] = { + 0xae, 0xfc, 0xc4, 0x7d, 0x5e, 0x11, 0x9e, 0x32, 0x81, 0x95, 0xa1, 0xf3, + 0x22, 0x65, 0x4e, 0xc0, 0xff, 0x4c, 0x9a, 0x74, 0xe2, 0xdb, 0xd3, 0x03, + 0x18, 0x16, 0xfc, 0xa0, 0x11, 0x8b, 0xf2, 0x20, 0x98, 0xdb, 0x30, 0x93, + 0x3b, 0x9c, 0x09, 0xa7, +}; +static const unsigned char kat2460_addinreseed[] = { + 0x13, 0x80, 0xe2, 0x0a, 0x63, 0x9d, 0x38, 0xf2, 0xf7, 0x2b, 0x7b, 0x00, + 0x40, 0x0f, 0x24, 0xfb, 0xc2, 0x71, 0x59, 0xfb, 0x52, 0xf8, 0x90, 0x23, + 0x42, 0x9b, 0x45, 0xc3, 0xd8, 0x22, 0xc3, 0x36, 0x34, 0xb1, 0x9d, 0x4b, + 0xa9, 0xb6, 0x20, 0x4c, +}; +static const unsigned char kat2460_addin0[] = { + 0x5f, 0x72, 0x05, 0xd8, 0x7d, 0x0a, 0x98, 0x68, 0x23, 0x4e, 0xeb, 0x8c, + 0x4a, 0xe4, 0x2c, 0xd4, 0x7c, 0x03, 0x98, 0x3b, 0x77, 0xdf, 0xaa, 0x84, + 0x63, 0x7b, 0x40, 0x80, 0xdf, 0x13, 0x44, 0x43, 0x88, 0x9a, 0xa0, 0x42, + 0xc7, 0x7b, 0x7f, 0x78, +}; +static const unsigned char kat2460_addin1[] = { + 0xfb, 0x6d, 0x48, 0x6f, 0xd7, 0x58, 0x60, 0x36, 0x00, 0x3f, 0xfc, 0xe8, + 0x86, 0x5e, 0x47, 0x94, 0x98, 0xfe, 0x53, 0x0f, 0x9a, 0xe2, 0x9e, 0x01, + 0xf9, 0x8d, 0x4a, 0x2f, 0x7b, 0x66, 0x5b, 0x6a, 0x93, 0x29, 0x45, 0x0b, + 0x0f, 0xb6, 0xff, 0xb1, +}; +static const unsigned char kat2460_retbits[] = { + 0x0d, 0x3d, 0x8c, 0x9f, 0xf8, 0x6f, 0xb5, 0x6b, 0xf3, 0x62, 0x78, 0x7f, + 0x47, 0x4f, 0x83, 0x80, 0x66, 0xfa, 0x74, 0x83, 0xa9, 0x58, 0xc2, 0x3f, + 0x75, 0x2b, 0xe6, 0xe2, 0x1c, 0xb4, 0x2f, 0xee, 0x11, 0xd8, 0xdc, 0x53, + 0x39, 0x65, 0x08, 0xf9, 0xfd, 0x51, 0x22, 0xd0, 0x4e, 0x41, 0xd0, 0xe0, + 0xc9, 0x49, 0xd5, 0x0c, 0x46, 0xd5, 0x1d, 0x0a, 0xc8, 0x24, 0xb6, 0xf4, + 0x6b, 0x5d, 0xf0, 0x88, +}; +static const struct drbg_kat_pr_false kat2460_t = { + 14, kat2460_entropyin, kat2460_nonce, kat2460_persstr, + kat2460_entropyinreseed, kat2460_addinreseed, kat2460_addin0, + kat2460_addin1, kat2460_retbits +}; +static const struct drbg_kat kat2460 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2460_t +}; + +static const unsigned char kat2461_entropyin[] = { + 0x21, 0xa5, 0x3c, 0x17, 0x66, 0x1a, 0xed, 0x92, 0x95, 0x0f, 0xf4, 0xfd, + 0xf4, 0xab, 0x8f, 0xa5, 0xdc, 0x44, 0xe9, 0x9f, 0x88, 0xaa, 0x95, 0x3e, + 0x19, 0xb4, 0xbe, 0x78, 0xba, 0x75, 0xf2, 0x67, 0xf6, 0x70, 0x34, 0xa1, + 0x56, 0x6e, 0x83, 0x3e, +}; +static const unsigned char kat2461_nonce[] = {0}; +static const unsigned char kat2461_persstr[] = {0}; +static const unsigned char kat2461_entropyinreseed[] = { + 0x1e, 0xcb, 0x61, 0xa5, 0xdd, 0x70, 0xb1, 0x67, 0xd6, 0x55, 0x77, 0x41, + 0x5c, 0x2f, 0xb8, 0x12, 0xea, 0x20, 0xb3, 0x25, 0xd2, 0xb5, 0x31, 0x58, + 0x69, 0x7c, 0xf9, 0x7c, 0x81, 0xd7, 0x9e, 0x84, 0x99, 0xf7, 0x45, 0x40, + 0x13, 0x7f, 0xd1, 0xe1, +}; +static const unsigned char kat2461_addinreseed[] = {0}; +static const unsigned char kat2461_addin0[] = {0}; +static const unsigned char kat2461_addin1[] = {0}; +static const unsigned char kat2461_retbits[] = { + 0x11, 0xa0, 0x7b, 0x22, 0x31, 0x91, 0x6f, 0x99, 0xc3, 0xf7, 0xa0, 0x7d, + 0x14, 0x51, 0xab, 0x94, 0x0d, 0x2d, 0x66, 0x3c, 0x97, 0x29, 0xc1, 0x85, + 0x71, 0x70, 0xa3, 0x16, 0x55, 0x07, 0x8a, 0x82, 0x74, 0xec, 0x4a, 0x90, + 0x31, 0xbc, 0xfd, 0x2a, 0xbb, 0x1a, 0xe5, 0x81, 0x3f, 0x49, 0x70, 0xa7, + 0x16, 0xe3, 0xd1, 0x42, 0x87, 0xe4, 0xf2, 0x1e, 0x01, 0x32, 0x3f, 0xdf, + 0xff, 0xb7, 0x61, 0x87, +}; +static const struct drbg_kat_pr_false kat2461_t = { + 0, kat2461_entropyin, kat2461_nonce, kat2461_persstr, + kat2461_entropyinreseed, kat2461_addinreseed, kat2461_addin0, + kat2461_addin1, kat2461_retbits +}; +static const struct drbg_kat kat2461 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2461_t +}; + +static const unsigned char kat2462_entropyin[] = { + 0x85, 0x1a, 0x84, 0x9e, 0x0a, 0xb6, 0xc0, 0x0d, 0x14, 0x71, 0x88, 0xd2, + 0xe8, 0xcf, 0x01, 0xbc, 0x50, 0xd3, 0x4a, 0xdf, 0x22, 0xec, 0x81, 0x0c, + 0xa9, 0x68, 0x06, 0x02, 0x81, 0xf8, 0xfa, 0xa6, 0x43, 0x06, 0x42, 0x81, + 0xe3, 0xfa, 0x97, 0xcb, +}; +static const unsigned char kat2462_nonce[] = {0}; +static const unsigned char kat2462_persstr[] = {0}; +static const unsigned char kat2462_entropyinreseed[] = { + 0x9b, 0xf4, 0xc8, 0xd0, 0xa8, 0x98, 0x86, 0x5c, 0xc1, 0xcb, 0x0d, 0xe2, + 0x78, 0xfc, 0xcb, 0x75, 0x62, 0x83, 0xe6, 0xab, 0xa0, 0x20, 0xa4, 0x84, + 0x87, 0x6d, 0x27, 0x9e, 0x41, 0x31, 0x05, 0x58, 0x15, 0x9f, 0xdb, 0x0a, + 0x3c, 0x88, 0xf7, 0xac, +}; +static const unsigned char kat2462_addinreseed[] = {0}; +static const unsigned char kat2462_addin0[] = {0}; +static const unsigned char kat2462_addin1[] = {0}; +static const unsigned char kat2462_retbits[] = { + 0xf7, 0xd7, 0x0a, 0xd6, 0x77, 0x67, 0x85, 0x49, 0x7f, 0x7d, 0xf3, 0xac, + 0xfc, 0x24, 0x21, 0xb1, 0x4e, 0x4e, 0x76, 0xb6, 0x45, 0x85, 0xaf, 0xdd, + 0xef, 0xf3, 0xdc, 0x73, 0x9b, 0x85, 0x1c, 0xaf, 0x73, 0xb8, 0x55, 0x03, + 0x39, 0x9b, 0x08, 0x15, 0x3e, 0x6d, 0xf7, 0x3b, 0xdb, 0x0a, 0xa3, 0xa8, + 0x45, 0xe2, 0xcd, 0xfe, 0xdd, 0x72, 0x40, 0x93, 0xb9, 0x47, 0x8f, 0x54, + 0xaf, 0xd1, 0xad, 0xfb, +}; +static const struct drbg_kat_pr_false kat2462_t = { + 1, kat2462_entropyin, kat2462_nonce, kat2462_persstr, + kat2462_entropyinreseed, kat2462_addinreseed, kat2462_addin0, + kat2462_addin1, kat2462_retbits +}; +static const struct drbg_kat kat2462 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2462_t +}; + +static const unsigned char kat2463_entropyin[] = { + 0x64, 0x8f, 0x7e, 0xff, 0xb3, 0x31, 0xec, 0x30, 0xce, 0xd4, 0x03, 0x98, + 0xcc, 0xf2, 0x34, 0x3e, 0xaa, 0xc8, 0x85, 0xc4, 0x58, 0xba, 0x7a, 0xb7, + 0x0b, 0x9f, 0x0f, 0xaa, 0x91, 0x80, 0xa9, 0xa0, 0xe3, 0x4a, 0x13, 0x0b, + 0x42, 0x2c, 0x56, 0x97, +}; +static const unsigned char kat2463_nonce[] = {0}; +static const unsigned char kat2463_persstr[] = {0}; +static const unsigned char kat2463_entropyinreseed[] = { + 0xcd, 0x13, 0xb1, 0xc9, 0xd9, 0x5f, 0x25, 0x84, 0xf8, 0x55, 0x01, 0xad, + 0xbf, 0x5d, 0xcf, 0x1e, 0x78, 0xc2, 0xd3, 0x43, 0x4a, 0xd6, 0x24, 0x5d, + 0x3b, 0xae, 0x2a, 0xa4, 0xd1, 0x52, 0x00, 0xe6, 0xf3, 0x4b, 0xab, 0xe7, + 0x63, 0x41, 0x58, 0x49, +}; +static const unsigned char kat2463_addinreseed[] = {0}; +static const unsigned char kat2463_addin0[] = {0}; +static const unsigned char kat2463_addin1[] = {0}; +static const unsigned char kat2463_retbits[] = { + 0x67, 0x82, 0x3e, 0x4a, 0x9f, 0xc6, 0xff, 0x5f, 0x2a, 0x79, 0x85, 0x34, + 0x1b, 0xae, 0xf1, 0x6d, 0xa4, 0x6e, 0xc3, 0x35, 0x44, 0x5d, 0xa1, 0x9f, + 0xce, 0xe9, 0x65, 0x0f, 0xc0, 0x2c, 0xb7, 0x51, 0x2e, 0xcf, 0x47, 0xf8, + 0x91, 0x19, 0x75, 0xa4, 0xa9, 0xd3, 0x9f, 0xe8, 0x49, 0x98, 0x38, 0x86, + 0x23, 0x05, 0xf1, 0xe5, 0x54, 0xff, 0x80, 0x21, 0xab, 0xe5, 0x0d, 0x9b, + 0x66, 0x08, 0x8c, 0x9b, +}; +static const struct drbg_kat_pr_false kat2463_t = { + 2, kat2463_entropyin, kat2463_nonce, kat2463_persstr, + kat2463_entropyinreseed, kat2463_addinreseed, kat2463_addin0, + kat2463_addin1, kat2463_retbits +}; +static const struct drbg_kat kat2463 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2463_t +}; + +static const unsigned char kat2464_entropyin[] = { + 0x97, 0x45, 0x70, 0x0e, 0x52, 0x2a, 0xca, 0xc8, 0x00, 0x2f, 0x7d, 0x18, + 0x30, 0x84, 0x2a, 0xee, 0x78, 0x8d, 0xe5, 0xf1, 0x61, 0x2d, 0xcf, 0x2b, + 0xf8, 0xff, 0xe9, 0x4e, 0x02, 0xb1, 0xd8, 0xa3, 0x54, 0xa5, 0x52, 0x8f, + 0x7e, 0x01, 0x14, 0x07, +}; +static const unsigned char kat2464_nonce[] = {0}; +static const unsigned char kat2464_persstr[] = {0}; +static const unsigned char kat2464_entropyinreseed[] = { + 0x59, 0xc8, 0xa3, 0xcf, 0x8e, 0x09, 0xb4, 0x7f, 0x6e, 0xdb, 0xae, 0x25, + 0x19, 0x72, 0xfd, 0x22, 0x58, 0x62, 0x67, 0x27, 0x32, 0xd1, 0xa7, 0xc0, + 0x67, 0x85, 0xc5, 0x84, 0xf7, 0x39, 0x54, 0x5f, 0xfb, 0x65, 0xfb, 0xd3, + 0x93, 0x65, 0xcc, 0x4e, +}; +static const unsigned char kat2464_addinreseed[] = {0}; +static const unsigned char kat2464_addin0[] = {0}; +static const unsigned char kat2464_addin1[] = {0}; +static const unsigned char kat2464_retbits[] = { + 0x92, 0x59, 0xed, 0x9b, 0xd8, 0x44, 0xcb, 0x40, 0x1c, 0x8e, 0x55, 0x45, + 0x9e, 0x51, 0xe1, 0x60, 0x12, 0x6d, 0xd2, 0xdb, 0xe6, 0x4a, 0x07, 0x60, + 0x61, 0x01, 0x86, 0x1f, 0x1d, 0xc9, 0xff, 0x20, 0xbe, 0x87, 0xeb, 0xc6, + 0x3a, 0x0d, 0xf0, 0x88, 0x4f, 0x4b, 0x39, 0xcb, 0x1d, 0x4a, 0xc6, 0xba, + 0x26, 0xdf, 0x50, 0xd9, 0x83, 0x86, 0x2e, 0x4d, 0x27, 0xe5, 0x70, 0xb2, + 0xd5, 0x03, 0xbe, 0xcf, +}; +static const struct drbg_kat_pr_false kat2464_t = { + 3, kat2464_entropyin, kat2464_nonce, kat2464_persstr, + kat2464_entropyinreseed, kat2464_addinreseed, kat2464_addin0, + kat2464_addin1, kat2464_retbits +}; +static const struct drbg_kat kat2464 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2464_t +}; + +static const unsigned char kat2465_entropyin[] = { + 0x4a, 0xa7, 0xe8, 0x2f, 0x47, 0xfe, 0xb4, 0x9a, 0x46, 0x4f, 0x68, 0x97, + 0x8c, 0x8f, 0x0a, 0x8c, 0x2f, 0xc4, 0x08, 0x49, 0x6b, 0xa9, 0xff, 0x60, + 0xb2, 0xa2, 0x30, 0xab, 0xea, 0x8b, 0x90, 0xb9, 0x4e, 0x55, 0x17, 0x9b, + 0x73, 0xd9, 0xe2, 0x35, +}; +static const unsigned char kat2465_nonce[] = {0}; +static const unsigned char kat2465_persstr[] = {0}; +static const unsigned char kat2465_entropyinreseed[] = { + 0x42, 0x9a, 0x77, 0xd1, 0x5c, 0x18, 0x41, 0xb8, 0xe6, 0xd6, 0x51, 0x07, + 0x99, 0xc4, 0x11, 0x89, 0x53, 0x1b, 0x74, 0x9f, 0xff, 0xc4, 0xc1, 0x1e, + 0x90, 0xef, 0xb8, 0xf3, 0x7b, 0x71, 0x8e, 0x25, 0xe3, 0x46, 0x0c, 0x4b, + 0xda, 0xc6, 0xe2, 0xc9, +}; +static const unsigned char kat2465_addinreseed[] = {0}; +static const unsigned char kat2465_addin0[] = {0}; +static const unsigned char kat2465_addin1[] = {0}; +static const unsigned char kat2465_retbits[] = { + 0xe4, 0xd5, 0x8c, 0x5c, 0xaa, 0x32, 0xfd, 0x90, 0xd1, 0xd6, 0xc2, 0x5a, + 0xe1, 0x4f, 0x3e, 0x56, 0x8c, 0x51, 0xa6, 0xea, 0x6f, 0x05, 0x0c, 0x1e, + 0x57, 0x50, 0x89, 0x69, 0x4d, 0xc3, 0x2d, 0x7a, 0xe6, 0x9f, 0xc0, 0x27, + 0xa1, 0xf3, 0xd4, 0x6e, 0x18, 0x80, 0xec, 0xc9, 0xaa, 0xae, 0x57, 0x22, + 0xda, 0x47, 0x96, 0x9d, 0xfc, 0x67, 0xd4, 0xe0, 0x2d, 0xc2, 0x50, 0xad, + 0xf2, 0xa3, 0xfc, 0x2b, +}; +static const struct drbg_kat_pr_false kat2465_t = { + 4, kat2465_entropyin, kat2465_nonce, kat2465_persstr, + kat2465_entropyinreseed, kat2465_addinreseed, kat2465_addin0, + kat2465_addin1, kat2465_retbits +}; +static const struct drbg_kat kat2465 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2465_t +}; + +static const unsigned char kat2466_entropyin[] = { + 0x7d, 0x69, 0xa7, 0x9f, 0x3c, 0xca, 0x61, 0x9d, 0x46, 0x79, 0xe7, 0x3f, + 0x6e, 0xc7, 0x6a, 0x72, 0x84, 0x58, 0xee, 0x24, 0xbd, 0xce, 0xad, 0x4f, + 0x26, 0x73, 0x20, 0x67, 0x70, 0x39, 0x30, 0x45, 0xdf, 0xb1, 0x32, 0x58, + 0x2d, 0x51, 0x7d, 0xa4, +}; +static const unsigned char kat2466_nonce[] = {0}; +static const unsigned char kat2466_persstr[] = {0}; +static const unsigned char kat2466_entropyinreseed[] = { + 0xf7, 0xa7, 0x62, 0x4e, 0xb8, 0xf9, 0xa1, 0x71, 0x47, 0xb6, 0x61, 0x64, + 0x42, 0xf3, 0x5c, 0x55, 0xba, 0x3b, 0x1e, 0xca, 0xcc, 0x4a, 0x9a, 0x51, + 0x67, 0xeb, 0xa1, 0xe7, 0x2c, 0xa7, 0xdf, 0xcb, 0x43, 0xcd, 0xb3, 0xe1, + 0x45, 0x8f, 0x40, 0x63, +}; +static const unsigned char kat2466_addinreseed[] = {0}; +static const unsigned char kat2466_addin0[] = {0}; +static const unsigned char kat2466_addin1[] = {0}; +static const unsigned char kat2466_retbits[] = { + 0x20, 0xd6, 0x90, 0x4e, 0x05, 0x0e, 0xcc, 0x44, 0xbf, 0x9b, 0x76, 0xf1, + 0x2c, 0x20, 0x38, 0xc5, 0x7a, 0xe8, 0xb4, 0x04, 0x16, 0x8b, 0x51, 0x19, + 0xfc, 0x72, 0xad, 0xe0, 0xe8, 0x2a, 0x0c, 0x97, 0xa6, 0xc1, 0x7c, 0xda, + 0x3a, 0x3d, 0x5c, 0x3e, 0xf8, 0x54, 0x0c, 0x17, 0xdf, 0x5e, 0x41, 0xa9, + 0x80, 0x57, 0x05, 0x5f, 0xea, 0x22, 0x10, 0x60, 0x9d, 0x48, 0xe1, 0xa8, + 0x05, 0xc0, 0xc1, 0x1a, +}; +static const struct drbg_kat_pr_false kat2466_t = { + 5, kat2466_entropyin, kat2466_nonce, kat2466_persstr, + kat2466_entropyinreseed, kat2466_addinreseed, kat2466_addin0, + kat2466_addin1, kat2466_retbits +}; +static const struct drbg_kat kat2466 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2466_t +}; + +static const unsigned char kat2467_entropyin[] = { + 0x1f, 0xce, 0x32, 0xe3, 0xbb, 0xf1, 0xbd, 0x9e, 0xdc, 0x5a, 0x8e, 0x2e, + 0x6f, 0x6e, 0xfb, 0xe6, 0xb5, 0x52, 0xad, 0xee, 0x98, 0xfe, 0xad, 0x05, + 0x00, 0xf3, 0x1b, 0xe8, 0x5a, 0x0a, 0x04, 0xeb, 0x9f, 0x52, 0x21, 0x35, + 0x8e, 0xcf, 0xcc, 0xeb, +}; +static const unsigned char kat2467_nonce[] = {0}; +static const unsigned char kat2467_persstr[] = {0}; +static const unsigned char kat2467_entropyinreseed[] = { + 0x4c, 0xd4, 0xd5, 0xfc, 0x1a, 0x9a, 0x91, 0x33, 0xc4, 0x60, 0x04, 0xc1, + 0xae, 0xc7, 0xd8, 0x8e, 0x70, 0x26, 0x73, 0xef, 0xf0, 0x7b, 0x68, 0x19, + 0x07, 0xbf, 0xa6, 0x43, 0x73, 0x6d, 0xd0, 0x2e, 0x63, 0x09, 0xfb, 0xca, + 0x1d, 0xc7, 0x61, 0x1a, +}; +static const unsigned char kat2467_addinreseed[] = {0}; +static const unsigned char kat2467_addin0[] = {0}; +static const unsigned char kat2467_addin1[] = {0}; +static const unsigned char kat2467_retbits[] = { + 0xc5, 0x33, 0x3e, 0x4b, 0x92, 0xd9, 0x70, 0x0a, 0x44, 0x54, 0x8a, 0x02, + 0xdc, 0x83, 0x93, 0xb3, 0xeb, 0x65, 0xd7, 0xf7, 0x68, 0xb3, 0x29, 0x9f, + 0xa0, 0x37, 0x8b, 0x74, 0x62, 0x08, 0x6f, 0x64, 0x78, 0x04, 0x9d, 0x92, + 0x47, 0x53, 0xc6, 0xc1, 0x66, 0xde, 0x60, 0x11, 0xa7, 0xfe, 0x1a, 0x2d, + 0x84, 0xbc, 0xf3, 0xd0, 0x57, 0x9f, 0x98, 0x65, 0x2b, 0x96, 0xc8, 0x4c, + 0x57, 0x20, 0x9d, 0x44, +}; +static const struct drbg_kat_pr_false kat2467_t = { + 6, kat2467_entropyin, kat2467_nonce, kat2467_persstr, + kat2467_entropyinreseed, kat2467_addinreseed, kat2467_addin0, + kat2467_addin1, kat2467_retbits +}; +static const struct drbg_kat kat2467 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2467_t +}; + +static const unsigned char kat2468_entropyin[] = { + 0xca, 0xa6, 0x0c, 0x6a, 0xb9, 0x65, 0xd1, 0x77, 0x1f, 0xdd, 0x26, 0xbe, + 0x45, 0x4a, 0x9a, 0x32, 0xf7, 0x6f, 0xe3, 0x8f, 0xdd, 0x8f, 0xe4, 0xdd, + 0xe8, 0x78, 0xe9, 0x4e, 0xc2, 0xa3, 0x89, 0xe7, 0x20, 0x01, 0x38, 0xd4, + 0x0a, 0x2a, 0xb4, 0xb7, +}; +static const unsigned char kat2468_nonce[] = {0}; +static const unsigned char kat2468_persstr[] = {0}; +static const unsigned char kat2468_entropyinreseed[] = { + 0x94, 0x00, 0x9a, 0x73, 0x62, 0x3f, 0xd0, 0xb5, 0x31, 0x28, 0x58, 0xbb, + 0xbd, 0x30, 0xba, 0xab, 0xfc, 0x4f, 0x1f, 0xc1, 0x15, 0xba, 0xe0, 0xe8, + 0xef, 0x2c, 0xb7, 0xba, 0x82, 0xb3, 0x1a, 0xfd, 0xb7, 0x3d, 0x1e, 0xa2, + 0xf6, 0x35, 0xa4, 0xdf, +}; +static const unsigned char kat2468_addinreseed[] = {0}; +static const unsigned char kat2468_addin0[] = {0}; +static const unsigned char kat2468_addin1[] = {0}; +static const unsigned char kat2468_retbits[] = { + 0xf9, 0xbf, 0x2c, 0xcc, 0x84, 0x2c, 0x05, 0x72, 0xd4, 0x18, 0xe8, 0x38, + 0xf9, 0x8a, 0x98, 0x98, 0xf9, 0x26, 0xa1, 0x7d, 0x6a, 0x90, 0x70, 0x3e, + 0x01, 0x10, 0x92, 0x51, 0xb5, 0x64, 0xef, 0x86, 0x92, 0xfd, 0x33, 0x9f, + 0x78, 0x97, 0x86, 0x7a, 0xbb, 0x23, 0x6d, 0x86, 0x94, 0xb2, 0x40, 0x4a, + 0x56, 0xc8, 0x12, 0xd8, 0x22, 0x63, 0x2a, 0x7f, 0x4d, 0x53, 0x86, 0x75, + 0x24, 0xe8, 0x4f, 0x13, +}; +static const struct drbg_kat_pr_false kat2468_t = { + 7, kat2468_entropyin, kat2468_nonce, kat2468_persstr, + kat2468_entropyinreseed, kat2468_addinreseed, kat2468_addin0, + kat2468_addin1, kat2468_retbits +}; +static const struct drbg_kat kat2468 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2468_t +}; + +static const unsigned char kat2469_entropyin[] = { + 0x81, 0x5d, 0xe1, 0x65, 0xea, 0x4d, 0x09, 0x0b, 0xc2, 0x66, 0x85, 0x16, + 0xa0, 0x2a, 0x55, 0xcb, 0xf7, 0xde, 0x82, 0xfc, 0x24, 0x15, 0xed, 0xb6, + 0x96, 0x1f, 0x44, 0x70, 0xbf, 0xd2, 0x8c, 0xed, 0xf6, 0xce, 0x29, 0x3b, + 0xf9, 0x3b, 0x99, 0x29, +}; +static const unsigned char kat2469_nonce[] = {0}; +static const unsigned char kat2469_persstr[] = {0}; +static const unsigned char kat2469_entropyinreseed[] = { + 0xbd, 0xde, 0x9f, 0x2a, 0xeb, 0x37, 0x52, 0x9e, 0x95, 0x31, 0x79, 0x2f, + 0x75, 0x00, 0xf4, 0xc0, 0x24, 0x60, 0x0d, 0x5a, 0xee, 0x8d, 0x11, 0xf9, + 0xa0, 0x7e, 0xb6, 0x4c, 0x3c, 0xfe, 0x51, 0xb8, 0x76, 0xdd, 0xd6, 0x8c, + 0x17, 0x64, 0x9c, 0x82, +}; +static const unsigned char kat2469_addinreseed[] = {0}; +static const unsigned char kat2469_addin0[] = {0}; +static const unsigned char kat2469_addin1[] = {0}; +static const unsigned char kat2469_retbits[] = { + 0x84, 0x0d, 0x9c, 0x6f, 0x29, 0x00, 0x36, 0xc7, 0xc5, 0xfb, 0xc5, 0xa6, + 0x35, 0xfd, 0x47, 0x8e, 0x00, 0x9d, 0x0c, 0x36, 0x65, 0x09, 0xf4, 0xf5, + 0x16, 0xc7, 0x8c, 0x03, 0x6e, 0x47, 0xcb, 0x4f, 0x8f, 0xab, 0x4b, 0xb3, + 0xf8, 0x65, 0x97, 0xde, 0x66, 0x9b, 0xd1, 0xc9, 0x11, 0x2d, 0x34, 0xf3, + 0x34, 0xe6, 0x10, 0x8c, 0x3f, 0xc8, 0xec, 0x5f, 0x99, 0x74, 0xfe, 0x28, + 0x1a, 0xce, 0xea, 0x76, +}; +static const struct drbg_kat_pr_false kat2469_t = { + 8, kat2469_entropyin, kat2469_nonce, kat2469_persstr, + kat2469_entropyinreseed, kat2469_addinreseed, kat2469_addin0, + kat2469_addin1, kat2469_retbits +}; +static const struct drbg_kat kat2469 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2469_t +}; + +static const unsigned char kat2470_entropyin[] = { + 0x1b, 0x4d, 0xd0, 0xa2, 0x5e, 0xba, 0x83, 0x7f, 0x1c, 0xfe, 0x03, 0x2d, + 0x7f, 0xe6, 0x9e, 0x76, 0x90, 0xb2, 0xa6, 0xf5, 0xa7, 0x72, 0xff, 0xb7, + 0x2d, 0xca, 0x9f, 0x3d, 0x36, 0x44, 0x4e, 0xfc, 0xca, 0xd4, 0x36, 0x3c, + 0xad, 0xff, 0x43, 0x9d, +}; +static const unsigned char kat2470_nonce[] = {0}; +static const unsigned char kat2470_persstr[] = {0}; +static const unsigned char kat2470_entropyinreseed[] = { + 0xfe, 0x05, 0x86, 0x83, 0x58, 0x62, 0x0c, 0x88, 0x24, 0x76, 0x81, 0xef, + 0x9e, 0xa9, 0xd1, 0x7f, 0xfc, 0xc8, 0xa7, 0xf9, 0xb6, 0xf6, 0xe1, 0x9f, + 0xb3, 0xf5, 0x34, 0x69, 0x20, 0xeb, 0x40, 0x15, 0x73, 0xd9, 0xa8, 0xd3, + 0x12, 0x01, 0xfc, 0x5c, +}; +static const unsigned char kat2470_addinreseed[] = {0}; +static const unsigned char kat2470_addin0[] = {0}; +static const unsigned char kat2470_addin1[] = {0}; +static const unsigned char kat2470_retbits[] = { + 0x9e, 0x4b, 0x60, 0xa3, 0xa3, 0x51, 0xd2, 0x2d, 0x20, 0xcb, 0x9b, 0x11, + 0xe6, 0x3c, 0x84, 0xb1, 0x3a, 0xcb, 0x11, 0x84, 0xc9, 0x3d, 0xba, 0x63, + 0x0f, 0x1e, 0xc7, 0x1d, 0xaf, 0xe7, 0x2f, 0xa5, 0x05, 0xb9, 0x10, 0xe7, + 0x2b, 0x52, 0x10, 0x90, 0xb4, 0xfc, 0xc4, 0x69, 0x35, 0x29, 0x87, 0xb3, + 0x0f, 0x47, 0x9d, 0x08, 0x80, 0x7d, 0x55, 0xb2, 0xf2, 0x0a, 0xed, 0x6f, + 0x91, 0xd9, 0xd3, 0xcd, +}; +static const struct drbg_kat_pr_false kat2470_t = { + 9, kat2470_entropyin, kat2470_nonce, kat2470_persstr, + kat2470_entropyinreseed, kat2470_addinreseed, kat2470_addin0, + kat2470_addin1, kat2470_retbits +}; +static const struct drbg_kat kat2470 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2470_t +}; + +static const unsigned char kat2471_entropyin[] = { + 0x6d, 0xab, 0x72, 0x2a, 0x73, 0xb7, 0x97, 0xc2, 0xd5, 0x3f, 0x40, 0xda, + 0x0e, 0x76, 0xe6, 0xf6, 0x76, 0xb9, 0x50, 0xc2, 0xde, 0x82, 0x29, 0x1a, + 0x6f, 0x57, 0x0b, 0xcf, 0xe8, 0xb6, 0x20, 0x14, 0x52, 0x42, 0x30, 0x2d, + 0xa3, 0xec, 0x43, 0x2e, +}; +static const unsigned char kat2471_nonce[] = {0}; +static const unsigned char kat2471_persstr[] = {0}; +static const unsigned char kat2471_entropyinreseed[] = { + 0xef, 0x7e, 0xd5, 0x60, 0x31, 0x19, 0x46, 0xce, 0x55, 0x7d, 0xe3, 0x9b, + 0x5f, 0xd4, 0x90, 0x25, 0x3f, 0x43, 0x07, 0x8c, 0x3f, 0x82, 0x6e, 0x19, + 0x1d, 0x97, 0x9e, 0xec, 0x82, 0xbb, 0xfe, 0x0e, 0x5c, 0xf2, 0x07, 0x2f, + 0x90, 0xe3, 0xad, 0xd9, +}; +static const unsigned char kat2471_addinreseed[] = {0}; +static const unsigned char kat2471_addin0[] = {0}; +static const unsigned char kat2471_addin1[] = {0}; +static const unsigned char kat2471_retbits[] = { + 0x0b, 0x55, 0xe6, 0x39, 0x07, 0x05, 0x62, 0x0d, 0x4e, 0x1d, 0x18, 0x20, + 0x55, 0x9e, 0x73, 0x9a, 0xd5, 0x4c, 0xf4, 0xf0, 0xae, 0x7b, 0x3b, 0xed, + 0x52, 0xf3, 0x95, 0x00, 0xe0, 0x6a, 0x69, 0x3a, 0xd5, 0x5e, 0x42, 0xd3, + 0xe1, 0x79, 0xbc, 0x67, 0x0c, 0xcb, 0xbc, 0xfd, 0xfa, 0x2f, 0xbb, 0x3f, + 0x21, 0x74, 0x32, 0x19, 0x99, 0xbf, 0xdc, 0x8e, 0x43, 0x94, 0x8a, 0x25, + 0x01, 0x53, 0x38, 0xbb, +}; +static const struct drbg_kat_pr_false kat2471_t = { + 10, kat2471_entropyin, kat2471_nonce, kat2471_persstr, + kat2471_entropyinreseed, kat2471_addinreseed, kat2471_addin0, + kat2471_addin1, kat2471_retbits +}; +static const struct drbg_kat kat2471 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2471_t +}; + +static const unsigned char kat2472_entropyin[] = { + 0xab, 0xd7, 0x24, 0x32, 0x43, 0x25, 0xa1, 0xe0, 0xc2, 0xec, 0x0f, 0xb6, + 0x53, 0x98, 0x6c, 0x0c, 0x8f, 0x92, 0xef, 0x22, 0x0d, 0xe5, 0x6d, 0xb4, + 0xf8, 0x92, 0x58, 0xe1, 0x58, 0x92, 0xfd, 0x6f, 0x2c, 0xc1, 0xbd, 0xf3, + 0xb9, 0xff, 0x8a, 0xa2, +}; +static const unsigned char kat2472_nonce[] = {0}; +static const unsigned char kat2472_persstr[] = {0}; +static const unsigned char kat2472_entropyinreseed[] = { + 0xd3, 0x9a, 0x84, 0x84, 0xcf, 0xec, 0x43, 0x69, 0xbf, 0x82, 0x3a, 0x6b, + 0x46, 0x1e, 0xa0, 0xfd, 0x18, 0x00, 0x22, 0x11, 0xac, 0x00, 0x1f, 0xf0, + 0x91, 0x24, 0xe9, 0xe8, 0x2c, 0xaf, 0xd5, 0x54, 0x3a, 0xd1, 0x3c, 0xcc, + 0x14, 0x03, 0xa3, 0x9d, +}; +static const unsigned char kat2472_addinreseed[] = {0}; +static const unsigned char kat2472_addin0[] = {0}; +static const unsigned char kat2472_addin1[] = {0}; +static const unsigned char kat2472_retbits[] = { + 0x28, 0xa8, 0x7f, 0xc2, 0x16, 0x1c, 0x6d, 0xfa, 0xf9, 0x82, 0xaa, 0x5e, + 0x3e, 0x88, 0xbd, 0x4c, 0x1e, 0x18, 0x99, 0x37, 0x19, 0xdc, 0x3e, 0x62, + 0x91, 0x05, 0xd0, 0xb8, 0x53, 0x0e, 0xc3, 0xa2, 0xa2, 0x93, 0x58, 0x31, + 0x6d, 0xfe, 0x2d, 0xc1, 0x5b, 0x2c, 0x46, 0xc1, 0x20, 0xdc, 0x3b, 0x85, + 0x70, 0xa2, 0x85, 0x67, 0xd4, 0xad, 0x33, 0x97, 0x44, 0xfa, 0x4c, 0x06, + 0x61, 0x60, 0x2d, 0x06, +}; +static const struct drbg_kat_pr_false kat2472_t = { + 11, kat2472_entropyin, kat2472_nonce, kat2472_persstr, + kat2472_entropyinreseed, kat2472_addinreseed, kat2472_addin0, + kat2472_addin1, kat2472_retbits +}; +static const struct drbg_kat kat2472 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2472_t +}; + +static const unsigned char kat2473_entropyin[] = { + 0x57, 0x5a, 0xd8, 0x24, 0x9e, 0x98, 0x11, 0x49, 0x7f, 0xe8, 0x06, 0x34, + 0x14, 0x69, 0x30, 0x81, 0x12, 0x6b, 0x1a, 0xfe, 0x23, 0x17, 0xae, 0x22, + 0xd1, 0x5b, 0x9d, 0x73, 0x2c, 0x9e, 0x14, 0x71, 0x32, 0xb1, 0x98, 0xef, + 0x23, 0xed, 0x5b, 0x21, +}; +static const unsigned char kat2473_nonce[] = {0}; +static const unsigned char kat2473_persstr[] = {0}; +static const unsigned char kat2473_entropyinreseed[] = { + 0xb3, 0xa1, 0xf6, 0xcd, 0xe3, 0xcf, 0xb6, 0x32, 0x8e, 0x17, 0x21, 0x21, + 0xfd, 0x43, 0x1c, 0xdc, 0x3e, 0x0e, 0x80, 0xaa, 0x63, 0x7c, 0xee, 0x20, + 0x8c, 0x7e, 0x45, 0xc9, 0xef, 0x65, 0x26, 0x5a, 0x81, 0x81, 0xea, 0x42, + 0xb2, 0x66, 0x7a, 0xd0, +}; +static const unsigned char kat2473_addinreseed[] = {0}; +static const unsigned char kat2473_addin0[] = {0}; +static const unsigned char kat2473_addin1[] = {0}; +static const unsigned char kat2473_retbits[] = { + 0x12, 0x31, 0x5f, 0xec, 0x26, 0x6a, 0x4b, 0xb2, 0x55, 0xe7, 0x59, 0x19, + 0x3b, 0x95, 0x23, 0x3a, 0xb1, 0x80, 0xee, 0x06, 0xd2, 0xe9, 0x5a, 0xbd, + 0x8d, 0x51, 0x42, 0x1d, 0x61, 0x4e, 0xed, 0x6a, 0x9c, 0x0f, 0x34, 0xd1, + 0x40, 0x02, 0x04, 0x39, 0xb9, 0xcb, 0x1c, 0x84, 0x4c, 0xf9, 0xc2, 0x8a, + 0xb3, 0x24, 0x58, 0xa9, 0xf0, 0x96, 0x85, 0x90, 0x6a, 0xc9, 0xc9, 0x98, + 0x83, 0xca, 0x36, 0x05, +}; +static const struct drbg_kat_pr_false kat2473_t = { + 12, kat2473_entropyin, kat2473_nonce, kat2473_persstr, + kat2473_entropyinreseed, kat2473_addinreseed, kat2473_addin0, + kat2473_addin1, kat2473_retbits +}; +static const struct drbg_kat kat2473 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2473_t +}; + +static const unsigned char kat2474_entropyin[] = { + 0x55, 0xe7, 0x77, 0x25, 0xc4, 0x55, 0x1d, 0x5c, 0x54, 0xce, 0x56, 0x76, + 0xba, 0x03, 0xe8, 0x22, 0x1a, 0x84, 0x0d, 0xb8, 0xbe, 0x56, 0x8c, 0x50, + 0x8a, 0xd3, 0x68, 0x99, 0xce, 0x8f, 0x56, 0x8d, 0x78, 0x1f, 0x65, 0xd0, + 0xc0, 0xbf, 0x6e, 0x8d, +}; +static const unsigned char kat2474_nonce[] = {0}; +static const unsigned char kat2474_persstr[] = {0}; +static const unsigned char kat2474_entropyinreseed[] = { + 0x93, 0x33, 0xb0, 0x7c, 0xa2, 0xc1, 0xb8, 0xf2, 0xaa, 0x0d, 0xa6, 0x2b, + 0xc5, 0x14, 0xce, 0xf0, 0xd5, 0x36, 0xcd, 0x11, 0x8c, 0x83, 0x7c, 0xc4, + 0x09, 0x2d, 0x9a, 0x95, 0xf2, 0xbd, 0x6d, 0x5b, 0x69, 0x8b, 0x93, 0x8d, + 0x53, 0xd1, 0xb2, 0x0d, +}; +static const unsigned char kat2474_addinreseed[] = {0}; +static const unsigned char kat2474_addin0[] = {0}; +static const unsigned char kat2474_addin1[] = {0}; +static const unsigned char kat2474_retbits[] = { + 0x03, 0x0d, 0xd4, 0xde, 0xd2, 0xb2, 0x34, 0x08, 0x52, 0xe7, 0xdc, 0xa1, + 0xaa, 0x5a, 0xa1, 0x8e, 0xc0, 0x47, 0x96, 0x2c, 0xba, 0x9d, 0x86, 0x64, + 0x28, 0x0e, 0x82, 0xe6, 0x6f, 0x25, 0x93, 0x6e, 0x54, 0xf7, 0xc2, 0xed, + 0xb5, 0xe8, 0x01, 0xdc, 0xfe, 0x60, 0xe7, 0x7b, 0x55, 0x2e, 0x96, 0xdf, + 0xd1, 0x67, 0x53, 0xd8, 0x54, 0x16, 0xc1, 0x1b, 0x83, 0x7f, 0x7e, 0x38, + 0x8f, 0x01, 0x19, 0x2e, +}; +static const struct drbg_kat_pr_false kat2474_t = { + 13, kat2474_entropyin, kat2474_nonce, kat2474_persstr, + kat2474_entropyinreseed, kat2474_addinreseed, kat2474_addin0, + kat2474_addin1, kat2474_retbits +}; +static const struct drbg_kat kat2474 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2474_t +}; + +static const unsigned char kat2475_entropyin[] = { + 0x0e, 0x68, 0x1f, 0x88, 0x1a, 0xfa, 0x24, 0x3f, 0x5d, 0xe7, 0x5a, 0x04, + 0x62, 0x05, 0xf7, 0x33, 0xa3, 0x2a, 0x1b, 0xb3, 0x9e, 0x2a, 0xbd, 0x05, + 0x7c, 0x07, 0xd8, 0xd5, 0xe8, 0x15, 0x89, 0xd5, 0x37, 0xe1, 0x2d, 0x71, + 0x98, 0x1b, 0x57, 0xa3, +}; +static const unsigned char kat2475_nonce[] = {0}; +static const unsigned char kat2475_persstr[] = {0}; +static const unsigned char kat2475_entropyinreseed[] = { + 0xcb, 0x16, 0xa4, 0x90, 0x7b, 0x39, 0xf6, 0x47, 0xee, 0xc2, 0xb3, 0x88, + 0x70, 0x4d, 0x6a, 0x2b, 0x89, 0x83, 0x6c, 0xdd, 0x8d, 0x1c, 0x0c, 0x7f, + 0xf2, 0x7c, 0xdd, 0xbb, 0xb0, 0xd0, 0x1e, 0x30, 0x6d, 0xbd, 0x01, 0xec, + 0x58, 0x33, 0x47, 0x00, +}; +static const unsigned char kat2475_addinreseed[] = {0}; +static const unsigned char kat2475_addin0[] = {0}; +static const unsigned char kat2475_addin1[] = {0}; +static const unsigned char kat2475_retbits[] = { + 0xe4, 0x8a, 0xab, 0x2c, 0x01, 0x33, 0x5b, 0xa4, 0xf6, 0xd3, 0x77, 0xc3, + 0xc9, 0x93, 0x93, 0x2d, 0x4f, 0xe2, 0xef, 0x60, 0x25, 0x4e, 0xff, 0x31, + 0x54, 0x91, 0xb8, 0x1a, 0xcd, 0x1c, 0x22, 0xb3, 0xa3, 0x3c, 0x59, 0xb8, + 0xb7, 0x8c, 0x47, 0x9b, 0x7c, 0xd4, 0xfd, 0xd3, 0x1f, 0x7d, 0x15, 0x86, + 0x4a, 0x48, 0xac, 0x70, 0x6e, 0x32, 0x17, 0x4d, 0xe3, 0x6f, 0x92, 0x39, + 0xab, 0xa4, 0xb6, 0xad, +}; +static const struct drbg_kat_pr_false kat2475_t = { + 14, kat2475_entropyin, kat2475_nonce, kat2475_persstr, + kat2475_entropyinreseed, kat2475_addinreseed, kat2475_addin0, + kat2475_addin1, kat2475_retbits +}; +static const struct drbg_kat kat2475 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2475_t +}; + +static const unsigned char kat2476_entropyin[] = { + 0x6d, 0xa6, 0x70, 0xb6, 0xda, 0x13, 0x5f, 0x77, 0xb7, 0xfb, 0x54, 0x8e, + 0x79, 0x64, 0x71, 0x57, 0x31, 0x46, 0xee, 0x58, 0xc2, 0x07, 0xb3, 0x87, + 0x9f, 0x8d, 0x9f, 0x50, 0x33, 0x23, 0x46, 0xcb, 0x00, 0x8a, 0x18, 0xaf, + 0xec, 0x30, 0xe4, 0xd5, +}; +static const unsigned char kat2476_nonce[] = {0}; +static const unsigned char kat2476_persstr[] = {0}; +static const unsigned char kat2476_entropyinreseed[] = { + 0x63, 0x59, 0xab, 0x87, 0x27, 0x78, 0x4f, 0xe1, 0x33, 0x55, 0x4b, 0xe8, + 0x7b, 0x36, 0x4e, 0x9e, 0x26, 0x18, 0x42, 0x50, 0xfe, 0xe2, 0xd9, 0x96, + 0x62, 0xc4, 0x5b, 0x41, 0xb6, 0xda, 0x27, 0x29, 0xca, 0xa6, 0x1a, 0x1f, + 0x7b, 0x1f, 0x4a, 0xe2, +}; +static const unsigned char kat2476_addinreseed[] = { + 0x1a, 0x19, 0x4e, 0x6f, 0x49, 0x95, 0x5f, 0x01, 0x84, 0x47, 0x88, 0x2a, + 0x48, 0xbc, 0xb2, 0x0b, 0xeb, 0x41, 0x1f, 0x88, 0x6a, 0x9b, 0xc3, 0xc5, + 0xa8, 0x83, 0x3c, 0xe6, 0xf8, 0x8c, 0x37, 0x39, 0xd7, 0x9f, 0x54, 0xa4, + 0xcf, 0x4c, 0x62, 0x0a, +}; +static const unsigned char kat2476_addin0[] = { + 0x0c, 0x88, 0x78, 0x48, 0xa4, 0x6c, 0x45, 0x71, 0x9b, 0x03, 0x65, 0xca, + 0x6f, 0x2b, 0x1b, 0x80, 0x0c, 0x39, 0xa7, 0xd8, 0xab, 0x15, 0xf4, 0x61, + 0x3f, 0xc5, 0xa9, 0x14, 0x3e, 0x42, 0x5a, 0x33, 0x1f, 0xec, 0x68, 0x6e, + 0xca, 0xac, 0xe5, 0xe8, +}; +static const unsigned char kat2476_addin1[] = { + 0xca, 0x9c, 0x53, 0xa0, 0xee, 0xb5, 0x21, 0xe8, 0x38, 0x9b, 0x9e, 0x95, + 0xcc, 0x17, 0x32, 0x1d, 0x3d, 0xf1, 0xff, 0x77, 0x4a, 0xae, 0x6a, 0x11, + 0x2b, 0xbe, 0xb7, 0x0b, 0xbd, 0x41, 0x11, 0x25, 0x2b, 0x65, 0x38, 0x7d, + 0x20, 0x38, 0x09, 0x71, +}; +static const unsigned char kat2476_retbits[] = { + 0x3a, 0xe8, 0x01, 0x30, 0x21, 0x49, 0x71, 0xbc, 0x72, 0x90, 0x44, 0x0e, + 0xf0, 0x52, 0x78, 0xff, 0xc6, 0xf0, 0x12, 0x34, 0xba, 0x93, 0x5a, 0x74, + 0x2a, 0x48, 0xc6, 0xe7, 0x10, 0xa7, 0x55, 0x78, 0x2a, 0x1c, 0xeb, 0x34, + 0x7e, 0x0a, 0x14, 0xa2, 0xa3, 0x91, 0xb5, 0xe3, 0x7a, 0xa7, 0xc1, 0x4c, + 0x20, 0xe6, 0xd1, 0xba, 0xf1, 0x44, 0x1f, 0xa5, 0x03, 0x46, 0xe3, 0x3f, + 0x7a, 0x2d, 0x09, 0x41, +}; +static const struct drbg_kat_pr_false kat2476_t = { + 0, kat2476_entropyin, kat2476_nonce, kat2476_persstr, + kat2476_entropyinreseed, kat2476_addinreseed, kat2476_addin0, + kat2476_addin1, kat2476_retbits +}; +static const struct drbg_kat kat2476 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2476_t +}; + +static const unsigned char kat2477_entropyin[] = { + 0x0c, 0xcc, 0x21, 0x28, 0x0b, 0x7c, 0x13, 0x98, 0x43, 0x5f, 0x6a, 0xac, + 0xe9, 0x9a, 0xdd, 0xae, 0xc7, 0xf8, 0x7a, 0x92, 0x7b, 0xca, 0x44, 0x17, + 0x89, 0x3e, 0xd8, 0x05, 0x4e, 0x76, 0xef, 0xe3, 0x50, 0x55, 0xb2, 0xb5, + 0x38, 0x7d, 0xb5, 0x2f, +}; +static const unsigned char kat2477_nonce[] = {0}; +static const unsigned char kat2477_persstr[] = {0}; +static const unsigned char kat2477_entropyinreseed[] = { + 0x3e, 0x85, 0x27, 0xc8, 0xd7, 0x7e, 0xd8, 0xa4, 0xf5, 0x2f, 0x31, 0xbf, + 0x0e, 0xdc, 0xf9, 0xa3, 0x1c, 0x4f, 0x1d, 0xe5, 0xe4, 0xe3, 0xcb, 0x5c, + 0x78, 0xab, 0x8d, 0x63, 0x6d, 0x0d, 0xd8, 0xbc, 0xbf, 0xd2, 0xb6, 0x41, + 0x26, 0xf8, 0x3f, 0xeb, +}; +static const unsigned char kat2477_addinreseed[] = { + 0xc3, 0xbb, 0x4b, 0x5e, 0x8f, 0x2d, 0xf5, 0xcc, 0x88, 0xb1, 0x38, 0xb1, + 0x78, 0xf9, 0x35, 0xa1, 0xbd, 0xca, 0xbd, 0x64, 0xb4, 0x6e, 0xda, 0x01, + 0xdc, 0x00, 0x9b, 0x13, 0xd0, 0x58, 0xf6, 0x14, 0xe0, 0x3b, 0x4f, 0x70, + 0xd7, 0x2c, 0x13, 0x45, +}; +static const unsigned char kat2477_addin0[] = { + 0xda, 0x26, 0x87, 0x24, 0xb0, 0x24, 0x42, 0x9a, 0xe2, 0x28, 0x1b, 0x5f, + 0x18, 0xb0, 0x40, 0x39, 0x8d, 0x09, 0xc8, 0x50, 0xe2, 0x2b, 0x2a, 0xb1, + 0xea, 0x75, 0x9b, 0x4c, 0xcf, 0x5d, 0x5b, 0x62, 0x46, 0xf3, 0xf8, 0xb7, + 0x85, 0x7e, 0x2e, 0x14, +}; +static const unsigned char kat2477_addin1[] = { + 0x02, 0x7b, 0xfb, 0x02, 0x31, 0x9d, 0x2b, 0xd0, 0x33, 0x34, 0xe0, 0xda, + 0x36, 0xe1, 0x16, 0x77, 0x36, 0xb6, 0xd9, 0x44, 0x05, 0xa5, 0xd5, 0x68, + 0x65, 0xdc, 0x95, 0xca, 0xe9, 0xbf, 0x93, 0x0b, 0xa2, 0xda, 0x12, 0x92, + 0x5b, 0xdd, 0xb8, 0x2e, +}; +static const unsigned char kat2477_retbits[] = { + 0x9d, 0xac, 0x78, 0xad, 0x7e, 0xcf, 0x99, 0x05, 0x87, 0xd7, 0x05, 0x04, + 0xca, 0x5a, 0xc2, 0xff, 0xbc, 0x48, 0x72, 0x6c, 0xb8, 0x16, 0xa7, 0x07, + 0x25, 0x75, 0xe7, 0xa8, 0x81, 0x46, 0x9a, 0xbc, 0x70, 0x43, 0x12, 0x3b, + 0x7b, 0xe1, 0xe7, 0x87, 0xe1, 0x95, 0x5b, 0x1d, 0x7e, 0x56, 0xac, 0x76, + 0x6f, 0x25, 0xd4, 0xef, 0xee, 0xc2, 0x18, 0xa5, 0x2f, 0x5c, 0xfd, 0xcb, + 0xc6, 0x6b, 0x7a, 0x02, +}; +static const struct drbg_kat_pr_false kat2477_t = { + 1, kat2477_entropyin, kat2477_nonce, kat2477_persstr, + kat2477_entropyinreseed, kat2477_addinreseed, kat2477_addin0, + kat2477_addin1, kat2477_retbits +}; +static const struct drbg_kat kat2477 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2477_t +}; + +static const unsigned char kat2478_entropyin[] = { + 0x5c, 0xf7, 0xea, 0x69, 0x73, 0x9d, 0x54, 0x0c, 0xce, 0xde, 0x07, 0x71, + 0xc9, 0x7c, 0x6c, 0xf8, 0xe1, 0xab, 0xb9, 0x6a, 0xd3, 0x90, 0xf3, 0x07, + 0xd9, 0x83, 0xb0, 0x38, 0x8e, 0x8f, 0x69, 0x26, 0x08, 0xf1, 0x51, 0x22, + 0xa8, 0x12, 0xc0, 0x65, +}; +static const unsigned char kat2478_nonce[] = {0}; +static const unsigned char kat2478_persstr[] = {0}; +static const unsigned char kat2478_entropyinreseed[] = { + 0x25, 0x26, 0x94, 0x69, 0x02, 0x0e, 0x6a, 0x83, 0x8b, 0x86, 0x5d, 0xa5, + 0xd5, 0xe7, 0x76, 0x64, 0xb0, 0xcf, 0xa3, 0x59, 0xc5, 0xab, 0xc4, 0xfa, + 0x4d, 0x85, 0xc1, 0x1e, 0x80, 0x6c, 0x94, 0xc2, 0x3b, 0xaa, 0xa1, 0x6f, + 0x10, 0x57, 0x1c, 0x38, +}; +static const unsigned char kat2478_addinreseed[] = { + 0xa6, 0x34, 0x98, 0xbb, 0xe0, 0x99, 0x05, 0x69, 0xff, 0x43, 0x96, 0x52, + 0xd7, 0xe2, 0xf8, 0xa3, 0x8b, 0x09, 0xcf, 0x71, 0x7d, 0x75, 0x05, 0xaa, + 0x2b, 0x26, 0x24, 0x26, 0x4e, 0x81, 0x41, 0x9f, 0x19, 0x57, 0x2d, 0x77, + 0xc1, 0x79, 0x4e, 0x84, +}; +static const unsigned char kat2478_addin0[] = { + 0x97, 0xe7, 0x5e, 0x12, 0x3e, 0xa3, 0x7f, 0x72, 0x5a, 0x19, 0x81, 0xc8, + 0x11, 0x38, 0x45, 0xcc, 0x6c, 0xa8, 0x5e, 0x00, 0xe0, 0x50, 0x76, 0x3d, + 0x9d, 0x81, 0xa7, 0x74, 0x06, 0x8a, 0x02, 0xd7, 0x91, 0xba, 0xe7, 0xbf, + 0x65, 0x61, 0xe6, 0x02, +}; +static const unsigned char kat2478_addin1[] = { + 0xbe, 0xee, 0xb3, 0xfa, 0x55, 0x54, 0x60, 0x9e, 0xb4, 0x82, 0xb8, 0x5e, + 0xf5, 0xc7, 0x12, 0x47, 0xe2, 0xe5, 0xaf, 0x2d, 0xb4, 0x4f, 0x51, 0x51, + 0x94, 0x55, 0xa9, 0x4f, 0x35, 0x41, 0x21, 0x5e, 0x65, 0xcf, 0x1a, 0x75, + 0x24, 0x36, 0x24, 0x1b, +}; +static const unsigned char kat2478_retbits[] = { + 0xac, 0xb4, 0x95, 0x38, 0x37, 0x85, 0x4a, 0xc4, 0x06, 0x5c, 0xbc, 0xb7, + 0x3c, 0xfd, 0xc1, 0x04, 0x85, 0x38, 0x2d, 0xae, 0xa4, 0x91, 0xdc, 0xa8, + 0xe8, 0x61, 0xdc, 0x03, 0x3a, 0xb9, 0xcd, 0xaf, 0x83, 0x2c, 0xa6, 0x57, + 0x60, 0x8a, 0x2a, 0x7c, 0xa6, 0xac, 0x00, 0x9a, 0x4a, 0x12, 0x30, 0x8e, + 0x42, 0xa0, 0x65, 0x91, 0x10, 0x0d, 0x98, 0x1d, 0x56, 0x65, 0x71, 0x67, + 0x12, 0x4c, 0xa5, 0x9f, +}; +static const struct drbg_kat_pr_false kat2478_t = { + 2, kat2478_entropyin, kat2478_nonce, kat2478_persstr, + kat2478_entropyinreseed, kat2478_addinreseed, kat2478_addin0, + kat2478_addin1, kat2478_retbits +}; +static const struct drbg_kat kat2478 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2478_t +}; + +static const unsigned char kat2479_entropyin[] = { + 0xc8, 0x08, 0x18, 0x8a, 0x67, 0x3f, 0xef, 0xb0, 0x4b, 0x5b, 0xd6, 0x34, + 0x5d, 0xcc, 0x64, 0x5f, 0x1e, 0xa9, 0x8f, 0xbc, 0xa5, 0xbb, 0xd7, 0xe4, + 0xc9, 0x30, 0x10, 0x21, 0x0a, 0x24, 0x8d, 0xc1, 0x38, 0xbb, 0xb9, 0x93, + 0x81, 0x18, 0x70, 0x0d, +}; +static const unsigned char kat2479_nonce[] = {0}; +static const unsigned char kat2479_persstr[] = {0}; +static const unsigned char kat2479_entropyinreseed[] = { + 0xad, 0x1d, 0x2d, 0x49, 0xf4, 0x5a, 0x70, 0xa1, 0xa5, 0xb9, 0xb3, 0x64, + 0xdd, 0xdc, 0x1c, 0xda, 0xed, 0xfa, 0x1b, 0x33, 0x1e, 0xc9, 0x20, 0x6d, + 0x12, 0xfe, 0x33, 0xef, 0xc3, 0x13, 0xab, 0xc6, 0x80, 0xa9, 0x4e, 0x40, + 0x4c, 0xaf, 0x36, 0x5e, +}; +static const unsigned char kat2479_addinreseed[] = { + 0xae, 0xb5, 0xd9, 0x58, 0x88, 0xd3, 0x6b, 0xe6, 0x9e, 0xc8, 0xca, 0xf8, + 0x30, 0x58, 0xf2, 0x89, 0xd4, 0x87, 0x7d, 0x54, 0xea, 0x29, 0x10, 0xdc, + 0x77, 0x7a, 0xd5, 0x8a, 0xbc, 0x29, 0x82, 0xd6, 0x34, 0xf2, 0x05, 0x45, + 0xc4, 0xbf, 0x45, 0x3e, +}; +static const unsigned char kat2479_addin0[] = { + 0xb1, 0xc9, 0xb5, 0xd0, 0x4a, 0xa6, 0x92, 0xf3, 0xe0, 0x1e, 0x14, 0xf3, + 0x18, 0x88, 0x06, 0x1e, 0x04, 0x0a, 0xf0, 0x39, 0x91, 0x92, 0x36, 0x83, + 0x92, 0x3a, 0xcc, 0x1a, 0x2d, 0x71, 0x84, 0x34, 0xe2, 0x45, 0xc1, 0x1d, + 0x3a, 0xf2, 0xfc, 0x7d, +}; +static const unsigned char kat2479_addin1[] = { + 0x3f, 0x6f, 0x59, 0x9e, 0x76, 0xfe, 0x68, 0xcc, 0x20, 0x62, 0x29, 0x73, + 0x87, 0x3a, 0x07, 0x68, 0xcb, 0x81, 0x36, 0x3b, 0xcd, 0x15, 0x54, 0xac, + 0xf5, 0xb1, 0xe2, 0xd3, 0xbf, 0x9e, 0xda, 0x3e, 0xfc, 0x5d, 0xb3, 0xbc, + 0xa1, 0x20, 0xf8, 0x9c, +}; +static const unsigned char kat2479_retbits[] = { + 0x44, 0x7e, 0x79, 0x8b, 0x8b, 0x16, 0x65, 0x8e, 0x07, 0xca, 0x04, 0xde, + 0xf6, 0x3a, 0x72, 0xa2, 0xbb, 0x27, 0x92, 0x6c, 0x8e, 0x49, 0xe4, 0x46, + 0x4d, 0x82, 0x78, 0x3c, 0x69, 0xca, 0x44, 0x67, 0xd1, 0xf5, 0x99, 0xa9, + 0x82, 0xa7, 0xbb, 0x36, 0x98, 0xc0, 0xa0, 0x24, 0x46, 0xbd, 0x3a, 0xb4, + 0x2e, 0x1f, 0x97, 0xdc, 0x28, 0x76, 0x41, 0xb1, 0xcb, 0x61, 0x4d, 0xed, + 0x2b, 0xf9, 0x7f, 0x83, +}; +static const struct drbg_kat_pr_false kat2479_t = { + 3, kat2479_entropyin, kat2479_nonce, kat2479_persstr, + kat2479_entropyinreseed, kat2479_addinreseed, kat2479_addin0, + kat2479_addin1, kat2479_retbits +}; +static const struct drbg_kat kat2479 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2479_t +}; + +static const unsigned char kat2480_entropyin[] = { + 0x71, 0xf9, 0x6f, 0x32, 0x21, 0xee, 0xa6, 0xf0, 0x28, 0x8f, 0x78, 0x30, + 0x8a, 0x14, 0x2c, 0xa2, 0xd8, 0x4d, 0xa6, 0xdd, 0x9f, 0x9f, 0x4a, 0xf7, + 0x2b, 0x22, 0xbf, 0xd7, 0x2e, 0x19, 0x02, 0x86, 0x66, 0x25, 0xa8, 0x8b, + 0x49, 0x3e, 0xdf, 0x0d, +}; +static const unsigned char kat2480_nonce[] = {0}; +static const unsigned char kat2480_persstr[] = {0}; +static const unsigned char kat2480_entropyinreseed[] = { + 0x3a, 0xb0, 0x12, 0x99, 0x55, 0xb5, 0xfa, 0x5b, 0xa4, 0x36, 0x94, 0x87, + 0xd1, 0xca, 0xd5, 0x0b, 0x2b, 0xef, 0x64, 0x60, 0x00, 0xe4, 0xe8, 0xac, + 0x5b, 0xf8, 0x3f, 0xd8, 0xdf, 0x54, 0xc5, 0x72, 0xf7, 0xa8, 0x90, 0x1e, + 0x7a, 0xea, 0xd7, 0x63, +}; +static const unsigned char kat2480_addinreseed[] = { + 0x8a, 0xde, 0x69, 0x4e, 0x5c, 0x68, 0xc1, 0x3f, 0xe0, 0x62, 0x82, 0xa8, + 0x98, 0x31, 0xbd, 0x77, 0xbb, 0x68, 0xcd, 0x55, 0xb6, 0xcf, 0x03, 0xdd, + 0x13, 0x38, 0x36, 0xbc, 0xec, 0x4a, 0x4d, 0xe8, 0xec, 0xf7, 0xb8, 0xf9, + 0x43, 0xe7, 0x55, 0xbe, +}; +static const unsigned char kat2480_addin0[] = { + 0x9c, 0x42, 0xe9, 0x18, 0x1d, 0xf5, 0xf1, 0xff, 0x0b, 0x51, 0xf0, 0x3a, + 0x56, 0xca, 0x3b, 0xf6, 0x97, 0xa6, 0xe2, 0xbd, 0x15, 0xf2, 0xc3, 0x42, + 0x1f, 0x82, 0x44, 0xc8, 0x21, 0xa5, 0x5a, 0x17, 0xfb, 0xd4, 0x52, 0x60, + 0x83, 0x6c, 0xf4, 0xd7, +}; +static const unsigned char kat2480_addin1[] = { + 0xaa, 0xe4, 0xb0, 0xed, 0xcd, 0xe2, 0xfe, 0x4e, 0x31, 0xb4, 0x26, 0xab, + 0xaa, 0xde, 0xb3, 0xe6, 0xcb, 0x5d, 0x55, 0xbf, 0xb1, 0x27, 0x44, 0x24, + 0x3c, 0xaa, 0xca, 0xc7, 0xce, 0x50, 0xca, 0xdc, 0x84, 0xd9, 0x60, 0x5c, + 0xe4, 0x3a, 0x7f, 0x2b, +}; +static const unsigned char kat2480_retbits[] = { + 0x57, 0x31, 0x2a, 0x0f, 0x7d, 0x0a, 0x6f, 0xc8, 0x9f, 0x9b, 0xc2, 0xef, + 0xac, 0xa3, 0xf5, 0x8d, 0x71, 0x8b, 0xeb, 0x77, 0x91, 0x60, 0xb5, 0xd5, + 0xed, 0xda, 0xd2, 0x3a, 0x13, 0x76, 0x5f, 0xb3, 0x68, 0x50, 0x28, 0xda, + 0x92, 0xb1, 0xeb, 0xa7, 0x3a, 0x2e, 0x71, 0x55, 0xcb, 0x7b, 0x35, 0xfb, + 0x12, 0x4a, 0x90, 0x8a, 0xbd, 0x28, 0x61, 0x76, 0x13, 0x15, 0xcd, 0x38, + 0xe8, 0x3a, 0xb9, 0x1f, +}; +static const struct drbg_kat_pr_false kat2480_t = { + 4, kat2480_entropyin, kat2480_nonce, kat2480_persstr, + kat2480_entropyinreseed, kat2480_addinreseed, kat2480_addin0, + kat2480_addin1, kat2480_retbits +}; +static const struct drbg_kat kat2480 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2480_t +}; + +static const unsigned char kat2481_entropyin[] = { + 0xb3, 0x0a, 0xe4, 0x4c, 0xf6, 0x77, 0x2c, 0xb8, 0xfb, 0xc5, 0x7d, 0x04, + 0x03, 0x31, 0x1f, 0xd0, 0x25, 0x84, 0x8c, 0x78, 0xa0, 0x75, 0x7b, 0x19, + 0x3c, 0xa6, 0x77, 0x45, 0xe3, 0x31, 0x82, 0x3e, 0xd8, 0x0e, 0xac, 0xe3, + 0xef, 0x87, 0x89, 0xb1, +}; +static const unsigned char kat2481_nonce[] = {0}; +static const unsigned char kat2481_persstr[] = {0}; +static const unsigned char kat2481_entropyinreseed[] = { + 0x9e, 0x02, 0x4c, 0x5f, 0xb9, 0x16, 0x25, 0x12, 0x35, 0xab, 0xfc, 0x41, + 0xc0, 0xce, 0xa7, 0x9f, 0x86, 0xc1, 0xa8, 0xe1, 0xca, 0xa8, 0x4b, 0xe8, + 0x67, 0xa2, 0x4b, 0x8e, 0xcb, 0xe2, 0xfa, 0x6f, 0xdd, 0x51, 0xfd, 0xaa, + 0xac, 0x29, 0x56, 0x86, +}; +static const unsigned char kat2481_addinreseed[] = { + 0xb8, 0x7c, 0x08, 0xdd, 0xa7, 0xd6, 0xfa, 0xe6, 0x5a, 0xdf, 0x87, 0x3d, + 0x9e, 0x57, 0x07, 0x40, 0x55, 0x1f, 0xe1, 0xb9, 0x92, 0x58, 0x88, 0xf3, + 0xeb, 0xc1, 0xce, 0x09, 0xfa, 0x82, 0xd4, 0x06, 0x49, 0xf9, 0x79, 0x1f, + 0x34, 0xb2, 0xf1, 0xef, +}; +static const unsigned char kat2481_addin0[] = { + 0x5d, 0x05, 0x24, 0xe9, 0xf0, 0x03, 0xb2, 0xdd, 0x45, 0x06, 0x47, 0xab, + 0x1b, 0x1f, 0xea, 0x66, 0x71, 0x79, 0x2e, 0xa2, 0xd1, 0xd4, 0xd2, 0xa9, + 0xef, 0xf9, 0x01, 0x03, 0x1b, 0x84, 0x6c, 0x46, 0x5e, 0x9d, 0x97, 0xc5, + 0xa2, 0xe5, 0xee, 0xf0, +}; +static const unsigned char kat2481_addin1[] = { + 0xd6, 0x22, 0x55, 0xcd, 0x5e, 0xb0, 0x99, 0x11, 0xa1, 0xba, 0x2c, 0xa7, + 0x74, 0xc4, 0x5f, 0x96, 0xbb, 0x4c, 0xfb, 0x98, 0x2c, 0xd0, 0xf1, 0xe9, + 0x88, 0x36, 0x2e, 0x3f, 0x2e, 0xb9, 0x81, 0x18, 0xcf, 0x0b, 0x32, 0x90, + 0xe3, 0x71, 0x70, 0xdf, +}; +static const unsigned char kat2481_retbits[] = { + 0x66, 0xb4, 0xa2, 0xd9, 0x81, 0x4d, 0x75, 0xe5, 0x77, 0x82, 0xf2, 0x37, + 0x88, 0x06, 0xdd, 0x5d, 0xde, 0x79, 0x9f, 0xfd, 0xa4, 0xe3, 0xe8, 0x21, + 0x48, 0x89, 0xc5, 0xc5, 0x1c, 0xc6, 0x7a, 0x35, 0x7c, 0xfa, 0x07, 0xc3, + 0x47, 0xdb, 0x51, 0x18, 0x11, 0x09, 0x41, 0xaa, 0x0a, 0x66, 0x33, 0xb6, + 0xa3, 0xf2, 0x2b, 0xa6, 0xf4, 0xe8, 0x3f, 0x34, 0x44, 0x08, 0x1e, 0x03, + 0x7f, 0x21, 0x6a, 0xed, +}; +static const struct drbg_kat_pr_false kat2481_t = { + 5, kat2481_entropyin, kat2481_nonce, kat2481_persstr, + kat2481_entropyinreseed, kat2481_addinreseed, kat2481_addin0, + kat2481_addin1, kat2481_retbits +}; +static const struct drbg_kat kat2481 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2481_t +}; + +static const unsigned char kat2482_entropyin[] = { + 0xaf, 0x19, 0x5e, 0x63, 0xfc, 0x06, 0xb0, 0x1a, 0x27, 0x37, 0x2b, 0x7c, + 0x66, 0x8f, 0xeb, 0x67, 0x8d, 0x54, 0xd1, 0xff, 0x09, 0x21, 0x9d, 0x15, + 0x45, 0xf9, 0xf0, 0x55, 0x57, 0xaa, 0xb2, 0xc6, 0xc8, 0x1d, 0xd8, 0x7a, + 0x3f, 0xc8, 0x6b, 0x5a, +}; +static const unsigned char kat2482_nonce[] = {0}; +static const unsigned char kat2482_persstr[] = {0}; +static const unsigned char kat2482_entropyinreseed[] = { + 0x56, 0x01, 0x10, 0xc7, 0xb0, 0x3a, 0xa0, 0x7d, 0x86, 0x35, 0xab, 0xfe, + 0x69, 0xf0, 0xee, 0xd6, 0x7f, 0x58, 0x18, 0xc5, 0x49, 0x57, 0x43, 0x84, + 0x44, 0x4c, 0x91, 0x9c, 0xf8, 0x42, 0x61, 0x57, 0x50, 0x37, 0xa7, 0xc7, + 0x03, 0x68, 0x1b, 0x19, +}; +static const unsigned char kat2482_addinreseed[] = { + 0x65, 0x71, 0xc5, 0x35, 0xb3, 0x17, 0x20, 0xe9, 0x08, 0xba, 0x48, 0x84, + 0x56, 0x62, 0xc7, 0x3a, 0xb3, 0x35, 0x90, 0x2c, 0xb4, 0xd2, 0x00, 0x03, + 0xd5, 0x6a, 0x32, 0x88, 0xb9, 0x8b, 0x55, 0xe4, 0xee, 0x63, 0xff, 0x38, + 0x6d, 0x55, 0x7c, 0xe8, +}; +static const unsigned char kat2482_addin0[] = { + 0xb0, 0xc4, 0xf8, 0xc3, 0x31, 0x3e, 0xf8, 0x06, 0x23, 0xfe, 0x21, 0x99, + 0x18, 0x0e, 0xdc, 0xcc, 0x7d, 0x0b, 0x15, 0xb3, 0x04, 0x22, 0xfa, 0xf3, + 0x09, 0xfd, 0x29, 0x1d, 0xb6, 0x67, 0xf3, 0x6a, 0x22, 0x64, 0x2e, 0x14, + 0x5a, 0x21, 0x39, 0xd3, +}; +static const unsigned char kat2482_addin1[] = { + 0x44, 0xba, 0x05, 0x84, 0xf5, 0x1d, 0xd4, 0xc4, 0x93, 0xdd, 0x22, 0x0f, + 0xe0, 0x2d, 0x9c, 0x87, 0x56, 0xd3, 0x96, 0xf6, 0x5d, 0xb2, 0xf5, 0x6c, + 0x2f, 0x2a, 0xd2, 0x34, 0x35, 0x74, 0x6e, 0x08, 0xc2, 0xe8, 0x86, 0x9c, + 0xb7, 0x6c, 0xf8, 0x79, +}; +static const unsigned char kat2482_retbits[] = { + 0x6e, 0xdb, 0xc8, 0x7a, 0x9d, 0xa4, 0xa0, 0x0e, 0x81, 0xd7, 0x4c, 0xba, + 0xcf, 0xaa, 0x1d, 0xeb, 0xd1, 0x22, 0x2c, 0x53, 0x0d, 0x39, 0x16, 0xf0, + 0x42, 0xe1, 0x94, 0x67, 0xd2, 0xd5, 0x27, 0xcc, 0x90, 0x8e, 0x74, 0xc8, + 0x76, 0x29, 0x06, 0xac, 0x5b, 0xa5, 0xbf, 0x5d, 0x75, 0x73, 0x91, 0xa9, + 0x21, 0x43, 0x3f, 0x08, 0x0b, 0x61, 0xc4, 0xda, 0x6a, 0xb3, 0xab, 0xb6, + 0x2f, 0x3b, 0xd5, 0x9c, +}; +static const struct drbg_kat_pr_false kat2482_t = { + 6, kat2482_entropyin, kat2482_nonce, kat2482_persstr, + kat2482_entropyinreseed, kat2482_addinreseed, kat2482_addin0, + kat2482_addin1, kat2482_retbits +}; +static const struct drbg_kat kat2482 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2482_t +}; + +static const unsigned char kat2483_entropyin[] = { + 0x29, 0xc8, 0xcb, 0x54, 0x46, 0x58, 0x7d, 0x84, 0xe6, 0x72, 0x1f, 0x13, + 0xa1, 0x26, 0x09, 0xd4, 0x97, 0xbc, 0xa6, 0x86, 0x98, 0x2e, 0x58, 0x5e, + 0xee, 0x82, 0x4d, 0x16, 0x01, 0x52, 0xa3, 0xec, 0xf6, 0x7a, 0x57, 0x8e, + 0xb3, 0x70, 0x02, 0x17, +}; +static const unsigned char kat2483_nonce[] = {0}; +static const unsigned char kat2483_persstr[] = {0}; +static const unsigned char kat2483_entropyinreseed[] = { + 0xa8, 0xd4, 0xe8, 0x1e, 0x5f, 0x8a, 0x5e, 0x47, 0x92, 0x0f, 0x67, 0xf5, + 0xdf, 0x34, 0x7e, 0xb3, 0xb8, 0xe9, 0x3b, 0x67, 0x38, 0x1b, 0x28, 0x16, + 0xd3, 0x04, 0xb9, 0x19, 0xa8, 0xd5, 0xb6, 0x1e, 0x1e, 0x2b, 0xc7, 0x55, + 0x52, 0x01, 0x85, 0xc4, +}; +static const unsigned char kat2483_addinreseed[] = { + 0x13, 0xde, 0xb0, 0x0b, 0xbe, 0x24, 0xd3, 0x97, 0x5b, 0xf0, 0xc5, 0xb1, + 0x9a, 0x16, 0x02, 0x96, 0xb7, 0xfc, 0xde, 0xaf, 0x80, 0x4c, 0x78, 0x4f, + 0x62, 0x3f, 0x17, 0x2c, 0x0d, 0xbf, 0xe6, 0x80, 0xea, 0xc6, 0xcd, 0xde, + 0xc5, 0xf6, 0xb3, 0x2b, +}; +static const unsigned char kat2483_addin0[] = { + 0x60, 0xd9, 0x21, 0xa3, 0xa3, 0x53, 0x23, 0xb8, 0xe2, 0xcd, 0xf1, 0x1a, + 0x30, 0xec, 0xc6, 0x20, 0xd5, 0xac, 0x92, 0xee, 0x03, 0x6d, 0x37, 0xfd, + 0xa8, 0x3a, 0xc6, 0x21, 0x5c, 0xae, 0x58, 0x47, 0xce, 0xcd, 0x46, 0x34, + 0x25, 0xbc, 0x7e, 0xf9, +}; +static const unsigned char kat2483_addin1[] = { + 0x3b, 0x46, 0xae, 0xea, 0x56, 0x79, 0x5e, 0x27, 0x05, 0x24, 0xfa, 0x9b, + 0x2f, 0x52, 0xaa, 0x4a, 0x5a, 0xd7, 0xcd, 0xde, 0x18, 0x27, 0x9f, 0xeb, + 0x6c, 0xde, 0xc9, 0xe3, 0x88, 0xa7, 0x4f, 0x8e, 0x9f, 0x06, 0x9e, 0x67, + 0x39, 0x93, 0x33, 0x16, +}; +static const unsigned char kat2483_retbits[] = { + 0x84, 0xfe, 0xaf, 0x90, 0xf9, 0xf0, 0x32, 0x99, 0x38, 0xad, 0x17, 0xe6, + 0x7d, 0x87, 0x6c, 0xf9, 0xcd, 0x7e, 0x83, 0xc0, 0xca, 0xc7, 0x95, 0xaa, + 0xbf, 0x31, 0x1f, 0xbd, 0x09, 0x0e, 0x37, 0x65, 0x4d, 0x50, 0x3a, 0xe3, + 0x8b, 0x8f, 0x5a, 0x47, 0x98, 0x1b, 0xf7, 0x8d, 0xaa, 0xbb, 0xa0, 0x75, + 0x05, 0xae, 0x87, 0x8b, 0x3d, 0x5e, 0x61, 0x53, 0xfa, 0xdb, 0xda, 0xd8, + 0x2a, 0x3f, 0xbe, 0x46, +}; +static const struct drbg_kat_pr_false kat2483_t = { + 7, kat2483_entropyin, kat2483_nonce, kat2483_persstr, + kat2483_entropyinreseed, kat2483_addinreseed, kat2483_addin0, + kat2483_addin1, kat2483_retbits +}; +static const struct drbg_kat kat2483 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2483_t +}; + +static const unsigned char kat2484_entropyin[] = { + 0xfe, 0xde, 0x3d, 0xd7, 0x49, 0xe6, 0xa4, 0x3e, 0xbe, 0xf0, 0x37, 0xc4, + 0x72, 0x41, 0xf6, 0xbb, 0xdc, 0xf8, 0xf5, 0xbd, 0xa6, 0xf8, 0x1b, 0x2f, + 0xe9, 0x88, 0xe1, 0xcf, 0x7b, 0x1c, 0x46, 0x6a, 0x9f, 0x94, 0x45, 0x03, + 0xd2, 0xab, 0x4c, 0x70, +}; +static const unsigned char kat2484_nonce[] = {0}; +static const unsigned char kat2484_persstr[] = {0}; +static const unsigned char kat2484_entropyinreseed[] = { + 0x5a, 0xe4, 0x95, 0x63, 0x20, 0xd7, 0x42, 0xcb, 0x5b, 0x73, 0x3a, 0xe1, + 0x3d, 0xcf, 0xcb, 0xcb, 0xaf, 0xee, 0x30, 0x46, 0xf7, 0xbb, 0x9f, 0xe2, + 0x09, 0x61, 0xfc, 0xf3, 0xa3, 0x7e, 0x9b, 0x40, 0xf2, 0x11, 0xc6, 0x18, + 0xc7, 0xf7, 0xf4, 0xc9, +}; +static const unsigned char kat2484_addinreseed[] = { + 0x96, 0xa2, 0x7b, 0x07, 0x59, 0xa3, 0xb8, 0xa9, 0x8c, 0x17, 0x23, 0xde, + 0xce, 0xd5, 0xeb, 0xb7, 0x5b, 0x3d, 0xea, 0x78, 0xbb, 0xd4, 0x56, 0x65, + 0x54, 0x38, 0x07, 0x45, 0x1d, 0x60, 0xa3, 0x03, 0x8d, 0xd3, 0xa6, 0x4b, + 0xbb, 0x15, 0x57, 0x0d, +}; +static const unsigned char kat2484_addin0[] = { + 0x25, 0x1f, 0xd8, 0x47, 0x99, 0x6a, 0xdf, 0x57, 0x65, 0x73, 0x97, 0x6a, + 0x95, 0x9e, 0x7e, 0xc2, 0xb2, 0x7c, 0x43, 0xa6, 0x4f, 0x02, 0x29, 0x6a, + 0xf5, 0x95, 0xd0, 0x67, 0x4f, 0xc4, 0xcd, 0xce, 0xfe, 0x9d, 0x2b, 0x99, + 0xe9, 0xed, 0x79, 0x4a, +}; +static const unsigned char kat2484_addin1[] = { + 0x79, 0xbd, 0x72, 0xd9, 0x61, 0xcd, 0x47, 0xbd, 0xa4, 0x36, 0x0b, 0x07, + 0x10, 0x1c, 0x11, 0xdf, 0xff, 0xef, 0xf5, 0xf7, 0xed, 0x98, 0xaf, 0x23, + 0xc0, 0x7a, 0x4a, 0x1b, 0x52, 0x8a, 0x5b, 0x5f, 0x63, 0x06, 0x4c, 0x16, + 0xe2, 0xfd, 0x29, 0x9c, +}; +static const unsigned char kat2484_retbits[] = { + 0x37, 0x17, 0x2d, 0x13, 0x63, 0xef, 0x96, 0xf0, 0xab, 0x42, 0x2e, 0x6d, + 0xf0, 0xe3, 0x16, 0x0f, 0x6c, 0xfb, 0x20, 0x2c, 0x98, 0x2d, 0x5f, 0x1f, + 0x14, 0x38, 0xb6, 0x99, 0xf2, 0x52, 0x96, 0x10, 0xc2, 0x32, 0xcb, 0xbc, + 0x26, 0xfc, 0xe9, 0xd1, 0xfd, 0x53, 0x4e, 0x24, 0x67, 0xff, 0x79, 0xbc, + 0x16, 0x20, 0x3a, 0xd5, 0x1b, 0x88, 0x51, 0xe3, 0x7c, 0x54, 0xfe, 0xb3, + 0xec, 0x47, 0x1c, 0x02, +}; +static const struct drbg_kat_pr_false kat2484_t = { + 8, kat2484_entropyin, kat2484_nonce, kat2484_persstr, + kat2484_entropyinreseed, kat2484_addinreseed, kat2484_addin0, + kat2484_addin1, kat2484_retbits +}; +static const struct drbg_kat kat2484 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2484_t +}; + +static const unsigned char kat2485_entropyin[] = { + 0x43, 0xfe, 0xbb, 0xb0, 0xe2, 0x55, 0xfc, 0x22, 0x48, 0x7e, 0x42, 0xe9, + 0xc8, 0xe9, 0x9f, 0x39, 0xa1, 0x26, 0x47, 0x12, 0x2a, 0x6b, 0xcc, 0xac, + 0x8a, 0x1f, 0x9c, 0x13, 0x92, 0xd0, 0xc1, 0x31, 0x8a, 0x3c, 0x88, 0x07, + 0x5d, 0xb9, 0x0c, 0x5f, +}; +static const unsigned char kat2485_nonce[] = {0}; +static const unsigned char kat2485_persstr[] = {0}; +static const unsigned char kat2485_entropyinreseed[] = { + 0x94, 0x9f, 0xe1, 0x25, 0x48, 0xe2, 0x23, 0x81, 0x11, 0x66, 0x4f, 0x87, + 0xbc, 0x82, 0xf0, 0x59, 0xc4, 0xb4, 0x4d, 0x89, 0xc4, 0x52, 0x6f, 0x7b, + 0x4d, 0xc4, 0x33, 0xaa, 0x7d, 0xae, 0xde, 0x68, 0x01, 0x92, 0xe6, 0xf0, + 0xe7, 0xe5, 0xe4, 0xa5, +}; +static const unsigned char kat2485_addinreseed[] = { + 0x5d, 0x63, 0x7e, 0x1b, 0x0b, 0xfd, 0x8c, 0xe1, 0x44, 0xb8, 0xa2, 0xab, + 0xb7, 0x7f, 0x23, 0x75, 0x69, 0x6c, 0xd8, 0x49, 0xd9, 0x95, 0x8a, 0xc3, + 0x20, 0xe9, 0xf3, 0xb8, 0x82, 0x1d, 0x7f, 0x82, 0x66, 0x0a, 0x17, 0x9d, + 0xa2, 0x3d, 0x78, 0xdc, +}; +static const unsigned char kat2485_addin0[] = { + 0x72, 0xb5, 0x4b, 0xe0, 0x8e, 0xf3, 0xf2, 0xb6, 0x69, 0xb1, 0x6a, 0xf3, + 0x5f, 0x78, 0x03, 0x2f, 0x9b, 0xac, 0x62, 0xea, 0x9e, 0xe8, 0x14, 0x69, + 0x57, 0x4c, 0xaa, 0x78, 0x5b, 0xb1, 0x72, 0xe4, 0xa6, 0xc0, 0x42, 0x63, + 0x00, 0xac, 0xec, 0xbb, +}; +static const unsigned char kat2485_addin1[] = { + 0x89, 0x46, 0xbe, 0x1f, 0x45, 0x66, 0xff, 0x64, 0x9e, 0x72, 0xe7, 0x58, + 0x59, 0x9b, 0xcc, 0x93, 0xb0, 0x82, 0x8d, 0xc0, 0x85, 0x66, 0xf4, 0x69, + 0x74, 0xef, 0xe3, 0xff, 0x16, 0xe8, 0x1e, 0x17, 0x96, 0x31, 0xf5, 0x8f, + 0xea, 0x17, 0x6f, 0x76, +}; +static const unsigned char kat2485_retbits[] = { + 0x6c, 0xe8, 0x17, 0xa6, 0xda, 0x4f, 0x99, 0x3e, 0xe6, 0x82, 0xca, 0x8b, + 0x5b, 0x7a, 0x3a, 0xcf, 0x92, 0xad, 0x26, 0x0c, 0xf7, 0xc6, 0x5c, 0x3a, + 0x49, 0xa8, 0x87, 0x71, 0x64, 0xfe, 0x6a, 0x3f, 0xda, 0x64, 0x26, 0x00, + 0xe4, 0x6d, 0x11, 0x41, 0x49, 0x85, 0x0c, 0x69, 0x05, 0xbb, 0x88, 0xe9, + 0xc2, 0x16, 0xd9, 0x04, 0xfc, 0xb4, 0xcc, 0x81, 0xe0, 0xec, 0xc3, 0x41, + 0xfc, 0x8c, 0xa1, 0x4c, +}; +static const struct drbg_kat_pr_false kat2485_t = { + 9, kat2485_entropyin, kat2485_nonce, kat2485_persstr, + kat2485_entropyinreseed, kat2485_addinreseed, kat2485_addin0, + kat2485_addin1, kat2485_retbits +}; +static const struct drbg_kat kat2485 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2485_t +}; + +static const unsigned char kat2486_entropyin[] = { + 0x3c, 0x80, 0xfd, 0x7d, 0x57, 0xdd, 0x2f, 0x47, 0x74, 0x48, 0x95, 0x18, + 0x93, 0xd2, 0xda, 0x13, 0x1f, 0x69, 0x91, 0x3f, 0x3b, 0x8f, 0xb9, 0xbe, + 0xc9, 0x94, 0x88, 0x4f, 0x3b, 0xb1, 0xb2, 0xa6, 0x41, 0x41, 0x2c, 0x39, + 0xf6, 0xf9, 0x62, 0x20, +}; +static const unsigned char kat2486_nonce[] = {0}; +static const unsigned char kat2486_persstr[] = {0}; +static const unsigned char kat2486_entropyinreseed[] = { + 0x19, 0xc1, 0x21, 0xd7, 0x34, 0x5b, 0x62, 0x41, 0x63, 0x48, 0x71, 0x56, + 0x8f, 0xc5, 0x5a, 0x89, 0x6d, 0xef, 0x1a, 0x49, 0x48, 0xa6, 0xd5, 0x96, + 0xaa, 0xc4, 0xef, 0x87, 0x48, 0xb0, 0x3f, 0x29, 0x6f, 0xab, 0xff, 0x7b, + 0xc9, 0x88, 0x84, 0xaf, +}; +static const unsigned char kat2486_addinreseed[] = { + 0x8b, 0xf2, 0xdb, 0xbe, 0x53, 0xf2, 0x29, 0x30, 0x42, 0xa4, 0xd1, 0x2b, + 0x58, 0x4b, 0xcc, 0xee, 0x01, 0xa8, 0x38, 0xf4, 0xdd, 0x56, 0xea, 0xfb, + 0x14, 0x27, 0xed, 0x3e, 0xa5, 0x90, 0xe7, 0x08, 0xa8, 0x4e, 0x70, 0x78, + 0x7c, 0xe0, 0x91, 0xb2, +}; +static const unsigned char kat2486_addin0[] = { + 0xa8, 0x9d, 0x02, 0x9b, 0x51, 0xae, 0xc5, 0x64, 0x63, 0xe1, 0xba, 0x11, + 0x74, 0x0c, 0x19, 0x2b, 0x1d, 0x6f, 0xa6, 0x9e, 0xbc, 0x49, 0x06, 0x8f, + 0x5b, 0xeb, 0xc6, 0x44, 0x72, 0x19, 0x70, 0xb9, 0xbf, 0x05, 0x4f, 0x9d, + 0xbf, 0xbb, 0xa4, 0x42, +}; +static const unsigned char kat2486_addin1[] = { + 0x11, 0xcb, 0xb1, 0x2b, 0x24, 0x66, 0xd2, 0x4f, 0x5c, 0x17, 0x12, 0x6e, + 0xb8, 0x11, 0x0e, 0x99, 0xef, 0xc6, 0x63, 0xbf, 0xde, 0x92, 0x0e, 0x51, + 0x8b, 0xcb, 0xf8, 0xd5, 0x8f, 0x21, 0x8d, 0xb8, 0xe9, 0xb2, 0xf3, 0xc0, + 0x7e, 0x9d, 0xbb, 0x35, +}; +static const unsigned char kat2486_retbits[] = { + 0x95, 0x32, 0x35, 0x19, 0x3f, 0x7d, 0x3a, 0xe1, 0x76, 0x72, 0xa8, 0x59, + 0x60, 0x51, 0xa4, 0xe3, 0xc3, 0xaf, 0x54, 0x29, 0x89, 0xa4, 0x87, 0x87, + 0x96, 0xbd, 0x5c, 0xbe, 0xd7, 0xab, 0xfc, 0x6b, 0x7b, 0x67, 0x68, 0x3d, + 0x3b, 0x92, 0x34, 0xe2, 0xd7, 0x24, 0x73, 0x27, 0x65, 0x63, 0x5b, 0x0e, + 0x3c, 0x35, 0xf0, 0xf0, 0xba, 0x06, 0x7b, 0xa4, 0x42, 0xd6, 0x73, 0x4d, + 0x3b, 0xf7, 0x81, 0xcb, +}; +static const struct drbg_kat_pr_false kat2486_t = { + 10, kat2486_entropyin, kat2486_nonce, kat2486_persstr, + kat2486_entropyinreseed, kat2486_addinreseed, kat2486_addin0, + kat2486_addin1, kat2486_retbits +}; +static const struct drbg_kat kat2486 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2486_t +}; + +static const unsigned char kat2487_entropyin[] = { + 0xae, 0x21, 0x08, 0xea, 0x13, 0x17, 0x3d, 0xb8, 0x4e, 0x13, 0x35, 0x23, + 0x73, 0x44, 0x8d, 0xa4, 0xbb, 0xa9, 0xfc, 0xdd, 0x9c, 0x2f, 0x87, 0x73, + 0x16, 0xad, 0x6f, 0x29, 0x25, 0x96, 0x85, 0x0a, 0x15, 0x36, 0xa0, 0x4c, + 0x3d, 0xe9, 0x63, 0x7b, +}; +static const unsigned char kat2487_nonce[] = {0}; +static const unsigned char kat2487_persstr[] = {0}; +static const unsigned char kat2487_entropyinreseed[] = { + 0xc7, 0xf3, 0x73, 0x42, 0xa1, 0x0e, 0x3d, 0xea, 0x83, 0xec, 0xa4, 0x9f, + 0x46, 0x05, 0x81, 0x13, 0x1a, 0xaf, 0x26, 0x09, 0x49, 0xa6, 0x88, 0x41, + 0xa7, 0x90, 0xec, 0x82, 0x73, 0x86, 0xac, 0x0c, 0xf9, 0x4e, 0x75, 0xda, + 0xcd, 0x38, 0xc2, 0x01, +}; +static const unsigned char kat2487_addinreseed[] = { + 0x7e, 0xc1, 0x69, 0x3f, 0xd6, 0x6e, 0xd9, 0xf7, 0x4f, 0xfd, 0xcc, 0x62, + 0x3d, 0xa0, 0x8c, 0xfb, 0x17, 0x86, 0x1f, 0xbd, 0xed, 0x97, 0x68, 0x20, + 0x8e, 0x91, 0x4a, 0x9f, 0xa6, 0xfc, 0xa7, 0x9e, 0xc8, 0x74, 0x3a, 0x6e, + 0xa3, 0x3f, 0x3f, 0x17, +}; +static const unsigned char kat2487_addin0[] = { + 0xb0, 0x1f, 0x35, 0xa9, 0xc7, 0xe4, 0xd4, 0x61, 0x77, 0x42, 0x62, 0x9d, + 0xb6, 0x9b, 0xff, 0xc3, 0xe2, 0x36, 0x56, 0x04, 0xf0, 0xba, 0xd4, 0x98, + 0x46, 0x2b, 0x25, 0xff, 0x2d, 0x10, 0x87, 0x8e, 0xdc, 0x15, 0xe2, 0x6a, + 0x71, 0x51, 0xbb, 0x89, +}; +static const unsigned char kat2487_addin1[] = { + 0x3d, 0xd2, 0x10, 0xdb, 0xb4, 0x83, 0x13, 0x4a, 0xdf, 0x41, 0x40, 0x74, + 0x9e, 0x1c, 0x62, 0x2d, 0xcc, 0x7b, 0x56, 0x4f, 0x54, 0xb9, 0x82, 0x0c, + 0xe8, 0x63, 0xbf, 0x3f, 0x24, 0x80, 0x49, 0x0b, 0x71, 0xa5, 0xa8, 0x1f, + 0x52, 0x6c, 0x14, 0x32, +}; +static const unsigned char kat2487_retbits[] = { + 0x32, 0xf8, 0x00, 0xf4, 0xe5, 0xcc, 0xb8, 0x30, 0xa9, 0x39, 0xad, 0x74, + 0xb5, 0x90, 0xd9, 0xb6, 0x18, 0xba, 0x89, 0xa5, 0xac, 0x42, 0xa6, 0x92, + 0x3a, 0x02, 0xbc, 0x24, 0x79, 0xd6, 0x1b, 0x7e, 0x47, 0x31, 0xe8, 0x2c, + 0xf0, 0x91, 0x4f, 0x42, 0x8b, 0x2d, 0x77, 0x59, 0xd9, 0x10, 0x97, 0xaf, + 0x70, 0xb1, 0xf8, 0x9d, 0xca, 0xb5, 0xa0, 0x65, 0x2b, 0xa6, 0xea, 0xd5, + 0xaf, 0x8b, 0x88, 0x3a, +}; +static const struct drbg_kat_pr_false kat2487_t = { + 11, kat2487_entropyin, kat2487_nonce, kat2487_persstr, + kat2487_entropyinreseed, kat2487_addinreseed, kat2487_addin0, + kat2487_addin1, kat2487_retbits +}; +static const struct drbg_kat kat2487 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2487_t +}; + +static const unsigned char kat2488_entropyin[] = { + 0x7a, 0x16, 0xdf, 0x57, 0x89, 0x3d, 0xba, 0x05, 0x8d, 0x86, 0x6d, 0x2b, + 0xaf, 0xa9, 0x8f, 0x60, 0x46, 0x34, 0x25, 0x80, 0xdf, 0x4a, 0x9c, 0xac, + 0x9d, 0x32, 0xae, 0x57, 0x44, 0x5f, 0x7b, 0x74, 0xd6, 0x9a, 0x95, 0x9c, + 0x2b, 0x08, 0xba, 0xf9, +}; +static const unsigned char kat2488_nonce[] = {0}; +static const unsigned char kat2488_persstr[] = {0}; +static const unsigned char kat2488_entropyinreseed[] = { + 0x26, 0x5f, 0xbd, 0x8c, 0xc9, 0x8d, 0xee, 0x9b, 0x51, 0x3b, 0xb0, 0xa2, + 0x13, 0x3e, 0x1e, 0x1a, 0x25, 0xa2, 0xb2, 0x02, 0x4a, 0x71, 0x7d, 0x67, + 0xb8, 0x62, 0xde, 0x2a, 0xb6, 0xc1, 0x3a, 0x0f, 0x2a, 0x18, 0x00, 0x22, + 0xc3, 0xbc, 0x67, 0xf2, +}; +static const unsigned char kat2488_addinreseed[] = { + 0x6c, 0x91, 0xd5, 0x7b, 0xef, 0x42, 0x9c, 0xc9, 0x55, 0xa6, 0xe0, 0x2c, + 0x27, 0xe7, 0xcc, 0x3b, 0x0a, 0x3b, 0xdc, 0x74, 0x75, 0x7a, 0x65, 0xb8, + 0xdd, 0xb0, 0xd7, 0x3e, 0xba, 0x21, 0x74, 0x1c, 0x63, 0xd2, 0x44, 0xf6, + 0x2c, 0xf6, 0x7d, 0x31, +}; +static const unsigned char kat2488_addin0[] = { + 0x0d, 0xe0, 0xff, 0x92, 0xfe, 0x53, 0x6a, 0x52, 0x7b, 0x7a, 0x47, 0x52, + 0x75, 0x62, 0xf5, 0x7f, 0xfe, 0x6b, 0xaf, 0x68, 0xd3, 0xd1, 0x98, 0x0e, + 0x83, 0xc6, 0xd4, 0x4f, 0x36, 0x59, 0xba, 0x86, 0xa4, 0xd4, 0xe2, 0xea, + 0x84, 0xa0, 0x22, 0x81, +}; +static const unsigned char kat2488_addin1[] = { + 0x50, 0x46, 0x71, 0x35, 0x41, 0xdd, 0x47, 0xbe, 0x93, 0xb2, 0x04, 0x0e, + 0x2b, 0xc8, 0x34, 0x5e, 0x27, 0xde, 0xe5, 0x6d, 0x1e, 0xe6, 0x03, 0x61, + 0xf7, 0x35, 0xb5, 0x5d, 0x52, 0xfc, 0xcf, 0x3b, 0xa2, 0xbc, 0x9e, 0xa6, + 0xdf, 0xbb, 0x57, 0x1b, +}; +static const unsigned char kat2488_retbits[] = { + 0x81, 0x21, 0xa5, 0xfc, 0x3c, 0x26, 0xd1, 0x13, 0xd6, 0xa6, 0x1b, 0xad, + 0xb4, 0x6a, 0xe1, 0x4c, 0x72, 0xbf, 0xd9, 0xc9, 0x89, 0xef, 0xc7, 0xe6, + 0x32, 0xd0, 0x5d, 0x56, 0xbc, 0xfe, 0xb0, 0xb3, 0xf5, 0x93, 0x98, 0x26, + 0xf8, 0x44, 0x46, 0x01, 0x52, 0x93, 0x3b, 0xf5, 0x95, 0xf3, 0xc6, 0xc5, + 0xd4, 0x6d, 0xc3, 0xce, 0xaf, 0x88, 0xfd, 0x72, 0x72, 0xfd, 0x1f, 0x85, + 0x07, 0xf4, 0x7f, 0x1f, +}; +static const struct drbg_kat_pr_false kat2488_t = { + 12, kat2488_entropyin, kat2488_nonce, kat2488_persstr, + kat2488_entropyinreseed, kat2488_addinreseed, kat2488_addin0, + kat2488_addin1, kat2488_retbits +}; +static const struct drbg_kat kat2488 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2488_t +}; + +static const unsigned char kat2489_entropyin[] = { + 0x90, 0x6c, 0x6a, 0x9a, 0x68, 0x01, 0x8b, 0xc1, 0x79, 0x56, 0x09, 0x92, + 0xfa, 0x9a, 0x34, 0xaa, 0x6e, 0x09, 0x8f, 0xad, 0x1f, 0xd1, 0x5b, 0x76, + 0x29, 0x87, 0xa7, 0xde, 0x36, 0xb7, 0x83, 0x6f, 0x3e, 0xe9, 0xe3, 0xbc, + 0xe9, 0x90, 0xfa, 0x6f, +}; +static const unsigned char kat2489_nonce[] = {0}; +static const unsigned char kat2489_persstr[] = {0}; +static const unsigned char kat2489_entropyinreseed[] = { + 0xc8, 0xc2, 0xe1, 0x29, 0x12, 0x3a, 0x91, 0xa7, 0xa2, 0x1b, 0x4c, 0xcb, + 0xde, 0x61, 0xd7, 0x69, 0x8f, 0xaa, 0xd2, 0x63, 0x78, 0xe4, 0x2d, 0xd7, + 0xba, 0x5f, 0x52, 0x52, 0xde, 0xbe, 0x43, 0xb2, 0xf9, 0x40, 0x71, 0x8f, + 0xbb, 0xc0, 0xd6, 0x5e, +}; +static const unsigned char kat2489_addinreseed[] = { + 0x58, 0xa7, 0xa4, 0xcd, 0x2b, 0x1f, 0x08, 0x76, 0x1a, 0x99, 0xf3, 0x84, + 0x32, 0x63, 0x69, 0x3b, 0xab, 0x12, 0xc1, 0x76, 0x44, 0x2f, 0x73, 0x59, + 0x07, 0x0d, 0x07, 0xb8, 0xad, 0xf1, 0x47, 0xea, 0x41, 0xd3, 0x33, 0x93, + 0xc1, 0x97, 0x24, 0xf6, +}; +static const unsigned char kat2489_addin0[] = { + 0xe1, 0x4a, 0x9e, 0x16, 0xf1, 0x55, 0x08, 0x17, 0xb7, 0x52, 0x13, 0x3e, + 0x0d, 0x97, 0xe1, 0x63, 0xd2, 0x27, 0xac, 0x50, 0x3b, 0x0e, 0xec, 0xe5, + 0xba, 0xa1, 0xed, 0xf2, 0x81, 0xd1, 0xca, 0x1f, 0xec, 0x18, 0xe7, 0xca, + 0x9c, 0xf9, 0xda, 0x18, +}; +static const unsigned char kat2489_addin1[] = { + 0xe4, 0xaf, 0x55, 0xe5, 0x80, 0x95, 0xb6, 0x90, 0xfe, 0xc8, 0x7b, 0x17, + 0x8f, 0x50, 0xb7, 0x7a, 0xc6, 0x87, 0x6e, 0x82, 0xe6, 0xca, 0xd2, 0x12, + 0x6d, 0x94, 0x82, 0x55, 0x82, 0xb1, 0x72, 0xa8, 0x68, 0xe1, 0x43, 0x9e, + 0x03, 0x43, 0xfa, 0xc6, +}; +static const unsigned char kat2489_retbits[] = { + 0xcb, 0x7b, 0xf7, 0x1d, 0xd3, 0x98, 0x7f, 0xb0, 0xd9, 0x74, 0x30, 0xca, + 0x48, 0x4c, 0x8b, 0x00, 0x73, 0x5a, 0xa5, 0x93, 0x13, 0x40, 0x9c, 0xc4, + 0x1e, 0x81, 0x8f, 0xf8, 0xbb, 0x4a, 0x17, 0xc9, 0x02, 0x42, 0xee, 0xcf, + 0xf3, 0x3f, 0x30, 0xf0, 0x2c, 0xb3, 0x1d, 0x5d, 0x06, 0x67, 0x8b, 0x1a, + 0x0d, 0xc5, 0xb7, 0x21, 0xcd, 0x5f, 0x18, 0xc9, 0x3b, 0x92, 0x5a, 0x4f, + 0x84, 0x62, 0x5f, 0x6e, +}; +static const struct drbg_kat_pr_false kat2489_t = { + 13, kat2489_entropyin, kat2489_nonce, kat2489_persstr, + kat2489_entropyinreseed, kat2489_addinreseed, kat2489_addin0, + kat2489_addin1, kat2489_retbits +}; +static const struct drbg_kat kat2489 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2489_t +}; + +static const unsigned char kat2490_entropyin[] = { + 0xa0, 0x9f, 0x67, 0x98, 0x86, 0x1a, 0x55, 0x12, 0x2b, 0xa4, 0xc8, 0xca, + 0xb0, 0x18, 0x42, 0x32, 0x33, 0x18, 0x1e, 0x32, 0xb5, 0x33, 0x42, 0x98, + 0x42, 0x8b, 0x01, 0xaa, 0xe3, 0x05, 0x5a, 0x71, 0x3c, 0x31, 0x1f, 0x6d, + 0xa3, 0x49, 0xc4, 0xb0, +}; +static const unsigned char kat2490_nonce[] = {0}; +static const unsigned char kat2490_persstr[] = {0}; +static const unsigned char kat2490_entropyinreseed[] = { + 0x68, 0x37, 0x24, 0x05, 0x40, 0x5f, 0x21, 0xaf, 0x3d, 0xd7, 0x81, 0xf1, + 0x9b, 0xd5, 0x4d, 0x5e, 0x27, 0x5c, 0xc8, 0x65, 0xe6, 0xbb, 0x01, 0x4c, + 0x7c, 0x50, 0x94, 0x50, 0xdb, 0x56, 0x90, 0xe2, 0x87, 0x3c, 0xe6, 0x31, + 0x75, 0xc4, 0x4f, 0x3b, +}; +static const unsigned char kat2490_addinreseed[] = { + 0x35, 0x00, 0x1a, 0x8f, 0xf2, 0x45, 0x7d, 0xe5, 0x31, 0x3f, 0x05, 0x8e, + 0x85, 0x19, 0x29, 0x68, 0x4f, 0x04, 0x02, 0x36, 0x91, 0x77, 0x7b, 0x73, + 0xaa, 0xc7, 0x7f, 0x72, 0x4a, 0x8a, 0x18, 0x58, 0xc0, 0x77, 0x14, 0xc6, + 0xc3, 0xe3, 0x00, 0x75, +}; +static const unsigned char kat2490_addin0[] = { + 0x37, 0xab, 0x67, 0x83, 0x01, 0xab, 0x45, 0xde, 0xca, 0x79, 0x1b, 0x4c, + 0x5b, 0x1a, 0x79, 0x2c, 0x54, 0x22, 0xf2, 0xe3, 0xbe, 0x57, 0xbc, 0xf7, + 0x7d, 0x92, 0x46, 0x8e, 0x25, 0x4d, 0x2d, 0x51, 0x04, 0xfc, 0x76, 0x2c, + 0xfa, 0x34, 0x22, 0x69, +}; +static const unsigned char kat2490_addin1[] = { + 0xcb, 0x7a, 0x66, 0x11, 0xc7, 0xfd, 0x8f, 0xfb, 0x88, 0x4a, 0xb4, 0x17, + 0x66, 0xbf, 0x4a, 0x57, 0x87, 0x8f, 0x18, 0x7d, 0xbb, 0x09, 0xd7, 0xb0, + 0xe7, 0x7d, 0xb4, 0xed, 0x2c, 0xcf, 0xbc, 0xf3, 0xc6, 0x40, 0xa9, 0x34, + 0x8d, 0xec, 0x4e, 0x1f, +}; +static const unsigned char kat2490_retbits[] = { + 0xb1, 0x94, 0xfd, 0x78, 0x6c, 0xfa, 0xb6, 0x68, 0x85, 0xcf, 0xe7, 0xb0, + 0x3d, 0xaf, 0x64, 0x2d, 0xc6, 0x0e, 0xfd, 0x73, 0x99, 0xf6, 0xc4, 0x8d, + 0x3d, 0xf5, 0x03, 0x37, 0xb4, 0x0c, 0x40, 0x34, 0x9b, 0x94, 0xca, 0x50, + 0x90, 0x53, 0x45, 0x1c, 0x34, 0xd6, 0xb8, 0x38, 0xce, 0x19, 0x05, 0xb5, + 0xcd, 0xdb, 0xcf, 0x5d, 0xf1, 0xbe, 0x2a, 0x97, 0x83, 0x40, 0x4b, 0xd0, + 0xb7, 0x2b, 0x52, 0x3d, +}; +static const struct drbg_kat_pr_false kat2490_t = { + 14, kat2490_entropyin, kat2490_nonce, kat2490_persstr, + kat2490_entropyinreseed, kat2490_addinreseed, kat2490_addin0, + kat2490_addin1, kat2490_retbits +}; +static const struct drbg_kat kat2490 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2490_t +}; + +static const unsigned char kat2491_entropyin[] = { + 0x9d, 0xda, 0x17, 0x5d, 0x9f, 0x26, 0xe5, 0x6b, 0x94, 0x49, 0xbb, 0x0c, + 0x9d, 0x02, 0x2c, 0x47, 0x13, 0x8a, 0xe7, 0x8b, 0xa3, 0x8c, 0x35, 0xd1, + 0x5f, 0x2d, 0x2c, 0x55, 0x5d, 0x69, 0xd4, 0xd6, 0x94, 0x5a, 0x57, 0xae, + 0x39, 0x69, 0x62, 0x52, +}; +static const unsigned char kat2491_nonce[] = {0}; +static const unsigned char kat2491_persstr[] = { + 0x08, 0x94, 0x30, 0xcf, 0x99, 0x6e, 0x06, 0xa0, 0xdc, 0x31, 0x32, 0xc8, + 0xaa, 0x6e, 0x3e, 0xdc, 0x76, 0x51, 0xff, 0x4f, 0x01, 0xe7, 0x11, 0x3c, + 0xa3, 0xce, 0x2a, 0x21, 0x5e, 0x10, 0xec, 0x88, 0xad, 0x72, 0x36, 0xb8, + 0x30, 0x7c, 0x85, 0x69, +}; +static const unsigned char kat2491_entropyinreseed[] = { + 0xd7, 0x5a, 0xae, 0x1b, 0x7b, 0xb4, 0x9b, 0x81, 0xff, 0x43, 0xa8, 0xe8, + 0x9f, 0x7b, 0x0c, 0xcb, 0xf6, 0xf6, 0xaf, 0x46, 0x47, 0xa5, 0x57, 0xf7, + 0x6e, 0xd7, 0x3f, 0x09, 0x25, 0x4d, 0x67, 0xff, 0xd7, 0xe3, 0x56, 0x29, + 0x86, 0x86, 0x23, 0x00, +}; +static const unsigned char kat2491_addinreseed[] = {0}; +static const unsigned char kat2491_addin0[] = {0}; +static const unsigned char kat2491_addin1[] = {0}; +static const unsigned char kat2491_retbits[] = { + 0xbc, 0x80, 0x62, 0x76, 0x71, 0xbc, 0xa2, 0x67, 0xba, 0xe1, 0xa0, 0xde, + 0x9e, 0xb9, 0xe4, 0x81, 0xd8, 0x3b, 0x5c, 0xad, 0xe6, 0xe3, 0xc5, 0x08, + 0x24, 0x34, 0xb0, 0xb7, 0x00, 0xf3, 0x15, 0x43, 0x9c, 0x2c, 0xa2, 0xe9, + 0xde, 0xf4, 0x3b, 0x1b, 0xf2, 0x05, 0x84, 0x57, 0x7c, 0xef, 0x5b, 0x61, + 0xc0, 0x68, 0x1e, 0x4b, 0xd4, 0x40, 0xe8, 0x8d, 0xa3, 0x79, 0xa0, 0x21, + 0x4c, 0xf5, 0xf5, 0xcf, +}; +static const struct drbg_kat_pr_false kat2491_t = { + 0, kat2491_entropyin, kat2491_nonce, kat2491_persstr, + kat2491_entropyinreseed, kat2491_addinreseed, kat2491_addin0, + kat2491_addin1, kat2491_retbits +}; +static const struct drbg_kat kat2491 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2491_t +}; + +static const unsigned char kat2492_entropyin[] = { + 0x17, 0x3c, 0x24, 0xd2, 0xf5, 0xc4, 0x19, 0x57, 0xe4, 0x16, 0xb6, 0xc0, + 0x66, 0xa5, 0xad, 0xd4, 0xac, 0xd1, 0xfa, 0xc3, 0xa9, 0xb5, 0x5d, 0x94, + 0x52, 0x60, 0xf5, 0x90, 0x8c, 0xd5, 0xa1, 0x36, 0x48, 0x63, 0x92, 0xb6, + 0x90, 0x37, 0xcb, 0x48, +}; +static const unsigned char kat2492_nonce[] = {0}; +static const unsigned char kat2492_persstr[] = { + 0xe6, 0x24, 0x31, 0xee, 0xfc, 0xd2, 0xb5, 0x7c, 0x74, 0x39, 0xe4, 0xdb, + 0x4d, 0x3d, 0x64, 0x4d, 0xe7, 0x9e, 0x56, 0xc5, 0x2a, 0x7f, 0xa9, 0xff, + 0x1d, 0xc0, 0x90, 0x10, 0x90, 0xa4, 0xc4, 0xa3, 0x7f, 0xa8, 0x2f, 0xae, + 0x4e, 0x32, 0x00, 0xed, +}; +static const unsigned char kat2492_entropyinreseed[] = { + 0xd0, 0x7d, 0xb8, 0x0b, 0x04, 0x64, 0x95, 0xce, 0x43, 0x6c, 0x4a, 0xba, + 0x6c, 0x6a, 0xaa, 0xbb, 0x47, 0xe7, 0x61, 0x09, 0x63, 0x93, 0x0a, 0x18, + 0x47, 0x7f, 0x4f, 0x5d, 0x26, 0xcd, 0xcf, 0xf8, 0x21, 0x3b, 0x7f, 0xec, + 0x69, 0xcb, 0xea, 0x2b, +}; +static const unsigned char kat2492_addinreseed[] = {0}; +static const unsigned char kat2492_addin0[] = {0}; +static const unsigned char kat2492_addin1[] = {0}; +static const unsigned char kat2492_retbits[] = { + 0x09, 0x73, 0x2d, 0xff, 0x5d, 0x83, 0x54, 0xe5, 0x8b, 0x87, 0x78, 0xfe, + 0x1b, 0xa1, 0x32, 0x82, 0x99, 0xb1, 0x06, 0xeb, 0x7d, 0x9f, 0x36, 0x3d, + 0xc1, 0xf6, 0xf1, 0x30, 0x30, 0xdf, 0xcc, 0x06, 0x8b, 0x90, 0x0a, 0xab, + 0xbe, 0x4f, 0x0e, 0xef, 0xfa, 0xfd, 0x14, 0xf8, 0x3a, 0x18, 0x33, 0x3e, + 0x61, 0xcb, 0xac, 0xba, 0x33, 0x87, 0x42, 0xe4, 0xe6, 0x81, 0x4e, 0x92, + 0x0b, 0x87, 0x5d, 0xf4, +}; +static const struct drbg_kat_pr_false kat2492_t = { + 1, kat2492_entropyin, kat2492_nonce, kat2492_persstr, + kat2492_entropyinreseed, kat2492_addinreseed, kat2492_addin0, + kat2492_addin1, kat2492_retbits +}; +static const struct drbg_kat kat2492 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2492_t +}; + +static const unsigned char kat2493_entropyin[] = { + 0x68, 0x4b, 0x47, 0xf0, 0x3f, 0x35, 0x7a, 0xad, 0x28, 0xb3, 0x05, 0xfc, + 0x9e, 0xa1, 0x90, 0x2b, 0x45, 0x01, 0x6e, 0x39, 0x70, 0x89, 0x7d, 0x5e, + 0xab, 0x8d, 0xd1, 0xcc, 0x3e, 0x9d, 0x49, 0xd7, 0xb8, 0xd6, 0xfd, 0xc3, + 0xa1, 0x07, 0x4c, 0x2e, +}; +static const unsigned char kat2493_nonce[] = {0}; +static const unsigned char kat2493_persstr[] = { + 0x3b, 0x2b, 0xc5, 0x55, 0x28, 0x1c, 0x7e, 0x4c, 0x9b, 0x9c, 0xc6, 0x1b, + 0x46, 0x8f, 0x27, 0x95, 0xa6, 0x70, 0x48, 0xc4, 0x4e, 0x07, 0x8b, 0x90, + 0xba, 0xb8, 0x25, 0x20, 0x77, 0x08, 0x7f, 0xa2, 0xd2, 0xab, 0x61, 0xa4, + 0x46, 0xae, 0x3d, 0x8c, +}; +static const unsigned char kat2493_entropyinreseed[] = { + 0x48, 0x1b, 0xa2, 0xf9, 0x64, 0x65, 0x23, 0x47, 0x2b, 0x75, 0x75, 0xbb, + 0x81, 0x43, 0xeb, 0xcf, 0x87, 0xdd, 0xa9, 0x7e, 0x68, 0xc0, 0x37, 0x7e, + 0xdf, 0x24, 0xbf, 0x6f, 0xfc, 0x7d, 0x93, 0x37, 0xa1, 0xa3, 0x3c, 0x74, + 0xb6, 0x5a, 0x44, 0x39, +}; +static const unsigned char kat2493_addinreseed[] = {0}; +static const unsigned char kat2493_addin0[] = {0}; +static const unsigned char kat2493_addin1[] = {0}; +static const unsigned char kat2493_retbits[] = { + 0x84, 0xe4, 0x24, 0x79, 0xf3, 0x96, 0xb3, 0x9a, 0xd3, 0xb9, 0xc9, 0x1b, + 0x5c, 0xe5, 0x91, 0xd3, 0x4c, 0x61, 0x79, 0xf0, 0x6e, 0xf3, 0xe7, 0xd4, + 0x02, 0x2d, 0x64, 0x68, 0xf4, 0xc4, 0xb6, 0xc8, 0x0c, 0xa6, 0xf8, 0xd2, + 0x0d, 0xfc, 0x2c, 0x74, 0x47, 0x44, 0x45, 0xec, 0xc1, 0x4f, 0x99, 0x5b, + 0x08, 0x03, 0x21, 0xfd, 0x24, 0x06, 0x90, 0x9a, 0x6e, 0xc5, 0x60, 0x8c, + 0x21, 0x86, 0x78, 0x52, +}; +static const struct drbg_kat_pr_false kat2493_t = { + 2, kat2493_entropyin, kat2493_nonce, kat2493_persstr, + kat2493_entropyinreseed, kat2493_addinreseed, kat2493_addin0, + kat2493_addin1, kat2493_retbits +}; +static const struct drbg_kat kat2493 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2493_t +}; + +static const unsigned char kat2494_entropyin[] = { + 0x10, 0x56, 0xee, 0xb9, 0xa8, 0xea, 0x89, 0x1a, 0xb8, 0x63, 0x4d, 0x85, + 0x9e, 0x59, 0xa0, 0x32, 0x32, 0x23, 0x6e, 0xa4, 0x0a, 0x6f, 0x42, 0x4b, + 0xaa, 0x47, 0xd0, 0x40, 0xe9, 0x5e, 0xab, 0x9c, 0x2f, 0xc7, 0xad, 0xf7, + 0x39, 0x89, 0xaf, 0xc6, +}; +static const unsigned char kat2494_nonce[] = {0}; +static const unsigned char kat2494_persstr[] = { + 0x9f, 0x02, 0x80, 0xdb, 0x13, 0xa8, 0x03, 0xc1, 0x1c, 0xac, 0x66, 0x48, + 0x4e, 0xb5, 0xe7, 0x31, 0x2b, 0xfa, 0xbe, 0xcc, 0x0b, 0x80, 0xec, 0xe7, + 0x31, 0x8a, 0xb4, 0x93, 0x9e, 0x76, 0x9f, 0xf0, 0xdc, 0x15, 0xf2, 0x67, + 0xad, 0x2b, 0x4a, 0x20, +}; +static const unsigned char kat2494_entropyinreseed[] = { + 0x83, 0x13, 0xd7, 0xe7, 0xde, 0xe9, 0x50, 0x47, 0xd7, 0xcc, 0x78, 0xbe, + 0xa6, 0x83, 0x5a, 0x5f, 0xd8, 0x34, 0xf6, 0x6a, 0x5c, 0x75, 0xfa, 0xba, + 0x80, 0xb5, 0xa7, 0x55, 0x23, 0x3b, 0x03, 0xf7, 0xf6, 0x8e, 0x35, 0xd4, + 0xa2, 0x09, 0xc8, 0xd0, +}; +static const unsigned char kat2494_addinreseed[] = {0}; +static const unsigned char kat2494_addin0[] = {0}; +static const unsigned char kat2494_addin1[] = {0}; +static const unsigned char kat2494_retbits[] = { + 0x33, 0xd5, 0x4c, 0x4f, 0x5b, 0x50, 0x45, 0x43, 0x8d, 0xfb, 0x1e, 0xa6, + 0x01, 0x6f, 0x39, 0x67, 0xef, 0x1f, 0x62, 0xdf, 0x2b, 0x41, 0x71, 0xad, + 0x74, 0x55, 0x98, 0xea, 0x13, 0x38, 0x6c, 0xa2, 0xf1, 0xe7, 0xb1, 0x55, + 0xc4, 0x92, 0xc9, 0xae, 0x78, 0x24, 0x7c, 0xd0, 0xbc, 0x1c, 0xa8, 0xfc, + 0x3b, 0xdc, 0x18, 0xb7, 0xa3, 0xd8, 0x2a, 0x60, 0xf2, 0x77, 0x9e, 0x56, + 0x9c, 0x99, 0x88, 0x26, +}; +static const struct drbg_kat_pr_false kat2494_t = { + 3, kat2494_entropyin, kat2494_nonce, kat2494_persstr, + kat2494_entropyinreseed, kat2494_addinreseed, kat2494_addin0, + kat2494_addin1, kat2494_retbits +}; +static const struct drbg_kat kat2494 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2494_t +}; + +static const unsigned char kat2495_entropyin[] = { + 0x3b, 0xeb, 0x2f, 0x46, 0x28, 0xab, 0x56, 0x99, 0x80, 0xe2, 0x27, 0x43, + 0x2f, 0x6d, 0x08, 0x99, 0x83, 0x6d, 0xdc, 0x27, 0x6a, 0x67, 0xbd, 0xd4, + 0xc7, 0x40, 0x92, 0xf6, 0x14, 0x68, 0xc0, 0x9a, 0x82, 0xc8, 0x2a, 0x79, + 0xb6, 0x1f, 0xb7, 0x24, +}; +static const unsigned char kat2495_nonce[] = {0}; +static const unsigned char kat2495_persstr[] = { + 0xfd, 0xdd, 0x8a, 0x67, 0x8c, 0xff, 0xad, 0x03, 0xc6, 0x88, 0x5c, 0x33, + 0x87, 0x3c, 0xc4, 0xf6, 0xd0, 0xfc, 0x83, 0xee, 0x45, 0x36, 0xca, 0x87, + 0x3f, 0xa3, 0x1d, 0xc1, 0x0a, 0x1a, 0xef, 0x8f, 0x95, 0xf2, 0x0e, 0x05, + 0xcd, 0x25, 0xfd, 0x2a, +}; +static const unsigned char kat2495_entropyinreseed[] = { + 0xb7, 0x72, 0xd2, 0x64, 0x70, 0x18, 0x57, 0x4d, 0x88, 0x33, 0xb4, 0xfe, + 0xb2, 0xec, 0xb6, 0xd3, 0x8d, 0x09, 0xe4, 0x55, 0x71, 0x8b, 0xf6, 0xcd, + 0xa8, 0x30, 0xeb, 0x19, 0xba, 0x6b, 0xc0, 0xe7, 0x51, 0x67, 0x33, 0xdc, + 0x2c, 0xa6, 0x49, 0x29, +}; +static const unsigned char kat2495_addinreseed[] = {0}; +static const unsigned char kat2495_addin0[] = {0}; +static const unsigned char kat2495_addin1[] = {0}; +static const unsigned char kat2495_retbits[] = { + 0x94, 0x36, 0xc3, 0x4b, 0xcb, 0xd7, 0x4f, 0xe3, 0xd6, 0xa8, 0x9b, 0x35, + 0x51, 0xcf, 0x56, 0x9c, 0xd8, 0x34, 0x79, 0xeb, 0x10, 0xaf, 0x31, 0x92, + 0xa3, 0x14, 0xf8, 0x38, 0xfa, 0x77, 0x3c, 0xc5, 0x7e, 0xa0, 0x42, 0xfd, + 0x9c, 0xec, 0xb2, 0x92, 0x3d, 0x74, 0xb4, 0xd0, 0xec, 0x20, 0xb0, 0xa9, + 0xd4, 0x0a, 0x2a, 0xc1, 0xd7, 0x3a, 0xc1, 0x41, 0xf5, 0x65, 0x1d, 0x10, + 0x2b, 0x4b, 0x92, 0xfe, +}; +static const struct drbg_kat_pr_false kat2495_t = { + 4, kat2495_entropyin, kat2495_nonce, kat2495_persstr, + kat2495_entropyinreseed, kat2495_addinreseed, kat2495_addin0, + kat2495_addin1, kat2495_retbits +}; +static const struct drbg_kat kat2495 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2495_t +}; + +static const unsigned char kat2496_entropyin[] = { + 0x97, 0x5f, 0x1b, 0x28, 0x29, 0x53, 0x2c, 0xe3, 0x72, 0xf1, 0x94, 0x4a, + 0x94, 0xe6, 0x48, 0x47, 0x4c, 0x42, 0x4d, 0x36, 0x61, 0x28, 0xd6, 0xbb, + 0x68, 0x3c, 0x7e, 0x80, 0xce, 0xa8, 0xca, 0x48, 0x9c, 0xfb, 0x60, 0x6e, + 0xef, 0x28, 0x2b, 0xcc, +}; +static const unsigned char kat2496_nonce[] = {0}; +static const unsigned char kat2496_persstr[] = { + 0xec, 0x22, 0x05, 0xda, 0xb4, 0x4c, 0xf2, 0x21, 0x01, 0x80, 0xb1, 0xa1, + 0xea, 0xd9, 0x9f, 0xbf, 0x4d, 0x50, 0x0a, 0x61, 0xad, 0x64, 0x78, 0x1c, + 0x1a, 0x7f, 0x46, 0xe0, 0xa3, 0xab, 0xe9, 0x09, 0xd3, 0xcf, 0x5a, 0x11, + 0xb0, 0xd7, 0xf7, 0x62, +}; +static const unsigned char kat2496_entropyinreseed[] = { + 0xb2, 0x86, 0xfe, 0x71, 0x32, 0x3e, 0xf2, 0x8f, 0x92, 0x8a, 0x99, 0x68, + 0x52, 0x21, 0xf8, 0x21, 0x7d, 0x89, 0xe8, 0x0a, 0x38, 0x36, 0xc7, 0x40, + 0xae, 0x03, 0xa7, 0x5d, 0xb8, 0x16, 0xe9, 0x76, 0x1f, 0xc3, 0x76, 0xfc, + 0xe5, 0xe9, 0x98, 0x40, +}; +static const unsigned char kat2496_addinreseed[] = {0}; +static const unsigned char kat2496_addin0[] = {0}; +static const unsigned char kat2496_addin1[] = {0}; +static const unsigned char kat2496_retbits[] = { + 0xf8, 0xb9, 0x85, 0xb4, 0x83, 0xc9, 0xf8, 0x96, 0x93, 0x6d, 0xae, 0x05, + 0x82, 0x2f, 0x99, 0x60, 0x5b, 0xd4, 0x85, 0xfe, 0x36, 0xd4, 0x06, 0xea, + 0x4a, 0x5f, 0x00, 0x1b, 0x1b, 0x67, 0xbe, 0x08, 0x3e, 0x92, 0x50, 0x0a, + 0xf1, 0x89, 0xa4, 0x06, 0x72, 0x0e, 0xa8, 0x72, 0x75, 0x4e, 0x2e, 0xdb, + 0xbc, 0xbf, 0x95, 0x5e, 0x48, 0xa6, 0xf0, 0x57, 0xbe, 0x54, 0xb7, 0x76, + 0x10, 0x0e, 0xdd, 0x07, +}; +static const struct drbg_kat_pr_false kat2496_t = { + 5, kat2496_entropyin, kat2496_nonce, kat2496_persstr, + kat2496_entropyinreseed, kat2496_addinreseed, kat2496_addin0, + kat2496_addin1, kat2496_retbits +}; +static const struct drbg_kat kat2496 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2496_t +}; + +static const unsigned char kat2497_entropyin[] = { + 0x8a, 0x67, 0x74, 0x1d, 0x38, 0xa3, 0xe7, 0x66, 0xf5, 0x61, 0x4d, 0x2f, + 0x70, 0xdc, 0x0b, 0x6a, 0x0e, 0x65, 0xbc, 0x26, 0x13, 0xdc, 0x5b, 0xc7, + 0xc0, 0x95, 0x37, 0x2e, 0x3f, 0x1b, 0xec, 0x55, 0x58, 0xb9, 0x49, 0x7b, + 0x5b, 0x0b, 0x1b, 0xf5, +}; +static const unsigned char kat2497_nonce[] = {0}; +static const unsigned char kat2497_persstr[] = { + 0x0a, 0xcc, 0x8a, 0x38, 0xbf, 0xe2, 0x18, 0x4d, 0x00, 0x2f, 0xe5, 0xb2, + 0x11, 0x90, 0x05, 0xb0, 0xca, 0x43, 0x40, 0xa1, 0x36, 0x9f, 0x05, 0xd6, + 0xf6, 0x46, 0xda, 0xca, 0x0c, 0xaf, 0x72, 0xc7, 0x53, 0xce, 0x7e, 0x90, + 0xce, 0x7c, 0x30, 0xca, +}; +static const unsigned char kat2497_entropyinreseed[] = { + 0xcf, 0x92, 0x8d, 0xa0, 0xeb, 0x64, 0xe5, 0x27, 0x3f, 0x2e, 0x1e, 0x44, + 0x3b, 0x3d, 0x55, 0x17, 0x3e, 0xf0, 0x9b, 0x96, 0x08, 0x48, 0x7d, 0x30, + 0x45, 0xf5, 0xe4, 0xda, 0x5e, 0x2d, 0x51, 0x5a, 0x5b, 0xc2, 0xc2, 0x4e, + 0x3e, 0x76, 0xe6, 0x73, +}; +static const unsigned char kat2497_addinreseed[] = {0}; +static const unsigned char kat2497_addin0[] = {0}; +static const unsigned char kat2497_addin1[] = {0}; +static const unsigned char kat2497_retbits[] = { + 0xaa, 0xd6, 0x7f, 0x68, 0x44, 0x68, 0x10, 0x5b, 0x48, 0xbd, 0xa1, 0x0e, + 0x34, 0xd8, 0x6c, 0x90, 0xc8, 0x53, 0xf3, 0x4c, 0xd5, 0x93, 0xf9, 0xd8, + 0x7b, 0x3b, 0x7b, 0x61, 0x2a, 0x56, 0x7d, 0x87, 0x12, 0xf0, 0x6a, 0xa3, + 0xf7, 0xa5, 0x0d, 0x4e, 0xb6, 0xec, 0x39, 0x9a, 0x70, 0x37, 0xe5, 0x74, + 0x93, 0x38, 0xda, 0xdc, 0x74, 0x36, 0x4b, 0x0a, 0xe7, 0x39, 0x8b, 0x3d, + 0xd4, 0x08, 0x8f, 0x37, +}; +static const struct drbg_kat_pr_false kat2497_t = { + 6, kat2497_entropyin, kat2497_nonce, kat2497_persstr, + kat2497_entropyinreseed, kat2497_addinreseed, kat2497_addin0, + kat2497_addin1, kat2497_retbits +}; +static const struct drbg_kat kat2497 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2497_t +}; + +static const unsigned char kat2498_entropyin[] = { + 0x38, 0xe4, 0xf9, 0xd3, 0x95, 0x66, 0x7a, 0x3e, 0xb1, 0xf8, 0x67, 0xd7, + 0xfd, 0x2d, 0x59, 0x58, 0xe5, 0x7d, 0x04, 0x90, 0x3f, 0xc5, 0x2a, 0x26, + 0x0a, 0x1d, 0xc5, 0xe1, 0x6c, 0x09, 0xfd, 0x33, 0x37, 0x45, 0x49, 0x41, + 0xf3, 0x8b, 0x68, 0xc9, +}; +static const unsigned char kat2498_nonce[] = {0}; +static const unsigned char kat2498_persstr[] = { + 0xd5, 0xc7, 0x16, 0xa6, 0x7c, 0x4c, 0x41, 0xd5, 0x32, 0xde, 0x02, 0x6d, + 0xb3, 0xe6, 0x48, 0x51, 0x2a, 0x8a, 0x53, 0xae, 0x77, 0x54, 0xb2, 0x2e, + 0x7b, 0xb9, 0x0f, 0x86, 0xa4, 0x99, 0xde, 0xe4, 0x2e, 0x6e, 0x3c, 0xd4, + 0x18, 0x4f, 0xda, 0x7a, +}; +static const unsigned char kat2498_entropyinreseed[] = { + 0x8f, 0xf8, 0x9c, 0xf9, 0xb4, 0xb5, 0x3f, 0x12, 0x27, 0xee, 0xeb, 0xba, + 0xa2, 0xbf, 0x7b, 0x65, 0x88, 0x0a, 0x10, 0x40, 0x5d, 0x86, 0x75, 0x8a, + 0x5a, 0x15, 0xf3, 0x9a, 0x98, 0xc0, 0x80, 0x92, 0x79, 0xc2, 0x9a, 0x15, + 0xaa, 0xef, 0x83, 0x5c, +}; +static const unsigned char kat2498_addinreseed[] = {0}; +static const unsigned char kat2498_addin0[] = {0}; +static const unsigned char kat2498_addin1[] = {0}; +static const unsigned char kat2498_retbits[] = { + 0x0c, 0xd2, 0xa6, 0xd0, 0x81, 0xcb, 0x81, 0x9b, 0xb3, 0xb7, 0xb4, 0xee, + 0x5c, 0xce, 0x2f, 0xcb, 0xbd, 0x6e, 0x2d, 0x0b, 0xc2, 0xac, 0x7d, 0xdf, + 0x1b, 0x74, 0xeb, 0x51, 0x54, 0x13, 0xfb, 0xdb, 0x6b, 0x97, 0xeb, 0x03, + 0xf7, 0x1f, 0x2f, 0x10, 0x79, 0xa5, 0x9f, 0x15, 0x8d, 0x0c, 0x05, 0x83, + 0x2f, 0xde, 0xcd, 0xf4, 0x09, 0x48, 0xfe, 0x2f, 0xd7, 0x24, 0xe2, 0xc2, + 0x90, 0xd6, 0x0f, 0x3b, +}; +static const struct drbg_kat_pr_false kat2498_t = { + 7, kat2498_entropyin, kat2498_nonce, kat2498_persstr, + kat2498_entropyinreseed, kat2498_addinreseed, kat2498_addin0, + kat2498_addin1, kat2498_retbits +}; +static const struct drbg_kat kat2498 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2498_t +}; + +static const unsigned char kat2499_entropyin[] = { + 0xf9, 0x5d, 0x71, 0x4d, 0x5d, 0xa5, 0x1e, 0x99, 0x4f, 0x71, 0x8f, 0x4b, + 0x43, 0x4b, 0xe5, 0xc5, 0xa2, 0x65, 0x80, 0x98, 0x8e, 0xcb, 0xf1, 0x57, + 0xbc, 0x2f, 0x21, 0xb8, 0x87, 0xee, 0xf9, 0x69, 0xd8, 0x62, 0x8d, 0x13, + 0xfc, 0xb5, 0x37, 0x32, +}; +static const unsigned char kat2499_nonce[] = {0}; +static const unsigned char kat2499_persstr[] = { + 0x2d, 0xb9, 0xc5, 0xf6, 0xa1, 0x2c, 0xfa, 0xf1, 0x69, 0x40, 0x65, 0x8a, + 0x99, 0x57, 0x2f, 0x9c, 0x6f, 0x68, 0x70, 0x60, 0xa1, 0x44, 0x0a, 0xa5, + 0xcd, 0x31, 0xbf, 0x6f, 0x21, 0x9f, 0x69, 0x80, 0xce, 0xab, 0xce, 0xd2, + 0xf3, 0x62, 0x13, 0x31, +}; +static const unsigned char kat2499_entropyinreseed[] = { + 0x57, 0x7f, 0x4b, 0xf6, 0x80, 0xc0, 0xb0, 0xf4, 0x44, 0xfc, 0xf2, 0x7d, + 0x49, 0x93, 0x20, 0x4c, 0xd1, 0x6a, 0x07, 0x26, 0x91, 0x28, 0x8f, 0x7f, + 0x5c, 0xbf, 0x32, 0x47, 0xdb, 0x32, 0xd1, 0xc4, 0x3e, 0x8a, 0xa1, 0xd5, + 0x5d, 0x15, 0x9e, 0xd1, +}; +static const unsigned char kat2499_addinreseed[] = {0}; +static const unsigned char kat2499_addin0[] = {0}; +static const unsigned char kat2499_addin1[] = {0}; +static const unsigned char kat2499_retbits[] = { + 0x15, 0xb7, 0x56, 0x28, 0x47, 0x08, 0x3e, 0xe8, 0xf4, 0x29, 0xf1, 0x7a, + 0xc8, 0x07, 0xc6, 0x00, 0x43, 0x68, 0x9d, 0xd9, 0x00, 0x82, 0x88, 0xba, + 0xb1, 0xbc, 0x3b, 0x00, 0xd9, 0x6a, 0x6f, 0x77, 0xf3, 0xcd, 0x69, 0x6c, + 0xfe, 0x1c, 0x42, 0x28, 0xd0, 0xda, 0x63, 0x19, 0x45, 0xa0, 0x65, 0xd8, + 0x92, 0x5f, 0x05, 0x19, 0xdd, 0x41, 0x08, 0x25, 0x6f, 0xa7, 0x51, 0x58, + 0x35, 0xaa, 0x98, 0xbc, +}; +static const struct drbg_kat_pr_false kat2499_t = { + 8, kat2499_entropyin, kat2499_nonce, kat2499_persstr, + kat2499_entropyinreseed, kat2499_addinreseed, kat2499_addin0, + kat2499_addin1, kat2499_retbits +}; +static const struct drbg_kat kat2499 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2499_t +}; + +static const unsigned char kat2500_entropyin[] = { + 0xe8, 0xa7, 0x84, 0xd9, 0x51, 0xdd, 0x71, 0xaf, 0x6d, 0xb0, 0xc2, 0xb9, + 0xae, 0xcc, 0x11, 0x88, 0x32, 0x34, 0x91, 0x9e, 0xd8, 0xfe, 0xe7, 0xe9, + 0xcb, 0x45, 0x48, 0xe2, 0xcc, 0x38, 0xe4, 0x75, 0x53, 0x65, 0x5f, 0x7b, + 0x3e, 0x0a, 0x09, 0x6a, +}; +static const unsigned char kat2500_nonce[] = {0}; +static const unsigned char kat2500_persstr[] = { + 0x01, 0xc1, 0xa2, 0xdc, 0x29, 0xf8, 0x7e, 0x6e, 0x57, 0xca, 0xe5, 0xec, + 0xf5, 0x38, 0x00, 0x4a, 0xc0, 0x84, 0x2c, 0x63, 0x50, 0xba, 0x6b, 0x5f, + 0x84, 0x58, 0x42, 0x72, 0xfe, 0x75, 0x50, 0xde, 0x11, 0xda, 0x08, 0xdf, + 0xd5, 0xc5, 0x49, 0xeb, +}; +static const unsigned char kat2500_entropyinreseed[] = { + 0x34, 0xb2, 0xe8, 0x96, 0x26, 0x51, 0x3d, 0x37, 0x0b, 0x80, 0x9f, 0x97, + 0x2e, 0x08, 0xf6, 0x61, 0x03, 0x6e, 0x19, 0xb0, 0x60, 0x24, 0xa4, 0x0b, + 0x66, 0x7f, 0xaf, 0xe5, 0xa5, 0xdd, 0xa8, 0xd6, 0x55, 0x59, 0xb9, 0xa0, + 0x56, 0x15, 0xf7, 0x50, +}; +static const unsigned char kat2500_addinreseed[] = {0}; +static const unsigned char kat2500_addin0[] = {0}; +static const unsigned char kat2500_addin1[] = {0}; +static const unsigned char kat2500_retbits[] = { + 0x62, 0x14, 0x55, 0x2b, 0x58, 0x45, 0x58, 0x76, 0xa5, 0x87, 0x24, 0x55, + 0x81, 0x14, 0xc5, 0x54, 0x4f, 0xe0, 0x47, 0x58, 0x60, 0xe1, 0x6a, 0x01, + 0x51, 0x31, 0x59, 0x00, 0x58, 0xf2, 0x2d, 0x6c, 0xd5, 0x6a, 0xe9, 0x81, + 0x7a, 0x53, 0x84, 0x37, 0x0b, 0x86, 0xcf, 0xcc, 0x24, 0xa3, 0x88, 0xb6, + 0xf2, 0x48, 0xd1, 0x08, 0x4b, 0xc7, 0x65, 0x50, 0x81, 0x93, 0x52, 0x91, + 0x52, 0x33, 0x18, 0x2c, +}; +static const struct drbg_kat_pr_false kat2500_t = { + 9, kat2500_entropyin, kat2500_nonce, kat2500_persstr, + kat2500_entropyinreseed, kat2500_addinreseed, kat2500_addin0, + kat2500_addin1, kat2500_retbits +}; +static const struct drbg_kat kat2500 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2500_t +}; + +static const unsigned char kat2501_entropyin[] = { + 0x6a, 0x43, 0xed, 0xcc, 0x64, 0x80, 0x5d, 0xc7, 0x8e, 0x49, 0x74, 0x9c, + 0x85, 0x7f, 0x1f, 0x56, 0x9e, 0xb9, 0x8f, 0xf3, 0xbe, 0x7a, 0x6e, 0x3f, + 0xe9, 0x07, 0xb9, 0x52, 0x77, 0x03, 0x2f, 0xa8, 0xc1, 0x37, 0x7a, 0x6e, + 0x91, 0xf3, 0xc3, 0x3f, +}; +static const unsigned char kat2501_nonce[] = {0}; +static const unsigned char kat2501_persstr[] = { + 0x34, 0x43, 0x1d, 0xbe, 0x6e, 0x8f, 0x42, 0xf0, 0xe6, 0x82, 0x67, 0x15, + 0xd3, 0x01, 0x6d, 0xdb, 0x58, 0x26, 0x6a, 0xe7, 0x86, 0xf4, 0xaf, 0x60, + 0xed, 0xd1, 0xc9, 0xa2, 0x1e, 0x3e, 0x69, 0xfc, 0xf0, 0x11, 0x1e, 0x2f, + 0x7c, 0x8d, 0x46, 0x06, +}; +static const unsigned char kat2501_entropyinreseed[] = { + 0x94, 0x44, 0x16, 0x05, 0x69, 0xd4, 0xe6, 0xa3, 0xd4, 0x32, 0x11, 0x69, + 0x28, 0xa9, 0x43, 0x8b, 0x7f, 0xdc, 0x7a, 0xba, 0xbe, 0x36, 0xa2, 0x34, + 0x45, 0xfe, 0xe9, 0x60, 0x32, 0x77, 0xf0, 0x7f, 0xaf, 0xee, 0x45, 0xf6, + 0xde, 0x6e, 0xda, 0x78, +}; +static const unsigned char kat2501_addinreseed[] = {0}; +static const unsigned char kat2501_addin0[] = {0}; +static const unsigned char kat2501_addin1[] = {0}; +static const unsigned char kat2501_retbits[] = { + 0x97, 0x6e, 0x6e, 0x5b, 0x4e, 0x57, 0xd2, 0x05, 0xcb, 0x06, 0x00, 0xf6, + 0xad, 0xaa, 0xc5, 0x13, 0xb8, 0x03, 0x30, 0x33, 0x4d, 0x55, 0x38, 0xa2, + 0xe0, 0xc4, 0x7a, 0xc4, 0x24, 0x00, 0x7d, 0xc5, 0xd4, 0x46, 0xf1, 0x09, + 0xda, 0xae, 0x0d, 0xa7, 0x5e, 0xb7, 0x24, 0xe5, 0xcb, 0x59, 0x5e, 0xc8, + 0x0f, 0x50, 0x60, 0x9f, 0x8c, 0x6a, 0x93, 0xbe, 0xe5, 0x61, 0xbd, 0x16, + 0xaa, 0xa3, 0xf5, 0xff, +}; +static const struct drbg_kat_pr_false kat2501_t = { + 10, kat2501_entropyin, kat2501_nonce, kat2501_persstr, + kat2501_entropyinreseed, kat2501_addinreseed, kat2501_addin0, + kat2501_addin1, kat2501_retbits +}; +static const struct drbg_kat kat2501 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2501_t +}; + +static const unsigned char kat2502_entropyin[] = { + 0xf2, 0xbd, 0xb4, 0x01, 0xef, 0xe8, 0xc3, 0x01, 0x61, 0xcf, 0x1c, 0xeb, + 0x6a, 0xaf, 0x40, 0x67, 0x2e, 0x37, 0x83, 0x6d, 0x05, 0xca, 0x4a, 0xa5, + 0xeb, 0x38, 0x93, 0xf0, 0x70, 0x36, 0x73, 0x8f, 0x2a, 0x94, 0x94, 0x6d, + 0x82, 0x9f, 0x04, 0x3a, +}; +static const unsigned char kat2502_nonce[] = {0}; +static const unsigned char kat2502_persstr[] = { + 0x2d, 0xfa, 0x04, 0xbc, 0x88, 0xeb, 0x80, 0x16, 0xb8, 0x41, 0xc6, 0xb5, + 0xb4, 0xf0, 0x2e, 0x6d, 0x68, 0x0c, 0x0f, 0x94, 0x46, 0xca, 0x23, 0x8d, + 0xa1, 0xde, 0x96, 0xf5, 0x8a, 0x1e, 0x77, 0x9f, 0xbd, 0xf2, 0xf0, 0xa9, + 0x98, 0x33, 0x4c, 0xcf, +}; +static const unsigned char kat2502_entropyinreseed[] = { + 0xe2, 0x7e, 0x0d, 0x99, 0xe3, 0x84, 0xee, 0xf6, 0x46, 0x9b, 0xc3, 0x4f, + 0x74, 0x2e, 0xf9, 0x7b, 0xbc, 0x62, 0xa0, 0x3a, 0x2e, 0x1b, 0x4a, 0x02, + 0xf8, 0x83, 0x83, 0xf0, 0x38, 0x0f, 0xdb, 0x77, 0xe6, 0xfd, 0xb5, 0x4c, + 0x9f, 0x3e, 0x6f, 0x0e, +}; +static const unsigned char kat2502_addinreseed[] = {0}; +static const unsigned char kat2502_addin0[] = {0}; +static const unsigned char kat2502_addin1[] = {0}; +static const unsigned char kat2502_retbits[] = { + 0x34, 0xc7, 0x3a, 0x18, 0xc7, 0x82, 0x58, 0xab, 0xc4, 0x54, 0x14, 0xf0, + 0x6d, 0x8c, 0x2f, 0xd6, 0xf6, 0xf2, 0x7c, 0x20, 0xa0, 0x1f, 0x40, 0xc5, + 0x3a, 0xc7, 0xc1, 0xc7, 0x02, 0xf2, 0x08, 0xc6, 0x8f, 0x35, 0x3f, 0xae, + 0xad, 0x3b, 0xc5, 0x85, 0xca, 0x18, 0xf9, 0x34, 0xf6, 0x81, 0x94, 0x19, + 0xdb, 0xa0, 0x9c, 0xa7, 0x17, 0xef, 0x10, 0xee, 0x5a, 0xfd, 0xb4, 0xc9, + 0xa9, 0x94, 0xab, 0x09, +}; +static const struct drbg_kat_pr_false kat2502_t = { + 11, kat2502_entropyin, kat2502_nonce, kat2502_persstr, + kat2502_entropyinreseed, kat2502_addinreseed, kat2502_addin0, + kat2502_addin1, kat2502_retbits +}; +static const struct drbg_kat kat2502 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2502_t +}; + +static const unsigned char kat2503_entropyin[] = { + 0x51, 0x35, 0xd6, 0xb3, 0x75, 0x76, 0x64, 0xbd, 0x62, 0xed, 0x61, 0x5e, + 0x89, 0xd5, 0x5c, 0x31, 0xcb, 0xc7, 0xc0, 0x2d, 0x80, 0x2c, 0x69, 0x76, + 0x04, 0x25, 0x57, 0x2b, 0xdd, 0x10, 0x9a, 0xde, 0x87, 0xfe, 0x92, 0xc4, + 0x30, 0x69, 0xb1, 0x05, +}; +static const unsigned char kat2503_nonce[] = {0}; +static const unsigned char kat2503_persstr[] = { + 0xb1, 0x84, 0xcb, 0x39, 0x10, 0xca, 0x93, 0x76, 0x78, 0xca, 0x32, 0xb7, + 0x17, 0x8b, 0xe8, 0xff, 0x51, 0x48, 0xe3, 0xd9, 0x05, 0xb2, 0x19, 0xde, + 0x72, 0x09, 0x32, 0x6d, 0xe1, 0xc4, 0x29, 0xd9, 0xb7, 0x0d, 0xfb, 0xa5, + 0x07, 0x92, 0xe1, 0xdb, +}; +static const unsigned char kat2503_entropyinreseed[] = { + 0x2e, 0x1c, 0x3a, 0x0c, 0x36, 0x32, 0x84, 0x83, 0xdd, 0xd0, 0x70, 0xd2, + 0x3f, 0xbe, 0x27, 0x77, 0x98, 0xf1, 0xdb, 0x75, 0x25, 0x36, 0x8a, 0x93, + 0xae, 0x91, 0x99, 0xad, 0xc8, 0xab, 0xfb, 0x99, 0x69, 0x2d, 0x99, 0xb7, + 0x04, 0x5e, 0x1b, 0x36, +}; +static const unsigned char kat2503_addinreseed[] = {0}; +static const unsigned char kat2503_addin0[] = {0}; +static const unsigned char kat2503_addin1[] = {0}; +static const unsigned char kat2503_retbits[] = { + 0xc2, 0x5f, 0x24, 0x2a, 0xa9, 0xca, 0x3c, 0x3a, 0x49, 0x02, 0x53, 0xc5, + 0x27, 0xc9, 0x1d, 0x13, 0x94, 0x24, 0xe7, 0x10, 0x45, 0x23, 0x9f, 0x63, + 0x85, 0x8b, 0x0a, 0x92, 0xf4, 0x4c, 0xad, 0x54, 0x74, 0x58, 0xd5, 0x40, + 0x72, 0x93, 0x4c, 0xab, 0xf0, 0x4e, 0x8c, 0x3b, 0xfe, 0xfe, 0x67, 0xf9, + 0x8a, 0xed, 0xa7, 0x1a, 0xd6, 0x52, 0x18, 0x11, 0x4c, 0xcf, 0x68, 0xd8, + 0x6f, 0xba, 0x8f, 0xc3, +}; +static const struct drbg_kat_pr_false kat2503_t = { + 12, kat2503_entropyin, kat2503_nonce, kat2503_persstr, + kat2503_entropyinreseed, kat2503_addinreseed, kat2503_addin0, + kat2503_addin1, kat2503_retbits +}; +static const struct drbg_kat kat2503 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2503_t +}; + +static const unsigned char kat2504_entropyin[] = { + 0xe3, 0xbd, 0x62, 0x69, 0x49, 0xde, 0x14, 0x72, 0xb1, 0xda, 0x81, 0x17, + 0xe9, 0x2e, 0xb5, 0x2b, 0x4f, 0xa0, 0x5b, 0x05, 0x0d, 0xac, 0x40, 0xcd, + 0xdf, 0xc9, 0x3d, 0x85, 0x3f, 0x5e, 0x50, 0x03, 0xe4, 0xb6, 0xc9, 0xa8, + 0xbe, 0x72, 0x79, 0xcb, +}; +static const unsigned char kat2504_nonce[] = {0}; +static const unsigned char kat2504_persstr[] = { + 0xaa, 0xc3, 0x43, 0x45, 0xed, 0x2f, 0x46, 0x8b, 0x62, 0xe1, 0x65, 0x96, + 0x2b, 0xa3, 0x93, 0x1d, 0x7b, 0x82, 0x15, 0x52, 0x6e, 0x41, 0x32, 0xc0, + 0x28, 0x35, 0xaa, 0xd2, 0x20, 0xd3, 0x40, 0xf3, 0x18, 0x83, 0x6a, 0xc4, + 0xf5, 0x28, 0x57, 0xea, +}; +static const unsigned char kat2504_entropyinreseed[] = { + 0x1f, 0x06, 0x4f, 0xe5, 0x9c, 0xd2, 0x68, 0xab, 0x33, 0x32, 0x3b, 0x30, + 0x6a, 0xa9, 0x15, 0x6e, 0x13, 0xf6, 0x3e, 0xc1, 0x95, 0x94, 0x22, 0xb0, + 0x0d, 0xcb, 0xb5, 0x52, 0x22, 0xf0, 0xa2, 0x8c, 0x70, 0x2b, 0x2a, 0xcc, + 0x13, 0x44, 0x3a, 0x94, +}; +static const unsigned char kat2504_addinreseed[] = {0}; +static const unsigned char kat2504_addin0[] = {0}; +static const unsigned char kat2504_addin1[] = {0}; +static const unsigned char kat2504_retbits[] = { + 0xbc, 0xf7, 0xf7, 0x56, 0x37, 0x1b, 0x9a, 0x4e, 0xaf, 0x9a, 0x64, 0x4d, + 0x9c, 0x67, 0xdb, 0x2e, 0x18, 0x8c, 0xf7, 0x0a, 0x12, 0x87, 0x1c, 0xf9, + 0xcc, 0x54, 0xea, 0xda, 0x5c, 0xd5, 0x30, 0xe6, 0x0b, 0x01, 0x5b, 0x4d, + 0x8c, 0x28, 0x11, 0xf7, 0xb0, 0x09, 0x9a, 0xac, 0x10, 0x26, 0x58, 0xb9, + 0xce, 0xef, 0x3d, 0x89, 0x6c, 0x6d, 0xb1, 0x1e, 0xa5, 0xbf, 0xc7, 0xd0, + 0xdc, 0x1a, 0x26, 0x3c, +}; +static const struct drbg_kat_pr_false kat2504_t = { + 13, kat2504_entropyin, kat2504_nonce, kat2504_persstr, + kat2504_entropyinreseed, kat2504_addinreseed, kat2504_addin0, + kat2504_addin1, kat2504_retbits +}; +static const struct drbg_kat kat2504 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2504_t +}; + +static const unsigned char kat2505_entropyin[] = { + 0xe4, 0xff, 0xff, 0x5c, 0x4c, 0x2e, 0x1e, 0x03, 0x72, 0x5a, 0x9b, 0xe4, + 0xa9, 0x10, 0x09, 0x57, 0xd1, 0x01, 0x03, 0xd0, 0x29, 0x01, 0xbf, 0xea, + 0xba, 0x3e, 0x26, 0x85, 0x1d, 0x1b, 0x40, 0x37, 0x07, 0x19, 0x86, 0xc0, + 0x49, 0x28, 0x30, 0x84, +}; +static const unsigned char kat2505_nonce[] = {0}; +static const unsigned char kat2505_persstr[] = { + 0x00, 0x3b, 0x5e, 0x53, 0x4b, 0xb5, 0x65, 0xf4, 0xe1, 0xea, 0xcb, 0x22, + 0xf2, 0xa2, 0xa6, 0x50, 0x93, 0xdd, 0x0c, 0x78, 0x2a, 0x27, 0x80, 0x5f, + 0x0c, 0x4c, 0x4b, 0x46, 0xc7, 0x27, 0x91, 0x98, 0x7f, 0xc0, 0x7b, 0xd2, + 0x48, 0x13, 0x88, 0x08, +}; +static const unsigned char kat2505_entropyinreseed[] = { + 0xf2, 0xc1, 0x67, 0x13, 0xda, 0x96, 0xef, 0x43, 0x5d, 0x96, 0xc6, 0x3f, + 0xbb, 0xc5, 0x7d, 0x49, 0xc4, 0x4d, 0x99, 0xc6, 0x79, 0xc1, 0xaf, 0x53, + 0xa1, 0x2c, 0xad, 0xea, 0x98, 0xd3, 0x19, 0x81, 0xa7, 0xd0, 0x69, 0x91, + 0xef, 0xee, 0xc7, 0x3f, +}; +static const unsigned char kat2505_addinreseed[] = {0}; +static const unsigned char kat2505_addin0[] = {0}; +static const unsigned char kat2505_addin1[] = {0}; +static const unsigned char kat2505_retbits[] = { + 0x67, 0xc4, 0x09, 0x15, 0x7d, 0x60, 0xf8, 0x70, 0x3d, 0xa2, 0x37, 0xc4, + 0xc8, 0xb4, 0xf1, 0x24, 0x29, 0x8b, 0xc9, 0x5f, 0x68, 0xcd, 0x55, 0x10, + 0x30, 0x4c, 0x21, 0x67, 0x14, 0x5f, 0xb7, 0xc4, 0xbe, 0xea, 0xdb, 0xc6, + 0xd7, 0xff, 0x9b, 0x26, 0x1b, 0x42, 0x0e, 0x93, 0xcf, 0x9f, 0xb1, 0x35, + 0xd9, 0x94, 0x6d, 0x5f, 0x4c, 0x48, 0x29, 0x55, 0x7e, 0x7d, 0xcd, 0x71, + 0x31, 0x43, 0x11, 0x5b, +}; +static const struct drbg_kat_pr_false kat2505_t = { + 14, kat2505_entropyin, kat2505_nonce, kat2505_persstr, + kat2505_entropyinreseed, kat2505_addinreseed, kat2505_addin0, + kat2505_addin1, kat2505_retbits +}; +static const struct drbg_kat kat2505 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2505_t +}; + +static const unsigned char kat2506_entropyin[] = { + 0x53, 0x48, 0x16, 0x6b, 0xb5, 0x11, 0xaf, 0x51, 0xda, 0x93, 0xa4, 0x22, + 0x1d, 0x87, 0x07, 0x1c, 0xd3, 0x44, 0x2b, 0x7e, 0x95, 0x91, 0x44, 0x36, + 0x23, 0xc7, 0xa7, 0x49, 0x1c, 0x13, 0xea, 0x64, 0x7f, 0x20, 0x83, 0xba, + 0x85, 0x51, 0x8b, 0xc2, +}; +static const unsigned char kat2506_nonce[] = {0}; +static const unsigned char kat2506_persstr[] = { + 0xc7, 0xb9, 0xfc, 0x16, 0x7f, 0x76, 0x55, 0xdd, 0xce, 0x82, 0xfc, 0xfa, + 0x91, 0x07, 0x3f, 0x83, 0x90, 0x01, 0xbb, 0x8b, 0xf0, 0x8f, 0x5b, 0xeb, + 0xec, 0xa5, 0x77, 0xe6, 0xbc, 0x1b, 0xd8, 0x83, 0x82, 0xd3, 0x0e, 0x0c, + 0xd9, 0x38, 0x4e, 0xc1, +}; +static const unsigned char kat2506_entropyinreseed[] = { + 0xcd, 0xbb, 0x99, 0x33, 0x5a, 0x94, 0x7e, 0x0a, 0x6f, 0xc4, 0x35, 0xf3, + 0x4b, 0x1a, 0x72, 0xee, 0x2e, 0xa0, 0x30, 0x1f, 0x0c, 0x57, 0x9c, 0xc8, + 0x3c, 0xd2, 0x20, 0x0d, 0xac, 0x54, 0x05, 0xf5, 0x4a, 0x32, 0xd9, 0xd0, + 0x53, 0xb4, 0x1a, 0x25, +}; +static const unsigned char kat2506_addinreseed[] = { + 0x1b, 0x38, 0x31, 0x91, 0x6e, 0xe5, 0x61, 0x32, 0x2a, 0xcf, 0x6e, 0x1f, + 0xc5, 0x20, 0x4c, 0xf7, 0x0c, 0x77, 0x58, 0x98, 0x9d, 0xf5, 0x08, 0x14, + 0x8b, 0xc3, 0xce, 0x03, 0x11, 0x31, 0x67, 0x23, 0xd8, 0xfc, 0x50, 0xcb, + 0xdd, 0x4e, 0x36, 0x51, +}; +static const unsigned char kat2506_addin0[] = { + 0xb0, 0xbe, 0xfc, 0xcf, 0xfd, 0x69, 0xf9, 0x0b, 0x7c, 0x99, 0x71, 0xf5, + 0x9a, 0x6d, 0xa1, 0x8c, 0xad, 0x4b, 0x92, 0x23, 0xd7, 0x8c, 0x07, 0x57, + 0xd2, 0xed, 0xcb, 0xc4, 0xc1, 0x0e, 0x4b, 0xf5, 0x99, 0x74, 0x49, 0x90, + 0x69, 0x2f, 0x8e, 0x4c, +}; +static const unsigned char kat2506_addin1[] = { + 0xb8, 0xe0, 0x23, 0xe9, 0x64, 0xb4, 0x28, 0x7c, 0xfe, 0x96, 0xd0, 0x66, + 0x6d, 0xb1, 0xae, 0x60, 0xb3, 0x95, 0xf8, 0x69, 0xed, 0xc8, 0x92, 0x05, + 0x60, 0xad, 0xfc, 0xb4, 0x5d, 0x44, 0x2c, 0x03, 0x5d, 0x75, 0xa0, 0x15, + 0x62, 0x21, 0x1d, 0x17, +}; +static const unsigned char kat2506_retbits[] = { + 0xec, 0xff, 0x7d, 0x89, 0xfb, 0xeb, 0xfd, 0xb1, 0x0b, 0xaa, 0x84, 0x99, + 0x77, 0xa9, 0xe5, 0x51, 0xb9, 0x0a, 0x70, 0xc4, 0x6d, 0xd3, 0xf1, 0x68, + 0x6e, 0xb3, 0xf1, 0xc7, 0x67, 0x88, 0x2a, 0x5e, 0xf6, 0x8d, 0x38, 0x50, + 0x18, 0xf0, 0x7d, 0x84, 0xf7, 0x6b, 0x69, 0xfa, 0x27, 0x24, 0xc4, 0xb3, + 0xf1, 0x34, 0xb6, 0xc0, 0x42, 0x93, 0xf2, 0x57, 0x3f, 0x3e, 0x9b, 0x28, + 0xc9, 0x1c, 0x46, 0x2f, +}; +static const struct drbg_kat_pr_false kat2506_t = { + 0, kat2506_entropyin, kat2506_nonce, kat2506_persstr, + kat2506_entropyinreseed, kat2506_addinreseed, kat2506_addin0, + kat2506_addin1, kat2506_retbits +}; +static const struct drbg_kat kat2506 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2506_t +}; + +static const unsigned char kat2507_entropyin[] = { + 0x1d, 0x9a, 0xa6, 0x38, 0x2d, 0xba, 0x76, 0x30, 0xa8, 0x8c, 0xfb, 0x64, + 0x2f, 0x4b, 0xb9, 0x91, 0x82, 0xa3, 0xb5, 0xab, 0x09, 0x94, 0xfb, 0xc1, + 0x51, 0xc3, 0x77, 0xd9, 0x98, 0x25, 0x2b, 0x54, 0x6d, 0xca, 0x18, 0x35, + 0x69, 0xce, 0x39, 0x74, +}; +static const unsigned char kat2507_nonce[] = {0}; +static const unsigned char kat2507_persstr[] = { + 0xc8, 0x4f, 0xa8, 0x35, 0x58, 0xcd, 0xba, 0xcd, 0x6d, 0xdb, 0x6c, 0xb0, + 0x1e, 0xf4, 0x9a, 0x8c, 0x52, 0x77, 0xac, 0x47, 0xcf, 0x53, 0xbe, 0x9e, + 0x0c, 0xe8, 0x1a, 0x80, 0x9e, 0x0f, 0x28, 0x13, 0x70, 0x44, 0xc0, 0x5d, + 0x48, 0xeb, 0x0f, 0xac, +}; +static const unsigned char kat2507_entropyinreseed[] = { + 0xda, 0x5c, 0x24, 0xc1, 0x8f, 0x59, 0x50, 0x01, 0xc3, 0xe9, 0xcc, 0x4e, + 0x4d, 0xcf, 0xe9, 0xef, 0xd1, 0xf3, 0x9c, 0x7a, 0xc5, 0x40, 0x2f, 0xca, + 0xc5, 0x49, 0x20, 0x04, 0x82, 0xa0, 0x90, 0x41, 0xa4, 0x23, 0x9e, 0xc9, + 0x68, 0x1a, 0xeb, 0x15, +}; +static const unsigned char kat2507_addinreseed[] = { + 0xa6, 0x0c, 0xb6, 0x44, 0x25, 0x85, 0xc8, 0x7a, 0x61, 0x5e, 0xbc, 0x3c, + 0xe8, 0xd0, 0x45, 0x0c, 0xd1, 0x4c, 0xa7, 0x50, 0xd3, 0x41, 0x96, 0xc3, + 0x91, 0x2b, 0xdf, 0x56, 0xf5, 0x5e, 0x5b, 0x10, 0xfe, 0xe0, 0x10, 0x08, + 0xdc, 0x60, 0x71, 0x76, +}; +static const unsigned char kat2507_addin0[] = { + 0x41, 0xa2, 0x39, 0x66, 0x31, 0x57, 0x51, 0xdf, 0x80, 0x47, 0x0e, 0xe1, + 0xd9, 0x52, 0x8a, 0x77, 0x5c, 0xbe, 0xd5, 0x2e, 0x15, 0xb2, 0x79, 0x70, + 0x95, 0x48, 0x04, 0x9b, 0x02, 0x51, 0x6d, 0x6a, 0xdc, 0x67, 0xe3, 0x19, + 0xf6, 0x2c, 0xb4, 0x8a, +}; +static const unsigned char kat2507_addin1[] = { + 0x9d, 0xab, 0x1d, 0x10, 0xfe, 0x9c, 0xe9, 0x6e, 0x9a, 0x0c, 0x25, 0x4f, + 0x49, 0x58, 0xa1, 0x5f, 0x7d, 0x3b, 0x68, 0x8a, 0x44, 0x06, 0xf5, 0xb4, + 0x66, 0x14, 0x8b, 0x6a, 0xfb, 0x1c, 0xb4, 0x1e, 0x94, 0x78, 0xc9, 0x17, + 0x52, 0x6c, 0xc2, 0x2a, +}; +static const unsigned char kat2507_retbits[] = { + 0xc7, 0xd5, 0x0e, 0xc6, 0x2d, 0x1f, 0x4c, 0xbd, 0x32, 0x65, 0xec, 0xe8, + 0xcf, 0x9f, 0x4e, 0x07, 0x86, 0xef, 0x73, 0x6c, 0x57, 0x74, 0xb5, 0x8c, + 0xd6, 0x0a, 0x2e, 0x8c, 0x64, 0xee, 0x9c, 0x91, 0xb2, 0xdb, 0xfb, 0xfa, + 0x6e, 0x68, 0x56, 0xc8, 0x7a, 0x52, 0x91, 0x30, 0x59, 0xc5, 0x21, 0xec, + 0xf4, 0x8f, 0xb6, 0x9d, 0xc3, 0x6a, 0xe2, 0x17, 0x04, 0xaa, 0xeb, 0xd8, + 0x38, 0xf5, 0x05, 0x0e, +}; +static const struct drbg_kat_pr_false kat2507_t = { + 1, kat2507_entropyin, kat2507_nonce, kat2507_persstr, + kat2507_entropyinreseed, kat2507_addinreseed, kat2507_addin0, + kat2507_addin1, kat2507_retbits +}; +static const struct drbg_kat kat2507 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2507_t +}; + +static const unsigned char kat2508_entropyin[] = { + 0xc6, 0x36, 0xc3, 0xde, 0xea, 0xfc, 0x9d, 0x56, 0x33, 0x8f, 0x71, 0xa2, + 0x28, 0xfd, 0xab, 0x53, 0x7d, 0x5a, 0xa7, 0x80, 0x34, 0x30, 0x9b, 0x71, + 0xee, 0xcf, 0x05, 0x74, 0xab, 0x09, 0xa5, 0x79, 0x08, 0x73, 0x6b, 0xfa, + 0x1e, 0x6b, 0xab, 0x48, +}; +static const unsigned char kat2508_nonce[] = {0}; +static const unsigned char kat2508_persstr[] = { + 0x2a, 0xaf, 0x5e, 0x25, 0x94, 0x2f, 0x15, 0x52, 0xfb, 0x01, 0xa6, 0x91, + 0xde, 0xd6, 0x79, 0x05, 0xd6, 0xe3, 0x43, 0x8a, 0x1e, 0x21, 0xe5, 0x25, + 0x08, 0xf7, 0xc5, 0x55, 0x85, 0xa9, 0xbb, 0x6c, 0x65, 0x0b, 0xa8, 0xf9, + 0x77, 0x7d, 0x2f, 0x59, +}; +static const unsigned char kat2508_entropyinreseed[] = { + 0xf7, 0xd1, 0xbc, 0x0a, 0x3f, 0x71, 0x80, 0xce, 0x72, 0x71, 0x06, 0x4f, + 0xf7, 0xc4, 0xcd, 0xa8, 0x9d, 0x76, 0xde, 0x04, 0x9a, 0x98, 0x06, 0x25, + 0x83, 0xc3, 0x9a, 0x6d, 0xea, 0x6e, 0x88, 0xb5, 0xb1, 0x2c, 0xfb, 0x91, + 0xb0, 0xc1, 0xea, 0x42, +}; +static const unsigned char kat2508_addinreseed[] = { + 0x2c, 0xdd, 0xda, 0xa6, 0x45, 0x9d, 0x90, 0x4a, 0xf7, 0x4c, 0xe0, 0x43, + 0xdf, 0x41, 0x13, 0x7c, 0x37, 0x0c, 0xea, 0xce, 0xeb, 0xb1, 0xbb, 0x33, + 0xca, 0x7a, 0xb2, 0x89, 0xfa, 0x87, 0xd3, 0x0f, 0x0a, 0xe6, 0xe1, 0x2f, + 0xfa, 0x7f, 0x4f, 0xfc, +}; +static const unsigned char kat2508_addin0[] = { + 0xf9, 0xf4, 0x70, 0x1c, 0xd3, 0xb0, 0x06, 0x9f, 0xa8, 0x71, 0x6a, 0x5f, + 0x9d, 0x13, 0xb8, 0xa7, 0x6c, 0xd6, 0x5d, 0x7a, 0x32, 0xdd, 0xbf, 0xe5, + 0xa6, 0x6d, 0x62, 0x69, 0xe1, 0x7b, 0x5a, 0x0b, 0x4f, 0x48, 0x47, 0x22, + 0x7d, 0x29, 0xe5, 0x59, +}; +static const unsigned char kat2508_addin1[] = { + 0x23, 0xeb, 0x8b, 0xa9, 0x25, 0x88, 0x0e, 0x28, 0x04, 0xd8, 0x99, 0x75, + 0xf1, 0xa7, 0x7a, 0xef, 0x4b, 0xa6, 0x16, 0xe3, 0x66, 0xf4, 0x8e, 0x37, + 0x51, 0xf2, 0x80, 0x41, 0xa3, 0xc0, 0x97, 0x08, 0xa4, 0xf7, 0x11, 0xef, + 0x77, 0x62, 0xb9, 0x07, +}; +static const unsigned char kat2508_retbits[] = { + 0xa9, 0xb4, 0x83, 0xf3, 0x0f, 0x61, 0x4a, 0xfb, 0x40, 0xb0, 0x4a, 0x80, + 0xaa, 0x31, 0xf0, 0x49, 0x7b, 0x46, 0x64, 0xa2, 0x52, 0xed, 0xf5, 0xdf, + 0x6b, 0xb4, 0x2a, 0x4f, 0xc4, 0xa8, 0xb9, 0xf4, 0x0c, 0x20, 0x16, 0x10, + 0x59, 0x0a, 0x78, 0x1c, 0xf5, 0x6b, 0x82, 0xf5, 0xf1, 0x7d, 0xed, 0x2d, + 0x18, 0x40, 0xd2, 0x1d, 0x32, 0xa6, 0x98, 0x01, 0xa4, 0xa4, 0xbc, 0x51, + 0xf4, 0x9e, 0x5a, 0xa3, +}; +static const struct drbg_kat_pr_false kat2508_t = { + 2, kat2508_entropyin, kat2508_nonce, kat2508_persstr, + kat2508_entropyinreseed, kat2508_addinreseed, kat2508_addin0, + kat2508_addin1, kat2508_retbits +}; +static const struct drbg_kat kat2508 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2508_t +}; + +static const unsigned char kat2509_entropyin[] = { + 0x5b, 0x05, 0xde, 0x11, 0x1c, 0x19, 0xc4, 0x61, 0x3d, 0x0d, 0xd3, 0xcf, + 0x35, 0x81, 0x3a, 0xbb, 0x86, 0x6c, 0x4d, 0x47, 0x0c, 0x53, 0xf2, 0xe9, + 0x2e, 0x45, 0xfc, 0x73, 0x7c, 0xa5, 0xa5, 0xa3, 0x38, 0x0f, 0x6c, 0x9a, + 0x81, 0xe0, 0xa1, 0xd9, +}; +static const unsigned char kat2509_nonce[] = {0}; +static const unsigned char kat2509_persstr[] = { + 0xcf, 0xd1, 0xf4, 0x22, 0x26, 0x1e, 0x47, 0xd5, 0x92, 0x9f, 0xb4, 0xb7, + 0x35, 0x6a, 0xd3, 0x21, 0xdd, 0xad, 0x2d, 0x5d, 0x34, 0x3b, 0x4f, 0xb4, + 0x94, 0xe8, 0xa9, 0x07, 0x48, 0x4f, 0x2c, 0x2a, 0x96, 0x2d, 0xa7, 0x99, + 0x09, 0x14, 0x38, 0xc9, +}; +static const unsigned char kat2509_entropyinreseed[] = { + 0x8a, 0x71, 0x8b, 0x9d, 0xc3, 0x25, 0x54, 0x50, 0xfe, 0x29, 0xf8, 0xc3, + 0x64, 0xbd, 0xd1, 0x95, 0x4d, 0x64, 0x21, 0x26, 0xb8, 0x64, 0xb3, 0x87, + 0x7c, 0x17, 0xdc, 0x18, 0xe3, 0x58, 0xd0, 0xb9, 0x20, 0x75, 0xef, 0x0f, + 0xbb, 0x16, 0x5c, 0xe3, +}; +static const unsigned char kat2509_addinreseed[] = { + 0x8d, 0xa8, 0xed, 0xf9, 0x28, 0xf1, 0x17, 0x62, 0x2b, 0xa7, 0xc6, 0xc5, + 0x8e, 0x2e, 0x5e, 0x5d, 0x30, 0x18, 0x4f, 0xa1, 0x11, 0xcf, 0x02, 0xb3, + 0x61, 0x46, 0x33, 0xfa, 0x6c, 0x18, 0x64, 0x40, 0x03, 0xa6, 0x1e, 0x4f, + 0x49, 0x11, 0x0c, 0xeb, +}; +static const unsigned char kat2509_addin0[] = { + 0x57, 0xc8, 0xc6, 0xfa, 0x5b, 0x4a, 0xfe, 0x59, 0x2a, 0xd0, 0x15, 0x7a, + 0x8b, 0x39, 0xa8, 0x36, 0x5c, 0xe7, 0xf3, 0x6f, 0x79, 0x54, 0xe9, 0xa4, + 0xde, 0xaf, 0xcc, 0xd5, 0x21, 0x2a, 0x44, 0xc7, 0x31, 0xdf, 0x15, 0x2b, + 0x6e, 0xac, 0xd3, 0x32, +}; +static const unsigned char kat2509_addin1[] = { + 0x34, 0xf1, 0x34, 0xfc, 0x42, 0xf4, 0x0c, 0xe8, 0x01, 0x39, 0xca, 0xa3, + 0xaf, 0x6b, 0x32, 0xdb, 0xeb, 0x50, 0x34, 0xd2, 0x1b, 0xfd, 0xd0, 0x66, + 0xaf, 0x11, 0x05, 0xe5, 0x5a, 0x71, 0x4c, 0xde, 0xfb, 0x76, 0x05, 0x32, + 0xf5, 0x4a, 0xe3, 0x51, +}; +static const unsigned char kat2509_retbits[] = { + 0x4c, 0x04, 0x46, 0x01, 0xc9, 0x70, 0x13, 0x1b, 0x2e, 0xcb, 0xb3, 0x29, + 0xea, 0x41, 0x19, 0x8e, 0xa5, 0xf0, 0xf8, 0xc9, 0x14, 0xa7, 0xac, 0x55, + 0xaa, 0x18, 0xba, 0x04, 0x14, 0x21, 0x7f, 0xcc, 0x11, 0xd0, 0xf7, 0xcf, + 0x9b, 0x67, 0x1c, 0xf7, 0x5d, 0x48, 0x98, 0x31, 0x59, 0x9c, 0xb2, 0xe6, + 0x28, 0xb8, 0x2d, 0x46, 0x77, 0x11, 0xec, 0xbb, 0x22, 0x71, 0x32, 0x0e, + 0x4a, 0x6b, 0xeb, 0x25, +}; +static const struct drbg_kat_pr_false kat2509_t = { + 3, kat2509_entropyin, kat2509_nonce, kat2509_persstr, + kat2509_entropyinreseed, kat2509_addinreseed, kat2509_addin0, + kat2509_addin1, kat2509_retbits +}; +static const struct drbg_kat kat2509 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2509_t +}; + +static const unsigned char kat2510_entropyin[] = { + 0xe7, 0xde, 0x2c, 0x5a, 0x3d, 0x5b, 0x92, 0x9f, 0xd7, 0x7f, 0x37, 0x77, + 0x75, 0x66, 0x90, 0x52, 0x52, 0x56, 0x35, 0x59, 0x66, 0x3b, 0xd7, 0xb4, + 0xfa, 0xb2, 0x21, 0x97, 0x58, 0x61, 0xcf, 0x0d, 0x2c, 0x11, 0xb0, 0xeb, + 0x46, 0x0a, 0x58, 0xaf, +}; +static const unsigned char kat2510_nonce[] = {0}; +static const unsigned char kat2510_persstr[] = { + 0xb0, 0x5b, 0xec, 0x0e, 0x2d, 0x43, 0x02, 0x62, 0xc8, 0x26, 0x25, 0xcb, + 0x74, 0x5b, 0xfc, 0xe1, 0x00, 0x8b, 0xe4, 0xd2, 0x63, 0xc3, 0x2b, 0x50, + 0x6d, 0x04, 0xaf, 0x6c, 0x46, 0xf0, 0x83, 0x4c, 0xbe, 0x53, 0x6e, 0xa7, + 0xb0, 0xa0, 0xf1, 0xa7, +}; +static const unsigned char kat2510_entropyinreseed[] = { + 0x18, 0xe3, 0x4d, 0xe9, 0x9a, 0x3a, 0xd1, 0xb4, 0xea, 0xeb, 0xc1, 0x4a, + 0x72, 0x68, 0xcb, 0xab, 0xdd, 0xc8, 0xe2, 0x24, 0xb7, 0xec, 0xa6, 0x2c, + 0xcd, 0x3c, 0x1e, 0x00, 0x65, 0x53, 0x6e, 0xd6, 0x26, 0xa8, 0x65, 0x24, + 0xab, 0x7a, 0x65, 0x8d, +}; +static const unsigned char kat2510_addinreseed[] = { + 0x29, 0xc9, 0x7f, 0x38, 0xa8, 0x51, 0x49, 0xb7, 0x23, 0x11, 0x71, 0x75, + 0x7c, 0x64, 0x66, 0x00, 0xd7, 0x25, 0xb9, 0xf7, 0xfe, 0xca, 0x30, 0x38, + 0x6a, 0x91, 0x3b, 0xb3, 0x7b, 0x11, 0xce, 0xcb, 0xa6, 0x45, 0x69, 0x65, + 0xaf, 0xb8, 0x1c, 0x22, +}; +static const unsigned char kat2510_addin0[] = { + 0xfd, 0x25, 0x67, 0x83, 0xb0, 0x9a, 0x66, 0x65, 0x76, 0x36, 0xaf, 0x53, + 0xea, 0x30, 0x16, 0xaf, 0x6c, 0xec, 0xf8, 0x5a, 0x13, 0x09, 0x60, 0x59, + 0xa8, 0x75, 0xd9, 0x03, 0xbb, 0x24, 0xa1, 0x18, 0xe6, 0x6a, 0xd5, 0xe7, + 0xd0, 0x30, 0xc4, 0x65, +}; +static const unsigned char kat2510_addin1[] = { + 0x1b, 0x22, 0x7f, 0xe8, 0x9d, 0xff, 0x88, 0xc2, 0x70, 0xc0, 0x1e, 0x9f, + 0x5b, 0x33, 0x2d, 0x90, 0x62, 0xfa, 0x42, 0x02, 0x30, 0xa0, 0xab, 0xcf, + 0x4c, 0xa7, 0x17, 0x2c, 0xa2, 0xa0, 0x1e, 0x95, 0x9f, 0xef, 0x54, 0xbd, + 0x98, 0xee, 0xab, 0xac, +}; +static const unsigned char kat2510_retbits[] = { + 0x05, 0x2a, 0xbd, 0x8f, 0xff, 0xb5, 0x1d, 0x8f, 0xbd, 0x69, 0xc0, 0x0a, + 0xa2, 0x1c, 0x19, 0x4b, 0xf6, 0xbf, 0x43, 0xa0, 0x21, 0x38, 0xce, 0x35, + 0x2e, 0xb9, 0x3c, 0xa9, 0xc9, 0xe5, 0x98, 0x6d, 0xf3, 0xe8, 0x62, 0x68, + 0x82, 0xa4, 0x06, 0x66, 0x60, 0xf4, 0x9d, 0xd3, 0x8d, 0x07, 0x82, 0xb8, + 0x68, 0xd1, 0xb2, 0xa9, 0x8e, 0x84, 0x97, 0x5d, 0xbd, 0x53, 0xb6, 0x9a, + 0x8e, 0x76, 0xc8, 0x79, +}; +static const struct drbg_kat_pr_false kat2510_t = { + 4, kat2510_entropyin, kat2510_nonce, kat2510_persstr, + kat2510_entropyinreseed, kat2510_addinreseed, kat2510_addin0, + kat2510_addin1, kat2510_retbits +}; +static const struct drbg_kat kat2510 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2510_t +}; + +static const unsigned char kat2511_entropyin[] = { + 0x12, 0x88, 0x17, 0x33, 0x14, 0xf7, 0x52, 0xd0, 0x2b, 0x4f, 0xc6, 0x44, + 0x22, 0xf1, 0xc2, 0x9c, 0x0e, 0x60, 0x68, 0xd3, 0x4d, 0x10, 0x8e, 0xa2, + 0x22, 0xb7, 0xee, 0xc3, 0xbb, 0x65, 0xa8, 0xca, 0xe5, 0x14, 0xb9, 0x8b, + 0x13, 0x0f, 0xc5, 0x84, +}; +static const unsigned char kat2511_nonce[] = {0}; +static const unsigned char kat2511_persstr[] = { + 0xaf, 0xc1, 0xa8, 0xba, 0x27, 0xc9, 0xb9, 0x27, 0x97, 0x94, 0xca, 0xbe, + 0x5b, 0x2e, 0xe7, 0x2b, 0x24, 0x37, 0x3a, 0x2c, 0x99, 0x49, 0x9e, 0x14, + 0x97, 0xc2, 0xde, 0x23, 0xa0, 0xcb, 0x9b, 0x5f, 0xd9, 0x01, 0xdf, 0xe0, + 0x35, 0xe6, 0x97, 0xff, +}; +static const unsigned char kat2511_entropyinreseed[] = { + 0x86, 0xdd, 0x99, 0x85, 0x61, 0x76, 0xeb, 0x38, 0x9c, 0xe1, 0x65, 0x92, + 0xac, 0x3d, 0xee, 0xd3, 0x7a, 0x05, 0xf2, 0x3a, 0xfa, 0x15, 0xd5, 0xe7, + 0x96, 0xc3, 0xcd, 0x38, 0xaf, 0x33, 0x02, 0x1f, 0x94, 0xa1, 0x30, 0x30, + 0xdd, 0x75, 0x50, 0x30, +}; +static const unsigned char kat2511_addinreseed[] = { + 0xe4, 0x3f, 0x44, 0x4e, 0x8e, 0x88, 0xee, 0x4a, 0x4f, 0x5c, 0x12, 0x98, + 0x2c, 0x1d, 0x8e, 0x8d, 0x1b, 0x11, 0xbe, 0x78, 0xc0, 0xce, 0xbc, 0x5a, + 0x5f, 0xf6, 0x7e, 0xcf, 0xd4, 0x80, 0xdd, 0x9a, 0xd2, 0xdc, 0x73, 0x1d, + 0x20, 0x98, 0xfe, 0xa2, +}; +static const unsigned char kat2511_addin0[] = { + 0x44, 0xfb, 0x69, 0x13, 0xc1, 0xf7, 0x9b, 0x34, 0x8a, 0xf5, 0xb3, 0x94, + 0x83, 0xb6, 0x8d, 0x9b, 0x9d, 0xfc, 0x3b, 0xe8, 0x86, 0xd8, 0x45, 0x87, + 0x2a, 0x36, 0x9a, 0x8a, 0x16, 0x37, 0x5b, 0xa3, 0x6c, 0xed, 0x34, 0xb9, + 0x0c, 0x37, 0x5d, 0x54, +}; +static const unsigned char kat2511_addin1[] = { + 0x98, 0x39, 0x45, 0x87, 0x0b, 0x05, 0xee, 0x4a, 0x48, 0x87, 0x9b, 0x5c, + 0x16, 0x25, 0x6f, 0x78, 0x88, 0x14, 0x8b, 0x74, 0xaa, 0x3c, 0x89, 0xf1, + 0xf5, 0x8c, 0x1a, 0xaf, 0xcf, 0xba, 0x2a, 0xff, 0x69, 0x7c, 0x82, 0x16, + 0x88, 0x9b, 0xbf, 0xd5, +}; +static const unsigned char kat2511_retbits[] = { + 0xe0, 0xef, 0xd2, 0xe8, 0x42, 0xc3, 0xff, 0x7c, 0x81, 0x34, 0xc5, 0xdd, + 0xf1, 0xb1, 0x6a, 0xcf, 0xa4, 0xc3, 0x8b, 0x9f, 0x4f, 0x48, 0xd7, 0x23, + 0x3e, 0x2e, 0x9e, 0x8d, 0x9a, 0xb0, 0x2c, 0xaa, 0x2e, 0x8e, 0x5a, 0x3e, + 0xd9, 0xdd, 0x26, 0x7f, 0xb0, 0x71, 0x01, 0x5e, 0x04, 0xab, 0xe1, 0x6f, + 0x1c, 0x56, 0xa2, 0x1c, 0x88, 0x38, 0x19, 0x16, 0x55, 0x6c, 0x9c, 0x43, + 0xdc, 0xd0, 0x19, 0xd1, +}; +static const struct drbg_kat_pr_false kat2511_t = { + 5, kat2511_entropyin, kat2511_nonce, kat2511_persstr, + kat2511_entropyinreseed, kat2511_addinreseed, kat2511_addin0, + kat2511_addin1, kat2511_retbits +}; +static const struct drbg_kat kat2511 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2511_t +}; + +static const unsigned char kat2512_entropyin[] = { + 0xee, 0x58, 0x8c, 0x71, 0x41, 0x6f, 0x57, 0x98, 0x13, 0x22, 0x90, 0xcb, + 0x88, 0x47, 0x9c, 0x3c, 0x29, 0x45, 0xe6, 0x28, 0x63, 0xf4, 0x43, 0xa8, + 0x78, 0x96, 0x37, 0xee, 0x45, 0xd7, 0x63, 0x98, 0x34, 0x45, 0xeb, 0x78, + 0xa8, 0x03, 0x67, 0x0f, +}; +static const unsigned char kat2512_nonce[] = {0}; +static const unsigned char kat2512_persstr[] = { + 0xb4, 0x0c, 0xc9, 0x6e, 0x4b, 0x92, 0x39, 0xc1, 0x39, 0xe8, 0x40, 0xfb, + 0x7a, 0x17, 0xa4, 0x39, 0x6b, 0x24, 0x26, 0x53, 0xe0, 0xf8, 0xa1, 0x58, + 0xd2, 0x83, 0xaa, 0x7b, 0x20, 0x01, 0x30, 0x85, 0xf1, 0x0b, 0x90, 0x9b, + 0x04, 0xd1, 0xc2, 0x8d, +}; +static const unsigned char kat2512_entropyinreseed[] = { + 0x6d, 0x70, 0xa1, 0x27, 0x75, 0xfd, 0x33, 0x57, 0x57, 0x32, 0xbb, 0x66, + 0x8f, 0x34, 0xf9, 0x03, 0xa3, 0x0a, 0x5c, 0x1c, 0x33, 0xb9, 0x1b, 0x50, + 0x7d, 0x75, 0x06, 0x7e, 0x86, 0x24, 0xc5, 0x90, 0xc6, 0xee, 0x24, 0xf4, + 0xc7, 0xa2, 0x28, 0x14, +}; +static const unsigned char kat2512_addinreseed[] = { + 0xdf, 0x50, 0x03, 0x13, 0xa4, 0x4f, 0x3f, 0xb2, 0x22, 0x31, 0x68, 0xe0, + 0x0d, 0xd9, 0xe0, 0xed, 0xf0, 0x19, 0x47, 0xe6, 0xff, 0x63, 0x55, 0x07, + 0x24, 0x5d, 0xf0, 0x9d, 0x76, 0xcd, 0x62, 0x6f, 0x02, 0xd0, 0xc2, 0x1f, + 0xe4, 0x88, 0x62, 0x00, +}; +static const unsigned char kat2512_addin0[] = { + 0xac, 0x3e, 0x89, 0x42, 0x6f, 0x3d, 0x7a, 0x2b, 0x3b, 0xf3, 0xf2, 0x8a, + 0xc4, 0x47, 0x0e, 0xef, 0xb9, 0x26, 0xc0, 0x14, 0x06, 0x93, 0xd2, 0xb8, + 0x19, 0x2d, 0x67, 0xa3, 0x3a, 0xe3, 0xfc, 0x89, 0x50, 0x7c, 0xc1, 0x9c, + 0xc1, 0xc9, 0xc1, 0xf3, +}; +static const unsigned char kat2512_addin1[] = { + 0xfd, 0xeb, 0x21, 0x05, 0xda, 0x79, 0xe4, 0xa4, 0xf8, 0x01, 0x1e, 0xa6, + 0x2a, 0x3e, 0x51, 0x74, 0xff, 0xac, 0x30, 0xe5, 0x9c, 0xd1, 0x7a, 0xb7, + 0x4c, 0x56, 0xd5, 0xc8, 0x50, 0x55, 0x78, 0xe7, 0x3c, 0x9e, 0x2e, 0x23, + 0xb7, 0x4a, 0x6a, 0x42, +}; +static const unsigned char kat2512_retbits[] = { + 0x3d, 0x5f, 0x8c, 0x8f, 0xce, 0xa3, 0xb7, 0xf6, 0x79, 0xe1, 0x84, 0x06, + 0x5d, 0xb7, 0x4f, 0xc9, 0xcb, 0x2d, 0xeb, 0x92, 0xc6, 0xb8, 0x8c, 0xb9, + 0xb5, 0x44, 0x95, 0x76, 0x31, 0xef, 0xad, 0x44, 0x59, 0x2a, 0x69, 0x9a, + 0xb4, 0xa5, 0x81, 0xad, 0x9d, 0xa8, 0x11, 0xfd, 0xfc, 0x53, 0xde, 0x35, + 0x26, 0x8d, 0x7f, 0x94, 0xb9, 0xcd, 0x4a, 0x08, 0x26, 0x26, 0x16, 0x99, + 0xb0, 0xb8, 0xad, 0x9c, +}; +static const struct drbg_kat_pr_false kat2512_t = { + 6, kat2512_entropyin, kat2512_nonce, kat2512_persstr, + kat2512_entropyinreseed, kat2512_addinreseed, kat2512_addin0, + kat2512_addin1, kat2512_retbits +}; +static const struct drbg_kat kat2512 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2512_t +}; + +static const unsigned char kat2513_entropyin[] = { + 0x4c, 0x5b, 0xc6, 0x2a, 0xe8, 0x6e, 0x49, 0x66, 0xb3, 0x0a, 0xf2, 0x41, + 0x22, 0x71, 0xb0, 0x6a, 0x73, 0xd8, 0x0c, 0xd5, 0xa3, 0xfe, 0xee, 0x49, + 0x89, 0x6d, 0x7a, 0xe7, 0xa8, 0x3f, 0x02, 0x14, 0xf9, 0x70, 0x86, 0x37, + 0x06, 0xd9, 0x1b, 0x39, +}; +static const unsigned char kat2513_nonce[] = {0}; +static const unsigned char kat2513_persstr[] = { + 0x6c, 0xaf, 0x8b, 0x70, 0x57, 0xad, 0xb4, 0x7a, 0x2a, 0x29, 0x0c, 0xb6, + 0x39, 0x30, 0xb9, 0x8f, 0xff, 0x5f, 0xae, 0x62, 0x11, 0x6a, 0x2a, 0xc6, + 0x6e, 0x25, 0x9b, 0x79, 0x72, 0xe8, 0xfc, 0xc3, 0xf8, 0xae, 0xc7, 0x1e, + 0xb6, 0xa8, 0x11, 0xd0, +}; +static const unsigned char kat2513_entropyinreseed[] = { + 0xc7, 0x3e, 0x75, 0x08, 0xa1, 0xf1, 0x01, 0x69, 0x69, 0x02, 0x16, 0xac, + 0xb7, 0x68, 0x48, 0xb4, 0xf2, 0x8c, 0x03, 0xaf, 0x9a, 0xa1, 0x82, 0x63, + 0xb6, 0x34, 0x1b, 0x1f, 0xa7, 0x2a, 0x61, 0x3a, 0x4f, 0x82, 0x77, 0x8d, + 0xaf, 0xed, 0x54, 0xa7, +}; +static const unsigned char kat2513_addinreseed[] = { + 0x1f, 0xad, 0xbf, 0x63, 0x8e, 0x29, 0xef, 0xf1, 0xca, 0x40, 0x57, 0xbc, + 0x76, 0x13, 0x0b, 0x3c, 0x11, 0x3b, 0xe3, 0x4f, 0xbd, 0x81, 0xcf, 0x73, + 0x1d, 0x07, 0x5c, 0x97, 0x86, 0xc0, 0xb4, 0x28, 0x01, 0x09, 0x4e, 0xad, + 0xff, 0x13, 0x17, 0x43, +}; +static const unsigned char kat2513_addin0[] = { + 0x68, 0xb0, 0xc9, 0x76, 0x4d, 0xe8, 0x64, 0x62, 0xb6, 0xd3, 0xf5, 0xab, + 0xc2, 0xce, 0xb6, 0xf8, 0xad, 0xea, 0x42, 0xba, 0x47, 0x2c, 0x4d, 0xb7, + 0x94, 0xbc, 0xe2, 0xcd, 0x95, 0x2b, 0x77, 0xda, 0xbd, 0xe1, 0x54, 0x1c, + 0x95, 0xd3, 0xe7, 0xe9, +}; +static const unsigned char kat2513_addin1[] = { + 0xc5, 0x2e, 0x8a, 0x37, 0x4c, 0x05, 0xb1, 0x23, 0xf1, 0x7f, 0x7b, 0xfc, + 0xa5, 0x10, 0xf3, 0x2a, 0xd5, 0xaa, 0xc1, 0x2a, 0xc4, 0xc5, 0x66, 0xf1, + 0xd2, 0xa8, 0x1d, 0x55, 0xc2, 0x8f, 0x1b, 0xc3, 0xe9, 0xe0, 0x6a, 0xfe, + 0x41, 0x0b, 0x4f, 0x15, +}; +static const unsigned char kat2513_retbits[] = { + 0xef, 0x4a, 0x87, 0x74, 0x28, 0x2d, 0x18, 0x03, 0xb8, 0xfb, 0xce, 0x90, + 0xa2, 0x17, 0xeb, 0x26, 0xa2, 0xc4, 0x6d, 0xe2, 0x3e, 0xc8, 0xbc, 0x0c, + 0xcd, 0xa7, 0x95, 0xb3, 0xf2, 0x61, 0x12, 0x98, 0x24, 0xf3, 0x63, 0x36, + 0x39, 0x07, 0x3c, 0x39, 0xc3, 0x9c, 0xa4, 0x69, 0x0d, 0x46, 0x76, 0xad, + 0xc2, 0x16, 0x28, 0x43, 0x1e, 0xc5, 0x36, 0xab, 0x6d, 0x4f, 0x78, 0x80, + 0x9f, 0xc8, 0xce, 0xb8, +}; +static const struct drbg_kat_pr_false kat2513_t = { + 7, kat2513_entropyin, kat2513_nonce, kat2513_persstr, + kat2513_entropyinreseed, kat2513_addinreseed, kat2513_addin0, + kat2513_addin1, kat2513_retbits +}; +static const struct drbg_kat kat2513 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2513_t +}; + +static const unsigned char kat2514_entropyin[] = { + 0xac, 0xa4, 0xfb, 0x3f, 0x4c, 0x6f, 0x56, 0xa4, 0x12, 0x6d, 0x4f, 0xc7, + 0xa8, 0x79, 0xb4, 0x83, 0xa7, 0x2e, 0x49, 0xbf, 0x7f, 0x35, 0x38, 0xe2, + 0xb5, 0xa5, 0xa0, 0x2f, 0x35, 0x84, 0xa9, 0xf7, 0x1a, 0x77, 0x3c, 0xf0, + 0x92, 0x7c, 0x0f, 0x33, +}; +static const unsigned char kat2514_nonce[] = {0}; +static const unsigned char kat2514_persstr[] = { + 0x6a, 0x62, 0xf1, 0x2a, 0x35, 0x2a, 0x35, 0xcc, 0xd1, 0xa5, 0x3e, 0x3d, + 0xd9, 0x9c, 0x74, 0xf2, 0xe5, 0xeb, 0xf0, 0xd4, 0x57, 0x94, 0x16, 0x32, + 0x2f, 0x4b, 0xa7, 0xb9, 0x95, 0x57, 0xb5, 0x56, 0x59, 0xe0, 0xbe, 0x67, + 0x0f, 0x62, 0xf8, 0xdc, +}; +static const unsigned char kat2514_entropyinreseed[] = { + 0x89, 0x5d, 0xf4, 0x20, 0x82, 0xa5, 0xf6, 0x4b, 0xae, 0xdc, 0xeb, 0xd5, + 0xe0, 0x0b, 0x9a, 0x93, 0x9a, 0xc8, 0xfa, 0xc4, 0x3e, 0x13, 0x21, 0x0d, + 0x54, 0x32, 0x17, 0x8f, 0xf4, 0xd0, 0x9f, 0x6a, 0xd6, 0x25, 0xab, 0x0b, + 0xe0, 0x17, 0x39, 0x1e, +}; +static const unsigned char kat2514_addinreseed[] = { + 0x57, 0x85, 0xee, 0x0f, 0xd8, 0x9a, 0xe5, 0xbf, 0xa8, 0x76, 0xfc, 0xa1, + 0x86, 0x11, 0xd2, 0x02, 0xbd, 0x10, 0xac, 0xfe, 0x18, 0x61, 0x1b, 0xa8, + 0x4d, 0x98, 0xb6, 0x1c, 0xec, 0xd0, 0x7c, 0xd0, 0xe4, 0x09, 0x12, 0x39, + 0x7b, 0x08, 0x87, 0x5b, +}; +static const unsigned char kat2514_addin0[] = { + 0x62, 0xdc, 0x52, 0x91, 0x98, 0xb9, 0xe8, 0x3f, 0x76, 0x78, 0xab, 0x67, + 0xb8, 0x41, 0x59, 0x50, 0x4e, 0xac, 0xde, 0x8d, 0xbd, 0xbc, 0x78, 0x50, + 0x35, 0x79, 0x23, 0xda, 0x63, 0x72, 0x70, 0x1e, 0xc9, 0xb4, 0x81, 0x67, + 0x3d, 0xa9, 0x34, 0xc2, +}; +static const unsigned char kat2514_addin1[] = { + 0x8c, 0x46, 0xe8, 0xc6, 0x94, 0x89, 0xbd, 0x57, 0x6a, 0x52, 0x7c, 0x0f, + 0x4e, 0x07, 0xdc, 0xb1, 0xe7, 0xf0, 0x80, 0x2d, 0x0b, 0x2c, 0xdf, 0x3b, + 0xc9, 0xe2, 0xf8, 0x2f, 0x95, 0x7e, 0x5f, 0x23, 0x55, 0x16, 0xc0, 0xdf, + 0xeb, 0xc6, 0x62, 0x6f, +}; +static const unsigned char kat2514_retbits[] = { + 0xdd, 0x13, 0x43, 0x2a, 0x9b, 0x4e, 0x96, 0xee, 0x15, 0x35, 0xdc, 0x9b, + 0x57, 0x20, 0x7e, 0x1c, 0xf3, 0x18, 0x3f, 0x03, 0x4e, 0x90, 0xb4, 0x5a, + 0xee, 0xf5, 0x15, 0xf4, 0xf4, 0x61, 0x17, 0xed, 0x09, 0x0e, 0x26, 0x38, + 0xbe, 0x66, 0x2c, 0xa8, 0x5c, 0xc7, 0x3a, 0x16, 0x44, 0xf7, 0x1f, 0x12, + 0xcb, 0x38, 0x05, 0x04, 0xe3, 0x3e, 0x07, 0x51, 0x47, 0xf9, 0x52, 0xdc, + 0xda, 0xe6, 0xb5, 0xe0, +}; +static const struct drbg_kat_pr_false kat2514_t = { + 8, kat2514_entropyin, kat2514_nonce, kat2514_persstr, + kat2514_entropyinreseed, kat2514_addinreseed, kat2514_addin0, + kat2514_addin1, kat2514_retbits +}; +static const struct drbg_kat kat2514 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2514_t +}; + +static const unsigned char kat2515_entropyin[] = { + 0xd8, 0xa5, 0xa1, 0xca, 0x80, 0x1d, 0xb7, 0xf7, 0xdf, 0x8f, 0xd8, 0xf0, + 0x70, 0x34, 0x2c, 0xb9, 0x66, 0x14, 0xfe, 0x6f, 0xf3, 0xf0, 0x06, 0x6b, + 0x47, 0x18, 0xbf, 0xc7, 0x82, 0x3d, 0xbf, 0x60, 0xa6, 0x14, 0x3c, 0x12, + 0x21, 0xa5, 0xb8, 0xce, +}; +static const unsigned char kat2515_nonce[] = {0}; +static const unsigned char kat2515_persstr[] = { + 0xdb, 0xea, 0x8c, 0x71, 0xa4, 0x1b, 0xfc, 0xac, 0x5d, 0xa7, 0x59, 0xa1, + 0xc6, 0x9c, 0x1a, 0x1a, 0x1a, 0xf5, 0x97, 0x75, 0x39, 0x3a, 0xbf, 0x0f, + 0xe9, 0xcb, 0x78, 0x09, 0x43, 0x66, 0x2e, 0xc3, 0xce, 0x06, 0x64, 0xef, + 0x6e, 0xe7, 0xec, 0x05, +}; +static const unsigned char kat2515_entropyinreseed[] = { + 0x9d, 0x7a, 0x88, 0xfb, 0x58, 0xd5, 0x92, 0x47, 0x7b, 0xef, 0x88, 0x0a, + 0x4e, 0xc1, 0x73, 0x72, 0xaf, 0xfb, 0x6d, 0x90, 0x12, 0xa8, 0x6b, 0xfd, + 0xae, 0x3f, 0xc9, 0xa8, 0xd7, 0xc5, 0xa8, 0xcb, 0xfd, 0x83, 0x1b, 0x26, + 0xe1, 0x15, 0xd9, 0x61, +}; +static const unsigned char kat2515_addinreseed[] = { + 0x7b, 0xd9, 0xaa, 0x01, 0x43, 0x85, 0x9b, 0x16, 0xcb, 0x7b, 0xad, 0x10, + 0x7b, 0xd4, 0x35, 0x3a, 0x95, 0x93, 0x4d, 0xeb, 0xc0, 0xf8, 0x8b, 0x08, + 0x19, 0x42, 0x79, 0x3b, 0x66, 0xce, 0x09, 0x76, 0x75, 0x6c, 0x6d, 0xbe, + 0x76, 0x3c, 0x1e, 0xa9, +}; +static const unsigned char kat2515_addin0[] = { + 0xba, 0xf3, 0x4d, 0xf3, 0xc4, 0x2e, 0x3a, 0x63, 0xe3, 0x87, 0xdb, 0xf9, + 0xad, 0x35, 0x82, 0x7a, 0x77, 0x44, 0xc2, 0x95, 0xb0, 0xb5, 0xb0, 0x55, + 0x04, 0x1d, 0xca, 0x13, 0x00, 0xc2, 0xb2, 0x6a, 0x03, 0xc2, 0x35, 0xfb, + 0x9e, 0x37, 0x01, 0xd7, +}; +static const unsigned char kat2515_addin1[] = { + 0x27, 0xa3, 0xae, 0x0b, 0xc3, 0x7c, 0x1e, 0x8a, 0xad, 0xde, 0x39, 0x34, + 0x2c, 0x5b, 0xdc, 0x5c, 0xab, 0x21, 0xdd, 0xf6, 0x3d, 0x2d, 0x2d, 0xc2, + 0x07, 0xc6, 0x27, 0xb9, 0x64, 0xbb, 0xab, 0x9e, 0xd5, 0x67, 0xc5, 0xb0, + 0x0c, 0x75, 0x9b, 0xed, +}; +static const unsigned char kat2515_retbits[] = { + 0xc7, 0xf0, 0xfb, 0xfb, 0x04, 0x40, 0x86, 0xb4, 0xde, 0x21, 0x26, 0xe2, + 0x10, 0x58, 0x15, 0x5a, 0x38, 0xca, 0x2b, 0x3a, 0x53, 0x7a, 0x83, 0x2a, + 0x40, 0xf6, 0x95, 0x9a, 0x9d, 0xb0, 0xd1, 0xd2, 0xe0, 0xea, 0x58, 0xf1, + 0x11, 0x17, 0x91, 0x99, 0xaf, 0x21, 0x25, 0xf3, 0x1b, 0xb6, 0x30, 0x53, + 0x5f, 0xf5, 0x1a, 0x6a, 0x08, 0xda, 0xa8, 0x21, 0x3a, 0x94, 0x25, 0xd0, + 0xa9, 0x62, 0x8c, 0x9e, +}; +static const struct drbg_kat_pr_false kat2515_t = { + 9, kat2515_entropyin, kat2515_nonce, kat2515_persstr, + kat2515_entropyinreseed, kat2515_addinreseed, kat2515_addin0, + kat2515_addin1, kat2515_retbits +}; +static const struct drbg_kat kat2515 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2515_t +}; + +static const unsigned char kat2516_entropyin[] = { + 0xc1, 0x8c, 0x5c, 0xb0, 0x7f, 0xac, 0x06, 0x40, 0x7a, 0xa9, 0xdd, 0xf3, + 0xb1, 0x2e, 0xe2, 0x6a, 0x19, 0xf1, 0x8a, 0x9e, 0xbb, 0xc2, 0x41, 0xf7, + 0x29, 0xbe, 0x30, 0xa1, 0x27, 0x39, 0xa5, 0x61, 0x17, 0x35, 0xa7, 0xca, + 0x8e, 0x3a, 0x3d, 0x2a, +}; +static const unsigned char kat2516_nonce[] = {0}; +static const unsigned char kat2516_persstr[] = { + 0xff, 0xbc, 0x0d, 0xd0, 0x99, 0xfe, 0x14, 0xa2, 0xb0, 0xc6, 0xfd, 0x46, + 0x00, 0x04, 0x41, 0xc2, 0x01, 0x62, 0x8e, 0x10, 0x6c, 0x4d, 0xbc, 0x29, + 0x49, 0x83, 0xe4, 0x04, 0x04, 0x3c, 0x73, 0xc7, 0x96, 0x4a, 0x22, 0x4f, + 0x55, 0x29, 0x38, 0xb8, +}; +static const unsigned char kat2516_entropyinreseed[] = { + 0xad, 0x17, 0xf7, 0x99, 0x13, 0x22, 0x3c, 0xf2, 0xf7, 0xf7, 0x75, 0xb2, + 0xaf, 0xb3, 0x0b, 0x24, 0xe6, 0x77, 0x4c, 0x03, 0xc6, 0xf6, 0x31, 0xb9, + 0xaf, 0x19, 0xdd, 0x75, 0x1e, 0xa9, 0x90, 0xf4, 0xe7, 0x22, 0x42, 0x44, + 0x58, 0x63, 0xd6, 0x64, +}; +static const unsigned char kat2516_addinreseed[] = { + 0x2f, 0xd2, 0x88, 0x26, 0xc4, 0xe0, 0x23, 0xf5, 0x6e, 0xe4, 0xc8, 0x72, + 0xc6, 0x8f, 0x7c, 0xa6, 0x2b, 0x92, 0x23, 0xac, 0xfe, 0x9c, 0xee, 0x92, + 0x3a, 0xb0, 0xfe, 0x6f, 0x4b, 0x27, 0x17, 0x28, 0xe5, 0x88, 0xa1, 0xd4, + 0x1b, 0x89, 0xa5, 0x6e, +}; +static const unsigned char kat2516_addin0[] = { + 0x89, 0x90, 0xd5, 0x75, 0xda, 0xee, 0xb3, 0x08, 0xff, 0xcd, 0xd1, 0xc8, + 0x62, 0xcd, 0x23, 0x42, 0x39, 0x9d, 0xd3, 0x44, 0x04, 0xff, 0x8e, 0xbc, + 0xfb, 0x49, 0x0d, 0x5b, 0x37, 0x2d, 0x90, 0xa5, 0x97, 0x12, 0x0d, 0x2b, + 0xd9, 0x1c, 0x7f, 0x19, +}; +static const unsigned char kat2516_addin1[] = { + 0x35, 0x75, 0x57, 0xd8, 0x97, 0x4d, 0x5f, 0xa3, 0x0d, 0x91, 0x54, 0xc8, + 0x5a, 0x5c, 0xa8, 0xe1, 0x45, 0x7e, 0x24, 0xc1, 0x48, 0x45, 0x90, 0xa4, + 0x59, 0x44, 0xbb, 0x8f, 0x4a, 0xac, 0xd1, 0x68, 0xca, 0xc4, 0x53, 0x7d, + 0xce, 0x99, 0xe6, 0x4c, +}; +static const unsigned char kat2516_retbits[] = { + 0x07, 0xe4, 0x15, 0x37, 0x40, 0x54, 0xf9, 0x55, 0xa1, 0x5f, 0x24, 0xa2, + 0x37, 0x6b, 0x34, 0x5c, 0x77, 0x47, 0x9a, 0x72, 0x63, 0x8e, 0x48, 0x46, + 0xed, 0x22, 0x48, 0x23, 0x49, 0x84, 0x32, 0x0e, 0xc8, 0x89, 0x76, 0x8e, + 0x6a, 0xb1, 0x68, 0x6d, 0x70, 0xd6, 0x74, 0x0b, 0x50, 0xb8, 0xc1, 0xdb, + 0x6e, 0x92, 0x26, 0xb8, 0x33, 0x49, 0x58, 0x50, 0xc6, 0x3f, 0xc6, 0x90, + 0x9d, 0x19, 0xb3, 0xea, +}; +static const struct drbg_kat_pr_false kat2516_t = { + 10, kat2516_entropyin, kat2516_nonce, kat2516_persstr, + kat2516_entropyinreseed, kat2516_addinreseed, kat2516_addin0, + kat2516_addin1, kat2516_retbits +}; +static const struct drbg_kat kat2516 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2516_t +}; + +static const unsigned char kat2517_entropyin[] = { + 0xd8, 0x47, 0x20, 0x66, 0x9e, 0x4f, 0x05, 0xc2, 0x6d, 0x09, 0x2f, 0x69, + 0x44, 0x60, 0x8f, 0x03, 0x9a, 0x9c, 0x7d, 0x74, 0x1d, 0xc3, 0xcc, 0xa5, + 0x73, 0xc1, 0x79, 0xf8, 0x01, 0xf1, 0xa0, 0xd9, 0x74, 0x9e, 0x4c, 0xfe, + 0x04, 0xc0, 0x8b, 0x3c, +}; +static const unsigned char kat2517_nonce[] = {0}; +static const unsigned char kat2517_persstr[] = { + 0xe3, 0x09, 0xd3, 0x7d, 0xe7, 0xda, 0x0a, 0xbe, 0xff, 0x54, 0x0b, 0x5b, + 0x64, 0x73, 0x64, 0x07, 0xf1, 0x68, 0x35, 0xb8, 0x8b, 0x4b, 0xdd, 0xcc, + 0x41, 0xd8, 0x8a, 0x55, 0xc9, 0xb1, 0x8f, 0xfd, 0xb1, 0x8a, 0x75, 0x4d, + 0xd0, 0x96, 0xe8, 0x5c, +}; +static const unsigned char kat2517_entropyinreseed[] = { + 0xc4, 0x0c, 0xe5, 0x4b, 0xbc, 0xab, 0x56, 0xaf, 0xaa, 0x50, 0x3c, 0x55, + 0x00, 0xdb, 0xa4, 0xf3, 0x0a, 0x92, 0x18, 0x11, 0xa2, 0x4e, 0xfe, 0x46, + 0xcf, 0x4d, 0xb2, 0xf3, 0xc2, 0x1c, 0x25, 0x60, 0x06, 0x32, 0xdd, 0xf6, + 0x65, 0xb0, 0x7f, 0xfa, +}; +static const unsigned char kat2517_addinreseed[] = { + 0x1c, 0x04, 0xb4, 0x70, 0x4d, 0x86, 0x98, 0xc1, 0x73, 0x16, 0x21, 0xaa, + 0x87, 0x51, 0x9f, 0x39, 0x2f, 0x13, 0x91, 0xd3, 0x6d, 0x2a, 0x40, 0xf1, + 0x58, 0x94, 0xec, 0x50, 0x35, 0xb5, 0x37, 0xb7, 0xec, 0x0d, 0x4a, 0xdf, + 0x6d, 0x1b, 0xb4, 0xa0, +}; +static const unsigned char kat2517_addin0[] = { + 0xbb, 0xb4, 0x2b, 0x0b, 0x02, 0x98, 0x05, 0x03, 0x93, 0x55, 0x6e, 0x41, + 0x09, 0x8d, 0x14, 0x0a, 0x69, 0x76, 0x5c, 0x85, 0xbc, 0x27, 0x94, 0x19, + 0x49, 0x20, 0xfa, 0xbc, 0x91, 0xad, 0x5f, 0xb7, 0x7e, 0x84, 0x22, 0xc6, + 0x2b, 0xc3, 0xc2, 0x5d, +}; +static const unsigned char kat2517_addin1[] = { + 0x20, 0x6c, 0xad, 0x3c, 0x4b, 0xa7, 0xb5, 0xdf, 0xfb, 0x17, 0xd6, 0xa9, + 0x39, 0xb6, 0xf3, 0xb0, 0x9b, 0x29, 0x65, 0xd5, 0xb4, 0x0d, 0x2e, 0x13, + 0xa6, 0x6e, 0xd8, 0x9f, 0xea, 0x6a, 0xde, 0x43, 0x5b, 0x54, 0x43, 0xa4, + 0x2b, 0x3a, 0x1e, 0xb5, +}; +static const unsigned char kat2517_retbits[] = { + 0x9d, 0x71, 0x15, 0x4b, 0x79, 0xda, 0x6c, 0x91, 0x20, 0x97, 0x2a, 0x4d, + 0x25, 0x16, 0x91, 0xc1, 0x05, 0x34, 0x42, 0xdf, 0x43, 0x57, 0x64, 0x58, + 0x7c, 0x89, 0x2b, 0xc1, 0x1c, 0x80, 0x08, 0x58, 0xed, 0xd4, 0xdd, 0x19, + 0xc3, 0x6d, 0x1b, 0x99, 0x7d, 0x70, 0x36, 0x6f, 0x0b, 0x0c, 0x5c, 0xe5, + 0x9c, 0x56, 0x34, 0xeb, 0x8c, 0xba, 0x50, 0xe5, 0x46, 0xe0, 0x7d, 0xa0, + 0x1d, 0x9e, 0x7b, 0x96, +}; +static const struct drbg_kat_pr_false kat2517_t = { + 11, kat2517_entropyin, kat2517_nonce, kat2517_persstr, + kat2517_entropyinreseed, kat2517_addinreseed, kat2517_addin0, + kat2517_addin1, kat2517_retbits +}; +static const struct drbg_kat kat2517 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2517_t +}; + +static const unsigned char kat2518_entropyin[] = { + 0x5d, 0xcb, 0x4b, 0xe4, 0x94, 0x38, 0x21, 0x0a, 0xa2, 0x68, 0x2f, 0x7d, + 0x78, 0x4a, 0xae, 0xe5, 0x0d, 0x29, 0xef, 0xaa, 0x63, 0xfa, 0x63, 0xad, + 0xc8, 0x9e, 0x3c, 0xd7, 0xd7, 0x01, 0x71, 0x0f, 0x8f, 0xd2, 0xd4, 0x4c, + 0xd5, 0x1a, 0x2d, 0x7f, +}; +static const unsigned char kat2518_nonce[] = {0}; +static const unsigned char kat2518_persstr[] = { + 0xf8, 0xf7, 0x9c, 0xf6, 0x95, 0x1e, 0x84, 0x0f, 0x22, 0x8d, 0x9d, 0x28, + 0x77, 0x11, 0x85, 0xbc, 0xde, 0x72, 0x92, 0x3a, 0xce, 0x20, 0xc3, 0x07, + 0x9f, 0x85, 0x5a, 0xfa, 0x0a, 0x1e, 0x61, 0xa5, 0x7e, 0xaa, 0x23, 0x23, + 0xf3, 0x4c, 0xcd, 0x61, +}; +static const unsigned char kat2518_entropyinreseed[] = { + 0xbd, 0x59, 0x60, 0x16, 0x28, 0x8a, 0x02, 0xfd, 0xae, 0x29, 0x12, 0x16, + 0xf8, 0xb5, 0xc3, 0x13, 0x5b, 0x96, 0xee, 0xdd, 0xed, 0xe6, 0x9c, 0xd1, + 0xc5, 0xf3, 0x07, 0xd7, 0x58, 0x98, 0x1f, 0x16, 0x4b, 0x5b, 0x63, 0x1a, + 0xe1, 0x55, 0x23, 0xf3, +}; +static const unsigned char kat2518_addinreseed[] = { + 0x3e, 0x2c, 0xd8, 0xc5, 0x97, 0x3b, 0x30, 0x2f, 0x75, 0x36, 0x63, 0x6d, + 0xa1, 0x7f, 0x5b, 0xb2, 0xa5, 0x93, 0xe5, 0x91, 0xc3, 0xec, 0xc8, 0xec, + 0x37, 0x1f, 0x72, 0x76, 0x52, 0x04, 0x61, 0x8c, 0x0d, 0x65, 0x90, 0xe9, + 0xf6, 0x2b, 0x2d, 0xed, +}; +static const unsigned char kat2518_addin0[] = { + 0x9b, 0x74, 0xbf, 0x20, 0x98, 0xce, 0xfd, 0xef, 0x3a, 0xe1, 0x6c, 0x4c, + 0x7a, 0x76, 0x4c, 0xa8, 0x9c, 0x72, 0xb6, 0xd5, 0xe8, 0x3e, 0x85, 0x17, + 0xbe, 0x76, 0x1a, 0xcd, 0x4c, 0x1a, 0xdd, 0x40, 0x30, 0x6c, 0x3c, 0xaf, + 0x41, 0xe2, 0x1c, 0x51, +}; +static const unsigned char kat2518_addin1[] = { + 0x94, 0x87, 0xa6, 0xa1, 0xac, 0x80, 0x0a, 0x07, 0xae, 0x94, 0x8c, 0xcb, + 0x40, 0xef, 0x71, 0x2c, 0x8b, 0x23, 0x79, 0x48, 0x64, 0xc9, 0x24, 0xb4, + 0xf4, 0xe7, 0x9c, 0xe0, 0xe5, 0xb4, 0x76, 0xa3, 0x6f, 0x60, 0x96, 0x74, + 0xfe, 0x53, 0x03, 0xfe, +}; +static const unsigned char kat2518_retbits[] = { + 0x4e, 0xf2, 0x28, 0x01, 0xd1, 0x5c, 0x14, 0x7a, 0x26, 0x71, 0x72, 0x04, + 0x89, 0x44, 0x35, 0x34, 0x93, 0x56, 0x7f, 0xb9, 0xfe, 0xe8, 0x54, 0xde, + 0x3e, 0xe1, 0x8f, 0xe4, 0x64, 0x55, 0xe1, 0x41, 0xad, 0x52, 0x66, 0x32, + 0xc4, 0xaf, 0xbc, 0x14, 0x64, 0xd6, 0x37, 0xe5, 0x94, 0x21, 0xe9, 0x6d, + 0x8a, 0x3e, 0x09, 0x83, 0x58, 0x3f, 0xe4, 0x15, 0x2a, 0xcc, 0x7f, 0xb2, + 0xdc, 0x0d, 0xbd, 0x89, +}; +static const struct drbg_kat_pr_false kat2518_t = { + 12, kat2518_entropyin, kat2518_nonce, kat2518_persstr, + kat2518_entropyinreseed, kat2518_addinreseed, kat2518_addin0, + kat2518_addin1, kat2518_retbits +}; +static const struct drbg_kat kat2518 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2518_t +}; + +static const unsigned char kat2519_entropyin[] = { + 0x15, 0xd9, 0xb2, 0xac, 0x39, 0x83, 0x55, 0x3e, 0x16, 0x70, 0x33, 0x7d, + 0x7c, 0x8a, 0x2d, 0x03, 0xa7, 0xa7, 0x0c, 0x65, 0x11, 0xce, 0x55, 0xd4, + 0x62, 0xaf, 0xe1, 0x47, 0x92, 0xf8, 0x52, 0xa1, 0x13, 0x86, 0x2e, 0xb5, + 0xed, 0x39, 0x80, 0x65, +}; +static const unsigned char kat2519_nonce[] = {0}; +static const unsigned char kat2519_persstr[] = { + 0xed, 0xbd, 0x08, 0xe6, 0xca, 0x63, 0x83, 0x1e, 0x69, 0x07, 0xf4, 0xa6, + 0x9f, 0x4b, 0x95, 0x43, 0x70, 0xe5, 0xa4, 0x45, 0x36, 0x7d, 0x92, 0xb4, + 0xaa, 0xcb, 0xae, 0x1c, 0x0a, 0x0c, 0x48, 0x3e, 0x1c, 0x97, 0xee, 0x0c, + 0x7f, 0x2f, 0x40, 0x84, +}; +static const unsigned char kat2519_entropyinreseed[] = { + 0xa9, 0x15, 0x8b, 0x76, 0x02, 0xda, 0x31, 0x26, 0xbb, 0x42, 0x94, 0xcd, + 0xcb, 0x47, 0x19, 0x8e, 0x36, 0x6d, 0x7b, 0x71, 0xf7, 0xd1, 0x14, 0x4d, + 0x99, 0x05, 0x64, 0x9a, 0xaf, 0x56, 0x71, 0xac, 0x7c, 0x3b, 0x77, 0x77, + 0xe1, 0x74, 0xf0, 0x4b, +}; +static const unsigned char kat2519_addinreseed[] = { + 0xd7, 0xe0, 0x7d, 0xb7, 0x68, 0xfc, 0x0e, 0x49, 0x9e, 0x9a, 0x6f, 0x31, + 0x50, 0xa3, 0xff, 0x9f, 0x46, 0x63, 0xbd, 0x4b, 0xb8, 0x6f, 0xf7, 0x5a, + 0xc7, 0x87, 0x71, 0x6a, 0x72, 0x88, 0xc3, 0x11, 0x33, 0xca, 0xd9, 0xdc, + 0x26, 0xdb, 0x2c, 0xe1, +}; +static const unsigned char kat2519_addin0[] = { + 0x76, 0xe6, 0xa1, 0x87, 0x64, 0xfa, 0x75, 0xda, 0x82, 0x16, 0x3a, 0x59, + 0xed, 0xb8, 0xcc, 0x04, 0x61, 0x50, 0x44, 0x06, 0xeb, 0x9b, 0xe3, 0x71, + 0x2a, 0x21, 0xad, 0x24, 0xe4, 0x95, 0xd7, 0x89, 0x02, 0x46, 0xc4, 0x4d, + 0x96, 0x84, 0xb0, 0x64, +}; +static const unsigned char kat2519_addin1[] = { + 0x82, 0xd8, 0xa3, 0x97, 0x06, 0x0e, 0x1a, 0x94, 0x8e, 0xf2, 0xa7, 0x0f, + 0x48, 0xc3, 0x2c, 0xd5, 0x6e, 0xc9, 0x35, 0x80, 0x1a, 0x5a, 0x65, 0x42, + 0x2a, 0xae, 0x18, 0x5e, 0xe0, 0x57, 0xcf, 0xd5, 0x87, 0xa3, 0xfa, 0xcf, + 0xc0, 0xfe, 0xac, 0x4b, +}; +static const unsigned char kat2519_retbits[] = { + 0x18, 0xf5, 0x3b, 0x7b, 0x2f, 0x17, 0xdc, 0x14, 0x28, 0x85, 0x1d, 0x36, + 0x58, 0xf9, 0xcc, 0x3e, 0x85, 0x9b, 0xf6, 0xc9, 0x1a, 0xc9, 0x4e, 0x44, + 0x9d, 0x03, 0xb8, 0x8f, 0x92, 0xd2, 0xf0, 0x6c, 0x8f, 0xa1, 0x15, 0x09, + 0x98, 0x8a, 0xa2, 0x8a, 0x32, 0x2c, 0x3f, 0x8e, 0x1d, 0x82, 0x6d, 0x7c, + 0xc3, 0x7e, 0x2c, 0xff, 0x8c, 0xea, 0x20, 0x34, 0x0a, 0x09, 0xf4, 0xa3, + 0x5f, 0xc4, 0x89, 0x0f, +}; +static const struct drbg_kat_pr_false kat2519_t = { + 13, kat2519_entropyin, kat2519_nonce, kat2519_persstr, + kat2519_entropyinreseed, kat2519_addinreseed, kat2519_addin0, + kat2519_addin1, kat2519_retbits +}; +static const struct drbg_kat kat2519 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2519_t +}; + +static const unsigned char kat2520_entropyin[] = { + 0xa4, 0x5e, 0x35, 0xe0, 0xad, 0x03, 0x06, 0x22, 0x5c, 0xf6, 0xe6, 0x8d, + 0xb1, 0xad, 0xa9, 0xfd, 0xc5, 0xbe, 0x20, 0xf9, 0x67, 0xed, 0x74, 0xe0, + 0xfa, 0x42, 0xb1, 0x84, 0xbe, 0xed, 0x56, 0xfa, 0xa3, 0x47, 0xed, 0x4c, + 0x6a, 0x17, 0xc9, 0xf2, +}; +static const unsigned char kat2520_nonce[] = {0}; +static const unsigned char kat2520_persstr[] = { + 0x56, 0x29, 0x19, 0x28, 0x11, 0x26, 0xb7, 0x0b, 0x46, 0xe6, 0xf4, 0x2f, + 0x92, 0xc8, 0xfa, 0x1e, 0xcc, 0x1c, 0xe9, 0xe3, 0xb3, 0xd5, 0x5d, 0x1d, + 0x77, 0x13, 0x8e, 0x4b, 0x81, 0x72, 0x78, 0x00, 0xe7, 0xcc, 0x0f, 0xea, + 0x5a, 0xb9, 0xf1, 0x85, +}; +static const unsigned char kat2520_entropyinreseed[] = { + 0x59, 0xae, 0x2e, 0x14, 0x61, 0x4a, 0x27, 0xea, 0xa3, 0xb8, 0xde, 0x7f, + 0x37, 0x77, 0x21, 0x4c, 0xa4, 0xfa, 0x20, 0x6e, 0xb8, 0x68, 0xf0, 0x2d, + 0x72, 0x4c, 0x18, 0x54, 0x9f, 0xe7, 0x7d, 0xc8, 0xd9, 0xa4, 0x65, 0xf1, + 0xcf, 0x56, 0x84, 0x9a, +}; +static const unsigned char kat2520_addinreseed[] = { + 0x04, 0x84, 0x64, 0x4b, 0x35, 0x07, 0x33, 0x0e, 0x45, 0xe3, 0x93, 0x3e, + 0xc3, 0x42, 0xd5, 0xee, 0x4a, 0xf1, 0xf7, 0x84, 0xa5, 0x3c, 0x4e, 0xf6, + 0x38, 0xc6, 0x8f, 0x7f, 0xab, 0x03, 0xaa, 0xeb, 0x41, 0x1f, 0xeb, 0xf9, + 0xdc, 0x51, 0x94, 0xc5, +}; +static const unsigned char kat2520_addin0[] = { + 0x6f, 0x6d, 0x6a, 0xb0, 0xd0, 0xc0, 0x2e, 0xcf, 0xba, 0xa3, 0xba, 0x6d, + 0x8f, 0x38, 0xa8, 0xac, 0xb0, 0x86, 0x99, 0xd0, 0x8f, 0x30, 0x35, 0xce, + 0x7f, 0xd0, 0x33, 0x43, 0xb7, 0xef, 0x2d, 0x96, 0x1d, 0xde, 0xc5, 0x81, + 0x2a, 0x30, 0xa0, 0x45, +}; +static const unsigned char kat2520_addin1[] = { + 0xfb, 0xa0, 0xd6, 0xf6, 0xca, 0x8f, 0x1a, 0x58, 0x77, 0x82, 0xc5, 0x31, + 0x97, 0x66, 0x20, 0x90, 0x59, 0xa2, 0x3c, 0xb3, 0xe7, 0x47, 0x6b, 0x2d, + 0x06, 0x0a, 0xd0, 0x6f, 0x2d, 0xb9, 0xe0, 0x97, 0x28, 0xcd, 0xbe, 0x0f, + 0x8a, 0x86, 0xc1, 0x4c, +}; +static const unsigned char kat2520_retbits[] = { + 0x9e, 0x88, 0x54, 0x4b, 0x84, 0x86, 0xd3, 0x44, 0x5c, 0x0b, 0xf4, 0x7d, + 0x0f, 0x55, 0xbb, 0x8d, 0x3f, 0x2a, 0xbf, 0x5d, 0x5b, 0x28, 0x16, 0xdf, + 0x7a, 0xbc, 0xf3, 0xf4, 0x19, 0xdc, 0x37, 0xca, 0x33, 0x2b, 0xc0, 0x0f, + 0xb8, 0xc4, 0x01, 0x52, 0x75, 0x0b, 0x4c, 0x46, 0x05, 0x4e, 0x8a, 0x28, + 0x11, 0x90, 0xf6, 0xe3, 0x00, 0x7b, 0x84, 0x4c, 0x63, 0xf6, 0xcb, 0xd1, + 0xdd, 0x9a, 0xcb, 0x01, +}; +static const struct drbg_kat_pr_false kat2520_t = { + 14, kat2520_entropyin, kat2520_nonce, kat2520_persstr, + kat2520_entropyinreseed, kat2520_addinreseed, kat2520_addin0, + kat2520_addin1, kat2520_retbits +}; +static const struct drbg_kat kat2520 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2520_t +}; + +static const unsigned char kat2521_entropyin[] = { + 0x3b, 0xb9, 0xb2, 0x66, 0x2a, 0x25, 0x5d, 0xf8, 0xf8, 0x80, 0x88, 0x47, + 0x18, 0x84, 0x06, 0x96, 0x0e, 0xc0, 0x03, 0x35, 0x1c, 0xab, 0x3a, 0xd2, + 0x02, 0x78, 0x71, 0xf1, 0x30, 0x29, 0x56, 0xaa, 0x31, 0xab, 0xc8, 0xd3, + 0x9c, 0x36, 0x29, 0xd9, +}; +static const unsigned char kat2521_nonce[] = {0}; +static const unsigned char kat2521_persstr[] = {0}; +static const unsigned char kat2521_entropyinreseed[] = { + 0x7b, 0xc8, 0x63, 0xda, 0x2b, 0x9f, 0xde, 0x00, 0x8b, 0x61, 0x00, 0x79, + 0xf8, 0xbd, 0x80, 0x41, 0x80, 0xa7, 0xe8, 0x65, 0x3c, 0xa6, 0xe9, 0x1a, + 0x5a, 0x90, 0x61, 0x9c, 0x23, 0xe0, 0x2c, 0xe4, 0xd6, 0x07, 0xb0, 0x0c, + 0x79, 0x24, 0x36, 0xfe, +}; +static const unsigned char kat2521_addinreseed[] = {0}; +static const unsigned char kat2521_addin0[] = {0}; +static const unsigned char kat2521_addin1[] = {0}; +static const unsigned char kat2521_retbits[] = { + 0x50, 0x6c, 0x74, 0x51, 0xe5, 0xee, 0x0f, 0xdc, 0xa4, 0x86, 0x32, 0x94, + 0x2f, 0x2b, 0xa4, 0x73, 0x04, 0xeb, 0x02, 0x10, 0xf1, 0xfa, 0xc6, 0x6c, + 0x62, 0x03, 0x65, 0xf7, 0x53, 0xef, 0x70, 0x98, 0x9c, 0x40, 0xfe, 0x9f, + 0xd5, 0x4d, 0x54, 0xa9, 0xe4, 0xaa, 0x0b, 0x3f, 0x1a, 0xb7, 0x00, 0xaa, + 0x6e, 0x9d, 0x45, 0xbc, 0x7c, 0xe3, 0x2b, 0x88, 0xbb, 0xed, 0x53, 0x7e, + 0xcb, 0xc4, 0xf3, 0x77, +}; +static const struct drbg_kat_pr_false kat2521_t = { + 0, kat2521_entropyin, kat2521_nonce, kat2521_persstr, + kat2521_entropyinreseed, kat2521_addinreseed, kat2521_addin0, + kat2521_addin1, kat2521_retbits +}; +static const struct drbg_kat kat2521 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2521_t +}; + +static const unsigned char kat2522_entropyin[] = { + 0xab, 0x12, 0xf3, 0xf9, 0x41, 0x0c, 0x55, 0xc7, 0x60, 0xae, 0x88, 0xce, + 0x17, 0x3d, 0x7c, 0x78, 0xa6, 0xb1, 0x0a, 0xea, 0x55, 0x96, 0x70, 0x76, + 0xaf, 0xfc, 0xe3, 0x67, 0x65, 0xf0, 0x46, 0xa6, 0x1d, 0xdc, 0x3b, 0x51, + 0x43, 0xa3, 0x9f, 0x65, +}; +static const unsigned char kat2522_nonce[] = {0}; +static const unsigned char kat2522_persstr[] = {0}; +static const unsigned char kat2522_entropyinreseed[] = { + 0x48, 0x2a, 0x31, 0x95, 0x73, 0xd0, 0x92, 0x6a, 0x2e, 0xba, 0x77, 0x0f, + 0x98, 0x85, 0x67, 0xe1, 0x6a, 0xa1, 0x77, 0x9a, 0x31, 0x38, 0x26, 0xfe, + 0xd4, 0x66, 0x78, 0x3c, 0xa7, 0x9e, 0xe3, 0xb5, 0xf8, 0x2b, 0x1d, 0xf0, + 0x05, 0xe0, 0xbe, 0xb8, +}; +static const unsigned char kat2522_addinreseed[] = {0}; +static const unsigned char kat2522_addin0[] = {0}; +static const unsigned char kat2522_addin1[] = {0}; +static const unsigned char kat2522_retbits[] = { + 0x05, 0x1b, 0x4c, 0xa1, 0x40, 0xf4, 0x5e, 0xde, 0x15, 0x3a, 0x74, 0xa6, + 0x6b, 0xd9, 0x04, 0xa0, 0x0d, 0xa6, 0x31, 0xae, 0xb0, 0xd9, 0x2d, 0x23, + 0x82, 0xe3, 0x51, 0xb1, 0x3d, 0x63, 0xad, 0xbe, 0x4a, 0xe7, 0xa2, 0x8f, + 0x83, 0xa1, 0x24, 0xfb, 0x07, 0x7b, 0x12, 0xad, 0x55, 0xe2, 0xf9, 0x94, + 0xad, 0xe2, 0x21, 0x03, 0x20, 0x9f, 0xcd, 0x97, 0x67, 0xef, 0x9a, 0xc6, + 0x16, 0xad, 0x53, 0x7c, +}; +static const struct drbg_kat_pr_false kat2522_t = { + 1, kat2522_entropyin, kat2522_nonce, kat2522_persstr, + kat2522_entropyinreseed, kat2522_addinreseed, kat2522_addin0, + kat2522_addin1, kat2522_retbits +}; +static const struct drbg_kat kat2522 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2522_t +}; + +static const unsigned char kat2523_entropyin[] = { + 0x79, 0xae, 0x74, 0xb9, 0xd0, 0xe5, 0x5f, 0x2f, 0xfb, 0xfa, 0xef, 0x21, + 0xf2, 0x7e, 0xb0, 0x51, 0xf1, 0xcc, 0x5c, 0x49, 0xed, 0x19, 0xa1, 0xff, + 0x29, 0xc4, 0xfe, 0x63, 0x7c, 0x7a, 0xbd, 0x8c, 0x34, 0x2e, 0xe2, 0xec, + 0x7c, 0x8c, 0x4d, 0x1c, +}; +static const unsigned char kat2523_nonce[] = {0}; +static const unsigned char kat2523_persstr[] = {0}; +static const unsigned char kat2523_entropyinreseed[] = { + 0xee, 0xbc, 0x7f, 0x67, 0x50, 0x77, 0x51, 0x20, 0x4d, 0xf3, 0x0d, 0xa3, + 0x50, 0x4f, 0x27, 0xef, 0x2d, 0xe8, 0x90, 0xcd, 0x50, 0x9d, 0xcc, 0xc6, + 0xe7, 0xe8, 0xb8, 0x5d, 0xd0, 0x9b, 0x85, 0x1b, 0xc4, 0x2a, 0x72, 0x96, + 0x9c, 0x50, 0x21, 0xde, +}; +static const unsigned char kat2523_addinreseed[] = {0}; +static const unsigned char kat2523_addin0[] = {0}; +static const unsigned char kat2523_addin1[] = {0}; +static const unsigned char kat2523_retbits[] = { + 0xa2, 0xc6, 0x06, 0x38, 0x64, 0xc2, 0x63, 0xe0, 0x07, 0x3f, 0xa8, 0x5e, + 0x36, 0xb0, 0x9c, 0xe7, 0x1a, 0xc6, 0xba, 0x3e, 0x96, 0x7c, 0xb7, 0x39, + 0x1f, 0xb0, 0x43, 0x46, 0x9b, 0xab, 0x85, 0x80, 0x7b, 0x58, 0xaf, 0x53, + 0x02, 0x71, 0x87, 0xac, 0x99, 0x3f, 0xea, 0x5b, 0xc5, 0xc6, 0x4e, 0x4f, + 0xfc, 0x4f, 0x08, 0x70, 0xb2, 0xc3, 0x38, 0xf8, 0xdf, 0xbb, 0x7a, 0xc8, + 0x35, 0x0a, 0xb1, 0x8b, +}; +static const struct drbg_kat_pr_false kat2523_t = { + 2, kat2523_entropyin, kat2523_nonce, kat2523_persstr, + kat2523_entropyinreseed, kat2523_addinreseed, kat2523_addin0, + kat2523_addin1, kat2523_retbits +}; +static const struct drbg_kat kat2523 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2523_t +}; + +static const unsigned char kat2524_entropyin[] = { + 0x06, 0x2d, 0x77, 0xe6, 0x8e, 0x01, 0x74, 0x75, 0x53, 0xe5, 0x54, 0x34, + 0x75, 0x6e, 0xa3, 0xd5, 0x1a, 0xf3, 0x99, 0xb4, 0xf3, 0xf5, 0x8b, 0xa8, + 0xbd, 0x8e, 0xa9, 0xbf, 0x7e, 0xa4, 0xde, 0xcb, 0xad, 0xc3, 0xea, 0x2f, + 0xf5, 0x3f, 0x6c, 0x0f, +}; +static const unsigned char kat2524_nonce[] = {0}; +static const unsigned char kat2524_persstr[] = {0}; +static const unsigned char kat2524_entropyinreseed[] = { + 0xba, 0x11, 0x1e, 0x60, 0x0a, 0x45, 0xf2, 0x33, 0x67, 0x6e, 0x72, 0x04, + 0x96, 0xef, 0xcd, 0x0d, 0x56, 0x6e, 0xc6, 0xc1, 0x82, 0x60, 0xf4, 0xd3, + 0x9e, 0xed, 0x3f, 0x7e, 0xc1, 0x54, 0xeb, 0xdf, 0xd9, 0x94, 0x8e, 0xcb, + 0x16, 0xa0, 0xb1, 0xe6, +}; +static const unsigned char kat2524_addinreseed[] = {0}; +static const unsigned char kat2524_addin0[] = {0}; +static const unsigned char kat2524_addin1[] = {0}; +static const unsigned char kat2524_retbits[] = { + 0xc8, 0x4e, 0x51, 0x83, 0x79, 0x69, 0xbb, 0xfb, 0x16, 0x0f, 0x63, 0x9e, + 0x62, 0xcc, 0xf3, 0xda, 0x56, 0xdc, 0xd6, 0xe3, 0x7f, 0xfa, 0x46, 0x23, + 0xc4, 0x03, 0x33, 0x9c, 0xca, 0x2d, 0xa3, 0x74, 0x2f, 0xb9, 0x33, 0xb4, + 0xaf, 0x7b, 0x64, 0x9c, 0x39, 0x27, 0x6a, 0xd2, 0x7c, 0x37, 0x6c, 0x8f, + 0x13, 0x4d, 0x57, 0x8a, 0x16, 0x43, 0xd5, 0x50, 0x15, 0xf9, 0x95, 0xf9, + 0xea, 0x82, 0xd2, 0x9a, +}; +static const struct drbg_kat_pr_false kat2524_t = { + 3, kat2524_entropyin, kat2524_nonce, kat2524_persstr, + kat2524_entropyinreseed, kat2524_addinreseed, kat2524_addin0, + kat2524_addin1, kat2524_retbits +}; +static const struct drbg_kat kat2524 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2524_t +}; + +static const unsigned char kat2525_entropyin[] = { + 0x8b, 0x46, 0x93, 0x44, 0x07, 0x3c, 0xe6, 0xb3, 0x6f, 0xff, 0x0c, 0x14, + 0xfe, 0xf1, 0xcb, 0x49, 0xb6, 0xe8, 0x72, 0x80, 0xc2, 0x7c, 0xe9, 0x1c, + 0xdd, 0xef, 0x8e, 0x3f, 0x91, 0xde, 0xa3, 0xb9, 0x14, 0x77, 0xe4, 0x46, + 0x71, 0x25, 0xca, 0x95, +}; +static const unsigned char kat2525_nonce[] = {0}; +static const unsigned char kat2525_persstr[] = {0}; +static const unsigned char kat2525_entropyinreseed[] = { + 0x07, 0x8e, 0x4c, 0x46, 0xcc, 0xe4, 0x28, 0x9a, 0x5b, 0xcf, 0xc0, 0x39, + 0x49, 0xb0, 0x88, 0xdd, 0x1e, 0xda, 0x9e, 0xe8, 0xb7, 0x34, 0xdf, 0x78, + 0x3a, 0x13, 0xee, 0xb2, 0x7a, 0xee, 0xa9, 0x5d, 0xab, 0x3a, 0xa5, 0x18, + 0x56, 0xcc, 0xbb, 0x7e, +}; +static const unsigned char kat2525_addinreseed[] = {0}; +static const unsigned char kat2525_addin0[] = {0}; +static const unsigned char kat2525_addin1[] = {0}; +static const unsigned char kat2525_retbits[] = { + 0x1f, 0xe8, 0x5a, 0x0f, 0x69, 0x9c, 0x95, 0x7e, 0x6a, 0xcf, 0x10, 0x6a, + 0x28, 0xb3, 0xc7, 0x6a, 0x00, 0x10, 0xb7, 0xe3, 0x3e, 0x7f, 0x03, 0x20, + 0x0b, 0xf9, 0xb3, 0x86, 0xeb, 0x8a, 0xe4, 0xe7, 0xae, 0x94, 0x15, 0x9e, + 0xc4, 0xcc, 0xc0, 0xdc, 0xb3, 0x23, 0xd9, 0xd6, 0x1b, 0xe0, 0xb0, 0xb1, + 0x9b, 0xd1, 0x2b, 0x2f, 0xe5, 0x71, 0xff, 0xe5, 0x54, 0x90, 0xd9, 0x19, + 0x8d, 0x9e, 0xbc, 0x20, +}; +static const struct drbg_kat_pr_false kat2525_t = { + 4, kat2525_entropyin, kat2525_nonce, kat2525_persstr, + kat2525_entropyinreseed, kat2525_addinreseed, kat2525_addin0, + kat2525_addin1, kat2525_retbits +}; +static const struct drbg_kat kat2525 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2525_t +}; + +static const unsigned char kat2526_entropyin[] = { + 0x47, 0x44, 0xc9, 0xd1, 0x52, 0xda, 0x9e, 0x98, 0xe1, 0x5a, 0xa6, 0xf9, + 0xae, 0x20, 0xa6, 0xc3, 0x0a, 0x20, 0x4b, 0x9f, 0xbe, 0x09, 0xad, 0xe5, + 0x15, 0x60, 0x26, 0x15, 0x1c, 0x7a, 0x0a, 0x60, 0x89, 0xe1, 0xc7, 0xd7, + 0x44, 0xd7, 0xba, 0x6d, +}; +static const unsigned char kat2526_nonce[] = {0}; +static const unsigned char kat2526_persstr[] = {0}; +static const unsigned char kat2526_entropyinreseed[] = { + 0xdd, 0x06, 0x43, 0x3c, 0x12, 0x81, 0x92, 0xc9, 0x7a, 0xf2, 0x49, 0x61, + 0x39, 0x15, 0xe9, 0xac, 0xc7, 0xdb, 0x69, 0x4b, 0xb4, 0xe8, 0xcc, 0xa7, + 0x4c, 0x21, 0x61, 0xfd, 0x9e, 0x17, 0x3f, 0x73, 0x4e, 0x96, 0x25, 0x2a, + 0x47, 0xb2, 0xe2, 0x99, +}; +static const unsigned char kat2526_addinreseed[] = {0}; +static const unsigned char kat2526_addin0[] = {0}; +static const unsigned char kat2526_addin1[] = {0}; +static const unsigned char kat2526_retbits[] = { + 0x1f, 0x87, 0x3b, 0x28, 0x81, 0x70, 0x01, 0x08, 0xbd, 0xa3, 0xf5, 0x88, + 0xb3, 0x44, 0x1e, 0x6f, 0x7b, 0x3b, 0xd5, 0xea, 0xc9, 0x3a, 0x16, 0xf6, + 0xc6, 0xe4, 0x9b, 0x92, 0x47, 0x75, 0xd1, 0x19, 0xb0, 0x67, 0x3b, 0xb3, + 0x05, 0xcb, 0x72, 0x88, 0x2d, 0xd0, 0x20, 0x83, 0xe1, 0x61, 0xb0, 0x6a, + 0xde, 0xc9, 0xf2, 0xbf, 0x9d, 0x0b, 0x63, 0x5c, 0x80, 0x28, 0x9a, 0xc6, + 0xe6, 0xf7, 0x7e, 0xeb, +}; +static const struct drbg_kat_pr_false kat2526_t = { + 5, kat2526_entropyin, kat2526_nonce, kat2526_persstr, + kat2526_entropyinreseed, kat2526_addinreseed, kat2526_addin0, + kat2526_addin1, kat2526_retbits +}; +static const struct drbg_kat kat2526 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2526_t +}; + +static const unsigned char kat2527_entropyin[] = { + 0xb2, 0xfe, 0x59, 0xbe, 0xe0, 0x9d, 0xb9, 0x9b, 0x5f, 0xfa, 0xec, 0xe5, + 0xcc, 0xae, 0x91, 0x47, 0x9d, 0x21, 0x47, 0xad, 0xf5, 0x88, 0x47, 0xe4, + 0x62, 0x23, 0xc2, 0x79, 0x91, 0x3d, 0xfe, 0x25, 0x3b, 0x0e, 0x44, 0xf3, + 0x30, 0x5e, 0xd3, 0x2d, +}; +static const unsigned char kat2527_nonce[] = {0}; +static const unsigned char kat2527_persstr[] = {0}; +static const unsigned char kat2527_entropyinreseed[] = { + 0xca, 0x34, 0xab, 0xc2, 0x77, 0xf3, 0x8b, 0x0f, 0x72, 0x61, 0x4b, 0x4e, + 0x1d, 0x17, 0x9b, 0x1a, 0x12, 0x13, 0x5a, 0x0b, 0x0d, 0x07, 0xda, 0x18, + 0x62, 0xd4, 0xd9, 0x09, 0x5b, 0xc2, 0x01, 0x4b, 0x5a, 0x0f, 0x20, 0x6b, + 0x1c, 0x2f, 0xca, 0x9a, +}; +static const unsigned char kat2527_addinreseed[] = {0}; +static const unsigned char kat2527_addin0[] = {0}; +static const unsigned char kat2527_addin1[] = {0}; +static const unsigned char kat2527_retbits[] = { + 0x41, 0x49, 0xf8, 0xbe, 0x52, 0xcf, 0xb5, 0x1e, 0x2b, 0xee, 0x05, 0xe0, + 0x7b, 0xa3, 0x05, 0x81, 0xca, 0x20, 0xef, 0x1b, 0xcc, 0xe8, 0xcf, 0xac, + 0xe8, 0xbb, 0x4d, 0x91, 0xda, 0x3b, 0x19, 0x3e, 0xc0, 0xa8, 0x05, 0xd9, + 0x1e, 0x77, 0x9a, 0xf4, 0xc7, 0xe4, 0xdb, 0x99, 0x83, 0xf1, 0x25, 0x50, + 0xf3, 0x74, 0x0f, 0x4f, 0x55, 0x65, 0x8c, 0x1c, 0xa2, 0x4e, 0x36, 0xd8, + 0x4f, 0x73, 0x10, 0xb6, +}; +static const struct drbg_kat_pr_false kat2527_t = { + 6, kat2527_entropyin, kat2527_nonce, kat2527_persstr, + kat2527_entropyinreseed, kat2527_addinreseed, kat2527_addin0, + kat2527_addin1, kat2527_retbits +}; +static const struct drbg_kat kat2527 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2527_t +}; + +static const unsigned char kat2528_entropyin[] = { + 0x0d, 0x1b, 0x44, 0xff, 0x12, 0xce, 0x16, 0x11, 0x24, 0xd0, 0xe8, 0x7f, + 0x82, 0x32, 0x70, 0x33, 0xd2, 0x28, 0x83, 0xc7, 0x9c, 0xc5, 0x2c, 0xc3, + 0x43, 0x2a, 0x98, 0x84, 0xdb, 0xd6, 0xc9, 0xca, 0x88, 0xae, 0x35, 0x9f, + 0x14, 0x1c, 0xbd, 0x72, +}; +static const unsigned char kat2528_nonce[] = {0}; +static const unsigned char kat2528_persstr[] = {0}; +static const unsigned char kat2528_entropyinreseed[] = { + 0x90, 0xb7, 0xf7, 0x8b, 0x37, 0xb6, 0x39, 0xc9, 0x57, 0x06, 0xed, 0xeb, + 0x18, 0x93, 0xd1, 0xf8, 0x1e, 0x08, 0x54, 0x89, 0x12, 0x53, 0x2a, 0x46, + 0xef, 0x8c, 0x1b, 0x90, 0x86, 0x8b, 0x89, 0x4b, 0x95, 0x48, 0x1b, 0x2a, + 0xe4, 0xc1, 0x7e, 0x66, +}; +static const unsigned char kat2528_addinreseed[] = {0}; +static const unsigned char kat2528_addin0[] = {0}; +static const unsigned char kat2528_addin1[] = {0}; +static const unsigned char kat2528_retbits[] = { + 0x29, 0x5d, 0x3a, 0x4b, 0x7a, 0x0d, 0xbc, 0x36, 0x16, 0x59, 0x8a, 0x14, + 0x03, 0x48, 0x85, 0x44, 0x33, 0xe1, 0x2f, 0xb0, 0x69, 0x13, 0x29, 0x5d, + 0xb3, 0xa4, 0x20, 0x44, 0x5b, 0x3a, 0xba, 0x87, 0x6c, 0x93, 0x94, 0xbc, + 0x2e, 0x8c, 0xb2, 0x93, 0x4e, 0xfc, 0x02, 0x8b, 0x78, 0x99, 0xa7, 0x18, + 0x7c, 0x36, 0x40, 0x44, 0xd2, 0xde, 0x48, 0x67, 0x0b, 0x3c, 0xd0, 0xa3, + 0x58, 0x75, 0x56, 0xc4, +}; +static const struct drbg_kat_pr_false kat2528_t = { + 7, kat2528_entropyin, kat2528_nonce, kat2528_persstr, + kat2528_entropyinreseed, kat2528_addinreseed, kat2528_addin0, + kat2528_addin1, kat2528_retbits +}; +static const struct drbg_kat kat2528 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2528_t +}; + +static const unsigned char kat2529_entropyin[] = { + 0xca, 0x34, 0x8b, 0xed, 0x64, 0xf8, 0xad, 0xbf, 0xc3, 0xe2, 0x75, 0xef, + 0x91, 0x39, 0xb6, 0xf3, 0x59, 0xe4, 0x20, 0x9b, 0x35, 0x6e, 0x14, 0x9f, + 0x53, 0xbb, 0xe2, 0x5d, 0xd6, 0x8f, 0x1b, 0x63, 0xe6, 0x55, 0x08, 0x25, + 0xf8, 0xa0, 0x87, 0x2a, +}; +static const unsigned char kat2529_nonce[] = {0}; +static const unsigned char kat2529_persstr[] = {0}; +static const unsigned char kat2529_entropyinreseed[] = { + 0x76, 0x2f, 0x85, 0x4a, 0x61, 0x4b, 0x2a, 0xf6, 0x74, 0xf2, 0x25, 0x63, + 0x52, 0x8c, 0x84, 0x29, 0x52, 0xd6, 0x33, 0xda, 0xb3, 0xfc, 0x44, 0x33, + 0x1d, 0xc3, 0x35, 0x11, 0xa7, 0xf7, 0x69, 0xe2, 0x95, 0x88, 0xed, 0x64, + 0x0b, 0x25, 0x70, 0xc7, +}; +static const unsigned char kat2529_addinreseed[] = {0}; +static const unsigned char kat2529_addin0[] = {0}; +static const unsigned char kat2529_addin1[] = {0}; +static const unsigned char kat2529_retbits[] = { + 0x4b, 0x7e, 0x86, 0x96, 0x16, 0xde, 0xb8, 0x05, 0x89, 0xe1, 0x18, 0xac, + 0x06, 0xe2, 0x7e, 0x40, 0xe4, 0x45, 0x35, 0x1f, 0x93, 0xfc, 0xc8, 0x45, + 0x02, 0xb1, 0x70, 0xff, 0x83, 0xa0, 0x0f, 0xba, 0xd0, 0x03, 0xe5, 0x49, + 0xd6, 0xf7, 0xd0, 0x7e, 0x0e, 0xd8, 0x2d, 0xe6, 0x64, 0x92, 0x93, 0x93, + 0x3e, 0xb2, 0xeb, 0xcf, 0x08, 0x99, 0xcc, 0x27, 0xc9, 0x14, 0xc2, 0x39, + 0xad, 0x1e, 0xbf, 0x12, +}; +static const struct drbg_kat_pr_false kat2529_t = { + 8, kat2529_entropyin, kat2529_nonce, kat2529_persstr, + kat2529_entropyinreseed, kat2529_addinreseed, kat2529_addin0, + kat2529_addin1, kat2529_retbits +}; +static const struct drbg_kat kat2529 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2529_t +}; + +static const unsigned char kat2530_entropyin[] = { + 0x04, 0xd3, 0xc8, 0x45, 0x28, 0xef, 0x14, 0xf0, 0x37, 0x76, 0x89, 0x51, + 0xad, 0x8c, 0x11, 0xfd, 0x57, 0x67, 0x32, 0x14, 0x5d, 0x94, 0x6f, 0x9a, + 0xc7, 0x3c, 0xfc, 0xcf, 0x7b, 0x49, 0x8c, 0x9a, 0x1d, 0xfc, 0x8b, 0x21, + 0x6d, 0x32, 0x82, 0x27, +}; +static const unsigned char kat2530_nonce[] = {0}; +static const unsigned char kat2530_persstr[] = {0}; +static const unsigned char kat2530_entropyinreseed[] = { + 0x63, 0xa8, 0xe9, 0x19, 0x6b, 0xa0, 0x1b, 0x6e, 0x60, 0xcc, 0x01, 0x8f, + 0x77, 0x56, 0x9c, 0x42, 0xf2, 0x43, 0x4b, 0xcd, 0xbb, 0xef, 0xf1, 0x9f, + 0x44, 0x1b, 0xf0, 0x24, 0x07, 0x5c, 0x27, 0x3e, 0xf8, 0x60, 0xfd, 0xf2, + 0x3a, 0x31, 0x0b, 0x3e, +}; +static const unsigned char kat2530_addinreseed[] = {0}; +static const unsigned char kat2530_addin0[] = {0}; +static const unsigned char kat2530_addin1[] = {0}; +static const unsigned char kat2530_retbits[] = { + 0x2a, 0xa2, 0xa6, 0x5b, 0x1c, 0xe5, 0x7c, 0xb3, 0xc7, 0x80, 0x1d, 0x2e, + 0x67, 0x5e, 0xff, 0xdb, 0x54, 0x6f, 0x61, 0x2f, 0xb7, 0x34, 0x83, 0x62, + 0x2a, 0x8d, 0xbe, 0x4b, 0x1d, 0x31, 0x63, 0xbc, 0x93, 0x03, 0xbc, 0x9e, + 0x9b, 0x7f, 0xe6, 0xd8, 0x66, 0xc1, 0x90, 0x6b, 0x1e, 0xbb, 0xa5, 0x41, + 0x8b, 0x00, 0x69, 0x11, 0x85, 0x17, 0x58, 0x7d, 0xdc, 0xff, 0x48, 0x0f, + 0x04, 0xb9, 0x32, 0xe9, +}; +static const struct drbg_kat_pr_false kat2530_t = { + 9, kat2530_entropyin, kat2530_nonce, kat2530_persstr, + kat2530_entropyinreseed, kat2530_addinreseed, kat2530_addin0, + kat2530_addin1, kat2530_retbits +}; +static const struct drbg_kat kat2530 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2530_t +}; + +static const unsigned char kat2531_entropyin[] = { + 0x05, 0x1d, 0x3d, 0xe5, 0x14, 0x8c, 0x91, 0x7c, 0xf1, 0x9d, 0xa7, 0xd6, + 0xb9, 0xb4, 0xa5, 0x0b, 0xe6, 0x15, 0xce, 0x35, 0x74, 0xe7, 0x44, 0x88, + 0xd6, 0x07, 0x5d, 0x6a, 0xd5, 0x6c, 0x05, 0x67, 0x2f, 0xc4, 0xa2, 0xfe, + 0xcc, 0x1a, 0xe9, 0x0d, +}; +static const unsigned char kat2531_nonce[] = {0}; +static const unsigned char kat2531_persstr[] = {0}; +static const unsigned char kat2531_entropyinreseed[] = { + 0xb8, 0xc4, 0x18, 0x30, 0xf3, 0xbf, 0xf0, 0x77, 0x35, 0x81, 0xf8, 0x8c, + 0x4e, 0x68, 0x6a, 0xb2, 0x56, 0x81, 0xac, 0x0b, 0x82, 0x18, 0xb1, 0xb9, + 0x00, 0xbc, 0x01, 0x2f, 0xe6, 0xc4, 0x3c, 0xbd, 0x88, 0xe6, 0x81, 0xbf, + 0x85, 0xaf, 0xa6, 0xd9, +}; +static const unsigned char kat2531_addinreseed[] = {0}; +static const unsigned char kat2531_addin0[] = {0}; +static const unsigned char kat2531_addin1[] = {0}; +static const unsigned char kat2531_retbits[] = { + 0x3d, 0x01, 0x3e, 0xcd, 0xe7, 0xfe, 0xa9, 0x99, 0x99, 0x7c, 0x89, 0xd4, + 0xe6, 0x75, 0xd6, 0xf4, 0x84, 0x1f, 0x61, 0x29, 0x3e, 0x21, 0xc6, 0xa2, + 0x52, 0xae, 0xdf, 0x04, 0xb5, 0x78, 0x09, 0xd4, 0x7b, 0xd8, 0x71, 0x6e, + 0x77, 0x94, 0x79, 0x05, 0x59, 0xa4, 0xd7, 0xba, 0x5c, 0x68, 0x68, 0xe3, + 0x59, 0x4b, 0x3d, 0xb8, 0x08, 0x0d, 0x50, 0x6c, 0xf4, 0xf6, 0x3f, 0xe7, + 0x02, 0x8f, 0x6f, 0xac, +}; +static const struct drbg_kat_pr_false kat2531_t = { + 10, kat2531_entropyin, kat2531_nonce, kat2531_persstr, + kat2531_entropyinreseed, kat2531_addinreseed, kat2531_addin0, + kat2531_addin1, kat2531_retbits +}; +static const struct drbg_kat kat2531 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2531_t +}; + +static const unsigned char kat2532_entropyin[] = { + 0x7a, 0x06, 0x77, 0x84, 0xb0, 0xc4, 0xe2, 0x41, 0x78, 0xbf, 0x7d, 0xe6, + 0x73, 0x2e, 0x2f, 0x2c, 0x34, 0x5f, 0x9e, 0x93, 0x8c, 0xcb, 0xfb, 0x7c, + 0x80, 0x40, 0x7b, 0x26, 0x7a, 0x30, 0x54, 0x69, 0xac, 0x08, 0xf7, 0x37, + 0x02, 0x8c, 0x0f, 0x83, +}; +static const unsigned char kat2532_nonce[] = {0}; +static const unsigned char kat2532_persstr[] = {0}; +static const unsigned char kat2532_entropyinreseed[] = { + 0x45, 0x2e, 0xf0, 0xdc, 0xad, 0xe2, 0x81, 0x6f, 0x27, 0xaa, 0x2e, 0xcf, + 0x99, 0x12, 0x37, 0xec, 0x95, 0x26, 0xd4, 0x15, 0x64, 0x92, 0xea, 0x10, + 0xe3, 0x7a, 0x3e, 0x89, 0xcd, 0x94, 0xd2, 0x76, 0xab, 0x1a, 0xee, 0x87, + 0x8c, 0xcf, 0xe1, 0xfd, +}; +static const unsigned char kat2532_addinreseed[] = {0}; +static const unsigned char kat2532_addin0[] = {0}; +static const unsigned char kat2532_addin1[] = {0}; +static const unsigned char kat2532_retbits[] = { + 0x78, 0x13, 0x24, 0xc8, 0x89, 0x48, 0x07, 0x04, 0x64, 0x8c, 0xb8, 0x65, + 0x89, 0x6d, 0x4f, 0x3b, 0x45, 0x23, 0x2a, 0xde, 0x00, 0x49, 0x69, 0xd4, + 0x6c, 0x71, 0xe2, 0x54, 0x28, 0x56, 0xab, 0x41, 0x2e, 0x35, 0xff, 0x11, + 0x28, 0x03, 0xd1, 0x32, 0x27, 0xce, 0x03, 0x79, 0x41, 0xd1, 0xf7, 0xf1, + 0xfb, 0xcb, 0xd0, 0x93, 0xd1, 0xf2, 0xca, 0x90, 0x63, 0x5c, 0x0f, 0x32, + 0x0a, 0x90, 0x80, 0x99, +}; +static const struct drbg_kat_pr_false kat2532_t = { + 11, kat2532_entropyin, kat2532_nonce, kat2532_persstr, + kat2532_entropyinreseed, kat2532_addinreseed, kat2532_addin0, + kat2532_addin1, kat2532_retbits +}; +static const struct drbg_kat kat2532 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2532_t +}; + +static const unsigned char kat2533_entropyin[] = { + 0x03, 0xc2, 0x3f, 0x20, 0x18, 0xe6, 0x8d, 0xa9, 0x64, 0xae, 0x77, 0xbd, + 0xb6, 0x31, 0xee, 0xa2, 0x94, 0x73, 0xea, 0x76, 0x2c, 0x8a, 0xbf, 0x8f, + 0xb5, 0x41, 0x8f, 0xe2, 0x68, 0x1f, 0x62, 0xc9, 0x90, 0xd3, 0x9d, 0x2e, + 0x58, 0xc6, 0x13, 0x7e, +}; +static const unsigned char kat2533_nonce[] = {0}; +static const unsigned char kat2533_persstr[] = {0}; +static const unsigned char kat2533_entropyinreseed[] = { + 0x2c, 0x17, 0xc1, 0xdf, 0xe4, 0xba, 0x63, 0x5d, 0x4c, 0x36, 0x1f, 0x21, + 0x7c, 0x25, 0xaf, 0x20, 0x61, 0x91, 0x2e, 0xf6, 0xc7, 0x81, 0xf1, 0x52, + 0x8a, 0x8d, 0xa2, 0xbd, 0x21, 0xb0, 0x83, 0xc4, 0x35, 0x33, 0x2f, 0x30, + 0x62, 0xbb, 0x4f, 0x8c, +}; +static const unsigned char kat2533_addinreseed[] = {0}; +static const unsigned char kat2533_addin0[] = {0}; +static const unsigned char kat2533_addin1[] = {0}; +static const unsigned char kat2533_retbits[] = { + 0xa5, 0x2d, 0x85, 0x42, 0x03, 0xc3, 0xda, 0xd0, 0x7a, 0x3c, 0xaf, 0x08, + 0x91, 0x31, 0xca, 0xa0, 0x1f, 0x4a, 0x19, 0xe0, 0xf6, 0x8b, 0xd7, 0x0c, + 0x4a, 0x11, 0xca, 0xc4, 0xb4, 0x76, 0xec, 0x64, 0x64, 0x7a, 0x5b, 0x3a, + 0xfe, 0xfa, 0x37, 0x7d, 0x3d, 0x16, 0x52, 0x5a, 0xb5, 0xc6, 0x39, 0xc9, + 0x70, 0x2d, 0xdb, 0x14, 0x40, 0xb5, 0x0d, 0xd2, 0xa8, 0x05, 0x97, 0xaa, + 0xe3, 0xbf, 0xce, 0xd0, +}; +static const struct drbg_kat_pr_false kat2533_t = { + 12, kat2533_entropyin, kat2533_nonce, kat2533_persstr, + kat2533_entropyinreseed, kat2533_addinreseed, kat2533_addin0, + kat2533_addin1, kat2533_retbits +}; +static const struct drbg_kat kat2533 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2533_t +}; + +static const unsigned char kat2534_entropyin[] = { + 0xc5, 0x34, 0xc4, 0x4f, 0x2c, 0x40, 0xf3, 0xab, 0x41, 0x14, 0x31, 0x02, + 0xd9, 0x73, 0xb7, 0xe9, 0x88, 0x90, 0xf1, 0x0d, 0x63, 0x3a, 0xaf, 0x53, + 0x54, 0xaf, 0x6b, 0xb6, 0x3a, 0x01, 0xc2, 0x9b, 0x51, 0x46, 0x6a, 0x21, + 0x29, 0x2e, 0xb3, 0xaa, +}; +static const unsigned char kat2534_nonce[] = {0}; +static const unsigned char kat2534_persstr[] = {0}; +static const unsigned char kat2534_entropyinreseed[] = { + 0x27, 0xa3, 0x43, 0x42, 0x65, 0xa1, 0xd4, 0xff, 0x62, 0x04, 0x6b, 0xbb, + 0x29, 0x40, 0x95, 0xca, 0xc6, 0x42, 0x4a, 0xa1, 0x2d, 0x2c, 0x20, 0x89, + 0x5c, 0x69, 0xee, 0xde, 0x91, 0x2d, 0xf0, 0xe6, 0xc5, 0xb4, 0x88, 0x64, + 0x84, 0x90, 0xeb, 0xf2, +}; +static const unsigned char kat2534_addinreseed[] = {0}; +static const unsigned char kat2534_addin0[] = {0}; +static const unsigned char kat2534_addin1[] = {0}; +static const unsigned char kat2534_retbits[] = { + 0x01, 0xb4, 0x05, 0xcb, 0x89, 0xa3, 0x14, 0x03, 0xf0, 0x1a, 0xdd, 0x2a, + 0x4f, 0x85, 0x4f, 0xd2, 0x6d, 0xfd, 0xd8, 0x42, 0xd0, 0xde, 0xc8, 0x5d, + 0x94, 0x9f, 0x46, 0xa0, 0xfc, 0x80, 0x80, 0x70, 0xc7, 0x5a, 0xc9, 0xe9, + 0x71, 0x6e, 0xba, 0x34, 0x1d, 0x44, 0x76, 0xb9, 0xef, 0x2c, 0xaa, 0x32, + 0xe8, 0x37, 0xf6, 0x73, 0x89, 0x00, 0xf1, 0x83, 0x22, 0xdd, 0x5b, 0x84, + 0xa3, 0x86, 0x65, 0x7b, +}; +static const struct drbg_kat_pr_false kat2534_t = { + 13, kat2534_entropyin, kat2534_nonce, kat2534_persstr, + kat2534_entropyinreseed, kat2534_addinreseed, kat2534_addin0, + kat2534_addin1, kat2534_retbits +}; +static const struct drbg_kat kat2534 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2534_t +}; + +static const unsigned char kat2535_entropyin[] = { + 0x8f, 0x52, 0x35, 0xda, 0x70, 0x8c, 0xb1, 0x57, 0x81, 0xdb, 0x85, 0xdd, + 0xc1, 0x41, 0xea, 0xcc, 0x65, 0x4d, 0x93, 0xf8, 0xc2, 0x11, 0xae, 0x71, + 0x8d, 0xf2, 0x2e, 0xd7, 0xba, 0xe7, 0xba, 0x5f, 0x2d, 0x5e, 0x9b, 0x00, + 0x6e, 0xc3, 0x6a, 0x21, +}; +static const unsigned char kat2535_nonce[] = {0}; +static const unsigned char kat2535_persstr[] = {0}; +static const unsigned char kat2535_entropyinreseed[] = { + 0xe6, 0xcf, 0x01, 0xb0, 0xcf, 0x99, 0x31, 0xde, 0xd0, 0xae, 0x50, 0xbd, + 0x0e, 0x10, 0x92, 0xcf, 0x79, 0x22, 0x13, 0x97, 0xf2, 0x85, 0x0d, 0x31, + 0x39, 0x0d, 0xb3, 0x3a, 0xe0, 0x50, 0x72, 0xad, 0x0e, 0x67, 0xcd, 0xe6, + 0xf3, 0xc4, 0x38, 0xba, +}; +static const unsigned char kat2535_addinreseed[] = {0}; +static const unsigned char kat2535_addin0[] = {0}; +static const unsigned char kat2535_addin1[] = {0}; +static const unsigned char kat2535_retbits[] = { + 0x7a, 0x00, 0x67, 0x5e, 0x1a, 0x9b, 0x52, 0x4d, 0xad, 0xc1, 0xb3, 0x56, + 0xb2, 0x2c, 0x46, 0xc6, 0x74, 0x71, 0x47, 0xed, 0x73, 0x66, 0x39, 0x73, + 0x9b, 0xbf, 0x76, 0x1e, 0xd9, 0xb9, 0x17, 0x67, 0x02, 0x38, 0xec, 0x00, + 0x13, 0x87, 0xb7, 0xcf, 0x3c, 0x91, 0xa5, 0x8a, 0x81, 0xec, 0x09, 0xc1, + 0x48, 0x73, 0x13, 0x05, 0x8b, 0x6c, 0x26, 0xce, 0x61, 0xd5, 0x78, 0x52, + 0x69, 0xa1, 0xd8, 0xe3, +}; +static const struct drbg_kat_pr_false kat2535_t = { + 14, kat2535_entropyin, kat2535_nonce, kat2535_persstr, + kat2535_entropyinreseed, kat2535_addinreseed, kat2535_addin0, + kat2535_addin1, kat2535_retbits +}; +static const struct drbg_kat kat2535 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2535_t +}; + +static const unsigned char kat2536_entropyin[] = { + 0x46, 0x8f, 0x1a, 0xab, 0x11, 0x00, 0x44, 0x62, 0xb9, 0xb1, 0x0a, 0xe9, + 0xac, 0x99, 0xfd, 0x61, 0x1c, 0xaf, 0x27, 0x89, 0xb6, 0xf8, 0x2f, 0x4b, + 0x60, 0x79, 0x46, 0x7c, 0x01, 0xe5, 0x70, 0x28, 0x80, 0x37, 0x1a, 0x30, + 0x71, 0x4e, 0x49, 0xdb, +}; +static const unsigned char kat2536_nonce[] = {0}; +static const unsigned char kat2536_persstr[] = {0}; +static const unsigned char kat2536_entropyinreseed[] = { + 0x35, 0xd0, 0x7a, 0x1b, 0x48, 0x7c, 0x5a, 0xae, 0x93, 0x90, 0xe9, 0x22, + 0x17, 0x9e, 0xac, 0x60, 0x2a, 0xf2, 0x0b, 0x97, 0x66, 0xcc, 0x7f, 0xdf, + 0x9c, 0x11, 0x25, 0x6a, 0x6f, 0xbb, 0xc6, 0xe9, 0x8e, 0x50, 0xe7, 0x81, + 0xda, 0x06, 0x3f, 0x08, +}; +static const unsigned char kat2536_addinreseed[] = { + 0xaf, 0xf8, 0xf3, 0x26, 0xa7, 0x72, 0xbd, 0xa7, 0xa2, 0xbc, 0x3d, 0x94, + 0xc0, 0x58, 0xd0, 0xee, 0xdf, 0x94, 0x5a, 0x9a, 0xe2, 0xd9, 0x09, 0x28, + 0x0b, 0xa4, 0x11, 0xc3, 0x16, 0x40, 0x31, 0x54, 0x67, 0xdb, 0x60, 0x19, + 0xbb, 0x06, 0xe0, 0x46, +}; +static const unsigned char kat2536_addin0[] = { + 0xd6, 0x0c, 0x0e, 0xc8, 0x39, 0x5b, 0x7a, 0xe9, 0x4f, 0xd3, 0x61, 0xf8, + 0x89, 0x53, 0xed, 0xe3, 0xae, 0xfc, 0xeb, 0xc3, 0xaa, 0x6a, 0xb7, 0x03, + 0xb8, 0xe6, 0xdf, 0x2b, 0x8b, 0xbd, 0xa5, 0x41, 0x93, 0x13, 0x7b, 0xd3, + 0xcb, 0x45, 0xa2, 0x27, +}; +static const unsigned char kat2536_addin1[] = { + 0xc0, 0x29, 0xd1, 0x4e, 0x0d, 0x0b, 0x58, 0x0b, 0x96, 0x7c, 0x99, 0x43, + 0xb5, 0xd7, 0x02, 0x2d, 0x56, 0x45, 0x14, 0xbc, 0x57, 0xed, 0x64, 0x1e, + 0x49, 0x41, 0x95, 0x93, 0xa9, 0xcc, 0x02, 0xf7, 0xf0, 0x9c, 0x32, 0xd4, + 0x41, 0x10, 0x51, 0xb3, +}; +static const unsigned char kat2536_retbits[] = { + 0x87, 0x73, 0x86, 0xa5, 0x26, 0x4c, 0x46, 0xd3, 0xd5, 0xbe, 0x4a, 0x47, + 0xd9, 0xc2, 0x2d, 0x72, 0x22, 0xce, 0x46, 0xd2, 0xd6, 0xf4, 0xe9, 0x59, + 0x99, 0xce, 0x35, 0xa1, 0x8a, 0x1a, 0x03, 0x11, 0x3b, 0x7b, 0x36, 0xc5, + 0x29, 0xd7, 0x4c, 0x57, 0x7b, 0xde, 0x27, 0xc7, 0x00, 0xd7, 0x51, 0x48, + 0xaf, 0x99, 0xa4, 0x88, 0xf7, 0x1e, 0x40, 0x00, 0x9b, 0x94, 0x4c, 0x95, + 0xb8, 0x87, 0x1c, 0x4a, +}; +static const struct drbg_kat_pr_false kat2536_t = { + 0, kat2536_entropyin, kat2536_nonce, kat2536_persstr, + kat2536_entropyinreseed, kat2536_addinreseed, kat2536_addin0, + kat2536_addin1, kat2536_retbits +}; +static const struct drbg_kat kat2536 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2536_t +}; + +static const unsigned char kat2537_entropyin[] = { + 0xef, 0x79, 0x6a, 0x2f, 0x0f, 0x8c, 0x53, 0xfb, 0x7f, 0x47, 0x48, 0x4b, + 0xf2, 0x5f, 0x47, 0x78, 0x40, 0x25, 0x0c, 0xf1, 0xcd, 0xf0, 0xe9, 0x4e, + 0xde, 0xf3, 0x41, 0xef, 0xec, 0xc9, 0xd9, 0xa6, 0xfc, 0x7d, 0x7c, 0xa9, + 0x3b, 0x4b, 0xda, 0x22, +}; +static const unsigned char kat2537_nonce[] = {0}; +static const unsigned char kat2537_persstr[] = {0}; +static const unsigned char kat2537_entropyinreseed[] = { + 0x35, 0x41, 0x57, 0x51, 0xf3, 0xd0, 0x57, 0x0d, 0xac, 0x1e, 0x12, 0xd8, + 0x37, 0x0c, 0xaa, 0xb6, 0x8e, 0x07, 0x9e, 0x7d, 0xaa, 0xe5, 0x5f, 0x17, + 0x43, 0xd0, 0x37, 0xc7, 0xe3, 0xf3, 0xf7, 0x17, 0xd4, 0x42, 0x36, 0x4e, + 0xeb, 0x0f, 0xec, 0xfa, +}; +static const unsigned char kat2537_addinreseed[] = { + 0xcf, 0x4e, 0x41, 0x81, 0x19, 0x10, 0x3b, 0xbc, 0xec, 0x94, 0x01, 0xd6, + 0xd4, 0x85, 0xc4, 0xfb, 0xe4, 0x60, 0x0c, 0xa5, 0xca, 0x09, 0xbb, 0x19, + 0x63, 0xdb, 0xcb, 0x69, 0x98, 0x14, 0x0e, 0x6a, 0xcb, 0x48, 0x39, 0x6e, + 0x41, 0x26, 0x2b, 0xc0, +}; +static const unsigned char kat2537_addin0[] = { + 0xb1, 0xa8, 0x16, 0xa6, 0xf1, 0xea, 0x50, 0xe4, 0xf1, 0xcf, 0xe8, 0xe4, + 0xb0, 0x32, 0xa9, 0xe2, 0xfa, 0x8a, 0x6d, 0x13, 0x5b, 0x68, 0x9f, 0x9a, + 0x2f, 0x2e, 0x62, 0x3c, 0x35, 0x7a, 0x2d, 0xe4, 0x44, 0xbc, 0xc6, 0xb8, + 0xac, 0xb1, 0xcd, 0x46, +}; +static const unsigned char kat2537_addin1[] = { + 0xba, 0xd2, 0xba, 0x37, 0x2d, 0x51, 0x1b, 0x85, 0x0c, 0x44, 0x9b, 0xf3, + 0xbe, 0x9d, 0x43, 0xe2, 0xe7, 0x48, 0xab, 0x08, 0x38, 0x5a, 0x03, 0x89, + 0x8e, 0x3c, 0x44, 0x83, 0x1b, 0xf1, 0x8c, 0x56, 0x78, 0xc0, 0x76, 0x98, + 0xae, 0x9f, 0xea, 0x33, +}; +static const unsigned char kat2537_retbits[] = { + 0x68, 0x12, 0xcb, 0x6a, 0x73, 0x4d, 0x0a, 0x0e, 0xf5, 0x57, 0x1a, 0x28, + 0xb2, 0xe0, 0x1e, 0xca, 0xb0, 0xf6, 0x5a, 0x18, 0x7f, 0x9e, 0x25, 0x1e, + 0x16, 0x20, 0x89, 0x0e, 0x43, 0xff, 0x04, 0x75, 0x1e, 0xd5, 0xb3, 0x2e, + 0xbb, 0x5b, 0xb6, 0x5e, 0xf0, 0x93, 0xfe, 0xe9, 0xa0, 0x8b, 0x45, 0x58, + 0xaf, 0x1b, 0xef, 0x86, 0x2a, 0xba, 0xba, 0x69, 0x0f, 0x41, 0x10, 0x26, + 0x23, 0x51, 0x10, 0xa1, +}; +static const struct drbg_kat_pr_false kat2537_t = { + 1, kat2537_entropyin, kat2537_nonce, kat2537_persstr, + kat2537_entropyinreseed, kat2537_addinreseed, kat2537_addin0, + kat2537_addin1, kat2537_retbits +}; +static const struct drbg_kat kat2537 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2537_t +}; + +static const unsigned char kat2538_entropyin[] = { + 0x0d, 0x3d, 0xcd, 0x91, 0x32, 0x93, 0x69, 0x27, 0x86, 0x1f, 0xa0, 0x11, + 0xf4, 0x1e, 0x96, 0x55, 0x35, 0x4e, 0xcf, 0xd4, 0xb0, 0x8f, 0xb7, 0xa9, + 0x19, 0xa9, 0xeb, 0x68, 0xd8, 0x05, 0x70, 0xd2, 0x92, 0xcb, 0x68, 0xc9, + 0x9b, 0xdd, 0xf3, 0x93, +}; +static const unsigned char kat2538_nonce[] = {0}; +static const unsigned char kat2538_persstr[] = {0}; +static const unsigned char kat2538_entropyinreseed[] = { + 0x52, 0x9b, 0x66, 0xc2, 0xb3, 0x04, 0x49, 0xda, 0xc1, 0x47, 0x6f, 0xc1, + 0x71, 0xe1, 0xe8, 0xa7, 0x41, 0xe9, 0x19, 0x1d, 0x26, 0x58, 0xa9, 0x29, + 0x11, 0xb6, 0x78, 0xf2, 0x4e, 0x01, 0x04, 0x3a, 0x6e, 0xbd, 0x47, 0x99, + 0x7f, 0xd3, 0x6d, 0xfb, +}; +static const unsigned char kat2538_addinreseed[] = { + 0x9d, 0x11, 0x75, 0xe0, 0x05, 0xd6, 0x36, 0xe9, 0x98, 0x84, 0x49, 0xf5, + 0x63, 0x87, 0x3c, 0x0e, 0x74, 0x65, 0x59, 0x0c, 0x83, 0xa3, 0x60, 0xd2, + 0xb1, 0xb7, 0xe4, 0xd5, 0x53, 0xef, 0x8d, 0xec, 0x11, 0x22, 0x9f, 0xb0, + 0x20, 0x74, 0xad, 0x54, +}; +static const unsigned char kat2538_addin0[] = { + 0xf2, 0xc1, 0x1e, 0x04, 0x77, 0x9d, 0x4f, 0x0d, 0x0c, 0x1e, 0xdf, 0x71, + 0xb6, 0xf5, 0xb3, 0x5c, 0xbe, 0x60, 0x8e, 0xb0, 0x22, 0x73, 0x11, 0xb7, + 0x78, 0x55, 0x9a, 0x0f, 0x4f, 0x8d, 0x78, 0x7f, 0xfa, 0x30, 0x29, 0x74, + 0x42, 0x72, 0x6e, 0x8e, +}; +static const unsigned char kat2538_addin1[] = { + 0x95, 0x98, 0xfd, 0xe7, 0x86, 0xf3, 0x83, 0x15, 0xf8, 0xa4, 0xe7, 0xb0, + 0x73, 0xed, 0x5d, 0x9f, 0xa5, 0xde, 0x96, 0xea, 0xd5, 0xc5, 0x81, 0xa2, + 0x16, 0x14, 0xad, 0x99, 0x02, 0x87, 0x8f, 0x3c, 0xe2, 0x9e, 0xc1, 0xa8, + 0x01, 0x80, 0xb7, 0x06, +}; +static const unsigned char kat2538_retbits[] = { + 0xfa, 0x69, 0x9f, 0x7b, 0xc4, 0xc8, 0x0f, 0x3a, 0xe3, 0x0e, 0xde, 0x84, + 0x23, 0xdd, 0x1b, 0x8e, 0x51, 0xac, 0x64, 0x37, 0x7b, 0x78, 0x0c, 0x57, + 0x5e, 0xc6, 0x04, 0x22, 0xed, 0x69, 0x62, 0xfa, 0x28, 0xf5, 0x9d, 0x3d, + 0x76, 0xd7, 0xc9, 0x9c, 0xd5, 0xa4, 0xe1, 0xc8, 0xf9, 0x81, 0x08, 0x90, + 0x6f, 0x0e, 0x18, 0xa7, 0xd3, 0x22, 0xda, 0x94, 0xc3, 0x27, 0x8f, 0xfd, + 0xc9, 0x38, 0x80, 0x65, +}; +static const struct drbg_kat_pr_false kat2538_t = { + 2, kat2538_entropyin, kat2538_nonce, kat2538_persstr, + kat2538_entropyinreseed, kat2538_addinreseed, kat2538_addin0, + kat2538_addin1, kat2538_retbits +}; +static const struct drbg_kat kat2538 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2538_t +}; + +static const unsigned char kat2539_entropyin[] = { + 0x10, 0x16, 0xb7, 0x94, 0x81, 0x1a, 0xd9, 0x11, 0x52, 0x3e, 0xcf, 0x67, + 0x87, 0xbc, 0x73, 0x2e, 0x07, 0x6d, 0x28, 0x2f, 0x24, 0xfd, 0xa4, 0x3f, + 0x3e, 0x55, 0x5a, 0x52, 0x2c, 0x83, 0x09, 0xf3, 0x33, 0x18, 0xee, 0x7f, + 0x8e, 0xb1, 0x7b, 0xf1, +}; +static const unsigned char kat2539_nonce[] = {0}; +static const unsigned char kat2539_persstr[] = {0}; +static const unsigned char kat2539_entropyinreseed[] = { + 0x17, 0xb2, 0x57, 0xde, 0x3a, 0x39, 0xed, 0x8f, 0xf9, 0xee, 0xe5, 0x1d, + 0x82, 0x16, 0x7c, 0x59, 0x79, 0xaf, 0xa6, 0x11, 0xc9, 0xe6, 0x87, 0x66, + 0xaf, 0x09, 0x58, 0xe4, 0x0b, 0x0a, 0x68, 0x3b, 0x82, 0x0d, 0x86, 0xbb, + 0x7d, 0xb0, 0x6e, 0xc7, +}; +static const unsigned char kat2539_addinreseed[] = { + 0xc6, 0xa4, 0xbc, 0x11, 0x70, 0x9c, 0x17, 0x0a, 0xe1, 0x38, 0xfd, 0x20, + 0xaf, 0xd8, 0x17, 0x09, 0x60, 0x45, 0xdf, 0x3b, 0x27, 0xe6, 0x70, 0x61, + 0x51, 0xcf, 0x28, 0x35, 0x3c, 0x52, 0x59, 0x89, 0xf8, 0xee, 0xc4, 0xb5, + 0x93, 0xac, 0x02, 0xc0, +}; +static const unsigned char kat2539_addin0[] = { + 0x22, 0xff, 0x28, 0xb8, 0x30, 0x4f, 0xd7, 0x22, 0x24, 0x17, 0xab, 0x5e, + 0x77, 0xf3, 0x19, 0x36, 0x4c, 0x12, 0x32, 0xb8, 0x1f, 0x73, 0x37, 0x42, + 0x2e, 0x7e, 0x34, 0x6a, 0x47, 0xa8, 0x12, 0xe7, 0xa4, 0xdd, 0xde, 0xe7, + 0xc9, 0x54, 0x0c, 0x3b, +}; +static const unsigned char kat2539_addin1[] = { + 0xae, 0x68, 0xf6, 0x46, 0x69, 0xbb, 0xf6, 0x90, 0xc5, 0x2f, 0xbf, 0xdf, + 0x00, 0xb9, 0x4b, 0xec, 0x7c, 0xd5, 0x6d, 0x34, 0x7c, 0x12, 0xb1, 0x95, + 0x62, 0x05, 0x15, 0xee, 0x28, 0x66, 0x24, 0x4f, 0xc2, 0x7b, 0x77, 0x72, + 0x8c, 0xc5, 0x5d, 0x0c, +}; +static const unsigned char kat2539_retbits[] = { + 0x6d, 0x26, 0xa7, 0xc1, 0xf5, 0xc9, 0x57, 0x96, 0xb5, 0x55, 0x87, 0x31, + 0x49, 0x11, 0xaf, 0x73, 0xf3, 0x8d, 0x04, 0x1d, 0xd2, 0xfa, 0xcb, 0x6c, + 0xb1, 0x0b, 0x9a, 0xf6, 0x55, 0xfa, 0x32, 0x66, 0xd3, 0x1b, 0xaa, 0xf9, + 0x67, 0xa3, 0x81, 0x0b, 0x7b, 0xbe, 0xbb, 0xbc, 0x55, 0x31, 0x3c, 0x9b, + 0x15, 0xdf, 0x81, 0xd6, 0xf2, 0xd6, 0x36, 0x24, 0xa8, 0x50, 0x1f, 0xb9, + 0x36, 0xa8, 0x40, 0x23, +}; +static const struct drbg_kat_pr_false kat2539_t = { + 3, kat2539_entropyin, kat2539_nonce, kat2539_persstr, + kat2539_entropyinreseed, kat2539_addinreseed, kat2539_addin0, + kat2539_addin1, kat2539_retbits +}; +static const struct drbg_kat kat2539 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2539_t +}; + +static const unsigned char kat2540_entropyin[] = { + 0x05, 0xf7, 0x73, 0x72, 0x3c, 0xb3, 0x0a, 0x2f, 0xa2, 0x14, 0xaa, 0x5f, + 0x33, 0xe7, 0xb8, 0xfa, 0x20, 0xd7, 0x33, 0x05, 0x4c, 0x41, 0xdd, 0xea, + 0xb3, 0xf3, 0xda, 0x99, 0x42, 0x87, 0x21, 0xab, 0x06, 0x72, 0x6d, 0xf0, + 0x7c, 0x49, 0x96, 0x13, +}; +static const unsigned char kat2540_nonce[] = {0}; +static const unsigned char kat2540_persstr[] = {0}; +static const unsigned char kat2540_entropyinreseed[] = { + 0x71, 0x84, 0xc3, 0xb9, 0x24, 0xa3, 0x48, 0x72, 0x32, 0xf7, 0x1d, 0x03, + 0xdc, 0x93, 0x34, 0xde, 0xee, 0x5c, 0x3b, 0xe7, 0x09, 0x13, 0x17, 0x3e, + 0x20, 0x8d, 0x07, 0xe2, 0xe0, 0x26, 0xc3, 0x72, 0xb8, 0x77, 0x0e, 0xcd, + 0x79, 0xf4, 0xa5, 0x41, +}; +static const unsigned char kat2540_addinreseed[] = { + 0x3d, 0x1b, 0x6f, 0xc6, 0xa8, 0x2f, 0x36, 0x92, 0xab, 0xd4, 0xfb, 0xaa, + 0xde, 0x89, 0xdc, 0x3d, 0xe9, 0xa8, 0xb5, 0xa6, 0x11, 0x67, 0xbe, 0xe1, + 0x4c, 0x9a, 0xb0, 0x1b, 0x3c, 0x2c, 0x36, 0x2c, 0x9d, 0xe5, 0xd8, 0x30, + 0xb8, 0xcc, 0xe7, 0xcc, +}; +static const unsigned char kat2540_addin0[] = { + 0x3d, 0x48, 0xd2, 0x96, 0x78, 0x3d, 0x12, 0x3b, 0xdb, 0x96, 0xee, 0x19, + 0xfe, 0x31, 0x35, 0xc9, 0xf9, 0x92, 0x35, 0xe5, 0x6c, 0x49, 0xbc, 0x6a, + 0xab, 0x29, 0x05, 0xd8, 0x1f, 0x53, 0x96, 0xb4, 0x62, 0x06, 0x63, 0x9d, + 0xb1, 0x29, 0x44, 0xba, +}; +static const unsigned char kat2540_addin1[] = { + 0x43, 0x0c, 0xb5, 0x33, 0x07, 0x55, 0x94, 0x07, 0xed, 0x1b, 0x3c, 0xc2, + 0x84, 0x97, 0xb7, 0xf4, 0x0c, 0x36, 0x34, 0x95, 0xff, 0xd7, 0x05, 0x6d, + 0xc5, 0xd8, 0x54, 0x43, 0x21, 0xa7, 0x95, 0xca, 0x30, 0x13, 0x84, 0xd8, + 0xea, 0x28, 0x3d, 0x66, +}; +static const unsigned char kat2540_retbits[] = { + 0xe8, 0x43, 0xf8, 0x86, 0x22, 0x06, 0xb6, 0x2e, 0xdd, 0x51, 0xeb, 0xf2, + 0x80, 0x17, 0x88, 0x70, 0x1c, 0xf8, 0x47, 0x0a, 0x95, 0xce, 0x46, 0x93, + 0x90, 0x15, 0x4c, 0xb0, 0x4e, 0x25, 0xa0, 0x43, 0x14, 0xa8, 0x23, 0x27, + 0xa6, 0xf6, 0x53, 0x99, 0x30, 0x96, 0xd6, 0xd2, 0x4b, 0x5d, 0x5e, 0xdf, + 0x8e, 0x17, 0x01, 0x31, 0xc7, 0xb4, 0xe7, 0xe0, 0x5e, 0x5d, 0x4c, 0x6b, + 0x29, 0xac, 0xe3, 0x5a, +}; +static const struct drbg_kat_pr_false kat2540_t = { + 4, kat2540_entropyin, kat2540_nonce, kat2540_persstr, + kat2540_entropyinreseed, kat2540_addinreseed, kat2540_addin0, + kat2540_addin1, kat2540_retbits +}; +static const struct drbg_kat kat2540 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2540_t +}; + +static const unsigned char kat2541_entropyin[] = { + 0x8a, 0x94, 0x5a, 0x85, 0x07, 0xc3, 0xd6, 0x12, 0x7b, 0x48, 0x78, 0x7d, + 0x1a, 0x6d, 0x89, 0x90, 0x5c, 0x7c, 0x26, 0x25, 0xb5, 0x7e, 0xed, 0x6c, + 0x92, 0xc6, 0x8d, 0x31, 0x52, 0xa9, 0x33, 0xe0, 0x29, 0x64, 0x9b, 0xb6, + 0xd5, 0xbf, 0x6e, 0xee, +}; +static const unsigned char kat2541_nonce[] = {0}; +static const unsigned char kat2541_persstr[] = {0}; +static const unsigned char kat2541_entropyinreseed[] = { + 0xcf, 0x62, 0xae, 0x91, 0x13, 0xdc, 0x68, 0x53, 0x7f, 0x61, 0x72, 0xdc, + 0x2c, 0xc2, 0x2a, 0x1c, 0xb9, 0xfc, 0xaa, 0x43, 0x29, 0x13, 0xb3, 0xf6, + 0x8b, 0xce, 0x25, 0xaa, 0x97, 0x02, 0x72, 0x4b, 0xf2, 0x90, 0xc1, 0x1a, + 0x0c, 0x5a, 0x01, 0xea, +}; +static const unsigned char kat2541_addinreseed[] = { + 0x7a, 0xa4, 0xbf, 0x30, 0x66, 0x1f, 0x50, 0xbd, 0xe8, 0x86, 0x2e, 0x59, + 0x8f, 0xbe, 0x74, 0xd0, 0x97, 0x16, 0x21, 0x2a, 0x13, 0x2d, 0xbb, 0x9f, + 0x79, 0x70, 0x39, 0x0d, 0xce, 0x60, 0x0e, 0x77, 0xe5, 0x21, 0x58, 0x0c, + 0x63, 0x0a, 0x2a, 0xa2, +}; +static const unsigned char kat2541_addin0[] = { + 0x21, 0xb1, 0x24, 0x46, 0x95, 0x92, 0xfa, 0xe1, 0x3e, 0x87, 0xca, 0xa4, + 0x2d, 0x51, 0xb5, 0xc5, 0xd5, 0x46, 0x79, 0x49, 0x27, 0x20, 0xc1, 0x9a, + 0xa4, 0x65, 0xc3, 0x88, 0xc0, 0xe2, 0x11, 0x2e, 0x3d, 0xee, 0x53, 0xb1, + 0xe8, 0x2e, 0xae, 0x1c, +}; +static const unsigned char kat2541_addin1[] = { + 0x74, 0x5a, 0xa1, 0xcd, 0x0f, 0xbd, 0x66, 0x7d, 0xa2, 0x1b, 0x57, 0xed, + 0xcc, 0x4b, 0x09, 0x10, 0x3a, 0x90, 0xa9, 0x10, 0x12, 0x04, 0x03, 0x84, + 0x10, 0x3c, 0xe7, 0x40, 0x88, 0xc3, 0x02, 0x02, 0x22, 0x70, 0xdf, 0xd9, + 0x5e, 0x4d, 0x4b, 0x66, +}; +static const unsigned char kat2541_retbits[] = { + 0xe7, 0xd4, 0xbc, 0x9a, 0xa5, 0x25, 0x47, 0x91, 0x9b, 0x2c, 0x5b, 0xc2, + 0x4e, 0x5a, 0xca, 0xb3, 0xa3, 0x6d, 0x0e, 0xa0, 0x8b, 0xc6, 0x44, 0x33, + 0xea, 0xbb, 0x7d, 0xd9, 0x7d, 0xf9, 0xb7, 0x63, 0x4d, 0x6f, 0xd0, 0x0a, + 0xb4, 0x1f, 0x39, 0x21, 0x11, 0xc8, 0xb9, 0xda, 0x20, 0x11, 0xda, 0x3e, + 0x56, 0x87, 0x2b, 0x4b, 0xc2, 0x69, 0x32, 0x78, 0x37, 0xd4, 0xac, 0x1f, + 0x55, 0xc7, 0x58, 0xf7, +}; +static const struct drbg_kat_pr_false kat2541_t = { + 5, kat2541_entropyin, kat2541_nonce, kat2541_persstr, + kat2541_entropyinreseed, kat2541_addinreseed, kat2541_addin0, + kat2541_addin1, kat2541_retbits +}; +static const struct drbg_kat kat2541 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2541_t +}; + +static const unsigned char kat2542_entropyin[] = { + 0xe0, 0xe5, 0x2e, 0x67, 0x81, 0xd1, 0x29, 0xe5, 0x35, 0x8f, 0x86, 0xae, + 0x7e, 0x50, 0x87, 0x9b, 0x61, 0xac, 0xba, 0xc8, 0xbe, 0xbd, 0xf3, 0xab, + 0x33, 0x1c, 0xe4, 0x94, 0x91, 0xf3, 0xb9, 0x59, 0xcf, 0xb4, 0x54, 0xc1, + 0xdb, 0x95, 0x02, 0xca, +}; +static const unsigned char kat2542_nonce[] = {0}; +static const unsigned char kat2542_persstr[] = {0}; +static const unsigned char kat2542_entropyinreseed[] = { + 0x81, 0xa9, 0x94, 0x77, 0x16, 0xd5, 0x45, 0x5a, 0x30, 0xd8, 0x1a, 0x99, + 0x06, 0x9f, 0xb2, 0xa2, 0x90, 0x5d, 0xdc, 0x21, 0x04, 0x4e, 0x05, 0xd6, + 0xbd, 0x42, 0x93, 0x1a, 0x93, 0x80, 0x96, 0x86, 0x3a, 0x3b, 0x4a, 0x4e, + 0xdd, 0x0e, 0xbd, 0xa0, +}; +static const unsigned char kat2542_addinreseed[] = { + 0xed, 0x14, 0x3d, 0xf9, 0x37, 0xfa, 0x1a, 0x74, 0xe1, 0x15, 0xcb, 0x8d, + 0x5c, 0x7e, 0xfe, 0x02, 0x98, 0x95, 0x2a, 0xc0, 0xa4, 0x45, 0xb7, 0xb4, + 0x49, 0x03, 0x1d, 0x63, 0xa1, 0x41, 0x17, 0x52, 0x59, 0xcf, 0x70, 0xb0, + 0xc7, 0xac, 0x06, 0x58, +}; +static const unsigned char kat2542_addin0[] = { + 0x1e, 0x05, 0x57, 0x6b, 0x2d, 0x63, 0xe1, 0x5f, 0x77, 0x5b, 0xb8, 0x26, + 0xd4, 0x61, 0x2c, 0x52, 0x22, 0x11, 0xb3, 0x84, 0xf8, 0x14, 0xd1, 0x4e, + 0xe2, 0x1e, 0xa3, 0x39, 0x94, 0x18, 0x3b, 0x64, 0xa6, 0xab, 0x1e, 0xe9, + 0x21, 0xd5, 0xa6, 0x98, +}; +static const unsigned char kat2542_addin1[] = { + 0x39, 0xc5, 0xcd, 0xa1, 0xb9, 0x99, 0xff, 0xb6, 0x39, 0x29, 0x59, 0xd1, + 0xb9, 0x40, 0x3a, 0xb5, 0xef, 0x65, 0x84, 0x14, 0xac, 0x3e, 0xfc, 0xce, + 0x70, 0x7f, 0x95, 0x7c, 0x5e, 0x75, 0xfe, 0x6d, 0x4b, 0x69, 0x56, 0xf4, + 0x4d, 0x01, 0x26, 0x66, +}; +static const unsigned char kat2542_retbits[] = { + 0x59, 0xad, 0xda, 0x5d, 0x2d, 0x89, 0x42, 0x3a, 0x00, 0xcd, 0x77, 0xbd, + 0x85, 0x4c, 0x72, 0x48, 0x53, 0xe3, 0xff, 0xe6, 0xe2, 0xf6, 0x66, 0x17, + 0x5f, 0x30, 0xab, 0xa7, 0x8d, 0x24, 0x05, 0x99, 0xad, 0xe7, 0x7a, 0x02, + 0x5a, 0x3f, 0x57, 0x09, 0x28, 0x2c, 0xdf, 0xf9, 0x5a, 0xf7, 0x39, 0xe4, + 0x2e, 0x4d, 0x35, 0xaa, 0xb0, 0xab, 0x00, 0x23, 0xd1, 0xf2, 0x90, 0x82, + 0x06, 0xb8, 0xa9, 0x9b, +}; +static const struct drbg_kat_pr_false kat2542_t = { + 6, kat2542_entropyin, kat2542_nonce, kat2542_persstr, + kat2542_entropyinreseed, kat2542_addinreseed, kat2542_addin0, + kat2542_addin1, kat2542_retbits +}; +static const struct drbg_kat kat2542 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2542_t +}; + +static const unsigned char kat2543_entropyin[] = { + 0x86, 0x65, 0x5d, 0x0b, 0x84, 0xc7, 0x1f, 0x32, 0x3e, 0x20, 0x1b, 0xe6, + 0xfa, 0x8f, 0x10, 0xa0, 0x01, 0x79, 0xa4, 0xf8, 0xb6, 0x83, 0x8a, 0x58, + 0xb1, 0x56, 0x88, 0x75, 0x95, 0x42, 0x81, 0x18, 0x97, 0x08, 0xac, 0xdc, + 0xb1, 0x6f, 0xe2, 0x1d, +}; +static const unsigned char kat2543_nonce[] = {0}; +static const unsigned char kat2543_persstr[] = {0}; +static const unsigned char kat2543_entropyinreseed[] = { + 0x75, 0x80, 0xa8, 0x1a, 0xa2, 0xe8, 0xb2, 0xdf, 0xde, 0x70, 0xd2, 0x69, + 0x01, 0x30, 0x9b, 0x02, 0x3b, 0xc3, 0x0d, 0x94, 0xd7, 0xad, 0x81, 0x2a, + 0x1f, 0xf7, 0x3a, 0x5c, 0xc0, 0xf5, 0x2f, 0xed, 0x35, 0x58, 0xd0, 0x37, + 0x9b, 0x76, 0x16, 0xf4, +}; +static const unsigned char kat2543_addinreseed[] = { + 0x53, 0xb0, 0x51, 0xca, 0x5d, 0x01, 0x50, 0xed, 0xdb, 0x14, 0x18, 0x23, + 0x10, 0x58, 0x0f, 0x97, 0x5e, 0x46, 0x2c, 0xd7, 0xce, 0xdf, 0xb2, 0x41, + 0x40, 0xef, 0x2d, 0xb0, 0xa3, 0xe6, 0x89, 0x70, 0xcc, 0x63, 0xe6, 0xa9, + 0x6a, 0x61, 0x95, 0x09, +}; +static const unsigned char kat2543_addin0[] = { + 0xd6, 0x29, 0x03, 0x84, 0xce, 0xf6, 0xbe, 0x6c, 0xf1, 0x7e, 0x22, 0x02, + 0xa6, 0xf1, 0x87, 0xec, 0x77, 0x40, 0xa3, 0x90, 0x6b, 0xe9, 0xad, 0x4b, + 0xbd, 0xcb, 0x04, 0xc1, 0xbd, 0xf6, 0x12, 0x73, 0xee, 0xed, 0x9a, 0x07, + 0xc2, 0x02, 0x06, 0x78, +}; +static const unsigned char kat2543_addin1[] = { + 0x88, 0xf3, 0xe8, 0x4a, 0xfb, 0xf4, 0xb9, 0xf0, 0x44, 0xb6, 0xdd, 0xbe, + 0xa7, 0xb7, 0x76, 0xc1, 0x65, 0xaf, 0xa5, 0x54, 0x79, 0xc3, 0xd0, 0x73, + 0xed, 0xc4, 0x23, 0x00, 0x8b, 0x9b, 0x1b, 0xfe, 0x87, 0x59, 0xc9, 0x51, + 0x18, 0x59, 0xf0, 0xe2, +}; +static const unsigned char kat2543_retbits[] = { + 0x17, 0xf1, 0x45, 0xe8, 0xb0, 0x7d, 0x9f, 0x61, 0xe9, 0x0c, 0xc5, 0x97, + 0xb1, 0x3b, 0xe8, 0x4b, 0x1a, 0x4e, 0x3b, 0x78, 0x85, 0x33, 0x1a, 0x40, + 0x52, 0x57, 0x7d, 0x23, 0x33, 0xca, 0xca, 0x76, 0x1e, 0x8e, 0xeb, 0x6a, + 0xb5, 0x5c, 0xc0, 0x3f, 0x2b, 0xac, 0x94, 0xa2, 0x3c, 0x94, 0x4d, 0x2f, + 0x6e, 0xba, 0xc2, 0x48, 0x65, 0x1f, 0x92, 0xb1, 0x6f, 0x9e, 0x0f, 0x7a, + 0x78, 0x55, 0xa7, 0x23, +}; +static const struct drbg_kat_pr_false kat2543_t = { + 7, kat2543_entropyin, kat2543_nonce, kat2543_persstr, + kat2543_entropyinreseed, kat2543_addinreseed, kat2543_addin0, + kat2543_addin1, kat2543_retbits +}; +static const struct drbg_kat kat2543 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2543_t +}; + +static const unsigned char kat2544_entropyin[] = { + 0x84, 0xa7, 0x48, 0x1b, 0xf6, 0x78, 0xbe, 0xac, 0x12, 0x15, 0x4c, 0x61, + 0x5d, 0xb0, 0xf5, 0x74, 0xeb, 0xc3, 0x9a, 0x5e, 0xa8, 0x3a, 0xbf, 0x9a, + 0x77, 0xf7, 0xb8, 0xe1, 0xfa, 0xb2, 0x7a, 0x9f, 0xbc, 0x6a, 0x9d, 0x5f, + 0x5a, 0x4f, 0x21, 0x99, +}; +static const unsigned char kat2544_nonce[] = {0}; +static const unsigned char kat2544_persstr[] = {0}; +static const unsigned char kat2544_entropyinreseed[] = { + 0xea, 0x22, 0x90, 0x4a, 0x82, 0xae, 0x99, 0x28, 0xe1, 0x91, 0x06, 0xc4, + 0x8c, 0xe4, 0x79, 0xb1, 0xa8, 0x23, 0x95, 0xf3, 0x10, 0xd1, 0xb2, 0xaa, + 0xa2, 0xcf, 0x56, 0x35, 0x9d, 0x82, 0x2d, 0x79, 0xb5, 0x4d, 0x82, 0xcd, + 0x6c, 0xd5, 0x5b, 0x90, +}; +static const unsigned char kat2544_addinreseed[] = { + 0xf4, 0x37, 0xea, 0xed, 0x6e, 0x0f, 0x8b, 0x46, 0x9d, 0xe0, 0xe2, 0x55, + 0xb4, 0x95, 0xfc, 0xfe, 0x6c, 0x6d, 0x61, 0x04, 0x00, 0x2f, 0x10, 0x35, + 0x62, 0xb7, 0x87, 0xd2, 0xb9, 0x9a, 0xf6, 0xf0, 0x8d, 0x73, 0x64, 0x6c, + 0x23, 0x0c, 0x14, 0x21, +}; +static const unsigned char kat2544_addin0[] = { + 0x09, 0xdb, 0x7d, 0xb6, 0x30, 0x9c, 0xdd, 0x4e, 0xf2, 0xfe, 0xac, 0xf5, + 0x70, 0x2f, 0xc6, 0x8a, 0x79, 0x27, 0x1a, 0xee, 0xfe, 0x91, 0x00, 0x43, + 0xb8, 0xf4, 0xb6, 0xda, 0x46, 0x43, 0x75, 0x41, 0x1b, 0xe6, 0x0b, 0xb4, + 0xae, 0xfa, 0xc8, 0x52, +}; +static const unsigned char kat2544_addin1[] = { + 0x55, 0xf0, 0x55, 0xf0, 0xbc, 0xe7, 0x4d, 0xee, 0x2d, 0x92, 0x89, 0x76, + 0x75, 0xe3, 0x52, 0x27, 0xdb, 0xcd, 0x90, 0xad, 0x02, 0xdf, 0xbb, 0x3f, + 0xdd, 0x53, 0x29, 0x3d, 0x13, 0x50, 0xd6, 0xf3, 0x8e, 0x5d, 0x0f, 0x61, + 0x3f, 0x95, 0x78, 0x13, +}; +static const unsigned char kat2544_retbits[] = { + 0xe7, 0x89, 0xf0, 0x9f, 0x37, 0x9e, 0x05, 0x6a, 0x9b, 0x29, 0xf2, 0x63, + 0xe6, 0x07, 0xb2, 0x20, 0x14, 0xc1, 0xda, 0x00, 0x0c, 0x55, 0xd2, 0x3a, + 0x2b, 0x4a, 0x32, 0x87, 0x3b, 0x09, 0x9e, 0x9e, 0xe8, 0xd5, 0x8a, 0xf6, + 0x4c, 0x11, 0x5a, 0x75, 0xc8, 0x64, 0xa8, 0x9b, 0x22, 0xed, 0xff, 0xde, + 0x9f, 0x8a, 0x88, 0xc1, 0x53, 0xe0, 0x57, 0x3f, 0xa7, 0x95, 0x93, 0x2c, + 0x6e, 0x59, 0xcd, 0x5e, +}; +static const struct drbg_kat_pr_false kat2544_t = { + 8, kat2544_entropyin, kat2544_nonce, kat2544_persstr, + kat2544_entropyinreseed, kat2544_addinreseed, kat2544_addin0, + kat2544_addin1, kat2544_retbits +}; +static const struct drbg_kat kat2544 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2544_t +}; + +static const unsigned char kat2545_entropyin[] = { + 0xd1, 0x05, 0x83, 0x27, 0x96, 0x22, 0x35, 0x25, 0x3d, 0x58, 0x1b, 0xc9, + 0xbc, 0x68, 0x17, 0x60, 0x84, 0x77, 0x8c, 0x0d, 0xb2, 0x20, 0xc5, 0xa4, + 0xa9, 0xf7, 0x37, 0x04, 0x26, 0x04, 0x31, 0x08, 0x7b, 0x13, 0x8a, 0x15, + 0x43, 0xd4, 0x3c, 0x13, +}; +static const unsigned char kat2545_nonce[] = {0}; +static const unsigned char kat2545_persstr[] = {0}; +static const unsigned char kat2545_entropyinreseed[] = { + 0x9b, 0xdc, 0x0e, 0x51, 0xe8, 0x82, 0x1c, 0xcb, 0xf8, 0xe1, 0x44, 0x94, + 0xe7, 0x51, 0xb5, 0x1b, 0x5b, 0x1c, 0x3d, 0x3f, 0xd0, 0xd0, 0xb7, 0x19, + 0x35, 0x3e, 0xa9, 0xc4, 0x6a, 0x0b, 0xd0, 0x40, 0x8e, 0x00, 0x81, 0xbe, + 0x26, 0x7e, 0xd3, 0x1b, +}; +static const unsigned char kat2545_addinreseed[] = { + 0xaf, 0x01, 0x4e, 0xf2, 0xdd, 0xa2, 0x3c, 0x2a, 0xcd, 0x2d, 0x08, 0x85, + 0x5b, 0x3a, 0x17, 0xb3, 0xfa, 0xd8, 0x4b, 0x32, 0x91, 0xe5, 0x30, 0xa1, + 0x92, 0x0b, 0xc4, 0x9d, 0x00, 0x52, 0x27, 0x37, 0x84, 0x6c, 0x3f, 0xcb, + 0x4c, 0x92, 0xd6, 0xab, +}; +static const unsigned char kat2545_addin0[] = { + 0x61, 0x7b, 0xf0, 0x52, 0x67, 0x24, 0x90, 0xfa, 0x69, 0x0c, 0xfe, 0xcd, + 0x8a, 0x18, 0xa4, 0xf9, 0x5a, 0x98, 0x08, 0x24, 0xb7, 0x3d, 0x92, 0x29, + 0xb1, 0x4f, 0xa0, 0xba, 0x77, 0xe5, 0x5d, 0xf9, 0x84, 0x35, 0x8b, 0x3f, + 0xfe, 0xd6, 0x35, 0x5e, +}; +static const unsigned char kat2545_addin1[] = { + 0x2c, 0xb3, 0x90, 0x95, 0x72, 0xca, 0xe9, 0x89, 0x00, 0xd1, 0xf2, 0x96, + 0x33, 0xb2, 0x91, 0xea, 0x02, 0xdb, 0x9a, 0x2e, 0x75, 0x22, 0x6e, 0x0d, + 0x68, 0xff, 0x9b, 0x59, 0x23, 0xf3, 0x11, 0x22, 0x7a, 0xa8, 0x85, 0x1a, + 0xbd, 0xdf, 0x22, 0x54, +}; +static const unsigned char kat2545_retbits[] = { + 0x05, 0xbf, 0xd8, 0xa3, 0xa1, 0x0e, 0x6d, 0x9b, 0xa9, 0xf5, 0x41, 0x38, + 0x8d, 0x6c, 0xfc, 0x31, 0x25, 0x6b, 0x9c, 0xaa, 0x5a, 0xc2, 0xfd, 0x45, + 0xc2, 0xe8, 0x96, 0xf3, 0xfc, 0x7c, 0x95, 0x37, 0xb4, 0xba, 0xc4, 0x64, + 0xff, 0xa5, 0xf6, 0x2d, 0xe5, 0x66, 0xff, 0x1f, 0x47, 0xab, 0xbb, 0x0e, + 0xb5, 0x0f, 0xb5, 0x22, 0xfd, 0xfd, 0xa9, 0xea, 0x48, 0x45, 0xa0, 0xee, + 0x2e, 0x01, 0x08, 0x5d, +}; +static const struct drbg_kat_pr_false kat2545_t = { + 9, kat2545_entropyin, kat2545_nonce, kat2545_persstr, + kat2545_entropyinreseed, kat2545_addinreseed, kat2545_addin0, + kat2545_addin1, kat2545_retbits +}; +static const struct drbg_kat kat2545 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2545_t +}; + +static const unsigned char kat2546_entropyin[] = { + 0x93, 0x1f, 0xc7, 0xc1, 0xfc, 0x6f, 0x64, 0x8e, 0xc8, 0x53, 0xaf, 0xad, + 0x8c, 0x16, 0x0b, 0xa8, 0xe0, 0x0c, 0xc3, 0x78, 0xfd, 0x46, 0xc5, 0xd8, + 0xa0, 0x54, 0x13, 0xea, 0xd5, 0xa3, 0x56, 0x0b, 0x74, 0xb2, 0xa4, 0x5a, + 0x4f, 0x02, 0x3e, 0x67, +}; +static const unsigned char kat2546_nonce[] = {0}; +static const unsigned char kat2546_persstr[] = {0}; +static const unsigned char kat2546_entropyinreseed[] = { + 0x9a, 0x77, 0xec, 0x80, 0x31, 0xc2, 0xb2, 0xe6, 0xce, 0x1f, 0xae, 0x26, + 0x34, 0xd0, 0xe6, 0x9c, 0x5c, 0x7a, 0x7b, 0xd7, 0x31, 0xdb, 0x54, 0x5c, + 0x12, 0x31, 0x1e, 0x52, 0x05, 0x4e, 0x73, 0x8a, 0x81, 0xcb, 0xff, 0xf8, + 0xfe, 0x06, 0x9b, 0xd0, +}; +static const unsigned char kat2546_addinreseed[] = { + 0x1b, 0x1b, 0xb1, 0xa9, 0x5c, 0xb5, 0x38, 0x2d, 0x96, 0x79, 0xbc, 0x2c, + 0x1a, 0x2e, 0x7b, 0x50, 0xcb, 0x2a, 0x88, 0x52, 0x3c, 0x67, 0x24, 0x37, + 0x0b, 0x22, 0xe1, 0x84, 0xc9, 0xbc, 0xc6, 0x2e, 0x63, 0x57, 0x27, 0xbb, + 0x0e, 0x97, 0x6f, 0x4d, +}; +static const unsigned char kat2546_addin0[] = { + 0xc9, 0x6f, 0x85, 0xd0, 0x75, 0x07, 0xaf, 0x3b, 0x07, 0x20, 0xc1, 0x70, + 0x81, 0x43, 0x5f, 0x57, 0xe7, 0x26, 0x82, 0x93, 0x85, 0x5d, 0xe4, 0xe8, + 0xa3, 0xff, 0xad, 0x92, 0x5e, 0xeb, 0x72, 0x89, 0xd2, 0x07, 0xf8, 0x58, + 0x0b, 0x06, 0x9f, 0xbb, +}; +static const unsigned char kat2546_addin1[] = { + 0x4f, 0x95, 0xdb, 0x08, 0x45, 0x4f, 0x55, 0xc8, 0x1c, 0x79, 0x85, 0x4b, + 0x2f, 0x39, 0x45, 0x9a, 0x08, 0xdf, 0xdb, 0xb2, 0x33, 0xe3, 0xd4, 0xc2, + 0xbf, 0xf5, 0xd7, 0xe3, 0x5c, 0x93, 0xa4, 0x64, 0xd9, 0x16, 0xb3, 0x2b, + 0xc5, 0x7f, 0xc7, 0xe9, +}; +static const unsigned char kat2546_retbits[] = { + 0x27, 0x0b, 0xc7, 0xcb, 0x3a, 0xb1, 0x7b, 0x52, 0xe6, 0x35, 0x33, 0x0c, + 0xc1, 0x84, 0x2d, 0xa6, 0x29, 0x6c, 0xf5, 0x43, 0x2d, 0x11, 0xd6, 0xab, + 0xc3, 0x7e, 0xdd, 0xca, 0x99, 0x6f, 0x74, 0x9e, 0x8e, 0x97, 0xce, 0xaf, + 0xdd, 0x84, 0x2f, 0x14, 0x74, 0xf6, 0x66, 0x4d, 0x87, 0xa8, 0x20, 0xc9, + 0x16, 0x2e, 0xa7, 0xcf, 0xe9, 0xb6, 0xb8, 0xc0, 0x98, 0xef, 0x51, 0xfe, + 0x4c, 0x26, 0xd7, 0xe2, +}; +static const struct drbg_kat_pr_false kat2546_t = { + 10, kat2546_entropyin, kat2546_nonce, kat2546_persstr, + kat2546_entropyinreseed, kat2546_addinreseed, kat2546_addin0, + kat2546_addin1, kat2546_retbits +}; +static const struct drbg_kat kat2546 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2546_t +}; + +static const unsigned char kat2547_entropyin[] = { + 0x14, 0xb6, 0x1e, 0x3c, 0xa2, 0xf9, 0x30, 0x1e, 0xa2, 0x43, 0x05, 0x50, + 0x23, 0x91, 0x78, 0x52, 0xad, 0xbd, 0xce, 0x4e, 0xcc, 0xd0, 0x97, 0x43, + 0xd2, 0xab, 0xa0, 0x6e, 0x26, 0x28, 0x88, 0x3e, 0xd8, 0x60, 0x0e, 0x4a, + 0x09, 0x97, 0x3d, 0x59, +}; +static const unsigned char kat2547_nonce[] = {0}; +static const unsigned char kat2547_persstr[] = {0}; +static const unsigned char kat2547_entropyinreseed[] = { + 0x1a, 0x66, 0xc3, 0x98, 0x5d, 0x3c, 0xff, 0x2d, 0x14, 0x93, 0xae, 0xe8, + 0x92, 0xd8, 0xde, 0xc8, 0xa9, 0x66, 0xfb, 0x4b, 0x72, 0x12, 0xd2, 0x56, + 0xc2, 0x99, 0x23, 0xbb, 0x0f, 0x29, 0xcd, 0xf8, 0x22, 0x24, 0x0e, 0x7d, + 0xda, 0xf6, 0xac, 0xe6, +}; +static const unsigned char kat2547_addinreseed[] = { + 0x97, 0x47, 0xaf, 0x46, 0xff, 0x6b, 0xf6, 0x95, 0x9c, 0x26, 0x6b, 0xe2, + 0xdc, 0xb0, 0x08, 0x7c, 0x7e, 0x70, 0x90, 0xee, 0x4d, 0x7a, 0xe8, 0x11, + 0xc4, 0xb8, 0xce, 0x73, 0x91, 0xda, 0xb5, 0x57, 0x17, 0x8d, 0x85, 0x42, + 0x0f, 0xd4, 0x17, 0x76, +}; +static const unsigned char kat2547_addin0[] = { + 0x8f, 0x9a, 0x93, 0xdf, 0xf9, 0xed, 0x76, 0xf5, 0x93, 0x92, 0xa6, 0x9f, + 0x4d, 0xb6, 0x09, 0x97, 0xd6, 0xbb, 0x12, 0xcd, 0x67, 0x6c, 0x5f, 0xe5, + 0xeb, 0x5c, 0xca, 0x4e, 0x1f, 0xe7, 0xbd, 0xea, 0x31, 0x31, 0x39, 0x1e, + 0x0c, 0xd2, 0xb2, 0xbc, +}; +static const unsigned char kat2547_addin1[] = { + 0x1b, 0x1e, 0x87, 0xc1, 0xb9, 0xea, 0x94, 0x45, 0x3b, 0x36, 0xca, 0x07, + 0x4a, 0x56, 0x9d, 0x95, 0xb3, 0x00, 0x0d, 0xa3, 0xb7, 0x10, 0x80, 0x71, + 0x33, 0xb4, 0x6d, 0x3c, 0x77, 0xbb, 0xe9, 0x97, 0xc9, 0xdf, 0x24, 0x39, + 0xd5, 0x1d, 0x14, 0x69, +}; +static const unsigned char kat2547_retbits[] = { + 0x6a, 0x89, 0xdf, 0x0b, 0x01, 0xc8, 0x5d, 0x86, 0x2d, 0xe9, 0xf5, 0xa3, + 0xd3, 0xa0, 0xc7, 0x4d, 0xb6, 0xf9, 0xb4, 0xf9, 0x9c, 0x33, 0x07, 0xf5, + 0xc4, 0x91, 0x5a, 0x2d, 0xaf, 0xef, 0x4d, 0x1e, 0x72, 0xbf, 0x14, 0x17, + 0x1a, 0xb4, 0x0c, 0x42, 0x7a, 0xf6, 0x00, 0x72, 0x26, 0xe3, 0x6f, 0x3b, + 0x48, 0x20, 0xe4, 0xf0, 0xf7, 0x4d, 0x72, 0x48, 0xcc, 0x8e, 0x70, 0x9b, + 0x2a, 0x7d, 0x81, 0x4e, +}; +static const struct drbg_kat_pr_false kat2547_t = { + 11, kat2547_entropyin, kat2547_nonce, kat2547_persstr, + kat2547_entropyinreseed, kat2547_addinreseed, kat2547_addin0, + kat2547_addin1, kat2547_retbits +}; +static const struct drbg_kat kat2547 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2547_t +}; + +static const unsigned char kat2548_entropyin[] = { + 0x84, 0xfd, 0xb0, 0xe4, 0x40, 0x57, 0xe5, 0xf5, 0xda, 0x02, 0xbd, 0x4a, + 0xce, 0x0e, 0xcd, 0x54, 0x45, 0xe3, 0x72, 0xe8, 0x43, 0x8f, 0xcc, 0xff, + 0x77, 0x40, 0x9e, 0xca, 0xeb, 0x29, 0x21, 0x7a, 0xd7, 0x58, 0x56, 0xe3, + 0xfc, 0x2c, 0x8f, 0x4c, +}; +static const unsigned char kat2548_nonce[] = {0}; +static const unsigned char kat2548_persstr[] = {0}; +static const unsigned char kat2548_entropyinreseed[] = { + 0x66, 0x59, 0x42, 0xd0, 0xd1, 0x5f, 0x76, 0x53, 0x83, 0xbc, 0x7a, 0x4b, + 0xc5, 0x29, 0xe4, 0xb5, 0x7d, 0x0f, 0x0c, 0x23, 0x52, 0x49, 0x23, 0xe0, + 0x2e, 0x32, 0x34, 0x00, 0xf8, 0x11, 0x9d, 0x1f, 0x1e, 0x4e, 0x49, 0x5f, + 0x83, 0xaf, 0xd5, 0xdb, +}; +static const unsigned char kat2548_addinreseed[] = { + 0x03, 0xb0, 0x1e, 0x1a, 0xcb, 0x74, 0x13, 0xc3, 0xab, 0x97, 0x8f, 0x0f, + 0xdd, 0xa1, 0x51, 0x52, 0x24, 0xd7, 0x02, 0x55, 0x8b, 0xf1, 0xc6, 0x7f, + 0xf0, 0xd6, 0xc0, 0xad, 0x47, 0x09, 0x75, 0xf8, 0x2d, 0xc5, 0x3f, 0x75, + 0x33, 0x8b, 0x03, 0x96, +}; +static const unsigned char kat2548_addin0[] = { + 0xfc, 0x55, 0x35, 0x18, 0x8a, 0xf0, 0x43, 0x5e, 0x52, 0x88, 0xdf, 0x5d, + 0xa0, 0x6a, 0xa2, 0xdf, 0xe1, 0x6d, 0x93, 0xb3, 0x10, 0xa6, 0xb1, 0x8f, + 0x20, 0xe3, 0xba, 0x81, 0x64, 0x73, 0x59, 0xdd, 0xc4, 0x4d, 0x52, 0xe3, + 0x09, 0x3b, 0xb7, 0xf3, +}; +static const unsigned char kat2548_addin1[] = { + 0x37, 0xf8, 0x53, 0xf9, 0x88, 0x49, 0xad, 0x63, 0x6e, 0x57, 0xa6, 0xdc, + 0xf7, 0xab, 0x22, 0x3d, 0x50, 0xed, 0x10, 0x3f, 0x43, 0x4b, 0x49, 0xde, + 0x36, 0xbf, 0x87, 0x6d, 0xd9, 0xb2, 0x1e, 0xf3, 0x38, 0x61, 0x2c, 0xc3, + 0x7b, 0x9e, 0x01, 0xa8, +}; +static const unsigned char kat2548_retbits[] = { + 0xdc, 0x61, 0x4f, 0x10, 0x4b, 0xc9, 0x9b, 0x4b, 0xa4, 0x59, 0xd2, 0x80, + 0xc9, 0x8c, 0x6e, 0xe6, 0x9a, 0xc6, 0x2b, 0xcd, 0x0c, 0x37, 0xca, 0x48, + 0x8f, 0x5b, 0xd3, 0x0b, 0x20, 0x68, 0x93, 0x2a, 0x9f, 0x76, 0x52, 0xb3, + 0xfe, 0xa9, 0x26, 0x49, 0x87, 0x5f, 0xc9, 0x5b, 0xe0, 0xff, 0xb4, 0x5e, + 0x23, 0x61, 0x8b, 0x34, 0xb4, 0x00, 0x3b, 0x73, 0x23, 0xdf, 0x4d, 0xff, + 0xe9, 0xcf, 0x6f, 0xf9, +}; +static const struct drbg_kat_pr_false kat2548_t = { + 12, kat2548_entropyin, kat2548_nonce, kat2548_persstr, + kat2548_entropyinreseed, kat2548_addinreseed, kat2548_addin0, + kat2548_addin1, kat2548_retbits +}; +static const struct drbg_kat kat2548 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2548_t +}; + +static const unsigned char kat2549_entropyin[] = { + 0xa5, 0x8a, 0x67, 0xd9, 0x18, 0x19, 0xea, 0xce, 0xb3, 0x44, 0x0c, 0x5e, + 0x8b, 0x81, 0x16, 0x23, 0xec, 0x42, 0x3b, 0x8e, 0xf3, 0x06, 0xe6, 0x52, + 0xda, 0x28, 0xa1, 0x70, 0x05, 0x67, 0xeb, 0xde, 0xd4, 0x23, 0x6f, 0x11, + 0xd4, 0xe0, 0x67, 0x4c, +}; +static const unsigned char kat2549_nonce[] = {0}; +static const unsigned char kat2549_persstr[] = {0}; +static const unsigned char kat2549_entropyinreseed[] = { + 0x48, 0x33, 0x67, 0x2b, 0x97, 0x39, 0xd4, 0x47, 0x0b, 0x5d, 0x7a, 0x5a, + 0x43, 0xf6, 0xfa, 0x30, 0xec, 0xc6, 0x6a, 0xe6, 0x96, 0x53, 0x33, 0x87, + 0xba, 0xfa, 0xdd, 0xd6, 0x2f, 0xae, 0xe1, 0x37, 0xf9, 0x61, 0xaf, 0x96, + 0x5b, 0x47, 0x3c, 0x1a, +}; +static const unsigned char kat2549_addinreseed[] = { + 0xb2, 0xc2, 0xab, 0x06, 0x58, 0x2c, 0x20, 0xa7, 0x48, 0x73, 0x7f, 0x83, + 0x90, 0xc0, 0x13, 0xa0, 0x3d, 0x8d, 0x62, 0x00, 0xe6, 0x30, 0xe2, 0xa2, + 0xf0, 0x59, 0xeb, 0x7d, 0x3f, 0x8f, 0x89, 0xb0, 0x8c, 0xe9, 0x7f, 0xd3, + 0x60, 0x3e, 0xe3, 0x1d, +}; +static const unsigned char kat2549_addin0[] = { + 0x30, 0x50, 0x93, 0xf3, 0x99, 0x4d, 0x3e, 0x3c, 0x41, 0xc0, 0x01, 0x4c, + 0xca, 0x4d, 0x70, 0x74, 0x80, 0x66, 0x7c, 0x2a, 0xef, 0x1e, 0xf0, 0x3a, + 0xfa, 0xe1, 0xf0, 0x27, 0x2e, 0x73, 0xd0, 0xae, 0xe4, 0x3d, 0xae, 0xf1, + 0xc1, 0xe0, 0xbd, 0xfe, +}; +static const unsigned char kat2549_addin1[] = { + 0x82, 0x50, 0xd9, 0x8f, 0x0f, 0x93, 0x72, 0xb7, 0x4c, 0x6c, 0x57, 0x7c, + 0x5e, 0x66, 0x3f, 0x12, 0x21, 0x36, 0x9a, 0xc6, 0x7e, 0x18, 0x30, 0xae, + 0x91, 0x04, 0x3e, 0x58, 0x3f, 0x9a, 0x85, 0x0c, 0xa1, 0x6b, 0x0e, 0xfc, + 0x66, 0x13, 0xd5, 0xa8, +}; +static const unsigned char kat2549_retbits[] = { + 0x74, 0x7a, 0x67, 0xe6, 0x85, 0xbe, 0xbc, 0xc4, 0x25, 0x71, 0x7d, 0xaa, + 0x75, 0x5b, 0xe9, 0xc3, 0x04, 0x21, 0x36, 0x23, 0x7b, 0x1d, 0x0a, 0xe9, + 0xa2, 0x2c, 0x90, 0xb9, 0x67, 0x4e, 0xaa, 0xf9, 0x89, 0x04, 0x4d, 0x1b, + 0xb4, 0x70, 0xbc, 0xb3, 0x63, 0x78, 0xa9, 0xc6, 0x51, 0xb6, 0x2d, 0xb3, + 0xf7, 0x53, 0x6b, 0x51, 0x84, 0x01, 0x82, 0xa1, 0x0f, 0x9b, 0xd7, 0x6c, + 0xf1, 0x3a, 0x55, 0xce, +}; +static const struct drbg_kat_pr_false kat2549_t = { + 13, kat2549_entropyin, kat2549_nonce, kat2549_persstr, + kat2549_entropyinreseed, kat2549_addinreseed, kat2549_addin0, + kat2549_addin1, kat2549_retbits +}; +static const struct drbg_kat kat2549 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2549_t +}; + +static const unsigned char kat2550_entropyin[] = { + 0x4a, 0x78, 0xcb, 0xbb, 0x0f, 0x88, 0xa4, 0xdc, 0xe7, 0xaa, 0xfb, 0xda, + 0xb0, 0xd6, 0x50, 0xe8, 0x08, 0xf9, 0x99, 0x02, 0x2f, 0x2a, 0xf1, 0x62, + 0x01, 0x1e, 0x21, 0xaf, 0xf6, 0x59, 0x68, 0xf7, 0x8f, 0x0f, 0x61, 0x09, + 0x6f, 0x8a, 0x16, 0x0e, +}; +static const unsigned char kat2550_nonce[] = {0}; +static const unsigned char kat2550_persstr[] = {0}; +static const unsigned char kat2550_entropyinreseed[] = { + 0xfd, 0x5e, 0x4e, 0x50, 0xa7, 0xc0, 0x0b, 0x45, 0xbe, 0x31, 0xf4, 0x0f, + 0x5a, 0xe5, 0xdc, 0x0a, 0x54, 0x40, 0xa2, 0x98, 0x67, 0x6b, 0x4a, 0xa9, + 0x10, 0x01, 0xfb, 0x5e, 0x5c, 0x2c, 0x7f, 0x37, 0x95, 0x34, 0xf0, 0x57, + 0xdd, 0x72, 0x9b, 0x35, +}; +static const unsigned char kat2550_addinreseed[] = { + 0xb5, 0x52, 0xdc, 0xd9, 0x8e, 0xf2, 0x32, 0x98, 0xed, 0x3a, 0x25, 0x93, + 0x56, 0x8d, 0x3f, 0xa3, 0xcb, 0x96, 0x1d, 0x89, 0x66, 0x0b, 0xbd, 0x93, + 0x30, 0x1f, 0x82, 0x1b, 0xda, 0xd7, 0xef, 0x0b, 0x9c, 0xd0, 0x71, 0xab, + 0xc1, 0xe1, 0x82, 0xe3, +}; +static const unsigned char kat2550_addin0[] = { + 0x18, 0xa0, 0x98, 0x94, 0xed, 0x82, 0x48, 0x09, 0xe6, 0x6e, 0xe4, 0x47, + 0xf9, 0x41, 0x35, 0x05, 0x03, 0x5c, 0x8e, 0x85, 0xdb, 0x5b, 0x9c, 0x6e, + 0x59, 0x7b, 0xf6, 0xa2, 0xe3, 0x83, 0x86, 0xd8, 0xaf, 0x26, 0x78, 0x4f, + 0x8f, 0x29, 0x78, 0x0c, +}; +static const unsigned char kat2550_addin1[] = { + 0x75, 0xec, 0x32, 0x9e, 0x54, 0x63, 0x93, 0x06, 0xdc, 0x85, 0x3b, 0x73, + 0x49, 0x8d, 0xbc, 0x00, 0x2a, 0xbc, 0xea, 0xdb, 0x35, 0x5e, 0x12, 0xae, + 0x69, 0xfe, 0xa1, 0x6c, 0xc3, 0xae, 0x89, 0x22, 0x72, 0x54, 0x49, 0x90, + 0xd2, 0x93, 0x8b, 0xe9, +}; +static const unsigned char kat2550_retbits[] = { + 0x4c, 0x08, 0x12, 0x6a, 0x7f, 0xe9, 0x78, 0xf2, 0x59, 0x82, 0x67, 0x2e, + 0xe2, 0x04, 0x4a, 0x9d, 0xfe, 0x31, 0x91, 0x9a, 0x20, 0x03, 0x85, 0x3a, + 0x74, 0xd9, 0x13, 0x2b, 0x46, 0xa2, 0x27, 0x85, 0x47, 0xaf, 0x59, 0x80, + 0xd0, 0x37, 0x40, 0x12, 0x75, 0xff, 0x86, 0x52, 0x8b, 0xff, 0x41, 0xfa, + 0x80, 0x18, 0x0e, 0x82, 0x3b, 0xb8, 0x8c, 0xda, 0x60, 0x29, 0xe0, 0x6d, + 0x2b, 0x00, 0x9e, 0x81, +}; +static const struct drbg_kat_pr_false kat2550_t = { + 14, kat2550_entropyin, kat2550_nonce, kat2550_persstr, + kat2550_entropyinreseed, kat2550_addinreseed, kat2550_addin0, + kat2550_addin1, kat2550_retbits +}; +static const struct drbg_kat kat2550 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2550_t +}; + +static const unsigned char kat2551_entropyin[] = { + 0x7a, 0xa6, 0x0c, 0x5a, 0x25, 0x36, 0x0d, 0x8a, 0x0a, 0x9d, 0x41, 0xe3, + 0x4c, 0x76, 0xc4, 0xf1, 0x80, 0x71, 0xb5, 0x6a, 0xc6, 0x73, 0xd4, 0xba, + 0xac, 0xbe, 0xe7, 0x75, 0x49, 0xdd, 0x36, 0x1d, 0xb6, 0x49, 0x6f, 0x90, + 0x34, 0x51, 0x38, 0x88, +}; +static const unsigned char kat2551_nonce[] = {0}; +static const unsigned char kat2551_persstr[] = { + 0xe7, 0xb5, 0xcc, 0x99, 0xdd, 0xe3, 0x12, 0x31, 0x8e, 0xcb, 0x2a, 0x3b, + 0xc4, 0xee, 0x8c, 0x14, 0x76, 0x34, 0x5a, 0xd3, 0xe8, 0x1b, 0x5d, 0x6d, + 0xc0, 0xb7, 0x47, 0xb5, 0x90, 0xc0, 0xd2, 0x1b, 0xe7, 0x31, 0x39, 0x8f, + 0x82, 0x3a, 0xad, 0x02, +}; +static const unsigned char kat2551_entropyinreseed[] = { + 0x31, 0x0e, 0x8e, 0x8d, 0xbc, 0x6a, 0xe5, 0x86, 0x62, 0x5d, 0x75, 0x0f, + 0x5a, 0x1c, 0xee, 0x76, 0x4a, 0x7e, 0x47, 0xa2, 0xeb, 0x35, 0x5c, 0x5c, + 0x94, 0xdd, 0xe9, 0x50, 0x06, 0x5f, 0xb7, 0x55, 0x46, 0xff, 0x34, 0x7f, + 0x7f, 0x17, 0x24, 0xeb, +}; +static const unsigned char kat2551_addinreseed[] = {0}; +static const unsigned char kat2551_addin0[] = {0}; +static const unsigned char kat2551_addin1[] = {0}; +static const unsigned char kat2551_retbits[] = { + 0x21, 0x46, 0x0b, 0xda, 0x25, 0xdc, 0xad, 0x96, 0xd2, 0x91, 0x44, 0xc9, + 0x12, 0xc6, 0x54, 0xe3, 0x07, 0xa0, 0xb5, 0x59, 0xd7, 0x26, 0xc0, 0x51, + 0x3e, 0x2f, 0x07, 0xa4, 0xe6, 0xca, 0x0c, 0x44, 0x4e, 0xcb, 0x4f, 0xf6, + 0xa9, 0x77, 0x88, 0x0c, 0xba, 0x4b, 0xb9, 0x93, 0xb2, 0xd2, 0x87, 0x3d, + 0xab, 0xd3, 0x59, 0xa8, 0xc4, 0x93, 0xdc, 0x28, 0x38, 0xab, 0xb1, 0x0f, + 0x63, 0xd3, 0xa8, 0xe7, +}; +static const struct drbg_kat_pr_false kat2551_t = { + 0, kat2551_entropyin, kat2551_nonce, kat2551_persstr, + kat2551_entropyinreseed, kat2551_addinreseed, kat2551_addin0, + kat2551_addin1, kat2551_retbits +}; +static const struct drbg_kat kat2551 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2551_t +}; + +static const unsigned char kat2552_entropyin[] = { + 0x9f, 0x5c, 0x41, 0x61, 0x87, 0x2a, 0x8e, 0xed, 0x8d, 0xe0, 0xd7, 0xa4, + 0x0e, 0x4c, 0x83, 0x30, 0xa0, 0x6d, 0x44, 0x4b, 0xe6, 0x7a, 0xec, 0xdc, + 0x22, 0x14, 0x1b, 0x16, 0x8c, 0x5e, 0x56, 0x07, 0xe3, 0xd7, 0xf2, 0xf0, + 0xb2, 0x06, 0xdc, 0xd7, +}; +static const unsigned char kat2552_nonce[] = {0}; +static const unsigned char kat2552_persstr[] = { + 0xab, 0x9e, 0xe1, 0xb4, 0x97, 0x4e, 0x9e, 0x62, 0x8a, 0x75, 0xc3, 0x5f, + 0x59, 0xa9, 0x05, 0xec, 0x1c, 0xf6, 0xcd, 0x8b, 0x29, 0x27, 0xcf, 0x5e, + 0xeb, 0x4b, 0xf3, 0x52, 0x9c, 0x40, 0xe2, 0xb4, 0xf6, 0x47, 0xa3, 0xe5, + 0x2d, 0xa3, 0x66, 0xce, +}; +static const unsigned char kat2552_entropyinreseed[] = { + 0x59, 0x67, 0xee, 0xee, 0x36, 0xac, 0xfe, 0xfa, 0x19, 0x1d, 0x33, 0x5c, + 0x62, 0x5a, 0x43, 0x3b, 0x1a, 0x93, 0x52, 0x98, 0x99, 0x13, 0x84, 0xcd, + 0x67, 0xa4, 0x21, 0x2f, 0xad, 0xed, 0xfb, 0xdd, 0x0c, 0xe0, 0x84, 0x61, + 0x74, 0xc2, 0x26, 0xe7, +}; +static const unsigned char kat2552_addinreseed[] = {0}; +static const unsigned char kat2552_addin0[] = {0}; +static const unsigned char kat2552_addin1[] = {0}; +static const unsigned char kat2552_retbits[] = { + 0x16, 0x6a, 0x0a, 0x73, 0xab, 0xab, 0x05, 0xa9, 0x4c, 0x5e, 0xf7, 0x8c, + 0xee, 0x8e, 0x21, 0x1f, 0x6b, 0x79, 0xa7, 0x7a, 0xa4, 0xd4, 0x6d, 0x9a, + 0x13, 0xec, 0x97, 0xad, 0x3b, 0x64, 0xbf, 0xa3, 0x0f, 0xcb, 0x2a, 0x3c, + 0x25, 0xc1, 0xa4, 0x2a, 0xb5, 0x2f, 0xa6, 0x30, 0x5d, 0xfc, 0x05, 0x9c, + 0xbe, 0x45, 0x9a, 0x67, 0x49, 0x14, 0xc2, 0x25, 0x8e, 0xc6, 0x84, 0x30, + 0x94, 0x41, 0x69, 0x2e, +}; +static const struct drbg_kat_pr_false kat2552_t = { + 1, kat2552_entropyin, kat2552_nonce, kat2552_persstr, + kat2552_entropyinreseed, kat2552_addinreseed, kat2552_addin0, + kat2552_addin1, kat2552_retbits +}; +static const struct drbg_kat kat2552 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2552_t +}; + +static const unsigned char kat2553_entropyin[] = { + 0x5d, 0x93, 0x35, 0x4c, 0x4a, 0x62, 0x0e, 0x82, 0x9a, 0x7c, 0xc5, 0xde, + 0x8c, 0x0c, 0xcd, 0x0b, 0xb0, 0xaf, 0x65, 0x5a, 0xea, 0x62, 0x29, 0x43, + 0xc2, 0x17, 0x68, 0x35, 0xad, 0xd5, 0xce, 0xe5, 0xbc, 0xe9, 0x2a, 0x6a, + 0x3c, 0x97, 0x29, 0x03, +}; +static const unsigned char kat2553_nonce[] = {0}; +static const unsigned char kat2553_persstr[] = { + 0x86, 0x4e, 0x83, 0xc6, 0xe5, 0x17, 0x2a, 0xd9, 0xa6, 0x4f, 0x2d, 0x3c, + 0x8c, 0x50, 0x27, 0x8c, 0x18, 0x59, 0x99, 0x6d, 0x65, 0x13, 0xfc, 0x40, + 0xac, 0xe1, 0x99, 0x92, 0xa0, 0xdd, 0xa0, 0x10, 0xcf, 0x37, 0x1d, 0x66, + 0x07, 0x21, 0xb2, 0x6f, +}; +static const unsigned char kat2553_entropyinreseed[] = { + 0x39, 0x0d, 0x5e, 0x0d, 0xbe, 0x18, 0x4f, 0x93, 0x9b, 0xef, 0x7c, 0x64, + 0xb6, 0xe6, 0x8a, 0x35, 0x30, 0xf9, 0x26, 0xd4, 0x3e, 0xbf, 0x64, 0x4d, + 0x6c, 0xbf, 0x77, 0x6c, 0x6d, 0x26, 0x89, 0xa5, 0x9f, 0xec, 0xd9, 0x51, + 0x6b, 0xc6, 0x1f, 0xb5, +}; +static const unsigned char kat2553_addinreseed[] = {0}; +static const unsigned char kat2553_addin0[] = {0}; +static const unsigned char kat2553_addin1[] = {0}; +static const unsigned char kat2553_retbits[] = { + 0x35, 0xdd, 0x52, 0x55, 0x94, 0x60, 0x04, 0xc9, 0x86, 0xca, 0x03, 0x58, + 0xe9, 0xc3, 0xad, 0xc7, 0xfe, 0xfd, 0x15, 0x19, 0x6f, 0x4a, 0xda, 0xa2, + 0xdb, 0x14, 0x72, 0x90, 0x82, 0x9c, 0xf4, 0x4c, 0xfb, 0x0d, 0x53, 0x6e, + 0xf1, 0x34, 0x09, 0x62, 0x48, 0x0d, 0x96, 0x60, 0x7b, 0x2d, 0x53, 0x3d, + 0xc6, 0xc0, 0xc7, 0xa9, 0xca, 0xe6, 0xaf, 0x07, 0xf2, 0x55, 0x56, 0x84, + 0xce, 0x6a, 0x23, 0x17, +}; +static const struct drbg_kat_pr_false kat2553_t = { + 2, kat2553_entropyin, kat2553_nonce, kat2553_persstr, + kat2553_entropyinreseed, kat2553_addinreseed, kat2553_addin0, + kat2553_addin1, kat2553_retbits +}; +static const struct drbg_kat kat2553 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2553_t +}; + +static const unsigned char kat2554_entropyin[] = { + 0xfa, 0xf4, 0xe0, 0xb0, 0x2e, 0xe9, 0xd6, 0xbc, 0xd3, 0x07, 0x1d, 0x08, + 0xaa, 0x09, 0xfd, 0xac, 0xf1, 0x65, 0xa1, 0x06, 0x41, 0x2f, 0xb6, 0x28, + 0xa3, 0xaf, 0x5d, 0x96, 0x81, 0xa6, 0x94, 0x11, 0xdc, 0xf5, 0x75, 0x32, + 0xd8, 0x9e, 0xb7, 0x72, +}; +static const unsigned char kat2554_nonce[] = {0}; +static const unsigned char kat2554_persstr[] = { + 0x29, 0x26, 0x20, 0x27, 0x40, 0xb7, 0xd5, 0xff, 0xcb, 0xdb, 0x22, 0xf8, + 0x23, 0xd3, 0xe4, 0x7f, 0x3b, 0x92, 0x24, 0x38, 0x22, 0x77, 0xf0, 0x7c, + 0x95, 0x6d, 0x25, 0xfa, 0x0b, 0x18, 0x12, 0x4c, 0x28, 0xe9, 0x6f, 0x04, + 0xdc, 0x1b, 0xaa, 0x43, +}; +static const unsigned char kat2554_entropyinreseed[] = { + 0x63, 0x2a, 0x9e, 0xe7, 0x1f, 0xc6, 0xbe, 0x34, 0xcc, 0x0a, 0x4f, 0xf2, + 0x12, 0xd1, 0x5f, 0x48, 0x27, 0xd1, 0x74, 0x48, 0x9f, 0x2d, 0x4c, 0x93, + 0x63, 0xe0, 0x55, 0x62, 0x5a, 0xa3, 0x68, 0xbd, 0x72, 0x58, 0x78, 0x25, + 0x17, 0x45, 0x8f, 0x3d, +}; +static const unsigned char kat2554_addinreseed[] = {0}; +static const unsigned char kat2554_addin0[] = {0}; +static const unsigned char kat2554_addin1[] = {0}; +static const unsigned char kat2554_retbits[] = { + 0x91, 0x73, 0xe1, 0xa6, 0x8a, 0x70, 0x8f, 0x14, 0x56, 0xfd, 0x19, 0xd3, + 0x4c, 0x53, 0x97, 0x87, 0xb8, 0xca, 0x9c, 0x8e, 0x2c, 0x3c, 0x0a, 0xb7, + 0xad, 0x73, 0xac, 0x06, 0xa1, 0x31, 0xa5, 0xf1, 0xc1, 0xb0, 0xbd, 0x64, + 0xaa, 0x28, 0xe1, 0xdd, 0xb8, 0xf7, 0x11, 0xb4, 0xc0, 0x13, 0xf3, 0x25, + 0x47, 0xc8, 0xa6, 0x37, 0x01, 0xb8, 0x35, 0xd3, 0x85, 0x18, 0x2a, 0x69, + 0x76, 0x1b, 0xf8, 0x53, +}; +static const struct drbg_kat_pr_false kat2554_t = { + 3, kat2554_entropyin, kat2554_nonce, kat2554_persstr, + kat2554_entropyinreseed, kat2554_addinreseed, kat2554_addin0, + kat2554_addin1, kat2554_retbits +}; +static const struct drbg_kat kat2554 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2554_t +}; + +static const unsigned char kat2555_entropyin[] = { + 0x07, 0xc5, 0x3c, 0x6c, 0x51, 0x1c, 0xe7, 0xad, 0x81, 0xa0, 0x9d, 0x3b, + 0x12, 0x54, 0x5b, 0x59, 0x20, 0x4b, 0x02, 0x87, 0x8e, 0xa4, 0x81, 0xe0, + 0xc1, 0x6e, 0xa5, 0x1f, 0x16, 0x9b, 0x1c, 0xd7, 0x82, 0x43, 0x03, 0x7a, + 0xea, 0xf9, 0xdb, 0xef, +}; +static const unsigned char kat2555_nonce[] = {0}; +static const unsigned char kat2555_persstr[] = { + 0xa9, 0x06, 0xff, 0x51, 0xad, 0x03, 0x43, 0x24, 0x26, 0xd0, 0x26, 0xc3, + 0xeb, 0x57, 0x3f, 0xf6, 0x68, 0xc9, 0xb4, 0x6f, 0x1d, 0x48, 0xac, 0x2d, + 0x51, 0xb2, 0x1a, 0xfe, 0x65, 0x02, 0x25, 0x0d, 0xa0, 0xcc, 0x2e, 0x1e, + 0x9f, 0xb4, 0x68, 0x72, +}; +static const unsigned char kat2555_entropyinreseed[] = { + 0xe1, 0x05, 0xc2, 0x9c, 0x72, 0x59, 0xe6, 0xc4, 0xf4, 0xad, 0x2e, 0xd9, + 0x32, 0xd0, 0xe1, 0x24, 0x75, 0x1d, 0xd6, 0x92, 0x70, 0xd3, 0xf0, 0xea, + 0x3d, 0x82, 0x66, 0x73, 0xb8, 0x06, 0xbc, 0x52, 0x67, 0x38, 0x66, 0xb7, + 0x26, 0x8e, 0x91, 0xbf, +}; +static const unsigned char kat2555_addinreseed[] = {0}; +static const unsigned char kat2555_addin0[] = {0}; +static const unsigned char kat2555_addin1[] = {0}; +static const unsigned char kat2555_retbits[] = { + 0xf0, 0x18, 0x75, 0x11, 0x33, 0x52, 0xca, 0x1c, 0xc7, 0x5f, 0x61, 0x78, + 0x67, 0xf9, 0x2a, 0x14, 0xa9, 0x64, 0xfa, 0x2e, 0x2a, 0x07, 0xc4, 0x3a, + 0xdc, 0xc0, 0x49, 0x63, 0x5b, 0x78, 0xc9, 0x2e, 0x5c, 0x71, 0x74, 0x70, + 0x18, 0x6b, 0x94, 0x67, 0x39, 0x0d, 0xb9, 0x81, 0x0d, 0xc3, 0xc3, 0xf7, + 0x66, 0x71, 0x27, 0xe8, 0x26, 0x31, 0x4f, 0xda, 0x7a, 0x01, 0xb8, 0x89, + 0x7b, 0x05, 0xd2, 0x74, +}; +static const struct drbg_kat_pr_false kat2555_t = { + 4, kat2555_entropyin, kat2555_nonce, kat2555_persstr, + kat2555_entropyinreseed, kat2555_addinreseed, kat2555_addin0, + kat2555_addin1, kat2555_retbits +}; +static const struct drbg_kat kat2555 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2555_t +}; + +static const unsigned char kat2556_entropyin[] = { + 0xc7, 0x58, 0x43, 0x26, 0xf2, 0x95, 0xce, 0x20, 0xc6, 0xff, 0xc9, 0xa5, + 0x31, 0x9e, 0x70, 0x55, 0x4f, 0x96, 0xcc, 0x24, 0xab, 0x23, 0xd8, 0x44, + 0xd1, 0x4b, 0xfa, 0xf5, 0x32, 0xb2, 0xb9, 0x5d, 0xf7, 0x7c, 0x5f, 0x4e, + 0x57, 0x1b, 0x75, 0x5c, +}; +static const unsigned char kat2556_nonce[] = {0}; +static const unsigned char kat2556_persstr[] = { + 0xd9, 0x1b, 0xa3, 0xbd, 0x00, 0x97, 0xcc, 0x53, 0x25, 0x3a, 0xa1, 0x67, + 0x49, 0xd4, 0xd2, 0xb9, 0xfd, 0xd3, 0x25, 0xf4, 0xd9, 0x89, 0xe3, 0x5b, + 0x42, 0x8e, 0x16, 0x45, 0x6b, 0xe3, 0x23, 0x08, 0x64, 0xcb, 0x2e, 0xd1, + 0x3d, 0xf5, 0xf1, 0xfd, +}; +static const unsigned char kat2556_entropyinreseed[] = { + 0xa4, 0xab, 0x7c, 0xba, 0x17, 0xcc, 0x5a, 0x21, 0x1e, 0x75, 0xcf, 0x6e, + 0xdf, 0x5f, 0x42, 0xf2, 0xe6, 0xad, 0xb2, 0x97, 0xc8, 0xa8, 0xa7, 0x1b, + 0x0b, 0x10, 0xd4, 0x79, 0x45, 0x4e, 0xc9, 0xe5, 0x1a, 0xb1, 0x4c, 0x67, + 0x94, 0x68, 0xf5, 0xa6, +}; +static const unsigned char kat2556_addinreseed[] = {0}; +static const unsigned char kat2556_addin0[] = {0}; +static const unsigned char kat2556_addin1[] = {0}; +static const unsigned char kat2556_retbits[] = { + 0x12, 0x23, 0x2f, 0x1f, 0x47, 0xa8, 0xfd, 0xc6, 0xaf, 0x93, 0x11, 0x15, + 0x70, 0xb9, 0x2a, 0x30, 0x5f, 0x69, 0x94, 0xbb, 0xa3, 0xdb, 0x06, 0xea, + 0x1c, 0x61, 0x7e, 0x4a, 0x2f, 0x45, 0xf0, 0xb9, 0x5c, 0x3f, 0x3f, 0x4a, + 0x81, 0x1b, 0x97, 0x77, 0x02, 0x31, 0xf2, 0xed, 0xcc, 0x14, 0x9b, 0x0e, + 0x6b, 0x13, 0x65, 0x7c, 0x75, 0x4b, 0x69, 0xf9, 0xd7, 0x82, 0x82, 0x49, + 0x1b, 0xd0, 0x30, 0xf7, +}; +static const struct drbg_kat_pr_false kat2556_t = { + 5, kat2556_entropyin, kat2556_nonce, kat2556_persstr, + kat2556_entropyinreseed, kat2556_addinreseed, kat2556_addin0, + kat2556_addin1, kat2556_retbits +}; +static const struct drbg_kat kat2556 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2556_t +}; + +static const unsigned char kat2557_entropyin[] = { + 0xfd, 0x86, 0xc7, 0x7c, 0x64, 0xfc, 0x5b, 0x21, 0x93, 0x1a, 0x98, 0xf3, + 0x4a, 0xe2, 0x30, 0x3f, 0x64, 0xf4, 0x9c, 0xc6, 0xa5, 0x82, 0xff, 0x8e, + 0x44, 0xb8, 0xec, 0xa0, 0xac, 0xd7, 0xc2, 0xee, 0x7b, 0x15, 0x18, 0x14, + 0xc7, 0x46, 0x88, 0x23, +}; +static const unsigned char kat2557_nonce[] = {0}; +static const unsigned char kat2557_persstr[] = { + 0x07, 0x25, 0x86, 0x68, 0xa7, 0x49, 0x22, 0xc6, 0x58, 0x3b, 0x88, 0xf5, + 0xe8, 0xdf, 0xa5, 0xc6, 0x28, 0x10, 0x0a, 0xcd, 0x2f, 0x7e, 0x8a, 0xaf, + 0x81, 0x00, 0x27, 0xf6, 0xb0, 0xfc, 0xbe, 0x89, 0xd8, 0xde, 0x16, 0xfa, + 0xb6, 0x55, 0x98, 0x92, +}; +static const unsigned char kat2557_entropyinreseed[] = { + 0x6d, 0x8c, 0x53, 0xd3, 0xaf, 0xfe, 0xad, 0x61, 0xe6, 0xdd, 0xfc, 0x26, + 0xd4, 0xb8, 0x91, 0x74, 0x2f, 0x9a, 0x7e, 0x5d, 0x59, 0xef, 0x51, 0x1a, + 0xb8, 0x8a, 0x44, 0xaa, 0xc3, 0x42, 0x1d, 0x03, 0x55, 0xd3, 0x73, 0x98, + 0x32, 0xe3, 0x4c, 0x4e, +}; +static const unsigned char kat2557_addinreseed[] = {0}; +static const unsigned char kat2557_addin0[] = {0}; +static const unsigned char kat2557_addin1[] = {0}; +static const unsigned char kat2557_retbits[] = { + 0xfa, 0xa3, 0xd6, 0x5e, 0xda, 0xac, 0x98, 0xd3, 0x31, 0x6d, 0xcb, 0x13, + 0x44, 0x5e, 0xaa, 0xd0, 0xcd, 0xfc, 0x69, 0xa4, 0xa5, 0x78, 0xb8, 0x1a, + 0x79, 0x2a, 0x49, 0x47, 0x9f, 0x15, 0xed, 0x0a, 0xb3, 0xc6, 0x06, 0x13, + 0xa6, 0x89, 0xbc, 0x79, 0xac, 0x38, 0x08, 0x07, 0xb1, 0xb7, 0xd5, 0x02, + 0xba, 0x88, 0x74, 0x57, 0x96, 0x8e, 0xbb, 0x22, 0x10, 0xb8, 0xd2, 0xe9, + 0x7b, 0xdf, 0xdc, 0xb1, +}; +static const struct drbg_kat_pr_false kat2557_t = { + 6, kat2557_entropyin, kat2557_nonce, kat2557_persstr, + kat2557_entropyinreseed, kat2557_addinreseed, kat2557_addin0, + kat2557_addin1, kat2557_retbits +}; +static const struct drbg_kat kat2557 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2557_t +}; + +static const unsigned char kat2558_entropyin[] = { + 0x6c, 0xac, 0x4b, 0x31, 0x28, 0x61, 0x8c, 0x27, 0xc2, 0xa3, 0xa2, 0x73, + 0x54, 0xab, 0x6a, 0x62, 0x99, 0x94, 0xf6, 0x79, 0xdb, 0x20, 0x15, 0x21, + 0xd8, 0x67, 0x9c, 0xd0, 0x3a, 0xfd, 0xbb, 0x71, 0x7e, 0xd9, 0x2e, 0xfb, + 0x02, 0x5f, 0x8c, 0x45, +}; +static const unsigned char kat2558_nonce[] = {0}; +static const unsigned char kat2558_persstr[] = { + 0xd0, 0xef, 0x6a, 0xb5, 0xc7, 0x14, 0x75, 0x47, 0x83, 0x4b, 0x52, 0x97, + 0xc5, 0x1e, 0x45, 0xb6, 0x11, 0x30, 0xac, 0x0d, 0x7d, 0x8d, 0x7d, 0xa9, + 0xfb, 0xee, 0x0a, 0x2a, 0xe5, 0x9a, 0x09, 0x3f, 0xe9, 0x34, 0xab, 0xc7, + 0x19, 0x4e, 0x57, 0x23, +}; +static const unsigned char kat2558_entropyinreseed[] = { + 0x09, 0x76, 0x36, 0x46, 0x41, 0x11, 0x8f, 0x8f, 0x1f, 0x02, 0x20, 0x56, + 0xa8, 0x45, 0x41, 0x73, 0x1c, 0xb4, 0xa6, 0x16, 0xbe, 0x61, 0x76, 0x07, + 0x60, 0x06, 0x64, 0x23, 0x04, 0x49, 0xbb, 0xb0, 0x3b, 0xe3, 0x4d, 0x2d, + 0x31, 0xc8, 0x29, 0xf8, +}; +static const unsigned char kat2558_addinreseed[] = {0}; +static const unsigned char kat2558_addin0[] = {0}; +static const unsigned char kat2558_addin1[] = {0}; +static const unsigned char kat2558_retbits[] = { + 0x87, 0x48, 0xf9, 0x0e, 0xef, 0xe8, 0x4f, 0xdf, 0xd8, 0xc2, 0x33, 0x8a, + 0x5f, 0x7c, 0xd7, 0xdf, 0xa0, 0x60, 0x97, 0xe7, 0x7d, 0xf9, 0x9e, 0x7e, + 0x5e, 0x7d, 0x17, 0x02, 0x85, 0xd1, 0xce, 0x6a, 0x77, 0x09, 0x9d, 0xf7, + 0x5e, 0x47, 0xbf, 0xe0, 0x9e, 0xa5, 0xcb, 0xc6, 0x89, 0xef, 0xc7, 0x9a, + 0xb4, 0x12, 0x55, 0x11, 0x58, 0x9e, 0xd2, 0x6c, 0x1e, 0x67, 0xa7, 0xa3, + 0xc6, 0x67, 0x36, 0x98, +}; +static const struct drbg_kat_pr_false kat2558_t = { + 7, kat2558_entropyin, kat2558_nonce, kat2558_persstr, + kat2558_entropyinreseed, kat2558_addinreseed, kat2558_addin0, + kat2558_addin1, kat2558_retbits +}; +static const struct drbg_kat kat2558 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2558_t +}; + +static const unsigned char kat2559_entropyin[] = { + 0x78, 0xbc, 0xfe, 0x65, 0xd4, 0x36, 0x52, 0xcb, 0xc1, 0x76, 0xc1, 0x1d, + 0xf1, 0x2d, 0x80, 0xd0, 0x85, 0x86, 0xcd, 0xff, 0x69, 0x4a, 0xff, 0x78, + 0x2b, 0x72, 0xe2, 0x9b, 0x73, 0x7d, 0x38, 0xa7, 0x10, 0x94, 0x92, 0x27, + 0x89, 0x8e, 0x98, 0xab, +}; +static const unsigned char kat2559_nonce[] = {0}; +static const unsigned char kat2559_persstr[] = { + 0xaa, 0xd3, 0xca, 0xca, 0x9f, 0x6e, 0x34, 0xcb, 0xf1, 0x50, 0x92, 0xdd, + 0x29, 0x85, 0x48, 0x93, 0xf6, 0x33, 0x8d, 0xf7, 0x7c, 0x79, 0x65, 0x99, + 0x20, 0xec, 0x9f, 0xa8, 0xcb, 0x9a, 0x92, 0xc2, 0xa5, 0x8c, 0x4d, 0x1e, + 0x0e, 0x19, 0x9c, 0x41, +}; +static const unsigned char kat2559_entropyinreseed[] = { + 0x55, 0xeb, 0x2d, 0x71, 0x01, 0x6d, 0xf0, 0x60, 0x28, 0x6e, 0x20, 0x31, + 0x3d, 0xe6, 0x6a, 0xde, 0xee, 0x61, 0x21, 0x58, 0xfd, 0x57, 0xa6, 0x85, + 0x18, 0x1c, 0x82, 0xd0, 0xb9, 0x11, 0x31, 0xdf, 0xb2, 0xae, 0xb0, 0xed, + 0xff, 0x73, 0xda, 0x20, +}; +static const unsigned char kat2559_addinreseed[] = {0}; +static const unsigned char kat2559_addin0[] = {0}; +static const unsigned char kat2559_addin1[] = {0}; +static const unsigned char kat2559_retbits[] = { + 0xa3, 0x43, 0x4d, 0x9e, 0xb1, 0xaf, 0x5e, 0x68, 0xc5, 0xfe, 0x25, 0xa5, + 0x36, 0x5f, 0x8d, 0x67, 0x21, 0xbf, 0x61, 0x49, 0x5e, 0x81, 0x74, 0xaa, + 0x01, 0x8c, 0xe7, 0x35, 0x4d, 0xae, 0xc8, 0xda, 0xaa, 0x55, 0x91, 0x12, + 0xad, 0x6c, 0x8e, 0x6e, 0x40, 0x29, 0x04, 0x04, 0xce, 0xa2, 0x24, 0xe2, + 0xf6, 0x60, 0xf1, 0xc2, 0x45, 0xe2, 0x5f, 0x17, 0x5b, 0xdb, 0x18, 0x24, + 0x9a, 0xb0, 0xcc, 0x54, +}; +static const struct drbg_kat_pr_false kat2559_t = { + 8, kat2559_entropyin, kat2559_nonce, kat2559_persstr, + kat2559_entropyinreseed, kat2559_addinreseed, kat2559_addin0, + kat2559_addin1, kat2559_retbits +}; +static const struct drbg_kat kat2559 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2559_t +}; + +static const unsigned char kat2560_entropyin[] = { + 0xb8, 0xa8, 0x84, 0xe0, 0x48, 0x94, 0x51, 0x55, 0x10, 0x4e, 0x51, 0xc1, + 0xac, 0x9e, 0xd5, 0x24, 0x5f, 0xc0, 0xdd, 0x69, 0x22, 0x08, 0xf3, 0x25, + 0xaa, 0xda, 0x39, 0x01, 0x27, 0x54, 0xb4, 0xcb, 0x8a, 0x0e, 0x57, 0xed, + 0x0f, 0xae, 0x1f, 0xb9, +}; +static const unsigned char kat2560_nonce[] = {0}; +static const unsigned char kat2560_persstr[] = { + 0xb9, 0x45, 0x4b, 0x50, 0xab, 0xd7, 0x77, 0x57, 0xea, 0x0c, 0xc8, 0x69, + 0x2b, 0xc6, 0x4d, 0x3d, 0x8b, 0xf5, 0x56, 0xc9, 0xd6, 0x2f, 0x7a, 0x6f, + 0xc0, 0x61, 0x92, 0x2b, 0x4d, 0x15, 0xe5, 0xc3, 0xad, 0xa7, 0x14, 0x0c, + 0xe8, 0x56, 0x82, 0x76, +}; +static const unsigned char kat2560_entropyinreseed[] = { + 0x0f, 0x36, 0xab, 0x0c, 0x37, 0x57, 0xe9, 0xe5, 0x3f, 0x07, 0x1b, 0x23, + 0xf8, 0x6a, 0x3f, 0x98, 0xaf, 0x4c, 0x81, 0x53, 0x87, 0x0d, 0x3c, 0x7d, + 0x3f, 0x34, 0x54, 0x59, 0xc2, 0x88, 0xab, 0x65, 0xc1, 0x68, 0x20, 0xf6, + 0x62, 0xa1, 0x57, 0x69, +}; +static const unsigned char kat2560_addinreseed[] = {0}; +static const unsigned char kat2560_addin0[] = {0}; +static const unsigned char kat2560_addin1[] = {0}; +static const unsigned char kat2560_retbits[] = { + 0x96, 0x83, 0xb2, 0x63, 0x52, 0x2d, 0x8d, 0xb7, 0xcb, 0xb0, 0x32, 0xb1, + 0x94, 0x1b, 0x9d, 0x2f, 0x91, 0x83, 0xe5, 0x01, 0x21, 0xe8, 0xf7, 0x00, + 0x1c, 0x53, 0x76, 0xbb, 0x8b, 0xfc, 0xf7, 0x6b, 0x7d, 0x4e, 0x44, 0x93, + 0xa9, 0x79, 0x9d, 0xbf, 0x87, 0xd1, 0x7c, 0x12, 0x7b, 0x77, 0xa3, 0x59, + 0x64, 0x58, 0x35, 0x97, 0x89, 0x80, 0xd0, 0xfa, 0xcb, 0xed, 0xfd, 0xfb, + 0xa8, 0xc4, 0x18, 0x8e, +}; +static const struct drbg_kat_pr_false kat2560_t = { + 9, kat2560_entropyin, kat2560_nonce, kat2560_persstr, + kat2560_entropyinreseed, kat2560_addinreseed, kat2560_addin0, + kat2560_addin1, kat2560_retbits +}; +static const struct drbg_kat kat2560 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2560_t +}; + +static const unsigned char kat2561_entropyin[] = { + 0x26, 0x93, 0x65, 0xf7, 0xdf, 0x50, 0x8e, 0x36, 0x31, 0x45, 0x53, 0xee, + 0x04, 0x35, 0xb2, 0x42, 0x37, 0x23, 0xe5, 0xaf, 0x6a, 0xe2, 0x80, 0x34, + 0x10, 0xb0, 0x18, 0x82, 0xed, 0x86, 0xb4, 0xb0, 0x75, 0x17, 0x05, 0xb0, + 0x12, 0x98, 0xc7, 0x45, +}; +static const unsigned char kat2561_nonce[] = {0}; +static const unsigned char kat2561_persstr[] = { + 0x33, 0x27, 0x95, 0x85, 0x05, 0x16, 0xf0, 0xa8, 0xfa, 0xfc, 0x2d, 0xb0, + 0x6f, 0x26, 0x35, 0x22, 0xa4, 0x74, 0xb2, 0x1e, 0xbb, 0xd5, 0xde, 0xef, + 0x68, 0xc7, 0xdb, 0xbe, 0x89, 0x8b, 0xce, 0x1d, 0xd0, 0xbf, 0x9c, 0x58, + 0x89, 0x17, 0x96, 0x6d, +}; +static const unsigned char kat2561_entropyinreseed[] = { + 0x18, 0x85, 0x46, 0x4a, 0xba, 0x81, 0xf8, 0xb6, 0xa0, 0x1d, 0x71, 0x15, + 0x52, 0x71, 0xad, 0xcd, 0x2c, 0x0b, 0x30, 0xa6, 0x33, 0x4d, 0x1d, 0x0c, + 0xd7, 0x36, 0x7c, 0xd1, 0xfd, 0x14, 0x29, 0x28, 0x40, 0xa9, 0xd7, 0x13, + 0x24, 0xd0, 0x56, 0x7d, +}; +static const unsigned char kat2561_addinreseed[] = {0}; +static const unsigned char kat2561_addin0[] = {0}; +static const unsigned char kat2561_addin1[] = {0}; +static const unsigned char kat2561_retbits[] = { + 0xb3, 0x87, 0x97, 0x50, 0xb4, 0x88, 0x16, 0xbd, 0x71, 0xbf, 0x8d, 0x31, + 0x21, 0xfb, 0x97, 0x78, 0x58, 0xef, 0x81, 0xf2, 0xa9, 0x15, 0xfe, 0x09, + 0x28, 0x4d, 0x89, 0xe9, 0x33, 0x2c, 0xe4, 0x37, 0x4d, 0x5b, 0xf6, 0x52, + 0x9c, 0x9f, 0xf8, 0xb2, 0x93, 0xb2, 0x4e, 0x67, 0xed, 0x5e, 0x47, 0x92, + 0x34, 0xdb, 0xad, 0x73, 0x77, 0x89, 0xed, 0x3d, 0xfd, 0xed, 0x64, 0x1b, + 0xe6, 0x4c, 0x0f, 0xe7, +}; +static const struct drbg_kat_pr_false kat2561_t = { + 10, kat2561_entropyin, kat2561_nonce, kat2561_persstr, + kat2561_entropyinreseed, kat2561_addinreseed, kat2561_addin0, + kat2561_addin1, kat2561_retbits +}; +static const struct drbg_kat kat2561 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2561_t +}; + +static const unsigned char kat2562_entropyin[] = { + 0x93, 0x77, 0xfe, 0xbe, 0x57, 0x7b, 0xf5, 0x63, 0x01, 0x2f, 0x09, 0x68, + 0xae, 0x6d, 0x85, 0x56, 0xf5, 0x04, 0xb5, 0x6d, 0x29, 0xb0, 0xad, 0x1e, + 0x78, 0x5f, 0x82, 0xeb, 0x6a, 0x78, 0x84, 0x08, 0xd1, 0xc4, 0x69, 0xac, + 0xbe, 0x57, 0xc5, 0xe1, +}; +static const unsigned char kat2562_nonce[] = {0}; +static const unsigned char kat2562_persstr[] = { + 0x98, 0xeb, 0x22, 0x15, 0xfd, 0x93, 0x1f, 0xea, 0x2c, 0xdf, 0x97, 0xa7, + 0xdc, 0xfd, 0x08, 0x5c, 0x01, 0x23, 0xea, 0x75, 0x85, 0xa9, 0x1c, 0x70, + 0x4e, 0x2f, 0x44, 0x04, 0xd8, 0x96, 0x77, 0x4e, 0x7a, 0xcd, 0xe9, 0x55, + 0x8e, 0x26, 0x44, 0x20, +}; +static const unsigned char kat2562_entropyinreseed[] = { + 0x0b, 0xda, 0x0c, 0x7b, 0xb2, 0x3a, 0x45, 0xb1, 0x06, 0x6d, 0x83, 0x81, + 0xee, 0x56, 0xa6, 0x9b, 0xe9, 0x96, 0x75, 0x6c, 0x18, 0x46, 0x98, 0x6c, + 0x4c, 0x25, 0xcc, 0xf0, 0x90, 0x8a, 0xda, 0xcc, 0xfe, 0xf6, 0xe3, 0xa5, + 0x02, 0xc0, 0xb8, 0x67, +}; +static const unsigned char kat2562_addinreseed[] = {0}; +static const unsigned char kat2562_addin0[] = {0}; +static const unsigned char kat2562_addin1[] = {0}; +static const unsigned char kat2562_retbits[] = { + 0xca, 0xe3, 0x9e, 0x0f, 0x3e, 0xca, 0x42, 0x10, 0x19, 0x60, 0xb3, 0x6c, + 0x20, 0x8b, 0xf4, 0x22, 0xc0, 0xf3, 0xb4, 0xe8, 0x35, 0x19, 0xe8, 0x8c, + 0x10, 0x2c, 0x70, 0x5e, 0x28, 0xa6, 0x60, 0xff, 0x8f, 0x86, 0x1b, 0x12, + 0xff, 0xdc, 0x9a, 0xe5, 0x1e, 0xe5, 0x6e, 0xb9, 0x28, 0x7e, 0xa2, 0xa3, + 0x0e, 0x35, 0x15, 0xd7, 0xf2, 0x11, 0x92, 0x18, 0xa7, 0x99, 0x5f, 0x6b, + 0x67, 0x0d, 0x31, 0xf2, +}; +static const struct drbg_kat_pr_false kat2562_t = { + 11, kat2562_entropyin, kat2562_nonce, kat2562_persstr, + kat2562_entropyinreseed, kat2562_addinreseed, kat2562_addin0, + kat2562_addin1, kat2562_retbits +}; +static const struct drbg_kat kat2562 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2562_t +}; + +static const unsigned char kat2563_entropyin[] = { + 0x45, 0x32, 0xbd, 0x9e, 0xd2, 0x8c, 0xf9, 0x91, 0xf0, 0x74, 0x21, 0x37, + 0xd9, 0xe3, 0x6a, 0x61, 0x82, 0x35, 0xe6, 0x12, 0xc6, 0x98, 0xf0, 0x3a, + 0xff, 0x47, 0x78, 0xb9, 0x17, 0xd1, 0x1a, 0x3d, 0x61, 0xc2, 0x98, 0x14, + 0x25, 0x27, 0x9b, 0xb8, +}; +static const unsigned char kat2563_nonce[] = {0}; +static const unsigned char kat2563_persstr[] = { + 0xd6, 0x8a, 0x3d, 0x3a, 0x5b, 0x4b, 0x09, 0xf6, 0xaf, 0xac, 0xcf, 0xc7, + 0xda, 0x34, 0x85, 0x92, 0x9a, 0x60, 0xb7, 0xb2, 0xc1, 0x0b, 0xa0, 0x4d, + 0x7b, 0x82, 0xab, 0xbc, 0x56, 0xa8, 0xfe, 0x88, 0x74, 0xd7, 0x87, 0x4d, + 0xca, 0x35, 0xdb, 0x30, +}; +static const unsigned char kat2563_entropyinreseed[] = { + 0x91, 0xdc, 0x2e, 0x07, 0x9b, 0xc1, 0x26, 0x10, 0x67, 0x04, 0x95, 0x72, + 0x51, 0x99, 0xbe, 0xf1, 0x2f, 0xff, 0x85, 0xa2, 0x68, 0x86, 0x11, 0x0d, + 0x11, 0x92, 0x5b, 0xc9, 0xf1, 0x4e, 0x2c, 0x08, 0x19, 0x18, 0x17, 0x33, + 0x7a, 0x7b, 0xd6, 0x47, +}; +static const unsigned char kat2563_addinreseed[] = {0}; +static const unsigned char kat2563_addin0[] = {0}; +static const unsigned char kat2563_addin1[] = {0}; +static const unsigned char kat2563_retbits[] = { + 0xe7, 0x9f, 0x16, 0xb3, 0x20, 0x13, 0xd7, 0x43, 0x3c, 0xcb, 0x41, 0xdc, + 0xde, 0x09, 0x56, 0xc6, 0xe7, 0xfd, 0x85, 0x25, 0xc7, 0x46, 0x6c, 0x6d, + 0xfe, 0x8c, 0x28, 0xa1, 0x6b, 0xe0, 0x70, 0x00, 0x6c, 0x98, 0xcf, 0x0c, + 0x07, 0xe8, 0x21, 0x1a, 0x5d, 0xaa, 0xdc, 0xf8, 0xba, 0x5c, 0x36, 0xcb, + 0x14, 0x75, 0x3f, 0x34, 0x4f, 0x34, 0x67, 0x56, 0x4d, 0x64, 0xe5, 0x0b, + 0x7f, 0xe6, 0xb7, 0xbb, +}; +static const struct drbg_kat_pr_false kat2563_t = { + 12, kat2563_entropyin, kat2563_nonce, kat2563_persstr, + kat2563_entropyinreseed, kat2563_addinreseed, kat2563_addin0, + kat2563_addin1, kat2563_retbits +}; +static const struct drbg_kat kat2563 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2563_t +}; + +static const unsigned char kat2564_entropyin[] = { + 0x38, 0xf6, 0x89, 0xcb, 0xa9, 0x01, 0x7b, 0xe3, 0x72, 0x6a, 0xcc, 0x5a, + 0xb4, 0xa1, 0x49, 0xa8, 0x56, 0x2b, 0x44, 0xdf, 0xb7, 0x44, 0xeb, 0xd8, + 0x03, 0xc1, 0xf9, 0x97, 0x2a, 0xf7, 0x4e, 0x42, 0x1e, 0x5a, 0x7d, 0x26, + 0x8a, 0x2f, 0x58, 0xfb, +}; +static const unsigned char kat2564_nonce[] = {0}; +static const unsigned char kat2564_persstr[] = { + 0x6b, 0x43, 0x3b, 0x63, 0xaf, 0xe6, 0x29, 0x4f, 0x63, 0x40, 0x26, 0x20, + 0xeb, 0xd8, 0x6d, 0x35, 0x09, 0xba, 0x6c, 0x62, 0xd6, 0xab, 0x9d, 0x84, + 0x4f, 0x59, 0x90, 0x6d, 0x19, 0xd6, 0x24, 0xd9, 0x12, 0xc1, 0x1f, 0x9b, + 0x0a, 0x5c, 0x9f, 0xae, +}; +static const unsigned char kat2564_entropyinreseed[] = { + 0x2c, 0xa0, 0xb3, 0x02, 0xb2, 0xe2, 0x91, 0xb6, 0xa3, 0xfb, 0x6d, 0x78, + 0xd5, 0xb9, 0x58, 0x13, 0xed, 0x25, 0x49, 0x05, 0x25, 0x3a, 0x99, 0xf9, + 0xfd, 0xa2, 0x56, 0x15, 0x7a, 0xbb, 0x68, 0x47, 0x5c, 0xf4, 0x40, 0xd8, + 0x0f, 0xb8, 0xfb, 0x2b, +}; +static const unsigned char kat2564_addinreseed[] = {0}; +static const unsigned char kat2564_addin0[] = {0}; +static const unsigned char kat2564_addin1[] = {0}; +static const unsigned char kat2564_retbits[] = { + 0xac, 0x6f, 0x9e, 0xb6, 0x9b, 0xaa, 0xe9, 0xd3, 0x31, 0xcb, 0x8a, 0x7c, + 0xa7, 0x6f, 0x88, 0x9e, 0xd3, 0x37, 0xd6, 0xf3, 0xdb, 0xb5, 0xe3, 0xb9, + 0xe4, 0xb6, 0x84, 0x62, 0x3d, 0xf6, 0xc7, 0x97, 0xc5, 0xb5, 0xbc, 0x2a, + 0x14, 0x17, 0xa3, 0x75, 0xef, 0xdc, 0xfb, 0x02, 0x26, 0xf5, 0x51, 0xfd, + 0x93, 0x01, 0xf0, 0xaa, 0x54, 0xf0, 0xd4, 0x3c, 0x92, 0x4b, 0xa2, 0xc8, + 0xdc, 0x2f, 0x09, 0x5d, +}; +static const struct drbg_kat_pr_false kat2564_t = { + 13, kat2564_entropyin, kat2564_nonce, kat2564_persstr, + kat2564_entropyinreseed, kat2564_addinreseed, kat2564_addin0, + kat2564_addin1, kat2564_retbits +}; +static const struct drbg_kat kat2564 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2564_t +}; + +static const unsigned char kat2565_entropyin[] = { + 0x8f, 0x00, 0x1f, 0x32, 0x77, 0xb7, 0x15, 0x5d, 0x21, 0xe6, 0xab, 0x80, + 0x38, 0xb5, 0xce, 0xd7, 0x62, 0x73, 0x7e, 0x2d, 0xe8, 0x4d, 0xcf, 0x07, + 0xa8, 0xf4, 0xbb, 0xe0, 0xf0, 0x28, 0x14, 0xe8, 0xa6, 0x08, 0x43, 0xa1, + 0x43, 0xee, 0xef, 0x1d, +}; +static const unsigned char kat2565_nonce[] = {0}; +static const unsigned char kat2565_persstr[] = { + 0xd8, 0x11, 0xd4, 0x76, 0x96, 0x0f, 0x2d, 0x50, 0x32, 0xcc, 0x3f, 0xb7, + 0x00, 0x2b, 0xe1, 0x55, 0xc6, 0x31, 0x4e, 0x03, 0xae, 0x77, 0x88, 0xdc, + 0x88, 0x6d, 0x0e, 0x18, 0xc7, 0x6e, 0xe4, 0xff, 0xf3, 0x00, 0x89, 0x82, + 0xce, 0xa4, 0x3e, 0xa2, +}; +static const unsigned char kat2565_entropyinreseed[] = { + 0x8f, 0xad, 0x4a, 0xec, 0x11, 0x50, 0x7a, 0x39, 0x4b, 0xe8, 0xbf, 0x8c, + 0xf2, 0x4c, 0x4f, 0x24, 0x42, 0xc4, 0x59, 0x48, 0xb5, 0xdd, 0xf2, 0x8e, + 0xbe, 0x33, 0xf9, 0x64, 0x3a, 0xe5, 0xd2, 0x13, 0x37, 0xec, 0x8d, 0xed, + 0xc9, 0xb2, 0x3e, 0x1a, +}; +static const unsigned char kat2565_addinreseed[] = {0}; +static const unsigned char kat2565_addin0[] = {0}; +static const unsigned char kat2565_addin1[] = {0}; +static const unsigned char kat2565_retbits[] = { + 0x6d, 0x35, 0x3a, 0x66, 0xb4, 0xcd, 0x16, 0xff, 0xc5, 0x46, 0x9b, 0x1c, + 0x16, 0x95, 0x1b, 0xa0, 0x0b, 0x07, 0x5d, 0xb4, 0xf1, 0x28, 0x2d, 0xf1, + 0xcb, 0xa7, 0x26, 0x7b, 0x9e, 0x19, 0x1e, 0x21, 0xf6, 0x04, 0xdd, 0xa9, + 0xeb, 0x48, 0x92, 0x1f, 0x92, 0x7f, 0x1d, 0x7b, 0x45, 0x48, 0xd5, 0xbc, + 0xc5, 0x80, 0x82, 0x9c, 0x42, 0x2e, 0xf0, 0xd5, 0xb2, 0x12, 0x7d, 0x5e, + 0xff, 0x4b, 0x02, 0x0c, +}; +static const struct drbg_kat_pr_false kat2565_t = { + 14, kat2565_entropyin, kat2565_nonce, kat2565_persstr, + kat2565_entropyinreseed, kat2565_addinreseed, kat2565_addin0, + kat2565_addin1, kat2565_retbits +}; +static const struct drbg_kat kat2565 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2565_t +}; + +static const unsigned char kat2566_entropyin[] = { + 0xff, 0x9e, 0x27, 0x5e, 0xd0, 0xed, 0x21, 0xe8, 0xd9, 0x08, 0x7a, 0x2a, + 0xe0, 0xab, 0x2b, 0x26, 0xfd, 0x6e, 0x3e, 0x22, 0xc3, 0x66, 0x1d, 0x16, + 0xdd, 0xcb, 0xfd, 0x10, 0x96, 0x09, 0x92, 0x0e, 0xd2, 0x49, 0x31, 0xb8, + 0xe4, 0xc9, 0x13, 0xd9, +}; +static const unsigned char kat2566_nonce[] = {0}; +static const unsigned char kat2566_persstr[] = { + 0xc2, 0xaf, 0x00, 0xb6, 0xfd, 0xea, 0xe0, 0x15, 0x39, 0x19, 0x54, 0x96, + 0x30, 0x75, 0xfb, 0xde, 0xdc, 0x67, 0xf6, 0x74, 0x98, 0xdc, 0xf1, 0xe2, + 0x17, 0x32, 0x5c, 0xd0, 0x2d, 0x6c, 0xd9, 0x42, 0x35, 0x06, 0x7a, 0xaf, + 0xef, 0xbd, 0x65, 0xfd, +}; +static const unsigned char kat2566_entropyinreseed[] = { + 0x58, 0xbb, 0x40, 0xbd, 0xe2, 0xd0, 0xb5, 0x46, 0x48, 0xb0, 0xe6, 0x49, + 0x73, 0xa8, 0x53, 0x1f, 0x64, 0x3e, 0xd1, 0x71, 0xaf, 0x3a, 0xb2, 0x65, + 0xd3, 0x82, 0xfe, 0x52, 0x77, 0xc6, 0xa3, 0x3d, 0x33, 0x90, 0xbe, 0x15, + 0x27, 0x26, 0x36, 0xf6, +}; +static const unsigned char kat2566_addinreseed[] = { + 0x46, 0x1b, 0xdf, 0xba, 0x36, 0x3d, 0x12, 0x75, 0xad, 0xe5, 0x9e, 0x9b, + 0x9b, 0x73, 0xd4, 0x5a, 0x4d, 0x9a, 0xbf, 0xad, 0xcc, 0x73, 0x31, 0x06, + 0xbc, 0x2f, 0xa4, 0x69, 0x74, 0xc4, 0x02, 0x47, 0x65, 0xcd, 0x40, 0xdf, + 0xf1, 0xff, 0x94, 0x91, +}; +static const unsigned char kat2566_addin0[] = { + 0x38, 0x9c, 0x8b, 0x0d, 0x7a, 0x43, 0x45, 0xcb, 0xfa, 0x60, 0x23, 0x63, + 0xbe, 0x3d, 0x3e, 0x31, 0x06, 0xf4, 0xe5, 0xfd, 0x4b, 0xd7, 0xbd, 0x8b, + 0xd9, 0xf9, 0x12, 0x1d, 0x12, 0xe5, 0x3a, 0x09, 0xab, 0x4a, 0x00, 0xc5, + 0x45, 0xfa, 0x18, 0xa4, +}; +static const unsigned char kat2566_addin1[] = { + 0xe0, 0x68, 0x2c, 0xcd, 0xf0, 0xda, 0x0f, 0x4b, 0x9c, 0x03, 0x9e, 0x6e, + 0xd4, 0xff, 0x27, 0x8f, 0xd1, 0xa2, 0x9a, 0xb8, 0x0a, 0x32, 0xb2, 0x07, + 0x2a, 0x02, 0x81, 0xf3, 0xe9, 0xb5, 0x28, 0x29, 0x3a, 0xdf, 0xfd, 0x60, + 0x64, 0x67, 0xd2, 0x14, +}; +static const unsigned char kat2566_retbits[] = { + 0x70, 0x1b, 0x1b, 0x9a, 0x14, 0x04, 0x28, 0x37, 0x96, 0x0d, 0x4f, 0x42, + 0x8a, 0x56, 0x58, 0x61, 0xc8, 0xf7, 0x20, 0xdd, 0xce, 0x6a, 0x53, 0xab, + 0x82, 0x59, 0xe3, 0xdc, 0xba, 0xc4, 0x59, 0x8b, 0xfd, 0xc0, 0xa5, 0xad, + 0x95, 0x50, 0xde, 0x31, 0x0b, 0x10, 0xfa, 0x5c, 0x39, 0xfe, 0xef, 0x74, + 0xe9, 0x57, 0x4e, 0x20, 0x80, 0x47, 0x7b, 0x5b, 0x82, 0xb9, 0xee, 0xf0, + 0xbb, 0xd5, 0xc3, 0x4d, +}; +static const struct drbg_kat_pr_false kat2566_t = { + 0, kat2566_entropyin, kat2566_nonce, kat2566_persstr, + kat2566_entropyinreseed, kat2566_addinreseed, kat2566_addin0, + kat2566_addin1, kat2566_retbits +}; +static const struct drbg_kat kat2566 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2566_t +}; + +static const unsigned char kat2567_entropyin[] = { + 0x0a, 0xe8, 0x3c, 0x3e, 0x1f, 0xc9, 0x74, 0x71, 0x8b, 0x83, 0xa1, 0xa8, + 0x49, 0x37, 0x1f, 0x4f, 0x98, 0x3c, 0xdb, 0xb8, 0x7f, 0xec, 0x82, 0x2a, + 0xde, 0x85, 0x6f, 0xb1, 0x27, 0xba, 0x91, 0xe8, 0xde, 0x71, 0xd1, 0xd9, + 0x57, 0x86, 0x19, 0xf9, +}; +static const unsigned char kat2567_nonce[] = {0}; +static const unsigned char kat2567_persstr[] = { + 0x31, 0x55, 0x5b, 0x81, 0x5b, 0x91, 0xe2, 0x9e, 0xb3, 0x0b, 0x9c, 0x72, + 0x75, 0xdf, 0x4f, 0x14, 0xd2, 0xe3, 0x1c, 0x5e, 0x0a, 0x39, 0x4d, 0x44, + 0x33, 0xb3, 0xa4, 0x48, 0x34, 0xdb, 0x27, 0x35, 0xc6, 0xe1, 0x59, 0x01, + 0xf2, 0xa2, 0x5e, 0x9f, +}; +static const unsigned char kat2567_entropyinreseed[] = { + 0x86, 0x5a, 0xda, 0xc3, 0xce, 0x8e, 0xd5, 0x6b, 0xfe, 0x19, 0x02, 0xc6, + 0xa7, 0x75, 0x2e, 0x3b, 0xf0, 0xb6, 0x37, 0x2b, 0x9c, 0xdb, 0x31, 0xf7, + 0xe2, 0x23, 0x67, 0x7b, 0xf8, 0x78, 0xa1, 0x71, 0xb7, 0x17, 0x1c, 0x66, + 0x6c, 0x28, 0xcb, 0x77, +}; +static const unsigned char kat2567_addinreseed[] = { + 0xb4, 0x4f, 0x2a, 0x10, 0xdd, 0x22, 0x33, 0x5a, 0x48, 0xf8, 0x07, 0x75, + 0xbe, 0x2f, 0x5e, 0x71, 0x0a, 0x92, 0x12, 0x8b, 0x07, 0xd8, 0x44, 0xb0, + 0xf3, 0xc9, 0xf7, 0x80, 0xaf, 0xe4, 0x0d, 0x88, 0x57, 0xce, 0x35, 0xee, + 0xb7, 0x0f, 0x7d, 0x5a, +}; +static const unsigned char kat2567_addin0[] = { + 0x06, 0x44, 0x33, 0xef, 0xd9, 0xe7, 0x9e, 0xb0, 0x6c, 0xa4, 0x98, 0xa9, + 0xff, 0x36, 0x35, 0xb0, 0x1e, 0x27, 0x79, 0x7e, 0x16, 0xcf, 0x55, 0x94, + 0xd5, 0x5b, 0x90, 0xd5, 0x8a, 0x2b, 0x2c, 0x58, 0x1c, 0xd8, 0x4c, 0x2d, + 0x93, 0xc5, 0xf6, 0xa9, +}; +static const unsigned char kat2567_addin1[] = { + 0x66, 0x30, 0x4e, 0xc5, 0x79, 0x76, 0x35, 0x6b, 0x51, 0xb9, 0x27, 0xf9, + 0x29, 0xab, 0xfa, 0xcf, 0x80, 0x1b, 0x52, 0x59, 0xd6, 0xaa, 0xd2, 0xc6, + 0x98, 0xcc, 0x53, 0x18, 0xf0, 0x5f, 0xaf, 0x7d, 0xa5, 0x28, 0xea, 0xde, + 0x5e, 0x36, 0xe8, 0x59, +}; +static const unsigned char kat2567_retbits[] = { + 0x66, 0x42, 0xb9, 0x5b, 0x92, 0xb4, 0xb7, 0x58, 0xac, 0x06, 0x9d, 0x5e, + 0x0a, 0xfc, 0xd2, 0xa2, 0x0a, 0x36, 0x59, 0x63, 0xf1, 0xb7, 0xc4, 0xcd, + 0x54, 0xa2, 0xa3, 0x67, 0xe9, 0x81, 0xa2, 0xeb, 0x32, 0x5b, 0x47, 0x1a, + 0xd8, 0x35, 0x85, 0xe1, 0x2a, 0xa5, 0x16, 0x6d, 0xb1, 0xf7, 0x2e, 0x76, + 0xe0, 0xdb, 0x26, 0xbc, 0x30, 0x58, 0x0e, 0xd3, 0x4a, 0x2d, 0xaa, 0xf6, + 0xb0, 0x84, 0xb7, 0x83, +}; +static const struct drbg_kat_pr_false kat2567_t = { + 1, kat2567_entropyin, kat2567_nonce, kat2567_persstr, + kat2567_entropyinreseed, kat2567_addinreseed, kat2567_addin0, + kat2567_addin1, kat2567_retbits +}; +static const struct drbg_kat kat2567 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2567_t +}; + +static const unsigned char kat2568_entropyin[] = { + 0xb1, 0xa8, 0xbb, 0x8d, 0x2d, 0xcf, 0xdf, 0xd8, 0x1a, 0xc5, 0x4d, 0x71, + 0x44, 0x89, 0x1c, 0x37, 0x73, 0x47, 0xdc, 0xa9, 0x64, 0x1e, 0xff, 0x74, + 0x86, 0x99, 0xf8, 0x06, 0xdc, 0x78, 0xe7, 0x5b, 0xb7, 0xc9, 0xcf, 0xfd, + 0x38, 0xaf, 0xa8, 0xd2, +}; +static const unsigned char kat2568_nonce[] = {0}; +static const unsigned char kat2568_persstr[] = { + 0x82, 0xff, 0xbd, 0x38, 0xfb, 0x7e, 0x75, 0x62, 0x0d, 0x75, 0x31, 0x02, + 0x6b, 0xcf, 0xee, 0xde, 0x58, 0xf2, 0xa7, 0xc7, 0x31, 0x6c, 0xd3, 0xad, + 0xcf, 0xd5, 0x76, 0xe5, 0x3e, 0x26, 0x7a, 0x79, 0xe3, 0x87, 0xed, 0x31, + 0x10, 0x1a, 0xb8, 0x49, +}; +static const unsigned char kat2568_entropyinreseed[] = { + 0xac, 0x91, 0x39, 0x95, 0x0d, 0x56, 0x4e, 0x0c, 0x4e, 0xb3, 0x3e, 0x21, + 0x31, 0x5a, 0x4c, 0xf5, 0xa2, 0x67, 0x53, 0x46, 0x37, 0x11, 0xe9, 0xbd, + 0x41, 0x24, 0x4d, 0xfa, 0x90, 0xb0, 0x9d, 0x6b, 0x57, 0x54, 0x93, 0xa3, + 0x29, 0xc6, 0xa5, 0x4c, +}; +static const unsigned char kat2568_addinreseed[] = { + 0x12, 0x16, 0x7b, 0x09, 0x9d, 0xfa, 0xa3, 0x57, 0xac, 0xf4, 0x9c, 0x76, + 0x09, 0xeb, 0xee, 0xe2, 0xc4, 0xea, 0x25, 0x02, 0x0d, 0xc4, 0x8b, 0x06, + 0xce, 0x99, 0x47, 0x40, 0x77, 0x8e, 0xa8, 0xff, 0xff, 0x1f, 0xc7, 0x30, + 0xae, 0x92, 0x95, 0x20, +}; +static const unsigned char kat2568_addin0[] = { + 0x87, 0xe3, 0x06, 0x50, 0x67, 0x60, 0xf2, 0x57, 0x1e, 0x07, 0xf0, 0x49, + 0x74, 0x75, 0x86, 0xdd, 0x91, 0x3b, 0x36, 0x56, 0x12, 0x1d, 0xf1, 0xf5, + 0xae, 0x2e, 0xe2, 0x88, 0x85, 0xb8, 0xd6, 0x5d, 0xb4, 0xf1, 0x8e, 0x9e, + 0x8a, 0x5b, 0xa8, 0x71, +}; +static const unsigned char kat2568_addin1[] = { + 0xa3, 0xb3, 0x00, 0x69, 0x6d, 0x04, 0x85, 0x3e, 0x83, 0x39, 0xed, 0x0e, + 0xd0, 0x5b, 0xbe, 0x23, 0xd0, 0x44, 0x3b, 0xf9, 0x63, 0x91, 0x5b, 0x62, + 0x23, 0xf2, 0xa5, 0x0b, 0x0e, 0x79, 0xe6, 0xb0, 0x18, 0xa9, 0x4b, 0x9b, + 0x51, 0x25, 0x83, 0x1c, +}; +static const unsigned char kat2568_retbits[] = { + 0x9f, 0x3e, 0x34, 0x9e, 0xc7, 0x94, 0xfa, 0xfa, 0xad, 0xcb, 0x09, 0xe3, + 0x72, 0xfd, 0x39, 0x94, 0x8a, 0x85, 0xaa, 0x7e, 0xb5, 0x81, 0x4f, 0x8c, + 0xf4, 0xcf, 0xa2, 0xdf, 0x59, 0xea, 0x2f, 0x69, 0x8a, 0xa9, 0x9d, 0x8f, + 0xb2, 0xcd, 0x1c, 0xef, 0xc4, 0xb8, 0x9d, 0x4d, 0x61, 0x02, 0xb2, 0x87, + 0x41, 0x3b, 0x6a, 0x69, 0xd8, 0x1e, 0x13, 0xe4, 0x88, 0x78, 0xda, 0x82, + 0x90, 0x82, 0xfe, 0xf2, +}; +static const struct drbg_kat_pr_false kat2568_t = { + 2, kat2568_entropyin, kat2568_nonce, kat2568_persstr, + kat2568_entropyinreseed, kat2568_addinreseed, kat2568_addin0, + kat2568_addin1, kat2568_retbits +}; +static const struct drbg_kat kat2568 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2568_t +}; + +static const unsigned char kat2569_entropyin[] = { + 0x5c, 0x49, 0xaf, 0xdf, 0x8b, 0xf5, 0x96, 0x66, 0x9e, 0x8a, 0xed, 0x62, + 0x1b, 0xea, 0x0f, 0xd3, 0x78, 0x4b, 0x67, 0x0c, 0xa4, 0x2f, 0x85, 0x0d, + 0x41, 0xa2, 0x29, 0xac, 0x9f, 0x77, 0x24, 0x25, 0x51, 0xd6, 0xb0, 0xe0, + 0x67, 0xa1, 0xd4, 0x60, +}; +static const unsigned char kat2569_nonce[] = {0}; +static const unsigned char kat2569_persstr[] = { + 0x48, 0x1b, 0xf6, 0xc7, 0xb6, 0x69, 0x07, 0xba, 0x48, 0x5c, 0x7b, 0xba, + 0x4d, 0x66, 0x8a, 0x0d, 0xea, 0xea, 0x5d, 0xdb, 0xb8, 0x41, 0x6b, 0xc5, + 0xa8, 0x53, 0xd7, 0xa5, 0xdb, 0x41, 0xd4, 0x8a, 0x94, 0xc6, 0x35, 0xb1, + 0xb2, 0xe0, 0x08, 0x4e, +}; +static const unsigned char kat2569_entropyinreseed[] = { + 0x2b, 0x7c, 0xec, 0x04, 0x6f, 0x5e, 0x14, 0xdb, 0xb1, 0x59, 0x89, 0x91, + 0x02, 0xfc, 0x9b, 0x53, 0x86, 0x11, 0x56, 0xa2, 0x52, 0x8a, 0x89, 0x1f, + 0xa2, 0x9b, 0x6e, 0x82, 0x4b, 0x5f, 0x54, 0x03, 0xb2, 0x5c, 0x9f, 0x10, + 0x3a, 0x58, 0x4c, 0x91, +}; +static const unsigned char kat2569_addinreseed[] = { + 0xd3, 0x10, 0x33, 0x5b, 0x06, 0x55, 0xac, 0xf8, 0x5d, 0x3f, 0x0d, 0x75, + 0xb1, 0x00, 0x52, 0x73, 0x9f, 0xac, 0x96, 0x6a, 0xb3, 0xe7, 0xbb, 0xd0, + 0x01, 0x54, 0xcf, 0xa1, 0x45, 0xc4, 0x5d, 0xe0, 0xa7, 0x4e, 0x29, 0x9a, + 0x2d, 0xf7, 0xd8, 0x52, +}; +static const unsigned char kat2569_addin0[] = { + 0x3f, 0x2f, 0x29, 0x25, 0xeb, 0xfc, 0x44, 0x7e, 0x7a, 0x29, 0xf8, 0x42, + 0xb0, 0x9b, 0x02, 0x2e, 0xa6, 0xa7, 0xce, 0x7d, 0x69, 0xa8, 0x23, 0x18, + 0xfa, 0x5a, 0xa1, 0xbc, 0x87, 0xe6, 0x08, 0x7d, 0x15, 0xa0, 0xbc, 0x22, + 0x6f, 0xee, 0x32, 0x8c, +}; +static const unsigned char kat2569_addin1[] = { + 0xc8, 0x4b, 0xe9, 0x10, 0x08, 0xf1, 0x5b, 0x18, 0x30, 0x87, 0x8a, 0xc7, + 0xbe, 0xe7, 0x85, 0xb0, 0x4d, 0x38, 0xc1, 0x21, 0x1b, 0x6e, 0xcd, 0x72, + 0x3a, 0xc1, 0x3b, 0xd2, 0xaf, 0xee, 0x49, 0x67, 0x23, 0xe4, 0x57, 0x8c, + 0x2c, 0xf2, 0x70, 0xd4, +}; +static const unsigned char kat2569_retbits[] = { + 0x6a, 0xc8, 0x8e, 0xe2, 0x8b, 0x60, 0xec, 0xef, 0xc8, 0x87, 0xc9, 0xdc, + 0x49, 0x79, 0x99, 0x3a, 0x21, 0x09, 0xb8, 0xec, 0xcc, 0x37, 0x09, 0xaf, + 0x70, 0xb9, 0x4f, 0xd2, 0x47, 0x2f, 0x7e, 0x4c, 0x17, 0x29, 0xd8, 0xbe, + 0x4a, 0x46, 0xaa, 0x23, 0x60, 0x84, 0x0a, 0xda, 0xbd, 0xce, 0xda, 0x31, + 0x25, 0x19, 0x03, 0xc7, 0x38, 0x9d, 0x89, 0x43, 0x7a, 0xfd, 0x07, 0xdf, + 0x2c, 0xed, 0xb7, 0x09, +}; +static const struct drbg_kat_pr_false kat2569_t = { + 3, kat2569_entropyin, kat2569_nonce, kat2569_persstr, + kat2569_entropyinreseed, kat2569_addinreseed, kat2569_addin0, + kat2569_addin1, kat2569_retbits +}; +static const struct drbg_kat kat2569 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2569_t +}; + +static const unsigned char kat2570_entropyin[] = { + 0xc8, 0xf2, 0xec, 0x6b, 0x16, 0xb4, 0xb2, 0x7c, 0xad, 0x06, 0x7c, 0x22, + 0xa4, 0xbd, 0xc8, 0xd9, 0x7a, 0xae, 0xba, 0xf4, 0x19, 0x91, 0x36, 0xc0, + 0x7e, 0x43, 0x39, 0x26, 0x82, 0x7f, 0x66, 0x84, 0x2b, 0xe0, 0xbe, 0x1b, + 0x4b, 0xbb, 0xf4, 0xb2, +}; +static const unsigned char kat2570_nonce[] = {0}; +static const unsigned char kat2570_persstr[] = { + 0x61, 0x00, 0x39, 0xfb, 0x01, 0x00, 0xc1, 0x70, 0xc6, 0x28, 0x93, 0xeb, + 0x6e, 0xdb, 0x0b, 0xc2, 0xd6, 0xc3, 0xdf, 0xe7, 0x88, 0xd9, 0x98, 0x93, + 0x8e, 0x46, 0x26, 0x41, 0xe0, 0xe2, 0x3c, 0x07, 0x68, 0xc7, 0x4f, 0xc5, + 0xab, 0xe1, 0x3c, 0x16, +}; +static const unsigned char kat2570_entropyinreseed[] = { + 0x3c, 0x39, 0x9a, 0xa0, 0x6c, 0xee, 0x38, 0xb6, 0x5d, 0x83, 0x49, 0xa1, + 0x82, 0x22, 0x7a, 0x57, 0xa0, 0xc2, 0x99, 0xc7, 0x4a, 0x63, 0x5f, 0xe0, + 0xad, 0xda, 0x89, 0x92, 0x90, 0xe5, 0xba, 0x0c, 0xc3, 0x3c, 0x59, 0x69, + 0x6e, 0xc4, 0xc8, 0xe2, +}; +static const unsigned char kat2570_addinreseed[] = { + 0x13, 0xa3, 0x13, 0x31, 0x8a, 0x44, 0xc7, 0x41, 0x11, 0x79, 0x0a, 0xec, + 0x45, 0x40, 0xa3, 0xaa, 0x66, 0xcd, 0xcc, 0xd1, 0xb4, 0x91, 0x23, 0x80, + 0xdd, 0xb1, 0x67, 0x0c, 0x34, 0x24, 0x35, 0x30, 0x1d, 0x7c, 0xea, 0xcc, + 0x24, 0x0a, 0xd9, 0x03, +}; +static const unsigned char kat2570_addin0[] = { + 0x31, 0x87, 0x78, 0x75, 0xf4, 0xb6, 0x71, 0x3c, 0x13, 0x82, 0x39, 0x05, + 0x01, 0x2e, 0xe4, 0x09, 0x90, 0x9c, 0xcc, 0x9d, 0xc5, 0x37, 0x51, 0xb8, + 0x97, 0x1c, 0x09, 0x3d, 0xca, 0x78, 0xc5, 0x23, 0xdb, 0xaa, 0x61, 0x9e, + 0x7a, 0x5d, 0x46, 0xe2, +}; +static const unsigned char kat2570_addin1[] = { + 0x76, 0xb5, 0x1b, 0x2c, 0x5e, 0xe0, 0x3e, 0x8f, 0xba, 0x8e, 0xef, 0x27, + 0x61, 0x73, 0xff, 0xc3, 0x54, 0xb1, 0x84, 0x14, 0x43, 0x45, 0x95, 0x99, + 0x63, 0xfc, 0x2f, 0x0e, 0xbd, 0xa9, 0x24, 0x6a, 0x8a, 0x1a, 0xfb, 0x7a, + 0x45, 0x73, 0xe3, 0xca, +}; +static const unsigned char kat2570_retbits[] = { + 0x4a, 0x8b, 0xa9, 0x45, 0x02, 0x01, 0xfd, 0x42, 0x5b, 0x7a, 0x7b, 0xbc, + 0xee, 0x08, 0x41, 0x93, 0x55, 0x4d, 0x39, 0xaf, 0x87, 0x77, 0x56, 0x92, + 0x13, 0x58, 0x40, 0x10, 0x6a, 0x1d, 0x64, 0xc7, 0xf1, 0x74, 0x3d, 0x40, + 0x97, 0x87, 0x4c, 0x6f, 0x30, 0xd8, 0x01, 0xab, 0x62, 0xa6, 0xb7, 0x2b, + 0x34, 0x15, 0x37, 0x42, 0xe9, 0x0c, 0xa4, 0x52, 0x91, 0x1f, 0x47, 0x9a, + 0x12, 0xc2, 0x38, 0x61, +}; +static const struct drbg_kat_pr_false kat2570_t = { + 4, kat2570_entropyin, kat2570_nonce, kat2570_persstr, + kat2570_entropyinreseed, kat2570_addinreseed, kat2570_addin0, + kat2570_addin1, kat2570_retbits +}; +static const struct drbg_kat kat2570 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2570_t +}; + +static const unsigned char kat2571_entropyin[] = { + 0x60, 0xac, 0x94, 0x6f, 0x4b, 0xe9, 0xdf, 0x8d, 0xdb, 0xce, 0x3c, 0x77, + 0x64, 0x43, 0x5f, 0x6f, 0xaa, 0x99, 0x98, 0x56, 0x02, 0x80, 0xdd, 0x91, + 0xe2, 0x36, 0x66, 0xa9, 0x27, 0x43, 0x5c, 0x9c, 0x8f, 0xad, 0x49, 0x62, + 0x5b, 0xd4, 0x22, 0xd5, +}; +static const unsigned char kat2571_nonce[] = {0}; +static const unsigned char kat2571_persstr[] = { + 0x37, 0xfb, 0x24, 0xe8, 0xfd, 0x6a, 0x8c, 0x3c, 0xa8, 0xc0, 0xd9, 0x4c, + 0x36, 0x58, 0x4f, 0x8b, 0x70, 0x65, 0xb4, 0x01, 0x9a, 0xcf, 0xdc, 0x33, + 0x5f, 0x98, 0xb5, 0x86, 0x65, 0xff, 0x39, 0xcc, 0x92, 0x55, 0xe7, 0xae, + 0x34, 0x2c, 0xe6, 0x28, +}; +static const unsigned char kat2571_entropyinreseed[] = { + 0xfa, 0xe9, 0x37, 0x1c, 0xcc, 0x51, 0x7e, 0x02, 0x4c, 0x66, 0x38, 0xeb, + 0x17, 0x70, 0x19, 0x21, 0x7a, 0x8a, 0xbf, 0x83, 0x3f, 0xc6, 0x1c, 0x29, + 0xb6, 0x91, 0xc0, 0x94, 0x3e, 0x20, 0x27, 0xb3, 0xdb, 0xbd, 0x67, 0x8c, + 0xbb, 0xe1, 0x78, 0xe1, +}; +static const unsigned char kat2571_addinreseed[] = { + 0xd6, 0xd5, 0xe3, 0xf4, 0x3b, 0x2b, 0x6c, 0x86, 0x61, 0xe9, 0xc8, 0xe2, + 0xd9, 0x1a, 0xe8, 0x10, 0x2f, 0x61, 0x83, 0x54, 0x24, 0xe3, 0x47, 0xd4, + 0x9b, 0x14, 0x84, 0xd1, 0x1d, 0x3f, 0x5f, 0x31, 0x55, 0x99, 0x57, 0x8d, + 0x57, 0xca, 0x53, 0x8b, +}; +static const unsigned char kat2571_addin0[] = { + 0x47, 0x4b, 0xef, 0x43, 0xe9, 0xe2, 0xba, 0x2f, 0xda, 0xc4, 0x70, 0xf8, + 0x16, 0xba, 0x49, 0xc8, 0x33, 0x5e, 0x71, 0x20, 0xba, 0x38, 0x9e, 0x22, + 0x33, 0x82, 0xd0, 0x91, 0xa4, 0x7d, 0x2d, 0x87, 0xe1, 0xcb, 0x99, 0x13, + 0xfd, 0xcb, 0x29, 0xad, +}; +static const unsigned char kat2571_addin1[] = { + 0xb8, 0x91, 0xdd, 0xc1, 0x6d, 0x98, 0x89, 0x7b, 0xcb, 0x8d, 0x3d, 0xb9, + 0x31, 0xd7, 0xab, 0xe2, 0x17, 0xdb, 0xb9, 0x14, 0x95, 0x73, 0x64, 0x77, + 0xbe, 0xb6, 0xb9, 0x71, 0xc5, 0xc8, 0xdf, 0x2e, 0x46, 0x80, 0x04, 0x15, + 0xc5, 0x2e, 0x7c, 0x28, +}; +static const unsigned char kat2571_retbits[] = { + 0x1a, 0x40, 0x20, 0xce, 0xa2, 0xde, 0x8a, 0x1d, 0x3b, 0x3f, 0xa9, 0xa2, + 0xf6, 0x81, 0xb9, 0x66, 0xa3, 0xf7, 0xb8, 0x41, 0x9e, 0x0d, 0x9f, 0xc0, + 0x33, 0x46, 0x7e, 0xa1, 0x67, 0x82, 0x81, 0xa4, 0xf4, 0xe3, 0x68, 0xc6, + 0x4b, 0xd1, 0xce, 0xfe, 0xfa, 0xa5, 0x1b, 0x26, 0x0d, 0x11, 0xca, 0x2d, + 0xf9, 0xf8, 0x0d, 0x99, 0x12, 0x44, 0x18, 0x5f, 0x59, 0x20, 0x18, 0x4a, + 0x75, 0x21, 0x5a, 0x68, +}; +static const struct drbg_kat_pr_false kat2571_t = { + 5, kat2571_entropyin, kat2571_nonce, kat2571_persstr, + kat2571_entropyinreseed, kat2571_addinreseed, kat2571_addin0, + kat2571_addin1, kat2571_retbits +}; +static const struct drbg_kat kat2571 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2571_t +}; + +static const unsigned char kat2572_entropyin[] = { + 0xdd, 0xc9, 0x92, 0x97, 0xbe, 0xb0, 0x79, 0x33, 0xc1, 0xad, 0x17, 0xab, + 0x65, 0x74, 0xd3, 0xe2, 0x76, 0xd5, 0xe1, 0x83, 0xe8, 0xa8, 0x65, 0x8f, + 0x95, 0xc6, 0x9d, 0x73, 0x89, 0x45, 0xce, 0x95, 0x42, 0xf8, 0xc8, 0xac, + 0x79, 0xf9, 0xfd, 0xc6, +}; +static const unsigned char kat2572_nonce[] = {0}; +static const unsigned char kat2572_persstr[] = { + 0x1d, 0xbd, 0x1d, 0xfb, 0x7e, 0xfe, 0xa7, 0xa6, 0x23, 0x79, 0xba, 0x1f, + 0xf1, 0x17, 0x1e, 0x51, 0xdb, 0x2e, 0xd4, 0x9d, 0x54, 0xff, 0xbb, 0xf5, + 0x50, 0x88, 0x79, 0x01, 0xd5, 0x04, 0x62, 0xd9, 0x8f, 0xeb, 0x78, 0x6e, + 0x1f, 0x09, 0x69, 0xbb, +}; +static const unsigned char kat2572_entropyinreseed[] = { + 0xd2, 0x61, 0x80, 0x44, 0x8a, 0x8c, 0x34, 0xd0, 0x55, 0x2d, 0x9f, 0x3b, + 0x16, 0xaf, 0xb0, 0x8f, 0xb9, 0xc9, 0x05, 0x9b, 0xd6, 0x2b, 0x6b, 0x87, + 0x4e, 0xc6, 0x2a, 0xda, 0x23, 0x2c, 0x7f, 0x50, 0x02, 0x7d, 0xd3, 0x59, + 0xf9, 0x40, 0x7d, 0xb2, +}; +static const unsigned char kat2572_addinreseed[] = { + 0x16, 0x41, 0x92, 0x5c, 0x63, 0xc2, 0xc6, 0xd6, 0xb0, 0x6f, 0xf2, 0x64, + 0x83, 0xc7, 0xec, 0xa3, 0x40, 0xff, 0xed, 0x1f, 0xb7, 0xf6, 0x54, 0x24, + 0x34, 0x77, 0x5b, 0xaf, 0xa2, 0xc8, 0xed, 0x86, 0x2d, 0xa6, 0x73, 0xd8, + 0xf0, 0xfd, 0x15, 0x7f, +}; +static const unsigned char kat2572_addin0[] = { + 0x35, 0x99, 0x6d, 0xc4, 0x3b, 0xc4, 0x46, 0x96, 0xab, 0xed, 0x94, 0xef, + 0x74, 0xc0, 0x97, 0xf1, 0xb0, 0xe8, 0xd1, 0x4f, 0xfa, 0x84, 0x12, 0xd6, + 0xf7, 0x7d, 0xba, 0x98, 0xfe, 0x9f, 0xab, 0x88, 0x57, 0xae, 0xf8, 0x2f, + 0xb8, 0x23, 0x2b, 0xb1, +}; +static const unsigned char kat2572_addin1[] = { + 0x71, 0x24, 0x85, 0xb7, 0x86, 0xce, 0x3b, 0x47, 0xca, 0x6b, 0xb4, 0x34, + 0x85, 0xa4, 0x83, 0xa1, 0xe8, 0xd7, 0x45, 0xb8, 0xae, 0xbc, 0x13, 0x02, + 0xd1, 0xfe, 0x84, 0xc4, 0xa3, 0x11, 0x5b, 0xc7, 0x0b, 0x76, 0xc2, 0xa1, + 0x78, 0xc8, 0xf6, 0xcc, +}; +static const unsigned char kat2572_retbits[] = { + 0x26, 0xb5, 0xf2, 0x50, 0x09, 0x30, 0x4e, 0x6b, 0xbe, 0x83, 0x67, 0xc5, + 0xbf, 0xb5, 0x87, 0xd4, 0x63, 0xdf, 0x6a, 0x27, 0xe3, 0xde, 0x30, 0xb6, + 0xdd, 0xc1, 0x09, 0x0e, 0x5b, 0x8c, 0xed, 0x13, 0xa0, 0xf0, 0x1d, 0xfe, + 0x4c, 0x81, 0x0d, 0x6e, 0x5e, 0xc2, 0x4d, 0x6e, 0x0b, 0xc8, 0xb4, 0xed, + 0xc2, 0x90, 0xa4, 0xf7, 0xbb, 0xc2, 0x32, 0x78, 0x36, 0xb7, 0x76, 0x8a, + 0x3d, 0xf5, 0xed, 0x3c, +}; +static const struct drbg_kat_pr_false kat2572_t = { + 6, kat2572_entropyin, kat2572_nonce, kat2572_persstr, + kat2572_entropyinreseed, kat2572_addinreseed, kat2572_addin0, + kat2572_addin1, kat2572_retbits +}; +static const struct drbg_kat kat2572 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2572_t +}; + +static const unsigned char kat2573_entropyin[] = { + 0xa9, 0x04, 0x5a, 0xfa, 0x9d, 0xee, 0x70, 0x73, 0xc8, 0x14, 0xd6, 0x0e, + 0x26, 0x9c, 0xb0, 0x19, 0x65, 0x64, 0xb6, 0x26, 0x0c, 0xa3, 0x68, 0x98, + 0x4b, 0xfb, 0xda, 0x40, 0xfc, 0xf6, 0x78, 0x7f, 0xa0, 0x13, 0x82, 0xfd, + 0x1b, 0xcd, 0x5c, 0xb0, +}; +static const unsigned char kat2573_nonce[] = {0}; +static const unsigned char kat2573_persstr[] = { + 0xfe, 0x7b, 0xfd, 0x09, 0x0b, 0xb1, 0xe4, 0x93, 0x26, 0xef, 0xc3, 0x8c, + 0x28, 0x1e, 0x4e, 0x36, 0xe2, 0x06, 0x14, 0x4c, 0x4a, 0x6d, 0xc3, 0x4f, + 0x21, 0x5a, 0x2d, 0x58, 0x52, 0x2b, 0x17, 0x2f, 0x33, 0x7e, 0xb7, 0x74, + 0x5f, 0xa6, 0x3b, 0xec, +}; +static const unsigned char kat2573_entropyinreseed[] = { + 0x6e, 0x79, 0x9f, 0x65, 0xd9, 0x41, 0x2b, 0x40, 0x76, 0x72, 0x29, 0xe8, + 0x3d, 0x53, 0xe8, 0x86, 0x77, 0x59, 0x84, 0xd4, 0xe9, 0xe9, 0x00, 0x58, + 0xa3, 0x1c, 0x88, 0xa0, 0xa2, 0x77, 0x14, 0x26, 0x96, 0x53, 0xb5, 0x75, + 0x03, 0x48, 0x7c, 0x3c, +}; +static const unsigned char kat2573_addinreseed[] = { + 0x8a, 0x2d, 0xc5, 0xfe, 0x64, 0x37, 0xe2, 0x5c, 0x20, 0x72, 0x6f, 0xc4, + 0x3f, 0x88, 0x6c, 0xb0, 0x19, 0x46, 0x32, 0xbe, 0xb4, 0x85, 0x5e, 0xc5, + 0xdb, 0xf3, 0xb3, 0x81, 0x5c, 0x90, 0x0d, 0x1a, 0x38, 0xa3, 0x11, 0xe7, + 0x5b, 0x21, 0x35, 0x99, +}; +static const unsigned char kat2573_addin0[] = { + 0x08, 0x44, 0x55, 0x98, 0x20, 0x31, 0xbd, 0x46, 0x74, 0x80, 0x22, 0x52, + 0x25, 0xc4, 0x50, 0xc2, 0x7a, 0x62, 0x9d, 0x77, 0x1b, 0xbe, 0x07, 0xd9, + 0xa7, 0x8a, 0xf0, 0x6e, 0x4b, 0x40, 0xff, 0x8e, 0xd7, 0x12, 0x9e, 0x2c, + 0x0e, 0xe7, 0xf6, 0x9a, +}; +static const unsigned char kat2573_addin1[] = { + 0x9f, 0x3d, 0xee, 0x85, 0x62, 0x3e, 0x81, 0xce, 0x86, 0x8e, 0x97, 0xc5, + 0x4f, 0x36, 0xd0, 0x5e, 0x3e, 0x76, 0x5a, 0xc9, 0x4a, 0xd1, 0x92, 0xf6, + 0x3d, 0xf9, 0xad, 0x0a, 0xf3, 0x77, 0x7e, 0xfd, 0x1f, 0x3d, 0xfe, 0xe2, + 0xa1, 0x80, 0xa9, 0xa6, +}; +static const unsigned char kat2573_retbits[] = { + 0xaa, 0xde, 0x92, 0xa4, 0xf7, 0x8b, 0xd4, 0xb6, 0x63, 0x22, 0xe3, 0x41, + 0xc6, 0x41, 0xeb, 0x4a, 0x57, 0x5c, 0xf2, 0xe9, 0xf9, 0x6c, 0x46, 0x24, + 0x3c, 0x5d, 0xe5, 0xec, 0xab, 0x0e, 0x04, 0x7c, 0x9c, 0x32, 0x54, 0xa1, + 0x11, 0x5b, 0xac, 0x0c, 0x9e, 0x80, 0xae, 0x6e, 0xe5, 0xdf, 0xf2, 0x4e, + 0x81, 0x6a, 0x0a, 0x78, 0xc5, 0x92, 0x49, 0x0b, 0xe8, 0xc0, 0xb2, 0xb5, + 0xeb, 0xcc, 0x4b, 0x65, +}; +static const struct drbg_kat_pr_false kat2573_t = { + 7, kat2573_entropyin, kat2573_nonce, kat2573_persstr, + kat2573_entropyinreseed, kat2573_addinreseed, kat2573_addin0, + kat2573_addin1, kat2573_retbits +}; +static const struct drbg_kat kat2573 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2573_t +}; + +static const unsigned char kat2574_entropyin[] = { + 0x44, 0x2a, 0x81, 0x56, 0x37, 0x4c, 0x2f, 0x82, 0x77, 0x9c, 0xb3, 0x16, + 0xb0, 0x91, 0xaa, 0xfd, 0x42, 0x95, 0x27, 0x13, 0x65, 0x92, 0x52, 0x48, + 0xc6, 0xbb, 0xe5, 0xae, 0x4d, 0xd7, 0x55, 0x52, 0xe1, 0x04, 0x93, 0xc4, + 0x5b, 0xea, 0xd8, 0xa0, +}; +static const unsigned char kat2574_nonce[] = {0}; +static const unsigned char kat2574_persstr[] = { + 0x84, 0x4a, 0x79, 0xa6, 0xdb, 0xfc, 0x60, 0x8b, 0x89, 0x9b, 0x40, 0xe8, + 0xef, 0x73, 0x3d, 0x3e, 0xee, 0x9b, 0x63, 0x85, 0x60, 0x4d, 0x73, 0x3c, + 0x46, 0x7c, 0xfb, 0x0c, 0x3b, 0x61, 0xc1, 0xf7, 0xad, 0x7b, 0xd5, 0xb1, + 0x78, 0x01, 0xa2, 0x59, +}; +static const unsigned char kat2574_entropyinreseed[] = { + 0xf2, 0x90, 0x47, 0x95, 0x0b, 0x53, 0xca, 0x74, 0x0a, 0x81, 0x20, 0x4c, + 0x89, 0x0a, 0x4a, 0x82, 0x5b, 0x70, 0x9e, 0xd0, 0x5c, 0xe7, 0x9d, 0x09, + 0xd4, 0x3d, 0x5d, 0x2f, 0x11, 0x62, 0x63, 0x05, 0x39, 0xde, 0xc2, 0x3b, + 0xfe, 0xb0, 0x9e, 0x7d, +}; +static const unsigned char kat2574_addinreseed[] = { + 0x02, 0x62, 0x6c, 0xa7, 0x3b, 0x24, 0x3b, 0x5b, 0x20, 0xa3, 0x20, 0xe6, + 0x85, 0x07, 0xd5, 0xcd, 0x91, 0x71, 0x55, 0x6b, 0x3d, 0x33, 0x7e, 0xb4, + 0x08, 0xa2, 0xe6, 0xb4, 0x12, 0x12, 0xb2, 0x70, 0x32, 0x42, 0xea, 0xdd, + 0x9e, 0x27, 0xe7, 0x8c, +}; +static const unsigned char kat2574_addin0[] = { + 0xa8, 0x77, 0x0a, 0xc0, 0xe4, 0x65, 0xb0, 0xe1, 0x56, 0x25, 0x4f, 0x5c, + 0x1a, 0x96, 0x5c, 0x05, 0xfe, 0xf6, 0x76, 0x53, 0x14, 0xd3, 0x96, 0x87, + 0x11, 0xea, 0xee, 0x70, 0x06, 0x73, 0x9f, 0x9f, 0x00, 0x91, 0xf0, 0x16, + 0xca, 0x42, 0x0a, 0x79, +}; +static const unsigned char kat2574_addin1[] = { + 0xd3, 0x03, 0xb3, 0x02, 0xb5, 0x1d, 0xfe, 0xee, 0x5f, 0x55, 0x50, 0x5c, + 0x15, 0x5a, 0xfb, 0x79, 0xcf, 0x8f, 0x0a, 0x36, 0xaa, 0xb3, 0x02, 0x23, + 0x14, 0x92, 0x46, 0x1a, 0xe5, 0x3d, 0x15, 0x98, 0x2a, 0xd4, 0x52, 0xfd, + 0x2e, 0xfd, 0x7d, 0xc7, +}; +static const unsigned char kat2574_retbits[] = { + 0xd6, 0xa1, 0x31, 0xb2, 0xbb, 0x36, 0xf7, 0x01, 0x55, 0xb9, 0xca, 0x85, + 0xab, 0x35, 0x80, 0x1e, 0x4a, 0x00, 0x49, 0x85, 0xfe, 0x80, 0xbb, 0xfb, + 0x5a, 0x20, 0xf7, 0x7a, 0x1f, 0x73, 0x7d, 0xc1, 0x8d, 0xb7, 0x02, 0xf2, + 0x4f, 0x22, 0x87, 0xb3, 0x33, 0x6e, 0xcd, 0x6a, 0x21, 0x64, 0x24, 0xa3, + 0x20, 0xce, 0x46, 0x8d, 0x2d, 0xc3, 0x44, 0xf4, 0x8a, 0x45, 0x76, 0x7e, + 0xa2, 0xab, 0xd1, 0xcd, +}; +static const struct drbg_kat_pr_false kat2574_t = { + 8, kat2574_entropyin, kat2574_nonce, kat2574_persstr, + kat2574_entropyinreseed, kat2574_addinreseed, kat2574_addin0, + kat2574_addin1, kat2574_retbits +}; +static const struct drbg_kat kat2574 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2574_t +}; + +static const unsigned char kat2575_entropyin[] = { + 0xc9, 0x6f, 0x5d, 0x16, 0x6c, 0x80, 0x8c, 0xa6, 0xa1, 0xae, 0x90, 0x14, + 0x77, 0xad, 0x03, 0xde, 0x00, 0x72, 0x23, 0x97, 0xb3, 0x0b, 0x52, 0xaa, + 0xce, 0x06, 0x25, 0x88, 0x26, 0xc9, 0xd6, 0xf8, 0x90, 0x97, 0x83, 0xff, + 0x52, 0xe3, 0x1a, 0xf5, +}; +static const unsigned char kat2575_nonce[] = {0}; +static const unsigned char kat2575_persstr[] = { + 0x47, 0x25, 0xb7, 0x91, 0xd3, 0xf6, 0xd0, 0x3f, 0xcd, 0x07, 0x4b, 0xba, + 0x54, 0xab, 0x7c, 0x92, 0xa7, 0x81, 0x66, 0xe7, 0xcb, 0xbd, 0x73, 0xd0, + 0x27, 0xa3, 0x90, 0xf7, 0x49, 0x0d, 0x2b, 0x37, 0x16, 0x2f, 0x1a, 0x95, + 0x18, 0x2b, 0xe4, 0x31, +}; +static const unsigned char kat2575_entropyinreseed[] = { + 0xee, 0xd3, 0xc4, 0xc7, 0x8f, 0x96, 0xb2, 0xce, 0x75, 0xc0, 0x08, 0xc1, + 0x0c, 0xf1, 0x53, 0x34, 0x6f, 0x11, 0x77, 0xe2, 0xde, 0xd8, 0xd6, 0xca, + 0x85, 0x68, 0x9b, 0x04, 0xe1, 0xa3, 0x05, 0xff, 0x9e, 0xa9, 0xaa, 0xcc, + 0x84, 0xd7, 0xe4, 0x45, +}; +static const unsigned char kat2575_addinreseed[] = { + 0xb8, 0x8b, 0x89, 0x01, 0xe3, 0x98, 0xd5, 0xe1, 0x76, 0x9f, 0x62, 0xd2, + 0x08, 0xe7, 0x7a, 0xe6, 0x99, 0xc7, 0x22, 0xe5, 0x5f, 0x7d, 0x86, 0xa0, + 0x1b, 0xa9, 0x99, 0x6c, 0x6c, 0xe5, 0x5a, 0xf4, 0xc0, 0xac, 0xc2, 0x0d, + 0x10, 0x21, 0x7d, 0x97, +}; +static const unsigned char kat2575_addin0[] = { + 0x1a, 0xa0, 0x71, 0xaf, 0xa4, 0x0d, 0xdd, 0xb3, 0xad, 0x66, 0x55, 0x43, + 0x5a, 0xb0, 0x5a, 0xed, 0x18, 0x58, 0xbd, 0xb8, 0xa2, 0x65, 0xb7, 0xda, + 0x29, 0x98, 0x93, 0xed, 0xf9, 0xc9, 0x1e, 0x87, 0xa2, 0x40, 0x1b, 0xc0, + 0x52, 0x33, 0x87, 0xb5, +}; +static const unsigned char kat2575_addin1[] = { + 0x02, 0xf6, 0xda, 0xf6, 0xb8, 0x48, 0xc3, 0x3e, 0xcf, 0x63, 0xd3, 0x0d, + 0x50, 0xaa, 0x22, 0x83, 0xe9, 0x50, 0xb0, 0xf8, 0x48, 0x6c, 0xd6, 0x04, + 0x3f, 0x62, 0x62, 0x91, 0x00, 0xde, 0x8e, 0x25, 0x3c, 0x69, 0x00, 0x35, + 0x0b, 0xff, 0x1f, 0x3d, +}; +static const unsigned char kat2575_retbits[] = { + 0x88, 0xcc, 0x64, 0x5b, 0x03, 0x80, 0x09, 0xfc, 0xcd, 0xf0, 0xa1, 0x76, + 0xf8, 0x7b, 0x86, 0xc4, 0xd6, 0x7a, 0x95, 0x8b, 0x30, 0x83, 0x30, 0x80, + 0xe5, 0x84, 0x1c, 0x84, 0x4b, 0x08, 0xaf, 0x07, 0xd3, 0xe2, 0xca, 0x10, + 0xfd, 0x2e, 0x2a, 0x29, 0x52, 0x13, 0x04, 0xde, 0x70, 0x25, 0x6c, 0xf9, + 0x59, 0x82, 0x96, 0xac, 0xdd, 0xd3, 0x2c, 0x8f, 0x06, 0x55, 0x2d, 0xae, + 0xc7, 0x48, 0xb4, 0x4f, +}; +static const struct drbg_kat_pr_false kat2575_t = { + 9, kat2575_entropyin, kat2575_nonce, kat2575_persstr, + kat2575_entropyinreseed, kat2575_addinreseed, kat2575_addin0, + kat2575_addin1, kat2575_retbits +}; +static const struct drbg_kat kat2575 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2575_t +}; + +static const unsigned char kat2576_entropyin[] = { + 0xfe, 0x88, 0xca, 0x22, 0xf5, 0x68, 0xe9, 0x59, 0xe3, 0xe9, 0x39, 0xe3, + 0x9c, 0x7c, 0x81, 0x17, 0x60, 0x38, 0x5e, 0x49, 0x99, 0x95, 0xd8, 0x7f, + 0x39, 0x3f, 0x14, 0x81, 0xbd, 0x35, 0x78, 0xa6, 0xf1, 0x67, 0x30, 0xa8, + 0xc3, 0x34, 0xe1, 0xe4, +}; +static const unsigned char kat2576_nonce[] = {0}; +static const unsigned char kat2576_persstr[] = { + 0xe4, 0xa4, 0x7e, 0x7f, 0x8b, 0x55, 0x17, 0xbb, 0xe3, 0xdf, 0xe4, 0xee, + 0xb8, 0xaa, 0x01, 0x83, 0x20, 0xde, 0x95, 0xfe, 0x8d, 0xbd, 0x74, 0x55, + 0x1f, 0x49, 0x8e, 0x4a, 0xe3, 0x35, 0x62, 0xeb, 0xb7, 0x9b, 0xe4, 0x48, + 0xaf, 0xdd, 0x11, 0xf9, +}; +static const unsigned char kat2576_entropyinreseed[] = { + 0xcb, 0xc8, 0xf6, 0x72, 0x51, 0x3e, 0xd1, 0x36, 0x6b, 0xa3, 0xdf, 0x0a, + 0xfd, 0xba, 0x62, 0x6f, 0xe8, 0x4f, 0x4f, 0xaa, 0xc9, 0x4d, 0x13, 0x5f, + 0x0f, 0x71, 0xbd, 0x38, 0x59, 0x0c, 0x2a, 0x16, 0x4a, 0xa3, 0x03, 0x44, + 0xeb, 0xb0, 0xda, 0x68, +}; +static const unsigned char kat2576_addinreseed[] = { + 0x88, 0xcd, 0x4b, 0x98, 0xc5, 0xea, 0xe5, 0x1b, 0x07, 0x84, 0x33, 0x20, + 0x50, 0x61, 0xdf, 0xbe, 0x7e, 0xca, 0x1e, 0x0f, 0x0e, 0x52, 0xb1, 0x67, + 0xd6, 0x98, 0x51, 0x68, 0x25, 0x04, 0x90, 0xa1, 0x50, 0x82, 0xc0, 0xc1, + 0x6b, 0x8f, 0xf2, 0xeb, +}; +static const unsigned char kat2576_addin0[] = { + 0xfb, 0x8f, 0x52, 0xd8, 0x1c, 0xad, 0x18, 0x6e, 0x7b, 0x9e, 0x97, 0x44, + 0x00, 0xfc, 0xeb, 0x4b, 0x1b, 0x78, 0xbf, 0xd8, 0xb5, 0xa6, 0xb0, 0xb1, + 0x1c, 0x83, 0x65, 0xb8, 0xdd, 0x40, 0xa2, 0xb1, 0x35, 0xda, 0x72, 0x08, + 0xd3, 0xa4, 0xa3, 0x83, +}; +static const unsigned char kat2576_addin1[] = { + 0x3d, 0x3f, 0xd6, 0x66, 0x02, 0x0d, 0xc1, 0x27, 0x12, 0x6c, 0x46, 0x2b, + 0xe2, 0xd6, 0x28, 0xf2, 0x77, 0x37, 0x3d, 0x24, 0x0b, 0xcd, 0x46, 0xd4, + 0x8f, 0x16, 0x7d, 0x33, 0x32, 0xb6, 0x32, 0x98, 0x63, 0x08, 0x28, 0xb5, + 0x19, 0x6e, 0x6f, 0x5e, +}; +static const unsigned char kat2576_retbits[] = { + 0x31, 0x62, 0xda, 0x5c, 0x34, 0x5c, 0xa3, 0xf8, 0x6d, 0xeb, 0x34, 0x5f, + 0x62, 0x7c, 0xb2, 0xc8, 0xd8, 0xaa, 0x03, 0x47, 0x5b, 0x5a, 0xe2, 0x7e, + 0x11, 0x4c, 0x56, 0x7e, 0x7a, 0x1a, 0xb9, 0x26, 0x7c, 0xc7, 0x1e, 0x1f, + 0xa8, 0x26, 0xcc, 0x4d, 0xf8, 0xb7, 0x98, 0x4d, 0x72, 0x13, 0xeb, 0x21, + 0x8f, 0xd5, 0xab, 0x73, 0xfe, 0x6c, 0x2c, 0x75, 0x26, 0xe2, 0x04, 0x1f, + 0xbf, 0x45, 0x6f, 0x96, +}; +static const struct drbg_kat_pr_false kat2576_t = { + 10, kat2576_entropyin, kat2576_nonce, kat2576_persstr, + kat2576_entropyinreseed, kat2576_addinreseed, kat2576_addin0, + kat2576_addin1, kat2576_retbits +}; +static const struct drbg_kat kat2576 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2576_t +}; + +static const unsigned char kat2577_entropyin[] = { + 0x39, 0x66, 0x5a, 0xc9, 0xd8, 0x96, 0x61, 0x1e, 0x0e, 0x4c, 0xfe, 0x2d, + 0x5f, 0x0d, 0xb8, 0x2a, 0x5c, 0x16, 0x0d, 0x1b, 0xf4, 0x66, 0xa6, 0xaa, + 0x21, 0x1b, 0x87, 0x69, 0x08, 0xee, 0x09, 0x37, 0x14, 0x56, 0xb8, 0x49, + 0x80, 0x84, 0xef, 0xc1, +}; +static const unsigned char kat2577_nonce[] = {0}; +static const unsigned char kat2577_persstr[] = { + 0x7b, 0x08, 0x36, 0xc9, 0xa0, 0x5b, 0xd3, 0x4e, 0x2f, 0x92, 0x5c, 0x48, + 0x8f, 0xb4, 0x9d, 0xa7, 0xa4, 0x48, 0x99, 0x63, 0x64, 0x20, 0x1f, 0x07, + 0xef, 0xa9, 0x04, 0xfd, 0xd4, 0xf9, 0x13, 0xde, 0x97, 0x1f, 0x04, 0xa2, + 0x58, 0x79, 0x7f, 0xd0, +}; +static const unsigned char kat2577_entropyinreseed[] = { + 0xfe, 0xdd, 0xd0, 0x72, 0x64, 0xc3, 0xbc, 0x84, 0x0e, 0x3f, 0x97, 0x4e, + 0x37, 0xb5, 0xfd, 0x4c, 0xc5, 0x70, 0x5a, 0x9a, 0x6c, 0xdd, 0x40, 0x6e, + 0x92, 0x01, 0x1b, 0xfe, 0xc6, 0x11, 0x0f, 0xed, 0x47, 0x64, 0x46, 0xe8, + 0x9e, 0x28, 0xac, 0xa2, +}; +static const unsigned char kat2577_addinreseed[] = { + 0x6e, 0x53, 0x31, 0x0d, 0xf1, 0xf2, 0xc7, 0x98, 0x11, 0x6b, 0x1e, 0xca, + 0x82, 0xe4, 0xa1, 0xb5, 0x25, 0xf5, 0x99, 0x6b, 0xf6, 0x9b, 0x71, 0x69, + 0x3d, 0xf2, 0x3b, 0x59, 0x83, 0xcb, 0xb2, 0x23, 0x0f, 0x4b, 0x03, 0xbd, + 0x98, 0xb6, 0xe7, 0x19, +}; +static const unsigned char kat2577_addin0[] = { + 0xee, 0xa9, 0x98, 0x7d, 0xa8, 0xe7, 0x62, 0x75, 0xed, 0x48, 0x87, 0xf1, + 0x47, 0xb8, 0xfa, 0x15, 0xcb, 0x59, 0xcb, 0x26, 0xc6, 0x0a, 0x39, 0x79, + 0xb0, 0xb3, 0x35, 0xfc, 0xdb, 0xd3, 0x5a, 0x0c, 0x8e, 0x1d, 0x83, 0x74, + 0x2c, 0xc3, 0xf0, 0xbf, +}; +static const unsigned char kat2577_addin1[] = { + 0x1f, 0xe4, 0xbd, 0x9c, 0x1b, 0xbc, 0x03, 0x1e, 0xde, 0xd4, 0x8a, 0x0d, + 0x43, 0xa4, 0x14, 0x10, 0xa1, 0xb4, 0x04, 0x2b, 0x59, 0xd2, 0x12, 0x67, + 0x11, 0x24, 0xd1, 0x8d, 0xf5, 0xd8, 0xb1, 0x2b, 0xd8, 0x55, 0xa1, 0x68, + 0x0e, 0x6a, 0x49, 0xd5, +}; +static const unsigned char kat2577_retbits[] = { + 0xfe, 0x63, 0x9a, 0xeb, 0x66, 0x70, 0x32, 0x09, 0x27, 0x9c, 0x40, 0x5d, + 0x99, 0x16, 0x9e, 0x57, 0x0d, 0x96, 0xe5, 0x7d, 0xfe, 0x94, 0x0d, 0x12, + 0x6c, 0xfc, 0x42, 0xe7, 0x3c, 0x3b, 0x1c, 0x65, 0xb7, 0x80, 0x3b, 0x7f, + 0x66, 0xbc, 0x74, 0x35, 0xf3, 0xa5, 0xcc, 0xc7, 0x0c, 0x94, 0x67, 0xc4, + 0x35, 0x2c, 0x89, 0x56, 0x86, 0x5a, 0x3e, 0x5a, 0xee, 0x36, 0x14, 0x61, + 0x83, 0xc9, 0x59, 0x2b, +}; +static const struct drbg_kat_pr_false kat2577_t = { + 11, kat2577_entropyin, kat2577_nonce, kat2577_persstr, + kat2577_entropyinreseed, kat2577_addinreseed, kat2577_addin0, + kat2577_addin1, kat2577_retbits +}; +static const struct drbg_kat kat2577 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2577_t +}; + +static const unsigned char kat2578_entropyin[] = { + 0x37, 0x49, 0x86, 0xac, 0xbb, 0xfa, 0xf7, 0x62, 0xad, 0xbd, 0xd8, 0x2c, + 0x84, 0x20, 0x30, 0xa3, 0x1d, 0xc7, 0xe6, 0x55, 0x54, 0xd8, 0xcd, 0xf3, + 0xa5, 0x31, 0x97, 0x95, 0x21, 0x8c, 0xbc, 0x1b, 0xf2, 0x95, 0xc2, 0x59, + 0xb8, 0x8e, 0xcd, 0x16, +}; +static const unsigned char kat2578_nonce[] = {0}; +static const unsigned char kat2578_persstr[] = { + 0x9a, 0xc0, 0xbc, 0x5c, 0x87, 0xe1, 0x1e, 0x44, 0x02, 0xb7, 0xb2, 0xdc, + 0x59, 0xe5, 0x26, 0x31, 0x4f, 0x27, 0xb4, 0x1e, 0xa0, 0x28, 0x98, 0x38, + 0xe7, 0x50, 0x37, 0x2a, 0x0f, 0x38, 0xc3, 0x40, 0x6a, 0xb3, 0xc5, 0x7a, + 0xb8, 0xa8, 0xed, 0x58, +}; +static const unsigned char kat2578_entropyinreseed[] = { + 0xf9, 0xd9, 0x38, 0x2b, 0xa0, 0x19, 0xff, 0xd3, 0xe3, 0xa9, 0xd8, 0x63, + 0x00, 0x9c, 0xec, 0x19, 0x41, 0xfd, 0x7a, 0x26, 0x6f, 0x24, 0xd3, 0xa5, + 0x7e, 0x19, 0x03, 0x76, 0x68, 0x5a, 0x93, 0x9c, 0x04, 0x8c, 0xdb, 0x7d, + 0x7e, 0xd1, 0x95, 0x6b, +}; +static const unsigned char kat2578_addinreseed[] = { + 0xff, 0x60, 0xd2, 0xa4, 0x9e, 0x1c, 0xa1, 0x78, 0xb4, 0x42, 0xa4, 0x26, + 0x7d, 0x03, 0xf2, 0x58, 0x3f, 0xa0, 0x83, 0x45, 0xb5, 0xf2, 0xee, 0x51, + 0x53, 0x95, 0x99, 0xac, 0x94, 0x5e, 0x13, 0x3b, 0xaf, 0xf2, 0x56, 0x93, + 0xa6, 0x09, 0xd8, 0x24, +}; +static const unsigned char kat2578_addin0[] = { + 0xd5, 0xe5, 0x05, 0xaa, 0xdb, 0xde, 0x83, 0xfe, 0x2d, 0xff, 0x00, 0x9c, + 0xb1, 0xf5, 0xa3, 0xeb, 0x60, 0x6e, 0x4f, 0xe1, 0x4c, 0x6d, 0x34, 0xc5, + 0x93, 0x55, 0xfe, 0xc1, 0x57, 0x9b, 0x3e, 0xf2, 0xfb, 0xa8, 0x67, 0x46, + 0x9a, 0x92, 0xaf, 0xb9, +}; +static const unsigned char kat2578_addin1[] = { + 0x16, 0x21, 0x6b, 0xae, 0xc7, 0x93, 0xac, 0x9b, 0x8b, 0xbc, 0x69, 0x28, + 0xd6, 0xf8, 0x04, 0xcf, 0xac, 0x63, 0x11, 0x36, 0xc3, 0xb1, 0x2e, 0xee, + 0xc6, 0x4e, 0xe4, 0x78, 0x4f, 0xfc, 0xee, 0x57, 0x64, 0xef, 0x66, 0x37, + 0x8e, 0x7d, 0xd1, 0x7e, +}; +static const unsigned char kat2578_retbits[] = { + 0xf9, 0xa7, 0x5e, 0x5a, 0xf1, 0x26, 0xf6, 0x10, 0x96, 0xb3, 0x69, 0x1d, + 0xd1, 0x4b, 0x05, 0x38, 0x51, 0x21, 0x5b, 0x2b, 0xa3, 0x3d, 0x59, 0xbf, + 0x4c, 0x6f, 0x2f, 0xbd, 0xcd, 0x3e, 0xea, 0x28, 0x1e, 0x74, 0x87, 0x06, + 0x39, 0x8c, 0xf7, 0xed, 0xf0, 0x93, 0x8e, 0xd8, 0x92, 0x4d, 0x8f, 0x93, + 0x5c, 0xd7, 0x0c, 0x13, 0x2a, 0xcc, 0x6c, 0x66, 0x6e, 0xde, 0x6b, 0xd6, + 0xd4, 0xd7, 0x11, 0xe7, +}; +static const struct drbg_kat_pr_false kat2578_t = { + 12, kat2578_entropyin, kat2578_nonce, kat2578_persstr, + kat2578_entropyinreseed, kat2578_addinreseed, kat2578_addin0, + kat2578_addin1, kat2578_retbits +}; +static const struct drbg_kat kat2578 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2578_t +}; + +static const unsigned char kat2579_entropyin[] = { + 0x3d, 0x5a, 0x03, 0xf6, 0xd1, 0x25, 0x04, 0xb0, 0x9e, 0x9e, 0x47, 0x48, + 0x22, 0xe5, 0x4a, 0x60, 0x8c, 0xc6, 0x25, 0x58, 0x9d, 0x9f, 0xf2, 0xfc, + 0xee, 0x96, 0xf3, 0xb6, 0x19, 0x14, 0xaf, 0x68, 0xd8, 0x2e, 0x36, 0x7f, + 0x15, 0x1b, 0x13, 0xb1, +}; +static const unsigned char kat2579_nonce[] = {0}; +static const unsigned char kat2579_persstr[] = { + 0x20, 0x5f, 0x01, 0x55, 0xcd, 0x5c, 0x00, 0x31, 0x0b, 0xa1, 0x0f, 0x93, + 0x07, 0xf4, 0xac, 0x9f, 0x95, 0x6d, 0x07, 0x31, 0x2f, 0x04, 0x7b, 0xf1, + 0xde, 0x46, 0x40, 0xc8, 0x0b, 0xf7, 0x85, 0xc6, 0x2f, 0x60, 0x1d, 0xae, + 0x65, 0x2c, 0x44, 0xc1, +}; +static const unsigned char kat2579_entropyinreseed[] = { + 0x80, 0xdc, 0x2a, 0xad, 0x56, 0x7a, 0x43, 0x45, 0x00, 0xa2, 0x9c, 0xff, + 0x1c, 0x5e, 0xf3, 0xea, 0x01, 0xd2, 0x6d, 0x54, 0x1d, 0xe2, 0xee, 0xa1, + 0x6b, 0x65, 0xc3, 0x3e, 0x94, 0xf4, 0x03, 0x83, 0x61, 0x83, 0x28, 0x77, + 0x1e, 0x27, 0x44, 0x42, +}; +static const unsigned char kat2579_addinreseed[] = { + 0x79, 0x7d, 0x7e, 0xf2, 0x6e, 0x18, 0xb7, 0x8d, 0x0f, 0xf2, 0x14, 0x04, + 0xa2, 0xe8, 0x85, 0x88, 0x82, 0xe2, 0x0c, 0x97, 0x7b, 0xbe, 0x04, 0x62, + 0x97, 0x51, 0x82, 0x73, 0x66, 0x13, 0x84, 0xe4, 0xda, 0x22, 0xe0, 0x6e, + 0x6f, 0x91, 0xfa, 0x2d, +}; +static const unsigned char kat2579_addin0[] = { + 0xb6, 0x7c, 0xac, 0xea, 0x64, 0xcb, 0xb3, 0x5c, 0xe4, 0xcc, 0xe0, 0x9b, + 0xfe, 0xe1, 0x95, 0xf5, 0x16, 0x90, 0x73, 0x5a, 0x18, 0x81, 0xd9, 0x69, + 0xd0, 0x4a, 0xd8, 0xa3, 0xe7, 0x99, 0x5f, 0x9c, 0x80, 0x08, 0xa7, 0x63, + 0x03, 0xc6, 0x28, 0x48, +}; +static const unsigned char kat2579_addin1[] = { + 0x4d, 0x8b, 0x9c, 0xad, 0x9c, 0x93, 0x32, 0x53, 0x31, 0x6d, 0x46, 0xe1, + 0xd2, 0xb9, 0x97, 0xcf, 0xd7, 0xd5, 0x48, 0x09, 0x19, 0xb5, 0xbe, 0x40, + 0xba, 0x0d, 0xa2, 0xbf, 0xe1, 0xc7, 0xec, 0x1e, 0xf2, 0x29, 0xb2, 0x13, + 0xb5, 0xa2, 0x03, 0x9a, +}; +static const unsigned char kat2579_retbits[] = { + 0xfe, 0x7e, 0x78, 0x75, 0x09, 0x9f, 0xac, 0x19, 0xd4, 0xcf, 0xd0, 0x5f, + 0x2f, 0x79, 0x19, 0x5f, 0x95, 0x29, 0xdf, 0x6c, 0xd1, 0x7d, 0xe0, 0xdd, + 0xa6, 0xf7, 0xd2, 0x19, 0xcd, 0x4c, 0x8d, 0x11, 0xa2, 0x7a, 0x6a, 0xfe, + 0x25, 0x2c, 0x50, 0x8a, 0xa9, 0x05, 0xa3, 0x94, 0x58, 0x58, 0xb1, 0x12, + 0x2b, 0xec, 0x2a, 0x4b, 0xc3, 0x30, 0xcf, 0x97, 0x51, 0x4b, 0x97, 0x92, + 0x36, 0x9e, 0xda, 0x0d, +}; +static const struct drbg_kat_pr_false kat2579_t = { + 13, kat2579_entropyin, kat2579_nonce, kat2579_persstr, + kat2579_entropyinreseed, kat2579_addinreseed, kat2579_addin0, + kat2579_addin1, kat2579_retbits +}; +static const struct drbg_kat kat2579 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2579_t +}; + +static const unsigned char kat2580_entropyin[] = { + 0x04, 0xaf, 0x41, 0x0c, 0xe3, 0x90, 0xf2, 0x9b, 0x89, 0xaf, 0x36, 0xbf, + 0x87, 0xbe, 0x36, 0x5c, 0xff, 0x56, 0x9f, 0x24, 0x06, 0x7f, 0x24, 0x2d, + 0x15, 0xa8, 0x16, 0x78, 0x37, 0x8d, 0x43, 0x16, 0x08, 0x1c, 0x34, 0xe0, + 0x92, 0x00, 0xca, 0x52, +}; +static const unsigned char kat2580_nonce[] = {0}; +static const unsigned char kat2580_persstr[] = { + 0xcd, 0x05, 0x96, 0xaa, 0x89, 0x6d, 0x5e, 0xb9, 0x9b, 0x3f, 0x57, 0xdf, + 0x89, 0xd7, 0xcd, 0xa6, 0x50, 0xc6, 0xe6, 0xeb, 0xc1, 0x39, 0x1e, 0x16, + 0x86, 0x74, 0x44, 0x98, 0xad, 0xee, 0x30, 0xaa, 0xbb, 0xfc, 0xad, 0x86, + 0x18, 0x8e, 0x72, 0x5f, +}; +static const unsigned char kat2580_entropyinreseed[] = { + 0x72, 0x6b, 0xce, 0x25, 0x18, 0x38, 0x7a, 0xa2, 0x52, 0x1e, 0x1e, 0x89, + 0x61, 0x23, 0x4b, 0xd4, 0x8b, 0xc5, 0xaf, 0xf9, 0x70, 0xe4, 0xdb, 0x3d, + 0xe5, 0x1c, 0x67, 0x05, 0xaf, 0x42, 0x8e, 0x82, 0x03, 0x51, 0xf0, 0x84, + 0xce, 0x64, 0x54, 0xbf, +}; +static const unsigned char kat2580_addinreseed[] = { + 0x4f, 0x42, 0x0a, 0x15, 0x95, 0xc8, 0x89, 0x87, 0xaf, 0xee, 0x6f, 0x70, + 0x51, 0xec, 0xea, 0xd3, 0xf2, 0xe1, 0x74, 0x14, 0xbe, 0x73, 0xa9, 0xda, + 0x10, 0x7d, 0xfc, 0x0b, 0xe8, 0x18, 0x2d, 0x41, 0xa3, 0x1d, 0x7a, 0x17, + 0x5c, 0x45, 0x74, 0xf3, +}; +static const unsigned char kat2580_addin0[] = { + 0xeb, 0x4f, 0xa0, 0xae, 0x2b, 0xd5, 0xff, 0x9a, 0xb1, 0x95, 0x45, 0xd3, + 0x03, 0x50, 0xfa, 0xb0, 0x97, 0x19, 0xdb, 0x12, 0xf4, 0x28, 0xcc, 0xc3, + 0xfe, 0xa3, 0x6d, 0xa4, 0xa0, 0x2e, 0x8b, 0xec, 0x1f, 0x9d, 0x94, 0x0e, + 0x2e, 0x62, 0xd4, 0xc3, +}; +static const unsigned char kat2580_addin1[] = { + 0xf1, 0xd0, 0x85, 0x3f, 0xc6, 0xfe, 0xcc, 0xa6, 0x73, 0x00, 0x79, 0xb5, + 0xe6, 0x48, 0x40, 0xbd, 0xcb, 0xc2, 0xcc, 0xf4, 0xa9, 0xe2, 0x0a, 0xa0, + 0x8e, 0x8e, 0xe2, 0xe4, 0x8c, 0x78, 0x58, 0x38, 0xb1, 0x54, 0xc6, 0x68, + 0x45, 0xe2, 0x42, 0x3b, +}; +static const unsigned char kat2580_retbits[] = { + 0xa2, 0x99, 0x49, 0xeb, 0x92, 0x71, 0x6b, 0x06, 0x82, 0xcd, 0x27, 0xf6, + 0x2c, 0xa0, 0x0c, 0xfb, 0xad, 0x71, 0x7f, 0xc9, 0x76, 0xc5, 0x5d, 0xdd, + 0xd8, 0x54, 0xde, 0xd4, 0x4a, 0x53, 0xea, 0x2c, 0xd0, 0xdc, 0x0a, 0x97, + 0xdb, 0x8b, 0x60, 0x11, 0xd5, 0x83, 0xf8, 0xfc, 0xb5, 0x22, 0xb7, 0xf8, + 0xc3, 0xd2, 0xfd, 0xd6, 0x8e, 0xbd, 0xc0, 0x83, 0xe2, 0x3d, 0x5f, 0x57, + 0x37, 0xdf, 0xb5, 0x72, +}; +static const struct drbg_kat_pr_false kat2580_t = { + 14, kat2580_entropyin, kat2580_nonce, kat2580_persstr, + kat2580_entropyinreseed, kat2580_addinreseed, kat2580_addin0, + kat2580_addin1, kat2580_retbits +}; +static const struct drbg_kat kat2580 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2580_t +}; + +static const unsigned char kat2581_entropyin[] = { + 0x41, 0x43, 0xf1, 0x49, 0x49, 0xa4, 0xc1, 0x02, 0xed, 0x08, 0xe4, 0xe2, + 0x43, 0x88, 0xd0, 0xef, 0x7f, 0x66, 0xba, 0xac, 0x16, 0x1a, 0x6e, 0x6a, + 0xf1, 0xa3, 0x58, 0xd4, 0x78, 0x74, 0x5b, 0x6e, 0xe7, 0x96, 0x34, 0xb8, + 0xfb, 0x7a, 0x94, 0xe4, +}; +static const unsigned char kat2581_nonce[] = {0}; +static const unsigned char kat2581_persstr[] = {0}; +static const unsigned char kat2581_entropyinreseed[] = { + 0x43, 0x81, 0x0b, 0xb8, 0xf9, 0x4e, 0x76, 0xcf, 0xe7, 0xf6, 0xf9, 0x83, + 0xbd, 0x83, 0xe3, 0xe2, 0x16, 0xb6, 0x30, 0x43, 0x17, 0x57, 0xe2, 0xbf, + 0x64, 0xa7, 0x83, 0x31, 0x80, 0x2f, 0x62, 0x76, 0xdd, 0x8d, 0x8f, 0x3d, + 0x76, 0x88, 0xc3, 0x0d, +}; +static const unsigned char kat2581_addinreseed[] = {0}; +static const unsigned char kat2581_addin0[] = {0}; +static const unsigned char kat2581_addin1[] = {0}; +static const unsigned char kat2581_retbits[] = { + 0xa5, 0xe6, 0xfd, 0xc2, 0xb9, 0xee, 0xcf, 0x4d, 0xd7, 0x8a, 0x31, 0xf2, + 0x64, 0x85, 0xbb, 0xd5, 0xb1, 0x7b, 0xad, 0x6c, 0xd3, 0x15, 0xfd, 0x44, + 0x89, 0x70, 0xf3, 0x74, 0xb4, 0xf1, 0xc3, 0xa6, 0x05, 0x4f, 0xee, 0x54, + 0x50, 0x73, 0x5f, 0xba, 0x04, 0x97, 0x45, 0xa7, 0xa6, 0x67, 0x52, 0x73, + 0x58, 0x02, 0xb1, 0x95, 0x69, 0xde, 0x2a, 0x01, 0x7c, 0x54, 0x75, 0xa2, + 0x5a, 0xe9, 0x9d, 0x2b, +}; +static const struct drbg_kat_pr_false kat2581_t = { + 0, kat2581_entropyin, kat2581_nonce, kat2581_persstr, + kat2581_entropyinreseed, kat2581_addinreseed, kat2581_addin0, + kat2581_addin1, kat2581_retbits +}; +static const struct drbg_kat kat2581 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2581_t +}; + +static const unsigned char kat2582_entropyin[] = { + 0xa1, 0xe8, 0x12, 0x7d, 0x48, 0x5c, 0x22, 0xc2, 0x69, 0x1b, 0x34, 0x2a, + 0x42, 0x9d, 0x05, 0xdb, 0xed, 0x20, 0x0f, 0x41, 0x11, 0xde, 0xc8, 0xc1, + 0x90, 0x6e, 0xd3, 0x3f, 0xd0, 0x57, 0xea, 0xb3, 0x6c, 0xff, 0xb0, 0x95, + 0xf7, 0xe7, 0x64, 0xfb, +}; +static const unsigned char kat2582_nonce[] = {0}; +static const unsigned char kat2582_persstr[] = {0}; +static const unsigned char kat2582_entropyinreseed[] = { + 0x12, 0xa7, 0xe9, 0x46, 0x4f, 0x47, 0x58, 0xb7, 0x89, 0xcb, 0x32, 0xf2, + 0xb0, 0x25, 0xba, 0x12, 0x06, 0x79, 0x43, 0x24, 0x63, 0x6b, 0x2e, 0xa1, + 0xda, 0x3e, 0x12, 0x0f, 0x97, 0xc2, 0x16, 0xee, 0x14, 0xbf, 0x33, 0x2f, + 0x79, 0xd3, 0x39, 0x5c, +}; +static const unsigned char kat2582_addinreseed[] = {0}; +static const unsigned char kat2582_addin0[] = {0}; +static const unsigned char kat2582_addin1[] = {0}; +static const unsigned char kat2582_retbits[] = { + 0x09, 0xa3, 0x7b, 0x3d, 0x31, 0x46, 0xe0, 0xd4, 0x1b, 0x93, 0xbf, 0x0d, + 0xec, 0xf4, 0x51, 0x21, 0xaf, 0xd3, 0x0d, 0x30, 0x7b, 0x8a, 0xfb, 0x4b, + 0x1a, 0x6e, 0x4a, 0xf9, 0x18, 0x36, 0x9c, 0x80, 0xd3, 0x04, 0x9f, 0x75, + 0x70, 0x83, 0xfb, 0xac, 0xb3, 0xb6, 0xbf, 0xf8, 0x5e, 0x01, 0xe3, 0x93, + 0x62, 0xfe, 0xca, 0xb5, 0x42, 0x7d, 0x33, 0x00, 0x5b, 0xd8, 0x3e, 0xac, + 0x1a, 0xba, 0x6d, 0xba, +}; +static const struct drbg_kat_pr_false kat2582_t = { + 1, kat2582_entropyin, kat2582_nonce, kat2582_persstr, + kat2582_entropyinreseed, kat2582_addinreseed, kat2582_addin0, + kat2582_addin1, kat2582_retbits +}; +static const struct drbg_kat kat2582 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2582_t +}; + +static const unsigned char kat2583_entropyin[] = { + 0xe9, 0xbb, 0x16, 0x37, 0x2a, 0xb0, 0x2b, 0x3d, 0x0c, 0x12, 0x44, 0xa5, + 0xf3, 0xa6, 0xfa, 0x6e, 0x76, 0x0c, 0x9a, 0xd5, 0x99, 0xcb, 0xcd, 0x17, + 0x01, 0x1d, 0xdf, 0xc6, 0xcb, 0x85, 0x1f, 0x01, 0x85, 0x43, 0xa4, 0xe8, + 0x2c, 0x3c, 0xd1, 0xc6, +}; +static const unsigned char kat2583_nonce[] = {0}; +static const unsigned char kat2583_persstr[] = {0}; +static const unsigned char kat2583_entropyinreseed[] = { + 0x24, 0x31, 0x20, 0x89, 0x77, 0x4e, 0x11, 0x8f, 0xfb, 0x3e, 0xca, 0x0d, + 0x28, 0x18, 0x14, 0x1f, 0x17, 0x18, 0xc1, 0x02, 0xc9, 0x98, 0xb7, 0x59, + 0x4a, 0xa5, 0x57, 0x8a, 0xf9, 0x6b, 0xc5, 0x89, 0x95, 0x20, 0xab, 0x36, + 0x46, 0x67, 0xa9, 0xef, +}; +static const unsigned char kat2583_addinreseed[] = {0}; +static const unsigned char kat2583_addin0[] = {0}; +static const unsigned char kat2583_addin1[] = {0}; +static const unsigned char kat2583_retbits[] = { + 0x71, 0xe3, 0x05, 0xd9, 0x1a, 0x09, 0x74, 0xf3, 0xf4, 0xf9, 0x2f, 0x3a, + 0x49, 0x8e, 0xc1, 0xf3, 0xa5, 0x80, 0x24, 0xc9, 0x99, 0x7f, 0x73, 0x70, + 0x70, 0x18, 0x38, 0x29, 0xa0, 0x48, 0x50, 0x25, 0x8d, 0x94, 0xf8, 0xfb, + 0x53, 0x14, 0x69, 0xb9, 0x31, 0x17, 0x7e, 0x84, 0x7d, 0xed, 0x10, 0x9f, + 0x0f, 0x54, 0x23, 0x9e, 0x8e, 0x98, 0x4f, 0xe9, 0x6d, 0xf3, 0x53, 0xc4, + 0x48, 0x6d, 0x15, 0x50, +}; +static const struct drbg_kat_pr_false kat2583_t = { + 2, kat2583_entropyin, kat2583_nonce, kat2583_persstr, + kat2583_entropyinreseed, kat2583_addinreseed, kat2583_addin0, + kat2583_addin1, kat2583_retbits +}; +static const struct drbg_kat kat2583 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2583_t +}; + +static const unsigned char kat2584_entropyin[] = { + 0x25, 0xab, 0x26, 0x7f, 0xba, 0xcb, 0x41, 0x1e, 0x5f, 0x2d, 0x38, 0x9e, + 0x84, 0x2b, 0x4e, 0x66, 0x5c, 0x06, 0x44, 0x6e, 0x65, 0x7b, 0x00, 0xed, + 0x37, 0x7f, 0x75, 0x34, 0xe5, 0x6a, 0xfe, 0x92, 0xee, 0x3f, 0x07, 0xc1, + 0xd3, 0xaa, 0x02, 0xe2, +}; +static const unsigned char kat2584_nonce[] = {0}; +static const unsigned char kat2584_persstr[] = {0}; +static const unsigned char kat2584_entropyinreseed[] = { + 0x18, 0x68, 0xbe, 0x40, 0x8b, 0xbd, 0x4c, 0xdf, 0x90, 0x37, 0x98, 0xeb, + 0xe4, 0xc8, 0x9b, 0x9b, 0x5a, 0xec, 0xc3, 0xc8, 0x8e, 0x01, 0x8d, 0x77, + 0xb2, 0xcf, 0x58, 0x13, 0x37, 0x88, 0xe9, 0x29, 0xae, 0x90, 0x54, 0x5a, + 0x3d, 0xc7, 0x6a, 0xf8, +}; +static const unsigned char kat2584_addinreseed[] = {0}; +static const unsigned char kat2584_addin0[] = {0}; +static const unsigned char kat2584_addin1[] = {0}; +static const unsigned char kat2584_retbits[] = { + 0x35, 0x25, 0x63, 0xf9, 0x30, 0x73, 0x69, 0x7e, 0xab, 0x3c, 0xfb, 0x4d, + 0x97, 0xbc, 0xca, 0x1f, 0x27, 0xda, 0x4f, 0xd8, 0x71, 0x77, 0x16, 0x54, + 0xee, 0x47, 0x90, 0x28, 0x6a, 0xd7, 0x03, 0x2c, 0x77, 0x35, 0xe8, 0x7a, + 0x3f, 0xe4, 0x80, 0x89, 0x94, 0x92, 0xf6, 0x8a, 0x73, 0xea, 0x3b, 0xe3, + 0xbc, 0xa3, 0x6b, 0xb0, 0x99, 0x7f, 0xf0, 0x8b, 0x2c, 0x72, 0x42, 0x15, + 0x67, 0xc8, 0x87, 0x1c, +}; +static const struct drbg_kat_pr_false kat2584_t = { + 3, kat2584_entropyin, kat2584_nonce, kat2584_persstr, + kat2584_entropyinreseed, kat2584_addinreseed, kat2584_addin0, + kat2584_addin1, kat2584_retbits +}; +static const struct drbg_kat kat2584 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2584_t +}; + +static const unsigned char kat2585_entropyin[] = { + 0x7b, 0xf7, 0x76, 0x38, 0x91, 0x09, 0xd7, 0x52, 0xd7, 0xca, 0x8d, 0x29, + 0xf1, 0x51, 0x91, 0xda, 0x3c, 0x43, 0x77, 0x58, 0xba, 0xb4, 0xa8, 0x90, + 0x0d, 0x39, 0xd2, 0x63, 0xf4, 0xa8, 0x78, 0xd4, 0xbc, 0x19, 0x15, 0xf6, + 0x30, 0x46, 0xed, 0xfe, +}; +static const unsigned char kat2585_nonce[] = {0}; +static const unsigned char kat2585_persstr[] = {0}; +static const unsigned char kat2585_entropyinreseed[] = { + 0xd9, 0xfa, 0x77, 0x1d, 0x12, 0x1f, 0xda, 0x64, 0x8c, 0x98, 0x02, 0xfe, + 0xd5, 0x8b, 0x25, 0x9b, 0x57, 0xff, 0x99, 0xb0, 0x1d, 0x45, 0x21, 0x8f, + 0x22, 0x6d, 0x89, 0x68, 0x5d, 0xda, 0x4f, 0x4d, 0xee, 0x0e, 0x54, 0x3a, + 0xda, 0x9b, 0x18, 0x1f, +}; +static const unsigned char kat2585_addinreseed[] = {0}; +static const unsigned char kat2585_addin0[] = {0}; +static const unsigned char kat2585_addin1[] = {0}; +static const unsigned char kat2585_retbits[] = { + 0x9b, 0xe5, 0x53, 0xc2, 0x94, 0xa5, 0xc8, 0x93, 0x94, 0xd9, 0xeb, 0x0b, + 0x43, 0x0d, 0x05, 0xc9, 0xbe, 0xc0, 0xf7, 0xb7, 0x5c, 0xe1, 0x83, 0xef, + 0x06, 0x04, 0x85, 0x95, 0x19, 0xa7, 0xe5, 0x05, 0xaa, 0xe4, 0x41, 0x6c, + 0x98, 0x72, 0x98, 0x28, 0x58, 0xdd, 0x27, 0x51, 0x67, 0x3c, 0x31, 0xaa, + 0xeb, 0x15, 0x15, 0xcd, 0x95, 0x7c, 0x11, 0xf4, 0xe0, 0x1d, 0x49, 0x31, + 0x8a, 0x94, 0x81, 0x7e, +}; +static const struct drbg_kat_pr_false kat2585_t = { + 4, kat2585_entropyin, kat2585_nonce, kat2585_persstr, + kat2585_entropyinreseed, kat2585_addinreseed, kat2585_addin0, + kat2585_addin1, kat2585_retbits +}; +static const struct drbg_kat kat2585 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2585_t +}; + +static const unsigned char kat2586_entropyin[] = { + 0x8e, 0xfb, 0x09, 0xa2, 0x5e, 0x68, 0x51, 0x78, 0x1e, 0x61, 0x44, 0x98, + 0x7c, 0x57, 0xc8, 0x18, 0x46, 0x81, 0xf7, 0x32, 0x0a, 0x86, 0xd4, 0x95, + 0x2c, 0x18, 0xda, 0xaa, 0x7b, 0x96, 0xb3, 0x8b, 0x2c, 0x1e, 0x13, 0x88, + 0x1a, 0x89, 0x95, 0xa3, +}; +static const unsigned char kat2586_nonce[] = {0}; +static const unsigned char kat2586_persstr[] = {0}; +static const unsigned char kat2586_entropyinreseed[] = { + 0x5f, 0x41, 0x3a, 0x40, 0x76, 0x92, 0xd8, 0xe5, 0x31, 0x76, 0xb1, 0x90, + 0xaf, 0x27, 0xda, 0xe1, 0x7b, 0x08, 0xb3, 0xf7, 0x08, 0xb6, 0xac, 0x3c, + 0x57, 0x22, 0xe4, 0x35, 0xfe, 0x00, 0x89, 0x7e, 0x25, 0x6d, 0xc7, 0xeb, + 0xe5, 0xcf, 0x38, 0x00, +}; +static const unsigned char kat2586_addinreseed[] = {0}; +static const unsigned char kat2586_addin0[] = {0}; +static const unsigned char kat2586_addin1[] = {0}; +static const unsigned char kat2586_retbits[] = { + 0xe8, 0x46, 0x62, 0x22, 0x36, 0xeb, 0x1e, 0x51, 0xee, 0xe5, 0x8a, 0x3f, + 0xae, 0x3d, 0x65, 0x3c, 0x05, 0x82, 0x0d, 0xcb, 0x32, 0x88, 0xa5, 0x58, + 0xcd, 0x69, 0x8c, 0x44, 0x9a, 0x9b, 0xc4, 0x02, 0xc7, 0x99, 0x6c, 0xf0, + 0xe0, 0xb2, 0x4c, 0x00, 0x15, 0x86, 0x20, 0x9e, 0x8a, 0x57, 0xc4, 0x54, + 0xf7, 0x27, 0xaf, 0x38, 0x17, 0x22, 0xe4, 0x8b, 0x4c, 0xed, 0xf2, 0x7e, + 0x23, 0xb0, 0x86, 0xa6, +}; +static const struct drbg_kat_pr_false kat2586_t = { + 5, kat2586_entropyin, kat2586_nonce, kat2586_persstr, + kat2586_entropyinreseed, kat2586_addinreseed, kat2586_addin0, + kat2586_addin1, kat2586_retbits +}; +static const struct drbg_kat kat2586 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2586_t +}; + +static const unsigned char kat2587_entropyin[] = { + 0x43, 0x59, 0x7c, 0x42, 0xcd, 0xb2, 0xec, 0x6c, 0xcd, 0xd3, 0x7c, 0xaa, + 0xa2, 0x67, 0x34, 0x1b, 0x51, 0x5b, 0x7d, 0x50, 0xd7, 0x7f, 0xba, 0x14, + 0x59, 0xe9, 0x10, 0x71, 0x8f, 0x76, 0xbc, 0x11, 0x00, 0xd6, 0x87, 0x43, + 0x35, 0xf3, 0x3e, 0x67, +}; +static const unsigned char kat2587_nonce[] = {0}; +static const unsigned char kat2587_persstr[] = {0}; +static const unsigned char kat2587_entropyinreseed[] = { + 0x3a, 0x1b, 0x97, 0xd4, 0xb6, 0xa2, 0xe9, 0xb5, 0x84, 0xee, 0xeb, 0x90, + 0xa3, 0x49, 0xe7, 0xb2, 0x11, 0x71, 0xe6, 0xa7, 0x0d, 0xf3, 0x53, 0xf0, + 0xeb, 0x8e, 0x3a, 0xd4, 0x1a, 0x4c, 0x15, 0x7c, 0x0c, 0x4f, 0xe5, 0x1b, + 0x17, 0x31, 0xb3, 0xd0, +}; +static const unsigned char kat2587_addinreseed[] = {0}; +static const unsigned char kat2587_addin0[] = {0}; +static const unsigned char kat2587_addin1[] = {0}; +static const unsigned char kat2587_retbits[] = { + 0x3d, 0x67, 0xc0, 0xf1, 0x42, 0x51, 0xb7, 0xc1, 0x82, 0x28, 0xcb, 0x1e, + 0xde, 0x24, 0x75, 0xa3, 0x57, 0x13, 0x5a, 0xf2, 0x7a, 0x17, 0x88, 0x18, + 0xe6, 0x1f, 0xf8, 0xc0, 0x6c, 0x0a, 0x59, 0xfa, 0xd9, 0xba, 0x12, 0xcc, + 0x2f, 0x2d, 0xcd, 0xed, 0xb6, 0x1a, 0xf5, 0x64, 0x97, 0x22, 0x5b, 0x1a, + 0xdb, 0x1b, 0xd1, 0x5a, 0x81, 0x37, 0x96, 0x4a, 0x43, 0xa7, 0x5d, 0x52, + 0x5f, 0x2c, 0xbf, 0x6b, +}; +static const struct drbg_kat_pr_false kat2587_t = { + 6, kat2587_entropyin, kat2587_nonce, kat2587_persstr, + kat2587_entropyinreseed, kat2587_addinreseed, kat2587_addin0, + kat2587_addin1, kat2587_retbits +}; +static const struct drbg_kat kat2587 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2587_t +}; + +static const unsigned char kat2588_entropyin[] = { + 0x8b, 0xcc, 0x87, 0xf4, 0xd6, 0x3d, 0x0e, 0xc1, 0x78, 0x44, 0x2d, 0xd3, + 0x5e, 0xd2, 0x5f, 0xc0, 0x64, 0x40, 0x48, 0x21, 0x47, 0x7f, 0xb4, 0x9e, + 0xf2, 0x16, 0x8b, 0xc7, 0x30, 0x25, 0x5d, 0x97, 0x9a, 0x5d, 0x59, 0x9a, + 0x42, 0xb3, 0x76, 0x3d, +}; +static const unsigned char kat2588_nonce[] = {0}; +static const unsigned char kat2588_persstr[] = {0}; +static const unsigned char kat2588_entropyinreseed[] = { + 0x7d, 0x4f, 0xfe, 0xae, 0xd0, 0x3a, 0xc4, 0x06, 0x37, 0x7b, 0x87, 0xa1, + 0x3f, 0x35, 0x16, 0xac, 0x6e, 0xff, 0x95, 0xf2, 0x19, 0x2f, 0x37, 0x97, + 0x3f, 0xf2, 0x30, 0xa8, 0x79, 0xd3, 0x5f, 0xb2, 0x42, 0x4f, 0x3f, 0xf8, + 0x6f, 0x1c, 0xfa, 0x77, +}; +static const unsigned char kat2588_addinreseed[] = {0}; +static const unsigned char kat2588_addin0[] = {0}; +static const unsigned char kat2588_addin1[] = {0}; +static const unsigned char kat2588_retbits[] = { + 0x6a, 0x02, 0x8d, 0x7e, 0x73, 0xd1, 0x1b, 0x35, 0x72, 0x46, 0x49, 0x98, + 0x0a, 0xa8, 0xf5, 0xa6, 0x81, 0x37, 0x20, 0x9b, 0xd2, 0xc9, 0x88, 0x65, + 0x65, 0x66, 0x50, 0xff, 0x4f, 0x10, 0xc0, 0x74, 0x55, 0x23, 0x22, 0x46, + 0x32, 0xbb, 0x02, 0x44, 0x2e, 0x75, 0x77, 0x7d, 0x1e, 0xd8, 0x82, 0xb2, + 0x5f, 0x18, 0x37, 0x21, 0x97, 0x72, 0x72, 0x9b, 0x22, 0x85, 0x93, 0x5c, + 0x6f, 0x53, 0x5e, 0xa9, +}; +static const struct drbg_kat_pr_false kat2588_t = { + 7, kat2588_entropyin, kat2588_nonce, kat2588_persstr, + kat2588_entropyinreseed, kat2588_addinreseed, kat2588_addin0, + kat2588_addin1, kat2588_retbits +}; +static const struct drbg_kat kat2588 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2588_t +}; + +static const unsigned char kat2589_entropyin[] = { + 0x0b, 0x0b, 0xa1, 0x33, 0x61, 0xb6, 0xb3, 0x6e, 0x93, 0x28, 0x69, 0xc3, + 0x0b, 0x9e, 0x88, 0xe7, 0xf9, 0xdc, 0x2b, 0xdf, 0x9d, 0x9e, 0x0d, 0xac, + 0x48, 0x7b, 0x0c, 0x1c, 0x89, 0x25, 0xe1, 0xdf, 0xc4, 0xec, 0x4e, 0xbb, + 0xca, 0x50, 0xa6, 0x4f, +}; +static const unsigned char kat2589_nonce[] = {0}; +static const unsigned char kat2589_persstr[] = {0}; +static const unsigned char kat2589_entropyinreseed[] = { + 0x8e, 0xeb, 0x7d, 0x77, 0x3e, 0xa5, 0xa5, 0xe1, 0xba, 0x66, 0xee, 0x64, + 0xfb, 0x4f, 0x80, 0x47, 0xd9, 0x5f, 0x3a, 0x20, 0x86, 0x07, 0x9f, 0xd6, + 0x31, 0xb2, 0xa1, 0x7b, 0xe8, 0xb9, 0x28, 0xb4, 0xe0, 0xdb, 0xd5, 0x0a, + 0x7e, 0x6e, 0xb2, 0xa1, +}; +static const unsigned char kat2589_addinreseed[] = {0}; +static const unsigned char kat2589_addin0[] = {0}; +static const unsigned char kat2589_addin1[] = {0}; +static const unsigned char kat2589_retbits[] = { + 0x0e, 0xe5, 0x63, 0x1c, 0xff, 0x99, 0xaa, 0xf7, 0xbb, 0xa4, 0xe1, 0x71, + 0x8d, 0x3c, 0x3d, 0x87, 0x3e, 0xe8, 0xe7, 0xc4, 0x1c, 0x6c, 0x1c, 0x55, + 0x32, 0x01, 0xc7, 0x82, 0x99, 0x67, 0x7b, 0xca, 0x17, 0x2f, 0x85, 0xab, + 0x7c, 0x6c, 0xb5, 0x26, 0x58, 0x62, 0xd8, 0xa6, 0xaf, 0xa8, 0x23, 0xf5, + 0xbb, 0xef, 0xf1, 0x41, 0xd6, 0x89, 0xf6, 0x23, 0x12, 0x8c, 0x15, 0x9f, + 0xb5, 0xd4, 0xde, 0x7d, +}; +static const struct drbg_kat_pr_false kat2589_t = { + 8, kat2589_entropyin, kat2589_nonce, kat2589_persstr, + kat2589_entropyinreseed, kat2589_addinreseed, kat2589_addin0, + kat2589_addin1, kat2589_retbits +}; +static const struct drbg_kat kat2589 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2589_t +}; + +static const unsigned char kat2590_entropyin[] = { + 0xc9, 0xbb, 0xd2, 0x7e, 0x20, 0x7f, 0x1b, 0x22, 0x9c, 0x25, 0xa2, 0xbb, + 0x37, 0xfd, 0xff, 0x34, 0xd8, 0xc5, 0x65, 0xd1, 0x7a, 0xcb, 0xad, 0xd9, + 0xdf, 0xe4, 0x61, 0x18, 0xb2, 0xaf, 0xd9, 0x72, 0x36, 0xf3, 0x0e, 0x12, + 0x93, 0x4a, 0x24, 0xea, +}; +static const unsigned char kat2590_nonce[] = {0}; +static const unsigned char kat2590_persstr[] = {0}; +static const unsigned char kat2590_entropyinreseed[] = { + 0xef, 0xca, 0xa4, 0x52, 0x74, 0x30, 0xb8, 0xc5, 0xc2, 0x6b, 0x8b, 0x11, + 0xda, 0x23, 0xd5, 0xca, 0x05, 0xc4, 0xdb, 0x14, 0xb1, 0xc8, 0x2c, 0xdb, + 0x7d, 0x20, 0x04, 0xfc, 0x9b, 0xd0, 0xfd, 0xa1, 0xb8, 0xf3, 0x23, 0x42, + 0x4d, 0x03, 0x53, 0x47, +}; +static const unsigned char kat2590_addinreseed[] = {0}; +static const unsigned char kat2590_addin0[] = {0}; +static const unsigned char kat2590_addin1[] = {0}; +static const unsigned char kat2590_retbits[] = { + 0x14, 0x0c, 0x02, 0x0b, 0xb4, 0x13, 0x91, 0xff, 0x2d, 0xdc, 0x1b, 0x48, + 0xe7, 0x73, 0x55, 0x4a, 0x61, 0x66, 0x51, 0xa5, 0xe0, 0x38, 0x23, 0xe3, + 0xa6, 0xfa, 0x53, 0x12, 0xdd, 0x65, 0x27, 0x79, 0x24, 0x57, 0x38, 0xf4, + 0xe0, 0xd4, 0xcf, 0xb4, 0x63, 0x1e, 0x7e, 0x70, 0xbb, 0xba, 0x90, 0x8f, + 0xde, 0x87, 0xf9, 0x5c, 0x00, 0x55, 0xbd, 0x7f, 0xd0, 0xae, 0xd9, 0x5f, + 0xf7, 0xeb, 0x99, 0x0b, +}; +static const struct drbg_kat_pr_false kat2590_t = { + 9, kat2590_entropyin, kat2590_nonce, kat2590_persstr, + kat2590_entropyinreseed, kat2590_addinreseed, kat2590_addin0, + kat2590_addin1, kat2590_retbits +}; +static const struct drbg_kat kat2590 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2590_t +}; + +static const unsigned char kat2591_entropyin[] = { + 0xa3, 0xca, 0x9f, 0xb8, 0x97, 0x07, 0xf0, 0xd5, 0x62, 0xf1, 0xd0, 0xf7, + 0x07, 0xb7, 0x70, 0xcc, 0x2b, 0x2d, 0x5d, 0x03, 0x8e, 0x89, 0x05, 0xdd, + 0x02, 0xb0, 0xe2, 0x86, 0xdc, 0x95, 0x4e, 0xc2, 0xa9, 0xe0, 0x4b, 0x12, + 0x83, 0x72, 0xe5, 0x67, +}; +static const unsigned char kat2591_nonce[] = {0}; +static const unsigned char kat2591_persstr[] = {0}; +static const unsigned char kat2591_entropyinreseed[] = { + 0x70, 0xf0, 0xd7, 0x52, 0x8b, 0x59, 0x85, 0x3b, 0xbb, 0x04, 0x65, 0xf2, + 0xe5, 0xe0, 0xbe, 0xef, 0xd7, 0xfa, 0x33, 0x35, 0xf8, 0xe6, 0x56, 0xc3, + 0x11, 0xcc, 0x07, 0x4b, 0x8c, 0x15, 0xa8, 0xa5, 0xed, 0x3e, 0xce, 0xd8, + 0xc4, 0x8a, 0x2f, 0x25, +}; +static const unsigned char kat2591_addinreseed[] = {0}; +static const unsigned char kat2591_addin0[] = {0}; +static const unsigned char kat2591_addin1[] = {0}; +static const unsigned char kat2591_retbits[] = { + 0x1b, 0xb0, 0xe5, 0x0a, 0x0c, 0x13, 0x81, 0xce, 0x3a, 0x72, 0x2b, 0xb4, + 0xf7, 0xa0, 0xda, 0x28, 0x00, 0x9a, 0x4c, 0x24, 0x06, 0x35, 0x03, 0xb9, + 0x1b, 0x4b, 0x7b, 0x87, 0x71, 0xce, 0xa3, 0xf8, 0x88, 0xae, 0xfa, 0x14, + 0xe9, 0x56, 0xcc, 0x43, 0xb8, 0xa7, 0xdd, 0x38, 0xd2, 0x1a, 0x2b, 0x88, + 0xfc, 0x0b, 0x3a, 0x11, 0xca, 0x3a, 0x4b, 0x0e, 0xa5, 0x2b, 0x53, 0xbb, + 0x3a, 0xd3, 0xe2, 0x62, +}; +static const struct drbg_kat_pr_false kat2591_t = { + 10, kat2591_entropyin, kat2591_nonce, kat2591_persstr, + kat2591_entropyinreseed, kat2591_addinreseed, kat2591_addin0, + kat2591_addin1, kat2591_retbits +}; +static const struct drbg_kat kat2591 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2591_t +}; + +static const unsigned char kat2592_entropyin[] = { + 0xb9, 0x21, 0x08, 0xb6, 0xea, 0x0c, 0x1a, 0x24, 0x14, 0xc2, 0x04, 0x90, + 0x3e, 0x7c, 0x80, 0x71, 0xf5, 0xdd, 0xc8, 0xf7, 0xe3, 0x22, 0x1d, 0x6d, + 0x0b, 0x4c, 0xbc, 0x2f, 0xb5, 0x61, 0x7b, 0xe6, 0xc1, 0xda, 0x96, 0x00, + 0x63, 0xf9, 0xa2, 0x1a, +}; +static const unsigned char kat2592_nonce[] = {0}; +static const unsigned char kat2592_persstr[] = {0}; +static const unsigned char kat2592_entropyinreseed[] = { + 0xed, 0xc9, 0x6d, 0xf8, 0xa7, 0x0d, 0x2e, 0xe1, 0xab, 0x5f, 0xc7, 0xdc, + 0x11, 0x00, 0x8a, 0xa3, 0xc6, 0xdf, 0xd2, 0x40, 0x48, 0xeb, 0xeb, 0x89, + 0x95, 0x14, 0x49, 0x40, 0x44, 0x4a, 0x89, 0xd5, 0x03, 0x94, 0x0f, 0xb3, + 0x69, 0x6b, 0xec, 0x29, +}; +static const unsigned char kat2592_addinreseed[] = {0}; +static const unsigned char kat2592_addin0[] = {0}; +static const unsigned char kat2592_addin1[] = {0}; +static const unsigned char kat2592_retbits[] = { + 0xf1, 0xb0, 0xc1, 0x0a, 0x67, 0x36, 0x76, 0x0a, 0xd8, 0x17, 0x11, 0xfa, + 0x1e, 0x84, 0xb1, 0x08, 0x4a, 0x06, 0xf7, 0x0e, 0xed, 0x3f, 0x08, 0x07, + 0xb5, 0x99, 0x2b, 0xfb, 0x59, 0x5f, 0xef, 0xa2, 0x77, 0x41, 0xbb, 0xc6, + 0x38, 0xbe, 0x1c, 0xf1, 0xd4, 0x57, 0x6e, 0xec, 0xf2, 0xef, 0x82, 0xf1, + 0x2e, 0xe2, 0x49, 0xa2, 0x47, 0x91, 0x03, 0x30, 0xd9, 0x59, 0x3e, 0x37, + 0x41, 0x92, 0xf9, 0xf5, +}; +static const struct drbg_kat_pr_false kat2592_t = { + 11, kat2592_entropyin, kat2592_nonce, kat2592_persstr, + kat2592_entropyinreseed, kat2592_addinreseed, kat2592_addin0, + kat2592_addin1, kat2592_retbits +}; +static const struct drbg_kat kat2592 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2592_t +}; + +static const unsigned char kat2593_entropyin[] = { + 0x54, 0x4d, 0x73, 0x39, 0x09, 0x07, 0x42, 0x47, 0x6c, 0xa8, 0xa3, 0x26, + 0x57, 0x4e, 0x52, 0x02, 0x9b, 0xd5, 0xe9, 0x30, 0x9c, 0xc9, 0x13, 0x38, + 0x60, 0x1e, 0x24, 0xd4, 0x64, 0xe0, 0xcf, 0xcb, 0xa3, 0xe7, 0x2e, 0x36, + 0x78, 0xa2, 0xa8, 0xa4, +}; +static const unsigned char kat2593_nonce[] = {0}; +static const unsigned char kat2593_persstr[] = {0}; +static const unsigned char kat2593_entropyinreseed[] = { + 0x41, 0xfa, 0x1a, 0xdd, 0x1c, 0xa9, 0x1b, 0x3d, 0x4d, 0x2d, 0xf9, 0xdf, + 0x78, 0xbc, 0x7d, 0xe4, 0x1b, 0x00, 0xfb, 0xcb, 0xdf, 0x79, 0x32, 0xdd, + 0xa0, 0x95, 0x2a, 0x41, 0x15, 0x13, 0x79, 0xb7, 0xc0, 0x98, 0x01, 0x2f, + 0x86, 0x0f, 0x0a, 0xf7, +}; +static const unsigned char kat2593_addinreseed[] = {0}; +static const unsigned char kat2593_addin0[] = {0}; +static const unsigned char kat2593_addin1[] = {0}; +static const unsigned char kat2593_retbits[] = { + 0x28, 0xbb, 0x3f, 0x53, 0x51, 0x4a, 0xa1, 0xac, 0xc1, 0x58, 0x1a, 0xf7, + 0xcc, 0x31, 0x7b, 0x00, 0xa4, 0xd6, 0xa0, 0x3f, 0x4a, 0x66, 0x9f, 0x78, + 0x48, 0x91, 0xef, 0x21, 0xa0, 0x7f, 0xfe, 0xcd, 0x3d, 0x7a, 0x40, 0xf9, + 0xdb, 0x60, 0x59, 0xd6, 0xbf, 0x90, 0xe6, 0x95, 0x44, 0x5b, 0xd5, 0xe2, + 0x4f, 0x2e, 0xfa, 0xc0, 0xaf, 0x49, 0xe7, 0x52, 0xc0, 0xdf, 0x8c, 0x98, + 0xc8, 0x0b, 0x39, 0x85, +}; +static const struct drbg_kat_pr_false kat2593_t = { + 12, kat2593_entropyin, kat2593_nonce, kat2593_persstr, + kat2593_entropyinreseed, kat2593_addinreseed, kat2593_addin0, + kat2593_addin1, kat2593_retbits +}; +static const struct drbg_kat kat2593 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2593_t +}; + +static const unsigned char kat2594_entropyin[] = { + 0x85, 0x06, 0xb2, 0x22, 0x0b, 0xc2, 0xf4, 0x52, 0xd6, 0x40, 0x68, 0x5d, + 0x06, 0x8a, 0xea, 0xb3, 0x1d, 0x5c, 0x66, 0x57, 0x02, 0xa5, 0xf4, 0x2d, + 0xa6, 0x85, 0x6a, 0xa8, 0x25, 0x88, 0x4a, 0x08, 0xb6, 0x13, 0xb2, 0x7b, + 0xe4, 0xe8, 0x57, 0x17, +}; +static const unsigned char kat2594_nonce[] = {0}; +static const unsigned char kat2594_persstr[] = {0}; +static const unsigned char kat2594_entropyinreseed[] = { + 0xab, 0x28, 0x9b, 0xac, 0x2c, 0x6a, 0xea, 0xb3, 0x74, 0x41, 0x89, 0x45, + 0x71, 0xed, 0xf9, 0x1e, 0x87, 0xe4, 0x3b, 0x9d, 0xd3, 0xa5, 0x02, 0xe7, + 0xa5, 0x3c, 0xb0, 0x6b, 0x08, 0x23, 0x74, 0x04, 0x4f, 0x11, 0xb9, 0x00, + 0x9c, 0xd1, 0x95, 0x92, +}; +static const unsigned char kat2594_addinreseed[] = {0}; +static const unsigned char kat2594_addin0[] = {0}; +static const unsigned char kat2594_addin1[] = {0}; +static const unsigned char kat2594_retbits[] = { + 0xe1, 0xa7, 0xd5, 0xc1, 0x27, 0x74, 0x1b, 0x90, 0x3e, 0x56, 0xcb, 0xd0, + 0x3f, 0xe9, 0x20, 0x79, 0x53, 0xe2, 0x1d, 0xd1, 0xa9, 0x75, 0x0b, 0x0e, + 0xc5, 0x48, 0x43, 0xd2, 0x12, 0xfb, 0xb2, 0xae, 0x02, 0x08, 0xcb, 0xeb, + 0x1d, 0x6c, 0x7b, 0x34, 0x8c, 0xc0, 0x26, 0x20, 0xf0, 0x43, 0x0d, 0x24, + 0x2b, 0xff, 0x65, 0xf7, 0x5b, 0x8a, 0x1a, 0xd4, 0x36, 0x24, 0x09, 0xb5, + 0xae, 0xa0, 0xe3, 0x8d, +}; +static const struct drbg_kat_pr_false kat2594_t = { + 13, kat2594_entropyin, kat2594_nonce, kat2594_persstr, + kat2594_entropyinreseed, kat2594_addinreseed, kat2594_addin0, + kat2594_addin1, kat2594_retbits +}; +static const struct drbg_kat kat2594 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2594_t +}; + +static const unsigned char kat2595_entropyin[] = { + 0x96, 0x3f, 0xe5, 0x75, 0xc9, 0x6b, 0x31, 0x9a, 0x34, 0x18, 0xcc, 0x75, + 0x48, 0x48, 0x4a, 0xb8, 0x27, 0xdf, 0x1f, 0x7b, 0xa5, 0x6b, 0x0d, 0xa8, + 0x13, 0x1f, 0xd1, 0x9f, 0x77, 0x12, 0xad, 0xd1, 0xd2, 0x9a, 0x03, 0xed, + 0x0a, 0x20, 0xcc, 0x90, +}; +static const unsigned char kat2595_nonce[] = {0}; +static const unsigned char kat2595_persstr[] = {0}; +static const unsigned char kat2595_entropyinreseed[] = { + 0xe1, 0x47, 0x0e, 0xe3, 0x67, 0xe5, 0x5b, 0xd8, 0xdd, 0x82, 0xde, 0xa6, + 0xf7, 0xfb, 0xd9, 0x05, 0xb9, 0x8d, 0x59, 0x63, 0x06, 0x80, 0x7f, 0x8a, + 0xae, 0x52, 0x98, 0x07, 0xb3, 0x6a, 0xa0, 0x65, 0x5b, 0xd2, 0x60, 0xe1, + 0xe2, 0xba, 0xb7, 0x5c, +}; +static const unsigned char kat2595_addinreseed[] = {0}; +static const unsigned char kat2595_addin0[] = {0}; +static const unsigned char kat2595_addin1[] = {0}; +static const unsigned char kat2595_retbits[] = { + 0xa1, 0xe6, 0x28, 0x65, 0x29, 0xfa, 0xb4, 0x0e, 0x3d, 0xb9, 0xb5, 0x77, + 0x41, 0xbf, 0x6e, 0x5b, 0x49, 0x04, 0x59, 0x0d, 0x05, 0x56, 0x9a, 0x7d, + 0x57, 0x1b, 0xaf, 0x77, 0x84, 0x20, 0x65, 0xbe, 0x74, 0x2e, 0x2c, 0x26, + 0xc1, 0x4e, 0x85, 0x99, 0xe4, 0x6a, 0x52, 0x0f, 0xa3, 0x9b, 0x81, 0xeb, + 0xe3, 0x2d, 0xd8, 0x57, 0x55, 0x6d, 0x9f, 0x55, 0xe4, 0xbd, 0x37, 0xc1, + 0x95, 0x2a, 0xfc, 0x0d, +}; +static const struct drbg_kat_pr_false kat2595_t = { + 14, kat2595_entropyin, kat2595_nonce, kat2595_persstr, + kat2595_entropyinreseed, kat2595_addinreseed, kat2595_addin0, + kat2595_addin1, kat2595_retbits +}; +static const struct drbg_kat kat2595 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat2595_t +}; + +static const unsigned char kat2596_entropyin[] = { + 0xf5, 0x76, 0x2c, 0x0a, 0x6d, 0x0a, 0x2f, 0xf4, 0xda, 0x58, 0xa9, 0x68, + 0x5a, 0xea, 0xb4, 0xe6, 0x0c, 0xc1, 0xaf, 0xfc, 0xa6, 0x29, 0x93, 0x6f, + 0x91, 0xdc, 0xc2, 0xb6, 0x53, 0x2b, 0xb1, 0x53, 0x21, 0x1c, 0xa1, 0x46, + 0x78, 0xe3, 0xab, 0x82, +}; +static const unsigned char kat2596_nonce[] = {0}; +static const unsigned char kat2596_persstr[] = {0}; +static const unsigned char kat2596_entropyinreseed[] = { + 0xfd, 0xf0, 0x03, 0xb1, 0x38, 0x86, 0xec, 0x04, 0x24, 0x0a, 0x4d, 0x2f, + 0x94, 0x48, 0xf7, 0x73, 0xe0, 0x0f, 0x2b, 0x5b, 0x9e, 0x21, 0x03, 0x4b, + 0x72, 0x3d, 0x9b, 0xdd, 0xc2, 0xf0, 0x79, 0x65, 0x49, 0x47, 0xa1, 0x12, + 0x2c, 0x7d, 0x9a, 0xdb, +}; +static const unsigned char kat2596_addinreseed[] = { + 0x39, 0x51, 0x73, 0x6b, 0xad, 0xd2, 0xa4, 0x3d, 0xc2, 0xe8, 0xa8, 0x47, + 0xc3, 0xe1, 0x63, 0xcb, 0xc0, 0xf3, 0x52, 0x32, 0x7e, 0x88, 0x89, 0xbf, + 0x40, 0x07, 0x15, 0xc7, 0x24, 0x9b, 0xc7, 0x21, 0xf0, 0x8a, 0xbf, 0x85, + 0x82, 0xb2, 0x9d, 0x9c, +}; +static const unsigned char kat2596_addin0[] = { + 0xce, 0x6b, 0x78, 0x5c, 0x04, 0xac, 0x27, 0x5c, 0xd4, 0x7d, 0x25, 0x17, + 0xb0, 0x86, 0xf2, 0x09, 0xc1, 0x5c, 0x79, 0x63, 0x8c, 0x31, 0xb4, 0x0d, + 0xb8, 0x58, 0x23, 0xf6, 0xc9, 0xf9, 0xf7, 0x7a, 0x63, 0x33, 0xdd, 0xad, + 0xc5, 0x79, 0x24, 0xf8, +}; +static const unsigned char kat2596_addin1[] = { + 0x44, 0x70, 0x0e, 0xf1, 0x6d, 0x91, 0x4b, 0x3b, 0x92, 0x97, 0x8c, 0xf4, + 0xca, 0x2d, 0xd4, 0xae, 0x79, 0xa9, 0x14, 0xee, 0x55, 0x64, 0x97, 0x75, + 0xb3, 0x20, 0xee, 0x70, 0x0e, 0xb1, 0x40, 0x33, 0xab, 0xb8, 0xba, 0x73, + 0x06, 0xce, 0x75, 0xd6, +}; +static const unsigned char kat2596_retbits[] = { + 0x17, 0xa3, 0x92, 0xa8, 0xa5, 0x8d, 0x2b, 0x65, 0x09, 0x03, 0x12, 0xeb, + 0x9f, 0x0f, 0xf7, 0xf3, 0x00, 0xa1, 0x05, 0xa3, 0x42, 0xae, 0x7b, 0x53, + 0x75, 0x1b, 0xa6, 0x56, 0xd1, 0x12, 0x7a, 0x02, 0xf9, 0xda, 0x4a, 0xc3, + 0xb4, 0xbb, 0x7b, 0x29, 0x54, 0xad, 0xda, 0x54, 0xa4, 0xad, 0xd6, 0xc9, + 0x5b, 0x5a, 0x09, 0xb0, 0x10, 0x87, 0x8b, 0x04, 0x57, 0x8b, 0x60, 0x95, + 0xd7, 0x01, 0xe2, 0x25, +}; +static const struct drbg_kat_pr_false kat2596_t = { + 0, kat2596_entropyin, kat2596_nonce, kat2596_persstr, + kat2596_entropyinreseed, kat2596_addinreseed, kat2596_addin0, + kat2596_addin1, kat2596_retbits +}; +static const struct drbg_kat kat2596 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2596_t +}; + +static const unsigned char kat2597_entropyin[] = { + 0xad, 0xe7, 0x3a, 0x2f, 0xd5, 0x9b, 0x21, 0x94, 0xe7, 0x80, 0x97, 0xe2, + 0xbe, 0x43, 0xc9, 0xa6, 0xaf, 0x65, 0x98, 0xa6, 0x3c, 0x51, 0x07, 0x7d, + 0x8a, 0x4c, 0xd8, 0xe3, 0xb3, 0xa5, 0xe9, 0x08, 0x6b, 0xc4, 0xe3, 0x69, + 0x99, 0x0d, 0x7d, 0xc2, +}; +static const unsigned char kat2597_nonce[] = {0}; +static const unsigned char kat2597_persstr[] = {0}; +static const unsigned char kat2597_entropyinreseed[] = { + 0x38, 0xac, 0xf4, 0xbc, 0x97, 0xc1, 0xcc, 0xcc, 0x25, 0x2c, 0xa5, 0x0e, + 0xb2, 0x33, 0x8d, 0x81, 0x54, 0x68, 0x84, 0x96, 0xee, 0x06, 0xb9, 0xca, + 0x48, 0x25, 0xa5, 0x9f, 0x63, 0xbc, 0x57, 0x83, 0xe8, 0xb7, 0x36, 0xe8, + 0xee, 0x5c, 0x74, 0xa2, +}; +static const unsigned char kat2597_addinreseed[] = { + 0x3c, 0x37, 0xfe, 0x0d, 0x99, 0x6d, 0x26, 0xbd, 0x93, 0xc5, 0x90, 0xae, + 0x89, 0xa8, 0x89, 0x00, 0x46, 0xfa, 0x61, 0x6d, 0xed, 0xef, 0xe2, 0x7b, + 0xcd, 0xbf, 0x9c, 0x41, 0x80, 0x13, 0x5e, 0xa4, 0x29, 0xd6, 0x50, 0x48, + 0x03, 0x9b, 0x80, 0xeb, +}; +static const unsigned char kat2597_addin0[] = { + 0xdc, 0x28, 0x42, 0x3f, 0x45, 0x79, 0xb9, 0x1b, 0x40, 0x97, 0x7a, 0xa1, + 0x24, 0xc3, 0xe5, 0xd4, 0x3d, 0xfa, 0x7e, 0xa5, 0xb0, 0xff, 0x1f, 0x62, + 0xd6, 0x6b, 0xf8, 0x9a, 0x22, 0x63, 0xdc, 0xba, 0x28, 0xd9, 0xd3, 0xa9, + 0x82, 0x6b, 0xd4, 0x81, +}; +static const unsigned char kat2597_addin1[] = { + 0x19, 0x16, 0xea, 0x19, 0xd6, 0x83, 0xac, 0xa2, 0xd0, 0x68, 0x41, 0xc7, + 0x7f, 0x30, 0xfe, 0x83, 0x27, 0x61, 0x12, 0x29, 0xa2, 0xf4, 0x03, 0xc7, + 0xce, 0x63, 0xde, 0xa6, 0xb9, 0x7e, 0xeb, 0x1a, 0x85, 0x55, 0x13, 0x1c, + 0xa7, 0x0b, 0xa5, 0x4d, +}; +static const unsigned char kat2597_retbits[] = { + 0x20, 0x57, 0x20, 0x91, 0x4b, 0xda, 0x38, 0x42, 0x8b, 0x81, 0x85, 0x3d, + 0xec, 0x06, 0x02, 0xf1, 0x2a, 0xe3, 0xf3, 0x20, 0x0a, 0xaf, 0x6e, 0xd1, + 0xe7, 0xbf, 0x32, 0xc7, 0xc6, 0x9e, 0x5b, 0x2d, 0x8f, 0x3f, 0x75, 0x3e, + 0x08, 0x87, 0xa4, 0x9b, 0x19, 0x33, 0xe1, 0x53, 0xf6, 0x51, 0xa2, 0xc9, + 0x1e, 0x08, 0x1d, 0xe6, 0xc2, 0x5c, 0x24, 0x8c, 0x21, 0xb3, 0x17, 0x42, + 0x33, 0xed, 0x9c, 0xf8, +}; +static const struct drbg_kat_pr_false kat2597_t = { + 1, kat2597_entropyin, kat2597_nonce, kat2597_persstr, + kat2597_entropyinreseed, kat2597_addinreseed, kat2597_addin0, + kat2597_addin1, kat2597_retbits +}; +static const struct drbg_kat kat2597 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2597_t +}; + +static const unsigned char kat2598_entropyin[] = { + 0x24, 0x3d, 0x21, 0x6d, 0x2d, 0xb2, 0x6e, 0xd1, 0xb3, 0xc6, 0xd1, 0xd2, + 0x97, 0xb4, 0x7d, 0xfa, 0x5a, 0x37, 0xa3, 0xa8, 0xba, 0xd0, 0x0a, 0xbe, + 0xfc, 0x67, 0xe9, 0x2a, 0x93, 0xcd, 0x00, 0x87, 0x33, 0xc9, 0x26, 0x53, + 0xf8, 0xe6, 0xfb, 0xe2, +}; +static const unsigned char kat2598_nonce[] = {0}; +static const unsigned char kat2598_persstr[] = {0}; +static const unsigned char kat2598_entropyinreseed[] = { + 0x93, 0xd9, 0x40, 0x6f, 0x16, 0xed, 0x0f, 0x1d, 0x8f, 0x61, 0x4a, 0xc8, + 0x89, 0xd3, 0x3d, 0x42, 0x78, 0x74, 0xe0, 0x07, 0x20, 0xab, 0x77, 0x33, + 0x37, 0x8a, 0x13, 0x60, 0x08, 0x8f, 0xb8, 0x13, 0x47, 0x39, 0x2b, 0x97, + 0xb0, 0x9c, 0x56, 0xc6, +}; +static const unsigned char kat2598_addinreseed[] = { + 0x47, 0x0b, 0x4d, 0xed, 0xa8, 0xe7, 0x11, 0xc0, 0x23, 0xd4, 0x35, 0x42, + 0x10, 0x71, 0x24, 0x80, 0xaf, 0x04, 0x2c, 0xa5, 0xa5, 0xa2, 0x0d, 0xf7, + 0xef, 0x30, 0x75, 0x0a, 0x45, 0xf6, 0x59, 0xef, 0x13, 0x87, 0x95, 0xb1, + 0x2f, 0xc5, 0x59, 0x65, +}; +static const unsigned char kat2598_addin0[] = { + 0x28, 0x48, 0x50, 0xe5, 0x88, 0x5b, 0x28, 0x00, 0x09, 0x3b, 0x07, 0x6e, + 0xab, 0x54, 0x8d, 0x7a, 0x23, 0xab, 0x42, 0x1e, 0x19, 0xb1, 0x3d, 0x53, + 0x5f, 0x33, 0x5f, 0xaf, 0xc8, 0x57, 0xf1, 0x07, 0x3b, 0x38, 0x49, 0x85, + 0x7f, 0x06, 0x1f, 0x24, +}; +static const unsigned char kat2598_addin1[] = { + 0x4a, 0xba, 0xd0, 0xb3, 0xc4, 0xe7, 0xf2, 0x6c, 0x43, 0xb8, 0xbd, 0x91, + 0x4a, 0x08, 0x77, 0xfb, 0xfd, 0x0d, 0xa4, 0x55, 0x19, 0x2d, 0x6d, 0x1f, + 0x82, 0x1a, 0xed, 0xca, 0x5e, 0xf6, 0x17, 0xca, 0x7e, 0xaa, 0x4d, 0x05, + 0x6a, 0xec, 0x65, 0xa2, +}; +static const unsigned char kat2598_retbits[] = { + 0x59, 0xa2, 0xa3, 0x7a, 0x6c, 0x42, 0xd3, 0x5c, 0x32, 0xb3, 0x93, 0xca, + 0x0a, 0xdd, 0xa3, 0x6f, 0x2b, 0xea, 0xe8, 0x85, 0xd7, 0x52, 0x32, 0xe1, + 0xc3, 0x69, 0x77, 0x57, 0x09, 0xf8, 0x73, 0xb4, 0x9a, 0xf8, 0x3a, 0x3b, + 0x0e, 0x2c, 0xf7, 0x9a, 0xbb, 0xcf, 0x4e, 0x16, 0xd4, 0x6d, 0x6d, 0xd2, + 0x6f, 0xec, 0x8b, 0xbe, 0x65, 0xdd, 0x72, 0xe8, 0x2f, 0x70, 0x56, 0x55, + 0xd8, 0x8e, 0x21, 0x49, +}; +static const struct drbg_kat_pr_false kat2598_t = { + 2, kat2598_entropyin, kat2598_nonce, kat2598_persstr, + kat2598_entropyinreseed, kat2598_addinreseed, kat2598_addin0, + kat2598_addin1, kat2598_retbits +}; +static const struct drbg_kat kat2598 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2598_t +}; + +static const unsigned char kat2599_entropyin[] = { + 0xe1, 0xd7, 0xb3, 0xf4, 0xe8, 0xbf, 0x14, 0x8f, 0x77, 0x42, 0x95, 0x19, + 0x87, 0xc5, 0xef, 0x32, 0x48, 0x0b, 0xdf, 0x4f, 0x34, 0x7d, 0xe6, 0x70, + 0x43, 0x11, 0xda, 0x8f, 0x1c, 0x96, 0x31, 0x35, 0x91, 0x37, 0x24, 0x0b, + 0xa5, 0xa9, 0xed, 0x8f, +}; +static const unsigned char kat2599_nonce[] = {0}; +static const unsigned char kat2599_persstr[] = {0}; +static const unsigned char kat2599_entropyinreseed[] = { + 0x01, 0x8e, 0xea, 0x7b, 0x45, 0xbd, 0x7a, 0x39, 0xa6, 0x39, 0xa1, 0x16, + 0x4b, 0xf3, 0xf4, 0x75, 0x38, 0x2c, 0x9f, 0x2d, 0xc8, 0x4f, 0xc0, 0x68, + 0xf0, 0x4a, 0x6f, 0x71, 0x71, 0x0c, 0x58, 0x93, 0x09, 0xe9, 0x75, 0xc0, + 0x8a, 0xc1, 0x52, 0xfa, +}; +static const unsigned char kat2599_addinreseed[] = { + 0x63, 0x52, 0x43, 0x2e, 0x6c, 0x58, 0x26, 0x32, 0x33, 0xad, 0x95, 0x87, + 0xe1, 0xea, 0x76, 0x43, 0xf8, 0xaf, 0x17, 0xa2, 0x8f, 0x15, 0x31, 0x37, + 0xbe, 0x03, 0x05, 0x6c, 0x6a, 0x98, 0xc8, 0x09, 0x20, 0xe4, 0x8c, 0x05, + 0xa0, 0x57, 0x4f, 0x87, +}; +static const unsigned char kat2599_addin0[] = { + 0x14, 0xf9, 0xdf, 0x22, 0xe9, 0x50, 0xe4, 0xf0, 0xcd, 0x57, 0xc5, 0x9a, + 0x0e, 0xc7, 0x8c, 0x1f, 0x5c, 0x1d, 0x8b, 0x78, 0xa3, 0x9b, 0x6e, 0x7a, + 0xbf, 0x5a, 0x66, 0xb6, 0x1e, 0x5d, 0x74, 0xff, 0xe7, 0xe0, 0x46, 0xfe, + 0xc4, 0xcb, 0x83, 0x4f, +}; +static const unsigned char kat2599_addin1[] = { + 0x32, 0xd0, 0xff, 0x81, 0x2a, 0x6f, 0x6e, 0xa9, 0x3c, 0x9b, 0x34, 0x89, + 0xcb, 0xae, 0xfd, 0x1e, 0x25, 0x69, 0x2b, 0x11, 0x3d, 0xac, 0x79, 0xc4, + 0x8e, 0xd5, 0x12, 0x9b, 0xf1, 0x44, 0x20, 0xad, 0x52, 0xc3, 0xae, 0xf2, + 0xb2, 0x3f, 0x9c, 0x0b, +}; +static const unsigned char kat2599_retbits[] = { + 0x10, 0x16, 0xd5, 0x3d, 0xcb, 0x2f, 0x29, 0x1f, 0xd0, 0x42, 0xc7, 0xeb, + 0xb7, 0x92, 0x5a, 0xe9, 0xb9, 0x38, 0xcd, 0x59, 0xd2, 0xc3, 0xb3, 0x72, + 0xf4, 0xb2, 0xaa, 0x6c, 0xbf, 0xcd, 0x47, 0x17, 0x1a, 0xc9, 0x52, 0xfd, + 0xc1, 0x16, 0xa6, 0x30, 0xeb, 0x37, 0x90, 0x58, 0xbc, 0x6c, 0x90, 0xc4, + 0xc9, 0x60, 0x42, 0x69, 0x72, 0x38, 0x52, 0xe8, 0x21, 0x1e, 0xbb, 0x26, + 0x16, 0x69, 0x50, 0x4a, +}; +static const struct drbg_kat_pr_false kat2599_t = { + 3, kat2599_entropyin, kat2599_nonce, kat2599_persstr, + kat2599_entropyinreseed, kat2599_addinreseed, kat2599_addin0, + kat2599_addin1, kat2599_retbits +}; +static const struct drbg_kat kat2599 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2599_t +}; + +static const unsigned char kat2600_entropyin[] = { + 0xfc, 0xa6, 0x39, 0x84, 0x2d, 0xfa, 0x24, 0x5a, 0xff, 0xe0, 0x2a, 0xed, + 0x08, 0xc0, 0x88, 0x46, 0x34, 0x08, 0x2c, 0x40, 0xaf, 0x9e, 0x29, 0x60, + 0x8b, 0x28, 0x29, 0x11, 0x32, 0xec, 0x48, 0x7c, 0x6b, 0x5c, 0x76, 0x0f, + 0x8f, 0x1e, 0x4c, 0x92, +}; +static const unsigned char kat2600_nonce[] = {0}; +static const unsigned char kat2600_persstr[] = {0}; +static const unsigned char kat2600_entropyinreseed[] = { + 0x2d, 0x56, 0x5b, 0x40, 0x1f, 0xc0, 0xb0, 0x77, 0x2f, 0x62, 0x97, 0xf3, + 0xfc, 0x17, 0x8b, 0xb9, 0x81, 0x60, 0xc9, 0x8b, 0xcb, 0x43, 0x21, 0x56, + 0xc0, 0xa2, 0x0c, 0x2e, 0xbc, 0x2c, 0xe4, 0x78, 0x84, 0xc5, 0x21, 0xf2, + 0x4f, 0x6b, 0x3a, 0x61, +}; +static const unsigned char kat2600_addinreseed[] = { + 0xdd, 0x7f, 0xa0, 0xed, 0x97, 0x98, 0x3c, 0x64, 0xe0, 0x5f, 0x45, 0x03, + 0xbf, 0xb3, 0x85, 0xe0, 0x7a, 0xa3, 0xf9, 0xd7, 0x73, 0x87, 0x02, 0x99, + 0xb9, 0x3c, 0x46, 0x33, 0x0b, 0xac, 0x7a, 0xb4, 0x31, 0x2e, 0xd2, 0xb8, + 0x00, 0xf7, 0x1a, 0x99, +}; +static const unsigned char kat2600_addin0[] = { + 0x8a, 0x55, 0xe7, 0x2d, 0xe7, 0x27, 0x49, 0xf9, 0x04, 0xfa, 0x99, 0x2e, + 0xaa, 0x6f, 0x4f, 0xd2, 0x86, 0xe3, 0x07, 0x5c, 0xe7, 0x34, 0xf4, 0x13, + 0x27, 0xaf, 0xeb, 0xde, 0xfb, 0x18, 0xa9, 0x3b, 0xc0, 0x43, 0x7f, 0xf4, + 0xa6, 0x0e, 0x0b, 0x46, +}; +static const unsigned char kat2600_addin1[] = { + 0xf1, 0xe4, 0x03, 0xdb, 0x1f, 0x19, 0x98, 0x6a, 0xd5, 0xef, 0xd4, 0x5e, + 0x95, 0xfe, 0x4e, 0xb8, 0x72, 0xe1, 0x97, 0x4e, 0xbb, 0x55, 0xca, 0x98, + 0x1f, 0x97, 0xe6, 0x88, 0x45, 0x58, 0x6e, 0x50, 0x9b, 0xc4, 0x80, 0x5f, + 0xa0, 0x5e, 0xb3, 0xa3, +}; +static const unsigned char kat2600_retbits[] = { + 0x79, 0x90, 0xfa, 0x66, 0xca, 0x6a, 0x81, 0xcf, 0x9a, 0x49, 0xb5, 0x8b, + 0x33, 0xbe, 0x63, 0xa7, 0x79, 0xc7, 0x04, 0x20, 0xb0, 0xbc, 0x8a, 0xd7, + 0x8f, 0x4b, 0xd1, 0x89, 0x40, 0xbe, 0xd0, 0x90, 0x6b, 0x52, 0x0e, 0xc5, + 0xa5, 0xe7, 0x70, 0x5c, 0x0b, 0x89, 0xba, 0x20, 0x6a, 0x71, 0x8c, 0x37, + 0x60, 0x3c, 0x78, 0x1b, 0xea, 0x51, 0x05, 0x64, 0x2f, 0x4e, 0x75, 0x0f, + 0x7b, 0xec, 0x63, 0x7f, +}; +static const struct drbg_kat_pr_false kat2600_t = { + 4, kat2600_entropyin, kat2600_nonce, kat2600_persstr, + kat2600_entropyinreseed, kat2600_addinreseed, kat2600_addin0, + kat2600_addin1, kat2600_retbits +}; +static const struct drbg_kat kat2600 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2600_t +}; + +static const unsigned char kat2601_entropyin[] = { + 0x92, 0x21, 0xef, 0x9d, 0xda, 0x3e, 0x34, 0xaa, 0x94, 0xa7, 0x34, 0x8e, + 0x6c, 0x85, 0x20, 0x6c, 0xfb, 0xf4, 0xba, 0x5f, 0x0c, 0xa7, 0xd8, 0x7f, + 0xf0, 0xe9, 0x0d, 0x9c, 0xf0, 0xe9, 0xaa, 0xfe, 0x31, 0x0e, 0xdc, 0x48, + 0xfe, 0x16, 0x23, 0x14, +}; +static const unsigned char kat2601_nonce[] = {0}; +static const unsigned char kat2601_persstr[] = {0}; +static const unsigned char kat2601_entropyinreseed[] = { + 0xda, 0x4b, 0xd5, 0x1e, 0xd4, 0xae, 0xef, 0x2f, 0x54, 0xc6, 0x18, 0xa8, + 0x76, 0x4b, 0x28, 0xd3, 0xef, 0x43, 0x73, 0x0d, 0x5b, 0x52, 0xc0, 0xe1, + 0xfc, 0xa7, 0x44, 0x12, 0xc4, 0x7d, 0xcf, 0xd7, 0x6c, 0x64, 0xfc, 0x04, + 0xb6, 0xb2, 0x5a, 0xeb, +}; +static const unsigned char kat2601_addinreseed[] = { + 0x88, 0x90, 0xd7, 0x60, 0x4e, 0x2c, 0x7b, 0x52, 0x20, 0xec, 0xf9, 0x4d, + 0x0e, 0x01, 0xc4, 0x7a, 0x57, 0x46, 0x7d, 0x67, 0x98, 0xd4, 0xba, 0x37, + 0x7b, 0xf0, 0xde, 0x20, 0x31, 0x65, 0xe2, 0x66, 0x0e, 0xc1, 0x2e, 0x79, + 0xe2, 0x91, 0x4e, 0xb2, +}; +static const unsigned char kat2601_addin0[] = { + 0xf7, 0x81, 0x28, 0x07, 0x3c, 0x68, 0x1f, 0x1b, 0x27, 0xb7, 0x54, 0x00, + 0x12, 0x9a, 0xf2, 0xce, 0x42, 0xfc, 0x10, 0xe1, 0x79, 0xf0, 0xd4, 0x04, + 0x53, 0x08, 0xce, 0x43, 0xf5, 0xbc, 0x29, 0xb5, 0x9e, 0x17, 0xc8, 0xca, + 0xe0, 0xce, 0xbd, 0xad, +}; +static const unsigned char kat2601_addin1[] = { + 0x06, 0xf7, 0x5c, 0x13, 0xe4, 0xa9, 0x0c, 0x56, 0x99, 0xa6, 0x53, 0xb4, + 0x2d, 0xc2, 0x5a, 0x03, 0x51, 0x81, 0x85, 0xf6, 0x36, 0x12, 0x44, 0xc1, + 0x80, 0x34, 0x56, 0x3b, 0x96, 0x9c, 0x9b, 0xa0, 0x79, 0xe0, 0x2f, 0xf0, + 0x00, 0xce, 0x32, 0x09, +}; +static const unsigned char kat2601_retbits[] = { + 0x61, 0x01, 0x0d, 0xf7, 0xcb, 0x9d, 0x72, 0x26, 0xa3, 0x31, 0x28, 0x30, + 0x07, 0xfb, 0x31, 0x04, 0x56, 0x9a, 0xe1, 0x3d, 0xa8, 0x27, 0xb0, 0xe1, + 0x55, 0x91, 0xde, 0x91, 0x24, 0xb5, 0x5f, 0x8e, 0xe0, 0xc8, 0xfd, 0xc0, + 0xf3, 0x4b, 0x9b, 0x81, 0x7e, 0x26, 0x17, 0x64, 0xfe, 0x1a, 0x17, 0x94, + 0xbe, 0xe1, 0x38, 0x04, 0xe6, 0x11, 0xba, 0x54, 0x6e, 0x62, 0x35, 0x95, + 0x50, 0xd0, 0x80, 0x07, +}; +static const struct drbg_kat_pr_false kat2601_t = { + 5, kat2601_entropyin, kat2601_nonce, kat2601_persstr, + kat2601_entropyinreseed, kat2601_addinreseed, kat2601_addin0, + kat2601_addin1, kat2601_retbits +}; +static const struct drbg_kat kat2601 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2601_t +}; + +static const unsigned char kat2602_entropyin[] = { + 0x20, 0xd8, 0xaf, 0x17, 0xf8, 0xaa, 0x4a, 0x79, 0x48, 0x37, 0x8b, 0x42, + 0x3f, 0x10, 0xdf, 0xd0, 0x16, 0x8e, 0x21, 0x74, 0xb0, 0xdd, 0x23, 0xd3, + 0x79, 0x4e, 0xf2, 0xad, 0x5a, 0x28, 0x42, 0x9e, 0x6f, 0xa4, 0xec, 0xc8, + 0xea, 0x71, 0x86, 0xf9, +}; +static const unsigned char kat2602_nonce[] = {0}; +static const unsigned char kat2602_persstr[] = {0}; +static const unsigned char kat2602_entropyinreseed[] = { + 0xe5, 0x72, 0x55, 0xab, 0x59, 0x55, 0xf1, 0xae, 0xa4, 0xf5, 0x57, 0x98, + 0xf5, 0x46, 0xee, 0xc2, 0x00, 0x99, 0x6f, 0x5c, 0xa3, 0x7c, 0x50, 0xf8, + 0x07, 0x6c, 0x38, 0xff, 0x2b, 0x8b, 0x8d, 0x93, 0xf1, 0x5a, 0x38, 0xb4, + 0x39, 0x1b, 0x34, 0x9e, +}; +static const unsigned char kat2602_addinreseed[] = { + 0x4b, 0xfd, 0xb3, 0x40, 0xfb, 0xc9, 0x72, 0x6c, 0xf4, 0x42, 0x2c, 0x0a, + 0x3b, 0xf6, 0x99, 0x4c, 0x4b, 0xe3, 0x99, 0x69, 0x5c, 0x1b, 0x97, 0x22, + 0x6c, 0x9c, 0xc0, 0x15, 0xc0, 0x68, 0xc5, 0x9d, 0x94, 0x49, 0xcc, 0x1b, + 0x26, 0x87, 0x19, 0x77, +}; +static const unsigned char kat2602_addin0[] = { + 0x66, 0x25, 0xa9, 0x16, 0x84, 0xd4, 0x97, 0x61, 0x0e, 0xdd, 0xc2, 0x3c, + 0xdd, 0x29, 0x37, 0x03, 0x20, 0x92, 0x1b, 0x57, 0x2c, 0xaa, 0x38, 0xdb, + 0x38, 0x3f, 0xaf, 0xeb, 0x6d, 0xdb, 0xb9, 0xca, 0xdd, 0xfd, 0xdb, 0x9d, + 0xa1, 0x3c, 0x59, 0x5b, +}; +static const unsigned char kat2602_addin1[] = { + 0xe8, 0xbd, 0xd1, 0x1c, 0x96, 0x68, 0xd1, 0x5e, 0x6c, 0x51, 0xed, 0xd9, + 0x2e, 0x0c, 0xcb, 0xe8, 0x0b, 0xd1, 0x74, 0xa6, 0xd4, 0xe0, 0x0a, 0x9c, + 0x47, 0x57, 0x03, 0xff, 0xa8, 0x82, 0xe7, 0x13, 0x7e, 0xa9, 0x83, 0xbf, + 0x94, 0x1c, 0xe7, 0x2f, +}; +static const unsigned char kat2602_retbits[] = { + 0xe6, 0xf9, 0xda, 0xdc, 0x5e, 0x12, 0x7b, 0x4f, 0x96, 0xe2, 0x91, 0x84, + 0x17, 0xce, 0xc9, 0xc3, 0x5e, 0x0c, 0x75, 0xb6, 0xbb, 0xe6, 0xf3, 0xd9, + 0x5c, 0x52, 0x72, 0x63, 0x1e, 0x99, 0xea, 0x20, 0x89, 0xea, 0xf6, 0xc1, + 0x4d, 0x20, 0xf7, 0x7f, 0x80, 0x70, 0xa9, 0x3a, 0x75, 0x49, 0x59, 0x9e, + 0x11, 0x11, 0x9a, 0xaa, 0x1e, 0x04, 0x43, 0x80, 0x05, 0x65, 0x9c, 0x02, + 0xc4, 0x04, 0xd8, 0x70, +}; +static const struct drbg_kat_pr_false kat2602_t = { + 6, kat2602_entropyin, kat2602_nonce, kat2602_persstr, + kat2602_entropyinreseed, kat2602_addinreseed, kat2602_addin0, + kat2602_addin1, kat2602_retbits +}; +static const struct drbg_kat kat2602 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2602_t +}; + +static const unsigned char kat2603_entropyin[] = { + 0xee, 0x30, 0x04, 0x9f, 0xc1, 0x1a, 0xe1, 0x5c, 0xe0, 0x97, 0x61, 0x64, + 0x89, 0x74, 0xf0, 0xaa, 0x4f, 0xa6, 0xe6, 0xc7, 0xdb, 0x37, 0x2c, 0x1d, + 0x83, 0x20, 0x96, 0xbb, 0x24, 0xe4, 0x02, 0xdd, 0x6a, 0x68, 0x30, 0x23, + 0x3a, 0xb9, 0xb4, 0xbb, +}; +static const unsigned char kat2603_nonce[] = {0}; +static const unsigned char kat2603_persstr[] = {0}; +static const unsigned char kat2603_entropyinreseed[] = { + 0x45, 0x9c, 0xd0, 0xf4, 0x9f, 0x8a, 0x4e, 0x8b, 0x65, 0x21, 0x10, 0xc0, + 0xb1, 0x48, 0x53, 0x94, 0x61, 0xe6, 0xe7, 0xd9, 0x66, 0xd1, 0xba, 0x68, + 0xfe, 0x11, 0x17, 0x5b, 0x77, 0x8e, 0x18, 0x9b, 0xd1, 0xbc, 0xb0, 0x84, + 0x03, 0x09, 0x87, 0x49, +}; +static const unsigned char kat2603_addinreseed[] = { + 0xb2, 0xf3, 0xfe, 0x99, 0x85, 0x57, 0x25, 0x70, 0x29, 0x41, 0x43, 0x6c, + 0x2a, 0xf8, 0x76, 0x6c, 0x39, 0x7c, 0xaa, 0xad, 0xe7, 0x09, 0x58, 0xf5, + 0x6e, 0x9a, 0xc5, 0xd7, 0xf2, 0x82, 0xff, 0x92, 0x64, 0x45, 0x3b, 0x13, + 0x4d, 0x21, 0xfe, 0x03, +}; +static const unsigned char kat2603_addin0[] = { + 0x2f, 0xb4, 0x6f, 0xa2, 0x0e, 0x0e, 0xc2, 0xe4, 0x55, 0x00, 0x24, 0x7a, + 0x91, 0x65, 0x75, 0xab, 0x27, 0x12, 0xf3, 0x52, 0x0b, 0x76, 0x34, 0xdd, + 0x29, 0x30, 0x7f, 0x17, 0x60, 0xcf, 0x10, 0x2b, 0x9a, 0xff, 0x9a, 0x48, + 0x15, 0x09, 0x72, 0xf4, +}; +static const unsigned char kat2603_addin1[] = { + 0x99, 0x6e, 0x03, 0xa4, 0xd7, 0xc6, 0xaf, 0xda, 0x5d, 0xbb, 0x7f, 0x52, + 0xf6, 0xe0, 0x16, 0x61, 0x2b, 0xc5, 0xe8, 0x81, 0xe0, 0xe1, 0xab, 0x09, + 0x38, 0x29, 0x5c, 0x66, 0x3e, 0x4b, 0xc2, 0x84, 0x68, 0xbf, 0xcf, 0xdf, + 0xef, 0xb9, 0x0d, 0xed, +}; +static const unsigned char kat2603_retbits[] = { + 0x07, 0xf5, 0x2d, 0xbc, 0x71, 0x8c, 0x6e, 0x8b, 0xd8, 0x4c, 0x6b, 0x7d, + 0xa4, 0x8a, 0x22, 0x5f, 0xd1, 0xeb, 0xaa, 0x7e, 0xc3, 0x91, 0x60, 0x3e, + 0x9f, 0xed, 0xea, 0xd9, 0x22, 0x34, 0x86, 0x54, 0x70, 0xe5, 0x61, 0x11, + 0x2a, 0xe3, 0x22, 0xa1, 0xe1, 0xaa, 0xc6, 0x61, 0xbb, 0xb1, 0xba, 0x6b, + 0xf0, 0x65, 0x69, 0x15, 0x69, 0x6b, 0x9b, 0x1a, 0x08, 0x44, 0x98, 0x34, + 0xb2, 0x6c, 0xe7, 0x35, +}; +static const struct drbg_kat_pr_false kat2603_t = { + 7, kat2603_entropyin, kat2603_nonce, kat2603_persstr, + kat2603_entropyinreseed, kat2603_addinreseed, kat2603_addin0, + kat2603_addin1, kat2603_retbits +}; +static const struct drbg_kat kat2603 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2603_t +}; + +static const unsigned char kat2604_entropyin[] = { + 0xf0, 0xf5, 0xbf, 0xcb, 0x50, 0xce, 0xc0, 0x05, 0xda, 0x11, 0x8f, 0xed, + 0x88, 0x37, 0xa0, 0x2d, 0xb1, 0xec, 0xc0, 0x41, 0x7e, 0x88, 0xec, 0x45, + 0x85, 0x77, 0x3f, 0x3c, 0x20, 0xb9, 0xf9, 0x0d, 0x5e, 0x5a, 0x9e, 0x03, + 0xd0, 0x5d, 0x0d, 0x11, +}; +static const unsigned char kat2604_nonce[] = {0}; +static const unsigned char kat2604_persstr[] = {0}; +static const unsigned char kat2604_entropyinreseed[] = { + 0xb1, 0x73, 0xa1, 0x55, 0xe3, 0x25, 0xee, 0x68, 0x11, 0xec, 0xf9, 0x5b, + 0xd1, 0xb6, 0x7f, 0x3c, 0xed, 0xc7, 0x26, 0x56, 0x1e, 0x08, 0x14, 0x46, + 0xd9, 0xb4, 0xa6, 0x7e, 0x92, 0x75, 0x40, 0x7c, 0xeb, 0x07, 0x68, 0x5c, + 0x03, 0x2f, 0xf7, 0x0e, +}; +static const unsigned char kat2604_addinreseed[] = { + 0xe9, 0xbc, 0xdb, 0x16, 0x02, 0x94, 0x03, 0xb1, 0x52, 0x34, 0xdf, 0xbb, + 0x5d, 0x28, 0x0c, 0x50, 0xb0, 0x1f, 0x10, 0x53, 0x9e, 0x76, 0x7c, 0xfe, + 0x22, 0x72, 0x02, 0xce, 0x06, 0x60, 0xca, 0xa5, 0x84, 0xc3, 0x59, 0xd0, + 0x72, 0x58, 0x97, 0x1b, +}; +static const unsigned char kat2604_addin0[] = { + 0xe8, 0x47, 0xc8, 0xff, 0xa1, 0x53, 0xfb, 0x9b, 0x00, 0xfb, 0xb2, 0xc6, + 0x8e, 0x9f, 0x67, 0x7e, 0xe4, 0x81, 0xd2, 0x63, 0x42, 0xc1, 0xd4, 0x01, + 0xd2, 0x46, 0x24, 0x4c, 0x70, 0xba, 0x04, 0x96, 0x18, 0xf5, 0x16, 0x48, + 0xac, 0x98, 0xcf, 0xcc, +}; +static const unsigned char kat2604_addin1[] = { + 0xb4, 0xa4, 0x6d, 0x6a, 0x5a, 0x66, 0xc7, 0x22, 0xef, 0x75, 0xa5, 0xec, + 0x0f, 0x46, 0xdb, 0xf2, 0x6d, 0xb7, 0x90, 0x6a, 0x50, 0x01, 0x31, 0xbf, + 0xca, 0xb6, 0x62, 0x2e, 0xd3, 0xb6, 0x54, 0x01, 0xd6, 0xcd, 0x35, 0x67, + 0x2d, 0xb0, 0xf0, 0xe1, +}; +static const unsigned char kat2604_retbits[] = { + 0x2d, 0x65, 0x00, 0x76, 0x14, 0xef, 0x03, 0xd5, 0x98, 0xdb, 0xf0, 0xf7, + 0x8f, 0xd5, 0x5d, 0x56, 0x52, 0x86, 0x12, 0xd7, 0xc2, 0x12, 0x46, 0xf0, + 0xdd, 0xd4, 0xa9, 0x0d, 0x4f, 0x66, 0x61, 0xe2, 0x87, 0xd7, 0xaa, 0x90, + 0x94, 0x88, 0xe2, 0xf6, 0xb9, 0x14, 0xbf, 0x28, 0x47, 0xbd, 0x83, 0xdb, + 0x4c, 0x0a, 0xf5, 0x64, 0xb7, 0x35, 0x3e, 0xba, 0x35, 0x42, 0xf7, 0x8f, + 0x36, 0xc6, 0x9c, 0xf4, +}; +static const struct drbg_kat_pr_false kat2604_t = { + 8, kat2604_entropyin, kat2604_nonce, kat2604_persstr, + kat2604_entropyinreseed, kat2604_addinreseed, kat2604_addin0, + kat2604_addin1, kat2604_retbits +}; +static const struct drbg_kat kat2604 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2604_t +}; + +static const unsigned char kat2605_entropyin[] = { + 0xa3, 0x13, 0xf8, 0x6d, 0x26, 0xe3, 0x7d, 0x1c, 0xd1, 0x2b, 0xbb, 0x29, + 0x80, 0x18, 0xd5, 0x11, 0x3e, 0x77, 0x28, 0x1c, 0x94, 0x41, 0xb5, 0x81, + 0xf1, 0x7d, 0x82, 0xf8, 0x5b, 0x58, 0xca, 0x9d, 0x53, 0x06, 0xed, 0x8a, + 0xf6, 0xa8, 0x70, 0xfe, +}; +static const unsigned char kat2605_nonce[] = {0}; +static const unsigned char kat2605_persstr[] = {0}; +static const unsigned char kat2605_entropyinreseed[] = { + 0x99, 0x26, 0x60, 0x7c, 0xdb, 0xa5, 0x25, 0xe7, 0x90, 0xb4, 0xa3, 0xc7, + 0xd0, 0xa4, 0x99, 0xf1, 0x9c, 0x63, 0xa8, 0x25, 0x72, 0x2c, 0x64, 0x42, + 0xa8, 0x8c, 0xf8, 0x40, 0x14, 0x1d, 0xb1, 0xd8, 0x5c, 0x9d, 0x8e, 0x2c, + 0x0d, 0xb8, 0xd9, 0x81, +}; +static const unsigned char kat2605_addinreseed[] = { + 0xf0, 0x29, 0x80, 0x3f, 0x4d, 0x5c, 0xda, 0x3c, 0xe6, 0x18, 0xb1, 0x7a, + 0xfe, 0xa1, 0x2f, 0x14, 0x8e, 0xa3, 0x48, 0xe6, 0xb2, 0x6d, 0xc0, 0x47, + 0xee, 0x42, 0x78, 0xe4, 0x0e, 0x39, 0xa3, 0x9f, 0x27, 0xf1, 0x3d, 0x03, + 0x06, 0xe7, 0x0d, 0x1b, +}; +static const unsigned char kat2605_addin0[] = { + 0xd1, 0xdd, 0x47, 0xba, 0x88, 0x6d, 0x21, 0x5d, 0x8d, 0xc4, 0x44, 0xb4, + 0x51, 0xf1, 0x54, 0xf5, 0xa6, 0x6f, 0x38, 0x3f, 0x6c, 0xe1, 0xe3, 0x58, + 0x86, 0x68, 0xf8, 0xbb, 0x8c, 0xd4, 0xfe, 0xae, 0x96, 0x95, 0xc0, 0x1a, + 0x37, 0x56, 0x65, 0x60, +}; +static const unsigned char kat2605_addin1[] = { + 0xf6, 0xa8, 0xb5, 0x23, 0x9d, 0x85, 0x4c, 0x59, 0xb1, 0x44, 0x36, 0x5f, + 0x89, 0xd4, 0x73, 0x74, 0xb3, 0x80, 0xc8, 0x5c, 0x3b, 0xcb, 0x43, 0xfc, + 0x34, 0xbd, 0x4a, 0xd5, 0x58, 0xb5, 0xd4, 0xda, 0xc9, 0xe4, 0x9b, 0x31, + 0xdc, 0xee, 0x36, 0x3a, +}; +static const unsigned char kat2605_retbits[] = { + 0xb2, 0x47, 0x72, 0x53, 0xda, 0x7f, 0x7f, 0x36, 0x4b, 0x14, 0x41, 0x0a, + 0x6e, 0xe6, 0xc1, 0xcd, 0x78, 0x41, 0xf4, 0x7e, 0xf1, 0x52, 0xd9, 0x0e, + 0x4b, 0x81, 0x1e, 0xcb, 0xbf, 0x5f, 0x60, 0x82, 0xbc, 0x67, 0xa0, 0x7c, + 0xf0, 0xa0, 0x0f, 0x30, 0x4a, 0x15, 0x7e, 0x4b, 0x95, 0x57, 0x53, 0x1b, + 0x4b, 0xf4, 0xf2, 0xf9, 0x4f, 0xd7, 0x53, 0x7e, 0x00, 0x0c, 0x8d, 0x53, + 0x79, 0x43, 0x24, 0x69, +}; +static const struct drbg_kat_pr_false kat2605_t = { + 9, kat2605_entropyin, kat2605_nonce, kat2605_persstr, + kat2605_entropyinreseed, kat2605_addinreseed, kat2605_addin0, + kat2605_addin1, kat2605_retbits +}; +static const struct drbg_kat kat2605 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2605_t +}; + +static const unsigned char kat2606_entropyin[] = { + 0xbe, 0xa7, 0xd6, 0x35, 0x77, 0x5b, 0xad, 0xfc, 0xef, 0x7d, 0xa7, 0x0c, + 0xa4, 0xe4, 0x4f, 0xc1, 0x7c, 0xe8, 0x30, 0x87, 0x91, 0xee, 0x1a, 0x89, + 0xd1, 0xa6, 0x0d, 0x90, 0xf2, 0x9a, 0x59, 0xdc, 0xb7, 0xe3, 0xe2, 0x56, + 0x2d, 0x92, 0xc7, 0xd2, +}; +static const unsigned char kat2606_nonce[] = {0}; +static const unsigned char kat2606_persstr[] = {0}; +static const unsigned char kat2606_entropyinreseed[] = { + 0x3b, 0xed, 0x52, 0x54, 0x29, 0x6e, 0x8a, 0xf2, 0x39, 0xa9, 0x5f, 0x9d, + 0x3c, 0x2b, 0xbb, 0xa7, 0x52, 0x00, 0xd1, 0x9c, 0x5d, 0x84, 0x82, 0x3a, + 0x3d, 0x5c, 0x9d, 0xcd, 0x8b, 0x59, 0x61, 0x52, 0xac, 0xf2, 0x2c, 0xe4, + 0xc3, 0xa8, 0xb6, 0xa8, +}; +static const unsigned char kat2606_addinreseed[] = { + 0x8b, 0x3b, 0xf1, 0xb6, 0x60, 0x68, 0x5e, 0x08, 0xcd, 0xb3, 0xee, 0x0d, + 0x90, 0x2c, 0x0f, 0x80, 0x69, 0x36, 0x3c, 0x5d, 0xac, 0x0c, 0x3d, 0x32, + 0x2b, 0x68, 0x93, 0x5c, 0xd2, 0x6b, 0x99, 0xa0, 0x28, 0x0b, 0xf2, 0x43, + 0x26, 0x07, 0x85, 0x9e, +}; +static const unsigned char kat2606_addin0[] = { + 0x71, 0x18, 0xc9, 0xcd, 0x79, 0xda, 0x67, 0x52, 0xb7, 0x4a, 0x7c, 0xfc, + 0x33, 0x90, 0xce, 0x94, 0x9b, 0xfb, 0xf1, 0x39, 0x80, 0x36, 0x38, 0x79, + 0x9b, 0xe9, 0xbc, 0x69, 0x15, 0x5f, 0x2c, 0x4c, 0xa0, 0x98, 0xd9, 0xd8, + 0xaa, 0x13, 0x25, 0x82, +}; +static const unsigned char kat2606_addin1[] = { + 0xd5, 0x27, 0xbb, 0x22, 0x91, 0x87, 0x3b, 0x58, 0xe2, 0x3a, 0x9f, 0xde, + 0x22, 0xb1, 0x7b, 0x42, 0xc7, 0x48, 0xd3, 0x5e, 0x1e, 0x82, 0x78, 0xef, + 0x6f, 0xd5, 0xf3, 0xc5, 0x6f, 0x40, 0x64, 0xe9, 0x9b, 0x3a, 0x57, 0xc8, + 0xd2, 0xcb, 0x01, 0x66, +}; +static const unsigned char kat2606_retbits[] = { + 0x6e, 0xd8, 0xc3, 0xe8, 0x6f, 0x9c, 0xb1, 0x62, 0xdc, 0xe0, 0xd4, 0xad, + 0x8d, 0x5f, 0xa8, 0xe2, 0xef, 0x53, 0x23, 0xb8, 0xe7, 0x0d, 0x5d, 0x54, + 0x73, 0x91, 0xc8, 0x46, 0x63, 0xe3, 0x0e, 0x1f, 0xc3, 0xe7, 0x89, 0x93, + 0xfa, 0xbd, 0xaa, 0x6c, 0xa5, 0x44, 0x9e, 0x37, 0x96, 0x4c, 0x87, 0xc2, + 0xf7, 0x94, 0x4e, 0xf9, 0x47, 0x11, 0x61, 0x26, 0x04, 0xc5, 0x76, 0xe6, + 0xc3, 0xd7, 0x1a, 0x19, +}; +static const struct drbg_kat_pr_false kat2606_t = { + 10, kat2606_entropyin, kat2606_nonce, kat2606_persstr, + kat2606_entropyinreseed, kat2606_addinreseed, kat2606_addin0, + kat2606_addin1, kat2606_retbits +}; +static const struct drbg_kat kat2606 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2606_t +}; + +static const unsigned char kat2607_entropyin[] = { + 0x15, 0x0f, 0x8c, 0x56, 0x56, 0xd4, 0x72, 0x69, 0x28, 0x95, 0xca, 0x10, + 0x8e, 0x68, 0x77, 0xaf, 0xab, 0x5c, 0x8e, 0x37, 0xf4, 0xc4, 0xd9, 0xfc, + 0xcc, 0x6e, 0xe6, 0xe9, 0x46, 0x53, 0x71, 0xe3, 0x29, 0xa1, 0x71, 0xd0, + 0x1b, 0x6d, 0x7e, 0x71, +}; +static const unsigned char kat2607_nonce[] = {0}; +static const unsigned char kat2607_persstr[] = {0}; +static const unsigned char kat2607_entropyinreseed[] = { + 0x4f, 0x63, 0xc5, 0x0e, 0x65, 0x3e, 0xbf, 0x1c, 0x98, 0xc0, 0x33, 0xbc, + 0x22, 0xf2, 0xab, 0xab, 0xca, 0x5c, 0x85, 0xa7, 0xf3, 0xbc, 0xe0, 0x0f, + 0x67, 0x36, 0xeb, 0x20, 0xe1, 0x1a, 0x8c, 0x52, 0x03, 0x82, 0x09, 0xc3, + 0x3a, 0xd2, 0xff, 0x67, +}; +static const unsigned char kat2607_addinreseed[] = { + 0xad, 0x4b, 0x09, 0xc5, 0x82, 0x5c, 0x4c, 0x44, 0x90, 0x95, 0x58, 0xae, + 0x12, 0x62, 0x7d, 0x52, 0x82, 0x87, 0xf9, 0x19, 0x52, 0xf3, 0x89, 0x88, + 0x2e, 0x62, 0x0c, 0xa8, 0xd4, 0x20, 0x57, 0xe7, 0x94, 0xce, 0x5c, 0x19, + 0x49, 0x8e, 0x08, 0x76, +}; +static const unsigned char kat2607_addin0[] = { + 0xe8, 0xed, 0x80, 0x77, 0x46, 0x51, 0x50, 0xb5, 0xae, 0x54, 0x20, 0x9c, + 0xa2, 0x30, 0xc5, 0x4a, 0x79, 0xfe, 0x03, 0x96, 0xe3, 0x8d, 0x4a, 0x27, + 0x17, 0xd6, 0xbe, 0xf9, 0x59, 0x99, 0x5b, 0xf6, 0x90, 0xb9, 0xb4, 0xc5, + 0x11, 0x93, 0xc7, 0x9c, +}; +static const unsigned char kat2607_addin1[] = { + 0x9c, 0xce, 0xac, 0x68, 0xa4, 0xa4, 0xc6, 0xe1, 0x11, 0x5d, 0xad, 0xff, + 0x7a, 0xa7, 0x77, 0x29, 0x6a, 0xf2, 0x2f, 0xde, 0x48, 0xc8, 0xd7, 0x25, + 0xa0, 0x70, 0x56, 0xee, 0xcc, 0x22, 0x0c, 0x3a, 0x40, 0x7e, 0x2c, 0xd8, + 0xf4, 0x01, 0x93, 0x47, +}; +static const unsigned char kat2607_retbits[] = { + 0x2c, 0x71, 0xcb, 0xdf, 0x0c, 0x7c, 0xf3, 0xc4, 0x77, 0x13, 0xab, 0xe5, + 0x93, 0x22, 0x8c, 0x42, 0x33, 0xe3, 0x80, 0x58, 0x0f, 0x05, 0x80, 0x76, + 0x31, 0xec, 0x1e, 0x49, 0x72, 0x95, 0xc2, 0x8a, 0x55, 0x3f, 0xe5, 0x5b, + 0xc4, 0x34, 0xcd, 0x76, 0xd9, 0xdb, 0x10, 0xc3, 0x07, 0xca, 0xa4, 0xc2, + 0xa4, 0x82, 0x55, 0xb2, 0xe8, 0xd7, 0xbf, 0x30, 0x13, 0x66, 0xab, 0x40, + 0xeb, 0x95, 0x73, 0xef, +}; +static const struct drbg_kat_pr_false kat2607_t = { + 11, kat2607_entropyin, kat2607_nonce, kat2607_persstr, + kat2607_entropyinreseed, kat2607_addinreseed, kat2607_addin0, + kat2607_addin1, kat2607_retbits +}; +static const struct drbg_kat kat2607 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2607_t +}; + +static const unsigned char kat2608_entropyin[] = { + 0xfa, 0x5e, 0xa6, 0xbd, 0x7f, 0x8a, 0x4d, 0x05, 0x90, 0x57, 0x82, 0x2c, + 0xb6, 0xda, 0xdb, 0xfb, 0x51, 0xed, 0x0a, 0xdc, 0x92, 0x77, 0x71, 0xe0, + 0x13, 0x0e, 0xff, 0xa6, 0xdc, 0x63, 0x83, 0xba, 0x04, 0x8e, 0xa5, 0x22, + 0xbc, 0x38, 0xeb, 0x6c, +}; +static const unsigned char kat2608_nonce[] = {0}; +static const unsigned char kat2608_persstr[] = {0}; +static const unsigned char kat2608_entropyinreseed[] = { + 0x32, 0xbf, 0x4f, 0xf5, 0xd9, 0x6f, 0x2e, 0x73, 0x8e, 0x1d, 0xca, 0x1f, + 0xa6, 0xfd, 0xc6, 0x84, 0x1b, 0x08, 0x57, 0x60, 0xb2, 0x33, 0x0c, 0x44, + 0xa5, 0x10, 0x31, 0x7c, 0x33, 0xa3, 0x0c, 0xd0, 0xea, 0x67, 0x49, 0x12, + 0x59, 0xc0, 0xec, 0xb3, +}; +static const unsigned char kat2608_addinreseed[] = { + 0xb1, 0xbc, 0x3a, 0xde, 0x5f, 0x8e, 0x28, 0xee, 0xd4, 0x1f, 0xca, 0x48, + 0xb5, 0xf3, 0xc1, 0xed, 0xe5, 0x7b, 0x1e, 0x87, 0x95, 0x5e, 0x10, 0xf4, + 0x71, 0xc6, 0x44, 0xc4, 0x7a, 0xb1, 0xdb, 0xf5, 0xd9, 0x20, 0x98, 0xcc, + 0x23, 0x71, 0x68, 0x29, +}; +static const unsigned char kat2608_addin0[] = { + 0x78, 0xe9, 0xb9, 0x91, 0x89, 0xe3, 0x60, 0x46, 0x99, 0x2b, 0xf8, 0x2f, + 0x58, 0x8b, 0xb8, 0x14, 0x5b, 0x16, 0xf3, 0x5e, 0x65, 0x37, 0xf7, 0x62, + 0x05, 0xf1, 0xb9, 0x9b, 0x9a, 0xe9, 0x2a, 0x84, 0xc2, 0x9b, 0x65, 0xb9, + 0xd0, 0x7c, 0x1c, 0x4c, +}; +static const unsigned char kat2608_addin1[] = { + 0x5c, 0xff, 0xda, 0x30, 0xab, 0x0d, 0x71, 0xfe, 0x82, 0x11, 0x99, 0xae, + 0x88, 0x21, 0x8b, 0x82, 0x30, 0x34, 0x5c, 0x94, 0xf6, 0x67, 0xb6, 0x64, + 0x2d, 0xb6, 0x54, 0x21, 0x4f, 0x3a, 0x15, 0xa7, 0xc6, 0xf1, 0x60, 0x95, + 0x33, 0xbc, 0x6e, 0x52, +}; +static const unsigned char kat2608_retbits[] = { + 0x3e, 0x32, 0x63, 0xc6, 0xff, 0x3f, 0x28, 0x61, 0xfe, 0x59, 0xfa, 0x76, + 0x4d, 0xd2, 0x03, 0x48, 0x99, 0x17, 0xdd, 0x55, 0xe0, 0x07, 0xe1, 0xac, + 0x28, 0xed, 0xa8, 0x50, 0x05, 0x3a, 0x94, 0xef, 0x3c, 0x54, 0x00, 0x8d, + 0x06, 0xd9, 0xdc, 0xd2, 0x78, 0x17, 0x1c, 0xe6, 0x92, 0x69, 0xb4, 0x7e, + 0x7e, 0xf8, 0xc0, 0x4d, 0x5a, 0xd1, 0x7c, 0xda, 0xf5, 0xaf, 0xec, 0x02, + 0x1a, 0xca, 0xe1, 0x6e, +}; +static const struct drbg_kat_pr_false kat2608_t = { + 12, kat2608_entropyin, kat2608_nonce, kat2608_persstr, + kat2608_entropyinreseed, kat2608_addinreseed, kat2608_addin0, + kat2608_addin1, kat2608_retbits +}; +static const struct drbg_kat kat2608 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2608_t +}; + +static const unsigned char kat2609_entropyin[] = { + 0x8d, 0xe5, 0x81, 0x4b, 0x66, 0x83, 0x87, 0x41, 0x88, 0x09, 0xcc, 0xee, + 0xc4, 0x66, 0x7f, 0x7b, 0x67, 0xdb, 0x3c, 0x87, 0x55, 0xd7, 0xf0, 0x45, + 0x0b, 0x65, 0x06, 0x8f, 0x84, 0x6c, 0x34, 0x1c, 0xd1, 0xc4, 0x5a, 0xfa, + 0x4a, 0xcb, 0x39, 0x64, +}; +static const unsigned char kat2609_nonce[] = {0}; +static const unsigned char kat2609_persstr[] = {0}; +static const unsigned char kat2609_entropyinreseed[] = { + 0x48, 0x64, 0x00, 0xe9, 0x61, 0x34, 0xc7, 0xfc, 0x67, 0x8a, 0x9d, 0x5d, + 0x7b, 0xd2, 0x2e, 0x8a, 0xf0, 0x92, 0x7a, 0x09, 0x06, 0x36, 0x02, 0x9b, + 0x61, 0x3a, 0xfd, 0x1b, 0x1b, 0x8c, 0x6b, 0x97, 0xdd, 0xf5, 0x7e, 0xef, + 0xba, 0xf4, 0x1a, 0xe8, +}; +static const unsigned char kat2609_addinreseed[] = { + 0x77, 0x30, 0x6a, 0xb1, 0x97, 0xaa, 0x94, 0x6c, 0xaf, 0x00, 0x04, 0x46, + 0x85, 0x4d, 0x9a, 0x0b, 0x44, 0xbf, 0x6d, 0x48, 0x22, 0xb2, 0x27, 0xc4, + 0x27, 0x56, 0xe3, 0xb7, 0x35, 0x1e, 0xd6, 0x28, 0x4c, 0xa1, 0x4b, 0x07, + 0xb1, 0x64, 0x81, 0x38, +}; +static const unsigned char kat2609_addin0[] = { + 0x44, 0x0b, 0xe6, 0x64, 0x8f, 0xb2, 0x53, 0xca, 0xc8, 0xb4, 0xfa, 0x2f, + 0xf0, 0x64, 0x4c, 0x30, 0x54, 0x15, 0xc7, 0x17, 0x53, 0x10, 0x8e, 0xae, + 0x20, 0x07, 0x34, 0x83, 0x89, 0xf5, 0xba, 0x83, 0xa8, 0x71, 0x28, 0x79, + 0xf5, 0xd9, 0x02, 0x15, +}; +static const unsigned char kat2609_addin1[] = { + 0xbc, 0x00, 0x5a, 0x5a, 0xb1, 0x1b, 0x11, 0x44, 0x1c, 0x1d, 0x7b, 0x69, + 0x6e, 0x23, 0x1d, 0xfe, 0x74, 0xfc, 0x4c, 0xa0, 0x68, 0x9d, 0xe4, 0xa4, + 0xc2, 0x6c, 0x65, 0x55, 0xcd, 0x19, 0xc1, 0xd9, 0x8d, 0x88, 0xa8, 0xae, + 0xc4, 0x78, 0x49, 0x8b, +}; +static const unsigned char kat2609_retbits[] = { + 0x00, 0x34, 0x9b, 0xcd, 0xf0, 0xc4, 0xdb, 0x17, 0x34, 0x2f, 0xdb, 0xa2, + 0xdf, 0x34, 0x51, 0xdc, 0x07, 0x95, 0x8a, 0x23, 0xdf, 0x82, 0xc8, 0x90, + 0x73, 0x96, 0xa3, 0x2b, 0xd5, 0x4e, 0x8b, 0xb2, 0xcb, 0x24, 0x6e, 0x31, + 0xe0, 0xa2, 0xfb, 0xfe, 0x80, 0xd1, 0xad, 0x43, 0x86, 0x92, 0xdb, 0x16, + 0x2d, 0xe9, 0x4d, 0xf7, 0xbc, 0x49, 0x39, 0xbf, 0xf7, 0x34, 0x36, 0x13, + 0xcf, 0x40, 0x06, 0xb2, +}; +static const struct drbg_kat_pr_false kat2609_t = { + 13, kat2609_entropyin, kat2609_nonce, kat2609_persstr, + kat2609_entropyinreseed, kat2609_addinreseed, kat2609_addin0, + kat2609_addin1, kat2609_retbits +}; +static const struct drbg_kat kat2609 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2609_t +}; + +static const unsigned char kat2610_entropyin[] = { + 0xc4, 0x76, 0x3f, 0x91, 0x72, 0x8f, 0x95, 0x70, 0x06, 0xda, 0x20, 0xa8, + 0x1f, 0xae, 0x7d, 0xfc, 0xda, 0x64, 0x9b, 0xe1, 0xa6, 0x41, 0xdf, 0x44, + 0xd7, 0xce, 0x12, 0x6f, 0xdc, 0x0d, 0x13, 0xd9, 0xee, 0xe6, 0x4e, 0xcc, + 0x1e, 0x0e, 0xea, 0xf0, +}; +static const unsigned char kat2610_nonce[] = {0}; +static const unsigned char kat2610_persstr[] = {0}; +static const unsigned char kat2610_entropyinreseed[] = { + 0xc5, 0xd8, 0xfe, 0x8f, 0x0e, 0x54, 0xc5, 0x23, 0x86, 0x1e, 0x80, 0x14, + 0x6a, 0x0d, 0x44, 0x5a, 0x4f, 0xa0, 0xe9, 0xaa, 0x55, 0x67, 0x5e, 0x7c, + 0x94, 0x2c, 0x06, 0x60, 0x1e, 0xb9, 0x82, 0x58, 0xfa, 0x54, 0x9f, 0xf4, + 0x1e, 0xa6, 0xaf, 0x38, +}; +static const unsigned char kat2610_addinreseed[] = { + 0x96, 0x25, 0x6e, 0xc3, 0x2a, 0x07, 0x6f, 0x5c, 0xc0, 0x35, 0xc6, 0x3d, + 0x9d, 0x2d, 0x62, 0x32, 0x69, 0x9d, 0x3c, 0x9a, 0x2b, 0xfc, 0xbe, 0x8d, + 0x7d, 0x11, 0x01, 0xb9, 0x2c, 0x87, 0x58, 0xe7, 0x51, 0xfb, 0xb9, 0xc9, + 0x44, 0xf2, 0x4c, 0x57, +}; +static const unsigned char kat2610_addin0[] = { + 0xbf, 0x76, 0x97, 0x37, 0x91, 0xb5, 0x2d, 0x93, 0x87, 0xe2, 0xa3, 0x6f, + 0x3a, 0xb3, 0x62, 0x0b, 0xb9, 0x83, 0xdc, 0xd2, 0x39, 0x9f, 0xef, 0x3c, + 0xc6, 0xbf, 0x4c, 0xf8, 0x6c, 0xf7, 0x88, 0x99, 0x64, 0x30, 0x0f, 0xd4, + 0xf9, 0x85, 0x1a, 0xa6, +}; +static const unsigned char kat2610_addin1[] = { + 0x20, 0x89, 0xac, 0xf7, 0xac, 0xa4, 0x3a, 0x77, 0xd8, 0x45, 0x9d, 0x4f, + 0x38, 0x49, 0x19, 0x57, 0x5e, 0xd8, 0x8c, 0x7c, 0x47, 0x59, 0xb9, 0xdd, + 0x70, 0x33, 0xa1, 0x32, 0xa8, 0x5c, 0x2e, 0xc6, 0xc7, 0x10, 0x25, 0xc1, + 0x66, 0x08, 0x3b, 0xc7, +}; +static const unsigned char kat2610_retbits[] = { + 0x81, 0x30, 0x9a, 0x10, 0xac, 0x3f, 0x02, 0xd3, 0xfe, 0xe0, 0x49, 0xa5, + 0xdd, 0xb9, 0xf0, 0x2f, 0x64, 0xdf, 0xf3, 0xd6, 0xb7, 0x52, 0x59, 0xd5, + 0x61, 0x92, 0x1a, 0x83, 0x49, 0xb3, 0x00, 0x54, 0x05, 0x9b, 0x2a, 0xf8, + 0x1c, 0x6f, 0x7d, 0x50, 0x18, 0x9a, 0x0b, 0xb6, 0xd3, 0x60, 0xda, 0x06, + 0xbc, 0xbd, 0xc9, 0x44, 0x99, 0x7d, 0x6f, 0x8b, 0x05, 0x1f, 0x23, 0x99, + 0x8c, 0x8c, 0x36, 0xae, +}; +static const struct drbg_kat_pr_false kat2610_t = { + 14, kat2610_entropyin, kat2610_nonce, kat2610_persstr, + kat2610_entropyinreseed, kat2610_addinreseed, kat2610_addin0, + kat2610_addin1, kat2610_retbits +}; +static const struct drbg_kat kat2610 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat2610_t +}; + +static const unsigned char kat2611_entropyin[] = { + 0xc1, 0x80, 0x5a, 0xcd, 0x7f, 0xbd, 0x1a, 0x8e, 0x59, 0x8a, 0x5d, 0x6b, + 0x71, 0x8e, 0x62, 0xa9, 0xa8, 0x04, 0x01, 0x7b, 0xea, 0x21, 0x56, 0xa5, + 0x76, 0xd0, 0xc7, 0x9a, 0xc1, 0xb6, 0x5d, 0xe8, 0xb9, 0xa9, 0xf1, 0x6b, + 0x2d, 0x39, 0xf5, 0x17, +}; +static const unsigned char kat2611_nonce[] = {0}; +static const unsigned char kat2611_persstr[] = { + 0x36, 0x4a, 0x2d, 0x14, 0xae, 0xaa, 0x9e, 0xff, 0xa3, 0xda, 0x10, 0x8d, + 0x88, 0x6c, 0x8b, 0xb1, 0x27, 0x7d, 0x3c, 0x79, 0xe4, 0x7d, 0x44, 0x4e, + 0xd9, 0x3c, 0xb6, 0x7f, 0xe2, 0x82, 0xf8, 0xd0, 0x16, 0x2b, 0xe2, 0x62, + 0xec, 0x43, 0x5c, 0x24, +}; +static const unsigned char kat2611_entropyinreseed[] = { + 0x6b, 0xd4, 0x3a, 0xf1, 0x8c, 0x45, 0x58, 0xa4, 0x3d, 0x85, 0x50, 0x12, + 0x74, 0xfb, 0x96, 0xb0, 0x97, 0x08, 0xe1, 0x21, 0xa7, 0x4d, 0x44, 0x4a, + 0x14, 0x88, 0x6c, 0x47, 0x1f, 0x8d, 0xd0, 0xe1, 0xb6, 0x0c, 0xdf, 0xd6, + 0xcd, 0xcb, 0xa9, 0x9f, +}; +static const unsigned char kat2611_addinreseed[] = {0}; +static const unsigned char kat2611_addin0[] = {0}; +static const unsigned char kat2611_addin1[] = {0}; +static const unsigned char kat2611_retbits[] = { + 0x59, 0x93, 0x40, 0x2f, 0x0e, 0x1f, 0xbc, 0xef, 0x2b, 0x31, 0x59, 0x28, + 0xe2, 0x6e, 0x14, 0xae, 0x8d, 0x9e, 0x6d, 0xc4, 0x18, 0xe9, 0xcb, 0xc9, + 0x86, 0x62, 0x3e, 0x13, 0x00, 0xd2, 0xcc, 0x78, 0x98, 0x54, 0xed, 0x7c, + 0x5d, 0xf9, 0x3e, 0xbd, 0x42, 0xde, 0xdc, 0xde, 0xc7, 0x03, 0x15, 0x3f, + 0x12, 0x78, 0x32, 0x43, 0xa2, 0x34, 0x46, 0x4c, 0x00, 0x36, 0x0c, 0xe5, + 0x40, 0x51, 0x00, 0xaa, +}; +static const struct drbg_kat_pr_false kat2611_t = { + 0, kat2611_entropyin, kat2611_nonce, kat2611_persstr, + kat2611_entropyinreseed, kat2611_addinreseed, kat2611_addin0, + kat2611_addin1, kat2611_retbits +}; +static const struct drbg_kat kat2611 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2611_t +}; + +static const unsigned char kat2612_entropyin[] = { + 0xfb, 0xe6, 0x2f, 0x35, 0x35, 0x19, 0xed, 0xa7, 0x41, 0xda, 0x26, 0x0c, + 0x97, 0x28, 0x9c, 0xa5, 0x66, 0xe5, 0x42, 0x44, 0x95, 0xcc, 0x65, 0x91, + 0xb9, 0xbe, 0x7d, 0xed, 0x77, 0xd4, 0x90, 0x74, 0x76, 0x6b, 0x64, 0x39, + 0x4e, 0xda, 0xe2, 0xff, +}; +static const unsigned char kat2612_nonce[] = {0}; +static const unsigned char kat2612_persstr[] = { + 0x6e, 0x47, 0x56, 0x68, 0xd4, 0xd7, 0x19, 0x44, 0xd8, 0xe7, 0x3e, 0xe2, + 0x93, 0xb1, 0xc5, 0x8f, 0xe4, 0x7a, 0x73, 0x03, 0xd8, 0x1c, 0xce, 0x68, + 0x65, 0x5d, 0xa8, 0x5b, 0x59, 0x42, 0x3f, 0xb7, 0xcb, 0xdc, 0xb2, 0xdd, + 0x71, 0x9f, 0x48, 0xb6, +}; +static const unsigned char kat2612_entropyinreseed[] = { + 0x4b, 0x25, 0xa9, 0x6e, 0x85, 0x4b, 0xde, 0x02, 0x3e, 0x1b, 0x9c, 0xee, + 0x72, 0xab, 0xc1, 0xd6, 0x39, 0xa8, 0x4e, 0xfa, 0x87, 0x6b, 0xd7, 0x63, + 0xb0, 0x92, 0xcb, 0x93, 0x60, 0x37, 0x41, 0x5e, 0x16, 0xac, 0xa4, 0x5d, + 0x22, 0xae, 0x82, 0x2b, +}; +static const unsigned char kat2612_addinreseed[] = {0}; +static const unsigned char kat2612_addin0[] = {0}; +static const unsigned char kat2612_addin1[] = {0}; +static const unsigned char kat2612_retbits[] = { + 0x25, 0x8a, 0x9a, 0xb1, 0x4b, 0x16, 0xcb, 0x18, 0xeb, 0xe8, 0x0b, 0x4f, + 0x4a, 0x74, 0x9e, 0x4f, 0xa1, 0x89, 0x4a, 0x43, 0xd8, 0xb6, 0xab, 0x62, + 0x46, 0x27, 0xaf, 0x1d, 0xb8, 0x57, 0xc1, 0xfd, 0xd0, 0xf6, 0x0f, 0xc3, + 0x45, 0x50, 0x72, 0x2d, 0xbe, 0xcc, 0xad, 0x4d, 0xe7, 0xb0, 0x63, 0x16, + 0x1b, 0xaa, 0x45, 0x04, 0x9b, 0xe3, 0xab, 0xdf, 0x28, 0x68, 0x92, 0xc2, + 0x72, 0x87, 0xb6, 0x7a, +}; +static const struct drbg_kat_pr_false kat2612_t = { + 1, kat2612_entropyin, kat2612_nonce, kat2612_persstr, + kat2612_entropyinreseed, kat2612_addinreseed, kat2612_addin0, + kat2612_addin1, kat2612_retbits +}; +static const struct drbg_kat kat2612 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2612_t +}; + +static const unsigned char kat2613_entropyin[] = { + 0xe3, 0xd0, 0x30, 0x44, 0x40, 0x10, 0x5d, 0xe3, 0x61, 0x77, 0x44, 0x6d, + 0x97, 0xe3, 0x7c, 0x2e, 0xb2, 0x9b, 0xd0, 0xd0, 0xd4, 0x07, 0x0e, 0xe1, + 0x8f, 0x3a, 0xf1, 0x42, 0x43, 0x49, 0xd8, 0x60, 0xa9, 0xc4, 0xba, 0x9f, + 0x32, 0xe2, 0xbc, 0x1d, +}; +static const unsigned char kat2613_nonce[] = {0}; +static const unsigned char kat2613_persstr[] = { + 0x7b, 0x7b, 0xbe, 0x07, 0xf3, 0x67, 0x2a, 0x3b, 0xf2, 0x66, 0xae, 0x2d, + 0xcd, 0x50, 0x3b, 0x94, 0x2a, 0xbb, 0xd6, 0xd6, 0x37, 0x9d, 0x59, 0xca, + 0xac, 0x34, 0xee, 0xd9, 0x6b, 0xea, 0xb8, 0xcc, 0x2e, 0x51, 0xc5, 0x31, + 0xf4, 0x77, 0xee, 0x1c, +}; +static const unsigned char kat2613_entropyinreseed[] = { + 0x2a, 0x62, 0xd0, 0x6d, 0xfb, 0x47, 0xb2, 0x83, 0x4e, 0x09, 0x9f, 0xc6, + 0x6e, 0xf5, 0x0c, 0x34, 0x90, 0xe7, 0x34, 0x24, 0x25, 0x45, 0xe5, 0x0a, + 0xd8, 0xc6, 0x52, 0x74, 0x87, 0xfc, 0xa4, 0xb7, 0xbc, 0x15, 0x20, 0x93, + 0x6d, 0xd3, 0x6d, 0x0b, +}; +static const unsigned char kat2613_addinreseed[] = {0}; +static const unsigned char kat2613_addin0[] = {0}; +static const unsigned char kat2613_addin1[] = {0}; +static const unsigned char kat2613_retbits[] = { + 0xed, 0xa9, 0xfd, 0xa6, 0xad, 0xe2, 0x28, 0x13, 0x32, 0x44, 0xb5, 0x91, + 0xfc, 0x63, 0xa7, 0xf9, 0xab, 0xf0, 0xb6, 0x85, 0x79, 0xaf, 0x45, 0xd4, + 0x45, 0x6b, 0x00, 0xa3, 0x90, 0x82, 0xdc, 0xf6, 0xd3, 0x02, 0x98, 0x65, + 0xb2, 0x03, 0xf1, 0xd0, 0x44, 0xf4, 0xb3, 0x0f, 0x4f, 0x67, 0x39, 0x47, + 0x66, 0xc1, 0xad, 0xd5, 0x70, 0x48, 0xba, 0x45, 0x74, 0x8e, 0x9d, 0xfc, + 0x6e, 0x59, 0x01, 0xda, +}; +static const struct drbg_kat_pr_false kat2613_t = { + 2, kat2613_entropyin, kat2613_nonce, kat2613_persstr, + kat2613_entropyinreseed, kat2613_addinreseed, kat2613_addin0, + kat2613_addin1, kat2613_retbits +}; +static const struct drbg_kat kat2613 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2613_t +}; + +static const unsigned char kat2614_entropyin[] = { + 0x64, 0x08, 0x28, 0x7f, 0x33, 0x97, 0xcb, 0x4e, 0xbc, 0xa2, 0xb5, 0x31, + 0xef, 0x99, 0xb1, 0xfc, 0x18, 0x7a, 0x68, 0xa4, 0x04, 0x7e, 0xe9, 0x07, + 0x56, 0x12, 0x04, 0x68, 0x2c, 0x71, 0x47, 0xe9, 0xb5, 0x63, 0xb1, 0x0a, + 0xff, 0x89, 0x88, 0xb5, +}; +static const unsigned char kat2614_nonce[] = {0}; +static const unsigned char kat2614_persstr[] = { + 0xea, 0x02, 0xe2, 0x32, 0x6b, 0x5e, 0x8e, 0x3f, 0x2c, 0x80, 0xe3, 0xcd, + 0xd0, 0x1b, 0x78, 0x98, 0x47, 0x31, 0xae, 0x13, 0x80, 0x2a, 0xd0, 0xbd, + 0x72, 0xea, 0x5e, 0xe3, 0xd3, 0x52, 0xd7, 0x31, 0x82, 0xcf, 0x4a, 0x9f, + 0x5b, 0x45, 0x9d, 0x81, +}; +static const unsigned char kat2614_entropyinreseed[] = { + 0x84, 0xa9, 0x5e, 0xe2, 0xd3, 0x59, 0x74, 0x71, 0x0a, 0x7f, 0xc6, 0xc4, + 0x83, 0x3c, 0x83, 0x1c, 0x06, 0x00, 0x01, 0x9f, 0x25, 0xcb, 0x62, 0x54, + 0xfe, 0x88, 0x69, 0x10, 0x9e, 0x81, 0xe0, 0x86, 0x67, 0x51, 0x7b, 0xbf, + 0xa9, 0xe8, 0x1a, 0xf0, +}; +static const unsigned char kat2614_addinreseed[] = {0}; +static const unsigned char kat2614_addin0[] = {0}; +static const unsigned char kat2614_addin1[] = {0}; +static const unsigned char kat2614_retbits[] = { + 0xeb, 0xab, 0x51, 0xb0, 0x46, 0xcc, 0x15, 0x77, 0xd0, 0xe9, 0x32, 0xe5, + 0x68, 0x3a, 0x06, 0x9b, 0x07, 0xbe, 0x28, 0x6f, 0xee, 0x08, 0x64, 0x43, + 0xd0, 0x1f, 0xd3, 0x00, 0x02, 0x5a, 0x62, 0xb7, 0x06, 0x34, 0x95, 0x6e, + 0x8c, 0x37, 0xa7, 0xbd, 0x18, 0x09, 0xdb, 0xa4, 0x9e, 0x11, 0x44, 0x21, + 0x75, 0x91, 0xf2, 0x8c, 0x9d, 0xa9, 0xc3, 0xfd, 0x21, 0x41, 0xbd, 0xdc, + 0xe4, 0x2a, 0xc8, 0xb4, +}; +static const struct drbg_kat_pr_false kat2614_t = { + 3, kat2614_entropyin, kat2614_nonce, kat2614_persstr, + kat2614_entropyinreseed, kat2614_addinreseed, kat2614_addin0, + kat2614_addin1, kat2614_retbits +}; +static const struct drbg_kat kat2614 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2614_t +}; + +static const unsigned char kat2615_entropyin[] = { + 0x89, 0x9a, 0xca, 0x60, 0xa3, 0x07, 0x62, 0x11, 0xe2, 0xe2, 0x98, 0x7b, + 0x55, 0xb9, 0x0a, 0xa0, 0x01, 0xfb, 0xae, 0x82, 0x48, 0x7a, 0xa1, 0x1f, + 0x3c, 0xbc, 0xad, 0xdd, 0x49, 0xbb, 0xd1, 0x32, 0xc7, 0x46, 0xdd, 0xde, + 0x61, 0xd4, 0x32, 0x1d, +}; +static const unsigned char kat2615_nonce[] = {0}; +static const unsigned char kat2615_persstr[] = { + 0xb1, 0x79, 0x7f, 0xf6, 0x84, 0xcc, 0x5e, 0x4c, 0x7e, 0xb4, 0xa7, 0x79, + 0xc8, 0x59, 0xe3, 0xf1, 0xde, 0x79, 0xf8, 0xa5, 0x67, 0xef, 0xe1, 0xe8, + 0x68, 0x94, 0x5c, 0x67, 0xdc, 0x6f, 0xdb, 0x91, 0xfc, 0xfb, 0x98, 0xe3, + 0x40, 0xe6, 0x98, 0x57, +}; +static const unsigned char kat2615_entropyinreseed[] = { + 0xaf, 0x9d, 0x3c, 0x7d, 0x7a, 0x4d, 0x23, 0xba, 0xe1, 0xe2, 0xea, 0x1d, + 0x38, 0x28, 0x4d, 0x1b, 0xa9, 0xc8, 0x7f, 0xb9, 0x1f, 0x16, 0xf2, 0x24, + 0x99, 0xdd, 0x61, 0x31, 0x63, 0x6c, 0xcb, 0x84, 0xe8, 0x5b, 0x20, 0x26, + 0x95, 0x5c, 0xba, 0x4a, +}; +static const unsigned char kat2615_addinreseed[] = {0}; +static const unsigned char kat2615_addin0[] = {0}; +static const unsigned char kat2615_addin1[] = {0}; +static const unsigned char kat2615_retbits[] = { + 0x32, 0x0d, 0x59, 0xb9, 0x33, 0x62, 0x81, 0xa3, 0xec, 0x59, 0x25, 0x3f, + 0x36, 0xde, 0xc4, 0x8c, 0x1c, 0x68, 0x68, 0x95, 0xe8, 0xba, 0xd8, 0xf7, + 0x01, 0xd7, 0x67, 0x21, 0x85, 0x27, 0x48, 0xcf, 0x70, 0xb3, 0x38, 0x56, + 0x3c, 0x7f, 0x4f, 0xb8, 0x19, 0x98, 0x96, 0xaa, 0x2d, 0x37, 0xcb, 0x2a, + 0xf3, 0xe4, 0x14, 0x02, 0x90, 0xe4, 0x75, 0x28, 0x52, 0xc6, 0x42, 0xe0, + 0x7d, 0x5a, 0x60, 0x96, +}; +static const struct drbg_kat_pr_false kat2615_t = { + 4, kat2615_entropyin, kat2615_nonce, kat2615_persstr, + kat2615_entropyinreseed, kat2615_addinreseed, kat2615_addin0, + kat2615_addin1, kat2615_retbits +}; +static const struct drbg_kat kat2615 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2615_t +}; + +static const unsigned char kat2616_entropyin[] = { + 0x35, 0x52, 0xd6, 0xad, 0x42, 0x44, 0x0b, 0x56, 0x46, 0x27, 0xfb, 0x40, + 0xf8, 0xe5, 0xba, 0x60, 0xfb, 0x95, 0x5d, 0x33, 0x40, 0xc4, 0x23, 0x09, + 0xd4, 0xb2, 0xf5, 0x2e, 0xe9, 0xc5, 0x16, 0xf2, 0x6d, 0x94, 0x6a, 0x35, + 0x33, 0x52, 0xba, 0x82, +}; +static const unsigned char kat2616_nonce[] = {0}; +static const unsigned char kat2616_persstr[] = { + 0xeb, 0x5c, 0x00, 0xd6, 0xce, 0x44, 0xff, 0x83, 0x75, 0x9f, 0x5c, 0x65, + 0x7c, 0x55, 0x81, 0x0a, 0xc1, 0x3c, 0x8d, 0xf1, 0x75, 0x60, 0x33, 0xc0, + 0x20, 0x9f, 0xb6, 0xbe, 0xaa, 0x7e, 0x1c, 0xb0, 0x86, 0x23, 0x1d, 0xbd, + 0x75, 0xc0, 0xde, 0x3d, +}; +static const unsigned char kat2616_entropyinreseed[] = { + 0x30, 0x0d, 0x3e, 0xf9, 0x95, 0x24, 0x61, 0x72, 0x3e, 0xc0, 0x9e, 0xa5, + 0x0e, 0x41, 0x7c, 0x13, 0x3f, 0x6d, 0x00, 0x32, 0x94, 0x19, 0x9a, 0x69, + 0x92, 0xd5, 0x0d, 0x55, 0xd3, 0xca, 0x27, 0x3e, 0x7b, 0x1d, 0x05, 0x4f, + 0x18, 0xc5, 0x35, 0x7b, +}; +static const unsigned char kat2616_addinreseed[] = {0}; +static const unsigned char kat2616_addin0[] = {0}; +static const unsigned char kat2616_addin1[] = {0}; +static const unsigned char kat2616_retbits[] = { + 0xba, 0x59, 0xeb, 0x9f, 0x44, 0x4d, 0xef, 0x7b, 0x22, 0x8f, 0xcf, 0x04, + 0x86, 0xba, 0x25, 0xa6, 0xb2, 0x6d, 0xc6, 0x34, 0x02, 0xc6, 0xae, 0x7c, + 0xfc, 0x80, 0xf4, 0x61, 0x4d, 0x33, 0x1e, 0xf4, 0x78, 0x21, 0x94, 0xa7, + 0xd6, 0xc5, 0x81, 0x88, 0x69, 0xcd, 0x5b, 0x63, 0xbc, 0x27, 0x77, 0xbe, + 0x77, 0xe7, 0xde, 0x8e, 0xf3, 0x79, 0x5e, 0xa8, 0x6f, 0xb3, 0x63, 0xd8, + 0x09, 0x94, 0xb0, 0x04, +}; +static const struct drbg_kat_pr_false kat2616_t = { + 5, kat2616_entropyin, kat2616_nonce, kat2616_persstr, + kat2616_entropyinreseed, kat2616_addinreseed, kat2616_addin0, + kat2616_addin1, kat2616_retbits +}; +static const struct drbg_kat kat2616 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2616_t +}; + +static const unsigned char kat2617_entropyin[] = { + 0xc3, 0xd2, 0x9d, 0xfa, 0x16, 0xf9, 0xa0, 0x60, 0x91, 0x02, 0xf0, 0xbc, + 0xcf, 0x17, 0xe6, 0x2d, 0x02, 0xc2, 0x62, 0x6f, 0x7b, 0x31, 0x53, 0x86, + 0x97, 0x35, 0x0c, 0xe3, 0x16, 0x03, 0x92, 0xf7, 0x7c, 0x0d, 0x30, 0x1e, + 0x89, 0xcc, 0x22, 0x81, +}; +static const unsigned char kat2617_nonce[] = {0}; +static const unsigned char kat2617_persstr[] = { + 0xb2, 0x41, 0xd4, 0x9b, 0xca, 0xaa, 0xd0, 0xc4, 0x28, 0xe0, 0x6d, 0x3a, + 0x28, 0x20, 0x1b, 0x7b, 0x7e, 0xc8, 0x06, 0xe6, 0x03, 0x0c, 0xe4, 0x3d, + 0x6d, 0x6b, 0x55, 0xb8, 0x2e, 0x83, 0x99, 0xb7, 0x5d, 0x8f, 0x9c, 0x0e, + 0x77, 0x08, 0x6d, 0x84, +}; +static const unsigned char kat2617_entropyinreseed[] = { + 0xff, 0x76, 0x6d, 0x8b, 0xb9, 0xe8, 0x1f, 0xf8, 0xf6, 0x5c, 0xc6, 0x90, + 0xa0, 0x04, 0xda, 0xad, 0x66, 0xb1, 0x0c, 0x13, 0x77, 0x76, 0x8e, 0x7b, + 0x91, 0x5a, 0x59, 0x8f, 0x1c, 0x62, 0x0c, 0xa8, 0xa3, 0x9a, 0x5b, 0x89, + 0x14, 0x05, 0x1a, 0x80, +}; +static const unsigned char kat2617_addinreseed[] = {0}; +static const unsigned char kat2617_addin0[] = {0}; +static const unsigned char kat2617_addin1[] = {0}; +static const unsigned char kat2617_retbits[] = { + 0x28, 0x4d, 0xde, 0x49, 0xfc, 0xef, 0xfe, 0x95, 0xcd, 0x55, 0x1a, 0x73, + 0x53, 0x35, 0xd1, 0x07, 0x67, 0x7f, 0xcf, 0xb3, 0x37, 0xe4, 0x9f, 0x58, + 0xc8, 0xeb, 0xd4, 0x54, 0x99, 0x7a, 0xdb, 0x80, 0x9f, 0x66, 0x62, 0x3f, + 0xc3, 0xaf, 0x1c, 0xd2, 0x16, 0xf2, 0x88, 0x48, 0xe2, 0xd2, 0xf8, 0xd6, + 0x14, 0xee, 0xf5, 0x5b, 0x3f, 0xa9, 0xb7, 0x21, 0xbf, 0xf6, 0x03, 0xf6, + 0x6d, 0x70, 0x8f, 0xab, +}; +static const struct drbg_kat_pr_false kat2617_t = { + 6, kat2617_entropyin, kat2617_nonce, kat2617_persstr, + kat2617_entropyinreseed, kat2617_addinreseed, kat2617_addin0, + kat2617_addin1, kat2617_retbits +}; +static const struct drbg_kat kat2617 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2617_t +}; + +static const unsigned char kat2618_entropyin[] = { + 0x4d, 0x78, 0x8b, 0xd9, 0x26, 0xd7, 0x83, 0xb1, 0x04, 0x9e, 0x24, 0x9f, + 0x6b, 0x59, 0x93, 0xd6, 0xe8, 0x45, 0x16, 0x32, 0xfa, 0xfe, 0xe2, 0x97, + 0x4e, 0xdc, 0x14, 0x3b, 0xe0, 0x9c, 0x3c, 0x51, 0xdd, 0xd6, 0xb6, 0x0a, + 0xb3, 0x08, 0x48, 0x6e, +}; +static const unsigned char kat2618_nonce[] = {0}; +static const unsigned char kat2618_persstr[] = { + 0x4c, 0xaf, 0x47, 0xff, 0xe9, 0x22, 0x6c, 0x25, 0xa2, 0x08, 0x43, 0x1e, + 0x93, 0xa8, 0xb7, 0xa9, 0xa6, 0x4b, 0x3d, 0x8d, 0xee, 0x8d, 0x21, 0x0c, + 0x9a, 0xde, 0x32, 0x56, 0x47, 0x2f, 0xd0, 0xb4, 0xe2, 0xf2, 0x2c, 0xac, + 0x21, 0x45, 0x5f, 0xea, +}; +static const unsigned char kat2618_entropyinreseed[] = { + 0xab, 0x80, 0x0d, 0xc2, 0xed, 0x83, 0xff, 0x77, 0x52, 0xf6, 0x5c, 0xec, + 0xce, 0xb3, 0xf8, 0xe5, 0xee, 0x69, 0xe3, 0x4b, 0xca, 0x6c, 0x52, 0xc0, + 0xbf, 0xe0, 0xb5, 0xbe, 0xa5, 0x9b, 0xcb, 0xee, 0x38, 0x0c, 0xab, 0x83, + 0x10, 0x36, 0x00, 0x04, +}; +static const unsigned char kat2618_addinreseed[] = {0}; +static const unsigned char kat2618_addin0[] = {0}; +static const unsigned char kat2618_addin1[] = {0}; +static const unsigned char kat2618_retbits[] = { + 0xab, 0xa5, 0xd0, 0xbc, 0x19, 0xa2, 0x8a, 0xbb, 0xf4, 0x67, 0x4f, 0x3d, + 0xff, 0x8f, 0xc6, 0x38, 0xa4, 0x79, 0x91, 0x8a, 0xfb, 0xa6, 0xa1, 0x9c, + 0xa1, 0x7b, 0xfe, 0x57, 0xf2, 0x22, 0xe1, 0xb9, 0x0b, 0xfa, 0xf2, 0x77, + 0x8e, 0x33, 0xa4, 0xad, 0xe1, 0x47, 0x38, 0x9e, 0xf5, 0xad, 0xa4, 0x8d, + 0x48, 0x32, 0x36, 0xa1, 0x2b, 0x40, 0x36, 0xc7, 0xf7, 0x7f, 0xbc, 0xae, + 0xa0, 0xf9, 0x1c, 0xd8, +}; +static const struct drbg_kat_pr_false kat2618_t = { + 7, kat2618_entropyin, kat2618_nonce, kat2618_persstr, + kat2618_entropyinreseed, kat2618_addinreseed, kat2618_addin0, + kat2618_addin1, kat2618_retbits +}; +static const struct drbg_kat kat2618 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2618_t +}; + +static const unsigned char kat2619_entropyin[] = { + 0x65, 0xbb, 0xf5, 0x44, 0x09, 0x53, 0xce, 0x0a, 0x76, 0xb8, 0xdd, 0x2e, + 0x8c, 0xd4, 0x2d, 0x6d, 0x89, 0x71, 0x3d, 0x70, 0xaa, 0xa8, 0x06, 0xb6, + 0x16, 0x2e, 0x52, 0x4b, 0xfc, 0xbc, 0x5d, 0xfe, 0x36, 0x12, 0xfc, 0x75, + 0xdb, 0x35, 0x9e, 0x30, +}; +static const unsigned char kat2619_nonce[] = {0}; +static const unsigned char kat2619_persstr[] = { + 0x0d, 0xd3, 0x45, 0x1d, 0xbe, 0xa7, 0x4e, 0x0c, 0xbe, 0xbd, 0x2a, 0xac, + 0x22, 0xf5, 0x93, 0xa1, 0x62, 0x7e, 0x70, 0xd9, 0xd1, 0xda, 0x58, 0xc7, + 0x3d, 0x24, 0x28, 0x59, 0xa2, 0x40, 0xe2, 0x78, 0x20, 0x92, 0x3f, 0x33, + 0x27, 0x09, 0xf2, 0x74, +}; +static const unsigned char kat2619_entropyinreseed[] = { + 0xbc, 0x1d, 0x06, 0xc0, 0xb2, 0xa5, 0x36, 0x76, 0x96, 0x41, 0x6b, 0x45, + 0x6a, 0x64, 0xaf, 0x7b, 0xbf, 0xdc, 0x22, 0x32, 0x09, 0x00, 0x33, 0x81, + 0x65, 0x1c, 0x41, 0x98, 0xf8, 0x1f, 0xe1, 0x20, 0xe5, 0x70, 0x39, 0xbb, + 0x53, 0x86, 0x9a, 0x79, +}; +static const unsigned char kat2619_addinreseed[] = {0}; +static const unsigned char kat2619_addin0[] = {0}; +static const unsigned char kat2619_addin1[] = {0}; +static const unsigned char kat2619_retbits[] = { + 0x3a, 0x0d, 0x62, 0x0e, 0x3e, 0xc9, 0xef, 0x17, 0x9e, 0x87, 0x80, 0xae, + 0x42, 0x9c, 0xb2, 0x18, 0xab, 0xe7, 0x92, 0x3b, 0xf8, 0x08, 0xda, 0x98, + 0xe1, 0x72, 0xfe, 0xf7, 0x2f, 0x79, 0xf7, 0xcb, 0x0e, 0xc4, 0x7a, 0x61, + 0x62, 0x7a, 0x5b, 0x7d, 0x60, 0xa1, 0x29, 0xc8, 0x44, 0x92, 0xbe, 0xf4, + 0x33, 0xf1, 0xf4, 0x4c, 0x4e, 0xa3, 0xef, 0x4c, 0x53, 0xe0, 0x99, 0xed, + 0xa5, 0xb0, 0x66, 0x28, +}; +static const struct drbg_kat_pr_false kat2619_t = { + 8, kat2619_entropyin, kat2619_nonce, kat2619_persstr, + kat2619_entropyinreseed, kat2619_addinreseed, kat2619_addin0, + kat2619_addin1, kat2619_retbits +}; +static const struct drbg_kat kat2619 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2619_t +}; + +static const unsigned char kat2620_entropyin[] = { + 0x53, 0x42, 0x6e, 0xd4, 0x6b, 0x9b, 0x56, 0x8c, 0x69, 0x2f, 0x2c, 0xb3, + 0xff, 0xdf, 0x49, 0x19, 0xc8, 0x0e, 0x41, 0xbd, 0x15, 0xcb, 0x54, 0xa0, + 0x1f, 0x64, 0x0b, 0x0f, 0x0d, 0xa6, 0x4e, 0xea, 0x22, 0x03, 0x11, 0x2b, + 0xe9, 0xfe, 0x4d, 0xd0, +}; +static const unsigned char kat2620_nonce[] = {0}; +static const unsigned char kat2620_persstr[] = { + 0x86, 0xa2, 0x43, 0xea, 0xbc, 0x00, 0x39, 0xf6, 0xc4, 0x7d, 0x85, 0xed, + 0x07, 0xc6, 0x4b, 0xae, 0x29, 0xf9, 0x82, 0x1b, 0x86, 0x65, 0x4a, 0x5e, + 0x1d, 0xfe, 0x7b, 0xff, 0x2f, 0x92, 0xeb, 0x4a, 0x8f, 0x99, 0x45, 0xbf, + 0x64, 0xbd, 0xba, 0x29, +}; +static const unsigned char kat2620_entropyinreseed[] = { + 0x5c, 0x8b, 0xd6, 0x15, 0xdc, 0xa2, 0xe8, 0x24, 0x9c, 0x82, 0x71, 0xcc, + 0x02, 0x4f, 0x91, 0xb0, 0x69, 0x41, 0xe3, 0xcc, 0x89, 0x71, 0x5e, 0x7d, + 0xa3, 0xb9, 0x3f, 0x70, 0xbf, 0xb8, 0xac, 0xbf, 0x6c, 0xca, 0x92, 0x43, + 0x42, 0xc9, 0x02, 0xe3, +}; +static const unsigned char kat2620_addinreseed[] = {0}; +static const unsigned char kat2620_addin0[] = {0}; +static const unsigned char kat2620_addin1[] = {0}; +static const unsigned char kat2620_retbits[] = { + 0xf8, 0xef, 0x77, 0x4f, 0xbe, 0xc5, 0x05, 0x1d, 0x3f, 0x6b, 0xf9, 0xcb, + 0xa3, 0xdf, 0x3c, 0xb5, 0x45, 0x74, 0x2a, 0xbe, 0xc4, 0xa4, 0xce, 0xeb, + 0xcd, 0x94, 0x60, 0xd6, 0x4b, 0x6b, 0xfc, 0x19, 0xa8, 0x4a, 0x07, 0x0a, + 0x6b, 0x8e, 0x7b, 0x56, 0x3e, 0x88, 0x2b, 0x1d, 0xa0, 0x1a, 0xe5, 0x0b, + 0xda, 0xa0, 0x13, 0xdc, 0xd6, 0xbb, 0x2a, 0x25, 0xa3, 0x83, 0xac, 0xb3, + 0xeb, 0x23, 0xbd, 0xea, +}; +static const struct drbg_kat_pr_false kat2620_t = { + 9, kat2620_entropyin, kat2620_nonce, kat2620_persstr, + kat2620_entropyinreseed, kat2620_addinreseed, kat2620_addin0, + kat2620_addin1, kat2620_retbits +}; +static const struct drbg_kat kat2620 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2620_t +}; + +static const unsigned char kat2621_entropyin[] = { + 0x2e, 0x04, 0x57, 0x30, 0xc9, 0x18, 0x78, 0x2f, 0xb7, 0x48, 0xdc, 0x80, + 0xba, 0xa7, 0x73, 0x40, 0x7c, 0xab, 0xec, 0x74, 0xd7, 0x8c, 0x30, 0xb3, + 0x02, 0x6f, 0x46, 0x82, 0xd6, 0xa9, 0xd1, 0x27, 0x16, 0x8e, 0x77, 0x91, + 0x42, 0xf9, 0xc6, 0xd9, +}; +static const unsigned char kat2621_nonce[] = {0}; +static const unsigned char kat2621_persstr[] = { + 0xf3, 0x07, 0x14, 0x75, 0x9a, 0x27, 0x4b, 0xd7, 0x51, 0x4c, 0xb1, 0x91, + 0x42, 0xfa, 0x42, 0x07, 0x6e, 0x25, 0x19, 0x7f, 0x68, 0x45, 0xb0, 0xb9, + 0xa9, 0x96, 0x15, 0x0d, 0xff, 0x24, 0x9e, 0x79, 0x0c, 0xa2, 0x7a, 0x9e, + 0x8c, 0x46, 0xf4, 0x0e, +}; +static const unsigned char kat2621_entropyinreseed[] = { + 0xa3, 0x61, 0xa7, 0x34, 0x46, 0xe8, 0xf9, 0x53, 0x91, 0x0e, 0xb6, 0x81, + 0x0a, 0x13, 0x0d, 0x9f, 0x9b, 0x2b, 0xf4, 0x63, 0x1c, 0x53, 0x9c, 0x5c, + 0x0c, 0xdb, 0xf1, 0xf2, 0x47, 0xbb, 0x85, 0xda, 0x23, 0x09, 0x9e, 0x04, + 0x4d, 0x11, 0x91, 0x36, +}; +static const unsigned char kat2621_addinreseed[] = {0}; +static const unsigned char kat2621_addin0[] = {0}; +static const unsigned char kat2621_addin1[] = {0}; +static const unsigned char kat2621_retbits[] = { + 0x6b, 0x94, 0xd7, 0xe3, 0xb4, 0x29, 0x99, 0xa2, 0x5b, 0xe4, 0xe4, 0x9e, + 0x1e, 0x6b, 0xc3, 0xaf, 0x0d, 0xea, 0xdb, 0x9d, 0xbd, 0x05, 0xd0, 0xcb, + 0x3b, 0xae, 0x65, 0x28, 0xf9, 0x9d, 0x79, 0x56, 0xd0, 0x01, 0x8f, 0x98, + 0xf4, 0x42, 0xb9, 0xe1, 0xcd, 0x5c, 0xcc, 0xd7, 0x80, 0x54, 0x15, 0x1e, + 0x58, 0xef, 0xe6, 0xe4, 0xc9, 0x7b, 0xe9, 0x47, 0xbe, 0x08, 0x11, 0xcf, + 0xd9, 0xde, 0x08, 0x94, +}; +static const struct drbg_kat_pr_false kat2621_t = { + 10, kat2621_entropyin, kat2621_nonce, kat2621_persstr, + kat2621_entropyinreseed, kat2621_addinreseed, kat2621_addin0, + kat2621_addin1, kat2621_retbits +}; +static const struct drbg_kat kat2621 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2621_t +}; + +static const unsigned char kat2622_entropyin[] = { + 0x63, 0x32, 0x56, 0x51, 0x04, 0x4c, 0xb9, 0xb4, 0x28, 0x83, 0x6e, 0x03, + 0x4f, 0x3e, 0x6a, 0x27, 0x14, 0x4e, 0x35, 0xc1, 0x84, 0x6a, 0xfb, 0xbd, + 0x49, 0xbd, 0xa1, 0xfb, 0x42, 0xf3, 0xc4, 0xe5, 0x53, 0x37, 0x28, 0x54, + 0x98, 0xb4, 0x47, 0x80, +}; +static const unsigned char kat2622_nonce[] = {0}; +static const unsigned char kat2622_persstr[] = { + 0xed, 0x9d, 0xaf, 0x17, 0xf4, 0x85, 0xf6, 0xd5, 0x6a, 0xab, 0x27, 0xe9, + 0x9a, 0xf0, 0xf6, 0xba, 0xc4, 0x5a, 0xc4, 0xa4, 0x23, 0x4a, 0xd7, 0x08, + 0xd3, 0xd3, 0xe3, 0xdb, 0x48, 0x90, 0xf6, 0xac, 0xec, 0x7f, 0x3f, 0xc1, + 0x5e, 0x06, 0xb5, 0x83, +}; +static const unsigned char kat2622_entropyinreseed[] = { + 0x87, 0xb8, 0x0a, 0x16, 0xec, 0x61, 0x93, 0x4f, 0x60, 0xa5, 0xc7, 0xa9, + 0x37, 0xf2, 0xf7, 0x63, 0x6f, 0xde, 0x1e, 0x06, 0xbf, 0x1b, 0x89, 0xe2, + 0x39, 0x76, 0xa6, 0x7d, 0xae, 0x4d, 0x3e, 0x31, 0xa2, 0xda, 0x6d, 0xb4, + 0x4d, 0x50, 0x20, 0x66, +}; +static const unsigned char kat2622_addinreseed[] = {0}; +static const unsigned char kat2622_addin0[] = {0}; +static const unsigned char kat2622_addin1[] = {0}; +static const unsigned char kat2622_retbits[] = { + 0x73, 0xd2, 0xf3, 0x53, 0x75, 0xf1, 0x72, 0xd8, 0xf9, 0x87, 0xb8, 0xa2, + 0x6e, 0xde, 0x87, 0x00, 0x6f, 0xd5, 0x18, 0x72, 0xf6, 0xb5, 0xd1, 0xe4, + 0xae, 0x1e, 0x9b, 0xf2, 0xee, 0xdf, 0x75, 0x6d, 0x59, 0x7e, 0xfc, 0x1f, + 0x93, 0x2f, 0x8c, 0xdc, 0x4c, 0x1a, 0x5d, 0xf6, 0xc6, 0x7e, 0x66, 0xaf, + 0x1b, 0x72, 0x5c, 0x0b, 0x63, 0x8d, 0x91, 0xe7, 0x17, 0x29, 0xb1, 0xca, + 0xac, 0x47, 0x3b, 0x43, +}; +static const struct drbg_kat_pr_false kat2622_t = { + 11, kat2622_entropyin, kat2622_nonce, kat2622_persstr, + kat2622_entropyinreseed, kat2622_addinreseed, kat2622_addin0, + kat2622_addin1, kat2622_retbits +}; +static const struct drbg_kat kat2622 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2622_t +}; + +static const unsigned char kat2623_entropyin[] = { + 0x7d, 0x39, 0x0f, 0xbf, 0xa7, 0xd5, 0x25, 0xc8, 0x4a, 0xb7, 0x41, 0xc3, + 0x9c, 0x31, 0xbf, 0xd6, 0xd1, 0x05, 0x90, 0x95, 0x1f, 0xbb, 0x8b, 0xba, + 0xb8, 0x5e, 0x93, 0x9b, 0x3d, 0x65, 0x55, 0x27, 0x76, 0x5b, 0x76, 0x6b, + 0x0f, 0x19, 0x3a, 0x7f, +}; +static const unsigned char kat2623_nonce[] = {0}; +static const unsigned char kat2623_persstr[] = { + 0xb0, 0x72, 0x1b, 0x93, 0x5d, 0x8c, 0xc6, 0x0e, 0xb1, 0xdf, 0x04, 0x1c, + 0x8a, 0x08, 0x49, 0xb0, 0xe1, 0xf2, 0xf1, 0x18, 0x0a, 0xee, 0xbc, 0x7b, + 0x03, 0x5c, 0x18, 0x0e, 0x9e, 0x02, 0xc4, 0x44, 0x1b, 0x7e, 0xaa, 0x0d, + 0xb9, 0x00, 0x08, 0x3e, +}; +static const unsigned char kat2623_entropyinreseed[] = { + 0x0b, 0x29, 0x49, 0xd4, 0x08, 0x5f, 0x74, 0x80, 0x02, 0xa5, 0x1f, 0x2f, + 0xed, 0x76, 0x7f, 0x76, 0xfd, 0x20, 0xf2, 0xae, 0x11, 0x99, 0xfc, 0xe6, + 0x2b, 0x0f, 0xce, 0x5a, 0x88, 0xbd, 0x9b, 0x7e, 0xc4, 0xf1, 0xd5, 0x53, + 0xd0, 0x9a, 0x48, 0x58, +}; +static const unsigned char kat2623_addinreseed[] = {0}; +static const unsigned char kat2623_addin0[] = {0}; +static const unsigned char kat2623_addin1[] = {0}; +static const unsigned char kat2623_retbits[] = { + 0xf4, 0xb5, 0xb7, 0x6b, 0xbb, 0xa4, 0x96, 0x24, 0x6a, 0x6a, 0xb0, 0xa0, + 0xd6, 0x7b, 0x6f, 0x63, 0xc4, 0x75, 0xd7, 0x2c, 0xf6, 0x02, 0x87, 0x61, + 0xf2, 0x56, 0xc2, 0xfb, 0xac, 0x40, 0x5f, 0xee, 0x4a, 0xcb, 0x22, 0x6b, + 0x6d, 0x6d, 0x6d, 0x81, 0x65, 0x00, 0xed, 0x37, 0x3e, 0xa3, 0x55, 0x60, + 0xe7, 0x32, 0x42, 0x21, 0x73, 0x3c, 0x4a, 0x05, 0xb2, 0x87, 0x1f, 0x10, + 0xfc, 0xf5, 0x04, 0xef, +}; +static const struct drbg_kat_pr_false kat2623_t = { + 12, kat2623_entropyin, kat2623_nonce, kat2623_persstr, + kat2623_entropyinreseed, kat2623_addinreseed, kat2623_addin0, + kat2623_addin1, kat2623_retbits +}; +static const struct drbg_kat kat2623 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2623_t +}; + +static const unsigned char kat2624_entropyin[] = { + 0xea, 0x33, 0x1f, 0xa8, 0x99, 0x0c, 0xdc, 0xdb, 0x98, 0xab, 0x3e, 0x5b, + 0xde, 0xdf, 0xe6, 0x9b, 0x97, 0x76, 0x78, 0x4d, 0xef, 0x61, 0x4b, 0x55, + 0x62, 0xf4, 0x3a, 0x4a, 0x5c, 0xfe, 0xdb, 0xd3, 0x15, 0x7e, 0xa0, 0xbd, + 0x11, 0x94, 0xa9, 0x9e, +}; +static const unsigned char kat2624_nonce[] = {0}; +static const unsigned char kat2624_persstr[] = { + 0xc0, 0x16, 0xb0, 0xd6, 0x5d, 0x68, 0xcd, 0x0a, 0x81, 0xee, 0xe6, 0x56, + 0x2e, 0x20, 0xb9, 0xf5, 0x9e, 0xf6, 0x84, 0x27, 0x67, 0x9b, 0x72, 0xae, + 0x46, 0x1d, 0x29, 0x6f, 0xcd, 0xac, 0x55, 0x10, 0x47, 0x1d, 0xfb, 0xaf, + 0x0d, 0x43, 0xe3, 0xc7, +}; +static const unsigned char kat2624_entropyinreseed[] = { + 0x8f, 0xfe, 0x2e, 0x9f, 0x2b, 0x23, 0xa0, 0x97, 0x49, 0xfc, 0x29, 0x07, + 0x62, 0x63, 0x75, 0x65, 0x9a, 0xd0, 0x04, 0x80, 0xa0, 0x02, 0x7f, 0x7d, + 0x6b, 0xaf, 0x5a, 0x75, 0x0d, 0xeb, 0x8a, 0xed, 0x3d, 0x19, 0x28, 0xf6, + 0xa5, 0x33, 0x41, 0xd8, +}; +static const unsigned char kat2624_addinreseed[] = {0}; +static const unsigned char kat2624_addin0[] = {0}; +static const unsigned char kat2624_addin1[] = {0}; +static const unsigned char kat2624_retbits[] = { + 0x38, 0xed, 0xd9, 0xf3, 0xa4, 0x21, 0x92, 0x43, 0x2a, 0xc7, 0x04, 0xf4, + 0x84, 0xf3, 0x32, 0x71, 0x0a, 0x48, 0xac, 0x5c, 0x65, 0xa2, 0xe9, 0x9d, + 0xf2, 0x80, 0x3f, 0xbd, 0x81, 0xc9, 0xa5, 0x78, 0xbd, 0xb7, 0x9f, 0xf9, + 0x41, 0x19, 0x72, 0x9e, 0x6a, 0xe1, 0x0f, 0x3c, 0x36, 0xc8, 0x4f, 0x3c, + 0x76, 0xaa, 0xbe, 0x37, 0xf4, 0x75, 0x12, 0xdc, 0x8d, 0x03, 0xc0, 0x24, + 0xd7, 0x47, 0x7b, 0xf8, +}; +static const struct drbg_kat_pr_false kat2624_t = { + 13, kat2624_entropyin, kat2624_nonce, kat2624_persstr, + kat2624_entropyinreseed, kat2624_addinreseed, kat2624_addin0, + kat2624_addin1, kat2624_retbits +}; +static const struct drbg_kat kat2624 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2624_t +}; + +static const unsigned char kat2625_entropyin[] = { + 0xd1, 0x49, 0x7e, 0x39, 0x6a, 0x2e, 0x1b, 0x48, 0x22, 0x46, 0xca, 0x8a, + 0xa7, 0x78, 0xcb, 0xc9, 0x8a, 0x20, 0x08, 0x62, 0x7f, 0xfd, 0x01, 0x4c, + 0x10, 0x77, 0x2d, 0xf3, 0x8f, 0x9a, 0xc3, 0x89, 0x08, 0x2e, 0x04, 0x27, + 0x77, 0x9e, 0x1f, 0x6b, +}; +static const unsigned char kat2625_nonce[] = {0}; +static const unsigned char kat2625_persstr[] = { + 0xa4, 0x77, 0xa4, 0x2a, 0x22, 0x1c, 0xd2, 0xcb, 0xcf, 0x79, 0x0c, 0xa7, + 0x0f, 0xb6, 0xa5, 0xf1, 0x8a, 0x91, 0xc2, 0x97, 0x61, 0x75, 0x61, 0xac, + 0xd1, 0xbc, 0x50, 0x90, 0x57, 0x35, 0x40, 0xb3, 0xfa, 0x41, 0x0f, 0xf5, + 0xab, 0x41, 0xae, 0xc7, +}; +static const unsigned char kat2625_entropyinreseed[] = { + 0x10, 0x8f, 0x6f, 0x37, 0x62, 0x1a, 0xce, 0x41, 0x8e, 0x21, 0x55, 0xf7, + 0x0d, 0xda, 0x4c, 0x2b, 0x5d, 0x6a, 0xaf, 0xa9, 0x26, 0x9f, 0x6a, 0xa9, + 0x8a, 0x54, 0x55, 0xe3, 0xa1, 0xd1, 0x88, 0xe6, 0x4e, 0xc0, 0x22, 0xc4, + 0x54, 0xc6, 0x86, 0x20, +}; +static const unsigned char kat2625_addinreseed[] = {0}; +static const unsigned char kat2625_addin0[] = {0}; +static const unsigned char kat2625_addin1[] = {0}; +static const unsigned char kat2625_retbits[] = { + 0x05, 0xe4, 0x89, 0x64, 0x94, 0xb0, 0x28, 0x61, 0xa5, 0x13, 0x57, 0x46, + 0x3f, 0x70, 0x5e, 0x81, 0x2a, 0x14, 0xf5, 0x7e, 0xb8, 0x63, 0x0c, 0xf1, + 0xfb, 0x02, 0x5c, 0x42, 0xec, 0x9d, 0xd5, 0x4d, 0xe3, 0xf5, 0xfa, 0x1b, + 0x38, 0xd1, 0xf3, 0xd8, 0x90, 0xaa, 0xd7, 0x4d, 0x5a, 0xd1, 0x68, 0x3d, + 0x0b, 0x59, 0x81, 0xda, 0x4d, 0x3a, 0x93, 0x9d, 0x05, 0xfd, 0x54, 0x35, + 0xb1, 0xd5, 0x0f, 0x38, +}; +static const struct drbg_kat_pr_false kat2625_t = { + 14, kat2625_entropyin, kat2625_nonce, kat2625_persstr, + kat2625_entropyinreseed, kat2625_addinreseed, kat2625_addin0, + kat2625_addin1, kat2625_retbits +}; +static const struct drbg_kat kat2625 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat2625_t +}; + +static const unsigned char kat2626_entropyin[] = { + 0xde, 0xc0, 0x8a, 0x9e, 0xaf, 0xc4, 0xa8, 0x38, 0x11, 0x25, 0x54, 0x73, + 0x0e, 0x4f, 0xc4, 0xc6, 0x71, 0x98, 0x02, 0xaa, 0x3c, 0x42, 0xf9, 0x83, + 0x56, 0x2d, 0x07, 0x91, 0x5f, 0xad, 0x7e, 0x31, 0x91, 0xe6, 0x45, 0xab, + 0x5a, 0x61, 0x08, 0x45, +}; +static const unsigned char kat2626_nonce[] = {0}; +static const unsigned char kat2626_persstr[] = { + 0x56, 0x95, 0x8b, 0xd4, 0x8e, 0xd6, 0xbb, 0x27, 0x08, 0xe5, 0x77, 0xfd, + 0xdd, 0x00, 0x9e, 0x83, 0x71, 0xad, 0x33, 0x4b, 0x67, 0x4f, 0x8b, 0x85, + 0x9e, 0x7a, 0x23, 0xbe, 0xa4, 0x6a, 0xea, 0x53, 0x90, 0xd9, 0x2a, 0xe0, + 0x80, 0x9a, 0x29, 0x44, +}; +static const unsigned char kat2626_entropyinreseed[] = { + 0x96, 0x8d, 0x72, 0xe4, 0x2d, 0x8e, 0x95, 0xf1, 0x10, 0x65, 0x74, 0xc5, + 0xdd, 0x03, 0x52, 0x8d, 0x9e, 0x89, 0xb8, 0xee, 0x7d, 0x22, 0xbd, 0xa6, + 0x21, 0xd0, 0x6d, 0x05, 0xfb, 0x2d, 0x67, 0xd9, 0x94, 0x52, 0x34, 0x38, + 0x1f, 0xde, 0x49, 0xee, +}; +static const unsigned char kat2626_addinreseed[] = { + 0xac, 0xa4, 0x7c, 0x2b, 0x4f, 0x33, 0xfd, 0xfc, 0x24, 0xcf, 0xc5, 0x4f, + 0xeb, 0x9c, 0xd2, 0xb4, 0x7e, 0x77, 0x6f, 0x59, 0xaa, 0x9f, 0xe1, 0xa0, + 0x24, 0x67, 0xa4, 0x58, 0xab, 0xd2, 0x1d, 0x34, 0x0b, 0x3c, 0xf4, 0xbd, + 0xf8, 0xb4, 0x6b, 0x66, +}; +static const unsigned char kat2626_addin0[] = { + 0x98, 0x79, 0x1e, 0x95, 0x24, 0x9c, 0x6a, 0x06, 0xbe, 0x4e, 0xf0, 0xae, + 0xbf, 0xb8, 0xaf, 0x3f, 0x0f, 0xce, 0x39, 0xeb, 0x9d, 0x95, 0xc4, 0xec, + 0x53, 0x6c, 0xe7, 0x86, 0x7c, 0xa6, 0xfb, 0x26, 0xec, 0x28, 0x86, 0xa5, + 0x7a, 0xed, 0x80, 0x85, +}; +static const unsigned char kat2626_addin1[] = { + 0xa7, 0xc2, 0x76, 0xe8, 0x4e, 0x52, 0x91, 0xe9, 0x60, 0x3d, 0x2c, 0x7e, + 0x55, 0x2a, 0x2c, 0xe2, 0x9a, 0x74, 0xb9, 0x05, 0x46, 0x05, 0x70, 0x4a, + 0xe5, 0x87, 0x3b, 0x0d, 0x09, 0x31, 0xe2, 0x76, 0x11, 0xe3, 0xe7, 0x92, + 0x62, 0xed, 0xcb, 0x89, +}; +static const unsigned char kat2626_retbits[] = { + 0x34, 0xac, 0x66, 0xe2, 0x36, 0xda, 0x0f, 0xac, 0x76, 0x53, 0xf0, 0xe0, + 0x1d, 0x5e, 0xa5, 0x35, 0xb8, 0xb1, 0xf5, 0xf5, 0xb0, 0x92, 0xae, 0x27, + 0xfa, 0xa8, 0xa3, 0xb3, 0x33, 0xc8, 0xe5, 0x86, 0x6e, 0xc3, 0xb3, 0x1c, + 0xef, 0x92, 0x90, 0xab, 0x52, 0xcc, 0xfe, 0xe6, 0x30, 0x09, 0x4d, 0xaf, + 0x23, 0xf8, 0x24, 0x7d, 0x98, 0xba, 0x20, 0x21, 0x7d, 0x74, 0x70, 0xde, + 0x77, 0x5f, 0x95, 0x41, +}; +static const struct drbg_kat_pr_false kat2626_t = { + 0, kat2626_entropyin, kat2626_nonce, kat2626_persstr, + kat2626_entropyinreseed, kat2626_addinreseed, kat2626_addin0, + kat2626_addin1, kat2626_retbits +}; +static const struct drbg_kat kat2626 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2626_t +}; + +static const unsigned char kat2627_entropyin[] = { + 0xfd, 0x0b, 0xe4, 0xd7, 0xb3, 0xa7, 0x53, 0x1d, 0x01, 0xb7, 0x86, 0xf3, + 0x49, 0xef, 0x93, 0x87, 0xb9, 0x84, 0xf3, 0x8e, 0xb5, 0x32, 0x6a, 0x1e, + 0x09, 0xc3, 0x7e, 0x95, 0x5a, 0x3b, 0x88, 0x0f, 0xff, 0x1d, 0xe8, 0xc3, + 0xd1, 0x13, 0xb8, 0xc2, +}; +static const unsigned char kat2627_nonce[] = {0}; +static const unsigned char kat2627_persstr[] = { + 0x1d, 0xde, 0xad, 0x5b, 0x3a, 0x39, 0xdf, 0x02, 0xc6, 0x0d, 0x1e, 0x9f, + 0x93, 0xa7, 0xe2, 0x4b, 0x75, 0x13, 0xec, 0x4e, 0x47, 0x0d, 0xe5, 0x68, + 0x80, 0xf6, 0xf7, 0xab, 0xbc, 0x96, 0xea, 0x7e, 0x99, 0x67, 0x96, 0x01, + 0x76, 0x23, 0x42, 0x37, +}; +static const unsigned char kat2627_entropyinreseed[] = { + 0xac, 0x53, 0xb1, 0x9d, 0xff, 0xbf, 0xd0, 0xef, 0x02, 0x45, 0x5c, 0xd9, + 0xbb, 0x19, 0x8e, 0xad, 0x37, 0x8c, 0x02, 0x56, 0xe7, 0xcb, 0xe4, 0x07, + 0x82, 0xe0, 0x1a, 0xff, 0x52, 0x90, 0xf5, 0xd0, 0x40, 0xfe, 0xa2, 0x36, + 0x7c, 0x58, 0xfb, 0x34, +}; +static const unsigned char kat2627_addinreseed[] = { + 0x89, 0x9f, 0xfc, 0x01, 0x0b, 0xbd, 0x6c, 0x1e, 0x0e, 0x07, 0x0b, 0x81, + 0xc9, 0xe9, 0x62, 0x60, 0x28, 0x20, 0x2a, 0xb2, 0xb9, 0x83, 0x67, 0x0f, + 0x31, 0xff, 0x0f, 0x79, 0x75, 0xc6, 0x3d, 0x11, 0x34, 0xf6, 0x9a, 0x49, + 0x86, 0xea, 0xbc, 0x99, +}; +static const unsigned char kat2627_addin0[] = { + 0x1a, 0x92, 0x00, 0x3e, 0x60, 0xf5, 0xd5, 0xf7, 0x22, 0x79, 0xf0, 0x23, + 0xe7, 0x2e, 0x5d, 0xc5, 0xf9, 0x5b, 0x2b, 0xc7, 0x54, 0xbf, 0x88, 0x4a, + 0xf8, 0xd0, 0x82, 0xd0, 0x1d, 0xc3, 0x97, 0xc4, 0xc5, 0xcd, 0x96, 0x4b, + 0x31, 0x76, 0xc5, 0x1a, +}; +static const unsigned char kat2627_addin1[] = { + 0x9f, 0xf2, 0x67, 0xa1, 0xc9, 0x6c, 0xe4, 0x3a, 0x7c, 0x8a, 0xf9, 0xe9, + 0xdb, 0xd3, 0xb8, 0x76, 0x64, 0xbb, 0x57, 0xd2, 0x4e, 0x4d, 0x71, 0xff, + 0x4b, 0x43, 0x61, 0xda, 0x9c, 0x80, 0x84, 0x85, 0xe1, 0x78, 0x0f, 0xb2, + 0x1b, 0x42, 0x52, 0x04, +}; +static const unsigned char kat2627_retbits[] = { + 0x50, 0x3e, 0x4d, 0x5e, 0xbf, 0xa7, 0x67, 0x1c, 0x3f, 0xf3, 0x70, 0x97, + 0x58, 0x88, 0xab, 0x38, 0xcb, 0xb5, 0x8a, 0xb2, 0xb7, 0x1f, 0x20, 0xb3, + 0xa6, 0xf2, 0x84, 0x83, 0x1a, 0x84, 0xe0, 0xe8, 0xdf, 0xc3, 0x9f, 0x8f, + 0xeb, 0x11, 0x4b, 0xfc, 0x83, 0xa5, 0xf0, 0x65, 0xc4, 0xbb, 0xe5, 0xaf, + 0x8b, 0x4a, 0x7c, 0x5b, 0x4c, 0x13, 0x50, 0xbe, 0x9c, 0x3c, 0xc9, 0xb3, + 0x4e, 0xca, 0x4a, 0x7e, +}; +static const struct drbg_kat_pr_false kat2627_t = { + 1, kat2627_entropyin, kat2627_nonce, kat2627_persstr, + kat2627_entropyinreseed, kat2627_addinreseed, kat2627_addin0, + kat2627_addin1, kat2627_retbits +}; +static const struct drbg_kat kat2627 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2627_t +}; + +static const unsigned char kat2628_entropyin[] = { + 0xae, 0xdd, 0xee, 0x12, 0xc0, 0x1a, 0x13, 0x43, 0x42, 0x42, 0xd7, 0x37, + 0x8c, 0x8b, 0x26, 0xe8, 0x3e, 0x67, 0xca, 0x4c, 0xa9, 0x24, 0xe2, 0xba, + 0x47, 0x26, 0x32, 0x94, 0x42, 0x7f, 0x16, 0x04, 0x80, 0x20, 0x4d, 0xa3, + 0x3a, 0xd8, 0x35, 0x4c, +}; +static const unsigned char kat2628_nonce[] = {0}; +static const unsigned char kat2628_persstr[] = { + 0x39, 0x41, 0x12, 0x7a, 0x2d, 0x8b, 0x43, 0xe9, 0xc4, 0x29, 0x9b, 0xbb, + 0xdb, 0x90, 0x17, 0x2e, 0x93, 0x6e, 0x0e, 0x7a, 0x18, 0x5c, 0xca, 0xdf, + 0x1b, 0xc5, 0x0a, 0x34, 0xd2, 0xe2, 0xe0, 0x14, 0xcd, 0x05, 0x15, 0x2a, + 0xb2, 0xe7, 0x09, 0x54, +}; +static const unsigned char kat2628_entropyinreseed[] = { + 0x5f, 0x1d, 0x6f, 0xf5, 0x92, 0x94, 0xda, 0x89, 0x4d, 0x8d, 0x21, 0x76, + 0xd4, 0x19, 0x8d, 0x6c, 0x25, 0xa7, 0x22, 0xfc, 0x57, 0x1a, 0x6f, 0x63, + 0x38, 0x65, 0x48, 0x98, 0xed, 0x41, 0x9a, 0xfe, 0xb9, 0x5d, 0x48, 0xff, + 0x82, 0x26, 0x40, 0x89, +}; +static const unsigned char kat2628_addinreseed[] = { + 0x05, 0x8e, 0xff, 0xdc, 0xd3, 0xb8, 0xab, 0x7c, 0x75, 0xe1, 0x38, 0xa2, + 0xf2, 0x7d, 0x2b, 0x7a, 0x61, 0x65, 0x14, 0x4d, 0xa9, 0x65, 0xc4, 0xaa, + 0x80, 0x50, 0x4d, 0x48, 0xa2, 0xee, 0x83, 0x5b, 0xc5, 0x3f, 0x5a, 0xf3, + 0x72, 0x27, 0xd9, 0x5b, +}; +static const unsigned char kat2628_addin0[] = { + 0x5b, 0x20, 0x86, 0xec, 0x74, 0xff, 0x24, 0x8d, 0xf7, 0xe1, 0x72, 0x6b, + 0x93, 0xcc, 0x91, 0x5a, 0xd1, 0x27, 0x6a, 0x13, 0x87, 0xef, 0xeb, 0x58, + 0x5f, 0xe6, 0x15, 0x7b, 0xc8, 0x20, 0xdd, 0x93, 0xf5, 0x07, 0x69, 0x4a, + 0xa2, 0xab, 0xfd, 0x53, +}; +static const unsigned char kat2628_addin1[] = { + 0x1f, 0x2b, 0x47, 0x99, 0xf4, 0x93, 0x23, 0xae, 0xf8, 0x96, 0x49, 0xd6, + 0x2f, 0x22, 0xa3, 0x93, 0x74, 0x52, 0xee, 0xa1, 0x0c, 0x1d, 0x29, 0x65, + 0x49, 0xa2, 0x05, 0x62, 0xd5, 0x22, 0xf1, 0xab, 0x91, 0xcf, 0x8a, 0x41, + 0x81, 0xea, 0x00, 0x8e, +}; +static const unsigned char kat2628_retbits[] = { + 0x11, 0xf2, 0xcf, 0xdb, 0x29, 0x54, 0x9a, 0x0f, 0xa2, 0x69, 0x54, 0xbf, + 0xf5, 0xc3, 0x6a, 0x4d, 0x50, 0xba, 0x39, 0xec, 0x1d, 0xcc, 0x85, 0x43, + 0xb0, 0x9c, 0x18, 0x0b, 0x16, 0x8c, 0x85, 0xa4, 0xb4, 0x17, 0x72, 0x5b, + 0x54, 0x13, 0x2c, 0xda, 0xda, 0xe8, 0x8d, 0x3c, 0xdf, 0xf8, 0x41, 0xda, + 0x81, 0x9b, 0x11, 0x7c, 0x03, 0x6b, 0xdb, 0xb7, 0xed, 0x59, 0x5f, 0xe7, + 0x9e, 0x48, 0xd9, 0xd2, +}; +static const struct drbg_kat_pr_false kat2628_t = { + 2, kat2628_entropyin, kat2628_nonce, kat2628_persstr, + kat2628_entropyinreseed, kat2628_addinreseed, kat2628_addin0, + kat2628_addin1, kat2628_retbits +}; +static const struct drbg_kat kat2628 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2628_t +}; + +static const unsigned char kat2629_entropyin[] = { + 0xd0, 0x69, 0xdf, 0x59, 0x75, 0xaa, 0x84, 0xa8, 0x6a, 0xbf, 0x8e, 0xf3, + 0x3e, 0xba, 0xc6, 0x12, 0x82, 0xc0, 0xb5, 0xd7, 0xf4, 0xa9, 0x4e, 0xb1, + 0x2e, 0x9e, 0x87, 0x15, 0x56, 0x16, 0x55, 0x54, 0xfc, 0x1b, 0x75, 0x2b, + 0x17, 0xd6, 0xef, 0x6e, +}; +static const unsigned char kat2629_nonce[] = {0}; +static const unsigned char kat2629_persstr[] = { + 0x63, 0x21, 0x4e, 0xa6, 0x27, 0xd8, 0xf6, 0xcb, 0xb6, 0x85, 0x37, 0x00, + 0xb9, 0xad, 0x43, 0xde, 0x72, 0x48, 0xc1, 0x68, 0xe1, 0x5e, 0xd0, 0x84, + 0x76, 0x4f, 0x4d, 0x24, 0x4b, 0xf5, 0x1f, 0x08, 0x61, 0xe9, 0x43, 0x5a, + 0x17, 0x40, 0x6c, 0x96, +}; +static const unsigned char kat2629_entropyinreseed[] = { + 0x09, 0xf9, 0x8d, 0x5f, 0xbf, 0xda, 0x0c, 0xeb, 0x76, 0xf7, 0x84, 0xa5, + 0x4c, 0x84, 0x99, 0xeb, 0x79, 0x3a, 0xba, 0x71, 0x80, 0x6b, 0x31, 0x21, + 0x6e, 0x77, 0xeb, 0x25, 0x20, 0xe7, 0x97, 0xc9, 0x31, 0xac, 0xf0, 0x59, + 0x18, 0x0e, 0x1e, 0xc8, +}; +static const unsigned char kat2629_addinreseed[] = { + 0x0f, 0x99, 0x14, 0x99, 0x0f, 0xba, 0x6d, 0x69, 0x10, 0xca, 0x7c, 0xa9, + 0xd0, 0xe5, 0xc2, 0xca, 0x1e, 0x3c, 0x62, 0xf3, 0x9c, 0x5d, 0x71, 0xfe, + 0xd4, 0x6d, 0x69, 0x9f, 0x40, 0x8b, 0x1c, 0x2c, 0x1e, 0xfd, 0x45, 0x7d, + 0xc3, 0xe0, 0xd3, 0x8d, +}; +static const unsigned char kat2629_addin0[] = { + 0x20, 0x48, 0xce, 0x70, 0xca, 0x50, 0x3c, 0x1c, 0x97, 0x75, 0x60, 0x4b, + 0x84, 0x5f, 0xf2, 0x2f, 0x91, 0xb9, 0xa8, 0x37, 0x6c, 0xd1, 0xc0, 0x14, + 0x68, 0xc6, 0xb1, 0x1e, 0x47, 0xfa, 0x62, 0x20, 0x1c, 0xab, 0x40, 0xa5, + 0x51, 0xf3, 0x9e, 0x0e, +}; +static const unsigned char kat2629_addin1[] = { + 0x96, 0xca, 0xc7, 0x30, 0x37, 0x7d, 0xc4, 0x5f, 0x55, 0x16, 0xe8, 0x55, + 0x31, 0x02, 0x30, 0xee, 0xf1, 0xd5, 0xc1, 0x56, 0x92, 0xbb, 0x9f, 0xe5, + 0x56, 0xd4, 0xdb, 0x53, 0xcb, 0xce, 0xa8, 0x10, 0xeb, 0xe2, 0xec, 0xfd, + 0x7d, 0x64, 0x8b, 0x1c, +}; +static const unsigned char kat2629_retbits[] = { + 0x71, 0x20, 0x53, 0xf9, 0x02, 0x71, 0x10, 0xa9, 0xb4, 0x8c, 0x68, 0x5a, + 0x60, 0x8c, 0x16, 0x91, 0xe1, 0x24, 0x65, 0x6d, 0xe8, 0xb9, 0xcf, 0xe9, + 0x45, 0x46, 0x87, 0xc3, 0x90, 0x43, 0x2d, 0x3c, 0x81, 0xcb, 0xba, 0xdd, + 0x9b, 0x66, 0xa5, 0xdc, 0xd2, 0x22, 0x22, 0x5c, 0x65, 0xc8, 0x19, 0x66, + 0x7d, 0xba, 0xf3, 0xdf, 0xfa, 0x9f, 0xca, 0x2a, 0x09, 0x8c, 0xa7, 0x6c, + 0xac, 0x82, 0x35, 0x4e, +}; +static const struct drbg_kat_pr_false kat2629_t = { + 3, kat2629_entropyin, kat2629_nonce, kat2629_persstr, + kat2629_entropyinreseed, kat2629_addinreseed, kat2629_addin0, + kat2629_addin1, kat2629_retbits +}; +static const struct drbg_kat kat2629 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2629_t +}; + +static const unsigned char kat2630_entropyin[] = { + 0x11, 0xc6, 0x50, 0x00, 0xd9, 0x6b, 0xb2, 0xe1, 0xdb, 0x99, 0xf0, 0x7b, + 0xdc, 0x7b, 0x62, 0x0e, 0x02, 0x98, 0xa0, 0x35, 0x83, 0x30, 0x7b, 0xd1, + 0x52, 0x91, 0x6d, 0xe1, 0x95, 0x7e, 0x43, 0xaf, 0x1b, 0xff, 0xde, 0xca, + 0x1c, 0x38, 0x36, 0x4a, +}; +static const unsigned char kat2630_nonce[] = {0}; +static const unsigned char kat2630_persstr[] = { + 0xa9, 0x07, 0x30, 0x71, 0xbf, 0xc1, 0x8d, 0x38, 0x55, 0x0a, 0x16, 0x88, + 0x4b, 0x26, 0x7c, 0xc1, 0x4a, 0xb6, 0x2e, 0xb7, 0x06, 0x4e, 0x29, 0xc2, + 0xba, 0x9e, 0x44, 0x03, 0x98, 0xcf, 0x84, 0xaf, 0x30, 0xdb, 0x57, 0x78, + 0x3f, 0xca, 0x0e, 0x90, +}; +static const unsigned char kat2630_entropyinreseed[] = { + 0x14, 0x47, 0x34, 0xce, 0x49, 0x7c, 0xf2, 0x78, 0xcf, 0x58, 0x0c, 0x72, + 0xb3, 0xa5, 0x8e, 0xd8, 0xdd, 0x47, 0xa3, 0x24, 0x3d, 0x4a, 0x1c, 0xd4, + 0x4b, 0xc1, 0x5c, 0x94, 0x4a, 0xf3, 0xb0, 0xd4, 0x11, 0x13, 0x65, 0xf0, + 0x8c, 0x48, 0xf3, 0xea, +}; +static const unsigned char kat2630_addinreseed[] = { + 0x4a, 0xa6, 0x03, 0x76, 0xbc, 0x60, 0x69, 0x57, 0xdb, 0xbc, 0xba, 0x31, + 0x93, 0xd5, 0x0b, 0x8d, 0xd5, 0x71, 0x9c, 0x0f, 0x88, 0xa1, 0x8d, 0x5f, + 0xac, 0x29, 0x19, 0x60, 0x0f, 0xbb, 0xce, 0xc6, 0x48, 0xc8, 0x2c, 0xff, + 0x65, 0x40, 0xef, 0xfe, +}; +static const unsigned char kat2630_addin0[] = { + 0xf9, 0x70, 0x02, 0xf0, 0x3a, 0x25, 0xeb, 0x4f, 0x3b, 0x8f, 0x82, 0x90, + 0x76, 0xe6, 0x65, 0xe2, 0x0e, 0xbb, 0x79, 0x04, 0x62, 0xa6, 0x5d, 0xa7, + 0xdc, 0xac, 0xb8, 0xa5, 0xe6, 0xe1, 0x4e, 0xa9, 0x8e, 0xb5, 0x6f, 0xf3, + 0xeb, 0x97, 0x48, 0x08, +}; +static const unsigned char kat2630_addin1[] = { + 0xf2, 0x23, 0x8e, 0xcb, 0x9b, 0x3d, 0x0c, 0x32, 0x18, 0xd9, 0x2f, 0x9a, + 0x50, 0x20, 0x56, 0x86, 0xeb, 0xd1, 0x5d, 0x38, 0x28, 0xb3, 0xc9, 0xc6, + 0x38, 0x12, 0xe3, 0xc2, 0x78, 0xf7, 0x45, 0x06, 0x94, 0x3b, 0x05, 0xa5, + 0xcc, 0xed, 0x5b, 0x2b, +}; +static const unsigned char kat2630_retbits[] = { + 0x45, 0xb9, 0x57, 0x05, 0x5b, 0x89, 0x7b, 0xc7, 0xf8, 0x30, 0x6b, 0x93, + 0x84, 0xb4, 0x7f, 0x23, 0xfa, 0xc5, 0x7d, 0xb9, 0x36, 0x43, 0x71, 0x6c, + 0x7f, 0x9d, 0x44, 0x70, 0x1e, 0x7d, 0xd5, 0x87, 0x71, 0x38, 0xc2, 0x05, + 0xed, 0x61, 0x99, 0x2d, 0x6e, 0x7b, 0xd6, 0xad, 0x60, 0x1b, 0xc7, 0x2b, + 0x7b, 0xaf, 0x65, 0xde, 0xef, 0x83, 0x9d, 0x28, 0xb4, 0x34, 0xe1, 0x8d, + 0x7c, 0xf8, 0xcb, 0xfd, +}; +static const struct drbg_kat_pr_false kat2630_t = { + 4, kat2630_entropyin, kat2630_nonce, kat2630_persstr, + kat2630_entropyinreseed, kat2630_addinreseed, kat2630_addin0, + kat2630_addin1, kat2630_retbits +}; +static const struct drbg_kat kat2630 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2630_t +}; + +static const unsigned char kat2631_entropyin[] = { + 0x55, 0x51, 0x56, 0x0c, 0xbc, 0xef, 0x99, 0x84, 0xd7, 0x0e, 0x62, 0x73, + 0x2b, 0xb5, 0xeb, 0xca, 0xc0, 0x53, 0x28, 0xda, 0x6c, 0x70, 0x18, 0x9a, + 0xc4, 0x49, 0xbc, 0xb8, 0x12, 0x99, 0x15, 0xbc, 0x15, 0xd5, 0x8c, 0x9c, + 0xf3, 0x26, 0x5c, 0x9b, +}; +static const unsigned char kat2631_nonce[] = {0}; +static const unsigned char kat2631_persstr[] = { + 0xac, 0x69, 0xee, 0x98, 0xa3, 0xbc, 0xb0, 0x19, 0xc1, 0x86, 0xc1, 0x0d, + 0x8d, 0xd8, 0xb1, 0x1e, 0xc8, 0xb7, 0x90, 0x8a, 0x20, 0xe1, 0x5d, 0x77, + 0xdc, 0xa8, 0xea, 0x51, 0xe2, 0xcc, 0x27, 0xd7, 0x39, 0xfe, 0x8f, 0x42, + 0xec, 0x4b, 0x4c, 0x7f, +}; +static const unsigned char kat2631_entropyinreseed[] = { + 0xf6, 0x80, 0xda, 0x37, 0xce, 0x8d, 0xba, 0xde, 0x3d, 0x41, 0x48, 0x9f, + 0x8e, 0xbe, 0x5a, 0xce, 0x49, 0xf7, 0x6d, 0x99, 0x5a, 0x2a, 0xbf, 0x4b, + 0x23, 0xb1, 0x64, 0xca, 0x35, 0x7a, 0x07, 0xd5, 0x5c, 0x77, 0x2a, 0x46, + 0x41, 0xa1, 0x03, 0x7b, +}; +static const unsigned char kat2631_addinreseed[] = { + 0x0c, 0xc6, 0xab, 0x5b, 0x55, 0x79, 0xb6, 0xc3, 0x46, 0x53, 0xc4, 0xa3, + 0x2a, 0x6a, 0xdf, 0x43, 0x75, 0x72, 0x3e, 0xb2, 0xd9, 0xa8, 0x40, 0x78, + 0xb4, 0x83, 0xff, 0x5d, 0x68, 0xc5, 0xf3, 0x6f, 0xa8, 0xab, 0x1a, 0x04, + 0x68, 0x91, 0xaf, 0xf7, +}; +static const unsigned char kat2631_addin0[] = { + 0x05, 0xcb, 0xe8, 0x10, 0x16, 0xed, 0x81, 0xdf, 0xc5, 0xf2, 0x56, 0x6f, + 0xb7, 0xcd, 0xad, 0x39, 0xf5, 0xf1, 0x33, 0x83, 0xfc, 0xf4, 0xa7, 0x6d, + 0x65, 0x2d, 0xff, 0x36, 0x24, 0x65, 0x5c, 0xaa, 0xa8, 0x4c, 0xaa, 0x5a, + 0xc8, 0x18, 0x0a, 0xa3, +}; +static const unsigned char kat2631_addin1[] = { + 0xff, 0x51, 0xb1, 0x92, 0xf7, 0x3e, 0x0e, 0x5c, 0xe5, 0x8b, 0x79, 0xb0, + 0xe1, 0x1b, 0x6e, 0xa5, 0x2e, 0x4d, 0xfd, 0xcd, 0xc8, 0x14, 0x9d, 0xa5, + 0xee, 0xf1, 0x46, 0xe5, 0x7a, 0x15, 0xb0, 0x9b, 0xcd, 0x1f, 0x39, 0xd8, + 0xda, 0x07, 0x37, 0x8a, +}; +static const unsigned char kat2631_retbits[] = { + 0x63, 0xe7, 0x3b, 0x6b, 0xc6, 0xab, 0xcc, 0x44, 0xf2, 0xd2, 0x81, 0xa2, + 0x89, 0xec, 0x1c, 0xe2, 0x2c, 0x49, 0xec, 0x39, 0x31, 0x13, 0xb6, 0x6a, + 0xb5, 0x9d, 0x21, 0xb2, 0xec, 0xe0, 0xfd, 0x89, 0x2f, 0x09, 0x1b, 0xd8, + 0xb1, 0x06, 0x3e, 0x78, 0xb5, 0x94, 0x59, 0x30, 0xe9, 0x1c, 0x74, 0xf4, + 0x8b, 0x5b, 0xec, 0x7e, 0xac, 0xa9, 0xcc, 0xac, 0xeb, 0xeb, 0xeb, 0x78, + 0x41, 0x10, 0x3c, 0x23, +}; +static const struct drbg_kat_pr_false kat2631_t = { + 5, kat2631_entropyin, kat2631_nonce, kat2631_persstr, + kat2631_entropyinreseed, kat2631_addinreseed, kat2631_addin0, + kat2631_addin1, kat2631_retbits +}; +static const struct drbg_kat kat2631 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2631_t +}; + +static const unsigned char kat2632_entropyin[] = { + 0x48, 0x29, 0x60, 0x09, 0xfd, 0x60, 0xd6, 0x04, 0x00, 0x23, 0x01, 0x4c, + 0xce, 0x63, 0xc6, 0xbc, 0x00, 0x10, 0xc7, 0x9d, 0x15, 0x2c, 0x77, 0x76, + 0xad, 0x53, 0x5c, 0x2c, 0x75, 0x81, 0x75, 0x4e, 0xf6, 0x66, 0x35, 0x55, + 0x50, 0x52, 0xd2, 0x37, +}; +static const unsigned char kat2632_nonce[] = {0}; +static const unsigned char kat2632_persstr[] = { + 0xf8, 0x06, 0x94, 0x59, 0x92, 0x1f, 0x69, 0x19, 0x11, 0x3c, 0x48, 0x76, + 0x3e, 0x2c, 0x1c, 0x3c, 0xf8, 0x92, 0x3b, 0xc6, 0x9a, 0x19, 0x2d, 0xcd, + 0x07, 0xd0, 0x6b, 0x51, 0xe0, 0x70, 0xb4, 0x64, 0x78, 0x1f, 0x19, 0x7c, + 0x77, 0x76, 0x78, 0x81, +}; +static const unsigned char kat2632_entropyinreseed[] = { + 0x48, 0x0e, 0x60, 0x2e, 0x1a, 0x30, 0x42, 0x56, 0x2c, 0x06, 0x80, 0xf1, + 0x31, 0xaa, 0x61, 0xcb, 0xe0, 0x1b, 0x11, 0x7b, 0x58, 0x2d, 0x8f, 0x98, + 0x12, 0x1a, 0x50, 0x57, 0xc7, 0xad, 0x13, 0x60, 0xe5, 0x1d, 0xf6, 0x4f, + 0x8c, 0xc7, 0x90, 0x6d, +}; +static const unsigned char kat2632_addinreseed[] = { + 0xf0, 0xde, 0x8c, 0xf5, 0x49, 0x1b, 0xd8, 0x3d, 0x20, 0x01, 0x03, 0x1c, + 0x34, 0x9f, 0x88, 0x71, 0xa3, 0xdd, 0xd0, 0xdc, 0x6a, 0x6f, 0x3c, 0xc1, + 0xe3, 0x74, 0x91, 0xaa, 0x2b, 0xfe, 0x76, 0xe9, 0xf5, 0x53, 0x65, 0x03, + 0x10, 0xfd, 0xf1, 0x6a, +}; +static const unsigned char kat2632_addin0[] = { + 0x32, 0xd4, 0x4d, 0x8b, 0xe9, 0xe9, 0xc2, 0x30, 0xbf, 0x1a, 0x19, 0x51, + 0x1f, 0x6e, 0xab, 0x4b, 0xb2, 0xb1, 0xae, 0xad, 0xba, 0xaa, 0xa6, 0x5c, + 0x6c, 0x82, 0x60, 0x4d, 0xba, 0x9d, 0xf5, 0x90, 0x20, 0xd1, 0xb7, 0x00, + 0x0a, 0xf7, 0x7f, 0x62, +}; +static const unsigned char kat2632_addin1[] = { + 0x07, 0x4d, 0x03, 0xe6, 0x1a, 0x8b, 0xff, 0xa9, 0xe0, 0xda, 0x64, 0x81, + 0x4d, 0xa2, 0x23, 0x9e, 0x6e, 0xd3, 0x56, 0xa9, 0x40, 0xcf, 0x9a, 0xca, + 0xba, 0x2a, 0x4a, 0x36, 0xac, 0xf2, 0x33, 0xd2, 0xdf, 0xf1, 0x83, 0xf4, + 0xe4, 0xfe, 0x0f, 0x32, +}; +static const unsigned char kat2632_retbits[] = { + 0x0b, 0x58, 0xfd, 0xf2, 0x1d, 0xbe, 0x6e, 0xe8, 0xa3, 0xc9, 0xb6, 0xf2, + 0x9b, 0xf5, 0xbe, 0x0f, 0x50, 0x45, 0x52, 0x7f, 0x9c, 0x27, 0x28, 0x8b, + 0x65, 0x6d, 0xb4, 0xe4, 0x9c, 0x89, 0x5c, 0xf8, 0xaa, 0xe3, 0x5a, 0x6f, + 0xc9, 0x33, 0x94, 0xca, 0x54, 0xa5, 0x33, 0xaf, 0x35, 0x97, 0xec, 0xe7, + 0xad, 0x62, 0xd2, 0xe2, 0x9f, 0x31, 0x3e, 0x1a, 0xfb, 0x3f, 0x81, 0xcf, + 0x6d, 0xff, 0x5c, 0x6b, +}; +static const struct drbg_kat_pr_false kat2632_t = { + 6, kat2632_entropyin, kat2632_nonce, kat2632_persstr, + kat2632_entropyinreseed, kat2632_addinreseed, kat2632_addin0, + kat2632_addin1, kat2632_retbits +}; +static const struct drbg_kat kat2632 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2632_t +}; + +static const unsigned char kat2633_entropyin[] = { + 0xa0, 0x7f, 0xdd, 0x2a, 0x4e, 0x21, 0xd9, 0x13, 0xbb, 0xa2, 0xa6, 0xeb, + 0x10, 0xb3, 0x58, 0x36, 0xed, 0x80, 0xf4, 0x88, 0x25, 0xcb, 0x76, 0x61, + 0x87, 0x46, 0x06, 0x3a, 0xcd, 0xb2, 0x65, 0xb7, 0x16, 0xcb, 0x91, 0x68, + 0x9b, 0x58, 0x0c, 0x41, +}; +static const unsigned char kat2633_nonce[] = {0}; +static const unsigned char kat2633_persstr[] = { + 0xa9, 0x9c, 0x67, 0x1e, 0x4a, 0x72, 0x6a, 0xe0, 0x7f, 0xa7, 0x08, 0xdf, + 0x80, 0x23, 0xbd, 0x20, 0x76, 0x53, 0x97, 0xd8, 0xae, 0xcb, 0x85, 0xec, + 0x56, 0x9e, 0x99, 0x01, 0xdb, 0xa6, 0xde, 0x3e, 0x4d, 0xf1, 0xc8, 0xee, + 0x46, 0x4c, 0x96, 0xd6, +}; +static const unsigned char kat2633_entropyinreseed[] = { + 0xb5, 0x1b, 0x3c, 0x5b, 0x27, 0x16, 0x99, 0xa0, 0xb9, 0x1e, 0xe1, 0x95, + 0x6e, 0x99, 0x4e, 0x4a, 0x6a, 0x63, 0xbe, 0x4c, 0x66, 0xa3, 0x6b, 0x20, + 0x79, 0x9e, 0x75, 0xbb, 0x3f, 0x11, 0xcb, 0xdb, 0x9c, 0x54, 0xe6, 0x4a, + 0x97, 0x77, 0x02, 0x99, +}; +static const unsigned char kat2633_addinreseed[] = { + 0xc3, 0x59, 0x51, 0x43, 0x06, 0x97, 0x71, 0x7b, 0xa1, 0xe1, 0x2b, 0x05, + 0x7f, 0x2a, 0x2a, 0x2a, 0x5f, 0x87, 0xcb, 0x15, 0x78, 0x28, 0x89, 0x40, + 0x68, 0xb0, 0xd1, 0xf4, 0x36, 0x40, 0xdd, 0x86, 0x74, 0xd6, 0x9b, 0x13, + 0x42, 0x14, 0x2f, 0xec, +}; +static const unsigned char kat2633_addin0[] = { + 0xe8, 0xa8, 0x3c, 0x91, 0x42, 0xee, 0x88, 0x47, 0x9f, 0xa1, 0x65, 0x56, + 0xb9, 0x70, 0x26, 0xfb, 0x35, 0x74, 0x39, 0x0b, 0xc0, 0x3b, 0x18, 0x23, + 0xce, 0x0e, 0x91, 0x60, 0xce, 0xd7, 0xe1, 0x4b, 0xdb, 0x43, 0x28, 0x2a, + 0xfc, 0xb3, 0x86, 0x9b, +}; +static const unsigned char kat2633_addin1[] = { + 0x9d, 0xf3, 0xa7, 0x7e, 0xec, 0x55, 0x17, 0x62, 0x44, 0x2f, 0x08, 0xd5, + 0x15, 0x29, 0xc1, 0xf5, 0x02, 0x50, 0x7f, 0xaa, 0xf3, 0xd3, 0xf9, 0x48, + 0x5c, 0x75, 0xbf, 0x1e, 0x02, 0x79, 0xea, 0x7e, 0x05, 0x5f, 0x51, 0xf6, + 0xc4, 0x1a, 0x39, 0xf6, +}; +static const unsigned char kat2633_retbits[] = { + 0xc7, 0x21, 0xcb, 0x5c, 0x65, 0x4b, 0xaf, 0xbe, 0xee, 0x5f, 0x61, 0x1c, + 0x73, 0xcf, 0xa2, 0x6a, 0x3b, 0x8f, 0x10, 0xc0, 0x62, 0x5f, 0x5a, 0x89, + 0xf9, 0x28, 0x55, 0x66, 0xc9, 0x5a, 0x12, 0xc9, 0x5a, 0xd2, 0x97, 0x9e, + 0x04, 0x37, 0x6f, 0x25, 0xb0, 0x47, 0xce, 0x42, 0xeb, 0xdc, 0xa0, 0xca, + 0x15, 0x2b, 0xcd, 0x6c, 0xa8, 0x0f, 0xe9, 0x3e, 0xd3, 0x50, 0x47, 0xe2, + 0x30, 0x75, 0x81, 0x90, +}; +static const struct drbg_kat_pr_false kat2633_t = { + 7, kat2633_entropyin, kat2633_nonce, kat2633_persstr, + kat2633_entropyinreseed, kat2633_addinreseed, kat2633_addin0, + kat2633_addin1, kat2633_retbits +}; +static const struct drbg_kat kat2633 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2633_t +}; + +static const unsigned char kat2634_entropyin[] = { + 0x35, 0x2d, 0xe6, 0xd4, 0x70, 0x17, 0xde, 0x06, 0x65, 0x9b, 0x13, 0x44, + 0x85, 0xa1, 0x54, 0x1e, 0xb3, 0x34, 0xc8, 0x7f, 0x1f, 0x74, 0xc0, 0x94, + 0xe5, 0xef, 0x9d, 0xa5, 0x31, 0xcf, 0x7a, 0x70, 0x1c, 0x57, 0x73, 0xe3, + 0x43, 0xa6, 0xf9, 0x2f, +}; +static const unsigned char kat2634_nonce[] = {0}; +static const unsigned char kat2634_persstr[] = { + 0xb6, 0x0a, 0x38, 0x23, 0x1d, 0x74, 0x96, 0xf4, 0x71, 0x61, 0xa5, 0xcc, + 0x86, 0xff, 0x7d, 0xbe, 0x3f, 0xa9, 0x1e, 0xe8, 0x8f, 0x2d, 0x23, 0x01, + 0x8f, 0xe2, 0x1e, 0xd8, 0x5b, 0x08, 0x4c, 0x81, 0xff, 0xf6, 0x52, 0x4b, + 0xec, 0xba, 0x40, 0xea, +}; +static const unsigned char kat2634_entropyinreseed[] = { + 0x07, 0x8a, 0xeb, 0xf7, 0x6d, 0x37, 0xb3, 0x7d, 0x7b, 0x24, 0xce, 0x4f, + 0xc3, 0xbe, 0x77, 0x0e, 0x27, 0xb6, 0xc6, 0xb6, 0x14, 0x14, 0x5f, 0xf5, + 0x85, 0x58, 0xd8, 0x6e, 0xea, 0x6c, 0x46, 0xec, 0x43, 0x51, 0x28, 0xe1, + 0xd5, 0x69, 0x59, 0x62, +}; +static const unsigned char kat2634_addinreseed[] = { + 0xc4, 0x42, 0x45, 0x51, 0x56, 0x62, 0xc7, 0x2c, 0xbe, 0x1a, 0x50, 0xd3, + 0xed, 0x3e, 0x78, 0xcd, 0xce, 0x96, 0x6b, 0x11, 0x93, 0x28, 0x00, 0x22, + 0x54, 0xad, 0xc2, 0x89, 0xee, 0xda, 0x35, 0x1c, 0xcb, 0x86, 0x7f, 0x75, + 0x29, 0xea, 0xf9, 0xd5, +}; +static const unsigned char kat2634_addin0[] = { + 0x23, 0x10, 0x20, 0x5e, 0x41, 0x47, 0x4d, 0xc7, 0x14, 0xe0, 0x2c, 0x5b, + 0x67, 0x4b, 0x2d, 0x25, 0xf8, 0x50, 0x37, 0x20, 0x31, 0xcf, 0x1a, 0x10, + 0x95, 0x8c, 0x2d, 0x14, 0x10, 0xaf, 0xa3, 0xa2, 0xfd, 0xca, 0x47, 0xa0, + 0xb3, 0xb3, 0xc8, 0x18, +}; +static const unsigned char kat2634_addin1[] = { + 0xb5, 0xa3, 0xa8, 0x59, 0x30, 0x38, 0xaa, 0x26, 0x49, 0x91, 0x71, 0x4e, + 0xa9, 0x84, 0xdb, 0xa9, 0xff, 0x76, 0xa4, 0x9f, 0x69, 0xc7, 0x5f, 0xa9, + 0xd2, 0x16, 0x4b, 0xc1, 0x7a, 0x0b, 0xa4, 0x12, 0x73, 0x99, 0x03, 0x67, + 0xbc, 0xd6, 0xa4, 0x9d, +}; +static const unsigned char kat2634_retbits[] = { + 0x34, 0x8a, 0x41, 0xb2, 0x31, 0xb3, 0x3c, 0x4e, 0x45, 0x96, 0x4f, 0xa8, + 0x90, 0x6c, 0xc9, 0xf7, 0x6d, 0xe3, 0x23, 0x25, 0x7d, 0xbb, 0x9d, 0x68, + 0x3f, 0x6c, 0xb4, 0xb8, 0xa6, 0x7b, 0x5d, 0xcf, 0x59, 0x8a, 0x2e, 0x15, + 0xbf, 0x49, 0x82, 0xc8, 0x3f, 0x61, 0x36, 0xe5, 0xff, 0xb0, 0x6d, 0x52, + 0x90, 0x92, 0x78, 0xb6, 0x83, 0x69, 0x5f, 0x94, 0x5a, 0x9a, 0xc3, 0xc7, + 0xac, 0x00, 0x3b, 0xb6, +}; +static const struct drbg_kat_pr_false kat2634_t = { + 8, kat2634_entropyin, kat2634_nonce, kat2634_persstr, + kat2634_entropyinreseed, kat2634_addinreseed, kat2634_addin0, + kat2634_addin1, kat2634_retbits +}; +static const struct drbg_kat kat2634 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2634_t +}; + +static const unsigned char kat2635_entropyin[] = { + 0x92, 0x61, 0xac, 0x19, 0x64, 0xa0, 0xf1, 0x1a, 0x47, 0x9e, 0x9f, 0x8b, + 0x23, 0x6f, 0x4a, 0x0d, 0x1b, 0xc6, 0x92, 0x4b, 0x0f, 0xd3, 0xb3, 0x89, + 0x87, 0xef, 0xa4, 0x19, 0x25, 0xc4, 0x79, 0xc3, 0x7c, 0xdd, 0x63, 0xdd, + 0x86, 0x67, 0x88, 0x4e, +}; +static const unsigned char kat2635_nonce[] = {0}; +static const unsigned char kat2635_persstr[] = { + 0x73, 0x61, 0x0e, 0x5f, 0xb9, 0x90, 0x69, 0xd7, 0xe9, 0xdc, 0xd6, 0x14, + 0xa6, 0x3f, 0x53, 0x11, 0x3e, 0x8d, 0x8f, 0xea, 0x7b, 0x68, 0x86, 0x6c, + 0x4a, 0x18, 0x44, 0xe8, 0x68, 0xf0, 0xa5, 0x65, 0x5e, 0xd7, 0xdb, 0x74, + 0xb8, 0x61, 0x28, 0xc3, +}; +static const unsigned char kat2635_entropyinreseed[] = { + 0x75, 0x74, 0x4d, 0x63, 0x5a, 0x71, 0xd5, 0xb6, 0x3f, 0x1b, 0x39, 0x61, + 0x34, 0x36, 0x9b, 0x03, 0xc9, 0x69, 0x1d, 0x07, 0x1f, 0xf2, 0xa7, 0x16, + 0xef, 0x8d, 0x09, 0x3a, 0xc2, 0xda, 0xb2, 0x3b, 0x2b, 0xd5, 0xdc, 0x1b, + 0x97, 0x29, 0x47, 0xf1, +}; +static const unsigned char kat2635_addinreseed[] = { + 0xe5, 0x3b, 0xf2, 0x52, 0x21, 0x8a, 0x02, 0xed, 0xad, 0x67, 0x5a, 0x22, + 0x77, 0xa2, 0x79, 0xcb, 0xab, 0xc9, 0x51, 0x88, 0xe9, 0xe1, 0xb0, 0x16, + 0xa3, 0x93, 0xc2, 0xad, 0x37, 0xf8, 0x9c, 0xad, 0xb0, 0x30, 0x3a, 0x58, + 0xf4, 0x85, 0xb5, 0x94, +}; +static const unsigned char kat2635_addin0[] = { + 0xcb, 0xe3, 0xcd, 0x60, 0xa4, 0x2c, 0x24, 0x68, 0x45, 0xa6, 0x1f, 0x8f, + 0x69, 0xa7, 0xb3, 0x9e, 0x16, 0xad, 0x67, 0x77, 0xb7, 0x2d, 0xc7, 0xea, + 0x96, 0xf6, 0xf7, 0x69, 0x30, 0xa4, 0x7e, 0xc1, 0xf2, 0xc0, 0x5b, 0xc4, + 0xc6, 0xe1, 0xb5, 0xba, +}; +static const unsigned char kat2635_addin1[] = { + 0xd0, 0xba, 0x14, 0x96, 0xae, 0x38, 0x2a, 0xb4, 0xcc, 0x47, 0xfd, 0x82, + 0xb5, 0xcf, 0x30, 0xb8, 0x8a, 0xb8, 0xf3, 0xc9, 0xd7, 0x2d, 0x68, 0xc1, + 0x3f, 0xe5, 0xe5, 0x13, 0x35, 0xa6, 0x2f, 0xc5, 0x50, 0x3a, 0x52, 0x19, + 0x87, 0x4e, 0x64, 0x7d, +}; +static const unsigned char kat2635_retbits[] = { + 0xdf, 0xb6, 0xa0, 0x27, 0x59, 0x4c, 0xfe, 0xab, 0x6d, 0x5a, 0xa8, 0x52, + 0x50, 0xd7, 0x97, 0xc6, 0xc7, 0x2f, 0x55, 0x29, 0x77, 0xe3, 0xd3, 0x08, + 0x75, 0x8a, 0xc6, 0xef, 0xa4, 0x17, 0x9d, 0x65, 0x1f, 0x63, 0x57, 0xdf, + 0xf7, 0xbe, 0x90, 0x09, 0x56, 0x6b, 0x04, 0x1c, 0xbf, 0x22, 0x9f, 0x4e, + 0x9f, 0x26, 0xa3, 0x82, 0x35, 0x55, 0x9a, 0xac, 0x35, 0xb2, 0x64, 0xda, + 0xa3, 0x77, 0x63, 0xe2, +}; +static const struct drbg_kat_pr_false kat2635_t = { + 9, kat2635_entropyin, kat2635_nonce, kat2635_persstr, + kat2635_entropyinreseed, kat2635_addinreseed, kat2635_addin0, + kat2635_addin1, kat2635_retbits +}; +static const struct drbg_kat kat2635 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2635_t +}; + +static const unsigned char kat2636_entropyin[] = { + 0xbe, 0x5a, 0x99, 0x78, 0x97, 0x45, 0x43, 0x2f, 0x37, 0xef, 0xf1, 0x53, + 0x2d, 0x2f, 0x08, 0xed, 0xbb, 0xac, 0x01, 0x9e, 0x9f, 0xd2, 0xa6, 0x88, + 0xd9, 0xca, 0x48, 0x92, 0xac, 0x4c, 0x92, 0x8f, 0xae, 0x2a, 0x4d, 0xdf, + 0x95, 0x95, 0xd4, 0x49, +}; +static const unsigned char kat2636_nonce[] = {0}; +static const unsigned char kat2636_persstr[] = { + 0x01, 0x26, 0xc2, 0x47, 0x8d, 0x7b, 0x41, 0x94, 0xe1, 0xfd, 0x66, 0xe1, + 0xff, 0x66, 0x32, 0xf4, 0x2b, 0x82, 0x01, 0x36, 0xc3, 0xa6, 0x87, 0x15, + 0x24, 0xda, 0x7d, 0xcf, 0x0b, 0xa2, 0x73, 0x32, 0x29, 0x3f, 0x25, 0x7e, + 0x52, 0xda, 0xe1, 0xf3, +}; +static const unsigned char kat2636_entropyinreseed[] = { + 0xbf, 0xd5, 0x03, 0xa5, 0x82, 0xd6, 0xec, 0x5a, 0x7f, 0x84, 0x3a, 0x97, + 0x22, 0xed, 0xf6, 0xf9, 0x9d, 0xe2, 0x69, 0x7f, 0xd5, 0x14, 0xd1, 0x0b, + 0x78, 0x69, 0x1d, 0xd8, 0x03, 0xc3, 0x8c, 0xc6, 0x29, 0xe1, 0x16, 0x1b, + 0x93, 0x3d, 0x42, 0xdd, +}; +static const unsigned char kat2636_addinreseed[] = { + 0x00, 0x9e, 0x0b, 0x92, 0x63, 0x1c, 0x7d, 0x3a, 0x13, 0xd9, 0xaf, 0x5e, + 0x91, 0x7e, 0x5b, 0xbb, 0x92, 0xd0, 0x1d, 0x52, 0xb7, 0x1b, 0x76, 0x7b, + 0x8e, 0x16, 0xf4, 0xc0, 0x90, 0x6c, 0x96, 0x43, 0xfe, 0x0e, 0xda, 0x52, + 0x91, 0x26, 0xcc, 0xed, +}; +static const unsigned char kat2636_addin0[] = { + 0x51, 0xdc, 0xff, 0x3b, 0x18, 0xbb, 0xc6, 0xbe, 0xb0, 0xf2, 0xd4, 0x5b, + 0x09, 0x90, 0x48, 0x01, 0xb5, 0x48, 0x88, 0x25, 0x14, 0x03, 0x7a, 0x30, + 0x44, 0x5d, 0x88, 0x86, 0x95, 0xc6, 0x13, 0x69, 0x2a, 0x5a, 0xef, 0xff, + 0x5d, 0x95, 0xdd, 0xde, +}; +static const unsigned char kat2636_addin1[] = { + 0x22, 0x82, 0x9c, 0x4e, 0x7c, 0x1b, 0x3c, 0xe2, 0x0c, 0xe9, 0x85, 0x89, + 0xff, 0x98, 0xbe, 0x88, 0xee, 0x98, 0x3e, 0x50, 0x2b, 0x0a, 0x90, 0xa3, + 0x58, 0x26, 0x20, 0x18, 0x43, 0xea, 0x82, 0xdf, 0xf5, 0x70, 0xda, 0x7e, + 0x9a, 0x74, 0x12, 0x67, +}; +static const unsigned char kat2636_retbits[] = { + 0x5c, 0x66, 0xca, 0x9b, 0x13, 0xdf, 0xd3, 0xf6, 0xdf, 0xb5, 0x04, 0x7c, + 0x5a, 0xb4, 0x79, 0x27, 0x7c, 0x04, 0x04, 0x92, 0xa0, 0xe7, 0xea, 0x65, + 0x82, 0xf1, 0x6b, 0xab, 0xe6, 0x42, 0x78, 0xd1, 0x8c, 0x37, 0x3b, 0xf9, + 0x17, 0x26, 0x59, 0x71, 0x43, 0xb0, 0x10, 0x84, 0x41, 0x7b, 0x05, 0x7e, + 0xbf, 0xb6, 0x10, 0xdd, 0x86, 0xee, 0x56, 0xff, 0x3d, 0xbb, 0xad, 0xd2, + 0x58, 0x70, 0x8e, 0xc7, +}; +static const struct drbg_kat_pr_false kat2636_t = { + 10, kat2636_entropyin, kat2636_nonce, kat2636_persstr, + kat2636_entropyinreseed, kat2636_addinreseed, kat2636_addin0, + kat2636_addin1, kat2636_retbits +}; +static const struct drbg_kat kat2636 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2636_t +}; + +static const unsigned char kat2637_entropyin[] = { + 0x1f, 0xaf, 0xe7, 0x02, 0x35, 0x97, 0xe0, 0x29, 0x75, 0xea, 0x23, 0x23, + 0x41, 0x93, 0x1b, 0xbd, 0xa0, 0xdd, 0xf1, 0x18, 0x06, 0xf5, 0x76, 0x67, + 0x98, 0x25, 0xdd, 0xaf, 0xf6, 0x9f, 0x21, 0xdc, 0x3e, 0xe7, 0x71, 0xfe, + 0x37, 0x98, 0x65, 0xdf, +}; +static const unsigned char kat2637_nonce[] = {0}; +static const unsigned char kat2637_persstr[] = { + 0x74, 0x67, 0x83, 0xd0, 0x0a, 0xc7, 0x78, 0xc1, 0x06, 0xef, 0x72, 0xf9, + 0x96, 0x1a, 0x78, 0x82, 0x97, 0x99, 0xe7, 0x5e, 0x42, 0xf6, 0xa7, 0x27, + 0x0b, 0xc4, 0xad, 0x33, 0x09, 0xa9, 0x1a, 0x50, 0x58, 0x25, 0x18, 0x99, + 0x6a, 0x60, 0xec, 0xf4, +}; +static const unsigned char kat2637_entropyinreseed[] = { + 0x62, 0x63, 0x1b, 0x75, 0x60, 0x52, 0xc4, 0x81, 0x86, 0xa8, 0x8d, 0xb3, + 0x5f, 0xb1, 0xfe, 0xf9, 0xc6, 0x58, 0x72, 0x1c, 0x51, 0x65, 0x18, 0x84, + 0x17, 0x56, 0x52, 0xed, 0x66, 0xd2, 0x4a, 0xa1, 0xb2, 0x04, 0x23, 0xfa, + 0xe2, 0xb5, 0x58, 0xf4, +}; +static const unsigned char kat2637_addinreseed[] = { + 0x66, 0xea, 0x5c, 0x41, 0x08, 0x99, 0x63, 0x57, 0x7a, 0xe0, 0x4d, 0x1c, + 0xd1, 0xe4, 0xc5, 0xdc, 0xd2, 0x01, 0xa5, 0xa1, 0xc6, 0x52, 0xbd, 0xed, + 0x83, 0x7b, 0x06, 0x62, 0x6a, 0x55, 0x70, 0x5c, 0x10, 0xb5, 0xbe, 0x03, + 0x23, 0x73, 0x58, 0xfd, +}; +static const unsigned char kat2637_addin0[] = { + 0x6b, 0xf8, 0x10, 0x0c, 0xeb, 0x82, 0x80, 0x76, 0xed, 0x58, 0x3d, 0x56, + 0xa2, 0xd2, 0x33, 0x3a, 0x75, 0xff, 0x9a, 0xf9, 0x9e, 0x87, 0xaf, 0x15, + 0xe4, 0x5e, 0x46, 0x31, 0x6b, 0x2c, 0x8f, 0xe1, 0x55, 0x18, 0x1f, 0x2f, + 0x63, 0xcc, 0xd7, 0xf6, +}; +static const unsigned char kat2637_addin1[] = { + 0x39, 0x3b, 0xd4, 0xcc, 0x23, 0x4c, 0x4b, 0x88, 0xfa, 0xfd, 0x48, 0x5a, + 0x81, 0xb3, 0x4e, 0xa5, 0x30, 0xc5, 0x1d, 0xc5, 0xcc, 0x87, 0x85, 0x46, + 0x5d, 0xda, 0xd6, 0xc4, 0x89, 0x7b, 0x71, 0x43, 0x17, 0x9a, 0x03, 0xff, + 0x30, 0x68, 0xb2, 0xb9, +}; +static const unsigned char kat2637_retbits[] = { + 0x14, 0x97, 0xda, 0x85, 0x00, 0x1b, 0xf9, 0x5b, 0x2a, 0x08, 0xac, 0x16, + 0x11, 0x65, 0xb1, 0x17, 0x70, 0xe3, 0x06, 0x53, 0xc6, 0x8a, 0x88, 0x48, + 0xd5, 0xe0, 0xa0, 0x55, 0x78, 0x9f, 0x02, 0x9e, 0x2f, 0x9b, 0x80, 0xb5, + 0xf8, 0x09, 0xdd, 0x8b, 0x75, 0xaa, 0xaf, 0xd8, 0xfe, 0x50, 0x95, 0xba, + 0x08, 0xcf, 0x7e, 0x40, 0x9b, 0x20, 0xa1, 0x37, 0xab, 0x3f, 0x88, 0x95, + 0x0d, 0x7a, 0x05, 0xa3, +}; +static const struct drbg_kat_pr_false kat2637_t = { + 11, kat2637_entropyin, kat2637_nonce, kat2637_persstr, + kat2637_entropyinreseed, kat2637_addinreseed, kat2637_addin0, + kat2637_addin1, kat2637_retbits +}; +static const struct drbg_kat kat2637 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2637_t +}; + +static const unsigned char kat2638_entropyin[] = { + 0xf3, 0x37, 0x05, 0x56, 0x46, 0x06, 0x14, 0xe6, 0x6b, 0xc8, 0xe2, 0x89, + 0xf5, 0xf0, 0xd9, 0x8e, 0x8b, 0x06, 0x29, 0x0f, 0x82, 0x2d, 0xef, 0x77, + 0x73, 0x8a, 0xaa, 0x33, 0x3d, 0x0d, 0xfe, 0x68, 0x89, 0x08, 0x46, 0xe0, + 0x69, 0x34, 0x93, 0x87, +}; +static const unsigned char kat2638_nonce[] = {0}; +static const unsigned char kat2638_persstr[] = { + 0xe2, 0x56, 0x37, 0xdc, 0xc4, 0xae, 0x0e, 0x8d, 0x9b, 0xbd, 0x40, 0x23, + 0x45, 0x74, 0xfc, 0x76, 0xe5, 0x4e, 0x02, 0xe1, 0x66, 0x4f, 0xb4, 0x64, + 0x55, 0xc8, 0x66, 0x0e, 0x33, 0xb4, 0x96, 0xcb, 0xbb, 0xa1, 0xbb, 0x98, + 0xdb, 0x1e, 0xc3, 0xf8, +}; +static const unsigned char kat2638_entropyinreseed[] = { + 0xb9, 0xc1, 0xe0, 0x34, 0xa0, 0x0b, 0xe6, 0x50, 0xba, 0x3f, 0x22, 0x51, + 0x7c, 0xa7, 0xba, 0x34, 0x9e, 0xf4, 0x6f, 0x7f, 0xdd, 0xdb, 0x5c, 0x49, + 0xe1, 0x9b, 0xbe, 0x2a, 0x97, 0x45, 0x97, 0xd0, 0x6d, 0x5f, 0xd1, 0xc9, + 0x99, 0xdc, 0x31, 0x21, +}; +static const unsigned char kat2638_addinreseed[] = { + 0x91, 0xd0, 0x9c, 0xb6, 0xbf, 0x47, 0x33, 0x0c, 0xa7, 0x1d, 0xad, 0xd6, + 0x8b, 0x28, 0x3b, 0x6b, 0xc2, 0x3c, 0xbe, 0x8b, 0x63, 0xe3, 0x71, 0x7c, + 0x3f, 0x57, 0xe6, 0x9a, 0x06, 0xf8, 0xcf, 0x23, 0x65, 0xaa, 0xbd, 0xf1, + 0x82, 0x60, 0xb9, 0xeb, +}; +static const unsigned char kat2638_addin0[] = { + 0x77, 0x99, 0xf7, 0x48, 0x6f, 0x88, 0x08, 0xfe, 0x8f, 0x77, 0xee, 0xb6, + 0x22, 0x16, 0xc3, 0x47, 0x69, 0xfd, 0x66, 0x00, 0x5f, 0x32, 0x80, 0x16, + 0xd6, 0x71, 0x5c, 0x2f, 0x53, 0x87, 0x95, 0x26, 0x7a, 0x71, 0xde, 0x47, + 0xc9, 0x7e, 0x91, 0x87, +}; +static const unsigned char kat2638_addin1[] = { + 0x1f, 0x8e, 0x44, 0xe8, 0x29, 0x65, 0x6f, 0x5d, 0xe2, 0xbf, 0x98, 0x8d, + 0xcf, 0xf0, 0xaa, 0xc9, 0x87, 0xae, 0x67, 0x61, 0x8c, 0x49, 0x76, 0x82, + 0x4d, 0xba, 0x40, 0x1a, 0x83, 0x0e, 0x94, 0x5a, 0x32, 0x1d, 0x9d, 0x5c, + 0x2f, 0x07, 0x66, 0xad, +}; +static const unsigned char kat2638_retbits[] = { + 0xa4, 0x5b, 0x6c, 0x0d, 0xca, 0x56, 0xb0, 0x4b, 0x03, 0x9e, 0x5e, 0x97, + 0xb3, 0x22, 0x1f, 0x9f, 0x1c, 0xda, 0xe5, 0xde, 0x69, 0x54, 0x71, 0x53, + 0x43, 0x0f, 0xee, 0xa9, 0x39, 0x5e, 0x2c, 0x31, 0x35, 0x5e, 0x60, 0x52, + 0xca, 0xb0, 0x89, 0xb3, 0x39, 0xd0, 0x8d, 0xba, 0x26, 0xad, 0x3d, 0x53, + 0x49, 0xc5, 0xfc, 0x8e, 0x92, 0x68, 0xf1, 0x13, 0xd0, 0xab, 0x00, 0xb5, + 0x96, 0x22, 0xb1, 0xbd, +}; +static const struct drbg_kat_pr_false kat2638_t = { + 12, kat2638_entropyin, kat2638_nonce, kat2638_persstr, + kat2638_entropyinreseed, kat2638_addinreseed, kat2638_addin0, + kat2638_addin1, kat2638_retbits +}; +static const struct drbg_kat kat2638 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2638_t +}; + +static const unsigned char kat2639_entropyin[] = { + 0x82, 0x97, 0x7d, 0x0f, 0xcd, 0xf8, 0x37, 0x2a, 0xc1, 0xc5, 0x4b, 0xbd, + 0x56, 0x2d, 0xb0, 0x4a, 0x93, 0xf9, 0x97, 0x11, 0xf9, 0x7b, 0x68, 0x50, + 0x3f, 0xd2, 0x83, 0x33, 0xf6, 0x7e, 0xaa, 0x65, 0x71, 0x0e, 0xb9, 0xad, + 0xb8, 0x85, 0xad, 0xeb, +}; +static const unsigned char kat2639_nonce[] = {0}; +static const unsigned char kat2639_persstr[] = { + 0xe6, 0x48, 0x95, 0xf0, 0x5e, 0xee, 0x65, 0x5d, 0x18, 0x5f, 0x72, 0xae, + 0xa7, 0x9b, 0xdc, 0x33, 0x23, 0x72, 0xe5, 0xba, 0xe7, 0xe4, 0xf0, 0xae, + 0xaf, 0x80, 0xd9, 0x06, 0x70, 0x8b, 0x6e, 0x14, 0xe9, 0x8e, 0xf7, 0xb6, + 0xd9, 0xce, 0x63, 0x57, +}; +static const unsigned char kat2639_entropyinreseed[] = { + 0x06, 0x2b, 0x41, 0xab, 0x5c, 0xf7, 0xdc, 0xdc, 0xac, 0x34, 0x31, 0x3d, + 0x60, 0xf0, 0x06, 0x9d, 0x3f, 0x48, 0x61, 0xe9, 0x7b, 0x92, 0xa1, 0x21, + 0x87, 0x9b, 0xa3, 0x06, 0x77, 0x0a, 0x61, 0x31, 0x00, 0x11, 0x28, 0x6d, + 0x91, 0x1c, 0x0f, 0x13, +}; +static const unsigned char kat2639_addinreseed[] = { + 0xb1, 0x88, 0x3f, 0x92, 0x30, 0x7c, 0x92, 0x43, 0xd0, 0xbd, 0x86, 0x8f, + 0xb2, 0x47, 0xc3, 0xfa, 0x0e, 0x21, 0xc8, 0xba, 0x43, 0x2b, 0x00, 0x3a, + 0xfe, 0x9f, 0x3c, 0x00, 0x10, 0x46, 0xde, 0x43, 0x28, 0x0b, 0x69, 0x65, + 0x47, 0xd1, 0xf7, 0xf3, +}; +static const unsigned char kat2639_addin0[] = { + 0xe9, 0x4c, 0xa9, 0x02, 0x43, 0x3a, 0x4d, 0xf3, 0x81, 0x6c, 0xae, 0x0a, + 0xe6, 0xd4, 0x3f, 0xec, 0xc2, 0x4d, 0x3c, 0x6f, 0x6e, 0x14, 0x36, 0xc7, + 0x88, 0xba, 0xe6, 0x53, 0x4d, 0xa0, 0xf1, 0xaf, 0xe0, 0xa8, 0x71, 0x42, + 0xa0, 0x84, 0xd9, 0x56, +}; +static const unsigned char kat2639_addin1[] = { + 0xe2, 0x78, 0xd1, 0x5e, 0x1d, 0x5d, 0xb2, 0x44, 0xf7, 0x26, 0xf7, 0x20, + 0x9e, 0xca, 0x4c, 0x95, 0x58, 0x94, 0x18, 0x54, 0x9b, 0xb0, 0x2c, 0x6e, + 0x7f, 0xb5, 0x0f, 0xb3, 0xa6, 0xa1, 0x76, 0x03, 0x26, 0x62, 0x41, 0x4b, + 0x23, 0x1f, 0xe4, 0x2f, +}; +static const unsigned char kat2639_retbits[] = { + 0x4c, 0x30, 0xaf, 0x81, 0x2c, 0x12, 0xe9, 0xbb, 0x12, 0xb6, 0xb2, 0x26, + 0x35, 0x32, 0xcf, 0x2e, 0xe5, 0x0b, 0x94, 0x07, 0x5b, 0xc7, 0x43, 0x38, + 0xb0, 0xbf, 0x7b, 0xda, 0xbf, 0xd3, 0x4d, 0x08, 0xb5, 0x6f, 0xc2, 0x71, + 0x68, 0xdd, 0x77, 0x5b, 0x9d, 0x37, 0x71, 0x8e, 0xb2, 0x1b, 0xbe, 0x60, + 0xc8, 0xe2, 0xf9, 0x07, 0xcf, 0xdb, 0xc6, 0xca, 0x26, 0xe7, 0xa5, 0x85, + 0x1b, 0x0a, 0xb8, 0x33, +}; +static const struct drbg_kat_pr_false kat2639_t = { + 13, kat2639_entropyin, kat2639_nonce, kat2639_persstr, + kat2639_entropyinreseed, kat2639_addinreseed, kat2639_addin0, + kat2639_addin1, kat2639_retbits +}; +static const struct drbg_kat kat2639 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2639_t +}; + +static const unsigned char kat2640_entropyin[] = { + 0x6a, 0x93, 0x39, 0x1a, 0x44, 0xc3, 0x0d, 0xb3, 0x86, 0xa0, 0x73, 0x57, + 0x1b, 0x0e, 0x5b, 0xb3, 0x6a, 0x6d, 0x73, 0x69, 0xb6, 0xb5, 0xcd, 0x7d, + 0xd0, 0xf3, 0x84, 0xde, 0xb9, 0xbf, 0xc6, 0x95, 0x87, 0x86, 0x7b, 0xd7, + 0xe1, 0x98, 0x2f, 0xa7, +}; +static const unsigned char kat2640_nonce[] = {0}; +static const unsigned char kat2640_persstr[] = { + 0x09, 0x96, 0x08, 0xcd, 0xb2, 0xce, 0xae, 0xd0, 0xd0, 0x74, 0xfe, 0x92, + 0x4b, 0x48, 0x3f, 0x8b, 0x7b, 0x74, 0xb1, 0x65, 0x4e, 0xd8, 0xea, 0xd4, + 0xf4, 0xd4, 0x90, 0x08, 0xe6, 0xd8, 0x52, 0xce, 0xbc, 0xac, 0xf7, 0x48, + 0x51, 0xe4, 0x8a, 0x5b, +}; +static const unsigned char kat2640_entropyinreseed[] = { + 0x3b, 0x95, 0x4a, 0x58, 0xd7, 0xcb, 0xfc, 0xb0, 0xb5, 0xad, 0x0b, 0x58, + 0x51, 0x5c, 0xe9, 0x3f, 0x52, 0x38, 0x02, 0xfe, 0x94, 0x72, 0x5e, 0x25, + 0xfd, 0xa9, 0x7b, 0x26, 0xcf, 0x16, 0x2e, 0x00, 0x03, 0xb1, 0xd0, 0x88, + 0xd8, 0xea, 0xc3, 0x9f, +}; +static const unsigned char kat2640_addinreseed[] = { + 0x24, 0x7d, 0xa8, 0xb5, 0xd0, 0xe1, 0x61, 0xf1, 0x59, 0x44, 0x35, 0x6a, + 0x46, 0x56, 0x23, 0x85, 0xcd, 0xf9, 0x8d, 0xe3, 0x32, 0xae, 0xd8, 0xce, + 0x25, 0x0b, 0xbc, 0xe3, 0x7f, 0xd3, 0xc2, 0x7c, 0x53, 0xb1, 0xae, 0xc2, + 0x64, 0x73, 0x4a, 0x1a, +}; +static const unsigned char kat2640_addin0[] = { + 0x6a, 0xec, 0x5f, 0x8c, 0x3d, 0xc5, 0x49, 0x24, 0x10, 0x4e, 0x04, 0x63, + 0x5a, 0xb8, 0x0b, 0x1f, 0x78, 0x28, 0x69, 0xbc, 0x5c, 0x15, 0x57, 0xf7, + 0xd8, 0x9d, 0xaa, 0x1e, 0x1b, 0x3b, 0xfb, 0x3c, 0xab, 0x96, 0x33, 0x89, + 0x22, 0x70, 0x5a, 0x78, +}; +static const unsigned char kat2640_addin1[] = { + 0x66, 0x8d, 0x73, 0x2a, 0x98, 0xf7, 0xae, 0x8c, 0xdc, 0x92, 0x35, 0xd6, + 0x3e, 0x70, 0x59, 0x55, 0xc0, 0x96, 0x00, 0xa4, 0x90, 0x02, 0x1a, 0x19, + 0xa3, 0x4c, 0x1b, 0xef, 0xba, 0x8c, 0xb6, 0x13, 0xee, 0x7d, 0x8e, 0x4c, + 0x57, 0x74, 0xab, 0xa4, +}; +static const unsigned char kat2640_retbits[] = { + 0x1d, 0xfb, 0x0a, 0x6b, 0xf4, 0x11, 0x58, 0x0a, 0xa5, 0x50, 0x44, 0xf2, + 0x6c, 0x59, 0x8d, 0x26, 0x20, 0x96, 0x5f, 0xc9, 0x4a, 0x76, 0x90, 0x01, + 0xf1, 0x0b, 0x19, 0x09, 0x22, 0x86, 0x16, 0x14, 0x6b, 0xc9, 0xd0, 0x2f, + 0x74, 0x9d, 0x09, 0x47, 0x86, 0x80, 0x5e, 0x3d, 0xb8, 0x59, 0xda, 0x9e, + 0x6a, 0x57, 0x28, 0x33, 0xaf, 0x5c, 0xef, 0xdb, 0x14, 0x78, 0x73, 0xec, + 0x60, 0x23, 0xb0, 0x28, +}; +static const struct drbg_kat_pr_false kat2640_t = { + 14, kat2640_entropyin, kat2640_nonce, kat2640_persstr, + kat2640_entropyinreseed, kat2640_addinreseed, kat2640_addin0, + kat2640_addin1, kat2640_retbits +}; +static const struct drbg_kat kat2640 = { + PR_FALSE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat2640_t +}; + +static const unsigned char kat2641_entropyin[] = { + 0xe4, 0xbc, 0x23, 0xc5, 0x08, 0x9a, 0x19, 0xd8, 0x6f, 0x41, 0x19, 0xcb, + 0x3f, 0xa0, 0x8c, 0x0a, 0x49, 0x91, 0xe0, 0xa1, 0xde, 0xf1, 0x7e, 0x10, + 0x1e, 0x4c, 0x14, 0xd9, 0xc3, 0x23, 0x46, 0x0a, 0x7c, 0x2f, 0xb5, 0x8e, + 0x0b, 0x08, 0x6c, 0x6c, 0x57, 0xb5, 0x5f, 0x56, 0xca, 0xe2, 0x5b, 0xad, +}; +static const unsigned char kat2641_nonce[] = {0}; +static const unsigned char kat2641_persstr[] = {0}; +static const unsigned char kat2641_entropyinreseed[] = { + 0xfd, 0x85, 0xa8, 0x36, 0xbb, 0xa8, 0x50, 0x19, 0x88, 0x1e, 0x8c, 0x6b, + 0xad, 0x23, 0xc9, 0x06, 0x1a, 0xdc, 0x75, 0x47, 0x76, 0x59, 0xac, 0xae, + 0xa8, 0xe4, 0xa0, 0x1d, 0xfe, 0x07, 0xa1, 0x83, 0x2d, 0xad, 0x1c, 0x13, + 0x6f, 0x59, 0xd7, 0x0f, 0x86, 0x53, 0xa5, 0xdc, 0x11, 0x86, 0x63, 0xd6, +}; +static const unsigned char kat2641_addinreseed[] = {0}; +static const unsigned char kat2641_addin0[] = {0}; +static const unsigned char kat2641_addin1[] = {0}; +static const unsigned char kat2641_retbits[] = { + 0xb2, 0xcb, 0x89, 0x05, 0xc0, 0x5e, 0x59, 0x50, 0xca, 0x31, 0x89, 0x50, + 0x96, 0xbe, 0x29, 0xea, 0x3d, 0x5a, 0x3b, 0x82, 0xb2, 0x69, 0x49, 0x55, + 0x54, 0xeb, 0x80, 0xfe, 0x07, 0xde, 0x43, 0xe1, 0x93, 0xb9, 0xe7, 0xc3, + 0xec, 0xe7, 0x3b, 0x80, 0xe0, 0x62, 0xb1, 0xc1, 0xf6, 0x82, 0x02, 0xfb, + 0xb1, 0xc5, 0x2a, 0x04, 0x0e, 0xa2, 0x47, 0x88, 0x64, 0x29, 0x52, 0x82, + 0x23, 0x4a, 0xaa, 0xda, +}; +static const struct drbg_kat_pr_false kat2641_t = { + 0, kat2641_entropyin, kat2641_nonce, kat2641_persstr, + kat2641_entropyinreseed, kat2641_addinreseed, kat2641_addin0, + kat2641_addin1, kat2641_retbits +}; +static const struct drbg_kat kat2641 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2641_t +}; + +static const unsigned char kat2642_entropyin[] = { + 0xed, 0xfd, 0xb5, 0x5e, 0x77, 0xd4, 0x18, 0xa6, 0x3e, 0x44, 0x14, 0xdf, + 0xd4, 0x22, 0x25, 0xed, 0x25, 0x7c, 0xf7, 0x4e, 0x99, 0x32, 0x5f, 0xba, + 0x26, 0xe8, 0xf3, 0xa4, 0x52, 0x4a, 0x71, 0xbc, 0x80, 0xa7, 0x31, 0xaf, + 0x23, 0x25, 0x69, 0x08, 0xcb, 0x46, 0x75, 0xa9, 0xc2, 0x53, 0xea, 0x6f, +}; +static const unsigned char kat2642_nonce[] = {0}; +static const unsigned char kat2642_persstr[] = {0}; +static const unsigned char kat2642_entropyinreseed[] = { + 0xa9, 0x37, 0x2f, 0xea, 0x93, 0xd6, 0x07, 0xfb, 0xbc, 0x75, 0xa9, 0x7b, + 0x7f, 0x65, 0xf2, 0xd4, 0xae, 0x8c, 0x06, 0xbd, 0x18, 0x49, 0x81, 0x57, + 0x2e, 0x88, 0x8a, 0x35, 0xc5, 0x79, 0x4d, 0x2b, 0xb3, 0x80, 0xa4, 0xae, + 0x04, 0xbb, 0xa2, 0x7f, 0x2e, 0xfc, 0xc9, 0xe7, 0x91, 0x4b, 0x96, 0xdc, +}; +static const unsigned char kat2642_addinreseed[] = {0}; +static const unsigned char kat2642_addin0[] = {0}; +static const unsigned char kat2642_addin1[] = {0}; +static const unsigned char kat2642_retbits[] = { + 0x11, 0xb1, 0xa0, 0xf0, 0xbb, 0x93, 0x5e, 0xc0, 0xc5, 0x4e, 0x08, 0x9e, + 0x0c, 0xd2, 0x08, 0x32, 0xd1, 0xf0, 0x0e, 0x70, 0x69, 0xf3, 0x0e, 0x9e, + 0xa2, 0xe3, 0x5b, 0x7f, 0x15, 0xec, 0xf0, 0x57, 0x7d, 0x0e, 0x90, 0x03, + 0x5b, 0xf0, 0xf9, 0x1f, 0xfd, 0x9e, 0x8a, 0x1f, 0xa8, 0xa5, 0x07, 0x50, + 0x37, 0x39, 0xaf, 0xbe, 0xc1, 0x93, 0x93, 0xe0, 0x2c, 0x9b, 0x7c, 0x23, + 0x0c, 0xde, 0xa3, 0x6f, +}; +static const struct drbg_kat_pr_false kat2642_t = { + 1, kat2642_entropyin, kat2642_nonce, kat2642_persstr, + kat2642_entropyinreseed, kat2642_addinreseed, kat2642_addin0, + kat2642_addin1, kat2642_retbits +}; +static const struct drbg_kat kat2642 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2642_t +}; + +static const unsigned char kat2643_entropyin[] = { + 0xf2, 0x53, 0xfd, 0x44, 0x2b, 0x10, 0x54, 0x34, 0xc0, 0xf4, 0x7b, 0xa9, + 0xb6, 0x79, 0x8b, 0xc2, 0x0c, 0x88, 0x32, 0xa1, 0x42, 0xa2, 0xa6, 0xd9, + 0x65, 0x67, 0x84, 0x85, 0xa3, 0xac, 0x52, 0x39, 0x35, 0x28, 0xa5, 0xe0, + 0x92, 0x34, 0x1d, 0x60, 0xad, 0x74, 0x42, 0x9f, 0x40, 0x05, 0xf8, 0xbb, +}; +static const unsigned char kat2643_nonce[] = {0}; +static const unsigned char kat2643_persstr[] = {0}; +static const unsigned char kat2643_entropyinreseed[] = { + 0x60, 0x0c, 0x82, 0x2b, 0x19, 0x8d, 0xbd, 0xcd, 0x9d, 0x13, 0xee, 0x25, + 0xbd, 0x4b, 0x84, 0x6e, 0x5d, 0x86, 0x65, 0x72, 0x5e, 0xac, 0x53, 0x47, + 0xb4, 0xcf, 0xe7, 0x51, 0x2c, 0x1f, 0x3f, 0xbd, 0xc4, 0xc5, 0x1c, 0x85, + 0xd9, 0x77, 0xca, 0x58, 0xe9, 0xe6, 0x48, 0x5a, 0x17, 0xc5, 0x33, 0xbb, +}; +static const unsigned char kat2643_addinreseed[] = {0}; +static const unsigned char kat2643_addin0[] = {0}; +static const unsigned char kat2643_addin1[] = {0}; +static const unsigned char kat2643_retbits[] = { + 0x07, 0x64, 0x19, 0xbd, 0xd3, 0x54, 0xd6, 0xa1, 0xf1, 0x41, 0x5a, 0x0a, + 0x71, 0xbe, 0xd9, 0x4d, 0xb2, 0x9c, 0xad, 0x22, 0xf0, 0x20, 0x5d, 0x98, + 0x3c, 0x84, 0x18, 0x74, 0x49, 0x78, 0x75, 0xa4, 0x85, 0x74, 0x04, 0xe5, + 0x73, 0x54, 0x53, 0x66, 0x85, 0x0f, 0xe6, 0xeb, 0x52, 0x86, 0xe0, 0xde, + 0xb8, 0x7d, 0xdd, 0x63, 0xbb, 0x33, 0x17, 0xb4, 0x55, 0x6a, 0x82, 0x92, + 0x04, 0x12, 0xae, 0xef, +}; +static const struct drbg_kat_pr_false kat2643_t = { + 2, kat2643_entropyin, kat2643_nonce, kat2643_persstr, + kat2643_entropyinreseed, kat2643_addinreseed, kat2643_addin0, + kat2643_addin1, kat2643_retbits +}; +static const struct drbg_kat kat2643 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2643_t +}; + +static const unsigned char kat2644_entropyin[] = { + 0x8d, 0xbf, 0x2c, 0x37, 0xdb, 0xbf, 0x38, 0x62, 0xf0, 0x5a, 0xf4, 0xb3, + 0x2e, 0x98, 0xed, 0xd3, 0xd8, 0xcd, 0x7b, 0xd3, 0x4d, 0x8a, 0x23, 0xda, + 0xa2, 0xd1, 0x52, 0x00, 0xda, 0xed, 0x6e, 0x9d, 0x23, 0x83, 0x87, 0xba, + 0x85, 0xdd, 0xfd, 0x35, 0xa2, 0x98, 0x6b, 0xdf, 0x57, 0x90, 0xe1, 0xa7, +}; +static const unsigned char kat2644_nonce[] = {0}; +static const unsigned char kat2644_persstr[] = {0}; +static const unsigned char kat2644_entropyinreseed[] = { + 0xf6, 0x7a, 0xed, 0x05, 0xde, 0xa0, 0x8b, 0xaa, 0x16, 0xcb, 0xb6, 0x69, + 0xae, 0x31, 0x0a, 0x0b, 0x8e, 0x01, 0x9d, 0xa0, 0xa7, 0xfe, 0x27, 0x62, + 0xab, 0xf6, 0x84, 0x12, 0x12, 0x92, 0x18, 0x6a, 0x50, 0xbc, 0x13, 0xd5, + 0x68, 0x57, 0x6c, 0xe5, 0xd7, 0xae, 0xb0, 0x80, 0xe4, 0x60, 0x4a, 0x1e, +}; +static const unsigned char kat2644_addinreseed[] = {0}; +static const unsigned char kat2644_addin0[] = {0}; +static const unsigned char kat2644_addin1[] = {0}; +static const unsigned char kat2644_retbits[] = { + 0x69, 0x66, 0x6e, 0x65, 0xc5, 0x62, 0x31, 0x40, 0xda, 0x35, 0x92, 0x7e, + 0xc3, 0x91, 0x89, 0xfc, 0xfd, 0xa0, 0x89, 0x16, 0x74, 0xef, 0xdc, 0xd2, + 0xa7, 0xd6, 0xf2, 0x62, 0x89, 0x21, 0xa3, 0x7b, 0xd4, 0x9a, 0x16, 0x45, + 0x90, 0x41, 0x3c, 0x04, 0xf6, 0x09, 0x0a, 0x50, 0x33, 0x6f, 0x04, 0x0b, + 0x01, 0x5d, 0xd8, 0xc4, 0x54, 0x52, 0x99, 0x1b, 0xcd, 0xd9, 0x69, 0x94, + 0xc5, 0xec, 0xc6, 0xbd, +}; +static const struct drbg_kat_pr_false kat2644_t = { + 3, kat2644_entropyin, kat2644_nonce, kat2644_persstr, + kat2644_entropyinreseed, kat2644_addinreseed, kat2644_addin0, + kat2644_addin1, kat2644_retbits +}; +static const struct drbg_kat kat2644 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2644_t +}; + +static const unsigned char kat2645_entropyin[] = { + 0x2f, 0xac, 0x25, 0xdc, 0xea, 0x52, 0x74, 0xa7, 0xdb, 0xd6, 0xaf, 0x11, + 0x2d, 0x75, 0x7b, 0x59, 0xa4, 0x44, 0x7f, 0x5d, 0xcb, 0xda, 0x97, 0x26, + 0x66, 0xaf, 0x07, 0x1c, 0x5d, 0x8f, 0x71, 0x58, 0x3e, 0xc6, 0x91, 0x4a, + 0x1e, 0x68, 0x5f, 0x61, 0x0b, 0x8a, 0x43, 0xff, 0xad, 0xa0, 0xb4, 0x11, +}; +static const unsigned char kat2645_nonce[] = {0}; +static const unsigned char kat2645_persstr[] = {0}; +static const unsigned char kat2645_entropyinreseed[] = { + 0x52, 0xf5, 0xb1, 0xf9, 0x27, 0xc0, 0x87, 0x3a, 0xe3, 0x75, 0xd6, 0xa6, + 0xe1, 0x40, 0xfe, 0x59, 0x4f, 0xd4, 0x74, 0xa6, 0x3b, 0xcd, 0xcd, 0x6a, + 0x98, 0x10, 0x9e, 0x32, 0xad, 0x98, 0x0c, 0xe5, 0x34, 0x71, 0x4e, 0xc6, + 0x26, 0xda, 0xd7, 0xac, 0xd4, 0x31, 0x01, 0x41, 0x5e, 0x58, 0x17, 0xd2, +}; +static const unsigned char kat2645_addinreseed[] = {0}; +static const unsigned char kat2645_addin0[] = {0}; +static const unsigned char kat2645_addin1[] = {0}; +static const unsigned char kat2645_retbits[] = { + 0x30, 0x96, 0xcf, 0x20, 0x13, 0x7e, 0xb6, 0xf9, 0x4d, 0x9d, 0x26, 0xa4, + 0x87, 0x1e, 0xdd, 0xf1, 0x02, 0x85, 0xc6, 0x98, 0x47, 0x76, 0x84, 0x71, + 0x05, 0xca, 0x92, 0x94, 0xaa, 0xfc, 0x68, 0x92, 0x5a, 0xd8, 0xbd, 0x7f, + 0x36, 0xbb, 0x68, 0xfe, 0x37, 0x14, 0x76, 0x11, 0x46, 0x49, 0xea, 0xd1, + 0x1b, 0x92, 0x6f, 0x9f, 0x0f, 0xc1, 0xd2, 0x1c, 0x74, 0x43, 0x42, 0xff, + 0x5c, 0x44, 0xc8, 0xe3, +}; +static const struct drbg_kat_pr_false kat2645_t = { + 4, kat2645_entropyin, kat2645_nonce, kat2645_persstr, + kat2645_entropyinreseed, kat2645_addinreseed, kat2645_addin0, + kat2645_addin1, kat2645_retbits +}; +static const struct drbg_kat kat2645 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2645_t +}; + +static const unsigned char kat2646_entropyin[] = { + 0x41, 0x33, 0xa0, 0xe6, 0xce, 0x83, 0x71, 0x25, 0xf4, 0x6f, 0x2a, 0x44, + 0xe0, 0x5c, 0x4f, 0x64, 0xd7, 0x68, 0x79, 0x15, 0x6e, 0xa1, 0x6a, 0x1d, + 0x16, 0xdb, 0x1d, 0x3e, 0xc4, 0x60, 0xcc, 0x53, 0x60, 0x9f, 0xa9, 0xe4, + 0xb3, 0x08, 0x1f, 0x9d, 0xde, 0x0b, 0x79, 0xf0, 0x0c, 0x93, 0xac, 0x5a, +}; +static const unsigned char kat2646_nonce[] = {0}; +static const unsigned char kat2646_persstr[] = {0}; +static const unsigned char kat2646_entropyinreseed[] = { + 0x46, 0x13, 0xb2, 0x32, 0x7d, 0xc9, 0x05, 0x4f, 0x34, 0xfa, 0xf9, 0x33, + 0xd6, 0x2b, 0xf7, 0xb1, 0x2e, 0xc8, 0xb3, 0x46, 0x26, 0xc0, 0x7e, 0xf7, + 0x51, 0x2c, 0xec, 0xd8, 0xae, 0xdc, 0xbd, 0x40, 0x23, 0xf2, 0x6b, 0x85, + 0x9a, 0x94, 0x1c, 0x5a, 0xf7, 0x7e, 0xc1, 0xe2, 0xe0, 0x2a, 0x1d, 0x9c, +}; +static const unsigned char kat2646_addinreseed[] = {0}; +static const unsigned char kat2646_addin0[] = {0}; +static const unsigned char kat2646_addin1[] = {0}; +static const unsigned char kat2646_retbits[] = { + 0xbe, 0x02, 0xe9, 0x4f, 0xd1, 0x8c, 0x48, 0x87, 0x41, 0xfd, 0x90, 0xb6, + 0x98, 0x01, 0x18, 0xdf, 0xfb, 0xa1, 0xcd, 0xa5, 0xbd, 0x25, 0xaa, 0x23, + 0xd4, 0x44, 0x14, 0x39, 0x22, 0x01, 0xc5, 0xa7, 0x8c, 0x3e, 0xa6, 0x82, + 0x52, 0xf9, 0x2a, 0xfa, 0xaf, 0x54, 0x0b, 0x29, 0x8d, 0x3f, 0x80, 0xa9, + 0x48, 0x18, 0xf1, 0xd1, 0xca, 0x84, 0xc2, 0xbe, 0x5f, 0x66, 0xa4, 0x61, + 0x91, 0xa7, 0x54, 0x8b, +}; +static const struct drbg_kat_pr_false kat2646_t = { + 5, kat2646_entropyin, kat2646_nonce, kat2646_persstr, + kat2646_entropyinreseed, kat2646_addinreseed, kat2646_addin0, + kat2646_addin1, kat2646_retbits +}; +static const struct drbg_kat kat2646 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2646_t +}; + +static const unsigned char kat2647_entropyin[] = { + 0xe3, 0x12, 0xfd, 0x67, 0xb5, 0x00, 0x9a, 0xb1, 0xc8, 0x96, 0xba, 0x8f, + 0x85, 0xd5, 0x3f, 0xb2, 0x95, 0x17, 0xed, 0x2a, 0x26, 0xd2, 0x0a, 0x4b, + 0x9d, 0x09, 0x50, 0x5e, 0xc0, 0x04, 0xbe, 0xf5, 0x73, 0x9c, 0xc9, 0x4e, + 0x7f, 0x36, 0x89, 0x89, 0xc6, 0x75, 0xee, 0xe1, 0xf4, 0x05, 0x01, 0xa2, +}; +static const unsigned char kat2647_nonce[] = {0}; +static const unsigned char kat2647_persstr[] = {0}; +static const unsigned char kat2647_entropyinreseed[] = { + 0x17, 0x6e, 0xc1, 0x1c, 0x0d, 0x44, 0x62, 0xea, 0x26, 0xb1, 0xbd, 0xee, + 0x41, 0x20, 0x8e, 0x3f, 0xf3, 0xb4, 0x30, 0xde, 0x11, 0xf1, 0x25, 0x67, + 0xeb, 0xe9, 0x82, 0xc1, 0x6d, 0x70, 0x9f, 0x68, 0x1f, 0xcd, 0x9f, 0x5b, + 0xd5, 0x30, 0x9f, 0x3f, 0x2a, 0x9d, 0x80, 0xb3, 0xa4, 0x26, 0x92, 0x9a, +}; +static const unsigned char kat2647_addinreseed[] = {0}; +static const unsigned char kat2647_addin0[] = {0}; +static const unsigned char kat2647_addin1[] = {0}; +static const unsigned char kat2647_retbits[] = { + 0x07, 0xcb, 0x9f, 0x51, 0xe3, 0x4b, 0xe3, 0x8f, 0xe1, 0xd1, 0xc1, 0x88, + 0x58, 0xee, 0x44, 0xdb, 0x22, 0x7c, 0x1e, 0x6a, 0x6c, 0x2f, 0x7d, 0x09, + 0xe9, 0x14, 0x3e, 0x87, 0xe9, 0xe0, 0x9d, 0xf0, 0xaf, 0x9a, 0x5c, 0xb7, + 0xa1, 0x83, 0xe5, 0xd2, 0x63, 0x59, 0x50, 0x9f, 0xe6, 0x19, 0xe5, 0x2e, + 0x59, 0xe3, 0x33, 0x3d, 0x36, 0x20, 0x37, 0x3d, 0x3a, 0xe5, 0xa0, 0x08, + 0xb5, 0x1e, 0xf7, 0x86, +}; +static const struct drbg_kat_pr_false kat2647_t = { + 6, kat2647_entropyin, kat2647_nonce, kat2647_persstr, + kat2647_entropyinreseed, kat2647_addinreseed, kat2647_addin0, + kat2647_addin1, kat2647_retbits +}; +static const struct drbg_kat kat2647 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2647_t +}; + +static const unsigned char kat2648_entropyin[] = { + 0x3e, 0xaf, 0x30, 0x11, 0x71, 0x35, 0xd9, 0x16, 0x7c, 0x82, 0x9e, 0x35, + 0xbd, 0x8d, 0xa2, 0x27, 0xa6, 0x30, 0x24, 0x71, 0xb6, 0x49, 0x38, 0x18, + 0x58, 0x08, 0x5e, 0x67, 0xc6, 0x54, 0x96, 0x05, 0x8d, 0xed, 0x0a, 0xb1, + 0x76, 0xa3, 0x8b, 0x38, 0x88, 0xf4, 0xe3, 0xc2, 0xe6, 0x52, 0x69, 0xdd, +}; +static const unsigned char kat2648_nonce[] = {0}; +static const unsigned char kat2648_persstr[] = {0}; +static const unsigned char kat2648_entropyinreseed[] = { + 0xdf, 0x60, 0xa1, 0xb9, 0xfb, 0x2f, 0x85, 0x01, 0x75, 0x6e, 0xdd, 0x09, + 0xe4, 0x89, 0xfc, 0x98, 0xa6, 0x0e, 0xd0, 0x86, 0x46, 0xf5, 0xa2, 0xe0, + 0x18, 0xf5, 0x5b, 0x71, 0xc7, 0x6b, 0x9b, 0x77, 0x18, 0xac, 0x4a, 0xe6, + 0x1b, 0x41, 0x24, 0x15, 0x93, 0x82, 0x91, 0x08, 0xdd, 0xeb, 0x0e, 0xf0, +}; +static const unsigned char kat2648_addinreseed[] = {0}; +static const unsigned char kat2648_addin0[] = {0}; +static const unsigned char kat2648_addin1[] = {0}; +static const unsigned char kat2648_retbits[] = { + 0x29, 0xc4, 0xd5, 0x40, 0x35, 0x4e, 0x97, 0xf5, 0x0f, 0x3f, 0xb1, 0xde, + 0x84, 0xee, 0xf4, 0x71, 0x19, 0x2c, 0xd7, 0x6a, 0x67, 0x0d, 0xe3, 0x41, + 0x76, 0xc6, 0x46, 0x55, 0x23, 0xff, 0x24, 0x9e, 0xd5, 0xea, 0xfe, 0x2c, + 0x09, 0xf0, 0x91, 0xf5, 0xed, 0x10, 0x1c, 0xf8, 0xa9, 0x71, 0xd7, 0x82, + 0xf1, 0x50, 0xa2, 0x64, 0x2e, 0xd2, 0x91, 0xe8, 0x50, 0x90, 0x6e, 0x29, + 0x32, 0x8d, 0x6b, 0x8a, +}; +static const struct drbg_kat_pr_false kat2648_t = { + 7, kat2648_entropyin, kat2648_nonce, kat2648_persstr, + kat2648_entropyinreseed, kat2648_addinreseed, kat2648_addin0, + kat2648_addin1, kat2648_retbits +}; +static const struct drbg_kat kat2648 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2648_t +}; + +static const unsigned char kat2649_entropyin[] = { + 0x99, 0xd5, 0x54, 0x3c, 0x19, 0x2c, 0x6a, 0x10, 0x69, 0xbf, 0x54, 0x8d, + 0x80, 0xd6, 0x78, 0xbc, 0x42, 0xc1, 0xf0, 0x20, 0xf0, 0xb2, 0x9a, 0x0c, + 0xee, 0xba, 0x42, 0x4c, 0x03, 0xf8, 0xa8, 0xaa, 0x38, 0xdf, 0x1c, 0x0f, + 0xe1, 0x00, 0xee, 0x4c, 0x1b, 0x0b, 0xc8, 0x70, 0xb4, 0xaf, 0xa3, 0xd2, +}; +static const unsigned char kat2649_nonce[] = {0}; +static const unsigned char kat2649_persstr[] = {0}; +static const unsigned char kat2649_entropyinreseed[] = { + 0xa0, 0xfd, 0xdd, 0x29, 0xc7, 0x92, 0xf6, 0xf4, 0x11, 0xb5, 0xd5, 0x32, + 0xff, 0xf2, 0x56, 0x4d, 0x49, 0x2c, 0xa1, 0x5a, 0xc8, 0xb7, 0xfe, 0x1b, + 0x45, 0x75, 0xe9, 0xb5, 0x98, 0x06, 0x82, 0x36, 0x65, 0xad, 0x7a, 0xc4, + 0xe2, 0xad, 0xcd, 0x28, 0x03, 0xcc, 0xaa, 0xbe, 0x87, 0xab, 0x75, 0xed, +}; +static const unsigned char kat2649_addinreseed[] = {0}; +static const unsigned char kat2649_addin0[] = {0}; +static const unsigned char kat2649_addin1[] = {0}; +static const unsigned char kat2649_retbits[] = { + 0x3d, 0x58, 0xe9, 0x8a, 0x1f, 0x4b, 0xed, 0xa5, 0x0f, 0x84, 0xf7, 0x73, + 0xc4, 0x05, 0xd1, 0x06, 0xb2, 0x8f, 0x4b, 0xe6, 0xda, 0x2a, 0x29, 0x42, + 0x09, 0x84, 0x03, 0x84, 0x3b, 0xff, 0xa3, 0x32, 0x3c, 0x53, 0x66, 0x1a, + 0x7f, 0x07, 0x2a, 0x02, 0x0c, 0x68, 0xf5, 0x5e, 0xa2, 0xb3, 0xa9, 0xcf, + 0x91, 0x57, 0xb7, 0xc4, 0xcd, 0xff, 0x5e, 0x64, 0x2e, 0xe9, 0xbe, 0x1f, + 0x43, 0x6f, 0x9c, 0x18, +}; +static const struct drbg_kat_pr_false kat2649_t = { + 8, kat2649_entropyin, kat2649_nonce, kat2649_persstr, + kat2649_entropyinreseed, kat2649_addinreseed, kat2649_addin0, + kat2649_addin1, kat2649_retbits +}; +static const struct drbg_kat kat2649 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2649_t +}; + +static const unsigned char kat2650_entropyin[] = { + 0x21, 0x51, 0xba, 0x6c, 0xf2, 0xed, 0x6a, 0x73, 0x66, 0x99, 0x1e, 0x51, + 0x64, 0x43, 0x16, 0x2b, 0x6e, 0xd4, 0xe7, 0xf8, 0xef, 0x2d, 0x6c, 0x81, + 0xec, 0x5e, 0x5f, 0xeb, 0x00, 0x61, 0xe2, 0x0c, 0xed, 0x65, 0xda, 0x27, + 0x84, 0x79, 0x56, 0x19, 0x4d, 0xc6, 0x17, 0x7b, 0x5e, 0x0b, 0xef, 0xa9, +}; +static const unsigned char kat2650_nonce[] = {0}; +static const unsigned char kat2650_persstr[] = {0}; +static const unsigned char kat2650_entropyinreseed[] = { + 0x73, 0x41, 0x8e, 0xfa, 0xb1, 0xc6, 0x03, 0x91, 0x45, 0xdc, 0x6c, 0xe0, + 0x9b, 0x84, 0xab, 0xde, 0x4e, 0xf4, 0xf8, 0xea, 0xcc, 0xba, 0xc2, 0x50, + 0x21, 0x3b, 0xdd, 0x75, 0xe2, 0xa5, 0xe8, 0xb4, 0x2f, 0xfb, 0x13, 0x67, + 0xbd, 0x8d, 0x12, 0x81, 0xe3, 0xb0, 0x05, 0x16, 0x51, 0xf7, 0x8a, 0x05, +}; +static const unsigned char kat2650_addinreseed[] = {0}; +static const unsigned char kat2650_addin0[] = {0}; +static const unsigned char kat2650_addin1[] = {0}; +static const unsigned char kat2650_retbits[] = { + 0x5b, 0x21, 0x9c, 0xb2, 0x85, 0xc8, 0x20, 0xf3, 0xbc, 0xe5, 0x2b, 0x9e, + 0xff, 0x15, 0xaf, 0xa0, 0x42, 0xde, 0x30, 0x36, 0xf1, 0xa5, 0x28, 0x96, + 0xea, 0xb3, 0x4e, 0x44, 0x76, 0xc2, 0x8c, 0x60, 0x12, 0x7c, 0xf8, 0xda, + 0xdd, 0xce, 0x08, 0x09, 0xef, 0xaf, 0xab, 0x03, 0xc9, 0x26, 0x9c, 0xd2, + 0x20, 0xa4, 0x9f, 0x79, 0x22, 0x0e, 0x14, 0xdb, 0x9d, 0x20, 0x83, 0x11, + 0xd2, 0xa2, 0x2a, 0x1b, +}; +static const struct drbg_kat_pr_false kat2650_t = { + 9, kat2650_entropyin, kat2650_nonce, kat2650_persstr, + kat2650_entropyinreseed, kat2650_addinreseed, kat2650_addin0, + kat2650_addin1, kat2650_retbits +}; +static const struct drbg_kat kat2650 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2650_t +}; + +static const unsigned char kat2651_entropyin[] = { + 0x7c, 0x73, 0x21, 0xb6, 0x9f, 0xde, 0xfd, 0xec, 0xe3, 0x2c, 0x45, 0xe4, + 0x7c, 0xce, 0x07, 0xa0, 0xd5, 0x99, 0xe8, 0x3e, 0xa8, 0xee, 0x57, 0x81, + 0xe2, 0xf2, 0xff, 0x34, 0x1f, 0x29, 0x2c, 0x0b, 0xdb, 0x84, 0x8e, 0x5a, + 0xb3, 0x79, 0x77, 0x16, 0x39, 0xe8, 0x11, 0xfe, 0xd4, 0x5f, 0x63, 0xd7, +}; +static const unsigned char kat2651_nonce[] = {0}; +static const unsigned char kat2651_persstr[] = {0}; +static const unsigned char kat2651_entropyinreseed[] = { + 0x4b, 0x04, 0x65, 0x2d, 0x3d, 0x05, 0x15, 0xb3, 0x05, 0xf4, 0xda, 0x34, + 0x67, 0x54, 0xc0, 0xd3, 0x98, 0xc8, 0xcf, 0xef, 0xe8, 0xe5, 0xc1, 0xed, + 0xac, 0xb7, 0x9c, 0xb8, 0x39, 0x60, 0x18, 0xbd, 0xa1, 0x2a, 0xd7, 0xd4, + 0x2b, 0xf8, 0x6e, 0x80, 0x11, 0x59, 0xbb, 0x62, 0xc3, 0x4f, 0xff, 0x68, +}; +static const unsigned char kat2651_addinreseed[] = {0}; +static const unsigned char kat2651_addin0[] = {0}; +static const unsigned char kat2651_addin1[] = {0}; +static const unsigned char kat2651_retbits[] = { + 0x37, 0x9c, 0x12, 0xdc, 0x2c, 0x8a, 0x88, 0x4c, 0x6f, 0x40, 0xdf, 0x53, + 0x53, 0x04, 0x7d, 0x74, 0xef, 0xbd, 0x9c, 0x62, 0x67, 0x95, 0xb8, 0x62, + 0x56, 0xab, 0xec, 0x4a, 0x6f, 0x42, 0xba, 0x26, 0x52, 0x9f, 0x19, 0xe4, + 0xb0, 0x43, 0xf5, 0x37, 0x76, 0x18, 0x0c, 0x7a, 0xb1, 0x6a, 0x38, 0x17, + 0xb4, 0xa5, 0x0c, 0x09, 0xbb, 0x33, 0x55, 0x23, 0x47, 0x86, 0xe7, 0x14, + 0xed, 0xb9, 0xe2, 0xb4, +}; +static const struct drbg_kat_pr_false kat2651_t = { + 10, kat2651_entropyin, kat2651_nonce, kat2651_persstr, + kat2651_entropyinreseed, kat2651_addinreseed, kat2651_addin0, + kat2651_addin1, kat2651_retbits +}; +static const struct drbg_kat kat2651 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2651_t +}; + +static const unsigned char kat2652_entropyin[] = { + 0x3a, 0x56, 0x32, 0x9b, 0x07, 0xdf, 0xfb, 0x8b, 0xc7, 0x76, 0x1c, 0x0c, + 0x2b, 0x4e, 0xc4, 0xec, 0x3b, 0x7e, 0xd2, 0x51, 0x3f, 0x0c, 0xc3, 0xd9, + 0xbe, 0x3e, 0xb9, 0xa1, 0x53, 0xe8, 0xe1, 0x60, 0x5d, 0x93, 0x92, 0xdb, + 0xb9, 0x51, 0xe4, 0xb0, 0x98, 0x9e, 0xf4, 0x73, 0x30, 0x1f, 0x6f, 0x57, +}; +static const unsigned char kat2652_nonce[] = {0}; +static const unsigned char kat2652_persstr[] = {0}; +static const unsigned char kat2652_entropyinreseed[] = { + 0xff, 0x6e, 0xfb, 0x9b, 0x94, 0x67, 0x48, 0xaf, 0x09, 0x92, 0xbd, 0xc3, + 0x8e, 0xeb, 0x15, 0xd4, 0x99, 0x1b, 0xb6, 0x10, 0x69, 0x2e, 0x1f, 0xe5, + 0x3f, 0xf8, 0x28, 0x40, 0x59, 0x24, 0xa5, 0x44, 0xee, 0x0e, 0x4d, 0xa7, + 0x0a, 0xa1, 0xd0, 0xae, 0x55, 0xe7, 0x92, 0x5a, 0x58, 0xcf, 0x55, 0x97, +}; +static const unsigned char kat2652_addinreseed[] = {0}; +static const unsigned char kat2652_addin0[] = {0}; +static const unsigned char kat2652_addin1[] = {0}; +static const unsigned char kat2652_retbits[] = { + 0x9f, 0x32, 0xe4, 0x03, 0x91, 0x21, 0x78, 0x33, 0x17, 0x6c, 0xa7, 0x68, + 0xbe, 0xed, 0xd2, 0x83, 0x98, 0x92, 0xc6, 0xfc, 0x17, 0xde, 0xc5, 0xc2, + 0x50, 0xf0, 0x82, 0x0c, 0x57, 0x6e, 0x4e, 0xd6, 0x15, 0x72, 0x96, 0x53, + 0x51, 0x5a, 0xe1, 0x32, 0x92, 0xa2, 0xe4, 0xae, 0xda, 0xa2, 0xdf, 0x74, + 0xc6, 0x53, 0x5d, 0x8c, 0x62, 0x5d, 0xd1, 0xca, 0xb4, 0x79, 0xd3, 0xc5, + 0xae, 0x7b, 0xf9, 0x55, +}; +static const struct drbg_kat_pr_false kat2652_t = { + 11, kat2652_entropyin, kat2652_nonce, kat2652_persstr, + kat2652_entropyinreseed, kat2652_addinreseed, kat2652_addin0, + kat2652_addin1, kat2652_retbits +}; +static const struct drbg_kat kat2652 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2652_t +}; + +static const unsigned char kat2653_entropyin[] = { + 0xd5, 0x50, 0xf4, 0x8a, 0xf4, 0x36, 0xae, 0x42, 0xea, 0x48, 0xa8, 0xcb, + 0x0c, 0xd6, 0x15, 0xbe, 0x8d, 0xb5, 0x16, 0x91, 0xb3, 0x65, 0xef, 0x20, + 0xed, 0x82, 0x6b, 0x28, 0x56, 0x1f, 0xba, 0xcc, 0x9d, 0xeb, 0x28, 0xcd, + 0x3d, 0x83, 0x65, 0x50, 0x33, 0x06, 0x89, 0x48, 0xc5, 0x56, 0x83, 0xda, +}; +static const unsigned char kat2653_nonce[] = {0}; +static const unsigned char kat2653_persstr[] = {0}; +static const unsigned char kat2653_entropyinreseed[] = { + 0x76, 0xea, 0x2e, 0x73, 0x2f, 0x77, 0xb3, 0x37, 0xdd, 0xd4, 0x02, 0xe3, + 0x67, 0xc1, 0x58, 0xda, 0xcc, 0x34, 0x33, 0xfe, 0xb4, 0x0d, 0x7b, 0x43, + 0x76, 0xfb, 0x8d, 0xc4, 0x49, 0x89, 0x13, 0x36, 0xb0, 0x08, 0x41, 0x58, + 0x0e, 0xa1, 0x89, 0x58, 0x3a, 0xda, 0x95, 0xce, 0xf7, 0x83, 0xd5, 0x40, +}; +static const unsigned char kat2653_addinreseed[] = {0}; +static const unsigned char kat2653_addin0[] = {0}; +static const unsigned char kat2653_addin1[] = {0}; +static const unsigned char kat2653_retbits[] = { + 0x84, 0x33, 0xb2, 0xac, 0x45, 0xda, 0x6f, 0xdc, 0xbe, 0xaf, 0x3e, 0x6f, + 0x76, 0xe6, 0x6b, 0xeb, 0x5b, 0x90, 0xa8, 0x9a, 0x9c, 0xb1, 0x97, 0xcf, + 0xbe, 0x40, 0x5e, 0xd5, 0x3b, 0x1d, 0xd5, 0x1a, 0x42, 0xcf, 0xc9, 0xae, + 0xc5, 0xfe, 0x7c, 0xf7, 0x78, 0xf8, 0x80, 0x31, 0xfb, 0x7b, 0x15, 0xb0, + 0x87, 0x4d, 0x4d, 0x1e, 0xa8, 0x7e, 0xf3, 0x89, 0x58, 0x48, 0x72, 0x1b, + 0x34, 0xfb, 0x1a, 0x35, +}; +static const struct drbg_kat_pr_false kat2653_t = { + 12, kat2653_entropyin, kat2653_nonce, kat2653_persstr, + kat2653_entropyinreseed, kat2653_addinreseed, kat2653_addin0, + kat2653_addin1, kat2653_retbits +}; +static const struct drbg_kat kat2653 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2653_t +}; + +static const unsigned char kat2654_entropyin[] = { + 0xce, 0x61, 0x37, 0xf7, 0x20, 0xaf, 0xfd, 0x10, 0x63, 0x96, 0xd9, 0xb6, + 0x65, 0x40, 0x58, 0x0a, 0xe2, 0x16, 0xd5, 0xd7, 0xda, 0xb4, 0x8e, 0xd2, + 0x72, 0x9c, 0xdb, 0x3e, 0x58, 0x7c, 0x7d, 0x8d, 0xa1, 0x3c, 0xe3, 0x9e, + 0xa8, 0xd9, 0xd8, 0xc2, 0x22, 0x20, 0xa9, 0x6b, 0x74, 0xe7, 0xee, 0x9d, +}; +static const unsigned char kat2654_nonce[] = {0}; +static const unsigned char kat2654_persstr[] = {0}; +static const unsigned char kat2654_entropyinreseed[] = { + 0xaf, 0x9f, 0x12, 0xfd, 0xde, 0xef, 0x00, 0x1b, 0x08, 0xa5, 0x99, 0x3f, + 0x62, 0xda, 0x5e, 0x7c, 0x3a, 0xff, 0x23, 0xf8, 0x82, 0xae, 0x87, 0x4b, + 0x9f, 0x66, 0xf2, 0x8e, 0xca, 0x11, 0x06, 0xe6, 0x38, 0x6d, 0xd8, 0x2f, + 0x07, 0xae, 0x1f, 0xb6, 0x86, 0x8f, 0x18, 0x6e, 0x2e, 0xc4, 0xf4, 0x49, +}; +static const unsigned char kat2654_addinreseed[] = {0}; +static const unsigned char kat2654_addin0[] = {0}; +static const unsigned char kat2654_addin1[] = {0}; +static const unsigned char kat2654_retbits[] = { + 0x21, 0x9f, 0xc1, 0x60, 0xdb, 0xc1, 0x36, 0xcd, 0xc9, 0xa7, 0xc3, 0x40, + 0x7e, 0xaf, 0xde, 0x46, 0x39, 0x60, 0x2c, 0xc5, 0x81, 0x01, 0xc5, 0x12, + 0xdf, 0xbd, 0x85, 0xcc, 0x26, 0xb6, 0x1f, 0xc9, 0xa9, 0x4c, 0xdf, 0x76, + 0xf1, 0x5a, 0x1d, 0xe7, 0xa4, 0x6e, 0x36, 0xab, 0x64, 0xac, 0xa3, 0xee, + 0xae, 0x36, 0xac, 0xd6, 0xe3, 0xd0, 0xb3, 0xfe, 0x59, 0xb7, 0x59, 0x58, + 0xb3, 0xed, 0xdd, 0x24, +}; +static const struct drbg_kat_pr_false kat2654_t = { + 13, kat2654_entropyin, kat2654_nonce, kat2654_persstr, + kat2654_entropyinreseed, kat2654_addinreseed, kat2654_addin0, + kat2654_addin1, kat2654_retbits +}; +static const struct drbg_kat kat2654 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2654_t +}; + +static const unsigned char kat2655_entropyin[] = { + 0x1a, 0xcc, 0xff, 0x5a, 0x19, 0x86, 0x11, 0x64, 0xc5, 0xd2, 0xcf, 0x54, + 0x2c, 0xf4, 0x1a, 0x78, 0x9f, 0x14, 0x3c, 0x79, 0x56, 0x51, 0x8a, 0xe1, + 0x58, 0xd4, 0x44, 0x9f, 0xf0, 0xc2, 0x57, 0xa0, 0x09, 0x66, 0xfa, 0xa8, + 0x62, 0xcc, 0xbb, 0x36, 0x3b, 0xcf, 0x4a, 0xeb, 0x31, 0x08, 0x91, 0x34, +}; +static const unsigned char kat2655_nonce[] = {0}; +static const unsigned char kat2655_persstr[] = {0}; +static const unsigned char kat2655_entropyinreseed[] = { + 0xf2, 0xfa, 0x58, 0x20, 0x97, 0x59, 0xd8, 0x4b, 0xf3, 0x8a, 0x16, 0x56, + 0xba, 0xe6, 0x55, 0x66, 0x97, 0x67, 0xa9, 0x02, 0xad, 0xe2, 0x2a, 0x83, + 0x0d, 0xf5, 0x6b, 0x32, 0xef, 0x9e, 0x1c, 0x99, 0x23, 0x35, 0xeb, 0x4c, + 0xb2, 0x7e, 0xeb, 0x14, 0x2b, 0xfd, 0x21, 0xb5, 0xd3, 0x14, 0x51, 0xde, +}; +static const unsigned char kat2655_addinreseed[] = {0}; +static const unsigned char kat2655_addin0[] = {0}; +static const unsigned char kat2655_addin1[] = {0}; +static const unsigned char kat2655_retbits[] = { + 0xf2, 0x14, 0xb4, 0x05, 0x5d, 0x18, 0x2c, 0xb2, 0x58, 0xd9, 0xe9, 0xb6, + 0x12, 0x51, 0xbe, 0xbc, 0x9b, 0xf0, 0x90, 0xdb, 0x66, 0x2c, 0x4e, 0x36, + 0x02, 0x3c, 0xc1, 0x56, 0x96, 0x4f, 0xbb, 0xe1, 0xce, 0xdf, 0x69, 0x1c, + 0xd0, 0xc3, 0xd7, 0xdb, 0x42, 0x62, 0xfb, 0x65, 0xa5, 0xd3, 0x4b, 0x94, + 0x2f, 0x90, 0x9b, 0x0f, 0x31, 0xfc, 0x18, 0x00, 0x97, 0x66, 0x41, 0x35, + 0x23, 0xdc, 0xaf, 0x40, +}; +static const struct drbg_kat_pr_false kat2655_t = { + 14, kat2655_entropyin, kat2655_nonce, kat2655_persstr, + kat2655_entropyinreseed, kat2655_addinreseed, kat2655_addin0, + kat2655_addin1, kat2655_retbits +}; +static const struct drbg_kat kat2655 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2655_t +}; + +static const unsigned char kat2656_entropyin[] = { + 0x99, 0x90, 0x31, 0x65, 0x90, 0x3f, 0xea, 0x49, 0xc2, 0xdb, 0x26, 0xed, + 0x67, 0x5e, 0x44, 0xcc, 0x14, 0xcb, 0x2c, 0x1f, 0x28, 0xb8, 0x36, 0xb2, + 0x03, 0x24, 0x0b, 0x02, 0x77, 0x1e, 0x83, 0x11, 0x46, 0xff, 0xc4, 0x33, + 0x53, 0x73, 0xbb, 0x34, 0x46, 0x88, 0xc5, 0xc9, 0x50, 0x67, 0x02, 0x91, +}; +static const unsigned char kat2656_nonce[] = {0}; +static const unsigned char kat2656_persstr[] = {0}; +static const unsigned char kat2656_entropyinreseed[] = { + 0xb4, 0xee, 0x99, 0xfa, 0x9e, 0x0e, 0xdd, 0xaf, 0x4a, 0x36, 0x12, 0x01, + 0x3c, 0xd6, 0x36, 0xc4, 0xaf, 0x69, 0x17, 0x7b, 0x43, 0xee, 0xbb, 0x3c, + 0x58, 0xa3, 0x05, 0xb9, 0x97, 0x9b, 0x68, 0xb5, 0xcc, 0x82, 0x05, 0x04, + 0xf6, 0xc0, 0x29, 0xaa, 0xd7, 0x8a, 0x5d, 0x29, 0xc6, 0x6e, 0x84, 0xa0, +}; +static const unsigned char kat2656_addinreseed[] = { + 0x2d, 0x8c, 0x5c, 0x28, 0xb0, 0x56, 0x96, 0xe7, 0x47, 0x74, 0xeb, 0x69, + 0xa1, 0x0f, 0x01, 0xc5, 0xfa, 0xbc, 0x62, 0x69, 0x1d, 0xdf, 0x78, 0x48, + 0xa8, 0x00, 0x4b, 0xb5, 0xee, 0xb4, 0xd2, 0xc5, 0xfe, 0xbe, 0x1a, 0xa0, + 0x1f, 0x4d, 0x55, 0x7b, 0x23, 0xd7, 0xe9, 0xa0, 0xe4, 0xe9, 0x06, 0x55, +}; +static const unsigned char kat2656_addin0[] = { + 0x0d, 0xc9, 0xcd, 0xe4, 0x2a, 0xc6, 0xe8, 0x56, 0xf0, 0x1a, 0x55, 0xf2, + 0x19, 0xc6, 0x14, 0xde, 0x90, 0xc6, 0x59, 0x26, 0x09, 0x48, 0xdb, 0x50, + 0x53, 0xd4, 0x14, 0xba, 0xb0, 0xec, 0x2e, 0x13, 0xe9, 0x95, 0x12, 0x0c, + 0x3e, 0xb5, 0xaa, 0xfc, 0x25, 0xdc, 0x4b, 0xdc, 0xef, 0x8a, 0xce, 0x24, +}; +static const unsigned char kat2656_addin1[] = { + 0x71, 0x1b, 0xe6, 0xc0, 0x35, 0x01, 0x31, 0x89, 0xf3, 0x62, 0x21, 0x18, + 0x89, 0x24, 0x8c, 0xa8, 0xa3, 0x26, 0x8e, 0x63, 0xa7, 0xeb, 0x26, 0x83, + 0x6d, 0x91, 0x58, 0x10, 0xa6, 0x80, 0xac, 0x4a, 0x33, 0xcd, 0x11, 0x80, + 0x81, 0x1a, 0x31, 0xa0, 0xf4, 0x4f, 0x08, 0xdb, 0x3d, 0xd6, 0x4f, 0x91, +}; +static const unsigned char kat2656_retbits[] = { + 0x11, 0xc7, 0xa0, 0x32, 0x6e, 0xa7, 0x37, 0xba, 0xa7, 0xa9, 0x93, 0xd5, + 0x10, 0xfa, 0xfe, 0xe5, 0x37, 0x4e, 0x7b, 0xbe, 0x17, 0xef, 0x0e, 0x3e, + 0x29, 0xf5, 0x0f, 0xa6, 0x8a, 0xac, 0x21, 0x24, 0xb0, 0x17, 0xd4, 0x49, + 0x76, 0x84, 0x91, 0xca, 0xc0, 0x6d, 0x13, 0x6d, 0x69, 0x1a, 0x4e, 0x80, + 0x78, 0x57, 0x39, 0xf9, 0xaa, 0xed, 0xf3, 0x11, 0xbb, 0xa7, 0x52, 0xa3, + 0x26, 0x8c, 0xc5, 0x31, +}; +static const struct drbg_kat_pr_false kat2656_t = { + 0, kat2656_entropyin, kat2656_nonce, kat2656_persstr, + kat2656_entropyinreseed, kat2656_addinreseed, kat2656_addin0, + kat2656_addin1, kat2656_retbits +}; +static const struct drbg_kat kat2656 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2656_t +}; + +static const unsigned char kat2657_entropyin[] = { + 0xf9, 0x63, 0x09, 0x65, 0x40, 0xd0, 0x02, 0x3d, 0x67, 0x03, 0xe1, 0x82, + 0x48, 0x75, 0x5a, 0xd1, 0x6a, 0xea, 0x91, 0x85, 0x2a, 0x2d, 0xb0, 0xdd, + 0x0f, 0x6a, 0x41, 0x4d, 0x2a, 0x58, 0x22, 0xf3, 0x22, 0x4a, 0xc8, 0xb1, + 0xd4, 0x7b, 0x01, 0xaa, 0xec, 0xc9, 0x3a, 0xe2, 0x99, 0x08, 0x1d, 0x7d, +}; +static const unsigned char kat2657_nonce[] = {0}; +static const unsigned char kat2657_persstr[] = {0}; +static const unsigned char kat2657_entropyinreseed[] = { + 0x39, 0x9e, 0xd5, 0x4b, 0xd8, 0x46, 0xde, 0x00, 0xd4, 0x2f, 0xb1, 0xf9, + 0x2d, 0x1a, 0xde, 0x93, 0xe8, 0x1e, 0x32, 0xcd, 0x6c, 0xe7, 0x38, 0x25, + 0xf0, 0xbf, 0x86, 0x17, 0x9d, 0xd4, 0x6f, 0xd7, 0x9b, 0xc8, 0xcb, 0xbd, + 0x3b, 0x88, 0x34, 0xe5, 0x8c, 0xc8, 0x66, 0x19, 0xe1, 0x9b, 0x08, 0xb4, +}; +static const unsigned char kat2657_addinreseed[] = { + 0xee, 0x07, 0x3f, 0x9f, 0x61, 0x45, 0xd0, 0xa7, 0xc0, 0x9a, 0x5e, 0x4a, + 0x12, 0xd6, 0x5b, 0xae, 0xba, 0x36, 0x0b, 0xc9, 0xb5, 0xd7, 0xca, 0xdf, + 0x93, 0xe7, 0xd2, 0x45, 0x4d, 0xfd, 0xe5, 0x07, 0xaf, 0x37, 0xe4, 0x97, + 0x82, 0xcf, 0x85, 0x50, 0xdd, 0x3a, 0x54, 0x8e, 0x8c, 0xf9, 0x85, 0x63, +}; +static const unsigned char kat2657_addin0[] = { + 0x6a, 0x42, 0xff, 0xe5, 0x6d, 0xac, 0x0b, 0x4d, 0xc5, 0xd8, 0x4b, 0x49, + 0x69, 0x88, 0x59, 0xb3, 0x64, 0x5c, 0x92, 0x01, 0x51, 0x56, 0x5b, 0xf2, + 0x9f, 0x56, 0xb6, 0x32, 0x22, 0x44, 0xbc, 0xaa, 0x7c, 0xd1, 0xeb, 0xb8, + 0xee, 0x99, 0x36, 0xd8, 0xee, 0x1d, 0x28, 0x0f, 0x54, 0x7a, 0xe2, 0x45, +}; +static const unsigned char kat2657_addin1[] = { + 0xd0, 0x57, 0xc4, 0x18, 0xa7, 0x58, 0xd9, 0x9a, 0x8e, 0xe8, 0x55, 0x09, + 0x3d, 0xa9, 0xbc, 0x17, 0x34, 0xa5, 0x16, 0x8a, 0x6d, 0xf9, 0xd9, 0xc9, + 0x92, 0x4e, 0x8b, 0xb4, 0x72, 0xb5, 0x94, 0x55, 0x63, 0xd8, 0x63, 0x50, + 0xdc, 0xf3, 0xe1, 0x1a, 0xeb, 0xcb, 0xd0, 0x6a, 0x22, 0xb9, 0xef, 0x78, +}; +static const unsigned char kat2657_retbits[] = { + 0xa0, 0xcd, 0x72, 0xe6, 0x3f, 0x49, 0xce, 0x4c, 0x1d, 0x64, 0xe2, 0x1e, + 0x92, 0x54, 0x6a, 0xfc, 0xed, 0x2a, 0xf2, 0x68, 0x54, 0x9e, 0xf4, 0x8d, + 0x3c, 0xa8, 0x8a, 0xfe, 0x4d, 0x40, 0x97, 0xf9, 0x1a, 0x52, 0xec, 0xd0, + 0xe7, 0xad, 0x12, 0xec, 0x0a, 0x1f, 0x67, 0xdd, 0x8c, 0x53, 0x25, 0xb7, + 0x8e, 0xe5, 0x07, 0xc0, 0xa6, 0x3c, 0xf9, 0x0d, 0x64, 0xe9, 0xc4, 0x78, + 0x62, 0xac, 0xed, 0xf3, +}; +static const struct drbg_kat_pr_false kat2657_t = { + 1, kat2657_entropyin, kat2657_nonce, kat2657_persstr, + kat2657_entropyinreseed, kat2657_addinreseed, kat2657_addin0, + kat2657_addin1, kat2657_retbits +}; +static const struct drbg_kat kat2657 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2657_t +}; + +static const unsigned char kat2658_entropyin[] = { + 0x33, 0x3a, 0x02, 0x69, 0xeb, 0x0f, 0xb1, 0xd9, 0xd1, 0xe9, 0x2f, 0x55, + 0xde, 0x9e, 0x13, 0xcd, 0x7e, 0x24, 0xde, 0x64, 0xf5, 0xf2, 0x76, 0x38, + 0x2d, 0x3e, 0xb2, 0xff, 0x35, 0x6a, 0x66, 0x67, 0x9a, 0x9a, 0x75, 0xd2, + 0xda, 0x31, 0xd3, 0x9a, 0x94, 0x0a, 0x09, 0xcc, 0x85, 0xd9, 0xd5, 0x31, +}; +static const unsigned char kat2658_nonce[] = {0}; +static const unsigned char kat2658_persstr[] = {0}; +static const unsigned char kat2658_entropyinreseed[] = { + 0xcb, 0xf5, 0x04, 0xcc, 0x47, 0x3c, 0x9a, 0x6e, 0x66, 0x49, 0x3b, 0x71, + 0xb9, 0x68, 0x4e, 0x8d, 0xf4, 0x58, 0xe6, 0x5d, 0x2c, 0xc6, 0x76, 0xe4, + 0xe6, 0xad, 0x43, 0xeb, 0x59, 0x17, 0x29, 0x32, 0xc0, 0x95, 0x6d, 0x06, + 0x23, 0x13, 0x4a, 0x6a, 0x3b, 0xba, 0x23, 0x90, 0x6e, 0xc9, 0xda, 0x0a, +}; +static const unsigned char kat2658_addinreseed[] = { + 0xab, 0xc8, 0x6c, 0x71, 0xae, 0x05, 0x85, 0x82, 0x7f, 0xfe, 0x0d, 0x19, + 0xa9, 0xfe, 0x97, 0xf2, 0x3c, 0xdc, 0x4a, 0xfd, 0x67, 0x97, 0x8e, 0x55, + 0x3e, 0x06, 0x69, 0xd4, 0x63, 0x5c, 0xa1, 0xdf, 0x30, 0x25, 0x08, 0x43, + 0xfe, 0xfd, 0x4d, 0x12, 0x88, 0xf6, 0xfb, 0xc3, 0xbf, 0xe0, 0x4a, 0x72, +}; +static const unsigned char kat2658_addin0[] = { + 0x15, 0xd1, 0x5f, 0xbe, 0x7c, 0x06, 0x0e, 0x68, 0x11, 0xbf, 0x47, 0xc2, + 0x1e, 0x93, 0x63, 0x9c, 0x00, 0xcd, 0xcc, 0x56, 0x2f, 0x4e, 0x02, 0xc8, + 0x8f, 0x7e, 0x34, 0x7e, 0xc1, 0x4a, 0x2c, 0x84, 0x10, 0xfd, 0xb2, 0xdd, + 0xc3, 0xdf, 0xa6, 0x2b, 0xa9, 0xed, 0x17, 0x58, 0xf1, 0x20, 0x17, 0xdf, +}; +static const unsigned char kat2658_addin1[] = { + 0xff, 0xf3, 0x11, 0xea, 0x4c, 0x5c, 0xbd, 0x8c, 0xe5, 0x3c, 0x45, 0xfe, + 0x8d, 0x81, 0x06, 0xc2, 0x8e, 0xb0, 0x6d, 0x01, 0xec, 0x9d, 0x82, 0x45, + 0xc2, 0x9f, 0x95, 0xb5, 0x0b, 0x13, 0x08, 0x5a, 0x0e, 0xc2, 0x88, 0x03, + 0xd7, 0x33, 0xbd, 0x0d, 0x8a, 0x75, 0x19, 0x3e, 0x63, 0xe2, 0x1d, 0x5d, +}; +static const unsigned char kat2658_retbits[] = { + 0xfc, 0xdb, 0x52, 0xbb, 0x6e, 0x2b, 0xa8, 0xd8, 0x96, 0x97, 0x3b, 0x92, + 0x84, 0xb3, 0x2a, 0xf6, 0x36, 0x4a, 0x34, 0xa2, 0xb8, 0x0b, 0x3e, 0x3c, + 0x76, 0x84, 0xc2, 0x00, 0xc9, 0xe0, 0xa0, 0x2f, 0x7b, 0xc6, 0xc3, 0xcd, + 0x32, 0xb1, 0x59, 0xdf, 0x9b, 0x98, 0xda, 0x07, 0xa1, 0x7b, 0xaa, 0xb9, + 0xb0, 0xb0, 0x7e, 0xab, 0x21, 0x45, 0x44, 0xd5, 0xc5, 0x62, 0xe4, 0x54, + 0xec, 0x64, 0x3d, 0xe1, +}; +static const struct drbg_kat_pr_false kat2658_t = { + 2, kat2658_entropyin, kat2658_nonce, kat2658_persstr, + kat2658_entropyinreseed, kat2658_addinreseed, kat2658_addin0, + kat2658_addin1, kat2658_retbits +}; +static const struct drbg_kat kat2658 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2658_t +}; + +static const unsigned char kat2659_entropyin[] = { + 0x86, 0xe4, 0xc3, 0x0c, 0x5a, 0x7d, 0xfc, 0xca, 0x86, 0xed, 0xa7, 0x72, + 0x39, 0x30, 0xab, 0x32, 0x72, 0x63, 0x5f, 0x0a, 0xd9, 0xe2, 0xfd, 0x70, + 0xa2, 0xd7, 0xa6, 0x9b, 0x6a, 0x07, 0xdc, 0x0c, 0xdd, 0xea, 0xbf, 0xfa, + 0x9c, 0x41, 0x11, 0x98, 0xe3, 0xcb, 0x75, 0x89, 0xcb, 0x29, 0xd3, 0xf2, +}; +static const unsigned char kat2659_nonce[] = {0}; +static const unsigned char kat2659_persstr[] = {0}; +static const unsigned char kat2659_entropyinreseed[] = { + 0xe1, 0xaf, 0x1c, 0x42, 0xcd, 0x29, 0xdd, 0x00, 0x2e, 0x10, 0xe5, 0x83, + 0x9e, 0x8b, 0x67, 0x9d, 0x3c, 0x51, 0x92, 0xda, 0x5e, 0x1b, 0x65, 0x51, + 0x23, 0x13, 0x2f, 0xf1, 0xad, 0xe2, 0x2b, 0x35, 0x65, 0x1a, 0xc6, 0xdf, + 0x66, 0xfa, 0x14, 0xf3, 0x6e, 0x18, 0x32, 0xbe, 0x7a, 0x17, 0x68, 0x95, +}; +static const unsigned char kat2659_addinreseed[] = { + 0x5f, 0x61, 0x90, 0x73, 0xfa, 0x2e, 0x98, 0xb9, 0xf0, 0x6b, 0xb4, 0x67, + 0x6b, 0xb9, 0x72, 0x37, 0x9c, 0xeb, 0x72, 0x7e, 0x1e, 0x87, 0x68, 0xef, + 0x09, 0xe5, 0x32, 0xcf, 0x3d, 0x8f, 0xed, 0x5c, 0xe9, 0x2a, 0x75, 0x28, + 0xeb, 0x55, 0xae, 0x55, 0x29, 0x59, 0xd7, 0x4f, 0x75, 0xdd, 0x03, 0x24, +}; +static const unsigned char kat2659_addin0[] = { + 0x33, 0x0e, 0x31, 0x6b, 0xec, 0x49, 0x55, 0xd9, 0x07, 0xd7, 0xd7, 0xbf, + 0x2b, 0x71, 0x49, 0xf0, 0xaa, 0xf4, 0x28, 0x5e, 0xd1, 0xa2, 0xb7, 0xe3, + 0x87, 0x37, 0x6e, 0xa1, 0xa4, 0xe0, 0x85, 0x8c, 0x11, 0x4e, 0xc3, 0xdd, + 0xdd, 0xf7, 0xa1, 0xed, 0xd7, 0xc8, 0xa2, 0x9b, 0x1f, 0x12, 0xb9, 0x98, +}; +static const unsigned char kat2659_addin1[] = { + 0x40, 0x59, 0x11, 0xcf, 0x7c, 0x67, 0x79, 0xe0, 0x2e, 0x47, 0x40, 0xfa, + 0x97, 0x37, 0xf1, 0x89, 0x37, 0x02, 0x92, 0x49, 0x4c, 0x80, 0x62, 0x1c, + 0xfa, 0xa9, 0xf7, 0xd1, 0x6d, 0x68, 0x21, 0x9e, 0x72, 0xd4, 0x74, 0xf8, + 0xd5, 0xa5, 0x4a, 0xa8, 0xea, 0x80, 0x20, 0xdf, 0xf9, 0xc3, 0x66, 0x50, +}; +static const unsigned char kat2659_retbits[] = { + 0xe3, 0x59, 0xc3, 0xe2, 0x33, 0x15, 0xc9, 0xc1, 0xd6, 0x9a, 0xb2, 0xec, + 0x96, 0xec, 0x3c, 0x6c, 0x5a, 0xad, 0x86, 0x8e, 0x58, 0x70, 0x9e, 0x10, + 0x1b, 0x0f, 0xa0, 0x8c, 0x40, 0x41, 0x24, 0x8e, 0x4d, 0x53, 0x8d, 0x03, + 0x89, 0x93, 0x25, 0x0d, 0x39, 0x5d, 0x96, 0x51, 0x51, 0x35, 0x14, 0xfc, + 0xa5, 0x76, 0x0d, 0xcb, 0x99, 0x70, 0xdc, 0xe5, 0x3d, 0x2d, 0x1c, 0x27, + 0x12, 0xbc, 0x56, 0xd0, +}; +static const struct drbg_kat_pr_false kat2659_t = { + 3, kat2659_entropyin, kat2659_nonce, kat2659_persstr, + kat2659_entropyinreseed, kat2659_addinreseed, kat2659_addin0, + kat2659_addin1, kat2659_retbits +}; +static const struct drbg_kat kat2659 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2659_t +}; + +static const unsigned char kat2660_entropyin[] = { + 0xd8, 0xcc, 0x5d, 0x13, 0xba, 0xde, 0xdb, 0xdc, 0x2f, 0xd4, 0x18, 0x52, + 0x24, 0x7a, 0x9f, 0x28, 0x79, 0xb0, 0x10, 0x3b, 0x4a, 0x81, 0x86, 0xf0, + 0xa0, 0x8d, 0xa7, 0xd5, 0x54, 0x53, 0xb7, 0x48, 0x4f, 0x64, 0x2a, 0x9e, + 0x5a, 0x51, 0x82, 0x34, 0x05, 0x84, 0xd2, 0xca, 0x7c, 0xd5, 0xed, 0x10, +}; +static const unsigned char kat2660_nonce[] = {0}; +static const unsigned char kat2660_persstr[] = {0}; +static const unsigned char kat2660_entropyinreseed[] = { + 0x35, 0x78, 0x8b, 0x83, 0x69, 0xfd, 0xc3, 0xdf, 0xd2, 0x06, 0xef, 0xb8, + 0x73, 0xb5, 0xc5, 0x21, 0x5f, 0x5b, 0x8e, 0xcb, 0x05, 0x41, 0xfc, 0x0a, + 0x0e, 0x02, 0x7e, 0x86, 0x8a, 0x91, 0x05, 0x3b, 0x5d, 0x58, 0xcc, 0x8c, + 0xa0, 0x75, 0x1e, 0x0c, 0x08, 0x93, 0xc8, 0x68, 0xe2, 0x32, 0x24, 0x71, +}; +static const unsigned char kat2660_addinreseed[] = { + 0x6a, 0xfc, 0xdc, 0x76, 0x0f, 0xe6, 0x2b, 0x08, 0x0f, 0x14, 0x18, 0x86, + 0xb5, 0x16, 0x62, 0x39, 0x71, 0xf8, 0x01, 0x4e, 0xde, 0x86, 0xe5, 0x0d, + 0x62, 0xd3, 0x07, 0xa9, 0x0c, 0xf3, 0x51, 0x2d, 0xa5, 0xfe, 0xfd, 0x37, + 0xb3, 0x93, 0x2d, 0x3d, 0x9d, 0x86, 0xad, 0x0c, 0x03, 0x44, 0x7b, 0xe4, +}; +static const unsigned char kat2660_addin0[] = { + 0x72, 0x10, 0x57, 0x02, 0xfb, 0xf1, 0xda, 0x4c, 0x10, 0xff, 0x08, 0x7b, + 0x02, 0xdb, 0x76, 0x48, 0x04, 0x96, 0x3f, 0xd9, 0x86, 0xde, 0x93, 0x3b, + 0x75, 0x7b, 0x8f, 0xe5, 0xa6, 0x01, 0x6e, 0x0f, 0x27, 0x00, 0x57, 0x39, + 0x25, 0xac, 0xed, 0x85, 0xc0, 0x9e, 0x2a, 0xd9, 0xf9, 0xf7, 0xb2, 0xc2, +}; +static const unsigned char kat2660_addin1[] = { + 0x65, 0xf9, 0xa3, 0xfe, 0x4e, 0x19, 0x53, 0xb7, 0xd5, 0x38, 0xf6, 0xd6, + 0xca, 0x3c, 0x0a, 0x73, 0xbd, 0xa2, 0x27, 0x6f, 0xe8, 0xf8, 0x08, 0x60, + 0xc0, 0x7b, 0x7e, 0xd1, 0x39, 0xd7, 0x48, 0xc3, 0xc4, 0x5d, 0xb5, 0xd9, + 0x65, 0x98, 0xf7, 0x7f, 0xf8, 0x63, 0xa4, 0x39, 0x77, 0xba, 0x39, 0x0c, +}; +static const unsigned char kat2660_retbits[] = { + 0x7c, 0x2b, 0x60, 0x0c, 0x3f, 0x55, 0x06, 0x71, 0x21, 0x5b, 0x03, 0xad, + 0x7a, 0xeb, 0xf7, 0x10, 0x86, 0xec, 0x59, 0xaa, 0x4f, 0x45, 0xcf, 0x6b, + 0x3b, 0xac, 0x9b, 0xba, 0x2e, 0x10, 0x8f, 0x80, 0x1f, 0x64, 0x78, 0xb0, + 0x98, 0xfc, 0xc4, 0xe0, 0x63, 0x45, 0x4c, 0xd3, 0xf6, 0x4a, 0x95, 0x1e, + 0xd7, 0x0f, 0x61, 0x98, 0x66, 0xc1, 0xa4, 0xe7, 0x0b, 0x5c, 0x47, 0x45, + 0x8c, 0x09, 0xe0, 0x83, +}; +static const struct drbg_kat_pr_false kat2660_t = { + 4, kat2660_entropyin, kat2660_nonce, kat2660_persstr, + kat2660_entropyinreseed, kat2660_addinreseed, kat2660_addin0, + kat2660_addin1, kat2660_retbits +}; +static const struct drbg_kat kat2660 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2660_t +}; + +static const unsigned char kat2661_entropyin[] = { + 0x07, 0xd1, 0x4a, 0x0d, 0x9f, 0xbc, 0x76, 0xa1, 0x55, 0x04, 0x7a, 0x93, + 0xbc, 0x0b, 0xb2, 0xb5, 0x78, 0xfa, 0x7d, 0xd7, 0x5c, 0xfe, 0x9a, 0x44, + 0xbb, 0x87, 0x09, 0xfe, 0x3c, 0xc2, 0x30, 0x2f, 0xdc, 0xc0, 0x6a, 0x9c, + 0x67, 0x51, 0xf4, 0x60, 0x2a, 0x3a, 0x49, 0x55, 0xc0, 0xf3, 0x8c, 0x7e, +}; +static const unsigned char kat2661_nonce[] = {0}; +static const unsigned char kat2661_persstr[] = {0}; +static const unsigned char kat2661_entropyinreseed[] = { + 0x8b, 0xab, 0xab, 0x6b, 0x9f, 0x84, 0x29, 0xf5, 0x54, 0x15, 0x6d, 0xa3, + 0x90, 0x51, 0x22, 0xcb, 0x48, 0xc0, 0xb9, 0x01, 0xfb, 0x6e, 0xaa, 0xd8, + 0xdf, 0x77, 0x1e, 0x8d, 0x58, 0x3b, 0xa8, 0x85, 0xdf, 0xba, 0xd0, 0x2e, + 0x47, 0x52, 0x4b, 0x19, 0x81, 0x76, 0x85, 0x93, 0xbd, 0xe8, 0x82, 0x60, +}; +static const unsigned char kat2661_addinreseed[] = { + 0xc1, 0x85, 0xc4, 0x5c, 0xb0, 0x7e, 0x8c, 0x8b, 0xa8, 0xeb, 0x31, 0xd3, + 0xbd, 0x48, 0xa7, 0xc8, 0x64, 0x13, 0x7c, 0x68, 0x92, 0x14, 0xc2, 0xfb, + 0x3b, 0x1d, 0x6d, 0x6a, 0xbc, 0xda, 0x84, 0xf2, 0x92, 0x2a, 0x86, 0x2a, + 0x09, 0x55, 0xe6, 0x76, 0x95, 0x39, 0x1d, 0x60, 0xd6, 0xf2, 0xd1, 0xbf, +}; +static const unsigned char kat2661_addin0[] = { + 0x32, 0x6a, 0x5c, 0x9c, 0x4a, 0x1a, 0x2b, 0x6f, 0xdc, 0x36, 0x9f, 0xe2, + 0xa1, 0x71, 0xbf, 0x62, 0x5d, 0xc2, 0x6e, 0x23, 0xd1, 0xa3, 0x4f, 0xaa, + 0xcf, 0x59, 0xbd, 0x33, 0xbe, 0x98, 0xff, 0x7a, 0xc7, 0xf1, 0x6e, 0x48, + 0x5b, 0x6d, 0xa3, 0x14, 0x5e, 0xa4, 0xdb, 0x37, 0xee, 0x4f, 0xfe, 0xfa, +}; +static const unsigned char kat2661_addin1[] = { + 0xde, 0x09, 0x6a, 0xd1, 0x3d, 0xcc, 0x1e, 0xe1, 0x44, 0x9c, 0x3a, 0x06, + 0x61, 0xed, 0xee, 0x02, 0x86, 0x03, 0x59, 0x0f, 0x08, 0x74, 0x74, 0x16, + 0x1a, 0x7a, 0xb8, 0xfc, 0xfa, 0xc8, 0x96, 0xa9, 0x24, 0xe1, 0x4b, 0x0a, + 0x57, 0xae, 0xac, 0x17, 0xfe, 0xd6, 0x76, 0xf4, 0xb9, 0xc7, 0x16, 0x8c, +}; +static const unsigned char kat2661_retbits[] = { + 0x60, 0x91, 0x1e, 0x6e, 0x64, 0x55, 0xbf, 0x4d, 0x85, 0xa4, 0xf7, 0x63, + 0x78, 0x39, 0x0f, 0x6c, 0xd5, 0x37, 0xd7, 0xcc, 0xe8, 0x82, 0x28, 0xcf, + 0x34, 0xe4, 0xa4, 0x88, 0x9a, 0xdf, 0x62, 0xa9, 0xcc, 0x10, 0x70, 0xdf, + 0xc3, 0x9c, 0x25, 0x4e, 0x81, 0xa8, 0x55, 0x7b, 0xb2, 0xc3, 0x50, 0xfe, + 0x3f, 0x46, 0x21, 0x99, 0xe3, 0x77, 0xd3, 0x79, 0x6e, 0xd1, 0x39, 0x11, + 0x7b, 0x6b, 0x0f, 0x45, +}; +static const struct drbg_kat_pr_false kat2661_t = { + 5, kat2661_entropyin, kat2661_nonce, kat2661_persstr, + kat2661_entropyinreseed, kat2661_addinreseed, kat2661_addin0, + kat2661_addin1, kat2661_retbits +}; +static const struct drbg_kat kat2661 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2661_t +}; + +static const unsigned char kat2662_entropyin[] = { + 0xb3, 0x45, 0x8c, 0x6b, 0x38, 0xca, 0x70, 0xc4, 0x4f, 0xc6, 0xc6, 0x01, + 0xe0, 0x88, 0x86, 0x3f, 0xaf, 0xc9, 0x53, 0xc6, 0xb5, 0xd3, 0xee, 0x57, + 0xfb, 0x1a, 0x07, 0xf3, 0xf6, 0x5d, 0xd5, 0xe6, 0xdc, 0x19, 0xae, 0xd1, + 0x7a, 0xa5, 0x53, 0x09, 0x13, 0xac, 0xa5, 0x98, 0xb2, 0x6a, 0x40, 0xc0, +}; +static const unsigned char kat2662_nonce[] = {0}; +static const unsigned char kat2662_persstr[] = {0}; +static const unsigned char kat2662_entropyinreseed[] = { + 0xfa, 0xa8, 0xd3, 0xfe, 0xab, 0xf9, 0x72, 0xe4, 0x82, 0xe5, 0xa0, 0xb3, + 0x82, 0x1c, 0x23, 0xba, 0x06, 0x7c, 0x45, 0x26, 0x7e, 0x37, 0x15, 0xa4, + 0xc1, 0x0f, 0x65, 0x71, 0x6a, 0x34, 0x80, 0x30, 0xd7, 0xfa, 0x56, 0x37, + 0xe9, 0xf0, 0x00, 0xb3, 0xe4, 0x7d, 0x78, 0x6c, 0x01, 0x3f, 0xc0, 0x35, +}; +static const unsigned char kat2662_addinreseed[] = { + 0x90, 0x1e, 0xf8, 0x9e, 0xa3, 0x82, 0x03, 0xb8, 0x32, 0x49, 0xa3, 0x4a, + 0x1a, 0x8c, 0xbd, 0x0d, 0xa4, 0x77, 0x3c, 0xcd, 0x50, 0x3d, 0x60, 0xa3, + 0x95, 0xbe, 0x3a, 0x3d, 0xb1, 0x13, 0x61, 0x3e, 0x6c, 0x57, 0x1a, 0x49, + 0x96, 0x0a, 0x4e, 0x99, 0xd3, 0x02, 0xb6, 0xf2, 0x37, 0xf6, 0x4d, 0x54, +}; +static const unsigned char kat2662_addin0[] = { + 0xf2, 0xf8, 0x76, 0x93, 0xd1, 0xf2, 0x8f, 0x95, 0xb0, 0xa6, 0x45, 0x9c, + 0x53, 0x8e, 0x82, 0xbe, 0x99, 0xa8, 0xce, 0xfe, 0x8a, 0x2c, 0x7c, 0xa0, + 0x37, 0x82, 0x20, 0x72, 0xe6, 0x36, 0x70, 0xdd, 0x14, 0x18, 0x73, 0xf3, + 0xdc, 0x9e, 0x30, 0x9c, 0x6e, 0xad, 0x40, 0x78, 0x3f, 0x46, 0x79, 0x4e, +}; +static const unsigned char kat2662_addin1[] = { + 0x93, 0xcf, 0xef, 0xbb, 0x76, 0x24, 0xa1, 0x37, 0xcb, 0xd7, 0xb1, 0x77, + 0x91, 0x88, 0x23, 0x89, 0x3e, 0x77, 0x25, 0x1f, 0xc5, 0x66, 0x0a, 0x76, + 0xab, 0x0c, 0xfa, 0xa3, 0xb3, 0x40, 0xae, 0x82, 0x2a, 0x8a, 0x75, 0x36, + 0x50, 0x56, 0xf0, 0x6b, 0x0a, 0x7e, 0x76, 0xaf, 0xc3, 0x9f, 0x68, 0x19, +}; +static const unsigned char kat2662_retbits[] = { + 0x5b, 0xbc, 0xde, 0xb5, 0xd7, 0xd1, 0xae, 0x19, 0xe4, 0xef, 0x78, 0x78, + 0xab, 0xd1, 0xca, 0x4f, 0x26, 0x41, 0xd4, 0x2c, 0x76, 0x5b, 0x94, 0xa7, + 0x68, 0x91, 0x72, 0xa4, 0xe9, 0x0b, 0xaa, 0xe4, 0x6e, 0xbc, 0xfa, 0x54, + 0x27, 0xa8, 0x82, 0xc1, 0x61, 0x4c, 0xab, 0x36, 0xf1, 0x86, 0xa9, 0x8d, + 0xd3, 0xa1, 0x5f, 0xeb, 0xc4, 0xb2, 0x3a, 0xdd, 0x95, 0x5f, 0x69, 0xdb, + 0xfd, 0x5e, 0x5d, 0x2e, +}; +static const struct drbg_kat_pr_false kat2662_t = { + 6, kat2662_entropyin, kat2662_nonce, kat2662_persstr, + kat2662_entropyinreseed, kat2662_addinreseed, kat2662_addin0, + kat2662_addin1, kat2662_retbits +}; +static const struct drbg_kat kat2662 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2662_t +}; + +static const unsigned char kat2663_entropyin[] = { + 0x6d, 0xbc, 0xf6, 0xf2, 0xf3, 0x99, 0x7e, 0xd5, 0x54, 0x71, 0xf7, 0x79, + 0x03, 0x99, 0x82, 0xbc, 0x84, 0xa1, 0xc0, 0x52, 0xfb, 0xf5, 0x88, 0x3d, + 0x6f, 0x62, 0xc0, 0xa6, 0x1d, 0xb1, 0x08, 0x38, 0x6e, 0x74, 0x75, 0x9d, + 0x72, 0x37, 0xbb, 0x0e, 0xfc, 0xa0, 0x30, 0xaa, 0xc7, 0x6b, 0xc7, 0xe6, +}; +static const unsigned char kat2663_nonce[] = {0}; +static const unsigned char kat2663_persstr[] = {0}; +static const unsigned char kat2663_entropyinreseed[] = { + 0x1a, 0x16, 0x75, 0x3c, 0x19, 0x5f, 0xed, 0x27, 0xa1, 0xab, 0xbe, 0x06, + 0x7b, 0x2b, 0x22, 0xaf, 0xf4, 0xc4, 0x9a, 0xe7, 0x83, 0x2d, 0x18, 0xd0, + 0x1c, 0xef, 0x5e, 0xa5, 0xc7, 0xd5, 0x83, 0x30, 0x08, 0x03, 0x6f, 0x71, + 0xe9, 0xc7, 0x7c, 0x16, 0x29, 0xb6, 0xf6, 0x13, 0x70, 0xb5, 0x7f, 0x7b, +}; +static const unsigned char kat2663_addinreseed[] = { + 0xec, 0x54, 0x39, 0x59, 0x31, 0xac, 0x0a, 0xea, 0x2a, 0x87, 0x39, 0xd4, + 0xc5, 0x1e, 0x33, 0xc8, 0x42, 0x59, 0x06, 0x00, 0x5c, 0x34, 0x1d, 0xb3, + 0x73, 0x24, 0x7e, 0x73, 0xb9, 0x68, 0xc2, 0xc7, 0x92, 0x57, 0xcf, 0x7a, + 0xc7, 0x43, 0x53, 0xc0, 0x0f, 0xd8, 0x1a, 0x80, 0xf4, 0xc9, 0x5b, 0x8c, +}; +static const unsigned char kat2663_addin0[] = { + 0xdb, 0xd6, 0xbb, 0x55, 0x79, 0xa1, 0x0e, 0x39, 0x5b, 0x53, 0x44, 0x31, + 0xf3, 0xab, 0x7c, 0x80, 0x25, 0x52, 0x7b, 0xf9, 0x9e, 0x4f, 0x7c, 0x16, + 0x2d, 0x68, 0x1f, 0x8d, 0x35, 0xa5, 0x6f, 0x6a, 0x03, 0x72, 0x9f, 0x07, + 0xab, 0x43, 0x89, 0x7a, 0xd0, 0xe8, 0x01, 0x46, 0x04, 0x4b, 0x16, 0x14, +}; +static const unsigned char kat2663_addin1[] = { + 0x5d, 0x35, 0x74, 0x2c, 0x25, 0x62, 0x0b, 0xb7, 0x95, 0xea, 0xe4, 0x11, + 0x78, 0xd7, 0xfc, 0x86, 0xd9, 0xcb, 0xe0, 0x50, 0xea, 0x70, 0x25, 0x73, + 0xae, 0x6a, 0xdb, 0x61, 0xe1, 0x6c, 0x41, 0x1b, 0x74, 0x45, 0x54, 0x8d, + 0xc5, 0x35, 0xd5, 0x73, 0x71, 0xbb, 0x11, 0xe2, 0xcd, 0xd5, 0x95, 0x97, +}; +static const unsigned char kat2663_retbits[] = { + 0xba, 0x39, 0x05, 0xbf, 0xdd, 0xca, 0xbf, 0x6d, 0xae, 0x31, 0x1d, 0x1f, + 0xc1, 0x9f, 0xff, 0x1f, 0x6f, 0xc1, 0xce, 0x77, 0x9e, 0x38, 0xf8, 0x64, + 0xb7, 0xcc, 0xd2, 0xae, 0xb1, 0xb3, 0xd6, 0xec, 0x18, 0x45, 0x30, 0x5c, + 0x29, 0xd3, 0x9b, 0x87, 0x36, 0xb3, 0x97, 0x72, 0x77, 0xec, 0xaf, 0x57, + 0x35, 0xd0, 0xe4, 0xac, 0xef, 0xcc, 0xf7, 0x77, 0x8a, 0xc3, 0x54, 0x2a, + 0xf8, 0x15, 0xfd, 0x41, +}; +static const struct drbg_kat_pr_false kat2663_t = { + 7, kat2663_entropyin, kat2663_nonce, kat2663_persstr, + kat2663_entropyinreseed, kat2663_addinreseed, kat2663_addin0, + kat2663_addin1, kat2663_retbits +}; +static const struct drbg_kat kat2663 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2663_t +}; + +static const unsigned char kat2664_entropyin[] = { + 0x3a, 0x9e, 0x80, 0x99, 0x00, 0x7c, 0x67, 0xf6, 0xe5, 0xf9, 0x85, 0x25, + 0xcc, 0x42, 0x95, 0xa6, 0x8c, 0x5d, 0x51, 0x35, 0xd0, 0x1f, 0x5f, 0x66, + 0x30, 0x5c, 0x70, 0x48, 0xca, 0x02, 0x52, 0x5c, 0xaa, 0x3f, 0x79, 0x0b, + 0x2d, 0x12, 0xa8, 0x52, 0x0e, 0x99, 0x63, 0xa9, 0xcd, 0xd5, 0x97, 0xa8, +}; +static const unsigned char kat2664_nonce[] = {0}; +static const unsigned char kat2664_persstr[] = {0}; +static const unsigned char kat2664_entropyinreseed[] = { + 0x15, 0x99, 0x3d, 0xba, 0x97, 0x75, 0xdb, 0x8a, 0x5b, 0xf7, 0x97, 0x78, + 0xa3, 0x16, 0xf2, 0x91, 0x0d, 0x4d, 0xc0, 0xbe, 0x59, 0xc3, 0xb2, 0x1c, + 0x65, 0x0e, 0x3a, 0xa8, 0x9c, 0x8c, 0x89, 0xb3, 0x3f, 0xc6, 0x9e, 0x9e, + 0x5d, 0x64, 0x2e, 0x7f, 0xee, 0x16, 0xd6, 0x1b, 0x69, 0x1d, 0xe2, 0xbf, +}; +static const unsigned char kat2664_addinreseed[] = { + 0x94, 0x61, 0x21, 0xba, 0xe2, 0x7e, 0x58, 0x04, 0xda, 0xeb, 0xa0, 0xd7, + 0xdc, 0x7a, 0xe0, 0xc1, 0xc3, 0x97, 0xbf, 0xab, 0x10, 0x6e, 0x13, 0xb8, + 0xb7, 0xc5, 0x46, 0x2b, 0x54, 0x0d, 0x14, 0x71, 0x19, 0xaf, 0x5b, 0x7c, + 0x4f, 0x9c, 0x19, 0x81, 0x61, 0xe5, 0xaa, 0x9b, 0xe3, 0x4e, 0x2d, 0x28, +}; +static const unsigned char kat2664_addin0[] = { + 0xe9, 0x79, 0x94, 0x21, 0xe7, 0x5b, 0xae, 0x70, 0x86, 0x73, 0x1a, 0x21, + 0x24, 0x2d, 0xc1, 0x01, 0xc9, 0x3b, 0x76, 0x8f, 0xc7, 0x47, 0x73, 0x4a, + 0x35, 0x74, 0x54, 0xfc, 0x0f, 0x7c, 0x08, 0x2c, 0xfd, 0xb7, 0x9b, 0x8b, + 0xbc, 0xea, 0x2d, 0x11, 0x22, 0xd8, 0x93, 0x16, 0xa7, 0xbf, 0xbd, 0x3d, +}; +static const unsigned char kat2664_addin1[] = { + 0xca, 0xa0, 0x4f, 0x94, 0xb4, 0xb9, 0xd6, 0x94, 0xe2, 0xc4, 0xbf, 0xa1, + 0xe8, 0xe7, 0x08, 0xb9, 0xc0, 0x0d, 0x9c, 0x3d, 0x64, 0x52, 0x43, 0xac, + 0xfc, 0xb8, 0x79, 0xd2, 0xe2, 0xba, 0x72, 0x3d, 0x9e, 0x48, 0x90, 0x87, + 0x38, 0x11, 0x4e, 0xab, 0x7d, 0x15, 0xf8, 0xcf, 0x36, 0xb0, 0x43, 0xae, +}; +static const unsigned char kat2664_retbits[] = { + 0x9b, 0xd5, 0x0f, 0x3c, 0x53, 0x84, 0xeb, 0x28, 0xd9, 0x31, 0xf0, 0x3a, + 0x64, 0xeb, 0x97, 0xef, 0x14, 0x0e, 0x1e, 0x81, 0xf4, 0xc1, 0xd9, 0xc9, + 0x10, 0xcd, 0x7d, 0x79, 0xa4, 0x04, 0x94, 0xe1, 0xfc, 0xc5, 0x3d, 0x82, + 0xcd, 0x32, 0xdf, 0x35, 0xd5, 0x3b, 0x05, 0xa4, 0x50, 0xe5, 0x4b, 0x7e, + 0xc7, 0x1e, 0x28, 0x35, 0x9c, 0x12, 0x73, 0x84, 0x8e, 0x5a, 0xb1, 0x17, + 0xd5, 0xde, 0xd8, 0x8f, +}; +static const struct drbg_kat_pr_false kat2664_t = { + 8, kat2664_entropyin, kat2664_nonce, kat2664_persstr, + kat2664_entropyinreseed, kat2664_addinreseed, kat2664_addin0, + kat2664_addin1, kat2664_retbits +}; +static const struct drbg_kat kat2664 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2664_t +}; + +static const unsigned char kat2665_entropyin[] = { + 0x7f, 0x2a, 0x02, 0x13, 0xde, 0x67, 0x38, 0xec, 0x62, 0xbe, 0xda, 0xb7, + 0x69, 0xa5, 0xf0, 0x17, 0x32, 0xda, 0xd2, 0xd3, 0x5d, 0xd4, 0xca, 0xd7, + 0xa7, 0x65, 0xdb, 0xbb, 0x6f, 0x91, 0x01, 0xf5, 0x7b, 0x65, 0xec, 0x8f, + 0xc4, 0xe2, 0x3f, 0xb3, 0x47, 0x9c, 0xe6, 0x21, 0x1c, 0xa3, 0xd8, 0x4e, +}; +static const unsigned char kat2665_nonce[] = {0}; +static const unsigned char kat2665_persstr[] = {0}; +static const unsigned char kat2665_entropyinreseed[] = { + 0xae, 0xb0, 0x97, 0xe9, 0xdd, 0xc4, 0xdf, 0xe8, 0x78, 0x74, 0xdd, 0xb1, + 0xa8, 0x56, 0xec, 0x3d, 0x00, 0xff, 0xf1, 0xb3, 0x8c, 0x8f, 0x95, 0x46, + 0x81, 0xc1, 0x1e, 0x61, 0xba, 0xc8, 0xb6, 0xb2, 0xe2, 0xd8, 0xd0, 0x10, + 0xe6, 0x82, 0x0f, 0x9c, 0x4d, 0x80, 0x7b, 0x29, 0x5a, 0xcb, 0x8a, 0xb0, +}; +static const unsigned char kat2665_addinreseed[] = { + 0xb3, 0x3a, 0xd3, 0xde, 0xc7, 0xd5, 0x29, 0xb7, 0x1e, 0x39, 0xd5, 0x91, + 0x47, 0xf7, 0x9b, 0x48, 0x84, 0x03, 0x9d, 0x11, 0x12, 0x80, 0x4f, 0xe8, + 0xc7, 0x0e, 0x17, 0x4f, 0xdd, 0x98, 0x28, 0xc0, 0x6a, 0x4d, 0x44, 0xd2, + 0x0a, 0xa5, 0xfc, 0x19, 0x18, 0xc3, 0xee, 0x80, 0x82, 0xa2, 0xbf, 0x93, +}; +static const unsigned char kat2665_addin0[] = { + 0x86, 0x32, 0xd2, 0x21, 0x75, 0x71, 0x32, 0xbb, 0x7b, 0x88, 0x3b, 0x7d, + 0xc2, 0x67, 0x55, 0xf6, 0x2e, 0xc2, 0xff, 0xab, 0x08, 0x76, 0x16, 0x8d, + 0x11, 0xea, 0x7b, 0x92, 0x77, 0x4c, 0x15, 0xc5, 0x53, 0xb1, 0x13, 0x20, + 0x39, 0x3d, 0x64, 0xa2, 0x26, 0x21, 0x33, 0x60, 0x8c, 0xa9, 0x2a, 0x18, +}; +static const unsigned char kat2665_addin1[] = { + 0xcc, 0xaf, 0x3b, 0xc3, 0xae, 0x9c, 0xdb, 0xfa, 0x88, 0x5a, 0xa8, 0x41, + 0x4c, 0x1f, 0x82, 0x3c, 0x6a, 0x3e, 0xcc, 0x02, 0x0b, 0x61, 0x92, 0x01, + 0xa5, 0x2c, 0xe0, 0xb7, 0x51, 0x6b, 0xa1, 0xf4, 0x97, 0x55, 0xc4, 0x50, + 0xc5, 0x32, 0xbf, 0xe1, 0x1c, 0x06, 0xb9, 0xd0, 0xe0, 0x49, 0xcc, 0xae, +}; +static const unsigned char kat2665_retbits[] = { + 0x4b, 0x1c, 0x06, 0x5a, 0x28, 0x8e, 0x5e, 0xec, 0x56, 0xb6, 0x7f, 0xb3, + 0x41, 0xe2, 0x5f, 0xc7, 0x52, 0x1b, 0x79, 0x4b, 0x52, 0xb9, 0x4f, 0x95, + 0x70, 0xbd, 0xb1, 0x65, 0x83, 0xbb, 0x6f, 0x7a, 0x78, 0x0a, 0xea, 0x52, + 0x97, 0x49, 0x63, 0x55, 0xff, 0xb4, 0xbf, 0x5a, 0x44, 0x4c, 0x27, 0x7c, + 0x96, 0x39, 0x46, 0x19, 0xcc, 0x33, 0xcb, 0xb5, 0xa3, 0xb2, 0xa9, 0xf4, + 0x9b, 0x00, 0xf9, 0xdf, +}; +static const struct drbg_kat_pr_false kat2665_t = { + 9, kat2665_entropyin, kat2665_nonce, kat2665_persstr, + kat2665_entropyinreseed, kat2665_addinreseed, kat2665_addin0, + kat2665_addin1, kat2665_retbits +}; +static const struct drbg_kat kat2665 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2665_t +}; + +static const unsigned char kat2666_entropyin[] = { + 0x80, 0x77, 0x3d, 0x02, 0x72, 0xff, 0x48, 0xba, 0x84, 0xb9, 0x8c, 0x81, + 0x73, 0x65, 0xb0, 0x97, 0xf2, 0x12, 0x58, 0x62, 0x4d, 0x0d, 0xe8, 0x52, + 0x93, 0x81, 0x97, 0x79, 0x50, 0xa5, 0xe4, 0x9f, 0xf2, 0xb7, 0x9d, 0x0f, + 0x25, 0x22, 0x26, 0x99, 0x70, 0xea, 0x6d, 0x48, 0x41, 0x98, 0x92, 0x2c, +}; +static const unsigned char kat2666_nonce[] = {0}; +static const unsigned char kat2666_persstr[] = {0}; +static const unsigned char kat2666_entropyinreseed[] = { + 0x9b, 0x10, 0x1a, 0xc0, 0x18, 0xbe, 0x88, 0xda, 0x36, 0x11, 0xa2, 0x36, + 0xdf, 0xb1, 0x30, 0x0c, 0x00, 0x49, 0x94, 0x7e, 0x9f, 0x6e, 0xbe, 0xf7, + 0xa3, 0xad, 0x6e, 0x14, 0x99, 0xef, 0xec, 0xa0, 0xb1, 0x42, 0x82, 0x6f, + 0xa0, 0x6f, 0x42, 0x7e, 0x27, 0x18, 0x65, 0x23, 0x2a, 0x18, 0xdd, 0x29, +}; +static const unsigned char kat2666_addinreseed[] = { + 0xa6, 0x7e, 0xe2, 0x24, 0x53, 0xdc, 0xaa, 0x5e, 0x47, 0x26, 0xe3, 0x08, + 0x48, 0x72, 0x14, 0x5a, 0xb6, 0x04, 0x89, 0xbc, 0xb6, 0xe8, 0x33, 0x46, + 0xc1, 0x08, 0xf3, 0xef, 0xcc, 0xe5, 0xb3, 0xd9, 0x88, 0xb8, 0x4d, 0x58, + 0x78, 0x66, 0x58, 0xd8, 0x7c, 0x2d, 0xc3, 0xb9, 0x03, 0x5e, 0x9d, 0x88, +}; +static const unsigned char kat2666_addin0[] = { + 0x54, 0x65, 0x15, 0xbf, 0x86, 0xe4, 0x8d, 0xfb, 0x2b, 0x4d, 0xd2, 0x1c, + 0x2b, 0x46, 0xf1, 0x0c, 0x1e, 0x79, 0x7a, 0xb7, 0x99, 0xb5, 0x18, 0x22, + 0xe8, 0xe7, 0xcd, 0x99, 0xcc, 0xeb, 0xcc, 0xa0, 0x0b, 0x88, 0x99, 0xef, + 0x6a, 0xf5, 0xcb, 0x39, 0x51, 0x68, 0xaa, 0xda, 0x90, 0x56, 0xa6, 0xc9, +}; +static const unsigned char kat2666_addin1[] = { + 0x57, 0xbe, 0xdd, 0xa6, 0x3f, 0xc5, 0xf7, 0x92, 0xa6, 0x08, 0xbe, 0x11, + 0x11, 0x41, 0xa1, 0x2e, 0x52, 0x24, 0x96, 0xc0, 0x86, 0x19, 0x45, 0x15, + 0x90, 0x9b, 0xdd, 0xcd, 0x86, 0x8b, 0xe9, 0x97, 0xe7, 0x18, 0xe7, 0xc5, + 0x89, 0x9e, 0x28, 0xdd, 0x6b, 0x12, 0x3c, 0xbc, 0xc3, 0xf2, 0xa8, 0xf2, +}; +static const unsigned char kat2666_retbits[] = { + 0x40, 0x75, 0x46, 0x1e, 0x45, 0x9f, 0x15, 0xcd, 0x32, 0x03, 0x05, 0x51, + 0xbe, 0x47, 0x52, 0x82, 0x23, 0x69, 0x3c, 0x2f, 0x44, 0xe3, 0x24, 0x43, + 0xcb, 0xe9, 0x27, 0x1e, 0xef, 0xe7, 0x4f, 0xa0, 0xa6, 0xe1, 0xec, 0x04, + 0xf4, 0xb8, 0xf4, 0x1d, 0x7e, 0xd6, 0xc5, 0xf4, 0x55, 0x28, 0x1a, 0x3c, + 0xba, 0x56, 0xd9, 0x52, 0xb0, 0x8b, 0x77, 0x53, 0xf6, 0xa3, 0xd7, 0xda, + 0x35, 0x17, 0x31, 0x7a, +}; +static const struct drbg_kat_pr_false kat2666_t = { + 10, kat2666_entropyin, kat2666_nonce, kat2666_persstr, + kat2666_entropyinreseed, kat2666_addinreseed, kat2666_addin0, + kat2666_addin1, kat2666_retbits +}; +static const struct drbg_kat kat2666 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2666_t +}; + +static const unsigned char kat2667_entropyin[] = { + 0xdc, 0x13, 0x2c, 0x15, 0xaf, 0x0e, 0x21, 0x4d, 0x1b, 0x56, 0xeb, 0x88, + 0x84, 0x9e, 0x96, 0xb8, 0x1d, 0xc1, 0x7f, 0x23, 0x8e, 0xb3, 0xd1, 0xbb, + 0x9a, 0x65, 0x92, 0x19, 0xdb, 0xd7, 0x7e, 0xba, 0x38, 0xca, 0x27, 0x96, + 0xa8, 0x01, 0x1e, 0x29, 0xcf, 0xad, 0x76, 0xf8, 0xcb, 0xbf, 0x09, 0x9d, +}; +static const unsigned char kat2667_nonce[] = {0}; +static const unsigned char kat2667_persstr[] = {0}; +static const unsigned char kat2667_entropyinreseed[] = { + 0xcb, 0xa2, 0x3d, 0x4f, 0xdb, 0xb6, 0xc1, 0x1e, 0x38, 0x01, 0x2b, 0x71, + 0xca, 0x26, 0x4b, 0xff, 0x9d, 0x12, 0x64, 0xbb, 0x20, 0xa3, 0x9b, 0xb2, + 0x7d, 0x86, 0xdc, 0xdf, 0x7d, 0x72, 0xce, 0x7a, 0x4f, 0x5c, 0x12, 0x4c, + 0xdf, 0x2a, 0xca, 0x6a, 0xae, 0xe2, 0x08, 0x32, 0x49, 0x51, 0x81, 0xe6, +}; +static const unsigned char kat2667_addinreseed[] = { + 0x07, 0xe0, 0x43, 0xad, 0xd7, 0xcc, 0x14, 0x61, 0x2a, 0x82, 0x92, 0x6c, + 0x09, 0x93, 0x4d, 0xea, 0x09, 0x2f, 0x46, 0x18, 0xcc, 0xe2, 0x56, 0x74, + 0x97, 0x2b, 0x1f, 0x50, 0xb2, 0x90, 0x7c, 0x7e, 0x3d, 0x40, 0xa2, 0x57, + 0x22, 0xea, 0x49, 0xb0, 0xc7, 0xce, 0xb6, 0xb5, 0x7f, 0xf2, 0xd8, 0x70, +}; +static const unsigned char kat2667_addin0[] = { + 0x00, 0x17, 0xff, 0x83, 0x49, 0x67, 0xcf, 0xf8, 0x82, 0x75, 0x98, 0xff, + 0x6c, 0x00, 0xa9, 0xc9, 0x7f, 0x03, 0x47, 0xc3, 0x4f, 0x25, 0x23, 0xa8, + 0x5d, 0xd7, 0xd1, 0x8f, 0xf5, 0x57, 0x57, 0x56, 0xc1, 0xf5, 0x38, 0x3d, + 0xe5, 0x03, 0x38, 0xd0, 0xab, 0x05, 0x05, 0x84, 0x1d, 0x70, 0xa1, 0x93, +}; +static const unsigned char kat2667_addin1[] = { + 0xc4, 0x04, 0xdb, 0xc3, 0xcb, 0x08, 0x51, 0xb0, 0x85, 0x30, 0xf9, 0x65, + 0x00, 0xf5, 0xa2, 0xc1, 0x0d, 0x89, 0x85, 0xc8, 0x2d, 0xec, 0x2b, 0xa3, + 0x1d, 0x41, 0x99, 0xfd, 0x07, 0x68, 0x7c, 0xcf, 0x12, 0x43, 0x82, 0xfb, + 0xee, 0x3f, 0xa1, 0x19, 0x93, 0x8f, 0x0c, 0x72, 0xac, 0x58, 0x61, 0x02, +}; +static const unsigned char kat2667_retbits[] = { + 0x19, 0x35, 0xcc, 0xe8, 0x6b, 0xde, 0x70, 0x87, 0xfc, 0xab, 0x30, 0xb5, + 0xdc, 0xe0, 0xe0, 0x72, 0xad, 0x74, 0x1c, 0x2f, 0x28, 0x19, 0x02, 0xe1, + 0x80, 0x1e, 0x56, 0xc0, 0x8a, 0xe8, 0xb2, 0x56, 0xd2, 0x75, 0x14, 0xde, + 0x92, 0xdd, 0x48, 0xa8, 0x38, 0xca, 0x42, 0x68, 0x20, 0x00, 0x2c, 0x12, + 0x06, 0xf8, 0x6c, 0xad, 0x37, 0xcf, 0xd9, 0x9d, 0x3a, 0x93, 0x5e, 0x05, + 0xf5, 0x6a, 0x75, 0x07, +}; +static const struct drbg_kat_pr_false kat2667_t = { + 11, kat2667_entropyin, kat2667_nonce, kat2667_persstr, + kat2667_entropyinreseed, kat2667_addinreseed, kat2667_addin0, + kat2667_addin1, kat2667_retbits +}; +static const struct drbg_kat kat2667 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2667_t +}; + +static const unsigned char kat2668_entropyin[] = { + 0xe4, 0x84, 0x95, 0x93, 0x0a, 0x7f, 0xc8, 0x6e, 0xcb, 0xfa, 0xd8, 0x07, + 0xd4, 0x0c, 0xa8, 0x4b, 0xa3, 0x5e, 0x34, 0x6c, 0x81, 0x20, 0x90, 0xde, + 0xf8, 0xf4, 0x4d, 0x9e, 0x48, 0xb0, 0xa4, 0x07, 0x04, 0xac, 0x67, 0xec, + 0x80, 0xae, 0x15, 0xb1, 0x2e, 0x85, 0x8a, 0xe8, 0x5a, 0x7e, 0xd9, 0xcf, +}; +static const unsigned char kat2668_nonce[] = {0}; +static const unsigned char kat2668_persstr[] = {0}; +static const unsigned char kat2668_entropyinreseed[] = { + 0xf4, 0x73, 0x59, 0x54, 0xd1, 0x7e, 0x99, 0x07, 0x70, 0x61, 0xc9, 0x60, + 0x4e, 0x8f, 0x17, 0x34, 0xd6, 0x1d, 0xd6, 0x62, 0xe5, 0x4e, 0x37, 0x25, + 0x6c, 0x0f, 0x8b, 0xf2, 0x76, 0xe0, 0x25, 0xd5, 0x9d, 0x21, 0xca, 0xcc, + 0x08, 0x69, 0xed, 0xed, 0xb4, 0x4a, 0x2a, 0xac, 0x9f, 0xcf, 0x2c, 0xcc, +}; +static const unsigned char kat2668_addinreseed[] = { + 0xe7, 0x96, 0x32, 0x2f, 0xc0, 0xef, 0x50, 0x32, 0x51, 0xf6, 0xd4, 0xbd, + 0x72, 0xdc, 0x5e, 0xa8, 0x10, 0x0c, 0x5a, 0x59, 0xf1, 0xa4, 0xfe, 0x48, + 0x37, 0xfa, 0x8e, 0xb2, 0x62, 0x3b, 0xc6, 0x50, 0xa0, 0xcd, 0x48, 0xc3, + 0x06, 0xf1, 0x39, 0xe0, 0xec, 0xd1, 0x69, 0xa5, 0x1d, 0xeb, 0x2c, 0xd0, +}; +static const unsigned char kat2668_addin0[] = { + 0x1c, 0x84, 0x4d, 0x24, 0xb7, 0xcd, 0x95, 0x12, 0xe5, 0x03, 0x5b, 0xc4, + 0x57, 0x61, 0x2e, 0xbf, 0x6d, 0x3d, 0xf6, 0x86, 0x7a, 0xa9, 0x09, 0x03, + 0x8b, 0xcb, 0xc1, 0xf4, 0x74, 0xf7, 0xd0, 0x78, 0x3e, 0xd4, 0x74, 0xe3, + 0x45, 0x25, 0xa8, 0x17, 0xbe, 0xa1, 0xfb, 0xc8, 0x83, 0x96, 0x1e, 0x31, +}; +static const unsigned char kat2668_addin1[] = { + 0x5c, 0x56, 0x71, 0xba, 0x79, 0xbd, 0x0b, 0x83, 0xf7, 0x4d, 0x0e, 0xd9, + 0x8e, 0x9c, 0x8b, 0x36, 0x9a, 0x2d, 0xe3, 0x41, 0x88, 0xd8, 0xb7, 0xca, + 0xda, 0x20, 0xb3, 0x36, 0x37, 0x38, 0xd1, 0x25, 0x2e, 0xce, 0x1e, 0x6a, + 0x26, 0xd0, 0x07, 0xac, 0xdf, 0xc5, 0xb6, 0x10, 0x84, 0x12, 0x76, 0x6a, +}; +static const unsigned char kat2668_retbits[] = { + 0x40, 0xf1, 0x7e, 0x2b, 0xf6, 0x08, 0x4a, 0x64, 0x47, 0xf2, 0xc4, 0x0d, + 0x60, 0x1e, 0x16, 0xa4, 0x30, 0x98, 0xda, 0xdd, 0x9f, 0x96, 0x14, 0xd5, + 0x18, 0x87, 0x46, 0x23, 0xe8, 0xe6, 0x84, 0x43, 0x8c, 0x02, 0xe1, 0x27, + 0xe5, 0x82, 0xb0, 0x00, 0xdf, 0xd4, 0x6d, 0xf0, 0x3d, 0xd5, 0x43, 0x5e, + 0xdc, 0x4f, 0x0f, 0x47, 0x09, 0x83, 0x20, 0xfd, 0x31, 0x1a, 0xfd, 0xbb, + 0x85, 0x42, 0xc4, 0xdb, +}; +static const struct drbg_kat_pr_false kat2668_t = { + 12, kat2668_entropyin, kat2668_nonce, kat2668_persstr, + kat2668_entropyinreseed, kat2668_addinreseed, kat2668_addin0, + kat2668_addin1, kat2668_retbits +}; +static const struct drbg_kat kat2668 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2668_t +}; + +static const unsigned char kat2669_entropyin[] = { + 0xdf, 0x4a, 0x88, 0x8e, 0xc7, 0x36, 0x3f, 0xad, 0xd9, 0x9c, 0xe2, 0x22, + 0x3e, 0xd3, 0x95, 0x77, 0xa4, 0x1b, 0xc2, 0x20, 0xd2, 0x0b, 0x25, 0x3f, + 0x98, 0xdb, 0xfc, 0x61, 0x7a, 0xff, 0x8f, 0xe4, 0xac, 0x66, 0xe5, 0xda, + 0x1b, 0x50, 0x97, 0x22, 0x84, 0x22, 0xcf, 0x82, 0x42, 0xba, 0xaf, 0x53, +}; +static const unsigned char kat2669_nonce[] = {0}; +static const unsigned char kat2669_persstr[] = {0}; +static const unsigned char kat2669_entropyinreseed[] = { + 0xe1, 0x6d, 0xca, 0x80, 0xb2, 0x06, 0x17, 0x06, 0xe8, 0x18, 0x0d, 0xce, + 0x8f, 0x59, 0xe8, 0x88, 0xf1, 0x50, 0x83, 0x6a, 0x0b, 0xbc, 0xea, 0xc1, + 0x79, 0xa4, 0xb8, 0xd8, 0x82, 0xee, 0xad, 0x78, 0x70, 0x9e, 0xd9, 0x95, + 0x11, 0x02, 0x72, 0x8a, 0xbb, 0xbb, 0xf9, 0x22, 0x6a, 0x2d, 0x91, 0x3e, +}; +static const unsigned char kat2669_addinreseed[] = { + 0xfe, 0xbc, 0x9f, 0x6b, 0x9f, 0x2b, 0x90, 0xb4, 0x32, 0x0d, 0x5d, 0x41, + 0xe5, 0xc5, 0x50, 0x6f, 0xa3, 0x2b, 0x16, 0x4d, 0x86, 0xd5, 0xe7, 0xf9, + 0x1d, 0x4a, 0x36, 0x0f, 0xe1, 0x79, 0xc1, 0x27, 0xbd, 0x2b, 0xde, 0xb7, + 0x8f, 0xe7, 0x60, 0x17, 0x4e, 0x85, 0x6a, 0x5e, 0x04, 0xed, 0x89, 0x8b, +}; +static const unsigned char kat2669_addin0[] = { + 0x0a, 0xba, 0x74, 0xcd, 0x29, 0x9e, 0x75, 0x88, 0x6c, 0x9e, 0x7e, 0x52, + 0x93, 0xe5, 0x91, 0x5d, 0x72, 0x0d, 0xa2, 0xc8, 0xc1, 0xcc, 0xa7, 0xf0, + 0xe1, 0xd6, 0xf2, 0xb6, 0x72, 0xb4, 0x01, 0x4e, 0xb4, 0x58, 0x2e, 0x97, + 0xa8, 0x77, 0x12, 0x1c, 0x87, 0x95, 0x61, 0x85, 0x73, 0x6b, 0xa0, 0xe9, +}; +static const unsigned char kat2669_addin1[] = { + 0xe4, 0x51, 0xea, 0xc8, 0x02, 0x66, 0x0a, 0xc8, 0x43, 0xfc, 0x72, 0xb6, + 0x6d, 0x59, 0xf1, 0xe1, 0xca, 0x83, 0x1f, 0x22, 0xd6, 0xa3, 0x61, 0x92, + 0x90, 0x43, 0xf7, 0x62, 0x6f, 0x1d, 0x82, 0x13, 0x3f, 0x51, 0x2f, 0xb1, + 0xf2, 0xd8, 0xca, 0x51, 0x00, 0x4f, 0x80, 0xed, 0x60, 0x06, 0x09, 0xe4, +}; +static const unsigned char kat2669_retbits[] = { + 0x96, 0x8b, 0x70, 0x8e, 0xd6, 0xb5, 0x4d, 0x2e, 0x5a, 0x66, 0xd4, 0x6f, + 0x22, 0x99, 0x87, 0x48, 0xdf, 0xb5, 0xcf, 0x47, 0xe8, 0x17, 0x73, 0x2a, + 0x40, 0x93, 0x8b, 0xf3, 0x59, 0x3f, 0xb2, 0x51, 0xcc, 0xf8, 0xf2, 0x07, + 0x68, 0x37, 0x71, 0x5d, 0x14, 0xb3, 0x16, 0xbf, 0xb5, 0x25, 0x60, 0x13, + 0x56, 0x02, 0xff, 0x98, 0x33, 0x85, 0x93, 0x69, 0x6b, 0xf8, 0x0a, 0x46, + 0x2b, 0x21, 0x4c, 0x4b, +}; +static const struct drbg_kat_pr_false kat2669_t = { + 13, kat2669_entropyin, kat2669_nonce, kat2669_persstr, + kat2669_entropyinreseed, kat2669_addinreseed, kat2669_addin0, + kat2669_addin1, kat2669_retbits +}; +static const struct drbg_kat kat2669 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2669_t +}; + +static const unsigned char kat2670_entropyin[] = { + 0x43, 0xbc, 0x56, 0x1c, 0x4d, 0xd1, 0xb9, 0x04, 0xa5, 0x33, 0x3a, 0x09, + 0x2a, 0x67, 0x0d, 0x0d, 0x1b, 0x61, 0x12, 0x8a, 0x13, 0xbe, 0x2e, 0x53, + 0x8a, 0x32, 0x90, 0x94, 0x57, 0x48, 0x19, 0x28, 0x4e, 0x41, 0x4b, 0x93, + 0x8d, 0xc8, 0xb1, 0x86, 0x0b, 0x38, 0x5c, 0x29, 0x3c, 0x03, 0x01, 0x0d, +}; +static const unsigned char kat2670_nonce[] = {0}; +static const unsigned char kat2670_persstr[] = {0}; +static const unsigned char kat2670_entropyinreseed[] = { + 0xeb, 0x36, 0x21, 0x36, 0xf4, 0xcc, 0xc9, 0xe3, 0x02, 0x50, 0x5d, 0x52, + 0x5b, 0xef, 0xbf, 0xa9, 0x9d, 0x8c, 0x33, 0x36, 0x18, 0x7d, 0x59, 0x02, + 0xb0, 0x3e, 0xd7, 0x56, 0x41, 0x91, 0x3c, 0xe9, 0x73, 0x74, 0x37, 0x57, + 0xf9, 0x7d, 0xae, 0x93, 0x66, 0x87, 0x4b, 0xa6, 0x2b, 0xd8, 0x70, 0x13, +}; +static const unsigned char kat2670_addinreseed[] = { + 0xa9, 0x01, 0xf4, 0xda, 0xaa, 0x63, 0x88, 0x04, 0x17, 0x7a, 0x0b, 0x26, + 0x3e, 0x8c, 0xbc, 0x81, 0x68, 0x8d, 0xf3, 0xbe, 0xb2, 0x18, 0xb0, 0x23, + 0x16, 0xda, 0x83, 0xb7, 0x29, 0x23, 0x0a, 0x9e, 0x51, 0x12, 0xfb, 0x38, + 0x96, 0xb7, 0x27, 0x29, 0x87, 0x55, 0xbb, 0x9a, 0xc6, 0xb6, 0x25, 0x0a, +}; +static const unsigned char kat2670_addin0[] = { + 0xe3, 0x3d, 0x18, 0x1f, 0x31, 0x59, 0xfb, 0x08, 0x74, 0xef, 0xf5, 0xef, + 0x8d, 0xdd, 0x2b, 0x51, 0xa6, 0x0b, 0x13, 0xcc, 0xf0, 0x46, 0xf7, 0xe6, + 0x37, 0xed, 0x27, 0xbe, 0xd8, 0x1b, 0xb6, 0x04, 0x27, 0x7f, 0x73, 0x45, + 0xe6, 0xb8, 0xf0, 0xe0, 0x9f, 0x92, 0x57, 0x93, 0xce, 0x41, 0x7f, 0xff, +}; +static const unsigned char kat2670_addin1[] = { + 0x3e, 0xcf, 0x62, 0x33, 0x82, 0x0e, 0x6c, 0xce, 0xdd, 0xac, 0x7b, 0x02, + 0x4c, 0x49, 0x0c, 0x5e, 0xe1, 0x4c, 0x73, 0xd5, 0xb5, 0x98, 0xc9, 0x2c, + 0xda, 0x30, 0x94, 0x04, 0x71, 0xb6, 0xed, 0x45, 0x00, 0x19, 0x12, 0x06, + 0x89, 0xaa, 0xf1, 0x57, 0xfd, 0x87, 0xb7, 0x1b, 0x13, 0xaf, 0xea, 0x25, +}; +static const unsigned char kat2670_retbits[] = { + 0x9d, 0x79, 0x3d, 0xd9, 0x6b, 0x87, 0x0d, 0xfa, 0x02, 0x67, 0x62, 0x3b, + 0xd1, 0xc2, 0xd8, 0xbd, 0x3e, 0x2c, 0x63, 0xe9, 0xf2, 0x11, 0x34, 0x0f, + 0x63, 0x0f, 0xea, 0x01, 0x35, 0x80, 0x11, 0x39, 0x41, 0x54, 0x14, 0x5a, + 0x10, 0x65, 0x9c, 0x4d, 0x98, 0x27, 0x4a, 0x52, 0x5c, 0x48, 0xa9, 0x0d, + 0xa0, 0x12, 0x6a, 0x99, 0xb8, 0x5e, 0xd5, 0xb4, 0xb9, 0x03, 0x19, 0x5f, + 0x0d, 0xdd, 0xc7, 0x62, +}; +static const struct drbg_kat_pr_false kat2670_t = { + 14, kat2670_entropyin, kat2670_nonce, kat2670_persstr, + kat2670_entropyinreseed, kat2670_addinreseed, kat2670_addin0, + kat2670_addin1, kat2670_retbits +}; +static const struct drbg_kat kat2670 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2670_t +}; + +static const unsigned char kat2671_entropyin[] = { + 0xff, 0xad, 0x10, 0x10, 0x00, 0x25, 0xa8, 0x79, 0x67, 0x2f, 0xf5, 0x03, + 0x74, 0xb2, 0x86, 0x71, 0x2f, 0x45, 0x7d, 0xd0, 0x14, 0x41, 0xd7, 0x6a, + 0xc1, 0xa1, 0xcd, 0x15, 0xc7, 0x39, 0x0d, 0xd9, 0x31, 0x79, 0xa2, 0xf5, + 0x92, 0x0d, 0x19, 0x8b, 0xf3, 0x4a, 0x1b, 0x76, 0xfb, 0xc2, 0x12, 0x89, +}; +static const unsigned char kat2671_nonce[] = {0}; +static const unsigned char kat2671_persstr[] = { + 0x1d, 0x2b, 0xe6, 0xf2, 0x5e, 0x88, 0xfa, 0x30, 0xc4, 0xef, 0x42, 0xe4, + 0xd5, 0x4e, 0xfd, 0x95, 0x7d, 0xec, 0x23, 0x1f, 0xa0, 0x01, 0x43, 0xca, + 0x47, 0x58, 0x0b, 0xe6, 0x66, 0xa8, 0xc1, 0x43, 0xa9, 0x16, 0xc9, 0x0b, + 0x38, 0x19, 0xa0, 0xa7, 0xea, 0x91, 0x4e, 0x3c, 0x9a, 0x2e, 0x7a, 0x3f, +}; +static const unsigned char kat2671_entropyinreseed[] = { + 0x6c, 0x1a, 0x08, 0x9c, 0xae, 0x31, 0x33, 0x63, 0xbc, 0x76, 0xa7, 0x80, + 0x13, 0x9e, 0xb4, 0xf2, 0xf2, 0x04, 0x8b, 0x1f, 0x6b, 0x07, 0x89, 0x6c, + 0x5c, 0x41, 0x2b, 0xff, 0x03, 0x85, 0x44, 0x0f, 0xc4, 0x3b, 0x73, 0xfa, + 0xcb, 0xb7, 0x9e, 0x3a, 0x25, 0x2f, 0xa0, 0x1f, 0xe1, 0x7a, 0xb3, 0x91, +}; +static const unsigned char kat2671_addinreseed[] = {0}; +static const unsigned char kat2671_addin0[] = {0}; +static const unsigned char kat2671_addin1[] = {0}; +static const unsigned char kat2671_retbits[] = { + 0xe0, 0x53, 0xc7, 0xd4, 0xbd, 0x90, 0x99, 0xef, 0x6a, 0x99, 0xf1, 0x90, + 0xa5, 0xfd, 0x80, 0x21, 0x94, 0x37, 0xd6, 0x42, 0x00, 0x66, 0x72, 0x33, + 0x8d, 0xa6, 0xe0, 0xfe, 0x73, 0xca, 0x4d, 0x24, 0xff, 0xa5, 0x11, 0x51, + 0xbf, 0xbd, 0xac, 0x78, 0xd8, 0xa2, 0xf6, 0x25, 0x50, 0x46, 0xed, 0xf5, + 0x7a, 0x04, 0x62, 0x6e, 0x99, 0x77, 0x13, 0x9c, 0x69, 0x33, 0x27, 0x42, + 0x99, 0xf3, 0xbd, 0xff, +}; +static const struct drbg_kat_pr_false kat2671_t = { + 0, kat2671_entropyin, kat2671_nonce, kat2671_persstr, + kat2671_entropyinreseed, kat2671_addinreseed, kat2671_addin0, + kat2671_addin1, kat2671_retbits +}; +static const struct drbg_kat kat2671 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2671_t +}; + +static const unsigned char kat2672_entropyin[] = { + 0xf1, 0xe0, 0xd7, 0xb1, 0xac, 0x7e, 0x4e, 0x15, 0x5b, 0xb5, 0x88, 0x50, + 0x0f, 0x57, 0xd0, 0xc5, 0x99, 0x69, 0x26, 0x7e, 0xa5, 0x42, 0x7e, 0x2d, + 0x7f, 0xde, 0x1f, 0x9c, 0x54, 0xe6, 0x7b, 0x7f, 0x65, 0x62, 0xbf, 0xc1, + 0x01, 0x9b, 0x8b, 0x57, 0x99, 0xd2, 0xa8, 0x33, 0xfd, 0xcc, 0xac, 0x79, +}; +static const unsigned char kat2672_nonce[] = {0}; +static const unsigned char kat2672_persstr[] = { + 0x86, 0xda, 0x37, 0x24, 0x5d, 0x9b, 0xd1, 0xfb, 0x59, 0xa4, 0xbc, 0x7a, + 0xbd, 0x28, 0x9e, 0xa2, 0x99, 0x92, 0x58, 0x04, 0x2c, 0x5f, 0xa6, 0x96, + 0xf2, 0xda, 0x73, 0x44, 0xbb, 0x6e, 0xbc, 0x5b, 0x77, 0x0c, 0xa2, 0x84, + 0xbf, 0xe6, 0x42, 0x57, 0x0b, 0x52, 0xef, 0x47, 0xb7, 0x80, 0xd5, 0xc9, +}; +static const unsigned char kat2672_entropyinreseed[] = { + 0x9c, 0x2c, 0x9c, 0x07, 0xca, 0xb1, 0x2c, 0xf5, 0x0f, 0x88, 0x46, 0x14, + 0x80, 0x34, 0xa4, 0x16, 0xc8, 0x33, 0x66, 0xc1, 0xe2, 0x07, 0x76, 0x07, + 0x37, 0x51, 0x55, 0x3c, 0xae, 0x69, 0xda, 0x8d, 0x1f, 0x6b, 0xce, 0x6b, + 0xde, 0x27, 0x08, 0x76, 0x59, 0xd6, 0x9a, 0x62, 0xe2, 0xba, 0x7c, 0x3c, +}; +static const unsigned char kat2672_addinreseed[] = {0}; +static const unsigned char kat2672_addin0[] = {0}; +static const unsigned char kat2672_addin1[] = {0}; +static const unsigned char kat2672_retbits[] = { + 0xe0, 0xac, 0x06, 0xd7, 0xea, 0xe8, 0x94, 0x69, 0xb6, 0xc1, 0x4a, 0x31, + 0xe7, 0xf0, 0x46, 0x4e, 0xe2, 0x1f, 0x7b, 0x30, 0xd2, 0x26, 0x4c, 0x2d, + 0xe3, 0xe4, 0x35, 0xcb, 0x40, 0xd0, 0xe5, 0x04, 0x3e, 0xe1, 0x3d, 0xfb, + 0xc0, 0x34, 0x21, 0x56, 0x75, 0x08, 0x80, 0xb2, 0xd5, 0xdd, 0xdb, 0x3b, + 0xeb, 0xb4, 0x3b, 0x16, 0x2a, 0x84, 0x78, 0x23, 0x5c, 0x8b, 0x87, 0xf9, + 0x6d, 0x02, 0x84, 0xfd, +}; +static const struct drbg_kat_pr_false kat2672_t = { + 1, kat2672_entropyin, kat2672_nonce, kat2672_persstr, + kat2672_entropyinreseed, kat2672_addinreseed, kat2672_addin0, + kat2672_addin1, kat2672_retbits +}; +static const struct drbg_kat kat2672 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2672_t +}; + +static const unsigned char kat2673_entropyin[] = { + 0x1d, 0xbe, 0xe7, 0x67, 0xe9, 0x91, 0x6a, 0xb3, 0x22, 0xba, 0x46, 0x1f, + 0xbf, 0x9f, 0x75, 0x15, 0xcf, 0xbc, 0xb4, 0x59, 0x44, 0xa7, 0xb4, 0x71, + 0x57, 0x7d, 0xa0, 0x87, 0x69, 0x0d, 0x94, 0xd9, 0x67, 0x01, 0x8b, 0x63, + 0x1e, 0x0c, 0x1f, 0x64, 0xda, 0x3c, 0x80, 0x5d, 0x04, 0x9f, 0x44, 0x9a, +}; +static const unsigned char kat2673_nonce[] = {0}; +static const unsigned char kat2673_persstr[] = { + 0x96, 0x6b, 0x5c, 0xd9, 0x40, 0x19, 0xd4, 0xd9, 0x0b, 0x48, 0xea, 0x7f, + 0x54, 0x0a, 0x69, 0x8c, 0xfe, 0x30, 0xd7, 0xeb, 0x25, 0xf5, 0xf7, 0xe5, + 0xfe, 0x42, 0xd9, 0xf5, 0x3e, 0xbe, 0xd6, 0xe9, 0x4e, 0x73, 0x3b, 0x07, + 0x94, 0xfc, 0x6b, 0xf3, 0x06, 0x27, 0x91, 0x1e, 0x20, 0xcc, 0x18, 0xe8, +}; +static const unsigned char kat2673_entropyinreseed[] = { + 0x96, 0xe8, 0x28, 0x12, 0x8f, 0x18, 0x3c, 0x76, 0xc9, 0x0e, 0xc8, 0x34, + 0x1a, 0x43, 0x56, 0x13, 0x68, 0xb7, 0x71, 0x14, 0x04, 0x8c, 0xcb, 0x05, + 0xdb, 0x66, 0x12, 0x8d, 0x54, 0xc9, 0x53, 0x9d, 0x1a, 0xdc, 0x1d, 0x72, + 0xf7, 0xfb, 0x09, 0x50, 0xe4, 0x1b, 0x13, 0x43, 0xa9, 0xe4, 0xdf, 0x76, +}; +static const unsigned char kat2673_addinreseed[] = {0}; +static const unsigned char kat2673_addin0[] = {0}; +static const unsigned char kat2673_addin1[] = {0}; +static const unsigned char kat2673_retbits[] = { + 0xc4, 0xd3, 0xf5, 0xc5, 0x5d, 0x39, 0x79, 0xb1, 0x74, 0x02, 0x06, 0x50, + 0xad, 0x7a, 0x46, 0xb4, 0x23, 0xec, 0x44, 0x6d, 0xff, 0x2a, 0x9e, 0x9f, + 0xe0, 0xa7, 0x82, 0xbf, 0x65, 0xa7, 0x2d, 0x5f, 0xcb, 0x18, 0x96, 0xbc, + 0x10, 0x92, 0xa8, 0xc7, 0x3f, 0x41, 0x29, 0x5e, 0x2e, 0x70, 0x44, 0x43, + 0x4f, 0x88, 0xaa, 0x0a, 0xca, 0x78, 0xf7, 0xea, 0xc4, 0x0e, 0x32, 0x2c, + 0xb7, 0xc2, 0x55, 0x63, +}; +static const struct drbg_kat_pr_false kat2673_t = { + 2, kat2673_entropyin, kat2673_nonce, kat2673_persstr, + kat2673_entropyinreseed, kat2673_addinreseed, kat2673_addin0, + kat2673_addin1, kat2673_retbits +}; +static const struct drbg_kat kat2673 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2673_t +}; + +static const unsigned char kat2674_entropyin[] = { + 0xdf, 0x58, 0x8b, 0xff, 0x3a, 0x1f, 0xc9, 0x7a, 0x90, 0x80, 0x67, 0xda, + 0x6a, 0x7f, 0xef, 0x08, 0xc8, 0x89, 0xac, 0x29, 0xad, 0x7d, 0x63, 0x9b, + 0xd0, 0x47, 0x15, 0x7b, 0xac, 0xab, 0x4d, 0xbd, 0xee, 0x3d, 0xff, 0xe5, + 0x75, 0xf3, 0x7d, 0x07, 0x1a, 0xf9, 0x4c, 0xbd, 0x76, 0x28, 0xd3, 0x98, +}; +static const unsigned char kat2674_nonce[] = {0}; +static const unsigned char kat2674_persstr[] = { + 0x54, 0x87, 0x15, 0xcf, 0xb2, 0x8c, 0x1b, 0xc5, 0x64, 0x53, 0xb8, 0xc3, + 0x9e, 0x24, 0xcf, 0xd6, 0x40, 0x77, 0xc0, 0xf6, 0xe9, 0xd9, 0x59, 0xd5, + 0x1b, 0x9f, 0x06, 0x67, 0xb9, 0x7d, 0x3c, 0x4e, 0x1a, 0x17, 0x9d, 0x1a, + 0x55, 0x4d, 0xf8, 0x45, 0xb2, 0x4c, 0x26, 0xda, 0xec, 0x85, 0x84, 0x5a, +}; +static const unsigned char kat2674_entropyinreseed[] = { + 0xf8, 0xc1, 0x65, 0xb5, 0xeb, 0xd8, 0x34, 0x7a, 0x2f, 0xfe, 0xf2, 0x21, + 0x8f, 0x99, 0x38, 0x77, 0x02, 0x7e, 0x97, 0x75, 0x98, 0xb4, 0xfd, 0xac, + 0x2f, 0x65, 0xd8, 0xd9, 0x94, 0xc7, 0x43, 0x29, 0x00, 0xf8, 0x40, 0x7a, + 0xb5, 0xae, 0xd1, 0x88, 0x5d, 0xee, 0x5a, 0xa2, 0x45, 0x8f, 0x59, 0x98, +}; +static const unsigned char kat2674_addinreseed[] = {0}; +static const unsigned char kat2674_addin0[] = {0}; +static const unsigned char kat2674_addin1[] = {0}; +static const unsigned char kat2674_retbits[] = { + 0xde, 0xed, 0x18, 0x22, 0x0b, 0xd8, 0xf7, 0x2a, 0x34, 0x55, 0x99, 0x24, + 0xf3, 0xca, 0xd9, 0x25, 0xee, 0x71, 0x76, 0x90, 0xf7, 0x6b, 0xc2, 0x23, + 0xd5, 0xff, 0xee, 0xbb, 0xb5, 0x54, 0xb6, 0x1b, 0x9d, 0x9e, 0xb6, 0xac, + 0x56, 0x97, 0xb0, 0x63, 0x31, 0xe2, 0x36, 0x67, 0x26, 0x77, 0xe2, 0xe0, + 0x1d, 0x6e, 0x3f, 0xd5, 0x81, 0xa4, 0xfa, 0x1e, 0xba, 0xd2, 0x89, 0x79, + 0x7b, 0x68, 0x95, 0x5f, +}; +static const struct drbg_kat_pr_false kat2674_t = { + 3, kat2674_entropyin, kat2674_nonce, kat2674_persstr, + kat2674_entropyinreseed, kat2674_addinreseed, kat2674_addin0, + kat2674_addin1, kat2674_retbits +}; +static const struct drbg_kat kat2674 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2674_t +}; + +static const unsigned char kat2675_entropyin[] = { + 0x98, 0x55, 0x50, 0x93, 0xe4, 0x43, 0xfe, 0x8e, 0x2b, 0xc8, 0xd2, 0xeb, + 0x4d, 0x3a, 0x7a, 0xbb, 0x8e, 0xba, 0x00, 0xb2, 0x56, 0x83, 0xa6, 0xb3, + 0x11, 0x91, 0xff, 0xf7, 0xc0, 0x43, 0x66, 0x5e, 0xc2, 0xca, 0xd3, 0xe9, + 0x9e, 0x55, 0xbb, 0xc2, 0x41, 0xb8, 0xed, 0xc6, 0x99, 0xdb, 0xc9, 0xed, +}; +static const unsigned char kat2675_nonce[] = {0}; +static const unsigned char kat2675_persstr[] = { + 0x56, 0x27, 0xa0, 0xa5, 0x54, 0x57, 0xdb, 0x05, 0xe3, 0x90, 0x3d, 0x4b, + 0x69, 0xce, 0x15, 0xf5, 0x5f, 0x93, 0x31, 0x68, 0xd6, 0xeb, 0x37, 0x4c, + 0x04, 0x4e, 0x8f, 0x10, 0x40, 0xf6, 0x1e, 0xd7, 0xeb, 0x24, 0xf8, 0x7f, + 0x91, 0xc6, 0x8c, 0xde, 0x05, 0x0f, 0x50, 0x4b, 0x89, 0x65, 0xdd, 0x81, +}; +static const unsigned char kat2675_entropyinreseed[] = { + 0x18, 0xd1, 0x7e, 0x1b, 0x68, 0x37, 0x88, 0x01, 0xf8, 0x3e, 0x7a, 0xa9, + 0xa6, 0xd4, 0xb8, 0x4d, 0x39, 0x60, 0x02, 0x2c, 0x74, 0x0e, 0x6c, 0x84, + 0x58, 0x69, 0xa5, 0xdb, 0x55, 0x3d, 0x2e, 0x02, 0x47, 0x9c, 0xd9, 0x2f, + 0x3c, 0x0d, 0x8a, 0xbd, 0x3e, 0x92, 0xfc, 0x9c, 0x9f, 0xbc, 0x6a, 0x3f, +}; +static const unsigned char kat2675_addinreseed[] = {0}; +static const unsigned char kat2675_addin0[] = {0}; +static const unsigned char kat2675_addin1[] = {0}; +static const unsigned char kat2675_retbits[] = { + 0x7a, 0x7f, 0x0a, 0xb0, 0x7a, 0x54, 0x0b, 0x4e, 0x9a, 0x3e, 0xda, 0x3f, + 0x8b, 0xd1, 0x26, 0x20, 0x15, 0xd8, 0xea, 0x6d, 0x51, 0x2d, 0xbe, 0xa0, + 0x59, 0x42, 0x42, 0x1f, 0x5a, 0x73, 0x24, 0x2a, 0xc2, 0x36, 0x00, 0x9e, + 0xf0, 0x83, 0xbf, 0x2e, 0x51, 0xb1, 0x9c, 0x40, 0xd1, 0xa0, 0x19, 0x36, + 0x7a, 0x6b, 0x96, 0xfb, 0x52, 0xd2, 0x54, 0xe4, 0xd8, 0x81, 0x55, 0x0a, + 0xef, 0x05, 0x49, 0xed, +}; +static const struct drbg_kat_pr_false kat2675_t = { + 4, kat2675_entropyin, kat2675_nonce, kat2675_persstr, + kat2675_entropyinreseed, kat2675_addinreseed, kat2675_addin0, + kat2675_addin1, kat2675_retbits +}; +static const struct drbg_kat kat2675 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2675_t +}; + +static const unsigned char kat2676_entropyin[] = { + 0x07, 0x79, 0x3b, 0xac, 0x64, 0x61, 0xf2, 0x3e, 0x5e, 0xb0, 0xd1, 0xbc, + 0x60, 0xb5, 0xf7, 0x35, 0x51, 0x54, 0x58, 0xd1, 0x53, 0x05, 0x40, 0xdf, + 0x1c, 0x8e, 0x6f, 0xc5, 0xc3, 0xeb, 0xfb, 0x06, 0xb9, 0xdb, 0x60, 0xa8, + 0x94, 0x7e, 0xb6, 0x29, 0xff, 0x7a, 0x37, 0x5f, 0xe6, 0x80, 0xd6, 0x96, +}; +static const unsigned char kat2676_nonce[] = {0}; +static const unsigned char kat2676_persstr[] = { + 0xc1, 0xe2, 0x13, 0x2b, 0x77, 0xb6, 0xc1, 0x57, 0x42, 0xe0, 0x6e, 0x85, + 0x6c, 0x15, 0x49, 0xc4, 0xcc, 0xeb, 0xd1, 0xb2, 0xed, 0xa9, 0x3e, 0x2c, + 0x43, 0x39, 0x1b, 0x52, 0xca, 0xd5, 0x14, 0x90, 0xfe, 0x34, 0x15, 0x7f, + 0x57, 0xbe, 0x9e, 0xb4, 0xef, 0xf4, 0x63, 0xb0, 0x59, 0x98, 0x66, 0x80, +}; +static const unsigned char kat2676_entropyinreseed[] = { + 0x23, 0xe4, 0x7e, 0x0c, 0x41, 0x46, 0x2f, 0x7c, 0x61, 0x9b, 0xbc, 0xd5, + 0xb7, 0x3f, 0x9a, 0xb1, 0xc6, 0x8c, 0x7c, 0xdf, 0x1e, 0xc9, 0x2c, 0x4c, + 0x37, 0x12, 0x64, 0x02, 0x95, 0x8e, 0x11, 0x0e, 0x32, 0x91, 0x07, 0x74, + 0x2e, 0x70, 0xdb, 0x61, 0x1b, 0x93, 0x97, 0x4c, 0x39, 0x39, 0x36, 0xa6, +}; +static const unsigned char kat2676_addinreseed[] = {0}; +static const unsigned char kat2676_addin0[] = {0}; +static const unsigned char kat2676_addin1[] = {0}; +static const unsigned char kat2676_retbits[] = { + 0xe6, 0xda, 0xb4, 0xa8, 0x87, 0xf4, 0x8e, 0xc3, 0x3c, 0xb2, 0x93, 0xff, + 0xda, 0xb5, 0xfc, 0x69, 0x59, 0x5f, 0x94, 0xc7, 0x2c, 0x5a, 0x9b, 0xb4, + 0x3f, 0x46, 0x8f, 0x75, 0x49, 0x01, 0x90, 0xb7, 0xe0, 0xf1, 0x4f, 0x5c, + 0x04, 0x55, 0x0c, 0xb6, 0x2a, 0x6d, 0x0e, 0xe0, 0xc3, 0xd8, 0x34, 0xbe, + 0x34, 0x34, 0xc8, 0x22, 0x9c, 0x12, 0x40, 0x87, 0xbb, 0x98, 0x5a, 0x06, + 0xb9, 0xa3, 0x72, 0x67, +}; +static const struct drbg_kat_pr_false kat2676_t = { + 5, kat2676_entropyin, kat2676_nonce, kat2676_persstr, + kat2676_entropyinreseed, kat2676_addinreseed, kat2676_addin0, + kat2676_addin1, kat2676_retbits +}; +static const struct drbg_kat kat2676 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2676_t +}; + +static const unsigned char kat2677_entropyin[] = { + 0x25, 0xce, 0xfa, 0x05, 0x12, 0x92, 0x1f, 0xd4, 0xa3, 0xa4, 0xe5, 0xe7, + 0xc4, 0x8c, 0x62, 0x01, 0x18, 0x5a, 0x69, 0x68, 0x41, 0x9a, 0xe5, 0xbc, + 0xc6, 0x66, 0x7b, 0xb7, 0x4c, 0x35, 0xde, 0x4f, 0x91, 0x98, 0x8a, 0x33, + 0xf2, 0x5e, 0xa8, 0x8a, 0x84, 0x43, 0xc6, 0x56, 0x43, 0xcc, 0x73, 0xdd, +}; +static const unsigned char kat2677_nonce[] = {0}; +static const unsigned char kat2677_persstr[] = { + 0x07, 0xdd, 0xf1, 0x25, 0x96, 0x0c, 0x34, 0x66, 0x80, 0xb4, 0xb3, 0x61, + 0xc0, 0xa9, 0xc6, 0xdc, 0x10, 0x08, 0xa8, 0x5c, 0xe1, 0x86, 0x1b, 0x45, + 0xff, 0x18, 0x90, 0x7e, 0x6e, 0x7d, 0xb4, 0x1b, 0x04, 0x6e, 0x5f, 0x01, + 0x66, 0x17, 0xe6, 0xc5, 0xb0, 0xce, 0xb5, 0x57, 0x5a, 0xc2, 0x78, 0xa8, +}; +static const unsigned char kat2677_entropyinreseed[] = { + 0x8c, 0xf4, 0x1e, 0x54, 0x13, 0xb0, 0xc8, 0xff, 0xac, 0xbc, 0x4d, 0xfc, + 0x11, 0x9f, 0x10, 0xb4, 0x75, 0x69, 0x35, 0x9b, 0x91, 0x14, 0x48, 0xf4, + 0x5c, 0x7a, 0xd6, 0x3d, 0xd5, 0x8e, 0x87, 0x24, 0x10, 0xc2, 0x51, 0x76, + 0xb9, 0x86, 0xfe, 0xe8, 0xb8, 0x39, 0x66, 0xd0, 0x09, 0x8d, 0x99, 0x6a, +}; +static const unsigned char kat2677_addinreseed[] = {0}; +static const unsigned char kat2677_addin0[] = {0}; +static const unsigned char kat2677_addin1[] = {0}; +static const unsigned char kat2677_retbits[] = { + 0xab, 0x58, 0xec, 0x5c, 0x35, 0x60, 0x05, 0x66, 0xdd, 0x2e, 0xe1, 0x87, + 0xa5, 0xb6, 0x7d, 0xfa, 0x65, 0xbe, 0xbe, 0x13, 0x33, 0x36, 0x70, 0xd2, + 0xa1, 0x98, 0xfa, 0x5a, 0xf0, 0xc2, 0x02, 0x94, 0xc6, 0xcb, 0x69, 0xd3, + 0x75, 0x64, 0xd2, 0xb2, 0x58, 0x7e, 0xa5, 0x58, 0x7e, 0x12, 0x34, 0x1e, + 0x77, 0xf4, 0x7f, 0x17, 0x3d, 0x6c, 0xc9, 0xf9, 0xb9, 0xe5, 0xde, 0xdf, + 0x0e, 0xe1, 0xa8, 0xd0, +}; +static const struct drbg_kat_pr_false kat2677_t = { + 6, kat2677_entropyin, kat2677_nonce, kat2677_persstr, + kat2677_entropyinreseed, kat2677_addinreseed, kat2677_addin0, + kat2677_addin1, kat2677_retbits +}; +static const struct drbg_kat kat2677 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2677_t +}; + +static const unsigned char kat2678_entropyin[] = { + 0x92, 0x9f, 0x1d, 0xec, 0x0a, 0x6d, 0x14, 0xde, 0x48, 0x3a, 0x2f, 0xe1, + 0x14, 0xa4, 0x30, 0x79, 0x6d, 0x0b, 0x44, 0x9f, 0xca, 0x56, 0xa4, 0xdd, + 0xbb, 0xe6, 0x61, 0xbd, 0xc2, 0x6a, 0x8d, 0xf8, 0x5c, 0xaf, 0xad, 0x7b, + 0x67, 0x7c, 0xcb, 0xf1, 0xfe, 0x4c, 0xb0, 0xd5, 0xe8, 0xcb, 0x57, 0xa9, +}; +static const unsigned char kat2678_nonce[] = {0}; +static const unsigned char kat2678_persstr[] = { + 0x0b, 0xf8, 0xc5, 0x90, 0xa6, 0x66, 0x53, 0xc0, 0x49, 0x47, 0x50, 0xd1, + 0x02, 0x74, 0xb5, 0x83, 0xd8, 0x6e, 0x54, 0x0b, 0x51, 0x7b, 0xfc, 0x23, + 0xbb, 0x3b, 0x0c, 0x9f, 0xde, 0x37, 0x3e, 0x45, 0x65, 0x58, 0x46, 0x86, + 0x03, 0xc2, 0x11, 0x5c, 0x97, 0xd3, 0x66, 0x2e, 0x68, 0x25, 0xf4, 0xf2, +}; +static const unsigned char kat2678_entropyinreseed[] = { + 0x84, 0x03, 0x06, 0x28, 0x53, 0x4b, 0x75, 0x25, 0xdb, 0xd4, 0x02, 0x3a, + 0xed, 0x1a, 0xb0, 0x8c, 0x4f, 0x2b, 0x86, 0xa7, 0xc2, 0xfa, 0x3b, 0xc9, + 0x55, 0x9b, 0x42, 0x5c, 0xce, 0x07, 0xc3, 0x4f, 0xac, 0x14, 0xe9, 0x63, + 0x25, 0x6a, 0xea, 0x03, 0xf7, 0x4f, 0x11, 0x22, 0xa7, 0xa3, 0x04, 0x83, +}; +static const unsigned char kat2678_addinreseed[] = {0}; +static const unsigned char kat2678_addin0[] = {0}; +static const unsigned char kat2678_addin1[] = {0}; +static const unsigned char kat2678_retbits[] = { + 0x19, 0x9f, 0x2d, 0xce, 0x5b, 0xbe, 0x32, 0xc6, 0x93, 0x15, 0x1a, 0x21, + 0x6f, 0xb3, 0x6c, 0xce, 0xa7, 0x99, 0x6c, 0x31, 0x3f, 0x6b, 0x78, 0xfa, + 0x30, 0xad, 0x81, 0x2a, 0x0e, 0x60, 0x39, 0x65, 0x02, 0x3f, 0xc2, 0x97, + 0x06, 0xa7, 0x1b, 0x75, 0x3d, 0x79, 0x24, 0x4c, 0xb9, 0xe8, 0xfd, 0xaf, + 0xf4, 0x67, 0xe0, 0xf9, 0x63, 0x42, 0x6b, 0x10, 0xad, 0x89, 0xa9, 0x8e, + 0x98, 0x7a, 0xf3, 0x16, +}; +static const struct drbg_kat_pr_false kat2678_t = { + 7, kat2678_entropyin, kat2678_nonce, kat2678_persstr, + kat2678_entropyinreseed, kat2678_addinreseed, kat2678_addin0, + kat2678_addin1, kat2678_retbits +}; +static const struct drbg_kat kat2678 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2678_t +}; + +static const unsigned char kat2679_entropyin[] = { + 0x7b, 0xc5, 0xd9, 0x70, 0x18, 0x6b, 0x9e, 0x1b, 0x00, 0x52, 0xb7, 0x56, + 0x4d, 0xba, 0xbf, 0x61, 0xc8, 0x9c, 0xb3, 0xd6, 0x4f, 0xf4, 0x2f, 0x9a, + 0x62, 0xd6, 0x25, 0x11, 0x2a, 0xca, 0x04, 0x86, 0xcd, 0xf0, 0x33, 0x6c, + 0x36, 0x12, 0x25, 0x4b, 0x40, 0xcb, 0xfb, 0xa8, 0x3a, 0xb6, 0x5b, 0x42, +}; +static const unsigned char kat2679_nonce[] = {0}; +static const unsigned char kat2679_persstr[] = { + 0xa2, 0x53, 0x26, 0xfe, 0xf3, 0x0f, 0x9c, 0x94, 0x42, 0x3d, 0x99, 0x75, + 0x9a, 0x1e, 0xe5, 0x75, 0x53, 0x6a, 0x97, 0x15, 0xdf, 0x95, 0x26, 0xde, + 0x9a, 0x0b, 0x8d, 0xbc, 0xc3, 0xa2, 0x23, 0x4c, 0xd8, 0x35, 0x61, 0x5f, + 0x5d, 0xfe, 0x78, 0x23, 0x92, 0x73, 0x55, 0xf5, 0x69, 0xec, 0x6f, 0x02, +}; +static const unsigned char kat2679_entropyinreseed[] = { + 0xef, 0x8a, 0x01, 0x37, 0x01, 0x3b, 0xe2, 0x12, 0x40, 0x2e, 0x42, 0xb2, + 0x8c, 0x03, 0xed, 0x64, 0x20, 0x88, 0x1a, 0xa3, 0x8b, 0x3a, 0x3e, 0x6e, + 0x90, 0xa8, 0x61, 0x11, 0x65, 0x16, 0xdf, 0x1e, 0xf7, 0x32, 0xa1, 0x9e, + 0x89, 0x35, 0xff, 0xcd, 0x9b, 0xe7, 0xa2, 0xfc, 0x23, 0x67, 0x83, 0xb7, +}; +static const unsigned char kat2679_addinreseed[] = {0}; +static const unsigned char kat2679_addin0[] = {0}; +static const unsigned char kat2679_addin1[] = {0}; +static const unsigned char kat2679_retbits[] = { + 0x29, 0xf8, 0x1e, 0xcf, 0x3f, 0x41, 0xd2, 0x78, 0xc0, 0x1b, 0xba, 0x9a, + 0xf9, 0xbc, 0x0f, 0xe6, 0x00, 0x95, 0x39, 0x68, 0x2f, 0x46, 0x72, 0x3c, + 0xe5, 0xb0, 0xff, 0x75, 0xfe, 0xd2, 0x17, 0xad, 0x71, 0x58, 0x0b, 0x5d, + 0xac, 0x46, 0x28, 0x9e, 0x32, 0x4d, 0x82, 0x40, 0x94, 0xc3, 0x32, 0xc3, + 0x95, 0x5c, 0x52, 0x82, 0x57, 0x70, 0x1a, 0x14, 0xec, 0x2b, 0xfe, 0xcc, + 0xe4, 0xf6, 0x2a, 0x6c, +}; +static const struct drbg_kat_pr_false kat2679_t = { + 8, kat2679_entropyin, kat2679_nonce, kat2679_persstr, + kat2679_entropyinreseed, kat2679_addinreseed, kat2679_addin0, + kat2679_addin1, kat2679_retbits +}; +static const struct drbg_kat kat2679 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2679_t +}; + +static const unsigned char kat2680_entropyin[] = { + 0x0c, 0x84, 0x1a, 0x24, 0x5a, 0x19, 0x29, 0x52, 0x81, 0x16, 0x3b, 0x07, + 0x54, 0x15, 0x90, 0x37, 0x6d, 0x31, 0xd8, 0x6a, 0x9b, 0xe9, 0x9e, 0x66, + 0xcc, 0x22, 0x35, 0x2d, 0xab, 0xb2, 0x9f, 0x95, 0xe1, 0x13, 0xee, 0x23, + 0x3d, 0x74, 0xd3, 0xf2, 0xb7, 0xf2, 0xf6, 0x08, 0x83, 0x05, 0x25, 0xf0, +}; +static const unsigned char kat2680_nonce[] = {0}; +static const unsigned char kat2680_persstr[] = { + 0x28, 0xd3, 0x58, 0x10, 0x54, 0xd8, 0x7f, 0x15, 0x3a, 0xee, 0x12, 0xed, + 0xca, 0x47, 0xba, 0xd8, 0x0b, 0xfc, 0x9b, 0x06, 0x6a, 0xd1, 0xe8, 0xb9, + 0xd9, 0x6c, 0x85, 0x1d, 0xc7, 0xb8, 0xed, 0x76, 0x8c, 0xad, 0x00, 0x7b, + 0x89, 0x1d, 0x1c, 0x94, 0x47, 0xd4, 0x30, 0x65, 0xb4, 0x83, 0xd0, 0x85, +}; +static const unsigned char kat2680_entropyinreseed[] = { + 0x58, 0x7a, 0x1d, 0xae, 0x75, 0xc2, 0xa1, 0xf2, 0xde, 0xa7, 0xfb, 0x42, + 0xef, 0x7b, 0xf3, 0x86, 0x46, 0xb7, 0x6a, 0x96, 0x4e, 0xcd, 0x70, 0x43, + 0xd8, 0xb6, 0x2f, 0xdd, 0x9e, 0x6a, 0x5c, 0x00, 0x78, 0x82, 0xf0, 0x2f, + 0x78, 0xfd, 0x04, 0x05, 0x61, 0xd1, 0x5a, 0x33, 0x7e, 0x59, 0xf2, 0x57, +}; +static const unsigned char kat2680_addinreseed[] = {0}; +static const unsigned char kat2680_addin0[] = {0}; +static const unsigned char kat2680_addin1[] = {0}; +static const unsigned char kat2680_retbits[] = { + 0xba, 0x7b, 0xce, 0x08, 0x09, 0x63, 0xfe, 0x2b, 0x4e, 0x8f, 0x0e, 0x1a, + 0xa7, 0x00, 0xe9, 0x2b, 0x39, 0x08, 0xe1, 0x8d, 0xc7, 0x87, 0x28, 0x66, + 0x69, 0x04, 0xb0, 0x22, 0x0e, 0x40, 0x77, 0xfe, 0xf2, 0xcd, 0x18, 0xbb, + 0xea, 0x29, 0xa2, 0x75, 0x5a, 0x34, 0x99, 0x79, 0x8c, 0xca, 0x44, 0x5b, + 0xb7, 0x52, 0x69, 0xa5, 0xad, 0xca, 0x2f, 0x29, 0x1d, 0xd3, 0x87, 0x54, + 0x57, 0xc6, 0x9a, 0x89, +}; +static const struct drbg_kat_pr_false kat2680_t = { + 9, kat2680_entropyin, kat2680_nonce, kat2680_persstr, + kat2680_entropyinreseed, kat2680_addinreseed, kat2680_addin0, + kat2680_addin1, kat2680_retbits +}; +static const struct drbg_kat kat2680 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2680_t +}; + +static const unsigned char kat2681_entropyin[] = { + 0xf4, 0xaf, 0xdd, 0xab, 0xe5, 0x15, 0xca, 0x3e, 0x77, 0x67, 0x30, 0xe7, + 0xd4, 0x44, 0x61, 0xb2, 0x7e, 0x8f, 0x72, 0x40, 0x7c, 0xa3, 0x98, 0xd3, + 0xfb, 0x57, 0x83, 0x65, 0xe0, 0x9e, 0xa8, 0xc2, 0x4d, 0x6c, 0x4b, 0x09, + 0x72, 0x49, 0x07, 0xa6, 0x10, 0xd7, 0x55, 0x40, 0x7d, 0x38, 0x66, 0x7f, +}; +static const unsigned char kat2681_nonce[] = {0}; +static const unsigned char kat2681_persstr[] = { + 0x84, 0x6b, 0xcb, 0xc7, 0x01, 0x4c, 0xa8, 0xc6, 0xfb, 0x04, 0x2a, 0x80, + 0xd4, 0xa8, 0xc3, 0xaa, 0x50, 0xb6, 0xc5, 0xef, 0xf1, 0x5e, 0x4b, 0x12, + 0xf9, 0x66, 0xab, 0x17, 0xe6, 0x51, 0x4c, 0xbb, 0x22, 0xfb, 0x2e, 0xed, + 0x62, 0x8e, 0xe5, 0xc2, 0xa8, 0xac, 0xde, 0x82, 0x1a, 0x95, 0x60, 0x78, +}; +static const unsigned char kat2681_entropyinreseed[] = { + 0xb2, 0xae, 0xab, 0x11, 0x65, 0xb1, 0x50, 0x90, 0x8c, 0x9b, 0xb5, 0x2c, + 0x2b, 0x71, 0x67, 0xc1, 0x49, 0xea, 0x4f, 0xb4, 0x71, 0x0e, 0xdc, 0x8a, + 0xcf, 0xbc, 0x63, 0xf7, 0x65, 0x2b, 0xb5, 0x52, 0xd6, 0x36, 0xa7, 0xe6, + 0xfc, 0x3d, 0x1e, 0x74, 0xd3, 0xf6, 0x54, 0x61, 0xba, 0xaa, 0xc0, 0x87, +}; +static const unsigned char kat2681_addinreseed[] = {0}; +static const unsigned char kat2681_addin0[] = {0}; +static const unsigned char kat2681_addin1[] = {0}; +static const unsigned char kat2681_retbits[] = { + 0x2a, 0x03, 0x35, 0xc3, 0xca, 0xee, 0xec, 0x7c, 0x79, 0x7f, 0x99, 0xfb, + 0xc1, 0x45, 0x65, 0x4d, 0x39, 0x85, 0xc3, 0xc7, 0x10, 0x25, 0xc8, 0xe4, + 0xbd, 0x4b, 0x09, 0x88, 0x01, 0xf1, 0x5d, 0x21, 0xc2, 0x72, 0x42, 0x04, + 0x17, 0xd8, 0x05, 0xb0, 0xad, 0x1c, 0xe6, 0x8f, 0x90, 0x45, 0x02, 0xa4, + 0x61, 0x30, 0x24, 0x63, 0x15, 0x95, 0x7b, 0xc0, 0x7a, 0x5d, 0xb4, 0xf3, + 0x44, 0x7a, 0x84, 0xe7, +}; +static const struct drbg_kat_pr_false kat2681_t = { + 10, kat2681_entropyin, kat2681_nonce, kat2681_persstr, + kat2681_entropyinreseed, kat2681_addinreseed, kat2681_addin0, + kat2681_addin1, kat2681_retbits +}; +static const struct drbg_kat kat2681 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2681_t +}; + +static const unsigned char kat2682_entropyin[] = { + 0x69, 0x42, 0x41, 0x3e, 0x05, 0xac, 0x48, 0x7c, 0xf5, 0x39, 0xbc, 0x61, + 0xaa, 0x68, 0x66, 0xef, 0x8c, 0xbd, 0x9d, 0x0f, 0x15, 0xe1, 0x38, 0x5f, + 0x37, 0xbb, 0xa5, 0xa9, 0x51, 0xa2, 0x9f, 0xc9, 0x56, 0xd4, 0x6f, 0x87, + 0x40, 0x60, 0x3a, 0xf7, 0xc7, 0x18, 0x00, 0x04, 0x8c, 0x83, 0x12, 0xad, +}; +static const unsigned char kat2682_nonce[] = {0}; +static const unsigned char kat2682_persstr[] = { + 0x47, 0xeb, 0xb1, 0x6c, 0x24, 0xbc, 0x17, 0xad, 0x17, 0x9e, 0x67, 0x30, + 0x40, 0x75, 0x26, 0x18, 0x7c, 0xf9, 0x33, 0x2c, 0x17, 0x2a, 0xe5, 0x60, + 0x37, 0xae, 0xe4, 0x71, 0xa0, 0xdc, 0xfa, 0x76, 0x6f, 0xe5, 0x18, 0x08, + 0xc0, 0xa4, 0x7f, 0xd0, 0x6b, 0x9e, 0x34, 0xbd, 0xed, 0x00, 0x6c, 0x8b, +}; +static const unsigned char kat2682_entropyinreseed[] = { + 0xd8, 0x27, 0x5a, 0xd1, 0x54, 0x5b, 0xc2, 0x4e, 0x77, 0x21, 0x3c, 0xe1, + 0xdf, 0xa4, 0x80, 0xd3, 0xb7, 0xa5, 0x6a, 0x2d, 0x5f, 0x26, 0xc1, 0xab, + 0x34, 0x5f, 0x9f, 0x0a, 0xc7, 0x12, 0xad, 0x00, 0x4b, 0x0f, 0x6f, 0x03, + 0x3b, 0x60, 0x14, 0xc0, 0xf7, 0x80, 0x69, 0xf9, 0x28, 0x40, 0xf6, 0x2b, +}; +static const unsigned char kat2682_addinreseed[] = {0}; +static const unsigned char kat2682_addin0[] = {0}; +static const unsigned char kat2682_addin1[] = {0}; +static const unsigned char kat2682_retbits[] = { + 0x1b, 0x74, 0xcf, 0xa6, 0x34, 0x4d, 0x29, 0x4e, 0xc3, 0xac, 0x80, 0x02, + 0xc5, 0x10, 0xb8, 0x6c, 0x0b, 0x45, 0x9c, 0xf7, 0x82, 0x3a, 0xeb, 0x05, + 0x33, 0x6a, 0x20, 0xc1, 0x35, 0x5a, 0x31, 0x93, 0x96, 0x6f, 0xdc, 0x8b, + 0xa8, 0xf7, 0xcc, 0x13, 0x71, 0xc9, 0xc7, 0x0a, 0x9f, 0x7f, 0xf5, 0x53, + 0xc4, 0xc6, 0xda, 0xdf, 0x23, 0xf2, 0xcb, 0x08, 0xe4, 0x04, 0x0a, 0xf5, + 0x1f, 0x17, 0x2a, 0xc0, +}; +static const struct drbg_kat_pr_false kat2682_t = { + 11, kat2682_entropyin, kat2682_nonce, kat2682_persstr, + kat2682_entropyinreseed, kat2682_addinreseed, kat2682_addin0, + kat2682_addin1, kat2682_retbits +}; +static const struct drbg_kat kat2682 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2682_t +}; + +static const unsigned char kat2683_entropyin[] = { + 0x9c, 0x14, 0x64, 0x6d, 0x10, 0x47, 0x85, 0x54, 0x6c, 0x4c, 0xf4, 0x73, + 0x96, 0xff, 0x1c, 0xcd, 0xd2, 0x6c, 0xc0, 0xcd, 0xe8, 0xc2, 0x0b, 0x5a, + 0xa6, 0x4a, 0xa0, 0xba, 0xea, 0xe8, 0x7b, 0x58, 0xf3, 0x48, 0x91, 0x40, + 0x81, 0xa1, 0xb3, 0x1d, 0x9a, 0xe0, 0x83, 0xa0, 0xb3, 0x58, 0x8a, 0xa2, +}; +static const unsigned char kat2683_nonce[] = {0}; +static const unsigned char kat2683_persstr[] = { + 0x24, 0x76, 0xed, 0xda, 0x75, 0x43, 0xed, 0xfd, 0xd3, 0x97, 0x0a, 0xe9, + 0xb2, 0x79, 0x24, 0x42, 0x49, 0x55, 0xb9, 0x58, 0x80, 0x11, 0xbf, 0x7e, + 0xab, 0xd9, 0x64, 0x56, 0xff, 0xff, 0xc4, 0xc9, 0xa0, 0x8e, 0x6b, 0x81, + 0x4b, 0x7d, 0xa3, 0x2d, 0x68, 0x0c, 0x25, 0x75, 0xf9, 0xb8, 0x9e, 0x66, +}; +static const unsigned char kat2683_entropyinreseed[] = { + 0x04, 0x15, 0x41, 0x28, 0x28, 0x48, 0x36, 0x62, 0x1b, 0xbe, 0x44, 0x51, + 0x48, 0xf7, 0x1e, 0x60, 0xdd, 0x84, 0x21, 0x32, 0x7a, 0x0f, 0xbf, 0x7f, + 0xce, 0x07, 0xd6, 0xf4, 0x0a, 0x88, 0xcf, 0x09, 0x8d, 0x4f, 0x77, 0x5f, + 0xb7, 0x81, 0x55, 0xe7, 0xe9, 0x09, 0x5a, 0x1f, 0x63, 0x5d, 0x26, 0x5f, +}; +static const unsigned char kat2683_addinreseed[] = {0}; +static const unsigned char kat2683_addin0[] = {0}; +static const unsigned char kat2683_addin1[] = {0}; +static const unsigned char kat2683_retbits[] = { + 0xdf, 0x70, 0xff, 0x84, 0xc4, 0x16, 0x96, 0x4c, 0xec, 0x92, 0x31, 0xc3, + 0x08, 0x65, 0x7f, 0x91, 0x81, 0x24, 0xb7, 0x5a, 0xc9, 0x3e, 0xec, 0x80, + 0x83, 0xe7, 0x6a, 0xca, 0x89, 0xf9, 0x2a, 0x1c, 0x6b, 0x54, 0xdf, 0x39, + 0x77, 0x00, 0x31, 0x75, 0x48, 0x4b, 0xcd, 0x6f, 0xd5, 0xab, 0x5b, 0x4a, + 0x90, 0x2d, 0x77, 0x5c, 0x32, 0xdd, 0xd8, 0xbc, 0xf2, 0x35, 0x9b, 0x66, + 0x0d, 0xf1, 0x69, 0x1f, +}; +static const struct drbg_kat_pr_false kat2683_t = { + 12, kat2683_entropyin, kat2683_nonce, kat2683_persstr, + kat2683_entropyinreseed, kat2683_addinreseed, kat2683_addin0, + kat2683_addin1, kat2683_retbits +}; +static const struct drbg_kat kat2683 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2683_t +}; + +static const unsigned char kat2684_entropyin[] = { + 0xd2, 0x04, 0x64, 0xfa, 0xf4, 0x11, 0xc7, 0xd8, 0x4e, 0x67, 0x3c, 0xdb, + 0x70, 0x58, 0xd0, 0x45, 0x1b, 0xe6, 0x0a, 0x4c, 0x54, 0xb4, 0x19, 0xec, + 0x60, 0xcc, 0xec, 0xa7, 0x57, 0xfb, 0x97, 0xdf, 0xc4, 0xf0, 0xb9, 0x1e, + 0x66, 0xb3, 0x52, 0x95, 0xd6, 0x8e, 0x86, 0x74, 0x63, 0x49, 0x69, 0x44, +}; +static const unsigned char kat2684_nonce[] = {0}; +static const unsigned char kat2684_persstr[] = { + 0xbd, 0xd2, 0x84, 0x25, 0x55, 0xcb, 0x7a, 0x3f, 0xf2, 0xce, 0x27, 0x43, + 0xb6, 0xc7, 0xe3, 0xcb, 0x46, 0x5c, 0xcb, 0xbc, 0x04, 0x4f, 0xc5, 0xc2, + 0xfa, 0xf3, 0x5e, 0xe9, 0x94, 0x13, 0xfd, 0x1f, 0x87, 0x91, 0x57, 0x04, + 0xcb, 0x82, 0xfc, 0xd6, 0x2c, 0x50, 0x0c, 0xf4, 0xfd, 0x5a, 0x43, 0x0c, +}; +static const unsigned char kat2684_entropyinreseed[] = { + 0xce, 0x02, 0xee, 0x2c, 0x64, 0x7d, 0xc9, 0xa4, 0x55, 0x32, 0x2a, 0x14, + 0x2b, 0x92, 0x26, 0xf9, 0x6e, 0xb5, 0x3c, 0x2a, 0x99, 0x51, 0x3a, 0x7a, + 0xb3, 0x49, 0xdb, 0x70, 0x2c, 0xdc, 0x55, 0xc8, 0x81, 0x25, 0xf4, 0xee, + 0x5a, 0xa8, 0x2a, 0x21, 0x47, 0x96, 0xb2, 0xda, 0xe6, 0x20, 0x91, 0x38, +}; +static const unsigned char kat2684_addinreseed[] = {0}; +static const unsigned char kat2684_addin0[] = {0}; +static const unsigned char kat2684_addin1[] = {0}; +static const unsigned char kat2684_retbits[] = { + 0xac, 0xc5, 0xfd, 0x67, 0x2f, 0xa8, 0x3b, 0x2d, 0xaa, 0xe7, 0x03, 0xba, + 0xcf, 0x21, 0x8c, 0x98, 0xac, 0x29, 0xd0, 0x75, 0x1d, 0x9d, 0x5c, 0x9b, + 0x7b, 0xc6, 0x85, 0x82, 0xfb, 0xd5, 0x93, 0xb1, 0xa6, 0x91, 0xac, 0xb1, + 0x25, 0xbe, 0xf3, 0xc2, 0xed, 0xc1, 0x25, 0xf9, 0xb7, 0x3c, 0xa3, 0x39, + 0x19, 0x58, 0xb3, 0xbd, 0xd8, 0x00, 0x7f, 0xc5, 0x04, 0x22, 0xcb, 0xf8, + 0x9b, 0x00, 0xca, 0x05, +}; +static const struct drbg_kat_pr_false kat2684_t = { + 13, kat2684_entropyin, kat2684_nonce, kat2684_persstr, + kat2684_entropyinreseed, kat2684_addinreseed, kat2684_addin0, + kat2684_addin1, kat2684_retbits +}; +static const struct drbg_kat kat2684 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2684_t +}; + +static const unsigned char kat2685_entropyin[] = { + 0x44, 0x92, 0x7d, 0x98, 0xe9, 0xc2, 0x75, 0xad, 0x4d, 0x07, 0xbd, 0xa6, + 0xb4, 0xc6, 0x2b, 0x29, 0xfe, 0x56, 0x29, 0x27, 0xfb, 0x1e, 0xe7, 0x18, + 0x47, 0x3b, 0x3c, 0x74, 0xb9, 0xb2, 0x18, 0x9a, 0x13, 0x3c, 0x11, 0xae, + 0xc3, 0x60, 0x7d, 0x39, 0xd6, 0x23, 0xef, 0x35, 0x09, 0x6a, 0x05, 0x5f, +}; +static const unsigned char kat2685_nonce[] = {0}; +static const unsigned char kat2685_persstr[] = { + 0x8c, 0x40, 0xc5, 0x31, 0x7f, 0x29, 0xb6, 0x4d, 0xa7, 0xf4, 0x02, 0x5c, + 0xda, 0x90, 0xae, 0x3e, 0x99, 0xba, 0x1e, 0xd3, 0x50, 0x48, 0x20, 0x48, + 0xf8, 0x41, 0x1a, 0xf8, 0xb6, 0x94, 0xa9, 0x92, 0x72, 0x62, 0x50, 0x31, + 0x71, 0x6c, 0x09, 0x0f, 0x68, 0xc0, 0xfd, 0xdc, 0x7a, 0x70, 0x1e, 0x0d, +}; +static const unsigned char kat2685_entropyinreseed[] = { + 0xcb, 0x79, 0x33, 0xc3, 0xc8, 0x03, 0x64, 0x4d, 0x4a, 0xb7, 0xc3, 0x5b, + 0x94, 0x13, 0x19, 0xbe, 0xbf, 0x67, 0x84, 0xf9, 0x8c, 0x04, 0x75, 0x4c, + 0x69, 0x35, 0x9e, 0x10, 0xc9, 0x69, 0x3b, 0x57, 0xae, 0x12, 0xe3, 0x8b, + 0x08, 0xca, 0x8a, 0x9f, 0x0f, 0x15, 0x14, 0x2c, 0x44, 0x76, 0xf0, 0xbc, +}; +static const unsigned char kat2685_addinreseed[] = {0}; +static const unsigned char kat2685_addin0[] = {0}; +static const unsigned char kat2685_addin1[] = {0}; +static const unsigned char kat2685_retbits[] = { + 0xe9, 0x5d, 0x37, 0x5c, 0x7b, 0x33, 0x54, 0x19, 0x07, 0x21, 0xd5, 0x98, + 0xe8, 0xfd, 0xe7, 0xae, 0xf1, 0x6f, 0xb2, 0xa9, 0xdc, 0x96, 0x3e, 0xd7, + 0x6e, 0xef, 0x6a, 0x12, 0xab, 0xe2, 0x00, 0x16, 0x22, 0x72, 0x5a, 0x8e, + 0x15, 0x45, 0xc7, 0x3c, 0x9a, 0x85, 0x99, 0x5e, 0x6b, 0x07, 0x80, 0x6e, + 0x2a, 0xc3, 0x9b, 0x17, 0x9b, 0x59, 0x5b, 0xcf, 0xd9, 0x6b, 0x21, 0x89, + 0xb5, 0xd1, 0x04, 0x97, +}; +static const struct drbg_kat_pr_false kat2685_t = { + 14, kat2685_entropyin, kat2685_nonce, kat2685_persstr, + kat2685_entropyinreseed, kat2685_addinreseed, kat2685_addin0, + kat2685_addin1, kat2685_retbits +}; +static const struct drbg_kat kat2685 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2685_t +}; + +static const unsigned char kat2686_entropyin[] = { + 0xae, 0x7e, 0xbe, 0x06, 0x29, 0x71, 0xf5, 0xeb, 0x32, 0xe5, 0xb2, 0x14, + 0x44, 0x75, 0x07, 0x85, 0xde, 0x81, 0x65, 0x95, 0xad, 0x2c, 0xbe, 0x80, + 0xa2, 0x09, 0xc8, 0xf8, 0xab, 0x04, 0xb5, 0x46, 0x81, 0x66, 0xde, 0x8c, + 0x6a, 0xe5, 0x22, 0xd8, 0xf1, 0x0b, 0x56, 0x38, 0x6a, 0x3b, 0x42, 0x4f, +}; +static const unsigned char kat2686_nonce[] = {0}; +static const unsigned char kat2686_persstr[] = { + 0x55, 0x86, 0x0d, 0xae, 0x57, 0xfc, 0xac, 0x29, 0x70, 0x87, 0xc1, 0x37, + 0xef, 0xb7, 0x96, 0x87, 0x8a, 0x75, 0x86, 0x8f, 0x6e, 0x76, 0x81, 0x11, + 0x4e, 0x9b, 0x73, 0xed, 0x0c, 0x67, 0xe3, 0xc6, 0x2b, 0xfc, 0x9f, 0x5d, + 0x77, 0xe8, 0xca, 0xa5, 0x9b, 0xcd, 0xb2, 0x23, 0xf4, 0xff, 0xd2, 0x47, +}; +static const unsigned char kat2686_entropyinreseed[] = { + 0xa4, 0x24, 0x07, 0x93, 0x1b, 0xfe, 0xca, 0x70, 0xe6, 0xee, 0x5d, 0xd1, + 0x97, 0x02, 0x1a, 0x12, 0x95, 0x25, 0x05, 0x1c, 0x07, 0x46, 0x8e, 0x8b, + 0x25, 0x58, 0x7c, 0x5a, 0xd5, 0x0a, 0xbe, 0x92, 0x04, 0xe8, 0x82, 0xfe, + 0x84, 0x7b, 0x8f, 0xd4, 0x7c, 0xf7, 0xb4, 0x36, 0x0e, 0x5a, 0xa0, 0x34, +}; +static const unsigned char kat2686_addinreseed[] = { + 0xee, 0x4c, 0x88, 0xd1, 0xeb, 0x05, 0xf4, 0x85, 0x36, 0x63, 0xea, 0xda, + 0x50, 0x1d, 0x2f, 0xc4, 0xb4, 0x98, 0x4b, 0x28, 0x3a, 0x88, 0xdb, 0x57, + 0x9a, 0xf2, 0x11, 0x30, 0x31, 0xe0, 0x3d, 0x9b, 0xc5, 0x70, 0xde, 0x94, + 0x3d, 0xd1, 0x68, 0x91, 0x8f, 0x3b, 0xa8, 0x06, 0x55, 0x81, 0xfe, 0xa7, +}; +static const unsigned char kat2686_addin0[] = { + 0x4b, 0x4b, 0x03, 0xef, 0x19, 0xb0, 0xf2, 0x59, 0xdc, 0xa2, 0xb3, 0xee, + 0x3a, 0xe4, 0xcd, 0x86, 0xc3, 0x89, 0x5a, 0x78, 0x4b, 0x3d, 0x8e, 0xee, + 0x04, 0x3a, 0x20, 0x03, 0xc0, 0x82, 0x89, 0xf8, 0xff, 0xfd, 0xad, 0x14, + 0x1e, 0x6b, 0x1a, 0xb2, 0x17, 0x4d, 0x8d, 0x5d, 0x79, 0xc1, 0xe5, 0x81, +}; +static const unsigned char kat2686_addin1[] = { + 0x30, 0x62, 0xb3, 0x3f, 0x11, 0x6b, 0x46, 0xe2, 0x0f, 0xe3, 0xc3, 0x54, + 0x72, 0x6a, 0xe9, 0xb2, 0xa3, 0xa4, 0xc5, 0x19, 0x22, 0xc8, 0x10, 0x78, + 0x63, 0xcb, 0x86, 0xf1, 0xf0, 0xbd, 0xad, 0x75, 0x54, 0x07, 0x56, 0x59, + 0xd9, 0x1c, 0x37, 0x1e, 0x2b, 0x11, 0xb1, 0xe8, 0x10, 0x6a, 0x1e, 0xd5, +}; +static const unsigned char kat2686_retbits[] = { + 0x0d, 0x27, 0x05, 0x18, 0xba, 0xea, 0xfa, 0xc1, 0x60, 0xff, 0x1c, 0xb2, + 0x8c, 0x11, 0xef, 0x68, 0x71, 0x2c, 0x76, 0x4c, 0x0c, 0x01, 0x67, 0x4e, + 0x6c, 0x9c, 0xa2, 0xcc, 0x9c, 0x7e, 0x0e, 0x8a, 0xcc, 0xfd, 0x3c, 0x75, + 0x36, 0x35, 0xee, 0x07, 0x00, 0x81, 0xee, 0xe7, 0x62, 0x8a, 0xf6, 0x18, + 0x7f, 0xbc, 0x28, 0x54, 0xb3, 0xc2, 0x04, 0x46, 0x1a, 0x79, 0x6c, 0xf3, + 0xf3, 0xfc, 0xb0, 0x92, +}; +static const struct drbg_kat_pr_false kat2686_t = { + 0, kat2686_entropyin, kat2686_nonce, kat2686_persstr, + kat2686_entropyinreseed, kat2686_addinreseed, kat2686_addin0, + kat2686_addin1, kat2686_retbits +}; +static const struct drbg_kat kat2686 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2686_t +}; + +static const unsigned char kat2687_entropyin[] = { + 0xcc, 0x1f, 0x1e, 0x4f, 0x22, 0xc7, 0xd7, 0x8b, 0xc7, 0xa4, 0x59, 0x83, + 0x45, 0x22, 0xe8, 0x5a, 0x09, 0xbb, 0xf6, 0xcd, 0xdc, 0xd3, 0x73, 0x7e, + 0xf9, 0x8f, 0xf0, 0xde, 0x95, 0x0b, 0xf2, 0x89, 0x9f, 0x6c, 0x27, 0xb5, + 0x5a, 0x05, 0x0b, 0xaa, 0xb0, 0x30, 0x2c, 0x01, 0x44, 0xc4, 0x32, 0xf4, +}; +static const unsigned char kat2687_nonce[] = {0}; +static const unsigned char kat2687_persstr[] = { + 0x49, 0xd8, 0x95, 0xca, 0x0d, 0xb6, 0x83, 0x7a, 0xf2, 0xfa, 0xa6, 0x50, + 0x88, 0x44, 0x75, 0xe8, 0x00, 0xe7, 0x20, 0x05, 0x36, 0x5d, 0xd8, 0xc9, + 0x7a, 0xc5, 0x5b, 0xbb, 0x82, 0x4c, 0x42, 0x09, 0x90, 0x3b, 0xa4, 0x40, + 0xb0, 0x12, 0x9c, 0x9e, 0xfc, 0x42, 0x0b, 0x4d, 0xd7, 0x4e, 0x56, 0xcb, +}; +static const unsigned char kat2687_entropyinreseed[] = { + 0x00, 0x1c, 0xdf, 0x14, 0x83, 0xbf, 0x3f, 0xa1, 0x7d, 0xca, 0xb3, 0x0e, + 0x40, 0xfa, 0x90, 0x0a, 0x4d, 0xdd, 0x78, 0x01, 0x2a, 0x62, 0xc6, 0x9d, + 0x84, 0x7c, 0x51, 0x09, 0x0e, 0x08, 0x98, 0xf1, 0x5f, 0x9a, 0x3e, 0x7e, + 0xfd, 0x5f, 0x5f, 0xbf, 0x38, 0x0c, 0x95, 0x79, 0x1d, 0xb9, 0xfc, 0xce, +}; +static const unsigned char kat2687_addinreseed[] = { + 0xf8, 0x7d, 0x37, 0x59, 0x9c, 0xc7, 0x94, 0x60, 0x55, 0x4a, 0xff, 0xb5, + 0x32, 0xdf, 0xad, 0x33, 0x93, 0xa3, 0xf9, 0x25, 0xcc, 0x11, 0x9e, 0xc3, + 0xc7, 0xfe, 0xf1, 0x78, 0xb4, 0x9a, 0xdc, 0x83, 0x8a, 0x38, 0xf3, 0x95, + 0x09, 0x1a, 0xdd, 0x5e, 0x78, 0xa9, 0x73, 0x3b, 0x38, 0x34, 0x71, 0x68, +}; +static const unsigned char kat2687_addin0[] = { + 0x9f, 0x0d, 0xb4, 0x8e, 0x5a, 0x14, 0x85, 0x70, 0xd1, 0x52, 0x32, 0xf5, + 0x68, 0x21, 0x62, 0x16, 0xeb, 0xa4, 0xfc, 0xcc, 0x1c, 0x52, 0xa1, 0xe7, + 0x3f, 0x19, 0x7a, 0x5e, 0x16, 0x25, 0xe4, 0x5d, 0xa8, 0x36, 0x9b, 0xb2, + 0x9a, 0xfc, 0xdb, 0xb6, 0xcb, 0x31, 0x88, 0xa9, 0x00, 0x4b, 0xb4, 0x7b, +}; +static const unsigned char kat2687_addin1[] = { + 0xe7, 0xbb, 0x50, 0x5a, 0x81, 0x96, 0x42, 0x8f, 0xaa, 0x5c, 0x40, 0xc6, + 0xdd, 0x9b, 0x87, 0x40, 0xc2, 0x46, 0x9e, 0xa5, 0xeb, 0xa1, 0xb5, 0x07, + 0x22, 0x78, 0x33, 0xa1, 0x6e, 0x96, 0xfb, 0x2e, 0x8d, 0x2e, 0xb2, 0x27, + 0x36, 0x8c, 0x81, 0x7c, 0xcf, 0x3c, 0xe7, 0x85, 0xed, 0x32, 0x75, 0xf0, +}; +static const unsigned char kat2687_retbits[] = { + 0xa3, 0xec, 0xa2, 0xad, 0xeb, 0x14, 0xd3, 0x06, 0xdf, 0x13, 0x9f, 0x28, + 0x06, 0x04, 0x98, 0x02, 0x07, 0x22, 0x9f, 0x7d, 0x72, 0x80, 0x6e, 0x9e, + 0x2f, 0x7b, 0x91, 0x60, 0x78, 0xde, 0x0e, 0x09, 0xf1, 0xa7, 0xb2, 0xca, + 0xc4, 0x1b, 0xf0, 0x18, 0x12, 0xbf, 0x80, 0xc1, 0xb1, 0x3c, 0xd2, 0x27, + 0x44, 0xad, 0xce, 0x23, 0xe1, 0xe2, 0x00, 0x01, 0x46, 0xc6, 0x23, 0x6f, + 0xb6, 0x7a, 0x92, 0x3c, +}; +static const struct drbg_kat_pr_false kat2687_t = { + 1, kat2687_entropyin, kat2687_nonce, kat2687_persstr, + kat2687_entropyinreseed, kat2687_addinreseed, kat2687_addin0, + kat2687_addin1, kat2687_retbits +}; +static const struct drbg_kat kat2687 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2687_t +}; + +static const unsigned char kat2688_entropyin[] = { + 0xe4, 0x39, 0x43, 0xdf, 0x12, 0xf8, 0x99, 0xfe, 0x7f, 0xbe, 0x1e, 0x65, + 0x7d, 0x1b, 0x3d, 0x22, 0xf6, 0x37, 0x1b, 0x96, 0xe0, 0x7a, 0xc8, 0x9a, + 0x82, 0xc1, 0x56, 0xc1, 0xe2, 0x8b, 0xf3, 0x39, 0x22, 0xf8, 0xd1, 0x31, + 0x6d, 0x52, 0x4c, 0xdc, 0xb9, 0xaf, 0x34, 0x9c, 0x14, 0xfa, 0x23, 0x08, +}; +static const unsigned char kat2688_nonce[] = {0}; +static const unsigned char kat2688_persstr[] = { + 0x0e, 0x2c, 0x55, 0xb0, 0x23, 0xd4, 0x53, 0x61, 0xc4, 0xe7, 0xc5, 0x0a, + 0xad, 0x6b, 0x0b, 0x97, 0xa1, 0x9f, 0xe7, 0x03, 0x66, 0x1c, 0xbc, 0xe3, + 0xa7, 0x4d, 0x29, 0xf1, 0x31, 0x9f, 0x04, 0x8d, 0xdf, 0x00, 0xe0, 0x1b, + 0x66, 0x17, 0xa3, 0xab, 0x64, 0x3c, 0x1c, 0x6e, 0x39, 0xd7, 0x42, 0x0e, +}; +static const unsigned char kat2688_entropyinreseed[] = { + 0x35, 0xb7, 0xf4, 0x79, 0x07, 0x12, 0x71, 0xb6, 0x1d, 0x07, 0x5b, 0x0c, + 0x0b, 0xe3, 0xe0, 0xd1, 0x0c, 0xff, 0x77, 0xd9, 0x75, 0x49, 0x2a, 0x93, + 0xa5, 0x3c, 0xac, 0x28, 0xc5, 0xdd, 0x6e, 0x9f, 0xfd, 0x39, 0x0a, 0x1e, + 0x65, 0x1f, 0x0b, 0xb3, 0xee, 0x68, 0x8b, 0x77, 0xb8, 0x20, 0x35, 0x53, +}; +static const unsigned char kat2688_addinreseed[] = { + 0x45, 0x04, 0x5c, 0x97, 0xd7, 0x11, 0x8f, 0x75, 0x42, 0x9c, 0x14, 0x26, + 0xa4, 0xe1, 0x6a, 0x43, 0x59, 0x88, 0xe3, 0x34, 0xe4, 0xe0, 0x66, 0xbd, + 0x8e, 0x2f, 0xdb, 0x8b, 0xfc, 0xfc, 0x78, 0x3e, 0x32, 0xf7, 0xce, 0x81, + 0x97, 0x29, 0x26, 0xb3, 0xe1, 0xb4, 0x2e, 0x5b, 0x7d, 0xfe, 0x8e, 0xb9, +}; +static const unsigned char kat2688_addin0[] = { + 0x56, 0xbf, 0xee, 0x26, 0x28, 0x51, 0x52, 0xa1, 0x14, 0x83, 0xf7, 0xae, + 0x95, 0x1c, 0xae, 0x3b, 0x80, 0xeb, 0x11, 0xa1, 0x3a, 0x13, 0x70, 0xfd, + 0x10, 0xd6, 0xa5, 0xe2, 0x59, 0xd8, 0x4b, 0xac, 0x37, 0xaa, 0x2c, 0xbb, + 0x3c, 0x75, 0x77, 0xf3, 0x92, 0xd3, 0x18, 0x76, 0xc3, 0xea, 0x10, 0x51, +}; +static const unsigned char kat2688_addin1[] = { + 0x8f, 0xf6, 0x9a, 0xcb, 0x96, 0x8b, 0x1b, 0xc3, 0xbe, 0xbb, 0x71, 0xfa, + 0xc8, 0x20, 0xb0, 0xed, 0x44, 0x51, 0x30, 0x22, 0xa3, 0x0a, 0xf4, 0x64, + 0x65, 0xdb, 0xd0, 0x28, 0x5a, 0xab, 0xf1, 0xc5, 0x1f, 0x9d, 0x80, 0xac, + 0xeb, 0xd3, 0x46, 0x79, 0x89, 0xdd, 0xdc, 0x9b, 0xa3, 0xc1, 0xc4, 0x91, +}; +static const unsigned char kat2688_retbits[] = { + 0x1e, 0x77, 0xb4, 0xcc, 0xd6, 0x1c, 0x11, 0x73, 0x2f, 0x2c, 0x6f, 0x0f, + 0x06, 0x0e, 0x0f, 0xd0, 0x3c, 0x9e, 0x17, 0x34, 0xc1, 0xea, 0x1e, 0xc9, + 0x80, 0x49, 0x0a, 0x1d, 0x9f, 0x5b, 0x00, 0x36, 0x29, 0xaa, 0xaf, 0x05, + 0x40, 0x52, 0x07, 0x39, 0x47, 0x65, 0xba, 0x42, 0x09, 0x94, 0xea, 0x69, + 0x4f, 0xfb, 0x3f, 0xb1, 0xe5, 0xd1, 0x19, 0x4f, 0x5e, 0x2c, 0xea, 0xfa, + 0x3f, 0xc4, 0xe3, 0xbd, +}; +static const struct drbg_kat_pr_false kat2688_t = { + 2, kat2688_entropyin, kat2688_nonce, kat2688_persstr, + kat2688_entropyinreseed, kat2688_addinreseed, kat2688_addin0, + kat2688_addin1, kat2688_retbits +}; +static const struct drbg_kat kat2688 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2688_t +}; + +static const unsigned char kat2689_entropyin[] = { + 0x0d, 0x94, 0xc5, 0x62, 0x43, 0x52, 0xe4, 0x4f, 0x84, 0x26, 0xc7, 0x7a, + 0x96, 0xaa, 0xe9, 0x40, 0x94, 0xad, 0x14, 0x98, 0xc4, 0x3a, 0x50, 0x11, + 0x21, 0xf7, 0x78, 0x8a, 0x35, 0x6b, 0x1b, 0x02, 0xa1, 0x6a, 0xbc, 0x92, + 0x48, 0x37, 0x5a, 0x99, 0x74, 0xeb, 0x7b, 0x3c, 0xaf, 0x3c, 0xb3, 0x09, +}; +static const unsigned char kat2689_nonce[] = {0}; +static const unsigned char kat2689_persstr[] = { + 0xb6, 0x65, 0xeb, 0x6b, 0x67, 0xf2, 0x13, 0x96, 0x8a, 0x35, 0xb2, 0xc0, + 0x06, 0xec, 0x99, 0xa4, 0xfd, 0x93, 0x5c, 0x79, 0xbc, 0xf5, 0xa7, 0xe0, + 0x28, 0x67, 0x93, 0xc1, 0x13, 0xed, 0x18, 0xd4, 0x75, 0xe2, 0x90, 0x46, + 0x72, 0xff, 0x70, 0x9a, 0x42, 0x26, 0xf2, 0xab, 0x45, 0x1f, 0x20, 0xd6, +}; +static const unsigned char kat2689_entropyinreseed[] = { + 0x38, 0x47, 0xe8, 0x37, 0x34, 0xd3, 0xba, 0x20, 0xb9, 0x03, 0x6c, 0xed, + 0x96, 0x82, 0x67, 0xc9, 0x19, 0x65, 0xe3, 0xb4, 0xbf, 0x6a, 0x95, 0x29, + 0x8a, 0xea, 0xfc, 0x77, 0x1c, 0xd7, 0x20, 0x40, 0xba, 0x5f, 0xa8, 0xde, + 0x47, 0xe1, 0x70, 0x37, 0x4e, 0xed, 0xea, 0xc3, 0x61, 0x9e, 0x39, 0x70, +}; +static const unsigned char kat2689_addinreseed[] = { + 0x8a, 0xab, 0x05, 0x54, 0xd3, 0x9c, 0x30, 0xdd, 0xbe, 0x84, 0x21, 0xc0, + 0xcb, 0xbd, 0x29, 0x24, 0xe5, 0xc5, 0x84, 0x1e, 0x91, 0x94, 0xdc, 0xb4, + 0x12, 0x97, 0xea, 0x54, 0xab, 0xbc, 0x49, 0x15, 0x3f, 0x10, 0xa7, 0xae, + 0xeb, 0x87, 0x8c, 0x01, 0x65, 0x9f, 0x40, 0x73, 0x12, 0x4b, 0xae, 0x25, +}; +static const unsigned char kat2689_addin0[] = { + 0x4a, 0x6b, 0x0e, 0x63, 0xf6, 0xcb, 0xeb, 0xf0, 0x63, 0x61, 0x45, 0xc9, + 0x42, 0x4a, 0xf0, 0x7d, 0x1b, 0x36, 0x27, 0x6d, 0x21, 0x45, 0x92, 0xf8, + 0x25, 0x96, 0x5c, 0xe8, 0x05, 0x21, 0x96, 0x6a, 0x8a, 0x6a, 0x7d, 0x1a, + 0x58, 0x07, 0x47, 0x72, 0x13, 0x1d, 0x6b, 0x52, 0x8a, 0x74, 0x54, 0xd0, +}; +static const unsigned char kat2689_addin1[] = { + 0x25, 0xcf, 0xf5, 0x5c, 0x77, 0x60, 0x47, 0x58, 0x35, 0x86, 0x90, 0x1c, + 0x1f, 0x73, 0x0d, 0xe3, 0xd8, 0x6f, 0xb9, 0x12, 0xc4, 0x06, 0x94, 0xb0, + 0x92, 0x6c, 0xfb, 0x6e, 0xce, 0x19, 0x96, 0x57, 0x8a, 0xf6, 0xf1, 0x5c, + 0x35, 0xf6, 0xb2, 0xcf, 0x82, 0xad, 0xbd, 0x4b, 0xf6, 0xe0, 0xb3, 0xab, +}; +static const unsigned char kat2689_retbits[] = { + 0xec, 0x7d, 0x74, 0x07, 0x4d, 0x81, 0x83, 0xa0, 0xdf, 0x88, 0x5c, 0x28, + 0xc1, 0x00, 0x1f, 0x80, 0xfe, 0x00, 0x97, 0x75, 0x84, 0xc8, 0x66, 0x7d, + 0xed, 0x0b, 0xd3, 0x63, 0x0f, 0x55, 0x44, 0x89, 0x99, 0x0a, 0x94, 0xab, + 0x40, 0xee, 0x2f, 0x01, 0xd9, 0xfd, 0xb4, 0xe2, 0xd0, 0xf7, 0xbb, 0x0e, + 0x00, 0xd4, 0x1c, 0x6b, 0x6c, 0x56, 0x8a, 0xde, 0x2c, 0x23, 0x94, 0xa2, + 0xb3, 0x2a, 0x1f, 0x14, +}; +static const struct drbg_kat_pr_false kat2689_t = { + 3, kat2689_entropyin, kat2689_nonce, kat2689_persstr, + kat2689_entropyinreseed, kat2689_addinreseed, kat2689_addin0, + kat2689_addin1, kat2689_retbits +}; +static const struct drbg_kat kat2689 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2689_t +}; + +static const unsigned char kat2690_entropyin[] = { + 0x86, 0xb4, 0x43, 0x70, 0x92, 0xcd, 0x13, 0xf4, 0x27, 0x43, 0x1f, 0xf7, + 0xb5, 0x5d, 0x3b, 0x9f, 0xd8, 0x73, 0x26, 0x41, 0x5f, 0xba, 0xcb, 0xd6, + 0x6e, 0xeb, 0x6c, 0x43, 0xa4, 0x90, 0xc0, 0xfe, 0x33, 0x98, 0x83, 0x77, + 0x76, 0x78, 0x8f, 0x67, 0x72, 0x7d, 0x63, 0x2a, 0x60, 0x3b, 0xdf, 0x2a, +}; +static const unsigned char kat2690_nonce[] = {0}; +static const unsigned char kat2690_persstr[] = { + 0xe2, 0x36, 0xba, 0x93, 0x93, 0x70, 0x34, 0xae, 0x24, 0xf1, 0x8f, 0x4e, + 0xbd, 0x13, 0x41, 0x79, 0xa3, 0x5d, 0x25, 0x69, 0xcf, 0x2b, 0xaf, 0x0a, + 0xf4, 0x30, 0x54, 0x7b, 0xc5, 0xe2, 0xec, 0x4f, 0x6d, 0xb3, 0x36, 0xbf, + 0xa8, 0x8d, 0x18, 0x19, 0x70, 0x67, 0x58, 0x75, 0xe5, 0xfb, 0xe1, 0xab, +}; +static const unsigned char kat2690_entropyinreseed[] = { + 0x16, 0x40, 0x84, 0xc7, 0x0f, 0x3b, 0xbb, 0x15, 0x9b, 0x82, 0xf1, 0x3e, + 0xd3, 0xd8, 0x13, 0xfa, 0x7a, 0x07, 0x75, 0x6a, 0x96, 0x03, 0x7b, 0xe0, + 0x6b, 0x55, 0x61, 0x1d, 0x98, 0xfc, 0xe6, 0x09, 0x87, 0x2e, 0x65, 0x50, + 0x7b, 0x99, 0xb5, 0x03, 0xb0, 0x95, 0x9c, 0xad, 0x84, 0x37, 0x2a, 0xa9, +}; +static const unsigned char kat2690_addinreseed[] = { + 0xaa, 0x7e, 0xe7, 0xfe, 0xc7, 0x42, 0x23, 0xdd, 0xa7, 0x30, 0x4e, 0x43, + 0xae, 0xfa, 0x8c, 0xeb, 0x51, 0x44, 0xdb, 0x04, 0xd9, 0x8b, 0x73, 0x92, + 0xab, 0x09, 0x70, 0x05, 0xa3, 0xa1, 0x23, 0x87, 0xee, 0x1b, 0xbe, 0x36, + 0x62, 0xa0, 0xbd, 0x27, 0x78, 0x78, 0x85, 0x5a, 0xc8, 0x92, 0xdc, 0x94, +}; +static const unsigned char kat2690_addin0[] = { + 0xec, 0x19, 0xa5, 0xd7, 0xd6, 0x6a, 0x60, 0x34, 0xef, 0x83, 0xff, 0xdb, + 0x24, 0xac, 0x54, 0xe9, 0xd3, 0xd3, 0x8f, 0x05, 0x17, 0xed, 0x7e, 0xdb, + 0xb9, 0xa3, 0xac, 0xb6, 0x48, 0xe4, 0xc4, 0xb0, 0x2f, 0x97, 0x48, 0x75, + 0xcd, 0x31, 0x49, 0xb3, 0x74, 0x32, 0xae, 0x5d, 0x3b, 0x0d, 0x90, 0xee, +}; +static const unsigned char kat2690_addin1[] = { + 0x98, 0xea, 0x06, 0x24, 0xbf, 0xc9, 0x5d, 0x0c, 0x0f, 0x7b, 0x81, 0x0c, + 0x46, 0x4e, 0xf2, 0x2e, 0x94, 0xc1, 0x23, 0x92, 0xdf, 0x54, 0x14, 0xcf, + 0x6e, 0x62, 0x01, 0xc2, 0xd7, 0xdb, 0x2e, 0x85, 0x70, 0xf0, 0x95, 0x41, + 0x33, 0x4d, 0xb0, 0xf1, 0x35, 0x8b, 0x5c, 0x0f, 0xa2, 0xcf, 0x6d, 0x77, +}; +static const unsigned char kat2690_retbits[] = { + 0xa2, 0x7f, 0xac, 0xdb, 0xdb, 0xf4, 0x9e, 0x64, 0xb5, 0x53, 0x90, 0xbe, + 0xb3, 0x52, 0x60, 0xa0, 0x71, 0x3a, 0xb9, 0x13, 0xd7, 0xe5, 0xa0, 0x8a, + 0xaf, 0x01, 0xe8, 0x3c, 0xc9, 0x45, 0x03, 0xe3, 0x2d, 0x6a, 0x44, 0xa7, + 0x70, 0xf7, 0xa9, 0xef, 0x6d, 0x3a, 0x9f, 0x96, 0xd3, 0xa3, 0x38, 0x59, + 0xd5, 0x68, 0xdb, 0xf3, 0xe8, 0x56, 0xfd, 0x91, 0x17, 0x7a, 0x05, 0xfb, + 0xf9, 0x9d, 0xc4, 0xfb, +}; +static const struct drbg_kat_pr_false kat2690_t = { + 4, kat2690_entropyin, kat2690_nonce, kat2690_persstr, + kat2690_entropyinreseed, kat2690_addinreseed, kat2690_addin0, + kat2690_addin1, kat2690_retbits +}; +static const struct drbg_kat kat2690 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2690_t +}; + +static const unsigned char kat2691_entropyin[] = { + 0x1a, 0x77, 0xf3, 0x3b, 0xfc, 0xee, 0xad, 0xf6, 0x8b, 0x79, 0xdd, 0x40, + 0xee, 0x85, 0x6e, 0x9e, 0x06, 0x68, 0x05, 0x91, 0x79, 0x78, 0x3f, 0xa7, + 0x3d, 0x91, 0xf5, 0x88, 0xef, 0xf2, 0x42, 0xbc, 0xe1, 0x1d, 0xc6, 0x6c, + 0xcb, 0x90, 0x31, 0x0b, 0x29, 0x1f, 0x4a, 0x96, 0x3f, 0x2a, 0x96, 0xb4, +}; +static const unsigned char kat2691_nonce[] = {0}; +static const unsigned char kat2691_persstr[] = { + 0x98, 0x43, 0x5f, 0xc8, 0x21, 0x60, 0x67, 0x72, 0x89, 0x4e, 0x46, 0xc5, + 0x53, 0x56, 0xfa, 0x88, 0x3f, 0x0a, 0xfb, 0x1b, 0x1f, 0x4e, 0xe4, 0x0f, + 0xa5, 0x6c, 0xac, 0x09, 0xcc, 0xbd, 0xc3, 0x8b, 0x7d, 0x3a, 0x3f, 0xb2, + 0x57, 0x1d, 0x2f, 0xcb, 0x9e, 0xb5, 0x91, 0x8b, 0x60, 0xc0, 0xba, 0x3e, +}; +static const unsigned char kat2691_entropyinreseed[] = { + 0x6b, 0x0a, 0x37, 0x51, 0x52, 0x49, 0xab, 0x5e, 0x26, 0x60, 0x5b, 0xd0, + 0x8c, 0xbc, 0x7f, 0x55, 0x23, 0xf4, 0xe5, 0x52, 0xf0, 0x06, 0xfa, 0xa7, + 0xc2, 0x43, 0x31, 0x32, 0xc0, 0xa4, 0x5f, 0xeb, 0x87, 0x5c, 0x88, 0x01, + 0xec, 0x35, 0x45, 0x4a, 0x1e, 0xb1, 0x36, 0x04, 0xef, 0xdb, 0x33, 0x25, +}; +static const unsigned char kat2691_addinreseed[] = { + 0xc6, 0xba, 0x05, 0xb7, 0x19, 0x7e, 0x06, 0xf1, 0x1b, 0x35, 0xa7, 0x82, + 0x4f, 0x6b, 0x8f, 0x51, 0xaf, 0xe1, 0xd6, 0xcd, 0x80, 0x64, 0x06, 0x97, + 0x56, 0x7b, 0x93, 0x4d, 0xaa, 0x62, 0xac, 0xbe, 0x73, 0x1a, 0xd8, 0xba, + 0x2f, 0xc7, 0x82, 0x17, 0xde, 0xce, 0xc4, 0xce, 0xbd, 0x46, 0xd5, 0x22, +}; +static const unsigned char kat2691_addin0[] = { + 0x2e, 0xba, 0x46, 0x3e, 0x52, 0xff, 0x2a, 0x18, 0x0a, 0xad, 0x34, 0x93, + 0xe9, 0x47, 0x6a, 0x4b, 0x97, 0x2b, 0xf3, 0x2c, 0x9c, 0xcb, 0x13, 0xef, + 0xab, 0xf0, 0x62, 0x4f, 0x1c, 0x44, 0xdf, 0x80, 0x48, 0xc8, 0xc6, 0x47, + 0x2f, 0x73, 0xfd, 0xaa, 0x60, 0x12, 0x7e, 0x66, 0x9a, 0x43, 0x22, 0x94, +}; +static const unsigned char kat2691_addin1[] = { + 0x25, 0x11, 0x07, 0x98, 0xe0, 0x6a, 0xf4, 0x73, 0x01, 0x3a, 0x2a, 0x04, + 0xf3, 0x59, 0xe1, 0x5f, 0xdf, 0xdd, 0x03, 0x06, 0xb8, 0xb9, 0x28, 0x98, + 0x5f, 0x67, 0x87, 0x2b, 0xba, 0xa4, 0x4c, 0xef, 0x57, 0x93, 0xac, 0x14, + 0xd6, 0xa9, 0x9d, 0x05, 0xd2, 0xc2, 0x69, 0x2d, 0x08, 0xd5, 0xe3, 0x96, +}; +static const unsigned char kat2691_retbits[] = { + 0x92, 0x79, 0x02, 0xf7, 0x5f, 0x10, 0xc5, 0x88, 0x0f, 0x0d, 0x93, 0x0c, + 0xa6, 0xc3, 0x6a, 0x20, 0xc7, 0xe4, 0xf2, 0x53, 0x56, 0x72, 0x71, 0x4f, + 0x96, 0xbe, 0xf7, 0x2d, 0x77, 0xb0, 0xf8, 0x71, 0x8e, 0x45, 0x46, 0xe4, + 0xe3, 0xfa, 0x2e, 0x7b, 0x24, 0x5e, 0x4d, 0xed, 0xb7, 0x42, 0x5e, 0xa6, + 0x78, 0xa1, 0x8e, 0xda, 0xdc, 0x90, 0xad, 0xe8, 0x6b, 0xc2, 0x61, 0x99, + 0x2b, 0x02, 0xbd, 0x9a, +}; +static const struct drbg_kat_pr_false kat2691_t = { + 5, kat2691_entropyin, kat2691_nonce, kat2691_persstr, + kat2691_entropyinreseed, kat2691_addinreseed, kat2691_addin0, + kat2691_addin1, kat2691_retbits +}; +static const struct drbg_kat kat2691 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2691_t +}; + +static const unsigned char kat2692_entropyin[] = { + 0x4f, 0xad, 0xa5, 0x8a, 0x9f, 0xca, 0x48, 0xa9, 0x57, 0x2c, 0xb9, 0xfd, + 0x1d, 0xe3, 0x80, 0xa2, 0xd9, 0xe0, 0x39, 0x97, 0x14, 0x87, 0xad, 0x53, + 0xa5, 0xf8, 0xc8, 0x64, 0x13, 0x50, 0xd0, 0x54, 0x32, 0xdc, 0xfb, 0x68, + 0x31, 0x31, 0x38, 0x0d, 0x35, 0xcf, 0x1c, 0x6d, 0x47, 0x4e, 0x4f, 0x3d, +}; +static const unsigned char kat2692_nonce[] = {0}; +static const unsigned char kat2692_persstr[] = { + 0xa0, 0xb4, 0x53, 0xb3, 0xf8, 0x6b, 0x45, 0x5c, 0x02, 0xd2, 0x7d, 0xf3, + 0x47, 0x77, 0x53, 0x66, 0xae, 0x01, 0x46, 0x6c, 0x9a, 0xba, 0x27, 0xd5, + 0x1c, 0x75, 0x92, 0x8a, 0xd1, 0xf3, 0x1b, 0x27, 0x8b, 0xc0, 0xe4, 0x05, + 0x2e, 0xf7, 0x02, 0xd9, 0x95, 0xf3, 0x02, 0xc3, 0x13, 0x94, 0xf9, 0x43, +}; +static const unsigned char kat2692_entropyinreseed[] = { + 0x6c, 0xd3, 0xb9, 0xec, 0x6e, 0x0d, 0xfc, 0xfc, 0x3c, 0xaa, 0x90, 0xad, + 0x28, 0x12, 0xd0, 0x95, 0x13, 0x31, 0x0e, 0xbd, 0x95, 0x06, 0x06, 0x4d, + 0x05, 0xa5, 0x9d, 0x68, 0xa9, 0x44, 0x05, 0x38, 0x8a, 0xfa, 0x31, 0x35, + 0x18, 0xa7, 0x05, 0x5e, 0x29, 0xb2, 0xe2, 0xfc, 0x52, 0xa9, 0xa9, 0x88, +}; +static const unsigned char kat2692_addinreseed[] = { + 0x39, 0xaa, 0x04, 0x1c, 0x27, 0xcd, 0x50, 0xf6, 0xd4, 0x35, 0x6d, 0x7b, + 0xf9, 0x02, 0x43, 0xba, 0x4f, 0x69, 0x64, 0x34, 0x8a, 0x88, 0x2c, 0xa5, + 0x03, 0x30, 0xc6, 0xf3, 0x98, 0xf0, 0xb8, 0x99, 0x2b, 0xc3, 0xc6, 0xda, + 0x90, 0xe0, 0xcd, 0x57, 0x07, 0x7a, 0xa0, 0xa9, 0xda, 0x48, 0x01, 0x6b, +}; +static const unsigned char kat2692_addin0[] = { + 0xc6, 0xe3, 0x42, 0xa2, 0x36, 0x5a, 0xfa, 0xf6, 0x1d, 0xa4, 0x0a, 0x91, + 0xfe, 0x6b, 0xa9, 0x50, 0xb0, 0xa1, 0x0a, 0x05, 0xcc, 0x68, 0xf5, 0xff, + 0xde, 0x7c, 0xb1, 0x2c, 0xa4, 0x65, 0x0f, 0xfa, 0xb8, 0x17, 0x8b, 0x1f, + 0xd6, 0xeb, 0x07, 0xc6, 0xe3, 0x69, 0xb2, 0xea, 0x41, 0xdc, 0x2a, 0xdb, +}; +static const unsigned char kat2692_addin1[] = { + 0x75, 0x5c, 0x62, 0x10, 0x63, 0x60, 0x79, 0xab, 0x96, 0x6f, 0xa2, 0x95, + 0x68, 0x97, 0x5d, 0xe9, 0x80, 0xb0, 0xe5, 0xdb, 0xe4, 0xea, 0x1f, 0xc1, + 0xd3, 0xa8, 0x6e, 0x21, 0x7f, 0xf6, 0xb5, 0x7d, 0xc0, 0x4d, 0x7a, 0x71, + 0x37, 0x79, 0xe9, 0x29, 0xd4, 0x22, 0x77, 0x57, 0x16, 0x1e, 0x1d, 0xfd, +}; +static const unsigned char kat2692_retbits[] = { + 0x02, 0xa6, 0x00, 0xe0, 0x72, 0x87, 0x3e, 0x39, 0x6a, 0xe4, 0xdf, 0x5d, + 0x71, 0x19, 0xdc, 0xf0, 0x0c, 0x25, 0x6b, 0xdb, 0xa7, 0x68, 0x08, 0x41, + 0x9a, 0x50, 0xd4, 0x10, 0x36, 0xbe, 0xe1, 0x5f, 0xcd, 0x3d, 0x6f, 0xbe, + 0x03, 0xf2, 0x25, 0xa4, 0x87, 0x03, 0x86, 0xd4, 0x4e, 0x73, 0x5a, 0xf5, + 0x1c, 0xe4, 0x14, 0xf5, 0xc7, 0x03, 0xee, 0x9d, 0xb5, 0x16, 0xb5, 0x62, + 0xb4, 0x12, 0xbb, 0xc9, +}; +static const struct drbg_kat_pr_false kat2692_t = { + 6, kat2692_entropyin, kat2692_nonce, kat2692_persstr, + kat2692_entropyinreseed, kat2692_addinreseed, kat2692_addin0, + kat2692_addin1, kat2692_retbits +}; +static const struct drbg_kat kat2692 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2692_t +}; + +static const unsigned char kat2693_entropyin[] = { + 0x85, 0x98, 0x99, 0x6f, 0x8b, 0x6a, 0xdc, 0xb8, 0xac, 0x64, 0x4d, 0x73, + 0x84, 0xeb, 0x95, 0xbf, 0x6f, 0x95, 0x29, 0xac, 0x0f, 0x3d, 0xab, 0xd2, + 0x38, 0x85, 0x5e, 0x6d, 0x45, 0x45, 0xc4, 0x3b, 0x85, 0xbf, 0xf2, 0x99, + 0x76, 0xd6, 0x7c, 0xf1, 0xc9, 0x7b, 0x4b, 0x33, 0x30, 0x17, 0x67, 0xb1, +}; +static const unsigned char kat2693_nonce[] = {0}; +static const unsigned char kat2693_persstr[] = { + 0xff, 0x20, 0x7a, 0x4f, 0x36, 0xeb, 0x9d, 0xae, 0xdc, 0xe0, 0xac, 0xd9, + 0x9e, 0x63, 0x91, 0x3c, 0x16, 0xc3, 0x68, 0xb4, 0x67, 0x56, 0x2a, 0x92, + 0xea, 0x2c, 0x47, 0xcc, 0x4d, 0xd6, 0xb5, 0xc9, 0xb6, 0x37, 0x69, 0x1d, + 0x6d, 0x07, 0xf6, 0x1c, 0x05, 0xf4, 0xb8, 0x69, 0x54, 0xa2, 0xbd, 0x26, +}; +static const unsigned char kat2693_entropyinreseed[] = { + 0x5a, 0x74, 0x8c, 0x44, 0xbe, 0xe4, 0x75, 0x86, 0x2d, 0xb1, 0xe0, 0xd1, + 0xd4, 0x96, 0x79, 0xe9, 0x34, 0xb0, 0x3a, 0x5a, 0x4b, 0x19, 0x9d, 0xdd, + 0xcb, 0x5e, 0x6a, 0x91, 0xac, 0xc0, 0x12, 0x63, 0xfd, 0xc8, 0xea, 0xab, + 0xdf, 0x7a, 0xe0, 0xfb, 0x7b, 0x75, 0x2b, 0x20, 0x73, 0x1b, 0x03, 0xd1, +}; +static const unsigned char kat2693_addinreseed[] = { + 0x94, 0x98, 0xd3, 0xa6, 0x65, 0xf7, 0x87, 0x45, 0xd6, 0x5a, 0x04, 0x14, + 0x14, 0x20, 0xcb, 0x5c, 0xa1, 0x38, 0x9c, 0x15, 0x47, 0x82, 0xfa, 0x10, + 0x17, 0x4e, 0x48, 0x4c, 0xf7, 0xbf, 0x27, 0xf8, 0x29, 0x2b, 0xad, 0x48, + 0x95, 0x6e, 0x2a, 0x16, 0xdc, 0x80, 0xad, 0x13, 0x53, 0x79, 0xc2, 0xa8, +}; +static const unsigned char kat2693_addin0[] = { + 0xa1, 0xf1, 0xb6, 0x81, 0x57, 0x99, 0xed, 0x98, 0xf3, 0x05, 0x62, 0x47, + 0xc7, 0x1c, 0x17, 0x48, 0x5e, 0xc6, 0x15, 0x83, 0x92, 0x21, 0x16, 0xcd, + 0xf4, 0xce, 0xb8, 0xfb, 0xa2, 0x4b, 0x80, 0xf0, 0x87, 0xcf, 0x91, 0x9f, + 0x3a, 0xae, 0x69, 0x62, 0xae, 0x2a, 0x35, 0x33, 0x05, 0x46, 0x91, 0x51, +}; +static const unsigned char kat2693_addin1[] = { + 0xb6, 0xf2, 0x56, 0xef, 0x1c, 0x62, 0xd4, 0xd7, 0xb0, 0x60, 0x57, 0xcc, + 0x93, 0x96, 0x8e, 0xeb, 0x18, 0xc5, 0x47, 0x4d, 0x0b, 0xb8, 0xc2, 0x18, + 0xd3, 0x6d, 0x89, 0x09, 0x7a, 0x89, 0xd7, 0x59, 0x91, 0xad, 0x80, 0xc9, + 0xe3, 0x95, 0x37, 0x51, 0x5c, 0x5a, 0xec, 0x3e, 0x55, 0xb3, 0x20, 0x51, +}; +static const unsigned char kat2693_retbits[] = { + 0x2b, 0x69, 0xdf, 0xb0, 0xeb, 0x74, 0x3e, 0xaf, 0x89, 0x26, 0x89, 0x11, + 0x7a, 0x30, 0x17, 0xa6, 0x2d, 0xe6, 0x3f, 0x65, 0x3e, 0xa7, 0x44, 0x0f, + 0xb2, 0x9c, 0x47, 0x3d, 0x0b, 0x72, 0x9e, 0x64, 0x9a, 0x41, 0x6f, 0xee, + 0x20, 0x2b, 0x2d, 0xe9, 0x4e, 0x19, 0xe0, 0x91, 0x5c, 0x38, 0xfc, 0xbb, + 0x81, 0x39, 0xda, 0x40, 0x76, 0xca, 0xca, 0x86, 0x5f, 0x01, 0x24, 0xae, + 0x8b, 0x6b, 0xac, 0xd2, +}; +static const struct drbg_kat_pr_false kat2693_t = { + 7, kat2693_entropyin, kat2693_nonce, kat2693_persstr, + kat2693_entropyinreseed, kat2693_addinreseed, kat2693_addin0, + kat2693_addin1, kat2693_retbits +}; +static const struct drbg_kat kat2693 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2693_t +}; + +static const unsigned char kat2694_entropyin[] = { + 0x77, 0xa9, 0x54, 0x9d, 0x33, 0xe3, 0x50, 0xa7, 0x18, 0x39, 0x56, 0xbb, + 0x94, 0x74, 0x6d, 0x32, 0xd3, 0x64, 0x9c, 0xcd, 0xe8, 0xa5, 0x8f, 0x7b, + 0x8e, 0x78, 0xd5, 0x4d, 0xc2, 0x0c, 0xb1, 0x8a, 0x67, 0x58, 0xf4, 0x54, + 0xb8, 0x72, 0x7c, 0xb3, 0x47, 0xeb, 0xfb, 0x54, 0x30, 0x56, 0xf9, 0x51, +}; +static const unsigned char kat2694_nonce[] = {0}; +static const unsigned char kat2694_persstr[] = { + 0xf4, 0x49, 0x33, 0x9c, 0x1e, 0xae, 0xf6, 0xe6, 0x56, 0x32, 0x50, 0x39, + 0xba, 0xaf, 0x4b, 0xec, 0x9e, 0x12, 0x54, 0x17, 0x77, 0xe9, 0x9b, 0x2b, + 0xf3, 0xb3, 0xc8, 0x07, 0x7d, 0x8f, 0x95, 0x70, 0xf9, 0x59, 0xcc, 0x18, + 0xe5, 0x0b, 0xcc, 0x01, 0xda, 0xfa, 0x91, 0xf8, 0x0a, 0x8f, 0x9d, 0x6e, +}; +static const unsigned char kat2694_entropyinreseed[] = { + 0x08, 0x12, 0xe9, 0xb4, 0x71, 0x13, 0x6b, 0x0b, 0x11, 0xda, 0xbe, 0x90, + 0x2e, 0x76, 0xf6, 0xef, 0x07, 0x82, 0xfa, 0xf0, 0x65, 0x50, 0x6f, 0x2d, + 0x21, 0xef, 0x7d, 0x4b, 0xba, 0x85, 0xc9, 0x53, 0x6a, 0x10, 0xdf, 0xbf, + 0xbf, 0x0d, 0x4f, 0xb0, 0x5c, 0x67, 0x47, 0xe9, 0xa6, 0x32, 0xae, 0xba, +}; +static const unsigned char kat2694_addinreseed[] = { + 0x56, 0xf2, 0x78, 0x37, 0x73, 0xf8, 0xeb, 0xcb, 0x04, 0x28, 0xd1, 0x25, + 0x2b, 0x6a, 0x46, 0x72, 0x49, 0xcf, 0x9a, 0x2f, 0xab, 0xc5, 0xef, 0x08, + 0x4a, 0x35, 0x62, 0xac, 0x57, 0x66, 0x5c, 0x05, 0xf8, 0x21, 0x4e, 0xb6, + 0xa1, 0xaf, 0x29, 0xa2, 0xab, 0x67, 0x3f, 0xc1, 0xa7, 0x0d, 0xe1, 0x77, +}; +static const unsigned char kat2694_addin0[] = { + 0x36, 0x8c, 0x30, 0x91, 0xd7, 0x0d, 0x55, 0xcf, 0xb0, 0x9a, 0x97, 0xa6, + 0xc7, 0x9c, 0xae, 0x15, 0x6a, 0x45, 0xfb, 0x1d, 0x53, 0xa1, 0x26, 0x15, + 0xf0, 0xf1, 0xf4, 0x63, 0xbe, 0x07, 0x52, 0x73, 0xa3, 0x11, 0xad, 0x9e, + 0x41, 0x42, 0x91, 0xcd, 0x51, 0xcf, 0x82, 0xaa, 0x81, 0xa2, 0xdb, 0x42, +}; +static const unsigned char kat2694_addin1[] = { + 0x31, 0xa6, 0xb7, 0x34, 0xe6, 0xf9, 0xb1, 0x2e, 0xaf, 0xb2, 0xea, 0x23, + 0xd0, 0xd8, 0xdf, 0xcf, 0x74, 0x67, 0x7f, 0xd3, 0x7f, 0x83, 0xc9, 0xe9, + 0x49, 0xf4, 0xb4, 0x6d, 0xf5, 0x6f, 0x5c, 0x1e, 0x15, 0xde, 0x91, 0x30, + 0x8c, 0x43, 0x84, 0x8f, 0xb0, 0xe1, 0x2b, 0xda, 0x36, 0xbe, 0x13, 0xfd, +}; +static const unsigned char kat2694_retbits[] = { + 0xc4, 0x68, 0x57, 0x92, 0x91, 0xe3, 0x90, 0x6a, 0x13, 0xad, 0x74, 0x75, + 0xa0, 0x56, 0xee, 0xbe, 0x94, 0x0a, 0xdc, 0x2f, 0x06, 0xd1, 0x95, 0xcc, + 0x68, 0x6b, 0xc4, 0x25, 0x20, 0x6e, 0xba, 0x21, 0x71, 0x7c, 0xdf, 0xc7, + 0x9f, 0xb6, 0x3f, 0x6b, 0x0f, 0x1b, 0x78, 0x20, 0x5d, 0x99, 0x42, 0x9b, + 0x55, 0x74, 0x63, 0x06, 0x70, 0xf9, 0xab, 0xda, 0xc1, 0x52, 0x7e, 0xde, + 0x9e, 0xfe, 0xb0, 0xed, +}; +static const struct drbg_kat_pr_false kat2694_t = { + 8, kat2694_entropyin, kat2694_nonce, kat2694_persstr, + kat2694_entropyinreseed, kat2694_addinreseed, kat2694_addin0, + kat2694_addin1, kat2694_retbits +}; +static const struct drbg_kat kat2694 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2694_t +}; + +static const unsigned char kat2695_entropyin[] = { + 0x61, 0x4d, 0x94, 0x22, 0x69, 0x48, 0x51, 0x64, 0x73, 0x9e, 0xb1, 0x9b, + 0x28, 0xef, 0x16, 0x30, 0xc6, 0x9d, 0x0e, 0xf4, 0xe9, 0xa4, 0x32, 0xbd, + 0x82, 0x24, 0x0c, 0x07, 0x60, 0xf2, 0xfd, 0x08, 0x12, 0xa6, 0x6e, 0xac, + 0x75, 0xf0, 0xbd, 0x71, 0xf1, 0x85, 0xad, 0x06, 0xd0, 0x6c, 0xab, 0x4e, +}; +static const unsigned char kat2695_nonce[] = {0}; +static const unsigned char kat2695_persstr[] = { + 0xc2, 0x5d, 0x67, 0x67, 0x6e, 0x29, 0x38, 0xfb, 0x26, 0x14, 0x06, 0xbd, + 0x65, 0xf1, 0xfb, 0xe7, 0xf9, 0x92, 0x97, 0x9a, 0x65, 0x5b, 0xda, 0xba, + 0x40, 0xfd, 0xd8, 0xfe, 0x78, 0x87, 0x17, 0x32, 0x8c, 0xf4, 0xfd, 0xaa, + 0x22, 0xf3, 0x86, 0xe5, 0x34, 0x16, 0x77, 0x31, 0x3b, 0xac, 0xed, 0x1f, +}; +static const unsigned char kat2695_entropyinreseed[] = { + 0x53, 0x4d, 0xba, 0x01, 0xad, 0xbf, 0x78, 0xe6, 0x7c, 0xbc, 0x50, 0x82, + 0xab, 0x0c, 0x08, 0x95, 0xd2, 0x2a, 0x7c, 0x96, 0x34, 0x48, 0x3a, 0xfb, + 0xb9, 0x49, 0xc0, 0x9a, 0x46, 0x38, 0xfa, 0x28, 0xe3, 0x3b, 0x4a, 0xd7, + 0x8b, 0x02, 0x4b, 0xc6, 0x39, 0xf3, 0x8f, 0x77, 0x10, 0xff, 0x00, 0x4f, +}; +static const unsigned char kat2695_addinreseed[] = { + 0xaa, 0x83, 0xad, 0x17, 0xb8, 0xca, 0x4c, 0x98, 0x26, 0xae, 0xba, 0x8b, + 0x34, 0xe2, 0x5e, 0x98, 0x8c, 0x33, 0x35, 0xd6, 0x53, 0xf1, 0x27, 0x49, + 0xb2, 0x19, 0x5e, 0x73, 0x43, 0xfd, 0x66, 0x83, 0x13, 0x43, 0x20, 0x3a, + 0x7f, 0x45, 0xbe, 0x2b, 0x54, 0xc4, 0xb2, 0xe6, 0xd9, 0x4f, 0x6f, 0x09, +}; +static const unsigned char kat2695_addin0[] = { + 0x6b, 0x8e, 0x07, 0xfe, 0x59, 0xf9, 0x11, 0xce, 0x5e, 0x34, 0x2b, 0xce, + 0xc2, 0xea, 0x7e, 0x3f, 0xa8, 0x9b, 0x21, 0xb8, 0x3f, 0xf7, 0x55, 0x14, + 0xa8, 0xbf, 0x17, 0x8b, 0x36, 0x28, 0xa8, 0x83, 0xb8, 0x28, 0x2b, 0xc4, + 0xe1, 0xfc, 0xcb, 0x63, 0xd6, 0xdb, 0x0b, 0x0a, 0x2d, 0x46, 0x2d, 0x5a, +}; +static const unsigned char kat2695_addin1[] = { + 0x56, 0xc2, 0x58, 0x35, 0x92, 0x7f, 0x85, 0xa3, 0x6a, 0x9a, 0xd5, 0xce, + 0x31, 0x19, 0x99, 0x97, 0x6d, 0x64, 0x9b, 0x25, 0x42, 0x42, 0x6f, 0x10, + 0x3b, 0x9c, 0x43, 0x96, 0x28, 0x4d, 0x0f, 0xb8, 0x5c, 0x62, 0xa2, 0x52, + 0x06, 0xd2, 0x0b, 0xc4, 0x85, 0xf7, 0x6a, 0x63, 0x96, 0x2d, 0x2a, 0x98, +}; +static const unsigned char kat2695_retbits[] = { + 0x67, 0xc6, 0x75, 0xcd, 0x16, 0x6d, 0x68, 0xba, 0x4a, 0x9e, 0xd0, 0x7a, + 0xc6, 0xec, 0xde, 0x44, 0xd9, 0x8f, 0x80, 0xca, 0x9b, 0x6d, 0x58, 0xdc, + 0xb2, 0xe8, 0xcf, 0x4a, 0x6c, 0x92, 0xd9, 0x48, 0xb7, 0x05, 0xc4, 0x48, + 0xc8, 0x24, 0x05, 0x99, 0x24, 0x5a, 0xc8, 0x76, 0x74, 0xb6, 0xbe, 0xee, + 0x01, 0xf2, 0x0b, 0x93, 0xb7, 0x21, 0xea, 0xf0, 0x17, 0x94, 0xc5, 0x9d, + 0x66, 0x30, 0xdd, 0xab, +}; +static const struct drbg_kat_pr_false kat2695_t = { + 9, kat2695_entropyin, kat2695_nonce, kat2695_persstr, + kat2695_entropyinreseed, kat2695_addinreseed, kat2695_addin0, + kat2695_addin1, kat2695_retbits +}; +static const struct drbg_kat kat2695 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2695_t +}; + +static const unsigned char kat2696_entropyin[] = { + 0x73, 0xa0, 0xa9, 0xe3, 0xa1, 0x87, 0xcf, 0x98, 0x0a, 0xf3, 0x97, 0x0b, + 0x40, 0x4c, 0x85, 0x85, 0xd7, 0x8c, 0x4e, 0x1c, 0x06, 0xf8, 0x8b, 0x91, + 0x10, 0xd4, 0xb1, 0xf2, 0x7f, 0xed, 0xfe, 0xab, 0x5c, 0x94, 0x58, 0xbb, + 0x5d, 0x22, 0x7d, 0xe5, 0x8e, 0x70, 0x3a, 0x8d, 0x40, 0xae, 0xcd, 0xfa, +}; +static const unsigned char kat2696_nonce[] = {0}; +static const unsigned char kat2696_persstr[] = { + 0xbe, 0xf4, 0xbe, 0xac, 0x0a, 0x3b, 0x08, 0x5c, 0x62, 0x60, 0x14, 0xd3, + 0x68, 0xfa, 0x53, 0x1b, 0x42, 0xd7, 0x81, 0x87, 0x36, 0x56, 0xec, 0x38, + 0x4f, 0xb1, 0x96, 0x74, 0xf8, 0x8a, 0x9e, 0xa4, 0xab, 0x34, 0x9a, 0x5a, + 0x8c, 0x06, 0x85, 0xab, 0x23, 0xec, 0x89, 0xb4, 0xab, 0x35, 0x71, 0x8b, +}; +static const unsigned char kat2696_entropyinreseed[] = { + 0x41, 0x6e, 0xf8, 0x5f, 0x8f, 0x20, 0x1b, 0x2b, 0x00, 0xb9, 0x5f, 0x2e, + 0xd8, 0x47, 0x7c, 0x1b, 0x61, 0xe6, 0x04, 0x3b, 0xfc, 0x4a, 0x07, 0x5a, + 0x47, 0x9d, 0xa6, 0x38, 0x14, 0x13, 0xcc, 0xb2, 0x48, 0xc6, 0x67, 0xaf, + 0x2e, 0x2b, 0xbc, 0x77, 0x6a, 0xf3, 0x8a, 0x61, 0xc9, 0xe4, 0xef, 0x56, +}; +static const unsigned char kat2696_addinreseed[] = { + 0x43, 0x32, 0x65, 0x92, 0xd4, 0xd6, 0x74, 0xde, 0xc7, 0xd7, 0xc1, 0x8f, + 0x76, 0xe1, 0x00, 0x6a, 0xf1, 0x8e, 0x46, 0x10, 0x00, 0xc4, 0x95, 0xc5, + 0x6d, 0x25, 0xf4, 0x0b, 0x18, 0x0a, 0x6c, 0xc5, 0x12, 0xb9, 0x91, 0xcb, + 0x7a, 0x5b, 0x8e, 0x81, 0xad, 0x53, 0xa1, 0xa3, 0x30, 0x7a, 0x2f, 0x32, +}; +static const unsigned char kat2696_addin0[] = { + 0xf8, 0x77, 0x6c, 0x1d, 0x1a, 0x26, 0x00, 0xee, 0x34, 0x38, 0x6c, 0x29, + 0x3d, 0xa3, 0x83, 0x1c, 0xd0, 0xfa, 0x37, 0xdf, 0x3e, 0xf3, 0x7a, 0xb8, + 0xd8, 0xf8, 0x4b, 0xbd, 0xc1, 0x55, 0x95, 0xb5, 0xe7, 0x33, 0xad, 0xb6, + 0xa8, 0x63, 0x26, 0xe8, 0xa4, 0xdc, 0x77, 0xcf, 0x03, 0xc3, 0xbe, 0x97, +}; +static const unsigned char kat2696_addin1[] = { + 0x2b, 0x36, 0x9b, 0x92, 0x16, 0x53, 0xe1, 0xaa, 0xf6, 0x6a, 0xf6, 0x5b, + 0x06, 0x6f, 0x71, 0x0d, 0x6c, 0x5d, 0xa4, 0xab, 0xd1, 0x91, 0x84, 0xef, + 0x84, 0x95, 0x62, 0x60, 0xdb, 0x34, 0x36, 0x15, 0x84, 0x6e, 0xdd, 0x85, + 0x6f, 0x7f, 0xa5, 0xa1, 0x72, 0x66, 0x43, 0x20, 0x3b, 0x8a, 0x8c, 0xd3, +}; +static const unsigned char kat2696_retbits[] = { + 0xbe, 0x59, 0x8f, 0x18, 0x1c, 0xc3, 0xef, 0x73, 0xf9, 0xdc, 0xa4, 0x1b, + 0xae, 0x4e, 0x9a, 0xb7, 0x76, 0xd8, 0x44, 0x73, 0xc1, 0x6c, 0xed, 0x60, + 0x5d, 0x4e, 0x1a, 0xae, 0xbc, 0x58, 0xca, 0x1b, 0x86, 0x8b, 0xbc, 0xd1, + 0x39, 0xa1, 0xd4, 0xe6, 0x5c, 0xa1, 0x62, 0x8e, 0x41, 0x3b, 0x7f, 0x1d, + 0x06, 0x1e, 0x56, 0x90, 0x28, 0xf1, 0xeb, 0xbc, 0xfe, 0xba, 0xf2, 0x79, + 0x82, 0x0f, 0x09, 0x00, +}; +static const struct drbg_kat_pr_false kat2696_t = { + 10, kat2696_entropyin, kat2696_nonce, kat2696_persstr, + kat2696_entropyinreseed, kat2696_addinreseed, kat2696_addin0, + kat2696_addin1, kat2696_retbits +}; +static const struct drbg_kat kat2696 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2696_t +}; + +static const unsigned char kat2697_entropyin[] = { + 0x7c, 0xaf, 0xce, 0xd4, 0x29, 0x93, 0x0e, 0x19, 0x7f, 0x8e, 0x09, 0x2e, + 0xb7, 0x19, 0x08, 0x98, 0x6b, 0xfa, 0xfd, 0x7f, 0x07, 0xc5, 0x29, 0x8e, + 0x6f, 0x4f, 0x88, 0xed, 0x94, 0x08, 0x5e, 0xd9, 0x2f, 0x6a, 0xf7, 0x68, + 0x43, 0x7f, 0xf8, 0xbd, 0xc8, 0xf4, 0x4e, 0x17, 0xcc, 0xbb, 0x83, 0xe9, +}; +static const unsigned char kat2697_nonce[] = {0}; +static const unsigned char kat2697_persstr[] = { + 0xc0, 0xb4, 0x35, 0xa5, 0x1c, 0x08, 0x53, 0x2b, 0xeb, 0x12, 0x64, 0xdc, + 0x51, 0xc3, 0x27, 0x1a, 0x51, 0x20, 0xe0, 0x05, 0xca, 0x1f, 0xf2, 0x09, + 0x03, 0x19, 0x05, 0xd3, 0x70, 0xc9, 0x50, 0x92, 0x13, 0xb9, 0x0c, 0x7e, + 0x62, 0x0c, 0xf0, 0xad, 0x55, 0xfd, 0xbf, 0x15, 0xb2, 0xff, 0x34, 0x1f, +}; +static const unsigned char kat2697_entropyinreseed[] = { + 0xf5, 0x9e, 0xfd, 0x8d, 0x25, 0x31, 0x42, 0xa0, 0x34, 0x63, 0x10, 0xb1, + 0x46, 0x7e, 0xea, 0x0f, 0x49, 0xf9, 0xe0, 0x39, 0xcb, 0x0c, 0x69, 0x54, + 0x51, 0x6a, 0x52, 0x28, 0x89, 0x6c, 0xb0, 0xed, 0xb5, 0xe4, 0x6c, 0x86, + 0x35, 0x75, 0x84, 0x2c, 0xdc, 0xcf, 0x55, 0x6a, 0xc1, 0xba, 0x3e, 0xde, +}; +static const unsigned char kat2697_addinreseed[] = { + 0xb6, 0x4c, 0x2d, 0xc0, 0x57, 0x3f, 0x0d, 0x87, 0x40, 0xa5, 0xf9, 0x34, + 0xe3, 0xcc, 0xc2, 0xe3, 0xbb, 0x1d, 0xd0, 0x1a, 0x9a, 0x50, 0xef, 0xb5, + 0x16, 0xdb, 0xbe, 0x58, 0x15, 0x66, 0xcf, 0xad, 0xe2, 0xb5, 0x21, 0xb8, + 0x85, 0x29, 0x5b, 0x53, 0x5a, 0xad, 0xb0, 0x5a, 0x76, 0xb7, 0xcc, 0xec, +}; +static const unsigned char kat2697_addin0[] = { + 0x41, 0x8a, 0x23, 0x29, 0x34, 0x12, 0x0f, 0x0f, 0xd3, 0x4f, 0xb4, 0xa8, + 0x4e, 0x82, 0x0f, 0xb6, 0x24, 0x08, 0x92, 0x16, 0x77, 0xe9, 0x71, 0xd7, + 0xf3, 0x39, 0x49, 0x73, 0x62, 0xe3, 0xea, 0xa1, 0xde, 0xad, 0x14, 0xd2, + 0xcd, 0xf1, 0xe2, 0xf0, 0xe3, 0xfc, 0xcb, 0xce, 0xc3, 0xe7, 0x40, 0xb2, +}; +static const unsigned char kat2697_addin1[] = { + 0xc4, 0xce, 0x8b, 0x89, 0xa8, 0xd9, 0x96, 0x14, 0xfc, 0x94, 0x42, 0xbc, + 0x64, 0x7f, 0x53, 0x98, 0xea, 0x20, 0xc0, 0x2d, 0x5b, 0x7e, 0xae, 0xa6, + 0xce, 0x26, 0xbd, 0xa4, 0xa9, 0x57, 0xb2, 0x89, 0xd8, 0xee, 0x4a, 0x77, + 0x1a, 0xc2, 0xed, 0xe6, 0x1a, 0xea, 0x9a, 0x9b, 0xe5, 0xb6, 0x85, 0xcf, +}; +static const unsigned char kat2697_retbits[] = { + 0x1b, 0xed, 0x88, 0xce, 0x25, 0xc4, 0xbd, 0x7c, 0xcc, 0x2a, 0xc9, 0x81, + 0x3c, 0x32, 0xee, 0x7f, 0x12, 0x8f, 0x56, 0x09, 0x71, 0x94, 0x4c, 0xe9, + 0xa0, 0xd0, 0x28, 0xc4, 0x70, 0x68, 0x75, 0x48, 0x2d, 0x3f, 0x64, 0x8e, + 0x5b, 0xc5, 0x8e, 0xdf, 0xc4, 0xe4, 0x90, 0xff, 0x75, 0x45, 0x75, 0x50, + 0x1f, 0x60, 0x5d, 0x5e, 0xfc, 0x71, 0x6f, 0xcc, 0x44, 0xbc, 0x5c, 0x69, + 0x05, 0xa8, 0x3d, 0x93, +}; +static const struct drbg_kat_pr_false kat2697_t = { + 11, kat2697_entropyin, kat2697_nonce, kat2697_persstr, + kat2697_entropyinreseed, kat2697_addinreseed, kat2697_addin0, + kat2697_addin1, kat2697_retbits +}; +static const struct drbg_kat kat2697 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2697_t +}; + +static const unsigned char kat2698_entropyin[] = { + 0x16, 0xfa, 0x70, 0x55, 0x91, 0x4d, 0xeb, 0xfd, 0xe6, 0x43, 0xda, 0x69, + 0x38, 0xa9, 0x27, 0x00, 0x4b, 0x2d, 0x77, 0x3f, 0x99, 0x50, 0x7c, 0x6d, + 0xe1, 0xbc, 0x66, 0x1d, 0x91, 0x4b, 0xc2, 0xd6, 0x33, 0xd3, 0xc2, 0x74, + 0xfc, 0x62, 0x39, 0xb3, 0xe4, 0x84, 0x40, 0xc0, 0x3d, 0x80, 0x85, 0x21, +}; +static const unsigned char kat2698_nonce[] = {0}; +static const unsigned char kat2698_persstr[] = { + 0xe2, 0x95, 0xe1, 0x6a, 0xf5, 0xd4, 0x1f, 0x8f, 0xf3, 0xac, 0x89, 0xcf, + 0x3b, 0x8b, 0xb5, 0xbb, 0x54, 0x2f, 0x6b, 0x34, 0x73, 0x64, 0x2c, 0xc9, + 0x34, 0x48, 0xfa, 0x3a, 0xb7, 0x8e, 0x20, 0x67, 0x7f, 0x88, 0xdd, 0xe2, + 0x26, 0x95, 0x58, 0x52, 0xf0, 0x7e, 0x3f, 0x32, 0xe0, 0x81, 0x2c, 0xbc, +}; +static const unsigned char kat2698_entropyinreseed[] = { + 0x00, 0x71, 0xbc, 0xc9, 0xe4, 0x40, 0xb1, 0x77, 0xaa, 0x6d, 0xdc, 0xef, + 0x17, 0x8e, 0x72, 0x8f, 0x49, 0x23, 0x9e, 0x58, 0xc7, 0x62, 0xa1, 0x44, + 0x81, 0x68, 0xfe, 0xc7, 0x15, 0x6b, 0xed, 0xf1, 0x06, 0xf7, 0x97, 0x90, + 0xcc, 0x69, 0x61, 0x64, 0x84, 0xa4, 0x8f, 0x93, 0xac, 0x08, 0x68, 0x82, +}; +static const unsigned char kat2698_addinreseed[] = { + 0x0b, 0x50, 0x8c, 0xcf, 0x33, 0x1f, 0x0d, 0xc6, 0x9e, 0x63, 0xb5, 0x48, + 0xa9, 0x09, 0x70, 0xd6, 0xa1, 0xd5, 0xd0, 0xe4, 0x94, 0x1a, 0x70, 0x57, + 0x1a, 0xc1, 0x3d, 0xc9, 0x04, 0xed, 0x19, 0xe6, 0xe0, 0xa3, 0xa5, 0x82, + 0xbd, 0x6d, 0x97, 0x9d, 0x45, 0x93, 0x4d, 0xe9, 0x29, 0x87, 0xeb, 0x53, +}; +static const unsigned char kat2698_addin0[] = { + 0xb4, 0x96, 0x74, 0x97, 0x10, 0xef, 0xa7, 0x1e, 0x6a, 0xb4, 0xe3, 0xed, + 0x2f, 0x37, 0x55, 0xfd, 0xec, 0x00, 0xec, 0x51, 0xe8, 0x5b, 0xbd, 0xb9, + 0xf6, 0x2f, 0xa5, 0xc6, 0x7f, 0xe3, 0x88, 0x2e, 0xe9, 0x1f, 0x40, 0x4f, + 0xf0, 0x03, 0xe0, 0xe1, 0x62, 0x28, 0x0d, 0xeb, 0x6b, 0xf6, 0x48, 0xaf, +}; +static const unsigned char kat2698_addin1[] = { + 0x75, 0x53, 0x41, 0xc4, 0x62, 0x8a, 0x60, 0xb7, 0xaf, 0x20, 0xe4, 0x84, + 0x2b, 0x29, 0x12, 0xd0, 0x83, 0xb5, 0xdb, 0x8b, 0xb0, 0xb1, 0x4d, 0xdf, + 0x3c, 0xde, 0x54, 0xf6, 0xfa, 0x10, 0xf1, 0x38, 0x1b, 0x0d, 0x07, 0xe6, + 0x9a, 0x87, 0xa6, 0xf0, 0x15, 0x61, 0x6b, 0xed, 0x96, 0x6e, 0xdd, 0x49, +}; +static const unsigned char kat2698_retbits[] = { + 0x5f, 0xda, 0x95, 0x4f, 0x37, 0xf7, 0xf0, 0x2e, 0x37, 0x80, 0x5c, 0x78, + 0x88, 0xf9, 0xcf, 0x46, 0xae, 0x8f, 0x3a, 0xca, 0x98, 0x43, 0xd0, 0xe8, + 0xfd, 0xc7, 0x61, 0x4b, 0xc8, 0x89, 0xa2, 0x06, 0x59, 0xb3, 0xeb, 0x28, + 0x84, 0x28, 0x6c, 0xe0, 0xe4, 0xb7, 0xed, 0xff, 0x91, 0x14, 0xee, 0x4b, + 0xd8, 0xcf, 0xa1, 0x73, 0xb3, 0x1b, 0x2d, 0xff, 0x3d, 0xae, 0xdd, 0xf1, + 0x9f, 0xbf, 0x88, 0xe4, +}; +static const struct drbg_kat_pr_false kat2698_t = { + 12, kat2698_entropyin, kat2698_nonce, kat2698_persstr, + kat2698_entropyinreseed, kat2698_addinreseed, kat2698_addin0, + kat2698_addin1, kat2698_retbits +}; +static const struct drbg_kat kat2698 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2698_t +}; + +static const unsigned char kat2699_entropyin[] = { + 0x44, 0x99, 0x77, 0x06, 0x17, 0x47, 0x6f, 0xe6, 0xb1, 0xc4, 0x8a, 0x31, + 0x43, 0x1a, 0x30, 0x49, 0xf4, 0x2a, 0xf9, 0x31, 0xc2, 0x8b, 0x48, 0x60, + 0xfe, 0x0d, 0xae, 0x13, 0x8e, 0x70, 0xb5, 0xd2, 0xf6, 0x43, 0xff, 0x92, + 0x71, 0x93, 0x4f, 0xb1, 0xc9, 0xd6, 0xcc, 0xde, 0x83, 0x9f, 0xd5, 0x5f, +}; +static const unsigned char kat2699_nonce[] = {0}; +static const unsigned char kat2699_persstr[] = { + 0x16, 0x4a, 0xab, 0x76, 0xbf, 0x81, 0x33, 0x13, 0x93, 0x6e, 0x2a, 0x02, + 0x2c, 0x07, 0xfd, 0x74, 0x90, 0x8e, 0x57, 0x90, 0xf0, 0xbd, 0xb9, 0x2a, + 0xdd, 0xf0, 0x29, 0xde, 0x6e, 0x5f, 0x7d, 0x09, 0xb0, 0x10, 0x80, 0xa4, + 0xab, 0xc9, 0x54, 0x2e, 0xa4, 0x9f, 0xc8, 0x85, 0x45, 0xd1, 0x53, 0x34, +}; +static const unsigned char kat2699_entropyinreseed[] = { + 0x0d, 0x6e, 0xc2, 0xb8, 0x1f, 0xa5, 0x6f, 0x5b, 0x0d, 0x0b, 0xab, 0x64, + 0x8a, 0x8b, 0x7b, 0x68, 0x6e, 0x0b, 0x6f, 0xef, 0xb4, 0xa5, 0x17, 0xf8, + 0x72, 0x66, 0x38, 0xa1, 0xc9, 0xda, 0xc7, 0xd3, 0x33, 0xeb, 0xdd, 0x7d, + 0x71, 0xc0, 0x6d, 0xb5, 0x13, 0x6b, 0x93, 0x0e, 0x5c, 0x77, 0x6e, 0xf9, +}; +static const unsigned char kat2699_addinreseed[] = { + 0x78, 0x08, 0x85, 0x87, 0x92, 0x6a, 0xec, 0xfa, 0x25, 0x08, 0x1c, 0xd8, + 0x11, 0xf9, 0x17, 0x95, 0xc6, 0x0f, 0xc1, 0x88, 0x62, 0xee, 0xc5, 0xa9, + 0x0b, 0x0b, 0x38, 0xe8, 0x19, 0x76, 0x84, 0x62, 0x34, 0x50, 0xce, 0xc1, + 0xb4, 0x44, 0xdd, 0x2a, 0xfb, 0xbb, 0x1e, 0x52, 0xee, 0x18, 0x4f, 0x4e, +}; +static const unsigned char kat2699_addin0[] = { + 0x3c, 0x32, 0xbb, 0x43, 0xf8, 0x0b, 0xde, 0xce, 0xaf, 0xdb, 0xc4, 0x6a, + 0x6f, 0xd4, 0x33, 0x00, 0xbf, 0x99, 0xf2, 0x6e, 0x87, 0x75, 0xff, 0x31, + 0x28, 0x1e, 0x0a, 0xb0, 0xb3, 0x59, 0x2e, 0xab, 0xe7, 0xeb, 0x2e, 0xbf, + 0xe7, 0x5c, 0xc4, 0x61, 0xb2, 0xd8, 0x04, 0xed, 0xb4, 0x09, 0xb2, 0xf6, +}; +static const unsigned char kat2699_addin1[] = { + 0x2a, 0xe5, 0x4d, 0x1e, 0x99, 0x3b, 0xbc, 0xad, 0xee, 0xf2, 0xe8, 0x34, + 0x9f, 0xb7, 0xe6, 0x4f, 0x19, 0xe0, 0x42, 0xba, 0x3a, 0xb4, 0xe9, 0x58, + 0x2b, 0xfd, 0x87, 0xc9, 0xe1, 0x88, 0x46, 0x9f, 0xf3, 0xa9, 0xcc, 0xe3, + 0xab, 0x91, 0x4a, 0x59, 0xdc, 0x46, 0x69, 0x62, 0xf0, 0xfd, 0x9a, 0x52, +}; +static const unsigned char kat2699_retbits[] = { + 0xb2, 0x39, 0x31, 0x43, 0xe2, 0xf7, 0xc8, 0x6a, 0x6b, 0xb8, 0x2b, 0x5c, + 0x40, 0x94, 0x5f, 0x94, 0x9e, 0x6e, 0xcc, 0xc0, 0x5f, 0x8a, 0xe5, 0x3c, + 0xd5, 0xc6, 0xd8, 0x32, 0x1c, 0x01, 0xdf, 0x71, 0x5a, 0x29, 0x4f, 0x2f, + 0x78, 0x71, 0xc0, 0xe4, 0x18, 0xf0, 0x47, 0x57, 0x93, 0x27, 0xdb, 0x15, + 0x1d, 0x3c, 0xb0, 0xb0, 0xd3, 0x86, 0x8a, 0xc9, 0x62, 0x01, 0x2c, 0x2b, + 0x06, 0xf5, 0x94, 0xa3, +}; +static const struct drbg_kat_pr_false kat2699_t = { + 13, kat2699_entropyin, kat2699_nonce, kat2699_persstr, + kat2699_entropyinreseed, kat2699_addinreseed, kat2699_addin0, + kat2699_addin1, kat2699_retbits +}; +static const struct drbg_kat kat2699 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2699_t +}; + +static const unsigned char kat2700_entropyin[] = { + 0x70, 0x83, 0x27, 0x5a, 0x4e, 0x52, 0xde, 0x2a, 0x4a, 0x96, 0xb2, 0xbf, + 0xf5, 0xe9, 0xab, 0xd9, 0x76, 0x81, 0x0e, 0xd6, 0xbc, 0x0e, 0xcd, 0xae, + 0xed, 0xac, 0xeb, 0x90, 0xe0, 0x7e, 0xef, 0xdd, 0xfa, 0x52, 0xef, 0x32, + 0x6e, 0x22, 0xb5, 0x08, 0x80, 0x60, 0x44, 0x19, 0x9b, 0x27, 0x40, 0x27, +}; +static const unsigned char kat2700_nonce[] = {0}; +static const unsigned char kat2700_persstr[] = { + 0x3b, 0x9f, 0xb5, 0x93, 0x26, 0x6f, 0xc5, 0x48, 0x42, 0x17, 0x52, 0xa7, + 0x05, 0xdf, 0xe1, 0x1d, 0xe5, 0xcf, 0x1e, 0x1a, 0x3f, 0x6d, 0x17, 0xc2, + 0xa9, 0xa8, 0x79, 0xbc, 0x9d, 0xbe, 0x2e, 0x25, 0x4f, 0x79, 0xe7, 0x3d, + 0xde, 0xa4, 0x46, 0x99, 0x4f, 0x68, 0xb3, 0x18, 0xbf, 0xaa, 0xb9, 0x79, +}; +static const unsigned char kat2700_entropyinreseed[] = { + 0xbc, 0xbf, 0x9b, 0x7a, 0xf0, 0x8c, 0xe5, 0x04, 0xaa, 0x7c, 0x08, 0x7d, + 0x6f, 0x22, 0xb9, 0xe4, 0x7b, 0x40, 0xcf, 0x7b, 0xdc, 0x81, 0xf3, 0x32, + 0xbe, 0xb9, 0x44, 0x6c, 0x33, 0xd2, 0x6b, 0xf4, 0x74, 0x60, 0xcf, 0x70, + 0xff, 0x16, 0x25, 0x12, 0x8c, 0xa9, 0x2f, 0x5b, 0x0a, 0xf7, 0x3a, 0x9a, +}; +static const unsigned char kat2700_addinreseed[] = { + 0xf9, 0xc0, 0x16, 0xd2, 0xa0, 0x0c, 0x57, 0x2f, 0x8c, 0x0c, 0x9d, 0xea, + 0xa2, 0x3d, 0xb1, 0x35, 0xe7, 0x38, 0xed, 0x70, 0x4c, 0xc6, 0x37, 0xbf, + 0x49, 0x91, 0xc1, 0x25, 0xaf, 0xe7, 0x32, 0x8a, 0x6a, 0x74, 0xe6, 0x7c, + 0x0b, 0xf3, 0x65, 0x44, 0x6b, 0x58, 0x3b, 0x3a, 0x64, 0x51, 0xc2, 0xbc, +}; +static const unsigned char kat2700_addin0[] = { + 0x58, 0x8e, 0xb7, 0x22, 0xd4, 0x06, 0x6c, 0xe1, 0xe9, 0x14, 0x8d, 0x2e, + 0x7a, 0x6d, 0x43, 0xd1, 0xd8, 0xb4, 0x88, 0x6b, 0xd9, 0x7f, 0x36, 0xf2, + 0x45, 0x99, 0xdc, 0xde, 0xdb, 0x63, 0x8d, 0x2e, 0x7c, 0xfc, 0x4b, 0x5e, + 0xa4, 0x6a, 0x45, 0xe1, 0x47, 0x4b, 0xc1, 0x8b, 0x21, 0xb0, 0x7f, 0x14, +}; +static const unsigned char kat2700_addin1[] = { + 0x1b, 0x4e, 0x90, 0x4a, 0x6b, 0x86, 0x12, 0x01, 0x02, 0x85, 0x06, 0x07, + 0x5d, 0x7d, 0x7f, 0xec, 0xb8, 0x11, 0x58, 0xea, 0x37, 0x49, 0x42, 0x1d, + 0x4d, 0x47, 0x10, 0xba, 0x0f, 0xcb, 0x15, 0x7b, 0x50, 0x19, 0xdb, 0xca, + 0x19, 0x9c, 0x83, 0x02, 0xd3, 0x47, 0x45, 0xcb, 0x0c, 0x23, 0x30, 0xb1, +}; +static const unsigned char kat2700_retbits[] = { + 0xd1, 0x55, 0x94, 0x1b, 0x54, 0xab, 0x48, 0xdc, 0x18, 0x66, 0x64, 0x1c, + 0x03, 0x4b, 0x11, 0x7d, 0x6d, 0xd8, 0xa7, 0xd0, 0x68, 0xd2, 0x92, 0x01, + 0x10, 0x5d, 0x84, 0x53, 0x15, 0xdb, 0xc7, 0x47, 0xaf, 0xd8, 0xfb, 0x1f, + 0x9b, 0xa5, 0xc9, 0x76, 0xc7, 0x5f, 0xf8, 0xc7, 0x05, 0x2a, 0xff, 0x7b, + 0x34, 0x2c, 0x14, 0x89, 0xbc, 0x0c, 0x9f, 0x8a, 0x7d, 0x89, 0x8b, 0x88, + 0xed, 0x0d, 0x57, 0x46, +}; +static const struct drbg_kat_pr_false kat2700_t = { + 14, kat2700_entropyin, kat2700_nonce, kat2700_persstr, + kat2700_entropyinreseed, kat2700_addinreseed, kat2700_addin0, + kat2700_addin1, kat2700_retbits +}; +static const struct drbg_kat kat2700 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2700_t +}; + +static const unsigned char kat2701_entropyin[] = { + 0xfc, 0xa0, 0xb6, 0xe5, 0x57, 0xf5, 0x14, 0x30, 0xdd, 0x78, 0x7a, 0xb4, + 0xd3, 0x3f, 0x18, 0xd9, 0xae, 0xc2, 0x19, 0x62, 0x9d, 0x1b, 0x83, 0x9a, + 0x35, 0xca, 0xaf, 0xc8, 0x25, 0xab, 0x55, 0xbe, 0x6a, 0x88, 0x03, 0x21, + 0xbe, 0x58, 0xc1, 0x6e, 0xac, 0xb9, 0x45, 0xb7, 0xbb, 0x7c, 0xad, 0xb7, +}; +static const unsigned char kat2701_nonce[] = {0}; +static const unsigned char kat2701_persstr[] = {0}; +static const unsigned char kat2701_entropyinreseed[] = { + 0x7b, 0x68, 0x49, 0x23, 0xae, 0x50, 0x86, 0x6f, 0x71, 0x0d, 0x3b, 0x5b, + 0x2e, 0xdf, 0x24, 0x45, 0x59, 0x3f, 0xe6, 0x6d, 0x15, 0xf2, 0xdc, 0x73, + 0x5e, 0x2b, 0x0c, 0x27, 0x8f, 0x1c, 0xc9, 0x73, 0x50, 0x75, 0xdd, 0x26, + 0x8b, 0x91, 0x40, 0x8e, 0xf7, 0x3d, 0x55, 0x04, 0x23, 0x54, 0x5a, 0xdc, +}; +static const unsigned char kat2701_addinreseed[] = {0}; +static const unsigned char kat2701_addin0[] = {0}; +static const unsigned char kat2701_addin1[] = {0}; +static const unsigned char kat2701_retbits[] = { + 0x29, 0x37, 0x56, 0x71, 0x40, 0x7b, 0x1a, 0x45, 0xb9, 0xfd, 0x8b, 0x4f, + 0x50, 0x7d, 0xda, 0x23, 0x48, 0x22, 0xd5, 0x57, 0xe4, 0x8b, 0x9a, 0x52, + 0x99, 0x7b, 0x13, 0x75, 0x7e, 0x0c, 0x2f, 0x79, 0x6c, 0x87, 0x41, 0xf9, + 0x4b, 0xc2, 0xbd, 0x0d, 0x8c, 0x98, 0xe5, 0xe2, 0x5e, 0x4c, 0xee, 0x65, + 0xe4, 0xdd, 0x63, 0x4c, 0x98, 0xbc, 0x3b, 0x66, 0xfb, 0x62, 0x79, 0xf9, + 0x46, 0x8a, 0xc8, 0x41, +}; +static const struct drbg_kat_pr_false kat2701_t = { + 0, kat2701_entropyin, kat2701_nonce, kat2701_persstr, + kat2701_entropyinreseed, kat2701_addinreseed, kat2701_addin0, + kat2701_addin1, kat2701_retbits +}; +static const struct drbg_kat kat2701 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2701_t +}; + +static const unsigned char kat2702_entropyin[] = { + 0xf6, 0x0f, 0x77, 0x73, 0xf2, 0x1a, 0x71, 0x9e, 0x98, 0xc1, 0x0d, 0x19, + 0x63, 0xf4, 0x06, 0x90, 0xaf, 0x58, 0xc3, 0x8c, 0x81, 0x5b, 0xa6, 0x50, + 0x7f, 0x76, 0x83, 0x46, 0xf8, 0x95, 0x7e, 0x4c, 0x2e, 0x9c, 0x94, 0x93, + 0x2c, 0xb8, 0xae, 0xc5, 0x44, 0xc1, 0xdc, 0x77, 0x65, 0x91, 0x2f, 0x7a, +}; +static const unsigned char kat2702_nonce[] = {0}; +static const unsigned char kat2702_persstr[] = {0}; +static const unsigned char kat2702_entropyinreseed[] = { + 0x3a, 0x4f, 0x75, 0xac, 0x9b, 0x19, 0xc4, 0x5f, 0xba, 0x3e, 0xad, 0x79, + 0x16, 0x5a, 0xde, 0x8c, 0xa5, 0x6d, 0x33, 0xd0, 0xbf, 0xb2, 0xd9, 0xe0, + 0xbc, 0x2e, 0x4a, 0x9f, 0xaa, 0x2d, 0x86, 0xa7, 0x74, 0xc7, 0x37, 0xd2, + 0x3a, 0x33, 0xa8, 0x60, 0xbd, 0x4b, 0xc4, 0x2c, 0x15, 0x71, 0xc1, 0x60, +}; +static const unsigned char kat2702_addinreseed[] = {0}; +static const unsigned char kat2702_addin0[] = {0}; +static const unsigned char kat2702_addin1[] = {0}; +static const unsigned char kat2702_retbits[] = { + 0x10, 0xf3, 0x86, 0x26, 0x7b, 0xdb, 0x88, 0x5d, 0xdb, 0x55, 0xfc, 0xb5, + 0x06, 0x85, 0x1e, 0xf1, 0x4f, 0x59, 0x8d, 0xac, 0xf1, 0x5b, 0xc8, 0x11, + 0x95, 0xe3, 0x7f, 0x3f, 0xac, 0xde, 0x8b, 0x65, 0x29, 0x1d, 0x03, 0x55, + 0x81, 0x8a, 0x75, 0xd9, 0x6d, 0x4a, 0x65, 0x05, 0x78, 0x97, 0x29, 0xcc, + 0x2c, 0x5d, 0x19, 0x9a, 0x23, 0x2c, 0xb9, 0xd1, 0x17, 0x3e, 0x90, 0xda, + 0x71, 0xcc, 0xb8, 0xac, +}; +static const struct drbg_kat_pr_false kat2702_t = { + 1, kat2702_entropyin, kat2702_nonce, kat2702_persstr, + kat2702_entropyinreseed, kat2702_addinreseed, kat2702_addin0, + kat2702_addin1, kat2702_retbits +}; +static const struct drbg_kat kat2702 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2702_t +}; + +static const unsigned char kat2703_entropyin[] = { + 0xf3, 0x75, 0xd3, 0xd9, 0xf8, 0x56, 0xf3, 0x31, 0x3f, 0xbb, 0xb2, 0xec, + 0xda, 0x79, 0x72, 0xe7, 0xcf, 0xe2, 0x47, 0x66, 0x18, 0x00, 0x53, 0x95, + 0xa3, 0x65, 0x16, 0x5a, 0x2d, 0x75, 0x5a, 0x26, 0xd0, 0x44, 0x52, 0xd4, + 0xf9, 0xab, 0x1b, 0x6f, 0xb4, 0xd4, 0xe3, 0x13, 0x56, 0x05, 0x70, 0x36, +}; +static const unsigned char kat2703_nonce[] = {0}; +static const unsigned char kat2703_persstr[] = {0}; +static const unsigned char kat2703_entropyinreseed[] = { + 0xff, 0xb9, 0xbb, 0x89, 0x2f, 0x95, 0xfe, 0x3c, 0x95, 0xcc, 0x78, 0x99, + 0x0e, 0x8d, 0x9c, 0xab, 0xa0, 0x4d, 0x61, 0x3f, 0xa5, 0xf3, 0x48, 0x99, + 0xa5, 0x92, 0xbd, 0xf5, 0xde, 0x19, 0x70, 0x98, 0xca, 0x4b, 0x6e, 0xfd, + 0xcb, 0xbc, 0x23, 0x7a, 0x34, 0x4c, 0x66, 0x52, 0x0c, 0x11, 0x11, 0x2e, +}; +static const unsigned char kat2703_addinreseed[] = {0}; +static const unsigned char kat2703_addin0[] = {0}; +static const unsigned char kat2703_addin1[] = {0}; +static const unsigned char kat2703_retbits[] = { + 0xf8, 0xf6, 0x92, 0x1d, 0x96, 0xdf, 0xb6, 0x5f, 0x03, 0x8c, 0xa9, 0x93, + 0xc0, 0x17, 0xb2, 0x28, 0xa2, 0x28, 0x3b, 0x3b, 0x8f, 0xcb, 0x5b, 0x22, + 0xa3, 0xd6, 0xc0, 0xf8, 0x2d, 0x7c, 0xf2, 0xa6, 0x8b, 0xc7, 0x21, 0xf1, + 0x13, 0xbf, 0x37, 0x6b, 0x25, 0x6b, 0xf7, 0x38, 0x9f, 0x31, 0xa1, 0x97, + 0x5b, 0x30, 0x40, 0xcd, 0xea, 0x9e, 0x11, 0xb8, 0x3b, 0x23, 0xcc, 0x26, + 0xed, 0x15, 0xa7, 0x81, +}; +static const struct drbg_kat_pr_false kat2703_t = { + 2, kat2703_entropyin, kat2703_nonce, kat2703_persstr, + kat2703_entropyinreseed, kat2703_addinreseed, kat2703_addin0, + kat2703_addin1, kat2703_retbits +}; +static const struct drbg_kat kat2703 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2703_t +}; + +static const unsigned char kat2704_entropyin[] = { + 0x40, 0x1d, 0xd5, 0x0c, 0x95, 0x96, 0xe9, 0x2d, 0xb4, 0x11, 0x65, 0xba, + 0x0e, 0xdd, 0x63, 0x89, 0x77, 0x3d, 0x80, 0x96, 0xcc, 0xa1, 0xfc, 0x59, + 0x6e, 0x4a, 0x58, 0xb7, 0x8f, 0x0c, 0xcf, 0x72, 0x16, 0x96, 0xf2, 0xba, + 0xf2, 0xad, 0x87, 0x46, 0x87, 0xb5, 0xd6, 0xb1, 0xd9, 0x60, 0xbf, 0x15, +}; +static const unsigned char kat2704_nonce[] = {0}; +static const unsigned char kat2704_persstr[] = {0}; +static const unsigned char kat2704_entropyinreseed[] = { + 0x8c, 0x4d, 0xf6, 0xfc, 0x9b, 0x35, 0x81, 0x5d, 0x9d, 0x5a, 0x2d, 0xdd, + 0x8a, 0x62, 0x43, 0x4c, 0x89, 0x92, 0xce, 0x1c, 0x21, 0xad, 0xd1, 0xb9, + 0x6f, 0xe1, 0xe1, 0x74, 0x86, 0xb7, 0x7a, 0xe3, 0x38, 0xfc, 0x65, 0x5b, + 0x32, 0x76, 0x86, 0xbb, 0xa0, 0x11, 0x99, 0x1b, 0x85, 0xb2, 0xfa, 0x0d, +}; +static const unsigned char kat2704_addinreseed[] = {0}; +static const unsigned char kat2704_addin0[] = {0}; +static const unsigned char kat2704_addin1[] = {0}; +static const unsigned char kat2704_retbits[] = { + 0x29, 0xb9, 0xb2, 0x12, 0x7d, 0x14, 0x16, 0x5b, 0xbf, 0xbd, 0x07, 0x55, + 0xa9, 0x65, 0x06, 0xb8, 0xcb, 0xdf, 0x94, 0x16, 0xf3, 0x76, 0x16, 0xbe, + 0xec, 0xa4, 0x4d, 0x94, 0xd5, 0x2f, 0x13, 0x21, 0x18, 0xdc, 0x5a, 0x93, + 0xa9, 0x49, 0x4b, 0x05, 0x82, 0x75, 0x78, 0x8e, 0xd2, 0x08, 0x35, 0x37, + 0x41, 0x81, 0x12, 0x8a, 0xf6, 0x2e, 0x0d, 0x86, 0x20, 0x51, 0x11, 0x5f, + 0x03, 0x99, 0x63, 0x6e, +}; +static const struct drbg_kat_pr_false kat2704_t = { + 3, kat2704_entropyin, kat2704_nonce, kat2704_persstr, + kat2704_entropyinreseed, kat2704_addinreseed, kat2704_addin0, + kat2704_addin1, kat2704_retbits +}; +static const struct drbg_kat kat2704 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2704_t +}; + +static const unsigned char kat2705_entropyin[] = { + 0xd3, 0xff, 0x8f, 0x55, 0x90, 0xec, 0xc6, 0x3f, 0x1d, 0xad, 0x8a, 0x15, + 0xa5, 0xd2, 0x45, 0xdb, 0x51, 0x38, 0xa4, 0x9d, 0x2a, 0xf8, 0xef, 0x89, + 0x01, 0xdf, 0xaa, 0x3a, 0x6a, 0xed, 0xe3, 0xb3, 0xc8, 0xb8, 0x05, 0xdf, + 0xda, 0xe7, 0x3f, 0x62, 0x2e, 0xf6, 0x08, 0xde, 0x43, 0x3c, 0x41, 0x7c, +}; +static const unsigned char kat2705_nonce[] = {0}; +static const unsigned char kat2705_persstr[] = {0}; +static const unsigned char kat2705_entropyinreseed[] = { + 0xd7, 0x90, 0x8a, 0xc9, 0xd3, 0xb4, 0xb7, 0xc4, 0x66, 0x00, 0xc4, 0x7f, + 0x16, 0x47, 0xdd, 0xcc, 0x62, 0x1b, 0x71, 0xb7, 0x55, 0x30, 0xfd, 0x9b, + 0xcf, 0xe0, 0x5e, 0x26, 0xf8, 0x2d, 0xbf, 0xa6, 0x5a, 0x60, 0xa9, 0x61, + 0x4f, 0x0a, 0x09, 0xd0, 0x36, 0x64, 0x19, 0x02, 0x3e, 0xd9, 0xf4, 0xdb, +}; +static const unsigned char kat2705_addinreseed[] = {0}; +static const unsigned char kat2705_addin0[] = {0}; +static const unsigned char kat2705_addin1[] = {0}; +static const unsigned char kat2705_retbits[] = { + 0xb8, 0x3d, 0x06, 0xfc, 0x0e, 0x5b, 0xd3, 0x39, 0x9d, 0x71, 0x6c, 0x7e, + 0x3c, 0xd8, 0x02, 0x9f, 0x79, 0xda, 0x4e, 0x03, 0xa1, 0x77, 0xdd, 0xf4, + 0x25, 0x0c, 0x40, 0x0a, 0xa4, 0xf4, 0xf9, 0x40, 0x83, 0x33, 0x81, 0x3c, + 0x9c, 0xee, 0x37, 0x1a, 0x4d, 0x9f, 0x42, 0x46, 0xaa, 0x7f, 0xe4, 0xb2, + 0x0f, 0xa9, 0x36, 0xa9, 0x16, 0xb3, 0xe1, 0xfa, 0x73, 0x90, 0x1c, 0xe2, + 0x8d, 0xf5, 0x67, 0xcc, +}; +static const struct drbg_kat_pr_false kat2705_t = { + 4, kat2705_entropyin, kat2705_nonce, kat2705_persstr, + kat2705_entropyinreseed, kat2705_addinreseed, kat2705_addin0, + kat2705_addin1, kat2705_retbits +}; +static const struct drbg_kat kat2705 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2705_t +}; + +static const unsigned char kat2706_entropyin[] = { + 0x11, 0x4b, 0xb3, 0x46, 0xcf, 0x39, 0xf2, 0xb1, 0x9a, 0x0c, 0x00, 0x3e, + 0x97, 0x80, 0x95, 0xb6, 0xa5, 0x44, 0x8b, 0x73, 0x9b, 0x6b, 0xed, 0xba, + 0x1d, 0x41, 0x05, 0x3f, 0x79, 0x2d, 0x0a, 0x34, 0xc6, 0x2e, 0xb9, 0xff, + 0x08, 0xc0, 0xd1, 0x61, 0xd3, 0x69, 0xe8, 0xae, 0xa9, 0xf6, 0x81, 0x82, +}; +static const unsigned char kat2706_nonce[] = {0}; +static const unsigned char kat2706_persstr[] = {0}; +static const unsigned char kat2706_entropyinreseed[] = { + 0x73, 0x59, 0xd2, 0x3f, 0xf0, 0x81, 0xa7, 0x76, 0xc2, 0xc9, 0xc3, 0xbc, + 0xed, 0x8e, 0x01, 0xb2, 0xc2, 0xc6, 0xdc, 0xb4, 0x12, 0xa3, 0x37, 0x06, + 0x6f, 0x4c, 0xf5, 0xc6, 0xc3, 0x49, 0x94, 0xfc, 0x0f, 0x6d, 0xa9, 0x70, + 0x12, 0xc9, 0x82, 0xb1, 0x54, 0x40, 0xea, 0x0d, 0x6a, 0xc3, 0x21, 0xff, +}; +static const unsigned char kat2706_addinreseed[] = {0}; +static const unsigned char kat2706_addin0[] = {0}; +static const unsigned char kat2706_addin1[] = {0}; +static const unsigned char kat2706_retbits[] = { + 0x84, 0x84, 0x0c, 0x71, 0x2b, 0xa0, 0x18, 0x24, 0xf8, 0x5c, 0x23, 0x52, + 0x40, 0x24, 0xc2, 0x27, 0x7e, 0xe6, 0x9f, 0xe9, 0x7e, 0xeb, 0x44, 0x29, + 0x94, 0x7c, 0xce, 0xdb, 0x3d, 0x29, 0xcc, 0x20, 0x41, 0x77, 0x57, 0x62, + 0x54, 0x10, 0xf4, 0xf3, 0x0a, 0x68, 0x9b, 0xad, 0xab, 0x50, 0x37, 0x66, + 0x87, 0x36, 0xf8, 0xbe, 0x50, 0xf1, 0x3a, 0xdb, 0x7b, 0x8c, 0xd2, 0xe2, + 0xb9, 0x76, 0x1f, 0x39, +}; +static const struct drbg_kat_pr_false kat2706_t = { + 5, kat2706_entropyin, kat2706_nonce, kat2706_persstr, + kat2706_entropyinreseed, kat2706_addinreseed, kat2706_addin0, + kat2706_addin1, kat2706_retbits +}; +static const struct drbg_kat kat2706 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2706_t +}; + +static const unsigned char kat2707_entropyin[] = { + 0x1d, 0x7a, 0xe2, 0xfe, 0xdc, 0x12, 0xd7, 0xe7, 0x46, 0xd2, 0x59, 0xfd, + 0x17, 0x86, 0x59, 0x22, 0x20, 0xd5, 0x29, 0x3d, 0x97, 0x4b, 0xd8, 0xf0, + 0xc3, 0x95, 0x29, 0xc8, 0x41, 0x7e, 0x04, 0xde, 0x1e, 0x44, 0xf8, 0x07, + 0x4f, 0xcb, 0x90, 0x73, 0x4a, 0x5c, 0x64, 0x8f, 0x5f, 0xba, 0xb7, 0x87, +}; +static const unsigned char kat2707_nonce[] = {0}; +static const unsigned char kat2707_persstr[] = {0}; +static const unsigned char kat2707_entropyinreseed[] = { + 0x82, 0x73, 0xc6, 0xee, 0x3a, 0x82, 0x13, 0x14, 0x64, 0xee, 0x67, 0x59, + 0x13, 0x19, 0xf4, 0x60, 0xef, 0x13, 0x30, 0x3a, 0x36, 0x31, 0x67, 0xfb, + 0x7b, 0x6c, 0x2b, 0x54, 0x89, 0xc7, 0xcd, 0x34, 0x36, 0xbb, 0x11, 0x7b, + 0xfd, 0x92, 0xa9, 0xe4, 0x51, 0xcc, 0x30, 0x19, 0xad, 0xbe, 0x8f, 0xe4, +}; +static const unsigned char kat2707_addinreseed[] = {0}; +static const unsigned char kat2707_addin0[] = {0}; +static const unsigned char kat2707_addin1[] = {0}; +static const unsigned char kat2707_retbits[] = { + 0x05, 0xad, 0xa0, 0xce, 0x82, 0x20, 0x6c, 0x9d, 0x97, 0xf6, 0x60, 0xf3, + 0x3e, 0x6b, 0x0c, 0x22, 0xbd, 0x26, 0x3d, 0xab, 0x58, 0xc4, 0x38, 0xf3, + 0xa9, 0x00, 0xf9, 0xb3, 0x06, 0x29, 0x15, 0xed, 0x2f, 0x27, 0x2c, 0xe5, + 0x11, 0x0d, 0x85, 0xa7, 0xe5, 0x54, 0xbe, 0x35, 0x95, 0xe0, 0xad, 0x0c, + 0x05, 0x84, 0x6f, 0xc3, 0xf0, 0x7f, 0x35, 0xaa, 0xfd, 0x32, 0x42, 0x7f, + 0x1b, 0x96, 0xb4, 0x66, +}; +static const struct drbg_kat_pr_false kat2707_t = { + 6, kat2707_entropyin, kat2707_nonce, kat2707_persstr, + kat2707_entropyinreseed, kat2707_addinreseed, kat2707_addin0, + kat2707_addin1, kat2707_retbits +}; +static const struct drbg_kat kat2707 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2707_t +}; + +static const unsigned char kat2708_entropyin[] = { + 0x10, 0xe7, 0x5f, 0xc1, 0x6a, 0xa8, 0x60, 0xcc, 0x85, 0xb4, 0x4e, 0x1d, + 0x62, 0xbf, 0x05, 0xdd, 0x19, 0x54, 0x16, 0x59, 0x44, 0xf5, 0xaf, 0xce, + 0xe8, 0xb7, 0x14, 0x77, 0x8f, 0x0e, 0x2c, 0x46, 0xe6, 0x70, 0x9c, 0xb9, + 0xee, 0x7d, 0xca, 0x65, 0xd2, 0x7c, 0x58, 0xdb, 0x32, 0x2d, 0x85, 0x56, +}; +static const unsigned char kat2708_nonce[] = {0}; +static const unsigned char kat2708_persstr[] = {0}; +static const unsigned char kat2708_entropyinreseed[] = { + 0x67, 0x7c, 0x91, 0x81, 0xaa, 0x6c, 0x59, 0x61, 0x17, 0x25, 0x5f, 0x46, + 0xb6, 0x9f, 0xbc, 0x2d, 0x64, 0x45, 0x57, 0xbb, 0x8c, 0xf7, 0x27, 0x5e, + 0xcf, 0x15, 0xd2, 0x58, 0xe0, 0x55, 0x9b, 0x6a, 0x55, 0xe3, 0x16, 0xf7, + 0x7c, 0x88, 0xd4, 0x47, 0x0e, 0xf5, 0x5d, 0x9b, 0x4d, 0x01, 0x5f, 0x9e, +}; +static const unsigned char kat2708_addinreseed[] = {0}; +static const unsigned char kat2708_addin0[] = {0}; +static const unsigned char kat2708_addin1[] = {0}; +static const unsigned char kat2708_retbits[] = { + 0x6d, 0xab, 0xd2, 0xc4, 0x1d, 0x07, 0x3e, 0x32, 0xbd, 0xc2, 0x6a, 0xf0, + 0x59, 0x64, 0x61, 0x94, 0x50, 0x48, 0x2d, 0x74, 0xc6, 0xa5, 0x3b, 0x5f, + 0x29, 0xe5, 0x66, 0x9b, 0x03, 0x79, 0xde, 0x22, 0x1f, 0x31, 0x72, 0x7d, + 0x53, 0x03, 0x65, 0xdb, 0x27, 0x16, 0x06, 0x6b, 0xde, 0x88, 0x3e, 0x07, + 0xaa, 0x67, 0x9e, 0x80, 0x11, 0xbe, 0x1d, 0x50, 0x13, 0x14, 0x0a, 0x7f, + 0x97, 0xd7, 0x3f, 0xfc, +}; +static const struct drbg_kat_pr_false kat2708_t = { + 7, kat2708_entropyin, kat2708_nonce, kat2708_persstr, + kat2708_entropyinreseed, kat2708_addinreseed, kat2708_addin0, + kat2708_addin1, kat2708_retbits +}; +static const struct drbg_kat kat2708 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2708_t +}; + +static const unsigned char kat2709_entropyin[] = { + 0x00, 0xe4, 0x87, 0x17, 0xe8, 0xea, 0x0f, 0x20, 0x3d, 0xcc, 0x3a, 0x60, + 0xac, 0xa9, 0x8f, 0x1a, 0xf8, 0xbb, 0xde, 0x96, 0x13, 0x11, 0xdd, 0xa2, + 0x4b, 0xb8, 0xc4, 0x14, 0x51, 0x2c, 0x26, 0x98, 0xfe, 0x08, 0x59, 0x54, + 0x97, 0x9d, 0x76, 0x15, 0xbf, 0x20, 0xa7, 0xbc, 0xb7, 0x3e, 0xa7, 0xa5, +}; +static const unsigned char kat2709_nonce[] = {0}; +static const unsigned char kat2709_persstr[] = {0}; +static const unsigned char kat2709_entropyinreseed[] = { + 0x41, 0xb3, 0xbd, 0x28, 0x2d, 0xc0, 0xd9, 0x6a, 0xbc, 0x61, 0xdb, 0xdd, + 0x1e, 0x3d, 0x61, 0x4b, 0x66, 0x4c, 0x93, 0x63, 0xfd, 0x0a, 0x54, 0x44, + 0x08, 0x4f, 0x46, 0xeb, 0x10, 0xd8, 0xf7, 0x6c, 0x02, 0xa0, 0xc6, 0x0c, + 0xb8, 0x21, 0x70, 0x6b, 0x65, 0x33, 0x5f, 0x04, 0xc5, 0x5f, 0x24, 0xd7, +}; +static const unsigned char kat2709_addinreseed[] = {0}; +static const unsigned char kat2709_addin0[] = {0}; +static const unsigned char kat2709_addin1[] = {0}; +static const unsigned char kat2709_retbits[] = { + 0x21, 0x6b, 0x0b, 0xb7, 0x3f, 0xa6, 0x30, 0x40, 0xc4, 0x4b, 0x45, 0x1f, + 0x8b, 0x8d, 0xd7, 0x9d, 0x2e, 0x6e, 0x9b, 0x27, 0xaa, 0x51, 0xbe, 0x43, + 0xa6, 0x31, 0x96, 0x41, 0xe5, 0x53, 0x01, 0x95, 0x6d, 0xd7, 0xfe, 0xb1, + 0x45, 0xa8, 0xe5, 0x05, 0x8e, 0x83, 0xa5, 0x54, 0x45, 0xcd, 0xb4, 0x8e, + 0x50, 0xa7, 0x09, 0xd0, 0xd2, 0xf7, 0xf1, 0xf3, 0x4e, 0xa1, 0x64, 0x6b, + 0x66, 0x21, 0x84, 0x81, +}; +static const struct drbg_kat_pr_false kat2709_t = { + 8, kat2709_entropyin, kat2709_nonce, kat2709_persstr, + kat2709_entropyinreseed, kat2709_addinreseed, kat2709_addin0, + kat2709_addin1, kat2709_retbits +}; +static const struct drbg_kat kat2709 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2709_t +}; + +static const unsigned char kat2710_entropyin[] = { + 0x52, 0x74, 0x0d, 0x90, 0x61, 0xb0, 0x96, 0x0f, 0x62, 0x7f, 0xc8, 0xc6, + 0x98, 0xb7, 0xbb, 0xdb, 0x80, 0xd5, 0x99, 0xbc, 0x32, 0xb6, 0xb8, 0xc5, + 0x07, 0x45, 0xc9, 0xbf, 0x19, 0x41, 0x5e, 0x8f, 0xf7, 0xec, 0x79, 0x2d, + 0x41, 0x65, 0x89, 0x32, 0x2e, 0x50, 0xea, 0x01, 0x42, 0x60, 0x1f, 0xd7, +}; +static const unsigned char kat2710_nonce[] = {0}; +static const unsigned char kat2710_persstr[] = {0}; +static const unsigned char kat2710_entropyinreseed[] = { + 0xbb, 0x23, 0x2b, 0xa5, 0xa3, 0x58, 0x48, 0xd3, 0x24, 0xdf, 0xe2, 0x95, + 0x69, 0x74, 0x21, 0x25, 0x04, 0x69, 0x18, 0x55, 0x08, 0xcc, 0x79, 0xfc, + 0xbc, 0x79, 0x53, 0x5d, 0x0a, 0x43, 0xdd, 0x4f, 0x16, 0x40, 0xc4, 0x32, + 0x51, 0xa2, 0xb2, 0xc2, 0x90, 0xf0, 0xae, 0x82, 0xe5, 0xf4, 0xe7, 0xbc, +}; +static const unsigned char kat2710_addinreseed[] = {0}; +static const unsigned char kat2710_addin0[] = {0}; +static const unsigned char kat2710_addin1[] = {0}; +static const unsigned char kat2710_retbits[] = { + 0x1c, 0x93, 0xd4, 0xdb, 0xd9, 0x72, 0x54, 0xee, 0xda, 0x5b, 0xc2, 0x5a, + 0x36, 0x2d, 0xb4, 0xb8, 0xb6, 0x78, 0xaf, 0xb0, 0x17, 0x00, 0xe3, 0x7d, + 0xf5, 0x32, 0xfd, 0x39, 0x4d, 0x9b, 0x79, 0x55, 0x36, 0x8a, 0x28, 0x6b, + 0xd2, 0x83, 0x28, 0x73, 0xbb, 0x01, 0xec, 0x1c, 0xc3, 0x09, 0x3a, 0x10, + 0xc1, 0xc2, 0x23, 0xfb, 0x0b, 0xf2, 0x04, 0x72, 0x34, 0x27, 0x07, 0x24, + 0x7c, 0xa4, 0xe3, 0xc8, +}; +static const struct drbg_kat_pr_false kat2710_t = { + 9, kat2710_entropyin, kat2710_nonce, kat2710_persstr, + kat2710_entropyinreseed, kat2710_addinreseed, kat2710_addin0, + kat2710_addin1, kat2710_retbits +}; +static const struct drbg_kat kat2710 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2710_t +}; + +static const unsigned char kat2711_entropyin[] = { + 0x00, 0xa9, 0x48, 0x9b, 0x6e, 0xaa, 0xa9, 0xd7, 0x81, 0xe5, 0xb3, 0xa6, + 0xaa, 0x7a, 0x87, 0x79, 0x80, 0xcd, 0xcd, 0x43, 0xf9, 0x98, 0x9d, 0xa4, + 0xde, 0xd7, 0xed, 0xca, 0x9a, 0x70, 0x55, 0xdb, 0xde, 0xb4, 0x53, 0x66, + 0x8e, 0x9b, 0x2a, 0xff, 0x3d, 0xf6, 0x27, 0x9a, 0xbf, 0x2f, 0x41, 0xd1, +}; +static const unsigned char kat2711_nonce[] = {0}; +static const unsigned char kat2711_persstr[] = {0}; +static const unsigned char kat2711_entropyinreseed[] = { + 0x49, 0x1a, 0xd6, 0x3b, 0xbd, 0xaf, 0x1a, 0x3c, 0xec, 0xc2, 0x0a, 0x94, + 0xa0, 0x23, 0x54, 0xd3, 0xf9, 0xe0, 0x5d, 0xba, 0xb9, 0xbe, 0x9b, 0x9f, + 0xab, 0x21, 0xb7, 0x4b, 0x44, 0xc1, 0xd7, 0x49, 0x03, 0x31, 0xc3, 0x6b, + 0xb8, 0x53, 0x25, 0x11, 0x7c, 0x9f, 0xa9, 0x88, 0x02, 0xa5, 0x8f, 0x77, +}; +static const unsigned char kat2711_addinreseed[] = {0}; +static const unsigned char kat2711_addin0[] = {0}; +static const unsigned char kat2711_addin1[] = {0}; +static const unsigned char kat2711_retbits[] = { + 0xec, 0x0e, 0x9b, 0xf5, 0xc3, 0xd2, 0x0c, 0xab, 0xfe, 0xff, 0x79, 0x48, + 0x85, 0x1f, 0x5d, 0x51, 0xff, 0xae, 0xe6, 0x34, 0x5d, 0x90, 0x48, 0x0e, + 0x56, 0x01, 0xea, 0x1c, 0xf7, 0xdc, 0x4d, 0x04, 0xbd, 0xa3, 0xea, 0x0c, + 0xee, 0x43, 0x87, 0xcf, 0x92, 0x2c, 0x07, 0xdf, 0x82, 0x0f, 0xc8, 0x2b, + 0x8d, 0x03, 0x85, 0xa7, 0xdf, 0x53, 0x0c, 0x97, 0x77, 0x97, 0x83, 0x1f, + 0x6b, 0xc3, 0x65, 0x83, +}; +static const struct drbg_kat_pr_false kat2711_t = { + 10, kat2711_entropyin, kat2711_nonce, kat2711_persstr, + kat2711_entropyinreseed, kat2711_addinreseed, kat2711_addin0, + kat2711_addin1, kat2711_retbits +}; +static const struct drbg_kat kat2711 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2711_t +}; + +static const unsigned char kat2712_entropyin[] = { + 0x16, 0x94, 0xab, 0xa5, 0x88, 0x7e, 0x90, 0xe8, 0x62, 0x13, 0x94, 0x22, + 0x9c, 0x3d, 0x58, 0xec, 0x20, 0xb6, 0xfe, 0x24, 0x89, 0x6d, 0x84, 0x39, + 0x72, 0x82, 0x84, 0x50, 0x41, 0xa5, 0x51, 0x9b, 0x32, 0xa8, 0xcb, 0xa4, + 0x05, 0x10, 0xd9, 0x7d, 0xb6, 0xea, 0x33, 0xeb, 0x93, 0x4f, 0x11, 0xc2, +}; +static const unsigned char kat2712_nonce[] = {0}; +static const unsigned char kat2712_persstr[] = {0}; +static const unsigned char kat2712_entropyinreseed[] = { + 0x6b, 0x01, 0xbb, 0xcf, 0xc8, 0x32, 0x29, 0x94, 0x8e, 0xf2, 0x47, 0x81, + 0x74, 0x10, 0xbe, 0xca, 0x2d, 0xe2, 0x37, 0xce, 0xdd, 0x56, 0x9e, 0x47, + 0xed, 0xd0, 0xe3, 0x0d, 0x57, 0xfb, 0x2a, 0xb1, 0xb7, 0xb4, 0xe0, 0xeb, + 0xac, 0xe0, 0x91, 0x6f, 0x72, 0x66, 0x0e, 0x9d, 0x45, 0x8f, 0x1d, 0xb6, +}; +static const unsigned char kat2712_addinreseed[] = {0}; +static const unsigned char kat2712_addin0[] = {0}; +static const unsigned char kat2712_addin1[] = {0}; +static const unsigned char kat2712_retbits[] = { + 0x8d, 0xd4, 0x64, 0x00, 0xda, 0xe3, 0x5d, 0xaa, 0x5f, 0x89, 0x4d, 0xf7, + 0xa7, 0x2d, 0x6f, 0x54, 0x5a, 0xbd, 0x1b, 0x6a, 0x56, 0x41, 0x87, 0x19, + 0xc9, 0xef, 0x87, 0x69, 0x2d, 0xec, 0xc2, 0x0e, 0x2c, 0x7b, 0xd9, 0x2f, + 0x2c, 0xe5, 0xac, 0xf5, 0xa6, 0x2c, 0xd0, 0xdb, 0xed, 0x86, 0x1a, 0x88, + 0x4c, 0xc2, 0xd3, 0x0d, 0xd2, 0xb5, 0x22, 0x73, 0x93, 0xce, 0x14, 0x76, + 0xa2, 0xc4, 0x22, 0x4b, +}; +static const struct drbg_kat_pr_false kat2712_t = { + 11, kat2712_entropyin, kat2712_nonce, kat2712_persstr, + kat2712_entropyinreseed, kat2712_addinreseed, kat2712_addin0, + kat2712_addin1, kat2712_retbits +}; +static const struct drbg_kat kat2712 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2712_t +}; + +static const unsigned char kat2713_entropyin[] = { + 0x43, 0xf4, 0x70, 0x88, 0x76, 0xba, 0x02, 0x94, 0xd2, 0x2b, 0xd1, 0xbf, + 0xc9, 0xa5, 0xe5, 0xc2, 0x50, 0x69, 0xbc, 0xc0, 0xf4, 0x64, 0x79, 0xb0, + 0x41, 0xce, 0x1a, 0xf4, 0x9b, 0xce, 0x5c, 0xdc, 0x24, 0x55, 0x84, 0x9b, + 0xc3, 0x4e, 0x64, 0x12, 0xc1, 0x03, 0x69, 0x21, 0xab, 0x43, 0x0a, 0x05, +}; +static const unsigned char kat2713_nonce[] = {0}; +static const unsigned char kat2713_persstr[] = {0}; +static const unsigned char kat2713_entropyinreseed[] = { + 0x53, 0xf2, 0x0c, 0x82, 0xd1, 0xc0, 0x33, 0x48, 0x45, 0x19, 0x0d, 0x28, + 0xf9, 0xf7, 0xca, 0xea, 0x76, 0x83, 0xef, 0x4c, 0x6f, 0x76, 0x02, 0x8b, + 0xd6, 0x8d, 0x1e, 0xef, 0xa1, 0x74, 0x59, 0xa6, 0xf2, 0x41, 0xc8, 0xf1, + 0x81, 0x90, 0x7c, 0x12, 0x23, 0xc8, 0x1d, 0x5f, 0x82, 0x97, 0x51, 0xca, +}; +static const unsigned char kat2713_addinreseed[] = {0}; +static const unsigned char kat2713_addin0[] = {0}; +static const unsigned char kat2713_addin1[] = {0}; +static const unsigned char kat2713_retbits[] = { + 0xdb, 0xae, 0xd5, 0x92, 0xb1, 0x08, 0x53, 0xda, 0x9f, 0xe8, 0x16, 0xd2, + 0xc7, 0x01, 0x07, 0xef, 0x55, 0xb6, 0x78, 0xdb, 0xf1, 0x45, 0xb2, 0xb3, + 0x74, 0x99, 0x74, 0x0d, 0x56, 0xf1, 0x88, 0xe1, 0xd0, 0xb7, 0xc8, 0x61, + 0x35, 0x03, 0x53, 0x9a, 0x62, 0x2c, 0xc0, 0x66, 0x74, 0xbc, 0xd1, 0x0c, + 0x18, 0xf4, 0x09, 0x69, 0x27, 0x3b, 0xd3, 0x39, 0x7d, 0xb8, 0x68, 0x9b, + 0x7f, 0xaf, 0xca, 0xd6, +}; +static const struct drbg_kat_pr_false kat2713_t = { + 12, kat2713_entropyin, kat2713_nonce, kat2713_persstr, + kat2713_entropyinreseed, kat2713_addinreseed, kat2713_addin0, + kat2713_addin1, kat2713_retbits +}; +static const struct drbg_kat kat2713 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2713_t +}; + +static const unsigned char kat2714_entropyin[] = { + 0xd3, 0x87, 0x08, 0x57, 0xb4, 0x86, 0xc2, 0x84, 0x40, 0x51, 0xe9, 0xe5, + 0xd9, 0x37, 0xb1, 0xff, 0x7c, 0x8c, 0x90, 0xa3, 0x78, 0xa9, 0xed, 0x76, + 0x6e, 0xc5, 0xe0, 0xa8, 0x3e, 0x43, 0x11, 0xb8, 0x3b, 0x92, 0xa8, 0xe8, + 0xbd, 0x59, 0x1d, 0x5b, 0x9a, 0xf5, 0x37, 0x15, 0x8e, 0x34, 0xb3, 0xd7, +}; +static const unsigned char kat2714_nonce[] = {0}; +static const unsigned char kat2714_persstr[] = {0}; +static const unsigned char kat2714_entropyinreseed[] = { + 0xf4, 0x8c, 0x35, 0x51, 0x24, 0xc3, 0x4e, 0x02, 0x0f, 0xde, 0x83, 0x53, + 0x2c, 0x62, 0x67, 0x66, 0xc7, 0x1b, 0x85, 0xe3, 0x21, 0x4d, 0x37, 0xaa, + 0x63, 0xb4, 0xf3, 0x00, 0x15, 0x96, 0x95, 0x24, 0x28, 0x18, 0x73, 0xa6, + 0xec, 0x9e, 0x47, 0xc2, 0xb0, 0xa6, 0x1e, 0x23, 0xd7, 0x82, 0x3a, 0xc1, +}; +static const unsigned char kat2714_addinreseed[] = {0}; +static const unsigned char kat2714_addin0[] = {0}; +static const unsigned char kat2714_addin1[] = {0}; +static const unsigned char kat2714_retbits[] = { + 0x62, 0xfe, 0x61, 0xcc, 0x6b, 0xe7, 0x13, 0x29, 0x32, 0x31, 0x97, 0x9d, + 0xf1, 0x24, 0x25, 0x80, 0x66, 0xdd, 0x3b, 0xc5, 0x6f, 0x44, 0x33, 0x38, + 0x89, 0x78, 0x3d, 0xa7, 0xfd, 0x80, 0x75, 0xd8, 0xbe, 0x62, 0x39, 0xbe, + 0xd1, 0xbe, 0xcd, 0xfb, 0xe6, 0xbd, 0x71, 0x35, 0x2b, 0xc7, 0x7c, 0x38, + 0xd9, 0x51, 0x1b, 0xe5, 0xdf, 0x7a, 0x7d, 0xbd, 0xc4, 0x0d, 0x7f, 0x23, + 0x6d, 0x0e, 0x8d, 0x20, +}; +static const struct drbg_kat_pr_false kat2714_t = { + 13, kat2714_entropyin, kat2714_nonce, kat2714_persstr, + kat2714_entropyinreseed, kat2714_addinreseed, kat2714_addin0, + kat2714_addin1, kat2714_retbits +}; +static const struct drbg_kat kat2714 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2714_t +}; + +static const unsigned char kat2715_entropyin[] = { + 0x68, 0xe9, 0x1e, 0x73, 0x62, 0x3f, 0xa6, 0xa3, 0xce, 0x22, 0xf4, 0x24, + 0xe9, 0xdb, 0x97, 0x14, 0x59, 0xdf, 0xbe, 0x06, 0x60, 0x1c, 0xcf, 0xf9, + 0x6f, 0x17, 0x26, 0xfa, 0x18, 0xe6, 0x1d, 0x5c, 0xdc, 0x1d, 0xf9, 0x75, + 0x19, 0xc8, 0xe7, 0x19, 0x0a, 0xb6, 0xaa, 0xbf, 0x95, 0xbd, 0x1e, 0xe8, +}; +static const unsigned char kat2715_nonce[] = {0}; +static const unsigned char kat2715_persstr[] = {0}; +static const unsigned char kat2715_entropyinreseed[] = { + 0x24, 0x9b, 0x56, 0xdc, 0xdc, 0x4c, 0x5c, 0x8e, 0xaf, 0x79, 0x6c, 0x86, + 0x85, 0xa7, 0x40, 0xfd, 0x4e, 0xa2, 0x45, 0x5c, 0x13, 0x5e, 0x0d, 0x7b, + 0x8e, 0x50, 0x53, 0x2f, 0xd8, 0x7c, 0x95, 0xb7, 0x81, 0xc8, 0xf3, 0x77, + 0x5c, 0x21, 0x3c, 0x27, 0x14, 0xee, 0xce, 0xf1, 0x40, 0x12, 0x5b, 0x78, +}; +static const unsigned char kat2715_addinreseed[] = {0}; +static const unsigned char kat2715_addin0[] = {0}; +static const unsigned char kat2715_addin1[] = {0}; +static const unsigned char kat2715_retbits[] = { + 0xa1, 0x5d, 0x3d, 0x61, 0x40, 0x8d, 0xde, 0xa3, 0xb9, 0x75, 0x3c, 0x85, + 0x4c, 0x69, 0x3c, 0xa1, 0xa9, 0x1c, 0xf4, 0x9d, 0x17, 0x21, 0x60, 0xbf, + 0x15, 0xf5, 0x12, 0xf3, 0x45, 0xbb, 0x1b, 0xda, 0x9a, 0xa7, 0xbc, 0x4f, + 0xcc, 0xe1, 0x77, 0xfd, 0xfe, 0xbb, 0x3f, 0xea, 0x4c, 0xc6, 0x40, 0x4c, + 0x60, 0x24, 0x52, 0x7e, 0xa6, 0x62, 0x66, 0x9a, 0x5e, 0xb7, 0x87, 0x53, + 0x82, 0x2b, 0xfd, 0xd3, +}; +static const struct drbg_kat_pr_false kat2715_t = { + 14, kat2715_entropyin, kat2715_nonce, kat2715_persstr, + kat2715_entropyinreseed, kat2715_addinreseed, kat2715_addin0, + kat2715_addin1, kat2715_retbits +}; +static const struct drbg_kat kat2715 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2715_t +}; + +static const unsigned char kat2716_entropyin[] = { + 0x79, 0x1f, 0xa5, 0xe8, 0x1f, 0x80, 0xe8, 0xb1, 0x41, 0xe2, 0x28, 0xa0, + 0xd6, 0x23, 0x43, 0x6f, 0x3b, 0xb5, 0x23, 0xd8, 0xa0, 0x3e, 0x98, 0xb0, + 0x23, 0x47, 0x05, 0xcd, 0x8b, 0x9d, 0x94, 0xbe, 0x97, 0x94, 0xa2, 0xf6, + 0xff, 0xe0, 0x29, 0xa8, 0x53, 0xa6, 0x27, 0xf9, 0x26, 0x0f, 0xbc, 0x7e, +}; +static const unsigned char kat2716_nonce[] = {0}; +static const unsigned char kat2716_persstr[] = {0}; +static const unsigned char kat2716_entropyinreseed[] = { + 0xfe, 0x04, 0x24, 0x55, 0x37, 0x63, 0x7c, 0xef, 0x4c, 0x8c, 0x5c, 0xd3, + 0x3b, 0xa9, 0x41, 0xd5, 0xaa, 0x03, 0xca, 0x9f, 0x1d, 0xeb, 0x58, 0x69, + 0x79, 0x12, 0x35, 0x21, 0xaa, 0x81, 0x15, 0x98, 0xf8, 0x1c, 0x0c, 0x44, + 0x34, 0x69, 0xb0, 0x29, 0xba, 0xd0, 0xbb, 0x7f, 0xb0, 0xc9, 0x9f, 0x82, +}; +static const unsigned char kat2716_addinreseed[] = { + 0xef, 0xc1, 0x27, 0xb0, 0x13, 0xc3, 0x4b, 0x70, 0xa9, 0xf2, 0x84, 0xfd, + 0x1d, 0xf3, 0xbe, 0x0f, 0x28, 0x85, 0xd3, 0xca, 0xbe, 0x06, 0x67, 0x76, + 0x2f, 0x0e, 0xa8, 0x07, 0x34, 0x0e, 0x29, 0xd6, 0x5c, 0xc2, 0xc0, 0xf9, + 0x62, 0xf5, 0x43, 0x57, 0x70, 0x6c, 0xa0, 0xb6, 0xfc, 0x1f, 0x2e, 0x22, +}; +static const unsigned char kat2716_addin0[] = { + 0x6c, 0x68, 0xa2, 0xf1, 0xe5, 0x95, 0x5d, 0xc8, 0x38, 0x29, 0xa7, 0xe5, + 0xac, 0xbb, 0x9e, 0x11, 0x02, 0x87, 0x52, 0x40, 0x32, 0xf0, 0xee, 0x91, + 0x4a, 0x78, 0x3c, 0x56, 0x1a, 0x1f, 0x44, 0x4a, 0xea, 0xe6, 0x8a, 0x35, + 0x56, 0x7d, 0x44, 0x3c, 0x0c, 0x91, 0x8e, 0x38, 0xc5, 0x65, 0x06, 0x7a, +}; +static const unsigned char kat2716_addin1[] = { + 0x8a, 0x68, 0x25, 0x42, 0x05, 0x31, 0xf9, 0x24, 0x93, 0x5c, 0xf3, 0x38, + 0xd6, 0x8d, 0xf9, 0x9f, 0x0f, 0x7c, 0xfa, 0x32, 0xeb, 0x9d, 0x00, 0x24, + 0x68, 0xe6, 0xb2, 0x62, 0x1f, 0x09, 0x55, 0xa8, 0x2b, 0x2c, 0x4a, 0xc7, + 0x54, 0xba, 0x0c, 0x8e, 0xed, 0x24, 0xc5, 0xd8, 0xe9, 0x03, 0x63, 0xc6, +}; +static const unsigned char kat2716_retbits[] = { + 0x65, 0x8d, 0xd9, 0x7b, 0x30, 0xa6, 0x43, 0x26, 0x90, 0xc6, 0x23, 0x22, + 0xee, 0x93, 0x3b, 0x44, 0xdb, 0xe5, 0x4d, 0x64, 0x64, 0x4a, 0x59, 0xd9, + 0xb9, 0x44, 0xbf, 0xf4, 0x7c, 0x3d, 0xbc, 0x1c, 0x9f, 0x12, 0x3a, 0x53, + 0xb8, 0x99, 0xd9, 0xb8, 0x6d, 0xcf, 0xa1, 0xed, 0x1d, 0x5f, 0xbf, 0xee, + 0xb9, 0x03, 0x3d, 0xfd, 0xf2, 0x91, 0xf9, 0xe8, 0x43, 0x56, 0x83, 0x09, + 0x46, 0x4d, 0x23, 0xd1, +}; +static const struct drbg_kat_pr_false kat2716_t = { + 0, kat2716_entropyin, kat2716_nonce, kat2716_persstr, + kat2716_entropyinreseed, kat2716_addinreseed, kat2716_addin0, + kat2716_addin1, kat2716_retbits +}; +static const struct drbg_kat kat2716 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2716_t +}; + +static const unsigned char kat2717_entropyin[] = { + 0x67, 0x93, 0x8e, 0x50, 0xe2, 0xd6, 0x90, 0xcb, 0xd3, 0xb6, 0xe1, 0x57, + 0xf7, 0xd5, 0xee, 0x7f, 0x0d, 0x54, 0x00, 0x95, 0xc5, 0x58, 0xe0, 0x56, + 0x0b, 0xef, 0x48, 0x4a, 0xbd, 0x67, 0xd7, 0xb0, 0x98, 0x5a, 0xdc, 0xa7, + 0x83, 0x89, 0xaa, 0x46, 0x7c, 0x63, 0x06, 0x6f, 0x5f, 0x83, 0x05, 0x3d, +}; +static const unsigned char kat2717_nonce[] = {0}; +static const unsigned char kat2717_persstr[] = {0}; +static const unsigned char kat2717_entropyinreseed[] = { + 0x3d, 0xbf, 0x9a, 0xaa, 0xdd, 0x0d, 0xc4, 0xdb, 0x5d, 0x5e, 0x36, 0xfa, + 0x77, 0x03, 0x17, 0xc4, 0xec, 0x2e, 0x57, 0x3a, 0xb9, 0x0f, 0x09, 0xdc, + 0x10, 0x27, 0xa7, 0xea, 0x24, 0x1a, 0x9b, 0x23, 0xb7, 0x08, 0x48, 0xe6, + 0x92, 0xff, 0x31, 0x17, 0xd6, 0x51, 0x9c, 0x25, 0x8d, 0x58, 0xea, 0x73, +}; +static const unsigned char kat2717_addinreseed[] = { + 0x04, 0x6a, 0xdc, 0x95, 0x42, 0x97, 0x65, 0x9c, 0x95, 0x28, 0x85, 0xff, + 0xe5, 0x68, 0xc0, 0xad, 0x2b, 0x7b, 0x16, 0x04, 0x16, 0x58, 0x84, 0x16, + 0x51, 0xb8, 0x08, 0x16, 0x7d, 0x99, 0x63, 0x9f, 0x4e, 0xa3, 0x24, 0x41, + 0x84, 0x8d, 0x03, 0xe1, 0x48, 0xc4, 0xaf, 0xfc, 0x4b, 0xec, 0xed, 0x13, +}; +static const unsigned char kat2717_addin0[] = { + 0xc3, 0x62, 0x2c, 0xa8, 0x49, 0xdc, 0x70, 0x93, 0xdc, 0xea, 0x24, 0xa1, + 0x46, 0xae, 0x23, 0x1d, 0x8a, 0x03, 0xf9, 0x04, 0xa5, 0x0c, 0x21, 0x87, + 0x08, 0x5b, 0xb7, 0x65, 0x57, 0xb5, 0xe5, 0xba, 0xbb, 0xb7, 0x8f, 0x50, + 0x2e, 0x24, 0x0c, 0x03, 0x79, 0xf4, 0xe6, 0xc7, 0x2e, 0xaf, 0x33, 0x82, +}; +static const unsigned char kat2717_addin1[] = { + 0xf4, 0x37, 0x85, 0x36, 0x10, 0x12, 0xa3, 0xb7, 0xc6, 0xf0, 0x86, 0x4a, + 0x3c, 0xd3, 0x82, 0x80, 0x0c, 0x45, 0x0b, 0xe0, 0xe2, 0xf0, 0x9c, 0x77, + 0x37, 0xf5, 0xa4, 0xc3, 0xa1, 0x98, 0xaa, 0xac, 0xc7, 0x87, 0x9f, 0x92, + 0x42, 0xe1, 0x83, 0x34, 0xc9, 0x43, 0x66, 0x05, 0x1a, 0xa5, 0xf7, 0x4f, +}; +static const unsigned char kat2717_retbits[] = { + 0x2e, 0x95, 0x8a, 0xbb, 0xee, 0x0a, 0x85, 0x57, 0x9b, 0x35, 0xb0, 0x8a, + 0x07, 0xe6, 0x0b, 0xea, 0x67, 0xa4, 0x72, 0x34, 0x0b, 0x78, 0xdc, 0x3c, + 0x3f, 0x5a, 0x27, 0x31, 0x82, 0x8c, 0x3f, 0x4d, 0x8a, 0xef, 0x3f, 0xbb, + 0x6f, 0xe6, 0x22, 0x13, 0x3c, 0x15, 0x04, 0x84, 0x9d, 0xfa, 0x8f, 0x04, + 0x62, 0x1b, 0x5b, 0x3f, 0xe5, 0xd9, 0xea, 0x64, 0xdb, 0x70, 0x93, 0x1d, + 0xfd, 0xd6, 0x22, 0xe3, +}; +static const struct drbg_kat_pr_false kat2717_t = { + 1, kat2717_entropyin, kat2717_nonce, kat2717_persstr, + kat2717_entropyinreseed, kat2717_addinreseed, kat2717_addin0, + kat2717_addin1, kat2717_retbits +}; +static const struct drbg_kat kat2717 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2717_t +}; + +static const unsigned char kat2718_entropyin[] = { + 0x39, 0xc4, 0x02, 0x6c, 0x12, 0x99, 0x11, 0x58, 0x60, 0x04, 0xfb, 0x5b, + 0x48, 0xcb, 0x3d, 0x0e, 0xab, 0x46, 0x5d, 0x1a, 0xed, 0x16, 0xa4, 0x71, + 0x99, 0xd7, 0x40, 0x51, 0x37, 0xff, 0x14, 0x28, 0x29, 0xc5, 0x07, 0xa6, + 0x6e, 0x70, 0x23, 0xf9, 0x38, 0xd5, 0xcf, 0x03, 0x64, 0x6f, 0x55, 0xc0, +}; +static const unsigned char kat2718_nonce[] = {0}; +static const unsigned char kat2718_persstr[] = {0}; +static const unsigned char kat2718_entropyinreseed[] = { + 0x84, 0x76, 0x30, 0x08, 0x35, 0x43, 0xd0, 0xb3, 0x31, 0xff, 0xbd, 0xdf, + 0x05, 0x99, 0x53, 0x0d, 0xb9, 0x4e, 0x37, 0x8f, 0xdc, 0x17, 0x2d, 0xe2, + 0x78, 0x1a, 0x28, 0xf7, 0x4d, 0x94, 0x37, 0xbe, 0x2c, 0xb4, 0x52, 0x32, + 0xd9, 0xc6, 0x89, 0x23, 0x92, 0x27, 0x42, 0xdc, 0xf2, 0xac, 0xef, 0xd5, +}; +static const unsigned char kat2718_addinreseed[] = { + 0xfc, 0x5a, 0x55, 0xd8, 0x28, 0xaf, 0x7e, 0xc6, 0xe6, 0xce, 0x68, 0xd6, + 0x60, 0xc8, 0xfa, 0x2b, 0x85, 0x21, 0x01, 0x67, 0xe0, 0x12, 0x31, 0x6b, + 0x7c, 0x41, 0x58, 0x80, 0x52, 0xb6, 0xd3, 0x24, 0x41, 0x4d, 0xb3, 0xc4, + 0x77, 0xc0, 0x7d, 0xdf, 0xb7, 0xe0, 0xb7, 0xfc, 0x76, 0xc5, 0x93, 0x54, +}; +static const unsigned char kat2718_addin0[] = { + 0x01, 0x9d, 0xb1, 0x90, 0xc9, 0xb3, 0x5f, 0xb0, 0xd3, 0x5e, 0x2a, 0x92, + 0x1f, 0x2b, 0xf3, 0x57, 0x6f, 0x1a, 0x1f, 0xf2, 0xc5, 0x89, 0x57, 0xdd, + 0x2a, 0xc4, 0xc7, 0x45, 0x28, 0x3b, 0xa9, 0x17, 0xed, 0xdb, 0x5d, 0xea, + 0x40, 0x79, 0xef, 0x9a, 0x43, 0xad, 0x0c, 0x5e, 0xa9, 0xfb, 0xdd, 0xc2, +}; +static const unsigned char kat2718_addin1[] = { + 0x51, 0xf1, 0x49, 0x3e, 0xaf, 0x56, 0x47, 0xc3, 0xda, 0x74, 0x31, 0x4d, + 0xff, 0xa1, 0xf0, 0xaf, 0x27, 0x9b, 0x3b, 0x93, 0x1a, 0xa0, 0x40, 0x35, + 0x33, 0x31, 0xd9, 0x0e, 0xc7, 0x9d, 0x1c, 0x01, 0xeb, 0xd2, 0xf2, 0x01, + 0x45, 0x7b, 0x7b, 0xb0, 0x96, 0xef, 0x80, 0xc7, 0xc9, 0x4e, 0xf9, 0x7a, +}; +static const unsigned char kat2718_retbits[] = { + 0xe8, 0xe2, 0x21, 0xed, 0xb4, 0x41, 0x47, 0x0c, 0x5f, 0x00, 0x20, 0xf9, + 0x16, 0xb9, 0x5b, 0x9e, 0xa8, 0x18, 0xc8, 0x28, 0xe3, 0xd3, 0x6e, 0x67, + 0xd4, 0x63, 0xdd, 0xd1, 0x35, 0xbe, 0xf9, 0x13, 0x87, 0xf5, 0x69, 0xf2, + 0xf2, 0xd7, 0xd0, 0xd9, 0x1e, 0x49, 0x28, 0x69, 0x6e, 0xc2, 0xfa, 0x9f, + 0x55, 0x55, 0xbf, 0x9d, 0xbd, 0x02, 0x2d, 0x17, 0x97, 0xa6, 0x2f, 0x3e, + 0x0b, 0x12, 0x92, 0x6d, +}; +static const struct drbg_kat_pr_false kat2718_t = { + 2, kat2718_entropyin, kat2718_nonce, kat2718_persstr, + kat2718_entropyinreseed, kat2718_addinreseed, kat2718_addin0, + kat2718_addin1, kat2718_retbits +}; +static const struct drbg_kat kat2718 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2718_t +}; + +static const unsigned char kat2719_entropyin[] = { + 0xd4, 0x4d, 0x6e, 0x6b, 0xc7, 0x42, 0xc9, 0x94, 0x60, 0x03, 0x3a, 0x10, + 0x28, 0xf5, 0x1d, 0xa3, 0x82, 0x84, 0xa3, 0xa4, 0x22, 0x44, 0x90, 0x3d, + 0xb3, 0x83, 0xcb, 0x2c, 0xe7, 0x54, 0xdf, 0x46, 0x8e, 0xd0, 0x7c, 0xfa, + 0x40, 0x96, 0xd2, 0x95, 0x32, 0xd1, 0x34, 0x14, 0xde, 0x81, 0x01, 0xb3, +}; +static const unsigned char kat2719_nonce[] = {0}; +static const unsigned char kat2719_persstr[] = {0}; +static const unsigned char kat2719_entropyinreseed[] = { + 0x90, 0xc6, 0x3b, 0x62, 0x4e, 0x22, 0xbe, 0x43, 0xa5, 0x99, 0xf5, 0xc5, + 0xb0, 0x66, 0x52, 0x5b, 0x3d, 0xbc, 0xf1, 0x6a, 0xe7, 0x4b, 0xaa, 0x9c, + 0x84, 0xd0, 0xe5, 0x6a, 0x6b, 0xa0, 0x4b, 0x71, 0x3f, 0x9d, 0x1b, 0x34, + 0x52, 0x92, 0x52, 0x6f, 0xc8, 0xe8, 0xf6, 0xd8, 0x2f, 0x49, 0x34, 0xd1, +}; +static const unsigned char kat2719_addinreseed[] = { + 0x91, 0xb2, 0x1d, 0xc2, 0x3b, 0x63, 0x99, 0x2e, 0xe4, 0x6d, 0xd0, 0x9e, + 0x35, 0xad, 0xf4, 0x17, 0xbc, 0x36, 0x92, 0xaa, 0xa6, 0x05, 0xae, 0x0d, + 0xb0, 0x00, 0x1f, 0x9e, 0x8b, 0x3c, 0xa3, 0x35, 0x3d, 0xa3, 0x83, 0x08, + 0xde, 0x5a, 0xd3, 0x28, 0xf1, 0x36, 0x3a, 0x33, 0x4e, 0x88, 0x0e, 0x09, +}; +static const unsigned char kat2719_addin0[] = { + 0x96, 0x9d, 0x80, 0x70, 0xe5, 0xa5, 0x35, 0x51, 0xcb, 0xaa, 0x6c, 0x86, + 0x92, 0x4f, 0xf5, 0x8c, 0x72, 0x0f, 0xa4, 0xee, 0x5a, 0x81, 0xf0, 0x22, + 0x4b, 0x64, 0xb0, 0xa0, 0xa1, 0xe4, 0xa6, 0x4a, 0x3c, 0xdc, 0x69, 0x52, + 0x22, 0xc6, 0xf3, 0x84, 0xe0, 0xbc, 0x5e, 0x3d, 0xf1, 0xd7, 0x61, 0x22, +}; +static const unsigned char kat2719_addin1[] = { + 0x1e, 0x88, 0x89, 0x83, 0xb3, 0x98, 0xd0, 0xa5, 0xff, 0x8f, 0x25, 0xb8, + 0xdc, 0x69, 0x2a, 0x8a, 0x62, 0x15, 0xa4, 0x90, 0xb0, 0x42, 0xc2, 0x6e, + 0xc1, 0xd6, 0xcb, 0xd0, 0xbe, 0x24, 0xe7, 0xdb, 0xfb, 0x3f, 0xd9, 0x10, + 0xbf, 0x22, 0xa9, 0xfb, 0x78, 0x15, 0x6d, 0xfa, 0x94, 0x2d, 0x0a, 0xd8, +}; +static const unsigned char kat2719_retbits[] = { + 0x0e, 0xed, 0x7d, 0x0b, 0x13, 0xb0, 0x86, 0x94, 0x55, 0x9d, 0x74, 0x38, + 0xa7, 0x77, 0x1c, 0x31, 0x27, 0xbf, 0xc0, 0xa3, 0x51, 0xcf, 0xfc, 0x1f, + 0x5b, 0x32, 0x8b, 0xdf, 0x7f, 0x6f, 0xfb, 0xde, 0xc6, 0x6b, 0xfa, 0xa3, + 0xd3, 0xf0, 0x60, 0x39, 0x90, 0x99, 0x12, 0x6d, 0x4b, 0xf5, 0x88, 0xb8, + 0xc6, 0x7b, 0x9f, 0x2e, 0xc5, 0x09, 0xcf, 0x11, 0x1b, 0xef, 0xed, 0xa7, + 0xeb, 0xfc, 0x5a, 0xd8, +}; +static const struct drbg_kat_pr_false kat2719_t = { + 3, kat2719_entropyin, kat2719_nonce, kat2719_persstr, + kat2719_entropyinreseed, kat2719_addinreseed, kat2719_addin0, + kat2719_addin1, kat2719_retbits +}; +static const struct drbg_kat kat2719 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2719_t +}; + +static const unsigned char kat2720_entropyin[] = { + 0xa5, 0x26, 0xf4, 0x71, 0x4b, 0x36, 0x83, 0x03, 0xb4, 0x6f, 0x21, 0x3c, + 0xa0, 0x3f, 0x43, 0x1c, 0x6d, 0x3f, 0x7a, 0xe0, 0xb0, 0xc6, 0xba, 0xe4, + 0x0a, 0xce, 0x63, 0xf2, 0x70, 0x23, 0xfd, 0x6a, 0x89, 0x63, 0xb7, 0x40, + 0xde, 0xb4, 0xd1, 0x2e, 0x92, 0x4f, 0x8b, 0xde, 0x93, 0x19, 0x1e, 0x1f, +}; +static const unsigned char kat2720_nonce[] = {0}; +static const unsigned char kat2720_persstr[] = {0}; +static const unsigned char kat2720_entropyinreseed[] = { + 0xb8, 0xf1, 0x45, 0x4e, 0x83, 0x53, 0xe2, 0x3f, 0xf3, 0x61, 0x4f, 0xd8, + 0x55, 0xcb, 0xcc, 0x17, 0x8b, 0x3c, 0x95, 0x34, 0x55, 0xe7, 0x0a, 0x98, + 0x16, 0x85, 0xe4, 0x7b, 0xce, 0xe9, 0xb1, 0xb6, 0xd4, 0x46, 0x2a, 0x4b, + 0x1c, 0x49, 0x07, 0x03, 0x27, 0x3e, 0xe1, 0xa7, 0x33, 0xe9, 0xa3, 0x44, +}; +static const unsigned char kat2720_addinreseed[] = { + 0x4b, 0x51, 0xf0, 0xaf, 0x14, 0x42, 0xcd, 0xab, 0x24, 0x97, 0xf3, 0x5b, + 0x58, 0x17, 0x96, 0xdd, 0x5b, 0xf7, 0x69, 0x97, 0xc3, 0x28, 0x2f, 0x84, + 0x2f, 0xe2, 0x88, 0x40, 0x7e, 0xc9, 0x83, 0x81, 0x8e, 0x52, 0xd1, 0x8d, + 0xdc, 0x27, 0xd5, 0xa0, 0xef, 0x16, 0x14, 0x1c, 0x28, 0x9b, 0x8f, 0x44, +}; +static const unsigned char kat2720_addin0[] = { + 0x6c, 0x37, 0xcd, 0x5a, 0xa6, 0xdb, 0x94, 0xa1, 0x7b, 0xa3, 0x98, 0x00, + 0x67, 0xf2, 0x5e, 0x03, 0xf6, 0x54, 0x73, 0xb8, 0xf2, 0xdb, 0xe5, 0x6a, + 0x0f, 0x12, 0x45, 0x2a, 0xc2, 0x70, 0x99, 0x90, 0x9e, 0x20, 0x33, 0x2b, + 0x39, 0x4a, 0xb2, 0x36, 0x4d, 0x5e, 0x80, 0x3c, 0x9b, 0x05, 0xce, 0xea, +}; +static const unsigned char kat2720_addin1[] = { + 0x16, 0x2a, 0x95, 0xc2, 0xb7, 0x7e, 0xe5, 0xbb, 0x30, 0x12, 0xcf, 0x0c, + 0x18, 0x31, 0xa7, 0xee, 0x2e, 0xd3, 0xe0, 0x7a, 0x35, 0x0f, 0x3b, 0x06, + 0x55, 0x77, 0x79, 0x1c, 0xef, 0x78, 0xc1, 0xaf, 0xd4, 0x9b, 0xa1, 0x17, + 0x80, 0xaa, 0xa1, 0xc4, 0x49, 0x43, 0xd6, 0x2d, 0x0f, 0xcd, 0x5b, 0xc9, +}; +static const unsigned char kat2720_retbits[] = { + 0xdf, 0x89, 0x48, 0x35, 0xe0, 0x70, 0x73, 0xba, 0x4f, 0x0f, 0x75, 0xc4, + 0x80, 0xf8, 0x68, 0x78, 0xd1, 0xfb, 0xca, 0x27, 0xf7, 0xb4, 0xf9, 0xa8, + 0x26, 0x83, 0x9d, 0x76, 0xef, 0x17, 0x29, 0x91, 0xdf, 0x4f, 0xcc, 0x86, + 0x8b, 0x75, 0x40, 0x8e, 0xca, 0x2a, 0x6e, 0xaf, 0xb6, 0x2f, 0x9c, 0xa6, + 0xad, 0x9a, 0x93, 0x35, 0xe3, 0x63, 0xc6, 0x27, 0xdf, 0xc8, 0xf2, 0x32, + 0xcf, 0x25, 0x4a, 0x1e, +}; +static const struct drbg_kat_pr_false kat2720_t = { + 4, kat2720_entropyin, kat2720_nonce, kat2720_persstr, + kat2720_entropyinreseed, kat2720_addinreseed, kat2720_addin0, + kat2720_addin1, kat2720_retbits +}; +static const struct drbg_kat kat2720 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2720_t +}; + +static const unsigned char kat2721_entropyin[] = { + 0xe7, 0xcf, 0x17, 0x41, 0x47, 0x8a, 0x81, 0xe4, 0x09, 0x0c, 0xe2, 0x08, + 0xc5, 0xb8, 0x30, 0x0c, 0xeb, 0x54, 0x87, 0xe0, 0x6c, 0x83, 0xde, 0xe0, + 0x86, 0x05, 0x10, 0x9c, 0xb0, 0x0c, 0xb5, 0x2d, 0x1c, 0x3a, 0x72, 0x18, + 0x71, 0x22, 0xc9, 0x65, 0xf6, 0x8c, 0x5e, 0x7e, 0x54, 0xa8, 0xea, 0x10, +}; +static const unsigned char kat2721_nonce[] = {0}; +static const unsigned char kat2721_persstr[] = {0}; +static const unsigned char kat2721_entropyinreseed[] = { + 0x08, 0x09, 0xaa, 0x01, 0x31, 0x10, 0xfc, 0xd6, 0xe7, 0x03, 0xcd, 0x5f, + 0x47, 0x40, 0x36, 0xf7, 0xee, 0x4c, 0xd1, 0x91, 0xc5, 0x22, 0x7c, 0xee, + 0x6c, 0x50, 0x9e, 0x86, 0x32, 0x4e, 0x7b, 0x2f, 0x96, 0x68, 0xbd, 0xb4, + 0x06, 0x29, 0xe5, 0x17, 0x04, 0xed, 0x16, 0x64, 0x26, 0xbe, 0x48, 0x3e, +}; +static const unsigned char kat2721_addinreseed[] = { + 0xd6, 0x53, 0xea, 0xed, 0x49, 0x3f, 0xf4, 0xc2, 0x79, 0x1d, 0x5f, 0x18, + 0x6c, 0x44, 0x2d, 0xd4, 0x8b, 0x7e, 0xe4, 0x66, 0x6c, 0x90, 0x42, 0x6b, + 0x82, 0x93, 0xf8, 0x21, 0x30, 0xb2, 0x46, 0xf5, 0x90, 0x85, 0xfa, 0x2b, + 0x82, 0xc2, 0x59, 0x7d, 0x90, 0x7b, 0x35, 0xcd, 0x3f, 0x29, 0x00, 0xe5, +}; +static const unsigned char kat2721_addin0[] = { + 0x43, 0x90, 0x64, 0x99, 0x73, 0xc3, 0x4e, 0x1a, 0x36, 0x8b, 0x55, 0x4d, + 0x91, 0x23, 0x97, 0xf4, 0x25, 0xad, 0xb3, 0xd9, 0x6a, 0xe7, 0x98, 0x29, + 0xeb, 0x64, 0xf3, 0xc3, 0xfb, 0x27, 0x56, 0x69, 0x2e, 0x66, 0x12, 0xdb, + 0xcc, 0xed, 0x4b, 0x3c, 0xd3, 0x34, 0xbb, 0x78, 0x80, 0xc3, 0x4c, 0xb9, +}; +static const unsigned char kat2721_addin1[] = { + 0xb0, 0x9e, 0x0d, 0xfd, 0x27, 0x06, 0x72, 0xea, 0x55, 0x37, 0x90, 0x16, + 0x37, 0x50, 0xd0, 0x07, 0x3f, 0xe1, 0x56, 0x79, 0x9d, 0x23, 0xbe, 0x5d, + 0xcf, 0x78, 0xd7, 0x84, 0xc7, 0xec, 0xb4, 0xd4, 0xec, 0x05, 0x4f, 0x30, + 0x9c, 0x70, 0x4b, 0xa4, 0xe1, 0x53, 0xae, 0x3f, 0xcc, 0x60, 0xd3, 0xb5, +}; +static const unsigned char kat2721_retbits[] = { + 0x9e, 0x2f, 0xb5, 0xe6, 0x69, 0xc4, 0x9f, 0x12, 0xab, 0x98, 0x9a, 0xae, + 0x82, 0x2e, 0x12, 0x91, 0x34, 0xbf, 0x5b, 0x11, 0x19, 0xc6, 0x9c, 0x92, + 0xda, 0xfc, 0xf5, 0x3a, 0x7d, 0xd1, 0xf7, 0x05, 0x5c, 0x6b, 0x2e, 0x57, + 0xbb, 0x59, 0x25, 0x9d, 0x2c, 0x48, 0x6e, 0x33, 0xa2, 0xec, 0x41, 0xbe, + 0x3f, 0xd9, 0x67, 0x99, 0x7b, 0xe9, 0xb0, 0xc7, 0xb1, 0x1c, 0xd7, 0x90, + 0xf3, 0xb3, 0x0c, 0x7c, +}; +static const struct drbg_kat_pr_false kat2721_t = { + 5, kat2721_entropyin, kat2721_nonce, kat2721_persstr, + kat2721_entropyinreseed, kat2721_addinreseed, kat2721_addin0, + kat2721_addin1, kat2721_retbits +}; +static const struct drbg_kat kat2721 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2721_t +}; + +static const unsigned char kat2722_entropyin[] = { + 0x80, 0x9f, 0x1f, 0x12, 0x37, 0x46, 0x09, 0xf0, 0x11, 0x1c, 0x34, 0x7f, + 0xb8, 0x89, 0x35, 0xac, 0x53, 0xd4, 0x73, 0xf5, 0xf7, 0xe0, 0x93, 0x89, + 0x80, 0x01, 0xe9, 0xc4, 0xa8, 0x1e, 0xd0, 0x78, 0xcd, 0xf5, 0xee, 0xfa, + 0x0b, 0x16, 0x68, 0x26, 0xc6, 0x32, 0xd1, 0x3b, 0x1a, 0x0d, 0x93, 0x7c, +}; +static const unsigned char kat2722_nonce[] = {0}; +static const unsigned char kat2722_persstr[] = {0}; +static const unsigned char kat2722_entropyinreseed[] = { + 0xf2, 0xd0, 0x18, 0x28, 0xe4, 0xae, 0x75, 0x7d, 0x90, 0xc3, 0x6f, 0xe5, + 0xad, 0x18, 0x33, 0x78, 0xac, 0x44, 0x2c, 0x07, 0xb4, 0x74, 0x1c, 0x85, + 0xcc, 0x34, 0x0c, 0x86, 0x26, 0xf5, 0x64, 0x72, 0xf0, 0xea, 0xc7, 0xbf, + 0x48, 0x48, 0xfa, 0x18, 0xef, 0xba, 0x8d, 0x37, 0xd1, 0x99, 0x8c, 0x4a, +}; +static const unsigned char kat2722_addinreseed[] = { + 0x80, 0xa3, 0x46, 0xbd, 0x1c, 0x05, 0xf0, 0x0c, 0x08, 0xd9, 0xe6, 0xc1, + 0x0a, 0xc0, 0xfc, 0x38, 0x68, 0x06, 0xcc, 0x22, 0xd6, 0x2e, 0xc9, 0xdb, + 0xc2, 0xeb, 0x30, 0x13, 0x1a, 0xe7, 0xd8, 0x9a, 0xa9, 0x1a, 0x67, 0xa8, + 0x48, 0xd0, 0x1b, 0xb8, 0xd9, 0xeb, 0x8a, 0x93, 0x26, 0xc4, 0xcc, 0x81, +}; +static const unsigned char kat2722_addin0[] = { + 0x0f, 0xc7, 0xcb, 0x58, 0x9c, 0xbc, 0x14, 0x11, 0x11, 0xf5, 0x57, 0xd8, + 0x52, 0xc5, 0xcf, 0x47, 0x63, 0x3f, 0x44, 0x30, 0xba, 0xfd, 0xe1, 0x47, + 0x25, 0x42, 0x06, 0x10, 0xf6, 0xc2, 0x27, 0x77, 0xca, 0x93, 0x94, 0xd4, + 0x4d, 0xc1, 0x70, 0x1a, 0xaa, 0xe0, 0xa6, 0xf2, 0x36, 0x27, 0x89, 0xb9, +}; +static const unsigned char kat2722_addin1[] = { + 0xed, 0x60, 0xa2, 0xa9, 0x6c, 0xef, 0x44, 0x2e, 0xcb, 0x1b, 0x0b, 0x83, + 0x11, 0xd5, 0x47, 0x0f, 0x42, 0x5f, 0xb6, 0x0c, 0xd1, 0xca, 0x81, 0xd4, + 0x84, 0x6b, 0xe2, 0xd4, 0x5e, 0xbb, 0xf8, 0x57, 0xcd, 0xd5, 0x8c, 0xb2, + 0x2a, 0x72, 0x57, 0x87, 0x03, 0x75, 0x9f, 0xcf, 0xe6, 0x97, 0xa3, 0xcc, +}; +static const unsigned char kat2722_retbits[] = { + 0xa0, 0xa7, 0xd1, 0x6b, 0xd8, 0x3e, 0x64, 0xaf, 0xaf, 0x0a, 0xd5, 0xc1, + 0x37, 0x8f, 0x34, 0x1a, 0x6a, 0xce, 0xfd, 0xdb, 0x15, 0xa1, 0x05, 0x66, + 0xbd, 0x23, 0x1e, 0xd7, 0x43, 0x79, 0x61, 0xc5, 0x0a, 0x47, 0xef, 0x8b, + 0x03, 0x23, 0x89, 0xfd, 0x8a, 0x52, 0x73, 0xcf, 0x92, 0x6c, 0x70, 0xb1, + 0xce, 0xbf, 0xcf, 0xb9, 0x31, 0x76, 0xfe, 0xc6, 0x4d, 0xa8, 0x81, 0x0e, + 0x93, 0xee, 0xc5, 0x3c, +}; +static const struct drbg_kat_pr_false kat2722_t = { + 6, kat2722_entropyin, kat2722_nonce, kat2722_persstr, + kat2722_entropyinreseed, kat2722_addinreseed, kat2722_addin0, + kat2722_addin1, kat2722_retbits +}; +static const struct drbg_kat kat2722 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2722_t +}; + +static const unsigned char kat2723_entropyin[] = { + 0xb8, 0x9c, 0x72, 0x42, 0x62, 0xf8, 0xeb, 0xe3, 0xc2, 0x9e, 0x8c, 0x8b, + 0xf9, 0x92, 0x95, 0x9e, 0x3b, 0x7f, 0x42, 0xa5, 0xab, 0xf0, 0xd3, 0x36, + 0xb8, 0x27, 0xf6, 0xb6, 0x84, 0x82, 0xbf, 0x9a, 0x75, 0xb5, 0xf1, 0x15, + 0x74, 0xaf, 0xfe, 0x92, 0x9b, 0xae, 0x0c, 0xfd, 0xf2, 0x13, 0xbd, 0x3d, +}; +static const unsigned char kat2723_nonce[] = {0}; +static const unsigned char kat2723_persstr[] = {0}; +static const unsigned char kat2723_entropyinreseed[] = { + 0x7a, 0x13, 0x1f, 0xe4, 0x12, 0xb2, 0x5a, 0x66, 0xd4, 0x0e, 0xcb, 0x9e, + 0xd7, 0xc5, 0xcd, 0x5d, 0x0e, 0x85, 0xc3, 0x3c, 0x72, 0xec, 0x77, 0x96, + 0xfd, 0x63, 0x20, 0xf3, 0xfd, 0xfe, 0x9c, 0x71, 0x09, 0x96, 0x97, 0x3d, + 0x7a, 0xf3, 0xaf, 0x53, 0x9a, 0xeb, 0xb4, 0xe6, 0x87, 0xd1, 0x6a, 0xf6, +}; +static const unsigned char kat2723_addinreseed[] = { + 0x3a, 0x3b, 0x2a, 0x07, 0xc5, 0x87, 0x70, 0xef, 0x94, 0xcd, 0x0f, 0xa6, + 0x34, 0x8a, 0xcd, 0x06, 0x0d, 0xf2, 0xfd, 0xe2, 0x6e, 0x67, 0x47, 0x3d, + 0x43, 0xde, 0x7a, 0x92, 0x9b, 0x0d, 0xf7, 0xae, 0x35, 0x9e, 0xe3, 0xb3, + 0x6a, 0x37, 0x07, 0xd2, 0x7d, 0x29, 0x36, 0xa5, 0x6e, 0x53, 0xf7, 0xe0, +}; +static const unsigned char kat2723_addin0[] = { + 0x5f, 0x9b, 0xe2, 0x1e, 0xe1, 0x24, 0x77, 0x6b, 0x93, 0x1c, 0x18, 0x84, + 0xf4, 0x76, 0x03, 0x96, 0xcd, 0x04, 0x16, 0x04, 0x80, 0x3a, 0xc8, 0x63, + 0x14, 0x79, 0xe0, 0xb0, 0xdd, 0x90, 0x0d, 0x18, 0x66, 0xd8, 0xb0, 0xb4, + 0x41, 0xdb, 0x82, 0xbc, 0x66, 0xd5, 0xc0, 0xda, 0x79, 0xb4, 0xf8, 0xa7, +}; +static const unsigned char kat2723_addin1[] = { + 0x68, 0x20, 0xab, 0xa2, 0x5b, 0x1a, 0xf7, 0xfd, 0x7a, 0x08, 0x79, 0xdf, + 0xdd, 0x6e, 0xd1, 0x32, 0xee, 0x5d, 0x0b, 0xa8, 0x92, 0xf7, 0x5e, 0x31, + 0xff, 0xb0, 0xad, 0x0e, 0xea, 0x6f, 0x3e, 0xa3, 0x7a, 0x42, 0x1e, 0x06, + 0xbb, 0x74, 0x65, 0xc3, 0x25, 0x9e, 0x59, 0xc4, 0xa7, 0xe0, 0x78, 0x33, +}; +static const unsigned char kat2723_retbits[] = { + 0x2a, 0x44, 0xd6, 0x85, 0x4e, 0xbe, 0x70, 0x9e, 0x26, 0x4b, 0x25, 0x3f, + 0xf1, 0xe0, 0xa7, 0xe4, 0x5e, 0x6c, 0x99, 0x6f, 0x5e, 0xe5, 0xc3, 0x71, + 0xec, 0xe0, 0xac, 0xc7, 0xbc, 0xfd, 0x55, 0x93, 0xfc, 0x2a, 0x0d, 0xcd, + 0x4f, 0xad, 0x29, 0x82, 0x0d, 0xdb, 0x9d, 0x61, 0x05, 0x57, 0xb4, 0xe3, + 0x61, 0x90, 0x09, 0xa1, 0x5c, 0x85, 0x3a, 0x5e, 0x46, 0xf0, 0x66, 0x1b, + 0x72, 0x7d, 0x41, 0xe8, +}; +static const struct drbg_kat_pr_false kat2723_t = { + 7, kat2723_entropyin, kat2723_nonce, kat2723_persstr, + kat2723_entropyinreseed, kat2723_addinreseed, kat2723_addin0, + kat2723_addin1, kat2723_retbits +}; +static const struct drbg_kat kat2723 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2723_t +}; + +static const unsigned char kat2724_entropyin[] = { + 0x2b, 0x1f, 0xe5, 0xb6, 0xd4, 0x2a, 0x71, 0x2a, 0xe6, 0x59, 0xaa, 0x1b, + 0x62, 0x23, 0x33, 0x92, 0x0e, 0x3b, 0x08, 0x25, 0x5a, 0xd4, 0x08, 0x80, + 0x33, 0x01, 0xf8, 0xcb, 0x9f, 0x82, 0xb9, 0x5a, 0x69, 0x1f, 0x66, 0x92, + 0x21, 0x73, 0xaf, 0xfb, 0xeb, 0x9d, 0xa3, 0x5d, 0x40, 0xcf, 0x2d, 0x1c, +}; +static const unsigned char kat2724_nonce[] = {0}; +static const unsigned char kat2724_persstr[] = {0}; +static const unsigned char kat2724_entropyinreseed[] = { + 0x2f, 0xf2, 0x97, 0x76, 0xef, 0x48, 0xc0, 0xd2, 0x03, 0x08, 0xd0, 0x7f, + 0xa0, 0x26, 0x95, 0x13, 0x86, 0x6a, 0x59, 0xdb, 0x42, 0xa1, 0xda, 0xf8, + 0xee, 0x75, 0xd8, 0xf5, 0x63, 0x38, 0x8c, 0xb5, 0x7c, 0xc6, 0x63, 0xff, + 0x25, 0x70, 0xc2, 0xfe, 0x4a, 0x40, 0x75, 0x25, 0x31, 0xe0, 0xc7, 0x79, +}; +static const unsigned char kat2724_addinreseed[] = { + 0xa2, 0xc6, 0xd3, 0x44, 0xde, 0xcb, 0xbe, 0xfa, 0xb1, 0x76, 0x4c, 0x42, + 0x40, 0x01, 0x44, 0x24, 0x55, 0xc9, 0xe8, 0x7c, 0x06, 0xd6, 0x2b, 0xee, + 0x63, 0xd6, 0xd1, 0x8b, 0x87, 0xce, 0xd4, 0xec, 0xe2, 0x8d, 0x6c, 0x0f, + 0xec, 0x41, 0x40, 0x40, 0x99, 0x22, 0x91, 0x5f, 0x07, 0x44, 0xd3, 0xae, +}; +static const unsigned char kat2724_addin0[] = { + 0x01, 0xcc, 0x14, 0x2d, 0x20, 0xa2, 0x01, 0x87, 0xc3, 0xc7, 0x2c, 0xdf, + 0xc3, 0x00, 0x2e, 0x4d, 0xa9, 0x9a, 0x09, 0x96, 0x4a, 0xf9, 0xa0, 0x0d, + 0x00, 0x01, 0xf3, 0x48, 0x38, 0x33, 0x73, 0xc4, 0x3f, 0xbe, 0xce, 0x59, + 0x46, 0xa9, 0xda, 0x9e, 0x50, 0x83, 0x32, 0x1d, 0xb9, 0x05, 0xe0, 0xef, +}; +static const unsigned char kat2724_addin1[] = { + 0x38, 0xa6, 0x08, 0x06, 0xc0, 0x8f, 0x0d, 0x0a, 0xff, 0xcf, 0x1d, 0x30, + 0x45, 0xa2, 0x09, 0xcd, 0xe9, 0x7c, 0x89, 0xaf, 0x7d, 0xc7, 0xc0, 0xbb, + 0x1e, 0x16, 0x0e, 0x47, 0x83, 0xce, 0x5d, 0xef, 0xd6, 0x51, 0x76, 0x74, + 0x06, 0xfa, 0xf6, 0x5f, 0x15, 0xb0, 0xc5, 0xf6, 0xea, 0x19, 0x1a, 0x6e, +}; +static const unsigned char kat2724_retbits[] = { + 0x33, 0x5d, 0xad, 0xa2, 0x0a, 0xd6, 0x87, 0x46, 0x08, 0x82, 0xb6, 0x40, + 0x61, 0x99, 0x4b, 0x86, 0x0e, 0x74, 0xd0, 0x53, 0xf5, 0x39, 0x7e, 0x0b, + 0x70, 0x0c, 0x9d, 0xb6, 0x10, 0xf9, 0xb4, 0x65, 0x01, 0x41, 0xf2, 0x5d, + 0xc2, 0x4e, 0x69, 0xff, 0x1e, 0xb6, 0x36, 0x12, 0xcb, 0x2b, 0x3b, 0x90, + 0x5d, 0x29, 0x22, 0xac, 0x88, 0xb0, 0x91, 0xcc, 0xce, 0x52, 0x3b, 0x1c, + 0x62, 0xcd, 0x14, 0xf3, +}; +static const struct drbg_kat_pr_false kat2724_t = { + 8, kat2724_entropyin, kat2724_nonce, kat2724_persstr, + kat2724_entropyinreseed, kat2724_addinreseed, kat2724_addin0, + kat2724_addin1, kat2724_retbits +}; +static const struct drbg_kat kat2724 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2724_t +}; + +static const unsigned char kat2725_entropyin[] = { + 0x54, 0x53, 0x00, 0x87, 0x43, 0xd1, 0xd5, 0xda, 0x6a, 0xcf, 0x27, 0xe8, + 0xc3, 0x61, 0x64, 0xb2, 0xfc, 0x13, 0xfc, 0xa4, 0xe2, 0x83, 0xbd, 0x87, + 0x34, 0xf0, 0xf5, 0xb2, 0x7f, 0xcb, 0xbc, 0x4d, 0x62, 0x2a, 0x8f, 0xa2, + 0x1a, 0xdd, 0x04, 0x03, 0xfb, 0x70, 0xe1, 0x5f, 0x8d, 0x7a, 0xd2, 0x28, +}; +static const unsigned char kat2725_nonce[] = {0}; +static const unsigned char kat2725_persstr[] = {0}; +static const unsigned char kat2725_entropyinreseed[] = { + 0xd6, 0xf8, 0xce, 0x10, 0xdd, 0x87, 0xf3, 0x1b, 0x35, 0xd2, 0xa0, 0x80, + 0xcb, 0x1a, 0xd3, 0x48, 0x2d, 0x1b, 0x3b, 0xf5, 0x94, 0xd5, 0xfa, 0x70, + 0x50, 0xdc, 0xcd, 0xfe, 0x78, 0x67, 0x97, 0x50, 0x8a, 0x83, 0xb2, 0xae, + 0xe1, 0x85, 0x12, 0x0f, 0x9a, 0x4c, 0x83, 0x93, 0xaf, 0x87, 0xc9, 0x7e, +}; +static const unsigned char kat2725_addinreseed[] = { + 0x41, 0x13, 0xbe, 0x07, 0x17, 0x59, 0x1b, 0xec, 0x73, 0xcb, 0xfd, 0x3c, + 0x4c, 0x3c, 0x57, 0x42, 0xd2, 0x0c, 0x5e, 0x9b, 0x48, 0xb6, 0xec, 0x70, + 0x00, 0xf1, 0x12, 0xce, 0xc4, 0x69, 0x3d, 0xcf, 0xc1, 0x93, 0xbb, 0x94, + 0x9d, 0xca, 0x2f, 0xd1, 0xac, 0x9d, 0x67, 0xf0, 0x8b, 0xa7, 0x14, 0x07, +}; +static const unsigned char kat2725_addin0[] = { + 0x87, 0xc9, 0x49, 0xf5, 0x9d, 0x22, 0x5b, 0x25, 0x3e, 0xc6, 0x16, 0xa2, + 0x82, 0x7c, 0x28, 0x19, 0x7f, 0xff, 0x51, 0x05, 0xa1, 0x23, 0xd9, 0x6e, + 0x8b, 0xac, 0xdd, 0x28, 0x83, 0xb8, 0xcd, 0x57, 0x0f, 0x20, 0xf6, 0xd5, + 0xd6, 0x4b, 0x3f, 0xdd, 0x6b, 0xc8, 0x8e, 0xe2, 0x27, 0xe2, 0x8b, 0xab, +}; +static const unsigned char kat2725_addin1[] = { + 0x5e, 0x8a, 0x1a, 0xab, 0x2c, 0xf9, 0x72, 0x44, 0x66, 0xd2, 0x98, 0x94, + 0x3c, 0xbb, 0xbc, 0xc0, 0xf2, 0x76, 0x39, 0x29, 0xff, 0x7c, 0xbf, 0xb4, + 0x21, 0x5f, 0xf6, 0x7c, 0xb5, 0x4c, 0x05, 0x81, 0xd9, 0x3c, 0x95, 0x2c, + 0x82, 0x01, 0x2b, 0xd7, 0x04, 0xbf, 0x66, 0xe7, 0x6a, 0x9b, 0x78, 0xe6, +}; +static const unsigned char kat2725_retbits[] = { + 0xde, 0x38, 0xc1, 0x73, 0x13, 0x75, 0x20, 0x04, 0x47, 0x13, 0x37, 0x7c, + 0xe2, 0xb4, 0xe6, 0x72, 0xab, 0x7f, 0x1a, 0xae, 0x1a, 0x88, 0xc4, 0xa3, + 0xb7, 0x8a, 0x2a, 0xdf, 0x76, 0xd9, 0x58, 0xb5, 0xaa, 0x6c, 0x93, 0x45, + 0xcd, 0xeb, 0x00, 0xc3, 0x5f, 0x09, 0x9c, 0xf0, 0x5a, 0xe8, 0x5f, 0x7a, + 0xff, 0xb3, 0x2a, 0xa4, 0xe5, 0xbe, 0x43, 0xec, 0xc4, 0x06, 0xf7, 0x1c, + 0x77, 0x9e, 0x02, 0x07, +}; +static const struct drbg_kat_pr_false kat2725_t = { + 9, kat2725_entropyin, kat2725_nonce, kat2725_persstr, + kat2725_entropyinreseed, kat2725_addinreseed, kat2725_addin0, + kat2725_addin1, kat2725_retbits +}; +static const struct drbg_kat kat2725 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2725_t +}; + +static const unsigned char kat2726_entropyin[] = { + 0x1d, 0xb1, 0x47, 0xaf, 0xfb, 0x57, 0xd3, 0xee, 0x43, 0x1f, 0x17, 0x99, + 0xec, 0xd2, 0xa1, 0x8b, 0xc4, 0x5a, 0xd7, 0x35, 0xd1, 0x40, 0x9c, 0x9b, + 0x70, 0x9e, 0x1f, 0x2a, 0x2b, 0x20, 0x75, 0x2d, 0x04, 0x16, 0x7d, 0x79, + 0x39, 0xd9, 0x15, 0x36, 0x76, 0x9b, 0x61, 0xc2, 0x29, 0x9b, 0x4a, 0xeb, +}; +static const unsigned char kat2726_nonce[] = {0}; +static const unsigned char kat2726_persstr[] = {0}; +static const unsigned char kat2726_entropyinreseed[] = { + 0x44, 0x9a, 0x75, 0x36, 0x19, 0x7b, 0x23, 0x56, 0x38, 0x0b, 0xb4, 0x42, + 0xfe, 0x26, 0xfb, 0x84, 0x6f, 0xdd, 0xea, 0x8b, 0xe7, 0x6e, 0xc6, 0xde, + 0xe4, 0x63, 0x83, 0x7d, 0x2e, 0x2b, 0x55, 0x11, 0x83, 0x09, 0x07, 0x15, + 0x8d, 0x4f, 0x84, 0xde, 0x5b, 0xba, 0xc1, 0x37, 0x4d, 0x13, 0x20, 0xc8, +}; +static const unsigned char kat2726_addinreseed[] = { + 0xce, 0x21, 0x77, 0x55, 0x55, 0x60, 0xa5, 0x43, 0x93, 0x81, 0xe0, 0x87, + 0xf5, 0xab, 0xef, 0x9a, 0x1b, 0xce, 0xf2, 0x8d, 0x62, 0xd1, 0xb5, 0xbb, + 0x80, 0x17, 0x61, 0xd9, 0xdb, 0x9a, 0x81, 0xc6, 0x27, 0x0b, 0x9e, 0xed, + 0x79, 0x3f, 0xe5, 0xb8, 0x83, 0x65, 0xf9, 0x35, 0x41, 0x9c, 0xe4, 0x85, +}; +static const unsigned char kat2726_addin0[] = { + 0x4d, 0x3c, 0x0b, 0x97, 0x0f, 0x3f, 0x33, 0x74, 0x56, 0x40, 0x07, 0x31, + 0xe8, 0xac, 0x66, 0x7a, 0xb5, 0x17, 0x34, 0x3f, 0x0b, 0xd0, 0x32, 0x60, + 0x06, 0x6a, 0x73, 0xaf, 0xde, 0x92, 0xc9, 0xd5, 0x67, 0x6a, 0x59, 0x5d, + 0xd9, 0x43, 0x83, 0x7e, 0x12, 0xe9, 0xcb, 0x5c, 0x9b, 0xa1, 0x9b, 0xf8, +}; +static const unsigned char kat2726_addin1[] = { + 0xe0, 0x69, 0x0e, 0xe6, 0xa3, 0xda, 0xb9, 0xa0, 0x06, 0x4b, 0x9f, 0x66, + 0x24, 0x65, 0xf3, 0xbd, 0x64, 0xef, 0x58, 0x17, 0xe1, 0x57, 0x6d, 0x1a, + 0x03, 0x14, 0xcd, 0x53, 0x10, 0x05, 0x0e, 0x9e, 0xec, 0xce, 0x9a, 0xf2, + 0xab, 0x25, 0xd0, 0xbc, 0x75, 0xd5, 0x2a, 0x7f, 0xe5, 0xc8, 0xb8, 0x3d, +}; +static const unsigned char kat2726_retbits[] = { + 0xe2, 0xb0, 0xd8, 0xa4, 0x4e, 0x3f, 0x8b, 0xa7, 0xfa, 0x4d, 0xfe, 0xbd, + 0x53, 0x45, 0xa9, 0x09, 0x96, 0xce, 0xa8, 0xdf, 0x80, 0xce, 0xc9, 0xa7, + 0x28, 0x91, 0x0d, 0x7f, 0xc5, 0xc0, 0x94, 0xf5, 0x32, 0x68, 0xfc, 0xee, + 0x40, 0x25, 0x1f, 0x6f, 0x47, 0xba, 0x66, 0x19, 0x2e, 0x3b, 0x8f, 0x3a, + 0x62, 0x70, 0x10, 0xea, 0x35, 0xf1, 0x11, 0x60, 0x7c, 0x44, 0x75, 0x82, + 0x03, 0xc8, 0x39, 0x5f, +}; +static const struct drbg_kat_pr_false kat2726_t = { + 10, kat2726_entropyin, kat2726_nonce, kat2726_persstr, + kat2726_entropyinreseed, kat2726_addinreseed, kat2726_addin0, + kat2726_addin1, kat2726_retbits +}; +static const struct drbg_kat kat2726 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2726_t +}; + +static const unsigned char kat2727_entropyin[] = { + 0xa4, 0xf0, 0x60, 0x38, 0x5b, 0x08, 0x50, 0xd4, 0x7d, 0x0c, 0x0b, 0x0a, + 0xc0, 0xec, 0xda, 0x01, 0x4b, 0x1f, 0xc6, 0xf9, 0x37, 0xc2, 0x9a, 0x07, + 0x13, 0x1a, 0x06, 0x9a, 0x8e, 0x92, 0xc2, 0xcb, 0x6c, 0xcf, 0x7e, 0xc4, + 0x02, 0x0e, 0x66, 0xff, 0xd5, 0x43, 0x7c, 0x9e, 0x5d, 0x4c, 0xaf, 0xce, +}; +static const unsigned char kat2727_nonce[] = {0}; +static const unsigned char kat2727_persstr[] = {0}; +static const unsigned char kat2727_entropyinreseed[] = { + 0xef, 0x46, 0x49, 0x80, 0xf1, 0xce, 0x99, 0x63, 0x0c, 0xdc, 0xbd, 0xcc, + 0x21, 0xe8, 0x11, 0x7e, 0x59, 0x2f, 0xd7, 0x40, 0x4d, 0x82, 0x32, 0xf6, + 0xcf, 0xbb, 0x2c, 0x85, 0x1b, 0x93, 0xc7, 0x7a, 0x0c, 0x59, 0x4b, 0x22, + 0xb8, 0xcd, 0xc5, 0xb0, 0xae, 0x94, 0xd4, 0x48, 0xe8, 0x21, 0x8c, 0x4f, +}; +static const unsigned char kat2727_addinreseed[] = { + 0x4f, 0x2f, 0x1b, 0x15, 0x89, 0xf6, 0x13, 0xc2, 0x3c, 0xbc, 0x06, 0x6b, + 0x1c, 0xbc, 0x89, 0x14, 0x6c, 0x47, 0x09, 0x58, 0x0a, 0x76, 0xda, 0xce, + 0x35, 0x2e, 0x90, 0x56, 0xb9, 0x11, 0x06, 0x31, 0x37, 0xd4, 0x20, 0xf2, + 0x08, 0x18, 0xd1, 0x0f, 0x2c, 0x4a, 0xf5, 0xff, 0xe3, 0xfb, 0xf0, 0x13, +}; +static const unsigned char kat2727_addin0[] = { + 0xa9, 0x8e, 0xd1, 0x98, 0x9a, 0x02, 0x26, 0xf8, 0xa2, 0xae, 0x30, 0xd0, + 0x3b, 0xb8, 0x27, 0x0d, 0x48, 0x68, 0x00, 0xfb, 0x7a, 0x3f, 0x92, 0x45, + 0xd8, 0xfa, 0x5e, 0xe3, 0xef, 0x7b, 0x73, 0x21, 0xcc, 0x1a, 0x7a, 0x4b, + 0xdf, 0xfb, 0x07, 0x6f, 0x67, 0xe3, 0xcc, 0xca, 0xaf, 0x55, 0xaf, 0x53, +}; +static const unsigned char kat2727_addin1[] = { + 0x2c, 0xe1, 0x65, 0xd5, 0x6b, 0x27, 0x06, 0xb8, 0x4b, 0x8d, 0x3d, 0x85, + 0xba, 0xf9, 0xeb, 0x00, 0x31, 0x99, 0xbc, 0xf8, 0xd9, 0xb1, 0x62, 0x31, + 0x21, 0x82, 0xbc, 0x94, 0xe9, 0x6f, 0xbb, 0x23, 0x6e, 0x7a, 0x6c, 0xd2, + 0x5a, 0x1d, 0x67, 0x68, 0x98, 0x08, 0x5a, 0xad, 0x9e, 0xab, 0x53, 0x63, +}; +static const unsigned char kat2727_retbits[] = { + 0xa3, 0x44, 0xfd, 0x1c, 0x8b, 0x3b, 0x8b, 0x31, 0x5c, 0xc7, 0x1f, 0x7e, + 0xa0, 0x8d, 0x7f, 0x7b, 0x67, 0x28, 0x51, 0x85, 0x6c, 0xce, 0x86, 0x3f, + 0x46, 0x8e, 0x22, 0xc7, 0x0f, 0x46, 0xff, 0x1e, 0x60, 0x54, 0xcb, 0xbd, + 0xdb, 0xb9, 0x11, 0x1c, 0x43, 0x6d, 0xf3, 0xdf, 0xf2, 0x10, 0x0b, 0x83, + 0x79, 0xca, 0xd9, 0xbd, 0x44, 0x95, 0x06, 0x7a, 0xb4, 0x8a, 0x0f, 0x3a, + 0x1b, 0x7b, 0x80, 0x13, +}; +static const struct drbg_kat_pr_false kat2727_t = { + 11, kat2727_entropyin, kat2727_nonce, kat2727_persstr, + kat2727_entropyinreseed, kat2727_addinreseed, kat2727_addin0, + kat2727_addin1, kat2727_retbits +}; +static const struct drbg_kat kat2727 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2727_t +}; + +static const unsigned char kat2728_entropyin[] = { + 0x87, 0xc9, 0xa6, 0x2e, 0xfa, 0x5b, 0x02, 0x10, 0x14, 0x8f, 0x21, 0x29, + 0x95, 0x8e, 0xb8, 0x48, 0x6e, 0x44, 0x4a, 0xb7, 0x99, 0xd8, 0x6c, 0x04, + 0x52, 0x62, 0xa0, 0x7c, 0xa0, 0x5f, 0x64, 0x40, 0x03, 0xb5, 0xce, 0x88, + 0xfa, 0x05, 0x17, 0x0f, 0x3b, 0x65, 0x3c, 0x9b, 0x3f, 0xc2, 0xfb, 0xfd, +}; +static const unsigned char kat2728_nonce[] = {0}; +static const unsigned char kat2728_persstr[] = {0}; +static const unsigned char kat2728_entropyinreseed[] = { + 0xe8, 0x9f, 0x28, 0x27, 0xfe, 0x7b, 0x20, 0x0c, 0xa1, 0x76, 0x04, 0x35, + 0x27, 0xb2, 0xad, 0x8b, 0x31, 0x74, 0x34, 0x95, 0xbb, 0x61, 0xf5, 0xfc, + 0xd5, 0x9f, 0xdd, 0x54, 0xa5, 0x29, 0x80, 0x3b, 0xd3, 0x1e, 0xd3, 0x8f, + 0x51, 0x84, 0x9e, 0xa4, 0x22, 0x02, 0xd8, 0x40, 0xf5, 0xa5, 0xd8, 0x69, +}; +static const unsigned char kat2728_addinreseed[] = { + 0x21, 0x25, 0x4e, 0xc3, 0xb1, 0xad, 0x3a, 0xbf, 0xc3, 0xc2, 0x37, 0xbc, + 0x6e, 0xac, 0x8f, 0xb1, 0x73, 0xbb, 0xd9, 0x96, 0xd9, 0xab, 0xcb, 0xce, + 0x9c, 0x78, 0xda, 0xe6, 0x49, 0xce, 0x1c, 0x2a, 0xcd, 0x9e, 0xae, 0x88, + 0xa2, 0xe1, 0x17, 0xaa, 0xa7, 0x33, 0x76, 0x48, 0x37, 0x7b, 0x2d, 0xb7, +}; +static const unsigned char kat2728_addin0[] = { + 0xd8, 0x13, 0x19, 0x28, 0x93, 0x26, 0x6c, 0xfd, 0xad, 0x9b, 0x9c, 0xd5, + 0x9a, 0xba, 0x0c, 0xc0, 0xd0, 0x7d, 0x2a, 0xc8, 0x84, 0x87, 0x7c, 0xf9, + 0x03, 0x3b, 0x08, 0xe4, 0xe9, 0x87, 0x7e, 0x70, 0x8d, 0x25, 0x33, 0xcd, + 0xeb, 0x60, 0x40, 0x73, 0xca, 0x1c, 0x92, 0x1b, 0x69, 0x63, 0x55, 0xc0, +}; +static const unsigned char kat2728_addin1[] = { + 0xfe, 0x1e, 0x3c, 0x46, 0x0d, 0x88, 0x02, 0x74, 0x3a, 0xf6, 0xd8, 0x8b, + 0x1b, 0x2f, 0x0a, 0xac, 0xec, 0x84, 0x68, 0x03, 0x78, 0x35, 0xaf, 0x56, + 0xe2, 0x5a, 0x8a, 0x1c, 0xb4, 0x8f, 0x6c, 0x35, 0x17, 0xa9, 0xe4, 0xd4, + 0x04, 0xd3, 0x0c, 0x34, 0x18, 0x63, 0x95, 0xda, 0x17, 0x29, 0xa6, 0x7d, +}; +static const unsigned char kat2728_retbits[] = { + 0x8e, 0x6d, 0x98, 0xa2, 0xf8, 0x64, 0xca, 0x79, 0x5f, 0x57, 0x50, 0xe1, + 0x40, 0x4e, 0xc2, 0x24, 0x14, 0xf8, 0xcb, 0xf2, 0x70, 0xfd, 0x65, 0x54, + 0x50, 0x42, 0x2c, 0x97, 0x95, 0x97, 0xb6, 0xea, 0x5d, 0xf9, 0x79, 0xd2, + 0x13, 0xda, 0x7e, 0x03, 0x8c, 0xab, 0x9e, 0x25, 0x00, 0xd4, 0xcc, 0x8c, + 0x4d, 0xec, 0x89, 0xbf, 0x77, 0x83, 0xab, 0xa6, 0xbc, 0x3b, 0x2b, 0xb2, + 0x80, 0xf4, 0xe1, 0x94, +}; +static const struct drbg_kat_pr_false kat2728_t = { + 12, kat2728_entropyin, kat2728_nonce, kat2728_persstr, + kat2728_entropyinreseed, kat2728_addinreseed, kat2728_addin0, + kat2728_addin1, kat2728_retbits +}; +static const struct drbg_kat kat2728 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2728_t +}; + +static const unsigned char kat2729_entropyin[] = { + 0xd9, 0x48, 0x60, 0x04, 0x71, 0x79, 0xb7, 0x5b, 0x27, 0xbf, 0xf1, 0x65, + 0x71, 0x64, 0xf4, 0x9e, 0x6d, 0xa6, 0x7d, 0x26, 0x5a, 0xeb, 0x48, 0x26, + 0xfe, 0xaa, 0xd5, 0x24, 0xea, 0x87, 0xac, 0xc5, 0xb8, 0x89, 0x5e, 0xee, + 0xe0, 0x08, 0xd0, 0x67, 0x23, 0x4c, 0x46, 0xda, 0x14, 0x72, 0x65, 0x44, +}; +static const unsigned char kat2729_nonce[] = {0}; +static const unsigned char kat2729_persstr[] = {0}; +static const unsigned char kat2729_entropyinreseed[] = { + 0xc4, 0xa3, 0x47, 0x13, 0xf6, 0x7c, 0x2f, 0x97, 0x3b, 0xdd, 0x8f, 0x6e, + 0xd5, 0x82, 0x57, 0xaa, 0xa1, 0xca, 0x04, 0x9f, 0x41, 0x39, 0x37, 0x66, + 0x0c, 0xc1, 0xa9, 0x0d, 0xee, 0xf0, 0x75, 0xc7, 0x25, 0x3a, 0x08, 0x4d, + 0x33, 0x44, 0x23, 0xd5, 0xe8, 0xb8, 0x19, 0x9c, 0xfe, 0xba, 0xc2, 0xdd, +}; +static const unsigned char kat2729_addinreseed[] = { + 0xcb, 0xa1, 0x20, 0xea, 0xbd, 0xe1, 0x83, 0x32, 0xc4, 0x7d, 0x02, 0x5b, + 0xe3, 0x55, 0x20, 0xe8, 0xaf, 0x7d, 0xfd, 0x95, 0x15, 0x99, 0x10, 0xbe, + 0x86, 0xca, 0xfb, 0x74, 0x7f, 0x17, 0xa9, 0x2a, 0x5e, 0x66, 0x77, 0x4c, + 0x4c, 0xdb, 0xd9, 0x05, 0xa2, 0x98, 0x4c, 0x40, 0xe8, 0x8f, 0xd7, 0xa5, +}; +static const unsigned char kat2729_addin0[] = { + 0xef, 0xa2, 0xf6, 0xea, 0xb2, 0xbf, 0xcf, 0x05, 0x27, 0xb2, 0x05, 0x67, + 0x16, 0xfb, 0x0a, 0x45, 0xc7, 0xc5, 0xdf, 0x00, 0xf2, 0x0c, 0xaf, 0x0a, + 0xb7, 0xc8, 0x51, 0x51, 0x14, 0x45, 0xcd, 0x78, 0x40, 0x0d, 0xfa, 0x03, + 0x18, 0x56, 0x97, 0x8f, 0x43, 0x23, 0xa3, 0x77, 0xcf, 0xf0, 0xb4, 0x85, +}; +static const unsigned char kat2729_addin1[] = { + 0x8a, 0xe9, 0xec, 0xde, 0xcf, 0x22, 0x43, 0xb8, 0x26, 0xbf, 0xb9, 0x52, + 0xc5, 0x5c, 0x2e, 0xae, 0x59, 0xa4, 0x49, 0x42, 0x0e, 0x7b, 0xb8, 0xc0, + 0x46, 0xa5, 0xb0, 0x3f, 0x76, 0xfd, 0xa9, 0x0c, 0xe5, 0xb1, 0x3d, 0x5a, + 0x21, 0xc7, 0x4b, 0x0d, 0x96, 0x1b, 0x2d, 0x1c, 0xb5, 0x0d, 0xf9, 0x0b, +}; +static const unsigned char kat2729_retbits[] = { + 0xeb, 0xa9, 0x16, 0x5b, 0xc1, 0x9b, 0x83, 0x16, 0xd6, 0x15, 0x47, 0x56, + 0xf9, 0xa8, 0xd7, 0xae, 0xde, 0x3a, 0xa4, 0x24, 0xdf, 0x4d, 0x42, 0x5b, + 0x4b, 0x9a, 0x1d, 0xd9, 0xd6, 0x32, 0xf8, 0x3b, 0x94, 0x88, 0x16, 0x3b, + 0x73, 0xe0, 0xe0, 0x6a, 0x1f, 0xbc, 0xf9, 0xff, 0xef, 0x3b, 0x5c, 0x8f, + 0x6b, 0xa9, 0x91, 0xec, 0x94, 0xc5, 0x7e, 0xfc, 0x06, 0xb9, 0x48, 0xf1, + 0xe0, 0x72, 0x41, 0x20, +}; +static const struct drbg_kat_pr_false kat2729_t = { + 13, kat2729_entropyin, kat2729_nonce, kat2729_persstr, + kat2729_entropyinreseed, kat2729_addinreseed, kat2729_addin0, + kat2729_addin1, kat2729_retbits +}; +static const struct drbg_kat kat2729 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2729_t +}; + +static const unsigned char kat2730_entropyin[] = { + 0x2c, 0xb0, 0xd6, 0xe2, 0x7d, 0xe0, 0x4e, 0x6a, 0x6e, 0x95, 0xaf, 0x5c, + 0x5e, 0x4c, 0xbf, 0x3f, 0x99, 0x78, 0x85, 0x15, 0xa4, 0xe0, 0x86, 0xba, + 0xea, 0xf0, 0x94, 0x16, 0xee, 0xf5, 0xef, 0xcf, 0x04, 0xbd, 0x72, 0xe6, + 0x6f, 0x3b, 0x9b, 0x0f, 0x8c, 0xc0, 0x87, 0x58, 0x65, 0x95, 0x0e, 0x9d, +}; +static const unsigned char kat2730_nonce[] = {0}; +static const unsigned char kat2730_persstr[] = {0}; +static const unsigned char kat2730_entropyinreseed[] = { + 0x70, 0x0d, 0x72, 0xc6, 0x78, 0x7e, 0xee, 0x74, 0x8c, 0xf3, 0x56, 0xe0, + 0x52, 0x95, 0x44, 0x39, 0xbd, 0xc4, 0x1e, 0x2c, 0x4e, 0x51, 0xf1, 0xef, + 0x3b, 0x7b, 0xf3, 0x7c, 0x21, 0x9f, 0x11, 0x1e, 0x7c, 0x21, 0xf7, 0x07, + 0x2e, 0xed, 0xe6, 0x17, 0xc2, 0x12, 0xcb, 0xcf, 0x54, 0x1a, 0x33, 0xba, +}; +static const unsigned char kat2730_addinreseed[] = { + 0x45, 0x94, 0x32, 0x63, 0x35, 0xf4, 0x7b, 0x93, 0x5b, 0x2b, 0x66, 0x96, + 0x67, 0xcd, 0xe0, 0x24, 0x49, 0xf7, 0x2b, 0x4d, 0xfd, 0x86, 0xd5, 0xa7, + 0xd1, 0xaa, 0xe3, 0xcc, 0x44, 0xb0, 0x8e, 0x94, 0x11, 0x82, 0x70, 0x66, + 0x02, 0x9d, 0xfe, 0x7d, 0x9c, 0x9e, 0x15, 0x4c, 0xe2, 0x14, 0x67, 0xd5, +}; +static const unsigned char kat2730_addin0[] = { + 0xed, 0x3f, 0x47, 0xe5, 0x9a, 0x12, 0xb3, 0x6a, 0x42, 0x61, 0x6b, 0x33, + 0x8c, 0x7a, 0x77, 0xa1, 0x8e, 0x33, 0x3d, 0x38, 0xab, 0xb9, 0xda, 0x4e, + 0x36, 0x91, 0x4b, 0x69, 0xf3, 0xc3, 0x47, 0x68, 0x80, 0x70, 0x55, 0x25, + 0x17, 0x0a, 0x32, 0x0d, 0xa2, 0x6d, 0xc4, 0x02, 0xc6, 0xaf, 0xdf, 0x49, +}; +static const unsigned char kat2730_addin1[] = { + 0x6e, 0x39, 0xb2, 0x49, 0xf1, 0xb8, 0x11, 0x1f, 0xf1, 0x2f, 0xa2, 0x4f, + 0x9f, 0x23, 0x20, 0xdf, 0x2d, 0xc8, 0x75, 0x2e, 0x15, 0x41, 0xf5, 0x56, + 0xb5, 0xce, 0xdf, 0xff, 0x40, 0x9b, 0x6a, 0x85, 0x84, 0x90, 0xc2, 0x7e, + 0x05, 0x2a, 0x63, 0x50, 0x4c, 0x71, 0x31, 0xb4, 0x38, 0xf4, 0x43, 0x56, +}; +static const unsigned char kat2730_retbits[] = { + 0x65, 0x0b, 0xee, 0x69, 0x39, 0x3d, 0x5d, 0x77, 0x93, 0xc8, 0xa5, 0xa4, + 0x0c, 0xae, 0x79, 0xbd, 0x47, 0x0d, 0x15, 0xfd, 0xac, 0xab, 0x7b, 0x51, + 0xb2, 0x51, 0xf5, 0x1d, 0xc5, 0xd3, 0xe3, 0x83, 0xd2, 0x8d, 0x80, 0x8c, + 0x7f, 0x9e, 0x01, 0x8c, 0x71, 0xec, 0xcc, 0x80, 0x37, 0x1a, 0x9e, 0x02, + 0x67, 0xba, 0x40, 0x53, 0xec, 0x0e, 0x4c, 0x07, 0x1d, 0x11, 0x09, 0x42, + 0xc4, 0x31, 0x49, 0xc0, +}; +static const struct drbg_kat_pr_false kat2730_t = { + 14, kat2730_entropyin, kat2730_nonce, kat2730_persstr, + kat2730_entropyinreseed, kat2730_addinreseed, kat2730_addin0, + kat2730_addin1, kat2730_retbits +}; +static const struct drbg_kat kat2730 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2730_t +}; + +static const unsigned char kat2731_entropyin[] = { + 0x91, 0xe1, 0x5b, 0x57, 0x88, 0x61, 0x56, 0xd0, 0xea, 0xe2, 0xed, 0xa3, + 0x68, 0x7c, 0xc4, 0xb6, 0x17, 0x72, 0x56, 0x47, 0xfc, 0x34, 0x23, 0xfb, + 0x54, 0x8f, 0x18, 0x03, 0x38, 0x06, 0x4a, 0xb6, 0x68, 0x98, 0x00, 0x50, + 0x09, 0xc2, 0xc9, 0xc5, 0xf7, 0xc4, 0x20, 0xd9, 0x9e, 0x4f, 0x35, 0x1a, +}; +static const unsigned char kat2731_nonce[] = {0}; +static const unsigned char kat2731_persstr[] = { + 0x71, 0x00, 0xbe, 0xe1, 0xf8, 0xca, 0x38, 0xf4, 0xf0, 0x7b, 0x99, 0x10, + 0xb1, 0x2b, 0xae, 0xce, 0x71, 0x52, 0x22, 0x66, 0x3a, 0x1d, 0x5c, 0x16, + 0x99, 0xb5, 0xd4, 0x02, 0x2c, 0x0e, 0x0b, 0x1a, 0x49, 0xc9, 0x4b, 0x89, + 0x8e, 0x53, 0x18, 0xf6, 0x86, 0x1b, 0x43, 0xa8, 0xf1, 0xa4, 0xa8, 0x82, +}; +static const unsigned char kat2731_entropyinreseed[] = { + 0x25, 0xda, 0x97, 0x00, 0xe7, 0x98, 0x8a, 0x46, 0xb2, 0xfb, 0x44, 0x35, + 0x8f, 0xc3, 0xb1, 0x40, 0xaf, 0x96, 0xb9, 0xf8, 0x5c, 0xfc, 0x74, 0x79, + 0x78, 0xe8, 0x5a, 0xfc, 0xca, 0x0b, 0xcc, 0x02, 0xe8, 0x07, 0xaf, 0x83, + 0x0b, 0x3c, 0x0e, 0x69, 0x60, 0xa6, 0x0b, 0xbc, 0x2d, 0xed, 0x89, 0x1b, +}; +static const unsigned char kat2731_addinreseed[] = {0}; +static const unsigned char kat2731_addin0[] = {0}; +static const unsigned char kat2731_addin1[] = {0}; +static const unsigned char kat2731_retbits[] = { + 0xea, 0xa8, 0x0c, 0x6f, 0x59, 0x0f, 0x28, 0xcc, 0x7b, 0x5e, 0xdb, 0xd3, + 0xd8, 0x64, 0x3a, 0x68, 0xf7, 0xe6, 0xde, 0x87, 0x3b, 0x0b, 0x9d, 0x83, + 0x9b, 0x0a, 0xb9, 0x6c, 0xa2, 0x48, 0xbb, 0x4b, 0x92, 0x34, 0xb1, 0xc0, + 0x65, 0x85, 0x7d, 0x93, 0x6c, 0xe6, 0xdd, 0x0f, 0xc9, 0x2d, 0x6b, 0x3c, + 0xf9, 0x8f, 0x3a, 0x29, 0xc1, 0x6b, 0xb5, 0x49, 0xf6, 0xde, 0xa4, 0x22, + 0x12, 0x26, 0xe5, 0x50, +}; +static const struct drbg_kat_pr_false kat2731_t = { + 0, kat2731_entropyin, kat2731_nonce, kat2731_persstr, + kat2731_entropyinreseed, kat2731_addinreseed, kat2731_addin0, + kat2731_addin1, kat2731_retbits +}; +static const struct drbg_kat kat2731 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2731_t +}; + +static const unsigned char kat2732_entropyin[] = { + 0x6e, 0x3b, 0x47, 0x2f, 0xea, 0x5f, 0x25, 0xa7, 0x9c, 0x5d, 0xe8, 0x59, + 0xc0, 0xff, 0x7e, 0x63, 0x7f, 0x4c, 0xfa, 0xc5, 0x75, 0x87, 0x8b, 0xf2, + 0x01, 0x6d, 0xa2, 0xdb, 0x6a, 0xff, 0x49, 0xde, 0x45, 0x89, 0xa5, 0x9b, + 0x26, 0x6d, 0x50, 0xf5, 0x43, 0x4f, 0x3e, 0xc4, 0xa3, 0xf2, 0x18, 0xd3, +}; +static const unsigned char kat2732_nonce[] = {0}; +static const unsigned char kat2732_persstr[] = { + 0x74, 0x97, 0xe7, 0x6b, 0xdd, 0x5d, 0xf3, 0xdf, 0xec, 0xdf, 0xf6, 0x1a, + 0x13, 0x9b, 0xcd, 0xe7, 0xda, 0x45, 0xd8, 0xe8, 0x8f, 0x7b, 0xf1, 0x20, + 0xca, 0x78, 0xeb, 0xd1, 0xf6, 0x42, 0xb0, 0x9d, 0x6e, 0xac, 0x78, 0xce, + 0x16, 0xca, 0x05, 0x27, 0x5b, 0xfa, 0xda, 0xa2, 0xe1, 0x3c, 0xea, 0xec, +}; +static const unsigned char kat2732_entropyinreseed[] = { + 0x2b, 0xe8, 0xa6, 0x57, 0xb7, 0xf5, 0xdf, 0xd9, 0x9e, 0x4c, 0x93, 0x78, + 0xc4, 0x19, 0x2e, 0x45, 0x0a, 0x48, 0xe9, 0x15, 0x2b, 0x5a, 0x6e, 0xd1, + 0x21, 0x94, 0x28, 0xa0, 0x5a, 0x69, 0x8f, 0x42, 0x29, 0xf5, 0x49, 0xb5, + 0x0f, 0x06, 0xbd, 0xc1, 0x08, 0x50, 0x06, 0xec, 0x69, 0x88, 0x26, 0xf7, +}; +static const unsigned char kat2732_addinreseed[] = {0}; +static const unsigned char kat2732_addin0[] = {0}; +static const unsigned char kat2732_addin1[] = {0}; +static const unsigned char kat2732_retbits[] = { + 0xf8, 0xa1, 0x1f, 0xfd, 0xc1, 0xd3, 0xe0, 0x67, 0x80, 0x07, 0x10, 0x40, + 0xf6, 0x13, 0xbb, 0xbb, 0x40, 0xeb, 0x3d, 0xd4, 0x7a, 0x2e, 0x62, 0x78, + 0x77, 0x9d, 0x25, 0xed, 0x33, 0x56, 0x43, 0x8a, 0x44, 0xaa, 0x45, 0x10, + 0xbd, 0x2c, 0xd3, 0x86, 0xc7, 0x45, 0x99, 0x6e, 0x15, 0x69, 0x49, 0xbc, + 0x5d, 0x7a, 0x1f, 0x2d, 0x8a, 0xb7, 0x98, 0x92, 0xa6, 0x05, 0xff, 0x2c, + 0x8a, 0x80, 0x19, 0xcc, +}; +static const struct drbg_kat_pr_false kat2732_t = { + 1, kat2732_entropyin, kat2732_nonce, kat2732_persstr, + kat2732_entropyinreseed, kat2732_addinreseed, kat2732_addin0, + kat2732_addin1, kat2732_retbits +}; +static const struct drbg_kat kat2732 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2732_t +}; + +static const unsigned char kat2733_entropyin[] = { + 0x82, 0xf5, 0xdd, 0xd3, 0xa5, 0x42, 0x2d, 0x53, 0x66, 0x95, 0x19, 0x0a, + 0xb2, 0x14, 0x73, 0xff, 0x7c, 0x14, 0xa7, 0xf1, 0xf1, 0xa0, 0xce, 0xa9, + 0x02, 0x5b, 0x37, 0xbe, 0xdb, 0x05, 0x6a, 0xe9, 0xab, 0xd7, 0x1e, 0x55, + 0x9e, 0x6c, 0x5c, 0xf0, 0xaf, 0x69, 0xe6, 0xed, 0x4a, 0xf3, 0x98, 0x76, +}; +static const unsigned char kat2733_nonce[] = {0}; +static const unsigned char kat2733_persstr[] = { + 0x56, 0x04, 0x27, 0x9f, 0x9d, 0x30, 0x62, 0xf2, 0xc6, 0x6f, 0x31, 0x14, + 0x8b, 0x2c, 0x14, 0x62, 0x24, 0x69, 0xb5, 0x95, 0xd0, 0x2d, 0xa1, 0xf1, + 0xad, 0x49, 0xa5, 0x73, 0xbb, 0xb7, 0xa3, 0xcd, 0x5d, 0x50, 0xdc, 0x4a, + 0xf9, 0xd0, 0xe0, 0xf1, 0xbd, 0xd7, 0x07, 0x90, 0x41, 0xb0, 0x0d, 0x46, +}; +static const unsigned char kat2733_entropyinreseed[] = { + 0xc2, 0xab, 0x5c, 0x98, 0xa6, 0x77, 0x0b, 0xed, 0xff, 0x18, 0xba, 0xea, + 0xaf, 0xf9, 0xc4, 0x65, 0x6e, 0x9a, 0xfa, 0x23, 0xca, 0xf9, 0xbf, 0xca, + 0xdd, 0x98, 0x71, 0xc9, 0x9a, 0xb4, 0xf9, 0x33, 0xd4, 0xce, 0x81, 0xd0, + 0x5f, 0xd1, 0xe5, 0x8a, 0x90, 0x3a, 0xdd, 0x27, 0xc3, 0xb9, 0x93, 0x0f, +}; +static const unsigned char kat2733_addinreseed[] = {0}; +static const unsigned char kat2733_addin0[] = {0}; +static const unsigned char kat2733_addin1[] = {0}; +static const unsigned char kat2733_retbits[] = { + 0x69, 0x8d, 0xb7, 0x10, 0x0c, 0x3d, 0xf5, 0x35, 0xc7, 0x55, 0x87, 0xca, + 0x23, 0x42, 0xc7, 0x05, 0x18, 0xf3, 0xa5, 0xec, 0xb6, 0x7a, 0x74, 0x2f, + 0x7c, 0x83, 0x5d, 0x59, 0x13, 0xe0, 0xca, 0x72, 0x8e, 0xe9, 0x49, 0x23, + 0xe8, 0x7f, 0xc9, 0xd5, 0xcc, 0x21, 0x60, 0xf7, 0x0e, 0x69, 0x9a, 0x32, + 0x87, 0xda, 0x42, 0x65, 0xdb, 0x0e, 0xde, 0xff, 0xf8, 0xb1, 0x9a, 0xe2, + 0x0e, 0x52, 0x7d, 0xe2, +}; +static const struct drbg_kat_pr_false kat2733_t = { + 2, kat2733_entropyin, kat2733_nonce, kat2733_persstr, + kat2733_entropyinreseed, kat2733_addinreseed, kat2733_addin0, + kat2733_addin1, kat2733_retbits +}; +static const struct drbg_kat kat2733 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2733_t +}; + +static const unsigned char kat2734_entropyin[] = { + 0x9f, 0x71, 0xab, 0x85, 0x37, 0xb7, 0xc4, 0x79, 0x3d, 0xde, 0x60, 0xc6, + 0xfe, 0xe3, 0xd4, 0x54, 0xf0, 0xe7, 0x06, 0x5f, 0xe6, 0xc2, 0xc0, 0x84, + 0x4f, 0xf6, 0xcd, 0x83, 0x8b, 0xa5, 0xae, 0x9e, 0x77, 0xe8, 0x72, 0x40, + 0xf4, 0x70, 0xf7, 0x25, 0x11, 0x65, 0xa3, 0x31, 0x60, 0x83, 0x08, 0x3d, +}; +static const unsigned char kat2734_nonce[] = {0}; +static const unsigned char kat2734_persstr[] = { + 0x29, 0x77, 0xd0, 0xfd, 0xf3, 0x66, 0xff, 0xc1, 0x39, 0x18, 0x7b, 0xf7, + 0x43, 0x12, 0x45, 0x1d, 0xc0, 0xba, 0x01, 0x06, 0xef, 0xbc, 0xf2, 0x3d, + 0xb1, 0x46, 0x8d, 0xa3, 0x79, 0xed, 0xff, 0x5d, 0x2b, 0x06, 0xca, 0x01, + 0x7f, 0xdb, 0x7b, 0x1c, 0x1d, 0x3e, 0xdc, 0x0a, 0xa3, 0xcd, 0xe8, 0x48, +}; +static const unsigned char kat2734_entropyinreseed[] = { + 0x12, 0x2c, 0xbf, 0x6b, 0xc8, 0xe2, 0xb5, 0xdd, 0x7e, 0xd3, 0x75, 0xe0, + 0xd5, 0x4f, 0x5f, 0x8d, 0x93, 0x91, 0x73, 0x4f, 0xc3, 0x48, 0x08, 0xaf, + 0x73, 0x67, 0xcb, 0x48, 0x6d, 0x02, 0x58, 0x22, 0xb8, 0xaa, 0xe7, 0x4d, + 0xe3, 0x76, 0xb4, 0x75, 0x86, 0xcd, 0xad, 0x37, 0x4f, 0x05, 0x99, 0xe6, +}; +static const unsigned char kat2734_addinreseed[] = {0}; +static const unsigned char kat2734_addin0[] = {0}; +static const unsigned char kat2734_addin1[] = {0}; +static const unsigned char kat2734_retbits[] = { + 0x03, 0xde, 0x46, 0x36, 0x85, 0x03, 0x7a, 0xa9, 0x4a, 0x5b, 0x83, 0x52, + 0x1a, 0x36, 0x9e, 0x8c, 0xf7, 0xaf, 0x62, 0xec, 0x22, 0x8e, 0x7c, 0x96, + 0x15, 0xde, 0xf0, 0x82, 0x4a, 0x8e, 0x47, 0x11, 0x68, 0x66, 0x95, 0xe0, + 0x3e, 0x33, 0x90, 0x18, 0xcf, 0x70, 0xce, 0xa9, 0xc9, 0x59, 0x0a, 0xc4, + 0xe9, 0x56, 0x94, 0xf0, 0x9e, 0xe7, 0xd7, 0xd1, 0xb7, 0x0e, 0xab, 0x65, + 0xe1, 0xa0, 0x34, 0xc1, +}; +static const struct drbg_kat_pr_false kat2734_t = { + 3, kat2734_entropyin, kat2734_nonce, kat2734_persstr, + kat2734_entropyinreseed, kat2734_addinreseed, kat2734_addin0, + kat2734_addin1, kat2734_retbits +}; +static const struct drbg_kat kat2734 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2734_t +}; + +static const unsigned char kat2735_entropyin[] = { + 0xec, 0x2c, 0xb7, 0xfd, 0x16, 0x87, 0xee, 0xb7, 0x68, 0xe0, 0xaa, 0x90, + 0xe5, 0x02, 0x37, 0xf6, 0xf6, 0xb6, 0x94, 0x60, 0xbb, 0x90, 0x7a, 0x26, + 0xb0, 0x32, 0xf2, 0xe7, 0x2b, 0xc2, 0x0d, 0x9a, 0xe3, 0x1c, 0x39, 0x44, + 0x0f, 0xee, 0x46, 0x37, 0xb3, 0xb9, 0xc6, 0x09, 0xb0, 0x79, 0x3b, 0x8a, +}; +static const unsigned char kat2735_nonce[] = {0}; +static const unsigned char kat2735_persstr[] = { + 0xe3, 0x6b, 0x7f, 0x06, 0x00, 0x48, 0x29, 0xa8, 0x9b, 0x97, 0xf8, 0x40, + 0xe4, 0x1a, 0x19, 0x03, 0xea, 0x85, 0x8c, 0xce, 0x5d, 0x4b, 0x5b, 0x5c, + 0x20, 0xf7, 0x2d, 0x61, 0x3b, 0x8b, 0xf3, 0x19, 0xbf, 0x47, 0x45, 0x34, + 0x3e, 0x2c, 0x51, 0xb4, 0xec, 0x07, 0x01, 0x93, 0x8a, 0xd7, 0xeb, 0xdb, +}; +static const unsigned char kat2735_entropyinreseed[] = { + 0x1c, 0xed, 0x71, 0xaa, 0x0d, 0xb6, 0xa7, 0xdd, 0x04, 0xab, 0x97, 0x7a, + 0xb3, 0x3a, 0x9e, 0xc9, 0x7d, 0xe3, 0x93, 0x4b, 0x19, 0x94, 0x51, 0x6b, + 0x48, 0xb1, 0x93, 0x77, 0x77, 0xa9, 0x17, 0xae, 0x79, 0x3d, 0x83, 0xb3, + 0xdd, 0x50, 0x30, 0x5d, 0xd2, 0x36, 0xf2, 0x77, 0xbc, 0xab, 0x92, 0x2e, +}; +static const unsigned char kat2735_addinreseed[] = {0}; +static const unsigned char kat2735_addin0[] = {0}; +static const unsigned char kat2735_addin1[] = {0}; +static const unsigned char kat2735_retbits[] = { + 0xb9, 0xc8, 0x3e, 0x1f, 0xf7, 0x79, 0xbd, 0x79, 0xd2, 0x96, 0xa5, 0xfa, + 0x5c, 0xca, 0xd5, 0x3c, 0x87, 0xdf, 0x26, 0xed, 0x36, 0x4b, 0xc8, 0xb5, + 0xc9, 0xf9, 0xa3, 0xee, 0xa5, 0x48, 0xfa, 0xa3, 0x41, 0x49, 0xb6, 0x8c, + 0xa6, 0x5f, 0x6f, 0x39, 0x47, 0x24, 0x6c, 0x93, 0xf0, 0xbb, 0x4e, 0x43, + 0x07, 0xe5, 0x3f, 0x86, 0x26, 0xf1, 0x76, 0x36, 0x08, 0x96, 0x60, 0x81, + 0x35, 0x73, 0x8f, 0x75, +}; +static const struct drbg_kat_pr_false kat2735_t = { + 4, kat2735_entropyin, kat2735_nonce, kat2735_persstr, + kat2735_entropyinreseed, kat2735_addinreseed, kat2735_addin0, + kat2735_addin1, kat2735_retbits +}; +static const struct drbg_kat kat2735 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2735_t +}; + +static const unsigned char kat2736_entropyin[] = { + 0x37, 0x62, 0x81, 0x9e, 0xb5, 0x55, 0x27, 0x7d, 0x06, 0xed, 0x93, 0x23, + 0xab, 0x98, 0x9c, 0xf5, 0x10, 0x18, 0x87, 0xf5, 0x94, 0xe8, 0x3e, 0x4e, + 0x6a, 0xcb, 0x79, 0xc6, 0xe9, 0x8f, 0x41, 0x4a, 0x99, 0xa7, 0x6e, 0x6d, + 0xe2, 0x44, 0xe3, 0xe6, 0x0c, 0xe0, 0xa2, 0xd7, 0xe8, 0xa9, 0x9a, 0xef, +}; +static const unsigned char kat2736_nonce[] = {0}; +static const unsigned char kat2736_persstr[] = { + 0xdc, 0x31, 0xa8, 0x54, 0x91, 0x58, 0x5c, 0x0e, 0x1c, 0x6a, 0x7f, 0xa4, + 0x09, 0x45, 0x40, 0xf7, 0x7d, 0xee, 0xdd, 0x92, 0x45, 0x6e, 0x5e, 0x58, + 0xa3, 0x5f, 0x30, 0x66, 0x20, 0x6d, 0x7e, 0xbb, 0xd6, 0xb9, 0x35, 0x1d, + 0x4f, 0x7e, 0x0a, 0xe2, 0x38, 0x67, 0xc4, 0xd6, 0xe8, 0x9e, 0x3c, 0x50, +}; +static const unsigned char kat2736_entropyinreseed[] = { + 0xaa, 0x86, 0xce, 0x83, 0x63, 0xce, 0xc6, 0x55, 0xcf, 0x3e, 0x61, 0x7b, + 0x5c, 0x1f, 0xf6, 0x83, 0x47, 0x8b, 0x15, 0x53, 0x4c, 0x43, 0xf2, 0x96, + 0x7e, 0x64, 0xb2, 0x5f, 0x97, 0x22, 0x0d, 0x0a, 0x55, 0x01, 0x02, 0xb9, + 0xc8, 0x1a, 0x24, 0x34, 0x69, 0xd7, 0xf6, 0xec, 0x36, 0x91, 0x58, 0x6f, +}; +static const unsigned char kat2736_addinreseed[] = {0}; +static const unsigned char kat2736_addin0[] = {0}; +static const unsigned char kat2736_addin1[] = {0}; +static const unsigned char kat2736_retbits[] = { + 0x47, 0xf6, 0x78, 0xbe, 0x2f, 0x23, 0x06, 0x90, 0x2c, 0xc4, 0xd1, 0xc3, + 0xe6, 0x12, 0xaf, 0x02, 0x9b, 0xa7, 0x35, 0x10, 0x5f, 0x2d, 0x63, 0x1a, + 0xa5, 0x5e, 0x77, 0x4d, 0x71, 0x27, 0xb8, 0xd8, 0x63, 0x76, 0x72, 0x4e, + 0xb6, 0x7f, 0x3f, 0x19, 0x86, 0x7d, 0x6c, 0x57, 0xa6, 0x1a, 0x2b, 0xc7, + 0x2f, 0xd2, 0x17, 0x1d, 0xf2, 0xc3, 0xb9, 0xe0, 0x5e, 0x62, 0xfa, 0xa8, + 0xbc, 0xf6, 0xf5, 0xe2, +}; +static const struct drbg_kat_pr_false kat2736_t = { + 5, kat2736_entropyin, kat2736_nonce, kat2736_persstr, + kat2736_entropyinreseed, kat2736_addinreseed, kat2736_addin0, + kat2736_addin1, kat2736_retbits +}; +static const struct drbg_kat kat2736 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2736_t +}; + +static const unsigned char kat2737_entropyin[] = { + 0xae, 0x97, 0x8a, 0xfd, 0x23, 0x7a, 0x85, 0xe4, 0xde, 0x2c, 0xd3, 0x1a, + 0x18, 0xb9, 0xb3, 0x88, 0x17, 0xd7, 0xf9, 0x18, 0x82, 0x28, 0x5c, 0x94, + 0xdf, 0xc0, 0x90, 0x5f, 0x46, 0xe4, 0x84, 0x06, 0x3e, 0x7a, 0xab, 0x1f, + 0xde, 0x07, 0xeb, 0x63, 0x42, 0x4d, 0x07, 0x9a, 0x92, 0xb3, 0xc6, 0xd8, +}; +static const unsigned char kat2737_nonce[] = {0}; +static const unsigned char kat2737_persstr[] = { + 0x48, 0xf6, 0xc7, 0x5b, 0x8b, 0x2d, 0xc0, 0x18, 0x64, 0xb2, 0xca, 0x28, + 0x83, 0x3a, 0x64, 0xa5, 0x46, 0x2a, 0x4a, 0x3b, 0x51, 0x62, 0xbb, 0xf6, + 0xd9, 0xbb, 0x48, 0xd4, 0x6e, 0x96, 0x52, 0x9b, 0x67, 0xf8, 0x65, 0x1c, + 0xd7, 0x82, 0xba, 0x7b, 0xbe, 0x2b, 0x5f, 0xf3, 0xfd, 0x8b, 0x20, 0x4a, +}; +static const unsigned char kat2737_entropyinreseed[] = { + 0x5e, 0x3d, 0x63, 0xb5, 0x19, 0xf1, 0xed, 0x0d, 0xdf, 0x0f, 0x16, 0xdf, + 0x03, 0x40, 0x60, 0xe6, 0xc6, 0x53, 0x43, 0x6c, 0x79, 0xdf, 0xf1, 0xa6, + 0xe7, 0x83, 0x20, 0x07, 0x28, 0x7d, 0xb3, 0x94, 0xfb, 0xca, 0x52, 0x7b, + 0x57, 0x04, 0x8f, 0x00, 0x86, 0xf8, 0xae, 0xeb, 0x5c, 0x01, 0x6f, 0x70, +}; +static const unsigned char kat2737_addinreseed[] = {0}; +static const unsigned char kat2737_addin0[] = {0}; +static const unsigned char kat2737_addin1[] = {0}; +static const unsigned char kat2737_retbits[] = { + 0xc3, 0xa5, 0xf9, 0xa7, 0xf2, 0x21, 0x9e, 0x8e, 0xde, 0x06, 0xf2, 0xe6, + 0x01, 0xb2, 0x92, 0x3e, 0x7c, 0x6b, 0x71, 0xc5, 0x6f, 0x02, 0x9e, 0x47, + 0xd0, 0x0d, 0x1d, 0xc1, 0x07, 0x67, 0x53, 0xf0, 0xa7, 0x25, 0x51, 0x1f, + 0x57, 0xd0, 0xf7, 0x2c, 0x8c, 0x1c, 0x71, 0x6f, 0x4e, 0xab, 0xcb, 0x8f, + 0x97, 0x8b, 0x23, 0xd3, 0xbe, 0x57, 0x2d, 0x86, 0x72, 0xa3, 0xeb, 0x58, + 0xe4, 0xdb, 0x4e, 0x54, +}; +static const struct drbg_kat_pr_false kat2737_t = { + 6, kat2737_entropyin, kat2737_nonce, kat2737_persstr, + kat2737_entropyinreseed, kat2737_addinreseed, kat2737_addin0, + kat2737_addin1, kat2737_retbits +}; +static const struct drbg_kat kat2737 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2737_t +}; + +static const unsigned char kat2738_entropyin[] = { + 0x0a, 0x57, 0xf0, 0x9c, 0x06, 0x23, 0x67, 0x3f, 0xc5, 0xca, 0x4d, 0xb9, + 0x81, 0x6c, 0xcb, 0x02, 0x1f, 0xfe, 0x39, 0xe7, 0xd8, 0x3b, 0x44, 0x48, + 0xc8, 0x94, 0xce, 0x8f, 0x48, 0x14, 0x90, 0x3a, 0x3d, 0x92, 0x11, 0x81, + 0x93, 0x84, 0x37, 0x4a, 0x2e, 0xfb, 0x7b, 0x2e, 0x53, 0xf4, 0xeb, 0x0a, +}; +static const unsigned char kat2738_nonce[] = {0}; +static const unsigned char kat2738_persstr[] = { + 0xf1, 0xab, 0x27, 0xd8, 0xd7, 0xf7, 0xa4, 0xa4, 0x80, 0x2c, 0x0d, 0xba, + 0xe5, 0x16, 0x45, 0x4e, 0x38, 0x5d, 0x5e, 0xfb, 0xb8, 0x4b, 0x65, 0x2f, + 0xae, 0x49, 0xca, 0xeb, 0xc1, 0xf2, 0x8e, 0x5c, 0xd3, 0xde, 0x4f, 0x7e, + 0x9a, 0xb8, 0x59, 0xd7, 0x1e, 0x9d, 0xf5, 0x32, 0xce, 0x3f, 0xf5, 0xd9, +}; +static const unsigned char kat2738_entropyinreseed[] = { + 0x1e, 0xcf, 0xb8, 0x01, 0x9f, 0xdf, 0xb9, 0x6f, 0xf4, 0x76, 0x33, 0x7c, + 0x1e, 0xd5, 0xb5, 0x3c, 0x58, 0xd5, 0x10, 0x1c, 0x0b, 0xd3, 0x81, 0xa9, + 0x15, 0xc3, 0x55, 0x3e, 0xe0, 0x0c, 0x52, 0xf1, 0x22, 0xb5, 0x94, 0xbb, + 0x2c, 0x60, 0x82, 0xfb, 0xc8, 0xb4, 0x74, 0xe0, 0xad, 0x87, 0x02, 0x33, +}; +static const unsigned char kat2738_addinreseed[] = {0}; +static const unsigned char kat2738_addin0[] = {0}; +static const unsigned char kat2738_addin1[] = {0}; +static const unsigned char kat2738_retbits[] = { + 0xe3, 0xd7, 0xd1, 0x05, 0x74, 0x50, 0xf9, 0xd8, 0xc6, 0x7a, 0xed, 0x69, + 0xfd, 0x4d, 0x5a, 0x22, 0xc5, 0xe7, 0xa3, 0xfd, 0x0e, 0x67, 0x67, 0x9d, + 0xcb, 0xed, 0x90, 0xd6, 0xc4, 0x43, 0x51, 0x7f, 0xda, 0xe2, 0x0a, 0xa0, + 0x13, 0xcb, 0x9b, 0xff, 0x3f, 0x28, 0x06, 0xd4, 0x73, 0x14, 0x30, 0xc4, + 0x27, 0xf3, 0xd2, 0xb2, 0xf5, 0xf4, 0x64, 0x50, 0xaf, 0x8b, 0x04, 0x59, + 0x40, 0xa4, 0x59, 0xdc, +}; +static const struct drbg_kat_pr_false kat2738_t = { + 7, kat2738_entropyin, kat2738_nonce, kat2738_persstr, + kat2738_entropyinreseed, kat2738_addinreseed, kat2738_addin0, + kat2738_addin1, kat2738_retbits +}; +static const struct drbg_kat kat2738 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2738_t +}; + +static const unsigned char kat2739_entropyin[] = { + 0x42, 0x59, 0x55, 0xfd, 0xfa, 0x0f, 0x37, 0xf1, 0xef, 0x8f, 0xf3, 0x6c, + 0xa9, 0x01, 0x35, 0x20, 0xda, 0xee, 0x7f, 0xea, 0x30, 0xd7, 0x81, 0x0b, + 0x3f, 0xed, 0xce, 0xc3, 0x1b, 0xa3, 0x7f, 0x38, 0xfe, 0x51, 0x0c, 0x91, + 0xaa, 0x3a, 0x29, 0x79, 0x5e, 0x47, 0x4a, 0x85, 0x1d, 0x3a, 0x51, 0x5d, +}; +static const unsigned char kat2739_nonce[] = {0}; +static const unsigned char kat2739_persstr[] = { + 0x72, 0x3d, 0x97, 0x3a, 0xee, 0xeb, 0x21, 0xbd, 0xb1, 0x45, 0x0a, 0x39, + 0x90, 0x33, 0x48, 0xbf, 0x22, 0x2e, 0x86, 0xd3, 0x23, 0xda, 0xe0, 0x43, + 0x5f, 0x5e, 0xb8, 0x2d, 0xf9, 0xa0, 0xce, 0xc5, 0x6c, 0x1a, 0xd4, 0x83, + 0xf9, 0xeb, 0xe9, 0xd1, 0x97, 0x64, 0xff, 0xe2, 0x55, 0x79, 0xc6, 0xe5, +}; +static const unsigned char kat2739_entropyinreseed[] = { + 0x1a, 0xa4, 0x9c, 0xc9, 0xb8, 0xfc, 0x0c, 0xae, 0x63, 0xac, 0x66, 0x7a, + 0x5f, 0xcc, 0xc7, 0x77, 0x57, 0xee, 0xc0, 0x1b, 0xa2, 0xb6, 0xa9, 0x65, + 0x47, 0xdf, 0xba, 0xe1, 0xf0, 0xa7, 0x8b, 0x9a, 0xcc, 0xf0, 0xd5, 0x44, + 0x95, 0x47, 0x54, 0x76, 0xcb, 0xa4, 0x72, 0xd5, 0x06, 0x38, 0xe7, 0x18, +}; +static const unsigned char kat2739_addinreseed[] = {0}; +static const unsigned char kat2739_addin0[] = {0}; +static const unsigned char kat2739_addin1[] = {0}; +static const unsigned char kat2739_retbits[] = { + 0x76, 0x72, 0x60, 0x6b, 0xa0, 0xe9, 0x4b, 0x33, 0x33, 0x43, 0x2a, 0x5b, + 0x6a, 0x3a, 0xe1, 0x60, 0x18, 0x48, 0xc1, 0x51, 0x45, 0x6b, 0xe3, 0xc9, + 0x86, 0x17, 0xf5, 0xc7, 0x37, 0x7a, 0xba, 0x1c, 0xfa, 0xbe, 0x23, 0x95, + 0x73, 0xfb, 0xbc, 0xcb, 0xf0, 0xa6, 0x3a, 0xf5, 0xb1, 0xf6, 0x7b, 0x15, + 0x2e, 0x7e, 0x84, 0xbf, 0xd7, 0x6e, 0x54, 0x83, 0xfd, 0x07, 0x99, 0xd8, + 0x79, 0xf1, 0xe3, 0xbb, +}; +static const struct drbg_kat_pr_false kat2739_t = { + 8, kat2739_entropyin, kat2739_nonce, kat2739_persstr, + kat2739_entropyinreseed, kat2739_addinreseed, kat2739_addin0, + kat2739_addin1, kat2739_retbits +}; +static const struct drbg_kat kat2739 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2739_t +}; + +static const unsigned char kat2740_entropyin[] = { + 0x8b, 0xce, 0x33, 0xcd, 0x43, 0x24, 0xfa, 0x53, 0xe5, 0xba, 0x97, 0x79, + 0x04, 0x9e, 0xc6, 0x8a, 0x58, 0xf6, 0xec, 0x84, 0x0d, 0x4e, 0x23, 0x61, + 0x76, 0x02, 0xa6, 0xca, 0x11, 0x25, 0xaa, 0x18, 0x4f, 0x6d, 0x6c, 0xc3, + 0x46, 0x1f, 0xd4, 0xb7, 0x3f, 0x53, 0x21, 0x3f, 0xff, 0x2a, 0x6d, 0xab, +}; +static const unsigned char kat2740_nonce[] = {0}; +static const unsigned char kat2740_persstr[] = { + 0x4e, 0xec, 0x7d, 0xb6, 0xd4, 0x98, 0xef, 0x2d, 0x80, 0xc0, 0xfd, 0xab, + 0xe2, 0x86, 0xb4, 0xa7, 0xd2, 0x51, 0x74, 0x8b, 0x74, 0x0a, 0x45, 0x87, + 0x84, 0xc8, 0x34, 0xe3, 0x31, 0x1c, 0x89, 0x44, 0x14, 0x9d, 0xb6, 0xae, + 0x7c, 0x4b, 0x3c, 0xe0, 0x09, 0x82, 0xa9, 0x05, 0x82, 0x81, 0x21, 0x6b, +}; +static const unsigned char kat2740_entropyinreseed[] = { + 0x05, 0x5a, 0xee, 0x66, 0x40, 0x88, 0x2c, 0x70, 0x0f, 0xac, 0xaa, 0x89, + 0x4e, 0xe6, 0x1a, 0x48, 0x7f, 0x82, 0x4e, 0xc6, 0x8c, 0x1f, 0xc0, 0xd8, + 0xfb, 0x10, 0x58, 0x48, 0x10, 0xf4, 0x4a, 0x5d, 0x82, 0x66, 0x55, 0x0d, + 0x93, 0x93, 0xc9, 0x14, 0x55, 0x53, 0xc3, 0x67, 0xca, 0x56, 0x81, 0x85, +}; +static const unsigned char kat2740_addinreseed[] = {0}; +static const unsigned char kat2740_addin0[] = {0}; +static const unsigned char kat2740_addin1[] = {0}; +static const unsigned char kat2740_retbits[] = { + 0xa7, 0x08, 0x8e, 0x0b, 0x15, 0xc1, 0x2b, 0x18, 0x87, 0x18, 0x85, 0x55, + 0x50, 0xd0, 0x4a, 0xf7, 0x32, 0x78, 0x00, 0x2d, 0x63, 0x2d, 0x1a, 0x34, + 0x1a, 0xb6, 0xb3, 0xa5, 0x70, 0x0f, 0x04, 0xf8, 0x4d, 0x3c, 0x4c, 0xa6, + 0x49, 0x72, 0xce, 0xd4, 0x3e, 0x9f, 0x76, 0x14, 0x3e, 0xa2, 0x07, 0x46, + 0x44, 0xce, 0xef, 0x7f, 0x5c, 0x8a, 0xa5, 0x79, 0x5e, 0x8f, 0x69, 0x20, + 0x74, 0xac, 0x95, 0xc1, +}; +static const struct drbg_kat_pr_false kat2740_t = { + 9, kat2740_entropyin, kat2740_nonce, kat2740_persstr, + kat2740_entropyinreseed, kat2740_addinreseed, kat2740_addin0, + kat2740_addin1, kat2740_retbits +}; +static const struct drbg_kat kat2740 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2740_t +}; + +static const unsigned char kat2741_entropyin[] = { + 0x09, 0x74, 0x1d, 0xe4, 0x7f, 0x53, 0x77, 0xfb, 0x94, 0xf9, 0x9a, 0x0d, + 0xe8, 0x76, 0x12, 0x7a, 0xad, 0x00, 0xf8, 0x8e, 0x59, 0x89, 0xe5, 0xea, + 0xbc, 0xec, 0x2e, 0x75, 0xf3, 0xcf, 0x9e, 0x8c, 0x72, 0x65, 0xda, 0x02, + 0xc8, 0x02, 0x61, 0xdb, 0x4d, 0xbe, 0xea, 0x46, 0x6a, 0x80, 0xa6, 0xf4, +}; +static const unsigned char kat2741_nonce[] = {0}; +static const unsigned char kat2741_persstr[] = { + 0xb6, 0x5b, 0xc8, 0xfd, 0x77, 0xe2, 0xe3, 0xe3, 0x44, 0x3d, 0x73, 0xa3, + 0x0c, 0x09, 0xdd, 0x08, 0x5c, 0x0b, 0xd6, 0x56, 0x4a, 0xc0, 0xec, 0xec, + 0xb4, 0xfd, 0xab, 0x5a, 0xcc, 0xb7, 0x22, 0x28, 0x6a, 0xd8, 0x40, 0x28, + 0x6c, 0x48, 0x22, 0x1a, 0xf5, 0xab, 0xd5, 0x55, 0x1b, 0x58, 0xe8, 0x3a, +}; +static const unsigned char kat2741_entropyinreseed[] = { + 0x65, 0x90, 0x01, 0x06, 0x56, 0x7b, 0xe7, 0x90, 0xba, 0xba, 0xe0, 0xb8, + 0x1f, 0x28, 0x77, 0xa9, 0xc1, 0x64, 0x2a, 0xf3, 0xc5, 0x82, 0x82, 0xe1, + 0x34, 0xcd, 0xd3, 0xb0, 0x92, 0x00, 0x99, 0xf9, 0x36, 0xcb, 0xbf, 0x14, + 0x15, 0x02, 0xcc, 0xb5, 0x86, 0x0e, 0xa1, 0x0b, 0xce, 0x39, 0x4c, 0x0b, +}; +static const unsigned char kat2741_addinreseed[] = {0}; +static const unsigned char kat2741_addin0[] = {0}; +static const unsigned char kat2741_addin1[] = {0}; +static const unsigned char kat2741_retbits[] = { + 0x1a, 0xce, 0x19, 0xb7, 0x25, 0xa9, 0xde, 0xb1, 0x3b, 0xcf, 0xcc, 0x1e, + 0x4d, 0x39, 0xb6, 0x04, 0xb2, 0x65, 0x56, 0x92, 0x7f, 0x60, 0xc3, 0x67, + 0x93, 0x6c, 0xbe, 0x0e, 0x76, 0x12, 0x7d, 0x3d, 0xde, 0xcb, 0x73, 0xf5, + 0x2e, 0xf3, 0x98, 0x83, 0xa9, 0xde, 0xf2, 0x35, 0x56, 0x6d, 0x01, 0xdd, + 0x4f, 0x73, 0x40, 0x28, 0xce, 0x82, 0xbc, 0x5f, 0xb9, 0xca, 0x30, 0x0f, + 0x3f, 0x5d, 0xd0, 0x80, +}; +static const struct drbg_kat_pr_false kat2741_t = { + 10, kat2741_entropyin, kat2741_nonce, kat2741_persstr, + kat2741_entropyinreseed, kat2741_addinreseed, kat2741_addin0, + kat2741_addin1, kat2741_retbits +}; +static const struct drbg_kat kat2741 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2741_t +}; + +static const unsigned char kat2742_entropyin[] = { + 0x5e, 0xd4, 0xb6, 0xe4, 0x53, 0xa3, 0x1c, 0x0b, 0x04, 0xf9, 0x60, 0xb7, + 0x39, 0xf4, 0xac, 0x06, 0x1c, 0xb7, 0x19, 0xa7, 0x09, 0x19, 0x70, 0x9b, + 0xd5, 0xdb, 0xfe, 0xa9, 0x10, 0xeb, 0x4e, 0x4d, 0xc3, 0x40, 0x31, 0xe0, + 0x29, 0x8a, 0x12, 0xc7, 0xd6, 0x8e, 0x65, 0xa3, 0x8e, 0x6e, 0xaa, 0xe9, +}; +static const unsigned char kat2742_nonce[] = {0}; +static const unsigned char kat2742_persstr[] = { + 0x45, 0x8d, 0x21, 0x4a, 0x18, 0xfe, 0x1f, 0xd2, 0xc7, 0x62, 0xc7, 0x7c, + 0xb9, 0x8a, 0x56, 0x19, 0xd7, 0xe4, 0x8a, 0xaf, 0xa8, 0x31, 0x10, 0xc8, + 0x57, 0x8d, 0x10, 0x72, 0xd5, 0x77, 0xb9, 0x3e, 0x53, 0xa1, 0x3a, 0xc7, + 0x00, 0x61, 0x21, 0x01, 0xb7, 0x86, 0x2c, 0xa9, 0x4e, 0xb8, 0x7c, 0xa4, +}; +static const unsigned char kat2742_entropyinreseed[] = { + 0xaa, 0x82, 0x9f, 0x4e, 0xa1, 0x5b, 0xec, 0x4a, 0x9d, 0xdd, 0x93, 0x3c, + 0xf6, 0xc4, 0x7d, 0xe6, 0x0f, 0x7e, 0x2c, 0xd1, 0x72, 0x28, 0x7e, 0xb5, + 0x02, 0xb9, 0xc7, 0xbe, 0xda, 0x32, 0x66, 0x1e, 0x1c, 0xa2, 0x7b, 0xe2, + 0x6c, 0x1f, 0xb2, 0xe7, 0xa6, 0x67, 0xca, 0x1e, 0x04, 0x66, 0xaa, 0xd4, +}; +static const unsigned char kat2742_addinreseed[] = {0}; +static const unsigned char kat2742_addin0[] = {0}; +static const unsigned char kat2742_addin1[] = {0}; +static const unsigned char kat2742_retbits[] = { + 0xef, 0x40, 0x26, 0x14, 0x4d, 0x7d, 0xba, 0x42, 0xbc, 0xa2, 0x58, 0xa0, + 0xb0, 0xcf, 0xe8, 0x81, 0xe6, 0x21, 0xf6, 0x5e, 0x19, 0xc2, 0x67, 0x17, + 0x9c, 0x00, 0x88, 0xb7, 0x82, 0x9d, 0x9d, 0xdf, 0xee, 0x39, 0xfc, 0x8f, + 0x9c, 0xdf, 0xec, 0xf0, 0xd4, 0x51, 0xdc, 0x7d, 0xf1, 0x73, 0xd6, 0x79, + 0xbc, 0x50, 0x31, 0x90, 0x79, 0x5d, 0x4b, 0xe6, 0x79, 0x09, 0xac, 0xc1, + 0x7b, 0xb2, 0x04, 0x70, +}; +static const struct drbg_kat_pr_false kat2742_t = { + 11, kat2742_entropyin, kat2742_nonce, kat2742_persstr, + kat2742_entropyinreseed, kat2742_addinreseed, kat2742_addin0, + kat2742_addin1, kat2742_retbits +}; +static const struct drbg_kat kat2742 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2742_t +}; + +static const unsigned char kat2743_entropyin[] = { + 0x93, 0x86, 0x02, 0xd7, 0x5e, 0xa1, 0x1e, 0x8b, 0x1e, 0xb0, 0x37, 0x38, + 0x1b, 0x8e, 0x76, 0x43, 0xb1, 0x29, 0x67, 0xaa, 0xe4, 0x98, 0x2a, 0x4b, + 0x4e, 0xed, 0x05, 0x4b, 0xab, 0xc7, 0x8f, 0xe4, 0xdb, 0xfa, 0x83, 0x2a, + 0x0b, 0x3d, 0xde, 0x8d, 0x2d, 0x1e, 0xd4, 0x23, 0xd8, 0x07, 0xc1, 0x3a, +}; +static const unsigned char kat2743_nonce[] = {0}; +static const unsigned char kat2743_persstr[] = { + 0xc0, 0x94, 0x24, 0xe7, 0x79, 0x01, 0xb1, 0xf0, 0x21, 0xc9, 0x61, 0x24, + 0xc8, 0xb2, 0xe8, 0x70, 0x8e, 0x3d, 0xea, 0x33, 0x9d, 0x15, 0xd7, 0x55, + 0x4d, 0xbe, 0x19, 0x76, 0x0a, 0x99, 0xa8, 0xc6, 0x0b, 0x2e, 0x8f, 0x20, + 0x88, 0x04, 0xeb, 0x6f, 0x6b, 0xef, 0x43, 0xd5, 0xb7, 0xdb, 0x62, 0x3f, +}; +static const unsigned char kat2743_entropyinreseed[] = { + 0xef, 0x63, 0x64, 0xff, 0x1c, 0x3d, 0x9b, 0x0c, 0x24, 0x0e, 0xbf, 0x62, + 0xfc, 0x52, 0x76, 0x8b, 0x74, 0x8f, 0x16, 0x58, 0x10, 0x07, 0x64, 0x9a, + 0xd9, 0xef, 0x4b, 0x6c, 0x72, 0x17, 0x62, 0x55, 0x50, 0x8f, 0x6e, 0x20, + 0x15, 0xaa, 0xb2, 0xf9, 0x54, 0x21, 0xac, 0x7a, 0x58, 0x2c, 0x62, 0x05, +}; +static const unsigned char kat2743_addinreseed[] = {0}; +static const unsigned char kat2743_addin0[] = {0}; +static const unsigned char kat2743_addin1[] = {0}; +static const unsigned char kat2743_retbits[] = { + 0xfa, 0xa4, 0x8f, 0x2f, 0xdb, 0xf3, 0x1e, 0xa2, 0x57, 0xe0, 0x10, 0xcc, + 0x74, 0xef, 0x2d, 0x50, 0xd3, 0x36, 0xb2, 0xaa, 0xfd, 0x4f, 0xe8, 0xb3, + 0xce, 0x8f, 0xcf, 0x80, 0x3a, 0x43, 0x5e, 0x57, 0xea, 0xfa, 0x18, 0x93, + 0x8e, 0x35, 0xfe, 0x9c, 0x3a, 0x01, 0xd9, 0x2f, 0x2b, 0x7b, 0x1b, 0xbe, + 0x7e, 0x05, 0x5d, 0xc6, 0x30, 0xc7, 0x01, 0xe2, 0x88, 0xc1, 0xfd, 0xed, + 0x75, 0xe5, 0xb0, 0xe0, +}; +static const struct drbg_kat_pr_false kat2743_t = { + 12, kat2743_entropyin, kat2743_nonce, kat2743_persstr, + kat2743_entropyinreseed, kat2743_addinreseed, kat2743_addin0, + kat2743_addin1, kat2743_retbits +}; +static const struct drbg_kat kat2743 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2743_t +}; + +static const unsigned char kat2744_entropyin[] = { + 0xb8, 0xf2, 0x02, 0x8c, 0xa7, 0x4f, 0x8a, 0x05, 0x92, 0xc9, 0x9d, 0x0a, + 0xe4, 0x97, 0x43, 0x85, 0x62, 0xce, 0x1b, 0x7a, 0x49, 0x1f, 0xb6, 0xdb, + 0x73, 0xc4, 0xf8, 0xcd, 0xa2, 0x85, 0xa9, 0x34, 0x77, 0x7b, 0x17, 0xe4, + 0x72, 0x70, 0x7f, 0x22, 0x17, 0x07, 0x9b, 0x9d, 0x8d, 0x65, 0x56, 0x2b, +}; +static const unsigned char kat2744_nonce[] = {0}; +static const unsigned char kat2744_persstr[] = { + 0x21, 0xde, 0xf8, 0xc9, 0xfc, 0x10, 0xce, 0xe6, 0xfc, 0xe2, 0x24, 0x01, + 0xc4, 0xef, 0x13, 0xb1, 0x7d, 0x33, 0xa6, 0x04, 0xaa, 0xa7, 0x0f, 0x92, + 0x41, 0x36, 0xf6, 0x63, 0x5b, 0x2e, 0x59, 0xe0, 0x09, 0x9c, 0x77, 0x8e, + 0x4c, 0xb2, 0x7b, 0x09, 0x3b, 0xae, 0xf9, 0x4d, 0x5a, 0xc1, 0x07, 0x70, +}; +static const unsigned char kat2744_entropyinreseed[] = { + 0x80, 0xe9, 0x6e, 0x6b, 0x97, 0x1d, 0x14, 0x36, 0x86, 0x1f, 0x85, 0xf1, + 0xb2, 0x3c, 0xd7, 0xf4, 0x79, 0x74, 0xa0, 0x6b, 0x17, 0x57, 0x0c, 0x33, + 0x7d, 0x6f, 0x5e, 0x98, 0xac, 0x42, 0xd0, 0xc3, 0x0e, 0x23, 0xf7, 0x4d, + 0x78, 0x97, 0x85, 0x01, 0xcd, 0x99, 0x0c, 0x93, 0x0a, 0xf4, 0xf8, 0xe8, +}; +static const unsigned char kat2744_addinreseed[] = {0}; +static const unsigned char kat2744_addin0[] = {0}; +static const unsigned char kat2744_addin1[] = {0}; +static const unsigned char kat2744_retbits[] = { + 0x77, 0x20, 0x21, 0x2b, 0x01, 0x89, 0xce, 0x42, 0xe9, 0x69, 0xa9, 0xbc, + 0x59, 0x8a, 0x17, 0x94, 0x91, 0xd3, 0x93, 0x48, 0x3f, 0xd7, 0x45, 0x60, + 0x47, 0xf8, 0x1a, 0x70, 0x80, 0x76, 0xf8, 0x8d, 0x34, 0xa7, 0x15, 0x46, + 0xea, 0xfd, 0xc3, 0x55, 0x6e, 0x31, 0x21, 0x38, 0xa3, 0x31, 0x08, 0xc9, + 0x1f, 0xd8, 0xe8, 0x1a, 0x96, 0x3d, 0xd3, 0x7e, 0x03, 0xc8, 0x95, 0xb6, + 0x30, 0x44, 0x86, 0x98, +}; +static const struct drbg_kat_pr_false kat2744_t = { + 13, kat2744_entropyin, kat2744_nonce, kat2744_persstr, + kat2744_entropyinreseed, kat2744_addinreseed, kat2744_addin0, + kat2744_addin1, kat2744_retbits +}; +static const struct drbg_kat kat2744 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2744_t +}; + +static const unsigned char kat2745_entropyin[] = { + 0xd1, 0x75, 0x7e, 0x36, 0x87, 0xb5, 0x7a, 0xb3, 0xb1, 0x6e, 0xf6, 0xf4, + 0x3a, 0xb4, 0x56, 0xe7, 0xd2, 0xc6, 0xcc, 0x18, 0x2c, 0x0b, 0x83, 0x76, + 0xcf, 0x84, 0x77, 0x98, 0xa0, 0x21, 0x77, 0x07, 0xe5, 0x7b, 0xce, 0x5c, + 0xb3, 0x26, 0xcc, 0x7d, 0x1b, 0x5b, 0xb3, 0x6f, 0x21, 0x3c, 0xc6, 0x21, +}; +static const unsigned char kat2745_nonce[] = {0}; +static const unsigned char kat2745_persstr[] = { + 0x53, 0x1b, 0x64, 0xbe, 0x5d, 0x25, 0x93, 0x7f, 0x30, 0xbe, 0xd8, 0x86, + 0xf2, 0x02, 0x18, 0x55, 0xdb, 0x1b, 0x63, 0x77, 0x7f, 0xeb, 0xe6, 0x69, + 0x5e, 0xb4, 0xf2, 0xa5, 0xe3, 0xbb, 0xfe, 0x6c, 0xe8, 0x0f, 0xaf, 0xeb, + 0x8e, 0x7f, 0x81, 0x1e, 0x06, 0xcb, 0x87, 0xe5, 0x20, 0xa7, 0x03, 0x6f, +}; +static const unsigned char kat2745_entropyinreseed[] = { + 0x35, 0x01, 0x12, 0x07, 0x1b, 0x83, 0x15, 0xaf, 0xa2, 0x6f, 0xa3, 0xd9, + 0xbe, 0x6b, 0x6d, 0xec, 0x59, 0xba, 0x7f, 0xed, 0x23, 0x87, 0x55, 0x6c, + 0xde, 0xc4, 0x3a, 0xb8, 0xde, 0xf9, 0x20, 0x50, 0xd2, 0xf0, 0xfd, 0x34, + 0xef, 0x0c, 0x83, 0x7c, 0x02, 0x2c, 0x33, 0x7f, 0x22, 0x7b, 0x21, 0x69, +}; +static const unsigned char kat2745_addinreseed[] = {0}; +static const unsigned char kat2745_addin0[] = {0}; +static const unsigned char kat2745_addin1[] = {0}; +static const unsigned char kat2745_retbits[] = { + 0x47, 0xad, 0x3d, 0x7e, 0xf4, 0xe7, 0xbc, 0x46, 0x96, 0xd0, 0x39, 0xb6, + 0xe4, 0x24, 0x66, 0x92, 0x00, 0xb5, 0xf6, 0xc6, 0x87, 0xf8, 0x13, 0xc2, + 0x70, 0x48, 0x37, 0x93, 0x51, 0x8a, 0xdf, 0x66, 0x98, 0xaa, 0x40, 0xa7, + 0x81, 0x20, 0x88, 0x78, 0x01, 0x7b, 0xf7, 0x7a, 0xfe, 0xb2, 0xf9, 0x87, + 0x94, 0xd2, 0x15, 0x78, 0x62, 0x38, 0x88, 0xeb, 0x98, 0x13, 0x5e, 0xf0, + 0xe5, 0x12, 0x1c, 0x57, +}; +static const struct drbg_kat_pr_false kat2745_t = { + 14, kat2745_entropyin, kat2745_nonce, kat2745_persstr, + kat2745_entropyinreseed, kat2745_addinreseed, kat2745_addin0, + kat2745_addin1, kat2745_retbits +}; +static const struct drbg_kat kat2745 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2745_t +}; + +static const unsigned char kat2746_entropyin[] = { + 0xee, 0xd2, 0xcf, 0x41, 0xef, 0x92, 0x0a, 0x29, 0x8a, 0xa7, 0x1c, 0x28, + 0xc4, 0x63, 0x77, 0x39, 0x2b, 0x95, 0xcf, 0x75, 0x18, 0x2c, 0xb4, 0x7f, + 0xf2, 0x53, 0x9a, 0xc9, 0xdf, 0x5d, 0xb7, 0xb2, 0xb1, 0x4c, 0x3c, 0x99, + 0x90, 0x0c, 0xc7, 0x38, 0x9e, 0xff, 0xb7, 0x19, 0xba, 0xcb, 0x58, 0x1f, +}; +static const unsigned char kat2746_nonce[] = {0}; +static const unsigned char kat2746_persstr[] = { + 0x88, 0xcb, 0x73, 0x5f, 0x56, 0x98, 0x79, 0xf2, 0x4d, 0x95, 0x8b, 0x54, + 0xd4, 0xa5, 0x54, 0x4b, 0xd7, 0x28, 0x97, 0x1e, 0xc5, 0x31, 0xf8, 0x2e, + 0x02, 0xc1, 0x13, 0xb7, 0x83, 0x44, 0x6a, 0xfb, 0xec, 0x85, 0x7b, 0x50, + 0x5e, 0x00, 0xa1, 0xb5, 0xc8, 0xb2, 0x74, 0x9e, 0x1e, 0xb1, 0x9b, 0x03, +}; +static const unsigned char kat2746_entropyinreseed[] = { + 0xf0, 0x33, 0x01, 0xf2, 0x7e, 0x7f, 0x95, 0x19, 0xad, 0x94, 0x7d, 0x8b, + 0x16, 0x86, 0x2b, 0x47, 0x00, 0x8b, 0xc0, 0x3e, 0x55, 0xd2, 0xf0, 0xce, + 0x9b, 0xf8, 0x32, 0x32, 0xd3, 0xb0, 0xc8, 0x16, 0x58, 0x0f, 0xa5, 0x8b, + 0x5b, 0xc3, 0xfe, 0x63, 0x01, 0xf2, 0xcc, 0x8d, 0x03, 0xc9, 0xf8, 0x5e, +}; +static const unsigned char kat2746_addinreseed[] = { + 0xff, 0xc2, 0x3a, 0x43, 0xf8, 0x5a, 0xef, 0x5d, 0x29, 0xcf, 0xf5, 0xcd, + 0xf3, 0x27, 0x51, 0x77, 0x77, 0xf6, 0x8c, 0x01, 0x74, 0x22, 0x0f, 0xbc, + 0x82, 0x5c, 0x70, 0xeb, 0xa3, 0x52, 0x5f, 0x57, 0x9b, 0x10, 0xdd, 0x36, + 0x7d, 0x16, 0x3c, 0x74, 0x0c, 0x57, 0xdb, 0x0b, 0x6d, 0x88, 0xb3, 0x7c, +}; +static const unsigned char kat2746_addin0[] = { + 0xc5, 0xf1, 0x08, 0xeb, 0x45, 0x0d, 0xd6, 0x28, 0x42, 0x9a, 0x32, 0x1a, + 0xf4, 0x3a, 0x9d, 0xfa, 0xae, 0xc6, 0xbe, 0xf2, 0xd1, 0xca, 0xad, 0x89, + 0xbc, 0xd8, 0x6c, 0xc3, 0x5c, 0xa9, 0x5e, 0xd8, 0x5f, 0x79, 0x6b, 0xb3, + 0xba, 0xfb, 0x07, 0x1a, 0xd2, 0xd7, 0x08, 0x23, 0x0b, 0xf1, 0xbe, 0x84, +}; +static const unsigned char kat2746_addin1[] = { + 0xda, 0x2a, 0x98, 0xb2, 0x29, 0x8e, 0x3f, 0x4f, 0x69, 0x1e, 0x91, 0xfb, + 0x6c, 0x71, 0x9d, 0x67, 0xd3, 0xc3, 0x7a, 0x91, 0x6e, 0x50, 0xbd, 0x2a, + 0xec, 0x09, 0x26, 0x3c, 0x8e, 0x76, 0x16, 0xb7, 0x56, 0x19, 0x47, 0x2f, + 0x4d, 0xcf, 0xd9, 0x7b, 0xe1, 0x35, 0xc0, 0x9f, 0x0b, 0x82, 0x5f, 0x0a, +}; +static const unsigned char kat2746_retbits[] = { + 0x4e, 0xb6, 0xca, 0xac, 0xcc, 0x31, 0x7d, 0xad, 0xc8, 0x90, 0x37, 0x64, + 0x2e, 0x62, 0x16, 0xfa, 0x3a, 0x48, 0x32, 0x91, 0x51, 0x33, 0xe7, 0x36, + 0xd6, 0xa5, 0xc1, 0x00, 0x61, 0x39, 0x07, 0x6b, 0x4d, 0x8b, 0xb4, 0x4b, + 0x60, 0x5e, 0x1d, 0x6b, 0xf4, 0x14, 0xe2, 0x00, 0x52, 0x9d, 0x5f, 0xd9, + 0xd9, 0x5c, 0x76, 0xa9, 0x71, 0x4f, 0xd9, 0x1d, 0x4e, 0x56, 0xfc, 0x7d, + 0x90, 0xd6, 0x60, 0xa3, +}; +static const struct drbg_kat_pr_false kat2746_t = { + 0, kat2746_entropyin, kat2746_nonce, kat2746_persstr, + kat2746_entropyinreseed, kat2746_addinreseed, kat2746_addin0, + kat2746_addin1, kat2746_retbits +}; +static const struct drbg_kat kat2746 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2746_t +}; + +static const unsigned char kat2747_entropyin[] = { + 0x7e, 0xee, 0x67, 0x1f, 0x99, 0x8a, 0xe5, 0xa3, 0xa3, 0xe1, 0xa4, 0x71, + 0xee, 0xfa, 0x10, 0x9b, 0x3b, 0x1a, 0xcc, 0xa3, 0x30, 0x71, 0xec, 0x20, + 0x71, 0xc6, 0xb0, 0xb7, 0x9e, 0xdd, 0x10, 0x0c, 0x4e, 0xc6, 0x6d, 0xb8, + 0x8e, 0x0f, 0xab, 0xcd, 0x63, 0x0d, 0x3b, 0x11, 0x29, 0xf5, 0x65, 0x2a, +}; +static const unsigned char kat2747_nonce[] = {0}; +static const unsigned char kat2747_persstr[] = { + 0x24, 0x32, 0x97, 0x16, 0x12, 0x68, 0xc4, 0xdd, 0x27, 0x01, 0x2e, 0x77, + 0xe9, 0xe8, 0x0e, 0xe8, 0xaa, 0x3c, 0xd7, 0x2e, 0x02, 0x42, 0xe5, 0xc0, + 0xc3, 0xd2, 0x16, 0x68, 0x34, 0x49, 0x08, 0x61, 0x3a, 0x1e, 0x4e, 0x3b, + 0x65, 0x85, 0x85, 0xed, 0xa4, 0xde, 0x66, 0x39, 0x05, 0x80, 0xc5, 0xfc, +}; +static const unsigned char kat2747_entropyinreseed[] = { + 0xe7, 0xba, 0x06, 0xcb, 0x5d, 0xad, 0x2c, 0xe7, 0x3d, 0xd0, 0x7c, 0x79, + 0x39, 0x58, 0x1b, 0x13, 0x62, 0x72, 0x7e, 0xcd, 0xe7, 0x56, 0x7e, 0xfb, + 0xb1, 0x48, 0x3f, 0xba, 0x1f, 0x8c, 0xc7, 0x02, 0xd4, 0x25, 0x54, 0x4a, + 0xd9, 0x52, 0xf3, 0x44, 0x2d, 0xe7, 0x0c, 0x8b, 0x5c, 0xce, 0x53, 0xfd, +}; +static const unsigned char kat2747_addinreseed[] = { + 0x4a, 0x2c, 0xbe, 0xa0, 0x21, 0xae, 0xe0, 0xdb, 0xae, 0x40, 0xd7, 0x57, + 0x77, 0x83, 0xb8, 0xa7, 0x5c, 0xfd, 0x9d, 0x5f, 0x31, 0xc0, 0x46, 0x3e, + 0xbe, 0x98, 0x17, 0xc1, 0x1c, 0x6d, 0xe0, 0xdd, 0xa1, 0x54, 0x24, 0xa1, + 0x04, 0x55, 0xb3, 0xf4, 0xdc, 0x7f, 0x2b, 0xb1, 0xe2, 0xb7, 0xd9, 0x28, +}; +static const unsigned char kat2747_addin0[] = { + 0x2d, 0xf7, 0x57, 0xdc, 0x57, 0x6c, 0x62, 0x63, 0xe7, 0x0c, 0x3c, 0x69, + 0x3a, 0x0f, 0x96, 0x3c, 0xe6, 0x14, 0x72, 0xf8, 0x2f, 0x7f, 0x4d, 0x9c, + 0x90, 0x51, 0xe5, 0xc4, 0x43, 0xbd, 0x63, 0xe1, 0x87, 0x0d, 0x83, 0x2d, + 0x41, 0xbb, 0x09, 0x1f, 0xe8, 0xf0, 0x1b, 0xde, 0x07, 0x08, 0x8c, 0x93, +}; +static const unsigned char kat2747_addin1[] = { + 0x28, 0xeb, 0x9a, 0x03, 0xb4, 0xe9, 0x1d, 0x2f, 0xeb, 0x96, 0x03, 0x66, + 0xe7, 0xd8, 0xd5, 0x71, 0xe0, 0x23, 0x25, 0x73, 0x37, 0x86, 0x15, 0x32, + 0x51, 0x85, 0xc0, 0xea, 0xa6, 0x09, 0xf5, 0x52, 0x6b, 0x06, 0x37, 0x7e, + 0xac, 0x6b, 0x40, 0x94, 0x97, 0x3d, 0x01, 0x40, 0x4a, 0xda, 0xa4, 0x2c, +}; +static const unsigned char kat2747_retbits[] = { + 0xd6, 0x77, 0xc5, 0xa7, 0x2c, 0x23, 0xb5, 0x89, 0xfd, 0x15, 0xa6, 0x55, + 0x16, 0xb4, 0xa5, 0xc3, 0xbf, 0xe4, 0xb0, 0x03, 0xe4, 0x24, 0xc6, 0xa9, + 0x10, 0x4f, 0x4a, 0x23, 0x37, 0xeb, 0x36, 0x11, 0x1e, 0xd6, 0xd1, 0x51, + 0x74, 0xf4, 0x97, 0xd0, 0x6b, 0x12, 0x98, 0x54, 0x29, 0xab, 0x01, 0x29, + 0x4f, 0x50, 0x8f, 0x69, 0x87, 0x95, 0x9f, 0x78, 0x4e, 0x4f, 0xef, 0xd7, + 0x3d, 0x5a, 0x37, 0xf5, +}; +static const struct drbg_kat_pr_false kat2747_t = { + 1, kat2747_entropyin, kat2747_nonce, kat2747_persstr, + kat2747_entropyinreseed, kat2747_addinreseed, kat2747_addin0, + kat2747_addin1, kat2747_retbits +}; +static const struct drbg_kat kat2747 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2747_t +}; + +static const unsigned char kat2748_entropyin[] = { + 0x14, 0x57, 0x9c, 0xe1, 0xa2, 0xb1, 0x09, 0x6f, 0xf9, 0x32, 0xdc, 0x3c, + 0x6e, 0x38, 0x29, 0x65, 0xf6, 0x12, 0xce, 0xda, 0xef, 0xf2, 0x7e, 0x90, + 0xc9, 0x6e, 0x32, 0xf8, 0x7a, 0x26, 0xa8, 0x61, 0x56, 0x5a, 0x1d, 0x4d, + 0x16, 0xfc, 0x8b, 0xc3, 0x51, 0xb5, 0x0b, 0xf1, 0x18, 0x86, 0xef, 0xa4, +}; +static const unsigned char kat2748_nonce[] = {0}; +static const unsigned char kat2748_persstr[] = { + 0xc3, 0x59, 0xdc, 0x15, 0x74, 0x07, 0xa5, 0x7a, 0x3e, 0xab, 0x7b, 0x6e, + 0x9c, 0x96, 0xb1, 0xf0, 0xf6, 0x32, 0xd5, 0x33, 0xb2, 0xfc, 0xa8, 0x41, + 0x5f, 0x43, 0x42, 0x1d, 0xd1, 0x7f, 0xfb, 0x25, 0x37, 0x0f, 0x6d, 0x5b, + 0x64, 0x7f, 0x46, 0x0d, 0x78, 0x76, 0x1d, 0x54, 0xa5, 0x10, 0x03, 0x8e, +}; +static const unsigned char kat2748_entropyinreseed[] = { + 0x27, 0xd3, 0xd9, 0x45, 0x01, 0x09, 0xd0, 0x2d, 0x52, 0xf0, 0x90, 0xb5, + 0x09, 0x50, 0x1f, 0x2a, 0x6d, 0x5c, 0xca, 0x3f, 0xec, 0xec, 0x1b, 0x8f, + 0x20, 0x17, 0x49, 0x4d, 0xc6, 0x14, 0x80, 0xa5, 0xb9, 0xfa, 0xae, 0x6a, + 0x3c, 0x66, 0x22, 0x90, 0xce, 0x80, 0xbc, 0xcb, 0x4b, 0x3c, 0x3a, 0x62, +}; +static const unsigned char kat2748_addinreseed[] = { + 0x46, 0x9a, 0x5d, 0xa3, 0xa1, 0x44, 0x3d, 0x03, 0xf9, 0x2b, 0x37, 0xd0, + 0x69, 0x3a, 0xb7, 0x2f, 0x78, 0x57, 0xc5, 0xb8, 0x3b, 0x47, 0xcb, 0x57, + 0xc3, 0xab, 0x88, 0x01, 0x1a, 0x56, 0x26, 0x6e, 0x25, 0x13, 0xc3, 0x86, + 0xdf, 0x7f, 0x60, 0x4f, 0xba, 0x73, 0xc5, 0x4c, 0x2d, 0xcb, 0x8a, 0x9b, +}; +static const unsigned char kat2748_addin0[] = { + 0xff, 0x25, 0x7f, 0x91, 0xed, 0xdd, 0xe2, 0x51, 0x01, 0xb2, 0x9f, 0x4f, + 0x77, 0x53, 0x70, 0x7e, 0xee, 0x7b, 0xfd, 0x33, 0xc9, 0xcc, 0x3d, 0x7c, + 0x2a, 0xc4, 0xf2, 0xfa, 0x44, 0x2e, 0x9e, 0xd8, 0x7d, 0xa4, 0x3e, 0x16, + 0x42, 0xd1, 0x60, 0x1c, 0xef, 0x6f, 0x62, 0x9a, 0xcd, 0xf1, 0x8f, 0x54, +}; +static const unsigned char kat2748_addin1[] = { + 0x84, 0xdb, 0x1f, 0xcd, 0x48, 0x4c, 0x63, 0xe4, 0x91, 0x5b, 0xd5, 0x68, + 0x0d, 0x96, 0xb8, 0x31, 0x3c, 0xdf, 0x82, 0xeb, 0x1d, 0x04, 0xc1, 0x2b, + 0x1c, 0x40, 0xd8, 0xbb, 0xce, 0xeb, 0x23, 0xcb, 0xc4, 0xd0, 0x5c, 0x63, + 0x89, 0x12, 0xc7, 0xc7, 0x0b, 0x51, 0x43, 0xfc, 0x1e, 0xb7, 0x99, 0x70, +}; +static const unsigned char kat2748_retbits[] = { + 0x26, 0x04, 0xc2, 0xef, 0x69, 0x14, 0xa3, 0x3e, 0x0f, 0xf7, 0xf4, 0xd4, + 0xe8, 0x1d, 0xa8, 0xb5, 0xac, 0xb7, 0x46, 0x01, 0xa5, 0x9d, 0xa1, 0x7d, + 0x64, 0x6a, 0x77, 0x93, 0x5f, 0x15, 0xbd, 0x34, 0x06, 0x14, 0x4c, 0x6b, + 0x98, 0x7b, 0xd8, 0xd4, 0x46, 0x96, 0x97, 0x91, 0x12, 0x8b, 0xf7, 0x20, + 0x34, 0x2e, 0x5a, 0x48, 0x9b, 0xf1, 0xf5, 0x49, 0x5b, 0x92, 0xc1, 0xdf, + 0x27, 0x5f, 0x77, 0xba, +}; +static const struct drbg_kat_pr_false kat2748_t = { + 2, kat2748_entropyin, kat2748_nonce, kat2748_persstr, + kat2748_entropyinreseed, kat2748_addinreseed, kat2748_addin0, + kat2748_addin1, kat2748_retbits +}; +static const struct drbg_kat kat2748 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2748_t +}; + +static const unsigned char kat2749_entropyin[] = { + 0x83, 0x83, 0x13, 0x70, 0xdb, 0xdb, 0xce, 0x5f, 0x2f, 0x08, 0x80, 0x5e, + 0xce, 0xe4, 0x8a, 0x56, 0xfe, 0xf7, 0xb8, 0x57, 0x37, 0x51, 0x22, 0x58, + 0xae, 0xf9, 0x78, 0x96, 0x57, 0x4e, 0x3b, 0xde, 0xd7, 0xa8, 0x76, 0xbb, + 0x70, 0xd2, 0x9d, 0x88, 0xaa, 0xdf, 0x15, 0xf9, 0x40, 0xff, 0x42, 0x41, +}; +static const unsigned char kat2749_nonce[] = {0}; +static const unsigned char kat2749_persstr[] = { + 0xea, 0x51, 0x22, 0x7d, 0x77, 0x60, 0xff, 0xf9, 0xd8, 0x60, 0xa0, 0x02, + 0xf0, 0xde, 0x37, 0x3d, 0xc9, 0xb8, 0xab, 0x86, 0x22, 0x72, 0xc7, 0x1d, + 0x0a, 0x65, 0x56, 0xab, 0x6d, 0xb9, 0x9e, 0x90, 0x0b, 0x11, 0x3a, 0x79, + 0x24, 0x57, 0xb8, 0x90, 0x57, 0x60, 0xe3, 0x77, 0xdd, 0x15, 0x83, 0x46, +}; +static const unsigned char kat2749_entropyinreseed[] = { + 0x86, 0x8b, 0x21, 0xad, 0xaa, 0xf5, 0x8a, 0x83, 0x91, 0x79, 0x4f, 0xd2, + 0x59, 0x98, 0x57, 0x42, 0x16, 0x9d, 0xb4, 0x7c, 0x27, 0x30, 0xeb, 0x78, + 0x6c, 0xa2, 0x8f, 0x80, 0xe3, 0xf1, 0x6a, 0x2e, 0xbb, 0xa6, 0xbf, 0xd0, + 0x0f, 0x37, 0x81, 0x4f, 0x93, 0x80, 0x00, 0xc6, 0xfa, 0x82, 0xaf, 0x1d, +}; +static const unsigned char kat2749_addinreseed[] = { + 0xa1, 0xa3, 0x8c, 0xf2, 0x6e, 0x0c, 0x3f, 0x85, 0xa0, 0x42, 0x85, 0x6c, + 0x7c, 0xe9, 0xec, 0x2c, 0x11, 0x3b, 0x09, 0x4e, 0x5a, 0xd5, 0xe6, 0x62, + 0x25, 0x46, 0x92, 0xd2, 0x72, 0x43, 0x57, 0xc9, 0x2b, 0x17, 0x72, 0x29, + 0xb8, 0xfe, 0x25, 0x94, 0x45, 0x15, 0xdc, 0xcd, 0x46, 0x92, 0x78, 0xb1, +}; +static const unsigned char kat2749_addin0[] = { + 0x02, 0x1a, 0xf3, 0x66, 0x50, 0xe7, 0xac, 0xc3, 0xc5, 0xf5, 0x26, 0xab, + 0xe7, 0x24, 0x32, 0x58, 0xc5, 0x18, 0x20, 0x01, 0xd6, 0x4c, 0xe8, 0x0d, + 0x4b, 0xf0, 0xa6, 0x33, 0x72, 0x5c, 0x1d, 0xcc, 0x38, 0xf3, 0xf2, 0xb7, + 0x06, 0x77, 0x11, 0x22, 0xbb, 0xa5, 0x02, 0x6c, 0x3d, 0xac, 0x60, 0x40, +}; +static const unsigned char kat2749_addin1[] = { + 0x6b, 0xb5, 0x2d, 0xa3, 0x4c, 0x8a, 0x45, 0x28, 0xa2, 0x58, 0x5b, 0x9f, + 0x42, 0xc0, 0x4f, 0xc4, 0x48, 0x7f, 0xf3, 0x55, 0xe3, 0xb7, 0xa4, 0x2c, + 0x37, 0xc8, 0x33, 0xff, 0xac, 0x63, 0x6d, 0xe5, 0x45, 0xab, 0xa1, 0x56, + 0xf5, 0x16, 0xef, 0xa0, 0xbb, 0xa5, 0x2b, 0x91, 0x16, 0x98, 0x6f, 0x8e, +}; +static const unsigned char kat2749_retbits[] = { + 0x77, 0x0c, 0xfb, 0xda, 0xe6, 0x52, 0xc3, 0xbc, 0xf5, 0x09, 0x6f, 0x4a, + 0x60, 0x04, 0xa2, 0x60, 0xcf, 0x61, 0xe8, 0x46, 0x06, 0xcf, 0xd6, 0x0a, + 0xc6, 0x71, 0x9d, 0x72, 0xea, 0xf4, 0x63, 0xda, 0x13, 0x5d, 0xea, 0x67, + 0x1c, 0x00, 0x25, 0x8e, 0x77, 0xd4, 0x9d, 0x72, 0xc3, 0x0c, 0xb2, 0xa5, + 0xb6, 0x6f, 0x79, 0xf3, 0x31, 0x72, 0x58, 0x1d, 0x95, 0xad, 0xe3, 0xf7, + 0xd6, 0x95, 0xcb, 0x61, +}; +static const struct drbg_kat_pr_false kat2749_t = { + 3, kat2749_entropyin, kat2749_nonce, kat2749_persstr, + kat2749_entropyinreseed, kat2749_addinreseed, kat2749_addin0, + kat2749_addin1, kat2749_retbits +}; +static const struct drbg_kat kat2749 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2749_t +}; + +static const unsigned char kat2750_entropyin[] = { + 0x3a, 0x56, 0xe4, 0x58, 0x5b, 0x56, 0xaf, 0x93, 0xb4, 0xa2, 0x05, 0xc3, + 0x01, 0x86, 0xc5, 0x8f, 0xe9, 0xed, 0x18, 0x58, 0x10, 0xd9, 0x26, 0x7f, + 0x73, 0x4f, 0x39, 0x90, 0xb9, 0x1e, 0x36, 0x61, 0x84, 0xe0, 0xb4, 0x6f, + 0x5f, 0x8b, 0xc7, 0xc3, 0x64, 0xcf, 0x8a, 0xc5, 0xdf, 0x64, 0x3c, 0xd7, +}; +static const unsigned char kat2750_nonce[] = {0}; +static const unsigned char kat2750_persstr[] = { + 0xc8, 0x72, 0x5d, 0x49, 0xec, 0x89, 0xb7, 0x6b, 0x9c, 0x29, 0x2c, 0xee, + 0x1b, 0xfc, 0x22, 0xf7, 0xa6, 0x59, 0x3c, 0x7f, 0xd3, 0x7a, 0x96, 0x33, + 0xf0, 0x34, 0x1b, 0x68, 0x90, 0x5f, 0x16, 0xca, 0x25, 0xdd, 0x09, 0x6a, + 0xaf, 0xd3, 0x98, 0x84, 0xa2, 0x30, 0x1c, 0xfe, 0x17, 0x8c, 0x63, 0xb3, +}; +static const unsigned char kat2750_entropyinreseed[] = { + 0x3e, 0x5a, 0x81, 0x4e, 0xe0, 0x9a, 0xaa, 0xd3, 0x66, 0xc2, 0x02, 0x12, + 0xd4, 0x9f, 0x18, 0x6e, 0x7e, 0x30, 0xd7, 0xbf, 0x7e, 0xb4, 0x70, 0x95, + 0x8b, 0x1b, 0x35, 0x6b, 0x6f, 0xdb, 0x11, 0x14, 0xc6, 0xec, 0xaa, 0x8b, + 0x18, 0xf3, 0x9e, 0x78, 0xca, 0xa9, 0xc2, 0x97, 0x26, 0x39, 0x42, 0x41, +}; +static const unsigned char kat2750_addinreseed[] = { + 0xc1, 0x7a, 0x4f, 0xd0, 0x37, 0x1f, 0x50, 0x50, 0xc3, 0xff, 0x35, 0x79, + 0xd2, 0xe6, 0x80, 0x9a, 0x8e, 0x5d, 0xbe, 0x62, 0xf2, 0xbe, 0x35, 0x9f, + 0x91, 0xfa, 0xff, 0x57, 0x31, 0x03, 0x1c, 0x6c, 0x2a, 0xd9, 0xea, 0x8f, + 0xda, 0xb1, 0x05, 0x61, 0xf1, 0xfb, 0x9c, 0xb8, 0x5d, 0xcb, 0x9c, 0x91, +}; +static const unsigned char kat2750_addin0[] = { + 0xb3, 0x42, 0x8e, 0xf3, 0x01, 0xe8, 0x91, 0x02, 0x2e, 0xab, 0xb4, 0xaf, + 0x05, 0x92, 0xd9, 0x18, 0xac, 0x6e, 0xe1, 0x5d, 0xe2, 0x9c, 0x12, 0xa0, + 0x50, 0x97, 0xe9, 0xf5, 0xc0, 0xec, 0x7f, 0x93, 0x6e, 0xf5, 0x33, 0x1c, + 0x63, 0x3a, 0x39, 0x9c, 0x3f, 0x90, 0xaa, 0x47, 0xf2, 0x4f, 0xd9, 0xad, +}; +static const unsigned char kat2750_addin1[] = { + 0xbf, 0x0b, 0x17, 0xe6, 0x58, 0xcb, 0x49, 0xd2, 0xea, 0xb6, 0x81, 0xca, + 0x34, 0x8f, 0xfc, 0x76, 0x63, 0x57, 0x0a, 0x55, 0x96, 0xc8, 0x84, 0xd9, + 0x6d, 0x1d, 0x91, 0xd5, 0xcb, 0x85, 0x6c, 0xc9, 0xa7, 0x2a, 0x7c, 0xf8, + 0xc3, 0x59, 0x13, 0x52, 0x5b, 0x5e, 0x01, 0x94, 0xc5, 0xf8, 0x3d, 0x8d, +}; +static const unsigned char kat2750_retbits[] = { + 0x93, 0x21, 0xa8, 0x46, 0x0a, 0xd4, 0x53, 0xd3, 0x46, 0x60, 0x6d, 0x0f, + 0xa8, 0x8e, 0x44, 0xe4, 0xc0, 0xa3, 0xa3, 0x2d, 0x43, 0xd8, 0x4d, 0x4c, + 0xbf, 0xa7, 0xad, 0xfe, 0x41, 0x1e, 0xd4, 0xda, 0x44, 0xe4, 0x58, 0xc1, + 0x68, 0x43, 0x92, 0x79, 0xc9, 0xac, 0xd7, 0x28, 0x7e, 0xf4, 0x20, 0x1e, + 0x7d, 0xcb, 0x60, 0x08, 0x7a, 0xa8, 0x0d, 0x05, 0x74, 0xcb, 0xad, 0xec, + 0x2f, 0xeb, 0x2e, 0x41, +}; +static const struct drbg_kat_pr_false kat2750_t = { + 4, kat2750_entropyin, kat2750_nonce, kat2750_persstr, + kat2750_entropyinreseed, kat2750_addinreseed, kat2750_addin0, + kat2750_addin1, kat2750_retbits +}; +static const struct drbg_kat kat2750 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2750_t +}; + +static const unsigned char kat2751_entropyin[] = { + 0x4f, 0xe6, 0x7b, 0xec, 0x0f, 0x34, 0x32, 0x00, 0x57, 0x0b, 0xe3, 0x1e, + 0x93, 0xbb, 0x93, 0xff, 0x5d, 0x1a, 0x29, 0x54, 0xd6, 0xee, 0x39, 0x54, + 0xfa, 0xd3, 0x1f, 0x22, 0x19, 0xe1, 0x81, 0x64, 0x5d, 0x95, 0x99, 0x1e, + 0xaa, 0xd9, 0x5c, 0xc2, 0x03, 0xc2, 0x97, 0x4b, 0x4f, 0x8f, 0x92, 0x99, +}; +static const unsigned char kat2751_nonce[] = {0}; +static const unsigned char kat2751_persstr[] = { + 0x84, 0xeb, 0xb9, 0x99, 0x11, 0x4c, 0xd1, 0x0e, 0x2f, 0x3f, 0x9e, 0x8b, + 0x23, 0x16, 0x35, 0xcd, 0x9a, 0x5b, 0x1f, 0x89, 0x4e, 0x5a, 0xe7, 0x2e, + 0x88, 0x63, 0x67, 0xd1, 0xbc, 0x65, 0x30, 0x3f, 0xa0, 0x92, 0xf8, 0xaa, + 0xb9, 0x02, 0x30, 0x77, 0xfb, 0x60, 0xe9, 0x8f, 0x1a, 0x77, 0xbe, 0xb1, +}; +static const unsigned char kat2751_entropyinreseed[] = { + 0xdc, 0x5e, 0xd2, 0x42, 0x12, 0xfc, 0xf4, 0x17, 0xb2, 0x64, 0x6e, 0x2a, + 0x23, 0xad, 0x21, 0x36, 0x3e, 0x78, 0xf7, 0xea, 0x28, 0x64, 0x17, 0x83, + 0x0b, 0x85, 0x3f, 0x4f, 0x69, 0x29, 0x8a, 0x26, 0x0f, 0xcd, 0x54, 0xfe, + 0xec, 0x55, 0x8d, 0x38, 0x47, 0xf1, 0x6a, 0x71, 0x39, 0x15, 0x1d, 0x42, +}; +static const unsigned char kat2751_addinreseed[] = { + 0xa4, 0x8c, 0xbb, 0xa2, 0x16, 0x52, 0x42, 0xa8, 0x24, 0xb8, 0x81, 0x7c, + 0x71, 0x23, 0x15, 0xf6, 0xcc, 0x63, 0x64, 0x25, 0x49, 0xcb, 0x86, 0xf3, + 0x7a, 0xd5, 0x12, 0x10, 0x07, 0xc5, 0x71, 0x9b, 0x55, 0x85, 0x54, 0x35, + 0x2d, 0x51, 0xba, 0x44, 0x4d, 0xea, 0x5a, 0x58, 0xcc, 0xdf, 0x5f, 0x7f, +}; +static const unsigned char kat2751_addin0[] = { + 0x2d, 0x01, 0x88, 0xea, 0x68, 0x5a, 0x72, 0xb1, 0x55, 0x55, 0xbf, 0xdd, + 0xa2, 0x61, 0x07, 0xda, 0xe1, 0x46, 0x65, 0xb2, 0xfb, 0xd9, 0x69, 0x4e, + 0xca, 0x5a, 0xee, 0x9f, 0x4c, 0x0b, 0x21, 0x22, 0xaf, 0x51, 0x81, 0x15, + 0xc3, 0x85, 0xb1, 0x66, 0xee, 0x21, 0xd6, 0x3d, 0x20, 0xd8, 0xf2, 0x80, +}; +static const unsigned char kat2751_addin1[] = { + 0x31, 0x05, 0x6e, 0x76, 0xfa, 0xb1, 0x96, 0xd3, 0x4b, 0x79, 0x4e, 0x28, + 0x90, 0x53, 0x6f, 0xd2, 0x22, 0x7a, 0x49, 0x66, 0x1b, 0x59, 0xac, 0x24, + 0x0c, 0xcd, 0xe5, 0x97, 0xe4, 0x1b, 0x1d, 0x03, 0x8c, 0xb1, 0xbe, 0x27, + 0x1e, 0x18, 0xdc, 0xfe, 0x4a, 0x58, 0x58, 0x65, 0x32, 0xf6, 0xc7, 0xd0, +}; +static const unsigned char kat2751_retbits[] = { + 0x51, 0x2a, 0x2c, 0x24, 0xc7, 0xb1, 0x70, 0x9c, 0xba, 0x34, 0xa7, 0xef, + 0x97, 0xcb, 0x16, 0x03, 0x2a, 0x99, 0x28, 0x2f, 0xfd, 0x3e, 0x80, 0xc3, + 0x07, 0x28, 0x21, 0xbb, 0xc8, 0x8d, 0x0d, 0x4e, 0x23, 0x6c, 0x17, 0xb9, + 0x9a, 0xff, 0x7b, 0xf5, 0x90, 0xe4, 0xdb, 0xaa, 0xba, 0x3c, 0xef, 0x0b, + 0xc4, 0x79, 0x6f, 0x20, 0x11, 0x76, 0x15, 0xc9, 0x73, 0x56, 0xf4, 0xa7, + 0x45, 0xd1, 0x2f, 0xa0, +}; +static const struct drbg_kat_pr_false kat2751_t = { + 5, kat2751_entropyin, kat2751_nonce, kat2751_persstr, + kat2751_entropyinreseed, kat2751_addinreseed, kat2751_addin0, + kat2751_addin1, kat2751_retbits +}; +static const struct drbg_kat kat2751 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2751_t +}; + +static const unsigned char kat2752_entropyin[] = { + 0xe1, 0xf2, 0xa3, 0x26, 0xf4, 0xf5, 0x9d, 0x68, 0x52, 0x72, 0xc4, 0x7f, + 0x1a, 0x18, 0xb7, 0x6c, 0x1e, 0x83, 0x1d, 0xa6, 0xae, 0xf5, 0x43, 0x2e, + 0x36, 0x3f, 0xdc, 0x7e, 0x1c, 0xce, 0xd7, 0xda, 0xfa, 0xcf, 0x44, 0xb7, + 0x76, 0x3e, 0x24, 0x66, 0x1b, 0xc9, 0x2a, 0x7d, 0xce, 0x8e, 0xf5, 0x13, +}; +static const unsigned char kat2752_nonce[] = {0}; +static const unsigned char kat2752_persstr[] = { + 0xd1, 0xd0, 0xf2, 0x98, 0x53, 0x9e, 0xeb, 0xc0, 0xa4, 0x54, 0x32, 0xe4, + 0x0d, 0x3f, 0x82, 0xc0, 0xa4, 0x2d, 0xa5, 0xa9, 0xf7, 0x19, 0x86, 0xd1, + 0xe4, 0x6c, 0x0d, 0x8f, 0x02, 0xd0, 0x51, 0x8d, 0xb5, 0xf7, 0xd4, 0xc9, + 0xd4, 0xb7, 0x63, 0x7c, 0x08, 0x28, 0x37, 0x37, 0xf3, 0xd3, 0xde, 0x53, +}; +static const unsigned char kat2752_entropyinreseed[] = { + 0xdc, 0xdc, 0x98, 0x36, 0xab, 0xc8, 0xcd, 0x43, 0x49, 0x89, 0xf3, 0x37, + 0xfc, 0x1e, 0xd1, 0xfc, 0x88, 0xe4, 0xb5, 0xc6, 0x7e, 0xea, 0xe3, 0x3c, + 0x15, 0x91, 0xb9, 0x56, 0xde, 0x15, 0x71, 0x0d, 0xda, 0xed, 0x7d, 0x5e, + 0xdb, 0x26, 0x86, 0x63, 0x79, 0x70, 0x13, 0x1d, 0xbd, 0x8f, 0x7e, 0xbf, +}; +static const unsigned char kat2752_addinreseed[] = { + 0xa5, 0xb9, 0x65, 0x5d, 0x68, 0x8b, 0xe8, 0xff, 0x55, 0x61, 0x64, 0x61, + 0xb6, 0xdc, 0x7c, 0x8a, 0x63, 0xff, 0xfb, 0xe8, 0x50, 0x92, 0x69, 0xa3, + 0xbc, 0xdc, 0xf3, 0xd9, 0x62, 0x5b, 0x8a, 0x1e, 0xfd, 0x7f, 0x7e, 0x7e, + 0x19, 0x6c, 0x2d, 0xf0, 0x94, 0xcc, 0x27, 0xb6, 0xf4, 0x3d, 0x4c, 0xe4, +}; +static const unsigned char kat2752_addin0[] = { + 0x87, 0xeb, 0xdd, 0xba, 0xd4, 0xcd, 0xc4, 0xc7, 0x3b, 0x06, 0x1e, 0x04, + 0x7a, 0xc0, 0xcf, 0xa7, 0x7b, 0x9c, 0x01, 0x99, 0x6a, 0x16, 0xca, 0xae, + 0xf1, 0xea, 0x9c, 0xd9, 0x57, 0x95, 0x37, 0x77, 0xaf, 0xa7, 0x81, 0xac, + 0x00, 0x5e, 0xb5, 0x85, 0x9d, 0x88, 0xcc, 0x87, 0x80, 0x56, 0xf1, 0xec, +}; +static const unsigned char kat2752_addin1[] = { + 0x4f, 0x3d, 0x5b, 0x85, 0x6e, 0x15, 0x4f, 0xcc, 0x18, 0xba, 0x79, 0x89, + 0xf3, 0x62, 0xc5, 0xf1, 0x5c, 0x5f, 0xcc, 0x3d, 0x93, 0x3f, 0x3d, 0xe7, + 0xe0, 0xa7, 0x6a, 0x57, 0x56, 0x1b, 0xad, 0x23, 0x37, 0xe7, 0xba, 0x22, + 0x35, 0xc4, 0xe4, 0x4c, 0x5b, 0x83, 0x54, 0x32, 0x3f, 0x56, 0x0b, 0x02, +}; +static const unsigned char kat2752_retbits[] = { + 0xf5, 0xdb, 0x63, 0x4b, 0x59, 0x06, 0xf3, 0xaa, 0x68, 0xef, 0x1a, 0xb7, + 0x8b, 0xdb, 0xa4, 0xdd, 0xfb, 0xd5, 0x3c, 0xc6, 0x04, 0x3f, 0xd3, 0xec, + 0xc6, 0xdf, 0x2e, 0x9c, 0x7a, 0x47, 0xbd, 0xf5, 0x40, 0x80, 0xa4, 0x6b, + 0x68, 0x9e, 0x9e, 0x5f, 0x96, 0xc8, 0x5f, 0xff, 0x5b, 0x78, 0xd1, 0x27, + 0x02, 0xd0, 0xa2, 0x05, 0x3b, 0xdf, 0x68, 0x39, 0xff, 0xbb, 0x1c, 0x92, + 0x07, 0x5d, 0xd1, 0x89, +}; +static const struct drbg_kat_pr_false kat2752_t = { + 6, kat2752_entropyin, kat2752_nonce, kat2752_persstr, + kat2752_entropyinreseed, kat2752_addinreseed, kat2752_addin0, + kat2752_addin1, kat2752_retbits +}; +static const struct drbg_kat kat2752 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2752_t +}; + +static const unsigned char kat2753_entropyin[] = { + 0xe2, 0x01, 0xfa, 0xec, 0x2d, 0x5f, 0x45, 0x30, 0xf1, 0xaf, 0xfa, 0x18, + 0x89, 0xf1, 0xea, 0xe9, 0x80, 0x9a, 0x8a, 0xe7, 0xd3, 0x2a, 0x04, 0x14, + 0xdc, 0xfd, 0xdf, 0xa3, 0x73, 0xeb, 0xf2, 0x42, 0xb8, 0xc1, 0x08, 0xcd, + 0x6c, 0xeb, 0x55, 0x5a, 0xd3, 0x12, 0x18, 0x8f, 0xb1, 0x65, 0x11, 0xb5, +}; +static const unsigned char kat2753_nonce[] = {0}; +static const unsigned char kat2753_persstr[] = { + 0x3c, 0x33, 0xd1, 0x5c, 0x59, 0xa5, 0x9b, 0x0b, 0x3c, 0x39, 0xb0, 0x08, + 0xc1, 0x7d, 0xba, 0xa2, 0xe4, 0x13, 0x7a, 0xb4, 0x73, 0xca, 0xac, 0x6b, + 0x00, 0xfd, 0xfb, 0xaf, 0xa7, 0x3f, 0x68, 0xf2, 0xe2, 0x44, 0xa3, 0x15, + 0x1f, 0xe1, 0x29, 0xea, 0x47, 0x34, 0x5d, 0x1b, 0xcb, 0xba, 0x44, 0x07, +}; +static const unsigned char kat2753_entropyinreseed[] = { + 0xaa, 0x3b, 0xec, 0x50, 0x4e, 0xd8, 0x83, 0x77, 0x79, 0x90, 0x3a, 0x62, + 0x5d, 0xab, 0x0f, 0x6b, 0x6e, 0x25, 0x08, 0xdf, 0x5c, 0x7a, 0xe5, 0x37, + 0x5a, 0x54, 0x25, 0x9a, 0x3d, 0x7f, 0x35, 0xa4, 0x15, 0x71, 0x66, 0x8f, + 0xe2, 0x7a, 0x36, 0x8d, 0x20, 0x11, 0x06, 0x51, 0x9f, 0xf4, 0x01, 0xbb, +}; +static const unsigned char kat2753_addinreseed[] = { + 0xd7, 0x5b, 0xc7, 0x21, 0xd3, 0xb2, 0xef, 0x78, 0x8f, 0x2e, 0xe4, 0xca, + 0xdb, 0x77, 0x56, 0xe0, 0x61, 0xc6, 0xec, 0x78, 0x6f, 0x7c, 0x8e, 0x37, + 0x88, 0x87, 0x95, 0x66, 0x30, 0x98, 0x17, 0x6f, 0xc7, 0x4a, 0xff, 0xa4, + 0x9f, 0xfd, 0xcb, 0x22, 0xd0, 0x3e, 0x0b, 0xc5, 0x97, 0xda, 0xca, 0xef, +}; +static const unsigned char kat2753_addin0[] = { + 0xa6, 0x24, 0xdb, 0x91, 0xdc, 0x18, 0x34, 0x9a, 0xef, 0x33, 0x96, 0x78, + 0xd7, 0x56, 0x40, 0xcb, 0x5f, 0x98, 0x68, 0xb1, 0xbc, 0x77, 0xf9, 0xc4, + 0x0b, 0xcf, 0xfd, 0xc7, 0x11, 0x9f, 0x51, 0x2f, 0xc9, 0xa9, 0xa4, 0xf5, + 0x3f, 0x88, 0xc1, 0xf2, 0xda, 0x76, 0x77, 0x7b, 0xab, 0x87, 0xf0, 0x73, +}; +static const unsigned char kat2753_addin1[] = { + 0x4d, 0x94, 0x7e, 0xcc, 0x8f, 0x47, 0xbe, 0x6e, 0xe6, 0xfc, 0xab, 0x95, + 0x2b, 0xf3, 0xad, 0x0f, 0x8f, 0xcc, 0xd8, 0x7e, 0x84, 0x0b, 0xa9, 0x31, + 0xcd, 0x5a, 0x3b, 0x4c, 0xab, 0x65, 0x0a, 0x5d, 0x86, 0xf8, 0x4a, 0xbd, + 0x83, 0xe8, 0x86, 0x65, 0x87, 0xc6, 0x6f, 0xf9, 0x3f, 0x37, 0xec, 0xbc, +}; +static const unsigned char kat2753_retbits[] = { + 0x78, 0x31, 0xe9, 0x53, 0xdd, 0xcc, 0xc1, 0x9d, 0x5d, 0x31, 0xca, 0xe3, + 0x2b, 0xb6, 0x37, 0x66, 0xb3, 0x12, 0x3f, 0x3d, 0xc7, 0xbf, 0xd2, 0x7f, + 0x0f, 0xa4, 0x9f, 0x9a, 0x61, 0x56, 0x01, 0xa8, 0x71, 0xb5, 0x71, 0x09, + 0xc2, 0x69, 0x23, 0x06, 0x66, 0x39, 0x05, 0x48, 0x1f, 0x9d, 0xf4, 0x6b, + 0x81, 0xa7, 0xad, 0xbe, 0xc5, 0xef, 0x14, 0xcc, 0x12, 0xfa, 0x68, 0xbd, + 0xef, 0xf5, 0x6a, 0x12, +}; +static const struct drbg_kat_pr_false kat2753_t = { + 7, kat2753_entropyin, kat2753_nonce, kat2753_persstr, + kat2753_entropyinreseed, kat2753_addinreseed, kat2753_addin0, + kat2753_addin1, kat2753_retbits +}; +static const struct drbg_kat kat2753 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2753_t +}; + +static const unsigned char kat2754_entropyin[] = { + 0xaa, 0x55, 0x93, 0x95, 0x54, 0x52, 0x31, 0x29, 0xc2, 0xce, 0x9f, 0xc4, + 0x31, 0x82, 0xcb, 0xcf, 0x2a, 0xd8, 0x8b, 0xb5, 0x10, 0xa0, 0xe6, 0x49, + 0x60, 0xa4, 0x99, 0x81, 0x87, 0xcd, 0x71, 0xe6, 0xb3, 0x59, 0x17, 0xde, + 0xa2, 0xfd, 0x1b, 0x1d, 0x77, 0xed, 0x21, 0x1b, 0x0b, 0xf4, 0x92, 0x80, +}; +static const unsigned char kat2754_nonce[] = {0}; +static const unsigned char kat2754_persstr[] = { + 0x3f, 0x75, 0x1f, 0xcc, 0x46, 0x07, 0x60, 0xc6, 0x0a, 0x52, 0xe2, 0x09, + 0x3a, 0xb0, 0xa8, 0xa6, 0x50, 0x2e, 0x2f, 0x3e, 0x63, 0xb6, 0xac, 0x4f, + 0x0c, 0xf8, 0xc4, 0xbc, 0xf1, 0x1c, 0x05, 0x4c, 0x87, 0x8c, 0x50, 0x0c, + 0x7d, 0xa6, 0x40, 0x33, 0x3c, 0x36, 0x70, 0x5b, 0x33, 0xe8, 0x47, 0xe9, +}; +static const unsigned char kat2754_entropyinreseed[] = { + 0xed, 0x41, 0x10, 0x72, 0x7a, 0x64, 0x38, 0x51, 0xe2, 0x26, 0xb7, 0xbb, + 0x0d, 0x07, 0xd3, 0x5e, 0x54, 0x56, 0x5d, 0x72, 0x6b, 0xeb, 0x61, 0x38, + 0xb5, 0x38, 0x22, 0x7d, 0x94, 0xf3, 0x21, 0x45, 0xf3, 0x2a, 0xef, 0xb7, + 0xa0, 0xa7, 0x5d, 0x21, 0x39, 0xcc, 0xae, 0x41, 0xc4, 0x81, 0x3d, 0xca, +}; +static const unsigned char kat2754_addinreseed[] = { + 0xbd, 0xe5, 0x69, 0x05, 0x88, 0xc7, 0xf3, 0xa3, 0x43, 0xf7, 0x41, 0xf2, + 0xb8, 0x35, 0xed, 0xbe, 0xad, 0x44, 0x48, 0x59, 0xf4, 0x6c, 0x55, 0x04, + 0xfe, 0xac, 0xa0, 0x48, 0xeb, 0xff, 0x1b, 0x37, 0x86, 0x02, 0x77, 0x60, + 0xda, 0x9c, 0x21, 0xe5, 0xc1, 0xcb, 0x54, 0x36, 0x9e, 0xfa, 0x45, 0x00, +}; +static const unsigned char kat2754_addin0[] = { + 0x2d, 0x44, 0x8f, 0x2d, 0x9c, 0xbe, 0x15, 0x33, 0xe4, 0xfd, 0x50, 0xfa, + 0xcc, 0xe3, 0xa1, 0x99, 0xf9, 0x1d, 0x88, 0x88, 0x24, 0xa0, 0xfe, 0xcd, + 0xa7, 0x4b, 0x16, 0x90, 0x0d, 0xa7, 0xb1, 0x25, 0x50, 0x7f, 0xca, 0x2e, + 0xb7, 0xb3, 0x9b, 0xdf, 0xd5, 0xa2, 0xed, 0x68, 0x08, 0x23, 0x27, 0x8f, +}; +static const unsigned char kat2754_addin1[] = { + 0xad, 0x4d, 0x12, 0x7d, 0xb0, 0xe7, 0x8b, 0x80, 0xee, 0x18, 0xad, 0xef, + 0x40, 0xaa, 0x78, 0xae, 0xbe, 0x09, 0xf2, 0x02, 0xb5, 0xe7, 0x14, 0x96, + 0xd2, 0xe0, 0xac, 0x8d, 0x21, 0x4c, 0x01, 0xfa, 0x6e, 0x98, 0x61, 0x2c, + 0x03, 0xa0, 0x74, 0x1a, 0xe0, 0xd7, 0xb1, 0x8b, 0xb9, 0x0b, 0xa3, 0xef, +}; +static const unsigned char kat2754_retbits[] = { + 0xcf, 0xba, 0x8d, 0xaa, 0xb4, 0xc9, 0x96, 0xc1, 0x25, 0x10, 0x2c, 0x46, + 0xfd, 0x1d, 0xe2, 0xaf, 0xb7, 0x5d, 0x89, 0xa3, 0xca, 0xa8, 0x3e, 0x96, + 0x52, 0x15, 0xd2, 0x32, 0x91, 0x92, 0x58, 0x73, 0xd7, 0xd5, 0x3a, 0x81, + 0x81, 0xa9, 0x2f, 0xea, 0x33, 0x47, 0xc2, 0x82, 0xda, 0x5f, 0xb1, 0xc0, + 0xf0, 0x01, 0x8a, 0xaf, 0xbe, 0x67, 0x2b, 0x9c, 0xd7, 0xc7, 0xa8, 0x1c, + 0xe0, 0xae, 0x49, 0x56, +}; +static const struct drbg_kat_pr_false kat2754_t = { + 8, kat2754_entropyin, kat2754_nonce, kat2754_persstr, + kat2754_entropyinreseed, kat2754_addinreseed, kat2754_addin0, + kat2754_addin1, kat2754_retbits +}; +static const struct drbg_kat kat2754 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2754_t +}; + +static const unsigned char kat2755_entropyin[] = { + 0x83, 0xff, 0xd3, 0x6b, 0x1d, 0x8c, 0x06, 0xa9, 0x89, 0xe9, 0x8c, 0xbe, + 0x90, 0x48, 0xd8, 0x06, 0x85, 0x50, 0xa5, 0x1a, 0x90, 0x3b, 0xe2, 0x88, + 0xef, 0x26, 0xb6, 0x06, 0x41, 0x34, 0x31, 0x60, 0xab, 0xf6, 0xad, 0xac, + 0x16, 0xe8, 0x9a, 0xb2, 0x52, 0x64, 0x7f, 0xf9, 0xe7, 0xe9, 0xfb, 0x00, +}; +static const unsigned char kat2755_nonce[] = {0}; +static const unsigned char kat2755_persstr[] = { + 0x49, 0xb3, 0x78, 0x0b, 0xea, 0xdd, 0xd3, 0xd2, 0x56, 0x67, 0xc8, 0xe3, + 0x82, 0x5d, 0x49, 0xa4, 0x21, 0x1b, 0xc9, 0xa0, 0x5c, 0x18, 0xf8, 0xd4, + 0xed, 0x06, 0x1b, 0xe8, 0xbf, 0x52, 0x9d, 0xbe, 0xa6, 0x81, 0x93, 0xbd, + 0xbc, 0x7a, 0xdf, 0x92, 0x4e, 0x27, 0x96, 0x80, 0x5b, 0x97, 0x0f, 0x2c, +}; +static const unsigned char kat2755_entropyinreseed[] = { + 0x7a, 0xbc, 0xd3, 0xb3, 0x64, 0x4f, 0xd4, 0x04, 0x0e, 0xae, 0x48, 0x19, + 0x68, 0xda, 0x7e, 0x71, 0x95, 0x33, 0x33, 0x4d, 0x43, 0xf0, 0x46, 0xe9, + 0x2f, 0x40, 0xce, 0xae, 0xb4, 0x7f, 0x78, 0x2b, 0xec, 0x6f, 0xb9, 0x3e, + 0xa8, 0xb8, 0x21, 0x23, 0x5a, 0x24, 0xc0, 0x7f, 0x4e, 0x4d, 0x23, 0x95, +}; +static const unsigned char kat2755_addinreseed[] = { + 0x32, 0x5b, 0x2e, 0xa7, 0xcd, 0xf2, 0x2f, 0x96, 0x9b, 0x0e, 0xaa, 0xc5, + 0x70, 0xf9, 0xf3, 0x91, 0x36, 0x5a, 0x0c, 0xf6, 0xcf, 0x46, 0x7d, 0x5f, + 0x1e, 0xac, 0xc5, 0xc4, 0xf2, 0xf4, 0x2e, 0x11, 0x75, 0x38, 0x93, 0xef, + 0x92, 0xd9, 0x06, 0xe3, 0x59, 0x55, 0x43, 0x51, 0xdb, 0xc8, 0x70, 0x55, +}; +static const unsigned char kat2755_addin0[] = { + 0xcb, 0xf5, 0x24, 0x67, 0x02, 0xdf, 0x6d, 0x97, 0xe2, 0xd8, 0xe7, 0x6b, + 0xad, 0x1c, 0x92, 0x89, 0x03, 0xab, 0xec, 0x59, 0x1c, 0x33, 0x93, 0xde, + 0xfe, 0x18, 0x46, 0xbb, 0xa0, 0x2a, 0x0d, 0x7f, 0x56, 0xc4, 0xaa, 0x0b, + 0xed, 0x78, 0x85, 0x0f, 0x94, 0x43, 0x22, 0xae, 0x1d, 0xe0, 0x39, 0x13, +}; +static const unsigned char kat2755_addin1[] = { + 0x80, 0x96, 0xf5, 0x29, 0x62, 0xcb, 0x85, 0xca, 0x4d, 0x59, 0x77, 0x46, + 0x34, 0xb0, 0xec, 0x4d, 0xc9, 0x16, 0x56, 0xe1, 0x4c, 0x0c, 0x6f, 0x39, + 0xf1, 0xcf, 0x00, 0x3c, 0x04, 0xff, 0x4f, 0x1d, 0x96, 0x0a, 0x0c, 0x1e, + 0x75, 0xa2, 0xd4, 0xde, 0xe7, 0xac, 0xd3, 0x93, 0x85, 0x67, 0xc7, 0x6f, +}; +static const unsigned char kat2755_retbits[] = { + 0x18, 0xba, 0x05, 0x71, 0xab, 0x63, 0x7e, 0x0d, 0x0b, 0xdb, 0x7d, 0x8c, + 0x2e, 0x4e, 0x4a, 0x7b, 0x35, 0x7a, 0x82, 0x64, 0x9a, 0x10, 0x16, 0xaa, + 0x0a, 0x10, 0x66, 0xc8, 0x91, 0xef, 0x54, 0xbd, 0xcf, 0xe3, 0x9d, 0x72, + 0xd0, 0xc4, 0xb9, 0xc1, 0xa8, 0x43, 0x03, 0x02, 0xa6, 0x6d, 0xf9, 0xaa, + 0x88, 0xc2, 0xd2, 0x91, 0xc5, 0x39, 0x05, 0x13, 0x47, 0x87, 0x80, 0x04, + 0x45, 0x37, 0xdc, 0xcf, +}; +static const struct drbg_kat_pr_false kat2755_t = { + 9, kat2755_entropyin, kat2755_nonce, kat2755_persstr, + kat2755_entropyinreseed, kat2755_addinreseed, kat2755_addin0, + kat2755_addin1, kat2755_retbits +}; +static const struct drbg_kat kat2755 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2755_t +}; + +static const unsigned char kat2756_entropyin[] = { + 0xc6, 0x77, 0xfd, 0x96, 0xfe, 0xf5, 0xcd, 0x09, 0x2e, 0x02, 0xf0, 0x65, + 0x3e, 0xc7, 0x26, 0xbf, 0x9c, 0x0e, 0x6b, 0x07, 0x9a, 0x00, 0x7e, 0x78, + 0xab, 0x7c, 0xe0, 0xcf, 0x76, 0xfe, 0xf5, 0xfd, 0xa2, 0xe9, 0x6e, 0xdf, + 0x7d, 0xbe, 0xee, 0xa7, 0x61, 0x4f, 0xc3, 0xe5, 0x97, 0x6e, 0x3a, 0x6d, +}; +static const unsigned char kat2756_nonce[] = {0}; +static const unsigned char kat2756_persstr[] = { + 0x59, 0x52, 0xa6, 0x61, 0xc3, 0x80, 0x2d, 0x16, 0xe3, 0xe2, 0x44, 0x6a, + 0xcc, 0x89, 0x32, 0x4b, 0x3e, 0xab, 0x96, 0xa6, 0x32, 0xbf, 0x72, 0xc1, + 0xd1, 0x5b, 0xe7, 0x1b, 0xd1, 0x26, 0x9f, 0x03, 0x94, 0xcf, 0x10, 0x7c, + 0x28, 0x11, 0x8f, 0xb6, 0x07, 0x82, 0x27, 0xd6, 0x40, 0x41, 0x4e, 0x9d, +}; +static const unsigned char kat2756_entropyinreseed[] = { + 0xbb, 0x24, 0xe6, 0xa5, 0x79, 0x96, 0xf7, 0x5f, 0x02, 0x10, 0x0c, 0x4f, + 0xc8, 0x8d, 0x2f, 0x63, 0x59, 0x48, 0xd4, 0x32, 0x2a, 0x77, 0x8f, 0x05, + 0xb9, 0x1a, 0xf4, 0x65, 0xa9, 0xd7, 0xf6, 0x5f, 0xe0, 0x47, 0x0f, 0x18, + 0x7f, 0x61, 0x92, 0xa6, 0x30, 0x32, 0x43, 0x8d, 0xa8, 0xf3, 0x44, 0xb2, +}; +static const unsigned char kat2756_addinreseed[] = { + 0xd6, 0x95, 0x35, 0xeb, 0x84, 0xbe, 0xf4, 0xeb, 0xc5, 0x4b, 0xeb, 0xe8, + 0x37, 0x51, 0x2c, 0xa7, 0x36, 0xd1, 0x48, 0x51, 0xb0, 0x3a, 0xa9, 0x5a, + 0x52, 0x43, 0xff, 0x37, 0x0c, 0xa8, 0x22, 0x56, 0xd1, 0xa1, 0xbb, 0x40, + 0x50, 0xfd, 0xa6, 0x1e, 0x21, 0x59, 0x76, 0x9a, 0x0e, 0xac, 0x65, 0xef, +}; +static const unsigned char kat2756_addin0[] = { + 0x3a, 0x1b, 0x3d, 0xfc, 0x0c, 0xf1, 0x9c, 0xa5, 0xf1, 0x9f, 0x0a, 0xed, + 0xbe, 0x44, 0x3b, 0x77, 0x48, 0xa1, 0x2a, 0x10, 0x4d, 0xf6, 0x65, 0x9a, + 0x46, 0x12, 0x00, 0x6d, 0xaa, 0xf1, 0xa3, 0xf5, 0x67, 0x77, 0x22, 0x49, + 0x59, 0x64, 0x87, 0xcc, 0x66, 0x55, 0x0c, 0xc9, 0xa5, 0xa7, 0xe4, 0x21, +}; +static const unsigned char kat2756_addin1[] = { + 0xcc, 0x76, 0x40, 0x00, 0x32, 0x0f, 0x33, 0x71, 0x70, 0x9e, 0x92, 0x44, + 0x2b, 0xad, 0xbe, 0xe1, 0x2b, 0xeb, 0x7c, 0xaf, 0xf2, 0xef, 0xc7, 0x30, + 0x78, 0x0b, 0x3e, 0xca, 0x22, 0xaf, 0xe4, 0x3e, 0xe7, 0x0d, 0x5e, 0xc4, + 0xc7, 0x6c, 0x09, 0x1a, 0xf0, 0x89, 0x6f, 0x47, 0x16, 0x51, 0xdd, 0xed, +}; +static const unsigned char kat2756_retbits[] = { + 0x09, 0x4d, 0x52, 0x99, 0xcf, 0x69, 0xee, 0x54, 0x62, 0x4b, 0x18, 0x08, + 0x64, 0x53, 0x79, 0x66, 0x7d, 0xa9, 0xd2, 0xcc, 0xf5, 0x17, 0x64, 0x4f, + 0x9b, 0xe0, 0x21, 0x37, 0x9b, 0x0b, 0xbf, 0xf8, 0x5f, 0x0e, 0x66, 0x1c, + 0xc4, 0x64, 0x9b, 0xfb, 0xaf, 0xe6, 0x7e, 0x20, 0xb9, 0x27, 0xb4, 0x34, + 0x6e, 0x5f, 0xa4, 0xab, 0x86, 0xbf, 0x9f, 0x1d, 0xd5, 0xef, 0x75, 0x97, + 0x1d, 0xf8, 0xdf, 0xba, +}; +static const struct drbg_kat_pr_false kat2756_t = { + 10, kat2756_entropyin, kat2756_nonce, kat2756_persstr, + kat2756_entropyinreseed, kat2756_addinreseed, kat2756_addin0, + kat2756_addin1, kat2756_retbits +}; +static const struct drbg_kat kat2756 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2756_t +}; + +static const unsigned char kat2757_entropyin[] = { + 0x4a, 0x07, 0x94, 0x72, 0x52, 0xaa, 0xb1, 0xa1, 0x41, 0xf9, 0x36, 0x01, + 0x50, 0x9b, 0x6a, 0x5f, 0x44, 0x2f, 0x5e, 0x0f, 0xd4, 0x55, 0xe6, 0xd6, + 0x9c, 0xf5, 0xd5, 0x82, 0xa3, 0x96, 0x15, 0x97, 0xc1, 0xf1, 0x01, 0xa2, + 0xbd, 0x25, 0xb3, 0xdc, 0xbb, 0x47, 0x1d, 0xdd, 0x70, 0x99, 0xf8, 0x43, +}; +static const unsigned char kat2757_nonce[] = {0}; +static const unsigned char kat2757_persstr[] = { + 0xaf, 0x96, 0xf1, 0xec, 0x13, 0xd0, 0x5d, 0x57, 0x40, 0x9e, 0x9c, 0x06, + 0xfc, 0x7c, 0x1d, 0x30, 0x00, 0xed, 0x44, 0xb3, 0x54, 0x93, 0x22, 0x97, + 0x62, 0x9f, 0x28, 0x8d, 0xe2, 0x29, 0x42, 0x4a, 0xc3, 0xb0, 0x1e, 0xc8, + 0xaf, 0x7b, 0xca, 0xb4, 0x4a, 0x54, 0x50, 0xd7, 0x12, 0x5b, 0xa4, 0x7a, +}; +static const unsigned char kat2757_entropyinreseed[] = { + 0x45, 0xa2, 0x83, 0x3a, 0x53, 0x6c, 0xec, 0xc4, 0xbb, 0x1f, 0x36, 0xa2, + 0xef, 0xa3, 0x69, 0xc4, 0x6f, 0x47, 0x1c, 0x70, 0x80, 0xc0, 0xd8, 0x23, + 0x0d, 0xa2, 0x1f, 0x61, 0x90, 0x8b, 0xb4, 0x03, 0xe1, 0x1a, 0x38, 0xef, + 0xcd, 0x77, 0x92, 0xbb, 0x81, 0xe1, 0xec, 0x64, 0xc6, 0x1a, 0x69, 0x73, +}; +static const unsigned char kat2757_addinreseed[] = { + 0x86, 0xa6, 0xdb, 0x8b, 0x6f, 0x89, 0xc9, 0x2f, 0x33, 0xc2, 0x0d, 0x9c, + 0x7f, 0x1f, 0x35, 0xe6, 0xee, 0xa2, 0x5f, 0x3e, 0x62, 0xc7, 0xa7, 0xce, + 0xfa, 0xab, 0x07, 0x1b, 0x58, 0xe4, 0xdc, 0x72, 0xa9, 0x96, 0x60, 0x90, + 0x40, 0x23, 0x3c, 0xeb, 0xc0, 0x71, 0x21, 0x01, 0x36, 0x06, 0x41, 0x14, +}; +static const unsigned char kat2757_addin0[] = { + 0x91, 0x95, 0x35, 0x2c, 0xcf, 0x0f, 0xa0, 0x04, 0xc3, 0xea, 0x45, 0xcc, + 0x3f, 0x36, 0x35, 0x51, 0x9d, 0xc8, 0xf5, 0xa7, 0x6f, 0x2a, 0x60, 0x08, + 0x63, 0xd8, 0x86, 0x45, 0x18, 0xcf, 0xc7, 0xe4, 0xad, 0xc7, 0x00, 0xaf, + 0x90, 0x50, 0x4e, 0x5c, 0xeb, 0x8e, 0xc2, 0xf9, 0x79, 0x5c, 0xa8, 0x45, +}; +static const unsigned char kat2757_addin1[] = { + 0x9e, 0x3c, 0x66, 0x56, 0x44, 0x2c, 0x70, 0x97, 0x93, 0x62, 0xb9, 0xcb, + 0xc9, 0x76, 0x0c, 0x59, 0x58, 0x74, 0x49, 0x44, 0x3f, 0x53, 0xbf, 0x4e, + 0x8e, 0x7a, 0x52, 0x03, 0x8f, 0x3c, 0xd4, 0xba, 0xa2, 0x71, 0x57, 0x49, + 0xfa, 0x9f, 0x21, 0x46, 0x9c, 0x52, 0x76, 0x1f, 0x1b, 0xed, 0x4f, 0xe9, +}; +static const unsigned char kat2757_retbits[] = { + 0x35, 0xd2, 0x6b, 0xf9, 0x4f, 0x67, 0xfc, 0xa7, 0x62, 0xa4, 0xf4, 0xe7, + 0xda, 0x4c, 0xd8, 0x7d, 0x12, 0x39, 0xd2, 0x45, 0x4b, 0x01, 0xdd, 0xc8, + 0xf7, 0xc5, 0xdb, 0x94, 0x49, 0xf5, 0x5c, 0x56, 0x87, 0xc4, 0x8c, 0x64, + 0x83, 0xde, 0xcc, 0xd2, 0x91, 0x10, 0xe6, 0x24, 0x21, 0x21, 0x21, 0x97, + 0x65, 0x90, 0x15, 0xd7, 0xa7, 0xf2, 0xf4, 0x8d, 0x6d, 0xdb, 0xff, 0x09, + 0x91, 0x6b, 0x64, 0x1d, +}; +static const struct drbg_kat_pr_false kat2757_t = { + 11, kat2757_entropyin, kat2757_nonce, kat2757_persstr, + kat2757_entropyinreseed, kat2757_addinreseed, kat2757_addin0, + kat2757_addin1, kat2757_retbits +}; +static const struct drbg_kat kat2757 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2757_t +}; + +static const unsigned char kat2758_entropyin[] = { + 0xcd, 0x03, 0xd0, 0xa5, 0x93, 0xcb, 0x60, 0x03, 0xe6, 0x00, 0x9a, 0x75, + 0x68, 0x9e, 0xa7, 0xc7, 0x1d, 0x28, 0xb7, 0xbe, 0xa6, 0xb7, 0x4b, 0x68, + 0xe9, 0x30, 0x92, 0xbc, 0x14, 0x0b, 0x37, 0xb3, 0x52, 0xca, 0x8b, 0x1c, + 0x39, 0x66, 0x94, 0x40, 0x5f, 0x94, 0xb0, 0xf6, 0xfe, 0x39, 0xa4, 0x6a, +}; +static const unsigned char kat2758_nonce[] = {0}; +static const unsigned char kat2758_persstr[] = { + 0x26, 0x3d, 0x10, 0xef, 0x97, 0x3f, 0xc8, 0x77, 0xa3, 0xce, 0xbf, 0x51, + 0x2d, 0xc1, 0xab, 0xe5, 0xfd, 0x18, 0x9f, 0x1c, 0x42, 0xb7, 0x4f, 0x07, + 0x18, 0x43, 0xb6, 0xcd, 0xe7, 0xb0, 0x25, 0xbe, 0xf4, 0x26, 0x6f, 0x8f, + 0x31, 0x2b, 0x42, 0xf9, 0x25, 0x8a, 0xa7, 0x4f, 0xe0, 0xed, 0xe0, 0x89, +}; +static const unsigned char kat2758_entropyinreseed[] = { + 0x9a, 0x01, 0xb2, 0x5f, 0x8d, 0x8b, 0xf3, 0xfd, 0xf0, 0x67, 0x3c, 0x3d, + 0x0b, 0x5a, 0x29, 0x9b, 0x18, 0x5f, 0xf4, 0x2e, 0x80, 0xd2, 0x23, 0x16, + 0x69, 0x08, 0xe4, 0xfa, 0x09, 0xc0, 0x63, 0xa3, 0xfe, 0x7d, 0x33, 0x5f, + 0x52, 0x6d, 0x2d, 0x7f, 0x7a, 0xa5, 0xfa, 0xc4, 0x4d, 0xac, 0x6d, 0x84, +}; +static const unsigned char kat2758_addinreseed[] = { + 0xe7, 0x12, 0xaf, 0xbd, 0xac, 0x4f, 0xbd, 0x71, 0xde, 0x6f, 0x4f, 0xf5, + 0xab, 0x04, 0x4b, 0xae, 0xd9, 0xc7, 0xa0, 0x4f, 0x7b, 0xd4, 0xbb, 0x14, + 0x2d, 0xd1, 0xd3, 0x41, 0xcf, 0xd9, 0xc4, 0x11, 0xfa, 0x19, 0xda, 0x5c, + 0x19, 0xbf, 0xf2, 0x7d, 0x1b, 0x6e, 0xc2, 0x83, 0xdb, 0x0d, 0xe9, 0xd1, +}; +static const unsigned char kat2758_addin0[] = { + 0xa4, 0xf3, 0xb9, 0xd8, 0xb8, 0x6f, 0xa4, 0x6d, 0x8c, 0x26, 0xf3, 0xea, + 0xd6, 0xf8, 0xeb, 0x47, 0xcf, 0xa6, 0xca, 0x44, 0x8f, 0x16, 0x59, 0xd6, + 0xd2, 0x25, 0x42, 0xc3, 0xdd, 0x98, 0x3c, 0xe2, 0xf2, 0x70, 0x70, 0x1c, + 0x06, 0x51, 0xb6, 0xc0, 0xa1, 0x07, 0x79, 0xcc, 0x62, 0x47, 0xa8, 0x1e, +}; +static const unsigned char kat2758_addin1[] = { + 0x1a, 0xa9, 0x6f, 0x73, 0xfb, 0x1a, 0x85, 0x46, 0xdc, 0xbc, 0x30, 0x9d, + 0x32, 0x24, 0x98, 0x6e, 0x0a, 0x4a, 0xe3, 0x52, 0x0d, 0x2f, 0xe8, 0x4b, + 0x54, 0x95, 0x16, 0x2b, 0x1e, 0x9d, 0x23, 0xeb, 0x08, 0x50, 0x72, 0x06, + 0xdb, 0x36, 0x69, 0x16, 0x28, 0x86, 0xba, 0x48, 0xf7, 0xbf, 0x1f, 0x29, +}; +static const unsigned char kat2758_retbits[] = { + 0x09, 0xd1, 0xeb, 0x9b, 0xac, 0x2b, 0x9e, 0xd7, 0x1f, 0x60, 0x96, 0xeb, + 0xc8, 0xd6, 0x58, 0xb2, 0x6f, 0x4a, 0x7f, 0x52, 0xed, 0xd4, 0x9c, 0x2a, + 0xd3, 0xbd, 0x9d, 0x00, 0xe5, 0x7b, 0x05, 0xbd, 0x96, 0x49, 0x6c, 0x0d, + 0x63, 0xf5, 0x32, 0x68, 0xa8, 0xf3, 0x4c, 0xd3, 0xc3, 0xfd, 0x75, 0x43, + 0x84, 0x6a, 0x9b, 0xb2, 0xd8, 0x5c, 0x37, 0x79, 0x81, 0xf6, 0xe9, 0xb4, + 0xc1, 0xe4, 0x40, 0x6d, +}; +static const struct drbg_kat_pr_false kat2758_t = { + 12, kat2758_entropyin, kat2758_nonce, kat2758_persstr, + kat2758_entropyinreseed, kat2758_addinreseed, kat2758_addin0, + kat2758_addin1, kat2758_retbits +}; +static const struct drbg_kat kat2758 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2758_t +}; + +static const unsigned char kat2759_entropyin[] = { + 0xe7, 0x10, 0x8a, 0x71, 0x40, 0x20, 0x32, 0xf8, 0xbe, 0x94, 0xfd, 0x18, + 0x28, 0x87, 0x76, 0x8b, 0x52, 0x34, 0xb8, 0x67, 0xe7, 0x2d, 0xbc, 0xb5, + 0x82, 0xa2, 0xbc, 0xd3, 0xe4, 0x80, 0x97, 0x4d, 0x9c, 0x87, 0x80, 0x92, + 0x20, 0xc9, 0xcb, 0xf1, 0x18, 0x67, 0xe9, 0x74, 0xa7, 0xc7, 0x5f, 0xdd, +}; +static const unsigned char kat2759_nonce[] = {0}; +static const unsigned char kat2759_persstr[] = { + 0x69, 0x24, 0x14, 0x5a, 0x85, 0x1a, 0xd2, 0x2a, 0xb7, 0x3e, 0x66, 0x21, + 0x17, 0xe8, 0x67, 0xcb, 0x6a, 0x9f, 0x09, 0x15, 0xf2, 0x2c, 0xe8, 0x32, + 0x13, 0xa7, 0xb6, 0xce, 0xa6, 0xd1, 0xad, 0xe7, 0x9d, 0x67, 0xea, 0xe3, + 0x13, 0x52, 0xdc, 0xc1, 0x87, 0x4e, 0x1e, 0x3f, 0xb9, 0x28, 0xf0, 0xfb, +}; +static const unsigned char kat2759_entropyinreseed[] = { + 0x44, 0x38, 0x1f, 0xbe, 0x2a, 0x5f, 0x25, 0x3a, 0xb0, 0xb3, 0x7c, 0xb7, + 0x98, 0x24, 0x01, 0xe2, 0xb6, 0x17, 0x44, 0x52, 0xea, 0x66, 0x67, 0x3c, + 0x12, 0x62, 0xd5, 0x98, 0x46, 0x05, 0xe5, 0xdb, 0x4f, 0xc2, 0x78, 0xe8, + 0x61, 0x10, 0xfd, 0xdd, 0xab, 0xeb, 0x6a, 0x39, 0x16, 0x86, 0x26, 0x74, +}; +static const unsigned char kat2759_addinreseed[] = { + 0xe5, 0xd9, 0x4f, 0x80, 0x9a, 0x80, 0x5d, 0x04, 0x18, 0xc4, 0x4a, 0x84, + 0xbe, 0x93, 0xd9, 0x04, 0xf2, 0x4d, 0x0a, 0x57, 0xeb, 0xb4, 0x92, 0x4a, + 0xdc, 0x73, 0x59, 0x76, 0x1a, 0xb6, 0xd7, 0x3d, 0x5b, 0x17, 0x02, 0xde, + 0xa1, 0x7f, 0x8c, 0x01, 0x87, 0x7e, 0xe5, 0xf4, 0x4f, 0xb5, 0xc5, 0xfb, +}; +static const unsigned char kat2759_addin0[] = { + 0x1d, 0x97, 0x1b, 0xf8, 0xb3, 0x64, 0x37, 0x93, 0x23, 0xd6, 0x97, 0x2b, + 0xf0, 0xdc, 0x86, 0x41, 0xa2, 0x29, 0x87, 0x59, 0x21, 0xb3, 0x97, 0x38, + 0xea, 0x8d, 0xad, 0xbd, 0xfa, 0x0a, 0xd3, 0x51, 0x18, 0x16, 0x9b, 0x4a, + 0x14, 0xb0, 0xca, 0xb6, 0x05, 0xbb, 0x18, 0xc5, 0x02, 0x65, 0xdb, 0x06, +}; +static const unsigned char kat2759_addin1[] = { + 0xed, 0x85, 0x70, 0x59, 0x69, 0x09, 0x1f, 0x43, 0xe3, 0x23, 0xdb, 0xcc, + 0xac, 0xad, 0xf7, 0xa3, 0xec, 0x7d, 0x06, 0xd6, 0x9b, 0x2b, 0x50, 0x0e, + 0x33, 0x42, 0x95, 0xa6, 0x87, 0x4e, 0x41, 0x5d, 0xcf, 0x11, 0x5b, 0x99, + 0xe2, 0x2a, 0xba, 0xc7, 0x8b, 0x4a, 0xdf, 0xa1, 0x0c, 0x78, 0x06, 0x95, +}; +static const unsigned char kat2759_retbits[] = { + 0x66, 0x3d, 0x9c, 0xa9, 0x85, 0x0d, 0x48, 0xdc, 0x4d, 0x95, 0x05, 0x05, + 0xb3, 0xcb, 0x2c, 0xc0, 0x68, 0x66, 0xd9, 0x33, 0xa8, 0xb8, 0x7b, 0xc5, + 0x89, 0x14, 0xf9, 0xb8, 0xe9, 0x59, 0xd4, 0x34, 0x06, 0x4b, 0xc6, 0x00, + 0x08, 0xb5, 0x7f, 0x7f, 0x19, 0x29, 0x63, 0x7a, 0x6f, 0xf7, 0x78, 0xbb, + 0x88, 0x28, 0xe5, 0x56, 0x31, 0xb4, 0xac, 0x28, 0x52, 0x22, 0x96, 0xd6, + 0x54, 0x96, 0x93, 0x4c, +}; +static const struct drbg_kat_pr_false kat2759_t = { + 13, kat2759_entropyin, kat2759_nonce, kat2759_persstr, + kat2759_entropyinreseed, kat2759_addinreseed, kat2759_addin0, + kat2759_addin1, kat2759_retbits +}; +static const struct drbg_kat kat2759 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2759_t +}; + +static const unsigned char kat2760_entropyin[] = { + 0x1f, 0xc3, 0x9d, 0x0e, 0x57, 0x52, 0x2b, 0x52, 0xd0, 0x50, 0x68, 0x17, + 0xc8, 0x24, 0x22, 0xcc, 0x7c, 0x15, 0xde, 0xc0, 0xd2, 0x75, 0xf8, 0xf9, + 0x4a, 0x41, 0x56, 0xc8, 0xec, 0x3b, 0x69, 0x8d, 0xbe, 0xde, 0x1e, 0x15, + 0x80, 0x4b, 0x82, 0x2d, 0xf6, 0x43, 0x3d, 0x0a, 0xfa, 0xdf, 0x1a, 0x50, +}; +static const unsigned char kat2760_nonce[] = {0}; +static const unsigned char kat2760_persstr[] = { + 0xee, 0xbd, 0x8b, 0x07, 0x8b, 0x80, 0x04, 0xf1, 0x61, 0x7b, 0xff, 0x59, + 0x34, 0x17, 0x9f, 0x81, 0x46, 0x3f, 0x43, 0xfe, 0xe8, 0xd0, 0x43, 0x76, + 0x23, 0x45, 0xbc, 0x08, 0x4d, 0xa2, 0xb7, 0xe9, 0x70, 0x11, 0xca, 0xc6, + 0xf4, 0x88, 0xe3, 0x1d, 0xa5, 0xdc, 0x00, 0xa7, 0xaf, 0x5b, 0x97, 0xd7, +}; +static const unsigned char kat2760_entropyinreseed[] = { + 0x60, 0xbf, 0xd2, 0x52, 0x9b, 0x39, 0x12, 0x04, 0xee, 0x81, 0x70, 0x55, + 0xc8, 0xba, 0xf5, 0xd4, 0xa4, 0x70, 0xf4, 0x33, 0x77, 0x39, 0x46, 0x40, + 0x14, 0x0e, 0xc1, 0x22, 0x65, 0x77, 0x87, 0x34, 0x4a, 0x9d, 0x5d, 0x2d, + 0x65, 0xd1, 0x12, 0xae, 0x20, 0x3f, 0xc7, 0x8e, 0x71, 0x09, 0x87, 0x2c, +}; +static const unsigned char kat2760_addinreseed[] = { + 0x86, 0xff, 0x4f, 0x59, 0x42, 0xd3, 0x41, 0x17, 0x51, 0xef, 0x63, 0x75, + 0xf8, 0xc6, 0x50, 0x16, 0xd4, 0x3c, 0x13, 0x20, 0x07, 0xcc, 0x95, 0x83, + 0x5b, 0x10, 0x4b, 0x44, 0xf9, 0x73, 0x3d, 0xc5, 0xca, 0xae, 0x17, 0xd3, + 0xda, 0x66, 0x33, 0x69, 0xbf, 0x4f, 0xf8, 0x2a, 0xdb, 0x83, 0x04, 0x43, +}; +static const unsigned char kat2760_addin0[] = { + 0x02, 0xa4, 0xbf, 0xd4, 0xa8, 0x25, 0xe4, 0xd8, 0x11, 0x77, 0x01, 0x27, + 0xc6, 0xf5, 0xa5, 0x68, 0xde, 0xff, 0x4d, 0x79, 0x89, 0x30, 0x0a, 0x0b, + 0xd2, 0x32, 0x20, 0xa5, 0x86, 0x31, 0xe0, 0x3e, 0x13, 0x8c, 0x55, 0xb5, + 0x65, 0x03, 0x2b, 0x8a, 0x7c, 0x6f, 0x3a, 0xbd, 0xd3, 0x4a, 0x0c, 0x30, +}; +static const unsigned char kat2760_addin1[] = { + 0xf9, 0x77, 0x5f, 0x8f, 0xb1, 0xb7, 0x67, 0xc4, 0x63, 0x9e, 0x2c, 0x3f, + 0xe9, 0xf0, 0x82, 0x0e, 0x03, 0xe2, 0x87, 0x80, 0x64, 0x1e, 0xcb, 0xf8, + 0x32, 0x45, 0x1b, 0xae, 0xa5, 0xe1, 0xef, 0x83, 0xcf, 0x9e, 0x07, 0x8c, + 0xc3, 0x25, 0xb1, 0xfc, 0x7a, 0x8a, 0x14, 0xbf, 0x07, 0xcc, 0x4f, 0xf5, +}; +static const unsigned char kat2760_retbits[] = { + 0xba, 0x47, 0x39, 0x79, 0xf2, 0x33, 0x58, 0xb9, 0x5f, 0xf4, 0x96, 0x10, + 0xa7, 0xb9, 0x19, 0x36, 0xb7, 0xd1, 0xda, 0x44, 0xbf, 0x88, 0x91, 0xcc, + 0x19, 0xac, 0x6c, 0xeb, 0x9f, 0x02, 0x41, 0xa8, 0xc3, 0x77, 0x1a, 0x2e, + 0xfb, 0x40, 0x32, 0x75, 0xbf, 0x59, 0x9a, 0xad, 0x30, 0xb9, 0xe4, 0x60, + 0x4e, 0x90, 0x72, 0x92, 0x41, 0x76, 0x38, 0x01, 0x38, 0x7a, 0xb2, 0x39, + 0xae, 0x54, 0x36, 0x25, +}; +static const struct drbg_kat_pr_false kat2760_t = { + 14, kat2760_entropyin, kat2760_nonce, kat2760_persstr, + kat2760_entropyinreseed, kat2760_addinreseed, kat2760_addin0, + kat2760_addin1, kat2760_retbits +}; +static const struct drbg_kat kat2760 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2760_t +}; + +static const unsigned char kat2761_entropyin[] = { + 0x3f, 0xa9, 0x04, 0x74, 0x70, 0x34, 0xcc, 0x30, 0x93, 0xde, 0xaa, 0xc4, + 0x97, 0xe3, 0xc1, 0x43, 0xfa, 0x44, 0x00, 0xac, 0xcf, 0xc5, 0x58, 0x85, + 0x71, 0x7f, 0xa9, 0x43, 0xf4, 0x3c, 0xba, 0xd1, 0xa8, 0x91, 0x68, 0xaa, + 0x76, 0x96, 0x1e, 0x15, 0x0e, 0x26, 0x49, 0xec, 0x1e, 0xd6, 0x73, 0x61, +}; +static const unsigned char kat2761_nonce[] = {0}; +static const unsigned char kat2761_persstr[] = {0}; +static const unsigned char kat2761_entropyinreseed[] = { + 0xc6, 0x0c, 0x5b, 0x41, 0x5b, 0xad, 0x71, 0x54, 0x93, 0x48, 0x6b, 0x7a, + 0x12, 0x3b, 0xa6, 0xc0, 0x46, 0x08, 0x9e, 0x95, 0x49, 0xea, 0x8b, 0xb2, + 0x2a, 0x7a, 0xd4, 0x10, 0x8b, 0xec, 0x98, 0x11, 0x7f, 0x75, 0x1a, 0x2e, + 0x4c, 0xc2, 0x0b, 0x02, 0x51, 0x0d, 0x2a, 0x3d, 0x02, 0x60, 0x5b, 0x4d, +}; +static const unsigned char kat2761_addinreseed[] = {0}; +static const unsigned char kat2761_addin0[] = {0}; +static const unsigned char kat2761_addin1[] = {0}; +static const unsigned char kat2761_retbits[] = { + 0xab, 0x2d, 0x70, 0x9d, 0xe8, 0x81, 0x16, 0x4b, 0x6c, 0x21, 0x49, 0xb2, + 0x1e, 0xae, 0x15, 0x17, 0xf8, 0x75, 0x61, 0x64, 0x9e, 0x0d, 0xd9, 0xca, + 0x5c, 0xe5, 0x51, 0xc5, 0xbd, 0x12, 0xfd, 0xf7, 0x09, 0x1e, 0x08, 0x1d, + 0x30, 0x71, 0x23, 0xae, 0xc5, 0xae, 0x7c, 0x30, 0xaf, 0xd2, 0xa6, 0x4c, + 0x8d, 0x13, 0x6e, 0xa0, 0x7f, 0x7e, 0xc5, 0xed, 0xb4, 0x40, 0x0b, 0x9a, + 0x64, 0x45, 0x66, 0x42, +}; +static const struct drbg_kat_pr_false kat2761_t = { + 0, kat2761_entropyin, kat2761_nonce, kat2761_persstr, + kat2761_entropyinreseed, kat2761_addinreseed, kat2761_addin0, + kat2761_addin1, kat2761_retbits +}; +static const struct drbg_kat kat2761 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2761_t +}; + +static const unsigned char kat2762_entropyin[] = { + 0x09, 0x12, 0xb0, 0xbd, 0xba, 0x55, 0xff, 0xab, 0x83, 0xd8, 0xe9, 0x32, + 0xb2, 0xc1, 0x43, 0x80, 0x03, 0x32, 0x4e, 0xcc, 0x2e, 0x59, 0x93, 0x3d, + 0x6e, 0x20, 0xbc, 0xca, 0x9b, 0x5c, 0x34, 0x2c, 0x07, 0x7e, 0x75, 0xf4, + 0x7e, 0x1d, 0x33, 0x59, 0xdc, 0x3c, 0xb6, 0x9b, 0xec, 0xe4, 0xa1, 0xc8, +}; +static const unsigned char kat2762_nonce[] = {0}; +static const unsigned char kat2762_persstr[] = {0}; +static const unsigned char kat2762_entropyinreseed[] = { + 0x02, 0xe5, 0x03, 0xbd, 0x3f, 0x34, 0x85, 0x98, 0x8d, 0x5e, 0x0e, 0x6a, + 0xf4, 0x58, 0x9f, 0xff, 0xda, 0x79, 0x70, 0x93, 0xe6, 0xfa, 0x77, 0xa4, + 0xa8, 0x40, 0x21, 0x26, 0x9f, 0xb8, 0xe2, 0xb5, 0x8e, 0xf7, 0x0e, 0xe9, + 0xb6, 0x0f, 0x79, 0x45, 0x5b, 0xc9, 0xc3, 0x61, 0xb7, 0xe4, 0x30, 0x29, +}; +static const unsigned char kat2762_addinreseed[] = {0}; +static const unsigned char kat2762_addin0[] = {0}; +static const unsigned char kat2762_addin1[] = {0}; +static const unsigned char kat2762_retbits[] = { + 0xb1, 0x6a, 0x7e, 0x86, 0xb1, 0x43, 0x6f, 0x13, 0xaa, 0xe4, 0x15, 0x76, + 0xdf, 0x30, 0x3a, 0xbd, 0x13, 0x1f, 0xd4, 0x58, 0x86, 0xf0, 0x2f, 0x48, + 0xef, 0x8e, 0x9f, 0x57, 0x06, 0x85, 0xff, 0xcd, 0x0d, 0xcc, 0x1f, 0x5f, + 0x1d, 0x3b, 0xed, 0xc2, 0xde, 0x37, 0x82, 0x29, 0x0f, 0x36, 0xbc, 0xfd, + 0x46, 0x84, 0xd7, 0x6e, 0x3e, 0x56, 0xa3, 0x2b, 0x75, 0x09, 0xf6, 0x7f, + 0x50, 0xdf, 0xb1, 0x4c, +}; +static const struct drbg_kat_pr_false kat2762_t = { + 1, kat2762_entropyin, kat2762_nonce, kat2762_persstr, + kat2762_entropyinreseed, kat2762_addinreseed, kat2762_addin0, + kat2762_addin1, kat2762_retbits +}; +static const struct drbg_kat kat2762 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2762_t +}; + +static const unsigned char kat2763_entropyin[] = { + 0xfd, 0x5e, 0xfc, 0xfa, 0x98, 0x60, 0x60, 0x50, 0x4d, 0xb9, 0x21, 0x09, + 0x56, 0x38, 0xcb, 0xf7, 0x0c, 0x78, 0xb7, 0xfd, 0xb1, 0xb3, 0x3d, 0x77, + 0xd4, 0xa5, 0x57, 0xef, 0x47, 0xa3, 0x65, 0x30, 0x85, 0x39, 0x84, 0x4b, + 0xe4, 0x16, 0x03, 0xe9, 0x7a, 0x78, 0xfa, 0x9f, 0x55, 0x04, 0xa4, 0x98, +}; +static const unsigned char kat2763_nonce[] = {0}; +static const unsigned char kat2763_persstr[] = {0}; +static const unsigned char kat2763_entropyinreseed[] = { + 0xc9, 0x94, 0x89, 0x73, 0x87, 0x67, 0xca, 0x8b, 0x22, 0x02, 0x2e, 0x8f, + 0xf1, 0xaa, 0x5a, 0xa6, 0x28, 0x9f, 0x2a, 0x82, 0x2e, 0x4a, 0x8c, 0x93, + 0x37, 0xed, 0x39, 0x3d, 0xb4, 0xff, 0x58, 0x70, 0xb9, 0x95, 0x2a, 0xf5, + 0x3e, 0x88, 0xbd, 0xae, 0xdb, 0xbc, 0x00, 0x26, 0x25, 0x6f, 0x9f, 0x6d, +}; +static const unsigned char kat2763_addinreseed[] = {0}; +static const unsigned char kat2763_addin0[] = {0}; +static const unsigned char kat2763_addin1[] = {0}; +static const unsigned char kat2763_retbits[] = { + 0x60, 0x7b, 0x45, 0x5e, 0xb3, 0x01, 0x93, 0x40, 0x02, 0x51, 0x61, 0x2d, + 0x1f, 0x96, 0x7a, 0xfb, 0x7a, 0x7d, 0x0f, 0x4e, 0xee, 0xfd, 0x69, 0x04, + 0x11, 0xb3, 0x2b, 0x56, 0x0b, 0xed, 0x69, 0xad, 0x74, 0x56, 0x90, 0xf9, + 0x8f, 0xa5, 0x8f, 0xb0, 0x99, 0x8c, 0x06, 0x3e, 0x52, 0x6d, 0x12, 0x4c, + 0x40, 0x35, 0xf5, 0x65, 0xee, 0x91, 0x33, 0xa8, 0x61, 0x84, 0xd6, 0xc0, + 0x13, 0x50, 0xa5, 0xd9, +}; +static const struct drbg_kat_pr_false kat2763_t = { + 2, kat2763_entropyin, kat2763_nonce, kat2763_persstr, + kat2763_entropyinreseed, kat2763_addinreseed, kat2763_addin0, + kat2763_addin1, kat2763_retbits +}; +static const struct drbg_kat kat2763 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2763_t +}; + +static const unsigned char kat2764_entropyin[] = { + 0xfd, 0xdf, 0x8a, 0x15, 0x12, 0x66, 0xa5, 0x50, 0xee, 0x2c, 0x72, 0x8f, + 0xa2, 0x5d, 0xc5, 0x92, 0xc6, 0xd5, 0x5c, 0x64, 0x4a, 0xb0, 0xd3, 0xcd, + 0x70, 0x47, 0x24, 0x8b, 0x31, 0xe2, 0xdf, 0xad, 0xe4, 0xac, 0xaa, 0x8c, + 0x40, 0xfa, 0x2c, 0xc5, 0xb7, 0x14, 0xbe, 0xd1, 0x77, 0x7b, 0x3d, 0x3d, +}; +static const unsigned char kat2764_nonce[] = {0}; +static const unsigned char kat2764_persstr[] = {0}; +static const unsigned char kat2764_entropyinreseed[] = { + 0x50, 0x81, 0x8e, 0x85, 0xd8, 0x56, 0x05, 0x9a, 0x8c, 0xe2, 0x9e, 0xc9, + 0xc8, 0xc0, 0xb8, 0x54, 0xce, 0x04, 0x19, 0x9d, 0x12, 0x81, 0x65, 0x35, + 0x5d, 0xc9, 0x9c, 0x25, 0x80, 0x47, 0xce, 0x73, 0x3a, 0x32, 0x4e, 0xad, + 0x4d, 0x33, 0x4f, 0x07, 0xaa, 0x4c, 0xd3, 0x3e, 0x2f, 0xb5, 0xf2, 0x77, +}; +static const unsigned char kat2764_addinreseed[] = {0}; +static const unsigned char kat2764_addin0[] = {0}; +static const unsigned char kat2764_addin1[] = {0}; +static const unsigned char kat2764_retbits[] = { + 0x3a, 0x4f, 0xe0, 0x79, 0x62, 0xac, 0x26, 0x9b, 0x4f, 0x40, 0xcf, 0x5e, + 0xc0, 0x21, 0x50, 0xc1, 0x5b, 0x07, 0x6e, 0x8d, 0xff, 0x34, 0x78, 0xdf, + 0xbe, 0xc9, 0xbc, 0xc7, 0x04, 0x9e, 0xb8, 0x46, 0xb8, 0x6b, 0x2e, 0x0d, + 0xbd, 0x2c, 0x1e, 0x4c, 0x38, 0x7b, 0x77, 0xc2, 0x19, 0x6a, 0xe1, 0xdf, + 0x79, 0x21, 0xef, 0x66, 0x55, 0x70, 0x0d, 0x9c, 0xff, 0xcd, 0x93, 0xdf, + 0x24, 0xee, 0xe4, 0xd0, +}; +static const struct drbg_kat_pr_false kat2764_t = { + 3, kat2764_entropyin, kat2764_nonce, kat2764_persstr, + kat2764_entropyinreseed, kat2764_addinreseed, kat2764_addin0, + kat2764_addin1, kat2764_retbits +}; +static const struct drbg_kat kat2764 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2764_t +}; + +static const unsigned char kat2765_entropyin[] = { + 0x9f, 0x9a, 0x52, 0x02, 0xa5, 0x42, 0x52, 0x5b, 0x10, 0x7b, 0xbb, 0xf2, + 0xad, 0x34, 0xed, 0x1f, 0x9a, 0x3d, 0x6a, 0x27, 0xf2, 0x06, 0x69, 0x5f, + 0x8d, 0xef, 0x3c, 0x21, 0x90, 0xb0, 0x37, 0xbf, 0x33, 0x2c, 0xe3, 0xe2, + 0xdf, 0xd6, 0x5c, 0xcf, 0x74, 0xef, 0xae, 0xbd, 0x51, 0x8f, 0xd3, 0x45, +}; +static const unsigned char kat2765_nonce[] = {0}; +static const unsigned char kat2765_persstr[] = {0}; +static const unsigned char kat2765_entropyinreseed[] = { + 0x7e, 0x96, 0x2c, 0xc7, 0xca, 0xb2, 0x31, 0xcf, 0x76, 0xc2, 0x70, 0x22, + 0xc0, 0x1a, 0x79, 0x6b, 0x76, 0xcd, 0x97, 0x74, 0x81, 0x73, 0x55, 0x33, + 0x14, 0xfd, 0xb5, 0xbb, 0x67, 0xcf, 0x56, 0x34, 0x6e, 0x35, 0xbb, 0xbe, + 0x47, 0xf3, 0x6f, 0x98, 0x9a, 0xa1, 0x60, 0x74, 0x97, 0x5b, 0x6b, 0x5e, +}; +static const unsigned char kat2765_addinreseed[] = {0}; +static const unsigned char kat2765_addin0[] = {0}; +static const unsigned char kat2765_addin1[] = {0}; +static const unsigned char kat2765_retbits[] = { + 0x41, 0x62, 0xfb, 0x10, 0xe2, 0x5b, 0x37, 0x54, 0xbd, 0xfb, 0x91, 0x3a, + 0x9e, 0xdd, 0x01, 0x56, 0x7e, 0x89, 0x7b, 0x2a, 0x1b, 0x37, 0xae, 0xa8, + 0xcb, 0x7a, 0xf0, 0x69, 0xf3, 0x33, 0xa5, 0x2a, 0xe1, 0x5b, 0xd2, 0xc8, + 0x97, 0x16, 0x0d, 0xb0, 0x34, 0xbf, 0xb5, 0x4d, 0x53, 0x48, 0x1e, 0xac, + 0x11, 0x51, 0x06, 0x4d, 0xaa, 0x3c, 0xe8, 0x85, 0x79, 0x83, 0x8e, 0xfb, + 0x1d, 0x36, 0xe0, 0x77, +}; +static const struct drbg_kat_pr_false kat2765_t = { + 4, kat2765_entropyin, kat2765_nonce, kat2765_persstr, + kat2765_entropyinreseed, kat2765_addinreseed, kat2765_addin0, + kat2765_addin1, kat2765_retbits +}; +static const struct drbg_kat kat2765 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2765_t +}; + +static const unsigned char kat2766_entropyin[] = { + 0x8f, 0x5f, 0xfa, 0x82, 0x01, 0x03, 0xb8, 0x54, 0x5c, 0x48, 0x12, 0xae, + 0x70, 0xcd, 0x77, 0xf5, 0x39, 0x17, 0xda, 0xf9, 0x7e, 0x79, 0xc1, 0x96, + 0x14, 0x92, 0xee, 0x1f, 0x6a, 0x72, 0xd6, 0x7f, 0x4f, 0x9c, 0x4b, 0xf8, + 0x48, 0xa3, 0xa0, 0xb0, 0x94, 0x18, 0x2a, 0xfd, 0xae, 0xb8, 0x3e, 0x78, +}; +static const unsigned char kat2766_nonce[] = {0}; +static const unsigned char kat2766_persstr[] = {0}; +static const unsigned char kat2766_entropyinreseed[] = { + 0xfb, 0xb0, 0x8a, 0x78, 0xba, 0xb9, 0x92, 0xfc, 0x76, 0xa5, 0x70, 0x2c, + 0x20, 0xac, 0x27, 0x65, 0xa0, 0x90, 0xd2, 0xd4, 0xb8, 0xbe, 0x5a, 0x31, + 0x29, 0x12, 0xbb, 0x66, 0x57, 0x6b, 0xd1, 0x52, 0xe7, 0x06, 0xbf, 0x80, + 0x80, 0xd4, 0xf2, 0x39, 0x68, 0x0d, 0xf9, 0x1a, 0xc2, 0x20, 0x16, 0x08, +}; +static const unsigned char kat2766_addinreseed[] = {0}; +static const unsigned char kat2766_addin0[] = {0}; +static const unsigned char kat2766_addin1[] = {0}; +static const unsigned char kat2766_retbits[] = { + 0x81, 0x1e, 0xc7, 0x25, 0xc9, 0xa7, 0xb3, 0xab, 0xff, 0x96, 0x2b, 0xf7, + 0xc2, 0x8b, 0x8f, 0xb8, 0x3b, 0xbf, 0x39, 0x4e, 0x10, 0x0a, 0x56, 0xa1, + 0xe4, 0x02, 0x81, 0xe3, 0x72, 0x21, 0xe8, 0xb0, 0x36, 0x61, 0x56, 0x7c, + 0xdb, 0x2e, 0xc5, 0x7b, 0x95, 0xbd, 0xd5, 0xf4, 0xce, 0x89, 0xad, 0xae, + 0x3d, 0x43, 0xe3, 0xba, 0x4a, 0xcc, 0x46, 0xfa, 0xab, 0x26, 0xa3, 0xd5, + 0xc7, 0xa9, 0x73, 0xa8, +}; +static const struct drbg_kat_pr_false kat2766_t = { + 5, kat2766_entropyin, kat2766_nonce, kat2766_persstr, + kat2766_entropyinreseed, kat2766_addinreseed, kat2766_addin0, + kat2766_addin1, kat2766_retbits +}; +static const struct drbg_kat kat2766 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2766_t +}; + +static const unsigned char kat2767_entropyin[] = { + 0x98, 0x1d, 0x97, 0xc7, 0x75, 0x0e, 0x5b, 0x75, 0x8d, 0x49, 0x0a, 0x76, + 0x8d, 0xc4, 0x49, 0xdd, 0x6e, 0x12, 0x21, 0x90, 0x3a, 0x70, 0x65, 0xac, + 0xb2, 0x9d, 0xd2, 0x4d, 0x63, 0xf5, 0x64, 0x42, 0xe8, 0x9d, 0xee, 0x90, + 0xa6, 0xf4, 0x76, 0xca, 0xd8, 0xe8, 0x2a, 0x12, 0x9b, 0x5e, 0x89, 0x4a, +}; +static const unsigned char kat2767_nonce[] = {0}; +static const unsigned char kat2767_persstr[] = {0}; +static const unsigned char kat2767_entropyinreseed[] = { + 0x62, 0x39, 0x7c, 0x5d, 0x20, 0x3a, 0xfe, 0x8d, 0x29, 0xa2, 0x04, 0x4f, + 0x21, 0xdd, 0x8c, 0x10, 0x2b, 0xb8, 0x7d, 0x36, 0xfd, 0x67, 0xd5, 0xc3, + 0xc2, 0x2a, 0xd6, 0x11, 0x6f, 0xb3, 0xf3, 0xf8, 0x62, 0xd3, 0xca, 0xcf, + 0xe1, 0x8b, 0x85, 0x1e, 0x81, 0xb5, 0xbb, 0x3e, 0xb0, 0x74, 0xf9, 0x70, +}; +static const unsigned char kat2767_addinreseed[] = {0}; +static const unsigned char kat2767_addin0[] = {0}; +static const unsigned char kat2767_addin1[] = {0}; +static const unsigned char kat2767_retbits[] = { + 0x0a, 0x58, 0xda, 0x0e, 0x42, 0xac, 0x11, 0x86, 0xef, 0x8e, 0x1c, 0xe6, + 0xf8, 0x51, 0xe2, 0x30, 0xed, 0xfb, 0x91, 0xae, 0x3e, 0xc0, 0x9f, 0xc3, + 0x74, 0x95, 0x54, 0x45, 0xaf, 0xc8, 0xfc, 0x59, 0x71, 0x3d, 0x05, 0x51, + 0x80, 0xbc, 0xd5, 0x6c, 0x3c, 0xa5, 0x1b, 0x71, 0xeb, 0x6e, 0xda, 0xf4, + 0x3e, 0xea, 0xd8, 0x09, 0x30, 0x36, 0x0d, 0x09, 0x30, 0x0e, 0x16, 0xb5, + 0x51, 0xc3, 0x01, 0x5d, +}; +static const struct drbg_kat_pr_false kat2767_t = { + 6, kat2767_entropyin, kat2767_nonce, kat2767_persstr, + kat2767_entropyinreseed, kat2767_addinreseed, kat2767_addin0, + kat2767_addin1, kat2767_retbits +}; +static const struct drbg_kat kat2767 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2767_t +}; + +static const unsigned char kat2768_entropyin[] = { + 0x31, 0xd5, 0x0c, 0xe8, 0xe9, 0x25, 0xa6, 0x83, 0x8f, 0x08, 0x34, 0xd7, + 0x5a, 0xd6, 0x1c, 0x21, 0xd2, 0x9d, 0xb4, 0x8a, 0x83, 0x39, 0xf1, 0x1a, + 0xdb, 0x2a, 0x29, 0xde, 0xb4, 0x60, 0xd2, 0xa3, 0xf6, 0xad, 0x86, 0xa2, + 0x7b, 0xb0, 0x08, 0xc8, 0x59, 0x25, 0xc5, 0x40, 0xfc, 0x9e, 0x33, 0x98, +}; +static const unsigned char kat2768_nonce[] = {0}; +static const unsigned char kat2768_persstr[] = {0}; +static const unsigned char kat2768_entropyinreseed[] = { + 0x52, 0x0d, 0xa2, 0x53, 0xda, 0xaf, 0x68, 0x14, 0x09, 0xa8, 0x2a, 0xaa, + 0x2f, 0xe1, 0x6d, 0x6b, 0x10, 0xda, 0xc5, 0x64, 0x9d, 0xaf, 0x4f, 0x1d, + 0xe6, 0x73, 0xd1, 0xed, 0x7c, 0x6a, 0x6b, 0x8e, 0x45, 0xd0, 0x77, 0x52, + 0xf8, 0x17, 0x75, 0xc9, 0xd0, 0x03, 0x45, 0x45, 0xd6, 0x53, 0x5a, 0x8e, +}; +static const unsigned char kat2768_addinreseed[] = {0}; +static const unsigned char kat2768_addin0[] = {0}; +static const unsigned char kat2768_addin1[] = {0}; +static const unsigned char kat2768_retbits[] = { + 0x72, 0x12, 0xda, 0x37, 0x07, 0xf4, 0xde, 0xa6, 0x82, 0x8a, 0x1e, 0x7e, + 0x84, 0xee, 0x7b, 0xba, 0x2b, 0x88, 0x16, 0xc1, 0x11, 0xa7, 0xf6, 0x64, + 0x3d, 0x49, 0x2b, 0xcf, 0xf5, 0xf4, 0xba, 0x5b, 0x10, 0xaf, 0x6b, 0x25, + 0xed, 0xc5, 0x67, 0xa8, 0x28, 0x0d, 0xad, 0x55, 0x7c, 0x42, 0x90, 0x85, + 0xf5, 0xbc, 0xe7, 0x6e, 0xcb, 0x8f, 0x7d, 0xef, 0x37, 0x6e, 0x85, 0xea, + 0x99, 0x9e, 0x81, 0x5b, +}; +static const struct drbg_kat_pr_false kat2768_t = { + 7, kat2768_entropyin, kat2768_nonce, kat2768_persstr, + kat2768_entropyinreseed, kat2768_addinreseed, kat2768_addin0, + kat2768_addin1, kat2768_retbits +}; +static const struct drbg_kat kat2768 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2768_t +}; + +static const unsigned char kat2769_entropyin[] = { + 0x10, 0x52, 0xe5, 0x2b, 0xcf, 0xfa, 0x8d, 0x9b, 0xcf, 0x24, 0x16, 0x62, + 0xaf, 0x4b, 0x28, 0x1c, 0x81, 0xdb, 0x5b, 0xaa, 0x8a, 0x49, 0x9c, 0x1a, + 0x11, 0x32, 0x55, 0xeb, 0xed, 0xaa, 0x29, 0x53, 0x88, 0x8d, 0x39, 0xc8, + 0x0e, 0x50, 0xcf, 0xb4, 0x77, 0xe8, 0xa2, 0xae, 0xb1, 0xb7, 0xe4, 0x32, +}; +static const unsigned char kat2769_nonce[] = {0}; +static const unsigned char kat2769_persstr[] = {0}; +static const unsigned char kat2769_entropyinreseed[] = { + 0x23, 0xe2, 0xd6, 0xcc, 0x4e, 0xa0, 0x30, 0xe3, 0x34, 0xe1, 0xa1, 0xde, + 0x4f, 0xe7, 0x1e, 0x10, 0xed, 0x0a, 0xff, 0xe7, 0xac, 0xa2, 0xb4, 0x2e, + 0x97, 0xb9, 0x14, 0x99, 0x36, 0x91, 0x0b, 0x93, 0xd9, 0x50, 0x70, 0x60, + 0x83, 0xad, 0x26, 0x1d, 0x51, 0xa1, 0x7b, 0xdf, 0xcc, 0x7a, 0xac, 0x23, +}; +static const unsigned char kat2769_addinreseed[] = {0}; +static const unsigned char kat2769_addin0[] = {0}; +static const unsigned char kat2769_addin1[] = {0}; +static const unsigned char kat2769_retbits[] = { + 0xec, 0x6f, 0x01, 0xe3, 0x9f, 0x26, 0xfa, 0x63, 0xd4, 0x38, 0xf1, 0xaa, + 0x82, 0x56, 0x4d, 0x7e, 0x0b, 0xfc, 0xd0, 0xc3, 0xc4, 0x67, 0x1e, 0xf1, + 0x07, 0x70, 0x4c, 0xfb, 0x6e, 0xc3, 0x2a, 0xf5, 0x25, 0x9c, 0xe1, 0x4f, + 0x36, 0x04, 0x93, 0x88, 0x89, 0x1d, 0xd2, 0xd2, 0x36, 0xb2, 0x07, 0x3d, + 0xea, 0xce, 0x8e, 0x55, 0xc3, 0xcf, 0x4b, 0x98, 0x49, 0x0a, 0x6f, 0xa4, + 0x34, 0x2e, 0x00, 0x4e, +}; +static const struct drbg_kat_pr_false kat2769_t = { + 8, kat2769_entropyin, kat2769_nonce, kat2769_persstr, + kat2769_entropyinreseed, kat2769_addinreseed, kat2769_addin0, + kat2769_addin1, kat2769_retbits +}; +static const struct drbg_kat kat2769 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2769_t +}; + +static const unsigned char kat2770_entropyin[] = { + 0xfc, 0x5b, 0xdb, 0x09, 0x53, 0xcb, 0x88, 0xe2, 0x40, 0xbc, 0xa5, 0x83, + 0xeb, 0x79, 0xa3, 0x9d, 0x61, 0xe7, 0x65, 0x68, 0x34, 0x49, 0xe1, 0x5e, + 0x7e, 0x6c, 0x3f, 0xe4, 0xf2, 0xe4, 0x6f, 0x02, 0x3d, 0x7c, 0x27, 0xf3, + 0x5c, 0xa9, 0xc4, 0x28, 0x8d, 0x2f, 0x1a, 0xf9, 0xa1, 0x16, 0x99, 0xcc, +}; +static const unsigned char kat2770_nonce[] = {0}; +static const unsigned char kat2770_persstr[] = {0}; +static const unsigned char kat2770_entropyinreseed[] = { + 0x48, 0xf5, 0xd6, 0x52, 0x15, 0x8a, 0xa1, 0xb6, 0x31, 0x81, 0x65, 0x4a, + 0xae, 0x4f, 0xa3, 0x5e, 0x10, 0x78, 0x66, 0xb2, 0x74, 0x81, 0x47, 0xd6, + 0x66, 0x14, 0x1a, 0x60, 0x28, 0x71, 0x19, 0xef, 0x7e, 0xdf, 0x19, 0xc2, + 0xee, 0x52, 0x7a, 0x96, 0x10, 0xaf, 0x88, 0x54, 0x00, 0xe3, 0xf8, 0x3c, +}; +static const unsigned char kat2770_addinreseed[] = {0}; +static const unsigned char kat2770_addin0[] = {0}; +static const unsigned char kat2770_addin1[] = {0}; +static const unsigned char kat2770_retbits[] = { + 0x2c, 0x03, 0x10, 0x6b, 0xa0, 0xd3, 0x9d, 0x44, 0xff, 0x6a, 0x45, 0xc3, + 0x12, 0xc5, 0x25, 0xe9, 0x9f, 0x1f, 0x96, 0x68, 0x0f, 0xac, 0xe8, 0x3e, + 0x12, 0x75, 0x5e, 0xc6, 0x0c, 0x22, 0x89, 0x55, 0x75, 0xa0, 0x98, 0x0b, + 0x33, 0x89, 0x67, 0xe6, 0xca, 0x39, 0x0a, 0xbf, 0x8b, 0xc3, 0xd4, 0xef, + 0xe2, 0x4d, 0x2f, 0xb7, 0xea, 0x83, 0xc2, 0x91, 0x9f, 0x98, 0x6e, 0xc7, + 0xeb, 0xfc, 0xe5, 0x2e, +}; +static const struct drbg_kat_pr_false kat2770_t = { + 9, kat2770_entropyin, kat2770_nonce, kat2770_persstr, + kat2770_entropyinreseed, kat2770_addinreseed, kat2770_addin0, + kat2770_addin1, kat2770_retbits +}; +static const struct drbg_kat kat2770 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2770_t +}; + +static const unsigned char kat2771_entropyin[] = { + 0xae, 0x2c, 0x5d, 0x1a, 0x8d, 0x8b, 0x81, 0x3f, 0x40, 0xd3, 0xe2, 0x65, + 0x63, 0xfe, 0xc0, 0xe4, 0x06, 0x20, 0x93, 0xdd, 0xb6, 0x3d, 0xf4, 0xbe, + 0xe7, 0xd1, 0x02, 0xc1, 0x3c, 0x10, 0x26, 0xf3, 0xcd, 0x0c, 0x81, 0x8e, + 0x2a, 0xf5, 0xc7, 0xdc, 0x3d, 0x3e, 0x3e, 0x1f, 0xa6, 0xd5, 0x66, 0xc2, +}; +static const unsigned char kat2771_nonce[] = {0}; +static const unsigned char kat2771_persstr[] = {0}; +static const unsigned char kat2771_entropyinreseed[] = { + 0x6d, 0x8d, 0x60, 0xef, 0x2f, 0x87, 0xf9, 0x41, 0xb1, 0x00, 0xf3, 0xc1, + 0x21, 0x4a, 0x75, 0x1b, 0x23, 0xcf, 0x34, 0x1b, 0x30, 0xf7, 0xf7, 0xeb, + 0xb1, 0x83, 0x05, 0x0f, 0xd0, 0xaa, 0x5d, 0x22, 0x2e, 0x87, 0x62, 0x41, + 0x84, 0x02, 0x02, 0xa9, 0x33, 0x7a, 0xff, 0x17, 0xd7, 0x02, 0x68, 0x2e, +}; +static const unsigned char kat2771_addinreseed[] = {0}; +static const unsigned char kat2771_addin0[] = {0}; +static const unsigned char kat2771_addin1[] = {0}; +static const unsigned char kat2771_retbits[] = { + 0xb7, 0xb9, 0xf0, 0xbd, 0x79, 0x54, 0xc0, 0xe0, 0x45, 0xbe, 0xd8, 0x6c, + 0x3c, 0x2e, 0x23, 0xce, 0x3a, 0xf1, 0x7d, 0xcc, 0x85, 0x5e, 0xc5, 0xaa, + 0x4f, 0x04, 0xf0, 0x92, 0x93, 0x51, 0xae, 0x66, 0x98, 0xbe, 0xa4, 0xf2, + 0x5e, 0xcf, 0xf4, 0xf5, 0x2c, 0x2f, 0x6d, 0x75, 0x8e, 0xeb, 0x94, 0x12, + 0xe5, 0x83, 0x91, 0x4d, 0x33, 0xe9, 0x14, 0x74, 0x4d, 0x49, 0xda, 0xfb, + 0x27, 0x40, 0x01, 0x0a, +}; +static const struct drbg_kat_pr_false kat2771_t = { + 10, kat2771_entropyin, kat2771_nonce, kat2771_persstr, + kat2771_entropyinreseed, kat2771_addinreseed, kat2771_addin0, + kat2771_addin1, kat2771_retbits +}; +static const struct drbg_kat kat2771 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2771_t +}; + +static const unsigned char kat2772_entropyin[] = { + 0x73, 0x06, 0x11, 0x58, 0x0f, 0xe7, 0xa0, 0x8d, 0xa6, 0x79, 0xf8, 0x64, + 0x65, 0x4f, 0xde, 0x5a, 0x8d, 0x56, 0x4d, 0x68, 0xdd, 0x41, 0xd2, 0xa1, + 0x88, 0xd7, 0x90, 0x02, 0xf8, 0x93, 0x95, 0x43, 0xfb, 0x7d, 0xfa, 0xc8, + 0xa6, 0x56, 0x76, 0x0f, 0xa0, 0xf6, 0x6d, 0xcc, 0x21, 0x16, 0x17, 0x6c, +}; +static const unsigned char kat2772_nonce[] = {0}; +static const unsigned char kat2772_persstr[] = {0}; +static const unsigned char kat2772_entropyinreseed[] = { + 0xda, 0xc5, 0xd0, 0xbb, 0x45, 0x26, 0x21, 0x53, 0xd7, 0x1c, 0xd3, 0x30, + 0xdf, 0xf5, 0x22, 0x44, 0x68, 0x16, 0xad, 0x5e, 0x28, 0xe3, 0x86, 0x66, + 0x26, 0xf6, 0xe7, 0xfe, 0x5b, 0x6d, 0x31, 0x70, 0xd9, 0x44, 0x2e, 0x72, + 0x61, 0xa5, 0xce, 0x02, 0x99, 0x15, 0x5c, 0xae, 0x74, 0xea, 0x5e, 0x08, +}; +static const unsigned char kat2772_addinreseed[] = {0}; +static const unsigned char kat2772_addin0[] = {0}; +static const unsigned char kat2772_addin1[] = {0}; +static const unsigned char kat2772_retbits[] = { + 0x47, 0x02, 0x12, 0xb1, 0x90, 0x0f, 0xb4, 0xb1, 0xf4, 0x9c, 0xea, 0xf8, + 0xc0, 0x33, 0x3f, 0xaf, 0xf0, 0xd2, 0xa7, 0x9f, 0xd5, 0xe9, 0x13, 0xd5, + 0x2d, 0x66, 0x97, 0x0a, 0xb3, 0x1f, 0x64, 0xc2, 0x97, 0xb5, 0x5e, 0xe8, + 0x12, 0x82, 0x6c, 0xe7, 0xad, 0x35, 0x8f, 0xe5, 0x5e, 0x48, 0xb8, 0x96, + 0xdc, 0x44, 0x42, 0x87, 0x7a, 0x05, 0xc2, 0x52, 0x6d, 0xa0, 0xe5, 0x18, + 0x8f, 0x6f, 0xd5, 0xee, +}; +static const struct drbg_kat_pr_false kat2772_t = { + 11, kat2772_entropyin, kat2772_nonce, kat2772_persstr, + kat2772_entropyinreseed, kat2772_addinreseed, kat2772_addin0, + kat2772_addin1, kat2772_retbits +}; +static const struct drbg_kat kat2772 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2772_t +}; + +static const unsigned char kat2773_entropyin[] = { + 0xcd, 0xd4, 0x63, 0x97, 0x7b, 0xc8, 0x8b, 0x0e, 0x66, 0x0f, 0x3c, 0xec, + 0xe4, 0xfc, 0xf4, 0x09, 0x7f, 0xc7, 0x9f, 0x1e, 0x20, 0xdb, 0xa9, 0x6c, + 0x81, 0x96, 0x44, 0xc3, 0x70, 0x04, 0x3a, 0xc3, 0x9d, 0x49, 0x97, 0xea, + 0x9f, 0x63, 0x49, 0x69, 0xa8, 0x0e, 0x6d, 0xa6, 0xd9, 0xdd, 0x9e, 0x9a, +}; +static const unsigned char kat2773_nonce[] = {0}; +static const unsigned char kat2773_persstr[] = {0}; +static const unsigned char kat2773_entropyinreseed[] = { + 0xc7, 0xdb, 0xc9, 0x7c, 0x20, 0x90, 0x64, 0xa4, 0xa6, 0x63, 0xc8, 0x65, + 0xe9, 0xd4, 0xaf, 0x0d, 0xa3, 0xf7, 0x09, 0xb6, 0xc1, 0x7f, 0xdd, 0x66, + 0xa9, 0x69, 0x05, 0x48, 0x56, 0xaa, 0xdf, 0xaa, 0xa1, 0xb9, 0x73, 0x61, + 0xd5, 0xa6, 0xd2, 0xed, 0x8e, 0x68, 0xcc, 0xb2, 0x03, 0xab, 0xa8, 0xc9, +}; +static const unsigned char kat2773_addinreseed[] = {0}; +static const unsigned char kat2773_addin0[] = {0}; +static const unsigned char kat2773_addin1[] = {0}; +static const unsigned char kat2773_retbits[] = { + 0x82, 0x62, 0xe7, 0x97, 0x52, 0xc9, 0xe3, 0x03, 0x6e, 0x00, 0xf3, 0x6c, + 0x5b, 0x3d, 0x06, 0xee, 0x49, 0x55, 0x5c, 0x59, 0x91, 0x93, 0xac, 0x35, + 0xae, 0x2a, 0x3a, 0x2a, 0x6b, 0xd0, 0x7c, 0x19, 0x67, 0xe7, 0xc0, 0xfb, + 0x4e, 0xbc, 0xb1, 0x4e, 0x42, 0x2f, 0x66, 0x2f, 0xe9, 0xce, 0xf0, 0x8b, + 0xe7, 0x46, 0xbf, 0x27, 0xf3, 0xce, 0xab, 0xb7, 0xff, 0x3d, 0x71, 0x68, + 0xeb, 0xa0, 0x47, 0x1b, +}; +static const struct drbg_kat_pr_false kat2773_t = { + 12, kat2773_entropyin, kat2773_nonce, kat2773_persstr, + kat2773_entropyinreseed, kat2773_addinreseed, kat2773_addin0, + kat2773_addin1, kat2773_retbits +}; +static const struct drbg_kat kat2773 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2773_t +}; + +static const unsigned char kat2774_entropyin[] = { + 0xf4, 0x7c, 0xe5, 0x66, 0x3e, 0xa7, 0x2c, 0xe3, 0xf4, 0x2b, 0x00, 0x83, + 0x8b, 0x0e, 0x8e, 0x90, 0xad, 0xf6, 0x74, 0x6d, 0x35, 0x5b, 0x5c, 0xdb, + 0xbf, 0xc0, 0xbb, 0x80, 0xe3, 0x35, 0xb0, 0x49, 0xed, 0x28, 0x01, 0x1c, + 0x7c, 0x0b, 0xe7, 0xac, 0xbe, 0xde, 0x87, 0xb5, 0x71, 0x92, 0xb1, 0xc3, +}; +static const unsigned char kat2774_nonce[] = {0}; +static const unsigned char kat2774_persstr[] = {0}; +static const unsigned char kat2774_entropyinreseed[] = { + 0x61, 0xcf, 0x94, 0x47, 0xc7, 0xc0, 0x24, 0xe0, 0xa8, 0xee, 0x04, 0x63, + 0x55, 0xe3, 0x92, 0x43, 0x73, 0xe7, 0x9f, 0xea, 0x7e, 0xfe, 0x1c, 0x3c, + 0x8b, 0x1f, 0x7b, 0xf3, 0xae, 0xba, 0xe2, 0x46, 0x88, 0x79, 0x39, 0x89, + 0x43, 0x38, 0xe3, 0x04, 0xe5, 0x3d, 0x01, 0x41, 0xb4, 0xc2, 0x2c, 0x87, +}; +static const unsigned char kat2774_addinreseed[] = {0}; +static const unsigned char kat2774_addin0[] = {0}; +static const unsigned char kat2774_addin1[] = {0}; +static const unsigned char kat2774_retbits[] = { + 0xd1, 0xac, 0x84, 0x90, 0x3a, 0x9b, 0xbd, 0xcd, 0xca, 0x45, 0xbb, 0x7c, + 0xee, 0x7a, 0x5f, 0x49, 0xe1, 0x4a, 0x68, 0xf0, 0xd8, 0x46, 0x7d, 0xa6, + 0x8a, 0xdc, 0xc2, 0x2c, 0x9d, 0x0b, 0xb0, 0x21, 0x18, 0xb3, 0xbb, 0x7f, + 0x2d, 0x4e, 0x11, 0xc6, 0x98, 0xbc, 0xf4, 0x21, 0xed, 0xca, 0x53, 0x38, + 0xad, 0xb0, 0xa2, 0x9b, 0x29, 0x1f, 0xea, 0x9f, 0x65, 0xa4, 0x80, 0xd4, + 0x51, 0x59, 0xda, 0x95, +}; +static const struct drbg_kat_pr_false kat2774_t = { + 13, kat2774_entropyin, kat2774_nonce, kat2774_persstr, + kat2774_entropyinreseed, kat2774_addinreseed, kat2774_addin0, + kat2774_addin1, kat2774_retbits +}; +static const struct drbg_kat kat2774 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2774_t +}; + +static const unsigned char kat2775_entropyin[] = { + 0xe2, 0x3a, 0x7f, 0x95, 0xc3, 0xcf, 0x3f, 0xdd, 0xdd, 0xec, 0x66, 0xcb, + 0x16, 0xe1, 0xfb, 0xc3, 0x84, 0x95, 0xeb, 0xe9, 0x8b, 0x3e, 0x14, 0xd8, + 0xf3, 0x51, 0xe5, 0x8b, 0xc4, 0x57, 0xcd, 0x38, 0xb7, 0x97, 0x59, 0x84, + 0x99, 0x8c, 0xa9, 0x9e, 0x9c, 0x2d, 0x14, 0xb3, 0x40, 0x68, 0xc3, 0xa4, +}; +static const unsigned char kat2775_nonce[] = {0}; +static const unsigned char kat2775_persstr[] = {0}; +static const unsigned char kat2775_entropyinreseed[] = { + 0x36, 0x41, 0x0a, 0xbe, 0x45, 0x6d, 0x7a, 0x51, 0x94, 0x80, 0x98, 0x89, + 0x7e, 0xc2, 0x05, 0xf7, 0x5f, 0x22, 0xee, 0x09, 0xcf, 0xcc, 0x94, 0xca, + 0x88, 0xfb, 0xaf, 0xf8, 0xd1, 0x59, 0xfc, 0x77, 0x9a, 0x8e, 0x42, 0x0d, + 0x11, 0xfc, 0x1a, 0xc0, 0x95, 0x18, 0x23, 0x7b, 0xfd, 0xb7, 0x44, 0x62, +}; +static const unsigned char kat2775_addinreseed[] = {0}; +static const unsigned char kat2775_addin0[] = {0}; +static const unsigned char kat2775_addin1[] = {0}; +static const unsigned char kat2775_retbits[] = { + 0x3c, 0x14, 0xa6, 0x3a, 0x9c, 0x74, 0xdd, 0x02, 0x05, 0x1c, 0x01, 0x47, + 0x63, 0x74, 0x01, 0x64, 0x9a, 0x68, 0x45, 0x2c, 0x28, 0xaf, 0x90, 0xe9, + 0x62, 0x8f, 0x1a, 0xc8, 0x7d, 0xf1, 0xd2, 0x76, 0x71, 0x39, 0x7b, 0xa3, + 0x4f, 0x49, 0x39, 0x97, 0xef, 0x63, 0x42, 0x84, 0xb7, 0x4b, 0x3b, 0x28, + 0xb2, 0xe7, 0xd4, 0x17, 0x1e, 0xb0, 0x25, 0xe4, 0x70, 0xf3, 0x9d, 0xfd, + 0x12, 0x63, 0x6a, 0x5f, +}; +static const struct drbg_kat_pr_false kat2775_t = { + 14, kat2775_entropyin, kat2775_nonce, kat2775_persstr, + kat2775_entropyinreseed, kat2775_addinreseed, kat2775_addin0, + kat2775_addin1, kat2775_retbits +}; +static const struct drbg_kat kat2775 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2775_t +}; + +static const unsigned char kat2776_entropyin[] = { + 0x69, 0x6c, 0xbd, 0x64, 0xf0, 0x7b, 0x11, 0x21, 0x55, 0xe7, 0xfd, 0xf5, + 0xc6, 0xf4, 0xf3, 0x05, 0xff, 0x0e, 0x82, 0xf9, 0xd9, 0x1c, 0xc0, 0x12, + 0xe2, 0x25, 0xf0, 0x5a, 0xfe, 0x8b, 0xce, 0x31, 0x14, 0x34, 0x76, 0x96, + 0xb6, 0x3c, 0x46, 0xca, 0x03, 0x08, 0xad, 0xec, 0xc0, 0xd6, 0xc9, 0x08, +}; +static const unsigned char kat2776_nonce[] = {0}; +static const unsigned char kat2776_persstr[] = {0}; +static const unsigned char kat2776_entropyinreseed[] = { + 0x23, 0xf7, 0xa5, 0x5a, 0xe9, 0xbd, 0x6d, 0x13, 0xe4, 0x99, 0x9b, 0x1d, + 0xed, 0xf4, 0xc0, 0x88, 0x97, 0xc4, 0x1e, 0x12, 0xa5, 0x19, 0x91, 0xba, + 0x40, 0xa4, 0xf5, 0x3f, 0x19, 0xaf, 0xdf, 0x51, 0x4a, 0x77, 0xa5, 0x80, + 0x8c, 0x65, 0xab, 0xbd, 0xbb, 0x22, 0xcc, 0x70, 0xc2, 0xe4, 0x1b, 0xd9, +}; +static const unsigned char kat2776_addinreseed[] = { + 0xbe, 0xb4, 0x21, 0x3e, 0xfc, 0x8b, 0x9f, 0x23, 0xb7, 0xe2, 0x07, 0x06, + 0x1b, 0xea, 0xc4, 0x0e, 0x00, 0x95, 0xe4, 0xd7, 0x63, 0x6d, 0x97, 0x50, + 0x4b, 0x16, 0xea, 0x97, 0x2e, 0xce, 0xa6, 0xfc, 0x07, 0x41, 0x45, 0xd3, + 0x18, 0x47, 0x44, 0x1a, 0x31, 0x0e, 0xa3, 0xd0, 0x9d, 0x2c, 0x2e, 0x86, +}; +static const unsigned char kat2776_addin0[] = { + 0xaf, 0xe6, 0x82, 0x49, 0x56, 0x3b, 0x6d, 0xc7, 0xab, 0xe5, 0xa1, 0xf6, + 0x91, 0xd9, 0x2f, 0x37, 0x86, 0x78, 0x72, 0x14, 0x78, 0xbd, 0x45, 0x20, + 0x03, 0xa8, 0xf7, 0x2d, 0xb0, 0x26, 0x2e, 0x40, 0xc5, 0x5e, 0x9e, 0x56, + 0x56, 0x1a, 0x50, 0x91, 0x66, 0x75, 0x90, 0x3a, 0x31, 0x10, 0xca, 0x6e, +}; +static const unsigned char kat2776_addin1[] = { + 0x5f, 0x21, 0xd7, 0x84, 0xfa, 0x33, 0x14, 0xbd, 0x38, 0x6f, 0xe0, 0x82, + 0x86, 0xc5, 0xc9, 0x03, 0xc3, 0xf7, 0x70, 0x05, 0x42, 0x5c, 0x63, 0x31, + 0xbf, 0x90, 0x32, 0x33, 0x83, 0x9a, 0xa2, 0x30, 0x6e, 0x34, 0x07, 0x7c, + 0x91, 0xdc, 0x57, 0x83, 0xb8, 0xb9, 0x46, 0x41, 0x0b, 0x17, 0x85, 0xfd, +}; +static const unsigned char kat2776_retbits[] = { + 0x97, 0x5c, 0x38, 0xfb, 0x31, 0x91, 0xd3, 0xe1, 0x5a, 0x80, 0x84, 0x42, + 0xa6, 0xda, 0x6e, 0x27, 0x27, 0xc3, 0x73, 0xaa, 0x64, 0xa9, 0xb1, 0x6f, + 0xa4, 0x69, 0xc2, 0x3c, 0xc4, 0xc2, 0x2f, 0xf8, 0xc1, 0xc3, 0x39, 0x49, + 0xfa, 0x61, 0x88, 0xe3, 0x19, 0xd6, 0xd6, 0x6b, 0x0c, 0x3c, 0xaa, 0xab, + 0x73, 0x95, 0xb3, 0x8c, 0xd5, 0x49, 0x79, 0xaa, 0x18, 0xd5, 0x05, 0x25, + 0x9d, 0x8d, 0x23, 0x52, +}; +static const struct drbg_kat_pr_false kat2776_t = { + 0, kat2776_entropyin, kat2776_nonce, kat2776_persstr, + kat2776_entropyinreseed, kat2776_addinreseed, kat2776_addin0, + kat2776_addin1, kat2776_retbits +}; +static const struct drbg_kat kat2776 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2776_t +}; + +static const unsigned char kat2777_entropyin[] = { + 0xe6, 0xda, 0xfe, 0x8a, 0xd4, 0x62, 0x6d, 0xb2, 0x37, 0x4c, 0x09, 0xe9, + 0x86, 0x3d, 0x4e, 0x68, 0xbc, 0x5a, 0xce, 0x27, 0xa7, 0x8f, 0x1a, 0xdb, + 0x3d, 0xe7, 0x2b, 0xf6, 0x9d, 0x29, 0x16, 0x1f, 0x6f, 0x15, 0x36, 0x37, + 0xee, 0xdb, 0xa3, 0x5c, 0xbf, 0xc6, 0x78, 0xb4, 0xc4, 0x71, 0x54, 0xf7, +}; +static const unsigned char kat2777_nonce[] = {0}; +static const unsigned char kat2777_persstr[] = {0}; +static const unsigned char kat2777_entropyinreseed[] = { + 0x59, 0x70, 0x9d, 0x21, 0x32, 0x5a, 0x5d, 0xe0, 0x9b, 0xe9, 0x08, 0xd3, + 0x30, 0xb7, 0x10, 0x1d, 0x17, 0x46, 0x69, 0x87, 0x17, 0xff, 0xcb, 0x53, + 0xc3, 0x1b, 0x44, 0xc2, 0xbd, 0x5e, 0x5f, 0xd2, 0x74, 0x7a, 0xb3, 0xd1, + 0x31, 0xd9, 0x00, 0x4d, 0x40, 0x28, 0x70, 0xc7, 0x79, 0xa3, 0xe3, 0x07, +}; +static const unsigned char kat2777_addinreseed[] = { + 0x88, 0x2e, 0xa5, 0x8e, 0xb5, 0x03, 0x06, 0xa7, 0xfa, 0x61, 0x48, 0xc4, + 0x15, 0xe4, 0x02, 0x2d, 0x0a, 0x07, 0x78, 0x98, 0x7a, 0x35, 0xdc, 0xf0, + 0xf6, 0x70, 0xcc, 0xa8, 0xab, 0x52, 0x8f, 0xea, 0x2e, 0x97, 0x91, 0xe3, + 0x22, 0x39, 0x73, 0x12, 0xd7, 0xcd, 0xb6, 0xeb, 0xf0, 0x39, 0x0d, 0x7a, +}; +static const unsigned char kat2777_addin0[] = { + 0x18, 0x00, 0xec, 0x46, 0x78, 0xb3, 0x13, 0x20, 0xa5, 0x92, 0xd8, 0xa7, + 0xcf, 0x8f, 0x4e, 0xf4, 0xf7, 0xab, 0xa3, 0xf5, 0x57, 0x16, 0x25, 0x24, + 0xba, 0x69, 0x63, 0xdf, 0xb1, 0x63, 0x2c, 0xae, 0x34, 0xe8, 0xd9, 0xf6, + 0xa1, 0x1e, 0x46, 0x20, 0x4a, 0x3b, 0x91, 0x2a, 0xec, 0x2a, 0x9e, 0x54, +}; +static const unsigned char kat2777_addin1[] = { + 0x0f, 0xea, 0x4f, 0x0f, 0x32, 0x7d, 0xc8, 0x38, 0x4d, 0x51, 0xf3, 0x60, + 0x16, 0x01, 0x27, 0x7e, 0xff, 0x9d, 0xa6, 0xde, 0xdb, 0xa1, 0x77, 0x89, + 0xdc, 0xf6, 0xa0, 0x97, 0x93, 0x51, 0xff, 0xbf, 0x57, 0x64, 0xa6, 0x1e, + 0x5a, 0xd3, 0x4b, 0xcb, 0x12, 0xa2, 0x22, 0x86, 0x44, 0x34, 0x83, 0x57, +}; +static const unsigned char kat2777_retbits[] = { + 0xa4, 0x63, 0xeb, 0x0c, 0xc9, 0xa7, 0xd2, 0x4f, 0x98, 0x6e, 0xab, 0x26, + 0xef, 0x86, 0xa5, 0x42, 0xd8, 0x29, 0x69, 0xf6, 0xac, 0x99, 0x3b, 0x8d, + 0xf0, 0xcb, 0x74, 0xae, 0x18, 0x57, 0xe7, 0x17, 0xb8, 0xbc, 0x36, 0x29, + 0x7f, 0x3f, 0xd4, 0xb5, 0x6d, 0xcc, 0x30, 0x54, 0x83, 0x88, 0x9e, 0xe1, + 0x14, 0x0f, 0x25, 0x43, 0xb7, 0x4f, 0x3b, 0x15, 0x2a, 0xdf, 0x1c, 0xcc, + 0x2b, 0x3f, 0x7d, 0xbf, +}; +static const struct drbg_kat_pr_false kat2777_t = { + 1, kat2777_entropyin, kat2777_nonce, kat2777_persstr, + kat2777_entropyinreseed, kat2777_addinreseed, kat2777_addin0, + kat2777_addin1, kat2777_retbits +}; +static const struct drbg_kat kat2777 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2777_t +}; + +static const unsigned char kat2778_entropyin[] = { + 0x24, 0xa5, 0xf6, 0xf9, 0x36, 0xa1, 0xf4, 0x33, 0xa7, 0x27, 0xff, 0xff, + 0x1d, 0x15, 0xcf, 0x44, 0x0d, 0xd0, 0x78, 0x1d, 0xa3, 0x6c, 0xa7, 0x91, + 0x8f, 0x0e, 0xee, 0x0c, 0x26, 0x99, 0xad, 0x82, 0x04, 0x88, 0xd9, 0x6c, + 0xf2, 0x7a, 0xc0, 0x68, 0x9c, 0x25, 0x8d, 0x37, 0xc7, 0xff, 0x34, 0x3b, +}; +static const unsigned char kat2778_nonce[] = {0}; +static const unsigned char kat2778_persstr[] = {0}; +static const unsigned char kat2778_entropyinreseed[] = { + 0xda, 0x9c, 0xac, 0xae, 0x8a, 0x7c, 0x86, 0xa1, 0xbc, 0x55, 0x98, 0xcd, + 0x1e, 0x7e, 0x08, 0xf2, 0x5c, 0xfd, 0x69, 0xaa, 0x6f, 0x93, 0x1f, 0x7b, + 0x32, 0x07, 0xed, 0x00, 0x42, 0x03, 0xff, 0x7a, 0x6a, 0x67, 0x3d, 0xde, + 0x66, 0x24, 0xfb, 0x3f, 0x79, 0x05, 0x79, 0x75, 0xe0, 0x76, 0x7f, 0x50, +}; +static const unsigned char kat2778_addinreseed[] = { + 0x69, 0x54, 0xe7, 0xa1, 0x70, 0x56, 0xb7, 0xbe, 0x8a, 0xd3, 0xe2, 0xb5, + 0x06, 0x0b, 0x1b, 0xd4, 0x7c, 0x51, 0x81, 0xbf, 0x15, 0xc5, 0x61, 0xa6, + 0x2e, 0x39, 0x17, 0xcc, 0x73, 0x9b, 0xef, 0x24, 0xc4, 0x00, 0x68, 0xa2, + 0x8a, 0xbd, 0xf0, 0xf1, 0x57, 0x70, 0xed, 0x6c, 0x26, 0xf4, 0x0e, 0x40, +}; +static const unsigned char kat2778_addin0[] = { + 0x99, 0x7a, 0x08, 0x35, 0x08, 0x45, 0xe1, 0x0b, 0x25, 0x90, 0x76, 0xad, + 0xc7, 0xb6, 0x0a, 0x94, 0x09, 0x1b, 0x0a, 0xc7, 0x6f, 0x64, 0x3c, 0x43, + 0x2d, 0x9c, 0xfa, 0x70, 0x03, 0x35, 0xed, 0x5a, 0x6e, 0xbc, 0x40, 0x69, + 0xf8, 0x6d, 0xcf, 0xa1, 0xe8, 0xb7, 0x34, 0x8e, 0xb6, 0xa7, 0x73, 0x82, +}; +static const unsigned char kat2778_addin1[] = { + 0x55, 0x22, 0xa7, 0xe0, 0xda, 0x07, 0x95, 0x50, 0x27, 0xd9, 0xb4, 0xf3, + 0x1c, 0x43, 0x49, 0x09, 0x87, 0x9a, 0xd3, 0x63, 0xac, 0x17, 0xa4, 0x6d, + 0xae, 0xb0, 0xa8, 0x1e, 0x6b, 0xa2, 0xe3, 0x82, 0x06, 0x99, 0x94, 0x47, + 0x58, 0xc4, 0x3f, 0xf1, 0x6b, 0xcd, 0x5f, 0x98, 0x58, 0xbe, 0xf9, 0xc9, +}; +static const unsigned char kat2778_retbits[] = { + 0x7f, 0x7d, 0x10, 0xdb, 0xa2, 0x32, 0x4d, 0x25, 0x1c, 0x55, 0x54, 0x71, + 0x71, 0x39, 0xa6, 0x20, 0xf5, 0xeb, 0x78, 0x80, 0x97, 0xc1, 0x4d, 0x92, + 0x93, 0x29, 0xa0, 0xdb, 0xf0, 0x2a, 0x1d, 0x88, 0x57, 0x9c, 0xd0, 0x70, + 0xfa, 0xf7, 0x96, 0xd0, 0xb6, 0x89, 0xc9, 0xea, 0x7c, 0x57, 0x6c, 0xf8, + 0x27, 0x6b, 0x1b, 0x2a, 0xad, 0xf0, 0xe5, 0x60, 0xa7, 0xac, 0xdb, 0x30, + 0x69, 0xec, 0x4b, 0xec, +}; +static const struct drbg_kat_pr_false kat2778_t = { + 2, kat2778_entropyin, kat2778_nonce, kat2778_persstr, + kat2778_entropyinreseed, kat2778_addinreseed, kat2778_addin0, + kat2778_addin1, kat2778_retbits +}; +static const struct drbg_kat kat2778 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2778_t +}; + +static const unsigned char kat2779_entropyin[] = { + 0x9c, 0xef, 0xa1, 0xee, 0x09, 0x0d, 0xfb, 0xfd, 0xa9, 0x33, 0xec, 0xae, + 0xde, 0x9d, 0x86, 0x4b, 0x8d, 0x2f, 0x1e, 0x41, 0x76, 0xaf, 0xd5, 0x44, + 0x6e, 0x6e, 0x3e, 0x07, 0xb8, 0xae, 0xbd, 0xfb, 0xf1, 0xdf, 0xeb, 0x5c, + 0x30, 0xaf, 0xb0, 0x2c, 0x80, 0xf6, 0xd8, 0x44, 0xa0, 0x72, 0x1e, 0x16, +}; +static const unsigned char kat2779_nonce[] = {0}; +static const unsigned char kat2779_persstr[] = {0}; +static const unsigned char kat2779_entropyinreseed[] = { + 0x24, 0xbe, 0x2a, 0x8e, 0x42, 0xf1, 0x70, 0xfd, 0x93, 0xde, 0x15, 0x97, + 0x75, 0x09, 0x86, 0x18, 0xf6, 0x51, 0x1f, 0x05, 0xb6, 0x77, 0xef, 0xd2, + 0x46, 0xdc, 0xe5, 0x8e, 0xee, 0x5e, 0xe9, 0x89, 0x4d, 0x68, 0x1a, 0xbe, + 0x5b, 0x71, 0x8f, 0x2d, 0xef, 0x41, 0xb5, 0x2f, 0xe3, 0x34, 0x73, 0x76, +}; +static const unsigned char kat2779_addinreseed[] = { + 0x5e, 0xc6, 0x67, 0x39, 0xbb, 0x2d, 0x02, 0x90, 0x2c, 0xbe, 0x54, 0xdc, + 0xe7, 0x24, 0x7a, 0xdc, 0xd9, 0xa7, 0x13, 0x9a, 0x23, 0x0c, 0x7a, 0xaf, + 0x3e, 0xbe, 0x83, 0xdf, 0xe4, 0x70, 0x40, 0x84, 0x9f, 0x86, 0x35, 0x0e, + 0xc1, 0xf1, 0x2e, 0xfc, 0xfe, 0x31, 0x33, 0x21, 0x40, 0xb0, 0xfb, 0x49, +}; +static const unsigned char kat2779_addin0[] = { + 0x82, 0xe9, 0x05, 0xcc, 0x9f, 0xc6, 0x1f, 0x33, 0xbd, 0x3b, 0x76, 0xd3, + 0x31, 0x32, 0x69, 0x2b, 0xb1, 0x82, 0xdc, 0xe8, 0xff, 0xda, 0x7b, 0x5f, + 0x9f, 0x13, 0xff, 0xec, 0x9e, 0x9e, 0xb1, 0x70, 0xde, 0x96, 0x7c, 0x4a, + 0x3b, 0xd6, 0x6d, 0xfb, 0xe6, 0x6c, 0x38, 0xfe, 0x2d, 0x63, 0x45, 0x4d, +}; +static const unsigned char kat2779_addin1[] = { + 0xd6, 0x5c, 0x7a, 0xd4, 0x38, 0xb6, 0xb2, 0x7e, 0xdd, 0xc7, 0xb6, 0xb7, + 0x49, 0x7b, 0xe3, 0xf5, 0xf3, 0xe8, 0x88, 0xb0, 0x7c, 0xdd, 0x86, 0xfe, + 0x3d, 0x81, 0xac, 0x0a, 0xa0, 0xa2, 0xd5, 0x31, 0x97, 0xf3, 0xbe, 0xa5, + 0x96, 0x8b, 0x41, 0xad, 0x58, 0x70, 0x1f, 0xc4, 0x35, 0xf3, 0x4c, 0xad, +}; +static const unsigned char kat2779_retbits[] = { + 0xba, 0x66, 0xe1, 0x63, 0xd3, 0x5c, 0xe7, 0xd2, 0xd2, 0x87, 0x8f, 0xbc, + 0x9e, 0x7b, 0x49, 0x32, 0x8e, 0xb7, 0x0a, 0x3b, 0x06, 0xdf, 0xe9, 0xaa, + 0x1e, 0x9d, 0x78, 0x9f, 0xd6, 0x7a, 0xaa, 0x56, 0x3c, 0x46, 0x92, 0xa9, + 0x86, 0x55, 0xb7, 0xae, 0x77, 0x04, 0x2f, 0x46, 0x05, 0xce, 0x99, 0x57, + 0x5d, 0xcd, 0xfa, 0x2c, 0x96, 0xd9, 0x3d, 0x76, 0xef, 0xf4, 0x4c, 0xff, + 0xf7, 0x9f, 0x34, 0xe8, +}; +static const struct drbg_kat_pr_false kat2779_t = { + 3, kat2779_entropyin, kat2779_nonce, kat2779_persstr, + kat2779_entropyinreseed, kat2779_addinreseed, kat2779_addin0, + kat2779_addin1, kat2779_retbits +}; +static const struct drbg_kat kat2779 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2779_t +}; + +static const unsigned char kat2780_entropyin[] = { + 0x53, 0x8d, 0xee, 0xe0, 0xc5, 0x9f, 0xe7, 0x1b, 0x6c, 0x67, 0xea, 0x8b, + 0x0f, 0xf5, 0xfd, 0xc1, 0xf3, 0xc9, 0x4a, 0xbd, 0xb1, 0x23, 0x7d, 0xaf, + 0xd6, 0xe9, 0xc9, 0x86, 0xa4, 0x45, 0x42, 0x9a, 0xa0, 0x98, 0xa6, 0xbc, + 0x55, 0x51, 0x90, 0x25, 0xc3, 0x6f, 0x25, 0x3a, 0xe1, 0xce, 0xdc, 0xce, +}; +static const unsigned char kat2780_nonce[] = {0}; +static const unsigned char kat2780_persstr[] = {0}; +static const unsigned char kat2780_entropyinreseed[] = { + 0x9d, 0x16, 0x39, 0xbb, 0x40, 0xeb, 0xf0, 0x2a, 0x27, 0x0f, 0x49, 0x20, + 0x5a, 0x4f, 0x5d, 0xa3, 0xc1, 0x45, 0x83, 0xb4, 0x5d, 0x70, 0x64, 0xf9, + 0x7f, 0x55, 0x22, 0x82, 0x83, 0x3e, 0x73, 0x38, 0xfd, 0xdc, 0xee, 0x59, + 0xe9, 0x1f, 0xa8, 0x08, 0x9e, 0xa9, 0x5e, 0xb6, 0xda, 0x49, 0x3c, 0x31, +}; +static const unsigned char kat2780_addinreseed[] = { + 0xe7, 0x02, 0xbb, 0x3d, 0x95, 0x9c, 0xc1, 0x68, 0x79, 0x6a, 0x8e, 0x21, + 0x0b, 0x80, 0x5e, 0x00, 0x16, 0x7d, 0x2f, 0x4d, 0x32, 0x82, 0xd4, 0x72, + 0x35, 0xd0, 0x29, 0x59, 0x7f, 0x8a, 0x90, 0x77, 0x2e, 0x90, 0x4e, 0x8a, + 0x58, 0x19, 0x99, 0xdb, 0x0c, 0xe0, 0x10, 0xb3, 0x00, 0x57, 0x90, 0xdd, +}; +static const unsigned char kat2780_addin0[] = { + 0x31, 0x93, 0xb3, 0x78, 0x39, 0x03, 0x51, 0xa8, 0x39, 0x6e, 0xed, 0x93, + 0xbf, 0x1f, 0x41, 0xd7, 0x48, 0xbc, 0x3d, 0xb1, 0x78, 0x44, 0x2d, 0x7e, + 0x76, 0xf4, 0xaa, 0xe0, 0x57, 0x61, 0x28, 0x61, 0xae, 0x27, 0xa3, 0xcf, + 0x71, 0xb2, 0xa1, 0x78, 0x5d, 0x96, 0xd5, 0x9c, 0xe0, 0x2e, 0x1c, 0x6a, +}; +static const unsigned char kat2780_addin1[] = { + 0x23, 0x89, 0x56, 0xe0, 0xd2, 0x06, 0xd4, 0xe9, 0x92, 0xab, 0x9c, 0x45, + 0x87, 0x7d, 0x99, 0x53, 0xc1, 0xe4, 0x8e, 0x76, 0xe0, 0xfb, 0x46, 0xd8, + 0x71, 0x7a, 0x0a, 0x64, 0x12, 0xcc, 0x9e, 0x9c, 0x16, 0x18, 0x94, 0x97, + 0x95, 0x06, 0x69, 0x4c, 0x63, 0xc8, 0xeb, 0x8c, 0x5d, 0x10, 0x67, 0x67, +}; +static const unsigned char kat2780_retbits[] = { + 0x7a, 0x54, 0xf5, 0x0a, 0xf3, 0xa5, 0x92, 0x93, 0x78, 0x1a, 0xe8, 0x43, + 0x8c, 0x6f, 0xb0, 0xff, 0xdd, 0xde, 0x2a, 0x33, 0x00, 0xe6, 0x05, 0x54, + 0x5c, 0xf3, 0x02, 0xd9, 0x7b, 0x81, 0xfc, 0x5e, 0x49, 0x5c, 0xe3, 0x82, + 0x57, 0x2d, 0xc7, 0x6f, 0xc9, 0x87, 0x4c, 0xdf, 0xb3, 0x17, 0x22, 0x82, + 0x2b, 0xff, 0x15, 0xbf, 0xed, 0xcd, 0xce, 0x2f, 0x70, 0xe5, 0xf8, 0x9d, + 0xe5, 0xb4, 0x1c, 0x6c, +}; +static const struct drbg_kat_pr_false kat2780_t = { + 4, kat2780_entropyin, kat2780_nonce, kat2780_persstr, + kat2780_entropyinreseed, kat2780_addinreseed, kat2780_addin0, + kat2780_addin1, kat2780_retbits +}; +static const struct drbg_kat kat2780 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2780_t +}; + +static const unsigned char kat2781_entropyin[] = { + 0xc0, 0x87, 0xc7, 0x16, 0x56, 0x76, 0x83, 0xbc, 0x38, 0x80, 0xbe, 0x56, + 0xe3, 0x22, 0xbe, 0x85, 0xf6, 0xdf, 0xc2, 0x36, 0xd3, 0x4c, 0xc6, 0x27, + 0xf7, 0xe3, 0xcb, 0xc0, 0xf1, 0xee, 0x1f, 0x0b, 0xbd, 0x2a, 0xa7, 0x5b, + 0xab, 0x3f, 0x4a, 0x96, 0xd8, 0x5c, 0xd3, 0xd5, 0x97, 0xc4, 0xd2, 0x0b, +}; +static const unsigned char kat2781_nonce[] = {0}; +static const unsigned char kat2781_persstr[] = {0}; +static const unsigned char kat2781_entropyinreseed[] = { + 0x46, 0x31, 0xd8, 0x7a, 0x5e, 0x5e, 0x86, 0x28, 0xfd, 0xfa, 0x55, 0xcf, + 0xfc, 0xb5, 0x86, 0x67, 0xef, 0x4c, 0xf8, 0xe4, 0xb1, 0xf5, 0xea, 0xf0, + 0xd5, 0xfd, 0xb7, 0xe2, 0xbf, 0xfc, 0xc8, 0x05, 0xb7, 0x4a, 0xa3, 0xc0, + 0xf1, 0xec, 0x95, 0xfd, 0x1a, 0xc0, 0xa0, 0xbe, 0x1c, 0x1f, 0x86, 0x69, +}; +static const unsigned char kat2781_addinreseed[] = { + 0x6b, 0xe5, 0x8d, 0x52, 0x97, 0xf9, 0xc1, 0x87, 0xca, 0x97, 0xab, 0x5b, + 0x66, 0x2a, 0x29, 0x5f, 0xce, 0x4c, 0x27, 0x9b, 0xd6, 0x6f, 0x73, 0x7c, + 0x70, 0xb7, 0x60, 0xda, 0xd0, 0xdb, 0x4c, 0xd5, 0x9c, 0x27, 0x7a, 0xba, + 0x7f, 0xde, 0xd7, 0x80, 0xed, 0x87, 0x8a, 0x87, 0x1f, 0xb8, 0x65, 0x0e, +}; +static const unsigned char kat2781_addin0[] = { + 0x65, 0x43, 0x69, 0xdc, 0xce, 0x04, 0x96, 0x48, 0x42, 0x55, 0x67, 0x27, + 0x9b, 0xf0, 0x80, 0x79, 0xa9, 0xa5, 0x5b, 0x17, 0x2b, 0x60, 0x95, 0x07, + 0x79, 0x9a, 0xee, 0x7d, 0x85, 0x99, 0x70, 0x75, 0x29, 0x2f, 0x8e, 0x98, + 0x8e, 0xd0, 0xca, 0x59, 0x65, 0x98, 0x82, 0x04, 0x95, 0x34, 0x63, 0x57, +}; +static const unsigned char kat2781_addin1[] = { + 0x76, 0x1d, 0x17, 0xaa, 0x9e, 0xec, 0xfd, 0xf8, 0x73, 0xf0, 0x7f, 0xc2, + 0x16, 0xca, 0x0f, 0x78, 0x5f, 0x33, 0x4e, 0x4f, 0xdb, 0x87, 0x4f, 0xfe, + 0xa8, 0x7d, 0x60, 0x09, 0xef, 0x47, 0xe2, 0x33, 0xcd, 0xcf, 0x46, 0xd3, + 0xba, 0xf6, 0xec, 0x64, 0x56, 0x93, 0xf2, 0xc9, 0xcc, 0x4b, 0x6d, 0x2f, +}; +static const unsigned char kat2781_retbits[] = { + 0xe2, 0x5a, 0x8b, 0x59, 0x18, 0xec, 0x0d, 0xb4, 0xdb, 0xf7, 0x21, 0x7a, + 0xbb, 0xd2, 0x26, 0x94, 0x64, 0x1a, 0x96, 0x96, 0xa0, 0x58, 0x5a, 0xcb, + 0x11, 0x77, 0x91, 0xea, 0x04, 0xe0, 0xae, 0xdf, 0xaa, 0x78, 0xa2, 0x4b, + 0x08, 0x6b, 0x2f, 0x7f, 0xcb, 0xce, 0xa2, 0xe4, 0xe7, 0xd8, 0xd1, 0xab, + 0x06, 0xa4, 0xa4, 0x83, 0x00, 0x8e, 0x19, 0xde, 0x51, 0xaa, 0x1e, 0xc0, + 0x07, 0xbf, 0x49, 0x57, +}; +static const struct drbg_kat_pr_false kat2781_t = { + 5, kat2781_entropyin, kat2781_nonce, kat2781_persstr, + kat2781_entropyinreseed, kat2781_addinreseed, kat2781_addin0, + kat2781_addin1, kat2781_retbits +}; +static const struct drbg_kat kat2781 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2781_t +}; + +static const unsigned char kat2782_entropyin[] = { + 0x23, 0x9f, 0x0a, 0x58, 0x3c, 0x5e, 0xa0, 0x2c, 0xd5, 0xed, 0xb9, 0x57, + 0x1a, 0x81, 0xdd, 0x47, 0xbf, 0x50, 0xe6, 0x14, 0x61, 0x54, 0x64, 0x52, + 0x2c, 0x1e, 0x6a, 0x05, 0x33, 0x61, 0xe7, 0x82, 0xb5, 0x48, 0xdb, 0x78, + 0xaa, 0x5b, 0x70, 0x64, 0xdd, 0xe3, 0xc1, 0x3f, 0xc4, 0x0f, 0x60, 0x99, +}; +static const unsigned char kat2782_nonce[] = {0}; +static const unsigned char kat2782_persstr[] = {0}; +static const unsigned char kat2782_entropyinreseed[] = { + 0xa8, 0xb9, 0xf9, 0x94, 0xe2, 0x07, 0x45, 0x1b, 0x84, 0x21, 0xff, 0x55, + 0x59, 0xf7, 0x5a, 0x4a, 0x4f, 0xc2, 0x27, 0xbc, 0x86, 0x5b, 0x67, 0xfa, + 0xf1, 0xa0, 0x5f, 0x2e, 0x87, 0xdd, 0x5e, 0x05, 0x9b, 0x76, 0xd6, 0x7a, + 0x14, 0xf6, 0x84, 0x51, 0x14, 0x3f, 0x3b, 0x6e, 0x1d, 0xd7, 0xa4, 0xa4, +}; +static const unsigned char kat2782_addinreseed[] = { + 0xec, 0xc9, 0x55, 0x99, 0x6b, 0x08, 0xc3, 0xa2, 0x7d, 0x1d, 0xd7, 0x7c, + 0x6a, 0xd2, 0x76, 0x2a, 0x00, 0x33, 0xac, 0x1d, 0x59, 0x86, 0xd5, 0x90, + 0xcc, 0x08, 0x70, 0x54, 0xe6, 0xad, 0x3b, 0xc6, 0x88, 0x41, 0xf3, 0x34, + 0xd3, 0xd2, 0x05, 0x1c, 0x40, 0x6c, 0x5c, 0x76, 0x87, 0xa3, 0x2b, 0xc1, +}; +static const unsigned char kat2782_addin0[] = { + 0xad, 0x20, 0x55, 0xd4, 0x30, 0x42, 0x36, 0x81, 0x85, 0x20, 0xe1, 0xa9, + 0xd0, 0x86, 0xb3, 0x41, 0x76, 0x8b, 0xd9, 0xbe, 0xdc, 0x35, 0xd3, 0xb8, + 0x16, 0x57, 0x6e, 0xfd, 0xbd, 0x13, 0xaa, 0x2d, 0x5f, 0x3c, 0x34, 0xd5, + 0xbd, 0xad, 0x99, 0x34, 0x4e, 0xed, 0xf0, 0x48, 0x14, 0x93, 0xf5, 0x28, +}; +static const unsigned char kat2782_addin1[] = { + 0x2a, 0xd6, 0x95, 0x0c, 0xc9, 0x33, 0x5b, 0x6c, 0xc3, 0x7e, 0x4f, 0xee, + 0x05, 0xa3, 0xdc, 0x6c, 0xcf, 0x8c, 0x72, 0xa7, 0xe6, 0xfe, 0xf9, 0xe9, + 0xbc, 0x7e, 0x5a, 0x24, 0xab, 0x82, 0x4e, 0x70, 0x72, 0xed, 0x8f, 0x0a, + 0x75, 0x13, 0xc5, 0x1c, 0x2c, 0xa3, 0x8d, 0x56, 0x26, 0x75, 0xe3, 0xfd, +}; +static const unsigned char kat2782_retbits[] = { + 0x26, 0xc5, 0x55, 0xad, 0xbe, 0x8f, 0x15, 0x6f, 0x5c, 0x9e, 0xde, 0xd8, + 0x39, 0x7a, 0xa3, 0xee, 0xae, 0x2b, 0x43, 0xe3, 0x03, 0xff, 0x5f, 0x92, + 0x26, 0xf4, 0xf5, 0x91, 0x80, 0xcb, 0x4d, 0x56, 0x2b, 0xa2, 0xed, 0x48, + 0x27, 0xfc, 0x2b, 0xd9, 0x4d, 0xf6, 0xf5, 0xc6, 0x89, 0x28, 0x0f, 0x4c, + 0x7f, 0x3c, 0xd6, 0xf3, 0x6e, 0x40, 0x6e, 0xed, 0xdc, 0x38, 0x6d, 0xb6, + 0xc4, 0x74, 0xd9, 0xb9, +}; +static const struct drbg_kat_pr_false kat2782_t = { + 6, kat2782_entropyin, kat2782_nonce, kat2782_persstr, + kat2782_entropyinreseed, kat2782_addinreseed, kat2782_addin0, + kat2782_addin1, kat2782_retbits +}; +static const struct drbg_kat kat2782 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2782_t +}; + +static const unsigned char kat2783_entropyin[] = { + 0xba, 0xe4, 0xb7, 0x6b, 0xa2, 0x69, 0x1f, 0x2b, 0x94, 0x74, 0x89, 0xb4, + 0x63, 0xad, 0x9d, 0x95, 0x4e, 0x38, 0xdc, 0x48, 0xc9, 0x4b, 0x8a, 0xd1, + 0x17, 0xfb, 0x0c, 0x10, 0xe1, 0xa9, 0x14, 0x1b, 0x54, 0xbb, 0x49, 0x27, + 0x5e, 0x3b, 0xe6, 0xc8, 0x9c, 0x6c, 0xad, 0xe6, 0xc4, 0x4a, 0x17, 0x9b, +}; +static const unsigned char kat2783_nonce[] = {0}; +static const unsigned char kat2783_persstr[] = {0}; +static const unsigned char kat2783_entropyinreseed[] = { + 0x09, 0xb4, 0x28, 0x0c, 0x60, 0xa3, 0xc1, 0x11, 0x6f, 0xe9, 0x26, 0x23, + 0xb5, 0xec, 0xd5, 0x9b, 0x2b, 0xf1, 0x48, 0xa2, 0x98, 0xb0, 0xda, 0xad, + 0x7c, 0x85, 0x44, 0x0d, 0xf9, 0x4c, 0x20, 0xed, 0xa1, 0x26, 0xbd, 0x52, + 0x36, 0x30, 0x06, 0xcc, 0xee, 0x2e, 0xa2, 0x2e, 0xa3, 0xe3, 0x69, 0x1a, +}; +static const unsigned char kat2783_addinreseed[] = { + 0xa8, 0xfd, 0x5f, 0x95, 0xe6, 0x4d, 0xd4, 0x81, 0x1b, 0x97, 0x12, 0x3d, + 0x17, 0x08, 0xe9, 0x45, 0x0a, 0x76, 0x6c, 0xad, 0x88, 0xc3, 0x9e, 0xe0, + 0x63, 0xcf, 0xce, 0x64, 0xba, 0xb2, 0xa1, 0x7e, 0xee, 0xa6, 0x64, 0x0a, + 0xbd, 0x70, 0x1a, 0x34, 0x5a, 0x58, 0x85, 0x87, 0x04, 0x7d, 0xb9, 0xd1, +}; +static const unsigned char kat2783_addin0[] = { + 0x9b, 0xd0, 0xc9, 0x29, 0x01, 0x4b, 0x8f, 0x03, 0x6e, 0x2b, 0xde, 0x99, + 0x35, 0xd6, 0xf8, 0xf9, 0x3c, 0xe6, 0xc5, 0x11, 0x40, 0x0e, 0x72, 0xa5, + 0xe2, 0x0c, 0x21, 0xee, 0xe7, 0xea, 0xcd, 0x6b, 0x8f, 0x22, 0xbb, 0x1c, + 0x12, 0xf5, 0x39, 0x2b, 0x47, 0x55, 0x03, 0xb0, 0x3b, 0xd0, 0xbc, 0x30, +}; +static const unsigned char kat2783_addin1[] = { + 0xc5, 0x6f, 0x4b, 0x4b, 0x85, 0x85, 0x4d, 0x4e, 0xc3, 0xa1, 0x0f, 0x3f, + 0xf3, 0xe9, 0x00, 0x8f, 0x5b, 0xcd, 0x6d, 0x81, 0xf8, 0xd7, 0x93, 0x57, + 0xe6, 0x5f, 0x4c, 0x7e, 0xf1, 0xec, 0xe3, 0xdd, 0x76, 0x22, 0xcb, 0x4b, + 0xf6, 0x76, 0x1f, 0x18, 0x88, 0x8c, 0xd7, 0x9f, 0x1f, 0x8b, 0x7a, 0xff, +}; +static const unsigned char kat2783_retbits[] = { + 0x29, 0x57, 0x9a, 0x8f, 0xe7, 0x54, 0xee, 0xaa, 0xfc, 0x6b, 0x62, 0x0a, + 0x2e, 0x50, 0xce, 0xb1, 0x83, 0x92, 0xd7, 0x57, 0xf2, 0x0b, 0xcc, 0x67, + 0x9a, 0xd0, 0xad, 0x61, 0x44, 0x1d, 0x54, 0x48, 0xeb, 0x15, 0xb3, 0xac, + 0xfc, 0x97, 0x2f, 0x99, 0xb5, 0xd0, 0xf8, 0x56, 0x09, 0x1c, 0x52, 0x17, + 0x4c, 0x5d, 0x6b, 0x2f, 0x39, 0x06, 0x25, 0x3d, 0x9f, 0x1a, 0x68, 0x65, + 0xaa, 0x06, 0xc8, 0xae, +}; +static const struct drbg_kat_pr_false kat2783_t = { + 7, kat2783_entropyin, kat2783_nonce, kat2783_persstr, + kat2783_entropyinreseed, kat2783_addinreseed, kat2783_addin0, + kat2783_addin1, kat2783_retbits +}; +static const struct drbg_kat kat2783 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2783_t +}; + +static const unsigned char kat2784_entropyin[] = { + 0x99, 0xeb, 0x1b, 0x06, 0xdd, 0x87, 0x7c, 0x31, 0x32, 0xf4, 0xf2, 0xa7, + 0x8d, 0xbd, 0x0c, 0xbd, 0x74, 0xf3, 0x65, 0x3a, 0xf0, 0xcd, 0x9e, 0x45, + 0xcb, 0xd2, 0x3c, 0x2f, 0x8b, 0x43, 0x1a, 0x68, 0xd9, 0x5b, 0x36, 0x59, + 0x77, 0x22, 0x5c, 0x35, 0x1b, 0x3b, 0xc1, 0xe9, 0x3d, 0xa8, 0xe7, 0x26, +}; +static const unsigned char kat2784_nonce[] = {0}; +static const unsigned char kat2784_persstr[] = {0}; +static const unsigned char kat2784_entropyinreseed[] = { + 0xfa, 0x48, 0xfe, 0x93, 0x35, 0x27, 0xd7, 0x63, 0xca, 0xe6, 0x60, 0x5d, + 0x04, 0xcb, 0xa0, 0x2b, 0x5b, 0x4b, 0x0c, 0xe8, 0x51, 0x22, 0x01, 0x1a, + 0x28, 0x78, 0x9b, 0xee, 0x1f, 0x10, 0x50, 0x70, 0x44, 0xa0, 0x21, 0xcc, + 0xd9, 0x24, 0x60, 0x28, 0x4f, 0xbf, 0x14, 0x48, 0x6c, 0x33, 0x97, 0xc3, +}; +static const unsigned char kat2784_addinreseed[] = { + 0xd9, 0x6d, 0x04, 0x3c, 0x93, 0x22, 0x9d, 0xcf, 0x3a, 0x93, 0x9e, 0xe2, + 0x48, 0x4b, 0xa9, 0xf9, 0xcd, 0xaa, 0x3c, 0x84, 0x88, 0xdf, 0xc1, 0xd3, + 0x71, 0x37, 0x53, 0x20, 0xbe, 0x95, 0x1c, 0xc3, 0x33, 0x6d, 0xa4, 0x8e, + 0xa2, 0xf5, 0xb2, 0xc0, 0x8f, 0x66, 0x64, 0x57, 0x91, 0x60, 0xbc, 0x01, +}; +static const unsigned char kat2784_addin0[] = { + 0x68, 0xdc, 0x3b, 0x3c, 0xee, 0xa6, 0xf4, 0x70, 0x3f, 0x80, 0x03, 0x04, + 0x81, 0xaa, 0x81, 0xb9, 0xeb, 0xe8, 0xfa, 0x5d, 0x00, 0x37, 0x34, 0x71, + 0x9a, 0x04, 0x2d, 0x75, 0x5c, 0x14, 0x55, 0x4a, 0xf6, 0xde, 0x54, 0x7e, + 0x6b, 0xeb, 0x3d, 0x9e, 0x8a, 0x6e, 0x67, 0x5e, 0xd1, 0x51, 0x81, 0xa6, +}; +static const unsigned char kat2784_addin1[] = { + 0x95, 0x78, 0x3a, 0xce, 0x4b, 0x7e, 0xa4, 0x50, 0xe0, 0x42, 0xd6, 0x5b, + 0x7a, 0x4d, 0xf3, 0xfa, 0x50, 0x58, 0xd5, 0xc9, 0xc2, 0xeb, 0x94, 0xff, + 0xf8, 0x8f, 0xb3, 0x0c, 0xb1, 0xb9, 0x13, 0x2b, 0xcd, 0x07, 0xab, 0xca, + 0x64, 0x26, 0xaa, 0xc4, 0x80, 0x47, 0xe7, 0x2b, 0xaa, 0xeb, 0x2b, 0x77, +}; +static const unsigned char kat2784_retbits[] = { + 0xe4, 0x7c, 0x11, 0xf7, 0xbc, 0x38, 0x7b, 0xe3, 0xfe, 0x4b, 0x70, 0xec, + 0x35, 0x48, 0x70, 0xa1, 0xd7, 0x35, 0xc4, 0x56, 0x37, 0xba, 0xa1, 0x3d, + 0x27, 0x40, 0xfb, 0x4b, 0x26, 0x5e, 0x48, 0x5a, 0x6b, 0x5b, 0x2d, 0xeb, + 0xad, 0x2e, 0x35, 0xfb, 0x5c, 0xe8, 0x77, 0xb7, 0xc6, 0x08, 0xa7, 0xaf, + 0x0e, 0x76, 0x2a, 0x7d, 0xfe, 0x95, 0xee, 0x74, 0xdb, 0xb3, 0xeb, 0x67, + 0xb0, 0x1f, 0xa1, 0x25, +}; +static const struct drbg_kat_pr_false kat2784_t = { + 8, kat2784_entropyin, kat2784_nonce, kat2784_persstr, + kat2784_entropyinreseed, kat2784_addinreseed, kat2784_addin0, + kat2784_addin1, kat2784_retbits +}; +static const struct drbg_kat kat2784 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2784_t +}; + +static const unsigned char kat2785_entropyin[] = { + 0x3a, 0x31, 0x91, 0x50, 0xf3, 0xa6, 0x68, 0x31, 0x79, 0x06, 0x54, 0x96, + 0x1a, 0x61, 0x7e, 0xaa, 0xb9, 0xe5, 0x20, 0xaa, 0x43, 0x21, 0x4e, 0x2f, + 0xb7, 0x80, 0x79, 0x93, 0xc9, 0x05, 0x7e, 0x9f, 0x89, 0xa1, 0xa9, 0x4b, + 0x95, 0x40, 0xc8, 0x49, 0x75, 0x98, 0x89, 0xd8, 0x53, 0xae, 0x99, 0x15, +}; +static const unsigned char kat2785_nonce[] = {0}; +static const unsigned char kat2785_persstr[] = {0}; +static const unsigned char kat2785_entropyinreseed[] = { + 0x92, 0x68, 0x44, 0x48, 0x8d, 0x83, 0x42, 0x09, 0xed, 0x83, 0x36, 0xf6, + 0x70, 0x27, 0x42, 0x4b, 0xd3, 0x85, 0x81, 0xc0, 0x74, 0x03, 0x54, 0x2e, + 0x70, 0x04, 0x99, 0x80, 0xf0, 0x81, 0xef, 0x05, 0x5f, 0x95, 0xa2, 0x0f, + 0x5a, 0x96, 0x88, 0xa2, 0xfa, 0x00, 0xb2, 0x13, 0xf4, 0x1f, 0xed, 0x1e, +}; +static const unsigned char kat2785_addinreseed[] = { + 0x37, 0xa7, 0x30, 0xe1, 0xd3, 0xe6, 0xc0, 0xeb, 0xba, 0x1c, 0xea, 0x9d, + 0xdd, 0xac, 0xd3, 0x08, 0xd9, 0x5c, 0xee, 0x60, 0x45, 0xcf, 0x4b, 0xbc, + 0x8f, 0x82, 0x20, 0x13, 0x94, 0x2d, 0x22, 0xfb, 0xfc, 0x8f, 0xb0, 0x2b, + 0xfa, 0x90, 0xdc, 0xd0, 0xf6, 0x59, 0xa0, 0x0c, 0xac, 0x1f, 0x33, 0x67, +}; +static const unsigned char kat2785_addin0[] = { + 0x11, 0xf3, 0x3a, 0x6b, 0x9d, 0x0e, 0x37, 0xfe, 0xfa, 0xc0, 0x4c, 0x43, + 0xf5, 0xfe, 0x1e, 0x05, 0x3d, 0xbb, 0xf3, 0xdd, 0xc6, 0x57, 0xfb, 0xe1, + 0xf4, 0xcf, 0x95, 0xf2, 0x8c, 0x62, 0xb1, 0x0f, 0x41, 0x88, 0x8a, 0x53, + 0x0b, 0x08, 0x3c, 0xbf, 0x3c, 0xa7, 0x83, 0xc8, 0x64, 0xee, 0x76, 0xc7, +}; +static const unsigned char kat2785_addin1[] = { + 0xef, 0x83, 0x70, 0xee, 0xd1, 0xe2, 0x6d, 0x66, 0x8f, 0x8e, 0x13, 0x6e, + 0xc1, 0x15, 0x9b, 0x11, 0xbb, 0xbf, 0xd7, 0x71, 0xbc, 0x5b, 0xb7, 0x6a, + 0x37, 0xbe, 0xaf, 0xae, 0xe8, 0x7a, 0x07, 0x71, 0x40, 0xd8, 0xa4, 0xe4, + 0x0c, 0xc6, 0x21, 0x3e, 0x0e, 0xad, 0x81, 0xb5, 0x14, 0x71, 0xe6, 0x0c, +}; +static const unsigned char kat2785_retbits[] = { + 0x45, 0x54, 0x99, 0xd1, 0x61, 0xa9, 0xe2, 0x6c, 0x8b, 0xb1, 0xb7, 0x0d, + 0xe5, 0x47, 0x58, 0xd0, 0x6a, 0x41, 0x64, 0x78, 0x58, 0xa0, 0xa6, 0x8f, + 0x3d, 0x06, 0x4d, 0xe6, 0x23, 0xd7, 0x0c, 0x4f, 0xf7, 0xc9, 0x2a, 0x5d, + 0xde, 0x29, 0x38, 0xa9, 0x76, 0x83, 0x45, 0xfe, 0xc9, 0x6b, 0x43, 0x39, + 0xb3, 0xfa, 0xff, 0x29, 0x28, 0xe2, 0x00, 0xf8, 0x89, 0xf8, 0x38, 0x57, + 0x6f, 0xe9, 0xe7, 0x95, +}; +static const struct drbg_kat_pr_false kat2785_t = { + 9, kat2785_entropyin, kat2785_nonce, kat2785_persstr, + kat2785_entropyinreseed, kat2785_addinreseed, kat2785_addin0, + kat2785_addin1, kat2785_retbits +}; +static const struct drbg_kat kat2785 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2785_t +}; + +static const unsigned char kat2786_entropyin[] = { + 0xe1, 0xa7, 0x8f, 0x06, 0x25, 0x15, 0x8b, 0xe3, 0x0c, 0xfb, 0xc2, 0x7c, + 0xe1, 0x59, 0x8f, 0x1e, 0xe8, 0xdf, 0xfd, 0x8e, 0x97, 0x47, 0xe9, 0xfd, + 0x05, 0x20, 0xa3, 0x72, 0xb0, 0xe3, 0x61, 0x06, 0xb7, 0x8f, 0x22, 0x10, + 0x85, 0xf6, 0xb6, 0x9d, 0x19, 0x14, 0x8a, 0xdc, 0xdd, 0x6b, 0xbc, 0xd0, +}; +static const unsigned char kat2786_nonce[] = {0}; +static const unsigned char kat2786_persstr[] = {0}; +static const unsigned char kat2786_entropyinreseed[] = { + 0x0c, 0xff, 0xe9, 0xc0, 0xc0, 0x62, 0xf2, 0x4e, 0x8e, 0x67, 0x96, 0x58, + 0x95, 0x96, 0x0c, 0xd6, 0xd0, 0x9d, 0x35, 0x34, 0x2d, 0xf5, 0x19, 0x9b, + 0xf8, 0x45, 0xac, 0x06, 0x47, 0x95, 0x45, 0xf6, 0x3a, 0xd6, 0x2c, 0xea, + 0xe2, 0x7a, 0xd7, 0x33, 0x79, 0xcc, 0x15, 0xd1, 0x00, 0xd6, 0xc8, 0x87, +}; +static const unsigned char kat2786_addinreseed[] = { + 0x2b, 0x82, 0xe6, 0x87, 0xab, 0x86, 0x69, 0x0a, 0x56, 0xe3, 0xae, 0x92, + 0xcf, 0x87, 0xaf, 0xf5, 0x18, 0xc2, 0x7e, 0x7b, 0x8c, 0xc2, 0x4e, 0x77, + 0xb5, 0x7e, 0xd4, 0x0b, 0xc4, 0x32, 0x25, 0x9c, 0x0b, 0x5f, 0x0a, 0x79, + 0x50, 0xb0, 0x28, 0xf6, 0x98, 0xad, 0x73, 0x84, 0xbe, 0x2e, 0x12, 0x29, +}; +static const unsigned char kat2786_addin0[] = { + 0x46, 0x4b, 0x2b, 0xa2, 0x82, 0x3f, 0x1f, 0xef, 0x3e, 0xe8, 0xa6, 0x95, + 0x8a, 0xe1, 0xfd, 0x15, 0x89, 0xe5, 0x5d, 0x60, 0x89, 0x1e, 0x7b, 0xe6, + 0xc3, 0x6c, 0x66, 0xd2, 0x6c, 0x09, 0x0b, 0xf3, 0xd4, 0xec, 0x68, 0xf9, + 0x14, 0x85, 0xeb, 0x4c, 0x9b, 0x86, 0x89, 0x4f, 0x1d, 0xfe, 0xd9, 0x62, +}; +static const unsigned char kat2786_addin1[] = { + 0xc9, 0x03, 0x9d, 0x29, 0x51, 0x76, 0x29, 0x42, 0x7d, 0xa7, 0x89, 0x38, + 0x83, 0x5f, 0x63, 0xb3, 0x70, 0xcd, 0x35, 0x02, 0xfa, 0x4f, 0x72, 0x51, + 0xe9, 0xca, 0x38, 0xd0, 0xaf, 0x24, 0x62, 0x85, 0xc4, 0xab, 0xd5, 0xe3, + 0xae, 0x18, 0xa3, 0xe7, 0x7e, 0xfe, 0x44, 0x64, 0x75, 0xb7, 0x5e, 0x0b, +}; +static const unsigned char kat2786_retbits[] = { + 0xae, 0x71, 0x0c, 0x09, 0xcb, 0x0f, 0x56, 0x77, 0x51, 0xff, 0x11, 0xe6, + 0x52, 0x06, 0x03, 0xbe, 0xbc, 0x1f, 0xfb, 0x6c, 0x0a, 0x1f, 0x85, 0x15, + 0xf2, 0xbb, 0xee, 0x1a, 0xa9, 0xe1, 0xcc, 0x7f, 0x74, 0x67, 0x25, 0x61, + 0x51, 0xe1, 0xd8, 0x9a, 0x30, 0x5e, 0x0f, 0xd5, 0x82, 0xf2, 0xdf, 0x09, + 0x94, 0x71, 0x0d, 0xf1, 0x34, 0x1e, 0xee, 0x98, 0x7b, 0xfb, 0xeb, 0xa1, + 0x9e, 0xfc, 0xb0, 0xfc, +}; +static const struct drbg_kat_pr_false kat2786_t = { + 10, kat2786_entropyin, kat2786_nonce, kat2786_persstr, + kat2786_entropyinreseed, kat2786_addinreseed, kat2786_addin0, + kat2786_addin1, kat2786_retbits +}; +static const struct drbg_kat kat2786 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2786_t +}; + +static const unsigned char kat2787_entropyin[] = { + 0x6e, 0xe4, 0x1a, 0xc5, 0x96, 0xed, 0x7b, 0x33, 0x73, 0xb5, 0x41, 0x14, + 0x99, 0x10, 0xea, 0x49, 0xa4, 0xd3, 0xa9, 0x6c, 0xac, 0x50, 0x8e, 0xcb, + 0xff, 0xf7, 0x46, 0x8e, 0x60, 0x1d, 0x15, 0xdc, 0x52, 0x4c, 0xd1, 0xd7, + 0x36, 0xc7, 0xfa, 0x67, 0xe6, 0xcd, 0x8b, 0xf6, 0x73, 0xc4, 0xac, 0xc4, +}; +static const unsigned char kat2787_nonce[] = {0}; +static const unsigned char kat2787_persstr[] = {0}; +static const unsigned char kat2787_entropyinreseed[] = { + 0xf5, 0x10, 0x6b, 0x8e, 0x7e, 0xae, 0x15, 0x72, 0x9f, 0xe7, 0x9d, 0xbc, + 0xdf, 0xc7, 0xc9, 0xa7, 0x0b, 0xd5, 0x01, 0x93, 0xe5, 0xeb, 0x96, 0x23, + 0x4d, 0x91, 0xe5, 0xef, 0xf4, 0xd3, 0x39, 0x08, 0x3f, 0x1e, 0x6a, 0x29, + 0xda, 0x9f, 0x8e, 0x49, 0x7c, 0xf2, 0x2b, 0x8b, 0xd6, 0x6c, 0xe6, 0x08, +}; +static const unsigned char kat2787_addinreseed[] = { + 0x22, 0xb8, 0xe2, 0xd1, 0xf6, 0x5b, 0x7b, 0xf2, 0xee, 0xce, 0xc1, 0xe9, + 0x28, 0x69, 0x49, 0xa2, 0x6e, 0x51, 0xff, 0x12, 0xbb, 0x5a, 0x40, 0x86, + 0xe0, 0x21, 0x8f, 0x41, 0x42, 0x7e, 0xf3, 0x60, 0x9c, 0x47, 0x9f, 0x2f, + 0x20, 0x71, 0x7d, 0x01, 0x0b, 0x43, 0x1a, 0xdb, 0x53, 0xe1, 0xc6, 0x03, +}; +static const unsigned char kat2787_addin0[] = { + 0xaf, 0x62, 0x07, 0x1a, 0x46, 0x9f, 0xc9, 0x14, 0x12, 0x5b, 0xdf, 0x01, + 0x31, 0xed, 0x54, 0x8d, 0xd1, 0x83, 0x74, 0x5d, 0xeb, 0x5e, 0x78, 0xba, + 0x70, 0xf5, 0x47, 0x5c, 0x3c, 0x63, 0xd2, 0x42, 0x16, 0xa0, 0x31, 0xb8, + 0x3d, 0x53, 0xeb, 0x2d, 0x62, 0xc9, 0x47, 0xfa, 0xb1, 0xd5, 0x19, 0xdc, +}; +static const unsigned char kat2787_addin1[] = { + 0x8c, 0x5d, 0xb2, 0x58, 0xad, 0xb3, 0x4e, 0xeb, 0xf8, 0xd2, 0x1a, 0xf1, + 0xaa, 0x63, 0x08, 0x16, 0x51, 0xb3, 0xb4, 0xf7, 0x6c, 0x07, 0x9b, 0x07, + 0x5c, 0xc5, 0x6d, 0x78, 0x55, 0x05, 0xd4, 0xc6, 0xbb, 0x2b, 0x75, 0x64, + 0x60, 0x30, 0x90, 0x2c, 0x88, 0x08, 0x52, 0x14, 0xe5, 0xaf, 0x2e, 0x65, +}; +static const unsigned char kat2787_retbits[] = { + 0x21, 0xdd, 0xfa, 0x80, 0x77, 0xfe, 0xfa, 0x53, 0x54, 0x53, 0xb7, 0xaa, + 0xfe, 0xb7, 0x3c, 0xa1, 0xad, 0xf3, 0x40, 0x91, 0x3a, 0xfa, 0xd5, 0x05, + 0x12, 0xb8, 0x15, 0x68, 0x86, 0x3f, 0xac, 0x63, 0x33, 0xfb, 0x77, 0x7a, + 0x21, 0x18, 0x09, 0x76, 0xa6, 0x9c, 0x42, 0xc3, 0x89, 0x70, 0x9c, 0x0a, + 0x98, 0xdb, 0xee, 0xa3, 0x3b, 0x74, 0xdd, 0x22, 0x59, 0x3b, 0xde, 0xc1, + 0xcb, 0xa8, 0x69, 0x6a, +}; +static const struct drbg_kat_pr_false kat2787_t = { + 11, kat2787_entropyin, kat2787_nonce, kat2787_persstr, + kat2787_entropyinreseed, kat2787_addinreseed, kat2787_addin0, + kat2787_addin1, kat2787_retbits +}; +static const struct drbg_kat kat2787 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2787_t +}; + +static const unsigned char kat2788_entropyin[] = { + 0x2e, 0xb1, 0xb2, 0xc3, 0xdb, 0xb0, 0xa6, 0x01, 0xb9, 0x70, 0x1d, 0xb0, + 0xf3, 0xf6, 0x34, 0xd3, 0x45, 0x5c, 0x81, 0x52, 0x8c, 0x55, 0x69, 0x65, + 0x3d, 0xf9, 0x2f, 0x77, 0x43, 0x4d, 0x47, 0x85, 0x61, 0xce, 0x88, 0x60, + 0xa1, 0xcc, 0xa6, 0x85, 0xa9, 0x5c, 0x82, 0x15, 0x4c, 0x05, 0x77, 0x4a, +}; +static const unsigned char kat2788_nonce[] = {0}; +static const unsigned char kat2788_persstr[] = {0}; +static const unsigned char kat2788_entropyinreseed[] = { + 0xc3, 0xc6, 0x41, 0x1c, 0xb7, 0xca, 0xc3, 0xcf, 0xaa, 0x3a, 0xc6, 0x87, + 0xd1, 0x92, 0xfb, 0x7e, 0xdf, 0xdf, 0xfc, 0x61, 0x51, 0x19, 0xe0, 0xb3, + 0xd1, 0x07, 0x66, 0x93, 0xe7, 0x2f, 0xae, 0xe5, 0xdb, 0xb2, 0x48, 0xaf, + 0xcd, 0xd7, 0xd8, 0xe5, 0x09, 0x92, 0x0e, 0x69, 0x57, 0xfe, 0xfc, 0x55, +}; +static const unsigned char kat2788_addinreseed[] = { + 0xd8, 0x3e, 0x03, 0xb9, 0x14, 0x8d, 0x44, 0x5e, 0xca, 0x62, 0x18, 0x16, + 0x92, 0xa3, 0x66, 0x22, 0xf1, 0xd1, 0x97, 0x2a, 0x5c, 0x98, 0x81, 0x81, + 0xd0, 0x3a, 0x93, 0xf7, 0x65, 0x54, 0xe9, 0xe7, 0xfe, 0xda, 0xee, 0xb0, + 0x26, 0x83, 0xd0, 0x0a, 0xc5, 0x39, 0x18, 0x9b, 0xcd, 0x06, 0x50, 0xb5, +}; +static const unsigned char kat2788_addin0[] = { + 0x9e, 0x98, 0xf7, 0x15, 0x32, 0x6b, 0xe4, 0xbf, 0xec, 0x64, 0xda, 0x9c, + 0x7d, 0x6c, 0x58, 0x44, 0x40, 0x97, 0x6d, 0xca, 0x41, 0xc3, 0xf2, 0xaa, + 0xa3, 0xc5, 0x9c, 0xe3, 0xbe, 0x9c, 0x3c, 0x95, 0x8d, 0x16, 0x7b, 0x41, + 0x51, 0x6f, 0xc4, 0xc2, 0xdb, 0xdd, 0x0c, 0xe7, 0xf7, 0x01, 0x54, 0xda, +}; +static const unsigned char kat2788_addin1[] = { + 0x24, 0xb6, 0xd4, 0x87, 0xa6, 0x9f, 0x1f, 0xd5, 0x51, 0xf3, 0xee, 0xe4, + 0xfc, 0xff, 0xf0, 0xd5, 0x2f, 0xe9, 0x63, 0xb9, 0x18, 0xaa, 0xd7, 0xa6, + 0x6c, 0x14, 0x6f, 0x92, 0x2b, 0x85, 0x1a, 0xd4, 0x64, 0x0b, 0xac, 0x35, + 0x88, 0xb4, 0x6a, 0x7e, 0x55, 0xc4, 0x1b, 0xcc, 0x27, 0xf7, 0xf1, 0x12, +}; +static const unsigned char kat2788_retbits[] = { + 0xaa, 0x5f, 0x42, 0x04, 0x3d, 0x1e, 0x39, 0xc0, 0x39, 0xb6, 0xba, 0x8f, + 0xae, 0x24, 0x0e, 0xfb, 0x2a, 0xad, 0x26, 0xc5, 0x0d, 0xc7, 0x66, 0xb0, + 0x00, 0xe6, 0x4a, 0x08, 0x3c, 0xf4, 0x74, 0x05, 0x1d, 0xb2, 0xed, 0x49, + 0x7f, 0x3d, 0xb6, 0x8f, 0x9e, 0xa6, 0xa2, 0x96, 0x1a, 0x3e, 0xe1, 0x7b, + 0xe5, 0x81, 0x29, 0xde, 0x44, 0x3c, 0x08, 0x78, 0x67, 0x8a, 0x02, 0x1d, + 0xe0, 0xd2, 0x3e, 0x18, +}; +static const struct drbg_kat_pr_false kat2788_t = { + 12, kat2788_entropyin, kat2788_nonce, kat2788_persstr, + kat2788_entropyinreseed, kat2788_addinreseed, kat2788_addin0, + kat2788_addin1, kat2788_retbits +}; +static const struct drbg_kat kat2788 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2788_t +}; + +static const unsigned char kat2789_entropyin[] = { + 0x48, 0xa7, 0x73, 0x52, 0xe7, 0x02, 0x4e, 0xda, 0x47, 0xbf, 0x94, 0xeb, + 0xff, 0x6c, 0xb6, 0x1c, 0x78, 0x7e, 0x1e, 0x4a, 0xfa, 0x22, 0x3c, 0x25, + 0x4f, 0x1f, 0xdc, 0x8b, 0x71, 0x0b, 0x27, 0xb4, 0x4c, 0x2e, 0x8d, 0xbd, + 0x32, 0x1d, 0x12, 0xa6, 0xf5, 0x45, 0x9e, 0xd4, 0x95, 0x66, 0x76, 0x1b, +}; +static const unsigned char kat2789_nonce[] = {0}; +static const unsigned char kat2789_persstr[] = {0}; +static const unsigned char kat2789_entropyinreseed[] = { + 0x4c, 0xec, 0x0a, 0xb2, 0x1a, 0x20, 0xc8, 0x19, 0x2c, 0x12, 0x97, 0xcf, + 0x64, 0x88, 0x09, 0x4e, 0x77, 0x93, 0x23, 0xcd, 0x78, 0xe1, 0x7f, 0x05, + 0xfc, 0xf0, 0xdb, 0x63, 0x72, 0x93, 0xfb, 0x81, 0xc8, 0xf2, 0x35, 0x25, + 0xe6, 0x7b, 0xae, 0xfe, 0xc9, 0x52, 0xc3, 0x4e, 0xa2, 0x3a, 0x7a, 0x6f, +}; +static const unsigned char kat2789_addinreseed[] = { + 0xf7, 0xef, 0x5f, 0x55, 0x3b, 0xd3, 0x4d, 0x53, 0x15, 0x9b, 0x8a, 0x43, + 0x8b, 0x9a, 0xe4, 0x19, 0x47, 0xab, 0x4f, 0x45, 0x2f, 0x8e, 0xcf, 0xa6, + 0x1b, 0xc0, 0x9c, 0x7d, 0x97, 0x4b, 0x53, 0x93, 0x6a, 0x14, 0xb5, 0x00, + 0xbb, 0x90, 0xe8, 0xe9, 0xd3, 0xd5, 0xcf, 0x73, 0x41, 0xa6, 0x0d, 0xa0, +}; +static const unsigned char kat2789_addin0[] = { + 0x5e, 0xc1, 0x77, 0x34, 0x85, 0x77, 0x9c, 0x3d, 0x62, 0x29, 0xf8, 0x9d, + 0xc6, 0xc1, 0x60, 0x99, 0xe7, 0x56, 0x1a, 0xd6, 0xb9, 0x82, 0x36, 0x59, + 0xc1, 0xbf, 0xe3, 0x95, 0x76, 0xa4, 0x6f, 0xe3, 0xbe, 0x91, 0x27, 0xcb, + 0xc4, 0xe7, 0x87, 0x82, 0xfb, 0x09, 0xdb, 0x28, 0x1b, 0x76, 0xbd, 0x1c, +}; +static const unsigned char kat2789_addin1[] = { + 0x53, 0x99, 0x1f, 0x7e, 0x6e, 0xe6, 0xe7, 0x1b, 0x04, 0x50, 0xae, 0x2e, + 0x9a, 0xe7, 0xc2, 0x13, 0x0c, 0x89, 0x0a, 0x16, 0x7b, 0xd8, 0xb3, 0x5e, + 0x1f, 0x5f, 0x8b, 0xca, 0xf9, 0x9b, 0xf1, 0xd6, 0xcb, 0x1b, 0x35, 0x9b, + 0xf6, 0xeb, 0xe9, 0x3a, 0x32, 0xfb, 0xba, 0xb5, 0x81, 0x13, 0x9f, 0xb8, +}; +static const unsigned char kat2789_retbits[] = { + 0x69, 0x7b, 0x34, 0xf5, 0x42, 0x77, 0x86, 0x21, 0xd1, 0x62, 0x11, 0x37, + 0x57, 0x15, 0x71, 0x61, 0x0a, 0xc5, 0x4c, 0x2e, 0x32, 0x52, 0x67, 0xc1, + 0x22, 0x43, 0x88, 0xdb, 0xa9, 0x95, 0x2b, 0xcf, 0x09, 0x84, 0xf6, 0x22, + 0x80, 0x02, 0xb8, 0xe1, 0xfe, 0xad, 0x00, 0x0a, 0x69, 0x76, 0x7b, 0x95, + 0x3c, 0x76, 0x22, 0x62, 0x03, 0x55, 0x06, 0x6f, 0x78, 0x8a, 0x79, 0x6f, + 0x0a, 0xde, 0xd6, 0x62, +}; +static const struct drbg_kat_pr_false kat2789_t = { + 13, kat2789_entropyin, kat2789_nonce, kat2789_persstr, + kat2789_entropyinreseed, kat2789_addinreseed, kat2789_addin0, + kat2789_addin1, kat2789_retbits +}; +static const struct drbg_kat kat2789 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2789_t +}; + +static const unsigned char kat2790_entropyin[] = { + 0xa2, 0x8d, 0x23, 0x15, 0x5b, 0x97, 0x25, 0x0a, 0x9b, 0xa1, 0x3c, 0x23, + 0xf2, 0xe9, 0x1c, 0xbd, 0x39, 0x94, 0xee, 0x89, 0x97, 0xd3, 0x05, 0xb1, + 0xb5, 0x7b, 0x2d, 0x91, 0x17, 0x55, 0xc6, 0x25, 0x84, 0xdb, 0xe2, 0x38, + 0x34, 0x8d, 0x75, 0xfd, 0x9a, 0xbe, 0x4a, 0x06, 0xae, 0x78, 0xb5, 0x9a, +}; +static const unsigned char kat2790_nonce[] = {0}; +static const unsigned char kat2790_persstr[] = {0}; +static const unsigned char kat2790_entropyinreseed[] = { + 0x4b, 0x64, 0xfc, 0xe2, 0x16, 0x64, 0xdd, 0x54, 0xd0, 0x53, 0x2c, 0xe9, + 0x29, 0x58, 0xd2, 0x76, 0xd4, 0xca, 0xdf, 0xe5, 0x34, 0x94, 0x0a, 0x4c, + 0xaf, 0xcf, 0xf7, 0x11, 0xc3, 0x75, 0x8d, 0x23, 0xce, 0x1c, 0x14, 0x16, + 0x63, 0x08, 0x3b, 0x6f, 0x2a, 0x47, 0x7b, 0x9f, 0x25, 0xb7, 0x0f, 0x22, +}; +static const unsigned char kat2790_addinreseed[] = { + 0xae, 0xea, 0x3d, 0x55, 0x69, 0xb1, 0x3e, 0xc4, 0x2c, 0x1f, 0x62, 0x46, + 0x73, 0x66, 0x5d, 0xed, 0x1f, 0x7d, 0x5d, 0xce, 0x6e, 0x71, 0x57, 0x95, + 0x4f, 0x7c, 0x51, 0x3e, 0x17, 0x9a, 0x92, 0xd4, 0xe4, 0xbc, 0x72, 0x27, + 0x8a, 0xb8, 0x61, 0x62, 0x06, 0xfb, 0x5b, 0x7f, 0xa1, 0xd3, 0x5a, 0x8c, +}; +static const unsigned char kat2790_addin0[] = { + 0xaf, 0xf4, 0x06, 0xd3, 0xd5, 0x14, 0xec, 0x11, 0x8c, 0x9a, 0x8f, 0x47, + 0x0d, 0xb3, 0x49, 0x22, 0xb8, 0xbb, 0x26, 0x2f, 0x78, 0xc1, 0xee, 0x6e, + 0xcb, 0xc6, 0x47, 0xea, 0xa2, 0xc0, 0xe4, 0xd7, 0xfd, 0x33, 0xd8, 0x1b, + 0x3c, 0x90, 0x67, 0xee, 0x4c, 0x57, 0xdd, 0x36, 0xd4, 0x02, 0x38, 0x60, +}; +static const unsigned char kat2790_addin1[] = { + 0x50, 0xd8, 0xe7, 0x88, 0x7d, 0xf0, 0x78, 0x5c, 0x33, 0x1a, 0x38, 0x1b, + 0x6f, 0x11, 0x05, 0x7e, 0xd7, 0x20, 0xab, 0xae, 0xce, 0x80, 0xb7, 0xf8, + 0x35, 0x83, 0x86, 0xfa, 0xbf, 0x5d, 0xa2, 0x4a, 0x91, 0x2b, 0x8f, 0x15, + 0x63, 0x30, 0x1f, 0xbc, 0xd7, 0xad, 0x24, 0x0c, 0x03, 0xa5, 0xe4, 0x44, +}; +static const unsigned char kat2790_retbits[] = { + 0xbe, 0x00, 0x45, 0xc0, 0xbe, 0xe7, 0x0d, 0xaf, 0x5a, 0x57, 0xe5, 0xb4, + 0x49, 0xfd, 0xe2, 0xe9, 0x32, 0x0a, 0x0e, 0x0d, 0x42, 0x99, 0x50, 0xec, + 0x3b, 0x8e, 0xc1, 0x4c, 0xa2, 0xac, 0xdd, 0x7c, 0xa2, 0xa3, 0x65, 0xbe, + 0xbf, 0x11, 0xf4, 0x5f, 0x35, 0x6c, 0x34, 0xf7, 0xe5, 0x2a, 0x8c, 0x39, + 0xac, 0x2e, 0x14, 0x18, 0x15, 0x13, 0x4b, 0xab, 0x3b, 0x79, 0xce, 0x3d, + 0xc1, 0xd2, 0xa4, 0x4f, +}; +static const struct drbg_kat_pr_false kat2790_t = { + 14, kat2790_entropyin, kat2790_nonce, kat2790_persstr, + kat2790_entropyinreseed, kat2790_addinreseed, kat2790_addin0, + kat2790_addin1, kat2790_retbits +}; +static const struct drbg_kat kat2790 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2790_t +}; + +static const unsigned char kat2791_entropyin[] = { + 0xa3, 0x68, 0x73, 0x75, 0x12, 0x9c, 0x98, 0x86, 0xea, 0x48, 0xa2, 0xf4, + 0x9b, 0xe3, 0x28, 0xdd, 0x2b, 0xcf, 0x46, 0x68, 0x9a, 0x59, 0xde, 0x69, + 0xa9, 0x29, 0xdc, 0xb0, 0x1e, 0x6b, 0x79, 0xac, 0x96, 0xf9, 0x8d, 0xde, + 0xd9, 0xe1, 0x38, 0x11, 0xc2, 0x5c, 0x55, 0x59, 0x7b, 0xbd, 0x3f, 0x8b, +}; +static const unsigned char kat2791_nonce[] = {0}; +static const unsigned char kat2791_persstr[] = { + 0xda, 0x7c, 0x74, 0x2b, 0x40, 0x8d, 0xeb, 0x1b, 0x02, 0x6e, 0xc5, 0xdf, + 0xeb, 0x00, 0xdd, 0x07, 0x5f, 0x48, 0x06, 0x9c, 0x18, 0x5e, 0x5d, 0x35, + 0x5b, 0x09, 0xef, 0xf8, 0x8f, 0xcc, 0xf2, 0x89, 0xef, 0x04, 0x52, 0x26, + 0xc2, 0xe2, 0x99, 0x1e, 0x20, 0xb0, 0x97, 0x64, 0x33, 0x99, 0x4c, 0x0d, +}; +static const unsigned char kat2791_entropyinreseed[] = { + 0x40, 0xca, 0x11, 0x4f, 0x31, 0xa5, 0x45, 0xb9, 0x29, 0xc4, 0x22, 0x5d, + 0x0d, 0x21, 0x99, 0x74, 0x3a, 0x5d, 0xf3, 0x6a, 0x83, 0x61, 0x89, 0x2d, + 0x5c, 0xdf, 0x35, 0x21, 0x8e, 0xed, 0x63, 0x54, 0xa6, 0x5c, 0xaf, 0x04, + 0xd8, 0x61, 0xf6, 0x14, 0x75, 0x62, 0x5b, 0x21, 0x5a, 0xc6, 0x38, 0x3c, +}; +static const unsigned char kat2791_addinreseed[] = {0}; +static const unsigned char kat2791_addin0[] = {0}; +static const unsigned char kat2791_addin1[] = {0}; +static const unsigned char kat2791_retbits[] = { + 0x47, 0xa4, 0x52, 0x1d, 0xd4, 0x5c, 0x7b, 0x72, 0xe3, 0x9b, 0x7b, 0xb6, + 0xbe, 0x14, 0xbf, 0xb4, 0x02, 0x9f, 0x33, 0xea, 0x87, 0xbf, 0x11, 0xf1, + 0x84, 0x1e, 0x01, 0xd3, 0x37, 0x2d, 0x7a, 0x0c, 0x6d, 0x12, 0x89, 0xe0, + 0xec, 0x60, 0x59, 0x9c, 0x28, 0xc4, 0x0f, 0x38, 0x2f, 0x7d, 0xce, 0x33, + 0xcf, 0x81, 0x57, 0x55, 0x20, 0xbf, 0xf5, 0x58, 0x00, 0x87, 0xf3, 0x01, + 0x08, 0x80, 0xbd, 0xbc, +}; +static const struct drbg_kat_pr_false kat2791_t = { + 0, kat2791_entropyin, kat2791_nonce, kat2791_persstr, + kat2791_entropyinreseed, kat2791_addinreseed, kat2791_addin0, + kat2791_addin1, kat2791_retbits +}; +static const struct drbg_kat kat2791 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2791_t +}; + +static const unsigned char kat2792_entropyin[] = { + 0xdc, 0xe0, 0xfd, 0x6c, 0x4a, 0xcf, 0xf8, 0xf5, 0x09, 0xf0, 0xde, 0xab, + 0x69, 0x06, 0xec, 0xd9, 0x22, 0x16, 0xd2, 0x6e, 0x24, 0xf8, 0x07, 0x50, + 0x61, 0x3f, 0x19, 0xa0, 0x57, 0x16, 0x83, 0xa6, 0x80, 0x81, 0x65, 0xe3, + 0x34, 0xb9, 0x12, 0x8f, 0x8b, 0x0c, 0xaa, 0x36, 0x5d, 0xd9, 0x25, 0x4c, +}; +static const unsigned char kat2792_nonce[] = {0}; +static const unsigned char kat2792_persstr[] = { + 0x55, 0x0d, 0x79, 0xef, 0x80, 0x33, 0x16, 0x8c, 0xfe, 0xed, 0x31, 0x58, + 0xc8, 0x28, 0xb8, 0x8a, 0x09, 0xe9, 0x9b, 0x62, 0xed, 0x10, 0xac, 0x65, + 0xb3, 0x35, 0x34, 0x54, 0x77, 0x41, 0x37, 0xbb, 0xbb, 0x3d, 0x05, 0xda, + 0x17, 0x62, 0x82, 0x38, 0xb7, 0x20, 0x0b, 0x6b, 0x57, 0x65, 0xf9, 0xd8, +}; +static const unsigned char kat2792_entropyinreseed[] = { + 0x73, 0x8c, 0x00, 0x37, 0x8b, 0x79, 0x8a, 0x8a, 0xe8, 0x20, 0x2f, 0xeb, + 0xd2, 0x3b, 0x03, 0x49, 0xfd, 0xb1, 0xb2, 0x7d, 0x0d, 0xac, 0x45, 0x8a, + 0x01, 0x7a, 0x56, 0xb3, 0x94, 0x03, 0x38, 0x18, 0xf9, 0xaa, 0x50, 0x67, + 0xcf, 0xf4, 0x9a, 0xf5, 0xe0, 0x3e, 0x26, 0x6c, 0x65, 0xfc, 0xfb, 0x5d, +}; +static const unsigned char kat2792_addinreseed[] = {0}; +static const unsigned char kat2792_addin0[] = {0}; +static const unsigned char kat2792_addin1[] = {0}; +static const unsigned char kat2792_retbits[] = { + 0x6f, 0x06, 0xb1, 0xf8, 0x73, 0x6a, 0x25, 0x63, 0x90, 0x33, 0x52, 0x6a, + 0x84, 0xb1, 0x21, 0x5c, 0xfe, 0xf4, 0x9b, 0x1d, 0xa0, 0x48, 0xf4, 0x03, + 0xfa, 0x7b, 0x34, 0xa1, 0x47, 0xc6, 0x54, 0x69, 0xac, 0x39, 0x6f, 0x20, + 0xdd, 0x68, 0x92, 0x98, 0x04, 0x51, 0xda, 0xeb, 0xa1, 0xb8, 0x7c, 0x3d, + 0x47, 0x1f, 0x32, 0xf2, 0xd0, 0x9b, 0x4f, 0x34, 0x0c, 0x3e, 0x35, 0xfb, + 0xfc, 0x1b, 0x99, 0x69, +}; +static const struct drbg_kat_pr_false kat2792_t = { + 1, kat2792_entropyin, kat2792_nonce, kat2792_persstr, + kat2792_entropyinreseed, kat2792_addinreseed, kat2792_addin0, + kat2792_addin1, kat2792_retbits +}; +static const struct drbg_kat kat2792 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2792_t +}; + +static const unsigned char kat2793_entropyin[] = { + 0x18, 0x1c, 0x55, 0x91, 0x4e, 0x45, 0x72, 0x53, 0xd4, 0x66, 0xa5, 0x62, + 0x21, 0x16, 0x32, 0xeb, 0x16, 0x4c, 0x83, 0x2b, 0x61, 0x77, 0xf6, 0x14, + 0x1e, 0x46, 0xfa, 0x9f, 0x2c, 0x88, 0x31, 0x59, 0xfe, 0x23, 0x31, 0xf9, + 0xf3, 0x36, 0x7f, 0x30, 0xcd, 0x2d, 0x8b, 0xa1, 0xe8, 0x93, 0x50, 0x55, +}; +static const unsigned char kat2793_nonce[] = {0}; +static const unsigned char kat2793_persstr[] = { + 0x15, 0x4b, 0x2a, 0xfe, 0x46, 0x2a, 0xf6, 0x5b, 0x12, 0xdb, 0xe2, 0x87, + 0x26, 0x5f, 0xa5, 0xa6, 0xc2, 0x56, 0xc0, 0x0d, 0x9b, 0x7e, 0x4c, 0x3e, + 0x22, 0x08, 0xcb, 0x69, 0x6a, 0x73, 0x61, 0xe9, 0xbf, 0xb6, 0x7c, 0x8a, + 0xd4, 0xe8, 0xa0, 0x62, 0xf9, 0xd1, 0xd4, 0xbc, 0x4a, 0x08, 0x3b, 0x47, +}; +static const unsigned char kat2793_entropyinreseed[] = { + 0x03, 0xf7, 0xfb, 0xb8, 0xfa, 0x8e, 0x99, 0xd7, 0x35, 0xdf, 0xd0, 0x64, + 0x12, 0x65, 0xdb, 0x18, 0x89, 0x62, 0xa6, 0xd7, 0x23, 0x8c, 0xc8, 0x7a, + 0xc6, 0x25, 0x0f, 0x1a, 0x53, 0x89, 0x7d, 0x07, 0x41, 0xb1, 0xb0, 0x17, + 0x34, 0x0c, 0xba, 0x42, 0x67, 0xc5, 0x10, 0xa8, 0x12, 0xb2, 0x2a, 0x94, +}; +static const unsigned char kat2793_addinreseed[] = {0}; +static const unsigned char kat2793_addin0[] = {0}; +static const unsigned char kat2793_addin1[] = {0}; +static const unsigned char kat2793_retbits[] = { + 0x0e, 0x8d, 0x00, 0x74, 0x97, 0x03, 0x39, 0x01, 0xb3, 0xbe, 0x46, 0x0d, + 0x6c, 0x54, 0x5b, 0x82, 0x0f, 0x51, 0x03, 0x5b, 0xa3, 0x3a, 0x47, 0x26, + 0xde, 0xed, 0x2d, 0xcd, 0x24, 0x05, 0xe3, 0x10, 0x6a, 0x8c, 0x79, 0xde, + 0x92, 0x9f, 0x79, 0xee, 0x92, 0xa5, 0x5e, 0x2e, 0x65, 0xc0, 0xdd, 0x63, + 0xb8, 0x2b, 0xcd, 0x19, 0xa0, 0x85, 0x99, 0x21, 0x53, 0x1e, 0x06, 0x3a, + 0x07, 0xdd, 0x0f, 0x8c, +}; +static const struct drbg_kat_pr_false kat2793_t = { + 2, kat2793_entropyin, kat2793_nonce, kat2793_persstr, + kat2793_entropyinreseed, kat2793_addinreseed, kat2793_addin0, + kat2793_addin1, kat2793_retbits +}; +static const struct drbg_kat kat2793 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2793_t +}; + +static const unsigned char kat2794_entropyin[] = { + 0x1f, 0xa7, 0x41, 0xe7, 0x3b, 0x3b, 0x75, 0xe9, 0x97, 0x7e, 0xec, 0x90, + 0x20, 0x5c, 0x34, 0xdc, 0x57, 0xb8, 0xcf, 0xc1, 0x70, 0x84, 0x07, 0x92, + 0xe0, 0xda, 0xf7, 0x0f, 0x3a, 0x11, 0x89, 0xb1, 0x7b, 0x68, 0x99, 0x23, + 0xc8, 0x48, 0x7c, 0x26, 0x84, 0x65, 0x95, 0x14, 0x87, 0x75, 0xa8, 0xa9, +}; +static const unsigned char kat2794_nonce[] = {0}; +static const unsigned char kat2794_persstr[] = { + 0xd5, 0x97, 0x32, 0xb5, 0xa1, 0x5d, 0xcf, 0x62, 0xc8, 0x65, 0xb5, 0x2f, + 0xab, 0xce, 0x93, 0x06, 0xb2, 0xc1, 0x56, 0x88, 0x8f, 0x84, 0x30, 0xf8, + 0x16, 0xd0, 0x7a, 0x2c, 0x15, 0xf2, 0x15, 0xe7, 0xe9, 0x60, 0x89, 0x94, + 0x5c, 0x71, 0xa6, 0x0d, 0x11, 0x26, 0x0c, 0xf2, 0x99, 0x9a, 0x9b, 0xf7, +}; +static const unsigned char kat2794_entropyinreseed[] = { + 0xe2, 0xaa, 0x12, 0x84, 0x2d, 0x2d, 0x5d, 0xad, 0xcb, 0xbc, 0x15, 0x01, + 0x17, 0x24, 0x47, 0xe0, 0x08, 0x62, 0x63, 0x04, 0x14, 0xcd, 0xb2, 0x21, + 0x17, 0xdc, 0xe2, 0xcd, 0x3d, 0xee, 0xfc, 0x0d, 0xa2, 0x18, 0xae, 0x26, + 0x74, 0x96, 0x66, 0x4e, 0x3b, 0x76, 0x01, 0xb4, 0xd6, 0xe7, 0xff, 0xa0, +}; +static const unsigned char kat2794_addinreseed[] = {0}; +static const unsigned char kat2794_addin0[] = {0}; +static const unsigned char kat2794_addin1[] = {0}; +static const unsigned char kat2794_retbits[] = { + 0x9d, 0x63, 0xf1, 0x58, 0x4b, 0x41, 0xc0, 0xa3, 0x39, 0x3b, 0x88, 0xf1, + 0x44, 0xf2, 0x5e, 0x74, 0x49, 0x6f, 0x38, 0xa6, 0x2d, 0xc4, 0xc8, 0x70, + 0xb8, 0xa2, 0x85, 0xfa, 0x08, 0x19, 0x6c, 0x2d, 0x65, 0xf9, 0xd9, 0x2e, + 0xfc, 0xde, 0xdb, 0x4a, 0x41, 0x51, 0x89, 0x7d, 0x79, 0x98, 0xd4, 0x98, + 0xa0, 0x62, 0xc4, 0x53, 0x3d, 0xff, 0xa5, 0x70, 0x1c, 0x78, 0xdd, 0x57, + 0x46, 0x86, 0x4f, 0x42, +}; +static const struct drbg_kat_pr_false kat2794_t = { + 3, kat2794_entropyin, kat2794_nonce, kat2794_persstr, + kat2794_entropyinreseed, kat2794_addinreseed, kat2794_addin0, + kat2794_addin1, kat2794_retbits +}; +static const struct drbg_kat kat2794 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2794_t +}; + +static const unsigned char kat2795_entropyin[] = { + 0x1c, 0xd1, 0xa0, 0x73, 0x93, 0xd6, 0xfb, 0x0e, 0x28, 0xd1, 0x20, 0xa5, + 0x79, 0xd4, 0x9c, 0x62, 0x78, 0xce, 0x5f, 0x08, 0xa9, 0x52, 0xcb, 0xa8, + 0x6c, 0x58, 0xce, 0x71, 0x2c, 0x94, 0x48, 0x8e, 0xa8, 0x05, 0x85, 0xb8, + 0x04, 0x91, 0x09, 0xca, 0xf7, 0x91, 0x79, 0xc8, 0xee, 0x30, 0x7b, 0xa7, +}; +static const unsigned char kat2795_nonce[] = {0}; +static const unsigned char kat2795_persstr[] = { + 0xcf, 0x7d, 0xc6, 0x09, 0xb1, 0x0c, 0xa1, 0x3d, 0xd9, 0xff, 0x5e, 0xeb, + 0xf4, 0x6c, 0x7b, 0x87, 0x77, 0x30, 0xba, 0x20, 0x01, 0x26, 0xd4, 0x66, + 0x84, 0x7a, 0x79, 0xe8, 0x5e, 0x09, 0x85, 0xce, 0x86, 0xec, 0x4d, 0x10, + 0x2f, 0xe5, 0x14, 0xd3, 0x25, 0x69, 0x50, 0xd0, 0x69, 0xb4, 0x0a, 0x43, +}; +static const unsigned char kat2795_entropyinreseed[] = { + 0xa2, 0xa5, 0xfe, 0x34, 0x07, 0x51, 0x0e, 0xb8, 0x2d, 0xc9, 0xcb, 0xc3, + 0xa4, 0x81, 0x1f, 0x9c, 0x92, 0x83, 0x2b, 0x69, 0x95, 0xb6, 0x78, 0x41, + 0x1b, 0xae, 0xde, 0x9d, 0xea, 0xb6, 0x8c, 0x5d, 0x7b, 0x12, 0x13, 0xc1, + 0x39, 0xf2, 0xe0, 0x14, 0x39, 0xd7, 0x68, 0x53, 0xd0, 0x49, 0x64, 0x77, +}; +static const unsigned char kat2795_addinreseed[] = {0}; +static const unsigned char kat2795_addin0[] = {0}; +static const unsigned char kat2795_addin1[] = {0}; +static const unsigned char kat2795_retbits[] = { + 0x14, 0x38, 0x2b, 0xdc, 0x4e, 0x43, 0x0b, 0x2c, 0x89, 0x6c, 0x2c, 0x59, + 0x7d, 0x2f, 0xe8, 0x5f, 0x52, 0x4e, 0x90, 0x8a, 0xb2, 0x35, 0x39, 0x15, + 0x8c, 0xfd, 0xef, 0x48, 0x1a, 0x69, 0x40, 0x91, 0x81, 0xf0, 0x59, 0x4f, + 0xe6, 0xc5, 0x4d, 0xb7, 0xa0, 0x52, 0xb0, 0x01, 0xc4, 0xcb, 0x03, 0xd6, + 0xa7, 0x07, 0xb5, 0x92, 0x39, 0xe7, 0xd5, 0xf1, 0xc6, 0xe0, 0x8a, 0xa6, + 0x25, 0x74, 0x0c, 0x2d, +}; +static const struct drbg_kat_pr_false kat2795_t = { + 4, kat2795_entropyin, kat2795_nonce, kat2795_persstr, + kat2795_entropyinreseed, kat2795_addinreseed, kat2795_addin0, + kat2795_addin1, kat2795_retbits +}; +static const struct drbg_kat kat2795 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2795_t +}; + +static const unsigned char kat2796_entropyin[] = { + 0x14, 0xf5, 0xc7, 0x7d, 0x7f, 0xc6, 0x4b, 0x04, 0xd3, 0xc7, 0x32, 0x68, + 0xbf, 0x93, 0x6e, 0x6c, 0x07, 0x5b, 0x32, 0x69, 0x46, 0x2d, 0xc6, 0x18, + 0x58, 0x84, 0x42, 0x13, 0x31, 0xb7, 0xa8, 0x40, 0xfb, 0xc7, 0xc3, 0xc3, + 0x1e, 0x26, 0x9b, 0x2b, 0xfc, 0x8c, 0xbc, 0xa5, 0x3f, 0x85, 0x4c, 0x98, +}; +static const unsigned char kat2796_nonce[] = {0}; +static const unsigned char kat2796_persstr[] = { + 0xe4, 0xb3, 0x96, 0xca, 0x9f, 0xf4, 0xe4, 0x07, 0x90, 0x02, 0x84, 0x08, + 0x4a, 0xef, 0x7a, 0xa4, 0x79, 0xea, 0xd2, 0x2a, 0xa6, 0x72, 0x56, 0x5d, + 0x81, 0x01, 0x0f, 0x1d, 0x4a, 0x70, 0x28, 0x36, 0x76, 0xbd, 0xc2, 0x0c, + 0xba, 0x71, 0xf8, 0xf0, 0xab, 0x8d, 0x1e, 0x02, 0x4a, 0x0d, 0x2e, 0x66, +}; +static const unsigned char kat2796_entropyinreseed[] = { + 0xb6, 0x32, 0xaf, 0xd8, 0x48, 0x1f, 0x67, 0x35, 0x2d, 0x53, 0x4e, 0x24, + 0x0c, 0xfa, 0x4f, 0x5e, 0x74, 0x05, 0x70, 0x7d, 0xf5, 0xba, 0x17, 0xa4, + 0x1c, 0xfa, 0x17, 0xc5, 0x74, 0xb7, 0x09, 0x75, 0x58, 0xb0, 0x8c, 0x36, + 0x1c, 0x6f, 0x04, 0x65, 0xc7, 0x35, 0x1b, 0xc2, 0xcb, 0x96, 0xd7, 0xd3, +}; +static const unsigned char kat2796_addinreseed[] = {0}; +static const unsigned char kat2796_addin0[] = {0}; +static const unsigned char kat2796_addin1[] = {0}; +static const unsigned char kat2796_retbits[] = { + 0xdd, 0xbf, 0x4c, 0x5d, 0xc3, 0x22, 0x20, 0x27, 0x18, 0xd0, 0xb4, 0x8a, + 0x16, 0xf1, 0x8c, 0x14, 0xfc, 0xee, 0xb9, 0xd1, 0x78, 0xe0, 0xfb, 0x03, + 0x8b, 0x0a, 0xe6, 0xb0, 0x1d, 0x6b, 0x0d, 0x6d, 0xd0, 0x66, 0x49, 0xe8, + 0x18, 0x97, 0x26, 0xf1, 0x2b, 0x50, 0xf7, 0xec, 0x53, 0xf2, 0x50, 0xec, + 0x18, 0x07, 0x8d, 0xa6, 0x7b, 0x56, 0xfd, 0x7b, 0xa8, 0xcd, 0xb3, 0xca, + 0xd1, 0xa6, 0x02, 0xec, +}; +static const struct drbg_kat_pr_false kat2796_t = { + 5, kat2796_entropyin, kat2796_nonce, kat2796_persstr, + kat2796_entropyinreseed, kat2796_addinreseed, kat2796_addin0, + kat2796_addin1, kat2796_retbits +}; +static const struct drbg_kat kat2796 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2796_t +}; + +static const unsigned char kat2797_entropyin[] = { + 0x45, 0x32, 0x9b, 0xc7, 0x46, 0x85, 0xc7, 0xb2, 0x9a, 0x1e, 0x9b, 0xb9, + 0xe6, 0xc1, 0x9e, 0xac, 0xf9, 0xa1, 0xec, 0xd1, 0x68, 0xbe, 0x3b, 0x5a, + 0x2e, 0x2f, 0xf4, 0x37, 0xb5, 0xe6, 0xcd, 0xd5, 0x6e, 0x89, 0xa4, 0xb2, + 0xb8, 0xb6, 0xab, 0xb5, 0x27, 0x13, 0xa4, 0x8a, 0x51, 0xcc, 0xb3, 0x02, +}; +static const unsigned char kat2797_nonce[] = {0}; +static const unsigned char kat2797_persstr[] = { + 0xd6, 0xb1, 0x95, 0x5d, 0x30, 0xdb, 0x95, 0x3a, 0x40, 0x09, 0xc7, 0x66, + 0x4b, 0x96, 0xae, 0xf4, 0x7c, 0xc3, 0x0d, 0x33, 0xdb, 0x74, 0x98, 0x6b, + 0x17, 0x1e, 0xb1, 0x99, 0xc3, 0x92, 0x25, 0xe0, 0xeb, 0xd2, 0x5c, 0x7a, + 0xba, 0xcc, 0x06, 0xed, 0x6c, 0x27, 0x92, 0x1c, 0x2f, 0x9d, 0x7e, 0x10, +}; +static const unsigned char kat2797_entropyinreseed[] = { + 0x6e, 0x5c, 0x46, 0x4c, 0xc4, 0x65, 0x80, 0x18, 0x87, 0xc5, 0x72, 0x91, + 0xd4, 0x74, 0x75, 0xac, 0x48, 0x1c, 0x98, 0xd0, 0x33, 0xa8, 0x96, 0x30, + 0x53, 0xf2, 0xf6, 0x14, 0xe9, 0x95, 0xd1, 0x43, 0x5a, 0x4b, 0x2d, 0x52, + 0x49, 0xcb, 0xf8, 0x3f, 0x62, 0x0d, 0x74, 0x37, 0x0d, 0x48, 0xc5, 0x81, +}; +static const unsigned char kat2797_addinreseed[] = {0}; +static const unsigned char kat2797_addin0[] = {0}; +static const unsigned char kat2797_addin1[] = {0}; +static const unsigned char kat2797_retbits[] = { + 0x96, 0xc6, 0x58, 0x3b, 0x98, 0xf2, 0xd7, 0x5c, 0x9b, 0x6c, 0x87, 0xaa, + 0xa7, 0x88, 0xca, 0x6d, 0xd9, 0xda, 0x10, 0xb0, 0x27, 0x32, 0x00, 0x1b, + 0x55, 0xab, 0x1c, 0xe7, 0x32, 0x3c, 0xb4, 0xd6, 0x0c, 0x60, 0x59, 0xe1, + 0xed, 0x95, 0xc0, 0x56, 0x13, 0x02, 0xd2, 0xce, 0x43, 0x81, 0xbf, 0xae, + 0x8c, 0x2b, 0x7c, 0x49, 0x18, 0x3a, 0xb7, 0x2b, 0x42, 0xf8, 0x0b, 0x7a, + 0xd1, 0x58, 0x7b, 0x75, +}; +static const struct drbg_kat_pr_false kat2797_t = { + 6, kat2797_entropyin, kat2797_nonce, kat2797_persstr, + kat2797_entropyinreseed, kat2797_addinreseed, kat2797_addin0, + kat2797_addin1, kat2797_retbits +}; +static const struct drbg_kat kat2797 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2797_t +}; + +static const unsigned char kat2798_entropyin[] = { + 0x63, 0x3a, 0xd6, 0xf4, 0xcf, 0x50, 0x3c, 0x71, 0x74, 0x6c, 0x19, 0xba, + 0x66, 0x3d, 0x33, 0xc4, 0x4b, 0x11, 0x7f, 0x5f, 0xe1, 0x82, 0x90, 0x40, + 0x59, 0xf1, 0x9e, 0xa9, 0x3a, 0x86, 0x95, 0xcf, 0x8d, 0x91, 0x9d, 0xa9, + 0xe2, 0x6f, 0x58, 0x85, 0x30, 0x52, 0x94, 0xea, 0x25, 0x1f, 0x81, 0x18, +}; +static const unsigned char kat2798_nonce[] = {0}; +static const unsigned char kat2798_persstr[] = { + 0x2c, 0xb1, 0x47, 0x94, 0xde, 0x9e, 0xd7, 0x1b, 0x4c, 0x72, 0xab, 0x22, + 0x19, 0x0a, 0x18, 0x58, 0x1c, 0x1c, 0xe5, 0xdc, 0x4f, 0x29, 0x69, 0x0b, + 0xd5, 0x82, 0x5f, 0xaf, 0x8f, 0x06, 0x7b, 0x11, 0xa0, 0x65, 0x90, 0xdc, + 0xd7, 0x47, 0x6f, 0xff, 0xaf, 0x89, 0xc9, 0x7d, 0x86, 0xb4, 0x2d, 0x96, +}; +static const unsigned char kat2798_entropyinreseed[] = { + 0x55, 0xc4, 0x9d, 0x46, 0xf1, 0x0d, 0x08, 0x54, 0xa8, 0x04, 0xbb, 0xf2, + 0xcc, 0x69, 0x91, 0x41, 0x95, 0xaf, 0x22, 0x7a, 0xfc, 0x5e, 0xa2, 0xb2, + 0x35, 0xf4, 0x9d, 0x75, 0x58, 0xf7, 0x4d, 0x02, 0x69, 0xc4, 0xfa, 0x96, + 0xe9, 0xe1, 0x62, 0x3c, 0xc8, 0x58, 0x13, 0xee, 0xa2, 0x28, 0xeb, 0x43, +}; +static const unsigned char kat2798_addinreseed[] = {0}; +static const unsigned char kat2798_addin0[] = {0}; +static const unsigned char kat2798_addin1[] = {0}; +static const unsigned char kat2798_retbits[] = { + 0x47, 0x1f, 0xf7, 0x0d, 0xf1, 0x71, 0x53, 0x53, 0x68, 0xf1, 0x96, 0xbb, + 0x26, 0x61, 0x00, 0xdb, 0xe1, 0xbc, 0x3f, 0x2b, 0x1c, 0xe1, 0xe2, 0xd6, + 0x05, 0x5f, 0x40, 0x97, 0x67, 0x62, 0x18, 0x8a, 0xbd, 0xcf, 0xac, 0xb5, + 0x2b, 0x80, 0x80, 0xbd, 0x24, 0x1b, 0x88, 0xfe, 0xff, 0x2e, 0x1c, 0x16, + 0x74, 0xa1, 0xb7, 0xc4, 0x4a, 0x9f, 0x60, 0x28, 0xc9, 0xfd, 0x6a, 0x41, + 0x2f, 0xc4, 0x43, 0x18, +}; +static const struct drbg_kat_pr_false kat2798_t = { + 7, kat2798_entropyin, kat2798_nonce, kat2798_persstr, + kat2798_entropyinreseed, kat2798_addinreseed, kat2798_addin0, + kat2798_addin1, kat2798_retbits +}; +static const struct drbg_kat kat2798 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2798_t +}; + +static const unsigned char kat2799_entropyin[] = { + 0x75, 0x1e, 0x97, 0x7d, 0x77, 0x58, 0xc7, 0x50, 0x25, 0x28, 0xbb, 0xce, + 0x7a, 0xda, 0x64, 0xc1, 0xba, 0x33, 0x5a, 0x33, 0x9d, 0x94, 0x85, 0xfa, + 0x91, 0xc6, 0x5d, 0x4e, 0x66, 0x97, 0xee, 0xfa, 0x46, 0xeb, 0xd3, 0x83, + 0x4d, 0x80, 0xdb, 0x42, 0xbd, 0xf9, 0x50, 0xf6, 0xe0, 0x06, 0xa5, 0x5e, +}; +static const unsigned char kat2799_nonce[] = {0}; +static const unsigned char kat2799_persstr[] = { + 0x5b, 0x42, 0xeb, 0x47, 0x91, 0x87, 0xfa, 0xc0, 0x97, 0x2e, 0x58, 0x28, + 0xf2, 0x7a, 0x5f, 0x73, 0xda, 0xec, 0x30, 0x6e, 0x06, 0xaa, 0x64, 0x9f, + 0x5d, 0x5b, 0xa5, 0x3b, 0xc1, 0xa6, 0x48, 0x4c, 0x2c, 0xa3, 0x5b, 0xed, + 0x94, 0x6f, 0xa1, 0xa4, 0x3e, 0xd3, 0x40, 0x65, 0x57, 0x9e, 0x3f, 0xc0, +}; +static const unsigned char kat2799_entropyinreseed[] = { + 0xd5, 0x5d, 0x4a, 0x2f, 0xc2, 0x96, 0x4b, 0xa0, 0x3e, 0x0a, 0x30, 0x3a, + 0xba, 0xb5, 0xdd, 0x8f, 0x38, 0x10, 0x26, 0x06, 0xf0, 0x01, 0x92, 0x92, + 0x3a, 0xa3, 0x14, 0xde, 0x9f, 0xa4, 0x0f, 0x62, 0xa4, 0xa5, 0xd0, 0xd1, + 0x62, 0xe7, 0x17, 0x4e, 0xc5, 0xec, 0x6e, 0x4d, 0x2b, 0x24, 0xf0, 0xff, +}; +static const unsigned char kat2799_addinreseed[] = {0}; +static const unsigned char kat2799_addin0[] = {0}; +static const unsigned char kat2799_addin1[] = {0}; +static const unsigned char kat2799_retbits[] = { + 0x3b, 0xb4, 0x7e, 0xdc, 0x5b, 0xe1, 0x04, 0x92, 0x28, 0x02, 0x2c, 0x59, + 0x3b, 0xdd, 0x6c, 0x84, 0xc6, 0x67, 0x96, 0xb5, 0xce, 0xaa, 0xba, 0x1d, + 0x91, 0x98, 0xa4, 0x7a, 0x4c, 0x35, 0xcf, 0x18, 0xe2, 0x6e, 0x33, 0xbf, + 0x46, 0x42, 0xe9, 0xcc, 0x2d, 0x91, 0x8a, 0x6b, 0x6f, 0x95, 0x7d, 0x18, + 0x3a, 0x56, 0x1a, 0xfd, 0x59, 0x5f, 0x38, 0xb7, 0x8d, 0xe0, 0x54, 0xc4, + 0x77, 0x63, 0x26, 0x91, +}; +static const struct drbg_kat_pr_false kat2799_t = { + 8, kat2799_entropyin, kat2799_nonce, kat2799_persstr, + kat2799_entropyinreseed, kat2799_addinreseed, kat2799_addin0, + kat2799_addin1, kat2799_retbits +}; +static const struct drbg_kat kat2799 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2799_t +}; + +static const unsigned char kat2800_entropyin[] = { + 0x0b, 0x51, 0x13, 0x5d, 0x3d, 0xa2, 0x43, 0x2f, 0xcf, 0x11, 0xdd, 0xa0, + 0x87, 0xf7, 0xd1, 0x6f, 0xa5, 0xeb, 0xa2, 0xeb, 0xa0, 0xe1, 0x64, 0x8d, + 0x20, 0xd9, 0xe9, 0x45, 0x4c, 0x20, 0xbf, 0xe7, 0xcf, 0x45, 0x20, 0x56, + 0x45, 0x39, 0xd6, 0xaf, 0x4c, 0x50, 0x8a, 0x3e, 0xff, 0x21, 0xa0, 0x7d, +}; +static const unsigned char kat2800_nonce[] = {0}; +static const unsigned char kat2800_persstr[] = { + 0x1f, 0x16, 0x7d, 0xef, 0x62, 0xfd, 0x06, 0x15, 0x8b, 0x63, 0xe4, 0x6f, + 0x62, 0x70, 0x01, 0x2c, 0xa9, 0x8f, 0x5b, 0xee, 0x3f, 0x53, 0x46, 0x5e, + 0xc7, 0x54, 0x60, 0xe6, 0xf1, 0x46, 0x1c, 0x40, 0xa1, 0x7e, 0x06, 0xf9, + 0xa1, 0x98, 0xa5, 0x89, 0xb1, 0x76, 0xc5, 0x1b, 0xeb, 0x12, 0x95, 0x41, +}; +static const unsigned char kat2800_entropyinreseed[] = { + 0xed, 0xd8, 0xa4, 0x70, 0xef, 0x55, 0xfe, 0x21, 0x68, 0xce, 0x55, 0x59, + 0xa6, 0xb4, 0x9b, 0x70, 0xf8, 0xc1, 0x03, 0xaf, 0xbc, 0xa8, 0xab, 0xff, + 0x76, 0x0c, 0xf7, 0x53, 0xdc, 0x54, 0xb9, 0xda, 0xdd, 0xc0, 0x10, 0x9d, + 0x33, 0xf7, 0x3b, 0x5c, 0xb4, 0x1a, 0xc3, 0x5a, 0xd1, 0x74, 0x97, 0xfe, +}; +static const unsigned char kat2800_addinreseed[] = {0}; +static const unsigned char kat2800_addin0[] = {0}; +static const unsigned char kat2800_addin1[] = {0}; +static const unsigned char kat2800_retbits[] = { + 0x7f, 0x37, 0x30, 0xcd, 0x13, 0x39, 0x99, 0x22, 0x47, 0x64, 0x99, 0xcd, + 0x42, 0xa4, 0x75, 0x9a, 0xc2, 0x12, 0xd2, 0x86, 0x01, 0xa3, 0x49, 0x7b, + 0x22, 0x33, 0x3e, 0xbc, 0xc6, 0x78, 0xf6, 0xd8, 0x05, 0xf6, 0x6c, 0xd1, + 0xb9, 0x82, 0xbc, 0xbe, 0x9f, 0x4b, 0x36, 0x38, 0x48, 0x71, 0x89, 0x04, + 0x5e, 0xfe, 0x55, 0xba, 0x19, 0x06, 0x4c, 0x9f, 0x07, 0x5d, 0xec, 0x9e, + 0x55, 0x32, 0x00, 0x98, +}; +static const struct drbg_kat_pr_false kat2800_t = { + 9, kat2800_entropyin, kat2800_nonce, kat2800_persstr, + kat2800_entropyinreseed, kat2800_addinreseed, kat2800_addin0, + kat2800_addin1, kat2800_retbits +}; +static const struct drbg_kat kat2800 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2800_t +}; + +static const unsigned char kat2801_entropyin[] = { + 0x27, 0xd1, 0xb6, 0x59, 0xd8, 0x30, 0x06, 0xbd, 0xb2, 0x1f, 0x96, 0xe9, + 0x2b, 0x92, 0x80, 0x2a, 0x56, 0xcb, 0x96, 0xd8, 0x03, 0x19, 0x52, 0x8b, + 0x24, 0x3d, 0x1a, 0xa5, 0xdb, 0xb2, 0x6a, 0xbf, 0x66, 0xba, 0x9b, 0x60, + 0x35, 0xe0, 0xd9, 0xf1, 0x74, 0x62, 0x3a, 0xd0, 0x33, 0xdf, 0x2b, 0xa1, +}; +static const unsigned char kat2801_nonce[] = {0}; +static const unsigned char kat2801_persstr[] = { + 0xe7, 0x53, 0x57, 0x03, 0xc1, 0x10, 0x48, 0xc4, 0xfd, 0x19, 0x31, 0x52, + 0x6b, 0x2d, 0xcc, 0x5f, 0x6f, 0x26, 0xaa, 0x97, 0x24, 0x7e, 0xa8, 0xbb, + 0x18, 0x31, 0xdc, 0xd7, 0xc3, 0xf5, 0xa4, 0xd6, 0x5b, 0xdd, 0xd5, 0x0f, + 0x4f, 0xa3, 0x59, 0x3a, 0xfd, 0x30, 0x58, 0x6e, 0x86, 0x3b, 0x90, 0x06, +}; +static const unsigned char kat2801_entropyinreseed[] = { + 0x5c, 0xa1, 0x90, 0x8a, 0xe5, 0x27, 0x7c, 0x17, 0xf1, 0xb2, 0xff, 0xc4, + 0x01, 0x6e, 0x7b, 0x1c, 0x81, 0xbf, 0xb2, 0x3e, 0xb0, 0xfa, 0x9b, 0x1f, + 0xba, 0xba, 0xc1, 0xf5, 0x8d, 0xe6, 0x96, 0x91, 0x57, 0xc0, 0x69, 0x45, + 0x1d, 0x88, 0xcd, 0x41, 0x18, 0x3a, 0xe6, 0xbf, 0x9b, 0x09, 0x24, 0x66, +}; +static const unsigned char kat2801_addinreseed[] = {0}; +static const unsigned char kat2801_addin0[] = {0}; +static const unsigned char kat2801_addin1[] = {0}; +static const unsigned char kat2801_retbits[] = { + 0x3d, 0x4e, 0x16, 0xcc, 0xe1, 0x6a, 0xb1, 0x6e, 0x81, 0x3a, 0xfe, 0x20, + 0x20, 0xbd, 0xfe, 0x9f, 0x48, 0xf2, 0x51, 0xe6, 0x93, 0x4f, 0x2d, 0xb3, + 0xd3, 0xd2, 0xd5, 0x20, 0x39, 0x0d, 0x78, 0xd2, 0xea, 0x84, 0xe3, 0xde, + 0x56, 0xe3, 0x8f, 0x44, 0x4f, 0xce, 0x89, 0xba, 0xa1, 0xc2, 0x12, 0xae, + 0x15, 0x97, 0x3b, 0xa1, 0xe9, 0xf5, 0xdb, 0x1a, 0xec, 0x06, 0xec, 0x4e, + 0x4b, 0x56, 0xf6, 0x44, +}; +static const struct drbg_kat_pr_false kat2801_t = { + 10, kat2801_entropyin, kat2801_nonce, kat2801_persstr, + kat2801_entropyinreseed, kat2801_addinreseed, kat2801_addin0, + kat2801_addin1, kat2801_retbits +}; +static const struct drbg_kat kat2801 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2801_t +}; + +static const unsigned char kat2802_entropyin[] = { + 0xd5, 0x71, 0x27, 0x11, 0x2c, 0x44, 0xd1, 0xf4, 0xe9, 0x4c, 0x0c, 0x78, + 0x5f, 0x5c, 0x66, 0xf9, 0x23, 0x4a, 0x80, 0x59, 0x10, 0xf8, 0x84, 0x5c, + 0x20, 0x86, 0x5a, 0x79, 0x03, 0x1b, 0x74, 0xed, 0xf0, 0xc8, 0xf1, 0x10, + 0x33, 0x3c, 0x39, 0x8f, 0xd3, 0x2f, 0x0e, 0xe1, 0x0a, 0x5a, 0x7a, 0x2a, +}; +static const unsigned char kat2802_nonce[] = {0}; +static const unsigned char kat2802_persstr[] = { + 0xd1, 0xca, 0x7e, 0x7e, 0x07, 0x40, 0x39, 0x1c, 0x4a, 0x95, 0x15, 0x70, + 0xee, 0x05, 0x60, 0xe0, 0x38, 0xbb, 0xc2, 0xf5, 0x20, 0x75, 0x3f, 0x05, + 0x8e, 0xd9, 0x69, 0xe1, 0xbd, 0x0f, 0xd6, 0xd5, 0xa2, 0xa1, 0xb2, 0x4f, + 0xde, 0xe5, 0xe3, 0x73, 0x9e, 0xa2, 0xee, 0xb1, 0x24, 0x0f, 0x3e, 0x65, +}; +static const unsigned char kat2802_entropyinreseed[] = { + 0x2a, 0x31, 0x90, 0x61, 0x61, 0x1e, 0x70, 0xdf, 0x56, 0x51, 0x65, 0x72, + 0xaf, 0x29, 0x05, 0x12, 0xb3, 0xdc, 0x1b, 0xee, 0x0a, 0x0f, 0xaf, 0x62, + 0xdf, 0xba, 0xe0, 0x3f, 0x26, 0x24, 0x89, 0x5e, 0x53, 0xd8, 0x9f, 0xd0, + 0xb8, 0x80, 0xc9, 0x7d, 0x82, 0xb4, 0xae, 0xc0, 0x88, 0x38, 0x28, 0xa3, +}; +static const unsigned char kat2802_addinreseed[] = {0}; +static const unsigned char kat2802_addin0[] = {0}; +static const unsigned char kat2802_addin1[] = {0}; +static const unsigned char kat2802_retbits[] = { + 0x55, 0xac, 0x40, 0x8c, 0xea, 0x1f, 0xe3, 0xb1, 0xba, 0xd3, 0xe5, 0x12, + 0x7e, 0x42, 0xfc, 0xc8, 0x48, 0x9c, 0x19, 0x16, 0x6a, 0x86, 0xba, 0xb2, + 0x12, 0xbf, 0x06, 0x7b, 0x8b, 0x05, 0x82, 0x09, 0x99, 0x89, 0x9f, 0x42, + 0x2f, 0x7b, 0x37, 0x5b, 0x59, 0x5b, 0xeb, 0xbc, 0x78, 0x6a, 0x94, 0xec, + 0x14, 0xe3, 0xe3, 0x14, 0x9c, 0x9d, 0xf1, 0x67, 0xec, 0xdc, 0x63, 0x5d, + 0xb5, 0xbc, 0xfb, 0xbb, +}; +static const struct drbg_kat_pr_false kat2802_t = { + 11, kat2802_entropyin, kat2802_nonce, kat2802_persstr, + kat2802_entropyinreseed, kat2802_addinreseed, kat2802_addin0, + kat2802_addin1, kat2802_retbits +}; +static const struct drbg_kat kat2802 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2802_t +}; + +static const unsigned char kat2803_entropyin[] = { + 0x67, 0x2a, 0xaf, 0x34, 0x02, 0x38, 0x38, 0x1b, 0xa8, 0xd3, 0x1b, 0xeb, + 0x22, 0xbd, 0xc2, 0x63, 0xe8, 0x01, 0x8c, 0xfb, 0x94, 0x02, 0xab, 0xa7, + 0x69, 0xe4, 0x40, 0xaf, 0x29, 0xef, 0xe2, 0x7f, 0xa7, 0x9b, 0xcc, 0x91, + 0xcc, 0xcb, 0xae, 0x53, 0x10, 0x6a, 0x64, 0xd6, 0x5c, 0x07, 0x50, 0x5b, +}; +static const unsigned char kat2803_nonce[] = {0}; +static const unsigned char kat2803_persstr[] = { + 0x65, 0x4f, 0xb5, 0x8b, 0x7c, 0xb2, 0x49, 0x61, 0x04, 0x61, 0xa4, 0x1c, + 0xce, 0x27, 0x40, 0x21, 0x42, 0x60, 0x3f, 0xf3, 0x87, 0x95, 0xec, 0x6b, + 0x1a, 0x98, 0x66, 0x6d, 0xbf, 0x95, 0x38, 0xeb, 0xe1, 0x56, 0x40, 0x13, + 0x03, 0x74, 0x51, 0xbd, 0x33, 0x7e, 0x81, 0x42, 0xdb, 0x56, 0x76, 0x7b, +}; +static const unsigned char kat2803_entropyinreseed[] = { + 0x3a, 0x4f, 0x73, 0x1d, 0xe8, 0x29, 0xf0, 0x02, 0x9f, 0xa9, 0x9b, 0x24, + 0x99, 0x12, 0x2a, 0xb7, 0xb4, 0xb1, 0x59, 0x99, 0x93, 0x0b, 0xa3, 0x70, + 0x41, 0x7c, 0x87, 0x53, 0x96, 0x6e, 0x40, 0x27, 0x3f, 0x3d, 0x02, 0xa2, + 0xb1, 0x6a, 0x3b, 0xa5, 0xf4, 0x9b, 0xa2, 0xbf, 0xa0, 0xc1, 0xf6, 0x00, +}; +static const unsigned char kat2803_addinreseed[] = {0}; +static const unsigned char kat2803_addin0[] = {0}; +static const unsigned char kat2803_addin1[] = {0}; +static const unsigned char kat2803_retbits[] = { + 0xb6, 0x64, 0x96, 0xd4, 0x11, 0xc2, 0xb2, 0x99, 0x3e, 0x6e, 0x47, 0xf1, + 0x51, 0x15, 0xe1, 0x58, 0xc9, 0x37, 0x27, 0x99, 0x68, 0xc7, 0xd7, 0xd9, + 0xef, 0xc0, 0xa6, 0xb1, 0x2d, 0xe6, 0x66, 0x00, 0xd0, 0x93, 0x08, 0xee, + 0xbb, 0x4c, 0xa3, 0x18, 0xa3, 0x8e, 0x49, 0xf0, 0x91, 0x23, 0x61, 0xf5, + 0xf8, 0x86, 0xf7, 0xff, 0x21, 0xee, 0x54, 0xff, 0x11, 0x2f, 0x83, 0x02, + 0xcb, 0x1a, 0xd6, 0x3f, +}; +static const struct drbg_kat_pr_false kat2803_t = { + 12, kat2803_entropyin, kat2803_nonce, kat2803_persstr, + kat2803_entropyinreseed, kat2803_addinreseed, kat2803_addin0, + kat2803_addin1, kat2803_retbits +}; +static const struct drbg_kat kat2803 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2803_t +}; + +static const unsigned char kat2804_entropyin[] = { + 0xf3, 0xbe, 0x4e, 0x37, 0x70, 0x15, 0x30, 0x10, 0x79, 0xd1, 0x80, 0xca, + 0x28, 0x04, 0x54, 0xe3, 0x4f, 0x60, 0x64, 0x04, 0x0e, 0x35, 0x9b, 0xdf, + 0x09, 0x83, 0xa0, 0x99, 0x39, 0x42, 0x9d, 0x52, 0x62, 0xe6, 0xe5, 0xd8, + 0x66, 0x64, 0xfe, 0x92, 0x94, 0x45, 0xfe, 0x34, 0xab, 0xd9, 0x79, 0x4d, +}; +static const unsigned char kat2804_nonce[] = {0}; +static const unsigned char kat2804_persstr[] = { + 0x2a, 0xa1, 0xe4, 0x91, 0x95, 0x22, 0x32, 0xd3, 0x35, 0xc6, 0x73, 0x7f, + 0x47, 0x88, 0x71, 0xf5, 0xbf, 0x07, 0xf9, 0x67, 0xb8, 0x6f, 0x10, 0xa0, + 0x10, 0x3c, 0xfa, 0x2c, 0x31, 0xef, 0x5f, 0x5a, 0xd2, 0xe4, 0xdb, 0x48, + 0x24, 0xcb, 0x0a, 0xc3, 0xc2, 0x9a, 0xda, 0x3a, 0xb0, 0x28, 0xcb, 0x96, +}; +static const unsigned char kat2804_entropyinreseed[] = { + 0x9a, 0x6b, 0xe2, 0x9c, 0x44, 0x11, 0xd7, 0xde, 0x2e, 0x93, 0x21, 0xb0, + 0xd8, 0xc1, 0xee, 0x06, 0xd7, 0x99, 0x8a, 0x19, 0x34, 0xec, 0xe5, 0x34, + 0x5e, 0xd3, 0xfb, 0x49, 0x69, 0xa6, 0x81, 0x12, 0xc0, 0x05, 0x1e, 0xde, + 0x82, 0xa1, 0x9a, 0xfd, 0x76, 0xc4, 0x19, 0xe4, 0x69, 0x60, 0x36, 0x79, +}; +static const unsigned char kat2804_addinreseed[] = {0}; +static const unsigned char kat2804_addin0[] = {0}; +static const unsigned char kat2804_addin1[] = {0}; +static const unsigned char kat2804_retbits[] = { + 0x3c, 0x58, 0x55, 0x01, 0x51, 0xaa, 0x02, 0xfc, 0x55, 0x98, 0xef, 0xf9, + 0x21, 0xd2, 0xa0, 0x63, 0x63, 0x45, 0x95, 0x5b, 0xb0, 0x3e, 0x6c, 0x8a, + 0x39, 0xe7, 0xc9, 0xa9, 0x56, 0x55, 0xde, 0x29, 0x7c, 0x61, 0x99, 0xc0, + 0xf9, 0xe6, 0xc5, 0xe2, 0x28, 0x0e, 0x9e, 0x83, 0xe8, 0x53, 0x06, 0x95, + 0x8d, 0x5d, 0x37, 0xd7, 0x0b, 0xd8, 0x00, 0x91, 0xf0, 0xc5, 0x1f, 0x96, + 0xed, 0x74, 0xd4, 0x20, +}; +static const struct drbg_kat_pr_false kat2804_t = { + 13, kat2804_entropyin, kat2804_nonce, kat2804_persstr, + kat2804_entropyinreseed, kat2804_addinreseed, kat2804_addin0, + kat2804_addin1, kat2804_retbits +}; +static const struct drbg_kat kat2804 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2804_t +}; + +static const unsigned char kat2805_entropyin[] = { + 0xec, 0x97, 0x5b, 0x46, 0x29, 0x47, 0x11, 0xa8, 0xac, 0x5b, 0x1d, 0x19, + 0xb6, 0x0a, 0x69, 0x81, 0xbb, 0x06, 0x75, 0xc5, 0xe2, 0x02, 0xfa, 0xe9, + 0x3f, 0xb7, 0xca, 0x8a, 0xdf, 0xbc, 0x29, 0x07, 0xdb, 0x92, 0x3c, 0x78, + 0x6c, 0x40, 0x3f, 0xc5, 0x14, 0xf0, 0xdc, 0x46, 0xb0, 0x02, 0xfd, 0xfd, +}; +static const unsigned char kat2805_nonce[] = {0}; +static const unsigned char kat2805_persstr[] = { + 0xcf, 0xbb, 0xe0, 0x1c, 0xda, 0x29, 0x0c, 0x89, 0xb2, 0x84, 0x1f, 0x37, + 0x95, 0x2c, 0xfc, 0x1d, 0x9a, 0x42, 0x22, 0xfb, 0x42, 0x5e, 0x94, 0x53, + 0xde, 0x30, 0x7b, 0xa9, 0xf8, 0x2b, 0xc5, 0x73, 0x82, 0x68, 0x44, 0x84, + 0x80, 0x1e, 0xd6, 0x8b, 0x61, 0x51, 0xfc, 0x7d, 0xbb, 0x7a, 0x17, 0xba, +}; +static const unsigned char kat2805_entropyinreseed[] = { + 0xdc, 0x9c, 0x22, 0xb1, 0x00, 0x64, 0x62, 0xaf, 0x08, 0x61, 0x5e, 0xca, + 0x59, 0x98, 0xea, 0x81, 0xa8, 0x14, 0x11, 0xbe, 0x22, 0x6a, 0x24, 0x1c, + 0x38, 0xd4, 0x80, 0xe7, 0xae, 0x0a, 0xb5, 0xbb, 0x34, 0x72, 0x1f, 0x0a, + 0xb9, 0x22, 0x66, 0x33, 0xd6, 0x55, 0x67, 0x5f, 0xfd, 0x95, 0x34, 0x20, +}; +static const unsigned char kat2805_addinreseed[] = {0}; +static const unsigned char kat2805_addin0[] = {0}; +static const unsigned char kat2805_addin1[] = {0}; +static const unsigned char kat2805_retbits[] = { + 0xe5, 0x44, 0x66, 0x8d, 0xbc, 0xa5, 0xb3, 0x5b, 0xb5, 0x9a, 0xb0, 0x49, + 0x45, 0x64, 0x9c, 0xea, 0xd8, 0xd8, 0x22, 0xa1, 0xd8, 0xce, 0x12, 0x5e, + 0x3a, 0xe5, 0xdb, 0x8b, 0x23, 0xe3, 0xbc, 0xc0, 0x5b, 0xf6, 0x92, 0x1c, + 0xe9, 0x5b, 0x85, 0x76, 0x6b, 0x92, 0xc1, 0x3c, 0x59, 0xae, 0x83, 0xd9, + 0x08, 0x47, 0x1e, 0x03, 0xe0, 0x20, 0xfd, 0xeb, 0x59, 0xe5, 0xce, 0xa8, + 0x17, 0xa4, 0x88, 0x02, +}; +static const struct drbg_kat_pr_false kat2805_t = { + 14, kat2805_entropyin, kat2805_nonce, kat2805_persstr, + kat2805_entropyinreseed, kat2805_addinreseed, kat2805_addin0, + kat2805_addin1, kat2805_retbits +}; +static const struct drbg_kat kat2805 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2805_t +}; + +static const unsigned char kat2806_entropyin[] = { + 0xed, 0x64, 0xcf, 0x25, 0xe9, 0xca, 0x81, 0xe5, 0x57, 0x2e, 0xbc, 0xcb, + 0xf8, 0x92, 0xc8, 0xac, 0x9d, 0x88, 0xc2, 0x56, 0xb7, 0xdd, 0xd3, 0xf7, + 0xf4, 0x77, 0x57, 0x9f, 0x80, 0xea, 0x8f, 0xec, 0x7c, 0x45, 0x21, 0x59, + 0xb1, 0xa6, 0xac, 0x9c, 0x59, 0x76, 0x75, 0x04, 0xc0, 0x57, 0x3b, 0x29, +}; +static const unsigned char kat2806_nonce[] = {0}; +static const unsigned char kat2806_persstr[] = { + 0xf1, 0x9c, 0xf2, 0xf8, 0x21, 0x44, 0x0a, 0xdf, 0xa1, 0xf7, 0xf6, 0x34, + 0xa2, 0x69, 0x25, 0xdc, 0x63, 0xe2, 0x9b, 0x79, 0x93, 0xf7, 0x86, 0x05, + 0x58, 0xaf, 0xc4, 0xd7, 0xc6, 0x1f, 0x0d, 0x83, 0x14, 0x5c, 0xdb, 0x13, + 0x10, 0x2e, 0x51, 0x3e, 0xdd, 0xdf, 0xcf, 0x48, 0xbe, 0xf1, 0x74, 0x64, +}; +static const unsigned char kat2806_entropyinreseed[] = { + 0xd9, 0x1c, 0x7a, 0x31, 0xdc, 0x11, 0xed, 0xf5, 0xc7, 0x78, 0xbb, 0x1b, + 0xc9, 0x20, 0x67, 0xb6, 0xdf, 0x2b, 0x5b, 0x5e, 0x90, 0xc0, 0x4d, 0xf5, + 0x17, 0x25, 0x62, 0xbb, 0xd3, 0x89, 0x37, 0xad, 0x62, 0x71, 0x5c, 0x28, + 0x76, 0x51, 0xce, 0x8a, 0xd4, 0xbf, 0x4c, 0x80, 0xb1, 0x4c, 0x8c, 0x1e, +}; +static const unsigned char kat2806_addinreseed[] = { + 0x02, 0xba, 0xc9, 0x41, 0x71, 0xc1, 0x12, 0xc3, 0x77, 0x47, 0x69, 0x14, + 0x8f, 0x13, 0x7e, 0x6b, 0x72, 0xfd, 0x4b, 0xf9, 0xa7, 0x44, 0x64, 0xcd, + 0x24, 0xa7, 0xdf, 0xc6, 0xf7, 0x5c, 0xab, 0x82, 0xa1, 0x5e, 0x38, 0x47, + 0xaf, 0xe8, 0x69, 0x99, 0xd0, 0xf6, 0x65, 0x57, 0x7b, 0xba, 0x6c, 0x20, +}; +static const unsigned char kat2806_addin0[] = { + 0xff, 0xb7, 0x38, 0xe9, 0x75, 0xf4, 0x8c, 0x5a, 0x5a, 0x7d, 0x8a, 0x63, + 0xc4, 0x18, 0xab, 0xb0, 0x60, 0x4e, 0xfe, 0x3c, 0xec, 0xac, 0x61, 0x1b, + 0xdf, 0x29, 0x2e, 0x2a, 0xb4, 0x7a, 0x4d, 0x33, 0x09, 0x9e, 0xbd, 0xcb, + 0x0d, 0x6c, 0x89, 0xc5, 0x84, 0x9c, 0x1e, 0xd9, 0x69, 0x3c, 0x43, 0x5e, +}; +static const unsigned char kat2806_addin1[] = { + 0x45, 0x9f, 0x3d, 0x97, 0x9e, 0xda, 0x0f, 0x8f, 0x8c, 0x27, 0x37, 0x68, + 0xdf, 0x1f, 0x92, 0x34, 0x4a, 0xbf, 0xba, 0x4e, 0xae, 0xdf, 0x00, 0x35, + 0x6f, 0x02, 0x46, 0x1e, 0x44, 0x9d, 0xa1, 0x88, 0x43, 0xa4, 0x4b, 0x08, + 0xa4, 0x64, 0x13, 0xdd, 0x3a, 0x1e, 0xb1, 0xab, 0x5b, 0xd1, 0x46, 0xec, +}; +static const unsigned char kat2806_retbits[] = { + 0x2a, 0x6a, 0x38, 0xfb, 0x65, 0x75, 0xf5, 0x5c, 0xdd, 0xb7, 0x74, 0xef, + 0x51, 0xca, 0x9d, 0xb7, 0x2e, 0x72, 0x90, 0x65, 0xd1, 0x02, 0xe8, 0x66, + 0x87, 0x77, 0x98, 0x65, 0x1f, 0x18, 0x50, 0xcf, 0x3b, 0xe8, 0x08, 0xf6, + 0x37, 0x8f, 0x86, 0x0f, 0xcd, 0xe6, 0xfc, 0x63, 0x1b, 0x95, 0x5f, 0xa0, + 0x7b, 0x5b, 0x7f, 0x5d, 0xd1, 0xad, 0x1d, 0x1f, 0x32, 0x83, 0x7f, 0xfa, + 0x07, 0x31, 0x13, 0x83, +}; +static const struct drbg_kat_pr_false kat2806_t = { + 0, kat2806_entropyin, kat2806_nonce, kat2806_persstr, + kat2806_entropyinreseed, kat2806_addinreseed, kat2806_addin0, + kat2806_addin1, kat2806_retbits +}; +static const struct drbg_kat kat2806 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2806_t +}; + +static const unsigned char kat2807_entropyin[] = { + 0xc4, 0xa8, 0x15, 0x68, 0x2b, 0x8e, 0xc7, 0x83, 0x97, 0x6c, 0x7a, 0xec, + 0xfb, 0x71, 0x20, 0x1e, 0x5c, 0x25, 0xab, 0x4d, 0x20, 0x99, 0xff, 0x7f, + 0x08, 0x00, 0xa9, 0x1e, 0xfd, 0xbd, 0x88, 0x46, 0x59, 0x25, 0x8b, 0x1d, + 0xb9, 0xa1, 0x0d, 0x51, 0x8b, 0x0e, 0x11, 0x28, 0x5e, 0xfb, 0x98, 0x66, +}; +static const unsigned char kat2807_nonce[] = {0}; +static const unsigned char kat2807_persstr[] = { + 0x6d, 0x3b, 0x23, 0x47, 0xa6, 0x1b, 0x37, 0x35, 0x04, 0xd8, 0x55, 0x7a, + 0xcd, 0x1b, 0x86, 0xe8, 0xc4, 0x9d, 0x3c, 0x1c, 0x2f, 0x97, 0x59, 0x26, + 0x4a, 0x73, 0xf9, 0x64, 0xd1, 0x9b, 0xbe, 0xb7, 0xd5, 0x49, 0x0b, 0xd0, + 0x48, 0x64, 0x73, 0x3f, 0x9f, 0xd6, 0xc1, 0x40, 0xd0, 0x47, 0x5d, 0x9a, +}; +static const unsigned char kat2807_entropyinreseed[] = { + 0xf7, 0x6c, 0x5b, 0xfb, 0xed, 0xfe, 0x08, 0xa0, 0x0a, 0x72, 0x74, 0xed, + 0x2a, 0x70, 0xcc, 0xd7, 0x9d, 0xf3, 0xa6, 0x2a, 0x1c, 0x3b, 0xbd, 0x89, + 0xea, 0x4e, 0xf8, 0x50, 0x5b, 0x95, 0x41, 0x0e, 0xb6, 0x77, 0x36, 0x9d, + 0x26, 0x33, 0xcf, 0x6c, 0x96, 0x43, 0x05, 0xc3, 0xa3, 0xe8, 0xf6, 0x2b, +}; +static const unsigned char kat2807_addinreseed[] = { + 0xc8, 0x19, 0xd5, 0xec, 0x12, 0x6f, 0x00, 0xdf, 0x73, 0xef, 0x40, 0xc4, + 0xca, 0x1d, 0x1d, 0xe8, 0xb6, 0xe9, 0x38, 0x8b, 0x1b, 0xef, 0x50, 0x83, + 0x5b, 0xbe, 0x88, 0x0a, 0xe4, 0xa0, 0xf2, 0x01, 0xf2, 0xfe, 0xbf, 0xdd, + 0x41, 0x67, 0xbb, 0x47, 0xbf, 0x24, 0xb7, 0x82, 0xe0, 0x7b, 0xdc, 0x1b, +}; +static const unsigned char kat2807_addin0[] = { + 0x89, 0x77, 0x0a, 0x03, 0xe8, 0xec, 0x7a, 0x8c, 0x39, 0xd4, 0xa1, 0x85, + 0xf5, 0xa4, 0x57, 0xa9, 0x1f, 0xdb, 0x14, 0x9f, 0xef, 0xc9, 0xe7, 0xda, + 0xf0, 0x41, 0xfe, 0xf3, 0xe2, 0x32, 0xe8, 0x10, 0x17, 0x41, 0xd8, 0x6c, + 0xab, 0xc0, 0xaf, 0x59, 0xab, 0x8c, 0x3e, 0x2c, 0xc3, 0xf7, 0x1a, 0x9f, +}; +static const unsigned char kat2807_addin1[] = { + 0x6e, 0x24, 0x3b, 0x50, 0x6b, 0x47, 0x0c, 0xf3, 0x20, 0x9e, 0xc2, 0xf4, + 0x4f, 0x50, 0x5c, 0xc7, 0x4f, 0xf7, 0xa0, 0x14, 0x6d, 0x94, 0xf1, 0xb4, + 0xb0, 0xe6, 0x41, 0x9b, 0xb4, 0x19, 0xc4, 0xc1, 0x63, 0x4a, 0x82, 0xfc, + 0xd6, 0x22, 0xda, 0x52, 0x2b, 0x5d, 0x27, 0xc1, 0x61, 0x84, 0x66, 0x83, +}; +static const unsigned char kat2807_retbits[] = { + 0x4b, 0x6b, 0xef, 0x57, 0x5a, 0x55, 0x52, 0x18, 0x46, 0x9c, 0x8f, 0x79, + 0x34, 0x56, 0x5e, 0xe8, 0x23, 0x2c, 0xdb, 0x51, 0x1e, 0x25, 0xe4, 0xcf, + 0xe4, 0xbe, 0xde, 0x0d, 0xe0, 0x25, 0x4a, 0xc8, 0x00, 0x5c, 0x06, 0x15, + 0x85, 0x4d, 0x5a, 0xad, 0x53, 0x05, 0xe0, 0xcd, 0x06, 0xb6, 0x1d, 0x27, + 0x69, 0x73, 0x90, 0x77, 0x41, 0xb4, 0xb1, 0xe4, 0xb4, 0x4e, 0xf9, 0x75, + 0x46, 0x8b, 0x2d, 0xc9, +}; +static const struct drbg_kat_pr_false kat2807_t = { + 1, kat2807_entropyin, kat2807_nonce, kat2807_persstr, + kat2807_entropyinreseed, kat2807_addinreseed, kat2807_addin0, + kat2807_addin1, kat2807_retbits +}; +static const struct drbg_kat kat2807 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2807_t +}; + +static const unsigned char kat2808_entropyin[] = { + 0x3e, 0xcd, 0x19, 0xf7, 0x9b, 0x77, 0x94, 0x2e, 0xf8, 0x2c, 0x12, 0x0b, + 0x5d, 0x6b, 0x3e, 0x7a, 0x84, 0x26, 0x22, 0x98, 0xd1, 0x8d, 0x35, 0x14, + 0x0b, 0x55, 0x92, 0x36, 0xe8, 0xd4, 0x65, 0x39, 0x43, 0x39, 0xe7, 0x93, + 0x7b, 0x60, 0xbf, 0x96, 0xd7, 0x5b, 0x15, 0x0b, 0x99, 0x7b, 0xe7, 0x06, +}; +static const unsigned char kat2808_nonce[] = {0}; +static const unsigned char kat2808_persstr[] = { + 0xa2, 0x50, 0x19, 0x64, 0xf9, 0xb2, 0x33, 0x38, 0x4f, 0xa2, 0x83, 0x9e, + 0xe5, 0x95, 0x07, 0x38, 0xf0, 0xa3, 0x9d, 0x5e, 0xb9, 0x2b, 0x9f, 0x97, + 0x8c, 0x22, 0xcf, 0x02, 0x37, 0x14, 0x44, 0xb3, 0x11, 0x8f, 0x0d, 0x6d, + 0x2e, 0x36, 0x97, 0x08, 0x94, 0x2e, 0x63, 0xe0, 0xe4, 0x00, 0x61, 0xcc, +}; +static const unsigned char kat2808_entropyinreseed[] = { + 0xab, 0x5e, 0xac, 0x95, 0x06, 0x38, 0x4a, 0xd8, 0xae, 0x49, 0xb1, 0x11, + 0x2e, 0xeb, 0x9a, 0x24, 0x83, 0x76, 0x8e, 0xe6, 0xb3, 0xf0, 0xc2, 0x23, + 0x1e, 0x45, 0x65, 0x54, 0x5b, 0xaa, 0x94, 0xd5, 0xd0, 0x2b, 0xc2, 0x8a, + 0x3e, 0xb3, 0x35, 0xee, 0xa3, 0x3c, 0xc1, 0x00, 0xe2, 0xe4, 0xa0, 0xd6, +}; +static const unsigned char kat2808_addinreseed[] = { + 0x42, 0x5e, 0xb9, 0x6a, 0xf3, 0x5f, 0xb2, 0xfe, 0x78, 0x69, 0x93, 0xf0, + 0xb4, 0xdb, 0x33, 0x95, 0xfe, 0x08, 0xfd, 0x00, 0x2d, 0x8e, 0x29, 0x4b, + 0xd6, 0xd2, 0x42, 0x50, 0x91, 0x7c, 0x92, 0xfe, 0x45, 0x56, 0x86, 0xb5, + 0xa2, 0x9c, 0x44, 0x91, 0x0a, 0x85, 0xe3, 0xa3, 0x6c, 0xd7, 0xb0, 0x7c, +}; +static const unsigned char kat2808_addin0[] = { + 0x18, 0xda, 0x79, 0x90, 0x4a, 0xcf, 0x7c, 0x74, 0xb2, 0xbb, 0x48, 0xe2, + 0xf1, 0x73, 0x00, 0x38, 0xba, 0xc5, 0xdf, 0x65, 0x48, 0x15, 0xfa, 0xc8, + 0x88, 0x82, 0x6c, 0xff, 0xc8, 0x58, 0x1e, 0x96, 0x34, 0x57, 0xe2, 0x6e, + 0x90, 0x6c, 0x86, 0xb6, 0xcb, 0x86, 0x21, 0x33, 0x24, 0x0f, 0x49, 0xe4, +}; +static const unsigned char kat2808_addin1[] = { + 0x3e, 0xb1, 0xab, 0x2a, 0xf1, 0x8c, 0xad, 0xae, 0xab, 0x7b, 0x8e, 0x5c, + 0xa4, 0x54, 0xad, 0xc5, 0x5e, 0x67, 0xee, 0xd6, 0x8e, 0xb8, 0x60, 0xad, + 0xec, 0x3b, 0x9a, 0xbc, 0xaf, 0xda, 0xbb, 0x3b, 0xef, 0xe0, 0x22, 0x9a, + 0x61, 0x16, 0x98, 0x87, 0x3a, 0xdd, 0x42, 0x2e, 0x59, 0x6c, 0x84, 0x00, +}; +static const unsigned char kat2808_retbits[] = { + 0xe5, 0x4b, 0x61, 0x08, 0x04, 0xa2, 0xf9, 0x41, 0x2f, 0xa1, 0x54, 0xb8, + 0x85, 0xfa, 0xba, 0x9b, 0xdd, 0xc1, 0xf4, 0xe3, 0x7e, 0x71, 0x4a, 0x50, + 0x19, 0x92, 0xb0, 0xb8, 0x93, 0x28, 0x92, 0x6b, 0xc5, 0x02, 0x17, 0xa7, + 0xf4, 0x7b, 0x14, 0x0d, 0x41, 0xdf, 0xfa, 0xd7, 0x4e, 0x34, 0x3e, 0x91, + 0x72, 0x91, 0xba, 0x5b, 0x89, 0xdc, 0xf0, 0x00, 0x70, 0xa1, 0x59, 0xfe, + 0x22, 0x2a, 0x68, 0x8b, +}; +static const struct drbg_kat_pr_false kat2808_t = { + 2, kat2808_entropyin, kat2808_nonce, kat2808_persstr, + kat2808_entropyinreseed, kat2808_addinreseed, kat2808_addin0, + kat2808_addin1, kat2808_retbits +}; +static const struct drbg_kat kat2808 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2808_t +}; + +static const unsigned char kat2809_entropyin[] = { + 0xac, 0x59, 0xf2, 0x62, 0x84, 0xb8, 0xe8, 0x02, 0xe1, 0xaf, 0xa6, 0xbb, + 0x7a, 0x2f, 0x97, 0x91, 0x59, 0xd2, 0xc3, 0xab, 0x90, 0x3b, 0x62, 0xec, + 0x90, 0x14, 0xc1, 0x2a, 0xdb, 0x3d, 0x1f, 0x12, 0x62, 0xa4, 0x35, 0xfc, + 0x16, 0xbf, 0xd3, 0x01, 0x48, 0x12, 0xee, 0xf8, 0xa4, 0x51, 0xc4, 0xe3, +}; +static const unsigned char kat2809_nonce[] = {0}; +static const unsigned char kat2809_persstr[] = { + 0x5d, 0x49, 0x81, 0x23, 0x55, 0x6a, 0x05, 0x26, 0xc6, 0xaa, 0xfd, 0xc3, + 0x36, 0x16, 0xcd, 0xa0, 0x1e, 0xda, 0x9d, 0x8f, 0xd4, 0x2d, 0xa7, 0xda, + 0x4b, 0xe9, 0x87, 0x7f, 0x0b, 0x40, 0x43, 0x10, 0xde, 0x76, 0xdc, 0x48, + 0xb5, 0x44, 0x43, 0x8c, 0xae, 0xcf, 0x25, 0x63, 0x29, 0x78, 0x26, 0x1a, +}; +static const unsigned char kat2809_entropyinreseed[] = { + 0xd5, 0x65, 0xbf, 0xf0, 0x3c, 0x61, 0x74, 0x97, 0xac, 0xb5, 0x8f, 0xbe, + 0x01, 0x24, 0x97, 0xcd, 0xbf, 0x6e, 0xc2, 0x77, 0xb2, 0x2e, 0x1c, 0x21, + 0xe6, 0x5a, 0xea, 0x0f, 0x68, 0x49, 0x62, 0x74, 0x70, 0x75, 0xbd, 0x2c, + 0x4a, 0x1b, 0x18, 0x4c, 0xe4, 0x23, 0xf1, 0xa5, 0xee, 0x9e, 0x76, 0x2f, +}; +static const unsigned char kat2809_addinreseed[] = { + 0xb9, 0x57, 0x10, 0x00, 0x0d, 0x08, 0x55, 0x2f, 0xff, 0x16, 0x2f, 0xdf, + 0xf9, 0x05, 0xc3, 0x68, 0x24, 0x90, 0xbe, 0x38, 0x8a, 0xda, 0xed, 0xab, + 0xad, 0xe8, 0x82, 0x4b, 0x38, 0xbb, 0x47, 0x29, 0x12, 0x7b, 0x26, 0xf4, + 0x96, 0x86, 0xc7, 0x4c, 0x3e, 0x83, 0xd2, 0xf3, 0x7e, 0xe6, 0x70, 0xbf, +}; +static const unsigned char kat2809_addin0[] = { + 0xd5, 0xc3, 0x01, 0x97, 0x6a, 0x5c, 0xe6, 0x34, 0x9f, 0xa2, 0x9b, 0x30, + 0xd5, 0xed, 0x76, 0x1d, 0x9f, 0xb2, 0xe5, 0xe9, 0xf7, 0x62, 0x4b, 0x61, + 0x3a, 0x19, 0x8b, 0x40, 0xcc, 0x10, 0x7e, 0xcf, 0xb3, 0xd7, 0x72, 0x11, + 0x31, 0xea, 0x19, 0xb4, 0x01, 0x75, 0x1d, 0x85, 0xfb, 0x11, 0xbe, 0x90, +}; +static const unsigned char kat2809_addin1[] = { + 0x86, 0xa0, 0x0e, 0x4c, 0xa6, 0xe2, 0xc1, 0x93, 0x2d, 0xf0, 0x24, 0x8c, + 0x31, 0xcc, 0xb2, 0xab, 0x8d, 0x5f, 0xdd, 0x99, 0x1a, 0x2d, 0xb7, 0xcd, + 0x27, 0xe8, 0x24, 0xb2, 0x10, 0x7f, 0xf0, 0x0b, 0xf4, 0x6e, 0x5d, 0xf9, + 0x3d, 0x41, 0xd5, 0x78, 0xe6, 0x12, 0x36, 0xaa, 0x4f, 0x7b, 0x02, 0x74, +}; +static const unsigned char kat2809_retbits[] = { + 0xdb, 0x29, 0xec, 0xef, 0xa8, 0x71, 0x69, 0xfd, 0x87, 0xb5, 0x33, 0xdd, + 0xea, 0x1e, 0xc0, 0x0f, 0x50, 0xd2, 0x88, 0xe7, 0xff, 0xf4, 0x72, 0x93, + 0x49, 0xa8, 0x12, 0xdd, 0x20, 0xb1, 0x92, 0x96, 0x9d, 0x1c, 0x3f, 0x3b, + 0x87, 0x11, 0xfd, 0xd0, 0xd2, 0x68, 0x12, 0xdf, 0xbc, 0xa6, 0xa9, 0x19, + 0x08, 0x9b, 0xe2, 0x83, 0xbb, 0xfc, 0x94, 0x66, 0xf0, 0x0e, 0x1d, 0x1a, + 0x63, 0x94, 0xfb, 0x72, +}; +static const struct drbg_kat_pr_false kat2809_t = { + 3, kat2809_entropyin, kat2809_nonce, kat2809_persstr, + kat2809_entropyinreseed, kat2809_addinreseed, kat2809_addin0, + kat2809_addin1, kat2809_retbits +}; +static const struct drbg_kat kat2809 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2809_t +}; + +static const unsigned char kat2810_entropyin[] = { + 0xbe, 0xef, 0x8f, 0x0e, 0xd9, 0xd7, 0x71, 0x61, 0xdc, 0xb7, 0xb2, 0xda, + 0x5f, 0x03, 0x3e, 0x54, 0x6e, 0x7c, 0x1d, 0x3d, 0x4c, 0x4e, 0xd5, 0xa4, + 0x23, 0xe9, 0xa6, 0xe7, 0x06, 0x97, 0xed, 0xc8, 0x42, 0x23, 0x5a, 0x08, + 0xf9, 0xf6, 0x8f, 0x27, 0x90, 0x7c, 0x97, 0x36, 0xf4, 0xef, 0xc4, 0xc6, +}; +static const unsigned char kat2810_nonce[] = {0}; +static const unsigned char kat2810_persstr[] = { + 0x2d, 0x5e, 0xdc, 0xd6, 0x34, 0x50, 0x1c, 0x4b, 0x1d, 0x12, 0x36, 0xcf, + 0x9f, 0x86, 0x41, 0x93, 0xcf, 0x2c, 0xe7, 0xa7, 0x45, 0x7e, 0x6b, 0x9a, + 0xeb, 0xfb, 0xc8, 0xb6, 0x68, 0x5b, 0x79, 0xbc, 0x81, 0xb9, 0x43, 0x04, + 0x64, 0x0e, 0xc0, 0xaf, 0xa7, 0x01, 0xf6, 0xdb, 0x06, 0x85, 0x4a, 0x62, +}; +static const unsigned char kat2810_entropyinreseed[] = { + 0xe5, 0x3e, 0x04, 0x42, 0x37, 0x71, 0xfe, 0xdf, 0x9e, 0xce, 0x3f, 0xdf, + 0x04, 0xee, 0x8b, 0x66, 0x76, 0x6c, 0x97, 0x9f, 0x7e, 0xa3, 0xaa, 0xe2, + 0x58, 0xeb, 0x94, 0x72, 0xe1, 0xaa, 0x99, 0xb8, 0x17, 0x84, 0x7f, 0xc0, + 0x22, 0xf6, 0xbb, 0x0c, 0xa2, 0x8c, 0x0d, 0x6e, 0x6c, 0x63, 0x81, 0xa5, +}; +static const unsigned char kat2810_addinreseed[] = { + 0x38, 0x7f, 0xed, 0xd1, 0x27, 0x60, 0x0d, 0x3b, 0x9a, 0x1e, 0x40, 0xd4, + 0x7b, 0x61, 0xaa, 0x07, 0x25, 0xb8, 0x82, 0x9b, 0x81, 0x77, 0xee, 0x66, + 0x51, 0x08, 0x6d, 0x15, 0x01, 0x87, 0x8d, 0x59, 0x79, 0x3b, 0xee, 0x23, + 0xae, 0x21, 0x72, 0x03, 0xc2, 0xe2, 0x56, 0x5d, 0x83, 0xb8, 0xd6, 0x25, +}; +static const unsigned char kat2810_addin0[] = { + 0x94, 0xc3, 0x43, 0x01, 0x4f, 0xff, 0x90, 0xb6, 0x68, 0xd7, 0xbf, 0xd0, + 0xd7, 0x2d, 0xfd, 0xe1, 0xad, 0xff, 0xef, 0x71, 0x59, 0x57, 0xe0, 0xae, + 0xab, 0xfa, 0xa9, 0xf3, 0x7c, 0xb8, 0x5f, 0x5d, 0x01, 0x08, 0xdf, 0xf0, + 0x94, 0xa0, 0x64, 0xbc, 0x6f, 0xac, 0x05, 0x25, 0x64, 0xf2, 0x61, 0x5d, +}; +static const unsigned char kat2810_addin1[] = { + 0x46, 0x63, 0xff, 0x1f, 0x64, 0xbb, 0xc3, 0x51, 0xb1, 0x64, 0x6f, 0xcf, + 0x1c, 0xae, 0xef, 0xf5, 0xa2, 0xd5, 0x79, 0x6c, 0xe7, 0xbd, 0xbc, 0x39, + 0x3c, 0x1d, 0xf6, 0x2c, 0xa0, 0x44, 0x5f, 0xa3, 0x0d, 0xd0, 0x0f, 0x73, + 0x85, 0x56, 0x9b, 0x9e, 0x9b, 0xf6, 0x49, 0x02, 0x60, 0xb2, 0x34, 0x32, +}; +static const unsigned char kat2810_retbits[] = { + 0x06, 0xd6, 0x04, 0x87, 0xa5, 0x31, 0x7b, 0x28, 0x9e, 0x68, 0xa1, 0x71, + 0xa0, 0x09, 0x7e, 0xd4, 0xa3, 0x0d, 0x69, 0x91, 0xc5, 0xe8, 0xf5, 0xaf, + 0x2e, 0x88, 0x2c, 0x11, 0x09, 0xea, 0x3e, 0x36, 0x2a, 0x6c, 0x11, 0x5d, + 0x1f, 0xfe, 0xa0, 0x69, 0xa0, 0x9f, 0x50, 0x1b, 0xd6, 0xf0, 0x3c, 0x66, + 0xe8, 0xaf, 0xd5, 0x2a, 0x11, 0x47, 0xfe, 0xcb, 0x21, 0x63, 0x36, 0xe2, + 0x38, 0x2e, 0x18, 0x05, +}; +static const struct drbg_kat_pr_false kat2810_t = { + 4, kat2810_entropyin, kat2810_nonce, kat2810_persstr, + kat2810_entropyinreseed, kat2810_addinreseed, kat2810_addin0, + kat2810_addin1, kat2810_retbits +}; +static const struct drbg_kat kat2810 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2810_t +}; + +static const unsigned char kat2811_entropyin[] = { + 0xa8, 0x15, 0x7b, 0x1d, 0xd2, 0x9f, 0x1e, 0xd9, 0x5a, 0x70, 0x92, 0x2a, + 0xcc, 0xbb, 0x14, 0xe6, 0x83, 0xa1, 0x0d, 0x5d, 0x22, 0xca, 0x23, 0x11, + 0x94, 0x8d, 0x4e, 0xf0, 0x91, 0xc3, 0x73, 0x38, 0xd6, 0x96, 0x5a, 0x08, + 0xf9, 0x42, 0xe3, 0x37, 0x30, 0xe6, 0x36, 0xdc, 0x04, 0xad, 0xe1, 0x18, +}; +static const unsigned char kat2811_nonce[] = {0}; +static const unsigned char kat2811_persstr[] = { + 0x15, 0x06, 0x9f, 0xbb, 0x16, 0xc0, 0xd9, 0xca, 0xc6, 0x71, 0xc9, 0xef, + 0x23, 0x8c, 0x5e, 0x89, 0x66, 0xf9, 0xf2, 0x62, 0x75, 0x8d, 0x9a, 0x7c, + 0xb0, 0xc1, 0x96, 0xd9, 0x37, 0xc3, 0xc5, 0xa7, 0x90, 0x67, 0xb9, 0xe6, + 0x4e, 0x74, 0xd3, 0x06, 0x32, 0x1a, 0xd5, 0x8d, 0xda, 0x6d, 0x2b, 0xa8, +}; +static const unsigned char kat2811_entropyinreseed[] = { + 0xcb, 0xd6, 0xf2, 0x59, 0x94, 0x16, 0x70, 0x2c, 0x18, 0x15, 0xfa, 0x82, + 0x70, 0xb5, 0x49, 0x05, 0x99, 0x83, 0x30, 0xe8, 0xb2, 0xdb, 0xa6, 0xf9, + 0xd2, 0x34, 0xb6, 0x51, 0x76, 0xdb, 0xfc, 0x85, 0x79, 0xfb, 0x89, 0x9a, + 0xeb, 0x4a, 0xbb, 0x7a, 0x9d, 0x19, 0xd3, 0x26, 0x8d, 0x7c, 0xa1, 0xc8, +}; +static const unsigned char kat2811_addinreseed[] = { + 0x5c, 0x96, 0x08, 0x52, 0xe0, 0x5b, 0x9d, 0xee, 0x8a, 0xb4, 0xb4, 0x94, + 0x81, 0xde, 0xf6, 0x03, 0x67, 0x34, 0xb3, 0x9c, 0xb9, 0xbc, 0x99, 0x36, + 0x6c, 0x5c, 0x55, 0xa5, 0xd2, 0xea, 0x12, 0x79, 0xea, 0xdf, 0x73, 0xd3, + 0x10, 0x57, 0x84, 0x73, 0x6a, 0x30, 0xd8, 0xd0, 0x5d, 0xd5, 0x9a, 0xe5, +}; +static const unsigned char kat2811_addin0[] = { + 0x75, 0x69, 0xe6, 0xdb, 0x52, 0xe1, 0x47, 0x8e, 0x3c, 0xbe, 0xd5, 0x41, + 0x71, 0xa4, 0x16, 0xef, 0x69, 0xb6, 0xe6, 0xdc, 0x9b, 0x88, 0xfb, 0x3f, + 0x52, 0xc9, 0x5e, 0x0b, 0x68, 0x2d, 0x44, 0xbf, 0x5d, 0xa2, 0x7f, 0x63, + 0x92, 0x9d, 0x4e, 0xc4, 0x67, 0xbb, 0x32, 0xaa, 0x1c, 0x1d, 0xbf, 0x4c, +}; +static const unsigned char kat2811_addin1[] = { + 0xb3, 0xb9, 0xae, 0x19, 0xc3, 0x6e, 0xce, 0x86, 0x23, 0xfa, 0x47, 0xaa, + 0x82, 0x0f, 0x7c, 0x94, 0xbf, 0x20, 0x66, 0x4f, 0xea, 0x1e, 0x54, 0x4c, + 0x45, 0xcb, 0x55, 0x69, 0x5b, 0x21, 0xb3, 0x9c, 0x62, 0xe8, 0x51, 0xf7, + 0xa3, 0xe9, 0x17, 0x4e, 0x66, 0x2d, 0x8e, 0x97, 0x9a, 0x16, 0xf1, 0x19, +}; +static const unsigned char kat2811_retbits[] = { + 0x0e, 0x45, 0x94, 0xb7, 0x34, 0xe7, 0xfa, 0x15, 0xff, 0x6c, 0x08, 0x03, + 0x2d, 0xe7, 0xce, 0x3d, 0xdc, 0x47, 0xef, 0x3a, 0x02, 0x0b, 0x76, 0xb3, + 0xc9, 0x5f, 0xda, 0x71, 0x49, 0x9d, 0xef, 0x81, 0x8a, 0xf8, 0xd6, 0x25, + 0xbb, 0x81, 0xeb, 0x89, 0x25, 0x7d, 0x28, 0xdc, 0x68, 0xdc, 0x4c, 0x95, + 0x50, 0xe3, 0x5c, 0x09, 0x0a, 0x49, 0xcf, 0xf1, 0x6a, 0x65, 0x94, 0x8e, + 0xa2, 0x05, 0x74, 0x97, +}; +static const struct drbg_kat_pr_false kat2811_t = { + 5, kat2811_entropyin, kat2811_nonce, kat2811_persstr, + kat2811_entropyinreseed, kat2811_addinreseed, kat2811_addin0, + kat2811_addin1, kat2811_retbits +}; +static const struct drbg_kat kat2811 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2811_t +}; + +static const unsigned char kat2812_entropyin[] = { + 0x2e, 0x28, 0xe4, 0x58, 0xa1, 0xd3, 0x35, 0xf7, 0x4a, 0x1f, 0xb2, 0xe2, + 0x2e, 0xa5, 0xbe, 0x77, 0x83, 0xf7, 0x8c, 0x72, 0x1e, 0x7e, 0x68, 0x7b, + 0xba, 0x6a, 0xb9, 0xa5, 0xc9, 0x3e, 0x41, 0x14, 0xb4, 0x25, 0xba, 0x74, + 0x97, 0x8c, 0x2e, 0x68, 0xb4, 0x98, 0xfb, 0x53, 0xa7, 0x60, 0xd4, 0xe0, +}; +static const unsigned char kat2812_nonce[] = {0}; +static const unsigned char kat2812_persstr[] = { + 0x89, 0xcd, 0x5a, 0x82, 0x95, 0x3f, 0x88, 0x39, 0xb6, 0x13, 0x50, 0xa8, + 0x68, 0x4e, 0x92, 0x8c, 0x7d, 0xf7, 0x44, 0x93, 0x56, 0x2b, 0x5c, 0x7c, + 0x4b, 0x2f, 0x2f, 0x3e, 0xef, 0x74, 0xce, 0x5d, 0xb8, 0x8c, 0x2b, 0xc3, + 0xf0, 0xe5, 0xed, 0x03, 0xfa, 0x1b, 0xea, 0x84, 0x01, 0x4c, 0x3f, 0x9a, +}; +static const unsigned char kat2812_entropyinreseed[] = { + 0xc1, 0x6a, 0x67, 0x69, 0x37, 0x24, 0x0e, 0x05, 0x23, 0xc5, 0x66, 0x4f, + 0xe3, 0x7d, 0xa9, 0x24, 0x3b, 0x6e, 0x91, 0x50, 0x42, 0x00, 0x7c, 0x5a, + 0xc5, 0xaf, 0x4c, 0x33, 0x45, 0x19, 0xa5, 0x19, 0x5d, 0xd6, 0x41, 0x9d, + 0x0e, 0x1f, 0xcc, 0x86, 0xc9, 0xb9, 0x6a, 0x27, 0x22, 0x11, 0xac, 0xcd, +}; +static const unsigned char kat2812_addinreseed[] = { + 0xc3, 0x92, 0xdf, 0x2a, 0x33, 0x8e, 0x16, 0x81, 0xa0, 0x4d, 0xd1, 0x62, + 0x86, 0x0d, 0xdb, 0x3b, 0x2d, 0x55, 0x56, 0x6b, 0xa4, 0xe5, 0x14, 0xa3, + 0x71, 0xfc, 0x31, 0xa3, 0x56, 0xb9, 0xb5, 0xd4, 0x4f, 0x71, 0xa3, 0x94, + 0x9a, 0xbb, 0xfb, 0xc4, 0xb3, 0x33, 0x79, 0x39, 0xe2, 0xa9, 0x1d, 0xd6, +}; +static const unsigned char kat2812_addin0[] = { + 0x03, 0x42, 0xc1, 0x22, 0xb8, 0x84, 0x73, 0xb9, 0x51, 0xa2, 0x7b, 0xa4, + 0x54, 0x4b, 0xc3, 0x0a, 0x10, 0x44, 0xcf, 0xa5, 0x22, 0xaf, 0xf3, 0x4e, + 0xa1, 0x27, 0xc0, 0x19, 0x50, 0xa0, 0x76, 0xed, 0xd9, 0x7a, 0x4a, 0x2e, + 0x0f, 0x19, 0x33, 0xa7, 0x43, 0xae, 0x7b, 0x9a, 0x17, 0xcc, 0x7e, 0xbd, +}; +static const unsigned char kat2812_addin1[] = { + 0x21, 0x39, 0x80, 0x20, 0xe3, 0x72, 0x05, 0xc9, 0x6c, 0xc5, 0x95, 0x6e, + 0xb6, 0x2f, 0x28, 0x4b, 0x15, 0xea, 0x5e, 0x73, 0xc2, 0xc6, 0x5d, 0xf7, + 0x0f, 0xdd, 0xee, 0xcc, 0xa7, 0x9b, 0x85, 0x7b, 0x29, 0x8a, 0xa2, 0x1f, + 0x67, 0xfb, 0x20, 0x42, 0xa0, 0xb1, 0x8a, 0xb6, 0xca, 0x93, 0x69, 0xb6, +}; +static const unsigned char kat2812_retbits[] = { + 0x6c, 0xd8, 0x2d, 0xac, 0xda, 0x43, 0xcc, 0x66, 0x38, 0xbf, 0x6b, 0x17, + 0xa5, 0x63, 0x51, 0xc0, 0x0c, 0x58, 0x0f, 0x5a, 0xb0, 0xf5, 0xb6, 0x52, + 0xc9, 0x0f, 0x3e, 0x77, 0xa6, 0x37, 0x53, 0xd7, 0x83, 0x75, 0x1a, 0x4c, + 0x29, 0xaf, 0xe8, 0x28, 0x6e, 0x48, 0xf3, 0xe5, 0x73, 0xd5, 0xfa, 0x50, + 0xb5, 0x12, 0x5b, 0x4c, 0x71, 0x89, 0x2e, 0x7f, 0x09, 0x78, 0x1e, 0x8b, + 0x9c, 0x0f, 0x45, 0xf7, +}; +static const struct drbg_kat_pr_false kat2812_t = { + 6, kat2812_entropyin, kat2812_nonce, kat2812_persstr, + kat2812_entropyinreseed, kat2812_addinreseed, kat2812_addin0, + kat2812_addin1, kat2812_retbits +}; +static const struct drbg_kat kat2812 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2812_t +}; + +static const unsigned char kat2813_entropyin[] = { + 0xcb, 0x05, 0xe1, 0xee, 0x85, 0xac, 0x6e, 0x9f, 0x6e, 0x20, 0x89, 0xd1, + 0x35, 0xc7, 0xd4, 0x3a, 0x6b, 0xb1, 0x58, 0x1b, 0x73, 0x73, 0x36, 0x6b, + 0xe8, 0x60, 0x19, 0xfc, 0xbf, 0x92, 0x78, 0xb7, 0x84, 0xe0, 0xed, 0x78, + 0x66, 0x61, 0x43, 0x07, 0x30, 0xe6, 0xb0, 0x20, 0x41, 0x03, 0x5e, 0xe0, +}; +static const unsigned char kat2813_nonce[] = {0}; +static const unsigned char kat2813_persstr[] = { + 0x19, 0xa4, 0xf5, 0xce, 0x1e, 0x9a, 0x9f, 0x8a, 0x5a, 0x16, 0x18, 0xb2, + 0x35, 0x49, 0x0f, 0xf2, 0x2f, 0xc7, 0xb3, 0xa8, 0x11, 0x6d, 0x14, 0x43, + 0x59, 0x67, 0x6a, 0x43, 0x86, 0x06, 0x3b, 0x1b, 0xd0, 0x23, 0x09, 0x13, + 0x0b, 0x8d, 0x6c, 0x8a, 0x4b, 0xa3, 0xb4, 0x12, 0xf3, 0x6a, 0x48, 0x8b, +}; +static const unsigned char kat2813_entropyinreseed[] = { + 0xec, 0xc2, 0x94, 0x02, 0xfb, 0xfb, 0x7e, 0x81, 0x94, 0xb1, 0xf4, 0x45, + 0x29, 0x73, 0xcf, 0x27, 0x48, 0x86, 0x19, 0xd3, 0xec, 0xc9, 0xad, 0x6c, + 0x25, 0xec, 0xe7, 0x5b, 0xd5, 0x97, 0xe0, 0xe8, 0x66, 0xcb, 0x53, 0x32, + 0x4b, 0xa5, 0xf9, 0xb7, 0x8f, 0xaf, 0xe5, 0x69, 0x8c, 0x56, 0x0a, 0xe9, +}; +static const unsigned char kat2813_addinreseed[] = { + 0xf7, 0x54, 0xc6, 0x0d, 0x68, 0xce, 0x5f, 0xcd, 0xc7, 0xdf, 0x8c, 0xde, + 0x14, 0x7a, 0xf6, 0xd3, 0x19, 0x1b, 0xa4, 0x7f, 0x6a, 0x02, 0x92, 0x6d, + 0xee, 0xa2, 0xe5, 0xfc, 0x55, 0x88, 0xb0, 0xc2, 0x8d, 0x58, 0x06, 0x52, + 0x43, 0x8e, 0x18, 0xc7, 0xb8, 0xd5, 0x78, 0x37, 0xe8, 0x05, 0xf4, 0x39, +}; +static const unsigned char kat2813_addin0[] = { + 0xc7, 0x09, 0xca, 0xd8, 0x78, 0x5e, 0x54, 0xf3, 0xde, 0xa0, 0xdd, 0xd4, + 0x4a, 0x46, 0x38, 0x4a, 0x1e, 0x59, 0x4a, 0xbf, 0x9d, 0x9d, 0xb7, 0xeb, + 0xa0, 0x13, 0x15, 0x3c, 0xb9, 0xc7, 0x77, 0x37, 0x01, 0x1f, 0xd1, 0x39, + 0x19, 0x7c, 0xf9, 0x67, 0xf5, 0x15, 0x44, 0x5c, 0xc0, 0x82, 0xe5, 0xe8, +}; +static const unsigned char kat2813_addin1[] = { + 0x2d, 0x95, 0x86, 0x82, 0x85, 0xeb, 0xd3, 0x12, 0x4e, 0x8d, 0x40, 0xd5, + 0xba, 0x0f, 0x53, 0xd5, 0x31, 0x1a, 0xde, 0x0f, 0x70, 0x7f, 0x22, 0x5f, + 0xc4, 0x7a, 0x0a, 0x5f, 0x0e, 0x79, 0x48, 0x87, 0x8e, 0xb8, 0xab, 0x98, + 0x5d, 0xac, 0x3d, 0x3a, 0x37, 0x8b, 0x2c, 0xf9, 0x15, 0x52, 0x39, 0xc6, +}; +static const unsigned char kat2813_retbits[] = { + 0x34, 0x51, 0x64, 0x22, 0xc3, 0x33, 0x15, 0xf6, 0xa5, 0x2c, 0x13, 0x19, + 0x65, 0xe3, 0x05, 0xe6, 0x97, 0x48, 0x8f, 0x01, 0x04, 0xdd, 0xb7, 0x19, + 0x36, 0xc2, 0x7d, 0xc6, 0x01, 0x2a, 0x6c, 0x41, 0x81, 0x33, 0x89, 0x79, + 0xc2, 0x38, 0xd9, 0x98, 0x20, 0xf4, 0xfb, 0xbc, 0x0b, 0xb1, 0x2f, 0x54, + 0xed, 0x39, 0x1a, 0x31, 0xd7, 0x4a, 0x4f, 0x1c, 0x89, 0x9c, 0xae, 0xb5, + 0xfa, 0x25, 0xde, 0x3e, +}; +static const struct drbg_kat_pr_false kat2813_t = { + 7, kat2813_entropyin, kat2813_nonce, kat2813_persstr, + kat2813_entropyinreseed, kat2813_addinreseed, kat2813_addin0, + kat2813_addin1, kat2813_retbits +}; +static const struct drbg_kat kat2813 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2813_t +}; + +static const unsigned char kat2814_entropyin[] = { + 0x85, 0x5a, 0xb5, 0x42, 0x14, 0xdc, 0x0a, 0x64, 0xf6, 0x69, 0x9f, 0x4f, + 0x3f, 0xc1, 0xbf, 0x1b, 0xa6, 0x4c, 0xbc, 0xe4, 0x2d, 0x32, 0x2b, 0x86, + 0xb4, 0x27, 0xd8, 0x86, 0x4e, 0x8f, 0x86, 0xef, 0x85, 0x43, 0x55, 0x78, + 0xfa, 0x20, 0x32, 0xce, 0x7c, 0x6b, 0x2d, 0xa4, 0x04, 0x4c, 0x78, 0x9f, +}; +static const unsigned char kat2814_nonce[] = {0}; +static const unsigned char kat2814_persstr[] = { + 0x7b, 0x71, 0x25, 0x85, 0x9d, 0xaa, 0xe9, 0x64, 0x49, 0xa3, 0x99, 0x7b, + 0x49, 0x97, 0x11, 0x30, 0x17, 0x77, 0x5e, 0x6d, 0x48, 0x76, 0x7e, 0x2c, + 0x89, 0xba, 0xf9, 0x8e, 0x77, 0xd1, 0x89, 0x17, 0x34, 0x3f, 0x72, 0x2b, + 0x41, 0x0c, 0x62, 0xfb, 0x69, 0x4c, 0x2e, 0x5d, 0x24, 0xa2, 0x59, 0x09, +}; +static const unsigned char kat2814_entropyinreseed[] = { + 0xda, 0xcf, 0xd6, 0x60, 0x33, 0xc7, 0x5f, 0x3d, 0x87, 0x5a, 0x23, 0xbe, + 0x63, 0x19, 0x8a, 0x67, 0x24, 0xfb, 0x14, 0x30, 0xb2, 0xc3, 0xb8, 0x8d, + 0x7b, 0xe8, 0xa9, 0x83, 0xa3, 0x18, 0xd0, 0x64, 0xb8, 0x0c, 0x63, 0x98, + 0xf1, 0xec, 0x35, 0x16, 0x85, 0x94, 0x55, 0x57, 0xcc, 0xad, 0x84, 0x71, +}; +static const unsigned char kat2814_addinreseed[] = { + 0x1a, 0x1c, 0xa1, 0xdd, 0x4f, 0xa3, 0x0f, 0x58, 0x50, 0xd7, 0xbc, 0x7d, + 0xa7, 0xd8, 0x4a, 0x8e, 0x16, 0x0e, 0xba, 0x1b, 0xb8, 0xd7, 0xc7, 0x1f, + 0xdc, 0x0b, 0xf0, 0xe0, 0x4d, 0x99, 0x95, 0x3f, 0x30, 0xbc, 0x51, 0xc0, + 0xf4, 0x72, 0x0a, 0xad, 0x3d, 0x35, 0x96, 0x38, 0xc1, 0x35, 0x51, 0xac, +}; +static const unsigned char kat2814_addin0[] = { + 0x93, 0x4b, 0x52, 0xe8, 0x6c, 0x93, 0x8f, 0x09, 0xc0, 0x05, 0x62, 0xac, + 0x21, 0x93, 0x47, 0xce, 0xa8, 0xb4, 0x89, 0x27, 0x76, 0xbf, 0x1b, 0x46, + 0x0b, 0x3d, 0x07, 0xe4, 0xaf, 0x2c, 0x13, 0xc6, 0x45, 0x8b, 0xe1, 0x08, + 0x07, 0xb5, 0xa6, 0xcb, 0xa2, 0xce, 0x00, 0x67, 0xd3, 0x94, 0x99, 0x48, +}; +static const unsigned char kat2814_addin1[] = { + 0x2d, 0x99, 0x10, 0x38, 0xc3, 0xc8, 0x6a, 0x63, 0x3d, 0x42, 0xc1, 0x7d, + 0xb0, 0xad, 0x47, 0xac, 0x45, 0x37, 0x19, 0xfe, 0xc3, 0xe3, 0x19, 0x88, + 0x8b, 0x77, 0x7e, 0xb0, 0x3d, 0x43, 0x3d, 0xd3, 0x06, 0xe3, 0x87, 0x0a, + 0x32, 0x97, 0x2e, 0xf9, 0x2e, 0x0e, 0x05, 0xb7, 0xef, 0xe6, 0xe5, 0x54, +}; +static const unsigned char kat2814_retbits[] = { + 0xf6, 0x22, 0xde, 0x89, 0x0e, 0xa3, 0x07, 0x89, 0x57, 0x4e, 0xf1, 0xbd, + 0xbe, 0x47, 0xb0, 0x11, 0xe8, 0xca, 0x53, 0x80, 0xc7, 0xc8, 0x6c, 0x8f, + 0xe8, 0x2a, 0xc0, 0x83, 0x1a, 0x00, 0x3b, 0x20, 0xaf, 0x8f, 0x39, 0x33, + 0x96, 0x97, 0x60, 0x0a, 0xc4, 0x75, 0xff, 0x97, 0xf4, 0x07, 0x36, 0x33, + 0x9a, 0xe3, 0x4d, 0xa7, 0xfa, 0x42, 0x18, 0x0d, 0x44, 0x4a, 0xfe, 0x8f, + 0xfd, 0x48, 0x62, 0x96, +}; +static const struct drbg_kat_pr_false kat2814_t = { + 8, kat2814_entropyin, kat2814_nonce, kat2814_persstr, + kat2814_entropyinreseed, kat2814_addinreseed, kat2814_addin0, + kat2814_addin1, kat2814_retbits +}; +static const struct drbg_kat kat2814 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2814_t +}; + +static const unsigned char kat2815_entropyin[] = { + 0x55, 0x4a, 0x4d, 0xbd, 0x10, 0xbd, 0x99, 0xcc, 0xaf, 0x1e, 0x95, 0x0e, + 0xac, 0xc0, 0x38, 0xef, 0x51, 0x82, 0x62, 0xc9, 0xd3, 0xc3, 0x0e, 0xaf, + 0x42, 0x1b, 0xee, 0x22, 0xe7, 0x83, 0x56, 0xf6, 0xc3, 0x45, 0x82, 0x2a, + 0xdb, 0x58, 0x89, 0xac, 0xd9, 0x60, 0xdb, 0xc6, 0x22, 0xe1, 0x30, 0x7b, +}; +static const unsigned char kat2815_nonce[] = {0}; +static const unsigned char kat2815_persstr[] = { + 0xeb, 0x10, 0xac, 0x13, 0x6e, 0xd6, 0xbc, 0x91, 0x01, 0x81, 0x8b, 0xbc, + 0x1e, 0x27, 0xf6, 0xf4, 0x45, 0x3e, 0x90, 0x88, 0xcf, 0x5a, 0xa4, 0xa8, + 0x9d, 0xb9, 0x33, 0xea, 0x00, 0xc8, 0xce, 0x21, 0x55, 0xfc, 0x06, 0x09, + 0x38, 0xda, 0x0a, 0xa0, 0x68, 0xdd, 0xfb, 0x4e, 0x44, 0xb9, 0xae, 0x8e, +}; +static const unsigned char kat2815_entropyinreseed[] = { + 0x5d, 0xca, 0xd8, 0x0c, 0x27, 0x49, 0x2f, 0x34, 0xf6, 0x87, 0x43, 0xbb, + 0x07, 0x69, 0x1b, 0x35, 0x2f, 0x53, 0x7f, 0x02, 0x2a, 0x1b, 0x63, 0xd9, + 0x6a, 0x91, 0xda, 0x39, 0x1d, 0xdc, 0x53, 0x08, 0x09, 0xd8, 0x74, 0xae, + 0x11, 0x88, 0x76, 0x98, 0x5a, 0xd2, 0xdc, 0xa9, 0x17, 0xad, 0x8b, 0x6d, +}; +static const unsigned char kat2815_addinreseed[] = { + 0x63, 0x24, 0x2c, 0x7e, 0xf2, 0x23, 0x58, 0x12, 0x05, 0x6e, 0xd1, 0x5c, + 0xbf, 0x68, 0xbe, 0x91, 0x73, 0xdb, 0xe1, 0x1a, 0xc7, 0x33, 0x13, 0x1e, + 0xc7, 0xe3, 0x92, 0xda, 0x9d, 0x27, 0x5b, 0xe2, 0x59, 0x1c, 0x95, 0xf3, + 0xd8, 0xf6, 0x71, 0xab, 0x21, 0x50, 0x74, 0x74, 0xa5, 0x9e, 0xca, 0x18, +}; +static const unsigned char kat2815_addin0[] = { + 0x25, 0x86, 0xa1, 0xaf, 0x83, 0x23, 0x76, 0xb5, 0x26, 0x67, 0x9c, 0xce, + 0x9d, 0x0d, 0xc5, 0x75, 0x10, 0x8d, 0x64, 0xcb, 0xf5, 0x40, 0x16, 0x7e, + 0xa3, 0x21, 0xd1, 0x4e, 0xc6, 0x72, 0xe4, 0xe9, 0xd9, 0x81, 0xf9, 0xf3, + 0xb3, 0x7a, 0x52, 0xb0, 0xbd, 0x42, 0xb6, 0x66, 0x69, 0xcc, 0xe1, 0x40, +}; +static const unsigned char kat2815_addin1[] = { + 0x6b, 0xc0, 0x88, 0x87, 0x46, 0xc1, 0x2f, 0x94, 0x58, 0x12, 0xd5, 0xfa, + 0x38, 0x2b, 0x25, 0x2c, 0x4e, 0x5c, 0x89, 0x4a, 0x8f, 0x65, 0xad, 0xd7, + 0x1e, 0x9c, 0x9d, 0x0f, 0xfd, 0x5b, 0x22, 0xf5, 0x37, 0xc4, 0x40, 0x87, + 0x0f, 0x0a, 0x0b, 0x70, 0xfa, 0xa5, 0x1a, 0xf7, 0x71, 0xdb, 0x84, 0x9e, +}; +static const unsigned char kat2815_retbits[] = { + 0xce, 0x62, 0x7e, 0xe4, 0xc9, 0xf2, 0x09, 0x61, 0x66, 0xaf, 0x58, 0xec, + 0x03, 0x29, 0x21, 0x84, 0x69, 0x12, 0x0f, 0x7f, 0x30, 0x3f, 0x7d, 0x12, + 0xb5, 0xd9, 0xb0, 0xee, 0xf3, 0x5c, 0x66, 0x48, 0x65, 0xfe, 0x85, 0x17, + 0x0f, 0xbb, 0xf5, 0x10, 0x60, 0xaa, 0xd0, 0xe6, 0xf7, 0xf6, 0x4f, 0xba, + 0x86, 0xfd, 0x4c, 0x71, 0xee, 0x57, 0xbb, 0x07, 0xb9, 0x61, 0x3a, 0x85, + 0x86, 0x11, 0xc8, 0xe3, +}; +static const struct drbg_kat_pr_false kat2815_t = { + 9, kat2815_entropyin, kat2815_nonce, kat2815_persstr, + kat2815_entropyinreseed, kat2815_addinreseed, kat2815_addin0, + kat2815_addin1, kat2815_retbits +}; +static const struct drbg_kat kat2815 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2815_t +}; + +static const unsigned char kat2816_entropyin[] = { + 0xd1, 0x99, 0xbb, 0xd5, 0x1c, 0xeb, 0xa0, 0x32, 0x3a, 0xc4, 0x91, 0xff, + 0x14, 0x52, 0x08, 0xef, 0xf3, 0xfb, 0x45, 0xf1, 0x7b, 0xd4, 0x99, 0xd0, + 0x0c, 0x79, 0xb5, 0xcd, 0x42, 0x92, 0x86, 0xad, 0x9e, 0x33, 0xd1, 0x00, + 0x59, 0x22, 0x34, 0x89, 0xac, 0xbc, 0x27, 0x96, 0x88, 0x04, 0x07, 0xee, +}; +static const unsigned char kat2816_nonce[] = {0}; +static const unsigned char kat2816_persstr[] = { + 0x67, 0x0d, 0x10, 0x83, 0xe6, 0xe0, 0xa8, 0x3b, 0x8a, 0xc6, 0xf2, 0x58, + 0xa6, 0x00, 0x4a, 0xed, 0x9b, 0x91, 0x17, 0xb6, 0xf9, 0x90, 0x2b, 0x4f, + 0xa8, 0xa1, 0x4f, 0xc5, 0x58, 0x0f, 0x3e, 0x9d, 0x40, 0x41, 0x3c, 0x72, + 0xc8, 0xce, 0x8d, 0x7c, 0x53, 0x62, 0x84, 0x95, 0xce, 0x29, 0x24, 0xf4, +}; +static const unsigned char kat2816_entropyinreseed[] = { + 0xd6, 0xa3, 0x3a, 0x4f, 0xba, 0x1e, 0x88, 0x39, 0xbc, 0x5f, 0xca, 0x6c, + 0x7b, 0xa6, 0x31, 0x71, 0x77, 0xc5, 0xc9, 0xa2, 0x98, 0x6b, 0x03, 0x97, + 0x8c, 0x9a, 0x43, 0xa8, 0x2f, 0x6b, 0x1f, 0x6c, 0xee, 0x44, 0x3e, 0x76, + 0x27, 0x28, 0x39, 0x93, 0x76, 0xdd, 0x86, 0x6d, 0x8a, 0x99, 0xba, 0x60, +}; +static const unsigned char kat2816_addinreseed[] = { + 0x6f, 0xad, 0xa6, 0x6c, 0xce, 0xa9, 0xe9, 0x52, 0x77, 0xce, 0x1d, 0xe3, + 0x5f, 0xcb, 0x5d, 0x1b, 0x42, 0xea, 0x35, 0xa0, 0x0e, 0xb5, 0x88, 0xab, + 0xd4, 0x06, 0x2c, 0x23, 0x16, 0x56, 0x6d, 0x0e, 0xf6, 0xae, 0x9f, 0xe3, + 0xb4, 0xe4, 0x9d, 0xd1, 0xd8, 0x6f, 0x07, 0xc9, 0x69, 0x55, 0x05, 0xfc, +}; +static const unsigned char kat2816_addin0[] = { + 0x2d, 0x78, 0xcb, 0x13, 0x16, 0x61, 0xc5, 0x5a, 0xee, 0xd6, 0x8c, 0x22, + 0x5e, 0x97, 0x10, 0x7a, 0xc6, 0x66, 0xc8, 0x4c, 0xca, 0xa7, 0x77, 0x0c, + 0x49, 0x8e, 0xa9, 0xed, 0xaf, 0x38, 0xe5, 0xc3, 0xe2, 0x41, 0xa5, 0x4f, + 0xa9, 0x31, 0x05, 0xef, 0xfc, 0xf8, 0x64, 0xdd, 0x0d, 0x74, 0xe3, 0x13, +}; +static const unsigned char kat2816_addin1[] = { + 0x06, 0xb1, 0x6d, 0x02, 0x6a, 0xca, 0x61, 0x0a, 0xf5, 0xe0, 0x84, 0xf7, + 0x58, 0x9f, 0x8c, 0x29, 0x66, 0xf8, 0xce, 0xce, 0xed, 0x4d, 0x2d, 0x56, + 0x0e, 0xd6, 0xaa, 0x52, 0x94, 0x50, 0x35, 0x87, 0xc8, 0x99, 0xb0, 0xe2, + 0xef, 0x0f, 0x22, 0x2d, 0xf0, 0xe7, 0xab, 0xbe, 0x89, 0x37, 0x12, 0x82, +}; +static const unsigned char kat2816_retbits[] = { + 0xd4, 0xf0, 0x44, 0x1b, 0x30, 0x3a, 0x63, 0x27, 0xc7, 0xfb, 0x75, 0x11, + 0x3e, 0xe6, 0x74, 0x6c, 0xff, 0xf5, 0xd2, 0xfe, 0xdf, 0x63, 0xe8, 0xc8, + 0xde, 0x8e, 0x2a, 0xf0, 0xf6, 0xa5, 0x94, 0x8a, 0x12, 0xa9, 0x4c, 0xa9, + 0x2e, 0x08, 0xbe, 0x8e, 0xb9, 0xbf, 0x5d, 0xa8, 0xfd, 0x4b, 0x45, 0xef, + 0xad, 0xc9, 0x32, 0x7f, 0x8e, 0x3a, 0x45, 0x8b, 0x0a, 0x3b, 0x74, 0xda, + 0xde, 0x4a, 0x33, 0x59, +}; +static const struct drbg_kat_pr_false kat2816_t = { + 10, kat2816_entropyin, kat2816_nonce, kat2816_persstr, + kat2816_entropyinreseed, kat2816_addinreseed, kat2816_addin0, + kat2816_addin1, kat2816_retbits +}; +static const struct drbg_kat kat2816 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2816_t +}; + +static const unsigned char kat2817_entropyin[] = { + 0xee, 0x95, 0x3e, 0xce, 0xfa, 0xb5, 0x55, 0x91, 0x3a, 0xef, 0xbf, 0xf2, + 0x4a, 0x58, 0x8b, 0xcc, 0x38, 0x06, 0x60, 0x75, 0x9e, 0x18, 0x91, 0xf6, + 0x8e, 0x60, 0x2e, 0xf7, 0xb0, 0x90, 0xbd, 0x33, 0x02, 0x6c, 0x2e, 0x34, + 0x6f, 0x67, 0xd3, 0x41, 0x51, 0xb6, 0xe6, 0x9a, 0x40, 0xd6, 0xd8, 0xd5, +}; +static const unsigned char kat2817_nonce[] = {0}; +static const unsigned char kat2817_persstr[] = { + 0xe0, 0x77, 0xd4, 0x2d, 0xfe, 0x69, 0x76, 0x20, 0xf2, 0x1a, 0x9f, 0x8a, + 0xd5, 0xea, 0xe6, 0xc8, 0x75, 0x89, 0xd9, 0xc1, 0xc3, 0x7d, 0x30, 0xdd, + 0xde, 0xf2, 0xab, 0x81, 0xcf, 0xba, 0xe9, 0x79, 0x75, 0x00, 0x79, 0x5c, + 0xe5, 0xa0, 0x0d, 0x79, 0xb3, 0x51, 0x8f, 0xee, 0xcb, 0x1e, 0xd8, 0xeb, +}; +static const unsigned char kat2817_entropyinreseed[] = { + 0x4e, 0xe2, 0xc4, 0x6c, 0xd9, 0x9e, 0x8b, 0x5d, 0x8f, 0xab, 0x2f, 0x0d, + 0x27, 0x20, 0x0e, 0x29, 0x92, 0xf1, 0x5a, 0xcb, 0xe2, 0xf1, 0x3a, 0x8f, + 0x40, 0x58, 0x77, 0xed, 0xf4, 0xff, 0x7e, 0xb2, 0x37, 0x3c, 0xca, 0xf4, + 0x02, 0xfa, 0x8a, 0xdf, 0x97, 0xe8, 0x06, 0xf5, 0x5f, 0xde, 0x21, 0x0c, +}; +static const unsigned char kat2817_addinreseed[] = { + 0x94, 0x4a, 0x1e, 0xe0, 0x31, 0x96, 0x7b, 0xd9, 0xd3, 0x52, 0x60, 0x6f, + 0x97, 0x0a, 0x3e, 0x52, 0x2f, 0x03, 0xb9, 0x38, 0x5d, 0x73, 0x51, 0x88, + 0x7e, 0x74, 0x82, 0xc2, 0x62, 0xee, 0x88, 0x4b, 0xda, 0xb3, 0xc7, 0xcf, + 0xd0, 0x25, 0x90, 0x75, 0x93, 0x10, 0x33, 0xc4, 0xbc, 0x19, 0x9f, 0x80, +}; +static const unsigned char kat2817_addin0[] = { + 0xc8, 0xfd, 0x47, 0x59, 0xc1, 0x27, 0x70, 0x51, 0xb6, 0x84, 0x1a, 0xe7, + 0x1e, 0xfc, 0xad, 0xc4, 0xf0, 0x97, 0x8c, 0x42, 0x26, 0x6d, 0x1f, 0xd4, + 0x87, 0x2b, 0x00, 0x51, 0xa4, 0x88, 0x45, 0xb8, 0xdf, 0xc5, 0xd2, 0xaa, + 0xba, 0x69, 0x2e, 0x08, 0xfe, 0x5f, 0x91, 0x81, 0xf0, 0xcd, 0xdd, 0x85, +}; +static const unsigned char kat2817_addin1[] = { + 0x2d, 0xe6, 0xbe, 0x84, 0x8d, 0xe7, 0xa0, 0x3b, 0xef, 0xd8, 0xfa, 0xb5, + 0x22, 0x8f, 0x23, 0x54, 0xb5, 0x87, 0x62, 0xfd, 0x42, 0x43, 0x8c, 0xdb, + 0x7c, 0xe5, 0x50, 0xef, 0x06, 0x37, 0xee, 0x30, 0xd7, 0xaa, 0x13, 0xed, + 0x01, 0xa7, 0x90, 0xac, 0xd4, 0x2f, 0xeb, 0x84, 0xad, 0xc8, 0xfa, 0x09, +}; +static const unsigned char kat2817_retbits[] = { + 0xa8, 0xed, 0x5b, 0xd8, 0x3c, 0x15, 0xec, 0xdb, 0x7d, 0xf0, 0xf6, 0xed, + 0x18, 0x6f, 0xb8, 0x99, 0xc9, 0x8a, 0x15, 0x4f, 0xee, 0x04, 0x75, 0x91, + 0x6f, 0xe1, 0x10, 0x89, 0xd4, 0x8f, 0x21, 0x74, 0x0f, 0x7c, 0xea, 0xa8, + 0x3f, 0xc5, 0x3f, 0x91, 0xc6, 0xb0, 0x3b, 0x16, 0x7b, 0x69, 0x7c, 0xf0, + 0x90, 0x53, 0x50, 0x9f, 0x10, 0x0f, 0x69, 0x98, 0xc9, 0x50, 0xec, 0xc6, + 0x34, 0xf2, 0x66, 0xee, +}; +static const struct drbg_kat_pr_false kat2817_t = { + 11, kat2817_entropyin, kat2817_nonce, kat2817_persstr, + kat2817_entropyinreseed, kat2817_addinreseed, kat2817_addin0, + kat2817_addin1, kat2817_retbits +}; +static const struct drbg_kat kat2817 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2817_t +}; + +static const unsigned char kat2818_entropyin[] = { + 0x0a, 0x34, 0xb8, 0x2b, 0x54, 0x64, 0x5f, 0x46, 0xe7, 0x4e, 0x41, 0x61, + 0x49, 0x8e, 0x75, 0xf5, 0xfe, 0x35, 0x53, 0x17, 0x38, 0xb9, 0xee, 0x00, + 0x2e, 0xec, 0xb3, 0xfd, 0x83, 0xc2, 0x17, 0xb1, 0xe0, 0xf9, 0x58, 0x89, + 0x7a, 0x3e, 0x88, 0x00, 0xd8, 0xc5, 0x88, 0x21, 0x89, 0xcf, 0x2f, 0x95, +}; +static const unsigned char kat2818_nonce[] = {0}; +static const unsigned char kat2818_persstr[] = { + 0x9a, 0x25, 0x1b, 0x28, 0xcd, 0xfd, 0x57, 0xfa, 0x1f, 0x58, 0xa0, 0x0e, + 0xd4, 0x23, 0xd5, 0x21, 0xd6, 0xe0, 0xa4, 0x03, 0x6e, 0x5a, 0x54, 0x9a, + 0xbd, 0x81, 0xe5, 0x3f, 0x17, 0x93, 0xcf, 0xa3, 0x16, 0x2c, 0xec, 0xcf, + 0x01, 0x00, 0x49, 0xa5, 0xc9, 0xdd, 0x55, 0x50, 0xff, 0x3f, 0xdd, 0x80, +}; +static const unsigned char kat2818_entropyinreseed[] = { + 0x9e, 0x4b, 0x5d, 0x5e, 0xc7, 0x03, 0x2c, 0x09, 0xde, 0x00, 0xc7, 0xfa, + 0xf6, 0x51, 0x5b, 0x05, 0xe5, 0x76, 0x46, 0x09, 0x2a, 0x3d, 0xf2, 0x08, + 0x3e, 0xd0, 0x6b, 0x61, 0xf9, 0x63, 0x2a, 0xa7, 0x02, 0x85, 0xa4, 0x3a, + 0xb0, 0xb5, 0x69, 0xfa, 0x42, 0x96, 0x84, 0xdf, 0xd2, 0x9b, 0xc4, 0x05, +}; +static const unsigned char kat2818_addinreseed[] = { + 0xfd, 0x44, 0x06, 0x0a, 0x04, 0xdf, 0x78, 0xe5, 0x55, 0xb9, 0x45, 0x6f, + 0xbc, 0x84, 0x0a, 0x5f, 0x4a, 0x29, 0xd0, 0xed, 0xb3, 0x59, 0x6b, 0x79, + 0x3c, 0x39, 0xf1, 0xa7, 0xd7, 0xec, 0xd7, 0xb7, 0x55, 0xf6, 0x98, 0x67, + 0x2e, 0xee, 0xef, 0x14, 0xf4, 0x28, 0x25, 0x54, 0x0a, 0xa4, 0x55, 0x8c, +}; +static const unsigned char kat2818_addin0[] = { + 0xdd, 0x06, 0x50, 0x94, 0xe4, 0x0c, 0x6c, 0xec, 0xe1, 0x9b, 0xa1, 0x2a, + 0xee, 0x2d, 0x37, 0xc6, 0x15, 0xa7, 0x89, 0xed, 0xbe, 0xca, 0xc7, 0x02, + 0x55, 0xd2, 0x60, 0x6a, 0xba, 0x6f, 0xff, 0xee, 0xae, 0x98, 0x27, 0x22, + 0x85, 0xcb, 0xb3, 0x75, 0xe7, 0xbb, 0x4d, 0x0b, 0x8c, 0x8b, 0x8c, 0xff, +}; +static const unsigned char kat2818_addin1[] = { + 0xb4, 0x51, 0x66, 0xe7, 0xf7, 0x55, 0x57, 0x1c, 0x72, 0xd4, 0x06, 0xe7, + 0x3a, 0x4a, 0xe6, 0xb3, 0xd3, 0x75, 0x41, 0x17, 0x74, 0x10, 0xab, 0xf2, + 0xfa, 0xef, 0x93, 0xd3, 0x0b, 0x4c, 0x67, 0x9c, 0xc9, 0xb3, 0x46, 0xf1, + 0x00, 0x6b, 0x24, 0xcf, 0xc4, 0x67, 0xe3, 0x78, 0xf1, 0x76, 0x29, 0x6d, +}; +static const unsigned char kat2818_retbits[] = { + 0xd7, 0xdd, 0xec, 0xf1, 0xcf, 0x61, 0x84, 0x1e, 0x65, 0xe6, 0x50, 0x84, + 0x3e, 0xb1, 0x57, 0xe2, 0xcb, 0xfc, 0x09, 0x9f, 0xae, 0x94, 0x36, 0x5a, + 0xb9, 0x50, 0x79, 0x4f, 0x91, 0x1a, 0x8f, 0x8b, 0x22, 0x7c, 0xf7, 0x34, + 0x89, 0xfd, 0x78, 0x31, 0xbf, 0x41, 0x0f, 0xab, 0x02, 0x6d, 0x90, 0xed, + 0x9d, 0x03, 0x12, 0x06, 0xa7, 0x59, 0xb1, 0x2c, 0x49, 0xa9, 0x58, 0x40, + 0x23, 0x63, 0xed, 0x7d, +}; +static const struct drbg_kat_pr_false kat2818_t = { + 12, kat2818_entropyin, kat2818_nonce, kat2818_persstr, + kat2818_entropyinreseed, kat2818_addinreseed, kat2818_addin0, + kat2818_addin1, kat2818_retbits +}; +static const struct drbg_kat kat2818 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2818_t +}; + +static const unsigned char kat2819_entropyin[] = { + 0xb5, 0x80, 0x99, 0x57, 0xb1, 0x79, 0xe5, 0x5b, 0x2b, 0xfe, 0x55, 0xf4, + 0x8d, 0x24, 0xf1, 0xfe, 0x81, 0x56, 0xa3, 0x6d, 0xf7, 0xa9, 0xed, 0x5f, + 0xec, 0xa0, 0x1c, 0x7a, 0xea, 0x01, 0x9b, 0xe7, 0x74, 0x82, 0x09, 0x33, + 0xb7, 0xec, 0x5e, 0x56, 0x91, 0x3d, 0x96, 0xeb, 0x67, 0x2f, 0xc0, 0x65, +}; +static const unsigned char kat2819_nonce[] = {0}; +static const unsigned char kat2819_persstr[] = { + 0xa1, 0x5d, 0x7e, 0xe8, 0x3b, 0x11, 0x57, 0xb9, 0xa5, 0x19, 0x8d, 0x20, + 0x1e, 0xfc, 0x46, 0x60, 0x82, 0x07, 0x24, 0x30, 0xc4, 0x84, 0x37, 0x5a, + 0xef, 0xc8, 0x57, 0xec, 0x23, 0x5f, 0x98, 0x8c, 0xfb, 0x28, 0x73, 0xaa, + 0x6d, 0x43, 0x31, 0xf8, 0x10, 0xa0, 0xc3, 0x88, 0x35, 0x8b, 0xb5, 0x2f, +}; +static const unsigned char kat2819_entropyinreseed[] = { + 0xd9, 0x89, 0xc2, 0xe2, 0xc3, 0x5a, 0x89, 0xca, 0x31, 0x42, 0x84, 0x4d, + 0x8a, 0x9b, 0xc0, 0x9d, 0xf2, 0xb1, 0xbc, 0x52, 0x5d, 0xec, 0x29, 0xe4, + 0x53, 0x8a, 0xfa, 0x6a, 0x7c, 0xae, 0x5a, 0xff, 0x97, 0xf9, 0x6d, 0x97, + 0x03, 0x11, 0x22, 0x60, 0x69, 0xed, 0x87, 0x68, 0x67, 0x9d, 0x2d, 0x1f, +}; +static const unsigned char kat2819_addinreseed[] = { + 0x57, 0x7f, 0x1f, 0x48, 0x18, 0xbd, 0x6e, 0x4f, 0xe0, 0xaf, 0xcd, 0x83, + 0x48, 0xb9, 0xf3, 0x74, 0xc9, 0x8e, 0xec, 0xf4, 0xba, 0x4a, 0xf5, 0x5c, + 0x3d, 0x17, 0xed, 0xe2, 0xa6, 0x4b, 0xbf, 0xee, 0x67, 0x03, 0xff, 0xe6, + 0x8b, 0xdf, 0xd2, 0x3a, 0x78, 0xc0, 0xcd, 0x79, 0xa6, 0x3e, 0xcc, 0xca, +}; +static const unsigned char kat2819_addin0[] = { + 0xdd, 0x6b, 0x7e, 0x68, 0xe8, 0x0c, 0x0b, 0xf3, 0x51, 0xe5, 0x0e, 0x4e, + 0xfc, 0x66, 0x15, 0x1e, 0x08, 0x43, 0xdf, 0x82, 0x1d, 0x11, 0xf5, 0xc2, + 0xae, 0xcd, 0xad, 0xe8, 0x28, 0x9d, 0x7a, 0x51, 0x75, 0xd4, 0x87, 0xa8, + 0xdd, 0x24, 0x81, 0x3c, 0x6b, 0xf9, 0x7c, 0xf7, 0x3a, 0xa1, 0x4f, 0x33, +}; +static const unsigned char kat2819_addin1[] = { + 0x3a, 0x29, 0xc7, 0xbc, 0xd4, 0x38, 0x79, 0x03, 0x4f, 0xf0, 0x4a, 0x9b, + 0x19, 0x27, 0xd3, 0x8d, 0xcc, 0x17, 0x6f, 0xdb, 0xb5, 0x8e, 0x9c, 0xc2, + 0x3e, 0x00, 0xa1, 0x4c, 0xf5, 0x6f, 0xb2, 0x6c, 0x32, 0xa3, 0x38, 0x34, + 0x4e, 0xa9, 0x7a, 0xaf, 0x41, 0x01, 0x07, 0x80, 0x13, 0x93, 0xf0, 0x77, +}; +static const unsigned char kat2819_retbits[] = { + 0xfe, 0x26, 0x30, 0x9d, 0xcc, 0x58, 0xcd, 0xb6, 0x41, 0xcd, 0xa5, 0x3f, + 0xe4, 0x43, 0x3c, 0x25, 0x06, 0x79, 0x19, 0xe5, 0x55, 0x25, 0xa4, 0xa2, + 0x6c, 0x74, 0x28, 0x30, 0xda, 0xe2, 0x2c, 0x1b, 0xe3, 0xe7, 0xe9, 0x6f, + 0x6f, 0xa5, 0x02, 0xa6, 0xca, 0xbf, 0x6c, 0x79, 0xf3, 0x43, 0x8d, 0xb8, + 0x0d, 0x58, 0x0c, 0x26, 0xe6, 0x75, 0xf9, 0x39, 0xa9, 0x51, 0x83, 0x27, + 0x2c, 0xc8, 0x16, 0xc9, +}; +static const struct drbg_kat_pr_false kat2819_t = { + 13, kat2819_entropyin, kat2819_nonce, kat2819_persstr, + kat2819_entropyinreseed, kat2819_addinreseed, kat2819_addin0, + kat2819_addin1, kat2819_retbits +}; +static const struct drbg_kat kat2819 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2819_t +}; + +static const unsigned char kat2820_entropyin[] = { + 0xa1, 0x9f, 0x8c, 0xfa, 0x22, 0x3a, 0xd1, 0xb2, 0x5d, 0x10, 0x9d, 0x90, + 0x1a, 0x10, 0x61, 0xe8, 0xfb, 0x02, 0x37, 0x59, 0x86, 0x90, 0x65, 0x4c, + 0x83, 0xf1, 0x27, 0x1c, 0xa7, 0xdb, 0x6a, 0x0c, 0x8a, 0x0e, 0x09, 0x3b, + 0x7e, 0x80, 0x31, 0x4f, 0xa6, 0x80, 0x14, 0x39, 0x7c, 0x12, 0xed, 0xea, +}; +static const unsigned char kat2820_nonce[] = {0}; +static const unsigned char kat2820_persstr[] = { + 0xef, 0x6b, 0x17, 0xca, 0x95, 0xa7, 0x4a, 0x72, 0xf1, 0x03, 0x50, 0x06, + 0xc0, 0xb9, 0x94, 0x06, 0xf6, 0xe2, 0xe7, 0xdc, 0xc9, 0x08, 0x92, 0xd0, + 0xf3, 0x1e, 0xd0, 0xab, 0xa7, 0xfa, 0x36, 0x94, 0x45, 0x9c, 0xd3, 0xde, + 0x63, 0x2f, 0xef, 0x04, 0xaf, 0xdc, 0x31, 0xfa, 0x32, 0x6e, 0x42, 0x4a, +}; +static const unsigned char kat2820_entropyinreseed[] = { + 0x12, 0x96, 0x22, 0x7f, 0xec, 0x4c, 0x2b, 0xac, 0x91, 0x44, 0x16, 0xdd, + 0x33, 0xe3, 0x0d, 0xcf, 0x3e, 0x96, 0x4d, 0x64, 0xd2, 0xea, 0x6c, 0x9d, + 0xd3, 0x97, 0xe8, 0x3c, 0x1c, 0x2d, 0xd1, 0x73, 0xbc, 0xea, 0xc9, 0x04, + 0xdf, 0x23, 0x30, 0x98, 0xff, 0x7b, 0x53, 0x19, 0xe8, 0x9b, 0x74, 0x8b, +}; +static const unsigned char kat2820_addinreseed[] = { + 0xa4, 0xfa, 0x86, 0xd5, 0xd2, 0xdd, 0x13, 0x68, 0xa9, 0x3b, 0xdf, 0x19, + 0xe4, 0x07, 0x1e, 0xcf, 0x2d, 0x4f, 0xc3, 0xcb, 0xed, 0x04, 0xf5, 0x44, + 0xfd, 0xb9, 0x61, 0x83, 0xea, 0x5a, 0x55, 0xb9, 0xc2, 0x93, 0x63, 0x6f, + 0xe0, 0x98, 0xe2, 0x71, 0x0d, 0x95, 0x2a, 0x51, 0x1a, 0x36, 0xa6, 0x6d, +}; +static const unsigned char kat2820_addin0[] = { + 0xbd, 0x20, 0x3c, 0xdd, 0x94, 0x30, 0x7b, 0xab, 0x1a, 0x53, 0x73, 0x4a, + 0x3a, 0x45, 0x1f, 0x0b, 0x03, 0x86, 0x14, 0x89, 0x21, 0x86, 0xb2, 0x68, + 0x77, 0xb2, 0xc1, 0xc8, 0x49, 0x2b, 0x03, 0x98, 0x6e, 0x2e, 0xc4, 0xae, + 0xeb, 0x09, 0xd2, 0xe9, 0x06, 0xe7, 0x8c, 0x1c, 0x23, 0x4f, 0xa6, 0x75, +}; +static const unsigned char kat2820_addin1[] = { + 0x63, 0x1c, 0xf0, 0x31, 0x7b, 0x71, 0x3d, 0x07, 0xce, 0x74, 0xf7, 0xb0, + 0x5f, 0xf4, 0xe7, 0xa1, 0x58, 0xc7, 0x69, 0x99, 0x3d, 0x35, 0x73, 0x25, + 0xf8, 0xe9, 0xd1, 0x6b, 0x25, 0x07, 0x6b, 0xc9, 0xb0, 0xfe, 0xbb, 0xbd, + 0x66, 0xbf, 0x23, 0xfb, 0xc9, 0xc2, 0x72, 0x86, 0xdc, 0x16, 0x63, 0xe7, +}; +static const unsigned char kat2820_retbits[] = { + 0x40, 0x11, 0x76, 0x18, 0x5d, 0x33, 0xef, 0x08, 0xd0, 0xb6, 0x5a, 0x5b, + 0x85, 0x3d, 0x57, 0x58, 0x32, 0x50, 0xdd, 0x2e, 0xfa, 0xf4, 0x4c, 0xa0, + 0xf9, 0x87, 0xb4, 0x5f, 0x89, 0xea, 0xfe, 0xb5, 0x2d, 0x2f, 0x43, 0x46, + 0xbf, 0x9b, 0x9d, 0x0b, 0x7d, 0xd4, 0xf7, 0x12, 0x6e, 0x7d, 0x89, 0xdd, + 0x32, 0xf5, 0x3b, 0x73, 0x7c, 0xef, 0x79, 0xab, 0x5d, 0xd0, 0x79, 0x4f, + 0xb8, 0xa4, 0xc8, 0x9d, +}; +static const struct drbg_kat_pr_false kat2820_t = { + 14, kat2820_entropyin, kat2820_nonce, kat2820_persstr, + kat2820_entropyinreseed, kat2820_addinreseed, kat2820_addin0, + kat2820_addin1, kat2820_retbits +}; +static const struct drbg_kat kat2820 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2820_t +}; + +static const unsigned char kat2821_entropyin[] = { + 0xf5, 0x2b, 0x9e, 0x21, 0x16, 0x05, 0x27, 0x7c, 0x77, 0x20, 0xc9, 0xa6, + 0xe2, 0x52, 0x84, 0x6e, 0x54, 0xd9, 0xf1, 0xce, 0x44, 0x2e, 0xd8, 0x91, + 0xc5, 0x8d, 0xba, 0x70, 0xc5, 0x8a, 0x8a, 0x3b, 0x59, 0xbb, 0xac, 0x22, + 0xfa, 0x78, 0xdc, 0x26, 0x83, 0xbe, 0x96, 0x4a, 0x7b, 0x33, 0x49, 0xf3, +}; +static const unsigned char kat2821_nonce[] = {0}; +static const unsigned char kat2821_persstr[] = {0}; +static const unsigned char kat2821_entropyinreseed[] = { + 0xa1, 0x6a, 0xe5, 0x8c, 0x90, 0x0f, 0xd2, 0xc8, 0x94, 0x45, 0xd6, 0xb1, + 0x77, 0x5b, 0x4e, 0xd8, 0x79, 0xb9, 0x18, 0xa5, 0x77, 0x62, 0x26, 0x87, + 0xe5, 0xe7, 0x66, 0x85, 0xf0, 0x5d, 0x04, 0x26, 0x50, 0x58, 0x28, 0x6a, + 0x1a, 0x42, 0x79, 0x4a, 0xbe, 0x44, 0xca, 0x79, 0x8e, 0x32, 0xed, 0xa1, +}; +static const unsigned char kat2821_addinreseed[] = {0}; +static const unsigned char kat2821_addin0[] = {0}; +static const unsigned char kat2821_addin1[] = {0}; +static const unsigned char kat2821_retbits[] = { + 0x5d, 0x25, 0x44, 0x95, 0x1b, 0x74, 0xe0, 0x9b, 0x86, 0x01, 0xc1, 0x9c, + 0x99, 0x30, 0x17, 0x84, 0x93, 0x8c, 0x59, 0x5b, 0x4d, 0xb3, 0xb2, 0xdf, + 0x47, 0x4b, 0x10, 0xca, 0xad, 0x9e, 0x49, 0x30, 0xe1, 0xf0, 0x10, 0x76, + 0x62, 0x40, 0x8e, 0xc3, 0x74, 0xdd, 0xee, 0x05, 0xd8, 0x45, 0x21, 0xe3, + 0xe9, 0xea, 0x7d, 0x21, 0x14, 0xf0, 0x3f, 0x9a, 0x9a, 0x92, 0xad, 0xa6, + 0x25, 0x3c, 0xc3, 0xe5, +}; +static const struct drbg_kat_pr_false kat2821_t = { + 0, kat2821_entropyin, kat2821_nonce, kat2821_persstr, + kat2821_entropyinreseed, kat2821_addinreseed, kat2821_addin0, + kat2821_addin1, kat2821_retbits +}; +static const struct drbg_kat kat2821 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2821_t +}; + +static const unsigned char kat2822_entropyin[] = { + 0xcf, 0x1d, 0xe6, 0x1c, 0xff, 0xd8, 0xed, 0x4e, 0x6e, 0xbe, 0x72, 0x46, + 0xef, 0x18, 0x55, 0x57, 0x03, 0x97, 0x92, 0xeb, 0xcb, 0x75, 0x08, 0x1b, + 0xa3, 0xf4, 0x7f, 0xe4, 0xee, 0x44, 0x2b, 0x73, 0x32, 0x74, 0xf4, 0x20, + 0x24, 0xd2, 0x4d, 0x2e, 0x19, 0x94, 0x0d, 0x88, 0xab, 0xcf, 0xfe, 0x40, +}; +static const unsigned char kat2822_nonce[] = {0}; +static const unsigned char kat2822_persstr[] = {0}; +static const unsigned char kat2822_entropyinreseed[] = { + 0xa5, 0x4d, 0x64, 0x42, 0x1d, 0xab, 0x04, 0x66, 0x06, 0xe1, 0x67, 0xc8, + 0x62, 0xe5, 0x57, 0xa4, 0xd4, 0xa8, 0xd5, 0xb4, 0xe8, 0x6f, 0x2b, 0x26, + 0x9f, 0x83, 0x36, 0xaf, 0x20, 0xd3, 0x3d, 0x5a, 0xc5, 0x31, 0x22, 0x92, + 0x79, 0x04, 0x9e, 0x40, 0x4c, 0x74, 0x95, 0x6b, 0x75, 0x37, 0x47, 0xb0, +}; +static const unsigned char kat2822_addinreseed[] = {0}; +static const unsigned char kat2822_addin0[] = {0}; +static const unsigned char kat2822_addin1[] = {0}; +static const unsigned char kat2822_retbits[] = { + 0x69, 0x21, 0x65, 0xd9, 0x93, 0x65, 0xee, 0x68, 0x3b, 0x71, 0x48, 0xf7, + 0x05, 0x0a, 0x0a, 0xbf, 0x2c, 0x36, 0x93, 0xb7, 0x77, 0x25, 0xd2, 0xba, + 0xbe, 0xa7, 0x1f, 0xb7, 0x16, 0x5b, 0xf7, 0x49, 0x8e, 0x03, 0xea, 0x82, + 0x00, 0xe5, 0xc5, 0x0f, 0xbc, 0x6b, 0xbc, 0xdc, 0x77, 0x49, 0x9f, 0x54, + 0x21, 0x38, 0x5a, 0x09, 0xbb, 0xc6, 0x92, 0x38, 0x27, 0xa3, 0x28, 0xee, + 0x49, 0x14, 0x31, 0xe6, +}; +static const struct drbg_kat_pr_false kat2822_t = { + 1, kat2822_entropyin, kat2822_nonce, kat2822_persstr, + kat2822_entropyinreseed, kat2822_addinreseed, kat2822_addin0, + kat2822_addin1, kat2822_retbits +}; +static const struct drbg_kat kat2822 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2822_t +}; + +static const unsigned char kat2823_entropyin[] = { + 0xbd, 0xf7, 0x42, 0x92, 0x60, 0xef, 0x6f, 0xc8, 0xa3, 0x81, 0x73, 0x68, + 0xfb, 0x72, 0xca, 0x1b, 0xcc, 0x05, 0x74, 0xbd, 0x53, 0x61, 0xd6, 0xf3, + 0x04, 0x31, 0x18, 0x7b, 0xec, 0x83, 0xc5, 0x2c, 0x66, 0x7f, 0x12, 0xfe, + 0xe1, 0x92, 0xc2, 0xfd, 0x91, 0x1b, 0x6f, 0x9d, 0xee, 0xe3, 0x8f, 0x30, +}; +static const unsigned char kat2823_nonce[] = {0}; +static const unsigned char kat2823_persstr[] = {0}; +static const unsigned char kat2823_entropyinreseed[] = { + 0xb6, 0x69, 0x8f, 0x96, 0x46, 0x31, 0x2c, 0xca, 0xb3, 0x03, 0x44, 0xf8, + 0xb5, 0xe8, 0x35, 0xaa, 0x47, 0xab, 0xd8, 0x3b, 0xf1, 0xc4, 0x0c, 0x3e, + 0xc4, 0x88, 0x34, 0xeb, 0xa6, 0x8e, 0x50, 0xba, 0xf5, 0x2e, 0x41, 0x77, + 0xa2, 0x15, 0xdc, 0x90, 0xf9, 0xe8, 0x76, 0x15, 0x62, 0xbe, 0xfb, 0xac, +}; +static const unsigned char kat2823_addinreseed[] = {0}; +static const unsigned char kat2823_addin0[] = {0}; +static const unsigned char kat2823_addin1[] = {0}; +static const unsigned char kat2823_retbits[] = { + 0x7d, 0xb8, 0x6c, 0x35, 0xf0, 0xa6, 0x94, 0xaa, 0xca, 0x6c, 0x09, 0x7b, + 0x18, 0x16, 0x42, 0x4d, 0x18, 0x33, 0xee, 0xc2, 0x00, 0xd1, 0x8a, 0x1e, + 0xf6, 0xcf, 0xc4, 0x9a, 0xb5, 0xff, 0x44, 0x4e, 0x3b, 0xb6, 0x06, 0x4f, + 0xf1, 0xcb, 0x6b, 0x1d, 0x63, 0xdd, 0xab, 0x2a, 0x2b, 0x8c, 0x18, 0xa1, + 0x1c, 0x4c, 0xcc, 0x3c, 0x41, 0x9e, 0x10, 0x6a, 0x03, 0xff, 0x57, 0xc9, + 0x07, 0xf7, 0xa7, 0x69, +}; +static const struct drbg_kat_pr_false kat2823_t = { + 2, kat2823_entropyin, kat2823_nonce, kat2823_persstr, + kat2823_entropyinreseed, kat2823_addinreseed, kat2823_addin0, + kat2823_addin1, kat2823_retbits +}; +static const struct drbg_kat kat2823 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2823_t +}; + +static const unsigned char kat2824_entropyin[] = { + 0xf1, 0xc7, 0x1c, 0x38, 0x5e, 0xf4, 0xc9, 0xb1, 0x55, 0xde, 0x46, 0xa8, + 0x85, 0x2a, 0xd8, 0x96, 0x22, 0x33, 0x72, 0xef, 0x8d, 0xb0, 0x6c, 0x1a, + 0x5a, 0xc4, 0xc8, 0x7a, 0x56, 0x13, 0x31, 0xe9, 0x23, 0x29, 0x96, 0xb5, + 0x48, 0xa7, 0xe7, 0x97, 0xe3, 0x4d, 0xfc, 0x0a, 0x06, 0x39, 0x83, 0x4a, +}; +static const unsigned char kat2824_nonce[] = {0}; +static const unsigned char kat2824_persstr[] = {0}; +static const unsigned char kat2824_entropyinreseed[] = { + 0x4c, 0x27, 0x5f, 0xc8, 0xce, 0x30, 0x10, 0x4b, 0x6b, 0x4e, 0x4c, 0x16, + 0xe2, 0x11, 0x99, 0xd3, 0xcb, 0xbb, 0xf7, 0x39, 0x3c, 0x05, 0x4c, 0x89, + 0xcb, 0x9c, 0x3b, 0x85, 0xe5, 0xaf, 0x5a, 0xb2, 0x5a, 0x26, 0x50, 0x23, + 0x09, 0x20, 0x2e, 0x8d, 0x78, 0xc1, 0xd3, 0x07, 0x40, 0x97, 0x3d, 0x0a, +}; +static const unsigned char kat2824_addinreseed[] = {0}; +static const unsigned char kat2824_addin0[] = {0}; +static const unsigned char kat2824_addin1[] = {0}; +static const unsigned char kat2824_retbits[] = { + 0xc7, 0xa9, 0x2d, 0xfd, 0x51, 0x94, 0x88, 0xb5, 0xf4, 0xaa, 0xcc, 0x42, + 0xd7, 0x04, 0x14, 0x6c, 0x72, 0x19, 0xf3, 0x3f, 0xf3, 0xb9, 0x30, 0xd4, + 0xfe, 0xd2, 0x28, 0x27, 0xef, 0x7d, 0xf2, 0x87, 0xe7, 0x1e, 0x0c, 0x72, + 0xca, 0xdd, 0x8f, 0xae, 0x20, 0xff, 0x0e, 0x05, 0x83, 0x08, 0xf4, 0x88, + 0xfc, 0x45, 0x1c, 0x3b, 0xec, 0x0d, 0x85, 0x48, 0x8d, 0x2b, 0x81, 0xf2, + 0xec, 0xd3, 0x2e, 0x2f, +}; +static const struct drbg_kat_pr_false kat2824_t = { + 3, kat2824_entropyin, kat2824_nonce, kat2824_persstr, + kat2824_entropyinreseed, kat2824_addinreseed, kat2824_addin0, + kat2824_addin1, kat2824_retbits +}; +static const struct drbg_kat kat2824 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2824_t +}; + +static const unsigned char kat2825_entropyin[] = { + 0x29, 0xa1, 0x00, 0xa2, 0x9a, 0x00, 0x2c, 0x98, 0xf3, 0xf5, 0xe8, 0x17, + 0x0d, 0x73, 0x1c, 0xc3, 0xfd, 0x2d, 0x8f, 0xdb, 0x4a, 0x3c, 0x68, 0x79, + 0x05, 0x7f, 0x88, 0xf9, 0x6f, 0xf7, 0xf6, 0x6f, 0x08, 0x5b, 0xb2, 0xd3, + 0x09, 0x57, 0xaa, 0x0d, 0xb7, 0x8a, 0x4e, 0xd2, 0x47, 0xa9, 0x39, 0xc9, +}; +static const unsigned char kat2825_nonce[] = {0}; +static const unsigned char kat2825_persstr[] = {0}; +static const unsigned char kat2825_entropyinreseed[] = { + 0x5e, 0x98, 0xaf, 0x56, 0xd5, 0x06, 0x6c, 0x99, 0xf1, 0x85, 0x01, 0x5e, + 0xb8, 0xe3, 0x6c, 0xc4, 0x35, 0x69, 0x0e, 0x96, 0x5f, 0xea, 0x9d, 0x2e, + 0xca, 0x10, 0xbf, 0xf1, 0x47, 0xc1, 0x8a, 0x2c, 0x06, 0x75, 0x5d, 0x7e, + 0x0c, 0xeb, 0x9c, 0x22, 0x03, 0xd6, 0xd4, 0x8e, 0xe5, 0x3e, 0xc0, 0xc4, +}; +static const unsigned char kat2825_addinreseed[] = {0}; +static const unsigned char kat2825_addin0[] = {0}; +static const unsigned char kat2825_addin1[] = {0}; +static const unsigned char kat2825_retbits[] = { + 0x92, 0x45, 0xcb, 0x55, 0x8f, 0x4d, 0xd7, 0xdd, 0x7c, 0xb4, 0x48, 0xfc, + 0x13, 0x10, 0xcf, 0x58, 0xcb, 0xd1, 0x8e, 0xa6, 0xd9, 0xc5, 0x89, 0x53, + 0xe3, 0xa8, 0x22, 0x21, 0xcb, 0x49, 0xa9, 0xa5, 0xaf, 0xd0, 0x2d, 0xfc, + 0xc8, 0x6f, 0xc4, 0x25, 0x84, 0xfb, 0x9c, 0xc1, 0xe2, 0x3c, 0x24, 0x83, + 0xbb, 0xc6, 0x1a, 0x4b, 0x14, 0x6b, 0x1c, 0x71, 0x93, 0x70, 0x5b, 0xfa, + 0x50, 0xfd, 0x67, 0xa0, +}; +static const struct drbg_kat_pr_false kat2825_t = { + 4, kat2825_entropyin, kat2825_nonce, kat2825_persstr, + kat2825_entropyinreseed, kat2825_addinreseed, kat2825_addin0, + kat2825_addin1, kat2825_retbits +}; +static const struct drbg_kat kat2825 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2825_t +}; + +static const unsigned char kat2826_entropyin[] = { + 0xa8, 0x07, 0x0c, 0xe6, 0xe7, 0x69, 0xff, 0x82, 0xe9, 0x0b, 0x9a, 0xe0, + 0xae, 0x91, 0x42, 0x0e, 0xf1, 0xc4, 0x61, 0x89, 0x37, 0xfe, 0x00, 0x6d, + 0x17, 0x99, 0x81, 0xff, 0xce, 0x04, 0xaf, 0xeb, 0x7f, 0x98, 0x82, 0x09, + 0x12, 0x51, 0x2a, 0xe4, 0x8d, 0x7e, 0x3c, 0xd2, 0xbe, 0x80, 0xda, 0x46, +}; +static const unsigned char kat2826_nonce[] = {0}; +static const unsigned char kat2826_persstr[] = {0}; +static const unsigned char kat2826_entropyinreseed[] = { + 0x3b, 0x14, 0x19, 0x7c, 0x3e, 0xaf, 0x4f, 0x3c, 0x7f, 0xd1, 0xd7, 0x5c, + 0xac, 0xcf, 0xfc, 0xa2, 0x07, 0x08, 0x3d, 0xab, 0x30, 0xcf, 0x31, 0xe0, + 0x14, 0x05, 0x61, 0x74, 0x08, 0x3a, 0xe2, 0xbf, 0x3c, 0xa8, 0x31, 0x95, + 0xfd, 0xe7, 0xd2, 0xed, 0x47, 0xa4, 0xbc, 0x77, 0xe9, 0x0b, 0x42, 0x04, +}; +static const unsigned char kat2826_addinreseed[] = {0}; +static const unsigned char kat2826_addin0[] = {0}; +static const unsigned char kat2826_addin1[] = {0}; +static const unsigned char kat2826_retbits[] = { + 0xbd, 0xc7, 0x46, 0x2f, 0x1b, 0xcd, 0x82, 0xe4, 0x05, 0x02, 0x2a, 0x5e, + 0xe5, 0x83, 0x45, 0xef, 0xfd, 0x90, 0xe4, 0x9a, 0x8f, 0x15, 0xbc, 0x1c, + 0xb1, 0xf7, 0xf5, 0x67, 0xab, 0x26, 0xdc, 0x05, 0x77, 0xce, 0xa1, 0xa9, + 0xc7, 0xe4, 0x63, 0xa8, 0x1a, 0xcd, 0xbf, 0x62, 0x90, 0x6b, 0x25, 0x65, + 0xe8, 0xbc, 0xb1, 0x6e, 0x19, 0x50, 0x30, 0xae, 0xf3, 0xd2, 0xcd, 0x60, + 0xfa, 0x98, 0x7a, 0x60, +}; +static const struct drbg_kat_pr_false kat2826_t = { + 5, kat2826_entropyin, kat2826_nonce, kat2826_persstr, + kat2826_entropyinreseed, kat2826_addinreseed, kat2826_addin0, + kat2826_addin1, kat2826_retbits +}; +static const struct drbg_kat kat2826 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2826_t +}; + +static const unsigned char kat2827_entropyin[] = { + 0x4c, 0x0d, 0x49, 0x89, 0xe2, 0x84, 0xff, 0xe3, 0x8f, 0x1a, 0x04, 0x58, + 0x18, 0x6e, 0x00, 0x78, 0x76, 0xda, 0xf4, 0x0c, 0x2e, 0xe7, 0x55, 0xec, + 0xcc, 0xb0, 0x9c, 0xb0, 0xdb, 0x7f, 0x49, 0x7f, 0x9b, 0x3a, 0x80, 0xba, + 0x78, 0x42, 0x6b, 0x04, 0x9c, 0x0c, 0xf7, 0x76, 0x6e, 0x1b, 0xd1, 0x29, +}; +static const unsigned char kat2827_nonce[] = {0}; +static const unsigned char kat2827_persstr[] = {0}; +static const unsigned char kat2827_entropyinreseed[] = { + 0xf4, 0xcb, 0x57, 0x00, 0x14, 0x5e, 0x33, 0x70, 0x01, 0x1f, 0x5d, 0x1b, + 0x0c, 0x10, 0x4e, 0xc3, 0x6f, 0x12, 0x40, 0xab, 0x58, 0x71, 0x22, 0x6c, + 0xe4, 0xde, 0x0e, 0x38, 0x62, 0xd9, 0x43, 0x2c, 0x74, 0x9e, 0x6f, 0x04, + 0xb5, 0x70, 0x8c, 0xdf, 0x24, 0xc0, 0xca, 0xf4, 0x91, 0x9e, 0x15, 0x20, +}; +static const unsigned char kat2827_addinreseed[] = {0}; +static const unsigned char kat2827_addin0[] = {0}; +static const unsigned char kat2827_addin1[] = {0}; +static const unsigned char kat2827_retbits[] = { + 0xa9, 0x36, 0xe1, 0x17, 0x9b, 0xa7, 0x5b, 0x2f, 0x3f, 0xab, 0x69, 0x03, + 0xec, 0x11, 0x61, 0xc8, 0x7b, 0x6e, 0x12, 0x44, 0x85, 0x2f, 0xb0, 0x61, + 0x32, 0x42, 0x99, 0x64, 0x51, 0x05, 0xbf, 0x5e, 0x38, 0xb6, 0x7c, 0x59, + 0x41, 0x20, 0x0e, 0xa5, 0xe6, 0xef, 0x29, 0x62, 0xec, 0xcc, 0xfe, 0x05, + 0x16, 0xe2, 0x03, 0x14, 0xf8, 0x3e, 0xe5, 0x81, 0x5a, 0x92, 0x5d, 0x70, + 0x26, 0x96, 0x5e, 0x00, +}; +static const struct drbg_kat_pr_false kat2827_t = { + 6, kat2827_entropyin, kat2827_nonce, kat2827_persstr, + kat2827_entropyinreseed, kat2827_addinreseed, kat2827_addin0, + kat2827_addin1, kat2827_retbits +}; +static const struct drbg_kat kat2827 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2827_t +}; + +static const unsigned char kat2828_entropyin[] = { + 0x62, 0x16, 0x63, 0xb9, 0xaa, 0x2f, 0x9f, 0x7f, 0xf6, 0x1e, 0x8d, 0xb0, + 0xd9, 0x90, 0x07, 0xea, 0x98, 0x19, 0xb5, 0x0a, 0xd4, 0x87, 0x64, 0x39, + 0xd6, 0x6f, 0xdf, 0xc5, 0x4b, 0xf1, 0x74, 0xfa, 0x74, 0x0f, 0xd6, 0xe1, + 0xd2, 0x29, 0x2b, 0x11, 0x95, 0xb3, 0x7d, 0x58, 0x4a, 0x7b, 0x46, 0x06, +}; +static const unsigned char kat2828_nonce[] = {0}; +static const unsigned char kat2828_persstr[] = {0}; +static const unsigned char kat2828_entropyinreseed[] = { + 0xf2, 0x47, 0x3f, 0xd7, 0x41, 0x86, 0xf1, 0x3d, 0x6d, 0x59, 0x9b, 0xf2, + 0x32, 0x68, 0x0f, 0x4d, 0xae, 0x2e, 0x8c, 0xe6, 0x9d, 0xaf, 0xd2, 0xdd, + 0x2a, 0x6b, 0x2b, 0x2b, 0x13, 0xdd, 0x0b, 0x2f, 0x6d, 0xc8, 0xcd, 0x43, + 0x61, 0x36, 0x21, 0x5e, 0xfb, 0x27, 0xbd, 0xd5, 0x30, 0xf9, 0x28, 0x10, +}; +static const unsigned char kat2828_addinreseed[] = {0}; +static const unsigned char kat2828_addin0[] = {0}; +static const unsigned char kat2828_addin1[] = {0}; +static const unsigned char kat2828_retbits[] = { + 0x9b, 0xbe, 0x30, 0x86, 0x8c, 0x8d, 0x86, 0xd0, 0x08, 0xc4, 0xf1, 0xbf, + 0x18, 0x05, 0x2c, 0x73, 0xa5, 0xc3, 0x6c, 0x06, 0x2c, 0x05, 0x57, 0xf6, + 0xee, 0x41, 0x76, 0xbc, 0xf3, 0x08, 0xb7, 0x74, 0x11, 0x42, 0x1c, 0xef, + 0x0c, 0x4c, 0x24, 0xa7, 0x40, 0xca, 0x31, 0xa4, 0x92, 0x1a, 0x86, 0x94, + 0x4d, 0xa2, 0xb5, 0x4d, 0x9d, 0x29, 0xc2, 0xd3, 0xb5, 0x3a, 0xd1, 0x7b, + 0xfa, 0x9c, 0x80, 0x8c, +}; +static const struct drbg_kat_pr_false kat2828_t = { + 7, kat2828_entropyin, kat2828_nonce, kat2828_persstr, + kat2828_entropyinreseed, kat2828_addinreseed, kat2828_addin0, + kat2828_addin1, kat2828_retbits +}; +static const struct drbg_kat kat2828 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2828_t +}; + +static const unsigned char kat2829_entropyin[] = { + 0x3e, 0x9c, 0x7a, 0xa2, 0xbb, 0x18, 0x21, 0x39, 0x33, 0xc7, 0xc6, 0xf2, + 0x23, 0x23, 0xbc, 0x29, 0xbb, 0x94, 0xae, 0xd2, 0x4f, 0xa2, 0xfa, 0xa7, + 0xca, 0xa5, 0x72, 0xc8, 0x6c, 0x10, 0x9f, 0x22, 0x47, 0xde, 0x31, 0x73, + 0x47, 0x98, 0x93, 0xfe, 0xa3, 0x25, 0xdc, 0x12, 0xc8, 0x36, 0x32, 0x44, +}; +static const unsigned char kat2829_nonce[] = {0}; +static const unsigned char kat2829_persstr[] = {0}; +static const unsigned char kat2829_entropyinreseed[] = { + 0x43, 0x56, 0xac, 0xee, 0x8a, 0x2f, 0x6d, 0x5b, 0xae, 0x66, 0x2d, 0x5e, + 0xd8, 0x95, 0x7b, 0xae, 0x47, 0xde, 0x31, 0xa9, 0x06, 0x1c, 0xd9, 0x5e, + 0x8e, 0x56, 0x7b, 0x74, 0xe5, 0x86, 0x80, 0x62, 0x29, 0x86, 0x14, 0x2f, + 0xd2, 0x99, 0xbf, 0x15, 0xa5, 0x07, 0x6a, 0x07, 0x36, 0x5b, 0xfe, 0x00, +}; +static const unsigned char kat2829_addinreseed[] = {0}; +static const unsigned char kat2829_addin0[] = {0}; +static const unsigned char kat2829_addin1[] = {0}; +static const unsigned char kat2829_retbits[] = { + 0x95, 0xa8, 0x5a, 0x17, 0x6a, 0xfa, 0xd0, 0x6e, 0x24, 0x5c, 0x50, 0xe5, + 0x96, 0x64, 0x1e, 0x15, 0xfd, 0x5d, 0x9d, 0xfa, 0x02, 0x42, 0x8b, 0xf8, + 0xdd, 0xb2, 0xa4, 0x49, 0x10, 0x6e, 0xe0, 0xf9, 0x28, 0x15, 0x53, 0x43, + 0xa6, 0xea, 0x69, 0xdc, 0xed, 0xe1, 0x4a, 0x71, 0x1c, 0x0c, 0x74, 0xb0, + 0xab, 0x23, 0x2d, 0xb7, 0xf4, 0xe6, 0x71, 0x14, 0x51, 0x4a, 0x2f, 0xbe, + 0x34, 0xa1, 0xce, 0x38, +}; +static const struct drbg_kat_pr_false kat2829_t = { + 8, kat2829_entropyin, kat2829_nonce, kat2829_persstr, + kat2829_entropyinreseed, kat2829_addinreseed, kat2829_addin0, + kat2829_addin1, kat2829_retbits +}; +static const struct drbg_kat kat2829 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2829_t +}; + +static const unsigned char kat2830_entropyin[] = { + 0xfa, 0x3c, 0xcd, 0xae, 0x46, 0x15, 0x78, 0xa2, 0x89, 0xed, 0xdb, 0x41, + 0x3c, 0xc8, 0x7a, 0x89, 0xdc, 0x67, 0x64, 0x8c, 0xd5, 0x24, 0x45, 0x56, + 0x3a, 0x7b, 0x3b, 0x47, 0xa8, 0x7c, 0x89, 0x33, 0x75, 0x03, 0x27, 0x15, + 0x11, 0xc7, 0x50, 0x35, 0xd9, 0x39, 0xbc, 0x50, 0x09, 0x8e, 0xd1, 0xcf, +}; +static const unsigned char kat2830_nonce[] = {0}; +static const unsigned char kat2830_persstr[] = {0}; +static const unsigned char kat2830_entropyinreseed[] = { + 0x35, 0x7a, 0x52, 0x86, 0x74, 0x50, 0xca, 0xde, 0xde, 0xfc, 0xc9, 0x3b, + 0x2e, 0x73, 0x00, 0x34, 0xa6, 0x43, 0xb9, 0xfd, 0xd0, 0x99, 0xb9, 0x84, + 0x9e, 0x81, 0x5a, 0x74, 0x37, 0xdb, 0xe3, 0x3e, 0x19, 0xb6, 0xa2, 0x82, + 0x6f, 0xa7, 0xff, 0xb5, 0xd7, 0xb9, 0xe5, 0x12, 0x22, 0x48, 0x4e, 0x44, +}; +static const unsigned char kat2830_addinreseed[] = {0}; +static const unsigned char kat2830_addin0[] = {0}; +static const unsigned char kat2830_addin1[] = {0}; +static const unsigned char kat2830_retbits[] = { + 0xd0, 0x97, 0x06, 0x2e, 0xe8, 0x06, 0xdc, 0xe8, 0xb2, 0x4c, 0xdb, 0x36, + 0xa1, 0x7e, 0x7c, 0x38, 0x7d, 0x4f, 0x78, 0x13, 0x39, 0xce, 0x87, 0xcb, + 0xb8, 0x91, 0x64, 0xaf, 0x15, 0xee, 0xd2, 0x20, 0x89, 0xf8, 0x3a, 0xe0, + 0xa3, 0x71, 0xd3, 0x66, 0x2e, 0xab, 0x2b, 0xdd, 0xca, 0x6b, 0xa0, 0x59, + 0x5d, 0xb1, 0x63, 0x32, 0x6d, 0x97, 0x1a, 0x36, 0x3d, 0xff, 0xef, 0x05, + 0x3b, 0x35, 0x7f, 0xcf, +}; +static const struct drbg_kat_pr_false kat2830_t = { + 9, kat2830_entropyin, kat2830_nonce, kat2830_persstr, + kat2830_entropyinreseed, kat2830_addinreseed, kat2830_addin0, + kat2830_addin1, kat2830_retbits +}; +static const struct drbg_kat kat2830 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2830_t +}; + +static const unsigned char kat2831_entropyin[] = { + 0xd5, 0x4e, 0x0e, 0x09, 0x6b, 0xff, 0xa6, 0x12, 0x1e, 0xec, 0xa0, 0xf8, + 0x15, 0x32, 0xea, 0xa0, 0xd3, 0xd1, 0xd9, 0x83, 0x61, 0x88, 0x3c, 0xcd, + 0x51, 0x6a, 0xb0, 0xdc, 0xcf, 0x7b, 0x0b, 0xfa, 0xa1, 0xb4, 0x38, 0x39, + 0xa1, 0x48, 0x4d, 0x15, 0xd2, 0x70, 0x62, 0x96, 0xe2, 0xad, 0x80, 0x36, +}; +static const unsigned char kat2831_nonce[] = {0}; +static const unsigned char kat2831_persstr[] = {0}; +static const unsigned char kat2831_entropyinreseed[] = { + 0x43, 0x27, 0x6e, 0x93, 0xb3, 0xfc, 0x7c, 0xfb, 0x49, 0x62, 0xd7, 0xb6, + 0x46, 0x50, 0x96, 0xaf, 0xfd, 0x5c, 0x1f, 0xe1, 0x22, 0x8f, 0xbe, 0xcc, + 0xb3, 0x2e, 0x93, 0xc2, 0x70, 0x46, 0x24, 0xab, 0x7d, 0x4d, 0x88, 0xf8, + 0x0f, 0x04, 0xb8, 0x1d, 0x2e, 0x44, 0x82, 0xdf, 0x6d, 0x4f, 0x94, 0xbe, +}; +static const unsigned char kat2831_addinreseed[] = {0}; +static const unsigned char kat2831_addin0[] = {0}; +static const unsigned char kat2831_addin1[] = {0}; +static const unsigned char kat2831_retbits[] = { + 0x54, 0xd2, 0x8f, 0xe0, 0x68, 0xbe, 0x42, 0xe8, 0x80, 0xfe, 0x2f, 0x0d, + 0x60, 0xa5, 0x2f, 0x9f, 0x9e, 0x6a, 0xb1, 0xd2, 0x2f, 0x11, 0x61, 0xea, + 0x55, 0x89, 0x27, 0x32, 0xe1, 0x92, 0x52, 0xe4, 0x8a, 0xec, 0x60, 0x0a, + 0x95, 0xaf, 0x17, 0xce, 0xed, 0x15, 0xaa, 0xf1, 0xc9, 0x93, 0x72, 0x6e, + 0x1a, 0xb0, 0x2d, 0x82, 0x15, 0x18, 0x4c, 0xe8, 0xde, 0x00, 0xc1, 0x38, + 0xa7, 0x9f, 0x67, 0x2c, +}; +static const struct drbg_kat_pr_false kat2831_t = { + 10, kat2831_entropyin, kat2831_nonce, kat2831_persstr, + kat2831_entropyinreseed, kat2831_addinreseed, kat2831_addin0, + kat2831_addin1, kat2831_retbits +}; +static const struct drbg_kat kat2831 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2831_t +}; + +static const unsigned char kat2832_entropyin[] = { + 0x05, 0x5e, 0xda, 0x65, 0x80, 0x19, 0xbe, 0x58, 0x47, 0xba, 0xaa, 0xd8, + 0x7f, 0xe2, 0x90, 0xc3, 0x7c, 0x05, 0x0b, 0xe4, 0xdb, 0xef, 0x1b, 0x07, + 0x08, 0x34, 0x49, 0xc9, 0xc8, 0x4d, 0xfd, 0x6d, 0xf4, 0xb6, 0x67, 0xea, + 0x92, 0x88, 0x3b, 0xe5, 0xe7, 0x16, 0x37, 0xa7, 0x24, 0x18, 0xc5, 0xb9, +}; +static const unsigned char kat2832_nonce[] = {0}; +static const unsigned char kat2832_persstr[] = {0}; +static const unsigned char kat2832_entropyinreseed[] = { + 0xc8, 0xda, 0x53, 0x7f, 0xdc, 0x88, 0xc0, 0x20, 0x2c, 0x6d, 0x58, 0xd3, + 0xf7, 0xfc, 0x0f, 0x00, 0x5e, 0xf5, 0xa5, 0xb3, 0x51, 0x75, 0x82, 0x65, + 0xa5, 0x29, 0xc5, 0x50, 0x67, 0xcf, 0x0d, 0xd3, 0xd3, 0x30, 0x8e, 0x7a, + 0x5c, 0x43, 0xb6, 0x83, 0xee, 0xbf, 0xf0, 0x1f, 0xb9, 0x13, 0x47, 0xa7, +}; +static const unsigned char kat2832_addinreseed[] = {0}; +static const unsigned char kat2832_addin0[] = {0}; +static const unsigned char kat2832_addin1[] = {0}; +static const unsigned char kat2832_retbits[] = { + 0xd9, 0x18, 0xe2, 0x05, 0x31, 0x86, 0x96, 0x62, 0x1a, 0x86, 0x71, 0xa8, + 0xf4, 0x22, 0x36, 0xa5, 0x23, 0x08, 0x30, 0xbb, 0x61, 0xfe, 0xb7, 0x14, + 0x6d, 0x22, 0xd8, 0xb8, 0x9d, 0x29, 0x71, 0x5a, 0x5a, 0xc1, 0x77, 0x45, + 0x37, 0xaa, 0x9a, 0x50, 0xe5, 0x70, 0x99, 0x14, 0xd1, 0x33, 0x42, 0xd7, + 0x68, 0xfe, 0x86, 0xa9, 0xbc, 0xef, 0x35, 0x3c, 0x30, 0xac, 0x88, 0xaa, + 0x16, 0xae, 0x19, 0x69, +}; +static const struct drbg_kat_pr_false kat2832_t = { + 11, kat2832_entropyin, kat2832_nonce, kat2832_persstr, + kat2832_entropyinreseed, kat2832_addinreseed, kat2832_addin0, + kat2832_addin1, kat2832_retbits +}; +static const struct drbg_kat kat2832 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2832_t +}; + +static const unsigned char kat2833_entropyin[] = { + 0x09, 0xa1, 0xd2, 0x88, 0x57, 0x22, 0x4e, 0x96, 0xd7, 0xb2, 0x2c, 0xab, + 0x8f, 0x18, 0x54, 0x38, 0xc0, 0xe8, 0x76, 0x47, 0x88, 0x58, 0x2a, 0x79, + 0xed, 0xe7, 0x0d, 0x78, 0xb2, 0x28, 0x7a, 0x9a, 0xea, 0x82, 0x9e, 0x25, + 0x40, 0x61, 0x72, 0xa9, 0x08, 0xdc, 0x5a, 0x15, 0xfb, 0x8a, 0x8e, 0x20, +}; +static const unsigned char kat2833_nonce[] = {0}; +static const unsigned char kat2833_persstr[] = {0}; +static const unsigned char kat2833_entropyinreseed[] = { + 0x26, 0x85, 0x90, 0x27, 0xff, 0x5b, 0x50, 0x97, 0xf4, 0x1e, 0x66, 0xb5, + 0x2f, 0x36, 0x89, 0xdd, 0x82, 0x9f, 0x13, 0x9b, 0xf5, 0xed, 0x79, 0xa5, + 0xc4, 0x05, 0x27, 0x95, 0xd1, 0xb8, 0x67, 0x6d, 0x0b, 0xb7, 0x01, 0x9a, + 0x55, 0x1d, 0xd5, 0x9a, 0x65, 0xac, 0x02, 0x98, 0xe7, 0x1c, 0x1c, 0x1f, +}; +static const unsigned char kat2833_addinreseed[] = {0}; +static const unsigned char kat2833_addin0[] = {0}; +static const unsigned char kat2833_addin1[] = {0}; +static const unsigned char kat2833_retbits[] = { + 0xe4, 0xda, 0x2f, 0x0a, 0xf6, 0x00, 0xc7, 0x86, 0x65, 0x26, 0x88, 0x82, + 0xea, 0x07, 0xed, 0x63, 0x22, 0xd7, 0x36, 0x9d, 0x04, 0x14, 0x8a, 0x7c, + 0xd7, 0x84, 0x79, 0x52, 0xed, 0x7e, 0x6a, 0x89, 0x4e, 0x3f, 0x1f, 0x4c, + 0x2d, 0x4d, 0x76, 0x8f, 0x5a, 0x7f, 0xd4, 0x03, 0x32, 0xda, 0xbd, 0xd8, + 0x8a, 0xfb, 0x23, 0x84, 0x57, 0x3a, 0xfb, 0xb6, 0xd7, 0x9e, 0x0b, 0x3c, + 0x3e, 0x8d, 0x4f, 0x9a, +}; +static const struct drbg_kat_pr_false kat2833_t = { + 12, kat2833_entropyin, kat2833_nonce, kat2833_persstr, + kat2833_entropyinreseed, kat2833_addinreseed, kat2833_addin0, + kat2833_addin1, kat2833_retbits +}; +static const struct drbg_kat kat2833 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2833_t +}; + +static const unsigned char kat2834_entropyin[] = { + 0xa4, 0x44, 0x67, 0x88, 0xf2, 0x43, 0x69, 0x1c, 0xda, 0x9a, 0xd6, 0x92, + 0x0e, 0x44, 0x30, 0xf9, 0x46, 0x9e, 0x58, 0xe8, 0x37, 0xb8, 0x01, 0xce, + 0xbe, 0x0f, 0x8d, 0x5c, 0x51, 0x8f, 0xac, 0x53, 0x50, 0x51, 0xf3, 0xeb, + 0xd3, 0x57, 0x9e, 0x1f, 0xcb, 0x90, 0x8d, 0xc9, 0x89, 0xa7, 0x90, 0xe2, +}; +static const unsigned char kat2834_nonce[] = {0}; +static const unsigned char kat2834_persstr[] = {0}; +static const unsigned char kat2834_entropyinreseed[] = { + 0xc5, 0xbb, 0xc3, 0x3a, 0x3a, 0xbb, 0xe3, 0x55, 0xf3, 0x8d, 0xc8, 0xf0, + 0x30, 0x54, 0x0b, 0xd7, 0xe4, 0x23, 0xbc, 0x42, 0xc5, 0x26, 0xea, 0x76, + 0x6d, 0x9f, 0x10, 0xd1, 0x61, 0x3b, 0x00, 0x28, 0xb5, 0x5b, 0x99, 0xef, + 0xa5, 0x74, 0xd5, 0x09, 0xfd, 0xe9, 0x2a, 0x1e, 0xc3, 0x67, 0x86, 0x83, +}; +static const unsigned char kat2834_addinreseed[] = {0}; +static const unsigned char kat2834_addin0[] = {0}; +static const unsigned char kat2834_addin1[] = {0}; +static const unsigned char kat2834_retbits[] = { + 0xa1, 0x31, 0xb5, 0x51, 0xc8, 0xf3, 0x1d, 0x4b, 0x4a, 0x9e, 0x33, 0xb0, + 0xe5, 0x4f, 0x7c, 0x6f, 0x14, 0x2d, 0x12, 0x6d, 0xa7, 0x38, 0xd7, 0x9d, + 0x31, 0x17, 0x6c, 0xf5, 0xae, 0x7c, 0x04, 0x0c, 0x23, 0x5f, 0x2c, 0xa0, + 0xfd, 0x7a, 0x69, 0x07, 0x7c, 0x09, 0x6a, 0xc3, 0x00, 0xf7, 0x44, 0x59, + 0x85, 0xf2, 0xed, 0x39, 0xcd, 0x22, 0xe2, 0xcf, 0x8d, 0x14, 0x66, 0x65, + 0xf6, 0xb8, 0x1e, 0x9e, +}; +static const struct drbg_kat_pr_false kat2834_t = { + 13, kat2834_entropyin, kat2834_nonce, kat2834_persstr, + kat2834_entropyinreseed, kat2834_addinreseed, kat2834_addin0, + kat2834_addin1, kat2834_retbits +}; +static const struct drbg_kat kat2834 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2834_t +}; + +static const unsigned char kat2835_entropyin[] = { + 0x91, 0xfa, 0x80, 0xb7, 0x27, 0x04, 0x02, 0x95, 0xb8, 0x50, 0x11, 0x9e, + 0x9f, 0xb7, 0xe4, 0xcc, 0xe4, 0x55, 0x1a, 0xe2, 0x34, 0xf2, 0x96, 0x16, + 0xaf, 0x15, 0x57, 0x25, 0x57, 0xd1, 0x55, 0x5d, 0xe0, 0x42, 0x4a, 0xc3, + 0x92, 0x8e, 0x39, 0xca, 0x0e, 0xe3, 0x97, 0x8d, 0x95, 0x6f, 0x32, 0x58, +}; +static const unsigned char kat2835_nonce[] = {0}; +static const unsigned char kat2835_persstr[] = {0}; +static const unsigned char kat2835_entropyinreseed[] = { + 0x99, 0x37, 0xf7, 0x76, 0xdd, 0xae, 0x1d, 0xd4, 0xa6, 0xed, 0x76, 0xcc, + 0x17, 0x95, 0xd4, 0x50, 0xe1, 0x4d, 0x1e, 0x46, 0x2c, 0x30, 0xa9, 0xe1, + 0xa8, 0x53, 0x34, 0xb3, 0xca, 0x14, 0x84, 0x51, 0xb9, 0x4e, 0x00, 0x05, + 0x5b, 0x3e, 0xd2, 0x27, 0xf0, 0xa2, 0xfc, 0x24, 0x7d, 0xb4, 0xdb, 0x6d, +}; +static const unsigned char kat2835_addinreseed[] = {0}; +static const unsigned char kat2835_addin0[] = {0}; +static const unsigned char kat2835_addin1[] = {0}; +static const unsigned char kat2835_retbits[] = { + 0xe6, 0x59, 0xa7, 0xde, 0x7a, 0x1b, 0x1b, 0x15, 0xa5, 0x61, 0x70, 0xa1, + 0xd6, 0x33, 0x4d, 0xec, 0x91, 0xb6, 0xff, 0xfc, 0x47, 0xfb, 0x7a, 0xe1, + 0xf2, 0xb3, 0xaf, 0x03, 0xcb, 0xc2, 0x5f, 0x7b, 0xec, 0x0c, 0xb6, 0xaf, + 0xad, 0xb7, 0x6a, 0xf9, 0xd3, 0x62, 0x16, 0x82, 0x5e, 0xe0, 0xe1, 0x3a, + 0xa3, 0x91, 0x5b, 0xc5, 0x15, 0x32, 0x5c, 0x27, 0x27, 0x08, 0x58, 0x65, + 0x41, 0x75, 0xa8, 0x1d, +}; +static const struct drbg_kat_pr_false kat2835_t = { + 14, kat2835_entropyin, kat2835_nonce, kat2835_persstr, + kat2835_entropyinreseed, kat2835_addinreseed, kat2835_addin0, + kat2835_addin1, kat2835_retbits +}; +static const struct drbg_kat kat2835 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat2835_t +}; + +static const unsigned char kat2836_entropyin[] = { + 0x20, 0xa8, 0xe7, 0xe4, 0x71, 0x08, 0xcd, 0x4f, 0x28, 0x3e, 0x5b, 0x16, + 0x98, 0x55, 0xbd, 0xa8, 0x38, 0x99, 0x51, 0x6e, 0x51, 0x82, 0x5b, 0xb5, + 0x22, 0x48, 0xba, 0x8c, 0x40, 0x5d, 0xa4, 0x49, 0x64, 0x50, 0x2c, 0x9f, + 0xc7, 0x4d, 0xa0, 0xe2, 0xad, 0x4c, 0xa1, 0xf4, 0x93, 0x13, 0x42, 0x43, +}; +static const unsigned char kat2836_nonce[] = {0}; +static const unsigned char kat2836_persstr[] = {0}; +static const unsigned char kat2836_entropyinreseed[] = { + 0x98, 0xba, 0x67, 0xc7, 0xe0, 0x57, 0xa5, 0xa3, 0x28, 0xbc, 0x9b, 0x22, + 0x37, 0x96, 0xb3, 0x69, 0x47, 0xb1, 0xfc, 0xa1, 0xab, 0x6b, 0x20, 0xc1, + 0xdd, 0x25, 0x14, 0x2e, 0x94, 0x9d, 0xf2, 0x7e, 0x81, 0x22, 0xc8, 0xa6, + 0x79, 0x2d, 0x8a, 0x11, 0x56, 0xa6, 0x0b, 0x11, 0x70, 0xa3, 0xb5, 0xc4, +}; +static const unsigned char kat2836_addinreseed[] = { + 0x64, 0x8f, 0xa2, 0x29, 0xf5, 0xea, 0x25, 0xee, 0x6c, 0x74, 0x53, 0xed, + 0x57, 0x7c, 0x70, 0xf7, 0x55, 0xa2, 0xcb, 0x90, 0xf8, 0x52, 0xb7, 0x2b, + 0x28, 0x2d, 0x30, 0xbe, 0xde, 0xba, 0xf7, 0x4a, 0xf4, 0x61, 0xa2, 0xa8, + 0xa3, 0x45, 0x6e, 0x65, 0x3e, 0x7d, 0xe9, 0xef, 0x37, 0x40, 0xbc, 0x44, +}; +static const unsigned char kat2836_addin0[] = { + 0xda, 0xf5, 0xb6, 0x4b, 0xa4, 0x09, 0xb5, 0x24, 0xc2, 0x11, 0xa3, 0x00, + 0x46, 0x5c, 0x63, 0x1b, 0xd9, 0x00, 0x45, 0x32, 0x21, 0x02, 0x3a, 0x41, + 0x92, 0x7b, 0x3d, 0x14, 0x4d, 0xa0, 0x13, 0x1d, 0x89, 0xf7, 0x4c, 0x0f, + 0x18, 0xb0, 0x29, 0x99, 0x4c, 0xe8, 0x4e, 0xc9, 0xb3, 0x68, 0x42, 0x93, +}; +static const unsigned char kat2836_addin1[] = { + 0x61, 0x38, 0x15, 0x6c, 0xcc, 0x58, 0xe7, 0x59, 0xd7, 0x62, 0xfb, 0x5d, + 0xb2, 0xc0, 0x92, 0x6a, 0xde, 0x76, 0x0f, 0xf5, 0x31, 0x58, 0x2f, 0x1b, + 0xd8, 0xef, 0x43, 0x0f, 0x7f, 0x7a, 0xb6, 0x23, 0xf8, 0x20, 0x82, 0xad, + 0x58, 0xc2, 0xd6, 0x29, 0x34, 0x09, 0x45, 0x54, 0x6b, 0xf9, 0x4e, 0x2d, +}; +static const unsigned char kat2836_retbits[] = { + 0xdb, 0x51, 0xc6, 0x8e, 0x5d, 0xc6, 0xdc, 0x50, 0x0d, 0xaf, 0xa4, 0xd0, + 0x78, 0x36, 0x74, 0x9d, 0xf4, 0xfc, 0x54, 0xd0, 0xc8, 0xe7, 0x8a, 0x3a, + 0x01, 0xad, 0x31, 0x62, 0xc2, 0x43, 0x8d, 0x8a, 0xa1, 0x69, 0x8c, 0x4a, + 0xb6, 0xb4, 0x48, 0xc3, 0xeb, 0xd3, 0x7d, 0x23, 0xfa, 0xe3, 0xc9, 0xba, + 0x6a, 0xad, 0x09, 0x12, 0xcd, 0x15, 0x47, 0x5e, 0x94, 0x78, 0xd4, 0x79, + 0x36, 0x17, 0xa3, 0xce, +}; +static const struct drbg_kat_pr_false kat2836_t = { + 0, kat2836_entropyin, kat2836_nonce, kat2836_persstr, + kat2836_entropyinreseed, kat2836_addinreseed, kat2836_addin0, + kat2836_addin1, kat2836_retbits +}; +static const struct drbg_kat kat2836 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2836_t +}; + +static const unsigned char kat2837_entropyin[] = { + 0xa7, 0x81, 0x01, 0x5e, 0x06, 0x6e, 0xae, 0xe1, 0x8f, 0x30, 0x13, 0x5e, + 0x51, 0x8b, 0x87, 0xce, 0xbb, 0xb7, 0x9c, 0x5f, 0x0a, 0xfa, 0xa4, 0xab, + 0x21, 0xbb, 0x5a, 0xb8, 0x08, 0xf0, 0x9f, 0xfd, 0x8c, 0xcd, 0x2a, 0xd0, + 0x26, 0x06, 0xf8, 0xcd, 0xab, 0x95, 0xbf, 0x89, 0x7e, 0x2b, 0xbb, 0x1b, +}; +static const unsigned char kat2837_nonce[] = {0}; +static const unsigned char kat2837_persstr[] = {0}; +static const unsigned char kat2837_entropyinreseed[] = { + 0x28, 0x7e, 0x14, 0xff, 0x54, 0x46, 0xa2, 0xee, 0xfd, 0x02, 0x3f, 0x20, + 0x8b, 0xc8, 0xf5, 0x83, 0xc8, 0x0d, 0xdf, 0x84, 0xfa, 0x88, 0xe0, 0xa5, + 0x5c, 0x5a, 0x41, 0x41, 0x4f, 0xfd, 0x1a, 0x72, 0x97, 0xd4, 0x10, 0x17, + 0xb3, 0xa3, 0x7e, 0xf1, 0x29, 0x0a, 0xed, 0x62, 0x9e, 0x74, 0x37, 0x6e, +}; +static const unsigned char kat2837_addinreseed[] = { + 0xa7, 0xa3, 0xd0, 0x11, 0xfb, 0x2d, 0x74, 0x94, 0xe0, 0x23, 0xd5, 0xde, + 0x0c, 0x32, 0x64, 0x2e, 0x0e, 0xbb, 0x76, 0x5e, 0x0c, 0xe5, 0xe7, 0x9d, + 0xab, 0x2d, 0xcb, 0x76, 0x37, 0x48, 0x0b, 0xa6, 0x11, 0x0d, 0x7a, 0x07, + 0xa3, 0xad, 0x7c, 0x13, 0x01, 0x39, 0x04, 0x8f, 0x80, 0xa1, 0xc1, 0x6b, +}; +static const unsigned char kat2837_addin0[] = { + 0x17, 0x86, 0xeb, 0x12, 0x5d, 0x51, 0xcf, 0xff, 0x91, 0x64, 0x44, 0x9b, + 0xa2, 0xba, 0xcf, 0x9a, 0x21, 0x6f, 0x4c, 0x45, 0xa6, 0x85, 0xc0, 0x75, + 0x02, 0xbf, 0x07, 0x4c, 0xe4, 0xa6, 0x1a, 0x6a, 0xc6, 0x40, 0xe2, 0xc1, + 0x83, 0x6f, 0x2e, 0x20, 0x45, 0x98, 0xd5, 0x14, 0x28, 0x83, 0x92, 0x69, +}; +static const unsigned char kat2837_addin1[] = { + 0xd2, 0xfe, 0xe3, 0xf2, 0xe3, 0xa0, 0x0e, 0xe4, 0xbc, 0x3d, 0xbc, 0xd1, + 0x9c, 0x31, 0x3c, 0xf7, 0x4d, 0x5d, 0x34, 0xab, 0x62, 0x19, 0x40, 0x7e, + 0xfa, 0x16, 0xdb, 0x64, 0xf7, 0x26, 0xcd, 0xaa, 0x68, 0x69, 0x2f, 0x8e, + 0xdd, 0x2a, 0xbc, 0x87, 0x1b, 0x08, 0xa3, 0x3d, 0x2a, 0x9c, 0x92, 0x2d, +}; +static const unsigned char kat2837_retbits[] = { + 0x94, 0xb2, 0xf1, 0x66, 0x10, 0xcb, 0x7e, 0x30, 0x0b, 0xd1, 0xbe, 0xa6, + 0xb4, 0xc3, 0xa8, 0xd6, 0x71, 0xf2, 0xb8, 0x7e, 0xf4, 0x19, 0xd7, 0x58, + 0xdf, 0xd0, 0x21, 0x7a, 0x3d, 0x3e, 0x46, 0x2b, 0x5e, 0x3f, 0x5e, 0xc0, + 0x54, 0xd0, 0x93, 0x4d, 0x70, 0x17, 0x48, 0xd7, 0x0f, 0xc8, 0x91, 0xc4, + 0x87, 0xf7, 0x15, 0xc8, 0x81, 0x41, 0x6a, 0x87, 0x24, 0x03, 0x71, 0xe9, + 0x53, 0x28, 0x48, 0xfe, +}; +static const struct drbg_kat_pr_false kat2837_t = { + 1, kat2837_entropyin, kat2837_nonce, kat2837_persstr, + kat2837_entropyinreseed, kat2837_addinreseed, kat2837_addin0, + kat2837_addin1, kat2837_retbits +}; +static const struct drbg_kat kat2837 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2837_t +}; + +static const unsigned char kat2838_entropyin[] = { + 0xe7, 0x44, 0xb4, 0x98, 0xe9, 0xa6, 0xf2, 0xf1, 0x84, 0x4f, 0xd2, 0x34, + 0xe0, 0x24, 0xd4, 0xfc, 0xe3, 0x4c, 0xac, 0x87, 0xbc, 0x71, 0x37, 0xb2, + 0x07, 0xcd, 0x29, 0xc9, 0x10, 0xc7, 0x7f, 0xb9, 0x49, 0xe2, 0xa7, 0x8a, + 0x39, 0x7f, 0xb0, 0x3e, 0x66, 0x55, 0x44, 0x09, 0x13, 0x85, 0xcd, 0xc5, +}; +static const unsigned char kat2838_nonce[] = {0}; +static const unsigned char kat2838_persstr[] = {0}; +static const unsigned char kat2838_entropyinreseed[] = { + 0x80, 0x7d, 0xf3, 0x85, 0xe0, 0xb0, 0x25, 0x26, 0x30, 0x3a, 0xe2, 0x44, + 0x26, 0xcf, 0x4c, 0xa7, 0x7d, 0xf3, 0x19, 0xc6, 0x4a, 0x14, 0x5c, 0xdb, + 0xc8, 0x65, 0x40, 0x42, 0x2c, 0xca, 0x77, 0xed, 0xc5, 0x72, 0x71, 0x90, + 0x71, 0x9b, 0x5b, 0x22, 0x74, 0x3c, 0x44, 0x52, 0x43, 0x57, 0xe1, 0xa5, +}; +static const unsigned char kat2838_addinreseed[] = { + 0xb0, 0xcf, 0xa6, 0x99, 0xd9, 0x08, 0xb0, 0x3f, 0x80, 0xb5, 0x35, 0x2f, + 0x5f, 0x92, 0x60, 0x13, 0xbb, 0x54, 0xfa, 0x95, 0x72, 0x42, 0x39, 0xf3, + 0x2b, 0x9f, 0xac, 0xf9, 0x4e, 0x80, 0xd0, 0xc6, 0x36, 0x12, 0x4c, 0xe0, + 0x42, 0xd7, 0xa2, 0xaf, 0x62, 0xf5, 0x5c, 0xa7, 0xa3, 0x20, 0xfc, 0x83, +}; +static const unsigned char kat2838_addin0[] = { + 0xa4, 0x5e, 0xf1, 0x2d, 0xc1, 0x3e, 0xd4, 0xf8, 0x6e, 0xbb, 0x70, 0x81, + 0x13, 0x46, 0x17, 0x3c, 0xa4, 0x70, 0x9d, 0x6d, 0x22, 0x9b, 0xbb, 0x81, + 0x5c, 0x6d, 0x55, 0x38, 0x36, 0x67, 0x01, 0xae, 0xe3, 0x90, 0xe1, 0xe7, + 0x2d, 0xcc, 0x7b, 0x06, 0x4f, 0x52, 0x4a, 0x25, 0x37, 0xe1, 0xb4, 0x20, +}; +static const unsigned char kat2838_addin1[] = { + 0xf8, 0x0f, 0x9e, 0xed, 0xc0, 0xc0, 0x63, 0x64, 0x77, 0x98, 0x50, 0x06, + 0xb3, 0xba, 0xee, 0x45, 0xa0, 0xf0, 0x8c, 0x36, 0x5b, 0x1c, 0xac, 0xfc, + 0x9d, 0x64, 0x98, 0x41, 0x7c, 0x3d, 0x51, 0xbf, 0xdd, 0xdf, 0xa8, 0x19, + 0xb7, 0xa8, 0x96, 0xf5, 0x69, 0xb1, 0x13, 0xac, 0x9b, 0xff, 0xf8, 0x44, +}; +static const unsigned char kat2838_retbits[] = { + 0x12, 0xf5, 0x70, 0xa2, 0xd2, 0xa3, 0x41, 0xe5, 0xb3, 0x4b, 0xfc, 0x98, + 0xd1, 0xc7, 0x23, 0x61, 0xb8, 0x45, 0x4f, 0xe5, 0x57, 0x27, 0xa6, 0xa3, + 0x6d, 0x77, 0x16, 0xc8, 0xcb, 0xab, 0x2c, 0xa7, 0x85, 0xd3, 0x10, 0x06, + 0x5f, 0xcf, 0x88, 0x2d, 0xe2, 0x1a, 0x7b, 0xb5, 0x74, 0x9e, 0xe8, 0xaf, + 0xd3, 0x67, 0xaa, 0xbf, 0xf8, 0x98, 0xa3, 0x16, 0x21, 0xe0, 0x6e, 0xc5, + 0x13, 0x5f, 0x04, 0xe8, +}; +static const struct drbg_kat_pr_false kat2838_t = { + 2, kat2838_entropyin, kat2838_nonce, kat2838_persstr, + kat2838_entropyinreseed, kat2838_addinreseed, kat2838_addin0, + kat2838_addin1, kat2838_retbits +}; +static const struct drbg_kat kat2838 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2838_t +}; + +static const unsigned char kat2839_entropyin[] = { + 0x3c, 0x2d, 0x81, 0x1b, 0x1e, 0x8d, 0x2f, 0x13, 0x51, 0xd3, 0x5a, 0x4d, + 0xff, 0x67, 0x0f, 0xcc, 0xb2, 0x27, 0xfa, 0x44, 0xca, 0xcc, 0xc0, 0xd0, + 0xb7, 0x1c, 0x16, 0x54, 0xae, 0x09, 0x60, 0x19, 0x27, 0xf2, 0x71, 0xab, + 0x0c, 0x96, 0x83, 0xad, 0x5f, 0xaf, 0x4a, 0x3c, 0x3b, 0x80, 0xbe, 0xb3, +}; +static const unsigned char kat2839_nonce[] = {0}; +static const unsigned char kat2839_persstr[] = {0}; +static const unsigned char kat2839_entropyinreseed[] = { + 0xbf, 0xd0, 0xa1, 0x3b, 0x0e, 0x2b, 0xb9, 0x04, 0x0b, 0xaf, 0xff, 0x29, + 0x5d, 0x0b, 0x08, 0xc4, 0x51, 0x71, 0x5e, 0xf0, 0xf9, 0xe3, 0x0d, 0xb5, + 0x0c, 0x38, 0xa1, 0x35, 0xc5, 0x6a, 0xd9, 0xf5, 0x87, 0x24, 0xbf, 0xaf, + 0x26, 0x80, 0x06, 0xf5, 0x57, 0x96, 0x9f, 0x14, 0x33, 0xb6, 0x34, 0x26, +}; +static const unsigned char kat2839_addinreseed[] = { + 0x9b, 0xca, 0x5a, 0x77, 0xa8, 0x1b, 0xf9, 0x7d, 0x69, 0x9f, 0xbe, 0xe6, + 0xcb, 0x22, 0x22, 0xc4, 0x7b, 0xbe, 0xfc, 0xd8, 0x1b, 0x6e, 0x6c, 0x69, + 0x3b, 0x72, 0xac, 0xe0, 0xf4, 0x66, 0x8e, 0x5e, 0xf8, 0xd3, 0xaf, 0xa8, + 0x25, 0xb2, 0x14, 0x19, 0xf5, 0x01, 0xa6, 0xf7, 0xe3, 0x9c, 0x3f, 0xc1, +}; +static const unsigned char kat2839_addin0[] = { + 0x4b, 0x9a, 0x7e, 0xb9, 0x41, 0xdf, 0xbe, 0xf0, 0x5d, 0xf2, 0x06, 0x35, + 0x43, 0x86, 0xa3, 0xc3, 0xb1, 0x36, 0xa9, 0xde, 0x21, 0xea, 0x30, 0x7a, + 0x96, 0xd8, 0x3b, 0xdf, 0xd1, 0xc2, 0xcc, 0xa8, 0xbd, 0xfd, 0x60, 0x8d, + 0x37, 0x65, 0x88, 0x0f, 0x0e, 0xb0, 0x5d, 0x6f, 0x88, 0x13, 0x68, 0x21, +}; +static const unsigned char kat2839_addin1[] = { + 0xc2, 0x11, 0xfa, 0x5e, 0xca, 0xdc, 0xac, 0x40, 0xfe, 0xe7, 0x53, 0x3a, + 0xba, 0x6e, 0xf6, 0x5f, 0x93, 0xa2, 0x27, 0x6e, 0xc1, 0x02, 0x39, 0x51, + 0xc6, 0x74, 0xdf, 0xea, 0xca, 0xd3, 0x9a, 0xc0, 0xd3, 0x73, 0x6f, 0xb6, + 0xd9, 0x16, 0xe9, 0xd4, 0x6e, 0x6c, 0xaa, 0x78, 0x57, 0x53, 0x8f, 0x02, +}; +static const unsigned char kat2839_retbits[] = { + 0x67, 0x3f, 0xde, 0xd4, 0xf9, 0x42, 0x8d, 0xd5, 0xfc, 0xc1, 0x6e, 0x8d, + 0xd1, 0x4c, 0x69, 0xcf, 0xbc, 0xc1, 0xa6, 0xab, 0x5a, 0x4c, 0xd4, 0x76, + 0x79, 0xba, 0x12, 0xd9, 0x6e, 0x4a, 0x06, 0x9d, 0x29, 0x22, 0x68, 0xc5, + 0xad, 0x6c, 0x43, 0x1c, 0x7e, 0x91, 0x19, 0x98, 0xb4, 0x19, 0xdd, 0x0e, + 0x99, 0x97, 0x75, 0x59, 0x40, 0xe6, 0xaa, 0xe0, 0x76, 0x8a, 0x86, 0xb7, + 0xfb, 0xf5, 0x57, 0xda, +}; +static const struct drbg_kat_pr_false kat2839_t = { + 3, kat2839_entropyin, kat2839_nonce, kat2839_persstr, + kat2839_entropyinreseed, kat2839_addinreseed, kat2839_addin0, + kat2839_addin1, kat2839_retbits +}; +static const struct drbg_kat kat2839 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2839_t +}; + +static const unsigned char kat2840_entropyin[] = { + 0x2b, 0x3f, 0xce, 0x2c, 0x05, 0x53, 0x3f, 0xa1, 0x34, 0x9a, 0x75, 0x44, + 0xa0, 0x80, 0xd1, 0xef, 0xf8, 0x4d, 0x78, 0x00, 0x8c, 0x69, 0xe4, 0x14, + 0x62, 0xc6, 0x59, 0xec, 0x3c, 0x13, 0x93, 0x13, 0xdc, 0x3e, 0xf2, 0x31, + 0x78, 0xc5, 0x76, 0x46, 0xce, 0x0e, 0x4c, 0xf6, 0xc3, 0x46, 0x5e, 0x22, +}; +static const unsigned char kat2840_nonce[] = {0}; +static const unsigned char kat2840_persstr[] = {0}; +static const unsigned char kat2840_entropyinreseed[] = { + 0x73, 0x6c, 0x35, 0xc4, 0x6e, 0x6c, 0x8a, 0xcf, 0xe3, 0x01, 0xec, 0x58, + 0x07, 0x0c, 0x54, 0x8c, 0x55, 0x30, 0xfd, 0x84, 0x94, 0xf9, 0xc5, 0x86, + 0xf4, 0x51, 0xa1, 0x32, 0xc7, 0x0a, 0x91, 0x15, 0xfa, 0x28, 0x42, 0xf1, + 0x64, 0xe5, 0xc1, 0x0a, 0x0a, 0xe5, 0x28, 0xee, 0x20, 0x9a, 0x4f, 0x32, +}; +static const unsigned char kat2840_addinreseed[] = { + 0x03, 0xc0, 0x28, 0xdf, 0xc0, 0x95, 0xeb, 0x49, 0xb4, 0xae, 0x76, 0x57, + 0x6e, 0xe7, 0xfc, 0x56, 0xb7, 0x6a, 0x1b, 0xaf, 0x14, 0xcf, 0x30, 0xa8, + 0x3d, 0x65, 0xd4, 0xc9, 0x71, 0x40, 0x00, 0x8a, 0x06, 0xf0, 0x3c, 0x1c, + 0xa3, 0x3c, 0x4b, 0x93, 0xd2, 0x4c, 0x36, 0x6c, 0x92, 0x2c, 0xd9, 0xbd, +}; +static const unsigned char kat2840_addin0[] = { + 0xbf, 0x7d, 0x34, 0xc4, 0xcc, 0x7b, 0xed, 0x84, 0x55, 0x9e, 0xde, 0x04, + 0x2a, 0xb3, 0x99, 0x11, 0x02, 0x2a, 0x59, 0x88, 0x35, 0x0c, 0x55, 0xc3, + 0x82, 0xcc, 0x8d, 0x78, 0xdc, 0xa6, 0x57, 0xfc, 0x16, 0x3a, 0xba, 0x71, + 0x6b, 0x4f, 0xee, 0xfd, 0x2d, 0xd3, 0xa1, 0xeb, 0x88, 0x3b, 0xd0, 0xed, +}; +static const unsigned char kat2840_addin1[] = { + 0xd3, 0xb7, 0xae, 0xa7, 0xfe, 0x27, 0xa1, 0x68, 0x76, 0x62, 0x79, 0x2f, + 0x8a, 0x2a, 0x62, 0x48, 0x75, 0x00, 0xb2, 0x73, 0xfb, 0xdf, 0xae, 0x74, + 0x21, 0x44, 0x78, 0x89, 0x1d, 0x3e, 0x06, 0x18, 0x70, 0x61, 0x5d, 0x9c, + 0xc0, 0x3f, 0x00, 0x73, 0xc7, 0x27, 0x48, 0xb4, 0x48, 0xbb, 0x7f, 0x82, +}; +static const unsigned char kat2840_retbits[] = { + 0xd9, 0x5e, 0x14, 0xec, 0x18, 0x70, 0xb8, 0xf6, 0xe9, 0xeb, 0x9e, 0xf6, + 0xcc, 0xc0, 0xd6, 0xbe, 0x94, 0x3f, 0xed, 0x07, 0xc4, 0xcb, 0x96, 0x09, + 0x19, 0xe8, 0x2c, 0xba, 0xdb, 0x92, 0xb4, 0x3f, 0x11, 0x48, 0x11, 0x76, + 0x5b, 0xe1, 0xaa, 0xd7, 0x48, 0xf7, 0x36, 0x15, 0x15, 0xa9, 0x65, 0xdc, + 0x8e, 0x4a, 0xc2, 0x33, 0xfa, 0x02, 0x46, 0x53, 0x61, 0x21, 0x24, 0x03, + 0xc8, 0x0d, 0x3f, 0x67, +}; +static const struct drbg_kat_pr_false kat2840_t = { + 4, kat2840_entropyin, kat2840_nonce, kat2840_persstr, + kat2840_entropyinreseed, kat2840_addinreseed, kat2840_addin0, + kat2840_addin1, kat2840_retbits +}; +static const struct drbg_kat kat2840 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2840_t +}; + +static const unsigned char kat2841_entropyin[] = { + 0x81, 0xb0, 0xb1, 0xec, 0xfd, 0x3c, 0x19, 0x20, 0x02, 0x2c, 0x8a, 0x73, + 0xb7, 0x74, 0x65, 0xa7, 0x98, 0xbc, 0x4c, 0x29, 0xb4, 0x48, 0xd8, 0x83, + 0x53, 0x05, 0x44, 0x34, 0xab, 0xbd, 0x21, 0xc2, 0x85, 0xc4, 0x26, 0x9e, + 0x86, 0x21, 0xc7, 0xfc, 0xae, 0x18, 0x49, 0xe3, 0xd3, 0x4f, 0x93, 0xe2, +}; +static const unsigned char kat2841_nonce[] = {0}; +static const unsigned char kat2841_persstr[] = {0}; +static const unsigned char kat2841_entropyinreseed[] = { + 0xfb, 0x80, 0x7f, 0xd0, 0x62, 0x2a, 0x62, 0x6f, 0x2c, 0x8f, 0x36, 0x49, + 0x67, 0x15, 0xa8, 0x90, 0x94, 0x4d, 0x50, 0x1c, 0x4b, 0x40, 0x22, 0xb4, + 0x87, 0x36, 0x34, 0x7a, 0x30, 0x18, 0xb0, 0xaa, 0x0f, 0x61, 0x57, 0xee, + 0x60, 0x18, 0xda, 0x87, 0x13, 0x95, 0x55, 0xa5, 0xcc, 0xcb, 0xe6, 0x79, +}; +static const unsigned char kat2841_addinreseed[] = { + 0x27, 0x1f, 0x48, 0x2a, 0x81, 0x2e, 0x67, 0x9a, 0x2c, 0xc8, 0x75, 0x45, + 0x08, 0x22, 0xb9, 0xca, 0xf4, 0xd6, 0xdb, 0x61, 0xf3, 0xd2, 0x02, 0x63, + 0xe1, 0x90, 0x47, 0x65, 0x63, 0x48, 0xc7, 0xb0, 0x53, 0x9e, 0xe3, 0x42, + 0x87, 0x91, 0x1a, 0x0b, 0xf6, 0xa7, 0xa2, 0x7e, 0x63, 0x7a, 0xdb, 0xbb, +}; +static const unsigned char kat2841_addin0[] = { + 0xcd, 0xa4, 0x74, 0x06, 0x7d, 0x78, 0xa3, 0x94, 0x31, 0x97, 0x05, 0xa6, + 0x17, 0x48, 0x23, 0xa2, 0x9b, 0x1b, 0xcc, 0xcb, 0x93, 0xe4, 0xf1, 0xc0, + 0x32, 0x77, 0x00, 0x1f, 0x4c, 0x52, 0xfe, 0x7c, 0x65, 0xe4, 0x6d, 0xa1, + 0x4b, 0x32, 0xa5, 0x18, 0x3b, 0x07, 0x57, 0x0d, 0xb8, 0xc9, 0x1d, 0x4a, +}; +static const unsigned char kat2841_addin1[] = { + 0xcd, 0xb0, 0x48, 0xf3, 0x60, 0x7f, 0x31, 0xff, 0x5a, 0xab, 0x41, 0x9d, + 0x69, 0xf8, 0xcd, 0x25, 0x69, 0x88, 0x62, 0x82, 0xb2, 0x59, 0xfb, 0xd4, + 0x9a, 0x7c, 0xdd, 0x8e, 0x7d, 0x86, 0x1f, 0xc6, 0x62, 0x4d, 0x3f, 0x55, + 0xb4, 0xae, 0xaf, 0xbb, 0x85, 0x42, 0xeb, 0xce, 0x1c, 0xd8, 0x76, 0x18, +}; +static const unsigned char kat2841_retbits[] = { + 0x4c, 0x0e, 0x55, 0x3a, 0xda, 0x4e, 0x6f, 0xe6, 0xf1, 0xd3, 0xdd, 0x84, + 0xa9, 0x91, 0x85, 0x6b, 0x55, 0x1f, 0xe7, 0x20, 0x98, 0xe3, 0xa0, 0x08, + 0xa7, 0x53, 0x71, 0x6a, 0xfe, 0x06, 0x28, 0x86, 0x1c, 0xd8, 0x3c, 0xe2, + 0xe0, 0xea, 0x64, 0x5b, 0x24, 0xb8, 0x40, 0x83, 0x60, 0xf6, 0xd9, 0xe1, + 0x10, 0x03, 0xee, 0x20, 0x3e, 0x01, 0xfb, 0x26, 0xaa, 0x4a, 0xfe, 0x21, + 0xcc, 0xfd, 0x03, 0x91, +}; +static const struct drbg_kat_pr_false kat2841_t = { + 5, kat2841_entropyin, kat2841_nonce, kat2841_persstr, + kat2841_entropyinreseed, kat2841_addinreseed, kat2841_addin0, + kat2841_addin1, kat2841_retbits +}; +static const struct drbg_kat kat2841 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2841_t +}; + +static const unsigned char kat2842_entropyin[] = { + 0xb5, 0x2d, 0xcf, 0xa7, 0xf8, 0x5a, 0x03, 0x83, 0x26, 0x65, 0x90, 0xb5, + 0x8f, 0xc2, 0xd1, 0x95, 0x25, 0xae, 0xcd, 0x9d, 0x22, 0x6f, 0xca, 0xd4, + 0xcf, 0x9e, 0x15, 0xc3, 0x75, 0x11, 0x98, 0xc4, 0xfe, 0xb9, 0x35, 0x59, + 0xdb, 0x7d, 0xd8, 0xac, 0x67, 0xa0, 0xc6, 0xb8, 0xd3, 0x71, 0x70, 0xc8, +}; +static const unsigned char kat2842_nonce[] = {0}; +static const unsigned char kat2842_persstr[] = {0}; +static const unsigned char kat2842_entropyinreseed[] = { + 0x40, 0xd6, 0x41, 0x3d, 0xdb, 0x86, 0x24, 0xd9, 0x83, 0x73, 0x34, 0x1a, + 0x46, 0x39, 0x13, 0x51, 0xd8, 0x48, 0xc9, 0xd8, 0xe8, 0x06, 0x68, 0xd0, + 0x23, 0xe7, 0x35, 0x44, 0xcc, 0xd3, 0xf0, 0xbd, 0x34, 0x11, 0x45, 0xa5, + 0xd1, 0xc1, 0xa0, 0xc7, 0xd4, 0x09, 0xb8, 0x3d, 0x5a, 0xa3, 0x96, 0xb9, +}; +static const unsigned char kat2842_addinreseed[] = { + 0x04, 0xe3, 0x40, 0xba, 0xb1, 0xe1, 0xe1, 0x8e, 0x96, 0xb5, 0xef, 0x84, + 0xf9, 0xcf, 0x3e, 0x40, 0xb5, 0x87, 0x37, 0xd9, 0xa9, 0xd0, 0xf8, 0xa4, + 0x48, 0xcd, 0xa6, 0xaf, 0xfa, 0xf4, 0x6f, 0xcb, 0x4c, 0x25, 0x10, 0x0e, + 0x5d, 0xe0, 0xf6, 0xd8, 0xd4, 0xb8, 0x72, 0xe3, 0xde, 0x77, 0xab, 0x77, +}; +static const unsigned char kat2842_addin0[] = { + 0x0a, 0x70, 0xb0, 0xb0, 0xd9, 0xb3, 0xf1, 0xb1, 0x96, 0xf9, 0x2c, 0x68, + 0xe7, 0x92, 0x62, 0x97, 0x87, 0x3e, 0x98, 0x97, 0x3b, 0x2e, 0xee, 0x4f, + 0x2a, 0x48, 0xc3, 0x4c, 0x9a, 0x10, 0xa4, 0x7d, 0xa0, 0x66, 0xd4, 0xfa, + 0xf4, 0xa3, 0xf0, 0xa8, 0x0e, 0xa3, 0xf3, 0x4d, 0xc2, 0x9b, 0xcf, 0x67, +}; +static const unsigned char kat2842_addin1[] = { + 0x17, 0x9b, 0x17, 0xe3, 0x06, 0xc2, 0x9e, 0x46, 0x00, 0x50, 0x6d, 0xed, + 0xeb, 0x94, 0x15, 0x09, 0xf7, 0x6e, 0x52, 0x8d, 0x88, 0x64, 0x62, 0xc5, + 0xee, 0x71, 0xf7, 0xfe, 0xa9, 0xe2, 0xbe, 0xdb, 0xb9, 0xaa, 0x31, 0x07, + 0xcb, 0xa5, 0x5a, 0x48, 0x4e, 0x36, 0x75, 0xf7, 0x75, 0xf7, 0x28, 0x63, +}; +static const unsigned char kat2842_retbits[] = { + 0xf3, 0x90, 0xb9, 0x47, 0xe7, 0x83, 0x7c, 0x91, 0xfc, 0xb9, 0x77, 0x4b, + 0x1d, 0xfd, 0x4d, 0xda, 0x30, 0x59, 0x65, 0xa8, 0xa5, 0xbc, 0x06, 0xd6, + 0xa1, 0x08, 0x2d, 0x97, 0xa9, 0x05, 0x0d, 0x13, 0xae, 0x43, 0x33, 0xbe, + 0xad, 0x8e, 0x89, 0x07, 0xb5, 0x7c, 0x6d, 0xf0, 0xba, 0x65, 0x8a, 0xbb, + 0x35, 0xfd, 0xfd, 0x59, 0x5b, 0x6d, 0x68, 0xdd, 0x4b, 0x06, 0x93, 0x75, + 0x8e, 0x18, 0x6a, 0x65, +}; +static const struct drbg_kat_pr_false kat2842_t = { + 6, kat2842_entropyin, kat2842_nonce, kat2842_persstr, + kat2842_entropyinreseed, kat2842_addinreseed, kat2842_addin0, + kat2842_addin1, kat2842_retbits +}; +static const struct drbg_kat kat2842 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2842_t +}; + +static const unsigned char kat2843_entropyin[] = { + 0xc3, 0x37, 0xa3, 0xe7, 0x8d, 0x7d, 0x2e, 0x11, 0xc8, 0x49, 0x87, 0x00, + 0x06, 0xf2, 0xe7, 0x6e, 0x7f, 0xee, 0x30, 0xec, 0x07, 0x6d, 0x37, 0x7b, + 0xdc, 0x87, 0x9f, 0x25, 0x83, 0x24, 0x1e, 0x3b, 0x3b, 0x7b, 0x86, 0x3d, + 0xd9, 0xc2, 0xe1, 0x37, 0x9a, 0xed, 0x93, 0xf2, 0xf8, 0xda, 0xe5, 0x22, +}; +static const unsigned char kat2843_nonce[] = {0}; +static const unsigned char kat2843_persstr[] = {0}; +static const unsigned char kat2843_entropyinreseed[] = { + 0xad, 0x41, 0x07, 0x91, 0xad, 0x78, 0x1f, 0x70, 0xd6, 0xbb, 0x8b, 0x88, + 0x3d, 0x17, 0x24, 0xf6, 0xce, 0xcb, 0x32, 0x45, 0x14, 0x1f, 0x78, 0x9c, + 0x1a, 0x8a, 0x9a, 0x1d, 0x45, 0x70, 0x64, 0x93, 0xba, 0xab, 0x5b, 0x2b, + 0x3d, 0x1c, 0xbe, 0x5d, 0x2b, 0xa4, 0x1e, 0x41, 0x23, 0xe0, 0x5b, 0x95, +}; +static const unsigned char kat2843_addinreseed[] = { + 0x13, 0xd4, 0x25, 0xb3, 0x6b, 0xcd, 0x17, 0x80, 0x1b, 0x07, 0x7e, 0x71, + 0xb0, 0x0a, 0xe3, 0xc9, 0x0e, 0x8b, 0x6b, 0xf9, 0xb5, 0x20, 0xc0, 0x06, + 0xf6, 0x8c, 0xbc, 0x23, 0x8e, 0x5a, 0x95, 0x92, 0x22, 0x70, 0x13, 0x27, + 0x6e, 0x55, 0x9a, 0x72, 0xe1, 0xb9, 0x52, 0xf6, 0x1e, 0x8a, 0x4c, 0x62, +}; +static const unsigned char kat2843_addin0[] = { + 0x9c, 0x49, 0x41, 0x9e, 0x86, 0x90, 0x18, 0x26, 0x8c, 0x9d, 0xb5, 0xfc, + 0xc0, 0xf7, 0xa9, 0x35, 0xd1, 0x7c, 0xb9, 0xff, 0x04, 0xea, 0x4d, 0x56, + 0xa6, 0x55, 0x5c, 0xeb, 0xb8, 0x9a, 0x6f, 0x4c, 0xd0, 0xd1, 0xeb, 0x83, + 0x23, 0x42, 0xc4, 0x22, 0x64, 0xdb, 0xae, 0x1d, 0x33, 0x52, 0x25, 0xb3, +}; +static const unsigned char kat2843_addin1[] = { + 0xee, 0x20, 0x49, 0xb4, 0xc3, 0x62, 0x92, 0xa4, 0x51, 0xaa, 0xaa, 0x87, + 0xe7, 0xf7, 0xeb, 0x91, 0x8e, 0x8e, 0x0a, 0x49, 0x2e, 0xbe, 0x71, 0xfc, + 0x3b, 0x24, 0x49, 0x9f, 0x92, 0x1a, 0x23, 0xd2, 0xa0, 0x1b, 0x7b, 0xd8, + 0xe7, 0x58, 0x51, 0xc8, 0x92, 0xcc, 0xf1, 0x24, 0xcc, 0x29, 0x88, 0x76, +}; +static const unsigned char kat2843_retbits[] = { + 0xfa, 0x1a, 0xc7, 0xad, 0x59, 0x92, 0x4d, 0x7a, 0xb5, 0x7c, 0x01, 0x86, + 0xde, 0xf6, 0x94, 0x64, 0x58, 0x05, 0xf8, 0x95, 0xf6, 0xb0, 0x45, 0xdd, + 0xe1, 0x29, 0x33, 0x37, 0x1f, 0x96, 0x01, 0xc6, 0xc9, 0x13, 0x32, 0x05, + 0x09, 0x34, 0x45, 0x62, 0x0d, 0x2a, 0xcf, 0xea, 0xb4, 0x4b, 0x13, 0x3b, + 0xf9, 0x3f, 0x27, 0xe5, 0xda, 0xaf, 0x74, 0x53, 0xe9, 0x8e, 0x6e, 0x47, + 0x78, 0x13, 0xd3, 0xca, +}; +static const struct drbg_kat_pr_false kat2843_t = { + 7, kat2843_entropyin, kat2843_nonce, kat2843_persstr, + kat2843_entropyinreseed, kat2843_addinreseed, kat2843_addin0, + kat2843_addin1, kat2843_retbits +}; +static const struct drbg_kat kat2843 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2843_t +}; + +static const unsigned char kat2844_entropyin[] = { + 0x7c, 0xd6, 0x8d, 0x97, 0x9a, 0x01, 0x24, 0x4c, 0x08, 0xea, 0xc6, 0xbd, + 0x20, 0xc0, 0x76, 0x91, 0x99, 0x18, 0xdb, 0xc7, 0xf0, 0x9e, 0xf5, 0x02, + 0x72, 0x7d, 0xbf, 0x50, 0xbb, 0xf2, 0x57, 0x62, 0xf6, 0xc0, 0x6e, 0x0e, + 0x6c, 0x55, 0x45, 0x5f, 0x54, 0x28, 0x91, 0x57, 0x2c, 0xc5, 0xd7, 0x5e, +}; +static const unsigned char kat2844_nonce[] = {0}; +static const unsigned char kat2844_persstr[] = {0}; +static const unsigned char kat2844_entropyinreseed[] = { + 0xa0, 0xde, 0x6b, 0x1d, 0x84, 0x16, 0x31, 0xd3, 0x70, 0xc3, 0x5e, 0xd2, + 0x29, 0x76, 0x9e, 0xea, 0xb4, 0x25, 0xe1, 0x44, 0xce, 0x5b, 0xbe, 0x98, + 0x50, 0x5a, 0xf5, 0x38, 0x1f, 0xed, 0x45, 0xaa, 0xb7, 0x11, 0xaf, 0xa0, + 0x59, 0x62, 0x4d, 0x05, 0xf0, 0xf7, 0x32, 0xfc, 0xe3, 0x99, 0x7e, 0x71, +}; +static const unsigned char kat2844_addinreseed[] = { + 0x92, 0xc2, 0x7d, 0x00, 0x5f, 0xc4, 0x97, 0x88, 0x69, 0x58, 0x08, 0x5a, + 0xe5, 0xa2, 0x43, 0xfe, 0x28, 0xcc, 0x6d, 0x31, 0x42, 0xb3, 0x81, 0x7b, + 0x20, 0x1a, 0x06, 0x7e, 0x45, 0xf6, 0xb8, 0x5b, 0x8a, 0x7d, 0x67, 0xd2, + 0xb5, 0x7b, 0xea, 0x16, 0x7c, 0xc7, 0xb5, 0x31, 0x53, 0xf9, 0x64, 0x56, +}; +static const unsigned char kat2844_addin0[] = { + 0x50, 0x2b, 0xa3, 0x86, 0x88, 0x1f, 0xa8, 0x16, 0x7c, 0x9a, 0xc1, 0x44, + 0x27, 0x56, 0x30, 0xe7, 0xcb, 0x6b, 0x83, 0xf0, 0xb0, 0x9d, 0xbc, 0xa2, + 0x9b, 0x60, 0xf4, 0x34, 0xb6, 0x63, 0xaf, 0x1f, 0x3c, 0x73, 0xdc, 0x50, + 0xe6, 0x4e, 0xea, 0xa8, 0x6a, 0xa6, 0x6c, 0xb7, 0xab, 0xa3, 0x65, 0xe9, +}; +static const unsigned char kat2844_addin1[] = { + 0x1d, 0x73, 0x7c, 0x09, 0x2b, 0xc0, 0x86, 0x7d, 0x93, 0x5c, 0x0a, 0x86, + 0x95, 0x39, 0x47, 0x63, 0x58, 0xf3, 0xcd, 0xe9, 0x32, 0xd0, 0x7d, 0x94, + 0x9b, 0x26, 0xcc, 0x19, 0x0d, 0x45, 0x0f, 0xa7, 0x59, 0x5f, 0x16, 0x2b, + 0x29, 0xc9, 0xc9, 0x6e, 0x9a, 0x84, 0x23, 0x91, 0x73, 0xc9, 0x39, 0x42, +}; +static const unsigned char kat2844_retbits[] = { + 0x97, 0x9c, 0xb9, 0xeb, 0x1e, 0x30, 0xe4, 0x00, 0x85, 0xf0, 0x7c, 0x23, + 0xc2, 0x0f, 0x34, 0x93, 0x81, 0xff, 0xf8, 0x33, 0xd3, 0x86, 0x8a, 0xd9, + 0x8d, 0x36, 0xc7, 0xf8, 0x96, 0x1c, 0xe7, 0x3b, 0xb3, 0xdc, 0x99, 0x51, + 0x36, 0xeb, 0x47, 0x2e, 0x4b, 0xff, 0x71, 0xfa, 0x1c, 0x29, 0x38, 0xa7, + 0x8c, 0xbb, 0xde, 0x64, 0x27, 0xf2, 0x11, 0x0f, 0xb6, 0xd6, 0x4c, 0x6d, + 0x32, 0x77, 0xca, 0xdd, +}; +static const struct drbg_kat_pr_false kat2844_t = { + 8, kat2844_entropyin, kat2844_nonce, kat2844_persstr, + kat2844_entropyinreseed, kat2844_addinreseed, kat2844_addin0, + kat2844_addin1, kat2844_retbits +}; +static const struct drbg_kat kat2844 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2844_t +}; + +static const unsigned char kat2845_entropyin[] = { + 0x13, 0x87, 0xd5, 0x3e, 0xa4, 0x72, 0xd7, 0x01, 0x98, 0x69, 0x8e, 0xa5, + 0x97, 0xb1, 0x46, 0xb5, 0xb4, 0x01, 0x03, 0x34, 0xd1, 0x41, 0xf7, 0x45, + 0x43, 0x6c, 0xd4, 0xc1, 0xe0, 0xf6, 0x12, 0xb2, 0x0e, 0x66, 0x8a, 0x0a, + 0x7a, 0x6c, 0x8e, 0x7d, 0xd6, 0xe4, 0x7c, 0x0c, 0x0f, 0x02, 0xd4, 0x5a, +}; +static const unsigned char kat2845_nonce[] = {0}; +static const unsigned char kat2845_persstr[] = {0}; +static const unsigned char kat2845_entropyinreseed[] = { + 0xa7, 0x9e, 0x5d, 0x18, 0x1f, 0x95, 0x5a, 0x46, 0x40, 0xf1, 0x5e, 0x7b, + 0xb5, 0xa3, 0x27, 0x88, 0xf5, 0x41, 0x5d, 0xea, 0xb9, 0x8c, 0x09, 0x52, + 0x4f, 0x63, 0x0b, 0xa7, 0x34, 0x59, 0xa5, 0xf7, 0x05, 0x04, 0x62, 0x67, + 0x02, 0x05, 0x4b, 0x3b, 0xca, 0xd3, 0x77, 0x39, 0xde, 0xc3, 0x3b, 0xb1, +}; +static const unsigned char kat2845_addinreseed[] = { + 0x1f, 0x6a, 0xba, 0xa4, 0x24, 0xba, 0xde, 0x0d, 0x26, 0x19, 0x85, 0x44, + 0xae, 0xd6, 0x4e, 0xff, 0x7a, 0x37, 0x2d, 0x16, 0xad, 0xe1, 0x9c, 0x8f, + 0xdd, 0xe4, 0xd8, 0x33, 0x8d, 0xed, 0x29, 0xbb, 0x10, 0x76, 0x60, 0x49, + 0x2e, 0x0b, 0xfb, 0xbd, 0x0e, 0xec, 0x76, 0x79, 0xa6, 0x91, 0x84, 0xf9, +}; +static const unsigned char kat2845_addin0[] = { + 0xc1, 0xca, 0x5c, 0xd0, 0xfb, 0x1b, 0x6a, 0x3f, 0x46, 0x8f, 0x9d, 0x9e, + 0xfe, 0xab, 0x54, 0x64, 0x18, 0x36, 0xae, 0xfa, 0xa4, 0xf6, 0xf2, 0xf6, + 0xd8, 0xcf, 0xca, 0x3e, 0xad, 0x7f, 0x73, 0x6f, 0xb2, 0xa0, 0x4b, 0xb1, + 0x7a, 0x9d, 0x64, 0xf2, 0xd1, 0xe8, 0xfb, 0x12, 0xef, 0x06, 0x91, 0x7b, +}; +static const unsigned char kat2845_addin1[] = { + 0x5d, 0xc9, 0x49, 0x96, 0x90, 0xcb, 0x78, 0xfb, 0xf3, 0xdf, 0x33, 0x30, + 0x26, 0xab, 0x04, 0x77, 0xd8, 0x00, 0xee, 0xfe, 0x99, 0x73, 0xdc, 0x5f, + 0x33, 0xc4, 0x63, 0x47, 0x4b, 0x84, 0x46, 0x5a, 0x95, 0x56, 0xc8, 0xab, + 0xbd, 0xde, 0x3f, 0x7e, 0x86, 0xbe, 0x57, 0xf7, 0x36, 0x8e, 0x6d, 0x63, +}; +static const unsigned char kat2845_retbits[] = { + 0x5c, 0xef, 0x6e, 0xc5, 0x3c, 0x22, 0x44, 0x8b, 0x52, 0x80, 0xad, 0xe0, + 0x51, 0xdb, 0xbe, 0x33, 0x23, 0x98, 0xa8, 0x58, 0x1c, 0x9f, 0x41, 0x88, + 0x58, 0x72, 0xa5, 0xdc, 0x54, 0xea, 0x95, 0xdf, 0x6c, 0x82, 0xfa, 0x8c, + 0x10, 0xc2, 0xf3, 0xe1, 0xf0, 0xdf, 0xd7, 0x88, 0xe4, 0x61, 0x6b, 0x97, + 0x38, 0x96, 0x03, 0xa7, 0x00, 0x09, 0x80, 0x29, 0xd0, 0x7d, 0xc6, 0xee, + 0x8c, 0x38, 0xdd, 0x41, +}; +static const struct drbg_kat_pr_false kat2845_t = { + 9, kat2845_entropyin, kat2845_nonce, kat2845_persstr, + kat2845_entropyinreseed, kat2845_addinreseed, kat2845_addin0, + kat2845_addin1, kat2845_retbits +}; +static const struct drbg_kat kat2845 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2845_t +}; + +static const unsigned char kat2846_entropyin[] = { + 0x30, 0xcc, 0xde, 0xa1, 0x31, 0xc4, 0x68, 0xd1, 0xc1, 0x80, 0xbd, 0x53, + 0x68, 0x99, 0xf6, 0xa5, 0x50, 0xd2, 0x5c, 0x31, 0xce, 0xe1, 0x0c, 0xe0, + 0xf8, 0x28, 0x59, 0x15, 0x8b, 0x5f, 0xfd, 0x3e, 0xe7, 0x71, 0xe4, 0x50, + 0x2d, 0x24, 0xb5, 0xe2, 0x69, 0xb5, 0x27, 0xba, 0x6d, 0x2e, 0xc5, 0x87, +}; +static const unsigned char kat2846_nonce[] = {0}; +static const unsigned char kat2846_persstr[] = {0}; +static const unsigned char kat2846_entropyinreseed[] = { + 0x4b, 0xbe, 0x5f, 0xe0, 0xd0, 0xcf, 0x26, 0x68, 0xd1, 0xd2, 0xc6, 0x96, + 0x71, 0xe3, 0x8c, 0x32, 0x13, 0xe5, 0x9c, 0x74, 0xed, 0x06, 0xc8, 0xfe, + 0x5a, 0x53, 0x4e, 0xe8, 0x3a, 0x37, 0xf5, 0x49, 0xf1, 0xa6, 0x83, 0xd9, + 0x95, 0xb6, 0x07, 0x85, 0xbe, 0x71, 0x35, 0x63, 0x80, 0x82, 0xf7, 0x06, +}; +static const unsigned char kat2846_addinreseed[] = { + 0x44, 0x71, 0x09, 0x2a, 0x77, 0x1a, 0x15, 0x0b, 0xcd, 0xe9, 0x90, 0x05, + 0xcb, 0x67, 0x6c, 0xdf, 0xf4, 0xd5, 0xb4, 0x78, 0xcc, 0xdd, 0x53, 0xb6, + 0x19, 0xe1, 0x9d, 0xfd, 0x4b, 0xec, 0x32, 0x5f, 0xe9, 0x8f, 0x72, 0xd0, + 0x32, 0x0a, 0x36, 0xa6, 0x4d, 0xb4, 0x0b, 0x53, 0x55, 0x8d, 0x13, 0x79, +}; +static const unsigned char kat2846_addin0[] = { + 0x7d, 0x15, 0x98, 0x95, 0xec, 0xc2, 0x45, 0xe4, 0x91, 0x2d, 0xf0, 0xa2, + 0x17, 0x75, 0x34, 0x7e, 0x1c, 0x1a, 0x16, 0x60, 0x1b, 0xc7, 0xf0, 0xa1, + 0x5a, 0x75, 0x92, 0xa4, 0xe5, 0x7c, 0x2d, 0x6b, 0x9f, 0xed, 0xae, 0x13, + 0x65, 0x39, 0x06, 0x31, 0x6c, 0xca, 0x0d, 0x15, 0xe1, 0xa5, 0xeb, 0x65, +}; +static const unsigned char kat2846_addin1[] = { + 0x5e, 0xba, 0xe3, 0x24, 0x49, 0x54, 0x6e, 0xcc, 0xe2, 0x03, 0xfc, 0xb5, + 0x8f, 0xeb, 0x40, 0x3e, 0x7b, 0xf8, 0x45, 0x94, 0xa7, 0xfd, 0xcb, 0xe9, + 0x76, 0x7b, 0xda, 0xe6, 0xcb, 0x09, 0x0d, 0xa3, 0x8b, 0x9f, 0xd2, 0xbd, + 0xa4, 0xb1, 0x01, 0x58, 0x31, 0x47, 0x9d, 0x83, 0x04, 0x23, 0x65, 0x2c, +}; +static const unsigned char kat2846_retbits[] = { + 0x9b, 0xb5, 0x0d, 0x63, 0xfa, 0xfb, 0xc2, 0x65, 0x65, 0xe1, 0xd6, 0xd2, + 0x14, 0x7d, 0x99, 0xe5, 0xac, 0xb0, 0xa6, 0x23, 0x7e, 0x23, 0xa1, 0xbd, + 0xa0, 0x6d, 0xb8, 0xed, 0x35, 0xa5, 0xde, 0x9d, 0xb1, 0x04, 0x20, 0x60, + 0xcd, 0x46, 0xe4, 0x42, 0x0d, 0x40, 0x16, 0x33, 0xc3, 0x33, 0x1a, 0x6c, + 0xfd, 0x62, 0xdd, 0x20, 0xd4, 0xae, 0x8f, 0xc1, 0x50, 0x0f, 0x7e, 0x28, + 0xdd, 0x2e, 0xc4, 0x06, +}; +static const struct drbg_kat_pr_false kat2846_t = { + 10, kat2846_entropyin, kat2846_nonce, kat2846_persstr, + kat2846_entropyinreseed, kat2846_addinreseed, kat2846_addin0, + kat2846_addin1, kat2846_retbits +}; +static const struct drbg_kat kat2846 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2846_t +}; + +static const unsigned char kat2847_entropyin[] = { + 0x94, 0xb6, 0x35, 0xe2, 0x06, 0xc6, 0x21, 0xc4, 0x1d, 0x39, 0xe5, 0x04, + 0x83, 0x7a, 0xf3, 0x87, 0x57, 0xb9, 0xe0, 0x47, 0x47, 0xd1, 0x57, 0xf9, + 0x51, 0x52, 0x78, 0x21, 0x4f, 0xf2, 0x49, 0x9c, 0xae, 0xd1, 0x55, 0xc6, + 0xcd, 0x5c, 0xbe, 0x33, 0x3b, 0xd7, 0xfd, 0x3b, 0x95, 0x21, 0x68, 0xeb, +}; +static const unsigned char kat2847_nonce[] = {0}; +static const unsigned char kat2847_persstr[] = {0}; +static const unsigned char kat2847_entropyinreseed[] = { + 0xd3, 0xc5, 0x9c, 0x86, 0xfd, 0xf1, 0xc0, 0xe6, 0x4c, 0x68, 0x73, 0x4b, + 0x0e, 0x79, 0x18, 0x3c, 0xb6, 0x96, 0x54, 0xe3, 0xea, 0x88, 0x4b, 0x92, + 0x75, 0xb1, 0x6e, 0x51, 0x34, 0xba, 0x88, 0xec, 0x68, 0x3c, 0xad, 0xa5, + 0xc7, 0xe0, 0xb8, 0x44, 0xcf, 0x56, 0x65, 0x52, 0x0d, 0x21, 0xd4, 0x95, +}; +static const unsigned char kat2847_addinreseed[] = { + 0x3e, 0x0b, 0x17, 0xa8, 0x3a, 0x2e, 0x99, 0xe3, 0x31, 0x9b, 0x5e, 0x33, + 0xd0, 0x29, 0xaf, 0x66, 0x16, 0x9b, 0x83, 0x21, 0x40, 0x74, 0xf6, 0x22, + 0x07, 0x84, 0xed, 0xf6, 0x65, 0xeb, 0x3b, 0x22, 0x82, 0xa0, 0x22, 0xff, + 0x3b, 0xa1, 0x72, 0x7b, 0x0b, 0xe9, 0x8d, 0xc3, 0xa4, 0xab, 0xb7, 0xce, +}; +static const unsigned char kat2847_addin0[] = { + 0xf6, 0xc2, 0x88, 0x42, 0x8d, 0xeb, 0x32, 0xde, 0x2f, 0xdf, 0x95, 0xc8, + 0x52, 0x22, 0xc5, 0xa9, 0x20, 0xd6, 0x2d, 0xee, 0x13, 0x21, 0xc6, 0xb3, + 0x26, 0x40, 0x04, 0x91, 0x7a, 0xe7, 0x65, 0x17, 0x00, 0x5b, 0xeb, 0x3e, + 0xbf, 0xbe, 0xab, 0xce, 0xca, 0x84, 0x4f, 0xe7, 0x89, 0xe3, 0xdc, 0x1b, +}; +static const unsigned char kat2847_addin1[] = { + 0xc0, 0x8a, 0x89, 0x6f, 0xc0, 0xba, 0xe0, 0x5a, 0x44, 0xca, 0x97, 0x07, + 0x1e, 0xcc, 0x0b, 0x71, 0x75, 0x46, 0x87, 0xb0, 0x79, 0xbb, 0x95, 0x0d, + 0x7f, 0x7b, 0x9d, 0x3d, 0xcf, 0x20, 0x57, 0x04, 0x26, 0x8d, 0x0f, 0xa2, + 0xf9, 0xb0, 0x34, 0x30, 0x65, 0xc8, 0x9a, 0xa8, 0x59, 0x09, 0xa7, 0x60, +}; +static const unsigned char kat2847_retbits[] = { + 0x57, 0x5a, 0x0d, 0xc1, 0x79, 0x0b, 0x09, 0xfd, 0x56, 0x2d, 0x88, 0xaf, + 0xba, 0x38, 0x5a, 0x20, 0xc1, 0x27, 0xad, 0xc4, 0x59, 0x48, 0x23, 0xeb, + 0x59, 0xcc, 0x08, 0x28, 0x21, 0x87, 0xfc, 0xae, 0x14, 0xc8, 0xc7, 0x83, + 0x49, 0x2b, 0x8d, 0xf1, 0x73, 0xfc, 0xc6, 0x10, 0x89, 0xc0, 0x8d, 0x0e, + 0x42, 0x1b, 0x6d, 0x7d, 0x15, 0xb0, 0xc0, 0x0a, 0x77, 0x1e, 0x9d, 0xac, + 0x8b, 0xb6, 0xbf, 0xf9, +}; +static const struct drbg_kat_pr_false kat2847_t = { + 11, kat2847_entropyin, kat2847_nonce, kat2847_persstr, + kat2847_entropyinreseed, kat2847_addinreseed, kat2847_addin0, + kat2847_addin1, kat2847_retbits +}; +static const struct drbg_kat kat2847 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2847_t +}; + +static const unsigned char kat2848_entropyin[] = { + 0x38, 0x40, 0xa4, 0xae, 0xc3, 0x52, 0xa6, 0x41, 0xa9, 0xfa, 0xc7, 0x7b, + 0xb2, 0x65, 0x03, 0x1f, 0x80, 0x7c, 0x26, 0xa5, 0x4a, 0x56, 0x1d, 0x5f, + 0x8a, 0x27, 0x53, 0x34, 0x52, 0xc3, 0x57, 0xf2, 0xb4, 0x51, 0xfb, 0x93, + 0x87, 0x2f, 0x4a, 0x03, 0xd8, 0x27, 0xfd, 0xc1, 0x79, 0x57, 0x3d, 0xb9, +}; +static const unsigned char kat2848_nonce[] = {0}; +static const unsigned char kat2848_persstr[] = {0}; +static const unsigned char kat2848_entropyinreseed[] = { + 0xd5, 0x5d, 0x27, 0x76, 0x8a, 0xe2, 0xbe, 0xeb, 0x68, 0x01, 0xa1, 0xb1, + 0xd4, 0x40, 0xc9, 0x81, 0xc6, 0x03, 0xdf, 0x06, 0xfb, 0xe9, 0xbd, 0xee, + 0x32, 0xfe, 0x97, 0xa4, 0xb2, 0x04, 0x41, 0x78, 0x56, 0x48, 0x6b, 0x4a, + 0x34, 0x0f, 0x16, 0xc0, 0x2f, 0x67, 0x24, 0x5c, 0x29, 0x23, 0xdb, 0xc2, +}; +static const unsigned char kat2848_addinreseed[] = { + 0x08, 0xae, 0xd0, 0xdf, 0xf1, 0xe1, 0x4c, 0x4f, 0x11, 0x90, 0xe9, 0x13, + 0x54, 0x9a, 0x95, 0x37, 0x00, 0x57, 0xc7, 0x9f, 0x9a, 0xb2, 0x00, 0x5e, + 0x1d, 0x9d, 0x01, 0xa3, 0xba, 0x1f, 0x0f, 0x43, 0x78, 0xca, 0xbd, 0xca, + 0x0b, 0x37, 0x93, 0x22, 0xb2, 0x86, 0x96, 0xdf, 0x4a, 0x2d, 0xd5, 0x03, +}; +static const unsigned char kat2848_addin0[] = { + 0xc9, 0x62, 0x12, 0x8b, 0x63, 0xbe, 0x95, 0x94, 0x10, 0xf9, 0x98, 0x67, + 0xcf, 0xce, 0x8e, 0xf7, 0x8b, 0xed, 0xfd, 0x4a, 0xa3, 0xfc, 0x6b, 0xbe, + 0x92, 0xac, 0xe9, 0x50, 0xf6, 0x6a, 0x9d, 0xc1, 0x82, 0x35, 0x90, 0x8c, + 0xcf, 0x18, 0x9e, 0x58, 0x40, 0xf5, 0x84, 0x60, 0x34, 0x8f, 0xd5, 0xa3, +}; +static const unsigned char kat2848_addin1[] = { + 0x04, 0xc1, 0x15, 0xc2, 0x87, 0x11, 0x65, 0xe9, 0x21, 0x35, 0x90, 0xc1, + 0x5c, 0x03, 0x45, 0x1c, 0x72, 0x8b, 0xb6, 0xe2, 0x81, 0x91, 0x8a, 0x37, + 0xce, 0xe3, 0x50, 0xd5, 0x9e, 0x06, 0x26, 0x6d, 0x65, 0xff, 0x8c, 0xee, + 0xa5, 0xf9, 0xb3, 0xc5, 0x79, 0x3b, 0x1c, 0x66, 0x45, 0xfb, 0x86, 0xd4, +}; +static const unsigned char kat2848_retbits[] = { + 0xa8, 0x56, 0x1d, 0x30, 0xe2, 0xfb, 0x9e, 0xaa, 0x7e, 0x30, 0x81, 0x38, + 0x5c, 0x82, 0xb3, 0xba, 0x5a, 0xfe, 0x99, 0x18, 0x59, 0x5d, 0x55, 0xaf, + 0xc4, 0x40, 0x2e, 0x88, 0x6a, 0x6c, 0x2f, 0xe0, 0xa0, 0x04, 0xb0, 0xd9, + 0xad, 0x2b, 0x7b, 0x2a, 0xe3, 0xff, 0x75, 0xaf, 0x39, 0x61, 0xe6, 0x90, + 0xd7, 0xec, 0x94, 0x84, 0x7d, 0xc3, 0x2e, 0x2c, 0x4a, 0x89, 0x68, 0x51, + 0xe6, 0xdd, 0x06, 0x70, +}; +static const struct drbg_kat_pr_false kat2848_t = { + 12, kat2848_entropyin, kat2848_nonce, kat2848_persstr, + kat2848_entropyinreseed, kat2848_addinreseed, kat2848_addin0, + kat2848_addin1, kat2848_retbits +}; +static const struct drbg_kat kat2848 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2848_t +}; + +static const unsigned char kat2849_entropyin[] = { + 0x07, 0xf0, 0xe0, 0xd4, 0xb9, 0xcb, 0x7d, 0x6d, 0xdb, 0xde, 0x41, 0xc3, + 0xf2, 0xeb, 0x34, 0x25, 0x68, 0x22, 0x76, 0x85, 0x0d, 0xfa, 0x1a, 0xff, + 0xf6, 0x39, 0x0a, 0x58, 0xd0, 0x47, 0x1f, 0xd7, 0x56, 0xd0, 0xdd, 0xee, + 0x3b, 0x07, 0x9e, 0x0d, 0xdb, 0x59, 0xb5, 0x25, 0xca, 0x45, 0xbe, 0xae, +}; +static const unsigned char kat2849_nonce[] = {0}; +static const unsigned char kat2849_persstr[] = {0}; +static const unsigned char kat2849_entropyinreseed[] = { + 0x05, 0x5c, 0xd0, 0x20, 0xdd, 0xd6, 0xf5, 0x32, 0x95, 0xbc, 0x19, 0x9a, + 0x63, 0x70, 0x21, 0xc0, 0x1f, 0x27, 0xe3, 0x23, 0xe6, 0x5d, 0x7b, 0xef, + 0x36, 0xec, 0xe3, 0xfb, 0x4e, 0x11, 0xa9, 0x17, 0xfd, 0x41, 0xe7, 0x3a, + 0xef, 0x00, 0xac, 0x38, 0xbd, 0x2b, 0x40, 0x75, 0x23, 0x6a, 0xdb, 0x7a, +}; +static const unsigned char kat2849_addinreseed[] = { + 0x74, 0x8c, 0xbd, 0x4b, 0x23, 0xf1, 0xe7, 0x3b, 0xc1, 0x78, 0xb0, 0x90, + 0xa8, 0x8a, 0x70, 0x6e, 0xf4, 0x23, 0x7f, 0xd7, 0x0c, 0xb6, 0xbb, 0x2f, + 0x05, 0xba, 0x89, 0x06, 0x86, 0xfd, 0xb9, 0x86, 0x3e, 0xd4, 0x0a, 0x88, + 0x31, 0x89, 0x71, 0x9c, 0x12, 0xdf, 0x60, 0x71, 0xbd, 0xfd, 0x65, 0xed, +}; +static const unsigned char kat2849_addin0[] = { + 0x43, 0x17, 0x1a, 0x09, 0x02, 0x19, 0x89, 0x1a, 0xc2, 0xde, 0xde, 0xc6, + 0x23, 0xb7, 0x22, 0x09, 0xbe, 0x58, 0xf6, 0xca, 0x36, 0x7d, 0xe9, 0xe2, + 0x3f, 0xe7, 0x1c, 0x43, 0x9d, 0x5c, 0x66, 0xd2, 0xfb, 0x5c, 0x3c, 0x9b, + 0x6d, 0xa5, 0xfe, 0xe4, 0xe7, 0xf5, 0xe0, 0x73, 0x7d, 0x21, 0x7f, 0x2f, +}; +static const unsigned char kat2849_addin1[] = { + 0xd5, 0x3a, 0xc1, 0x18, 0xa6, 0xc1, 0xb8, 0x19, 0x46, 0xee, 0xd0, 0x5c, + 0xcc, 0x6f, 0xfa, 0xf9, 0x93, 0x46, 0x40, 0x72, 0xb8, 0x6b, 0x68, 0x95, + 0xf7, 0x34, 0xb6, 0x64, 0xf6, 0x82, 0x64, 0xbb, 0x35, 0x1a, 0x82, 0x4e, + 0x07, 0x52, 0xd1, 0xb1, 0x91, 0x61, 0xf7, 0x1c, 0xcf, 0xcf, 0x93, 0xfc, +}; +static const unsigned char kat2849_retbits[] = { + 0xbd, 0xfe, 0xa3, 0x8e, 0x7f, 0xf3, 0x7e, 0xd4, 0x7d, 0x7a, 0x45, 0x0a, + 0xda, 0x63, 0xbe, 0x5f, 0xa2, 0x6e, 0xb1, 0xfe, 0x80, 0x32, 0x5e, 0x57, + 0xa3, 0xcd, 0x39, 0x1b, 0xda, 0xf0, 0x74, 0x02, 0x2b, 0xee, 0x4a, 0x0f, + 0x6c, 0x80, 0x6c, 0xf3, 0xb3, 0x64, 0x8a, 0x4e, 0xdd, 0x68, 0x22, 0x63, + 0x76, 0xa9, 0x55, 0x66, 0x82, 0x81, 0xeb, 0x3e, 0x0e, 0xdd, 0xfb, 0xa0, + 0x2d, 0xfe, 0xca, 0xe8, +}; +static const struct drbg_kat_pr_false kat2849_t = { + 13, kat2849_entropyin, kat2849_nonce, kat2849_persstr, + kat2849_entropyinreseed, kat2849_addinreseed, kat2849_addin0, + kat2849_addin1, kat2849_retbits +}; +static const struct drbg_kat kat2849 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2849_t +}; + +static const unsigned char kat2850_entropyin[] = { + 0x54, 0xd6, 0xfc, 0xcc, 0x17, 0x3c, 0x92, 0xe9, 0x39, 0xbf, 0xaa, 0xab, + 0xbf, 0x0b, 0x67, 0xb3, 0x62, 0xe5, 0xe2, 0x8e, 0xf1, 0x9b, 0xb2, 0x28, + 0x04, 0xdc, 0x4d, 0x08, 0x30, 0x78, 0x4c, 0x65, 0x34, 0x37, 0x6d, 0xb0, + 0xfb, 0x57, 0x95, 0x3d, 0xe7, 0x1d, 0xa4, 0x83, 0x94, 0x7f, 0x2f, 0x86, +}; +static const unsigned char kat2850_nonce[] = {0}; +static const unsigned char kat2850_persstr[] = {0}; +static const unsigned char kat2850_entropyinreseed[] = { + 0xa9, 0x7d, 0xe5, 0x96, 0x24, 0xf1, 0x8f, 0x7a, 0x94, 0xa6, 0xd4, 0x81, + 0x29, 0xe1, 0x98, 0x8d, 0xe1, 0x24, 0x8b, 0x1b, 0xa6, 0xc8, 0x1e, 0xcd, + 0x38, 0x82, 0xda, 0xf0, 0x31, 0x33, 0x43, 0xd5, 0xbb, 0x74, 0xe1, 0x62, + 0xe2, 0xe4, 0x63, 0xa6, 0xc1, 0xe5, 0xde, 0xf3, 0x89, 0xe2, 0x4e, 0x10, +}; +static const unsigned char kat2850_addinreseed[] = { + 0x86, 0x05, 0x0f, 0x8c, 0x9a, 0x0d, 0xf8, 0x12, 0xe6, 0xc4, 0x4d, 0x83, + 0xea, 0x9c, 0x9f, 0xfc, 0x47, 0x95, 0x34, 0xa6, 0xc4, 0x08, 0x7e, 0x91, + 0x2a, 0x63, 0x09, 0x2e, 0x18, 0x9c, 0xc1, 0x6e, 0xc0, 0x48, 0x93, 0x1e, + 0xb7, 0xaf, 0x64, 0x60, 0xd6, 0x7c, 0xc2, 0x74, 0x15, 0x4e, 0xe9, 0x14, +}; +static const unsigned char kat2850_addin0[] = { + 0x54, 0xdd, 0x28, 0x54, 0x3c, 0x85, 0x9f, 0xd4, 0xdc, 0x1e, 0x4f, 0x0a, + 0x44, 0xec, 0x9a, 0xa2, 0xb7, 0x58, 0xd5, 0x13, 0x79, 0xc0, 0xa9, 0xc7, + 0x58, 0x05, 0x35, 0x67, 0x93, 0x9d, 0xb6, 0xa9, 0x06, 0x32, 0x0d, 0x83, + 0x69, 0x3a, 0x0a, 0x59, 0x1f, 0xe9, 0x9c, 0x3e, 0x24, 0xd1, 0x29, 0x3d, +}; +static const unsigned char kat2850_addin1[] = { + 0x38, 0x03, 0xa5, 0x8e, 0x41, 0xfb, 0x76, 0x68, 0x47, 0xb9, 0xf5, 0x68, + 0xec, 0xd7, 0xf1, 0x99, 0x30, 0x91, 0xc4, 0x68, 0x9f, 0xcf, 0x70, 0xf7, + 0x54, 0xd3, 0x45, 0xec, 0x7a, 0x3f, 0x45, 0xd1, 0xfe, 0xcb, 0xfc, 0xc5, + 0x2c, 0xd6, 0x0b, 0x47, 0xb5, 0xa4, 0x86, 0xac, 0xb1, 0x55, 0xe2, 0x13, +}; +static const unsigned char kat2850_retbits[] = { + 0x3c, 0xfb, 0x2e, 0xda, 0x22, 0xc4, 0xf0, 0x18, 0x93, 0xb4, 0x76, 0x0b, + 0x78, 0x5d, 0x33, 0x0c, 0xb7, 0x71, 0x93, 0x8e, 0xd6, 0xf2, 0xf9, 0x29, + 0x03, 0x0f, 0xe6, 0x25, 0x78, 0x0f, 0xb9, 0x1f, 0xc2, 0xf9, 0x95, 0x24, + 0x09, 0xb9, 0x9f, 0x01, 0x1c, 0xb5, 0xe7, 0xe0, 0xb4, 0xa7, 0xd4, 0x61, + 0xbe, 0x80, 0xe9, 0x4e, 0x91, 0x11, 0x1a, 0xce, 0x06, 0x04, 0xa7, 0xa4, + 0x17, 0x19, 0xf3, 0xb3, +}; +static const struct drbg_kat_pr_false kat2850_t = { + 14, kat2850_entropyin, kat2850_nonce, kat2850_persstr, + kat2850_entropyinreseed, kat2850_addinreseed, kat2850_addin0, + kat2850_addin1, kat2850_retbits +}; +static const struct drbg_kat kat2850 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat2850_t +}; + +static const unsigned char kat2851_entropyin[] = { + 0xb5, 0xe2, 0xaf, 0x38, 0x59, 0x1a, 0x97, 0x43, 0xe5, 0xd3, 0xe4, 0x58, + 0x84, 0x8a, 0x39, 0x98, 0x53, 0x6d, 0x3b, 0x62, 0x5e, 0x16, 0x94, 0xbe, + 0x84, 0x7f, 0x95, 0xc3, 0xbf, 0xbd, 0xa2, 0x67, 0xf0, 0x86, 0x24, 0xbe, + 0x4b, 0xb6, 0xaa, 0x49, 0x6e, 0x1b, 0x59, 0x6b, 0xe5, 0x23, 0xe7, 0xc4, +}; +static const unsigned char kat2851_nonce[] = {0}; +static const unsigned char kat2851_persstr[] = { + 0x0a, 0x9a, 0x59, 0xe7, 0x60, 0x5c, 0x0e, 0x12, 0xfa, 0xe3, 0x17, 0xbb, + 0x00, 0x4a, 0xec, 0xf1, 0x42, 0x7b, 0xda, 0x4d, 0xca, 0x77, 0x18, 0x80, + 0x18, 0x95, 0xc3, 0x81, 0x79, 0xfd, 0x36, 0xcd, 0x92, 0x26, 0x34, 0xc3, + 0x78, 0x9a, 0x99, 0xb9, 0xd9, 0xc5, 0x56, 0xfe, 0x50, 0xa4, 0x1d, 0xe4, +}; +static const unsigned char kat2851_entropyinreseed[] = { + 0x94, 0x2e, 0xe9, 0x72, 0xa5, 0x99, 0xf3, 0x46, 0xbe, 0x15, 0x29, 0x9d, + 0x34, 0x78, 0x23, 0x02, 0x84, 0x69, 0xfc, 0x88, 0x3c, 0x5e, 0x45, 0x47, + 0x9e, 0x92, 0x43, 0xdf, 0x87, 0x10, 0xd1, 0xdc, 0x5c, 0x30, 0x73, 0x03, + 0x1e, 0x62, 0xf6, 0x05, 0xf2, 0x97, 0x47, 0x9c, 0x5b, 0xcf, 0xf9, 0x93, +}; +static const unsigned char kat2851_addinreseed[] = {0}; +static const unsigned char kat2851_addin0[] = {0}; +static const unsigned char kat2851_addin1[] = {0}; +static const unsigned char kat2851_retbits[] = { + 0x1f, 0x81, 0x82, 0x18, 0xf0, 0x6c, 0x98, 0x33, 0xf0, 0x84, 0xc2, 0xb0, + 0xec, 0xd0, 0x58, 0xd3, 0x77, 0xb2, 0xd0, 0x8c, 0x29, 0x43, 0xf4, 0xd2, + 0x4d, 0x2b, 0x5d, 0x7c, 0xad, 0x2b, 0xa4, 0x96, 0x97, 0xdc, 0x3a, 0xd8, + 0xd6, 0xc5, 0xc5, 0xaf, 0x63, 0x72, 0xf0, 0x2c, 0x18, 0x68, 0x75, 0x6c, + 0xa7, 0xb3, 0x9b, 0x54, 0x8c, 0xbf, 0x0d, 0x2b, 0xc5, 0xda, 0x2d, 0x11, + 0xed, 0x5c, 0x8f, 0x7f, +}; +static const struct drbg_kat_pr_false kat2851_t = { + 0, kat2851_entropyin, kat2851_nonce, kat2851_persstr, + kat2851_entropyinreseed, kat2851_addinreseed, kat2851_addin0, + kat2851_addin1, kat2851_retbits +}; +static const struct drbg_kat kat2851 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2851_t +}; + +static const unsigned char kat2852_entropyin[] = { + 0x60, 0xe9, 0x82, 0x30, 0x04, 0xe2, 0x95, 0x24, 0x13, 0x8c, 0x8f, 0x86, + 0x61, 0x65, 0x7d, 0x1f, 0x04, 0xcc, 0xc4, 0x18, 0xc5, 0xe2, 0xc6, 0x77, + 0xd2, 0x60, 0x78, 0xbe, 0xe0, 0x24, 0xe7, 0x16, 0x90, 0x63, 0xb1, 0x47, + 0xb7, 0xe0, 0x99, 0x46, 0x46, 0x8f, 0x4b, 0x9e, 0x34, 0x81, 0x97, 0x48, +}; +static const unsigned char kat2852_nonce[] = {0}; +static const unsigned char kat2852_persstr[] = { + 0x13, 0xaa, 0x6b, 0x6c, 0xa5, 0xe9, 0x4d, 0x0f, 0x2a, 0x5b, 0x3f, 0x50, + 0x5f, 0x8e, 0xb3, 0xaa, 0xc2, 0x2f, 0xc3, 0x93, 0x71, 0x5c, 0xde, 0x10, + 0x19, 0x63, 0xec, 0x87, 0x20, 0x69, 0x12, 0x60, 0x7d, 0x74, 0xa1, 0x1f, + 0x3c, 0x09, 0xa5, 0x5a, 0xfa, 0x18, 0xc5, 0xcc, 0x8a, 0xe1, 0x19, 0x17, +}; +static const unsigned char kat2852_entropyinreseed[] = { + 0x4a, 0x16, 0xf6, 0x7d, 0x28, 0x0b, 0x34, 0x62, 0x85, 0x97, 0xc6, 0x95, + 0x3a, 0xb5, 0xaf, 0x39, 0x02, 0xb9, 0x1b, 0x05, 0xc2, 0xc0, 0xc7, 0xc9, + 0x53, 0x66, 0xb9, 0x9c, 0x7e, 0x6a, 0x9c, 0x30, 0xe8, 0x76, 0xd1, 0xe3, + 0xc6, 0x34, 0xbd, 0x03, 0x77, 0xdc, 0x96, 0x9e, 0xa1, 0x19, 0x24, 0x7d, +}; +static const unsigned char kat2852_addinreseed[] = {0}; +static const unsigned char kat2852_addin0[] = {0}; +static const unsigned char kat2852_addin1[] = {0}; +static const unsigned char kat2852_retbits[] = { + 0x1b, 0x80, 0x9b, 0xde, 0x83, 0x2e, 0x7a, 0xb5, 0xf3, 0x72, 0x73, 0xd7, + 0xf1, 0xcc, 0xb4, 0xd7, 0xbb, 0xb1, 0xa1, 0x10, 0x53, 0xcc, 0x72, 0x27, + 0x1c, 0x44, 0xf4, 0xd2, 0x1a, 0x3e, 0xfb, 0x9a, 0x06, 0xa5, 0x48, 0x13, + 0x91, 0x1d, 0xc9, 0x9e, 0xd0, 0x16, 0x11, 0xf7, 0x57, 0x57, 0x67, 0x7b, + 0xa8, 0x92, 0x71, 0x9c, 0xb6, 0xce, 0x9d, 0xde, 0x26, 0x22, 0x90, 0x45, + 0x3e, 0x4f, 0x00, 0xc3, +}; +static const struct drbg_kat_pr_false kat2852_t = { + 1, kat2852_entropyin, kat2852_nonce, kat2852_persstr, + kat2852_entropyinreseed, kat2852_addinreseed, kat2852_addin0, + kat2852_addin1, kat2852_retbits +}; +static const struct drbg_kat kat2852 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2852_t +}; + +static const unsigned char kat2853_entropyin[] = { + 0xf4, 0xd2, 0xdb, 0xd7, 0xc0, 0xf5, 0x21, 0x89, 0xe3, 0x29, 0x41, 0x5d, + 0x96, 0x90, 0xc8, 0x61, 0x56, 0x63, 0xc8, 0x6f, 0x5c, 0x09, 0x75, 0x29, + 0xe6, 0x8c, 0x9a, 0x7e, 0xca, 0x0a, 0xd0, 0xbc, 0x2e, 0xae, 0xcf, 0x91, + 0x18, 0x87, 0x62, 0x22, 0x04, 0xca, 0x9e, 0xdc, 0x1e, 0xae, 0x41, 0x0d, +}; +static const unsigned char kat2853_nonce[] = {0}; +static const unsigned char kat2853_persstr[] = { + 0x99, 0x62, 0xca, 0xa3, 0x5f, 0x06, 0xbc, 0x27, 0x6a, 0x23, 0x61, 0xe4, + 0x02, 0x9b, 0x1b, 0xf0, 0x21, 0x84, 0x02, 0x4c, 0x52, 0xcb, 0xbf, 0xf2, + 0xd8, 0xfd, 0x1e, 0xeb, 0xfa, 0xa2, 0x31, 0xab, 0x49, 0x13, 0x68, 0x0c, + 0x2f, 0xca, 0x1a, 0xfd, 0xd2, 0x29, 0x79, 0x24, 0x1a, 0x29, 0x1d, 0xb2, +}; +static const unsigned char kat2853_entropyinreseed[] = { + 0x43, 0x07, 0xea, 0x69, 0x5c, 0x2a, 0xd7, 0xd8, 0x0b, 0x36, 0x47, 0x6a, + 0x5e, 0x35, 0x27, 0xca, 0x13, 0xff, 0x8f, 0xdd, 0x7c, 0x5c, 0xc7, 0x12, + 0xbb, 0x0a, 0x40, 0x71, 0xc0, 0x08, 0xfd, 0x5a, 0xde, 0xff, 0x70, 0xe5, + 0xde, 0x94, 0x39, 0x0f, 0x58, 0xe1, 0xfe, 0x88, 0x4b, 0x41, 0x96, 0xeb, +}; +static const unsigned char kat2853_addinreseed[] = {0}; +static const unsigned char kat2853_addin0[] = {0}; +static const unsigned char kat2853_addin1[] = {0}; +static const unsigned char kat2853_retbits[] = { + 0xd9, 0xd0, 0xde, 0xf9, 0x80, 0x0d, 0xde, 0x19, 0xe1, 0x24, 0x05, 0xb9, + 0x20, 0xa6, 0x80, 0x60, 0x27, 0x15, 0xcc, 0x91, 0xc7, 0x40, 0x88, 0xf4, + 0x19, 0x7b, 0x2c, 0x1d, 0x60, 0xf0, 0xb3, 0x3d, 0x34, 0xcd, 0x05, 0x01, + 0x6f, 0xcb, 0x69, 0x91, 0x39, 0x40, 0x2c, 0xf4, 0xfd, 0x5b, 0x7f, 0xa2, + 0xd3, 0xd7, 0x44, 0xad, 0x56, 0x75, 0xec, 0x06, 0x1a, 0xdb, 0xfc, 0x93, + 0x79, 0xa4, 0xca, 0xdb, +}; +static const struct drbg_kat_pr_false kat2853_t = { + 2, kat2853_entropyin, kat2853_nonce, kat2853_persstr, + kat2853_entropyinreseed, kat2853_addinreseed, kat2853_addin0, + kat2853_addin1, kat2853_retbits +}; +static const struct drbg_kat kat2853 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2853_t +}; + +static const unsigned char kat2854_entropyin[] = { + 0xd4, 0x42, 0x89, 0x5e, 0x5f, 0x7b, 0x2a, 0x33, 0xde, 0x8c, 0xab, 0xe3, + 0x0e, 0xa2, 0xaa, 0xca, 0x3b, 0xd4, 0x13, 0xe6, 0x2f, 0x65, 0x14, 0xd0, + 0xe6, 0x50, 0x9a, 0xba, 0x81, 0xaa, 0x58, 0xf9, 0xfc, 0x7f, 0xa9, 0xde, + 0xb5, 0xb1, 0x0d, 0xc2, 0x75, 0xdf, 0x63, 0x83, 0xfc, 0x54, 0x90, 0x24, +}; +static const unsigned char kat2854_nonce[] = {0}; +static const unsigned char kat2854_persstr[] = { + 0xe4, 0x32, 0xbe, 0x1e, 0xa0, 0x4e, 0x11, 0xe5, 0xef, 0x9d, 0x39, 0x89, + 0x2b, 0xbd, 0x38, 0xae, 0x2e, 0xa8, 0x99, 0x14, 0x38, 0x18, 0x1a, 0x34, + 0x28, 0x34, 0x85, 0x30, 0xec, 0x37, 0x7f, 0xb0, 0xd8, 0xa8, 0x3f, 0xbf, + 0xe0, 0xfb, 0x34, 0xec, 0x0e, 0xb1, 0xe6, 0x94, 0xd9, 0x1a, 0x5d, 0xa2, +}; +static const unsigned char kat2854_entropyinreseed[] = { + 0xb5, 0xc6, 0x20, 0x1a, 0xd5, 0x05, 0x9f, 0xf6, 0x61, 0xc2, 0x73, 0x67, + 0xc5, 0x60, 0x02, 0x9f, 0x06, 0xcb, 0x93, 0x6c, 0x97, 0x0a, 0x74, 0x4e, + 0xa1, 0xac, 0xa4, 0x64, 0xb9, 0x03, 0xc0, 0x69, 0x88, 0xb4, 0x80, 0x00, + 0x46, 0x20, 0x8c, 0xf3, 0x65, 0x94, 0xd0, 0x6c, 0xa3, 0x97, 0x77, 0x35, +}; +static const unsigned char kat2854_addinreseed[] = {0}; +static const unsigned char kat2854_addin0[] = {0}; +static const unsigned char kat2854_addin1[] = {0}; +static const unsigned char kat2854_retbits[] = { + 0x8e, 0xdb, 0xaf, 0xd5, 0x51, 0xfd, 0x28, 0xea, 0x37, 0x19, 0x0c, 0x6a, + 0x99, 0xb5, 0x48, 0x31, 0x89, 0x4a, 0xc5, 0x4c, 0x93, 0x4d, 0x01, 0xb6, + 0xfc, 0x3e, 0x43, 0x48, 0x4c, 0x87, 0xcd, 0x78, 0x19, 0x54, 0x72, 0xab, + 0x30, 0x44, 0xec, 0x99, 0xcc, 0x19, 0x74, 0xbe, 0x04, 0xe9, 0x0c, 0x23, + 0x3e, 0x02, 0xc8, 0x37, 0xbc, 0x5e, 0xaf, 0x42, 0x7a, 0x0f, 0xc0, 0xfd, + 0x38, 0xd3, 0x5f, 0x5e, +}; +static const struct drbg_kat_pr_false kat2854_t = { + 3, kat2854_entropyin, kat2854_nonce, kat2854_persstr, + kat2854_entropyinreseed, kat2854_addinreseed, kat2854_addin0, + kat2854_addin1, kat2854_retbits +}; +static const struct drbg_kat kat2854 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2854_t +}; + +static const unsigned char kat2855_entropyin[] = { + 0xe1, 0x1e, 0x6a, 0x3f, 0x6a, 0x33, 0xe0, 0x20, 0xcf, 0x04, 0x96, 0x5a, + 0xa4, 0x29, 0x94, 0xdd, 0x9c, 0x6d, 0x30, 0xcd, 0xec, 0x75, 0x8a, 0x2e, + 0x02, 0xca, 0x01, 0x4a, 0x6c, 0x48, 0xd5, 0xb6, 0x5f, 0xc0, 0x3a, 0x0c, + 0x25, 0x54, 0xa0, 0x30, 0x3f, 0xd6, 0x08, 0x5d, 0xf7, 0x8d, 0x54, 0xde, +}; +static const unsigned char kat2855_nonce[] = {0}; +static const unsigned char kat2855_persstr[] = { + 0x5a, 0x4c, 0xad, 0x89, 0xf2, 0xd9, 0xb4, 0x0d, 0xb9, 0xcf, 0xe1, 0x2d, + 0x45, 0xed, 0x7f, 0x4c, 0x63, 0xe7, 0x65, 0xe2, 0x6c, 0x84, 0xae, 0x3c, + 0xe5, 0xfa, 0xc8, 0x44, 0xfe, 0x6b, 0x03, 0xa7, 0x38, 0x89, 0x0f, 0x21, + 0xfb, 0xb7, 0xf2, 0xd0, 0x9a, 0x56, 0xe0, 0x25, 0x2f, 0x52, 0xc5, 0x99, +}; +static const unsigned char kat2855_entropyinreseed[] = { + 0xb8, 0x96, 0x15, 0x21, 0xb6, 0x78, 0xc4, 0xe2, 0x73, 0x7c, 0x6c, 0x62, + 0xa3, 0x19, 0x51, 0x01, 0x90, 0xfe, 0xe1, 0x4b, 0x79, 0x3a, 0xdb, 0x0b, + 0x4f, 0xe1, 0x13, 0xca, 0x9b, 0xf8, 0xc8, 0x6d, 0x28, 0x36, 0x6d, 0xf0, + 0xfe, 0x5f, 0x36, 0x13, 0x1b, 0x7d, 0xc1, 0xb0, 0x63, 0x7a, 0x70, 0x46, +}; +static const unsigned char kat2855_addinreseed[] = {0}; +static const unsigned char kat2855_addin0[] = {0}; +static const unsigned char kat2855_addin1[] = {0}; +static const unsigned char kat2855_retbits[] = { + 0x14, 0x04, 0xfb, 0xbe, 0x62, 0xe0, 0x34, 0x63, 0xc4, 0x35, 0xc2, 0xb6, + 0x75, 0xf7, 0x6d, 0xbd, 0x22, 0xaf, 0x1b, 0x2f, 0xce, 0x2b, 0x6e, 0x94, + 0x9e, 0x2d, 0xf9, 0xef, 0xb8, 0xa3, 0xff, 0xe7, 0x38, 0xc3, 0xf7, 0x8f, + 0x9c, 0x85, 0x2a, 0x3c, 0xb1, 0xf4, 0x13, 0x12, 0x2d, 0x42, 0x76, 0xd1, + 0x85, 0xf1, 0x59, 0x9e, 0xe6, 0xcb, 0x7f, 0x21, 0x8c, 0x23, 0xb1, 0xa9, + 0xc9, 0xe0, 0xe8, 0x0c, +}; +static const struct drbg_kat_pr_false kat2855_t = { + 4, kat2855_entropyin, kat2855_nonce, kat2855_persstr, + kat2855_entropyinreseed, kat2855_addinreseed, kat2855_addin0, + kat2855_addin1, kat2855_retbits +}; +static const struct drbg_kat kat2855 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2855_t +}; + +static const unsigned char kat2856_entropyin[] = { + 0x04, 0x30, 0xe1, 0x1d, 0x66, 0x4a, 0xd3, 0xcf, 0x63, 0xee, 0x3e, 0xbd, + 0xf5, 0x5c, 0x27, 0xe7, 0xb3, 0xde, 0xb7, 0xfb, 0xe7, 0xa9, 0x74, 0xe4, + 0x0e, 0x89, 0x43, 0x7b, 0x7f, 0xfd, 0x30, 0xc2, 0x3a, 0xe3, 0xe0, 0x04, + 0x5a, 0x53, 0x68, 0x1b, 0x82, 0x89, 0x91, 0xa6, 0x90, 0x48, 0x86, 0xfa, +}; +static const unsigned char kat2856_nonce[] = {0}; +static const unsigned char kat2856_persstr[] = { + 0xec, 0x0f, 0xf9, 0x52, 0xdd, 0x69, 0x26, 0xa4, 0xe8, 0x58, 0xe8, 0x13, + 0xc4, 0x89, 0xc9, 0xcd, 0x13, 0xcd, 0xbc, 0xc3, 0x09, 0x2e, 0xcb, 0x30, + 0x05, 0x4a, 0xf7, 0x8c, 0x29, 0x74, 0xf3, 0xe8, 0xa1, 0x9a, 0x2d, 0x13, + 0xe8, 0x22, 0xde, 0xf7, 0xfa, 0x66, 0xdc, 0x77, 0x7b, 0x07, 0x2d, 0x2e, +}; +static const unsigned char kat2856_entropyinreseed[] = { + 0x3a, 0x02, 0xe3, 0x81, 0xd3, 0x79, 0xc9, 0xde, 0x62, 0x4e, 0xb5, 0x3a, + 0x8b, 0xae, 0xd2, 0xd9, 0xfe, 0x00, 0xa5, 0xe0, 0xd0, 0xbf, 0xba, 0x5b, + 0x8d, 0x75, 0x43, 0x6e, 0xc7, 0x2c, 0x56, 0x36, 0xb0, 0x90, 0x0b, 0x52, + 0x50, 0x0c, 0xb2, 0x44, 0x08, 0x8c, 0x97, 0x75, 0x45, 0x10, 0xdd, 0x8a, +}; +static const unsigned char kat2856_addinreseed[] = {0}; +static const unsigned char kat2856_addin0[] = {0}; +static const unsigned char kat2856_addin1[] = {0}; +static const unsigned char kat2856_retbits[] = { + 0x85, 0x16, 0x89, 0xef, 0x8c, 0xd6, 0x08, 0x00, 0xe5, 0x50, 0xc6, 0x9a, + 0x9f, 0x1a, 0xde, 0xc3, 0x1d, 0x75, 0x20, 0x8f, 0xf4, 0xb3, 0x95, 0x0a, + 0xa0, 0xfd, 0x8b, 0x49, 0x65, 0x6a, 0x54, 0xce, 0xef, 0xf9, 0x25, 0x07, + 0x52, 0xb5, 0x64, 0xcc, 0x8e, 0x92, 0x39, 0x75, 0xdb, 0x08, 0xeb, 0x04, + 0x79, 0xb1, 0x5d, 0x2a, 0xd7, 0x7e, 0xc9, 0x33, 0x1f, 0x89, 0xd7, 0xe7, + 0x62, 0x18, 0x51, 0xe9, +}; +static const struct drbg_kat_pr_false kat2856_t = { + 5, kat2856_entropyin, kat2856_nonce, kat2856_persstr, + kat2856_entropyinreseed, kat2856_addinreseed, kat2856_addin0, + kat2856_addin1, kat2856_retbits +}; +static const struct drbg_kat kat2856 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2856_t +}; + +static const unsigned char kat2857_entropyin[] = { + 0x55, 0x48, 0x8d, 0x38, 0x83, 0xe3, 0x7a, 0x2f, 0xd1, 0x16, 0xaf, 0x22, + 0x4b, 0xa4, 0xfb, 0xf5, 0x44, 0x89, 0x69, 0xac, 0x05, 0xe5, 0x56, 0xbb, + 0x87, 0x72, 0x30, 0x6d, 0xca, 0xea, 0x51, 0x84, 0xbe, 0x73, 0xdf, 0x55, + 0x45, 0xc2, 0x56, 0xc1, 0x77, 0x03, 0x8d, 0x9b, 0x72, 0x48, 0x92, 0x4a, +}; +static const unsigned char kat2857_nonce[] = {0}; +static const unsigned char kat2857_persstr[] = { + 0x5f, 0x01, 0xf6, 0x6a, 0x7e, 0x69, 0x87, 0xf9, 0x01, 0x81, 0x97, 0x09, + 0x64, 0x04, 0xe7, 0x4e, 0x29, 0xa9, 0x28, 0x57, 0x31, 0xc3, 0x58, 0x6a, + 0xf4, 0xf3, 0x0e, 0xd5, 0xf1, 0x48, 0x8e, 0x6c, 0xa6, 0x1a, 0xf4, 0x9c, + 0x46, 0xb8, 0x00, 0xa6, 0x4a, 0xe0, 0xc4, 0x59, 0xb8, 0xff, 0xf5, 0x7a, +}; +static const unsigned char kat2857_entropyinreseed[] = { + 0x6f, 0x41, 0x2c, 0x13, 0x8b, 0x00, 0x14, 0xb8, 0xbc, 0x93, 0xc2, 0x8e, + 0x28, 0x7a, 0x61, 0x11, 0x1b, 0xea, 0xa8, 0xbf, 0x0b, 0xc1, 0x87, 0xa3, + 0x40, 0x10, 0x22, 0x08, 0x3b, 0xa3, 0xd8, 0xc0, 0x1b, 0x87, 0x98, 0xda, + 0xac, 0xbd, 0x8d, 0xfd, 0xb1, 0xa6, 0xff, 0xc2, 0x2b, 0xf0, 0x52, 0xff, +}; +static const unsigned char kat2857_addinreseed[] = {0}; +static const unsigned char kat2857_addin0[] = {0}; +static const unsigned char kat2857_addin1[] = {0}; +static const unsigned char kat2857_retbits[] = { + 0x19, 0x42, 0x51, 0xba, 0x61, 0x1a, 0x8c, 0x56, 0x7e, 0x1a, 0x1b, 0x1e, + 0xe5, 0xf9, 0x49, 0x84, 0xe2, 0xb1, 0xbd, 0x47, 0x58, 0xa6, 0x88, 0x17, + 0x53, 0x6b, 0x1c, 0x21, 0xae, 0xa3, 0x03, 0x55, 0x17, 0xca, 0x2b, 0x6f, + 0x61, 0xa0, 0x01, 0x86, 0xd3, 0xee, 0x3c, 0x72, 0x30, 0xfc, 0x39, 0x3a, + 0x8d, 0x40, 0x00, 0x52, 0x4b, 0x50, 0x85, 0x43, 0x12, 0x51, 0x98, 0xc9, + 0xe8, 0x46, 0x4b, 0xd4, +}; +static const struct drbg_kat_pr_false kat2857_t = { + 6, kat2857_entropyin, kat2857_nonce, kat2857_persstr, + kat2857_entropyinreseed, kat2857_addinreseed, kat2857_addin0, + kat2857_addin1, kat2857_retbits +}; +static const struct drbg_kat kat2857 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2857_t +}; + +static const unsigned char kat2858_entropyin[] = { + 0x90, 0x90, 0x58, 0xc5, 0x37, 0xb8, 0x6e, 0x34, 0x80, 0x39, 0x6e, 0x17, + 0x99, 0xfa, 0x9b, 0xdb, 0xb4, 0x27, 0x3b, 0x71, 0x23, 0xd6, 0xba, 0x3d, + 0x79, 0xc8, 0x5b, 0x98, 0x71, 0x95, 0x23, 0x68, 0x63, 0x1c, 0x85, 0xc9, + 0xb3, 0xd1, 0x7e, 0x75, 0xe3, 0xe6, 0xb2, 0x3b, 0xfa, 0xd6, 0x66, 0x58, +}; +static const unsigned char kat2858_nonce[] = {0}; +static const unsigned char kat2858_persstr[] = { + 0xd0, 0x24, 0x48, 0xc0, 0x61, 0x18, 0xec, 0x9a, 0x2b, 0x0c, 0xc6, 0x86, + 0x11, 0x4a, 0xfd, 0xba, 0x9b, 0x30, 0x41, 0xe4, 0xb9, 0x2a, 0xb9, 0x79, + 0x64, 0xcb, 0x6d, 0x30, 0xf0, 0xbf, 0x8c, 0x13, 0xe2, 0xb7, 0x1d, 0x6a, + 0x04, 0x3e, 0x64, 0x6d, 0x41, 0x34, 0x44, 0x05, 0x69, 0x64, 0xff, 0x7a, +}; +static const unsigned char kat2858_entropyinreseed[] = { + 0x96, 0x91, 0x9c, 0x4a, 0xef, 0x8d, 0x31, 0x81, 0xdc, 0x51, 0x84, 0x37, + 0x96, 0x91, 0x09, 0xa5, 0x0a, 0xd6, 0xe7, 0x61, 0xc8, 0x69, 0x30, 0x61, + 0xff, 0xa7, 0x1c, 0x45, 0xbc, 0x12, 0xbd, 0x96, 0x86, 0xd7, 0x84, 0x41, + 0x59, 0x8e, 0xd4, 0x54, 0x18, 0x3e, 0x5d, 0xe1, 0x2d, 0x9d, 0x23, 0x5a, +}; +static const unsigned char kat2858_addinreseed[] = {0}; +static const unsigned char kat2858_addin0[] = {0}; +static const unsigned char kat2858_addin1[] = {0}; +static const unsigned char kat2858_retbits[] = { + 0x7b, 0x97, 0x74, 0x0b, 0xeb, 0xdd, 0x21, 0x6d, 0x43, 0x60, 0x34, 0x40, + 0xd0, 0xa3, 0x99, 0xf8, 0x36, 0xf5, 0x80, 0xcc, 0x8d, 0x13, 0x29, 0xcd, + 0x65, 0x3c, 0x5a, 0x7a, 0xc7, 0x87, 0x36, 0x6d, 0x98, 0x0d, 0x7a, 0xd5, + 0xb7, 0x36, 0xb8, 0x67, 0x32, 0x56, 0x80, 0xe2, 0xf8, 0xfa, 0x71, 0x35, + 0x30, 0x8e, 0x73, 0xe1, 0x85, 0xd4, 0x76, 0x23, 0xa3, 0xfc, 0x46, 0x83, + 0x55, 0x7b, 0xee, 0x8e, +}; +static const struct drbg_kat_pr_false kat2858_t = { + 7, kat2858_entropyin, kat2858_nonce, kat2858_persstr, + kat2858_entropyinreseed, kat2858_addinreseed, kat2858_addin0, + kat2858_addin1, kat2858_retbits +}; +static const struct drbg_kat kat2858 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2858_t +}; + +static const unsigned char kat2859_entropyin[] = { + 0x2b, 0xdb, 0x7d, 0x32, 0xeb, 0x81, 0xdb, 0x9d, 0x9c, 0xf1, 0xe4, 0xbd, + 0xc4, 0xe0, 0x2d, 0xe2, 0x77, 0xf7, 0x4e, 0xfd, 0xec, 0x24, 0x1b, 0x2f, + 0x28, 0x7b, 0xc8, 0x23, 0x62, 0xbe, 0x45, 0x33, 0xe4, 0x15, 0x17, 0x58, + 0xbd, 0x73, 0x7d, 0x57, 0x5a, 0x22, 0x68, 0x40, 0xfe, 0x48, 0xd8, 0x37, +}; +static const unsigned char kat2859_nonce[] = {0}; +static const unsigned char kat2859_persstr[] = { + 0xad, 0x07, 0xfa, 0x56, 0xa9, 0xc3, 0x65, 0xbf, 0x4f, 0x16, 0xaa, 0x90, + 0x33, 0xf7, 0x1b, 0x4c, 0xf2, 0x10, 0xd7, 0xd8, 0x3c, 0xcf, 0xa7, 0x48, + 0x5d, 0x4c, 0xca, 0x10, 0x5a, 0xa0, 0x14, 0x62, 0x45, 0x06, 0x13, 0xa7, + 0xa9, 0xe2, 0x60, 0x0a, 0x18, 0x72, 0xb2, 0x92, 0xc0, 0xe6, 0xf4, 0xb3, +}; +static const unsigned char kat2859_entropyinreseed[] = { + 0x07, 0x29, 0xf2, 0xa2, 0xf8, 0x4e, 0xa9, 0x02, 0xcb, 0x6e, 0x84, 0xa8, + 0xfa, 0x6a, 0xa4, 0x0e, 0x24, 0xc6, 0x4a, 0x1b, 0x67, 0xa0, 0x60, 0xdd, + 0x47, 0xa1, 0x17, 0xcc, 0x85, 0x4d, 0x5c, 0xa0, 0x06, 0xba, 0xd5, 0x21, + 0x8e, 0x64, 0x00, 0x5b, 0x1b, 0xcb, 0x88, 0x80, 0xa0, 0x20, 0x7d, 0x7c, +}; +static const unsigned char kat2859_addinreseed[] = {0}; +static const unsigned char kat2859_addin0[] = {0}; +static const unsigned char kat2859_addin1[] = {0}; +static const unsigned char kat2859_retbits[] = { + 0x58, 0xf5, 0x6e, 0x07, 0x8b, 0x05, 0xae, 0x56, 0x56, 0x68, 0x00, 0x9e, + 0xc2, 0x71, 0x5b, 0x9a, 0x6f, 0x14, 0x53, 0x1c, 0x2b, 0x96, 0x5b, 0x7c, + 0xea, 0xbb, 0x44, 0x78, 0xcc, 0xe2, 0xdb, 0x9b, 0xbc, 0x86, 0x1e, 0x70, + 0xd0, 0xf8, 0x03, 0x73, 0xeb, 0xf3, 0xf0, 0xfa, 0x8a, 0x2e, 0x90, 0xea, + 0x63, 0x66, 0xb0, 0x25, 0xa1, 0x41, 0xd9, 0xc7, 0xbd, 0xfa, 0xed, 0xa1, + 0x09, 0xca, 0xbb, 0x90, +}; +static const struct drbg_kat_pr_false kat2859_t = { + 8, kat2859_entropyin, kat2859_nonce, kat2859_persstr, + kat2859_entropyinreseed, kat2859_addinreseed, kat2859_addin0, + kat2859_addin1, kat2859_retbits +}; +static const struct drbg_kat kat2859 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2859_t +}; + +static const unsigned char kat2860_entropyin[] = { + 0x5e, 0x42, 0xe2, 0x37, 0x5f, 0xc5, 0x72, 0xe1, 0x4f, 0x86, 0x30, 0x9c, + 0x72, 0x46, 0xa1, 0x7e, 0xea, 0xa5, 0xb7, 0x2c, 0xe0, 0x53, 0x87, 0xb0, + 0x42, 0x67, 0x3e, 0x75, 0xb5, 0x54, 0x06, 0x69, 0x62, 0x7a, 0xaa, 0x8f, + 0x43, 0x06, 0xd3, 0x05, 0x09, 0x30, 0xf8, 0xb0, 0xdc, 0x72, 0x7d, 0x55, +}; +static const unsigned char kat2860_nonce[] = {0}; +static const unsigned char kat2860_persstr[] = { + 0x90, 0xb2, 0x48, 0x09, 0x69, 0xb1, 0xbf, 0x80, 0x5a, 0x2c, 0x8c, 0x75, + 0x1b, 0xd7, 0x62, 0x29, 0xca, 0xf5, 0xb6, 0x7b, 0xf0, 0x55, 0xf4, 0xa5, + 0x19, 0xba, 0xdc, 0xb8, 0xe8, 0x8e, 0xb0, 0x05, 0x8f, 0x67, 0x2f, 0x6c, + 0xd0, 0x7e, 0xed, 0x9d, 0x40, 0x6c, 0x17, 0x09, 0xf9, 0x3a, 0x8a, 0x4c, +}; +static const unsigned char kat2860_entropyinreseed[] = { + 0x61, 0xb4, 0xfc, 0x67, 0xfc, 0xce, 0x7d, 0x68, 0xc4, 0xac, 0x4c, 0x5f, + 0x54, 0xea, 0x8c, 0xfa, 0x96, 0x67, 0xf5, 0x83, 0x75, 0xfd, 0xc4, 0x74, + 0xa0, 0xd7, 0x64, 0x0a, 0xc5, 0x38, 0xd6, 0xcb, 0xe2, 0x51, 0x7e, 0xc0, + 0x99, 0x7d, 0xec, 0x62, 0x66, 0x9c, 0x19, 0x85, 0xb8, 0x4c, 0x45, 0x78, +}; +static const unsigned char kat2860_addinreseed[] = {0}; +static const unsigned char kat2860_addin0[] = {0}; +static const unsigned char kat2860_addin1[] = {0}; +static const unsigned char kat2860_retbits[] = { + 0x96, 0x05, 0xd5, 0x38, 0x01, 0x60, 0xc7, 0x54, 0xe4, 0x3e, 0xd8, 0xca, + 0xa5, 0xb5, 0xbd, 0x2d, 0x9c, 0xd9, 0x54, 0xea, 0x0c, 0x1c, 0x10, 0xeb, + 0x02, 0xc6, 0x49, 0xb0, 0xaa, 0x84, 0x63, 0xba, 0xda, 0xf3, 0x5a, 0x9e, + 0xf4, 0xb2, 0x34, 0x1b, 0x1a, 0x16, 0xd4, 0x13, 0x22, 0x4f, 0xe8, 0x03, + 0xfe, 0x99, 0x7d, 0x8b, 0xa4, 0xfc, 0x58, 0xea, 0x52, 0x54, 0xb4, 0xd2, + 0x8d, 0x11, 0x6e, 0x3f, +}; +static const struct drbg_kat_pr_false kat2860_t = { + 9, kat2860_entropyin, kat2860_nonce, kat2860_persstr, + kat2860_entropyinreseed, kat2860_addinreseed, kat2860_addin0, + kat2860_addin1, kat2860_retbits +}; +static const struct drbg_kat kat2860 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2860_t +}; + +static const unsigned char kat2861_entropyin[] = { + 0x3a, 0x51, 0xed, 0xf5, 0xf6, 0x90, 0xb0, 0x82, 0x4a, 0x0a, 0xb3, 0xb8, + 0x74, 0xb3, 0x84, 0x72, 0xdc, 0x72, 0x79, 0xaf, 0x5f, 0x54, 0x87, 0x5a, + 0x49, 0x73, 0x35, 0x5c, 0x1f, 0x37, 0xa9, 0x88, 0xe6, 0x7c, 0x26, 0xc6, + 0xda, 0xf2, 0x8e, 0xa4, 0x3e, 0x70, 0x01, 0x74, 0xfa, 0xe5, 0x4d, 0x2e, +}; +static const unsigned char kat2861_nonce[] = {0}; +static const unsigned char kat2861_persstr[] = { + 0xfc, 0xa8, 0xe0, 0xf6, 0xe2, 0xab, 0x70, 0x68, 0x5c, 0xc0, 0xca, 0x05, + 0xa6, 0xfb, 0xa7, 0xe6, 0x66, 0x87, 0x0c, 0x98, 0x63, 0xac, 0xe0, 0xa5, + 0xd5, 0x01, 0x1a, 0x28, 0x7e, 0x92, 0x76, 0xc0, 0x72, 0xbb, 0x81, 0x0b, + 0xf3, 0xcd, 0x86, 0x53, 0xd2, 0xb5, 0xc8, 0x34, 0x5d, 0xf2, 0x2c, 0xfa, +}; +static const unsigned char kat2861_entropyinreseed[] = { + 0x7d, 0x08, 0x03, 0x60, 0x7d, 0x7a, 0xd2, 0xbf, 0xda, 0xbc, 0xd8, 0x5f, + 0xa2, 0x65, 0x32, 0xa0, 0x9a, 0x15, 0xec, 0x34, 0xe7, 0xa4, 0x59, 0xcd, + 0x2e, 0x39, 0xb9, 0x45, 0x26, 0xa0, 0x90, 0x94, 0x93, 0xf2, 0xa6, 0xb1, + 0xcb, 0x5b, 0xde, 0xc6, 0xc8, 0xa8, 0xe2, 0x29, 0xac, 0x69, 0xd5, 0x91, +}; +static const unsigned char kat2861_addinreseed[] = {0}; +static const unsigned char kat2861_addin0[] = {0}; +static const unsigned char kat2861_addin1[] = {0}; +static const unsigned char kat2861_retbits[] = { + 0x21, 0xb9, 0x35, 0x51, 0xa1, 0x27, 0x57, 0xb4, 0x3f, 0x38, 0x41, 0x92, + 0xd2, 0x4e, 0xe6, 0x4e, 0xb5, 0x99, 0x77, 0x9c, 0x29, 0x88, 0xa0, 0x0b, + 0xe9, 0x2e, 0x31, 0xde, 0x79, 0x86, 0x23, 0x43, 0xce, 0x1a, 0xa9, 0xcc, + 0x07, 0x4d, 0xe6, 0x2d, 0x43, 0x83, 0x84, 0x8b, 0xb5, 0x26, 0x1c, 0xcb, + 0x8d, 0x73, 0xa2, 0xf7, 0xba, 0x91, 0x4c, 0xbe, 0xfa, 0xd8, 0xf0, 0x92, + 0xa8, 0xdb, 0xf9, 0xdb, +}; +static const struct drbg_kat_pr_false kat2861_t = { + 10, kat2861_entropyin, kat2861_nonce, kat2861_persstr, + kat2861_entropyinreseed, kat2861_addinreseed, kat2861_addin0, + kat2861_addin1, kat2861_retbits +}; +static const struct drbg_kat kat2861 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2861_t +}; + +static const unsigned char kat2862_entropyin[] = { + 0xda, 0xb7, 0xa3, 0xaa, 0x53, 0xf8, 0x52, 0x73, 0xa9, 0x00, 0x15, 0xd3, + 0x2f, 0xb3, 0x99, 0x3f, 0xab, 0xd8, 0x24, 0x4f, 0x12, 0x35, 0x7f, 0x04, + 0xf2, 0xac, 0x16, 0xfc, 0xcc, 0xd3, 0x53, 0xc5, 0xe2, 0xd1, 0xc7, 0x02, + 0x8e, 0xff, 0x32, 0x2a, 0x8b, 0x80, 0x86, 0x34, 0xdb, 0xc6, 0x83, 0xb8, +}; +static const unsigned char kat2862_nonce[] = {0}; +static const unsigned char kat2862_persstr[] = { + 0xb7, 0x4d, 0x00, 0xce, 0x34, 0x6d, 0x1a, 0xb7, 0x29, 0xd5, 0x43, 0xd8, + 0x2c, 0x33, 0x17, 0xf4, 0xdd, 0x3c, 0x6f, 0x6f, 0xee, 0x39, 0xd4, 0x74, + 0xe3, 0x9b, 0x79, 0xd6, 0xc1, 0xe0, 0xe1, 0x5f, 0xf2, 0x42, 0x1d, 0xf2, + 0x0f, 0x02, 0x67, 0x72, 0x9e, 0xed, 0x34, 0x1a, 0x8d, 0x06, 0x8d, 0x67, +}; +static const unsigned char kat2862_entropyinreseed[] = { + 0x4d, 0xa7, 0x94, 0xec, 0x63, 0x5d, 0xbd, 0x72, 0xca, 0x89, 0x7c, 0x4a, + 0x5c, 0x3a, 0x4b, 0x08, 0xee, 0x0b, 0xdf, 0xed, 0x89, 0xfc, 0x6e, 0x52, + 0xb6, 0x95, 0xf3, 0x2f, 0x8a, 0xc5, 0xb9, 0x78, 0xc1, 0xed, 0xd4, 0xb0, + 0x43, 0x2b, 0x77, 0xa2, 0x0f, 0xb9, 0x12, 0x50, 0x32, 0x53, 0x04, 0x57, +}; +static const unsigned char kat2862_addinreseed[] = {0}; +static const unsigned char kat2862_addin0[] = {0}; +static const unsigned char kat2862_addin1[] = {0}; +static const unsigned char kat2862_retbits[] = { + 0x22, 0x38, 0xad, 0xc1, 0x13, 0x63, 0xa4, 0xb0, 0x33, 0xed, 0x40, 0x3c, + 0xca, 0x99, 0x16, 0x29, 0x3d, 0xe6, 0x54, 0xa2, 0x0b, 0xfa, 0x29, 0xf6, + 0x3e, 0x14, 0x58, 0x24, 0x0b, 0xba, 0x62, 0x12, 0xff, 0x91, 0xc5, 0x0a, + 0x3f, 0xd0, 0x27, 0x53, 0x3f, 0x45, 0x24, 0x0c, 0xe3, 0x12, 0xd7, 0x5d, + 0x33, 0x5f, 0xaa, 0x2e, 0xba, 0x68, 0x77, 0x8c, 0xe9, 0x87, 0xd7, 0x8e, + 0x0d, 0xbe, 0x8c, 0xdc, +}; +static const struct drbg_kat_pr_false kat2862_t = { + 11, kat2862_entropyin, kat2862_nonce, kat2862_persstr, + kat2862_entropyinreseed, kat2862_addinreseed, kat2862_addin0, + kat2862_addin1, kat2862_retbits +}; +static const struct drbg_kat kat2862 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2862_t +}; + +static const unsigned char kat2863_entropyin[] = { + 0x56, 0xb2, 0xa2, 0xbc, 0x4c, 0xcd, 0x94, 0x2f, 0x9b, 0x73, 0x94, 0x21, + 0x5d, 0xbb, 0x64, 0x2b, 0x8d, 0x36, 0x37, 0xbf, 0x43, 0xfe, 0x9d, 0x44, + 0x29, 0xf8, 0xee, 0xe1, 0x29, 0x76, 0x89, 0xe1, 0x8a, 0x7d, 0x65, 0xff, + 0x1a, 0xed, 0x2a, 0xa5, 0x72, 0x9d, 0x0d, 0x7b, 0x3c, 0x25, 0x57, 0x41, +}; +static const unsigned char kat2863_nonce[] = {0}; +static const unsigned char kat2863_persstr[] = { + 0x8f, 0xae, 0xe0, 0xac, 0xde, 0x0e, 0x51, 0xaa, 0x62, 0xfc, 0xa5, 0xae, + 0x4c, 0x1e, 0x13, 0x1e, 0x92, 0x8e, 0xd1, 0xdc, 0xc1, 0x83, 0xd0, 0x05, + 0x7e, 0x34, 0x05, 0x45, 0x56, 0xe5, 0x2d, 0x2d, 0xcc, 0x60, 0x9b, 0x3f, + 0x24, 0x30, 0x4e, 0xb8, 0xfb, 0x6d, 0x8a, 0x28, 0xd1, 0xb5, 0x1f, 0xb1, +}; +static const unsigned char kat2863_entropyinreseed[] = { + 0x81, 0x0b, 0x74, 0x6a, 0xc7, 0x14, 0x45, 0xd2, 0x9f, 0xec, 0x21, 0x34, + 0x1f, 0x86, 0x8f, 0xa8, 0x3f, 0x77, 0xb4, 0xf2, 0x6a, 0xba, 0xf6, 0x0a, + 0xf4, 0x57, 0xca, 0x7a, 0x37, 0xb2, 0x39, 0xca, 0x7a, 0x71, 0xcf, 0x28, + 0x7c, 0xec, 0xbf, 0x2c, 0xc1, 0x46, 0x54, 0xcd, 0xf7, 0xae, 0x3e, 0xd2, +}; +static const unsigned char kat2863_addinreseed[] = {0}; +static const unsigned char kat2863_addin0[] = {0}; +static const unsigned char kat2863_addin1[] = {0}; +static const unsigned char kat2863_retbits[] = { + 0x0b, 0xd2, 0x1c, 0x8d, 0xe7, 0xb4, 0x55, 0xc2, 0x29, 0x94, 0x2c, 0x5d, + 0x64, 0x76, 0x5c, 0x2e, 0x6d, 0x70, 0x43, 0x35, 0x9e, 0x06, 0x53, 0x24, + 0x33, 0x8d, 0xc7, 0x4b, 0x21, 0xa8, 0xbc, 0x16, 0x31, 0x10, 0xd9, 0xa7, + 0x1d, 0xb8, 0x71, 0xa1, 0xaa, 0x2e, 0xa1, 0xf3, 0x87, 0x37, 0xd0, 0x1a, + 0x39, 0x8b, 0x7c, 0x9b, 0xd7, 0x61, 0x2a, 0x5d, 0xd1, 0xc0, 0x65, 0x7c, + 0x21, 0xed, 0xe8, 0xe1, +}; +static const struct drbg_kat_pr_false kat2863_t = { + 12, kat2863_entropyin, kat2863_nonce, kat2863_persstr, + kat2863_entropyinreseed, kat2863_addinreseed, kat2863_addin0, + kat2863_addin1, kat2863_retbits +}; +static const struct drbg_kat kat2863 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2863_t +}; + +static const unsigned char kat2864_entropyin[] = { + 0x89, 0x12, 0xb0, 0xee, 0x4e, 0x8d, 0xca, 0x39, 0x70, 0x1f, 0x10, 0x66, + 0xe6, 0x8f, 0xdf, 0xaa, 0xb1, 0xbf, 0xe5, 0xe7, 0x66, 0x38, 0xc0, 0x79, + 0x12, 0x1c, 0x7a, 0x83, 0x3b, 0x4c, 0x38, 0x0e, 0x4f, 0xb9, 0x86, 0xa3, + 0xa6, 0x05, 0x1e, 0xe0, 0xd1, 0x1c, 0x6a, 0xfe, 0x85, 0x39, 0x7e, 0xae, +}; +static const unsigned char kat2864_nonce[] = {0}; +static const unsigned char kat2864_persstr[] = { + 0xb3, 0xf9, 0x6e, 0x51, 0x88, 0x2e, 0xef, 0xcb, 0xec, 0x18, 0x4e, 0xf9, + 0xa4, 0x29, 0x7d, 0x5d, 0x5b, 0xb0, 0xa0, 0x0e, 0x87, 0x35, 0xb8, 0x63, + 0x30, 0x56, 0x59, 0xd5, 0x2d, 0x0e, 0x9d, 0x69, 0xc1, 0xc8, 0xf2, 0x89, + 0x4b, 0x3b, 0xce, 0x84, 0xbd, 0x99, 0x4b, 0x7a, 0x4d, 0xa1, 0xa7, 0x52, +}; +static const unsigned char kat2864_entropyinreseed[] = { + 0x93, 0x5a, 0xa4, 0x5b, 0x8a, 0xb8, 0x30, 0xf6, 0xdb, 0x7b, 0x41, 0xe0, + 0xee, 0x81, 0x45, 0x54, 0x0c, 0x59, 0x4d, 0xc4, 0xc5, 0x0e, 0xfc, 0xdf, + 0xa0, 0x7f, 0xbe, 0x91, 0x58, 0x16, 0x2d, 0x77, 0xa5, 0xd3, 0xdd, 0xe9, + 0x28, 0x2d, 0x4a, 0x0f, 0x63, 0xc3, 0xcf, 0x5c, 0xbb, 0xb3, 0x9a, 0x4a, +}; +static const unsigned char kat2864_addinreseed[] = {0}; +static const unsigned char kat2864_addin0[] = {0}; +static const unsigned char kat2864_addin1[] = {0}; +static const unsigned char kat2864_retbits[] = { + 0x2e, 0x19, 0x96, 0xd9, 0xe3, 0x32, 0xef, 0x87, 0x01, 0x72, 0xea, 0x59, + 0x80, 0xe0, 0x38, 0x20, 0x14, 0xbf, 0x01, 0x60, 0x05, 0xed, 0x5a, 0xb4, + 0x68, 0x96, 0x63, 0xcd, 0x01, 0x94, 0x09, 0xfd, 0xe4, 0xee, 0x4c, 0x80, + 0x26, 0xa0, 0xfd, 0x19, 0x07, 0x9f, 0xcb, 0xdb, 0xff, 0xd1, 0x2c, 0x21, + 0x35, 0x61, 0xdf, 0xce, 0xbb, 0x66, 0xe2, 0x47, 0xa9, 0xf3, 0xce, 0x1e, + 0xaf, 0xa9, 0xf4, 0xbb, +}; +static const struct drbg_kat_pr_false kat2864_t = { + 13, kat2864_entropyin, kat2864_nonce, kat2864_persstr, + kat2864_entropyinreseed, kat2864_addinreseed, kat2864_addin0, + kat2864_addin1, kat2864_retbits +}; +static const struct drbg_kat kat2864 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2864_t +}; + +static const unsigned char kat2865_entropyin[] = { + 0xde, 0x1e, 0x4d, 0xa1, 0xb1, 0x75, 0x5d, 0x0a, 0x9d, 0x4e, 0x8c, 0x9d, + 0x42, 0x71, 0xd0, 0xe2, 0x1c, 0x1e, 0x47, 0x30, 0xeb, 0xd4, 0x31, 0x67, + 0x6e, 0xf5, 0x75, 0x3e, 0x9e, 0x4d, 0x87, 0x79, 0x37, 0xc7, 0x89, 0x36, + 0xa6, 0xf0, 0xe0, 0xa9, 0xe5, 0xe8, 0x4d, 0x87, 0xf1, 0xac, 0x8f, 0xea, +}; +static const unsigned char kat2865_nonce[] = {0}; +static const unsigned char kat2865_persstr[] = { + 0xe7, 0xa4, 0x92, 0xe0, 0x6f, 0x20, 0x79, 0xeb, 0x64, 0x28, 0xf4, 0xd3, + 0x9f, 0xb1, 0x8a, 0xa0, 0xec, 0xe5, 0xd1, 0xed, 0xc5, 0xf2, 0xe1, 0x40, + 0x37, 0x37, 0xbf, 0x6a, 0x13, 0x34, 0xff, 0x7f, 0x46, 0xcc, 0xb5, 0x76, + 0x90, 0xed, 0x5b, 0x06, 0xe0, 0x7b, 0x10, 0x90, 0xef, 0xde, 0x50, 0x5d, +}; +static const unsigned char kat2865_entropyinreseed[] = { + 0x17, 0x83, 0x7f, 0xdc, 0x7d, 0x56, 0x00, 0xfa, 0x48, 0x7f, 0xa0, 0x73, + 0x31, 0xc4, 0xdb, 0x6e, 0x3d, 0x65, 0xd5, 0x22, 0x53, 0x7a, 0xae, 0x07, + 0x15, 0xa5, 0x93, 0x6f, 0x5c, 0xb8, 0x19, 0x53, 0x96, 0x5f, 0xdd, 0xa8, + 0x2e, 0x5f, 0x2b, 0x0a, 0x1f, 0x20, 0xdc, 0x8b, 0xeb, 0x76, 0xbe, 0xca, +}; +static const unsigned char kat2865_addinreseed[] = {0}; +static const unsigned char kat2865_addin0[] = {0}; +static const unsigned char kat2865_addin1[] = {0}; +static const unsigned char kat2865_retbits[] = { + 0x2c, 0xf0, 0xd9, 0xcf, 0xb6, 0x02, 0x34, 0xb2, 0x30, 0x86, 0xdc, 0x16, + 0x49, 0xe6, 0xfa, 0x99, 0xc4, 0x10, 0x4d, 0xe9, 0x85, 0x3d, 0x19, 0x50, + 0x81, 0x05, 0x53, 0x5c, 0x96, 0x04, 0x68, 0x77, 0x7a, 0x93, 0x65, 0x43, + 0xf6, 0xb3, 0x1e, 0xd0, 0xd3, 0xc5, 0x2d, 0x13, 0x56, 0x71, 0xa2, 0x3d, + 0x3e, 0xa0, 0x8f, 0xb7, 0xf2, 0x9c, 0x9d, 0xcb, 0x3f, 0x15, 0x11, 0x63, + 0x58, 0x7c, 0x39, 0xdb, +}; +static const struct drbg_kat_pr_false kat2865_t = { + 14, kat2865_entropyin, kat2865_nonce, kat2865_persstr, + kat2865_entropyinreseed, kat2865_addinreseed, kat2865_addin0, + kat2865_addin1, kat2865_retbits +}; +static const struct drbg_kat kat2865 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat2865_t +}; + +static const unsigned char kat2866_entropyin[] = { + 0xfa, 0x20, 0x7b, 0x20, 0xec, 0xb0, 0xc6, 0x48, 0x51, 0x51, 0x6e, 0xe8, + 0x3e, 0xd3, 0x3c, 0xaa, 0xf8, 0x71, 0x31, 0x5d, 0x78, 0x1e, 0xb0, 0x4b, + 0xe4, 0xab, 0xde, 0x3b, 0xef, 0x91, 0xa3, 0xc1, 0xf8, 0x37, 0xcb, 0xe5, + 0xfb, 0x94, 0x94, 0xf4, 0x86, 0x53, 0x86, 0xfe, 0x53, 0xe8, 0x5f, 0x5f, +}; +static const unsigned char kat2866_nonce[] = {0}; +static const unsigned char kat2866_persstr[] = { + 0x13, 0x6c, 0x23, 0xed, 0xa5, 0x22, 0x25, 0x16, 0x8b, 0x36, 0x17, 0x10, + 0x7a, 0xf5, 0x74, 0x67, 0xd1, 0x66, 0x1a, 0x5e, 0x3f, 0xf3, 0x0f, 0xd1, + 0x40, 0x48, 0x20, 0x2c, 0x53, 0x5d, 0xfb, 0x68, 0x1e, 0x8e, 0xb5, 0xcc, + 0xc4, 0x35, 0x3a, 0x91, 0x9d, 0x01, 0x49, 0xdf, 0x94, 0xab, 0xb1, 0xd3, +}; +static const unsigned char kat2866_entropyinreseed[] = { + 0x3f, 0xa8, 0x12, 0xa3, 0xf8, 0xd9, 0x04, 0x25, 0x38, 0x11, 0x17, 0xa9, + 0x36, 0x0b, 0x7a, 0x3f, 0xc6, 0x7e, 0x34, 0x05, 0xe5, 0xa2, 0xb5, 0x84, + 0xdc, 0x7e, 0x86, 0x68, 0xda, 0x09, 0x84, 0x61, 0xb3, 0x03, 0x5c, 0x04, + 0x58, 0xfe, 0xd2, 0x5e, 0x29, 0x3a, 0x5a, 0x67, 0x66, 0x40, 0xcf, 0xe3, +}; +static const unsigned char kat2866_addinreseed[] = { + 0x81, 0x47, 0x93, 0xc9, 0xa4, 0xd6, 0xe2, 0x7a, 0xe4, 0xb6, 0x61, 0x01, + 0x7f, 0x99, 0x4a, 0x79, 0x60, 0xbe, 0xc9, 0xb3, 0xef, 0x93, 0x90, 0xec, + 0xb2, 0x66, 0xa9, 0x3a, 0xcb, 0x09, 0x14, 0x45, 0xc9, 0x36, 0x8f, 0x94, + 0x2d, 0x51, 0xbd, 0xb0, 0x1b, 0x94, 0xbe, 0x1f, 0xc3, 0xf8, 0x9c, 0xdd, +}; +static const unsigned char kat2866_addin0[] = { + 0x1f, 0x76, 0x4e, 0xf9, 0xd0, 0x91, 0xe6, 0x35, 0xf9, 0xe9, 0x19, 0x74, + 0x66, 0x83, 0xd2, 0xd6, 0xe9, 0xe0, 0x2d, 0x04, 0x75, 0x6b, 0x1c, 0x3b, + 0xa8, 0x86, 0x15, 0x31, 0xf8, 0x8e, 0xe8, 0x9c, 0x60, 0xaa, 0x34, 0x82, + 0xf9, 0xa1, 0xfc, 0xf6, 0x02, 0x93, 0xcd, 0xf5, 0xb6, 0x43, 0x28, 0xb9, +}; +static const unsigned char kat2866_addin1[] = { + 0x35, 0x53, 0xe3, 0xca, 0x83, 0x4e, 0x2c, 0x25, 0xca, 0xa1, 0xf1, 0x43, + 0xd5, 0x95, 0x82, 0x59, 0xa4, 0x91, 0xd8, 0x3a, 0xf4, 0xef, 0x41, 0x70, + 0xb3, 0xbc, 0x2f, 0xe3, 0x6d, 0x25, 0x6a, 0x35, 0x56, 0x89, 0xd8, 0x4b, + 0x81, 0x14, 0xbc, 0x99, 0x3d, 0xc3, 0xbb, 0x3a, 0x92, 0x5f, 0x13, 0xae, +}; +static const unsigned char kat2866_retbits[] = { + 0x50, 0x76, 0x28, 0xcb, 0xa7, 0xe3, 0xff, 0xfa, 0xf4, 0x93, 0x57, 0x13, + 0xf3, 0x2c, 0x09, 0xc3, 0x04, 0x7e, 0x90, 0x58, 0x83, 0x02, 0xc0, 0x38, + 0xad, 0xd8, 0x21, 0xb2, 0x4b, 0x76, 0x04, 0x7c, 0x72, 0xd4, 0x3d, 0xf0, + 0x31, 0x01, 0x80, 0x30, 0xcc, 0x0a, 0x4a, 0x53, 0xe7, 0xc8, 0xb0, 0x8b, + 0x03, 0x3f, 0x00, 0x77, 0xb1, 0x00, 0xae, 0x78, 0x39, 0x54, 0x3c, 0xff, + 0x96, 0x34, 0x8c, 0x99, +}; +static const struct drbg_kat_pr_false kat2866_t = { + 0, kat2866_entropyin, kat2866_nonce, kat2866_persstr, + kat2866_entropyinreseed, kat2866_addinreseed, kat2866_addin0, + kat2866_addin1, kat2866_retbits +}; +static const struct drbg_kat kat2866 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2866_t +}; + +static const unsigned char kat2867_entropyin[] = { + 0x36, 0xeb, 0x60, 0x8b, 0x1c, 0x34, 0xc0, 0xf1, 0xe3, 0x6a, 0x3b, 0xfd, + 0xae, 0xa8, 0x96, 0xcf, 0x81, 0xa2, 0xbb, 0x49, 0xb7, 0xc0, 0x06, 0x9e, + 0xb4, 0xfb, 0x65, 0x12, 0x9f, 0xe6, 0x37, 0x71, 0x04, 0xba, 0x90, 0x6a, + 0x91, 0xc7, 0x6f, 0xc7, 0xd8, 0x3d, 0x4d, 0x23, 0x3e, 0x73, 0xb5, 0x3e, +}; +static const unsigned char kat2867_nonce[] = {0}; +static const unsigned char kat2867_persstr[] = { + 0xa1, 0x59, 0x4d, 0xdc, 0xa4, 0x0b, 0x36, 0x61, 0x98, 0x63, 0xba, 0x2b, + 0x10, 0x47, 0xfd, 0x8e, 0xdd, 0x35, 0x70, 0x30, 0x28, 0xa9, 0x3c, 0x83, + 0x3b, 0x74, 0xb4, 0x9e, 0xe7, 0x59, 0x8b, 0x6e, 0x7f, 0x89, 0x18, 0x86, + 0xcd, 0xcf, 0x60, 0xa6, 0x78, 0x80, 0x0a, 0x47, 0x8a, 0x01, 0x9c, 0x49, +}; +static const unsigned char kat2867_entropyinreseed[] = { + 0x91, 0x4e, 0x91, 0xaf, 0x79, 0xff, 0x82, 0xa0, 0xce, 0x0b, 0x73, 0xfa, + 0x76, 0xb7, 0x6f, 0xde, 0x2e, 0x4a, 0x96, 0xe9, 0xde, 0x16, 0x48, 0x19, + 0xe5, 0xf2, 0x6b, 0x36, 0xe5, 0x4e, 0xeb, 0x0c, 0xfd, 0xe0, 0xad, 0x92, + 0x88, 0x98, 0x3e, 0x62, 0x25, 0xa7, 0x34, 0x29, 0x25, 0xac, 0x40, 0xff, +}; +static const unsigned char kat2867_addinreseed[] = { + 0xc6, 0xdb, 0xf4, 0xd6, 0x73, 0x85, 0x0d, 0xc2, 0xc8, 0xf3, 0xe9, 0x2c, + 0x90, 0xf5, 0x72, 0x51, 0xb4, 0xed, 0xfa, 0xe9, 0x60, 0x82, 0xec, 0x3a, + 0x76, 0xff, 0x24, 0x07, 0x7a, 0xf4, 0xc1, 0xf9, 0x96, 0x4f, 0x51, 0xa1, + 0x41, 0x3f, 0x58, 0x42, 0x9e, 0x0a, 0x70, 0xff, 0x08, 0x79, 0x98, 0x0d, +}; +static const unsigned char kat2867_addin0[] = { + 0xe8, 0xd1, 0x7e, 0xbf, 0xd2, 0x6b, 0xb4, 0x73, 0xaa, 0x50, 0x8a, 0xf6, + 0x59, 0x54, 0x6b, 0x00, 0x4f, 0x81, 0x6a, 0x3e, 0xe1, 0xb0, 0xd0, 0x58, + 0x75, 0x7d, 0x40, 0xc5, 0xb4, 0xc4, 0x5b, 0x85, 0xe9, 0xb5, 0x6e, 0xda, + 0x24, 0x38, 0x21, 0xce, 0xa4, 0xfc, 0xb6, 0xa9, 0xeb, 0x6a, 0xfc, 0xd7, +}; +static const unsigned char kat2867_addin1[] = { + 0xa8, 0x5f, 0x5d, 0x80, 0x15, 0xf0, 0x14, 0x16, 0xbb, 0xfe, 0x83, 0xa0, + 0xdb, 0xe3, 0x7e, 0xb3, 0x7d, 0xc8, 0xe9, 0x0b, 0xe3, 0xaa, 0x72, 0x36, + 0x3a, 0xaf, 0x1f, 0xb6, 0x61, 0x2a, 0x7d, 0x1d, 0x2b, 0x83, 0x51, 0x49, + 0x40, 0x0c, 0xbe, 0xe6, 0x2d, 0x53, 0x31, 0x3c, 0x67, 0xab, 0xf3, 0xf9, +}; +static const unsigned char kat2867_retbits[] = { + 0x89, 0x12, 0x7b, 0x8b, 0x99, 0xe1, 0xe4, 0x2f, 0xd7, 0x18, 0x97, 0x69, + 0x8f, 0x22, 0x83, 0x34, 0x09, 0xcb, 0x67, 0x49, 0x6c, 0x33, 0x97, 0x3c, + 0x83, 0x8b, 0x57, 0x08, 0x9e, 0x93, 0x75, 0xb1, 0xa3, 0xf6, 0x28, 0xfe, + 0x60, 0xe6, 0xb0, 0x5a, 0x4b, 0x97, 0x41, 0x7d, 0x68, 0x41, 0x8a, 0xdb, + 0x01, 0x31, 0xfc, 0x88, 0x2b, 0x73, 0x23, 0x2a, 0x01, 0x3e, 0x04, 0xbb, + 0x04, 0x05, 0x44, 0xf0, +}; +static const struct drbg_kat_pr_false kat2867_t = { + 1, kat2867_entropyin, kat2867_nonce, kat2867_persstr, + kat2867_entropyinreseed, kat2867_addinreseed, kat2867_addin0, + kat2867_addin1, kat2867_retbits +}; +static const struct drbg_kat kat2867 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2867_t +}; + +static const unsigned char kat2868_entropyin[] = { + 0xae, 0xad, 0x9c, 0x1f, 0x4f, 0x33, 0x84, 0x93, 0xb4, 0x63, 0x32, 0x63, + 0x5e, 0x81, 0x2f, 0xf9, 0x7a, 0x9c, 0x16, 0xf7, 0xdf, 0x09, 0xf3, 0x57, + 0x0b, 0x5f, 0xb5, 0x32, 0xde, 0x88, 0x3b, 0xf4, 0xf3, 0xee, 0xaa, 0x27, + 0x7b, 0xc5, 0xec, 0x14, 0xfb, 0x6b, 0xea, 0x84, 0x2c, 0xdb, 0xee, 0x88, +}; +static const unsigned char kat2868_nonce[] = {0}; +static const unsigned char kat2868_persstr[] = { + 0x42, 0x6f, 0xe9, 0xac, 0xfc, 0x02, 0xf8, 0x18, 0x3f, 0x0e, 0xe8, 0xbb, + 0xed, 0xd8, 0xcb, 0x64, 0x60, 0x67, 0x71, 0x84, 0xa8, 0xcc, 0x42, 0x33, + 0xd6, 0x20, 0x8c, 0x38, 0xa7, 0xf3, 0x7b, 0xc5, 0x76, 0x47, 0x3a, 0x60, + 0xed, 0x3e, 0x93, 0x35, 0xb7, 0xf9, 0xe2, 0x5f, 0x48, 0x1b, 0x15, 0xcc, +}; +static const unsigned char kat2868_entropyinreseed[] = { + 0x57, 0xa2, 0x58, 0x43, 0x9d, 0xd9, 0x72, 0xb6, 0xd5, 0x77, 0x0a, 0xac, + 0xe3, 0x77, 0x78, 0x4b, 0xf7, 0x85, 0x95, 0xcd, 0x23, 0x0e, 0x16, 0xe4, + 0xb1, 0x05, 0x55, 0x91, 0xc2, 0x9d, 0x3a, 0x7c, 0x32, 0xcb, 0xa6, 0xa8, + 0x35, 0x34, 0x6d, 0x70, 0xd3, 0x80, 0xc8, 0x4b, 0xe2, 0xdb, 0x99, 0xd0, +}; +static const unsigned char kat2868_addinreseed[] = { + 0x50, 0x8d, 0xec, 0xa2, 0x57, 0x85, 0xf1, 0x19, 0x61, 0xad, 0x77, 0xce, + 0x62, 0xbe, 0x80, 0x6a, 0xea, 0xed, 0x80, 0xb7, 0x20, 0xc7, 0xd3, 0xa9, + 0x7d, 0x3f, 0x31, 0x47, 0x24, 0xaf, 0x76, 0xaa, 0xdb, 0x3b, 0xf1, 0x04, + 0x7c, 0x2f, 0x3a, 0x7c, 0xaf, 0xd2, 0xdd, 0x46, 0x96, 0x26, 0x41, 0x6f, +}; +static const unsigned char kat2868_addin0[] = { + 0x4b, 0x93, 0x76, 0x0c, 0xfc, 0xd2, 0x72, 0x70, 0xee, 0xbe, 0x3c, 0xb8, + 0x89, 0x1b, 0x25, 0x14, 0x21, 0x51, 0xc4, 0x35, 0x62, 0xf0, 0x9d, 0xf8, + 0x1a, 0xaa, 0x60, 0xf0, 0xcf, 0x07, 0x28, 0x24, 0x6a, 0xec, 0x58, 0x01, + 0x77, 0xfe, 0x32, 0xae, 0xa1, 0xe6, 0x4c, 0x33, 0x03, 0xe1, 0x71, 0x7c, +}; +static const unsigned char kat2868_addin1[] = { + 0x2f, 0x58, 0xd0, 0x36, 0x17, 0x3e, 0xfc, 0xf4, 0x07, 0x66, 0xbf, 0x41, + 0x73, 0x5e, 0x6d, 0x06, 0xff, 0xa9, 0x7e, 0x79, 0xbe, 0xc1, 0x38, 0xe0, + 0x5e, 0xc0, 0xf5, 0x5f, 0xbc, 0x44, 0xc7, 0x92, 0x23, 0x42, 0xa1, 0x0b, + 0x22, 0x95, 0xda, 0x7b, 0xa5, 0xb9, 0x1a, 0x3c, 0x42, 0x93, 0x6c, 0xb0, +}; +static const unsigned char kat2868_retbits[] = { + 0x89, 0xbf, 0xd0, 0x7e, 0xb0, 0x0c, 0x32, 0x46, 0x26, 0xb4, 0x08, 0x94, + 0x64, 0xf1, 0xa2, 0xf4, 0x17, 0x5a, 0x06, 0x5a, 0xbb, 0xde, 0x95, 0x0a, + 0x3b, 0x58, 0x52, 0xf5, 0x31, 0x69, 0xc6, 0xa6, 0x4f, 0xa4, 0x2f, 0x17, + 0x41, 0x25, 0x20, 0xa5, 0x26, 0x2d, 0x64, 0xa7, 0xba, 0x13, 0xe8, 0x5c, + 0x52, 0xaa, 0xd7, 0x07, 0xf4, 0x6b, 0xcb, 0x81, 0xa4, 0x4e, 0xfb, 0x22, + 0x34, 0xd2, 0x6d, 0x9e, +}; +static const struct drbg_kat_pr_false kat2868_t = { + 2, kat2868_entropyin, kat2868_nonce, kat2868_persstr, + kat2868_entropyinreseed, kat2868_addinreseed, kat2868_addin0, + kat2868_addin1, kat2868_retbits +}; +static const struct drbg_kat kat2868 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2868_t +}; + +static const unsigned char kat2869_entropyin[] = { + 0x27, 0x2c, 0xb7, 0x9c, 0x57, 0x4f, 0xa7, 0x94, 0x1d, 0xa8, 0x17, 0xbc, + 0x5b, 0x96, 0x14, 0xc0, 0x03, 0xec, 0x0b, 0xe3, 0x0c, 0xdd, 0x38, 0x47, + 0x92, 0x29, 0x1b, 0x98, 0xc8, 0x81, 0x1d, 0x34, 0x23, 0xe1, 0x16, 0x79, + 0x64, 0x7f, 0x88, 0x7f, 0x42, 0x6e, 0x02, 0x5f, 0x09, 0x60, 0xa7, 0x70, +}; +static const unsigned char kat2869_nonce[] = {0}; +static const unsigned char kat2869_persstr[] = { + 0xb7, 0x98, 0x9b, 0x25, 0x32, 0xd4, 0x6d, 0xec, 0x8a, 0x60, 0x22, 0xb2, + 0x68, 0x74, 0x43, 0x7b, 0xc8, 0x17, 0x6f, 0xd2, 0x19, 0x94, 0x8c, 0xb9, + 0x95, 0xcb, 0x00, 0x30, 0x64, 0xea, 0xcf, 0x12, 0x71, 0xef, 0x17, 0x26, + 0x9a, 0x07, 0xd2, 0xc2, 0xae, 0x99, 0xf3, 0xf8, 0x30, 0x87, 0x8a, 0x37, +}; +static const unsigned char kat2869_entropyinreseed[] = { + 0x78, 0xaf, 0x0b, 0x8b, 0x0e, 0xb3, 0xca, 0xbd, 0x91, 0x9c, 0xaf, 0xd0, + 0x6b, 0x1f, 0xab, 0xfd, 0xcb, 0x63, 0xfe, 0x29, 0xf5, 0xb6, 0x8e, 0x67, + 0x53, 0x0b, 0x39, 0x62, 0x00, 0x88, 0x7d, 0x92, 0x41, 0x9e, 0x3c, 0x83, + 0x9b, 0x8b, 0x1d, 0xc4, 0x3c, 0x65, 0x07, 0x02, 0x6f, 0x1f, 0x85, 0x1e, +}; +static const unsigned char kat2869_addinreseed[] = { + 0x85, 0x78, 0x48, 0xc6, 0x22, 0x03, 0x30, 0x7b, 0x39, 0x72, 0x8a, 0xcf, + 0x11, 0xac, 0x84, 0x62, 0x30, 0x2d, 0x3a, 0x41, 0xd1, 0x86, 0x77, 0x8b, + 0x3f, 0x11, 0x2a, 0x86, 0x27, 0x02, 0x52, 0xf0, 0x58, 0xfb, 0xe5, 0x76, + 0x74, 0x96, 0xe4, 0x76, 0x62, 0x18, 0x6b, 0x8d, 0x08, 0x17, 0xde, 0x02, +}; +static const unsigned char kat2869_addin0[] = { + 0x9a, 0x08, 0xdf, 0x0d, 0xe7, 0x42, 0xfd, 0x2e, 0x2d, 0x55, 0x12, 0x1a, + 0x58, 0xb7, 0x00, 0xdf, 0xbf, 0xf2, 0x50, 0xa4, 0x88, 0x1b, 0x02, 0xfc, + 0x3b, 0x89, 0x52, 0xb4, 0x8e, 0xcd, 0x4d, 0x03, 0x4d, 0x6e, 0x7c, 0x75, + 0x7c, 0xdf, 0x91, 0xbf, 0x7c, 0x31, 0xdf, 0xaf, 0x70, 0xb1, 0xda, 0x22, +}; +static const unsigned char kat2869_addin1[] = { + 0x3b, 0xf0, 0xe4, 0xf1, 0x29, 0x1a, 0x8b, 0xc2, 0x72, 0xcc, 0x98, 0x58, + 0x78, 0x33, 0x58, 0x82, 0xc7, 0x58, 0x31, 0x51, 0x0f, 0x27, 0x96, 0x3c, + 0x7c, 0x01, 0xa8, 0x79, 0xc6, 0x0c, 0x5b, 0x67, 0xa9, 0xa1, 0x4a, 0x65, + 0x6a, 0x74, 0x6a, 0x80, 0xa0, 0x91, 0xad, 0xf6, 0xff, 0xb1, 0xad, 0xf6, +}; +static const unsigned char kat2869_retbits[] = { + 0x69, 0x36, 0x1d, 0x61, 0xf4, 0xcf, 0x5e, 0xd4, 0x89, 0x88, 0x89, 0x34, + 0xf3, 0x20, 0xa9, 0xac, 0xc5, 0x38, 0x3e, 0x71, 0x9f, 0x09, 0xa1, 0xe3, + 0x0b, 0x60, 0x29, 0xbf, 0x71, 0xd4, 0xb4, 0xcb, 0x54, 0x85, 0x97, 0x98, + 0xac, 0xe2, 0xd8, 0xee, 0x5e, 0x68, 0x1d, 0x4a, 0xcb, 0x22, 0x3b, 0x9c, + 0x11, 0x9d, 0xab, 0x2d, 0xd0, 0x7e, 0x6d, 0xb3, 0xf7, 0xf8, 0x44, 0xc2, + 0xb4, 0x6b, 0x9c, 0x47, +}; +static const struct drbg_kat_pr_false kat2869_t = { + 3, kat2869_entropyin, kat2869_nonce, kat2869_persstr, + kat2869_entropyinreseed, kat2869_addinreseed, kat2869_addin0, + kat2869_addin1, kat2869_retbits +}; +static const struct drbg_kat kat2869 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2869_t +}; + +static const unsigned char kat2870_entropyin[] = { + 0x6f, 0x45, 0xb5, 0x5a, 0xc6, 0x2d, 0x5f, 0xfd, 0x45, 0x2d, 0x36, 0xb1, + 0xe4, 0xb1, 0x8c, 0xc6, 0xab, 0xd6, 0xad, 0x93, 0xe8, 0x75, 0x58, 0xb7, + 0x9f, 0xbe, 0x99, 0xb4, 0xf4, 0xa9, 0x62, 0xb7, 0x4b, 0xad, 0x00, 0x82, + 0x10, 0x19, 0xbd, 0x12, 0x6d, 0x6f, 0x9d, 0xd7, 0x39, 0x12, 0xac, 0xf7, +}; +static const unsigned char kat2870_nonce[] = {0}; +static const unsigned char kat2870_persstr[] = { + 0x91, 0x3a, 0x78, 0x30, 0x46, 0xba, 0xef, 0xe4, 0x28, 0x34, 0x60, 0x85, + 0xfd, 0x64, 0x0c, 0xaa, 0x18, 0x74, 0xd4, 0xaa, 0x69, 0x74, 0x83, 0x2c, + 0xac, 0xc5, 0xb5, 0x1e, 0x78, 0x51, 0x4b, 0xcf, 0xed, 0xd1, 0x74, 0x60, + 0x6b, 0xef, 0x17, 0x21, 0xdf, 0x7a, 0x11, 0x94, 0xa0, 0xcc, 0xd1, 0xe3, +}; +static const unsigned char kat2870_entropyinreseed[] = { + 0xd9, 0xe1, 0x9c, 0xe3, 0x19, 0x70, 0x04, 0xab, 0x3a, 0x4b, 0xf9, 0x95, + 0xa4, 0x81, 0x14, 0x9b, 0x6d, 0x8e, 0x59, 0xa3, 0x97, 0x01, 0x61, 0xcb, + 0x0d, 0x39, 0x17, 0x37, 0x4c, 0x0c, 0x86, 0xbb, 0x5e, 0x9b, 0xc5, 0x09, + 0xbd, 0x01, 0xb6, 0x79, 0x6f, 0xa1, 0xe7, 0x7e, 0x5f, 0xdd, 0xdb, 0x16, +}; +static const unsigned char kat2870_addinreseed[] = { + 0xfd, 0x31, 0x06, 0x8c, 0x90, 0x61, 0x4e, 0x04, 0x46, 0x3a, 0xcd, 0xf8, + 0x56, 0xb0, 0x34, 0x29, 0x3a, 0x07, 0x9a, 0x81, 0x6f, 0x1c, 0x5f, 0x3d, + 0xe6, 0x3b, 0x87, 0x0a, 0x98, 0x76, 0xf7, 0x39, 0x7d, 0x2f, 0x93, 0xbd, + 0x3f, 0x67, 0x76, 0xb5, 0x6a, 0x78, 0xf7, 0x17, 0x8e, 0x1f, 0xbb, 0x87, +}; +static const unsigned char kat2870_addin0[] = { + 0x06, 0x8e, 0x37, 0x91, 0xb9, 0x1a, 0xdb, 0x82, 0x0b, 0x27, 0xc4, 0x5a, + 0x5d, 0x85, 0x44, 0xee, 0xd3, 0x13, 0x34, 0x86, 0xa7, 0xd2, 0xd0, 0xbc, + 0x50, 0x3d, 0x8a, 0xba, 0xd8, 0xb7, 0x09, 0x3f, 0x3d, 0xf2, 0x14, 0xf1, + 0xe0, 0xac, 0x4f, 0xf2, 0xd3, 0x47, 0xc7, 0x60, 0xb2, 0xa6, 0x05, 0xd5, +}; +static const unsigned char kat2870_addin1[] = { + 0x6c, 0x55, 0x92, 0x7a, 0x34, 0x9d, 0x32, 0x1d, 0x1a, 0x21, 0x41, 0xae, + 0xcc, 0xc3, 0x54, 0x3e, 0x97, 0x26, 0xff, 0xcf, 0x3d, 0x8f, 0xdf, 0xe1, + 0xae, 0xd6, 0x3c, 0x61, 0x97, 0x2a, 0x21, 0x3c, 0x12, 0xea, 0x65, 0xd6, + 0x48, 0xe4, 0x76, 0x26, 0x86, 0x11, 0xe9, 0xb0, 0x84, 0x86, 0xa6, 0x48, +}; +static const unsigned char kat2870_retbits[] = { + 0x55, 0x2b, 0x4c, 0x40, 0x35, 0xd9, 0x64, 0xb5, 0xeb, 0x26, 0xe3, 0x03, + 0x64, 0x45, 0x79, 0x3d, 0xf6, 0x7b, 0x73, 0x21, 0xd3, 0x6e, 0x8d, 0x23, + 0x62, 0xfe, 0x28, 0x45, 0x03, 0xb5, 0x87, 0xc9, 0x61, 0xa3, 0x3b, 0x81, + 0x6b, 0x40, 0xb9, 0x3d, 0x4b, 0x00, 0x67, 0x69, 0x17, 0x7c, 0x65, 0x93, + 0xc5, 0x53, 0xb6, 0xe6, 0x69, 0x07, 0x6f, 0x25, 0xa3, 0xe2, 0xa7, 0x21, + 0x41, 0x56, 0xc2, 0x49, +}; +static const struct drbg_kat_pr_false kat2870_t = { + 4, kat2870_entropyin, kat2870_nonce, kat2870_persstr, + kat2870_entropyinreseed, kat2870_addinreseed, kat2870_addin0, + kat2870_addin1, kat2870_retbits +}; +static const struct drbg_kat kat2870 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2870_t +}; + +static const unsigned char kat2871_entropyin[] = { + 0x8d, 0x49, 0x2d, 0xf4, 0x62, 0x57, 0xa6, 0x2e, 0x71, 0x73, 0x02, 0x99, + 0x26, 0x82, 0xe2, 0x84, 0x94, 0xf8, 0x4d, 0x0f, 0x32, 0x37, 0xc1, 0x64, + 0x39, 0xef, 0xbb, 0xd1, 0x6a, 0x94, 0xb3, 0x35, 0x6e, 0xb7, 0xf7, 0xc2, + 0xa0, 0x20, 0x68, 0x92, 0x04, 0x5a, 0x0d, 0x7d, 0x36, 0xd6, 0x9f, 0x03, +}; +static const unsigned char kat2871_nonce[] = {0}; +static const unsigned char kat2871_persstr[] = { + 0xb9, 0x15, 0xf3, 0x31, 0x1f, 0xea, 0xdf, 0x66, 0x76, 0xdf, 0x23, 0x89, + 0xba, 0xac, 0xcc, 0xda, 0xfc, 0x74, 0xcf, 0x20, 0x0e, 0xd7, 0xb9, 0x91, + 0x67, 0xb3, 0x3d, 0xaf, 0xa8, 0x75, 0xce, 0x4a, 0xac, 0x1a, 0x61, 0xce, + 0x54, 0x97, 0x2e, 0xc5, 0x4f, 0x9b, 0x09, 0x01, 0xa3, 0xb0, 0x50, 0xee, +}; +static const unsigned char kat2871_entropyinreseed[] = { + 0x2e, 0x34, 0x5f, 0xe3, 0xa4, 0x71, 0xc5, 0x06, 0x6b, 0x20, 0xf4, 0xaa, + 0xea, 0xaf, 0x73, 0x92, 0x14, 0x26, 0xac, 0x1b, 0xc0, 0x50, 0x9e, 0x93, + 0x67, 0x15, 0x35, 0xa8, 0xfb, 0xc0, 0x16, 0xf5, 0x96, 0x74, 0x03, 0xd6, + 0xd1, 0x3b, 0x47, 0x60, 0x49, 0x1b, 0xf9, 0x73, 0xc4, 0x7a, 0x8e, 0xd5, +}; +static const unsigned char kat2871_addinreseed[] = { + 0x2e, 0x8f, 0x1f, 0x01, 0xa7, 0x66, 0x48, 0x90, 0xfe, 0xef, 0x93, 0x15, + 0x2f, 0x7b, 0x7f, 0x05, 0x03, 0x2b, 0x4c, 0x70, 0xc5, 0x8b, 0x5f, 0x26, + 0x1e, 0xf0, 0xa9, 0xc2, 0xae, 0xf2, 0x3f, 0x2a, 0x14, 0xee, 0x57, 0xc3, + 0xd3, 0x46, 0x5a, 0xf2, 0x42, 0x89, 0xb1, 0xc8, 0x50, 0xe5, 0x2e, 0xf8, +}; +static const unsigned char kat2871_addin0[] = { + 0xf8, 0xc2, 0x18, 0xc9, 0x96, 0x28, 0x4f, 0x75, 0x7c, 0x49, 0x1c, 0xba, + 0x02, 0x5f, 0xd8, 0x4c, 0xc7, 0x01, 0xf9, 0xf8, 0x3a, 0x16, 0xf0, 0x3c, + 0x31, 0x47, 0x12, 0xc2, 0x35, 0x4f, 0xee, 0x39, 0x21, 0x4e, 0xd5, 0x99, + 0x4a, 0xb2, 0x46, 0x41, 0x82, 0x6b, 0xc1, 0x5e, 0xd1, 0xbb, 0x5f, 0x61, +}; +static const unsigned char kat2871_addin1[] = { + 0x14, 0x6c, 0x53, 0xdc, 0x4a, 0xf9, 0x0f, 0x26, 0xd8, 0xc8, 0x58, 0x22, + 0x81, 0x0d, 0x9b, 0xde, 0x29, 0x49, 0x49, 0x5c, 0x23, 0xca, 0x2c, 0x7c, + 0x13, 0xce, 0xee, 0x82, 0x21, 0xcb, 0xe8, 0x10, 0x54, 0x91, 0xd5, 0x60, + 0xe0, 0x04, 0x4c, 0x8d, 0x50, 0xd7, 0xe3, 0x65, 0xda, 0x41, 0x89, 0x0b, +}; +static const unsigned char kat2871_retbits[] = { + 0xb1, 0x9d, 0xd1, 0x84, 0x94, 0x23, 0x5a, 0xbd, 0xcb, 0x3b, 0x4e, 0x99, + 0xc9, 0x35, 0x5d, 0x19, 0xd5, 0x43, 0xc7, 0xfb, 0x7e, 0x10, 0x48, 0xd6, + 0x3d, 0x9e, 0x25, 0xab, 0xcc, 0x12, 0xdc, 0xb3, 0x15, 0x49, 0xce, 0xc2, + 0x81, 0x86, 0x67, 0x71, 0x3a, 0xd1, 0xdc, 0x35, 0x14, 0x20, 0x72, 0xca, + 0x8d, 0xaa, 0x51, 0x19, 0x27, 0xac, 0xa7, 0x13, 0x03, 0x49, 0x3e, 0x50, + 0x05, 0x03, 0xbe, 0x8b, +}; +static const struct drbg_kat_pr_false kat2871_t = { + 5, kat2871_entropyin, kat2871_nonce, kat2871_persstr, + kat2871_entropyinreseed, kat2871_addinreseed, kat2871_addin0, + kat2871_addin1, kat2871_retbits +}; +static const struct drbg_kat kat2871 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2871_t +}; + +static const unsigned char kat2872_entropyin[] = { + 0x2a, 0x59, 0x5f, 0x08, 0x94, 0x7d, 0x00, 0x56, 0xed, 0x19, 0xec, 0xc8, + 0xa5, 0x47, 0x86, 0x78, 0x34, 0xc1, 0x25, 0xcf, 0x17, 0x40, 0x23, 0x0a, + 0x13, 0x25, 0xb9, 0x3b, 0xf2, 0x99, 0x51, 0xcb, 0xed, 0xca, 0xa6, 0xa8, + 0xf5, 0xcb, 0xe6, 0x98, 0x01, 0xfb, 0x9a, 0x19, 0x7a, 0xd5, 0x76, 0xc6, +}; +static const unsigned char kat2872_nonce[] = {0}; +static const unsigned char kat2872_persstr[] = { + 0xc0, 0xfb, 0x9d, 0xbe, 0xa1, 0x38, 0x63, 0xdf, 0xbf, 0xdb, 0x2c, 0x0d, + 0xd8, 0x64, 0x88, 0x74, 0x13, 0x79, 0x4a, 0x07, 0xa4, 0xdd, 0x22, 0x88, + 0x36, 0xf0, 0xf6, 0xaf, 0xab, 0x90, 0x14, 0x96, 0x48, 0x6a, 0x2d, 0x50, + 0x8a, 0x3f, 0x4b, 0x78, 0x4d, 0x83, 0x38, 0x26, 0x29, 0xcd, 0xdb, 0xc1, +}; +static const unsigned char kat2872_entropyinreseed[] = { + 0xa3, 0xdd, 0xfc, 0x3a, 0xef, 0xc9, 0x4d, 0xca, 0xf6, 0x56, 0xf4, 0xd8, + 0xee, 0xf0, 0x06, 0x5a, 0x6d, 0x23, 0x3a, 0x76, 0xe0, 0xa4, 0xc2, 0x6e, + 0x2d, 0x8b, 0xbb, 0x86, 0x45, 0x9c, 0x9e, 0x4a, 0x17, 0x3f, 0xf8, 0xcb, + 0xec, 0x85, 0xeb, 0xc1, 0x47, 0x12, 0x64, 0x07, 0x41, 0x42, 0x76, 0x68, +}; +static const unsigned char kat2872_addinreseed[] = { + 0xd4, 0xeb, 0x9b, 0x12, 0xfc, 0x2a, 0x6f, 0xc7, 0x5a, 0x69, 0x70, 0x1c, + 0x8b, 0x5e, 0xce, 0x02, 0xe4, 0x7f, 0x81, 0x3e, 0xff, 0xb7, 0x05, 0xdb, + 0xde, 0xf0, 0x29, 0x4e, 0x38, 0x90, 0x7f, 0x5a, 0xad, 0xf4, 0x0b, 0xdb, + 0xcc, 0x06, 0x7d, 0x0e, 0xbc, 0x0b, 0xf3, 0x66, 0x1a, 0x2e, 0x09, 0x90, +}; +static const unsigned char kat2872_addin0[] = { + 0xd3, 0xc4, 0xbf, 0x4f, 0x8a, 0x3f, 0x61, 0x41, 0x3f, 0xe1, 0x95, 0x35, + 0x23, 0xba, 0x83, 0xbc, 0x02, 0xae, 0x6d, 0x7e, 0xea, 0x1c, 0x8b, 0xa2, + 0x88, 0xf8, 0xe0, 0x6f, 0x0d, 0x02, 0x76, 0xe6, 0x16, 0x67, 0xa4, 0x10, + 0xf9, 0x05, 0x48, 0xd2, 0x83, 0xc4, 0xf1, 0xae, 0x79, 0x48, 0x39, 0x61, +}; +static const unsigned char kat2872_addin1[] = { + 0xe6, 0xfc, 0x29, 0x68, 0x0e, 0xef, 0x14, 0x1e, 0x13, 0x72, 0xe1, 0x77, + 0x29, 0xc9, 0xf4, 0x40, 0x7b, 0x3f, 0x7a, 0x57, 0x05, 0x7b, 0xe1, 0x08, + 0x1c, 0xe4, 0x6c, 0x78, 0x69, 0x33, 0x34, 0xbf, 0x56, 0x86, 0x77, 0x91, + 0x07, 0x2d, 0x9d, 0x18, 0xa7, 0xb4, 0x83, 0x5b, 0xf2, 0x51, 0x71, 0x2d, +}; +static const unsigned char kat2872_retbits[] = { + 0x08, 0x47, 0x5b, 0xfb, 0x8e, 0x62, 0x1e, 0x12, 0xe2, 0x12, 0xf4, 0x96, + 0x0e, 0x73, 0x70, 0x23, 0xf7, 0xa3, 0xde, 0x3b, 0x20, 0x4b, 0x6f, 0xfe, + 0xeb, 0x92, 0x9f, 0x42, 0x4c, 0xa7, 0x8c, 0x6a, 0xe2, 0xe0, 0xd7, 0x26, + 0x23, 0x79, 0x15, 0xe5, 0xe2, 0x44, 0x61, 0x67, 0x13, 0xe8, 0x8a, 0x39, + 0xdf, 0x30, 0x22, 0x08, 0xe3, 0xa3, 0x24, 0xf5, 0x44, 0x42, 0x13, 0xb7, + 0x0b, 0x2e, 0x9c, 0x09, +}; +static const struct drbg_kat_pr_false kat2872_t = { + 6, kat2872_entropyin, kat2872_nonce, kat2872_persstr, + kat2872_entropyinreseed, kat2872_addinreseed, kat2872_addin0, + kat2872_addin1, kat2872_retbits +}; +static const struct drbg_kat kat2872 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2872_t +}; + +static const unsigned char kat2873_entropyin[] = { + 0x3d, 0x53, 0x32, 0xb9, 0x1d, 0xca, 0xad, 0x89, 0x3d, 0xf5, 0x04, 0xc7, + 0xc6, 0x75, 0xb6, 0x98, 0x90, 0xb2, 0x80, 0x55, 0xdf, 0xd3, 0xec, 0x7d, + 0x0b, 0xa5, 0x69, 0x90, 0xdc, 0xda, 0x17, 0x50, 0x96, 0xff, 0x8f, 0x8f, + 0x9f, 0x9e, 0xcd, 0x6d, 0xdd, 0xeb, 0x96, 0xb8, 0x29, 0xb9, 0x8c, 0x3e, +}; +static const unsigned char kat2873_nonce[] = {0}; +static const unsigned char kat2873_persstr[] = { + 0x34, 0x75, 0x34, 0x32, 0xb3, 0xc6, 0xbe, 0xdc, 0x4d, 0x22, 0x96, 0xdf, + 0xfc, 0xe8, 0xa6, 0x65, 0x91, 0xb4, 0x00, 0x86, 0x7f, 0x7e, 0xdf, 0x10, + 0xce, 0xe4, 0x47, 0x04, 0x6f, 0x5f, 0x76, 0x70, 0x36, 0xda, 0x9f, 0x3f, + 0x4a, 0x02, 0xf7, 0xb8, 0xcb, 0xa7, 0xbd, 0xd4, 0x36, 0x5c, 0x1f, 0xef, +}; +static const unsigned char kat2873_entropyinreseed[] = { + 0x1a, 0x69, 0xaf, 0x0f, 0xf6, 0x96, 0xf9, 0xa2, 0xfe, 0x0f, 0xdd, 0xd2, + 0x6c, 0xcf, 0x6f, 0xae, 0x21, 0x5f, 0xaf, 0x91, 0x80, 0x44, 0x61, 0x92, + 0x8c, 0x88, 0x4e, 0xec, 0x13, 0xb1, 0xdd, 0x15, 0x01, 0x86, 0x2a, 0x73, + 0x83, 0x73, 0x45, 0x4e, 0x1b, 0x44, 0x9c, 0x60, 0x26, 0xce, 0xbc, 0xeb, +}; +static const unsigned char kat2873_addinreseed[] = { + 0xdc, 0x47, 0xe1, 0x04, 0x17, 0x5f, 0x3c, 0x98, 0x12, 0xfe, 0xed, 0x9e, + 0x14, 0x3d, 0xa5, 0xcd, 0x7e, 0x55, 0x3e, 0x34, 0x23, 0xdb, 0x5b, 0xc8, + 0xbe, 0x3b, 0x65, 0x2f, 0x57, 0x71, 0x00, 0x26, 0x7f, 0xf7, 0x95, 0x80, + 0x4a, 0xaf, 0x42, 0xc3, 0x99, 0x15, 0x89, 0xe7, 0x68, 0x8a, 0x97, 0x7b, +}; +static const unsigned char kat2873_addin0[] = { + 0xe6, 0x4c, 0x0c, 0xad, 0x3d, 0xfc, 0x0b, 0xf0, 0xeb, 0xa3, 0x31, 0x7c, + 0xf3, 0x7b, 0x77, 0x79, 0xb9, 0x1b, 0xf3, 0xde, 0x3e, 0x0b, 0xa3, 0x6d, + 0x3e, 0x16, 0xfe, 0xb0, 0x01, 0x42, 0x86, 0x59, 0x6e, 0xdd, 0x36, 0x4c, + 0x19, 0x78, 0x47, 0xe8, 0x73, 0x29, 0x25, 0xf9, 0x71, 0x29, 0x4d, 0xfa, +}; +static const unsigned char kat2873_addin1[] = { + 0x1f, 0xf3, 0xa6, 0xbd, 0xb7, 0xe3, 0x19, 0xa8, 0x6b, 0x35, 0xd0, 0x62, + 0xcf, 0x01, 0x7e, 0xd2, 0x70, 0xc6, 0xb5, 0x51, 0x1b, 0xc3, 0xd6, 0x30, + 0x83, 0x27, 0x2e, 0x76, 0xbf, 0x4d, 0xb9, 0xd9, 0x0e, 0x83, 0x6f, 0x18, + 0xd9, 0x8f, 0x1f, 0x79, 0xc2, 0xe9, 0x1e, 0xeb, 0x0b, 0xc6, 0x35, 0xe2, +}; +static const unsigned char kat2873_retbits[] = { + 0xfd, 0xef, 0x7e, 0x67, 0xc3, 0xd1, 0x9f, 0x5f, 0x74, 0x78, 0x4b, 0xdc, + 0x64, 0xd2, 0xc2, 0x3d, 0x0a, 0x3f, 0x02, 0x78, 0x46, 0xda, 0x2b, 0x2a, + 0xfb, 0xa9, 0x40, 0xfd, 0xc2, 0xf0, 0x66, 0xd8, 0x9b, 0x63, 0xd2, 0x7e, + 0x55, 0xd3, 0xd0, 0xa8, 0x8b, 0xdd, 0xb9, 0x7e, 0x29, 0x67, 0x68, 0x94, + 0xec, 0x8a, 0x18, 0x26, 0x8e, 0x4b, 0xc2, 0x7d, 0x18, 0x1a, 0x86, 0x7c, + 0x5a, 0x80, 0xfe, 0x2c, +}; +static const struct drbg_kat_pr_false kat2873_t = { + 7, kat2873_entropyin, kat2873_nonce, kat2873_persstr, + kat2873_entropyinreseed, kat2873_addinreseed, kat2873_addin0, + kat2873_addin1, kat2873_retbits +}; +static const struct drbg_kat kat2873 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2873_t +}; + +static const unsigned char kat2874_entropyin[] = { + 0x15, 0x6c, 0x8c, 0x0f, 0x44, 0xf4, 0xa8, 0xf1, 0x70, 0x44, 0x95, 0x7b, + 0x57, 0x2e, 0xd1, 0x6d, 0x54, 0xb7, 0x3a, 0x95, 0x10, 0xd2, 0xb2, 0x60, + 0xa0, 0x36, 0xad, 0x6e, 0xf2, 0x23, 0xf4, 0x5e, 0x12, 0x4c, 0x4a, 0xe9, + 0xda, 0xe0, 0xfd, 0xf5, 0x68, 0x47, 0x92, 0xda, 0x0f, 0xf5, 0xea, 0x0a, +}; +static const unsigned char kat2874_nonce[] = {0}; +static const unsigned char kat2874_persstr[] = { + 0x14, 0x72, 0xf5, 0x6d, 0x54, 0x98, 0x56, 0x4a, 0x5b, 0x53, 0xd2, 0xea, + 0xe2, 0x71, 0x03, 0xf4, 0x1f, 0x56, 0x5d, 0x78, 0x73, 0xb3, 0x7c, 0x37, + 0xc3, 0x04, 0x72, 0x07, 0x5f, 0x1d, 0x84, 0xd6, 0x9a, 0x8d, 0x68, 0xc9, + 0x26, 0x36, 0xae, 0x06, 0xaa, 0x61, 0x67, 0x83, 0x58, 0xcc, 0x47, 0xd4, +}; +static const unsigned char kat2874_entropyinreseed[] = { + 0x6b, 0xc2, 0xbf, 0xd4, 0x4f, 0x72, 0x98, 0x2b, 0x23, 0xb6, 0xd2, 0x2c, + 0x85, 0xf7, 0xd6, 0x01, 0xd5, 0x94, 0x1e, 0xbe, 0x6e, 0x9e, 0xe9, 0xd0, + 0x6a, 0x8e, 0xfe, 0x65, 0x25, 0x39, 0xec, 0x00, 0xb1, 0x13, 0x6a, 0xdb, + 0xc4, 0xe4, 0x3a, 0xaa, 0xb7, 0x6c, 0x3a, 0xd6, 0xa5, 0x7a, 0x26, 0x7e, +}; +static const unsigned char kat2874_addinreseed[] = { + 0xa8, 0x3b, 0x15, 0x47, 0xfa, 0xdb, 0x97, 0xe4, 0x91, 0xef, 0x0b, 0xdb, + 0x8b, 0x0d, 0x00, 0x6a, 0xb1, 0x66, 0x38, 0xfd, 0xb2, 0x11, 0x61, 0x30, + 0x51, 0xf0, 0xf5, 0x75, 0x86, 0xc1, 0x46, 0x88, 0x2f, 0x10, 0x62, 0xb7, + 0xf7, 0x1a, 0x8c, 0x15, 0xbb, 0x27, 0x20, 0x0f, 0xa8, 0x3f, 0xfc, 0xaf, +}; +static const unsigned char kat2874_addin0[] = { + 0xac, 0x18, 0x8d, 0xa8, 0xa8, 0x95, 0xe0, 0x80, 0x7b, 0xab, 0x61, 0xb1, + 0xeb, 0xd7, 0x3a, 0xcb, 0xe4, 0x3f, 0x99, 0xf3, 0x75, 0xc7, 0xd2, 0x91, + 0x74, 0xf6, 0x75, 0xe1, 0x66, 0x72, 0x37, 0xce, 0xdf, 0x1d, 0x41, 0xfc, + 0x50, 0xda, 0x27, 0x7a, 0x0d, 0xb2, 0x1e, 0xe2, 0x89, 0x1a, 0x5a, 0xbf, +}; +static const unsigned char kat2874_addin1[] = { + 0xad, 0xf9, 0xa3, 0x0b, 0x6c, 0xd9, 0xda, 0xc2, 0x3f, 0x19, 0x3f, 0x66, + 0xdf, 0x9d, 0x60, 0x6a, 0x57, 0x65, 0xb9, 0x6c, 0xc4, 0x2c, 0x09, 0x95, + 0x30, 0xc5, 0x3c, 0x26, 0xa6, 0xd6, 0xbc, 0xf0, 0x77, 0x9a, 0xe0, 0x60, + 0xd1, 0x88, 0xe1, 0xcc, 0x5b, 0xda, 0xb6, 0xc3, 0x12, 0x89, 0x22, 0x67, +}; +static const unsigned char kat2874_retbits[] = { + 0xfc, 0xc7, 0x98, 0x28, 0xbf, 0x2c, 0x9d, 0x3d, 0x79, 0x9d, 0x7a, 0x0e, + 0x83, 0x58, 0x3c, 0x70, 0xae, 0xb1, 0x56, 0xe2, 0x5d, 0xf0, 0xb2, 0xfd, + 0xe0, 0x30, 0xc2, 0x77, 0x5c, 0x99, 0x86, 0xc8, 0x05, 0x4e, 0x84, 0x81, + 0x28, 0xba, 0x38, 0xff, 0x5e, 0x5b, 0x0b, 0x1e, 0x5b, 0x72, 0xf9, 0xe4, + 0x17, 0x26, 0xb9, 0x60, 0x00, 0x84, 0x08, 0xf5, 0x15, 0x2b, 0x1a, 0x47, + 0x07, 0x2f, 0xbd, 0xf7, +}; +static const struct drbg_kat_pr_false kat2874_t = { + 8, kat2874_entropyin, kat2874_nonce, kat2874_persstr, + kat2874_entropyinreseed, kat2874_addinreseed, kat2874_addin0, + kat2874_addin1, kat2874_retbits +}; +static const struct drbg_kat kat2874 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2874_t +}; + +static const unsigned char kat2875_entropyin[] = { + 0x5e, 0x0d, 0xd8, 0xe3, 0x7a, 0xa2, 0x3d, 0x0f, 0xe7, 0x9e, 0xfc, 0xb8, + 0xe5, 0x53, 0x8e, 0xe9, 0x0f, 0xfb, 0x57, 0x33, 0xde, 0xcc, 0x83, 0xf7, + 0x67, 0x74, 0x88, 0xc4, 0xf6, 0x4c, 0x2e, 0x0d, 0x2a, 0x91, 0x89, 0x68, + 0xa5, 0xc7, 0x35, 0x1d, 0xe9, 0x36, 0x0f, 0x23, 0xfe, 0x60, 0x6a, 0x4a, +}; +static const unsigned char kat2875_nonce[] = {0}; +static const unsigned char kat2875_persstr[] = { + 0x51, 0x61, 0xb7, 0x94, 0xe4, 0xa1, 0x33, 0x71, 0xb3, 0x20, 0xae, 0x4b, + 0x2b, 0x6b, 0x69, 0x8e, 0x4d, 0xf5, 0x07, 0x40, 0x2a, 0x75, 0x82, 0x55, + 0x55, 0x98, 0x08, 0x9d, 0xd9, 0x48, 0x43, 0x58, 0xd3, 0x7f, 0x89, 0x12, + 0x94, 0x94, 0x85, 0x12, 0xe4, 0x19, 0x8a, 0x79, 0xde, 0x8c, 0xa3, 0xd9, +}; +static const unsigned char kat2875_entropyinreseed[] = { + 0x85, 0x0f, 0xfb, 0x89, 0xbc, 0x23, 0x56, 0x2f, 0x3e, 0xa0, 0x39, 0x47, + 0xc1, 0xaf, 0xa7, 0x30, 0x9a, 0x0c, 0xcd, 0xc0, 0xb7, 0x14, 0xbc, 0x94, + 0xff, 0x45, 0xd6, 0x68, 0x84, 0xb7, 0x4f, 0xba, 0x0b, 0xff, 0xce, 0x97, + 0x88, 0x7f, 0x2e, 0xfc, 0x17, 0x83, 0x88, 0xf3, 0x6f, 0x0e, 0xa9, 0x5e, +}; +static const unsigned char kat2875_addinreseed[] = { + 0x50, 0xf6, 0x05, 0xcb, 0x94, 0x0f, 0x57, 0x3c, 0x4e, 0xf3, 0xdd, 0xff, + 0x8c, 0xaa, 0x9a, 0x3f, 0x54, 0x4f, 0x40, 0xfd, 0xf5, 0x83, 0xb8, 0x2c, + 0xd7, 0x93, 0x38, 0x52, 0x3d, 0x89, 0x6f, 0x72, 0xf8, 0x6b, 0xe1, 0xf9, + 0xbb, 0x37, 0xd9, 0xac, 0xa0, 0x2a, 0x28, 0x56, 0xf7, 0x13, 0xc8, 0x12, +}; +static const unsigned char kat2875_addin0[] = { + 0xda, 0x7b, 0xcf, 0x68, 0x10, 0xa6, 0xb3, 0x82, 0x05, 0x48, 0x06, 0x5e, + 0xdb, 0xec, 0x0f, 0xa2, 0xfd, 0x4b, 0xc0, 0x3e, 0x5d, 0x50, 0x66, 0x6f, + 0x98, 0xa8, 0xbe, 0xa6, 0xb7, 0x44, 0xe0, 0x4a, 0xaf, 0xa0, 0x71, 0x45, + 0x82, 0xf1, 0x1b, 0x66, 0x08, 0x85, 0x2c, 0x45, 0xee, 0x51, 0xdf, 0x6b, +}; +static const unsigned char kat2875_addin1[] = { + 0x4e, 0x9c, 0x0c, 0x77, 0x06, 0x99, 0x65, 0x62, 0x17, 0xa0, 0xb2, 0xdb, + 0xb4, 0x66, 0xa0, 0xfc, 0xb0, 0xcd, 0xb5, 0xd4, 0xa4, 0xa0, 0x5d, 0xa4, + 0x0f, 0xa2, 0xeb, 0x54, 0x6f, 0x2f, 0x0f, 0x28, 0xae, 0xa5, 0x75, 0xa0, + 0xbd, 0xf6, 0xe8, 0x93, 0x52, 0xd5, 0x19, 0xdb, 0x44, 0xf4, 0x7d, 0xc5, +}; +static const unsigned char kat2875_retbits[] = { + 0x40, 0xec, 0x0e, 0x8e, 0x3e, 0x54, 0xcd, 0x4f, 0xd7, 0x8f, 0x5e, 0x00, + 0x6b, 0xf3, 0x13, 0x4c, 0x37, 0x8b, 0xa6, 0x19, 0xcc, 0xf9, 0xe7, 0x53, + 0x0c, 0x79, 0x21, 0x7d, 0xa6, 0x31, 0x45, 0x8b, 0x5f, 0x91, 0x35, 0xbc, + 0x8b, 0x0d, 0x6f, 0x2e, 0x74, 0x2c, 0x53, 0xb5, 0x8d, 0x0e, 0xbc, 0x18, + 0x26, 0x3f, 0x9d, 0x2e, 0xf3, 0x7a, 0x2f, 0xa0, 0xfb, 0x08, 0x6d, 0x21, + 0x93, 0x85, 0x78, 0x63, +}; +static const struct drbg_kat_pr_false kat2875_t = { + 9, kat2875_entropyin, kat2875_nonce, kat2875_persstr, + kat2875_entropyinreseed, kat2875_addinreseed, kat2875_addin0, + kat2875_addin1, kat2875_retbits +}; +static const struct drbg_kat kat2875 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2875_t +}; + +static const unsigned char kat2876_entropyin[] = { + 0x21, 0x9a, 0x36, 0x4a, 0xd3, 0x62, 0xfd, 0x8a, 0x1d, 0x69, 0xc1, 0x28, + 0x4f, 0xd6, 0x4c, 0xc9, 0xec, 0x05, 0xe6, 0xbf, 0xbd, 0xd1, 0x33, 0xac, + 0x91, 0x70, 0x59, 0x4b, 0x5d, 0x95, 0x94, 0x6d, 0x3d, 0xda, 0x2e, 0xbc, + 0xc5, 0x8d, 0xee, 0xac, 0xe8, 0x6f, 0x9d, 0xca, 0x5a, 0xd9, 0x9c, 0x18, +}; +static const unsigned char kat2876_nonce[] = {0}; +static const unsigned char kat2876_persstr[] = { + 0xb0, 0xb2, 0x7b, 0x03, 0xfc, 0x65, 0xef, 0xfe, 0x46, 0x10, 0xe6, 0x19, + 0x16, 0xf2, 0xe9, 0xbd, 0x25, 0x2d, 0x47, 0xef, 0xcc, 0x08, 0xb8, 0x4a, + 0xa5, 0x05, 0xb1, 0xbe, 0xfd, 0x3a, 0x7e, 0x92, 0x95, 0xca, 0x76, 0x4a, + 0xc8, 0x8f, 0x09, 0x9b, 0xbe, 0xcc, 0x28, 0x30, 0x1f, 0x0f, 0x29, 0x8e, +}; +static const unsigned char kat2876_entropyinreseed[] = { + 0x1b, 0xcc, 0xdb, 0x4b, 0x2c, 0xe8, 0x63, 0xfb, 0xee, 0x10, 0x4d, 0x7a, + 0x56, 0xf2, 0xcd, 0x88, 0xa4, 0x4a, 0x08, 0x83, 0x92, 0x88, 0x3a, 0x6d, + 0xb3, 0x0e, 0x6f, 0xc7, 0xbf, 0x56, 0x11, 0x75, 0x9c, 0x71, 0xd5, 0x3a, + 0x61, 0xfe, 0x62, 0xb6, 0x31, 0x4d, 0x74, 0x26, 0xe5, 0x10, 0xa7, 0x22, +}; +static const unsigned char kat2876_addinreseed[] = { + 0xa0, 0x6e, 0xab, 0x3b, 0x05, 0xeb, 0x36, 0x49, 0xa0, 0x1b, 0xe8, 0x2a, + 0x35, 0x60, 0x30, 0xef, 0xfd, 0xbf, 0x45, 0xfd, 0x71, 0xf4, 0x9b, 0x18, + 0x62, 0xec, 0xf3, 0x3f, 0xdb, 0x28, 0xa7, 0x19, 0x1a, 0x34, 0xf1, 0x04, + 0xb9, 0xed, 0xa1, 0xda, 0x4b, 0xa4, 0x8d, 0xaf, 0x9d, 0xa3, 0x81, 0xb6, +}; +static const unsigned char kat2876_addin0[] = { + 0x88, 0xb1, 0x7e, 0x13, 0xe0, 0x2a, 0x7e, 0x9a, 0x3f, 0x82, 0x63, 0x94, + 0x6f, 0xae, 0x0b, 0x6a, 0x90, 0x52, 0x69, 0x2c, 0x3c, 0x5c, 0xbe, 0x85, + 0x83, 0x69, 0xc4, 0xd0, 0xb1, 0x98, 0xb9, 0xc6, 0xa8, 0xf4, 0xc8, 0x7f, + 0xf5, 0xe6, 0xb2, 0x83, 0x5a, 0x79, 0x44, 0xb9, 0x11, 0x26, 0x6a, 0xa9, +}; +static const unsigned char kat2876_addin1[] = { + 0x82, 0x82, 0x22, 0xc8, 0xa2, 0x75, 0x42, 0x7a, 0x5f, 0x8a, 0x96, 0x3d, + 0x0d, 0x65, 0xe9, 0x2f, 0x61, 0x70, 0xd5, 0x08, 0x9c, 0x9a, 0x16, 0x24, + 0x29, 0xc0, 0x93, 0xa2, 0x8d, 0xd6, 0x9f, 0x71, 0x13, 0x53, 0x42, 0xf1, + 0x6b, 0x3b, 0xae, 0xa9, 0xa4, 0x76, 0x4e, 0x2c, 0xc3, 0x76, 0x22, 0x67, +}; +static const unsigned char kat2876_retbits[] = { + 0xa7, 0x39, 0xf9, 0xfe, 0xe9, 0xa4, 0x00, 0x49, 0xe4, 0x2b, 0x00, 0xb3, + 0x81, 0xa1, 0xf6, 0x63, 0x87, 0x7a, 0xbb, 0x77, 0x6e, 0xc6, 0x55, 0xe3, + 0xa7, 0x87, 0x0b, 0xd9, 0x4b, 0xea, 0x1a, 0x25, 0xd3, 0xc6, 0xd3, 0x80, + 0xec, 0xed, 0x43, 0x5e, 0x49, 0x80, 0x44, 0xda, 0xf7, 0x8b, 0x34, 0x9b, + 0xc1, 0x86, 0x8e, 0x4b, 0xff, 0x62, 0x57, 0xcf, 0x27, 0x11, 0xed, 0x08, + 0xe2, 0x35, 0x72, 0x01, +}; +static const struct drbg_kat_pr_false kat2876_t = { + 10, kat2876_entropyin, kat2876_nonce, kat2876_persstr, + kat2876_entropyinreseed, kat2876_addinreseed, kat2876_addin0, + kat2876_addin1, kat2876_retbits +}; +static const struct drbg_kat kat2876 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2876_t +}; + +static const unsigned char kat2877_entropyin[] = { + 0xf8, 0x51, 0x3c, 0x2f, 0x6e, 0x46, 0xf7, 0x5f, 0xce, 0x36, 0x71, 0xcc, + 0xb3, 0xc6, 0x91, 0x58, 0x58, 0x3a, 0x87, 0x3b, 0x0d, 0xda, 0x83, 0xd8, + 0xb1, 0xcd, 0x54, 0x8f, 0x4e, 0x5e, 0xfd, 0x75, 0x64, 0x2f, 0x2c, 0x23, + 0xcf, 0x87, 0x92, 0xd5, 0x10, 0x23, 0xf3, 0x1d, 0x79, 0x5f, 0x6f, 0x5b, +}; +static const unsigned char kat2877_nonce[] = {0}; +static const unsigned char kat2877_persstr[] = { + 0xe9, 0x4f, 0x72, 0x12, 0x25, 0x78, 0x85, 0x51, 0x1b, 0x15, 0xa8, 0x73, + 0xd0, 0x15, 0x8f, 0xa5, 0xea, 0x64, 0x88, 0x46, 0xaf, 0xbc, 0xf9, 0xd6, + 0x2a, 0x7a, 0xbc, 0x4e, 0x69, 0x09, 0xdd, 0x43, 0xc6, 0x71, 0xfa, 0x18, + 0xbc, 0x28, 0x9f, 0x47, 0xe2, 0x30, 0x1e, 0x9a, 0xa6, 0x9c, 0x3e, 0x88, +}; +static const unsigned char kat2877_entropyinreseed[] = { + 0x48, 0x7b, 0x9c, 0x18, 0x66, 0xff, 0xda, 0xaf, 0x67, 0x60, 0xcd, 0xee, + 0x3d, 0xf5, 0xa9, 0x30, 0x19, 0x6d, 0x30, 0xb0, 0xac, 0x8d, 0xb7, 0x80, + 0x65, 0x65, 0x77, 0xdd, 0xfc, 0x1f, 0xf3, 0x50, 0x8c, 0x45, 0x1e, 0xf2, + 0xb0, 0xb4, 0x78, 0xa2, 0xcf, 0x0c, 0x73, 0x02, 0x75, 0x97, 0xb2, 0xae, +}; +static const unsigned char kat2877_addinreseed[] = { + 0x73, 0x87, 0xb5, 0x9f, 0x8c, 0x78, 0xe7, 0x9d, 0x36, 0xed, 0xac, 0xbb, + 0x42, 0x8f, 0xd5, 0x15, 0xef, 0x9e, 0x58, 0x08, 0x60, 0x59, 0xbf, 0x7f, + 0xd6, 0x42, 0x05, 0x3b, 0x0f, 0x57, 0x06, 0xcf, 0xe8, 0x6e, 0xb3, 0xc3, + 0x5c, 0xa0, 0xb6, 0xf0, 0x2e, 0x5d, 0x13, 0x04, 0xe4, 0x76, 0xe3, 0xcf, +}; +static const unsigned char kat2877_addin0[] = { + 0xba, 0xfc, 0x59, 0xef, 0x40, 0xe5, 0x9d, 0x8c, 0x28, 0x85, 0x12, 0x12, + 0xe1, 0xc3, 0x57, 0xcc, 0xe0, 0xd0, 0x6f, 0x02, 0xc6, 0x9d, 0x14, 0x58, + 0x51, 0x70, 0xca, 0x8e, 0xb1, 0x83, 0x96, 0xa3, 0x31, 0xd6, 0x35, 0xcf, + 0x06, 0x51, 0x31, 0x98, 0x42, 0xce, 0xe2, 0xf7, 0xc8, 0x72, 0x85, 0xc2, +}; +static const unsigned char kat2877_addin1[] = { + 0x82, 0xd9, 0x05, 0xba, 0x69, 0xb6, 0xc4, 0x5c, 0xa2, 0x81, 0x07, 0xbe, + 0xb6, 0x69, 0x8a, 0x15, 0x26, 0x31, 0xab, 0x48, 0x61, 0x42, 0x35, 0xf6, + 0xa9, 0xf1, 0x2e, 0x01, 0x9f, 0x66, 0xbf, 0x32, 0x61, 0x51, 0xd9, 0xee, + 0x84, 0xe0, 0xcd, 0x42, 0xb6, 0x56, 0x6d, 0xbf, 0xfb, 0x46, 0xec, 0x35, +}; +static const unsigned char kat2877_retbits[] = { + 0x16, 0x3f, 0x48, 0xd0, 0x9f, 0x3e, 0x9e, 0xbf, 0x9f, 0x86, 0x47, 0x76, + 0x6a, 0x0b, 0x2e, 0x18, 0x9a, 0x2f, 0x3a, 0x21, 0xa5, 0xa4, 0xe3, 0x1c, + 0x8a, 0x4f, 0x3b, 0xd1, 0x38, 0xcc, 0x50, 0x03, 0x0a, 0xc8, 0xbe, 0xa1, + 0xc4, 0xd9, 0xe9, 0xaa, 0x0b, 0x67, 0xf3, 0x49, 0x26, 0x23, 0x9f, 0xbc, + 0xed, 0xfd, 0x19, 0x92, 0xda, 0x16, 0x5b, 0x94, 0x1c, 0xf0, 0x3b, 0x56, + 0x73, 0x77, 0x37, 0xb2, +}; +static const struct drbg_kat_pr_false kat2877_t = { + 11, kat2877_entropyin, kat2877_nonce, kat2877_persstr, + kat2877_entropyinreseed, kat2877_addinreseed, kat2877_addin0, + kat2877_addin1, kat2877_retbits +}; +static const struct drbg_kat kat2877 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2877_t +}; + +static const unsigned char kat2878_entropyin[] = { + 0x0a, 0x8f, 0x09, 0x27, 0x64, 0xd4, 0x73, 0xd4, 0x82, 0x15, 0xe9, 0x47, + 0xea, 0x8a, 0x32, 0xb5, 0xda, 0x8e, 0xa8, 0x6d, 0x8e, 0xd0, 0xd8, 0x3b, + 0xce, 0x31, 0xb1, 0xb5, 0xa2, 0x1e, 0x7c, 0x5f, 0x1a, 0xf2, 0x18, 0x6a, + 0x39, 0xca, 0xf9, 0xaf, 0xa6, 0x16, 0x44, 0xca, 0xef, 0x02, 0xef, 0x9b, +}; +static const unsigned char kat2878_nonce[] = {0}; +static const unsigned char kat2878_persstr[] = { + 0x84, 0x63, 0x7f, 0xab, 0xa7, 0x56, 0x91, 0x7b, 0x0f, 0x44, 0xba, 0x2e, + 0x0e, 0x26, 0x54, 0x6f, 0x52, 0x39, 0x78, 0x2e, 0x4d, 0x9f, 0x95, 0x2e, + 0xe2, 0x51, 0x36, 0x70, 0x81, 0x62, 0x9e, 0x71, 0xc2, 0x0a, 0x74, 0x59, + 0x99, 0x5a, 0x75, 0x63, 0x81, 0x0d, 0xae, 0xab, 0x74, 0x22, 0x06, 0x64, +}; +static const unsigned char kat2878_entropyinreseed[] = { + 0xea, 0xca, 0xde, 0xd3, 0xd8, 0x9a, 0x63, 0xb9, 0x4a, 0x5c, 0x14, 0xc3, + 0x08, 0x73, 0x06, 0xe6, 0x70, 0xfc, 0x4e, 0xe7, 0xd5, 0x6c, 0xaf, 0xef, + 0x4c, 0x5a, 0xa7, 0xd5, 0x53, 0xca, 0x89, 0xed, 0x34, 0x41, 0x80, 0x56, + 0xa4, 0x4f, 0x54, 0x47, 0xe2, 0xb0, 0x7d, 0xd5, 0x41, 0xac, 0x46, 0x45, +}; +static const unsigned char kat2878_addinreseed[] = { + 0x10, 0x4a, 0x15, 0x41, 0x31, 0x3f, 0xc4, 0xbe, 0x9d, 0x34, 0xbc, 0xed, + 0x28, 0x8c, 0x1c, 0x1b, 0x6f, 0xa7, 0x93, 0xe9, 0x09, 0x6f, 0x8b, 0xe5, + 0x67, 0x3a, 0x2c, 0x68, 0x25, 0xda, 0xbe, 0xf9, 0x1f, 0xd8, 0x8e, 0x45, + 0xa0, 0x61, 0xb2, 0xd8, 0x97, 0xf9, 0xb5, 0xe8, 0xa8, 0xae, 0x0a, 0xd3, +}; +static const unsigned char kat2878_addin0[] = { + 0xe3, 0x0c, 0x9d, 0x8a, 0xba, 0x0b, 0xd5, 0xdc, 0x63, 0xd9, 0x11, 0x89, + 0x7e, 0x4d, 0xca, 0xdb, 0xea, 0xcc, 0x3e, 0xd9, 0x39, 0x2d, 0x8e, 0x36, + 0x1b, 0x35, 0x6e, 0x02, 0xa8, 0x1d, 0x65, 0xbd, 0xab, 0x91, 0xf7, 0xe9, + 0xf8, 0xdd, 0x2b, 0x2b, 0xf9, 0xaf, 0x0d, 0xa5, 0x10, 0x0e, 0x77, 0xd4, +}; +static const unsigned char kat2878_addin1[] = { + 0x2b, 0xed, 0x42, 0xb8, 0xc0, 0x54, 0x61, 0xba, 0x27, 0x56, 0xa5, 0xf3, + 0x83, 0x93, 0xd5, 0x53, 0x8d, 0x20, 0xeb, 0x9c, 0xf1, 0xc0, 0x67, 0x75, + 0xe7, 0xfe, 0xf7, 0x28, 0x43, 0x41, 0xf6, 0x1c, 0xcd, 0x34, 0xb0, 0x14, + 0x8d, 0x1e, 0x87, 0x0c, 0x19, 0x92, 0xdf, 0xd0, 0x65, 0x56, 0x0e, 0xd6, +}; +static const unsigned char kat2878_retbits[] = { + 0x85, 0x5a, 0x6a, 0xf3, 0xe6, 0xdd, 0xdf, 0x19, 0x4c, 0xea, 0xaf, 0xce, + 0xf6, 0xf7, 0xee, 0x91, 0xf4, 0x89, 0xa6, 0x1a, 0x73, 0xb7, 0x59, 0xd4, + 0x1b, 0xe4, 0xd5, 0x29, 0x85, 0x10, 0xb9, 0x90, 0x2f, 0x5b, 0x78, 0xb1, + 0x16, 0x2c, 0xba, 0x41, 0x76, 0x84, 0x51, 0x96, 0x34, 0xb5, 0x78, 0xaf, + 0xda, 0x98, 0x02, 0xbd, 0x78, 0x2f, 0x04, 0xb3, 0xa2, 0x51, 0x06, 0xf3, + 0x58, 0x6a, 0xd8, 0xa4, +}; +static const struct drbg_kat_pr_false kat2878_t = { + 12, kat2878_entropyin, kat2878_nonce, kat2878_persstr, + kat2878_entropyinreseed, kat2878_addinreseed, kat2878_addin0, + kat2878_addin1, kat2878_retbits +}; +static const struct drbg_kat kat2878 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2878_t +}; + +static const unsigned char kat2879_entropyin[] = { + 0xed, 0x63, 0xe3, 0xb8, 0x8a, 0x2f, 0x0d, 0x6a, 0x40, 0xb7, 0xb3, 0x6a, + 0x06, 0xcd, 0x8d, 0x40, 0xec, 0x10, 0x15, 0x8a, 0xb6, 0xc4, 0xf8, 0xda, + 0xbd, 0xb8, 0x79, 0xe4, 0x5d, 0x22, 0xdb, 0x57, 0x33, 0x20, 0xd2, 0x64, + 0x1b, 0xfd, 0x7d, 0xb3, 0x1e, 0xb6, 0xbb, 0xf4, 0xc6, 0x33, 0x0b, 0x9f, +}; +static const unsigned char kat2879_nonce[] = {0}; +static const unsigned char kat2879_persstr[] = { + 0xf8, 0x2a, 0x5e, 0xe8, 0x1f, 0x34, 0x9a, 0x69, 0xdf, 0xa6, 0xa6, 0xe5, + 0x3b, 0x40, 0x6b, 0xb5, 0x60, 0xcb, 0x03, 0x39, 0xf6, 0x1b, 0x38, 0x86, + 0x23, 0x70, 0x23, 0xae, 0x45, 0x82, 0xb9, 0x72, 0x5b, 0x87, 0x74, 0xa8, + 0x04, 0x4e, 0xc5, 0x13, 0x4e, 0xbd, 0x4d, 0x76, 0x06, 0xf1, 0x81, 0x88, +}; +static const unsigned char kat2879_entropyinreseed[] = { + 0x71, 0x04, 0x52, 0x2c, 0x2a, 0x69, 0xbe, 0xc7, 0xe0, 0x10, 0xd9, 0x67, + 0x0d, 0x7a, 0xb9, 0x2d, 0xd8, 0x17, 0xac, 0x7f, 0xf0, 0x5d, 0x63, 0xab, + 0x0e, 0x12, 0xd4, 0x31, 0xd4, 0xc9, 0xae, 0xf4, 0xd7, 0x15, 0x42, 0x1c, + 0x1f, 0xb5, 0xd0, 0x5d, 0x3a, 0xec, 0xba, 0x36, 0x85, 0x9a, 0x60, 0x38, +}; +static const unsigned char kat2879_addinreseed[] = { + 0x3b, 0x83, 0x03, 0x4e, 0xa4, 0x40, 0x60, 0x4d, 0x0b, 0x7d, 0x04, 0x85, + 0x76, 0x23, 0xe9, 0xad, 0xc0, 0xeb, 0x9a, 0xad, 0x4a, 0x45, 0xb2, 0x07, + 0x98, 0x63, 0xee, 0xd3, 0xd7, 0x2e, 0x65, 0xab, 0xf6, 0x7d, 0x25, 0x56, + 0x73, 0xe7, 0x69, 0xa2, 0xe2, 0x58, 0x4e, 0xea, 0x59, 0xf1, 0xeb, 0xaa, +}; +static const unsigned char kat2879_addin0[] = { + 0x86, 0x78, 0xe4, 0xf8, 0x31, 0x88, 0x7e, 0x96, 0xa2, 0x7c, 0x3a, 0x8c, + 0xe0, 0x96, 0x3f, 0x4b, 0x34, 0xbb, 0xca, 0x25, 0x79, 0x1b, 0x06, 0x52, + 0x6c, 0xb6, 0xc5, 0x56, 0x24, 0xc3, 0x3d, 0x98, 0xa0, 0x35, 0x6b, 0xe6, + 0x24, 0x23, 0x8c, 0xec, 0xac, 0xba, 0x35, 0x35, 0xe8, 0x72, 0xc4, 0xc7, +}; +static const unsigned char kat2879_addin1[] = { + 0xec, 0x34, 0x52, 0xea, 0x27, 0x22, 0x98, 0x4b, 0xbe, 0x6a, 0x5b, 0x7c, + 0x22, 0xad, 0x58, 0xdf, 0x37, 0xa8, 0x54, 0xab, 0xc8, 0x63, 0x0b, 0x9e, + 0x21, 0xbc, 0xd0, 0x46, 0x9e, 0xb2, 0x07, 0xe5, 0xf4, 0x4e, 0x04, 0x4f, + 0x5f, 0x66, 0x69, 0x20, 0xdd, 0x55, 0xe8, 0x1a, 0x39, 0x35, 0x00, 0xde, +}; +static const unsigned char kat2879_retbits[] = { + 0xc3, 0x40, 0x76, 0x5f, 0xe7, 0xa3, 0x47, 0x9b, 0xef, 0x2d, 0x7d, 0x59, + 0xe3, 0x21, 0x06, 0x6f, 0x8a, 0xd0, 0xdb, 0x53, 0xae, 0xd4, 0xc5, 0x17, + 0xbf, 0x83, 0x39, 0x56, 0x6b, 0xf8, 0x77, 0xd5, 0x39, 0x21, 0xe6, 0xde, + 0x26, 0x50, 0xd0, 0x08, 0x05, 0x29, 0x00, 0x4a, 0x5f, 0xd3, 0x21, 0x24, + 0xce, 0x8e, 0x58, 0xa0, 0x40, 0xe2, 0xd5, 0x56, 0x56, 0xb3, 0x7d, 0x9e, + 0xa8, 0x27, 0xcb, 0x91, +}; +static const struct drbg_kat_pr_false kat2879_t = { + 13, kat2879_entropyin, kat2879_nonce, kat2879_persstr, + kat2879_entropyinreseed, kat2879_addinreseed, kat2879_addin0, + kat2879_addin1, kat2879_retbits +}; +static const struct drbg_kat kat2879 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2879_t +}; + +static const unsigned char kat2880_entropyin[] = { + 0x88, 0x2e, 0xd0, 0x54, 0x87, 0xdc, 0xe4, 0xb4, 0xf9, 0xe5, 0x8e, 0xc4, + 0xf2, 0xda, 0x1f, 0xa5, 0xd8, 0xeb, 0xb4, 0xef, 0x9f, 0xcb, 0xf7, 0xb0, + 0xa0, 0xe1, 0x5c, 0x4d, 0xcc, 0xb8, 0xe1, 0x97, 0x88, 0xf8, 0x6d, 0xcf, + 0x28, 0x85, 0xe7, 0x1a, 0x20, 0xcb, 0xd9, 0xac, 0x10, 0xa6, 0x64, 0x8e, +}; +static const unsigned char kat2880_nonce[] = {0}; +static const unsigned char kat2880_persstr[] = { + 0x05, 0xf5, 0xbc, 0x41, 0x68, 0x7e, 0xa1, 0xe4, 0xc3, 0x4a, 0x69, 0x94, + 0x4f, 0xba, 0xe2, 0x83, 0xcf, 0xee, 0x4c, 0x42, 0xb1, 0xbb, 0xd7, 0x8f, + 0xdd, 0xb0, 0x97, 0x3d, 0x0f, 0xca, 0x94, 0x85, 0x39, 0xb6, 0x84, 0x36, + 0x58, 0xb6, 0x7c, 0x30, 0xb7, 0x31, 0x91, 0xb9, 0xa0, 0xbf, 0x29, 0x21, +}; +static const unsigned char kat2880_entropyinreseed[] = { + 0xca, 0x16, 0x03, 0xd4, 0xc8, 0x71, 0x14, 0x04, 0xc7, 0xbd, 0xc1, 0x2c, + 0x7c, 0x75, 0xb2, 0x94, 0x3a, 0x4b, 0x04, 0x2e, 0xa1, 0xd2, 0xeb, 0x54, + 0x50, 0x6a, 0x68, 0x76, 0x95, 0x21, 0x57, 0xca, 0xf3, 0xb1, 0x52, 0xdc, + 0x75, 0xf2, 0x7f, 0x22, 0x13, 0x64, 0x5a, 0x14, 0x15, 0x77, 0xe8, 0xba, +}; +static const unsigned char kat2880_addinreseed[] = { + 0x83, 0xcd, 0xa5, 0x33, 0x80, 0x88, 0x8d, 0x53, 0x51, 0x5e, 0x58, 0x15, + 0x4f, 0x89, 0xd5, 0x52, 0x8a, 0xb6, 0x9f, 0x31, 0xfb, 0xcf, 0xca, 0x34, + 0x98, 0x8c, 0xf0, 0x3c, 0x4c, 0xae, 0x5f, 0x60, 0xaa, 0x62, 0x91, 0xf3, + 0x2d, 0x99, 0xab, 0x2a, 0x72, 0x6b, 0x6e, 0x08, 0xd2, 0x50, 0x2c, 0xf5, +}; +static const unsigned char kat2880_addin0[] = { + 0x5b, 0xf5, 0xca, 0x9f, 0x96, 0x4e, 0xdd, 0x91, 0xe8, 0xef, 0x49, 0x1f, + 0xd3, 0xcd, 0x32, 0xfa, 0xf9, 0xcb, 0x9d, 0x19, 0x93, 0xd8, 0x22, 0x19, + 0x14, 0xd1, 0x75, 0x1f, 0xb0, 0xd4, 0x25, 0x2a, 0x5c, 0xa9, 0x50, 0xe2, + 0x13, 0xf0, 0x88, 0x05, 0x09, 0x00, 0xb2, 0xbd, 0x74, 0xf5, 0xe3, 0x36, +}; +static const unsigned char kat2880_addin1[] = { + 0xdb, 0xa2, 0x8d, 0xc1, 0xd8, 0xd6, 0x15, 0x65, 0x15, 0x47, 0x86, 0x7d, + 0x4e, 0xf4, 0x25, 0x19, 0x04, 0x5e, 0xe1, 0x63, 0x78, 0x14, 0x36, 0x85, + 0x10, 0x1d, 0xa4, 0x7a, 0x27, 0xb5, 0x54, 0x98, 0x07, 0x8e, 0x8a, 0x8f, + 0x48, 0x54, 0x05, 0x2f, 0x7c, 0xc6, 0xf5, 0xb0, 0x2e, 0x57, 0x1a, 0xe8, +}; +static const unsigned char kat2880_retbits[] = { + 0x01, 0xf1, 0x19, 0x71, 0x83, 0x58, 0x19, 0xc1, 0x14, 0x8a, 0xa0, 0x79, + 0xee, 0xa0, 0x9f, 0xd5, 0xb1, 0xaa, 0x3a, 0xc6, 0xba, 0x55, 0x7a, 0xe3, + 0x31, 0x7b, 0x1a, 0x33, 0xf4, 0x50, 0x51, 0x74, 0xcf, 0x9d, 0x7e, 0x94, + 0x08, 0x21, 0xc9, 0xb0, 0xe5, 0x52, 0x7a, 0x1d, 0x3e, 0x18, 0x6a, 0x7a, + 0x83, 0xf1, 0x87, 0xc6, 0x2d, 0x32, 0x23, 0xcf, 0x59, 0x64, 0xff, 0x95, + 0x26, 0xd8, 0x48, 0x4c, +}; +static const struct drbg_kat_pr_false kat2880_t = { + 14, kat2880_entropyin, kat2880_nonce, kat2880_persstr, + kat2880_entropyinreseed, kat2880_addinreseed, kat2880_addin0, + kat2880_addin1, kat2880_retbits +}; +static const struct drbg_kat kat2880 = { + PR_FALSE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat2880_t +}; + +static const unsigned char kat2881_entropyin[] = { + 0x5d, 0x40, 0x41, 0x94, 0x2b, 0xcf, 0x68, 0x86, 0x4a, 0x49, 0x97, 0xd8, + 0x17, 0x1f, 0x1f, 0x9f, +}; +static const unsigned char kat2881_nonce[] = { + 0xd4, 0xf1, 0xf4, 0xae, 0x08, 0xbc, 0xb3, 0xe1, +}; +static const unsigned char kat2881_persstr[] = {0}; +static const unsigned char kat2881_entropyinpr1[] = { + 0xef, 0x55, 0xa7, 0x69, 0xb7, 0xea, 0xf0, 0x3f, 0xe0, 0x82, 0x02, 0x9b, + 0xb3, 0x2a, 0x2b, 0x9d, +}; +static const unsigned char kat2881_addinpr1[] = {0}; +static const unsigned char kat2881_entropyinpr2[] = { + 0x82, 0x39, 0xe8, 0x65, 0xc0, 0xa4, 0x2e, 0x14, 0xb9, 0x64, 0xb9, 0xc0, + 0x9d, 0xe8, 0x5a, 0x20, +}; +static const unsigned char kat2881_addinpr2[] = {0}; +static const unsigned char kat2881_retbits[] = { + 0x41, 0x55, 0x32, 0x02, 0x87, 0xee, 0xdc, 0xf7, 0xd4, 0x84, 0xc2, 0xc2, + 0xa1, 0xe2, 0xeb, 0x64, 0xb9, 0xc9, 0xce, 0x77, 0xc8, 0x72, 0x02, 0xa1, + 0xae, 0x16, 0x16, 0xc7, 0xa5, 0xcf, 0xd1, 0xc6, 0x87, 0xc7, 0xa0, 0xbf, + 0xcc, 0x85, 0xbd, 0xa4, 0x8f, 0xdd, 0x46, 0x29, 0xfd, 0x33, 0x0c, 0x22, + 0xd0, 0xa7, 0x60, 0x76, 0xf8, 0x8f, 0xc7, 0xcd, 0x04, 0x03, 0x7e, 0xe0, + 0x6b, 0x7a, 0xf6, 0x02, +}; +static const struct drbg_kat_pr_true kat2881_t = { + 0, kat2881_entropyin, kat2881_nonce, kat2881_persstr, + kat2881_entropyinpr1, kat2881_addinpr1, kat2881_entropyinpr2, + kat2881_addinpr2, kat2881_retbits +}; +static const struct drbg_kat kat2881 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2881_t +}; + +static const unsigned char kat2882_entropyin[] = { + 0xd1, 0x44, 0xc6, 0x61, 0x81, 0x6d, 0xca, 0x9d, 0x15, 0x28, 0x8a, 0x42, + 0x94, 0xd7, 0x28, 0x9c, +}; +static const unsigned char kat2882_nonce[] = { + 0x43, 0x77, 0x19, 0x29, 0x1a, 0x6d, 0xc3, 0xa2, +}; +static const unsigned char kat2882_persstr[] = {0}; +static const unsigned char kat2882_entropyinpr1[] = { + 0x96, 0xd8, 0x9e, 0x45, 0x32, 0xc9, 0xd2, 0x08, 0x7a, 0x6d, 0x97, 0x15, + 0xb4, 0xec, 0x80, 0xb1, +}; +static const unsigned char kat2882_addinpr1[] = {0}; +static const unsigned char kat2882_entropyinpr2[] = { + 0x8b, 0xb6, 0x72, 0xb5, 0x24, 0x0b, 0x98, 0x65, 0x95, 0x95, 0xe9, 0xc9, + 0x28, 0x07, 0xeb, 0xc2, +}; +static const unsigned char kat2882_addinpr2[] = {0}; +static const unsigned char kat2882_retbits[] = { + 0x70, 0x19, 0xd0, 0x4c, 0x45, 0x78, 0xd6, 0x68, 0xa9, 0x9a, 0xaa, 0xfe, + 0xc1, 0xdf, 0x27, 0x9a, 0x1c, 0x0d, 0x0d, 0xf7, 0x24, 0x75, 0x46, 0xcc, + 0x77, 0x6b, 0xdf, 0x89, 0xc6, 0x94, 0xdc, 0x74, 0x50, 0x10, 0x70, 0x18, + 0x9b, 0xdc, 0x96, 0xb4, 0x89, 0x23, 0x40, 0x1a, 0xce, 0x09, 0x87, 0xce, + 0xd2, 0xf3, 0xd5, 0xe4, 0x51, 0x67, 0x74, 0x11, 0x5a, 0xcc, 0x8b, 0x3b, + 0x8a, 0xf1, 0x23, 0xa8, +}; +static const struct drbg_kat_pr_true kat2882_t = { + 1, kat2882_entropyin, kat2882_nonce, kat2882_persstr, + kat2882_entropyinpr1, kat2882_addinpr1, kat2882_entropyinpr2, + kat2882_addinpr2, kat2882_retbits +}; +static const struct drbg_kat kat2882 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2882_t +}; + +static const unsigned char kat2883_entropyin[] = { + 0xfe, 0x76, 0x50, 0xb8, 0xb1, 0xae, 0xcf, 0xfc, 0xc9, 0x00, 0x14, 0x35, + 0xdc, 0xa0, 0x87, 0x6b, +}; +static const unsigned char kat2883_nonce[] = { + 0x40, 0x59, 0xcb, 0x4f, 0x32, 0xe2, 0x1e, 0x3a, +}; +static const unsigned char kat2883_persstr[] = {0}; +static const unsigned char kat2883_entropyinpr1[] = { + 0xf2, 0xab, 0xd9, 0x86, 0xdd, 0x1f, 0x32, 0x20, 0x6a, 0x97, 0x77, 0x1c, + 0x81, 0x3e, 0x45, 0xef, +}; +static const unsigned char kat2883_addinpr1[] = {0}; +static const unsigned char kat2883_entropyinpr2[] = { + 0x85, 0x11, 0xb1, 0x49, 0xf9, 0xa0, 0xd2, 0x9d, 0x58, 0x75, 0x2d, 0xce, + 0x26, 0x14, 0xbb, 0xa8, +}; +static const unsigned char kat2883_addinpr2[] = {0}; +static const unsigned char kat2883_retbits[] = { + 0x23, 0x38, 0x9f, 0xdd, 0xea, 0xeb, 0xf3, 0x7f, 0xc6, 0xc3, 0x77, 0x56, + 0x8d, 0x76, 0x59, 0x8a, 0xc9, 0x7c, 0xf6, 0x1f, 0xbb, 0x3e, 0x9a, 0xfa, + 0xc7, 0x23, 0x21, 0x1b, 0x4b, 0xfc, 0xeb, 0x6f, 0x8a, 0x4e, 0xc6, 0x47, + 0x76, 0x65, 0x57, 0xb2, 0x42, 0x6b, 0xab, 0xf1, 0xd8, 0x45, 0xd2, 0xb1, + 0xea, 0xe6, 0x7d, 0xa5, 0xea, 0xb0, 0xce, 0x91, 0x13, 0xe3, 0x8b, 0x43, + 0x85, 0x27, 0xe7, 0x71, +}; +static const struct drbg_kat_pr_true kat2883_t = { + 2, kat2883_entropyin, kat2883_nonce, kat2883_persstr, + kat2883_entropyinpr1, kat2883_addinpr1, kat2883_entropyinpr2, + kat2883_addinpr2, kat2883_retbits +}; +static const struct drbg_kat kat2883 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2883_t +}; + +static const unsigned char kat2884_entropyin[] = { + 0xb0, 0x36, 0xdc, 0x82, 0x56, 0x8e, 0x4e, 0x6a, 0xfa, 0xa0, 0x8c, 0xf8, + 0xd0, 0x42, 0x13, 0xa1, +}; +static const unsigned char kat2884_nonce[] = { + 0x53, 0x0c, 0xa6, 0x60, 0x01, 0xf8, 0x64, 0xf5, +}; +static const unsigned char kat2884_persstr[] = {0}; +static const unsigned char kat2884_entropyinpr1[] = { + 0xf3, 0x44, 0x16, 0xb1, 0xda, 0xa3, 0xa5, 0xc2, 0x6c, 0x15, 0x53, 0x49, + 0x17, 0xc3, 0x37, 0x66, +}; +static const unsigned char kat2884_addinpr1[] = {0}; +static const unsigned char kat2884_entropyinpr2[] = { + 0x6f, 0xe6, 0x23, 0x19, 0x85, 0x3b, 0xfd, 0x7c, 0x25, 0x0e, 0x59, 0x8e, + 0xd6, 0x2a, 0x5c, 0xf4, +}; +static const unsigned char kat2884_addinpr2[] = {0}; +static const unsigned char kat2884_retbits[] = { + 0xb6, 0x3c, 0x1b, 0x91, 0x2a, 0x06, 0xf6, 0x0c, 0x17, 0xab, 0x0c, 0x4f, + 0x04, 0x2c, 0x9a, 0x54, 0xcb, 0x16, 0x27, 0x52, 0x22, 0xa8, 0x3e, 0x64, + 0x83, 0xa2, 0xf6, 0xb7, 0x2f, 0x32, 0xd1, 0xd0, 0x67, 0xca, 0xaa, 0xda, + 0x8d, 0xb6, 0x57, 0x93, 0x70, 0xab, 0xa1, 0x3a, 0x76, 0x9e, 0x7b, 0x6d, + 0x24, 0xfb, 0xff, 0x9f, 0x4e, 0xd2, 0x56, 0xa5, 0x39, 0xa4, 0x70, 0x6c, + 0xb1, 0xf2, 0x60, 0x54, +}; +static const struct drbg_kat_pr_true kat2884_t = { + 3, kat2884_entropyin, kat2884_nonce, kat2884_persstr, + kat2884_entropyinpr1, kat2884_addinpr1, kat2884_entropyinpr2, + kat2884_addinpr2, kat2884_retbits +}; +static const struct drbg_kat kat2884 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2884_t +}; + +static const unsigned char kat2885_entropyin[] = { + 0x41, 0x85, 0xba, 0xe8, 0x4c, 0x49, 0xe7, 0xfd, 0xe3, 0x19, 0x87, 0xa9, + 0x2d, 0xd9, 0x57, 0x8d, +}; +static const unsigned char kat2885_nonce[] = { + 0x32, 0x21, 0x70, 0x95, 0x5f, 0x5a, 0x3a, 0x66, +}; +static const unsigned char kat2885_persstr[] = {0}; +static const unsigned char kat2885_entropyinpr1[] = { + 0xe1, 0xf0, 0xc5, 0xa7, 0x91, 0x87, 0x79, 0x97, 0x3f, 0xc7, 0xa3, 0xb0, + 0x2a, 0xa1, 0xcf, 0x80, +}; +static const unsigned char kat2885_addinpr1[] = {0}; +static const unsigned char kat2885_entropyinpr2[] = { + 0x8e, 0x52, 0x41, 0xd3, 0x10, 0xce, 0x99, 0x93, 0x8a, 0x55, 0x27, 0x5f, + 0xa8, 0x1f, 0x45, 0xfc, +}; +static const unsigned char kat2885_addinpr2[] = {0}; +static const unsigned char kat2885_retbits[] = { + 0x1e, 0x25, 0x95, 0x26, 0x9c, 0x41, 0x92, 0x40, 0x29, 0x81, 0xdd, 0x09, + 0x7f, 0xd7, 0x4a, 0x02, 0x09, 0x03, 0xe9, 0xc9, 0x4b, 0x86, 0x3d, 0x24, + 0x70, 0x40, 0x05, 0x40, 0x1a, 0xd4, 0x86, 0x93, 0xc8, 0xad, 0x2f, 0x64, + 0x6e, 0xc8, 0xb2, 0x50, 0xee, 0xb2, 0xf2, 0x33, 0x47, 0x63, 0x98, 0x05, + 0x73, 0xab, 0x55, 0x04, 0x80, 0xf6, 0x54, 0x5d, 0xad, 0x25, 0x09, 0xa5, + 0xb3, 0xa4, 0xec, 0xda, +}; +static const struct drbg_kat_pr_true kat2885_t = { + 4, kat2885_entropyin, kat2885_nonce, kat2885_persstr, + kat2885_entropyinpr1, kat2885_addinpr1, kat2885_entropyinpr2, + kat2885_addinpr2, kat2885_retbits +}; +static const struct drbg_kat kat2885 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2885_t +}; + +static const unsigned char kat2886_entropyin[] = { + 0xfb, 0x65, 0x9d, 0x94, 0xd8, 0x08, 0x14, 0x4d, 0xfc, 0xad, 0x29, 0xa3, + 0x65, 0x52, 0x0d, 0xc7, +}; +static const unsigned char kat2886_nonce[] = { + 0xc6, 0x5a, 0xf6, 0x5e, 0x00, 0x45, 0xb5, 0xa3, +}; +static const unsigned char kat2886_persstr[] = {0}; +static const unsigned char kat2886_entropyinpr1[] = { + 0xa2, 0x10, 0x10, 0x0b, 0x8e, 0x68, 0x62, 0x1a, 0xd7, 0xd1, 0xe2, 0x38, + 0x52, 0xe4, 0xd9, 0x6f, +}; +static const unsigned char kat2886_addinpr1[] = {0}; +static const unsigned char kat2886_entropyinpr2[] = { + 0xc6, 0x59, 0x8b, 0x54, 0xa8, 0x77, 0xb8, 0x58, 0xfd, 0x29, 0x50, 0x6a, + 0xe8, 0xfb, 0xc0, 0x8e, +}; +static const unsigned char kat2886_addinpr2[] = {0}; +static const unsigned char kat2886_retbits[] = { + 0x9e, 0xee, 0xab, 0x86, 0xc0, 0x7f, 0x66, 0x82, 0xeb, 0x26, 0x62, 0x2e, + 0xf5, 0xcd, 0x72, 0xef, 0x92, 0xf0, 0xac, 0x93, 0x79, 0xde, 0x4d, 0xfc, + 0x73, 0x8a, 0x4e, 0x6e, 0x57, 0x46, 0x1c, 0x95, 0x3a, 0x69, 0x78, 0xc2, + 0x38, 0xa8, 0x8c, 0x23, 0xa7, 0x9c, 0x7b, 0x81, 0xf9, 0x7a, 0x7b, 0xdd, + 0x59, 0xb7, 0xd7, 0x66, 0xce, 0x65, 0xe8, 0x0c, 0x40, 0x97, 0xfe, 0x27, + 0x78, 0x78, 0xc5, 0x2b, +}; +static const struct drbg_kat_pr_true kat2886_t = { + 5, kat2886_entropyin, kat2886_nonce, kat2886_persstr, + kat2886_entropyinpr1, kat2886_addinpr1, kat2886_entropyinpr2, + kat2886_addinpr2, kat2886_retbits +}; +static const struct drbg_kat kat2886 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2886_t +}; + +static const unsigned char kat2887_entropyin[] = { + 0x0d, 0x46, 0x3a, 0x89, 0x7f, 0x38, 0x32, 0xdd, 0xde, 0x83, 0xaa, 0x86, + 0xb6, 0xc0, 0x91, 0x4a, +}; +static const unsigned char kat2887_nonce[] = { + 0x67, 0x21, 0x04, 0xdc, 0xb1, 0x84, 0xbb, 0xfd, +}; +static const unsigned char kat2887_persstr[] = {0}; +static const unsigned char kat2887_entropyinpr1[] = { + 0xb4, 0x02, 0x07, 0x2e, 0xcb, 0x60, 0x60, 0x69, 0xe0, 0xb2, 0xd4, 0x3c, + 0xfc, 0xba, 0xa5, 0x50, +}; +static const unsigned char kat2887_addinpr1[] = {0}; +static const unsigned char kat2887_entropyinpr2[] = { + 0x3b, 0x06, 0x9a, 0x1c, 0x25, 0x29, 0x93, 0x78, 0xbe, 0x3c, 0xe1, 0x65, + 0x5f, 0x9f, 0x79, 0x3a, +}; +static const unsigned char kat2887_addinpr2[] = {0}; +static const unsigned char kat2887_retbits[] = { + 0xa8, 0x02, 0x9a, 0xa1, 0xda, 0x28, 0x79, 0xd4, 0x55, 0x61, 0xca, 0x8e, + 0xa1, 0x5c, 0xde, 0x65, 0xa7, 0x2d, 0x85, 0xfa, 0x15, 0x72, 0x64, 0x81, + 0x0e, 0xf2, 0x75, 0x05, 0x37, 0xd9, 0xb7, 0x0b, 0xc0, 0xa2, 0x1d, 0xea, + 0x85, 0x42, 0x6e, 0x89, 0x71, 0x2e, 0x4d, 0x96, 0xe8, 0x5c, 0xf3, 0x73, + 0x79, 0x29, 0xbd, 0xf6, 0x59, 0xd0, 0xcb, 0xf5, 0x5d, 0x2d, 0x28, 0x75, + 0x8a, 0xbc, 0x36, 0xbe, +}; +static const struct drbg_kat_pr_true kat2887_t = { + 6, kat2887_entropyin, kat2887_nonce, kat2887_persstr, + kat2887_entropyinpr1, kat2887_addinpr1, kat2887_entropyinpr2, + kat2887_addinpr2, kat2887_retbits +}; +static const struct drbg_kat kat2887 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2887_t +}; + +static const unsigned char kat2888_entropyin[] = { + 0x77, 0x66, 0x33, 0x90, 0xe4, 0x37, 0x28, 0x70, 0x8f, 0x9f, 0x31, 0x0f, + 0x19, 0x27, 0xca, 0x7a, +}; +static const unsigned char kat2888_nonce[] = { + 0xdd, 0x56, 0xf5, 0x18, 0x5d, 0x49, 0xb3, 0xd9, +}; +static const unsigned char kat2888_persstr[] = {0}; +static const unsigned char kat2888_entropyinpr1[] = { + 0x14, 0x2c, 0x5f, 0xc3, 0x93, 0x7b, 0xf7, 0xd3, 0x00, 0xa8, 0xff, 0xe4, + 0xc3, 0x56, 0xfb, 0xe1, +}; +static const unsigned char kat2888_addinpr1[] = {0}; +static const unsigned char kat2888_entropyinpr2[] = { + 0xeb, 0x80, 0x19, 0xd0, 0x87, 0x9c, 0x9e, 0x2f, 0x12, 0xed, 0x9a, 0x2c, + 0x2b, 0x18, 0xec, 0x76, +}; +static const unsigned char kat2888_addinpr2[] = {0}; +static const unsigned char kat2888_retbits[] = { + 0x6f, 0x12, 0x96, 0x54, 0x5b, 0xcb, 0x43, 0xe5, 0x7b, 0x86, 0x20, 0xa5, + 0xd1, 0x2c, 0xf5, 0xcd, 0xe6, 0xe2, 0xfa, 0x4c, 0xf9, 0x3b, 0x91, 0x32, + 0xb3, 0xf0, 0x9f, 0x34, 0x0a, 0x1d, 0x5a, 0x6d, 0x82, 0x79, 0x23, 0x6d, + 0xec, 0x38, 0x0b, 0xb1, 0x1b, 0x32, 0xb6, 0x53, 0xe5, 0x83, 0xa4, 0x85, + 0x2b, 0x13, 0x04, 0xa2, 0xfe, 0x5f, 0x31, 0x34, 0xc3, 0x45, 0x18, 0x4c, + 0xee, 0x07, 0xb1, 0xad, +}; +static const struct drbg_kat_pr_true kat2888_t = { + 7, kat2888_entropyin, kat2888_nonce, kat2888_persstr, + kat2888_entropyinpr1, kat2888_addinpr1, kat2888_entropyinpr2, + kat2888_addinpr2, kat2888_retbits +}; +static const struct drbg_kat kat2888 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2888_t +}; + +static const unsigned char kat2889_entropyin[] = { + 0x48, 0x6a, 0x33, 0xe1, 0x4c, 0xdc, 0x8c, 0x66, 0x12, 0x9f, 0xb8, 0x6a, + 0x8f, 0xce, 0xfd, 0xba, +}; +static const unsigned char kat2889_nonce[] = { + 0x3a, 0xe7, 0x4c, 0x55, 0x99, 0xf8, 0x54, 0xd6, +}; +static const unsigned char kat2889_persstr[] = {0}; +static const unsigned char kat2889_entropyinpr1[] = { + 0x12, 0x92, 0x2f, 0x09, 0xd7, 0x64, 0x6c, 0x92, 0xab, 0x28, 0x71, 0xa5, + 0x49, 0xec, 0xdf, 0xdd, +}; +static const unsigned char kat2889_addinpr1[] = {0}; +static const unsigned char kat2889_entropyinpr2[] = { + 0xff, 0x24, 0x66, 0x77, 0x2a, 0x23, 0x3e, 0x04, 0xc0, 0xa4, 0xc6, 0x13, + 0x16, 0x3c, 0xf7, 0x69, +}; +static const unsigned char kat2889_addinpr2[] = {0}; +static const unsigned char kat2889_retbits[] = { + 0x69, 0x80, 0x52, 0x27, 0xed, 0x7c, 0xd3, 0x5b, 0xc9, 0x26, 0x29, 0x7a, + 0x55, 0x72, 0xf7, 0xf8, 0x3c, 0x34, 0x60, 0xab, 0x8e, 0x0c, 0xda, 0x6b, + 0xb5, 0xed, 0x42, 0x13, 0x09, 0x3c, 0x9a, 0xc6, 0xbf, 0x10, 0xd2, 0x28, + 0x73, 0x16, 0x1d, 0x3e, 0x9e, 0xfc, 0x71, 0x49, 0x45, 0x69, 0x60, 0x56, + 0x4b, 0xc8, 0x20, 0xc7, 0x60, 0xba, 0x03, 0x27, 0xdd, 0xf8, 0xf7, 0xa5, + 0x46, 0x09, 0x8b, 0x12, +}; +static const struct drbg_kat_pr_true kat2889_t = { + 8, kat2889_entropyin, kat2889_nonce, kat2889_persstr, + kat2889_entropyinpr1, kat2889_addinpr1, kat2889_entropyinpr2, + kat2889_addinpr2, kat2889_retbits +}; +static const struct drbg_kat kat2889 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2889_t +}; + +static const unsigned char kat2890_entropyin[] = { + 0xf1, 0xbf, 0xed, 0xaf, 0x61, 0x94, 0xc0, 0x4c, 0xa5, 0x3d, 0xc5, 0xd2, + 0xa7, 0xc9, 0xdd, 0x74, +}; +static const unsigned char kat2890_nonce[] = { + 0x72, 0x23, 0x29, 0xa4, 0x46, 0xba, 0x64, 0x02, +}; +static const unsigned char kat2890_persstr[] = {0}; +static const unsigned char kat2890_entropyinpr1[] = { + 0xbd, 0xc6, 0x44, 0xf1, 0xf5, 0x10, 0x3d, 0x48, 0x69, 0x4d, 0x65, 0xdf, + 0xa5, 0x7d, 0x6c, 0x0e, +}; +static const unsigned char kat2890_addinpr1[] = {0}; +static const unsigned char kat2890_entropyinpr2[] = { + 0x9e, 0x33, 0x1c, 0x47, 0x03, 0xf1, 0x44, 0x7f, 0x21, 0xd6, 0xb7, 0x78, + 0x55, 0x7a, 0x83, 0x86, +}; +static const unsigned char kat2890_addinpr2[] = {0}; +static const unsigned char kat2890_retbits[] = { + 0x36, 0x2e, 0xb6, 0xde, 0xae, 0x3a, 0xbe, 0x13, 0x6d, 0x61, 0x01, 0xd0, + 0xe7, 0xfa, 0x96, 0x73, 0x5c, 0x83, 0x7d, 0xfa, 0x5d, 0x11, 0x3d, 0x19, + 0xbc, 0xcc, 0x21, 0xc2, 0xb5, 0xc1, 0xc3, 0x0d, 0x1e, 0x8a, 0xdc, 0xca, + 0x36, 0x3e, 0x6a, 0xe8, 0xa9, 0xc7, 0x86, 0x73, 0xc8, 0x1f, 0xbe, 0x81, + 0x2a, 0xdc, 0x87, 0x5e, 0x95, 0x41, 0x74, 0x48, 0xae, 0xf0, 0x21, 0x23, + 0xd2, 0xe6, 0x2d, 0xc9, +}; +static const struct drbg_kat_pr_true kat2890_t = { + 9, kat2890_entropyin, kat2890_nonce, kat2890_persstr, + kat2890_entropyinpr1, kat2890_addinpr1, kat2890_entropyinpr2, + kat2890_addinpr2, kat2890_retbits +}; +static const struct drbg_kat kat2890 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2890_t +}; + +static const unsigned char kat2891_entropyin[] = { + 0x35, 0xc8, 0xa3, 0x02, 0x19, 0x9b, 0x4b, 0xcb, 0xf6, 0x7c, 0x7c, 0x25, + 0xb4, 0xe4, 0x77, 0x95, +}; +static const unsigned char kat2891_nonce[] = { + 0x9a, 0x28, 0xe5, 0x75, 0x09, 0x5e, 0x30, 0x67, +}; +static const unsigned char kat2891_persstr[] = {0}; +static const unsigned char kat2891_entropyinpr1[] = { + 0xca, 0x79, 0x31, 0x38, 0x95, 0x39, 0x2d, 0x4f, 0x83, 0xf7, 0x65, 0xc6, + 0xa0, 0x62, 0xc0, 0xbf, +}; +static const unsigned char kat2891_addinpr1[] = {0}; +static const unsigned char kat2891_entropyinpr2[] = { + 0xc0, 0x34, 0xfb, 0xf9, 0x32, 0xac, 0x63, 0x88, 0x57, 0xa1, 0x4d, 0xb6, + 0xdf, 0xc9, 0x53, 0xb2, +}; +static const unsigned char kat2891_addinpr2[] = {0}; +static const unsigned char kat2891_retbits[] = { + 0x6e, 0xc9, 0x18, 0x06, 0x55, 0x56, 0xc1, 0x5a, 0x68, 0xa7, 0x37, 0x14, + 0xe8, 0xa3, 0x84, 0x2b, 0x8f, 0x48, 0xc4, 0xd7, 0xe1, 0x1e, 0x60, 0xe2, + 0xb8, 0xb0, 0xaf, 0x2a, 0xbf, 0x06, 0xfe, 0x58, 0xec, 0x06, 0xd5, 0x11, + 0x9b, 0x6b, 0x66, 0x3a, 0x24, 0xec, 0x7a, 0xd8, 0x55, 0x03, 0xea, 0xe2, + 0x93, 0x64, 0xac, 0x34, 0x64, 0x66, 0xf8, 0xbc, 0xf5, 0x14, 0xac, 0x07, + 0xdb, 0x99, 0xff, 0x9c, +}; +static const struct drbg_kat_pr_true kat2891_t = { + 10, kat2891_entropyin, kat2891_nonce, kat2891_persstr, + kat2891_entropyinpr1, kat2891_addinpr1, kat2891_entropyinpr2, + kat2891_addinpr2, kat2891_retbits +}; +static const struct drbg_kat kat2891 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2891_t +}; + +static const unsigned char kat2892_entropyin[] = { + 0x7d, 0xc6, 0xc0, 0x15, 0x86, 0x02, 0xb8, 0xe4, 0x0c, 0x13, 0x3b, 0x91, + 0x5f, 0xf1, 0x9d, 0xe0, +}; +static const unsigned char kat2892_nonce[] = { + 0x98, 0xa4, 0x71, 0x79, 0xf5, 0x24, 0x97, 0x21, +}; +static const unsigned char kat2892_persstr[] = {0}; +static const unsigned char kat2892_entropyinpr1[] = { + 0xfd, 0x07, 0xcb, 0xf1, 0x51, 0x77, 0x4f, 0xca, 0x5f, 0xdd, 0xd8, 0xae, + 0x01, 0xe3, 0x41, 0xd7, +}; +static const unsigned char kat2892_addinpr1[] = {0}; +static const unsigned char kat2892_entropyinpr2[] = { + 0x5c, 0xc1, 0xac, 0x9b, 0xa1, 0xbe, 0x18, 0x56, 0x6d, 0x56, 0x58, 0xf0, + 0x38, 0x8d, 0xec, 0xf0, +}; +static const unsigned char kat2892_addinpr2[] = {0}; +static const unsigned char kat2892_retbits[] = { + 0x65, 0x16, 0x15, 0x84, 0x03, 0xb4, 0xbe, 0x14, 0xc5, 0xf4, 0x4d, 0x0a, + 0x5f, 0xe6, 0x62, 0x34, 0x53, 0xb1, 0x34, 0xd2, 0x23, 0x48, 0xcf, 0x42, + 0x33, 0x65, 0x15, 0x01, 0x3f, 0xb3, 0x28, 0xb5, 0xe9, 0x3a, 0xc6, 0x45, + 0x67, 0xa3, 0xae, 0x4a, 0x3a, 0xd6, 0x53, 0xbf, 0x83, 0xf7, 0x4e, 0x4d, + 0x04, 0xc0, 0x37, 0xbe, 0xa0, 0x9a, 0x67, 0xa7, 0xc0, 0x63, 0x75, 0xf7, + 0xb4, 0xc2, 0x1c, 0x78, +}; +static const struct drbg_kat_pr_true kat2892_t = { + 11, kat2892_entropyin, kat2892_nonce, kat2892_persstr, + kat2892_entropyinpr1, kat2892_addinpr1, kat2892_entropyinpr2, + kat2892_addinpr2, kat2892_retbits +}; +static const struct drbg_kat kat2892 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2892_t +}; + +static const unsigned char kat2893_entropyin[] = { + 0xca, 0xa0, 0x25, 0x4b, 0xdc, 0x44, 0x78, 0x35, 0x33, 0x53, 0xb8, 0xd9, + 0x72, 0xec, 0x68, 0xa2, +}; +static const unsigned char kat2893_nonce[] = { + 0xef, 0x76, 0xf6, 0x06, 0x27, 0x34, 0x9e, 0x5e, +}; +static const unsigned char kat2893_persstr[] = {0}; +static const unsigned char kat2893_entropyinpr1[] = { + 0x3f, 0x6b, 0x0d, 0x2f, 0x25, 0x41, 0x01, 0xa3, 0xf4, 0xdf, 0xed, 0x0c, + 0x13, 0xdb, 0xcd, 0x8c, +}; +static const unsigned char kat2893_addinpr1[] = {0}; +static const unsigned char kat2893_entropyinpr2[] = { + 0x2d, 0xa1, 0xf9, 0xfc, 0x9f, 0x09, 0xee, 0x00, 0x6a, 0x1e, 0x35, 0x04, + 0x7e, 0x27, 0x6b, 0x83, +}; +static const unsigned char kat2893_addinpr2[] = {0}; +static const unsigned char kat2893_retbits[] = { + 0x88, 0x8f, 0xc6, 0xba, 0x66, 0xc0, 0x9a, 0x82, 0x81, 0x69, 0x74, 0xbb, + 0x18, 0x5a, 0x8e, 0x04, 0xf1, 0x14, 0x0c, 0xd2, 0x93, 0xe3, 0x98, 0xfb, + 0x1a, 0xa5, 0xc5, 0x8a, 0xf9, 0xc2, 0x8e, 0x88, 0xd7, 0xb3, 0xdd, 0x33, + 0x02, 0xd0, 0xd7, 0x8e, 0x9b, 0x29, 0x45, 0x67, 0xe2, 0x93, 0xaa, 0x8b, + 0x93, 0x00, 0x56, 0x61, 0xb4, 0x59, 0xc3, 0x62, 0xa0, 0xea, 0x48, 0x4c, + 0x99, 0x1f, 0x23, 0xfa, +}; +static const struct drbg_kat_pr_true kat2893_t = { + 12, kat2893_entropyin, kat2893_nonce, kat2893_persstr, + kat2893_entropyinpr1, kat2893_addinpr1, kat2893_entropyinpr2, + kat2893_addinpr2, kat2893_retbits +}; +static const struct drbg_kat kat2893 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2893_t +}; + +static const unsigned char kat2894_entropyin[] = { + 0x9c, 0xc2, 0x69, 0x98, 0x89, 0xec, 0xad, 0xd5, 0x9d, 0xa6, 0xea, 0xe3, + 0x9b, 0xaf, 0x1b, 0x27, +}; +static const unsigned char kat2894_nonce[] = { + 0x6d, 0x7c, 0x96, 0x19, 0xf9, 0x2e, 0x51, 0xe3, +}; +static const unsigned char kat2894_persstr[] = {0}; +static const unsigned char kat2894_entropyinpr1[] = { + 0x85, 0x2e, 0x84, 0x7d, 0xfd, 0xde, 0xec, 0x32, 0x5f, 0x52, 0x74, 0x68, + 0x7c, 0x81, 0xe8, 0xac, +}; +static const unsigned char kat2894_addinpr1[] = {0}; +static const unsigned char kat2894_entropyinpr2[] = { + 0x5b, 0x6b, 0x1a, 0x88, 0x4d, 0xf2, 0xa2, 0x30, 0x28, 0x11, 0x00, 0x4f, + 0x82, 0x7e, 0x9d, 0x1e, +}; +static const unsigned char kat2894_addinpr2[] = {0}; +static const unsigned char kat2894_retbits[] = { + 0x9f, 0x35, 0x11, 0xb2, 0xae, 0x19, 0xf2, 0xa9, 0xb5, 0xa8, 0xb7, 0x6d, + 0x6c, 0xee, 0xa0, 0x6f, 0x3a, 0xc9, 0x51, 0xc1, 0x0d, 0x47, 0x16, 0xf3, + 0x56, 0x11, 0x15, 0xc3, 0x3c, 0x01, 0xfc, 0xd3, 0x42, 0x3b, 0x26, 0x55, + 0xa1, 0x24, 0x3f, 0xe4, 0x1c, 0xe3, 0xb3, 0x78, 0x89, 0xc5, 0xf8, 0xa6, + 0xf3, 0xe9, 0x85, 0x6a, 0x60, 0x40, 0x80, 0x2a, 0x29, 0x73, 0x02, 0x33, + 0x73, 0xdf, 0x24, 0x1e, +}; +static const struct drbg_kat_pr_true kat2894_t = { + 13, kat2894_entropyin, kat2894_nonce, kat2894_persstr, + kat2894_entropyinpr1, kat2894_addinpr1, kat2894_entropyinpr2, + kat2894_addinpr2, kat2894_retbits +}; +static const struct drbg_kat kat2894 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2894_t +}; + +static const unsigned char kat2895_entropyin[] = { + 0xd4, 0xc2, 0xfc, 0x7c, 0xd9, 0x46, 0x08, 0x2e, 0x00, 0x93, 0xfd, 0x89, + 0x18, 0xbc, 0x80, 0xce, +}; +static const unsigned char kat2895_nonce[] = { + 0x48, 0x8e, 0xba, 0x5e, 0x5f, 0xf2, 0x96, 0x06, +}; +static const unsigned char kat2895_persstr[] = {0}; +static const unsigned char kat2895_entropyinpr1[] = { + 0xaa, 0x21, 0x13, 0x2b, 0x96, 0x9c, 0x7b, 0xd0, 0x71, 0x10, 0x3a, 0xd1, + 0x56, 0x63, 0x69, 0xc4, +}; +static const unsigned char kat2895_addinpr1[] = {0}; +static const unsigned char kat2895_entropyinpr2[] = { + 0x66, 0x34, 0xe2, 0x17, 0x1d, 0x30, 0x89, 0x51, 0x07, 0x68, 0xc8, 0xd9, + 0x39, 0x07, 0xaa, 0x12, +}; +static const unsigned char kat2895_addinpr2[] = {0}; +static const unsigned char kat2895_retbits[] = { + 0x6d, 0x10, 0x16, 0x41, 0x9b, 0xc3, 0x33, 0xab, 0xc2, 0xa9, 0x10, 0x59, + 0x84, 0x6e, 0xc3, 0x76, 0x4b, 0x72, 0x98, 0x74, 0xa1, 0x50, 0x69, 0x0a, + 0x50, 0xe8, 0xa3, 0x76, 0x3f, 0xb0, 0x75, 0x3b, 0x45, 0x2f, 0x75, 0xa4, + 0x54, 0x0e, 0x34, 0xb5, 0xdf, 0x3b, 0x0a, 0x43, 0x5a, 0xa5, 0xb1, 0x37, + 0x92, 0x6a, 0xa2, 0xfa, 0xda, 0x15, 0xdd, 0x05, 0x4c, 0xcb, 0x09, 0xb3, + 0x47, 0x4c, 0xce, 0x4b, +}; +static const struct drbg_kat_pr_true kat2895_t = { + 14, kat2895_entropyin, kat2895_nonce, kat2895_persstr, + kat2895_entropyinpr1, kat2895_addinpr1, kat2895_entropyinpr2, + kat2895_addinpr2, kat2895_retbits +}; +static const struct drbg_kat kat2895 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2895_t +}; + +static const unsigned char kat2896_entropyin[] = { + 0x8e, 0x83, 0xe0, 0xeb, 0x37, 0xea, 0x3e, 0x53, 0x5e, 0x17, 0x6e, 0x77, + 0xbd, 0xb1, 0x53, 0x90, +}; +static const unsigned char kat2896_nonce[] = { + 0xfc, 0xdc, 0xc1, 0x3c, 0x9a, 0x88, 0x22, 0x94, +}; +static const unsigned char kat2896_persstr[] = {0}; +static const unsigned char kat2896_entropyinpr1[] = { + 0x6a, 0x85, 0xe7, 0x37, 0xc8, 0xf1, 0x04, 0x31, 0x98, 0x4f, 0xc8, 0x73, + 0x67, 0xd1, 0x08, 0xf8, +}; +static const unsigned char kat2896_addinpr1[] = { + 0xa2, 0xd9, 0x38, 0xcf, 0x8b, 0x29, 0x67, 0x5b, 0x65, 0x62, 0x6f, 0xe8, + 0xeb, 0xb3, 0x01, 0x76, +}; +static const unsigned char kat2896_entropyinpr2[] = { + 0xd7, 0xa4, 0x68, 0xe2, 0x12, 0x74, 0xc3, 0xd9, 0xf1, 0xb7, 0x05, 0xbc, + 0xd4, 0xba, 0x04, 0x58, +}; +static const unsigned char kat2896_addinpr2[] = { + 0x59, 0x63, 0x1e, 0x81, 0x8a, 0x14, 0xa8, 0xbb, 0xa1, 0xb8, 0x41, 0x25, + 0xd0, 0x7f, 0xcc, 0x43, +}; +static const unsigned char kat2896_retbits[] = { + 0x78, 0xd6, 0xa6, 0x70, 0xff, 0xd1, 0x82, 0xf5, 0xa2, 0x88, 0x7f, 0x6d, + 0x3d, 0x8c, 0x39, 0xb1, 0xa8, 0xcb, 0x2c, 0x91, 0xab, 0x14, 0x7e, 0xbc, + 0x95, 0x45, 0x9f, 0x24, 0xb8, 0x20, 0xac, 0x21, 0x23, 0xdb, 0x72, 0xd7, + 0x12, 0x8d, 0x48, 0x95, 0xf3, 0x19, 0x0c, 0x43, 0xc6, 0x19, 0x45, 0xfc, + 0x8b, 0xac, 0x40, 0x29, 0x73, 0x00, 0x03, 0x45, 0x5e, 0x12, 0xff, 0x0c, + 0xc1, 0x02, 0x41, 0x82, +}; +static const struct drbg_kat_pr_true kat2896_t = { + 0, kat2896_entropyin, kat2896_nonce, kat2896_persstr, + kat2896_entropyinpr1, kat2896_addinpr1, kat2896_entropyinpr2, + kat2896_addinpr2, kat2896_retbits +}; +static const struct drbg_kat kat2896 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2896_t +}; + +static const unsigned char kat2897_entropyin[] = { + 0x91, 0xcf, 0x7f, 0x4f, 0x5a, 0x2d, 0xd7, 0x51, 0x9b, 0xf9, 0x10, 0xf2, + 0x16, 0x8b, 0x70, 0x19, +}; +static const unsigned char kat2897_nonce[] = { + 0xed, 0x97, 0x8a, 0xef, 0xf4, 0x89, 0x99, 0x3f, +}; +static const unsigned char kat2897_persstr[] = {0}; +static const unsigned char kat2897_entropyinpr1[] = { + 0x5f, 0xf7, 0x96, 0x69, 0x8e, 0x19, 0x8d, 0x68, 0xab, 0xac, 0x26, 0xea, + 0x2f, 0xa3, 0x21, 0xe6, +}; +static const unsigned char kat2897_addinpr1[] = { + 0xd9, 0xbd, 0x7f, 0x0e, 0x62, 0x1e, 0x15, 0xa6, 0x43, 0x9d, 0x9b, 0x94, + 0xc4, 0x29, 0x85, 0xca, +}; +static const unsigned char kat2897_entropyinpr2[] = { + 0xc1, 0x97, 0xaa, 0x6f, 0x40, 0x22, 0xc2, 0x90, 0xa4, 0x07, 0xa6, 0xa5, + 0x37, 0x81, 0x15, 0x0e, +}; +static const unsigned char kat2897_addinpr2[] = { + 0x03, 0x6b, 0x4f, 0x6a, 0x11, 0x8b, 0x45, 0x25, 0xfc, 0xdf, 0xe7, 0xe8, + 0x6c, 0x3b, 0xd0, 0xef, +}; +static const unsigned char kat2897_retbits[] = { + 0xc4, 0xee, 0x42, 0x06, 0x82, 0x57, 0x26, 0x47, 0x1a, 0x59, 0x2b, 0x9b, + 0xb8, 0xb6, 0x61, 0x15, 0xeb, 0xdf, 0x01, 0x47, 0x76, 0xc5, 0xe4, 0x17, + 0x0a, 0xd9, 0x60, 0xd6, 0x97, 0x6b, 0xb3, 0x54, 0x09, 0xae, 0xed, 0x2e, + 0xf2, 0xd1, 0xd6, 0x53, 0xa1, 0xb6, 0xe2, 0xbf, 0x28, 0xc7, 0xb2, 0xf2, + 0xf7, 0x3f, 0x33, 0x48, 0x48, 0x8b, 0x4c, 0x46, 0xdc, 0x12, 0xdd, 0x0b, + 0x5a, 0x90, 0x6e, 0x42, +}; +static const struct drbg_kat_pr_true kat2897_t = { + 1, kat2897_entropyin, kat2897_nonce, kat2897_persstr, + kat2897_entropyinpr1, kat2897_addinpr1, kat2897_entropyinpr2, + kat2897_addinpr2, kat2897_retbits +}; +static const struct drbg_kat kat2897 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2897_t +}; + +static const unsigned char kat2898_entropyin[] = { + 0x7e, 0xec, 0x9d, 0x6d, 0x0e, 0xdf, 0x0e, 0x2c, 0xe0, 0xd5, 0x21, 0xc8, + 0x85, 0x6e, 0xd5, 0x85, +}; +static const unsigned char kat2898_nonce[] = { + 0x77, 0xc6, 0x2d, 0xd8, 0x37, 0x0c, 0x28, 0x12, +}; +static const unsigned char kat2898_persstr[] = {0}; +static const unsigned char kat2898_entropyinpr1[] = { + 0x7d, 0xb9, 0x8b, 0xed, 0x90, 0x68, 0x51, 0x6c, 0xbb, 0x42, 0xcc, 0xee, + 0xff, 0xd0, 0x05, 0xc5, +}; +static const unsigned char kat2898_addinpr1[] = { + 0x3e, 0x03, 0x49, 0x93, 0x7f, 0xe2, 0x70, 0x0b, 0x84, 0x63, 0xb9, 0xf6, + 0x37, 0x9a, 0xe1, 0x9f, +}; +static const unsigned char kat2898_entropyinpr2[] = { + 0xf2, 0x67, 0x70, 0x6d, 0xd4, 0x57, 0x44, 0x23, 0xee, 0xce, 0x34, 0x5c, + 0x76, 0xe1, 0x88, 0x8e, +}; +static const unsigned char kat2898_addinpr2[] = { + 0xcc, 0xcc, 0xd1, 0x74, 0xce, 0xfe, 0xc2, 0x48, 0x61, 0xfc, 0xa5, 0x21, + 0xf9, 0x6d, 0xe0, 0xf2, +}; +static const unsigned char kat2898_retbits[] = { + 0xa0, 0x64, 0xad, 0x8f, 0x1a, 0x8b, 0xbc, 0xa0, 0x95, 0x38, 0x3a, 0x9f, + 0xaf, 0x4d, 0x34, 0x56, 0xee, 0x4b, 0xb3, 0xc8, 0x81, 0x30, 0xe1, 0xb7, + 0x54, 0x36, 0x03, 0xc3, 0x2f, 0x65, 0xe0, 0x0a, 0xdd, 0x55, 0xcc, 0x58, + 0x3c, 0xd4, 0x95, 0xad, 0xf6, 0xe6, 0xd8, 0xc1, 0xc6, 0x39, 0x2f, 0x56, + 0x98, 0x41, 0x39, 0xd5, 0xbd, 0x90, 0xd7, 0xc0, 0x06, 0x77, 0x7c, 0xc6, + 0x42, 0x6c, 0x99, 0x9f, +}; +static const struct drbg_kat_pr_true kat2898_t = { + 2, kat2898_entropyin, kat2898_nonce, kat2898_persstr, + kat2898_entropyinpr1, kat2898_addinpr1, kat2898_entropyinpr2, + kat2898_addinpr2, kat2898_retbits +}; +static const struct drbg_kat kat2898 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2898_t +}; + +static const unsigned char kat2899_entropyin[] = { + 0x92, 0x40, 0x99, 0xab, 0xb2, 0x06, 0x02, 0xbf, 0xdf, 0xb6, 0x82, 0xbc, + 0x88, 0xc7, 0x09, 0x25, +}; +static const unsigned char kat2899_nonce[] = { + 0xe3, 0xc5, 0x10, 0xef, 0xc6, 0x0c, 0x11, 0x68, +}; +static const unsigned char kat2899_persstr[] = {0}; +static const unsigned char kat2899_entropyinpr1[] = { + 0x8b, 0xa8, 0x2f, 0xb8, 0xf2, 0x37, 0xac, 0x02, 0xd5, 0xdd, 0x87, 0x26, + 0xc5, 0xd4, 0x22, 0x2c, +}; +static const unsigned char kat2899_addinpr1[] = { + 0x91, 0xb6, 0x30, 0x6d, 0x3f, 0xa3, 0xc2, 0x5e, 0x20, 0xbd, 0xa4, 0x9f, + 0x38, 0x40, 0xd2, 0xe1, +}; +static const unsigned char kat2899_entropyinpr2[] = { + 0x77, 0x48, 0xd5, 0x6b, 0x9a, 0x0d, 0xb3, 0xc3, 0x13, 0xf6, 0x17, 0x7d, + 0x65, 0x8e, 0xa8, 0x7f, +}; +static const unsigned char kat2899_addinpr2[] = { + 0x75, 0x9e, 0x1a, 0xd2, 0x66, 0x64, 0xb0, 0x0c, 0xd7, 0xd1, 0x87, 0x82, + 0x58, 0x6a, 0x88, 0x1e, +}; +static const unsigned char kat2899_retbits[] = { + 0xef, 0xc7, 0xd1, 0x33, 0x9a, 0xcd, 0xd6, 0x66, 0xd6, 0xa8, 0x14, 0xfd, + 0x1d, 0xc9, 0x23, 0x17, 0xa3, 0x60, 0xf3, 0xef, 0x07, 0x43, 0x54, 0x4c, + 0x48, 0x7b, 0x29, 0x10, 0xcc, 0x4f, 0xa9, 0x61, 0x3e, 0xdb, 0x50, 0x55, + 0x00, 0x44, 0x6b, 0x6a, 0x62, 0x99, 0xb8, 0xcd, 0x36, 0x13, 0x7d, 0xe8, + 0x6b, 0xe3, 0x2d, 0x0f, 0x1b, 0xcf, 0xae, 0xef, 0xd3, 0xa8, 0x7d, 0x8c, + 0x8d, 0xfa, 0x13, 0xb1, +}; +static const struct drbg_kat_pr_true kat2899_t = { + 3, kat2899_entropyin, kat2899_nonce, kat2899_persstr, + kat2899_entropyinpr1, kat2899_addinpr1, kat2899_entropyinpr2, + kat2899_addinpr2, kat2899_retbits +}; +static const struct drbg_kat kat2899 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2899_t +}; + +static const unsigned char kat2900_entropyin[] = { + 0xbb, 0x1d, 0xf8, 0xd2, 0x1b, 0x17, 0x49, 0x6e, 0x87, 0x4d, 0x17, 0x7c, + 0xf7, 0x6a, 0xe8, 0x29, +}; +static const unsigned char kat2900_nonce[] = { + 0x68, 0x8e, 0x44, 0x0c, 0x16, 0x2d, 0x8c, 0x91, +}; +static const unsigned char kat2900_persstr[] = {0}; +static const unsigned char kat2900_entropyinpr1[] = { + 0xbb, 0x9e, 0xc5, 0xed, 0x06, 0xe6, 0x82, 0xe9, 0x81, 0x60, 0x9a, 0x6b, + 0x6f, 0x0e, 0xb2, 0x3f, +}; +static const unsigned char kat2900_addinpr1[] = { + 0x35, 0xb0, 0xad, 0x01, 0xda, 0x8a, 0xb0, 0xb7, 0xa6, 0x29, 0x6b, 0xa1, + 0xa7, 0x4d, 0xe5, 0x94, +}; +static const unsigned char kat2900_entropyinpr2[] = { + 0x23, 0x78, 0xa1, 0xa1, 0x7e, 0x17, 0x9e, 0x8d, 0xe8, 0xc7, 0xf3, 0x22, + 0xf6, 0x2d, 0xdc, 0x9a, +}; +static const unsigned char kat2900_addinpr2[] = { + 0x15, 0xfe, 0x51, 0x06, 0xc4, 0xf2, 0xee, 0x9b, 0x7b, 0x96, 0x9d, 0xf5, + 0xb4, 0xf6, 0x63, 0xfc, +}; +static const unsigned char kat2900_retbits[] = { + 0xf4, 0x5b, 0x22, 0xec, 0x3b, 0x8b, 0xe2, 0x4b, 0x81, 0x2c, 0x94, 0xd6, + 0xa3, 0xf8, 0x9e, 0xe6, 0x91, 0x64, 0x2b, 0x52, 0xd7, 0x35, 0xcd, 0x06, + 0xe9, 0x5a, 0xbd, 0x5f, 0x99, 0xd2, 0x2c, 0x80, 0x2c, 0xa5, 0x22, 0x60, + 0x40, 0x84, 0xa7, 0xe7, 0x2e, 0xd0, 0x03, 0x7f, 0x3e, 0x2a, 0x4a, 0x4d, + 0x2f, 0x5c, 0x0a, 0x4f, 0x11, 0x54, 0xb6, 0x9c, 0x5c, 0x2e, 0xdd, 0x8a, + 0x0b, 0xce, 0x06, 0x9a, +}; +static const struct drbg_kat_pr_true kat2900_t = { + 4, kat2900_entropyin, kat2900_nonce, kat2900_persstr, + kat2900_entropyinpr1, kat2900_addinpr1, kat2900_entropyinpr2, + kat2900_addinpr2, kat2900_retbits +}; +static const struct drbg_kat kat2900 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2900_t +}; + +static const unsigned char kat2901_entropyin[] = { + 0x97, 0x90, 0x8c, 0xc2, 0xb0, 0x4c, 0x5a, 0x27, 0xcf, 0x05, 0xba, 0xb2, + 0x99, 0x9f, 0xe6, 0x93, +}; +static const unsigned char kat2901_nonce[] = { + 0x7b, 0x8e, 0xae, 0xf7, 0x4d, 0x09, 0xfb, 0x69, +}; +static const unsigned char kat2901_persstr[] = {0}; +static const unsigned char kat2901_entropyinpr1[] = { + 0x6e, 0xf1, 0x34, 0x74, 0x42, 0x8f, 0x5e, 0x51, 0xf8, 0x81, 0xc1, 0x79, + 0x07, 0x6c, 0x42, 0x09, +}; +static const unsigned char kat2901_addinpr1[] = { + 0xd7, 0xb4, 0x23, 0x28, 0x85, 0x0b, 0x0a, 0xfd, 0xea, 0xd4, 0x10, 0x9d, + 0x43, 0x7a, 0x71, 0x7d, +}; +static const unsigned char kat2901_entropyinpr2[] = { + 0xa0, 0x40, 0x78, 0x54, 0x5d, 0xb5, 0x14, 0x40, 0xdd, 0xaa, 0xe4, 0x79, + 0x0b, 0x75, 0xc8, 0xe9, +}; +static const unsigned char kat2901_addinpr2[] = { + 0xc1, 0x50, 0x0f, 0xb1, 0x15, 0x61, 0xec, 0xfe, 0xd4, 0x3e, 0x3d, 0x8b, + 0xff, 0x96, 0x40, 0xe3, +}; +static const unsigned char kat2901_retbits[] = { + 0xaf, 0x01, 0x06, 0x13, 0x49, 0x87, 0xec, 0xf5, 0xcc, 0x27, 0xf3, 0x37, + 0x3f, 0x73, 0x40, 0x2a, 0x95, 0x30, 0xf9, 0x4d, 0x81, 0xa3, 0x52, 0xb4, + 0x82, 0x8e, 0xf0, 0xb7, 0x14, 0x6a, 0xd8, 0x71, 0xf9, 0xa1, 0x9a, 0x81, + 0xa0, 0x65, 0x18, 0x22, 0x88, 0xe5, 0x60, 0x08, 0x7e, 0xe0, 0xcf, 0x66, + 0x29, 0x32, 0xd4, 0xfc, 0x02, 0x7a, 0xac, 0x91, 0x58, 0x07, 0x8a, 0xa3, + 0x29, 0x87, 0x6b, 0xab, +}; +static const struct drbg_kat_pr_true kat2901_t = { + 5, kat2901_entropyin, kat2901_nonce, kat2901_persstr, + kat2901_entropyinpr1, kat2901_addinpr1, kat2901_entropyinpr2, + kat2901_addinpr2, kat2901_retbits +}; +static const struct drbg_kat kat2901 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2901_t +}; + +static const unsigned char kat2902_entropyin[] = { + 0x93, 0xfe, 0x54, 0x2e, 0xac, 0x66, 0xd5, 0xd4, 0x11, 0x47, 0x8e, 0x3c, + 0xff, 0x4b, 0x7e, 0x44, +}; +static const unsigned char kat2902_nonce[] = { + 0x59, 0x11, 0xd3, 0x5e, 0x24, 0x84, 0xf3, 0x49, +}; +static const unsigned char kat2902_persstr[] = {0}; +static const unsigned char kat2902_entropyinpr1[] = { + 0x2e, 0x34, 0xe9, 0x4b, 0xb2, 0x1a, 0x95, 0xf9, 0x6a, 0x4d, 0x4b, 0x2a, + 0xa6, 0xcf, 0x86, 0xfd, +}; +static const unsigned char kat2902_addinpr1[] = { + 0x5a, 0xad, 0xd8, 0x03, 0x4e, 0x1d, 0x59, 0x38, 0xb0, 0x65, 0x75, 0x2b, + 0x02, 0x68, 0x84, 0xa9, +}; +static const unsigned char kat2902_entropyinpr2[] = { + 0xf4, 0x32, 0x1d, 0x86, 0xf9, 0x97, 0x30, 0x5d, 0x88, 0xf1, 0x9e, 0x56, + 0xd6, 0x23, 0x7b, 0x88, +}; +static const unsigned char kat2902_addinpr2[] = { + 0xc7, 0xdf, 0x14, 0xe0, 0x19, 0x7d, 0x2f, 0xc8, 0xb3, 0x94, 0xbe, 0x35, + 0x2a, 0xad, 0x12, 0xa8, +}; +static const unsigned char kat2902_retbits[] = { + 0x53, 0x66, 0x9f, 0x9b, 0x2e, 0xd3, 0x10, 0x0e, 0xa8, 0x43, 0x21, 0xc2, + 0x37, 0x03, 0x02, 0x2b, 0xc2, 0x66, 0xab, 0x47, 0x13, 0xd5, 0xef, 0x39, + 0x5c, 0xe2, 0xc6, 0x0e, 0x47, 0x32, 0x5f, 0x88, 0x2d, 0x43, 0x16, 0x70, + 0x82, 0xe6, 0xd0, 0x7f, 0x11, 0xfc, 0xa5, 0x78, 0xee, 0x74, 0x2b, 0xc7, + 0x76, 0x03, 0xdc, 0x1e, 0xf7, 0xaa, 0xa1, 0x41, 0xf5, 0x14, 0x62, 0xf8, + 0xdf, 0x51, 0x89, 0x81, +}; +static const struct drbg_kat_pr_true kat2902_t = { + 6, kat2902_entropyin, kat2902_nonce, kat2902_persstr, + kat2902_entropyinpr1, kat2902_addinpr1, kat2902_entropyinpr2, + kat2902_addinpr2, kat2902_retbits +}; +static const struct drbg_kat kat2902 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2902_t +}; + +static const unsigned char kat2903_entropyin[] = { + 0x04, 0x8a, 0x5c, 0x66, 0x2d, 0xf9, 0x08, 0xf6, 0x28, 0x13, 0x22, 0xa7, + 0x98, 0x3e, 0xa2, 0xa1, +}; +static const unsigned char kat2903_nonce[] = { + 0x6e, 0xb0, 0x24, 0x6b, 0x37, 0xb4, 0x51, 0x2f, +}; +static const unsigned char kat2903_persstr[] = {0}; +static const unsigned char kat2903_entropyinpr1[] = { + 0x0a, 0xe5, 0xfb, 0xa1, 0x45, 0x55, 0x64, 0x3c, 0x51, 0x95, 0x9d, 0x2d, + 0xa3, 0xdb, 0xe1, 0x07, +}; +static const unsigned char kat2903_addinpr1[] = { + 0x59, 0x7f, 0x84, 0x05, 0xe4, 0xea, 0xb4, 0x65, 0x65, 0xa7, 0x75, 0x7b, + 0xba, 0x30, 0x9d, 0x4d, +}; +static const unsigned char kat2903_entropyinpr2[] = { + 0xe2, 0x0c, 0xd1, 0x5f, 0x73, 0x63, 0x00, 0xc3, 0x18, 0x0a, 0xda, 0x5d, + 0x71, 0x55, 0xf0, 0xa7, +}; +static const unsigned char kat2903_addinpr2[] = { + 0x36, 0x78, 0x8a, 0x9e, 0x39, 0x2a, 0x85, 0x51, 0x37, 0x1b, 0x7b, 0xe9, + 0xaf, 0xf0, 0x0d, 0x43, +}; +static const unsigned char kat2903_retbits[] = { + 0xb1, 0x12, 0x30, 0x05, 0xe2, 0x1f, 0x1f, 0x95, 0x78, 0xa7, 0xc6, 0x24, + 0xd6, 0x4d, 0x3b, 0x06, 0x45, 0x1f, 0x49, 0x9e, 0x37, 0x62, 0xb5, 0x14, + 0x8f, 0x80, 0xef, 0xf2, 0x63, 0x04, 0x63, 0x33, 0x84, 0x16, 0x57, 0x1a, + 0x39, 0xad, 0x4f, 0x9f, 0x2e, 0xf3, 0x1e, 0x11, 0x31, 0x28, 0x40, 0xa5, + 0x4a, 0xf4, 0x5e, 0xa6, 0x25, 0x07, 0x54, 0xdd, 0x78, 0xda, 0xc3, 0xb0, + 0xa0, 0x70, 0x92, 0xae, +}; +static const struct drbg_kat_pr_true kat2903_t = { + 7, kat2903_entropyin, kat2903_nonce, kat2903_persstr, + kat2903_entropyinpr1, kat2903_addinpr1, kat2903_entropyinpr2, + kat2903_addinpr2, kat2903_retbits +}; +static const struct drbg_kat kat2903 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2903_t +}; + +static const unsigned char kat2904_entropyin[] = { + 0xd4, 0xb9, 0x48, 0xbc, 0xc0, 0xc5, 0x62, 0x28, 0x20, 0xee, 0x56, 0x10, + 0x27, 0xdf, 0x0c, 0x3c, +}; +static const unsigned char kat2904_nonce[] = { + 0xb1, 0x49, 0xe3, 0x33, 0x73, 0xa0, 0xcb, 0x77, +}; +static const unsigned char kat2904_persstr[] = {0}; +static const unsigned char kat2904_entropyinpr1[] = { + 0x5e, 0xda, 0x94, 0x58, 0x47, 0x4f, 0x55, 0x40, 0x1e, 0x96, 0x99, 0xa9, + 0xec, 0x45, 0xfd, 0xaf, +}; +static const unsigned char kat2904_addinpr1[] = { + 0xb5, 0xa8, 0x79, 0x5a, 0x72, 0xc1, 0xad, 0xcb, 0x97, 0x2e, 0xa9, 0x91, + 0x3f, 0x25, 0x5a, 0x8a, +}; +static const unsigned char kat2904_entropyinpr2[] = { + 0xa2, 0xba, 0x96, 0x23, 0x9c, 0x89, 0xfc, 0xc6, 0xc8, 0x1f, 0x56, 0x84, + 0x5d, 0x03, 0xc3, 0x79, +}; +static const unsigned char kat2904_addinpr2[] = { + 0xc0, 0xc8, 0x89, 0xba, 0x22, 0x20, 0xff, 0x8f, 0x91, 0x2d, 0x0a, 0xcb, + 0x56, 0xa6, 0x98, 0xad, +}; +static const unsigned char kat2904_retbits[] = { + 0x20, 0x41, 0xcb, 0x71, 0x68, 0xf0, 0x1f, 0x92, 0xa9, 0x41, 0x38, 0x9e, + 0x1b, 0x8d, 0xbb, 0xb9, 0x87, 0x0c, 0x54, 0x7f, 0xdb, 0x98, 0x80, 0xf0, + 0x5d, 0xaa, 0x93, 0x9c, 0xc0, 0x7a, 0x36, 0xa2, 0xee, 0xf8, 0x01, 0x37, + 0x90, 0x53, 0xef, 0x57, 0x2c, 0xd9, 0xbe, 0xf4, 0x97, 0xe7, 0x26, 0x7f, + 0x79, 0x90, 0x50, 0x6d, 0xaf, 0xaa, 0xd4, 0x3f, 0x6e, 0xc3, 0xba, 0xf4, + 0x4f, 0xd1, 0x96, 0xb2, +}; +static const struct drbg_kat_pr_true kat2904_t = { + 8, kat2904_entropyin, kat2904_nonce, kat2904_persstr, + kat2904_entropyinpr1, kat2904_addinpr1, kat2904_entropyinpr2, + kat2904_addinpr2, kat2904_retbits +}; +static const struct drbg_kat kat2904 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2904_t +}; + +static const unsigned char kat2905_entropyin[] = { + 0xe3, 0xb1, 0xa4, 0xd6, 0x8c, 0xed, 0x15, 0x24, 0x1e, 0x5f, 0xbe, 0xe6, + 0x19, 0x12, 0x25, 0xd3, +}; +static const unsigned char kat2905_nonce[] = { + 0xee, 0x45, 0x1b, 0xc3, 0x39, 0x6d, 0xab, 0x4f, +}; +static const unsigned char kat2905_persstr[] = {0}; +static const unsigned char kat2905_entropyinpr1[] = { + 0xb3, 0x2e, 0x30, 0xf2, 0x12, 0x90, 0x34, 0xcf, 0x4a, 0x73, 0x54, 0x1c, + 0xc9, 0x85, 0xf0, 0xf9, +}; +static const unsigned char kat2905_addinpr1[] = { + 0xd4, 0x81, 0x2a, 0xbd, 0x91, 0x3f, 0xdf, 0xda, 0x6c, 0xac, 0xa2, 0xea, + 0x0d, 0x24, 0x2f, 0x6f, +}; +static const unsigned char kat2905_entropyinpr2[] = { + 0x1b, 0xea, 0xd9, 0x88, 0xc7, 0x30, 0x24, 0xb6, 0xe0, 0xc6, 0xdf, 0xbd, + 0x1b, 0x13, 0xf2, 0x10, +}; +static const unsigned char kat2905_addinpr2[] = { + 0xcd, 0x7a, 0xa7, 0x3f, 0x0e, 0xce, 0xc3, 0xf9, 0x37, 0x59, 0xca, 0x37, + 0x77, 0xc4, 0x7d, 0x62, +}; +static const unsigned char kat2905_retbits[] = { + 0xb3, 0x04, 0x7f, 0xf5, 0x9f, 0xb3, 0x12, 0xea, 0xb2, 0x0f, 0x4e, 0xf8, + 0x3f, 0xf3, 0x3a, 0x93, 0x2c, 0x7d, 0x2e, 0x39, 0x22, 0xb7, 0xba, 0xa8, + 0x1b, 0xe0, 0x07, 0xd7, 0x98, 0x40, 0x93, 0xf3, 0x56, 0x02, 0xf8, 0xc2, + 0x57, 0x5b, 0xb0, 0x4c, 0xb5, 0x4d, 0xb8, 0xd0, 0x43, 0xec, 0x59, 0x74, + 0xd3, 0xb7, 0xd6, 0x34, 0x00, 0x9d, 0x04, 0x1b, 0x4b, 0xc1, 0x1e, 0x14, + 0x9d, 0x05, 0x38, 0x5b, +}; +static const struct drbg_kat_pr_true kat2905_t = { + 9, kat2905_entropyin, kat2905_nonce, kat2905_persstr, + kat2905_entropyinpr1, kat2905_addinpr1, kat2905_entropyinpr2, + kat2905_addinpr2, kat2905_retbits +}; +static const struct drbg_kat kat2905 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2905_t +}; + +static const unsigned char kat2906_entropyin[] = { + 0x6c, 0x3b, 0xb1, 0x77, 0x23, 0x84, 0xc8, 0x76, 0xa7, 0x13, 0x2a, 0x19, + 0x45, 0xfb, 0xce, 0x71, +}; +static const unsigned char kat2906_nonce[] = { + 0x20, 0xae, 0x47, 0x1e, 0xb9, 0x6c, 0x4c, 0xb9, +}; +static const unsigned char kat2906_persstr[] = {0}; +static const unsigned char kat2906_entropyinpr1[] = { + 0x47, 0x0a, 0x9f, 0x56, 0x79, 0xe7, 0x10, 0xb0, 0x65, 0x81, 0x0a, 0x34, + 0xdd, 0x36, 0x8c, 0x70, +}; +static const unsigned char kat2906_addinpr1[] = { + 0x24, 0x4b, 0xce, 0xe8, 0xf2, 0x04, 0x81, 0xb8, 0x8c, 0x66, 0xa1, 0xca, + 0xc7, 0x45, 0xe6, 0x7b, +}; +static const unsigned char kat2906_entropyinpr2[] = { + 0x29, 0x19, 0x5a, 0xc3, 0x1c, 0x99, 0x15, 0xf2, 0x75, 0xba, 0x82, 0x89, + 0xec, 0xd5, 0xf5, 0xb6, +}; +static const unsigned char kat2906_addinpr2[] = { + 0x93, 0x81, 0xf0, 0x73, 0x97, 0xc7, 0x83, 0xf1, 0xcc, 0x9c, 0x1f, 0x95, + 0x21, 0xc8, 0xce, 0x11, +}; +static const unsigned char kat2906_retbits[] = { + 0x6d, 0xe0, 0xf8, 0xc2, 0x8e, 0x29, 0x08, 0xae, 0x38, 0xb3, 0xa9, 0x86, + 0xf6, 0xde, 0xd1, 0x32, 0xdf, 0x2c, 0x48, 0xa9, 0x63, 0xce, 0x70, 0xef, + 0xac, 0x26, 0x93, 0xe1, 0x7b, 0x0a, 0xb5, 0x78, 0x90, 0xf8, 0x42, 0x3c, + 0xca, 0x25, 0x88, 0xa4, 0xd7, 0xfc, 0xbf, 0xc6, 0x23, 0x76, 0x6c, 0xf9, + 0xfb, 0x06, 0xbf, 0x8d, 0x06, 0xd1, 0x45, 0x95, 0xe4, 0xf6, 0x8e, 0x8f, + 0x0c, 0x5d, 0xe5, 0x9b, +}; +static const struct drbg_kat_pr_true kat2906_t = { + 10, kat2906_entropyin, kat2906_nonce, kat2906_persstr, + kat2906_entropyinpr1, kat2906_addinpr1, kat2906_entropyinpr2, + kat2906_addinpr2, kat2906_retbits +}; +static const struct drbg_kat kat2906 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2906_t +}; + +static const unsigned char kat2907_entropyin[] = { + 0x58, 0xac, 0xe8, 0x3a, 0xa5, 0xbd, 0x85, 0xda, 0x7d, 0xc4, 0xf1, 0x89, + 0x5e, 0x19, 0x0d, 0xda, +}; +static const unsigned char kat2907_nonce[] = { + 0x61, 0xc2, 0x4b, 0x22, 0x81, 0x34, 0x09, 0xb5, +}; +static const unsigned char kat2907_persstr[] = {0}; +static const unsigned char kat2907_entropyinpr1[] = { + 0x93, 0x53, 0xc9, 0x72, 0x3b, 0xb4, 0xeb, 0x6d, 0xaf, 0x52, 0xc3, 0x76, + 0x9a, 0x5c, 0x02, 0x5f, +}; +static const unsigned char kat2907_addinpr1[] = { + 0x57, 0x4e, 0x48, 0x82, 0x0b, 0x53, 0x50, 0x65, 0xf8, 0x34, 0x64, 0xa4, + 0x89, 0x1c, 0x51, 0xb3, +}; +static const unsigned char kat2907_entropyinpr2[] = { + 0x02, 0x5b, 0xe1, 0x77, 0xfe, 0x03, 0xe3, 0x18, 0x64, 0x84, 0xa4, 0xb4, + 0x0c, 0xea, 0x2e, 0xda, +}; +static const unsigned char kat2907_addinpr2[] = { + 0xb8, 0xdd, 0x1f, 0xea, 0x89, 0x0a, 0x95, 0x0c, 0x82, 0x49, 0xf6, 0x6c, + 0xbc, 0xa5, 0xd7, 0x7d, +}; +static const unsigned char kat2907_retbits[] = { + 0x1d, 0x6c, 0xb9, 0x3f, 0x73, 0x5b, 0x52, 0x83, 0xa7, 0x47, 0xdb, 0x21, + 0xb8, 0x62, 0x61, 0x28, 0x5c, 0xe6, 0xfd, 0x72, 0x79, 0x28, 0xe1, 0x35, + 0x7b, 0xdc, 0x89, 0x04, 0xcc, 0x90, 0xff, 0xc2, 0xe8, 0xf0, 0xdc, 0x93, + 0xd0, 0xae, 0x1c, 0xad, 0xdf, 0xc3, 0x8e, 0x28, 0xbb, 0x32, 0x33, 0x1e, + 0x85, 0x41, 0xec, 0xde, 0x60, 0x34, 0xcf, 0x31, 0xa3, 0xda, 0x0f, 0x1e, + 0x5a, 0x2c, 0x4d, 0xa6, +}; +static const struct drbg_kat_pr_true kat2907_t = { + 11, kat2907_entropyin, kat2907_nonce, kat2907_persstr, + kat2907_entropyinpr1, kat2907_addinpr1, kat2907_entropyinpr2, + kat2907_addinpr2, kat2907_retbits +}; +static const struct drbg_kat kat2907 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2907_t +}; + +static const unsigned char kat2908_entropyin[] = { + 0x00, 0x16, 0x1c, 0x5b, 0x23, 0xcf, 0x62, 0xc5, 0xca, 0xf0, 0xe0, 0x05, + 0x00, 0xc0, 0xcd, 0xd1, +}; +static const unsigned char kat2908_nonce[] = { + 0x97, 0x86, 0x06, 0x40, 0x96, 0x3f, 0xd2, 0x56, +}; +static const unsigned char kat2908_persstr[] = {0}; +static const unsigned char kat2908_entropyinpr1[] = { + 0xc3, 0x0c, 0x9f, 0xd6, 0x0a, 0x63, 0x7c, 0x08, 0x6d, 0x26, 0xac, 0x34, + 0x9d, 0xf4, 0x78, 0x8a, +}; +static const unsigned char kat2908_addinpr1[] = { + 0xea, 0x85, 0x1d, 0xb2, 0x83, 0xce, 0xd4, 0x56, 0x13, 0xca, 0x93, 0x15, + 0x54, 0x6b, 0x76, 0x8d, +}; +static const unsigned char kat2908_entropyinpr2[] = { + 0xbe, 0x2a, 0xbc, 0x4f, 0xb9, 0xbe, 0xc6, 0x87, 0x99, 0xc0, 0xc4, 0x7e, + 0x1d, 0x30, 0x78, 0xe0, +}; +static const unsigned char kat2908_addinpr2[] = { + 0xce, 0x7e, 0x9f, 0x4f, 0x35, 0xe4, 0xdc, 0x74, 0x3a, 0x22, 0xd5, 0x55, + 0x03, 0xa3, 0xd5, 0x30, +}; +static const unsigned char kat2908_retbits[] = { + 0x5f, 0x8a, 0xe3, 0xe3, 0x36, 0xd8, 0xd8, 0xa2, 0x6b, 0xf7, 0x20, 0x4f, + 0xda, 0x4d, 0xc1, 0xfd, 0xd7, 0xa5, 0x06, 0x32, 0x3c, 0x04, 0xc6, 0x51, + 0x09, 0x63, 0xd5, 0xb1, 0x66, 0x2a, 0x95, 0xcd, 0xf4, 0xc9, 0xba, 0x6a, + 0xd3, 0x12, 0x65, 0xe9, 0x56, 0x28, 0x6c, 0x7c, 0xb6, 0x26, 0x4f, 0x90, + 0x17, 0xbd, 0xfe, 0x87, 0x0e, 0x0a, 0x15, 0x20, 0x13, 0x78, 0x99, 0xdc, + 0x31, 0x65, 0x65, 0x80, +}; +static const struct drbg_kat_pr_true kat2908_t = { + 12, kat2908_entropyin, kat2908_nonce, kat2908_persstr, + kat2908_entropyinpr1, kat2908_addinpr1, kat2908_entropyinpr2, + kat2908_addinpr2, kat2908_retbits +}; +static const struct drbg_kat kat2908 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2908_t +}; + +static const unsigned char kat2909_entropyin[] = { + 0x92, 0x96, 0x8a, 0x0c, 0xeb, 0xff, 0xf2, 0x65, 0x1b, 0x01, 0xfa, 0x9a, + 0x3d, 0xf7, 0x22, 0x03, +}; +static const unsigned char kat2909_nonce[] = { + 0xf9, 0x7e, 0xbf, 0xf2, 0x8a, 0x9c, 0x19, 0xc0, +}; +static const unsigned char kat2909_persstr[] = {0}; +static const unsigned char kat2909_entropyinpr1[] = { + 0xf1, 0xb2, 0xa3, 0xab, 0x86, 0xe5, 0x55, 0x67, 0xef, 0x10, 0x90, 0x82, + 0x2b, 0xc8, 0xc8, 0x6d, +}; +static const unsigned char kat2909_addinpr1[] = { + 0x90, 0x66, 0x3d, 0x5d, 0xdf, 0xa7, 0x74, 0x67, 0x64, 0x53, 0x71, 0x51, + 0xef, 0x75, 0xc4, 0x71, +}; +static const unsigned char kat2909_entropyinpr2[] = { + 0x70, 0xa0, 0x46, 0xe1, 0x5a, 0xe0, 0x8e, 0x00, 0xc9, 0x46, 0xfe, 0x2e, + 0xb1, 0x93, 0x95, 0x9c, +}; +static const unsigned char kat2909_addinpr2[] = { + 0x6a, 0x5b, 0x2c, 0x85, 0x34, 0x9c, 0x37, 0x13, 0x7d, 0x76, 0x6a, 0xb8, + 0x64, 0xe7, 0xa9, 0x45, +}; +static const unsigned char kat2909_retbits[] = { + 0x1b, 0x74, 0xfb, 0x9a, 0x7c, 0x1c, 0x8b, 0xb8, 0x42, 0x21, 0x21, 0xb9, + 0x06, 0xe1, 0x3f, 0x77, 0x6e, 0xf0, 0xfb, 0x65, 0x07, 0x82, 0xeb, 0x20, + 0x13, 0xf3, 0xa8, 0x71, 0xb3, 0x40, 0x3b, 0xfe, 0x95, 0xa5, 0x6d, 0x23, + 0x2a, 0x21, 0x4d, 0x4c, 0x99, 0x13, 0x5a, 0xe0, 0x67, 0x67, 0xec, 0x39, + 0x07, 0xaa, 0x4d, 0xff, 0xc5, 0xff, 0x5f, 0x6b, 0x9b, 0x4c, 0x76, 0xe5, + 0x8e, 0xd0, 0x4b, 0x9d, +}; +static const struct drbg_kat_pr_true kat2909_t = { + 13, kat2909_entropyin, kat2909_nonce, kat2909_persstr, + kat2909_entropyinpr1, kat2909_addinpr1, kat2909_entropyinpr2, + kat2909_addinpr2, kat2909_retbits +}; +static const struct drbg_kat kat2909 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2909_t +}; + +static const unsigned char kat2910_entropyin[] = { + 0xe2, 0xf6, 0xbe, 0x79, 0xaf, 0xbb, 0x3d, 0xce, 0x28, 0xa3, 0xdd, 0x7d, + 0x50, 0xee, 0x99, 0x31, +}; +static const unsigned char kat2910_nonce[] = { + 0x53, 0xf5, 0xc4, 0xd2, 0x2f, 0x0e, 0x44, 0xc4, +}; +static const unsigned char kat2910_persstr[] = {0}; +static const unsigned char kat2910_entropyinpr1[] = { + 0xa7, 0x72, 0x08, 0x75, 0xb1, 0xab, 0xfe, 0x13, 0x7e, 0x4b, 0x2f, 0x5c, + 0x34, 0x3a, 0xd8, 0x10, +}; +static const unsigned char kat2910_addinpr1[] = { + 0x9c, 0xfa, 0x82, 0xf0, 0xb5, 0x58, 0x1d, 0x6b, 0x15, 0xd8, 0x1d, 0xd5, + 0x34, 0xf3, 0x30, 0xc6, +}; +static const unsigned char kat2910_entropyinpr2[] = { + 0x2d, 0x52, 0xac, 0xe6, 0x92, 0xb7, 0xc9, 0x1a, 0x23, 0x1a, 0x54, 0x60, + 0x80, 0x18, 0x3c, 0xdd, +}; +static const unsigned char kat2910_addinpr2[] = { + 0x56, 0x69, 0x6f, 0x0e, 0x9c, 0xeb, 0x27, 0xbb, 0x60, 0xca, 0xde, 0x9d, + 0x6d, 0x1a, 0x45, 0x0a, +}; +static const unsigned char kat2910_retbits[] = { + 0x1a, 0x98, 0x27, 0x54, 0x69, 0xa3, 0x0c, 0x9e, 0x92, 0x13, 0x2f, 0x20, + 0x09, 0x1f, 0xae, 0x46, 0xca, 0xb2, 0xc3, 0xf5, 0xb3, 0xff, 0x5a, 0x22, + 0xb6, 0x7d, 0x0f, 0x8a, 0xb3, 0xb1, 0xe3, 0x80, 0x0a, 0xd8, 0x49, 0xc7, + 0x39, 0x09, 0xc3, 0x31, 0xf3, 0x40, 0xfa, 0xdd, 0x3d, 0xc6, 0x35, 0x8c, + 0xc1, 0x2c, 0xb4, 0xf7, 0x3e, 0x23, 0x99, 0x7a, 0x31, 0x09, 0xa4, 0x79, + 0x23, 0x17, 0xfd, 0x50, +}; +static const struct drbg_kat_pr_true kat2910_t = { + 14, kat2910_entropyin, kat2910_nonce, kat2910_persstr, + kat2910_entropyinpr1, kat2910_addinpr1, kat2910_entropyinpr2, + kat2910_addinpr2, kat2910_retbits +}; +static const struct drbg_kat kat2910 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2910_t +}; + +static const unsigned char kat2911_entropyin[] = { + 0x04, 0xd9, 0x49, 0xa6, 0xdc, 0xe8, 0x6e, 0xbb, 0xf1, 0x08, 0x77, 0x2b, + 0x9e, 0x08, 0xca, 0x92, +}; +static const unsigned char kat2911_nonce[] = { + 0x65, 0x16, 0xda, 0x99, 0xa2, 0x59, 0xf3, 0xe8, +}; +static const unsigned char kat2911_persstr[] = { + 0xbf, 0xa4, 0x9a, 0x8f, 0x7b, 0xd8, 0xb1, 0x7a, 0x9d, 0xfa, 0x45, 0xed, + 0x21, 0x52, 0xb3, 0xad, +}; +static const unsigned char kat2911_entropyinpr1[] = { + 0x38, 0x7e, 0x3f, 0x6b, 0x51, 0x70, 0x7b, 0x20, 0xec, 0x53, 0xd0, 0x66, + 0xc3, 0x0f, 0xe3, 0xb0, +}; +static const unsigned char kat2911_addinpr1[] = {0}; +static const unsigned char kat2911_entropyinpr2[] = { + 0xe0, 0x86, 0xa6, 0xaa, 0x5f, 0x72, 0x2f, 0xad, 0xf7, 0xef, 0x06, 0xb8, + 0xd6, 0x9c, 0x9d, 0xe8, +}; +static const unsigned char kat2911_addinpr2[] = {0}; +static const unsigned char kat2911_retbits[] = { + 0xc9, 0x0a, 0xaf, 0x85, 0x89, 0x71, 0x44, 0x66, 0x4f, 0x25, 0x0b, 0x2b, + 0xde, 0xd8, 0xfa, 0xff, 0x52, 0x5a, 0x1b, 0x32, 0x5e, 0x41, 0x7a, 0x10, + 0x1f, 0xef, 0x1e, 0x62, 0x23, 0xe9, 0x20, 0x30, 0xc9, 0x0d, 0xad, 0x69, + 0xb4, 0x9c, 0x5b, 0xf4, 0x87, 0x42, 0xd5, 0xae, 0x5e, 0x5e, 0x43, 0xcc, + 0xd9, 0xfd, 0x0b, 0x93, 0x4a, 0xe3, 0xd4, 0x06, 0x37, 0x36, 0x0f, 0x3f, + 0x72, 0x82, 0x0c, 0xcf, +}; +static const struct drbg_kat_pr_true kat2911_t = { + 0, kat2911_entropyin, kat2911_nonce, kat2911_persstr, + kat2911_entropyinpr1, kat2911_addinpr1, kat2911_entropyinpr2, + kat2911_addinpr2, kat2911_retbits +}; +static const struct drbg_kat kat2911 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2911_t +}; + +static const unsigned char kat2912_entropyin[] = { + 0x95, 0xb4, 0x8c, 0x92, 0x25, 0xed, 0xf6, 0xde, 0x0c, 0x7a, 0xc8, 0x46, + 0x27, 0x87, 0x49, 0xeb, +}; +static const unsigned char kat2912_nonce[] = { + 0x63, 0x49, 0xc6, 0x54, 0x3f, 0xbf, 0x1d, 0xdc, +}; +static const unsigned char kat2912_persstr[] = { + 0xee, 0x6b, 0xb2, 0x95, 0x88, 0xcb, 0xc5, 0x09, 0x5c, 0x44, 0xce, 0x57, + 0x56, 0x57, 0xee, 0x11, +}; +static const unsigned char kat2912_entropyinpr1[] = { + 0x4d, 0x2f, 0x8a, 0x6d, 0x71, 0xb2, 0xdc, 0x2d, 0x94, 0x93, 0x8a, 0xc7, + 0x29, 0xe1, 0xbe, 0xdf, +}; +static const unsigned char kat2912_addinpr1[] = {0}; +static const unsigned char kat2912_entropyinpr2[] = { + 0xad, 0x3e, 0x14, 0x07, 0x27, 0xec, 0x0f, 0xad, 0xfd, 0x1d, 0x1c, 0xc4, + 0x5c, 0x49, 0x2d, 0x25, +}; +static const unsigned char kat2912_addinpr2[] = {0}; +static const unsigned char kat2912_retbits[] = { + 0xc4, 0x62, 0x4a, 0xfc, 0x97, 0x86, 0x62, 0x13, 0xc9, 0x1f, 0xa1, 0x90, + 0x67, 0x30, 0x0f, 0x36, 0xed, 0xda, 0xdf, 0x00, 0x8e, 0xee, 0xd5, 0xcf, + 0x25, 0x02, 0x42, 0x24, 0x87, 0x94, 0xd9, 0xb6, 0x3f, 0xa5, 0x8c, 0x6e, + 0x66, 0xa5, 0x7e, 0x9f, 0x07, 0x2e, 0x71, 0xec, 0x28, 0x7a, 0x1e, 0xd8, + 0xd8, 0x3b, 0xd5, 0xa5, 0x26, 0x9c, 0x99, 0x47, 0x04, 0x99, 0xde, 0xe3, + 0xc8, 0x6a, 0x01, 0x73, +}; +static const struct drbg_kat_pr_true kat2912_t = { + 1, kat2912_entropyin, kat2912_nonce, kat2912_persstr, + kat2912_entropyinpr1, kat2912_addinpr1, kat2912_entropyinpr2, + kat2912_addinpr2, kat2912_retbits +}; +static const struct drbg_kat kat2912 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2912_t +}; + +static const unsigned char kat2913_entropyin[] = { + 0x24, 0x8f, 0x81, 0x46, 0xb5, 0xf4, 0xcd, 0xa4, 0xaa, 0x50, 0x2b, 0xa1, + 0xed, 0xdf, 0x2b, 0x92, +}; +static const unsigned char kat2913_nonce[] = { + 0x49, 0x7d, 0x5f, 0x20, 0x85, 0xef, 0xbd, 0xd5, +}; +static const unsigned char kat2913_persstr[] = { + 0xda, 0x50, 0x1e, 0xd7, 0xfa, 0x9b, 0xf4, 0x43, 0xf8, 0xde, 0xfe, 0x72, + 0x62, 0xff, 0x86, 0x2c, +}; +static const unsigned char kat2913_entropyinpr1[] = { + 0xc1, 0xbb, 0xb7, 0x97, 0xa5, 0xec, 0x44, 0xdc, 0x99, 0x87, 0x89, 0x1d, + 0x02, 0x20, 0x07, 0x2f, +}; +static const unsigned char kat2913_addinpr1[] = {0}; +static const unsigned char kat2913_entropyinpr2[] = { + 0x01, 0x56, 0xa9, 0x65, 0x59, 0xf4, 0xdb, 0xe8, 0xa3, 0x07, 0x75, 0x41, + 0xc4, 0x89, 0xff, 0x1b, +}; +static const unsigned char kat2913_addinpr2[] = {0}; +static const unsigned char kat2913_retbits[] = { + 0x14, 0x51, 0x67, 0x5a, 0x22, 0x45, 0xcb, 0xd9, 0x56, 0x44, 0x47, 0x4b, + 0x82, 0x81, 0x70, 0x74, 0xc8, 0x5e, 0x99, 0x5a, 0xc0, 0x5b, 0x45, 0x91, + 0x24, 0x79, 0xbc, 0x0d, 0x96, 0x0f, 0xd6, 0x32, 0x34, 0x2a, 0x7e, 0xac, + 0xcf, 0xc1, 0x30, 0x47, 0xa1, 0x98, 0x61, 0xb9, 0xa3, 0xf3, 0xaa, 0x0a, + 0xc2, 0xea, 0x48, 0xb4, 0xc4, 0xd1, 0xee, 0xdf, 0xc9, 0x59, 0xa7, 0x7e, + 0xb7, 0xdf, 0x19, 0xec, +}; +static const struct drbg_kat_pr_true kat2913_t = { + 2, kat2913_entropyin, kat2913_nonce, kat2913_persstr, + kat2913_entropyinpr1, kat2913_addinpr1, kat2913_entropyinpr2, + kat2913_addinpr2, kat2913_retbits +}; +static const struct drbg_kat kat2913 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2913_t +}; + +static const unsigned char kat2914_entropyin[] = { + 0x43, 0x24, 0xeb, 0x5e, 0x5d, 0x3b, 0x15, 0xaa, 0x28, 0x37, 0x7d, 0x80, + 0x9d, 0xaa, 0x85, 0x79, +}; +static const unsigned char kat2914_nonce[] = { + 0x08, 0x87, 0x50, 0x03, 0x8f, 0x51, 0x75, 0xf0, +}; +static const unsigned char kat2914_persstr[] = { + 0xd2, 0x7c, 0x75, 0x83, 0x6f, 0x0a, 0x21, 0x73, 0xa3, 0x08, 0xf5, 0x8a, + 0xd0, 0x7c, 0x52, 0x3e, +}; +static const unsigned char kat2914_entropyinpr1[] = { + 0xa9, 0x93, 0xd4, 0xc9, 0x74, 0x93, 0xa1, 0xe7, 0x82, 0xaa, 0xd9, 0xc0, + 0x1f, 0x9a, 0x7e, 0x5c, +}; +static const unsigned char kat2914_addinpr1[] = {0}; +static const unsigned char kat2914_entropyinpr2[] = { + 0xd9, 0x6a, 0x76, 0x78, 0x37, 0xaf, 0xb4, 0xb8, 0x54, 0x4a, 0xe5, 0x82, + 0x7a, 0x0f, 0x6b, 0x71, +}; +static const unsigned char kat2914_addinpr2[] = {0}; +static const unsigned char kat2914_retbits[] = { + 0x54, 0x44, 0x98, 0xbd, 0x43, 0x31, 0x35, 0xc2, 0xd5, 0xb8, 0x05, 0xb4, + 0x5e, 0x88, 0x73, 0x3e, 0x71, 0x23, 0x5e, 0xb6, 0xad, 0x25, 0xee, 0x89, + 0xf2, 0x1b, 0x24, 0xa4, 0x18, 0xe0, 0xfa, 0xfe, 0x25, 0x5a, 0xdc, 0xc2, + 0x3e, 0xdc, 0xcf, 0x11, 0xe6, 0x79, 0x90, 0x7c, 0x74, 0x25, 0xe8, 0xb1, + 0xf5, 0x3d, 0x0a, 0x16, 0x19, 0xe7, 0xdc, 0x3e, 0xcb, 0x20, 0x97, 0xcc, + 0x18, 0x13, 0x37, 0x36, +}; +static const struct drbg_kat_pr_true kat2914_t = { + 3, kat2914_entropyin, kat2914_nonce, kat2914_persstr, + kat2914_entropyinpr1, kat2914_addinpr1, kat2914_entropyinpr2, + kat2914_addinpr2, kat2914_retbits +}; +static const struct drbg_kat kat2914 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2914_t +}; + +static const unsigned char kat2915_entropyin[] = { + 0xb2, 0x13, 0xf7, 0xce, 0x19, 0x3c, 0xd4, 0xa6, 0x6e, 0x97, 0x92, 0x66, + 0xf4, 0x88, 0xe1, 0x81, +}; +static const unsigned char kat2915_nonce[] = { + 0x19, 0x19, 0x1a, 0x55, 0x7f, 0x54, 0x4e, 0xf9, +}; +static const unsigned char kat2915_persstr[] = { + 0x1c, 0xed, 0x83, 0x18, 0xf6, 0x40, 0x43, 0x90, 0xc4, 0xa4, 0xee, 0x34, + 0x3c, 0xf5, 0x3c, 0x43, +}; +static const unsigned char kat2915_entropyinpr1[] = { + 0x20, 0xa8, 0x83, 0xfa, 0x38, 0x02, 0xf2, 0xd4, 0xb8, 0x35, 0x9f, 0x04, + 0x43, 0x55, 0xaa, 0x80, +}; +static const unsigned char kat2915_addinpr1[] = {0}; +static const unsigned char kat2915_entropyinpr2[] = { + 0x0f, 0x8f, 0x65, 0xe2, 0x19, 0x2a, 0x8a, 0x44, 0x5b, 0xae, 0xd6, 0x65, + 0x27, 0xb8, 0xa0, 0xfc, +}; +static const unsigned char kat2915_addinpr2[] = {0}; +static const unsigned char kat2915_retbits[] = { + 0xd3, 0xf1, 0xcc, 0xc7, 0x7e, 0x04, 0x1c, 0xed, 0xd5, 0xb8, 0x05, 0xca, + 0xe6, 0x57, 0x89, 0x46, 0x03, 0x02, 0x19, 0x0f, 0x3c, 0x74, 0x78, 0x8f, + 0xa5, 0x0b, 0x86, 0x3c, 0xb4, 0xd3, 0x4a, 0x96, 0xe2, 0xf0, 0x2b, 0xec, + 0xd7, 0x21, 0x8a, 0xd2, 0xc9, 0x34, 0x72, 0xdc, 0xd9, 0xc2, 0x3c, 0xc6, + 0xdd, 0x74, 0xc3, 0x9d, 0xb6, 0xea, 0xa3, 0x7c, 0xd9, 0x85, 0xb0, 0x15, + 0x31, 0x4b, 0x71, 0x9d, +}; +static const struct drbg_kat_pr_true kat2915_t = { + 4, kat2915_entropyin, kat2915_nonce, kat2915_persstr, + kat2915_entropyinpr1, kat2915_addinpr1, kat2915_entropyinpr2, + kat2915_addinpr2, kat2915_retbits +}; +static const struct drbg_kat kat2915 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2915_t +}; + +static const unsigned char kat2916_entropyin[] = { + 0x01, 0xab, 0x54, 0x2d, 0xce, 0xdb, 0x7e, 0xba, 0x62, 0xe1, 0x7c, 0x6d, + 0x0c, 0x2a, 0x2e, 0x42, +}; +static const unsigned char kat2916_nonce[] = { + 0x70, 0xe3, 0x68, 0x41, 0x6f, 0xc1, 0x06, 0xea, +}; +static const unsigned char kat2916_persstr[] = { + 0xd0, 0xff, 0x40, 0xe6, 0x89, 0x73, 0x01, 0x1a, 0x40, 0x50, 0x12, 0x73, + 0xa0, 0x17, 0xa4, 0x4e, +}; +static const unsigned char kat2916_entropyinpr1[] = { + 0xa7, 0x08, 0x23, 0xf0, 0xf5, 0xcb, 0x86, 0xe5, 0x3c, 0x6e, 0x6c, 0xf3, + 0x7f, 0x2f, 0xac, 0xa9, +}; +static const unsigned char kat2916_addinpr1[] = {0}; +static const unsigned char kat2916_entropyinpr2[] = { + 0x54, 0x30, 0x81, 0x75, 0x54, 0xb4, 0x28, 0xa3, 0x98, 0x9b, 0x1c, 0xe4, + 0x6c, 0x0d, 0xf5, 0x1f, +}; +static const unsigned char kat2916_addinpr2[] = {0}; +static const unsigned char kat2916_retbits[] = { + 0x60, 0xcc, 0xee, 0x8a, 0xd4, 0x86, 0x4e, 0x0a, 0xf4, 0x10, 0x83, 0x06, + 0xd3, 0x71, 0x2f, 0xac, 0x21, 0x58, 0xc7, 0xc6, 0x8f, 0xf6, 0x2f, 0xaa, + 0x41, 0x23, 0x2f, 0x38, 0xf7, 0x1a, 0x88, 0xb8, 0xec, 0x25, 0x34, 0xc2, + 0x38, 0xdc, 0xf5, 0xa8, 0x40, 0xf3, 0xfa, 0x17, 0x65, 0x98, 0x62, 0x48, + 0xca, 0x7e, 0x5b, 0xdf, 0x75, 0x94, 0x28, 0x43, 0xde, 0x9a, 0x90, 0x7d, + 0xe8, 0x7b, 0x18, 0x20, +}; +static const struct drbg_kat_pr_true kat2916_t = { + 5, kat2916_entropyin, kat2916_nonce, kat2916_persstr, + kat2916_entropyinpr1, kat2916_addinpr1, kat2916_entropyinpr2, + kat2916_addinpr2, kat2916_retbits +}; +static const struct drbg_kat kat2916 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2916_t +}; + +static const unsigned char kat2917_entropyin[] = { + 0xb6, 0x3b, 0x39, 0xf9, 0x04, 0xc7, 0xe7, 0x6d, 0x8d, 0x79, 0xfa, 0x6d, + 0xd2, 0x5a, 0x69, 0x62, +}; +static const unsigned char kat2917_nonce[] = { + 0x6d, 0x52, 0x52, 0xac, 0x2a, 0xdf, 0xc7, 0xb1, +}; +static const unsigned char kat2917_persstr[] = { + 0xc3, 0xa1, 0xb3, 0x85, 0x1a, 0x77, 0x09, 0xc4, 0x67, 0xc9, 0xef, 0x32, + 0x84, 0xef, 0xa0, 0x1c, +}; +static const unsigned char kat2917_entropyinpr1[] = { + 0x7e, 0xfc, 0x7d, 0x32, 0xa4, 0x7b, 0x09, 0x71, 0x7c, 0x4d, 0x02, 0xfa, + 0x54, 0x0b, 0xfb, 0x0c, +}; +static const unsigned char kat2917_addinpr1[] = {0}; +static const unsigned char kat2917_entropyinpr2[] = { + 0x55, 0x90, 0x32, 0x09, 0x58, 0x42, 0xd1, 0x59, 0x29, 0x1c, 0x08, 0xd5, + 0x21, 0x58, 0x80, 0x31, +}; +static const unsigned char kat2917_addinpr2[] = {0}; +static const unsigned char kat2917_retbits[] = { + 0xb1, 0x52, 0x1f, 0x1f, 0x1c, 0xae, 0xc7, 0x40, 0x48, 0xb5, 0xbb, 0x97, + 0x79, 0x4e, 0x3f, 0x46, 0x77, 0xe4, 0xea, 0x38, 0xa6, 0x4d, 0x74, 0xcd, + 0x41, 0xc8, 0x37, 0xab, 0x0f, 0x62, 0x59, 0xda, 0x42, 0x42, 0xa1, 0x7d, + 0xc6, 0xb9, 0x44, 0x7f, 0x56, 0x03, 0xa4, 0x4b, 0x39, 0x76, 0x36, 0x32, + 0xc7, 0x50, 0x20, 0xf2, 0xbe, 0x76, 0x0b, 0xdd, 0x2e, 0x11, 0xc8, 0x6d, + 0xe9, 0xd0, 0xf4, 0xb3, +}; +static const struct drbg_kat_pr_true kat2917_t = { + 6, kat2917_entropyin, kat2917_nonce, kat2917_persstr, + kat2917_entropyinpr1, kat2917_addinpr1, kat2917_entropyinpr2, + kat2917_addinpr2, kat2917_retbits +}; +static const struct drbg_kat kat2917 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2917_t +}; + +static const unsigned char kat2918_entropyin[] = { + 0xf9, 0xa3, 0x9f, 0x97, 0x29, 0xe2, 0x2d, 0x49, 0xec, 0xf6, 0x6f, 0x4f, + 0x25, 0x4b, 0xb2, 0xbe, +}; +static const unsigned char kat2918_nonce[] = { + 0x75, 0x96, 0x75, 0xe6, 0xad, 0x5b, 0x46, 0x5c, +}; +static const unsigned char kat2918_persstr[] = { + 0x07, 0xe5, 0xab, 0xca, 0x6b, 0xb5, 0xbb, 0xcc, 0xf7, 0x0a, 0x62, 0x04, + 0x18, 0x37, 0x25, 0x66, +}; +static const unsigned char kat2918_entropyinpr1[] = { + 0x37, 0xae, 0xab, 0xc9, 0x74, 0xcc, 0x63, 0x09, 0x47, 0x8d, 0xc8, 0x58, + 0x87, 0xdb, 0x77, 0x7f, +}; +static const unsigned char kat2918_addinpr1[] = {0}; +static const unsigned char kat2918_entropyinpr2[] = { + 0xef, 0x59, 0x90, 0xc3, 0x26, 0xc4, 0x5b, 0x03, 0xad, 0xbe, 0x1d, 0xe0, + 0x93, 0x61, 0x9f, 0x84, +}; +static const unsigned char kat2918_addinpr2[] = {0}; +static const unsigned char kat2918_retbits[] = { + 0x36, 0x6a, 0x38, 0x08, 0x7a, 0xbd, 0x19, 0x9d, 0x6c, 0xb3, 0xa3, 0xb9, + 0xa6, 0x14, 0x7c, 0x0f, 0x30, 0x6c, 0xc3, 0xdd, 0xd4, 0x12, 0x20, 0x74, + 0xde, 0x28, 0x1f, 0x3f, 0xc5, 0x6f, 0x5d, 0x3f, 0x74, 0xc6, 0xdd, 0x28, + 0x9a, 0x93, 0x79, 0x1c, 0xa2, 0xdb, 0x3d, 0xd6, 0xb4, 0xbc, 0x98, 0x4e, + 0x80, 0xca, 0x77, 0xfa, 0x49, 0x98, 0x71, 0x45, 0xeb, 0x06, 0xfa, 0xbe, + 0xe7, 0x8e, 0xbb, 0xf6, +}; +static const struct drbg_kat_pr_true kat2918_t = { + 7, kat2918_entropyin, kat2918_nonce, kat2918_persstr, + kat2918_entropyinpr1, kat2918_addinpr1, kat2918_entropyinpr2, + kat2918_addinpr2, kat2918_retbits +}; +static const struct drbg_kat kat2918 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2918_t +}; + +static const unsigned char kat2919_entropyin[] = { + 0x3a, 0x2b, 0xdf, 0x56, 0x32, 0x7d, 0x3f, 0xd9, 0x4d, 0x80, 0xd8, 0x3f, + 0x95, 0x0e, 0x0b, 0x5c, +}; +static const unsigned char kat2919_nonce[] = { + 0x5f, 0x6c, 0xbe, 0xc4, 0x9d, 0x02, 0x2d, 0xf2, +}; +static const unsigned char kat2919_persstr[] = { + 0x45, 0xfc, 0x17, 0x6f, 0xfb, 0xea, 0xaa, 0xa9, 0xa1, 0xc8, 0xeb, 0xbf, + 0xb0, 0x51, 0x2c, 0xba, +}; +static const unsigned char kat2919_entropyinpr1[] = { + 0x44, 0xc3, 0x68, 0x62, 0x22, 0x54, 0x7f, 0xf4, 0x21, 0x19, 0x83, 0x72, + 0x07, 0x9a, 0x94, 0x2a, +}; +static const unsigned char kat2919_addinpr1[] = {0}; +static const unsigned char kat2919_entropyinpr2[] = { + 0x95, 0xd4, 0xf2, 0x55, 0xce, 0x0e, 0xef, 0x14, 0xb5, 0x6b, 0xe4, 0x86, + 0x41, 0xb5, 0x15, 0xb5, +}; +static const unsigned char kat2919_addinpr2[] = {0}; +static const unsigned char kat2919_retbits[] = { + 0xf6, 0xa4, 0x4d, 0xf4, 0x45, 0x79, 0x21, 0xf7, 0x15, 0x59, 0xf0, 0x38, + 0xdf, 0x0b, 0xf5, 0x10, 0x68, 0x93, 0xf5, 0xbe, 0x1b, 0x30, 0xe6, 0x47, + 0x4b, 0x91, 0x42, 0xae, 0xea, 0xe1, 0xcf, 0x0f, 0x36, 0x61, 0xda, 0x0b, + 0xed, 0xfd, 0xd9, 0x33, 0x16, 0x36, 0x4c, 0x2b, 0x21, 0xc8, 0xc6, 0x97, + 0x4a, 0xa0, 0x0f, 0xb1, 0x6d, 0x6d, 0xfd, 0xbe, 0xf6, 0x1b, 0xa0, 0x5b, + 0x7f, 0x70, 0x08, 0xf4, +}; +static const struct drbg_kat_pr_true kat2919_t = { + 8, kat2919_entropyin, kat2919_nonce, kat2919_persstr, + kat2919_entropyinpr1, kat2919_addinpr1, kat2919_entropyinpr2, + kat2919_addinpr2, kat2919_retbits +}; +static const struct drbg_kat kat2919 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2919_t +}; + +static const unsigned char kat2920_entropyin[] = { + 0x65, 0xbd, 0x77, 0x12, 0x78, 0x97, 0xf6, 0xc7, 0x06, 0xac, 0xbd, 0x40, + 0x62, 0xef, 0x96, 0xb9, +}; +static const unsigned char kat2920_nonce[] = { + 0xa8, 0x63, 0x02, 0xb2, 0xaa, 0x4f, 0x80, 0x6f, +}; +static const unsigned char kat2920_persstr[] = { + 0x0e, 0x4b, 0xbf, 0x8a, 0xa7, 0x0d, 0x2a, 0x3c, 0xad, 0xa5, 0x25, 0x3b, + 0x54, 0xb9, 0x15, 0xae, +}; +static const unsigned char kat2920_entropyinpr1[] = { + 0x64, 0xb6, 0xe1, 0x24, 0xe0, 0xe1, 0x51, 0xaa, 0x00, 0x50, 0x44, 0xf3, + 0x5a, 0x49, 0xef, 0xba, +}; +static const unsigned char kat2920_addinpr1[] = {0}; +static const unsigned char kat2920_entropyinpr2[] = { + 0xf5, 0xe7, 0x97, 0x1b, 0x5a, 0xd1, 0x8a, 0x91, 0xcd, 0x42, 0x5d, 0x87, + 0x4e, 0xc3, 0x04, 0x1e, +}; +static const unsigned char kat2920_addinpr2[] = {0}; +static const unsigned char kat2920_retbits[] = { + 0xe0, 0x1e, 0x53, 0xda, 0x0d, 0x47, 0xc2, 0xd1, 0xbe, 0x09, 0x6f, 0xa3, + 0x47, 0x3e, 0x0d, 0x4e, 0xaf, 0xc0, 0xef, 0x50, 0xbe, 0xba, 0xdf, 0x38, + 0xdd, 0x02, 0xea, 0xce, 0xac, 0xf8, 0x4c, 0x38, 0x47, 0xaf, 0x7d, 0x6e, + 0xfa, 0xc8, 0x61, 0x90, 0xbe, 0xa1, 0x86, 0xe5, 0xcc, 0x9d, 0xc8, 0xf1, + 0x85, 0xe9, 0x7a, 0x85, 0xff, 0x36, 0x1a, 0x2b, 0xdf, 0x88, 0x43, 0xe2, + 0x91, 0x5f, 0x49, 0xf6, +}; +static const struct drbg_kat_pr_true kat2920_t = { + 9, kat2920_entropyin, kat2920_nonce, kat2920_persstr, + kat2920_entropyinpr1, kat2920_addinpr1, kat2920_entropyinpr2, + kat2920_addinpr2, kat2920_retbits +}; +static const struct drbg_kat kat2920 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2920_t +}; + +static const unsigned char kat2921_entropyin[] = { + 0x65, 0xf5, 0xac, 0x10, 0xd9, 0xaf, 0xe7, 0xdd, 0x73, 0x39, 0x58, 0xb9, + 0x81, 0x0f, 0x4b, 0x88, +}; +static const unsigned char kat2921_nonce[] = { + 0xc5, 0xe0, 0x17, 0x28, 0x79, 0xdc, 0x34, 0x4a, +}; +static const unsigned char kat2921_persstr[] = { + 0x83, 0xb4, 0x11, 0x92, 0x13, 0x3c, 0x9d, 0xc7, 0x12, 0x19, 0xe0, 0x7a, + 0x15, 0xf8, 0x26, 0xfa, +}; +static const unsigned char kat2921_entropyinpr1[] = { + 0x64, 0x7d, 0xbd, 0xe6, 0xb3, 0xa1, 0x1a, 0x58, 0x5f, 0x44, 0x28, 0xb3, + 0x21, 0x0e, 0xb5, 0x4e, +}; +static const unsigned char kat2921_addinpr1[] = {0}; +static const unsigned char kat2921_entropyinpr2[] = { + 0xbb, 0x5c, 0xc9, 0x6e, 0x43, 0x13, 0x45, 0xb5, 0xee, 0x09, 0xbf, 0xcd, + 0x9d, 0x38, 0xa7, 0x51, +}; +static const unsigned char kat2921_addinpr2[] = {0}; +static const unsigned char kat2921_retbits[] = { + 0x8c, 0xdf, 0x9e, 0x26, 0x72, 0x94, 0xeb, 0xb9, 0x05, 0x26, 0xf3, 0x47, + 0xd7, 0x67, 0x3c, 0xf8, 0x7f, 0x43, 0x6d, 0x3b, 0x90, 0x65, 0xbe, 0xf5, + 0x26, 0x28, 0xa7, 0x2b, 0x4e, 0x04, 0xc8, 0x31, 0xb0, 0x5d, 0x5d, 0x49, + 0xfe, 0x93, 0xbd, 0x53, 0x91, 0xca, 0x5c, 0x1e, 0xeb, 0x93, 0x39, 0x51, + 0x56, 0x6a, 0xb0, 0x1e, 0x05, 0xdb, 0x28, 0x9e, 0x67, 0x71, 0x20, 0x55, + 0x9a, 0x0d, 0x67, 0xdd, +}; +static const struct drbg_kat_pr_true kat2921_t = { + 10, kat2921_entropyin, kat2921_nonce, kat2921_persstr, + kat2921_entropyinpr1, kat2921_addinpr1, kat2921_entropyinpr2, + kat2921_addinpr2, kat2921_retbits +}; +static const struct drbg_kat kat2921 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2921_t +}; + +static const unsigned char kat2922_entropyin[] = { + 0xff, 0x0b, 0xc5, 0xb4, 0x4a, 0x5c, 0x0b, 0x58, 0x00, 0x17, 0x54, 0x57, + 0x39, 0xd0, 0x57, 0xe1, +}; +static const unsigned char kat2922_nonce[] = { + 0xe4, 0x8e, 0x23, 0xfa, 0x66, 0x8c, 0xc6, 0xdf, +}; +static const unsigned char kat2922_persstr[] = { + 0xce, 0xb2, 0x54, 0xbf, 0x57, 0x7b, 0xdc, 0x23, 0xdb, 0x2b, 0x1f, 0x67, + 0xef, 0x1b, 0xa2, 0xcb, +}; +static const unsigned char kat2922_entropyinpr1[] = { + 0x62, 0xef, 0xff, 0x8f, 0x4a, 0x23, 0xef, 0x09, 0x46, 0xb0, 0x0a, 0xab, + 0x1c, 0xf5, 0xca, 0x54, +}; +static const unsigned char kat2922_addinpr1[] = {0}; +static const unsigned char kat2922_entropyinpr2[] = { + 0x1e, 0xb3, 0xdf, 0xf0, 0x64, 0x43, 0x5a, 0x07, 0x50, 0x0f, 0x59, 0x9b, + 0xb7, 0x74, 0x4e, 0xf3, +}; +static const unsigned char kat2922_addinpr2[] = {0}; +static const unsigned char kat2922_retbits[] = { + 0xfe, 0x32, 0xda, 0x0e, 0xc0, 0xf4, 0x45, 0x0d, 0x59, 0x09, 0x82, 0x23, + 0x38, 0x83, 0x11, 0x55, 0xb8, 0xe3, 0x17, 0xaf, 0xa6, 0xab, 0x3f, 0xc1, + 0x94, 0xf6, 0x50, 0x48, 0xbc, 0x33, 0xc4, 0xb1, 0x73, 0xc6, 0xe2, 0x3b, + 0x3c, 0xba, 0x0f, 0x11, 0x06, 0xb3, 0x6f, 0xb9, 0xd5, 0xae, 0x97, 0x43, + 0x80, 0x09, 0xb0, 0x22, 0x8e, 0xae, 0xa4, 0xa4, 0x6b, 0x52, 0x1d, 0x19, + 0xf9, 0x1c, 0xc9, 0xae, +}; +static const struct drbg_kat_pr_true kat2922_t = { + 11, kat2922_entropyin, kat2922_nonce, kat2922_persstr, + kat2922_entropyinpr1, kat2922_addinpr1, kat2922_entropyinpr2, + kat2922_addinpr2, kat2922_retbits +}; +static const struct drbg_kat kat2922 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2922_t +}; + +static const unsigned char kat2923_entropyin[] = { + 0xe1, 0xdb, 0x4e, 0x81, 0xe7, 0x3c, 0xef, 0xff, 0xf7, 0x3d, 0xf5, 0x95, + 0x87, 0xfd, 0x18, 0x03, +}; +static const unsigned char kat2923_nonce[] = { + 0xe3, 0xb0, 0x24, 0x42, 0x4c, 0x6c, 0xc6, 0x78, +}; +static const unsigned char kat2923_persstr[] = { + 0x75, 0xfd, 0x2b, 0x61, 0xbc, 0x63, 0x18, 0xa5, 0xba, 0xf9, 0x31, 0x2e, + 0x47, 0x8b, 0x04, 0xfd, +}; +static const unsigned char kat2923_entropyinpr1[] = { + 0xd5, 0x35, 0xde, 0xa7, 0x2d, 0x20, 0xdb, 0xd5, 0x40, 0xcd, 0xe8, 0x56, + 0xcf, 0x05, 0x4e, 0xae, +}; +static const unsigned char kat2923_addinpr1[] = {0}; +static const unsigned char kat2923_entropyinpr2[] = { + 0xbd, 0xda, 0x47, 0x0e, 0xa6, 0xee, 0x45, 0x75, 0x56, 0xa8, 0xdd, 0x29, + 0xb6, 0x20, 0x39, 0x81, +}; +static const unsigned char kat2923_addinpr2[] = {0}; +static const unsigned char kat2923_retbits[] = { + 0x6d, 0x33, 0xf5, 0x2f, 0x8a, 0xd7, 0x8a, 0xcb, 0xd8, 0xfe, 0xed, 0xb1, + 0x2c, 0x38, 0x41, 0xea, 0x9e, 0x1a, 0xca, 0x03, 0xd5, 0x05, 0xb6, 0xf0, + 0xc1, 0x6e, 0xcb, 0xe2, 0x01, 0x65, 0x09, 0x54, 0x08, 0x5a, 0x6a, 0x21, + 0x81, 0x97, 0xde, 0x7f, 0x40, 0x77, 0xa9, 0x38, 0x87, 0xb9, 0x80, 0x5a, + 0xeb, 0xf6, 0x6c, 0xf0, 0x63, 0xd6, 0xd8, 0x98, 0xd8, 0xbe, 0x6a, 0xd0, + 0x11, 0xa5, 0x99, 0x29, +}; +static const struct drbg_kat_pr_true kat2923_t = { + 12, kat2923_entropyin, kat2923_nonce, kat2923_persstr, + kat2923_entropyinpr1, kat2923_addinpr1, kat2923_entropyinpr2, + kat2923_addinpr2, kat2923_retbits +}; +static const struct drbg_kat kat2923 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2923_t +}; + +static const unsigned char kat2924_entropyin[] = { + 0x7b, 0x2d, 0x0a, 0xf7, 0x17, 0xe1, 0x0c, 0x54, 0x75, 0xaf, 0x5b, 0xdd, + 0xeb, 0xd6, 0x9e, 0xcc, +}; +static const unsigned char kat2924_nonce[] = { + 0x70, 0x89, 0x12, 0x34, 0x65, 0x88, 0xfd, 0x18, +}; +static const unsigned char kat2924_persstr[] = { + 0x69, 0xe0, 0xf3, 0xe9, 0xfd, 0xc2, 0x80, 0xcc, 0xf3, 0xfc, 0xe3, 0xfd, + 0xf8, 0xa1, 0x5c, 0x38, +}; +static const unsigned char kat2924_entropyinpr1[] = { + 0x78, 0xdd, 0xc5, 0x74, 0x59, 0x06, 0x39, 0x1c, 0x8d, 0x70, 0xed, 0x86, + 0xa5, 0xba, 0xdb, 0x02, +}; +static const unsigned char kat2924_addinpr1[] = {0}; +static const unsigned char kat2924_entropyinpr2[] = { + 0x58, 0xf3, 0x5f, 0x3a, 0x03, 0xf1, 0xf4, 0x12, 0x6b, 0x6e, 0x5c, 0x87, + 0xa5, 0x03, 0x2a, 0xde, +}; +static const unsigned char kat2924_addinpr2[] = {0}; +static const unsigned char kat2924_retbits[] = { + 0xbb, 0x48, 0xab, 0x47, 0xd5, 0x1e, 0x67, 0xe4, 0xa7, 0x4c, 0x1c, 0xd5, + 0x2c, 0xf1, 0x08, 0xde, 0x5a, 0x2c, 0x6b, 0x70, 0x10, 0x7c, 0xa4, 0x7c, + 0x56, 0x81, 0xc6, 0xee, 0xe1, 0x9b, 0x88, 0x3b, 0x6e, 0x4d, 0x3b, 0x40, + 0x2d, 0xd6, 0xee, 0x77, 0xb9, 0x5a, 0xee, 0x02, 0x8d, 0x0e, 0x15, 0xa5, + 0x7d, 0x2e, 0xe2, 0xad, 0x94, 0x88, 0x58, 0x0a, 0x0c, 0x4f, 0xee, 0x37, + 0xf3, 0x2c, 0xf4, 0x52, +}; +static const struct drbg_kat_pr_true kat2924_t = { + 13, kat2924_entropyin, kat2924_nonce, kat2924_persstr, + kat2924_entropyinpr1, kat2924_addinpr1, kat2924_entropyinpr2, + kat2924_addinpr2, kat2924_retbits +}; +static const struct drbg_kat kat2924 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2924_t +}; + +static const unsigned char kat2925_entropyin[] = { + 0x26, 0x17, 0x29, 0x56, 0xbc, 0xde, 0x00, 0xd0, 0xc8, 0x4c, 0x17, 0xb6, + 0x7a, 0x24, 0x69, 0xa4, +}; +static const unsigned char kat2925_nonce[] = { + 0x1e, 0x2f, 0x11, 0x47, 0xe2, 0xcb, 0x87, 0x09, +}; +static const unsigned char kat2925_persstr[] = { + 0xa1, 0x24, 0xb1, 0xe8, 0x12, 0xe5, 0xe5, 0xd7, 0x65, 0x80, 0x75, 0x67, + 0xbd, 0x8c, 0x02, 0x38, +}; +static const unsigned char kat2925_entropyinpr1[] = { + 0x06, 0xfc, 0x13, 0xe6, 0x52, 0xea, 0x5c, 0xe0, 0x26, 0xbb, 0xc4, 0x65, + 0xb7, 0xbe, 0x6f, 0x6d, +}; +static const unsigned char kat2925_addinpr1[] = {0}; +static const unsigned char kat2925_entropyinpr2[] = { + 0xe8, 0x3a, 0x61, 0x80, 0x94, 0xad, 0x08, 0xef, 0x8c, 0xc4, 0x98, 0xa8, + 0xcc, 0xc9, 0x8e, 0xcf, +}; +static const unsigned char kat2925_addinpr2[] = {0}; +static const unsigned char kat2925_retbits[] = { + 0x9c, 0x98, 0x7f, 0x10, 0x64, 0x54, 0x53, 0x44, 0x11, 0x55, 0xa2, 0x3a, + 0xaf, 0x36, 0xda, 0xae, 0x90, 0x0b, 0xfa, 0x2c, 0x25, 0xe5, 0x71, 0xe6, + 0x8e, 0x2b, 0x93, 0x76, 0x5c, 0xf5, 0x53, 0x64, 0xf1, 0xaf, 0xca, 0xbf, + 0x49, 0x6a, 0x96, 0x2e, 0x57, 0xf7, 0xee, 0xf8, 0x41, 0x73, 0xed, 0xc9, + 0x5f, 0xdb, 0x1d, 0x8b, 0xbd, 0xed, 0x88, 0x19, 0x32, 0xdf, 0xa5, 0xa6, + 0xa8, 0x7e, 0x30, 0xdc, +}; +static const struct drbg_kat_pr_true kat2925_t = { + 14, kat2925_entropyin, kat2925_nonce, kat2925_persstr, + kat2925_entropyinpr1, kat2925_addinpr1, kat2925_entropyinpr2, + kat2925_addinpr2, kat2925_retbits +}; +static const struct drbg_kat kat2925 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2925_t +}; + +static const unsigned char kat2926_entropyin[] = { + 0x92, 0x89, 0x8f, 0x31, 0xfa, 0x1c, 0xff, 0x6d, 0x18, 0x2f, 0x26, 0x06, + 0x43, 0xdf, 0xf8, 0x18, +}; +static const unsigned char kat2926_nonce[] = { + 0xc2, 0xa4, 0xd9, 0x72, 0xc3, 0xb9, 0xb6, 0x97, +}; +static const unsigned char kat2926_persstr[] = { + 0xea, 0x65, 0xee, 0x60, 0x26, 0x4e, 0x7e, 0xb6, 0x0e, 0x82, 0x68, 0xc4, + 0x37, 0x3c, 0x5c, 0x0b, +}; +static const unsigned char kat2926_entropyinpr1[] = { + 0x20, 0x72, 0x8a, 0x06, 0xf8, 0x6f, 0x8d, 0xd4, 0x41, 0xe2, 0x72, 0xb7, + 0xc4, 0x2c, 0xe8, 0x10, +}; +static const unsigned char kat2926_addinpr1[] = { + 0x1a, 0x40, 0xfa, 0xe3, 0xcc, 0x6c, 0x7c, 0xa0, 0xf8, 0xda, 0xba, 0x59, + 0x23, 0x6d, 0xad, 0x1d, +}; +static const unsigned char kat2926_entropyinpr2[] = { + 0x3d, 0xb0, 0xf0, 0x94, 0xf3, 0x05, 0x50, 0x33, 0x17, 0x86, 0x3e, 0x22, + 0x08, 0xf7, 0xa5, 0x01, +}; +static const unsigned char kat2926_addinpr2[] = { + 0x9f, 0x72, 0x76, 0x6c, 0xc7, 0x46, 0xe5, 0xed, 0x2e, 0x53, 0x20, 0x12, + 0xbc, 0x59, 0x31, 0x8c, +}; +static const unsigned char kat2926_retbits[] = { + 0x5a, 0x35, 0x39, 0x87, 0x0f, 0x4d, 0x22, 0xa4, 0x09, 0x24, 0xee, 0x71, + 0xc9, 0x6f, 0xac, 0x72, 0x0a, 0xd6, 0xf0, 0x88, 0x82, 0xd0, 0x83, 0x28, + 0x73, 0xec, 0x3f, 0x93, 0xd8, 0xab, 0x45, 0x23, 0xf0, 0x7e, 0xac, 0x45, + 0x14, 0x5e, 0x93, 0x9f, 0xb1, 0xd6, 0x76, 0x43, 0x3d, 0xb6, 0xe8, 0x08, + 0x88, 0xf6, 0xda, 0x89, 0x08, 0x77, 0x42, 0xfe, 0x1a, 0xf4, 0x3f, 0xc4, + 0x23, 0xc5, 0x1f, 0x68, +}; +static const struct drbg_kat_pr_true kat2926_t = { + 0, kat2926_entropyin, kat2926_nonce, kat2926_persstr, + kat2926_entropyinpr1, kat2926_addinpr1, kat2926_entropyinpr2, + kat2926_addinpr2, kat2926_retbits +}; +static const struct drbg_kat kat2926 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2926_t +}; + +static const unsigned char kat2927_entropyin[] = { + 0xd7, 0x98, 0xba, 0xda, 0x1e, 0xf8, 0xc5, 0x00, 0xc0, 0xb8, 0xab, 0x01, + 0x9d, 0x9e, 0xf4, 0xc4, +}; +static const unsigned char kat2927_nonce[] = { + 0x94, 0xa9, 0x5f, 0xab, 0x75, 0x19, 0x75, 0x1e, +}; +static const unsigned char kat2927_persstr[] = { + 0x02, 0xdb, 0xf0, 0xd4, 0x25, 0x9d, 0x61, 0xd1, 0x3d, 0x02, 0xfd, 0xa3, + 0x8b, 0xa7, 0x08, 0x47, +}; +static const unsigned char kat2927_entropyinpr1[] = { + 0x43, 0xf6, 0x11, 0x98, 0x29, 0x9a, 0xed, 0xa5, 0x78, 0x44, 0xc6, 0x6a, + 0x06, 0xa3, 0x8d, 0xd5, +}; +static const unsigned char kat2927_addinpr1[] = { + 0x0e, 0x7c, 0x24, 0x7c, 0xa7, 0x04, 0xa4, 0xbe, 0x33, 0x68, 0x1b, 0xa2, + 0xe9, 0x25, 0xd8, 0x5f, +}; +static const unsigned char kat2927_entropyinpr2[] = { + 0x16, 0x1d, 0xda, 0xf0, 0x06, 0xc4, 0x8a, 0x7d, 0x2b, 0x57, 0xf6, 0x02, + 0x3a, 0x8b, 0x9c, 0x49, +}; +static const unsigned char kat2927_addinpr2[] = { + 0xf8, 0x99, 0x40, 0xb5, 0x44, 0xce, 0xcc, 0xf4, 0xb4, 0xd5, 0x20, 0xab, + 0x07, 0x13, 0x2e, 0xda, +}; +static const unsigned char kat2927_retbits[] = { + 0x2e, 0x9a, 0x75, 0xc3, 0xc6, 0x37, 0xc5, 0x7d, 0x8f, 0xdf, 0x66, 0x85, + 0xd5, 0xe3, 0x18, 0x97, 0x0d, 0x1e, 0xd0, 0x19, 0xf2, 0xd5, 0x1b, 0xdf, + 0x02, 0x42, 0xed, 0xe5, 0x58, 0x75, 0x11, 0xfd, 0xc0, 0x07, 0xfd, 0xe6, + 0x22, 0xe4, 0xa4, 0x7f, 0xb8, 0xab, 0x45, 0x84, 0xad, 0x26, 0xe4, 0x59, + 0x77, 0x6e, 0xab, 0x32, 0xa7, 0xc4, 0x85, 0x59, 0x8d, 0xc6, 0xc0, 0x30, + 0x43, 0x2f, 0xe1, 0xc5, +}; +static const struct drbg_kat_pr_true kat2927_t = { + 1, kat2927_entropyin, kat2927_nonce, kat2927_persstr, + kat2927_entropyinpr1, kat2927_addinpr1, kat2927_entropyinpr2, + kat2927_addinpr2, kat2927_retbits +}; +static const struct drbg_kat kat2927 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2927_t +}; + +static const unsigned char kat2928_entropyin[] = { + 0xbf, 0xc1, 0x0a, 0x9b, 0x7f, 0x1c, 0xe1, 0xcd, 0x72, 0x9f, 0x28, 0x50, + 0x5a, 0x3f, 0x6e, 0xf7, +}; +static const unsigned char kat2928_nonce[] = { + 0x2b, 0xaa, 0xd6, 0xb7, 0xb4, 0xb8, 0xae, 0xec, +}; +static const unsigned char kat2928_persstr[] = { + 0xfe, 0xbb, 0x0d, 0x7c, 0x74, 0xb2, 0x06, 0xba, 0xc7, 0xc8, 0xd2, 0x4f, + 0x29, 0x67, 0x1c, 0xf8, +}; +static const unsigned char kat2928_entropyinpr1[] = { + 0x91, 0x7f, 0xa1, 0xf6, 0xef, 0x83, 0x1f, 0x6c, 0x42, 0x5f, 0x95, 0xb0, + 0xed, 0x98, 0xe3, 0x56, +}; +static const unsigned char kat2928_addinpr1[] = { + 0x6d, 0x49, 0x7d, 0x06, 0x54, 0x30, 0xf1, 0x27, 0x14, 0xb2, 0xe0, 0xec, + 0x7e, 0xa5, 0x38, 0x70, +}; +static const unsigned char kat2928_entropyinpr2[] = { + 0x51, 0xcd, 0x65, 0xbd, 0x38, 0x1b, 0x24, 0x66, 0x32, 0x5a, 0x76, 0xc3, + 0x26, 0x34, 0x53, 0xcf, +}; +static const unsigned char kat2928_addinpr2[] = { + 0x46, 0xf4, 0xee, 0x11, 0x7e, 0xc6, 0x87, 0xa1, 0x19, 0x79, 0xe1, 0xee, + 0xf1, 0xb1, 0x44, 0xea, +}; +static const unsigned char kat2928_retbits[] = { + 0xa4, 0x00, 0x90, 0xe5, 0x85, 0x8a, 0x36, 0xfa, 0xed, 0x24, 0xbf, 0x97, + 0x42, 0x8f, 0x47, 0x52, 0x9b, 0x56, 0xe9, 0x47, 0xdc, 0xb6, 0x8d, 0xe9, + 0x8d, 0x48, 0xa0, 0xe3, 0x50, 0x8c, 0xbe, 0x13, 0x67, 0xd9, 0x7d, 0x3c, + 0x91, 0xd4, 0x92, 0x23, 0xe5, 0x7d, 0x1d, 0x2e, 0x95, 0x84, 0x89, 0x1c, + 0x76, 0xed, 0xae, 0x83, 0x79, 0x0a, 0xdd, 0xa6, 0x3c, 0x0f, 0x9f, 0x8f, + 0x3d, 0xb5, 0xd6, 0x1e, +}; +static const struct drbg_kat_pr_true kat2928_t = { + 2, kat2928_entropyin, kat2928_nonce, kat2928_persstr, + kat2928_entropyinpr1, kat2928_addinpr1, kat2928_entropyinpr2, + kat2928_addinpr2, kat2928_retbits +}; +static const struct drbg_kat kat2928 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2928_t +}; + +static const unsigned char kat2929_entropyin[] = { + 0x3e, 0xbc, 0xed, 0xe0, 0x8f, 0x00, 0x7d, 0xb7, 0x58, 0x3f, 0xbe, 0x3d, + 0xf9, 0x62, 0x1b, 0x5c, +}; +static const unsigned char kat2929_nonce[] = { + 0x99, 0xda, 0xf9, 0xd8, 0x75, 0x67, 0x13, 0x0b, +}; +static const unsigned char kat2929_persstr[] = { + 0x00, 0xb2, 0xd9, 0xd8, 0x0e, 0x93, 0xf1, 0xdf, 0x46, 0x46, 0x58, 0x2b, + 0x5c, 0x4f, 0xec, 0x6e, +}; +static const unsigned char kat2929_entropyinpr1[] = { + 0xc5, 0xfd, 0x08, 0x1b, 0xdd, 0xb9, 0x00, 0x64, 0x25, 0xea, 0xfc, 0xa4, + 0xb4, 0x58, 0xc9, 0xb5, +}; +static const unsigned char kat2929_addinpr1[] = { + 0x31, 0x81, 0xbb, 0x37, 0xdd, 0xef, 0xdf, 0xe6, 0x0f, 0x4c, 0x1c, 0xbf, + 0x4e, 0xfa, 0xfa, 0x81, +}; +static const unsigned char kat2929_entropyinpr2[] = { + 0x14, 0xae, 0x7a, 0x97, 0xa0, 0x68, 0xfe, 0x4c, 0xb2, 0xcb, 0x2d, 0xf0, + 0x31, 0x71, 0xcb, 0x6c, +}; +static const unsigned char kat2929_addinpr2[] = { + 0x06, 0xc5, 0xcb, 0xb3, 0x1b, 0xb4, 0xbc, 0xbc, 0xa6, 0x45, 0x1d, 0x1c, + 0xd0, 0xf3, 0x7c, 0x2e, +}; +static const unsigned char kat2929_retbits[] = { + 0xda, 0x93, 0xe6, 0xb8, 0x5d, 0xa8, 0x70, 0xd3, 0x47, 0xba, 0x80, 0xcd, + 0x3a, 0x71, 0x2e, 0xec, 0x9c, 0xa2, 0xed, 0xfc, 0x4e, 0xa3, 0x44, 0x4d, + 0x43, 0x6d, 0x82, 0x67, 0x7d, 0x5e, 0xa3, 0x5b, 0x6f, 0x41, 0x28, 0x35, + 0x2b, 0xbc, 0x85, 0x59, 0x9d, 0x12, 0x1b, 0xc4, 0xfd, 0xe6, 0xd0, 0x73, + 0x09, 0xa8, 0x04, 0x09, 0x89, 0xc0, 0xbf, 0x52, 0xbe, 0x39, 0x05, 0xb3, + 0x38, 0x70, 0x80, 0x51, +}; +static const struct drbg_kat_pr_true kat2929_t = { + 3, kat2929_entropyin, kat2929_nonce, kat2929_persstr, + kat2929_entropyinpr1, kat2929_addinpr1, kat2929_entropyinpr2, + kat2929_addinpr2, kat2929_retbits +}; +static const struct drbg_kat kat2929 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2929_t +}; + +static const unsigned char kat2930_entropyin[] = { + 0xb8, 0x37, 0xc0, 0x34, 0x01, 0xdf, 0x5e, 0xda, 0x47, 0xbc, 0x00, 0x4e, + 0xc7, 0xf5, 0x52, 0x94, +}; +static const unsigned char kat2930_nonce[] = { + 0xc0, 0x96, 0x98, 0xc3, 0x84, 0x2e, 0x88, 0xe2, +}; +static const unsigned char kat2930_persstr[] = { + 0x85, 0x5b, 0x6a, 0x93, 0xe7, 0xa7, 0x56, 0xe5, 0x0d, 0x2a, 0x84, 0xb2, + 0x2d, 0x79, 0xe4, 0xa6, +}; +static const unsigned char kat2930_entropyinpr1[] = { + 0xb3, 0x0d, 0xe7, 0xab, 0x1b, 0x17, 0x63, 0x69, 0xc6, 0x8e, 0x6a, 0x82, + 0x51, 0x6c, 0x6d, 0xe2, +}; +static const unsigned char kat2930_addinpr1[] = { + 0x71, 0xfe, 0xc9, 0x38, 0xfa, 0x84, 0x6d, 0x48, 0x93, 0x21, 0x1c, 0xd5, + 0x24, 0x79, 0x05, 0x5a, +}; +static const unsigned char kat2930_entropyinpr2[] = { + 0x54, 0x82, 0x37, 0x0c, 0x31, 0xde, 0xdb, 0x1a, 0x20, 0x05, 0x00, 0xeb, + 0xaf, 0x10, 0x38, 0x05, +}; +static const unsigned char kat2930_addinpr2[] = { + 0xba, 0x15, 0x1a, 0xbb, 0xe0, 0xc0, 0x19, 0x67, 0x71, 0xf1, 0x27, 0xb3, + 0xeb, 0xec, 0x43, 0x4d, +}; +static const unsigned char kat2930_retbits[] = { + 0x1c, 0x6f, 0x5f, 0xbd, 0xec, 0x55, 0x2d, 0xa3, 0xc7, 0xc9, 0x8a, 0x98, + 0xe2, 0x06, 0x8e, 0x99, 0x15, 0x07, 0xa8, 0x7d, 0x33, 0xa8, 0x3d, 0x7b, + 0x2b, 0xfc, 0x82, 0xac, 0xb3, 0x11, 0x28, 0x4c, 0xab, 0xdc, 0x87, 0xf4, + 0xe0, 0xf1, 0x9e, 0x2d, 0xef, 0x7d, 0x9c, 0xbe, 0x93, 0x5a, 0x97, 0x68, + 0xec, 0xb9, 0x8b, 0x32, 0x2c, 0x25, 0x6a, 0x14, 0x36, 0xe4, 0xd4, 0x19, + 0xeb, 0xea, 0x25, 0x90, +}; +static const struct drbg_kat_pr_true kat2930_t = { + 4, kat2930_entropyin, kat2930_nonce, kat2930_persstr, + kat2930_entropyinpr1, kat2930_addinpr1, kat2930_entropyinpr2, + kat2930_addinpr2, kat2930_retbits +}; +static const struct drbg_kat kat2930 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2930_t +}; + +static const unsigned char kat2931_entropyin[] = { + 0x97, 0x40, 0x23, 0x07, 0x30, 0x5f, 0xa9, 0x5c, 0x74, 0x2c, 0x4c, 0x73, + 0x93, 0xc7, 0x0c, 0x4e, +}; +static const unsigned char kat2931_nonce[] = { + 0x9e, 0x46, 0x08, 0x0e, 0x8a, 0xc6, 0x22, 0x0f, +}; +static const unsigned char kat2931_persstr[] = { + 0x1c, 0x11, 0x5b, 0xbc, 0x23, 0xe9, 0xe6, 0xf4, 0xe4, 0xd6, 0xc3, 0x4b, + 0xdd, 0xc1, 0x84, 0xfa, +}; +static const unsigned char kat2931_entropyinpr1[] = { + 0x02, 0x9d, 0x2c, 0xc1, 0x45, 0xbd, 0x93, 0xa5, 0x46, 0xe6, 0x3f, 0xc2, + 0x07, 0xad, 0xc5, 0x69, +}; +static const unsigned char kat2931_addinpr1[] = { + 0x0a, 0x3e, 0x01, 0xdc, 0x20, 0xfd, 0x04, 0xcc, 0x3d, 0xd4, 0xe5, 0x71, + 0x47, 0xcd, 0x28, 0x39, +}; +static const unsigned char kat2931_entropyinpr2[] = { + 0x0a, 0x2f, 0xc0, 0x5a, 0xb0, 0xea, 0x87, 0x56, 0xbb, 0x30, 0x8c, 0xfb, + 0x62, 0xc5, 0x6f, 0x11, +}; +static const unsigned char kat2931_addinpr2[] = { + 0x62, 0x3e, 0x7b, 0x7d, 0x01, 0xf8, 0x63, 0x40, 0x83, 0xa1, 0xa3, 0xac, + 0xb4, 0x12, 0xef, 0x36, +}; +static const unsigned char kat2931_retbits[] = { + 0xcf, 0xbf, 0x8a, 0x5d, 0xfd, 0xce, 0x0e, 0x29, 0x68, 0x5c, 0xc9, 0x51, + 0xad, 0x9b, 0x84, 0xbe, 0xbe, 0x6e, 0xff, 0x31, 0xb9, 0xce, 0xeb, 0xf1, + 0x8d, 0x17, 0x0d, 0x38, 0x22, 0x96, 0xf1, 0xaa, 0x65, 0x33, 0x24, 0x0f, + 0x6d, 0x5c, 0x7f, 0xeb, 0x7d, 0xdf, 0xc2, 0x63, 0x1d, 0xf5, 0xcc, 0xeb, + 0x58, 0x30, 0x06, 0xe5, 0x03, 0x5f, 0x21, 0xb9, 0x77, 0x7a, 0x0a, 0x8f, + 0xe5, 0x77, 0x59, 0x8b, +}; +static const struct drbg_kat_pr_true kat2931_t = { + 5, kat2931_entropyin, kat2931_nonce, kat2931_persstr, + kat2931_entropyinpr1, kat2931_addinpr1, kat2931_entropyinpr2, + kat2931_addinpr2, kat2931_retbits +}; +static const struct drbg_kat kat2931 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2931_t +}; + +static const unsigned char kat2932_entropyin[] = { + 0x79, 0x3c, 0xa4, 0x25, 0x3b, 0x56, 0x1a, 0x1e, 0xfe, 0x47, 0xae, 0xb9, + 0xcf, 0x04, 0xc7, 0x70, +}; +static const unsigned char kat2932_nonce[] = { + 0x2a, 0x34, 0x40, 0x43, 0xfb, 0xfd, 0x57, 0x21, +}; +static const unsigned char kat2932_persstr[] = { + 0x58, 0x8f, 0xd7, 0xcf, 0xcc, 0x02, 0x6e, 0x2b, 0x92, 0x12, 0xb4, 0xfb, + 0xa2, 0x1b, 0xe6, 0x2e, +}; +static const unsigned char kat2932_entropyinpr1[] = { + 0xe4, 0xe5, 0x79, 0x4c, 0xce, 0x72, 0x14, 0xe0, 0x30, 0x63, 0x4e, 0xec, + 0x14, 0x69, 0x0d, 0x2d, +}; +static const unsigned char kat2932_addinpr1[] = { + 0xf5, 0xd8, 0xdc, 0xd7, 0x62, 0x29, 0x63, 0xc1, 0xe8, 0xe1, 0x7d, 0xab, + 0xfa, 0xdc, 0x96, 0x56, +}; +static const unsigned char kat2932_entropyinpr2[] = { + 0x9f, 0xe6, 0xa7, 0xc0, 0xde, 0xbc, 0x3e, 0xe9, 0xec, 0x7b, 0x99, 0xf7, + 0xe4, 0xa7, 0x5e, 0x10, +}; +static const unsigned char kat2932_addinpr2[] = { + 0x81, 0x35, 0x32, 0xe1, 0x7d, 0xe6, 0x27, 0x57, 0xa5, 0x4c, 0x38, 0x17, + 0x86, 0xf0, 0xd7, 0xd1, +}; +static const unsigned char kat2932_retbits[] = { + 0x0c, 0xf1, 0xe8, 0x2c, 0xaa, 0x3f, 0x61, 0xee, 0xda, 0xeb, 0x97, 0xf8, + 0x49, 0xe1, 0x45, 0xa0, 0x28, 0x55, 0x60, 0x8e, 0x5b, 0x25, 0xfd, 0x29, + 0xf4, 0xe7, 0xa6, 0x41, 0xeb, 0x88, 0x7c, 0xa2, 0xcf, 0x11, 0xb1, 0x44, + 0xbc, 0x43, 0x20, 0xf2, 0x01, 0x6c, 0xdd, 0xda, 0x03, 0x8a, 0x5d, 0xb4, + 0xad, 0xb7, 0x70, 0xb1, 0x9d, 0xff, 0x0d, 0x2c, 0x5c, 0x4d, 0xb8, 0x87, + 0xce, 0x4b, 0x2a, 0xa6, +}; +static const struct drbg_kat_pr_true kat2932_t = { + 6, kat2932_entropyin, kat2932_nonce, kat2932_persstr, + kat2932_entropyinpr1, kat2932_addinpr1, kat2932_entropyinpr2, + kat2932_addinpr2, kat2932_retbits +}; +static const struct drbg_kat kat2932 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2932_t +}; + +static const unsigned char kat2933_entropyin[] = { + 0xd6, 0xfd, 0x7d, 0xfa, 0xbe, 0xc3, 0x2e, 0x0f, 0x4a, 0x03, 0x4d, 0x4e, + 0xdf, 0x98, 0xf4, 0xea, +}; +static const unsigned char kat2933_nonce[] = { + 0x5a, 0xe8, 0x7e, 0xd2, 0x44, 0x4c, 0xbb, 0x3c, +}; +static const unsigned char kat2933_persstr[] = { + 0x4e, 0x8c, 0xa8, 0xe9, 0x50, 0x72, 0x19, 0x9f, 0xd5, 0xe4, 0xa5, 0xe2, + 0x1d, 0x27, 0xfa, 0x16, +}; +static const unsigned char kat2933_entropyinpr1[] = { + 0xf0, 0x67, 0x7b, 0x3d, 0x14, 0x9a, 0x16, 0x8a, 0xa3, 0x7b, 0xf7, 0xf1, + 0xd9, 0x71, 0xb9, 0xb9, +}; +static const unsigned char kat2933_addinpr1[] = { + 0x41, 0xc2, 0xd5, 0x12, 0x54, 0xf3, 0xc3, 0x6d, 0x4b, 0xdb, 0x73, 0xbb, + 0x58, 0x58, 0x32, 0x88, +}; +static const unsigned char kat2933_entropyinpr2[] = { + 0xb3, 0x8a, 0xa0, 0x38, 0xe0, 0x8a, 0xf3, 0x62, 0x2f, 0x2b, 0x64, 0x9c, + 0xc0, 0x96, 0xbe, 0xb6, +}; +static const unsigned char kat2933_addinpr2[] = { + 0x24, 0xed, 0x03, 0x32, 0x2c, 0x8a, 0x88, 0x0c, 0x43, 0xa4, 0x18, 0xe0, + 0xcb, 0x01, 0x60, 0x3f, +}; +static const unsigned char kat2933_retbits[] = { + 0xcf, 0xa3, 0xaf, 0xd3, 0x4a, 0x95, 0xbd, 0x2c, 0x7a, 0x52, 0x86, 0x1c, + 0xb4, 0xa5, 0x87, 0x75, 0x05, 0xba, 0x62, 0x65, 0xf4, 0xe4, 0xea, 0xc9, + 0xce, 0x84, 0xc5, 0xa1, 0x91, 0xce, 0x61, 0x69, 0xa6, 0xaf, 0x5b, 0x17, + 0x49, 0x79, 0x71, 0x67, 0xe1, 0xb9, 0x09, 0x5b, 0x2b, 0xd2, 0x16, 0xc2, + 0xab, 0xfd, 0xb6, 0x04, 0x79, 0x78, 0xd6, 0xef, 0x59, 0x05, 0xe8, 0xa1, + 0x52, 0x71, 0x1c, 0x45, +}; +static const struct drbg_kat_pr_true kat2933_t = { + 7, kat2933_entropyin, kat2933_nonce, kat2933_persstr, + kat2933_entropyinpr1, kat2933_addinpr1, kat2933_entropyinpr2, + kat2933_addinpr2, kat2933_retbits +}; +static const struct drbg_kat kat2933 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2933_t +}; + +static const unsigned char kat2934_entropyin[] = { + 0x84, 0x89, 0xfb, 0xc6, 0xce, 0x65, 0xe2, 0x34, 0x48, 0x00, 0x30, 0x8d, + 0x71, 0xee, 0xa1, 0x1e, +}; +static const unsigned char kat2934_nonce[] = { + 0xc3, 0xda, 0xd8, 0x78, 0x9d, 0xe4, 0x36, 0xad, +}; +static const unsigned char kat2934_persstr[] = { + 0xce, 0x6e, 0xed, 0xf8, 0x29, 0xc5, 0x2b, 0xe3, 0x31, 0x2b, 0x1b, 0xcd, + 0x6d, 0x73, 0xe6, 0xce, +}; +static const unsigned char kat2934_entropyinpr1[] = { + 0x74, 0x02, 0x68, 0x14, 0x20, 0x55, 0x8e, 0x72, 0x0d, 0x14, 0xdc, 0xfa, + 0x55, 0x79, 0xc1, 0x92, +}; +static const unsigned char kat2934_addinpr1[] = { + 0x55, 0x06, 0x42, 0x96, 0x41, 0xa8, 0x13, 0x29, 0xa0, 0x45, 0xd7, 0x31, + 0x81, 0x08, 0xfe, 0x21, +}; +static const unsigned char kat2934_entropyinpr2[] = { + 0xf9, 0xc4, 0xdf, 0xac, 0x5a, 0x0d, 0xc1, 0x10, 0x0d, 0xe5, 0x12, 0x1f, + 0xb7, 0x15, 0x4e, 0x64, +}; +static const unsigned char kat2934_addinpr2[] = { + 0xc4, 0xd8, 0xda, 0x70, 0x5d, 0x11, 0x4b, 0x39, 0x15, 0x3d, 0xf8, 0x0e, + 0xcc, 0x47, 0xf9, 0x14, +}; +static const unsigned char kat2934_retbits[] = { + 0x53, 0xc4, 0x7c, 0xc3, 0x67, 0x18, 0x6a, 0x97, 0x57, 0x4b, 0xfb, 0xc6, + 0xa4, 0x20, 0xfc, 0xb8, 0x77, 0x5f, 0xa6, 0x27, 0x6e, 0x57, 0x31, 0x7e, + 0x87, 0x3f, 0x8b, 0x21, 0xac, 0x35, 0x02, 0xb2, 0xbe, 0x7a, 0x88, 0x28, + 0x8d, 0x6f, 0x47, 0xae, 0xbb, 0xe6, 0xce, 0xba, 0x89, 0xb0, 0xcd, 0xf5, + 0x4d, 0x74, 0x08, 0xf7, 0x0d, 0xa5, 0xb6, 0x49, 0x33, 0x8c, 0x6c, 0x18, + 0x8c, 0xa5, 0xe4, 0xe1, +}; +static const struct drbg_kat_pr_true kat2934_t = { + 8, kat2934_entropyin, kat2934_nonce, kat2934_persstr, + kat2934_entropyinpr1, kat2934_addinpr1, kat2934_entropyinpr2, + kat2934_addinpr2, kat2934_retbits +}; +static const struct drbg_kat kat2934 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2934_t +}; + +static const unsigned char kat2935_entropyin[] = { + 0xf2, 0xc5, 0x10, 0x40, 0x48, 0x38, 0x16, 0x37, 0xb0, 0x4d, 0x7d, 0xb6, + 0x79, 0x1c, 0xf4, 0x65, +}; +static const unsigned char kat2935_nonce[] = { + 0xd1, 0xf5, 0x74, 0x24, 0x91, 0x84, 0x4e, 0x0d, +}; +static const unsigned char kat2935_persstr[] = { + 0xa7, 0x5c, 0xbd, 0xb4, 0xa3, 0xe4, 0xf8, 0x0b, 0x12, 0x71, 0xb6, 0xb1, + 0x83, 0xa3, 0x22, 0x25, +}; +static const unsigned char kat2935_entropyinpr1[] = { + 0x49, 0xed, 0x0c, 0x1b, 0x03, 0x94, 0x25, 0xab, 0x7c, 0xf4, 0xd5, 0x4f, + 0xf0, 0xa4, 0xfc, 0x2f, +}; +static const unsigned char kat2935_addinpr1[] = { + 0xe2, 0xb6, 0x67, 0x05, 0xce, 0x58, 0x33, 0xb5, 0x7d, 0x0f, 0xec, 0x8b, + 0x31, 0x6e, 0x26, 0x8c, +}; +static const unsigned char kat2935_entropyinpr2[] = { + 0x87, 0x66, 0xc2, 0x8f, 0xb8, 0x69, 0x24, 0x58, 0x5d, 0xa5, 0xd0, 0xa3, + 0x9d, 0xa6, 0x82, 0x4e, +}; +static const unsigned char kat2935_addinpr2[] = { + 0xa6, 0xe7, 0x05, 0x70, 0x79, 0x36, 0xb4, 0x3f, 0x4c, 0xdb, 0x2b, 0x66, + 0x13, 0xb6, 0x67, 0x82, +}; +static const unsigned char kat2935_retbits[] = { + 0x24, 0xd4, 0x87, 0xd2, 0x5b, 0x16, 0x80, 0x45, 0xcd, 0x4d, 0x16, 0x16, + 0xd6, 0xed, 0xef, 0x64, 0x93, 0x56, 0x09, 0x15, 0xa7, 0xf2, 0x8c, 0x77, + 0x25, 0x28, 0x82, 0x87, 0xa1, 0xef, 0xb8, 0xa2, 0x98, 0xf1, 0xc5, 0x6d, + 0x7f, 0x15, 0xa6, 0x09, 0xd7, 0xc1, 0xb3, 0x83, 0xe6, 0xf0, 0x0b, 0xb0, + 0xf1, 0x0f, 0xa9, 0x5b, 0xc4, 0xd9, 0xd8, 0x4c, 0x14, 0x07, 0x09, 0xd2, + 0xf2, 0xbf, 0x28, 0x52, +}; +static const struct drbg_kat_pr_true kat2935_t = { + 9, kat2935_entropyin, kat2935_nonce, kat2935_persstr, + kat2935_entropyinpr1, kat2935_addinpr1, kat2935_entropyinpr2, + kat2935_addinpr2, kat2935_retbits +}; +static const struct drbg_kat kat2935 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2935_t +}; + +static const unsigned char kat2936_entropyin[] = { + 0xb9, 0xc9, 0x43, 0x58, 0x3a, 0xac, 0x7c, 0xf5, 0x60, 0x3f, 0xd5, 0x51, + 0xe3, 0x95, 0x67, 0x5a, +}; +static const unsigned char kat2936_nonce[] = { + 0x05, 0x89, 0x6f, 0x44, 0x8f, 0xc7, 0x46, 0x6d, +}; +static const unsigned char kat2936_persstr[] = { + 0x8f, 0xe1, 0x7f, 0x91, 0xa5, 0x3c, 0x3e, 0x4f, 0xce, 0x93, 0xcb, 0xf9, + 0x9a, 0x94, 0xf5, 0x70, +}; +static const unsigned char kat2936_entropyinpr1[] = { + 0xe8, 0xa3, 0xbb, 0xc5, 0xfa, 0x85, 0x94, 0x5d, 0x42, 0xa6, 0xe2, 0x9d, + 0x67, 0x0a, 0xf7, 0xe5, +}; +static const unsigned char kat2936_addinpr1[] = { + 0x74, 0x63, 0x79, 0xe0, 0xce, 0xe0, 0x2b, 0xd1, 0xc0, 0x93, 0x78, 0x9d, + 0xea, 0x8b, 0x95, 0x05, +}; +static const unsigned char kat2936_entropyinpr2[] = { + 0x7a, 0x17, 0x23, 0x53, 0x0a, 0xfa, 0x33, 0xf3, 0x0e, 0xc6, 0xf6, 0xf2, + 0xe7, 0x45, 0xa6, 0x59, +}; +static const unsigned char kat2936_addinpr2[] = { + 0xd5, 0x14, 0xc3, 0x9c, 0x34, 0xd2, 0x8a, 0x48, 0xf2, 0x64, 0x3f, 0xc0, + 0x4d, 0xfe, 0x6c, 0xff, +}; +static const unsigned char kat2936_retbits[] = { + 0xf6, 0x69, 0x34, 0xeb, 0x5a, 0x86, 0x52, 0xa4, 0x4f, 0x65, 0x0e, 0xf8, + 0xd0, 0xc1, 0x16, 0x76, 0xa8, 0x02, 0x50, 0xc9, 0xaf, 0xc8, 0xa0, 0xa8, + 0xea, 0xfb, 0x88, 0xbb, 0xa9, 0x37, 0x65, 0xce, 0xb3, 0xd7, 0x1f, 0xc6, + 0xc4, 0x00, 0xde, 0x14, 0xa2, 0xe6, 0xee, 0x8e, 0x99, 0x20, 0xe1, 0xce, + 0x4a, 0xfc, 0x19, 0xbb, 0xa3, 0xaf, 0xdf, 0x46, 0x21, 0x0d, 0xae, 0x73, + 0xa7, 0x06, 0x42, 0xc6, +}; +static const struct drbg_kat_pr_true kat2936_t = { + 10, kat2936_entropyin, kat2936_nonce, kat2936_persstr, + kat2936_entropyinpr1, kat2936_addinpr1, kat2936_entropyinpr2, + kat2936_addinpr2, kat2936_retbits +}; +static const struct drbg_kat kat2936 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2936_t +}; + +static const unsigned char kat2937_entropyin[] = { + 0x42, 0xec, 0x11, 0x52, 0x2a, 0x7b, 0xcb, 0x36, 0x91, 0x77, 0x34, 0xf9, + 0x02, 0x01, 0xe9, 0xe7, +}; +static const unsigned char kat2937_nonce[] = { + 0x57, 0x1b, 0xb2, 0x0d, 0xc9, 0xeb, 0xd2, 0xdf, +}; +static const unsigned char kat2937_persstr[] = { + 0x36, 0x10, 0xa7, 0xd5, 0xa5, 0x77, 0x2b, 0x33, 0x78, 0x8e, 0x24, 0xbb, + 0x32, 0xec, 0x1b, 0x9c, +}; +static const unsigned char kat2937_entropyinpr1[] = { + 0xba, 0x13, 0xd5, 0x08, 0xda, 0x95, 0xd9, 0x81, 0x2d, 0xbe, 0x03, 0x31, + 0xba, 0x7a, 0xf7, 0x05, +}; +static const unsigned char kat2937_addinpr1[] = { + 0xd5, 0x6e, 0x9d, 0x8f, 0xad, 0xc1, 0x8b, 0x16, 0x30, 0x87, 0x69, 0xef, + 0x68, 0x6a, 0xbd, 0x8a, +}; +static const unsigned char kat2937_entropyinpr2[] = { + 0x69, 0x5c, 0xd3, 0xa5, 0xdd, 0x18, 0x96, 0x43, 0x4a, 0xc5, 0xbc, 0xa8, + 0xbc, 0x2a, 0x0b, 0xbf, +}; +static const unsigned char kat2937_addinpr2[] = { + 0x1e, 0xd7, 0x50, 0x6e, 0xa1, 0x36, 0xda, 0x45, 0x64, 0x9f, 0xb8, 0xc8, + 0xcc, 0x39, 0x28, 0xd6, +}; +static const unsigned char kat2937_retbits[] = { + 0x50, 0xee, 0x3e, 0x35, 0xfe, 0x18, 0x23, 0x22, 0x59, 0x71, 0x46, 0xbd, + 0x8b, 0xb4, 0x84, 0xe5, 0xdc, 0xc0, 0xd2, 0x06, 0x32, 0x7a, 0x65, 0x32, + 0xdf, 0x40, 0x02, 0xfa, 0xb0, 0xe6, 0x3e, 0x37, 0x99, 0x27, 0x79, 0x76, + 0xca, 0x71, 0x8b, 0xd0, 0x2e, 0x7a, 0x81, 0x5f, 0xb6, 0x4f, 0x19, 0xa3, + 0x84, 0x4c, 0x3e, 0x0d, 0x09, 0x10, 0x35, 0xc7, 0xfc, 0x08, 0x9b, 0x85, + 0x1e, 0x14, 0x20, 0x0e, +}; +static const struct drbg_kat_pr_true kat2937_t = { + 11, kat2937_entropyin, kat2937_nonce, kat2937_persstr, + kat2937_entropyinpr1, kat2937_addinpr1, kat2937_entropyinpr2, + kat2937_addinpr2, kat2937_retbits +}; +static const struct drbg_kat kat2937 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2937_t +}; + +static const unsigned char kat2938_entropyin[] = { + 0xd7, 0xfa, 0x8b, 0xef, 0x68, 0x1e, 0x5a, 0xeb, 0xc6, 0x0c, 0x11, 0xf9, + 0xd2, 0x69, 0x8c, 0x9d, +}; +static const unsigned char kat2938_nonce[] = { + 0xef, 0xa0, 0x1a, 0xcd, 0xf0, 0xfc, 0xfa, 0x2a, +}; +static const unsigned char kat2938_persstr[] = { + 0x13, 0x0c, 0x39, 0x7b, 0x6b, 0x53, 0x26, 0x84, 0xbb, 0xd4, 0x20, 0xb0, + 0xee, 0x3d, 0xc9, 0x13, +}; +static const unsigned char kat2938_entropyinpr1[] = { + 0x04, 0x2d, 0x40, 0x1c, 0xff, 0xd7, 0x3c, 0x96, 0xe3, 0xdd, 0x75, 0x90, + 0x45, 0x23, 0x08, 0x77, +}; +static const unsigned char kat2938_addinpr1[] = { + 0x81, 0xed, 0xbd, 0x6b, 0xa4, 0x1d, 0x76, 0x94, 0x72, 0xf9, 0x10, 0x6c, + 0xd4, 0xea, 0x1a, 0x00, +}; +static const unsigned char kat2938_entropyinpr2[] = { + 0x3c, 0xb0, 0x20, 0x52, 0x39, 0x5d, 0xd4, 0x05, 0x78, 0x71, 0x36, 0x86, + 0x97, 0x1f, 0x3a, 0x0e, +}; +static const unsigned char kat2938_addinpr2[] = { + 0xe3, 0x5f, 0xa9, 0x18, 0x9b, 0x83, 0x59, 0x2e, 0xaf, 0xa0, 0x59, 0x93, + 0x47, 0x78, 0x92, 0xe9, +}; +static const unsigned char kat2938_retbits[] = { + 0x80, 0xc7, 0xc3, 0x91, 0xfe, 0x17, 0x07, 0x80, 0xda, 0xbb, 0x3e, 0xff, + 0x1c, 0x58, 0x51, 0x0c, 0x4a, 0xd5, 0x1f, 0xe6, 0x53, 0xa5, 0x24, 0xc6, + 0x60, 0x05, 0x3d, 0x79, 0xb7, 0xc4, 0x36, 0xa3, 0x9f, 0x5f, 0xfb, 0x39, + 0x5b, 0xf1, 0x45, 0x52, 0x4b, 0x67, 0x77, 0xa8, 0x05, 0xea, 0x55, 0xd0, + 0x57, 0xd6, 0x78, 0x64, 0x4d, 0x3a, 0xb8, 0xc1, 0xbd, 0xef, 0xa8, 0x82, + 0xb0, 0x28, 0x92, 0x2f, +}; +static const struct drbg_kat_pr_true kat2938_t = { + 12, kat2938_entropyin, kat2938_nonce, kat2938_persstr, + kat2938_entropyinpr1, kat2938_addinpr1, kat2938_entropyinpr2, + kat2938_addinpr2, kat2938_retbits +}; +static const struct drbg_kat kat2938 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2938_t +}; + +static const unsigned char kat2939_entropyin[] = { + 0xe0, 0xb6, 0xfd, 0x09, 0xb0, 0xd6, 0x28, 0x25, 0xa4, 0x50, 0x8a, 0x64, + 0x47, 0x03, 0x58, 0xd7, +}; +static const unsigned char kat2939_nonce[] = { + 0x82, 0xba, 0x18, 0xb2, 0x81, 0x61, 0xe8, 0xf2, +}; +static const unsigned char kat2939_persstr[] = { + 0x89, 0x12, 0x7e, 0xce, 0xcf, 0xb4, 0x31, 0x75, 0xed, 0x8c, 0x34, 0x07, + 0xc2, 0x45, 0x65, 0xb1, +}; +static const unsigned char kat2939_entropyinpr1[] = { + 0x9c, 0xbc, 0x7f, 0xbe, 0x7a, 0xa1, 0xe4, 0x06, 0xd1, 0x3a, 0x73, 0x65, + 0xfb, 0x6a, 0xcb, 0x2e, +}; +static const unsigned char kat2939_addinpr1[] = { + 0xac, 0xe8, 0xe6, 0x4b, 0x3f, 0xcc, 0x68, 0x4b, 0x40, 0x47, 0x12, 0x19, + 0x3b, 0x12, 0xdd, 0xb2, +}; +static const unsigned char kat2939_entropyinpr2[] = { + 0xce, 0xa2, 0xe7, 0x8c, 0x5a, 0xd1, 0x7c, 0x21, 0x5a, 0xf5, 0x2c, 0x88, + 0xdd, 0xf3, 0xe1, 0xc1, +}; +static const unsigned char kat2939_addinpr2[] = { + 0x8c, 0x71, 0x17, 0x6b, 0xb6, 0x18, 0x52, 0x9d, 0xaf, 0xce, 0x7d, 0xeb, + 0xe7, 0x5d, 0x2c, 0x50, +}; +static const unsigned char kat2939_retbits[] = { + 0x0a, 0xd6, 0x1a, 0xf4, 0x15, 0xf0, 0x85, 0xae, 0xb2, 0xa6, 0x02, 0xdf, + 0x71, 0xbb, 0x16, 0xd9, 0xa4, 0x71, 0x4f, 0xa0, 0xd2, 0xe8, 0x06, 0xd0, + 0xec, 0x79, 0xdf, 0x0b, 0xac, 0xc5, 0xb4, 0xd7, 0xad, 0xbc, 0x78, 0xeb, + 0x8c, 0xf1, 0x35, 0x2b, 0xa4, 0xa8, 0xc7, 0xef, 0x29, 0x3b, 0x32, 0x1d, + 0x61, 0x0b, 0x34, 0xf7, 0x00, 0xcf, 0x43, 0x42, 0x2e, 0x2f, 0x61, 0x84, + 0x81, 0x61, 0x3f, 0xfb, +}; +static const struct drbg_kat_pr_true kat2939_t = { + 13, kat2939_entropyin, kat2939_nonce, kat2939_persstr, + kat2939_entropyinpr1, kat2939_addinpr1, kat2939_entropyinpr2, + kat2939_addinpr2, kat2939_retbits +}; +static const struct drbg_kat kat2939 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2939_t +}; + +static const unsigned char kat2940_entropyin[] = { + 0x8d, 0x53, 0xf0, 0xc2, 0xd6, 0x75, 0x55, 0x8b, 0xa8, 0x78, 0xb4, 0x69, + 0xc3, 0xce, 0x18, 0x6f, +}; +static const unsigned char kat2940_nonce[] = { + 0xf5, 0x88, 0xbf, 0xb8, 0x64, 0x95, 0xa5, 0xd1, +}; +static const unsigned char kat2940_persstr[] = { + 0xb2, 0x93, 0xd5, 0x7c, 0xde, 0x9b, 0x4b, 0x29, 0x77, 0x40, 0xbd, 0x81, + 0xfa, 0xb7, 0xa3, 0x8f, +}; +static const unsigned char kat2940_entropyinpr1[] = { + 0x5f, 0x5e, 0x92, 0x38, 0x11, 0xd6, 0xf6, 0x0d, 0x65, 0x06, 0x93, 0xcc, + 0xb3, 0x86, 0x21, 0x0d, +}; +static const unsigned char kat2940_addinpr1[] = { + 0x85, 0xae, 0x16, 0xbb, 0x0e, 0x44, 0x7a, 0xd6, 0xd1, 0x40, 0x32, 0x37, + 0x6e, 0xf4, 0x2c, 0x74, +}; +static const unsigned char kat2940_entropyinpr2[] = { + 0xd6, 0xac, 0x26, 0x45, 0x11, 0x58, 0x6e, 0x8e, 0xb4, 0x8f, 0x42, 0x87, + 0xa1, 0x2a, 0x36, 0x20, +}; +static const unsigned char kat2940_addinpr2[] = { + 0x8d, 0xb4, 0x2a, 0x45, 0xd6, 0xfe, 0xaf, 0xc0, 0x79, 0xae, 0xf7, 0x01, + 0x54, 0x1c, 0x27, 0xdd, +}; +static const unsigned char kat2940_retbits[] = { + 0x15, 0xb8, 0xe7, 0xe6, 0xa8, 0x0c, 0x0f, 0xbb, 0x23, 0xe7, 0x4f, 0x4b, + 0x70, 0xb8, 0xa1, 0xd6, 0xdc, 0x22, 0x47, 0x2b, 0x6c, 0x38, 0x94, 0x85, + 0xee, 0x25, 0x2e, 0xc2, 0xf2, 0x4d, 0x85, 0x6f, 0xd0, 0x79, 0xa7, 0x52, + 0xf4, 0x73, 0xc0, 0x50, 0x48, 0xc1, 0x2c, 0x74, 0x90, 0x80, 0x9c, 0x99, + 0x43, 0xe2, 0x1a, 0x74, 0x36, 0xe7, 0x56, 0xf4, 0x4c, 0x9d, 0x6d, 0x41, + 0xe1, 0xcc, 0x9c, 0xa9, +}; +static const struct drbg_kat_pr_true kat2940_t = { + 14, kat2940_entropyin, kat2940_nonce, kat2940_persstr, + kat2940_entropyinpr1, kat2940_addinpr1, kat2940_entropyinpr2, + kat2940_addinpr2, kat2940_retbits +}; +static const struct drbg_kat kat2940 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2940_t +}; + +static const unsigned char kat2941_entropyin[] = { + 0x20, 0x6e, 0x2b, 0x3b, 0xc5, 0x9f, 0xe3, 0xc1, 0x0b, 0xf9, 0xb8, 0x71, + 0xee, 0x21, 0xa2, 0x01, +}; +static const unsigned char kat2941_nonce[] = { + 0x76, 0x7b, 0x5f, 0x7d, 0xea, 0xc6, 0x2a, 0x6a, +}; +static const unsigned char kat2941_persstr[] = {0}; +static const unsigned char kat2941_entropyinpr1[] = { + 0x78, 0x9e, 0xe8, 0xab, 0x34, 0x3d, 0x47, 0x77, 0x8c, 0x85, 0x52, 0x6b, + 0x58, 0x8f, 0xc6, 0x9a, +}; +static const unsigned char kat2941_addinpr1[] = {0}; +static const unsigned char kat2941_entropyinpr2[] = { + 0x7b, 0x24, 0x9b, 0x36, 0x29, 0x5f, 0x64, 0x6b, 0x91, 0x1a, 0x9f, 0xf4, + 0x1f, 0x5f, 0xb6, 0x79, +}; +static const unsigned char kat2941_addinpr2[] = {0}; +static const unsigned char kat2941_retbits[] = { + 0xad, 0x2a, 0xd2, 0x81, 0x7b, 0xb0, 0xcd, 0xa5, 0xb6, 0x45, 0x72, 0x07, + 0x85, 0xc5, 0xb6, 0x74, 0x93, 0xca, 0xe2, 0x99, 0x19, 0xec, 0x7d, 0x84, + 0x54, 0x2d, 0x6b, 0x48, 0xe8, 0xad, 0xb8, 0x9c, 0x9d, 0x82, 0xd0, 0xe8, + 0x55, 0x94, 0xa3, 0x5b, 0xad, 0x9f, 0xda, 0x8b, 0x15, 0x78, 0x09, 0x57, + 0x4e, 0x74, 0xbf, 0x4b, 0x49, 0xf3, 0x86, 0x4c, 0x70, 0xd5, 0xd4, 0x9c, + 0x5a, 0x88, 0xcb, 0x17, +}; +static const struct drbg_kat_pr_true kat2941_t = { + 0, kat2941_entropyin, kat2941_nonce, kat2941_persstr, + kat2941_entropyinpr1, kat2941_addinpr1, kat2941_entropyinpr2, + kat2941_addinpr2, kat2941_retbits +}; +static const struct drbg_kat kat2941 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2941_t +}; + +static const unsigned char kat2942_entropyin[] = { + 0x62, 0xe7, 0x7e, 0x2f, 0x81, 0x75, 0x7d, 0x2a, 0xeb, 0xee, 0xd6, 0x13, + 0xa5, 0x73, 0xce, 0x6a, +}; +static const unsigned char kat2942_nonce[] = { + 0xe8, 0x8c, 0x08, 0x44, 0x82, 0x35, 0x97, 0xef, +}; +static const unsigned char kat2942_persstr[] = {0}; +static const unsigned char kat2942_entropyinpr1[] = { + 0x54, 0x56, 0xfc, 0x92, 0xb1, 0x5d, 0xbb, 0x26, 0x99, 0xe4, 0x37, 0xc0, + 0xe4, 0x90, 0x83, 0xe1, +}; +static const unsigned char kat2942_addinpr1[] = {0}; +static const unsigned char kat2942_entropyinpr2[] = { + 0x9f, 0xa1, 0x0b, 0x21, 0x21, 0x40, 0xb4, 0xef, 0x18, 0xee, 0xe4, 0x42, + 0x2c, 0x6f, 0x50, 0xe7, +}; +static const unsigned char kat2942_addinpr2[] = {0}; +static const unsigned char kat2942_retbits[] = { + 0x5c, 0x2e, 0xdf, 0xba, 0x23, 0x79, 0xdd, 0xaf, 0x2c, 0x14, 0x35, 0x27, + 0xe8, 0x52, 0x8e, 0xf5, 0x04, 0xee, 0x6e, 0x33, 0x91, 0x33, 0x75, 0x20, + 0xf8, 0x6d, 0xe2, 0xfb, 0x07, 0x7b, 0x71, 0xc7, 0xe0, 0x4a, 0x9b, 0x84, + 0xbe, 0x68, 0x49, 0x69, 0xed, 0x97, 0xac, 0xf3, 0xb5, 0x0a, 0x01, 0xa0, + 0x59, 0xd0, 0xa1, 0xe3, 0x4a, 0x58, 0x4b, 0xaa, 0x26, 0x0a, 0x07, 0x9a, + 0x6b, 0xd3, 0x31, 0xd2, +}; +static const struct drbg_kat_pr_true kat2942_t = { + 1, kat2942_entropyin, kat2942_nonce, kat2942_persstr, + kat2942_entropyinpr1, kat2942_addinpr1, kat2942_entropyinpr2, + kat2942_addinpr2, kat2942_retbits +}; +static const struct drbg_kat kat2942 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2942_t +}; + +static const unsigned char kat2943_entropyin[] = { + 0xc1, 0x9e, 0xc3, 0xec, 0x81, 0x86, 0xaf, 0x49, 0xe0, 0xa1, 0x1c, 0x24, + 0x5a, 0x95, 0x07, 0x4e, +}; +static const unsigned char kat2943_nonce[] = { + 0xcb, 0x8d, 0xd8, 0x9f, 0x52, 0xe9, 0x69, 0x1a, +}; +static const unsigned char kat2943_persstr[] = {0}; +static const unsigned char kat2943_entropyinpr1[] = { + 0xf3, 0xb4, 0xe3, 0x11, 0xf9, 0x0b, 0x1c, 0xe8, 0x17, 0x1c, 0x0f, 0xa6, + 0x86, 0x1e, 0xc7, 0xa6, +}; +static const unsigned char kat2943_addinpr1[] = {0}; +static const unsigned char kat2943_entropyinpr2[] = { + 0x5a, 0x39, 0x23, 0x1c, 0x9e, 0x0a, 0xe1, 0x03, 0xa6, 0xe3, 0x89, 0xe9, + 0x15, 0x44, 0xae, 0x05, +}; +static const unsigned char kat2943_addinpr2[] = {0}; +static const unsigned char kat2943_retbits[] = { + 0x9e, 0x66, 0x47, 0xab, 0x96, 0x2f, 0x11, 0xce, 0xec, 0x89, 0xe1, 0x88, + 0x30, 0xc9, 0xc2, 0x40, 0x48, 0x75, 0xbb, 0xc4, 0xdb, 0x50, 0x09, 0x34, + 0x61, 0xc9, 0x55, 0x69, 0x73, 0xce, 0xd0, 0x20, 0xd9, 0x57, 0x4a, 0x03, + 0x91, 0x46, 0x89, 0x6d, 0xf2, 0xaf, 0xc5, 0x36, 0x38, 0x90, 0x40, 0xe8, + 0x12, 0xab, 0x14, 0xa2, 0xdb, 0x2b, 0x3f, 0xf8, 0xfa, 0x28, 0xda, 0x75, + 0xc1, 0xd6, 0xcb, 0x04, +}; +static const struct drbg_kat_pr_true kat2943_t = { + 2, kat2943_entropyin, kat2943_nonce, kat2943_persstr, + kat2943_entropyinpr1, kat2943_addinpr1, kat2943_entropyinpr2, + kat2943_addinpr2, kat2943_retbits +}; +static const struct drbg_kat kat2943 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2943_t +}; + +static const unsigned char kat2944_entropyin[] = { + 0x04, 0x9b, 0x1d, 0x88, 0xcc, 0xe0, 0x6f, 0xe7, 0xe5, 0xd3, 0x15, 0x24, + 0xc2, 0xb2, 0x5a, 0xcd, +}; +static const unsigned char kat2944_nonce[] = { + 0xe9, 0x6e, 0x1e, 0x12, 0xd2, 0xaa, 0xec, 0xe0, +}; +static const unsigned char kat2944_persstr[] = {0}; +static const unsigned char kat2944_entropyinpr1[] = { + 0xc1, 0xc8, 0xc6, 0x9c, 0xd7, 0xc2, 0x8e, 0xbb, 0xdf, 0x81, 0x11, 0x0f, + 0xc3, 0xe5, 0x4a, 0x78, +}; +static const unsigned char kat2944_addinpr1[] = {0}; +static const unsigned char kat2944_entropyinpr2[] = { + 0x9b, 0xed, 0xc5, 0x92, 0x4a, 0x7e, 0xec, 0x9b, 0x60, 0xc5, 0x60, 0x64, + 0xaa, 0x51, 0x27, 0x89, +}; +static const unsigned char kat2944_addinpr2[] = {0}; +static const unsigned char kat2944_retbits[] = { + 0x95, 0x8f, 0x4e, 0xd1, 0x73, 0x26, 0xec, 0x30, 0xb8, 0x09, 0x15, 0x42, + 0xa2, 0x07, 0x18, 0x12, 0xd5, 0x51, 0x0a, 0x87, 0xe2, 0x86, 0x85, 0x80, + 0xb8, 0xbd, 0xc2, 0x22, 0xe1, 0xf6, 0xba, 0xce, 0xab, 0x77, 0x4b, 0xf9, + 0xa1, 0xd0, 0x15, 0x6b, 0x6a, 0x87, 0xb7, 0x95, 0xaf, 0x99, 0xb3, 0x43, + 0x04, 0x3f, 0x7e, 0xdf, 0xd9, 0xe5, 0x25, 0xe3, 0x60, 0x41, 0x73, 0x65, + 0xfe, 0x7b, 0x02, 0xa8, +}; +static const struct drbg_kat_pr_true kat2944_t = { + 3, kat2944_entropyin, kat2944_nonce, kat2944_persstr, + kat2944_entropyinpr1, kat2944_addinpr1, kat2944_entropyinpr2, + kat2944_addinpr2, kat2944_retbits +}; +static const struct drbg_kat kat2944 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2944_t +}; + +static const unsigned char kat2945_entropyin[] = { + 0x9f, 0x5f, 0x83, 0x2e, 0xf1, 0x5d, 0xfd, 0xc3, 0xb4, 0x13, 0x3c, 0x60, + 0x69, 0x6d, 0x46, 0x1f, +}; +static const unsigned char kat2945_nonce[] = { + 0x5e, 0x23, 0x33, 0x35, 0x18, 0xa2, 0xbf, 0x08, +}; +static const unsigned char kat2945_persstr[] = {0}; +static const unsigned char kat2945_entropyinpr1[] = { + 0xc2, 0x53, 0x37, 0xeb, 0xd9, 0xf7, 0x13, 0x28, 0xbe, 0x76, 0x87, 0x81, + 0xdc, 0xd1, 0x07, 0xb2, +}; +static const unsigned char kat2945_addinpr1[] = {0}; +static const unsigned char kat2945_entropyinpr2[] = { + 0x98, 0x39, 0x5a, 0xd8, 0x97, 0x06, 0xdb, 0xf5, 0x07, 0xa7, 0x0f, 0xc2, + 0xe8, 0x34, 0xc3, 0xd8, +}; +static const unsigned char kat2945_addinpr2[] = {0}; +static const unsigned char kat2945_retbits[] = { + 0xb9, 0x4a, 0x16, 0x22, 0x03, 0x9b, 0x23, 0xc3, 0xb5, 0x67, 0xce, 0x9d, + 0xd9, 0x8b, 0x20, 0xd4, 0xdd, 0x57, 0xb7, 0x35, 0x57, 0xa8, 0xac, 0xc5, + 0x29, 0x2a, 0x49, 0x8c, 0xb7, 0x1a, 0x46, 0xcb, 0x62, 0xe2, 0x6d, 0x7e, + 0xe6, 0x09, 0xf5, 0xd6, 0x68, 0x2a, 0xbf, 0x62, 0xdd, 0x54, 0x7f, 0x80, + 0xc2, 0x62, 0x6a, 0x8c, 0x79, 0xdf, 0x65, 0x9b, 0x18, 0x6a, 0xf0, 0x36, + 0x0b, 0xcb, 0xd8, 0xe6, +}; +static const struct drbg_kat_pr_true kat2945_t = { + 4, kat2945_entropyin, kat2945_nonce, kat2945_persstr, + kat2945_entropyinpr1, kat2945_addinpr1, kat2945_entropyinpr2, + kat2945_addinpr2, kat2945_retbits +}; +static const struct drbg_kat kat2945 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2945_t +}; + +static const unsigned char kat2946_entropyin[] = { + 0x1f, 0xb1, 0x24, 0x90, 0x1b, 0xee, 0xd5, 0xae, 0xd2, 0x22, 0x74, 0x09, + 0x40, 0x20, 0x6e, 0xa2, +}; +static const unsigned char kat2946_nonce[] = { + 0x87, 0x76, 0xc2, 0xc0, 0x7e, 0xa6, 0x0b, 0xa1, +}; +static const unsigned char kat2946_persstr[] = {0}; +static const unsigned char kat2946_entropyinpr1[] = { + 0xc1, 0x9f, 0x86, 0xb3, 0x4f, 0x11, 0x47, 0xd0, 0xf5, 0x70, 0x36, 0x36, + 0x64, 0x54, 0xeb, 0x78, +}; +static const unsigned char kat2946_addinpr1[] = {0}; +static const unsigned char kat2946_entropyinpr2[] = { + 0x43, 0x1a, 0x44, 0xa9, 0xba, 0x8c, 0x98, 0x21, 0xf7, 0xd2, 0x1f, 0x36, + 0x5e, 0xad, 0x8b, 0x3e, +}; +static const unsigned char kat2946_addinpr2[] = {0}; +static const unsigned char kat2946_retbits[] = { + 0x3f, 0x3b, 0xe1, 0xb0, 0xbf, 0xa2, 0x78, 0x7e, 0x62, 0x77, 0x9c, 0x3e, + 0x73, 0xe4, 0xd3, 0x49, 0xed, 0xdf, 0x1f, 0x2f, 0x8c, 0x01, 0xf7, 0x9f, + 0x0c, 0xdc, 0xe6, 0x1e, 0xa7, 0x85, 0xe2, 0x9a, 0xec, 0x57, 0x96, 0xfa, + 0x76, 0xb7, 0x9a, 0x21, 0xa2, 0x50, 0x88, 0xc2, 0x9e, 0x37, 0x6f, 0x6f, + 0x3a, 0xbe, 0xb8, 0xfd, 0xcf, 0x06, 0x69, 0x03, 0xe6, 0x2e, 0xf7, 0x87, + 0x98, 0x16, 0x92, 0x66, +}; +static const struct drbg_kat_pr_true kat2946_t = { + 5, kat2946_entropyin, kat2946_nonce, kat2946_persstr, + kat2946_entropyinpr1, kat2946_addinpr1, kat2946_entropyinpr2, + kat2946_addinpr2, kat2946_retbits +}; +static const struct drbg_kat kat2946 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2946_t +}; + +static const unsigned char kat2947_entropyin[] = { + 0xaf, 0x4f, 0x46, 0xb2, 0x9d, 0xc8, 0xae, 0xbf, 0x62, 0xc1, 0x6c, 0xec, + 0x52, 0x55, 0xaa, 0xe4, +}; +static const unsigned char kat2947_nonce[] = { + 0x7d, 0x46, 0x41, 0x4a, 0xc4, 0xa5, 0x6d, 0x06, +}; +static const unsigned char kat2947_persstr[] = {0}; +static const unsigned char kat2947_entropyinpr1[] = { + 0xdb, 0x09, 0xfb, 0x07, 0x9e, 0x2a, 0x1c, 0x56, 0x80, 0x59, 0x0b, 0xed, + 0x98, 0xbb, 0x20, 0xc9, +}; +static const unsigned char kat2947_addinpr1[] = {0}; +static const unsigned char kat2947_entropyinpr2[] = { + 0x60, 0x3c, 0x8e, 0x5b, 0x5f, 0x93, 0x1f, 0x4d, 0x46, 0xb6, 0x55, 0x6d, + 0xca, 0xfc, 0xaf, 0x95, +}; +static const unsigned char kat2947_addinpr2[] = {0}; +static const unsigned char kat2947_retbits[] = { + 0xc6, 0x83, 0x73, 0xf5, 0x88, 0xa2, 0xcf, 0xa6, 0xec, 0x48, 0x61, 0x6f, + 0x3a, 0x7c, 0xc6, 0x13, 0x0f, 0xb7, 0x66, 0xad, 0xa3, 0xf9, 0xbe, 0xf8, + 0x6b, 0x8c, 0xeb, 0xd2, 0x3c, 0xf6, 0x10, 0x1c, 0xad, 0x34, 0x04, 0x49, + 0x1c, 0x6c, 0x87, 0x41, 0xd8, 0x33, 0x31, 0x50, 0xcc, 0x5e, 0x81, 0x31, + 0x92, 0x86, 0x4b, 0xfa, 0x51, 0xdb, 0x5f, 0x17, 0xc4, 0x6c, 0xac, 0xb7, + 0x60, 0x64, 0x1a, 0x7e, +}; +static const struct drbg_kat_pr_true kat2947_t = { + 6, kat2947_entropyin, kat2947_nonce, kat2947_persstr, + kat2947_entropyinpr1, kat2947_addinpr1, kat2947_entropyinpr2, + kat2947_addinpr2, kat2947_retbits +}; +static const struct drbg_kat kat2947 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2947_t +}; + +static const unsigned char kat2948_entropyin[] = { + 0x5e, 0x75, 0x31, 0xa2, 0x70, 0xb9, 0xad, 0xf1, 0x5b, 0x3d, 0x47, 0x20, + 0xa9, 0x2c, 0xec, 0x2a, +}; +static const unsigned char kat2948_nonce[] = { + 0x97, 0xc0, 0x50, 0x95, 0xac, 0xa0, 0x03, 0xa9, +}; +static const unsigned char kat2948_persstr[] = {0}; +static const unsigned char kat2948_entropyinpr1[] = { + 0x79, 0xa0, 0x7c, 0x70, 0x46, 0x6c, 0x2a, 0xd7, 0x85, 0x6d, 0xb1, 0x26, + 0x8f, 0x29, 0x47, 0xef, +}; +static const unsigned char kat2948_addinpr1[] = {0}; +static const unsigned char kat2948_entropyinpr2[] = { + 0x05, 0x89, 0x85, 0xcf, 0x11, 0x59, 0x85, 0x49, 0x51, 0x31, 0xcc, 0x4b, + 0x50, 0x7f, 0x1d, 0x28, +}; +static const unsigned char kat2948_addinpr2[] = {0}; +static const unsigned char kat2948_retbits[] = { + 0x96, 0x05, 0x31, 0x22, 0x6c, 0xdd, 0xd1, 0xd2, 0x98, 0xdd, 0xb4, 0x10, + 0x60, 0x80, 0xcb, 0xd1, 0x1c, 0x8a, 0xba, 0xf4, 0x99, 0xc4, 0x4a, 0x04, + 0xce, 0x70, 0x07, 0xb4, 0x7b, 0x39, 0x34, 0x98, 0xc9, 0x70, 0x3d, 0xc5, + 0x72, 0x89, 0xf0, 0xc7, 0x49, 0x8d, 0x7e, 0x4d, 0xfb, 0xa0, 0xdd, 0xec, + 0x9d, 0x87, 0x9d, 0x3f, 0x80, 0x5a, 0xa6, 0xdb, 0xcf, 0xb3, 0x85, 0x27, + 0x92, 0x36, 0x18, 0xa3, +}; +static const struct drbg_kat_pr_true kat2948_t = { + 7, kat2948_entropyin, kat2948_nonce, kat2948_persstr, + kat2948_entropyinpr1, kat2948_addinpr1, kat2948_entropyinpr2, + kat2948_addinpr2, kat2948_retbits +}; +static const struct drbg_kat kat2948 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2948_t +}; + +static const unsigned char kat2949_entropyin[] = { + 0x20, 0x2f, 0x25, 0x7c, 0x23, 0x7a, 0x5c, 0xe6, 0xe4, 0x4b, 0x06, 0xc7, + 0x07, 0x0f, 0x5c, 0x90, +}; +static const unsigned char kat2949_nonce[] = { + 0x40, 0x1a, 0x16, 0x7c, 0x65, 0x77, 0x2e, 0x9e, +}; +static const unsigned char kat2949_persstr[] = {0}; +static const unsigned char kat2949_entropyinpr1[] = { + 0xf7, 0xf1, 0x0b, 0x65, 0x9e, 0x27, 0xfa, 0x7f, 0xc4, 0x7d, 0x9b, 0x48, + 0xa9, 0x0f, 0x26, 0x88, +}; +static const unsigned char kat2949_addinpr1[] = {0}; +static const unsigned char kat2949_entropyinpr2[] = { + 0x83, 0xe7, 0x34, 0x62, 0xb0, 0x95, 0x86, 0x6f, 0x31, 0x7b, 0xcb, 0xa2, + 0x46, 0x52, 0x29, 0xf3, +}; +static const unsigned char kat2949_addinpr2[] = {0}; +static const unsigned char kat2949_retbits[] = { + 0xb0, 0xe4, 0x05, 0xc4, 0x99, 0x09, 0xe5, 0xdc, 0x0e, 0x09, 0x61, 0xa5, + 0xc6, 0xe6, 0xcf, 0x66, 0xff, 0x5a, 0x5c, 0x68, 0x68, 0x13, 0xdf, 0x2a, + 0xe3, 0xd0, 0xdb, 0x72, 0xfc, 0x0f, 0xa3, 0x59, 0x98, 0x39, 0x1e, 0x86, + 0x5c, 0x61, 0x43, 0x54, 0xb3, 0xf1, 0xdd, 0xca, 0x10, 0xaf, 0xc1, 0x59, + 0x91, 0x50, 0x0b, 0x2b, 0xfc, 0x9d, 0x76, 0x99, 0x0a, 0x28, 0x08, 0x0d, + 0x9e, 0xe6, 0x3d, 0x41, +}; +static const struct drbg_kat_pr_true kat2949_t = { + 8, kat2949_entropyin, kat2949_nonce, kat2949_persstr, + kat2949_entropyinpr1, kat2949_addinpr1, kat2949_entropyinpr2, + kat2949_addinpr2, kat2949_retbits +}; +static const struct drbg_kat kat2949 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2949_t +}; + +static const unsigned char kat2950_entropyin[] = { + 0x1f, 0x72, 0xb7, 0x55, 0x9f, 0x91, 0x70, 0x80, 0x7f, 0x1e, 0xe7, 0xdb, + 0xf9, 0xff, 0x75, 0x18, +}; +static const unsigned char kat2950_nonce[] = { + 0xa8, 0x6e, 0x96, 0x56, 0xc9, 0xec, 0xfa, 0x98, +}; +static const unsigned char kat2950_persstr[] = {0}; +static const unsigned char kat2950_entropyinpr1[] = { + 0x40, 0x1e, 0xfd, 0xbf, 0xc0, 0x35, 0x87, 0xd5, 0x9f, 0x16, 0x70, 0xc6, + 0x27, 0xc0, 0x9c, 0xdf, +}; +static const unsigned char kat2950_addinpr1[] = {0}; +static const unsigned char kat2950_entropyinpr2[] = { + 0x84, 0x9d, 0x12, 0x53, 0xad, 0xdb, 0x8d, 0x0b, 0x76, 0x9a, 0x96, 0x1f, + 0x99, 0x59, 0xf0, 0xaa, +}; +static const unsigned char kat2950_addinpr2[] = {0}; +static const unsigned char kat2950_retbits[] = { + 0xd8, 0xc4, 0x7e, 0xac, 0xb9, 0x5b, 0xe3, 0x9d, 0x7f, 0xc7, 0x32, 0xc6, + 0x0e, 0xaa, 0xb0, 0x15, 0x13, 0xb6, 0x62, 0xf6, 0x4c, 0x7b, 0xd4, 0xd7, + 0xcd, 0x9a, 0x0d, 0xf2, 0x27, 0xad, 0xc9, 0xab, 0xe7, 0xe7, 0xda, 0x4c, + 0xc0, 0xed, 0x9a, 0xc9, 0xfc, 0x9b, 0x81, 0x49, 0xca, 0x85, 0x9b, 0x3a, + 0x97, 0x04, 0xc7, 0xcd, 0x74, 0x8e, 0x05, 0x58, 0x5d, 0x44, 0xb5, 0x4f, + 0x10, 0x64, 0xc5, 0x68, +}; +static const struct drbg_kat_pr_true kat2950_t = { + 9, kat2950_entropyin, kat2950_nonce, kat2950_persstr, + kat2950_entropyinpr1, kat2950_addinpr1, kat2950_entropyinpr2, + kat2950_addinpr2, kat2950_retbits +}; +static const struct drbg_kat kat2950 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2950_t +}; + +static const unsigned char kat2951_entropyin[] = { + 0xbb, 0x0d, 0xc9, 0xc0, 0x8c, 0x25, 0x22, 0xf0, 0x4d, 0x5c, 0x2c, 0xf1, + 0xb9, 0x6a, 0x6d, 0x19, +}; +static const unsigned char kat2951_nonce[] = { + 0xa9, 0xee, 0xcc, 0x8d, 0x65, 0x69, 0x6e, 0x6a, +}; +static const unsigned char kat2951_persstr[] = {0}; +static const unsigned char kat2951_entropyinpr1[] = { + 0x78, 0x54, 0xf1, 0xb2, 0x69, 0xc5, 0x10, 0xe7, 0x74, 0x4b, 0xd8, 0x55, + 0x5f, 0x8c, 0x5b, 0x6d, +}; +static const unsigned char kat2951_addinpr1[] = {0}; +static const unsigned char kat2951_entropyinpr2[] = { + 0x76, 0xe7, 0x71, 0x68, 0xb5, 0x82, 0x2c, 0x08, 0xd6, 0xc5, 0xa6, 0x73, + 0xac, 0x15, 0xe6, 0x22, +}; +static const unsigned char kat2951_addinpr2[] = {0}; +static const unsigned char kat2951_retbits[] = { + 0x15, 0x00, 0x46, 0xda, 0xeb, 0xff, 0x8b, 0xf6, 0xff, 0x64, 0x97, 0xa5, + 0xde, 0xcf, 0x73, 0xd3, 0xe6, 0x7e, 0x80, 0xc0, 0x61, 0xe3, 0x9d, 0x3b, + 0xc1, 0x70, 0x5d, 0x26, 0xf2, 0x4b, 0xf3, 0xd0, 0x8f, 0x91, 0x2f, 0xcf, + 0x24, 0xfa, 0x40, 0x7f, 0xfe, 0xac, 0x4b, 0x6e, 0xfc, 0xb1, 0x11, 0xb1, + 0xc3, 0xbc, 0xe3, 0x8c, 0x49, 0xec, 0x8e, 0x59, 0x46, 0xc8, 0x14, 0xf3, + 0x59, 0x83, 0x94, 0x52, +}; +static const struct drbg_kat_pr_true kat2951_t = { + 10, kat2951_entropyin, kat2951_nonce, kat2951_persstr, + kat2951_entropyinpr1, kat2951_addinpr1, kat2951_entropyinpr2, + kat2951_addinpr2, kat2951_retbits +}; +static const struct drbg_kat kat2951 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2951_t +}; + +static const unsigned char kat2952_entropyin[] = { + 0x49, 0xe8, 0xd0, 0x0b, 0x3f, 0xbe, 0x7f, 0x0c, 0x17, 0x09, 0x07, 0x2a, + 0x06, 0x08, 0x8d, 0xc8, +}; +static const unsigned char kat2952_nonce[] = { + 0x73, 0xe5, 0x4b, 0xd9, 0x46, 0x69, 0xc0, 0x8a, +}; +static const unsigned char kat2952_persstr[] = {0}; +static const unsigned char kat2952_entropyinpr1[] = { + 0x52, 0xda, 0x14, 0x0a, 0x25, 0x8d, 0x24, 0x3e, 0xab, 0x40, 0x9c, 0xeb, + 0xec, 0xd5, 0x73, 0xfc, +}; +static const unsigned char kat2952_addinpr1[] = {0}; +static const unsigned char kat2952_entropyinpr2[] = { + 0x22, 0xfc, 0xb6, 0xa7, 0x78, 0xa9, 0xeb, 0xec, 0x02, 0x30, 0xfc, 0x34, + 0x8d, 0x31, 0x7e, 0x74, +}; +static const unsigned char kat2952_addinpr2[] = {0}; +static const unsigned char kat2952_retbits[] = { + 0xbc, 0xd4, 0x51, 0xc1, 0xe1, 0x17, 0xbc, 0x6a, 0xee, 0x43, 0x7b, 0x61, + 0xd7, 0x08, 0xa8, 0xc8, 0x43, 0x72, 0xb0, 0x3f, 0x26, 0xc0, 0xc8, 0x10, + 0x81, 0x03, 0x14, 0x22, 0xd2, 0x1b, 0x08, 0x01, 0xab, 0xc5, 0xf1, 0xe9, + 0xec, 0x37, 0xd0, 0xac, 0x5b, 0xb2, 0x24, 0x5e, 0xa0, 0x11, 0xee, 0xeb, + 0x10, 0x5a, 0x93, 0xaa, 0x7d, 0x9b, 0x57, 0xeb, 0x1b, 0x62, 0xdd, 0x2c, + 0x1d, 0xf6, 0x95, 0xee, +}; +static const struct drbg_kat_pr_true kat2952_t = { + 11, kat2952_entropyin, kat2952_nonce, kat2952_persstr, + kat2952_entropyinpr1, kat2952_addinpr1, kat2952_entropyinpr2, + kat2952_addinpr2, kat2952_retbits +}; +static const struct drbg_kat kat2952 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2952_t +}; + +static const unsigned char kat2953_entropyin[] = { + 0x82, 0x12, 0x0d, 0xfa, 0x28, 0xa8, 0x01, 0x96, 0x99, 0x59, 0x0a, 0x00, + 0x3c, 0x9f, 0xb2, 0xed, +}; +static const unsigned char kat2953_nonce[] = { + 0xf9, 0xac, 0x67, 0x1b, 0x62, 0xcb, 0x5f, 0xd0, +}; +static const unsigned char kat2953_persstr[] = {0}; +static const unsigned char kat2953_entropyinpr1[] = { + 0xbf, 0x9a, 0x6e, 0xe0, 0x41, 0xdb, 0xde, 0xe1, 0x99, 0xc1, 0x83, 0x7d, + 0xe0, 0x46, 0xbb, 0x14, +}; +static const unsigned char kat2953_addinpr1[] = {0}; +static const unsigned char kat2953_entropyinpr2[] = { + 0x4f, 0x77, 0xfd, 0x93, 0x4f, 0xaa, 0x04, 0x0d, 0x17, 0xa5, 0xa0, 0x2c, + 0x18, 0x11, 0xb5, 0xef, +}; +static const unsigned char kat2953_addinpr2[] = {0}; +static const unsigned char kat2953_retbits[] = { + 0x7b, 0x87, 0x44, 0x2f, 0xd2, 0x11, 0x1a, 0x5f, 0x79, 0x36, 0xaf, 0xc3, + 0xbe, 0xce, 0xe1, 0x35, 0x7a, 0xc6, 0x6f, 0xee, 0x94, 0x3a, 0xd7, 0x72, + 0x66, 0x2a, 0x0c, 0x19, 0x99, 0x46, 0xc6, 0x86, 0x29, 0xd3, 0xc8, 0x62, + 0xb9, 0x62, 0xa7, 0x29, 0xa0, 0xfc, 0x15, 0xeb, 0x2e, 0x6b, 0xe9, 0x0e, + 0x96, 0xf8, 0xc6, 0x77, 0xa1, 0x8b, 0x7b, 0x49, 0xad, 0x79, 0x43, 0xcc, + 0xea, 0xd2, 0xd4, 0xa3, +}; +static const struct drbg_kat_pr_true kat2953_t = { + 12, kat2953_entropyin, kat2953_nonce, kat2953_persstr, + kat2953_entropyinpr1, kat2953_addinpr1, kat2953_entropyinpr2, + kat2953_addinpr2, kat2953_retbits +}; +static const struct drbg_kat kat2953 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2953_t +}; + +static const unsigned char kat2954_entropyin[] = { + 0x0e, 0xb6, 0x41, 0xc2, 0xdd, 0x16, 0x10, 0x45, 0xa6, 0xdf, 0xdc, 0xd8, + 0xa1, 0xd9, 0x2a, 0x90, +}; +static const unsigned char kat2954_nonce[] = { + 0xd2, 0x5d, 0xe7, 0xdf, 0xdd, 0x6c, 0x33, 0xca, +}; +static const unsigned char kat2954_persstr[] = {0}; +static const unsigned char kat2954_entropyinpr1[] = { + 0x79, 0x4f, 0x61, 0x0e, 0xce, 0xbc, 0x61, 0x84, 0x27, 0xd7, 0xe2, 0x54, + 0x69, 0xb9, 0x04, 0x4c, +}; +static const unsigned char kat2954_addinpr1[] = {0}; +static const unsigned char kat2954_entropyinpr2[] = { + 0x56, 0x4d, 0xef, 0x6e, 0x8f, 0x23, 0xc0, 0x2c, 0x90, 0xa7, 0xf4, 0xaa, + 0x06, 0x26, 0x5b, 0x67, +}; +static const unsigned char kat2954_addinpr2[] = {0}; +static const unsigned char kat2954_retbits[] = { + 0xce, 0xa3, 0x9c, 0x80, 0x77, 0x33, 0xb8, 0x83, 0xc7, 0x93, 0xc8, 0xc2, + 0xed, 0xc9, 0xf7, 0xd5, 0x92, 0xf8, 0x18, 0xad, 0xb6, 0xdb, 0x19, 0x86, + 0x3a, 0x49, 0xde, 0x03, 0x0a, 0xb8, 0xd2, 0xff, 0x79, 0xfb, 0x67, 0xd6, + 0x32, 0x95, 0x0d, 0x53, 0x7c, 0xae, 0x0b, 0x1d, 0x23, 0x4c, 0x2a, 0x3f, + 0x89, 0xb0, 0xc4, 0xcc, 0xfa, 0x68, 0xae, 0x46, 0xcc, 0x4c, 0xad, 0x88, + 0x20, 0x5e, 0x80, 0x3d, +}; +static const struct drbg_kat_pr_true kat2954_t = { + 13, kat2954_entropyin, kat2954_nonce, kat2954_persstr, + kat2954_entropyinpr1, kat2954_addinpr1, kat2954_entropyinpr2, + kat2954_addinpr2, kat2954_retbits +}; +static const struct drbg_kat kat2954 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2954_t +}; + +static const unsigned char kat2955_entropyin[] = { + 0x6d, 0x63, 0x0b, 0x43, 0x6d, 0x5b, 0x1b, 0xe2, 0x8c, 0x3f, 0xeb, 0x0c, + 0x7c, 0xc2, 0x84, 0x5a, +}; +static const unsigned char kat2955_nonce[] = { + 0xe7, 0x50, 0xee, 0xee, 0xcf, 0xca, 0x45, 0x9f, +}; +static const unsigned char kat2955_persstr[] = {0}; +static const unsigned char kat2955_entropyinpr1[] = { + 0x59, 0x76, 0xb8, 0xa4, 0x93, 0x4d, 0x01, 0x22, 0x23, 0x2b, 0x58, 0xf0, + 0xed, 0x1c, 0x72, 0xcc, +}; +static const unsigned char kat2955_addinpr1[] = {0}; +static const unsigned char kat2955_entropyinpr2[] = { + 0xc0, 0xcd, 0x1c, 0x9c, 0xd8, 0xc9, 0x62, 0xf1, 0xba, 0xcb, 0xbb, 0xd4, + 0x08, 0x31, 0x69, 0x0c, +}; +static const unsigned char kat2955_addinpr2[] = {0}; +static const unsigned char kat2955_retbits[] = { + 0xf3, 0xd6, 0x85, 0x98, 0x9e, 0xe9, 0x32, 0xc1, 0x10, 0x66, 0x7f, 0x61, + 0x30, 0xd3, 0xad, 0xf1, 0xdf, 0x86, 0xdc, 0x72, 0xb1, 0xf1, 0x52, 0xfd, + 0xce, 0xa1, 0xb1, 0x58, 0x0d, 0xca, 0xff, 0x8e, 0x28, 0xe6, 0xea, 0xb6, + 0x07, 0xc4, 0x3d, 0xba, 0x73, 0xe0, 0x36, 0x72, 0xa6, 0x41, 0x1c, 0x84, + 0x73, 0x00, 0x8a, 0xe2, 0x3a, 0xc3, 0x38, 0x0a, 0x3c, 0xa9, 0x5f, 0xb2, + 0x70, 0xd1, 0x39, 0x15, +}; +static const struct drbg_kat_pr_true kat2955_t = { + 14, kat2955_entropyin, kat2955_nonce, kat2955_persstr, + kat2955_entropyinpr1, kat2955_addinpr1, kat2955_entropyinpr2, + kat2955_addinpr2, kat2955_retbits +}; +static const struct drbg_kat kat2955 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat2955_t +}; + +static const unsigned char kat2956_entropyin[] = { + 0x93, 0xc8, 0x99, 0xde, 0x3b, 0x7d, 0x72, 0xa6, 0x83, 0x89, 0xe4, 0x4b, + 0xf8, 0x24, 0x96, 0x98, +}; +static const unsigned char kat2956_nonce[] = { + 0x96, 0x0e, 0x9a, 0x34, 0x32, 0x5a, 0x5b, 0x49, +}; +static const unsigned char kat2956_persstr[] = {0}; +static const unsigned char kat2956_entropyinpr1[] = { + 0xb6, 0x8b, 0xef, 0x79, 0xaa, 0xad, 0x62, 0xe8, 0x55, 0xee, 0x14, 0x51, + 0x79, 0x95, 0x1d, 0x87, +}; +static const unsigned char kat2956_addinpr1[] = { + 0x94, 0x2e, 0x65, 0x65, 0x95, 0xb0, 0x7e, 0x98, 0xb5, 0x9f, 0x39, 0xf9, + 0xd3, 0x65, 0x8c, 0xf5, +}; +static const unsigned char kat2956_entropyinpr2[] = { + 0x14, 0x1d, 0xad, 0x5a, 0x5d, 0x5b, 0x71, 0x74, 0xf5, 0xfa, 0x97, 0x43, + 0x33, 0xdb, 0xb6, 0x4d, +}; +static const unsigned char kat2956_addinpr2[] = { + 0x03, 0x38, 0xa2, 0xb0, 0x70, 0x92, 0x7c, 0xa2, 0xeb, 0x55, 0x1d, 0xc3, + 0xdb, 0x4f, 0x1d, 0x62, +}; +static const unsigned char kat2956_retbits[] = { + 0x00, 0x33, 0xae, 0x03, 0x80, 0x78, 0x48, 0x7f, 0x7d, 0xea, 0x1e, 0xf6, + 0x4b, 0xec, 0x58, 0xae, 0x75, 0x1f, 0xb8, 0x86, 0x4f, 0x8b, 0xff, 0x4e, + 0x8c, 0x1b, 0x41, 0x2b, 0xa2, 0x47, 0x7d, 0x2f, 0xf1, 0xba, 0x88, 0x7a, + 0x1a, 0xe6, 0x60, 0xbd, 0x48, 0xce, 0x7b, 0x76, 0x28, 0xa8, 0xd1, 0x76, + 0x9a, 0x46, 0xd3, 0x75, 0x38, 0x26, 0x66, 0x2c, 0xb2, 0x6a, 0x75, 0xdf, + 0x87, 0xf0, 0xd3, 0xf0, +}; +static const struct drbg_kat_pr_true kat2956_t = { + 0, kat2956_entropyin, kat2956_nonce, kat2956_persstr, + kat2956_entropyinpr1, kat2956_addinpr1, kat2956_entropyinpr2, + kat2956_addinpr2, kat2956_retbits +}; +static const struct drbg_kat kat2956 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2956_t +}; + +static const unsigned char kat2957_entropyin[] = { + 0x94, 0xba, 0x8b, 0x14, 0xff, 0x07, 0x43, 0x55, 0x36, 0x25, 0x1f, 0xf5, + 0x39, 0xbf, 0x5c, 0x59, +}; +static const unsigned char kat2957_nonce[] = { + 0xc8, 0x44, 0x50, 0x71, 0x0a, 0xf4, 0xac, 0x40, +}; +static const unsigned char kat2957_persstr[] = {0}; +static const unsigned char kat2957_entropyinpr1[] = { + 0x53, 0xc3, 0xe8, 0xba, 0x0a, 0x56, 0x0c, 0x32, 0x89, 0xf6, 0x61, 0x9b, + 0x1b, 0x3b, 0x3a, 0x5d, +}; +static const unsigned char kat2957_addinpr1[] = { + 0x28, 0x7e, 0x98, 0x8a, 0x1c, 0x58, 0xea, 0xcb, 0x6a, 0x18, 0xf8, 0xe3, + 0xb6, 0xe4, 0x6f, 0xd1, +}; +static const unsigned char kat2957_entropyinpr2[] = { + 0x85, 0x4e, 0xaa, 0x96, 0xfb, 0x6d, 0x1e, 0x0a, 0x9a, 0xf5, 0xd5, 0xed, + 0x61, 0x77, 0xe4, 0x54, +}; +static const unsigned char kat2957_addinpr2[] = { + 0x12, 0x6a, 0x8c, 0xcf, 0x5e, 0x6c, 0xbc, 0xc6, 0x4f, 0x12, 0x3e, 0x98, + 0x66, 0xc4, 0x36, 0xec, +}; +static const unsigned char kat2957_retbits[] = { + 0x44, 0xa8, 0xb0, 0x7b, 0x97, 0x40, 0x08, 0x69, 0x37, 0xbd, 0x56, 0x78, + 0xce, 0xa5, 0x9c, 0x89, 0x93, 0xf3, 0x26, 0xf7, 0x10, 0xd7, 0xe1, 0x3d, + 0x18, 0x30, 0x95, 0x8b, 0xc3, 0x4d, 0x74, 0xae, 0xfd, 0x78, 0x57, 0x8d, + 0x4c, 0x15, 0x91, 0x19, 0x27, 0x46, 0xc4, 0x16, 0x49, 0xf5, 0x97, 0x34, + 0x9b, 0xb4, 0xf5, 0x56, 0xe5, 0x53, 0x7f, 0x10, 0x84, 0x57, 0xfc, 0x3d, + 0xb6, 0xbd, 0x4f, 0x25, +}; +static const struct drbg_kat_pr_true kat2957_t = { + 1, kat2957_entropyin, kat2957_nonce, kat2957_persstr, + kat2957_entropyinpr1, kat2957_addinpr1, kat2957_entropyinpr2, + kat2957_addinpr2, kat2957_retbits +}; +static const struct drbg_kat kat2957 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2957_t +}; + +static const unsigned char kat2958_entropyin[] = { + 0x11, 0x77, 0xf9, 0xe8, 0xba, 0x73, 0xfa, 0x11, 0x27, 0x3b, 0xb1, 0xf2, + 0x60, 0x4d, 0xb8, 0xb6, +}; +static const unsigned char kat2958_nonce[] = { + 0x96, 0x25, 0xf1, 0x89, 0xb3, 0x44, 0x51, 0xf0, +}; +static const unsigned char kat2958_persstr[] = {0}; +static const unsigned char kat2958_entropyinpr1[] = { + 0x48, 0x97, 0xd1, 0x91, 0xc4, 0xe1, 0x05, 0xca, 0x95, 0xcf, 0xad, 0x7d, + 0xfb, 0xa5, 0xed, 0x84, +}; +static const unsigned char kat2958_addinpr1[] = { + 0x5b, 0x59, 0x3a, 0x44, 0x07, 0x5c, 0x5a, 0x6c, 0x80, 0xd4, 0x5d, 0xae, + 0xa3, 0x76, 0x03, 0x11, +}; +static const unsigned char kat2958_entropyinpr2[] = { + 0xce, 0x38, 0xa5, 0x6b, 0xc7, 0x12, 0xc1, 0xc1, 0x41, 0x90, 0x17, 0x95, + 0x2e, 0x9f, 0x30, 0xd0, +}; +static const unsigned char kat2958_addinpr2[] = { + 0x0d, 0xb6, 0x7b, 0x8d, 0x74, 0x66, 0x2d, 0x11, 0x8e, 0xde, 0xe8, 0x56, + 0xe2, 0xc2, 0x32, 0x21, +}; +static const unsigned char kat2958_retbits[] = { + 0x44, 0x5f, 0xe4, 0x73, 0x65, 0x1f, 0xab, 0x5b, 0xd9, 0xd1, 0x5e, 0x82, + 0xea, 0x81, 0xac, 0x54, 0xda, 0x37, 0xab, 0x49, 0x1c, 0xb4, 0xa9, 0x6b, + 0x64, 0xf1, 0x63, 0xad, 0x98, 0xa6, 0x4f, 0x28, 0xf6, 0x65, 0xb6, 0xd4, + 0xaf, 0x52, 0xe2, 0xc6, 0xe2, 0x24, 0xc1, 0x40, 0xb7, 0x8b, 0xa8, 0x43, + 0xb5, 0x21, 0x46, 0xaf, 0xd3, 0xc6, 0xe0, 0x77, 0x10, 0xbd, 0x79, 0xb8, + 0x58, 0x7c, 0x81, 0xcd, +}; +static const struct drbg_kat_pr_true kat2958_t = { + 2, kat2958_entropyin, kat2958_nonce, kat2958_persstr, + kat2958_entropyinpr1, kat2958_addinpr1, kat2958_entropyinpr2, + kat2958_addinpr2, kat2958_retbits +}; +static const struct drbg_kat kat2958 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2958_t +}; + +static const unsigned char kat2959_entropyin[] = { + 0xff, 0x24, 0x4d, 0xf5, 0x17, 0xd5, 0xa9, 0x20, 0xe9, 0x1b, 0x43, 0xb6, + 0x02, 0x8f, 0x1c, 0x56, +}; +static const unsigned char kat2959_nonce[] = { + 0x4e, 0xc1, 0x2d, 0x98, 0x01, 0x54, 0x75, 0xbd, +}; +static const unsigned char kat2959_persstr[] = {0}; +static const unsigned char kat2959_entropyinpr1[] = { + 0x19, 0x04, 0x82, 0x71, 0x56, 0x9e, 0x3d, 0x6c, 0xdc, 0x97, 0x49, 0x23, + 0x47, 0xb1, 0x33, 0x6d, +}; +static const unsigned char kat2959_addinpr1[] = { + 0xd6, 0x71, 0xe4, 0x5f, 0xe6, 0x12, 0xbc, 0x7b, 0x60, 0x2e, 0xb7, 0x79, + 0xc3, 0xc8, 0xce, 0x63, +}; +static const unsigned char kat2959_entropyinpr2[] = { + 0x07, 0xcf, 0x24, 0xf3, 0x14, 0x38, 0x30, 0xeb, 0x2c, 0xa0, 0x4e, 0x68, + 0xc5, 0x01, 0x8b, 0x69, +}; +static const unsigned char kat2959_addinpr2[] = { + 0xd0, 0x1f, 0x40, 0xed, 0xe7, 0x26, 0x11, 0xf0, 0x00, 0xc2, 0xb5, 0x3f, + 0xdb, 0xde, 0x79, 0x4f, +}; +static const unsigned char kat2959_retbits[] = { + 0x59, 0xaf, 0x1b, 0x23, 0xd7, 0x06, 0x8a, 0xb5, 0xde, 0x76, 0x30, 0xf0, + 0x58, 0x80, 0x8d, 0xf8, 0xda, 0x74, 0x20, 0x30, 0xd6, 0x47, 0x3f, 0x14, + 0x1f, 0xd1, 0xfb, 0x8a, 0xd0, 0x67, 0xd3, 0x51, 0xdb, 0x03, 0xb4, 0x3c, + 0x37, 0x92, 0xb6, 0xf1, 0x85, 0x7b, 0x90, 0x0f, 0x25, 0x58, 0xb6, 0xbe, + 0xc2, 0xd1, 0x61, 0x83, 0x88, 0x3e, 0x22, 0xe4, 0x7c, 0xf7, 0xa6, 0x5c, + 0xb3, 0x36, 0x97, 0xf1, +}; +static const struct drbg_kat_pr_true kat2959_t = { + 3, kat2959_entropyin, kat2959_nonce, kat2959_persstr, + kat2959_entropyinpr1, kat2959_addinpr1, kat2959_entropyinpr2, + kat2959_addinpr2, kat2959_retbits +}; +static const struct drbg_kat kat2959 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2959_t +}; + +static const unsigned char kat2960_entropyin[] = { + 0x4e, 0xc0, 0x7b, 0xfb, 0x64, 0xa9, 0x02, 0xb7, 0xda, 0x67, 0x35, 0xf0, + 0x2a, 0x06, 0x1e, 0x6e, +}; +static const unsigned char kat2960_nonce[] = { + 0x32, 0x96, 0x0e, 0xbb, 0xa4, 0xe0, 0x15, 0xf6, +}; +static const unsigned char kat2960_persstr[] = {0}; +static const unsigned char kat2960_entropyinpr1[] = { + 0xad, 0xaa, 0x8d, 0x11, 0x9f, 0x4c, 0xc1, 0x98, 0xf2, 0xff, 0xfc, 0xbd, + 0x95, 0xa7, 0x0c, 0x2f, +}; +static const unsigned char kat2960_addinpr1[] = { + 0xb7, 0xdb, 0x17, 0x70, 0xcd, 0xbc, 0xfb, 0x12, 0x87, 0xc9, 0x09, 0xa5, + 0xca, 0xa4, 0x89, 0x98, +}; +static const unsigned char kat2960_entropyinpr2[] = { + 0xba, 0xd1, 0x5a, 0xee, 0x78, 0x60, 0x08, 0x21, 0x1b, 0xd6, 0xd9, 0x37, + 0x8a, 0x01, 0xe4, 0xd9, +}; +static const unsigned char kat2960_addinpr2[] = { + 0x8f, 0x0e, 0x7b, 0x71, 0x64, 0x5a, 0x25, 0x2a, 0x1a, 0xce, 0x19, 0x6a, + 0x79, 0xd6, 0xe5, 0x51, +}; +static const unsigned char kat2960_retbits[] = { + 0x43, 0xef, 0x27, 0xed, 0xae, 0x3c, 0x48, 0x04, 0x11, 0x8a, 0x1c, 0x8c, + 0x90, 0x52, 0xcd, 0x92, 0x66, 0x98, 0x17, 0xeb, 0x20, 0x0b, 0x7c, 0x5a, + 0x3d, 0x08, 0x80, 0x1c, 0x39, 0x8f, 0xa0, 0x4a, 0x0a, 0xf5, 0x73, 0x7b, + 0x8d, 0x8a, 0x97, 0xb2, 0x21, 0x16, 0x5e, 0x7d, 0xf5, 0x1a, 0x07, 0xbe, + 0xfb, 0x74, 0xef, 0xe1, 0xc3, 0xa9, 0x54, 0x4f, 0x89, 0x19, 0x33, 0x69, + 0x2e, 0x12, 0x15, 0xc2, +}; +static const struct drbg_kat_pr_true kat2960_t = { + 4, kat2960_entropyin, kat2960_nonce, kat2960_persstr, + kat2960_entropyinpr1, kat2960_addinpr1, kat2960_entropyinpr2, + kat2960_addinpr2, kat2960_retbits +}; +static const struct drbg_kat kat2960 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2960_t +}; + +static const unsigned char kat2961_entropyin[] = { + 0x30, 0x0a, 0xa1, 0x77, 0x3d, 0xf7, 0xd1, 0x65, 0x47, 0x5e, 0x13, 0xca, + 0x4c, 0xe7, 0x37, 0x50, +}; +static const unsigned char kat2961_nonce[] = { + 0x42, 0xc0, 0x6d, 0x17, 0xfe, 0xea, 0x25, 0xca, +}; +static const unsigned char kat2961_persstr[] = {0}; +static const unsigned char kat2961_entropyinpr1[] = { + 0x96, 0x64, 0xcf, 0x2d, 0x71, 0x1e, 0xda, 0x5f, 0x8a, 0xea, 0x02, 0xa4, + 0x95, 0x5d, 0x4a, 0x80, +}; +static const unsigned char kat2961_addinpr1[] = { + 0x91, 0xe4, 0x15, 0xb0, 0x4e, 0xda, 0xc4, 0x45, 0x3a, 0x59, 0x26, 0x0f, + 0x58, 0x9f, 0xb7, 0x34, +}; +static const unsigned char kat2961_entropyinpr2[] = { + 0x9a, 0x54, 0xe3, 0x25, 0x07, 0x6c, 0xe3, 0xf7, 0x5c, 0x02, 0x0f, 0xa0, + 0x4e, 0xce, 0xc9, 0x6f, +}; +static const unsigned char kat2961_addinpr2[] = { + 0x3d, 0x67, 0x84, 0xd9, 0x08, 0x3b, 0xfc, 0xba, 0x3b, 0x80, 0x49, 0x93, + 0x08, 0x3d, 0x04, 0x8b, +}; +static const unsigned char kat2961_retbits[] = { + 0x92, 0x1d, 0xfb, 0x3b, 0x77, 0x1a, 0xa7, 0x8d, 0x0a, 0xf1, 0x11, 0xdb, + 0xb1, 0xba, 0xf2, 0xab, 0x54, 0x69, 0x58, 0x6b, 0x7c, 0xae, 0x25, 0xa7, + 0x35, 0x0d, 0x64, 0x66, 0xc8, 0x22, 0xb9, 0x00, 0x81, 0x4c, 0xa3, 0x54, + 0x26, 0x36, 0x35, 0x63, 0xb0, 0x81, 0x77, 0x75, 0xa0, 0x13, 0x13, 0x6a, + 0xe7, 0x5f, 0xe8, 0x85, 0xf9, 0x04, 0xf0, 0x8f, 0xbe, 0xb5, 0xc0, 0xbb, + 0x5b, 0xef, 0x50, 0x6b, +}; +static const struct drbg_kat_pr_true kat2961_t = { + 5, kat2961_entropyin, kat2961_nonce, kat2961_persstr, + kat2961_entropyinpr1, kat2961_addinpr1, kat2961_entropyinpr2, + kat2961_addinpr2, kat2961_retbits +}; +static const struct drbg_kat kat2961 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2961_t +}; + +static const unsigned char kat2962_entropyin[] = { + 0x98, 0x85, 0x55, 0x7b, 0x3c, 0xc8, 0xa1, 0xb7, 0x6e, 0x7c, 0xbd, 0xa2, + 0x45, 0x3e, 0x45, 0x84, +}; +static const unsigned char kat2962_nonce[] = { + 0xdb, 0x09, 0xbd, 0x64, 0x57, 0xde, 0x87, 0x08, +}; +static const unsigned char kat2962_persstr[] = {0}; +static const unsigned char kat2962_entropyinpr1[] = { + 0x86, 0xb7, 0x44, 0xf4, 0x14, 0x49, 0x56, 0xb9, 0x02, 0xd0, 0xc0, 0x6e, + 0xd8, 0x9c, 0x9e, 0x23, +}; +static const unsigned char kat2962_addinpr1[] = { + 0x36, 0xb4, 0x6e, 0xb8, 0xd0, 0x3e, 0xca, 0xc9, 0xe4, 0x69, 0x50, 0x69, + 0x15, 0x54, 0x72, 0x37, +}; +static const unsigned char kat2962_entropyinpr2[] = { + 0xaf, 0x41, 0x63, 0xac, 0x9f, 0x14, 0xf4, 0x7f, 0x6c, 0x49, 0x6e, 0x60, + 0xb1, 0x01, 0xe5, 0xa7, +}; +static const unsigned char kat2962_addinpr2[] = { + 0x5b, 0x26, 0xac, 0x13, 0x87, 0xf1, 0x61, 0x04, 0xd7, 0xd2, 0xb3, 0xfc, + 0xea, 0xde, 0x5e, 0x8e, +}; +static const unsigned char kat2962_retbits[] = { + 0x38, 0x35, 0x5a, 0xce, 0x49, 0x5b, 0x5e, 0x24, 0x35, 0xb7, 0xd8, 0x19, + 0xea, 0x32, 0xa3, 0x4e, 0x43, 0xa8, 0x9c, 0xb1, 0x53, 0x9a, 0x44, 0xe0, + 0xbc, 0xe1, 0xb3, 0xa6, 0xe2, 0xf6, 0x4e, 0x5a, 0x11, 0x13, 0x8b, 0xe8, + 0x8e, 0xfd, 0x76, 0x3d, 0xf0, 0x61, 0x14, 0x5d, 0x43, 0x39, 0x74, 0x63, + 0xa4, 0x0c, 0xfe, 0x44, 0x10, 0x91, 0xc7, 0x47, 0x76, 0xb5, 0xcd, 0x29, + 0xce, 0x20, 0x40, 0xc5, +}; +static const struct drbg_kat_pr_true kat2962_t = { + 6, kat2962_entropyin, kat2962_nonce, kat2962_persstr, + kat2962_entropyinpr1, kat2962_addinpr1, kat2962_entropyinpr2, + kat2962_addinpr2, kat2962_retbits +}; +static const struct drbg_kat kat2962 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2962_t +}; + +static const unsigned char kat2963_entropyin[] = { + 0xd1, 0x56, 0x33, 0xb7, 0x78, 0x90, 0xfa, 0x24, 0x0c, 0xa9, 0x6f, 0x08, + 0xd0, 0x52, 0xb9, 0x8b, +}; +static const unsigned char kat2963_nonce[] = { + 0xf4, 0xb4, 0xff, 0xe6, 0x60, 0xe8, 0xa3, 0x19, +}; +static const unsigned char kat2963_persstr[] = {0}; +static const unsigned char kat2963_entropyinpr1[] = { + 0xf1, 0x40, 0xb0, 0xef, 0x7a, 0x8e, 0x42, 0x74, 0xd4, 0x17, 0x0c, 0x6f, + 0xd8, 0xc0, 0xf5, 0xea, +}; +static const unsigned char kat2963_addinpr1[] = { + 0xa9, 0x3e, 0x8b, 0xe0, 0xef, 0x0e, 0x80, 0x3b, 0xab, 0xe0, 0xab, 0xb5, + 0xf7, 0xbe, 0xa6, 0xad, +}; +static const unsigned char kat2963_entropyinpr2[] = { + 0xf7, 0x87, 0x2c, 0x58, 0x48, 0x86, 0x50, 0x33, 0x36, 0xfc, 0xf4, 0xaf, + 0x57, 0xd3, 0x1f, 0x89, +}; +static const unsigned char kat2963_addinpr2[] = { + 0xfd, 0x92, 0x67, 0x82, 0xf9, 0xf6, 0x8a, 0xd2, 0x11, 0xcd, 0xf3, 0x2d, + 0xa9, 0xaa, 0x3a, 0x2f, +}; +static const unsigned char kat2963_retbits[] = { + 0xd4, 0xdc, 0xa4, 0x59, 0x73, 0xe9, 0x9d, 0xd7, 0x11, 0x27, 0x64, 0xfd, + 0x8d, 0x50, 0xf5, 0xd0, 0xe6, 0x7c, 0x23, 0x3e, 0x22, 0x7b, 0xae, 0xb6, + 0xc0, 0x3b, 0xf2, 0x1e, 0xc6, 0x01, 0x3f, 0xfc, 0xd3, 0x3f, 0x39, 0xfe, + 0x0d, 0xc1, 0xa0, 0x89, 0xcd, 0xc7, 0x07, 0x6d, 0x8b, 0x9c, 0x8e, 0x9f, + 0xdd, 0x3c, 0x35, 0xe1, 0x2e, 0xed, 0x9f, 0x9a, 0x70, 0xfe, 0xc1, 0x0e, + 0xa0, 0x3f, 0x4b, 0xb5, +}; +static const struct drbg_kat_pr_true kat2963_t = { + 7, kat2963_entropyin, kat2963_nonce, kat2963_persstr, + kat2963_entropyinpr1, kat2963_addinpr1, kat2963_entropyinpr2, + kat2963_addinpr2, kat2963_retbits +}; +static const struct drbg_kat kat2963 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2963_t +}; + +static const unsigned char kat2964_entropyin[] = { + 0x38, 0x87, 0x76, 0xbc, 0x84, 0x28, 0x5c, 0x9c, 0x4a, 0xd3, 0x98, 0x2b, + 0xd5, 0x46, 0x1a, 0xe8, +}; +static const unsigned char kat2964_nonce[] = { + 0xe7, 0x9a, 0xa6, 0x0f, 0xc9, 0x17, 0x98, 0x73, +}; +static const unsigned char kat2964_persstr[] = {0}; +static const unsigned char kat2964_entropyinpr1[] = { + 0x95, 0xba, 0x3e, 0x9b, 0x23, 0x1c, 0x0a, 0x66, 0xad, 0xf9, 0x80, 0xe7, + 0xaf, 0x57, 0x7c, 0xe5, +}; +static const unsigned char kat2964_addinpr1[] = { + 0xa9, 0x28, 0x55, 0x44, 0x7a, 0x17, 0xb4, 0xc0, 0x60, 0x47, 0x44, 0xe9, + 0x0e, 0xff, 0x64, 0x03, +}; +static const unsigned char kat2964_entropyinpr2[] = { + 0x24, 0xe8, 0x8b, 0xae, 0x2b, 0x4b, 0x8d, 0xf2, 0x24, 0x35, 0x15, 0xef, + 0x93, 0xcb, 0xf8, 0xe8, +}; +static const unsigned char kat2964_addinpr2[] = { + 0x1a, 0x3b, 0xbd, 0x06, 0xc6, 0x2f, 0x0c, 0xda, 0xfc, 0x4f, 0x8a, 0xcd, + 0x32, 0x66, 0x82, 0xd4, +}; +static const unsigned char kat2964_retbits[] = { + 0x16, 0x51, 0xec, 0x3c, 0x26, 0x32, 0x37, 0x46, 0xbc, 0x8e, 0x5d, 0x64, + 0x63, 0x08, 0xd1, 0xbd, 0xd6, 0x72, 0x75, 0x21, 0x35, 0x46, 0xfb, 0xfc, + 0xdb, 0xa4, 0x77, 0x2f, 0x24, 0x5c, 0x4e, 0x1c, 0x12, 0x79, 0x87, 0x4b, + 0xab, 0x75, 0xd5, 0xfe, 0xf5, 0xeb, 0xc1, 0x31, 0xfb, 0xb1, 0xbd, 0xb1, + 0xcf, 0x54, 0xc8, 0xe0, 0x1e, 0xfc, 0xf5, 0x06, 0x6a, 0x03, 0x38, 0xa9, + 0x5b, 0x2e, 0xbe, 0x34, +}; +static const struct drbg_kat_pr_true kat2964_t = { + 8, kat2964_entropyin, kat2964_nonce, kat2964_persstr, + kat2964_entropyinpr1, kat2964_addinpr1, kat2964_entropyinpr2, + kat2964_addinpr2, kat2964_retbits +}; +static const struct drbg_kat kat2964 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2964_t +}; + +static const unsigned char kat2965_entropyin[] = { + 0xd1, 0xa8, 0x97, 0xfe, 0xae, 0x8f, 0xfb, 0xbb, 0xa8, 0xb2, 0xee, 0x86, + 0x22, 0x7c, 0xc2, 0x08, +}; +static const unsigned char kat2965_nonce[] = { + 0xa7, 0x60, 0x1a, 0x77, 0x7c, 0x0b, 0x13, 0x22, +}; +static const unsigned char kat2965_persstr[] = {0}; +static const unsigned char kat2965_entropyinpr1[] = { + 0x48, 0xec, 0x22, 0xbc, 0xd5, 0xf7, 0xcc, 0xbb, 0x23, 0x76, 0xc2, 0x0f, + 0xc9, 0x1e, 0x36, 0xc5, +}; +static const unsigned char kat2965_addinpr1[] = { + 0xfd, 0xe2, 0x9b, 0x85, 0x90, 0x20, 0x0a, 0xc0, 0xd3, 0xda, 0x27, 0x75, + 0xd5, 0x64, 0xed, 0x30, +}; +static const unsigned char kat2965_entropyinpr2[] = { + 0xbb, 0xce, 0xbc, 0x0c, 0xd3, 0x98, 0x0f, 0xd0, 0x92, 0x02, 0x03, 0xd2, + 0xb5, 0x1d, 0x08, 0x92, +}; +static const unsigned char kat2965_addinpr2[] = { + 0xe9, 0xe7, 0xfe, 0x35, 0xe0, 0xc2, 0x11, 0x44, 0x3c, 0xf0, 0x7e, 0x6d, + 0x0d, 0xbf, 0x0a, 0x7c, +}; +static const unsigned char kat2965_retbits[] = { + 0x04, 0xad, 0x36, 0x05, 0x41, 0x20, 0xec, 0x41, 0x24, 0x7b, 0x90, 0xaf, + 0xc9, 0x4f, 0xa8, 0x35, 0xa8, 0x98, 0x83, 0x23, 0xe8, 0xa2, 0x25, 0x61, + 0xb0, 0x2a, 0x0b, 0x65, 0xf6, 0x8d, 0xc7, 0xe8, 0xd6, 0x77, 0x22, 0x50, + 0x84, 0x2f, 0xa8, 0x06, 0xdc, 0xa9, 0x2f, 0xce, 0x86, 0x5b, 0x6b, 0x46, + 0xe5, 0xb4, 0x0e, 0xbb, 0xb8, 0x0e, 0x5a, 0x71, 0xcb, 0xf5, 0x77, 0x51, + 0xdf, 0x5d, 0x34, 0xca, +}; +static const struct drbg_kat_pr_true kat2965_t = { + 9, kat2965_entropyin, kat2965_nonce, kat2965_persstr, + kat2965_entropyinpr1, kat2965_addinpr1, kat2965_entropyinpr2, + kat2965_addinpr2, kat2965_retbits +}; +static const struct drbg_kat kat2965 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2965_t +}; + +static const unsigned char kat2966_entropyin[] = { + 0x27, 0x19, 0x44, 0x7c, 0xb9, 0xb1, 0x98, 0xca, 0x3c, 0x52, 0xed, 0x2d, + 0xb2, 0xba, 0x29, 0xe1, +}; +static const unsigned char kat2966_nonce[] = { + 0x13, 0x94, 0x9c, 0xee, 0x0f, 0xd5, 0x28, 0xc9, +}; +static const unsigned char kat2966_persstr[] = {0}; +static const unsigned char kat2966_entropyinpr1[] = { + 0xab, 0x38, 0x8c, 0x4c, 0xe9, 0xc1, 0x84, 0x38, 0x1a, 0x8b, 0x21, 0x6d, + 0xc0, 0xc1, 0xfc, 0x3a, +}; +static const unsigned char kat2966_addinpr1[] = { + 0xba, 0xf6, 0x3a, 0x6d, 0x98, 0x04, 0x28, 0xc4, 0x8b, 0x06, 0x2b, 0xdd, + 0x36, 0x78, 0xcc, 0xc3, +}; +static const unsigned char kat2966_entropyinpr2[] = { + 0x9b, 0x9c, 0xbd, 0xcc, 0x5b, 0xe7, 0x75, 0x55, 0x6c, 0x5c, 0x8d, 0xf9, + 0xa4, 0xd2, 0xbf, 0x64, +}; +static const unsigned char kat2966_addinpr2[] = { + 0x8a, 0x3a, 0xff, 0x90, 0xd3, 0x58, 0x86, 0x7c, 0xaf, 0x75, 0xc7, 0xc2, + 0x8a, 0x14, 0x04, 0x31, +}; +static const unsigned char kat2966_retbits[] = { + 0x7d, 0x94, 0x5d, 0xdf, 0x55, 0x31, 0xea, 0x29, 0xa8, 0x9f, 0x1d, 0x81, + 0x70, 0x13, 0x2d, 0x7c, 0xf5, 0x6d, 0x36, 0xd5, 0x62, 0xe3, 0x48, 0x52, + 0x91, 0xfc, 0xe2, 0x9a, 0x8b, 0xa2, 0x2a, 0x85, 0x30, 0x78, 0xa3, 0x46, + 0x1e, 0x41, 0x55, 0x4b, 0xea, 0x15, 0xb8, 0xe4, 0x37, 0x5a, 0x43, 0xe0, + 0x03, 0x3c, 0x77, 0x8e, 0x2e, 0xc6, 0x3c, 0xfc, 0x1b, 0xc7, 0x10, 0xcf, + 0xaa, 0x21, 0x83, 0x3f, +}; +static const struct drbg_kat_pr_true kat2966_t = { + 10, kat2966_entropyin, kat2966_nonce, kat2966_persstr, + kat2966_entropyinpr1, kat2966_addinpr1, kat2966_entropyinpr2, + kat2966_addinpr2, kat2966_retbits +}; +static const struct drbg_kat kat2966 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2966_t +}; + +static const unsigned char kat2967_entropyin[] = { + 0xfe, 0x37, 0x61, 0x2c, 0x9b, 0x8c, 0x65, 0x72, 0xb7, 0x35, 0x3e, 0x4c, + 0xc0, 0xf4, 0xff, 0x5c, +}; +static const unsigned char kat2967_nonce[] = { + 0x51, 0x6c, 0x27, 0x0b, 0x8c, 0x70, 0x8f, 0x74, +}; +static const unsigned char kat2967_persstr[] = {0}; +static const unsigned char kat2967_entropyinpr1[] = { + 0x2c, 0x47, 0x3d, 0x7c, 0x28, 0xfe, 0x4e, 0x9c, 0xdc, 0x08, 0x8b, 0x70, + 0xcb, 0x88, 0x39, 0x90, +}; +static const unsigned char kat2967_addinpr1[] = { + 0x14, 0xea, 0x75, 0x12, 0xce, 0x4f, 0xb6, 0x24, 0xcb, 0x94, 0xed, 0xd5, + 0x7f, 0xc4, 0x82, 0x33, +}; +static const unsigned char kat2967_entropyinpr2[] = { + 0x8e, 0x3f, 0x57, 0xc8, 0x31, 0x48, 0x35, 0x69, 0x79, 0xf7, 0x72, 0x10, + 0xbd, 0xff, 0xba, 0xfb, +}; +static const unsigned char kat2967_addinpr2[] = { + 0xcc, 0xc7, 0x8b, 0x32, 0x72, 0x5c, 0x85, 0xfe, 0x04, 0xa7, 0x44, 0xfb, + 0x83, 0x3c, 0xcf, 0x0a, +}; +static const unsigned char kat2967_retbits[] = { + 0x58, 0x89, 0x74, 0x93, 0xa3, 0xbb, 0x74, 0xe2, 0x82, 0xf9, 0x67, 0x03, + 0x3d, 0x95, 0x0b, 0x3e, 0xb5, 0x7f, 0x46, 0x85, 0x9f, 0xc5, 0xa1, 0xc5, + 0x2a, 0x94, 0xea, 0xe8, 0x5f, 0xa3, 0x2d, 0xbf, 0xc8, 0x0b, 0xe7, 0x49, + 0xe0, 0x95, 0xcd, 0x1c, 0xdd, 0xaa, 0x43, 0x84, 0x22, 0xd0, 0xf3, 0x73, + 0x4f, 0xb7, 0xa3, 0x01, 0x50, 0xbe, 0x53, 0x89, 0x5a, 0x61, 0x4d, 0x0f, + 0xc4, 0x72, 0x7c, 0x91, +}; +static const struct drbg_kat_pr_true kat2967_t = { + 11, kat2967_entropyin, kat2967_nonce, kat2967_persstr, + kat2967_entropyinpr1, kat2967_addinpr1, kat2967_entropyinpr2, + kat2967_addinpr2, kat2967_retbits +}; +static const struct drbg_kat kat2967 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2967_t +}; + +static const unsigned char kat2968_entropyin[] = { + 0x9d, 0x49, 0x14, 0xa3, 0x61, 0x03, 0xdd, 0x43, 0x5f, 0x62, 0x5f, 0x24, + 0x3b, 0xf1, 0x19, 0x92, +}; +static const unsigned char kat2968_nonce[] = { + 0xab, 0x5c, 0x8a, 0xcb, 0xf0, 0x21, 0x92, 0x2c, +}; +static const unsigned char kat2968_persstr[] = {0}; +static const unsigned char kat2968_entropyinpr1[] = { + 0x65, 0x6a, 0x4b, 0x81, 0xb3, 0xfe, 0x65, 0xb3, 0xee, 0xdd, 0xec, 0x0a, + 0x19, 0x8e, 0x3a, 0xf8, +}; +static const unsigned char kat2968_addinpr1[] = { + 0xc9, 0xae, 0xf1, 0x3a, 0xe0, 0xfc, 0xcc, 0xe7, 0x68, 0xed, 0xae, 0xb4, + 0xa0, 0xc9, 0x41, 0x67, +}; +static const unsigned char kat2968_entropyinpr2[] = { + 0xbd, 0x7b, 0x43, 0x9e, 0x15, 0xa4, 0xd1, 0x58, 0xd3, 0x9e, 0x78, 0x1a, + 0xb9, 0x30, 0x0d, 0x7a, +}; +static const unsigned char kat2968_addinpr2[] = { + 0x78, 0xcc, 0x00, 0x69, 0xc5, 0xb5, 0x91, 0x8b, 0x69, 0xaf, 0x77, 0x3d, + 0xc7, 0xe5, 0x48, 0x89, +}; +static const unsigned char kat2968_retbits[] = { + 0xb4, 0xc7, 0x9a, 0x91, 0x62, 0xcc, 0x10, 0xd5, 0x52, 0x2c, 0x1f, 0xfd, + 0x32, 0xa2, 0x6b, 0x3f, 0xaf, 0xab, 0xd8, 0xd3, 0x7c, 0x87, 0xb6, 0xba, + 0xa2, 0x7c, 0xdf, 0xea, 0x56, 0x31, 0x23, 0x18, 0xa6, 0x58, 0x81, 0x9e, + 0x70, 0xd9, 0x5b, 0xbe, 0xcc, 0xc6, 0x91, 0x9b, 0x70, 0x0c, 0x88, 0xd5, + 0x3c, 0x10, 0xee, 0x5c, 0x95, 0x49, 0x09, 0x5c, 0xab, 0x30, 0x42, 0x00, + 0x5e, 0xce, 0xa5, 0x96, +}; +static const struct drbg_kat_pr_true kat2968_t = { + 12, kat2968_entropyin, kat2968_nonce, kat2968_persstr, + kat2968_entropyinpr1, kat2968_addinpr1, kat2968_entropyinpr2, + kat2968_addinpr2, kat2968_retbits +}; +static const struct drbg_kat kat2968 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2968_t +}; + +static const unsigned char kat2969_entropyin[] = { + 0x42, 0x58, 0x6d, 0xb7, 0x3f, 0x86, 0x56, 0xea, 0x70, 0xe5, 0xad, 0x27, + 0x84, 0x0e, 0x1b, 0x67, +}; +static const unsigned char kat2969_nonce[] = { + 0x40, 0xc9, 0xfd, 0xa1, 0x83, 0x21, 0x27, 0x37, +}; +static const unsigned char kat2969_persstr[] = {0}; +static const unsigned char kat2969_entropyinpr1[] = { + 0x15, 0xd6, 0x3c, 0x43, 0x76, 0x9f, 0x16, 0xe5, 0x16, 0x68, 0xd7, 0xfa, + 0x50, 0x9f, 0x0d, 0xb5, +}; +static const unsigned char kat2969_addinpr1[] = { + 0xab, 0xb3, 0xe3, 0x4c, 0x36, 0x07, 0x68, 0xb1, 0xbe, 0xcb, 0x80, 0x57, + 0x10, 0x6e, 0x97, 0x1d, +}; +static const unsigned char kat2969_entropyinpr2[] = { + 0x98, 0x97, 0xe6, 0x3b, 0xb4, 0x06, 0x0b, 0x72, 0xd3, 0x75, 0xd0, 0x38, + 0xd8, 0x2e, 0xae, 0x03, +}; +static const unsigned char kat2969_addinpr2[] = { + 0x7f, 0xe8, 0x32, 0xa8, 0xc4, 0x7c, 0x9e, 0x87, 0x3c, 0xf1, 0xd1, 0xad, + 0x8c, 0xf6, 0x37, 0xd4, +}; +static const unsigned char kat2969_retbits[] = { + 0x0a, 0xec, 0xfd, 0xf5, 0xf5, 0x18, 0x42, 0x46, 0xe7, 0xcc, 0x26, 0x4f, + 0x65, 0xcb, 0x68, 0x15, 0x8e, 0x94, 0x6c, 0x0f, 0x21, 0x79, 0x76, 0xea, + 0xd0, 0xa9, 0x20, 0x65, 0xf1, 0xf1, 0x89, 0xe4, 0x4c, 0xd8, 0x6c, 0x8a, + 0x4d, 0xe9, 0x1d, 0xb1, 0x4a, 0xc2, 0x35, 0xd6, 0xa9, 0x40, 0xa6, 0x40, + 0x4a, 0x3b, 0xc3, 0xb1, 0xd9, 0xe4, 0xc1, 0x96, 0xdf, 0x4a, 0x6f, 0x3d, + 0x3c, 0x6a, 0xe4, 0x14, +}; +static const struct drbg_kat_pr_true kat2969_t = { + 13, kat2969_entropyin, kat2969_nonce, kat2969_persstr, + kat2969_entropyinpr1, kat2969_addinpr1, kat2969_entropyinpr2, + kat2969_addinpr2, kat2969_retbits +}; +static const struct drbg_kat kat2969 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2969_t +}; + +static const unsigned char kat2970_entropyin[] = { + 0xc3, 0x43, 0x03, 0x16, 0xd2, 0x71, 0xb5, 0x8a, 0x7b, 0xfa, 0x40, 0xc2, + 0x96, 0x69, 0xba, 0xba, +}; +static const unsigned char kat2970_nonce[] = { + 0xbe, 0x4b, 0x5e, 0x27, 0x65, 0xec, 0x1f, 0x03, +}; +static const unsigned char kat2970_persstr[] = {0}; +static const unsigned char kat2970_entropyinpr1[] = { + 0xa8, 0x27, 0x0e, 0xdf, 0xe3, 0x0f, 0xe5, 0x8b, 0xcc, 0x47, 0x67, 0x7a, + 0x14, 0x88, 0xd1, 0x5f, +}; +static const unsigned char kat2970_addinpr1[] = { + 0x14, 0x78, 0x4a, 0x87, 0xe4, 0xf9, 0x70, 0xfa, 0xf8, 0x69, 0x5d, 0xd4, + 0x91, 0xb2, 0xd0, 0x65, +}; +static const unsigned char kat2970_entropyinpr2[] = { + 0x65, 0x63, 0xbc, 0x22, 0x9e, 0x14, 0xc3, 0xa5, 0x92, 0x5d, 0x99, 0x93, + 0xf9, 0x3f, 0x8e, 0x00, +}; +static const unsigned char kat2970_addinpr2[] = { + 0x06, 0x1f, 0x8c, 0xfd, 0x6b, 0xbe, 0x66, 0x98, 0x14, 0x09, 0xdd, 0xe8, + 0x45, 0x23, 0x66, 0xd0, +}; +static const unsigned char kat2970_retbits[] = { + 0xb9, 0x0c, 0xf4, 0xc5, 0xfd, 0x85, 0x15, 0x09, 0x05, 0x96, 0xbe, 0x71, + 0xd9, 0x68, 0x63, 0xdb, 0xb5, 0xfc, 0x0a, 0xc9, 0x15, 0x8c, 0x9d, 0x90, + 0x95, 0xdc, 0xde, 0x0e, 0xe3, 0xb8, 0x9d, 0x8d, 0x7c, 0x5d, 0xfb, 0x1c, + 0x8b, 0xa7, 0x5e, 0x5d, 0xea, 0x91, 0x94, 0xd8, 0x65, 0x50, 0x22, 0xbf, + 0xa9, 0xd7, 0xaa, 0x8a, 0x95, 0x1e, 0x2f, 0x31, 0xcf, 0xfd, 0x83, 0x0a, + 0xf2, 0x04, 0xd7, 0xd7, +}; +static const struct drbg_kat_pr_true kat2970_t = { + 14, kat2970_entropyin, kat2970_nonce, kat2970_persstr, + kat2970_entropyinpr1, kat2970_addinpr1, kat2970_entropyinpr2, + kat2970_addinpr2, kat2970_retbits +}; +static const struct drbg_kat kat2970 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat2970_t +}; + +static const unsigned char kat2971_entropyin[] = { + 0xd7, 0x05, 0xaa, 0xf4, 0x8f, 0x69, 0x6a, 0x5a, 0xb5, 0xdd, 0xdd, 0xc6, + 0xef, 0xb7, 0xd5, 0x94, +}; +static const unsigned char kat2971_nonce[] = { + 0x11, 0x6a, 0x95, 0xcd, 0x47, 0x2a, 0x9c, 0xb0, +}; +static const unsigned char kat2971_persstr[] = { + 0x73, 0xce, 0xff, 0x34, 0x8b, 0x52, 0x60, 0xde, 0x7e, 0x87, 0xdd, 0xb2, + 0x2b, 0xfd, 0xc7, 0xd7, +}; +static const unsigned char kat2971_entropyinpr1[] = { + 0x7e, 0xa6, 0x57, 0x24, 0x58, 0x47, 0xdd, 0x4c, 0x01, 0x17, 0x8d, 0x80, + 0xf0, 0xb5, 0xb1, 0xd5, +}; +static const unsigned char kat2971_addinpr1[] = {0}; +static const unsigned char kat2971_entropyinpr2[] = { + 0xe0, 0xdf, 0xa3, 0xa2, 0x31, 0xa8, 0xae, 0x55, 0x0f, 0x85, 0x83, 0x49, + 0x06, 0xe4, 0xa2, 0xf6, +}; +static const unsigned char kat2971_addinpr2[] = {0}; +static const unsigned char kat2971_retbits[] = { + 0x0d, 0x1e, 0x63, 0xad, 0x35, 0xa0, 0x20, 0xbd, 0x81, 0x91, 0xb6, 0xca, + 0x8a, 0x1a, 0x1f, 0x75, 0x8e, 0x6f, 0x1d, 0x68, 0x93, 0xc2, 0xc8, 0x48, + 0xb9, 0xf1, 0x4b, 0x4e, 0xae, 0x86, 0xd4, 0xb2, 0x03, 0xdf, 0x8e, 0xa4, + 0xb4, 0x7d, 0x0b, 0x86, 0x8c, 0x0a, 0xd7, 0x8c, 0xe6, 0xf4, 0xa6, 0x38, + 0x63, 0x8c, 0xfe, 0x6d, 0x5a, 0x62, 0xc6, 0xe2, 0x4e, 0x95, 0x50, 0xaa, + 0x82, 0xa2, 0x6c, 0x47, +}; +static const struct drbg_kat_pr_true kat2971_t = { + 0, kat2971_entropyin, kat2971_nonce, kat2971_persstr, + kat2971_entropyinpr1, kat2971_addinpr1, kat2971_entropyinpr2, + kat2971_addinpr2, kat2971_retbits +}; +static const struct drbg_kat kat2971 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2971_t +}; + +static const unsigned char kat2972_entropyin[] = { + 0x18, 0xc2, 0x7d, 0xf5, 0x1d, 0x57, 0x0d, 0xe0, 0x44, 0xe1, 0xc2, 0x91, + 0xf1, 0xda, 0xd8, 0x1d, +}; +static const unsigned char kat2972_nonce[] = { + 0x31, 0x19, 0x12, 0xfb, 0xa9, 0x7e, 0x43, 0x33, +}; +static const unsigned char kat2972_persstr[] = { + 0x30, 0x07, 0xed, 0xe2, 0x05, 0xa7, 0x40, 0xf0, 0x5e, 0x46, 0x00, 0x21, + 0xe0, 0x86, 0xe7, 0xda, +}; +static const unsigned char kat2972_entropyinpr1[] = { + 0x31, 0xba, 0x77, 0x25, 0x92, 0xf8, 0x6b, 0xf2, 0xb3, 0xeb, 0x9b, 0x9c, + 0x79, 0x2b, 0xac, 0xd2, +}; +static const unsigned char kat2972_addinpr1[] = {0}; +static const unsigned char kat2972_entropyinpr2[] = { + 0x41, 0x83, 0x2c, 0x5d, 0xe9, 0xb2, 0xad, 0xa2, 0xef, 0xb0, 0x1b, 0x15, + 0x74, 0x0e, 0x75, 0x19, +}; +static const unsigned char kat2972_addinpr2[] = {0}; +static const unsigned char kat2972_retbits[] = { + 0xda, 0x11, 0xfb, 0xcf, 0x2c, 0xae, 0x28, 0xd1, 0x9d, 0x9a, 0xb6, 0xcd, + 0x8c, 0xc8, 0x65, 0x96, 0x8f, 0xc0, 0x9a, 0x61, 0x6d, 0xce, 0xad, 0x57, + 0x72, 0xbf, 0x05, 0xbb, 0x8c, 0x16, 0x64, 0x26, 0x9b, 0xcd, 0x8b, 0xb2, + 0x01, 0x16, 0x51, 0x82, 0x48, 0x1c, 0x65, 0x03, 0x29, 0xa8, 0x7a, 0x27, + 0x38, 0x72, 0x36, 0x36, 0x44, 0x6f, 0x4b, 0x38, 0x1c, 0x78, 0x7e, 0xbe, + 0xcc, 0x89, 0xfb, 0x68, +}; +static const struct drbg_kat_pr_true kat2972_t = { + 1, kat2972_entropyin, kat2972_nonce, kat2972_persstr, + kat2972_entropyinpr1, kat2972_addinpr1, kat2972_entropyinpr2, + kat2972_addinpr2, kat2972_retbits +}; +static const struct drbg_kat kat2972 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2972_t +}; + +static const unsigned char kat2973_entropyin[] = { + 0xa2, 0x95, 0xd5, 0x57, 0x06, 0x7c, 0xcb, 0x87, 0xd1, 0xe8, 0xfc, 0x74, + 0xb6, 0x11, 0x85, 0x95, +}; +static const unsigned char kat2973_nonce[] = { + 0x36, 0x49, 0xf0, 0x4e, 0xf9, 0x94, 0x1f, 0x5a, +}; +static const unsigned char kat2973_persstr[] = { + 0xac, 0xe6, 0x73, 0x0e, 0x9f, 0xdd, 0x8d, 0xc4, 0xad, 0xfa, 0xd6, 0x04, + 0x26, 0xe2, 0x60, 0x7b, +}; +static const unsigned char kat2973_entropyinpr1[] = { + 0x9d, 0xe9, 0x5f, 0x6e, 0x86, 0x7c, 0xc0, 0xc3, 0x4e, 0x6c, 0xb3, 0xe4, + 0x52, 0x6f, 0x89, 0x7a, +}; +static const unsigned char kat2973_addinpr1[] = {0}; +static const unsigned char kat2973_entropyinpr2[] = { + 0xa0, 0x72, 0x01, 0x8d, 0xe3, 0x90, 0xbf, 0x38, 0x90, 0x72, 0xa1, 0xad, + 0x80, 0xce, 0x93, 0x5d, +}; +static const unsigned char kat2973_addinpr2[] = {0}; +static const unsigned char kat2973_retbits[] = { + 0x60, 0x56, 0x2b, 0x95, 0x09, 0x80, 0x77, 0xb9, 0x05, 0x4f, 0x4c, 0xf5, + 0xb5, 0x11, 0x7b, 0xc9, 0xfe, 0x10, 0x42, 0xa2, 0x2f, 0xda, 0x50, 0xdc, + 0x9f, 0x95, 0xde, 0x8f, 0x2c, 0x19, 0x21, 0x6b, 0x30, 0x12, 0x50, 0x82, + 0xbe, 0x8e, 0x89, 0x95, 0x24, 0xf0, 0xac, 0x49, 0x92, 0xeb, 0xb7, 0xdf, + 0xce, 0x36, 0xe8, 0x15, 0x2a, 0x71, 0x10, 0xc9, 0x54, 0x29, 0x39, 0xb7, + 0x8a, 0xce, 0x1b, 0xac, +}; +static const struct drbg_kat_pr_true kat2973_t = { + 2, kat2973_entropyin, kat2973_nonce, kat2973_persstr, + kat2973_entropyinpr1, kat2973_addinpr1, kat2973_entropyinpr2, + kat2973_addinpr2, kat2973_retbits +}; +static const struct drbg_kat kat2973 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2973_t +}; + +static const unsigned char kat2974_entropyin[] = { + 0x8c, 0x4e, 0x18, 0x30, 0xb5, 0xb7, 0x24, 0x02, 0x86, 0xc6, 0xb2, 0xd2, + 0x08, 0x43, 0x34, 0x12, +}; +static const unsigned char kat2974_nonce[] = { + 0x00, 0x1c, 0xa8, 0xce, 0xd8, 0x94, 0xae, 0x12, +}; +static const unsigned char kat2974_persstr[] = { + 0x2b, 0x54, 0x34, 0x40, 0x29, 0x76, 0x3f, 0x73, 0xc4, 0x0e, 0xf8, 0x98, + 0xa6, 0xe7, 0xa9, 0x6c, +}; +static const unsigned char kat2974_entropyinpr1[] = { + 0xc5, 0xa1, 0x75, 0x32, 0x88, 0x28, 0xff, 0x3e, 0x62, 0x4a, 0x06, 0x56, + 0xb4, 0x08, 0xe5, 0x16, +}; +static const unsigned char kat2974_addinpr1[] = {0}; +static const unsigned char kat2974_entropyinpr2[] = { + 0x8d, 0x6e, 0x95, 0x00, 0x6f, 0x5b, 0x29, 0x91, 0xae, 0x4d, 0xcf, 0xaa, + 0x3f, 0x74, 0xaa, 0x77, +}; +static const unsigned char kat2974_addinpr2[] = {0}; +static const unsigned char kat2974_retbits[] = { + 0xb2, 0x1a, 0xaf, 0xc7, 0xc0, 0x90, 0xa8, 0x16, 0xcb, 0x85, 0xcc, 0x94, + 0x34, 0x79, 0x1c, 0x81, 0x0f, 0xc8, 0x04, 0x41, 0x56, 0xf1, 0xb3, 0xea, + 0x35, 0x87, 0xb2, 0x70, 0x1b, 0x6d, 0x23, 0x5f, 0xc2, 0xd5, 0xa5, 0xed, + 0x48, 0x40, 0xf5, 0xf8, 0xf6, 0x49, 0x4f, 0x12, 0x9e, 0xa6, 0x0d, 0x64, + 0x05, 0xf4, 0xec, 0x76, 0xaa, 0x10, 0x18, 0xd9, 0xb9, 0x7f, 0x0a, 0x3c, + 0xa1, 0x32, 0x50, 0xbf, +}; +static const struct drbg_kat_pr_true kat2974_t = { + 3, kat2974_entropyin, kat2974_nonce, kat2974_persstr, + kat2974_entropyinpr1, kat2974_addinpr1, kat2974_entropyinpr2, + kat2974_addinpr2, kat2974_retbits +}; +static const struct drbg_kat kat2974 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2974_t +}; + +static const unsigned char kat2975_entropyin[] = { + 0xb3, 0x59, 0x5b, 0x6a, 0x90, 0x1c, 0xc9, 0xe8, 0x64, 0xbf, 0x3f, 0x9a, + 0xc4, 0x9c, 0x53, 0x72, +}; +static const unsigned char kat2975_nonce[] = { + 0x75, 0x9f, 0x07, 0x6d, 0xf8, 0x7b, 0xb9, 0xce, +}; +static const unsigned char kat2975_persstr[] = { + 0x58, 0x1a, 0xa6, 0x3b, 0xa4, 0xe9, 0x73, 0x45, 0x92, 0xa9, 0x1f, 0xd7, + 0x26, 0x4b, 0x14, 0x24, +}; +static const unsigned char kat2975_entropyinpr1[] = { + 0x67, 0xd6, 0xef, 0x6b, 0x68, 0x2a, 0x92, 0x3e, 0x9f, 0x0c, 0xad, 0x08, + 0xec, 0x71, 0x58, 0x8c, +}; +static const unsigned char kat2975_addinpr1[] = {0}; +static const unsigned char kat2975_entropyinpr2[] = { + 0xd1, 0x2b, 0x19, 0xf2, 0x6a, 0x69, 0xe6, 0x26, 0x1b, 0x8e, 0x5b, 0x6d, + 0xd7, 0x9a, 0xb0, 0xee, +}; +static const unsigned char kat2975_addinpr2[] = {0}; +static const unsigned char kat2975_retbits[] = { + 0xe1, 0x32, 0x97, 0x6f, 0x83, 0x49, 0xd4, 0x8b, 0xc5, 0x33, 0x27, 0xdc, + 0xd4, 0x9f, 0x31, 0x41, 0x76, 0x00, 0x67, 0x24, 0x23, 0x85, 0xf6, 0xe1, + 0x80, 0xa4, 0xdc, 0xdb, 0x28, 0xe4, 0x09, 0xeb, 0x5c, 0x88, 0x12, 0x55, + 0x4d, 0xb1, 0x1d, 0xc4, 0xdf, 0x0b, 0x9e, 0x05, 0x35, 0x23, 0x28, 0x31, + 0xf3, 0x70, 0x60, 0xfd, 0xcb, 0x0f, 0xc5, 0x55, 0x4a, 0xfd, 0x7c, 0xe2, + 0x29, 0x5d, 0x65, 0xc9, +}; +static const struct drbg_kat_pr_true kat2975_t = { + 4, kat2975_entropyin, kat2975_nonce, kat2975_persstr, + kat2975_entropyinpr1, kat2975_addinpr1, kat2975_entropyinpr2, + kat2975_addinpr2, kat2975_retbits +}; +static const struct drbg_kat kat2975 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2975_t +}; + +static const unsigned char kat2976_entropyin[] = { + 0x4b, 0xaa, 0xb6, 0xe2, 0x1d, 0x40, 0x4f, 0x94, 0xe8, 0xce, 0xa6, 0x4d, + 0xb4, 0xd6, 0x0f, 0x32, +}; +static const unsigned char kat2976_nonce[] = { + 0xa9, 0xab, 0x4a, 0x57, 0x01, 0xac, 0x32, 0x2f, +}; +static const unsigned char kat2976_persstr[] = { + 0xc2, 0x34, 0x28, 0x9d, 0x97, 0x80, 0xa9, 0x72, 0x41, 0x42, 0x7a, 0x6e, + 0x83, 0x01, 0xcd, 0xb3, +}; +static const unsigned char kat2976_entropyinpr1[] = { + 0x1a, 0xa1, 0xd7, 0x3e, 0xb6, 0xd3, 0x8c, 0x67, 0xa3, 0x54, 0x1b, 0x44, + 0xc5, 0x2c, 0x84, 0x32, +}; +static const unsigned char kat2976_addinpr1[] = {0}; +static const unsigned char kat2976_entropyinpr2[] = { + 0x87, 0x7a, 0xb4, 0xcd, 0x2f, 0xa1, 0xc6, 0xd8, 0xe3, 0x1b, 0xc8, 0x7f, + 0xdf, 0x26, 0x81, 0xe5, +}; +static const unsigned char kat2976_addinpr2[] = {0}; +static const unsigned char kat2976_retbits[] = { + 0xc4, 0x48, 0x70, 0xff, 0x58, 0xe4, 0xa2, 0x5d, 0xfc, 0xd1, 0x4e, 0x73, + 0x08, 0x4b, 0x88, 0x40, 0xf5, 0x96, 0x69, 0x9c, 0xce, 0x0f, 0x51, 0x94, + 0x3a, 0x4e, 0xfe, 0x6c, 0x1f, 0x2e, 0x4e, 0x61, 0xc8, 0x2f, 0x4d, 0xb5, + 0xe2, 0x75, 0xa9, 0x6e, 0x03, 0x5a, 0xfc, 0x35, 0x02, 0xec, 0x2e, 0xd1, + 0x52, 0xf4, 0x53, 0x16, 0x2d, 0x97, 0xc0, 0xc9, 0x02, 0x52, 0x58, 0xdc, + 0x80, 0x21, 0xef, 0x2c, +}; +static const struct drbg_kat_pr_true kat2976_t = { + 5, kat2976_entropyin, kat2976_nonce, kat2976_persstr, + kat2976_entropyinpr1, kat2976_addinpr1, kat2976_entropyinpr2, + kat2976_addinpr2, kat2976_retbits +}; +static const struct drbg_kat kat2976 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2976_t +}; + +static const unsigned char kat2977_entropyin[] = { + 0xf7, 0x9a, 0x4a, 0xa7, 0xb3, 0x81, 0x5e, 0x5c, 0x1a, 0xeb, 0x17, 0x65, + 0x20, 0x01, 0x63, 0xba, +}; +static const unsigned char kat2977_nonce[] = { + 0xbe, 0x93, 0xad, 0x06, 0x47, 0xe1, 0xdb, 0x26, +}; +static const unsigned char kat2977_persstr[] = { + 0xd1, 0xc3, 0x44, 0x51, 0x8f, 0x33, 0x12, 0x30, 0x40, 0x00, 0x61, 0xfc, + 0xe2, 0xf1, 0x88, 0xed, +}; +static const unsigned char kat2977_entropyinpr1[] = { + 0xb3, 0x55, 0x4b, 0xf0, 0xc6, 0x2d, 0x76, 0x03, 0xc0, 0xf8, 0x95, 0xdf, + 0xa7, 0x3a, 0x75, 0x5c, +}; +static const unsigned char kat2977_addinpr1[] = {0}; +static const unsigned char kat2977_entropyinpr2[] = { + 0xf6, 0xbf, 0x07, 0xe1, 0x42, 0x35, 0x55, 0xbc, 0x53, 0x23, 0x8e, 0xe3, + 0xd6, 0x9b, 0x9e, 0x3e, +}; +static const unsigned char kat2977_addinpr2[] = {0}; +static const unsigned char kat2977_retbits[] = { + 0xdf, 0xf6, 0x6e, 0x02, 0x5a, 0xc4, 0x77, 0xe5, 0x56, 0x7b, 0x53, 0xa0, + 0xc2, 0x72, 0x44, 0xf6, 0x27, 0xc1, 0xd3, 0xe6, 0xdd, 0x15, 0xb2, 0x39, + 0xea, 0x97, 0x12, 0x38, 0x5e, 0xd3, 0x06, 0xad, 0xc3, 0xcf, 0x2d, 0xe9, + 0x9f, 0x5e, 0x8a, 0xe4, 0xa4, 0xed, 0x47, 0xf7, 0x19, 0xfc, 0x2f, 0xfe, + 0xd2, 0x2c, 0x74, 0x8b, 0x09, 0x1a, 0x16, 0xb5, 0xa6, 0x43, 0xb1, 0xbf, + 0x18, 0x03, 0xa2, 0x9d, +}; +static const struct drbg_kat_pr_true kat2977_t = { + 6, kat2977_entropyin, kat2977_nonce, kat2977_persstr, + kat2977_entropyinpr1, kat2977_addinpr1, kat2977_entropyinpr2, + kat2977_addinpr2, kat2977_retbits +}; +static const struct drbg_kat kat2977 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2977_t +}; + +static const unsigned char kat2978_entropyin[] = { + 0x7e, 0x20, 0xa3, 0x5f, 0x3e, 0xf9, 0x33, 0xf8, 0x95, 0xf9, 0x09, 0x47, + 0x65, 0x80, 0x89, 0xfc, +}; +static const unsigned char kat2978_nonce[] = { + 0x12, 0xd3, 0xdd, 0xca, 0xca, 0xc3, 0x13, 0x26, +}; +static const unsigned char kat2978_persstr[] = { + 0xd5, 0x65, 0xcd, 0x19, 0xa9, 0x94, 0x5f, 0xe2, 0x85, 0xa7, 0xdd, 0x3a, + 0xd0, 0xed, 0x69, 0x82, +}; +static const unsigned char kat2978_entropyinpr1[] = { + 0xd2, 0x8b, 0xdd, 0xcc, 0xeb, 0x0f, 0x9e, 0x04, 0x77, 0xee, 0xa7, 0x02, + 0xaf, 0xdf, 0x21, 0x25, +}; +static const unsigned char kat2978_addinpr1[] = {0}; +static const unsigned char kat2978_entropyinpr2[] = { + 0x4f, 0x62, 0xa1, 0x26, 0x49, 0x28, 0x3d, 0x74, 0xdd, 0x30, 0x25, 0xc1, + 0x8f, 0x4a, 0xc1, 0x00, +}; +static const unsigned char kat2978_addinpr2[] = {0}; +static const unsigned char kat2978_retbits[] = { + 0xe2, 0xbf, 0xab, 0x30, 0x13, 0xc4, 0xbc, 0xf8, 0xa1, 0x21, 0x7d, 0x72, + 0xf2, 0xf7, 0x03, 0x83, 0xb6, 0xc7, 0x51, 0x42, 0x58, 0xb0, 0x02, 0x68, + 0x8b, 0x9c, 0xd0, 0xde, 0x5d, 0x8e, 0x7c, 0xec, 0x72, 0xb8, 0x2e, 0x64, + 0x2a, 0x48, 0x13, 0x92, 0x1c, 0xce, 0x94, 0x50, 0x61, 0x90, 0xed, 0x45, + 0xe7, 0xe3, 0xf8, 0x2d, 0x87, 0xb1, 0x68, 0x7c, 0xa7, 0xcd, 0x3d, 0x82, + 0xa3, 0xf9, 0x64, 0x80, +}; +static const struct drbg_kat_pr_true kat2978_t = { + 7, kat2978_entropyin, kat2978_nonce, kat2978_persstr, + kat2978_entropyinpr1, kat2978_addinpr1, kat2978_entropyinpr2, + kat2978_addinpr2, kat2978_retbits +}; +static const struct drbg_kat kat2978 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2978_t +}; + +static const unsigned char kat2979_entropyin[] = { + 0xc0, 0xac, 0xa4, 0x25, 0x76, 0x84, 0x20, 0xdd, 0xec, 0x4c, 0xc0, 0x3a, + 0x33, 0x80, 0x8f, 0x77, +}; +static const unsigned char kat2979_nonce[] = { + 0x22, 0x56, 0x8a, 0x86, 0xba, 0x8c, 0x83, 0xe7, +}; +static const unsigned char kat2979_persstr[] = { + 0x92, 0xf9, 0xc7, 0xb6, 0x2d, 0x4c, 0xe2, 0xec, 0x14, 0x96, 0xfd, 0x16, + 0xfb, 0xdc, 0xd7, 0xf6, +}; +static const unsigned char kat2979_entropyinpr1[] = { + 0x3f, 0xbf, 0xc6, 0xda, 0xe2, 0x8b, 0x73, 0xc0, 0xa2, 0x64, 0x62, 0xa1, + 0xf1, 0xac, 0x0c, 0xa3, +}; +static const unsigned char kat2979_addinpr1[] = {0}; +static const unsigned char kat2979_entropyinpr2[] = { + 0xdb, 0x25, 0x6a, 0xc7, 0x32, 0xf8, 0x12, 0x89, 0x34, 0xcb, 0x9a, 0x97, + 0xc8, 0xbe, 0xa3, 0x5e, +}; +static const unsigned char kat2979_addinpr2[] = {0}; +static const unsigned char kat2979_retbits[] = { + 0xaa, 0xf9, 0xfa, 0xed, 0x83, 0xa8, 0x5f, 0xc9, 0xf1, 0x29, 0xc7, 0x81, + 0x80, 0xcd, 0xa0, 0x0e, 0x44, 0xf5, 0x46, 0xc1, 0xf2, 0x86, 0x20, 0x99, + 0xd8, 0x01, 0x9e, 0xcd, 0x32, 0x1c, 0xc5, 0x1e, 0x64, 0xe1, 0x3c, 0x9d, + 0x30, 0x53, 0x18, 0xbf, 0xf4, 0x47, 0x20, 0xcb, 0x5b, 0x7e, 0xf7, 0x94, + 0xd2, 0xe0, 0xca, 0x81, 0xaf, 0x91, 0xda, 0x65, 0x43, 0xa3, 0x7e, 0xca, + 0x62, 0x6b, 0xfd, 0x01, +}; +static const struct drbg_kat_pr_true kat2979_t = { + 8, kat2979_entropyin, kat2979_nonce, kat2979_persstr, + kat2979_entropyinpr1, kat2979_addinpr1, kat2979_entropyinpr2, + kat2979_addinpr2, kat2979_retbits +}; +static const struct drbg_kat kat2979 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2979_t +}; + +static const unsigned char kat2980_entropyin[] = { + 0xc3, 0xdf, 0x98, 0xf5, 0xa0, 0xa3, 0x8a, 0xd1, 0xd1, 0x5f, 0xc3, 0x95, + 0xfe, 0x8a, 0x08, 0xcb, +}; +static const unsigned char kat2980_nonce[] = { + 0xcc, 0x9b, 0xa4, 0x20, 0xa2, 0x1a, 0x1f, 0x11, +}; +static const unsigned char kat2980_persstr[] = { + 0x81, 0x32, 0x18, 0x5d, 0x85, 0x60, 0x86, 0x3c, 0x09, 0xdc, 0xf4, 0x15, + 0xea, 0x51, 0xd2, 0x7e, +}; +static const unsigned char kat2980_entropyinpr1[] = { + 0x96, 0xdd, 0x30, 0xf3, 0x3a, 0xea, 0xe0, 0xfd, 0x50, 0xe2, 0xe3, 0xa8, + 0x1d, 0x96, 0xf5, 0xd0, +}; +static const unsigned char kat2980_addinpr1[] = {0}; +static const unsigned char kat2980_entropyinpr2[] = { + 0x10, 0x6d, 0x12, 0xcb, 0xf1, 0x24, 0xfe, 0x5c, 0x26, 0x62, 0x89, 0x1c, + 0x01, 0xd5, 0x45, 0xce, +}; +static const unsigned char kat2980_addinpr2[] = {0}; +static const unsigned char kat2980_retbits[] = { + 0x51, 0x33, 0x27, 0x8a, 0x9e, 0xd3, 0x0d, 0x18, 0x84, 0xe1, 0x09, 0x64, + 0x10, 0x01, 0x98, 0x17, 0x50, 0x9e, 0x82, 0x60, 0x65, 0xf5, 0xeb, 0x91, + 0x27, 0x47, 0x12, 0x9b, 0x3c, 0x93, 0xb1, 0x26, 0x97, 0x21, 0xba, 0xce, + 0xc4, 0xd1, 0xaf, 0x9b, 0x5e, 0xe2, 0x2f, 0x23, 0x2a, 0x3a, 0x01, 0xe1, + 0x1c, 0xe3, 0x93, 0xf1, 0x0e, 0xff, 0xb1, 0x31, 0xb8, 0xcd, 0xda, 0x3c, + 0x51, 0x33, 0x50, 0xb5, +}; +static const struct drbg_kat_pr_true kat2980_t = { + 9, kat2980_entropyin, kat2980_nonce, kat2980_persstr, + kat2980_entropyinpr1, kat2980_addinpr1, kat2980_entropyinpr2, + kat2980_addinpr2, kat2980_retbits +}; +static const struct drbg_kat kat2980 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2980_t +}; + +static const unsigned char kat2981_entropyin[] = { + 0xb8, 0x74, 0x18, 0x9f, 0xb6, 0xae, 0x40, 0xfc, 0x45, 0xa7, 0xbe, 0xac, + 0x7e, 0x1d, 0xf9, 0xcc, +}; +static const unsigned char kat2981_nonce[] = { + 0x11, 0x93, 0x12, 0xb7, 0x77, 0x0a, 0x49, 0x6b, +}; +static const unsigned char kat2981_persstr[] = { + 0xad, 0xe1, 0x14, 0x92, 0xaa, 0x18, 0x86, 0xed, 0xd9, 0x1c, 0x1a, 0xb5, + 0xa3, 0xbe, 0x71, 0xdd, +}; +static const unsigned char kat2981_entropyinpr1[] = { + 0xb6, 0x04, 0x48, 0x99, 0x05, 0x6b, 0xb0, 0x4c, 0x27, 0x47, 0xd0, 0x37, + 0xeb, 0xf8, 0x03, 0xda, +}; +static const unsigned char kat2981_addinpr1[] = {0}; +static const unsigned char kat2981_entropyinpr2[] = { + 0x0d, 0x70, 0x4a, 0x06, 0x77, 0xd8, 0xac, 0xb6, 0xcb, 0xff, 0x42, 0xa2, + 0xca, 0x64, 0xec, 0x13, +}; +static const unsigned char kat2981_addinpr2[] = {0}; +static const unsigned char kat2981_retbits[] = { + 0x43, 0x30, 0x80, 0x68, 0x08, 0xe0, 0xa1, 0x82, 0x18, 0x1f, 0x6f, 0x0f, + 0x95, 0xf5, 0x1a, 0x75, 0x4e, 0x6c, 0x1a, 0x6b, 0x1d, 0xeb, 0x3d, 0x49, + 0x0f, 0xd0, 0xad, 0xc0, 0x42, 0xe3, 0xf7, 0xe1, 0x99, 0xf7, 0xa0, 0x85, + 0x84, 0xa0, 0x62, 0x2b, 0xd3, 0x87, 0xa2, 0x6c, 0x89, 0xa8, 0x62, 0x5b, + 0x76, 0xdd, 0x3d, 0xe8, 0x63, 0x04, 0x0a, 0xd6, 0x17, 0x96, 0xaf, 0x87, + 0x31, 0xd9, 0x51, 0xa9, +}; +static const struct drbg_kat_pr_true kat2981_t = { + 10, kat2981_entropyin, kat2981_nonce, kat2981_persstr, + kat2981_entropyinpr1, kat2981_addinpr1, kat2981_entropyinpr2, + kat2981_addinpr2, kat2981_retbits +}; +static const struct drbg_kat kat2981 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2981_t +}; + +static const unsigned char kat2982_entropyin[] = { + 0xea, 0x9d, 0x32, 0x6c, 0xb9, 0xe2, 0xac, 0x1e, 0x84, 0x12, 0xb2, 0xb8, + 0xb2, 0x3f, 0x00, 0x2f, +}; +static const unsigned char kat2982_nonce[] = { + 0x03, 0xc0, 0x90, 0x65, 0x4d, 0xfa, 0xcb, 0x54, +}; +static const unsigned char kat2982_persstr[] = { + 0xb8, 0xab, 0x56, 0x45, 0x28, 0x82, 0xab, 0xc8, 0xc4, 0xbf, 0x7c, 0xe7, + 0x91, 0x2b, 0x14, 0x33, +}; +static const unsigned char kat2982_entropyinpr1[] = { + 0xdc, 0xcd, 0x0e, 0xf1, 0x93, 0xde, 0x23, 0xbb, 0x1a, 0x2d, 0x86, 0x34, + 0x42, 0x0e, 0x64, 0x8b, +}; +static const unsigned char kat2982_addinpr1[] = {0}; +static const unsigned char kat2982_entropyinpr2[] = { + 0xc1, 0x74, 0x11, 0x7b, 0x03, 0x34, 0x0d, 0xf1, 0x7f, 0x2f, 0xc8, 0x7e, + 0x24, 0xfd, 0x7c, 0xca, +}; +static const unsigned char kat2982_addinpr2[] = {0}; +static const unsigned char kat2982_retbits[] = { + 0xd4, 0x0e, 0x95, 0x35, 0xd3, 0xd7, 0x03, 0x5d, 0xff, 0x7a, 0x5b, 0xbe, + 0x59, 0x18, 0x50, 0x96, 0x4e, 0xdf, 0xeb, 0x98, 0xb0, 0x6c, 0x12, 0x56, + 0x26, 0x05, 0xd7, 0x76, 0x62, 0xe5, 0x10, 0x17, 0x65, 0xf7, 0xf7, 0x20, + 0x86, 0x05, 0x7a, 0x07, 0xc6, 0x8e, 0xb0, 0xf1, 0x38, 0xbb, 0x48, 0x11, + 0xa3, 0x33, 0xa8, 0x49, 0xf2, 0x16, 0x38, 0x30, 0xc7, 0x1f, 0xe3, 0xcb, + 0x3f, 0x63, 0xc8, 0xab, +}; +static const struct drbg_kat_pr_true kat2982_t = { + 11, kat2982_entropyin, kat2982_nonce, kat2982_persstr, + kat2982_entropyinpr1, kat2982_addinpr1, kat2982_entropyinpr2, + kat2982_addinpr2, kat2982_retbits +}; +static const struct drbg_kat kat2982 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2982_t +}; + +static const unsigned char kat2983_entropyin[] = { + 0xdf, 0xf4, 0xc5, 0x37, 0x6b, 0xe3, 0x36, 0xf1, 0xa8, 0x61, 0xab, 0x58, + 0xf9, 0xca, 0x6f, 0xf5, +}; +static const unsigned char kat2983_nonce[] = { + 0xf7, 0x86, 0x90, 0xf5, 0x07, 0xfd, 0x71, 0xa5, +}; +static const unsigned char kat2983_persstr[] = { + 0xb1, 0xf9, 0xc1, 0x0b, 0xfd, 0x1f, 0xc5, 0x0e, 0xd7, 0x0b, 0x37, 0x0e, + 0xd8, 0xfc, 0x9c, 0x8c, +}; +static const unsigned char kat2983_entropyinpr1[] = { + 0xf2, 0x3a, 0xab, 0x61, 0xe6, 0x79, 0xe3, 0xec, 0x8e, 0xe0, 0x83, 0x07, + 0x27, 0x62, 0x2d, 0x38, +}; +static const unsigned char kat2983_addinpr1[] = {0}; +static const unsigned char kat2983_entropyinpr2[] = { + 0x09, 0x6d, 0xdb, 0x8a, 0xae, 0x13, 0x0c, 0x15, 0x37, 0x93, 0x73, 0xfd, + 0xb4, 0x9e, 0xed, 0xe4, +}; +static const unsigned char kat2983_addinpr2[] = {0}; +static const unsigned char kat2983_retbits[] = { + 0x95, 0x69, 0x83, 0xf9, 0x65, 0x39, 0x31, 0x59, 0x5c, 0x04, 0x59, 0x02, + 0x51, 0x08, 0xa7, 0xae, 0xf1, 0x3f, 0x1d, 0xde, 0xce, 0x8a, 0x46, 0xb5, + 0x0f, 0x4f, 0x22, 0xb7, 0x5f, 0x62, 0x8e, 0x74, 0xc7, 0x64, 0x21, 0x19, + 0x19, 0xff, 0x06, 0xc9, 0xd1, 0xf1, 0xf8, 0xd5, 0x10, 0x7d, 0x68, 0x42, + 0xaa, 0x37, 0x4a, 0x47, 0xca, 0x03, 0x3a, 0xd9, 0x02, 0xac, 0x2c, 0xe7, + 0x8f, 0xe8, 0x94, 0xa2, +}; +static const struct drbg_kat_pr_true kat2983_t = { + 12, kat2983_entropyin, kat2983_nonce, kat2983_persstr, + kat2983_entropyinpr1, kat2983_addinpr1, kat2983_entropyinpr2, + kat2983_addinpr2, kat2983_retbits +}; +static const struct drbg_kat kat2983 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2983_t +}; + +static const unsigned char kat2984_entropyin[] = { + 0x07, 0x29, 0x97, 0xea, 0x02, 0x39, 0xb0, 0x77, 0x60, 0x26, 0x18, 0x7e, + 0xb7, 0x58, 0xa5, 0x38, +}; +static const unsigned char kat2984_nonce[] = { + 0x2a, 0x54, 0x74, 0x75, 0xc2, 0x35, 0xe4, 0x3f, +}; +static const unsigned char kat2984_persstr[] = { + 0x37, 0xb2, 0xf8, 0x18, 0xc8, 0x0e, 0x77, 0x6e, 0xe8, 0xea, 0xe4, 0x93, + 0xc0, 0xdf, 0xf1, 0x80, +}; +static const unsigned char kat2984_entropyinpr1[] = { + 0x10, 0xf8, 0xa9, 0x83, 0x83, 0xa4, 0x5a, 0x3d, 0x76, 0xc8, 0x7c, 0xb6, + 0x1f, 0xec, 0x82, 0x7e, +}; +static const unsigned char kat2984_addinpr1[] = {0}; +static const unsigned char kat2984_entropyinpr2[] = { + 0x77, 0xa9, 0x54, 0x71, 0x3b, 0xa0, 0x44, 0x85, 0x15, 0x64, 0xbf, 0x96, + 0xd6, 0x64, 0x0f, 0xe8, +}; +static const unsigned char kat2984_addinpr2[] = {0}; +static const unsigned char kat2984_retbits[] = { + 0x40, 0x9a, 0x70, 0x34, 0x36, 0x2e, 0x74, 0x26, 0x9b, 0xcd, 0x91, 0x8a, + 0xec, 0x93, 0xa4, 0xf1, 0xf1, 0xeb, 0x23, 0xb2, 0xb4, 0x97, 0xff, 0x0a, + 0xd1, 0xc9, 0x60, 0x68, 0x48, 0x44, 0xda, 0x2a, 0x18, 0x6e, 0x47, 0x3a, + 0x8f, 0xbe, 0xc3, 0xfe, 0xef, 0x80, 0x03, 0x29, 0x9b, 0x8c, 0xaf, 0xf7, + 0x23, 0xe1, 0xb3, 0x21, 0x2d, 0xf7, 0x9a, 0x71, 0xdc, 0xa5, 0xaf, 0x97, + 0xe3, 0x2c, 0x05, 0xaf, +}; +static const struct drbg_kat_pr_true kat2984_t = { + 13, kat2984_entropyin, kat2984_nonce, kat2984_persstr, + kat2984_entropyinpr1, kat2984_addinpr1, kat2984_entropyinpr2, + kat2984_addinpr2, kat2984_retbits +}; +static const struct drbg_kat kat2984 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2984_t +}; + +static const unsigned char kat2985_entropyin[] = { + 0x0c, 0x45, 0xd7, 0x4b, 0xd2, 0x62, 0x6a, 0x07, 0xb4, 0x79, 0x38, 0x77, + 0x92, 0xa8, 0xab, 0x83, +}; +static const unsigned char kat2985_nonce[] = { + 0x07, 0xb5, 0x0e, 0xcd, 0x33, 0x70, 0x86, 0x0d, +}; +static const unsigned char kat2985_persstr[] = { + 0xcb, 0x3f, 0x39, 0x79, 0x0f, 0xe2, 0x9e, 0xb8, 0x62, 0x62, 0x2b, 0x5a, + 0xe4, 0xc0, 0xf0, 0xd7, +}; +static const unsigned char kat2985_entropyinpr1[] = { + 0xa3, 0xf5, 0x05, 0xe0, 0x07, 0x3a, 0xe4, 0x8d, 0xda, 0xe9, 0x40, 0x19, + 0x8f, 0x72, 0x3d, 0x5c, +}; +static const unsigned char kat2985_addinpr1[] = {0}; +static const unsigned char kat2985_entropyinpr2[] = { + 0xc7, 0x4e, 0xe2, 0x8f, 0xdb, 0x81, 0x39, 0x59, 0xa7, 0xb8, 0x36, 0xfb, + 0x02, 0x4f, 0xa7, 0x95, +}; +static const unsigned char kat2985_addinpr2[] = {0}; +static const unsigned char kat2985_retbits[] = { + 0x2a, 0x68, 0x87, 0x12, 0x36, 0x00, 0x1a, 0xf9, 0xd1, 0x15, 0x49, 0x84, + 0xfd, 0xa1, 0xa9, 0xfc, 0x3d, 0x80, 0x80, 0x5f, 0xd3, 0x97, 0x24, 0x09, + 0x27, 0xc5, 0xae, 0xdf, 0xf5, 0xdf, 0xe0, 0x53, 0xfc, 0x26, 0x91, 0xe8, + 0x9d, 0x53, 0x7b, 0x6f, 0xd2, 0xd8, 0x3b, 0x54, 0x21, 0xd5, 0x34, 0x53, + 0x9f, 0xf5, 0x6b, 0x48, 0xfa, 0x39, 0xdd, 0xc0, 0x90, 0xf6, 0x58, 0xf6, + 0xc1, 0xab, 0x88, 0xad, +}; +static const struct drbg_kat_pr_true kat2985_t = { + 14, kat2985_entropyin, kat2985_nonce, kat2985_persstr, + kat2985_entropyinpr1, kat2985_addinpr1, kat2985_entropyinpr2, + kat2985_addinpr2, kat2985_retbits +}; +static const struct drbg_kat kat2985 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat2985_t +}; + +static const unsigned char kat2986_entropyin[] = { + 0x0b, 0x02, 0x60, 0xd0, 0x2c, 0xb7, 0x9f, 0xb2, 0xad, 0xa4, 0xd0, 0xdf, + 0x88, 0xcb, 0x32, 0x48, +}; +static const unsigned char kat2986_nonce[] = { + 0xde, 0x13, 0xd8, 0x59, 0x66, 0x8e, 0x49, 0xb3, +}; +static const unsigned char kat2986_persstr[] = { + 0x91, 0x2b, 0x15, 0x12, 0xe6, 0x4d, 0xbd, 0xac, 0x5d, 0xa9, 0x80, 0x08, + 0xfa, 0x77, 0x1b, 0xc5, +}; +static const unsigned char kat2986_entropyinpr1[] = { + 0x5e, 0x2c, 0x67, 0xc9, 0x0d, 0x83, 0x12, 0xfd, 0xc5, 0x19, 0xa6, 0x25, + 0xa0, 0xb7, 0xed, 0x7b, +}; +static const unsigned char kat2986_addinpr1[] = { + 0x69, 0xc8, 0x5a, 0x47, 0x12, 0x6f, 0xf9, 0x30, 0x68, 0x5c, 0x8c, 0xaf, + 0x6c, 0x56, 0xb9, 0x17, +}; +static const unsigned char kat2986_entropyinpr2[] = { + 0x10, 0xdd, 0x71, 0xab, 0x4e, 0x03, 0x7f, 0xc2, 0x92, 0xeb, 0x23, 0xe1, + 0xb3, 0xc0, 0x0b, 0xf1, +}; +static const unsigned char kat2986_addinpr2[] = { + 0x51, 0xe9, 0xd4, 0xae, 0x6b, 0xfa, 0xc0, 0x2f, 0x97, 0x02, 0x39, 0x54, + 0x54, 0x5b, 0x6e, 0x36, +}; +static const unsigned char kat2986_retbits[] = { + 0x2c, 0x06, 0xee, 0x22, 0xf7, 0xcf, 0x62, 0xcf, 0x70, 0x9c, 0x12, 0x3e, + 0xa0, 0xc2, 0x52, 0x59, 0x17, 0x2f, 0x0c, 0xd8, 0x30, 0x7a, 0xfd, 0xb8, + 0xb3, 0xbb, 0xc2, 0x81, 0xac, 0xc8, 0x5a, 0xed, 0x7a, 0xff, 0x8e, 0xd9, + 0xfa, 0xb6, 0x32, 0xf4, 0xd0, 0x78, 0x36, 0x6d, 0x55, 0x74, 0x80, 0xb9, + 0xb8, 0xc9, 0xb7, 0xae, 0xa1, 0xb0, 0x92, 0x0d, 0x6c, 0x2a, 0x78, 0x4c, + 0xfe, 0x72, 0xc7, 0x57, +}; +static const struct drbg_kat_pr_true kat2986_t = { + 0, kat2986_entropyin, kat2986_nonce, kat2986_persstr, + kat2986_entropyinpr1, kat2986_addinpr1, kat2986_entropyinpr2, + kat2986_addinpr2, kat2986_retbits +}; +static const struct drbg_kat kat2986 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2986_t +}; + +static const unsigned char kat2987_entropyin[] = { + 0xde, 0x37, 0x31, 0xfb, 0xc0, 0x96, 0x22, 0x7d, 0x77, 0xda, 0xd8, 0x08, + 0xe1, 0x09, 0xb8, 0x46, +}; +static const unsigned char kat2987_nonce[] = { + 0xf0, 0xd3, 0x1b, 0x93, 0x89, 0x1f, 0xce, 0xb7, +}; +static const unsigned char kat2987_persstr[] = { + 0x3a, 0x1e, 0x1d, 0x3d, 0xac, 0x88, 0xa6, 0xee, 0x5b, 0xb1, 0x66, 0x1e, + 0xb7, 0x27, 0xb7, 0xd3, +}; +static const unsigned char kat2987_entropyinpr1[] = { + 0x69, 0xb4, 0xa2, 0x02, 0x9c, 0x25, 0xbd, 0x21, 0x73, 0x84, 0xf7, 0x5a, + 0xe0, 0x39, 0xf2, 0xab, +}; +static const unsigned char kat2987_addinpr1[] = { + 0x18, 0x9d, 0x25, 0x8d, 0xbc, 0x1c, 0xb1, 0x7c, 0x94, 0xaa, 0xf6, 0x36, + 0xcb, 0xf4, 0x36, 0xe8, +}; +static const unsigned char kat2987_entropyinpr2[] = { + 0x76, 0xce, 0x34, 0x3d, 0x17, 0x34, 0x73, 0xe4, 0xd4, 0xcc, 0xa8, 0xf4, + 0x9d, 0xbb, 0x22, 0xb1, +}; +static const unsigned char kat2987_addinpr2[] = { + 0x84, 0x47, 0xc2, 0x5b, 0x7f, 0x4e, 0xea, 0xe3, 0xd8, 0x1b, 0x45, 0x77, + 0x44, 0x2c, 0xd7, 0x9a, +}; +static const unsigned char kat2987_retbits[] = { + 0x3c, 0x61, 0xfd, 0x32, 0xf5, 0xde, 0xc3, 0xd3, 0x74, 0x30, 0x45, 0x34, + 0x55, 0x8c, 0x96, 0xd6, 0x41, 0xb1, 0x17, 0x5d, 0xfb, 0x92, 0x43, 0x17, + 0xfc, 0x2d, 0xb7, 0xc1, 0xd9, 0xfb, 0x74, 0x6c, 0xee, 0xba, 0xc4, 0x99, + 0x69, 0x59, 0x0f, 0x6b, 0x53, 0xb8, 0xc6, 0x84, 0xe9, 0xce, 0x5b, 0xc7, + 0x62, 0x88, 0xd3, 0xa1, 0x4b, 0xcb, 0x3d, 0xa1, 0xad, 0x62, 0x11, 0xa3, + 0x84, 0xd9, 0x55, 0xc9, +}; +static const struct drbg_kat_pr_true kat2987_t = { + 1, kat2987_entropyin, kat2987_nonce, kat2987_persstr, + kat2987_entropyinpr1, kat2987_addinpr1, kat2987_entropyinpr2, + kat2987_addinpr2, kat2987_retbits +}; +static const struct drbg_kat kat2987 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2987_t +}; + +static const unsigned char kat2988_entropyin[] = { + 0xdf, 0xc2, 0x39, 0x59, 0x2a, 0x01, 0xf0, 0x5b, 0x60, 0xdd, 0x86, 0x2b, + 0x2b, 0xb2, 0xaf, 0x90, +}; +static const unsigned char kat2988_nonce[] = { + 0xbb, 0x96, 0xba, 0xc6, 0xe5, 0xb0, 0x9d, 0xfe, +}; +static const unsigned char kat2988_persstr[] = { + 0xa9, 0xb1, 0x47, 0xb7, 0x3b, 0x0c, 0xe8, 0xbb, 0xec, 0x43, 0x9c, 0x47, + 0x51, 0xa9, 0x20, 0x9b, +}; +static const unsigned char kat2988_entropyinpr1[] = { + 0xcc, 0xed, 0x1e, 0x29, 0x6e, 0x4b, 0x59, 0xc1, 0x5c, 0xc9, 0xc8, 0xd9, + 0xe9, 0xcb, 0x23, 0x7f, +}; +static const unsigned char kat2988_addinpr1[] = { + 0x6b, 0xee, 0x10, 0xee, 0x0f, 0x37, 0xe9, 0xc4, 0x9c, 0x0c, 0x58, 0x01, + 0x77, 0x49, 0x3a, 0xdc, +}; +static const unsigned char kat2988_entropyinpr2[] = { + 0x0c, 0x0c, 0xe8, 0xf4, 0x7b, 0xbd, 0x84, 0x8d, 0xa0, 0xef, 0x22, 0x06, + 0x42, 0x69, 0x08, 0xc8, +}; +static const unsigned char kat2988_addinpr2[] = { + 0x58, 0xf8, 0x51, 0x30, 0x26, 0x52, 0x65, 0xbd, 0xc4, 0x15, 0x44, 0x6a, + 0x3a, 0x27, 0xfe, 0x39, +}; +static const unsigned char kat2988_retbits[] = { + 0xa1, 0x88, 0x3b, 0xef, 0x8a, 0xd9, 0x24, 0x40, 0xd9, 0x54, 0x5d, 0xe9, + 0x14, 0x69, 0x1a, 0x25, 0x27, 0xab, 0x5e, 0x6b, 0xc9, 0xe8, 0xdb, 0xa6, + 0xeb, 0xc7, 0x3e, 0xbc, 0x2e, 0xf2, 0x65, 0xa3, 0x01, 0x1b, 0x71, 0xd4, + 0x76, 0x36, 0x69, 0x12, 0x36, 0x95, 0x3d, 0xbd, 0xb3, 0xfe, 0xb2, 0x63, + 0x25, 0x88, 0x4b, 0xa5, 0xc8, 0x11, 0x51, 0xe4, 0xf4, 0x10, 0xe4, 0x1f, + 0x5e, 0x23, 0xb4, 0x59, +}; +static const struct drbg_kat_pr_true kat2988_t = { + 2, kat2988_entropyin, kat2988_nonce, kat2988_persstr, + kat2988_entropyinpr1, kat2988_addinpr1, kat2988_entropyinpr2, + kat2988_addinpr2, kat2988_retbits +}; +static const struct drbg_kat kat2988 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2988_t +}; + +static const unsigned char kat2989_entropyin[] = { + 0x75, 0xc5, 0x92, 0xeb, 0xad, 0x8a, 0x80, 0x41, 0x3a, 0x37, 0x6b, 0x03, + 0x67, 0xce, 0x42, 0x42, +}; +static const unsigned char kat2989_nonce[] = { + 0x8a, 0x8c, 0x68, 0xac, 0xf8, 0xc1, 0x6e, 0x64, +}; +static const unsigned char kat2989_persstr[] = { + 0xc3, 0x2d, 0xaa, 0x40, 0xd0, 0x3e, 0xbc, 0x4e, 0x3f, 0xea, 0x25, 0xdf, + 0xac, 0x4a, 0xc2, 0xdd, +}; +static const unsigned char kat2989_entropyinpr1[] = { + 0xd7, 0xc1, 0x16, 0xd7, 0x4a, 0xb6, 0x68, 0xbd, 0x84, 0x46, 0x30, 0xf3, + 0x0d, 0x54, 0x5a, 0x51, +}; +static const unsigned char kat2989_addinpr1[] = { + 0xf3, 0xac, 0x8b, 0x16, 0xe5, 0x4c, 0x64, 0xda, 0xe3, 0x33, 0x43, 0x06, + 0x05, 0x79, 0x42, 0x4e, +}; +static const unsigned char kat2989_entropyinpr2[] = { + 0x0a, 0xe6, 0xc4, 0x14, 0x2e, 0xf8, 0xaf, 0xf5, 0x52, 0x67, 0x75, 0xbf, + 0x36, 0x3b, 0x92, 0xce, +}; +static const unsigned char kat2989_addinpr2[] = { + 0xc1, 0xdb, 0x51, 0x8d, 0x0e, 0x4d, 0x53, 0x9c, 0x78, 0xb4, 0x41, 0x30, + 0x04, 0x4f, 0xc4, 0x7a, +}; +static const unsigned char kat2989_retbits[] = { + 0x84, 0x69, 0x2d, 0xef, 0x2f, 0x71, 0xd5, 0x34, 0x19, 0xdb, 0x38, 0xf9, + 0xf3, 0x67, 0x90, 0xfb, 0x1e, 0xfa, 0x31, 0xb9, 0x60, 0x7c, 0x5d, 0x94, + 0xe0, 0x49, 0x76, 0x38, 0xd7, 0x9f, 0xde, 0xae, 0xa2, 0x5f, 0xe6, 0x60, + 0xdf, 0xff, 0x95, 0xa9, 0x4e, 0x00, 0x94, 0x4c, 0x53, 0xa1, 0x8f, 0x3c, + 0xe5, 0x57, 0xca, 0x1b, 0xd7, 0x1c, 0x77, 0xca, 0xa4, 0xda, 0xcf, 0x3c, + 0x18, 0x38, 0xb9, 0x4a, +}; +static const struct drbg_kat_pr_true kat2989_t = { + 3, kat2989_entropyin, kat2989_nonce, kat2989_persstr, + kat2989_entropyinpr1, kat2989_addinpr1, kat2989_entropyinpr2, + kat2989_addinpr2, kat2989_retbits +}; +static const struct drbg_kat kat2989 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2989_t +}; + +static const unsigned char kat2990_entropyin[] = { + 0x1a, 0x61, 0xe0, 0xac, 0x82, 0xb5, 0x35, 0xee, 0x84, 0x41, 0x2c, 0xee, + 0x08, 0x4e, 0x4c, 0xca, +}; +static const unsigned char kat2990_nonce[] = { + 0xa4, 0xd0, 0xf9, 0xcc, 0x0c, 0xc8, 0xdf, 0x48, +}; +static const unsigned char kat2990_persstr[] = { + 0xf5, 0x70, 0x93, 0xd4, 0x37, 0x32, 0x92, 0xb3, 0xc3, 0x4a, 0x74, 0xdc, + 0xb7, 0x2e, 0x5a, 0x10, +}; +static const unsigned char kat2990_entropyinpr1[] = { + 0xb9, 0xe9, 0x15, 0x3e, 0xa2, 0x53, 0x7a, 0x91, 0x4d, 0xb3, 0x5b, 0xd1, + 0x1d, 0x0d, 0xc5, 0x04, +}; +static const unsigned char kat2990_addinpr1[] = { + 0x91, 0xc7, 0x8c, 0x51, 0xa9, 0x6f, 0xed, 0x59, 0xeb, 0x9d, 0xd5, 0x99, + 0x85, 0x02, 0x06, 0xa8, +}; +static const unsigned char kat2990_entropyinpr2[] = { + 0xfb, 0x50, 0x2d, 0xa3, 0xc8, 0xb0, 0x97, 0xf2, 0xe6, 0xfc, 0x22, 0x5b, + 0x6a, 0x71, 0xa2, 0x39, +}; +static const unsigned char kat2990_addinpr2[] = { + 0x1e, 0x60, 0x4b, 0x04, 0xb1, 0xd8, 0x3b, 0xda, 0x4f, 0x06, 0x8f, 0xa2, + 0x95, 0xcb, 0xbf, 0xbf, +}; +static const unsigned char kat2990_retbits[] = { + 0x27, 0xd1, 0x6d, 0xbc, 0x60, 0xd5, 0xf0, 0xb9, 0xe5, 0x9c, 0x99, 0xa1, + 0x11, 0x78, 0x32, 0x4f, 0xfc, 0xa9, 0x14, 0x54, 0x88, 0x69, 0x21, 0x72, + 0x95, 0xe8, 0xd0, 0x01, 0xba, 0x62, 0xcd, 0xed, 0xd7, 0xed, 0x93, 0x3d, + 0x1d, 0xdc, 0xa2, 0x1e, 0x5b, 0x59, 0x2d, 0x0a, 0xb6, 0x92, 0xdf, 0xa0, + 0x7e, 0x5b, 0xf3, 0x89, 0x5a, 0x3b, 0x36, 0x88, 0xab, 0x1e, 0xbd, 0xfa, + 0xbd, 0x3e, 0xb1, 0xf5, +}; +static const struct drbg_kat_pr_true kat2990_t = { + 4, kat2990_entropyin, kat2990_nonce, kat2990_persstr, + kat2990_entropyinpr1, kat2990_addinpr1, kat2990_entropyinpr2, + kat2990_addinpr2, kat2990_retbits +}; +static const struct drbg_kat kat2990 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2990_t +}; + +static const unsigned char kat2991_entropyin[] = { + 0x4c, 0x8f, 0x65, 0x7c, 0xca, 0xff, 0x6c, 0x95, 0xbb, 0xfd, 0x4f, 0xc8, + 0x76, 0x17, 0x13, 0x96, +}; +static const unsigned char kat2991_nonce[] = { + 0x1c, 0xab, 0xfe, 0xf9, 0xb1, 0x47, 0xe3, 0xa2, +}; +static const unsigned char kat2991_persstr[] = { + 0x78, 0x1f, 0x0a, 0x06, 0xc0, 0x13, 0xff, 0x3a, 0x3f, 0x59, 0x19, 0xda, + 0xa4, 0xa1, 0x86, 0x52, +}; +static const unsigned char kat2991_entropyinpr1[] = { + 0xe2, 0xf4, 0xf9, 0x76, 0x2d, 0x34, 0x0b, 0xae, 0x6d, 0xc0, 0xea, 0x4f, + 0xa3, 0x19, 0xb7, 0x54, +}; +static const unsigned char kat2991_addinpr1[] = { + 0xa7, 0x0b, 0xbe, 0xf8, 0xf0, 0xb3, 0xcb, 0xf3, 0xde, 0xf0, 0x63, 0xf9, + 0x17, 0x29, 0x02, 0x6f, +}; +static const unsigned char kat2991_entropyinpr2[] = { + 0xb9, 0xb7, 0xd9, 0x3b, 0xa0, 0x89, 0xe7, 0x1c, 0xa5, 0x97, 0x09, 0x0b, + 0x60, 0x38, 0xb6, 0x0f, +}; +static const unsigned char kat2991_addinpr2[] = { + 0x9b, 0x3c, 0x8e, 0xce, 0xbe, 0x74, 0xa3, 0x84, 0x6f, 0x6e, 0xb4, 0x3c, + 0x1c, 0xfc, 0x51, 0xdf, +}; +static const unsigned char kat2991_retbits[] = { + 0xc4, 0x58, 0x8e, 0xfb, 0x82, 0xc2, 0xce, 0x59, 0x13, 0x58, 0xab, 0xbe, + 0x2a, 0xab, 0x71, 0xd9, 0xf2, 0xad, 0x3c, 0xfa, 0x32, 0x77, 0x82, 0xed, + 0x94, 0xcf, 0x36, 0x67, 0xce, 0xf2, 0xa5, 0x21, 0x4d, 0x74, 0x43, 0x38, + 0xd3, 0xf4, 0x0b, 0x21, 0x90, 0x64, 0x7f, 0x49, 0xe4, 0x82, 0x38, 0x6d, + 0x79, 0x78, 0x92, 0x55, 0x93, 0x58, 0x16, 0x7b, 0x51, 0x74, 0x27, 0x14, + 0xc2, 0x7c, 0xf6, 0x09, +}; +static const struct drbg_kat_pr_true kat2991_t = { + 5, kat2991_entropyin, kat2991_nonce, kat2991_persstr, + kat2991_entropyinpr1, kat2991_addinpr1, kat2991_entropyinpr2, + kat2991_addinpr2, kat2991_retbits +}; +static const struct drbg_kat kat2991 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2991_t +}; + +static const unsigned char kat2992_entropyin[] = { + 0x89, 0x16, 0xda, 0x70, 0x5a, 0x02, 0x2c, 0x84, 0xec, 0x5e, 0xb2, 0x4e, + 0x8f, 0xe9, 0x9d, 0x33, +}; +static const unsigned char kat2992_nonce[] = { + 0xa7, 0x96, 0xce, 0x9d, 0xf2, 0x7e, 0x0b, 0xae, +}; +static const unsigned char kat2992_persstr[] = { + 0x29, 0x74, 0x64, 0x1b, 0x85, 0x1c, 0x4b, 0x9d, 0x09, 0xb1, 0x85, 0xd5, + 0xa7, 0x97, 0x8d, 0x84, +}; +static const unsigned char kat2992_entropyinpr1[] = { + 0xad, 0x12, 0xf9, 0xfb, 0xdf, 0x24, 0xff, 0x6a, 0x8d, 0x1b, 0x26, 0xc7, + 0xbf, 0x14, 0x00, 0xdf, +}; +static const unsigned char kat2992_addinpr1[] = { + 0x0b, 0x8c, 0x49, 0x39, 0x14, 0x16, 0x6a, 0xa7, 0x6d, 0xc4, 0x84, 0xea, + 0x45, 0x41, 0x48, 0xc6, +}; +static const unsigned char kat2992_entropyinpr2[] = { + 0xf2, 0xa7, 0x58, 0xe5, 0x00, 0xaf, 0xd3, 0xd4, 0xb6, 0x05, 0x7f, 0x50, + 0x6c, 0x24, 0x4c, 0xfa, +}; +static const unsigned char kat2992_addinpr2[] = { + 0xda, 0xfb, 0x20, 0x7d, 0xf9, 0xec, 0xf4, 0x8f, 0x15, 0x9e, 0xe8, 0x65, + 0xe0, 0x4d, 0x17, 0xce, +}; +static const unsigned char kat2992_retbits[] = { + 0x9e, 0xec, 0x1d, 0x1b, 0x47, 0x1a, 0x68, 0x14, 0x60, 0xd3, 0x40, 0xf3, + 0x59, 0x05, 0xab, 0x0f, 0x72, 0xa2, 0xb6, 0x0c, 0x7d, 0x14, 0x68, 0x3a, + 0xd6, 0x60, 0xd8, 0x4f, 0xf9, 0xc8, 0x48, 0x06, 0x57, 0xe1, 0xbd, 0xd8, + 0x99, 0x62, 0xc5, 0xdf, 0x90, 0x43, 0x62, 0xc2, 0xd0, 0xc4, 0xd9, 0xc1, + 0x19, 0x84, 0x20, 0x69, 0xef, 0x9d, 0x6a, 0x27, 0x43, 0xf0, 0x37, 0x9f, + 0xc8, 0x62, 0x78, 0x24, +}; +static const struct drbg_kat_pr_true kat2992_t = { + 6, kat2992_entropyin, kat2992_nonce, kat2992_persstr, + kat2992_entropyinpr1, kat2992_addinpr1, kat2992_entropyinpr2, + kat2992_addinpr2, kat2992_retbits +}; +static const struct drbg_kat kat2992 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2992_t +}; + +static const unsigned char kat2993_entropyin[] = { + 0xde, 0xc3, 0xf5, 0x1b, 0x89, 0x7a, 0x45, 0xbf, 0x0c, 0x81, 0xac, 0x31, + 0xda, 0x38, 0xe7, 0xab, +}; +static const unsigned char kat2993_nonce[] = { + 0x91, 0x49, 0x7f, 0xe7, 0x89, 0xc7, 0x07, 0xa0, +}; +static const unsigned char kat2993_persstr[] = { + 0x2a, 0x2c, 0x90, 0x88, 0xea, 0x5d, 0x70, 0xc3, 0x3e, 0x48, 0x8f, 0x67, + 0x6d, 0xfd, 0x7c, 0xd2, +}; +static const unsigned char kat2993_entropyinpr1[] = { + 0x1c, 0x0c, 0xe6, 0xe3, 0x70, 0x23, 0x5b, 0xf5, 0x08, 0x7d, 0x5b, 0x17, + 0xcc, 0x5b, 0x57, 0x40, +}; +static const unsigned char kat2993_addinpr1[] = { + 0xd8, 0xb1, 0x4a, 0x81, 0x95, 0xd9, 0xf8, 0x49, 0x73, 0x75, 0xfa, 0x5e, + 0xdd, 0x84, 0x27, 0x3d, +}; +static const unsigned char kat2993_entropyinpr2[] = { + 0xda, 0xaf, 0x3c, 0xb9, 0x1a, 0x7b, 0xf4, 0x31, 0xd7, 0x41, 0x97, 0x68, + 0x3a, 0x6d, 0x56, 0x43, +}; +static const unsigned char kat2993_addinpr2[] = { + 0x20, 0xb1, 0x6a, 0x87, 0x16, 0xae, 0x26, 0xb3, 0x55, 0x4c, 0xc0, 0x31, + 0xdc, 0xa3, 0xbd, 0xe6, +}; +static const unsigned char kat2993_retbits[] = { + 0xc4, 0xbf, 0xd4, 0x53, 0xc3, 0xa9, 0x98, 0x4c, 0x1d, 0x9c, 0xde, 0xa2, + 0xfd, 0x7c, 0x18, 0xae, 0x45, 0x25, 0xa7, 0xf6, 0xc3, 0x26, 0xf6, 0x6e, + 0x84, 0xab, 0x9c, 0xae, 0x05, 0x59, 0x9f, 0xdb, 0xda, 0xef, 0x31, 0x5a, + 0x72, 0xed, 0x6c, 0xa4, 0x4e, 0x6c, 0xfe, 0x45, 0x56, 0x2f, 0x84, 0x21, + 0x0f, 0x4b, 0x65, 0x12, 0x81, 0x24, 0x4f, 0x6d, 0x01, 0x35, 0xb8, 0xe7, + 0xe7, 0x21, 0xf7, 0x04, +}; +static const struct drbg_kat_pr_true kat2993_t = { + 7, kat2993_entropyin, kat2993_nonce, kat2993_persstr, + kat2993_entropyinpr1, kat2993_addinpr1, kat2993_entropyinpr2, + kat2993_addinpr2, kat2993_retbits +}; +static const struct drbg_kat kat2993 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2993_t +}; + +static const unsigned char kat2994_entropyin[] = { + 0x98, 0xba, 0x06, 0x2d, 0x3e, 0x5d, 0x89, 0x74, 0x18, 0x55, 0xe7, 0xaa, + 0xc3, 0xe2, 0x98, 0xa5, +}; +static const unsigned char kat2994_nonce[] = { + 0x98, 0x58, 0x20, 0x9b, 0x17, 0x65, 0xcf, 0x81, +}; +static const unsigned char kat2994_persstr[] = { + 0x68, 0x6b, 0x1b, 0xe2, 0xc9, 0xbc, 0x57, 0x21, 0xbc, 0x2f, 0xa8, 0xfc, + 0x07, 0x12, 0x05, 0x10, +}; +static const unsigned char kat2994_entropyinpr1[] = { + 0x74, 0xdd, 0x28, 0x23, 0xe0, 0x34, 0xdd, 0xce, 0x4b, 0xd3, 0x22, 0xfd, + 0x3f, 0x77, 0x9a, 0x83, +}; +static const unsigned char kat2994_addinpr1[] = { + 0xe4, 0xe2, 0xd0, 0x19, 0xa1, 0xd5, 0xf8, 0x0f, 0x67, 0x22, 0x38, 0x53, + 0x78, 0x2f, 0x57, 0xde, +}; +static const unsigned char kat2994_entropyinpr2[] = { + 0x11, 0x8a, 0x96, 0xeb, 0xa9, 0x19, 0x06, 0x16, 0x7d, 0xd3, 0xd6, 0x31, + 0xe2, 0x91, 0x10, 0x0c, +}; +static const unsigned char kat2994_addinpr2[] = { + 0x73, 0xf8, 0x3a, 0xa5, 0xf7, 0x81, 0x4e, 0x5f, 0x61, 0xe1, 0xc4, 0xaa, + 0xb1, 0xa4, 0x51, 0x6e, +}; +static const unsigned char kat2994_retbits[] = { + 0xca, 0x5b, 0x2a, 0x08, 0xe4, 0xd1, 0xec, 0x0e, 0x70, 0x49, 0x7e, 0x49, + 0x24, 0xbf, 0x83, 0xd1, 0x1d, 0xf7, 0xe2, 0xf8, 0xbb, 0x65, 0x19, 0xf2, + 0x20, 0xee, 0x0b, 0xe7, 0xec, 0x90, 0xdf, 0xe8, 0x8f, 0xaf, 0x0e, 0x48, + 0x90, 0x9d, 0xe1, 0x81, 0x0d, 0x45, 0xb1, 0x62, 0xdb, 0x5a, 0x6d, 0x17, + 0x19, 0x37, 0x94, 0x3e, 0xd3, 0x90, 0x65, 0x5c, 0x1f, 0xf0, 0x58, 0x0b, + 0x55, 0xea, 0x39, 0xc0, +}; +static const struct drbg_kat_pr_true kat2994_t = { + 8, kat2994_entropyin, kat2994_nonce, kat2994_persstr, + kat2994_entropyinpr1, kat2994_addinpr1, kat2994_entropyinpr2, + kat2994_addinpr2, kat2994_retbits +}; +static const struct drbg_kat kat2994 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2994_t +}; + +static const unsigned char kat2995_entropyin[] = { + 0xd2, 0x4a, 0x7a, 0x21, 0xb2, 0xca, 0xf9, 0x84, 0x71, 0x79, 0xb9, 0xe5, + 0x1e, 0x4e, 0x95, 0xcc, +}; +static const unsigned char kat2995_nonce[] = { + 0xb9, 0xda, 0x48, 0xd1, 0x3c, 0xbf, 0xa0, 0x7a, +}; +static const unsigned char kat2995_persstr[] = { + 0x72, 0x03, 0x29, 0x31, 0x1f, 0xc5, 0x35, 0x00, 0x26, 0xd6, 0x2f, 0x89, + 0xd7, 0x78, 0xf5, 0xa9, +}; +static const unsigned char kat2995_entropyinpr1[] = { + 0x6d, 0xdd, 0xdf, 0xc2, 0x22, 0x08, 0x46, 0x30, 0x53, 0x9b, 0x99, 0xe2, + 0xa6, 0xa3, 0x9f, 0x26, +}; +static const unsigned char kat2995_addinpr1[] = { + 0x94, 0x47, 0x19, 0xbf, 0x67, 0xa3, 0x9b, 0xc8, 0xbd, 0xd6, 0xa8, 0x5b, + 0xd5, 0x3a, 0x1e, 0x06, +}; +static const unsigned char kat2995_entropyinpr2[] = { + 0x37, 0xc4, 0x8f, 0x65, 0x17, 0xe2, 0xf5, 0x65, 0x89, 0xef, 0x41, 0x9e, + 0xc2, 0x3a, 0xa9, 0xf9, +}; +static const unsigned char kat2995_addinpr2[] = { + 0x87, 0x01, 0x08, 0x1d, 0xbc, 0x92, 0x45, 0xed, 0x07, 0xa1, 0xd8, 0x3c, + 0x70, 0xd3, 0xf6, 0x26, +}; +static const unsigned char kat2995_retbits[] = { + 0x05, 0x66, 0x06, 0x99, 0x2d, 0x6c, 0x25, 0x3c, 0x7d, 0xa1, 0xe9, 0xf7, + 0xca, 0x1a, 0x5b, 0x5e, 0x8d, 0xb4, 0xd8, 0xdb, 0x68, 0xa5, 0x48, 0x20, + 0x73, 0x26, 0xd1, 0x1f, 0x33, 0x00, 0xeb, 0x09, 0x20, 0xa6, 0x51, 0x71, + 0x75, 0xa3, 0x39, 0xdb, 0xf6, 0x47, 0xc1, 0x1a, 0xd3, 0xe6, 0x6a, 0xbd, + 0x16, 0xba, 0x0f, 0x26, 0x3e, 0xba, 0xe9, 0xd4, 0x32, 0x71, 0xa2, 0xab, + 0x6d, 0x87, 0x45, 0x33, +}; +static const struct drbg_kat_pr_true kat2995_t = { + 9, kat2995_entropyin, kat2995_nonce, kat2995_persstr, + kat2995_entropyinpr1, kat2995_addinpr1, kat2995_entropyinpr2, + kat2995_addinpr2, kat2995_retbits +}; +static const struct drbg_kat kat2995 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2995_t +}; + +static const unsigned char kat2996_entropyin[] = { + 0xbb, 0x1f, 0xdc, 0x7a, 0xd9, 0x14, 0x71, 0xf7, 0x1b, 0x2f, 0x67, 0xa4, + 0xec, 0xdf, 0x55, 0x71, +}; +static const unsigned char kat2996_nonce[] = { + 0x7b, 0x74, 0x1b, 0x9d, 0x60, 0x5c, 0x81, 0xb8, +}; +static const unsigned char kat2996_persstr[] = { + 0x39, 0xbd, 0x5a, 0xa7, 0xa4, 0x67, 0xac, 0x15, 0xba, 0xad, 0x39, 0x00, + 0x8c, 0xb3, 0x3a, 0x25, +}; +static const unsigned char kat2996_entropyinpr1[] = { + 0x48, 0x9b, 0x63, 0x88, 0xed, 0x66, 0x7a, 0xaa, 0xdd, 0xec, 0x0f, 0x08, + 0x61, 0xdf, 0xe3, 0x92, +}; +static const unsigned char kat2996_addinpr1[] = { + 0xe7, 0xc2, 0xff, 0x31, 0x7f, 0xa7, 0x60, 0x4e, 0x66, 0x67, 0x44, 0xf7, + 0x8f, 0x77, 0x78, 0xb3, +}; +static const unsigned char kat2996_entropyinpr2[] = { + 0x60, 0x01, 0x4d, 0x2b, 0x01, 0xd8, 0x22, 0xc9, 0xc6, 0x1c, 0x14, 0x65, + 0xd9, 0x3a, 0xc7, 0xee, +}; +static const unsigned char kat2996_addinpr2[] = { + 0x12, 0xe3, 0x8f, 0x51, 0xc0, 0x04, 0x84, 0x2c, 0x79, 0x8a, 0x54, 0xcb, + 0xf6, 0xc5, 0xc9, 0x0e, +}; +static const unsigned char kat2996_retbits[] = { + 0xf0, 0xd4, 0xdd, 0xae, 0x27, 0x82, 0x13, 0xbe, 0x83, 0xfb, 0x6d, 0x01, + 0x43, 0x73, 0x32, 0xf2, 0xb3, 0xae, 0xc2, 0xc6, 0x65, 0xe7, 0x0b, 0x56, + 0x9b, 0xdf, 0xf1, 0x72, 0x49, 0x49, 0xd3, 0x2b, 0xb6, 0x72, 0xce, 0x58, + 0xaa, 0x43, 0xbf, 0x92, 0x69, 0xd4, 0x51, 0x28, 0x5a, 0x31, 0xfc, 0x98, + 0x4d, 0x87, 0xc0, 0xc2, 0x1c, 0x1c, 0x6a, 0x0d, 0xdb, 0x50, 0x10, 0x84, + 0x9c, 0xf6, 0xc1, 0x1a, +}; +static const struct drbg_kat_pr_true kat2996_t = { + 10, kat2996_entropyin, kat2996_nonce, kat2996_persstr, + kat2996_entropyinpr1, kat2996_addinpr1, kat2996_entropyinpr2, + kat2996_addinpr2, kat2996_retbits +}; +static const struct drbg_kat kat2996 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2996_t +}; + +static const unsigned char kat2997_entropyin[] = { + 0x21, 0x78, 0x5f, 0xa0, 0x1f, 0x3a, 0xcc, 0xb5, 0xbb, 0xe4, 0xa2, 0xd0, + 0xb8, 0xbe, 0x26, 0xea, +}; +static const unsigned char kat2997_nonce[] = { + 0x86, 0x57, 0x01, 0x66, 0x1a, 0x10, 0x8f, 0xbe, +}; +static const unsigned char kat2997_persstr[] = { + 0x89, 0xa5, 0x3d, 0x1b, 0xd5, 0x9a, 0x6c, 0x14, 0x5f, 0xbe, 0xcf, 0xc4, + 0xcf, 0x92, 0xc2, 0x08, +}; +static const unsigned char kat2997_entropyinpr1[] = { + 0x77, 0x0b, 0x4d, 0xd5, 0x80, 0x23, 0xc7, 0xa5, 0x05, 0x5b, 0x5c, 0x6f, + 0x34, 0x9c, 0xd9, 0x81, +}; +static const unsigned char kat2997_addinpr1[] = { + 0x4d, 0x0b, 0xa9, 0x4b, 0xaa, 0x36, 0x73, 0xda, 0x58, 0xa8, 0xbb, 0xc7, + 0xcc, 0xa2, 0xbd, 0x2a, +}; +static const unsigned char kat2997_entropyinpr2[] = { + 0x8c, 0x42, 0xcf, 0xce, 0x94, 0x8c, 0x41, 0x90, 0xbd, 0x41, 0xf0, 0x07, + 0xb4, 0xe6, 0xc8, 0xfe, +}; +static const unsigned char kat2997_addinpr2[] = { + 0xfb, 0xf6, 0xf8, 0xf8, 0xca, 0x62, 0x10, 0x85, 0xf3, 0x41, 0x57, 0xf5, + 0x29, 0xaf, 0xf1, 0x0b, +}; +static const unsigned char kat2997_retbits[] = { + 0x3a, 0x50, 0x17, 0x18, 0x68, 0x9c, 0x61, 0x30, 0x6a, 0x35, 0xa8, 0xf0, + 0xec, 0x53, 0xe1, 0xf8, 0xe2, 0xb2, 0xb7, 0x0b, 0x0c, 0x01, 0xba, 0x5a, + 0xc4, 0x21, 0x20, 0x41, 0xa6, 0x4e, 0x2d, 0xc7, 0xbe, 0x4c, 0x3e, 0xdd, + 0x66, 0x33, 0x6e, 0x0e, 0x33, 0xe5, 0x00, 0x31, 0xb8, 0x38, 0xa4, 0x77, + 0x46, 0x7d, 0xc5, 0x41, 0xb6, 0x35, 0xc5, 0x94, 0x17, 0x79, 0xee, 0x89, + 0x90, 0x14, 0x87, 0x80, +}; +static const struct drbg_kat_pr_true kat2997_t = { + 11, kat2997_entropyin, kat2997_nonce, kat2997_persstr, + kat2997_entropyinpr1, kat2997_addinpr1, kat2997_entropyinpr2, + kat2997_addinpr2, kat2997_retbits +}; +static const struct drbg_kat kat2997 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2997_t +}; + +static const unsigned char kat2998_entropyin[] = { + 0xe8, 0xd1, 0x09, 0xcc, 0xee, 0x57, 0x94, 0x59, 0x54, 0x64, 0xd7, 0xd2, + 0x7a, 0xf1, 0x70, 0xf6, +}; +static const unsigned char kat2998_nonce[] = { + 0x77, 0x32, 0xc8, 0x1c, 0x90, 0x71, 0xc7, 0x91, +}; +static const unsigned char kat2998_persstr[] = { + 0x82, 0xc2, 0x1a, 0x03, 0x21, 0x77, 0x1f, 0x90, 0x5f, 0x9c, 0x60, 0xec, + 0xed, 0x79, 0x20, 0x0d, +}; +static const unsigned char kat2998_entropyinpr1[] = { + 0xbe, 0xc9, 0x39, 0x02, 0x07, 0xbf, 0xa4, 0x05, 0xa4, 0x0e, 0x41, 0xf3, + 0xfd, 0xca, 0x9f, 0xc7, +}; +static const unsigned char kat2998_addinpr1[] = { + 0x25, 0x5b, 0xd7, 0x03, 0x01, 0xba, 0xb0, 0xcd, 0x43, 0x09, 0xfe, 0x51, + 0xf9, 0x8f, 0x86, 0x90, +}; +static const unsigned char kat2998_entropyinpr2[] = { + 0xfb, 0xff, 0x4f, 0xa2, 0x20, 0x3d, 0xa3, 0x6a, 0x41, 0x7d, 0xcd, 0x2e, + 0xd7, 0x63, 0x8c, 0x2b, +}; +static const unsigned char kat2998_addinpr2[] = { + 0x86, 0x46, 0x19, 0xa7, 0x8a, 0xac, 0xa3, 0x5e, 0xec, 0xcd, 0x65, 0x39, + 0xc1, 0x64, 0x8a, 0xc3, +}; +static const unsigned char kat2998_retbits[] = { + 0x6d, 0xbc, 0xc3, 0xc1, 0xac, 0xc6, 0xf2, 0x15, 0x93, 0x2f, 0x1c, 0x91, + 0x45, 0x26, 0x0a, 0x21, 0x09, 0x19, 0xad, 0x4d, 0xc0, 0x17, 0xe2, 0xb2, + 0x9a, 0xb5, 0xe1, 0x0a, 0x33, 0x3b, 0x9b, 0x5b, 0x4f, 0xb9, 0x93, 0x8b, + 0x6c, 0x3a, 0x4e, 0x8f, 0xb1, 0x33, 0x6b, 0xc6, 0xa7, 0x84, 0x61, 0x8e, + 0x14, 0x18, 0x85, 0x82, 0x85, 0x48, 0x16, 0x43, 0x2e, 0x63, 0x55, 0xe6, + 0xdc, 0x5a, 0xb6, 0xee, +}; +static const struct drbg_kat_pr_true kat2998_t = { + 12, kat2998_entropyin, kat2998_nonce, kat2998_persstr, + kat2998_entropyinpr1, kat2998_addinpr1, kat2998_entropyinpr2, + kat2998_addinpr2, kat2998_retbits +}; +static const struct drbg_kat kat2998 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2998_t +}; + +static const unsigned char kat2999_entropyin[] = { + 0xc5, 0x50, 0xc5, 0x2b, 0x94, 0x7b, 0x33, 0x4d, 0x62, 0x44, 0xd9, 0x41, + 0x1b, 0x80, 0xbf, 0x0a, +}; +static const unsigned char kat2999_nonce[] = { + 0xec, 0x8a, 0x23, 0x0c, 0x20, 0xbd, 0xb3, 0x85, +}; +static const unsigned char kat2999_persstr[] = { + 0x59, 0xa2, 0x2a, 0x75, 0x7b, 0x92, 0xbb, 0x09, 0xd1, 0x48, 0xc7, 0xd8, + 0xde, 0x58, 0x82, 0x03, +}; +static const unsigned char kat2999_entropyinpr1[] = { + 0x46, 0xc1, 0xe5, 0xf5, 0xb5, 0x07, 0x95, 0xb2, 0x7c, 0x7d, 0xe2, 0x85, + 0x1f, 0xdf, 0xb9, 0xca, +}; +static const unsigned char kat2999_addinpr1[] = { + 0x5c, 0x32, 0x42, 0x88, 0x5c, 0xff, 0xf1, 0xbf, 0xab, 0x07, 0x1c, 0x95, + 0xbb, 0x74, 0xc5, 0xc4, +}; +static const unsigned char kat2999_entropyinpr2[] = { + 0x99, 0x80, 0x56, 0x24, 0x6c, 0xef, 0xfe, 0x14, 0x1f, 0x90, 0xb2, 0x07, + 0xd7, 0xad, 0x9b, 0x59, +}; +static const unsigned char kat2999_addinpr2[] = { + 0x2c, 0x80, 0xc3, 0xa0, 0x31, 0xf2, 0xa7, 0x2f, 0x1f, 0x8e, 0x52, 0xcb, + 0x90, 0x25, 0x6c, 0xf9, +}; +static const unsigned char kat2999_retbits[] = { + 0x2a, 0xaa, 0xb2, 0x6e, 0xcd, 0x47, 0x0c, 0x12, 0x9e, 0xec, 0xa1, 0x86, + 0xb8, 0x38, 0xbb, 0xc7, 0x58, 0x9f, 0xd8, 0x27, 0x55, 0x3c, 0x8c, 0x2f, + 0xa7, 0x22, 0x9b, 0x05, 0x06, 0x30, 0x09, 0x40, 0x41, 0x82, 0xdf, 0xfc, + 0xaa, 0x23, 0x98, 0x42, 0xc9, 0x77, 0x96, 0xfb, 0xf1, 0xe3, 0x6e, 0x20, + 0xf6, 0x35, 0x5f, 0xad, 0x22, 0xb2, 0x41, 0x2e, 0x63, 0xf3, 0xda, 0x3d, + 0x67, 0x1c, 0x9c, 0x30, +}; +static const struct drbg_kat_pr_true kat2999_t = { + 13, kat2999_entropyin, kat2999_nonce, kat2999_persstr, + kat2999_entropyinpr1, kat2999_addinpr1, kat2999_entropyinpr2, + kat2999_addinpr2, kat2999_retbits +}; +static const struct drbg_kat kat2999 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat2999_t +}; + +static const unsigned char kat3000_entropyin[] = { + 0x3c, 0xf6, 0x3f, 0xe7, 0x9a, 0x2a, 0x38, 0x07, 0xa4, 0x1f, 0xc3, 0x7b, + 0x8c, 0xf6, 0x40, 0xad, +}; +static const unsigned char kat3000_nonce[] = { + 0x18, 0xf8, 0xbe, 0x87, 0x23, 0x2b, 0x9b, 0xa5, +}; +static const unsigned char kat3000_persstr[] = { + 0x92, 0x6a, 0x2d, 0x6a, 0xc8, 0x8a, 0x6d, 0x68, 0xa6, 0xb2, 0xe9, 0x39, + 0xe3, 0x59, 0x18, 0x0e, +}; +static const unsigned char kat3000_entropyinpr1[] = { + 0x94, 0xf2, 0x46, 0x40, 0xd4, 0x3a, 0xd1, 0xc9, 0xc0, 0x5a, 0x8f, 0xca, + 0x3f, 0x0a, 0x3e, 0x26, +}; +static const unsigned char kat3000_addinpr1[] = { + 0x06, 0x45, 0x39, 0xb2, 0xa2, 0x97, 0xe6, 0x27, 0x0f, 0xb1, 0x56, 0xd1, + 0x42, 0xc1, 0x38, 0xf5, +}; +static const unsigned char kat3000_entropyinpr2[] = { + 0x66, 0x62, 0x6b, 0x94, 0x72, 0x12, 0x92, 0xed, 0x9c, 0x31, 0xf9, 0x84, + 0x4f, 0x31, 0x64, 0x79, +}; +static const unsigned char kat3000_addinpr2[] = { + 0x86, 0x7a, 0xa3, 0xa2, 0x36, 0xf5, 0x27, 0x19, 0xf0, 0x80, 0xbc, 0x09, + 0xc4, 0xd9, 0x49, 0x72, +}; +static const unsigned char kat3000_retbits[] = { + 0x0f, 0x82, 0x9f, 0x01, 0x0f, 0x60, 0x54, 0x70, 0x53, 0x41, 0x8a, 0x7c, + 0xb6, 0xa6, 0x40, 0x50, 0x6a, 0x1e, 0x96, 0x40, 0xbf, 0xe0, 0x93, 0x55, + 0xc0, 0x83, 0x5a, 0xb5, 0xfd, 0xed, 0x11, 0x10, 0x71, 0x54, 0x75, 0xdc, + 0x8d, 0x3a, 0x29, 0xad, 0xe1, 0xfa, 0x0f, 0x1b, 0xe4, 0x25, 0xad, 0x05, + 0x98, 0x9c, 0x27, 0xc1, 0x49, 0x19, 0x84, 0xb4, 0xb3, 0xda, 0xf5, 0x3f, + 0x72, 0x4f, 0x16, 0xcf, +}; +static const struct drbg_kat_pr_true kat3000_t = { + 14, kat3000_entropyin, kat3000_nonce, kat3000_persstr, + kat3000_entropyinpr1, kat3000_addinpr1, kat3000_entropyinpr2, + kat3000_addinpr2, kat3000_retbits +}; +static const struct drbg_kat kat3000 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3000_t +}; + +static const unsigned char kat3001_entropyin[] = { + 0xa2, 0xb3, 0x60, 0x0a, 0x72, 0xc5, 0x5c, 0x48, 0x95, 0xf5, 0xe7, 0xdc, + 0xf1, 0xc2, 0x8c, 0x31, +}; +static const unsigned char kat3001_nonce[] = { + 0x05, 0x48, 0x5a, 0xc0, 0xd0, 0x16, 0x2e, 0x09, +}; +static const unsigned char kat3001_persstr[] = {0}; +static const unsigned char kat3001_entropyinpr1[] = { + 0x84, 0xe3, 0x83, 0xef, 0xaa, 0xf0, 0x18, 0x60, 0x1e, 0xff, 0x0b, 0xe3, + 0xa2, 0xb4, 0x0b, 0x91, +}; +static const unsigned char kat3001_addinpr1[] = {0}; +static const unsigned char kat3001_entropyinpr2[] = { + 0x91, 0x45, 0x94, 0x41, 0x1a, 0x95, 0xa9, 0x01, 0x77, 0x6a, 0xe9, 0x88, + 0x74, 0xe1, 0xba, 0x7c, +}; +static const unsigned char kat3001_addinpr2[] = {0}; +static const unsigned char kat3001_retbits[] = { + 0x54, 0x58, 0xbb, 0xdf, 0xbd, 0x72, 0x2c, 0x0b, 0xa1, 0x3e, 0xa2, 0x1b, + 0x88, 0xa0, 0x90, 0x7c, 0x83, 0xed, 0xf2, 0xc5, 0xb2, 0x3d, 0xba, 0xa2, + 0xb3, 0x0e, 0xbb, 0xad, 0xaa, 0x21, 0xf2, 0x52, 0x56, 0x39, 0x7e, 0x8e, + 0x49, 0xe2, 0x0e, 0x6d, 0x37, 0x6f, 0xb3, 0x74, 0xf7, 0x7b, 0xed, 0x84, + 0x70, 0x38, 0xf0, 0x6b, 0x85, 0xf5, 0x3b, 0xad, 0xd6, 0xab, 0x0a, 0x9f, + 0x48, 0xe7, 0xb3, 0x3c, +}; +static const struct drbg_kat_pr_true kat3001_t = { + 0, kat3001_entropyin, kat3001_nonce, kat3001_persstr, + kat3001_entropyinpr1, kat3001_addinpr1, kat3001_entropyinpr2, + kat3001_addinpr2, kat3001_retbits +}; +static const struct drbg_kat kat3001 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3001_t +}; + +static const unsigned char kat3002_entropyin[] = { + 0xf5, 0xfd, 0x13, 0x28, 0xa7, 0x41, 0xfa, 0x56, 0x4d, 0x5b, 0x4a, 0xb9, + 0x8f, 0x15, 0x36, 0x7c, +}; +static const unsigned char kat3002_nonce[] = { + 0x36, 0x98, 0x87, 0x8e, 0x22, 0x34, 0x56, 0x75, +}; +static const unsigned char kat3002_persstr[] = {0}; +static const unsigned char kat3002_entropyinpr1[] = { + 0xc7, 0x06, 0xe9, 0xec, 0xa7, 0xeb, 0xc0, 0xcd, 0x14, 0x44, 0x80, 0xf6, + 0x2c, 0xd1, 0xcd, 0xa9, +}; +static const unsigned char kat3002_addinpr1[] = {0}; +static const unsigned char kat3002_entropyinpr2[] = { + 0xc6, 0x99, 0x8e, 0x51, 0x15, 0xc8, 0x1f, 0x88, 0x70, 0xc4, 0xe9, 0x44, + 0xcb, 0xd2, 0x48, 0x82, +}; +static const unsigned char kat3002_addinpr2[] = {0}; +static const unsigned char kat3002_retbits[] = { + 0x33, 0xcd, 0x39, 0x2c, 0xef, 0x06, 0xf0, 0xf7, 0x6b, 0xc5, 0xd0, 0xe7, + 0xb7, 0xa3, 0xbf, 0x1b, 0x3d, 0x07, 0xf0, 0x03, 0xaa, 0xf5, 0x7d, 0xc5, + 0xe9, 0x03, 0xe1, 0xa8, 0xb7, 0x74, 0x69, 0x46, 0x01, 0x03, 0x5b, 0x14, + 0xd7, 0x79, 0xde, 0xe1, 0x63, 0xea, 0x1c, 0xfa, 0x0f, 0xc8, 0x1c, 0x7a, + 0x7b, 0xcf, 0x62, 0xdd, 0x78, 0xcf, 0xe0, 0xae, 0x28, 0x58, 0xa2, 0x9d, + 0x77, 0xa6, 0xdc, 0x95, +}; +static const struct drbg_kat_pr_true kat3002_t = { + 1, kat3002_entropyin, kat3002_nonce, kat3002_persstr, + kat3002_entropyinpr1, kat3002_addinpr1, kat3002_entropyinpr2, + kat3002_addinpr2, kat3002_retbits +}; +static const struct drbg_kat kat3002 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3002_t +}; + +static const unsigned char kat3003_entropyin[] = { + 0x49, 0x3f, 0xef, 0xd3, 0x4c, 0x1c, 0x7a, 0x06, 0xd0, 0x94, 0x7b, 0x89, + 0x11, 0x0f, 0xdd, 0xaa, +}; +static const unsigned char kat3003_nonce[] = { + 0x17, 0xbf, 0x7f, 0x91, 0xe6, 0x06, 0x2e, 0xd0, +}; +static const unsigned char kat3003_persstr[] = {0}; +static const unsigned char kat3003_entropyinpr1[] = { + 0x13, 0xd9, 0x7b, 0xd3, 0xb5, 0x38, 0x35, 0x6f, 0x17, 0x9c, 0x53, 0x0c, + 0xf3, 0xe3, 0x24, 0x88, +}; +static const unsigned char kat3003_addinpr1[] = {0}; +static const unsigned char kat3003_entropyinpr2[] = { + 0xc9, 0x1e, 0x3f, 0x9b, 0x02, 0x28, 0xf3, 0x96, 0x2b, 0x3a, 0xe0, 0x44, + 0x02, 0xae, 0xc5, 0x49, +}; +static const unsigned char kat3003_addinpr2[] = {0}; +static const unsigned char kat3003_retbits[] = { + 0x47, 0x03, 0x52, 0x7f, 0x48, 0x59, 0x26, 0x6a, 0x50, 0x34, 0x2b, 0x02, + 0x58, 0x07, 0x91, 0x09, 0x20, 0x13, 0x2c, 0x77, 0x6c, 0xbe, 0xb2, 0xef, + 0xe8, 0x63, 0xb1, 0x56, 0x52, 0xbc, 0xc7, 0x9e, 0xff, 0x26, 0x65, 0x52, + 0x40, 0x6d, 0x6e, 0xb3, 0x14, 0x0a, 0x35, 0x51, 0x6c, 0x98, 0x0f, 0x87, + 0x94, 0x7a, 0x9f, 0xb3, 0xf3, 0x06, 0xe7, 0x85, 0x29, 0x5c, 0xc2, 0xc9, + 0x6a, 0x07, 0xfa, 0xb1, +}; +static const struct drbg_kat_pr_true kat3003_t = { + 2, kat3003_entropyin, kat3003_nonce, kat3003_persstr, + kat3003_entropyinpr1, kat3003_addinpr1, kat3003_entropyinpr2, + kat3003_addinpr2, kat3003_retbits +}; +static const struct drbg_kat kat3003 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3003_t +}; + +static const unsigned char kat3004_entropyin[] = { + 0x3c, 0xa2, 0x6b, 0xcc, 0x6f, 0x2e, 0x9f, 0xba, 0x5d, 0xef, 0xa9, 0xd7, + 0x9f, 0x6f, 0x01, 0x54, +}; +static const unsigned char kat3004_nonce[] = { + 0xc3, 0x94, 0x5d, 0xb7, 0xcd, 0x5e, 0x34, 0x21, +}; +static const unsigned char kat3004_persstr[] = {0}; +static const unsigned char kat3004_entropyinpr1[] = { + 0xfc, 0x83, 0x61, 0xf8, 0xd0, 0xf9, 0x3b, 0xf7, 0xe6, 0x90, 0xe6, 0x39, + 0x68, 0x7b, 0x36, 0x6f, +}; +static const unsigned char kat3004_addinpr1[] = {0}; +static const unsigned char kat3004_entropyinpr2[] = { + 0xb1, 0x21, 0x13, 0x07, 0xb1, 0x05, 0x2c, 0xb5, 0xa4, 0xb0, 0x40, 0x05, + 0x93, 0xb8, 0x02, 0xc1, +}; +static const unsigned char kat3004_addinpr2[] = {0}; +static const unsigned char kat3004_retbits[] = { + 0xe1, 0xea, 0xf8, 0x72, 0x14, 0xc9, 0xc7, 0xa1, 0x10, 0x6b, 0x86, 0x3b, + 0x73, 0x91, 0x39, 0x24, 0x52, 0xa2, 0xef, 0xe8, 0xfe, 0x6d, 0x75, 0x6e, + 0x49, 0x01, 0x9c, 0x66, 0x85, 0x0e, 0x0f, 0x02, 0xf3, 0x69, 0xdb, 0x9a, + 0x0f, 0x9d, 0x94, 0x5c, 0xb7, 0x35, 0xf3, 0xa0, 0x07, 0xe3, 0xf1, 0xbc, + 0x4b, 0xde, 0x44, 0x87, 0xfb, 0x29, 0x47, 0xbc, 0xbb, 0xbd, 0xa1, 0x78, + 0x1d, 0x0d, 0x16, 0x1e, +}; +static const struct drbg_kat_pr_true kat3004_t = { + 3, kat3004_entropyin, kat3004_nonce, kat3004_persstr, + kat3004_entropyinpr1, kat3004_addinpr1, kat3004_entropyinpr2, + kat3004_addinpr2, kat3004_retbits +}; +static const struct drbg_kat kat3004 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3004_t +}; + +static const unsigned char kat3005_entropyin[] = { + 0x21, 0x5e, 0x59, 0xba, 0xe2, 0x20, 0x08, 0xb5, 0x10, 0x13, 0x44, 0x6c, + 0x84, 0x37, 0x1b, 0x93, +}; +static const unsigned char kat3005_nonce[] = { + 0x0f, 0x7e, 0x67, 0xaa, 0xb9, 0xec, 0xd7, 0xbb, +}; +static const unsigned char kat3005_persstr[] = {0}; +static const unsigned char kat3005_entropyinpr1[] = { + 0xa6, 0x1f, 0x34, 0xa7, 0x5e, 0x41, 0x93, 0x7c, 0x96, 0xab, 0xec, 0x51, + 0x0a, 0x19, 0xbb, 0xf8, +}; +static const unsigned char kat3005_addinpr1[] = {0}; +static const unsigned char kat3005_entropyinpr2[] = { + 0x10, 0x0b, 0xdf, 0x1e, 0xd0, 0xc7, 0x3a, 0x7f, 0xa3, 0xf6, 0x47, 0x5e, + 0x71, 0xb9, 0x0d, 0x98, +}; +static const unsigned char kat3005_addinpr2[] = {0}; +static const unsigned char kat3005_retbits[] = { + 0xbe, 0x34, 0x30, 0x6c, 0x7b, 0x31, 0xd1, 0x80, 0x59, 0xd4, 0xb9, 0xef, + 0x2a, 0x36, 0x3f, 0xdf, 0x8a, 0xae, 0x2d, 0x2e, 0x15, 0xc0, 0x3d, 0xb3, + 0x68, 0xf4, 0x1d, 0xba, 0x60, 0x3a, 0x40, 0x13, 0xcb, 0x25, 0xc6, 0x4e, + 0xa9, 0xc5, 0xb0, 0x2b, 0xd8, 0xb7, 0x02, 0x12, 0x99, 0x5b, 0x21, 0x03, + 0x51, 0xb0, 0xeb, 0xf8, 0x8b, 0xc9, 0x9f, 0xd0, 0x55, 0xb3, 0xc2, 0xc3, + 0x1b, 0x30, 0x81, 0xc7, +}; +static const struct drbg_kat_pr_true kat3005_t = { + 4, kat3005_entropyin, kat3005_nonce, kat3005_persstr, + kat3005_entropyinpr1, kat3005_addinpr1, kat3005_entropyinpr2, + kat3005_addinpr2, kat3005_retbits +}; +static const struct drbg_kat kat3005 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3005_t +}; + +static const unsigned char kat3006_entropyin[] = { + 0x61, 0xd8, 0x89, 0xd1, 0x58, 0xf2, 0xc3, 0x9d, 0x17, 0x65, 0xd6, 0xe4, + 0x72, 0x9a, 0x19, 0xe9, +}; +static const unsigned char kat3006_nonce[] = { + 0xed, 0x12, 0xce, 0xab, 0x19, 0x94, 0x16, 0x25, +}; +static const unsigned char kat3006_persstr[] = {0}; +static const unsigned char kat3006_entropyinpr1[] = { + 0x53, 0x23, 0xd9, 0x5a, 0x4a, 0x0a, 0x46, 0x71, 0x60, 0xe5, 0x72, 0x91, + 0x24, 0xa2, 0x6e, 0x69, +}; +static const unsigned char kat3006_addinpr1[] = {0}; +static const unsigned char kat3006_entropyinpr2[] = { + 0xea, 0xb0, 0x25, 0xac, 0xfa, 0x2e, 0xb1, 0xa2, 0x1c, 0xf4, 0xd9, 0x43, + 0x43, 0x54, 0x77, 0x0f, +}; +static const unsigned char kat3006_addinpr2[] = {0}; +static const unsigned char kat3006_retbits[] = { + 0x62, 0xfb, 0x4a, 0x31, 0xbf, 0x23, 0x32, 0xac, 0xc5, 0x47, 0x4e, 0x22, + 0xc9, 0x16, 0xf5, 0x73, 0x6d, 0x21, 0xea, 0x6c, 0xfd, 0x1e, 0xb9, 0x38, + 0x31, 0x5a, 0xdf, 0x16, 0x9a, 0x18, 0x29, 0xe1, 0xd7, 0x9c, 0x77, 0x36, + 0xb7, 0xc1, 0x90, 0x5e, 0xaf, 0x20, 0xd7, 0xe1, 0xc3, 0x52, 0xa7, 0x87, + 0x69, 0xd2, 0x10, 0x01, 0xa2, 0x5f, 0x45, 0x30, 0x96, 0xfc, 0xfc, 0x41, + 0x54, 0x41, 0xb3, 0x4d, +}; +static const struct drbg_kat_pr_true kat3006_t = { + 5, kat3006_entropyin, kat3006_nonce, kat3006_persstr, + kat3006_entropyinpr1, kat3006_addinpr1, kat3006_entropyinpr2, + kat3006_addinpr2, kat3006_retbits +}; +static const struct drbg_kat kat3006 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3006_t +}; + +static const unsigned char kat3007_entropyin[] = { + 0xf9, 0x46, 0xe5, 0x90, 0xca, 0x3e, 0xa3, 0x77, 0x0c, 0x08, 0xe8, 0xe9, + 0x17, 0x30, 0x11, 0xaa, +}; +static const unsigned char kat3007_nonce[] = { + 0x76, 0xa1, 0x91, 0x64, 0x6a, 0x57, 0x31, 0xdf, +}; +static const unsigned char kat3007_persstr[] = {0}; +static const unsigned char kat3007_entropyinpr1[] = { + 0xfd, 0xb2, 0x3e, 0xf9, 0xb6, 0xbb, 0x42, 0xaa, 0x6f, 0x25, 0x1d, 0x4a, + 0xc0, 0xd2, 0x6c, 0x0f, +}; +static const unsigned char kat3007_addinpr1[] = {0}; +static const unsigned char kat3007_entropyinpr2[] = { + 0x72, 0x4b, 0x19, 0x44, 0x13, 0x23, 0x5a, 0x09, 0x01, 0xf1, 0xa4, 0xac, + 0xdf, 0x8e, 0x37, 0xe3, +}; +static const unsigned char kat3007_addinpr2[] = {0}; +static const unsigned char kat3007_retbits[] = { + 0x33, 0x52, 0xc7, 0xda, 0xbe, 0x9d, 0x34, 0x65, 0xce, 0x10, 0xab, 0x95, + 0xd3, 0xf2, 0x4f, 0x33, 0xb2, 0x13, 0xe7, 0x99, 0xc9, 0x4d, 0xe1, 0x20, + 0xd7, 0xd6, 0xeb, 0x11, 0xf7, 0x32, 0x22, 0x20, 0xe2, 0x8f, 0xf5, 0xc0, + 0xfa, 0xcb, 0x5d, 0xdb, 0x04, 0xde, 0xc6, 0x8f, 0xd4, 0x3e, 0x7e, 0xb0, + 0xbf, 0xe1, 0x33, 0x6c, 0x2e, 0x8c, 0x7f, 0x92, 0xef, 0x3c, 0x03, 0xff, + 0x29, 0xa2, 0x1f, 0x40, +}; +static const struct drbg_kat_pr_true kat3007_t = { + 6, kat3007_entropyin, kat3007_nonce, kat3007_persstr, + kat3007_entropyinpr1, kat3007_addinpr1, kat3007_entropyinpr2, + kat3007_addinpr2, kat3007_retbits +}; +static const struct drbg_kat kat3007 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3007_t +}; + +static const unsigned char kat3008_entropyin[] = { + 0x92, 0x42, 0xa7, 0x1d, 0x6f, 0x8d, 0x3c, 0xf8, 0xcb, 0x86, 0x85, 0x5e, + 0x6c, 0x84, 0xc0, 0x71, +}; +static const unsigned char kat3008_nonce[] = { + 0x56, 0x19, 0x62, 0xf3, 0xc4, 0x09, 0xa3, 0xa0, +}; +static const unsigned char kat3008_persstr[] = {0}; +static const unsigned char kat3008_entropyinpr1[] = { + 0x90, 0x35, 0xe0, 0xf2, 0xe7, 0x24, 0x2f, 0x30, 0xb4, 0xbd, 0x78, 0x19, + 0xf7, 0xd5, 0x48, 0x55, +}; +static const unsigned char kat3008_addinpr1[] = {0}; +static const unsigned char kat3008_entropyinpr2[] = { + 0xe5, 0x00, 0x2e, 0xed, 0x42, 0x8b, 0x17, 0x21, 0xe2, 0xef, 0xf2, 0xc7, + 0x56, 0x32, 0x82, 0x92, +}; +static const unsigned char kat3008_addinpr2[] = {0}; +static const unsigned char kat3008_retbits[] = { + 0x95, 0xca, 0x1c, 0xb4, 0xaa, 0xba, 0x60, 0xae, 0x93, 0x36, 0x24, 0xf5, + 0x4f, 0xb8, 0x2b, 0xe3, 0x22, 0x44, 0xbe, 0x56, 0x87, 0x59, 0xe4, 0xdc, + 0xf7, 0x32, 0x74, 0xa7, 0x50, 0x21, 0x4b, 0x34, 0x35, 0x5d, 0x09, 0x87, + 0x7b, 0xc6, 0xca, 0x68, 0x54, 0x4a, 0x37, 0xad, 0x25, 0x0b, 0xcd, 0xf2, + 0xed, 0xc8, 0xfd, 0x9f, 0xbd, 0x7b, 0x5b, 0xc4, 0x99, 0xe3, 0xfc, 0x6e, + 0xc7, 0xe7, 0x9a, 0xf3, +}; +static const struct drbg_kat_pr_true kat3008_t = { + 7, kat3008_entropyin, kat3008_nonce, kat3008_persstr, + kat3008_entropyinpr1, kat3008_addinpr1, kat3008_entropyinpr2, + kat3008_addinpr2, kat3008_retbits +}; +static const struct drbg_kat kat3008 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3008_t +}; + +static const unsigned char kat3009_entropyin[] = { + 0x54, 0x24, 0x0e, 0xd9, 0x82, 0xa1, 0x73, 0x5a, 0x58, 0x97, 0x6c, 0x3c, + 0x8b, 0x1d, 0x12, 0xb6, +}; +static const unsigned char kat3009_nonce[] = { + 0x6a, 0xaa, 0xd0, 0x72, 0x24, 0x68, 0x82, 0xe3, +}; +static const unsigned char kat3009_persstr[] = {0}; +static const unsigned char kat3009_entropyinpr1[] = { + 0xfc, 0x59, 0x42, 0xfb, 0xfb, 0x12, 0xf3, 0xd1, 0x9b, 0x30, 0xfe, 0x22, + 0x3e, 0xd2, 0x78, 0xde, +}; +static const unsigned char kat3009_addinpr1[] = {0}; +static const unsigned char kat3009_entropyinpr2[] = { + 0x67, 0x46, 0x6a, 0xf8, 0xdd, 0xde, 0x83, 0x7d, 0xd2, 0x85, 0x68, 0x3e, + 0x2c, 0x85, 0x0c, 0xd2, +}; +static const unsigned char kat3009_addinpr2[] = {0}; +static const unsigned char kat3009_retbits[] = { + 0xc4, 0x4f, 0x8b, 0x22, 0xab, 0x9f, 0x75, 0xc1, 0xf7, 0xa9, 0x4a, 0x50, + 0xc1, 0xce, 0x2f, 0x41, 0x2b, 0xbc, 0x4c, 0xc9, 0xee, 0x8c, 0xcb, 0x83, + 0xf2, 0xb4, 0xf2, 0x00, 0x02, 0x40, 0x8f, 0xe7, 0xc5, 0x8f, 0x1a, 0xc3, + 0x55, 0x66, 0x86, 0x25, 0x7e, 0xcf, 0xd1, 0xf3, 0x65, 0xa0, 0x8e, 0xa3, + 0xee, 0x04, 0x58, 0xa5, 0x0d, 0xc2, 0x29, 0xbb, 0x37, 0xa6, 0x77, 0x0f, + 0x44, 0xb9, 0xd6, 0x61, +}; +static const struct drbg_kat_pr_true kat3009_t = { + 8, kat3009_entropyin, kat3009_nonce, kat3009_persstr, + kat3009_entropyinpr1, kat3009_addinpr1, kat3009_entropyinpr2, + kat3009_addinpr2, kat3009_retbits +}; +static const struct drbg_kat kat3009 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3009_t +}; + +static const unsigned char kat3010_entropyin[] = { + 0xc2, 0xba, 0x12, 0x99, 0x63, 0x94, 0xa9, 0xec, 0x1a, 0x37, 0x13, 0x22, + 0x77, 0x77, 0x93, 0x46, +}; +static const unsigned char kat3010_nonce[] = { + 0x9c, 0x8e, 0x8a, 0x83, 0x6d, 0xa2, 0x59, 0x23, +}; +static const unsigned char kat3010_persstr[] = {0}; +static const unsigned char kat3010_entropyinpr1[] = { + 0x76, 0xb7, 0x8d, 0xdb, 0x61, 0x4e, 0x6d, 0xd2, 0x8b, 0x32, 0x30, 0xc6, + 0xee, 0x66, 0xea, 0x4f, +}; +static const unsigned char kat3010_addinpr1[] = {0}; +static const unsigned char kat3010_entropyinpr2[] = { + 0x92, 0x4f, 0x3b, 0x62, 0xf6, 0xb1, 0x7c, 0xbe, 0x99, 0xed, 0x21, 0xe6, + 0x0f, 0x14, 0x6e, 0xe6, +}; +static const unsigned char kat3010_addinpr2[] = {0}; +static const unsigned char kat3010_retbits[] = { + 0xd0, 0x82, 0x03, 0xe4, 0x09, 0xce, 0x7c, 0xb0, 0x6a, 0xf8, 0x8b, 0x0a, + 0x13, 0x6e, 0x58, 0x71, 0xe3, 0x07, 0x8d, 0x6c, 0xf2, 0xb3, 0x7c, 0xcd, + 0x15, 0xaf, 0xaf, 0x91, 0x87, 0x72, 0x32, 0xfb, 0x3a, 0x13, 0x3f, 0xcd, + 0xcc, 0x9d, 0xfe, 0xf7, 0xb5, 0x56, 0x21, 0xe1, 0x50, 0x3c, 0xe7, 0x43, + 0xbe, 0x8b, 0x26, 0x03, 0x2e, 0x92, 0xdb, 0x46, 0x36, 0xd9, 0xa1, 0x24, + 0x38, 0xe2, 0x75, 0xbf, +}; +static const struct drbg_kat_pr_true kat3010_t = { + 9, kat3010_entropyin, kat3010_nonce, kat3010_persstr, + kat3010_entropyinpr1, kat3010_addinpr1, kat3010_entropyinpr2, + kat3010_addinpr2, kat3010_retbits +}; +static const struct drbg_kat kat3010 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3010_t +}; + +static const unsigned char kat3011_entropyin[] = { + 0x47, 0xba, 0x37, 0x10, 0xf3, 0x4d, 0x85, 0xa3, 0x95, 0xdc, 0x07, 0x63, + 0x73, 0xd6, 0x7a, 0x69, +}; +static const unsigned char kat3011_nonce[] = { + 0x67, 0x4e, 0x3f, 0xc0, 0x87, 0x43, 0x52, 0xe8, +}; +static const unsigned char kat3011_persstr[] = {0}; +static const unsigned char kat3011_entropyinpr1[] = { + 0xac, 0x76, 0x1b, 0x26, 0x82, 0x9d, 0xaa, 0x9a, 0x5a, 0x99, 0x0c, 0x2a, + 0xf4, 0xd3, 0x6d, 0xaa, +}; +static const unsigned char kat3011_addinpr1[] = {0}; +static const unsigned char kat3011_entropyinpr2[] = { + 0x26, 0xac, 0x3f, 0xd6, 0x01, 0xd5, 0xce, 0xc3, 0xf5, 0x62, 0xa3, 0xbe, + 0x5b, 0x3f, 0x7d, 0x4a, +}; +static const unsigned char kat3011_addinpr2[] = {0}; +static const unsigned char kat3011_retbits[] = { + 0x22, 0xf7, 0xca, 0x05, 0xe4, 0xe1, 0xf8, 0xab, 0xbd, 0x13, 0xe2, 0x6c, + 0x70, 0x2c, 0x22, 0x07, 0xb8, 0xdc, 0x24, 0xb3, 0x85, 0x4b, 0x19, 0xd3, + 0x7e, 0x50, 0x2b, 0x2b, 0x3d, 0x47, 0xec, 0x80, 0xb7, 0x89, 0xc7, 0xc2, + 0x05, 0x59, 0xdd, 0x71, 0x26, 0xc3, 0x86, 0x54, 0x1b, 0x28, 0x14, 0x19, + 0xef, 0x60, 0x24, 0xba, 0x5a, 0xc7, 0xd1, 0x61, 0x7d, 0x46, 0xf7, 0x54, + 0x9b, 0xe8, 0x16, 0x38, +}; +static const struct drbg_kat_pr_true kat3011_t = { + 10, kat3011_entropyin, kat3011_nonce, kat3011_persstr, + kat3011_entropyinpr1, kat3011_addinpr1, kat3011_entropyinpr2, + kat3011_addinpr2, kat3011_retbits +}; +static const struct drbg_kat kat3011 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3011_t +}; + +static const unsigned char kat3012_entropyin[] = { + 0x10, 0x32, 0x02, 0x10, 0xea, 0x3a, 0x13, 0xd7, 0x09, 0x85, 0x66, 0x9a, + 0x5f, 0xbb, 0x54, 0xd4, +}; +static const unsigned char kat3012_nonce[] = { + 0x52, 0xf5, 0x69, 0x9e, 0x91, 0xb6, 0x14, 0x89, +}; +static const unsigned char kat3012_persstr[] = {0}; +static const unsigned char kat3012_entropyinpr1[] = { + 0x45, 0x67, 0x77, 0xaf, 0x4f, 0x51, 0x56, 0xcd, 0xc2, 0xd0, 0xee, 0x51, + 0x46, 0x71, 0x46, 0x57, +}; +static const unsigned char kat3012_addinpr1[] = {0}; +static const unsigned char kat3012_entropyinpr2[] = { + 0x00, 0xc7, 0x48, 0x72, 0x53, 0x60, 0xc2, 0x75, 0x9d, 0xc8, 0x92, 0xe9, + 0x34, 0xb8, 0x16, 0x6e, +}; +static const unsigned char kat3012_addinpr2[] = {0}; +static const unsigned char kat3012_retbits[] = { + 0x68, 0x79, 0x43, 0xbd, 0x14, 0x1d, 0xb1, 0x02, 0x64, 0x14, 0x24, 0x04, + 0x8b, 0xde, 0x43, 0x94, 0xfa, 0xcf, 0x1d, 0xb0, 0x92, 0x66, 0x74, 0x95, + 0x4f, 0x06, 0x01, 0x20, 0x26, 0xfc, 0x65, 0xf6, 0x89, 0x7a, 0x36, 0x8e, + 0x6c, 0x65, 0x99, 0x7d, 0xaf, 0x33, 0x78, 0x06, 0xbb, 0x58, 0xff, 0x3a, + 0x3d, 0x71, 0x1d, 0xb8, 0x9b, 0xba, 0xb1, 0xd0, 0xa5, 0x34, 0xe5, 0xa6, + 0xc3, 0x1d, 0x8b, 0x3c, +}; +static const struct drbg_kat_pr_true kat3012_t = { + 11, kat3012_entropyin, kat3012_nonce, kat3012_persstr, + kat3012_entropyinpr1, kat3012_addinpr1, kat3012_entropyinpr2, + kat3012_addinpr2, kat3012_retbits +}; +static const struct drbg_kat kat3012 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3012_t +}; + +static const unsigned char kat3013_entropyin[] = { + 0x3f, 0x7a, 0x8c, 0xfb, 0x5c, 0x56, 0x0d, 0x18, 0xb5, 0xe5, 0xe6, 0x2c, + 0x55, 0xe9, 0x9c, 0x63, +}; +static const unsigned char kat3013_nonce[] = { + 0x85, 0xab, 0x12, 0x43, 0x91, 0xfc, 0xad, 0xc4, +}; +static const unsigned char kat3013_persstr[] = {0}; +static const unsigned char kat3013_entropyinpr1[] = { + 0x3b, 0x84, 0xba, 0xfe, 0x46, 0x3d, 0x42, 0xd6, 0xa3, 0xe3, 0x4a, 0xe9, + 0x73, 0x5e, 0xac, 0xf5, +}; +static const unsigned char kat3013_addinpr1[] = {0}; +static const unsigned char kat3013_entropyinpr2[] = { + 0xb6, 0x9a, 0x84, 0x16, 0x7d, 0x8f, 0xe0, 0xec, 0x1d, 0x80, 0x0c, 0xde, + 0x7f, 0xa3, 0xbd, 0x6a, +}; +static const unsigned char kat3013_addinpr2[] = {0}; +static const unsigned char kat3013_retbits[] = { + 0xe5, 0x51, 0x1a, 0xf0, 0x94, 0xe6, 0xb8, 0xe2, 0xf1, 0x85, 0x57, 0xc4, + 0x6c, 0x56, 0xe0, 0xbe, 0xbe, 0x7c, 0x45, 0x74, 0x6a, 0x3a, 0xb4, 0xa2, + 0xfd, 0x0b, 0xcf, 0x2f, 0x24, 0x3b, 0x1a, 0x18, 0xc9, 0x7d, 0x40, 0x16, + 0xba, 0x79, 0xb5, 0x6b, 0xfe, 0x97, 0x3e, 0xe0, 0x55, 0xd8, 0xb7, 0x0c, + 0xdc, 0x5e, 0x62, 0xe6, 0x8d, 0x29, 0x9a, 0xb7, 0x7b, 0x80, 0x96, 0xf0, + 0x5c, 0x9f, 0xcb, 0xea, +}; +static const struct drbg_kat_pr_true kat3013_t = { + 12, kat3013_entropyin, kat3013_nonce, kat3013_persstr, + kat3013_entropyinpr1, kat3013_addinpr1, kat3013_entropyinpr2, + kat3013_addinpr2, kat3013_retbits +}; +static const struct drbg_kat kat3013 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3013_t +}; + +static const unsigned char kat3014_entropyin[] = { + 0x59, 0xa3, 0xc9, 0x43, 0xf9, 0xf3, 0x5c, 0xfc, 0xb1, 0x2e, 0xf9, 0xf9, + 0xc0, 0xea, 0x53, 0xf6, +}; +static const unsigned char kat3014_nonce[] = { + 0x00, 0x02, 0x22, 0xb9, 0xe8, 0x9a, 0xdd, 0x42, +}; +static const unsigned char kat3014_persstr[] = {0}; +static const unsigned char kat3014_entropyinpr1[] = { + 0xbc, 0x8c, 0xf5, 0x3f, 0xdf, 0x32, 0x57, 0xad, 0xc5, 0x56, 0x07, 0xfa, + 0xf1, 0xad, 0x44, 0x96, +}; +static const unsigned char kat3014_addinpr1[] = {0}; +static const unsigned char kat3014_entropyinpr2[] = { + 0x55, 0xdd, 0x5c, 0x48, 0x60, 0xe7, 0x92, 0x43, 0x50, 0xa3, 0x7f, 0x9c, + 0xb5, 0x18, 0xb1, 0x6a, +}; +static const unsigned char kat3014_addinpr2[] = {0}; +static const unsigned char kat3014_retbits[] = { + 0xaf, 0x6b, 0xd2, 0xf7, 0x77, 0x87, 0x41, 0x3e, 0x29, 0xef, 0x04, 0xbc, + 0xbc, 0xaa, 0x82, 0xc0, 0xb8, 0x86, 0x38, 0xa9, 0xe0, 0xa2, 0xf4, 0xa5, + 0x72, 0xf9, 0xd7, 0x17, 0xd7, 0x57, 0x30, 0x14, 0x81, 0x22, 0x81, 0x9e, + 0x9b, 0x3e, 0x0e, 0xd5, 0x97, 0xc8, 0x4a, 0x0b, 0x3c, 0x35, 0x6d, 0x00, + 0x98, 0xaf, 0x74, 0x34, 0x42, 0x30, 0x37, 0xff, 0xa8, 0x9a, 0x01, 0x91, + 0xfd, 0xd2, 0x93, 0x72, +}; +static const struct drbg_kat_pr_true kat3014_t = { + 13, kat3014_entropyin, kat3014_nonce, kat3014_persstr, + kat3014_entropyinpr1, kat3014_addinpr1, kat3014_entropyinpr2, + kat3014_addinpr2, kat3014_retbits +}; +static const struct drbg_kat kat3014 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3014_t +}; + +static const unsigned char kat3015_entropyin[] = { + 0x36, 0x51, 0x57, 0x8d, 0x1c, 0x0e, 0x56, 0x7c, 0x80, 0x6f, 0x7c, 0x95, + 0xb3, 0xa4, 0x55, 0x22, +}; +static const unsigned char kat3015_nonce[] = { + 0xd6, 0x42, 0xa4, 0xd4, 0xe7, 0x52, 0x81, 0xd1, +}; +static const unsigned char kat3015_persstr[] = {0}; +static const unsigned char kat3015_entropyinpr1[] = { + 0xa9, 0x88, 0x98, 0xa3, 0xa1, 0x8b, 0x44, 0x83, 0x27, 0x7f, 0x80, 0x9f, + 0x1e, 0x61, 0xce, 0x8a, +}; +static const unsigned char kat3015_addinpr1[] = {0}; +static const unsigned char kat3015_entropyinpr2[] = { + 0x2a, 0x8c, 0x04, 0xd6, 0x91, 0x35, 0x83, 0xc0, 0xd4, 0x6c, 0xbb, 0xa3, + 0x69, 0xd7, 0xde, 0x8b, +}; +static const unsigned char kat3015_addinpr2[] = {0}; +static const unsigned char kat3015_retbits[] = { + 0x21, 0x36, 0x6c, 0xea, 0x6a, 0x66, 0x9f, 0x19, 0x36, 0x59, 0xe6, 0xc5, + 0xf7, 0x7c, 0xd8, 0x23, 0xe6, 0xd2, 0x1d, 0x0e, 0x4c, 0x7d, 0x6a, 0xeb, + 0x9a, 0xdf, 0x20, 0x88, 0x95, 0x69, 0x1f, 0xf5, 0xb3, 0xc0, 0x49, 0x2d, + 0x86, 0x0c, 0xd2, 0xac, 0x5b, 0xe1, 0x03, 0x51, 0x6c, 0x0d, 0x36, 0xfd, + 0x2d, 0x8a, 0xd8, 0x00, 0x0d, 0x7a, 0xf2, 0xf7, 0x24, 0x9f, 0xfe, 0x58, + 0x46, 0x17, 0xe6, 0xc6, +}; +static const struct drbg_kat_pr_true kat3015_t = { + 14, kat3015_entropyin, kat3015_nonce, kat3015_persstr, + kat3015_entropyinpr1, kat3015_addinpr1, kat3015_entropyinpr2, + kat3015_addinpr2, kat3015_retbits +}; +static const struct drbg_kat kat3015 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3015_t +}; + +static const unsigned char kat3016_entropyin[] = { + 0xc4, 0xe0, 0xe5, 0x1d, 0x45, 0x89, 0x1a, 0xa9, 0xb3, 0x1f, 0x78, 0x63, + 0x48, 0x59, 0xb0, 0x06, +}; +static const unsigned char kat3016_nonce[] = { + 0xa0, 0x46, 0xfc, 0x4c, 0xc9, 0x69, 0xc0, 0xd9, +}; +static const unsigned char kat3016_persstr[] = {0}; +static const unsigned char kat3016_entropyinpr1[] = { + 0xdc, 0x1a, 0xc4, 0x51, 0xef, 0xe4, 0x17, 0xe7, 0x11, 0xec, 0xf6, 0x95, + 0x69, 0xb1, 0xb7, 0x16, +}; +static const unsigned char kat3016_addinpr1[] = { + 0xac, 0x3d, 0x13, 0x13, 0x25, 0x19, 0xb2, 0xe7, 0x0b, 0x41, 0x89, 0x36, + 0x45, 0xc7, 0x7b, 0xb3, +}; +static const unsigned char kat3016_entropyinpr2[] = { + 0x1b, 0x60, 0x3b, 0x8c, 0xe1, 0x53, 0xff, 0x78, 0x9d, 0x74, 0x50, 0x8b, + 0xbd, 0xdb, 0x3d, 0x13, +}; +static const unsigned char kat3016_addinpr2[] = { + 0x97, 0x58, 0xaf, 0x20, 0x41, 0x52, 0xeb, 0x66, 0x9e, 0x5f, 0xc1, 0x20, + 0x03, 0x95, 0x14, 0xbe, +}; +static const unsigned char kat3016_retbits[] = { + 0xd7, 0x0c, 0x5a, 0xd5, 0x67, 0x2a, 0x6e, 0x30, 0x80, 0xd6, 0x26, 0xd0, + 0xb9, 0x75, 0x79, 0x1d, 0xe5, 0x99, 0x93, 0xb9, 0x52, 0xa8, 0x1a, 0xc6, + 0xb7, 0x28, 0xc3, 0x50, 0x95, 0x8b, 0x27, 0x09, 0x80, 0xaa, 0xea, 0x53, + 0x8e, 0xd5, 0xe6, 0x94, 0x88, 0xa7, 0x7f, 0xda, 0x33, 0x64, 0x67, 0xa1, + 0xa9, 0x59, 0x3d, 0x8a, 0x66, 0xad, 0x30, 0x91, 0xe0, 0x5e, 0x17, 0xa7, + 0x5e, 0xd7, 0xfc, 0xe6, +}; +static const struct drbg_kat_pr_true kat3016_t = { + 0, kat3016_entropyin, kat3016_nonce, kat3016_persstr, + kat3016_entropyinpr1, kat3016_addinpr1, kat3016_entropyinpr2, + kat3016_addinpr2, kat3016_retbits +}; +static const struct drbg_kat kat3016 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3016_t +}; + +static const unsigned char kat3017_entropyin[] = { + 0x17, 0x35, 0xe2, 0x7b, 0x04, 0x2d, 0xd1, 0xb5, 0x76, 0x8e, 0x6a, 0xd7, + 0x72, 0x0b, 0x71, 0x1d, +}; +static const unsigned char kat3017_nonce[] = { + 0xca, 0x47, 0x3c, 0x14, 0x0a, 0x8e, 0xdb, 0xe0, +}; +static const unsigned char kat3017_persstr[] = {0}; +static const unsigned char kat3017_entropyinpr1[] = { + 0xe5, 0x35, 0x42, 0xcb, 0x32, 0xcf, 0x20, 0x60, 0x39, 0x40, 0x15, 0x8e, + 0x47, 0xf7, 0x2e, 0xa2, +}; +static const unsigned char kat3017_addinpr1[] = { + 0x38, 0x79, 0xe0, 0x88, 0x44, 0xfc, 0xfc, 0xbf, 0x21, 0xe3, 0x06, 0xe9, + 0xef, 0xd7, 0xeb, 0x82, +}; +static const unsigned char kat3017_entropyinpr2[] = { + 0x82, 0xc0, 0x47, 0xfc, 0xe9, 0xa4, 0x32, 0xb4, 0xe3, 0xed, 0x29, 0x16, + 0xef, 0x57, 0x07, 0x48, +}; +static const unsigned char kat3017_addinpr2[] = { + 0xec, 0x04, 0x30, 0x07, 0x39, 0x95, 0x32, 0xd1, 0xaf, 0x00, 0xd7, 0x3f, + 0x9a, 0x4f, 0x1b, 0x56, +}; +static const unsigned char kat3017_retbits[] = { + 0xba, 0x1a, 0xa8, 0xe4, 0xcb, 0xbb, 0x8b, 0xd0, 0x23, 0x2c, 0xe3, 0x3e, + 0xed, 0xf8, 0x1d, 0x56, 0xff, 0xa0, 0x96, 0xf1, 0xf8, 0xe3, 0x61, 0x7e, + 0x34, 0x55, 0xe7, 0x1d, 0x8a, 0x24, 0xbe, 0xbc, 0xf2, 0x7a, 0xee, 0xcf, + 0xa9, 0x90, 0x5e, 0x00, 0x60, 0x06, 0xdc, 0xbd, 0x33, 0x4e, 0xec, 0x4b, + 0x99, 0x31, 0x6b, 0xc6, 0xa1, 0xef, 0x92, 0xdc, 0x69, 0x37, 0x93, 0x4b, + 0x4e, 0x89, 0x26, 0xd2, +}; +static const struct drbg_kat_pr_true kat3017_t = { + 1, kat3017_entropyin, kat3017_nonce, kat3017_persstr, + kat3017_entropyinpr1, kat3017_addinpr1, kat3017_entropyinpr2, + kat3017_addinpr2, kat3017_retbits +}; +static const struct drbg_kat kat3017 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3017_t +}; + +static const unsigned char kat3018_entropyin[] = { + 0x6a, 0x8f, 0xe1, 0xd7, 0xf9, 0xc3, 0xae, 0xaa, 0x77, 0x45, 0xda, 0x25, + 0x24, 0xd6, 0x6c, 0x3e, +}; +static const unsigned char kat3018_nonce[] = { + 0x10, 0x3f, 0x02, 0x62, 0x2a, 0x44, 0xe5, 0x6f, +}; +static const unsigned char kat3018_persstr[] = {0}; +static const unsigned char kat3018_entropyinpr1[] = { + 0xa5, 0xf3, 0x62, 0xb2, 0xf2, 0xfe, 0x26, 0xe4, 0x71, 0x81, 0x20, 0xa1, + 0x3f, 0x47, 0x47, 0xc4, +}; +static const unsigned char kat3018_addinpr1[] = { + 0x29, 0x9f, 0x97, 0x39, 0x93, 0x0f, 0x54, 0x4e, 0x6c, 0x1f, 0xeb, 0xb8, + 0x7f, 0x21, 0x4c, 0x71, +}; +static const unsigned char kat3018_entropyinpr2[] = { + 0x37, 0x43, 0x60, 0x47, 0x12, 0x62, 0x51, 0xda, 0x75, 0xc3, 0xef, 0xf7, + 0x49, 0xd1, 0x56, 0x33, +}; +static const unsigned char kat3018_addinpr2[] = { + 0xc0, 0x3f, 0xe2, 0x39, 0xf0, 0x44, 0x5a, 0x76, 0x00, 0xcc, 0x07, 0xce, + 0xcb, 0x86, 0x46, 0xf8, +}; +static const unsigned char kat3018_retbits[] = { + 0xb4, 0x80, 0xe9, 0x4a, 0xb2, 0x1f, 0x13, 0x71, 0x0b, 0x9f, 0xcb, 0x96, + 0x94, 0xd6, 0x35, 0xcb, 0xee, 0x32, 0x26, 0xbb, 0x88, 0xd6, 0x41, 0xc3, + 0x61, 0x7f, 0xa4, 0xfc, 0x94, 0x47, 0x7b, 0xbd, 0xda, 0x49, 0xe1, 0xe9, + 0x2f, 0x8c, 0x29, 0x89, 0xdd, 0xbb, 0x2a, 0xd0, 0x71, 0x9a, 0xe8, 0xe3, + 0x51, 0x5f, 0x4b, 0x20, 0x5c, 0xf6, 0x46, 0x08, 0x6d, 0x64, 0x5c, 0x4a, + 0x45, 0xe6, 0x41, 0x35, +}; +static const struct drbg_kat_pr_true kat3018_t = { + 2, kat3018_entropyin, kat3018_nonce, kat3018_persstr, + kat3018_entropyinpr1, kat3018_addinpr1, kat3018_entropyinpr2, + kat3018_addinpr2, kat3018_retbits +}; +static const struct drbg_kat kat3018 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3018_t +}; + +static const unsigned char kat3019_entropyin[] = { + 0xa3, 0x67, 0xc9, 0x42, 0xf9, 0x8b, 0xd9, 0x8c, 0xd2, 0x13, 0x2e, 0x69, + 0x16, 0xae, 0x26, 0x44, +}; +static const unsigned char kat3019_nonce[] = { + 0xf1, 0x2f, 0x3e, 0x04, 0x14, 0x3a, 0xd9, 0x17, +}; +static const unsigned char kat3019_persstr[] = {0}; +static const unsigned char kat3019_entropyinpr1[] = { + 0xaa, 0x0d, 0x43, 0x50, 0xf2, 0x99, 0xdc, 0x82, 0x18, 0x80, 0x80, 0x66, + 0x68, 0x46, 0x73, 0x14, +}; +static const unsigned char kat3019_addinpr1[] = { + 0x3c, 0x75, 0x36, 0x49, 0xe0, 0xc7, 0x37, 0xac, 0xa4, 0x5e, 0xc2, 0x07, + 0xf0, 0x74, 0x72, 0xc3, +}; +static const unsigned char kat3019_entropyinpr2[] = { + 0x45, 0x59, 0x37, 0xc0, 0x25, 0x03, 0x68, 0x23, 0xde, 0x50, 0xe0, 0x9f, + 0x15, 0xd5, 0x6e, 0x5e, +}; +static const unsigned char kat3019_addinpr2[] = { + 0x4e, 0x74, 0x6e, 0xfb, 0x72, 0xf0, 0x15, 0x25, 0x0d, 0x5e, 0x4a, 0xdc, + 0xf5, 0x22, 0xff, 0x7b, +}; +static const unsigned char kat3019_retbits[] = { + 0x9b, 0xfb, 0x87, 0x65, 0x90, 0x59, 0x2f, 0xb9, 0x2f, 0x1b, 0x53, 0x04, + 0x4e, 0xe0, 0x8a, 0x66, 0xec, 0x01, 0x08, 0x6f, 0x76, 0xcb, 0x83, 0xa6, + 0x8b, 0x7e, 0xe3, 0xbb, 0xb4, 0xbb, 0x7d, 0x15, 0x31, 0x57, 0x4b, 0x77, + 0xca, 0x41, 0x8f, 0x28, 0xde, 0xb8, 0xfd, 0xf7, 0xec, 0x54, 0xe5, 0x6a, + 0x33, 0x32, 0x09, 0x9b, 0xdb, 0x6c, 0x12, 0x57, 0xcf, 0x2e, 0xb0, 0x5a, + 0xd0, 0x4e, 0x98, 0x9d, +}; +static const struct drbg_kat_pr_true kat3019_t = { + 3, kat3019_entropyin, kat3019_nonce, kat3019_persstr, + kat3019_entropyinpr1, kat3019_addinpr1, kat3019_entropyinpr2, + kat3019_addinpr2, kat3019_retbits +}; +static const struct drbg_kat kat3019 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3019_t +}; + +static const unsigned char kat3020_entropyin[] = { + 0x7a, 0x52, 0x41, 0x62, 0x05, 0x84, 0xf8, 0x52, 0x33, 0xee, 0xc9, 0x3f, + 0x98, 0x9b, 0xd0, 0xd9, +}; +static const unsigned char kat3020_nonce[] = { + 0x95, 0xab, 0x8f, 0x25, 0xd2, 0x08, 0x15, 0xf0, +}; +static const unsigned char kat3020_persstr[] = {0}; +static const unsigned char kat3020_entropyinpr1[] = { + 0x81, 0x6e, 0xad, 0x1b, 0xf6, 0x19, 0x80, 0xda, 0xd6, 0xdd, 0xf8, 0x08, + 0x8c, 0x32, 0x41, 0x59, +}; +static const unsigned char kat3020_addinpr1[] = { + 0xf2, 0xe2, 0x23, 0xcf, 0x11, 0x0b, 0x62, 0xde, 0xc9, 0x77, 0x22, 0x07, + 0x10, 0x94, 0xdd, 0x00, +}; +static const unsigned char kat3020_entropyinpr2[] = { + 0xe4, 0xe6, 0x01, 0x4c, 0xa0, 0x63, 0x69, 0xec, 0x80, 0x6c, 0x6c, 0x5d, + 0x70, 0xb4, 0x9e, 0x31, +}; +static const unsigned char kat3020_addinpr2[] = { + 0x43, 0xba, 0x19, 0x6d, 0xdc, 0xc9, 0x90, 0x56, 0xb0, 0x42, 0x4e, 0x03, + 0x42, 0x9e, 0xd6, 0x39, +}; +static const unsigned char kat3020_retbits[] = { + 0x0e, 0x8e, 0x57, 0x60, 0x9f, 0x9f, 0xd1, 0xea, 0x5c, 0x25, 0x75, 0xd0, + 0x47, 0xfc, 0x11, 0x66, 0xef, 0xb8, 0x62, 0xc6, 0x26, 0x49, 0xcf, 0xe0, + 0x71, 0x04, 0x84, 0x96, 0x7c, 0x03, 0x1a, 0x5f, 0xf3, 0x94, 0x05, 0xdd, + 0x92, 0x61, 0xc9, 0x52, 0xa0, 0xdc, 0xca, 0x20, 0xa8, 0x10, 0x7b, 0xb5, + 0xdf, 0x60, 0x37, 0x62, 0x75, 0x12, 0xd5, 0xa6, 0x21, 0x99, 0x10, 0x5b, + 0x46, 0x85, 0xb0, 0xc9, +}; +static const struct drbg_kat_pr_true kat3020_t = { + 4, kat3020_entropyin, kat3020_nonce, kat3020_persstr, + kat3020_entropyinpr1, kat3020_addinpr1, kat3020_entropyinpr2, + kat3020_addinpr2, kat3020_retbits +}; +static const struct drbg_kat kat3020 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3020_t +}; + +static const unsigned char kat3021_entropyin[] = { + 0xfe, 0xb2, 0x89, 0xcf, 0x79, 0x1b, 0xeb, 0x7d, 0xd4, 0xb0, 0xd8, 0x7f, + 0x5c, 0x80, 0x5e, 0xa0, +}; +static const unsigned char kat3021_nonce[] = { + 0x78, 0x39, 0x61, 0xe0, 0x68, 0x1a, 0x1f, 0xca, +}; +static const unsigned char kat3021_persstr[] = {0}; +static const unsigned char kat3021_entropyinpr1[] = { + 0x84, 0xce, 0x98, 0x21, 0xb3, 0x5f, 0x7f, 0xe9, 0x8c, 0xba, 0xef, 0xb3, + 0x08, 0x0c, 0x92, 0xdb, +}; +static const unsigned char kat3021_addinpr1[] = { + 0x55, 0x06, 0x3e, 0x0b, 0x56, 0xee, 0x6a, 0xdb, 0xbf, 0x00, 0xe6, 0xc1, + 0xc7, 0x75, 0xc8, 0x03, +}; +static const unsigned char kat3021_entropyinpr2[] = { + 0x1d, 0x32, 0x86, 0x23, 0x4a, 0xe8, 0x06, 0xed, 0xa3, 0x3b, 0x27, 0x55, + 0x38, 0xe7, 0xfc, 0x0d, +}; +static const unsigned char kat3021_addinpr2[] = { + 0xd3, 0x58, 0x0e, 0xb4, 0xfb, 0x45, 0xa9, 0x4a, 0xf6, 0x07, 0x94, 0x69, + 0x3d, 0xf7, 0x07, 0xcd, +}; +static const unsigned char kat3021_retbits[] = { + 0x70, 0x09, 0x46, 0x79, 0x52, 0x74, 0x8c, 0x11, 0xb4, 0x5a, 0xb8, 0xc1, + 0xbf, 0xe9, 0x92, 0xc9, 0x77, 0x5c, 0x71, 0x52, 0x89, 0x3f, 0x66, 0xc6, + 0x8a, 0xd7, 0xf3, 0x68, 0x86, 0xee, 0x25, 0xcb, 0x8f, 0x2e, 0x6d, 0x86, + 0x45, 0x30, 0x10, 0x85, 0x4a, 0xc9, 0x51, 0x62, 0x9f, 0x18, 0x28, 0xfe, + 0x5c, 0x85, 0xba, 0x7c, 0x86, 0x8d, 0x3d, 0xd4, 0x5c, 0x2b, 0x13, 0xc0, + 0xa0, 0xaa, 0x7c, 0xbf, +}; +static const struct drbg_kat_pr_true kat3021_t = { + 5, kat3021_entropyin, kat3021_nonce, kat3021_persstr, + kat3021_entropyinpr1, kat3021_addinpr1, kat3021_entropyinpr2, + kat3021_addinpr2, kat3021_retbits +}; +static const struct drbg_kat kat3021 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3021_t +}; + +static const unsigned char kat3022_entropyin[] = { + 0x2a, 0xc1, 0x06, 0x67, 0x4e, 0xfa, 0xb4, 0x11, 0xf5, 0x1d, 0x52, 0xe5, + 0xd6, 0x5e, 0x99, 0x3a, +}; +static const unsigned char kat3022_nonce[] = { + 0x79, 0x79, 0x01, 0x82, 0xb2, 0xc3, 0xd7, 0x6a, +}; +static const unsigned char kat3022_persstr[] = {0}; +static const unsigned char kat3022_entropyinpr1[] = { + 0x3e, 0xa4, 0x23, 0x88, 0xd2, 0x90, 0x5b, 0xa5, 0xa6, 0x9c, 0xd6, 0x2e, + 0x2f, 0xde, 0xec, 0x66, +}; +static const unsigned char kat3022_addinpr1[] = { + 0x20, 0xb9, 0x44, 0x42, 0x4d, 0x65, 0x4b, 0x50, 0x38, 0x6d, 0x0d, 0x80, + 0xec, 0x3a, 0x0c, 0xad, +}; +static const unsigned char kat3022_entropyinpr2[] = { + 0xe5, 0xdc, 0x83, 0xb1, 0x30, 0x3d, 0xbf, 0x5c, 0x83, 0xfc, 0xab, 0x48, + 0xe2, 0xae, 0x6a, 0x70, +}; +static const unsigned char kat3022_addinpr2[] = { + 0x3f, 0x16, 0xb2, 0x19, 0xcd, 0xa6, 0xe9, 0x2f, 0x90, 0x85, 0x76, 0x7c, + 0x78, 0xfa, 0x50, 0x56, +}; +static const unsigned char kat3022_retbits[] = { + 0xd4, 0x8a, 0x95, 0x39, 0x0a, 0x20, 0xf0, 0xf7, 0x5b, 0xd9, 0xe2, 0xe5, + 0x88, 0xe1, 0x4a, 0xb0, 0xc8, 0x8e, 0xfd, 0x70, 0x01, 0x61, 0x95, 0xe0, + 0x33, 0x87, 0x46, 0xb2, 0x46, 0x48, 0xa9, 0x2f, 0x32, 0xca, 0x86, 0x0f, + 0xf1, 0x0c, 0x50, 0x76, 0x43, 0x64, 0xb8, 0x14, 0x64, 0x65, 0xe1, 0xea, + 0xdc, 0x72, 0x41, 0xb0, 0x30, 0x9b, 0x2a, 0xca, 0x6a, 0x01, 0x30, 0xfa, + 0xfe, 0x56, 0x73, 0x50, +}; +static const struct drbg_kat_pr_true kat3022_t = { + 6, kat3022_entropyin, kat3022_nonce, kat3022_persstr, + kat3022_entropyinpr1, kat3022_addinpr1, kat3022_entropyinpr2, + kat3022_addinpr2, kat3022_retbits +}; +static const struct drbg_kat kat3022 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3022_t +}; + +static const unsigned char kat3023_entropyin[] = { + 0x31, 0xf5, 0x8d, 0xd3, 0x68, 0xc2, 0x82, 0x4e, 0x6e, 0x80, 0xa7, 0xc0, + 0x2d, 0xbc, 0x36, 0x7b, +}; +static const unsigned char kat3023_nonce[] = { + 0x0e, 0x71, 0xa8, 0xc1, 0x1c, 0xe8, 0x10, 0x6f, +}; +static const unsigned char kat3023_persstr[] = {0}; +static const unsigned char kat3023_entropyinpr1[] = { + 0x12, 0x7d, 0x6a, 0x9f, 0xdd, 0xae, 0x3b, 0xe1, 0xb6, 0x62, 0xf6, 0x43, + 0xa5, 0x4e, 0xcc, 0x05, +}; +static const unsigned char kat3023_addinpr1[] = { + 0x99, 0x94, 0x99, 0x7e, 0xd4, 0x32, 0x43, 0x76, 0xcb, 0xeb, 0xe9, 0x8d, + 0x60, 0x1f, 0x13, 0xb5, +}; +static const unsigned char kat3023_entropyinpr2[] = { + 0x9f, 0xe8, 0xc7, 0x5b, 0xd8, 0xfe, 0xdf, 0xb3, 0xb2, 0xd1, 0xa5, 0x2c, + 0xca, 0x13, 0x3d, 0xde, +}; +static const unsigned char kat3023_addinpr2[] = { + 0xbc, 0xf5, 0xb4, 0xca, 0x25, 0x5a, 0x31, 0x28, 0xce, 0x84, 0x36, 0x49, + 0x85, 0x31, 0x94, 0x81, +}; +static const unsigned char kat3023_retbits[] = { + 0x1f, 0xb4, 0xf4, 0x3f, 0x89, 0x37, 0xc1, 0xb8, 0xb4, 0x4e, 0x23, 0x49, + 0xd8, 0x1d, 0xaf, 0x57, 0x37, 0xb4, 0x12, 0x53, 0x29, 0x58, 0x35, 0x13, + 0xd9, 0x57, 0x64, 0x1c, 0xc1, 0x6b, 0xc9, 0xa5, 0x22, 0x8b, 0x4e, 0x2c, + 0x2f, 0xc9, 0x8a, 0x0b, 0x5f, 0x2d, 0xf6, 0xdd, 0x61, 0x00, 0x58, 0xd4, + 0x53, 0x9f, 0x0f, 0x50, 0x7e, 0x74, 0x06, 0xef, 0xb8, 0x93, 0x60, 0x5b, + 0x29, 0x1d, 0x84, 0xfb, +}; +static const struct drbg_kat_pr_true kat3023_t = { + 7, kat3023_entropyin, kat3023_nonce, kat3023_persstr, + kat3023_entropyinpr1, kat3023_addinpr1, kat3023_entropyinpr2, + kat3023_addinpr2, kat3023_retbits +}; +static const struct drbg_kat kat3023 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3023_t +}; + +static const unsigned char kat3024_entropyin[] = { + 0xd2, 0xde, 0xdd, 0x97, 0xeb, 0x0b, 0x45, 0xc5, 0x90, 0xe1, 0x86, 0x61, + 0x43, 0xd1, 0x36, 0x06, +}; +static const unsigned char kat3024_nonce[] = { + 0x30, 0xac, 0xa6, 0xcb, 0x2f, 0x69, 0x10, 0x09, +}; +static const unsigned char kat3024_persstr[] = {0}; +static const unsigned char kat3024_entropyinpr1[] = { + 0xc6, 0xb6, 0x83, 0x4f, 0xe4, 0x0e, 0x95, 0x95, 0xb0, 0x37, 0x23, 0x89, + 0x4a, 0x3e, 0xa7, 0x23, +}; +static const unsigned char kat3024_addinpr1[] = { + 0x8d, 0x89, 0xb8, 0xa9, 0x14, 0x05, 0x84, 0x48, 0x00, 0x94, 0xeb, 0x88, + 0xaf, 0x6e, 0xcf, 0xae, +}; +static const unsigned char kat3024_entropyinpr2[] = { + 0xce, 0xab, 0x7c, 0x1f, 0x7c, 0xe2, 0x99, 0x70, 0x21, 0xa7, 0x59, 0xdc, + 0xae, 0x06, 0xac, 0x14, +}; +static const unsigned char kat3024_addinpr2[] = { + 0x31, 0x6a, 0x84, 0x82, 0x50, 0x59, 0x7e, 0x51, 0xe7, 0x31, 0x43, 0xbc, + 0x36, 0xe3, 0xd3, 0xb7, +}; +static const unsigned char kat3024_retbits[] = { + 0x69, 0x5a, 0x28, 0x33, 0xb7, 0xf7, 0x2f, 0x5b, 0x2b, 0x00, 0x5f, 0xe3, + 0x23, 0x7b, 0x74, 0xad, 0x56, 0x2f, 0xca, 0x3b, 0x8d, 0x13, 0x9c, 0x15, + 0x0c, 0x9f, 0x09, 0x4c, 0x67, 0x54, 0x02, 0x27, 0x9e, 0xda, 0x56, 0xa7, + 0x94, 0x15, 0x48, 0x6f, 0x20, 0x34, 0x1b, 0x1a, 0xf8, 0x9c, 0x27, 0xf8, + 0x7e, 0xed, 0xd8, 0xaa, 0xaa, 0x77, 0x3f, 0x02, 0x5e, 0x4b, 0xe3, 0xf0, + 0xb8, 0x38, 0x00, 0xea, +}; +static const struct drbg_kat_pr_true kat3024_t = { + 8, kat3024_entropyin, kat3024_nonce, kat3024_persstr, + kat3024_entropyinpr1, kat3024_addinpr1, kat3024_entropyinpr2, + kat3024_addinpr2, kat3024_retbits +}; +static const struct drbg_kat kat3024 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3024_t +}; + +static const unsigned char kat3025_entropyin[] = { + 0xf9, 0xbe, 0xcd, 0x9f, 0x99, 0x72, 0xd8, 0x91, 0xa2, 0x86, 0x3b, 0xa8, + 0x6c, 0x78, 0x83, 0x9c, +}; +static const unsigned char kat3025_nonce[] = { + 0x8e, 0x2f, 0x8a, 0x50, 0x8e, 0x1d, 0x0e, 0x56, +}; +static const unsigned char kat3025_persstr[] = {0}; +static const unsigned char kat3025_entropyinpr1[] = { + 0x38, 0x60, 0x74, 0xc4, 0xca, 0xe9, 0xb5, 0x50, 0x26, 0xdc, 0x65, 0x7d, + 0x0c, 0x5a, 0xbd, 0x58, +}; +static const unsigned char kat3025_addinpr1[] = { + 0x6b, 0x7a, 0x9e, 0xe4, 0x19, 0x0d, 0x9e, 0xbe, 0xe2, 0xd2, 0x57, 0xe9, + 0xb2, 0x12, 0x8c, 0xcb, +}; +static const unsigned char kat3025_entropyinpr2[] = { + 0xf8, 0xca, 0x55, 0xa4, 0x7a, 0x5d, 0x7e, 0x4e, 0x90, 0xaa, 0x4a, 0xb7, + 0x18, 0x5d, 0x46, 0x92, +}; +static const unsigned char kat3025_addinpr2[] = { + 0xd3, 0x0b, 0x83, 0x56, 0x5c, 0x6a, 0xe1, 0xfd, 0x54, 0x20, 0x34, 0x1c, + 0x91, 0xb7, 0x2c, 0xca, +}; +static const unsigned char kat3025_retbits[] = { + 0xb4, 0x75, 0x15, 0x5b, 0x6c, 0x5a, 0x8f, 0xf4, 0xd6, 0x6e, 0x7e, 0xe2, + 0xf9, 0xe4, 0x8d, 0x3c, 0xd9, 0x04, 0x5a, 0x60, 0x40, 0xf7, 0x1f, 0x83, + 0x1b, 0x39, 0xce, 0xa4, 0x90, 0xbe, 0x03, 0x5b, 0x76, 0xef, 0x80, 0xc7, + 0xf0, 0x55, 0x89, 0xf4, 0xde, 0x02, 0xc7, 0xb4, 0xfc, 0xb1, 0xba, 0x64, + 0xf3, 0x84, 0x13, 0x2d, 0x2b, 0x12, 0x45, 0x99, 0x25, 0x85, 0xc1, 0xd7, + 0xcc, 0x91, 0xab, 0x66, +}; +static const struct drbg_kat_pr_true kat3025_t = { + 9, kat3025_entropyin, kat3025_nonce, kat3025_persstr, + kat3025_entropyinpr1, kat3025_addinpr1, kat3025_entropyinpr2, + kat3025_addinpr2, kat3025_retbits +}; +static const struct drbg_kat kat3025 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3025_t +}; + +static const unsigned char kat3026_entropyin[] = { + 0x20, 0x1e, 0xac, 0x70, 0x17, 0x5e, 0x22, 0x6b, 0x29, 0x65, 0xd0, 0x64, + 0x65, 0x87, 0x99, 0x87, +}; +static const unsigned char kat3026_nonce[] = { + 0xa9, 0xd7, 0x90, 0x6e, 0xd8, 0x5f, 0x62, 0x0a, +}; +static const unsigned char kat3026_persstr[] = {0}; +static const unsigned char kat3026_entropyinpr1[] = { + 0xb5, 0x8c, 0xa8, 0x7d, 0x15, 0x7b, 0x8c, 0x2d, 0xc3, 0x95, 0xda, 0xd5, + 0x5f, 0x80, 0x5b, 0x2b, +}; +static const unsigned char kat3026_addinpr1[] = { + 0xab, 0x79, 0x61, 0xfd, 0x74, 0x2b, 0xba, 0x79, 0xfe, 0x58, 0xd7, 0x45, + 0x5c, 0xf8, 0x65, 0xad, +}; +static const unsigned char kat3026_entropyinpr2[] = { + 0x2e, 0xaa, 0x52, 0xd5, 0x56, 0x34, 0x29, 0xdc, 0x47, 0xf2, 0xd6, 0x97, + 0x04, 0x61, 0xa4, 0xf2, +}; +static const unsigned char kat3026_addinpr2[] = { + 0xd4, 0xfa, 0x5d, 0xca, 0x9e, 0xbd, 0xc6, 0x01, 0xb0, 0x90, 0x25, 0x28, + 0x56, 0x13, 0x39, 0xe0, +}; +static const unsigned char kat3026_retbits[] = { + 0x48, 0x02, 0xba, 0xba, 0xf4, 0x30, 0x54, 0x36, 0x3b, 0xe9, 0x30, 0xea, + 0x6d, 0x1e, 0x6f, 0x3d, 0xbe, 0x73, 0xe5, 0x20, 0xee, 0xc7, 0xc9, 0x70, + 0x7a, 0x01, 0x60, 0x99, 0xd1, 0x88, 0x1b, 0x1b, 0xf2, 0x8b, 0xaf, 0xaf, + 0xaa, 0xde, 0xb1, 0xdb, 0xc6, 0x86, 0x17, 0x73, 0x95, 0xb6, 0xb3, 0xcc, + 0x4f, 0xcc, 0x60, 0x5e, 0xdd, 0xec, 0x7d, 0x57, 0x18, 0x44, 0x07, 0x22, + 0x0b, 0xf5, 0xc8, 0x9c, +}; +static const struct drbg_kat_pr_true kat3026_t = { + 10, kat3026_entropyin, kat3026_nonce, kat3026_persstr, + kat3026_entropyinpr1, kat3026_addinpr1, kat3026_entropyinpr2, + kat3026_addinpr2, kat3026_retbits +}; +static const struct drbg_kat kat3026 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3026_t +}; + +static const unsigned char kat3027_entropyin[] = { + 0xdf, 0xc2, 0xe3, 0xb3, 0xb1, 0x4f, 0x3a, 0xaf, 0x15, 0x1b, 0x2f, 0x17, + 0x74, 0x9c, 0xfb, 0x5f, +}; +static const unsigned char kat3027_nonce[] = { + 0x0d, 0xd8, 0xea, 0xe1, 0x34, 0x4a, 0xcd, 0x0c, +}; +static const unsigned char kat3027_persstr[] = {0}; +static const unsigned char kat3027_entropyinpr1[] = { + 0xb2, 0xbd, 0x8b, 0xe7, 0xbf, 0xa0, 0xee, 0x9f, 0x32, 0x9a, 0xf5, 0x11, + 0xc8, 0xab, 0x63, 0x1c, +}; +static const unsigned char kat3027_addinpr1[] = { + 0xab, 0xa5, 0x5a, 0xf2, 0x66, 0xc8, 0xeb, 0x91, 0x53, 0xfc, 0xc1, 0x45, + 0xcc, 0x06, 0x9e, 0x6e, +}; +static const unsigned char kat3027_entropyinpr2[] = { + 0x42, 0xe2, 0xf3, 0x84, 0xfb, 0x5a, 0xc8, 0x67, 0xc6, 0x4d, 0x40, 0x37, + 0x5e, 0x96, 0x30, 0x9e, +}; +static const unsigned char kat3027_addinpr2[] = { + 0xd6, 0x2a, 0x2a, 0x87, 0xd5, 0xd5, 0x8a, 0x0f, 0x82, 0x24, 0x63, 0x2e, + 0x9a, 0x2d, 0x9d, 0xa0, +}; +static const unsigned char kat3027_retbits[] = { + 0xa5, 0xd6, 0x41, 0x31, 0xc4, 0x46, 0xbc, 0x39, 0xba, 0xeb, 0x01, 0x69, + 0xd7, 0xc2, 0x5d, 0x10, 0x73, 0x21, 0x24, 0x0e, 0x7e, 0x6a, 0xf0, 0xb4, + 0x05, 0xd8, 0xfc, 0xdb, 0x51, 0xb1, 0x31, 0x71, 0x95, 0x6c, 0xbd, 0x30, + 0x89, 0x8e, 0x55, 0x9b, 0x9c, 0x04, 0xe9, 0x04, 0x9d, 0x9f, 0x91, 0xc7, + 0x40, 0xbc, 0x65, 0xfd, 0xfc, 0xc6, 0xc1, 0xae, 0xde, 0x1c, 0x19, 0xbe, + 0x7c, 0x71, 0x4b, 0x2e, +}; +static const struct drbg_kat_pr_true kat3027_t = { + 11, kat3027_entropyin, kat3027_nonce, kat3027_persstr, + kat3027_entropyinpr1, kat3027_addinpr1, kat3027_entropyinpr2, + kat3027_addinpr2, kat3027_retbits +}; +static const struct drbg_kat kat3027 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3027_t +}; + +static const unsigned char kat3028_entropyin[] = { + 0x9d, 0x32, 0xa9, 0x36, 0x55, 0xad, 0x56, 0x50, 0x99, 0x4b, 0x23, 0x0f, + 0xb5, 0x9f, 0xf6, 0x42, +}; +static const unsigned char kat3028_nonce[] = { + 0xf7, 0x06, 0xa7, 0xde, 0x48, 0xc3, 0xee, 0xf0, +}; +static const unsigned char kat3028_persstr[] = {0}; +static const unsigned char kat3028_entropyinpr1[] = { + 0x1b, 0x2a, 0xdf, 0x4b, 0x38, 0x64, 0x32, 0xd6, 0x0a, 0xa7, 0xfb, 0x76, + 0x4b, 0x06, 0xdb, 0xa6, +}; +static const unsigned char kat3028_addinpr1[] = { + 0xfa, 0xf6, 0x38, 0x77, 0xf7, 0x47, 0xe7, 0x08, 0x0a, 0x2e, 0x71, 0x84, + 0x2b, 0x63, 0xf1, 0x04, +}; +static const unsigned char kat3028_entropyinpr2[] = { + 0xa6, 0xaf, 0xd3, 0x41, 0x7d, 0x2d, 0x04, 0xa5, 0x45, 0x4a, 0xa4, 0x85, + 0xd1, 0x5c, 0xe0, 0x19, +}; +static const unsigned char kat3028_addinpr2[] = { + 0x4e, 0x50, 0xbb, 0x0c, 0x18, 0xfb, 0xca, 0x49, 0x24, 0x82, 0xc1, 0xa7, + 0xa0, 0xb6, 0x60, 0x19, +}; +static const unsigned char kat3028_retbits[] = { + 0x26, 0x78, 0x47, 0x48, 0x4c, 0xf6, 0x88, 0x33, 0x47, 0xa4, 0x75, 0x25, + 0x7a, 0x62, 0x12, 0x67, 0xd9, 0x75, 0x93, 0x8d, 0x29, 0x2c, 0x35, 0xdd, + 0xe4, 0xa7, 0x8b, 0x56, 0x49, 0x02, 0x4d, 0xdf, 0xb5, 0xc7, 0x3a, 0x71, + 0x52, 0x3a, 0x4d, 0x9d, 0xeb, 0x66, 0xf2, 0xd8, 0x3f, 0xad, 0x2c, 0x2f, + 0x85, 0x8e, 0xd5, 0xab, 0x2e, 0x5f, 0xfa, 0xab, 0x6a, 0xa8, 0x73, 0x97, + 0x73, 0x8a, 0x4e, 0x66, +}; +static const struct drbg_kat_pr_true kat3028_t = { + 12, kat3028_entropyin, kat3028_nonce, kat3028_persstr, + kat3028_entropyinpr1, kat3028_addinpr1, kat3028_entropyinpr2, + kat3028_addinpr2, kat3028_retbits +}; +static const struct drbg_kat kat3028 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3028_t +}; + +static const unsigned char kat3029_entropyin[] = { + 0xcc, 0x17, 0xb2, 0x7a, 0xfb, 0x86, 0x98, 0x3a, 0x77, 0x5c, 0xa4, 0x2a, + 0x2f, 0x55, 0x82, 0xbe, +}; +static const unsigned char kat3029_nonce[] = { + 0x96, 0xb3, 0x19, 0x43, 0x66, 0xd7, 0x8c, 0xfd, +}; +static const unsigned char kat3029_persstr[] = {0}; +static const unsigned char kat3029_entropyinpr1[] = { + 0xa0, 0x68, 0x97, 0x9b, 0xe5, 0x1f, 0x41, 0xf5, 0xec, 0xf8, 0xb2, 0x98, + 0xcf, 0x50, 0x7c, 0xec, +}; +static const unsigned char kat3029_addinpr1[] = { + 0xf6, 0xc9, 0x4f, 0x8c, 0x76, 0xb4, 0xac, 0x64, 0x79, 0x07, 0x93, 0x32, + 0x25, 0x0d, 0x1a, 0x25, +}; +static const unsigned char kat3029_entropyinpr2[] = { + 0xfa, 0xcb, 0xf3, 0x90, 0xa4, 0xe5, 0x97, 0x66, 0x3e, 0xcb, 0x80, 0xd5, + 0xae, 0x05, 0x32, 0xc6, +}; +static const unsigned char kat3029_addinpr2[] = { + 0x16, 0xb6, 0x47, 0x03, 0xf8, 0x7f, 0xbb, 0xef, 0xba, 0x19, 0x81, 0xf4, + 0x73, 0xc4, 0x6c, 0xb0, +}; +static const unsigned char kat3029_retbits[] = { + 0xf7, 0xbe, 0xa9, 0x4f, 0x8e, 0xf3, 0x45, 0x67, 0xfc, 0x1e, 0x37, 0x29, + 0x91, 0xc4, 0xbc, 0xca, 0x00, 0x8c, 0x0c, 0x6e, 0x60, 0x7e, 0xed, 0xe9, + 0x15, 0xb0, 0xe6, 0x52, 0x53, 0xba, 0xf1, 0x87, 0x79, 0x7c, 0x80, 0x17, + 0xf6, 0xe6, 0x6f, 0xbb, 0x94, 0xc2, 0x65, 0xfb, 0x15, 0x42, 0xac, 0x91, + 0x9d, 0xe5, 0xa6, 0xd1, 0xa1, 0xd6, 0x4e, 0x13, 0x1b, 0xf2, 0x46, 0xc8, + 0x33, 0xf8, 0xab, 0x21, +}; +static const struct drbg_kat_pr_true kat3029_t = { + 13, kat3029_entropyin, kat3029_nonce, kat3029_persstr, + kat3029_entropyinpr1, kat3029_addinpr1, kat3029_entropyinpr2, + kat3029_addinpr2, kat3029_retbits +}; +static const struct drbg_kat kat3029 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3029_t +}; + +static const unsigned char kat3030_entropyin[] = { + 0x8f, 0x9f, 0x23, 0xe0, 0x5c, 0xf4, 0x1f, 0x23, 0x7f, 0xe8, 0x54, 0x2d, + 0x02, 0x4d, 0x8f, 0xea, +}; +static const unsigned char kat3030_nonce[] = { + 0xbf, 0x92, 0xdb, 0xde, 0x6c, 0xb6, 0x20, 0xda, +}; +static const unsigned char kat3030_persstr[] = {0}; +static const unsigned char kat3030_entropyinpr1[] = { + 0x1e, 0x4b, 0x4f, 0x23, 0x49, 0x04, 0x86, 0x8b, 0xb6, 0xa6, 0x36, 0xa5, + 0xca, 0x4f, 0xdd, 0x27, +}; +static const unsigned char kat3030_addinpr1[] = { + 0x2b, 0xd8, 0x95, 0xb6, 0xdc, 0x12, 0x24, 0x87, 0x6b, 0xe8, 0xca, 0x9e, + 0xfe, 0x77, 0x2e, 0xf3, +}; +static const unsigned char kat3030_entropyinpr2[] = { + 0xd4, 0xb1, 0xf7, 0x64, 0xe5, 0x48, 0x98, 0x59, 0x02, 0xc4, 0x76, 0xbf, + 0x83, 0x19, 0xc9, 0x35, +}; +static const unsigned char kat3030_addinpr2[] = { + 0xea, 0xb6, 0x2c, 0x59, 0xcf, 0x96, 0x60, 0x79, 0x0b, 0xf9, 0x32, 0xa8, + 0xfb, 0xb5, 0xcb, 0x63, +}; +static const unsigned char kat3030_retbits[] = { + 0x9d, 0xc3, 0x68, 0x0f, 0x2b, 0x1e, 0x78, 0xc0, 0x74, 0x5e, 0x29, 0xdd, + 0x72, 0xf4, 0x0e, 0x0f, 0x1e, 0xd1, 0xea, 0x4e, 0x2e, 0x09, 0x64, 0x9d, + 0xb1, 0x64, 0x03, 0xbe, 0x15, 0xe6, 0x2f, 0x58, 0xde, 0x1a, 0xa6, 0xe3, + 0x2b, 0xe5, 0x82, 0x7d, 0x34, 0x78, 0x49, 0x89, 0x5e, 0x70, 0x0c, 0x2a, + 0xb1, 0x6f, 0x4b, 0x4c, 0x0f, 0x2e, 0x85, 0xe6, 0xd1, 0xc0, 0xf3, 0xf6, + 0x1d, 0x12, 0xe1, 0x12, +}; +static const struct drbg_kat_pr_true kat3030_t = { + 14, kat3030_entropyin, kat3030_nonce, kat3030_persstr, + kat3030_entropyinpr1, kat3030_addinpr1, kat3030_entropyinpr2, + kat3030_addinpr2, kat3030_retbits +}; +static const struct drbg_kat kat3030 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3030_t +}; + +static const unsigned char kat3031_entropyin[] = { + 0xbe, 0x8e, 0x54, 0x45, 0x90, 0xea, 0xa4, 0x52, 0x17, 0xb0, 0x71, 0x1a, + 0x1c, 0x66, 0xaf, 0x8f, +}; +static const unsigned char kat3031_nonce[] = { + 0x1f, 0xd5, 0x42, 0xb1, 0xf3, 0x6b, 0x6f, 0xa3, +}; +static const unsigned char kat3031_persstr[] = { + 0x78, 0x4e, 0x78, 0x54, 0x28, 0x5c, 0x86, 0xa8, 0xff, 0x26, 0x65, 0xfd, + 0x2d, 0xc0, 0x71, 0x20, +}; +static const unsigned char kat3031_entropyinpr1[] = { + 0xc6, 0xf1, 0x00, 0x5e, 0xea, 0x05, 0x93, 0x45, 0xec, 0xdb, 0xe4, 0x09, + 0x92, 0xaa, 0x07, 0xd7, +}; +static const unsigned char kat3031_addinpr1[] = {0}; +static const unsigned char kat3031_entropyinpr2[] = { + 0xd2, 0xf1, 0x49, 0x5c, 0xf0, 0x03, 0xfa, 0x79, 0xac, 0xc3, 0xc6, 0xfc, + 0xac, 0x45, 0xf6, 0x1e, +}; +static const unsigned char kat3031_addinpr2[] = {0}; +static const unsigned char kat3031_retbits[] = { + 0xd6, 0x16, 0x60, 0xe2, 0x45, 0x71, 0x18, 0x2e, 0x4e, 0x8c, 0x03, 0x88, + 0xbd, 0xc1, 0x85, 0x6d, 0x97, 0x11, 0xc4, 0x8b, 0xad, 0x23, 0x56, 0xa7, + 0x51, 0x02, 0x60, 0xa3, 0xd9, 0x06, 0x02, 0xf9, 0x87, 0x57, 0xe0, 0xb9, + 0xb9, 0x2b, 0x03, 0x5b, 0x47, 0xf5, 0x33, 0x16, 0x2e, 0xd9, 0xc4, 0x78, + 0x05, 0x99, 0x0b, 0x29, 0xdc, 0x9d, 0xa1, 0x38, 0x30, 0xb1, 0x59, 0x24, + 0x6e, 0x7a, 0xf5, 0x7e, +}; +static const struct drbg_kat_pr_true kat3031_t = { + 0, kat3031_entropyin, kat3031_nonce, kat3031_persstr, + kat3031_entropyinpr1, kat3031_addinpr1, kat3031_entropyinpr2, + kat3031_addinpr2, kat3031_retbits +}; +static const struct drbg_kat kat3031 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3031_t +}; + +static const unsigned char kat3032_entropyin[] = { + 0xe0, 0x01, 0xdb, 0xb1, 0xde, 0x3e, 0x78, 0x77, 0xd9, 0x1e, 0x97, 0x21, + 0x53, 0x4a, 0x59, 0x57, +}; +static const unsigned char kat3032_nonce[] = { + 0xbd, 0xb8, 0x61, 0x6c, 0xa2, 0x96, 0x50, 0x7f, +}; +static const unsigned char kat3032_persstr[] = { + 0x2a, 0xfc, 0xb4, 0xa7, 0x2f, 0xbe, 0x43, 0xb8, 0xa3, 0x53, 0xb7, 0x12, + 0x38, 0xb2, 0x19, 0x23, +}; +static const unsigned char kat3032_entropyinpr1[] = { + 0x37, 0xc3, 0xb5, 0x17, 0xe2, 0x4f, 0x85, 0xaf, 0x2b, 0x89, 0x20, 0xbb, + 0x7f, 0xba, 0x59, 0x7a, +}; +static const unsigned char kat3032_addinpr1[] = {0}; +static const unsigned char kat3032_entropyinpr2[] = { + 0x24, 0xa5, 0xfe, 0x5b, 0x5e, 0xa0, 0x1c, 0xc0, 0x05, 0x85, 0xfa, 0x2c, + 0x76, 0xa3, 0x59, 0xb7, +}; +static const unsigned char kat3032_addinpr2[] = {0}; +static const unsigned char kat3032_retbits[] = { + 0x44, 0x86, 0xad, 0xe7, 0xb5, 0x39, 0xef, 0x6c, 0x45, 0x9c, 0x8e, 0x26, + 0xcf, 0x84, 0xd9, 0x7c, 0xe6, 0x4c, 0x1a, 0xf2, 0xd1, 0x45, 0x70, 0x69, + 0x8e, 0x54, 0xfe, 0xab, 0x99, 0x9e, 0x0a, 0xf1, 0x53, 0x3b, 0x73, 0xe7, + 0x7f, 0x69, 0xfc, 0x55, 0xaf, 0xb7, 0x26, 0xfe, 0xd0, 0x01, 0xdf, 0xaa, + 0x36, 0xad, 0xd4, 0x7a, 0xa8, 0x72, 0x4f, 0xd3, 0x31, 0x66, 0x76, 0xe7, + 0x53, 0x1f, 0x52, 0x64, +}; +static const struct drbg_kat_pr_true kat3032_t = { + 1, kat3032_entropyin, kat3032_nonce, kat3032_persstr, + kat3032_entropyinpr1, kat3032_addinpr1, kat3032_entropyinpr2, + kat3032_addinpr2, kat3032_retbits +}; +static const struct drbg_kat kat3032 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3032_t +}; + +static const unsigned char kat3033_entropyin[] = { + 0xec, 0x90, 0xeb, 0xdb, 0xa5, 0x84, 0xdd, 0x53, 0x30, 0xf5, 0xca, 0x15, + 0xd8, 0x2a, 0x7c, 0xc1, +}; +static const unsigned char kat3033_nonce[] = { + 0x70, 0xc6, 0x00, 0xd5, 0xe1, 0xa2, 0xf7, 0xe5, +}; +static const unsigned char kat3033_persstr[] = { + 0xac, 0x25, 0xfe, 0xf9, 0x23, 0x1e, 0x94, 0x80, 0x24, 0x53, 0x58, 0xc4, + 0x08, 0xfa, 0xe6, 0xde, +}; +static const unsigned char kat3033_entropyinpr1[] = { + 0x21, 0x18, 0xfa, 0xdf, 0xad, 0x20, 0x64, 0x2c, 0x42, 0x51, 0x6b, 0x36, + 0xc5, 0xee, 0x0e, 0xb3, +}; +static const unsigned char kat3033_addinpr1[] = {0}; +static const unsigned char kat3033_entropyinpr2[] = { + 0x0b, 0xee, 0x2a, 0xf7, 0x97, 0xc9, 0xfc, 0x61, 0xdc, 0x40, 0xbe, 0x9e, + 0xba, 0x2c, 0xee, 0xff, +}; +static const unsigned char kat3033_addinpr2[] = {0}; +static const unsigned char kat3033_retbits[] = { + 0x94, 0x65, 0xbd, 0xc7, 0x66, 0xa8, 0x04, 0xee, 0x55, 0x1b, 0x74, 0xad, + 0x5a, 0xf0, 0xac, 0x19, 0xc4, 0x84, 0x28, 0x98, 0x46, 0x54, 0xeb, 0xa9, + 0xd7, 0xec, 0xd8, 0xb4, 0x3d, 0x71, 0x64, 0x70, 0xa8, 0x56, 0x84, 0x67, + 0xf3, 0x62, 0x14, 0x01, 0x0b, 0x67, 0x6b, 0x1a, 0xb3, 0xd8, 0x81, 0x87, + 0x34, 0xe0, 0xdd, 0xe2, 0x6d, 0x57, 0x0f, 0x5a, 0x88, 0x56, 0x20, 0x4e, + 0x74, 0x4d, 0x71, 0x67, +}; +static const struct drbg_kat_pr_true kat3033_t = { + 2, kat3033_entropyin, kat3033_nonce, kat3033_persstr, + kat3033_entropyinpr1, kat3033_addinpr1, kat3033_entropyinpr2, + kat3033_addinpr2, kat3033_retbits +}; +static const struct drbg_kat kat3033 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3033_t +}; + +static const unsigned char kat3034_entropyin[] = { + 0x70, 0xd5, 0x75, 0x87, 0x1d, 0x6d, 0x38, 0xf5, 0x61, 0xd3, 0xe0, 0xd6, + 0xbb, 0x45, 0x0b, 0x41, +}; +static const unsigned char kat3034_nonce[] = { + 0x10, 0x73, 0xee, 0x1a, 0x8f, 0x25, 0x58, 0x74, +}; +static const unsigned char kat3034_persstr[] = { + 0x5b, 0x71, 0x01, 0x59, 0x02, 0x39, 0x65, 0x36, 0xa9, 0x0b, 0x1f, 0x9f, + 0x86, 0xf6, 0xef, 0x4a, +}; +static const unsigned char kat3034_entropyinpr1[] = { + 0x8d, 0xf6, 0x64, 0x21, 0x44, 0xf0, 0xaa, 0xb4, 0xd6, 0x2e, 0x86, 0x3a, + 0x60, 0xd0, 0xec, 0x57, +}; +static const unsigned char kat3034_addinpr1[] = {0}; +static const unsigned char kat3034_entropyinpr2[] = { + 0x81, 0x9b, 0xfb, 0x6d, 0xa4, 0x2f, 0xfe, 0x7d, 0xc1, 0x8a, 0x23, 0x18, + 0x97, 0xdf, 0xed, 0x1d, +}; +static const unsigned char kat3034_addinpr2[] = {0}; +static const unsigned char kat3034_retbits[] = { + 0xfe, 0xed, 0x5a, 0xd2, 0x51, 0x77, 0xd2, 0x9f, 0x2d, 0x67, 0x0f, 0xb2, + 0x5f, 0x21, 0x50, 0x85, 0xa0, 0x59, 0x6d, 0xa9, 0x3c, 0xc9, 0x0f, 0x65, + 0x42, 0xff, 0x14, 0xe3, 0xbb, 0xf8, 0xbb, 0xc5, 0x14, 0xe6, 0x18, 0x47, + 0xc6, 0xce, 0xda, 0x1b, 0xb4, 0xf1, 0x52, 0x4e, 0x59, 0xcb, 0x6e, 0x7e, + 0x81, 0xd9, 0x79, 0x16, 0xa8, 0xe6, 0xc0, 0x00, 0xa7, 0x1e, 0xc1, 0xf2, + 0xc4, 0x5c, 0x8c, 0xb2, +}; +static const struct drbg_kat_pr_true kat3034_t = { + 3, kat3034_entropyin, kat3034_nonce, kat3034_persstr, + kat3034_entropyinpr1, kat3034_addinpr1, kat3034_entropyinpr2, + kat3034_addinpr2, kat3034_retbits +}; +static const struct drbg_kat kat3034 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3034_t +}; + +static const unsigned char kat3035_entropyin[] = { + 0x17, 0x8b, 0xb5, 0xd9, 0xf4, 0xba, 0x49, 0xd7, 0xdf, 0xed, 0x71, 0xce, + 0xe1, 0x04, 0xec, 0x47, +}; +static const unsigned char kat3035_nonce[] = { + 0xa3, 0xf5, 0xa9, 0xa3, 0x49, 0xea, 0xf2, 0x6a, +}; +static const unsigned char kat3035_persstr[] = { + 0xb2, 0xf6, 0x00, 0xe9, 0x5d, 0x10, 0xc6, 0xf0, 0x1b, 0x41, 0xb9, 0x93, + 0x35, 0xa1, 0x1e, 0x29, +}; +static const unsigned char kat3035_entropyinpr1[] = { + 0xfc, 0x4d, 0xd0, 0x35, 0xe1, 0xfe, 0xfb, 0x4d, 0xb5, 0x5b, 0x21, 0x34, + 0x3f, 0x7e, 0xe4, 0x72, +}; +static const unsigned char kat3035_addinpr1[] = {0}; +static const unsigned char kat3035_entropyinpr2[] = { + 0x5a, 0x0c, 0x9b, 0xd0, 0x20, 0x1c, 0xfc, 0x9a, 0x98, 0x3c, 0x01, 0xbb, + 0x96, 0x2d, 0xe7, 0x73, +}; +static const unsigned char kat3035_addinpr2[] = {0}; +static const unsigned char kat3035_retbits[] = { + 0x30, 0x50, 0x3e, 0x23, 0x18, 0xb1, 0xc6, 0x71, 0x23, 0x80, 0x2c, 0xc5, + 0x30, 0x2d, 0xf8, 0xd5, 0xdd, 0x5f, 0x09, 0x7c, 0x80, 0x44, 0x86, 0x07, + 0x05, 0x9b, 0x15, 0xbe, 0xde, 0x38, 0xfe, 0x5f, 0xc4, 0x49, 0xb7, 0x43, + 0xbe, 0xd2, 0x22, 0x92, 0x62, 0x20, 0xfd, 0x74, 0x70, 0xd4, 0xc6, 0x22, + 0x3a, 0x22, 0x42, 0xac, 0x4c, 0x60, 0x3b, 0x9c, 0xcc, 0xa8, 0x00, 0xa7, + 0x25, 0x37, 0xb0, 0xfa, +}; +static const struct drbg_kat_pr_true kat3035_t = { + 4, kat3035_entropyin, kat3035_nonce, kat3035_persstr, + kat3035_entropyinpr1, kat3035_addinpr1, kat3035_entropyinpr2, + kat3035_addinpr2, kat3035_retbits +}; +static const struct drbg_kat kat3035 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3035_t +}; + +static const unsigned char kat3036_entropyin[] = { + 0x8c, 0xfb, 0xce, 0xfe, 0xb6, 0x6e, 0x2b, 0x1f, 0x36, 0xa0, 0xb7, 0xe9, + 0x0a, 0xe5, 0x56, 0x10, +}; +static const unsigned char kat3036_nonce[] = { + 0xd0, 0x0b, 0xa4, 0x06, 0x5b, 0xe0, 0xb6, 0x0d, +}; +static const unsigned char kat3036_persstr[] = { + 0x64, 0x5d, 0x21, 0x21, 0xdc, 0xf0, 0xfe, 0x6d, 0xa8, 0x7a, 0xf3, 0xb0, + 0xbc, 0x8b, 0xba, 0x2a, +}; +static const unsigned char kat3036_entropyinpr1[] = { + 0xac, 0x39, 0xdc, 0x73, 0xed, 0x83, 0x51, 0x63, 0x19, 0xce, 0xa2, 0x1d, + 0xd2, 0xc2, 0xb3, 0xf9, +}; +static const unsigned char kat3036_addinpr1[] = {0}; +static const unsigned char kat3036_entropyinpr2[] = { + 0xa2, 0x12, 0x50, 0x4a, 0x89, 0xb7, 0x59, 0xfd, 0x17, 0xe6, 0x46, 0xa4, + 0x43, 0x0b, 0x8d, 0xb7, +}; +static const unsigned char kat3036_addinpr2[] = {0}; +static const unsigned char kat3036_retbits[] = { + 0x11, 0x77, 0x85, 0xb3, 0x83, 0x3d, 0x41, 0x8c, 0x82, 0xd4, 0xbd, 0x82, + 0x1b, 0xf9, 0xb6, 0xab, 0xd8, 0xa4, 0x24, 0x35, 0xf6, 0xbd, 0x4a, 0x04, + 0xfc, 0x2d, 0x2c, 0x25, 0x0a, 0xae, 0xd5, 0x04, 0x1b, 0x74, 0xd5, 0xbf, + 0xd3, 0x98, 0x09, 0x7f, 0x81, 0x83, 0x7b, 0x9a, 0x10, 0xc7, 0xae, 0x5b, + 0xa7, 0x93, 0x6a, 0x9c, 0xeb, 0xad, 0x31, 0xe2, 0xe0, 0xac, 0x4d, 0xfc, + 0x3f, 0x35, 0x1b, 0xfc, +}; +static const struct drbg_kat_pr_true kat3036_t = { + 5, kat3036_entropyin, kat3036_nonce, kat3036_persstr, + kat3036_entropyinpr1, kat3036_addinpr1, kat3036_entropyinpr2, + kat3036_addinpr2, kat3036_retbits +}; +static const struct drbg_kat kat3036 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3036_t +}; + +static const unsigned char kat3037_entropyin[] = { + 0xe1, 0x84, 0xdb, 0x5a, 0x90, 0xa0, 0x6b, 0x62, 0xd3, 0xad, 0xa7, 0x6b, + 0xf1, 0x22, 0x9c, 0xaf, +}; +static const unsigned char kat3037_nonce[] = { + 0xcd, 0xc7, 0x1c, 0x1b, 0x05, 0x3e, 0xe2, 0x9b, +}; +static const unsigned char kat3037_persstr[] = { + 0xa6, 0x6b, 0xd4, 0x57, 0x45, 0x4d, 0x34, 0x08, 0x7c, 0x10, 0x69, 0x18, + 0x8c, 0x91, 0xc8, 0xb4, +}; +static const unsigned char kat3037_entropyinpr1[] = { + 0x94, 0x13, 0x7a, 0x4a, 0xe0, 0x4f, 0x44, 0x70, 0xd9, 0x41, 0xd9, 0xe6, + 0x3e, 0x4c, 0xe8, 0xca, +}; +static const unsigned char kat3037_addinpr1[] = {0}; +static const unsigned char kat3037_entropyinpr2[] = { + 0x48, 0x35, 0x63, 0xbd, 0x70, 0x4a, 0xa7, 0xa1, 0x4c, 0xc1, 0x1e, 0x04, + 0xd0, 0x2f, 0xac, 0x3a, +}; +static const unsigned char kat3037_addinpr2[] = {0}; +static const unsigned char kat3037_retbits[] = { + 0xec, 0x2c, 0x75, 0x83, 0x0a, 0x9a, 0x09, 0x7c, 0x67, 0x31, 0x61, 0x3b, + 0x98, 0x9e, 0x36, 0xe5, 0x16, 0x00, 0xae, 0x1a, 0xc8, 0x44, 0x74, 0x09, + 0x87, 0x50, 0x48, 0x00, 0x23, 0x16, 0x54, 0xbf, 0x79, 0x3b, 0x8a, 0x25, + 0xc7, 0xec, 0x69, 0xae, 0x36, 0xf1, 0x19, 0xeb, 0xd7, 0xb5, 0x9c, 0xcc, + 0x84, 0xc0, 0xeb, 0x55, 0x65, 0x18, 0x4a, 0xbe, 0x83, 0x31, 0xca, 0x11, + 0xe4, 0x3f, 0x63, 0x8a, +}; +static const struct drbg_kat_pr_true kat3037_t = { + 6, kat3037_entropyin, kat3037_nonce, kat3037_persstr, + kat3037_entropyinpr1, kat3037_addinpr1, kat3037_entropyinpr2, + kat3037_addinpr2, kat3037_retbits +}; +static const struct drbg_kat kat3037 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3037_t +}; + +static const unsigned char kat3038_entropyin[] = { + 0x22, 0xc5, 0xc4, 0x89, 0x36, 0xce, 0xbb, 0xcf, 0xe0, 0x18, 0x4f, 0xa1, + 0x7a, 0x93, 0x0c, 0x0e, +}; +static const unsigned char kat3038_nonce[] = { + 0xc3, 0xf1, 0x78, 0x4b, 0x31, 0x77, 0xf6, 0xac, +}; +static const unsigned char kat3038_persstr[] = { + 0x47, 0x18, 0x87, 0xff, 0xed, 0xf5, 0xe8, 0xc7, 0x1a, 0x40, 0x7d, 0x8c, + 0x8c, 0xff, 0x7f, 0xd5, +}; +static const unsigned char kat3038_entropyinpr1[] = { + 0x2b, 0x23, 0x6d, 0x1a, 0xb6, 0x8f, 0xb5, 0x97, 0xa7, 0xa5, 0x89, 0x97, + 0x98, 0x91, 0x94, 0x94, +}; +static const unsigned char kat3038_addinpr1[] = {0}; +static const unsigned char kat3038_entropyinpr2[] = { + 0xab, 0xd5, 0x61, 0x5b, 0x4e, 0x56, 0x58, 0xa3, 0xa6, 0x42, 0xbc, 0x90, + 0xc7, 0x53, 0x55, 0xc6, +}; +static const unsigned char kat3038_addinpr2[] = {0}; +static const unsigned char kat3038_retbits[] = { + 0x73, 0x03, 0xeb, 0xb9, 0xd0, 0xad, 0x52, 0x05, 0xa6, 0x3e, 0x0a, 0xf4, + 0x82, 0xaa, 0x10, 0x78, 0xc7, 0x43, 0xae, 0x4a, 0x99, 0xe5, 0x6f, 0xd9, + 0x0d, 0x6d, 0xb4, 0xd8, 0xf5, 0x8e, 0xbc, 0xd2, 0x95, 0x08, 0x4f, 0xcc, + 0x15, 0x96, 0x61, 0xa0, 0xbd, 0x71, 0x88, 0xcd, 0x0c, 0x7d, 0x96, 0xf9, + 0xfb, 0x76, 0x86, 0x21, 0xfa, 0x87, 0xe5, 0xfb, 0x3d, 0xa3, 0x9f, 0xc0, + 0x97, 0x6a, 0x2e, 0x0b, +}; +static const struct drbg_kat_pr_true kat3038_t = { + 7, kat3038_entropyin, kat3038_nonce, kat3038_persstr, + kat3038_entropyinpr1, kat3038_addinpr1, kat3038_entropyinpr2, + kat3038_addinpr2, kat3038_retbits +}; +static const struct drbg_kat kat3038 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3038_t +}; + +static const unsigned char kat3039_entropyin[] = { + 0x28, 0xaf, 0x30, 0x57, 0xc2, 0xe2, 0x01, 0xb6, 0x31, 0x85, 0x28, 0x7d, + 0x2a, 0x0f, 0x45, 0xb8, +}; +static const unsigned char kat3039_nonce[] = { + 0x43, 0x93, 0x3b, 0x8f, 0x98, 0x66, 0x7b, 0xdb, +}; +static const unsigned char kat3039_persstr[] = { + 0x39, 0x94, 0x57, 0xf9, 0x24, 0xf0, 0x99, 0x7f, 0xbb, 0xe5, 0x22, 0x1e, + 0xb3, 0x98, 0x30, 0xfd, +}; +static const unsigned char kat3039_entropyinpr1[] = { + 0x13, 0x21, 0xab, 0xfb, 0xb1, 0x12, 0xbd, 0xfb, 0xda, 0x02, 0xad, 0xc4, + 0x76, 0x28, 0xc6, 0xfc, +}; +static const unsigned char kat3039_addinpr1[] = {0}; +static const unsigned char kat3039_entropyinpr2[] = { + 0xe4, 0xac, 0xef, 0x97, 0xc8, 0xef, 0x8f, 0xa4, 0xdc, 0x05, 0x10, 0x20, + 0xeb, 0xde, 0x8c, 0x30, +}; +static const unsigned char kat3039_addinpr2[] = {0}; +static const unsigned char kat3039_retbits[] = { + 0x81, 0x73, 0xf6, 0x81, 0x26, 0x2e, 0x67, 0xe0, 0xf0, 0xa5, 0x51, 0xdf, + 0xee, 0x63, 0x9f, 0x0f, 0xf3, 0x35, 0xd3, 0x3f, 0x70, 0x24, 0x32, 0xc9, + 0x89, 0xf4, 0x52, 0x27, 0x7d, 0x1b, 0x47, 0xc8, 0xf8, 0xcb, 0xf0, 0x51, + 0x73, 0x55, 0xa2, 0x40, 0x73, 0x9c, 0xbd, 0xea, 0x20, 0x05, 0xf8, 0xeb, + 0x11, 0x96, 0xf1, 0x05, 0x12, 0xd7, 0xd2, 0x91, 0x60, 0x11, 0xd3, 0xad, + 0x52, 0x7b, 0x5c, 0xab, +}; +static const struct drbg_kat_pr_true kat3039_t = { + 8, kat3039_entropyin, kat3039_nonce, kat3039_persstr, + kat3039_entropyinpr1, kat3039_addinpr1, kat3039_entropyinpr2, + kat3039_addinpr2, kat3039_retbits +}; +static const struct drbg_kat kat3039 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3039_t +}; + +static const unsigned char kat3040_entropyin[] = { + 0x18, 0xd0, 0x9a, 0xda, 0xb3, 0xf0, 0x1a, 0x50, 0xfc, 0x83, 0x4e, 0xbf, + 0x07, 0x42, 0xbc, 0xc3, +}; +static const unsigned char kat3040_nonce[] = { + 0x8a, 0x98, 0xd7, 0xc7, 0xc2, 0x4b, 0x70, 0xde, +}; +static const unsigned char kat3040_persstr[] = { + 0xa2, 0x6f, 0x4d, 0x07, 0x8b, 0xcf, 0x3b, 0xd2, 0xb2, 0x7e, 0xc9, 0xb2, + 0x7c, 0x8b, 0xda, 0x82, +}; +static const unsigned char kat3040_entropyinpr1[] = { + 0x60, 0x10, 0x00, 0x3a, 0x62, 0x2d, 0xd4, 0x07, 0x51, 0x68, 0x8c, 0xad, + 0xb7, 0xdd, 0xfb, 0x3b, +}; +static const unsigned char kat3040_addinpr1[] = {0}; +static const unsigned char kat3040_entropyinpr2[] = { + 0x71, 0xc2, 0x06, 0x8c, 0x51, 0xa2, 0xe7, 0x5d, 0xcb, 0x16, 0xba, 0x87, + 0x13, 0xe1, 0x9d, 0xcc, +}; +static const unsigned char kat3040_addinpr2[] = {0}; +static const unsigned char kat3040_retbits[] = { + 0x7e, 0x01, 0x5c, 0xc3, 0xc1, 0x51, 0xe9, 0xa3, 0xb2, 0xfc, 0x3a, 0xcf, + 0x40, 0xe6, 0xbd, 0x5d, 0xca, 0x1c, 0xfa, 0xe3, 0xf0, 0xf5, 0x82, 0x5c, + 0xc8, 0x66, 0xb0, 0x52, 0x45, 0x7e, 0x6e, 0x63, 0xcc, 0x10, 0x95, 0x98, + 0x6e, 0xc8, 0xfe, 0x69, 0x8a, 0x11, 0x93, 0x63, 0x0f, 0xe6, 0xba, 0x3e, + 0x4e, 0x84, 0x06, 0xdf, 0x0e, 0x27, 0x4c, 0xc6, 0x99, 0x4e, 0x1c, 0xf9, + 0xc0, 0x3f, 0xbe, 0x1f, +}; +static const struct drbg_kat_pr_true kat3040_t = { + 9, kat3040_entropyin, kat3040_nonce, kat3040_persstr, + kat3040_entropyinpr1, kat3040_addinpr1, kat3040_entropyinpr2, + kat3040_addinpr2, kat3040_retbits +}; +static const struct drbg_kat kat3040 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3040_t +}; + +static const unsigned char kat3041_entropyin[] = { + 0xf5, 0x10, 0xcc, 0xda, 0xb1, 0x72, 0x42, 0xbe, 0xcc, 0x65, 0xb7, 0x76, + 0x75, 0x0e, 0xed, 0xfa, +}; +static const unsigned char kat3041_nonce[] = { + 0x45, 0x05, 0xb3, 0x38, 0x8c, 0xb0, 0x31, 0x78, +}; +static const unsigned char kat3041_persstr[] = { + 0xb6, 0x10, 0x86, 0x91, 0xaf, 0x07, 0x3f, 0xf4, 0xb5, 0xbc, 0x52, 0x2e, + 0x4c, 0x5f, 0x72, 0xf4, +}; +static const unsigned char kat3041_entropyinpr1[] = { + 0x40, 0x85, 0x4b, 0x6d, 0x7a, 0x74, 0xd1, 0xe7, 0xc5, 0x9c, 0xf6, 0x2e, + 0x88, 0x26, 0x3c, 0x6a, +}; +static const unsigned char kat3041_addinpr1[] = {0}; +static const unsigned char kat3041_entropyinpr2[] = { + 0x9c, 0xbf, 0xd2, 0x51, 0x70, 0x72, 0x4d, 0xed, 0xc0, 0x34, 0x9a, 0xac, + 0x03, 0x62, 0x84, 0xcc, +}; +static const unsigned char kat3041_addinpr2[] = {0}; +static const unsigned char kat3041_retbits[] = { + 0xfe, 0x77, 0xc9, 0x42, 0xe7, 0x1a, 0xc3, 0xe9, 0x24, 0xf5, 0xe5, 0xf2, + 0x0e, 0xbc, 0x66, 0x94, 0x1c, 0x79, 0x3f, 0x02, 0x18, 0x2a, 0x41, 0xeb, + 0x25, 0xf2, 0x8e, 0xeb, 0xe9, 0x99, 0xf6, 0xaf, 0x25, 0x29, 0x15, 0xe1, + 0x60, 0x5f, 0xd5, 0x9d, 0x82, 0x9e, 0x76, 0x9b, 0x78, 0xd6, 0x13, 0x7d, + 0xe2, 0x5d, 0x77, 0x7d, 0x48, 0xd1, 0xb6, 0x66, 0x90, 0x41, 0xdb, 0xe4, + 0x06, 0xc2, 0xfd, 0x4e, +}; +static const struct drbg_kat_pr_true kat3041_t = { + 10, kat3041_entropyin, kat3041_nonce, kat3041_persstr, + kat3041_entropyinpr1, kat3041_addinpr1, kat3041_entropyinpr2, + kat3041_addinpr2, kat3041_retbits +}; +static const struct drbg_kat kat3041 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3041_t +}; + +static const unsigned char kat3042_entropyin[] = { + 0x1b, 0x4b, 0xc2, 0xac, 0x12, 0x39, 0x16, 0xbf, 0xbb, 0xb8, 0x7a, 0x50, + 0x14, 0x3a, 0x10, 0x4e, +}; +static const unsigned char kat3042_nonce[] = { + 0xb8, 0xef, 0x32, 0xcb, 0x3d, 0x4d, 0x3a, 0xaa, +}; +static const unsigned char kat3042_persstr[] = { + 0x7c, 0xa4, 0x61, 0xab, 0xd1, 0x53, 0xce, 0x27, 0x53, 0x7a, 0x9a, 0x81, + 0xcc, 0x9a, 0xac, 0x4d, +}; +static const unsigned char kat3042_entropyinpr1[] = { + 0x68, 0x7d, 0x7d, 0x7e, 0xe0, 0x22, 0x27, 0x00, 0xaf, 0xb1, 0xe0, 0x5b, + 0xcc, 0xb0, 0x8b, 0x2e, +}; +static const unsigned char kat3042_addinpr1[] = {0}; +static const unsigned char kat3042_entropyinpr2[] = { + 0x3b, 0xe0, 0x09, 0x0c, 0xba, 0x74, 0xa0, 0x7d, 0xb6, 0xcd, 0x49, 0x45, + 0x0d, 0x6f, 0x84, 0x8c, +}; +static const unsigned char kat3042_addinpr2[] = {0}; +static const unsigned char kat3042_retbits[] = { + 0x25, 0xd6, 0x24, 0xe1, 0xaa, 0x14, 0xbc, 0x00, 0x06, 0x93, 0xb2, 0x5f, + 0x7d, 0x6d, 0x15, 0x3c, 0xa5, 0x83, 0x33, 0x79, 0x5c, 0x40, 0xc4, 0xfd, + 0x2e, 0x60, 0x9a, 0xa1, 0x12, 0x1c, 0xd6, 0xb6, 0xee, 0xd2, 0x65, 0xcb, + 0x2c, 0x6c, 0x15, 0x49, 0x83, 0xfa, 0x79, 0xe8, 0x8f, 0xf6, 0x2e, 0xb4, + 0x64, 0x67, 0x17, 0x9c, 0x33, 0xff, 0x8c, 0x3d, 0xbe, 0xc1, 0xa4, 0x0d, + 0x30, 0xac, 0x50, 0xdc, +}; +static const struct drbg_kat_pr_true kat3042_t = { + 11, kat3042_entropyin, kat3042_nonce, kat3042_persstr, + kat3042_entropyinpr1, kat3042_addinpr1, kat3042_entropyinpr2, + kat3042_addinpr2, kat3042_retbits +}; +static const struct drbg_kat kat3042 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3042_t +}; + +static const unsigned char kat3043_entropyin[] = { + 0x3c, 0x8b, 0xa8, 0x2a, 0x16, 0x3a, 0xd8, 0x5a, 0x99, 0x5e, 0xdb, 0x69, + 0xd2, 0xce, 0x89, 0x92, +}; +static const unsigned char kat3043_nonce[] = { + 0xeb, 0x06, 0xb6, 0xba, 0xe0, 0x03, 0xf1, 0x97, +}; +static const unsigned char kat3043_persstr[] = { + 0x83, 0xea, 0xf9, 0x31, 0x28, 0x36, 0x52, 0x1d, 0x4d, 0xd4, 0x23, 0x6e, + 0x24, 0xfc, 0xe8, 0x80, +}; +static const unsigned char kat3043_entropyinpr1[] = { + 0x6f, 0x71, 0xe8, 0x03, 0x12, 0x69, 0xe6, 0x5f, 0x0c, 0x31, 0x61, 0x09, + 0xd3, 0x18, 0x02, 0x19, +}; +static const unsigned char kat3043_addinpr1[] = {0}; +static const unsigned char kat3043_entropyinpr2[] = { + 0x9b, 0x2c, 0xf7, 0x84, 0xc3, 0xb3, 0xb1, 0xe3, 0xf1, 0xe6, 0xa8, 0x3f, + 0x6e, 0x83, 0x5f, 0x6e, +}; +static const unsigned char kat3043_addinpr2[] = {0}; +static const unsigned char kat3043_retbits[] = { + 0x51, 0xe8, 0xe5, 0x69, 0x63, 0x42, 0x19, 0x3b, 0xc9, 0xad, 0x70, 0xde, + 0xd9, 0xb9, 0x5d, 0x53, 0x25, 0x91, 0xac, 0xa8, 0x3a, 0x6a, 0x0c, 0xe9, + 0x94, 0x36, 0x10, 0x8c, 0x23, 0x1d, 0xa8, 0xab, 0x83, 0x4e, 0x4d, 0x47, + 0x70, 0xfd, 0x5a, 0xdb, 0x08, 0x32, 0x9d, 0x6a, 0x6a, 0xeb, 0x82, 0x04, + 0x4e, 0x54, 0x06, 0x54, 0x76, 0xc5, 0x18, 0x45, 0xf5, 0xc8, 0xbe, 0x3f, + 0x0a, 0xa1, 0x62, 0x93, +}; +static const struct drbg_kat_pr_true kat3043_t = { + 12, kat3043_entropyin, kat3043_nonce, kat3043_persstr, + kat3043_entropyinpr1, kat3043_addinpr1, kat3043_entropyinpr2, + kat3043_addinpr2, kat3043_retbits +}; +static const struct drbg_kat kat3043 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3043_t +}; + +static const unsigned char kat3044_entropyin[] = { + 0xa2, 0x1d, 0x14, 0x74, 0xc5, 0xec, 0x0a, 0xaa, 0x04, 0x29, 0x29, 0xf9, + 0x31, 0xca, 0xd9, 0x67, +}; +static const unsigned char kat3044_nonce[] = { + 0x52, 0xee, 0x53, 0xf4, 0x0a, 0xb7, 0xe5, 0xa8, +}; +static const unsigned char kat3044_persstr[] = { + 0xd7, 0x23, 0x4c, 0x43, 0x39, 0x65, 0x1e, 0x7b, 0x6b, 0x4b, 0xfa, 0xc6, + 0x47, 0x2e, 0x7c, 0x25, +}; +static const unsigned char kat3044_entropyinpr1[] = { + 0xa3, 0x1b, 0x96, 0xf7, 0x84, 0xa5, 0xe2, 0x24, 0xdb, 0xd5, 0x7b, 0x35, + 0xff, 0x14, 0xda, 0x22, +}; +static const unsigned char kat3044_addinpr1[] = {0}; +static const unsigned char kat3044_entropyinpr2[] = { + 0x2c, 0x78, 0x70, 0x65, 0x08, 0x05, 0x7e, 0x95, 0x21, 0xed, 0xa9, 0xc3, + 0x76, 0x4b, 0x17, 0xe5, +}; +static const unsigned char kat3044_addinpr2[] = {0}; +static const unsigned char kat3044_retbits[] = { + 0x93, 0x98, 0x9c, 0x71, 0xde, 0x4b, 0x19, 0x79, 0x7f, 0xa6, 0x71, 0x5e, + 0x69, 0x35, 0xa9, 0xad, 0xa5, 0x8b, 0x68, 0x5f, 0xb2, 0x6c, 0xbf, 0x24, + 0xae, 0xa7, 0x2e, 0x17, 0x51, 0xcd, 0xcf, 0x34, 0x75, 0x10, 0x39, 0xf9, + 0xde, 0xc1, 0xc6, 0x0f, 0x0b, 0xbe, 0x7f, 0x79, 0x39, 0xd0, 0x7c, 0x5d, + 0xe3, 0x71, 0x07, 0xf2, 0x80, 0x62, 0xa1, 0x2c, 0x0d, 0xc1, 0xaa, 0x0f, + 0x08, 0x0e, 0x45, 0x7d, +}; +static const struct drbg_kat_pr_true kat3044_t = { + 13, kat3044_entropyin, kat3044_nonce, kat3044_persstr, + kat3044_entropyinpr1, kat3044_addinpr1, kat3044_entropyinpr2, + kat3044_addinpr2, kat3044_retbits +}; +static const struct drbg_kat kat3044 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3044_t +}; + +static const unsigned char kat3045_entropyin[] = { + 0xdc, 0x30, 0xe1, 0xdb, 0x5c, 0x9a, 0x1b, 0x17, 0x18, 0x6f, 0x7f, 0xca, + 0x1f, 0xa7, 0x9c, 0x92, +}; +static const unsigned char kat3045_nonce[] = { + 0xe1, 0x38, 0xc3, 0xce, 0xcc, 0xca, 0x8e, 0x59, +}; +static const unsigned char kat3045_persstr[] = { + 0x4d, 0x43, 0x17, 0x76, 0x37, 0xd3, 0x38, 0xac, 0x74, 0x18, 0x88, 0x0c, + 0x7e, 0x15, 0xb5, 0x6c, +}; +static const unsigned char kat3045_entropyinpr1[] = { + 0xa3, 0xa6, 0x53, 0x94, 0x12, 0x45, 0x1c, 0x4c, 0x50, 0xb2, 0xb3, 0x73, + 0x10, 0x50, 0xb7, 0x7e, +}; +static const unsigned char kat3045_addinpr1[] = {0}; +static const unsigned char kat3045_entropyinpr2[] = { + 0x78, 0xaf, 0x61, 0x91, 0xe4, 0x7e, 0xe4, 0xb5, 0xae, 0xbc, 0x9b, 0x89, + 0xd2, 0xaa, 0x7d, 0x61, +}; +static const unsigned char kat3045_addinpr2[] = {0}; +static const unsigned char kat3045_retbits[] = { + 0x22, 0x87, 0x6b, 0x47, 0xab, 0xc2, 0x2b, 0x83, 0x58, 0xec, 0xe9, 0xe6, + 0xaf, 0x25, 0xd6, 0x7a, 0x89, 0x7e, 0x54, 0xf6, 0x07, 0x60, 0xf0, 0x79, + 0x81, 0x11, 0xb8, 0xdf, 0x65, 0x49, 0xe6, 0x14, 0xf2, 0x21, 0x05, 0xd1, + 0x55, 0xe1, 0xcd, 0x23, 0xf9, 0x02, 0x9d, 0xa5, 0x52, 0x6a, 0xaf, 0xae, + 0x9e, 0xea, 0x16, 0xc6, 0x48, 0x2c, 0x36, 0xcc, 0x1a, 0x2e, 0x48, 0xb3, + 0xb0, 0x5e, 0x98, 0xf6, +}; +static const struct drbg_kat_pr_true kat3045_t = { + 14, kat3045_entropyin, kat3045_nonce, kat3045_persstr, + kat3045_entropyinpr1, kat3045_addinpr1, kat3045_entropyinpr2, + kat3045_addinpr2, kat3045_retbits +}; +static const struct drbg_kat kat3045 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3045_t +}; + +static const unsigned char kat3046_entropyin[] = { + 0x41, 0xad, 0x5d, 0xba, 0xd2, 0xb7, 0xdc, 0x53, 0xa5, 0x9d, 0x55, 0xc4, + 0x72, 0xc4, 0xc3, 0x8b, +}; +static const unsigned char kat3046_nonce[] = { + 0xe7, 0x12, 0x33, 0xae, 0x7d, 0x69, 0x8a, 0x0d, +}; +static const unsigned char kat3046_persstr[] = { + 0xe8, 0x9c, 0x3c, 0xe6, 0xa0, 0x33, 0x1d, 0x1d, 0x88, 0xb5, 0x75, 0x20, + 0x5f, 0xed, 0x91, 0x38, +}; +static const unsigned char kat3046_entropyinpr1[] = { + 0xa0, 0x2c, 0x4e, 0x06, 0xed, 0xda, 0xb9, 0x1a, 0x06, 0x37, 0xea, 0xb1, + 0x53, 0x2f, 0x72, 0xfc, +}; +static const unsigned char kat3046_addinpr1[] = { + 0x9e, 0x2f, 0x64, 0xfd, 0x75, 0x4f, 0x91, 0x94, 0x3a, 0x05, 0x0e, 0x1e, + 0xf1, 0xe5, 0x5e, 0xf3, +}; +static const unsigned char kat3046_entropyinpr2[] = { + 0xff, 0x80, 0x99, 0x50, 0xea, 0x8a, 0xa9, 0x40, 0xd4, 0xfd, 0x71, 0x4c, + 0x02, 0x04, 0x78, 0x52, +}; +static const unsigned char kat3046_addinpr2[] = { + 0x3e, 0x18, 0x72, 0xf3, 0x11, 0xdd, 0xd7, 0xe7, 0x1e, 0xed, 0xda, 0xf2, + 0xc4, 0xa1, 0xcc, 0xef, +}; +static const unsigned char kat3046_retbits[] = { + 0x5a, 0x80, 0x08, 0x3c, 0x48, 0x94, 0xea, 0xf1, 0x74, 0xea, 0x22, 0x47, + 0xd1, 0x1c, 0x82, 0x96, 0x99, 0xf7, 0x27, 0x86, 0x8f, 0x90, 0x55, 0xf2, + 0x57, 0xb2, 0xd1, 0xe9, 0x9e, 0x85, 0x90, 0x57, 0xb5, 0xa8, 0x19, 0x63, + 0x56, 0x4d, 0x80, 0xf3, 0xc8, 0xd4, 0x67, 0x71, 0xd1, 0x28, 0x5a, 0xec, + 0x24, 0x75, 0xfc, 0xbf, 0x36, 0x90, 0x2a, 0x13, 0xa1, 0xf2, 0xcc, 0x86, + 0xc7, 0xbb, 0xfa, 0xed, +}; +static const struct drbg_kat_pr_true kat3046_t = { + 0, kat3046_entropyin, kat3046_nonce, kat3046_persstr, + kat3046_entropyinpr1, kat3046_addinpr1, kat3046_entropyinpr2, + kat3046_addinpr2, kat3046_retbits +}; +static const struct drbg_kat kat3046 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3046_t +}; + +static const unsigned char kat3047_entropyin[] = { + 0x8a, 0xfc, 0x14, 0x0c, 0xc1, 0x07, 0xe5, 0xed, 0x01, 0x6f, 0x45, 0x42, + 0xe0, 0xa2, 0x75, 0x22, +}; +static const unsigned char kat3047_nonce[] = { + 0xb4, 0x68, 0x8b, 0x46, 0xb7, 0xa3, 0x34, 0x19, +}; +static const unsigned char kat3047_persstr[] = { + 0xef, 0x7f, 0xde, 0xe6, 0x8d, 0x37, 0x86, 0x1c, 0x04, 0x10, 0x5a, 0x8c, + 0x4a, 0xfb, 0x30, 0x3e, +}; +static const unsigned char kat3047_entropyinpr1[] = { + 0xfb, 0xb9, 0x88, 0x90, 0x24, 0x98, 0x94, 0xae, 0x58, 0x08, 0x5c, 0x86, + 0x88, 0xd4, 0xb0, 0x36, +}; +static const unsigned char kat3047_addinpr1[] = { + 0x21, 0x8f, 0x0c, 0xc8, 0x8c, 0x46, 0xe9, 0x17, 0x8e, 0xc2, 0x5d, 0x81, + 0x4e, 0x30, 0x6f, 0x1b, +}; +static const unsigned char kat3047_entropyinpr2[] = { + 0x79, 0x88, 0xa7, 0xb0, 0xff, 0x93, 0xf4, 0x2f, 0x98, 0x8a, 0x47, 0x1c, + 0x66, 0x05, 0x68, 0xf8, +}; +static const unsigned char kat3047_addinpr2[] = { + 0xba, 0xe9, 0x16, 0xf0, 0xc7, 0xb9, 0xc1, 0xd7, 0x85, 0x81, 0x5f, 0xc3, + 0xcc, 0x16, 0x3d, 0x6f, +}; +static const unsigned char kat3047_retbits[] = { + 0x8d, 0x1e, 0x4f, 0x11, 0x12, 0xf3, 0x16, 0x84, 0x50, 0xd8, 0x18, 0x1d, + 0xbf, 0x9b, 0xd6, 0xc2, 0xf4, 0xd8, 0x7c, 0x89, 0x31, 0x87, 0x60, 0x48, + 0x1c, 0xa2, 0x8e, 0x46, 0x26, 0x9e, 0x30, 0xcb, 0x2a, 0x6c, 0x86, 0x84, + 0x61, 0x41, 0x22, 0xca, 0xeb, 0x8e, 0xc8, 0x87, 0x04, 0x87, 0xa9, 0x9d, + 0x3f, 0x2e, 0x55, 0xc5, 0x5e, 0x58, 0x37, 0xe6, 0x1d, 0x81, 0xf6, 0x29, + 0x85, 0xb0, 0xac, 0x8e, +}; +static const struct drbg_kat_pr_true kat3047_t = { + 1, kat3047_entropyin, kat3047_nonce, kat3047_persstr, + kat3047_entropyinpr1, kat3047_addinpr1, kat3047_entropyinpr2, + kat3047_addinpr2, kat3047_retbits +}; +static const struct drbg_kat kat3047 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3047_t +}; + +static const unsigned char kat3048_entropyin[] = { + 0x4d, 0x27, 0x35, 0x3e, 0x4f, 0x1a, 0xd0, 0x8e, 0xbb, 0xa5, 0x7f, 0x10, + 0xf2, 0x65, 0xc2, 0x27, +}; +static const unsigned char kat3048_nonce[] = { + 0x5c, 0x48, 0x36, 0x60, 0x4f, 0xec, 0x04, 0xb8, +}; +static const unsigned char kat3048_persstr[] = { + 0xe3, 0xeb, 0xed, 0x6c, 0x0b, 0x09, 0x9e, 0xd5, 0x2c, 0xcf, 0x5b, 0x86, + 0x63, 0x10, 0x13, 0x34, +}; +static const unsigned char kat3048_entropyinpr1[] = { + 0x6a, 0x8d, 0x62, 0x56, 0x8c, 0x8c, 0x8a, 0xa7, 0x6d, 0x73, 0x3b, 0xc2, + 0xd2, 0x29, 0xe3, 0x26, +}; +static const unsigned char kat3048_addinpr1[] = { + 0xd5, 0x64, 0x0c, 0x2b, 0x50, 0xd5, 0xba, 0x01, 0x96, 0x1f, 0xa5, 0xb3, + 0x93, 0xc5, 0x13, 0xac, +}; +static const unsigned char kat3048_entropyinpr2[] = { + 0x00, 0x91, 0x8b, 0xa4, 0xff, 0x9b, 0x14, 0x65, 0xab, 0xe3, 0x68, 0x82, + 0x9f, 0xe6, 0x21, 0xc8, +}; +static const unsigned char kat3048_addinpr2[] = { + 0xd6, 0xef, 0xd8, 0x2e, 0x22, 0xeb, 0xd7, 0xec, 0x65, 0x1a, 0x57, 0x69, + 0xc7, 0x59, 0x78, 0x01, +}; +static const unsigned char kat3048_retbits[] = { + 0xcd, 0xfa, 0x1f, 0x0b, 0x3f, 0x9b, 0x96, 0x14, 0x25, 0x7d, 0xbb, 0xfe, + 0x38, 0x92, 0xef, 0xe2, 0x33, 0x78, 0x01, 0x31, 0x52, 0xae, 0xe6, 0x1f, + 0x12, 0x27, 0xdf, 0x8b, 0x10, 0xd9, 0x10, 0xbb, 0xf1, 0x9c, 0x1a, 0xe7, + 0xdd, 0xc2, 0xfd, 0x02, 0x9d, 0xc3, 0xdd, 0x03, 0xdd, 0xca, 0x30, 0xca, + 0x3f, 0x91, 0xf5, 0x76, 0x75, 0x81, 0x0e, 0xc5, 0x31, 0x56, 0xe4, 0x1d, + 0xc1, 0xc6, 0x14, 0x65, +}; +static const struct drbg_kat_pr_true kat3048_t = { + 2, kat3048_entropyin, kat3048_nonce, kat3048_persstr, + kat3048_entropyinpr1, kat3048_addinpr1, kat3048_entropyinpr2, + kat3048_addinpr2, kat3048_retbits +}; +static const struct drbg_kat kat3048 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3048_t +}; + +static const unsigned char kat3049_entropyin[] = { + 0xca, 0x84, 0x6c, 0x2b, 0xe9, 0x3f, 0x95, 0x40, 0x53, 0x96, 0xbb, 0x59, + 0x26, 0xa0, 0x57, 0x53, +}; +static const unsigned char kat3049_nonce[] = { + 0x0f, 0x7b, 0xc5, 0x60, 0x2e, 0x6b, 0x36, 0x15, +}; +static const unsigned char kat3049_persstr[] = { + 0x75, 0xb6, 0x71, 0xe0, 0xa9, 0x7c, 0xbd, 0xfc, 0x42, 0xe6, 0x2c, 0x5d, + 0xbf, 0xe8, 0x16, 0xec, +}; +static const unsigned char kat3049_entropyinpr1[] = { + 0xe5, 0xd5, 0xfe, 0x4b, 0x2b, 0x09, 0x51, 0xd1, 0xd5, 0xde, 0x10, 0x2f, + 0x5c, 0xa5, 0x91, 0xb0, +}; +static const unsigned char kat3049_addinpr1[] = { + 0x9d, 0x72, 0xc4, 0x56, 0xd6, 0x08, 0xe2, 0x52, 0xb2, 0x77, 0xc8, 0x4d, + 0x31, 0x78, 0x94, 0x7d, +}; +static const unsigned char kat3049_entropyinpr2[] = { + 0x51, 0x91, 0xf9, 0x73, 0x0c, 0xad, 0xe8, 0x56, 0x33, 0x74, 0xd8, 0x35, + 0x0e, 0xcb, 0x77, 0xa3, +}; +static const unsigned char kat3049_addinpr2[] = { + 0x95, 0x5a, 0xa6, 0xbf, 0xc6, 0x7e, 0xb4, 0x5c, 0x84, 0xbf, 0xb0, 0x07, + 0xb6, 0xa7, 0xec, 0x81, +}; +static const unsigned char kat3049_retbits[] = { + 0xce, 0x7f, 0xad, 0x45, 0xb0, 0x09, 0x1a, 0x32, 0x18, 0xbe, 0x9e, 0xdb, + 0xf1, 0xa7, 0x3f, 0xf3, 0xab, 0x85, 0x76, 0x31, 0x51, 0x14, 0xda, 0xe4, + 0x98, 0x93, 0x6e, 0x85, 0x34, 0x5a, 0xec, 0x01, 0xbc, 0x7b, 0xef, 0xbe, + 0x70, 0xfb, 0xd1, 0x28, 0x3a, 0x3a, 0x55, 0x4c, 0x05, 0xbb, 0x60, 0x11, + 0xee, 0x88, 0x59, 0xdd, 0xff, 0xa2, 0xd9, 0x99, 0x5c, 0x7e, 0xec, 0x98, + 0xf3, 0xc8, 0xfb, 0x90, +}; +static const struct drbg_kat_pr_true kat3049_t = { + 3, kat3049_entropyin, kat3049_nonce, kat3049_persstr, + kat3049_entropyinpr1, kat3049_addinpr1, kat3049_entropyinpr2, + kat3049_addinpr2, kat3049_retbits +}; +static const struct drbg_kat kat3049 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3049_t +}; + +static const unsigned char kat3050_entropyin[] = { + 0x25, 0xa7, 0x3d, 0xfb, 0x00, 0xa6, 0x58, 0x3b, 0x0b, 0x62, 0xb9, 0x68, + 0x0d, 0xbd, 0x88, 0x81, +}; +static const unsigned char kat3050_nonce[] = { + 0x87, 0x3a, 0x6b, 0xb8, 0xa3, 0x6d, 0x2b, 0x40, +}; +static const unsigned char kat3050_persstr[] = { + 0x94, 0x27, 0x9a, 0x74, 0xd7, 0x30, 0xd2, 0x36, 0x33, 0x1d, 0xe8, 0xd2, + 0xc3, 0xb8, 0xa1, 0x08, +}; +static const unsigned char kat3050_entropyinpr1[] = { + 0xf1, 0x27, 0x9f, 0x16, 0x54, 0xcd, 0xd6, 0x8f, 0x5a, 0xbb, 0x40, 0x59, + 0x64, 0x61, 0x04, 0x60, +}; +static const unsigned char kat3050_addinpr1[] = { + 0x76, 0x04, 0xee, 0x17, 0x8b, 0xf7, 0x8d, 0x73, 0x2b, 0xc1, 0xb8, 0xf8, + 0x86, 0xab, 0xec, 0x70, +}; +static const unsigned char kat3050_entropyinpr2[] = { + 0xe7, 0x68, 0x57, 0x82, 0xbf, 0x0e, 0x85, 0xf7, 0x09, 0x43, 0x5e, 0x18, + 0x4d, 0x32, 0x49, 0x8a, +}; +static const unsigned char kat3050_addinpr2[] = { + 0x8b, 0x84, 0x3c, 0xa9, 0x1d, 0x79, 0x18, 0x06, 0xc0, 0xd3, 0xe4, 0xd9, + 0x22, 0x31, 0x4e, 0xaf, +}; +static const unsigned char kat3050_retbits[] = { + 0x62, 0xb7, 0x28, 0xed, 0x9e, 0x0e, 0x70, 0x91, 0x0e, 0x8f, 0x5e, 0x04, + 0x3c, 0x6b, 0x98, 0x38, 0xcf, 0x59, 0xbc, 0x6a, 0x69, 0xb8, 0x9d, 0x8e, + 0xe8, 0xf0, 0xb7, 0x33, 0xea, 0xc2, 0x1b, 0xcd, 0x70, 0x16, 0xc2, 0x77, + 0xcf, 0x7c, 0x1d, 0xc4, 0x23, 0x30, 0x47, 0x08, 0xa0, 0x74, 0x38, 0xfc, + 0x06, 0x0e, 0x7a, 0xb7, 0x40, 0x61, 0x27, 0x24, 0x83, 0x90, 0xd8, 0xdb, + 0x88, 0x4f, 0xa7, 0x9d, +}; +static const struct drbg_kat_pr_true kat3050_t = { + 4, kat3050_entropyin, kat3050_nonce, kat3050_persstr, + kat3050_entropyinpr1, kat3050_addinpr1, kat3050_entropyinpr2, + kat3050_addinpr2, kat3050_retbits +}; +static const struct drbg_kat kat3050 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3050_t +}; + +static const unsigned char kat3051_entropyin[] = { + 0xa7, 0xe7, 0x21, 0x0e, 0x20, 0x72, 0xd8, 0x4b, 0x3e, 0xcb, 0xbb, 0x2f, + 0x49, 0x05, 0x2f, 0x4f, +}; +static const unsigned char kat3051_nonce[] = { + 0x79, 0xb9, 0x8f, 0x53, 0xbf, 0xf2, 0xdb, 0xa7, +}; +static const unsigned char kat3051_persstr[] = { + 0x37, 0xec, 0xd0, 0x0b, 0x09, 0x1d, 0xde, 0xab, 0xe2, 0x4d, 0x61, 0x2a, + 0xe0, 0x81, 0xfa, 0x11, +}; +static const unsigned char kat3051_entropyinpr1[] = { + 0xb5, 0xa9, 0x6a, 0x45, 0xf4, 0xb6, 0x61, 0x98, 0x58, 0x42, 0x4a, 0x50, + 0x4c, 0x51, 0xd4, 0x22, +}; +static const unsigned char kat3051_addinpr1[] = { + 0x59, 0x01, 0x04, 0x1e, 0x59, 0x53, 0xda, 0x7e, 0x69, 0xc7, 0x94, 0xb8, + 0x23, 0x71, 0x04, 0x4f, +}; +static const unsigned char kat3051_entropyinpr2[] = { + 0xa1, 0x25, 0x89, 0x1a, 0x24, 0xe1, 0xc5, 0xfc, 0xd0, 0xfe, 0x9b, 0xd1, + 0xbe, 0x1c, 0x34, 0xdb, +}; +static const unsigned char kat3051_addinpr2[] = { + 0xb6, 0x23, 0xb3, 0xc5, 0x44, 0x86, 0xdd, 0x5d, 0x92, 0x42, 0xe1, 0x08, + 0xa5, 0x85, 0x61, 0x60, +}; +static const unsigned char kat3051_retbits[] = { + 0xbb, 0xb5, 0x55, 0x21, 0xe1, 0x99, 0x34, 0xaf, 0x05, 0x2b, 0x42, 0xb5, + 0x26, 0xf9, 0xc9, 0xa4, 0x9e, 0xf8, 0x9c, 0x71, 0x61, 0x1f, 0x95, 0x9c, + 0xe2, 0x14, 0xce, 0xf3, 0xe2, 0x29, 0x18, 0x70, 0x0a, 0xcf, 0xf9, 0x9d, + 0x9e, 0xce, 0x91, 0x3e, 0x49, 0x8b, 0xad, 0xe9, 0xe3, 0x07, 0x66, 0xc4, + 0xfc, 0x33, 0xe1, 0x3a, 0x55, 0x15, 0x02, 0x09, 0xcf, 0xdb, 0xff, 0xb3, + 0x67, 0xbf, 0x6f, 0x2c, +}; +static const struct drbg_kat_pr_true kat3051_t = { + 5, kat3051_entropyin, kat3051_nonce, kat3051_persstr, + kat3051_entropyinpr1, kat3051_addinpr1, kat3051_entropyinpr2, + kat3051_addinpr2, kat3051_retbits +}; +static const struct drbg_kat kat3051 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3051_t +}; + +static const unsigned char kat3052_entropyin[] = { + 0x94, 0x7c, 0x95, 0xdd, 0x71, 0x8e, 0xdc, 0xf2, 0x64, 0x6e, 0xe2, 0x7d, + 0x6e, 0x5c, 0x2f, 0x3e, +}; +static const unsigned char kat3052_nonce[] = { + 0xd9, 0xd9, 0xb2, 0x26, 0xf8, 0x76, 0x47, 0xc4, +}; +static const unsigned char kat3052_persstr[] = { + 0xdf, 0x10, 0x45, 0xff, 0x8b, 0xc9, 0x95, 0x8c, 0x9a, 0x6b, 0x07, 0xfa, + 0x4a, 0x1d, 0xed, 0xe0, +}; +static const unsigned char kat3052_entropyinpr1[] = { + 0x94, 0x2f, 0xcf, 0xe5, 0xed, 0xed, 0x12, 0x35, 0x40, 0x88, 0x49, 0xcf, + 0x58, 0x0a, 0x10, 0xae, +}; +static const unsigned char kat3052_addinpr1[] = { + 0xea, 0xb8, 0xaa, 0x70, 0xd2, 0xb1, 0x33, 0x91, 0x3b, 0x86, 0x39, 0xa3, + 0x2d, 0x8e, 0x59, 0xfc, +}; +static const unsigned char kat3052_entropyinpr2[] = { + 0x6b, 0x6c, 0xef, 0x1a, 0x92, 0x93, 0x2e, 0xa4, 0xc0, 0xc1, 0xce, 0x53, + 0x52, 0x04, 0x38, 0x25, +}; +static const unsigned char kat3052_addinpr2[] = { + 0x23, 0x62, 0x43, 0x3a, 0x55, 0x07, 0x1a, 0x82, 0xa5, 0x6c, 0x68, 0xe5, + 0x83, 0xf3, 0xd9, 0xbc, +}; +static const unsigned char kat3052_retbits[] = { + 0x40, 0x2a, 0x68, 0x49, 0xdd, 0xac, 0x82, 0x7b, 0x56, 0x91, 0x7c, 0xa9, + 0x8e, 0xf2, 0x49, 0x77, 0x7c, 0x87, 0x4c, 0x98, 0x6f, 0x8e, 0xee, 0x08, + 0xdc, 0x6d, 0x99, 0x2d, 0xb4, 0x00, 0xa4, 0x05, 0x15, 0xae, 0x0d, 0xf9, + 0x06, 0xcf, 0xb0, 0xc1, 0x08, 0xd9, 0x2d, 0xbb, 0x60, 0x69, 0xb9, 0x42, + 0xb0, 0x0d, 0x39, 0x9f, 0x8e, 0x4d, 0x4f, 0x59, 0xb7, 0x10, 0x6a, 0xe0, + 0xeb, 0x7e, 0x51, 0xd1, +}; +static const struct drbg_kat_pr_true kat3052_t = { + 6, kat3052_entropyin, kat3052_nonce, kat3052_persstr, + kat3052_entropyinpr1, kat3052_addinpr1, kat3052_entropyinpr2, + kat3052_addinpr2, kat3052_retbits +}; +static const struct drbg_kat kat3052 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3052_t +}; + +static const unsigned char kat3053_entropyin[] = { + 0x61, 0x5e, 0xf2, 0xa3, 0xb1, 0x1b, 0x4d, 0x42, 0xb3, 0x3a, 0x60, 0x0f, + 0xc5, 0xd1, 0x9e, 0xb6, +}; +static const unsigned char kat3053_nonce[] = { + 0xed, 0x64, 0x99, 0x40, 0x28, 0xc9, 0xbd, 0x16, +}; +static const unsigned char kat3053_persstr[] = { + 0x7e, 0xea, 0x81, 0xf2, 0x01, 0x58, 0xc3, 0x32, 0xa8, 0x12, 0x82, 0x48, + 0x2f, 0x4f, 0xc6, 0x92, +}; +static const unsigned char kat3053_entropyinpr1[] = { + 0xeb, 0x31, 0x41, 0x60, 0xbf, 0x4f, 0x05, 0xb4, 0x67, 0x75, 0x40, 0x88, + 0x28, 0x9d, 0x55, 0x98, +}; +static const unsigned char kat3053_addinpr1[] = { + 0xe2, 0xfa, 0xfd, 0x00, 0x5a, 0xf0, 0x5d, 0x47, 0xd5, 0xfa, 0xd6, 0x5f, + 0xf2, 0x4a, 0x30, 0xbd, +}; +static const unsigned char kat3053_entropyinpr2[] = { + 0x46, 0x14, 0x22, 0xe3, 0x6a, 0x0a, 0x5c, 0x72, 0xcf, 0x80, 0x88, 0xbf, + 0x4e, 0x25, 0x48, 0x56, +}; +static const unsigned char kat3053_addinpr2[] = { + 0x1a, 0x5a, 0xa4, 0x5e, 0x12, 0x6f, 0x11, 0xc0, 0xc1, 0x9e, 0xbf, 0xbc, + 0x57, 0x4d, 0xea, 0x86, +}; +static const unsigned char kat3053_retbits[] = { + 0xae, 0x1b, 0x5a, 0x45, 0x76, 0x9b, 0xca, 0x07, 0xfc, 0x0a, 0xb2, 0x63, + 0x1f, 0x72, 0x72, 0xe8, 0x67, 0x9b, 0x97, 0x1e, 0x71, 0x11, 0x6c, 0xb2, + 0xdb, 0x01, 0xcf, 0x7c, 0xfd, 0x02, 0x55, 0x30, 0xf9, 0xad, 0xe0, 0x13, + 0x5a, 0x4d, 0xa1, 0x65, 0x76, 0x74, 0xc7, 0xe1, 0xaf, 0xa1, 0x37, 0x02, + 0xd7, 0x0c, 0x43, 0xc4, 0xe9, 0x9d, 0x6a, 0x8f, 0x0f, 0xe8, 0xaf, 0xca, + 0x5c, 0xcf, 0xf5, 0x35, +}; +static const struct drbg_kat_pr_true kat3053_t = { + 7, kat3053_entropyin, kat3053_nonce, kat3053_persstr, + kat3053_entropyinpr1, kat3053_addinpr1, kat3053_entropyinpr2, + kat3053_addinpr2, kat3053_retbits +}; +static const struct drbg_kat kat3053 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3053_t +}; + +static const unsigned char kat3054_entropyin[] = { + 0x4c, 0x9d, 0x79, 0x56, 0xbe, 0x59, 0xa0, 0x30, 0xe6, 0x48, 0x14, 0x65, + 0xf8, 0x9e, 0xfc, 0x49, +}; +static const unsigned char kat3054_nonce[] = { + 0xae, 0x79, 0x64, 0x11, 0xe8, 0xe1, 0x57, 0x3e, +}; +static const unsigned char kat3054_persstr[] = { + 0x60, 0xdc, 0x49, 0xfc, 0xd6, 0x33, 0x63, 0xc9, 0xf5, 0x03, 0x74, 0x38, + 0x0b, 0x6a, 0xf2, 0xef, +}; +static const unsigned char kat3054_entropyinpr1[] = { + 0x84, 0x9e, 0xbf, 0xf2, 0x35, 0xce, 0xf6, 0xbb, 0xf4, 0x4a, 0x43, 0xd8, + 0xdb, 0x9a, 0x8c, 0x19, +}; +static const unsigned char kat3054_addinpr1[] = { + 0x21, 0xf4, 0x93, 0xc7, 0xa5, 0x01, 0x5f, 0xdf, 0x82, 0x20, 0x76, 0x7a, + 0x67, 0x00, 0x73, 0xd6, +}; +static const unsigned char kat3054_entropyinpr2[] = { + 0x5f, 0x8e, 0x9f, 0x77, 0x48, 0xf3, 0xf6, 0xd0, 0x09, 0x99, 0xdc, 0x06, + 0xe1, 0x68, 0x2e, 0x2d, +}; +static const unsigned char kat3054_addinpr2[] = { + 0x6e, 0x00, 0x98, 0xbc, 0x17, 0x5a, 0xf2, 0x80, 0x9e, 0xc7, 0x1c, 0x33, + 0x72, 0xf7, 0x09, 0x4e, +}; +static const unsigned char kat3054_retbits[] = { + 0x70, 0x71, 0x66, 0x60, 0xe6, 0xe5, 0xb4, 0x6d, 0x6f, 0x77, 0xf0, 0x2b, + 0x81, 0xcc, 0xd1, 0x47, 0xf9, 0x22, 0x96, 0x1a, 0xd7, 0x5d, 0xa7, 0x08, + 0x30, 0x57, 0x58, 0x8b, 0xad, 0xd2, 0xb1, 0x53, 0xeb, 0x8d, 0x3d, 0xdb, + 0x72, 0x1a, 0x76, 0x90, 0xde, 0xf3, 0x5c, 0xca, 0x01, 0xf1, 0x1b, 0xa8, + 0xba, 0x8f, 0x57, 0xeb, 0xf0, 0x7e, 0xe1, 0xf1, 0x0d, 0x9d, 0xa1, 0xe7, + 0x80, 0x56, 0xee, 0xad, +}; +static const struct drbg_kat_pr_true kat3054_t = { + 8, kat3054_entropyin, kat3054_nonce, kat3054_persstr, + kat3054_entropyinpr1, kat3054_addinpr1, kat3054_entropyinpr2, + kat3054_addinpr2, kat3054_retbits +}; +static const struct drbg_kat kat3054 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3054_t +}; + +static const unsigned char kat3055_entropyin[] = { + 0x88, 0x7f, 0x97, 0x39, 0x03, 0xfc, 0xf2, 0xac, 0x5d, 0x2c, 0x69, 0x16, + 0x84, 0x7a, 0xfb, 0x4a, +}; +static const unsigned char kat3055_nonce[] = { + 0x8e, 0x1d, 0x94, 0x6b, 0x87, 0xdc, 0xfd, 0x56, +}; +static const unsigned char kat3055_persstr[] = { + 0x96, 0x8c, 0x2f, 0x7d, 0x2c, 0x88, 0xc4, 0xac, 0x26, 0x61, 0xc7, 0xb1, + 0xf8, 0xee, 0xb4, 0xf6, +}; +static const unsigned char kat3055_entropyinpr1[] = { + 0x3f, 0xbd, 0x42, 0x84, 0x55, 0x3c, 0x9c, 0xad, 0x01, 0xf3, 0xcf, 0x5f, + 0x9f, 0xe1, 0x6a, 0x45, +}; +static const unsigned char kat3055_addinpr1[] = { + 0x76, 0xce, 0xfb, 0xa8, 0xa1, 0x52, 0xba, 0x5e, 0x56, 0x7c, 0x5f, 0xe9, + 0x62, 0xe5, 0x9d, 0x12, +}; +static const unsigned char kat3055_entropyinpr2[] = { + 0xc1, 0xaa, 0x57, 0x55, 0xc0, 0x5e, 0xa3, 0x5f, 0xc0, 0xc3, 0x92, 0x3a, + 0xf4, 0x4b, 0x5a, 0xc7, +}; +static const unsigned char kat3055_addinpr2[] = { + 0x6a, 0x38, 0xac, 0x40, 0xcb, 0x5c, 0x30, 0x24, 0x0b, 0xe9, 0xe7, 0xb0, + 0x7c, 0x62, 0xd6, 0xfa, +}; +static const unsigned char kat3055_retbits[] = { + 0x65, 0xd3, 0xfc, 0x22, 0x41, 0x1f, 0xa4, 0xa1, 0xb9, 0x27, 0x8b, 0x42, + 0x85, 0xa5, 0xc3, 0x2f, 0x26, 0x75, 0xe1, 0x23, 0x05, 0xb9, 0x00, 0xfa, + 0xb8, 0xfd, 0x68, 0xe8, 0x34, 0xde, 0xb3, 0x94, 0x37, 0x2c, 0x6b, 0x80, + 0xec, 0x56, 0xb9, 0x2e, 0x74, 0x2d, 0xbd, 0x85, 0x41, 0x44, 0x77, 0x29, + 0x21, 0xbd, 0x5d, 0x4d, 0x8e, 0x86, 0xea, 0x3a, 0xc2, 0xaa, 0xfb, 0x17, + 0xe5, 0xac, 0xc0, 0x17, +}; +static const struct drbg_kat_pr_true kat3055_t = { + 9, kat3055_entropyin, kat3055_nonce, kat3055_persstr, + kat3055_entropyinpr1, kat3055_addinpr1, kat3055_entropyinpr2, + kat3055_addinpr2, kat3055_retbits +}; +static const struct drbg_kat kat3055 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3055_t +}; + +static const unsigned char kat3056_entropyin[] = { + 0x7c, 0x64, 0xbe, 0x1d, 0x48, 0x4b, 0xa4, 0x33, 0xcb, 0x1d, 0x64, 0x69, + 0xdc, 0x68, 0xd4, 0xf3, +}; +static const unsigned char kat3056_nonce[] = { + 0x66, 0xec, 0x35, 0xea, 0xf4, 0x9d, 0xf5, 0xbc, +}; +static const unsigned char kat3056_persstr[] = { + 0x59, 0xaa, 0x04, 0x17, 0x5d, 0x04, 0x47, 0x92, 0x7b, 0xba, 0xb1, 0x36, + 0x2f, 0x40, 0xaf, 0xc8, +}; +static const unsigned char kat3056_entropyinpr1[] = { + 0x36, 0xa9, 0x01, 0x13, 0xff, 0x86, 0x49, 0xf0, 0x98, 0x9c, 0x1a, 0xab, + 0xdd, 0x3a, 0x2a, 0x07, +}; +static const unsigned char kat3056_addinpr1[] = { + 0x8b, 0x32, 0x01, 0x08, 0x40, 0x75, 0xa3, 0x82, 0x79, 0x3e, 0x49, 0x1d, + 0x5c, 0xb5, 0x96, 0x19, +}; +static const unsigned char kat3056_entropyinpr2[] = { + 0x53, 0xb4, 0xfe, 0xe4, 0x98, 0xd7, 0xdb, 0x2f, 0xaa, 0xf9, 0xb1, 0x05, + 0xbe, 0x36, 0x21, 0x13, +}; +static const unsigned char kat3056_addinpr2[] = { + 0x84, 0x9a, 0x9b, 0x4d, 0xaf, 0xb8, 0x2c, 0x92, 0x4c, 0x9b, 0x24, 0xb9, + 0xaf, 0xdb, 0x5c, 0x80, +}; +static const unsigned char kat3056_retbits[] = { + 0x0e, 0xdf, 0x79, 0x6f, 0x1a, 0xca, 0x9f, 0x22, 0x33, 0x6e, 0x1e, 0x93, + 0x10, 0x21, 0xa6, 0xf9, 0x99, 0xf0, 0x49, 0xdc, 0x43, 0xbe, 0xec, 0xf4, + 0x7d, 0xbe, 0x15, 0x4b, 0x58, 0x14, 0xe0, 0xa2, 0x64, 0x07, 0x73, 0xfe, + 0x7f, 0xf7, 0x7b, 0xc2, 0x77, 0x1c, 0x5a, 0xcd, 0xe9, 0x5d, 0x2b, 0xf3, + 0x22, 0x16, 0xfa, 0x1d, 0x6a, 0xe2, 0xb1, 0x68, 0xc0, 0x58, 0x81, 0x9e, + 0x5a, 0x81, 0xcc, 0x29, +}; +static const struct drbg_kat_pr_true kat3056_t = { + 10, kat3056_entropyin, kat3056_nonce, kat3056_persstr, + kat3056_entropyinpr1, kat3056_addinpr1, kat3056_entropyinpr2, + kat3056_addinpr2, kat3056_retbits +}; +static const struct drbg_kat kat3056 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3056_t +}; + +static const unsigned char kat3057_entropyin[] = { + 0x17, 0x22, 0xe3, 0x02, 0x13, 0x89, 0xca, 0xb7, 0x79, 0x22, 0xc6, 0xde, + 0xad, 0x86, 0x6a, 0x62, +}; +static const unsigned char kat3057_nonce[] = { + 0xf9, 0x1f, 0x9d, 0x42, 0x49, 0x80, 0xbe, 0xde, +}; +static const unsigned char kat3057_persstr[] = { + 0x11, 0x6c, 0x94, 0x4f, 0xb1, 0xbd, 0x58, 0xc3, 0x2c, 0xd8, 0xfd, 0x41, + 0xd5, 0x38, 0xe9, 0x0e, +}; +static const unsigned char kat3057_entropyinpr1[] = { + 0x8d, 0xcf, 0x57, 0x26, 0xc7, 0x12, 0x9b, 0x60, 0xa2, 0x30, 0xea, 0x28, + 0x76, 0xe4, 0x6b, 0x8e, +}; +static const unsigned char kat3057_addinpr1[] = { + 0x46, 0xa3, 0x10, 0xe8, 0xfd, 0xff, 0xb1, 0x49, 0x8d, 0x4c, 0x1a, 0x82, + 0x22, 0xdc, 0x45, 0x2b, +}; +static const unsigned char kat3057_entropyinpr2[] = { + 0xeb, 0x69, 0xc3, 0x24, 0x6d, 0x92, 0xd4, 0xdb, 0x47, 0x09, 0xb8, 0x85, + 0x7e, 0xc7, 0x57, 0xab, +}; +static const unsigned char kat3057_addinpr2[] = { + 0xc7, 0x6a, 0x8d, 0xcc, 0xa6, 0xdc, 0x6b, 0x1f, 0xac, 0xf4, 0x22, 0xeb, + 0xc6, 0x28, 0xde, 0xd1, +}; +static const unsigned char kat3057_retbits[] = { + 0xce, 0x94, 0xeb, 0x33, 0x8f, 0x13, 0xb3, 0xcd, 0xc6, 0x3d, 0xff, 0xeb, + 0x87, 0xac, 0x4f, 0x5b, 0x40, 0x3f, 0x9c, 0x9b, 0x4f, 0x92, 0x7b, 0xa1, + 0x98, 0x14, 0x03, 0xdd, 0x2d, 0x7c, 0xa3, 0x4b, 0x53, 0x25, 0xf4, 0x9b, + 0xf0, 0x08, 0x8d, 0xf9, 0x6a, 0x22, 0xa3, 0x85, 0x5f, 0x87, 0x07, 0xf1, + 0xb8, 0xe9, 0x8f, 0xf7, 0x7f, 0x6b, 0x22, 0xb9, 0xf5, 0x8a, 0xdd, 0xc3, + 0xd5, 0x83, 0xa9, 0x75, +}; +static const struct drbg_kat_pr_true kat3057_t = { + 11, kat3057_entropyin, kat3057_nonce, kat3057_persstr, + kat3057_entropyinpr1, kat3057_addinpr1, kat3057_entropyinpr2, + kat3057_addinpr2, kat3057_retbits +}; +static const struct drbg_kat kat3057 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3057_t +}; + +static const unsigned char kat3058_entropyin[] = { + 0xe0, 0x18, 0xbc, 0x1a, 0x81, 0x3e, 0xd2, 0x9e, 0xa8, 0xa9, 0x2a, 0x04, + 0x79, 0x6a, 0x16, 0xe0, +}; +static const unsigned char kat3058_nonce[] = { + 0xbb, 0xfb, 0x6b, 0x8f, 0xe0, 0xbc, 0xb2, 0xb0, +}; +static const unsigned char kat3058_persstr[] = { + 0xff, 0x3f, 0xd2, 0x82, 0x15, 0x1d, 0x8b, 0x16, 0x33, 0x28, 0xe5, 0x63, + 0x5f, 0x4e, 0xf5, 0xc0, +}; +static const unsigned char kat3058_entropyinpr1[] = { + 0x3f, 0x15, 0xdd, 0xc8, 0x61, 0x87, 0x88, 0x07, 0xd4, 0x3a, 0x6d, 0x77, + 0xac, 0xc4, 0x08, 0x93, +}; +static const unsigned char kat3058_addinpr1[] = { + 0xed, 0xee, 0x73, 0xe8, 0x6d, 0x0e, 0x24, 0xf5, 0xd0, 0x37, 0x52, 0xd7, + 0xc6, 0x54, 0xdf, 0x2f, +}; +static const unsigned char kat3058_entropyinpr2[] = { + 0x2f, 0xb8, 0xeb, 0x4b, 0xd5, 0xf1, 0x5b, 0x2a, 0xfa, 0x6e, 0x58, 0xc3, + 0xa8, 0x33, 0x04, 0xc5, +}; +static const unsigned char kat3058_addinpr2[] = { + 0xe0, 0xe6, 0x52, 0x62, 0x70, 0x47, 0xbb, 0x56, 0x4b, 0x46, 0x56, 0xa7, + 0x32, 0x7c, 0x38, 0x97, +}; +static const unsigned char kat3058_retbits[] = { + 0xb3, 0x0d, 0x49, 0x7e, 0x81, 0xe5, 0x26, 0xbd, 0x5f, 0x04, 0x15, 0x4a, + 0x09, 0x40, 0x70, 0x4e, 0x2b, 0x2e, 0x1f, 0xbe, 0x54, 0x03, 0xa8, 0xdc, + 0xf2, 0x90, 0x27, 0x57, 0x55, 0xff, 0x17, 0xaa, 0xa7, 0x5e, 0xc8, 0xce, + 0x2a, 0x5a, 0xb7, 0x40, 0xa3, 0x80, 0x02, 0x83, 0x26, 0xa2, 0x8d, 0xd3, + 0x35, 0xb3, 0xc6, 0x20, 0x5b, 0xe2, 0xed, 0xce, 0xc3, 0x87, 0x9e, 0x55, + 0x47, 0xf9, 0x10, 0xa6, +}; +static const struct drbg_kat_pr_true kat3058_t = { + 12, kat3058_entropyin, kat3058_nonce, kat3058_persstr, + kat3058_entropyinpr1, kat3058_addinpr1, kat3058_entropyinpr2, + kat3058_addinpr2, kat3058_retbits +}; +static const struct drbg_kat kat3058 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3058_t +}; + +static const unsigned char kat3059_entropyin[] = { + 0xf8, 0xf9, 0xbf, 0x29, 0xa8, 0x07, 0xc1, 0xd4, 0xa3, 0x0f, 0x94, 0xfd, + 0x5d, 0x51, 0xe3, 0xcb, +}; +static const unsigned char kat3059_nonce[] = { + 0x57, 0xa2, 0xf7, 0x43, 0xe6, 0x54, 0xe5, 0x97, +}; +static const unsigned char kat3059_persstr[] = { + 0x02, 0x35, 0x8b, 0x1a, 0xb3, 0x7e, 0xd1, 0x25, 0xd4, 0x4a, 0x30, 0xe3, + 0x28, 0xca, 0x2f, 0xbc, +}; +static const unsigned char kat3059_entropyinpr1[] = { + 0x59, 0xa7, 0x2d, 0x03, 0xca, 0x97, 0xd7, 0x72, 0xd0, 0xb5, 0x34, 0xa6, + 0x97, 0x0c, 0xfc, 0x79, +}; +static const unsigned char kat3059_addinpr1[] = { + 0xdc, 0x0c, 0xf9, 0x53, 0xb9, 0xe4, 0x69, 0x28, 0x2d, 0x31, 0x0b, 0xdb, + 0x41, 0x6c, 0x1e, 0xd0, +}; +static const unsigned char kat3059_entropyinpr2[] = { + 0x83, 0x71, 0x08, 0x15, 0xec, 0xc6, 0x54, 0x95, 0xa1, 0x27, 0x33, 0x71, + 0xc2, 0x4d, 0x84, 0xa9, +}; +static const unsigned char kat3059_addinpr2[] = { + 0x40, 0x9e, 0xfe, 0xfb, 0x3b, 0xe8, 0x41, 0x33, 0x37, 0x02, 0xa0, 0x7d, + 0xa0, 0x2f, 0x2c, 0xca, +}; +static const unsigned char kat3059_retbits[] = { + 0x16, 0x58, 0x9f, 0x10, 0x60, 0xdc, 0xbe, 0x61, 0x73, 0xb3, 0x7c, 0xde, + 0x88, 0xc5, 0x18, 0x87, 0xe1, 0x83, 0xba, 0xd7, 0xc8, 0x08, 0x90, 0x9f, + 0x41, 0xd7, 0x40, 0x1b, 0x41, 0xd0, 0xe5, 0x92, 0x71, 0xbc, 0x82, 0xfe, + 0x66, 0x34, 0xd9, 0x02, 0x45, 0xfd, 0x46, 0x98, 0x04, 0x41, 0xbe, 0x1f, + 0x84, 0x57, 0x91, 0xdd, 0x29, 0x93, 0x2a, 0xc4, 0x38, 0x07, 0x31, 0x3a, + 0x0d, 0x2f, 0xa4, 0x3d, +}; +static const struct drbg_kat_pr_true kat3059_t = { + 13, kat3059_entropyin, kat3059_nonce, kat3059_persstr, + kat3059_entropyinpr1, kat3059_addinpr1, kat3059_entropyinpr2, + kat3059_addinpr2, kat3059_retbits +}; +static const struct drbg_kat kat3059 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3059_t +}; + +static const unsigned char kat3060_entropyin[] = { + 0x2c, 0xb0, 0xc6, 0x28, 0x31, 0x9c, 0xb4, 0x27, 0x98, 0x3b, 0x64, 0x29, + 0xde, 0x1e, 0x3d, 0x52, +}; +static const unsigned char kat3060_nonce[] = { + 0x6d, 0xb6, 0xa3, 0xee, 0x43, 0x04, 0xb5, 0xf1, +}; +static const unsigned char kat3060_persstr[] = { + 0xc5, 0x08, 0xf2, 0x33, 0xd0, 0x61, 0x9f, 0xe0, 0x31, 0x5b, 0xcd, 0x94, + 0x95, 0xad, 0xa9, 0x21, +}; +static const unsigned char kat3060_entropyinpr1[] = { + 0x3e, 0xb4, 0x64, 0x91, 0xb8, 0xde, 0x63, 0x32, 0xa4, 0x09, 0xc7, 0x64, + 0xd5, 0x1d, 0x51, 0x63, +}; +static const unsigned char kat3060_addinpr1[] = { + 0xdf, 0xd9, 0xf9, 0x3e, 0x4d, 0xe3, 0x88, 0xbf, 0x76, 0x33, 0x59, 0x7c, + 0xc5, 0xf6, 0xfe, 0x68, +}; +static const unsigned char kat3060_entropyinpr2[] = { + 0x44, 0xea, 0x21, 0xec, 0xf1, 0xe6, 0x33, 0xd1, 0x94, 0xc6, 0x64, 0x2a, + 0x7f, 0x58, 0xa6, 0xc0, +}; +static const unsigned char kat3060_addinpr2[] = { + 0x30, 0xc8, 0x2d, 0x5b, 0xa6, 0x14, 0x49, 0xc3, 0xf0, 0x82, 0x35, 0xf4, + 0xae, 0x3e, 0xfb, 0xd2, +}; +static const unsigned char kat3060_retbits[] = { + 0xb3, 0xb7, 0x05, 0xb0, 0xab, 0x3f, 0x47, 0x83, 0x64, 0x47, 0xbb, 0x43, + 0xe2, 0xc3, 0xb2, 0xee, 0x67, 0x15, 0x6e, 0x93, 0x47, 0x8a, 0x62, 0x20, + 0xeb, 0x7d, 0x84, 0x77, 0x35, 0x65, 0x31, 0x58, 0x1f, 0xec, 0x66, 0x35, + 0x60, 0x9a, 0xe8, 0x67, 0x42, 0xd3, 0xb9, 0x28, 0xad, 0x58, 0x03, 0x0d, + 0x0c, 0x0d, 0xc9, 0xe2, 0x4a, 0x5f, 0x07, 0x7a, 0x3f, 0x7b, 0x36, 0xd6, + 0x62, 0xbd, 0xb2, 0x56, +}; +static const struct drbg_kat_pr_true kat3060_t = { + 14, kat3060_entropyin, kat3060_nonce, kat3060_persstr, + kat3060_entropyinpr1, kat3060_addinpr1, kat3060_entropyinpr2, + kat3060_addinpr2, kat3060_retbits +}; +static const struct drbg_kat kat3060 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3060_t +}; + +static const unsigned char kat3061_entropyin[] = { + 0x96, 0xc0, 0xb1, 0x63, 0xba, 0x84, 0x80, 0x2f, 0xbd, 0xe4, 0x01, 0xbc, + 0x58, 0x43, 0x9e, 0xd9, +}; +static const unsigned char kat3061_nonce[] = { + 0x91, 0x22, 0x45, 0x5f, 0x72, 0x4a, 0x3d, 0xcf, +}; +static const unsigned char kat3061_persstr[] = {0}; +static const unsigned char kat3061_entropyinpr1[] = { + 0xdc, 0xbd, 0x4c, 0xfb, 0xf6, 0x58, 0xc3, 0xc8, 0xa4, 0xac, 0x81, 0x3c, + 0x39, 0x81, 0xe7, 0xd9, +}; +static const unsigned char kat3061_addinpr1[] = {0}; +static const unsigned char kat3061_entropyinpr2[] = { + 0xb5, 0x45, 0x86, 0xb4, 0xd8, 0xf6, 0x75, 0x21, 0x2d, 0x56, 0x26, 0x1b, + 0x4f, 0x2e, 0xb1, 0x5b, +}; +static const unsigned char kat3061_addinpr2[] = {0}; +static const unsigned char kat3061_retbits[] = { + 0x7d, 0xf5, 0x80, 0x0c, 0x74, 0x2e, 0xce, 0x36, 0x30, 0x89, 0xa0, 0x09, + 0xb9, 0x4d, 0x86, 0x4b, 0x0d, 0x0d, 0x91, 0xa3, 0xee, 0x8d, 0xa7, 0xaf, + 0x8b, 0x0f, 0x30, 0x79, 0x54, 0xaa, 0xe5, 0x64, 0x52, 0x6a, 0x3e, 0x67, + 0x21, 0x58, 0x4d, 0x2d, 0xc7, 0x03, 0xeb, 0xb1, 0xbc, 0x7b, 0xc7, 0xb7, + 0xfb, 0x4a, 0x38, 0xfc, 0xea, 0x91, 0x48, 0x2f, 0x71, 0x41, 0x9c, 0xc4, + 0x1d, 0x31, 0xc4, 0x37, +}; +static const struct drbg_kat_pr_true kat3061_t = { + 0, kat3061_entropyin, kat3061_nonce, kat3061_persstr, + kat3061_entropyinpr1, kat3061_addinpr1, kat3061_entropyinpr2, + kat3061_addinpr2, kat3061_retbits +}; +static const struct drbg_kat kat3061 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3061_t +}; + +static const unsigned char kat3062_entropyin[] = { + 0x2c, 0x90, 0x3a, 0x58, 0x4d, 0x80, 0x9c, 0x67, 0x53, 0x4a, 0xd1, 0x9d, + 0xbc, 0xf1, 0x51, 0xba, +}; +static const unsigned char kat3062_nonce[] = { + 0x37, 0xcf, 0x55, 0x50, 0xf2, 0x4c, 0x2f, 0xff, +}; +static const unsigned char kat3062_persstr[] = {0}; +static const unsigned char kat3062_entropyinpr1[] = { + 0xad, 0x81, 0x97, 0xfc, 0xa9, 0x5f, 0x16, 0x82, 0xc2, 0xe1, 0x00, 0xd7, + 0x31, 0xba, 0xe1, 0xbd, +}; +static const unsigned char kat3062_addinpr1[] = {0}; +static const unsigned char kat3062_entropyinpr2[] = { + 0xa7, 0x89, 0xd8, 0x04, 0x60, 0x82, 0xbc, 0x0a, 0x8f, 0x6c, 0xf4, 0x65, + 0xb8, 0x73, 0x26, 0x11, +}; +static const unsigned char kat3062_addinpr2[] = {0}; +static const unsigned char kat3062_retbits[] = { + 0xf1, 0xab, 0x89, 0x1f, 0xe1, 0xf3, 0x25, 0xd9, 0x77, 0x4c, 0xe2, 0x5a, + 0x6c, 0x1e, 0x8c, 0xbf, 0xad, 0xe0, 0xd7, 0xa0, 0xf4, 0x34, 0xae, 0x69, + 0xa5, 0xa4, 0xea, 0x38, 0xdb, 0x9b, 0x01, 0x9a, 0xd8, 0x8c, 0x8b, 0xfd, + 0xc4, 0x32, 0x30, 0x6b, 0x52, 0x3a, 0xd3, 0x95, 0x26, 0xc2, 0x8c, 0x9a, + 0xec, 0x33, 0x51, 0x18, 0x34, 0xa0, 0xbe, 0x33, 0x9d, 0x51, 0x21, 0xc8, + 0x8f, 0x56, 0x84, 0x31, +}; +static const struct drbg_kat_pr_true kat3062_t = { + 1, kat3062_entropyin, kat3062_nonce, kat3062_persstr, + kat3062_entropyinpr1, kat3062_addinpr1, kat3062_entropyinpr2, + kat3062_addinpr2, kat3062_retbits +}; +static const struct drbg_kat kat3062 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3062_t +}; + +static const unsigned char kat3063_entropyin[] = { + 0xa1, 0x0a, 0x44, 0xb8, 0xd7, 0xde, 0x35, 0x31, 0x8b, 0xa3, 0x34, 0x26, + 0x7a, 0x62, 0xc4, 0xc5, +}; +static const unsigned char kat3063_nonce[] = { + 0xf4, 0x48, 0x27, 0x72, 0x71, 0xd0, 0xf0, 0x37, +}; +static const unsigned char kat3063_persstr[] = {0}; +static const unsigned char kat3063_entropyinpr1[] = { + 0x17, 0x4a, 0xc8, 0xac, 0x31, 0xe3, 0x31, 0xaf, 0xb8, 0x95, 0x8a, 0x03, + 0xc9, 0xee, 0x15, 0xa1, +}; +static const unsigned char kat3063_addinpr1[] = {0}; +static const unsigned char kat3063_entropyinpr2[] = { + 0x50, 0x1b, 0xbc, 0x9a, 0xc3, 0xb1, 0xef, 0x43, 0x17, 0xfc, 0xf0, 0x88, + 0x6e, 0x5a, 0x2d, 0xc8, +}; +static const unsigned char kat3063_addinpr2[] = {0}; +static const unsigned char kat3063_retbits[] = { + 0x51, 0x8a, 0xe8, 0x44, 0x9c, 0xe3, 0x94, 0x4c, 0xa3, 0x61, 0x11, 0xfc, + 0xf2, 0x78, 0x66, 0xe6, 0x4a, 0x21, 0x78, 0x8e, 0x28, 0xdd, 0xf1, 0x4a, + 0x35, 0x36, 0x6a, 0x71, 0x27, 0x3d, 0x53, 0xfb, 0x7f, 0x49, 0xed, 0x7d, + 0xc1, 0x1e, 0xf0, 0xac, 0xa2, 0x47, 0xf6, 0x12, 0x53, 0xdd, 0xbe, 0x26, + 0xf0, 0x41, 0xec, 0x4f, 0xe5, 0x67, 0x7b, 0x5f, 0x62, 0xb9, 0xcf, 0xfb, + 0xa1, 0xa0, 0x6c, 0xf4, +}; +static const struct drbg_kat_pr_true kat3063_t = { + 2, kat3063_entropyin, kat3063_nonce, kat3063_persstr, + kat3063_entropyinpr1, kat3063_addinpr1, kat3063_entropyinpr2, + kat3063_addinpr2, kat3063_retbits +}; +static const struct drbg_kat kat3063 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3063_t +}; + +static const unsigned char kat3064_entropyin[] = { + 0x98, 0x4b, 0x69, 0xbf, 0x0f, 0x56, 0x1b, 0xc0, 0xf5, 0x01, 0xff, 0x45, + 0xbf, 0x0d, 0xda, 0x82, +}; +static const unsigned char kat3064_nonce[] = { + 0x18, 0xec, 0xe7, 0x3a, 0x78, 0x3a, 0x37, 0xde, +}; +static const unsigned char kat3064_persstr[] = {0}; +static const unsigned char kat3064_entropyinpr1[] = { + 0x69, 0x65, 0x58, 0x7c, 0xab, 0xdd, 0x23, 0x0d, 0xa5, 0x9b, 0x50, 0x44, + 0xc1, 0x00, 0x25, 0xd7, +}; +static const unsigned char kat3064_addinpr1[] = {0}; +static const unsigned char kat3064_entropyinpr2[] = { + 0xff, 0xd7, 0x93, 0xd2, 0x29, 0x03, 0x52, 0xb8, 0xa3, 0x37, 0x2b, 0xaa, + 0x32, 0xf2, 0xec, 0x2b, +}; +static const unsigned char kat3064_addinpr2[] = {0}; +static const unsigned char kat3064_retbits[] = { + 0x38, 0xec, 0x41, 0xbc, 0x34, 0x84, 0xde, 0xa0, 0x64, 0xce, 0x15, 0xa1, + 0x3d, 0xd9, 0xd9, 0x31, 0x4a, 0x5d, 0x23, 0x79, 0x65, 0xe7, 0x64, 0xf0, + 0xf3, 0xc7, 0x8d, 0x47, 0xac, 0x59, 0xa6, 0x8f, 0x54, 0xf0, 0xe4, 0xa9, + 0x48, 0x90, 0x09, 0xf5, 0x5e, 0xbb, 0x5a, 0xb0, 0x85, 0x94, 0x53, 0xb7, + 0xcb, 0xb1, 0x48, 0xc0, 0xcc, 0x7a, 0x97, 0x50, 0xe6, 0xa9, 0xf2, 0xfa, + 0x05, 0xe2, 0xee, 0x13, +}; +static const struct drbg_kat_pr_true kat3064_t = { + 3, kat3064_entropyin, kat3064_nonce, kat3064_persstr, + kat3064_entropyinpr1, kat3064_addinpr1, kat3064_entropyinpr2, + kat3064_addinpr2, kat3064_retbits +}; +static const struct drbg_kat kat3064 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3064_t +}; + +static const unsigned char kat3065_entropyin[] = { + 0xe4, 0x15, 0x92, 0xb0, 0x2d, 0x67, 0xa0, 0x14, 0xa0, 0xa3, 0x9e, 0xa4, + 0x82, 0x2f, 0x21, 0x00, +}; +static const unsigned char kat3065_nonce[] = { + 0x57, 0x75, 0x45, 0x4f, 0xbb, 0x79, 0x37, 0x1f, +}; +static const unsigned char kat3065_persstr[] = {0}; +static const unsigned char kat3065_entropyinpr1[] = { + 0xa8, 0x14, 0xfc, 0xc9, 0x32, 0xd8, 0xc7, 0x6f, 0x63, 0x02, 0xc9, 0xf1, + 0x14, 0x17, 0x80, 0x86, +}; +static const unsigned char kat3065_addinpr1[] = {0}; +static const unsigned char kat3065_entropyinpr2[] = { + 0x4a, 0x16, 0x1c, 0x9f, 0xff, 0x6f, 0xdf, 0xb5, 0x9a, 0x23, 0x5d, 0x8b, + 0xe5, 0x90, 0xd1, 0x24, +}; +static const unsigned char kat3065_addinpr2[] = {0}; +static const unsigned char kat3065_retbits[] = { + 0xb8, 0x43, 0x87, 0x91, 0xeb, 0xd1, 0x51, 0xc8, 0xe7, 0x85, 0xbc, 0x36, + 0x83, 0xb0, 0x83, 0xb8, 0xa5, 0xf7, 0xc4, 0x48, 0x43, 0xf9, 0x57, 0xae, + 0xf6, 0x69, 0xc1, 0x11, 0x17, 0x31, 0xea, 0xf7, 0x27, 0x16, 0x48, 0x3e, + 0x84, 0x82, 0x24, 0xfa, 0x7c, 0xaa, 0x9b, 0x79, 0x0e, 0xae, 0x8c, 0xef, + 0x81, 0x2c, 0xf7, 0x13, 0x1c, 0x71, 0xbd, 0x4f, 0x72, 0x37, 0x21, 0xf9, + 0xe9, 0x22, 0xab, 0xe7, +}; +static const struct drbg_kat_pr_true kat3065_t = { + 4, kat3065_entropyin, kat3065_nonce, kat3065_persstr, + kat3065_entropyinpr1, kat3065_addinpr1, kat3065_entropyinpr2, + kat3065_addinpr2, kat3065_retbits +}; +static const struct drbg_kat kat3065 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3065_t +}; + +static const unsigned char kat3066_entropyin[] = { + 0x44, 0x70, 0x5e, 0x16, 0xce, 0x1e, 0x70, 0xc2, 0xfb, 0xeb, 0x43, 0xc0, + 0x47, 0x37, 0x41, 0xf1, +}; +static const unsigned char kat3066_nonce[] = { + 0x9b, 0xa3, 0x2c, 0x15, 0x59, 0xe1, 0xe9, 0x07, +}; +static const unsigned char kat3066_persstr[] = {0}; +static const unsigned char kat3066_entropyinpr1[] = { + 0xe5, 0x93, 0x20, 0xb3, 0x5d, 0x24, 0xd1, 0x5f, 0x30, 0x45, 0xb1, 0xc7, + 0xa7, 0x71, 0x93, 0x80, +}; +static const unsigned char kat3066_addinpr1[] = {0}; +static const unsigned char kat3066_entropyinpr2[] = { + 0xcf, 0xbe, 0xcf, 0x64, 0xe8, 0x01, 0x5c, 0x1d, 0xeb, 0xdb, 0x85, 0xbb, + 0xca, 0x96, 0x1c, 0x35, +}; +static const unsigned char kat3066_addinpr2[] = {0}; +static const unsigned char kat3066_retbits[] = { + 0xe2, 0xc9, 0x30, 0xe4, 0x26, 0x9b, 0x41, 0x97, 0x48, 0xb6, 0xde, 0xd5, + 0xd1, 0x38, 0xec, 0x5f, 0x04, 0x92, 0xaa, 0x49, 0x57, 0x47, 0x01, 0x0a, + 0x21, 0x76, 0x64, 0x55, 0xcc, 0x5c, 0xb2, 0xf9, 0xf7, 0x7e, 0x39, 0x46, + 0x5a, 0x73, 0x4f, 0x2c, 0xb9, 0x9f, 0xc5, 0x50, 0x63, 0x71, 0x07, 0x00, + 0x22, 0x38, 0xe0, 0x56, 0x04, 0x6f, 0xc9, 0xb9, 0x95, 0x8f, 0x4c, 0x29, + 0xd1, 0x9c, 0xf7, 0x39, +}; +static const struct drbg_kat_pr_true kat3066_t = { + 5, kat3066_entropyin, kat3066_nonce, kat3066_persstr, + kat3066_entropyinpr1, kat3066_addinpr1, kat3066_entropyinpr2, + kat3066_addinpr2, kat3066_retbits +}; +static const struct drbg_kat kat3066 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3066_t +}; + +static const unsigned char kat3067_entropyin[] = { + 0x4c, 0x2c, 0x72, 0x14, 0x64, 0xe3, 0x8d, 0x41, 0xea, 0x24, 0xaf, 0x4e, + 0x74, 0xb2, 0x88, 0x86, +}; +static const unsigned char kat3067_nonce[] = { + 0x8a, 0xc5, 0xc7, 0x12, 0x91, 0x9c, 0xa5, 0xe2, +}; +static const unsigned char kat3067_persstr[] = {0}; +static const unsigned char kat3067_entropyinpr1[] = { + 0x78, 0x6d, 0x6d, 0xc8, 0x30, 0x30, 0x25, 0xf1, 0xfd, 0x6c, 0x9a, 0x3a, + 0xc4, 0x1a, 0x22, 0xf4, +}; +static const unsigned char kat3067_addinpr1[] = {0}; +static const unsigned char kat3067_entropyinpr2[] = { + 0x1b, 0xb8, 0x7c, 0xe5, 0x5b, 0xc2, 0x4b, 0x41, 0x11, 0x46, 0x4a, 0x72, + 0x12, 0xbb, 0x28, 0xef, +}; +static const unsigned char kat3067_addinpr2[] = {0}; +static const unsigned char kat3067_retbits[] = { + 0x93, 0xac, 0x42, 0xd6, 0x9e, 0xb0, 0xdf, 0xfb, 0xe6, 0x8b, 0xc0, 0x0d, + 0xdf, 0xfb, 0xa5, 0x57, 0xf8, 0xf4, 0x03, 0xfe, 0x56, 0xa9, 0x57, 0x90, + 0x5b, 0x09, 0x45, 0xeb, 0x21, 0x27, 0x70, 0x4d, 0x5a, 0xca, 0x09, 0x89, + 0x14, 0xa1, 0xc3, 0x94, 0xb0, 0x6b, 0xfe, 0xba, 0xc2, 0x44, 0xc1, 0x5a, + 0x49, 0x33, 0x65, 0xa0, 0x49, 0x17, 0x70, 0xcd, 0xd5, 0xaf, 0x21, 0x11, + 0xc9, 0x49, 0xae, 0x57, +}; +static const struct drbg_kat_pr_true kat3067_t = { + 6, kat3067_entropyin, kat3067_nonce, kat3067_persstr, + kat3067_entropyinpr1, kat3067_addinpr1, kat3067_entropyinpr2, + kat3067_addinpr2, kat3067_retbits +}; +static const struct drbg_kat kat3067 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3067_t +}; + +static const unsigned char kat3068_entropyin[] = { + 0xec, 0x9f, 0xcf, 0x35, 0xa8, 0xef, 0x18, 0x54, 0x0f, 0xea, 0xa9, 0xa7, + 0xa4, 0x67, 0xb8, 0x1c, +}; +static const unsigned char kat3068_nonce[] = { + 0xa1, 0x6e, 0x4c, 0x1a, 0x13, 0xc2, 0x2b, 0x4c, +}; +static const unsigned char kat3068_persstr[] = {0}; +static const unsigned char kat3068_entropyinpr1[] = { + 0x6f, 0x9b, 0x4f, 0x30, 0x15, 0x0f, 0x4e, 0xa7, 0x93, 0x57, 0x32, 0xf2, + 0x7b, 0x06, 0xa7, 0xcd, +}; +static const unsigned char kat3068_addinpr1[] = {0}; +static const unsigned char kat3068_entropyinpr2[] = { + 0x81, 0xda, 0x45, 0x03, 0xf1, 0x76, 0xd3, 0x0c, 0x6c, 0xc1, 0x65, 0x65, + 0xd3, 0x74, 0x5f, 0xe6, +}; +static const unsigned char kat3068_addinpr2[] = {0}; +static const unsigned char kat3068_retbits[] = { + 0x70, 0x81, 0x81, 0x47, 0x98, 0x53, 0xb6, 0x4b, 0x5c, 0x95, 0x0f, 0xca, + 0xb8, 0x97, 0x0e, 0xf2, 0x6d, 0xb6, 0x63, 0xc7, 0x46, 0xd9, 0x12, 0x53, + 0x5a, 0xe1, 0x73, 0x6b, 0x74, 0xdd, 0xe2, 0x51, 0x53, 0xe5, 0x92, 0xd6, + 0x65, 0xbc, 0xcf, 0xc9, 0xa2, 0x90, 0xa7, 0x37, 0x35, 0x19, 0x84, 0x82, + 0x33, 0x4d, 0xa6, 0x72, 0x33, 0x97, 0x9c, 0x4a, 0xa0, 0xb3, 0x1f, 0x69, + 0x86, 0x0c, 0xfb, 0xc4, +}; +static const struct drbg_kat_pr_true kat3068_t = { + 7, kat3068_entropyin, kat3068_nonce, kat3068_persstr, + kat3068_entropyinpr1, kat3068_addinpr1, kat3068_entropyinpr2, + kat3068_addinpr2, kat3068_retbits +}; +static const struct drbg_kat kat3068 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3068_t +}; + +static const unsigned char kat3069_entropyin[] = { + 0x65, 0xf6, 0xbe, 0xee, 0xfe, 0xd4, 0x08, 0x41, 0xe2, 0x27, 0xb4, 0x44, + 0xea, 0x24, 0xeb, 0x58, +}; +static const unsigned char kat3069_nonce[] = { + 0x29, 0x5e, 0xee, 0x1e, 0x6e, 0xf2, 0xd5, 0x23, +}; +static const unsigned char kat3069_persstr[] = {0}; +static const unsigned char kat3069_entropyinpr1[] = { + 0xf6, 0xeb, 0xd5, 0x3a, 0x92, 0xaf, 0x22, 0x7b, 0x0e, 0xf2, 0xf7, 0xaf, + 0xa4, 0x6e, 0x84, 0xc5, +}; +static const unsigned char kat3069_addinpr1[] = {0}; +static const unsigned char kat3069_entropyinpr2[] = { + 0x9e, 0xea, 0xe2, 0x44, 0xfc, 0x53, 0x7b, 0x4d, 0xf0, 0xb3, 0x40, 0x02, + 0x0f, 0x44, 0xc2, 0x70, +}; +static const unsigned char kat3069_addinpr2[] = {0}; +static const unsigned char kat3069_retbits[] = { + 0x82, 0x1c, 0xf9, 0xf6, 0xeb, 0xa8, 0xcf, 0xe9, 0xe2, 0x8f, 0xba, 0xb3, + 0x00, 0xeb, 0x77, 0xde, 0xda, 0xa3, 0xc4, 0x0a, 0xf0, 0x89, 0x6c, 0x43, + 0x60, 0xdd, 0x4c, 0x17, 0xcd, 0xfb, 0x72, 0x6d, 0x13, 0xf0, 0x8e, 0xa8, + 0x5f, 0x20, 0xf9, 0x0b, 0x2e, 0x42, 0x75, 0xcc, 0xe0, 0xff, 0x63, 0x80, + 0x7d, 0xc4, 0x1c, 0xf2, 0xb2, 0x0d, 0x08, 0xe0, 0x1c, 0xb7, 0x36, 0xae, + 0xa2, 0xa4, 0xb5, 0xc0, +}; +static const struct drbg_kat_pr_true kat3069_t = { + 8, kat3069_entropyin, kat3069_nonce, kat3069_persstr, + kat3069_entropyinpr1, kat3069_addinpr1, kat3069_entropyinpr2, + kat3069_addinpr2, kat3069_retbits +}; +static const struct drbg_kat kat3069 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3069_t +}; + +static const unsigned char kat3070_entropyin[] = { + 0xc9, 0xec, 0x3e, 0xb2, 0x0e, 0xce, 0xd3, 0xd7, 0x7e, 0x32, 0xe4, 0x39, + 0xb4, 0xa2, 0xca, 0x42, +}; +static const unsigned char kat3070_nonce[] = { + 0x98, 0xc4, 0xae, 0xaa, 0xa2, 0xb4, 0x44, 0xbb, +}; +static const unsigned char kat3070_persstr[] = {0}; +static const unsigned char kat3070_entropyinpr1[] = { + 0xe4, 0x1b, 0x08, 0x1f, 0x39, 0xe8, 0xfb, 0x53, 0x0c, 0x3b, 0x24, 0x5c, + 0xaf, 0x6c, 0xf0, 0x6b, +}; +static const unsigned char kat3070_addinpr1[] = {0}; +static const unsigned char kat3070_entropyinpr2[] = { + 0x0f, 0x5d, 0x12, 0xd0, 0x12, 0x7e, 0x8f, 0xa6, 0x72, 0x3a, 0xab, 0x9f, + 0xe9, 0x0f, 0xc7, 0x70, +}; +static const unsigned char kat3070_addinpr2[] = {0}; +static const unsigned char kat3070_retbits[] = { + 0xdc, 0x99, 0x61, 0xbf, 0x94, 0xe1, 0x09, 0xa3, 0x8f, 0xf4, 0xc3, 0x36, + 0x02, 0xb3, 0xd5, 0x96, 0xac, 0x6d, 0x32, 0x3c, 0x1d, 0x30, 0x6d, 0x9e, + 0x19, 0x49, 0xb3, 0x25, 0x9a, 0x1c, 0xdc, 0xda, 0xe7, 0x68, 0xae, 0x7d, + 0xd6, 0x20, 0x91, 0x31, 0x84, 0x67, 0xfb, 0xc1, 0xcf, 0xe4, 0x33, 0xfe, + 0xf3, 0x95, 0xad, 0xa7, 0x72, 0x91, 0xb0, 0x8e, 0x69, 0x56, 0xad, 0x61, + 0xb3, 0x84, 0x07, 0x43, +}; +static const struct drbg_kat_pr_true kat3070_t = { + 9, kat3070_entropyin, kat3070_nonce, kat3070_persstr, + kat3070_entropyinpr1, kat3070_addinpr1, kat3070_entropyinpr2, + kat3070_addinpr2, kat3070_retbits +}; +static const struct drbg_kat kat3070 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3070_t +}; + +static const unsigned char kat3071_entropyin[] = { + 0x7f, 0xa7, 0x4d, 0x5d, 0xb4, 0x8c, 0xb3, 0x3b, 0x80, 0xa2, 0xad, 0x3b, + 0x9f, 0x81, 0x4d, 0x53, +}; +static const unsigned char kat3071_nonce[] = { + 0x0f, 0x7b, 0xae, 0xcc, 0xa1, 0x77, 0x19, 0xe9, +}; +static const unsigned char kat3071_persstr[] = {0}; +static const unsigned char kat3071_entropyinpr1[] = { + 0x4f, 0xbd, 0x9f, 0x7f, 0x73, 0x71, 0x36, 0x8d, 0xc6, 0xf9, 0x79, 0x69, + 0x69, 0xde, 0x23, 0x15, +}; +static const unsigned char kat3071_addinpr1[] = {0}; +static const unsigned char kat3071_entropyinpr2[] = { + 0x1b, 0xc1, 0x46, 0xf4, 0x43, 0x11, 0x66, 0xae, 0xbb, 0xff, 0xbb, 0x92, + 0xd6, 0x81, 0x4e, 0x52, +}; +static const unsigned char kat3071_addinpr2[] = {0}; +static const unsigned char kat3071_retbits[] = { + 0xb9, 0xf4, 0x8d, 0x30, 0xaf, 0x10, 0xe9, 0x73, 0x77, 0x4e, 0x8f, 0x76, + 0xf1, 0x36, 0x32, 0x97, 0x0e, 0x29, 0xa3, 0x5c, 0xc3, 0x52, 0x63, 0x44, + 0xbd, 0x27, 0xfd, 0x03, 0x02, 0xcc, 0x12, 0xc3, 0xbc, 0x54, 0xab, 0x3d, + 0xf7, 0x3e, 0x54, 0xba, 0xde, 0xad, 0x0e, 0xdf, 0x05, 0x87, 0x0d, 0x5d, + 0x07, 0x26, 0x20, 0x04, 0x22, 0x5b, 0x59, 0x65, 0x23, 0x49, 0x24, 0x59, + 0x8a, 0x8a, 0x86, 0x02, +}; +static const struct drbg_kat_pr_true kat3071_t = { + 10, kat3071_entropyin, kat3071_nonce, kat3071_persstr, + kat3071_entropyinpr1, kat3071_addinpr1, kat3071_entropyinpr2, + kat3071_addinpr2, kat3071_retbits +}; +static const struct drbg_kat kat3071 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3071_t +}; + +static const unsigned char kat3072_entropyin[] = { + 0x78, 0x6e, 0x01, 0xcd, 0xd8, 0xf4, 0x26, 0x6d, 0xa0, 0xb8, 0x9f, 0xee, + 0xe9, 0x0b, 0x59, 0x40, +}; +static const unsigned char kat3072_nonce[] = { + 0xf0, 0xc2, 0xa6, 0xe8, 0xb1, 0xc6, 0x52, 0x60, +}; +static const unsigned char kat3072_persstr[] = {0}; +static const unsigned char kat3072_entropyinpr1[] = { + 0xff, 0xd1, 0x43, 0x28, 0x17, 0x61, 0xbf, 0xbb, 0xbd, 0x58, 0x2d, 0x66, + 0xfb, 0x4f, 0x6f, 0x70, +}; +static const unsigned char kat3072_addinpr1[] = {0}; +static const unsigned char kat3072_entropyinpr2[] = { + 0x41, 0x36, 0xec, 0xf5, 0xfa, 0x60, 0xa6, 0xe4, 0x42, 0xec, 0xd0, 0x39, + 0x8a, 0x0b, 0x3f, 0x2f, +}; +static const unsigned char kat3072_addinpr2[] = {0}; +static const unsigned char kat3072_retbits[] = { + 0xf2, 0x48, 0x87, 0xa9, 0x5c, 0x06, 0x6c, 0x25, 0x87, 0x32, 0xf6, 0xa1, + 0x84, 0x47, 0x98, 0xf9, 0x2d, 0xcb, 0xee, 0xe8, 0xa1, 0xe8, 0x6f, 0xf1, + 0x25, 0xd7, 0xb0, 0x7a, 0xbd, 0x41, 0xf4, 0x52, 0x38, 0x8c, 0x44, 0x68, + 0xd1, 0x34, 0xa0, 0x96, 0xc3, 0x25, 0x58, 0x64, 0x4f, 0xc3, 0x31, 0x27, + 0x69, 0xf6, 0xae, 0x5d, 0x96, 0x1a, 0x73, 0x21, 0x01, 0x46, 0x0a, 0xc4, + 0x76, 0xd6, 0x6e, 0xa6, +}; +static const struct drbg_kat_pr_true kat3072_t = { + 11, kat3072_entropyin, kat3072_nonce, kat3072_persstr, + kat3072_entropyinpr1, kat3072_addinpr1, kat3072_entropyinpr2, + kat3072_addinpr2, kat3072_retbits +}; +static const struct drbg_kat kat3072 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3072_t +}; + +static const unsigned char kat3073_entropyin[] = { + 0x83, 0x36, 0x5a, 0x3a, 0xf6, 0x45, 0x00, 0xf4, 0x0e, 0xd9, 0x57, 0xcf, + 0xbe, 0x9a, 0x23, 0xad, +}; +static const unsigned char kat3073_nonce[] = { + 0xa4, 0xb8, 0x4e, 0x38, 0xf6, 0xda, 0xd5, 0xbb, +}; +static const unsigned char kat3073_persstr[] = {0}; +static const unsigned char kat3073_entropyinpr1[] = { + 0xbf, 0xf1, 0x5a, 0xef, 0xf6, 0x2a, 0x1e, 0x12, 0xde, 0x37, 0x30, 0xd0, + 0x15, 0xf4, 0xdd, 0xda, +}; +static const unsigned char kat3073_addinpr1[] = {0}; +static const unsigned char kat3073_entropyinpr2[] = { + 0xf1, 0x3c, 0xae, 0xa1, 0x37, 0xb7, 0xd1, 0xfe, 0x10, 0xa9, 0x8f, 0x27, + 0x94, 0x74, 0xf3, 0x3a, +}; +static const unsigned char kat3073_addinpr2[] = {0}; +static const unsigned char kat3073_retbits[] = { + 0x85, 0x93, 0x00, 0xc9, 0xa6, 0xb2, 0xa7, 0xf2, 0x36, 0xcc, 0xde, 0x7b, + 0x75, 0xb9, 0xf0, 0xfa, 0xaa, 0x2d, 0x6f, 0xea, 0x6e, 0x4a, 0x2f, 0xaf, + 0xa2, 0x50, 0x28, 0x34, 0x3a, 0xdf, 0xdd, 0x5a, 0x26, 0xf1, 0x03, 0x8b, + 0x3b, 0x99, 0x91, 0x3a, 0xa1, 0x00, 0x39, 0xcb, 0x6f, 0x80, 0xc2, 0x51, + 0xb8, 0x48, 0x07, 0x45, 0x93, 0x3b, 0x27, 0x8e, 0x61, 0xbb, 0xce, 0x00, + 0xc6, 0x10, 0x1a, 0x49, +}; +static const struct drbg_kat_pr_true kat3073_t = { + 12, kat3073_entropyin, kat3073_nonce, kat3073_persstr, + kat3073_entropyinpr1, kat3073_addinpr1, kat3073_entropyinpr2, + kat3073_addinpr2, kat3073_retbits +}; +static const struct drbg_kat kat3073 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3073_t +}; + +static const unsigned char kat3074_entropyin[] = { + 0x1d, 0x2a, 0xc9, 0x54, 0x04, 0x2e, 0xfc, 0xae, 0xad, 0xca, 0x1b, 0x9b, + 0x5b, 0x05, 0x12, 0xdf, +}; +static const unsigned char kat3074_nonce[] = { + 0x01, 0xb4, 0x00, 0x4f, 0x07, 0x9a, 0x97, 0x56, +}; +static const unsigned char kat3074_persstr[] = {0}; +static const unsigned char kat3074_entropyinpr1[] = { + 0x5b, 0x6e, 0x76, 0x0e, 0xcb, 0xff, 0x69, 0x14, 0x99, 0xf8, 0xc5, 0x58, + 0xfb, 0x30, 0xc9, 0xdf, +}; +static const unsigned char kat3074_addinpr1[] = {0}; +static const unsigned char kat3074_entropyinpr2[] = { + 0x19, 0x08, 0x2c, 0x17, 0xcb, 0x8c, 0x5b, 0x8a, 0x68, 0xe9, 0xaa, 0x9d, + 0xd5, 0xdc, 0xbe, 0x86, +}; +static const unsigned char kat3074_addinpr2[] = {0}; +static const unsigned char kat3074_retbits[] = { + 0x3f, 0xd5, 0x9d, 0x71, 0x24, 0x2b, 0x36, 0xc8, 0x4c, 0x1a, 0xf8, 0x08, + 0x7a, 0xce, 0xaa, 0x4c, 0xd1, 0x4e, 0xa0, 0xb4, 0xb7, 0x62, 0xda, 0xdc, + 0xfa, 0x2a, 0x4f, 0x8a, 0x88, 0x20, 0xcf, 0x32, 0xc6, 0x7d, 0x7c, 0x67, + 0x97, 0x92, 0x74, 0x30, 0x2e, 0x79, 0xbf, 0x01, 0xd6, 0xf8, 0xdb, 0x4f, + 0x14, 0x8d, 0xff, 0xf0, 0xc6, 0x63, 0xb6, 0x4f, 0x3b, 0x92, 0x62, 0x0a, + 0x0b, 0x16, 0x79, 0xb7, +}; +static const struct drbg_kat_pr_true kat3074_t = { + 13, kat3074_entropyin, kat3074_nonce, kat3074_persstr, + kat3074_entropyinpr1, kat3074_addinpr1, kat3074_entropyinpr2, + kat3074_addinpr2, kat3074_retbits +}; +static const struct drbg_kat kat3074 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3074_t +}; + +static const unsigned char kat3075_entropyin[] = { + 0xe3, 0xf0, 0x98, 0xbb, 0x88, 0xdd, 0xf4, 0x2f, 0xe9, 0x86, 0x97, 0x48, + 0x75, 0x2e, 0x83, 0x50, +}; +static const unsigned char kat3075_nonce[] = { + 0x7f, 0x5c, 0x85, 0xf0, 0x34, 0xfb, 0x21, 0xd3, +}; +static const unsigned char kat3075_persstr[] = {0}; +static const unsigned char kat3075_entropyinpr1[] = { + 0xed, 0xc0, 0xc4, 0x4a, 0x85, 0xe3, 0x93, 0x46, 0x65, 0x86, 0x29, 0x62, + 0x06, 0xc4, 0x1c, 0xa7, +}; +static const unsigned char kat3075_addinpr1[] = {0}; +static const unsigned char kat3075_entropyinpr2[] = { + 0x40, 0x57, 0x09, 0x83, 0x7e, 0x50, 0x2c, 0x58, 0x38, 0x89, 0x82, 0x99, + 0x4f, 0xf5, 0x04, 0xb6, +}; +static const unsigned char kat3075_addinpr2[] = {0}; +static const unsigned char kat3075_retbits[] = { + 0x38, 0x3e, 0x46, 0xb8, 0x67, 0x81, 0xf0, 0xc8, 0xc8, 0x3b, 0x7a, 0x78, + 0x69, 0x4f, 0xff, 0x5f, 0xdc, 0x6d, 0xe2, 0x51, 0x47, 0xe9, 0xdf, 0x25, + 0x0f, 0x99, 0x6b, 0xdc, 0x6a, 0x34, 0x18, 0xd4, 0x09, 0x66, 0x95, 0x4e, + 0x2a, 0x10, 0xcb, 0x87, 0xdc, 0xaf, 0xf1, 0xbe, 0x61, 0x3b, 0x03, 0xaf, + 0xd8, 0x9f, 0xef, 0x8b, 0x06, 0x7c, 0x99, 0xaa, 0xbf, 0x40, 0x12, 0xdb, + 0xef, 0xe2, 0x6f, 0x22, +}; +static const struct drbg_kat_pr_true kat3075_t = { + 14, kat3075_entropyin, kat3075_nonce, kat3075_persstr, + kat3075_entropyinpr1, kat3075_addinpr1, kat3075_entropyinpr2, + kat3075_addinpr2, kat3075_retbits +}; +static const struct drbg_kat kat3075 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 0, 64, &kat3075_t +}; + +static const unsigned char kat3076_entropyin[] = { + 0x52, 0xfb, 0xa9, 0x1f, 0xc9, 0x6f, 0xba, 0x39, 0x15, 0xb1, 0x15, 0xce, + 0xa9, 0x26, 0x3a, 0x8e, +}; +static const unsigned char kat3076_nonce[] = { + 0x64, 0x24, 0x0c, 0xc3, 0x1e, 0xf9, 0x93, 0xcf, +}; +static const unsigned char kat3076_persstr[] = {0}; +static const unsigned char kat3076_entropyinpr1[] = { + 0xac, 0xf1, 0x2f, 0xb3, 0xf6, 0x00, 0xc1, 0x09, 0x76, 0x47, 0x7d, 0x58, + 0xbd, 0x86, 0x5c, 0x8e, +}; +static const unsigned char kat3076_addinpr1[] = { + 0x71, 0x37, 0x19, 0x55, 0xa3, 0x71, 0xa1, 0xe4, 0x05, 0xa4, 0xb3, 0xc5, + 0x29, 0x45, 0xa6, 0x19, +}; +static const unsigned char kat3076_entropyinpr2[] = { + 0xcb, 0xd9, 0x8c, 0xb0, 0xac, 0x61, 0x54, 0x48, 0x7d, 0xbc, 0x83, 0xe4, + 0xfb, 0x63, 0x3c, 0x5b, +}; +static const unsigned char kat3076_addinpr2[] = { + 0x43, 0xec, 0xaa, 0xf4, 0x15, 0x45, 0xde, 0xab, 0x15, 0xda, 0x0f, 0x48, + 0xcf, 0x7c, 0x9c, 0x7e, +}; +static const unsigned char kat3076_retbits[] = { + 0x88, 0x42, 0x7b, 0xcf, 0x8c, 0xc6, 0xbd, 0x31, 0xfe, 0xfa, 0x97, 0xa6, + 0x17, 0x8b, 0x50, 0x90, 0xd3, 0x95, 0x4a, 0x76, 0x57, 0x94, 0x14, 0xe7, + 0x97, 0xeb, 0xac, 0x99, 0x38, 0x40, 0x8e, 0x60, 0x0f, 0xce, 0xef, 0x88, + 0x4a, 0x79, 0x2c, 0x6c, 0x7c, 0xf6, 0x3e, 0x76, 0xfd, 0xde, 0x05, 0xac, + 0xf9, 0x05, 0xa7, 0x7c, 0x2c, 0x31, 0xbc, 0xbf, 0x7c, 0x86, 0xe0, 0xc5, + 0xb5, 0x9b, 0x68, 0x87, +}; +static const struct drbg_kat_pr_true kat3076_t = { + 0, kat3076_entropyin, kat3076_nonce, kat3076_persstr, + kat3076_entropyinpr1, kat3076_addinpr1, kat3076_entropyinpr2, + kat3076_addinpr2, kat3076_retbits +}; +static const struct drbg_kat kat3076 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3076_t +}; + +static const unsigned char kat3077_entropyin[] = { + 0x78, 0x45, 0xd9, 0x6b, 0x3f, 0x43, 0xbd, 0xe5, 0xdf, 0x61, 0x43, 0x54, + 0x06, 0xe1, 0x87, 0x26, +}; +static const unsigned char kat3077_nonce[] = { + 0x82, 0xce, 0xbe, 0x5b, 0x45, 0x45, 0x89, 0x27, +}; +static const unsigned char kat3077_persstr[] = {0}; +static const unsigned char kat3077_entropyinpr1[] = { + 0x84, 0xdf, 0xae, 0x2a, 0xf8, 0x9b, 0x22, 0x04, 0x14, 0xf5, 0x94, 0x50, + 0xf6, 0xcb, 0x00, 0x71, +}; +static const unsigned char kat3077_addinpr1[] = { + 0xb6, 0xd9, 0xbd, 0xb4, 0x77, 0xbc, 0xf7, 0x6b, 0xc4, 0xde, 0xce, 0x11, + 0x10, 0x49, 0xec, 0xc8, +}; +static const unsigned char kat3077_entropyinpr2[] = { + 0x0b, 0x9c, 0x98, 0x78, 0x1c, 0x42, 0xa6, 0x06, 0x30, 0x2b, 0xb2, 0xc5, + 0xdd, 0xa6, 0x20, 0x93, +}; +static const unsigned char kat3077_addinpr2[] = { + 0xca, 0x80, 0x05, 0xe7, 0x63, 0x1f, 0x2f, 0x30, 0x1b, 0x76, 0x79, 0xf6, + 0x88, 0x64, 0xbc, 0xc3, +}; +static const unsigned char kat3077_retbits[] = { + 0xff, 0x60, 0x32, 0x51, 0xc6, 0x2c, 0x99, 0xf9, 0xb2, 0xde, 0x77, 0xe6, + 0xfe, 0x61, 0xa9, 0x6f, 0x83, 0xd3, 0x22, 0xe8, 0x2e, 0x1b, 0xed, 0xb1, + 0x4d, 0x5a, 0xb7, 0x74, 0x71, 0x86, 0x74, 0x5f, 0xef, 0x1f, 0x61, 0x72, + 0x70, 0x16, 0x89, 0x5f, 0x56, 0xec, 0x26, 0x51, 0xc9, 0x39, 0x28, 0x1e, + 0x72, 0xd8, 0xcc, 0x50, 0x4c, 0x68, 0xf8, 0xb7, 0x45, 0x94, 0xf3, 0xf8, + 0x04, 0x0a, 0xb5, 0x29, +}; +static const struct drbg_kat_pr_true kat3077_t = { + 1, kat3077_entropyin, kat3077_nonce, kat3077_persstr, + kat3077_entropyinpr1, kat3077_addinpr1, kat3077_entropyinpr2, + kat3077_addinpr2, kat3077_retbits +}; +static const struct drbg_kat kat3077 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3077_t +}; + +static const unsigned char kat3078_entropyin[] = { + 0xdf, 0x55, 0x3a, 0x75, 0x0e, 0xcc, 0xeb, 0xd0, 0x30, 0xc9, 0xd3, 0x17, + 0xe6, 0xe8, 0xf0, 0x05, +}; +static const unsigned char kat3078_nonce[] = { + 0x07, 0xca, 0x4e, 0xe0, 0x3c, 0x5f, 0x66, 0x27, +}; +static const unsigned char kat3078_persstr[] = {0}; +static const unsigned char kat3078_entropyinpr1[] = { + 0x0b, 0x40, 0x33, 0x04, 0xdf, 0xb9, 0xa6, 0xf1, 0x05, 0x18, 0xa9, 0x0e, + 0x4a, 0x94, 0x49, 0x86, +}; +static const unsigned char kat3078_addinpr1[] = { + 0x8b, 0x0d, 0xb1, 0xfb, 0xeb, 0x17, 0x25, 0xce, 0x21, 0x24, 0x86, 0xff, + 0x44, 0x58, 0xc7, 0xb0, +}; +static const unsigned char kat3078_entropyinpr2[] = { + 0x14, 0xe1, 0xc1, 0xc9, 0x4f, 0xad, 0x18, 0x8e, 0x89, 0x91, 0x16, 0x8b, + 0x96, 0x63, 0xf8, 0xa9, +}; +static const unsigned char kat3078_addinpr2[] = { + 0x68, 0x25, 0xbf, 0xd9, 0xe5, 0x8c, 0xad, 0x4b, 0xf5, 0xd8, 0x08, 0xd8, + 0xf6, 0x7c, 0xa5, 0x2f, +}; +static const unsigned char kat3078_retbits[] = { + 0xbb, 0x09, 0x62, 0x5c, 0xd8, 0xec, 0x66, 0x07, 0x37, 0x20, 0x1c, 0x56, + 0xc1, 0xe8, 0xd1, 0x5b, 0x25, 0x10, 0x67, 0x4b, 0xe1, 0x24, 0x44, 0xce, + 0xd6, 0x88, 0x15, 0xcc, 0x68, 0x04, 0x82, 0xb1, 0x3f, 0x9c, 0x25, 0xce, + 0xfb, 0xcf, 0x9d, 0x8a, 0x64, 0xba, 0xe8, 0x5a, 0xb8, 0x32, 0xb5, 0x10, + 0x11, 0xcd, 0x9f, 0x9c, 0x5a, 0x2a, 0x7b, 0xfd, 0xc1, 0xfe, 0x20, 0x54, + 0x1c, 0xff, 0x03, 0x03, +}; +static const struct drbg_kat_pr_true kat3078_t = { + 2, kat3078_entropyin, kat3078_nonce, kat3078_persstr, + kat3078_entropyinpr1, kat3078_addinpr1, kat3078_entropyinpr2, + kat3078_addinpr2, kat3078_retbits +}; +static const struct drbg_kat kat3078 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3078_t +}; + +static const unsigned char kat3079_entropyin[] = { + 0x82, 0xa2, 0xdf, 0x7c, 0x78, 0xfb, 0x57, 0x3d, 0x99, 0x6e, 0x41, 0x2a, + 0x61, 0xee, 0x9b, 0x5e, +}; +static const unsigned char kat3079_nonce[] = { + 0x06, 0xc4, 0x6a, 0x31, 0x2d, 0xcb, 0x55, 0xbe, +}; +static const unsigned char kat3079_persstr[] = {0}; +static const unsigned char kat3079_entropyinpr1[] = { + 0x38, 0x58, 0x53, 0xa0, 0x1c, 0x8f, 0xd4, 0x0b, 0xa0, 0x0a, 0xc6, 0x4b, + 0xb8, 0xb4, 0x5a, 0x78, +}; +static const unsigned char kat3079_addinpr1[] = { + 0x66, 0xc1, 0xa8, 0xca, 0xb3, 0xfa, 0x3e, 0xdc, 0x47, 0x8d, 0xb0, 0x71, + 0xb8, 0xe9, 0x46, 0xa0, +}; +static const unsigned char kat3079_entropyinpr2[] = { + 0x66, 0x94, 0x18, 0xdf, 0x72, 0x06, 0xb6, 0x4b, 0xd6, 0xd0, 0x08, 0xcd, + 0x4d, 0xbf, 0xae, 0x89, +}; +static const unsigned char kat3079_addinpr2[] = { + 0xea, 0xc6, 0xad, 0xa5, 0x43, 0x9d, 0x48, 0x80, 0xd5, 0xb3, 0x5b, 0x10, + 0x43, 0x4b, 0x29, 0xf3, +}; +static const unsigned char kat3079_retbits[] = { + 0x3b, 0x17, 0x07, 0xad, 0x87, 0xf9, 0xb6, 0xd5, 0xef, 0xc3, 0x62, 0xc5, + 0x52, 0xf2, 0xd0, 0xd9, 0x5e, 0xcc, 0x84, 0x1c, 0xb4, 0xee, 0xf3, 0x03, + 0x0c, 0xd6, 0x82, 0x42, 0xef, 0xec, 0xac, 0xc6, 0xcd, 0xea, 0x6b, 0x64, + 0x1c, 0x0a, 0x1c, 0xfc, 0x06, 0xd1, 0x00, 0xce, 0x54, 0x29, 0x76, 0xcf, + 0xc3, 0x84, 0x0f, 0xef, 0x3d, 0x0e, 0x61, 0xc9, 0x3e, 0x7e, 0xc0, 0x28, + 0xc4, 0xf4, 0x69, 0x42, +}; +static const struct drbg_kat_pr_true kat3079_t = { + 3, kat3079_entropyin, kat3079_nonce, kat3079_persstr, + kat3079_entropyinpr1, kat3079_addinpr1, kat3079_entropyinpr2, + kat3079_addinpr2, kat3079_retbits +}; +static const struct drbg_kat kat3079 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3079_t +}; + +static const unsigned char kat3080_entropyin[] = { + 0xf4, 0xf4, 0x91, 0xfc, 0x1f, 0x81, 0xcb, 0x62, 0xf9, 0x54, 0x9b, 0x63, + 0x81, 0xf6, 0x8e, 0x3b, +}; +static const unsigned char kat3080_nonce[] = { + 0x16, 0x9a, 0x0b, 0x73, 0x71, 0xfd, 0x56, 0xa7, +}; +static const unsigned char kat3080_persstr[] = {0}; +static const unsigned char kat3080_entropyinpr1[] = { + 0xa7, 0xd4, 0x4f, 0x40, 0x0d, 0x62, 0x02, 0x19, 0x13, 0xd3, 0x96, 0xb3, + 0x76, 0x0a, 0x96, 0x7a, +}; +static const unsigned char kat3080_addinpr1[] = { + 0x04, 0x4c, 0x34, 0x2f, 0xda, 0xa5, 0x08, 0x8a, 0xf9, 0x91, 0x0c, 0x87, + 0x00, 0x50, 0x24, 0xe8, +}; +static const unsigned char kat3080_entropyinpr2[] = { + 0x7a, 0xc3, 0x94, 0x3f, 0x4c, 0x7e, 0xa0, 0x3d, 0xfa, 0x21, 0x0a, 0x74, + 0x56, 0xa9, 0x58, 0x36, +}; +static const unsigned char kat3080_addinpr2[] = { + 0xf7, 0x7b, 0x5c, 0xd8, 0x80, 0x61, 0x32, 0x51, 0x2f, 0x18, 0x3d, 0xff, + 0xcc, 0x80, 0xfe, 0xf6, +}; +static const unsigned char kat3080_retbits[] = { + 0x32, 0xef, 0xdd, 0x57, 0x29, 0x7a, 0x08, 0xc2, 0xe6, 0x3a, 0x36, 0x4b, + 0x46, 0x3c, 0xda, 0x3b, 0x0e, 0x64, 0xc9, 0x43, 0x1e, 0xb7, 0x05, 0xe5, + 0x4e, 0xce, 0x5e, 0x1e, 0x28, 0xbb, 0xbb, 0xe3, 0x4e, 0xac, 0xd3, 0x60, + 0x24, 0x0b, 0xf8, 0x11, 0x33, 0x55, 0x13, 0x01, 0x9f, 0xc6, 0x93, 0xdb, + 0xf4, 0x88, 0x89, 0x7d, 0x52, 0x40, 0xfe, 0xf5, 0xb9, 0x50, 0x43, 0x35, + 0x54, 0xc3, 0x7b, 0x06, +}; +static const struct drbg_kat_pr_true kat3080_t = { + 4, kat3080_entropyin, kat3080_nonce, kat3080_persstr, + kat3080_entropyinpr1, kat3080_addinpr1, kat3080_entropyinpr2, + kat3080_addinpr2, kat3080_retbits +}; +static const struct drbg_kat kat3080 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3080_t +}; + +static const unsigned char kat3081_entropyin[] = { + 0x6b, 0x43, 0xcb, 0x03, 0x28, 0x64, 0x72, 0x54, 0xde, 0x7e, 0x1f, 0x9b, + 0xde, 0x7c, 0x9c, 0xc0, +}; +static const unsigned char kat3081_nonce[] = { + 0xab, 0xe8, 0x34, 0xf8, 0x32, 0x20, 0x2b, 0x26, +}; +static const unsigned char kat3081_persstr[] = {0}; +static const unsigned char kat3081_entropyinpr1[] = { + 0x94, 0xe4, 0x43, 0x2d, 0x5c, 0xb7, 0xf8, 0xdf, 0xbc, 0x2d, 0x46, 0x80, + 0x69, 0xd5, 0x20, 0x87, +}; +static const unsigned char kat3081_addinpr1[] = { + 0x1e, 0x15, 0xff, 0xf4, 0xd8, 0x4a, 0x41, 0xba, 0xd2, 0x7e, 0xbc, 0xb3, + 0x14, 0x67, 0x5d, 0x37, +}; +static const unsigned char kat3081_entropyinpr2[] = { + 0x44, 0x5c, 0x35, 0xfa, 0x6d, 0xdf, 0x6b, 0x22, 0xc8, 0x9b, 0x55, 0x39, + 0x4b, 0x94, 0xe3, 0xa7, +}; +static const unsigned char kat3081_addinpr2[] = { + 0x90, 0xfe, 0x06, 0x93, 0x8e, 0x6c, 0x03, 0x62, 0x71, 0xb3, 0x7f, 0x8c, + 0xc0, 0xb0, 0x5f, 0x34, +}; +static const unsigned char kat3081_retbits[] = { + 0x79, 0x9c, 0xfb, 0x0c, 0x75, 0x48, 0x01, 0x39, 0x8e, 0x60, 0x34, 0x19, + 0x9a, 0x9c, 0xf8, 0x2b, 0x73, 0xc9, 0x1c, 0x13, 0x99, 0x18, 0xdc, 0xd4, + 0xb0, 0x4a, 0x1d, 0x1e, 0x75, 0xfd, 0x9a, 0x61, 0x6e, 0x7e, 0x72, 0x3d, + 0x37, 0x5b, 0xf2, 0xea, 0x1d, 0x6d, 0x56, 0x73, 0x1d, 0x76, 0x78, 0x11, + 0x83, 0x8f, 0xf5, 0x58, 0x36, 0xbf, 0xd7, 0x6d, 0x66, 0xc6, 0x87, 0xd0, + 0x37, 0xe3, 0x6f, 0xcd, +}; +static const struct drbg_kat_pr_true kat3081_t = { + 5, kat3081_entropyin, kat3081_nonce, kat3081_persstr, + kat3081_entropyinpr1, kat3081_addinpr1, kat3081_entropyinpr2, + kat3081_addinpr2, kat3081_retbits +}; +static const struct drbg_kat kat3081 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3081_t +}; + +static const unsigned char kat3082_entropyin[] = { + 0xa9, 0x73, 0x19, 0x04, 0x46, 0xba, 0xe0, 0x9e, 0x8c, 0x11, 0x3e, 0x75, + 0x84, 0x1b, 0x61, 0x80, +}; +static const unsigned char kat3082_nonce[] = { + 0x36, 0xa0, 0x5e, 0xad, 0x56, 0xca, 0xb9, 0x97, +}; +static const unsigned char kat3082_persstr[] = {0}; +static const unsigned char kat3082_entropyinpr1[] = { + 0xd8, 0xc8, 0x74, 0x14, 0x48, 0xd7, 0xb0, 0x1a, 0xca, 0xa6, 0xdd, 0x1b, + 0x93, 0xb9, 0x5b, 0xd3, +}; +static const unsigned char kat3082_addinpr1[] = { + 0x8c, 0xa0, 0x78, 0x3d, 0x6a, 0xd6, 0xe8, 0xe5, 0x13, 0x54, 0x35, 0xbf, + 0xaf, 0x18, 0x64, 0xec, +}; +static const unsigned char kat3082_entropyinpr2[] = { + 0xcb, 0x2d, 0xc1, 0x33, 0x76, 0x98, 0x44, 0xc6, 0x12, 0xf1, 0x6e, 0x08, + 0xa3, 0xfe, 0x56, 0x3b, +}; +static const unsigned char kat3082_addinpr2[] = { + 0xe4, 0x7c, 0xd6, 0x4e, 0xc0, 0x35, 0x43, 0x1d, 0x6b, 0x26, 0x1d, 0x08, + 0x08, 0x34, 0x96, 0x4f, +}; +static const unsigned char kat3082_retbits[] = { + 0xac, 0x1a, 0x7b, 0xbb, 0xf5, 0xa4, 0x76, 0xe9, 0x46, 0x92, 0x31, 0x40, + 0xdd, 0x89, 0x7d, 0xab, 0x7a, 0xe4, 0xee, 0xd5, 0x24, 0xcc, 0xcf, 0x26, + 0xb1, 0x11, 0xe4, 0x3b, 0xaa, 0x1c, 0x69, 0xd4, 0xf0, 0x25, 0x9d, 0x5e, + 0x2c, 0x0f, 0x70, 0x13, 0xc2, 0x16, 0xd2, 0x85, 0xfc, 0xbf, 0x31, 0xa7, + 0x1f, 0xc9, 0xed, 0x63, 0x69, 0xbc, 0xe4, 0xb1, 0x8d, 0x6e, 0x6d, 0xce, + 0x93, 0x90, 0x00, 0xe2, +}; +static const struct drbg_kat_pr_true kat3082_t = { + 6, kat3082_entropyin, kat3082_nonce, kat3082_persstr, + kat3082_entropyinpr1, kat3082_addinpr1, kat3082_entropyinpr2, + kat3082_addinpr2, kat3082_retbits +}; +static const struct drbg_kat kat3082 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3082_t +}; + +static const unsigned char kat3083_entropyin[] = { + 0xbc, 0xea, 0x9d, 0x57, 0x17, 0xa6, 0xc2, 0x77, 0x8f, 0x26, 0x0d, 0x25, + 0xd3, 0x58, 0xa1, 0xab, +}; +static const unsigned char kat3083_nonce[] = { + 0x1b, 0x31, 0x0e, 0x8e, 0xd5, 0x5a, 0xc9, 0xf6, +}; +static const unsigned char kat3083_persstr[] = {0}; +static const unsigned char kat3083_entropyinpr1[] = { + 0x51, 0x09, 0x37, 0xdf, 0xfc, 0x8f, 0x41, 0xf0, 0x56, 0xcc, 0x56, 0xde, + 0xb8, 0xcf, 0xcd, 0xf9, +}; +static const unsigned char kat3083_addinpr1[] = { + 0x5c, 0xb3, 0xbc, 0x94, 0x91, 0x0d, 0xbb, 0xae, 0x3a, 0x4c, 0x84, 0xa3, + 0xf3, 0x41, 0x6f, 0x4f, +}; +static const unsigned char kat3083_entropyinpr2[] = { + 0x2e, 0x55, 0x38, 0xca, 0x28, 0x98, 0xa5, 0xc1, 0x8c, 0x39, 0xa9, 0x5d, + 0xa0, 0x16, 0xa3, 0x08, +}; +static const unsigned char kat3083_addinpr2[] = { + 0x6d, 0xb0, 0x2e, 0x96, 0xbb, 0x28, 0xe0, 0x30, 0x28, 0x36, 0x7d, 0x0e, + 0x04, 0x1b, 0x10, 0x9d, +}; +static const unsigned char kat3083_retbits[] = { + 0x9d, 0x98, 0x97, 0xf0, 0xe3, 0x80, 0xdc, 0x65, 0x51, 0xde, 0x1d, 0xe0, + 0x0a, 0xd9, 0xba, 0x99, 0x49, 0x68, 0xd7, 0x51, 0x9f, 0x09, 0xb6, 0x68, + 0xcd, 0xeb, 0xdc, 0x20, 0x83, 0xb7, 0x48, 0x3b, 0x9a, 0xd5, 0x3e, 0x88, + 0x37, 0x38, 0xec, 0x23, 0x9e, 0x3a, 0x8e, 0x53, 0x4f, 0x76, 0xe4, 0x95, + 0xec, 0x7c, 0x6c, 0xdb, 0xa5, 0x90, 0x6a, 0x08, 0x48, 0xdc, 0x53, 0xa3, + 0xb5, 0x35, 0x1f, 0x3c, +}; +static const struct drbg_kat_pr_true kat3083_t = { + 7, kat3083_entropyin, kat3083_nonce, kat3083_persstr, + kat3083_entropyinpr1, kat3083_addinpr1, kat3083_entropyinpr2, + kat3083_addinpr2, kat3083_retbits +}; +static const struct drbg_kat kat3083 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3083_t +}; + +static const unsigned char kat3084_entropyin[] = { + 0xf9, 0x09, 0x2d, 0x9e, 0x68, 0x9f, 0x95, 0xdb, 0x71, 0xcd, 0x4e, 0xb0, + 0x03, 0x60, 0xc0, 0xa0, +}; +static const unsigned char kat3084_nonce[] = { + 0x65, 0xed, 0xbb, 0x2a, 0xf5, 0x31, 0x4e, 0x12, +}; +static const unsigned char kat3084_persstr[] = {0}; +static const unsigned char kat3084_entropyinpr1[] = { + 0xac, 0xb7, 0x21, 0x39, 0x82, 0x29, 0x7c, 0x67, 0x74, 0x96, 0x81, 0xbd, + 0x60, 0x1a, 0x46, 0x67, +}; +static const unsigned char kat3084_addinpr1[] = { + 0xd5, 0x33, 0x3e, 0x5b, 0x67, 0xf1, 0xe0, 0xfd, 0x90, 0xd0, 0x03, 0x41, + 0x97, 0xe2, 0x96, 0x40, +}; +static const unsigned char kat3084_entropyinpr2[] = { + 0xaa, 0x3a, 0xec, 0xb1, 0xb0, 0xdd, 0xa2, 0x83, 0xa2, 0xf9, 0xc7, 0xc0, + 0x7e, 0x58, 0x21, 0xce, +}; +static const unsigned char kat3084_addinpr2[] = { + 0xaf, 0x52, 0xa0, 0x61, 0x7b, 0xf9, 0xcf, 0xa9, 0x7b, 0x98, 0x41, 0xb7, + 0x52, 0x38, 0x2d, 0x86, +}; +static const unsigned char kat3084_retbits[] = { + 0x21, 0xb1, 0x3b, 0xc7, 0xa5, 0x2f, 0x3f, 0xa9, 0x5e, 0xd4, 0x76, 0x9c, + 0xc1, 0xb9, 0xd4, 0x0a, 0x30, 0x2f, 0x17, 0x6f, 0xac, 0x49, 0x6b, 0x3b, + 0x92, 0x3c, 0x1f, 0x12, 0x6d, 0xdb, 0x5e, 0xfe, 0xee, 0xf4, 0xa1, 0x01, + 0x86, 0xd6, 0x01, 0x63, 0x1d, 0xab, 0x8e, 0xb6, 0x3a, 0x5d, 0x9a, 0xf6, + 0xe3, 0x7a, 0xeb, 0xce, 0xaf, 0x61, 0xcb, 0x28, 0x8b, 0x3a, 0x74, 0xc6, + 0xf4, 0x64, 0xf6, 0x9a, +}; +static const struct drbg_kat_pr_true kat3084_t = { + 8, kat3084_entropyin, kat3084_nonce, kat3084_persstr, + kat3084_entropyinpr1, kat3084_addinpr1, kat3084_entropyinpr2, + kat3084_addinpr2, kat3084_retbits +}; +static const struct drbg_kat kat3084 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3084_t +}; + +static const unsigned char kat3085_entropyin[] = { + 0x95, 0x69, 0xa6, 0x9b, 0xbc, 0x7c, 0x64, 0x13, 0xa4, 0x13, 0x68, 0x99, + 0xc6, 0x0b, 0x93, 0x3a, +}; +static const unsigned char kat3085_nonce[] = { + 0x1a, 0x96, 0xa5, 0x62, 0xc1, 0x69, 0x28, 0xbe, +}; +static const unsigned char kat3085_persstr[] = {0}; +static const unsigned char kat3085_entropyinpr1[] = { + 0x42, 0x26, 0xa2, 0xef, 0x74, 0x1d, 0xc8, 0xac, 0x1a, 0xc6, 0x34, 0x1a, + 0x6f, 0x10, 0x0b, 0x0d, +}; +static const unsigned char kat3085_addinpr1[] = { + 0x24, 0x2e, 0x30, 0x28, 0x93, 0xe8, 0x06, 0xb6, 0xeb, 0x45, 0x12, 0x83, + 0x58, 0x05, 0xcc, 0x42, +}; +static const unsigned char kat3085_entropyinpr2[] = { + 0x53, 0xf4, 0xfe, 0x65, 0x4c, 0x99, 0x21, 0x41, 0x49, 0x62, 0x58, 0x09, + 0x40, 0xf7, 0xaa, 0xc4, +}; +static const unsigned char kat3085_addinpr2[] = { + 0x7e, 0x93, 0xbd, 0x34, 0xa3, 0x14, 0xed, 0x36, 0x91, 0x5c, 0x0d, 0x49, + 0x24, 0x1f, 0x0b, 0x45, +}; +static const unsigned char kat3085_retbits[] = { + 0xa1, 0x5e, 0x7d, 0xdd, 0x25, 0x20, 0xa4, 0xff, 0xf9, 0x35, 0xaf, 0x8e, + 0xef, 0x53, 0xc9, 0x0a, 0xf9, 0x7b, 0xde, 0x09, 0xc7, 0x27, 0xb0, 0xee, + 0x14, 0x8f, 0x21, 0xf8, 0x47, 0x6e, 0xd0, 0x11, 0x03, 0xc5, 0x9a, 0x16, + 0x74, 0x3b, 0x69, 0xa2, 0x24, 0xd6, 0xdb, 0xfe, 0x18, 0x64, 0xef, 0xaf, + 0xae, 0x0e, 0x7f, 0x0a, 0x52, 0xab, 0xf3, 0x09, 0x54, 0x37, 0x0f, 0x8d, + 0x9a, 0xea, 0x87, 0x47, +}; +static const struct drbg_kat_pr_true kat3085_t = { + 9, kat3085_entropyin, kat3085_nonce, kat3085_persstr, + kat3085_entropyinpr1, kat3085_addinpr1, kat3085_entropyinpr2, + kat3085_addinpr2, kat3085_retbits +}; +static const struct drbg_kat kat3085 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3085_t +}; + +static const unsigned char kat3086_entropyin[] = { + 0x14, 0x2e, 0xf7, 0xb5, 0x19, 0x20, 0xcf, 0xec, 0xde, 0x35, 0x3f, 0xc9, + 0x08, 0xcc, 0x11, 0x54, +}; +static const unsigned char kat3086_nonce[] = { + 0x6b, 0x9b, 0x6a, 0x97, 0x0f, 0xd7, 0xe2, 0x99, +}; +static const unsigned char kat3086_persstr[] = {0}; +static const unsigned char kat3086_entropyinpr1[] = { + 0xbc, 0x4f, 0x9f, 0x44, 0x6f, 0xe5, 0xf7, 0x1d, 0x6d, 0x5d, 0xc9, 0xa4, + 0xd2, 0x91, 0xce, 0x3e, +}; +static const unsigned char kat3086_addinpr1[] = { + 0xcd, 0x7e, 0xb2, 0xbe, 0x47, 0x19, 0x32, 0xf9, 0x8f, 0xb8, 0xe9, 0x7e, + 0xc3, 0x9c, 0xb1, 0xc4, +}; +static const unsigned char kat3086_entropyinpr2[] = { + 0xb4, 0x73, 0xf3, 0xdc, 0x32, 0x76, 0xa6, 0x77, 0x2c, 0xde, 0x05, 0x8c, + 0x56, 0xc4, 0x08, 0x25, +}; +static const unsigned char kat3086_addinpr2[] = { + 0xdd, 0xa7, 0x37, 0xbe, 0xd3, 0x2f, 0x2a, 0xd1, 0x45, 0x8c, 0x65, 0x51, + 0x58, 0x1d, 0x39, 0x41, +}; +static const unsigned char kat3086_retbits[] = { + 0x05, 0x4a, 0xf9, 0x5c, 0xc8, 0xc1, 0xb7, 0x56, 0x2d, 0xef, 0xaa, 0x3f, + 0xd0, 0xc3, 0xec, 0x34, 0x58, 0x9a, 0xbb, 0x2a, 0xb9, 0xc8, 0x28, 0xed, + 0x1e, 0xe9, 0xe5, 0x17, 0x97, 0xf7, 0x8a, 0xe2, 0xea, 0xf2, 0xcf, 0xe2, + 0x27, 0x44, 0x90, 0x1b, 0x44, 0x46, 0xde, 0x92, 0x10, 0x6b, 0x0a, 0x1e, + 0xc4, 0x4a, 0x8d, 0x19, 0x54, 0x54, 0x2d, 0x9d, 0x74, 0xdb, 0xf6, 0x0e, + 0x70, 0xad, 0x5a, 0xa8, +}; +static const struct drbg_kat_pr_true kat3086_t = { + 10, kat3086_entropyin, kat3086_nonce, kat3086_persstr, + kat3086_entropyinpr1, kat3086_addinpr1, kat3086_entropyinpr2, + kat3086_addinpr2, kat3086_retbits +}; +static const struct drbg_kat kat3086 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3086_t +}; + +static const unsigned char kat3087_entropyin[] = { + 0xaa, 0x1d, 0x39, 0x38, 0xd4, 0x9a, 0x4d, 0x1c, 0x15, 0x70, 0xe3, 0x83, + 0xd3, 0x16, 0x7a, 0x4b, +}; +static const unsigned char kat3087_nonce[] = { + 0xec, 0xd5, 0x7b, 0x78, 0x63, 0x6f, 0x27, 0xc6, +}; +static const unsigned char kat3087_persstr[] = {0}; +static const unsigned char kat3087_entropyinpr1[] = { + 0x9a, 0xc3, 0x37, 0xae, 0xfd, 0x3f, 0x6b, 0x58, 0x4d, 0xe4, 0xa4, 0xf1, + 0xfd, 0x6a, 0x18, 0x12, +}; +static const unsigned char kat3087_addinpr1[] = { + 0xa9, 0x9e, 0xab, 0x88, 0xcc, 0x2a, 0x23, 0xd1, 0x4e, 0x50, 0x43, 0xe2, + 0xda, 0x6d, 0x20, 0x23, +}; +static const unsigned char kat3087_entropyinpr2[] = { + 0x35, 0x0a, 0xcd, 0xec, 0xd5, 0x82, 0x7b, 0xe2, 0x8b, 0x99, 0xf0, 0x16, + 0x2a, 0x04, 0x40, 0x31, +}; +static const unsigned char kat3087_addinpr2[] = { + 0x15, 0x3a, 0xe9, 0x7c, 0xd9, 0x74, 0xb6, 0x45, 0xb3, 0x82, 0x97, 0x59, + 0x2c, 0x42, 0xd0, 0xdd, +}; +static const unsigned char kat3087_retbits[] = { + 0xb9, 0xfc, 0x98, 0xcc, 0x81, 0xea, 0x19, 0x45, 0xa2, 0xb0, 0x11, 0x1f, + 0xa9, 0xc9, 0x8f, 0xb5, 0xac, 0xab, 0xa3, 0x7c, 0x69, 0x58, 0xf8, 0x35, + 0x7b, 0x58, 0xb1, 0x18, 0xba, 0x84, 0xc6, 0x89, 0x63, 0x07, 0xfd, 0xcb, + 0x94, 0xa4, 0x0f, 0xcf, 0x61, 0x60, 0x23, 0x06, 0x2c, 0x9f, 0x15, 0xb5, + 0xd5, 0x81, 0x85, 0x8a, 0x35, 0x5f, 0x8c, 0x8e, 0x99, 0x43, 0xfd, 0xc2, + 0x74, 0xa6, 0xb2, 0x93, +}; +static const struct drbg_kat_pr_true kat3087_t = { + 11, kat3087_entropyin, kat3087_nonce, kat3087_persstr, + kat3087_entropyinpr1, kat3087_addinpr1, kat3087_entropyinpr2, + kat3087_addinpr2, kat3087_retbits +}; +static const struct drbg_kat kat3087 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3087_t +}; + +static const unsigned char kat3088_entropyin[] = { + 0xb3, 0x66, 0x02, 0xa0, 0x61, 0xb1, 0x78, 0x7f, 0x54, 0x34, 0xf1, 0xa6, + 0x51, 0x70, 0xae, 0xa0, +}; +static const unsigned char kat3088_nonce[] = { + 0xf1, 0x13, 0xef, 0xa8, 0xfa, 0xae, 0xb2, 0xd2, +}; +static const unsigned char kat3088_persstr[] = {0}; +static const unsigned char kat3088_entropyinpr1[] = { + 0xdd, 0xb9, 0x09, 0xc0, 0xe2, 0x5c, 0x45, 0x1f, 0xcf, 0x7f, 0x8c, 0x02, + 0xbf, 0x66, 0x65, 0xee, +}; +static const unsigned char kat3088_addinpr1[] = { + 0xe2, 0xee, 0x88, 0x11, 0x79, 0xeb, 0xda, 0x78, 0x02, 0xe4, 0xdb, 0x37, + 0x09, 0xb4, 0x7d, 0x71, +}; +static const unsigned char kat3088_entropyinpr2[] = { + 0x84, 0xaa, 0xee, 0x4a, 0x4e, 0xe9, 0x56, 0x50, 0x0e, 0x06, 0x88, 0x41, + 0xeb, 0x48, 0x3f, 0xc7, +}; +static const unsigned char kat3088_addinpr2[] = { + 0xef, 0x02, 0x2a, 0x6e, 0x11, 0x14, 0xbc, 0x2b, 0xfd, 0x75, 0xd9, 0x45, + 0x61, 0xf3, 0x4a, 0xc2, +}; +static const unsigned char kat3088_retbits[] = { + 0x8a, 0xca, 0x3d, 0x22, 0x9e, 0xeb, 0xe7, 0x8e, 0x01, 0xd2, 0x04, 0x48, + 0x37, 0x20, 0xc0, 0xb4, 0x7e, 0x35, 0xe5, 0xe0, 0x07, 0xe9, 0xea, 0xfc, + 0x0f, 0xb0, 0xd1, 0xa2, 0x27, 0x20, 0x8c, 0xad, 0xf8, 0x0e, 0xc4, 0xb3, + 0x18, 0xd6, 0x86, 0x61, 0x8c, 0xfd, 0x99, 0x79, 0x62, 0x22, 0x79, 0xb7, + 0xa1, 0x76, 0x60, 0xee, 0x5b, 0xe8, 0xf6, 0xce, 0xe1, 0x86, 0x8c, 0xa9, + 0x04, 0xa7, 0x50, 0x60, +}; +static const struct drbg_kat_pr_true kat3088_t = { + 12, kat3088_entropyin, kat3088_nonce, kat3088_persstr, + kat3088_entropyinpr1, kat3088_addinpr1, kat3088_entropyinpr2, + kat3088_addinpr2, kat3088_retbits +}; +static const struct drbg_kat kat3088 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3088_t +}; + +static const unsigned char kat3089_entropyin[] = { + 0xec, 0x2c, 0x7f, 0xc4, 0x96, 0x59, 0x21, 0xf6, 0x91, 0xa0, 0xd4, 0xe6, + 0x15, 0xdb, 0xbd, 0x50, +}; +static const unsigned char kat3089_nonce[] = { + 0x2a, 0x6f, 0x5e, 0xf1, 0xc6, 0xb5, 0x69, 0x3b, +}; +static const unsigned char kat3089_persstr[] = {0}; +static const unsigned char kat3089_entropyinpr1[] = { + 0x73, 0x90, 0xfb, 0xe0, 0x95, 0xf4, 0xf5, 0x52, 0xdb, 0xe2, 0x51, 0x69, + 0xc5, 0x6f, 0x31, 0x9f, +}; +static const unsigned char kat3089_addinpr1[] = { + 0x46, 0xc9, 0x2e, 0x32, 0x67, 0xca, 0xfe, 0x83, 0x22, 0x60, 0x7b, 0x68, + 0x6a, 0xc6, 0x36, 0x5e, +}; +static const unsigned char kat3089_entropyinpr2[] = { + 0x2c, 0x57, 0xea, 0x41, 0xe4, 0x3a, 0x64, 0x51, 0xb8, 0x7a, 0x93, 0x4f, + 0xe8, 0x6d, 0x63, 0x2d, +}; +static const unsigned char kat3089_addinpr2[] = { + 0x55, 0xbd, 0x66, 0xad, 0xce, 0x61, 0x26, 0x51, 0x33, 0x91, 0x4d, 0xea, + 0xa2, 0xf4, 0x70, 0x69, +}; +static const unsigned char kat3089_retbits[] = { + 0x49, 0xd6, 0x6c, 0xbf, 0x96, 0x55, 0x0e, 0x64, 0xb4, 0x86, 0xcf, 0x99, + 0x1e, 0xa6, 0x64, 0x34, 0x7b, 0xe9, 0x75, 0xd4, 0x37, 0x73, 0xeb, 0x84, + 0x22, 0x64, 0x8c, 0x1a, 0x61, 0xc1, 0x53, 0x37, 0xe1, 0x42, 0x29, 0x1e, + 0xf9, 0x32, 0x5a, 0x70, 0x5a, 0x35, 0xea, 0xb4, 0xaf, 0x85, 0x9d, 0x1d, + 0x21, 0x9a, 0x2b, 0xb9, 0x10, 0xe4, 0x11, 0x59, 0x1b, 0x88, 0x15, 0xee, + 0x35, 0xc5, 0x8f, 0xba, +}; +static const struct drbg_kat_pr_true kat3089_t = { + 13, kat3089_entropyin, kat3089_nonce, kat3089_persstr, + kat3089_entropyinpr1, kat3089_addinpr1, kat3089_entropyinpr2, + kat3089_addinpr2, kat3089_retbits +}; +static const struct drbg_kat kat3089 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3089_t +}; + +static const unsigned char kat3090_entropyin[] = { + 0x5d, 0xa8, 0x0b, 0x60, 0x6d, 0x8a, 0xc1, 0x4f, 0xa0, 0x70, 0x78, 0xbf, + 0xc8, 0xf9, 0x44, 0x5c, +}; +static const unsigned char kat3090_nonce[] = { + 0x77, 0xf4, 0xaf, 0xf7, 0x09, 0x3f, 0x19, 0x8c, +}; +static const unsigned char kat3090_persstr[] = {0}; +static const unsigned char kat3090_entropyinpr1[] = { + 0xba, 0x7f, 0xa9, 0xb3, 0xec, 0x4c, 0x55, 0x8c, 0xbf, 0xfe, 0x4c, 0x42, + 0x2c, 0x2a, 0x99, 0x13, +}; +static const unsigned char kat3090_addinpr1[] = { + 0x82, 0x1f, 0x95, 0xa4, 0xcc, 0x4c, 0xa7, 0x6a, 0xb7, 0x26, 0xcd, 0x7a, + 0x35, 0x57, 0xa2, 0x6c, +}; +static const unsigned char kat3090_entropyinpr2[] = { + 0x18, 0x7a, 0xee, 0xbc, 0x91, 0x50, 0x35, 0x95, 0x87, 0xe6, 0x03, 0xe2, + 0x3c, 0x17, 0x34, 0xff, +}; +static const unsigned char kat3090_addinpr2[] = { + 0x79, 0x36, 0x68, 0x54, 0x0d, 0x09, 0xb1, 0x92, 0x00, 0xf8, 0x72, 0x20, + 0x35, 0x39, 0xb8, 0x1a, +}; +static const unsigned char kat3090_retbits[] = { + 0x5a, 0xb8, 0xad, 0xff, 0x77, 0xfe, 0xf9, 0xd4, 0x4c, 0xbe, 0x73, 0x47, + 0x14, 0x58, 0xde, 0xc6, 0xfe, 0x6a, 0x83, 0x05, 0x05, 0x89, 0x11, 0x93, + 0xfc, 0x6a, 0x83, 0x8e, 0xb2, 0x89, 0x9e, 0x86, 0xb9, 0x1a, 0x41, 0xaf, + 0xf6, 0x2b, 0xdb, 0x3c, 0xaf, 0x74, 0xe4, 0x59, 0x40, 0x5b, 0x66, 0xba, + 0xb3, 0x7b, 0x31, 0xd5, 0xe4, 0x79, 0xe7, 0xfe, 0x27, 0xdd, 0xaa, 0x9e, + 0xb4, 0x66, 0x52, 0x5b, +}; +static const struct drbg_kat_pr_true kat3090_t = { + 14, kat3090_entropyin, kat3090_nonce, kat3090_persstr, + kat3090_entropyinpr1, kat3090_addinpr1, kat3090_entropyinpr2, + kat3090_addinpr2, kat3090_retbits +}; +static const struct drbg_kat kat3090 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 0, 16, 64, &kat3090_t +}; + +static const unsigned char kat3091_entropyin[] = { + 0xa7, 0x28, 0x4a, 0x6e, 0x7c, 0xa8, 0x3f, 0xa8, 0xfa, 0xb4, 0xe4, 0x1c, + 0x53, 0xe7, 0x71, 0x1f, +}; +static const unsigned char kat3091_nonce[] = { + 0x50, 0x60, 0xcb, 0xb8, 0x67, 0x33, 0x1a, 0x29, +}; +static const unsigned char kat3091_persstr[] = { + 0x98, 0x63, 0xd8, 0xda, 0xc7, 0x13, 0xdf, 0xeb, 0x66, 0xa2, 0xa7, 0x98, + 0xa0, 0x75, 0x60, 0x68, +}; +static const unsigned char kat3091_entropyinpr1[] = { + 0xb2, 0xa4, 0x82, 0x78, 0xab, 0x12, 0x15, 0x17, 0x57, 0xf6, 0xe6, 0xa9, + 0xfc, 0x79, 0x89, 0xa3, +}; +static const unsigned char kat3091_addinpr1[] = {0}; +static const unsigned char kat3091_entropyinpr2[] = { + 0x36, 0xef, 0x9d, 0x02, 0xa9, 0xaa, 0x89, 0xe7, 0x19, 0x01, 0x1d, 0x10, + 0x36, 0xa5, 0x12, 0x83, +}; +static const unsigned char kat3091_addinpr2[] = {0}; +static const unsigned char kat3091_retbits[] = { + 0xd3, 0x20, 0xfe, 0x5b, 0x05, 0x5a, 0x3e, 0xc0, 0xa4, 0x8c, 0x92, 0x74, + 0xa3, 0x79, 0xd8, 0x0e, 0xe0, 0x0a, 0xdc, 0x04, 0x0b, 0x40, 0xbb, 0xbb, + 0xf1, 0x24, 0x48, 0x24, 0x08, 0x97, 0x03, 0xd3, 0x2a, 0xea, 0xcd, 0xc8, + 0x63, 0xf7, 0x35, 0x7c, 0xef, 0x0a, 0x05, 0x82, 0xc4, 0xda, 0xb3, 0xb2, + 0x29, 0x24, 0xcc, 0x95, 0x37, 0x3c, 0x21, 0x2d, 0x85, 0xea, 0x1a, 0x80, + 0x25, 0xab, 0x3c, 0x5c, +}; +static const struct drbg_kat_pr_true kat3091_t = { + 0, kat3091_entropyin, kat3091_nonce, kat3091_persstr, + kat3091_entropyinpr1, kat3091_addinpr1, kat3091_entropyinpr2, + kat3091_addinpr2, kat3091_retbits +}; +static const struct drbg_kat kat3091 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3091_t +}; + +static const unsigned char kat3092_entropyin[] = { + 0x6a, 0x54, 0x86, 0x46, 0x93, 0x3e, 0x4f, 0x7f, 0x53, 0x7b, 0x5e, 0xfc, + 0x4c, 0xad, 0x0a, 0x4e, +}; +static const unsigned char kat3092_nonce[] = { + 0x1f, 0x56, 0xc1, 0xb5, 0xbb, 0x3f, 0xb6, 0x4d, +}; +static const unsigned char kat3092_persstr[] = { + 0xca, 0x18, 0xf2, 0x6a, 0xda, 0xbd, 0x47, 0xe8, 0x20, 0x9b, 0x55, 0xab, + 0x9d, 0x11, 0x3c, 0xd7, +}; +static const unsigned char kat3092_entropyinpr1[] = { + 0x56, 0x5b, 0x81, 0xf0, 0xc9, 0x10, 0xc8, 0x17, 0x4c, 0x9b, 0x97, 0x04, + 0x7f, 0x33, 0x43, 0x28, +}; +static const unsigned char kat3092_addinpr1[] = {0}; +static const unsigned char kat3092_entropyinpr2[] = { + 0xff, 0xee, 0x0d, 0xc5, 0xe8, 0x63, 0xaa, 0x16, 0x3e, 0x69, 0xff, 0xe4, + 0x05, 0x55, 0xbc, 0x83, +}; +static const unsigned char kat3092_addinpr2[] = {0}; +static const unsigned char kat3092_retbits[] = { + 0x1c, 0xfb, 0x07, 0x4d, 0x69, 0x41, 0x68, 0xf2, 0x55, 0x31, 0x85, 0x6a, + 0xdc, 0xd3, 0xf3, 0x2d, 0x6e, 0x7b, 0x03, 0x5d, 0xa6, 0x84, 0x85, 0x01, + 0xc8, 0xed, 0x6f, 0x53, 0xc8, 0x0c, 0x7d, 0x08, 0xbd, 0xc3, 0x49, 0x9a, + 0x64, 0xc2, 0xfa, 0x53, 0x14, 0xaf, 0xf3, 0xbd, 0x71, 0x57, 0x41, 0x1e, + 0x15, 0x38, 0x94, 0x4b, 0xc1, 0x7f, 0x18, 0x91, 0xf0, 0xc4, 0x09, 0x18, + 0x05, 0x32, 0x40, 0x81, +}; +static const struct drbg_kat_pr_true kat3092_t = { + 1, kat3092_entropyin, kat3092_nonce, kat3092_persstr, + kat3092_entropyinpr1, kat3092_addinpr1, kat3092_entropyinpr2, + kat3092_addinpr2, kat3092_retbits +}; +static const struct drbg_kat kat3092 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3092_t +}; + +static const unsigned char kat3093_entropyin[] = { + 0x74, 0x8a, 0xe8, 0xca, 0xfd, 0x0a, 0x36, 0x79, 0x9c, 0x76, 0xaa, 0xcf, + 0x31, 0x3d, 0x17, 0xf9, +}; +static const unsigned char kat3093_nonce[] = { + 0xf2, 0x28, 0x8c, 0x1a, 0x93, 0xb4, 0x3d, 0x84, +}; +static const unsigned char kat3093_persstr[] = { + 0x34, 0x44, 0x19, 0x1e, 0x25, 0x64, 0xa3, 0x25, 0x7c, 0x33, 0x12, 0xd9, + 0x21, 0x52, 0x00, 0x55, +}; +static const unsigned char kat3093_entropyinpr1[] = { + 0x8f, 0xdf, 0xa2, 0x91, 0x59, 0x65, 0xf6, 0xc4, 0x43, 0xcc, 0xcb, 0x7f, + 0xd4, 0x06, 0x49, 0xbc, +}; +static const unsigned char kat3093_addinpr1[] = {0}; +static const unsigned char kat3093_entropyinpr2[] = { + 0x04, 0x64, 0xa7, 0xb3, 0x8d, 0x4c, 0x50, 0xdf, 0xf8, 0x5a, 0x10, 0xc4, + 0x90, 0xb0, 0x8c, 0x9f, +}; +static const unsigned char kat3093_addinpr2[] = {0}; +static const unsigned char kat3093_retbits[] = { + 0x04, 0x7c, 0x54, 0x11, 0xa4, 0xc1, 0xf1, 0x2a, 0x39, 0x64, 0xdf, 0xee, + 0x81, 0xec, 0xe1, 0xa5, 0x63, 0x8d, 0x21, 0x17, 0xe4, 0xd4, 0x71, 0x60, + 0x2a, 0xa8, 0x3a, 0x77, 0xec, 0x3c, 0x04, 0xba, 0x59, 0x3e, 0x39, 0xba, + 0x39, 0x74, 0xeb, 0x6f, 0xfb, 0x98, 0xc7, 0x94, 0x43, 0xd6, 0x0e, 0xa0, + 0x47, 0xd3, 0xd9, 0x93, 0x96, 0x84, 0x45, 0x42, 0xa7, 0xab, 0xc9, 0xac, + 0xaf, 0xb0, 0x70, 0x03, +}; +static const struct drbg_kat_pr_true kat3093_t = { + 2, kat3093_entropyin, kat3093_nonce, kat3093_persstr, + kat3093_entropyinpr1, kat3093_addinpr1, kat3093_entropyinpr2, + kat3093_addinpr2, kat3093_retbits +}; +static const struct drbg_kat kat3093 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3093_t +}; + +static const unsigned char kat3094_entropyin[] = { + 0xb8, 0xcf, 0x19, 0xaa, 0xf1, 0x24, 0xcc, 0xc6, 0x55, 0xf1, 0x83, 0x8b, + 0xbc, 0xfc, 0x70, 0xbf, +}; +static const unsigned char kat3094_nonce[] = { + 0x96, 0xe8, 0x71, 0x0f, 0xf3, 0x67, 0x6e, 0x69, +}; +static const unsigned char kat3094_persstr[] = { + 0x4b, 0xb5, 0xa8, 0x2a, 0x03, 0x86, 0x59, 0x91, 0x87, 0x3e, 0xb6, 0x6b, + 0x20, 0xf6, 0xeb, 0x4b, +}; +static const unsigned char kat3094_entropyinpr1[] = { + 0x48, 0x57, 0x33, 0x45, 0x20, 0xab, 0x3e, 0x19, 0x2a, 0xa4, 0x66, 0xd7, + 0xd5, 0xf5, 0x22, 0xd2, +}; +static const unsigned char kat3094_addinpr1[] = {0}; +static const unsigned char kat3094_entropyinpr2[] = { + 0x56, 0x54, 0x8e, 0x12, 0xef, 0xc2, 0x79, 0xf7, 0x90, 0x4c, 0x84, 0xba, + 0x04, 0x95, 0x94, 0xc1, +}; +static const unsigned char kat3094_addinpr2[] = {0}; +static const unsigned char kat3094_retbits[] = { + 0xc7, 0x76, 0xd7, 0xd8, 0xb3, 0x34, 0xe2, 0x87, 0x7b, 0x8a, 0x96, 0x33, + 0x41, 0x8a, 0x60, 0x51, 0x74, 0xd8, 0xf7, 0x9a, 0x48, 0xd4, 0xcc, 0x8c, + 0xd6, 0x6a, 0x9d, 0x37, 0x8c, 0x6f, 0x83, 0x6f, 0xa0, 0xea, 0xef, 0xd0, + 0xb6, 0xf6, 0x25, 0xaf, 0x20, 0xdf, 0xe8, 0xa4, 0xaf, 0xd3, 0xbe, 0x82, + 0x0a, 0xa1, 0x54, 0x9c, 0x83, 0x2b, 0x5a, 0xf3, 0x68, 0xa1, 0x5d, 0x22, + 0x37, 0xb9, 0xd8, 0x87, +}; +static const struct drbg_kat_pr_true kat3094_t = { + 3, kat3094_entropyin, kat3094_nonce, kat3094_persstr, + kat3094_entropyinpr1, kat3094_addinpr1, kat3094_entropyinpr2, + kat3094_addinpr2, kat3094_retbits +}; +static const struct drbg_kat kat3094 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3094_t +}; + +static const unsigned char kat3095_entropyin[] = { + 0xee, 0x04, 0x18, 0xdf, 0xb8, 0xac, 0x3b, 0xa3, 0xf0, 0x23, 0x95, 0xdd, + 0x53, 0xe2, 0x0b, 0x0b, +}; +static const unsigned char kat3095_nonce[] = { + 0x39, 0x12, 0xf2, 0x88, 0x48, 0x44, 0xed, 0x67, +}; +static const unsigned char kat3095_persstr[] = { + 0x6a, 0x14, 0x1a, 0xd9, 0xf5, 0xa3, 0x5e, 0x26, 0x57, 0x1f, 0x03, 0xbb, + 0xa9, 0x78, 0x69, 0x47, +}; +static const unsigned char kat3095_entropyinpr1[] = { + 0xee, 0xfa, 0xb2, 0xd1, 0x9a, 0xac, 0xcf, 0x00, 0xfd, 0xe6, 0x3b, 0x61, + 0x3b, 0x6b, 0x01, 0x99, +}; +static const unsigned char kat3095_addinpr1[] = {0}; +static const unsigned char kat3095_entropyinpr2[] = { + 0xc3, 0xfe, 0xc0, 0xd3, 0x0f, 0x86, 0xca, 0xc4, 0x7d, 0x3d, 0xca, 0xa9, + 0xd0, 0x32, 0x77, 0x97, +}; +static const unsigned char kat3095_addinpr2[] = {0}; +static const unsigned char kat3095_retbits[] = { + 0xe0, 0x51, 0x65, 0xdc, 0xc2, 0x26, 0xb1, 0x69, 0xca, 0x2a, 0xd8, 0xa5, + 0x06, 0x0f, 0xdd, 0x59, 0xf6, 0x59, 0xe0, 0x58, 0x30, 0xb3, 0x21, 0x5b, + 0xc5, 0x32, 0x48, 0x4e, 0x3a, 0xd0, 0xff, 0x13, 0x88, 0x1f, 0x1b, 0x3a, + 0x09, 0xbc, 0x7b, 0x05, 0x41, 0xd2, 0x9d, 0x18, 0x69, 0x2f, 0xfd, 0x75, + 0x0c, 0xa3, 0xca, 0xd4, 0xc4, 0x61, 0x8a, 0xf0, 0xe6, 0x99, 0x89, 0x25, + 0xdc, 0xe5, 0xb2, 0xf3, +}; +static const struct drbg_kat_pr_true kat3095_t = { + 4, kat3095_entropyin, kat3095_nonce, kat3095_persstr, + kat3095_entropyinpr1, kat3095_addinpr1, kat3095_entropyinpr2, + kat3095_addinpr2, kat3095_retbits +}; +static const struct drbg_kat kat3095 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3095_t +}; + +static const unsigned char kat3096_entropyin[] = { + 0xe6, 0xb9, 0x0d, 0xb6, 0x5e, 0x98, 0xed, 0xf8, 0x97, 0x54, 0xe1, 0xd4, + 0x0c, 0x24, 0xef, 0x04, +}; +static const unsigned char kat3096_nonce[] = { + 0x82, 0x55, 0xcb, 0xcd, 0x21, 0x4f, 0x4b, 0x8e, +}; +static const unsigned char kat3096_persstr[] = { + 0x97, 0x5c, 0x3f, 0xf7, 0x6b, 0xff, 0x8d, 0x9b, 0xb9, 0x58, 0x0d, 0x6e, + 0x74, 0xbd, 0xcb, 0xce, +}; +static const unsigned char kat3096_entropyinpr1[] = { + 0xf5, 0x55, 0xa2, 0x61, 0x73, 0x77, 0x36, 0x68, 0x4e, 0x8e, 0x72, 0xa6, + 0xd5, 0x9a, 0x76, 0x97, +}; +static const unsigned char kat3096_addinpr1[] = {0}; +static const unsigned char kat3096_entropyinpr2[] = { + 0xee, 0x4c, 0xe9, 0xca, 0x18, 0x1b, 0xcc, 0xf1, 0xd3, 0xd8, 0x1a, 0xc8, + 0xdf, 0xeb, 0x2a, 0xad, +}; +static const unsigned char kat3096_addinpr2[] = {0}; +static const unsigned char kat3096_retbits[] = { + 0x43, 0x5a, 0x51, 0x34, 0x4c, 0xa9, 0xcf, 0x00, 0x1d, 0x7a, 0xa1, 0xdc, + 0x5e, 0x89, 0x3b, 0x2c, 0x99, 0x5b, 0x71, 0x0e, 0x39, 0x5a, 0xfb, 0x3e, + 0xc2, 0x0f, 0xd5, 0x66, 0x15, 0x1e, 0xe4, 0x62, 0xa5, 0xf5, 0x06, 0x19, + 0x8f, 0xf6, 0x24, 0x9f, 0xf0, 0xcc, 0x4d, 0x65, 0xff, 0x3b, 0xc0, 0xd6, + 0x7b, 0xc4, 0x11, 0xe7, 0x0a, 0xb2, 0x08, 0x77, 0x0d, 0xe4, 0x8e, 0x40, + 0xd6, 0x76, 0x5f, 0x4e, +}; +static const struct drbg_kat_pr_true kat3096_t = { + 5, kat3096_entropyin, kat3096_nonce, kat3096_persstr, + kat3096_entropyinpr1, kat3096_addinpr1, kat3096_entropyinpr2, + kat3096_addinpr2, kat3096_retbits +}; +static const struct drbg_kat kat3096 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3096_t +}; + +static const unsigned char kat3097_entropyin[] = { + 0x97, 0x56, 0xa8, 0x84, 0xa7, 0x97, 0x7a, 0x4f, 0x72, 0xb4, 0xc1, 0x25, + 0xb2, 0x18, 0x8d, 0xca, +}; +static const unsigned char kat3097_nonce[] = { + 0xae, 0x7b, 0x70, 0x43, 0x0c, 0x5e, 0x35, 0xb9, +}; +static const unsigned char kat3097_persstr[] = { + 0x1f, 0xb6, 0xab, 0x91, 0xf4, 0x46, 0x22, 0x06, 0xa9, 0x5f, 0x11, 0xae, + 0xb8, 0x8e, 0x56, 0xd7, +}; +static const unsigned char kat3097_entropyinpr1[] = { + 0x0b, 0x37, 0x1e, 0xea, 0x8d, 0xfd, 0x13, 0x7f, 0x2a, 0x06, 0xec, 0x47, + 0x2c, 0x0a, 0x80, 0xca, +}; +static const unsigned char kat3097_addinpr1[] = {0}; +static const unsigned char kat3097_entropyinpr2[] = { + 0x88, 0x23, 0x69, 0x86, 0x84, 0x69, 0x46, 0x15, 0x65, 0x3a, 0xbe, 0x49, + 0x7e, 0x71, 0x2a, 0x20, +}; +static const unsigned char kat3097_addinpr2[] = {0}; +static const unsigned char kat3097_retbits[] = { + 0xb1, 0x0f, 0x2e, 0xa4, 0x1c, 0x54, 0xd6, 0x0f, 0x21, 0xed, 0x87, 0x90, + 0xa7, 0x7a, 0x9b, 0xfc, 0x4e, 0x89, 0x23, 0x96, 0x41, 0x62, 0x53, 0xd7, + 0x04, 0x7c, 0x82, 0x45, 0xa4, 0x39, 0xc4, 0x66, 0x28, 0x47, 0x3e, 0x10, + 0x4a, 0x9b, 0x9e, 0x4d, 0xff, 0x65, 0x76, 0xdd, 0xfa, 0x74, 0x00, 0x87, + 0xf1, 0x07, 0x66, 0xe8, 0x72, 0xd1, 0x47, 0x9a, 0xba, 0xe7, 0x77, 0x11, + 0xaa, 0x83, 0x24, 0x2a, +}; +static const struct drbg_kat_pr_true kat3097_t = { + 6, kat3097_entropyin, kat3097_nonce, kat3097_persstr, + kat3097_entropyinpr1, kat3097_addinpr1, kat3097_entropyinpr2, + kat3097_addinpr2, kat3097_retbits +}; +static const struct drbg_kat kat3097 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3097_t +}; + +static const unsigned char kat3098_entropyin[] = { + 0xce, 0x51, 0x47, 0x8a, 0xfc, 0x2d, 0xd1, 0x92, 0x2a, 0x31, 0x23, 0xc1, + 0x74, 0x5d, 0x5c, 0xc9, +}; +static const unsigned char kat3098_nonce[] = { + 0xb5, 0x09, 0x3d, 0x81, 0x56, 0xf9, 0x4d, 0x7e, +}; +static const unsigned char kat3098_persstr[] = { + 0xf4, 0xdf, 0xbd, 0xd6, 0x16, 0xdd, 0xa5, 0x7e, 0xea, 0x89, 0x74, 0x8d, + 0xbe, 0xb0, 0x75, 0x38, +}; +static const unsigned char kat3098_entropyinpr1[] = { + 0x73, 0x46, 0x8a, 0x12, 0x53, 0x43, 0x26, 0x1d, 0x66, 0x6f, 0x3c, 0xfe, + 0x33, 0x19, 0xc8, 0x15, +}; +static const unsigned char kat3098_addinpr1[] = {0}; +static const unsigned char kat3098_entropyinpr2[] = { + 0x20, 0xa4, 0x81, 0x6a, 0x12, 0x33, 0x28, 0xd3, 0xc2, 0xed, 0xa2, 0x89, + 0x6a, 0x40, 0xcc, 0xbf, +}; +static const unsigned char kat3098_addinpr2[] = {0}; +static const unsigned char kat3098_retbits[] = { + 0x0f, 0x89, 0x56, 0x36, 0xc5, 0x2b, 0x85, 0x10, 0xe3, 0x01, 0xbb, 0x8d, + 0x3c, 0x28, 0xb8, 0xab, 0x4c, 0x82, 0xf1, 0x75, 0x5a, 0x20, 0xb7, 0x4b, + 0x8d, 0x0d, 0x46, 0xb8, 0x58, 0x5e, 0xd1, 0x6e, 0xe2, 0x68, 0xef, 0xb2, + 0xd9, 0x90, 0x31, 0x41, 0x6e, 0x95, 0x1e, 0x24, 0x3f, 0xf0, 0xb9, 0x5c, + 0xaa, 0x02, 0x1a, 0x90, 0xf5, 0xca, 0x5d, 0x69, 0xa5, 0xd7, 0x10, 0x45, + 0xfb, 0xcb, 0xa8, 0x4f, +}; +static const struct drbg_kat_pr_true kat3098_t = { + 7, kat3098_entropyin, kat3098_nonce, kat3098_persstr, + kat3098_entropyinpr1, kat3098_addinpr1, kat3098_entropyinpr2, + kat3098_addinpr2, kat3098_retbits +}; +static const struct drbg_kat kat3098 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3098_t +}; + +static const unsigned char kat3099_entropyin[] = { + 0x0d, 0x85, 0xf9, 0x27, 0x1f, 0xb8, 0xef, 0x4a, 0x38, 0x7c, 0x86, 0xb2, + 0xdd, 0x0c, 0x11, 0x28, +}; +static const unsigned char kat3099_nonce[] = { + 0xad, 0x7f, 0xb7, 0x16, 0x3c, 0xa4, 0xa6, 0x28, +}; +static const unsigned char kat3099_persstr[] = { + 0x21, 0x46, 0x63, 0xf4, 0xec, 0x37, 0xde, 0x76, 0x6c, 0xa7, 0xf8, 0x09, + 0x1e, 0x84, 0x6f, 0x60, +}; +static const unsigned char kat3099_entropyinpr1[] = { + 0x90, 0xe4, 0x4d, 0x04, 0xdb, 0xa4, 0xd0, 0x5b, 0x3b, 0xd6, 0x1b, 0x50, + 0xd6, 0xe3, 0x94, 0x96, +}; +static const unsigned char kat3099_addinpr1[] = {0}; +static const unsigned char kat3099_entropyinpr2[] = { + 0xd9, 0xfe, 0x49, 0x5f, 0xf6, 0xaf, 0xa4, 0x28, 0x5a, 0x0e, 0xa6, 0x6d, + 0xbe, 0xde, 0xcb, 0x6c, +}; +static const unsigned char kat3099_addinpr2[] = {0}; +static const unsigned char kat3099_retbits[] = { + 0x2f, 0x34, 0x8e, 0x58, 0x87, 0x2c, 0xf1, 0x65, 0xab, 0xbc, 0x5c, 0xaf, + 0xd2, 0x8d, 0x49, 0x36, 0xeb, 0x3b, 0xa9, 0x28, 0x9d, 0x1e, 0xa0, 0x8d, + 0xec, 0xb1, 0x13, 0xc9, 0x55, 0x72, 0x7a, 0x2e, 0xcd, 0x09, 0x64, 0xff, + 0x8c, 0x29, 0xd4, 0xd9, 0x1f, 0xb1, 0x22, 0x30, 0x60, 0x29, 0xd4, 0xb0, + 0x91, 0xb5, 0x31, 0x79, 0x1a, 0xb8, 0x1c, 0xfc, 0x19, 0xcf, 0x61, 0x32, + 0x94, 0x82, 0x4a, 0x04, +}; +static const struct drbg_kat_pr_true kat3099_t = { + 8, kat3099_entropyin, kat3099_nonce, kat3099_persstr, + kat3099_entropyinpr1, kat3099_addinpr1, kat3099_entropyinpr2, + kat3099_addinpr2, kat3099_retbits +}; +static const struct drbg_kat kat3099 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3099_t +}; + +static const unsigned char kat3100_entropyin[] = { + 0x0b, 0x45, 0x10, 0x84, 0xb3, 0x47, 0x13, 0x9b, 0xf4, 0xf9, 0xe8, 0x53, + 0xdb, 0xb5, 0x8d, 0x5c, +}; +static const unsigned char kat3100_nonce[] = { + 0x1c, 0x73, 0x52, 0x09, 0x66, 0xab, 0xfb, 0x35, +}; +static const unsigned char kat3100_persstr[] = { + 0xb1, 0x4d, 0xce, 0x43, 0x9f, 0x5f, 0x43, 0xd7, 0x6a, 0x4f, 0xe6, 0x0d, + 0xa8, 0x9c, 0x44, 0xb3, +}; +static const unsigned char kat3100_entropyinpr1[] = { + 0xba, 0x4d, 0x8e, 0xca, 0x83, 0x4f, 0xcd, 0x3d, 0x1f, 0xe8, 0x0e, 0x93, + 0x8f, 0x11, 0xfa, 0x7b, +}; +static const unsigned char kat3100_addinpr1[] = {0}; +static const unsigned char kat3100_entropyinpr2[] = { + 0x06, 0xac, 0x26, 0x7e, 0xed, 0x6d, 0x8f, 0x47, 0xc5, 0x96, 0xc7, 0xb5, + 0x32, 0x57, 0xa3, 0x05, +}; +static const unsigned char kat3100_addinpr2[] = {0}; +static const unsigned char kat3100_retbits[] = { + 0xc7, 0xe1, 0x21, 0x75, 0x5b, 0xc9, 0x6d, 0x37, 0x75, 0x00, 0xac, 0x88, + 0xdc, 0xf4, 0xf4, 0x54, 0x65, 0x9c, 0xc5, 0x39, 0x51, 0xcc, 0xb1, 0x7f, + 0x97, 0xfe, 0xaa, 0x26, 0x9f, 0xee, 0x42, 0x90, 0xcb, 0x42, 0xf1, 0x74, + 0xa8, 0x1b, 0xfa, 0xa1, 0x34, 0x1b, 0x97, 0x6d, 0x30, 0x9e, 0xb4, 0x6c, + 0xb2, 0x2b, 0xea, 0x1b, 0x62, 0xd4, 0x34, 0x2c, 0x52, 0x2c, 0x76, 0xb1, + 0x09, 0x53, 0xb9, 0xd4, +}; +static const struct drbg_kat_pr_true kat3100_t = { + 9, kat3100_entropyin, kat3100_nonce, kat3100_persstr, + kat3100_entropyinpr1, kat3100_addinpr1, kat3100_entropyinpr2, + kat3100_addinpr2, kat3100_retbits +}; +static const struct drbg_kat kat3100 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3100_t +}; + +static const unsigned char kat3101_entropyin[] = { + 0x07, 0xd9, 0x92, 0xc8, 0xa7, 0x29, 0xd9, 0x70, 0x0d, 0xdf, 0x64, 0x9a, + 0x8d, 0x61, 0xdf, 0xfc, +}; +static const unsigned char kat3101_nonce[] = { + 0xf6, 0x69, 0x76, 0x7f, 0x4c, 0xce, 0x26, 0xcd, +}; +static const unsigned char kat3101_persstr[] = { + 0xde, 0x30, 0x3d, 0xfd, 0xd9, 0x2a, 0x0a, 0xf6, 0x56, 0xc2, 0xfa, 0x07, + 0xb9, 0x5c, 0x3c, 0xa1, +}; +static const unsigned char kat3101_entropyinpr1[] = { + 0x9e, 0xce, 0xe5, 0x52, 0xdc, 0x77, 0xbe, 0x87, 0xa5, 0x06, 0x9b, 0xdb, + 0x7d, 0xfa, 0xea, 0x3a, +}; +static const unsigned char kat3101_addinpr1[] = {0}; +static const unsigned char kat3101_entropyinpr2[] = { + 0x86, 0xd8, 0xab, 0xa3, 0x0e, 0xa8, 0x01, 0x83, 0xfc, 0x3f, 0x4b, 0xd7, + 0x59, 0x74, 0xb4, 0x1b, +}; +static const unsigned char kat3101_addinpr2[] = {0}; +static const unsigned char kat3101_retbits[] = { + 0x68, 0xfc, 0x68, 0x9f, 0x42, 0xd6, 0xd2, 0x8d, 0x33, 0x7f, 0x8e, 0x4b, + 0xf7, 0xbd, 0x6b, 0x58, 0xa1, 0x80, 0x72, 0xd9, 0xa4, 0x5b, 0x58, 0x03, + 0xf7, 0x5a, 0x94, 0x4a, 0x8b, 0x4f, 0xd6, 0x2e, 0xee, 0xe2, 0x7d, 0xe9, + 0x38, 0xa8, 0x64, 0x7b, 0xdd, 0x40, 0x99, 0xb0, 0x46, 0xdc, 0x51, 0x1d, + 0xbf, 0xc1, 0xb4, 0x68, 0x48, 0x51, 0xe1, 0x7e, 0x66, 0x3b, 0xfb, 0xad, + 0x3c, 0x8c, 0x1a, 0xd6, +}; +static const struct drbg_kat_pr_true kat3101_t = { + 10, kat3101_entropyin, kat3101_nonce, kat3101_persstr, + kat3101_entropyinpr1, kat3101_addinpr1, kat3101_entropyinpr2, + kat3101_addinpr2, kat3101_retbits +}; +static const struct drbg_kat kat3101 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3101_t +}; + +static const unsigned char kat3102_entropyin[] = { + 0x6c, 0xc1, 0x6f, 0xd9, 0x8a, 0x46, 0x0b, 0xf7, 0x89, 0x34, 0x92, 0xc5, + 0x44, 0x83, 0x60, 0xa1, +}; +static const unsigned char kat3102_nonce[] = { + 0xac, 0x23, 0x48, 0xc5, 0x9e, 0xca, 0xed, 0x06, +}; +static const unsigned char kat3102_persstr[] = { + 0xe3, 0x60, 0x61, 0x88, 0x67, 0x90, 0x41, 0x30, 0x88, 0x87, 0x59, 0x6d, + 0xe0, 0xa8, 0x47, 0x03, +}; +static const unsigned char kat3102_entropyinpr1[] = { + 0xf7, 0x19, 0xf9, 0x2f, 0x53, 0x31, 0x05, 0x81, 0x88, 0x64, 0x64, 0xae, + 0x48, 0xc8, 0x69, 0x52, +}; +static const unsigned char kat3102_addinpr1[] = {0}; +static const unsigned char kat3102_entropyinpr2[] = { + 0xae, 0xbb, 0x99, 0xad, 0x1c, 0x3c, 0x6d, 0x8e, 0xf9, 0xf6, 0x5e, 0x4e, + 0x40, 0xca, 0xba, 0xb0, +}; +static const unsigned char kat3102_addinpr2[] = {0}; +static const unsigned char kat3102_retbits[] = { + 0xbe, 0xb8, 0x9a, 0xd8, 0x1f, 0x87, 0xce, 0xb8, 0x06, 0x49, 0xe8, 0x86, + 0xa9, 0xf4, 0x37, 0x6a, 0xd3, 0x3f, 0xc3, 0x29, 0x21, 0x3f, 0x66, 0x21, + 0xd7, 0x42, 0x47, 0x20, 0x23, 0x43, 0x78, 0x44, 0xfe, 0x6b, 0x79, 0x3d, + 0x20, 0x76, 0xfe, 0x94, 0x52, 0xdc, 0x77, 0x1f, 0xa6, 0xe5, 0x9a, 0xe4, + 0x6a, 0x57, 0x64, 0x2c, 0xdb, 0x24, 0x68, 0x20, 0xab, 0xe0, 0x8d, 0x62, + 0x26, 0x9b, 0x84, 0x69, +}; +static const struct drbg_kat_pr_true kat3102_t = { + 11, kat3102_entropyin, kat3102_nonce, kat3102_persstr, + kat3102_entropyinpr1, kat3102_addinpr1, kat3102_entropyinpr2, + kat3102_addinpr2, kat3102_retbits +}; +static const struct drbg_kat kat3102 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3102_t +}; + +static const unsigned char kat3103_entropyin[] = { + 0x59, 0xcd, 0x16, 0x85, 0x4c, 0x0e, 0xb7, 0xf2, 0x33, 0xc3, 0x0f, 0xcc, + 0x41, 0x38, 0xb0, 0x49, +}; +static const unsigned char kat3103_nonce[] = { + 0x81, 0xdc, 0xe7, 0xed, 0x37, 0xd6, 0xe2, 0x51, +}; +static const unsigned char kat3103_persstr[] = { + 0x60, 0xdd, 0x02, 0x9e, 0x96, 0x74, 0x33, 0x29, 0x07, 0x98, 0xb5, 0x71, + 0x74, 0xf8, 0x07, 0x0e, +}; +static const unsigned char kat3103_entropyinpr1[] = { + 0x65, 0x67, 0xce, 0x08, 0x37, 0xeb, 0x8c, 0x4e, 0x10, 0x72, 0x9d, 0x67, + 0x51, 0x5f, 0xdf, 0x5f, +}; +static const unsigned char kat3103_addinpr1[] = {0}; +static const unsigned char kat3103_entropyinpr2[] = { + 0x3c, 0x73, 0xa5, 0x78, 0xf3, 0x6b, 0xe6, 0x83, 0x31, 0xb9, 0x67, 0x0c, + 0xb2, 0x5b, 0x98, 0x9e, +}; +static const unsigned char kat3103_addinpr2[] = {0}; +static const unsigned char kat3103_retbits[] = { + 0x8c, 0xd6, 0xbe, 0x88, 0xd2, 0x4f, 0xfa, 0x12, 0x7d, 0x72, 0x89, 0x7b, + 0xa7, 0xfa, 0x91, 0x22, 0xe8, 0x51, 0x8b, 0x38, 0xba, 0x69, 0x3d, 0xaf, + 0xb0, 0x64, 0x7f, 0x09, 0x10, 0x9f, 0x17, 0x66, 0x5c, 0x48, 0xec, 0x58, + 0x46, 0xb8, 0x93, 0xab, 0x80, 0xff, 0x72, 0x60, 0x23, 0xa3, 0x4c, 0xad, + 0x67, 0x69, 0xb7, 0xd7, 0xa9, 0xa4, 0x6a, 0x1a, 0x43, 0x93, 0xad, 0x1f, + 0xbe, 0x43, 0xb0, 0x87, +}; +static const struct drbg_kat_pr_true kat3103_t = { + 12, kat3103_entropyin, kat3103_nonce, kat3103_persstr, + kat3103_entropyinpr1, kat3103_addinpr1, kat3103_entropyinpr2, + kat3103_addinpr2, kat3103_retbits +}; +static const struct drbg_kat kat3103 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3103_t +}; + +static const unsigned char kat3104_entropyin[] = { + 0x34, 0xaf, 0x5f, 0xf0, 0xff, 0x1e, 0x17, 0xdc, 0xc8, 0x69, 0x07, 0xf3, + 0x15, 0x1c, 0x4d, 0xd1, +}; +static const unsigned char kat3104_nonce[] = { + 0x89, 0x88, 0xd9, 0xa4, 0x75, 0xfb, 0x40, 0x42, +}; +static const unsigned char kat3104_persstr[] = { + 0xa5, 0x39, 0x81, 0xc9, 0x0e, 0xf8, 0xc7, 0x7f, 0xae, 0x3f, 0x59, 0xbf, + 0x27, 0x7c, 0x26, 0x41, +}; +static const unsigned char kat3104_entropyinpr1[] = { + 0x97, 0x0b, 0x7e, 0xa4, 0xbc, 0x3d, 0x13, 0x47, 0xc1, 0xff, 0x46, 0x61, + 0x5d, 0xaa, 0x05, 0xcd, +}; +static const unsigned char kat3104_addinpr1[] = {0}; +static const unsigned char kat3104_entropyinpr2[] = { + 0xc0, 0x96, 0xdc, 0x01, 0x46, 0x55, 0xbe, 0xfc, 0x7b, 0x4f, 0xc5, 0x95, + 0x5b, 0x97, 0x54, 0x28, +}; +static const unsigned char kat3104_addinpr2[] = {0}; +static const unsigned char kat3104_retbits[] = { + 0xbe, 0x56, 0xa7, 0x88, 0xec, 0x75, 0x92, 0xe4, 0x9e, 0x83, 0x1b, 0xa4, + 0xa4, 0xde, 0xc7, 0x57, 0x75, 0xf6, 0xa5, 0x7f, 0xfd, 0x36, 0x8e, 0x66, + 0xc9, 0x8f, 0xa3, 0x6b, 0x83, 0xbe, 0xdd, 0xe7, 0x12, 0xb7, 0x68, 0xd7, + 0x57, 0x81, 0xbe, 0xd0, 0x6e, 0x04, 0x9d, 0xc7, 0xdc, 0xab, 0x36, 0xc6, + 0xcc, 0x20, 0xe0, 0x91, 0xe7, 0x68, 0xc7, 0xc3, 0x2d, 0x16, 0x8a, 0xb9, + 0xad, 0xc0, 0x48, 0xe1, +}; +static const struct drbg_kat_pr_true kat3104_t = { + 13, kat3104_entropyin, kat3104_nonce, kat3104_persstr, + kat3104_entropyinpr1, kat3104_addinpr1, kat3104_entropyinpr2, + kat3104_addinpr2, kat3104_retbits +}; +static const struct drbg_kat kat3104 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3104_t +}; + +static const unsigned char kat3105_entropyin[] = { + 0xf5, 0x11, 0xfd, 0x27, 0x91, 0x27, 0xd2, 0xf0, 0x80, 0xc2, 0x64, 0x09, + 0x46, 0xa8, 0xad, 0xef, +}; +static const unsigned char kat3105_nonce[] = { + 0xb9, 0x88, 0xd1, 0x4a, 0x72, 0xbe, 0x7c, 0x9c, +}; +static const unsigned char kat3105_persstr[] = { + 0x6f, 0xae, 0xdb, 0x45, 0xc4, 0x57, 0x8b, 0x51, 0x87, 0x7f, 0xc4, 0xc8, + 0x12, 0xef, 0xff, 0x33, +}; +static const unsigned char kat3105_entropyinpr1[] = { + 0xca, 0x4d, 0x2e, 0x40, 0xf1, 0x66, 0xeb, 0x66, 0xa1, 0x46, 0xc2, 0xfb, + 0xda, 0x86, 0xaa, 0xfa, +}; +static const unsigned char kat3105_addinpr1[] = {0}; +static const unsigned char kat3105_entropyinpr2[] = { + 0x64, 0x3c, 0xeb, 0x41, 0xff, 0x41, 0xd0, 0x06, 0xcf, 0xf5, 0x4d, 0x99, + 0x96, 0x46, 0xf3, 0xe6, +}; +static const unsigned char kat3105_addinpr2[] = {0}; +static const unsigned char kat3105_retbits[] = { + 0x92, 0x84, 0x04, 0xb3, 0xdc, 0x10, 0x69, 0xbb, 0xc4, 0x07, 0xdc, 0x95, + 0xc9, 0x79, 0x0f, 0x0b, 0xa9, 0xf3, 0xc6, 0x81, 0x26, 0x66, 0x16, 0x33, + 0x7e, 0x2e, 0x40, 0xcb, 0x38, 0x79, 0x1a, 0x29, 0x56, 0xcc, 0xab, 0x3b, + 0x0f, 0xdc, 0x1f, 0xf7, 0x5e, 0x64, 0x96, 0x20, 0x40, 0xa3, 0x29, 0xa0, + 0xa0, 0x92, 0xd6, 0xfa, 0xee, 0x9a, 0xd3, 0x54, 0x48, 0xe3, 0xe7, 0xa4, + 0x15, 0x8c, 0x8a, 0x79, +}; +static const struct drbg_kat_pr_true kat3105_t = { + 14, kat3105_entropyin, kat3105_nonce, kat3105_persstr, + kat3105_entropyinpr1, kat3105_addinpr1, kat3105_entropyinpr2, + kat3105_addinpr2, kat3105_retbits +}; +static const struct drbg_kat kat3105 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 0, 64, &kat3105_t +}; + +static const unsigned char kat3106_entropyin[] = { + 0xd3, 0x45, 0x4b, 0x25, 0x7e, 0xcd, 0x83, 0xc3, 0xbe, 0x96, 0xb8, 0xf5, + 0x84, 0x7b, 0xe6, 0xeb, +}; +static const unsigned char kat3106_nonce[] = { + 0xb2, 0x41, 0xf1, 0x29, 0x5d, 0xf4, 0xd9, 0x99, +}; +static const unsigned char kat3106_persstr[] = { + 0x6e, 0x8d, 0x9b, 0x4d, 0xd8, 0xd1, 0x7e, 0xc9, 0x11, 0x11, 0xa4, 0xcb, + 0x93, 0xba, 0x4f, 0x25, +}; +static const unsigned char kat3106_entropyinpr1[] = { + 0x66, 0xd5, 0x78, 0x53, 0x5e, 0x2b, 0x4b, 0x41, 0x56, 0x02, 0x98, 0xfe, + 0x7f, 0xd9, 0xe2, 0x40, +}; +static const unsigned char kat3106_addinpr1[] = { + 0x0b, 0xde, 0xb8, 0x88, 0x60, 0x4d, 0xb3, 0xa7, 0xb6, 0x15, 0xb5, 0xba, + 0xcb, 0xe4, 0x25, 0x00, +}; +static const unsigned char kat3106_entropyinpr2[] = { + 0x1d, 0x97, 0xe8, 0x9c, 0x60, 0x39, 0x15, 0x20, 0x7a, 0x65, 0x60, 0x52, + 0x0c, 0x4f, 0xeb, 0x00, +}; +static const unsigned char kat3106_addinpr2[] = { + 0x79, 0xf3, 0x8d, 0xd5, 0x8d, 0x83, 0x5f, 0x1a, 0xe5, 0x89, 0x55, 0xbb, + 0xdb, 0x50, 0x0c, 0xfc, +}; +static const unsigned char kat3106_retbits[] = { + 0x26, 0x75, 0x49, 0x07, 0x9e, 0x94, 0x6a, 0x1e, 0xa7, 0x24, 0x16, 0xab, + 0x4f, 0x57, 0xbc, 0x9c, 0x7e, 0xcd, 0xe7, 0x3e, 0x8c, 0x5c, 0x79, 0x93, + 0xe2, 0xcc, 0xde, 0x38, 0xf8, 0x54, 0xed, 0xb4, 0xc4, 0x3d, 0x57, 0x66, + 0xda, 0x71, 0xda, 0x70, 0x13, 0xae, 0x71, 0xf4, 0x36, 0x6b, 0x8d, 0x1c, + 0xfa, 0x19, 0x6d, 0x3f, 0x0f, 0xaa, 0xd2, 0xac, 0x98, 0xc4, 0x25, 0xc5, + 0x6a, 0xdb, 0xf3, 0x12, +}; +static const struct drbg_kat_pr_true kat3106_t = { + 0, kat3106_entropyin, kat3106_nonce, kat3106_persstr, + kat3106_entropyinpr1, kat3106_addinpr1, kat3106_entropyinpr2, + kat3106_addinpr2, kat3106_retbits +}; +static const struct drbg_kat kat3106 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3106_t +}; + +static const unsigned char kat3107_entropyin[] = { + 0x47, 0x7f, 0x90, 0x3f, 0xec, 0x82, 0x34, 0x93, 0x36, 0x8a, 0xdf, 0xc4, + 0x8b, 0x47, 0x42, 0x81, +}; +static const unsigned char kat3107_nonce[] = { + 0xfc, 0x51, 0xc6, 0xbb, 0x4a, 0x96, 0xd8, 0x21, +}; +static const unsigned char kat3107_persstr[] = { + 0x8d, 0xbd, 0x64, 0x13, 0xae, 0xec, 0x56, 0xc5, 0x7d, 0xdf, 0xc1, 0x52, + 0xa0, 0x92, 0x17, 0x4f, +}; +static const unsigned char kat3107_entropyinpr1[] = { + 0xc4, 0x70, 0x0c, 0x54, 0xd6, 0xdf, 0x86, 0x4f, 0x50, 0x99, 0x12, 0xfc, + 0x88, 0x36, 0xb0, 0x99, +}; +static const unsigned char kat3107_addinpr1[] = { + 0x0b, 0xe0, 0x48, 0xc9, 0x48, 0x31, 0xbb, 0x7e, 0xbc, 0xb6, 0x69, 0x13, + 0xee, 0x1c, 0x8d, 0x22, +}; +static const unsigned char kat3107_entropyinpr2[] = { + 0x1c, 0x21, 0x05, 0xc6, 0x08, 0xad, 0x7b, 0xf0, 0x39, 0xde, 0x80, 0xcf, + 0x71, 0xbe, 0xfa, 0xdb, +}; +static const unsigned char kat3107_addinpr2[] = { + 0xdb, 0xf7, 0x00, 0x48, 0x7f, 0xc4, 0xe0, 0x20, 0x14, 0x8c, 0xae, 0xa0, + 0x11, 0x56, 0x55, 0x01, +}; +static const unsigned char kat3107_retbits[] = { + 0x3d, 0xee, 0x6e, 0x08, 0x4e, 0x75, 0x5a, 0x74, 0xca, 0x61, 0x72, 0x59, + 0x47, 0xe3, 0x62, 0x76, 0xb0, 0x58, 0x7d, 0xdd, 0xb1, 0xee, 0xee, 0x12, + 0x18, 0xaf, 0xef, 0x72, 0xe9, 0xcb, 0x0a, 0xcd, 0xbd, 0x15, 0x8e, 0x8d, + 0xd5, 0x9d, 0x19, 0x7c, 0x40, 0x29, 0x1d, 0x8c, 0x93, 0x0f, 0x27, 0x8a, + 0xe4, 0x83, 0x26, 0x89, 0x62, 0x59, 0x4d, 0x37, 0x5b, 0x84, 0x95, 0x17, + 0x28, 0x79, 0x09, 0xfc, +}; +static const struct drbg_kat_pr_true kat3107_t = { + 1, kat3107_entropyin, kat3107_nonce, kat3107_persstr, + kat3107_entropyinpr1, kat3107_addinpr1, kat3107_entropyinpr2, + kat3107_addinpr2, kat3107_retbits +}; +static const struct drbg_kat kat3107 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3107_t +}; + +static const unsigned char kat3108_entropyin[] = { + 0x8d, 0x2e, 0x8b, 0x6e, 0x09, 0xa4, 0xf9, 0xed, 0xb2, 0xa3, 0x0a, 0xb0, + 0x16, 0x4e, 0xd2, 0x32, +}; +static const unsigned char kat3108_nonce[] = { + 0x6a, 0x8a, 0xe5, 0xf1, 0x5c, 0x0b, 0x4c, 0x21, +}; +static const unsigned char kat3108_persstr[] = { + 0x9b, 0x46, 0x3f, 0x43, 0xb2, 0x0d, 0x3e, 0xc3, 0xf7, 0x8d, 0x28, 0x23, + 0xab, 0xfa, 0x9a, 0x96, +}; +static const unsigned char kat3108_entropyinpr1[] = { + 0xae, 0x78, 0x67, 0xfd, 0xde, 0x84, 0x53, 0xb4, 0x91, 0x3a, 0xcc, 0x8d, + 0x9b, 0xd8, 0x3b, 0x5a, +}; +static const unsigned char kat3108_addinpr1[] = { + 0xaf, 0x24, 0x93, 0x2b, 0x03, 0xd6, 0xbc, 0xb8, 0xe9, 0xa4, 0xc6, 0xb6, + 0x26, 0x72, 0x69, 0x22, +}; +static const unsigned char kat3108_entropyinpr2[] = { + 0xd1, 0x87, 0xf1, 0xa3, 0x19, 0xf8, 0xb0, 0xc5, 0x7d, 0xda, 0x74, 0x37, + 0x96, 0xce, 0x19, 0x72, +}; +static const unsigned char kat3108_addinpr2[] = { + 0x9f, 0x25, 0x72, 0x89, 0x69, 0xa8, 0xd9, 0x0d, 0x68, 0xc6, 0x75, 0x7f, + 0x83, 0x23, 0x12, 0x4e, +}; +static const unsigned char kat3108_retbits[] = { + 0x6e, 0x6f, 0x11, 0x4b, 0xfb, 0xa3, 0x44, 0x8f, 0xa4, 0x71, 0x49, 0xca, + 0x4b, 0x4b, 0x33, 0x44, 0x25, 0x05, 0x4d, 0x5c, 0x52, 0x13, 0xd6, 0xf1, + 0xa5, 0x0b, 0xe0, 0xbd, 0x9c, 0x7b, 0x3a, 0xca, 0xfa, 0x3d, 0xab, 0xe0, + 0x63, 0x3b, 0xe1, 0xb5, 0xa4, 0xbf, 0xea, 0xd8, 0x39, 0xba, 0x7e, 0x5f, + 0x9b, 0x85, 0xe7, 0x09, 0x7d, 0x40, 0x6a, 0x5a, 0xe0, 0x18, 0x02, 0x27, + 0x6b, 0x7b, 0x50, 0x4e, +}; +static const struct drbg_kat_pr_true kat3108_t = { + 2, kat3108_entropyin, kat3108_nonce, kat3108_persstr, + kat3108_entropyinpr1, kat3108_addinpr1, kat3108_entropyinpr2, + kat3108_addinpr2, kat3108_retbits +}; +static const struct drbg_kat kat3108 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3108_t +}; + +static const unsigned char kat3109_entropyin[] = { + 0x67, 0x30, 0x70, 0x48, 0xf5, 0xd5, 0xf8, 0xd6, 0xae, 0x46, 0x50, 0xa8, + 0x62, 0xa4, 0xda, 0xd7, +}; +static const unsigned char kat3109_nonce[] = { + 0xba, 0x44, 0x37, 0xad, 0xab, 0x2d, 0x35, 0x13, +}; +static const unsigned char kat3109_persstr[] = { + 0xfa, 0x94, 0xf6, 0xda, 0x8c, 0x14, 0x98, 0x59, 0xe9, 0xc1, 0x25, 0xd4, + 0x16, 0x1f, 0x22, 0x5f, +}; +static const unsigned char kat3109_entropyinpr1[] = { + 0x78, 0xb6, 0x34, 0x2e, 0x3f, 0x9e, 0xde, 0x53, 0xc2, 0xe1, 0x38, 0xc6, + 0x13, 0xed, 0x6d, 0x7e, +}; +static const unsigned char kat3109_addinpr1[] = { + 0x33, 0x22, 0x64, 0xc6, 0x45, 0x68, 0xea, 0x0f, 0x7a, 0x99, 0xde, 0x15, + 0xdc, 0x7d, 0xa9, 0x84, +}; +static const unsigned char kat3109_entropyinpr2[] = { + 0x48, 0xc6, 0xaa, 0x9c, 0x70, 0x89, 0x2c, 0x56, 0x2d, 0xf5, 0xb2, 0x22, + 0xf2, 0x8d, 0xc0, 0x58, +}; +static const unsigned char kat3109_addinpr2[] = { + 0xa1, 0xba, 0xaf, 0xed, 0xf3, 0xad, 0xce, 0x4b, 0x0d, 0xd9, 0x7a, 0x23, + 0xaa, 0xec, 0x5d, 0xca, +}; +static const unsigned char kat3109_retbits[] = { + 0x73, 0x74, 0xed, 0x4e, 0x08, 0x63, 0x4f, 0x8c, 0xc1, 0x17, 0xe9, 0x05, + 0xb5, 0xc5, 0xb9, 0xbf, 0xe4, 0x9a, 0xc5, 0xc1, 0x47, 0xe5, 0x38, 0x9c, + 0xa1, 0x8f, 0x0a, 0x4c, 0x95, 0x0c, 0x00, 0xd0, 0x39, 0x7d, 0x73, 0xb1, + 0x6d, 0x3d, 0x27, 0xe1, 0x81, 0x6c, 0x1b, 0xf4, 0xd7, 0x25, 0xab, 0xba, + 0x35, 0x61, 0x99, 0x05, 0x99, 0x72, 0x99, 0x83, 0x22, 0x4d, 0x1b, 0x0f, + 0x8f, 0xff, 0x1b, 0x7f, +}; +static const struct drbg_kat_pr_true kat3109_t = { + 3, kat3109_entropyin, kat3109_nonce, kat3109_persstr, + kat3109_entropyinpr1, kat3109_addinpr1, kat3109_entropyinpr2, + kat3109_addinpr2, kat3109_retbits +}; +static const struct drbg_kat kat3109 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3109_t +}; + +static const unsigned char kat3110_entropyin[] = { + 0xa0, 0x10, 0xe8, 0xb9, 0xc4, 0xff, 0x38, 0x0c, 0x65, 0xa7, 0x63, 0x13, + 0x69, 0x4e, 0x40, 0x87, +}; +static const unsigned char kat3110_nonce[] = { + 0xde, 0x80, 0x0f, 0x31, 0xe8, 0x01, 0xd0, 0xbf, +}; +static const unsigned char kat3110_persstr[] = { + 0x79, 0x96, 0x0b, 0x78, 0x57, 0xc8, 0x0e, 0xb3, 0x71, 0x13, 0xd5, 0xdf, + 0x7a, 0x2f, 0x9d, 0x34, +}; +static const unsigned char kat3110_entropyinpr1[] = { + 0x0b, 0xb7, 0xe4, 0x0a, 0xeb, 0xec, 0xad, 0x3e, 0x23, 0x8d, 0x5e, 0xc1, + 0x65, 0x7b, 0x06, 0x71, +}; +static const unsigned char kat3110_addinpr1[] = { + 0x81, 0x10, 0x91, 0x2e, 0x9a, 0x54, 0x55, 0x7b, 0xcb, 0xf4, 0xe6, 0x9c, + 0xdf, 0x89, 0x51, 0x35, +}; +static const unsigned char kat3110_entropyinpr2[] = { + 0xd2, 0x42, 0xc9, 0x6f, 0x8d, 0x8b, 0x3b, 0x18, 0xf6, 0x9d, 0xec, 0xd1, + 0xf0, 0x08, 0xb4, 0xc5, +}; +static const unsigned char kat3110_addinpr2[] = { + 0x7a, 0x87, 0xc1, 0xa2, 0xde, 0x26, 0xd4, 0xd8, 0x35, 0x8a, 0x07, 0x59, + 0xd7, 0xa2, 0xe2, 0x04, +}; +static const unsigned char kat3110_retbits[] = { + 0x1d, 0x29, 0x69, 0xb2, 0xe3, 0xee, 0x29, 0x29, 0x04, 0x0c, 0xd4, 0xf4, + 0x03, 0x1f, 0x4f, 0x96, 0xda, 0x23, 0x18, 0xee, 0x10, 0x81, 0xdc, 0x43, + 0x5f, 0x76, 0x55, 0x4d, 0x0f, 0xf7, 0x19, 0xdd, 0x6f, 0x5a, 0x92, 0xb3, + 0xde, 0x94, 0xb0, 0x9f, 0xf5, 0x77, 0x8c, 0x25, 0xe3, 0xdb, 0xca, 0xee, + 0x51, 0xd9, 0x33, 0xa3, 0xa6, 0xa4, 0x06, 0xd1, 0x2e, 0x3a, 0xb3, 0xc3, + 0xd9, 0x17, 0x40, 0x3e, +}; +static const struct drbg_kat_pr_true kat3110_t = { + 4, kat3110_entropyin, kat3110_nonce, kat3110_persstr, + kat3110_entropyinpr1, kat3110_addinpr1, kat3110_entropyinpr2, + kat3110_addinpr2, kat3110_retbits +}; +static const struct drbg_kat kat3110 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3110_t +}; + +static const unsigned char kat3111_entropyin[] = { + 0x55, 0xff, 0x77, 0xe5, 0x59, 0x6f, 0x57, 0xa0, 0xe7, 0xa0, 0x01, 0x71, + 0x6c, 0xd7, 0xa5, 0x4e, +}; +static const unsigned char kat3111_nonce[] = { + 0x9e, 0x2a, 0x85, 0xe9, 0xdf, 0x7c, 0xc2, 0xe0, +}; +static const unsigned char kat3111_persstr[] = { + 0x8d, 0xa4, 0x5c, 0xb7, 0xdb, 0x5d, 0x84, 0xb7, 0x52, 0x1b, 0x38, 0x39, + 0xfb, 0x33, 0x99, 0x82, +}; +static const unsigned char kat3111_entropyinpr1[] = { + 0x3d, 0xce, 0x58, 0xc8, 0x8c, 0x83, 0xa5, 0x95, 0x39, 0xff, 0xb3, 0x8a, + 0x7a, 0x44, 0xf3, 0x07, +}; +static const unsigned char kat3111_addinpr1[] = { + 0x4b, 0xe5, 0xde, 0xe6, 0x7a, 0x76, 0xb7, 0x31, 0x16, 0xa3, 0xfd, 0x87, + 0x6f, 0x5d, 0x23, 0x54, +}; +static const unsigned char kat3111_entropyinpr2[] = { + 0x97, 0xa7, 0x19, 0x0a, 0xf9, 0x68, 0x91, 0x9e, 0x57, 0xea, 0x16, 0x7a, + 0x26, 0xff, 0xab, 0xbc, +}; +static const unsigned char kat3111_addinpr2[] = { + 0x9e, 0x74, 0x4a, 0x9b, 0xed, 0x67, 0xb5, 0x0c, 0x8f, 0x2e, 0x45, 0x81, + 0x57, 0x42, 0xd1, 0x1d, +}; +static const unsigned char kat3111_retbits[] = { + 0x36, 0x80, 0xcc, 0x48, 0x19, 0x50, 0xe2, 0x95, 0x12, 0xaf, 0xab, 0x38, + 0x8b, 0x5a, 0x9b, 0xbb, 0xa7, 0xff, 0x80, 0x0c, 0xa7, 0xbf, 0x3b, 0x2d, + 0x90, 0x1a, 0x4e, 0xce, 0xf7, 0xea, 0xdb, 0xa0, 0x78, 0xcf, 0xa0, 0x3a, + 0xa0, 0xd5, 0xbb, 0x13, 0x3c, 0x09, 0xcb, 0xd3, 0x0a, 0xd7, 0x8b, 0x99, + 0x9d, 0x27, 0x49, 0x05, 0x14, 0xb9, 0x5e, 0x4b, 0x8b, 0xdd, 0x75, 0xc9, + 0x86, 0xc4, 0x2f, 0x8d, +}; +static const struct drbg_kat_pr_true kat3111_t = { + 5, kat3111_entropyin, kat3111_nonce, kat3111_persstr, + kat3111_entropyinpr1, kat3111_addinpr1, kat3111_entropyinpr2, + kat3111_addinpr2, kat3111_retbits +}; +static const struct drbg_kat kat3111 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3111_t +}; + +static const unsigned char kat3112_entropyin[] = { + 0x24, 0x13, 0x80, 0xaf, 0xe3, 0x1b, 0x6b, 0x2a, 0xc7, 0xb2, 0xb2, 0xf5, + 0x3f, 0x6f, 0xc6, 0xc6, +}; +static const unsigned char kat3112_nonce[] = { + 0xd8, 0xaf, 0x32, 0xbe, 0x1c, 0x92, 0x04, 0x99, +}; +static const unsigned char kat3112_persstr[] = { + 0x2e, 0x4c, 0x73, 0x20, 0x34, 0x26, 0x95, 0xba, 0x11, 0x91, 0x20, 0x2e, + 0x9e, 0x9f, 0x48, 0xca, +}; +static const unsigned char kat3112_entropyinpr1[] = { + 0x22, 0x52, 0xd6, 0x95, 0xc1, 0xc4, 0xb0, 0x4d, 0x58, 0x00, 0x91, 0x45, + 0x1d, 0xc0, 0xf2, 0x0c, +}; +static const unsigned char kat3112_addinpr1[] = { + 0xe5, 0x4b, 0x05, 0xe1, 0x31, 0xe9, 0x44, 0x76, 0xb7, 0x07, 0xed, 0xdf, + 0xb3, 0xb0, 0xfe, 0x54, +}; +static const unsigned char kat3112_entropyinpr2[] = { + 0x0a, 0x7a, 0x85, 0xc1, 0x6b, 0xfa, 0x0f, 0xc8, 0x3e, 0x2f, 0x2a, 0xfb, + 0x74, 0xde, 0x87, 0x69, +}; +static const unsigned char kat3112_addinpr2[] = { + 0x0f, 0xbe, 0x36, 0xbd, 0x84, 0x8c, 0x75, 0x21, 0x87, 0x22, 0xb4, 0x20, + 0x48, 0xc7, 0xc8, 0x14, +}; +static const unsigned char kat3112_retbits[] = { + 0x01, 0x29, 0x72, 0x26, 0x12, 0xd6, 0xcf, 0xda, 0x1b, 0x46, 0x4d, 0x31, + 0x8f, 0x1e, 0x90, 0x9a, 0xd1, 0x7b, 0x97, 0x88, 0x2f, 0xb7, 0xa5, 0x0e, + 0x08, 0x9d, 0x47, 0x16, 0x31, 0x6f, 0x6c, 0xb9, 0x46, 0x13, 0x99, 0x20, + 0xb6, 0xa8, 0x3e, 0x17, 0x2b, 0x9e, 0x53, 0x1c, 0xc9, 0x29, 0x8b, 0x9d, + 0x31, 0x1e, 0x3b, 0x00, 0xb7, 0x6c, 0xfa, 0xc0, 0x80, 0x22, 0x04, 0x90, + 0x26, 0x51, 0x6c, 0x12, +}; +static const struct drbg_kat_pr_true kat3112_t = { + 6, kat3112_entropyin, kat3112_nonce, kat3112_persstr, + kat3112_entropyinpr1, kat3112_addinpr1, kat3112_entropyinpr2, + kat3112_addinpr2, kat3112_retbits +}; +static const struct drbg_kat kat3112 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3112_t +}; + +static const unsigned char kat3113_entropyin[] = { + 0xcb, 0x56, 0x95, 0xc6, 0xbb, 0xe3, 0x72, 0x9a, 0x61, 0xcc, 0x6f, 0xca, + 0xed, 0x75, 0x3f, 0xb2, +}; +static const unsigned char kat3113_nonce[] = { + 0x7f, 0xaa, 0x98, 0x34, 0x14, 0x9b, 0xba, 0x80, +}; +static const unsigned char kat3113_persstr[] = { + 0xcd, 0xfb, 0x8f, 0x29, 0x35, 0xcc, 0x92, 0x39, 0xc5, 0x8d, 0x60, 0xbb, + 0x18, 0x03, 0x26, 0x45, +}; +static const unsigned char kat3113_entropyinpr1[] = { + 0x8e, 0x55, 0xaa, 0xfc, 0x86, 0xdd, 0x45, 0x2e, 0x10, 0x2a, 0x58, 0xee, + 0xac, 0xbb, 0xde, 0xa1, +}; +static const unsigned char kat3113_addinpr1[] = { + 0x72, 0xaf, 0x1a, 0xdc, 0x55, 0x2d, 0xbb, 0x13, 0x10, 0x2d, 0x7c, 0x4c, + 0x73, 0x82, 0x55, 0x87, +}; +static const unsigned char kat3113_entropyinpr2[] = { + 0x25, 0x5c, 0x04, 0x48, 0x27, 0xcf, 0x7c, 0xd9, 0xf6, 0x3f, 0x41, 0xb5, + 0x86, 0x27, 0x87, 0x5e, +}; +static const unsigned char kat3113_addinpr2[] = { + 0x24, 0xb9, 0xb7, 0x3e, 0x54, 0x48, 0xcf, 0x2f, 0x7c, 0xa4, 0x77, 0xce, + 0x81, 0x2a, 0xc3, 0x20, +}; +static const unsigned char kat3113_retbits[] = { + 0x65, 0xc2, 0xa9, 0x05, 0x48, 0x6e, 0xa8, 0x03, 0x4d, 0xf6, 0xbe, 0xe8, + 0x0f, 0xb8, 0x31, 0xbb, 0x23, 0x72, 0x62, 0xaa, 0x40, 0x57, 0x45, 0x08, + 0xdd, 0x83, 0x33, 0x3f, 0x6a, 0xcd, 0x12, 0x93, 0x65, 0xf1, 0xbf, 0x4c, + 0xd7, 0x94, 0x5e, 0xb8, 0xbf, 0xe2, 0x23, 0x94, 0xea, 0x44, 0xaf, 0x2d, + 0x10, 0x1f, 0xc1, 0x5a, 0xc2, 0x2d, 0x32, 0xc4, 0x14, 0xe2, 0x0a, 0x1a, + 0x9c, 0x4f, 0xfa, 0x9a, +}; +static const struct drbg_kat_pr_true kat3113_t = { + 7, kat3113_entropyin, kat3113_nonce, kat3113_persstr, + kat3113_entropyinpr1, kat3113_addinpr1, kat3113_entropyinpr2, + kat3113_addinpr2, kat3113_retbits +}; +static const struct drbg_kat kat3113 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3113_t +}; + +static const unsigned char kat3114_entropyin[] = { + 0x59, 0xd4, 0x08, 0xad, 0x23, 0x4d, 0x63, 0x58, 0x6e, 0x58, 0xe4, 0x14, + 0x7e, 0xbc, 0xa3, 0x73, +}; +static const unsigned char kat3114_nonce[] = { + 0x02, 0xe0, 0x30, 0xc3, 0xab, 0xa4, 0x43, 0x2c, +}; +static const unsigned char kat3114_persstr[] = { + 0x39, 0x54, 0xd0, 0xdf, 0x1a, 0xdb, 0x67, 0xda, 0x76, 0x96, 0xe9, 0x5e, + 0x57, 0x26, 0x06, 0xd2, +}; +static const unsigned char kat3114_entropyinpr1[] = { + 0xc0, 0x9d, 0x05, 0x93, 0x8e, 0xba, 0x84, 0x50, 0x1c, 0xa0, 0x77, 0xaa, + 0xfd, 0xb3, 0x62, 0xc7, +}; +static const unsigned char kat3114_addinpr1[] = { + 0xcf, 0x72, 0x65, 0x64, 0x45, 0xad, 0x7d, 0xb0, 0x6e, 0x39, 0x25, 0x7a, + 0x99, 0xba, 0x62, 0xaf, +}; +static const unsigned char kat3114_entropyinpr2[] = { + 0x93, 0xdf, 0x31, 0xc4, 0x3c, 0x5c, 0xef, 0xb2, 0xda, 0xb7, 0xb3, 0xa7, + 0xce, 0xe5, 0x27, 0xb8, +}; +static const unsigned char kat3114_addinpr2[] = { + 0x3e, 0x0b, 0xac, 0x93, 0x6e, 0xf5, 0x2a, 0xe7, 0xcd, 0x74, 0x22, 0xf0, + 0x96, 0x48, 0xb9, 0x7b, +}; +static const unsigned char kat3114_retbits[] = { + 0xbd, 0xe7, 0x9b, 0x68, 0x63, 0x1e, 0x05, 0xe4, 0xbc, 0x40, 0x4b, 0x29, + 0x50, 0x82, 0xe8, 0xf3, 0x21, 0x06, 0x80, 0xfb, 0xb3, 0x30, 0x0f, 0xe7, + 0xc0, 0xda, 0xc7, 0x89, 0xe1, 0xb0, 0x75, 0x10, 0x58, 0xec, 0xfe, 0x5b, + 0xc0, 0xde, 0xe6, 0x50, 0x08, 0x18, 0xd1, 0xac, 0x8b, 0xf3, 0x0e, 0x9d, + 0x0b, 0xc0, 0x71, 0xc9, 0x15, 0xf4, 0xbe, 0x4e, 0x12, 0x49, 0xee, 0xcb, + 0xb0, 0x3d, 0xd5, 0xf5, +}; +static const struct drbg_kat_pr_true kat3114_t = { + 8, kat3114_entropyin, kat3114_nonce, kat3114_persstr, + kat3114_entropyinpr1, kat3114_addinpr1, kat3114_entropyinpr2, + kat3114_addinpr2, kat3114_retbits +}; +static const struct drbg_kat kat3114 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3114_t +}; + +static const unsigned char kat3115_entropyin[] = { + 0xf5, 0x43, 0xf7, 0x25, 0x21, 0x37, 0xe0, 0x9c, 0x92, 0xf2, 0xaa, 0xff, + 0x79, 0x5f, 0xb4, 0x3a, +}; +static const unsigned char kat3115_nonce[] = { + 0xe4, 0xfa, 0x00, 0x7f, 0xfb, 0x7e, 0x72, 0xf7, +}; +static const unsigned char kat3115_persstr[] = { + 0xfd, 0xbe, 0xcc, 0x9d, 0xe4, 0x01, 0x0f, 0xb7, 0x6e, 0xa9, 0x65, 0x0e, + 0x32, 0x62, 0xa2, 0x2e, +}; +static const unsigned char kat3115_entropyinpr1[] = { + 0xad, 0x2a, 0xce, 0x18, 0x3e, 0x9a, 0x14, 0xa0, 0x76, 0x91, 0x56, 0x1d, + 0x29, 0x26, 0x87, 0x8d, +}; +static const unsigned char kat3115_addinpr1[] = { + 0x2d, 0x94, 0x1a, 0x3a, 0x24, 0x9c, 0x8c, 0x41, 0xcc, 0x2e, 0x1f, 0x70, + 0x28, 0x43, 0xc5, 0x79, +}; +static const unsigned char kat3115_entropyinpr2[] = { + 0x3c, 0xf3, 0xd7, 0xcf, 0x44, 0x2d, 0x2e, 0x58, 0x35, 0x48, 0x7a, 0x41, + 0xb7, 0xb8, 0x71, 0x6c, +}; +static const unsigned char kat3115_addinpr2[] = { + 0x45, 0x22, 0xba, 0xa1, 0x30, 0xcc, 0xa0, 0x56, 0x42, 0x51, 0xee, 0xd3, + 0x32, 0xbf, 0x28, 0xeb, +}; +static const unsigned char kat3115_retbits[] = { + 0xa9, 0x5e, 0xf0, 0x89, 0xa7, 0xe6, 0xda, 0xdc, 0x1b, 0xdd, 0xe1, 0xd0, + 0x0a, 0x73, 0x22, 0xca, 0xb2, 0x27, 0x9b, 0xdb, 0x0e, 0x96, 0xe1, 0xf5, + 0x16, 0x75, 0x93, 0x00, 0x2f, 0x18, 0x4f, 0xb9, 0x2d, 0x9a, 0xcd, 0x23, + 0x64, 0x3e, 0x76, 0x67, 0xa5, 0x0f, 0xc3, 0xee, 0xe7, 0xf8, 0x8f, 0xd7, + 0xda, 0xd9, 0xd8, 0xe4, 0xa2, 0x1e, 0x82, 0xd9, 0xe3, 0xfe, 0xdf, 0x89, + 0xd7, 0x29, 0xee, 0x07, +}; +static const struct drbg_kat_pr_true kat3115_t = { + 9, kat3115_entropyin, kat3115_nonce, kat3115_persstr, + kat3115_entropyinpr1, kat3115_addinpr1, kat3115_entropyinpr2, + kat3115_addinpr2, kat3115_retbits +}; +static const struct drbg_kat kat3115 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3115_t +}; + +static const unsigned char kat3116_entropyin[] = { + 0x00, 0xe0, 0x56, 0xe4, 0xcb, 0x14, 0x4d, 0x2b, 0x97, 0x8a, 0xdc, 0x69, + 0xe3, 0xba, 0x32, 0x03, +}; +static const unsigned char kat3116_nonce[] = { + 0xbc, 0xb5, 0x11, 0x2e, 0xaf, 0x9a, 0xf9, 0xc0, +}; +static const unsigned char kat3116_persstr[] = { + 0x42, 0xb7, 0xe8, 0x69, 0x7e, 0x91, 0xec, 0x6d, 0xb8, 0x46, 0x31, 0xcf, + 0xcb, 0xf8, 0x3e, 0x07, +}; +static const unsigned char kat3116_entropyinpr1[] = { + 0x86, 0xf6, 0xfb, 0x16, 0x93, 0x9e, 0x2d, 0x32, 0xc1, 0xef, 0x6b, 0x93, + 0xbc, 0x41, 0x8a, 0x7d, +}; +static const unsigned char kat3116_addinpr1[] = { + 0x29, 0x59, 0xc2, 0x00, 0xc5, 0x2c, 0x0c, 0x4d, 0x94, 0xba, 0xd6, 0x13, + 0x11, 0xc1, 0x0e, 0x32, +}; +static const unsigned char kat3116_entropyinpr2[] = { + 0x88, 0x8f, 0x04, 0xe4, 0x1f, 0x79, 0x4a, 0x4b, 0x0c, 0x9e, 0xa8, 0x05, + 0x38, 0xcb, 0x3e, 0x89, +}; +static const unsigned char kat3116_addinpr2[] = { + 0x96, 0xf8, 0x12, 0xe9, 0xcb, 0xd5, 0x60, 0xd1, 0x16, 0xd3, 0x1d, 0x27, + 0xfb, 0x85, 0xbc, 0xa0, +}; +static const unsigned char kat3116_retbits[] = { + 0xc8, 0x5d, 0xad, 0x45, 0xfa, 0x30, 0xc3, 0xb0, 0x62, 0x09, 0x19, 0x66, + 0x95, 0x4b, 0x07, 0xcc, 0xd8, 0xd5, 0x5b, 0xd6, 0xf1, 0x63, 0x31, 0x2b, + 0x1c, 0xe7, 0xa7, 0x2d, 0x81, 0x92, 0x60, 0x1c, 0x5b, 0x4d, 0x82, 0x71, + 0x75, 0xbc, 0x82, 0x6e, 0x92, 0x30, 0x45, 0x9e, 0xf2, 0x12, 0x6a, 0xf6, + 0x11, 0xe9, 0x27, 0x96, 0x66, 0xa3, 0xeb, 0xf0, 0x38, 0x28, 0x1a, 0xd2, + 0xab, 0x32, 0x5d, 0xab, +}; +static const struct drbg_kat_pr_true kat3116_t = { + 10, kat3116_entropyin, kat3116_nonce, kat3116_persstr, + kat3116_entropyinpr1, kat3116_addinpr1, kat3116_entropyinpr2, + kat3116_addinpr2, kat3116_retbits +}; +static const struct drbg_kat kat3116 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3116_t +}; + +static const unsigned char kat3117_entropyin[] = { + 0x32, 0x18, 0x75, 0x4e, 0x66, 0xd9, 0x9b, 0x53, 0x99, 0xd4, 0x78, 0x7e, + 0x71, 0x95, 0xe0, 0x4d, +}; +static const unsigned char kat3117_nonce[] = { + 0xd9, 0x2c, 0x5a, 0xd8, 0x98, 0xde, 0xb2, 0x23, +}; +static const unsigned char kat3117_persstr[] = { + 0x7a, 0xfc, 0xf9, 0x15, 0x48, 0xe9, 0x46, 0x3a, 0x2a, 0x65, 0xfe, 0xa9, + 0x84, 0x1c, 0xa6, 0x57, +}; +static const unsigned char kat3117_entropyinpr1[] = { + 0x5a, 0x74, 0xc6, 0x78, 0xe0, 0x5b, 0xee, 0xb3, 0x15, 0x1f, 0x7f, 0x67, + 0x73, 0x69, 0x45, 0x81, +}; +static const unsigned char kat3117_addinpr1[] = { + 0xfc, 0xf7, 0x2d, 0xbc, 0x3a, 0xb5, 0x84, 0xe4, 0x9d, 0x3b, 0x51, 0xfb, + 0x04, 0xa5, 0x14, 0xad, +}; +static const unsigned char kat3117_entropyinpr2[] = { + 0xc9, 0x9f, 0x69, 0xa0, 0x50, 0xde, 0x0d, 0x9b, 0x1b, 0x5d, 0xc4, 0xb5, + 0xed, 0x78, 0xa3, 0x91, +}; +static const unsigned char kat3117_addinpr2[] = { + 0xf0, 0x77, 0x86, 0x45, 0xb1, 0x69, 0x85, 0x73, 0xad, 0x80, 0xcf, 0x03, + 0xf2, 0x27, 0x47, 0x00, +}; +static const unsigned char kat3117_retbits[] = { + 0x59, 0x47, 0xef, 0xb9, 0x9b, 0xf6, 0xfa, 0x94, 0xc2, 0x68, 0x17, 0x92, + 0xb0, 0x4e, 0x3c, 0x71, 0xe2, 0x12, 0x45, 0x41, 0xff, 0x94, 0x7a, 0x8d, + 0x1a, 0x97, 0x5e, 0xbc, 0x96, 0xc4, 0x8d, 0x3d, 0x41, 0x62, 0x52, 0x39, + 0x4c, 0x1e, 0x3b, 0x0b, 0x88, 0x7e, 0x8e, 0xee, 0x5e, 0x98, 0xa8, 0xab, + 0x37, 0x8a, 0x06, 0x54, 0xe3, 0xf8, 0xbd, 0x39, 0xcc, 0x95, 0x53, 0xda, + 0x78, 0xfa, 0x8f, 0x30, +}; +static const struct drbg_kat_pr_true kat3117_t = { + 11, kat3117_entropyin, kat3117_nonce, kat3117_persstr, + kat3117_entropyinpr1, kat3117_addinpr1, kat3117_entropyinpr2, + kat3117_addinpr2, kat3117_retbits +}; +static const struct drbg_kat kat3117 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3117_t +}; + +static const unsigned char kat3118_entropyin[] = { + 0x20, 0x3d, 0x5b, 0xfd, 0x37, 0x1a, 0x09, 0x6f, 0xca, 0x57, 0x4c, 0x80, + 0x7e, 0x0d, 0x65, 0xc6, +}; +static const unsigned char kat3118_nonce[] = { + 0xe0, 0xc5, 0xf9, 0xd1, 0x4a, 0x7a, 0x63, 0x51, +}; +static const unsigned char kat3118_persstr[] = { + 0x24, 0x69, 0xb3, 0xbc, 0xbd, 0xb5, 0x72, 0x21, 0xbe, 0x63, 0xaf, 0x19, + 0x41, 0xcd, 0xa3, 0x12, +}; +static const unsigned char kat3118_entropyinpr1[] = { + 0xa9, 0x76, 0xcb, 0x0b, 0x5b, 0xa5, 0x57, 0xcb, 0x5a, 0xac, 0x80, 0x63, + 0xe9, 0x88, 0x41, 0xb4, +}; +static const unsigned char kat3118_addinpr1[] = { + 0xf1, 0x7f, 0x6e, 0x4e, 0xe9, 0xfd, 0xd8, 0x27, 0x60, 0x62, 0xd0, 0x82, + 0x3d, 0x2a, 0x74, 0x69, +}; +static const unsigned char kat3118_entropyinpr2[] = { + 0xf5, 0x01, 0xc8, 0xfb, 0x64, 0x53, 0xeb, 0xcd, 0xe6, 0x32, 0xf8, 0x26, + 0x44, 0x18, 0x89, 0xc5, +}; +static const unsigned char kat3118_addinpr2[] = { + 0x27, 0xa9, 0x98, 0xbd, 0xcc, 0x1d, 0x39, 0xbd, 0x28, 0x3e, 0x70, 0xca, + 0x53, 0x44, 0xc7, 0x1e, +}; +static const unsigned char kat3118_retbits[] = { + 0x24, 0x29, 0x7f, 0x68, 0x97, 0xb4, 0x4c, 0x93, 0x74, 0x45, 0x0a, 0xd5, + 0x8c, 0x6d, 0x2c, 0xfb, 0xed, 0x7c, 0x41, 0x23, 0x2f, 0x7e, 0x34, 0x1a, + 0xc8, 0xcc, 0x39, 0xef, 0xa6, 0x76, 0x34, 0xb4, 0xeb, 0x69, 0xcc, 0x33, + 0x97, 0xd6, 0xb7, 0x63, 0x72, 0x10, 0xc9, 0xa6, 0xb4, 0x9e, 0x68, 0xee, + 0xe2, 0xb8, 0x73, 0x45, 0x26, 0x97, 0xc1, 0x27, 0xfd, 0xc1, 0x6a, 0xf4, + 0x34, 0x92, 0xe4, 0xd7, +}; +static const struct drbg_kat_pr_true kat3118_t = { + 12, kat3118_entropyin, kat3118_nonce, kat3118_persstr, + kat3118_entropyinpr1, kat3118_addinpr1, kat3118_entropyinpr2, + kat3118_addinpr2, kat3118_retbits +}; +static const struct drbg_kat kat3118 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3118_t +}; + +static const unsigned char kat3119_entropyin[] = { + 0x41, 0x5a, 0xf3, 0x56, 0x5e, 0xd0, 0x24, 0x8d, 0x47, 0x9c, 0x05, 0x73, + 0xff, 0xc7, 0x87, 0x12, +}; +static const unsigned char kat3119_nonce[] = { + 0xc3, 0x58, 0xaf, 0x5d, 0x8f, 0x88, 0x31, 0x0f, +}; +static const unsigned char kat3119_persstr[] = { + 0x87, 0x2d, 0xe4, 0x75, 0x34, 0x55, 0xc2, 0x5b, 0xca, 0x99, 0xf4, 0x44, + 0x01, 0xfa, 0x54, 0xf6, +}; +static const unsigned char kat3119_entropyinpr1[] = { + 0x9c, 0x56, 0xbe, 0x08, 0xb8, 0x0d, 0x57, 0x2b, 0xbf, 0x54, 0xc8, 0x7c, + 0x37, 0x7f, 0x7c, 0xca, +}; +static const unsigned char kat3119_addinpr1[] = { + 0xa9, 0x8a, 0xbd, 0xf5, 0xf6, 0xf3, 0xca, 0x8a, 0xa0, 0x6c, 0xa3, 0x1f, + 0xcd, 0xda, 0x3b, 0xc0, +}; +static const unsigned char kat3119_entropyinpr2[] = { + 0x46, 0x76, 0x2d, 0x59, 0xdc, 0xda, 0x4b, 0x00, 0x6e, 0x23, 0x22, 0x04, + 0x1c, 0xdd, 0x82, 0x13, +}; +static const unsigned char kat3119_addinpr2[] = { + 0xb1, 0x52, 0x49, 0x0c, 0x64, 0x4a, 0xac, 0x09, 0x07, 0x24, 0x9a, 0xe3, + 0x72, 0xb5, 0x47, 0x06, +}; +static const unsigned char kat3119_retbits[] = { + 0x61, 0x85, 0xd9, 0xdb, 0x80, 0x31, 0x7f, 0xc9, 0x18, 0xca, 0xdb, 0x6b, + 0x0d, 0x60, 0xf0, 0x18, 0x46, 0xfb, 0xbf, 0xe2, 0x61, 0x3b, 0x2b, 0xef, + 0xb5, 0x11, 0xc0, 0xa3, 0x62, 0xcc, 0x5a, 0x89, 0xe7, 0xd0, 0xd7, 0x9f, + 0xaa, 0xec, 0xe3, 0x73, 0xbc, 0x7f, 0xc4, 0x3b, 0x52, 0xda, 0x15, 0x85, + 0xfa, 0xef, 0xcf, 0x93, 0xe9, 0x65, 0xbf, 0x3d, 0xd3, 0x53, 0xf0, 0x88, + 0x69, 0x38, 0xd7, 0x93, +}; +static const struct drbg_kat_pr_true kat3119_t = { + 13, kat3119_entropyin, kat3119_nonce, kat3119_persstr, + kat3119_entropyinpr1, kat3119_addinpr1, kat3119_entropyinpr2, + kat3119_addinpr2, kat3119_retbits +}; +static const struct drbg_kat kat3119 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3119_t +}; + +static const unsigned char kat3120_entropyin[] = { + 0xa4, 0xfc, 0x2e, 0xde, 0x2f, 0xe7, 0x20, 0xdc, 0xe6, 0x44, 0xd1, 0x5d, + 0x3f, 0xbf, 0x2e, 0x68, +}; +static const unsigned char kat3120_nonce[] = { + 0x43, 0x80, 0xd3, 0xc2, 0x72, 0x61, 0x2f, 0xf3, +}; +static const unsigned char kat3120_persstr[] = { + 0x69, 0x33, 0x1b, 0x36, 0x74, 0x33, 0x09, 0xd3, 0x24, 0x06, 0x69, 0xd2, + 0x50, 0x4c, 0x21, 0x0f, +}; +static const unsigned char kat3120_entropyinpr1[] = { + 0x3e, 0xac, 0xb6, 0x2d, 0x89, 0x27, 0x9b, 0x1e, 0x4c, 0x3d, 0xdd, 0xba, + 0x05, 0xb2, 0xf0, 0xef, +}; +static const unsigned char kat3120_addinpr1[] = { + 0x01, 0xb7, 0x5e, 0x68, 0xb2, 0x86, 0xe0, 0x9c, 0x19, 0xaa, 0xea, 0x8b, + 0x35, 0x4f, 0x97, 0xb4, +}; +static const unsigned char kat3120_entropyinpr2[] = { + 0x68, 0x4d, 0x8b, 0x39, 0xe8, 0xbd, 0x42, 0xbe, 0x60, 0xb4, 0x37, 0x8e, + 0xd2, 0xc7, 0xca, 0x77, +}; +static const unsigned char kat3120_addinpr2[] = { + 0x83, 0x2f, 0x01, 0xeb, 0x65, 0x16, 0xae, 0x5c, 0x19, 0x42, 0x21, 0x0a, + 0x95, 0xa2, 0x41, 0xee, +}; +static const unsigned char kat3120_retbits[] = { + 0x45, 0x08, 0xa1, 0xc4, 0xb1, 0xb2, 0x19, 0xa6, 0x64, 0x75, 0xf6, 0x94, + 0xcc, 0xe1, 0xea, 0x04, 0xa8, 0x98, 0x59, 0x9b, 0x2d, 0xbc, 0xca, 0xf7, + 0xb8, 0xdc, 0x00, 0xd5, 0x53, 0xe1, 0x35, 0x5d, 0x59, 0x1f, 0xd9, 0x9c, + 0x5a, 0x57, 0x5b, 0x40, 0xd1, 0x84, 0x7e, 0xaf, 0x99, 0x90, 0x6d, 0x52, + 0xd3, 0xc8, 0xcc, 0xef, 0xea, 0x0d, 0x17, 0x5e, 0x58, 0x65, 0x05, 0x94, + 0xb2, 0x08, 0xaa, 0xa4, +}; +static const struct drbg_kat_pr_true kat3120_t = { + 14, kat3120_entropyin, kat3120_nonce, kat3120_persstr, + kat3120_entropyinpr1, kat3120_addinpr1, kat3120_entropyinpr2, + kat3120_addinpr2, kat3120_retbits +}; +static const struct drbg_kat kat3120 = { + PR_TRUE, USE_DF, NID_aes_128_ctr, 16, 8, 16, 16, 64, &kat3120_t +}; + +static const unsigned char kat3121_entropyin[] = { + 0x96, 0x5f, 0xa6, 0xa2, 0xc4, 0x00, 0x9c, 0x04, 0x5c, 0xff, 0x72, 0x8f, + 0x24, 0x42, 0x38, 0x26, 0x25, 0x08, 0xbf, 0x00, 0x8d, 0xcc, 0xef, 0x30, +}; +static const unsigned char kat3121_nonce[] = { + 0x1d, 0x22, 0x59, 0x1b, 0x09, 0x78, 0x73, 0xd1, 0x24, 0xc3, 0xf8, 0xc4, + 0x08, 0xf8, 0x91, 0x61, +}; +static const unsigned char kat3121_persstr[] = {0}; +static const unsigned char kat3121_entropyinpr1[] = { + 0x97, 0x18, 0xb8, 0x80, 0x42, 0xa4, 0xb6, 0x07, 0x67, 0xca, 0xe0, 0xff, + 0xc7, 0x97, 0xe6, 0x88, 0xb0, 0xfe, 0x38, 0x19, 0xdb, 0x2a, 0x4b, 0xcb, +}; +static const unsigned char kat3121_addinpr1[] = {0}; +static const unsigned char kat3121_entropyinpr2[] = { + 0x73, 0xe3, 0xf0, 0xfd, 0xf3, 0x80, 0xe5, 0xe6, 0x12, 0x6f, 0xf9, 0xf3, + 0xad, 0xb3, 0x4f, 0xf5, 0xbc, 0xc4, 0x5f, 0xba, 0x0c, 0xe1, 0xd2, 0x48, +}; +static const unsigned char kat3121_addinpr2[] = {0}; +static const unsigned char kat3121_retbits[] = { + 0x90, 0x9f, 0xd2, 0xc9, 0x71, 0x92, 0x1c, 0x77, 0x32, 0x2e, 0x1d, 0xf2, + 0x73, 0xa0, 0x7d, 0x19, 0xf5, 0x27, 0x13, 0x3e, 0x56, 0xa9, 0xbe, 0x38, + 0x8c, 0x29, 0x8c, 0xa6, 0x83, 0x08, 0x73, 0xd1, 0xe8, 0x47, 0xb8, 0xcc, + 0x65, 0x4d, 0xd3, 0xc5, 0x7c, 0x1c, 0x8b, 0x25, 0xfd, 0x39, 0x09, 0xbe, + 0x84, 0x7c, 0x1a, 0x28, 0x11, 0x08, 0x94, 0x0f, 0xe7, 0xf0, 0x6d, 0x9d, + 0xb6, 0x0a, 0xd7, 0xb4, +}; +static const struct drbg_kat_pr_true kat3121_t = { + 0, kat3121_entropyin, kat3121_nonce, kat3121_persstr, + kat3121_entropyinpr1, kat3121_addinpr1, kat3121_entropyinpr2, + kat3121_addinpr2, kat3121_retbits +}; +static const struct drbg_kat kat3121 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3121_t +}; + +static const unsigned char kat3122_entropyin[] = { + 0x83, 0x50, 0x65, 0xd5, 0x87, 0x3f, 0xd0, 0x6b, 0x45, 0x03, 0x14, 0x3a, + 0xba, 0xe0, 0x5a, 0x3e, 0xde, 0x86, 0xec, 0xa3, 0x22, 0xe9, 0xc4, 0x32, +}; +static const unsigned char kat3122_nonce[] = { + 0xc1, 0x18, 0x31, 0x67, 0x10, 0x41, 0x13, 0x76, 0xe3, 0xa3, 0x4c, 0x97, + 0x15, 0x60, 0x8a, 0xf3, +}; +static const unsigned char kat3122_persstr[] = {0}; +static const unsigned char kat3122_entropyinpr1[] = { + 0xc4, 0xff, 0x67, 0xa7, 0x4c, 0xe7, 0xb1, 0xab, 0xb6, 0x87, 0x41, 0xfa, + 0xc6, 0x0f, 0x38, 0x18, 0x3a, 0xed, 0x11, 0x12, 0xc8, 0xe8, 0x59, 0xc0, +}; +static const unsigned char kat3122_addinpr1[] = {0}; +static const unsigned char kat3122_entropyinpr2[] = { + 0xfa, 0xc1, 0x82, 0x6b, 0x05, 0x4b, 0xab, 0xc2, 0xd7, 0xe1, 0xe6, 0x47, + 0xe0, 0x6c, 0x81, 0xb8, 0x02, 0x3f, 0x04, 0x01, 0xc2, 0xac, 0x39, 0x6e, +}; +static const unsigned char kat3122_addinpr2[] = {0}; +static const unsigned char kat3122_retbits[] = { + 0x0c, 0xbf, 0x94, 0x97, 0xff, 0x1e, 0x9e, 0x68, 0x1e, 0xeb, 0x97, 0x29, + 0x0a, 0xe5, 0x52, 0x4d, 0xac, 0x82, 0xdb, 0x79, 0x74, 0x98, 0xb5, 0x0a, + 0xd3, 0x1e, 0x2c, 0x25, 0x7f, 0x51, 0x66, 0xc3, 0xb9, 0x83, 0xbc, 0x95, + 0xe0, 0xd2, 0x6d, 0x24, 0xa0, 0xd6, 0x13, 0xfb, 0xfb, 0x41, 0x03, 0xb4, + 0x49, 0x83, 0xa6, 0xfd, 0xf2, 0x96, 0x4b, 0x42, 0x07, 0xd5, 0xf8, 0xc7, + 0x53, 0xb7, 0xc9, 0xf3, +}; +static const struct drbg_kat_pr_true kat3122_t = { + 1, kat3122_entropyin, kat3122_nonce, kat3122_persstr, + kat3122_entropyinpr1, kat3122_addinpr1, kat3122_entropyinpr2, + kat3122_addinpr2, kat3122_retbits +}; +static const struct drbg_kat kat3122 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3122_t +}; + +static const unsigned char kat3123_entropyin[] = { + 0x83, 0xa0, 0x4c, 0xca, 0x97, 0x9e, 0x16, 0x25, 0x9d, 0xac, 0x2a, 0xa2, + 0xe6, 0x80, 0x79, 0xc0, 0xe8, 0xeb, 0xea, 0x8e, 0x90, 0x67, 0x72, 0xe3, +}; +static const unsigned char kat3123_nonce[] = { + 0xf4, 0xef, 0xc8, 0xb0, 0xa9, 0x19, 0x55, 0x91, 0x6d, 0x82, 0x03, 0x1a, + 0x24, 0x03, 0x25, 0xe4, +}; +static const unsigned char kat3123_persstr[] = {0}; +static const unsigned char kat3123_entropyinpr1[] = { + 0x05, 0xb3, 0xfe, 0x96, 0xa7, 0x35, 0x81, 0x79, 0xd8, 0x32, 0x86, 0x1e, + 0xac, 0xbe, 0x25, 0xef, 0x66, 0x23, 0xf4, 0x09, 0xef, 0x8c, 0x63, 0xb8, +}; +static const unsigned char kat3123_addinpr1[] = {0}; +static const unsigned char kat3123_entropyinpr2[] = { + 0xc4, 0xd8, 0x68, 0xd2, 0x92, 0x7a, 0x9f, 0xf5, 0xa4, 0xd8, 0x4f, 0x4f, + 0xf4, 0x6f, 0x5d, 0x2c, 0xf0, 0x4b, 0xa8, 0x45, 0x00, 0xe1, 0x54, 0x08, +}; +static const unsigned char kat3123_addinpr2[] = {0}; +static const unsigned char kat3123_retbits[] = { + 0xed, 0xc9, 0xee, 0x06, 0x8c, 0x28, 0x23, 0xdf, 0x26, 0xd6, 0xef, 0x14, + 0xcc, 0x33, 0xf4, 0x02, 0x6c, 0x5c, 0x8d, 0x89, 0x92, 0xb7, 0xe1, 0xfd, + 0x30, 0x06, 0x31, 0x9e, 0x60, 0x65, 0x8e, 0x77, 0x77, 0xdd, 0xf3, 0xf4, + 0x6f, 0x38, 0xf5, 0xdf, 0xd2, 0x24, 0x15, 0xdc, 0x19, 0x57, 0xd1, 0x96, + 0x3f, 0x33, 0x19, 0x67, 0x24, 0x32, 0x4c, 0x96, 0xab, 0xc0, 0x39, 0x44, + 0xbc, 0xc1, 0x63, 0xfa, +}; +static const struct drbg_kat_pr_true kat3123_t = { + 2, kat3123_entropyin, kat3123_nonce, kat3123_persstr, + kat3123_entropyinpr1, kat3123_addinpr1, kat3123_entropyinpr2, + kat3123_addinpr2, kat3123_retbits +}; +static const struct drbg_kat kat3123 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3123_t +}; + +static const unsigned char kat3124_entropyin[] = { + 0x50, 0xcf, 0x55, 0x2e, 0x0e, 0x6c, 0x3f, 0xca, 0x00, 0xda, 0x03, 0xb3, + 0x1b, 0xdd, 0x77, 0xbe, 0xa1, 0x59, 0x93, 0x17, 0x51, 0xe5, 0x88, 0x4c, +}; +static const unsigned char kat3124_nonce[] = { + 0xfd, 0xb2, 0x81, 0x10, 0x4e, 0xc0, 0xbf, 0xbe, 0xbf, 0xd4, 0xce, 0x65, + 0x93, 0xa7, 0x5e, 0x3e, +}; +static const unsigned char kat3124_persstr[] = {0}; +static const unsigned char kat3124_entropyinpr1[] = { + 0x0f, 0x6c, 0xee, 0x4c, 0x34, 0xdc, 0xff, 0x9d, 0x1f, 0x7c, 0x7c, 0x93, + 0xba, 0xe9, 0x5a, 0x16, 0xce, 0x69, 0x37, 0x98, 0x30, 0x2c, 0xa7, 0x94, +}; +static const unsigned char kat3124_addinpr1[] = {0}; +static const unsigned char kat3124_entropyinpr2[] = { + 0x79, 0x62, 0x90, 0xd6, 0xbe, 0xc0, 0x70, 0x13, 0xfa, 0xe5, 0x62, 0xa2, + 0xf6, 0x18, 0x7b, 0x4b, 0x2b, 0x3f, 0x4c, 0x6d, 0xd8, 0xd4, 0xfd, 0x47, +}; +static const unsigned char kat3124_addinpr2[] = {0}; +static const unsigned char kat3124_retbits[] = { + 0xa6, 0xf1, 0x26, 0x34, 0x73, 0x5a, 0x89, 0x4b, 0xbb, 0x14, 0xfa, 0x36, + 0x8a, 0xbd, 0x15, 0xb2, 0x19, 0x81, 0xf4, 0x3d, 0x72, 0xdd, 0x4d, 0xa8, + 0x00, 0xf6, 0x17, 0x3c, 0x2c, 0x8d, 0xcc, 0x2e, 0xcd, 0x1a, 0xb4, 0xae, + 0xc4, 0x9a, 0xba, 0x40, 0xd5, 0x08, 0xf9, 0x6d, 0xba, 0x6e, 0xe1, 0x0d, + 0x88, 0x6b, 0x8b, 0xb4, 0x17, 0x72, 0x2e, 0x52, 0x82, 0x3f, 0x41, 0x52, + 0x27, 0xbe, 0x7b, 0x3e, +}; +static const struct drbg_kat_pr_true kat3124_t = { + 3, kat3124_entropyin, kat3124_nonce, kat3124_persstr, + kat3124_entropyinpr1, kat3124_addinpr1, kat3124_entropyinpr2, + kat3124_addinpr2, kat3124_retbits +}; +static const struct drbg_kat kat3124 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3124_t +}; + +static const unsigned char kat3125_entropyin[] = { + 0x42, 0xf3, 0xc7, 0x30, 0x4f, 0x6c, 0x48, 0x0a, 0xb8, 0xef, 0xe5, 0xe1, + 0xca, 0x17, 0xf8, 0xdc, 0x2b, 0xaf, 0xc9, 0xe0, 0x27, 0x0c, 0xe3, 0x10, +}; +static const unsigned char kat3125_nonce[] = { + 0x68, 0x61, 0x22, 0xe3, 0xdf, 0x7a, 0x4f, 0x5b, 0xb7, 0x52, 0xc6, 0x06, + 0x28, 0xfd, 0xed, 0x56, +}; +static const unsigned char kat3125_persstr[] = {0}; +static const unsigned char kat3125_entropyinpr1[] = { + 0x2b, 0x97, 0x22, 0xb9, 0x34, 0x3b, 0xc5, 0xe1, 0xa7, 0x84, 0x37, 0x11, + 0x48, 0x31, 0xb6, 0x77, 0xbe, 0x5a, 0x0d, 0x64, 0x37, 0xda, 0x4b, 0x2f, +}; +static const unsigned char kat3125_addinpr1[] = {0}; +static const unsigned char kat3125_entropyinpr2[] = { + 0x92, 0x25, 0xb4, 0xc1, 0x27, 0x7c, 0xb6, 0xfc, 0x3f, 0x0e, 0x48, 0x90, + 0x4f, 0x15, 0x94, 0x47, 0x44, 0xe0, 0xb0, 0x51, 0xf8, 0xe5, 0x4b, 0x7e, +}; +static const unsigned char kat3125_addinpr2[] = {0}; +static const unsigned char kat3125_retbits[] = { + 0x90, 0x42, 0xd3, 0x19, 0x0a, 0xe3, 0x63, 0x77, 0x5c, 0x8e, 0xa7, 0x83, + 0x7d, 0xc1, 0x72, 0xad, 0x9a, 0xee, 0xc6, 0xd0, 0xc5, 0xee, 0x29, 0x11, + 0x5b, 0xba, 0x14, 0x1c, 0x7b, 0x2c, 0x1b, 0x03, 0x4c, 0x2a, 0x9b, 0x69, + 0x71, 0xd6, 0x78, 0x35, 0xbe, 0xf2, 0x95, 0x35, 0x13, 0xdf, 0x6d, 0x92, + 0x35, 0x36, 0x82, 0x51, 0x5d, 0xee, 0xf4, 0x15, 0xca, 0x76, 0xf4, 0x5e, + 0xc7, 0xa6, 0x17, 0x63, +}; +static const struct drbg_kat_pr_true kat3125_t = { + 4, kat3125_entropyin, kat3125_nonce, kat3125_persstr, + kat3125_entropyinpr1, kat3125_addinpr1, kat3125_entropyinpr2, + kat3125_addinpr2, kat3125_retbits +}; +static const struct drbg_kat kat3125 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3125_t +}; + +static const unsigned char kat3126_entropyin[] = { + 0x6a, 0x0d, 0x63, 0x4e, 0x66, 0x18, 0xcc, 0x38, 0xc3, 0xfb, 0x2e, 0xd9, + 0x9c, 0xef, 0x84, 0x90, 0x57, 0x0d, 0x9a, 0xa8, 0x79, 0x12, 0xbf, 0x2d, +}; +static const unsigned char kat3126_nonce[] = { + 0xab, 0x31, 0x48, 0xf4, 0x06, 0x09, 0x29, 0x0e, 0xcc, 0x08, 0x61, 0xaf, + 0xf1, 0xc5, 0xd2, 0x09, +}; +static const unsigned char kat3126_persstr[] = {0}; +static const unsigned char kat3126_entropyinpr1[] = { + 0x0e, 0x32, 0x2c, 0x93, 0x43, 0x1c, 0x32, 0x4b, 0x37, 0xf8, 0x39, 0xc9, + 0x60, 0x93, 0xb0, 0xd8, 0xb8, 0xdb, 0xc3, 0x22, 0xa0, 0xab, 0x4f, 0x92, +}; +static const unsigned char kat3126_addinpr1[] = {0}; +static const unsigned char kat3126_entropyinpr2[] = { + 0x0c, 0x45, 0x00, 0xf0, 0xc9, 0x37, 0xf6, 0x7f, 0x3e, 0xe6, 0xf8, 0x17, + 0xfe, 0x8b, 0xdc, 0x02, 0xce, 0x4c, 0x97, 0xe6, 0x97, 0xb0, 0xc9, 0x89, +}; +static const unsigned char kat3126_addinpr2[] = {0}; +static const unsigned char kat3126_retbits[] = { + 0xc2, 0xf1, 0xb3, 0xdc, 0xd5, 0x2d, 0x68, 0x65, 0x10, 0x60, 0x06, 0xfc, + 0x67, 0x5b, 0x52, 0x88, 0x14, 0x90, 0x64, 0x94, 0xdb, 0xa2, 0xa0, 0xc1, + 0x66, 0x36, 0xec, 0x5f, 0xd6, 0xa8, 0x98, 0x1e, 0xeb, 0x6b, 0xfe, 0x64, + 0x0c, 0xf7, 0x85, 0xd4, 0x79, 0x81, 0x35, 0x2c, 0x51, 0x0c, 0xc1, 0x81, + 0xea, 0x71, 0xaa, 0x24, 0x70, 0xf8, 0xa9, 0x7a, 0xdd, 0xd4, 0x59, 0x39, + 0x08, 0x1c, 0x3b, 0x84, +}; +static const struct drbg_kat_pr_true kat3126_t = { + 5, kat3126_entropyin, kat3126_nonce, kat3126_persstr, + kat3126_entropyinpr1, kat3126_addinpr1, kat3126_entropyinpr2, + kat3126_addinpr2, kat3126_retbits +}; +static const struct drbg_kat kat3126 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3126_t +}; + +static const unsigned char kat3127_entropyin[] = { + 0x30, 0xde, 0x9e, 0xc0, 0x35, 0x03, 0xeb, 0x2c, 0x60, 0x46, 0xdf, 0x9c, + 0x50, 0x24, 0xef, 0x24, 0x8e, 0x53, 0x85, 0x1f, 0x2e, 0x2f, 0x5e, 0x82, +}; +static const unsigned char kat3127_nonce[] = { + 0xc2, 0x1e, 0x8e, 0x13, 0x54, 0xc0, 0xbf, 0x00, 0x7d, 0x50, 0x76, 0xcd, + 0x57, 0x1f, 0xae, 0x51, +}; +static const unsigned char kat3127_persstr[] = {0}; +static const unsigned char kat3127_entropyinpr1[] = { + 0x7c, 0xa2, 0x88, 0x95, 0xe4, 0xb2, 0x09, 0x67, 0x04, 0x22, 0x7a, 0x2a, + 0x1d, 0xea, 0xb7, 0xef, 0xbb, 0x48, 0x10, 0xc4, 0x85, 0x41, 0x12, 0xe4, +}; +static const unsigned char kat3127_addinpr1[] = {0}; +static const unsigned char kat3127_entropyinpr2[] = { + 0x41, 0xbe, 0x84, 0x2e, 0x22, 0x90, 0x40, 0x59, 0xd8, 0x38, 0x78, 0xc9, + 0x49, 0x59, 0x79, 0x89, 0xdb, 0xb0, 0x28, 0xbd, 0xc7, 0xe4, 0xe2, 0x1c, +}; +static const unsigned char kat3127_addinpr2[] = {0}; +static const unsigned char kat3127_retbits[] = { + 0x18, 0x21, 0x96, 0x4d, 0xe8, 0xbc, 0xf0, 0x57, 0x3d, 0x96, 0x53, 0x5c, + 0x25, 0xed, 0x6c, 0x02, 0x22, 0xcd, 0x06, 0x60, 0xb5, 0x51, 0x68, 0x3e, + 0x05, 0x00, 0x46, 0x12, 0x01, 0xde, 0x72, 0xba, 0xe7, 0x3c, 0xb2, 0x0b, + 0x60, 0x8d, 0x27, 0x6b, 0xc7, 0xd8, 0x01, 0x39, 0x27, 0xaf, 0x35, 0x8e, + 0xab, 0x60, 0xbc, 0x96, 0x2b, 0x28, 0x87, 0xd3, 0x27, 0x67, 0x2e, 0xc0, + 0xdb, 0x0d, 0x1b, 0x41, +}; +static const struct drbg_kat_pr_true kat3127_t = { + 6, kat3127_entropyin, kat3127_nonce, kat3127_persstr, + kat3127_entropyinpr1, kat3127_addinpr1, kat3127_entropyinpr2, + kat3127_addinpr2, kat3127_retbits +}; +static const struct drbg_kat kat3127 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3127_t +}; + +static const unsigned char kat3128_entropyin[] = { + 0x5d, 0xd9, 0x07, 0x4e, 0x42, 0x45, 0x90, 0xbe, 0x33, 0x3d, 0xd8, 0x9a, + 0xd2, 0x46, 0xa7, 0x83, 0xf5, 0xe4, 0x8e, 0x5d, 0xaf, 0xcb, 0x92, 0x38, +}; +static const unsigned char kat3128_nonce[] = { + 0x1b, 0x6d, 0x12, 0x99, 0xe9, 0xe7, 0x80, 0x22, 0x35, 0x48, 0xda, 0x3a, + 0x1e, 0x92, 0x47, 0x13, +}; +static const unsigned char kat3128_persstr[] = {0}; +static const unsigned char kat3128_entropyinpr1[] = { + 0xb3, 0xe4, 0x36, 0x77, 0x94, 0x7c, 0x92, 0x56, 0x3e, 0xe7, 0x26, 0x03, + 0x14, 0x97, 0xe5, 0x2b, 0xe5, 0x4e, 0x83, 0x9c, 0x17, 0xdc, 0xdf, 0x1e, +}; +static const unsigned char kat3128_addinpr1[] = {0}; +static const unsigned char kat3128_entropyinpr2[] = { + 0x35, 0x09, 0x37, 0x9b, 0x91, 0xa5, 0x3a, 0xd5, 0x36, 0x4e, 0x90, 0x83, + 0x3f, 0xcf, 0xfa, 0xd7, 0x66, 0x49, 0x8a, 0xdd, 0x2d, 0xd9, 0xac, 0xdb, +}; +static const unsigned char kat3128_addinpr2[] = {0}; +static const unsigned char kat3128_retbits[] = { + 0x7b, 0x6b, 0xe6, 0x05, 0x17, 0x97, 0xb3, 0x22, 0x8e, 0x25, 0x77, 0x71, + 0xf3, 0x44, 0x29, 0x18, 0x4c, 0xd8, 0x04, 0x4f, 0xb1, 0xd3, 0xee, 0x6d, + 0x1e, 0x9c, 0x6c, 0xc2, 0x6a, 0xde, 0x4f, 0xae, 0x6d, 0x5d, 0xb9, 0x18, + 0x33, 0xd6, 0xdd, 0x56, 0xcf, 0x37, 0x2a, 0xf7, 0x66, 0xdd, 0x6f, 0x0b, + 0x4e, 0x40, 0xb9, 0x21, 0x96, 0xdf, 0xcc, 0x15, 0xcd, 0xfc, 0x8b, 0xfa, + 0xfd, 0x30, 0x34, 0x95, +}; +static const struct drbg_kat_pr_true kat3128_t = { + 7, kat3128_entropyin, kat3128_nonce, kat3128_persstr, + kat3128_entropyinpr1, kat3128_addinpr1, kat3128_entropyinpr2, + kat3128_addinpr2, kat3128_retbits +}; +static const struct drbg_kat kat3128 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3128_t +}; + +static const unsigned char kat3129_entropyin[] = { + 0xd1, 0xbb, 0x4c, 0xcc, 0x03, 0x5f, 0xdd, 0x73, 0x40, 0x67, 0xd0, 0x78, + 0x99, 0xfd, 0xce, 0xc2, 0x4a, 0x52, 0x54, 0x6a, 0x3d, 0x6e, 0x14, 0xf4, +}; +static const unsigned char kat3129_nonce[] = { + 0x5d, 0x7b, 0x4a, 0x17, 0x6d, 0x22, 0x2e, 0x41, 0xbe, 0x64, 0xf6, 0x2d, + 0xde, 0x1a, 0x62, 0x44, +}; +static const unsigned char kat3129_persstr[] = {0}; +static const unsigned char kat3129_entropyinpr1[] = { + 0x98, 0x01, 0x76, 0xb5, 0xd3, 0x91, 0xf4, 0xa0, 0x42, 0x2f, 0x09, 0x08, + 0xc6, 0x9b, 0x20, 0xbc, 0xb9, 0xdc, 0xb9, 0xb3, 0xa1, 0x93, 0xfb, 0x29, +}; +static const unsigned char kat3129_addinpr1[] = {0}; +static const unsigned char kat3129_entropyinpr2[] = { + 0x7b, 0x3e, 0xbe, 0x6c, 0x6b, 0xcc, 0x59, 0x54, 0x2a, 0xea, 0x08, 0x60, + 0x11, 0x0b, 0xde, 0xac, 0x7a, 0x20, 0xf9, 0xa4, 0x30, 0xb7, 0xfb, 0x2b, +}; +static const unsigned char kat3129_addinpr2[] = {0}; +static const unsigned char kat3129_retbits[] = { + 0xc6, 0x45, 0xdd, 0xba, 0x51, 0x97, 0x0f, 0xee, 0xac, 0x96, 0x15, 0x95, + 0xc5, 0xd6, 0xb2, 0xde, 0x1e, 0xfc, 0xe6, 0x95, 0x1a, 0x09, 0xe4, 0xa1, + 0x4c, 0x81, 0x74, 0x1d, 0x63, 0x1f, 0x8e, 0x19, 0x39, 0xac, 0x25, 0xe0, + 0xae, 0xb1, 0xf5, 0x9c, 0x28, 0x07, 0x91, 0xa2, 0x26, 0xe7, 0x38, 0xa9, + 0x8e, 0x6d, 0x13, 0x40, 0x03, 0xe5, 0x19, 0xd8, 0xdd, 0x9b, 0x9a, 0x4f, + 0xf2, 0x2e, 0x6e, 0x00, +}; +static const struct drbg_kat_pr_true kat3129_t = { + 8, kat3129_entropyin, kat3129_nonce, kat3129_persstr, + kat3129_entropyinpr1, kat3129_addinpr1, kat3129_entropyinpr2, + kat3129_addinpr2, kat3129_retbits +}; +static const struct drbg_kat kat3129 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3129_t +}; + +static const unsigned char kat3130_entropyin[] = { + 0xf0, 0xb2, 0x4a, 0x7c, 0x6c, 0x0a, 0x56, 0xec, 0x47, 0x36, 0x19, 0xda, + 0x51, 0x91, 0xe1, 0xfc, 0x40, 0x36, 0x1e, 0x43, 0xab, 0xd0, 0xb8, 0x79, +}; +static const unsigned char kat3130_nonce[] = { + 0xd9, 0xe2, 0xfc, 0xad, 0xbb, 0x83, 0xfe, 0x67, 0x7b, 0x1f, 0x9a, 0x6f, + 0xf5, 0xa7, 0xf3, 0xef, +}; +static const unsigned char kat3130_persstr[] = {0}; +static const unsigned char kat3130_entropyinpr1[] = { + 0x71, 0xe6, 0x34, 0xbf, 0x65, 0xdd, 0x8a, 0xc7, 0xe3, 0x5e, 0x0a, 0x38, + 0x89, 0xa9, 0x3a, 0xea, 0x06, 0x1c, 0x27, 0x64, 0xd5, 0x7a, 0xb6, 0xcc, +}; +static const unsigned char kat3130_addinpr1[] = {0}; +static const unsigned char kat3130_entropyinpr2[] = { + 0x66, 0x7d, 0xb2, 0xa2, 0x64, 0x36, 0x89, 0xfa, 0x9f, 0x60, 0x2d, 0x28, + 0x83, 0xb5, 0xb7, 0x45, 0x62, 0x5e, 0xc3, 0xa7, 0x5b, 0xd5, 0xd7, 0xcd, +}; +static const unsigned char kat3130_addinpr2[] = {0}; +static const unsigned char kat3130_retbits[] = { + 0x2f, 0xe5, 0x5e, 0x3c, 0xed, 0x73, 0x18, 0xef, 0xb6, 0x58, 0x48, 0xe6, + 0xd7, 0xd0, 0x02, 0x50, 0x2f, 0x18, 0xd4, 0x00, 0x81, 0xfc, 0xff, 0x6d, + 0x06, 0x13, 0xac, 0xa1, 0x17, 0x80, 0xcb, 0x27, 0x1b, 0x1d, 0x8a, 0x7d, + 0x3e, 0x31, 0x51, 0x8c, 0xf3, 0xfa, 0xf9, 0xf3, 0x99, 0x3b, 0x7f, 0x9f, + 0x89, 0x7c, 0x11, 0xc0, 0x7d, 0x67, 0xa5, 0x18, 0x45, 0xf1, 0xb0, 0xfe, + 0x58, 0x55, 0x35, 0xd4, +}; +static const struct drbg_kat_pr_true kat3130_t = { + 9, kat3130_entropyin, kat3130_nonce, kat3130_persstr, + kat3130_entropyinpr1, kat3130_addinpr1, kat3130_entropyinpr2, + kat3130_addinpr2, kat3130_retbits +}; +static const struct drbg_kat kat3130 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3130_t +}; + +static const unsigned char kat3131_entropyin[] = { + 0x2a, 0x2f, 0x9e, 0x86, 0x82, 0x39, 0xac, 0x23, 0xbe, 0x4c, 0x8d, 0x18, + 0x41, 0x57, 0xd4, 0x4f, 0x86, 0xf1, 0xc2, 0x76, 0x99, 0x4c, 0x1d, 0x02, +}; +static const unsigned char kat3131_nonce[] = { + 0x78, 0x4d, 0xc9, 0x0d, 0x95, 0x2a, 0x9d, 0xec, 0xab, 0x76, 0x05, 0x51, + 0x05, 0x09, 0x43, 0x62, +}; +static const unsigned char kat3131_persstr[] = {0}; +static const unsigned char kat3131_entropyinpr1[] = { + 0xc4, 0x19, 0x55, 0xe8, 0xd5, 0x2d, 0x31, 0x4d, 0x4c, 0x57, 0x9a, 0xa7, + 0x0d, 0x31, 0xd1, 0xf6, 0xf4, 0x8b, 0xfa, 0x9a, 0xa0, 0x4d, 0x64, 0xbe, +}; +static const unsigned char kat3131_addinpr1[] = {0}; +static const unsigned char kat3131_entropyinpr2[] = { + 0x27, 0x64, 0xc2, 0x28, 0xb0, 0x35, 0x07, 0xbe, 0x6c, 0x37, 0x31, 0x50, + 0x8a, 0x57, 0x4d, 0x3e, 0x1b, 0xe6, 0xf3, 0x3e, 0x42, 0x2f, 0x81, 0xb6, +}; +static const unsigned char kat3131_addinpr2[] = {0}; +static const unsigned char kat3131_retbits[] = { + 0xee, 0x25, 0xf5, 0xe5, 0x53, 0xca, 0x17, 0x95, 0xe4, 0xd8, 0xbe, 0xba, + 0x5d, 0xcb, 0xd9, 0x59, 0xa0, 0x46, 0x8e, 0x82, 0x86, 0x02, 0xbc, 0x11, + 0x03, 0xd8, 0x76, 0x5f, 0xd6, 0xf2, 0x81, 0xfb, 0x96, 0xa2, 0xee, 0xbf, + 0xdf, 0x1f, 0x38, 0x30, 0x13, 0x2a, 0xd9, 0x0f, 0x38, 0x1c, 0xff, 0x7e, + 0xd7, 0x09, 0x00, 0x10, 0x70, 0xf7, 0x74, 0xa5, 0x7b, 0x6d, 0x34, 0x88, + 0xe5, 0xb8, 0x42, 0xe5, +}; +static const struct drbg_kat_pr_true kat3131_t = { + 10, kat3131_entropyin, kat3131_nonce, kat3131_persstr, + kat3131_entropyinpr1, kat3131_addinpr1, kat3131_entropyinpr2, + kat3131_addinpr2, kat3131_retbits +}; +static const struct drbg_kat kat3131 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3131_t +}; + +static const unsigned char kat3132_entropyin[] = { + 0x3b, 0xda, 0xe8, 0x11, 0x9d, 0x89, 0x16, 0x10, 0x0b, 0x52, 0xfe, 0x32, + 0x44, 0x8b, 0x95, 0xb5, 0xc2, 0x30, 0x39, 0x82, 0x87, 0x4d, 0x7a, 0x95, +}; +static const unsigned char kat3132_nonce[] = { + 0x92, 0x91, 0xf9, 0xfe, 0xe1, 0x05, 0xf7, 0xe1, 0x48, 0xa1, 0x3f, 0x2f, + 0xf5, 0x93, 0xb6, 0x19, +}; +static const unsigned char kat3132_persstr[] = {0}; +static const unsigned char kat3132_entropyinpr1[] = { + 0xda, 0x37, 0xce, 0x63, 0x92, 0x9e, 0x1a, 0x9f, 0x00, 0xe0, 0x16, 0x18, + 0x3e, 0x28, 0x0f, 0x27, 0xed, 0x94, 0xd9, 0xcd, 0xe4, 0xae, 0x7a, 0x7c, +}; +static const unsigned char kat3132_addinpr1[] = {0}; +static const unsigned char kat3132_entropyinpr2[] = { + 0x88, 0xab, 0x02, 0x9e, 0xdb, 0xda, 0x4c, 0x8c, 0x79, 0x2d, 0xe3, 0x04, + 0xaf, 0x53, 0xce, 0x5c, 0xb4, 0xb1, 0xca, 0x2d, 0x76, 0x4f, 0xcf, 0xc1, +}; +static const unsigned char kat3132_addinpr2[] = {0}; +static const unsigned char kat3132_retbits[] = { + 0xbb, 0x37, 0xf2, 0x96, 0xc6, 0xbd, 0xfb, 0x05, 0x9c, 0x35, 0x35, 0x39, + 0x52, 0xf8, 0x39, 0x72, 0xad, 0x9e, 0x9f, 0xfa, 0x51, 0xab, 0x72, 0x62, + 0xc1, 0x07, 0xe8, 0x17, 0xa7, 0x42, 0x57, 0xeb, 0xe6, 0x9e, 0x53, 0x91, + 0x2c, 0xf8, 0x3b, 0xd9, 0xbb, 0xc0, 0x9a, 0xf7, 0xe9, 0x69, 0xab, 0x08, + 0x4a, 0xc0, 0x84, 0x31, 0x7d, 0x5e, 0xc6, 0xc0, 0x15, 0x17, 0x54, 0xc8, + 0xc5, 0x42, 0xc6, 0x5d, +}; +static const struct drbg_kat_pr_true kat3132_t = { + 11, kat3132_entropyin, kat3132_nonce, kat3132_persstr, + kat3132_entropyinpr1, kat3132_addinpr1, kat3132_entropyinpr2, + kat3132_addinpr2, kat3132_retbits +}; +static const struct drbg_kat kat3132 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3132_t +}; + +static const unsigned char kat3133_entropyin[] = { + 0x28, 0x9c, 0xa3, 0xd9, 0x02, 0x03, 0x70, 0x97, 0x1c, 0x24, 0xed, 0x23, + 0xc6, 0x43, 0xaa, 0x63, 0xb0, 0x0a, 0xbf, 0x55, 0x6a, 0x6a, 0x1a, 0x67, +}; +static const unsigned char kat3133_nonce[] = { + 0x96, 0x5f, 0x82, 0x54, 0xfe, 0x96, 0x53, 0x7e, 0x68, 0x7c, 0x26, 0xc1, + 0x63, 0x91, 0x5a, 0x64, +}; +static const unsigned char kat3133_persstr[] = {0}; +static const unsigned char kat3133_entropyinpr1[] = { + 0x1d, 0xa4, 0x91, 0x99, 0x30, 0x96, 0x42, 0x7b, 0x20, 0x55, 0xcf, 0x24, + 0xf9, 0x05, 0xa2, 0xb3, 0xdc, 0x2b, 0xc8, 0x2b, 0x57, 0xc4, 0xac, 0xb6, +}; +static const unsigned char kat3133_addinpr1[] = {0}; +static const unsigned char kat3133_entropyinpr2[] = { + 0xef, 0x59, 0x4f, 0xbf, 0xd7, 0x30, 0x02, 0x32, 0x3f, 0xc0, 0xd5, 0xa3, + 0x46, 0x48, 0xf9, 0x35, 0xb6, 0xe5, 0xe6, 0x5b, 0xea, 0x3e, 0xe2, 0x57, +}; +static const unsigned char kat3133_addinpr2[] = {0}; +static const unsigned char kat3133_retbits[] = { + 0x2e, 0xad, 0x91, 0xe5, 0x63, 0x41, 0xe1, 0x57, 0x20, 0x30, 0x2e, 0xb6, + 0x49, 0xcd, 0xfe, 0x25, 0xad, 0x9e, 0x87, 0xef, 0xf5, 0x11, 0x0c, 0xef, + 0xb4, 0x87, 0x41, 0x01, 0xe8, 0x1f, 0x8c, 0x02, 0x48, 0x11, 0xb4, 0x2c, + 0xe7, 0x27, 0x63, 0x63, 0x8e, 0x49, 0x1b, 0x07, 0x75, 0x52, 0xf3, 0x47, + 0xef, 0xf6, 0x97, 0x2e, 0x9b, 0xe2, 0xbd, 0xd3, 0xb4, 0x2b, 0x0b, 0x6f, + 0xb7, 0x3e, 0x70, 0x27, +}; +static const struct drbg_kat_pr_true kat3133_t = { + 12, kat3133_entropyin, kat3133_nonce, kat3133_persstr, + kat3133_entropyinpr1, kat3133_addinpr1, kat3133_entropyinpr2, + kat3133_addinpr2, kat3133_retbits +}; +static const struct drbg_kat kat3133 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3133_t +}; + +static const unsigned char kat3134_entropyin[] = { + 0xc4, 0x3a, 0x65, 0x0f, 0x01, 0xf3, 0xee, 0xc4, 0x1b, 0x5f, 0x25, 0x45, + 0x50, 0x9a, 0x1c, 0x47, 0x80, 0x8c, 0xce, 0xad, 0x72, 0x90, 0xa0, 0xeb, +}; +static const unsigned char kat3134_nonce[] = { + 0xb2, 0x42, 0xa3, 0x6d, 0x72, 0x80, 0x4e, 0xd2, 0xca, 0x78, 0x64, 0xf3, + 0xf3, 0xd2, 0x3e, 0x1a, +}; +static const unsigned char kat3134_persstr[] = {0}; +static const unsigned char kat3134_entropyinpr1[] = { + 0x80, 0x21, 0x41, 0x7b, 0xaf, 0xe1, 0x17, 0xfe, 0x68, 0x0b, 0x5f, 0x5d, + 0xe7, 0xe2, 0x93, 0xac, 0xf1, 0x04, 0x34, 0x8d, 0x09, 0x0b, 0x59, 0x5e, +}; +static const unsigned char kat3134_addinpr1[] = {0}; +static const unsigned char kat3134_entropyinpr2[] = { + 0x40, 0xc2, 0xf1, 0x8f, 0xc4, 0x0b, 0xce, 0xac, 0xde, 0x2d, 0xa3, 0x22, + 0xea, 0x99, 0x68, 0xa4, 0x0c, 0x32, 0x89, 0xef, 0x2d, 0xb8, 0x4f, 0x4e, +}; +static const unsigned char kat3134_addinpr2[] = {0}; +static const unsigned char kat3134_retbits[] = { + 0x99, 0xf4, 0x8c, 0x2c, 0xe5, 0x5a, 0x2b, 0x79, 0xf2, 0xde, 0x20, 0xcc, + 0xd0, 0x80, 0x20, 0xff, 0x61, 0xac, 0xf4, 0x24, 0x51, 0xed, 0xcb, 0x12, + 0xe0, 0x1a, 0x63, 0xb6, 0x82, 0xcc, 0xc3, 0xda, 0x3b, 0xb6, 0xe5, 0x53, + 0x36, 0x92, 0x97, 0xef, 0x88, 0x2f, 0x59, 0xe5, 0xca, 0x1e, 0xc2, 0x1c, + 0x60, 0x6b, 0x17, 0xcb, 0x18, 0x27, 0x50, 0xff, 0x67, 0xe0, 0x14, 0xad, + 0x97, 0x83, 0x23, 0xfe, +}; +static const struct drbg_kat_pr_true kat3134_t = { + 13, kat3134_entropyin, kat3134_nonce, kat3134_persstr, + kat3134_entropyinpr1, kat3134_addinpr1, kat3134_entropyinpr2, + kat3134_addinpr2, kat3134_retbits +}; +static const struct drbg_kat kat3134 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3134_t +}; + +static const unsigned char kat3135_entropyin[] = { + 0x7c, 0x0c, 0x25, 0xf8, 0x48, 0xb4, 0x59, 0x62, 0x5c, 0x79, 0x6c, 0xe4, + 0x77, 0xda, 0x9f, 0xb0, 0x04, 0x26, 0x2e, 0xc6, 0x08, 0xd3, 0xf0, 0xcb, +}; +static const unsigned char kat3135_nonce[] = { + 0xb8, 0x7a, 0x69, 0x7c, 0xac, 0xd8, 0x22, 0xe3, 0xa3, 0xa2, 0xb9, 0x29, + 0xa2, 0x0d, 0x70, 0x72, +}; +static const unsigned char kat3135_persstr[] = {0}; +static const unsigned char kat3135_entropyinpr1[] = { + 0xc1, 0xcb, 0xe2, 0x26, 0xf2, 0xc3, 0x52, 0xba, 0xbe, 0x71, 0xff, 0x61, + 0x43, 0xd1, 0x8e, 0x45, 0xab, 0x17, 0x4b, 0xb2, 0x2d, 0x79, 0x3c, 0xae, +}; +static const unsigned char kat3135_addinpr1[] = {0}; +static const unsigned char kat3135_entropyinpr2[] = { + 0x45, 0x90, 0x72, 0x15, 0xe8, 0xc2, 0x59, 0x27, 0xdd, 0x8f, 0x5e, 0x03, + 0xf1, 0x7d, 0x9e, 0x56, 0x15, 0xe5, 0x6f, 0xb8, 0xf9, 0x01, 0x70, 0x7c, +}; +static const unsigned char kat3135_addinpr2[] = {0}; +static const unsigned char kat3135_retbits[] = { + 0x40, 0x30, 0x1a, 0x7b, 0x48, 0x93, 0x10, 0x52, 0x04, 0xe3, 0x5e, 0x41, + 0xa0, 0xca, 0xe5, 0x4f, 0x42, 0x8b, 0x23, 0x9a, 0x80, 0xc5, 0x61, 0x95, + 0xdd, 0x36, 0x0d, 0x5f, 0x2b, 0x47, 0x87, 0xd1, 0xf7, 0xd1, 0x7f, 0x28, + 0xce, 0x32, 0xc8, 0x72, 0xa3, 0x9d, 0x28, 0xd2, 0x4b, 0xf1, 0xea, 0x95, + 0x11, 0xc4, 0x01, 0x2a, 0xa9, 0x83, 0x65, 0xf0, 0x55, 0xf3, 0x06, 0xa0, + 0x26, 0x4f, 0xde, 0x55, +}; +static const struct drbg_kat_pr_true kat3135_t = { + 14, kat3135_entropyin, kat3135_nonce, kat3135_persstr, + kat3135_entropyinpr1, kat3135_addinpr1, kat3135_entropyinpr2, + kat3135_addinpr2, kat3135_retbits +}; +static const struct drbg_kat kat3135 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3135_t +}; + +static const unsigned char kat3136_entropyin[] = { + 0x4c, 0x41, 0x37, 0x53, 0x49, 0x0a, 0x93, 0xcd, 0x43, 0x16, 0x6f, 0xa3, + 0x80, 0x9d, 0xef, 0xf6, 0x1b, 0x63, 0x2e, 0x2c, 0x22, 0xa7, 0xf9, 0x74, +}; +static const unsigned char kat3136_nonce[] = { + 0xfd, 0x2a, 0x99, 0xc8, 0x47, 0xea, 0x9f, 0x96, 0x42, 0xd2, 0x6d, 0xbf, + 0x54, 0x99, 0x79, 0x7d, +}; +static const unsigned char kat3136_persstr[] = {0}; +static const unsigned char kat3136_entropyinpr1[] = { + 0x7d, 0xa8, 0xda, 0xed, 0xbe, 0xd6, 0x6e, 0x45, 0x29, 0x3e, 0x1a, 0x1c, + 0x87, 0x7a, 0x34, 0x34, 0x8b, 0x53, 0x4a, 0x4a, 0x25, 0xde, 0xc2, 0x58, +}; +static const unsigned char kat3136_addinpr1[] = { + 0xf6, 0x36, 0x8d, 0xbd, 0x19, 0x59, 0x7f, 0xf2, 0x5a, 0xcf, 0x50, 0xc8, + 0x65, 0x5a, 0x74, 0xbf, 0x6e, 0xe0, 0x6d, 0x6e, 0xc2, 0xb5, 0x37, 0x18, + 0x3a, 0xd0, 0x67, 0xed, 0x4b, 0xe0, 0xae, 0x2a, +}; +static const unsigned char kat3136_entropyinpr2[] = { + 0x37, 0xe8, 0x73, 0x56, 0xba, 0x12, 0x74, 0xac, 0xfa, 0x3b, 0x1e, 0xb6, + 0x54, 0xe5, 0x96, 0xf5, 0xef, 0xdc, 0xa5, 0x2b, 0x4c, 0x33, 0x31, 0x87, +}; +static const unsigned char kat3136_addinpr2[] = { + 0x5b, 0x43, 0xa0, 0x41, 0x3e, 0x3a, 0x07, 0x5a, 0x7c, 0x3c, 0x77, 0x20, + 0xc0, 0x6b, 0x96, 0x46, 0x1f, 0x66, 0xac, 0x97, 0xea, 0x4d, 0x13, 0xef, + 0x36, 0x61, 0x14, 0x08, 0x86, 0x68, 0x16, 0x68, +}; +static const unsigned char kat3136_retbits[] = { + 0x7f, 0x7b, 0x60, 0x37, 0xb0, 0xf2, 0xa2, 0x0c, 0x04, 0xe9, 0xeb, 0x28, + 0x85, 0x9b, 0xba, 0xb4, 0xe6, 0x86, 0xa1, 0xe3, 0x4d, 0x67, 0xad, 0x43, + 0x54, 0x4e, 0xe3, 0x63, 0x7b, 0xf1, 0x18, 0x61, 0x5a, 0x49, 0x8a, 0x71, + 0x4a, 0x6f, 0x19, 0xed, 0x45, 0x3d, 0x78, 0xf3, 0x9f, 0x9e, 0xa2, 0xed, + 0x2c, 0x3d, 0xe6, 0xe2, 0x2d, 0x76, 0xe3, 0x28, 0xc3, 0x96, 0xb2, 0xe1, + 0xbe, 0x63, 0x83, 0x9b, +}; +static const struct drbg_kat_pr_true kat3136_t = { + 0, kat3136_entropyin, kat3136_nonce, kat3136_persstr, + kat3136_entropyinpr1, kat3136_addinpr1, kat3136_entropyinpr2, + kat3136_addinpr2, kat3136_retbits +}; +static const struct drbg_kat kat3136 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3136_t +}; + +static const unsigned char kat3137_entropyin[] = { + 0x58, 0x2a, 0xb4, 0xab, 0xb2, 0x16, 0x99, 0x48, 0x78, 0xf0, 0x5a, 0xd5, + 0xbb, 0x14, 0x59, 0x3c, 0x05, 0x4b, 0xee, 0xad, 0x4c, 0x7b, 0xbd, 0x1b, +}; +static const unsigned char kat3137_nonce[] = { + 0x1a, 0xc0, 0xf7, 0x47, 0x54, 0xb6, 0xef, 0xc5, 0xfb, 0xd5, 0xa7, 0x3f, + 0xb8, 0x3b, 0xb5, 0x56, +}; +static const unsigned char kat3137_persstr[] = {0}; +static const unsigned char kat3137_entropyinpr1[] = { + 0x04, 0x96, 0x2f, 0xb6, 0x8b, 0xe5, 0x6d, 0xef, 0x7c, 0xa9, 0x64, 0x8f, + 0x30, 0x87, 0xae, 0x55, 0xba, 0xad, 0x09, 0xc8, 0x24, 0xd0, 0xa5, 0x38, +}; +static const unsigned char kat3137_addinpr1[] = { + 0x39, 0x12, 0x12, 0x4b, 0xac, 0x03, 0xf4, 0x67, 0xd4, 0x24, 0xbd, 0x7e, + 0x4b, 0x30, 0x53, 0x69, 0xe5, 0x6d, 0x92, 0x78, 0xaf, 0x82, 0xd0, 0x9b, + 0x1b, 0x9b, 0x69, 0x78, 0x60, 0xa6, 0x25, 0x97, +}; +static const unsigned char kat3137_entropyinpr2[] = { + 0x41, 0x5d, 0x4d, 0x6a, 0x65, 0xef, 0xd8, 0xac, 0x87, 0x0f, 0x57, 0x8a, + 0x41, 0xa5, 0xc4, 0xdf, 0x90, 0x2f, 0x05, 0x64, 0xd8, 0xe1, 0xfd, 0x1b, +}; +static const unsigned char kat3137_addinpr2[] = { + 0xa2, 0x0c, 0xab, 0x1b, 0xb5, 0xc2, 0x7d, 0xd7, 0x1e, 0x59, 0x54, 0x66, + 0x47, 0x90, 0x67, 0x37, 0x02, 0x54, 0x4f, 0x6b, 0x04, 0x91, 0xb8, 0x55, + 0x5e, 0xf1, 0x9f, 0x5d, 0x1a, 0x53, 0x47, 0xfb, +}; +static const unsigned char kat3137_retbits[] = { + 0xad, 0x22, 0x1d, 0x21, 0xff, 0xca, 0x8b, 0xae, 0xc0, 0x79, 0x13, 0xc2, + 0x6f, 0x38, 0x49, 0x37, 0xc1, 0xbc, 0xee, 0x73, 0x7a, 0x1a, 0x02, 0xfd, + 0x13, 0xe7, 0x00, 0x64, 0x9e, 0xca, 0xd9, 0xf1, 0xd7, 0x51, 0xfa, 0x18, + 0x9f, 0x1e, 0xfc, 0x9d, 0xf6, 0x19, 0x4e, 0xb8, 0xb4, 0x95, 0x90, 0x0d, + 0x04, 0xf3, 0xe6, 0x51, 0x52, 0xe8, 0x1c, 0x2d, 0x83, 0xe9, 0xba, 0xf9, + 0xe7, 0x68, 0xb0, 0x37, +}; +static const struct drbg_kat_pr_true kat3137_t = { + 1, kat3137_entropyin, kat3137_nonce, kat3137_persstr, + kat3137_entropyinpr1, kat3137_addinpr1, kat3137_entropyinpr2, + kat3137_addinpr2, kat3137_retbits +}; +static const struct drbg_kat kat3137 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3137_t +}; + +static const unsigned char kat3138_entropyin[] = { + 0xbc, 0x71, 0x10, 0x1f, 0x21, 0xce, 0xa7, 0xc8, 0x14, 0x6f, 0x06, 0x08, + 0x9f, 0xe8, 0xe7, 0xd0, 0x65, 0x63, 0xdd, 0xe0, 0x20, 0x1d, 0x61, 0x96, +}; +static const unsigned char kat3138_nonce[] = { + 0x84, 0xcf, 0x94, 0x35, 0xdc, 0xd0, 0xa1, 0xc9, 0x93, 0xee, 0xac, 0x18, + 0x50, 0xf4, 0xf0, 0xda, +}; +static const unsigned char kat3138_persstr[] = {0}; +static const unsigned char kat3138_entropyinpr1[] = { + 0x08, 0x6c, 0xeb, 0xc0, 0xd0, 0x28, 0x54, 0xe3, 0x4f, 0x51, 0x66, 0x4f, + 0x0a, 0xd6, 0xf6, 0x0f, 0xa2, 0x1e, 0xa6, 0x8b, 0x41, 0xf7, 0x28, 0x49, +}; +static const unsigned char kat3138_addinpr1[] = { + 0x95, 0xc0, 0x3a, 0x84, 0xad, 0x64, 0xd8, 0x34, 0xc9, 0xa4, 0x64, 0x46, + 0xd6, 0xa4, 0xec, 0xc9, 0xc2, 0x58, 0xcd, 0xee, 0x8d, 0xd2, 0x80, 0x18, + 0x65, 0x66, 0x73, 0x99, 0x3e, 0x0a, 0x9a, 0x87, +}; +static const unsigned char kat3138_entropyinpr2[] = { + 0x57, 0x1e, 0x54, 0xa3, 0xe9, 0x2c, 0x4c, 0xdb, 0xb4, 0x47, 0xcb, 0x0e, + 0x1b, 0x43, 0xdd, 0xb3, 0x21, 0xb6, 0x25, 0x4a, 0xb3, 0x7c, 0x11, 0xc1, +}; +static const unsigned char kat3138_addinpr2[] = { + 0x8f, 0xec, 0x79, 0x4c, 0x50, 0xf3, 0x32, 0x0a, 0xe1, 0x82, 0x63, 0x77, + 0xcd, 0xd5, 0xfb, 0x23, 0x3e, 0x70, 0xaa, 0xae, 0x90, 0xcc, 0x2c, 0xa6, + 0x7b, 0x86, 0x2f, 0x6e, 0xf0, 0xa6, 0xfa, 0xfc, +}; +static const unsigned char kat3138_retbits[] = { + 0xc5, 0x01, 0xd2, 0x4a, 0x34, 0x23, 0xdf, 0x05, 0xf0, 0xd6, 0x48, 0x67, + 0xc9, 0x32, 0x2c, 0xff, 0x72, 0x2c, 0xf4, 0x0c, 0x20, 0x2c, 0x08, 0xad, + 0x88, 0x82, 0x5d, 0x95, 0xdc, 0x7d, 0x46, 0x35, 0xb8, 0xf1, 0x95, 0x88, + 0x6a, 0x1a, 0xa7, 0xa6, 0x4b, 0x73, 0xd3, 0x4c, 0x04, 0x03, 0x33, 0xfe, + 0xb5, 0xae, 0x0b, 0xae, 0x28, 0x42, 0x7c, 0x66, 0xb8, 0x1b, 0x6d, 0xc0, + 0xd9, 0x1e, 0x1f, 0x1a, +}; +static const struct drbg_kat_pr_true kat3138_t = { + 2, kat3138_entropyin, kat3138_nonce, kat3138_persstr, + kat3138_entropyinpr1, kat3138_addinpr1, kat3138_entropyinpr2, + kat3138_addinpr2, kat3138_retbits +}; +static const struct drbg_kat kat3138 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3138_t +}; + +static const unsigned char kat3139_entropyin[] = { + 0xb7, 0xf8, 0x00, 0x1f, 0xde, 0xf0, 0x64, 0xa0, 0x2b, 0x01, 0x12, 0x63, + 0xa8, 0x70, 0xfd, 0xb7, 0x8e, 0x58, 0x38, 0xb2, 0xb0, 0x1f, 0x0d, 0x55, +}; +static const unsigned char kat3139_nonce[] = { + 0xe6, 0x5f, 0x13, 0x32, 0x35, 0xa8, 0xb7, 0xa0, 0x08, 0x5a, 0xe6, 0xa4, + 0x45, 0xd4, 0x08, 0x0e, +}; +static const unsigned char kat3139_persstr[] = {0}; +static const unsigned char kat3139_entropyinpr1[] = { + 0xb4, 0x8a, 0x23, 0x7c, 0x0d, 0x81, 0xa7, 0xee, 0x2b, 0xd3, 0x8c, 0xf4, + 0xde, 0xa8, 0x4a, 0x0c, 0x56, 0xb4, 0x59, 0x5a, 0xa2, 0xa6, 0xd6, 0x7f, +}; +static const unsigned char kat3139_addinpr1[] = { + 0x2d, 0xa3, 0xf9, 0x5a, 0x95, 0x24, 0x44, 0xd5, 0x6a, 0xd5, 0xdf, 0xf3, + 0x34, 0x8a, 0x5a, 0x31, 0xc7, 0x2e, 0xc9, 0x79, 0xa1, 0xad, 0x0b, 0xa8, + 0x0a, 0xc1, 0x75, 0x1a, 0x4f, 0x7c, 0xe0, 0xc5, +}; +static const unsigned char kat3139_entropyinpr2[] = { + 0x10, 0x81, 0xa9, 0x78, 0xb6, 0x1f, 0x37, 0x03, 0xf3, 0x59, 0xd7, 0x3a, + 0xfc, 0x80, 0xb6, 0x05, 0x38, 0x37, 0x6d, 0xef, 0x2d, 0x79, 0xf1, 0x58, +}; +static const unsigned char kat3139_addinpr2[] = { + 0x19, 0x95, 0xbb, 0xff, 0x2f, 0x26, 0xe7, 0x6a, 0x0b, 0x57, 0x6e, 0x92, + 0xbc, 0x45, 0x30, 0x54, 0xd3, 0xfd, 0x9d, 0x03, 0x3b, 0xec, 0x84, 0x81, + 0x18, 0x22, 0xe3, 0xcd, 0x56, 0x04, 0x5e, 0xd6, +}; +static const unsigned char kat3139_retbits[] = { + 0xf9, 0x71, 0x36, 0x73, 0x8d, 0x53, 0x1c, 0xed, 0x37, 0x99, 0x7a, 0x2b, + 0xf4, 0x01, 0xef, 0x00, 0xc2, 0x52, 0xc0, 0x76, 0xa4, 0x31, 0xee, 0xfd, + 0x00, 0xda, 0x35, 0xab, 0x7a, 0x42, 0xf8, 0x86, 0xfb, 0xd7, 0x47, 0x1d, + 0x6a, 0xfd, 0x3b, 0xae, 0xa2, 0xbe, 0xb5, 0x88, 0x7f, 0x8b, 0x6f, 0xb8, + 0x36, 0x63, 0x97, 0x9f, 0xef, 0x6f, 0xd2, 0x35, 0x18, 0xce, 0x26, 0x17, + 0xd2, 0xdb, 0x8e, 0x3e, +}; +static const struct drbg_kat_pr_true kat3139_t = { + 3, kat3139_entropyin, kat3139_nonce, kat3139_persstr, + kat3139_entropyinpr1, kat3139_addinpr1, kat3139_entropyinpr2, + kat3139_addinpr2, kat3139_retbits +}; +static const struct drbg_kat kat3139 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3139_t +}; + +static const unsigned char kat3140_entropyin[] = { + 0xe9, 0xba, 0x01, 0x32, 0x2b, 0x24, 0xb5, 0xb2, 0xd1, 0x37, 0xd2, 0xe3, + 0x31, 0x50, 0xc6, 0xa1, 0x49, 0x95, 0x8f, 0x8f, 0x4d, 0xc8, 0x6c, 0xe5, +}; +static const unsigned char kat3140_nonce[] = { + 0x4c, 0x72, 0x1a, 0xb7, 0xc6, 0x20, 0xd8, 0x9c, 0x4e, 0x19, 0x64, 0x1d, + 0xcf, 0xab, 0x02, 0x58, +}; +static const unsigned char kat3140_persstr[] = {0}; +static const unsigned char kat3140_entropyinpr1[] = { + 0x13, 0x63, 0x3b, 0xf1, 0x64, 0xe6, 0xbe, 0x0d, 0x5e, 0xa1, 0x1d, 0xd3, + 0xad, 0x39, 0x00, 0xf6, 0x4e, 0xfe, 0x0e, 0xeb, 0x24, 0xaf, 0x07, 0x86, +}; +static const unsigned char kat3140_addinpr1[] = { + 0xa4, 0x8d, 0x4e, 0x7b, 0xfe, 0x2c, 0xef, 0x8d, 0x20, 0xd1, 0x4b, 0x51, + 0xe9, 0x5b, 0xa8, 0xb9, 0x74, 0xa8, 0x36, 0x92, 0x74, 0x82, 0x21, 0xc9, + 0x95, 0x5f, 0xce, 0x99, 0x56, 0xe8, 0x3f, 0x37, +}; +static const unsigned char kat3140_entropyinpr2[] = { + 0x67, 0x82, 0xc9, 0x80, 0x76, 0x98, 0x4b, 0x3a, 0x52, 0xf9, 0xad, 0x3a, + 0x22, 0x7e, 0x2a, 0xb8, 0x82, 0x1b, 0xf6, 0x64, 0x3d, 0x4f, 0x87, 0x32, +}; +static const unsigned char kat3140_addinpr2[] = { + 0x46, 0xe0, 0x09, 0x42, 0xaa, 0x45, 0xe5, 0x46, 0xd6, 0x63, 0x38, 0x2c, + 0xa2, 0x95, 0xa2, 0x74, 0x3a, 0x5b, 0x2c, 0x9d, 0xc9, 0x68, 0x8b, 0x6a, + 0x0f, 0x5c, 0x92, 0x99, 0x5f, 0x78, 0x2b, 0x78, +}; +static const unsigned char kat3140_retbits[] = { + 0xcd, 0x21, 0xc2, 0x92, 0xee, 0x22, 0xaa, 0xea, 0xee, 0x15, 0x48, 0x6d, + 0x05, 0xf4, 0x0e, 0x97, 0xab, 0xd2, 0x01, 0x23, 0xb7, 0x7e, 0xc6, 0xed, + 0xea, 0xdb, 0x4d, 0x1c, 0x7a, 0xf0, 0x72, 0x77, 0xb5, 0xb1, 0xe1, 0x91, + 0xaf, 0x54, 0xdb, 0x56, 0x22, 0x26, 0x98, 0x45, 0x14, 0x63, 0xa1, 0xda, + 0xef, 0x51, 0x0b, 0x7b, 0x25, 0x9c, 0x34, 0x87, 0x48, 0xbe, 0x3b, 0xd9, + 0xfe, 0x5f, 0x65, 0xdd, +}; +static const struct drbg_kat_pr_true kat3140_t = { + 4, kat3140_entropyin, kat3140_nonce, kat3140_persstr, + kat3140_entropyinpr1, kat3140_addinpr1, kat3140_entropyinpr2, + kat3140_addinpr2, kat3140_retbits +}; +static const struct drbg_kat kat3140 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3140_t +}; + +static const unsigned char kat3141_entropyin[] = { + 0xf4, 0x84, 0x33, 0x1f, 0x15, 0x67, 0xcd, 0xf4, 0xf7, 0xb7, 0x92, 0x8b, + 0x6c, 0x20, 0x91, 0x4c, 0xb4, 0x74, 0x73, 0x85, 0xe3, 0x3a, 0xff, 0xdb, +}; +static const unsigned char kat3141_nonce[] = { + 0xb7, 0xbd, 0xbe, 0x04, 0x3a, 0x0d, 0x7a, 0x39, 0xa2, 0x02, 0xbc, 0x34, + 0x1b, 0xda, 0x24, 0x95, +}; +static const unsigned char kat3141_persstr[] = {0}; +static const unsigned char kat3141_entropyinpr1[] = { + 0xaf, 0x60, 0xb7, 0x3f, 0x09, 0x6c, 0x05, 0xa9, 0x77, 0xea, 0xc9, 0xdc, + 0x2b, 0x38, 0xc4, 0x52, 0x4a, 0x5e, 0xf8, 0x14, 0x71, 0x6e, 0x9a, 0x10, +}; +static const unsigned char kat3141_addinpr1[] = { + 0x07, 0x17, 0x5c, 0x3a, 0x18, 0xb4, 0x86, 0x1b, 0x16, 0x9c, 0x3d, 0x80, + 0x2e, 0x71, 0x47, 0x55, 0x90, 0x19, 0xf9, 0xf4, 0x30, 0x8a, 0xc0, 0x46, + 0x7a, 0x9c, 0x1d, 0x6a, 0xd9, 0x54, 0x3f, 0x62, +}; +static const unsigned char kat3141_entropyinpr2[] = { + 0x23, 0x66, 0xf5, 0x1e, 0x74, 0x8c, 0x35, 0xa0, 0x11, 0xd9, 0x22, 0x48, + 0x31, 0x49, 0xd2, 0x65, 0x1a, 0x24, 0xf7, 0x1c, 0x88, 0x12, 0x33, 0xd5, +}; +static const unsigned char kat3141_addinpr2[] = { + 0x0b, 0xff, 0x39, 0xf2, 0xd2, 0xc0, 0xff, 0xbf, 0xde, 0x16, 0x97, 0x38, + 0x4a, 0x88, 0xe4, 0x78, 0x5a, 0x2f, 0xd1, 0x25, 0xd0, 0x88, 0x63, 0x49, + 0x17, 0xbb, 0x70, 0xe8, 0x50, 0x58, 0x2a, 0x7c, +}; +static const unsigned char kat3141_retbits[] = { + 0xb3, 0xd2, 0x85, 0xbf, 0xb8, 0x55, 0x5b, 0x38, 0x7a, 0x40, 0x9e, 0x30, + 0xc3, 0xdd, 0x2b, 0x13, 0x1a, 0xbf, 0x5c, 0x46, 0xe7, 0x95, 0x10, 0xf0, + 0x77, 0xd8, 0x52, 0x1a, 0x4c, 0x4f, 0x27, 0xe7, 0xb3, 0x2a, 0xe0, 0xc3, + 0xdd, 0x35, 0xfb, 0xa7, 0xfd, 0x60, 0x34, 0xbf, 0x92, 0xc8, 0x26, 0x02, + 0x22, 0x69, 0xe8, 0x6d, 0x85, 0x0b, 0xaf, 0x30, 0x88, 0x8d, 0x6d, 0xe3, + 0x5c, 0x74, 0x34, 0xe7, +}; +static const struct drbg_kat_pr_true kat3141_t = { + 5, kat3141_entropyin, kat3141_nonce, kat3141_persstr, + kat3141_entropyinpr1, kat3141_addinpr1, kat3141_entropyinpr2, + kat3141_addinpr2, kat3141_retbits +}; +static const struct drbg_kat kat3141 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3141_t +}; + +static const unsigned char kat3142_entropyin[] = { + 0x8c, 0x6d, 0xee, 0x14, 0x56, 0x44, 0x3b, 0x47, 0xfa, 0xf2, 0xba, 0x73, + 0x78, 0x02, 0x40, 0xb2, 0xf4, 0x30, 0x20, 0x70, 0x6e, 0xe8, 0x46, 0x5d, +}; +static const unsigned char kat3142_nonce[] = { + 0x15, 0xa1, 0x39, 0xb7, 0x5c, 0x75, 0x52, 0x3f, 0x9b, 0x6f, 0x39, 0xc0, + 0x77, 0x58, 0x3e, 0xd6, +}; +static const unsigned char kat3142_persstr[] = {0}; +static const unsigned char kat3142_entropyinpr1[] = { + 0x4c, 0xad, 0x98, 0xf5, 0x4c, 0xae, 0x3e, 0x2c, 0x0c, 0xce, 0xf2, 0xbd, + 0x77, 0x2e, 0x97, 0x77, 0x34, 0x49, 0x71, 0xf1, 0xd3, 0xa9, 0x4e, 0xe8, +}; +static const unsigned char kat3142_addinpr1[] = { + 0x5d, 0x68, 0x41, 0x4e, 0xc3, 0x88, 0xaf, 0x07, 0x4c, 0x29, 0x87, 0xe0, + 0x52, 0x1a, 0x01, 0x2a, 0xae, 0xd0, 0x1d, 0x4f, 0x88, 0x51, 0x0f, 0xf6, + 0x97, 0x16, 0x18, 0x61, 0x43, 0x39, 0x42, 0x31, +}; +static const unsigned char kat3142_entropyinpr2[] = { + 0xdb, 0xf0, 0x04, 0xf6, 0xa3, 0x94, 0x44, 0xbf, 0xd1, 0xf6, 0x18, 0x30, + 0xf7, 0x1d, 0xc2, 0xcc, 0x13, 0x82, 0xfd, 0x3e, 0x21, 0xf6, 0x54, 0xe1, +}; +static const unsigned char kat3142_addinpr2[] = { + 0x08, 0x66, 0x75, 0xfd, 0x33, 0x06, 0x01, 0x73, 0xa2, 0xfa, 0xb6, 0xe8, + 0x75, 0x1c, 0x8c, 0xcd, 0x89, 0xec, 0x39, 0x75, 0xd2, 0xc4, 0x97, 0x96, + 0x17, 0xab, 0xfd, 0xbb, 0xa6, 0x03, 0xc1, 0x20, +}; +static const unsigned char kat3142_retbits[] = { + 0xbb, 0x29, 0x8c, 0x31, 0xae, 0x69, 0xa3, 0x03, 0x51, 0x54, 0x9e, 0x1c, + 0x14, 0x24, 0x92, 0x5b, 0x26, 0xc9, 0x82, 0xfc, 0x94, 0x24, 0xc1, 0x43, + 0x6c, 0x16, 0xa2, 0xa3, 0x2c, 0xf1, 0xc3, 0x96, 0xe8, 0x5b, 0x7b, 0xac, + 0x05, 0xea, 0xa7, 0xc4, 0x9f, 0x8a, 0x5d, 0x67, 0xac, 0xa5, 0x34, 0x6c, + 0x57, 0x4d, 0x3f, 0x74, 0x97, 0xb2, 0xbf, 0x32, 0x9d, 0xaf, 0x23, 0xbf, + 0xf7, 0x8d, 0xae, 0x66, +}; +static const struct drbg_kat_pr_true kat3142_t = { + 6, kat3142_entropyin, kat3142_nonce, kat3142_persstr, + kat3142_entropyinpr1, kat3142_addinpr1, kat3142_entropyinpr2, + kat3142_addinpr2, kat3142_retbits +}; +static const struct drbg_kat kat3142 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3142_t +}; + +static const unsigned char kat3143_entropyin[] = { + 0xab, 0xa4, 0xe6, 0xae, 0x82, 0x60, 0x59, 0x9a, 0xee, 0x1a, 0x2f, 0x91, + 0xdc, 0x92, 0x92, 0x9b, 0x97, 0x45, 0x13, 0xba, 0xaa, 0x59, 0xc9, 0xc8, +}; +static const unsigned char kat3143_nonce[] = { + 0xec, 0xa1, 0xe2, 0x84, 0x3c, 0x70, 0x74, 0xfb, 0x21, 0xb7, 0x91, 0x6f, + 0x8c, 0x99, 0x1a, 0x87, +}; +static const unsigned char kat3143_persstr[] = {0}; +static const unsigned char kat3143_entropyinpr1[] = { + 0x2e, 0xfc, 0xc9, 0x6a, 0x3c, 0x53, 0xba, 0x91, 0x53, 0xdf, 0xbc, 0x34, + 0xec, 0xf3, 0xa7, 0x16, 0x09, 0x1d, 0x75, 0x92, 0xb8, 0x7f, 0xce, 0x2b, +}; +static const unsigned char kat3143_addinpr1[] = { + 0x8b, 0x79, 0x19, 0xf1, 0x0f, 0xac, 0x64, 0x1a, 0x83, 0x6e, 0x0f, 0xc0, + 0xc8, 0xbf, 0xe7, 0x72, 0x60, 0xf6, 0x04, 0xe7, 0x2e, 0x7a, 0xd5, 0x95, + 0xb7, 0xdf, 0x58, 0xef, 0x91, 0xb9, 0x04, 0x4b, +}; +static const unsigned char kat3143_entropyinpr2[] = { + 0x82, 0x78, 0x89, 0xaf, 0x9c, 0x41, 0x08, 0x19, 0x77, 0x5b, 0x6e, 0xff, + 0xd0, 0x0e, 0x30, 0xa4, 0xcb, 0xe5, 0xe5, 0x36, 0x8b, 0x07, 0x77, 0xd6, +}; +static const unsigned char kat3143_addinpr2[] = { + 0xdc, 0x3b, 0x27, 0xa4, 0xe5, 0x8c, 0xb7, 0x16, 0xfd, 0x69, 0x76, 0x21, + 0x8b, 0xa6, 0xe8, 0x4c, 0x06, 0x0d, 0xc6, 0xf2, 0x7f, 0x7a, 0x16, 0x8b, + 0xfc, 0xb6, 0xf8, 0x7e, 0x1c, 0x5f, 0x1b, 0x4b, +}; +static const unsigned char kat3143_retbits[] = { + 0xad, 0xbf, 0x0d, 0xe3, 0x15, 0xb0, 0x39, 0xbc, 0x14, 0x4e, 0x30, 0x1c, + 0xbf, 0x87, 0x03, 0xc8, 0x85, 0x9f, 0x36, 0x82, 0x6e, 0x66, 0x21, 0x24, + 0xaa, 0xcd, 0x80, 0xdc, 0x05, 0x94, 0x25, 0xde, 0x57, 0x55, 0x7d, 0x18, + 0x8d, 0x68, 0xc3, 0x4b, 0x6c, 0x64, 0x87, 0xb6, 0x14, 0x19, 0x14, 0x3e, + 0x17, 0xae, 0xad, 0x8e, 0x3b, 0xc8, 0xf2, 0x08, 0xd3, 0x3c, 0x7d, 0x08, + 0xee, 0x8c, 0x75, 0x0b, +}; +static const struct drbg_kat_pr_true kat3143_t = { + 7, kat3143_entropyin, kat3143_nonce, kat3143_persstr, + kat3143_entropyinpr1, kat3143_addinpr1, kat3143_entropyinpr2, + kat3143_addinpr2, kat3143_retbits +}; +static const struct drbg_kat kat3143 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3143_t +}; + +static const unsigned char kat3144_entropyin[] = { + 0x78, 0xb8, 0x33, 0x33, 0x2d, 0xdf, 0x85, 0x35, 0x61, 0x25, 0x46, 0x2e, + 0x4b, 0x40, 0xa5, 0xba, 0xd9, 0x99, 0x2c, 0x11, 0x5a, 0xfe, 0xf8, 0x82, +}; +static const unsigned char kat3144_nonce[] = { + 0x36, 0x03, 0x43, 0x8e, 0x10, 0x40, 0x5c, 0x98, 0x30, 0xcd, 0xab, 0xe0, + 0x8c, 0x0b, 0xf3, 0x2e, +}; +static const unsigned char kat3144_persstr[] = {0}; +static const unsigned char kat3144_entropyinpr1[] = { + 0x88, 0xb0, 0x95, 0xad, 0xe0, 0x30, 0x29, 0xc9, 0x1d, 0x85, 0x80, 0xb2, + 0x04, 0xb9, 0xbc, 0xa6, 0x09, 0xcb, 0x7a, 0xc4, 0xd5, 0x4b, 0xc0, 0xbc, +}; +static const unsigned char kat3144_addinpr1[] = { + 0xbd, 0xdb, 0x82, 0x3d, 0xac, 0x65, 0x45, 0x37, 0xd0, 0x2c, 0xfc, 0x50, + 0x4f, 0xfe, 0x3f, 0x08, 0xf2, 0x9d, 0xee, 0x57, 0xcb, 0xc1, 0x4f, 0x0b, + 0xf3, 0x13, 0x96, 0x5c, 0x95, 0x38, 0x3c, 0x58, +}; +static const unsigned char kat3144_entropyinpr2[] = { + 0x80, 0x14, 0x9d, 0xf3, 0x54, 0xfc, 0x9d, 0x21, 0xe5, 0x10, 0x9a, 0x48, + 0x7d, 0x9a, 0xe5, 0xce, 0x5c, 0x6a, 0xf4, 0x55, 0xe7, 0x5b, 0xa6, 0x87, +}; +static const unsigned char kat3144_addinpr2[] = { + 0x11, 0xe6, 0x0b, 0x35, 0x2f, 0x30, 0x79, 0xf1, 0xc0, 0x7c, 0x91, 0x43, + 0x06, 0x0b, 0xa7, 0x82, 0x70, 0x3b, 0x24, 0x7e, 0x1a, 0xac, 0xa1, 0x91, + 0x5e, 0x70, 0x52, 0xfd, 0xd1, 0xf6, 0x7f, 0xbe, +}; +static const unsigned char kat3144_retbits[] = { + 0x42, 0xb2, 0x32, 0x07, 0x7c, 0x5b, 0xec, 0xe8, 0x65, 0x6d, 0xad, 0x73, + 0x54, 0x5d, 0xc3, 0x4d, 0xed, 0x73, 0x05, 0xeb, 0x4a, 0xcb, 0xce, 0x0f, + 0x66, 0x5e, 0x6b, 0x35, 0x57, 0x07, 0xd1, 0x98, 0x74, 0x65, 0x01, 0x74, + 0x1a, 0xf2, 0xa6, 0x1e, 0x70, 0x07, 0x24, 0xf1, 0xe0, 0xcf, 0xf4, 0x76, + 0xa0, 0x53, 0x36, 0xc7, 0x1c, 0xcb, 0x2e, 0xf9, 0xea, 0x34, 0xf7, 0x4c, + 0x30, 0x05, 0xc0, 0x37, +}; +static const struct drbg_kat_pr_true kat3144_t = { + 8, kat3144_entropyin, kat3144_nonce, kat3144_persstr, + kat3144_entropyinpr1, kat3144_addinpr1, kat3144_entropyinpr2, + kat3144_addinpr2, kat3144_retbits +}; +static const struct drbg_kat kat3144 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3144_t +}; + +static const unsigned char kat3145_entropyin[] = { + 0x2b, 0xd9, 0xbd, 0xe8, 0x69, 0x4e, 0x97, 0xcd, 0x8a, 0x31, 0xfa, 0xeb, + 0xd2, 0x55, 0xd2, 0x24, 0xd4, 0x7d, 0x4c, 0x75, 0x6d, 0x46, 0x99, 0x38, +}; +static const unsigned char kat3145_nonce[] = { + 0xec, 0x60, 0xe5, 0x01, 0xba, 0xfd, 0x72, 0x22, 0x1d, 0xf3, 0x57, 0x50, + 0x01, 0xc8, 0xb5, 0x94, +}; +static const unsigned char kat3145_persstr[] = {0}; +static const unsigned char kat3145_entropyinpr1[] = { + 0xbd, 0xd5, 0x1d, 0x85, 0x6e, 0xaf, 0x5a, 0x0c, 0xd5, 0xd5, 0xc4, 0xcd, + 0x48, 0xb7, 0xd3, 0x8e, 0x58, 0xe3, 0xb1, 0x6a, 0xfc, 0xf7, 0xf9, 0xa3, +}; +static const unsigned char kat3145_addinpr1[] = { + 0x46, 0x91, 0x96, 0x8a, 0x71, 0x30, 0x71, 0x0e, 0x06, 0xf6, 0xe2, 0x18, + 0xaf, 0x1f, 0xc7, 0xd9, 0xd1, 0x23, 0x76, 0x4e, 0x6b, 0xc7, 0x72, 0xfe, + 0x72, 0x6d, 0x9b, 0x0c, 0x48, 0xf9, 0x1d, 0xde, +}; +static const unsigned char kat3145_entropyinpr2[] = { + 0xf5, 0x2b, 0x17, 0x64, 0x1b, 0x86, 0x1a, 0x4e, 0x0e, 0xcd, 0x65, 0x03, + 0x48, 0x5f, 0x4f, 0x44, 0xa9, 0xb3, 0xa8, 0xa8, 0xde, 0xa6, 0x1c, 0x51, +}; +static const unsigned char kat3145_addinpr2[] = { + 0xf1, 0xa1, 0x86, 0x1e, 0x7d, 0x9c, 0xfa, 0x11, 0xff, 0x7d, 0xad, 0xd7, + 0xf1, 0xbe, 0xe5, 0xe7, 0x70, 0x0f, 0x41, 0x99, 0xc1, 0x94, 0x98, 0x46, + 0x71, 0xea, 0x1a, 0xa0, 0xb9, 0x98, 0xa6, 0x23, +}; +static const unsigned char kat3145_retbits[] = { + 0xce, 0xb5, 0x48, 0x0c, 0x76, 0x99, 0xdb, 0xf6, 0xc5, 0x79, 0xc4, 0xf4, + 0x8c, 0xaf, 0x81, 0x23, 0xc0, 0x8c, 0xe4, 0xd8, 0x67, 0x3e, 0xb3, 0x24, + 0x14, 0x0f, 0x29, 0xdc, 0x35, 0x83, 0x89, 0x91, 0xd3, 0xca, 0x99, 0xda, + 0x2f, 0xdd, 0x6b, 0x0f, 0x74, 0x4e, 0x93, 0x86, 0xf1, 0xb9, 0x77, 0xdf, + 0x4c, 0x06, 0x62, 0x9f, 0x16, 0x74, 0x91, 0x60, 0x3d, 0x41, 0xc2, 0x1a, + 0xb0, 0xe6, 0x0a, 0xab, +}; +static const struct drbg_kat_pr_true kat3145_t = { + 9, kat3145_entropyin, kat3145_nonce, kat3145_persstr, + kat3145_entropyinpr1, kat3145_addinpr1, kat3145_entropyinpr2, + kat3145_addinpr2, kat3145_retbits +}; +static const struct drbg_kat kat3145 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3145_t +}; + +static const unsigned char kat3146_entropyin[] = { + 0xd7, 0x08, 0x42, 0x82, 0xc2, 0xd2, 0xd1, 0xde, 0x01, 0xb4, 0x36, 0xb3, + 0x7f, 0xbd, 0xd3, 0xdd, 0xb3, 0xc4, 0x31, 0x4f, 0x8f, 0xa7, 0x10, 0xf4, +}; +static const unsigned char kat3146_nonce[] = { + 0x7b, 0x9e, 0xcd, 0x49, 0x4f, 0x46, 0xa0, 0x08, 0x32, 0xff, 0x2e, 0xc3, + 0x50, 0x86, 0xca, 0xca, +}; +static const unsigned char kat3146_persstr[] = {0}; +static const unsigned char kat3146_entropyinpr1[] = { + 0x68, 0xd0, 0x7b, 0xa4, 0xe7, 0x22, 0x19, 0xe6, 0xb6, 0x46, 0x6a, 0xda, + 0x8e, 0x67, 0xea, 0x63, 0x3f, 0xaf, 0x2f, 0x6c, 0x9d, 0x5e, 0x48, 0x15, +}; +static const unsigned char kat3146_addinpr1[] = { + 0x70, 0x0f, 0x54, 0xf4, 0x53, 0xde, 0xca, 0x61, 0x5c, 0x49, 0x51, 0xd1, + 0x41, 0xc4, 0xf1, 0x2f, 0x65, 0xfb, 0x7e, 0xbc, 0x9b, 0x14, 0xba, 0x90, + 0x05, 0x33, 0x7e, 0x64, 0xb7, 0x2b, 0xaf, 0x99, +}; +static const unsigned char kat3146_entropyinpr2[] = { + 0xeb, 0x77, 0xb0, 0xe9, 0x2d, 0x31, 0xc8, 0x66, 0xc5, 0xc4, 0xa7, 0xf7, + 0x6c, 0xb2, 0x74, 0x36, 0x4b, 0x25, 0x78, 0x04, 0xd8, 0xd7, 0xd2, 0x34, +}; +static const unsigned char kat3146_addinpr2[] = { + 0x05, 0xcd, 0x2a, 0x97, 0x5a, 0x5d, 0xfb, 0x98, 0xc1, 0xf1, 0x00, 0x0c, + 0xed, 0xe6, 0x2a, 0xba, 0xf0, 0x89, 0x1f, 0x5a, 0x4f, 0xd7, 0x48, 0xb3, + 0x24, 0xc0, 0x8a, 0x3d, 0x60, 0x59, 0x5d, 0xb6, +}; +static const unsigned char kat3146_retbits[] = { + 0x29, 0x94, 0xa4, 0xa8, 0x17, 0x3e, 0x62, 0x2f, 0x94, 0xdd, 0x40, 0x1f, + 0xe3, 0x7e, 0x77, 0xd4, 0x38, 0xbc, 0x0e, 0x49, 0x46, 0xf6, 0x0e, 0x28, + 0x91, 0xc6, 0x9c, 0xc4, 0xa6, 0xa1, 0xf8, 0x9a, 0x64, 0x5e, 0x99, 0x76, + 0xd0, 0x2d, 0xee, 0xde, 0xe1, 0x2c, 0x93, 0x29, 0x4b, 0x12, 0xcf, 0x87, + 0x03, 0x98, 0xb9, 0x74, 0x41, 0xdb, 0x3a, 0x49, 0x9f, 0x92, 0xd0, 0x45, + 0xd4, 0x30, 0x73, 0xbb, +}; +static const struct drbg_kat_pr_true kat3146_t = { + 10, kat3146_entropyin, kat3146_nonce, kat3146_persstr, + kat3146_entropyinpr1, kat3146_addinpr1, kat3146_entropyinpr2, + kat3146_addinpr2, kat3146_retbits +}; +static const struct drbg_kat kat3146 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3146_t +}; + +static const unsigned char kat3147_entropyin[] = { + 0x45, 0x33, 0x48, 0x45, 0x32, 0x45, 0xcc, 0x0a, 0xbd, 0x99, 0x65, 0x94, + 0xc2, 0x7e, 0x85, 0xdc, 0x99, 0x61, 0xe0, 0xd2, 0x59, 0x49, 0x68, 0xad, +}; +static const unsigned char kat3147_nonce[] = { + 0x55, 0xca, 0xf8, 0x7a, 0xe6, 0x57, 0x40, 0x8e, 0x15, 0x9b, 0x33, 0xeb, + 0xe1, 0x61, 0x8b, 0xcb, +}; +static const unsigned char kat3147_persstr[] = {0}; +static const unsigned char kat3147_entropyinpr1[] = { + 0xd4, 0x67, 0xc3, 0xf4, 0xd7, 0x32, 0x09, 0x7a, 0xd2, 0x27, 0x20, 0xa8, + 0x99, 0x9f, 0x4c, 0x50, 0xa6, 0x15, 0xd7, 0x93, 0x6b, 0xab, 0x20, 0x49, +}; +static const unsigned char kat3147_addinpr1[] = { + 0x4b, 0x2a, 0xd8, 0x8f, 0x79, 0x6d, 0x63, 0x8a, 0x0c, 0x0c, 0x39, 0x1a, + 0xcb, 0x43, 0xd0, 0xb7, 0x1b, 0xae, 0x91, 0x44, 0xc7, 0x7b, 0x9f, 0xa5, + 0xac, 0xa9, 0x4f, 0x5b, 0x3a, 0x56, 0x62, 0x6e, +}; +static const unsigned char kat3147_entropyinpr2[] = { + 0x40, 0xd4, 0x75, 0xa5, 0xf8, 0x81, 0xf8, 0x6d, 0x05, 0xa8, 0xa0, 0x84, + 0xeb, 0xb0, 0x6d, 0x34, 0xf0, 0xec, 0xd4, 0xf7, 0x2a, 0x06, 0xa5, 0x1e, +}; +static const unsigned char kat3147_addinpr2[] = { + 0x93, 0x81, 0x7c, 0x69, 0xeb, 0xc2, 0x25, 0xbc, 0x50, 0x3d, 0x95, 0xb1, + 0x29, 0x89, 0x97, 0x30, 0xe7, 0x1e, 0x55, 0x91, 0x3c, 0xb0, 0x72, 0x34, + 0xa0, 0x7e, 0x9f, 0xec, 0x76, 0x2e, 0x3a, 0x86, +}; +static const unsigned char kat3147_retbits[] = { + 0x70, 0xea, 0x9e, 0xb8, 0xd4, 0x89, 0x8f, 0x21, 0xe0, 0xd0, 0x1b, 0x5c, + 0xf3, 0xd1, 0xb9, 0xab, 0x6f, 0xee, 0x03, 0x5f, 0x1b, 0x3a, 0x55, 0x83, + 0xb1, 0x10, 0xce, 0xf0, 0x37, 0xbc, 0x2d, 0x69, 0xd5, 0x07, 0x33, 0x23, + 0x57, 0x52, 0x30, 0x49, 0x14, 0xa4, 0x50, 0xa5, 0x51, 0x31, 0x8c, 0x05, + 0xa3, 0xc0, 0x8b, 0xc5, 0x3b, 0x08, 0xde, 0x82, 0x64, 0xfb, 0x77, 0xdf, + 0xe4, 0x1f, 0x2f, 0xce, +}; +static const struct drbg_kat_pr_true kat3147_t = { + 11, kat3147_entropyin, kat3147_nonce, kat3147_persstr, + kat3147_entropyinpr1, kat3147_addinpr1, kat3147_entropyinpr2, + kat3147_addinpr2, kat3147_retbits +}; +static const struct drbg_kat kat3147 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3147_t +}; + +static const unsigned char kat3148_entropyin[] = { + 0xb6, 0x76, 0xfe, 0xab, 0x77, 0x52, 0x4b, 0x0b, 0xc1, 0xed, 0xaa, 0xb1, + 0xe4, 0x50, 0x57, 0x40, 0xe1, 0x31, 0x38, 0x15, 0x79, 0xea, 0x0b, 0xb6, +}; +static const unsigned char kat3148_nonce[] = { + 0x05, 0x2a, 0x28, 0xdf, 0xfb, 0xd5, 0xa9, 0x8a, 0x9e, 0xe0, 0xc4, 0xf6, + 0xbc, 0xaf, 0xca, 0x9a, +}; +static const unsigned char kat3148_persstr[] = {0}; +static const unsigned char kat3148_entropyinpr1[] = { + 0x9c, 0x5e, 0xe2, 0x91, 0x9c, 0xac, 0xbe, 0x5d, 0x76, 0x3b, 0x8b, 0x94, + 0xa3, 0x6b, 0x7c, 0x90, 0x8e, 0x62, 0xe1, 0x35, 0x20, 0x7b, 0x95, 0x1a, +}; +static const unsigned char kat3148_addinpr1[] = { + 0x3e, 0x33, 0x51, 0x71, 0x48, 0xe6, 0x75, 0x40, 0xc1, 0x65, 0x3b, 0x6b, + 0x2d, 0x5d, 0x49, 0x62, 0x37, 0xaa, 0xa0, 0xfc, 0x31, 0x55, 0xe8, 0xc6, + 0x03, 0xab, 0x82, 0x0b, 0x86, 0xea, 0xae, 0x68, +}; +static const unsigned char kat3148_entropyinpr2[] = { + 0xbd, 0xa0, 0xbf, 0x5b, 0xd5, 0x5c, 0x9a, 0xf0, 0x1d, 0xa9, 0x8b, 0x3c, + 0xd5, 0x44, 0x39, 0x03, 0xa7, 0x9a, 0x95, 0x73, 0x5a, 0x09, 0xdc, 0x6b, +}; +static const unsigned char kat3148_addinpr2[] = { + 0x48, 0x1e, 0x5b, 0x69, 0xb3, 0xcb, 0x22, 0x8b, 0x8f, 0xb1, 0xf6, 0x3d, + 0x2f, 0x54, 0xbd, 0xbe, 0x44, 0x11, 0xf5, 0x94, 0x40, 0xfc, 0xef, 0xdb, + 0xe7, 0x8f, 0xdb, 0xa9, 0x2b, 0xa8, 0x4d, 0xc1, +}; +static const unsigned char kat3148_retbits[] = { + 0xa2, 0x3f, 0xbd, 0x78, 0x56, 0x91, 0x25, 0x04, 0xb4, 0xe8, 0x3f, 0xfc, + 0x0d, 0x44, 0x0b, 0x08, 0x27, 0x68, 0x84, 0x37, 0x85, 0x4c, 0x64, 0x6f, + 0x54, 0x78, 0x92, 0x48, 0x71, 0xfa, 0x2f, 0xa5, 0x09, 0x1a, 0xea, 0x56, + 0xf0, 0x49, 0x18, 0x2b, 0x5c, 0x32, 0x80, 0x57, 0x96, 0x7d, 0xdd, 0x82, + 0xe7, 0xc6, 0x53, 0x22, 0xa8, 0x9a, 0x51, 0x99, 0xb3, 0xb2, 0x94, 0xe0, + 0xe9, 0x1c, 0x34, 0xd9, +}; +static const struct drbg_kat_pr_true kat3148_t = { + 12, kat3148_entropyin, kat3148_nonce, kat3148_persstr, + kat3148_entropyinpr1, kat3148_addinpr1, kat3148_entropyinpr2, + kat3148_addinpr2, kat3148_retbits +}; +static const struct drbg_kat kat3148 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3148_t +}; + +static const unsigned char kat3149_entropyin[] = { + 0x28, 0x10, 0xc0, 0x46, 0xde, 0x02, 0xc1, 0x58, 0x29, 0x90, 0x27, 0xb5, + 0x83, 0xdd, 0x8d, 0x48, 0x77, 0x6f, 0xec, 0xa8, 0x17, 0x7d, 0xbf, 0x2a, +}; +static const unsigned char kat3149_nonce[] = { + 0x7c, 0xa3, 0x17, 0x00, 0xe8, 0xa2, 0x2a, 0xcf, 0x1b, 0x2d, 0x03, 0x29, + 0xb8, 0xe9, 0x8b, 0xc5, +}; +static const unsigned char kat3149_persstr[] = {0}; +static const unsigned char kat3149_entropyinpr1[] = { + 0x24, 0x44, 0xb0, 0x96, 0xfe, 0x74, 0x54, 0x08, 0x53, 0x2a, 0x37, 0xc9, + 0x91, 0x36, 0x57, 0xa7, 0xe4, 0x9a, 0x8a, 0x94, 0x90, 0xc9, 0xd4, 0x12, +}; +static const unsigned char kat3149_addinpr1[] = { + 0x6f, 0x30, 0xad, 0xaa, 0xeb, 0x31, 0xfc, 0xd3, 0x3a, 0x2f, 0xc9, 0x3e, + 0x70, 0x30, 0x30, 0x01, 0xb5, 0xc4, 0xbe, 0x95, 0x91, 0xd7, 0x5d, 0x65, + 0xf0, 0xd4, 0x7c, 0xf3, 0x15, 0xf0, 0x7f, 0xd4, +}; +static const unsigned char kat3149_entropyinpr2[] = { + 0x76, 0xb6, 0x29, 0x51, 0x7d, 0xda, 0xe4, 0x5e, 0x1b, 0xac, 0xde, 0x01, + 0xdc, 0x77, 0x36, 0xd7, 0xf8, 0x72, 0x72, 0xb0, 0x37, 0x17, 0xb2, 0xd4, +}; +static const unsigned char kat3149_addinpr2[] = { + 0x5a, 0xd9, 0x44, 0x81, 0x59, 0xaf, 0xbf, 0xc0, 0xf6, 0x3f, 0x94, 0x45, + 0x48, 0x6f, 0xd7, 0x29, 0xcd, 0x33, 0xc2, 0x00, 0xf8, 0xd5, 0x0f, 0xf1, + 0x68, 0x29, 0xc1, 0x6f, 0x69, 0x89, 0x9a, 0x86, +}; +static const unsigned char kat3149_retbits[] = { + 0xde, 0x22, 0xd5, 0x6b, 0x74, 0x54, 0xc3, 0x22, 0x4f, 0x4f, 0x63, 0x4a, + 0x6c, 0x62, 0xca, 0x87, 0x62, 0x58, 0x8b, 0x92, 0x72, 0x2f, 0xce, 0x67, + 0xfc, 0xbb, 0x60, 0xa9, 0xe7, 0xd6, 0x86, 0x28, 0x7c, 0x5b, 0xe1, 0x7a, + 0x91, 0xac, 0xdb, 0x9f, 0x79, 0x58, 0x6b, 0xe3, 0x80, 0x49, 0x3f, 0x0e, + 0x9a, 0x5a, 0xff, 0x81, 0x5d, 0x62, 0x47, 0xb3, 0xea, 0x9f, 0xc4, 0x08, + 0x79, 0xdc, 0x3f, 0x1c, +}; +static const struct drbg_kat_pr_true kat3149_t = { + 13, kat3149_entropyin, kat3149_nonce, kat3149_persstr, + kat3149_entropyinpr1, kat3149_addinpr1, kat3149_entropyinpr2, + kat3149_addinpr2, kat3149_retbits +}; +static const struct drbg_kat kat3149 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3149_t +}; + +static const unsigned char kat3150_entropyin[] = { + 0x66, 0x0e, 0x1a, 0x8d, 0xbd, 0x89, 0xea, 0xad, 0x59, 0xd7, 0xf4, 0xf5, + 0x7d, 0x17, 0x1a, 0x29, 0x4b, 0x00, 0x28, 0x0e, 0x2e, 0xff, 0x9f, 0x76, +}; +static const unsigned char kat3150_nonce[] = { + 0xed, 0xc8, 0xe1, 0x49, 0x3f, 0xb4, 0x7c, 0x47, 0xb0, 0x10, 0x0c, 0xa3, + 0xff, 0x26, 0x49, 0xe9, +}; +static const unsigned char kat3150_persstr[] = {0}; +static const unsigned char kat3150_entropyinpr1[] = { + 0x00, 0x60, 0x8b, 0x02, 0x01, 0x99, 0x25, 0x87, 0xfb, 0x46, 0x76, 0x1f, + 0x02, 0x99, 0x16, 0x4b, 0x6f, 0xa0, 0xee, 0x50, 0x4c, 0x45, 0x34, 0x5a, +}; +static const unsigned char kat3150_addinpr1[] = { + 0x26, 0xd6, 0x26, 0x6a, 0x6c, 0x28, 0xe7, 0x15, 0x9f, 0xe1, 0x7f, 0xcc, + 0x79, 0x06, 0x7c, 0xe5, 0xf1, 0x67, 0xe7, 0xd1, 0xb2, 0x8e, 0x17, 0xa8, + 0xbe, 0x96, 0x0d, 0x3e, 0x86, 0x2d, 0x42, 0x95, +}; +static const unsigned char kat3150_entropyinpr2[] = { + 0x22, 0x9a, 0x06, 0x20, 0xa0, 0x4c, 0x7f, 0xca, 0x11, 0x1a, 0xe3, 0xc5, + 0x3c, 0xa7, 0xcf, 0xd5, 0x04, 0x5a, 0x34, 0x9c, 0x14, 0xcb, 0xa7, 0x0f, +}; +static const unsigned char kat3150_addinpr2[] = { + 0x2c, 0xbb, 0xdf, 0x8c, 0x85, 0x57, 0x77, 0x0e, 0x58, 0x9c, 0x59, 0x3c, + 0x05, 0x10, 0xe5, 0x37, 0x26, 0x40, 0x72, 0x04, 0x39, 0x8a, 0x24, 0x65, + 0x93, 0xe3, 0x91, 0xc4, 0x55, 0xd0, 0x7b, 0xf7, +}; +static const unsigned char kat3150_retbits[] = { + 0x22, 0xe1, 0xce, 0x9b, 0xd3, 0xa8, 0x58, 0xae, 0xf3, 0x0b, 0x06, 0x86, + 0x72, 0xee, 0x66, 0x51, 0x10, 0x39, 0x63, 0x79, 0x4f, 0x37, 0xd6, 0x4c, + 0x1f, 0xa7, 0x63, 0x8c, 0x7c, 0x92, 0x3a, 0x0b, 0x97, 0x58, 0xd1, 0x05, + 0x8a, 0xc5, 0x8a, 0xf9, 0xa1, 0x1b, 0xf1, 0x4b, 0xe6, 0x4e, 0xeb, 0x1e, + 0xc6, 0x63, 0xdf, 0x57, 0x2a, 0xf4, 0xb0, 0xe1, 0xce, 0x02, 0x18, 0xdc, + 0x7c, 0x75, 0x7e, 0xec, +}; +static const struct drbg_kat_pr_true kat3150_t = { + 14, kat3150_entropyin, kat3150_nonce, kat3150_persstr, + kat3150_entropyinpr1, kat3150_addinpr1, kat3150_entropyinpr2, + kat3150_addinpr2, kat3150_retbits +}; +static const struct drbg_kat kat3150 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3150_t +}; + +static const unsigned char kat3151_entropyin[] = { + 0x85, 0x77, 0xcb, 0xf8, 0xbd, 0xaa, 0x31, 0xa1, 0xae, 0x5e, 0x32, 0xea, + 0x09, 0xd0, 0xbe, 0xf7, 0x10, 0xea, 0x74, 0x37, 0xe6, 0x7b, 0x68, 0x25, +}; +static const unsigned char kat3151_nonce[] = { + 0x3f, 0x9b, 0xde, 0xb5, 0x6b, 0x6e, 0x5d, 0x0f, 0xba, 0x56, 0x49, 0x40, + 0x01, 0xfe, 0x30, 0x7e, +}; +static const unsigned char kat3151_persstr[] = { + 0x4b, 0x5c, 0xd4, 0x97, 0xa4, 0x17, 0xa2, 0x98, 0x7d, 0xed, 0xf2, 0x36, + 0xea, 0xff, 0xd2, 0xc3, 0x15, 0xa6, 0x5b, 0x76, 0x1b, 0x2b, 0x68, 0xc3, + 0xf4, 0xb1, 0x9e, 0x40, 0x93, 0xb4, 0xc8, 0xc2, +}; +static const unsigned char kat3151_entropyinpr1[] = { + 0x31, 0xd4, 0xba, 0xaf, 0x6c, 0x27, 0xd9, 0x67, 0xe8, 0xef, 0xc8, 0x54, + 0x79, 0xdb, 0x4d, 0x01, 0x28, 0x55, 0xca, 0x68, 0x0f, 0x87, 0x59, 0x80, +}; +static const unsigned char kat3151_addinpr1[] = {0}; +static const unsigned char kat3151_entropyinpr2[] = { + 0x37, 0x74, 0x91, 0x2d, 0x4c, 0x79, 0xfa, 0xa6, 0xd3, 0xc9, 0x80, 0xa1, + 0x0d, 0xff, 0x18, 0xec, 0xf6, 0xa0, 0x68, 0xe6, 0x83, 0xe1, 0x9b, 0x1f, +}; +static const unsigned char kat3151_addinpr2[] = {0}; +static const unsigned char kat3151_retbits[] = { + 0xa3, 0x91, 0x52, 0x5b, 0x20, 0x34, 0x0e, 0x0f, 0x0f, 0xcc, 0xf0, 0x37, + 0x60, 0xbb, 0x50, 0x95, 0xc2, 0x7a, 0x13, 0x0c, 0x6a, 0x3e, 0x13, 0x4c, + 0x2c, 0x10, 0xd5, 0x9e, 0xfe, 0xc1, 0xa4, 0xa6, 0xcb, 0x75, 0x3f, 0x07, + 0x22, 0xa5, 0x3b, 0x71, 0x69, 0x85, 0x71, 0x2d, 0xb2, 0x92, 0xb8, 0xeb, + 0x8b, 0x03, 0x9c, 0x11, 0xd2, 0x7c, 0x1f, 0xfc, 0x70, 0x9c, 0xa9, 0x9f, + 0x81, 0xb7, 0x96, 0xc5, +}; +static const struct drbg_kat_pr_true kat3151_t = { + 0, kat3151_entropyin, kat3151_nonce, kat3151_persstr, + kat3151_entropyinpr1, kat3151_addinpr1, kat3151_entropyinpr2, + kat3151_addinpr2, kat3151_retbits +}; +static const struct drbg_kat kat3151 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3151_t +}; + +static const unsigned char kat3152_entropyin[] = { + 0x63, 0x1e, 0xdc, 0xa8, 0x7f, 0x0f, 0x7f, 0x1a, 0x13, 0xf1, 0xa3, 0xfc, + 0xab, 0xb2, 0xc6, 0x66, 0x12, 0xda, 0x94, 0x4d, 0x7b, 0x88, 0x1d, 0x76, +}; +static const unsigned char kat3152_nonce[] = { + 0x0b, 0xba, 0x44, 0xa2, 0xf1, 0xde, 0x09, 0x54, 0x05, 0x66, 0x91, 0xb5, + 0x56, 0x57, 0xf3, 0xbf, +}; +static const unsigned char kat3152_persstr[] = { + 0x3a, 0xc5, 0xdc, 0x2d, 0x6a, 0xe2, 0xdd, 0x88, 0xc4, 0x44, 0x14, 0x79, + 0x3f, 0x01, 0xba, 0x33, 0x33, 0x79, 0x03, 0x37, 0x01, 0xec, 0xc7, 0x8a, + 0xf3, 0xa7, 0x93, 0x65, 0xee, 0xf6, 0x20, 0xbf, +}; +static const unsigned char kat3152_entropyinpr1[] = { + 0xfd, 0x04, 0x77, 0x83, 0x3a, 0xdb, 0xc3, 0x2d, 0x04, 0xe2, 0xea, 0x66, + 0x2e, 0xed, 0x88, 0x58, 0xb5, 0xf2, 0xca, 0xd0, 0xb5, 0xc3, 0x89, 0xcc, +}; +static const unsigned char kat3152_addinpr1[] = {0}; +static const unsigned char kat3152_entropyinpr2[] = { + 0x9b, 0x0e, 0x46, 0x39, 0x71, 0x86, 0x21, 0x07, 0x9a, 0xb2, 0x40, 0xfe, + 0xc8, 0x26, 0xde, 0x3e, 0x49, 0x8f, 0x7e, 0xcb, 0x3c, 0x12, 0xb0, 0x00, +}; +static const unsigned char kat3152_addinpr2[] = {0}; +static const unsigned char kat3152_retbits[] = { + 0xa0, 0xf2, 0xde, 0xdb, 0x49, 0x76, 0x73, 0xc4, 0xe3, 0xda, 0x0a, 0x7c, + 0xb2, 0x1b, 0xe0, 0x02, 0x69, 0xbb, 0xe0, 0x37, 0xd7, 0xd6, 0xd7, 0xf4, + 0xad, 0x87, 0xf6, 0xd6, 0x2c, 0xe6, 0x1f, 0x36, 0x5e, 0xdb, 0xec, 0xc3, + 0x6b, 0xed, 0xb8, 0xc3, 0xcd, 0xbd, 0xf8, 0x32, 0x85, 0x7c, 0x5f, 0xd6, + 0xef, 0xd7, 0x0f, 0x1e, 0x6e, 0xc2, 0xe5, 0xd2, 0xda, 0xc2, 0x5b, 0x01, + 0xb6, 0x7e, 0xdc, 0x15, +}; +static const struct drbg_kat_pr_true kat3152_t = { + 1, kat3152_entropyin, kat3152_nonce, kat3152_persstr, + kat3152_entropyinpr1, kat3152_addinpr1, kat3152_entropyinpr2, + kat3152_addinpr2, kat3152_retbits +}; +static const struct drbg_kat kat3152 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3152_t +}; + +static const unsigned char kat3153_entropyin[] = { + 0x42, 0xe3, 0x9a, 0xb9, 0x8f, 0x36, 0x8b, 0xd2, 0xfc, 0x9d, 0xa9, 0xff, + 0x93, 0x56, 0xde, 0xe1, 0x71, 0x8f, 0xd2, 0x72, 0xd7, 0xf1, 0xce, 0xc3, +}; +static const unsigned char kat3153_nonce[] = { + 0x80, 0xa2, 0x8d, 0x7b, 0x28, 0xd2, 0xb7, 0xca, 0xd5, 0x96, 0xdd, 0xe7, + 0x31, 0x9b, 0x72, 0x81, +}; +static const unsigned char kat3153_persstr[] = { + 0xb1, 0x9e, 0x3d, 0x3b, 0x5b, 0xaf, 0x80, 0x77, 0xc6, 0x21, 0x39, 0xd9, + 0x5f, 0x66, 0xa8, 0x66, 0x22, 0xb1, 0xa1, 0x53, 0xf3, 0x7b, 0x77, 0xb0, + 0x5b, 0x50, 0x93, 0x0f, 0xf7, 0xa0, 0x0e, 0xcc, +}; +static const unsigned char kat3153_entropyinpr1[] = { + 0x3a, 0xa0, 0xb5, 0x75, 0x27, 0x4a, 0x4e, 0x9d, 0xc1, 0x64, 0x2d, 0xc8, + 0x67, 0xef, 0x31, 0x6b, 0xe8, 0x00, 0x07, 0x89, 0x72, 0x86, 0x28, 0xeb, +}; +static const unsigned char kat3153_addinpr1[] = {0}; +static const unsigned char kat3153_entropyinpr2[] = { + 0x72, 0x88, 0xf8, 0xb6, 0xb0, 0xc1, 0xd3, 0xcd, 0x02, 0x0d, 0x1a, 0x13, + 0x34, 0xbb, 0x09, 0x38, 0xaf, 0xce, 0x11, 0xb2, 0xd7, 0x7b, 0xc9, 0x96, +}; +static const unsigned char kat3153_addinpr2[] = {0}; +static const unsigned char kat3153_retbits[] = { + 0x12, 0x8f, 0x86, 0x53, 0xfc, 0x4d, 0xf7, 0x8c, 0x0d, 0x4a, 0x73, 0x96, + 0x32, 0x73, 0xfa, 0x52, 0xa6, 0x05, 0xe6, 0xd7, 0x3f, 0xe8, 0x91, 0xd4, + 0x94, 0x1f, 0xfb, 0x0d, 0x5c, 0x79, 0x9a, 0xab, 0x9b, 0x68, 0x77, 0x26, + 0x4c, 0xf9, 0xc0, 0xce, 0xf0, 0x78, 0xc3, 0xf9, 0x84, 0xa3, 0x80, 0x8d, + 0xca, 0x42, 0x3c, 0xce, 0xa4, 0x31, 0x60, 0x60, 0x0c, 0xa2, 0x4c, 0xed, + 0x56, 0x91, 0xc7, 0x84, +}; +static const struct drbg_kat_pr_true kat3153_t = { + 2, kat3153_entropyin, kat3153_nonce, kat3153_persstr, + kat3153_entropyinpr1, kat3153_addinpr1, kat3153_entropyinpr2, + kat3153_addinpr2, kat3153_retbits +}; +static const struct drbg_kat kat3153 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3153_t +}; + +static const unsigned char kat3154_entropyin[] = { + 0x35, 0xe1, 0x14, 0x4e, 0x6f, 0x14, 0xdb, 0xbb, 0x8e, 0x8f, 0x6e, 0x9f, + 0x63, 0x4e, 0xbd, 0xd3, 0x26, 0x42, 0xfb, 0xcb, 0x60, 0xe8, 0xd6, 0x6e, +}; +static const unsigned char kat3154_nonce[] = { + 0x95, 0xe6, 0xd0, 0x42, 0x7f, 0x29, 0x35, 0x69, 0x11, 0x03, 0xf6, 0x0b, + 0x6e, 0xad, 0xa8, 0x0d, +}; +static const unsigned char kat3154_persstr[] = { + 0x60, 0x1a, 0xc6, 0x65, 0xd1, 0x0d, 0x79, 0xec, 0x7c, 0xd3, 0x14, 0x40, + 0xc8, 0x2c, 0x35, 0x44, 0x36, 0x3f, 0xc5, 0xd1, 0x51, 0x51, 0x25, 0x6b, + 0x4e, 0xae, 0xdf, 0xf8, 0x63, 0x70, 0x95, 0xf3, +}; +static const unsigned char kat3154_entropyinpr1[] = { + 0x78, 0xa0, 0x20, 0x2b, 0x12, 0x07, 0x7e, 0x05, 0x9b, 0xd8, 0x5c, 0x58, + 0x38, 0x94, 0xfd, 0x50, 0xf1, 0xd0, 0xc8, 0x75, 0xce, 0x1a, 0x5e, 0x03, +}; +static const unsigned char kat3154_addinpr1[] = {0}; +static const unsigned char kat3154_entropyinpr2[] = { + 0x91, 0x60, 0x4e, 0xf1, 0x77, 0x20, 0x1b, 0x01, 0x55, 0x47, 0xbe, 0xfd, + 0xf6, 0xf2, 0xe8, 0xe7, 0xe9, 0xdf, 0xad, 0x46, 0x08, 0x62, 0x71, 0x5e, +}; +static const unsigned char kat3154_addinpr2[] = {0}; +static const unsigned char kat3154_retbits[] = { + 0x0d, 0x70, 0xef, 0x58, 0x3a, 0x6c, 0xff, 0x74, 0x73, 0x93, 0x70, 0x37, + 0x08, 0x9a, 0x6e, 0xa2, 0x06, 0x03, 0x36, 0xd7, 0xc4, 0x89, 0x90, 0x8b, + 0xb6, 0x6d, 0xb0, 0xbf, 0xd5, 0x89, 0x58, 0x15, 0x07, 0x27, 0x71, 0x29, + 0xbd, 0x12, 0x86, 0x71, 0xcb, 0x92, 0x8b, 0x5d, 0xb7, 0x76, 0x3d, 0x0c, + 0x9f, 0x77, 0xeb, 0x49, 0xd3, 0xfa, 0x3f, 0xef, 0xbc, 0x70, 0xd3, 0x0d, + 0xeb, 0x5f, 0xf5, 0x83, +}; +static const struct drbg_kat_pr_true kat3154_t = { + 3, kat3154_entropyin, kat3154_nonce, kat3154_persstr, + kat3154_entropyinpr1, kat3154_addinpr1, kat3154_entropyinpr2, + kat3154_addinpr2, kat3154_retbits +}; +static const struct drbg_kat kat3154 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3154_t +}; + +static const unsigned char kat3155_entropyin[] = { + 0xf0, 0xed, 0x69, 0x95, 0x2a, 0x86, 0x64, 0x57, 0xec, 0x0f, 0x4d, 0x07, + 0x54, 0xf1, 0x94, 0x10, 0x1d, 0xfb, 0xff, 0xa0, 0x9f, 0x83, 0x64, 0x8a, +}; +static const unsigned char kat3155_nonce[] = { + 0xf6, 0x46, 0x8d, 0x45, 0x89, 0x86, 0x36, 0x12, 0x3a, 0xe3, 0x41, 0x2b, + 0x61, 0x40, 0x9e, 0xad, +}; +static const unsigned char kat3155_persstr[] = { + 0x3b, 0x58, 0xb5, 0xac, 0x95, 0xd8, 0x1b, 0xad, 0x39, 0xcf, 0x14, 0x78, + 0x92, 0x0d, 0xa5, 0x01, 0xb6, 0x27, 0x68, 0x54, 0xca, 0x8f, 0x66, 0x83, + 0xae, 0x40, 0x0f, 0x56, 0x72, 0xe1, 0xbd, 0x21, +}; +static const unsigned char kat3155_entropyinpr1[] = { + 0xe6, 0x9e, 0xda, 0x2f, 0xf1, 0x12, 0xfe, 0xab, 0x3e, 0xc4, 0x31, 0xcd, + 0x1f, 0xfe, 0x82, 0x38, 0xa2, 0x89, 0xd2, 0xb5, 0x21, 0x53, 0x98, 0x55, +}; +static const unsigned char kat3155_addinpr1[] = {0}; +static const unsigned char kat3155_entropyinpr2[] = { + 0x0a, 0x02, 0x4c, 0xe7, 0xe6, 0xb4, 0x31, 0x80, 0x77, 0x9d, 0xdf, 0x09, + 0x67, 0x40, 0xd4, 0xd4, 0x0d, 0x79, 0x44, 0x7c, 0xf9, 0xe6, 0xd8, 0xcb, +}; +static const unsigned char kat3155_addinpr2[] = {0}; +static const unsigned char kat3155_retbits[] = { + 0x64, 0x1c, 0xc7, 0xa7, 0x60, 0x6d, 0x1d, 0xf8, 0xc1, 0x47, 0xc7, 0x8d, + 0x08, 0x42, 0x06, 0x3a, 0x60, 0xd9, 0x3b, 0x6b, 0x07, 0x13, 0xbd, 0xff, + 0xfe, 0xdb, 0x11, 0x04, 0xc1, 0xe2, 0xd8, 0x25, 0x13, 0x61, 0x80, 0xf5, + 0xc2, 0xa7, 0x2c, 0xf5, 0xf3, 0x45, 0xbd, 0x79, 0x0b, 0xde, 0xa1, 0xd1, + 0x57, 0x36, 0x4c, 0x8a, 0xab, 0x5a, 0x88, 0xa9, 0x49, 0xbd, 0x4d, 0x97, + 0xd3, 0x64, 0xd8, 0x0f, +}; +static const struct drbg_kat_pr_true kat3155_t = { + 4, kat3155_entropyin, kat3155_nonce, kat3155_persstr, + kat3155_entropyinpr1, kat3155_addinpr1, kat3155_entropyinpr2, + kat3155_addinpr2, kat3155_retbits +}; +static const struct drbg_kat kat3155 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3155_t +}; + +static const unsigned char kat3156_entropyin[] = { + 0x58, 0x0d, 0x3c, 0xc4, 0x4c, 0xa4, 0xb7, 0x22, 0xd8, 0xe3, 0xf8, 0x30, + 0x66, 0xb8, 0x62, 0x0f, 0x24, 0xaf, 0x31, 0x59, 0x7b, 0x3a, 0xfb, 0xa7, +}; +static const unsigned char kat3156_nonce[] = { + 0xca, 0x1e, 0xa0, 0xdb, 0xeb, 0x9c, 0x9e, 0x15, 0xdd, 0xb2, 0x7a, 0x50, + 0x9e, 0xe6, 0xb2, 0x08, +}; +static const unsigned char kat3156_persstr[] = { + 0x5b, 0x13, 0xba, 0xc6, 0xda, 0xe5, 0x71, 0x8b, 0xf0, 0x63, 0xcd, 0x3d, + 0x81, 0xc8, 0x8b, 0x5e, 0x85, 0x71, 0x8c, 0x36, 0x36, 0x13, 0x39, 0xf2, + 0x0d, 0xfc, 0x4b, 0xb1, 0x7f, 0xfa, 0x91, 0x4f, +}; +static const unsigned char kat3156_entropyinpr1[] = { + 0xda, 0x6f, 0xda, 0x3e, 0xe2, 0x82, 0x99, 0xe7, 0xcd, 0xf4, 0xee, 0xa6, + 0xd1, 0xd4, 0x30, 0x59, 0xac, 0x7a, 0x8b, 0xb4, 0x94, 0xfc, 0x37, 0xb7, +}; +static const unsigned char kat3156_addinpr1[] = {0}; +static const unsigned char kat3156_entropyinpr2[] = { + 0x3b, 0x78, 0xc7, 0x65, 0xbf, 0x55, 0x73, 0xed, 0x7b, 0x1c, 0xe9, 0x9c, + 0xe8, 0x05, 0xa1, 0x3e, 0xf5, 0xe3, 0x0b, 0x2d, 0x09, 0x49, 0x79, 0xf9, +}; +static const unsigned char kat3156_addinpr2[] = {0}; +static const unsigned char kat3156_retbits[] = { + 0xcb, 0x7e, 0x9f, 0x67, 0xec, 0xc9, 0xc5, 0xbf, 0x01, 0xd7, 0x80, 0xf6, + 0xf1, 0x8a, 0x34, 0xdb, 0x2d, 0xba, 0x7f, 0x7c, 0x41, 0xb9, 0xbb, 0xb5, + 0xe5, 0xd8, 0x26, 0x6a, 0x60, 0xf8, 0x2b, 0x97, 0x57, 0xe7, 0x94, 0x34, + 0xfe, 0x74, 0xca, 0x0c, 0x1d, 0x84, 0x80, 0x1e, 0xcd, 0xc0, 0x97, 0x7f, + 0x6e, 0x25, 0x5f, 0x22, 0xa9, 0x21, 0x72, 0xa8, 0x62, 0x8b, 0x1b, 0x0c, + 0x10, 0xdd, 0x1b, 0xd9, +}; +static const struct drbg_kat_pr_true kat3156_t = { + 5, kat3156_entropyin, kat3156_nonce, kat3156_persstr, + kat3156_entropyinpr1, kat3156_addinpr1, kat3156_entropyinpr2, + kat3156_addinpr2, kat3156_retbits +}; +static const struct drbg_kat kat3156 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3156_t +}; + +static const unsigned char kat3157_entropyin[] = { + 0x9e, 0x89, 0x32, 0xb9, 0xe0, 0x2e, 0xa1, 0x92, 0x7a, 0xf8, 0xca, 0xb7, + 0x34, 0x7d, 0x6f, 0x6e, 0x82, 0xfc, 0x0e, 0xbc, 0x26, 0x71, 0x61, 0xf5, +}; +static const unsigned char kat3157_nonce[] = { + 0xd3, 0x3d, 0xd3, 0x6f, 0xc5, 0x58, 0x8c, 0x28, 0x5a, 0x29, 0x35, 0x75, + 0xdb, 0x2f, 0xcd, 0x33, +}; +static const unsigned char kat3157_persstr[] = { + 0xb0, 0x65, 0xdc, 0x51, 0x1b, 0x6e, 0x1c, 0xc6, 0x8e, 0x04, 0x79, 0x30, + 0xe4, 0xea, 0x2f, 0xc8, 0x6a, 0x31, 0x11, 0x57, 0x7e, 0xe0, 0x51, 0x71, + 0x8d, 0x8b, 0xd0, 0x58, 0x81, 0xf1, 0x46, 0xbf, +}; +static const unsigned char kat3157_entropyinpr1[] = { + 0xa3, 0xd3, 0x40, 0xa8, 0x64, 0xbb, 0x16, 0x19, 0x3c, 0x1d, 0x2e, 0x4b, + 0xe4, 0x63, 0xf5, 0xee, 0xb8, 0x08, 0x9b, 0x70, 0x9a, 0xc6, 0x8b, 0xd3, +}; +static const unsigned char kat3157_addinpr1[] = {0}; +static const unsigned char kat3157_entropyinpr2[] = { + 0xc2, 0x38, 0xbc, 0xb1, 0x97, 0x19, 0x88, 0x09, 0xda, 0x03, 0x46, 0x4e, + 0xfd, 0xe1, 0xdd, 0xa1, 0x53, 0x4b, 0x21, 0x57, 0x19, 0x85, 0xa4, 0x4e, +}; +static const unsigned char kat3157_addinpr2[] = {0}; +static const unsigned char kat3157_retbits[] = { + 0x62, 0xdd, 0x89, 0xe4, 0xda, 0xb9, 0x23, 0x4f, 0xff, 0xbe, 0xaa, 0x6d, + 0x60, 0x6e, 0xb1, 0x2a, 0x27, 0x24, 0x7e, 0x88, 0xdb, 0xe6, 0x70, 0x48, + 0xdd, 0xa1, 0x57, 0xe5, 0x43, 0x4a, 0xce, 0xad, 0xe4, 0xc2, 0xcd, 0x72, + 0x00, 0xd2, 0x7f, 0xd6, 0x33, 0x34, 0xbf, 0x7e, 0xc2, 0x83, 0x84, 0xe8, + 0xee, 0xbf, 0xea, 0xce, 0x5c, 0x06, 0xe6, 0x26, 0x01, 0x8a, 0xa3, 0x5d, + 0x64, 0xce, 0x90, 0xc6, +}; +static const struct drbg_kat_pr_true kat3157_t = { + 6, kat3157_entropyin, kat3157_nonce, kat3157_persstr, + kat3157_entropyinpr1, kat3157_addinpr1, kat3157_entropyinpr2, + kat3157_addinpr2, kat3157_retbits +}; +static const struct drbg_kat kat3157 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3157_t +}; + +static const unsigned char kat3158_entropyin[] = { + 0x30, 0x77, 0xf7, 0x2e, 0xf5, 0x82, 0x77, 0x4d, 0xf1, 0xb1, 0x64, 0x63, + 0x1c, 0xb1, 0x2e, 0x0e, 0x12, 0xae, 0x0d, 0x6b, 0xc1, 0xc6, 0x85, 0x04, +}; +static const unsigned char kat3158_nonce[] = { + 0x6c, 0x75, 0x0f, 0xcb, 0x3c, 0xb7, 0xae, 0xa5, 0xfe, 0x3c, 0xb2, 0xd2, + 0xd2, 0x25, 0x0f, 0x30, +}; +static const unsigned char kat3158_persstr[] = { + 0x5d, 0x39, 0x28, 0x2e, 0xcd, 0x47, 0x8c, 0x7f, 0xfd, 0xa5, 0x7e, 0x06, + 0x96, 0x57, 0xa3, 0x19, 0xfc, 0x17, 0xb9, 0xef, 0x6c, 0xdc, 0x97, 0xce, + 0x8b, 0x0c, 0x95, 0x01, 0x4c, 0xe5, 0xee, 0x40, +}; +static const unsigned char kat3158_entropyinpr1[] = { + 0x07, 0x8b, 0xff, 0x85, 0xe8, 0xd7, 0x09, 0x60, 0xec, 0x59, 0x37, 0x98, + 0xf7, 0xc0, 0x2b, 0xee, 0x4f, 0xe0, 0x63, 0xa6, 0xfc, 0x12, 0xbb, 0xf2, +}; +static const unsigned char kat3158_addinpr1[] = {0}; +static const unsigned char kat3158_entropyinpr2[] = { + 0xcf, 0xf2, 0xf9, 0xcf, 0x0d, 0xad, 0x17, 0x32, 0x27, 0xaf, 0x8f, 0xc4, + 0xca, 0x71, 0xec, 0xe1, 0xdb, 0x5f, 0x66, 0x52, 0x87, 0x19, 0x85, 0xb7, +}; +static const unsigned char kat3158_addinpr2[] = {0}; +static const unsigned char kat3158_retbits[] = { + 0xf8, 0xb5, 0x5d, 0x0b, 0x76, 0xce, 0x33, 0xfd, 0xce, 0x49, 0x5a, 0xab, + 0x1f, 0x1b, 0x28, 0xe8, 0xd0, 0x2a, 0xe1, 0x0d, 0x3d, 0x66, 0x82, 0xf8, + 0x44, 0xef, 0xb9, 0xa2, 0xda, 0x62, 0x59, 0xb3, 0x01, 0x1f, 0x82, 0xd0, + 0x4f, 0x33, 0xda, 0x53, 0x7e, 0x29, 0xa9, 0xa7, 0x13, 0x58, 0x6f, 0xb9, + 0xe9, 0x9d, 0x9e, 0x22, 0x0f, 0x87, 0xf7, 0xb0, 0xd5, 0x0e, 0x5c, 0x78, + 0xc9, 0x12, 0x0b, 0x9a, +}; +static const struct drbg_kat_pr_true kat3158_t = { + 7, kat3158_entropyin, kat3158_nonce, kat3158_persstr, + kat3158_entropyinpr1, kat3158_addinpr1, kat3158_entropyinpr2, + kat3158_addinpr2, kat3158_retbits +}; +static const struct drbg_kat kat3158 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3158_t +}; + +static const unsigned char kat3159_entropyin[] = { + 0x36, 0x70, 0x2c, 0x7b, 0x79, 0x44, 0xd5, 0xf1, 0x4a, 0x2c, 0x81, 0x41, + 0x00, 0x4d, 0x7f, 0x96, 0x50, 0xff, 0x82, 0xc3, 0xd3, 0x03, 0x0c, 0x89, +}; +static const unsigned char kat3159_nonce[] = { + 0x24, 0x77, 0x3e, 0xf4, 0x4a, 0xbf, 0x07, 0xab, 0x1c, 0x92, 0x3a, 0xe3, + 0xde, 0x47, 0x84, 0x90, +}; +static const unsigned char kat3159_persstr[] = { + 0x02, 0x1d, 0x48, 0x18, 0xd5, 0xb1, 0x71, 0x7f, 0xa6, 0xd0, 0x8e, 0xc6, + 0x7f, 0x77, 0xec, 0xb0, 0xe6, 0xf4, 0x6c, 0x42, 0xc0, 0x32, 0x80, 0xa2, + 0xd8, 0x57, 0x68, 0x1c, 0xbf, 0x6a, 0xd3, 0x56, +}; +static const unsigned char kat3159_entropyinpr1[] = { + 0xa1, 0x56, 0x10, 0xd6, 0xf3, 0xa7, 0x1c, 0x2e, 0x70, 0x73, 0x68, 0x99, + 0x50, 0x3e, 0xa6, 0x2f, 0xea, 0x2b, 0x78, 0xeb, 0x64, 0x9d, 0xc4, 0xa0, +}; +static const unsigned char kat3159_addinpr1[] = {0}; +static const unsigned char kat3159_entropyinpr2[] = { + 0xb6, 0xdc, 0x27, 0x0c, 0xc1, 0xca, 0x29, 0xc0, 0xff, 0xb6, 0x87, 0x99, + 0xaa, 0x36, 0x05, 0x0f, 0x38, 0xd9, 0xf9, 0x4c, 0x65, 0xe3, 0x24, 0x7a, +}; +static const unsigned char kat3159_addinpr2[] = {0}; +static const unsigned char kat3159_retbits[] = { + 0x68, 0xc2, 0x1f, 0xa9, 0x0b, 0x85, 0x95, 0x63, 0x61, 0xae, 0x9a, 0xc6, + 0xdf, 0xbc, 0xae, 0xc0, 0x22, 0x12, 0x1a, 0x45, 0xa5, 0x68, 0x61, 0x90, + 0x49, 0x6b, 0x98, 0x36, 0xed, 0xdd, 0x8e, 0xcd, 0x8b, 0xfb, 0xe0, 0xab, + 0x68, 0xb1, 0x2b, 0xee, 0x0e, 0x5b, 0x2c, 0x4d, 0x08, 0xaf, 0x57, 0xf2, + 0xbe, 0x97, 0xf8, 0x12, 0xe1, 0x97, 0xb2, 0xb0, 0xcc, 0x05, 0x8c, 0x56, + 0x29, 0x66, 0x0c, 0x9e, +}; +static const struct drbg_kat_pr_true kat3159_t = { + 8, kat3159_entropyin, kat3159_nonce, kat3159_persstr, + kat3159_entropyinpr1, kat3159_addinpr1, kat3159_entropyinpr2, + kat3159_addinpr2, kat3159_retbits +}; +static const struct drbg_kat kat3159 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3159_t +}; + +static const unsigned char kat3160_entropyin[] = { + 0x9a, 0x29, 0x52, 0xe4, 0xdc, 0xd6, 0x89, 0x29, 0xea, 0x72, 0xad, 0x0e, + 0xc6, 0x1f, 0x4d, 0xe1, 0x86, 0xd6, 0x3e, 0xd3, 0x72, 0xc6, 0xce, 0x3b, +}; +static const unsigned char kat3160_nonce[] = { + 0x16, 0x9d, 0x88, 0x1e, 0xaa, 0x5c, 0xfc, 0xec, 0xf1, 0x1f, 0x0d, 0x46, + 0xf7, 0x7b, 0x8c, 0x2a, +}; +static const unsigned char kat3160_persstr[] = { + 0xd1, 0x9f, 0x78, 0x0c, 0x95, 0xbf, 0xa5, 0x8c, 0x41, 0x06, 0xb9, 0x77, + 0x36, 0x29, 0x2d, 0x83, 0x39, 0x9d, 0x5d, 0x6c, 0x13, 0x3b, 0x9a, 0x45, + 0xa4, 0xf7, 0x0f, 0x44, 0x92, 0x79, 0xea, 0x52, +}; +static const unsigned char kat3160_entropyinpr1[] = { + 0xce, 0xeb, 0xf0, 0x72, 0xcb, 0xd7, 0x2a, 0x0b, 0x5c, 0x78, 0x44, 0x00, + 0xa6, 0x8a, 0x90, 0x71, 0xb4, 0x11, 0x20, 0x0a, 0x9c, 0x39, 0x13, 0x0a, +}; +static const unsigned char kat3160_addinpr1[] = {0}; +static const unsigned char kat3160_entropyinpr2[] = { + 0x48, 0x00, 0x52, 0xba, 0xb4, 0x7b, 0xe0, 0x91, 0x50, 0xe4, 0x88, 0xb9, + 0x8d, 0x61, 0xea, 0x9b, 0xee, 0x55, 0xc4, 0x50, 0xa1, 0x6b, 0x88, 0x40, +}; +static const unsigned char kat3160_addinpr2[] = {0}; +static const unsigned char kat3160_retbits[] = { + 0x61, 0x88, 0xd6, 0xbd, 0x14, 0x57, 0x8b, 0xb1, 0xfe, 0x75, 0xbd, 0x19, + 0x6e, 0x91, 0x2f, 0x02, 0x16, 0x06, 0xc9, 0x8c, 0x01, 0x19, 0x25, 0x9f, + 0xdc, 0x84, 0xe3, 0x60, 0xdd, 0x18, 0x1b, 0x2b, 0xd2, 0x61, 0x60, 0xc7, + 0x84, 0x1c, 0x80, 0xa2, 0x76, 0x6a, 0x0c, 0xf0, 0x6f, 0xcc, 0xc6, 0x9e, + 0xd1, 0xe3, 0x4a, 0xf3, 0xe3, 0x42, 0x70, 0x85, 0x76, 0xf2, 0xb2, 0x81, + 0x02, 0xf0, 0x81, 0xf0, +}; +static const struct drbg_kat_pr_true kat3160_t = { + 9, kat3160_entropyin, kat3160_nonce, kat3160_persstr, + kat3160_entropyinpr1, kat3160_addinpr1, kat3160_entropyinpr2, + kat3160_addinpr2, kat3160_retbits +}; +static const struct drbg_kat kat3160 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3160_t +}; + +static const unsigned char kat3161_entropyin[] = { + 0x3e, 0x8c, 0x45, 0xe0, 0x4c, 0x62, 0x36, 0x7f, 0xeb, 0xa4, 0xd1, 0xed, + 0xdd, 0xaf, 0xe5, 0x33, 0xd7, 0xac, 0xc3, 0x4f, 0xc3, 0xcb, 0xc4, 0x99, +}; +static const unsigned char kat3161_nonce[] = { + 0x3a, 0xca, 0x2c, 0xa6, 0x97, 0x0e, 0x00, 0xea, 0xce, 0x90, 0xda, 0x41, + 0x37, 0x1c, 0x0f, 0x78, +}; +static const unsigned char kat3161_persstr[] = { + 0x95, 0x16, 0xf4, 0xc3, 0x83, 0xd4, 0x55, 0x1c, 0x71, 0x9c, 0x8a, 0x0f, + 0xe4, 0xb0, 0x4e, 0xe1, 0x17, 0x40, 0x1e, 0xe2, 0x74, 0x6f, 0xae, 0x80, + 0xed, 0x3d, 0x5a, 0xd3, 0x81, 0xf2, 0xc2, 0x14, +}; +static const unsigned char kat3161_entropyinpr1[] = { + 0xc8, 0x5b, 0xee, 0x8b, 0x48, 0x0a, 0xe6, 0xde, 0xbf, 0xdb, 0xd3, 0x93, + 0xb0, 0x48, 0xdf, 0x8c, 0x47, 0x29, 0xe1, 0xd4, 0x77, 0x4c, 0x52, 0x35, +}; +static const unsigned char kat3161_addinpr1[] = {0}; +static const unsigned char kat3161_entropyinpr2[] = { + 0x5a, 0x6a, 0x0d, 0x2b, 0xab, 0x63, 0xf9, 0x8f, 0xe4, 0x26, 0x04, 0xcb, + 0xe7, 0xb5, 0x0a, 0x44, 0x3c, 0x0c, 0xd0, 0x83, 0xf6, 0xd9, 0x92, 0x9e, +}; +static const unsigned char kat3161_addinpr2[] = {0}; +static const unsigned char kat3161_retbits[] = { + 0x5b, 0x17, 0x2d, 0xa2, 0x61, 0x37, 0x0f, 0xa0, 0xde, 0xb4, 0xdb, 0x52, + 0x1b, 0x56, 0xf3, 0xe2, 0xf0, 0xd6, 0x89, 0x6a, 0x68, 0x71, 0xcc, 0xeb, + 0x7d, 0xdb, 0xb4, 0xa6, 0x9d, 0xea, 0x55, 0x2e, 0x9d, 0xda, 0xf7, 0x57, + 0x22, 0x5b, 0x19, 0x81, 0xf6, 0x9b, 0x1d, 0xfa, 0x62, 0x54, 0xf3, 0x53, + 0xdf, 0x4f, 0x7d, 0x05, 0xb8, 0x5c, 0x60, 0x7b, 0x4a, 0x9d, 0xf0, 0x51, + 0x1d, 0x06, 0x44, 0xeb, +}; +static const struct drbg_kat_pr_true kat3161_t = { + 10, kat3161_entropyin, kat3161_nonce, kat3161_persstr, + kat3161_entropyinpr1, kat3161_addinpr1, kat3161_entropyinpr2, + kat3161_addinpr2, kat3161_retbits +}; +static const struct drbg_kat kat3161 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3161_t +}; + +static const unsigned char kat3162_entropyin[] = { + 0x09, 0x0f, 0x64, 0x0a, 0x9b, 0x0d, 0x3e, 0x62, 0x48, 0x11, 0xab, 0x26, + 0x30, 0xed, 0xd8, 0xc1, 0x0c, 0xa4, 0x78, 0xfd, 0x1b, 0xfc, 0x5f, 0xe3, +}; +static const unsigned char kat3162_nonce[] = { + 0xa9, 0x42, 0x4c, 0xba, 0x21, 0xd2, 0xa2, 0x65, 0x76, 0xf8, 0x7d, 0xf7, + 0x5b, 0xfc, 0xd5, 0x61, +}; +static const unsigned char kat3162_persstr[] = { + 0xd9, 0xfe, 0x77, 0x14, 0x7a, 0x81, 0x0b, 0x26, 0xef, 0xb9, 0xc4, 0x74, + 0xc8, 0xfb, 0xd7, 0x67, 0x9f, 0x7d, 0xc5, 0x35, 0x0e, 0x77, 0xc7, 0x2d, + 0x89, 0x08, 0x3e, 0x33, 0x18, 0x98, 0xdf, 0x22, +}; +static const unsigned char kat3162_entropyinpr1[] = { + 0xac, 0x25, 0xdf, 0xe0, 0x6d, 0x14, 0x31, 0x67, 0x59, 0x0b, 0xfa, 0x76, + 0x21, 0x15, 0x4f, 0x15, 0xd7, 0x32, 0xcb, 0xb2, 0x7b, 0x3a, 0xc6, 0x3d, +}; +static const unsigned char kat3162_addinpr1[] = {0}; +static const unsigned char kat3162_entropyinpr2[] = { + 0x45, 0xe2, 0x31, 0x4a, 0xbe, 0xea, 0xee, 0xfa, 0x30, 0x61, 0x28, 0x59, + 0x8b, 0xf7, 0xa5, 0xe1, 0x81, 0x73, 0xa0, 0x3c, 0xc7, 0x3a, 0x08, 0x1c, +}; +static const unsigned char kat3162_addinpr2[] = {0}; +static const unsigned char kat3162_retbits[] = { + 0x78, 0xec, 0xea, 0x0a, 0x35, 0xee, 0x35, 0x3b, 0xb6, 0x79, 0xd9, 0x47, + 0x4c, 0xd6, 0xdb, 0x7e, 0xb8, 0xd0, 0x1d, 0x1a, 0x91, 0x1b, 0xa8, 0xd1, + 0x1e, 0x01, 0xc4, 0x7f, 0xe2, 0x95, 0xe1, 0x61, 0xda, 0x59, 0xce, 0x4c, + 0xc1, 0xca, 0x48, 0xde, 0x88, 0x93, 0x01, 0x04, 0x8d, 0xe5, 0x01, 0x82, + 0x7d, 0x0f, 0xc6, 0xe9, 0x31, 0x07, 0x15, 0x62, 0xb8, 0x57, 0xc7, 0x34, + 0xa5, 0xf8, 0xde, 0xe4, +}; +static const struct drbg_kat_pr_true kat3162_t = { + 11, kat3162_entropyin, kat3162_nonce, kat3162_persstr, + kat3162_entropyinpr1, kat3162_addinpr1, kat3162_entropyinpr2, + kat3162_addinpr2, kat3162_retbits +}; +static const struct drbg_kat kat3162 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3162_t +}; + +static const unsigned char kat3163_entropyin[] = { + 0xb9, 0x87, 0x40, 0x54, 0x7d, 0xff, 0x13, 0x97, 0x15, 0x1c, 0x16, 0x5f, + 0x37, 0x28, 0x49, 0xf1, 0x17, 0x75, 0x69, 0x65, 0xac, 0x75, 0x28, 0x10, +}; +static const unsigned char kat3163_nonce[] = { + 0x94, 0xab, 0xae, 0x19, 0xd3, 0x6c, 0x2d, 0x83, 0x80, 0x1f, 0x06, 0x0f, + 0x39, 0x2d, 0x70, 0x72, +}; +static const unsigned char kat3163_persstr[] = { + 0xbf, 0x82, 0x6e, 0x1e, 0xfc, 0x49, 0x72, 0x21, 0x17, 0x09, 0x47, 0xee, + 0xda, 0x1c, 0x1b, 0x3b, 0x91, 0xaa, 0x31, 0x8d, 0x9e, 0x5c, 0xfc, 0x29, + 0x22, 0x6b, 0x2b, 0xe2, 0xd7, 0x4e, 0x5f, 0x29, +}; +static const unsigned char kat3163_entropyinpr1[] = { + 0xeb, 0x43, 0xb1, 0x51, 0x5c, 0xc6, 0x1a, 0xe2, 0xf7, 0x0a, 0xb1, 0xed, + 0x71, 0xef, 0x62, 0x2a, 0xba, 0x9c, 0x8a, 0x97, 0x7d, 0x0a, 0x02, 0xc3, +}; +static const unsigned char kat3163_addinpr1[] = {0}; +static const unsigned char kat3163_entropyinpr2[] = { + 0x39, 0x3c, 0xdf, 0x4d, 0xc8, 0x3c, 0x36, 0xe9, 0xd7, 0xd0, 0x48, 0x7a, + 0x16, 0xd4, 0x2d, 0x76, 0xfc, 0x8b, 0xe5, 0xf4, 0x1c, 0xf9, 0x85, 0x57, +}; +static const unsigned char kat3163_addinpr2[] = {0}; +static const unsigned char kat3163_retbits[] = { + 0x62, 0xd7, 0xff, 0xc0, 0xba, 0x63, 0x26, 0x0b, 0x05, 0x3d, 0x45, 0xc6, + 0xce, 0x50, 0xb1, 0x1e, 0xca, 0x61, 0x43, 0x84, 0xb5, 0xb5, 0x74, 0x6b, + 0x77, 0xcf, 0x42, 0xa9, 0x38, 0xb0, 0x3a, 0xa8, 0xd5, 0xf1, 0x83, 0xd6, + 0xc0, 0xf8, 0x15, 0x14, 0x9c, 0x98, 0xa5, 0xc8, 0x51, 0xe3, 0xa3, 0x60, + 0x25, 0xf4, 0xbf, 0x64, 0x00, 0xce, 0xab, 0x92, 0x04, 0x95, 0x5d, 0xdb, + 0xeb, 0xe1, 0x3e, 0xd4, +}; +static const struct drbg_kat_pr_true kat3163_t = { + 12, kat3163_entropyin, kat3163_nonce, kat3163_persstr, + kat3163_entropyinpr1, kat3163_addinpr1, kat3163_entropyinpr2, + kat3163_addinpr2, kat3163_retbits +}; +static const struct drbg_kat kat3163 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3163_t +}; + +static const unsigned char kat3164_entropyin[] = { + 0x36, 0x4f, 0xb7, 0xde, 0x5e, 0x00, 0x73, 0xca, 0x1f, 0x49, 0x36, 0x85, + 0x2a, 0x08, 0x34, 0x9e, 0x0b, 0x78, 0x54, 0xc5, 0xc9, 0x10, 0x63, 0x04, +}; +static const unsigned char kat3164_nonce[] = { + 0x1c, 0x46, 0x2b, 0xbb, 0x27, 0x96, 0xa5, 0xb6, 0x6b, 0x1c, 0xa9, 0xf6, + 0xd5, 0xfc, 0x68, 0xd2, +}; +static const unsigned char kat3164_persstr[] = { + 0x84, 0x66, 0x01, 0xe3, 0xec, 0x64, 0x27, 0x50, 0xad, 0xc5, 0x43, 0xbe, + 0x6a, 0x5d, 0x56, 0x74, 0x17, 0x18, 0xed, 0xc3, 0x74, 0x0c, 0xdb, 0xc3, + 0x54, 0x59, 0xa8, 0xc7, 0xe8, 0x8b, 0x62, 0x88, +}; +static const unsigned char kat3164_entropyinpr1[] = { + 0xda, 0xcd, 0x11, 0x94, 0x6f, 0xc4, 0x2c, 0x12, 0x92, 0x18, 0x48, 0x6e, + 0x17, 0xe4, 0xe5, 0xf3, 0x18, 0xa9, 0x42, 0xbb, 0x58, 0x9f, 0x9f, 0x20, +}; +static const unsigned char kat3164_addinpr1[] = {0}; +static const unsigned char kat3164_entropyinpr2[] = { + 0x3a, 0xab, 0xa8, 0x4e, 0x01, 0xfa, 0xa9, 0x2d, 0xf1, 0x9b, 0xd0, 0x2d, + 0xbe, 0x03, 0xf3, 0x03, 0x94, 0x90, 0x0a, 0x6b, 0x7d, 0x23, 0x35, 0x16, +}; +static const unsigned char kat3164_addinpr2[] = {0}; +static const unsigned char kat3164_retbits[] = { + 0xb2, 0x20, 0x73, 0x40, 0x23, 0x61, 0x00, 0x46, 0x83, 0x20, 0x59, 0x98, + 0x79, 0x67, 0xa8, 0xbf, 0x94, 0x60, 0x05, 0x34, 0x34, 0xd1, 0x4e, 0xc7, + 0xf6, 0xe8, 0x14, 0x18, 0x5a, 0x1d, 0xd1, 0x99, 0x36, 0x97, 0x77, 0x6f, + 0x36, 0xef, 0xb5, 0x57, 0x06, 0x09, 0xb8, 0xd6, 0xbb, 0x04, 0x57, 0x4b, + 0xbd, 0x1e, 0xc3, 0x16, 0xcb, 0xb6, 0x05, 0xf0, 0x55, 0xd8, 0x3b, 0x7d, + 0xa8, 0xea, 0xad, 0xd9, +}; +static const struct drbg_kat_pr_true kat3164_t = { + 13, kat3164_entropyin, kat3164_nonce, kat3164_persstr, + kat3164_entropyinpr1, kat3164_addinpr1, kat3164_entropyinpr2, + kat3164_addinpr2, kat3164_retbits +}; +static const struct drbg_kat kat3164 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3164_t +}; + +static const unsigned char kat3165_entropyin[] = { + 0xa5, 0xfb, 0x66, 0x93, 0xc4, 0x1e, 0xa3, 0x32, 0x4d, 0x14, 0x18, 0x81, + 0xd8, 0xe4, 0x7c, 0x2e, 0x61, 0xcd, 0xf4, 0x51, 0xee, 0x13, 0x8e, 0xb7, +}; +static const unsigned char kat3165_nonce[] = { + 0x2d, 0x8c, 0x24, 0xfb, 0xa2, 0xa7, 0xac, 0x7f, 0x33, 0x94, 0x84, 0x13, + 0xa6, 0xb5, 0x3a, 0x3e, +}; +static const unsigned char kat3165_persstr[] = { + 0xf9, 0xf2, 0x0e, 0x40, 0xb7, 0xa2, 0x8b, 0x1b, 0xd1, 0x4e, 0x9b, 0x24, + 0x39, 0x54, 0x37, 0xa7, 0x5b, 0xa9, 0x3d, 0x40, 0x81, 0xbf, 0xfb, 0x34, + 0xa4, 0x2c, 0x85, 0x94, 0xec, 0x5e, 0xd9, 0xc8, +}; +static const unsigned char kat3165_entropyinpr1[] = { + 0xeb, 0x70, 0x05, 0x26, 0x02, 0x06, 0xa8, 0xf7, 0x2f, 0x15, 0xd0, 0x33, + 0x54, 0xfb, 0x02, 0x51, 0x0e, 0x0e, 0x38, 0xa3, 0x40, 0xdc, 0xab, 0xb6, +}; +static const unsigned char kat3165_addinpr1[] = {0}; +static const unsigned char kat3165_entropyinpr2[] = { + 0xf5, 0x61, 0xbe, 0x91, 0xf8, 0x7e, 0xff, 0x50, 0xf0, 0x63, 0xf6, 0x1f, + 0x90, 0x1b, 0x4a, 0x28, 0x00, 0x11, 0x54, 0x56, 0x07, 0xf7, 0xa5, 0x5e, +}; +static const unsigned char kat3165_addinpr2[] = {0}; +static const unsigned char kat3165_retbits[] = { + 0xaa, 0x31, 0xb3, 0xd6, 0x9e, 0x66, 0x38, 0xde, 0xfc, 0x02, 0x69, 0x89, + 0x8b, 0xac, 0x9e, 0x58, 0x42, 0x45, 0xff, 0x06, 0x94, 0x97, 0x78, 0x85, + 0x12, 0x53, 0x30, 0xe4, 0xf5, 0xb4, 0x11, 0xd1, 0x51, 0x42, 0x3c, 0xf3, + 0x2e, 0x6e, 0x22, 0x56, 0x0c, 0xa5, 0x76, 0xe2, 0xf7, 0x51, 0x0e, 0x5d, + 0x88, 0xa8, 0xe3, 0x35, 0xc1, 0x0e, 0xa6, 0x82, 0x4a, 0x6a, 0x72, 0x9a, + 0x71, 0x97, 0x24, 0x9c, +}; +static const struct drbg_kat_pr_true kat3165_t = { + 14, kat3165_entropyin, kat3165_nonce, kat3165_persstr, + kat3165_entropyinpr1, kat3165_addinpr1, kat3165_entropyinpr2, + kat3165_addinpr2, kat3165_retbits +}; +static const struct drbg_kat kat3165 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3165_t +}; + +static const unsigned char kat3166_entropyin[] = { + 0x79, 0x38, 0x97, 0x57, 0x62, 0xfd, 0x99, 0xad, 0x03, 0x8b, 0xa9, 0xe3, + 0x8f, 0x3e, 0xee, 0x4d, 0xf2, 0x39, 0xd8, 0x97, 0xce, 0x96, 0xea, 0x01, +}; +static const unsigned char kat3166_nonce[] = { + 0xe1, 0xfe, 0x2b, 0xde, 0xba, 0xa8, 0x1a, 0x17, 0x5d, 0x92, 0xe6, 0xff, + 0xae, 0xb5, 0x99, 0x1c, +}; +static const unsigned char kat3166_persstr[] = { + 0x82, 0x72, 0xd8, 0x10, 0x6d, 0x76, 0xd0, 0xeb, 0xcc, 0x22, 0xdd, 0x0a, + 0xdc, 0x7f, 0x4b, 0x7e, 0xc9, 0x32, 0x68, 0xd0, 0x1a, 0x16, 0x19, 0xfe, + 0xf0, 0x33, 0x07, 0x1c, 0x41, 0x4a, 0x1b, 0x4a, +}; +static const unsigned char kat3166_entropyinpr1[] = { + 0xad, 0xfb, 0xf7, 0xb5, 0x16, 0xad, 0x09, 0xf1, 0x9c, 0x6a, 0x00, 0xc1, + 0x4f, 0x0f, 0x1a, 0xff, 0xfc, 0xa2, 0xb7, 0x24, 0x87, 0x04, 0x86, 0x57, +}; +static const unsigned char kat3166_addinpr1[] = { + 0x0f, 0x80, 0x06, 0x44, 0x3b, 0xea, 0xeb, 0xa5, 0xde, 0x4a, 0x02, 0xb4, + 0xd8, 0xeb, 0xca, 0x11, 0x50, 0x73, 0x32, 0x8b, 0x88, 0xde, 0x74, 0xec, + 0x4d, 0x00, 0x60, 0x50, 0x9f, 0x5c, 0x43, 0x05, +}; +static const unsigned char kat3166_entropyinpr2[] = { + 0x36, 0x79, 0x44, 0x2d, 0x0f, 0xc4, 0x6a, 0x1a, 0x48, 0x25, 0x0a, 0x99, + 0xec, 0xc1, 0x13, 0xc8, 0x72, 0xa8, 0x58, 0x32, 0x98, 0xcd, 0xa4, 0xb5, +}; +static const unsigned char kat3166_addinpr2[] = { + 0x2b, 0xaf, 0xaa, 0x03, 0x8d, 0x8e, 0xad, 0xf0, 0x18, 0x12, 0x56, 0xd6, + 0xe0, 0xba, 0xba, 0x75, 0x64, 0x30, 0x7a, 0x19, 0x6c, 0x00, 0xe8, 0x93, + 0x8f, 0x9b, 0x1c, 0xea, 0x96, 0x00, 0xde, 0xc9, +}; +static const unsigned char kat3166_retbits[] = { + 0x1f, 0x57, 0x60, 0xe9, 0xde, 0x0f, 0x89, 0x28, 0x77, 0x52, 0x2f, 0x89, + 0x63, 0x41, 0xa1, 0x54, 0x45, 0xff, 0xeb, 0x8d, 0x5d, 0x58, 0x73, 0xc6, + 0xd5, 0xa0, 0x05, 0x41, 0x77, 0x9d, 0x9f, 0x4e, 0x4f, 0x27, 0x06, 0xaf, + 0xee, 0x4e, 0x00, 0xf0, 0xf6, 0x8c, 0xde, 0x67, 0xa0, 0x22, 0xb3, 0x8f, + 0x7b, 0x63, 0xfa, 0x27, 0x12, 0x3c, 0x0c, 0xa7, 0x30, 0xea, 0xb0, 0x2b, + 0x7b, 0x05, 0x6d, 0x18, +}; +static const struct drbg_kat_pr_true kat3166_t = { + 0, kat3166_entropyin, kat3166_nonce, kat3166_persstr, + kat3166_entropyinpr1, kat3166_addinpr1, kat3166_entropyinpr2, + kat3166_addinpr2, kat3166_retbits +}; +static const struct drbg_kat kat3166 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3166_t +}; + +static const unsigned char kat3167_entropyin[] = { + 0xd9, 0xf4, 0xfb, 0x5d, 0x5a, 0x2a, 0x6a, 0xc8, 0xc9, 0x9a, 0x54, 0x3b, + 0x78, 0x5a, 0x3f, 0xbf, 0x6e, 0x5f, 0x48, 0xd5, 0x3e, 0x5c, 0x01, 0x6e, +}; +static const unsigned char kat3167_nonce[] = { + 0x58, 0x1a, 0xaf, 0x6f, 0x0a, 0x7c, 0xa6, 0xb8, 0xb6, 0x67, 0x64, 0xb8, + 0xab, 0x1b, 0x9d, 0x3b, +}; +static const unsigned char kat3167_persstr[] = { + 0xf6, 0xa4, 0x70, 0x54, 0x67, 0xe3, 0x72, 0x89, 0xb8, 0xa7, 0xc4, 0xc4, + 0xec, 0x0c, 0x58, 0x5f, 0x8d, 0xa5, 0xdc, 0x52, 0x41, 0x85, 0x82, 0x95, + 0x3d, 0xfe, 0x8e, 0x63, 0x64, 0xfc, 0xbe, 0xa1, +}; +static const unsigned char kat3167_entropyinpr1[] = { + 0x7d, 0x02, 0x64, 0x98, 0x26, 0x84, 0xe5, 0xfd, 0x9d, 0xe2, 0x83, 0x50, + 0xbc, 0x9c, 0x06, 0x38, 0x2c, 0x50, 0x79, 0xb2, 0x59, 0x0e, 0x89, 0x49, +}; +static const unsigned char kat3167_addinpr1[] = { + 0xc6, 0x3a, 0xc5, 0x02, 0x41, 0x43, 0x47, 0xdf, 0xfa, 0xff, 0xf6, 0xf2, + 0x58, 0x77, 0x4b, 0xea, 0xdd, 0xb6, 0x44, 0x86, 0xd0, 0x24, 0x96, 0x31, + 0xc2, 0x37, 0x66, 0x8d, 0x3d, 0x9d, 0x50, 0x04, +}; +static const unsigned char kat3167_entropyinpr2[] = { + 0xea, 0x49, 0x68, 0x0d, 0xe7, 0x9d, 0x23, 0x96, 0xbb, 0x68, 0x79, 0xcb, + 0xd6, 0xb2, 0x41, 0x69, 0x08, 0x38, 0x78, 0x1a, 0x1b, 0x16, 0xbb, 0x2a, +}; +static const unsigned char kat3167_addinpr2[] = { + 0xba, 0x74, 0x1b, 0x1c, 0x17, 0xbf, 0xc7, 0x38, 0xf6, 0xd2, 0xf8, 0x84, + 0x3a, 0x3b, 0x1d, 0x9c, 0xc4, 0x99, 0x5f, 0x01, 0x1f, 0x08, 0x98, 0xd2, + 0x4a, 0xd3, 0x40, 0x21, 0x59, 0x2f, 0x09, 0xb7, +}; +static const unsigned char kat3167_retbits[] = { + 0x8e, 0xd6, 0xc7, 0x46, 0x5f, 0xf7, 0x10, 0xa4, 0x13, 0xb3, 0xd0, 0x0d, + 0x0d, 0x67, 0x0a, 0xb6, 0xd2, 0xbc, 0x91, 0x86, 0x49, 0x27, 0x58, 0x74, + 0x71, 0xa6, 0x58, 0xaf, 0xd4, 0xdc, 0x21, 0x1b, 0x6d, 0x8e, 0x34, 0x34, + 0x26, 0xbe, 0x59, 0x13, 0xab, 0xb2, 0x5e, 0x63, 0xef, 0x2f, 0x35, 0x43, + 0xac, 0x31, 0x2b, 0x4e, 0x0a, 0xc5, 0xa1, 0xa7, 0xde, 0x7f, 0x28, 0x47, + 0xfd, 0x40, 0xc6, 0xe0, +}; +static const struct drbg_kat_pr_true kat3167_t = { + 1, kat3167_entropyin, kat3167_nonce, kat3167_persstr, + kat3167_entropyinpr1, kat3167_addinpr1, kat3167_entropyinpr2, + kat3167_addinpr2, kat3167_retbits +}; +static const struct drbg_kat kat3167 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3167_t +}; + +static const unsigned char kat3168_entropyin[] = { + 0x6a, 0xe4, 0xc9, 0xe7, 0xcd, 0x37, 0x25, 0xeb, 0xb1, 0xc7, 0xe6, 0xd7, + 0x78, 0x68, 0xb6, 0xa1, 0x8b, 0xd0, 0x5e, 0x30, 0x67, 0x47, 0x1f, 0xc8, +}; +static const unsigned char kat3168_nonce[] = { + 0x84, 0xa5, 0x79, 0xfd, 0x45, 0x9c, 0x19, 0xea, 0x42, 0xd2, 0xa5, 0x55, + 0xb9, 0x84, 0x4f, 0x08, +}; +static const unsigned char kat3168_persstr[] = { + 0x50, 0x6b, 0x3c, 0x8e, 0x53, 0x00, 0xe1, 0x6b, 0xa3, 0x7a, 0xbf, 0xf9, + 0x67, 0xb9, 0x78, 0x9e, 0x97, 0x74, 0xe8, 0x0e, 0xe2, 0xbc, 0xa4, 0x97, + 0x84, 0x99, 0xb4, 0xd9, 0x58, 0xd3, 0xdd, 0x8f, +}; +static const unsigned char kat3168_entropyinpr1[] = { + 0x6a, 0x96, 0x00, 0x8f, 0x29, 0x63, 0x10, 0xa0, 0x5e, 0x7f, 0xdd, 0x68, + 0xa1, 0xd1, 0x1c, 0xd0, 0x38, 0x9b, 0x56, 0x57, 0xdb, 0x95, 0xf2, 0xa6, +}; +static const unsigned char kat3168_addinpr1[] = { + 0x59, 0x1f, 0x29, 0x27, 0x7b, 0x49, 0x4a, 0x3d, 0xdf, 0x2e, 0xd4, 0x9c, + 0x3b, 0xca, 0xd8, 0xed, 0x67, 0x35, 0x8a, 0xb5, 0xec, 0x4d, 0x52, 0x7b, + 0xaa, 0x6d, 0x38, 0xaf, 0xb3, 0x24, 0xe8, 0x60, +}; +static const unsigned char kat3168_entropyinpr2[] = { + 0x78, 0x0b, 0xe1, 0x22, 0x17, 0xee, 0xb3, 0x50, 0x38, 0x55, 0x9a, 0x42, + 0xf0, 0xfe, 0x90, 0xd5, 0xb6, 0x53, 0x67, 0x5e, 0x99, 0x27, 0x50, 0xc7, +}; +static const unsigned char kat3168_addinpr2[] = { + 0xe7, 0x89, 0xda, 0x83, 0xa4, 0x19, 0x4f, 0xfe, 0x94, 0x21, 0x09, 0x33, + 0xac, 0x1b, 0x6c, 0x18, 0x64, 0x13, 0xc5, 0xff, 0x5b, 0xdc, 0xb9, 0xec, + 0x7d, 0x7b, 0xf5, 0xd5, 0x1f, 0x47, 0x86, 0x9f, +}; +static const unsigned char kat3168_retbits[] = { + 0x49, 0xcc, 0xd3, 0xab, 0x12, 0xb0, 0x49, 0x6f, 0x9d, 0x85, 0xd8, 0xc7, + 0x46, 0x0c, 0x64, 0x8c, 0xd0, 0x1b, 0xc0, 0xbf, 0x8b, 0x2c, 0xdb, 0xf5, + 0xa8, 0x64, 0x5c, 0xae, 0xf9, 0x00, 0xa7, 0x87, 0xc1, 0xa1, 0xe0, 0xfe, + 0x0f, 0x48, 0x01, 0x1e, 0x1d, 0x09, 0x4c, 0x34, 0xde, 0x5c, 0xa8, 0x42, + 0x23, 0xf8, 0x47, 0xd0, 0x7e, 0xb7, 0x7a, 0xf5, 0xa4, 0x60, 0x69, 0x06, + 0x68, 0xa1, 0xc6, 0xc8, +}; +static const struct drbg_kat_pr_true kat3168_t = { + 2, kat3168_entropyin, kat3168_nonce, kat3168_persstr, + kat3168_entropyinpr1, kat3168_addinpr1, kat3168_entropyinpr2, + kat3168_addinpr2, kat3168_retbits +}; +static const struct drbg_kat kat3168 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3168_t +}; + +static const unsigned char kat3169_entropyin[] = { + 0xb2, 0x46, 0x76, 0xe5, 0xdb, 0x27, 0x5c, 0xf0, 0x18, 0x91, 0x95, 0x20, + 0x76, 0x62, 0xcc, 0xa9, 0xef, 0x13, 0xed, 0xf8, 0xcb, 0x9b, 0x2a, 0x8d, +}; +static const unsigned char kat3169_nonce[] = { + 0x12, 0x2c, 0xfd, 0x8c, 0x74, 0x15, 0x29, 0x13, 0x8b, 0x86, 0xdc, 0xb1, + 0x92, 0x2b, 0x03, 0x5d, +}; +static const unsigned char kat3169_persstr[] = { + 0xc4, 0x4c, 0xd8, 0x81, 0xb4, 0xad, 0x2e, 0xc1, 0x0e, 0x13, 0xe7, 0x8b, + 0xde, 0x91, 0x84, 0x93, 0x3b, 0xd6, 0x92, 0xc6, 0x09, 0xe9, 0x40, 0xe0, + 0x2d, 0xe4, 0x1c, 0x6a, 0xff, 0x5a, 0x48, 0x22, +}; +static const unsigned char kat3169_entropyinpr1[] = { + 0x82, 0x59, 0x73, 0xec, 0x8e, 0xee, 0x4e, 0x88, 0xda, 0xf3, 0x86, 0x1a, + 0x84, 0x38, 0xd6, 0x08, 0xdc, 0x83, 0x50, 0x66, 0x88, 0xd1, 0x6e, 0x0b, +}; +static const unsigned char kat3169_addinpr1[] = { + 0xd4, 0x89, 0xd1, 0x6d, 0x0b, 0x65, 0xb5, 0xc6, 0x79, 0xaa, 0x45, 0x50, + 0xcf, 0xad, 0x14, 0x59, 0xd4, 0xbb, 0xec, 0x3c, 0x0a, 0xad, 0x36, 0x67, + 0xfc, 0x55, 0x15, 0xa5, 0x04, 0x16, 0x4e, 0x19, +}; +static const unsigned char kat3169_entropyinpr2[] = { + 0xce, 0x68, 0x47, 0x03, 0x85, 0x6a, 0xfb, 0x96, 0x00, 0xf3, 0x8d, 0x95, + 0xe4, 0xbd, 0xdb, 0x2f, 0x0e, 0x14, 0x9f, 0x77, 0x4a, 0xaa, 0xb5, 0xaa, +}; +static const unsigned char kat3169_addinpr2[] = { + 0x0f, 0x8a, 0x84, 0xf7, 0x55, 0xde, 0xaa, 0x01, 0x0e, 0xf9, 0x0c, 0x8b, + 0xe8, 0x54, 0xae, 0xd6, 0x93, 0x25, 0xce, 0x72, 0x48, 0xad, 0x4a, 0x96, + 0xcb, 0xe0, 0x3f, 0xae, 0x0b, 0xcc, 0x85, 0x94, +}; +static const unsigned char kat3169_retbits[] = { + 0x8f, 0xe1, 0x34, 0x02, 0x1f, 0x85, 0xda, 0xb9, 0xc8, 0x91, 0x00, 0x19, + 0x33, 0xdd, 0x16, 0x6a, 0x8d, 0x72, 0x5f, 0x4c, 0xdb, 0xa7, 0x75, 0x54, + 0x0e, 0x3f, 0xe7, 0x0c, 0x92, 0xe1, 0xcd, 0x1a, 0xd8, 0xec, 0xa6, 0x09, + 0xf1, 0x2b, 0xd5, 0xa8, 0xa6, 0xb8, 0xc8, 0xd6, 0x0c, 0xb3, 0x7b, 0x1d, + 0x1a, 0x51, 0xd0, 0x16, 0x38, 0x3c, 0x5d, 0x95, 0xc0, 0xd6, 0xdf, 0x1e, + 0x98, 0x3f, 0x31, 0x3b, +}; +static const struct drbg_kat_pr_true kat3169_t = { + 3, kat3169_entropyin, kat3169_nonce, kat3169_persstr, + kat3169_entropyinpr1, kat3169_addinpr1, kat3169_entropyinpr2, + kat3169_addinpr2, kat3169_retbits +}; +static const struct drbg_kat kat3169 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3169_t +}; + +static const unsigned char kat3170_entropyin[] = { + 0xa9, 0xe0, 0x74, 0xbe, 0x4b, 0x41, 0x84, 0x83, 0x33, 0xc1, 0xa9, 0x19, + 0x40, 0x2a, 0x52, 0x66, 0x01, 0x67, 0x41, 0xbe, 0xb1, 0x68, 0x9a, 0xf7, +}; +static const unsigned char kat3170_nonce[] = { + 0x40, 0x6f, 0xc4, 0xe4, 0xe5, 0xb2, 0xab, 0xb6, 0xb2, 0xdc, 0x55, 0xba, + 0x4b, 0x8d, 0x35, 0x57, +}; +static const unsigned char kat3170_persstr[] = { + 0xe6, 0x03, 0xe3, 0xe1, 0xe9, 0x8c, 0xb5, 0x5c, 0xe2, 0xa0, 0xee, 0xd2, + 0x13, 0xb6, 0x03, 0xd6, 0xb4, 0xd6, 0xaa, 0xad, 0x26, 0xb9, 0x06, 0xcc, + 0xed, 0xc1, 0x69, 0x68, 0x0d, 0x57, 0xe1, 0xcb, +}; +static const unsigned char kat3170_entropyinpr1[] = { + 0x7b, 0x00, 0x08, 0xd1, 0x3c, 0x8a, 0x15, 0xd1, 0xbc, 0x8f, 0xde, 0x0f, + 0xc6, 0xff, 0x67, 0x1d, 0xc1, 0x28, 0x23, 0x92, 0xdc, 0x07, 0x57, 0x64, +}; +static const unsigned char kat3170_addinpr1[] = { + 0x98, 0x03, 0xa9, 0x70, 0x30, 0x3c, 0x00, 0xc9, 0x36, 0xf6, 0x91, 0x7b, + 0x27, 0xd7, 0xd7, 0xe9, 0x6a, 0x99, 0xf5, 0x69, 0x44, 0x46, 0x75, 0xe4, + 0x53, 0xd9, 0x35, 0x77, 0x08, 0xe7, 0x9b, 0xe0, +}; +static const unsigned char kat3170_entropyinpr2[] = { + 0x6a, 0xb1, 0x27, 0x64, 0x04, 0xe4, 0x90, 0x34, 0xc8, 0x7b, 0x98, 0xf1, + 0xba, 0xab, 0x88, 0x2e, 0xa2, 0xc1, 0x53, 0x83, 0xab, 0x33, 0xa1, 0x70, +}; +static const unsigned char kat3170_addinpr2[] = { + 0x35, 0xa9, 0xbe, 0x04, 0x80, 0x39, 0x9d, 0xa9, 0xb1, 0x6f, 0xa8, 0x54, + 0x6f, 0xcf, 0x65, 0x30, 0x16, 0xeb, 0x51, 0x42, 0x47, 0x58, 0xba, 0x3e, + 0x56, 0xe0, 0xa2, 0x0c, 0xec, 0x88, 0x09, 0x41, +}; +static const unsigned char kat3170_retbits[] = { + 0x5a, 0xb2, 0xd8, 0x9f, 0x4f, 0x85, 0xc8, 0x4a, 0xc0, 0x83, 0xc7, 0xdc, + 0x7a, 0x32, 0x34, 0x12, 0x74, 0x7d, 0x26, 0xae, 0xcc, 0xfc, 0x14, 0x86, + 0x37, 0x7c, 0x4f, 0xa5, 0xd1, 0xfd, 0x24, 0x46, 0x05, 0xec, 0x8c, 0x77, + 0x9c, 0x14, 0xae, 0x4a, 0x7c, 0xc1, 0x80, 0xb3, 0xcd, 0xe6, 0x28, 0x49, + 0x7e, 0x4b, 0x12, 0xb3, 0xbc, 0x2d, 0xba, 0xd3, 0xfc, 0xf4, 0x1a, 0xa2, + 0x69, 0x96, 0xe7, 0x52, +}; +static const struct drbg_kat_pr_true kat3170_t = { + 4, kat3170_entropyin, kat3170_nonce, kat3170_persstr, + kat3170_entropyinpr1, kat3170_addinpr1, kat3170_entropyinpr2, + kat3170_addinpr2, kat3170_retbits +}; +static const struct drbg_kat kat3170 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3170_t +}; + +static const unsigned char kat3171_entropyin[] = { + 0x07, 0x9f, 0xf1, 0xfb, 0x2e, 0x77, 0x60, 0xee, 0xa5, 0x9e, 0x86, 0xbe, + 0x95, 0xd9, 0x2f, 0x18, 0xc4, 0x5a, 0x96, 0xee, 0xf7, 0x0a, 0x14, 0x30, +}; +static const unsigned char kat3171_nonce[] = { + 0xf5, 0xf8, 0xaa, 0xa1, 0xd4, 0xe9, 0xa2, 0xa3, 0x6e, 0x36, 0x86, 0xcb, + 0xb7, 0xe8, 0x9a, 0x13, +}; +static const unsigned char kat3171_persstr[] = { + 0x14, 0x3f, 0x35, 0xc9, 0x93, 0x40, 0x80, 0xcd, 0xfd, 0x26, 0x5f, 0xd9, + 0xc5, 0x8c, 0x44, 0x6d, 0xfb, 0xa0, 0x18, 0xc8, 0x04, 0x63, 0xb9, 0x00, + 0xdc, 0xec, 0x95, 0x9b, 0xfe, 0xc2, 0xd8, 0x86, +}; +static const unsigned char kat3171_entropyinpr1[] = { + 0x97, 0x3f, 0x79, 0xe3, 0x89, 0x5e, 0xb2, 0x95, 0xcf, 0xf5, 0x73, 0xcf, + 0x39, 0x68, 0xdc, 0x70, 0x4b, 0xef, 0xf7, 0x0b, 0x4c, 0x3c, 0x6a, 0x63, +}; +static const unsigned char kat3171_addinpr1[] = { + 0x40, 0x74, 0x64, 0x80, 0x85, 0x0f, 0xdd, 0x97, 0x81, 0x86, 0x9d, 0x14, + 0x67, 0x59, 0xbb, 0xd0, 0x35, 0x68, 0x11, 0x65, 0xfe, 0xae, 0xeb, 0xd8, + 0x9f, 0xe4, 0xd8, 0x19, 0x45, 0x4f, 0xf9, 0x0f, +}; +static const unsigned char kat3171_entropyinpr2[] = { + 0x6c, 0xbf, 0xd9, 0x14, 0xc6, 0x54, 0x82, 0x6f, 0xd6, 0x56, 0xc6, 0x12, + 0xaa, 0xe7, 0x0b, 0xd7, 0x98, 0xd3, 0x27, 0x27, 0x88, 0xdb, 0x23, 0xdf, +}; +static const unsigned char kat3171_addinpr2[] = { + 0x5f, 0xf6, 0x4c, 0x8f, 0x27, 0x86, 0x8b, 0xc2, 0x77, 0x56, 0x1e, 0xcc, + 0x86, 0x3d, 0x87, 0xef, 0xe7, 0xdd, 0x46, 0x0c, 0x98, 0xf2, 0x71, 0x4c, + 0x18, 0x56, 0x9d, 0x0b, 0xcc, 0xa5, 0x22, 0xc7, +}; +static const unsigned char kat3171_retbits[] = { + 0x57, 0x8a, 0x80, 0x55, 0x09, 0x10, 0xb3, 0x25, 0x34, 0x09, 0x1a, 0xaf, + 0xac, 0x06, 0xc4, 0x4d, 0x01, 0xad, 0xa8, 0x5a, 0x1e, 0x26, 0xe6, 0xb5, + 0xa5, 0xf9, 0x4d, 0x4a, 0xe4, 0x05, 0xce, 0x02, 0xba, 0xb5, 0x8d, 0x81, + 0x85, 0x4c, 0xdf, 0x15, 0xc7, 0x3e, 0xf7, 0x94, 0xf9, 0xa5, 0x3e, 0x7b, + 0x28, 0x82, 0xf6, 0x07, 0x81, 0xe3, 0x70, 0x6b, 0x85, 0xac, 0xb4, 0x1f, + 0xe0, 0xa6, 0x16, 0x80, +}; +static const struct drbg_kat_pr_true kat3171_t = { + 5, kat3171_entropyin, kat3171_nonce, kat3171_persstr, + kat3171_entropyinpr1, kat3171_addinpr1, kat3171_entropyinpr2, + kat3171_addinpr2, kat3171_retbits +}; +static const struct drbg_kat kat3171 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3171_t +}; + +static const unsigned char kat3172_entropyin[] = { + 0x71, 0xcb, 0x85, 0x9b, 0x4e, 0xe9, 0x17, 0x8a, 0xf2, 0xef, 0x9d, 0xad, + 0x09, 0xea, 0x0e, 0x27, 0xd0, 0xf6, 0xdf, 0x3f, 0x40, 0xb4, 0x14, 0x8a, +}; +static const unsigned char kat3172_nonce[] = { + 0x51, 0x36, 0x47, 0xae, 0x88, 0x70, 0x99, 0x4b, 0xad, 0x3e, 0xda, 0x20, + 0x66, 0x32, 0xf1, 0x4b, +}; +static const unsigned char kat3172_persstr[] = { + 0x8d, 0x57, 0x2a, 0x48, 0xa4, 0x8f, 0x35, 0xde, 0xba, 0x84, 0x52, 0x74, + 0x31, 0xd8, 0xb4, 0xf8, 0x09, 0x8e, 0xed, 0x38, 0xd6, 0xfd, 0x61, 0x9d, + 0x9e, 0x39, 0xd1, 0x16, 0x09, 0x43, 0x78, 0x25, +}; +static const unsigned char kat3172_entropyinpr1[] = { + 0x94, 0xe2, 0x48, 0xa5, 0xce, 0x51, 0x9f, 0xa7, 0x61, 0x06, 0xc9, 0x60, + 0x02, 0x27, 0xa1, 0xed, 0xce, 0x11, 0x33, 0x89, 0xab, 0x33, 0x32, 0x1a, +}; +static const unsigned char kat3172_addinpr1[] = { + 0x04, 0xda, 0xf3, 0x83, 0xb8, 0xff, 0xd9, 0xac, 0x14, 0x30, 0x56, 0x3a, + 0x40, 0xce, 0x7c, 0xb4, 0x46, 0x82, 0xc5, 0x41, 0x5f, 0xbd, 0x4c, 0x3f, + 0x89, 0x1c, 0x24, 0x2b, 0x2d, 0xd4, 0xb1, 0xc5, +}; +static const unsigned char kat3172_entropyinpr2[] = { + 0x84, 0x99, 0x64, 0x9d, 0x9e, 0x97, 0x5c, 0x6e, 0xea, 0x6f, 0x6f, 0x23, + 0xe5, 0x15, 0x91, 0xfc, 0x62, 0xfd, 0xa8, 0xdb, 0x8a, 0xfe, 0x00, 0x0b, +}; +static const unsigned char kat3172_addinpr2[] = { + 0x44, 0x7b, 0x57, 0x24, 0xda, 0xb4, 0x69, 0x4d, 0x9d, 0xcf, 0xd9, 0xbb, + 0x5f, 0x2c, 0x89, 0x19, 0x24, 0xb1, 0xba, 0xfa, 0x3b, 0xa1, 0x39, 0xb6, + 0x20, 0x93, 0x6d, 0xee, 0x76, 0x43, 0xb9, 0xe6, +}; +static const unsigned char kat3172_retbits[] = { + 0x43, 0x8b, 0x8c, 0xde, 0xe8, 0x66, 0x0f, 0x5c, 0x95, 0x4f, 0x35, 0x9c, + 0xa2, 0x03, 0xb4, 0x3d, 0xf5, 0x84, 0x31, 0x6e, 0x8a, 0xec, 0x66, 0xd1, + 0x87, 0x1a, 0xbe, 0x16, 0x9c, 0xe6, 0xd2, 0x4a, 0x16, 0x61, 0x56, 0x1a, + 0xfe, 0x83, 0x73, 0x36, 0xa6, 0x5e, 0x34, 0x79, 0x55, 0x75, 0xc8, 0x9a, + 0x74, 0xde, 0xcc, 0x3e, 0x5a, 0x9b, 0x15, 0x8a, 0xd3, 0x91, 0x2c, 0xb5, + 0x08, 0x46, 0x31, 0x98, +}; +static const struct drbg_kat_pr_true kat3172_t = { + 6, kat3172_entropyin, kat3172_nonce, kat3172_persstr, + kat3172_entropyinpr1, kat3172_addinpr1, kat3172_entropyinpr2, + kat3172_addinpr2, kat3172_retbits +}; +static const struct drbg_kat kat3172 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3172_t +}; + +static const unsigned char kat3173_entropyin[] = { + 0xe5, 0x2c, 0x92, 0xff, 0x0a, 0x21, 0x43, 0x06, 0xc9, 0x08, 0xee, 0x6f, + 0x4c, 0x76, 0x7d, 0xbb, 0x7e, 0x61, 0x5a, 0x78, 0x2b, 0x19, 0x5e, 0x7f, +}; +static const unsigned char kat3173_nonce[] = { + 0xf6, 0x51, 0x98, 0x0a, 0x2c, 0x43, 0x63, 0xa2, 0xcb, 0x5e, 0xc5, 0x40, + 0x79, 0x70, 0xd8, 0x61, +}; +static const unsigned char kat3173_persstr[] = { + 0xa9, 0xd0, 0x9a, 0xef, 0x83, 0x3b, 0x6c, 0x61, 0x2e, 0x0d, 0x9b, 0x54, + 0x72, 0x9d, 0x8c, 0x59, 0x27, 0x03, 0x23, 0x77, 0x86, 0xef, 0xaf, 0x1a, + 0x1e, 0x54, 0xe7, 0x2c, 0x6b, 0x42, 0x01, 0xc4, +}; +static const unsigned char kat3173_entropyinpr1[] = { + 0x4d, 0xac, 0xb6, 0x9c, 0x50, 0x75, 0xb8, 0xd1, 0x07, 0x76, 0x37, 0xe2, + 0x3f, 0xe9, 0xfb, 0x27, 0xe8, 0x0b, 0x8e, 0xe4, 0x35, 0xfe, 0x73, 0xc0, +}; +static const unsigned char kat3173_addinpr1[] = { + 0xb3, 0xa3, 0xe8, 0x4f, 0xba, 0x81, 0x0a, 0x10, 0x3e, 0x97, 0x79, 0x0e, + 0x22, 0xc3, 0x7b, 0xd8, 0x5d, 0x51, 0x90, 0x3b, 0x8a, 0x4a, 0xc9, 0xc3, + 0x62, 0x71, 0x55, 0xb4, 0x74, 0x0f, 0x66, 0x29, +}; +static const unsigned char kat3173_entropyinpr2[] = { + 0x36, 0x40, 0x71, 0x5f, 0x90, 0xef, 0xb9, 0xaf, 0xd3, 0x68, 0x81, 0x62, + 0x9f, 0xe1, 0x15, 0x1c, 0x6f, 0xd2, 0x5a, 0x20, 0xb2, 0xab, 0x78, 0x5e, +}; +static const unsigned char kat3173_addinpr2[] = { + 0x75, 0x88, 0x57, 0x7c, 0xd6, 0x78, 0x2b, 0x65, 0xf0, 0xd5, 0x52, 0x9f, + 0x3d, 0xb7, 0x78, 0x23, 0x46, 0x72, 0xc0, 0x56, 0x37, 0x07, 0xed, 0x73, + 0x90, 0xef, 0xe0, 0x1c, 0xe6, 0x7c, 0x73, 0x36, +}; +static const unsigned char kat3173_retbits[] = { + 0xc6, 0xa3, 0xa4, 0x46, 0x7d, 0x96, 0x55, 0x35, 0x62, 0x5a, 0x3c, 0x6c, + 0x35, 0xcb, 0x7c, 0x97, 0xf5, 0xdb, 0x04, 0x0f, 0xac, 0x19, 0xa1, 0x64, + 0xc4, 0x0e, 0x4d, 0x94, 0x46, 0x9f, 0xca, 0x72, 0x92, 0x22, 0x39, 0x52, + 0x7a, 0x1f, 0xd8, 0x18, 0x5e, 0x8c, 0xd6, 0x45, 0x75, 0xd2, 0x12, 0xa3, + 0xce, 0x95, 0xeb, 0x5f, 0x86, 0xa6, 0x78, 0x30, 0x93, 0xb6, 0xe1, 0x62, + 0x59, 0xe4, 0x23, 0x52, +}; +static const struct drbg_kat_pr_true kat3173_t = { + 7, kat3173_entropyin, kat3173_nonce, kat3173_persstr, + kat3173_entropyinpr1, kat3173_addinpr1, kat3173_entropyinpr2, + kat3173_addinpr2, kat3173_retbits +}; +static const struct drbg_kat kat3173 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3173_t +}; + +static const unsigned char kat3174_entropyin[] = { + 0x52, 0x64, 0xe3, 0x0e, 0xfe, 0xf5, 0xf5, 0xc9, 0x59, 0x9d, 0xa0, 0x28, + 0x01, 0xef, 0xeb, 0x19, 0x24, 0x64, 0x25, 0xe3, 0xba, 0x51, 0x5f, 0x32, +}; +static const unsigned char kat3174_nonce[] = { + 0xc8, 0xa2, 0x45, 0x34, 0xb7, 0x7d, 0xef, 0x98, 0xee, 0xa3, 0x34, 0xa9, + 0xa9, 0x61, 0xe5, 0x56, +}; +static const unsigned char kat3174_persstr[] = { + 0x2a, 0x12, 0x43, 0x9a, 0x4b, 0xd4, 0x56, 0xd8, 0x05, 0xb8, 0x54, 0xb8, + 0xe4, 0x1b, 0xf4, 0x08, 0xc3, 0x37, 0xf0, 0x68, 0xf8, 0x43, 0xaf, 0xb4, + 0x39, 0x2b, 0xb2, 0x62, 0xdc, 0x7b, 0x20, 0xb4, +}; +static const unsigned char kat3174_entropyinpr1[] = { + 0x7b, 0xc8, 0xd1, 0x0d, 0x01, 0x58, 0x06, 0xea, 0xe4, 0x78, 0x62, 0x58, + 0x5b, 0x53, 0xac, 0xc5, 0x85, 0x28, 0xf0, 0x66, 0x49, 0x99, 0x45, 0xd7, +}; +static const unsigned char kat3174_addinpr1[] = { + 0x96, 0xfc, 0x2f, 0x2b, 0xbe, 0xb8, 0x2a, 0xb2, 0x01, 0xab, 0x3c, 0x48, + 0x4d, 0x5d, 0xe7, 0xfc, 0x78, 0x46, 0xa5, 0xce, 0xd7, 0x6f, 0xbc, 0x29, + 0x56, 0x54, 0x01, 0x19, 0x54, 0xda, 0xcc, 0x59, +}; +static const unsigned char kat3174_entropyinpr2[] = { + 0xbe, 0x8a, 0x8e, 0x17, 0x29, 0x3d, 0xe6, 0x33, 0x18, 0x20, 0x5d, 0x77, + 0x49, 0x85, 0x1c, 0x7e, 0x39, 0x51, 0xca, 0xe6, 0xbe, 0x4a, 0x0d, 0x1f, +}; +static const unsigned char kat3174_addinpr2[] = { + 0x43, 0x91, 0x2f, 0x08, 0xae, 0xd8, 0x30, 0x54, 0xc8, 0x7b, 0x63, 0x15, + 0x8f, 0xc4, 0x89, 0xbc, 0x8d, 0x1c, 0x2b, 0x5f, 0x31, 0xf3, 0xb3, 0x73, + 0x54, 0xde, 0x8e, 0x42, 0xae, 0x2e, 0x69, 0xf3, +}; +static const unsigned char kat3174_retbits[] = { + 0x04, 0xb9, 0x61, 0x81, 0xfe, 0x4d, 0xc0, 0x4a, 0x42, 0x52, 0x56, 0x0a, + 0x3b, 0x90, 0x51, 0x1d, 0x55, 0x8a, 0x74, 0x24, 0x84, 0x23, 0xb5, 0x79, + 0x62, 0x72, 0x61, 0xda, 0x7b, 0x53, 0x2f, 0x0f, 0x77, 0x5f, 0x49, 0x56, + 0x1f, 0x08, 0x76, 0xbf, 0x5c, 0x85, 0xa5, 0x88, 0x12, 0xaa, 0x92, 0x1e, + 0xe8, 0x3e, 0x2b, 0xae, 0xb0, 0x62, 0xf3, 0x18, 0x2d, 0x2b, 0xae, 0xb5, + 0x62, 0xe0, 0x11, 0x81, +}; +static const struct drbg_kat_pr_true kat3174_t = { + 8, kat3174_entropyin, kat3174_nonce, kat3174_persstr, + kat3174_entropyinpr1, kat3174_addinpr1, kat3174_entropyinpr2, + kat3174_addinpr2, kat3174_retbits +}; +static const struct drbg_kat kat3174 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3174_t +}; + +static const unsigned char kat3175_entropyin[] = { + 0x85, 0xa5, 0xeb, 0x65, 0xed, 0x68, 0x3f, 0xd8, 0x4d, 0xee, 0x16, 0xf0, + 0x70, 0x5d, 0xbb, 0xb3, 0xae, 0x25, 0xa3, 0x49, 0x10, 0xfb, 0x1a, 0x7d, +}; +static const unsigned char kat3175_nonce[] = { + 0xe2, 0xac, 0x0c, 0xf8, 0x45, 0x8e, 0x27, 0x8b, 0x80, 0x75, 0x8e, 0x6f, + 0xc2, 0x15, 0x1a, 0x45, +}; +static const unsigned char kat3175_persstr[] = { + 0xb9, 0x7a, 0x44, 0xe6, 0x8c, 0x75, 0xc0, 0x9d, 0xa7, 0x9b, 0x33, 0xa0, + 0x2b, 0x07, 0x40, 0x16, 0xf8, 0xc1, 0x51, 0x7b, 0x48, 0xe5, 0xc7, 0x90, + 0xee, 0xad, 0xd5, 0xbf, 0xe2, 0xc3, 0x6a, 0x5a, +}; +static const unsigned char kat3175_entropyinpr1[] = { + 0x87, 0xa9, 0x74, 0xef, 0x33, 0x49, 0x78, 0xfa, 0xa4, 0xde, 0x23, 0x8f, + 0x4f, 0x87, 0x6a, 0x27, 0x86, 0xa8, 0x9a, 0x4a, 0x4b, 0xc5, 0x97, 0x6b, +}; +static const unsigned char kat3175_addinpr1[] = { + 0xba, 0x33, 0x32, 0xc2, 0x58, 0x37, 0x8b, 0xba, 0x15, 0x11, 0xb9, 0x3e, + 0x84, 0xd6, 0xf8, 0x6b, 0xbe, 0xba, 0xc4, 0x80, 0xd0, 0x01, 0x93, 0x3b, + 0x3d, 0x90, 0xca, 0xc6, 0x75, 0xfe, 0x72, 0xa6, +}; +static const unsigned char kat3175_entropyinpr2[] = { + 0xbe, 0x06, 0xf3, 0x7c, 0xe2, 0x48, 0x0e, 0xa6, 0x0f, 0x74, 0x3a, 0x36, + 0x0a, 0x6d, 0x01, 0x98, 0x1d, 0x6e, 0x31, 0x94, 0x90, 0xd5, 0x6a, 0x88, +}; +static const unsigned char kat3175_addinpr2[] = { + 0xd0, 0xf0, 0xf6, 0xf2, 0x43, 0xf9, 0x23, 0xfe, 0xa7, 0x1f, 0xc9, 0x33, + 0x8a, 0xc0, 0x0b, 0x14, 0x7c, 0xb3, 0x72, 0x09, 0x14, 0xb4, 0x31, 0xe2, + 0xda, 0xa6, 0x38, 0x15, 0x57, 0x8a, 0xed, 0x4a, +}; +static const unsigned char kat3175_retbits[] = { + 0x23, 0x8a, 0xd5, 0xb7, 0xf7, 0xce, 0x2f, 0x26, 0xf9, 0xa9, 0x4f, 0xf7, + 0x87, 0x5e, 0x52, 0x68, 0xa0, 0x46, 0x1e, 0x5e, 0x4a, 0xa5, 0xc7, 0x9d, + 0x39, 0x4c, 0x3e, 0x6b, 0xa2, 0x27, 0x8e, 0x68, 0x59, 0x10, 0xc3, 0xbc, + 0x8b, 0x7c, 0xd1, 0x65, 0x62, 0x01, 0xd0, 0x1a, 0x32, 0x3e, 0xd8, 0x37, + 0x7c, 0xa9, 0xc4, 0x3f, 0x29, 0xd8, 0x67, 0x12, 0x77, 0x9f, 0x34, 0x4c, + 0x5b, 0xf3, 0x64, 0xd9, +}; +static const struct drbg_kat_pr_true kat3175_t = { + 9, kat3175_entropyin, kat3175_nonce, kat3175_persstr, + kat3175_entropyinpr1, kat3175_addinpr1, kat3175_entropyinpr2, + kat3175_addinpr2, kat3175_retbits +}; +static const struct drbg_kat kat3175 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3175_t +}; + +static const unsigned char kat3176_entropyin[] = { + 0x1c, 0xce, 0x9b, 0x05, 0x45, 0x3d, 0x1e, 0x3c, 0x40, 0xe4, 0x3a, 0x9e, + 0x8b, 0x11, 0x97, 0x88, 0x53, 0x1f, 0x4c, 0x60, 0x5d, 0xfd, 0xc5, 0x59, +}; +static const unsigned char kat3176_nonce[] = { + 0xb6, 0xe7, 0x0b, 0xd0, 0x9a, 0x56, 0xc5, 0x62, 0x6f, 0x71, 0x2b, 0xe7, + 0x75, 0x81, 0x76, 0xd2, +}; +static const unsigned char kat3176_persstr[] = { + 0x87, 0x01, 0x89, 0x78, 0x02, 0x33, 0x90, 0xa0, 0x79, 0xd1, 0x40, 0x95, + 0x4b, 0xc0, 0xae, 0xa4, 0x75, 0xec, 0x63, 0xee, 0x92, 0x7f, 0x85, 0x58, + 0x9a, 0x4b, 0x8f, 0x76, 0xbf, 0xaa, 0xce, 0x34, +}; +static const unsigned char kat3176_entropyinpr1[] = { + 0xcc, 0x58, 0x25, 0x7c, 0xd6, 0x17, 0x27, 0x2a, 0x1a, 0x9e, 0xf8, 0x93, + 0xdb, 0xc2, 0xf8, 0x16, 0xaf, 0x39, 0xdf, 0x60, 0xda, 0xf4, 0xc1, 0x95, +}; +static const unsigned char kat3176_addinpr1[] = { + 0x00, 0xfe, 0x5a, 0x07, 0x96, 0x6b, 0x04, 0x5c, 0xec, 0x2d, 0x12, 0x5d, + 0x35, 0x5b, 0xdb, 0xe7, 0xc3, 0xa0, 0x33, 0xff, 0x8e, 0x41, 0x79, 0x77, + 0x74, 0xc8, 0xbd, 0x2f, 0xcf, 0x1f, 0x80, 0xd2, +}; +static const unsigned char kat3176_entropyinpr2[] = { + 0x37, 0x8a, 0x80, 0x77, 0xd2, 0x75, 0x39, 0x7e, 0x36, 0x19, 0xb3, 0xe2, + 0xda, 0x5b, 0xe3, 0x04, 0xe3, 0x23, 0x01, 0x92, 0x55, 0x36, 0xb3, 0x84, +}; +static const unsigned char kat3176_addinpr2[] = { + 0xa9, 0xd5, 0x73, 0xfc, 0x30, 0x39, 0x2a, 0x00, 0x0f, 0xb3, 0x12, 0xa0, + 0x69, 0xec, 0x25, 0x38, 0x61, 0x4c, 0x47, 0xa1, 0xd4, 0x7b, 0x03, 0x4c, + 0xa8, 0x42, 0xc2, 0xb9, 0x1d, 0x9d, 0xe6, 0x8f, +}; +static const unsigned char kat3176_retbits[] = { + 0x4c, 0xbe, 0x32, 0x92, 0x2b, 0x8a, 0x5c, 0x02, 0x96, 0xd6, 0x22, 0x5d, + 0x23, 0x8d, 0x50, 0x15, 0x3f, 0x59, 0x04, 0x53, 0x87, 0xd8, 0x4a, 0x96, + 0x06, 0x69, 0x69, 0xb6, 0x10, 0x34, 0x42, 0x02, 0xfc, 0xcd, 0x9c, 0x3a, + 0x5f, 0xfc, 0x59, 0x84, 0x50, 0x01, 0xec, 0x04, 0x16, 0x59, 0x08, 0xeb, + 0x40, 0xe3, 0xa8, 0x38, 0xfa, 0xc1, 0x9e, 0x7b, 0x2d, 0xe1, 0x3e, 0x34, + 0x55, 0xf3, 0x86, 0xa1, +}; +static const struct drbg_kat_pr_true kat3176_t = { + 10, kat3176_entropyin, kat3176_nonce, kat3176_persstr, + kat3176_entropyinpr1, kat3176_addinpr1, kat3176_entropyinpr2, + kat3176_addinpr2, kat3176_retbits +}; +static const struct drbg_kat kat3176 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3176_t +}; + +static const unsigned char kat3177_entropyin[] = { + 0x25, 0xc4, 0x47, 0x8a, 0x5d, 0xa9, 0x93, 0xae, 0xe1, 0x1f, 0xcd, 0x21, + 0x0c, 0x6e, 0xa2, 0x95, 0x3e, 0x4f, 0x4e, 0x07, 0x19, 0xa9, 0xf2, 0xc4, +}; +static const unsigned char kat3177_nonce[] = { + 0xbf, 0xb7, 0x47, 0xf4, 0xfc, 0xf2, 0x9b, 0x12, 0xb1, 0xf8, 0x74, 0x49, + 0x8e, 0xd8, 0x78, 0x20, +}; +static const unsigned char kat3177_persstr[] = { + 0x94, 0xb2, 0xb2, 0x79, 0x9f, 0xa8, 0x9b, 0xea, 0x02, 0x94, 0x2a, 0x93, + 0x8a, 0xa3, 0x14, 0x17, 0x32, 0x1c, 0x9f, 0xbd, 0xcb, 0x93, 0x8d, 0x45, + 0xae, 0x1a, 0xa7, 0x9c, 0x2b, 0x7e, 0x0d, 0xf7, +}; +static const unsigned char kat3177_entropyinpr1[] = { + 0x29, 0x1f, 0xa6, 0xed, 0x11, 0x9a, 0x19, 0x4b, 0x24, 0x8e, 0xf9, 0x0b, + 0xbb, 0x32, 0xbf, 0x10, 0xb6, 0x6e, 0x15, 0x0b, 0xd8, 0x73, 0x42, 0x82, +}; +static const unsigned char kat3177_addinpr1[] = { + 0xdd, 0x2a, 0xd4, 0xcd, 0xd6, 0xf4, 0x02, 0x28, 0x64, 0x45, 0x05, 0xd4, + 0x00, 0x70, 0x74, 0x09, 0x52, 0x66, 0x5e, 0xb9, 0xbb, 0xb6, 0xc5, 0x25, + 0x9f, 0x5f, 0xeb, 0xf3, 0xe8, 0xfa, 0x15, 0xa6, +}; +static const unsigned char kat3177_entropyinpr2[] = { + 0x0e, 0xec, 0xb9, 0x82, 0x83, 0x1e, 0x47, 0xa6, 0xcf, 0x5f, 0x28, 0xc1, + 0xab, 0xbc, 0x42, 0xd0, 0x49, 0x06, 0xef, 0x3e, 0x64, 0xc5, 0x7c, 0xbc, +}; +static const unsigned char kat3177_addinpr2[] = { + 0xbf, 0xd3, 0xe1, 0xff, 0x15, 0x30, 0x66, 0x7c, 0xcb, 0x44, 0xd4, 0x1f, + 0x8c, 0x82, 0x70, 0x3c, 0x22, 0x59, 0x8d, 0xbf, 0x93, 0x30, 0x46, 0x42, + 0x6c, 0xc1, 0xfa, 0xad, 0xdf, 0x6a, 0x2f, 0xaf, +}; +static const unsigned char kat3177_retbits[] = { + 0x11, 0x7b, 0x34, 0xd0, 0x1e, 0xe0, 0xa6, 0xb9, 0x72, 0x0d, 0x77, 0xad, + 0xcf, 0x8f, 0xa8, 0x45, 0x0d, 0xe0, 0x8a, 0x81, 0xac, 0x62, 0xcc, 0xde, + 0x36, 0x44, 0xd5, 0x81, 0x4b, 0xd6, 0xea, 0xb9, 0x67, 0x92, 0x82, 0x9b, + 0x1f, 0x0c, 0x56, 0xdf, 0x87, 0xb8, 0xec, 0xf0, 0x23, 0x1e, 0x1b, 0x76, + 0x80, 0x36, 0x74, 0x42, 0xa8, 0xdd, 0xcb, 0x3b, 0x5a, 0x12, 0xf1, 0xd5, + 0xf7, 0x17, 0xea, 0x13, +}; +static const struct drbg_kat_pr_true kat3177_t = { + 11, kat3177_entropyin, kat3177_nonce, kat3177_persstr, + kat3177_entropyinpr1, kat3177_addinpr1, kat3177_entropyinpr2, + kat3177_addinpr2, kat3177_retbits +}; +static const struct drbg_kat kat3177 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3177_t +}; + +static const unsigned char kat3178_entropyin[] = { + 0xec, 0xbc, 0x26, 0x4c, 0xf6, 0x6c, 0x64, 0x73, 0x7f, 0xe1, 0x4d, 0x89, + 0xc1, 0x70, 0xb0, 0x7e, 0x9c, 0x11, 0x5e, 0x1c, 0xcf, 0x12, 0x8f, 0x29, +}; +static const unsigned char kat3178_nonce[] = { + 0x52, 0x85, 0xcf, 0x4c, 0x6c, 0xe8, 0x65, 0x64, 0xa8, 0x82, 0xc8, 0x50, + 0x83, 0x81, 0x83, 0xb1, +}; +static const unsigned char kat3178_persstr[] = { + 0xe7, 0xfd, 0xde, 0x2b, 0xda, 0xcd, 0xc4, 0x7e, 0xbf, 0x2f, 0x95, 0x67, + 0x45, 0xad, 0x62, 0xde, 0xae, 0x58, 0xac, 0xa3, 0xbe, 0x9f, 0x87, 0x5d, + 0x13, 0xe7, 0xac, 0xa9, 0xbb, 0x79, 0xee, 0xe3, +}; +static const unsigned char kat3178_entropyinpr1[] = { + 0xec, 0xa9, 0xee, 0x54, 0xef, 0x82, 0x95, 0xd5, 0x36, 0x83, 0x0c, 0x9e, + 0x17, 0x8e, 0x95, 0x81, 0x25, 0x7d, 0xc4, 0xe1, 0xcb, 0x7b, 0xed, 0x06, +}; +static const unsigned char kat3178_addinpr1[] = { + 0x79, 0xa5, 0x8a, 0x26, 0xef, 0x4b, 0xa3, 0x2f, 0xb6, 0x57, 0x64, 0xf2, + 0xed, 0x12, 0x3b, 0xb6, 0x9d, 0x96, 0x95, 0x6b, 0x72, 0x94, 0x71, 0x30, + 0x08, 0xce, 0x82, 0x82, 0x6b, 0xe2, 0x35, 0x82, +}; +static const unsigned char kat3178_entropyinpr2[] = { + 0x6a, 0x2a, 0xb4, 0x6a, 0x06, 0xb3, 0x19, 0x5f, 0xad, 0x95, 0x42, 0xe3, + 0xb0, 0x93, 0x51, 0xee, 0x4c, 0x47, 0x01, 0x7e, 0x29, 0x85, 0x76, 0x1d, +}; +static const unsigned char kat3178_addinpr2[] = { + 0xd0, 0x01, 0xe9, 0x02, 0x99, 0xa2, 0x74, 0x36, 0x5e, 0x42, 0x90, 0xca, + 0x57, 0x7c, 0x51, 0x71, 0x3e, 0xd4, 0xaf, 0xa3, 0x15, 0x01, 0xe3, 0x8d, + 0x1a, 0x5a, 0xf1, 0x4c, 0x4f, 0x4b, 0x6f, 0xfb, +}; +static const unsigned char kat3178_retbits[] = { + 0xce, 0x4f, 0x86, 0x1a, 0x93, 0xa2, 0x02, 0x88, 0xc3, 0x98, 0x61, 0xc8, + 0xe4, 0xcc, 0x39, 0xa8, 0xbf, 0x36, 0xae, 0x74, 0x07, 0x11, 0xd6, 0xbe, + 0x53, 0x51, 0x2f, 0xda, 0x9c, 0x12, 0x58, 0xff, 0x18, 0x76, 0x99, 0x37, + 0xa9, 0x2e, 0x3d, 0x31, 0x73, 0xb6, 0xf0, 0x5c, 0xd7, 0x5c, 0x66, 0xc2, + 0xaf, 0xb9, 0x36, 0x0e, 0xab, 0x82, 0x9a, 0x3c, 0xa0, 0x30, 0xe8, 0x50, + 0xed, 0x67, 0xde, 0xd7, +}; +static const struct drbg_kat_pr_true kat3178_t = { + 12, kat3178_entropyin, kat3178_nonce, kat3178_persstr, + kat3178_entropyinpr1, kat3178_addinpr1, kat3178_entropyinpr2, + kat3178_addinpr2, kat3178_retbits +}; +static const struct drbg_kat kat3178 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3178_t +}; + +static const unsigned char kat3179_entropyin[] = { + 0xde, 0xa6, 0xaa, 0x6f, 0x6e, 0xac, 0x44, 0x74, 0xf2, 0x8b, 0x99, 0x28, + 0xc5, 0xa1, 0x13, 0xf2, 0x5f, 0xc1, 0x36, 0x92, 0x96, 0x78, 0xcf, 0xb5, +}; +static const unsigned char kat3179_nonce[] = { + 0xd4, 0x5d, 0x82, 0xc8, 0x55, 0x03, 0xb9, 0x68, 0xce, 0x9a, 0x99, 0xe6, + 0xfd, 0x4b, 0x4a, 0x18, +}; +static const unsigned char kat3179_persstr[] = { + 0x13, 0x10, 0x36, 0xe0, 0xea, 0x67, 0xe8, 0xa2, 0x0d, 0x88, 0xbf, 0xf9, + 0xfe, 0x3b, 0x27, 0x3c, 0x15, 0x3a, 0x3d, 0x6d, 0xaa, 0x16, 0xdd, 0x3e, + 0xed, 0xab, 0xeb, 0x65, 0xa8, 0x42, 0xc4, 0xde, +}; +static const unsigned char kat3179_entropyinpr1[] = { + 0x73, 0xed, 0xb4, 0x99, 0x39, 0x77, 0x26, 0x65, 0xfa, 0x69, 0x02, 0x68, + 0x94, 0x17, 0x51, 0xee, 0x2a, 0xec, 0x45, 0x0c, 0xcc, 0x37, 0xad, 0xa3, +}; +static const unsigned char kat3179_addinpr1[] = { + 0x4b, 0xcc, 0x3c, 0xb9, 0x8c, 0x54, 0x72, 0x97, 0xb3, 0x62, 0x2c, 0x5a, + 0xc2, 0xae, 0xa0, 0x46, 0x38, 0xb3, 0x03, 0x7c, 0x06, 0x9b, 0x09, 0x29, + 0xa3, 0xfe, 0x00, 0xc4, 0xe2, 0x0e, 0x65, 0x4a, +}; +static const unsigned char kat3179_entropyinpr2[] = { + 0x5b, 0x41, 0x5f, 0xd0, 0x08, 0x84, 0x04, 0xed, 0xbb, 0xda, 0xd4, 0x1f, + 0xe6, 0x37, 0x8b, 0xb5, 0x64, 0x7c, 0xeb, 0x84, 0x2b, 0xf9, 0xb3, 0x34, +}; +static const unsigned char kat3179_addinpr2[] = { + 0xa2, 0xb3, 0x43, 0x26, 0x97, 0xa6, 0xa8, 0xd1, 0xe0, 0x15, 0xaa, 0xcc, + 0xbb, 0x70, 0x22, 0x1d, 0x87, 0x38, 0x25, 0x5f, 0xf4, 0x59, 0xa1, 0x27, + 0x0a, 0xef, 0x40, 0x85, 0xd9, 0xee, 0x7c, 0xc0, +}; +static const unsigned char kat3179_retbits[] = { + 0xa5, 0xd9, 0xc0, 0xdf, 0xfd, 0xfa, 0xa1, 0xcc, 0x8d, 0x28, 0x44, 0xbc, + 0x31, 0x55, 0x31, 0xca, 0x79, 0x3b, 0x0b, 0x45, 0x93, 0x59, 0x61, 0xdf, + 0xcd, 0xc0, 0x02, 0xb8, 0x7d, 0xd5, 0x2c, 0x72, 0xe4, 0x52, 0xb3, 0x33, + 0x0f, 0xf5, 0x39, 0x7b, 0x0a, 0x2e, 0x0b, 0x6b, 0xb9, 0xf7, 0x18, 0xae, + 0xac, 0xb5, 0x1d, 0x4f, 0xe6, 0xa2, 0x2f, 0x9f, 0x1b, 0xbb, 0xa9, 0x1a, + 0x44, 0x9c, 0x08, 0xaa, +}; +static const struct drbg_kat_pr_true kat3179_t = { + 13, kat3179_entropyin, kat3179_nonce, kat3179_persstr, + kat3179_entropyinpr1, kat3179_addinpr1, kat3179_entropyinpr2, + kat3179_addinpr2, kat3179_retbits +}; +static const struct drbg_kat kat3179 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3179_t +}; + +static const unsigned char kat3180_entropyin[] = { + 0x6d, 0x78, 0x46, 0xfa, 0xe1, 0x60, 0xf3, 0xcb, 0xe1, 0x0c, 0xad, 0x6e, + 0x49, 0x64, 0xed, 0x11, 0x93, 0xb2, 0x43, 0x7f, 0x68, 0x8b, 0x13, 0x34, +}; +static const unsigned char kat3180_nonce[] = { + 0x86, 0x8a, 0xeb, 0x39, 0xea, 0xfa, 0xa0, 0xff, 0xec, 0xc5, 0x15, 0xae, + 0xc7, 0x2b, 0xd0, 0x15, +}; +static const unsigned char kat3180_persstr[] = { + 0x65, 0x98, 0x2c, 0x2a, 0x31, 0xe7, 0xba, 0xf2, 0xf9, 0xaa, 0x99, 0xc8, + 0x50, 0xd1, 0x48, 0x38, 0x69, 0xf5, 0xd8, 0x73, 0x08, 0xdb, 0x77, 0xb0, + 0x74, 0x47, 0xc4, 0x0b, 0x35, 0xaf, 0x36, 0xcf, +}; +static const unsigned char kat3180_entropyinpr1[] = { + 0xac, 0xc7, 0xb2, 0xd4, 0x2e, 0xcd, 0x15, 0xbd, 0x12, 0xe7, 0xac, 0xc4, + 0x11, 0x47, 0x62, 0x2f, 0x42, 0x6b, 0x3b, 0x55, 0x41, 0x16, 0x05, 0x23, +}; +static const unsigned char kat3180_addinpr1[] = { + 0x00, 0x2c, 0x0b, 0x6d, 0x4e, 0x02, 0xfd, 0xe6, 0x29, 0xc9, 0xc8, 0xde, + 0x23, 0xe6, 0x8e, 0x6c, 0xb8, 0xc9, 0x06, 0xc2, 0xff, 0x7c, 0x75, 0xb3, + 0xb8, 0x42, 0xa5, 0xa7, 0xb3, 0x0a, 0x42, 0x5f, +}; +static const unsigned char kat3180_entropyinpr2[] = { + 0xb4, 0x60, 0x29, 0x9d, 0xd4, 0xe2, 0x9f, 0x27, 0x95, 0x88, 0x7b, 0x2e, + 0xd3, 0x98, 0x24, 0x6f, 0x81, 0x57, 0x01, 0x09, 0x5d, 0x55, 0x30, 0xac, +}; +static const unsigned char kat3180_addinpr2[] = { + 0x55, 0x1d, 0xd2, 0xd3, 0xe9, 0xd6, 0xab, 0x9f, 0x06, 0xed, 0xa8, 0xec, + 0x44, 0x81, 0xde, 0xc7, 0xb4, 0xe9, 0xbc, 0x9d, 0x5a, 0x61, 0x3d, 0x03, + 0x6b, 0xe2, 0x8b, 0x36, 0x83, 0xb2, 0x5d, 0x9e, +}; +static const unsigned char kat3180_retbits[] = { + 0xdd, 0x0e, 0x03, 0xed, 0xdb, 0x23, 0x20, 0xff, 0xb8, 0xc6, 0x4b, 0x61, + 0xf5, 0xdf, 0x41, 0x54, 0x5b, 0x80, 0xae, 0x74, 0xfe, 0x2d, 0x52, 0xc5, + 0xd5, 0xe7, 0x03, 0x24, 0x37, 0x49, 0xd8, 0x54, 0xaa, 0xe6, 0x85, 0xc5, + 0x54, 0xdd, 0x18, 0x36, 0x4c, 0x3e, 0xbc, 0x84, 0xab, 0x19, 0x96, 0xa9, + 0x9f, 0xa3, 0xb3, 0x76, 0xb1, 0x0a, 0x94, 0xe4, 0x10, 0xd7, 0xcd, 0x8e, + 0x56, 0xb6, 0x73, 0x88, +}; +static const struct drbg_kat_pr_true kat3180_t = { + 14, kat3180_entropyin, kat3180_nonce, kat3180_persstr, + kat3180_entropyinpr1, kat3180_addinpr1, kat3180_entropyinpr2, + kat3180_addinpr2, kat3180_retbits +}; +static const struct drbg_kat kat3180 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3180_t +}; + +static const unsigned char kat3181_entropyin[] = { + 0x65, 0xde, 0xd9, 0x3b, 0xaa, 0x63, 0xe6, 0x35, 0x18, 0xc3, 0x30, 0x3d, + 0x6c, 0xd9, 0xdf, 0x74, 0xa9, 0xc6, 0x46, 0x40, 0x86, 0x52, 0xa9, 0x41, +}; +static const unsigned char kat3181_nonce[] = { + 0x5d, 0xfa, 0xf4, 0x84, 0x37, 0x92, 0xbf, 0x8c, 0x6a, 0xc9, 0x08, 0x39, + 0xba, 0xbe, 0x40, 0xd4, +}; +static const unsigned char kat3181_persstr[] = {0}; +static const unsigned char kat3181_entropyinpr1[] = { + 0x24, 0xc2, 0x8d, 0xdb, 0xbd, 0x91, 0x6b, 0xfc, 0xc6, 0xd9, 0x6c, 0x00, + 0xe2, 0xc1, 0x0e, 0x1a, 0x0f, 0x0a, 0x02, 0x31, 0xc1, 0xb7, 0x46, 0x68, +}; +static const unsigned char kat3181_addinpr1[] = {0}; +static const unsigned char kat3181_entropyinpr2[] = { + 0x03, 0x15, 0x50, 0x4c, 0xc3, 0xd7, 0x84, 0x18, 0xc7, 0x34, 0x6d, 0xaf, + 0xdb, 0xc0, 0xa4, 0x27, 0x6a, 0xe3, 0xa9, 0xc4, 0x7d, 0x5f, 0x55, 0x7a, +}; +static const unsigned char kat3181_addinpr2[] = {0}; +static const unsigned char kat3181_retbits[] = { + 0x0c, 0x21, 0x98, 0xb8, 0x27, 0xd6, 0x66, 0x48, 0xca, 0xb1, 0xdc, 0x7d, + 0xd9, 0x28, 0x71, 0x25, 0xd4, 0x15, 0xf9, 0x33, 0xcf, 0xf7, 0x1c, 0x8d, + 0xa0, 0x11, 0xb8, 0xda, 0x7b, 0xeb, 0x19, 0x1d, 0x8e, 0x94, 0x3a, 0x6d, + 0xa1, 0x7d, 0x69, 0xa1, 0x6f, 0xc4, 0xbd, 0xa4, 0x22, 0x1e, 0xe6, 0xd5, + 0x51, 0x2f, 0xaf, 0x4c, 0x69, 0x27, 0x14, 0x1b, 0xe4, 0xd0, 0x60, 0x3c, + 0x9f, 0x69, 0xca, 0x7c, +}; +static const struct drbg_kat_pr_true kat3181_t = { + 0, kat3181_entropyin, kat3181_nonce, kat3181_persstr, + kat3181_entropyinpr1, kat3181_addinpr1, kat3181_entropyinpr2, + kat3181_addinpr2, kat3181_retbits +}; +static const struct drbg_kat kat3181 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3181_t +}; + +static const unsigned char kat3182_entropyin[] = { + 0x1c, 0x7d, 0xd8, 0x91, 0x38, 0xc3, 0x81, 0x04, 0x7b, 0x7e, 0x2d, 0x44, + 0x23, 0xe0, 0xc3, 0x2d, 0xc3, 0xa5, 0x9c, 0x1b, 0x65, 0xd5, 0x45, 0x47, +}; +static const unsigned char kat3182_nonce[] = { + 0x4e, 0xfa, 0xc8, 0x73, 0xc9, 0xf3, 0x15, 0xd6, 0xf7, 0x72, 0x78, 0xbc, + 0x9c, 0xff, 0xa3, 0x48, +}; +static const unsigned char kat3182_persstr[] = {0}; +static const unsigned char kat3182_entropyinpr1[] = { + 0x97, 0xc8, 0xb3, 0xa8, 0x31, 0x8b, 0x5c, 0xda, 0x25, 0xb2, 0x6e, 0xda, + 0x15, 0xfc, 0x87, 0x18, 0x3d, 0xda, 0x7f, 0x60, 0x51, 0xb2, 0x39, 0xcd, +}; +static const unsigned char kat3182_addinpr1[] = {0}; +static const unsigned char kat3182_entropyinpr2[] = { + 0x80, 0xfd, 0x70, 0x57, 0xee, 0xff, 0xad, 0x66, 0x5f, 0x86, 0x1b, 0xd6, + 0xa0, 0x36, 0x61, 0x54, 0xb6, 0xd8, 0x73, 0x9d, 0x25, 0x9f, 0xce, 0xa6, +}; +static const unsigned char kat3182_addinpr2[] = {0}; +static const unsigned char kat3182_retbits[] = { + 0x05, 0xc0, 0x5b, 0x9c, 0xb2, 0xdd, 0x98, 0xd5, 0x0f, 0xd1, 0xeb, 0x24, + 0x57, 0x97, 0xa0, 0x46, 0x3f, 0xa7, 0xfa, 0xd9, 0xca, 0x4f, 0xc4, 0xef, + 0x7e, 0x41, 0x14, 0x78, 0x94, 0x0f, 0x4c, 0xb2, 0xfb, 0x74, 0x33, 0x32, + 0x2a, 0xad, 0xb6, 0xc6, 0x03, 0x3f, 0x6b, 0xf2, 0xdd, 0xa9, 0xba, 0x53, + 0x4a, 0xff, 0x84, 0xae, 0x69, 0xa0, 0xf2, 0xed, 0x16, 0x8d, 0xee, 0x69, + 0x19, 0xeb, 0xae, 0x13, +}; +static const struct drbg_kat_pr_true kat3182_t = { + 1, kat3182_entropyin, kat3182_nonce, kat3182_persstr, + kat3182_entropyinpr1, kat3182_addinpr1, kat3182_entropyinpr2, + kat3182_addinpr2, kat3182_retbits +}; +static const struct drbg_kat kat3182 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3182_t +}; + +static const unsigned char kat3183_entropyin[] = { + 0xc0, 0x52, 0xcc, 0x8f, 0xf9, 0xb8, 0xc4, 0x16, 0x7d, 0x68, 0x81, 0x9f, + 0x49, 0x28, 0x50, 0x7a, 0x0b, 0xe7, 0x54, 0x9f, 0x30, 0x64, 0x77, 0xd2, +}; +static const unsigned char kat3183_nonce[] = { + 0xa9, 0xa2, 0x5f, 0x2d, 0x3d, 0x0f, 0x6a, 0x57, 0xf9, 0x73, 0x10, 0xfd, + 0xef, 0x22, 0xb7, 0xbf, +}; +static const unsigned char kat3183_persstr[] = {0}; +static const unsigned char kat3183_entropyinpr1[] = { + 0x0c, 0x49, 0x77, 0x76, 0x59, 0xac, 0xe8, 0x08, 0x54, 0x25, 0x0b, 0xac, + 0x32, 0xff, 0x61, 0x67, 0x0a, 0xaf, 0x9a, 0x1a, 0x48, 0x54, 0xc3, 0xfa, +}; +static const unsigned char kat3183_addinpr1[] = {0}; +static const unsigned char kat3183_entropyinpr2[] = { + 0xdf, 0xa4, 0xba, 0x0f, 0xf9, 0xdf, 0xc9, 0xb9, 0xe7, 0xa2, 0xc8, 0xa7, + 0x0c, 0xc5, 0x1d, 0xc2, 0x2c, 0x43, 0xb2, 0xab, 0x06, 0x30, 0x1d, 0x3e, +}; +static const unsigned char kat3183_addinpr2[] = {0}; +static const unsigned char kat3183_retbits[] = { + 0x5e, 0xbe, 0x20, 0xb6, 0xfd, 0xae, 0x03, 0x90, 0x0f, 0xa5, 0x0b, 0x22, + 0x7c, 0xee, 0x83, 0xea, 0x51, 0x45, 0x9d, 0xc7, 0xf8, 0x2e, 0x79, 0x88, + 0x71, 0x21, 0x73, 0xd9, 0xbe, 0xc1, 0x1b, 0x98, 0xaa, 0x29, 0xb0, 0x2d, + 0x01, 0xf9, 0x1a, 0xa2, 0x2d, 0xfe, 0x78, 0xc6, 0x34, 0xec, 0x50, 0x46, + 0x14, 0xb0, 0x92, 0xa5, 0x0b, 0x62, 0x87, 0x32, 0x01, 0xf4, 0x36, 0x1f, + 0xb6, 0xcd, 0xa7, 0xac, +}; +static const struct drbg_kat_pr_true kat3183_t = { + 2, kat3183_entropyin, kat3183_nonce, kat3183_persstr, + kat3183_entropyinpr1, kat3183_addinpr1, kat3183_entropyinpr2, + kat3183_addinpr2, kat3183_retbits +}; +static const struct drbg_kat kat3183 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3183_t +}; + +static const unsigned char kat3184_entropyin[] = { + 0xfe, 0x55, 0xdc, 0x8e, 0xc8, 0x54, 0xa9, 0xa1, 0x87, 0xe2, 0xa3, 0x65, + 0xbb, 0xfb, 0x45, 0xb4, 0xbf, 0xe6, 0x22, 0xfc, 0x4c, 0x78, 0xcf, 0xf0, +}; +static const unsigned char kat3184_nonce[] = { + 0x5d, 0x14, 0x06, 0xf1, 0xc9, 0x39, 0x67, 0x7d, 0x63, 0x26, 0x5c, 0x28, + 0xdd, 0x7a, 0xd3, 0xd2, +}; +static const unsigned char kat3184_persstr[] = {0}; +static const unsigned char kat3184_entropyinpr1[] = { + 0x99, 0x6e, 0xe0, 0xa0, 0x8d, 0x56, 0xd1, 0xb3, 0xd7, 0xc6, 0x5e, 0x5e, + 0xe5, 0x06, 0xc8, 0x6f, 0x05, 0x00, 0x11, 0x29, 0x92, 0x91, 0x25, 0x39, +}; +static const unsigned char kat3184_addinpr1[] = {0}; +static const unsigned char kat3184_entropyinpr2[] = { + 0xed, 0x1b, 0x49, 0xe7, 0x73, 0x04, 0xe5, 0xbf, 0x32, 0x53, 0xd8, 0x5a, + 0xe3, 0x10, 0x25, 0x69, 0x40, 0x98, 0xb1, 0x8f, 0x22, 0x48, 0xe6, 0xa9, +}; +static const unsigned char kat3184_addinpr2[] = {0}; +static const unsigned char kat3184_retbits[] = { + 0x60, 0xae, 0xe5, 0x65, 0x89, 0x83, 0x59, 0xcb, 0xd4, 0x75, 0x73, 0x97, + 0x91, 0x3a, 0x3a, 0x38, 0x74, 0x5b, 0x6b, 0x5e, 0xad, 0xbe, 0x70, 0x32, + 0x51, 0xa5, 0x3e, 0xb4, 0x8c, 0x6b, 0x5d, 0x7e, 0x3a, 0xbc, 0x08, 0x19, + 0xe4, 0x65, 0xad, 0xb7, 0xdd, 0xde, 0x57, 0xb8, 0x2c, 0x56, 0x8e, 0x5f, + 0x9c, 0x47, 0x4b, 0x07, 0x05, 0x5b, 0x8a, 0x82, 0x88, 0x06, 0x2c, 0xd9, + 0x34, 0x80, 0xf6, 0x47, +}; +static const struct drbg_kat_pr_true kat3184_t = { + 3, kat3184_entropyin, kat3184_nonce, kat3184_persstr, + kat3184_entropyinpr1, kat3184_addinpr1, kat3184_entropyinpr2, + kat3184_addinpr2, kat3184_retbits +}; +static const struct drbg_kat kat3184 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3184_t +}; + +static const unsigned char kat3185_entropyin[] = { + 0xbe, 0x86, 0xc9, 0xb0, 0xfb, 0x9b, 0xa5, 0x83, 0x40, 0xee, 0x37, 0xdc, + 0x73, 0x1a, 0xad, 0xfc, 0xcf, 0x42, 0x2b, 0x88, 0xe2, 0xdf, 0x4c, 0xd0, +}; +static const unsigned char kat3185_nonce[] = { + 0x3b, 0x2e, 0x3f, 0x05, 0x99, 0x36, 0xf7, 0xe0, 0xb2, 0xdd, 0x19, 0x96, + 0x8a, 0xbe, 0x04, 0x8a, +}; +static const unsigned char kat3185_persstr[] = {0}; +static const unsigned char kat3185_entropyinpr1[] = { + 0x8c, 0x5a, 0xe3, 0xfa, 0xf2, 0xc1, 0xc0, 0xad, 0xfb, 0x1d, 0xc7, 0x6e, + 0xaa, 0xf3, 0x2b, 0xa6, 0x2d, 0x94, 0x9b, 0x5c, 0x5b, 0x6f, 0x51, 0x1a, +}; +static const unsigned char kat3185_addinpr1[] = {0}; +static const unsigned char kat3185_entropyinpr2[] = { + 0x9f, 0x80, 0xbc, 0xe2, 0xbb, 0x7f, 0x46, 0xb0, 0xd2, 0xca, 0xad, 0x51, + 0x51, 0xa8, 0x79, 0xf3, 0x55, 0xbc, 0x70, 0xb1, 0x1d, 0x4e, 0xf1, 0x75, +}; +static const unsigned char kat3185_addinpr2[] = {0}; +static const unsigned char kat3185_retbits[] = { + 0x44, 0x0b, 0xd1, 0xa9, 0x45, 0xb5, 0xca, 0x33, 0xbe, 0xb3, 0x8d, 0xf0, + 0xfb, 0xf2, 0xef, 0x44, 0xe5, 0x7c, 0xa4, 0xd6, 0x11, 0x83, 0xcb, 0xc3, + 0xa1, 0x5a, 0xc9, 0x7a, 0x65, 0xf7, 0x58, 0x84, 0xb2, 0x58, 0xf0, 0x3a, + 0xca, 0x22, 0x43, 0x94, 0x55, 0xc3, 0xd7, 0x9c, 0xad, 0xf8, 0x21, 0x92, + 0x3b, 0x02, 0xf2, 0xc5, 0xd4, 0x2e, 0xcc, 0x01, 0xdf, 0x53, 0x8f, 0x46, + 0x0e, 0x0e, 0x38, 0x9b, +}; +static const struct drbg_kat_pr_true kat3185_t = { + 4, kat3185_entropyin, kat3185_nonce, kat3185_persstr, + kat3185_entropyinpr1, kat3185_addinpr1, kat3185_entropyinpr2, + kat3185_addinpr2, kat3185_retbits +}; +static const struct drbg_kat kat3185 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3185_t +}; + +static const unsigned char kat3186_entropyin[] = { + 0x44, 0x7a, 0xec, 0xb6, 0xf5, 0x19, 0xce, 0x2d, 0x74, 0x2e, 0x38, 0x13, + 0xc6, 0xf4, 0x26, 0x2c, 0xe0, 0x02, 0x12, 0x14, 0x09, 0x09, 0xbe, 0x44, +}; +static const unsigned char kat3186_nonce[] = { + 0xca, 0x25, 0x86, 0x70, 0x52, 0x2e, 0x9f, 0xd5, 0xda, 0x81, 0x9c, 0xd1, + 0x7b, 0xea, 0xfc, 0x7f, +}; +static const unsigned char kat3186_persstr[] = {0}; +static const unsigned char kat3186_entropyinpr1[] = { + 0x43, 0x9b, 0xbf, 0x49, 0xf0, 0x7b, 0x1a, 0xd6, 0x14, 0x76, 0x17, 0x43, + 0x8f, 0x9e, 0xd8, 0xac, 0x27, 0x8d, 0x79, 0xac, 0xaf, 0x97, 0x23, 0xee, +}; +static const unsigned char kat3186_addinpr1[] = {0}; +static const unsigned char kat3186_entropyinpr2[] = { + 0x01, 0x05, 0xb9, 0x48, 0xce, 0xb8, 0x74, 0xec, 0x26, 0x60, 0xc8, 0xf0, + 0x90, 0xdc, 0x73, 0x18, 0x1a, 0x80, 0xc8, 0x56, 0x9b, 0xbf, 0xf0, 0x1c, +}; +static const unsigned char kat3186_addinpr2[] = {0}; +static const unsigned char kat3186_retbits[] = { + 0x1d, 0x74, 0xf3, 0xe7, 0x71, 0x19, 0x14, 0x2e, 0x38, 0x6a, 0x8f, 0x32, + 0x42, 0x93, 0xc0, 0xc4, 0xcd, 0xc9, 0x37, 0x27, 0x72, 0x3b, 0x03, 0xae, + 0x3a, 0x2a, 0x65, 0x4d, 0x5d, 0xc1, 0x4f, 0x7f, 0x0f, 0x34, 0xf5, 0xdf, + 0xd3, 0x1f, 0x6a, 0x42, 0xb1, 0x92, 0x81, 0x0c, 0x4a, 0xf7, 0x49, 0x48, + 0x18, 0x1a, 0x6f, 0xb8, 0x6e, 0xf3, 0xd6, 0x82, 0xce, 0x40, 0x92, 0xf6, + 0x67, 0xc7, 0xf8, 0x4f, +}; +static const struct drbg_kat_pr_true kat3186_t = { + 5, kat3186_entropyin, kat3186_nonce, kat3186_persstr, + kat3186_entropyinpr1, kat3186_addinpr1, kat3186_entropyinpr2, + kat3186_addinpr2, kat3186_retbits +}; +static const struct drbg_kat kat3186 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3186_t +}; + +static const unsigned char kat3187_entropyin[] = { + 0xfc, 0xf0, 0x7a, 0x2f, 0x22, 0x1b, 0xc9, 0x9f, 0x7c, 0x06, 0x87, 0x39, + 0x4c, 0x3c, 0x54, 0xa3, 0xaa, 0x41, 0x14, 0x9f, 0x3b, 0xef, 0xe8, 0x2b, +}; +static const unsigned char kat3187_nonce[] = { + 0xd7, 0x06, 0xc6, 0x39, 0x8e, 0xdd, 0x0b, 0x0f, 0x33, 0x48, 0x56, 0xe9, + 0x55, 0x3f, 0xca, 0x76, +}; +static const unsigned char kat3187_persstr[] = {0}; +static const unsigned char kat3187_entropyinpr1[] = { + 0x52, 0x63, 0x48, 0x84, 0xc2, 0x5c, 0x75, 0x53, 0x2b, 0x3e, 0x69, 0x14, + 0x51, 0xa4, 0x50, 0xd0, 0x94, 0xf3, 0x43, 0xb0, 0x94, 0x60, 0xcb, 0x4f, +}; +static const unsigned char kat3187_addinpr1[] = {0}; +static const unsigned char kat3187_entropyinpr2[] = { + 0x06, 0x84, 0x45, 0x6d, 0x99, 0x84, 0xb1, 0xee, 0x1b, 0x21, 0x06, 0x1a, + 0x52, 0x2f, 0x44, 0x55, 0x11, 0xf1, 0x52, 0x8d, 0xdd, 0xf6, 0x67, 0x2d, +}; +static const unsigned char kat3187_addinpr2[] = {0}; +static const unsigned char kat3187_retbits[] = { + 0x94, 0xe1, 0x68, 0x55, 0xa8, 0x5d, 0x38, 0xb2, 0x24, 0x73, 0x77, 0x2e, + 0x77, 0xbc, 0x7a, 0x5e, 0xca, 0xfc, 0xe0, 0x6a, 0xa8, 0x40, 0xa6, 0x4e, + 0xf1, 0x68, 0x7a, 0x2b, 0xa1, 0xef, 0xe0, 0x83, 0xdb, 0x3c, 0x6e, 0xc1, + 0x1a, 0x81, 0x0d, 0xe6, 0x96, 0x27, 0x18, 0x84, 0x32, 0xac, 0xd7, 0x32, + 0x79, 0x8d, 0xa6, 0xf0, 0x91, 0x25, 0xf8, 0x47, 0x9e, 0x67, 0x79, 0x1a, + 0xdd, 0x5c, 0xf3, 0xaa, +}; +static const struct drbg_kat_pr_true kat3187_t = { + 6, kat3187_entropyin, kat3187_nonce, kat3187_persstr, + kat3187_entropyinpr1, kat3187_addinpr1, kat3187_entropyinpr2, + kat3187_addinpr2, kat3187_retbits +}; +static const struct drbg_kat kat3187 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3187_t +}; + +static const unsigned char kat3188_entropyin[] = { + 0xcc, 0xa1, 0x39, 0xd3, 0x64, 0xc5, 0x11, 0x34, 0xf8, 0x2b, 0x6b, 0xfe, + 0x56, 0x56, 0x63, 0xbc, 0x1d, 0x8e, 0xa8, 0x9a, 0x0d, 0x0c, 0x1f, 0xdf, +}; +static const unsigned char kat3188_nonce[] = { + 0xe2, 0xb2, 0x34, 0xb0, 0x8f, 0x1f, 0xc8, 0xca, 0x26, 0xfd, 0x0e, 0x00, + 0xa1, 0x89, 0x87, 0xb1, +}; +static const unsigned char kat3188_persstr[] = {0}; +static const unsigned char kat3188_entropyinpr1[] = { + 0x65, 0x42, 0x07, 0x2d, 0x3c, 0x6d, 0x16, 0xa3, 0xcc, 0x06, 0x3d, 0x1f, + 0x5c, 0xaf, 0x93, 0x27, 0xca, 0x27, 0xb7, 0xdd, 0x60, 0xaa, 0x09, 0x29, +}; +static const unsigned char kat3188_addinpr1[] = {0}; +static const unsigned char kat3188_entropyinpr2[] = { + 0xd9, 0x71, 0xfd, 0xe0, 0x34, 0x5a, 0x91, 0x9a, 0xa9, 0x9f, 0xbb, 0x85, + 0x18, 0x4d, 0xc8, 0xc8, 0x51, 0xc7, 0x33, 0x24, 0xd9, 0x85, 0x22, 0x39, +}; +static const unsigned char kat3188_addinpr2[] = {0}; +static const unsigned char kat3188_retbits[] = { + 0xd4, 0x5e, 0x78, 0x5a, 0x64, 0x3d, 0x57, 0xbf, 0x49, 0x21, 0xb5, 0xfb, + 0x4a, 0x5f, 0xbe, 0x90, 0x89, 0xe4, 0x09, 0xe9, 0x32, 0x65, 0x8a, 0xb4, + 0xf7, 0x98, 0x15, 0xc7, 0xe0, 0x3b, 0xfb, 0xe1, 0xf7, 0x99, 0x1d, 0x82, + 0x98, 0xa3, 0x7c, 0xb8, 0x8c, 0xfe, 0xad, 0xe0, 0x3f, 0x0a, 0xe4, 0xee, + 0x5c, 0x80, 0x96, 0xeb, 0xb5, 0x21, 0xd8, 0x05, 0xfa, 0xff, 0x5c, 0xf1, + 0x1e, 0xd2, 0x2d, 0xef, +}; +static const struct drbg_kat_pr_true kat3188_t = { + 7, kat3188_entropyin, kat3188_nonce, kat3188_persstr, + kat3188_entropyinpr1, kat3188_addinpr1, kat3188_entropyinpr2, + kat3188_addinpr2, kat3188_retbits +}; +static const struct drbg_kat kat3188 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3188_t +}; + +static const unsigned char kat3189_entropyin[] = { + 0x2c, 0x04, 0xb0, 0x32, 0xa3, 0x87, 0x4d, 0x1b, 0xad, 0xaa, 0xdf, 0xde, + 0x39, 0x90, 0xb7, 0x0e, 0xbd, 0xa2, 0x66, 0x1e, 0x65, 0x9f, 0x60, 0xc0, +}; +static const unsigned char kat3189_nonce[] = { + 0x94, 0xa5, 0xc5, 0x88, 0xb6, 0x6b, 0xff, 0xd9, 0x0a, 0xe2, 0x07, 0x25, + 0x00, 0x3b, 0x39, 0x9c, +}; +static const unsigned char kat3189_persstr[] = {0}; +static const unsigned char kat3189_entropyinpr1[] = { + 0x9c, 0xb0, 0x14, 0x84, 0x41, 0x2f, 0x53, 0x09, 0x67, 0x28, 0xe3, 0xe1, + 0x0f, 0xc9, 0x0b, 0xe6, 0xa4, 0x50, 0x81, 0xee, 0x04, 0x7c, 0x52, 0xf4, +}; +static const unsigned char kat3189_addinpr1[] = {0}; +static const unsigned char kat3189_entropyinpr2[] = { + 0xa2, 0xe1, 0xea, 0x1c, 0x79, 0xde, 0xeb, 0x09, 0x5d, 0x54, 0x71, 0x62, + 0xe4, 0x54, 0x85, 0xdd, 0xb2, 0x65, 0x6a, 0x99, 0xbb, 0x3b, 0x67, 0x2e, +}; +static const unsigned char kat3189_addinpr2[] = {0}; +static const unsigned char kat3189_retbits[] = { + 0x26, 0x98, 0x06, 0x65, 0xee, 0x2f, 0xa8, 0x15, 0xd7, 0x39, 0xb5, 0x1e, + 0x9a, 0x9a, 0x46, 0xd0, 0xe6, 0x9f, 0x64, 0x9b, 0xe4, 0xeb, 0x9d, 0xc4, + 0x58, 0x9e, 0x5d, 0xcf, 0x16, 0x29, 0x73, 0x35, 0xa6, 0x26, 0xa6, 0xd9, + 0x0c, 0x14, 0x4c, 0x66, 0x07, 0x64, 0xfe, 0xe4, 0xfc, 0x61, 0xe8, 0x12, + 0x0e, 0x1b, 0x4c, 0x0e, 0xe0, 0x0e, 0x5c, 0x1a, 0xe2, 0xe6, 0x46, 0x6c, + 0x5d, 0x19, 0xec, 0x47, +}; +static const struct drbg_kat_pr_true kat3189_t = { + 8, kat3189_entropyin, kat3189_nonce, kat3189_persstr, + kat3189_entropyinpr1, kat3189_addinpr1, kat3189_entropyinpr2, + kat3189_addinpr2, kat3189_retbits +}; +static const struct drbg_kat kat3189 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3189_t +}; + +static const unsigned char kat3190_entropyin[] = { + 0xc2, 0xd9, 0x1a, 0xe5, 0x38, 0xee, 0xff, 0xf2, 0x5a, 0xad, 0x99, 0x49, + 0x17, 0x3f, 0x0d, 0x94, 0x92, 0x7e, 0xd5, 0xff, 0x29, 0xa9, 0xca, 0x4f, +}; +static const unsigned char kat3190_nonce[] = { + 0xb1, 0x58, 0x8d, 0xff, 0x4a, 0x1c, 0x49, 0xb6, 0x29, 0x1f, 0x8b, 0x14, + 0x1f, 0xef, 0x68, 0x1e, +}; +static const unsigned char kat3190_persstr[] = {0}; +static const unsigned char kat3190_entropyinpr1[] = { + 0x9f, 0x0f, 0x6e, 0x89, 0x78, 0x0d, 0x1c, 0x1e, 0x8b, 0xd0, 0x97, 0xff, + 0x03, 0xbd, 0x4b, 0x03, 0x5c, 0x0d, 0x31, 0x0a, 0xc3, 0xd2, 0x78, 0x22, +}; +static const unsigned char kat3190_addinpr1[] = {0}; +static const unsigned char kat3190_entropyinpr2[] = { + 0xa4, 0xc9, 0xa1, 0x4d, 0x3f, 0x84, 0x89, 0x66, 0x04, 0xe3, 0xfd, 0xc7, + 0x74, 0x40, 0x6b, 0xfe, 0x21, 0x24, 0x69, 0xec, 0x80, 0xb2, 0x66, 0x60, +}; +static const unsigned char kat3190_addinpr2[] = {0}; +static const unsigned char kat3190_retbits[] = { + 0x67, 0xf8, 0x2b, 0x1f, 0x1a, 0x0b, 0x38, 0x5a, 0x4d, 0x47, 0x75, 0xc0, + 0xe0, 0x95, 0x2b, 0x24, 0x66, 0x75, 0x27, 0x23, 0x56, 0x65, 0x49, 0x31, + 0x67, 0x8c, 0x85, 0x9d, 0x9a, 0x9b, 0xae, 0x53, 0x7c, 0xbb, 0x94, 0xad, + 0xe8, 0x2a, 0x98, 0xa6, 0x22, 0x14, 0x2a, 0x29, 0x3f, 0xc9, 0x91, 0xc4, + 0xdc, 0x85, 0xf2, 0x20, 0xf4, 0x86, 0x0a, 0x6b, 0xf2, 0xe5, 0x6e, 0xde, + 0x23, 0x12, 0x5d, 0xe0, +}; +static const struct drbg_kat_pr_true kat3190_t = { + 9, kat3190_entropyin, kat3190_nonce, kat3190_persstr, + kat3190_entropyinpr1, kat3190_addinpr1, kat3190_entropyinpr2, + kat3190_addinpr2, kat3190_retbits +}; +static const struct drbg_kat kat3190 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3190_t +}; + +static const unsigned char kat3191_entropyin[] = { + 0xfb, 0xc5, 0x36, 0x75, 0x13, 0x50, 0x9a, 0x1f, 0x24, 0xc1, 0x28, 0xd6, + 0x0c, 0x9c, 0x19, 0xeb, 0x04, 0xe4, 0x8b, 0xa9, 0xef, 0x92, 0x99, 0x68, +}; +static const unsigned char kat3191_nonce[] = { + 0x49, 0xa7, 0x82, 0x14, 0x70, 0x2b, 0x08, 0x17, 0x1b, 0x4e, 0xd9, 0x22, + 0x5f, 0xac, 0x5e, 0x71, +}; +static const unsigned char kat3191_persstr[] = {0}; +static const unsigned char kat3191_entropyinpr1[] = { + 0xa6, 0xb9, 0xa2, 0x86, 0xc2, 0xb3, 0xfe, 0x90, 0x2b, 0xc3, 0x24, 0xb5, + 0x37, 0xed, 0x2e, 0x01, 0x9e, 0x06, 0x56, 0xd8, 0x2d, 0xf1, 0xa8, 0xec, +}; +static const unsigned char kat3191_addinpr1[] = {0}; +static const unsigned char kat3191_entropyinpr2[] = { + 0xd3, 0x2f, 0xb0, 0x2f, 0xaf, 0xe6, 0x82, 0x3f, 0xd5, 0xdb, 0xff, 0x01, + 0xf1, 0x15, 0x45, 0x22, 0xde, 0x06, 0x6f, 0xfb, 0x39, 0x4b, 0x66, 0xbd, +}; +static const unsigned char kat3191_addinpr2[] = {0}; +static const unsigned char kat3191_retbits[] = { + 0x57, 0x29, 0x38, 0x56, 0x16, 0x6e, 0xfb, 0x76, 0x73, 0xfd, 0x98, 0x5f, + 0x2d, 0xb5, 0xd8, 0x29, 0x35, 0x18, 0xc0, 0x02, 0xac, 0x56, 0xdf, 0x95, + 0x5b, 0xe3, 0x1a, 0x65, 0xfe, 0x2e, 0xd8, 0x59, 0x4f, 0x61, 0x4c, 0xe2, + 0xb6, 0x96, 0x9b, 0x97, 0x59, 0xb4, 0x03, 0x86, 0x76, 0xd0, 0x4f, 0xfe, + 0xb0, 0x88, 0xa2, 0xf9, 0x68, 0x1e, 0x17, 0x90, 0xa0, 0xc1, 0x99, 0xe9, + 0xdf, 0xf4, 0x55, 0x8a, +}; +static const struct drbg_kat_pr_true kat3191_t = { + 10, kat3191_entropyin, kat3191_nonce, kat3191_persstr, + kat3191_entropyinpr1, kat3191_addinpr1, kat3191_entropyinpr2, + kat3191_addinpr2, kat3191_retbits +}; +static const struct drbg_kat kat3191 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3191_t +}; + +static const unsigned char kat3192_entropyin[] = { + 0x0a, 0x63, 0xe3, 0x74, 0x4a, 0xb8, 0x97, 0xab, 0xa4, 0xad, 0x07, 0x20, + 0x12, 0xc9, 0x49, 0xeb, 0xed, 0xb9, 0x87, 0xf4, 0xdf, 0x1d, 0x0c, 0x4f, +}; +static const unsigned char kat3192_nonce[] = { + 0xeb, 0xbf, 0x5c, 0xc1, 0x7b, 0xbd, 0x55, 0x62, 0xca, 0x15, 0xa9, 0x7d, + 0x3d, 0x7d, 0x8b, 0x45, +}; +static const unsigned char kat3192_persstr[] = {0}; +static const unsigned char kat3192_entropyinpr1[] = { + 0x6b, 0x52, 0x85, 0x2c, 0x1a, 0x59, 0x1b, 0xb7, 0x91, 0x89, 0x9b, 0xef, + 0xa4, 0xb5, 0xff, 0x36, 0x3e, 0x28, 0x98, 0x81, 0xb8, 0x1d, 0x6a, 0xdc, +}; +static const unsigned char kat3192_addinpr1[] = {0}; +static const unsigned char kat3192_entropyinpr2[] = { + 0x0b, 0xc3, 0x3b, 0xec, 0x70, 0x34, 0x76, 0xae, 0xc6, 0x8e, 0x65, 0x9c, + 0xa1, 0x13, 0xd0, 0x5d, 0x58, 0x0e, 0xb4, 0x46, 0x78, 0x9b, 0xc7, 0x8c, +}; +static const unsigned char kat3192_addinpr2[] = {0}; +static const unsigned char kat3192_retbits[] = { + 0xf8, 0x07, 0xfa, 0x57, 0x7e, 0x83, 0xf0, 0xc1, 0xd9, 0x9d, 0x29, 0x00, + 0xec, 0xab, 0x19, 0x3b, 0xc7, 0x61, 0xb0, 0x3c, 0x6f, 0x3c, 0x69, 0x70, + 0x0a, 0xa0, 0x1b, 0x5b, 0x3b, 0x9d, 0x37, 0x84, 0x25, 0x2c, 0x13, 0x71, + 0xf5, 0xe7, 0xba, 0xe4, 0x89, 0xbe, 0xf9, 0x33, 0xfe, 0xb1, 0xed, 0x78, + 0x50, 0x9e, 0x1c, 0x67, 0x96, 0x81, 0xe3, 0xe1, 0xc7, 0x2e, 0x2a, 0x7b, + 0x47, 0x7d, 0xd8, 0x4c, +}; +static const struct drbg_kat_pr_true kat3192_t = { + 11, kat3192_entropyin, kat3192_nonce, kat3192_persstr, + kat3192_entropyinpr1, kat3192_addinpr1, kat3192_entropyinpr2, + kat3192_addinpr2, kat3192_retbits +}; +static const struct drbg_kat kat3192 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3192_t +}; + +static const unsigned char kat3193_entropyin[] = { + 0x45, 0xf8, 0x01, 0xb7, 0x5b, 0xa9, 0x4b, 0x2b, 0x3e, 0xa2, 0xcb, 0x6f, + 0x8f, 0x37, 0xcb, 0x8c, 0x3a, 0x85, 0x49, 0x89, 0xbd, 0xe7, 0xc6, 0x7c, +}; +static const unsigned char kat3193_nonce[] = { + 0xd6, 0xdb, 0x6c, 0x7a, 0x04, 0xc1, 0x2e, 0x07, 0xa6, 0x17, 0x44, 0xcd, + 0x88, 0xbb, 0x61, 0xb6, +}; +static const unsigned char kat3193_persstr[] = {0}; +static const unsigned char kat3193_entropyinpr1[] = { + 0x6d, 0x54, 0x93, 0xfa, 0x07, 0xf9, 0x35, 0x4a, 0x48, 0x6b, 0xdd, 0xdf, + 0x14, 0x1b, 0x9c, 0xdd, 0x34, 0x89, 0xef, 0xff, 0xa7, 0xdf, 0xcc, 0x1b, +}; +static const unsigned char kat3193_addinpr1[] = {0}; +static const unsigned char kat3193_entropyinpr2[] = { + 0x5f, 0xc4, 0x0e, 0xfb, 0xd7, 0x9b, 0x54, 0xe1, 0xeb, 0x18, 0x40, 0x8a, + 0xc4, 0xfa, 0x1e, 0x1f, 0x42, 0x03, 0x07, 0xff, 0xd4, 0xfa, 0xbf, 0x7d, +}; +static const unsigned char kat3193_addinpr2[] = {0}; +static const unsigned char kat3193_retbits[] = { + 0x28, 0x5f, 0xe2, 0xc7, 0x91, 0x73, 0x5a, 0xc4, 0x55, 0x76, 0xad, 0x0d, + 0x07, 0xed, 0xa2, 0x58, 0x26, 0x50, 0x87, 0x8e, 0xc5, 0x99, 0x92, 0xeb, + 0xa8, 0x61, 0x7a, 0x66, 0x98, 0x4d, 0xd6, 0x2d, 0xa0, 0x9e, 0xae, 0x7e, + 0x39, 0x10, 0x9a, 0x4a, 0x2a, 0xbe, 0xa3, 0xf5, 0x64, 0xc4, 0xb7, 0x41, + 0xbb, 0xed, 0xcb, 0xa4, 0xcb, 0x1e, 0x51, 0x9a, 0x44, 0x15, 0x1f, 0x14, + 0x4a, 0xaf, 0x24, 0x1c, +}; +static const struct drbg_kat_pr_true kat3193_t = { + 12, kat3193_entropyin, kat3193_nonce, kat3193_persstr, + kat3193_entropyinpr1, kat3193_addinpr1, kat3193_entropyinpr2, + kat3193_addinpr2, kat3193_retbits +}; +static const struct drbg_kat kat3193 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3193_t +}; + +static const unsigned char kat3194_entropyin[] = { + 0x30, 0xbd, 0x67, 0x5b, 0x4b, 0x07, 0x1c, 0xb3, 0xc7, 0x76, 0xc9, 0x0a, + 0x5f, 0xa9, 0x58, 0xe2, 0xb0, 0x04, 0xc5, 0xd8, 0x1a, 0xb1, 0xb0, 0x60, +}; +static const unsigned char kat3194_nonce[] = { + 0x49, 0xc0, 0x30, 0xc9, 0x5d, 0xd3, 0xe5, 0xe8, 0x59, 0x29, 0xaf, 0x29, + 0xb2, 0x6a, 0xf8, 0x53, +}; +static const unsigned char kat3194_persstr[] = {0}; +static const unsigned char kat3194_entropyinpr1[] = { + 0x45, 0x36, 0xe8, 0x6a, 0x83, 0x0c, 0xd5, 0xfa, 0xd0, 0x12, 0x36, 0xce, + 0xec, 0x0d, 0x9f, 0x49, 0xb8, 0xfc, 0x1d, 0x56, 0xd6, 0xf6, 0x62, 0x3b, +}; +static const unsigned char kat3194_addinpr1[] = {0}; +static const unsigned char kat3194_entropyinpr2[] = { + 0xc2, 0xe1, 0x59, 0x58, 0x72, 0x23, 0xbd, 0x83, 0x15, 0xf7, 0x93, 0xc7, + 0x50, 0xe4, 0x2c, 0xd4, 0xcb, 0xa9, 0x85, 0xdf, 0xd7, 0x6a, 0xac, 0x7f, +}; +static const unsigned char kat3194_addinpr2[] = {0}; +static const unsigned char kat3194_retbits[] = { + 0xf9, 0x44, 0xb1, 0xfd, 0x2c, 0x86, 0x3f, 0x6d, 0x16, 0xc1, 0x62, 0xa5, + 0x2f, 0xbe, 0xfa, 0x41, 0x79, 0x92, 0xa1, 0x49, 0x5c, 0x78, 0x6c, 0x39, + 0xfd, 0x6e, 0xdd, 0x78, 0x32, 0xc7, 0xb9, 0x91, 0x14, 0x75, 0x75, 0x7c, + 0x86, 0x85, 0xd4, 0x66, 0xbf, 0x74, 0x84, 0xe4, 0xbe, 0x39, 0x69, 0xe9, + 0x01, 0xe6, 0x3b, 0xaa, 0xc4, 0x90, 0x46, 0x5c, 0x72, 0x76, 0x82, 0x9a, + 0x86, 0x80, 0xb2, 0x31, +}; +static const struct drbg_kat_pr_true kat3194_t = { + 13, kat3194_entropyin, kat3194_nonce, kat3194_persstr, + kat3194_entropyinpr1, kat3194_addinpr1, kat3194_entropyinpr2, + kat3194_addinpr2, kat3194_retbits +}; +static const struct drbg_kat kat3194 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3194_t +}; + +static const unsigned char kat3195_entropyin[] = { + 0x1c, 0xda, 0x1f, 0xe4, 0x95, 0x3b, 0x84, 0xfe, 0x7e, 0xa3, 0xa1, 0x1e, + 0x6c, 0xb4, 0xd3, 0x42, 0xa6, 0x6e, 0x3f, 0xcc, 0x74, 0xb0, 0xb7, 0x78, +}; +static const unsigned char kat3195_nonce[] = { + 0xaf, 0x9a, 0x5f, 0x72, 0x72, 0x01, 0x31, 0x13, 0xd4, 0x91, 0xd7, 0x7b, + 0xb8, 0x07, 0xdb, 0x34, +}; +static const unsigned char kat3195_persstr[] = {0}; +static const unsigned char kat3195_entropyinpr1[] = { + 0x4b, 0xd0, 0xa5, 0x48, 0x10, 0xe5, 0x53, 0x71, 0x56, 0xdb, 0xc1, 0xd0, + 0xb3, 0x11, 0x86, 0xa7, 0xc8, 0xf2, 0xf1, 0x18, 0x95, 0xca, 0xb3, 0x7d, +}; +static const unsigned char kat3195_addinpr1[] = {0}; +static const unsigned char kat3195_entropyinpr2[] = { + 0x1d, 0x12, 0xeb, 0x04, 0x12, 0xc1, 0x93, 0xd4, 0x68, 0xd0, 0x16, 0xad, + 0x05, 0x6c, 0xb2, 0xd9, 0xb8, 0x04, 0x04, 0x16, 0xa6, 0x3b, 0xe3, 0x9b, +}; +static const unsigned char kat3195_addinpr2[] = {0}; +static const unsigned char kat3195_retbits[] = { + 0x86, 0x89, 0x6e, 0xa3, 0xec, 0x87, 0x55, 0x93, 0x91, 0xf6, 0xdd, 0x56, + 0x08, 0x59, 0xc8, 0xf9, 0x16, 0x02, 0x1c, 0x7a, 0xaa, 0xa9, 0xc8, 0x92, + 0x69, 0xcb, 0xc3, 0xa1, 0xae, 0x95, 0x4f, 0x77, 0x0a, 0x46, 0x18, 0x49, + 0x7c, 0x62, 0x83, 0x47, 0x94, 0x43, 0xfc, 0x31, 0xb7, 0xbb, 0x2f, 0x53, + 0x6b, 0xef, 0xbc, 0x0c, 0xe2, 0x09, 0x8e, 0x3a, 0xcf, 0x8e, 0x8a, 0x7e, + 0xe5, 0x2b, 0xd8, 0x7f, +}; +static const struct drbg_kat_pr_true kat3195_t = { + 14, kat3195_entropyin, kat3195_nonce, kat3195_persstr, + kat3195_entropyinpr1, kat3195_addinpr1, kat3195_entropyinpr2, + kat3195_addinpr2, kat3195_retbits +}; +static const struct drbg_kat kat3195 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3195_t +}; + +static const unsigned char kat3196_entropyin[] = { + 0x79, 0x93, 0x07, 0xf7, 0x67, 0xda, 0x25, 0xbd, 0xf4, 0x94, 0x92, 0x30, + 0x8b, 0x5b, 0xfd, 0x8b, 0x84, 0x9e, 0x00, 0x9a, 0x6a, 0xac, 0x51, 0xf9, +}; +static const unsigned char kat3196_nonce[] = { + 0xb0, 0x17, 0xf3, 0xd9, 0x6f, 0xc3, 0x9f, 0x56, 0x36, 0xa6, 0xe8, 0x96, + 0xea, 0x2b, 0x7e, 0x30, +}; +static const unsigned char kat3196_persstr[] = {0}; +static const unsigned char kat3196_entropyinpr1[] = { + 0x72, 0x7a, 0x6c, 0xea, 0xe6, 0x0f, 0x22, 0xe0, 0x15, 0x0c, 0x05, 0x1d, + 0xb3, 0x15, 0xcf, 0x83, 0x2e, 0x39, 0xb4, 0xa7, 0xe5, 0x54, 0x6a, 0xf4, +}; +static const unsigned char kat3196_addinpr1[] = { + 0x47, 0x1f, 0x6c, 0x0c, 0xcc, 0xdc, 0x8a, 0xf9, 0x81, 0x06, 0xcd, 0x01, + 0x98, 0x35, 0xa2, 0x63, 0xc9, 0xc8, 0xb6, 0x36, 0xa1, 0xb2, 0x4d, 0x66, + 0xdb, 0x74, 0xe0, 0x06, 0x48, 0x3f, 0x96, 0xb1, +}; +static const unsigned char kat3196_entropyinpr2[] = { + 0xfe, 0x01, 0x60, 0x12, 0x15, 0x0e, 0xda, 0x19, 0xca, 0xe9, 0x7d, 0x19, + 0x0c, 0xb0, 0xe0, 0x98, 0xed, 0x36, 0x62, 0xf2, 0x3b, 0x6f, 0x09, 0xfd, +}; +static const unsigned char kat3196_addinpr2[] = { + 0xb5, 0x77, 0x6d, 0x5c, 0xc3, 0x44, 0x59, 0xf7, 0x3a, 0xf5, 0xc8, 0x20, + 0x8f, 0x1c, 0x83, 0xff, 0xe7, 0x58, 0x84, 0x07, 0x99, 0xae, 0x51, 0x62, + 0xe7, 0xbb, 0xa6, 0x96, 0xa4, 0x5f, 0x87, 0x6f, +}; +static const unsigned char kat3196_retbits[] = { + 0xa2, 0x82, 0x7f, 0x89, 0x7a, 0x76, 0xa4, 0xbe, 0x69, 0xe2, 0x7d, 0xff, + 0x51, 0x1a, 0x38, 0x4e, 0xc7, 0x31, 0xec, 0xfc, 0x7b, 0x15, 0x94, 0xe3, + 0x81, 0x5d, 0x02, 0x4d, 0x96, 0x15, 0xf8, 0x6f, 0x58, 0xd8, 0x0d, 0x57, + 0x3d, 0xf8, 0xd6, 0xd1, 0x1a, 0x34, 0x59, 0x88, 0x4b, 0x22, 0x7d, 0xf7, + 0xa3, 0x3d, 0x8d, 0x3c, 0xe3, 0xf5, 0xd7, 0xa7, 0x5a, 0xa9, 0x93, 0xc5, + 0x3e, 0x7e, 0x0c, 0x0f, +}; +static const struct drbg_kat_pr_true kat3196_t = { + 0, kat3196_entropyin, kat3196_nonce, kat3196_persstr, + kat3196_entropyinpr1, kat3196_addinpr1, kat3196_entropyinpr2, + kat3196_addinpr2, kat3196_retbits +}; +static const struct drbg_kat kat3196 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3196_t +}; + +static const unsigned char kat3197_entropyin[] = { + 0x61, 0x0a, 0xc4, 0xad, 0xbf, 0x4a, 0xbf, 0xea, 0xaa, 0x64, 0x73, 0xd1, + 0x7a, 0x8b, 0xc2, 0xae, 0x84, 0x06, 0xb6, 0x16, 0xed, 0x35, 0xd0, 0x01, +}; +static const unsigned char kat3197_nonce[] = { + 0x0f, 0xbe, 0xec, 0x6e, 0xc5, 0xdd, 0x02, 0x78, 0x43, 0x69, 0x2f, 0x78, + 0x30, 0x59, 0x3f, 0xec, +}; +static const unsigned char kat3197_persstr[] = {0}; +static const unsigned char kat3197_entropyinpr1[] = { + 0xc6, 0x82, 0x61, 0xa6, 0x04, 0x8f, 0x1e, 0x30, 0x75, 0x64, 0x66, 0x5c, + 0xa4, 0xa0, 0x93, 0x14, 0x87, 0x7b, 0xed, 0xd1, 0xa8, 0xe4, 0x8b, 0xc6, +}; +static const unsigned char kat3197_addinpr1[] = { + 0xe4, 0x0a, 0xb0, 0x9d, 0x92, 0xa1, 0x77, 0xef, 0xad, 0x23, 0x4e, 0xe9, + 0xa8, 0xef, 0x12, 0x04, 0x37, 0x73, 0x5e, 0x54, 0x7b, 0xcd, 0x8c, 0xcd, + 0x5c, 0x69, 0x02, 0x07, 0x35, 0xd0, 0x1c, 0xb3, +}; +static const unsigned char kat3197_entropyinpr2[] = { + 0xcf, 0x84, 0xe3, 0xcc, 0x12, 0x73, 0x16, 0x39, 0x49, 0xdb, 0x23, 0xc8, + 0x98, 0xa3, 0xb3, 0x22, 0xfb, 0x11, 0xe7, 0x5d, 0xc3, 0x95, 0x99, 0xa3, +}; +static const unsigned char kat3197_addinpr2[] = { + 0x75, 0x87, 0x50, 0x78, 0x69, 0x18, 0x48, 0x0d, 0xce, 0x2c, 0x3e, 0x3f, + 0xee, 0xee, 0xa0, 0x32, 0x4c, 0xb9, 0xb0, 0xb5, 0x07, 0x90, 0x67, 0xbd, + 0x3f, 0x9c, 0x45, 0xb9, 0xf0, 0xe7, 0x33, 0xec, +}; +static const unsigned char kat3197_retbits[] = { + 0x10, 0x57, 0x47, 0x58, 0xda, 0xf5, 0x9f, 0xee, 0x6b, 0xf7, 0x60, 0xb9, + 0x7f, 0xea, 0xbf, 0x24, 0xc0, 0x58, 0xa9, 0x5e, 0x59, 0x4b, 0x1a, 0x2a, + 0x80, 0x16, 0x36, 0x35, 0x44, 0x59, 0x82, 0x1e, 0x06, 0x1c, 0x4b, 0xce, + 0x3d, 0xfb, 0x16, 0xfb, 0xae, 0xb1, 0x42, 0xcb, 0x20, 0xd8, 0xac, 0xc6, + 0x8b, 0x75, 0x56, 0x4a, 0xed, 0x23, 0x06, 0xaa, 0x9a, 0x7c, 0x11, 0xe9, + 0x67, 0xc0, 0x6d, 0x3d, +}; +static const struct drbg_kat_pr_true kat3197_t = { + 1, kat3197_entropyin, kat3197_nonce, kat3197_persstr, + kat3197_entropyinpr1, kat3197_addinpr1, kat3197_entropyinpr2, + kat3197_addinpr2, kat3197_retbits +}; +static const struct drbg_kat kat3197 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3197_t +}; + +static const unsigned char kat3198_entropyin[] = { + 0xfa, 0x45, 0xa6, 0x07, 0xc9, 0x3d, 0xa2, 0x05, 0x93, 0xe5, 0x10, 0x06, + 0x98, 0x49, 0x8c, 0x44, 0x07, 0x2b, 0x3a, 0xf7, 0xcd, 0x31, 0x36, 0x63, +}; +static const unsigned char kat3198_nonce[] = { + 0x36, 0x95, 0xf3, 0x84, 0xde, 0x48, 0xb5, 0x8c, 0x1b, 0x4e, 0xc2, 0x30, + 0xcd, 0x16, 0xc4, 0x85, +}; +static const unsigned char kat3198_persstr[] = {0}; +static const unsigned char kat3198_entropyinpr1[] = { + 0x70, 0xbd, 0x4e, 0x4c, 0xa0, 0x6f, 0x3d, 0xae, 0xae, 0x8b, 0xfd, 0x68, + 0x7a, 0x10, 0x31, 0xc0, 0x67, 0xf0, 0x00, 0xf8, 0xc1, 0x3d, 0x25, 0x64, +}; +static const unsigned char kat3198_addinpr1[] = { + 0x9b, 0xe9, 0x78, 0x0a, 0xa7, 0xcc, 0xc9, 0x63, 0x36, 0x9b, 0xb7, 0xb6, + 0x41, 0x26, 0x66, 0x8c, 0xa2, 0x9f, 0x66, 0xad, 0x66, 0xbf, 0x3d, 0xef, + 0x3a, 0xb4, 0x3f, 0xe1, 0xd9, 0x18, 0x01, 0x54, +}; +static const unsigned char kat3198_entropyinpr2[] = { + 0xac, 0xdd, 0xc6, 0xfe, 0x2c, 0x83, 0x7f, 0x63, 0x70, 0xbd, 0x88, 0x8a, + 0xb9, 0x68, 0x7a, 0x81, 0x92, 0x79, 0x81, 0x60, 0xcf, 0xf9, 0x3f, 0x4f, +}; +static const unsigned char kat3198_addinpr2[] = { + 0x27, 0x07, 0x9d, 0x97, 0x67, 0xef, 0x5c, 0xbd, 0x1d, 0x13, 0xbe, 0xbb, + 0x94, 0x1c, 0x45, 0xe6, 0x65, 0x9f, 0x44, 0x05, 0xfe, 0x87, 0xfe, 0x17, + 0x8a, 0xf3, 0x3e, 0x3e, 0xc2, 0xb2, 0xf0, 0xcd, +}; +static const unsigned char kat3198_retbits[] = { + 0x96, 0x11, 0x5c, 0xdd, 0xb0, 0x64, 0xba, 0xf4, 0x8d, 0x0b, 0xdd, 0x62, + 0x91, 0xd3, 0x4c, 0x3c, 0x93, 0x2a, 0x87, 0xf1, 0x1b, 0x32, 0xb5, 0x98, + 0x67, 0x74, 0xd0, 0x89, 0x39, 0xea, 0xe6, 0x35, 0x71, 0x9d, 0xc7, 0xea, + 0x02, 0x09, 0x2c, 0x81, 0x82, 0xcf, 0x01, 0xcb, 0xed, 0xa5, 0x9e, 0x90, + 0x28, 0xb3, 0x76, 0x45, 0xf0, 0x33, 0x65, 0x91, 0x4a, 0x18, 0xe0, 0x75, + 0xc3, 0x57, 0xb0, 0xc2, +}; +static const struct drbg_kat_pr_true kat3198_t = { + 2, kat3198_entropyin, kat3198_nonce, kat3198_persstr, + kat3198_entropyinpr1, kat3198_addinpr1, kat3198_entropyinpr2, + kat3198_addinpr2, kat3198_retbits +}; +static const struct drbg_kat kat3198 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3198_t +}; + +static const unsigned char kat3199_entropyin[] = { + 0x9d, 0x0c, 0xe2, 0x29, 0xeb, 0xd8, 0x63, 0x86, 0xff, 0x15, 0x01, 0x88, + 0xa9, 0x46, 0x6d, 0x56, 0xcf, 0x16, 0xb7, 0x06, 0xf9, 0x53, 0x3f, 0xd0, +}; +static const unsigned char kat3199_nonce[] = { + 0xf8, 0x7c, 0x24, 0x5d, 0x50, 0xe2, 0x8f, 0xb6, 0xda, 0xbb, 0x96, 0x3a, + 0x2b, 0xf0, 0x4b, 0x29, +}; +static const unsigned char kat3199_persstr[] = {0}; +static const unsigned char kat3199_entropyinpr1[] = { + 0x1f, 0x0d, 0xd0, 0x36, 0x34, 0xdc, 0xb2, 0xee, 0x91, 0x92, 0xd8, 0x4b, + 0x12, 0xd7, 0xcf, 0x5e, 0x4a, 0xc8, 0x52, 0x59, 0xf0, 0xab, 0xb5, 0xed, +}; +static const unsigned char kat3199_addinpr1[] = { + 0xfa, 0xf3, 0xdc, 0x3a, 0xf3, 0xdf, 0xeb, 0x4e, 0x56, 0xbe, 0xd8, 0x77, + 0x5e, 0x4f, 0xbc, 0x32, 0x96, 0x1a, 0xee, 0xe0, 0x87, 0xe0, 0x14, 0xe5, + 0xd8, 0x52, 0xd6, 0xf4, 0x61, 0x93, 0xa4, 0x4f, +}; +static const unsigned char kat3199_entropyinpr2[] = { + 0xd1, 0x72, 0x20, 0xc9, 0xd8, 0xff, 0x2d, 0xcc, 0x17, 0x5d, 0x74, 0x81, + 0x99, 0xc1, 0x72, 0x17, 0x33, 0xea, 0xa1, 0xca, 0xb5, 0x2a, 0xd3, 0x14, +}; +static const unsigned char kat3199_addinpr2[] = { + 0xb4, 0xc2, 0x9c, 0x47, 0x6f, 0xd0, 0xdf, 0xf9, 0xf7, 0x7f, 0x41, 0xe7, + 0x5d, 0x48, 0x4e, 0x80, 0x46, 0x66, 0xdc, 0x30, 0xdc, 0x63, 0xce, 0x79, + 0xa3, 0xc2, 0xd0, 0xa8, 0x11, 0x5f, 0xf3, 0xff, +}; +static const unsigned char kat3199_retbits[] = { + 0x56, 0xf5, 0x32, 0x25, 0x2e, 0xc3, 0x11, 0x27, 0xbd, 0x13, 0xbc, 0x1e, + 0x3e, 0xa0, 0xf6, 0x4d, 0x76, 0xfc, 0x0f, 0x5f, 0xfd, 0xa3, 0xd8, 0xfc, + 0x8b, 0xc8, 0x79, 0x1f, 0x81, 0x40, 0x98, 0xef, 0xb6, 0xf7, 0x24, 0xb9, + 0xd9, 0xd7, 0x15, 0xbc, 0x6d, 0x90, 0x1c, 0x71, 0x3a, 0x0b, 0x17, 0x79, + 0x18, 0x52, 0xb7, 0x5b, 0x61, 0xfa, 0x2f, 0x20, 0x41, 0x16, 0x67, 0x85, + 0x3c, 0xe6, 0xac, 0x9a, +}; +static const struct drbg_kat_pr_true kat3199_t = { + 3, kat3199_entropyin, kat3199_nonce, kat3199_persstr, + kat3199_entropyinpr1, kat3199_addinpr1, kat3199_entropyinpr2, + kat3199_addinpr2, kat3199_retbits +}; +static const struct drbg_kat kat3199 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3199_t +}; + +static const unsigned char kat3200_entropyin[] = { + 0xc3, 0xf9, 0xca, 0x8e, 0x42, 0xed, 0x21, 0xb5, 0xba, 0x54, 0x1e, 0x9d, + 0x55, 0xec, 0x2a, 0xf8, 0x4a, 0xa4, 0xd2, 0x04, 0x5a, 0x32, 0x23, 0x1b, +}; +static const unsigned char kat3200_nonce[] = { + 0xa5, 0x8f, 0x38, 0x11, 0xc3, 0xf3, 0xc5, 0x97, 0xb8, 0xbb, 0xc5, 0x14, + 0x25, 0x2a, 0xc8, 0xd0, +}; +static const unsigned char kat3200_persstr[] = {0}; +static const unsigned char kat3200_entropyinpr1[] = { + 0x69, 0x97, 0xc7, 0x60, 0x57, 0x50, 0x66, 0x8a, 0xc6, 0x0d, 0xb9, 0x92, + 0x7a, 0xb4, 0xd5, 0x96, 0x6b, 0x60, 0xa3, 0xe7, 0x65, 0xdf, 0xf9, 0x2a, +}; +static const unsigned char kat3200_addinpr1[] = { + 0xd1, 0x80, 0xeb, 0x02, 0xd1, 0xb0, 0x87, 0x8e, 0x27, 0x2f, 0x76, 0x40, + 0xea, 0x6a, 0xb8, 0xb7, 0x4d, 0x8e, 0x45, 0x7c, 0x55, 0x4f, 0x8f, 0xa3, + 0x0a, 0x04, 0xe2, 0xbd, 0x5b, 0x89, 0x7d, 0x55, +}; +static const unsigned char kat3200_entropyinpr2[] = { + 0x00, 0xbf, 0x99, 0xf0, 0xf6, 0x81, 0xd4, 0x6b, 0x97, 0x30, 0xf3, 0xec, + 0x5b, 0xe8, 0x8d, 0x3e, 0xa2, 0x22, 0xb2, 0x4b, 0xf4, 0x7f, 0x7c, 0x7e, +}; +static const unsigned char kat3200_addinpr2[] = { + 0xf2, 0x1b, 0x77, 0x53, 0x6d, 0x48, 0x2f, 0x5c, 0xbd, 0xd7, 0x3f, 0x78, + 0xc8, 0x11, 0x15, 0xc5, 0x1b, 0xaa, 0x83, 0xd8, 0x3f, 0x3c, 0xf0, 0x5b, + 0x76, 0xf7, 0x9f, 0x09, 0x71, 0x05, 0x64, 0x24, +}; +static const unsigned char kat3200_retbits[] = { + 0xe2, 0x57, 0xcc, 0x1a, 0x5f, 0xbd, 0x0d, 0xa1, 0x66, 0x67, 0x12, 0x0e, + 0x64, 0xa2, 0x86, 0xda, 0xd5, 0xb1, 0xa7, 0x62, 0x81, 0xac, 0xa2, 0xf5, + 0x53, 0x48, 0x7f, 0x08, 0x18, 0x2e, 0x85, 0xdc, 0xd3, 0xf3, 0xf2, 0x28, + 0x49, 0x6b, 0x9b, 0xca, 0x7c, 0x8c, 0x26, 0x39, 0x16, 0x90, 0x52, 0x52, + 0xcf, 0xcf, 0x16, 0xd7, 0x4e, 0x19, 0x64, 0x81, 0x98, 0xc8, 0xc3, 0x0f, + 0x20, 0x1e, 0x02, 0xcc, +}; +static const struct drbg_kat_pr_true kat3200_t = { + 4, kat3200_entropyin, kat3200_nonce, kat3200_persstr, + kat3200_entropyinpr1, kat3200_addinpr1, kat3200_entropyinpr2, + kat3200_addinpr2, kat3200_retbits +}; +static const struct drbg_kat kat3200 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3200_t +}; + +static const unsigned char kat3201_entropyin[] = { + 0x21, 0xe3, 0x0a, 0x59, 0x11, 0x68, 0x5d, 0x64, 0x64, 0x86, 0x88, 0x3f, + 0xef, 0x30, 0x7b, 0x6c, 0x1d, 0x1c, 0x70, 0xe2, 0x21, 0x1c, 0x5b, 0x09, +}; +static const unsigned char kat3201_nonce[] = { + 0x9b, 0x27, 0xbc, 0x3f, 0x94, 0xd4, 0x3b, 0xf9, 0x27, 0x4c, 0xd7, 0xee, + 0x6c, 0xc4, 0x3f, 0xe3, +}; +static const unsigned char kat3201_persstr[] = {0}; +static const unsigned char kat3201_entropyinpr1[] = { + 0x84, 0x24, 0xca, 0x5b, 0xd8, 0xda, 0x13, 0xc4, 0x88, 0xfd, 0x1a, 0xe4, + 0xa5, 0xde, 0xc6, 0x61, 0x63, 0xe1, 0x52, 0x8a, 0x5d, 0xf4, 0xc7, 0x4f, +}; +static const unsigned char kat3201_addinpr1[] = { + 0xc5, 0xdf, 0xc8, 0xf7, 0xa3, 0x00, 0xa4, 0x89, 0xe7, 0x44, 0x00, 0x8e, + 0x71, 0x87, 0x5c, 0xce, 0xa0, 0x29, 0x3f, 0x1a, 0x41, 0x3a, 0xfc, 0x31, + 0x9c, 0x7b, 0x9d, 0x21, 0xd7, 0xfa, 0x99, 0x47, +}; +static const unsigned char kat3201_entropyinpr2[] = { + 0x5c, 0x42, 0x67, 0x39, 0x9e, 0x19, 0x08, 0xe2, 0xac, 0xaf, 0x12, 0xc7, + 0x36, 0x4f, 0x09, 0x9b, 0xd8, 0xa2, 0x14, 0xe4, 0xdc, 0xa1, 0x4a, 0xb3, +}; +static const unsigned char kat3201_addinpr2[] = { + 0x40, 0x10, 0x51, 0x1d, 0x82, 0xf1, 0x05, 0x1a, 0x7f, 0xf7, 0xf6, 0x39, + 0x85, 0xa8, 0xfa, 0xf4, 0xd4, 0xf9, 0x87, 0x06, 0x08, 0x5f, 0x89, 0x5f, + 0x05, 0x14, 0xe7, 0x8c, 0x6a, 0xb2, 0xc5, 0x45, +}; +static const unsigned char kat3201_retbits[] = { + 0x66, 0x74, 0x40, 0xd6, 0x7d, 0x90, 0x27, 0x93, 0x1e, 0x16, 0xc6, 0xd0, + 0xa9, 0x14, 0x61, 0xf5, 0xaf, 0xed, 0x62, 0x02, 0xbb, 0x14, 0xdf, 0xf0, + 0xad, 0xff, 0x70, 0x15, 0x96, 0x89, 0x9d, 0x90, 0xe3, 0xd2, 0xd6, 0xa4, + 0xf1, 0x61, 0xc8, 0xc6, 0x3e, 0x18, 0x3d, 0x2e, 0xd9, 0x7a, 0x6e, 0xa8, + 0x4e, 0x62, 0x2b, 0xf1, 0xa0, 0x78, 0xa2, 0x80, 0xde, 0x38, 0xec, 0x8a, + 0x1b, 0xec, 0xf6, 0xa2, +}; +static const struct drbg_kat_pr_true kat3201_t = { + 5, kat3201_entropyin, kat3201_nonce, kat3201_persstr, + kat3201_entropyinpr1, kat3201_addinpr1, kat3201_entropyinpr2, + kat3201_addinpr2, kat3201_retbits +}; +static const struct drbg_kat kat3201 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3201_t +}; + +static const unsigned char kat3202_entropyin[] = { + 0x7d, 0x89, 0xc0, 0x96, 0xa9, 0x74, 0xca, 0x72, 0xbf, 0xfd, 0x0f, 0x16, + 0x75, 0xe8, 0x51, 0x9f, 0x66, 0x78, 0xad, 0x06, 0x49, 0xcd, 0x09, 0xd3, +}; +static const unsigned char kat3202_nonce[] = { + 0xe6, 0x37, 0xe4, 0xb1, 0x75, 0x10, 0xff, 0x37, 0x9c, 0x1e, 0x63, 0x0c, + 0x99, 0x04, 0xc1, 0xe5, +}; +static const unsigned char kat3202_persstr[] = {0}; +static const unsigned char kat3202_entropyinpr1[] = { + 0xa3, 0x8a, 0xca, 0x2b, 0x9f, 0xc8, 0x89, 0x0a, 0x79, 0xb0, 0xae, 0x27, + 0x2c, 0x8f, 0xe0, 0x06, 0xa9, 0x20, 0x23, 0xfb, 0xb5, 0xcf, 0xee, 0xb9, +}; +static const unsigned char kat3202_addinpr1[] = { + 0xba, 0x42, 0xb4, 0x67, 0x25, 0xff, 0xa4, 0xe2, 0x4e, 0x08, 0x6c, 0xee, + 0x7c, 0x9d, 0x7b, 0x3d, 0xab, 0xe0, 0x05, 0xf2, 0x87, 0x85, 0x2a, 0x7f, + 0x12, 0x7a, 0x8e, 0xf7, 0x8f, 0x88, 0xce, 0x79, +}; +static const unsigned char kat3202_entropyinpr2[] = { + 0xcd, 0x81, 0xa1, 0x76, 0x03, 0xeb, 0x54, 0x5b, 0x69, 0x63, 0x18, 0x4e, + 0x44, 0x91, 0x00, 0x8d, 0x19, 0x27, 0x47, 0x43, 0x74, 0xef, 0x7c, 0x49, +}; +static const unsigned char kat3202_addinpr2[] = { + 0xd7, 0x4e, 0x9b, 0xfb, 0x7b, 0x66, 0xaa, 0x6e, 0xa8, 0x87, 0xd3, 0x8a, + 0xc5, 0x34, 0xb7, 0xed, 0x35, 0xce, 0x4c, 0xf5, 0xce, 0x4b, 0x0d, 0xe6, + 0x22, 0x24, 0x11, 0x96, 0x96, 0xec, 0xae, 0x15, +}; +static const unsigned char kat3202_retbits[] = { + 0x88, 0x4c, 0x36, 0xfb, 0xa5, 0x7c, 0x1a, 0x35, 0xd9, 0xba, 0xab, 0xb9, + 0xc6, 0xeb, 0xf4, 0xea, 0xf8, 0xab, 0x70, 0x99, 0x7b, 0x4c, 0xa3, 0x11, + 0x64, 0x90, 0x7d, 0x2d, 0xc1, 0xf0, 0xf7, 0x4e, 0xda, 0x8d, 0xdb, 0x88, + 0xe6, 0xb4, 0x91, 0xad, 0x8a, 0x9d, 0x92, 0xd4, 0x4d, 0x78, 0xb0, 0xd0, + 0xe0, 0x0f, 0x27, 0x56, 0x0e, 0x28, 0xc6, 0xf9, 0x41, 0x8d, 0xfe, 0xe1, + 0x94, 0x85, 0x05, 0x25, +}; +static const struct drbg_kat_pr_true kat3202_t = { + 6, kat3202_entropyin, kat3202_nonce, kat3202_persstr, + kat3202_entropyinpr1, kat3202_addinpr1, kat3202_entropyinpr2, + kat3202_addinpr2, kat3202_retbits +}; +static const struct drbg_kat kat3202 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3202_t +}; + +static const unsigned char kat3203_entropyin[] = { + 0xb8, 0xb0, 0xbb, 0x2c, 0x41, 0xa5, 0x9c, 0x2d, 0x77, 0xec, 0xf5, 0xa2, + 0x59, 0x96, 0x77, 0x38, 0x2e, 0xf4, 0x3e, 0x6c, 0xea, 0x7b, 0x17, 0xa2, +}; +static const unsigned char kat3203_nonce[] = { + 0xbf, 0x44, 0x6c, 0x79, 0xa7, 0xe2, 0x38, 0x98, 0x15, 0xfa, 0xc6, 0x30, + 0x73, 0x10, 0x0a, 0xf1, +}; +static const unsigned char kat3203_persstr[] = {0}; +static const unsigned char kat3203_entropyinpr1[] = { + 0xaa, 0x5b, 0x73, 0x82, 0xf9, 0x66, 0xbe, 0xfe, 0x52, 0x44, 0x72, 0xc1, + 0xeb, 0xdb, 0x4c, 0x05, 0xd1, 0x73, 0xc3, 0xd1, 0x8b, 0x58, 0xf2, 0x58, +}; +static const unsigned char kat3203_addinpr1[] = { + 0x82, 0xb5, 0x53, 0xa7, 0xb2, 0xf6, 0x33, 0xf2, 0x99, 0x9d, 0x25, 0xec, + 0xb2, 0x8b, 0x0f, 0x73, 0x58, 0xd4, 0x16, 0xd1, 0x37, 0x64, 0xed, 0xd3, + 0x60, 0x3b, 0x19, 0x09, 0x65, 0x8c, 0xce, 0xff, +}; +static const unsigned char kat3203_entropyinpr2[] = { + 0xb9, 0x9a, 0x1f, 0x90, 0x66, 0x42, 0x94, 0x5a, 0xd1, 0xb8, 0x78, 0xd4, + 0xe2, 0x23, 0x80, 0xea, 0xb1, 0xf0, 0xfc, 0x49, 0x13, 0x6a, 0x99, 0xc7, +}; +static const unsigned char kat3203_addinpr2[] = { + 0xf7, 0x41, 0xe2, 0x52, 0x34, 0xc3, 0x8b, 0x51, 0x54, 0x76, 0x9e, 0xac, + 0x96, 0x75, 0xe9, 0x4a, 0x77, 0x6d, 0x71, 0x8f, 0x40, 0xbb, 0x8f, 0x74, + 0x32, 0x33, 0x9c, 0x6a, 0x0f, 0xa6, 0x22, 0x5e, +}; +static const unsigned char kat3203_retbits[] = { + 0xce, 0x9e, 0x56, 0xd6, 0x2b, 0xde, 0xa9, 0x23, 0x5b, 0x9e, 0x3f, 0x11, + 0x35, 0x15, 0x0a, 0x7e, 0xeb, 0x8d, 0x17, 0xdc, 0x9a, 0x9e, 0x07, 0x20, + 0xbe, 0xe5, 0x9a, 0x0c, 0xae, 0xcb, 0x93, 0x64, 0xd2, 0x8e, 0xe7, 0x51, + 0xe2, 0x04, 0xd4, 0x8e, 0xb0, 0x0d, 0xa7, 0xda, 0x8e, 0x9e, 0xd8, 0x37, + 0xa6, 0xf5, 0xc7, 0xa7, 0x2e, 0x60, 0xa2, 0x1c, 0x1c, 0x48, 0x3f, 0xac, + 0x19, 0x8e, 0xfc, 0x5b, +}; +static const struct drbg_kat_pr_true kat3203_t = { + 7, kat3203_entropyin, kat3203_nonce, kat3203_persstr, + kat3203_entropyinpr1, kat3203_addinpr1, kat3203_entropyinpr2, + kat3203_addinpr2, kat3203_retbits +}; +static const struct drbg_kat kat3203 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3203_t +}; + +static const unsigned char kat3204_entropyin[] = { + 0x4b, 0xbb, 0x9d, 0xea, 0xa8, 0x2d, 0x4a, 0x4b, 0x70, 0x07, 0xf3, 0xf4, + 0x01, 0x2a, 0x34, 0x45, 0x05, 0x21, 0x86, 0x81, 0xf9, 0x88, 0x85, 0x30, +}; +static const unsigned char kat3204_nonce[] = { + 0x8e, 0x45, 0xeb, 0xbb, 0x2f, 0x30, 0xd1, 0xef, 0x28, 0x8e, 0x03, 0x43, + 0x9e, 0x08, 0xea, 0x2d, +}; +static const unsigned char kat3204_persstr[] = {0}; +static const unsigned char kat3204_entropyinpr1[] = { + 0x81, 0x91, 0x3d, 0x1b, 0x46, 0x9b, 0x1f, 0x32, 0x09, 0x2b, 0x7a, 0x9b, + 0x5c, 0x36, 0x1b, 0x1e, 0xe4, 0x45, 0x5f, 0xfe, 0x25, 0x35, 0x67, 0x8d, +}; +static const unsigned char kat3204_addinpr1[] = { + 0xa1, 0x28, 0xd1, 0x28, 0xa0, 0xad, 0x1b, 0x7a, 0x42, 0xaa, 0xfe, 0x64, + 0xf2, 0xa6, 0x1c, 0x62, 0x37, 0x8d, 0xe2, 0x83, 0x1d, 0x86, 0x6c, 0x80, + 0xe2, 0xff, 0x3b, 0x25, 0x81, 0x71, 0xd8, 0x33, +}; +static const unsigned char kat3204_entropyinpr2[] = { + 0xfc, 0x10, 0x7a, 0x18, 0x10, 0xb0, 0x33, 0x9f, 0x3f, 0x3b, 0xb8, 0x17, + 0x21, 0x60, 0x76, 0x9f, 0x3c, 0xde, 0x58, 0x12, 0x95, 0x9a, 0x5c, 0x40, +}; +static const unsigned char kat3204_addinpr2[] = { + 0x05, 0x1e, 0xc7, 0x97, 0xe3, 0xcc, 0xcd, 0x39, 0xc1, 0xce, 0xdf, 0x8d, + 0xfa, 0x84, 0xdd, 0x50, 0x50, 0x14, 0x2b, 0xa2, 0xe5, 0x0e, 0xef, 0x31, + 0x44, 0xcf, 0x08, 0x11, 0x84, 0x66, 0x34, 0xf1, +}; +static const unsigned char kat3204_retbits[] = { + 0xdb, 0x5a, 0x02, 0x40, 0x7c, 0xa9, 0x77, 0xf9, 0xba, 0x2e, 0x96, 0x2a, + 0x68, 0xd2, 0xb0, 0x90, 0xe7, 0x71, 0xea, 0x95, 0x0e, 0xdb, 0xd4, 0xd5, + 0x59, 0xbc, 0x11, 0xd4, 0xd5, 0xf5, 0xd8, 0x55, 0x30, 0x85, 0x3e, 0xe8, + 0xdb, 0x97, 0xb0, 0x2a, 0xf5, 0x8e, 0xf7, 0x82, 0xe2, 0xfe, 0xba, 0x62, + 0x8c, 0x12, 0x38, 0x8d, 0xfb, 0xa2, 0x31, 0x3f, 0x92, 0xbd, 0x63, 0x2c, + 0xb6, 0xf5, 0x02, 0xf3, +}; +static const struct drbg_kat_pr_true kat3204_t = { + 8, kat3204_entropyin, kat3204_nonce, kat3204_persstr, + kat3204_entropyinpr1, kat3204_addinpr1, kat3204_entropyinpr2, + kat3204_addinpr2, kat3204_retbits +}; +static const struct drbg_kat kat3204 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3204_t +}; + +static const unsigned char kat3205_entropyin[] = { + 0x17, 0x8c, 0xa6, 0xc5, 0x33, 0xa0, 0xb3, 0x44, 0xe5, 0xdf, 0xbf, 0x5c, + 0x46, 0xce, 0x00, 0xa1, 0x38, 0xc7, 0x22, 0x40, 0x63, 0xf9, 0x8f, 0xc9, +}; +static const unsigned char kat3205_nonce[] = { + 0x88, 0x27, 0x89, 0x88, 0x6b, 0xa4, 0x9b, 0x2a, 0x83, 0x34, 0xa6, 0xc1, + 0x12, 0x31, 0xdd, 0xe2, +}; +static const unsigned char kat3205_persstr[] = {0}; +static const unsigned char kat3205_entropyinpr1[] = { + 0xf2, 0x68, 0xdb, 0x0c, 0xeb, 0x18, 0x33, 0x10, 0x98, 0x78, 0x77, 0x96, + 0x62, 0xe0, 0xc8, 0x96, 0x6d, 0x6f, 0x5b, 0x9b, 0x71, 0x80, 0x95, 0x19, +}; +static const unsigned char kat3205_addinpr1[] = { + 0x7c, 0xb4, 0xe6, 0xf2, 0xd4, 0x47, 0x18, 0x8c, 0x91, 0x44, 0x5f, 0x35, + 0xe2, 0x26, 0xa4, 0x64, 0xfb, 0x71, 0x68, 0x73, 0xd7, 0x24, 0x29, 0x2c, + 0xe0, 0x08, 0x9f, 0x2c, 0xb5, 0x64, 0x36, 0xc7, +}; +static const unsigned char kat3205_entropyinpr2[] = { + 0x10, 0xb6, 0x20, 0x03, 0x1e, 0xcb, 0xae, 0x42, 0x96, 0x45, 0x98, 0x7c, + 0x6b, 0xfc, 0x7e, 0x4e, 0x8d, 0xd4, 0x27, 0xb3, 0x3c, 0xbf, 0x6f, 0x57, +}; +static const unsigned char kat3205_addinpr2[] = { + 0x06, 0xe0, 0x7b, 0x46, 0x99, 0x68, 0x78, 0x53, 0xfb, 0xfc, 0x41, 0xed, + 0xed, 0x2a, 0x00, 0x79, 0x08, 0x09, 0x30, 0x6a, 0xc0, 0xf0, 0xa0, 0xfa, + 0xd0, 0x1f, 0x64, 0xbd, 0x82, 0x93, 0x9e, 0xe1, +}; +static const unsigned char kat3205_retbits[] = { + 0x73, 0x2d, 0x85, 0x88, 0x64, 0x1c, 0x2b, 0x19, 0x1d, 0x32, 0x8f, 0x95, + 0xfd, 0x6b, 0xe5, 0xff, 0xee, 0xbe, 0x06, 0x91, 0x26, 0x00, 0xfb, 0x27, + 0xf0, 0x16, 0x3c, 0x95, 0xb5, 0x51, 0xea, 0x22, 0x3d, 0xb3, 0x3f, 0x34, + 0x83, 0x78, 0x5a, 0xf0, 0x36, 0x5d, 0x3e, 0x6b, 0xd3, 0xa4, 0x1e, 0xf1, + 0x84, 0x1a, 0xd3, 0xc5, 0x1c, 0x20, 0xc4, 0x43, 0xe5, 0xdd, 0xdb, 0x0f, + 0xc6, 0x49, 0x1d, 0x61, +}; +static const struct drbg_kat_pr_true kat3205_t = { + 9, kat3205_entropyin, kat3205_nonce, kat3205_persstr, + kat3205_entropyinpr1, kat3205_addinpr1, kat3205_entropyinpr2, + kat3205_addinpr2, kat3205_retbits +}; +static const struct drbg_kat kat3205 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3205_t +}; + +static const unsigned char kat3206_entropyin[] = { + 0xdb, 0x1c, 0x80, 0x0f, 0x4b, 0x14, 0x62, 0x4c, 0x9b, 0x18, 0x87, 0xf3, + 0xef, 0x5e, 0x93, 0x56, 0x53, 0x72, 0x68, 0x11, 0xbd, 0x6a, 0x2d, 0x0f, +}; +static const unsigned char kat3206_nonce[] = { + 0x3f, 0x72, 0xc3, 0x96, 0x11, 0xd2, 0xc8, 0x00, 0x82, 0x22, 0x14, 0x39, + 0x72, 0x61, 0xc4, 0x6b, +}; +static const unsigned char kat3206_persstr[] = {0}; +static const unsigned char kat3206_entropyinpr1[] = { + 0x09, 0xc7, 0xae, 0xe6, 0x65, 0x7d, 0x5d, 0xae, 0xd2, 0xb3, 0xe2, 0x56, + 0xb1, 0x3a, 0xb4, 0x13, 0x68, 0x85, 0x77, 0xe2, 0x94, 0xaf, 0xef, 0x15, +}; +static const unsigned char kat3206_addinpr1[] = { + 0xdf, 0xbe, 0x2a, 0x13, 0xee, 0x44, 0xba, 0x33, 0xc7, 0x66, 0xa4, 0xd4, + 0xb1, 0x6e, 0x4b, 0x0a, 0xfc, 0xae, 0xa8, 0xde, 0x65, 0x1a, 0x03, 0x2c, + 0xa1, 0x7e, 0xbe, 0x37, 0xde, 0x31, 0x34, 0x8c, +}; +static const unsigned char kat3206_entropyinpr2[] = { + 0x12, 0x72, 0x3e, 0x2a, 0xcf, 0x5a, 0x09, 0xf2, 0x61, 0x4e, 0x33, 0x8f, + 0x71, 0x29, 0xbc, 0xad, 0xc5, 0x99, 0xbd, 0xea, 0x4e, 0x26, 0x45, 0x5e, +}; +static const unsigned char kat3206_addinpr2[] = { + 0x11, 0xc6, 0x86, 0x42, 0x52, 0x2a, 0x3a, 0x3f, 0x13, 0xa3, 0x48, 0xad, + 0xbf, 0x5b, 0x1b, 0xcb, 0x9f, 0xeb, 0x29, 0x46, 0xe5, 0xd9, 0xee, 0x80, + 0x19, 0xb5, 0x95, 0x94, 0x2e, 0x93, 0x73, 0xa2, +}; +static const unsigned char kat3206_retbits[] = { + 0xa3, 0x1b, 0xb7, 0x90, 0x53, 0xd5, 0xe4, 0x38, 0xa2, 0xdc, 0xdf, 0x64, + 0xb3, 0x47, 0x5a, 0x9b, 0xf7, 0xba, 0x0b, 0x10, 0xf8, 0x52, 0xd1, 0x87, + 0xd4, 0x58, 0x38, 0x96, 0xd1, 0xa1, 0x4e, 0xf2, 0x04, 0xa7, 0xc5, 0x21, + 0x09, 0x42, 0x4f, 0x52, 0x51, 0x45, 0x96, 0xfa, 0xe7, 0xc2, 0x72, 0x46, + 0x11, 0xb1, 0x8d, 0xb1, 0x1c, 0x85, 0xe9, 0xe6, 0x36, 0x02, 0xcc, 0xb5, + 0xcd, 0x9f, 0x53, 0xe6, +}; +static const struct drbg_kat_pr_true kat3206_t = { + 10, kat3206_entropyin, kat3206_nonce, kat3206_persstr, + kat3206_entropyinpr1, kat3206_addinpr1, kat3206_entropyinpr2, + kat3206_addinpr2, kat3206_retbits +}; +static const struct drbg_kat kat3206 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3206_t +}; + +static const unsigned char kat3207_entropyin[] = { + 0x7a, 0xe6, 0x83, 0x88, 0x60, 0x1e, 0xac, 0x16, 0x9b, 0xd0, 0xb3, 0xa8, + 0x5e, 0x3d, 0xa2, 0xf7, 0xf6, 0x88, 0xf2, 0xaf, 0xa6, 0xa2, 0xa4, 0x19, +}; +static const unsigned char kat3207_nonce[] = { + 0x3b, 0x08, 0xfd, 0x77, 0x75, 0xeb, 0x82, 0x58, 0xd5, 0x6f, 0xb2, 0x83, + 0x35, 0xc2, 0x85, 0xc9, +}; +static const unsigned char kat3207_persstr[] = {0}; +static const unsigned char kat3207_entropyinpr1[] = { + 0x9b, 0x9f, 0x11, 0x9e, 0x2d, 0xf3, 0x5f, 0x79, 0x1d, 0x22, 0xed, 0x4d, + 0x8f, 0x80, 0x16, 0x53, 0x03, 0x97, 0xe7, 0x40, 0xfe, 0x15, 0x2d, 0xed, +}; +static const unsigned char kat3207_addinpr1[] = { + 0xdc, 0x80, 0x61, 0xdd, 0xa8, 0x3f, 0x1e, 0xfd, 0xfd, 0x63, 0x65, 0xb5, + 0xe5, 0x03, 0x73, 0x37, 0xbf, 0x3e, 0x9a, 0x2f, 0x74, 0xbd, 0x91, 0x45, + 0x3c, 0x0e, 0x35, 0xc0, 0xd7, 0xc6, 0xc1, 0x11, +}; +static const unsigned char kat3207_entropyinpr2[] = { + 0x03, 0x4a, 0x60, 0x68, 0xf9, 0x16, 0x2e, 0x0d, 0xc0, 0x05, 0xd6, 0x21, + 0x4a, 0xd1, 0xcd, 0x4a, 0xa4, 0xab, 0x7f, 0x39, 0x03, 0xb5, 0x4d, 0xfe, +}; +static const unsigned char kat3207_addinpr2[] = { + 0xe9, 0xc5, 0x69, 0x8c, 0xff, 0x00, 0xaa, 0x40, 0x4b, 0xce, 0x15, 0x20, + 0x57, 0xf7, 0x0e, 0xf4, 0x4a, 0x00, 0x2c, 0xaf, 0x0f, 0x39, 0xc3, 0xf1, + 0x5a, 0xed, 0xf0, 0xd4, 0x01, 0xfd, 0xbb, 0x5d, +}; +static const unsigned char kat3207_retbits[] = { + 0x9f, 0xd4, 0xe2, 0xf7, 0x70, 0xd7, 0x07, 0xe5, 0x42, 0xcd, 0xea, 0x91, + 0xc1, 0x2e, 0x4f, 0xd1, 0x9f, 0x14, 0x72, 0xb4, 0x3f, 0xb5, 0xb7, 0x42, + 0x4f, 0x5b, 0x2c, 0xac, 0x20, 0x5c, 0xb3, 0x7f, 0xea, 0x45, 0x96, 0x41, + 0x5d, 0xee, 0xdd, 0x8b, 0xde, 0xcc, 0x52, 0xa8, 0xc1, 0xcd, 0xb8, 0xa9, + 0x58, 0x4f, 0x43, 0x83, 0x0f, 0x26, 0xda, 0xd8, 0xb6, 0x60, 0x87, 0xe0, + 0x68, 0xff, 0x58, 0x72, +}; +static const struct drbg_kat_pr_true kat3207_t = { + 11, kat3207_entropyin, kat3207_nonce, kat3207_persstr, + kat3207_entropyinpr1, kat3207_addinpr1, kat3207_entropyinpr2, + kat3207_addinpr2, kat3207_retbits +}; +static const struct drbg_kat kat3207 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3207_t +}; + +static const unsigned char kat3208_entropyin[] = { + 0xa8, 0xa2, 0x02, 0xef, 0x6a, 0x0d, 0x06, 0xbd, 0xb7, 0x06, 0x97, 0x00, + 0x9d, 0xf7, 0x05, 0xd7, 0x68, 0x2f, 0x68, 0x70, 0x71, 0xa1, 0xef, 0x4e, +}; +static const unsigned char kat3208_nonce[] = { + 0xf1, 0x3c, 0x16, 0x57, 0xcb, 0x57, 0x6b, 0xd5, 0x09, 0xaf, 0xfe, 0xff, + 0xbf, 0x5d, 0xfd, 0x65, +}; +static const unsigned char kat3208_persstr[] = {0}; +static const unsigned char kat3208_entropyinpr1[] = { + 0xe7, 0x31, 0x0b, 0xf0, 0xbb, 0xb1, 0x30, 0x56, 0x96, 0xb6, 0x90, 0xe1, + 0xa3, 0xb8, 0xab, 0xde, 0xb7, 0x91, 0xc3, 0x39, 0x6b, 0xbd, 0xea, 0x9a, +}; +static const unsigned char kat3208_addinpr1[] = { + 0x5e, 0x80, 0x48, 0x4e, 0x0b, 0xc3, 0x7d, 0x6f, 0xf6, 0xcb, 0x20, 0x0f, + 0x6e, 0xb9, 0xa9, 0x4f, 0x7a, 0x94, 0x54, 0x07, 0xf9, 0x82, 0x24, 0x52, + 0xf7, 0x55, 0xa6, 0x76, 0x75, 0x7b, 0x01, 0x95, +}; +static const unsigned char kat3208_entropyinpr2[] = { + 0x18, 0x32, 0x96, 0x37, 0x12, 0x57, 0x3a, 0x5c, 0xf4, 0x02, 0x2a, 0xc7, + 0x67, 0xa3, 0xbb, 0xc0, 0x1d, 0x4e, 0xd1, 0x06, 0x33, 0xdf, 0x0f, 0x3d, +}; +static const unsigned char kat3208_addinpr2[] = { + 0x4c, 0x73, 0x41, 0x94, 0x76, 0x29, 0x28, 0xe9, 0x7a, 0xd6, 0x6c, 0x92, + 0xce, 0x0b, 0xe7, 0xca, 0x64, 0xc0, 0x30, 0xd8, 0x3c, 0x91, 0x5b, 0xf0, + 0xc1, 0x5c, 0xa6, 0x9f, 0xc5, 0xb8, 0x5f, 0x13, +}; +static const unsigned char kat3208_retbits[] = { + 0xfd, 0xc5, 0xf1, 0x6e, 0x7b, 0xdf, 0x82, 0xdb, 0x39, 0xd8, 0x20, 0xfb, + 0x89, 0x77, 0x23, 0x34, 0xc9, 0x22, 0xfa, 0xc2, 0x6b, 0x42, 0x47, 0x89, + 0x25, 0x86, 0x73, 0xf5, 0xbf, 0xe5, 0x87, 0x47, 0x06, 0x2a, 0xd3, 0x9a, + 0x79, 0x9a, 0xc5, 0x8b, 0xe6, 0x46, 0xdd, 0x9a, 0xad, 0x8c, 0x28, 0xff, + 0x2c, 0xe4, 0xeb, 0xe6, 0xec, 0xfd, 0xe1, 0x4a, 0xea, 0xc5, 0x5d, 0xed, + 0x27, 0x58, 0x2e, 0x80, +}; +static const struct drbg_kat_pr_true kat3208_t = { + 12, kat3208_entropyin, kat3208_nonce, kat3208_persstr, + kat3208_entropyinpr1, kat3208_addinpr1, kat3208_entropyinpr2, + kat3208_addinpr2, kat3208_retbits +}; +static const struct drbg_kat kat3208 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3208_t +}; + +static const unsigned char kat3209_entropyin[] = { + 0x72, 0xd1, 0x41, 0xb8, 0x6e, 0x58, 0xc0, 0xaf, 0x83, 0x62, 0x66, 0x52, + 0xe1, 0x2e, 0x29, 0xcb, 0xb3, 0xc1, 0x07, 0x7b, 0x94, 0xd7, 0x76, 0x90, +}; +static const unsigned char kat3209_nonce[] = { + 0x44, 0x57, 0x87, 0x67, 0x16, 0xf2, 0x91, 0x13, 0x09, 0x10, 0xdf, 0xa2, + 0x30, 0x79, 0xa4, 0x0d, +}; +static const unsigned char kat3209_persstr[] = {0}; +static const unsigned char kat3209_entropyinpr1[] = { + 0xb0, 0x79, 0x22, 0x15, 0x0f, 0x47, 0x7e, 0x72, 0x0a, 0x72, 0x82, 0x5f, + 0xa4, 0x0c, 0x0e, 0xdb, 0x29, 0x49, 0xef, 0x93, 0x2e, 0x53, 0x36, 0x50, +}; +static const unsigned char kat3209_addinpr1[] = { + 0xce, 0x29, 0xff, 0x13, 0x90, 0x4e, 0x59, 0x3e, 0xa2, 0x28, 0x29, 0x99, + 0xb2, 0xfc, 0xbc, 0xb5, 0xda, 0xae, 0x5e, 0x35, 0xff, 0x71, 0xf0, 0x27, + 0x3f, 0x6d, 0x85, 0x38, 0xc1, 0x81, 0xb0, 0x4b, +}; +static const unsigned char kat3209_entropyinpr2[] = { + 0x3f, 0x21, 0xb3, 0xf2, 0x1b, 0x03, 0xe3, 0x76, 0xfc, 0x8b, 0xa4, 0x51, + 0xb4, 0x5e, 0xe8, 0x29, 0xaa, 0x37, 0xea, 0xf1, 0x2e, 0x1b, 0xf8, 0x81, +}; +static const unsigned char kat3209_addinpr2[] = { + 0x15, 0x4f, 0x42, 0x00, 0x27, 0x7d, 0x19, 0x37, 0xb5, 0x61, 0xe4, 0xcd, + 0xf8, 0x56, 0x56, 0xab, 0x2e, 0x41, 0xa3, 0xa0, 0x05, 0x42, 0x39, 0x77, + 0xd5, 0x36, 0x1e, 0xaa, 0xd0, 0xbf, 0x18, 0x97, +}; +static const unsigned char kat3209_retbits[] = { + 0x93, 0x23, 0x03, 0x4e, 0x0d, 0x9c, 0x4f, 0x53, 0xea, 0xf5, 0x0b, 0x36, + 0x79, 0x26, 0xcc, 0x69, 0x1e, 0x6e, 0xde, 0xd2, 0x07, 0x19, 0x0e, 0x36, + 0x9b, 0xdb, 0x2c, 0x7d, 0x8c, 0xf8, 0x59, 0x77, 0x06, 0x8d, 0xb7, 0x75, + 0x68, 0xa5, 0xf2, 0x9c, 0x0c, 0x19, 0x13, 0xc3, 0x62, 0xa6, 0x53, 0xcc, + 0x2a, 0x1c, 0xe1, 0x81, 0x0a, 0xaa, 0x8e, 0xc3, 0x76, 0xa6, 0x40, 0x0e, + 0x25, 0x67, 0xf6, 0x31, +}; +static const struct drbg_kat_pr_true kat3209_t = { + 13, kat3209_entropyin, kat3209_nonce, kat3209_persstr, + kat3209_entropyinpr1, kat3209_addinpr1, kat3209_entropyinpr2, + kat3209_addinpr2, kat3209_retbits +}; +static const struct drbg_kat kat3209 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3209_t +}; + +static const unsigned char kat3210_entropyin[] = { + 0x51, 0x4f, 0x73, 0xb1, 0x7f, 0xd8, 0x1a, 0x39, 0xdc, 0xe9, 0x80, 0x6a, + 0xd4, 0xd2, 0xe4, 0x4f, 0xbe, 0x23, 0x88, 0x99, 0x1e, 0x2c, 0x5f, 0xcc, +}; +static const unsigned char kat3210_nonce[] = { + 0x25, 0x88, 0x89, 0x46, 0xbd, 0x90, 0x72, 0xbc, 0x14, 0x29, 0x88, 0x62, + 0x3b, 0xce, 0xb3, 0x81, +}; +static const unsigned char kat3210_persstr[] = {0}; +static const unsigned char kat3210_entropyinpr1[] = { + 0x58, 0xff, 0x0f, 0x79, 0xbb, 0x4e, 0x5b, 0x63, 0x87, 0xbc, 0x0d, 0xc2, + 0xa4, 0x9b, 0x23, 0x31, 0xc0, 0xcc, 0x06, 0x55, 0x70, 0xf3, 0x8b, 0x22, +}; +static const unsigned char kat3210_addinpr1[] = { + 0xe2, 0x95, 0xab, 0x17, 0x22, 0xe9, 0xd9, 0xba, 0xdc, 0x6c, 0xe8, 0x2a, + 0x2e, 0xa6, 0xc7, 0x40, 0x70, 0x22, 0x31, 0xe6, 0x12, 0xa3, 0x16, 0x69, + 0x3e, 0x1a, 0x08, 0xa1, 0x89, 0xeb, 0x3a, 0x29, +}; +static const unsigned char kat3210_entropyinpr2[] = { + 0x7f, 0xdb, 0x1b, 0x16, 0x9a, 0xcc, 0xc8, 0xd6, 0x99, 0xa2, 0x5c, 0x52, + 0xac, 0xe7, 0x1a, 0x5b, 0x5a, 0x8c, 0xdd, 0x8a, 0x9b, 0x7b, 0xcb, 0x25, +}; +static const unsigned char kat3210_addinpr2[] = { + 0x84, 0xf4, 0x0b, 0x0f, 0x3a, 0x2d, 0x5b, 0x73, 0x7b, 0x35, 0x28, 0xf4, + 0xb3, 0xf5, 0xb1, 0x4e, 0x80, 0xe2, 0x0e, 0xc0, 0xb9, 0x9a, 0xca, 0xfc, + 0x55, 0x8c, 0x8b, 0xb2, 0xa7, 0xc6, 0x96, 0xbb, +}; +static const unsigned char kat3210_retbits[] = { + 0xc9, 0x72, 0x94, 0x16, 0xff, 0xad, 0x89, 0x44, 0xcc, 0x06, 0xc3, 0xf8, + 0xea, 0xeb, 0xfd, 0xd4, 0x42, 0x19, 0xcc, 0x5c, 0xe4, 0xe4, 0x08, 0xc3, + 0x22, 0x21, 0xa5, 0x13, 0xf2, 0x85, 0xa3, 0x0b, 0x19, 0xf4, 0xab, 0x45, + 0xa4, 0x30, 0xfb, 0x49, 0xbd, 0x68, 0xb7, 0x39, 0x8d, 0xee, 0xbe, 0xa5, + 0xa1, 0x94, 0xa4, 0xa2, 0x24, 0x8a, 0x05, 0x47, 0xdf, 0x2f, 0x76, 0x3e, + 0x40, 0xee, 0x70, 0x05, +}; +static const struct drbg_kat_pr_true kat3210_t = { + 14, kat3210_entropyin, kat3210_nonce, kat3210_persstr, + kat3210_entropyinpr1, kat3210_addinpr1, kat3210_entropyinpr2, + kat3210_addinpr2, kat3210_retbits +}; +static const struct drbg_kat kat3210 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3210_t +}; + +static const unsigned char kat3211_entropyin[] = { + 0x96, 0x31, 0xd3, 0xfe, 0xe5, 0xe8, 0xed, 0x7c, 0x6c, 0x19, 0x62, 0x18, + 0x51, 0x01, 0xbb, 0x20, 0x23, 0x04, 0x95, 0xbc, 0xb9, 0xde, 0xac, 0x3d, +}; +static const unsigned char kat3211_nonce[] = { + 0x75, 0x50, 0x8c, 0xd6, 0xe5, 0xf3, 0x76, 0xf9, 0x0f, 0x80, 0xc6, 0x4e, + 0x77, 0xfe, 0xb1, 0xee, +}; +static const unsigned char kat3211_persstr[] = { + 0x21, 0x31, 0xc8, 0x25, 0x72, 0xd1, 0x02, 0x7a, 0xb1, 0xbb, 0x86, 0x0f, + 0x7a, 0x8c, 0x54, 0xa1, 0xda, 0x20, 0xcb, 0x2d, 0xae, 0x5d, 0x25, 0x4a, + 0x79, 0xc1, 0x24, 0x07, 0x05, 0xd1, 0x47, 0x9f, +}; +static const unsigned char kat3211_entropyinpr1[] = { + 0x86, 0x54, 0x06, 0xad, 0x56, 0xd8, 0x63, 0x16, 0x41, 0xfb, 0x2d, 0xcd, + 0xf9, 0xb8, 0x04, 0x8e, 0x4e, 0x82, 0xed, 0x50, 0x7d, 0x5c, 0xc9, 0xd9, +}; +static const unsigned char kat3211_addinpr1[] = {0}; +static const unsigned char kat3211_entropyinpr2[] = { + 0xbb, 0x90, 0x4d, 0x8f, 0xb6, 0xb0, 0x25, 0xa5, 0x01, 0x35, 0x10, 0x26, + 0x36, 0x95, 0x68, 0x7a, 0xb2, 0x02, 0x95, 0x52, 0xeb, 0x99, 0xc5, 0x75, +}; +static const unsigned char kat3211_addinpr2[] = {0}; +static const unsigned char kat3211_retbits[] = { + 0x4b, 0x3e, 0x8d, 0xe3, 0x3e, 0xdf, 0x7f, 0x4c, 0xa0, 0x46, 0x01, 0x43, + 0x8a, 0x85, 0x3d, 0x77, 0x94, 0x96, 0x3c, 0x77, 0xdd, 0xac, 0xd0, 0xde, + 0x3a, 0xd1, 0xab, 0x44, 0xc0, 0x47, 0xae, 0xcb, 0xb4, 0xb9, 0xa1, 0x1c, + 0x23, 0x5a, 0x3a, 0xe0, 0xb8, 0x26, 0x7d, 0x92, 0xc7, 0xe3, 0x00, 0x78, + 0xc4, 0xcf, 0x94, 0x9c, 0x2e, 0x21, 0xf2, 0xae, 0x65, 0x40, 0xb9, 0x18, + 0x97, 0x35, 0xf9, 0xdf, +}; +static const struct drbg_kat_pr_true kat3211_t = { + 0, kat3211_entropyin, kat3211_nonce, kat3211_persstr, + kat3211_entropyinpr1, kat3211_addinpr1, kat3211_entropyinpr2, + kat3211_addinpr2, kat3211_retbits +}; +static const struct drbg_kat kat3211 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3211_t +}; + +static const unsigned char kat3212_entropyin[] = { + 0x98, 0x43, 0xdc, 0x9d, 0x0e, 0x11, 0x2e, 0x50, 0xb5, 0xdc, 0x8c, 0x02, + 0x66, 0x0a, 0xf7, 0x5b, 0x0b, 0x05, 0x81, 0xee, 0xaa, 0xff, 0xef, 0x63, +}; +static const unsigned char kat3212_nonce[] = { + 0xe8, 0x9d, 0x90, 0xd1, 0x71, 0x30, 0xed, 0xe9, 0xdf, 0x75, 0xd9, 0xb1, + 0x73, 0xa5, 0x62, 0xfe, +}; +static const unsigned char kat3212_persstr[] = { + 0xab, 0x94, 0x74, 0x89, 0x21, 0x5a, 0x28, 0x22, 0x4e, 0xd9, 0x51, 0x5a, + 0x23, 0x79, 0x66, 0x32, 0x87, 0x80, 0xab, 0x3a, 0x6e, 0xac, 0x6f, 0x4b, + 0x20, 0x0e, 0xd3, 0xf7, 0x4d, 0xd8, 0xec, 0x8d, +}; +static const unsigned char kat3212_entropyinpr1[] = { + 0xdd, 0x0a, 0xe1, 0x36, 0x18, 0x0c, 0x0b, 0x2d, 0x69, 0x6c, 0x69, 0x19, + 0xa5, 0x5e, 0x7e, 0xc1, 0xdf, 0x25, 0x9a, 0x50, 0x7f, 0x34, 0x5b, 0xd5, +}; +static const unsigned char kat3212_addinpr1[] = {0}; +static const unsigned char kat3212_entropyinpr2[] = { + 0xa7, 0x30, 0xb0, 0x75, 0x68, 0xd8, 0x7e, 0xf7, 0x6b, 0xb3, 0x3b, 0xd2, + 0x3e, 0x6c, 0x9e, 0xc5, 0xd1, 0x70, 0x8b, 0x2f, 0x14, 0x73, 0xb3, 0x20, +}; +static const unsigned char kat3212_addinpr2[] = {0}; +static const unsigned char kat3212_retbits[] = { + 0x7f, 0x81, 0x9a, 0x2d, 0xa0, 0x13, 0x72, 0x0a, 0x13, 0x59, 0xf2, 0xdc, + 0xf0, 0xd1, 0x11, 0xcd, 0x64, 0x72, 0xca, 0x97, 0x0e, 0x83, 0x53, 0xca, + 0xfb, 0x83, 0x47, 0x76, 0xcb, 0xa3, 0xd6, 0x89, 0x64, 0xe3, 0x2b, 0xce, + 0x96, 0x20, 0xfa, 0x40, 0x92, 0x1d, 0x40, 0x72, 0x0f, 0xb2, 0xa3, 0xbf, + 0xef, 0xb3, 0x46, 0xc7, 0x24, 0x8a, 0x1b, 0x4f, 0xb4, 0xfe, 0x90, 0xd5, + 0x24, 0xaa, 0x75, 0xcc, +}; +static const struct drbg_kat_pr_true kat3212_t = { + 1, kat3212_entropyin, kat3212_nonce, kat3212_persstr, + kat3212_entropyinpr1, kat3212_addinpr1, kat3212_entropyinpr2, + kat3212_addinpr2, kat3212_retbits +}; +static const struct drbg_kat kat3212 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3212_t +}; + +static const unsigned char kat3213_entropyin[] = { + 0x58, 0x34, 0xbb, 0xf1, 0x9e, 0x6a, 0x7b, 0xce, 0x04, 0x45, 0x1e, 0xbf, + 0x91, 0x22, 0x68, 0xc0, 0x42, 0x32, 0xad, 0x4b, 0x05, 0x17, 0xb4, 0xf8, +}; +static const unsigned char kat3213_nonce[] = { + 0xe4, 0x97, 0xb8, 0x86, 0xe7, 0xa8, 0xaa, 0x96, 0x87, 0x62, 0x82, 0xcf, + 0xc3, 0xe3, 0xa0, 0x14, +}; +static const unsigned char kat3213_persstr[] = { + 0xc1, 0x8b, 0x3d, 0xb2, 0x82, 0x4d, 0x5f, 0x01, 0xc4, 0xc2, 0x50, 0xb8, + 0x48, 0xdb, 0x27, 0xe0, 0xc6, 0x9a, 0x86, 0x4d, 0xa9, 0x5d, 0x0d, 0xfa, + 0xc1, 0x1b, 0xbe, 0x2f, 0x9d, 0x29, 0x8e, 0xa3, +}; +static const unsigned char kat3213_entropyinpr1[] = { + 0x67, 0x6c, 0x49, 0xba, 0xe4, 0xd4, 0x31, 0xaa, 0xc0, 0x8f, 0x34, 0x48, + 0x4b, 0x11, 0xbd, 0x37, 0xc7, 0x9f, 0xf6, 0xc4, 0x70, 0x4e, 0xba, 0x4d, +}; +static const unsigned char kat3213_addinpr1[] = {0}; +static const unsigned char kat3213_entropyinpr2[] = { + 0xe0, 0x04, 0x0f, 0x80, 0x81, 0xb1, 0xc9, 0x89, 0xf9, 0x9e, 0x1a, 0x3a, + 0x81, 0x38, 0xb7, 0xbe, 0x83, 0xba, 0x00, 0x7b, 0x5d, 0xbb, 0x81, 0x78, +}; +static const unsigned char kat3213_addinpr2[] = {0}; +static const unsigned char kat3213_retbits[] = { + 0x4a, 0x29, 0x51, 0x9c, 0x0f, 0xa8, 0x3d, 0xd7, 0x13, 0x49, 0xbf, 0xf8, + 0xc8, 0xa4, 0x6f, 0x4a, 0x8c, 0xce, 0xa6, 0xb3, 0xd1, 0x1e, 0xf8, 0xdc, + 0xb1, 0x9f, 0x3c, 0xef, 0x6e, 0x2b, 0x01, 0x5d, 0x04, 0xc8, 0x2f, 0x44, + 0x36, 0xcb, 0xd1, 0x13, 0xc1, 0x30, 0xd7, 0x93, 0xda, 0x6e, 0x4e, 0x58, + 0x32, 0x4f, 0xae, 0x10, 0x6a, 0x48, 0x96, 0xff, 0x63, 0x42, 0x97, 0x38, + 0x16, 0x75, 0x62, 0xf3, +}; +static const struct drbg_kat_pr_true kat3213_t = { + 2, kat3213_entropyin, kat3213_nonce, kat3213_persstr, + kat3213_entropyinpr1, kat3213_addinpr1, kat3213_entropyinpr2, + kat3213_addinpr2, kat3213_retbits +}; +static const struct drbg_kat kat3213 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3213_t +}; + +static const unsigned char kat3214_entropyin[] = { + 0x74, 0xc4, 0x6e, 0x26, 0x06, 0xa8, 0x58, 0x99, 0x3a, 0x16, 0xa3, 0x8e, + 0x38, 0x41, 0x54, 0x0c, 0xf0, 0x31, 0xc1, 0x91, 0x7a, 0xa3, 0x5e, 0xd5, +}; +static const unsigned char kat3214_nonce[] = { + 0xf7, 0x4d, 0x9a, 0x16, 0xbf, 0x6a, 0x0e, 0xbb, 0x70, 0xba, 0x14, 0x31, + 0xbe, 0xa9, 0xc6, 0xea, +}; +static const unsigned char kat3214_persstr[] = { + 0x52, 0x0e, 0x60, 0x7c, 0x5c, 0x9b, 0xfd, 0xa9, 0x73, 0x2d, 0x1f, 0x71, + 0xb4, 0xef, 0xc1, 0xac, 0x7c, 0x2c, 0x38, 0x57, 0x14, 0xf5, 0x8d, 0x31, + 0xad, 0xcb, 0x4b, 0x06, 0x3d, 0x9f, 0x56, 0x69, +}; +static const unsigned char kat3214_entropyinpr1[] = { + 0xa0, 0x12, 0x4b, 0x60, 0xd5, 0x8e, 0x1d, 0xa9, 0xf2, 0x8a, 0x68, 0xe9, + 0x85, 0x38, 0x83, 0xb4, 0xe6, 0x9e, 0x0f, 0xca, 0x8a, 0xbc, 0x0b, 0xf9, +}; +static const unsigned char kat3214_addinpr1[] = {0}; +static const unsigned char kat3214_entropyinpr2[] = { + 0x29, 0xb6, 0x56, 0x90, 0x0a, 0x46, 0x65, 0xc3, 0xa8, 0x9b, 0xed, 0x7d, + 0x2e, 0x22, 0x68, 0xdd, 0xf0, 0xac, 0xf4, 0x62, 0x11, 0xd3, 0x3d, 0x80, +}; +static const unsigned char kat3214_addinpr2[] = {0}; +static const unsigned char kat3214_retbits[] = { + 0xe1, 0xad, 0xc0, 0x2c, 0x6a, 0xb6, 0xff, 0xe2, 0x7a, 0xfa, 0xae, 0xa0, + 0xc4, 0x73, 0x21, 0x0b, 0xb8, 0x96, 0xb1, 0xab, 0xb3, 0xb0, 0x0d, 0x22, + 0x8e, 0xbe, 0x1a, 0x55, 0x10, 0x6c, 0x45, 0x1e, 0xa1, 0x5f, 0x51, 0x65, + 0xfa, 0x2f, 0x45, 0x62, 0xc0, 0x91, 0x45, 0x95, 0x98, 0xed, 0xe0, 0x5d, + 0xd1, 0x4d, 0xb1, 0x1d, 0x43, 0x05, 0x2c, 0x66, 0x9d, 0xfc, 0xfa, 0xba, + 0xa7, 0xbe, 0xe7, 0x65, +}; +static const struct drbg_kat_pr_true kat3214_t = { + 3, kat3214_entropyin, kat3214_nonce, kat3214_persstr, + kat3214_entropyinpr1, kat3214_addinpr1, kat3214_entropyinpr2, + kat3214_addinpr2, kat3214_retbits +}; +static const struct drbg_kat kat3214 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3214_t +}; + +static const unsigned char kat3215_entropyin[] = { + 0x4f, 0x08, 0xd8, 0x4e, 0xc7, 0x4b, 0xd6, 0xe3, 0xa6, 0xd8, 0x83, 0xbd, + 0xad, 0x0c, 0x78, 0x28, 0x15, 0x57, 0xfe, 0xba, 0xb5, 0x7a, 0xec, 0x6e, +}; +static const unsigned char kat3215_nonce[] = { + 0x4b, 0xa9, 0xb6, 0x06, 0xfb, 0x2d, 0x2b, 0x5d, 0x9b, 0xef, 0x21, 0xc5, + 0x35, 0xf6, 0x2b, 0x12, +}; +static const unsigned char kat3215_persstr[] = { + 0x4b, 0x33, 0x76, 0x27, 0x45, 0x3a, 0x95, 0x56, 0x3f, 0xbd, 0x3e, 0x08, + 0x6b, 0x80, 0x16, 0xf4, 0xe2, 0x51, 0x1d, 0x29, 0x28, 0x55, 0x40, 0x09, + 0xfa, 0x8d, 0xf6, 0xdd, 0x58, 0x53, 0x90, 0xdc, +}; +static const unsigned char kat3215_entropyinpr1[] = { + 0xb7, 0xcb, 0xdf, 0xe2, 0x6c, 0x30, 0xc4, 0x2f, 0x6c, 0x49, 0x1b, 0x07, + 0x64, 0x77, 0xfd, 0xd1, 0xe3, 0x59, 0xe9, 0x13, 0x4d, 0x0f, 0xe1, 0xa2, +}; +static const unsigned char kat3215_addinpr1[] = {0}; +static const unsigned char kat3215_entropyinpr2[] = { + 0x57, 0xdd, 0xe0, 0x01, 0x19, 0x6e, 0x62, 0x42, 0xce, 0xdb, 0xdb, 0xae, + 0x4d, 0xe2, 0xef, 0x2b, 0x67, 0x88, 0xcf, 0x40, 0xc6, 0x21, 0x1f, 0x19, +}; +static const unsigned char kat3215_addinpr2[] = {0}; +static const unsigned char kat3215_retbits[] = { + 0x5a, 0xc5, 0x44, 0x61, 0xe3, 0x46, 0x26, 0xbd, 0x9c, 0x21, 0xa4, 0xca, + 0x8f, 0x30, 0xf2, 0x3d, 0x76, 0xce, 0x2a, 0x7a, 0x17, 0xc3, 0xe3, 0x49, + 0xd5, 0xe9, 0x0b, 0x67, 0xb5, 0xa7, 0x01, 0xad, 0xcb, 0x2d, 0x39, 0x9d, + 0x2c, 0x91, 0xc7, 0xa1, 0xcf, 0x08, 0x5d, 0x4c, 0x9b, 0x1c, 0x5c, 0xba, + 0xb9, 0x4e, 0xd5, 0xa0, 0x48, 0x6c, 0xee, 0x80, 0xf8, 0x3e, 0x4c, 0x1a, + 0x43, 0x02, 0xcc, 0x38, +}; +static const struct drbg_kat_pr_true kat3215_t = { + 4, kat3215_entropyin, kat3215_nonce, kat3215_persstr, + kat3215_entropyinpr1, kat3215_addinpr1, kat3215_entropyinpr2, + kat3215_addinpr2, kat3215_retbits +}; +static const struct drbg_kat kat3215 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3215_t +}; + +static const unsigned char kat3216_entropyin[] = { + 0x3d, 0xbb, 0x33, 0x88, 0xad, 0xa8, 0x03, 0xf0, 0xb0, 0x5c, 0xf5, 0x69, + 0xf2, 0x2e, 0x69, 0x4d, 0x9d, 0x56, 0x13, 0xef, 0x0f, 0xc4, 0x30, 0x7b, +}; +static const unsigned char kat3216_nonce[] = { + 0xac, 0xbc, 0xf3, 0xfb, 0x5c, 0xf0, 0x7a, 0x0f, 0xeb, 0xe1, 0xef, 0xf4, + 0x4e, 0x1e, 0x8f, 0xf4, +}; +static const unsigned char kat3216_persstr[] = { + 0xd7, 0x93, 0x63, 0x19, 0x48, 0x92, 0x1d, 0x4c, 0x5d, 0x62, 0x7e, 0x31, + 0xdb, 0xa1, 0xc5, 0x73, 0x50, 0x65, 0x1b, 0x63, 0xff, 0x09, 0x99, 0xb2, + 0xd1, 0x83, 0xb0, 0x9b, 0x8b, 0x00, 0x95, 0x4a, +}; +static const unsigned char kat3216_entropyinpr1[] = { + 0xdc, 0x1f, 0xbb, 0x8c, 0xa0, 0x60, 0xe1, 0x66, 0x65, 0xba, 0x58, 0xb3, + 0xa9, 0x35, 0xdd, 0xa8, 0x78, 0xc4, 0x64, 0x20, 0xb0, 0x71, 0x74, 0xf4, +}; +static const unsigned char kat3216_addinpr1[] = {0}; +static const unsigned char kat3216_entropyinpr2[] = { + 0xda, 0x5b, 0xf9, 0x7b, 0xe1, 0xf2, 0xc8, 0xbc, 0xfc, 0x0a, 0x07, 0x57, + 0x80, 0xb8, 0xdb, 0x98, 0xb8, 0xe7, 0xbc, 0xb0, 0x9b, 0x22, 0xa9, 0x56, +}; +static const unsigned char kat3216_addinpr2[] = {0}; +static const unsigned char kat3216_retbits[] = { + 0xb9, 0x76, 0xd6, 0x80, 0xf5, 0xa6, 0x4f, 0xce, 0x15, 0xfc, 0x39, 0xf4, + 0x9e, 0x83, 0xf3, 0x2b, 0x32, 0x5b, 0xad, 0x21, 0x26, 0x71, 0xda, 0x20, + 0x86, 0xa8, 0x2a, 0x07, 0xb7, 0xb1, 0xff, 0xd3, 0x3b, 0x1b, 0x99, 0x02, + 0x25, 0x95, 0x50, 0x7c, 0x90, 0xf2, 0x6a, 0x3a, 0x21, 0xbf, 0x98, 0xec, + 0xbd, 0x5c, 0xea, 0x7d, 0x69, 0x7c, 0x6a, 0x16, 0x0e, 0xd1, 0x64, 0x79, + 0x02, 0xe3, 0x6a, 0xa2, +}; +static const struct drbg_kat_pr_true kat3216_t = { + 5, kat3216_entropyin, kat3216_nonce, kat3216_persstr, + kat3216_entropyinpr1, kat3216_addinpr1, kat3216_entropyinpr2, + kat3216_addinpr2, kat3216_retbits +}; +static const struct drbg_kat kat3216 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3216_t +}; + +static const unsigned char kat3217_entropyin[] = { + 0xec, 0x9d, 0x06, 0x54, 0xee, 0x12, 0xe8, 0xb2, 0xd9, 0x98, 0x35, 0xf6, + 0x40, 0xfb, 0x90, 0x26, 0x00, 0x6e, 0xcc, 0x32, 0x62, 0x22, 0x88, 0x50, +}; +static const unsigned char kat3217_nonce[] = { + 0x4b, 0xdb, 0x7d, 0x3d, 0x02, 0x49, 0x49, 0x4f, 0x44, 0x08, 0xf5, 0xe3, + 0x15, 0x8f, 0xef, 0x00, +}; +static const unsigned char kat3217_persstr[] = { + 0xf4, 0x3e, 0xc6, 0xab, 0xe6, 0x15, 0x14, 0x30, 0x3e, 0x93, 0xa8, 0xe3, + 0xb9, 0x62, 0xbb, 0x76, 0x45, 0x07, 0xc9, 0x5a, 0x36, 0x1d, 0x12, 0x65, + 0x0d, 0x7d, 0xdd, 0xf3, 0x4e, 0x52, 0x8a, 0x93, +}; +static const unsigned char kat3217_entropyinpr1[] = { + 0x8c, 0xbf, 0x62, 0xef, 0x1d, 0xd5, 0xe0, 0x31, 0x57, 0x84, 0x47, 0x25, + 0x27, 0x20, 0x29, 0xbc, 0x93, 0x53, 0x13, 0xa5, 0x42, 0x1b, 0xd6, 0x4f, +}; +static const unsigned char kat3217_addinpr1[] = {0}; +static const unsigned char kat3217_entropyinpr2[] = { + 0x5e, 0xd7, 0x6a, 0xbf, 0x5e, 0x86, 0x08, 0xa9, 0x75, 0x43, 0xb2, 0x80, + 0x95, 0x3c, 0xc0, 0x1f, 0x93, 0x32, 0x1b, 0x55, 0x4c, 0xd4, 0x6c, 0xc1, +}; +static const unsigned char kat3217_addinpr2[] = {0}; +static const unsigned char kat3217_retbits[] = { + 0x43, 0x9c, 0x2f, 0xe9, 0x89, 0x22, 0x4a, 0x4b, 0xa5, 0xc9, 0x45, 0x23, + 0xd3, 0x50, 0x83, 0x76, 0x28, 0x45, 0xf2, 0xf8, 0x8c, 0x8a, 0x1b, 0xe3, + 0xf1, 0xa4, 0xf8, 0x9e, 0xe0, 0xa1, 0x3c, 0x92, 0x6a, 0x73, 0x71, 0x72, + 0x47, 0x18, 0xb2, 0xad, 0x3f, 0xcd, 0x68, 0x1e, 0x19, 0x94, 0xe6, 0x94, + 0x97, 0xc9, 0x4b, 0xa0, 0x8e, 0x67, 0xe5, 0x18, 0x9b, 0x16, 0x70, 0x99, + 0xe5, 0x4f, 0x07, 0x03, +}; +static const struct drbg_kat_pr_true kat3217_t = { + 6, kat3217_entropyin, kat3217_nonce, kat3217_persstr, + kat3217_entropyinpr1, kat3217_addinpr1, kat3217_entropyinpr2, + kat3217_addinpr2, kat3217_retbits +}; +static const struct drbg_kat kat3217 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3217_t +}; + +static const unsigned char kat3218_entropyin[] = { + 0x18, 0xde, 0xa6, 0xe0, 0xbd, 0xda, 0x95, 0x2b, 0xfd, 0x98, 0x38, 0x13, + 0xd5, 0xfa, 0x4f, 0xf8, 0xeb, 0xa3, 0x3d, 0x94, 0xba, 0x12, 0x1c, 0x50, +}; +static const unsigned char kat3218_nonce[] = { + 0x2e, 0xcc, 0x42, 0x99, 0x87, 0x38, 0xe0, 0x3c, 0xc2, 0x7d, 0xdb, 0x96, + 0x14, 0x8c, 0x83, 0x4e, +}; +static const unsigned char kat3218_persstr[] = { + 0xdb, 0xc8, 0xd6, 0x0b, 0x97, 0x7f, 0xff, 0x2e, 0x70, 0xac, 0x77, 0x02, + 0xf2, 0xde, 0x1b, 0x8f, 0xa8, 0x6b, 0x52, 0x7e, 0xb2, 0xac, 0xad, 0x5f, + 0x68, 0x8d, 0x89, 0xd9, 0x88, 0x4e, 0x51, 0xba, +}; +static const unsigned char kat3218_entropyinpr1[] = { + 0xc9, 0x46, 0x20, 0x86, 0x7d, 0xbd, 0xa5, 0x04, 0xbd, 0xba, 0xf1, 0x83, + 0xa1, 0xe3, 0xea, 0x6f, 0xca, 0x52, 0x89, 0x8b, 0x07, 0xad, 0x48, 0xaf, +}; +static const unsigned char kat3218_addinpr1[] = {0}; +static const unsigned char kat3218_entropyinpr2[] = { + 0x94, 0x40, 0x95, 0xb8, 0x6a, 0x9d, 0x01, 0xce, 0x27, 0x0f, 0x40, 0xc7, + 0xd2, 0x35, 0x9d, 0x62, 0x3a, 0x0f, 0xa6, 0x30, 0x39, 0xf8, 0x67, 0x42, +}; +static const unsigned char kat3218_addinpr2[] = {0}; +static const unsigned char kat3218_retbits[] = { + 0xb9, 0xea, 0x99, 0x09, 0xd0, 0x00, 0x64, 0xea, 0xab, 0x8d, 0x0e, 0x28, + 0x8a, 0xdd, 0xd2, 0xcb, 0x0c, 0xf4, 0x43, 0x6d, 0xf6, 0xf5, 0x32, 0x86, + 0x12, 0xdb, 0xc9, 0xb8, 0x8e, 0x02, 0xb7, 0x33, 0xad, 0xe1, 0x33, 0xbb, + 0xc5, 0xe1, 0xd2, 0x43, 0x72, 0x7e, 0x98, 0x5a, 0x1d, 0xcc, 0x79, 0xb3, + 0x4a, 0x1d, 0x9e, 0x8d, 0x1d, 0x98, 0x30, 0xe3, 0xe0, 0x3f, 0x2b, 0x34, + 0x74, 0x26, 0xe2, 0xc7, +}; +static const struct drbg_kat_pr_true kat3218_t = { + 7, kat3218_entropyin, kat3218_nonce, kat3218_persstr, + kat3218_entropyinpr1, kat3218_addinpr1, kat3218_entropyinpr2, + kat3218_addinpr2, kat3218_retbits +}; +static const struct drbg_kat kat3218 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3218_t +}; + +static const unsigned char kat3219_entropyin[] = { + 0x83, 0x23, 0xd6, 0xfb, 0x62, 0xdc, 0x4d, 0x33, 0x31, 0xf5, 0xf7, 0x74, + 0x8f, 0xa9, 0x91, 0x87, 0xed, 0x01, 0xf5, 0x8f, 0x4f, 0xdc, 0x68, 0xf3, +}; +static const unsigned char kat3219_nonce[] = { + 0x0e, 0xe1, 0xa6, 0x23, 0x2b, 0xf4, 0xce, 0x10, 0x34, 0xf6, 0xfc, 0xea, + 0x07, 0xb5, 0x29, 0x79, +}; +static const unsigned char kat3219_persstr[] = { + 0xa5, 0xc5, 0x53, 0xdb, 0x9f, 0xca, 0xa8, 0xb1, 0xdf, 0x7f, 0xfb, 0x01, + 0x9e, 0xab, 0x1b, 0xb9, 0x80, 0x90, 0xb1, 0xfa, 0x95, 0x74, 0x32, 0x08, + 0x32, 0x65, 0x15, 0x7a, 0x57, 0x0a, 0xd6, 0x7e, +}; +static const unsigned char kat3219_entropyinpr1[] = { + 0x06, 0x04, 0xf0, 0xeb, 0x6a, 0x2a, 0x75, 0x13, 0x55, 0x96, 0xce, 0x5a, + 0x2a, 0xf3, 0xd7, 0x71, 0xe1, 0x6d, 0xc0, 0x2a, 0x07, 0xa9, 0x0b, 0xf7, +}; +static const unsigned char kat3219_addinpr1[] = {0}; +static const unsigned char kat3219_entropyinpr2[] = { + 0x45, 0xaa, 0x65, 0x61, 0x29, 0xef, 0xb8, 0x3f, 0xcb, 0x1f, 0x9f, 0x01, + 0x8d, 0x3d, 0x6c, 0x12, 0x24, 0x86, 0x06, 0xba, 0xc2, 0xe5, 0xe1, 0x4b, +}; +static const unsigned char kat3219_addinpr2[] = {0}; +static const unsigned char kat3219_retbits[] = { + 0x40, 0x04, 0x00, 0x9a, 0x4f, 0xb2, 0x61, 0x4c, 0xc1, 0x97, 0xb3, 0xd0, + 0x52, 0xe6, 0x80, 0x79, 0xd4, 0x58, 0x38, 0x04, 0xb2, 0xbf, 0x03, 0x74, + 0x7e, 0x40, 0xee, 0x7f, 0x52, 0xab, 0xe2, 0x2c, 0x58, 0xc3, 0x05, 0x9a, + 0xac, 0xf1, 0xb1, 0x83, 0x8c, 0x8b, 0x3f, 0xfc, 0x4f, 0xdf, 0x47, 0xa1, + 0x94, 0xd7, 0x83, 0x6b, 0x81, 0x83, 0x6f, 0xcf, 0x1c, 0x7d, 0xe5, 0x65, + 0x26, 0x57, 0x57, 0x86, +}; +static const struct drbg_kat_pr_true kat3219_t = { + 8, kat3219_entropyin, kat3219_nonce, kat3219_persstr, + kat3219_entropyinpr1, kat3219_addinpr1, kat3219_entropyinpr2, + kat3219_addinpr2, kat3219_retbits +}; +static const struct drbg_kat kat3219 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3219_t +}; + +static const unsigned char kat3220_entropyin[] = { + 0x51, 0x49, 0x60, 0x9e, 0x75, 0x3f, 0x20, 0x74, 0x9f, 0xd0, 0x0b, 0x4b, + 0xcb, 0xce, 0x92, 0x61, 0xe5, 0x74, 0x6c, 0xfd, 0xf6, 0xe2, 0x37, 0xea, +}; +static const unsigned char kat3220_nonce[] = { + 0xf8, 0xa7, 0x7e, 0x34, 0xd7, 0x7e, 0x0a, 0x9c, 0x4c, 0xb1, 0xc5, 0x0c, + 0x5f, 0x8b, 0x61, 0xb2, +}; +static const unsigned char kat3220_persstr[] = { + 0x18, 0xeb, 0xa2, 0xee, 0xc8, 0x1a, 0xc9, 0xfc, 0x8e, 0x88, 0xce, 0x8f, + 0xed, 0xf2, 0x22, 0xaa, 0x4e, 0x37, 0x43, 0xf2, 0x7f, 0x9c, 0xbe, 0x5d, + 0x9e, 0x55, 0xd1, 0x63, 0x84, 0x3b, 0xd4, 0x61, +}; +static const unsigned char kat3220_entropyinpr1[] = { + 0xbc, 0x4a, 0x35, 0x39, 0xa4, 0x6c, 0xa3, 0xd7, 0x4a, 0xf1, 0x8a, 0xe0, + 0x7f, 0xf0, 0xe1, 0x4a, 0x4d, 0x35, 0x3f, 0xd2, 0xb3, 0x33, 0x44, 0xe9, +}; +static const unsigned char kat3220_addinpr1[] = {0}; +static const unsigned char kat3220_entropyinpr2[] = { + 0xe8, 0xeb, 0x4c, 0x78, 0x85, 0x25, 0x2d, 0xea, 0xea, 0xf4, 0xb7, 0xb5, + 0x76, 0x5b, 0x02, 0xa9, 0x2a, 0x68, 0xf0, 0xbd, 0xac, 0x93, 0x53, 0xad, +}; +static const unsigned char kat3220_addinpr2[] = {0}; +static const unsigned char kat3220_retbits[] = { + 0x4b, 0x61, 0x0b, 0x6f, 0x96, 0xdc, 0x51, 0x7f, 0xd4, 0x38, 0x33, 0x2f, + 0x51, 0x33, 0xaa, 0xc9, 0x93, 0xdb, 0x66, 0x07, 0x8b, 0x6c, 0x55, 0xfb, + 0x8a, 0xa8, 0x78, 0x36, 0xdc, 0x2c, 0x69, 0xd8, 0x7b, 0xdf, 0x8b, 0x47, + 0xba, 0xc5, 0x06, 0x02, 0x68, 0x00, 0xde, 0x19, 0xea, 0x57, 0x32, 0xb2, + 0xf2, 0x22, 0xfc, 0x2b, 0xcf, 0x37, 0xd6, 0xc2, 0x05, 0x49, 0x79, 0xa7, + 0x80, 0x04, 0x68, 0x97, +}; +static const struct drbg_kat_pr_true kat3220_t = { + 9, kat3220_entropyin, kat3220_nonce, kat3220_persstr, + kat3220_entropyinpr1, kat3220_addinpr1, kat3220_entropyinpr2, + kat3220_addinpr2, kat3220_retbits +}; +static const struct drbg_kat kat3220 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3220_t +}; + +static const unsigned char kat3221_entropyin[] = { + 0x39, 0x70, 0x01, 0x40, 0x53, 0x78, 0x2e, 0x60, 0x80, 0xfb, 0x67, 0xd8, + 0xd3, 0x39, 0xef, 0x59, 0x0c, 0x49, 0x8d, 0x9d, 0x18, 0x2f, 0x76, 0x50, +}; +static const unsigned char kat3221_nonce[] = { + 0xd9, 0x66, 0xa0, 0xa6, 0x90, 0x1e, 0x25, 0x07, 0x84, 0x40, 0x92, 0x09, + 0x73, 0xa5, 0xde, 0xd2, +}; +static const unsigned char kat3221_persstr[] = { + 0xcd, 0x2b, 0x40, 0x74, 0x90, 0x56, 0x84, 0x27, 0x51, 0xa0, 0xde, 0x7d, + 0xd0, 0xd0, 0x9c, 0xab, 0xd3, 0x21, 0x16, 0xd9, 0xbf, 0x3b, 0xd0, 0x4c, + 0x62, 0x02, 0x2a, 0x38, 0xdd, 0x47, 0x8b, 0x25, +}; +static const unsigned char kat3221_entropyinpr1[] = { + 0x6d, 0x79, 0xce, 0xf4, 0xad, 0x7b, 0x01, 0xff, 0x82, 0xf1, 0x86, 0xc9, + 0xe1, 0x7e, 0x37, 0x04, 0x55, 0xf1, 0x11, 0xc5, 0x3e, 0x67, 0xfe, 0x0e, +}; +static const unsigned char kat3221_addinpr1[] = {0}; +static const unsigned char kat3221_entropyinpr2[] = { + 0xbe, 0xa3, 0x0f, 0x21, 0x32, 0x98, 0x7e, 0xa6, 0xbb, 0x0c, 0x69, 0xd6, + 0xb4, 0xba, 0x67, 0xf1, 0x3a, 0xcb, 0xc6, 0xac, 0x7f, 0xb6, 0x4d, 0x46, +}; +static const unsigned char kat3221_addinpr2[] = {0}; +static const unsigned char kat3221_retbits[] = { + 0x64, 0x57, 0x25, 0x39, 0x7e, 0xbb, 0x9b, 0x18, 0x48, 0xcd, 0x89, 0xee, + 0x6f, 0x98, 0x59, 0x5d, 0x0a, 0x01, 0x90, 0xc3, 0x17, 0x6e, 0x15, 0xf9, + 0x14, 0x0f, 0xf3, 0x0c, 0xa5, 0x8e, 0xe4, 0xa7, 0x84, 0x89, 0xc1, 0x48, + 0x0a, 0x00, 0xce, 0xbf, 0x06, 0xc4, 0x03, 0xcc, 0x9e, 0xd8, 0x0f, 0x40, + 0x31, 0xf1, 0x6c, 0xf8, 0x79, 0xa1, 0x8f, 0x6c, 0x48, 0xb6, 0x39, 0xa8, + 0xfc, 0x7a, 0xc9, 0x06, +}; +static const struct drbg_kat_pr_true kat3221_t = { + 10, kat3221_entropyin, kat3221_nonce, kat3221_persstr, + kat3221_entropyinpr1, kat3221_addinpr1, kat3221_entropyinpr2, + kat3221_addinpr2, kat3221_retbits +}; +static const struct drbg_kat kat3221 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3221_t +}; + +static const unsigned char kat3222_entropyin[] = { + 0xc5, 0x8c, 0xef, 0xfd, 0xd2, 0xb4, 0x75, 0x14, 0x2f, 0x03, 0x4f, 0x8d, + 0x26, 0x65, 0xdb, 0xf0, 0xf4, 0xcd, 0x62, 0x13, 0x63, 0xa0, 0x14, 0x91, +}; +static const unsigned char kat3222_nonce[] = { + 0x37, 0xc9, 0xc2, 0x4b, 0x7b, 0xf0, 0x45, 0x9f, 0x06, 0x3e, 0xfb, 0xe1, + 0x3b, 0xd5, 0xe6, 0x6d, +}; +static const unsigned char kat3222_persstr[] = { + 0xe5, 0x14, 0xfa, 0xed, 0x1c, 0x02, 0x79, 0x17, 0xf5, 0xb8, 0x35, 0xc9, + 0xa8, 0xe7, 0x9c, 0x56, 0xdf, 0xba, 0x3f, 0x06, 0x02, 0x74, 0x36, 0x42, + 0x92, 0xc3, 0x03, 0x46, 0xeb, 0xe9, 0x96, 0xf1, +}; +static const unsigned char kat3222_entropyinpr1[] = { + 0xbe, 0xaa, 0x01, 0x19, 0xcb, 0xbc, 0xde, 0xc5, 0xe7, 0x42, 0x83, 0x4c, + 0x4f, 0x91, 0x56, 0xf7, 0x8b, 0xee, 0x59, 0x93, 0x65, 0x7c, 0xe1, 0x42, +}; +static const unsigned char kat3222_addinpr1[] = {0}; +static const unsigned char kat3222_entropyinpr2[] = { + 0x04, 0xde, 0xfb, 0x3e, 0x85, 0xd0, 0x88, 0xcf, 0xf4, 0x9f, 0x48, 0xac, + 0x03, 0xab, 0xcd, 0xd5, 0x89, 0xc7, 0x9f, 0x0f, 0x4f, 0xe3, 0xcd, 0x21, +}; +static const unsigned char kat3222_addinpr2[] = {0}; +static const unsigned char kat3222_retbits[] = { + 0x25, 0x9a, 0x0c, 0x13, 0xa7, 0x53, 0xec, 0x22, 0xf2, 0x4a, 0xbf, 0xd1, + 0x1d, 0xad, 0x6c, 0xc2, 0xee, 0xef, 0x0e, 0xb7, 0x05, 0x28, 0xe5, 0xec, + 0xd5, 0x23, 0x1d, 0xd4, 0x8d, 0x5f, 0x5b, 0x2a, 0xc3, 0x06, 0x35, 0xa6, + 0x02, 0xdf, 0xb5, 0xc2, 0x5f, 0x47, 0xa4, 0x6f, 0x51, 0xa9, 0x5c, 0xa4, + 0xfa, 0x56, 0xc7, 0xc5, 0x2e, 0xb1, 0x51, 0x9d, 0x24, 0x5d, 0x6a, 0xa1, + 0x9f, 0x34, 0x26, 0x5f, +}; +static const struct drbg_kat_pr_true kat3222_t = { + 11, kat3222_entropyin, kat3222_nonce, kat3222_persstr, + kat3222_entropyinpr1, kat3222_addinpr1, kat3222_entropyinpr2, + kat3222_addinpr2, kat3222_retbits +}; +static const struct drbg_kat kat3222 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3222_t +}; + +static const unsigned char kat3223_entropyin[] = { + 0xf5, 0x20, 0x60, 0x18, 0x63, 0xa0, 0xd6, 0xd9, 0x69, 0x84, 0x6b, 0xed, + 0xe9, 0x2f, 0xa2, 0x96, 0x2c, 0xce, 0x5a, 0xff, 0x9f, 0xc5, 0x13, 0x73, +}; +static const unsigned char kat3223_nonce[] = { + 0x10, 0xac, 0xf0, 0x84, 0xe4, 0x63, 0xdb, 0xa0, 0xfd, 0xf9, 0xf5, 0x3e, + 0xe6, 0xe5, 0x13, 0xff, +}; +static const unsigned char kat3223_persstr[] = { + 0xb4, 0x4b, 0xa9, 0xb0, 0xad, 0x62, 0x21, 0xeb, 0x37, 0xf6, 0xc0, 0xa0, + 0xca, 0xdd, 0xd4, 0x6d, 0xa7, 0x7c, 0xc6, 0x1b, 0xbc, 0x06, 0xed, 0x40, + 0x83, 0xe6, 0xb2, 0xd8, 0xad, 0x53, 0x14, 0x62, +}; +static const unsigned char kat3223_entropyinpr1[] = { + 0x40, 0x54, 0x81, 0x29, 0xd4, 0x61, 0xff, 0x0f, 0x04, 0xe8, 0x3b, 0x5b, + 0x7a, 0xe7, 0x9e, 0x00, 0x32, 0x9e, 0x16, 0x46, 0xe7, 0x47, 0x6c, 0xd4, +}; +static const unsigned char kat3223_addinpr1[] = {0}; +static const unsigned char kat3223_entropyinpr2[] = { + 0x9a, 0xfe, 0xb6, 0x7a, 0xc7, 0x6e, 0x1e, 0x21, 0x25, 0xbf, 0x7b, 0xd1, + 0xcb, 0x3a, 0x20, 0x07, 0xc7, 0xbb, 0xc9, 0x92, 0xcb, 0xe4, 0x95, 0x63, +}; +static const unsigned char kat3223_addinpr2[] = {0}; +static const unsigned char kat3223_retbits[] = { + 0xed, 0x03, 0xe8, 0x86, 0x1d, 0xfa, 0x64, 0xc4, 0xc0, 0x5d, 0x05, 0x5a, + 0xd6, 0x4d, 0xea, 0x42, 0x5a, 0x72, 0xaa, 0xc6, 0xfd, 0xf5, 0x25, 0x4b, + 0x09, 0x55, 0x1b, 0x07, 0xce, 0x29, 0x4c, 0x63, 0xa8, 0x2b, 0xcd, 0xf2, + 0x26, 0xd8, 0x67, 0x6e, 0x95, 0x23, 0x98, 0x86, 0x35, 0x6f, 0x67, 0x6d, + 0xe5, 0x39, 0xce, 0x67, 0xc9, 0x74, 0x2c, 0x34, 0x0f, 0x57, 0xf9, 0x39, + 0xec, 0xf8, 0x58, 0xb5, +}; +static const struct drbg_kat_pr_true kat3223_t = { + 12, kat3223_entropyin, kat3223_nonce, kat3223_persstr, + kat3223_entropyinpr1, kat3223_addinpr1, kat3223_entropyinpr2, + kat3223_addinpr2, kat3223_retbits +}; +static const struct drbg_kat kat3223 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3223_t +}; + +static const unsigned char kat3224_entropyin[] = { + 0xdc, 0x83, 0x1d, 0xc0, 0x8a, 0x45, 0x94, 0x81, 0xa0, 0xb3, 0x03, 0x25, + 0xd8, 0x28, 0xe6, 0x13, 0x48, 0x40, 0xd8, 0x41, 0xa6, 0xcc, 0xb2, 0x20, +}; +static const unsigned char kat3224_nonce[] = { + 0x21, 0xc7, 0x1e, 0xf3, 0x62, 0x00, 0x2d, 0x2c, 0xc6, 0xfe, 0x58, 0x63, + 0x4c, 0x8c, 0xff, 0x95, +}; +static const unsigned char kat3224_persstr[] = { + 0x15, 0x73, 0x81, 0x63, 0x28, 0xc9, 0xe1, 0x87, 0x7b, 0x50, 0x5c, 0x65, + 0x9e, 0xc6, 0xa1, 0xc1, 0x80, 0x39, 0x8b, 0x5f, 0xf0, 0x05, 0x13, 0xfd, + 0x2c, 0x20, 0x54, 0x5b, 0xda, 0x0a, 0x14, 0xec, +}; +static const unsigned char kat3224_entropyinpr1[] = { + 0xda, 0x82, 0x58, 0x15, 0x78, 0x21, 0xbb, 0x87, 0x11, 0xcc, 0x10, 0x3c, + 0x48, 0xf2, 0x4b, 0xe5, 0x3f, 0xff, 0xd2, 0xf2, 0xf2, 0xbe, 0x9f, 0x3b, +}; +static const unsigned char kat3224_addinpr1[] = {0}; +static const unsigned char kat3224_entropyinpr2[] = { + 0x29, 0xe7, 0x17, 0x27, 0xc5, 0xb1, 0x30, 0xb9, 0xbf, 0xbb, 0x92, 0x9d, + 0xe8, 0x90, 0x6a, 0xfb, 0x77, 0x57, 0x25, 0xc7, 0xb1, 0xac, 0xc6, 0x96, +}; +static const unsigned char kat3224_addinpr2[] = {0}; +static const unsigned char kat3224_retbits[] = { + 0xbc, 0x56, 0xa9, 0x7f, 0x70, 0x64, 0x70, 0x5e, 0x23, 0xcc, 0x3e, 0x02, + 0x6c, 0x3f, 0x60, 0xa2, 0xc4, 0x68, 0xd4, 0x7d, 0x3d, 0x7c, 0x1f, 0x74, + 0x7a, 0x1a, 0x3f, 0x77, 0x2d, 0xf9, 0x9b, 0xfc, 0x2a, 0x2c, 0xad, 0x74, + 0x37, 0xdf, 0x01, 0x53, 0xa8, 0x9c, 0x05, 0xdf, 0xb2, 0x18, 0xbc, 0xb7, + 0x40, 0x3d, 0x92, 0x1f, 0xc3, 0x42, 0xe6, 0xc8, 0x58, 0xa7, 0xb7, 0x83, + 0x90, 0x56, 0x0d, 0x65, +}; +static const struct drbg_kat_pr_true kat3224_t = { + 13, kat3224_entropyin, kat3224_nonce, kat3224_persstr, + kat3224_entropyinpr1, kat3224_addinpr1, kat3224_entropyinpr2, + kat3224_addinpr2, kat3224_retbits +}; +static const struct drbg_kat kat3224 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3224_t +}; + +static const unsigned char kat3225_entropyin[] = { + 0xca, 0xea, 0xbd, 0x72, 0x0d, 0x43, 0x1b, 0x86, 0x3a, 0x95, 0x20, 0x92, + 0x62, 0x4e, 0x28, 0xeb, 0x5c, 0x5d, 0xc4, 0x15, 0x06, 0xd6, 0x30, 0xda, +}; +static const unsigned char kat3225_nonce[] = { + 0x81, 0x05, 0x94, 0xc9, 0xcf, 0x55, 0x58, 0x7c, 0x09, 0x0f, 0xd7, 0x2d, + 0x4e, 0x77, 0x65, 0x97, +}; +static const unsigned char kat3225_persstr[] = { + 0x02, 0x28, 0x9c, 0x34, 0xc2, 0xe6, 0xee, 0xf1, 0x56, 0xa4, 0xd9, 0xc2, + 0x22, 0x54, 0x15, 0x19, 0x11, 0x59, 0xfa, 0xe5, 0xf1, 0x67, 0xdd, 0xb4, + 0xce, 0xf7, 0x2e, 0xa4, 0xd0, 0xa5, 0x65, 0x96, +}; +static const unsigned char kat3225_entropyinpr1[] = { + 0x50, 0xfb, 0x17, 0x9c, 0x0a, 0x00, 0x58, 0x04, 0x60, 0xe8, 0x2b, 0xa7, + 0x61, 0x8e, 0xbc, 0x1e, 0xbd, 0xdd, 0xfd, 0x22, 0x2e, 0x08, 0x5b, 0x8f, +}; +static const unsigned char kat3225_addinpr1[] = {0}; +static const unsigned char kat3225_entropyinpr2[] = { + 0x57, 0xce, 0x45, 0xb5, 0xee, 0x35, 0xec, 0x9d, 0x35, 0x0c, 0xde, 0xfb, + 0xb5, 0x27, 0x4d, 0xd7, 0x45, 0x3a, 0x74, 0x07, 0x8b, 0x02, 0xf0, 0x10, +}; +static const unsigned char kat3225_addinpr2[] = {0}; +static const unsigned char kat3225_retbits[] = { + 0x41, 0xcf, 0x2e, 0x27, 0x68, 0xd7, 0x9b, 0xbf, 0x16, 0x69, 0x3b, 0x2a, + 0xe6, 0xf3, 0x21, 0x3f, 0x6e, 0x45, 0xf0, 0xc3, 0x17, 0xa4, 0x1d, 0x5b, + 0xea, 0x78, 0xeb, 0x21, 0xde, 0xde, 0x2f, 0x3b, 0x5a, 0x4a, 0x99, 0x7d, + 0x1d, 0x89, 0x57, 0x88, 0x29, 0xe9, 0x84, 0x57, 0x38, 0x61, 0x41, 0xe3, + 0x78, 0x8b, 0xcf, 0xe7, 0x8a, 0x79, 0x77, 0x21, 0xdf, 0x5e, 0x2d, 0x35, + 0x67, 0xaf, 0x48, 0x94, +}; +static const struct drbg_kat_pr_true kat3225_t = { + 14, kat3225_entropyin, kat3225_nonce, kat3225_persstr, + kat3225_entropyinpr1, kat3225_addinpr1, kat3225_entropyinpr2, + kat3225_addinpr2, kat3225_retbits +}; +static const struct drbg_kat kat3225 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3225_t +}; + +static const unsigned char kat3226_entropyin[] = { + 0x43, 0xcb, 0x1e, 0xc2, 0x25, 0xc4, 0x8d, 0xfd, 0xd8, 0xc1, 0x78, 0x94, + 0xa8, 0x28, 0xda, 0x0a, 0x27, 0xe1, 0xc1, 0x8a, 0x51, 0x1f, 0x0c, 0xb5, +}; +static const unsigned char kat3226_nonce[] = { + 0xca, 0xb1, 0xf0, 0xe4, 0x0b, 0x2b, 0xf2, 0x32, 0x6b, 0xbe, 0x6a, 0x3f, + 0xf3, 0x44, 0x68, 0x66, +}; +static const unsigned char kat3226_persstr[] = { + 0x56, 0xec, 0x59, 0xe7, 0xbd, 0x36, 0x37, 0x2e, 0xdf, 0x0e, 0x49, 0x2c, + 0x2f, 0x6d, 0x88, 0xb8, 0xc9, 0x6a, 0x40, 0xe2, 0x55, 0x50, 0xb4, 0xab, + 0xc4, 0xa4, 0x5e, 0xe1, 0x16, 0x3d, 0xe0, 0xf0, +}; +static const unsigned char kat3226_entropyinpr1[] = { + 0xf5, 0x26, 0x87, 0xcd, 0xcc, 0xd9, 0xe5, 0x09, 0xa7, 0x61, 0x4f, 0xd2, + 0x88, 0x3d, 0x99, 0x61, 0xe5, 0xc8, 0xf9, 0x49, 0x5b, 0xb6, 0x6f, 0x68, +}; +static const unsigned char kat3226_addinpr1[] = { + 0x3f, 0x1a, 0xea, 0x69, 0xe6, 0x66, 0xc5, 0xc5, 0x2d, 0x36, 0xf6, 0x40, + 0x9f, 0x31, 0x29, 0xee, 0xcb, 0x0a, 0x97, 0x9d, 0xba, 0x48, 0xca, 0xa5, + 0x2c, 0x87, 0x76, 0x4d, 0xac, 0x63, 0x7f, 0x6e, +}; +static const unsigned char kat3226_entropyinpr2[] = { + 0x5d, 0x86, 0x7f, 0xf7, 0x7d, 0x0f, 0x59, 0x00, 0x58, 0x73, 0xf0, 0x37, + 0x00, 0x04, 0xd4, 0xf8, 0xe7, 0x81, 0x98, 0xba, 0x68, 0x3c, 0x2b, 0xe3, +}; +static const unsigned char kat3226_addinpr2[] = { + 0xbb, 0x0b, 0xc7, 0xdc, 0xb9, 0x81, 0xeb, 0x52, 0x16, 0x4f, 0xde, 0xb0, + 0x7c, 0xa5, 0xf9, 0xdc, 0x7b, 0x78, 0x90, 0x01, 0x73, 0x1f, 0xd9, 0x48, + 0x34, 0xe2, 0x86, 0x27, 0x54, 0x66, 0x32, 0x10, +}; +static const unsigned char kat3226_retbits[] = { + 0x19, 0xc9, 0x1f, 0x55, 0x5d, 0x76, 0x83, 0xf8, 0x44, 0xd5, 0x7f, 0x9d, + 0xac, 0xfe, 0x1a, 0x72, 0xe1, 0xe0, 0x61, 0x67, 0x35, 0xae, 0x56, 0x9f, + 0x37, 0x0e, 0xf1, 0xe7, 0x70, 0xe1, 0xa6, 0x3b, 0x9d, 0x8e, 0x10, 0x46, + 0x1a, 0xcd, 0xcd, 0xe8, 0x5e, 0xf0, 0x3b, 0x1e, 0xf7, 0x40, 0x24, 0xc1, + 0x75, 0xb2, 0xa7, 0x15, 0x0d, 0xed, 0x03, 0xa1, 0xe3, 0x08, 0x2c, 0xd4, + 0x6a, 0x49, 0x90, 0x93, +}; +static const struct drbg_kat_pr_true kat3226_t = { + 0, kat3226_entropyin, kat3226_nonce, kat3226_persstr, + kat3226_entropyinpr1, kat3226_addinpr1, kat3226_entropyinpr2, + kat3226_addinpr2, kat3226_retbits +}; +static const struct drbg_kat kat3226 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3226_t +}; + +static const unsigned char kat3227_entropyin[] = { + 0x90, 0xc2, 0x13, 0x64, 0xed, 0xe7, 0x9f, 0x1a, 0xfd, 0xba, 0xa5, 0x32, + 0x18, 0x6f, 0x9d, 0xdf, 0xd6, 0x3d, 0xf3, 0xf3, 0x2f, 0x54, 0x08, 0xa5, +}; +static const unsigned char kat3227_nonce[] = { + 0x33, 0xde, 0xa3, 0xaa, 0x07, 0x18, 0x70, 0x26, 0xa0, 0x3e, 0x5a, 0x29, + 0x2f, 0x02, 0x06, 0xd7, +}; +static const unsigned char kat3227_persstr[] = { + 0x9f, 0x5a, 0xcd, 0xaa, 0x96, 0xb9, 0x81, 0xd3, 0x63, 0x35, 0xa3, 0xc1, + 0x68, 0xda, 0x06, 0xd2, 0xf4, 0x69, 0x50, 0x47, 0x16, 0x6d, 0x2d, 0x8f, + 0x92, 0xf7, 0xb2, 0x9f, 0xe9, 0x17, 0x55, 0x71, +}; +static const unsigned char kat3227_entropyinpr1[] = { + 0xa6, 0xe3, 0x4e, 0x04, 0x5e, 0xe2, 0x58, 0x5b, 0xb7, 0x3b, 0x1f, 0x64, + 0x91, 0xe5, 0x44, 0x94, 0x14, 0x58, 0x57, 0xcf, 0xfa, 0x67, 0xbd, 0x12, +}; +static const unsigned char kat3227_addinpr1[] = { + 0xbb, 0x84, 0x7b, 0x9a, 0xb8, 0x99, 0x76, 0x92, 0x61, 0x90, 0x83, 0xa4, + 0xc3, 0x74, 0xc8, 0xc6, 0x8a, 0x40, 0x35, 0xb4, 0x5f, 0x9f, 0x07, 0x28, + 0xbc, 0xec, 0xcb, 0x07, 0x23, 0xb0, 0xb3, 0xaf, +}; +static const unsigned char kat3227_entropyinpr2[] = { + 0xcc, 0x7e, 0x98, 0x33, 0x97, 0x72, 0x22, 0xa5, 0x03, 0xde, 0xc2, 0x89, + 0xa7, 0xb8, 0xcd, 0xe7, 0xb4, 0x1a, 0x62, 0x7b, 0xec, 0x01, 0xab, 0xb3, +}; +static const unsigned char kat3227_addinpr2[] = { + 0xac, 0xdf, 0x0c, 0x91, 0x7a, 0x43, 0x92, 0x97, 0x29, 0x85, 0xbb, 0x68, + 0x74, 0xf7, 0x1e, 0x5d, 0xa5, 0xfe, 0x78, 0x26, 0xf1, 0xe0, 0xd2, 0x8d, + 0x56, 0x12, 0xfb, 0xfa, 0x05, 0xa9, 0xc5, 0xc0, +}; +static const unsigned char kat3227_retbits[] = { + 0x5f, 0x22, 0x6c, 0xf7, 0x5f, 0xe0, 0x5b, 0x27, 0x6d, 0xcb, 0xb3, 0x0a, + 0x6e, 0x33, 0x0f, 0x2c, 0x58, 0x3a, 0x9a, 0xa4, 0xc1, 0x97, 0x9d, 0x9c, + 0xeb, 0xca, 0x2c, 0xf3, 0x6d, 0x6b, 0x95, 0x9f, 0x10, 0xf0, 0x38, 0xf9, + 0xa0, 0x1e, 0xfc, 0xcf, 0xff, 0x0b, 0xa6, 0x11, 0xd0, 0x41, 0x81, 0xfd, + 0x4c, 0xdb, 0xeb, 0x3a, 0x7e, 0x62, 0x43, 0x4a, 0x4a, 0x13, 0x1d, 0xc9, + 0xe7, 0x94, 0x6c, 0x26, +}; +static const struct drbg_kat_pr_true kat3227_t = { + 1, kat3227_entropyin, kat3227_nonce, kat3227_persstr, + kat3227_entropyinpr1, kat3227_addinpr1, kat3227_entropyinpr2, + kat3227_addinpr2, kat3227_retbits +}; +static const struct drbg_kat kat3227 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3227_t +}; + +static const unsigned char kat3228_entropyin[] = { + 0x98, 0x5d, 0x12, 0xe6, 0xe4, 0xe2, 0xc8, 0xc6, 0xe0, 0x1e, 0xdc, 0xfa, + 0xca, 0x43, 0x92, 0xc4, 0xb1, 0x0f, 0xd3, 0x32, 0x44, 0x15, 0xac, 0x07, +}; +static const unsigned char kat3228_nonce[] = { + 0x3f, 0x8f, 0x6c, 0xc3, 0x87, 0x53, 0xde, 0x1e, 0xfe, 0x4a, 0x98, 0x5c, + 0xfa, 0xc8, 0xb6, 0x68, +}; +static const unsigned char kat3228_persstr[] = { + 0x4d, 0x33, 0x3e, 0xe0, 0xa5, 0x84, 0xa8, 0x14, 0xcf, 0x84, 0x6c, 0x35, + 0xba, 0x7c, 0x93, 0x0d, 0xe6, 0x93, 0x78, 0xae, 0x47, 0x95, 0x5e, 0x03, + 0x9e, 0xab, 0x17, 0x9b, 0x5b, 0x5e, 0xe2, 0xdb, +}; +static const unsigned char kat3228_entropyinpr1[] = { + 0x7f, 0x97, 0x9d, 0xcb, 0xf2, 0xf7, 0xa4, 0x03, 0x45, 0xc3, 0xe4, 0x2e, + 0x1f, 0x4f, 0x44, 0xa8, 0xa9, 0x1f, 0x29, 0x70, 0x6d, 0x55, 0x32, 0xcf, +}; +static const unsigned char kat3228_addinpr1[] = { + 0x68, 0xc2, 0xc1, 0xe9, 0x8c, 0x5a, 0x1e, 0x57, 0x4b, 0x70, 0x14, 0x31, + 0x6d, 0xaa, 0xcb, 0xf8, 0xc3, 0x63, 0x30, 0x27, 0x04, 0xe8, 0xa2, 0xfb, + 0x8b, 0xd1, 0x0f, 0x4b, 0xe2, 0x14, 0x6e, 0x9d, +}; +static const unsigned char kat3228_entropyinpr2[] = { + 0x93, 0x5d, 0x0d, 0xb1, 0x55, 0x59, 0x77, 0x27, 0x86, 0xd2, 0x49, 0x4e, + 0xa0, 0x21, 0x17, 0x60, 0xcf, 0xf5, 0x0d, 0x21, 0xc3, 0x0e, 0x28, 0x00, +}; +static const unsigned char kat3228_addinpr2[] = { + 0xd0, 0x6e, 0x09, 0xca, 0xe6, 0xbb, 0xce, 0x86, 0x17, 0xf5, 0xf4, 0x92, + 0xa3, 0x1c, 0x8b, 0xef, 0xcd, 0x69, 0x89, 0xf1, 0xca, 0x7d, 0x9c, 0xa1, + 0x43, 0xf5, 0x76, 0x33, 0x6d, 0x0c, 0x2a, 0x3a, +}; +static const unsigned char kat3228_retbits[] = { + 0x94, 0x7f, 0x8b, 0x76, 0x16, 0x68, 0x63, 0xaf, 0x59, 0xaa, 0x5f, 0xfa, + 0x49, 0x59, 0xc3, 0x9e, 0x00, 0x3a, 0xcb, 0xc6, 0x54, 0x38, 0x7d, 0x73, + 0x92, 0x39, 0x76, 0x22, 0xbb, 0x14, 0x59, 0x59, 0xd6, 0xec, 0x1b, 0x57, + 0xcf, 0xd6, 0x75, 0x49, 0x77, 0xc4, 0xed, 0xf9, 0xda, 0x08, 0xef, 0xa6, + 0x3a, 0x15, 0xf2, 0x8a, 0x74, 0x13, 0xea, 0x90, 0xf7, 0x48, 0x66, 0xa8, + 0x4d, 0x82, 0x75, 0xc1, +}; +static const struct drbg_kat_pr_true kat3228_t = { + 2, kat3228_entropyin, kat3228_nonce, kat3228_persstr, + kat3228_entropyinpr1, kat3228_addinpr1, kat3228_entropyinpr2, + kat3228_addinpr2, kat3228_retbits +}; +static const struct drbg_kat kat3228 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3228_t +}; + +static const unsigned char kat3229_entropyin[] = { + 0x0b, 0xfa, 0xe1, 0xf6, 0x87, 0x1c, 0x42, 0x44, 0x14, 0x77, 0xd5, 0x6b, + 0x12, 0x61, 0x47, 0x8c, 0x2b, 0x17, 0xc8, 0xdc, 0x02, 0xdf, 0x95, 0x67, +}; +static const unsigned char kat3229_nonce[] = { + 0x6e, 0x6a, 0x95, 0x20, 0x94, 0x45, 0x59, 0x62, 0x88, 0x68, 0xf7, 0xce, + 0x34, 0x55, 0x7c, 0xb1, +}; +static const unsigned char kat3229_persstr[] = { + 0x12, 0x49, 0x79, 0x65, 0x36, 0xb6, 0xcc, 0xe1, 0x81, 0x92, 0x83, 0x89, + 0x41, 0x60, 0x91, 0xf9, 0xff, 0x7a, 0xca, 0x40, 0xe3, 0xdc, 0xcd, 0x8b, + 0x22, 0x07, 0x46, 0x67, 0xcd, 0x8d, 0x45, 0xd1, +}; +static const unsigned char kat3229_entropyinpr1[] = { + 0xc6, 0xf9, 0x8d, 0x22, 0x6b, 0x64, 0x33, 0xc2, 0x13, 0x3b, 0xe5, 0xcb, + 0x3e, 0xd0, 0xdb, 0xe3, 0x6e, 0x44, 0xb3, 0x61, 0x2c, 0xbc, 0x99, 0x1c, +}; +static const unsigned char kat3229_addinpr1[] = { + 0xba, 0x27, 0xf8, 0x58, 0xef, 0x28, 0xea, 0x2e, 0x47, 0xe4, 0x32, 0xae, + 0xde, 0xf9, 0xb1, 0x4f, 0x6d, 0x74, 0xfc, 0x6c, 0xb2, 0x49, 0xf6, 0x07, + 0xe3, 0x49, 0xf4, 0xed, 0xa7, 0x1d, 0xc0, 0x70, +}; +static const unsigned char kat3229_entropyinpr2[] = { + 0xb1, 0x0d, 0xda, 0x8a, 0xb9, 0x3a, 0xe5, 0xca, 0x16, 0xea, 0x3c, 0x0f, + 0x14, 0x2f, 0x20, 0xca, 0xe5, 0xc9, 0x53, 0xcb, 0xea, 0x18, 0x03, 0x1f, +}; +static const unsigned char kat3229_addinpr2[] = { + 0x9f, 0x96, 0x7c, 0x24, 0x78, 0x0d, 0x84, 0x7c, 0x63, 0x32, 0x4d, 0xa6, + 0x44, 0x22, 0x78, 0x47, 0x13, 0x75, 0x20, 0x57, 0xcc, 0xb4, 0x87, 0x22, + 0xee, 0x98, 0xca, 0x4e, 0x67, 0x51, 0x03, 0xdb, +}; +static const unsigned char kat3229_retbits[] = { + 0x6b, 0x55, 0x9f, 0x2f, 0x03, 0x88, 0xa7, 0xd7, 0xff, 0x73, 0x28, 0x6a, + 0x02, 0xb6, 0xf5, 0x04, 0xe9, 0x14, 0x2d, 0xb7, 0xa1, 0xd5, 0xc3, 0xf9, + 0xb2, 0x1c, 0xde, 0x50, 0x8d, 0xa8, 0x38, 0xbd, 0xf6, 0x74, 0x2d, 0xb8, + 0x0d, 0x5b, 0x26, 0x47, 0xd1, 0xbd, 0x02, 0x4c, 0xa0, 0x16, 0x2e, 0x2d, + 0x65, 0x1a, 0xc3, 0x39, 0x26, 0x9f, 0xcc, 0x21, 0x91, 0x34, 0x72, 0x30, + 0x7d, 0xdd, 0x51, 0xb6, +}; +static const struct drbg_kat_pr_true kat3229_t = { + 3, kat3229_entropyin, kat3229_nonce, kat3229_persstr, + kat3229_entropyinpr1, kat3229_addinpr1, kat3229_entropyinpr2, + kat3229_addinpr2, kat3229_retbits +}; +static const struct drbg_kat kat3229 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3229_t +}; + +static const unsigned char kat3230_entropyin[] = { + 0x9d, 0x2a, 0x54, 0x0c, 0xa4, 0x4e, 0x2a, 0x55, 0xef, 0xc1, 0x22, 0x7e, + 0xb1, 0x29, 0x9a, 0x59, 0x70, 0x20, 0x80, 0xa8, 0xaa, 0x30, 0x26, 0xfa, +}; +static const unsigned char kat3230_nonce[] = { + 0x9d, 0xc9, 0xd3, 0x3f, 0xca, 0x9a, 0xca, 0x40, 0xdd, 0x21, 0xbb, 0x73, + 0xb2, 0x2f, 0x08, 0xef, +}; +static const unsigned char kat3230_persstr[] = { + 0x67, 0x9f, 0xcf, 0xc0, 0x4d, 0x21, 0x78, 0xff, 0xe6, 0x70, 0x4a, 0xe5, + 0x2f, 0x81, 0x53, 0xb7, 0x70, 0xf2, 0x40, 0x2e, 0xcb, 0x20, 0xcf, 0xc8, + 0x15, 0x56, 0x4d, 0xce, 0x8c, 0xb7, 0xad, 0x69, +}; +static const unsigned char kat3230_entropyinpr1[] = { + 0xf0, 0x51, 0x26, 0x31, 0xe8, 0xdf, 0xc8, 0x5e, 0x5b, 0x5a, 0x76, 0xde, + 0x8b, 0xb0, 0x8c, 0x5f, 0x50, 0x29, 0xb3, 0x1e, 0x2e, 0x37, 0xfe, 0x95, +}; +static const unsigned char kat3230_addinpr1[] = { + 0x97, 0x82, 0x5c, 0x8e, 0x79, 0xe4, 0x99, 0xd5, 0xdc, 0xcf, 0x58, 0x3d, + 0x61, 0x25, 0x2d, 0x36, 0xa4, 0x1d, 0xb6, 0xd0, 0x78, 0x4a, 0x50, 0x93, + 0xdb, 0xda, 0xc7, 0xf2, 0x4f, 0xa4, 0x3d, 0x84, +}; +static const unsigned char kat3230_entropyinpr2[] = { + 0xe4, 0xd9, 0xca, 0x10, 0xc4, 0x5d, 0xf6, 0x8d, 0x0e, 0x6c, 0x56, 0x14, + 0x09, 0xb3, 0x09, 0x62, 0xed, 0x7a, 0x8a, 0x9d, 0x1f, 0xf1, 0xf2, 0x17, +}; +static const unsigned char kat3230_addinpr2[] = { + 0x25, 0x53, 0x8a, 0x86, 0xe4, 0xaa, 0x41, 0x6f, 0x80, 0x6e, 0x57, 0x6b, + 0x1d, 0xef, 0x3c, 0x44, 0x7b, 0xa2, 0x46, 0xe7, 0x8e, 0x10, 0x82, 0xba, + 0xca, 0x50, 0x18, 0x6e, 0xf9, 0x06, 0x69, 0x44, +}; +static const unsigned char kat3230_retbits[] = { + 0x91, 0x00, 0x31, 0xab, 0x5b, 0x9c, 0x14, 0x60, 0x8b, 0x58, 0x7b, 0xc3, + 0x71, 0x42, 0x30, 0x55, 0x25, 0xf0, 0xd0, 0xb2, 0x9e, 0x2f, 0x3b, 0x4c, + 0x5f, 0x0a, 0x84, 0x3b, 0xf4, 0xfa, 0xa7, 0xe3, 0x2c, 0x72, 0x07, 0x25, + 0x47, 0x3b, 0x52, 0x67, 0xa1, 0x7c, 0xe7, 0xe3, 0xe1, 0x5b, 0x81, 0xd2, + 0x3b, 0x59, 0xb5, 0x6d, 0x87, 0xee, 0x5a, 0x42, 0x47, 0xd9, 0x76, 0xf3, + 0xc4, 0xae, 0xa1, 0x6a, +}; +static const struct drbg_kat_pr_true kat3230_t = { + 4, kat3230_entropyin, kat3230_nonce, kat3230_persstr, + kat3230_entropyinpr1, kat3230_addinpr1, kat3230_entropyinpr2, + kat3230_addinpr2, kat3230_retbits +}; +static const struct drbg_kat kat3230 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3230_t +}; + +static const unsigned char kat3231_entropyin[] = { + 0x80, 0x8c, 0xc3, 0x9a, 0x30, 0xa5, 0xca, 0xd3, 0xc2, 0x60, 0x01, 0x84, + 0x02, 0x01, 0xd1, 0x7c, 0x37, 0x45, 0x84, 0x15, 0x7b, 0xdc, 0xcc, 0x2d, +}; +static const unsigned char kat3231_nonce[] = { + 0x4a, 0x1d, 0x34, 0xba, 0x60, 0xfc, 0x1f, 0xbb, 0x7c, 0x16, 0x1e, 0xa0, + 0x5c, 0xe1, 0x8e, 0xe8, +}; +static const unsigned char kat3231_persstr[] = { + 0x7f, 0xe0, 0x77, 0x93, 0xab, 0xea, 0xa4, 0xd6, 0x1d, 0xa7, 0xa0, 0x44, + 0x6a, 0x6b, 0xc3, 0x56, 0x0f, 0x66, 0xf4, 0x43, 0x75, 0x81, 0x8b, 0x6f, + 0x20, 0x98, 0x79, 0x4a, 0xcc, 0xc6, 0x17, 0x14, +}; +static const unsigned char kat3231_entropyinpr1[] = { + 0xec, 0x7c, 0x99, 0xf7, 0x38, 0xfc, 0x85, 0x09, 0x53, 0x1e, 0xbb, 0x54, + 0x67, 0x43, 0xf2, 0x19, 0x9a, 0x5f, 0x81, 0xa8, 0x2c, 0xeb, 0x60, 0xcc, +}; +static const unsigned char kat3231_addinpr1[] = { + 0x57, 0x20, 0xc0, 0xc1, 0x86, 0x02, 0x73, 0x4d, 0x9d, 0xe7, 0xf1, 0x55, + 0xad, 0xcd, 0x58, 0xd6, 0x1d, 0x73, 0xb1, 0xfc, 0x30, 0x01, 0xfa, 0x81, + 0xc2, 0xcd, 0x05, 0xd4, 0x1f, 0xf3, 0xd4, 0xc8, +}; +static const unsigned char kat3231_entropyinpr2[] = { + 0xba, 0xf9, 0x3d, 0x5f, 0x49, 0x92, 0xdc, 0x91, 0x26, 0xd9, 0x4d, 0xe2, + 0xd7, 0xc3, 0xcd, 0x73, 0x7b, 0xa8, 0x5c, 0xe5, 0x25, 0x46, 0x89, 0x75, +}; +static const unsigned char kat3231_addinpr2[] = { + 0x93, 0x89, 0x47, 0xac, 0xa0, 0xf9, 0xfd, 0xb2, 0x49, 0x24, 0xad, 0xab, + 0x6c, 0xfb, 0x6b, 0xd1, 0xb0, 0x0f, 0xef, 0xf7, 0xda, 0xcc, 0xe2, 0xeb, + 0x00, 0x76, 0x6a, 0x51, 0xf5, 0xa7, 0xf4, 0x6c, +}; +static const unsigned char kat3231_retbits[] = { + 0xfd, 0xf2, 0xf4, 0x97, 0x19, 0xb9, 0xb4, 0x1c, 0x1d, 0x56, 0xba, 0x94, + 0x59, 0x24, 0x71, 0x16, 0xaa, 0x8b, 0x04, 0xaf, 0x7a, 0x0b, 0xa4, 0xdd, + 0xa5, 0xed, 0xf7, 0xd0, 0x08, 0x08, 0x4c, 0x06, 0x3c, 0x6d, 0x1c, 0x12, + 0x64, 0x1b, 0x6e, 0x08, 0xcb, 0xd9, 0xe8, 0xa1, 0xa5, 0xc2, 0xac, 0xc1, + 0xb2, 0x9c, 0xf1, 0xd0, 0x06, 0xce, 0x15, 0xe5, 0x3b, 0x88, 0x6e, 0x6d, + 0x62, 0x08, 0x2a, 0x52, +}; +static const struct drbg_kat_pr_true kat3231_t = { + 5, kat3231_entropyin, kat3231_nonce, kat3231_persstr, + kat3231_entropyinpr1, kat3231_addinpr1, kat3231_entropyinpr2, + kat3231_addinpr2, kat3231_retbits +}; +static const struct drbg_kat kat3231 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3231_t +}; + +static const unsigned char kat3232_entropyin[] = { + 0xd0, 0x5b, 0xc4, 0xdb, 0x1b, 0x29, 0x42, 0xc1, 0x6a, 0x2e, 0x7d, 0xcb, + 0xc6, 0xfa, 0x18, 0x84, 0xcc, 0xcf, 0x08, 0x3c, 0x37, 0x34, 0x2f, 0xe1, +}; +static const unsigned char kat3232_nonce[] = { + 0x8a, 0x97, 0x00, 0xa1, 0x21, 0x14, 0x5b, 0xa3, 0x89, 0x6b, 0x8b, 0x61, + 0xe2, 0x0f, 0x0b, 0x20, +}; +static const unsigned char kat3232_persstr[] = { + 0x7e, 0x7d, 0xe1, 0xc1, 0x73, 0xe6, 0x09, 0x8d, 0x79, 0xd7, 0x0b, 0x27, + 0x24, 0x68, 0x60, 0xec, 0xcb, 0x8b, 0x6a, 0x68, 0xb1, 0x8c, 0xfa, 0x7d, + 0xf8, 0x28, 0xef, 0x55, 0xf0, 0x7e, 0x94, 0xd2, +}; +static const unsigned char kat3232_entropyinpr1[] = { + 0xad, 0xcf, 0xfd, 0xdd, 0x3f, 0x7e, 0x46, 0x43, 0x44, 0x8f, 0x67, 0xb4, + 0xd9, 0x60, 0x17, 0x1d, 0x4f, 0x3f, 0xca, 0xcf, 0x23, 0x52, 0x88, 0xb0, +}; +static const unsigned char kat3232_addinpr1[] = { + 0x15, 0x25, 0xaf, 0xb8, 0x0d, 0xcc, 0x3c, 0x16, 0x84, 0x0e, 0x6e, 0xea, + 0x4c, 0x31, 0x82, 0x84, 0x64, 0xeb, 0xe7, 0xef, 0xe4, 0x47, 0x09, 0x1b, + 0x01, 0xbb, 0x11, 0x01, 0x55, 0xea, 0x3c, 0x2a, +}; +static const unsigned char kat3232_entropyinpr2[] = { + 0xa0, 0x23, 0x5a, 0x6f, 0xbb, 0x99, 0x06, 0xa9, 0x36, 0xe3, 0xa5, 0xa7, + 0x8e, 0xe6, 0xc4, 0x1f, 0xec, 0x4f, 0xaf, 0x9c, 0x5a, 0x9d, 0x26, 0x77, +}; +static const unsigned char kat3232_addinpr2[] = { + 0xef, 0x38, 0x8b, 0x1e, 0xe2, 0x9c, 0x83, 0x9b, 0x9f, 0x45, 0xb5, 0x1a, + 0x8d, 0x32, 0xe4, 0xda, 0xfe, 0xf2, 0xd2, 0x0d, 0x83, 0xa1, 0x62, 0x1a, + 0x3b, 0xa2, 0xcf, 0x83, 0xbf, 0xc9, 0xe4, 0xbf, +}; +static const unsigned char kat3232_retbits[] = { + 0x19, 0x17, 0x05, 0x4a, 0x2c, 0xb7, 0xfb, 0xf0, 0x52, 0x54, 0x13, 0xe3, + 0x52, 0x0d, 0xc6, 0x04, 0x5d, 0x0a, 0xc9, 0x4a, 0x8a, 0x8d, 0x77, 0x9f, + 0xc1, 0x01, 0xf9, 0xd1, 0x39, 0x9a, 0x1f, 0x47, 0x96, 0x75, 0x44, 0xf1, + 0xf5, 0xd3, 0xa1, 0x27, 0xe5, 0xb3, 0x55, 0x23, 0xf2, 0xeb, 0x1f, 0xb0, + 0x24, 0xd8, 0x76, 0x74, 0x98, 0xcd, 0x4e, 0x46, 0xbe, 0xd0, 0x03, 0xf5, + 0xc0, 0xf9, 0x51, 0xa6, +}; +static const struct drbg_kat_pr_true kat3232_t = { + 6, kat3232_entropyin, kat3232_nonce, kat3232_persstr, + kat3232_entropyinpr1, kat3232_addinpr1, kat3232_entropyinpr2, + kat3232_addinpr2, kat3232_retbits +}; +static const struct drbg_kat kat3232 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3232_t +}; + +static const unsigned char kat3233_entropyin[] = { + 0x6b, 0x3c, 0x02, 0x3e, 0x65, 0xe9, 0x7f, 0x33, 0x6c, 0xb4, 0xea, 0x0c, + 0xf4, 0x42, 0x58, 0xc4, 0xed, 0x56, 0x76, 0xd4, 0x65, 0xcb, 0x5a, 0xca, +}; +static const unsigned char kat3233_nonce[] = { + 0xbb, 0x28, 0x12, 0xfa, 0xac, 0xe9, 0x0e, 0x12, 0xaa, 0xb4, 0x7a, 0xc7, + 0xf0, 0x3a, 0x83, 0x55, +}; +static const unsigned char kat3233_persstr[] = { + 0x8e, 0x52, 0x3d, 0x5a, 0xfa, 0x41, 0xb8, 0x48, 0x84, 0xac, 0x98, 0xaa, + 0xfa, 0xce, 0x23, 0xb0, 0x8e, 0x90, 0x9f, 0x38, 0x1a, 0x5e, 0xd9, 0xb7, + 0x07, 0xb5, 0xca, 0xc5, 0x61, 0x8c, 0xaa, 0xa3, +}; +static const unsigned char kat3233_entropyinpr1[] = { + 0x04, 0x99, 0xbb, 0x60, 0x53, 0x2f, 0x9f, 0xdc, 0xb8, 0xdd, 0x5d, 0xae, + 0x82, 0x38, 0x06, 0x93, 0x8c, 0xac, 0xe4, 0xd5, 0xae, 0x61, 0x25, 0x6c, +}; +static const unsigned char kat3233_addinpr1[] = { + 0x81, 0xe3, 0xe6, 0x11, 0x54, 0xff, 0x95, 0xb7, 0x3f, 0xeb, 0xd4, 0xc3, + 0x77, 0xc5, 0x79, 0x6b, 0x1e, 0x3e, 0x50, 0x25, 0x2e, 0x86, 0x4d, 0x2a, + 0x3f, 0xf9, 0x2c, 0x04, 0xff, 0x18, 0x52, 0x05, +}; +static const unsigned char kat3233_entropyinpr2[] = { + 0x88, 0x72, 0x63, 0x31, 0x2a, 0x68, 0x67, 0xe4, 0xa5, 0x5e, 0x46, 0xdf, + 0x6e, 0x1a, 0x7d, 0x9b, 0xd2, 0x44, 0x93, 0x37, 0xf7, 0xa3, 0xda, 0xa0, +}; +static const unsigned char kat3233_addinpr2[] = { + 0x0b, 0xf3, 0xe2, 0xd2, 0x01, 0x74, 0x8d, 0x46, 0x1f, 0x4b, 0x9f, 0x62, + 0x1a, 0x73, 0xfd, 0x71, 0xf5, 0xe2, 0xbf, 0xb5, 0xb7, 0x66, 0x5b, 0xca, + 0xa3, 0xf8, 0x25, 0x2e, 0x3c, 0xec, 0x9e, 0x73, +}; +static const unsigned char kat3233_retbits[] = { + 0x08, 0x93, 0xee, 0xaf, 0xc0, 0xc3, 0x27, 0x73, 0x6d, 0xe0, 0xa9, 0x8b, + 0x73, 0x6e, 0x21, 0xc2, 0xae, 0xef, 0xeb, 0x4e, 0x41, 0x8a, 0xd6, 0x36, + 0xde, 0x34, 0xae, 0x85, 0x45, 0xe1, 0xca, 0xe6, 0x3c, 0xd8, 0xdc, 0x33, + 0x17, 0x66, 0x9b, 0xbe, 0x87, 0x56, 0x06, 0x3d, 0x58, 0x52, 0x46, 0x11, + 0x1b, 0xe2, 0xd3, 0x24, 0xad, 0x38, 0xda, 0x01, 0xe0, 0x77, 0x47, 0x06, + 0xfb, 0x3a, 0xcc, 0x35, +}; +static const struct drbg_kat_pr_true kat3233_t = { + 7, kat3233_entropyin, kat3233_nonce, kat3233_persstr, + kat3233_entropyinpr1, kat3233_addinpr1, kat3233_entropyinpr2, + kat3233_addinpr2, kat3233_retbits +}; +static const struct drbg_kat kat3233 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3233_t +}; + +static const unsigned char kat3234_entropyin[] = { + 0x64, 0xd1, 0x76, 0x3b, 0xfb, 0x42, 0xd3, 0x50, 0xf6, 0x24, 0x01, 0x20, + 0xe7, 0x13, 0x6c, 0xb7, 0xc6, 0x60, 0x35, 0x13, 0x03, 0x43, 0x5d, 0xa7, +}; +static const unsigned char kat3234_nonce[] = { + 0x9b, 0x97, 0x63, 0x0b, 0x26, 0x30, 0xb4, 0x3a, 0x1e, 0xe8, 0xcb, 0x92, + 0x69, 0xf4, 0x2d, 0xba, +}; +static const unsigned char kat3234_persstr[] = { + 0x49, 0x9d, 0x2b, 0xa3, 0x6a, 0x52, 0x2f, 0x19, 0xf3, 0x46, 0x60, 0x9a, + 0xd5, 0xb0, 0xb5, 0xe9, 0x77, 0x68, 0xb8, 0x6f, 0xb9, 0xa2, 0x0f, 0xf3, + 0xdf, 0x02, 0xdc, 0x87, 0x66, 0x0e, 0x24, 0x83, +}; +static const unsigned char kat3234_entropyinpr1[] = { + 0xe3, 0x0d, 0x0d, 0x80, 0xe0, 0xee, 0x5e, 0x29, 0x78, 0x63, 0x5d, 0x37, + 0x49, 0xd0, 0x57, 0x9d, 0x39, 0x88, 0x22, 0xac, 0x0e, 0xb6, 0x31, 0xc2, +}; +static const unsigned char kat3234_addinpr1[] = { + 0x49, 0xc9, 0x4f, 0xb0, 0xc4, 0x61, 0xb4, 0xc7, 0x86, 0xc0, 0x4e, 0x38, + 0xec, 0x48, 0x07, 0x50, 0xb8, 0xa7, 0xd8, 0x1c, 0x38, 0x2d, 0x4a, 0x0b, + 0xaf, 0x20, 0xdb, 0xc0, 0xa1, 0x61, 0x69, 0x4c, +}; +static const unsigned char kat3234_entropyinpr2[] = { + 0xb0, 0x5d, 0xa4, 0x08, 0x9b, 0x61, 0x57, 0x0b, 0x8c, 0xe8, 0xc9, 0xa8, + 0xcc, 0x57, 0xc4, 0x28, 0x88, 0xc8, 0xad, 0x4c, 0x2c, 0xc5, 0x09, 0x2e, +}; +static const unsigned char kat3234_addinpr2[] = { + 0x2d, 0x60, 0xeb, 0x69, 0x06, 0x9b, 0x6c, 0xac, 0x3d, 0x81, 0xe1, 0x1f, + 0xad, 0xe2, 0xde, 0x05, 0x98, 0x63, 0x64, 0xce, 0x91, 0xb0, 0xe8, 0x6c, + 0xa0, 0xf1, 0x64, 0x53, 0x05, 0xcf, 0x09, 0xe3, +}; +static const unsigned char kat3234_retbits[] = { + 0xe9, 0x04, 0x17, 0x50, 0x4a, 0x0c, 0xb2, 0x96, 0x59, 0x03, 0x37, 0xde, + 0x2b, 0x73, 0x7f, 0xf1, 0xdd, 0x9f, 0x0a, 0xd3, 0x19, 0x81, 0xb5, 0xf8, + 0xdb, 0x7a, 0x76, 0x8a, 0x63, 0xcc, 0x50, 0x21, 0x0e, 0x34, 0x79, 0xea, + 0xc8, 0xb9, 0xb9, 0x15, 0x09, 0x95, 0xdf, 0xb2, 0x10, 0x42, 0x29, 0x02, + 0x12, 0x76, 0xf7, 0x6e, 0xb1, 0xd2, 0x9d, 0x89, 0xd5, 0x97, 0x3c, 0xf7, + 0x81, 0x58, 0xb5, 0x15, +}; +static const struct drbg_kat_pr_true kat3234_t = { + 8, kat3234_entropyin, kat3234_nonce, kat3234_persstr, + kat3234_entropyinpr1, kat3234_addinpr1, kat3234_entropyinpr2, + kat3234_addinpr2, kat3234_retbits +}; +static const struct drbg_kat kat3234 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3234_t +}; + +static const unsigned char kat3235_entropyin[] = { + 0xa1, 0x97, 0x89, 0x85, 0x93, 0xf8, 0x0b, 0xa8, 0xae, 0xb6, 0x8e, 0x2a, + 0x7f, 0x5d, 0x95, 0xcc, 0x5a, 0x6d, 0x63, 0xf5, 0x0c, 0x18, 0x26, 0x1b, +}; +static const unsigned char kat3235_nonce[] = { + 0xb5, 0x06, 0x0f, 0xdd, 0xcf, 0x18, 0x1e, 0xa8, 0x54, 0xe6, 0xbc, 0x79, + 0xb4, 0x81, 0x95, 0x61, +}; +static const unsigned char kat3235_persstr[] = { + 0xaf, 0xe6, 0xab, 0xa6, 0x6c, 0x8d, 0x6e, 0x7d, 0xd7, 0xf1, 0x89, 0x4e, + 0xd4, 0x35, 0xe3, 0x4e, 0xee, 0x24, 0xd5, 0x72, 0x9c, 0xc2, 0xfb, 0xe0, + 0xbb, 0xfd, 0x49, 0x16, 0x32, 0xdd, 0x16, 0x4b, +}; +static const unsigned char kat3235_entropyinpr1[] = { + 0x79, 0xec, 0x4a, 0x64, 0xf6, 0x12, 0xf9, 0x9e, 0xf4, 0xa7, 0xde, 0xf0, + 0xc7, 0x41, 0x0e, 0x48, 0x05, 0xbd, 0x2d, 0x93, 0x19, 0x6b, 0x8f, 0x31, +}; +static const unsigned char kat3235_addinpr1[] = { + 0xa9, 0xd5, 0x12, 0x74, 0x42, 0xad, 0xe5, 0x24, 0x58, 0xc7, 0xf2, 0xf2, + 0x50, 0x57, 0x11, 0xae, 0xfd, 0x4f, 0xf9, 0x48, 0x19, 0x2c, 0xa6, 0xa2, + 0xb5, 0xed, 0x02, 0x4b, 0x31, 0x92, 0x4d, 0xe7, +}; +static const unsigned char kat3235_entropyinpr2[] = { + 0xa8, 0xcf, 0xf7, 0x93, 0x03, 0x40, 0x00, 0xe1, 0x4c, 0x8e, 0xb5, 0x04, + 0x4e, 0xaf, 0x18, 0x27, 0x92, 0xdd, 0xea, 0xf2, 0x7b, 0x8a, 0xea, 0xb9, +}; +static const unsigned char kat3235_addinpr2[] = { + 0xa2, 0x0b, 0x9d, 0xc4, 0xdd, 0x72, 0xaa, 0x3a, 0x42, 0x0f, 0xff, 0x02, + 0x98, 0x84, 0x70, 0x5d, 0xe9, 0x91, 0x21, 0x7b, 0x65, 0x10, 0x26, 0x04, + 0xc3, 0x2c, 0x2d, 0x44, 0x38, 0xf5, 0x1c, 0x8b, +}; +static const unsigned char kat3235_retbits[] = { + 0xe9, 0x4b, 0x83, 0x41, 0x19, 0xdb, 0xb3, 0x18, 0xd6, 0xef, 0x48, 0xac, + 0xbe, 0x75, 0x66, 0x87, 0x16, 0xcf, 0xb7, 0x7d, 0xac, 0x60, 0x28, 0x43, + 0xb3, 0xb7, 0x43, 0x53, 0x5d, 0x6c, 0x22, 0x78, 0x41, 0xcc, 0x5c, 0x11, + 0x58, 0x02, 0x0f, 0x2e, 0x01, 0xad, 0x8c, 0x03, 0x10, 0x22, 0x43, 0x60, + 0x0e, 0xf9, 0x35, 0x8b, 0xd9, 0x88, 0xc0, 0x24, 0xb8, 0xca, 0x41, 0xe5, + 0xb7, 0xe8, 0xf3, 0xbf, +}; +static const struct drbg_kat_pr_true kat3235_t = { + 9, kat3235_entropyin, kat3235_nonce, kat3235_persstr, + kat3235_entropyinpr1, kat3235_addinpr1, kat3235_entropyinpr2, + kat3235_addinpr2, kat3235_retbits +}; +static const struct drbg_kat kat3235 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3235_t +}; + +static const unsigned char kat3236_entropyin[] = { + 0x21, 0x13, 0xca, 0x53, 0x08, 0x44, 0x75, 0xa9, 0x8e, 0x79, 0x5e, 0xba, + 0xf6, 0x89, 0xaf, 0xc6, 0xbe, 0xfe, 0x80, 0xf9, 0x27, 0x52, 0x70, 0xec, +}; +static const unsigned char kat3236_nonce[] = { + 0x7e, 0x92, 0x56, 0xfd, 0x04, 0xbb, 0x92, 0x63, 0x4d, 0x66, 0x71, 0x33, + 0xa3, 0x7e, 0x91, 0x69, +}; +static const unsigned char kat3236_persstr[] = { + 0xcc, 0xa3, 0x1a, 0x05, 0x7f, 0x65, 0x60, 0x1b, 0xd2, 0xee, 0xc5, 0xe7, + 0x5f, 0xc1, 0x3a, 0xe6, 0xcd, 0xb0, 0x81, 0x47, 0xe2, 0x08, 0x45, 0xbb, + 0x36, 0x23, 0x7a, 0x7d, 0x03, 0xc2, 0xd5, 0x22, +}; +static const unsigned char kat3236_entropyinpr1[] = { + 0xf7, 0xcd, 0x8e, 0xb0, 0x75, 0xbb, 0x73, 0xa3, 0xb5, 0xfe, 0xfe, 0x46, + 0xdf, 0xc3, 0x2d, 0x42, 0x34, 0x81, 0xb5, 0x67, 0xaa, 0x6f, 0x87, 0x61, +}; +static const unsigned char kat3236_addinpr1[] = { + 0x78, 0x0c, 0xe6, 0xd0, 0x71, 0x8e, 0x43, 0xc3, 0xae, 0x5d, 0xa7, 0x94, + 0xde, 0x6a, 0xda, 0x17, 0xf7, 0x1a, 0x3f, 0x66, 0xdd, 0xf9, 0x9a, 0x40, + 0x39, 0xb8, 0x05, 0x7b, 0x45, 0x2c, 0x43, 0xe1, +}; +static const unsigned char kat3236_entropyinpr2[] = { + 0x11, 0x1a, 0xe0, 0xbd, 0x64, 0x90, 0xe4, 0x6b, 0xec, 0xee, 0x50, 0x42, + 0x37, 0xbd, 0x81, 0x77, 0xda, 0x35, 0x9d, 0xc9, 0xdf, 0x8c, 0xb4, 0xd4, +}; +static const unsigned char kat3236_addinpr2[] = { + 0x4a, 0x85, 0x68, 0x82, 0xe7, 0x5e, 0xe2, 0x06, 0xc5, 0xbe, 0xf4, 0x21, + 0x23, 0x48, 0x2d, 0x27, 0x37, 0x35, 0x61, 0xf6, 0x88, 0x63, 0x8d, 0x56, + 0x9e, 0xf0, 0x9f, 0x18, 0x94, 0x1a, 0x66, 0x14, +}; +static const unsigned char kat3236_retbits[] = { + 0x39, 0xfe, 0x7d, 0x8f, 0x5d, 0xa0, 0x6e, 0x2c, 0x30, 0x65, 0x53, 0x2d, + 0x3a, 0x58, 0x12, 0x62, 0xda, 0x24, 0xa3, 0xc2, 0x42, 0x0a, 0xf4, 0x3b, + 0xb0, 0x75, 0xf0, 0xc1, 0xba, 0x17, 0x00, 0x50, 0x52, 0xe8, 0x39, 0x50, + 0x63, 0x54, 0x15, 0x6c, 0x01, 0x4f, 0x01, 0x24, 0xfd, 0x12, 0x8a, 0x62, + 0x2e, 0x18, 0x0d, 0xfc, 0xd0, 0xed, 0x4c, 0xf8, 0xab, 0x5f, 0xf2, 0x4b, + 0xa2, 0xb3, 0xc5, 0x4d, +}; +static const struct drbg_kat_pr_true kat3236_t = { + 10, kat3236_entropyin, kat3236_nonce, kat3236_persstr, + kat3236_entropyinpr1, kat3236_addinpr1, kat3236_entropyinpr2, + kat3236_addinpr2, kat3236_retbits +}; +static const struct drbg_kat kat3236 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3236_t +}; + +static const unsigned char kat3237_entropyin[] = { + 0x6f, 0x9e, 0x1e, 0x39, 0x2b, 0x6f, 0xce, 0xbc, 0xb1, 0xe9, 0x85, 0x84, + 0x26, 0xc4, 0x2c, 0xa5, 0x2f, 0xd3, 0x3b, 0xaf, 0xbe, 0xc3, 0xdc, 0xaf, +}; +static const unsigned char kat3237_nonce[] = { + 0xc8, 0x4f, 0xb2, 0x77, 0xc9, 0x8e, 0x69, 0x89, 0xfa, 0x3e, 0x74, 0xce, + 0x1d, 0x82, 0x61, 0x88, +}; +static const unsigned char kat3237_persstr[] = { + 0xdf, 0x41, 0xb6, 0x07, 0x80, 0xf8, 0x56, 0xed, 0xa3, 0xed, 0x44, 0x4f, + 0xfd, 0xe4, 0x6f, 0xba, 0x36, 0x21, 0xca, 0x73, 0x63, 0xc4, 0xb6, 0x13, + 0xeb, 0xc2, 0x1f, 0x68, 0x48, 0x0c, 0x16, 0x4c, +}; +static const unsigned char kat3237_entropyinpr1[] = { + 0xdb, 0x94, 0x12, 0x15, 0xf7, 0x6c, 0xe3, 0xca, 0x34, 0xd1, 0x44, 0x12, + 0x2d, 0x51, 0x01, 0xeb, 0xdb, 0xae, 0x2d, 0x64, 0xd2, 0xcc, 0x63, 0x0a, +}; +static const unsigned char kat3237_addinpr1[] = { + 0x20, 0x92, 0xec, 0x92, 0xd8, 0x4a, 0x48, 0x01, 0x2b, 0x68, 0x67, 0xad, + 0xc5, 0x28, 0x91, 0x16, 0x10, 0xe8, 0xf9, 0xd1, 0xfb, 0x6b, 0xdb, 0xb7, + 0x5f, 0x89, 0x9a, 0x10, 0xa3, 0x44, 0x5a, 0xf6, +}; +static const unsigned char kat3237_entropyinpr2[] = { + 0xe7, 0x1d, 0x17, 0x8b, 0x58, 0xab, 0x5c, 0x8e, 0x95, 0x3b, 0x40, 0xa4, + 0x76, 0x3b, 0xf3, 0x2c, 0x0a, 0x74, 0x2e, 0x25, 0xcc, 0xeb, 0x41, 0x7e, +}; +static const unsigned char kat3237_addinpr2[] = { + 0x44, 0x44, 0xa4, 0xc0, 0x31, 0xdc, 0x99, 0x01, 0x5c, 0x5f, 0xdd, 0x6d, + 0x00, 0x66, 0x49, 0x4d, 0xab, 0xbb, 0xd2, 0xc5, 0xff, 0xf1, 0x78, 0x2a, + 0xcb, 0x04, 0x4a, 0x1d, 0xb9, 0x8b, 0x52, 0x94, +}; +static const unsigned char kat3237_retbits[] = { + 0x60, 0xf3, 0xfe, 0x74, 0x0a, 0x96, 0xec, 0x3b, 0xb4, 0x72, 0x18, 0x46, + 0x5c, 0xa1, 0xf3, 0x70, 0x83, 0xbc, 0x02, 0x3d, 0x67, 0x5c, 0x18, 0x83, + 0x51, 0x86, 0xde, 0xb9, 0xba, 0xf6, 0x2a, 0x78, 0x9e, 0x7f, 0x19, 0xfc, + 0x2b, 0xbf, 0x22, 0x04, 0x0b, 0x26, 0x8d, 0xfa, 0x11, 0x05, 0x21, 0xd2, + 0xe2, 0x98, 0x85, 0x1f, 0x83, 0x93, 0xe0, 0x13, 0x44, 0x45, 0xe6, 0x65, + 0x50, 0xde, 0x97, 0x7e, +}; +static const struct drbg_kat_pr_true kat3237_t = { + 11, kat3237_entropyin, kat3237_nonce, kat3237_persstr, + kat3237_entropyinpr1, kat3237_addinpr1, kat3237_entropyinpr2, + kat3237_addinpr2, kat3237_retbits +}; +static const struct drbg_kat kat3237 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3237_t +}; + +static const unsigned char kat3238_entropyin[] = { + 0xc6, 0x47, 0xf8, 0xed, 0x57, 0x7f, 0xd5, 0x0e, 0x40, 0x38, 0xd6, 0xd5, + 0xe5, 0xca, 0x75, 0x48, 0xaa, 0x07, 0x68, 0xe7, 0xf1, 0xa2, 0x9f, 0x6e, +}; +static const unsigned char kat3238_nonce[] = { + 0xa4, 0x96, 0xd7, 0xc4, 0x60, 0x46, 0xc5, 0x66, 0xdd, 0xca, 0x9f, 0x94, + 0xfd, 0xc3, 0xd0, 0xd4, +}; +static const unsigned char kat3238_persstr[] = { + 0x59, 0xe8, 0xc6, 0xb6, 0x49, 0x30, 0x98, 0x3f, 0x5e, 0x9a, 0xe9, 0x29, + 0x08, 0xad, 0x84, 0xfd, 0x58, 0xf8, 0x7b, 0xcc, 0x39, 0x94, 0x1a, 0xbe, + 0x4c, 0x0e, 0x8e, 0x96, 0xc7, 0x63, 0x90, 0xea, +}; +static const unsigned char kat3238_entropyinpr1[] = { + 0xce, 0x3e, 0xa3, 0x23, 0x10, 0xcb, 0xfe, 0xb7, 0x17, 0x44, 0xb8, 0xbb, + 0xe1, 0x1e, 0xb5, 0xcb, 0x69, 0x82, 0x94, 0x0d, 0xc5, 0x76, 0xb6, 0xbf, +}; +static const unsigned char kat3238_addinpr1[] = { + 0xe5, 0x32, 0xad, 0xec, 0x0d, 0x3a, 0xcb, 0x7d, 0xd5, 0x1f, 0x49, 0xdd, + 0x70, 0x9b, 0xf9, 0x05, 0x49, 0x93, 0x52, 0x6e, 0x5e, 0x08, 0x67, 0x20, + 0x52, 0xf7, 0x15, 0xa2, 0xab, 0x55, 0xda, 0x41, +}; +static const unsigned char kat3238_entropyinpr2[] = { + 0xfb, 0x1d, 0xe3, 0xe8, 0x8e, 0x8a, 0xd3, 0x0b, 0x16, 0xf9, 0xda, 0x88, + 0x39, 0xe5, 0x5a, 0x4b, 0x9b, 0xb9, 0x23, 0xa3, 0xa0, 0x8d, 0x00, 0x47, +}; +static const unsigned char kat3238_addinpr2[] = { + 0x67, 0xbb, 0x8c, 0x08, 0xc0, 0xe6, 0x88, 0x81, 0xb4, 0x66, 0x86, 0x25, + 0x32, 0xdf, 0xc8, 0xd3, 0xe8, 0x0e, 0xae, 0x24, 0x99, 0x23, 0xb7, 0x92, + 0x3e, 0xd9, 0x93, 0xaf, 0xd1, 0x18, 0x67, 0xde, +}; +static const unsigned char kat3238_retbits[] = { + 0x31, 0xc7, 0x8a, 0x2f, 0x5e, 0x72, 0xc9, 0xcc, 0xda, 0x8f, 0xe9, 0x66, + 0x9f, 0x1f, 0x1f, 0x64, 0x92, 0xe8, 0xe6, 0x3d, 0xf7, 0x58, 0xa8, 0xb6, + 0x05, 0xfb, 0x0c, 0x63, 0x74, 0x88, 0x4c, 0xd3, 0x15, 0xe1, 0xd7, 0xa6, + 0xed, 0xdc, 0x72, 0xc0, 0x2d, 0xd3, 0xc5, 0xfe, 0x11, 0x72, 0xba, 0xc0, + 0x27, 0x5e, 0xf5, 0x74, 0xd1, 0x09, 0xf9, 0xd6, 0x85, 0xac, 0xdb, 0xb1, + 0xba, 0xa7, 0xf5, 0x7b, +}; +static const struct drbg_kat_pr_true kat3238_t = { + 12, kat3238_entropyin, kat3238_nonce, kat3238_persstr, + kat3238_entropyinpr1, kat3238_addinpr1, kat3238_entropyinpr2, + kat3238_addinpr2, kat3238_retbits +}; +static const struct drbg_kat kat3238 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3238_t +}; + +static const unsigned char kat3239_entropyin[] = { + 0xc2, 0x62, 0x53, 0xf3, 0xc8, 0x3a, 0x89, 0x68, 0x1e, 0x78, 0x07, 0x42, + 0x3b, 0x20, 0xc4, 0x30, 0x39, 0x24, 0xad, 0x5e, 0xdb, 0x29, 0x66, 0x86, +}; +static const unsigned char kat3239_nonce[] = { + 0x42, 0x04, 0x5c, 0x4b, 0xcc, 0x57, 0x38, 0xc1, 0x90, 0x59, 0xb2, 0x95, + 0x2c, 0xc6, 0xde, 0xf1, +}; +static const unsigned char kat3239_persstr[] = { + 0x68, 0xb1, 0x1c, 0x2d, 0x2c, 0xa6, 0xf0, 0x7f, 0x9e, 0x96, 0x19, 0x79, + 0x68, 0xf0, 0x95, 0xe4, 0x51, 0x60, 0xe9, 0x10, 0xea, 0xc5, 0x83, 0xfe, + 0xb4, 0xe6, 0x86, 0xfb, 0x9d, 0x19, 0x7e, 0xb7, +}; +static const unsigned char kat3239_entropyinpr1[] = { + 0x00, 0x07, 0xe3, 0xe2, 0x83, 0x39, 0x10, 0xbb, 0xc0, 0x98, 0xf8, 0xc1, + 0x43, 0x7c, 0xaf, 0x2e, 0x0a, 0x62, 0x20, 0x21, 0x62, 0x07, 0xf0, 0x9b, +}; +static const unsigned char kat3239_addinpr1[] = { + 0x7d, 0xa8, 0xf1, 0x78, 0xc6, 0xbb, 0xae, 0xda, 0x7a, 0x15, 0x8b, 0x19, + 0xbc, 0x18, 0xa3, 0x2a, 0x9b, 0x3d, 0x0c, 0xaf, 0x42, 0x88, 0x91, 0x4b, + 0x32, 0xa9, 0x88, 0x42, 0x77, 0x75, 0x7b, 0xbb, +}; +static const unsigned char kat3239_entropyinpr2[] = { + 0x76, 0x25, 0x3f, 0x3e, 0xba, 0x4c, 0x81, 0xc6, 0x9a, 0x12, 0xd7, 0xd7, + 0x38, 0xe6, 0x5b, 0xb3, 0x9e, 0x72, 0x30, 0x08, 0x54, 0x06, 0x13, 0x3a, +}; +static const unsigned char kat3239_addinpr2[] = { + 0x2e, 0x57, 0x60, 0xa4, 0x04, 0x4a, 0x7c, 0xd8, 0xc0, 0xdf, 0x35, 0xfd, + 0x85, 0xbf, 0xc6, 0xbd, 0x3e, 0x38, 0xe1, 0x2b, 0xa3, 0xb5, 0xa4, 0x7b, + 0xf2, 0xc9, 0xed, 0x52, 0x14, 0x22, 0xa7, 0x6e, +}; +static const unsigned char kat3239_retbits[] = { + 0x81, 0x2e, 0x56, 0xa9, 0x7a, 0x9f, 0x62, 0xd1, 0x4a, 0x2d, 0xef, 0x87, + 0xb8, 0x9c, 0x7a, 0x19, 0xcd, 0xd3, 0x09, 0x26, 0xf3, 0x63, 0xc5, 0x21, + 0x79, 0x93, 0x1d, 0x7c, 0xbc, 0xa6, 0x3c, 0x3a, 0xa7, 0xfa, 0x71, 0x5f, + 0xdd, 0xa9, 0x5a, 0xfb, 0xcf, 0x4f, 0x02, 0x36, 0x79, 0xf0, 0x7d, 0x45, + 0x20, 0x9c, 0xb9, 0x54, 0xc3, 0xfe, 0xbd, 0xad, 0x61, 0xc6, 0x49, 0xd7, + 0x9a, 0xab, 0xd0, 0xa3, +}; +static const struct drbg_kat_pr_true kat3239_t = { + 13, kat3239_entropyin, kat3239_nonce, kat3239_persstr, + kat3239_entropyinpr1, kat3239_addinpr1, kat3239_entropyinpr2, + kat3239_addinpr2, kat3239_retbits +}; +static const struct drbg_kat kat3239 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3239_t +}; + +static const unsigned char kat3240_entropyin[] = { + 0x5d, 0xbd, 0x7c, 0x15, 0x99, 0x92, 0x50, 0xe3, 0xe0, 0x0f, 0xbf, 0xa1, + 0x88, 0x89, 0x7c, 0x3c, 0x8b, 0x82, 0xb9, 0x46, 0xc8, 0x0c, 0x36, 0x6a, +}; +static const unsigned char kat3240_nonce[] = { + 0x19, 0x3d, 0xa4, 0x67, 0xdd, 0xef, 0x6c, 0x6c, 0x66, 0x49, 0xbf, 0x6d, + 0x09, 0x79, 0x6e, 0x52, +}; +static const unsigned char kat3240_persstr[] = { + 0xb0, 0x3f, 0x58, 0xf9, 0x7a, 0x1f, 0x0c, 0xe4, 0xb6, 0xb1, 0x80, 0x8e, + 0x43, 0x6e, 0xd2, 0x4d, 0x8e, 0xa1, 0x53, 0x65, 0x2d, 0xcb, 0xad, 0x82, + 0x11, 0xf8, 0xe2, 0xe4, 0xb7, 0x64, 0x88, 0x3d, +}; +static const unsigned char kat3240_entropyinpr1[] = { + 0xc5, 0xb5, 0xbf, 0x67, 0x27, 0x12, 0xa1, 0xeb, 0xed, 0xa0, 0x27, 0x37, + 0xbc, 0xf8, 0xbe, 0x47, 0x7a, 0x52, 0xd1, 0xd1, 0x7c, 0x09, 0xe9, 0x64, +}; +static const unsigned char kat3240_addinpr1[] = { + 0x4e, 0x02, 0x4d, 0xd4, 0xfb, 0x29, 0xb2, 0xf9, 0x50, 0x43, 0x9d, 0x70, + 0xf7, 0xf0, 0x6a, 0xd5, 0x94, 0xa1, 0x10, 0xb2, 0x37, 0xae, 0xac, 0x4b, + 0x73, 0x1a, 0x22, 0x7a, 0x54, 0x50, 0x17, 0xaf, +}; +static const unsigned char kat3240_entropyinpr2[] = { + 0x43, 0x8b, 0x5e, 0x3e, 0x07, 0x45, 0x20, 0x9f, 0x53, 0x83, 0x8f, 0xd0, + 0x15, 0xd1, 0xd0, 0x89, 0x73, 0xde, 0x34, 0x99, 0x46, 0x4f, 0xf5, 0x7a, +}; +static const unsigned char kat3240_addinpr2[] = { + 0x8c, 0xa0, 0x6a, 0xfa, 0xc7, 0xf8, 0x36, 0xef, 0xef, 0x3b, 0x5d, 0xa8, + 0xb0, 0x47, 0x5e, 0x6c, 0x23, 0x85, 0x70, 0xb0, 0x4f, 0x31, 0xf7, 0x4f, + 0x11, 0x0d, 0x31, 0xe3, 0xc2, 0xb0, 0xdf, 0x91, +}; +static const unsigned char kat3240_retbits[] = { + 0x52, 0x84, 0x3d, 0x9e, 0xa8, 0x0e, 0x30, 0x62, 0x2e, 0x52, 0xce, 0xae, + 0x59, 0x9a, 0xb0, 0xbc, 0xa6, 0x6a, 0x55, 0x64, 0xae, 0xba, 0x93, 0x0a, + 0xd9, 0x8c, 0x6a, 0xc3, 0xe0, 0x74, 0x3d, 0x8e, 0x45, 0x9c, 0xfa, 0x2e, + 0x17, 0x0d, 0xc6, 0xec, 0xd2, 0x19, 0x33, 0xf9, 0x0f, 0x79, 0x9b, 0xc1, + 0xc8, 0xc6, 0xab, 0x3c, 0x18, 0xce, 0x21, 0x55, 0x55, 0x0e, 0x89, 0x1a, + 0x69, 0x08, 0xaa, 0xd7, +}; +static const struct drbg_kat_pr_true kat3240_t = { + 14, kat3240_entropyin, kat3240_nonce, kat3240_persstr, + kat3240_entropyinpr1, kat3240_addinpr1, kat3240_entropyinpr2, + kat3240_addinpr2, kat3240_retbits +}; +static const struct drbg_kat kat3240 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3240_t +}; + +static const unsigned char kat3241_entropyin[] = { + 0x8f, 0x16, 0x48, 0xc3, 0x67, 0xff, 0x75, 0xab, 0x2a, 0x2e, 0xfa, 0xde, + 0xb0, 0xb2, 0x2d, 0x3b, 0xf0, 0x93, 0xaf, 0xde, 0x2b, 0x72, 0x3c, 0x25, +}; +static const unsigned char kat3241_nonce[] = { + 0x4a, 0x4e, 0x67, 0x9e, 0x52, 0xc0, 0xf5, 0x64, 0x20, 0x79, 0x93, 0x99, + 0xdc, 0x9b, 0xf0, 0x86, +}; +static const unsigned char kat3241_persstr[] = {0}; +static const unsigned char kat3241_entropyinpr1[] = { + 0xdc, 0xb2, 0xcd, 0x21, 0x44, 0x67, 0x0f, 0x46, 0x67, 0xf0, 0x45, 0xd5, + 0xe0, 0x4c, 0x1d, 0x1b, 0x66, 0xc6, 0x5b, 0x50, 0x74, 0xe9, 0x76, 0x3d, +}; +static const unsigned char kat3241_addinpr1[] = {0}; +static const unsigned char kat3241_entropyinpr2[] = { + 0x8c, 0x50, 0x53, 0x53, 0xa6, 0x40, 0xd3, 0x23, 0xe5, 0x28, 0x82, 0x72, + 0xd0, 0x32, 0x0f, 0x24, 0x5a, 0xa0, 0x06, 0xf9, 0x63, 0xef, 0x8a, 0x48, +}; +static const unsigned char kat3241_addinpr2[] = {0}; +static const unsigned char kat3241_retbits[] = { + 0x97, 0x4d, 0x06, 0x98, 0x47, 0x13, 0x30, 0x5e, 0xf4, 0x96, 0xa0, 0x1a, + 0x0a, 0x42, 0x38, 0x3d, 0x3e, 0x22, 0x8a, 0x31, 0xae, 0x75, 0xc4, 0x80, + 0x99, 0x4b, 0xaa, 0xb5, 0x8d, 0x14, 0x4a, 0xe3, 0x2f, 0x7b, 0x64, 0x6e, + 0x4a, 0xf4, 0x19, 0x89, 0xa2, 0x53, 0x74, 0x5c, 0x3c, 0x52, 0x9d, 0xb7, + 0x93, 0xf9, 0x48, 0x51, 0x0c, 0xba, 0xed, 0x04, 0xf7, 0x0f, 0x27, 0x9a, + 0x4a, 0x7b, 0x88, 0xa1, +}; +static const struct drbg_kat_pr_true kat3241_t = { + 0, kat3241_entropyin, kat3241_nonce, kat3241_persstr, + kat3241_entropyinpr1, kat3241_addinpr1, kat3241_entropyinpr2, + kat3241_addinpr2, kat3241_retbits +}; +static const struct drbg_kat kat3241 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3241_t +}; + +static const unsigned char kat3242_entropyin[] = { + 0x5a, 0xfe, 0xd2, 0x9a, 0xe5, 0xde, 0xbc, 0xea, 0xfd, 0x2a, 0x65, 0x7b, + 0xb4, 0x33, 0x79, 0x6e, 0x84, 0x68, 0x7a, 0xd0, 0x29, 0xa6, 0xdd, 0x62, +}; +static const unsigned char kat3242_nonce[] = { + 0x00, 0xbc, 0x27, 0x77, 0x79, 0x0d, 0x90, 0x6b, 0x4a, 0x54, 0x7c, 0xba, + 0x39, 0xc3, 0x7a, 0x5d, +}; +static const unsigned char kat3242_persstr[] = {0}; +static const unsigned char kat3242_entropyinpr1[] = { + 0x5d, 0x3a, 0xe9, 0xf7, 0x8a, 0x1c, 0x2c, 0xdc, 0x15, 0xbc, 0x04, 0x7d, + 0x2b, 0x79, 0x9e, 0x56, 0xa8, 0x2a, 0xc5, 0x80, 0x84, 0xc9, 0xb6, 0x3a, +}; +static const unsigned char kat3242_addinpr1[] = {0}; +static const unsigned char kat3242_entropyinpr2[] = { + 0xc8, 0xaf, 0xcd, 0x89, 0xa7, 0xbe, 0xaa, 0xdf, 0x95, 0x8e, 0x8b, 0x5d, + 0xe7, 0x11, 0xc6, 0x6b, 0x84, 0x19, 0x17, 0xf7, 0x5f, 0xaf, 0x89, 0xe0, +}; +static const unsigned char kat3242_addinpr2[] = {0}; +static const unsigned char kat3242_retbits[] = { + 0x2e, 0x81, 0xe2, 0x27, 0x0b, 0xfe, 0xac, 0x28, 0xfa, 0xba, 0x5e, 0xfe, + 0xd7, 0x21, 0xb2, 0x75, 0xc3, 0x3d, 0x0b, 0x99, 0xf4, 0x5e, 0xe3, 0x18, + 0x70, 0x68, 0x51, 0xf8, 0xf4, 0x33, 0x40, 0x3c, 0xfa, 0x5f, 0x44, 0xb2, + 0x13, 0x76, 0x44, 0x6f, 0x37, 0xae, 0xd4, 0xc3, 0xa3, 0x17, 0x24, 0x57, + 0xb9, 0x68, 0x08, 0x28, 0x5b, 0x42, 0xc7, 0x13, 0x5f, 0xc3, 0xcc, 0xd4, + 0xd3, 0x3e, 0xce, 0x77, +}; +static const struct drbg_kat_pr_true kat3242_t = { + 1, kat3242_entropyin, kat3242_nonce, kat3242_persstr, + kat3242_entropyinpr1, kat3242_addinpr1, kat3242_entropyinpr2, + kat3242_addinpr2, kat3242_retbits +}; +static const struct drbg_kat kat3242 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3242_t +}; + +static const unsigned char kat3243_entropyin[] = { + 0x40, 0x84, 0x74, 0xe0, 0x68, 0xc0, 0x1f, 0x06, 0x8a, 0x96, 0xaa, 0x28, + 0xa9, 0x7d, 0x42, 0xc4, 0xbf, 0xae, 0xc2, 0x11, 0x9c, 0xb0, 0xf4, 0xbf, +}; +static const unsigned char kat3243_nonce[] = { + 0x82, 0xd9, 0xc6, 0xb9, 0x3f, 0x12, 0x93, 0xf2, 0x4f, 0x51, 0x09, 0x18, + 0x70, 0x8e, 0xda, 0x04, +}; +static const unsigned char kat3243_persstr[] = {0}; +static const unsigned char kat3243_entropyinpr1[] = { + 0x95, 0xff, 0x58, 0x00, 0xe4, 0xa1, 0x6b, 0xfe, 0x7d, 0xe2, 0x2f, 0x2b, + 0xe9, 0x1e, 0x49, 0x26, 0xd4, 0xd2, 0x4b, 0x78, 0x9c, 0x8c, 0xfa, 0xbd, +}; +static const unsigned char kat3243_addinpr1[] = {0}; +static const unsigned char kat3243_entropyinpr2[] = { + 0x6f, 0x4f, 0x4b, 0xce, 0x55, 0x5b, 0x05, 0xe9, 0x29, 0xb7, 0x89, 0x6d, + 0x53, 0x13, 0x1f, 0xee, 0x0d, 0x8d, 0xf9, 0x88, 0x9f, 0x3b, 0x70, 0xe7, +}; +static const unsigned char kat3243_addinpr2[] = {0}; +static const unsigned char kat3243_retbits[] = { + 0xe1, 0xd5, 0x62, 0x26, 0x67, 0x86, 0x6b, 0xb7, 0xad, 0xf1, 0x63, 0x05, + 0x03, 0x6c, 0x7b, 0xd8, 0x3c, 0x30, 0x12, 0x9f, 0xa9, 0x45, 0xa0, 0x64, + 0x42, 0x65, 0x92, 0xab, 0xa3, 0x0f, 0xbc, 0x0f, 0xd0, 0xa1, 0x1e, 0x13, + 0xba, 0x37, 0x2a, 0x72, 0xb6, 0xff, 0x72, 0xd0, 0x14, 0xbc, 0xe5, 0x09, + 0xb1, 0xd4, 0x33, 0x8d, 0x79, 0x71, 0x39, 0xba, 0x67, 0x07, 0x4e, 0x10, + 0x9d, 0x06, 0xcc, 0x49, +}; +static const struct drbg_kat_pr_true kat3243_t = { + 2, kat3243_entropyin, kat3243_nonce, kat3243_persstr, + kat3243_entropyinpr1, kat3243_addinpr1, kat3243_entropyinpr2, + kat3243_addinpr2, kat3243_retbits +}; +static const struct drbg_kat kat3243 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3243_t +}; + +static const unsigned char kat3244_entropyin[] = { + 0xc6, 0x29, 0xc3, 0x42, 0xec, 0x3d, 0xf6, 0x9e, 0x58, 0xf6, 0x83, 0x15, + 0xe4, 0x2c, 0x96, 0x0b, 0x5a, 0x3a, 0xff, 0x74, 0xe9, 0xf1, 0x32, 0xf3, +}; +static const unsigned char kat3244_nonce[] = { + 0xf6, 0x9e, 0x97, 0xbd, 0x53, 0xe0, 0x7a, 0x81, 0xd2, 0xb0, 0x10, 0x9d, + 0x7f, 0xce, 0x74, 0x68, +}; +static const unsigned char kat3244_persstr[] = {0}; +static const unsigned char kat3244_entropyinpr1[] = { + 0x43, 0xb6, 0x10, 0x43, 0xcc, 0xf4, 0x2d, 0x4b, 0xb7, 0x13, 0xa8, 0x9e, + 0xc5, 0x05, 0xa3, 0x1c, 0x1c, 0xe0, 0x0a, 0xb6, 0xd0, 0x82, 0x0e, 0xb0, +}; +static const unsigned char kat3244_addinpr1[] = {0}; +static const unsigned char kat3244_entropyinpr2[] = { + 0xd7, 0xf5, 0x49, 0xcf, 0xb8, 0x0c, 0xf9, 0xe0, 0x7c, 0xca, 0x6d, 0x21, + 0x6a, 0x58, 0xc9, 0x84, 0xfb, 0x46, 0xbf, 0x65, 0xb1, 0xb6, 0x0b, 0xfe, +}; +static const unsigned char kat3244_addinpr2[] = {0}; +static const unsigned char kat3244_retbits[] = { + 0xd5, 0x36, 0xff, 0xf4, 0xc0, 0x91, 0x45, 0x65, 0x5c, 0xdb, 0xbe, 0xa8, + 0x8e, 0xca, 0x8b, 0x62, 0xf0, 0xb3, 0xb8, 0x57, 0x67, 0xe8, 0x4e, 0x16, + 0x47, 0x56, 0xcb, 0x36, 0xbf, 0x39, 0xb0, 0x02, 0xeb, 0x3c, 0x6e, 0x5d, + 0x30, 0xda, 0x1f, 0xb2, 0x4b, 0x10, 0xfe, 0xc2, 0xe0, 0x64, 0x7a, 0x76, + 0x88, 0xab, 0x62, 0x47, 0xcc, 0x24, 0x2a, 0x32, 0x41, 0xdf, 0x25, 0x5a, + 0x11, 0x62, 0x46, 0xdc, +}; +static const struct drbg_kat_pr_true kat3244_t = { + 3, kat3244_entropyin, kat3244_nonce, kat3244_persstr, + kat3244_entropyinpr1, kat3244_addinpr1, kat3244_entropyinpr2, + kat3244_addinpr2, kat3244_retbits +}; +static const struct drbg_kat kat3244 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3244_t +}; + +static const unsigned char kat3245_entropyin[] = { + 0xd7, 0x17, 0xe4, 0x32, 0x5c, 0x57, 0x51, 0xd1, 0x1f, 0xc6, 0x94, 0xd9, + 0x9f, 0xca, 0xde, 0xfe, 0x27, 0xf9, 0x99, 0xca, 0x76, 0x6b, 0x0e, 0x68, +}; +static const unsigned char kat3245_nonce[] = { + 0x6e, 0x1f, 0xa6, 0x84, 0x50, 0x69, 0x52, 0x6b, 0x8d, 0x85, 0x9d, 0x65, + 0xb3, 0x0b, 0x65, 0xb9, +}; +static const unsigned char kat3245_persstr[] = {0}; +static const unsigned char kat3245_entropyinpr1[] = { + 0xbe, 0x98, 0x62, 0xdb, 0xc0, 0x8e, 0xf6, 0x8d, 0x31, 0xdb, 0xdc, 0x99, + 0x99, 0xf9, 0x28, 0x5a, 0x31, 0xb7, 0x6c, 0x0c, 0x5d, 0x88, 0x00, 0x1f, +}; +static const unsigned char kat3245_addinpr1[] = {0}; +static const unsigned char kat3245_entropyinpr2[] = { + 0x82, 0x04, 0x5d, 0x3d, 0x26, 0x97, 0xe7, 0xed, 0xc8, 0x0c, 0x9f, 0x26, + 0x18, 0xb2, 0x60, 0x3e, 0x2f, 0x5b, 0x66, 0x21, 0xc0, 0x4a, 0x1a, 0x2d, +}; +static const unsigned char kat3245_addinpr2[] = {0}; +static const unsigned char kat3245_retbits[] = { + 0xdc, 0x0e, 0x3b, 0xd9, 0x07, 0xe1, 0x89, 0xfc, 0x2a, 0xb2, 0x9a, 0xba, + 0x11, 0x29, 0x99, 0xbf, 0xdf, 0xf3, 0x3a, 0x5c, 0x5f, 0xc5, 0x8b, 0xd8, + 0xd9, 0xb2, 0x74, 0x5f, 0xa6, 0xc7, 0xd0, 0xe5, 0xf0, 0x7f, 0xd8, 0x74, + 0xb5, 0x11, 0x74, 0x62, 0x8b, 0x55, 0x10, 0xa1, 0x58, 0x6f, 0xc0, 0x15, + 0x6a, 0x10, 0x4e, 0x29, 0xe9, 0x51, 0x03, 0xda, 0xc6, 0x6e, 0xd1, 0xc4, + 0x4d, 0x86, 0x98, 0x6c, +}; +static const struct drbg_kat_pr_true kat3245_t = { + 4, kat3245_entropyin, kat3245_nonce, kat3245_persstr, + kat3245_entropyinpr1, kat3245_addinpr1, kat3245_entropyinpr2, + kat3245_addinpr2, kat3245_retbits +}; +static const struct drbg_kat kat3245 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3245_t +}; + +static const unsigned char kat3246_entropyin[] = { + 0xc2, 0xdd, 0x05, 0x1e, 0xbe, 0x2d, 0xe8, 0x55, 0xc8, 0x21, 0xfb, 0xe9, + 0x12, 0x4a, 0xac, 0x3e, 0x01, 0x6c, 0x85, 0x94, 0x77, 0xb4, 0x84, 0xcb, +}; +static const unsigned char kat3246_nonce[] = { + 0xbd, 0x1f, 0xab, 0x03, 0x7d, 0xdd, 0x20, 0x31, 0x21, 0x2f, 0xe3, 0x54, + 0x84, 0x5c, 0xa9, 0xf0, +}; +static const unsigned char kat3246_persstr[] = {0}; +static const unsigned char kat3246_entropyinpr1[] = { + 0x31, 0x37, 0x7b, 0x81, 0x83, 0xae, 0x04, 0x86, 0xf0, 0xa6, 0x2a, 0x0c, + 0x8c, 0x67, 0x33, 0xe9, 0xfe, 0x56, 0x0e, 0x05, 0xfe, 0xd5, 0x80, 0x5b, +}; +static const unsigned char kat3246_addinpr1[] = {0}; +static const unsigned char kat3246_entropyinpr2[] = { + 0x1d, 0x0e, 0x97, 0x5f, 0x2e, 0xae, 0x84, 0x56, 0x2c, 0x6e, 0x57, 0x4a, + 0x51, 0x69, 0xa8, 0x47, 0x2c, 0xb4, 0xae, 0x48, 0xc5, 0x8e, 0x43, 0x6a, +}; +static const unsigned char kat3246_addinpr2[] = {0}; +static const unsigned char kat3246_retbits[] = { + 0x8a, 0x5e, 0xdc, 0x00, 0x34, 0xc1, 0x0d, 0x87, 0x1b, 0xa2, 0xe0, 0xa8, + 0x04, 0x3c, 0x51, 0x8c, 0x3a, 0x00, 0x92, 0x62, 0x8b, 0x73, 0x8f, 0xb7, + 0x1b, 0x3d, 0x61, 0x48, 0x77, 0xdc, 0x26, 0x40, 0xf9, 0x7f, 0x2d, 0x05, + 0x23, 0x4b, 0xfd, 0xb6, 0xa3, 0x8b, 0x51, 0x8b, 0x70, 0x74, 0x45, 0x36, + 0x6d, 0x0a, 0xf1, 0x69, 0x8f, 0x28, 0x3f, 0x87, 0xb0, 0x59, 0xfb, 0x10, + 0x95, 0x7f, 0x33, 0x61, +}; +static const struct drbg_kat_pr_true kat3246_t = { + 5, kat3246_entropyin, kat3246_nonce, kat3246_persstr, + kat3246_entropyinpr1, kat3246_addinpr1, kat3246_entropyinpr2, + kat3246_addinpr2, kat3246_retbits +}; +static const struct drbg_kat kat3246 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3246_t +}; + +static const unsigned char kat3247_entropyin[] = { + 0xd4, 0x27, 0x1d, 0xdd, 0xf1, 0xf7, 0xcb, 0xbe, 0xd8, 0xf3, 0x5d, 0x03, + 0x40, 0xed, 0xb3, 0x37, 0x0b, 0x78, 0x47, 0x37, 0xf8, 0x19, 0x77, 0x1e, +}; +static const unsigned char kat3247_nonce[] = { + 0xe5, 0x76, 0x6f, 0x00, 0xd7, 0xba, 0x49, 0xf2, 0x82, 0xca, 0xa1, 0x83, + 0x44, 0x32, 0xc7, 0x22, +}; +static const unsigned char kat3247_persstr[] = {0}; +static const unsigned char kat3247_entropyinpr1[] = { + 0x78, 0xda, 0x59, 0xc9, 0x3b, 0x18, 0x16, 0xa2, 0x13, 0x35, 0x60, 0xc3, + 0x0b, 0xd4, 0xff, 0x24, 0x83, 0x70, 0xf1, 0x7c, 0xcb, 0xe5, 0xfd, 0x63, +}; +static const unsigned char kat3247_addinpr1[] = {0}; +static const unsigned char kat3247_entropyinpr2[] = { + 0xf8, 0x4b, 0xf4, 0x21, 0x47, 0xf1, 0x24, 0x1a, 0xd4, 0x41, 0x0c, 0x86, + 0x5b, 0x05, 0xc2, 0xf6, 0x62, 0x1f, 0xc7, 0x04, 0x1f, 0x58, 0x56, 0x3f, +}; +static const unsigned char kat3247_addinpr2[] = {0}; +static const unsigned char kat3247_retbits[] = { + 0x24, 0x2e, 0x64, 0xff, 0x2b, 0x44, 0x2f, 0x50, 0x6c, 0x0a, 0xaa, 0x5b, + 0x40, 0x1e, 0x97, 0x7a, 0x76, 0xa8, 0x29, 0x86, 0xc9, 0xc6, 0x8b, 0x46, + 0xaf, 0xc3, 0x26, 0x68, 0xf5, 0x97, 0xa4, 0x14, 0xcd, 0x55, 0xc3, 0xee, + 0x29, 0x45, 0xb1, 0x8a, 0x0e, 0xef, 0x09, 0x2c, 0x1c, 0x08, 0xa7, 0xcf, + 0xc9, 0x7c, 0x0a, 0x55, 0xb1, 0xfc, 0x2e, 0xa5, 0xad, 0x1b, 0xd1, 0x40, + 0xca, 0x21, 0x7c, 0x50, +}; +static const struct drbg_kat_pr_true kat3247_t = { + 6, kat3247_entropyin, kat3247_nonce, kat3247_persstr, + kat3247_entropyinpr1, kat3247_addinpr1, kat3247_entropyinpr2, + kat3247_addinpr2, kat3247_retbits +}; +static const struct drbg_kat kat3247 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3247_t +}; + +static const unsigned char kat3248_entropyin[] = { + 0x2c, 0x76, 0x76, 0x49, 0xbc, 0x7e, 0xd0, 0xe8, 0xfe, 0xcc, 0x1f, 0xe6, + 0x4e, 0x19, 0xa7, 0xf6, 0x22, 0x3f, 0xb9, 0x49, 0x31, 0x48, 0x0e, 0x0c, +}; +static const unsigned char kat3248_nonce[] = { + 0x53, 0xde, 0xbf, 0x7c, 0x47, 0xe2, 0x43, 0xea, 0x64, 0x4d, 0x94, 0xbb, + 0xf3, 0xf6, 0x36, 0xa5, +}; +static const unsigned char kat3248_persstr[] = {0}; +static const unsigned char kat3248_entropyinpr1[] = { + 0x19, 0x82, 0x07, 0x52, 0xc2, 0x20, 0x05, 0xa9, 0xd1, 0xf2, 0x90, 0x57, + 0x67, 0xce, 0x33, 0xcb, 0x22, 0xa4, 0xcb, 0xb0, 0x2e, 0x46, 0xe6, 0xa2, +}; +static const unsigned char kat3248_addinpr1[] = {0}; +static const unsigned char kat3248_entropyinpr2[] = { + 0x47, 0xd7, 0x6e, 0x61, 0x5f, 0x76, 0x77, 0x25, 0xa6, 0x14, 0x5b, 0xf7, + 0xc8, 0x7d, 0x97, 0x9f, 0x11, 0x52, 0x61, 0x1a, 0x99, 0xda, 0x52, 0x67, +}; +static const unsigned char kat3248_addinpr2[] = {0}; +static const unsigned char kat3248_retbits[] = { + 0x41, 0xdf, 0xc9, 0xe6, 0x86, 0xbf, 0x0b, 0x6a, 0x77, 0xb4, 0x62, 0x62, + 0x8e, 0xce, 0x65, 0x00, 0xa0, 0xcf, 0xde, 0x23, 0x58, 0x79, 0xf8, 0xfc, + 0x5c, 0xdc, 0xf1, 0x40, 0xad, 0x95, 0xfd, 0xb0, 0x2d, 0xd8, 0x4c, 0x34, + 0x06, 0x9d, 0xc7, 0xc1, 0x80, 0x93, 0x2e, 0xcf, 0x25, 0x23, 0xfe, 0x17, + 0x27, 0x45, 0x41, 0xb6, 0xf0, 0x68, 0x5d, 0x99, 0xe0, 0xcc, 0xb9, 0x72, + 0x4e, 0xfc, 0xd4, 0xba, +}; +static const struct drbg_kat_pr_true kat3248_t = { + 7, kat3248_entropyin, kat3248_nonce, kat3248_persstr, + kat3248_entropyinpr1, kat3248_addinpr1, kat3248_entropyinpr2, + kat3248_addinpr2, kat3248_retbits +}; +static const struct drbg_kat kat3248 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3248_t +}; + +static const unsigned char kat3249_entropyin[] = { + 0x20, 0x14, 0x56, 0x8d, 0x17, 0xb6, 0x2a, 0xfb, 0xae, 0x1f, 0x1e, 0xb0, + 0x07, 0x00, 0x01, 0x74, 0xc5, 0x3c, 0xc4, 0xce, 0x2a, 0x6e, 0x26, 0x50, +}; +static const unsigned char kat3249_nonce[] = { + 0xcf, 0x75, 0x03, 0x9d, 0x2e, 0x1d, 0xb9, 0x74, 0x16, 0x1b, 0x8f, 0x08, + 0x10, 0x81, 0xa6, 0xda, +}; +static const unsigned char kat3249_persstr[] = {0}; +static const unsigned char kat3249_entropyinpr1[] = { + 0x34, 0xd3, 0xa9, 0xc6, 0x03, 0x8d, 0xd0, 0x99, 0xe9, 0x14, 0x26, 0x04, + 0x53, 0x33, 0x55, 0x3a, 0x5e, 0x0a, 0xc8, 0x95, 0x3d, 0x84, 0xa2, 0x5f, +}; +static const unsigned char kat3249_addinpr1[] = {0}; +static const unsigned char kat3249_entropyinpr2[] = { + 0x95, 0x66, 0x77, 0x1e, 0x80, 0x09, 0x85, 0x6f, 0xfc, 0x1a, 0x73, 0xde, + 0xd0, 0x25, 0x2d, 0x69, 0x6d, 0xff, 0x7b, 0xf9, 0x36, 0xf7, 0xfb, 0xef, +}; +static const unsigned char kat3249_addinpr2[] = {0}; +static const unsigned char kat3249_retbits[] = { + 0x94, 0xc1, 0x8c, 0xa0, 0x32, 0x1e, 0xa0, 0xa4, 0xc3, 0xe8, 0x9d, 0xb8, + 0xc3, 0x5d, 0x54, 0x6c, 0x3f, 0xf4, 0xdd, 0xe0, 0x8c, 0xe0, 0x8e, 0xea, + 0x74, 0xe5, 0x99, 0x47, 0xad, 0xf2, 0xbb, 0x26, 0x81, 0x84, 0x38, 0xf1, + 0x5c, 0x7e, 0x0a, 0x83, 0xa7, 0x0c, 0x07, 0x33, 0xd9, 0xa9, 0xd9, 0xea, + 0xab, 0x5d, 0x4f, 0x32, 0x0a, 0xf4, 0xbd, 0xc1, 0xb5, 0xa3, 0x6d, 0x22, + 0xad, 0xfb, 0x1d, 0x30, +}; +static const struct drbg_kat_pr_true kat3249_t = { + 8, kat3249_entropyin, kat3249_nonce, kat3249_persstr, + kat3249_entropyinpr1, kat3249_addinpr1, kat3249_entropyinpr2, + kat3249_addinpr2, kat3249_retbits +}; +static const struct drbg_kat kat3249 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3249_t +}; + +static const unsigned char kat3250_entropyin[] = { + 0x94, 0x59, 0xf1, 0x5b, 0xd9, 0xd2, 0x01, 0x3e, 0x5c, 0x48, 0x4a, 0xcc, + 0x95, 0x40, 0xca, 0x53, 0x46, 0x27, 0x7c, 0xe8, 0x97, 0xaa, 0xb7, 0xe5, +}; +static const unsigned char kat3250_nonce[] = { + 0xa2, 0x9d, 0xb2, 0xb5, 0xac, 0x47, 0x69, 0xf0, 0x1d, 0x65, 0x63, 0x15, + 0x13, 0xf4, 0xde, 0x2d, +}; +static const unsigned char kat3250_persstr[] = {0}; +static const unsigned char kat3250_entropyinpr1[] = { + 0x3e, 0x05, 0x42, 0x24, 0xa8, 0xbd, 0x35, 0xd2, 0xfe, 0x61, 0xd2, 0xdb, + 0x86, 0x3e, 0x78, 0x56, 0xde, 0xb6, 0x7c, 0x6a, 0xf6, 0xb7, 0x59, 0x1a, +}; +static const unsigned char kat3250_addinpr1[] = {0}; +static const unsigned char kat3250_entropyinpr2[] = { + 0x1f, 0x53, 0xc0, 0x5d, 0x2c, 0x1e, 0xfa, 0xf5, 0x0f, 0x97, 0xe3, 0x76, + 0x72, 0x0e, 0xc4, 0xf8, 0x36, 0x25, 0xcd, 0x8b, 0x4d, 0x97, 0xec, 0xc4, +}; +static const unsigned char kat3250_addinpr2[] = {0}; +static const unsigned char kat3250_retbits[] = { + 0xb0, 0x8a, 0xbb, 0xa4, 0x07, 0xd0, 0x52, 0x04, 0xe2, 0x1f, 0xec, 0x32, + 0xe8, 0x49, 0x60, 0xdd, 0x0d, 0xb0, 0xbc, 0xd4, 0x32, 0x74, 0x05, 0xd2, + 0xb2, 0xb8, 0xca, 0x3f, 0xcd, 0x34, 0x5d, 0xee, 0xfa, 0x61, 0x26, 0x0d, + 0x9c, 0x37, 0xa7, 0x63, 0x7d, 0x14, 0x57, 0x78, 0xc0, 0x47, 0x69, 0x2b, + 0xc1, 0x73, 0x6c, 0xf1, 0x33, 0x4c, 0x8d, 0x1a, 0x67, 0x39, 0x2f, 0xd0, + 0xcf, 0xb8, 0x68, 0x16, +}; +static const struct drbg_kat_pr_true kat3250_t = { + 9, kat3250_entropyin, kat3250_nonce, kat3250_persstr, + kat3250_entropyinpr1, kat3250_addinpr1, kat3250_entropyinpr2, + kat3250_addinpr2, kat3250_retbits +}; +static const struct drbg_kat kat3250 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3250_t +}; + +static const unsigned char kat3251_entropyin[] = { + 0xf1, 0x48, 0x75, 0x07, 0x86, 0x60, 0xb1, 0x37, 0x31, 0xe8, 0xad, 0x31, + 0x42, 0x02, 0x17, 0x76, 0x2c, 0xe7, 0xae, 0x70, 0x9b, 0xf0, 0x7b, 0x86, +}; +static const unsigned char kat3251_nonce[] = { + 0x8c, 0xde, 0x82, 0x2c, 0xac, 0xa5, 0xa8, 0x0b, 0xa2, 0x19, 0xdb, 0xf6, + 0x71, 0xec, 0xed, 0x59, +}; +static const unsigned char kat3251_persstr[] = {0}; +static const unsigned char kat3251_entropyinpr1[] = { + 0x63, 0x19, 0x9a, 0xd9, 0x15, 0x9d, 0x21, 0x38, 0x54, 0xe5, 0xfc, 0xa9, + 0x70, 0xd8, 0x42, 0x1c, 0xa1, 0x24, 0x08, 0x35, 0xec, 0x63, 0x2c, 0x5d, +}; +static const unsigned char kat3251_addinpr1[] = {0}; +static const unsigned char kat3251_entropyinpr2[] = { + 0x11, 0x0a, 0x3a, 0x8a, 0x22, 0xec, 0x74, 0xd0, 0xf3, 0xb9, 0xad, 0xfb, + 0xa9, 0xa8, 0xad, 0xe6, 0xbb, 0x80, 0x0f, 0x39, 0xfe, 0x61, 0xa2, 0x2d, +}; +static const unsigned char kat3251_addinpr2[] = {0}; +static const unsigned char kat3251_retbits[] = { + 0xc5, 0xc8, 0x03, 0x9c, 0x83, 0xd2, 0x10, 0x08, 0x4e, 0x5f, 0x20, 0xc7, + 0x8e, 0xc0, 0xf9, 0x4a, 0xdb, 0x5b, 0xb4, 0x81, 0x26, 0x13, 0xa8, 0xd8, + 0xc2, 0x03, 0x4d, 0xc1, 0x88, 0x8d, 0x94, 0xd1, 0x54, 0x7f, 0x9c, 0x88, + 0x7f, 0xaa, 0x7f, 0x56, 0xca, 0x2c, 0x2d, 0x5b, 0x95, 0x68, 0x41, 0x0a, + 0xf5, 0xd0, 0x12, 0xcf, 0x1d, 0xaa, 0x39, 0x90, 0x8e, 0x18, 0x82, 0x32, + 0xc5, 0xd6, 0xa9, 0x66, +}; +static const struct drbg_kat_pr_true kat3251_t = { + 10, kat3251_entropyin, kat3251_nonce, kat3251_persstr, + kat3251_entropyinpr1, kat3251_addinpr1, kat3251_entropyinpr2, + kat3251_addinpr2, kat3251_retbits +}; +static const struct drbg_kat kat3251 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3251_t +}; + +static const unsigned char kat3252_entropyin[] = { + 0xd1, 0x24, 0x38, 0x93, 0x2b, 0x13, 0x9d, 0xb2, 0x26, 0x7c, 0xc3, 0x4c, + 0x9f, 0x5e, 0xc5, 0xfb, 0xfa, 0xde, 0x88, 0x93, 0x66, 0x29, 0xa7, 0xb3, +}; +static const unsigned char kat3252_nonce[] = { + 0x19, 0x5c, 0x6e, 0x32, 0x67, 0x71, 0x42, 0xd1, 0x1d, 0x23, 0x75, 0x5f, + 0x01, 0x15, 0xd0, 0x48, +}; +static const unsigned char kat3252_persstr[] = {0}; +static const unsigned char kat3252_entropyinpr1[] = { + 0x49, 0x95, 0x38, 0xa8, 0x23, 0x28, 0xc9, 0xe8, 0xcf, 0xc1, 0x8e, 0x0a, + 0x38, 0x32, 0x1b, 0xed, 0x31, 0x34, 0xdd, 0x01, 0x81, 0x5f, 0xc6, 0x05, +}; +static const unsigned char kat3252_addinpr1[] = {0}; +static const unsigned char kat3252_entropyinpr2[] = { + 0xa2, 0x7c, 0xb4, 0x62, 0xe6, 0x73, 0x77, 0x27, 0x8c, 0xd7, 0x1b, 0x33, + 0x4d, 0xd6, 0x21, 0x82, 0xb9, 0x73, 0xb2, 0xab, 0x54, 0xe9, 0x42, 0x5d, +}; +static const unsigned char kat3252_addinpr2[] = {0}; +static const unsigned char kat3252_retbits[] = { + 0x6e, 0x58, 0x3e, 0x08, 0x55, 0xe8, 0x5d, 0xf3, 0x2a, 0xa9, 0x64, 0xb6, + 0x63, 0xda, 0x0e, 0x6f, 0xac, 0x98, 0x9f, 0xfe, 0x62, 0x5f, 0x19, 0xda, + 0x25, 0x33, 0x01, 0xb2, 0x20, 0x86, 0x3e, 0xb3, 0xa8, 0xad, 0x56, 0xfb, + 0xf2, 0x83, 0x4f, 0xe8, 0xec, 0x2c, 0x74, 0x6a, 0xc2, 0x36, 0x3f, 0x1c, + 0x70, 0x5e, 0x3e, 0xfb, 0x9b, 0x1a, 0x17, 0x59, 0x6c, 0xf6, 0xd6, 0xa9, + 0x07, 0xad, 0x8e, 0x55, +}; +static const struct drbg_kat_pr_true kat3252_t = { + 11, kat3252_entropyin, kat3252_nonce, kat3252_persstr, + kat3252_entropyinpr1, kat3252_addinpr1, kat3252_entropyinpr2, + kat3252_addinpr2, kat3252_retbits +}; +static const struct drbg_kat kat3252 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3252_t +}; + +static const unsigned char kat3253_entropyin[] = { + 0x6a, 0x65, 0x0d, 0xb4, 0x71, 0x54, 0x5b, 0x7a, 0xe8, 0x0c, 0xff, 0xaf, + 0xd8, 0x9d, 0x2e, 0x16, 0x24, 0x76, 0x37, 0xb2, 0xb3, 0xf6, 0xab, 0x95, +}; +static const unsigned char kat3253_nonce[] = { + 0xaf, 0xb6, 0xb4, 0x5f, 0xc0, 0xce, 0x3c, 0xcb, 0x4b, 0xb7, 0x9f, 0xc5, + 0x10, 0xfd, 0x3b, 0x61, +}; +static const unsigned char kat3253_persstr[] = {0}; +static const unsigned char kat3253_entropyinpr1[] = { + 0x4e, 0xe0, 0x3c, 0x38, 0xb1, 0xe9, 0x17, 0x69, 0xde, 0xd3, 0xcf, 0x02, + 0x87, 0x54, 0x20, 0xbd, 0xc3, 0x50, 0x87, 0x02, 0xac, 0x38, 0x67, 0xaa, +}; +static const unsigned char kat3253_addinpr1[] = {0}; +static const unsigned char kat3253_entropyinpr2[] = { + 0x80, 0xb4, 0x28, 0x4f, 0xcc, 0xb6, 0x0a, 0x3b, 0x79, 0x6c, 0x00, 0xee, + 0x6b, 0x74, 0x1a, 0x23, 0xd2, 0x26, 0xf6, 0x85, 0xec, 0xce, 0x8d, 0xb0, +}; +static const unsigned char kat3253_addinpr2[] = {0}; +static const unsigned char kat3253_retbits[] = { + 0xca, 0x4e, 0x56, 0x7a, 0xf7, 0x87, 0xa1, 0xcd, 0x40, 0x1d, 0xb1, 0xa8, + 0xe8, 0x29, 0xe2, 0x02, 0x1d, 0x49, 0xce, 0xa4, 0x91, 0xce, 0xe3, 0x66, + 0xfa, 0x28, 0x28, 0xa1, 0x5d, 0x00, 0x2c, 0x42, 0x81, 0xe4, 0x05, 0x04, + 0x25, 0x3a, 0x63, 0x57, 0xd4, 0x25, 0x22, 0x74, 0xeb, 0x5a, 0x52, 0x0b, + 0xa8, 0x33, 0x01, 0xec, 0x9f, 0x0b, 0x86, 0xd3, 0x3c, 0x14, 0x95, 0xff, + 0xa7, 0xa5, 0xdd, 0x02, +}; +static const struct drbg_kat_pr_true kat3253_t = { + 12, kat3253_entropyin, kat3253_nonce, kat3253_persstr, + kat3253_entropyinpr1, kat3253_addinpr1, kat3253_entropyinpr2, + kat3253_addinpr2, kat3253_retbits +}; +static const struct drbg_kat kat3253 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3253_t +}; + +static const unsigned char kat3254_entropyin[] = { + 0x8e, 0xce, 0xfd, 0xb6, 0xc3, 0x77, 0x49, 0x05, 0x73, 0x21, 0x2a, 0xf8, + 0x28, 0x8f, 0x8b, 0x48, 0x31, 0xed, 0xd5, 0xd1, 0x23, 0x97, 0xf2, 0x0b, +}; +static const unsigned char kat3254_nonce[] = { + 0x40, 0x58, 0x5b, 0x6f, 0xa6, 0x5d, 0x92, 0x9f, 0x82, 0x99, 0xb3, 0x64, + 0x18, 0x85, 0xb4, 0x5e, +}; +static const unsigned char kat3254_persstr[] = {0}; +static const unsigned char kat3254_entropyinpr1[] = { + 0x2e, 0xbe, 0x72, 0x83, 0xb6, 0x5c, 0x2b, 0xb3, 0xf5, 0xd4, 0x3d, 0x85, + 0x15, 0x7a, 0xc1, 0xcd, 0x51, 0x5c, 0x09, 0x51, 0x4a, 0xe7, 0x65, 0x4c, +}; +static const unsigned char kat3254_addinpr1[] = {0}; +static const unsigned char kat3254_entropyinpr2[] = { + 0xd8, 0x3d, 0x72, 0xf8, 0x82, 0x46, 0xee, 0x47, 0xef, 0x21, 0x25, 0x71, + 0x01, 0xbf, 0xbb, 0xc6, 0xea, 0xc4, 0xd1, 0xdd, 0xfc, 0x11, 0x72, 0x0c, +}; +static const unsigned char kat3254_addinpr2[] = {0}; +static const unsigned char kat3254_retbits[] = { + 0x44, 0xea, 0xea, 0x42, 0x85, 0xf2, 0x23, 0x50, 0xed, 0x93, 0x16, 0xd5, + 0x98, 0x8c, 0x46, 0x63, 0xbb, 0x10, 0xe1, 0x19, 0xd6, 0xc1, 0xb6, 0x34, + 0xe0, 0xae, 0x2c, 0x8b, 0xd5, 0xf7, 0x61, 0x93, 0x68, 0x1c, 0xc4, 0xb9, + 0x70, 0xc1, 0x85, 0x6d, 0x8d, 0xcf, 0x05, 0xdc, 0x9c, 0xce, 0x10, 0xac, + 0x02, 0x37, 0x5c, 0x69, 0x15, 0xa2, 0x4e, 0x18, 0xa6, 0xe5, 0x41, 0x87, + 0x29, 0x45, 0x6a, 0x6b, +}; +static const struct drbg_kat_pr_true kat3254_t = { + 13, kat3254_entropyin, kat3254_nonce, kat3254_persstr, + kat3254_entropyinpr1, kat3254_addinpr1, kat3254_entropyinpr2, + kat3254_addinpr2, kat3254_retbits +}; +static const struct drbg_kat kat3254 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3254_t +}; + +static const unsigned char kat3255_entropyin[] = { + 0x2e, 0x2d, 0x70, 0xb4, 0x76, 0xb5, 0xfb, 0x6a, 0x31, 0x38, 0x6d, 0xe5, + 0x4b, 0xc8, 0x56, 0x0b, 0xdb, 0xeb, 0x71, 0xc3, 0xa6, 0x65, 0xe7, 0xec, +}; +static const unsigned char kat3255_nonce[] = { + 0xec, 0x20, 0x77, 0x7f, 0xc2, 0x42, 0x3f, 0xc4, 0x8c, 0x5d, 0x42, 0xcb, + 0xa3, 0x16, 0x15, 0x9e, +}; +static const unsigned char kat3255_persstr[] = {0}; +static const unsigned char kat3255_entropyinpr1[] = { + 0x6c, 0x93, 0xa1, 0xa3, 0x67, 0x21, 0x82, 0x2e, 0x01, 0x9e, 0x23, 0x11, + 0x34, 0x67, 0x2b, 0xcd, 0xcc, 0xaf, 0x8d, 0x5d, 0x48, 0x7e, 0xda, 0x2f, +}; +static const unsigned char kat3255_addinpr1[] = {0}; +static const unsigned char kat3255_entropyinpr2[] = { + 0x2e, 0xa8, 0xa8, 0x2d, 0x9d, 0x02, 0x3c, 0xc9, 0x66, 0x36, 0x8e, 0xa6, + 0x49, 0x9e, 0x1b, 0x1b, 0xee, 0xe4, 0x33, 0x3c, 0x13, 0xa0, 0x96, 0xdd, +}; +static const unsigned char kat3255_addinpr2[] = {0}; +static const unsigned char kat3255_retbits[] = { + 0x3f, 0x79, 0x16, 0x40, 0xa2, 0x11, 0x75, 0x36, 0x99, 0x35, 0x35, 0x8e, + 0xc7, 0x78, 0x03, 0x2c, 0xaf, 0xec, 0x59, 0x19, 0x9b, 0x52, 0x9c, 0x97, + 0xba, 0x62, 0x34, 0xf4, 0x33, 0x09, 0x8d, 0xcc, 0x32, 0xfa, 0x9f, 0x26, + 0xb2, 0x36, 0x53, 0x36, 0x91, 0x45, 0x7c, 0x2a, 0x50, 0xc1, 0xc1, 0x21, + 0xc9, 0xbe, 0x3f, 0xe6, 0x78, 0xca, 0x77, 0xac, 0xee, 0xfa, 0xdb, 0x86, + 0x30, 0x70, 0x72, 0x80, +}; +static const struct drbg_kat_pr_true kat3255_t = { + 14, kat3255_entropyin, kat3255_nonce, kat3255_persstr, + kat3255_entropyinpr1, kat3255_addinpr1, kat3255_entropyinpr2, + kat3255_addinpr2, kat3255_retbits +}; +static const struct drbg_kat kat3255 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3255_t +}; + +static const unsigned char kat3256_entropyin[] = { + 0x19, 0x99, 0xd2, 0x99, 0xc4, 0x76, 0x4c, 0x04, 0x84, 0xa2, 0x85, 0xb8, + 0xb9, 0x82, 0xab, 0x11, 0xd0, 0x44, 0x10, 0x3b, 0xc5, 0x7e, 0x50, 0x26, +}; +static const unsigned char kat3256_nonce[] = { + 0x40, 0xec, 0xc1, 0xe9, 0x78, 0xb3, 0x0a, 0x65, 0x84, 0x66, 0x7e, 0x83, + 0xf5, 0x3c, 0xa6, 0xb5, +}; +static const unsigned char kat3256_persstr[] = {0}; +static const unsigned char kat3256_entropyinpr1[] = { + 0x4b, 0x17, 0x5b, 0x4f, 0x53, 0x98, 0x9d, 0x48, 0x1e, 0x78, 0x61, 0x2f, + 0x0e, 0x17, 0xd2, 0x99, 0xa1, 0x95, 0x32, 0x0e, 0xa7, 0xe3, 0xa4, 0x65, +}; +static const unsigned char kat3256_addinpr1[] = { + 0xd5, 0xfd, 0x9f, 0xca, 0x6a, 0x17, 0x59, 0x22, 0x63, 0x80, 0x8d, 0xe3, + 0x64, 0xab, 0x61, 0xe4, 0xe5, 0x52, 0x16, 0xb7, 0xf0, 0x12, 0xb5, 0x62, + 0x94, 0xf1, 0x20, 0x5f, 0xb3, 0x00, 0x5e, 0x66, +}; +static const unsigned char kat3256_entropyinpr2[] = { + 0x1b, 0x53, 0xca, 0xfa, 0x3d, 0x23, 0x8e, 0xde, 0xc7, 0xf3, 0x99, 0x42, + 0x61, 0xf4, 0x45, 0x05, 0x02, 0x3b, 0x72, 0xff, 0xe1, 0x4e, 0x94, 0xb4, +}; +static const unsigned char kat3256_addinpr2[] = { + 0x7c, 0xb6, 0x52, 0x74, 0xcc, 0xa9, 0xa8, 0x4f, 0xf4, 0x9c, 0x31, 0xa4, + 0xe2, 0xc6, 0x56, 0xfa, 0xfe, 0x25, 0x43, 0x61, 0x98, 0xc7, 0xfb, 0xab, + 0xfa, 0x1f, 0xc2, 0xc1, 0x66, 0x8a, 0x80, 0x91, +}; +static const unsigned char kat3256_retbits[] = { + 0xbe, 0xdb, 0xc0, 0xd6, 0x7f, 0xea, 0xdd, 0x19, 0x72, 0x79, 0x40, 0x5b, + 0x5a, 0x59, 0xe7, 0xd3, 0x50, 0xe3, 0xb7, 0xe4, 0xfd, 0x4e, 0x17, 0xfe, + 0xf0, 0x87, 0x18, 0x6f, 0x33, 0xba, 0xce, 0xcc, 0x7c, 0xbb, 0x48, 0x86, + 0x95, 0x20, 0xae, 0x90, 0x6c, 0xc4, 0xa5, 0x5b, 0x44, 0x4a, 0x93, 0x80, + 0xd3, 0xf0, 0x69, 0x52, 0xd2, 0x76, 0x90, 0x8f, 0x85, 0x65, 0x22, 0x84, + 0xa1, 0xde, 0x50, 0xc1, +}; +static const struct drbg_kat_pr_true kat3256_t = { + 0, kat3256_entropyin, kat3256_nonce, kat3256_persstr, + kat3256_entropyinpr1, kat3256_addinpr1, kat3256_entropyinpr2, + kat3256_addinpr2, kat3256_retbits +}; +static const struct drbg_kat kat3256 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3256_t +}; + +static const unsigned char kat3257_entropyin[] = { + 0xe6, 0x6a, 0x54, 0xa9, 0x45, 0x19, 0x4d, 0x6b, 0xd9, 0x10, 0x3e, 0xe3, + 0x95, 0xda, 0x4c, 0x89, 0x80, 0x85, 0x4b, 0xab, 0xb5, 0xbc, 0x7a, 0xb5, +}; +static const unsigned char kat3257_nonce[] = { + 0x27, 0xa5, 0xbb, 0x1f, 0xad, 0xe9, 0x01, 0x35, 0x34, 0x38, 0x0c, 0xce, + 0x80, 0x1b, 0xad, 0x72, +}; +static const unsigned char kat3257_persstr[] = {0}; +static const unsigned char kat3257_entropyinpr1[] = { + 0x75, 0x15, 0x14, 0xbd, 0x13, 0xb9, 0xcc, 0x50, 0xe9, 0x8a, 0x14, 0xc3, + 0x1f, 0x79, 0x60, 0x6c, 0x42, 0x91, 0x92, 0x46, 0xac, 0x93, 0x88, 0x31, +}; +static const unsigned char kat3257_addinpr1[] = { + 0x2f, 0xfe, 0x02, 0x2e, 0x27, 0x9f, 0x0d, 0x8f, 0x36, 0x28, 0x5f, 0x6b, + 0x74, 0x01, 0x11, 0xed, 0xd4, 0xd7, 0x38, 0x84, 0xd0, 0x64, 0xa9, 0xd9, + 0xa1, 0x61, 0x61, 0x8b, 0x3f, 0xc9, 0x82, 0x52, +}; +static const unsigned char kat3257_entropyinpr2[] = { + 0x78, 0xa0, 0xf0, 0x87, 0x6a, 0xfb, 0x68, 0x48, 0xc3, 0xd6, 0x82, 0xce, + 0x7b, 0x5c, 0x28, 0x23, 0x57, 0xcf, 0x4b, 0x6d, 0x3d, 0x9d, 0xb5, 0x35, +}; +static const unsigned char kat3257_addinpr2[] = { + 0x85, 0x0b, 0x8b, 0x39, 0x9c, 0x82, 0x10, 0xf4, 0x15, 0xf4, 0x12, 0x9c, + 0x03, 0x4e, 0xfe, 0x58, 0x67, 0x5c, 0x74, 0x1b, 0x75, 0xa0, 0xb1, 0xa2, + 0x25, 0xb2, 0x53, 0xc1, 0xde, 0xb4, 0xdb, 0xf6, +}; +static const unsigned char kat3257_retbits[] = { + 0xd0, 0xa9, 0x2f, 0x3a, 0xc0, 0x9d, 0xff, 0x71, 0xe4, 0xda, 0x1f, 0x19, + 0xb2, 0x68, 0xfd, 0x73, 0x2e, 0xf4, 0x57, 0xc9, 0xc9, 0xac, 0x92, 0x18, + 0xfe, 0xd2, 0x8c, 0x3a, 0xd5, 0x76, 0x0a, 0x0e, 0x8b, 0xf6, 0xf1, 0x92, + 0x7b, 0x7c, 0xc2, 0xcc, 0x77, 0x65, 0xbe, 0x7a, 0x28, 0xe2, 0x25, 0x2d, + 0x3d, 0xa8, 0x0f, 0x7a, 0xdb, 0x67, 0x19, 0xf8, 0xb8, 0x5e, 0xea, 0x9c, + 0x85, 0xc8, 0xa9, 0x22, +}; +static const struct drbg_kat_pr_true kat3257_t = { + 1, kat3257_entropyin, kat3257_nonce, kat3257_persstr, + kat3257_entropyinpr1, kat3257_addinpr1, kat3257_entropyinpr2, + kat3257_addinpr2, kat3257_retbits +}; +static const struct drbg_kat kat3257 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3257_t +}; + +static const unsigned char kat3258_entropyin[] = { + 0x77, 0x9c, 0x54, 0x97, 0xb3, 0xe6, 0x49, 0xef, 0x88, 0x55, 0x9d, 0xfa, + 0x13, 0x68, 0x88, 0x3b, 0xcd, 0xa7, 0x54, 0xab, 0x70, 0x6f, 0x9c, 0x5a, +}; +static const unsigned char kat3258_nonce[] = { + 0x0b, 0xf9, 0xff, 0x2d, 0x3d, 0xb2, 0x10, 0xf4, 0x2f, 0x77, 0x00, 0x9f, + 0xf8, 0xcf, 0x14, 0x85, +}; +static const unsigned char kat3258_persstr[] = {0}; +static const unsigned char kat3258_entropyinpr1[] = { + 0x32, 0x78, 0x7a, 0xf0, 0x13, 0x83, 0x19, 0xd1, 0xaa, 0x65, 0xcf, 0xc8, + 0x40, 0xe2, 0x32, 0xbd, 0x62, 0x08, 0xab, 0x65, 0x1f, 0x47, 0xec, 0x31, +}; +static const unsigned char kat3258_addinpr1[] = { + 0x01, 0x88, 0x5f, 0x26, 0x52, 0xb0, 0x10, 0xe2, 0xf2, 0xa8, 0xc3, 0x9e, + 0x7f, 0x13, 0xdf, 0x99, 0xef, 0x5a, 0x7d, 0xd1, 0xa8, 0x13, 0x84, 0x8c, + 0x41, 0x50, 0x9b, 0xc7, 0x88, 0x5a, 0xf4, 0x86, +}; +static const unsigned char kat3258_entropyinpr2[] = { + 0xa8, 0x8c, 0x2c, 0xa8, 0x11, 0x5f, 0xf5, 0x02, 0xb1, 0x9c, 0x63, 0x62, + 0x91, 0xa9, 0x87, 0x8d, 0xd9, 0x98, 0x5b, 0x71, 0xd7, 0x81, 0x2f, 0x1a, +}; +static const unsigned char kat3258_addinpr2[] = { + 0x22, 0x88, 0x98, 0xdf, 0x82, 0x5b, 0xcb, 0x01, 0xd2, 0x2f, 0x5c, 0x64, + 0x26, 0xb0, 0x11, 0xc3, 0x87, 0x2e, 0xc0, 0xee, 0xd3, 0x28, 0xb5, 0x0f, + 0x90, 0xae, 0x2b, 0xc5, 0xad, 0x20, 0x50, 0x5d, +}; +static const unsigned char kat3258_retbits[] = { + 0x70, 0x85, 0xe1, 0xed, 0x53, 0x2f, 0x19, 0xaa, 0x76, 0x04, 0x55, 0x56, + 0x68, 0x16, 0x3a, 0x25, 0x3c, 0x08, 0x14, 0xb2, 0x9e, 0x6f, 0x69, 0xa1, + 0x01, 0xf1, 0x7f, 0xad, 0x1a, 0x75, 0x35, 0x9a, 0x5d, 0x0b, 0x0f, 0x1e, + 0xa8, 0x4a, 0xca, 0xb6, 0xa2, 0x70, 0xba, 0xde, 0x2a, 0x20, 0x55, 0x30, + 0x55, 0x09, 0xac, 0x9f, 0xcd, 0xf5, 0xa7, 0x55, 0x11, 0x8e, 0xce, 0xb6, + 0xc5, 0x2f, 0x3c, 0x38, +}; +static const struct drbg_kat_pr_true kat3258_t = { + 2, kat3258_entropyin, kat3258_nonce, kat3258_persstr, + kat3258_entropyinpr1, kat3258_addinpr1, kat3258_entropyinpr2, + kat3258_addinpr2, kat3258_retbits +}; +static const struct drbg_kat kat3258 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3258_t +}; + +static const unsigned char kat3259_entropyin[] = { + 0x18, 0x53, 0xee, 0x9c, 0x25, 0xd9, 0x5c, 0x87, 0x64, 0x8d, 0xca, 0x44, + 0x0e, 0xd1, 0x4f, 0x33, 0x12, 0x95, 0x93, 0x89, 0x91, 0x0e, 0x7f, 0x9b, +}; +static const unsigned char kat3259_nonce[] = { + 0x4e, 0xb3, 0xb4, 0xc4, 0xf5, 0xb3, 0x70, 0x68, 0x59, 0x32, 0x31, 0x66, + 0xb1, 0x78, 0x9f, 0xa6, +}; +static const unsigned char kat3259_persstr[] = {0}; +static const unsigned char kat3259_entropyinpr1[] = { + 0x3c, 0x34, 0x34, 0x8e, 0x1b, 0x32, 0xf3, 0x91, 0x05, 0x86, 0xdd, 0xaf, + 0x23, 0xc0, 0x0f, 0x46, 0x34, 0x1e, 0xcc, 0x4b, 0x9b, 0x87, 0x75, 0x05, +}; +static const unsigned char kat3259_addinpr1[] = { + 0xd0, 0x09, 0x0c, 0x32, 0x0c, 0xf8, 0xb5, 0xc2, 0x1f, 0xa9, 0xdf, 0x3f, + 0x19, 0xa1, 0xe3, 0x53, 0x77, 0x32, 0xde, 0xb6, 0x89, 0x9a, 0x77, 0x0e, + 0x43, 0x84, 0xd1, 0xda, 0xb0, 0x20, 0xb2, 0xf0, +}; +static const unsigned char kat3259_entropyinpr2[] = { + 0x05, 0x0d, 0x41, 0x96, 0xc5, 0xc5, 0x81, 0x10, 0x17, 0x45, 0x79, 0x6c, + 0x76, 0x11, 0xc0, 0x9a, 0x72, 0x32, 0x2f, 0x1e, 0xf4, 0x5d, 0x04, 0xb2, +}; +static const unsigned char kat3259_addinpr2[] = { + 0xd2, 0x3d, 0xf8, 0xdc, 0x0a, 0x1e, 0x00, 0x89, 0xb0, 0x5b, 0x24, 0x24, + 0x75, 0xfd, 0xe9, 0xe5, 0x78, 0xd4, 0x1f, 0x47, 0xd2, 0xd3, 0x2b, 0x4b, + 0xf3, 0x77, 0xc0, 0x92, 0x80, 0xae, 0x30, 0xba, +}; +static const unsigned char kat3259_retbits[] = { + 0x60, 0x64, 0xbd, 0x85, 0xcd, 0xf6, 0xce, 0x51, 0x05, 0xc5, 0x09, 0xe2, + 0xb1, 0xb5, 0x4f, 0xa9, 0x2f, 0xee, 0x5e, 0xca, 0x5c, 0x1e, 0x17, 0x6a, + 0x60, 0xe4, 0x98, 0xce, 0xf6, 0x26, 0x6b, 0x10, 0x42, 0x87, 0x95, 0x30, + 0x6e, 0x54, 0x35, 0x8e, 0xff, 0x45, 0x9d, 0xf7, 0x2a, 0x85, 0x30, 0xcf, + 0x38, 0xf9, 0x11, 0x13, 0xdb, 0x8a, 0xd2, 0x21, 0xa3, 0xf8, 0x30, 0x7b, + 0x1d, 0x4e, 0x9b, 0x71, +}; +static const struct drbg_kat_pr_true kat3259_t = { + 3, kat3259_entropyin, kat3259_nonce, kat3259_persstr, + kat3259_entropyinpr1, kat3259_addinpr1, kat3259_entropyinpr2, + kat3259_addinpr2, kat3259_retbits +}; +static const struct drbg_kat kat3259 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3259_t +}; + +static const unsigned char kat3260_entropyin[] = { + 0x24, 0x85, 0xa6, 0x70, 0x2a, 0x5e, 0xdf, 0xef, 0x7c, 0x84, 0x91, 0xaa, + 0x43, 0x0a, 0x8d, 0xc1, 0x19, 0x1f, 0xd8, 0xc9, 0x40, 0xca, 0x6b, 0xda, +}; +static const unsigned char kat3260_nonce[] = { + 0x73, 0x1f, 0xc0, 0x02, 0xcd, 0xd1, 0x5b, 0x5b, 0x66, 0x2f, 0x20, 0x22, + 0x03, 0xa9, 0x00, 0x20, +}; +static const unsigned char kat3260_persstr[] = {0}; +static const unsigned char kat3260_entropyinpr1[] = { + 0xaf, 0x46, 0x97, 0xe8, 0x85, 0xc9, 0xc8, 0x5c, 0xd5, 0x11, 0x4b, 0x28, + 0x87, 0x5a, 0x30, 0x0a, 0xec, 0x89, 0xb0, 0x36, 0x23, 0xfe, 0xe6, 0xba, +}; +static const unsigned char kat3260_addinpr1[] = { + 0x7a, 0x11, 0xb2, 0x81, 0x49, 0x74, 0xb1, 0x1b, 0xdf, 0x9f, 0xac, 0xe3, + 0xf5, 0x4b, 0x58, 0x22, 0xca, 0x23, 0x6c, 0x59, 0xdc, 0x2c, 0x9e, 0x81, + 0x54, 0x1b, 0x0e, 0xe8, 0xa6, 0x44, 0xe7, 0x47, +}; +static const unsigned char kat3260_entropyinpr2[] = { + 0xea, 0xb3, 0xb9, 0x86, 0x81, 0xa8, 0x5c, 0x2f, 0xd8, 0xc4, 0xc9, 0x70, + 0x67, 0xb1, 0xc7, 0xe5, 0xcb, 0x4d, 0x83, 0x38, 0x50, 0xe1, 0x19, 0xf0, +}; +static const unsigned char kat3260_addinpr2[] = { + 0xb8, 0x69, 0x02, 0x17, 0xaa, 0x47, 0x1c, 0x4e, 0xee, 0xaa, 0x90, 0x78, + 0x21, 0x70, 0xb5, 0x24, 0xfa, 0xc1, 0xa7, 0x8e, 0x37, 0x55, 0xfe, 0xa8, + 0xb0, 0xea, 0x25, 0x1e, 0x8f, 0x73, 0x94, 0x34, +}; +static const unsigned char kat3260_retbits[] = { + 0x40, 0xee, 0xee, 0xf8, 0x0c, 0xe4, 0x9d, 0x3b, 0xf0, 0x35, 0x0b, 0x20, + 0x98, 0x2f, 0xc9, 0xfe, 0xe2, 0x18, 0x4b, 0xcd, 0x85, 0x49, 0x95, 0xfb, + 0x23, 0xcc, 0xd4, 0x4b, 0x2d, 0xc3, 0x56, 0x98, 0x10, 0x34, 0xa1, 0x96, + 0x0b, 0xdc, 0x1c, 0xb1, 0x2e, 0x1e, 0xb3, 0xe5, 0xa2, 0xbe, 0xf7, 0xab, + 0x5b, 0xed, 0xc4, 0x98, 0x01, 0xdf, 0x04, 0x1c, 0x34, 0x47, 0x08, 0xf9, + 0x5c, 0xbd, 0xde, 0x99, +}; +static const struct drbg_kat_pr_true kat3260_t = { + 4, kat3260_entropyin, kat3260_nonce, kat3260_persstr, + kat3260_entropyinpr1, kat3260_addinpr1, kat3260_entropyinpr2, + kat3260_addinpr2, kat3260_retbits +}; +static const struct drbg_kat kat3260 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3260_t +}; + +static const unsigned char kat3261_entropyin[] = { + 0x24, 0xce, 0xe3, 0x06, 0x56, 0x29, 0x40, 0x19, 0x9a, 0xb6, 0x83, 0x7b, + 0x40, 0xd7, 0xff, 0xe3, 0x02, 0xc5, 0x68, 0x29, 0x35, 0x61, 0x5b, 0x3c, +}; +static const unsigned char kat3261_nonce[] = { + 0xa4, 0x80, 0x10, 0x3d, 0xf6, 0x65, 0x96, 0x8a, 0xcb, 0x52, 0x79, 0x33, + 0x2d, 0x51, 0xf3, 0x3a, +}; +static const unsigned char kat3261_persstr[] = {0}; +static const unsigned char kat3261_entropyinpr1[] = { + 0xa4, 0x2f, 0x47, 0x88, 0x1b, 0x2d, 0x9f, 0x91, 0x2f, 0x5a, 0xae, 0x05, + 0x35, 0xd1, 0x29, 0x3c, 0xf1, 0x5f, 0xf6, 0xc0, 0x21, 0xe1, 0x6c, 0x38, +}; +static const unsigned char kat3261_addinpr1[] = { + 0x28, 0x08, 0xab, 0x02, 0x80, 0xe1, 0xa4, 0xa0, 0xb5, 0x63, 0x73, 0x46, + 0xe9, 0x12, 0xcc, 0xb6, 0x65, 0xcf, 0x96, 0x60, 0x25, 0x94, 0xb5, 0xa4, + 0x63, 0x3b, 0x58, 0x71, 0xd6, 0x55, 0x28, 0xb6, +}; +static const unsigned char kat3261_entropyinpr2[] = { + 0x67, 0x4d, 0xb9, 0x81, 0x50, 0xb5, 0x59, 0x0f, 0x98, 0xf7, 0x1b, 0x37, + 0x54, 0x2d, 0x2c, 0x6a, 0x4f, 0x02, 0xba, 0xf8, 0x96, 0x36, 0x63, 0x09, +}; +static const unsigned char kat3261_addinpr2[] = { + 0x36, 0x3c, 0x94, 0xc0, 0x6c, 0x07, 0xe3, 0x64, 0x13, 0x05, 0x19, 0xc1, + 0xc6, 0x50, 0x90, 0x51, 0x89, 0x74, 0xb6, 0xe2, 0x38, 0xf3, 0x96, 0x8b, + 0xfa, 0x4e, 0xbc, 0x76, 0x70, 0xa9, 0xef, 0x5c, +}; +static const unsigned char kat3261_retbits[] = { + 0xc9, 0x15, 0xdf, 0x7a, 0xc2, 0x69, 0x69, 0x75, 0x8f, 0x32, 0xca, 0x42, + 0x9f, 0xc8, 0x33, 0x5d, 0xd6, 0xbe, 0x86, 0x60, 0x37, 0x85, 0x77, 0x1b, + 0x2e, 0x8a, 0xc8, 0x38, 0xe7, 0xd2, 0x42, 0xa0, 0x99, 0x02, 0x53, 0x09, + 0x2d, 0x62, 0x47, 0xbd, 0xf1, 0x19, 0x9e, 0x55, 0x82, 0xaa, 0x08, 0x08, + 0x36, 0x5c, 0xe7, 0x58, 0x84, 0xf4, 0xe0, 0x98, 0xd4, 0xb6, 0x05, 0x8a, + 0xbf, 0xfd, 0x3c, 0xd8, +}; +static const struct drbg_kat_pr_true kat3261_t = { + 5, kat3261_entropyin, kat3261_nonce, kat3261_persstr, + kat3261_entropyinpr1, kat3261_addinpr1, kat3261_entropyinpr2, + kat3261_addinpr2, kat3261_retbits +}; +static const struct drbg_kat kat3261 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3261_t +}; + +static const unsigned char kat3262_entropyin[] = { + 0x7f, 0x70, 0x54, 0x1d, 0x69, 0x5a, 0xea, 0x4a, 0xc7, 0x81, 0xe7, 0x5b, + 0x45, 0x95, 0x4e, 0xa2, 0xfe, 0xc9, 0x08, 0x66, 0x82, 0x14, 0x69, 0xca, +}; +static const unsigned char kat3262_nonce[] = { + 0x49, 0x8a, 0x65, 0xd8, 0xa4, 0x47, 0x84, 0xa6, 0x49, 0x06, 0x00, 0x78, + 0xf3, 0x82, 0x91, 0x90, +}; +static const unsigned char kat3262_persstr[] = {0}; +static const unsigned char kat3262_entropyinpr1[] = { + 0x0e, 0x12, 0x30, 0x93, 0x9e, 0x9b, 0xd0, 0x85, 0x4c, 0xdc, 0x7b, 0x9e, + 0x2d, 0x07, 0xb4, 0x73, 0x46, 0x78, 0xeb, 0x89, 0x8f, 0x90, 0x16, 0xeb, +}; +static const unsigned char kat3262_addinpr1[] = { + 0xfd, 0xa4, 0x9e, 0xcc, 0x3e, 0xd3, 0x5b, 0x59, 0x85, 0x1a, 0xae, 0xba, + 0x4a, 0xc3, 0x8a, 0x53, 0xae, 0x78, 0xd8, 0x81, 0x2d, 0xcf, 0x56, 0xbb, + 0x76, 0x96, 0xf2, 0xe5, 0x80, 0x8d, 0x2e, 0xcb, +}; +static const unsigned char kat3262_entropyinpr2[] = { + 0x1c, 0xa6, 0x60, 0x00, 0x7c, 0x02, 0x18, 0xbd, 0x45, 0xf0, 0x66, 0x0e, + 0xcf, 0x6f, 0x98, 0x24, 0x8f, 0x23, 0xb2, 0xd8, 0x7b, 0x98, 0x4a, 0x59, +}; +static const unsigned char kat3262_addinpr2[] = { + 0x04, 0xe4, 0x08, 0xa9, 0xb7, 0xa1, 0x47, 0x3f, 0xe9, 0x6b, 0x08, 0x86, + 0x60, 0x90, 0x8f, 0x73, 0x0b, 0xac, 0xf2, 0xe4, 0x75, 0xf5, 0xd8, 0x3e, + 0x95, 0x1a, 0xe8, 0x8d, 0x0d, 0xe3, 0xd8, 0x56, +}; +static const unsigned char kat3262_retbits[] = { + 0x59, 0x9a, 0x96, 0xd3, 0x25, 0xac, 0xcc, 0x57, 0xb4, 0x86, 0xfc, 0x65, + 0xac, 0x9e, 0xff, 0x4a, 0xd4, 0xde, 0x51, 0xc0, 0x8b, 0x31, 0x47, 0xfc, + 0x1e, 0x24, 0x0a, 0x9e, 0x27, 0xf0, 0x5a, 0x2d, 0xd4, 0xc4, 0x7a, 0x27, + 0x70, 0x08, 0x59, 0xfd, 0x11, 0xc0, 0x23, 0xc7, 0x33, 0x9b, 0x4f, 0x1c, + 0xf8, 0xf8, 0xfa, 0xae, 0x19, 0xa4, 0x3c, 0x1a, 0x2c, 0xa4, 0xc2, 0xb1, + 0xb2, 0x72, 0xad, 0xb6, +}; +static const struct drbg_kat_pr_true kat3262_t = { + 6, kat3262_entropyin, kat3262_nonce, kat3262_persstr, + kat3262_entropyinpr1, kat3262_addinpr1, kat3262_entropyinpr2, + kat3262_addinpr2, kat3262_retbits +}; +static const struct drbg_kat kat3262 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3262_t +}; + +static const unsigned char kat3263_entropyin[] = { + 0xda, 0x29, 0xbe, 0xa1, 0x8e, 0x5c, 0x26, 0x41, 0xd2, 0x71, 0x46, 0x69, + 0xa7, 0x35, 0x13, 0xd6, 0xd7, 0x6b, 0x04, 0xf2, 0x8f, 0xb4, 0xed, 0x2a, +}; +static const unsigned char kat3263_nonce[] = { + 0xca, 0xe7, 0x23, 0x3b, 0x24, 0xfa, 0xd1, 0x55, 0x45, 0xd9, 0x5e, 0x35, + 0xb6, 0x58, 0x79, 0xcb, +}; +static const unsigned char kat3263_persstr[] = {0}; +static const unsigned char kat3263_entropyinpr1[] = { + 0x7a, 0xdb, 0x54, 0x4c, 0xda, 0x70, 0xe8, 0x16, 0xeb, 0x80, 0xd5, 0x98, + 0xf2, 0x09, 0x64, 0x95, 0x4e, 0x8e, 0x9e, 0x04, 0xa4, 0x8b, 0xab, 0x29, +}; +static const unsigned char kat3263_addinpr1[] = { + 0xb8, 0x3a, 0x8c, 0x26, 0x35, 0xd3, 0x31, 0xcc, 0xf8, 0xf0, 0xc8, 0x1d, + 0x97, 0xb7, 0x45, 0xa1, 0xa1, 0xd0, 0x20, 0x06, 0xb6, 0xec, 0x9d, 0xce, + 0x51, 0x7d, 0x30, 0x1e, 0x75, 0x81, 0x93, 0x9e, +}; +static const unsigned char kat3263_entropyinpr2[] = { + 0x0d, 0x30, 0xb6, 0xe1, 0xd6, 0xe1, 0x6a, 0xc9, 0xe7, 0xf9, 0xec, 0x45, + 0x19, 0x39, 0xe9, 0xb1, 0x45, 0xfa, 0xcb, 0xf0, 0x84, 0x78, 0x02, 0xd0, +}; +static const unsigned char kat3263_addinpr2[] = { + 0x78, 0x35, 0x65, 0x02, 0xe2, 0xa7, 0x95, 0x4f, 0x48, 0x37, 0x86, 0xd2, + 0xae, 0xb5, 0x5b, 0x30, 0xe7, 0x71, 0x68, 0x9c, 0x2b, 0x49, 0xf0, 0x38, + 0xfb, 0xa4, 0x99, 0x01, 0x71, 0x26, 0xb5, 0xf4, +}; +static const unsigned char kat3263_retbits[] = { + 0xa3, 0xfe, 0xaa, 0xaf, 0x77, 0x5d, 0x08, 0xc2, 0x81, 0xd9, 0xaf, 0x19, + 0x83, 0xfa, 0xcc, 0xb2, 0xe5, 0x40, 0xc9, 0x34, 0xda, 0xde, 0xfa, 0x05, + 0xec, 0x7a, 0xb3, 0x2e, 0xd9, 0xd3, 0xd0, 0xfa, 0xb5, 0x8c, 0x57, 0x1f, + 0x34, 0x08, 0x92, 0x7d, 0xf0, 0x15, 0x86, 0x97, 0xa7, 0x03, 0x9f, 0x50, + 0x2b, 0x9f, 0xdc, 0x12, 0xcd, 0x01, 0x87, 0x62, 0xc6, 0xba, 0x53, 0xc2, + 0x98, 0x83, 0x70, 0x36, +}; +static const struct drbg_kat_pr_true kat3263_t = { + 7, kat3263_entropyin, kat3263_nonce, kat3263_persstr, + kat3263_entropyinpr1, kat3263_addinpr1, kat3263_entropyinpr2, + kat3263_addinpr2, kat3263_retbits +}; +static const struct drbg_kat kat3263 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3263_t +}; + +static const unsigned char kat3264_entropyin[] = { + 0x52, 0xb9, 0xde, 0x81, 0x33, 0x16, 0xd7, 0x6f, 0x19, 0xe4, 0x1b, 0x9d, + 0xa3, 0x91, 0xce, 0x57, 0xb7, 0xee, 0xd1, 0xb2, 0xe5, 0x9e, 0x90, 0xe8, +}; +static const unsigned char kat3264_nonce[] = { + 0x67, 0x56, 0xec, 0x3c, 0xa1, 0x00, 0x7b, 0x50, 0x0a, 0x65, 0x6a, 0x24, + 0x28, 0xc8, 0x3a, 0x31, +}; +static const unsigned char kat3264_persstr[] = {0}; +static const unsigned char kat3264_entropyinpr1[] = { + 0xb5, 0x7e, 0xcf, 0xa4, 0xdb, 0x4c, 0xc8, 0x62, 0x0c, 0x89, 0x78, 0x21, + 0x0d, 0xa3, 0xf3, 0x16, 0xb2, 0xcb, 0xd0, 0x21, 0x01, 0x5d, 0x7e, 0xb9, +}; +static const unsigned char kat3264_addinpr1[] = { + 0xbf, 0xa3, 0x10, 0x19, 0x6b, 0xcf, 0xbd, 0x9d, 0x26, 0xa3, 0x66, 0xdd, + 0xbf, 0xe0, 0xb0, 0xd3, 0x85, 0xfb, 0x08, 0x20, 0xd5, 0xb1, 0x97, 0x7e, + 0x6c, 0x4d, 0x42, 0xf9, 0xce, 0x48, 0x42, 0xff, +}; +static const unsigned char kat3264_entropyinpr2[] = { + 0x7d, 0x32, 0xcf, 0x1e, 0x2e, 0x65, 0x68, 0x93, 0x38, 0xae, 0x65, 0x81, + 0x21, 0xd4, 0xf4, 0x9c, 0xa1, 0x1a, 0x38, 0xc8, 0x19, 0x48, 0x42, 0xc7, +}; +static const unsigned char kat3264_addinpr2[] = { + 0x48, 0xa0, 0xda, 0x78, 0x43, 0xd4, 0x7c, 0xe6, 0xd1, 0xfc, 0xa3, 0x71, + 0x1c, 0x06, 0xb6, 0xe5, 0xba, 0x0e, 0x35, 0xf1, 0x5d, 0x2a, 0x58, 0xeb, + 0x88, 0x8b, 0x8d, 0xdf, 0x6b, 0x16, 0xa6, 0xa2, +}; +static const unsigned char kat3264_retbits[] = { + 0xa6, 0x07, 0x25, 0x3c, 0xcd, 0x8c, 0xff, 0xfe, 0x48, 0x0c, 0x06, 0x69, + 0xa5, 0x4a, 0xbe, 0x88, 0x37, 0xca, 0x07, 0x14, 0xf4, 0xa0, 0x0d, 0xe2, + 0x30, 0xf6, 0x61, 0x33, 0x3e, 0xea, 0xc4, 0xf5, 0x4c, 0x88, 0x01, 0xf9, + 0xdb, 0x53, 0x39, 0xeb, 0x18, 0x52, 0x58, 0xe9, 0xe2, 0x93, 0x71, 0xe5, + 0xbf, 0x87, 0x47, 0x95, 0x09, 0x59, 0x78, 0x94, 0x1c, 0xb6, 0xbe, 0x65, + 0x35, 0xb9, 0xfa, 0xc1, +}; +static const struct drbg_kat_pr_true kat3264_t = { + 8, kat3264_entropyin, kat3264_nonce, kat3264_persstr, + kat3264_entropyinpr1, kat3264_addinpr1, kat3264_entropyinpr2, + kat3264_addinpr2, kat3264_retbits +}; +static const struct drbg_kat kat3264 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3264_t +}; + +static const unsigned char kat3265_entropyin[] = { + 0xa2, 0x1d, 0x94, 0xe4, 0xf1, 0x5c, 0xb4, 0xb5, 0xf4, 0x06, 0x7e, 0x57, + 0x5f, 0x51, 0xce, 0xfa, 0x01, 0x3f, 0x8b, 0xd6, 0xb9, 0xff, 0x08, 0xc1, +}; +static const unsigned char kat3265_nonce[] = { + 0x38, 0x86, 0x8d, 0x59, 0x41, 0x9e, 0x34, 0x80, 0xc5, 0xaf, 0x5f, 0xbe, + 0x24, 0x56, 0x28, 0x12, +}; +static const unsigned char kat3265_persstr[] = {0}; +static const unsigned char kat3265_entropyinpr1[] = { + 0x2d, 0x60, 0xe5, 0xbe, 0xe9, 0xf4, 0xe0, 0x72, 0xe3, 0x0a, 0xd7, 0xe0, + 0x11, 0xa3, 0xff, 0x16, 0x8b, 0x05, 0x4a, 0xba, 0x09, 0xc1, 0x7d, 0xd3, +}; +static const unsigned char kat3265_addinpr1[] = { + 0xce, 0x0f, 0x66, 0x0a, 0x52, 0x60, 0x5f, 0xa8, 0xce, 0x4c, 0xa7, 0xc3, + 0x91, 0x14, 0x92, 0xfe, 0x41, 0x82, 0x3e, 0x9d, 0x2a, 0xb0, 0xdc, 0x06, + 0x53, 0xcc, 0xde, 0xfb, 0xde, 0x52, 0x38, 0xbf, +}; +static const unsigned char kat3265_entropyinpr2[] = { + 0x0d, 0xdf, 0x5f, 0x45, 0x1a, 0xc1, 0x7f, 0x5c, 0x9c, 0xb2, 0xf1, 0xad, + 0x17, 0x59, 0xa8, 0x1d, 0x6a, 0xba, 0xe8, 0x1a, 0xf5, 0x9f, 0x89, 0x03, +}; +static const unsigned char kat3265_addinpr2[] = { + 0xb8, 0x55, 0xa6, 0xb8, 0xb3, 0x0b, 0xd9, 0xa5, 0xfd, 0xb3, 0xc2, 0xbe, + 0xbe, 0x16, 0xa2, 0xc5, 0xa7, 0x0c, 0x16, 0x1d, 0x84, 0xa1, 0x57, 0xbe, + 0xaa, 0x70, 0x00, 0x0e, 0x4a, 0xa3, 0x71, 0x12, +}; +static const unsigned char kat3265_retbits[] = { + 0xfa, 0x77, 0xcc, 0x78, 0x02, 0xd4, 0x57, 0xce, 0x1d, 0x1e, 0x94, 0x0e, + 0x27, 0xbd, 0xa2, 0xda, 0x7f, 0xcc, 0xe0, 0x69, 0x24, 0x7e, 0xba, 0xa8, + 0x49, 0x40, 0x6d, 0xd3, 0x20, 0x81, 0x48, 0x97, 0x7b, 0x09, 0x29, 0xc8, + 0x6e, 0xb7, 0xb8, 0x92, 0x9a, 0x91, 0x74, 0xcb, 0xd1, 0x81, 0xe0, 0xae, + 0xf1, 0x7e, 0xfb, 0x8f, 0x05, 0xfe, 0x4b, 0x45, 0x06, 0x17, 0x72, 0x86, + 0x7a, 0x2c, 0xee, 0xf9, +}; +static const struct drbg_kat_pr_true kat3265_t = { + 9, kat3265_entropyin, kat3265_nonce, kat3265_persstr, + kat3265_entropyinpr1, kat3265_addinpr1, kat3265_entropyinpr2, + kat3265_addinpr2, kat3265_retbits +}; +static const struct drbg_kat kat3265 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3265_t +}; + +static const unsigned char kat3266_entropyin[] = { + 0x0a, 0x09, 0x68, 0x83, 0x88, 0xa2, 0x03, 0xc9, 0xa8, 0x61, 0x38, 0xa5, + 0x6a, 0xcd, 0xd1, 0xe1, 0x8e, 0x53, 0xaf, 0x2d, 0x4d, 0xf4, 0xf8, 0x2b, +}; +static const unsigned char kat3266_nonce[] = { + 0x7c, 0x99, 0x35, 0xad, 0x47, 0x64, 0x02, 0xda, 0x67, 0x8f, 0xb8, 0x88, + 0x47, 0xbc, 0x79, 0xda, +}; +static const unsigned char kat3266_persstr[] = {0}; +static const unsigned char kat3266_entropyinpr1[] = { + 0xfb, 0xe2, 0xfc, 0xd6, 0x87, 0x33, 0x6d, 0xb7, 0x56, 0xd6, 0x88, 0x9a, + 0xdd, 0x29, 0xb4, 0xe1, 0x74, 0xf8, 0x60, 0x58, 0x54, 0xfa, 0x90, 0xcd, +}; +static const unsigned char kat3266_addinpr1[] = { + 0xf2, 0x8e, 0x4d, 0xd1, 0x74, 0xb4, 0xe2, 0x63, 0x97, 0x29, 0x05, 0xb4, + 0x10, 0x7a, 0x55, 0x06, 0x35, 0x80, 0x67, 0xcd, 0xef, 0xa2, 0xc6, 0xbd, + 0x87, 0x0e, 0x4d, 0xe6, 0x1c, 0x63, 0x9e, 0xa7, +}; +static const unsigned char kat3266_entropyinpr2[] = { + 0xd9, 0x3c, 0xe3, 0x2c, 0xb1, 0x92, 0xce, 0x1a, 0x4b, 0xff, 0x95, 0x63, + 0x91, 0x06, 0x3a, 0xdf, 0xab, 0x11, 0xee, 0x62, 0xff, 0x9f, 0xde, 0xbe, +}; +static const unsigned char kat3266_addinpr2[] = { + 0x23, 0x21, 0x81, 0xf3, 0x29, 0x3d, 0x37, 0xec, 0xf6, 0x5e, 0xa1, 0xf2, + 0xaf, 0xf6, 0x6d, 0x21, 0x2d, 0xdb, 0x43, 0x4b, 0xe7, 0xc6, 0x41, 0x0f, + 0x72, 0xa7, 0xab, 0x46, 0xb1, 0xfc, 0xfb, 0x8b, +}; +static const unsigned char kat3266_retbits[] = { + 0xde, 0x5c, 0xf7, 0x7d, 0xcd, 0x48, 0x72, 0x73, 0x95, 0xb9, 0xdc, 0x8c, + 0xd0, 0x1f, 0xa0, 0x6b, 0x36, 0x24, 0x6b, 0xe0, 0x1b, 0x6b, 0xcd, 0xf1, + 0x12, 0x6f, 0x24, 0xd1, 0x64, 0x99, 0xbb, 0x2e, 0xda, 0x5c, 0x67, 0x17, + 0xd7, 0x84, 0xf2, 0xff, 0xe5, 0x8f, 0x96, 0xe4, 0x11, 0x6f, 0x80, 0x47, + 0x90, 0xf1, 0x39, 0x87, 0xfa, 0x30, 0x99, 0x9d, 0xec, 0xcc, 0xd8, 0x32, + 0x47, 0xab, 0x7f, 0xb3, +}; +static const struct drbg_kat_pr_true kat3266_t = { + 10, kat3266_entropyin, kat3266_nonce, kat3266_persstr, + kat3266_entropyinpr1, kat3266_addinpr1, kat3266_entropyinpr2, + kat3266_addinpr2, kat3266_retbits +}; +static const struct drbg_kat kat3266 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3266_t +}; + +static const unsigned char kat3267_entropyin[] = { + 0xd7, 0x4d, 0x47, 0x64, 0x5d, 0xe0, 0xc4, 0x13, 0x1d, 0x0e, 0xfa, 0x5b, + 0xf2, 0xcd, 0xb3, 0x0e, 0xf8, 0x34, 0xed, 0xe8, 0x60, 0xcf, 0x23, 0x2f, +}; +static const unsigned char kat3267_nonce[] = { + 0xc1, 0x9c, 0x88, 0x8c, 0x22, 0x9a, 0xee, 0x57, 0x97, 0xf7, 0x84, 0xbe, + 0xa1, 0x83, 0x3a, 0x1b, +}; +static const unsigned char kat3267_persstr[] = {0}; +static const unsigned char kat3267_entropyinpr1[] = { + 0x06, 0x7f, 0x62, 0x6a, 0x17, 0x36, 0x18, 0x10, 0x01, 0xe2, 0x40, 0xc6, + 0xa3, 0x64, 0xb8, 0xa8, 0xbe, 0x5b, 0x56, 0x58, 0x25, 0xeb, 0xd2, 0x70, +}; +static const unsigned char kat3267_addinpr1[] = { + 0xf8, 0xf5, 0xac, 0x79, 0x8d, 0xe7, 0x32, 0x4c, 0x6d, 0x7e, 0x9e, 0xa1, + 0x1e, 0xd0, 0xe1, 0xbb, 0x77, 0x6b, 0xbf, 0xac, 0xad, 0x70, 0x01, 0xa3, + 0xa7, 0x34, 0xfc, 0x47, 0x69, 0x45, 0x2b, 0xea, +}; +static const unsigned char kat3267_entropyinpr2[] = { + 0x9d, 0xe6, 0xf8, 0xda, 0x19, 0xd2, 0x26, 0x06, 0x27, 0x55, 0x07, 0x77, + 0x69, 0xe6, 0x8f, 0xf0, 0x6f, 0x05, 0x07, 0xf9, 0x17, 0x7b, 0x9c, 0x09, +}; +static const unsigned char kat3267_addinpr2[] = { + 0xe1, 0x7f, 0x98, 0xbd, 0x2a, 0xbd, 0xb1, 0xed, 0xe2, 0x1b, 0xfb, 0x6f, + 0x8b, 0x48, 0x67, 0x02, 0x69, 0xef, 0x34, 0xc8, 0xbf, 0xbd, 0x9e, 0xc6, + 0x53, 0x19, 0x9b, 0xbf, 0x31, 0xfb, 0x0c, 0xa1, +}; +static const unsigned char kat3267_retbits[] = { + 0xe5, 0x80, 0x02, 0xeb, 0x49, 0x63, 0xf7, 0x08, 0x41, 0x74, 0xfe, 0x60, + 0xb4, 0x86, 0xc3, 0x72, 0x7c, 0xe1, 0xb6, 0x15, 0x17, 0x18, 0xe2, 0x09, + 0x0d, 0xd8, 0xce, 0x84, 0xff, 0x76, 0xf4, 0x9a, 0xa5, 0x23, 0x12, 0x2f, + 0x68, 0xa1, 0x65, 0xc7, 0x98, 0xea, 0x75, 0xd5, 0x4a, 0xe9, 0xef, 0x2d, + 0xe3, 0xd3, 0x77, 0x00, 0x35, 0x8e, 0xac, 0x07, 0xf9, 0x9a, 0xa1, 0x1a, + 0x13, 0x93, 0xef, 0x86, +}; +static const struct drbg_kat_pr_true kat3267_t = { + 11, kat3267_entropyin, kat3267_nonce, kat3267_persstr, + kat3267_entropyinpr1, kat3267_addinpr1, kat3267_entropyinpr2, + kat3267_addinpr2, kat3267_retbits +}; +static const struct drbg_kat kat3267 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3267_t +}; + +static const unsigned char kat3268_entropyin[] = { + 0x77, 0x97, 0xe5, 0xd1, 0x4b, 0x65, 0xe6, 0x40, 0xef, 0x35, 0x2e, 0x00, + 0x14, 0x03, 0xb1, 0x3a, 0x43, 0x42, 0x5c, 0x62, 0xcc, 0x6d, 0x68, 0x4a, +}; +static const unsigned char kat3268_nonce[] = { + 0x6f, 0xe4, 0x1e, 0xcf, 0xc8, 0x02, 0x59, 0x96, 0x87, 0xf7, 0x06, 0xe0, + 0x49, 0x54, 0x2c, 0xda, +}; +static const unsigned char kat3268_persstr[] = {0}; +static const unsigned char kat3268_entropyinpr1[] = { + 0x87, 0x7c, 0xca, 0x91, 0x1f, 0xb3, 0x4f, 0xa9, 0x21, 0x6a, 0xb0, 0xb2, + 0x71, 0xcb, 0x57, 0x4c, 0x0e, 0x61, 0xc1, 0x87, 0x5a, 0xb7, 0x0f, 0xfd, +}; +static const unsigned char kat3268_addinpr1[] = { + 0x5f, 0x42, 0xc7, 0x23, 0xb0, 0xf3, 0x9c, 0xb7, 0xbc, 0xd6, 0x7e, 0x0f, + 0xcb, 0xcd, 0x7a, 0x89, 0x2a, 0x01, 0x72, 0xe3, 0x64, 0x9a, 0x97, 0xa6, + 0x66, 0x08, 0x87, 0x56, 0x48, 0x1f, 0xfd, 0x16, +}; +static const unsigned char kat3268_entropyinpr2[] = { + 0x9e, 0x1a, 0x26, 0x1f, 0x84, 0xd4, 0x77, 0x55, 0xc5, 0x11, 0xa0, 0x15, + 0xaf, 0xa2, 0x3b, 0xfa, 0x23, 0x1c, 0x90, 0xfd, 0x8a, 0x68, 0xe6, 0x24, +}; +static const unsigned char kat3268_addinpr2[] = { + 0x1d, 0x85, 0x2b, 0x6e, 0x6e, 0xcf, 0x97, 0x3f, 0x25, 0xe8, 0x42, 0x7d, + 0x57, 0x3a, 0x0c, 0xb9, 0x0f, 0xcf, 0xd0, 0x7c, 0xdf, 0x8b, 0xe6, 0x5d, + 0x17, 0x3a, 0x31, 0xe4, 0xbd, 0x39, 0xed, 0xbd, +}; +static const unsigned char kat3268_retbits[] = { + 0xc7, 0xdc, 0x41, 0x41, 0xaf, 0x86, 0xa8, 0x27, 0xf7, 0x34, 0xc6, 0xda, + 0x58, 0x59, 0x3a, 0x18, 0xd1, 0xf9, 0x11, 0xdf, 0xb6, 0xd8, 0x86, 0x8c, + 0x0f, 0xab, 0x20, 0xdb, 0xd3, 0x1f, 0x31, 0x18, 0x9c, 0xdc, 0xef, 0x89, + 0xaf, 0x4d, 0xf4, 0xf6, 0x4e, 0x53, 0x1f, 0xaf, 0xc6, 0x10, 0xd2, 0xbc, + 0xac, 0xde, 0x05, 0xe3, 0xd2, 0x3c, 0x41, 0xa7, 0xc1, 0x00, 0xb3, 0xaf, + 0x49, 0x94, 0x11, 0x60, +}; +static const struct drbg_kat_pr_true kat3268_t = { + 12, kat3268_entropyin, kat3268_nonce, kat3268_persstr, + kat3268_entropyinpr1, kat3268_addinpr1, kat3268_entropyinpr2, + kat3268_addinpr2, kat3268_retbits +}; +static const struct drbg_kat kat3268 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3268_t +}; + +static const unsigned char kat3269_entropyin[] = { + 0xea, 0xb0, 0x28, 0xdc, 0x4c, 0xcb, 0x75, 0x8b, 0x33, 0xb8, 0xb7, 0x2a, + 0x33, 0xfc, 0x55, 0x16, 0x81, 0xeb, 0x05, 0x68, 0x5c, 0x62, 0x1c, 0xb9, +}; +static const unsigned char kat3269_nonce[] = { + 0x3c, 0x45, 0x7b, 0x9c, 0xad, 0x22, 0x8f, 0x51, 0x28, 0x95, 0x6b, 0xea, + 0x40, 0x2d, 0xef, 0x9d, +}; +static const unsigned char kat3269_persstr[] = {0}; +static const unsigned char kat3269_entropyinpr1[] = { + 0xef, 0xb4, 0x8f, 0x69, 0xe3, 0xcd, 0x1a, 0x91, 0x9a, 0x89, 0x80, 0x3d, + 0x78, 0x02, 0x50, 0x59, 0x9d, 0x2e, 0x0d, 0x5a, 0x8f, 0x9b, 0x77, 0x6d, +}; +static const unsigned char kat3269_addinpr1[] = { + 0x86, 0x1b, 0xfb, 0x5b, 0xe4, 0x84, 0xea, 0xff, 0x7d, 0x40, 0x7f, 0x4e, + 0x08, 0x23, 0x63, 0x65, 0x1b, 0xa0, 0x74, 0x2f, 0x26, 0x54, 0xbf, 0x6f, + 0xdd, 0xeb, 0xd3, 0x6b, 0xa3, 0x40, 0xab, 0x99, +}; +static const unsigned char kat3269_entropyinpr2[] = { + 0x73, 0x5c, 0xc8, 0x08, 0x22, 0x44, 0x77, 0x86, 0x52, 0x91, 0xae, 0xfd, + 0x56, 0xfb, 0x9a, 0x22, 0xc5, 0xe2, 0x87, 0x0a, 0x0a, 0x70, 0xb3, 0x90, +}; +static const unsigned char kat3269_addinpr2[] = { + 0x85, 0x5b, 0x9d, 0xe8, 0xf6, 0xa9, 0x00, 0xf7, 0x19, 0xc4, 0x1e, 0xe9, + 0x32, 0x4a, 0x9d, 0xe1, 0xbf, 0xe8, 0x78, 0xa1, 0x31, 0x28, 0xbb, 0x7c, + 0x56, 0xba, 0x27, 0xef, 0x08, 0x79, 0x66, 0xe0, +}; +static const unsigned char kat3269_retbits[] = { + 0x63, 0x99, 0x87, 0x47, 0x61, 0xbb, 0x95, 0x7b, 0x73, 0x37, 0x45, 0xda, + 0xe3, 0xe1, 0x12, 0x51, 0x45, 0xc1, 0x0a, 0x0e, 0x40, 0x12, 0x35, 0xc6, + 0xd0, 0x63, 0xf4, 0xd4, 0x14, 0x28, 0xc0, 0xf9, 0xcc, 0x17, 0x1b, 0xea, + 0xd1, 0x0e, 0x53, 0x63, 0x8f, 0x7f, 0x0f, 0x3f, 0xa6, 0xe5, 0xe5, 0x36, + 0x85, 0x20, 0x64, 0x36, 0x03, 0x80, 0x91, 0x36, 0x9d, 0xb6, 0xe1, 0x72, + 0xd3, 0x64, 0x16, 0x1c, +}; +static const struct drbg_kat_pr_true kat3269_t = { + 13, kat3269_entropyin, kat3269_nonce, kat3269_persstr, + kat3269_entropyinpr1, kat3269_addinpr1, kat3269_entropyinpr2, + kat3269_addinpr2, kat3269_retbits +}; +static const struct drbg_kat kat3269 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3269_t +}; + +static const unsigned char kat3270_entropyin[] = { + 0x12, 0x97, 0x1c, 0xf0, 0x16, 0x86, 0x1d, 0xcb, 0xf8, 0x8d, 0x94, 0xc5, + 0x02, 0xf2, 0x05, 0x8a, 0xd4, 0xe3, 0x4c, 0x32, 0xab, 0xac, 0xb6, 0x4e, +}; +static const unsigned char kat3270_nonce[] = { + 0x09, 0x39, 0x64, 0xe5, 0x17, 0xf9, 0xc4, 0x5b, 0xb2, 0xd0, 0x8b, 0xe7, + 0x98, 0x5f, 0x84, 0x5f, +}; +static const unsigned char kat3270_persstr[] = {0}; +static const unsigned char kat3270_entropyinpr1[] = { + 0x81, 0x9b, 0x92, 0x95, 0xc2, 0x30, 0xab, 0x04, 0x0a, 0xa4, 0xac, 0x51, + 0xb6, 0x2e, 0xf0, 0xd8, 0x44, 0x7f, 0xf2, 0xce, 0x11, 0x12, 0x17, 0x32, +}; +static const unsigned char kat3270_addinpr1[] = { + 0x5a, 0x5d, 0x31, 0x0a, 0x1b, 0x59, 0xc6, 0xa4, 0xb6, 0xae, 0x77, 0x55, + 0xfc, 0x44, 0xe7, 0xb8, 0xd8, 0xd9, 0x2c, 0xbc, 0xd2, 0x3a, 0x37, 0xdc, + 0x1d, 0x78, 0x85, 0x9d, 0x66, 0x1a, 0x1c, 0xd4, +}; +static const unsigned char kat3270_entropyinpr2[] = { + 0x85, 0x58, 0x71, 0x5d, 0x42, 0x82, 0x3d, 0xa8, 0xa7, 0xc7, 0x72, 0xa7, + 0x2a, 0x76, 0x35, 0x88, 0x5d, 0xcf, 0x25, 0x9b, 0xf3, 0x7f, 0x6a, 0xe0, +}; +static const unsigned char kat3270_addinpr2[] = { + 0xdc, 0x7a, 0xdd, 0x14, 0xbb, 0x20, 0x52, 0x84, 0x08, 0xb8, 0xd3, 0xb8, + 0x57, 0x1d, 0xbf, 0xb9, 0x88, 0xf1, 0x93, 0xcd, 0x7b, 0x12, 0xd7, 0xde, + 0x97, 0xeb, 0x0d, 0x15, 0x1d, 0xc5, 0xb5, 0x6e, +}; +static const unsigned char kat3270_retbits[] = { + 0xe7, 0xf0, 0x1a, 0x2d, 0x2d, 0x19, 0x23, 0xfb, 0xfc, 0xf0, 0x11, 0x40, + 0x23, 0xc2, 0x84, 0x11, 0x32, 0x3e, 0x79, 0xbf, 0x63, 0x76, 0xdf, 0x38, + 0x04, 0x40, 0x6c, 0x01, 0x46, 0x68, 0x56, 0x7b, 0x7b, 0xfe, 0x21, 0x44, + 0x59, 0xce, 0x84, 0xac, 0xb6, 0xfc, 0xaf, 0x6a, 0x90, 0x24, 0x76, 0xe7, + 0xef, 0x4c, 0x70, 0x0c, 0x1a, 0xf1, 0xef, 0x81, 0xce, 0x1b, 0x5c, 0x3c, + 0x9c, 0x6d, 0xa7, 0x5d, +}; +static const struct drbg_kat_pr_true kat3270_t = { + 14, kat3270_entropyin, kat3270_nonce, kat3270_persstr, + kat3270_entropyinpr1, kat3270_addinpr1, kat3270_entropyinpr2, + kat3270_addinpr2, kat3270_retbits +}; +static const struct drbg_kat kat3270 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3270_t +}; + +static const unsigned char kat3271_entropyin[] = { + 0xe9, 0x03, 0x18, 0x10, 0x27, 0xfc, 0xb2, 0x02, 0x63, 0xbe, 0xee, 0x48, + 0x77, 0x66, 0x39, 0x50, 0x48, 0x17, 0x5d, 0x63, 0x6c, 0x25, 0x79, 0x0f, +}; +static const unsigned char kat3271_nonce[] = { + 0x3c, 0xc2, 0x09, 0xd6, 0x7d, 0xc6, 0x7c, 0xe1, 0x0c, 0x44, 0xcd, 0x85, + 0x87, 0xd4, 0x56, 0x4a, +}; +static const unsigned char kat3271_persstr[] = { + 0x9b, 0xc6, 0xbf, 0x7c, 0xe8, 0xe9, 0x95, 0x15, 0x75, 0xec, 0xcf, 0x77, + 0xd6, 0x9f, 0xd9, 0xd5, 0x13, 0x2b, 0xf7, 0x22, 0xe1, 0x94, 0xc8, 0x9f, + 0x19, 0xf9, 0xcc, 0x42, 0xdc, 0xf7, 0x24, 0x07, +}; +static const unsigned char kat3271_entropyinpr1[] = { + 0xdc, 0xd8, 0x28, 0xdf, 0x91, 0x57, 0x8e, 0x38, 0x32, 0x2f, 0xaa, 0x8c, + 0x4e, 0x89, 0xdc, 0xb2, 0xec, 0x33, 0x12, 0x72, 0xff, 0xb2, 0x40, 0x19, +}; +static const unsigned char kat3271_addinpr1[] = {0}; +static const unsigned char kat3271_entropyinpr2[] = { + 0x55, 0x6b, 0x36, 0x2d, 0x72, 0xe4, 0x9f, 0x96, 0x57, 0xd6, 0x0a, 0x6e, + 0x0d, 0x59, 0x40, 0xd1, 0xf8, 0x66, 0x73, 0xf1, 0xbc, 0xcb, 0x32, 0xff, +}; +static const unsigned char kat3271_addinpr2[] = {0}; +static const unsigned char kat3271_retbits[] = { + 0x20, 0xea, 0xbb, 0xb1, 0xbc, 0xe0, 0xa5, 0xbd, 0xff, 0x5e, 0x0b, 0x46, + 0x86, 0x0b, 0x76, 0x11, 0xe0, 0x3a, 0x3e, 0xb6, 0x72, 0xaf, 0x74, 0xd1, + 0xf8, 0x9d, 0x62, 0x4b, 0x7c, 0x78, 0x57, 0xf2, 0x52, 0x3b, 0x34, 0x2a, + 0x22, 0xcb, 0xa4, 0xba, 0x99, 0x27, 0xb6, 0x52, 0xbd, 0xce, 0x17, 0xbc, + 0x67, 0x09, 0x6a, 0x4a, 0xcf, 0xcd, 0x87, 0x62, 0xe3, 0x7a, 0x9c, 0xe1, + 0x7e, 0xd9, 0x2d, 0x34, +}; +static const struct drbg_kat_pr_true kat3271_t = { + 0, kat3271_entropyin, kat3271_nonce, kat3271_persstr, + kat3271_entropyinpr1, kat3271_addinpr1, kat3271_entropyinpr2, + kat3271_addinpr2, kat3271_retbits +}; +static const struct drbg_kat kat3271 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3271_t +}; + +static const unsigned char kat3272_entropyin[] = { + 0xc4, 0xfb, 0x68, 0xb9, 0x1a, 0xab, 0x25, 0x20, 0xe0, 0x6b, 0xe8, 0xfb, + 0x42, 0x99, 0x50, 0xea, 0x93, 0x1a, 0x97, 0xaf, 0x99, 0xcc, 0x95, 0xa9, +}; +static const unsigned char kat3272_nonce[] = { + 0x31, 0xc4, 0xe8, 0x7e, 0x8b, 0x1a, 0x40, 0x5b, 0x53, 0xda, 0x9b, 0xea, + 0xcd, 0x67, 0x3e, 0x05, +}; +static const unsigned char kat3272_persstr[] = { + 0xe6, 0xe7, 0x73, 0x46, 0xb6, 0xc1, 0x69, 0xc9, 0x44, 0x7a, 0xb9, 0xe2, + 0xbb, 0x95, 0x72, 0x58, 0x1f, 0xd5, 0x58, 0x48, 0xa3, 0xb4, 0xf5, 0x51, + 0x1b, 0x74, 0xf0, 0xc7, 0xa1, 0xdc, 0x95, 0xa0, +}; +static const unsigned char kat3272_entropyinpr1[] = { + 0x5a, 0xba, 0x28, 0xfc, 0xdd, 0x50, 0x9b, 0x69, 0xe3, 0x46, 0xae, 0x49, + 0xd7, 0xca, 0x5b, 0x7d, 0x70, 0xd1, 0x42, 0x2e, 0xff, 0x1b, 0x76, 0xf7, +}; +static const unsigned char kat3272_addinpr1[] = {0}; +static const unsigned char kat3272_entropyinpr2[] = { + 0x16, 0x7f, 0xe0, 0x2f, 0xd2, 0xa4, 0x5f, 0x21, 0xc8, 0x45, 0x9e, 0x67, + 0x03, 0x37, 0xe5, 0x62, 0xf4, 0x1e, 0x21, 0x64, 0x4d, 0x6c, 0x9c, 0xf4, +}; +static const unsigned char kat3272_addinpr2[] = {0}; +static const unsigned char kat3272_retbits[] = { + 0x32, 0xac, 0xca, 0x54, 0x98, 0x27, 0x29, 0x21, 0xa5, 0xf5, 0x49, 0x43, + 0x60, 0x30, 0x93, 0xbe, 0x34, 0x0e, 0xca, 0x9d, 0xe1, 0x36, 0x08, 0x2e, + 0xcc, 0xe3, 0xc0, 0x1f, 0xdd, 0x7e, 0x7f, 0x78, 0xe4, 0xca, 0x27, 0xf0, + 0x6f, 0x99, 0xd1, 0xe7, 0xc0, 0x3c, 0x8d, 0x1c, 0x75, 0xc2, 0x9d, 0x0a, + 0x58, 0x14, 0x60, 0x21, 0x35, 0xf2, 0x10, 0x12, 0xa5, 0x3d, 0xe2, 0x9e, + 0x94, 0x39, 0x5d, 0x8d, +}; +static const struct drbg_kat_pr_true kat3272_t = { + 1, kat3272_entropyin, kat3272_nonce, kat3272_persstr, + kat3272_entropyinpr1, kat3272_addinpr1, kat3272_entropyinpr2, + kat3272_addinpr2, kat3272_retbits +}; +static const struct drbg_kat kat3272 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3272_t +}; + +static const unsigned char kat3273_entropyin[] = { + 0x6a, 0x58, 0xe4, 0xc1, 0x4c, 0x4d, 0x3b, 0x6a, 0x9f, 0x2f, 0x0a, 0x6d, + 0x2c, 0x9c, 0x35, 0x20, 0x18, 0x55, 0x77, 0x29, 0x58, 0x74, 0x09, 0x29, +}; +static const unsigned char kat3273_nonce[] = { + 0x44, 0x19, 0x42, 0xdd, 0x72, 0x92, 0x6d, 0xf2, 0xec, 0x3d, 0xa1, 0x21, + 0xa0, 0x18, 0xc8, 0xc6, +}; +static const unsigned char kat3273_persstr[] = { + 0x4c, 0x09, 0x1a, 0x44, 0x88, 0x75, 0xd1, 0x8d, 0x88, 0xc4, 0x14, 0xf0, + 0xb3, 0x5c, 0xc4, 0xaa, 0x00, 0xf8, 0x14, 0xba, 0x74, 0xec, 0x8b, 0xc1, + 0x22, 0xe0, 0x76, 0x73, 0x50, 0x33, 0xa3, 0x6e, +}; +static const unsigned char kat3273_entropyinpr1[] = { + 0xfa, 0x03, 0xd1, 0xb0, 0x41, 0xe5, 0x78, 0x24, 0xd8, 0x3c, 0xe2, 0xf5, + 0x12, 0x60, 0xd9, 0x83, 0x62, 0x2f, 0x92, 0xa0, 0x2a, 0xc4, 0x12, 0xf7, +}; +static const unsigned char kat3273_addinpr1[] = {0}; +static const unsigned char kat3273_entropyinpr2[] = { + 0x14, 0x36, 0xcb, 0x63, 0xe1, 0x5c, 0x02, 0x2a, 0x04, 0x1f, 0x97, 0xc7, + 0xc9, 0xfa, 0x67, 0xd8, 0x00, 0x4a, 0x15, 0x07, 0x31, 0xbd, 0x0a, 0x6a, +}; +static const unsigned char kat3273_addinpr2[] = {0}; +static const unsigned char kat3273_retbits[] = { + 0x47, 0xd7, 0xa7, 0x18, 0xbc, 0x61, 0xa0, 0x6b, 0x0d, 0xda, 0xcf, 0xd9, + 0x53, 0x93, 0x4c, 0x5c, 0xbd, 0xdc, 0x7b, 0x90, 0x43, 0x92, 0xd9, 0xcc, + 0x72, 0xab, 0xa8, 0xa8, 0x0c, 0x55, 0x9e, 0x10, 0xd0, 0x73, 0x18, 0x0e, + 0xc6, 0x1c, 0xfe, 0x3f, 0xc1, 0xbb, 0x1e, 0x52, 0x37, 0x4c, 0x34, 0xb1, + 0xd4, 0xc4, 0xae, 0xca, 0x04, 0x8a, 0x10, 0x85, 0xfb, 0x4b, 0x8b, 0x8c, + 0xbe, 0x1e, 0x20, 0xb3, +}; +static const struct drbg_kat_pr_true kat3273_t = { + 2, kat3273_entropyin, kat3273_nonce, kat3273_persstr, + kat3273_entropyinpr1, kat3273_addinpr1, kat3273_entropyinpr2, + kat3273_addinpr2, kat3273_retbits +}; +static const struct drbg_kat kat3273 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3273_t +}; + +static const unsigned char kat3274_entropyin[] = { + 0x37, 0x7d, 0xc5, 0x74, 0xe3, 0x5c, 0x9d, 0x1a, 0x27, 0xa8, 0x64, 0x70, + 0x57, 0xe8, 0x24, 0x85, 0x0c, 0x2f, 0xaf, 0xca, 0xf6, 0x6e, 0x83, 0x09, +}; +static const unsigned char kat3274_nonce[] = { + 0x28, 0x5a, 0x1b, 0x7b, 0xb6, 0x39, 0x3b, 0x5c, 0xb4, 0x92, 0xc0, 0x56, + 0x00, 0xd4, 0x43, 0x07, +}; +static const unsigned char kat3274_persstr[] = { + 0x85, 0x1a, 0x9b, 0x5e, 0xf3, 0x4f, 0x1a, 0xa5, 0xa0, 0xe1, 0x05, 0xb5, + 0xb7, 0x12, 0xe1, 0xa6, 0xbb, 0xca, 0xa4, 0x75, 0x8a, 0x93, 0x70, 0x55, + 0x41, 0x93, 0x24, 0x78, 0xe3, 0xcf, 0x73, 0x5b, +}; +static const unsigned char kat3274_entropyinpr1[] = { + 0xf5, 0x13, 0x4f, 0x41, 0x02, 0x05, 0x78, 0x7d, 0xbb, 0x66, 0xe5, 0x6b, + 0x99, 0xe9, 0x75, 0x4e, 0x09, 0xc1, 0xf5, 0x47, 0xaf, 0x7a, 0xdd, 0xa1, +}; +static const unsigned char kat3274_addinpr1[] = {0}; +static const unsigned char kat3274_entropyinpr2[] = { + 0x61, 0x1a, 0x69, 0x88, 0x4b, 0xc0, 0xb0, 0xc0, 0xbc, 0x2c, 0xd6, 0x89, + 0x7b, 0xd4, 0xbf, 0x74, 0x13, 0x56, 0xaf, 0x16, 0xe6, 0x7d, 0x65, 0xcd, +}; +static const unsigned char kat3274_addinpr2[] = {0}; +static const unsigned char kat3274_retbits[] = { + 0x34, 0xf1, 0x08, 0x48, 0xee, 0xaf, 0x81, 0xd3, 0x68, 0x12, 0xe6, 0xf9, + 0xee, 0xc7, 0x71, 0xf9, 0x91, 0xe9, 0xb3, 0xb0, 0x50, 0xfd, 0x60, 0xf6, + 0xd0, 0xeb, 0x79, 0xc2, 0x89, 0x99, 0x0c, 0x85, 0x90, 0x3b, 0x81, 0x90, + 0x59, 0xd5, 0x99, 0x06, 0x89, 0xaf, 0x12, 0x20, 0x14, 0xc7, 0xad, 0x4a, + 0x69, 0xef, 0xe6, 0x8d, 0xf4, 0xcc, 0xb4, 0x3f, 0xfd, 0x8f, 0x98, 0xb2, + 0x69, 0xbc, 0xbb, 0x34, +}; +static const struct drbg_kat_pr_true kat3274_t = { + 3, kat3274_entropyin, kat3274_nonce, kat3274_persstr, + kat3274_entropyinpr1, kat3274_addinpr1, kat3274_entropyinpr2, + kat3274_addinpr2, kat3274_retbits +}; +static const struct drbg_kat kat3274 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3274_t +}; + +static const unsigned char kat3275_entropyin[] = { + 0x52, 0xcf, 0xe3, 0x22, 0xd7, 0x65, 0x6c, 0x27, 0xd7, 0x43, 0x42, 0xb3, + 0xc9, 0x2f, 0x32, 0xab, 0x3e, 0xc3, 0x94, 0x34, 0xc8, 0xcb, 0x6e, 0x76, +}; +static const unsigned char kat3275_nonce[] = { + 0xcb, 0x0d, 0x3e, 0x58, 0x67, 0x13, 0x3f, 0x12, 0x8c, 0x32, 0x33, 0x23, + 0x09, 0x0f, 0x88, 0x65, +}; +static const unsigned char kat3275_persstr[] = { + 0x70, 0xf9, 0xab, 0x2a, 0xb3, 0xd9, 0xb1, 0x3c, 0xa9, 0x1f, 0x84, 0xb3, + 0xb2, 0xeb, 0xd5, 0x5c, 0x9d, 0xfb, 0xf1, 0xe9, 0x71, 0x36, 0x7c, 0x93, + 0xef, 0x20, 0x3d, 0x46, 0x8e, 0xbe, 0xc7, 0x0e, +}; +static const unsigned char kat3275_entropyinpr1[] = { + 0x6c, 0x09, 0x0c, 0xb8, 0xde, 0xbf, 0xb3, 0x23, 0xbd, 0xda, 0xda, 0x16, + 0x46, 0x9c, 0x38, 0xb7, 0x5e, 0xd0, 0xb0, 0x75, 0x67, 0x32, 0x58, 0x4b, +}; +static const unsigned char kat3275_addinpr1[] = {0}; +static const unsigned char kat3275_entropyinpr2[] = { + 0xc6, 0x0d, 0x6a, 0xb3, 0xa7, 0x1f, 0x7d, 0x48, 0xfc, 0x4d, 0x5a, 0x91, + 0x17, 0x6e, 0xa8, 0x64, 0xf0, 0x33, 0x51, 0xa8, 0xfd, 0x4b, 0x1f, 0x4d, +}; +static const unsigned char kat3275_addinpr2[] = {0}; +static const unsigned char kat3275_retbits[] = { + 0x1a, 0xa9, 0x74, 0xf5, 0x64, 0xab, 0x2b, 0x58, 0xb9, 0x28, 0xd4, 0x41, + 0x08, 0xe9, 0x29, 0x4d, 0x48, 0xad, 0xa9, 0x84, 0x31, 0x61, 0x0a, 0x7e, + 0x57, 0xc6, 0xdd, 0xbc, 0xd9, 0x42, 0x3d, 0x96, 0x56, 0xed, 0x09, 0x69, + 0x58, 0x32, 0xd4, 0xaa, 0xae, 0x6b, 0x01, 0xba, 0x60, 0x9a, 0xbf, 0x46, + 0xbf, 0x5c, 0x22, 0xb1, 0x8d, 0xe0, 0x13, 0x88, 0x82, 0x84, 0x2a, 0x77, + 0x53, 0x9a, 0xdc, 0x6f, +}; +static const struct drbg_kat_pr_true kat3275_t = { + 4, kat3275_entropyin, kat3275_nonce, kat3275_persstr, + kat3275_entropyinpr1, kat3275_addinpr1, kat3275_entropyinpr2, + kat3275_addinpr2, kat3275_retbits +}; +static const struct drbg_kat kat3275 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3275_t +}; + +static const unsigned char kat3276_entropyin[] = { + 0xf5, 0xd5, 0xf5, 0xfd, 0x63, 0x80, 0xdb, 0x66, 0x35, 0xe0, 0x10, 0xaa, + 0x60, 0xbe, 0x31, 0x37, 0x4b, 0xe3, 0x5f, 0x30, 0x53, 0x1f, 0x87, 0x82, +}; +static const unsigned char kat3276_nonce[] = { + 0xe6, 0xcd, 0xc1, 0x03, 0x69, 0x9f, 0x16, 0xd2, 0x23, 0x42, 0x68, 0x3e, + 0x9a, 0x4e, 0xd6, 0x78, +}; +static const unsigned char kat3276_persstr[] = { + 0x4a, 0x3c, 0x58, 0xb1, 0x80, 0x2e, 0xd2, 0x1b, 0xee, 0xa8, 0x7d, 0xab, + 0xf3, 0x7a, 0x7f, 0x7d, 0xae, 0xa6, 0xf6, 0x9c, 0xb0, 0x02, 0x7f, 0xea, + 0x1a, 0x7a, 0x76, 0xdf, 0x00, 0xd2, 0xa3, 0x43, +}; +static const unsigned char kat3276_entropyinpr1[] = { + 0xe2, 0xe9, 0x5d, 0xce, 0xba, 0x00, 0xaf, 0xbe, 0xd3, 0xb1, 0x13, 0x76, + 0xb3, 0x2a, 0xa2, 0xc7, 0x0d, 0xa4, 0xed, 0xa3, 0xce, 0xa2, 0x93, 0x39, +}; +static const unsigned char kat3276_addinpr1[] = {0}; +static const unsigned char kat3276_entropyinpr2[] = { + 0x33, 0xa9, 0x04, 0x92, 0x49, 0x7e, 0x57, 0xea, 0x3f, 0x92, 0x6a, 0x73, + 0xb7, 0x4a, 0x12, 0x25, 0xc0, 0x0e, 0x3f, 0x77, 0x49, 0xc3, 0xc0, 0x4c, +}; +static const unsigned char kat3276_addinpr2[] = {0}; +static const unsigned char kat3276_retbits[] = { + 0x09, 0x7e, 0xa7, 0x16, 0x5e, 0x4b, 0x43, 0xf2, 0x16, 0x4d, 0xef, 0x00, + 0x44, 0x8c, 0x3b, 0x9b, 0xeb, 0x4d, 0x61, 0x1f, 0xab, 0x71, 0xf9, 0x01, + 0xaa, 0xea, 0x61, 0xcb, 0x76, 0xf7, 0x88, 0x1d, 0xd9, 0xe7, 0x06, 0x1f, + 0xd1, 0xcb, 0xfd, 0xe0, 0xe5, 0xca, 0x3c, 0x31, 0x3e, 0x0c, 0x24, 0x70, + 0xd0, 0x2f, 0x7a, 0x11, 0xdf, 0x7e, 0x8a, 0xe3, 0xda, 0x4b, 0x4f, 0x39, + 0x53, 0x9a, 0x2b, 0xb2, +}; +static const struct drbg_kat_pr_true kat3276_t = { + 5, kat3276_entropyin, kat3276_nonce, kat3276_persstr, + kat3276_entropyinpr1, kat3276_addinpr1, kat3276_entropyinpr2, + kat3276_addinpr2, kat3276_retbits +}; +static const struct drbg_kat kat3276 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3276_t +}; + +static const unsigned char kat3277_entropyin[] = { + 0xb1, 0x9e, 0x03, 0x7c, 0xb4, 0x28, 0x30, 0x3d, 0x9e, 0xba, 0x53, 0xa4, + 0x92, 0x66, 0x15, 0x31, 0xa6, 0x9b, 0x50, 0x62, 0xbe, 0x81, 0xe5, 0x6b, +}; +static const unsigned char kat3277_nonce[] = { + 0x97, 0x44, 0xba, 0x5f, 0x7b, 0xfa, 0x2c, 0xa9, 0x5b, 0x07, 0x4a, 0x04, + 0xb1, 0xed, 0x4c, 0xab, +}; +static const unsigned char kat3277_persstr[] = { + 0xce, 0x22, 0x46, 0xe4, 0xba, 0x1d, 0xd7, 0xc2, 0xc4, 0x71, 0x6b, 0xb9, + 0xe6, 0x45, 0x19, 0x28, 0xb4, 0xcb, 0x4b, 0xbe, 0x00, 0xbf, 0xa1, 0x75, + 0x5a, 0xd4, 0x70, 0x85, 0xdf, 0x3b, 0x0f, 0xa9, +}; +static const unsigned char kat3277_entropyinpr1[] = { + 0x40, 0xf6, 0xef, 0xc0, 0xbd, 0x66, 0xbf, 0x56, 0x49, 0x32, 0x34, 0x93, + 0xb5, 0x29, 0xc9, 0x8c, 0xf2, 0xa8, 0x12, 0xc4, 0x79, 0x5c, 0xd4, 0x42, +}; +static const unsigned char kat3277_addinpr1[] = {0}; +static const unsigned char kat3277_entropyinpr2[] = { + 0x08, 0x07, 0x39, 0xc7, 0xaf, 0x62, 0xe5, 0x80, 0xab, 0x5f, 0xb9, 0x39, + 0x7b, 0x95, 0x1d, 0x23, 0x60, 0x33, 0x05, 0xf8, 0xf6, 0x5d, 0x1b, 0x01, +}; +static const unsigned char kat3277_addinpr2[] = {0}; +static const unsigned char kat3277_retbits[] = { + 0x71, 0x14, 0x3f, 0xa8, 0xa8, 0x68, 0x3c, 0xb4, 0xb8, 0x46, 0xed, 0xb1, + 0x0d, 0x63, 0xad, 0x4f, 0xa9, 0xb2, 0x1c, 0xce, 0x2f, 0x78, 0x44, 0x21, + 0xd5, 0x15, 0x4e, 0xa6, 0x11, 0x0a, 0x03, 0xd4, 0x68, 0x79, 0x1a, 0x51, + 0x65, 0x62, 0xd1, 0x35, 0x30, 0x73, 0x68, 0x64, 0x5c, 0x48, 0xd1, 0x4f, + 0x95, 0xf7, 0xc9, 0xc6, 0xa3, 0x9c, 0xe5, 0xf7, 0x6b, 0x56, 0xfc, 0x73, + 0x22, 0x71, 0xc2, 0x2f, +}; +static const struct drbg_kat_pr_true kat3277_t = { + 6, kat3277_entropyin, kat3277_nonce, kat3277_persstr, + kat3277_entropyinpr1, kat3277_addinpr1, kat3277_entropyinpr2, + kat3277_addinpr2, kat3277_retbits +}; +static const struct drbg_kat kat3277 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3277_t +}; + +static const unsigned char kat3278_entropyin[] = { + 0xdf, 0xc4, 0x5c, 0x9f, 0x7d, 0x3e, 0x50, 0x99, 0xc7, 0xde, 0x9d, 0x3c, + 0x52, 0x61, 0xc0, 0x50, 0x49, 0xdf, 0xb2, 0x53, 0xf7, 0xc3, 0x3a, 0x81, +}; +static const unsigned char kat3278_nonce[] = { + 0x2c, 0xf2, 0xa2, 0x39, 0x5f, 0x32, 0x95, 0x09, 0x5d, 0x9b, 0xad, 0x0f, + 0xcf, 0xd9, 0x86, 0x19, +}; +static const unsigned char kat3278_persstr[] = { + 0xa1, 0x9a, 0x02, 0x3f, 0xbf, 0xad, 0x56, 0x69, 0x50, 0xbd, 0xf6, 0xea, + 0x53, 0x78, 0x31, 0xad, 0xe3, 0x48, 0xf2, 0x56, 0x5f, 0x45, 0x9a, 0x0f, + 0x1b, 0x6a, 0xdc, 0x0d, 0xae, 0x8d, 0x52, 0x23, +}; +static const unsigned char kat3278_entropyinpr1[] = { + 0xa2, 0xa7, 0x0e, 0xa0, 0x34, 0x84, 0x0b, 0xcc, 0x36, 0xf6, 0x68, 0xee, + 0x81, 0xfd, 0x6b, 0x95, 0x2c, 0x63, 0x72, 0x57, 0x26, 0xe7, 0x5b, 0x04, +}; +static const unsigned char kat3278_addinpr1[] = {0}; +static const unsigned char kat3278_entropyinpr2[] = { + 0x03, 0x41, 0xcd, 0x4a, 0x43, 0x76, 0x50, 0x1f, 0x0d, 0x9b, 0xb4, 0x7a, + 0x02, 0x0a, 0x91, 0x2f, 0xb0, 0x5b, 0x95, 0x67, 0x9b, 0x29, 0x43, 0x6a, +}; +static const unsigned char kat3278_addinpr2[] = {0}; +static const unsigned char kat3278_retbits[] = { + 0xbc, 0x1a, 0x64, 0x46, 0x46, 0x9b, 0xb1, 0xc8, 0x22, 0x5a, 0x1e, 0xff, + 0xb5, 0x76, 0xb5, 0x6f, 0xda, 0x18, 0x9d, 0xee, 0x2b, 0x59, 0x97, 0x08, + 0x1f, 0x74, 0x72, 0x69, 0x2f, 0x05, 0xd4, 0x50, 0x02, 0xd4, 0x34, 0xd2, + 0x93, 0x63, 0x71, 0x65, 0xb6, 0xea, 0x4c, 0x5c, 0x5c, 0x98, 0xad, 0x07, + 0x19, 0xdf, 0x35, 0x35, 0x6d, 0xc0, 0x1b, 0x44, 0x56, 0x4f, 0x40, 0xc9, + 0xb8, 0x43, 0x71, 0x26, +}; +static const struct drbg_kat_pr_true kat3278_t = { + 7, kat3278_entropyin, kat3278_nonce, kat3278_persstr, + kat3278_entropyinpr1, kat3278_addinpr1, kat3278_entropyinpr2, + kat3278_addinpr2, kat3278_retbits +}; +static const struct drbg_kat kat3278 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3278_t +}; + +static const unsigned char kat3279_entropyin[] = { + 0x84, 0x72, 0x86, 0xaf, 0x63, 0x34, 0x13, 0x41, 0x73, 0x33, 0x6e, 0x76, + 0x8f, 0x29, 0x3e, 0x5f, 0xdb, 0x28, 0xd9, 0xf4, 0x6a, 0x66, 0xbb, 0xdd, +}; +static const unsigned char kat3279_nonce[] = { + 0x16, 0x93, 0x37, 0x1b, 0x49, 0xe4, 0xe6, 0x7b, 0xc0, 0xc9, 0xcc, 0xff, + 0xf7, 0xa4, 0xb5, 0x02, +}; +static const unsigned char kat3279_persstr[] = { + 0xdd, 0xa2, 0x3c, 0x77, 0x30, 0x04, 0xb4, 0x6b, 0xbe, 0x2a, 0x0f, 0x88, + 0xd2, 0xa8, 0x91, 0xa1, 0x7e, 0x0f, 0x05, 0xad, 0x12, 0x42, 0x1b, 0x36, + 0x42, 0xe4, 0x30, 0xac, 0xf0, 0xd7, 0x3c, 0xef, +}; +static const unsigned char kat3279_entropyinpr1[] = { + 0xa8, 0x2c, 0xba, 0x0b, 0x17, 0x7f, 0xd6, 0x18, 0x46, 0x3b, 0xc7, 0xcb, + 0xf0, 0x61, 0x9f, 0x48, 0x47, 0x79, 0x64, 0xee, 0x5d, 0x93, 0x09, 0x5d, +}; +static const unsigned char kat3279_addinpr1[] = {0}; +static const unsigned char kat3279_entropyinpr2[] = { + 0xd7, 0x89, 0x2d, 0xcc, 0x82, 0x82, 0xcc, 0x92, 0x07, 0x68, 0x5d, 0x05, + 0xbf, 0x73, 0x0c, 0xbd, 0x83, 0xc7, 0x67, 0x3a, 0x68, 0x82, 0xff, 0x3c, +}; +static const unsigned char kat3279_addinpr2[] = {0}; +static const unsigned char kat3279_retbits[] = { + 0x2f, 0x42, 0x71, 0x39, 0xaa, 0x90, 0xfb, 0x12, 0xf1, 0x27, 0xaa, 0xe6, + 0xce, 0x72, 0x6c, 0x9e, 0x8d, 0xb6, 0xbb, 0x60, 0x7f, 0x4c, 0x22, 0x43, + 0x08, 0x15, 0x73, 0x03, 0xc8, 0xf9, 0xcc, 0x54, 0x54, 0x99, 0x1f, 0x4e, + 0xf1, 0xa4, 0x1c, 0xf1, 0x66, 0x8a, 0x26, 0xec, 0xf5, 0x90, 0x09, 0x33, + 0xe8, 0xe4, 0x77, 0x18, 0xaa, 0xa4, 0x5b, 0xb3, 0x99, 0xa0, 0xe9, 0x5a, + 0x4f, 0xd9, 0x40, 0x87, +}; +static const struct drbg_kat_pr_true kat3279_t = { + 8, kat3279_entropyin, kat3279_nonce, kat3279_persstr, + kat3279_entropyinpr1, kat3279_addinpr1, kat3279_entropyinpr2, + kat3279_addinpr2, kat3279_retbits +}; +static const struct drbg_kat kat3279 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3279_t +}; + +static const unsigned char kat3280_entropyin[] = { + 0x3b, 0x45, 0xba, 0x62, 0x83, 0x4f, 0x1a, 0xab, 0xf5, 0x99, 0xa5, 0xbd, + 0xc7, 0x3d, 0xda, 0x9f, 0x6b, 0x24, 0x86, 0x0e, 0x02, 0x4c, 0x45, 0x0f, +}; +static const unsigned char kat3280_nonce[] = { + 0x87, 0x94, 0x02, 0x14, 0x37, 0x25, 0x69, 0xc0, 0x33, 0xfa, 0xaf, 0xb7, + 0x0f, 0x95, 0x5a, 0x98, +}; +static const unsigned char kat3280_persstr[] = { + 0xc8, 0xe9, 0x0a, 0x16, 0xfe, 0x1c, 0xdb, 0x85, 0xa5, 0x22, 0xd1, 0xba, + 0x8d, 0x81, 0xc7, 0x35, 0xe1, 0x40, 0xd7, 0x1f, 0x0f, 0x1e, 0xad, 0x65, + 0xe6, 0x1d, 0xb2, 0x31, 0x8a, 0x7c, 0xd3, 0x6c, +}; +static const unsigned char kat3280_entropyinpr1[] = { + 0xfb, 0x08, 0xa8, 0xf8, 0x20, 0x65, 0x9d, 0xe3, 0xc3, 0x78, 0x45, 0x10, + 0xd1, 0xa9, 0xc1, 0x51, 0xfb, 0xa6, 0xe1, 0x4d, 0xe7, 0x54, 0xd8, 0x2b, +}; +static const unsigned char kat3280_addinpr1[] = {0}; +static const unsigned char kat3280_entropyinpr2[] = { + 0x0b, 0x47, 0xe9, 0x28, 0x0b, 0xd5, 0x63, 0x9c, 0x39, 0x4d, 0x18, 0x26, + 0x50, 0x35, 0x9d, 0x9b, 0xb5, 0xc9, 0xa8, 0x6f, 0xf0, 0x8b, 0xbf, 0xd5, +}; +static const unsigned char kat3280_addinpr2[] = {0}; +static const unsigned char kat3280_retbits[] = { + 0x5d, 0xd8, 0x49, 0xe1, 0xd5, 0x57, 0x4a, 0x93, 0x57, 0x0f, 0x05, 0x58, + 0x9a, 0x03, 0x07, 0xf7, 0xf1, 0xc7, 0xbf, 0x8f, 0xf3, 0xe8, 0x6e, 0x02, + 0x6a, 0x85, 0xbc, 0x88, 0xaa, 0x10, 0xf2, 0x1d, 0x7a, 0xfd, 0xf6, 0x0e, + 0x9f, 0x45, 0xcd, 0x6a, 0xfd, 0x6e, 0xcc, 0x34, 0xd1, 0xe5, 0x54, 0x32, + 0x83, 0x98, 0x44, 0x98, 0x72, 0x0f, 0x6c, 0x73, 0xb0, 0x37, 0x6e, 0x25, + 0x12, 0x3f, 0xcd, 0xe3, +}; +static const struct drbg_kat_pr_true kat3280_t = { + 9, kat3280_entropyin, kat3280_nonce, kat3280_persstr, + kat3280_entropyinpr1, kat3280_addinpr1, kat3280_entropyinpr2, + kat3280_addinpr2, kat3280_retbits +}; +static const struct drbg_kat kat3280 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3280_t +}; + +static const unsigned char kat3281_entropyin[] = { + 0xc6, 0x8e, 0x25, 0x57, 0xaa, 0x50, 0xdc, 0xfd, 0x10, 0xf3, 0xde, 0xa4, + 0xcb, 0xa2, 0x3e, 0x11, 0xe0, 0x41, 0x5e, 0x32, 0xcd, 0xed, 0x6a, 0x6b, +}; +static const unsigned char kat3281_nonce[] = { + 0x67, 0x0c, 0x96, 0x0e, 0xea, 0xad, 0x33, 0x1a, 0x21, 0x21, 0x89, 0xe6, + 0xb5, 0xe0, 0xdf, 0xa8, +}; +static const unsigned char kat3281_persstr[] = { + 0xfd, 0x11, 0xd1, 0x15, 0xad, 0x41, 0xb9, 0xa8, 0x3e, 0xfe, 0x71, 0x24, + 0x40, 0xd1, 0xa6, 0x2b, 0x1b, 0xa6, 0x53, 0x96, 0xd8, 0xbf, 0xfe, 0x19, + 0x7b, 0x00, 0xc3, 0x69, 0xf2, 0x94, 0x69, 0x6e, +}; +static const unsigned char kat3281_entropyinpr1[] = { + 0xa4, 0x5e, 0x0f, 0x78, 0xb7, 0xfe, 0xf9, 0x40, 0xc7, 0x6f, 0x9c, 0x3a, + 0x59, 0x4c, 0x34, 0x1a, 0xce, 0x3c, 0x43, 0x01, 0xf5, 0x69, 0xa2, 0x82, +}; +static const unsigned char kat3281_addinpr1[] = {0}; +static const unsigned char kat3281_entropyinpr2[] = { + 0x8c, 0x2f, 0x45, 0xc9, 0x77, 0x38, 0x4d, 0xa6, 0x6a, 0xa8, 0xeb, 0xf5, + 0xaa, 0xd9, 0x12, 0xb8, 0xe1, 0x1e, 0x0f, 0xa4, 0xb8, 0xda, 0x31, 0x2d, +}; +static const unsigned char kat3281_addinpr2[] = {0}; +static const unsigned char kat3281_retbits[] = { + 0xa1, 0xad, 0x8c, 0x27, 0x83, 0x65, 0x39, 0xfb, 0x66, 0x8d, 0x26, 0x0e, + 0x71, 0x90, 0x48, 0xda, 0xcf, 0x7f, 0xd8, 0x42, 0x09, 0x31, 0xe8, 0x9d, + 0x66, 0x39, 0x0d, 0xd5, 0xb5, 0xc9, 0x52, 0x3a, 0x51, 0x10, 0x21, 0x69, + 0x6e, 0x9a, 0xd0, 0x62, 0x19, 0xda, 0xd2, 0x61, 0x56, 0xf4, 0xd3, 0x18, + 0xf5, 0x59, 0xf2, 0xc4, 0x0f, 0x72, 0x7d, 0x4f, 0xdd, 0x93, 0xea, 0x38, + 0xd9, 0x5b, 0xb7, 0xfb, +}; +static const struct drbg_kat_pr_true kat3281_t = { + 10, kat3281_entropyin, kat3281_nonce, kat3281_persstr, + kat3281_entropyinpr1, kat3281_addinpr1, kat3281_entropyinpr2, + kat3281_addinpr2, kat3281_retbits +}; +static const struct drbg_kat kat3281 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3281_t +}; + +static const unsigned char kat3282_entropyin[] = { + 0x5c, 0x40, 0x93, 0xa2, 0x20, 0xe4, 0xc4, 0x21, 0xb9, 0x56, 0x58, 0x86, + 0xc4, 0xcc, 0x22, 0x6c, 0xcb, 0xf1, 0x8d, 0x3e, 0x5c, 0x5e, 0xd4, 0x2d, +}; +static const unsigned char kat3282_nonce[] = { + 0x66, 0x94, 0x3d, 0x61, 0x4e, 0xc9, 0xa4, 0x01, 0xee, 0x38, 0x94, 0xa4, + 0x27, 0x88, 0x96, 0xca, +}; +static const unsigned char kat3282_persstr[] = { + 0x3e, 0x6d, 0xd0, 0x41, 0x12, 0x84, 0x38, 0xa2, 0x66, 0xda, 0x29, 0xf5, + 0xca, 0x66, 0xf3, 0x87, 0x89, 0x45, 0x23, 0xdc, 0x7f, 0x30, 0x63, 0xc7, + 0x75, 0xd5, 0xaf, 0x40, 0xa8, 0xa6, 0x87, 0x69, +}; +static const unsigned char kat3282_entropyinpr1[] = { + 0xf2, 0x0a, 0x83, 0xcf, 0xec, 0x42, 0xc8, 0xa3, 0xb5, 0x84, 0xa8, 0x34, + 0xbe, 0x7d, 0x6b, 0xdf, 0x3c, 0x89, 0x0a, 0x39, 0x98, 0xda, 0x22, 0x0b, +}; +static const unsigned char kat3282_addinpr1[] = {0}; +static const unsigned char kat3282_entropyinpr2[] = { + 0x43, 0xef, 0x2a, 0xed, 0xd2, 0xf6, 0x65, 0xf1, 0x78, 0x42, 0xa1, 0x2a, + 0x1c, 0x2d, 0xbb, 0x0d, 0xba, 0x2e, 0xa9, 0x88, 0xfa, 0xd3, 0xd4, 0x40, +}; +static const unsigned char kat3282_addinpr2[] = {0}; +static const unsigned char kat3282_retbits[] = { + 0x53, 0x15, 0x1c, 0xe9, 0x40, 0xc2, 0x81, 0xaf, 0x83, 0x64, 0x93, 0x89, + 0x59, 0x90, 0xa3, 0x65, 0x1d, 0xc1, 0xb2, 0x8d, 0x45, 0x96, 0xbc, 0xde, + 0xbe, 0x0b, 0x5d, 0xcd, 0xc9, 0x32, 0x4f, 0x2f, 0x58, 0x53, 0x0d, 0xd3, + 0xea, 0x48, 0xf0, 0x2a, 0x26, 0x3e, 0xe3, 0x6b, 0x86, 0xac, 0xa8, 0x98, + 0x6e, 0x90, 0x05, 0x89, 0xd9, 0xed, 0x2f, 0x8f, 0x2f, 0xea, 0x98, 0x7b, + 0x6b, 0x08, 0xbf, 0x00, +}; +static const struct drbg_kat_pr_true kat3282_t = { + 11, kat3282_entropyin, kat3282_nonce, kat3282_persstr, + kat3282_entropyinpr1, kat3282_addinpr1, kat3282_entropyinpr2, + kat3282_addinpr2, kat3282_retbits +}; +static const struct drbg_kat kat3282 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3282_t +}; + +static const unsigned char kat3283_entropyin[] = { + 0xb1, 0x07, 0x4c, 0xa2, 0xb2, 0x20, 0x03, 0xe3, 0x19, 0x25, 0xa5, 0x4b, + 0xba, 0xf3, 0xc1, 0x8e, 0xa9, 0x79, 0x58, 0x73, 0x4f, 0xf7, 0x25, 0x6e, +}; +static const unsigned char kat3283_nonce[] = { + 0xac, 0xb5, 0x89, 0xa2, 0xdf, 0x45, 0x32, 0xfc, 0x97, 0xe6, 0x4b, 0x43, + 0xeb, 0x9f, 0x91, 0x54, +}; +static const unsigned char kat3283_persstr[] = { + 0xe9, 0x92, 0x8b, 0x8a, 0xe0, 0x07, 0xf1, 0xc1, 0x57, 0x5a, 0xab, 0x97, + 0x23, 0xca, 0xd0, 0xaf, 0x83, 0xd5, 0xd4, 0xce, 0xe3, 0x06, 0xde, 0x44, + 0x7b, 0x50, 0x95, 0xa2, 0x12, 0x74, 0xdb, 0x6d, +}; +static const unsigned char kat3283_entropyinpr1[] = { + 0x73, 0x2d, 0x0d, 0x31, 0x37, 0xfb, 0xc8, 0x6b, 0x6e, 0xb1, 0xfd, 0x51, + 0x0b, 0x3d, 0x2d, 0x63, 0x71, 0xfe, 0xc3, 0xa3, 0x4f, 0x49, 0xae, 0x67, +}; +static const unsigned char kat3283_addinpr1[] = {0}; +static const unsigned char kat3283_entropyinpr2[] = { + 0x2f, 0x5a, 0xef, 0xcd, 0x00, 0x09, 0xa1, 0xc9, 0x76, 0x44, 0x8a, 0x25, + 0xda, 0x51, 0x48, 0xc7, 0x70, 0xac, 0xaa, 0x74, 0x2d, 0x05, 0xcb, 0x1c, +}; +static const unsigned char kat3283_addinpr2[] = {0}; +static const unsigned char kat3283_retbits[] = { + 0xf2, 0xe8, 0x4b, 0x27, 0x1e, 0x88, 0xb2, 0x7b, 0xd2, 0xd7, 0xc1, 0xd9, + 0x66, 0x11, 0x54, 0xfc, 0x21, 0x67, 0xdc, 0x29, 0xae, 0xea, 0xeb, 0x71, + 0xb8, 0x3c, 0x09, 0xc0, 0xca, 0x65, 0xc0, 0xdd, 0x86, 0xe7, 0x96, 0x16, + 0x63, 0x7f, 0x12, 0x2a, 0xc7, 0x7d, 0x4c, 0xd5, 0x79, 0xda, 0xaf, 0xdd, + 0x0e, 0xad, 0x71, 0x94, 0xcc, 0x3a, 0xab, 0x90, 0xfb, 0xb3, 0x2a, 0xc6, + 0x52, 0x48, 0x84, 0x83, +}; +static const struct drbg_kat_pr_true kat3283_t = { + 12, kat3283_entropyin, kat3283_nonce, kat3283_persstr, + kat3283_entropyinpr1, kat3283_addinpr1, kat3283_entropyinpr2, + kat3283_addinpr2, kat3283_retbits +}; +static const struct drbg_kat kat3283 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3283_t +}; + +static const unsigned char kat3284_entropyin[] = { + 0x6d, 0x10, 0x03, 0x75, 0x5e, 0xf6, 0x6e, 0x7c, 0xa5, 0x07, 0x29, 0x6a, + 0x49, 0xc2, 0x9e, 0x63, 0xa0, 0xc8, 0x9e, 0x9e, 0xdb, 0xf3, 0x39, 0xc5, +}; +static const unsigned char kat3284_nonce[] = { + 0x91, 0x77, 0x98, 0x84, 0x9e, 0xf0, 0xba, 0xe4, 0xfb, 0x48, 0x20, 0x20, + 0x67, 0x70, 0x17, 0xbd, +}; +static const unsigned char kat3284_persstr[] = { + 0x50, 0x7a, 0x71, 0x49, 0xc6, 0x4e, 0xf8, 0xe3, 0xef, 0xf9, 0x71, 0x8b, + 0x30, 0x6a, 0xba, 0xae, 0x9f, 0x8b, 0xb2, 0x08, 0xfb, 0x0d, 0x18, 0x7b, + 0x3b, 0x94, 0x4b, 0xd4, 0x10, 0xd2, 0x3f, 0x96, +}; +static const unsigned char kat3284_entropyinpr1[] = { + 0x22, 0xd8, 0xc9, 0x94, 0x29, 0x8c, 0x23, 0x68, 0xe8, 0x6e, 0x91, 0xd3, + 0x9e, 0xf8, 0x35, 0x82, 0xd0, 0x59, 0x64, 0xeb, 0x9c, 0x16, 0xee, 0x5d, +}; +static const unsigned char kat3284_addinpr1[] = {0}; +static const unsigned char kat3284_entropyinpr2[] = { + 0xce, 0xb3, 0xdc, 0xd6, 0xc6, 0xb9, 0xfa, 0xfd, 0xcb, 0x6b, 0x1d, 0xc9, + 0xa1, 0x89, 0x5b, 0x1b, 0x54, 0x00, 0xea, 0x7e, 0x17, 0x23, 0xfe, 0xaf, +}; +static const unsigned char kat3284_addinpr2[] = {0}; +static const unsigned char kat3284_retbits[] = { + 0xd8, 0x6b, 0xc2, 0xe8, 0x5f, 0x4a, 0xd0, 0x7e, 0x1d, 0xc1, 0x55, 0x8c, + 0x8f, 0xcb, 0xf0, 0x12, 0xa8, 0xec, 0xeb, 0x4e, 0x33, 0x5a, 0xe0, 0x3a, + 0x56, 0xdf, 0x75, 0x80, 0xa1, 0x7c, 0xf4, 0x1a, 0x2c, 0xd1, 0x54, 0xd0, + 0x33, 0x67, 0x43, 0x8b, 0x7a, 0xae, 0x00, 0x79, 0x88, 0x89, 0x9e, 0x94, + 0x26, 0xc1, 0x71, 0x01, 0x5f, 0x6e, 0x63, 0x0c, 0xa7, 0xe7, 0x2c, 0x14, + 0x62, 0x07, 0x66, 0xe8, +}; +static const struct drbg_kat_pr_true kat3284_t = { + 13, kat3284_entropyin, kat3284_nonce, kat3284_persstr, + kat3284_entropyinpr1, kat3284_addinpr1, kat3284_entropyinpr2, + kat3284_addinpr2, kat3284_retbits +}; +static const struct drbg_kat kat3284 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3284_t +}; + +static const unsigned char kat3285_entropyin[] = { + 0x6d, 0xdd, 0x09, 0x4c, 0xbe, 0x5c, 0x5e, 0x53, 0xb6, 0x30, 0x72, 0xbe, + 0x3f, 0xb9, 0xac, 0xc2, 0xde, 0x5c, 0x92, 0xee, 0x53, 0x38, 0x75, 0x2f, +}; +static const unsigned char kat3285_nonce[] = { + 0x47, 0x58, 0x54, 0x2a, 0x2f, 0xfc, 0x8c, 0x7c, 0x68, 0x72, 0xea, 0xc0, + 0x98, 0xb3, 0xd9, 0xdc, +}; +static const unsigned char kat3285_persstr[] = { + 0x88, 0xec, 0x6c, 0x87, 0xc3, 0x37, 0x4b, 0xf2, 0x26, 0xa9, 0xe8, 0x4b, + 0x70, 0x7c, 0x24, 0x8d, 0x1b, 0xfa, 0xea, 0xe7, 0xd3, 0x21, 0x7e, 0x43, + 0x98, 0xfc, 0xcf, 0x4d, 0x57, 0x68, 0xd8, 0xd5, +}; +static const unsigned char kat3285_entropyinpr1[] = { + 0x22, 0x1d, 0xac, 0xa8, 0x41, 0x6e, 0xb1, 0xad, 0x4f, 0x1e, 0x30, 0x2e, + 0x7b, 0x97, 0x42, 0xc9, 0x30, 0x8b, 0xdf, 0xe2, 0x9a, 0xdf, 0x0b, 0x66, +}; +static const unsigned char kat3285_addinpr1[] = {0}; +static const unsigned char kat3285_entropyinpr2[] = { + 0x58, 0xb0, 0xa7, 0x82, 0x8c, 0x20, 0x55, 0xbf, 0xc8, 0xb4, 0x95, 0x6e, + 0xea, 0xf4, 0xe5, 0x08, 0x5f, 0x4c, 0x45, 0xbb, 0x19, 0x41, 0x62, 0xf4, +}; +static const unsigned char kat3285_addinpr2[] = {0}; +static const unsigned char kat3285_retbits[] = { + 0x0a, 0x06, 0x83, 0xf5, 0x1b, 0x1e, 0x6c, 0x52, 0x2d, 0x43, 0x61, 0x28, + 0xe4, 0xcc, 0x83, 0x68, 0x32, 0x8e, 0xca, 0xd4, 0x30, 0xea, 0x04, 0xfd, + 0x7b, 0x33, 0xf5, 0xac, 0xda, 0xd9, 0x0e, 0x9f, 0x30, 0x8d, 0x09, 0x5b, + 0x06, 0x8d, 0x58, 0x2d, 0xf5, 0x92, 0x7a, 0x61, 0x6a, 0x5a, 0xa6, 0x0d, + 0x10, 0x96, 0x82, 0x74, 0xed, 0xad, 0xab, 0xa3, 0x95, 0xcd, 0xd9, 0x3f, + 0xde, 0x50, 0xed, 0x58, +}; +static const struct drbg_kat_pr_true kat3285_t = { + 14, kat3285_entropyin, kat3285_nonce, kat3285_persstr, + kat3285_entropyinpr1, kat3285_addinpr1, kat3285_entropyinpr2, + kat3285_addinpr2, kat3285_retbits +}; +static const struct drbg_kat kat3285 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3285_t +}; + +static const unsigned char kat3286_entropyin[] = { + 0x33, 0x68, 0x42, 0x1d, 0x98, 0x5f, 0x7c, 0x82, 0x4c, 0x19, 0x0a, 0x09, + 0x26, 0x0e, 0x11, 0x6d, 0x39, 0x0d, 0x08, 0x4b, 0xc7, 0xf1, 0x96, 0x35, +}; +static const unsigned char kat3286_nonce[] = { + 0xfe, 0x4c, 0x5e, 0xf9, 0x54, 0xe3, 0x90, 0x3f, 0x00, 0x6e, 0xa5, 0x23, + 0x31, 0xb7, 0x6b, 0xdb, +}; +static const unsigned char kat3286_persstr[] = { + 0x25, 0x07, 0xc6, 0xd4, 0x64, 0xa4, 0x72, 0xf1, 0xb7, 0x4b, 0x30, 0xb3, + 0xd9, 0xf0, 0x28, 0x68, 0x24, 0x9e, 0x85, 0x09, 0x44, 0x37, 0xf4, 0x9c, + 0x7d, 0xac, 0xed, 0xd2, 0x83, 0x1b, 0x39, 0xc9, +}; +static const unsigned char kat3286_entropyinpr1[] = { + 0xf4, 0x8e, 0x13, 0xc1, 0x7e, 0xc4, 0x5d, 0xe1, 0x49, 0x99, 0x8e, 0xd2, + 0xb6, 0x01, 0xa1, 0x8c, 0x3e, 0x39, 0x46, 0x96, 0x78, 0x13, 0xb4, 0xec, +}; +static const unsigned char kat3286_addinpr1[] = { + 0x93, 0xbf, 0x05, 0x95, 0x4c, 0x98, 0xac, 0xca, 0xd2, 0x55, 0x96, 0x84, + 0x40, 0x41, 0x91, 0x3b, 0x36, 0x25, 0x93, 0x0a, 0x24, 0x14, 0xe0, 0x46, + 0xc0, 0x34, 0xe6, 0xfe, 0x40, 0xd0, 0x39, 0x64, +}; +static const unsigned char kat3286_entropyinpr2[] = { + 0x78, 0x07, 0x75, 0x4a, 0x89, 0x85, 0xce, 0x95, 0x01, 0x21, 0x0a, 0xec, + 0x6b, 0x98, 0xf7, 0x56, 0x5b, 0x73, 0xf6, 0x8f, 0x23, 0xa2, 0xd4, 0xa9, +}; +static const unsigned char kat3286_addinpr2[] = { + 0x81, 0x58, 0x68, 0xad, 0x1e, 0xff, 0x3c, 0x1f, 0x89, 0x62, 0xc6, 0x14, + 0x2d, 0xf8, 0x03, 0x7a, 0x47, 0xf7, 0x4b, 0xfc, 0x95, 0x7b, 0x33, 0x7f, + 0xde, 0xc8, 0x89, 0x90, 0x38, 0x7c, 0x14, 0xf3, +}; +static const unsigned char kat3286_retbits[] = { + 0xab, 0x55, 0x79, 0x7e, 0x73, 0xb1, 0xcc, 0x1a, 0x5e, 0x3c, 0x66, 0x42, + 0xe0, 0x7f, 0x49, 0x51, 0x61, 0x82, 0xde, 0xf7, 0x81, 0x89, 0xc4, 0x1b, + 0x4d, 0x7b, 0x44, 0x3c, 0x5a, 0x48, 0x2e, 0x8b, 0x6c, 0xd9, 0xf2, 0xf4, + 0x28, 0xe8, 0x4a, 0x09, 0xbb, 0xea, 0x63, 0xb3, 0x8a, 0x63, 0x0d, 0xe7, + 0x3c, 0x84, 0x0b, 0x8e, 0x91, 0x93, 0x72, 0x8e, 0xa2, 0x83, 0x67, 0x8e, + 0xc4, 0xeb, 0xd6, 0xf3, +}; +static const struct drbg_kat_pr_true kat3286_t = { + 0, kat3286_entropyin, kat3286_nonce, kat3286_persstr, + kat3286_entropyinpr1, kat3286_addinpr1, kat3286_entropyinpr2, + kat3286_addinpr2, kat3286_retbits +}; +static const struct drbg_kat kat3286 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3286_t +}; + +static const unsigned char kat3287_entropyin[] = { + 0x09, 0xe2, 0xf3, 0x05, 0xe6, 0xb0, 0xff, 0xed, 0xa1, 0x88, 0x9e, 0x15, + 0x8a, 0x1c, 0x00, 0xc3, 0xa9, 0x7c, 0x53, 0xf5, 0x5c, 0x99, 0x91, 0xe5, +}; +static const unsigned char kat3287_nonce[] = { + 0xaf, 0x1e, 0xf9, 0x44, 0x38, 0x89, 0x64, 0xa8, 0xbc, 0x96, 0xdf, 0x4a, + 0x26, 0x3b, 0xcd, 0x97, +}; +static const unsigned char kat3287_persstr[] = { + 0xe2, 0xcc, 0x91, 0x93, 0xf3, 0xd9, 0xe6, 0x63, 0x12, 0xe4, 0xc7, 0x06, + 0x00, 0x73, 0x08, 0xf8, 0xfc, 0x33, 0xc4, 0x8f, 0xe0, 0x00, 0x89, 0x22, + 0xf2, 0x98, 0x68, 0x48, 0xd1, 0xab, 0xbd, 0x81, +}; +static const unsigned char kat3287_entropyinpr1[] = { + 0x99, 0x87, 0xe1, 0x07, 0xbb, 0x04, 0x29, 0x37, 0xef, 0x1a, 0x43, 0x7c, + 0x6f, 0x42, 0xe7, 0x6d, 0xea, 0x85, 0xbc, 0xb3, 0x79, 0x67, 0x15, 0x1c, +}; +static const unsigned char kat3287_addinpr1[] = { + 0xf9, 0x07, 0x7f, 0xf2, 0x65, 0x9d, 0xf4, 0x56, 0x41, 0xaa, 0x1f, 0x07, + 0xdc, 0x62, 0x48, 0x06, 0x4e, 0xc4, 0xf3, 0x0d, 0xa1, 0xb7, 0x4d, 0x2a, + 0x73, 0xd2, 0xdc, 0xf4, 0x4a, 0x71, 0x95, 0xb3, +}; +static const unsigned char kat3287_entropyinpr2[] = { + 0xe9, 0x4a, 0xed, 0x66, 0x4f, 0x8d, 0x0d, 0xe1, 0x1c, 0x9a, 0x27, 0x02, + 0x5a, 0xef, 0xf2, 0x6d, 0x7b, 0x30, 0x37, 0x56, 0xe3, 0x7d, 0x0b, 0x29, +}; +static const unsigned char kat3287_addinpr2[] = { + 0xd6, 0xb5, 0xca, 0x0a, 0x5a, 0x6a, 0xab, 0x8b, 0xfa, 0xb8, 0x00, 0x4a, + 0xce, 0x82, 0x7a, 0xb0, 0x61, 0xd8, 0x5a, 0xae, 0x31, 0x95, 0xc0, 0x76, + 0xe5, 0xfc, 0x6c, 0x2c, 0xe8, 0x82, 0xd4, 0xbe, +}; +static const unsigned char kat3287_retbits[] = { + 0x36, 0x98, 0xb7, 0x54, 0xac, 0x77, 0x84, 0x0b, 0x00, 0x86, 0x15, 0x0a, + 0x0d, 0xa1, 0x72, 0x30, 0xe9, 0x40, 0xae, 0x95, 0x6e, 0x85, 0xdb, 0x64, + 0xa1, 0x3f, 0x08, 0xc0, 0xb8, 0x05, 0x57, 0xf9, 0x57, 0xd4, 0x55, 0x2a, + 0x90, 0x73, 0x9c, 0x8d, 0x1f, 0xcb, 0x48, 0x49, 0x14, 0x61, 0x2f, 0x8c, + 0x43, 0x8c, 0xec, 0xbc, 0xdc, 0xb2, 0x1e, 0x61, 0x9a, 0x9b, 0xb6, 0x6d, + 0x00, 0xb1, 0xac, 0xca, +}; +static const struct drbg_kat_pr_true kat3287_t = { + 1, kat3287_entropyin, kat3287_nonce, kat3287_persstr, + kat3287_entropyinpr1, kat3287_addinpr1, kat3287_entropyinpr2, + kat3287_addinpr2, kat3287_retbits +}; +static const struct drbg_kat kat3287 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3287_t +}; + +static const unsigned char kat3288_entropyin[] = { + 0xac, 0xf0, 0x15, 0xc0, 0xc8, 0xed, 0x60, 0x33, 0x0c, 0x81, 0xc8, 0xdb, + 0x62, 0xa5, 0xb4, 0x98, 0x34, 0x4a, 0x35, 0xcb, 0xac, 0x60, 0x29, 0x34, +}; +static const unsigned char kat3288_nonce[] = { + 0x21, 0x4e, 0x49, 0x49, 0xe5, 0x97, 0x9c, 0x7a, 0x97, 0xc9, 0x39, 0x97, + 0xf8, 0x6e, 0xb9, 0x4e, +}; +static const unsigned char kat3288_persstr[] = { + 0x5c, 0x95, 0xff, 0xa0, 0x2c, 0xa7, 0x2d, 0x74, 0x0b, 0x0e, 0x1a, 0xe6, + 0xb5, 0x79, 0x5f, 0xc3, 0x62, 0x06, 0x51, 0x99, 0x0d, 0x53, 0x0e, 0x02, + 0x03, 0x30, 0x6a, 0x41, 0x9e, 0x48, 0x66, 0x04, +}; +static const unsigned char kat3288_entropyinpr1[] = { + 0xc7, 0x5d, 0x26, 0x37, 0x2e, 0x35, 0x81, 0xce, 0xc0, 0x13, 0x3c, 0x8b, + 0x78, 0x01, 0x42, 0x8e, 0x03, 0xb4, 0x8e, 0xc0, 0x3a, 0x5d, 0x44, 0xd0, +}; +static const unsigned char kat3288_addinpr1[] = { + 0x55, 0x59, 0x41, 0xbf, 0x3e, 0x97, 0x7d, 0x2d, 0x14, 0xb3, 0xf3, 0x70, + 0x52, 0x7a, 0xe0, 0xc6, 0x47, 0x62, 0xd7, 0xba, 0x57, 0x9b, 0x07, 0xfe, + 0x1b, 0x04, 0x18, 0xda, 0xec, 0xb2, 0x99, 0x4b, +}; +static const unsigned char kat3288_entropyinpr2[] = { + 0x95, 0x0e, 0xfb, 0x8a, 0xd7, 0xef, 0xd2, 0x6a, 0x9e, 0x98, 0x61, 0x09, + 0x34, 0x56, 0xf3, 0x82, 0x77, 0xff, 0x49, 0xe3, 0xf8, 0xff, 0xa6, 0x4b, +}; +static const unsigned char kat3288_addinpr2[] = { + 0x73, 0x8b, 0x3b, 0xb3, 0xd7, 0x50, 0xda, 0xd9, 0x9a, 0x30, 0xdb, 0x3e, + 0xa4, 0xba, 0x32, 0x62, 0xad, 0xd3, 0xd7, 0x77, 0xf4, 0x50, 0xf2, 0x25, + 0x79, 0xe0, 0x47, 0xae, 0xfa, 0x11, 0xa0, 0xc0, +}; +static const unsigned char kat3288_retbits[] = { + 0x81, 0x9b, 0xda, 0x49, 0x78, 0x5e, 0x3a, 0xeb, 0xda, 0xc4, 0xdf, 0xf5, + 0x36, 0x8b, 0x67, 0xec, 0x9f, 0x01, 0x87, 0x4a, 0x98, 0xe8, 0x5d, 0x6b, + 0xbd, 0x39, 0xb3, 0x61, 0x24, 0x00, 0x23, 0xe2, 0x80, 0x5d, 0x8a, 0xef, + 0x93, 0x76, 0xf3, 0x8f, 0xd9, 0x2a, 0xda, 0x43, 0xe3, 0x87, 0x38, 0xec, + 0x6b, 0xf1, 0x15, 0xf2, 0xf5, 0x93, 0xe8, 0x33, 0xf4, 0x90, 0xa0, 0xe0, + 0x43, 0x7b, 0x07, 0xd6, +}; +static const struct drbg_kat_pr_true kat3288_t = { + 2, kat3288_entropyin, kat3288_nonce, kat3288_persstr, + kat3288_entropyinpr1, kat3288_addinpr1, kat3288_entropyinpr2, + kat3288_addinpr2, kat3288_retbits +}; +static const struct drbg_kat kat3288 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3288_t +}; + +static const unsigned char kat3289_entropyin[] = { + 0x08, 0xa2, 0xc0, 0xb7, 0xee, 0xf6, 0x9f, 0xf3, 0xd0, 0x54, 0xbe, 0xa1, + 0x12, 0x02, 0x96, 0xeb, 0xff, 0xba, 0x74, 0x8a, 0x48, 0x86, 0xfa, 0x4d, +}; +static const unsigned char kat3289_nonce[] = { + 0x07, 0x6f, 0xf8, 0xe4, 0xe0, 0xa3, 0x75, 0x85, 0x04, 0xc2, 0x68, 0xd4, + 0x5f, 0x2d, 0xad, 0x1a, +}; +static const unsigned char kat3289_persstr[] = { + 0x65, 0x18, 0xe9, 0x4f, 0x40, 0xcd, 0x4a, 0x38, 0x89, 0xde, 0xdd, 0x5d, + 0xd4, 0x1b, 0xf4, 0x09, 0xcf, 0x1a, 0x4a, 0xb3, 0x97, 0xa9, 0xf1, 0x8a, + 0xfc, 0x37, 0x23, 0x09, 0x2a, 0x4e, 0xed, 0x0b, +}; +static const unsigned char kat3289_entropyinpr1[] = { + 0x04, 0x9e, 0x00, 0x04, 0xfa, 0x74, 0xa2, 0xa9, 0x16, 0xde, 0xe5, 0xf9, + 0xcf, 0x16, 0x0b, 0x3c, 0x32, 0x7c, 0x71, 0x8d, 0x49, 0x64, 0xff, 0x0a, +}; +static const unsigned char kat3289_addinpr1[] = { + 0xc8, 0xfe, 0xbb, 0xd0, 0x82, 0x32, 0xfb, 0xac, 0xd4, 0xb4, 0x8a, 0x5c, + 0xea, 0xa9, 0xe0, 0x56, 0x98, 0xc8, 0x9e, 0x12, 0xc5, 0xe8, 0x7b, 0xa1, + 0x4b, 0x9c, 0xb7, 0x5e, 0x60, 0x6a, 0x8a, 0x81, +}; +static const unsigned char kat3289_entropyinpr2[] = { + 0x4b, 0x06, 0x0d, 0x85, 0x63, 0xc6, 0xfb, 0x96, 0x41, 0x90, 0x8f, 0xa4, + 0x27, 0xf9, 0x23, 0xbb, 0xfc, 0x1a, 0x77, 0xb1, 0x69, 0x00, 0x4f, 0xcb, +}; +static const unsigned char kat3289_addinpr2[] = { + 0xa4, 0xd6, 0xba, 0x1f, 0x88, 0xa2, 0xe1, 0x8f, 0x2c, 0x85, 0x9d, 0x00, + 0x3f, 0xa6, 0xf1, 0x0c, 0x05, 0xee, 0x91, 0xe0, 0x9c, 0x5c, 0x30, 0x23, + 0x29, 0xb8, 0xe2, 0x91, 0x18, 0x90, 0x4c, 0xb0, +}; +static const unsigned char kat3289_retbits[] = { + 0x84, 0x5e, 0xe6, 0x33, 0x6b, 0xf6, 0x9d, 0x28, 0xff, 0x1c, 0x5b, 0x1c, + 0x15, 0x5c, 0x28, 0x30, 0xf1, 0x6b, 0xc6, 0x3b, 0xaa, 0xec, 0x02, 0xa1, + 0xb1, 0xd8, 0x95, 0x22, 0x27, 0xdf, 0xa7, 0x2e, 0xdb, 0x37, 0x35, 0xaa, + 0x3e, 0x10, 0x73, 0xc3, 0x38, 0x87, 0x6e, 0x3e, 0x54, 0x66, 0x10, 0xff, + 0x75, 0x95, 0x0d, 0x39, 0x3a, 0x3d, 0x1d, 0x26, 0xb1, 0x15, 0x1a, 0xa9, + 0x7f, 0x70, 0x31, 0xa2, +}; +static const struct drbg_kat_pr_true kat3289_t = { + 3, kat3289_entropyin, kat3289_nonce, kat3289_persstr, + kat3289_entropyinpr1, kat3289_addinpr1, kat3289_entropyinpr2, + kat3289_addinpr2, kat3289_retbits +}; +static const struct drbg_kat kat3289 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3289_t +}; + +static const unsigned char kat3290_entropyin[] = { + 0x4e, 0x1b, 0xf3, 0xdd, 0xe3, 0x4e, 0xa2, 0xde, 0x16, 0x4c, 0x22, 0x4b, + 0x30, 0xb7, 0x0f, 0xb7, 0x41, 0x8d, 0x47, 0x08, 0xbd, 0xec, 0xc1, 0x63, +}; +static const unsigned char kat3290_nonce[] = { + 0x53, 0x73, 0x20, 0xdc, 0x12, 0xc6, 0xdb, 0x73, 0x6b, 0x53, 0x73, 0x1f, + 0x90, 0x9a, 0x2f, 0x5e, +}; +static const unsigned char kat3290_persstr[] = { + 0xd2, 0xdd, 0x5d, 0x00, 0xc6, 0xc4, 0x25, 0xde, 0x0f, 0x93, 0x21, 0xf2, + 0x73, 0x74, 0x0d, 0x22, 0xf7, 0x06, 0xfa, 0x55, 0x29, 0x55, 0x60, 0xa6, + 0x8c, 0x17, 0x95, 0xcb, 0x6d, 0x12, 0x7f, 0x1a, +}; +static const unsigned char kat3290_entropyinpr1[] = { + 0xa9, 0x62, 0xa1, 0xa5, 0x81, 0xd9, 0xb3, 0x7b, 0x01, 0x61, 0x60, 0xd0, + 0x0a, 0x37, 0x03, 0x28, 0xa5, 0x8b, 0x24, 0x8b, 0xab, 0x5e, 0x50, 0x98, +}; +static const unsigned char kat3290_addinpr1[] = { + 0xd3, 0x09, 0xd7, 0x3d, 0x61, 0x56, 0xd0, 0x35, 0xc1, 0x80, 0xec, 0x29, + 0xfa, 0xa9, 0xa5, 0x11, 0x9c, 0x12, 0x72, 0x23, 0xf5, 0xdd, 0x17, 0x7d, + 0x1b, 0x29, 0x7f, 0x71, 0xbd, 0x61, 0xce, 0x54, +}; +static const unsigned char kat3290_entropyinpr2[] = { + 0xe1, 0xb8, 0x83, 0x83, 0xfc, 0xca, 0x39, 0x5c, 0xd5, 0x48, 0x40, 0x60, + 0x8d, 0xc0, 0xad, 0xf4, 0x38, 0x48, 0xb7, 0xce, 0xc2, 0x8e, 0x6e, 0xf8, +}; +static const unsigned char kat3290_addinpr2[] = { + 0xcd, 0x5a, 0x0a, 0xe6, 0xd4, 0xe4, 0xdb, 0x49, 0x79, 0xf7, 0x1e, 0x96, + 0xcf, 0xa3, 0x24, 0x2f, 0x68, 0x15, 0x3b, 0x39, 0xab, 0x81, 0x96, 0x3a, + 0xbe, 0x92, 0xb7, 0x29, 0x4d, 0xbe, 0x6b, 0xb6, +}; +static const unsigned char kat3290_retbits[] = { + 0xf4, 0x08, 0x11, 0x0d, 0xc5, 0xf0, 0xe8, 0x65, 0x42, 0x7d, 0x4a, 0xd4, + 0xf2, 0x01, 0x37, 0xe4, 0x89, 0xdb, 0xbd, 0x06, 0x4f, 0x71, 0x4b, 0xf1, + 0xc5, 0x10, 0x6e, 0x52, 0x25, 0x96, 0xe3, 0x31, 0x20, 0xd8, 0xc1, 0x36, + 0xbe, 0xca, 0xbf, 0x76, 0x1b, 0x47, 0x5e, 0xc5, 0x7d, 0xb3, 0x20, 0xcc, + 0xe8, 0x53, 0x7b, 0x5f, 0x80, 0x56, 0x5a, 0x5e, 0x15, 0xb0, 0x0e, 0x74, + 0x4d, 0x92, 0xb5, 0x26, +}; +static const struct drbg_kat_pr_true kat3290_t = { + 4, kat3290_entropyin, kat3290_nonce, kat3290_persstr, + kat3290_entropyinpr1, kat3290_addinpr1, kat3290_entropyinpr2, + kat3290_addinpr2, kat3290_retbits +}; +static const struct drbg_kat kat3290 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3290_t +}; + +static const unsigned char kat3291_entropyin[] = { + 0x06, 0x27, 0xa2, 0xdf, 0x86, 0xef, 0x77, 0x05, 0x8f, 0x2d, 0x54, 0x2b, + 0x8b, 0x59, 0x79, 0x04, 0xa3, 0xda, 0xec, 0x8b, 0x8e, 0xbd, 0x36, 0x5f, +}; +static const unsigned char kat3291_nonce[] = { + 0x6a, 0x0f, 0x2e, 0x71, 0x82, 0xaf, 0x9b, 0xbc, 0xc5, 0xdf, 0xd6, 0x72, + 0x20, 0x43, 0x47, 0x68, +}; +static const unsigned char kat3291_persstr[] = { + 0x41, 0xf8, 0x23, 0x75, 0x8a, 0x11, 0xf4, 0x27, 0x15, 0x5b, 0x49, 0xe0, + 0xb8, 0xa1, 0x0e, 0xe2, 0x5d, 0x23, 0x46, 0xba, 0xeb, 0x14, 0xc3, 0xfb, + 0x47, 0x7f, 0x67, 0x8b, 0xa4, 0xb5, 0xab, 0xb3, +}; +static const unsigned char kat3291_entropyinpr1[] = { + 0x98, 0xb7, 0x45, 0xea, 0xf3, 0xf2, 0xe2, 0xa8, 0x46, 0x96, 0xc2, 0xf2, + 0xc8, 0xca, 0x73, 0x6a, 0x98, 0xe0, 0x31, 0x4a, 0xb9, 0xf5, 0x48, 0x44, +}; +static const unsigned char kat3291_addinpr1[] = { + 0x50, 0xce, 0x71, 0xbc, 0x75, 0x6c, 0x28, 0x92, 0x20, 0x64, 0x70, 0x01, + 0x89, 0xab, 0xe3, 0x12, 0xe6, 0x3d, 0xc4, 0xa7, 0x2d, 0x81, 0x90, 0xfa, + 0xbc, 0x72, 0x94, 0x9a, 0xe2, 0xc7, 0xa0, 0xc8, +}; +static const unsigned char kat3291_entropyinpr2[] = { + 0xa4, 0x21, 0x5c, 0x75, 0x68, 0x38, 0x25, 0xff, 0xb1, 0xbf, 0xc5, 0x65, + 0x3f, 0xab, 0x32, 0xc2, 0x41, 0x38, 0x27, 0xde, 0x63, 0x67, 0x45, 0xa2, +}; +static const unsigned char kat3291_addinpr2[] = { + 0x9b, 0x3b, 0x2a, 0xf1, 0x12, 0x85, 0xad, 0x52, 0x57, 0x5d, 0x87, 0xc0, + 0xa2, 0x62, 0xd0, 0xd4, 0x4d, 0xb6, 0x8c, 0x69, 0x78, 0x1c, 0x34, 0xb4, + 0x9c, 0x27, 0x46, 0xcf, 0xba, 0x8f, 0x06, 0xd8, +}; +static const unsigned char kat3291_retbits[] = { + 0x3d, 0x36, 0xe5, 0xfe, 0xcc, 0x13, 0x3b, 0x2c, 0xfe, 0x9a, 0x04, 0x79, + 0x0e, 0x28, 0x7f, 0x0e, 0x28, 0x1b, 0x54, 0x9a, 0x55, 0x4d, 0x1d, 0xe1, + 0xec, 0x01, 0xc1, 0xbd, 0xa9, 0x0f, 0x44, 0x71, 0xa6, 0xec, 0x87, 0x0a, + 0x80, 0x9d, 0xaa, 0xec, 0xa1, 0x1c, 0x74, 0x12, 0xf7, 0x5e, 0x4f, 0x8b, + 0x10, 0x32, 0xd9, 0xdd, 0xbb, 0xdb, 0x61, 0xdc, 0x15, 0x00, 0xd7, 0x27, + 0xba, 0x72, 0x11, 0xb5, +}; +static const struct drbg_kat_pr_true kat3291_t = { + 5, kat3291_entropyin, kat3291_nonce, kat3291_persstr, + kat3291_entropyinpr1, kat3291_addinpr1, kat3291_entropyinpr2, + kat3291_addinpr2, kat3291_retbits +}; +static const struct drbg_kat kat3291 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3291_t +}; + +static const unsigned char kat3292_entropyin[] = { + 0xa2, 0x0e, 0x04, 0xa9, 0xfd, 0x0a, 0x6b, 0xfd, 0xbe, 0xe6, 0x3f, 0xd5, + 0x8a, 0x41, 0x17, 0x5f, 0xd8, 0xc8, 0x9e, 0x83, 0x5f, 0x1e, 0x57, 0xf1, +}; +static const unsigned char kat3292_nonce[] = { + 0x59, 0xc6, 0xe4, 0x44, 0x66, 0x1f, 0xea, 0x9c, 0xea, 0x0e, 0xe3, 0x64, + 0x93, 0x40, 0x8a, 0xf4, +}; +static const unsigned char kat3292_persstr[] = { + 0xcf, 0x99, 0xdf, 0xd8, 0x25, 0x17, 0xf4, 0x53, 0xff, 0x11, 0x7b, 0xf7, + 0x3b, 0xea, 0xfd, 0x28, 0xb7, 0x97, 0x50, 0x5e, 0x22, 0x79, 0x3e, 0x0a, + 0x90, 0x75, 0xd7, 0x00, 0xa5, 0xd7, 0xaa, 0xf8, +}; +static const unsigned char kat3292_entropyinpr1[] = { + 0x2c, 0x71, 0xbc, 0x3b, 0xe6, 0x44, 0x46, 0x9f, 0x3f, 0xf9, 0x1d, 0x00, + 0x2d, 0xda, 0xf0, 0xbe, 0x72, 0xd5, 0x33, 0xd6, 0x16, 0x13, 0x44, 0x3b, +}; +static const unsigned char kat3292_addinpr1[] = { + 0x64, 0x99, 0x5f, 0xe5, 0x11, 0x3e, 0xad, 0xef, 0x65, 0xc9, 0xa1, 0x15, + 0xb4, 0x80, 0x4b, 0xd7, 0x9b, 0x05, 0x41, 0x3d, 0x2d, 0xe1, 0x4c, 0x32, + 0x1b, 0x75, 0xcc, 0x03, 0xb4, 0x26, 0xae, 0x08, +}; +static const unsigned char kat3292_entropyinpr2[] = { + 0x44, 0xfa, 0x6e, 0xbb, 0x4c, 0xd2, 0xaf, 0x3c, 0x62, 0x04, 0xfe, 0x24, + 0x07, 0x31, 0x79, 0x39, 0x04, 0xbd, 0x08, 0x32, 0x8d, 0xcd, 0x2d, 0xb0, +}; +static const unsigned char kat3292_addinpr2[] = { + 0x03, 0xe1, 0xef, 0x3d, 0x99, 0xb2, 0xac, 0x8f, 0x93, 0x0a, 0xe0, 0x11, + 0x1b, 0xe8, 0x28, 0xcb, 0xf3, 0xd2, 0xc6, 0x20, 0x4d, 0xff, 0x66, 0x7c, + 0xc0, 0xc6, 0x6f, 0x3a, 0x8b, 0x8f, 0x77, 0x42, +}; +static const unsigned char kat3292_retbits[] = { + 0x68, 0xcd, 0xbd, 0xe4, 0x62, 0x03, 0x23, 0x51, 0x3d, 0x52, 0x9f, 0xac, + 0xc2, 0x5c, 0x1f, 0x82, 0x26, 0xd3, 0x4e, 0xba, 0xa3, 0x3f, 0xf2, 0xa8, + 0x3f, 0xaf, 0x62, 0x75, 0x5d, 0x26, 0x7d, 0xb5, 0x1b, 0x0f, 0x6a, 0x42, + 0x51, 0x28, 0x89, 0xd7, 0xe2, 0x40, 0xdf, 0x63, 0x88, 0x6b, 0x13, 0x94, + 0x80, 0xfd, 0xfc, 0xf9, 0x20, 0x20, 0x60, 0x24, 0x27, 0x04, 0x71, 0x86, + 0xc8, 0x25, 0xb1, 0xc5, +}; +static const struct drbg_kat_pr_true kat3292_t = { + 6, kat3292_entropyin, kat3292_nonce, kat3292_persstr, + kat3292_entropyinpr1, kat3292_addinpr1, kat3292_entropyinpr2, + kat3292_addinpr2, kat3292_retbits +}; +static const struct drbg_kat kat3292 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3292_t +}; + +static const unsigned char kat3293_entropyin[] = { + 0xf5, 0xab, 0x13, 0x6e, 0x8d, 0x5d, 0x9c, 0xe4, 0xb6, 0xe2, 0xfe, 0x12, + 0x43, 0x53, 0x1d, 0xd8, 0xa7, 0x6c, 0x15, 0x92, 0xa8, 0x23, 0x6f, 0x9e, +}; +static const unsigned char kat3293_nonce[] = { + 0xb3, 0x3b, 0x0d, 0x9c, 0x9a, 0x5a, 0xcc, 0x18, 0x44, 0x89, 0x3c, 0xaa, + 0x34, 0x1d, 0x00, 0x6a, +}; +static const unsigned char kat3293_persstr[] = { + 0xd0, 0x8d, 0x05, 0x7b, 0x8a, 0xe7, 0x71, 0xa5, 0x01, 0x2a, 0x56, 0xc6, + 0xef, 0xb7, 0xcb, 0x6f, 0xb6, 0xbb, 0x8e, 0x80, 0x01, 0xe9, 0x9b, 0x0f, + 0x08, 0x75, 0x01, 0x82, 0x1d, 0xc6, 0x42, 0xbc, +}; +static const unsigned char kat3293_entropyinpr1[] = { + 0x36, 0xb5, 0x17, 0x23, 0x47, 0x64, 0x1a, 0x48, 0x35, 0xac, 0xf0, 0x5e, + 0xf2, 0x06, 0xbb, 0x52, 0xad, 0x82, 0xe5, 0x06, 0xec, 0xeb, 0x6e, 0xe3, +}; +static const unsigned char kat3293_addinpr1[] = { + 0x73, 0xbe, 0x9e, 0x3d, 0x92, 0x51, 0xcf, 0x17, 0xed, 0xd4, 0x02, 0x25, + 0x9d, 0xde, 0x5e, 0xb7, 0xe3, 0x08, 0xbd, 0x96, 0x37, 0xe5, 0x34, 0xc2, + 0x0a, 0x47, 0xbf, 0x84, 0xbc, 0x53, 0x0a, 0x4a, +}; +static const unsigned char kat3293_entropyinpr2[] = { + 0x95, 0x9d, 0xb8, 0x07, 0x4f, 0x8b, 0x0e, 0xe9, 0x23, 0x88, 0xdd, 0xd7, + 0xb0, 0x5e, 0x34, 0x80, 0x73, 0x48, 0x56, 0x09, 0xc6, 0xe3, 0xc8, 0x95, +}; +static const unsigned char kat3293_addinpr2[] = { + 0xad, 0x7b, 0xef, 0xed, 0x0c, 0xd6, 0xe3, 0x03, 0x83, 0xaf, 0x7a, 0xa2, + 0xf1, 0x37, 0xed, 0x10, 0x21, 0xe5, 0xbd, 0x2e, 0xed, 0x4d, 0x86, 0x8b, + 0xc6, 0x2a, 0x3e, 0x15, 0x0d, 0xca, 0x8b, 0x81, +}; +static const unsigned char kat3293_retbits[] = { + 0xa5, 0xad, 0x9f, 0x08, 0xc4, 0xd9, 0x6b, 0xd0, 0x2e, 0x1b, 0xf2, 0x5a, + 0x9e, 0x14, 0x2a, 0x16, 0xcb, 0xba, 0x20, 0xc7, 0x66, 0xd4, 0x8a, 0xfe, + 0x8f, 0x9c, 0x61, 0x98, 0x2d, 0x47, 0x4a, 0x7a, 0xad, 0x1c, 0x1c, 0x09, + 0xdf, 0x9b, 0x6b, 0x24, 0x13, 0x41, 0xae, 0xcc, 0x2d, 0x0e, 0x82, 0x3b, + 0x90, 0xce, 0xb0, 0x54, 0xe3, 0x56, 0x02, 0xc2, 0xf7, 0x6d, 0x28, 0xd1, + 0xa5, 0x57, 0xd7, 0x93, +}; +static const struct drbg_kat_pr_true kat3293_t = { + 7, kat3293_entropyin, kat3293_nonce, kat3293_persstr, + kat3293_entropyinpr1, kat3293_addinpr1, kat3293_entropyinpr2, + kat3293_addinpr2, kat3293_retbits +}; +static const struct drbg_kat kat3293 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3293_t +}; + +static const unsigned char kat3294_entropyin[] = { + 0xf5, 0x7f, 0x54, 0x4c, 0xfe, 0xb2, 0x4f, 0xc7, 0x17, 0xa2, 0x8f, 0x6b, + 0xf3, 0x33, 0xd3, 0xf7, 0x91, 0x16, 0x9e, 0xfa, 0x24, 0xd7, 0xa6, 0x49, +}; +static const unsigned char kat3294_nonce[] = { + 0xf5, 0x01, 0xa0, 0x9f, 0x2d, 0x6b, 0x7c, 0x75, 0x36, 0x40, 0x9a, 0x6e, + 0xbe, 0x5d, 0x0c, 0xc7, +}; +static const unsigned char kat3294_persstr[] = { + 0x06, 0x11, 0xc5, 0xdd, 0x75, 0x7a, 0xa8, 0x10, 0xb6, 0x10, 0xf0, 0xd2, + 0xe7, 0xf5, 0xad, 0x55, 0xd0, 0xa1, 0xe5, 0x09, 0xa3, 0x27, 0xc5, 0xbb, + 0xe6, 0xdb, 0xf8, 0x95, 0x45, 0x4e, 0xe2, 0xb7, +}; +static const unsigned char kat3294_entropyinpr1[] = { + 0xda, 0x5f, 0x82, 0x37, 0x56, 0xe7, 0xe4, 0xa9, 0x2c, 0xfb, 0x88, 0x8b, + 0xf1, 0x8d, 0x2c, 0xbb, 0x85, 0x6b, 0x66, 0x4e, 0x98, 0xd6, 0xa7, 0xa1, +}; +static const unsigned char kat3294_addinpr1[] = { + 0xe7, 0x20, 0x07, 0x6f, 0x67, 0x8c, 0x77, 0x94, 0x9b, 0x71, 0x3b, 0x0d, + 0x21, 0x2c, 0x64, 0xae, 0x22, 0xdf, 0x08, 0x23, 0xba, 0xfc, 0x54, 0x41, + 0x66, 0xbe, 0xd5, 0x00, 0x79, 0xcc, 0x99, 0x4d, +}; +static const unsigned char kat3294_entropyinpr2[] = { + 0x76, 0x11, 0x68, 0x97, 0x14, 0xb7, 0xcd, 0xbf, 0x82, 0x73, 0xb1, 0x6a, + 0x35, 0xda, 0xd0, 0x97, 0xc1, 0x90, 0x13, 0xfc, 0x68, 0x2c, 0xfa, 0x60, +}; +static const unsigned char kat3294_addinpr2[] = { + 0x37, 0x1a, 0x0c, 0x03, 0x06, 0x69, 0xeb, 0x75, 0x34, 0xe1, 0x68, 0x24, + 0x31, 0x41, 0x4f, 0x34, 0x1d, 0x24, 0xcc, 0xc2, 0xa5, 0xb6, 0x3b, 0xf6, + 0x16, 0x13, 0x57, 0x54, 0x53, 0x7c, 0x72, 0x3b, +}; +static const unsigned char kat3294_retbits[] = { + 0xb1, 0x87, 0x1a, 0x98, 0xf9, 0xbc, 0xa0, 0x34, 0xad, 0xe0, 0x42, 0x51, + 0x64, 0xc0, 0x10, 0x56, 0x47, 0x85, 0x80, 0x0e, 0x59, 0xc3, 0xd5, 0xa0, + 0x19, 0x51, 0xd0, 0xc1, 0x49, 0x6f, 0xd0, 0x6b, 0x27, 0x36, 0x71, 0x1f, + 0xc4, 0xf5, 0xff, 0xfb, 0xc5, 0xbc, 0x78, 0x0c, 0xd7, 0x5a, 0x8f, 0xee, + 0xb1, 0x5d, 0x3f, 0xfd, 0x55, 0x89, 0x12, 0xb4, 0xdd, 0x6a, 0x90, 0x9b, + 0x9c, 0x24, 0xde, 0xf9, +}; +static const struct drbg_kat_pr_true kat3294_t = { + 8, kat3294_entropyin, kat3294_nonce, kat3294_persstr, + kat3294_entropyinpr1, kat3294_addinpr1, kat3294_entropyinpr2, + kat3294_addinpr2, kat3294_retbits +}; +static const struct drbg_kat kat3294 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3294_t +}; + +static const unsigned char kat3295_entropyin[] = { + 0xaf, 0xc3, 0xcc, 0xed, 0xc6, 0x93, 0x5a, 0xc2, 0xb8, 0x9e, 0x18, 0x5f, + 0xfe, 0x32, 0x04, 0xe9, 0x55, 0x4e, 0x6a, 0x5c, 0x20, 0xb2, 0xf8, 0x16, +}; +static const unsigned char kat3295_nonce[] = { + 0x1b, 0x7f, 0x9c, 0xed, 0xef, 0x59, 0xaf, 0x31, 0x44, 0xb7, 0x83, 0x61, + 0xa5, 0xa6, 0x55, 0xf6, +}; +static const unsigned char kat3295_persstr[] = { + 0xa1, 0xf5, 0x32, 0x64, 0x96, 0x7b, 0xf9, 0xa2, 0x18, 0xca, 0xcc, 0x6b, + 0xf0, 0x93, 0xda, 0xf3, 0x37, 0x9b, 0x72, 0x23, 0x3f, 0x12, 0xde, 0x6a, + 0x1c, 0x2a, 0xa0, 0xfd, 0xd8, 0x72, 0x0c, 0x6c, +}; +static const unsigned char kat3295_entropyinpr1[] = { + 0x75, 0x1e, 0x91, 0x23, 0x8e, 0x90, 0x23, 0x66, 0x6b, 0xc7, 0xe6, 0x22, + 0x40, 0xc9, 0xf8, 0x75, 0x08, 0xe9, 0xe4, 0xd3, 0x4e, 0xf0, 0xe5, 0xd3, +}; +static const unsigned char kat3295_addinpr1[] = { + 0xe0, 0x0f, 0x93, 0xd1, 0xb6, 0x4b, 0x34, 0x11, 0xc5, 0xb8, 0x95, 0xf5, + 0x29, 0x18, 0x83, 0x70, 0x15, 0x28, 0xb7, 0xfb, 0x5e, 0xe5, 0xf6, 0xc3, + 0x44, 0x5c, 0xc0, 0x2e, 0xa4, 0xa4, 0x1b, 0x68, +}; +static const unsigned char kat3295_entropyinpr2[] = { + 0xfa, 0x0d, 0x76, 0x8e, 0x3a, 0x90, 0xa5, 0xdf, 0x1e, 0xc6, 0xab, 0x53, + 0x3f, 0xbf, 0xb0, 0x54, 0xe9, 0x8b, 0xc5, 0xef, 0x24, 0x49, 0x2a, 0x3a, +}; +static const unsigned char kat3295_addinpr2[] = { + 0x34, 0xf6, 0x55, 0x9e, 0xd5, 0x97, 0x5a, 0xa1, 0xb0, 0x94, 0x00, 0xf7, + 0xa5, 0x5d, 0xd4, 0x8b, 0x05, 0xf4, 0x96, 0x80, 0x4c, 0xee, 0x94, 0x5a, + 0x8d, 0x81, 0x87, 0x20, 0xa9, 0x22, 0xb8, 0x05, +}; +static const unsigned char kat3295_retbits[] = { + 0xee, 0x50, 0x7c, 0x1d, 0x32, 0x60, 0xcf, 0xf1, 0x1d, 0x5e, 0x65, 0xe4, + 0xf0, 0xf6, 0xdd, 0x7c, 0x75, 0x6b, 0x16, 0xd7, 0xb7, 0x35, 0xcb, 0xc7, + 0x0f, 0xbe, 0x88, 0xe0, 0xab, 0x98, 0x5b, 0xeb, 0x0b, 0x6f, 0xbb, 0xde, + 0xc1, 0xb8, 0xe9, 0xf7, 0xf7, 0x43, 0xa3, 0xbe, 0x61, 0xe6, 0xd1, 0xde, + 0x12, 0x73, 0xd2, 0x3f, 0x3b, 0xf7, 0xfb, 0x27, 0x92, 0x3b, 0x37, 0xa9, + 0xf1, 0x3a, 0x47, 0x3d, +}; +static const struct drbg_kat_pr_true kat3295_t = { + 9, kat3295_entropyin, kat3295_nonce, kat3295_persstr, + kat3295_entropyinpr1, kat3295_addinpr1, kat3295_entropyinpr2, + kat3295_addinpr2, kat3295_retbits +}; +static const struct drbg_kat kat3295 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3295_t +}; + +static const unsigned char kat3296_entropyin[] = { + 0x38, 0x2f, 0xb8, 0x8b, 0xe9, 0xf0, 0xab, 0x05, 0xd9, 0x9b, 0xaf, 0x8f, + 0x7d, 0x9a, 0x64, 0xa8, 0x54, 0xdc, 0x5a, 0xd7, 0xe2, 0x5e, 0x55, 0xbc, +}; +static const unsigned char kat3296_nonce[] = { + 0x35, 0xd1, 0x63, 0xc9, 0x7c, 0xa2, 0x6b, 0x5f, 0x9f, 0x43, 0x31, 0x03, + 0x7b, 0x3b, 0xb5, 0x0b, +}; +static const unsigned char kat3296_persstr[] = { + 0x5c, 0xab, 0xd6, 0x95, 0x67, 0x4d, 0x26, 0xd9, 0xb7, 0x84, 0x4b, 0x18, + 0xd8, 0x7e, 0xab, 0xcc, 0x04, 0x18, 0xff, 0x03, 0x69, 0x6f, 0xc3, 0x1a, + 0x65, 0xc9, 0xa2, 0x74, 0x87, 0x58, 0xe5, 0xd5, +}; +static const unsigned char kat3296_entropyinpr1[] = { + 0xcc, 0x8d, 0xfe, 0x28, 0xd9, 0xb2, 0xd6, 0xba, 0x0b, 0xf6, 0xd7, 0x4c, + 0x17, 0x1f, 0xcd, 0x2a, 0x65, 0x0d, 0xa4, 0x6e, 0x2f, 0xd6, 0x91, 0x69, +}; +static const unsigned char kat3296_addinpr1[] = { + 0x0c, 0x2e, 0x47, 0xe5, 0x0a, 0xb0, 0x26, 0x55, 0x24, 0xa0, 0x02, 0x09, + 0xc5, 0x8e, 0x44, 0x7a, 0x6e, 0x0b, 0xad, 0xf8, 0xeb, 0xf8, 0x5f, 0x6c, + 0x21, 0x3c, 0xa4, 0xfd, 0x25, 0x2e, 0xa6, 0xc0, +}; +static const unsigned char kat3296_entropyinpr2[] = { + 0x0b, 0x4c, 0x3b, 0x4b, 0x82, 0x9f, 0x84, 0x4f, 0x46, 0xa6, 0x7d, 0xbb, + 0xec, 0xce, 0x2f, 0x99, 0xc4, 0x2f, 0xe3, 0x77, 0x68, 0x26, 0x11, 0x04, +}; +static const unsigned char kat3296_addinpr2[] = { + 0xf3, 0x87, 0x05, 0xff, 0x8c, 0x3b, 0x6a, 0x21, 0x71, 0x7c, 0x4e, 0x81, + 0x11, 0xbf, 0xa9, 0x31, 0x0a, 0x20, 0x6b, 0xac, 0x85, 0xb7, 0x0c, 0xd3, + 0x79, 0x01, 0x70, 0x98, 0x8f, 0xbc, 0x1c, 0xa9, +}; +static const unsigned char kat3296_retbits[] = { + 0x3e, 0x1a, 0xe9, 0xfa, 0xc4, 0x72, 0x90, 0x79, 0x75, 0xf4, 0x7a, 0x10, + 0xa8, 0x01, 0x05, 0x33, 0xac, 0xde, 0x35, 0xaf, 0xc9, 0x1b, 0xd7, 0xf8, + 0x81, 0xd6, 0x2f, 0x49, 0x82, 0x95, 0x10, 0x7f, 0x70, 0x28, 0xc6, 0x4c, + 0xb1, 0x29, 0xdc, 0x85, 0x67, 0x47, 0xa9, 0xab, 0xb0, 0x31, 0x98, 0x39, + 0xbe, 0x83, 0x99, 0x6c, 0xef, 0x44, 0xab, 0x27, 0xda, 0x2d, 0x90, 0xd1, + 0xc9, 0xbf, 0xb2, 0xc8, +}; +static const struct drbg_kat_pr_true kat3296_t = { + 10, kat3296_entropyin, kat3296_nonce, kat3296_persstr, + kat3296_entropyinpr1, kat3296_addinpr1, kat3296_entropyinpr2, + kat3296_addinpr2, kat3296_retbits +}; +static const struct drbg_kat kat3296 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3296_t +}; + +static const unsigned char kat3297_entropyin[] = { + 0xcd, 0x59, 0xa8, 0xa8, 0xdc, 0x7e, 0x96, 0x26, 0x31, 0x8b, 0x25, 0x8e, + 0x3a, 0xb1, 0xcd, 0x5f, 0xb0, 0x45, 0x3f, 0x8c, 0x14, 0x00, 0xe2, 0x67, +}; +static const unsigned char kat3297_nonce[] = { + 0x25, 0xa8, 0x5e, 0x74, 0x53, 0x45, 0x9a, 0x79, 0x80, 0xdb, 0x4c, 0xe5, + 0x14, 0x61, 0x95, 0x65, +}; +static const unsigned char kat3297_persstr[] = { + 0x20, 0x41, 0x77, 0xf9, 0xe9, 0x7f, 0x8c, 0x24, 0x9a, 0xd6, 0xf6, 0x34, + 0x2c, 0x31, 0x09, 0xc7, 0xf1, 0x21, 0x8f, 0xb1, 0x71, 0x67, 0x37, 0x88, + 0x35, 0x22, 0x7b, 0xeb, 0x40, 0x18, 0x5d, 0xd1, +}; +static const unsigned char kat3297_entropyinpr1[] = { + 0xa9, 0xc8, 0x89, 0x08, 0x21, 0x7b, 0xd1, 0xdb, 0xcc, 0x83, 0x4d, 0xbd, + 0x16, 0x52, 0xc0, 0x23, 0xf9, 0x85, 0x61, 0x80, 0x40, 0x71, 0x80, 0xb6, +}; +static const unsigned char kat3297_addinpr1[] = { + 0x61, 0xa9, 0xa2, 0x4e, 0x8c, 0xe6, 0x91, 0x93, 0xf0, 0x5f, 0x4a, 0x16, + 0x30, 0xf0, 0xf4, 0xaf, 0xcf, 0x1a, 0x19, 0x5a, 0x1f, 0x4c, 0x1a, 0xb3, + 0x04, 0x86, 0xee, 0x8e, 0x80, 0x0c, 0x0d, 0x54, +}; +static const unsigned char kat3297_entropyinpr2[] = { + 0xf2, 0xab, 0x9b, 0xcd, 0x76, 0x2c, 0x7e, 0x55, 0xb0, 0xbb, 0xe3, 0x80, + 0x62, 0x23, 0x86, 0xd3, 0xd1, 0xc7, 0x1a, 0x44, 0xe7, 0xfc, 0xaf, 0xf6, +}; +static const unsigned char kat3297_addinpr2[] = { + 0x8a, 0x17, 0xf4, 0xb5, 0xd8, 0x75, 0x01, 0x35, 0xe9, 0xfe, 0x88, 0xf7, + 0xe8, 0x85, 0xb6, 0x24, 0xaa, 0xa8, 0x1a, 0xa0, 0xce, 0x49, 0x03, 0xc0, + 0x54, 0x19, 0xd0, 0xc9, 0x6c, 0x60, 0xbe, 0x47, +}; +static const unsigned char kat3297_retbits[] = { + 0x46, 0x45, 0x29, 0x18, 0xb3, 0xd2, 0x0d, 0x24, 0x56, 0x92, 0x79, 0x57, + 0x0b, 0x63, 0x0f, 0xf3, 0x2b, 0xf7, 0xf4, 0x2a, 0xdf, 0xa0, 0x9e, 0xb5, + 0x9c, 0xd8, 0x98, 0xe3, 0x43, 0x20, 0x1d, 0xe2, 0x90, 0x78, 0x5c, 0x46, + 0xa8, 0xb9, 0x46, 0xde, 0xe6, 0xd8, 0x11, 0xb5, 0xfd, 0x50, 0xc7, 0x6f, + 0xc4, 0x6c, 0xfa, 0x41, 0x66, 0x9b, 0x2c, 0xc6, 0xb9, 0x37, 0x3e, 0x72, + 0x52, 0x1c, 0xc8, 0x8b, +}; +static const struct drbg_kat_pr_true kat3297_t = { + 11, kat3297_entropyin, kat3297_nonce, kat3297_persstr, + kat3297_entropyinpr1, kat3297_addinpr1, kat3297_entropyinpr2, + kat3297_addinpr2, kat3297_retbits +}; +static const struct drbg_kat kat3297 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3297_t +}; + +static const unsigned char kat3298_entropyin[] = { + 0xc2, 0xb4, 0x73, 0xb8, 0xb9, 0xb6, 0x2a, 0x13, 0x1b, 0x93, 0x4c, 0x2d, + 0x33, 0x4e, 0x30, 0x6e, 0x34, 0xfb, 0x5a, 0x42, 0xc7, 0xdb, 0x64, 0xa7, +}; +static const unsigned char kat3298_nonce[] = { + 0x61, 0xea, 0x0e, 0x2b, 0x02, 0x27, 0xb2, 0x94, 0x77, 0x01, 0xf1, 0x7f, + 0xbf, 0x00, 0xd8, 0x31, +}; +static const unsigned char kat3298_persstr[] = { + 0x02, 0x45, 0x58, 0xfa, 0x98, 0x5a, 0xc6, 0xd9, 0x04, 0xbf, 0x75, 0xe6, + 0x56, 0xb4, 0x54, 0x58, 0xa1, 0x4e, 0x53, 0xd8, 0x7b, 0xd9, 0x3b, 0x54, + 0xb0, 0x39, 0x1f, 0x7e, 0xcd, 0xdc, 0x3d, 0x79, +}; +static const unsigned char kat3298_entropyinpr1[] = { + 0x51, 0x48, 0x5d, 0x1d, 0x7a, 0x7b, 0xb2, 0x38, 0x63, 0xf2, 0xd4, 0xe7, + 0xe6, 0xab, 0xc6, 0x6b, 0xb3, 0x50, 0xac, 0x93, 0x51, 0xf0, 0x33, 0xb5, +}; +static const unsigned char kat3298_addinpr1[] = { + 0xad, 0xb1, 0x5e, 0xac, 0x54, 0x36, 0xe9, 0xb2, 0x63, 0x52, 0xb1, 0xa7, + 0x13, 0x04, 0xb6, 0x9e, 0xe3, 0xdb, 0x4e, 0xed, 0x79, 0x1e, 0x61, 0x8b, + 0x42, 0x35, 0x58, 0x33, 0xb8, 0x5e, 0x1d, 0x93, +}; +static const unsigned char kat3298_entropyinpr2[] = { + 0x60, 0x03, 0x86, 0x68, 0xd8, 0x56, 0xf1, 0xe5, 0xc2, 0xd7, 0x84, 0x25, + 0x40, 0xa4, 0x59, 0xcf, 0xa5, 0x5a, 0x0b, 0x3d, 0xa0, 0x36, 0x2c, 0xbe, +}; +static const unsigned char kat3298_addinpr2[] = { + 0xb1, 0x67, 0x3c, 0xcc, 0xde, 0xcd, 0xf0, 0xb7, 0xe6, 0x00, 0x59, 0x4d, + 0xc1, 0xde, 0xc2, 0x2d, 0x05, 0x87, 0x3d, 0x90, 0x2a, 0x40, 0x49, 0xb2, + 0xf7, 0x71, 0x24, 0x1d, 0xba, 0x08, 0x6b, 0x02, +}; +static const unsigned char kat3298_retbits[] = { + 0x33, 0x69, 0x46, 0x6f, 0xce, 0xd7, 0xf6, 0xb6, 0x73, 0xc0, 0x4f, 0x1a, + 0x0d, 0x6a, 0xd1, 0x6b, 0x9c, 0xe8, 0x1d, 0x6b, 0x1d, 0x28, 0x9b, 0x94, + 0xa8, 0xaa, 0x86, 0x77, 0xa7, 0x30, 0x5c, 0x05, 0xd0, 0x37, 0xcc, 0x43, + 0x61, 0x89, 0x48, 0x52, 0x04, 0x61, 0xf5, 0x28, 0x96, 0x90, 0xd8, 0xfb, + 0x25, 0x94, 0xf1, 0x0f, 0x80, 0xf5, 0x46, 0x20, 0xf5, 0xe4, 0x65, 0x61, + 0x1c, 0x92, 0x3b, 0xac, +}; +static const struct drbg_kat_pr_true kat3298_t = { + 12, kat3298_entropyin, kat3298_nonce, kat3298_persstr, + kat3298_entropyinpr1, kat3298_addinpr1, kat3298_entropyinpr2, + kat3298_addinpr2, kat3298_retbits +}; +static const struct drbg_kat kat3298 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3298_t +}; + +static const unsigned char kat3299_entropyin[] = { + 0x82, 0xf9, 0x16, 0xa7, 0x09, 0xb5, 0x21, 0xbf, 0x74, 0xcd, 0x86, 0x07, + 0x0c, 0x82, 0x1c, 0xdf, 0xf9, 0x94, 0x0e, 0xb8, 0x54, 0x1b, 0xab, 0x2c, +}; +static const unsigned char kat3299_nonce[] = { + 0x70, 0x4e, 0x21, 0x7b, 0xa1, 0xf9, 0x07, 0xdd, 0x66, 0xb5, 0x05, 0x24, + 0xf5, 0x4f, 0x9f, 0x55, +}; +static const unsigned char kat3299_persstr[] = { + 0x09, 0xbd, 0xfa, 0x9a, 0x73, 0x61, 0xf2, 0xcc, 0x3f, 0x81, 0x14, 0xcb, + 0x67, 0xd0, 0x7a, 0x37, 0x01, 0xf9, 0x74, 0x0f, 0x62, 0x11, 0x87, 0x95, + 0xe2, 0xc0, 0x07, 0xcc, 0x45, 0xfc, 0x12, 0xf0, +}; +static const unsigned char kat3299_entropyinpr1[] = { + 0xd6, 0x95, 0x64, 0x20, 0x52, 0x62, 0xe9, 0x0f, 0x87, 0x94, 0xd8, 0xef, + 0x26, 0xba, 0x1c, 0x01, 0x73, 0x34, 0xc5, 0x02, 0x1b, 0x6e, 0x60, 0xed, +}; +static const unsigned char kat3299_addinpr1[] = { + 0x0a, 0x11, 0xc7, 0x86, 0x7b, 0x2a, 0x52, 0x91, 0x2e, 0xea, 0xff, 0xf5, + 0xcc, 0xdc, 0xda, 0xc5, 0x4a, 0xc4, 0x52, 0x5f, 0xe4, 0x7d, 0x71, 0x12, + 0x56, 0x7f, 0x4c, 0x7e, 0xac, 0xa2, 0x06, 0x2a, +}; +static const unsigned char kat3299_entropyinpr2[] = { + 0x7e, 0x47, 0x24, 0x44, 0x78, 0xaf, 0x68, 0x6d, 0xdc, 0x1d, 0x2c, 0x61, + 0x66, 0x19, 0x07, 0x72, 0x71, 0x8e, 0x0d, 0x13, 0xae, 0x35, 0x61, 0x19, +}; +static const unsigned char kat3299_addinpr2[] = { + 0x2e, 0x58, 0xed, 0xb4, 0x52, 0x23, 0xe9, 0x15, 0x06, 0x50, 0xe7, 0x53, + 0x42, 0xf9, 0xf3, 0x53, 0xb6, 0x77, 0x77, 0xed, 0x39, 0x08, 0xb5, 0x4d, + 0x93, 0xb6, 0x59, 0x20, 0x07, 0xee, 0xb6, 0x9c, +}; +static const unsigned char kat3299_retbits[] = { + 0x0a, 0x90, 0xa7, 0x15, 0xa3, 0x1a, 0xb0, 0x2d, 0x39, 0xcc, 0xce, 0x24, + 0x37, 0x8b, 0x7b, 0x68, 0xcb, 0xf0, 0x40, 0xfc, 0x5a, 0x94, 0xa0, 0x57, + 0x67, 0x73, 0x77, 0xdd, 0x65, 0xfc, 0xe8, 0x5a, 0x19, 0x37, 0xac, 0x76, + 0xf7, 0x1f, 0x1b, 0x81, 0x5b, 0x96, 0xf0, 0x92, 0xe8, 0x55, 0xb0, 0x74, + 0x61, 0x68, 0xd2, 0xdd, 0xd4, 0x99, 0x28, 0xe6, 0x1f, 0x6f, 0x53, 0x36, + 0x92, 0xd9, 0x18, 0x00, +}; +static const struct drbg_kat_pr_true kat3299_t = { + 13, kat3299_entropyin, kat3299_nonce, kat3299_persstr, + kat3299_entropyinpr1, kat3299_addinpr1, kat3299_entropyinpr2, + kat3299_addinpr2, kat3299_retbits +}; +static const struct drbg_kat kat3299 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3299_t +}; + +static const unsigned char kat3300_entropyin[] = { + 0x9e, 0x99, 0x5d, 0x90, 0x34, 0x17, 0x62, 0xa9, 0x32, 0x99, 0x1d, 0x1d, + 0xa3, 0x41, 0x17, 0x28, 0x7e, 0x5c, 0xa6, 0x88, 0xce, 0x60, 0x41, 0x39, +}; +static const unsigned char kat3300_nonce[] = { + 0xa6, 0x1b, 0xf0, 0xe9, 0x69, 0x83, 0xee, 0xdf, 0x2d, 0xaa, 0x6c, 0x1b, + 0xf6, 0x4c, 0x83, 0x83, +}; +static const unsigned char kat3300_persstr[] = { + 0x48, 0xfd, 0x5d, 0x22, 0x02, 0xb1, 0x30, 0x4a, 0x2d, 0xfe, 0x2e, 0x57, + 0x65, 0xdf, 0xa6, 0x2f, 0x18, 0x8e, 0x6c, 0x38, 0xc0, 0x63, 0xef, 0x3d, + 0xe0, 0xc5, 0xf9, 0x53, 0x12, 0xf8, 0x49, 0x49, +}; +static const unsigned char kat3300_entropyinpr1[] = { + 0xe9, 0x89, 0xbb, 0xce, 0x44, 0x7c, 0x6b, 0x47, 0x99, 0xf2, 0xbc, 0x85, + 0xa4, 0xc4, 0xf8, 0x4b, 0xfb, 0x0f, 0xe7, 0xc2, 0x29, 0xad, 0x64, 0x3c, +}; +static const unsigned char kat3300_addinpr1[] = { + 0x24, 0x66, 0x32, 0xbb, 0xe3, 0x29, 0x52, 0x89, 0x54, 0x89, 0x33, 0xad, + 0xb9, 0x76, 0xa7, 0x88, 0xf5, 0xff, 0x18, 0x3e, 0x52, 0xe9, 0x70, 0xc0, + 0x32, 0x6a, 0xe5, 0x18, 0x71, 0x13, 0x87, 0xcc, +}; +static const unsigned char kat3300_entropyinpr2[] = { + 0x23, 0x12, 0x66, 0xf5, 0xcc, 0xab, 0x8f, 0x29, 0xb0, 0x4b, 0xc9, 0xe1, + 0x1f, 0xfa, 0xcf, 0x0f, 0x67, 0x7b, 0x49, 0xdd, 0x83, 0xd6, 0x84, 0x5a, +}; +static const unsigned char kat3300_addinpr2[] = { + 0x54, 0x7a, 0xc1, 0xc6, 0x74, 0xae, 0xbe, 0x59, 0x71, 0x70, 0xab, 0x83, + 0xb0, 0x7e, 0x78, 0x09, 0xff, 0x60, 0x0f, 0x6c, 0x1d, 0x64, 0x7d, 0xd5, + 0x50, 0x17, 0x51, 0xef, 0x97, 0x68, 0x53, 0xeb, +}; +static const unsigned char kat3300_retbits[] = { + 0x00, 0xcb, 0x0a, 0x33, 0x87, 0x7c, 0x26, 0x8e, 0xc8, 0x54, 0xfa, 0x99, + 0x69, 0xa8, 0x39, 0x1b, 0x79, 0xef, 0xd7, 0xc7, 0xb9, 0xb3, 0x6c, 0xea, + 0x83, 0x2c, 0x21, 0x75, 0x62, 0x1e, 0x1b, 0xd9, 0xb8, 0xea, 0x9d, 0x50, + 0x20, 0x2e, 0xd0, 0x9e, 0x01, 0x09, 0x72, 0xea, 0x8f, 0x17, 0x8c, 0x6b, + 0xa7, 0x09, 0x5d, 0x7d, 0xef, 0x1d, 0x6d, 0x12, 0x9b, 0x7c, 0x7e, 0x0a, + 0x82, 0x7e, 0xcd, 0xce, +}; +static const struct drbg_kat_pr_true kat3300_t = { + 14, kat3300_entropyin, kat3300_nonce, kat3300_persstr, + kat3300_entropyinpr1, kat3300_addinpr1, kat3300_entropyinpr2, + kat3300_addinpr2, kat3300_retbits +}; +static const struct drbg_kat kat3300 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3300_t +}; + +static const unsigned char kat3301_entropyin[] = { + 0x21, 0x34, 0xb7, 0x9a, 0x4d, 0xc2, 0xea, 0xb9, 0x71, 0xcb, 0x0a, 0x1d, + 0x4f, 0xb4, 0xf8, 0x90, 0x8e, 0xe3, 0x29, 0x75, 0x1e, 0xbb, 0x4a, 0xe3, +}; +static const unsigned char kat3301_nonce[] = { + 0x10, 0x39, 0x9c, 0x42, 0x2f, 0x25, 0x6d, 0x96, 0x2b, 0xd3, 0xb9, 0x3f, + 0x7d, 0xfe, 0x13, 0x50, +}; +static const unsigned char kat3301_persstr[] = {0}; +static const unsigned char kat3301_entropyinpr1[] = { + 0x96, 0xae, 0x9a, 0xfe, 0xf8, 0xc0, 0x40, 0x14, 0xfc, 0x5b, 0x35, 0x82, + 0x9e, 0x40, 0xd7, 0x45, 0x51, 0x1b, 0x45, 0x0f, 0x0e, 0xdd, 0x99, 0xda, +}; +static const unsigned char kat3301_addinpr1[] = {0}; +static const unsigned char kat3301_entropyinpr2[] = { + 0xd7, 0x5c, 0x71, 0xfd, 0x93, 0x39, 0xc6, 0x7a, 0xc7, 0xc7, 0x87, 0x8b, + 0xca, 0xe2, 0xb6, 0xf4, 0x5b, 0x52, 0xad, 0x09, 0x83, 0xe3, 0xb9, 0x5f, +}; +static const unsigned char kat3301_addinpr2[] = {0}; +static const unsigned char kat3301_retbits[] = { + 0xe2, 0x35, 0x17, 0x55, 0xfd, 0xb1, 0x47, 0x4f, 0xec, 0xe8, 0xa2, 0xcc, + 0x8d, 0xb2, 0x8d, 0x6e, 0x74, 0x88, 0xba, 0x00, 0xee, 0x7b, 0xc3, 0x28, + 0xf5, 0x48, 0xff, 0x1d, 0xea, 0xf1, 0x30, 0x57, 0xaa, 0x06, 0x4c, 0xe9, + 0xc2, 0x12, 0xe6, 0xcf, 0x97, 0x26, 0x42, 0x54, 0xe3, 0x4c, 0xc3, 0x32, + 0xef, 0x28, 0x7c, 0x11, 0x24, 0x6f, 0x3a, 0xea, 0x61, 0x10, 0x61, 0xd9, + 0x56, 0x2f, 0x5c, 0x6a, +}; +static const struct drbg_kat_pr_true kat3301_t = { + 0, kat3301_entropyin, kat3301_nonce, kat3301_persstr, + kat3301_entropyinpr1, kat3301_addinpr1, kat3301_entropyinpr2, + kat3301_addinpr2, kat3301_retbits +}; +static const struct drbg_kat kat3301 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3301_t +}; + +static const unsigned char kat3302_entropyin[] = { + 0x74, 0xf9, 0x79, 0xe8, 0xe2, 0xfa, 0x6a, 0xf9, 0xbf, 0x1d, 0x8a, 0x62, + 0x6d, 0xac, 0xbd, 0x68, 0x43, 0x14, 0x4c, 0xa1, 0x6b, 0x9f, 0x53, 0xaf, +}; +static const unsigned char kat3302_nonce[] = { + 0xcc, 0x71, 0x45, 0xe1, 0xfc, 0x84, 0xd6, 0x4f, 0x35, 0x07, 0xf8, 0xf9, + 0xac, 0x42, 0x41, 0xb4, +}; +static const unsigned char kat3302_persstr[] = {0}; +static const unsigned char kat3302_entropyinpr1[] = { + 0xbb, 0xdb, 0x42, 0x77, 0x43, 0xda, 0x0c, 0x16, 0x83, 0x77, 0x21, 0x81, + 0x75, 0x57, 0x8c, 0x47, 0xf9, 0xac, 0x9e, 0xe8, 0x6c, 0x0e, 0x23, 0xbf, +}; +static const unsigned char kat3302_addinpr1[] = {0}; +static const unsigned char kat3302_entropyinpr2[] = { + 0x61, 0xcf, 0xb4, 0xb9, 0x88, 0x91, 0xfa, 0xdb, 0x89, 0x9e, 0x99, 0xb2, + 0x7f, 0xa2, 0x35, 0xb6, 0x52, 0xb6, 0x6a, 0x18, 0x23, 0xbc, 0xd3, 0x3e, +}; +static const unsigned char kat3302_addinpr2[] = {0}; +static const unsigned char kat3302_retbits[] = { + 0x54, 0xbd, 0xb7, 0x97, 0x96, 0x0a, 0x5d, 0x6e, 0x20, 0x8f, 0x19, 0xb8, + 0xa9, 0xf9, 0x67, 0xf4, 0x11, 0x3a, 0x42, 0xb6, 0x6d, 0xa4, 0x73, 0xba, + 0x1e, 0x0b, 0x1a, 0x81, 0x82, 0x80, 0xf8, 0xcd, 0x16, 0x8f, 0x71, 0x95, + 0x90, 0x9d, 0x8e, 0xa3, 0x79, 0xe5, 0xe7, 0x99, 0xdd, 0x97, 0xdc, 0x0a, + 0x7b, 0x7a, 0x92, 0x0f, 0x70, 0x7f, 0x9e, 0x63, 0x91, 0x51, 0x46, 0xd8, + 0xfc, 0xe4, 0x51, 0x72, +}; +static const struct drbg_kat_pr_true kat3302_t = { + 1, kat3302_entropyin, kat3302_nonce, kat3302_persstr, + kat3302_entropyinpr1, kat3302_addinpr1, kat3302_entropyinpr2, + kat3302_addinpr2, kat3302_retbits +}; +static const struct drbg_kat kat3302 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3302_t +}; + +static const unsigned char kat3303_entropyin[] = { + 0xff, 0x8e, 0x2c, 0xc4, 0x11, 0x28, 0x43, 0xba, 0x31, 0x9a, 0x35, 0x92, + 0x2e, 0xfa, 0xa3, 0x60, 0x2d, 0x45, 0xa9, 0x46, 0x57, 0x91, 0x8e, 0x5c, +}; +static const unsigned char kat3303_nonce[] = { + 0x2d, 0xb6, 0xf5, 0xab, 0x97, 0x47, 0x77, 0x97, 0x03, 0xdd, 0x65, 0x43, + 0xe1, 0x37, 0xf3, 0x33, +}; +static const unsigned char kat3303_persstr[] = {0}; +static const unsigned char kat3303_entropyinpr1[] = { + 0x65, 0xe2, 0x25, 0xef, 0xf0, 0xdc, 0xe8, 0x6e, 0x76, 0x3b, 0x0d, 0x94, + 0x0c, 0x62, 0x62, 0xce, 0xb3, 0x5e, 0x14, 0x72, 0x50, 0x27, 0xcc, 0xe0, +}; +static const unsigned char kat3303_addinpr1[] = {0}; +static const unsigned char kat3303_entropyinpr2[] = { + 0x7a, 0xa6, 0xd4, 0x60, 0x39, 0xc2, 0x9d, 0x02, 0x42, 0xe9, 0x65, 0x1c, + 0xf6, 0x46, 0xa1, 0x69, 0x5b, 0x58, 0x54, 0x03, 0x1d, 0x6e, 0xe3, 0x11, +}; +static const unsigned char kat3303_addinpr2[] = {0}; +static const unsigned char kat3303_retbits[] = { + 0x52, 0x3c, 0x4a, 0x8d, 0xa0, 0xb9, 0x68, 0xb1, 0x62, 0x19, 0x5a, 0x4c, + 0x83, 0x08, 0x12, 0x88, 0x62, 0xe8, 0xdc, 0x50, 0x9c, 0x33, 0x90, 0xd2, + 0x75, 0x86, 0x69, 0x96, 0x16, 0xd7, 0xcf, 0x8b, 0x7e, 0xe7, 0x47, 0xd3, + 0x48, 0xa2, 0xf2, 0xad, 0x76, 0x79, 0xb1, 0xb5, 0xf6, 0x80, 0xf0, 0x02, + 0x76, 0x5b, 0x28, 0x5d, 0xaf, 0x4c, 0xab, 0xf1, 0x1d, 0x47, 0xa0, 0x40, + 0xb7, 0x38, 0x80, 0x1b, +}; +static const struct drbg_kat_pr_true kat3303_t = { + 2, kat3303_entropyin, kat3303_nonce, kat3303_persstr, + kat3303_entropyinpr1, kat3303_addinpr1, kat3303_entropyinpr2, + kat3303_addinpr2, kat3303_retbits +}; +static const struct drbg_kat kat3303 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3303_t +}; + +static const unsigned char kat3304_entropyin[] = { + 0x55, 0x02, 0x1e, 0xf0, 0x0b, 0x1e, 0xcf, 0xb8, 0x69, 0xee, 0xf3, 0xdb, + 0x0a, 0x0d, 0x23, 0xd1, 0x7b, 0x63, 0xb3, 0xe4, 0x57, 0x35, 0x24, 0x19, +}; +static const unsigned char kat3304_nonce[] = { + 0x6c, 0x00, 0xea, 0xa2, 0x67, 0xc6, 0x9e, 0x6f, 0xc4, 0x98, 0x2e, 0xed, + 0xb8, 0xee, 0x1e, 0x79, +}; +static const unsigned char kat3304_persstr[] = {0}; +static const unsigned char kat3304_entropyinpr1[] = { + 0x35, 0x0d, 0x2a, 0x14, 0xf7, 0x81, 0xb9, 0xe1, 0x52, 0x6b, 0x44, 0x04, + 0xe8, 0x16, 0xa5, 0xf4, 0xa7, 0x55, 0xa9, 0xe6, 0x82, 0x21, 0x54, 0x85, +}; +static const unsigned char kat3304_addinpr1[] = {0}; +static const unsigned char kat3304_entropyinpr2[] = { + 0x20, 0x2d, 0x43, 0xb4, 0x3c, 0x98, 0x80, 0x52, 0x30, 0xd1, 0xa1, 0x22, + 0xb8, 0x9a, 0x65, 0x42, 0x76, 0xf5, 0xd0, 0x92, 0x95, 0xac, 0x81, 0x43, +}; +static const unsigned char kat3304_addinpr2[] = {0}; +static const unsigned char kat3304_retbits[] = { + 0x81, 0x4b, 0xc0, 0xb4, 0xb1, 0xf4, 0x71, 0x1a, 0x20, 0x46, 0x21, 0xc5, + 0x4d, 0xff, 0xff, 0x67, 0x64, 0xe3, 0x55, 0xd5, 0x42, 0x18, 0xe4, 0x4c, + 0xc4, 0xb7, 0x6c, 0x9e, 0x79, 0x44, 0x79, 0xa5, 0x54, 0xa3, 0x39, 0xb3, + 0x35, 0xfa, 0xcf, 0x5e, 0x72, 0xe1, 0xea, 0x4b, 0x26, 0xb2, 0x57, 0x8b, + 0xb4, 0xc7, 0xda, 0x89, 0x80, 0xea, 0xbc, 0x7d, 0xec, 0x4e, 0x32, 0x47, + 0x62, 0x20, 0xde, 0x6e, +}; +static const struct drbg_kat_pr_true kat3304_t = { + 3, kat3304_entropyin, kat3304_nonce, kat3304_persstr, + kat3304_entropyinpr1, kat3304_addinpr1, kat3304_entropyinpr2, + kat3304_addinpr2, kat3304_retbits +}; +static const struct drbg_kat kat3304 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3304_t +}; + +static const unsigned char kat3305_entropyin[] = { + 0x2e, 0xb3, 0xae, 0x37, 0x60, 0xb6, 0x80, 0xa0, 0x26, 0xcb, 0x70, 0x98, + 0x1b, 0x28, 0x46, 0x2c, 0x14, 0x6a, 0x48, 0x39, 0xfe, 0xba, 0x34, 0xc5, +}; +static const unsigned char kat3305_nonce[] = { + 0x1c, 0x77, 0x49, 0x39, 0xf2, 0xfd, 0x46, 0xa6, 0x34, 0x3a, 0x9c, 0x56, + 0x9d, 0xeb, 0xef, 0x62, +}; +static const unsigned char kat3305_persstr[] = {0}; +static const unsigned char kat3305_entropyinpr1[] = { + 0x16, 0x75, 0x18, 0x83, 0x59, 0x5b, 0xa7, 0xa1, 0xa0, 0xda, 0x38, 0x3e, + 0x25, 0x8f, 0x11, 0xa1, 0xc8, 0x2d, 0x39, 0x9d, 0x16, 0x3b, 0x79, 0x26, +}; +static const unsigned char kat3305_addinpr1[] = {0}; +static const unsigned char kat3305_entropyinpr2[] = { + 0x7b, 0x2a, 0x0f, 0x3e, 0xc4, 0x8d, 0x7a, 0x62, 0x6a, 0x02, 0x18, 0x25, + 0xa9, 0x91, 0x24, 0xf9, 0x0f, 0x2a, 0xcb, 0xc5, 0x09, 0x74, 0x1b, 0x89, +}; +static const unsigned char kat3305_addinpr2[] = {0}; +static const unsigned char kat3305_retbits[] = { + 0xc4, 0x2e, 0x67, 0x6d, 0x9a, 0x7b, 0x0c, 0x2a, 0xd6, 0x90, 0x98, 0xa6, + 0x4e, 0x10, 0x36, 0x48, 0x95, 0x02, 0x97, 0xaa, 0x10, 0x3b, 0xd2, 0xfa, + 0x4a, 0x35, 0xac, 0xd4, 0xec, 0x85, 0x15, 0xa3, 0x87, 0x94, 0x8f, 0x3b, + 0xff, 0xca, 0xbf, 0x05, 0x2a, 0xeb, 0xce, 0x6e, 0x2b, 0x7b, 0x58, 0xd4, + 0x0a, 0x8e, 0x9f, 0xe1, 0x94, 0x52, 0x31, 0x40, 0xc9, 0x5d, 0xf1, 0xc2, + 0x3f, 0x92, 0x2e, 0x50, +}; +static const struct drbg_kat_pr_true kat3305_t = { + 4, kat3305_entropyin, kat3305_nonce, kat3305_persstr, + kat3305_entropyinpr1, kat3305_addinpr1, kat3305_entropyinpr2, + kat3305_addinpr2, kat3305_retbits +}; +static const struct drbg_kat kat3305 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3305_t +}; + +static const unsigned char kat3306_entropyin[] = { + 0x55, 0xe8, 0xc6, 0x05, 0x2e, 0xfa, 0x83, 0x9a, 0xc1, 0x4d, 0x63, 0x2f, + 0xa6, 0x9c, 0xc1, 0xbf, 0x74, 0x2d, 0x6b, 0x24, 0x9e, 0x4a, 0xa8, 0x0f, +}; +static const unsigned char kat3306_nonce[] = { + 0x27, 0xfb, 0xe6, 0xd5, 0x7d, 0x5b, 0x7f, 0x33, 0x06, 0x31, 0x2a, 0x5a, + 0x50, 0x1c, 0xc4, 0x69, +}; +static const unsigned char kat3306_persstr[] = {0}; +static const unsigned char kat3306_entropyinpr1[] = { + 0x81, 0x1c, 0xdd, 0xf9, 0x20, 0x2f, 0x2b, 0x9b, 0xcc, 0x35, 0x53, 0x9c, + 0x37, 0xf4, 0xe2, 0x75, 0x97, 0x93, 0x8c, 0xff, 0x74, 0x3c, 0x25, 0x8c, +}; +static const unsigned char kat3306_addinpr1[] = {0}; +static const unsigned char kat3306_entropyinpr2[] = { + 0x73, 0xef, 0x38, 0xcf, 0xa3, 0x97, 0x70, 0xc9, 0x0b, 0x4f, 0x05, 0xcc, + 0xda, 0xe4, 0x92, 0x27, 0x8f, 0xc6, 0x8d, 0x1e, 0x3e, 0x56, 0x9c, 0xa7, +}; +static const unsigned char kat3306_addinpr2[] = {0}; +static const unsigned char kat3306_retbits[] = { + 0x12, 0x87, 0xf4, 0x05, 0xa8, 0x90, 0x05, 0xd6, 0x73, 0x8b, 0x73, 0xb1, + 0x51, 0x6e, 0x4b, 0xb1, 0xb2, 0x25, 0x85, 0x43, 0xd2, 0x4d, 0x18, 0xc9, + 0xe5, 0x34, 0x10, 0x28, 0xc3, 0x9b, 0x21, 0x7c, 0xe7, 0xba, 0xce, 0xad, + 0xe8, 0x0f, 0xe0, 0x33, 0x50, 0x4c, 0xaa, 0x9a, 0x2b, 0x47, 0xcd, 0x2c, + 0x7b, 0x3c, 0xce, 0xc4, 0x73, 0x62, 0x3c, 0x75, 0x26, 0x07, 0x22, 0xb7, + 0x18, 0x2c, 0xb6, 0x63, +}; +static const struct drbg_kat_pr_true kat3306_t = { + 5, kat3306_entropyin, kat3306_nonce, kat3306_persstr, + kat3306_entropyinpr1, kat3306_addinpr1, kat3306_entropyinpr2, + kat3306_addinpr2, kat3306_retbits +}; +static const struct drbg_kat kat3306 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3306_t +}; + +static const unsigned char kat3307_entropyin[] = { + 0x71, 0x53, 0xb4, 0xec, 0x44, 0x6c, 0x75, 0x7a, 0xbc, 0x46, 0x1f, 0x04, + 0x52, 0x4f, 0x82, 0xaf, 0x9a, 0xe1, 0x7f, 0xa1, 0x43, 0x2c, 0x6f, 0x07, +}; +static const unsigned char kat3307_nonce[] = { + 0x2e, 0xaa, 0xb2, 0x16, 0x66, 0x94, 0x67, 0x4b, 0x26, 0x3f, 0x65, 0xfe, + 0x3b, 0x1f, 0x27, 0x3e, +}; +static const unsigned char kat3307_persstr[] = {0}; +static const unsigned char kat3307_entropyinpr1[] = { + 0xf7, 0x95, 0xfe, 0xa7, 0x05, 0x26, 0xb1, 0xb0, 0xa5, 0xfc, 0xdc, 0x1b, + 0x0b, 0x21, 0xa2, 0x2b, 0xbc, 0x16, 0x31, 0xac, 0x6b, 0x58, 0x21, 0x19, +}; +static const unsigned char kat3307_addinpr1[] = {0}; +static const unsigned char kat3307_entropyinpr2[] = { + 0x18, 0xfd, 0x4c, 0xe8, 0xb7, 0x42, 0x99, 0xda, 0x60, 0x64, 0x9c, 0xd8, + 0x06, 0x80, 0xdc, 0x49, 0x2b, 0xb1, 0x9d, 0x64, 0xf6, 0x93, 0x1f, 0xaf, +}; +static const unsigned char kat3307_addinpr2[] = {0}; +static const unsigned char kat3307_retbits[] = { + 0x72, 0x7f, 0x6c, 0x39, 0x24, 0x93, 0x70, 0xbb, 0xaf, 0xb8, 0xa6, 0x4a, + 0xb5, 0x25, 0xee, 0xff, 0x32, 0xa2, 0x41, 0xa7, 0xdc, 0x19, 0xd5, 0xc7, + 0xe3, 0x4f, 0x95, 0xba, 0xed, 0x54, 0x0b, 0xee, 0x1b, 0x3b, 0x9e, 0xee, + 0x6a, 0x56, 0xaa, 0x8f, 0x89, 0xff, 0x19, 0xaf, 0x7b, 0x5b, 0x8d, 0x94, + 0x72, 0xfb, 0x9b, 0x89, 0xc8, 0xc1, 0x11, 0xd3, 0x3c, 0xe4, 0xc1, 0x6f, + 0x4c, 0xb7, 0x42, 0xe6, +}; +static const struct drbg_kat_pr_true kat3307_t = { + 6, kat3307_entropyin, kat3307_nonce, kat3307_persstr, + kat3307_entropyinpr1, kat3307_addinpr1, kat3307_entropyinpr2, + kat3307_addinpr2, kat3307_retbits +}; +static const struct drbg_kat kat3307 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3307_t +}; + +static const unsigned char kat3308_entropyin[] = { + 0x0b, 0x8a, 0x24, 0xa9, 0xc3, 0x72, 0xaa, 0x3a, 0x40, 0x75, 0x37, 0xd8, + 0xef, 0x2f, 0x7c, 0x43, 0x22, 0x1c, 0xa9, 0x10, 0xe0, 0x54, 0x7b, 0x37, +}; +static const unsigned char kat3308_nonce[] = { + 0x5e, 0x64, 0x4f, 0x69, 0x4b, 0x7c, 0xbb, 0xb9, 0xe7, 0xb1, 0x5e, 0x75, + 0x96, 0xd9, 0x9d, 0x58, +}; +static const unsigned char kat3308_persstr[] = {0}; +static const unsigned char kat3308_entropyinpr1[] = { + 0xa3, 0x86, 0x4f, 0x4a, 0x3a, 0x2b, 0xf8, 0xb6, 0x89, 0x78, 0xcc, 0x66, + 0xae, 0x04, 0x6b, 0x95, 0x3f, 0x6c, 0xc7, 0x53, 0xb2, 0x67, 0xd2, 0x9c, +}; +static const unsigned char kat3308_addinpr1[] = {0}; +static const unsigned char kat3308_entropyinpr2[] = { + 0x10, 0xf9, 0x69, 0x10, 0xc2, 0xa1, 0x46, 0xdd, 0x1b, 0xb9, 0x69, 0x2b, + 0x6e, 0xf8, 0x83, 0xf3, 0x5a, 0xdb, 0x0c, 0x88, 0x42, 0x65, 0x03, 0x93, +}; +static const unsigned char kat3308_addinpr2[] = {0}; +static const unsigned char kat3308_retbits[] = { + 0x56, 0x13, 0x04, 0x4b, 0x9c, 0x3f, 0xcf, 0x7d, 0xf6, 0xaf, 0xb4, 0x2e, + 0xcd, 0x95, 0xe4, 0x03, 0x13, 0x5a, 0x01, 0x9c, 0xfd, 0x51, 0x5b, 0xfb, + 0x90, 0x22, 0x8a, 0xf8, 0xe9, 0x50, 0x5c, 0x9e, 0xd6, 0x84, 0x09, 0x3e, + 0xfb, 0xf7, 0xd5, 0x1d, 0x14, 0xab, 0x9e, 0xf0, 0x6f, 0x35, 0xf8, 0x1e, + 0x24, 0xa0, 0x65, 0xe3, 0xb6, 0x61, 0x83, 0x65, 0x5b, 0x9e, 0xcf, 0x32, + 0xf2, 0xb0, 0x4f, 0x8e, +}; +static const struct drbg_kat_pr_true kat3308_t = { + 7, kat3308_entropyin, kat3308_nonce, kat3308_persstr, + kat3308_entropyinpr1, kat3308_addinpr1, kat3308_entropyinpr2, + kat3308_addinpr2, kat3308_retbits +}; +static const struct drbg_kat kat3308 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3308_t +}; + +static const unsigned char kat3309_entropyin[] = { + 0x0c, 0xfd, 0x36, 0xe8, 0x79, 0x96, 0xd8, 0x33, 0xb9, 0x22, 0xb4, 0xd9, + 0xb5, 0x46, 0x91, 0xf7, 0xd9, 0x52, 0x08, 0x13, 0x05, 0xff, 0xbc, 0x60, +}; +static const unsigned char kat3309_nonce[] = { + 0xde, 0xee, 0x33, 0x10, 0x31, 0xec, 0x17, 0xb1, 0x42, 0xd8, 0x9b, 0x67, + 0x9d, 0xe7, 0x8a, 0xe8, +}; +static const unsigned char kat3309_persstr[] = {0}; +static const unsigned char kat3309_entropyinpr1[] = { + 0xe2, 0xa9, 0xe8, 0xb0, 0x35, 0xf3, 0x19, 0xf4, 0x9b, 0x76, 0x18, 0xc3, + 0xbc, 0x4e, 0xcb, 0xc5, 0xb9, 0x4f, 0x80, 0xdd, 0xb6, 0xee, 0xba, 0x16, +}; +static const unsigned char kat3309_addinpr1[] = {0}; +static const unsigned char kat3309_entropyinpr2[] = { + 0xa0, 0xae, 0xdc, 0x1b, 0xc2, 0x75, 0x25, 0xc4, 0x73, 0xec, 0x69, 0x57, + 0xf4, 0x6e, 0x38, 0x04, 0x64, 0x29, 0x97, 0xbb, 0xf1, 0x5c, 0xad, 0xd4, +}; +static const unsigned char kat3309_addinpr2[] = {0}; +static const unsigned char kat3309_retbits[] = { + 0x56, 0x9f, 0xc2, 0xf0, 0x3f, 0xd5, 0x01, 0x18, 0xa2, 0xb6, 0x18, 0x79, + 0xf8, 0xf3, 0xd4, 0xe0, 0xbd, 0xc4, 0xf7, 0x6c, 0x15, 0x06, 0x38, 0x18, + 0x2d, 0xda, 0x2b, 0x11, 0x5a, 0x9f, 0x13, 0x6c, 0x9c, 0xf6, 0xb9, 0x9f, + 0x7e, 0xf6, 0x96, 0x8d, 0xca, 0xf9, 0x48, 0x0a, 0x80, 0x8a, 0x4c, 0x4d, + 0x45, 0xd5, 0xb5, 0x48, 0x5e, 0xb5, 0x0c, 0x4c, 0x48, 0xdc, 0x54, 0x29, + 0xa7, 0x8f, 0x67, 0x03, +}; +static const struct drbg_kat_pr_true kat3309_t = { + 8, kat3309_entropyin, kat3309_nonce, kat3309_persstr, + kat3309_entropyinpr1, kat3309_addinpr1, kat3309_entropyinpr2, + kat3309_addinpr2, kat3309_retbits +}; +static const struct drbg_kat kat3309 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3309_t +}; + +static const unsigned char kat3310_entropyin[] = { + 0x6b, 0x05, 0x01, 0x43, 0x34, 0x99, 0x05, 0x91, 0xbb, 0xbc, 0x30, 0xdd, + 0x60, 0x11, 0xaa, 0x69, 0x98, 0x82, 0x84, 0xac, 0x3f, 0xbc, 0x17, 0x32, +}; +static const unsigned char kat3310_nonce[] = { + 0x6f, 0x82, 0xd5, 0x79, 0xbc, 0x6b, 0xcf, 0x7a, 0x3f, 0x01, 0x0c, 0x93, + 0x89, 0x8c, 0xee, 0xfc, +}; +static const unsigned char kat3310_persstr[] = {0}; +static const unsigned char kat3310_entropyinpr1[] = { + 0xa9, 0xdb, 0x48, 0x61, 0x86, 0x86, 0x56, 0x14, 0xce, 0x58, 0xe4, 0x26, + 0x5b, 0xcc, 0xab, 0x7c, 0x73, 0x59, 0x9f, 0x9a, 0x2b, 0x89, 0xf1, 0x3e, +}; +static const unsigned char kat3310_addinpr1[] = {0}; +static const unsigned char kat3310_entropyinpr2[] = { + 0x25, 0x2b, 0x29, 0xb6, 0x5b, 0x9c, 0x0a, 0x4e, 0x7b, 0x00, 0x65, 0x42, + 0x6f, 0xca, 0x03, 0x79, 0xdf, 0xb9, 0x8b, 0x37, 0x06, 0x8c, 0xeb, 0x38, +}; +static const unsigned char kat3310_addinpr2[] = {0}; +static const unsigned char kat3310_retbits[] = { + 0xce, 0xdc, 0xf2, 0x3b, 0x01, 0xd7, 0x98, 0x18, 0x19, 0xf3, 0xfb, 0x57, + 0xf7, 0xad, 0x51, 0xf2, 0x74, 0x9c, 0xff, 0xdb, 0x97, 0x7c, 0xcd, 0x65, + 0x26, 0xa2, 0xdc, 0x52, 0x92, 0xa1, 0x49, 0xd5, 0xca, 0x48, 0x1c, 0xe5, + 0xb2, 0x97, 0xc8, 0x65, 0x9b, 0xed, 0xd0, 0xdd, 0x1d, 0x21, 0x55, 0x2d, + 0x29, 0x26, 0x28, 0x67, 0x49, 0x7e, 0xe0, 0xd4, 0x73, 0x53, 0x4c, 0xf7, + 0xc6, 0xe1, 0xd3, 0x71, +}; +static const struct drbg_kat_pr_true kat3310_t = { + 9, kat3310_entropyin, kat3310_nonce, kat3310_persstr, + kat3310_entropyinpr1, kat3310_addinpr1, kat3310_entropyinpr2, + kat3310_addinpr2, kat3310_retbits +}; +static const struct drbg_kat kat3310 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3310_t +}; + +static const unsigned char kat3311_entropyin[] = { + 0xe7, 0x42, 0x44, 0xd5, 0xd8, 0x24, 0xa4, 0x22, 0x1e, 0xcc, 0x74, 0x82, + 0x37, 0x13, 0x50, 0xc4, 0x9e, 0xe3, 0x9a, 0x01, 0x54, 0xa1, 0xbd, 0x5e, +}; +static const unsigned char kat3311_nonce[] = { + 0xfa, 0xbc, 0x00, 0x11, 0x0b, 0x66, 0x8b, 0x3f, 0x71, 0xdd, 0x65, 0xb8, + 0x20, 0x0a, 0xd4, 0xc9, +}; +static const unsigned char kat3311_persstr[] = {0}; +static const unsigned char kat3311_entropyinpr1[] = { + 0xd7, 0x8a, 0xa0, 0xff, 0x03, 0xa1, 0x9f, 0x38, 0xcb, 0xe7, 0x01, 0x7e, + 0xe1, 0x0e, 0xb5, 0xca, 0x3c, 0x5c, 0x9a, 0x05, 0x6e, 0xe5, 0x28, 0x63, +}; +static const unsigned char kat3311_addinpr1[] = {0}; +static const unsigned char kat3311_entropyinpr2[] = { + 0xfe, 0x4a, 0xac, 0x63, 0xa7, 0x4e, 0x72, 0x72, 0xb8, 0x53, 0xd4, 0xa9, + 0x72, 0xd3, 0x6f, 0x7e, 0xf9, 0xeb, 0x13, 0x2f, 0x37, 0x34, 0x85, 0xe1, +}; +static const unsigned char kat3311_addinpr2[] = {0}; +static const unsigned char kat3311_retbits[] = { + 0x52, 0x0b, 0xc1, 0x77, 0xa8, 0x3d, 0xf2, 0xff, 0x4a, 0xdd, 0xb3, 0xd4, + 0xf6, 0x5b, 0x6c, 0x5d, 0xec, 0x05, 0x88, 0x57, 0xd3, 0xef, 0x09, 0x74, + 0xe0, 0x08, 0xa3, 0x1e, 0x66, 0xad, 0x6d, 0xca, 0x84, 0x6e, 0xc0, 0x3b, + 0x27, 0x9c, 0xbb, 0x81, 0x80, 0xdf, 0xc0, 0x7a, 0x5a, 0xf6, 0x12, 0x78, + 0xd6, 0x83, 0x65, 0x83, 0x7f, 0x99, 0xf4, 0x2c, 0x4a, 0x19, 0x5f, 0x25, + 0xdb, 0xae, 0xd6, 0xd6, +}; +static const struct drbg_kat_pr_true kat3311_t = { + 10, kat3311_entropyin, kat3311_nonce, kat3311_persstr, + kat3311_entropyinpr1, kat3311_addinpr1, kat3311_entropyinpr2, + kat3311_addinpr2, kat3311_retbits +}; +static const struct drbg_kat kat3311 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3311_t +}; + +static const unsigned char kat3312_entropyin[] = { + 0xdd, 0x6b, 0x07, 0x15, 0xf8, 0xba, 0x83, 0x03, 0xac, 0xda, 0xdd, 0x3b, + 0x86, 0x65, 0x19, 0x11, 0xec, 0xf0, 0x50, 0x74, 0xf2, 0xd4, 0x87, 0xca, +}; +static const unsigned char kat3312_nonce[] = { + 0xb4, 0xbb, 0x8d, 0xe7, 0x57, 0x1a, 0x66, 0x25, 0x0d, 0xe7, 0x71, 0xcd, + 0x2d, 0x1f, 0x54, 0x75, +}; +static const unsigned char kat3312_persstr[] = {0}; +static const unsigned char kat3312_entropyinpr1[] = { + 0x10, 0xd0, 0x18, 0xad, 0x13, 0x69, 0xf9, 0x13, 0xc1, 0x54, 0xd4, 0x2e, + 0x13, 0xaa, 0xbb, 0x35, 0x7e, 0xfe, 0xb5, 0x90, 0x4b, 0x61, 0xd1, 0x33, +}; +static const unsigned char kat3312_addinpr1[] = {0}; +static const unsigned char kat3312_entropyinpr2[] = { + 0x26, 0x25, 0xb4, 0xa6, 0x8f, 0x67, 0xa4, 0x21, 0x17, 0x72, 0xae, 0x46, + 0x02, 0xca, 0x46, 0x0c, 0xbd, 0xbe, 0x77, 0x51, 0x84, 0xae, 0xdf, 0x10, +}; +static const unsigned char kat3312_addinpr2[] = {0}; +static const unsigned char kat3312_retbits[] = { + 0x3b, 0x86, 0x62, 0xd2, 0xa7, 0xe8, 0x5d, 0xb3, 0x2f, 0x82, 0xca, 0x08, + 0x24, 0x09, 0x8d, 0x3c, 0xee, 0x71, 0xe0, 0xcf, 0xe6, 0x4b, 0xf4, 0x8a, + 0xa7, 0xc5, 0x82, 0xc6, 0x7f, 0x2f, 0x33, 0xfa, 0x22, 0x58, 0x10, 0x9e, + 0xe6, 0x38, 0x96, 0x27, 0x70, 0x7f, 0x30, 0xe2, 0xaa, 0xad, 0x66, 0xa3, + 0x4e, 0xfc, 0x52, 0xb0, 0xad, 0x5e, 0x85, 0x1a, 0xb9, 0xa0, 0x1a, 0xdf, + 0x52, 0x97, 0x69, 0x1b, +}; +static const struct drbg_kat_pr_true kat3312_t = { + 11, kat3312_entropyin, kat3312_nonce, kat3312_persstr, + kat3312_entropyinpr1, kat3312_addinpr1, kat3312_entropyinpr2, + kat3312_addinpr2, kat3312_retbits +}; +static const struct drbg_kat kat3312 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3312_t +}; + +static const unsigned char kat3313_entropyin[] = { + 0x8a, 0x41, 0x68, 0x2f, 0x93, 0x71, 0x18, 0xce, 0x50, 0xc6, 0x2a, 0x0a, + 0x94, 0xea, 0xe5, 0x80, 0x0c, 0x1e, 0x29, 0x6e, 0x6b, 0xa6, 0x57, 0xb2, +}; +static const unsigned char kat3313_nonce[] = { + 0x52, 0xc9, 0x0e, 0x60, 0x5e, 0xd3, 0xde, 0x4f, 0xe0, 0x22, 0xde, 0xc2, + 0x62, 0xe1, 0x61, 0xe7, +}; +static const unsigned char kat3313_persstr[] = {0}; +static const unsigned char kat3313_entropyinpr1[] = { + 0x85, 0x43, 0x67, 0xa3, 0xee, 0x0f, 0x83, 0x53, 0x81, 0x06, 0x25, 0x71, + 0xad, 0x83, 0x1b, 0x31, 0xf9, 0x2d, 0x08, 0xd6, 0xe7, 0xbf, 0x2f, 0x00, +}; +static const unsigned char kat3313_addinpr1[] = {0}; +static const unsigned char kat3313_entropyinpr2[] = { + 0x35, 0x01, 0xa3, 0x55, 0x21, 0x0c, 0x8d, 0xdd, 0x72, 0x83, 0x44, 0x39, + 0xfb, 0x66, 0x4c, 0xf5, 0x5e, 0x56, 0x0b, 0xd9, 0x9f, 0xce, 0xb9, 0x3b, +}; +static const unsigned char kat3313_addinpr2[] = {0}; +static const unsigned char kat3313_retbits[] = { + 0x83, 0xb2, 0xae, 0xfe, 0xa6, 0x95, 0x4a, 0x67, 0xb4, 0x3c, 0x58, 0x48, + 0xee, 0x75, 0xaf, 0x33, 0xb4, 0x18, 0x41, 0xa8, 0xd8, 0x65, 0x8b, 0x5b, + 0x7a, 0xd3, 0x68, 0xef, 0x30, 0x59, 0x45, 0x4b, 0xb3, 0xf1, 0x6d, 0x4f, + 0x2d, 0xaa, 0x6c, 0xb5, 0x04, 0x4a, 0x6b, 0x60, 0xcb, 0xf5, 0x46, 0xa3, + 0x93, 0x2f, 0xe7, 0x4f, 0xd0, 0xf9, 0x4c, 0x14, 0x11, 0xe1, 0x13, 0x88, + 0x7c, 0x2d, 0x67, 0x81, +}; +static const struct drbg_kat_pr_true kat3313_t = { + 12, kat3313_entropyin, kat3313_nonce, kat3313_persstr, + kat3313_entropyinpr1, kat3313_addinpr1, kat3313_entropyinpr2, + kat3313_addinpr2, kat3313_retbits +}; +static const struct drbg_kat kat3313 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3313_t +}; + +static const unsigned char kat3314_entropyin[] = { + 0xbd, 0x8f, 0x2a, 0x00, 0x0a, 0xbb, 0x7f, 0x8a, 0x45, 0x0b, 0x22, 0xee, + 0x4f, 0x86, 0x47, 0x32, 0x62, 0x9d, 0x81, 0x28, 0x92, 0x7e, 0x94, 0x5d, +}; +static const unsigned char kat3314_nonce[] = { + 0x4f, 0x36, 0x89, 0x65, 0x42, 0xaf, 0xff, 0x79, 0x7f, 0xaf, 0x79, 0xf7, + 0xd4, 0x03, 0x60, 0x80, +}; +static const unsigned char kat3314_persstr[] = {0}; +static const unsigned char kat3314_entropyinpr1[] = { + 0xef, 0xa3, 0x45, 0x94, 0x69, 0x81, 0x52, 0xdb, 0x2d, 0xad, 0xc8, 0xbe, + 0xcd, 0xcf, 0x4f, 0xbb, 0x0e, 0xcf, 0x6f, 0x56, 0xa8, 0x9f, 0x02, 0x39, +}; +static const unsigned char kat3314_addinpr1[] = {0}; +static const unsigned char kat3314_entropyinpr2[] = { + 0x88, 0x64, 0xde, 0xe7, 0x55, 0xe1, 0xe6, 0x20, 0x78, 0x9d, 0x48, 0x65, + 0x70, 0x6a, 0xde, 0xbb, 0xbc, 0x28, 0x36, 0x22, 0xb3, 0xc2, 0x8e, 0x95, +}; +static const unsigned char kat3314_addinpr2[] = {0}; +static const unsigned char kat3314_retbits[] = { + 0x83, 0x27, 0x0f, 0x47, 0xcd, 0xf5, 0x77, 0xba, 0x39, 0xfd, 0x97, 0x81, + 0x0d, 0x1a, 0xfd, 0xb6, 0x8a, 0xc1, 0xf5, 0xf4, 0x7d, 0xd6, 0x12, 0xf5, + 0xe1, 0x55, 0xb2, 0x42, 0x2f, 0xa8, 0xa6, 0x18, 0x5c, 0x48, 0xa3, 0x9e, + 0xd2, 0x12, 0x62, 0x40, 0xa9, 0xcf, 0x87, 0x9b, 0xab, 0xd4, 0xdb, 0x6d, + 0xdd, 0x7d, 0x97, 0x84, 0x39, 0x17, 0x71, 0xf9, 0x8e, 0x01, 0x16, 0xd1, + 0xbb, 0x8e, 0xff, 0xcc, +}; +static const struct drbg_kat_pr_true kat3314_t = { + 13, kat3314_entropyin, kat3314_nonce, kat3314_persstr, + kat3314_entropyinpr1, kat3314_addinpr1, kat3314_entropyinpr2, + kat3314_addinpr2, kat3314_retbits +}; +static const struct drbg_kat kat3314 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3314_t +}; + +static const unsigned char kat3315_entropyin[] = { + 0xef, 0xfe, 0xb9, 0xcc, 0x89, 0x07, 0x9c, 0xd8, 0x96, 0xbe, 0x2d, 0xab, + 0x9e, 0xe2, 0xf4, 0xc8, 0xfb, 0x7a, 0xfb, 0xfa, 0xad, 0x38, 0x4c, 0x4a, +}; +static const unsigned char kat3315_nonce[] = { + 0xdf, 0x00, 0x92, 0xa5, 0xda, 0x10, 0xe6, 0x0a, 0xc6, 0x96, 0x95, 0xc2, + 0xfc, 0x03, 0xf0, 0xad, +}; +static const unsigned char kat3315_persstr[] = {0}; +static const unsigned char kat3315_entropyinpr1[] = { + 0x43, 0x8a, 0x63, 0x46, 0xd0, 0x14, 0x19, 0xcc, 0x88, 0x04, 0x6c, 0x23, + 0x14, 0x97, 0x45, 0xd1, 0xa2, 0xb7, 0x5a, 0x51, 0x76, 0xb9, 0xb7, 0x56, +}; +static const unsigned char kat3315_addinpr1[] = {0}; +static const unsigned char kat3315_entropyinpr2[] = { + 0xb5, 0x38, 0xb9, 0xe6, 0x2d, 0x8a, 0xb6, 0xa0, 0x16, 0xf8, 0x00, 0x46, + 0x25, 0x94, 0xf7, 0xce, 0x29, 0x8e, 0xe6, 0x6d, 0xda, 0xed, 0xa1, 0x99, +}; +static const unsigned char kat3315_addinpr2[] = {0}; +static const unsigned char kat3315_retbits[] = { + 0xa0, 0xaf, 0xb4, 0x97, 0xcd, 0xcb, 0x73, 0xe1, 0x0f, 0xc6, 0x36, 0x2c, + 0xbf, 0x2b, 0x11, 0x7f, 0x28, 0x90, 0xd3, 0xdc, 0x6f, 0x4b, 0x88, 0xb8, + 0xe2, 0x8c, 0x9d, 0xea, 0x15, 0x90, 0x20, 0x12, 0x2b, 0x10, 0x7c, 0xa4, + 0xdc, 0x84, 0x74, 0xff, 0x9a, 0x2f, 0x1c, 0xaf, 0x07, 0xeb, 0x17, 0xb4, + 0xcf, 0xa6, 0x1d, 0x45, 0x41, 0x63, 0xe6, 0x91, 0x65, 0x20, 0xbc, 0x47, + 0x3a, 0x4f, 0x62, 0x06, +}; +static const struct drbg_kat_pr_true kat3315_t = { + 14, kat3315_entropyin, kat3315_nonce, kat3315_persstr, + kat3315_entropyinpr1, kat3315_addinpr1, kat3315_entropyinpr2, + kat3315_addinpr2, kat3315_retbits +}; +static const struct drbg_kat kat3315 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 0, 64, &kat3315_t +}; + +static const unsigned char kat3316_entropyin[] = { + 0x6f, 0x7f, 0xf6, 0xc0, 0x4c, 0x09, 0x9e, 0xbc, 0xdc, 0x4d, 0x53, 0x42, + 0xf8, 0x27, 0x27, 0x23, 0xd6, 0x4d, 0xde, 0x80, 0x82, 0x92, 0xce, 0x2a, +}; +static const unsigned char kat3316_nonce[] = { + 0x49, 0x51, 0xa2, 0x54, 0xfb, 0xa3, 0xf5, 0x54, 0x3c, 0xd0, 0x79, 0xde, + 0x76, 0x57, 0x0c, 0x1a, +}; +static const unsigned char kat3316_persstr[] = {0}; +static const unsigned char kat3316_entropyinpr1[] = { + 0x7e, 0x23, 0x57, 0x52, 0xe0, 0xf7, 0x91, 0xe8, 0x52, 0x33, 0xc9, 0xa6, + 0x7f, 0x56, 0x87, 0x55, 0x29, 0xbf, 0xc8, 0x1f, 0x3a, 0x5b, 0x1c, 0x96, +}; +static const unsigned char kat3316_addinpr1[] = { + 0x0a, 0x12, 0x5b, 0xbf, 0x9b, 0xb1, 0x92, 0x76, 0xc9, 0x45, 0xfd, 0x5d, + 0x73, 0x26, 0xf8, 0x92, 0xb4, 0x90, 0x55, 0x8e, 0x63, 0xf6, 0xe1, 0xf7, + 0x73, 0x29, 0x31, 0x11, 0x11, 0xe8, 0x5a, 0x18, +}; +static const unsigned char kat3316_entropyinpr2[] = { + 0xac, 0x11, 0x47, 0x10, 0xb4, 0x55, 0xbb, 0x97, 0xeb, 0x00, 0x5a, 0xbd, + 0xaa, 0x43, 0xa2, 0xd6, 0xbd, 0xb8, 0xad, 0x72, 0xbb, 0x23, 0x1d, 0xa8, +}; +static const unsigned char kat3316_addinpr2[] = { + 0xfc, 0x35, 0x3e, 0xc1, 0x70, 0x3c, 0xe1, 0xb2, 0x83, 0xed, 0xc0, 0xf7, + 0x6e, 0x76, 0xb4, 0xb6, 0xf5, 0xf2, 0x08, 0xef, 0x56, 0xb1, 0x20, 0x60, + 0x40, 0x4c, 0xbb, 0x32, 0x35, 0x5c, 0x94, 0x17, +}; +static const unsigned char kat3316_retbits[] = { + 0xa1, 0xe2, 0xdb, 0x67, 0x9d, 0xdc, 0x26, 0x96, 0x31, 0x66, 0x67, 0xfd, + 0xe3, 0x1e, 0xbc, 0x2b, 0x9f, 0xea, 0x01, 0x72, 0x50, 0xdf, 0xfd, 0x32, + 0xb2, 0x3b, 0x46, 0x86, 0x40, 0x73, 0xbe, 0x8b, 0x3c, 0x6b, 0xac, 0x56, + 0x72, 0x14, 0x23, 0x91, 0xcc, 0x12, 0x8b, 0x12, 0x30, 0xea, 0x13, 0xa2, + 0xff, 0x9e, 0x18, 0x24, 0x93, 0x30, 0x09, 0x62, 0x5b, 0xc6, 0xa8, 0xd2, + 0x9f, 0x47, 0x59, 0x41, +}; +static const struct drbg_kat_pr_true kat3316_t = { + 0, kat3316_entropyin, kat3316_nonce, kat3316_persstr, + kat3316_entropyinpr1, kat3316_addinpr1, kat3316_entropyinpr2, + kat3316_addinpr2, kat3316_retbits +}; +static const struct drbg_kat kat3316 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3316_t +}; + +static const unsigned char kat3317_entropyin[] = { + 0x36, 0xd1, 0x62, 0x02, 0x9d, 0x90, 0xf8, 0x30, 0x58, 0x7a, 0x6e, 0x35, + 0xd4, 0xec, 0xc8, 0x60, 0x2d, 0xda, 0x10, 0x98, 0xde, 0xc6, 0x8a, 0x69, +}; +static const unsigned char kat3317_nonce[] = { + 0xa8, 0x87, 0x98, 0x4c, 0x23, 0x2a, 0x6d, 0x9f, 0x51, 0x5b, 0x4a, 0x3c, + 0xae, 0x33, 0x35, 0x4a, +}; +static const unsigned char kat3317_persstr[] = {0}; +static const unsigned char kat3317_entropyinpr1[] = { + 0xae, 0xac, 0x85, 0x1a, 0x81, 0x0f, 0xa2, 0x1c, 0xe3, 0x8d, 0x47, 0x6d, + 0x03, 0xbf, 0xd9, 0xea, 0xe4, 0x5c, 0xa6, 0xe4, 0x4e, 0x60, 0xa4, 0xd1, +}; +static const unsigned char kat3317_addinpr1[] = { + 0x9b, 0x94, 0x7e, 0x1e, 0x19, 0x92, 0x77, 0x76, 0x8c, 0xad, 0x0f, 0x09, + 0x83, 0xc2, 0xfb, 0x6d, 0xfd, 0xf0, 0x07, 0x71, 0xef, 0x6a, 0x6b, 0xcf, + 0xb8, 0x93, 0x8f, 0x55, 0xb8, 0x07, 0xd4, 0x05, +}; +static const unsigned char kat3317_entropyinpr2[] = { + 0x81, 0xce, 0x73, 0x9b, 0x37, 0x3b, 0x5b, 0xee, 0xa4, 0xa4, 0xa6, 0xe9, + 0xfb, 0xb0, 0x12, 0x43, 0x46, 0x88, 0x23, 0xce, 0x05, 0x21, 0x13, 0x5a, +}; +static const unsigned char kat3317_addinpr2[] = { + 0xce, 0x48, 0xf1, 0x42, 0xb3, 0x6a, 0xee, 0x5e, 0x23, 0xd6, 0x3a, 0x38, + 0x4c, 0x43, 0x33, 0xbb, 0xaa, 0x57, 0x6b, 0x3a, 0x49, 0xdc, 0xa1, 0x7e, + 0xc9, 0x95, 0x8f, 0x51, 0xca, 0x70, 0x5f, 0x51, +}; +static const unsigned char kat3317_retbits[] = { + 0x69, 0xcd, 0x06, 0xc9, 0xa4, 0x8c, 0x89, 0xdc, 0x60, 0x86, 0x70, 0x70, + 0x12, 0x9e, 0xcf, 0x4e, 0xdf, 0x72, 0xe1, 0x9c, 0x67, 0x42, 0xf3, 0xf6, + 0xad, 0x1a, 0xe2, 0xa1, 0x0f, 0x02, 0x6b, 0x88, 0xd8, 0xbd, 0x74, 0xf8, + 0xb5, 0xe6, 0x68, 0xc2, 0x6f, 0x97, 0xd5, 0xae, 0xcd, 0x34, 0x3e, 0x01, + 0x86, 0x31, 0xd5, 0x43, 0x5b, 0x17, 0x42, 0xa6, 0xd9, 0xd1, 0xec, 0xf5, + 0xe0, 0x52, 0xca, 0x28, +}; +static const struct drbg_kat_pr_true kat3317_t = { + 1, kat3317_entropyin, kat3317_nonce, kat3317_persstr, + kat3317_entropyinpr1, kat3317_addinpr1, kat3317_entropyinpr2, + kat3317_addinpr2, kat3317_retbits +}; +static const struct drbg_kat kat3317 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3317_t +}; + +static const unsigned char kat3318_entropyin[] = { + 0x1a, 0x52, 0xf5, 0x16, 0x3e, 0x9d, 0x85, 0xc6, 0x0e, 0xd7, 0x81, 0x4e, + 0x34, 0x06, 0x2b, 0xef, 0x2a, 0x43, 0xb4, 0x25, 0x95, 0xdb, 0x94, 0x1a, +}; +static const unsigned char kat3318_nonce[] = { + 0x53, 0xdb, 0xed, 0xfa, 0xe1, 0x55, 0x17, 0x10, 0x56, 0xb8, 0x88, 0x96, + 0xcd, 0x25, 0x13, 0x3c, +}; +static const unsigned char kat3318_persstr[] = {0}; +static const unsigned char kat3318_entropyinpr1[] = { + 0xb8, 0x37, 0x00, 0x24, 0x8b, 0xd4, 0x13, 0xdc, 0xe6, 0x1d, 0x12, 0xfa, + 0x26, 0x27, 0x0a, 0xd5, 0x8c, 0x94, 0x22, 0xac, 0xb0, 0x96, 0x56, 0xdb, +}; +static const unsigned char kat3318_addinpr1[] = { + 0x91, 0xd5, 0x5c, 0x47, 0x33, 0xfa, 0x29, 0x10, 0x07, 0x01, 0xed, 0x52, + 0x5b, 0xc0, 0x01, 0x96, 0x39, 0x46, 0x6c, 0x81, 0x7c, 0xc4, 0xb5, 0xbd, + 0xf6, 0x85, 0x78, 0xc7, 0x2c, 0xae, 0x5c, 0xca, +}; +static const unsigned char kat3318_entropyinpr2[] = { + 0x3a, 0xac, 0x8e, 0x6a, 0x63, 0x6e, 0xd6, 0xab, 0xa5, 0xb1, 0xb9, 0x49, + 0x22, 0x53, 0x81, 0xfe, 0x27, 0xca, 0x5d, 0x7f, 0xe0, 0xcb, 0x46, 0x13, +}; +static const unsigned char kat3318_addinpr2[] = { + 0x99, 0xa1, 0x42, 0x96, 0xc6, 0x96, 0xd4, 0x1b, 0xa1, 0x1d, 0x3a, 0xd0, + 0x36, 0xe4, 0xcf, 0x2b, 0xff, 0x39, 0x44, 0xd8, 0x66, 0x26, 0xb8, 0x92, + 0x53, 0xc5, 0x5c, 0x50, 0x41, 0x58, 0x62, 0x97, +}; +static const unsigned char kat3318_retbits[] = { + 0x9c, 0xf2, 0xc5, 0x9d, 0x81, 0xd2, 0xcb, 0x8e, 0x3b, 0x21, 0xed, 0xd8, + 0xf2, 0x22, 0x17, 0x3f, 0x00, 0x3d, 0xa1, 0xe4, 0x0c, 0x5e, 0x18, 0x1c, + 0x29, 0x87, 0xb5, 0xab, 0x4c, 0xb4, 0x28, 0x64, 0x7f, 0x42, 0xe5, 0x00, + 0x26, 0xf7, 0xd4, 0xa5, 0x42, 0xad, 0x39, 0x28, 0x5e, 0x40, 0x16, 0x02, + 0x2c, 0x60, 0x8e, 0xc3, 0xbe, 0x45, 0x7d, 0xbd, 0x79, 0x4c, 0x90, 0xc6, + 0xbd, 0x54, 0x9b, 0x45, +}; +static const struct drbg_kat_pr_true kat3318_t = { + 2, kat3318_entropyin, kat3318_nonce, kat3318_persstr, + kat3318_entropyinpr1, kat3318_addinpr1, kat3318_entropyinpr2, + kat3318_addinpr2, kat3318_retbits +}; +static const struct drbg_kat kat3318 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3318_t +}; + +static const unsigned char kat3319_entropyin[] = { + 0x26, 0x66, 0xbb, 0x8b, 0x82, 0xc3, 0x4e, 0x47, 0x39, 0x20, 0xad, 0xce, + 0xeb, 0x05, 0xd8, 0x78, 0x50, 0x1b, 0x2d, 0x85, 0x0f, 0xd4, 0x95, 0xd2, +}; +static const unsigned char kat3319_nonce[] = { + 0x4a, 0x1b, 0x6f, 0x23, 0xed, 0xf9, 0x3a, 0x22, 0x39, 0xf3, 0x5f, 0xe5, + 0x19, 0xe3, 0x88, 0x0b, +}; +static const unsigned char kat3319_persstr[] = {0}; +static const unsigned char kat3319_entropyinpr1[] = { + 0xbf, 0xac, 0x90, 0xf8, 0x2b, 0x93, 0x7c, 0x3a, 0xa7, 0xff, 0x30, 0x42, + 0x2c, 0xda, 0x77, 0x1c, 0x7e, 0x11, 0x2f, 0x7f, 0x0d, 0xc7, 0x8f, 0x55, +}; +static const unsigned char kat3319_addinpr1[] = { + 0x6d, 0x6a, 0x2d, 0x3c, 0x1a, 0x0e, 0xe1, 0x3d, 0x29, 0x1d, 0xfd, 0xc0, + 0x13, 0xda, 0x92, 0x3e, 0xf1, 0xa2, 0x69, 0x81, 0xfc, 0x37, 0xf6, 0x24, + 0x2a, 0x13, 0x55, 0x03, 0xdd, 0xe5, 0xd8, 0x5e, +}; +static const unsigned char kat3319_entropyinpr2[] = { + 0xb1, 0x81, 0xeb, 0xc9, 0x97, 0xa9, 0x35, 0x11, 0x49, 0xa1, 0xc5, 0x08, + 0xc7, 0xd7, 0x03, 0x2a, 0x9a, 0x6f, 0xee, 0x5f, 0x58, 0xbd, 0xc0, 0x62, +}; +static const unsigned char kat3319_addinpr2[] = { + 0x56, 0xd9, 0xb4, 0x2a, 0xef, 0xd6, 0xed, 0xce, 0xdc, 0x01, 0x15, 0xec, + 0x49, 0x6f, 0x48, 0xdf, 0x76, 0x79, 0x25, 0x78, 0x45, 0x0c, 0x7b, 0xfa, + 0x93, 0x71, 0x21, 0x23, 0xfb, 0x96, 0x9a, 0x56, +}; +static const unsigned char kat3319_retbits[] = { + 0xa2, 0x4d, 0xa1, 0x36, 0x41, 0x83, 0x80, 0x0b, 0xb8, 0xa8, 0x55, 0x65, + 0xf4, 0x7c, 0xcc, 0x68, 0xe7, 0x3e, 0x90, 0xf7, 0xf7, 0x23, 0x65, 0xfe, + 0x90, 0x53, 0x71, 0x65, 0x45, 0x81, 0x88, 0xdb, 0xb0, 0x94, 0x3f, 0x92, + 0x60, 0xf1, 0xbc, 0xc5, 0x98, 0x76, 0x5f, 0xaa, 0x8d, 0x6f, 0x9c, 0xd8, + 0x8e, 0xe1, 0x95, 0x25, 0x61, 0x6e, 0xe5, 0xd6, 0xbc, 0xb3, 0x00, 0x6a, + 0xee, 0xa2, 0xa5, 0xba, +}; +static const struct drbg_kat_pr_true kat3319_t = { + 3, kat3319_entropyin, kat3319_nonce, kat3319_persstr, + kat3319_entropyinpr1, kat3319_addinpr1, kat3319_entropyinpr2, + kat3319_addinpr2, kat3319_retbits +}; +static const struct drbg_kat kat3319 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3319_t +}; + +static const unsigned char kat3320_entropyin[] = { + 0xe6, 0x56, 0x9f, 0xcb, 0x2c, 0x27, 0xdf, 0x67, 0x7a, 0x33, 0x9a, 0x60, + 0x0d, 0xa8, 0x33, 0x62, 0x93, 0xfa, 0xf6, 0xed, 0x45, 0x59, 0x8c, 0x74, +}; +static const unsigned char kat3320_nonce[] = { + 0x93, 0x01, 0x50, 0x5a, 0xe5, 0xe6, 0xa8, 0x99, 0x20, 0x03, 0x66, 0xc7, + 0xa3, 0x3f, 0xbe, 0x43, +}; +static const unsigned char kat3320_persstr[] = {0}; +static const unsigned char kat3320_entropyinpr1[] = { + 0xaf, 0x79, 0x04, 0x8c, 0xdc, 0x78, 0x20, 0xb7, 0xaa, 0xd6, 0xf5, 0x94, + 0x05, 0xb6, 0xbd, 0x2e, 0x49, 0x00, 0xba, 0x46, 0xe5, 0x07, 0xb3, 0x6e, +}; +static const unsigned char kat3320_addinpr1[] = { + 0x07, 0xb6, 0x7b, 0x48, 0x6c, 0x2a, 0x6f, 0xb9, 0xa7, 0x56, 0x65, 0x44, + 0xce, 0x5f, 0x5f, 0x07, 0x1e, 0xb6, 0x0d, 0xd4, 0x26, 0x0d, 0x99, 0xae, + 0xa7, 0x98, 0x74, 0x2e, 0x0b, 0x2e, 0x6e, 0x89, +}; +static const unsigned char kat3320_entropyinpr2[] = { + 0xdb, 0xc3, 0xf5, 0x10, 0x2d, 0x0d, 0xef, 0xac, 0x2c, 0x24, 0x83, 0xed, + 0x6a, 0xaa, 0xa8, 0x72, 0xe2, 0x04, 0xd2, 0xb4, 0xb0, 0xf5, 0xfc, 0x84, +}; +static const unsigned char kat3320_addinpr2[] = { + 0x78, 0x64, 0x4e, 0x0e, 0xd2, 0xda, 0xb2, 0xff, 0x9f, 0x65, 0x34, 0xd6, + 0xaf, 0xc8, 0xa5, 0x17, 0x14, 0x8a, 0x44, 0xb8, 0x5b, 0xc4, 0x25, 0x03, + 0xb3, 0x49, 0x45, 0xb3, 0x0a, 0x46, 0xb7, 0x11, +}; +static const unsigned char kat3320_retbits[] = { + 0x39, 0xcc, 0xa2, 0x46, 0x63, 0x0c, 0x6d, 0x34, 0x0b, 0x77, 0xbc, 0x65, + 0xa6, 0x19, 0xa0, 0x15, 0xbe, 0xcd, 0x0f, 0xca, 0xd7, 0x2c, 0x8e, 0x01, + 0xed, 0x6f, 0xac, 0x4a, 0x86, 0x1f, 0x19, 0x01, 0xd0, 0xc4, 0x22, 0xc5, + 0x2a, 0xe9, 0xa5, 0x0e, 0x0e, 0x4e, 0x2c, 0x19, 0xd1, 0x90, 0xca, 0xbd, + 0x83, 0x33, 0xd2, 0x39, 0x9d, 0x7d, 0x66, 0x6d, 0x20, 0x8b, 0x98, 0x13, + 0xa5, 0x65, 0x32, 0x43, +}; +static const struct drbg_kat_pr_true kat3320_t = { + 4, kat3320_entropyin, kat3320_nonce, kat3320_persstr, + kat3320_entropyinpr1, kat3320_addinpr1, kat3320_entropyinpr2, + kat3320_addinpr2, kat3320_retbits +}; +static const struct drbg_kat kat3320 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3320_t +}; + +static const unsigned char kat3321_entropyin[] = { + 0x7c, 0xd6, 0x93, 0x63, 0xc9, 0x5b, 0x34, 0xb5, 0x7f, 0x6a, 0x00, 0x0f, + 0x8b, 0x8c, 0x75, 0xd8, 0x23, 0x37, 0xed, 0xb1, 0x54, 0xce, 0x4b, 0xc0, +}; +static const unsigned char kat3321_nonce[] = { + 0xdc, 0x4c, 0x29, 0xfe, 0x39, 0x10, 0xbf, 0xb1, 0xf1, 0xd5, 0xac, 0x51, + 0x9f, 0x74, 0x00, 0x8f, +}; +static const unsigned char kat3321_persstr[] = {0}; +static const unsigned char kat3321_entropyinpr1[] = { + 0xdd, 0xc6, 0x06, 0xc3, 0xbe, 0x28, 0x63, 0x15, 0xa8, 0xee, 0x94, 0x63, + 0xc3, 0xec, 0xa2, 0x61, 0xcf, 0xf6, 0x1e, 0xa3, 0x1b, 0x79, 0x34, 0xb4, +}; +static const unsigned char kat3321_addinpr1[] = { + 0xe2, 0xe1, 0x66, 0xf0, 0x6d, 0xc5, 0x95, 0x28, 0x27, 0xed, 0xb8, 0x71, + 0xb4, 0x7d, 0x01, 0xdf, 0x19, 0x6f, 0x1b, 0x20, 0x2b, 0x5c, 0x06, 0xce, + 0x98, 0xd2, 0xe2, 0xaf, 0x4a, 0x04, 0x67, 0x90, +}; +static const unsigned char kat3321_entropyinpr2[] = { + 0x72, 0xbd, 0xd7, 0x11, 0x62, 0xac, 0xf8, 0x56, 0x7d, 0x6f, 0xf5, 0x7d, + 0x9c, 0x6a, 0x62, 0xa9, 0x4a, 0xa4, 0xea, 0x03, 0xaa, 0xe8, 0x58, 0xec, +}; +static const unsigned char kat3321_addinpr2[] = { + 0x92, 0x04, 0x2a, 0x37, 0x78, 0x9e, 0x69, 0xb3, 0x11, 0x1d, 0x48, 0x0c, + 0x0d, 0x19, 0xf0, 0x91, 0x7c, 0xde, 0x4f, 0xeb, 0x10, 0x1c, 0x48, 0x68, + 0x1f, 0xfe, 0xe2, 0xf9, 0x89, 0xff, 0xf9, 0x26, +}; +static const unsigned char kat3321_retbits[] = { + 0xb4, 0x16, 0x04, 0xe0, 0xdb, 0xec, 0x04, 0xd5, 0x7b, 0x99, 0x30, 0x12, + 0xf0, 0xab, 0xb7, 0xf8, 0x2c, 0x18, 0xb4, 0x6b, 0x36, 0x95, 0x14, 0x00, + 0x9c, 0x69, 0x68, 0xf6, 0x4f, 0xbd, 0x34, 0xf4, 0x02, 0xac, 0xcc, 0xe4, + 0xfc, 0x23, 0xa8, 0x09, 0x35, 0x3b, 0x62, 0x95, 0xd2, 0xf1, 0xf3, 0x94, + 0x9a, 0xdd, 0x6a, 0xc9, 0x5c, 0x64, 0x66, 0xff, 0xf4, 0x70, 0x2d, 0x9f, + 0x65, 0x4a, 0xca, 0xbd, +}; +static const struct drbg_kat_pr_true kat3321_t = { + 5, kat3321_entropyin, kat3321_nonce, kat3321_persstr, + kat3321_entropyinpr1, kat3321_addinpr1, kat3321_entropyinpr2, + kat3321_addinpr2, kat3321_retbits +}; +static const struct drbg_kat kat3321 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3321_t +}; + +static const unsigned char kat3322_entropyin[] = { + 0x58, 0xb1, 0x16, 0x71, 0xd1, 0x61, 0x0d, 0x3f, 0x7b, 0x0b, 0xae, 0xaa, + 0x98, 0xbc, 0x7a, 0x8f, 0xb5, 0xce, 0x99, 0x00, 0x7e, 0x49, 0x07, 0xed, +}; +static const unsigned char kat3322_nonce[] = { + 0xe3, 0xa0, 0x24, 0x2f, 0x78, 0x2e, 0xe5, 0x67, 0xf7, 0xc2, 0xab, 0x15, + 0x3d, 0xcb, 0xdf, 0x85, +}; +static const unsigned char kat3322_persstr[] = {0}; +static const unsigned char kat3322_entropyinpr1[] = { + 0x4b, 0xd4, 0x0e, 0xd9, 0x52, 0x24, 0xb6, 0xd7, 0x0c, 0x39, 0xf8, 0x67, + 0x8a, 0xe3, 0x28, 0xb8, 0x9e, 0xa9, 0x69, 0x73, 0x5a, 0xe1, 0xca, 0xf8, +}; +static const unsigned char kat3322_addinpr1[] = { + 0x67, 0x38, 0xa8, 0x65, 0xd1, 0x28, 0x78, 0xfd, 0xec, 0x65, 0x97, 0x27, + 0x90, 0x2f, 0x80, 0xf5, 0xec, 0x7f, 0xee, 0x75, 0x18, 0x30, 0x4e, 0x1d, + 0xd6, 0xb0, 0x6b, 0x99, 0x62, 0xea, 0x5b, 0xf0, +}; +static const unsigned char kat3322_entropyinpr2[] = { + 0xa4, 0x35, 0x38, 0x22, 0x2b, 0x83, 0x0b, 0xb8, 0x89, 0xc6, 0xa7, 0xf2, + 0x33, 0x9a, 0x26, 0x0d, 0x17, 0x2b, 0x5e, 0x4a, 0xaa, 0xad, 0xaf, 0xf2, +}; +static const unsigned char kat3322_addinpr2[] = { + 0xfa, 0xa8, 0xd4, 0xbf, 0xb2, 0x27, 0xa4, 0xcc, 0x41, 0x9e, 0x0f, 0x8a, + 0xf4, 0x43, 0xb5, 0xd0, 0xb9, 0x8f, 0xe6, 0x19, 0x6a, 0x71, 0x13, 0x0b, + 0xb5, 0xa3, 0x00, 0x9c, 0x04, 0x96, 0xcf, 0x9e, +}; +static const unsigned char kat3322_retbits[] = { + 0x52, 0x48, 0x65, 0x45, 0xc1, 0x71, 0x50, 0x87, 0x0b, 0xbe, 0x17, 0x45, + 0xa6, 0xc6, 0xb4, 0x46, 0x78, 0x80, 0x83, 0xe4, 0x88, 0x0c, 0xca, 0x12, + 0x8a, 0x12, 0xe0, 0x81, 0xf9, 0x6b, 0x87, 0xbd, 0x80, 0xaf, 0x46, 0xc7, + 0xf0, 0xf7, 0xf6, 0xf9, 0xc8, 0xb8, 0x67, 0x60, 0x40, 0x0e, 0x63, 0xef, + 0x34, 0x1a, 0xf3, 0x92, 0x0f, 0xf1, 0x8a, 0xc4, 0xdf, 0x2f, 0xb9, 0x60, + 0xa2, 0x89, 0x01, 0x32, +}; +static const struct drbg_kat_pr_true kat3322_t = { + 6, kat3322_entropyin, kat3322_nonce, kat3322_persstr, + kat3322_entropyinpr1, kat3322_addinpr1, kat3322_entropyinpr2, + kat3322_addinpr2, kat3322_retbits +}; +static const struct drbg_kat kat3322 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3322_t +}; + +static const unsigned char kat3323_entropyin[] = { + 0xa7, 0xde, 0x60, 0x0b, 0x8e, 0x74, 0x90, 0x14, 0x8a, 0x9e, 0x3e, 0x11, + 0x68, 0xb5, 0xef, 0xf0, 0x6f, 0x72, 0xc1, 0x92, 0x36, 0x04, 0xa4, 0xe7, +}; +static const unsigned char kat3323_nonce[] = { + 0x93, 0xe5, 0xeb, 0xe0, 0xd1, 0x4f, 0x5b, 0x9f, 0xf2, 0x44, 0xc8, 0x50, + 0xbf, 0xa5, 0xbd, 0x16, +}; +static const unsigned char kat3323_persstr[] = {0}; +static const unsigned char kat3323_entropyinpr1[] = { + 0x3c, 0x8a, 0xf4, 0xe7, 0x7f, 0xeb, 0xf6, 0xe7, 0xcf, 0xe1, 0xac, 0x83, + 0x61, 0x36, 0x11, 0xdb, 0xb8, 0x8b, 0xfe, 0x37, 0x1d, 0x2a, 0x7a, 0x87, +}; +static const unsigned char kat3323_addinpr1[] = { + 0xbf, 0x1c, 0xd4, 0x00, 0x6e, 0xcd, 0x28, 0x40, 0xff, 0x89, 0x3d, 0xf4, + 0x3c, 0x58, 0x94, 0x24, 0xf2, 0x80, 0x4f, 0x98, 0x04, 0x4e, 0xc5, 0xb9, + 0xd9, 0xf5, 0x09, 0xb5, 0x80, 0xde, 0x89, 0xd1, +}; +static const unsigned char kat3323_entropyinpr2[] = { + 0x45, 0x14, 0x70, 0x91, 0xfb, 0xcb, 0xbe, 0x77, 0x7e, 0x45, 0xf3, 0x39, + 0x0d, 0xba, 0x43, 0x0b, 0x8c, 0xf3, 0xfd, 0x83, 0xe0, 0x15, 0xa8, 0x19, +}; +static const unsigned char kat3323_addinpr2[] = { + 0x17, 0x9e, 0x74, 0x39, 0xf0, 0xc5, 0xaf, 0x97, 0x35, 0x29, 0x99, 0x68, + 0xa8, 0x6e, 0x4e, 0xeb, 0x3b, 0x5a, 0x3c, 0x1d, 0x28, 0x4a, 0xbe, 0x48, + 0x92, 0x7a, 0x07, 0xee, 0xed, 0x26, 0x17, 0x0d, +}; +static const unsigned char kat3323_retbits[] = { + 0x6d, 0x05, 0xde, 0x2e, 0x9f, 0xb1, 0x30, 0x73, 0x5b, 0x6e, 0x36, 0xf4, + 0x5c, 0x2a, 0x0f, 0xa2, 0x12, 0xd5, 0x35, 0x48, 0xfa, 0x51, 0xbd, 0xd0, + 0x32, 0xfd, 0xb6, 0x20, 0x8d, 0x2d, 0xa9, 0x1d, 0x9c, 0x2d, 0x05, 0xb1, + 0x3d, 0x82, 0x6d, 0x62, 0xa1, 0x06, 0x10, 0x3b, 0x7e, 0x41, 0xf2, 0x1b, + 0xec, 0xd8, 0xc6, 0x4d, 0x22, 0x1e, 0x4b, 0x9d, 0x3c, 0xe5, 0xd6, 0xd5, + 0xc6, 0x30, 0xc0, 0xee, +}; +static const struct drbg_kat_pr_true kat3323_t = { + 7, kat3323_entropyin, kat3323_nonce, kat3323_persstr, + kat3323_entropyinpr1, kat3323_addinpr1, kat3323_entropyinpr2, + kat3323_addinpr2, kat3323_retbits +}; +static const struct drbg_kat kat3323 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3323_t +}; + +static const unsigned char kat3324_entropyin[] = { + 0xe8, 0x18, 0x29, 0x57, 0x95, 0xc3, 0x32, 0xe4, 0xda, 0x0c, 0x3a, 0xfa, + 0x7b, 0x0f, 0xeb, 0x4f, 0x5d, 0x6f, 0xf7, 0x15, 0x10, 0x6b, 0x44, 0x58, +}; +static const unsigned char kat3324_nonce[] = { + 0x96, 0x66, 0x70, 0x0a, 0x2e, 0x8e, 0x16, 0x05, 0x21, 0x4d, 0xb3, 0xc2, + 0x86, 0x13, 0xcb, 0xf3, +}; +static const unsigned char kat3324_persstr[] = {0}; +static const unsigned char kat3324_entropyinpr1[] = { + 0xe1, 0x05, 0xdb, 0x6d, 0x97, 0xe2, 0x9a, 0x4d, 0x08, 0x62, 0x4c, 0xbc, + 0x20, 0x62, 0x6c, 0x39, 0x3b, 0x4a, 0xf2, 0x80, 0xa9, 0xee, 0x8a, 0xb1, +}; +static const unsigned char kat3324_addinpr1[] = { + 0x2e, 0x2c, 0x66, 0xf6, 0x9e, 0x91, 0x55, 0xb1, 0xd0, 0xba, 0x22, 0xf5, + 0x45, 0x54, 0x9c, 0x2e, 0x68, 0xc0, 0x9f, 0x81, 0x07, 0x02, 0x0b, 0x26, + 0x08, 0x8b, 0x70, 0x90, 0xf2, 0x4c, 0xc4, 0x0e, +}; +static const unsigned char kat3324_entropyinpr2[] = { + 0x6e, 0x51, 0xd8, 0xc8, 0x33, 0x7f, 0x97, 0x44, 0x00, 0xf9, 0x8a, 0x19, + 0x30, 0x49, 0xa7, 0x5d, 0xf5, 0xd3, 0x4c, 0x6b, 0xb4, 0xec, 0xad, 0xb2, +}; +static const unsigned char kat3324_addinpr2[] = { + 0x78, 0xea, 0xf7, 0xc0, 0x68, 0xd7, 0xb8, 0xd2, 0xaf, 0x94, 0x64, 0x61, + 0x63, 0x7b, 0x6d, 0xe0, 0xff, 0x22, 0xcf, 0x69, 0xfb, 0x98, 0xec, 0x30, + 0xd0, 0xbe, 0x2a, 0x85, 0xcf, 0xfc, 0x5a, 0x83, +}; +static const unsigned char kat3324_retbits[] = { + 0xed, 0x27, 0x65, 0x42, 0xf1, 0xfa, 0x48, 0x24, 0xc0, 0x35, 0x34, 0xcd, + 0x14, 0x30, 0xc1, 0xf1, 0xa2, 0x33, 0xc8, 0x80, 0xf5, 0xe7, 0xb8, 0xa5, + 0xa7, 0x94, 0x09, 0x78, 0x9a, 0x50, 0xf8, 0x30, 0xdd, 0x90, 0x53, 0x1f, + 0x78, 0x9b, 0x43, 0xa9, 0x7f, 0xf7, 0x30, 0x4d, 0x8d, 0x9b, 0xea, 0xe6, + 0xc1, 0xf7, 0xff, 0x39, 0x87, 0x1e, 0x54, 0xfb, 0xb3, 0xbb, 0xca, 0x91, + 0x60, 0xe8, 0xdb, 0xdc, +}; +static const struct drbg_kat_pr_true kat3324_t = { + 8, kat3324_entropyin, kat3324_nonce, kat3324_persstr, + kat3324_entropyinpr1, kat3324_addinpr1, kat3324_entropyinpr2, + kat3324_addinpr2, kat3324_retbits +}; +static const struct drbg_kat kat3324 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3324_t +}; + +static const unsigned char kat3325_entropyin[] = { + 0x1b, 0x3f, 0x42, 0x50, 0x8f, 0x47, 0x2d, 0x4a, 0x9a, 0x94, 0x81, 0x57, + 0x25, 0x7e, 0x8c, 0xe2, 0x3f, 0x95, 0xba, 0x8e, 0x0c, 0x09, 0x9e, 0xb6, +}; +static const unsigned char kat3325_nonce[] = { + 0x8f, 0xb8, 0x4f, 0xc7, 0x2b, 0xc4, 0x59, 0xcc, 0x8f, 0xbd, 0xde, 0x4a, + 0x66, 0xa1, 0x71, 0x19, +}; +static const unsigned char kat3325_persstr[] = {0}; +static const unsigned char kat3325_entropyinpr1[] = { + 0x12, 0x74, 0x25, 0x1f, 0x19, 0xa5, 0x2e, 0xc6, 0x31, 0xb9, 0xcc, 0x3f, + 0xb8, 0x82, 0x7e, 0x04, 0xa5, 0xee, 0xa3, 0xd0, 0xbf, 0x3d, 0xb1, 0x2a, +}; +static const unsigned char kat3325_addinpr1[] = { + 0xe3, 0xc7, 0x74, 0xf0, 0x00, 0x16, 0xe7, 0x64, 0xd3, 0xb4, 0x29, 0xfb, + 0x3d, 0xd1, 0xd3, 0x5b, 0x7d, 0x89, 0xa2, 0x44, 0xfe, 0x72, 0xc8, 0x69, + 0xdb, 0xc3, 0x69, 0x5a, 0x74, 0x96, 0xd4, 0x20, +}; +static const unsigned char kat3325_entropyinpr2[] = { + 0x31, 0x23, 0x09, 0x06, 0xf2, 0xd7, 0x0e, 0x6c, 0xc7, 0x07, 0xa4, 0xa5, + 0xac, 0xb3, 0x04, 0xcd, 0xd8, 0x35, 0x25, 0xc6, 0x16, 0x39, 0x5d, 0xac, +}; +static const unsigned char kat3325_addinpr2[] = { + 0x29, 0x2a, 0x8d, 0x14, 0xa4, 0x86, 0xab, 0xfc, 0xce, 0xa5, 0x6e, 0x4c, + 0x88, 0x77, 0xe9, 0x5b, 0x32, 0x4e, 0x00, 0x98, 0x96, 0x21, 0x50, 0x03, + 0xee, 0x8c, 0x2e, 0xe4, 0x73, 0x59, 0xbf, 0x5c, +}; +static const unsigned char kat3325_retbits[] = { + 0xd5, 0x02, 0x85, 0x96, 0x9b, 0x82, 0x9b, 0xb3, 0xbc, 0xa9, 0xbe, 0xd5, + 0x22, 0xda, 0x5f, 0x6c, 0x15, 0x12, 0xdd, 0x6f, 0x4a, 0x11, 0xa5, 0x1d, + 0x12, 0xb0, 0xe6, 0x7d, 0x52, 0x9f, 0xd3, 0x0a, 0x3b, 0xc2, 0x34, 0x72, + 0x65, 0xad, 0xdd, 0xf5, 0xec, 0xfc, 0x12, 0x8b, 0x94, 0xe9, 0x64, 0xba, + 0xc5, 0x4c, 0xc7, 0x90, 0xe6, 0x8f, 0x7a, 0x66, 0x15, 0x63, 0xc0, 0xd6, + 0x47, 0x16, 0x4a, 0x5a, +}; +static const struct drbg_kat_pr_true kat3325_t = { + 9, kat3325_entropyin, kat3325_nonce, kat3325_persstr, + kat3325_entropyinpr1, kat3325_addinpr1, kat3325_entropyinpr2, + kat3325_addinpr2, kat3325_retbits +}; +static const struct drbg_kat kat3325 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3325_t +}; + +static const unsigned char kat3326_entropyin[] = { + 0x53, 0x6f, 0x96, 0x51, 0x39, 0xd3, 0x7d, 0x73, 0x43, 0x41, 0xdb, 0x02, + 0x38, 0x77, 0xaa, 0xcf, 0x32, 0x20, 0x8f, 0x67, 0x7a, 0x7a, 0x45, 0x23, +}; +static const unsigned char kat3326_nonce[] = { + 0xae, 0xfa, 0x3d, 0x9e, 0x72, 0x61, 0xd3, 0x55, 0xeb, 0xa9, 0x11, 0xaa, + 0x73, 0x84, 0x92, 0x37, +}; +static const unsigned char kat3326_persstr[] = {0}; +static const unsigned char kat3326_entropyinpr1[] = { + 0x68, 0xa3, 0xe7, 0xed, 0x17, 0x89, 0xf3, 0xc3, 0x0d, 0x13, 0xbb, 0x7f, + 0x52, 0x2c, 0x66, 0x5a, 0x0e, 0xc1, 0x72, 0xde, 0xd6, 0xda, 0xf3, 0x2a, +}; +static const unsigned char kat3326_addinpr1[] = { + 0x8e, 0x3c, 0xf0, 0xa0, 0x6f, 0x06, 0x09, 0xc9, 0xd4, 0x9d, 0xc1, 0xc8, + 0x47, 0x49, 0x8a, 0xb2, 0x29, 0xdf, 0x96, 0x06, 0x8a, 0xfa, 0x63, 0x24, + 0x9b, 0xac, 0x6d, 0x5d, 0x22, 0x9e, 0xc1, 0x9d, +}; +static const unsigned char kat3326_entropyinpr2[] = { + 0xe2, 0xba, 0x4f, 0x5b, 0x05, 0xe7, 0xe4, 0xef, 0x27, 0xb3, 0xe7, 0xcc, + 0xbb, 0x06, 0x49, 0xca, 0x21, 0x24, 0xe6, 0x83, 0xce, 0x37, 0x1a, 0x89, +}; +static const unsigned char kat3326_addinpr2[] = { + 0x7d, 0x16, 0x15, 0xe0, 0x1c, 0x58, 0xde, 0x28, 0x17, 0xd7, 0x1a, 0x96, + 0x3a, 0x9c, 0x23, 0xbf, 0x06, 0xcd, 0xa9, 0x11, 0x99, 0xea, 0x56, 0xba, + 0x03, 0x67, 0xb3, 0x3f, 0x99, 0xdb, 0x69, 0xd7, +}; +static const unsigned char kat3326_retbits[] = { + 0xcc, 0x35, 0x88, 0x7e, 0xcd, 0xde, 0x4e, 0xca, 0xa8, 0xd2, 0x38, 0x3b, + 0xe8, 0xd7, 0x2d, 0xce, 0xb4, 0x64, 0xca, 0x9a, 0x94, 0xc7, 0x8e, 0x34, + 0x35, 0xbb, 0x85, 0x97, 0x42, 0xb6, 0xa8, 0x4e, 0xcf, 0x8a, 0x7a, 0xf9, + 0x9f, 0xd7, 0xbe, 0x28, 0xd3, 0xef, 0x31, 0x52, 0x3b, 0x0d, 0x70, 0xb8, + 0x8b, 0x0d, 0xd9, 0x18, 0xcd, 0x70, 0x58, 0x81, 0xb4, 0x18, 0xdf, 0xe9, + 0x1f, 0x84, 0xb4, 0x90, +}; +static const struct drbg_kat_pr_true kat3326_t = { + 10, kat3326_entropyin, kat3326_nonce, kat3326_persstr, + kat3326_entropyinpr1, kat3326_addinpr1, kat3326_entropyinpr2, + kat3326_addinpr2, kat3326_retbits +}; +static const struct drbg_kat kat3326 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3326_t +}; + +static const unsigned char kat3327_entropyin[] = { + 0x0a, 0xf0, 0x29, 0xdc, 0xf2, 0xf0, 0xe3, 0xe7, 0x01, 0x5d, 0x59, 0xa2, + 0x41, 0x58, 0x85, 0x30, 0x71, 0x23, 0xaf, 0x3d, 0x1a, 0x8a, 0x24, 0x27, +}; +static const unsigned char kat3327_nonce[] = { + 0x7b, 0xcf, 0xe6, 0xbf, 0x04, 0x22, 0xbf, 0x2e, 0x8e, 0xb4, 0x3f, 0x9c, + 0xbd, 0x32, 0x6f, 0x6b, +}; +static const unsigned char kat3327_persstr[] = {0}; +static const unsigned char kat3327_entropyinpr1[] = { + 0xed, 0x25, 0x7d, 0x65, 0xd7, 0x49, 0x96, 0xbf, 0x4e, 0xc1, 0xfa, 0x1a, + 0xb4, 0x8a, 0x60, 0x98, 0x55, 0x35, 0x49, 0xb7, 0x8e, 0xd6, 0x9e, 0x59, +}; +static const unsigned char kat3327_addinpr1[] = { + 0xdc, 0x5c, 0xcd, 0x61, 0xd0, 0xef, 0x94, 0x55, 0xdb, 0x53, 0x3b, 0x86, + 0x70, 0xf5, 0x52, 0x85, 0x7a, 0xb0, 0x31, 0x0a, 0xef, 0x7d, 0xcb, 0x17, + 0xe7, 0x95, 0xf5, 0xf0, 0x9a, 0x49, 0xbe, 0xcd, +}; +static const unsigned char kat3327_entropyinpr2[] = { + 0xcf, 0xdf, 0x74, 0x0e, 0x29, 0x1f, 0x30, 0xa8, 0x75, 0x0d, 0x75, 0x74, + 0x75, 0xd5, 0x6f, 0x2a, 0xa1, 0x51, 0x27, 0xe3, 0x32, 0x07, 0xe2, 0x65, +}; +static const unsigned char kat3327_addinpr2[] = { + 0x0d, 0x63, 0x91, 0x8b, 0xcc, 0xa4, 0xe3, 0xcf, 0x2c, 0xf5, 0x06, 0x2c, + 0x1f, 0xbf, 0x18, 0x7f, 0x1c, 0x18, 0x1f, 0x8c, 0x5a, 0xf6, 0x95, 0x07, + 0x56, 0x54, 0xaf, 0xbf, 0x0c, 0x74, 0x81, 0xe7, +}; +static const unsigned char kat3327_retbits[] = { + 0x60, 0x0c, 0xad, 0x75, 0x1c, 0xf1, 0x8b, 0xd3, 0x25, 0x2c, 0x42, 0x4f, + 0x82, 0xfb, 0x92, 0x84, 0x69, 0xbe, 0xbf, 0xdf, 0x5c, 0xe6, 0x9d, 0x67, + 0x7e, 0x54, 0xea, 0x99, 0x1f, 0x95, 0x23, 0x37, 0x16, 0x73, 0x64, 0xc5, + 0xfd, 0x98, 0x9a, 0xad, 0x97, 0xe2, 0x33, 0xcf, 0x2c, 0x2e, 0xd6, 0x37, + 0xda, 0x43, 0xe0, 0xc7, 0xe0, 0xf2, 0xa4, 0xeb, 0x0d, 0xad, 0x53, 0x0c, + 0x06, 0x2d, 0x00, 0x3d, +}; +static const struct drbg_kat_pr_true kat3327_t = { + 11, kat3327_entropyin, kat3327_nonce, kat3327_persstr, + kat3327_entropyinpr1, kat3327_addinpr1, kat3327_entropyinpr2, + kat3327_addinpr2, kat3327_retbits +}; +static const struct drbg_kat kat3327 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3327_t +}; + +static const unsigned char kat3328_entropyin[] = { + 0xf8, 0x9a, 0x02, 0x01, 0x2c, 0x81, 0xdf, 0x0b, 0x9f, 0x97, 0xbc, 0x16, + 0xe0, 0x1f, 0xf4, 0x76, 0xe4, 0x9a, 0x97, 0x39, 0x28, 0x1a, 0x93, 0x3b, +}; +static const unsigned char kat3328_nonce[] = { + 0xcb, 0x40, 0xa5, 0x54, 0x3a, 0x48, 0x99, 0x14, 0x4a, 0xf5, 0xea, 0x81, + 0x37, 0xe0, 0x26, 0x11, +}; +static const unsigned char kat3328_persstr[] = {0}; +static const unsigned char kat3328_entropyinpr1[] = { + 0x22, 0x86, 0x5c, 0x64, 0x32, 0xf6, 0x4e, 0xd8, 0xca, 0x0d, 0xcd, 0x6c, + 0xc9, 0x9e, 0x2b, 0xa9, 0x49, 0x0b, 0xe9, 0x65, 0x9d, 0xbb, 0x73, 0x9c, +}; +static const unsigned char kat3328_addinpr1[] = { + 0x9a, 0x54, 0x67, 0x44, 0x7c, 0x38, 0xc3, 0x6b, 0x01, 0xec, 0x67, 0xa6, + 0xf0, 0x3b, 0x68, 0x12, 0x00, 0xdc, 0x41, 0x61, 0xae, 0xef, 0xd2, 0x74, + 0xfb, 0x06, 0x6e, 0x88, 0xd2, 0xa4, 0x0a, 0x95, +}; +static const unsigned char kat3328_entropyinpr2[] = { + 0x53, 0x62, 0x00, 0x88, 0x52, 0x66, 0x5f, 0x0d, 0x5d, 0x9f, 0x44, 0x10, + 0x2d, 0x26, 0x80, 0xd9, 0x80, 0xfa, 0x90, 0x87, 0x72, 0x9d, 0xc1, 0x20, +}; +static const unsigned char kat3328_addinpr2[] = { + 0x46, 0x7f, 0x83, 0x0f, 0x21, 0xdf, 0x84, 0x1c, 0x78, 0x72, 0x1a, 0xc4, + 0x4d, 0x25, 0xfb, 0xf2, 0xc5, 0xb9, 0x2c, 0x42, 0xc9, 0x26, 0xeb, 0x9d, + 0xbd, 0x1a, 0x32, 0x17, 0xf7, 0x7a, 0xa8, 0x39, +}; +static const unsigned char kat3328_retbits[] = { + 0xc5, 0xe4, 0xbf, 0xef, 0xbe, 0x9c, 0x7b, 0x07, 0xde, 0x53, 0xf7, 0x82, + 0x7f, 0xba, 0x53, 0x86, 0x83, 0x30, 0xf9, 0x0f, 0xcf, 0x87, 0x37, 0x53, + 0x80, 0xbe, 0xbc, 0x6c, 0x92, 0xaf, 0xf4, 0x3c, 0x7e, 0x17, 0x66, 0x6b, + 0x98, 0x95, 0xad, 0x1f, 0xf4, 0x99, 0xf7, 0x97, 0x77, 0xed, 0xb0, 0x0f, + 0x11, 0x3b, 0x18, 0x6a, 0x74, 0xf4, 0x38, 0xb9, 0x99, 0xa8, 0x20, 0xf5, + 0x27, 0x87, 0x64, 0xa9, +}; +static const struct drbg_kat_pr_true kat3328_t = { + 12, kat3328_entropyin, kat3328_nonce, kat3328_persstr, + kat3328_entropyinpr1, kat3328_addinpr1, kat3328_entropyinpr2, + kat3328_addinpr2, kat3328_retbits +}; +static const struct drbg_kat kat3328 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3328_t +}; + +static const unsigned char kat3329_entropyin[] = { + 0x11, 0x8d, 0x4d, 0x35, 0x43, 0x94, 0x6d, 0xa8, 0xcc, 0x86, 0x35, 0xb9, + 0xef, 0x6b, 0xbc, 0x4d, 0x03, 0x71, 0xc0, 0x6c, 0x39, 0x6f, 0x63, 0x77, +}; +static const unsigned char kat3329_nonce[] = { + 0x15, 0x15, 0x05, 0xea, 0x32, 0x2d, 0x29, 0xa9, 0x7c, 0x5c, 0x56, 0x80, + 0xa0, 0xdb, 0x16, 0x34, +}; +static const unsigned char kat3329_persstr[] = {0}; +static const unsigned char kat3329_entropyinpr1[] = { + 0x17, 0x77, 0x8e, 0x99, 0x22, 0x27, 0xe1, 0x92, 0x99, 0x36, 0x04, 0x90, + 0x31, 0x59, 0x1a, 0x33, 0x42, 0x7e, 0x29, 0x06, 0x88, 0xef, 0x46, 0x89, +}; +static const unsigned char kat3329_addinpr1[] = { + 0x70, 0xa1, 0x49, 0xb7, 0x24, 0x49, 0x0c, 0x10, 0x75, 0xaf, 0xc8, 0x0a, + 0x4b, 0xe4, 0x05, 0x9c, 0x18, 0xea, 0xba, 0xf1, 0xaa, 0x47, 0xa7, 0xb2, + 0xd9, 0x2d, 0xc1, 0x88, 0x5d, 0xd9, 0xc8, 0x91, +}; +static const unsigned char kat3329_entropyinpr2[] = { + 0x53, 0x5d, 0x26, 0x94, 0xb9, 0x41, 0x58, 0xc7, 0x34, 0x58, 0x3e, 0xee, + 0xa8, 0x06, 0xe1, 0xf5, 0x42, 0x93, 0x71, 0xf9, 0xa7, 0xbb, 0xca, 0xdf, +}; +static const unsigned char kat3329_addinpr2[] = { + 0x1e, 0x2e, 0x99, 0x36, 0x41, 0xea, 0x85, 0xbc, 0x3f, 0x5a, 0xfc, 0xe8, + 0x58, 0x10, 0x3f, 0xc0, 0xe5, 0xbc, 0x90, 0x4a, 0x9f, 0x20, 0x61, 0x10, + 0xfc, 0xae, 0x7f, 0x87, 0x3a, 0xf5, 0x9a, 0x8f, +}; +static const unsigned char kat3329_retbits[] = { + 0xb2, 0x21, 0x90, 0x86, 0xa9, 0x48, 0x63, 0x31, 0x4f, 0x37, 0x4d, 0x49, + 0x23, 0x12, 0x0c, 0xde, 0x1d, 0x35, 0x93, 0x6a, 0xc2, 0xf6, 0x86, 0x21, + 0xf3, 0x2c, 0x16, 0xdf, 0x40, 0x1a, 0x6e, 0xc3, 0x15, 0x41, 0x26, 0x20, + 0x27, 0x17, 0xa2, 0x7b, 0xbb, 0xf9, 0x61, 0xb3, 0xdd, 0x1f, 0x20, 0x63, + 0xfd, 0x58, 0x52, 0x67, 0x73, 0x89, 0x02, 0x8c, 0xda, 0xc8, 0xf2, 0x47, + 0xf2, 0x51, 0xda, 0x2e, +}; +static const struct drbg_kat_pr_true kat3329_t = { + 13, kat3329_entropyin, kat3329_nonce, kat3329_persstr, + kat3329_entropyinpr1, kat3329_addinpr1, kat3329_entropyinpr2, + kat3329_addinpr2, kat3329_retbits +}; +static const struct drbg_kat kat3329 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3329_t +}; + +static const unsigned char kat3330_entropyin[] = { + 0x3f, 0x37, 0x7f, 0xaa, 0x0b, 0x6d, 0x47, 0x2f, 0x3b, 0xa5, 0xd6, 0x55, + 0x6f, 0xe2, 0xa8, 0x40, 0xd5, 0x5a, 0x78, 0xa4, 0xb8, 0x04, 0xa0, 0x01, +}; +static const unsigned char kat3330_nonce[] = { + 0x54, 0xa0, 0x31, 0x01, 0xb1, 0x58, 0x78, 0x73, 0xdd, 0xf3, 0xe0, 0xae, + 0xeb, 0x21, 0xf4, 0x77, +}; +static const unsigned char kat3330_persstr[] = {0}; +static const unsigned char kat3330_entropyinpr1[] = { + 0xd4, 0x8e, 0xca, 0x53, 0x66, 0x2d, 0x88, 0xcc, 0xa3, 0x5e, 0x64, 0xf7, + 0x29, 0x14, 0x34, 0xd1, 0xe3, 0x2b, 0xd3, 0x09, 0x1c, 0x9f, 0x56, 0xd8, +}; +static const unsigned char kat3330_addinpr1[] = { + 0x96, 0x01, 0x72, 0x96, 0x42, 0x58, 0x45, 0x06, 0x3b, 0xa4, 0x83, 0x5a, + 0x96, 0xd8, 0x80, 0xf5, 0xc9, 0xa8, 0xc0, 0x20, 0x39, 0x70, 0x6a, 0x81, + 0xa2, 0xf9, 0x02, 0xf4, 0x41, 0x71, 0xbd, 0x3b, +}; +static const unsigned char kat3330_entropyinpr2[] = { + 0x0c, 0x3a, 0x07, 0xdf, 0x91, 0x6a, 0xcc, 0x0e, 0x6a, 0x2e, 0x6e, 0xef, + 0x50, 0xc3, 0x2d, 0xb6, 0xeb, 0xb1, 0x96, 0x2f, 0xcf, 0xb0, 0xce, 0xee, +}; +static const unsigned char kat3330_addinpr2[] = { + 0xc0, 0x26, 0x3d, 0x4c, 0x2d, 0x07, 0x26, 0x44, 0x5d, 0x61, 0x9c, 0x87, + 0x39, 0x14, 0xea, 0x5d, 0xd9, 0xa0, 0x1e, 0x4f, 0x80, 0x5e, 0x57, 0x20, + 0x61, 0x29, 0x8e, 0xac, 0x76, 0xe0, 0x7c, 0x52, +}; +static const unsigned char kat3330_retbits[] = { + 0x9a, 0x29, 0x85, 0x2c, 0x06, 0xe0, 0x6c, 0xf7, 0x43, 0x5f, 0x01, 0x3d, + 0x1e, 0x1d, 0x65, 0x30, 0x74, 0x90, 0x40, 0x54, 0xb9, 0x71, 0x85, 0xda, + 0x69, 0x08, 0x74, 0x9c, 0x8b, 0x75, 0xc9, 0xa2, 0xf8, 0x1e, 0x29, 0xf0, + 0xcf, 0xbb, 0xec, 0xc8, 0x6b, 0xb7, 0x35, 0x38, 0x97, 0xb6, 0x36, 0xcc, + 0x9f, 0x7b, 0xd0, 0x8d, 0xc2, 0x7b, 0xa1, 0x3d, 0x1a, 0x3d, 0x48, 0x2e, + 0x83, 0x8a, 0x5f, 0x6a, +}; +static const struct drbg_kat_pr_true kat3330_t = { + 14, kat3330_entropyin, kat3330_nonce, kat3330_persstr, + kat3330_entropyinpr1, kat3330_addinpr1, kat3330_entropyinpr2, + kat3330_addinpr2, kat3330_retbits +}; +static const struct drbg_kat kat3330 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 0, 32, 64, &kat3330_t +}; + +static const unsigned char kat3331_entropyin[] = { + 0x38, 0x4d, 0xe3, 0x30, 0x43, 0x14, 0xb2, 0x12, 0x4c, 0x40, 0xbf, 0x2c, + 0x5c, 0x82, 0x35, 0xa3, 0xe7, 0x30, 0x6d, 0x94, 0xa0, 0xca, 0x3b, 0x67, +}; +static const unsigned char kat3331_nonce[] = { + 0x76, 0xde, 0x42, 0x6b, 0x4b, 0xb1, 0xc5, 0xc3, 0x68, 0xe0, 0x64, 0xda, + 0x2e, 0x38, 0xf8, 0x3a, +}; +static const unsigned char kat3331_persstr[] = { + 0x06, 0x01, 0x5e, 0xaa, 0x5f, 0x5e, 0xb0, 0x0f, 0x09, 0xa1, 0xf5, 0x49, + 0x2e, 0x21, 0x85, 0xb5, 0x7c, 0x5e, 0x30, 0x8c, 0x5c, 0xcf, 0x14, 0x4a, + 0x93, 0xbe, 0x6f, 0xa2, 0xc1, 0xcb, 0xa9, 0x88, +}; +static const unsigned char kat3331_entropyinpr1[] = { + 0x06, 0xa1, 0xfc, 0x53, 0xd9, 0x59, 0x30, 0x3b, 0x7d, 0x94, 0xc0, 0xd7, + 0x8a, 0xd1, 0xaf, 0x0a, 0xe2, 0x3f, 0x40, 0x48, 0xfd, 0x99, 0xff, 0x53, +}; +static const unsigned char kat3331_addinpr1[] = {0}; +static const unsigned char kat3331_entropyinpr2[] = { + 0x78, 0xa0, 0xbb, 0x09, 0xf8, 0x39, 0x94, 0x43, 0xcc, 0x95, 0x0f, 0xd2, + 0x35, 0xd6, 0xd9, 0x66, 0x3d, 0x45, 0xad, 0xbf, 0x94, 0x81, 0xd7, 0x24, +}; +static const unsigned char kat3331_addinpr2[] = {0}; +static const unsigned char kat3331_retbits[] = { + 0x2d, 0xb2, 0xf9, 0xce, 0x0c, 0x80, 0x74, 0xe0, 0xf0, 0x20, 0x5e, 0x3c, + 0xd0, 0x58, 0xe3, 0x1b, 0x5d, 0x8c, 0x73, 0xba, 0x51, 0xef, 0xda, 0x36, + 0x08, 0x47, 0x77, 0x82, 0x06, 0xb1, 0x26, 0x82, 0x2d, 0x7d, 0xc9, 0xe8, + 0x73, 0xdc, 0x7e, 0x07, 0xe3, 0x03, 0x92, 0xff, 0xaa, 0x42, 0x27, 0x61, + 0xff, 0xa2, 0x97, 0xc1, 0x89, 0x26, 0x5d, 0x2f, 0x8e, 0xbd, 0x45, 0xef, + 0x49, 0x22, 0x69, 0x03, +}; +static const struct drbg_kat_pr_true kat3331_t = { + 0, kat3331_entropyin, kat3331_nonce, kat3331_persstr, + kat3331_entropyinpr1, kat3331_addinpr1, kat3331_entropyinpr2, + kat3331_addinpr2, kat3331_retbits +}; +static const struct drbg_kat kat3331 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3331_t +}; + +static const unsigned char kat3332_entropyin[] = { + 0xa3, 0x0b, 0xc9, 0x33, 0xf7, 0x2a, 0xa4, 0xe2, 0x5d, 0x32, 0x47, 0xa8, + 0x97, 0xb9, 0xde, 0xd3, 0x92, 0x6b, 0xa1, 0xbb, 0x52, 0x20, 0x2d, 0xa4, +}; +static const unsigned char kat3332_nonce[] = { + 0xc2, 0xe8, 0x7e, 0xb6, 0xab, 0xf0, 0x11, 0xa0, 0x6a, 0x46, 0x07, 0x95, + 0xa3, 0x34, 0xc7, 0x50, +}; +static const unsigned char kat3332_persstr[] = { + 0xe6, 0x55, 0xfa, 0xd3, 0x2b, 0x67, 0x1c, 0x7f, 0xb4, 0xc8, 0xe5, 0x38, + 0x68, 0x3a, 0xb8, 0x7f, 0xbd, 0x7f, 0x51, 0xc3, 0x31, 0x3f, 0x66, 0x74, + 0x6c, 0x46, 0xcb, 0x63, 0x65, 0xa7, 0x8c, 0xe8, +}; +static const unsigned char kat3332_entropyinpr1[] = { + 0x2e, 0x15, 0x55, 0x28, 0xed, 0x2f, 0x44, 0x17, 0xfd, 0x95, 0x54, 0x37, + 0xcb, 0x13, 0x46, 0x4c, 0x63, 0xfd, 0x88, 0xec, 0x8d, 0x78, 0x5c, 0x03, +}; +static const unsigned char kat3332_addinpr1[] = {0}; +static const unsigned char kat3332_entropyinpr2[] = { + 0xf4, 0x76, 0x5d, 0x5d, 0x72, 0x78, 0x47, 0xf8, 0xd8, 0x12, 0xdc, 0xa0, + 0x4a, 0xfa, 0x56, 0x80, 0xcf, 0x61, 0xb9, 0xcc, 0xfc, 0xc5, 0x62, 0xda, +}; +static const unsigned char kat3332_addinpr2[] = {0}; +static const unsigned char kat3332_retbits[] = { + 0xe3, 0x99, 0xbb, 0x27, 0x96, 0x53, 0x90, 0x52, 0xd0, 0x7f, 0x92, 0x47, + 0x49, 0xa6, 0xb2, 0x73, 0x29, 0x9a, 0x92, 0x76, 0xdc, 0x48, 0x25, 0x4d, + 0x8a, 0x81, 0x3e, 0x80, 0xf8, 0x04, 0x34, 0xfa, 0xa5, 0x53, 0xd7, 0x69, + 0x4f, 0xb8, 0x39, 0x57, 0xb2, 0xe5, 0x8a, 0x34, 0x54, 0xfb, 0x83, 0x80, + 0x78, 0x45, 0x12, 0x6c, 0x2d, 0x7a, 0xa0, 0x2b, 0xe5, 0x36, 0xcf, 0x2c, + 0xc7, 0xbc, 0x94, 0xfd, +}; +static const struct drbg_kat_pr_true kat3332_t = { + 1, kat3332_entropyin, kat3332_nonce, kat3332_persstr, + kat3332_entropyinpr1, kat3332_addinpr1, kat3332_entropyinpr2, + kat3332_addinpr2, kat3332_retbits +}; +static const struct drbg_kat kat3332 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3332_t +}; + +static const unsigned char kat3333_entropyin[] = { + 0x63, 0xec, 0xe4, 0x56, 0x6c, 0xa8, 0x25, 0x98, 0x6c, 0x64, 0x3a, 0x0d, + 0x99, 0xa1, 0xc7, 0x19, 0x6e, 0x12, 0x3c, 0x84, 0x2e, 0x87, 0x4c, 0x55, +}; +static const unsigned char kat3333_nonce[] = { + 0x04, 0x42, 0x46, 0x90, 0xb1, 0xe8, 0xc5, 0x95, 0x3e, 0xb5, 0x05, 0xac, + 0x10, 0x49, 0xc8, 0x8d, +}; +static const unsigned char kat3333_persstr[] = { + 0xf3, 0xbe, 0x85, 0x79, 0x3b, 0xd9, 0x82, 0xf9, 0xdd, 0x24, 0x69, 0x4c, + 0x17, 0xa3, 0x41, 0xd5, 0x91, 0xbd, 0xf8, 0x08, 0x6e, 0xf0, 0xd5, 0xbf, + 0x8b, 0xd3, 0xdd, 0xb8, 0xf4, 0x32, 0x80, 0xc5, +}; +static const unsigned char kat3333_entropyinpr1[] = { + 0xfe, 0xcd, 0x0d, 0xcf, 0x8c, 0xcc, 0x62, 0xc8, 0x23, 0x8a, 0x3e, 0xd1, + 0x5c, 0x5e, 0x03, 0x24, 0x98, 0x89, 0x3c, 0x2e, 0x74, 0x3e, 0xbe, 0x5c, +}; +static const unsigned char kat3333_addinpr1[] = {0}; +static const unsigned char kat3333_entropyinpr2[] = { + 0x58, 0xc6, 0x23, 0x00, 0x2b, 0x46, 0x80, 0xad, 0xdb, 0x63, 0x42, 0x6c, + 0x7c, 0x46, 0xc6, 0xba, 0xa0, 0x53, 0xb1, 0x1c, 0x90, 0xec, 0x39, 0x5d, +}; +static const unsigned char kat3333_addinpr2[] = {0}; +static const unsigned char kat3333_retbits[] = { + 0x72, 0xdb, 0xfd, 0xca, 0xf5, 0x27, 0x4d, 0x22, 0x56, 0xb0, 0xf4, 0x6c, + 0x4e, 0xf6, 0x8e, 0x11, 0x12, 0x70, 0x0d, 0xfb, 0xbd, 0x38, 0x00, 0xf3, + 0x97, 0x80, 0x88, 0x20, 0x23, 0x1a, 0xe2, 0x42, 0x23, 0x90, 0x2d, 0x9a, + 0xdb, 0x55, 0xa6, 0xa1, 0xb4, 0xd1, 0x90, 0x5a, 0xe2, 0x06, 0x7b, 0xb4, + 0xea, 0xf9, 0x36, 0xc2, 0xec, 0xcd, 0xdb, 0xf4, 0x0a, 0x02, 0xdf, 0xce, + 0xe0, 0x6a, 0xc6, 0xa9, +}; +static const struct drbg_kat_pr_true kat3333_t = { + 2, kat3333_entropyin, kat3333_nonce, kat3333_persstr, + kat3333_entropyinpr1, kat3333_addinpr1, kat3333_entropyinpr2, + kat3333_addinpr2, kat3333_retbits +}; +static const struct drbg_kat kat3333 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3333_t +}; + +static const unsigned char kat3334_entropyin[] = { + 0xa3, 0xcd, 0x8e, 0x61, 0xcb, 0xbb, 0xec, 0xf7, 0xf4, 0x68, 0xb7, 0x01, + 0x04, 0x6c, 0x61, 0x66, 0xf6, 0x4e, 0xb3, 0xd4, 0x0a, 0xc9, 0xdd, 0xd2, +}; +static const unsigned char kat3334_nonce[] = { + 0x66, 0x51, 0xb0, 0xb7, 0xb1, 0x20, 0xe9, 0x52, 0x2b, 0x76, 0x72, 0xa7, + 0x65, 0x29, 0x2b, 0x28, +}; +static const unsigned char kat3334_persstr[] = { + 0x23, 0xdb, 0xa9, 0xa6, 0x57, 0x07, 0x77, 0x42, 0x7d, 0x72, 0x2d, 0x82, + 0x7a, 0x87, 0xcd, 0xbe, 0x2b, 0xb9, 0x07, 0x66, 0xcb, 0xa7, 0x75, 0x1f, + 0xe0, 0xc8, 0x0a, 0x10, 0x94, 0x0b, 0x49, 0x7c, +}; +static const unsigned char kat3334_entropyinpr1[] = { + 0x24, 0x9d, 0x6b, 0x3c, 0x22, 0xd6, 0x0e, 0xdf, 0xae, 0x0e, 0x43, 0x8b, + 0x51, 0x09, 0xaa, 0x7d, 0x81, 0xe3, 0x9c, 0x23, 0x3c, 0x9f, 0xc6, 0x9c, +}; +static const unsigned char kat3334_addinpr1[] = {0}; +static const unsigned char kat3334_entropyinpr2[] = { + 0x2c, 0x68, 0x15, 0xce, 0xe0, 0x42, 0x79, 0x50, 0xe2, 0x6e, 0x80, 0x63, + 0xb6, 0x2f, 0x35, 0x5a, 0x72, 0x52, 0xc6, 0xc2, 0xc1, 0xe5, 0xce, 0x11, +}; +static const unsigned char kat3334_addinpr2[] = {0}; +static const unsigned char kat3334_retbits[] = { + 0x8b, 0xe5, 0x65, 0x00, 0x0c, 0xf9, 0x17, 0x45, 0x38, 0x9c, 0x3b, 0x26, + 0x98, 0x2c, 0x45, 0xdb, 0x3f, 0xb0, 0x6a, 0xb8, 0xbd, 0xdf, 0xba, 0xea, + 0x52, 0x43, 0x39, 0x9a, 0x04, 0x4e, 0xb2, 0xfa, 0xab, 0x15, 0xf4, 0x70, + 0xc8, 0xdc, 0xad, 0xde, 0xed, 0x39, 0xfd, 0xb1, 0x64, 0x19, 0xee, 0x4f, + 0xa7, 0x0b, 0x7f, 0x83, 0xff, 0x28, 0x55, 0xcf, 0x0c, 0xe9, 0x2a, 0xd5, + 0x15, 0xbb, 0x34, 0x74, +}; +static const struct drbg_kat_pr_true kat3334_t = { + 3, kat3334_entropyin, kat3334_nonce, kat3334_persstr, + kat3334_entropyinpr1, kat3334_addinpr1, kat3334_entropyinpr2, + kat3334_addinpr2, kat3334_retbits +}; +static const struct drbg_kat kat3334 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3334_t +}; + +static const unsigned char kat3335_entropyin[] = { + 0x86, 0x39, 0xad, 0xe7, 0xfc, 0xcd, 0x79, 0x40, 0x26, 0xd6, 0xef, 0xee, + 0x07, 0xdf, 0xb9, 0x88, 0x15, 0x41, 0x8b, 0x9d, 0x1a, 0x0a, 0x5f, 0xb5, +}; +static const unsigned char kat3335_nonce[] = { + 0x79, 0xa2, 0x43, 0xe6, 0x84, 0x8a, 0xe6, 0x84, 0xe4, 0x0e, 0x84, 0x0c, + 0xb7, 0x5e, 0x1f, 0x20, +}; +static const unsigned char kat3335_persstr[] = { + 0x7f, 0xa8, 0xae, 0x9e, 0x56, 0x54, 0xfb, 0x4e, 0x84, 0x61, 0xc1, 0xfa, + 0x0f, 0xbc, 0xbb, 0x27, 0xe6, 0xea, 0x14, 0xaf, 0x88, 0x3a, 0x95, 0x8f, + 0xe2, 0x4e, 0x65, 0x95, 0xc9, 0x43, 0x2c, 0xfc, +}; +static const unsigned char kat3335_entropyinpr1[] = { + 0xb0, 0x16, 0xe1, 0x2e, 0x78, 0x73, 0xda, 0xe0, 0x59, 0x0e, 0x20, 0xb8, + 0x3e, 0x3f, 0x90, 0x04, 0x9e, 0xe6, 0xe9, 0x97, 0x9c, 0xb6, 0xff, 0x97, +}; +static const unsigned char kat3335_addinpr1[] = {0}; +static const unsigned char kat3335_entropyinpr2[] = { + 0x86, 0x7b, 0x19, 0x92, 0x45, 0xd7, 0xb2, 0xda, 0x5c, 0x80, 0xe0, 0x05, + 0x43, 0xef, 0x80, 0xf7, 0xfd, 0xd6, 0x60, 0x5b, 0x6c, 0x67, 0x64, 0x35, +}; +static const unsigned char kat3335_addinpr2[] = {0}; +static const unsigned char kat3335_retbits[] = { + 0x16, 0x2b, 0xcf, 0x3d, 0x37, 0x31, 0x52, 0xbf, 0x12, 0xd5, 0x00, 0xd5, + 0x13, 0xf6, 0x8a, 0x4b, 0x05, 0x36, 0x75, 0x5d, 0xdb, 0x6a, 0x32, 0x29, + 0xcf, 0x10, 0xcf, 0x47, 0x13, 0x83, 0x91, 0x25, 0xed, 0xf3, 0xd9, 0x47, + 0x70, 0x49, 0x23, 0x95, 0xa7, 0xc4, 0xe8, 0x99, 0x95, 0x21, 0x76, 0xbf, + 0x5b, 0xf0, 0x31, 0xa1, 0xd5, 0x16, 0x27, 0x3a, 0x58, 0x86, 0x5d, 0x3e, + 0xbc, 0xf8, 0xea, 0x73, +}; +static const struct drbg_kat_pr_true kat3335_t = { + 4, kat3335_entropyin, kat3335_nonce, kat3335_persstr, + kat3335_entropyinpr1, kat3335_addinpr1, kat3335_entropyinpr2, + kat3335_addinpr2, kat3335_retbits +}; +static const struct drbg_kat kat3335 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3335_t +}; + +static const unsigned char kat3336_entropyin[] = { + 0x9c, 0xee, 0xa9, 0x7b, 0x37, 0x81, 0x36, 0xcb, 0x0a, 0x25, 0xe7, 0x24, + 0x04, 0x40, 0x71, 0xfe, 0x65, 0x30, 0xaf, 0x74, 0xed, 0x3a, 0x2e, 0x81, +}; +static const unsigned char kat3336_nonce[] = { + 0x1f, 0x19, 0xbd, 0x84, 0xe6, 0x7a, 0x42, 0x6c, 0xbf, 0x5b, 0x94, 0x31, + 0x2d, 0xc8, 0xfc, 0x80, +}; +static const unsigned char kat3336_persstr[] = { + 0x06, 0x06, 0x5d, 0xc8, 0xe0, 0xbc, 0x46, 0x61, 0xc5, 0xbd, 0x23, 0x1d, + 0xc1, 0x49, 0xe4, 0x93, 0x91, 0x02, 0x96, 0x5d, 0x09, 0x10, 0x56, 0x0c, + 0xdf, 0x36, 0xdb, 0xf0, 0xa8, 0xc4, 0x82, 0x16, +}; +static const unsigned char kat3336_entropyinpr1[] = { + 0x80, 0x0d, 0x22, 0xa9, 0x13, 0x5d, 0x84, 0x82, 0xba, 0x14, 0xbd, 0xcc, + 0x7d, 0x60, 0x8f, 0x1e, 0xe2, 0xda, 0x93, 0x51, 0xa1, 0xb4, 0xcb, 0x98, +}; +static const unsigned char kat3336_addinpr1[] = {0}; +static const unsigned char kat3336_entropyinpr2[] = { + 0xd4, 0x3a, 0xdb, 0xd3, 0xbc, 0xbb, 0x75, 0x92, 0x53, 0x6a, 0x9d, 0xe8, + 0x8c, 0xf2, 0xe0, 0xa4, 0xaa, 0x92, 0xe0, 0xb7, 0x8f, 0x73, 0x86, 0x83, +}; +static const unsigned char kat3336_addinpr2[] = {0}; +static const unsigned char kat3336_retbits[] = { + 0xda, 0x8d, 0xae, 0x5a, 0xa8, 0xa8, 0xb1, 0x36, 0xf1, 0x29, 0x8e, 0xfc, + 0x5e, 0x90, 0x42, 0x16, 0xdf, 0x94, 0x09, 0xf5, 0x1c, 0xbf, 0xc8, 0xa7, + 0xfd, 0x98, 0x4e, 0x4a, 0x71, 0x98, 0xb1, 0xa8, 0xd1, 0x1c, 0x1e, 0xd0, + 0xb1, 0x9c, 0x75, 0x20, 0xd3, 0x3c, 0x34, 0xa0, 0x86, 0xec, 0x86, 0x67, + 0x4b, 0xc4, 0x7f, 0x10, 0xa4, 0x4e, 0x4c, 0x74, 0xa8, 0xfa, 0x8f, 0xde, + 0x5e, 0x2c, 0x5f, 0x87, +}; +static const struct drbg_kat_pr_true kat3336_t = { + 5, kat3336_entropyin, kat3336_nonce, kat3336_persstr, + kat3336_entropyinpr1, kat3336_addinpr1, kat3336_entropyinpr2, + kat3336_addinpr2, kat3336_retbits +}; +static const struct drbg_kat kat3336 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3336_t +}; + +static const unsigned char kat3337_entropyin[] = { + 0x3d, 0x7b, 0x66, 0x69, 0x72, 0xce, 0x07, 0xb4, 0x80, 0xbb, 0x7f, 0xc4, + 0x5b, 0x57, 0x6b, 0x75, 0xe1, 0xbf, 0xe3, 0x24, 0x25, 0xfe, 0xa7, 0x48, +}; +static const unsigned char kat3337_nonce[] = { + 0xe2, 0x09, 0xeb, 0x61, 0x0a, 0x3a, 0xd2, 0xc4, 0x3c, 0x50, 0x88, 0xb0, + 0xdc, 0xfe, 0xcf, 0x2c, +}; +static const unsigned char kat3337_persstr[] = { + 0x77, 0x1a, 0xed, 0x7b, 0x51, 0xc2, 0x2e, 0x00, 0x26, 0x76, 0xd3, 0xc7, + 0xcd, 0xcd, 0xa9, 0x06, 0xd4, 0x3f, 0xe8, 0x05, 0x5d, 0x83, 0x24, 0x79, + 0xe8, 0x71, 0xa2, 0x3f, 0x35, 0xe0, 0xa7, 0x85, +}; +static const unsigned char kat3337_entropyinpr1[] = { + 0xd5, 0xaf, 0xae, 0x2e, 0x7e, 0x12, 0xee, 0x53, 0x8f, 0x41, 0x5c, 0x32, + 0x66, 0xd9, 0x2f, 0xd0, 0x91, 0xdd, 0x73, 0x0f, 0x01, 0x7b, 0x21, 0x1a, +}; +static const unsigned char kat3337_addinpr1[] = {0}; +static const unsigned char kat3337_entropyinpr2[] = { + 0x92, 0x48, 0xae, 0x65, 0x13, 0x4e, 0xa2, 0xba, 0xc3, 0xb4, 0x59, 0xa9, + 0x1c, 0x65, 0x33, 0x0e, 0x2a, 0x52, 0xcd, 0xa2, 0xf5, 0x41, 0x6c, 0x19, +}; +static const unsigned char kat3337_addinpr2[] = {0}; +static const unsigned char kat3337_retbits[] = { + 0xc1, 0xf3, 0x6b, 0xe2, 0x61, 0x10, 0x8c, 0xa5, 0x62, 0xdf, 0x10, 0xb0, + 0x71, 0xff, 0x5f, 0xab, 0x4d, 0x61, 0x11, 0x3f, 0xcb, 0x84, 0xc9, 0xe4, + 0xc6, 0xa5, 0xe9, 0x63, 0x30, 0x7a, 0x5e, 0x7c, 0x74, 0xa7, 0x85, 0xb1, + 0xcd, 0x9d, 0x9a, 0x4c, 0x99, 0xfe, 0x1b, 0xee, 0xf7, 0xe9, 0xc9, 0x6e, + 0x7c, 0xd6, 0xee, 0xcd, 0xf3, 0x70, 0x10, 0xac, 0x64, 0xaa, 0xf4, 0x7d, + 0x1e, 0x36, 0x52, 0x2b, +}; +static const struct drbg_kat_pr_true kat3337_t = { + 6, kat3337_entropyin, kat3337_nonce, kat3337_persstr, + kat3337_entropyinpr1, kat3337_addinpr1, kat3337_entropyinpr2, + kat3337_addinpr2, kat3337_retbits +}; +static const struct drbg_kat kat3337 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3337_t +}; + +static const unsigned char kat3338_entropyin[] = { + 0x5c, 0x8b, 0xf4, 0xd0, 0x49, 0x7c, 0xde, 0xb9, 0xc8, 0xaa, 0x41, 0x34, + 0x83, 0xeb, 0x59, 0x61, 0xf2, 0x58, 0x63, 0x6b, 0x29, 0x64, 0xe0, 0x22, +}; +static const unsigned char kat3338_nonce[] = { + 0x82, 0x7b, 0xb9, 0x4d, 0x7a, 0x94, 0xa2, 0x35, 0x68, 0x03, 0x9a, 0x8c, + 0x9e, 0x04, 0x5a, 0x27, +}; +static const unsigned char kat3338_persstr[] = { + 0x52, 0xb5, 0x41, 0xed, 0xb5, 0x99, 0x04, 0x1c, 0x35, 0x0c, 0x18, 0x65, + 0x3c, 0x70, 0x5c, 0xe3, 0x01, 0x18, 0xce, 0xb5, 0xaa, 0x62, 0xe5, 0xea, + 0x52, 0xeb, 0x51, 0x01, 0x2b, 0xa9, 0x8c, 0x5d, +}; +static const unsigned char kat3338_entropyinpr1[] = { + 0xb2, 0xdc, 0x39, 0xdf, 0x8c, 0x0f, 0x40, 0x2a, 0x49, 0x3b, 0x43, 0x05, + 0x31, 0x36, 0xa7, 0xea, 0xcc, 0x86, 0xed, 0x75, 0xec, 0x5c, 0xa5, 0xfc, +}; +static const unsigned char kat3338_addinpr1[] = {0}; +static const unsigned char kat3338_entropyinpr2[] = { + 0x1e, 0x25, 0x85, 0x2a, 0xe1, 0x6d, 0x40, 0x53, 0x2a, 0xd5, 0xff, 0xc6, + 0x89, 0x65, 0x79, 0xeb, 0xdd, 0x4a, 0xc2, 0xcf, 0x9b, 0xa7, 0xa3, 0x1f, +}; +static const unsigned char kat3338_addinpr2[] = {0}; +static const unsigned char kat3338_retbits[] = { + 0xd4, 0x4f, 0x52, 0x57, 0x27, 0x34, 0x72, 0x02, 0xd2, 0x3f, 0xaf, 0x0b, + 0xc5, 0x0c, 0x5b, 0x14, 0xd6, 0x51, 0x93, 0x75, 0x64, 0x5f, 0x2b, 0xf6, + 0xaf, 0xf7, 0xf1, 0x1c, 0x64, 0x2f, 0x1a, 0x7e, 0xf2, 0xff, 0x6f, 0x73, + 0x18, 0xdb, 0x8f, 0x15, 0x75, 0xeb, 0xc0, 0xd5, 0x05, 0xd1, 0x66, 0x0e, + 0x6d, 0xad, 0x50, 0x4c, 0x56, 0xdf, 0xb1, 0x46, 0xb9, 0x32, 0x61, 0xcb, + 0x6a, 0x88, 0x72, 0x2d, +}; +static const struct drbg_kat_pr_true kat3338_t = { + 7, kat3338_entropyin, kat3338_nonce, kat3338_persstr, + kat3338_entropyinpr1, kat3338_addinpr1, kat3338_entropyinpr2, + kat3338_addinpr2, kat3338_retbits +}; +static const struct drbg_kat kat3338 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3338_t +}; + +static const unsigned char kat3339_entropyin[] = { + 0xd5, 0xfb, 0x69, 0xe7, 0xaa, 0x08, 0x00, 0x97, 0xf6, 0xa2, 0xf5, 0xc8, + 0x17, 0x9b, 0x18, 0x6a, 0x21, 0x18, 0x09, 0xbc, 0x13, 0x32, 0x59, 0xec, +}; +static const unsigned char kat3339_nonce[] = { + 0x60, 0x3f, 0x8a, 0x72, 0x32, 0x13, 0x5c, 0x99, 0x73, 0x15, 0xe0, 0x4a, + 0x07, 0xec, 0xab, 0xa8, +}; +static const unsigned char kat3339_persstr[] = { + 0xd1, 0x02, 0x65, 0x64, 0xe8, 0x75, 0x79, 0x0e, 0x42, 0x88, 0x4b, 0x09, + 0x1e, 0xb8, 0x6d, 0x6f, 0xd2, 0x08, 0xcc, 0x04, 0x0f, 0x5c, 0x49, 0xd4, + 0x6b, 0x1c, 0x1b, 0x6d, 0xbe, 0x4c, 0x99, 0x40, +}; +static const unsigned char kat3339_entropyinpr1[] = { + 0x23, 0xf4, 0x9a, 0x2b, 0x9d, 0x87, 0x14, 0xfc, 0x8a, 0x03, 0x0b, 0x70, + 0x7d, 0x62, 0xb8, 0x26, 0x39, 0x4f, 0x92, 0x23, 0xd1, 0x51, 0xcf, 0xbe, +}; +static const unsigned char kat3339_addinpr1[] = {0}; +static const unsigned char kat3339_entropyinpr2[] = { + 0xcc, 0xc6, 0x52, 0x4d, 0x6c, 0xc5, 0x65, 0x67, 0x2d, 0x7b, 0xa9, 0x5b, + 0x19, 0x01, 0x97, 0xcb, 0x9c, 0x17, 0xe7, 0xe1, 0x56, 0x01, 0x01, 0x1e, +}; +static const unsigned char kat3339_addinpr2[] = {0}; +static const unsigned char kat3339_retbits[] = { + 0xc7, 0x17, 0xdb, 0xc0, 0x47, 0xd4, 0xeb, 0x6b, 0x26, 0x84, 0xc6, 0xcc, + 0x93, 0x47, 0x0d, 0x1e, 0x06, 0x42, 0xd7, 0xc1, 0x5c, 0x63, 0xcd, 0xf8, + 0xed, 0xfd, 0xa8, 0x52, 0x01, 0xf0, 0x62, 0x43, 0xf5, 0xf9, 0x68, 0x2c, + 0xad, 0x07, 0x71, 0x70, 0xb6, 0x1e, 0xd1, 0x40, 0x17, 0x1b, 0x44, 0x5f, + 0x2e, 0x7f, 0x23, 0xd0, 0x11, 0x62, 0xd8, 0x57, 0xd5, 0xfb, 0xc9, 0x06, + 0xd2, 0xfb, 0x12, 0x49, +}; +static const struct drbg_kat_pr_true kat3339_t = { + 8, kat3339_entropyin, kat3339_nonce, kat3339_persstr, + kat3339_entropyinpr1, kat3339_addinpr1, kat3339_entropyinpr2, + kat3339_addinpr2, kat3339_retbits +}; +static const struct drbg_kat kat3339 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3339_t +}; + +static const unsigned char kat3340_entropyin[] = { + 0x5f, 0x56, 0x49, 0xdf, 0x0b, 0x46, 0x11, 0xf7, 0x1a, 0xd8, 0xa4, 0x64, + 0x85, 0xc2, 0x72, 0xa5, 0xc8, 0x57, 0xdc, 0x60, 0x4f, 0x23, 0x71, 0xc6, +}; +static const unsigned char kat3340_nonce[] = { + 0x0a, 0x79, 0x50, 0xe6, 0xbc, 0x62, 0x88, 0xd2, 0xf7, 0x78, 0xce, 0xa1, + 0x92, 0x59, 0xfd, 0x22, +}; +static const unsigned char kat3340_persstr[] = { + 0x2a, 0x5f, 0x50, 0x38, 0x08, 0x17, 0x88, 0x3e, 0x9c, 0x76, 0xc9, 0xae, + 0xf0, 0x97, 0x73, 0x75, 0xe6, 0xce, 0xa5, 0x8d, 0x0a, 0xa5, 0x63, 0xa2, + 0x89, 0x91, 0x49, 0xae, 0x37, 0x05, 0x39, 0x5c, +}; +static const unsigned char kat3340_entropyinpr1[] = { + 0xfe, 0xb0, 0x97, 0xd4, 0x2b, 0xdd, 0x52, 0xb0, 0xa3, 0xc7, 0xbb, 0xcc, + 0x58, 0x4e, 0x4d, 0xaa, 0xd1, 0xa2, 0x1e, 0x07, 0x0b, 0x8b, 0x04, 0xe1, +}; +static const unsigned char kat3340_addinpr1[] = {0}; +static const unsigned char kat3340_entropyinpr2[] = { + 0x8f, 0x7c, 0xbd, 0x63, 0x44, 0xe5, 0x6c, 0x3d, 0x2b, 0x58, 0xfd, 0xf0, + 0x3b, 0x13, 0x6d, 0x46, 0x68, 0x40, 0x30, 0xc8, 0xbf, 0x18, 0x1e, 0x23, +}; +static const unsigned char kat3340_addinpr2[] = {0}; +static const unsigned char kat3340_retbits[] = { + 0x16, 0xb8, 0x9a, 0xa5, 0x89, 0x5b, 0xd2, 0x43, 0x0e, 0x98, 0xba, 0x7b, + 0xba, 0xaa, 0x3a, 0xb0, 0x88, 0x20, 0x31, 0x01, 0xfa, 0xe7, 0xaa, 0xcb, + 0xf1, 0xa0, 0xc1, 0xfb, 0x2e, 0x41, 0x99, 0x15, 0xc9, 0xaf, 0xd9, 0x03, + 0x31, 0x69, 0xa5, 0x58, 0x03, 0xbd, 0xb7, 0xb8, 0xdd, 0x51, 0xa8, 0x65, + 0x5f, 0x29, 0x75, 0x77, 0xbd, 0x64, 0xa4, 0x67, 0x0e, 0xed, 0x5e, 0x74, + 0x7c, 0x39, 0xad, 0x4e, +}; +static const struct drbg_kat_pr_true kat3340_t = { + 9, kat3340_entropyin, kat3340_nonce, kat3340_persstr, + kat3340_entropyinpr1, kat3340_addinpr1, kat3340_entropyinpr2, + kat3340_addinpr2, kat3340_retbits +}; +static const struct drbg_kat kat3340 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3340_t +}; + +static const unsigned char kat3341_entropyin[] = { + 0x3f, 0x95, 0x4e, 0xad, 0x27, 0xfa, 0x11, 0xba, 0x39, 0x1b, 0x4c, 0x41, + 0xe8, 0xe5, 0x14, 0x85, 0x4f, 0x1d, 0xad, 0xa3, 0xca, 0x1e, 0x72, 0xa1, +}; +static const unsigned char kat3341_nonce[] = { + 0x99, 0xb8, 0xdf, 0x3b, 0x2c, 0x9a, 0x83, 0x01, 0x81, 0xcf, 0x11, 0xbd, + 0x6e, 0x59, 0xef, 0x2a, +}; +static const unsigned char kat3341_persstr[] = { + 0x2b, 0x86, 0x1d, 0xb6, 0xd6, 0x22, 0xa6, 0xca, 0x2e, 0xe4, 0xa3, 0xeb, + 0x19, 0xfc, 0x54, 0x19, 0x48, 0xc3, 0xcd, 0x12, 0x02, 0xe5, 0x96, 0xa0, + 0x44, 0x81, 0xb5, 0x39, 0x49, 0xc8, 0xdc, 0xde, +}; +static const unsigned char kat3341_entropyinpr1[] = { + 0x06, 0x1a, 0xed, 0x91, 0xfe, 0x46, 0x28, 0x00, 0x9b, 0x0e, 0xf5, 0x96, + 0x30, 0xa6, 0x1a, 0x7f, 0xbf, 0xae, 0x33, 0xac, 0x06, 0xa0, 0x27, 0x09, +}; +static const unsigned char kat3341_addinpr1[] = {0}; +static const unsigned char kat3341_entropyinpr2[] = { + 0xdc, 0x84, 0x4c, 0x4e, 0x2a, 0xf7, 0x77, 0xdf, 0xa0, 0x24, 0xe2, 0xfb, + 0xc5, 0x40, 0xb2, 0x60, 0x2c, 0xde, 0x67, 0xb5, 0xf8, 0x20, 0xae, 0x79, +}; +static const unsigned char kat3341_addinpr2[] = {0}; +static const unsigned char kat3341_retbits[] = { + 0x5b, 0x93, 0xe5, 0x37, 0xb2, 0xcf, 0x46, 0xa9, 0x32, 0xa0, 0x60, 0xce, + 0xa1, 0x36, 0xb7, 0xac, 0x38, 0xee, 0x3e, 0x3d, 0x61, 0xed, 0xf1, 0x59, + 0xdb, 0x09, 0xb8, 0x45, 0xfe, 0x4c, 0x32, 0x8a, 0xae, 0xea, 0xbf, 0x5b, + 0x65, 0x04, 0xbd, 0x39, 0x1e, 0x13, 0x89, 0x5f, 0x2c, 0x58, 0xfa, 0x4d, + 0xce, 0x98, 0x6b, 0x87, 0x99, 0x1c, 0x98, 0xdf, 0x94, 0xa5, 0x48, 0x30, + 0x34, 0xb8, 0xb9, 0x4d, +}; +static const struct drbg_kat_pr_true kat3341_t = { + 10, kat3341_entropyin, kat3341_nonce, kat3341_persstr, + kat3341_entropyinpr1, kat3341_addinpr1, kat3341_entropyinpr2, + kat3341_addinpr2, kat3341_retbits +}; +static const struct drbg_kat kat3341 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3341_t +}; + +static const unsigned char kat3342_entropyin[] = { + 0x24, 0x8d, 0x73, 0xe3, 0x9d, 0x86, 0xad, 0x65, 0x51, 0x01, 0xe3, 0x63, + 0x38, 0x01, 0x51, 0xe9, 0x48, 0x27, 0xb6, 0x49, 0xbc, 0x85, 0x62, 0x82, +}; +static const unsigned char kat3342_nonce[] = { + 0xda, 0xf5, 0xd9, 0xd1, 0xad, 0x98, 0x93, 0x1f, 0x67, 0xa3, 0x60, 0x9e, + 0x17, 0x41, 0xbf, 0x3a, +}; +static const unsigned char kat3342_persstr[] = { + 0x21, 0x31, 0x0c, 0x14, 0x1c, 0xbf, 0xed, 0x62, 0x04, 0xb6, 0xe9, 0x28, + 0xc9, 0xe7, 0xee, 0x3a, 0x66, 0x40, 0x1c, 0xa3, 0xd0, 0x32, 0xa0, 0x6e, + 0x31, 0x67, 0xa9, 0xd9, 0x97, 0xb8, 0x4e, 0x27, +}; +static const unsigned char kat3342_entropyinpr1[] = { + 0x04, 0x79, 0xff, 0x68, 0xf1, 0x0d, 0x67, 0xff, 0x5b, 0x88, 0x45, 0xbf, + 0x75, 0x32, 0x0a, 0xd3, 0x43, 0x6a, 0x57, 0x1b, 0xcc, 0x76, 0x3f, 0x52, +}; +static const unsigned char kat3342_addinpr1[] = {0}; +static const unsigned char kat3342_entropyinpr2[] = { + 0x5e, 0x66, 0x89, 0xa7, 0xe9, 0x91, 0xb0, 0x23, 0xb9, 0x41, 0xbe, 0x2e, + 0xad, 0xad, 0xdd, 0x5b, 0xfb, 0x19, 0xa0, 0x40, 0x2b, 0x78, 0xa0, 0x4a, +}; +static const unsigned char kat3342_addinpr2[] = {0}; +static const unsigned char kat3342_retbits[] = { + 0x3d, 0xb5, 0x27, 0xad, 0x3a, 0x51, 0x94, 0x2c, 0x88, 0xaf, 0x34, 0x63, + 0x4b, 0x1b, 0x47, 0x16, 0x76, 0xa4, 0x9f, 0xc7, 0x93, 0xa7, 0xec, 0x4a, + 0xff, 0x97, 0xfc, 0xf8, 0xba, 0x49, 0xfa, 0xd3, 0x8b, 0x55, 0xab, 0xb9, + 0x60, 0x1d, 0x1f, 0x22, 0xdf, 0x9f, 0x93, 0xcb, 0x70, 0xc0, 0x90, 0x86, + 0xc6, 0x74, 0x3e, 0xab, 0x2e, 0x21, 0x0b, 0x54, 0x55, 0x48, 0x6f, 0x61, + 0x2d, 0xc2, 0x3c, 0x31, +}; +static const struct drbg_kat_pr_true kat3342_t = { + 11, kat3342_entropyin, kat3342_nonce, kat3342_persstr, + kat3342_entropyinpr1, kat3342_addinpr1, kat3342_entropyinpr2, + kat3342_addinpr2, kat3342_retbits +}; +static const struct drbg_kat kat3342 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3342_t +}; + +static const unsigned char kat3343_entropyin[] = { + 0x4a, 0x65, 0x39, 0x7a, 0xac, 0xf8, 0xb2, 0xd5, 0xc8, 0x5c, 0xcf, 0x6c, + 0x3c, 0x85, 0xe9, 0xee, 0x35, 0xe9, 0xbc, 0x97, 0xf6, 0x54, 0xf9, 0x9d, +}; +static const unsigned char kat3343_nonce[] = { + 0x18, 0x60, 0x0a, 0x32, 0x9c, 0xd1, 0xf9, 0x62, 0x92, 0x61, 0xb3, 0x05, + 0x31, 0x67, 0x03, 0xdb, +}; +static const unsigned char kat3343_persstr[] = { + 0x2e, 0x9f, 0xf1, 0x17, 0x0a, 0x1d, 0x62, 0x9f, 0x13, 0x7f, 0xb2, 0x34, + 0xf7, 0x74, 0x8a, 0xc1, 0x71, 0x10, 0x17, 0xbc, 0x14, 0x0f, 0xf9, 0xed, + 0xe9, 0x3f, 0xdf, 0x6f, 0x45, 0x21, 0xec, 0x7e, +}; +static const unsigned char kat3343_entropyinpr1[] = { + 0x7b, 0x63, 0xb6, 0xed, 0x68, 0xdc, 0xbb, 0x20, 0xa0, 0x9f, 0x47, 0x9a, + 0x5f, 0x9b, 0x79, 0x7f, 0x8c, 0x0b, 0x9b, 0x1e, 0x7f, 0xca, 0xcd, 0xb6, +}; +static const unsigned char kat3343_addinpr1[] = {0}; +static const unsigned char kat3343_entropyinpr2[] = { + 0x61, 0x4b, 0x58, 0xf2, 0x49, 0xce, 0x4e, 0x0d, 0x18, 0x40, 0xc8, 0xec, + 0x62, 0x0c, 0x05, 0xe0, 0x38, 0x4d, 0x3c, 0x0c, 0x48, 0x93, 0x86, 0xe2, +}; +static const unsigned char kat3343_addinpr2[] = {0}; +static const unsigned char kat3343_retbits[] = { + 0xf9, 0x7f, 0xf4, 0xd8, 0xb1, 0x44, 0x74, 0x6f, 0x79, 0x44, 0xe6, 0x9a, + 0xa1, 0x07, 0x24, 0x1c, 0xa5, 0xb6, 0xe6, 0x7c, 0xc2, 0x84, 0x43, 0xa8, + 0xb0, 0x15, 0x09, 0xb1, 0xca, 0xd3, 0xa0, 0xab, 0x42, 0x72, 0xb8, 0xc9, + 0x98, 0xbc, 0xc5, 0x45, 0x5a, 0xdd, 0xec, 0x52, 0xae, 0x97, 0x10, 0x42, + 0xf1, 0xba, 0xea, 0x37, 0xa2, 0xc7, 0xda, 0x2c, 0x87, 0xa5, 0xad, 0xf0, + 0x41, 0x04, 0xb8, 0xcc, +}; +static const struct drbg_kat_pr_true kat3343_t = { + 12, kat3343_entropyin, kat3343_nonce, kat3343_persstr, + kat3343_entropyinpr1, kat3343_addinpr1, kat3343_entropyinpr2, + kat3343_addinpr2, kat3343_retbits +}; +static const struct drbg_kat kat3343 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3343_t +}; + +static const unsigned char kat3344_entropyin[] = { + 0x01, 0xbe, 0x00, 0xdc, 0xc4, 0xa2, 0xb5, 0xea, 0x92, 0x22, 0x3c, 0x2d, + 0x17, 0xde, 0x9f, 0x50, 0xda, 0x37, 0xa5, 0x1e, 0x1c, 0x5c, 0xa4, 0x20, +}; +static const unsigned char kat3344_nonce[] = { + 0xb4, 0xca, 0x36, 0x3e, 0xee, 0xd8, 0x93, 0x29, 0xa4, 0x94, 0x01, 0x7e, + 0xfa, 0xa4, 0xb7, 0xd8, +}; +static const unsigned char kat3344_persstr[] = { + 0x58, 0x65, 0x8f, 0x38, 0xa2, 0xa7, 0x9e, 0xc9, 0xbe, 0x8d, 0x54, 0xcf, + 0xfa, 0x4c, 0x88, 0x8c, 0x16, 0xd7, 0x4e, 0xdd, 0x0f, 0x30, 0xf3, 0xbe, + 0x4c, 0x42, 0xe8, 0xcc, 0x28, 0x8c, 0xb8, 0x2e, +}; +static const unsigned char kat3344_entropyinpr1[] = { + 0x94, 0x09, 0x4e, 0x9b, 0xce, 0x3d, 0xd1, 0x75, 0xc4, 0x7f, 0xfd, 0xac, + 0xac, 0x65, 0x12, 0x35, 0xae, 0xc4, 0x5e, 0xb5, 0x2f, 0x31, 0x5f, 0x3d, +}; +static const unsigned char kat3344_addinpr1[] = {0}; +static const unsigned char kat3344_entropyinpr2[] = { + 0x11, 0xcb, 0xb3, 0xa9, 0x60, 0xa9, 0x97, 0xe6, 0x4b, 0x57, 0x23, 0x36, + 0x53, 0x49, 0x7c, 0x35, 0x3c, 0xd9, 0x2b, 0x01, 0x81, 0x7f, 0x1e, 0x28, +}; +static const unsigned char kat3344_addinpr2[] = {0}; +static const unsigned char kat3344_retbits[] = { + 0xa7, 0x28, 0x2e, 0xc7, 0x3f, 0xac, 0x8d, 0x2f, 0xc8, 0x74, 0x89, 0x29, + 0xe1, 0xa3, 0xe3, 0x5e, 0x68, 0x65, 0x45, 0x20, 0x35, 0xbe, 0xb5, 0x3d, + 0x8a, 0xe8, 0x1d, 0xe0, 0xc6, 0x87, 0x20, 0x55, 0x16, 0x10, 0x4a, 0x08, + 0x31, 0x3f, 0xf6, 0xdb, 0xc3, 0xa2, 0x82, 0x4e, 0x7e, 0x74, 0x38, 0x2f, + 0xe1, 0xc1, 0x6e, 0x9e, 0x4e, 0xa6, 0x38, 0x35, 0x73, 0x50, 0x33, 0x40, + 0x50, 0xb0, 0xd7, 0x04, +}; +static const struct drbg_kat_pr_true kat3344_t = { + 13, kat3344_entropyin, kat3344_nonce, kat3344_persstr, + kat3344_entropyinpr1, kat3344_addinpr1, kat3344_entropyinpr2, + kat3344_addinpr2, kat3344_retbits +}; +static const struct drbg_kat kat3344 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3344_t +}; + +static const unsigned char kat3345_entropyin[] = { + 0x76, 0x2e, 0x5a, 0x59, 0x5e, 0xc9, 0x81, 0xda, 0x51, 0x86, 0xf2, 0x66, + 0x7a, 0xba, 0x37, 0xac, 0xa5, 0x0d, 0x11, 0x6d, 0x0c, 0x68, 0x92, 0x89, +}; +static const unsigned char kat3345_nonce[] = { + 0x20, 0x3a, 0x94, 0xd0, 0xa4, 0x92, 0x93, 0xce, 0x76, 0x2e, 0x8e, 0x8e, + 0x8f, 0x96, 0xcf, 0x1c, +}; +static const unsigned char kat3345_persstr[] = { + 0xe3, 0x17, 0x98, 0xcc, 0xa7, 0x24, 0x23, 0x99, 0x97, 0xc0, 0xe1, 0x14, + 0xc6, 0x45, 0x66, 0x5a, 0xea, 0xeb, 0xf0, 0x2f, 0x9c, 0x96, 0x03, 0x0e, + 0x1b, 0x19, 0x39, 0x0c, 0x63, 0xe8, 0x34, 0x1d, +}; +static const unsigned char kat3345_entropyinpr1[] = { + 0x87, 0x39, 0xe1, 0xf7, 0xd7, 0xe3, 0x47, 0x81, 0x9f, 0xa2, 0x4b, 0x03, + 0x68, 0xec, 0xcf, 0xa8, 0xad, 0x3c, 0x60, 0x22, 0x72, 0x4f, 0x59, 0xf4, +}; +static const unsigned char kat3345_addinpr1[] = {0}; +static const unsigned char kat3345_entropyinpr2[] = { + 0x65, 0x5e, 0xbd, 0x1d, 0x57, 0x8e, 0x43, 0xd8, 0x8a, 0x36, 0x2d, 0x9f, + 0x3f, 0x4f, 0xc0, 0xf0, 0xac, 0x84, 0x64, 0x45, 0x68, 0x77, 0x90, 0x79, +}; +static const unsigned char kat3345_addinpr2[] = {0}; +static const unsigned char kat3345_retbits[] = { + 0x6e, 0xdd, 0x34, 0xb0, 0x11, 0x1a, 0xd2, 0xdf, 0x8a, 0xe4, 0x7e, 0x4d, + 0xc6, 0x8f, 0x08, 0x82, 0xf0, 0x8a, 0xf2, 0xef, 0xe4, 0x18, 0x07, 0xe0, + 0x29, 0x6c, 0x50, 0xc2, 0xc4, 0x56, 0x8c, 0x02, 0x5c, 0xeb, 0x8c, 0xbe, + 0x6d, 0xe2, 0x89, 0x19, 0x0d, 0x75, 0x99, 0xc2, 0xf3, 0x80, 0x13, 0x0d, + 0x07, 0xd7, 0x8b, 0x95, 0xaa, 0x6e, 0x6f, 0xc6, 0xb5, 0xcd, 0x1e, 0x6f, + 0xcc, 0x81, 0xb2, 0x66, +}; +static const struct drbg_kat_pr_true kat3345_t = { + 14, kat3345_entropyin, kat3345_nonce, kat3345_persstr, + kat3345_entropyinpr1, kat3345_addinpr1, kat3345_entropyinpr2, + kat3345_addinpr2, kat3345_retbits +}; +static const struct drbg_kat kat3345 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 0, 64, &kat3345_t +}; + +static const unsigned char kat3346_entropyin[] = { + 0x5c, 0xf3, 0x47, 0x2c, 0x83, 0xb4, 0xa9, 0x0c, 0x6b, 0x5f, 0x34, 0x9c, + 0xa2, 0xf9, 0xbd, 0xe4, 0xf7, 0xff, 0x42, 0xf3, 0x04, 0x67, 0x57, 0x13, +}; +static const unsigned char kat3346_nonce[] = { + 0x6d, 0x2f, 0xc8, 0xc1, 0xe3, 0xae, 0x56, 0x7f, 0xb9, 0xd2, 0x23, 0x84, + 0x70, 0xa9, 0x82, 0x49, +}; +static const unsigned char kat3346_persstr[] = { + 0xc9, 0xc7, 0xab, 0x32, 0xc6, 0x18, 0xa2, 0x66, 0x06, 0x25, 0xc8, 0x15, + 0x25, 0x0f, 0x46, 0xe8, 0x09, 0x7d, 0xdc, 0xa0, 0x38, 0x18, 0x81, 0x75, + 0x97, 0x04, 0xf9, 0x33, 0x38, 0x3e, 0x8d, 0xa7, +}; +static const unsigned char kat3346_entropyinpr1[] = { + 0x99, 0xbd, 0x71, 0xbc, 0xd4, 0x82, 0xcf, 0x4c, 0xcc, 0x84, 0x9b, 0x9d, + 0x3c, 0xbc, 0xc0, 0x52, 0x9b, 0xf1, 0x61, 0xd5, 0x05, 0x6d, 0x11, 0xf8, +}; +static const unsigned char kat3346_addinpr1[] = { + 0x1c, 0x34, 0xe8, 0x15, 0xf3, 0xa3, 0xbc, 0xd7, 0x1f, 0xe0, 0x8b, 0xd7, + 0x63, 0x3e, 0xb7, 0x08, 0xaf, 0x86, 0x10, 0x4d, 0x0e, 0x49, 0x9a, 0x4b, + 0xa1, 0x28, 0x88, 0xd6, 0xd1, 0xee, 0x57, 0x0f, +}; +static const unsigned char kat3346_entropyinpr2[] = { + 0xe4, 0x60, 0xda, 0xfd, 0x8b, 0x32, 0xa9, 0x6e, 0xc5, 0x02, 0x16, 0xb0, + 0xfa, 0x91, 0x41, 0x9e, 0x77, 0x17, 0xf5, 0x0d, 0xf6, 0x6a, 0xc7, 0xe0, +}; +static const unsigned char kat3346_addinpr2[] = { + 0x22, 0x1a, 0x56, 0x80, 0xb2, 0x50, 0x18, 0xb2, 0xa5, 0x3f, 0x5e, 0x1d, + 0x0a, 0x7b, 0x19, 0xb0, 0x4c, 0xaf, 0x7b, 0x25, 0x58, 0x79, 0x3d, 0xbe, + 0x36, 0xbb, 0xab, 0xca, 0xea, 0xb8, 0xbc, 0x8e, +}; +static const unsigned char kat3346_retbits[] = { + 0x29, 0x43, 0x3a, 0xe6, 0xda, 0x5e, 0xff, 0x61, 0x61, 0x44, 0x9a, 0x2f, + 0xaf, 0x74, 0x91, 0xa4, 0x72, 0x54, 0x3a, 0x38, 0x29, 0x39, 0x5c, 0x19, + 0x5b, 0x93, 0x28, 0x6a, 0x25, 0x57, 0x00, 0x3c, 0x07, 0x0e, 0x60, 0xbc, + 0x37, 0x7a, 0x5e, 0x6e, 0x89, 0x1a, 0x9e, 0x46, 0xb7, 0xc5, 0x34, 0x02, + 0x68, 0xaf, 0xf9, 0x89, 0xf8, 0x6f, 0x5a, 0x6a, 0x32, 0x24, 0x02, 0x1c, + 0x37, 0x1e, 0x8d, 0x11, +}; +static const struct drbg_kat_pr_true kat3346_t = { + 0, kat3346_entropyin, kat3346_nonce, kat3346_persstr, + kat3346_entropyinpr1, kat3346_addinpr1, kat3346_entropyinpr2, + kat3346_addinpr2, kat3346_retbits +}; +static const struct drbg_kat kat3346 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3346_t +}; + +static const unsigned char kat3347_entropyin[] = { + 0x7d, 0x97, 0x11, 0x81, 0x37, 0xbd, 0xd3, 0xeb, 0x7c, 0x27, 0xc5, 0x57, + 0x70, 0xb2, 0xdf, 0xb3, 0x0d, 0xda, 0x66, 0x8e, 0xfa, 0xea, 0x5c, 0x42, +}; +static const unsigned char kat3347_nonce[] = { + 0x6d, 0x30, 0x04, 0xa2, 0x98, 0xfc, 0x50, 0xba, 0xd2, 0xa6, 0xa1, 0x65, + 0xf3, 0xc4, 0x9e, 0x6d, +}; +static const unsigned char kat3347_persstr[] = { + 0xd4, 0xf4, 0xa0, 0x32, 0x80, 0xcf, 0x33, 0xdd, 0xd4, 0x15, 0xda, 0xcf, + 0x43, 0x01, 0x7e, 0x68, 0x78, 0x9a, 0xbb, 0x15, 0x2f, 0x06, 0x79, 0x5e, + 0x24, 0x7e, 0xbe, 0x03, 0xb8, 0xd8, 0x29, 0xfb, +}; +static const unsigned char kat3347_entropyinpr1[] = { + 0x27, 0x3f, 0x10, 0xd9, 0x00, 0x43, 0x80, 0x6a, 0x6a, 0x9d, 0x73, 0x2e, + 0x44, 0x30, 0xdf, 0x52, 0xbd, 0xcb, 0x8a, 0xfc, 0xfc, 0xe6, 0xc9, 0x83, +}; +static const unsigned char kat3347_addinpr1[] = { + 0xa1, 0x3d, 0xf7, 0x5d, 0x2a, 0x2c, 0x49, 0x60, 0x9f, 0x0e, 0x06, 0x47, + 0x07, 0xe7, 0x71, 0xe9, 0xe4, 0xad, 0x67, 0x00, 0xfd, 0xc5, 0x9b, 0x11, + 0x59, 0x2b, 0x17, 0x34, 0x04, 0xbf, 0x02, 0x59, +}; +static const unsigned char kat3347_entropyinpr2[] = { + 0x33, 0xa1, 0x18, 0x24, 0xc6, 0x9a, 0x4c, 0xdc, 0xb0, 0xec, 0x46, 0xb0, + 0xe3, 0xae, 0xb0, 0x1b, 0x82, 0x47, 0x51, 0x2f, 0x3c, 0x3d, 0x0c, 0x93, +}; +static const unsigned char kat3347_addinpr2[] = { + 0x89, 0xc3, 0xf3, 0x72, 0x10, 0x49, 0x97, 0x55, 0xab, 0x16, 0xe9, 0xfe, + 0x09, 0x95, 0xbf, 0x0e, 0x8a, 0x2f, 0x05, 0x30, 0x9b, 0x1e, 0x42, 0xf3, + 0x37, 0xe5, 0x3b, 0x95, 0x6f, 0x89, 0x26, 0xdf, +}; +static const unsigned char kat3347_retbits[] = { + 0xdc, 0x4b, 0x4f, 0xf2, 0x2e, 0x96, 0x83, 0x96, 0xc5, 0xa7, 0x18, 0x94, + 0x03, 0x30, 0xb2, 0xf0, 0x81, 0x46, 0x1a, 0x5b, 0x3d, 0xa1, 0x5f, 0xab, + 0xe5, 0xe5, 0xda, 0xdf, 0x8b, 0xef, 0xde, 0x6c, 0xc9, 0x60, 0xf0, 0x91, + 0xb0, 0x2c, 0xe5, 0xa7, 0xd3, 0xe7, 0x5b, 0x5e, 0x90, 0x28, 0x95, 0x59, + 0x05, 0x11, 0x36, 0x47, 0xb7, 0x7f, 0x7b, 0x03, 0x0f, 0xd0, 0xf7, 0x70, + 0x6b, 0x2c, 0x9c, 0x2e, +}; +static const struct drbg_kat_pr_true kat3347_t = { + 1, kat3347_entropyin, kat3347_nonce, kat3347_persstr, + kat3347_entropyinpr1, kat3347_addinpr1, kat3347_entropyinpr2, + kat3347_addinpr2, kat3347_retbits +}; +static const struct drbg_kat kat3347 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3347_t +}; + +static const unsigned char kat3348_entropyin[] = { + 0x83, 0x2d, 0x0e, 0x92, 0x54, 0x0e, 0x3f, 0x7f, 0xb5, 0xcd, 0x7b, 0xb3, + 0xf4, 0x29, 0x98, 0x27, 0xa2, 0xb4, 0xaf, 0x76, 0x29, 0x87, 0xa0, 0xd5, +}; +static const unsigned char kat3348_nonce[] = { + 0x14, 0x15, 0x5a, 0x93, 0x84, 0xe6, 0x5f, 0x12, 0xb7, 0x53, 0x3d, 0xce, + 0x65, 0xcc, 0x22, 0xcb, +}; +static const unsigned char kat3348_persstr[] = { + 0xf9, 0x7e, 0xd0, 0xb9, 0xf7, 0x3d, 0xef, 0x68, 0x40, 0x5f, 0x90, 0x6a, + 0xbd, 0xdc, 0xab, 0x1f, 0xfa, 0x90, 0x8c, 0xc0, 0x6d, 0x30, 0x0f, 0x0b, + 0x5c, 0x76, 0x38, 0x0b, 0xb9, 0x31, 0x05, 0x88, +}; +static const unsigned char kat3348_entropyinpr1[] = { + 0xbe, 0x09, 0xed, 0x1c, 0xfe, 0x95, 0xe3, 0xee, 0x64, 0xc6, 0x63, 0x7f, + 0x32, 0x5c, 0x67, 0xeb, 0x0c, 0x41, 0x79, 0x20, 0xfa, 0x58, 0xe5, 0x78, +}; +static const unsigned char kat3348_addinpr1[] = { + 0x48, 0x05, 0xbc, 0x59, 0xf6, 0xc3, 0x0d, 0x29, 0x5d, 0x2e, 0xa4, 0x59, + 0x5a, 0xf0, 0x67, 0x1b, 0x85, 0x04, 0xe1, 0x80, 0xfb, 0xfb, 0x87, 0x2b, + 0x1e, 0x79, 0xc4, 0x2b, 0x78, 0x3e, 0xee, 0x1d, +}; +static const unsigned char kat3348_entropyinpr2[] = { + 0xbc, 0xe0, 0x9a, 0x32, 0x15, 0x87, 0x36, 0x32, 0xd2, 0x16, 0x50, 0xe2, + 0x12, 0x43, 0x70, 0xb4, 0xb5, 0x4f, 0x7b, 0x6c, 0x32, 0x4c, 0xc3, 0x56, +}; +static const unsigned char kat3348_addinpr2[] = { + 0x77, 0x31, 0x31, 0xc5, 0x4a, 0xdb, 0x91, 0x48, 0x47, 0xa3, 0xd9, 0xaa, + 0xf0, 0x1e, 0xac, 0x25, 0xdd, 0x80, 0x41, 0x76, 0xe0, 0x9f, 0xc0, 0xb6, + 0xd5, 0x50, 0x38, 0x8d, 0x44, 0xdf, 0x1c, 0x43, +}; +static const unsigned char kat3348_retbits[] = { + 0x31, 0xcc, 0x5d, 0xb6, 0x5c, 0xbb, 0xe3, 0x7b, 0xf4, 0x8b, 0xcc, 0x13, + 0xb8, 0x78, 0x4d, 0xeb, 0x34, 0x9b, 0x86, 0xf7, 0xb4, 0xaa, 0x99, 0x51, + 0x3c, 0x8e, 0x84, 0x82, 0xc4, 0x8b, 0x4b, 0xa4, 0x6e, 0x53, 0xc7, 0xcb, + 0x94, 0x91, 0xe4, 0x14, 0x29, 0x5b, 0x37, 0x24, 0x71, 0x24, 0x78, 0x48, + 0xd7, 0x7e, 0x94, 0x44, 0x3e, 0x61, 0xb3, 0x3c, 0x96, 0xb5, 0xab, 0xe8, + 0x24, 0x85, 0xa7, 0x22, +}; +static const struct drbg_kat_pr_true kat3348_t = { + 2, kat3348_entropyin, kat3348_nonce, kat3348_persstr, + kat3348_entropyinpr1, kat3348_addinpr1, kat3348_entropyinpr2, + kat3348_addinpr2, kat3348_retbits +}; +static const struct drbg_kat kat3348 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3348_t +}; + +static const unsigned char kat3349_entropyin[] = { + 0xda, 0x49, 0x7e, 0x17, 0xce, 0xca, 0xa3, 0xe1, 0xe6, 0x83, 0xb1, 0x42, + 0x70, 0xc9, 0x3f, 0xe6, 0xec, 0x5c, 0x8c, 0x8a, 0x27, 0x5d, 0x23, 0xc8, +}; +static const unsigned char kat3349_nonce[] = { + 0x4c, 0x79, 0xbc, 0xe5, 0x95, 0x26, 0x86, 0x14, 0xce, 0xd6, 0x6d, 0x2d, + 0x1d, 0x0d, 0xc0, 0x57, +}; +static const unsigned char kat3349_persstr[] = { + 0x43, 0xf9, 0xdb, 0xf0, 0x49, 0xb5, 0xb8, 0x0f, 0xd3, 0x54, 0xca, 0x48, + 0x53, 0x1d, 0x55, 0xac, 0x01, 0x46, 0x03, 0x12, 0xd8, 0xa8, 0x81, 0xf2, + 0xa9, 0x3a, 0x58, 0xc0, 0xbe, 0x2b, 0x70, 0x54, +}; +static const unsigned char kat3349_entropyinpr1[] = { + 0x9d, 0xf1, 0xa1, 0xb6, 0xec, 0x71, 0x4a, 0xae, 0x85, 0x99, 0x3d, 0x5c, + 0x14, 0x8a, 0x96, 0x8f, 0x75, 0x2d, 0x7e, 0x69, 0x4d, 0x19, 0xea, 0xb6, +}; +static const unsigned char kat3349_addinpr1[] = { + 0xe4, 0x18, 0xe0, 0xa4, 0x2e, 0x48, 0x77, 0x96, 0xa9, 0x82, 0xa0, 0x98, + 0x2c, 0xc4, 0x69, 0xc8, 0x5a, 0xf3, 0xec, 0x64, 0x9d, 0xbb, 0x13, 0x67, + 0x69, 0xe9, 0xd0, 0x54, 0x4d, 0x7e, 0xe8, 0x90, +}; +static const unsigned char kat3349_entropyinpr2[] = { + 0xdc, 0xd5, 0xbb, 0x25, 0x6f, 0xc0, 0xf4, 0x13, 0xde, 0xea, 0x9b, 0xb8, + 0x09, 0x1a, 0x90, 0x82, 0xff, 0xdd, 0x2d, 0x90, 0x3c, 0x59, 0x65, 0xaf, +}; +static const unsigned char kat3349_addinpr2[] = { + 0x88, 0x36, 0xf4, 0x86, 0xad, 0x00, 0xf3, 0x90, 0xd8, 0x69, 0x7a, 0xe6, + 0x9e, 0x95, 0xa7, 0xff, 0x06, 0xa2, 0xaa, 0x99, 0x9b, 0xdb, 0xb1, 0x2d, + 0x4c, 0x22, 0xa7, 0x32, 0x21, 0xc8, 0x4c, 0xc5, +}; +static const unsigned char kat3349_retbits[] = { + 0xcc, 0x35, 0xb9, 0xf4, 0x0b, 0x15, 0x34, 0xc7, 0x88, 0x45, 0x03, 0xb1, + 0x17, 0xe3, 0x6a, 0xb7, 0x85, 0x3f, 0xb7, 0xe4, 0x98, 0x50, 0x6c, 0xf9, + 0xe2, 0xef, 0x4f, 0x6e, 0x62, 0xc6, 0x3e, 0x15, 0xd3, 0xda, 0x02, 0x2b, + 0x7b, 0xf1, 0xb0, 0x47, 0x53, 0x9b, 0x9f, 0x96, 0xc5, 0x7a, 0xee, 0x25, + 0x9c, 0x38, 0x7a, 0x56, 0xc5, 0x9b, 0x2c, 0xc2, 0xc7, 0x22, 0x56, 0x09, + 0x5e, 0x7e, 0xd5, 0x95, +}; +static const struct drbg_kat_pr_true kat3349_t = { + 3, kat3349_entropyin, kat3349_nonce, kat3349_persstr, + kat3349_entropyinpr1, kat3349_addinpr1, kat3349_entropyinpr2, + kat3349_addinpr2, kat3349_retbits +}; +static const struct drbg_kat kat3349 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3349_t +}; + +static const unsigned char kat3350_entropyin[] = { + 0xdb, 0xf8, 0xdc, 0xb8, 0x18, 0x34, 0xfc, 0x9f, 0xef, 0x2a, 0x41, 0xff, + 0xb0, 0x17, 0x14, 0x29, 0x20, 0x0e, 0x84, 0xa5, 0xe0, 0x01, 0xa6, 0x08, +}; +static const unsigned char kat3350_nonce[] = { + 0xb4, 0x67, 0x3b, 0xbe, 0xdc, 0x0e, 0x47, 0xf7, 0xe9, 0x7a, 0xcc, 0x06, + 0x27, 0x5c, 0x00, 0xa5, +}; +static const unsigned char kat3350_persstr[] = { + 0xd5, 0x8c, 0xd9, 0x92, 0x95, 0xcf, 0x42, 0xd4, 0xf5, 0x9b, 0xaa, 0x82, + 0xce, 0x2e, 0x60, 0x2d, 0xb1, 0x6c, 0x79, 0x99, 0xe7, 0xbd, 0xc4, 0xac, + 0xdd, 0xa9, 0xcc, 0x65, 0xcb, 0x21, 0x96, 0x78, +}; +static const unsigned char kat3350_entropyinpr1[] = { + 0x62, 0x94, 0xa8, 0x09, 0x62, 0x4a, 0x69, 0x9b, 0xfa, 0xd9, 0x97, 0x77, + 0xeb, 0x8e, 0xa6, 0xcc, 0x56, 0xe8, 0xb9, 0x14, 0xc7, 0xc8, 0x6e, 0xd9, +}; +static const unsigned char kat3350_addinpr1[] = { + 0x49, 0x67, 0x78, 0x38, 0x1d, 0x15, 0xff, 0x17, 0x48, 0x25, 0x0c, 0x29, + 0x83, 0x7e, 0xa5, 0xd0, 0x60, 0xa2, 0x44, 0x6a, 0xf3, 0x69, 0x13, 0x65, + 0x4a, 0x1e, 0x00, 0xf2, 0x6c, 0x72, 0x2c, 0x0d, +}; +static const unsigned char kat3350_entropyinpr2[] = { + 0xa3, 0x26, 0xc5, 0xe9, 0x21, 0x69, 0x20, 0xbf, 0xcb, 0xf8, 0x5b, 0x77, + 0x46, 0x10, 0xde, 0xf9, 0xdb, 0xa8, 0x3c, 0xbc, 0x23, 0xec, 0x47, 0xcf, +}; +static const unsigned char kat3350_addinpr2[] = { + 0x86, 0x2e, 0xa5, 0x81, 0xcf, 0x33, 0xa1, 0x44, 0x9b, 0x0c, 0x97, 0x44, + 0xd9, 0xc6, 0xa1, 0x96, 0x8d, 0x6a, 0x37, 0x9b, 0x1d, 0x22, 0x8e, 0xfc, + 0x5a, 0x74, 0x97, 0x71, 0x31, 0x24, 0xd0, 0x7b, +}; +static const unsigned char kat3350_retbits[] = { + 0x1a, 0x5c, 0x0b, 0x1f, 0x6a, 0xfa, 0xfa, 0x39, 0x46, 0x6e, 0x8e, 0x59, + 0xec, 0xdd, 0x28, 0x85, 0x9c, 0xb5, 0x55, 0x45, 0x4e, 0x2f, 0xaa, 0x4b, + 0x33, 0x56, 0xfc, 0xc3, 0x6e, 0xbb, 0xec, 0x47, 0xa6, 0xb9, 0x1b, 0x54, + 0x29, 0x6d, 0xee, 0xa6, 0xf1, 0x1d, 0x69, 0x9e, 0x07, 0x9a, 0x6f, 0x14, + 0x12, 0xe7, 0x5c, 0xab, 0x22, 0xc1, 0x09, 0xbd, 0x92, 0xb1, 0x50, 0xa6, + 0x0a, 0xe2, 0xbe, 0x20, +}; +static const struct drbg_kat_pr_true kat3350_t = { + 4, kat3350_entropyin, kat3350_nonce, kat3350_persstr, + kat3350_entropyinpr1, kat3350_addinpr1, kat3350_entropyinpr2, + kat3350_addinpr2, kat3350_retbits +}; +static const struct drbg_kat kat3350 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3350_t +}; + +static const unsigned char kat3351_entropyin[] = { + 0x58, 0xbf, 0xbe, 0x83, 0x70, 0xaf, 0xd0, 0xd6, 0x3b, 0x5a, 0x1c, 0xd4, + 0xe8, 0x12, 0xcb, 0xb1, 0x5c, 0x26, 0x18, 0xce, 0x57, 0x48, 0x86, 0x1a, +}; +static const unsigned char kat3351_nonce[] = { + 0x0b, 0x50, 0x26, 0xc3, 0x95, 0x51, 0xf5, 0xf9, 0x90, 0xed, 0x02, 0x63, + 0x34, 0x73, 0xbd, 0x6f, +}; +static const unsigned char kat3351_persstr[] = { + 0x51, 0x2d, 0x64, 0xe6, 0xb8, 0xbd, 0x0b, 0x13, 0x78, 0x3f, 0x67, 0x3f, + 0x5a, 0x5c, 0xe7, 0xdc, 0xbf, 0x58, 0x34, 0x99, 0xb9, 0xb1, 0x83, 0x46, + 0xa5, 0xa4, 0xce, 0xc8, 0x2a, 0x9e, 0x35, 0x58, +}; +static const unsigned char kat3351_entropyinpr1[] = { + 0x85, 0x4b, 0x08, 0x40, 0x0d, 0x45, 0x5f, 0xde, 0x18, 0x5b, 0x37, 0x5f, + 0x96, 0x14, 0xea, 0x00, 0x3b, 0xef, 0x38, 0x83, 0x92, 0xd8, 0xbd, 0x3a, +}; +static const unsigned char kat3351_addinpr1[] = { + 0xa2, 0x8d, 0x77, 0x7c, 0x4e, 0xee, 0xa8, 0xc6, 0xb2, 0x6c, 0x19, 0x71, + 0x7e, 0x21, 0x88, 0xd3, 0x03, 0xfe, 0xcb, 0x4e, 0xf6, 0x3d, 0xa2, 0xa4, + 0x24, 0xa9, 0x68, 0x9a, 0xaa, 0x18, 0xd5, 0x04, +}; +static const unsigned char kat3351_entropyinpr2[] = { + 0xc5, 0x07, 0x3b, 0x46, 0x77, 0x6f, 0xca, 0x74, 0x28, 0x66, 0xe1, 0x49, + 0x7e, 0x9f, 0xa4, 0x74, 0x8f, 0xe7, 0xc9, 0x1f, 0x38, 0xad, 0xe2, 0x6c, +}; +static const unsigned char kat3351_addinpr2[] = { + 0x84, 0x43, 0x11, 0x49, 0xa9, 0xcc, 0x32, 0x26, 0x50, 0x1c, 0x0c, 0x68, + 0x37, 0xbd, 0xa0, 0xdf, 0xab, 0x00, 0x29, 0xf0, 0xce, 0xda, 0x0c, 0xad, + 0xa4, 0x92, 0xdc, 0xcb, 0xc0, 0x08, 0x30, 0x07, +}; +static const unsigned char kat3351_retbits[] = { + 0xd8, 0x73, 0xdf, 0xc9, 0x20, 0x23, 0x95, 0xb7, 0xb8, 0xb9, 0xee, 0x29, + 0x83, 0xe1, 0xd6, 0x07, 0x1a, 0x95, 0x74, 0x75, 0x40, 0xfb, 0xb6, 0xbb, + 0xcb, 0xeb, 0x72, 0xe6, 0x1c, 0x56, 0x1e, 0x39, 0xac, 0xc0, 0x1b, 0xc0, + 0x7b, 0x8e, 0x38, 0x42, 0xd8, 0x35, 0xd9, 0x3f, 0x43, 0x0c, 0x43, 0x48, + 0x39, 0x85, 0x29, 0x88, 0x81, 0xc2, 0x08, 0xfd, 0x08, 0x1c, 0x34, 0x0e, + 0x80, 0x49, 0x1a, 0xef, +}; +static const struct drbg_kat_pr_true kat3351_t = { + 5, kat3351_entropyin, kat3351_nonce, kat3351_persstr, + kat3351_entropyinpr1, kat3351_addinpr1, kat3351_entropyinpr2, + kat3351_addinpr2, kat3351_retbits +}; +static const struct drbg_kat kat3351 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3351_t +}; + +static const unsigned char kat3352_entropyin[] = { + 0x67, 0x16, 0x9d, 0xcd, 0xc3, 0x1f, 0xae, 0x15, 0x7b, 0x35, 0x63, 0x67, + 0x24, 0x82, 0xea, 0x0a, 0xf6, 0x23, 0x68, 0x62, 0x7f, 0xbc, 0x4f, 0x42, +}; +static const unsigned char kat3352_nonce[] = { + 0x8b, 0xf7, 0x4e, 0x01, 0x91, 0x16, 0x81, 0xe6, 0x44, 0x2f, 0x61, 0x90, + 0x34, 0x89, 0x20, 0xed, +}; +static const unsigned char kat3352_persstr[] = { + 0x8d, 0xbd, 0xd0, 0x22, 0xea, 0x36, 0x56, 0x66, 0x19, 0xf7, 0xe1, 0x86, + 0x72, 0xfc, 0x89, 0xa3, 0xba, 0xd8, 0x80, 0x49, 0xf1, 0x51, 0x39, 0x71, + 0xfa, 0x8e, 0x79, 0x8f, 0x37, 0x42, 0xcf, 0xfb, +}; +static const unsigned char kat3352_entropyinpr1[] = { + 0xef, 0xa4, 0x70, 0xb0, 0x7f, 0x71, 0xe4, 0x59, 0x69, 0x73, 0x03, 0x47, + 0x4d, 0xb2, 0x1e, 0xd0, 0x15, 0x1a, 0x1f, 0xa1, 0x13, 0xd5, 0x25, 0x81, +}; +static const unsigned char kat3352_addinpr1[] = { + 0xb1, 0xc1, 0xb2, 0x36, 0x55, 0x2e, 0xe6, 0x1c, 0x65, 0x67, 0xc8, 0x64, + 0xb7, 0x13, 0x73, 0x36, 0xfb, 0xce, 0x27, 0x0b, 0xc3, 0xa7, 0x9d, 0xc4, + 0x16, 0xef, 0xdc, 0x0a, 0x0c, 0x7b, 0x07, 0xd8, +}; +static const unsigned char kat3352_entropyinpr2[] = { + 0xb5, 0x88, 0xd3, 0x42, 0x94, 0x7c, 0xd5, 0x48, 0xf6, 0x71, 0x30, 0xe0, + 0xb4, 0x48, 0x50, 0xf8, 0xe2, 0x40, 0x36, 0x4f, 0x1c, 0x2b, 0x09, 0xd6, +}; +static const unsigned char kat3352_addinpr2[] = { + 0xee, 0x9d, 0x7d, 0x99, 0xda, 0x81, 0xf2, 0x75, 0x52, 0x6b, 0x2d, 0x23, + 0x63, 0x68, 0x6f, 0x94, 0xf9, 0x1f, 0x8c, 0xf3, 0xa0, 0x2a, 0x66, 0x7a, + 0x0c, 0x72, 0x45, 0x5d, 0xba, 0x3c, 0x3f, 0xb2, +}; +static const unsigned char kat3352_retbits[] = { + 0x08, 0xfa, 0x98, 0x2a, 0x06, 0x20, 0xfd, 0xa7, 0x05, 0x5f, 0xec, 0xbc, + 0x3f, 0x3b, 0x9c, 0x91, 0x4e, 0xf4, 0xc7, 0x7c, 0xf2, 0x8a, 0xeb, 0x21, + 0x27, 0xad, 0xaf, 0x63, 0x35, 0x95, 0x7b, 0x75, 0xd3, 0x89, 0xaf, 0x83, + 0x0f, 0x5d, 0xb4, 0x59, 0x3e, 0xd2, 0xaa, 0x22, 0xaa, 0x9a, 0x9d, 0x42, + 0x1d, 0xb0, 0x7b, 0x9f, 0xc4, 0x77, 0x24, 0x0a, 0x9b, 0x1a, 0xb3, 0x0e, + 0xd2, 0xc5, 0x42, 0xb2, +}; +static const struct drbg_kat_pr_true kat3352_t = { + 6, kat3352_entropyin, kat3352_nonce, kat3352_persstr, + kat3352_entropyinpr1, kat3352_addinpr1, kat3352_entropyinpr2, + kat3352_addinpr2, kat3352_retbits +}; +static const struct drbg_kat kat3352 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3352_t +}; + +static const unsigned char kat3353_entropyin[] = { + 0x51, 0xba, 0xcc, 0xfe, 0x17, 0x74, 0x31, 0xa0, 0x48, 0x7c, 0xee, 0x12, + 0xf7, 0x43, 0x8b, 0x99, 0x91, 0x06, 0x10, 0x9d, 0x98, 0x79, 0x56, 0xc1, +}; +static const unsigned char kat3353_nonce[] = { + 0x6e, 0xed, 0x6f, 0xcc, 0xf4, 0x0a, 0x7d, 0xa2, 0xfa, 0xa9, 0xdf, 0xb5, + 0x50, 0x0f, 0xf2, 0x4a, +}; +static const unsigned char kat3353_persstr[] = { + 0x59, 0x7f, 0x4d, 0xcc, 0x86, 0x07, 0x75, 0xfe, 0xd9, 0xdf, 0x51, 0x57, + 0x90, 0x76, 0x6d, 0xe0, 0xe5, 0x3c, 0x9d, 0x81, 0x7a, 0xf9, 0x6a, 0xd6, + 0x7d, 0x57, 0x22, 0xe1, 0x2f, 0x6e, 0xe5, 0xd5, +}; +static const unsigned char kat3353_entropyinpr1[] = { + 0xb7, 0x26, 0x1c, 0xe8, 0x53, 0x40, 0xe5, 0x71, 0x14, 0xb7, 0x13, 0x78, + 0xa0, 0x4c, 0x57, 0x8c, 0x1e, 0x99, 0xd5, 0x50, 0xe2, 0xf1, 0x25, 0x07, +}; +static const unsigned char kat3353_addinpr1[] = { + 0x5c, 0x58, 0xcb, 0xa6, 0xbd, 0x90, 0xec, 0xac, 0x56, 0xae, 0x71, 0xa1, + 0x5e, 0x75, 0xa0, 0xfb, 0x4b, 0x72, 0x3f, 0xa9, 0xa4, 0x6d, 0x5d, 0x6a, + 0x78, 0x64, 0xfd, 0x9a, 0x1f, 0x45, 0xa2, 0xf2, +}; +static const unsigned char kat3353_entropyinpr2[] = { + 0x83, 0x70, 0xd3, 0xdd, 0x3e, 0x1f, 0x34, 0x5d, 0xd8, 0x48, 0x33, 0x40, + 0x99, 0xd9, 0x02, 0x9a, 0xda, 0x14, 0x45, 0x55, 0xb8, 0x38, 0xb8, 0x63, +}; +static const unsigned char kat3353_addinpr2[] = { + 0xe6, 0x1e, 0x49, 0xc2, 0x55, 0x51, 0x0b, 0x79, 0x05, 0xf1, 0x25, 0x76, + 0xbd, 0x2f, 0xf2, 0x94, 0xb7, 0xd4, 0xe9, 0xb7, 0x1b, 0xf5, 0xe3, 0xfa, + 0x1f, 0x52, 0xb4, 0x17, 0x10, 0xc5, 0xd0, 0x36, +}; +static const unsigned char kat3353_retbits[] = { + 0x77, 0xa4, 0x80, 0x44, 0x6d, 0x5c, 0x3a, 0x78, 0x90, 0xf5, 0xf6, 0x64, + 0x29, 0x8a, 0xfc, 0x9a, 0xa0, 0x04, 0x17, 0x8c, 0x69, 0xa3, 0xe2, 0x6a, + 0xe5, 0x0f, 0x2e, 0xff, 0xc3, 0xf9, 0xb9, 0x4f, 0xb5, 0x35, 0xed, 0x01, + 0x55, 0x21, 0x8c, 0x7f, 0x57, 0xa0, 0x5c, 0xf2, 0x7f, 0xac, 0x80, 0x96, + 0x42, 0x13, 0x60, 0xac, 0x8d, 0x6d, 0x06, 0xa9, 0xd8, 0xa8, 0x9b, 0x76, + 0x96, 0x3c, 0x7f, 0xe4, +}; +static const struct drbg_kat_pr_true kat3353_t = { + 7, kat3353_entropyin, kat3353_nonce, kat3353_persstr, + kat3353_entropyinpr1, kat3353_addinpr1, kat3353_entropyinpr2, + kat3353_addinpr2, kat3353_retbits +}; +static const struct drbg_kat kat3353 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3353_t +}; + +static const unsigned char kat3354_entropyin[] = { + 0xf8, 0x87, 0x60, 0xbf, 0x6c, 0x92, 0x64, 0x82, 0xd5, 0x41, 0xdb, 0x3c, + 0xb2, 0xe8, 0x55, 0x6f, 0x84, 0x31, 0x4a, 0x30, 0xbf, 0xa5, 0x2c, 0xb0, +}; +static const unsigned char kat3354_nonce[] = { + 0xf7, 0x57, 0xff, 0xb7, 0x3c, 0x0f, 0x52, 0x34, 0x2f, 0x3c, 0xe9, 0x68, + 0x2a, 0x90, 0x38, 0x54, +}; +static const unsigned char kat3354_persstr[] = { + 0xc4, 0x55, 0x20, 0x6f, 0x25, 0x75, 0xd4, 0x8b, 0x03, 0x23, 0x80, 0x65, + 0xd0, 0x78, 0x5c, 0xbe, 0x8e, 0x40, 0xc6, 0x20, 0x42, 0xcc, 0xc0, 0xf9, + 0xc4, 0xbc, 0xe6, 0x69, 0x2d, 0x45, 0xc5, 0xfd, +}; +static const unsigned char kat3354_entropyinpr1[] = { + 0x53, 0x62, 0xce, 0xd8, 0xe3, 0xa4, 0x82, 0x6c, 0x67, 0xa7, 0x08, 0xa7, + 0xba, 0xc4, 0x66, 0x3c, 0x4f, 0xcb, 0x47, 0xdf, 0xaa, 0xbf, 0x88, 0xfa, +}; +static const unsigned char kat3354_addinpr1[] = { + 0x0d, 0xa9, 0x10, 0x9b, 0x01, 0xcc, 0xfb, 0x20, 0x07, 0x7d, 0x9f, 0xb5, + 0x7b, 0xf8, 0xd4, 0xc4, 0xb6, 0x95, 0xf5, 0x4a, 0x34, 0x0b, 0x3f, 0xb7, + 0x5f, 0x17, 0xad, 0xb4, 0xe7, 0x49, 0xcf, 0xd7, +}; +static const unsigned char kat3354_entropyinpr2[] = { + 0xd8, 0x7b, 0x82, 0x2c, 0x4d, 0x46, 0x9e, 0x81, 0x35, 0x6c, 0x35, 0x50, + 0x85, 0x59, 0xa9, 0xae, 0x1a, 0x41, 0xea, 0xe1, 0x41, 0x3c, 0x11, 0x9c, +}; +static const unsigned char kat3354_addinpr2[] = { + 0x20, 0x06, 0x3a, 0x53, 0xbd, 0x0f, 0xae, 0x0e, 0x4b, 0x78, 0x86, 0x51, + 0x62, 0x51, 0x84, 0x54, 0x54, 0x29, 0x89, 0xa8, 0x7d, 0x53, 0xea, 0x6c, + 0x3c, 0x6c, 0x67, 0x6b, 0x85, 0xb2, 0x45, 0xd9, +}; +static const unsigned char kat3354_retbits[] = { + 0xcf, 0x75, 0xeb, 0x0c, 0x05, 0x82, 0x73, 0x5f, 0x72, 0x19, 0xef, 0x2e, + 0x47, 0xb7, 0x20, 0x4f, 0x02, 0xbe, 0xe9, 0xc1, 0x34, 0xc5, 0x89, 0x47, + 0xd1, 0x8f, 0x16, 0xba, 0x22, 0x09, 0xc6, 0x95, 0x92, 0x77, 0x1d, 0x62, + 0x82, 0xad, 0x02, 0xf6, 0xda, 0x62, 0xd4, 0xe0, 0xab, 0x21, 0xd4, 0x6c, + 0x6f, 0x81, 0xcc, 0x17, 0x1b, 0x9e, 0x0b, 0xc0, 0x2f, 0xa0, 0xda, 0x84, + 0xd9, 0x9d, 0x46, 0x7c, +}; +static const struct drbg_kat_pr_true kat3354_t = { + 8, kat3354_entropyin, kat3354_nonce, kat3354_persstr, + kat3354_entropyinpr1, kat3354_addinpr1, kat3354_entropyinpr2, + kat3354_addinpr2, kat3354_retbits +}; +static const struct drbg_kat kat3354 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3354_t +}; + +static const unsigned char kat3355_entropyin[] = { + 0xdc, 0x51, 0x16, 0xd2, 0x23, 0x5b, 0x9c, 0xf3, 0x82, 0x25, 0x21, 0xaa, + 0x7a, 0xf3, 0x87, 0x9c, 0xca, 0x95, 0xfd, 0x2d, 0x1b, 0x5f, 0xc2, 0x91, +}; +static const unsigned char kat3355_nonce[] = { + 0x2e, 0xec, 0x8e, 0xb1, 0xcf, 0x05, 0xe2, 0x01, 0xfa, 0x34, 0x8a, 0x85, + 0xc7, 0xd8, 0x93, 0x20, +}; +static const unsigned char kat3355_persstr[] = { + 0x33, 0x9e, 0x80, 0x73, 0x53, 0x5a, 0xee, 0x3e, 0x85, 0x66, 0x5a, 0x8b, + 0x35, 0x2a, 0x8d, 0xfa, 0xd3, 0x7c, 0x3b, 0x1f, 0xe8, 0xb5, 0xa4, 0x31, + 0x2b, 0xa7, 0x75, 0x6c, 0x0a, 0x8d, 0xd8, 0x29, +}; +static const unsigned char kat3355_entropyinpr1[] = { + 0x2c, 0xba, 0xdf, 0xa1, 0xb4, 0x02, 0x51, 0x57, 0xd1, 0x26, 0xee, 0x56, + 0x16, 0x50, 0x15, 0x17, 0x3b, 0x6d, 0xbb, 0x4a, 0xb5, 0xdb, 0xd9, 0x47, +}; +static const unsigned char kat3355_addinpr1[] = { + 0x34, 0x36, 0xc6, 0xfa, 0xa6, 0x11, 0x1c, 0xce, 0x07, 0x76, 0xb2, 0x4a, + 0x06, 0xa2, 0x21, 0xb7, 0xe5, 0xcf, 0xa8, 0x33, 0x7a, 0x44, 0x47, 0x83, + 0xd2, 0x1a, 0x87, 0x80, 0x83, 0xda, 0x24, 0xed, +}; +static const unsigned char kat3355_entropyinpr2[] = { + 0xc7, 0x65, 0xf2, 0x54, 0x97, 0xbc, 0xa8, 0xdb, 0xe7, 0x37, 0xc8, 0x45, + 0x79, 0x0b, 0x95, 0x6f, 0xf4, 0xfb, 0x44, 0x2f, 0xe6, 0x72, 0xab, 0x37, +}; +static const unsigned char kat3355_addinpr2[] = { + 0x76, 0xb3, 0x3c, 0x5f, 0x9b, 0x32, 0x8e, 0xf9, 0xac, 0x51, 0x24, 0x18, + 0x04, 0x79, 0xff, 0x76, 0xc1, 0x90, 0x7e, 0xb9, 0xf9, 0x83, 0x17, 0x77, + 0xaf, 0x98, 0xd1, 0xf9, 0x55, 0x64, 0x30, 0xcb, +}; +static const unsigned char kat3355_retbits[] = { + 0xe7, 0x30, 0x37, 0x0d, 0x41, 0xde, 0x1a, 0xb0, 0x0c, 0x46, 0xfd, 0xb7, + 0x6a, 0x60, 0x71, 0xa6, 0x72, 0x2e, 0x89, 0xfe, 0x75, 0x3e, 0x82, 0x1d, + 0x15, 0xdf, 0x59, 0x27, 0xc6, 0xa8, 0x04, 0x0f, 0x50, 0x31, 0x03, 0xc0, + 0x25, 0x6c, 0x93, 0x60, 0xf1, 0x25, 0x65, 0x0e, 0x62, 0xcc, 0x01, 0xc2, + 0x1e, 0x67, 0x0e, 0x2a, 0x69, 0x9d, 0x53, 0x3b, 0xaf, 0x6c, 0xd4, 0x9c, + 0xc5, 0x3e, 0x86, 0x86, +}; +static const struct drbg_kat_pr_true kat3355_t = { + 9, kat3355_entropyin, kat3355_nonce, kat3355_persstr, + kat3355_entropyinpr1, kat3355_addinpr1, kat3355_entropyinpr2, + kat3355_addinpr2, kat3355_retbits +}; +static const struct drbg_kat kat3355 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3355_t +}; + +static const unsigned char kat3356_entropyin[] = { + 0x5d, 0x87, 0x45, 0x79, 0xea, 0x6c, 0xf4, 0x72, 0x2f, 0xfa, 0xf6, 0x04, + 0x48, 0x9d, 0xbe, 0xd9, 0xee, 0xf5, 0x6d, 0x82, 0xb1, 0x92, 0xc1, 0xb7, +}; +static const unsigned char kat3356_nonce[] = { + 0xd1, 0x08, 0x28, 0x0c, 0x33, 0x1d, 0xd9, 0xf8, 0x4c, 0x1d, 0x5b, 0xe2, + 0xd4, 0x31, 0xb2, 0x11, +}; +static const unsigned char kat3356_persstr[] = { + 0x31, 0x1c, 0xf5, 0xd8, 0x07, 0x42, 0x3c, 0x71, 0x6d, 0xd0, 0x16, 0xed, + 0xd1, 0x19, 0x8c, 0xc2, 0xc0, 0xf0, 0x68, 0x33, 0x1b, 0xe0, 0x87, 0xee, + 0x51, 0xbd, 0xc8, 0x42, 0x59, 0xe3, 0xf6, 0x77, +}; +static const unsigned char kat3356_entropyinpr1[] = { + 0x4c, 0xa7, 0x83, 0xfd, 0xca, 0x58, 0xcb, 0x8f, 0x37, 0xdc, 0x0b, 0x41, + 0x6d, 0xab, 0x82, 0xd1, 0x3a, 0x6a, 0x36, 0xdf, 0x95, 0xf0, 0x46, 0xda, +}; +static const unsigned char kat3356_addinpr1[] = { + 0x65, 0x96, 0x2c, 0x7e, 0xea, 0x0d, 0xc2, 0x67, 0xf3, 0x9c, 0xf3, 0x5a, + 0x22, 0x2c, 0xf0, 0x25, 0x5d, 0x8b, 0x1b, 0x21, 0x19, 0x25, 0xc6, 0xc7, + 0xf9, 0x5d, 0xdd, 0xcc, 0x7c, 0x03, 0xba, 0x19, +}; +static const unsigned char kat3356_entropyinpr2[] = { + 0x65, 0xb5, 0x3d, 0x2d, 0x1f, 0xc7, 0x3b, 0x6a, 0xa2, 0xc1, 0xff, 0x55, + 0x18, 0x78, 0xf6, 0x59, 0xd1, 0x36, 0x85, 0xbb, 0x3d, 0x3c, 0x7f, 0xf4, +}; +static const unsigned char kat3356_addinpr2[] = { + 0xd4, 0x7a, 0xe4, 0xb2, 0x1b, 0x26, 0xd7, 0xf7, 0x50, 0x94, 0x83, 0x59, + 0xa0, 0x4d, 0x9e, 0xdf, 0x8d, 0xb6, 0x2e, 0x86, 0x1b, 0xe4, 0x4f, 0x88, + 0x99, 0xf5, 0xe1, 0x57, 0x8c, 0xb1, 0x6a, 0xb4, +}; +static const unsigned char kat3356_retbits[] = { + 0x1f, 0x36, 0xa9, 0x3b, 0x7b, 0x93, 0x46, 0xf1, 0x29, 0xb0, 0x4b, 0x5e, + 0x28, 0x7d, 0xc9, 0xbe, 0xde, 0x9a, 0x84, 0xb7, 0x33, 0x0e, 0x99, 0xf2, + 0x85, 0xd6, 0x56, 0x9a, 0x0f, 0x38, 0x94, 0x25, 0x14, 0x1c, 0xa5, 0x5d, + 0x89, 0xfe, 0xf8, 0x38, 0x45, 0x87, 0x1a, 0x08, 0x8d, 0xe3, 0x1f, 0x9c, + 0xfe, 0x78, 0x5e, 0x77, 0xf8, 0x46, 0xe1, 0x7b, 0x3f, 0xd7, 0x1f, 0x94, + 0x72, 0xd5, 0x8d, 0xad, +}; +static const struct drbg_kat_pr_true kat3356_t = { + 10, kat3356_entropyin, kat3356_nonce, kat3356_persstr, + kat3356_entropyinpr1, kat3356_addinpr1, kat3356_entropyinpr2, + kat3356_addinpr2, kat3356_retbits +}; +static const struct drbg_kat kat3356 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3356_t +}; + +static const unsigned char kat3357_entropyin[] = { + 0x9e, 0x3b, 0x8a, 0xbc, 0x23, 0x6f, 0x74, 0xf4, 0xb4, 0x9a, 0xc3, 0x18, + 0xd0, 0x85, 0xd1, 0x66, 0xad, 0x71, 0x67, 0x56, 0xc1, 0x9a, 0xbe, 0x6b, +}; +static const unsigned char kat3357_nonce[] = { + 0x64, 0xbb, 0x43, 0x63, 0x52, 0xba, 0x73, 0x49, 0xf5, 0x7c, 0x1c, 0xd8, + 0xf3, 0x37, 0xd1, 0xe0, +}; +static const unsigned char kat3357_persstr[] = { + 0x1e, 0xee, 0xa7, 0x51, 0x75, 0x64, 0x8c, 0x96, 0x1a, 0x15, 0xef, 0x23, + 0x5e, 0x54, 0x1a, 0xb6, 0x65, 0xa3, 0x13, 0x7c, 0x52, 0x97, 0x36, 0x7c, + 0x52, 0xdb, 0x2a, 0xc2, 0xbd, 0x90, 0xc6, 0x75, +}; +static const unsigned char kat3357_entropyinpr1[] = { + 0xda, 0x4e, 0x94, 0x5c, 0x6f, 0xf8, 0x26, 0xad, 0xbf, 0x49, 0x24, 0x8c, + 0x56, 0xb7, 0x9b, 0x22, 0x4d, 0xe5, 0x00, 0x95, 0xbb, 0x87, 0x0b, 0x1e, +}; +static const unsigned char kat3357_addinpr1[] = { + 0x39, 0xd6, 0x04, 0x4b, 0xf7, 0x47, 0xaf, 0xaa, 0xaa, 0x0a, 0xde, 0xa6, + 0x4c, 0xd1, 0xbf, 0xf2, 0xda, 0x15, 0xb1, 0x4d, 0x70, 0x26, 0x82, 0xe2, + 0xdd, 0x63, 0x4a, 0xd6, 0x90, 0x19, 0xd7, 0x15, +}; +static const unsigned char kat3357_entropyinpr2[] = { + 0x80, 0x40, 0xca, 0x2e, 0xa5, 0xcc, 0x93, 0xa4, 0xa3, 0xae, 0x9f, 0x9a, + 0xe8, 0xe7, 0x4b, 0x27, 0x04, 0x84, 0x59, 0x8f, 0xd2, 0xaf, 0xe9, 0xaf, +}; +static const unsigned char kat3357_addinpr2[] = { + 0xaf, 0xd6, 0x72, 0xc2, 0xee, 0xf5, 0xfc, 0x34, 0xe0, 0x0a, 0x3d, 0x41, + 0x45, 0xf7, 0xfd, 0xd3, 0xba, 0xba, 0xe2, 0x65, 0xb8, 0x24, 0x32, 0x78, + 0x2e, 0x54, 0x4a, 0x51, 0xd8, 0xe5, 0xe8, 0xda, +}; +static const unsigned char kat3357_retbits[] = { + 0x97, 0x28, 0x3b, 0x30, 0xc2, 0x27, 0xcf, 0xa1, 0xba, 0x6f, 0xbc, 0xa6, + 0x57, 0xa8, 0x54, 0x58, 0x06, 0x14, 0x52, 0x46, 0x8c, 0xf1, 0x2d, 0xe6, + 0x2f, 0xaf, 0xfb, 0x31, 0x23, 0xb9, 0xc1, 0xc1, 0xc5, 0xec, 0xac, 0x16, + 0xb1, 0xd5, 0x54, 0xb9, 0xaf, 0x95, 0xaf, 0x0d, 0xe4, 0xb0, 0x09, 0x79, + 0x68, 0x3c, 0xfb, 0xb8, 0xea, 0xc0, 0x56, 0xd0, 0x0c, 0x57, 0x21, 0x10, + 0xcc, 0x6b, 0xb5, 0x2b, +}; +static const struct drbg_kat_pr_true kat3357_t = { + 11, kat3357_entropyin, kat3357_nonce, kat3357_persstr, + kat3357_entropyinpr1, kat3357_addinpr1, kat3357_entropyinpr2, + kat3357_addinpr2, kat3357_retbits +}; +static const struct drbg_kat kat3357 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3357_t +}; + +static const unsigned char kat3358_entropyin[] = { + 0xc0, 0xfe, 0xb9, 0xd1, 0xb2, 0x23, 0xa3, 0x06, 0x3e, 0x50, 0xa8, 0xde, + 0x8c, 0x13, 0x09, 0x02, 0xbf, 0x83, 0xad, 0xe8, 0x99, 0x9f, 0xad, 0x0b, +}; +static const unsigned char kat3358_nonce[] = { + 0x96, 0x31, 0x41, 0x89, 0x09, 0x13, 0x91, 0x25, 0xc0, 0x4c, 0x1c, 0x74, + 0x10, 0xbd, 0x70, 0x68, +}; +static const unsigned char kat3358_persstr[] = { + 0x3d, 0x5d, 0x88, 0x73, 0x44, 0x15, 0x5e, 0x4c, 0xa8, 0xb2, 0x9c, 0x9a, + 0x3d, 0x2d, 0xde, 0x0a, 0xad, 0x45, 0x5f, 0xb8, 0xf8, 0x9a, 0x24, 0x8d, + 0x8c, 0xcf, 0xba, 0xc6, 0x97, 0x96, 0x5a, 0x4a, +}; +static const unsigned char kat3358_entropyinpr1[] = { + 0x45, 0x32, 0x87, 0xf2, 0x3f, 0xc4, 0xd5, 0xd8, 0x9f, 0xd6, 0xce, 0xda, + 0x27, 0x64, 0x75, 0x5b, 0x7c, 0x65, 0x0a, 0x55, 0xb2, 0xa2, 0xa2, 0x82, +}; +static const unsigned char kat3358_addinpr1[] = { + 0x50, 0xe3, 0x6e, 0x23, 0x59, 0x7b, 0x42, 0x21, 0x5f, 0x50, 0xcc, 0xb5, + 0x52, 0x7c, 0x08, 0x06, 0xe6, 0x34, 0xe7, 0x58, 0xae, 0xc3, 0x5f, 0x46, + 0x16, 0xcd, 0x29, 0x3f, 0xf8, 0xac, 0x28, 0x8e, +}; +static const unsigned char kat3358_entropyinpr2[] = { + 0xa0, 0x2a, 0x38, 0x11, 0x90, 0xd1, 0x29, 0x99, 0xc9, 0xe9, 0x77, 0x81, + 0xb7, 0xdf, 0x16, 0xa8, 0xb6, 0xc4, 0x6c, 0x42, 0x63, 0xd4, 0xb1, 0x15, +}; +static const unsigned char kat3358_addinpr2[] = { + 0xf0, 0x13, 0x8a, 0x42, 0xb8, 0x31, 0x22, 0x41, 0x7c, 0xb8, 0xe6, 0x03, + 0x3e, 0x5b, 0x36, 0x8b, 0xea, 0xc6, 0xf2, 0x09, 0xe8, 0x12, 0x50, 0xb6, + 0xcc, 0xf7, 0x95, 0xe1, 0x76, 0xe8, 0xe5, 0x9d, +}; +static const unsigned char kat3358_retbits[] = { + 0xcf, 0xbf, 0xb8, 0xe3, 0x9c, 0x6d, 0xe9, 0xf0, 0xa9, 0x1a, 0xb2, 0x1a, + 0xca, 0x0c, 0x47, 0xc8, 0x88, 0x94, 0x5e, 0x34, 0xbb, 0xd3, 0xc3, 0x5b, + 0xbe, 0x47, 0x63, 0x3a, 0xc5, 0xaa, 0x76, 0xc3, 0xf9, 0xa8, 0x58, 0x0d, + 0xc1, 0xc6, 0x7f, 0x24, 0x51, 0x71, 0xeb, 0xe7, 0xcf, 0x0b, 0xd3, 0xf1, + 0xd5, 0x42, 0x9d, 0x2e, 0x6e, 0x73, 0xa3, 0x5a, 0x78, 0x6c, 0xf9, 0x71, + 0xd6, 0x18, 0x69, 0xf7, +}; +static const struct drbg_kat_pr_true kat3358_t = { + 12, kat3358_entropyin, kat3358_nonce, kat3358_persstr, + kat3358_entropyinpr1, kat3358_addinpr1, kat3358_entropyinpr2, + kat3358_addinpr2, kat3358_retbits +}; +static const struct drbg_kat kat3358 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3358_t +}; + +static const unsigned char kat3359_entropyin[] = { + 0xde, 0xab, 0xed, 0xfb, 0x2a, 0x21, 0x6d, 0x60, 0x39, 0x84, 0x04, 0x10, + 0xa8, 0xf8, 0x03, 0xe1, 0x1e, 0x14, 0x36, 0xc1, 0x38, 0x4d, 0x49, 0x1b, +}; +static const unsigned char kat3359_nonce[] = { + 0x03, 0x47, 0xd8, 0x43, 0x7d, 0x55, 0x99, 0xac, 0xdd, 0xba, 0xec, 0x58, + 0xc3, 0x6a, 0xfe, 0x2c, +}; +static const unsigned char kat3359_persstr[] = { + 0x55, 0xda, 0xc9, 0x84, 0x83, 0x78, 0x44, 0x3b, 0x53, 0x4d, 0x00, 0x0e, + 0x31, 0xd6, 0xf6, 0x51, 0x24, 0x64, 0x4d, 0x15, 0x38, 0x9d, 0xed, 0x8e, + 0x80, 0xd6, 0x35, 0x60, 0x7e, 0x9a, 0xbf, 0x1f, +}; +static const unsigned char kat3359_entropyinpr1[] = { + 0x3f, 0xf0, 0x98, 0x24, 0x43, 0x4e, 0xa9, 0x0e, 0xe6, 0x3a, 0x65, 0xce, + 0x83, 0x66, 0x76, 0xe5, 0x11, 0xec, 0x98, 0x05, 0xb0, 0x06, 0x60, 0x5a, +}; +static const unsigned char kat3359_addinpr1[] = { + 0x4e, 0xd2, 0xbd, 0xab, 0x34, 0xa1, 0x24, 0x87, 0x79, 0xd2, 0x5c, 0x93, + 0x71, 0x3c, 0x4c, 0x91, 0x98, 0x53, 0x9a, 0xf9, 0xdc, 0x8a, 0x1e, 0xbd, + 0x4b, 0x74, 0x03, 0x85, 0x8d, 0x8d, 0x27, 0x9a, +}; +static const unsigned char kat3359_entropyinpr2[] = { + 0xdd, 0xad, 0x29, 0xad, 0xe1, 0xe1, 0x80, 0x4e, 0x4b, 0x4e, 0xac, 0x97, + 0x43, 0xa0, 0xd8, 0x72, 0xef, 0x56, 0x65, 0x44, 0xb1, 0x43, 0xab, 0xa0, +}; +static const unsigned char kat3359_addinpr2[] = { + 0x9f, 0xc5, 0x04, 0x8d, 0x21, 0x87, 0x91, 0xbf, 0xf0, 0xd0, 0xce, 0xd0, + 0x4e, 0x78, 0x05, 0x6a, 0x54, 0x8a, 0x9b, 0x73, 0x81, 0xdf, 0x90, 0x98, + 0x25, 0x2e, 0xde, 0x78, 0x3c, 0xd1, 0x55, 0xec, +}; +static const unsigned char kat3359_retbits[] = { + 0xa1, 0x4a, 0xde, 0xda, 0x18, 0x38, 0xbd, 0x0f, 0xf4, 0x3e, 0x31, 0x85, + 0x98, 0x4f, 0xb3, 0xd7, 0xb4, 0xaf, 0xab, 0xaf, 0x0d, 0x88, 0x7b, 0x4d, + 0x3e, 0x70, 0x9a, 0x16, 0x10, 0x0a, 0x7e, 0xc1, 0x5a, 0xe8, 0xd5, 0x8f, + 0xf6, 0x3f, 0xfb, 0x15, 0x3c, 0x68, 0x2e, 0x5d, 0x09, 0x30, 0x00, 0x88, + 0x3c, 0x54, 0x31, 0x19, 0xec, 0xf9, 0x0c, 0x15, 0xe1, 0x61, 0x5e, 0x32, + 0x5d, 0x88, 0x23, 0x78, +}; +static const struct drbg_kat_pr_true kat3359_t = { + 13, kat3359_entropyin, kat3359_nonce, kat3359_persstr, + kat3359_entropyinpr1, kat3359_addinpr1, kat3359_entropyinpr2, + kat3359_addinpr2, kat3359_retbits +}; +static const struct drbg_kat kat3359 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3359_t +}; + +static const unsigned char kat3360_entropyin[] = { + 0x1e, 0x98, 0x2c, 0x1c, 0xaf, 0x50, 0x1a, 0x32, 0x3c, 0xbd, 0x46, 0xb0, + 0x48, 0xa1, 0x57, 0x9b, 0x28, 0x8c, 0x44, 0x77, 0x46, 0xec, 0x3b, 0x25, +}; +static const unsigned char kat3360_nonce[] = { + 0xb0, 0x13, 0x96, 0x9f, 0x5b, 0x3d, 0x74, 0x1b, 0x6a, 0x32, 0xa8, 0x6b, + 0x47, 0x5c, 0x15, 0x8d, +}; +static const unsigned char kat3360_persstr[] = { + 0x6a, 0xaf, 0x29, 0x87, 0xdb, 0x9a, 0xa3, 0x99, 0xcd, 0x57, 0x66, 0x4c, + 0xbc, 0x61, 0x41, 0x68, 0x88, 0x08, 0x53, 0x97, 0x83, 0xbd, 0x2e, 0xf1, + 0xbf, 0x9d, 0x14, 0xe8, 0xc9, 0x36, 0x42, 0x5a, +}; +static const unsigned char kat3360_entropyinpr1[] = { + 0xf5, 0xf5, 0xfd, 0xb8, 0x75, 0xda, 0xf3, 0xa6, 0x1b, 0xa0, 0x70, 0xa2, + 0xe2, 0x32, 0xdd, 0x39, 0xc6, 0xb2, 0x75, 0xe0, 0x55, 0xc4, 0x3d, 0x0d, +}; +static const unsigned char kat3360_addinpr1[] = { + 0x9d, 0x55, 0x6b, 0xbf, 0x38, 0xe0, 0x64, 0xe3, 0xa7, 0xbd, 0x65, 0x1b, + 0x0c, 0xbe, 0x59, 0xb4, 0xa1, 0xc2, 0xf2, 0xaa, 0xb2, 0x6d, 0xee, 0x19, + 0x90, 0x92, 0x40, 0x2d, 0x86, 0x33, 0xf4, 0x00, +}; +static const unsigned char kat3360_entropyinpr2[] = { + 0x10, 0x10, 0x94, 0x67, 0x69, 0xf0, 0xfb, 0x94, 0xb0, 0xac, 0xa8, 0x47, + 0x94, 0x92, 0xdd, 0x30, 0x75, 0xc4, 0x66, 0x7a, 0x7f, 0xbd, 0xec, 0x47, +}; +static const unsigned char kat3360_addinpr2[] = { + 0xd2, 0x44, 0xbf, 0xad, 0xb4, 0xc9, 0x0f, 0xb7, 0x2a, 0xb3, 0x00, 0x4f, + 0xab, 0x45, 0xd3, 0xe5, 0x83, 0xeb, 0xe4, 0xef, 0x4b, 0xb9, 0x38, 0x04, + 0x84, 0xd7, 0xee, 0x8b, 0x4f, 0x2a, 0x20, 0x65, +}; +static const unsigned char kat3360_retbits[] = { + 0x97, 0x25, 0xbe, 0xb2, 0x6c, 0x8e, 0x5e, 0xa5, 0x3d, 0x9e, 0x19, 0xee, + 0x78, 0x86, 0xab, 0x36, 0x9f, 0x22, 0xd3, 0x57, 0x7c, 0x3a, 0x0e, 0x42, + 0x96, 0x9a, 0xb6, 0xa6, 0x95, 0x60, 0x26, 0x12, 0x88, 0xd4, 0x36, 0xe5, + 0xcb, 0x45, 0xaf, 0x02, 0xf6, 0x96, 0xb9, 0x6f, 0xdd, 0x19, 0x75, 0xaa, + 0xab, 0x07, 0x38, 0xc3, 0xcc, 0x17, 0x65, 0xda, 0xf7, 0xcd, 0x53, 0xf8, + 0x3d, 0x74, 0xa8, 0xb3, +}; +static const struct drbg_kat_pr_true kat3360_t = { + 14, kat3360_entropyin, kat3360_nonce, kat3360_persstr, + kat3360_entropyinpr1, kat3360_addinpr1, kat3360_entropyinpr2, + kat3360_addinpr2, kat3360_retbits +}; +static const struct drbg_kat kat3360 = { + PR_TRUE, USE_DF, NID_aes_192_ctr, 24, 16, 32, 32, 64, &kat3360_t +}; + +static const unsigned char kat3361_entropyin[] = { + 0x16, 0xa1, 0xf0, 0x35, 0x38, 0x8c, 0xd8, 0xd9, 0x56, 0x02, 0x6e, 0x3b, + 0x01, 0x17, 0xcb, 0x52, 0x4d, 0xd3, 0xeb, 0x56, 0x3f, 0x9a, 0x77, 0x20, + 0xbb, 0x7d, 0xcb, 0x0f, 0xc6, 0xfb, 0xe7, 0x43, +}; +static const unsigned char kat3361_nonce[] = { + 0xa2, 0xd0, 0x15, 0xf2, 0x2d, 0x85, 0x4e, 0x29, 0xde, 0x27, 0x8d, 0x91, + 0x0c, 0x57, 0x3d, 0xe5, +}; +static const unsigned char kat3361_persstr[] = {0}; +static const unsigned char kat3361_entropyinpr1[] = { + 0xcf, 0x14, 0x0b, 0xcd, 0x4d, 0x71, 0x30, 0xe7, 0xe3, 0xea, 0x14, 0x04, + 0x6c, 0x56, 0x44, 0x2b, 0x57, 0xc4, 0x3b, 0x34, 0xad, 0x21, 0x95, 0x53, + 0xe7, 0x10, 0x5c, 0x18, 0xf6, 0xe5, 0x61, 0xaf, +}; +static const unsigned char kat3361_addinpr1[] = {0}; +static const unsigned char kat3361_entropyinpr2[] = { + 0xe2, 0x7c, 0x9f, 0x0b, 0xe6, 0x0d, 0x82, 0xd6, 0xcc, 0x47, 0x4e, 0xfb, + 0x7f, 0xc7, 0x37, 0xb1, 0x6a, 0x68, 0x95, 0xd9, 0xa3, 0xa4, 0x5b, 0x97, + 0x1d, 0x19, 0xb7, 0x43, 0xc1, 0xa4, 0xac, 0x8f, +}; +static const unsigned char kat3361_addinpr2[] = {0}; +static const unsigned char kat3361_retbits[] = { + 0xb4, 0xe8, 0x39, 0x5b, 0xcb, 0x75, 0x03, 0x41, 0x0a, 0x94, 0x63, 0x3f, + 0x70, 0xe9, 0x90, 0x4a, 0x5b, 0x30, 0xe6, 0x2c, 0x35, 0xbc, 0x6d, 0xd2, + 0xa0, 0x34, 0x96, 0xc4, 0xa4, 0x99, 0x32, 0xe1, 0x84, 0xfb, 0xff, 0xdb, + 0xcf, 0x1d, 0xe1, 0xc7, 0x2c, 0x50, 0xd3, 0x6d, 0xc2, 0xae, 0x8f, 0x04, + 0xf4, 0x0f, 0x96, 0xaa, 0xe1, 0x59, 0xc3, 0xfb, 0x81, 0x6c, 0xa1, 0x6d, + 0xf9, 0x9b, 0x6c, 0x3e, +}; +static const struct drbg_kat_pr_true kat3361_t = { + 0, kat3361_entropyin, kat3361_nonce, kat3361_persstr, + kat3361_entropyinpr1, kat3361_addinpr1, kat3361_entropyinpr2, + kat3361_addinpr2, kat3361_retbits +}; +static const struct drbg_kat kat3361 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3361_t +}; + +static const unsigned char kat3362_entropyin[] = { + 0x65, 0x23, 0x1f, 0xc1, 0x7f, 0x7b, 0xb8, 0xa0, 0x53, 0x8b, 0xf6, 0xc4, + 0x17, 0x63, 0x6a, 0x83, 0x52, 0xed, 0xb5, 0xf2, 0x7b, 0x3d, 0xce, 0x35, + 0x08, 0x20, 0xa4, 0xdd, 0xc8, 0xa0, 0x26, 0x27, +}; +static const unsigned char kat3362_nonce[] = { + 0x51, 0xc0, 0x23, 0x88, 0x6d, 0xea, 0x57, 0xd8, 0x8d, 0x71, 0xa8, 0x8b, + 0xc2, 0x12, 0xd2, 0xfd, +}; +static const unsigned char kat3362_persstr[] = {0}; +static const unsigned char kat3362_entropyinpr1[] = { + 0x62, 0x15, 0x90, 0x85, 0x90, 0x84, 0x3a, 0x1a, 0xda, 0x55, 0x2d, 0x53, + 0xb2, 0x37, 0x03, 0x96, 0xf1, 0x44, 0xa9, 0xba, 0xca, 0xc1, 0xa0, 0x25, + 0x4a, 0x78, 0x7e, 0x48, 0xd5, 0xf6, 0x76, 0x22, +}; +static const unsigned char kat3362_addinpr1[] = {0}; +static const unsigned char kat3362_entropyinpr2[] = { + 0xbd, 0x84, 0xb5, 0x7f, 0xb7, 0xf7, 0xa7, 0x85, 0xdb, 0x9d, 0x1d, 0xf5, + 0x66, 0x57, 0x5f, 0x7a, 0xaf, 0x6c, 0xee, 0x64, 0xb6, 0xb8, 0x55, 0x6f, + 0x5d, 0xbf, 0x15, 0x3a, 0x0e, 0x35, 0x8d, 0x45, +}; +static const unsigned char kat3362_addinpr2[] = {0}; +static const unsigned char kat3362_retbits[] = { + 0x43, 0x9d, 0x25, 0x05, 0xe5, 0x8b, 0x95, 0x1f, 0xa8, 0xcb, 0xad, 0x4e, + 0x72, 0x32, 0xef, 0xef, 0x66, 0xeb, 0x74, 0x39, 0x94, 0x10, 0xcf, 0x9e, + 0x8e, 0xf1, 0x08, 0x9d, 0x39, 0xd2, 0xe1, 0xbc, 0xbb, 0x15, 0xc2, 0x2c, + 0x98, 0x04, 0xa6, 0x7e, 0x31, 0xfa, 0x2d, 0x88, 0x89, 0x53, 0xa2, 0xbf, + 0xd5, 0x82, 0x89, 0x94, 0xa2, 0xea, 0x6d, 0xe7, 0xe6, 0x6e, 0xad, 0xcb, + 0x16, 0xc1, 0x6c, 0x90, +}; +static const struct drbg_kat_pr_true kat3362_t = { + 1, kat3362_entropyin, kat3362_nonce, kat3362_persstr, + kat3362_entropyinpr1, kat3362_addinpr1, kat3362_entropyinpr2, + kat3362_addinpr2, kat3362_retbits +}; +static const struct drbg_kat kat3362 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3362_t +}; + +static const unsigned char kat3363_entropyin[] = { + 0x4f, 0xbe, 0x00, 0x0a, 0x46, 0x91, 0x30, 0x8c, 0xf5, 0x90, 0x7f, 0x81, + 0xd4, 0x1a, 0x3e, 0xea, 0xb9, 0xfb, 0x1a, 0x14, 0x90, 0xd5, 0xe7, 0x1d, + 0xa6, 0x59, 0x18, 0xbf, 0x26, 0x1f, 0x48, 0x5f, +}; +static const unsigned char kat3363_nonce[] = { + 0xc6, 0xcd, 0xed, 0xc5, 0x17, 0x08, 0x8c, 0x42, 0xa5, 0xbb, 0x6d, 0x68, + 0x73, 0xe2, 0x17, 0x23, +}; +static const unsigned char kat3363_persstr[] = {0}; +static const unsigned char kat3363_entropyinpr1[] = { + 0xaa, 0x7e, 0x82, 0xb0, 0x86, 0x0d, 0xfe, 0x9f, 0xeb, 0xda, 0x4e, 0x15, + 0x65, 0xd2, 0x60, 0xef, 0x26, 0xf6, 0xd8, 0xe6, 0x37, 0xb9, 0x15, 0xd5, + 0xc7, 0x56, 0x61, 0x8f, 0x4d, 0x18, 0xa5, 0x43, +}; +static const unsigned char kat3363_addinpr1[] = {0}; +static const unsigned char kat3363_entropyinpr2[] = { + 0xbc, 0x6e, 0x63, 0x58, 0xd0, 0xd9, 0x0c, 0x23, 0x24, 0x68, 0x85, 0xf8, + 0xc6, 0x7b, 0x28, 0x3f, 0x91, 0xc9, 0xfd, 0x3c, 0xe9, 0xc4, 0xde, 0x07, + 0xa6, 0x83, 0xb4, 0x38, 0x33, 0x38, 0x68, 0xf2, +}; +static const unsigned char kat3363_addinpr2[] = {0}; +static const unsigned char kat3363_retbits[] = { + 0xdb, 0x3c, 0x3f, 0xc9, 0x61, 0xfd, 0x6a, 0x6c, 0x2f, 0x46, 0x3f, 0xd2, + 0xf6, 0xba, 0x44, 0x0c, 0xe9, 0xf2, 0x2c, 0xe6, 0x63, 0x88, 0x94, 0xf6, + 0xa1, 0xce, 0xae, 0x96, 0x9f, 0xca, 0x34, 0xc7, 0x26, 0x6e, 0x12, 0x2c, + 0xfa, 0x43, 0xdb, 0x90, 0x6f, 0x1f, 0xcc, 0xda, 0x28, 0x61, 0x6c, 0x6f, + 0x1e, 0x68, 0xca, 0x8d, 0x41, 0x2b, 0x19, 0x95, 0xd9, 0x12, 0xe8, 0x56, + 0x71, 0xe2, 0x4d, 0xc5, +}; +static const struct drbg_kat_pr_true kat3363_t = { + 2, kat3363_entropyin, kat3363_nonce, kat3363_persstr, + kat3363_entropyinpr1, kat3363_addinpr1, kat3363_entropyinpr2, + kat3363_addinpr2, kat3363_retbits +}; +static const struct drbg_kat kat3363 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3363_t +}; + +static const unsigned char kat3364_entropyin[] = { + 0x32, 0x71, 0xbc, 0x91, 0x28, 0x7c, 0x78, 0x1f, 0x74, 0x4e, 0x96, 0x86, + 0xb6, 0xb6, 0x07, 0x6d, 0x5a, 0x2e, 0x95, 0xb9, 0xbc, 0xc1, 0x86, 0x1d, + 0xf9, 0x48, 0x75, 0x1e, 0x02, 0x20, 0x0e, 0x96, +}; +static const unsigned char kat3364_nonce[] = { + 0xeb, 0x06, 0x14, 0x12, 0xf6, 0xb2, 0x25, 0xcf, 0x48, 0x5e, 0xfa, 0x3a, + 0xad, 0xe7, 0x33, 0x8d, +}; +static const unsigned char kat3364_persstr[] = {0}; +static const unsigned char kat3364_entropyinpr1[] = { + 0x10, 0xa5, 0x83, 0x03, 0xf3, 0xcb, 0xfa, 0xda, 0xac, 0x04, 0x1f, 0x3a, + 0x11, 0xa4, 0xa7, 0xac, 0x18, 0xb8, 0x99, 0x90, 0x04, 0x4b, 0x54, 0x32, + 0xa1, 0x32, 0xd0, 0x4d, 0xc9, 0x4d, 0x29, 0x10, +}; +static const unsigned char kat3364_addinpr1[] = {0}; +static const unsigned char kat3364_entropyinpr2[] = { + 0x76, 0x36, 0xf9, 0x0a, 0x37, 0x94, 0xe3, 0xe1, 0xbb, 0x7d, 0xf0, 0xbb, + 0xaf, 0x3d, 0xcd, 0x49, 0x8f, 0x46, 0x83, 0x5a, 0xf7, 0xff, 0x51, 0x61, + 0x49, 0x7a, 0xfe, 0x52, 0xae, 0x64, 0x9a, 0xa3, +}; +static const unsigned char kat3364_addinpr2[] = {0}; +static const unsigned char kat3364_retbits[] = { + 0xc9, 0x0d, 0x09, 0xf1, 0x6c, 0xe4, 0xdf, 0x61, 0x3c, 0x95, 0x1b, 0x85, + 0x5a, 0x0c, 0x28, 0x32, 0x9a, 0x83, 0x13, 0xda, 0x7c, 0xa4, 0x51, 0x14, + 0xfa, 0x28, 0xbe, 0x99, 0x66, 0x1f, 0xbc, 0x2b, 0x22, 0x5e, 0x64, 0xad, + 0xa0, 0xf3, 0x61, 0xf6, 0x76, 0xda, 0xf8, 0x51, 0x19, 0xc8, 0xbe, 0x95, + 0xb5, 0x1a, 0xeb, 0x5a, 0xe6, 0x99, 0xa4, 0x4f, 0xf7, 0x4d, 0xaa, 0xb0, + 0x16, 0xc1, 0xc7, 0x2b, +}; +static const struct drbg_kat_pr_true kat3364_t = { + 3, kat3364_entropyin, kat3364_nonce, kat3364_persstr, + kat3364_entropyinpr1, kat3364_addinpr1, kat3364_entropyinpr2, + kat3364_addinpr2, kat3364_retbits +}; +static const struct drbg_kat kat3364 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3364_t +}; + +static const unsigned char kat3365_entropyin[] = { + 0x36, 0x41, 0x4b, 0xc0, 0x51, 0xfd, 0x29, 0x2b, 0x8a, 0xa2, 0xaf, 0xdc, + 0x3e, 0x73, 0x53, 0x33, 0x3b, 0xdf, 0xa3, 0xb2, 0xb6, 0x0b, 0x93, 0xfb, + 0x88, 0xa4, 0x30, 0x47, 0x82, 0x66, 0x32, 0xb6, +}; +static const unsigned char kat3365_nonce[] = { + 0x5d, 0x6d, 0x6f, 0x03, 0x7f, 0xfb, 0xc4, 0xf9, 0x9a, 0xca, 0x29, 0x6f, + 0x1b, 0x3a, 0x77, 0x14, +}; +static const unsigned char kat3365_persstr[] = {0}; +static const unsigned char kat3365_entropyinpr1[] = { + 0x9d, 0xc0, 0x69, 0x16, 0xe6, 0x38, 0xfc, 0x7d, 0xcf, 0xe1, 0x55, 0xce, + 0x82, 0x62, 0x4a, 0x0d, 0xab, 0xd9, 0x74, 0xa1, 0x79, 0x4f, 0xea, 0xc8, + 0x44, 0xf7, 0xc5, 0x2c, 0xe4, 0xe9, 0x89, 0x85, +}; +static const unsigned char kat3365_addinpr1[] = {0}; +static const unsigned char kat3365_entropyinpr2[] = { + 0x3e, 0x54, 0xbc, 0xda, 0x64, 0xaa, 0x0f, 0x31, 0x1b, 0xd6, 0xaf, 0x04, + 0xd3, 0x8d, 0x23, 0x3f, 0xe5, 0x90, 0xec, 0x53, 0x17, 0x0f, 0x45, 0xcc, + 0x80, 0x9e, 0xeb, 0x62, 0x04, 0x53, 0xb2, 0xfb, +}; +static const unsigned char kat3365_addinpr2[] = {0}; +static const unsigned char kat3365_retbits[] = { + 0x51, 0x81, 0xf2, 0x6c, 0x7e, 0x14, 0x45, 0x89, 0x89, 0xaa, 0x11, 0x64, + 0xb5, 0xf4, 0xad, 0x68, 0x02, 0x1f, 0xe1, 0xaf, 0x77, 0x22, 0xa6, 0xfd, + 0x97, 0xcb, 0x56, 0x6a, 0x03, 0x90, 0x8c, 0xf5, 0x6b, 0xe9, 0x3f, 0xa5, + 0x83, 0x54, 0x9f, 0x4c, 0x04, 0x73, 0x8f, 0xfd, 0x89, 0x98, 0x76, 0x5e, + 0x0f, 0xaa, 0xfa, 0xf0, 0xa1, 0x4a, 0x16, 0x9d, 0x27, 0x58, 0x5a, 0x0f, + 0x1a, 0xdf, 0xd0, 0xb5, +}; +static const struct drbg_kat_pr_true kat3365_t = { + 4, kat3365_entropyin, kat3365_nonce, kat3365_persstr, + kat3365_entropyinpr1, kat3365_addinpr1, kat3365_entropyinpr2, + kat3365_addinpr2, kat3365_retbits +}; +static const struct drbg_kat kat3365 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3365_t +}; + +static const unsigned char kat3366_entropyin[] = { + 0x86, 0xcc, 0x6e, 0x0d, 0x10, 0xda, 0xe4, 0x33, 0x2d, 0x04, 0xaa, 0x67, + 0x62, 0x76, 0x18, 0xf8, 0x18, 0x15, 0x11, 0x68, 0x9b, 0x33, 0x4d, 0x42, + 0x31, 0xc3, 0x37, 0x93, 0x07, 0xd3, 0xa4, 0x43, +}; +static const unsigned char kat3366_nonce[] = { + 0xb9, 0xa9, 0xfe, 0x7a, 0x90, 0x56, 0x22, 0x09, 0xec, 0x60, 0xde, 0x81, + 0xd4, 0x31, 0xb7, 0x66, +}; +static const unsigned char kat3366_persstr[] = {0}; +static const unsigned char kat3366_entropyinpr1[] = { + 0x47, 0xab, 0x3b, 0xdf, 0x88, 0xae, 0x84, 0xe8, 0xe1, 0x0a, 0x47, 0x3a, + 0xa5, 0x03, 0xb2, 0xc8, 0xcc, 0x7b, 0x02, 0x10, 0x58, 0x30, 0xfd, 0xb1, + 0x6b, 0x9e, 0xf8, 0x38, 0x22, 0x0b, 0x1d, 0xef, +}; +static const unsigned char kat3366_addinpr1[] = {0}; +static const unsigned char kat3366_entropyinpr2[] = { + 0xfa, 0x27, 0x5c, 0xa7, 0xf2, 0x6f, 0xf7, 0xf2, 0x46, 0xf1, 0xf3, 0x89, + 0x1f, 0xf4, 0x14, 0x22, 0x68, 0xc4, 0x7c, 0x1d, 0xf2, 0x5b, 0x62, 0xc4, + 0x53, 0x19, 0x58, 0x74, 0x4d, 0x66, 0x4d, 0xc3, +}; +static const unsigned char kat3366_addinpr2[] = {0}; +static const unsigned char kat3366_retbits[] = { + 0xd7, 0x68, 0x0e, 0x68, 0x40, 0x33, 0xb1, 0x7e, 0xee, 0xdd, 0x95, 0x39, + 0xb0, 0xf3, 0x57, 0x1e, 0xbe, 0x71, 0xa0, 0x80, 0x71, 0x08, 0x83, 0xc5, + 0x23, 0x38, 0xd9, 0x36, 0x35, 0xd3, 0xa2, 0xff, 0xb2, 0x15, 0x5b, 0xdf, + 0x0c, 0xba, 0x62, 0xe9, 0xa5, 0xaa, 0xb7, 0x00, 0x98, 0x9f, 0xd7, 0x28, + 0x62, 0x4f, 0x01, 0x95, 0x2a, 0x09, 0xa1, 0x35, 0x1a, 0xd0, 0xd5, 0x58, + 0xf0, 0x6f, 0xe2, 0x6e, +}; +static const struct drbg_kat_pr_true kat3366_t = { + 5, kat3366_entropyin, kat3366_nonce, kat3366_persstr, + kat3366_entropyinpr1, kat3366_addinpr1, kat3366_entropyinpr2, + kat3366_addinpr2, kat3366_retbits +}; +static const struct drbg_kat kat3366 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3366_t +}; + +static const unsigned char kat3367_entropyin[] = { + 0x61, 0x58, 0x52, 0x0b, 0xa8, 0x5c, 0x53, 0x01, 0x56, 0x33, 0x1b, 0x36, + 0x83, 0x51, 0xa4, 0x6f, 0x11, 0xd7, 0xc5, 0xf2, 0x14, 0x1f, 0x00, 0xa4, + 0x84, 0xbe, 0xec, 0xfa, 0x56, 0xa6, 0xf7, 0xea, +}; +static const unsigned char kat3367_nonce[] = { + 0xb5, 0x25, 0x1e, 0x69, 0x0c, 0xc5, 0x5f, 0xc2, 0x3a, 0xc9, 0x21, 0xc5, + 0x9b, 0x3b, 0xdd, 0xd0, +}; +static const unsigned char kat3367_persstr[] = {0}; +static const unsigned char kat3367_entropyinpr1[] = { + 0xe4, 0x56, 0xaf, 0x1b, 0xad, 0x93, 0x97, 0x57, 0xb4, 0xc1, 0xe2, 0xd4, + 0xf9, 0xda, 0x12, 0xe6, 0xb0, 0x8f, 0xb7, 0xf0, 0x01, 0x8f, 0xa9, 0x6a, + 0x52, 0xd3, 0xee, 0x7c, 0x58, 0x5e, 0xb7, 0x68, +}; +static const unsigned char kat3367_addinpr1[] = {0}; +static const unsigned char kat3367_entropyinpr2[] = { + 0xcf, 0xab, 0x0f, 0x48, 0xcb, 0x7e, 0xfd, 0x84, 0x0e, 0x85, 0x5a, 0x81, + 0xf4, 0xb2, 0xb4, 0x07, 0x25, 0x4b, 0xfb, 0x60, 0xec, 0x75, 0x4b, 0x84, + 0xef, 0x3c, 0x61, 0x6c, 0xc6, 0x5c, 0xf3, 0xd3, +}; +static const unsigned char kat3367_addinpr2[] = {0}; +static const unsigned char kat3367_retbits[] = { + 0x6d, 0x91, 0x4e, 0x1a, 0x09, 0x19, 0x3f, 0x12, 0x90, 0xcd, 0x85, 0x84, + 0xf2, 0x3c, 0xd0, 0xdc, 0x9d, 0x4d, 0x37, 0xea, 0x67, 0xca, 0x9b, 0xdb, + 0x89, 0x17, 0x03, 0x89, 0x55, 0x1c, 0x57, 0x93, 0x8a, 0xf2, 0x21, 0x16, + 0x0a, 0x53, 0x43, 0xdd, 0x15, 0x68, 0x90, 0xfb, 0xb1, 0x56, 0xd9, 0xa3, + 0x44, 0xc3, 0xcd, 0x84, 0xa7, 0x83, 0x3a, 0xed, 0x05, 0x87, 0xc3, 0x38, + 0x13, 0xd6, 0xb5, 0x5e, +}; +static const struct drbg_kat_pr_true kat3367_t = { + 6, kat3367_entropyin, kat3367_nonce, kat3367_persstr, + kat3367_entropyinpr1, kat3367_addinpr1, kat3367_entropyinpr2, + kat3367_addinpr2, kat3367_retbits +}; +static const struct drbg_kat kat3367 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3367_t +}; + +static const unsigned char kat3368_entropyin[] = { + 0x70, 0xf9, 0xd8, 0x9c, 0x0d, 0xb6, 0xe8, 0x1d, 0x38, 0x0a, 0x31, 0x9a, + 0x7a, 0x8f, 0xef, 0x25, 0x66, 0x01, 0x67, 0xde, 0x54, 0x8f, 0x64, 0x03, + 0xa6, 0xfc, 0x87, 0x4d, 0x19, 0x6d, 0x5b, 0x24, +}; +static const unsigned char kat3368_nonce[] = { + 0xe1, 0xf1, 0x48, 0x8a, 0x2c, 0x8a, 0x17, 0x16, 0x6f, 0x5f, 0x49, 0x82, + 0x7d, 0xb6, 0x9b, 0x1e, +}; +static const unsigned char kat3368_persstr[] = {0}; +static const unsigned char kat3368_entropyinpr1[] = { + 0xf8, 0x02, 0x46, 0xbf, 0xd7, 0x4f, 0x98, 0x0d, 0x4a, 0xa6, 0x72, 0x4f, + 0xf2, 0xcd, 0x19, 0xbc, 0x56, 0x7c, 0x7a, 0xdb, 0x1f, 0xfd, 0xb0, 0x74, + 0x45, 0xc2, 0x26, 0x49, 0xc1, 0xa7, 0xe0, 0xbc, +}; +static const unsigned char kat3368_addinpr1[] = {0}; +static const unsigned char kat3368_entropyinpr2[] = { + 0x6a, 0x39, 0xc3, 0x59, 0x2c, 0x6e, 0x52, 0x46, 0xed, 0xb9, 0x25, 0xfa, + 0x24, 0x08, 0x50, 0xf5, 0x42, 0x06, 0xff, 0xc9, 0x1f, 0xcb, 0xb9, 0xc9, + 0xc3, 0x99, 0x6a, 0xbe, 0x71, 0xec, 0x01, 0x49, +}; +static const unsigned char kat3368_addinpr2[] = {0}; +static const unsigned char kat3368_retbits[] = { + 0x9e, 0x62, 0x95, 0x44, 0xae, 0xc8, 0xf8, 0x72, 0xa2, 0x31, 0x99, 0xe8, + 0xaf, 0xf7, 0xc8, 0x3b, 0xd7, 0xa3, 0x98, 0xed, 0xc3, 0xa9, 0xc9, 0x35, + 0x03, 0xdf, 0x2b, 0xa5, 0x30, 0xe6, 0xfc, 0x6b, 0xbd, 0x84, 0x0b, 0x65, + 0x0f, 0x51, 0xa9, 0x97, 0xa1, 0x26, 0xf2, 0x52, 0x4d, 0x12, 0x27, 0xd0, + 0x4f, 0x7b, 0x6f, 0x3d, 0x1f, 0x4e, 0x4e, 0x81, 0xa6, 0xa6, 0xd2, 0x98, + 0x9a, 0xb7, 0x76, 0x7c, +}; +static const struct drbg_kat_pr_true kat3368_t = { + 7, kat3368_entropyin, kat3368_nonce, kat3368_persstr, + kat3368_entropyinpr1, kat3368_addinpr1, kat3368_entropyinpr2, + kat3368_addinpr2, kat3368_retbits +}; +static const struct drbg_kat kat3368 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3368_t +}; + +static const unsigned char kat3369_entropyin[] = { + 0xd3, 0xbe, 0x2c, 0x6f, 0xa7, 0x7b, 0xca, 0x18, 0x28, 0x6f, 0x97, 0xce, + 0x46, 0x7f, 0x81, 0x45, 0xcd, 0xb3, 0xa6, 0x60, 0xf6, 0x8d, 0x51, 0xfc, + 0x81, 0x80, 0xb7, 0x51, 0xf6, 0xb7, 0x6f, 0x6c, +}; +static const unsigned char kat3369_nonce[] = { + 0x99, 0x7b, 0x73, 0x2c, 0x50, 0xad, 0x4f, 0x7a, 0xb2, 0x8b, 0xc6, 0x13, + 0x4a, 0x9f, 0x6b, 0xf5, +}; +static const unsigned char kat3369_persstr[] = {0}; +static const unsigned char kat3369_entropyinpr1[] = { + 0x52, 0x71, 0x6f, 0x69, 0xa6, 0xc8, 0x43, 0xb6, 0xd8, 0x1a, 0x00, 0x79, + 0x66, 0x0f, 0x50, 0x95, 0xfa, 0xd5, 0x04, 0x2b, 0x68, 0x81, 0x7b, 0x3b, + 0xb3, 0xc3, 0xe8, 0xd3, 0x85, 0x60, 0x02, 0x7e, +}; +static const unsigned char kat3369_addinpr1[] = {0}; +static const unsigned char kat3369_entropyinpr2[] = { + 0xcf, 0xc9, 0x5e, 0x2d, 0x59, 0xcb, 0x32, 0x60, 0x58, 0x33, 0xc7, 0xd2, + 0xca, 0xa1, 0x23, 0x19, 0x9f, 0x73, 0xad, 0x5f, 0x2d, 0xbb, 0x40, 0xca, + 0xe5, 0x71, 0x2f, 0x8c, 0xf7, 0x65, 0xcd, 0x98, +}; +static const unsigned char kat3369_addinpr2[] = {0}; +static const unsigned char kat3369_retbits[] = { + 0x6b, 0xc6, 0x6d, 0x2a, 0xab, 0x05, 0x7c, 0x21, 0x43, 0x5d, 0xac, 0xfd, + 0x88, 0x74, 0xed, 0x6c, 0xaa, 0x70, 0xf6, 0x0e, 0x36, 0x42, 0x5f, 0x8b, + 0x0d, 0xed, 0xac, 0x98, 0x91, 0x9b, 0x85, 0xde, 0xe1, 0xe1, 0x90, 0xd8, + 0x8c, 0xaf, 0xa5, 0xb9, 0xd9, 0x9a, 0x02, 0x72, 0x38, 0x25, 0xcd, 0x46, + 0x5a, 0x6b, 0x00, 0xad, 0x01, 0x51, 0xc5, 0x27, 0x25, 0x33, 0x40, 0x97, + 0x76, 0xe2, 0xb1, 0x6e, +}; +static const struct drbg_kat_pr_true kat3369_t = { + 8, kat3369_entropyin, kat3369_nonce, kat3369_persstr, + kat3369_entropyinpr1, kat3369_addinpr1, kat3369_entropyinpr2, + kat3369_addinpr2, kat3369_retbits +}; +static const struct drbg_kat kat3369 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3369_t +}; + +static const unsigned char kat3370_entropyin[] = { + 0x64, 0xe9, 0x58, 0xc9, 0x5d, 0x76, 0x5e, 0x47, 0xe4, 0xb8, 0xf7, 0x41, + 0x52, 0xbc, 0xc8, 0xae, 0x01, 0xc0, 0xaa, 0x9f, 0x42, 0x0c, 0xd4, 0xad, + 0xf1, 0x95, 0xc9, 0xc4, 0xa1, 0xce, 0x25, 0x4f, +}; +static const unsigned char kat3370_nonce[] = { + 0x2f, 0x31, 0x50, 0x16, 0x54, 0x6e, 0xbf, 0x76, 0x58, 0xc3, 0x59, 0x54, + 0x63, 0xc2, 0x4f, 0x68, +}; +static const unsigned char kat3370_persstr[] = {0}; +static const unsigned char kat3370_entropyinpr1[] = { + 0x71, 0x53, 0xe5, 0x8b, 0x36, 0xd0, 0x00, 0xb9, 0xb1, 0xba, 0xe1, 0x8b, + 0xf2, 0x71, 0xa9, 0x92, 0x65, 0x5c, 0x24, 0x6e, 0x8a, 0xa7, 0x91, 0xb2, + 0xb6, 0x5f, 0xbd, 0xc8, 0x9c, 0xed, 0x1f, 0x39, +}; +static const unsigned char kat3370_addinpr1[] = {0}; +static const unsigned char kat3370_entropyinpr2[] = { + 0x5d, 0x38, 0xbe, 0x88, 0x95, 0x58, 0x9d, 0x30, 0x79, 0x0b, 0x03, 0x6e, + 0x95, 0x46, 0xee, 0xc6, 0x95, 0x49, 0xaa, 0x5d, 0xcc, 0xf4, 0x42, 0x82, + 0x1d, 0x93, 0xf5, 0xe2, 0x01, 0x22, 0xec, 0xc2, +}; +static const unsigned char kat3370_addinpr2[] = {0}; +static const unsigned char kat3370_retbits[] = { + 0x57, 0xd1, 0x2d, 0xdc, 0x95, 0x09, 0xad, 0xcb, 0x3e, 0x34, 0xf4, 0x96, + 0xa8, 0xbe, 0x9a, 0x95, 0xa7, 0x4e, 0x66, 0x9d, 0xba, 0xc3, 0x12, 0xa3, + 0xbf, 0x63, 0x43, 0x09, 0x1d, 0xab, 0x05, 0x36, 0xf2, 0x2a, 0xaa, 0x3a, + 0x4a, 0xa9, 0x82, 0x69, 0x0f, 0x33, 0xdb, 0x52, 0x22, 0x35, 0xcc, 0xb2, + 0x5e, 0xa9, 0x12, 0xb2, 0x6d, 0x71, 0x65, 0x72, 0xec, 0x86, 0xc8, 0x75, + 0xb3, 0x33, 0xd9, 0x42, +}; +static const struct drbg_kat_pr_true kat3370_t = { + 9, kat3370_entropyin, kat3370_nonce, kat3370_persstr, + kat3370_entropyinpr1, kat3370_addinpr1, kat3370_entropyinpr2, + kat3370_addinpr2, kat3370_retbits +}; +static const struct drbg_kat kat3370 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3370_t +}; + +static const unsigned char kat3371_entropyin[] = { + 0x88, 0x47, 0x68, 0x30, 0xe6, 0xc6, 0x35, 0x3a, 0x08, 0x17, 0x8e, 0xaa, + 0x37, 0xca, 0x6d, 0xf6, 0xe8, 0xfa, 0x39, 0x61, 0xed, 0xba, 0x13, 0xf2, + 0xd3, 0xe5, 0x37, 0x8d, 0xad, 0x07, 0xed, 0x54, +}; +static const unsigned char kat3371_nonce[] = { + 0xb5, 0xee, 0xfb, 0x5b, 0xab, 0x71, 0x68, 0x2c, 0x37, 0xf8, 0x24, 0xb8, + 0xc9, 0xcb, 0x9d, 0x22, +}; +static const unsigned char kat3371_persstr[] = {0}; +static const unsigned char kat3371_entropyinpr1[] = { + 0xee, 0x6b, 0xb2, 0xc1, 0x83, 0xfe, 0x42, 0x88, 0xe3, 0x77, 0x92, 0x27, + 0xee, 0x23, 0xff, 0x8a, 0x57, 0xef, 0xb2, 0x20, 0x70, 0x6c, 0xc0, 0xce, + 0x6c, 0x96, 0xb9, 0x77, 0xff, 0x4f, 0x0b, 0xdb, +}; +static const unsigned char kat3371_addinpr1[] = {0}; +static const unsigned char kat3371_entropyinpr2[] = { + 0xfe, 0x1b, 0xda, 0x9e, 0x05, 0x9c, 0x8e, 0x01, 0xf9, 0x96, 0xd2, 0xda, + 0x32, 0xb4, 0x79, 0xf9, 0xf9, 0xd0, 0x27, 0xa2, 0x5b, 0xbe, 0xcd, 0xc0, + 0x50, 0xb8, 0x54, 0x85, 0x4d, 0x0a, 0xa5, 0x0a, +}; +static const unsigned char kat3371_addinpr2[] = {0}; +static const unsigned char kat3371_retbits[] = { + 0x06, 0x9f, 0x8a, 0x45, 0x74, 0x12, 0x1b, 0xfb, 0x57, 0xa3, 0xee, 0x6d, + 0xc1, 0xca, 0x1b, 0xeb, 0x47, 0x34, 0x74, 0x63, 0x6e, 0xe0, 0x58, 0xed, + 0x9a, 0xba, 0x68, 0x41, 0x2f, 0x1f, 0xaf, 0xfa, 0x0b, 0xfb, 0x00, 0xc9, + 0xb5, 0x22, 0x65, 0x18, 0x9f, 0xf7, 0xfe, 0x84, 0x60, 0xa6, 0xf4, 0x5e, + 0x1c, 0x54, 0x68, 0xb1, 0x3a, 0x8c, 0x6c, 0x7e, 0xd9, 0x51, 0xc1, 0x72, + 0x59, 0xa1, 0xb5, 0x80, +}; +static const struct drbg_kat_pr_true kat3371_t = { + 10, kat3371_entropyin, kat3371_nonce, kat3371_persstr, + kat3371_entropyinpr1, kat3371_addinpr1, kat3371_entropyinpr2, + kat3371_addinpr2, kat3371_retbits +}; +static const struct drbg_kat kat3371 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3371_t +}; + +static const unsigned char kat3372_entropyin[] = { + 0xdb, 0xe2, 0x78, 0x74, 0x49, 0xb0, 0xd3, 0x0b, 0x20, 0xae, 0xaa, 0x6e, + 0x90, 0x0e, 0x7f, 0xf8, 0x12, 0x07, 0x10, 0x19, 0x6e, 0x02, 0xb3, 0xa0, + 0x70, 0x8d, 0xd8, 0xb8, 0xe8, 0x3e, 0x44, 0x31, +}; +static const unsigned char kat3372_nonce[] = { + 0x6d, 0x10, 0xb1, 0xfb, 0x2a, 0xfe, 0xf1, 0xa6, 0x1c, 0x8c, 0x29, 0xb2, + 0x37, 0x64, 0x08, 0x10, +}; +static const unsigned char kat3372_persstr[] = {0}; +static const unsigned char kat3372_entropyinpr1[] = { + 0xf8, 0xed, 0x93, 0x8f, 0xac, 0x49, 0x14, 0x29, 0xd0, 0xe1, 0x77, 0xe0, + 0x7f, 0x8b, 0xf3, 0x90, 0x11, 0xe6, 0x2d, 0xec, 0x83, 0x77, 0xd1, 0x28, + 0xfc, 0xf7, 0xe4, 0x5a, 0x2e, 0x51, 0xd5, 0xb0, +}; +static const unsigned char kat3372_addinpr1[] = {0}; +static const unsigned char kat3372_entropyinpr2[] = { + 0x1f, 0x03, 0x41, 0x1b, 0x4f, 0x90, 0xa8, 0x7f, 0x35, 0x98, 0xef, 0xe4, + 0x37, 0x96, 0xd3, 0x04, 0xa3, 0xca, 0x24, 0x50, 0x84, 0xd2, 0x6e, 0xe5, + 0x5c, 0x25, 0x62, 0x9b, 0xb8, 0x81, 0x06, 0xe3, +}; +static const unsigned char kat3372_addinpr2[] = {0}; +static const unsigned char kat3372_retbits[] = { + 0xd4, 0xd8, 0xa2, 0x2c, 0x19, 0x05, 0x76, 0x32, 0xe0, 0xd4, 0x95, 0xf9, + 0x76, 0x3a, 0xa7, 0x06, 0x33, 0xf9, 0x2d, 0xa5, 0xf3, 0xcd, 0xa5, 0xf2, + 0xb1, 0xa4, 0xac, 0x99, 0xb3, 0x54, 0x1d, 0xde, 0x49, 0x25, 0x05, 0x84, + 0x1d, 0xc5, 0x4d, 0x1e, 0xf3, 0x10, 0x01, 0xbb, 0xbf, 0x9d, 0x5f, 0xf5, + 0x02, 0xd9, 0x53, 0x02, 0x58, 0xdc, 0x61, 0xf7, 0xb3, 0x0b, 0x08, 0x3c, + 0x88, 0x2e, 0x01, 0x99, +}; +static const struct drbg_kat_pr_true kat3372_t = { + 11, kat3372_entropyin, kat3372_nonce, kat3372_persstr, + kat3372_entropyinpr1, kat3372_addinpr1, kat3372_entropyinpr2, + kat3372_addinpr2, kat3372_retbits +}; +static const struct drbg_kat kat3372 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3372_t +}; + +static const unsigned char kat3373_entropyin[] = { + 0x70, 0xb9, 0xc1, 0xa5, 0x04, 0x31, 0x13, 0xb8, 0x1c, 0x9d, 0xa5, 0x26, + 0xe3, 0x1d, 0xa2, 0x50, 0x2d, 0x37, 0x56, 0x20, 0xd2, 0x57, 0x3f, 0xb9, + 0x08, 0xf7, 0x17, 0x1e, 0xc9, 0xeb, 0x20, 0xfa, +}; +static const unsigned char kat3373_nonce[] = { + 0xd9, 0x1a, 0xcc, 0xed, 0x2e, 0x94, 0x35, 0x9b, 0xb8, 0x6f, 0x11, 0xf8, + 0x80, 0x1b, 0x7b, 0xf8, +}; +static const unsigned char kat3373_persstr[] = {0}; +static const unsigned char kat3373_entropyinpr1[] = { + 0x2c, 0x2e, 0x64, 0x75, 0x5b, 0xc1, 0xaa, 0xb2, 0xd4, 0xd7, 0x1a, 0x09, + 0x76, 0x20, 0x29, 0x91, 0x01, 0xb9, 0x54, 0x85, 0x53, 0x09, 0x1d, 0x6c, + 0x98, 0xd1, 0xed, 0x18, 0x2a, 0x10, 0xf6, 0x60, +}; +static const unsigned char kat3373_addinpr1[] = {0}; +static const unsigned char kat3373_entropyinpr2[] = { + 0x3b, 0x0d, 0x9f, 0x37, 0xf7, 0x38, 0x5d, 0xc3, 0xf2, 0xa0, 0x97, 0x55, + 0x5c, 0xa3, 0xf7, 0x6b, 0xc0, 0x47, 0xee, 0xa5, 0x3d, 0x37, 0x87, 0x29, + 0x06, 0x38, 0x92, 0x38, 0xb1, 0x3e, 0xec, 0x45, +}; +static const unsigned char kat3373_addinpr2[] = {0}; +static const unsigned char kat3373_retbits[] = { + 0x71, 0xce, 0x9a, 0xf0, 0xc9, 0xd9, 0x5e, 0xf4, 0x02, 0x09, 0x3e, 0x7e, + 0x33, 0xfd, 0xf7, 0x22, 0x1f, 0xa1, 0x3d, 0x6a, 0x2a, 0x3a, 0x6b, 0x35, + 0xcf, 0xf3, 0x1d, 0x57, 0x7d, 0x92, 0x4c, 0xec, 0x97, 0xc5, 0x7e, 0x37, + 0x6e, 0xe3, 0xad, 0x7e, 0xb1, 0x7f, 0xe1, 0x67, 0x7f, 0x7e, 0xcb, 0xf5, + 0x68, 0x2d, 0xf9, 0xe9, 0xde, 0xae, 0x6a, 0x7e, 0x3e, 0x3d, 0x54, 0x11, + 0x24, 0x34, 0x10, 0xcd, +}; +static const struct drbg_kat_pr_true kat3373_t = { + 12, kat3373_entropyin, kat3373_nonce, kat3373_persstr, + kat3373_entropyinpr1, kat3373_addinpr1, kat3373_entropyinpr2, + kat3373_addinpr2, kat3373_retbits +}; +static const struct drbg_kat kat3373 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3373_t +}; + +static const unsigned char kat3374_entropyin[] = { + 0xd5, 0x10, 0xb9, 0x9f, 0xe2, 0xd1, 0x8c, 0x5d, 0x71, 0xa8, 0x9e, 0x46, + 0xb8, 0xed, 0x68, 0x91, 0x14, 0xf6, 0xfa, 0xf3, 0xb9, 0x55, 0x60, 0xa3, + 0x78, 0x33, 0x1e, 0xec, 0xcc, 0x70, 0x32, 0x11, +}; +static const unsigned char kat3374_nonce[] = { + 0x42, 0x09, 0xd3, 0x29, 0xa9, 0x5f, 0xc3, 0xf0, 0xcc, 0x4d, 0xd9, 0xb5, + 0x17, 0xa7, 0x64, 0xfc, +}; +static const unsigned char kat3374_persstr[] = {0}; +static const unsigned char kat3374_entropyinpr1[] = { + 0x84, 0x38, 0x0a, 0x1e, 0x44, 0xc2, 0x1f, 0x59, 0x70, 0x78, 0x17, 0x5e, + 0x0b, 0x27, 0x67, 0x98, 0x1e, 0xe1, 0x8b, 0x54, 0xa1, 0x6c, 0xff, 0xde, + 0x62, 0x3c, 0x2a, 0x89, 0x52, 0x81, 0x43, 0x8b, +}; +static const unsigned char kat3374_addinpr1[] = {0}; +static const unsigned char kat3374_entropyinpr2[] = { + 0xbd, 0xe5, 0xc6, 0x0c, 0x32, 0x2f, 0xf3, 0x04, 0x7d, 0xc2, 0xbe, 0x51, + 0x21, 0xbb, 0x5f, 0xe0, 0x1d, 0x55, 0xc0, 0x7f, 0x48, 0x18, 0x3b, 0x74, + 0x7b, 0x1a, 0xfa, 0x7b, 0xc1, 0xb7, 0x9b, 0x03, +}; +static const unsigned char kat3374_addinpr2[] = {0}; +static const unsigned char kat3374_retbits[] = { + 0x31, 0x62, 0x5e, 0xce, 0x09, 0x50, 0xde, 0x3e, 0xf4, 0xb4, 0x99, 0x92, + 0x1a, 0x8c, 0xc9, 0x41, 0x18, 0x81, 0x1c, 0x36, 0x44, 0xef, 0x0a, 0xb6, + 0xc6, 0x6a, 0x2b, 0x08, 0xf4, 0x96, 0x05, 0x58, 0x2b, 0xf4, 0x7a, 0xe5, + 0xdb, 0xa9, 0x31, 0x60, 0x32, 0x80, 0xf5, 0x37, 0x23, 0xe6, 0x82, 0x03, + 0xa3, 0x99, 0x10, 0xa5, 0xcb, 0x17, 0x33, 0x5f, 0x2f, 0x99, 0xc2, 0xda, + 0x82, 0xe2, 0x70, 0xd0, +}; +static const struct drbg_kat_pr_true kat3374_t = { + 13, kat3374_entropyin, kat3374_nonce, kat3374_persstr, + kat3374_entropyinpr1, kat3374_addinpr1, kat3374_entropyinpr2, + kat3374_addinpr2, kat3374_retbits +}; +static const struct drbg_kat kat3374 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3374_t +}; + +static const unsigned char kat3375_entropyin[] = { + 0xcb, 0x65, 0x79, 0xc0, 0xdd, 0x77, 0xed, 0x68, 0x33, 0x10, 0x4d, 0xf8, + 0xe7, 0x78, 0x12, 0xa9, 0x1a, 0x92, 0x41, 0x94, 0xf4, 0xb2, 0x8e, 0x3b, + 0xba, 0xd1, 0x1b, 0x3e, 0x36, 0x4a, 0x11, 0x8b, +}; +static const unsigned char kat3375_nonce[] = { + 0xdf, 0x4d, 0x07, 0xd8, 0x3c, 0x4d, 0x90, 0x77, 0x9c, 0x7b, 0xd3, 0xdd, + 0xcf, 0xac, 0x2f, 0x3d, +}; +static const unsigned char kat3375_persstr[] = {0}; +static const unsigned char kat3375_entropyinpr1[] = { + 0xc7, 0xc1, 0xca, 0x7e, 0xe0, 0x4e, 0xb6, 0x48, 0xd4, 0x6c, 0x5f, 0x2a, + 0xe2, 0x08, 0xe1, 0x46, 0x3a, 0xaa, 0x7f, 0xe4, 0x42, 0xdb, 0x0b, 0x8e, + 0x1a, 0xe1, 0x8c, 0x20, 0x4b, 0x61, 0x4a, 0x30, +}; +static const unsigned char kat3375_addinpr1[] = {0}; +static const unsigned char kat3375_entropyinpr2[] = { + 0x72, 0x31, 0x50, 0x8c, 0xfb, 0x7d, 0x0f, 0xe9, 0xaa, 0x9e, 0x5d, 0xe8, + 0x0b, 0x22, 0x11, 0xb4, 0x98, 0x44, 0x42, 0x57, 0xba, 0x01, 0x1d, 0x70, + 0x6e, 0xe0, 0xaa, 0x35, 0xb2, 0xe2, 0x81, 0x84, +}; +static const unsigned char kat3375_addinpr2[] = {0}; +static const unsigned char kat3375_retbits[] = { + 0xbe, 0x54, 0xef, 0x3d, 0xd1, 0xb7, 0x97, 0x9a, 0xaf, 0x1e, 0xba, 0xde, + 0xeb, 0xba, 0x41, 0x45, 0xb6, 0x9f, 0x46, 0x29, 0x84, 0xf7, 0x28, 0x62, + 0xcb, 0x45, 0x28, 0xb5, 0xc7, 0x03, 0x76, 0xaa, 0x40, 0xda, 0xd0, 0xfa, + 0x9b, 0xde, 0x07, 0xe5, 0x88, 0xef, 0x5b, 0xfc, 0xda, 0x5a, 0x0c, 0x6a, + 0xcc, 0xd9, 0xce, 0x77, 0xf4, 0x81, 0x0b, 0xa2, 0xf2, 0xe5, 0xf1, 0x36, + 0x3c, 0xab, 0x7c, 0x9f, +}; +static const struct drbg_kat_pr_true kat3375_t = { + 14, kat3375_entropyin, kat3375_nonce, kat3375_persstr, + kat3375_entropyinpr1, kat3375_addinpr1, kat3375_entropyinpr2, + kat3375_addinpr2, kat3375_retbits +}; +static const struct drbg_kat kat3375 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3375_t +}; + +static const unsigned char kat3376_entropyin[] = { + 0xa3, 0x13, 0x37, 0xe0, 0xcb, 0xf2, 0xee, 0x3e, 0x8d, 0x1d, 0x39, 0x32, + 0x4c, 0x97, 0x8e, 0x71, 0x4b, 0x5a, 0xcc, 0x67, 0x89, 0x20, 0xd5, 0x83, + 0x9f, 0xe9, 0x54, 0x77, 0xca, 0x3b, 0x87, 0x41, +}; +static const unsigned char kat3376_nonce[] = { + 0xa7, 0xf8, 0xb7, 0x70, 0xa5, 0x06, 0xac, 0xfc, 0x79, 0xb2, 0xc4, 0x31, + 0x66, 0x0d, 0x31, 0x0f, +}; +static const unsigned char kat3376_persstr[] = {0}; +static const unsigned char kat3376_entropyinpr1[] = { + 0xc2, 0xe4, 0x4d, 0x8b, 0x2c, 0x97, 0xf4, 0xc1, 0x4e, 0x39, 0xc8, 0x13, + 0x7c, 0xc6, 0x28, 0x18, 0xf1, 0xa2, 0x23, 0xdd, 0xe1, 0xdf, 0xe9, 0xde, + 0xf8, 0x67, 0x2c, 0x2a, 0x6f, 0xab, 0x8c, 0x04, +}; +static const unsigned char kat3376_addinpr1[] = { + 0x54, 0x94, 0x59, 0x7f, 0x0e, 0x86, 0x44, 0xd6, 0x02, 0x84, 0x95, 0xc6, + 0x59, 0x99, 0x11, 0xcf, 0x30, 0xfc, 0x96, 0xa1, 0xb9, 0x2a, 0x3a, 0x5d, + 0xc8, 0x62, 0xfe, 0xcf, 0xc3, 0x53, 0xc4, 0x3d, +}; +static const unsigned char kat3376_entropyinpr2[] = { + 0x92, 0x34, 0x05, 0xe7, 0x87, 0x8b, 0x3e, 0x20, 0x3c, 0xb5, 0x31, 0xf6, + 0x88, 0xc1, 0x07, 0x25, 0xd7, 0xa5, 0x5e, 0xda, 0xcc, 0x2b, 0x9f, 0x19, + 0x5f, 0x71, 0x37, 0x08, 0x0b, 0x27, 0x8e, 0xa1, +}; +static const unsigned char kat3376_addinpr2[] = { + 0xe7, 0x63, 0x5b, 0x6f, 0x9e, 0x63, 0xc0, 0x89, 0x42, 0xc4, 0xb5, 0xc8, + 0x6b, 0x5e, 0x60, 0xbb, 0xe3, 0xe8, 0x9e, 0xa3, 0x80, 0x9f, 0xb3, 0x93, + 0x99, 0x85, 0xc9, 0x3e, 0xed, 0xd1, 0x7f, 0x8d, +}; +static const unsigned char kat3376_retbits[] = { + 0x5d, 0xbd, 0x55, 0xed, 0x2f, 0x6d, 0x6c, 0x17, 0x49, 0x09, 0x6b, 0x40, + 0xf6, 0xa9, 0x7d, 0x9c, 0xf4, 0x2c, 0x08, 0x41, 0xb2, 0x7c, 0xe0, 0xef, + 0xd7, 0x43, 0x31, 0x10, 0xd8, 0x11, 0x89, 0x55, 0xc8, 0xce, 0xfe, 0xb9, + 0xdb, 0x8e, 0x1c, 0x79, 0x61, 0xeb, 0x3f, 0x51, 0x7f, 0x20, 0x47, 0xd2, + 0x72, 0x81, 0x26, 0x17, 0x60, 0xa5, 0xe2, 0xb2, 0x45, 0x35, 0xbb, 0x6f, + 0x56, 0x5b, 0xb9, 0x71, +}; +static const struct drbg_kat_pr_true kat3376_t = { + 0, kat3376_entropyin, kat3376_nonce, kat3376_persstr, + kat3376_entropyinpr1, kat3376_addinpr1, kat3376_entropyinpr2, + kat3376_addinpr2, kat3376_retbits +}; +static const struct drbg_kat kat3376 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3376_t +}; + +static const unsigned char kat3377_entropyin[] = { + 0xd9, 0xf2, 0xb3, 0xc2, 0x94, 0xf7, 0xc3, 0x2a, 0x9a, 0x66, 0x5f, 0x65, + 0xef, 0x7a, 0x95, 0x2d, 0xe2, 0x20, 0x89, 0x2e, 0xe1, 0xa1, 0x0f, 0x6b, + 0x87, 0x1b, 0x70, 0x98, 0x35, 0x00, 0xf9, 0x7a, +}; +static const unsigned char kat3377_nonce[] = { + 0x80, 0xf7, 0xf8, 0xaa, 0xce, 0x8b, 0x28, 0xf8, 0xb5, 0x35, 0xeb, 0x9d, + 0xd6, 0x3b, 0x17, 0x75, +}; +static const unsigned char kat3377_persstr[] = {0}; +static const unsigned char kat3377_entropyinpr1[] = { + 0x49, 0x6a, 0x1a, 0x11, 0xf8, 0xd8, 0x6c, 0x33, 0x24, 0x32, 0xf1, 0x7e, + 0xec, 0x1a, 0xd4, 0x38, 0x77, 0x0f, 0xc7, 0xba, 0xd9, 0xd3, 0xfc, 0x18, + 0xda, 0x08, 0xcf, 0x6d, 0x3d, 0x64, 0xc2, 0x30, +}; +static const unsigned char kat3377_addinpr1[] = { + 0x66, 0x33, 0x9f, 0x6e, 0x53, 0x47, 0x61, 0xfe, 0xea, 0x28, 0x3d, 0x46, + 0xfb, 0x3f, 0x33, 0xb7, 0x2d, 0x74, 0xd5, 0x98, 0x3a, 0x90, 0xbf, 0xa3, + 0xd9, 0xa9, 0xf8, 0x3b, 0x4c, 0xdd, 0x36, 0x1d, +}; +static const unsigned char kat3377_entropyinpr2[] = { + 0x90, 0xa2, 0x58, 0xcf, 0x29, 0x34, 0x84, 0x0d, 0xbd, 0x5f, 0x6b, 0x82, + 0x2b, 0x34, 0x70, 0xd7, 0x05, 0xb3, 0x72, 0x20, 0xbd, 0x97, 0xdc, 0x9b, + 0xfa, 0x32, 0x0d, 0x96, 0x59, 0xba, 0x4e, 0xe7, +}; +static const unsigned char kat3377_addinpr2[] = { + 0xa2, 0x23, 0xe7, 0xb8, 0xba, 0xa9, 0xba, 0xe1, 0xab, 0x8a, 0x11, 0x4f, + 0x98, 0x0d, 0x01, 0xb7, 0x9b, 0x4f, 0xd7, 0xe3, 0xb9, 0x0d, 0xda, 0xf1, + 0x3c, 0xe5, 0x0a, 0x13, 0x54, 0x18, 0x63, 0x4c, +}; +static const unsigned char kat3377_retbits[] = { + 0x46, 0xb8, 0x83, 0x5a, 0x0b, 0xb1, 0xa6, 0x1f, 0xe3, 0xc3, 0x29, 0x65, + 0x3a, 0x81, 0x77, 0x47, 0x17, 0x4e, 0xd0, 0x50, 0xf6, 0x6f, 0x2e, 0xf5, + 0x15, 0x08, 0x3b, 0xad, 0x17, 0xde, 0x83, 0xd8, 0x62, 0x43, 0xad, 0xe7, + 0xde, 0xb3, 0xe7, 0x29, 0xd7, 0xea, 0x07, 0x98, 0xba, 0x4a, 0x6e, 0x04, + 0x45, 0x6b, 0xed, 0x32, 0x23, 0x54, 0x27, 0x58, 0x36, 0xb2, 0x84, 0x71, + 0x26, 0x0a, 0xdf, 0x5d, +}; +static const struct drbg_kat_pr_true kat3377_t = { + 1, kat3377_entropyin, kat3377_nonce, kat3377_persstr, + kat3377_entropyinpr1, kat3377_addinpr1, kat3377_entropyinpr2, + kat3377_addinpr2, kat3377_retbits +}; +static const struct drbg_kat kat3377 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3377_t +}; + +static const unsigned char kat3378_entropyin[] = { + 0xd3, 0x9d, 0x9d, 0x70, 0x2f, 0xbf, 0x59, 0x9e, 0x55, 0xe6, 0x3b, 0x97, + 0x0b, 0xbd, 0x1f, 0x18, 0xa1, 0xf3, 0x83, 0x05, 0x53, 0xda, 0x8c, 0x4b, + 0xe1, 0xba, 0x7f, 0x4e, 0x1d, 0x50, 0x3f, 0xea, +}; +static const unsigned char kat3378_nonce[] = { + 0x97, 0xc3, 0xd0, 0x72, 0xfc, 0xde, 0xec, 0x21, 0x11, 0xf7, 0x71, 0x07, + 0x48, 0xef, 0xd5, 0x9c, +}; +static const unsigned char kat3378_persstr[] = {0}; +static const unsigned char kat3378_entropyinpr1[] = { + 0xd8, 0x13, 0x7d, 0x18, 0xab, 0xde, 0x9b, 0x2a, 0x74, 0x3d, 0xd2, 0xd7, + 0x81, 0x16, 0x62, 0xe9, 0x51, 0xb6, 0x75, 0xc4, 0x39, 0x42, 0x1e, 0x5b, + 0x06, 0x9c, 0x41, 0x4e, 0x36, 0xcf, 0xff, 0x10, +}; +static const unsigned char kat3378_addinpr1[] = { + 0xff, 0xad, 0xaa, 0x40, 0x16, 0x07, 0x96, 0xb6, 0xee, 0xda, 0xab, 0x1f, + 0x70, 0x67, 0x7e, 0xea, 0xd4, 0x2f, 0x19, 0x1a, 0xfb, 0x4c, 0xe5, 0xfe, + 0xfc, 0x57, 0x51, 0x02, 0x71, 0xd3, 0x8b, 0xe4, +}; +static const unsigned char kat3378_entropyinpr2[] = { + 0x38, 0x4d, 0x13, 0xb4, 0xcd, 0x26, 0xcf, 0x9a, 0x13, 0x98, 0x32, 0x0f, + 0xe4, 0x2c, 0x2b, 0x92, 0x7f, 0xf7, 0xf3, 0xa0, 0xb5, 0x4a, 0xd5, 0xf7, + 0x19, 0x56, 0x2b, 0x5f, 0xac, 0x83, 0x2c, 0xb7, +}; +static const unsigned char kat3378_addinpr2[] = { + 0x73, 0x0d, 0x3a, 0x97, 0xf4, 0xb7, 0x53, 0xab, 0x7f, 0x09, 0x75, 0x1c, + 0x3e, 0xdc, 0xa0, 0x9d, 0x1d, 0x56, 0xda, 0x18, 0x85, 0xe2, 0x78, 0xd7, + 0xc9, 0xfb, 0x7e, 0x53, 0x39, 0xd3, 0xae, 0xfb, +}; +static const unsigned char kat3378_retbits[] = { + 0x71, 0x57, 0x06, 0xf3, 0xcd, 0xc3, 0xae, 0xdb, 0x9b, 0x00, 0x24, 0xd4, + 0x57, 0x6e, 0x9d, 0x7e, 0xf9, 0x17, 0x05, 0xed, 0x67, 0x9b, 0x5b, 0x94, + 0x47, 0x7e, 0x88, 0x2a, 0x60, 0xcc, 0x00, 0x97, 0x28, 0x02, 0xf8, 0x0f, + 0x2a, 0xe4, 0x67, 0x5c, 0x34, 0x3e, 0x2a, 0x23, 0x73, 0x96, 0x98, 0xbf, + 0x89, 0x05, 0xd3, 0xf8, 0x3d, 0x1c, 0x2f, 0x1c, 0x89, 0xb5, 0xef, 0x8a, + 0xd9, 0x83, 0x6f, 0xfd, +}; +static const struct drbg_kat_pr_true kat3378_t = { + 2, kat3378_entropyin, kat3378_nonce, kat3378_persstr, + kat3378_entropyinpr1, kat3378_addinpr1, kat3378_entropyinpr2, + kat3378_addinpr2, kat3378_retbits +}; +static const struct drbg_kat kat3378 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3378_t +}; + +static const unsigned char kat3379_entropyin[] = { + 0x03, 0x52, 0x0d, 0xdd, 0x04, 0x3b, 0x0b, 0x22, 0x9b, 0x16, 0x27, 0x29, + 0x61, 0x20, 0xf0, 0x6a, 0x3b, 0x36, 0x01, 0x76, 0x9c, 0x8e, 0x18, 0x99, + 0xb2, 0x79, 0x99, 0xa7, 0x8e, 0x58, 0xea, 0xc3, +}; +static const unsigned char kat3379_nonce[] = { + 0x48, 0x38, 0x94, 0xd8, 0x05, 0xf5, 0x76, 0xca, 0x44, 0xdb, 0xc5, 0xf5, + 0x3a, 0xb7, 0xf8, 0x2b, +}; +static const unsigned char kat3379_persstr[] = {0}; +static const unsigned char kat3379_entropyinpr1[] = { + 0x1a, 0x65, 0x3e, 0x9d, 0x2a, 0xab, 0x7c, 0x7b, 0x17, 0xb8, 0x90, 0xb4, + 0x58, 0x2d, 0xa6, 0x18, 0x59, 0x03, 0x09, 0x48, 0x4e, 0xc6, 0x30, 0x9e, + 0x9d, 0x5c, 0x7b, 0xc4, 0x18, 0x8f, 0x66, 0x2a, +}; +static const unsigned char kat3379_addinpr1[] = { + 0x82, 0x5e, 0x3c, 0xf1, 0x56, 0xaf, 0x5e, 0xa5, 0x78, 0xb9, 0x1d, 0x72, + 0x76, 0xe4, 0xae, 0x4b, 0xa4, 0xf0, 0x09, 0xe8, 0xa8, 0xa1, 0xa2, 0xa5, + 0x20, 0xcd, 0xa5, 0xbd, 0xb7, 0x04, 0xc8, 0x77, +}; +static const unsigned char kat3379_entropyinpr2[] = { + 0xdb, 0x0d, 0xc2, 0xc0, 0x7d, 0x15, 0xeb, 0x0b, 0x0e, 0x95, 0x62, 0x65, + 0x23, 0x2a, 0xf6, 0x96, 0x09, 0x6b, 0x55, 0x00, 0x80, 0xe3, 0x50, 0xc8, + 0xd7, 0x39, 0x1a, 0x96, 0x2a, 0xf1, 0x38, 0xed, +}; +static const unsigned char kat3379_addinpr2[] = { + 0xd9, 0x1b, 0x43, 0xc7, 0x0f, 0x15, 0x05, 0xad, 0xe9, 0xde, 0xa6, 0x23, + 0x62, 0x7f, 0x3a, 0x75, 0x0e, 0x3a, 0xcd, 0xcd, 0x7a, 0x60, 0x9d, 0xbc, + 0x36, 0x66, 0x84, 0x7b, 0xa9, 0x4e, 0x6f, 0x67, +}; +static const unsigned char kat3379_retbits[] = { + 0xd4, 0xcb, 0xb5, 0xf5, 0xb0, 0x2f, 0x57, 0x1a, 0x64, 0xe2, 0x99, 0xee, + 0xd7, 0x4d, 0xb8, 0x53, 0x4b, 0x93, 0x73, 0x84, 0x1c, 0xae, 0xeb, 0xaa, + 0x85, 0xea, 0x16, 0x4d, 0x78, 0x22, 0x21, 0xbf, 0x0a, 0x6a, 0x87, 0x71, + 0x04, 0x55, 0x11, 0x63, 0xa8, 0xb6, 0xa0, 0xd7, 0xf3, 0xbb, 0xf5, 0xd7, + 0xab, 0xaf, 0x46, 0x1c, 0x9f, 0xf7, 0xab, 0xf9, 0x9f, 0x01, 0x74, 0x01, + 0x69, 0x10, 0xbf, 0x91, +}; +static const struct drbg_kat_pr_true kat3379_t = { + 3, kat3379_entropyin, kat3379_nonce, kat3379_persstr, + kat3379_entropyinpr1, kat3379_addinpr1, kat3379_entropyinpr2, + kat3379_addinpr2, kat3379_retbits +}; +static const struct drbg_kat kat3379 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3379_t +}; + +static const unsigned char kat3380_entropyin[] = { + 0x60, 0xc8, 0x19, 0x9b, 0xfa, 0x57, 0x03, 0x06, 0xf5, 0x45, 0x56, 0x84, + 0x47, 0x86, 0x0b, 0xf8, 0x92, 0x82, 0xcc, 0xfc, 0x8e, 0xf8, 0xa2, 0x3e, + 0xf0, 0x80, 0xb6, 0x5e, 0xf6, 0x25, 0x7d, 0x96, +}; +static const unsigned char kat3380_nonce[] = { + 0x8b, 0x62, 0xf3, 0x8f, 0x93, 0x62, 0x55, 0x42, 0x69, 0x8f, 0xf7, 0x27, + 0x7b, 0x69, 0x07, 0x03, +}; +static const unsigned char kat3380_persstr[] = {0}; +static const unsigned char kat3380_entropyinpr1[] = { + 0x68, 0x5d, 0x84, 0x11, 0xfb, 0x4c, 0x3c, 0xb6, 0x36, 0xa9, 0xaf, 0xcd, + 0x68, 0x2c, 0xe8, 0x26, 0x2e, 0x99, 0xb6, 0x31, 0xd2, 0xa3, 0x57, 0xcf, + 0x7f, 0xe0, 0xe3, 0x68, 0x4f, 0x8c, 0x9b, 0xaf, +}; +static const unsigned char kat3380_addinpr1[] = { + 0x63, 0x62, 0x9a, 0xae, 0xe0, 0x7f, 0xa8, 0x54, 0x66, 0xea, 0x16, 0x96, + 0x4d, 0x79, 0xf6, 0x4b, 0xfc, 0xde, 0x89, 0xdd, 0xf1, 0x4c, 0xd4, 0x55, + 0x3c, 0xf7, 0x91, 0xbf, 0xe9, 0x56, 0x8f, 0x5a, +}; +static const unsigned char kat3380_entropyinpr2[] = { + 0x89, 0xfc, 0x1b, 0xef, 0xee, 0x86, 0xc4, 0x3d, 0xe4, 0x34, 0x56, 0x5b, + 0xb1, 0x7f, 0xee, 0xb5, 0x34, 0x7a, 0x01, 0xca, 0x1d, 0x6d, 0x96, 0x1d, + 0x73, 0x01, 0x13, 0x08, 0x54, 0xbe, 0x61, 0xf4, +}; +static const unsigned char kat3380_addinpr2[] = { + 0xff, 0x08, 0x7b, 0xd4, 0xf5, 0x83, 0x26, 0x8e, 0x20, 0xe7, 0x48, 0x63, + 0xd9, 0x6a, 0x3e, 0x56, 0xa5, 0x46, 0x22, 0x65, 0x2f, 0xbb, 0x71, 0x0d, + 0xd8, 0x9c, 0xc2, 0xe8, 0x39, 0xe2, 0xc7, 0x37, +}; +static const unsigned char kat3380_retbits[] = { + 0xbd, 0x01, 0xc3, 0xe2, 0x35, 0x48, 0xfb, 0x30, 0x76, 0xdb, 0x9a, 0xe7, + 0x2c, 0x2c, 0xd6, 0x1b, 0xfc, 0x6c, 0x92, 0xc4, 0xab, 0xe2, 0x61, 0x96, + 0x9a, 0xaf, 0x54, 0xd3, 0x60, 0x3f, 0xd3, 0xa1, 0xec, 0xb7, 0xf0, 0x78, + 0xce, 0x29, 0x1a, 0x98, 0xa2, 0x57, 0xf8, 0xa9, 0xe8, 0xb2, 0x55, 0xaf, + 0x40, 0x3c, 0x3f, 0xf7, 0x2f, 0x09, 0x1c, 0x04, 0xd7, 0x02, 0x77, 0x88, + 0xc2, 0xea, 0x5b, 0xd6, +}; +static const struct drbg_kat_pr_true kat3380_t = { + 4, kat3380_entropyin, kat3380_nonce, kat3380_persstr, + kat3380_entropyinpr1, kat3380_addinpr1, kat3380_entropyinpr2, + kat3380_addinpr2, kat3380_retbits +}; +static const struct drbg_kat kat3380 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3380_t +}; + +static const unsigned char kat3381_entropyin[] = { + 0x05, 0x4e, 0x48, 0x5b, 0x9e, 0xf4, 0x3c, 0x22, 0x74, 0x18, 0x5d, 0xdb, + 0x02, 0x8f, 0x63, 0xbe, 0x49, 0xa6, 0x51, 0xdf, 0x02, 0xf8, 0xd3, 0x82, + 0x2c, 0xcb, 0x48, 0x1d, 0xeb, 0xb9, 0x91, 0x77, +}; +static const unsigned char kat3381_nonce[] = { + 0x5e, 0x2b, 0xf7, 0x58, 0xb9, 0xf1, 0x32, 0x2c, 0xb8, 0x16, 0xa8, 0x2a, + 0x2e, 0x12, 0xa4, 0x5e, +}; +static const unsigned char kat3381_persstr[] = {0}; +static const unsigned char kat3381_entropyinpr1[] = { + 0x4a, 0x28, 0xb7, 0xef, 0x75, 0x5a, 0xc4, 0xf7, 0x0a, 0x96, 0x37, 0x99, + 0x10, 0xe6, 0x2d, 0x7b, 0x55, 0x88, 0x42, 0x48, 0x4d, 0xde, 0x1a, 0x9a, + 0x84, 0x37, 0x64, 0x33, 0xfd, 0x22, 0xa8, 0xf5, +}; +static const unsigned char kat3381_addinpr1[] = { + 0xe0, 0x52, 0xd7, 0x34, 0x16, 0xfc, 0x25, 0xb9, 0x71, 0x60, 0x18, 0xa6, + 0x20, 0x2c, 0xe8, 0x99, 0xe0, 0xcd, 0x57, 0x3e, 0xc3, 0x78, 0x43, 0xd2, + 0x30, 0x06, 0x13, 0xed, 0x5c, 0x2d, 0x4f, 0xed, +}; +static const unsigned char kat3381_entropyinpr2[] = { + 0xad, 0x33, 0x2f, 0x07, 0xf3, 0x6d, 0xc1, 0xf8, 0x07, 0x70, 0x94, 0xa7, + 0xa4, 0xd2, 0xf9, 0x20, 0x38, 0xbc, 0x4b, 0x23, 0x79, 0x31, 0x59, 0xcb, + 0x39, 0x1f, 0x11, 0x45, 0xdb, 0x9c, 0x0b, 0x36, +}; +static const unsigned char kat3381_addinpr2[] = { + 0xf8, 0xf6, 0x5a, 0xb9, 0xb1, 0x1e, 0x2e, 0xa8, 0xf4, 0x6e, 0xea, 0xfb, + 0xef, 0x2a, 0x8a, 0x17, 0xdd, 0x0d, 0xdd, 0x4b, 0x3c, 0x5f, 0x75, 0xf5, + 0x71, 0x6d, 0x21, 0xdb, 0xcb, 0x73, 0x82, 0x91, +}; +static const unsigned char kat3381_retbits[] = { + 0x61, 0xb4, 0xea, 0xa4, 0x5b, 0xaa, 0x22, 0xb6, 0x85, 0x09, 0xcf, 0x76, + 0xe4, 0xcc, 0xc5, 0xbc, 0x55, 0x0b, 0x4e, 0x10, 0x24, 0x72, 0xed, 0x31, + 0xd2, 0x87, 0xcf, 0xbb, 0x9c, 0x9b, 0xbf, 0xdb, 0xd2, 0xf9, 0x63, 0x3a, + 0x3f, 0x11, 0x24, 0xf2, 0x18, 0xd7, 0xd3, 0x6c, 0xd4, 0xf8, 0x01, 0xd7, + 0xe5, 0xb8, 0xee, 0xa6, 0x4b, 0x80, 0x18, 0x11, 0x28, 0x68, 0xa2, 0x6c, + 0x1a, 0x0d, 0x0c, 0xc6, +}; +static const struct drbg_kat_pr_true kat3381_t = { + 5, kat3381_entropyin, kat3381_nonce, kat3381_persstr, + kat3381_entropyinpr1, kat3381_addinpr1, kat3381_entropyinpr2, + kat3381_addinpr2, kat3381_retbits +}; +static const struct drbg_kat kat3381 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3381_t +}; + +static const unsigned char kat3382_entropyin[] = { + 0xd2, 0x26, 0x71, 0x02, 0x4d, 0xcb, 0x5d, 0xf2, 0xee, 0x4f, 0x29, 0x3f, + 0xfe, 0x3d, 0xea, 0xac, 0x81, 0xad, 0xb0, 0xe3, 0xe9, 0xf4, 0xc6, 0x72, + 0x32, 0x23, 0xd2, 0x0b, 0xaf, 0x89, 0xac, 0x0f, +}; +static const unsigned char kat3382_nonce[] = { + 0x17, 0x3c, 0xb7, 0xce, 0x36, 0x87, 0xbf, 0xf6, 0x39, 0xff, 0xf8, 0x54, + 0x46, 0x06, 0x79, 0x4a, +}; +static const unsigned char kat3382_persstr[] = {0}; +static const unsigned char kat3382_entropyinpr1[] = { + 0xbb, 0x4a, 0x0d, 0xcb, 0x40, 0x76, 0xe3, 0x42, 0x8d, 0xb1, 0x5c, 0xc7, + 0x50, 0x82, 0x85, 0xaf, 0x2f, 0x52, 0x17, 0xf6, 0xdb, 0x28, 0xce, 0xff, + 0x93, 0xe1, 0xfe, 0x8f, 0x44, 0x95, 0x64, 0xc6, +}; +static const unsigned char kat3382_addinpr1[] = { + 0x34, 0xd4, 0x7a, 0xe5, 0x81, 0x9c, 0xfd, 0x6d, 0xa3, 0x26, 0xf3, 0xe8, + 0x99, 0x09, 0x98, 0x9d, 0x0a, 0x32, 0xc2, 0x06, 0x4d, 0x3e, 0x6e, 0xde, + 0x31, 0xc6, 0x8c, 0xff, 0xcd, 0xdb, 0x86, 0x20, +}; +static const unsigned char kat3382_entropyinpr2[] = { + 0x0b, 0xbb, 0x4b, 0x34, 0xe8, 0xa4, 0xc9, 0xe4, 0x39, 0xbf, 0x9e, 0xce, + 0x4d, 0x5f, 0x44, 0xdf, 0x56, 0x46, 0xdb, 0x61, 0x8b, 0x70, 0xdf, 0xe6, + 0xf5, 0xc3, 0x03, 0x2d, 0x81, 0x4c, 0xc4, 0xf4, +}; +static const unsigned char kat3382_addinpr2[] = { + 0x42, 0xcd, 0xef, 0xf9, 0xf5, 0x29, 0x7a, 0x70, 0x8f, 0xa7, 0xc1, 0x6a, + 0x93, 0x1a, 0x1a, 0x62, 0x78, 0x1f, 0xbc, 0xbd, 0xb0, 0x37, 0xe4, 0xd3, + 0xf7, 0x8b, 0x29, 0x55, 0x23, 0xba, 0x87, 0x5f, +}; +static const unsigned char kat3382_retbits[] = { + 0x1e, 0xca, 0xee, 0x88, 0x88, 0x79, 0x1c, 0xb5, 0x20, 0xcf, 0x91, 0x8c, + 0xdb, 0xb9, 0x48, 0xad, 0x4b, 0xcb, 0x89, 0x68, 0x1b, 0x22, 0xf8, 0xa5, + 0x13, 0x3b, 0x71, 0x84, 0x8e, 0x78, 0xf2, 0x17, 0x3f, 0xcb, 0xee, 0xb1, + 0x06, 0xa6, 0x20, 0x09, 0x2a, 0x12, 0x7f, 0x0d, 0x79, 0x43, 0xbb, 0x0d, + 0xce, 0x6d, 0x5c, 0xf2, 0xfe, 0x47, 0xc7, 0x80, 0xc8, 0xf8, 0xe3, 0xa1, + 0xca, 0x75, 0xef, 0x0e, +}; +static const struct drbg_kat_pr_true kat3382_t = { + 6, kat3382_entropyin, kat3382_nonce, kat3382_persstr, + kat3382_entropyinpr1, kat3382_addinpr1, kat3382_entropyinpr2, + kat3382_addinpr2, kat3382_retbits +}; +static const struct drbg_kat kat3382 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3382_t +}; + +static const unsigned char kat3383_entropyin[] = { + 0xc8, 0x0c, 0x8f, 0xe8, 0x07, 0xc4, 0x28, 0x01, 0x72, 0x25, 0xa5, 0xc2, + 0x47, 0x2b, 0x6e, 0x00, 0xe7, 0x18, 0x68, 0x27, 0x05, 0x01, 0xd7, 0x04, + 0x7b, 0x49, 0x2c, 0x85, 0x83, 0x9e, 0x17, 0x5f, +}; +static const unsigned char kat3383_nonce[] = { + 0x20, 0x82, 0xa7, 0x24, 0x4a, 0x51, 0xfd, 0x6a, 0x19, 0x90, 0x80, 0x34, + 0xc5, 0x68, 0x48, 0x69, +}; +static const unsigned char kat3383_persstr[] = {0}; +static const unsigned char kat3383_entropyinpr1[] = { + 0x38, 0x61, 0x69, 0x44, 0x09, 0x25, 0x05, 0x37, 0xc2, 0xff, 0xad, 0x39, + 0x0f, 0xb8, 0x7e, 0xc5, 0xf3, 0x60, 0x62, 0xbd, 0xef, 0x34, 0xf9, 0x7a, + 0x67, 0xc4, 0x0e, 0x71, 0xef, 0x67, 0x8e, 0x2d, +}; +static const unsigned char kat3383_addinpr1[] = { + 0x62, 0xfa, 0x4f, 0x96, 0xd3, 0xeb, 0xa7, 0x1a, 0x9d, 0xbb, 0x0b, 0x20, + 0x5a, 0x17, 0x9f, 0xb3, 0xcb, 0xbb, 0x63, 0xa8, 0xa1, 0x51, 0x96, 0x56, + 0xec, 0x20, 0x50, 0x07, 0x42, 0x46, 0x40, 0x0d, +}; +static const unsigned char kat3383_entropyinpr2[] = { + 0x8f, 0x0d, 0x69, 0x05, 0xca, 0x5d, 0x20, 0x01, 0x99, 0xe2, 0xec, 0x52, + 0xfb, 0xc1, 0x05, 0x87, 0xce, 0x81, 0x0e, 0x64, 0xd6, 0x9f, 0x29, 0x5b, + 0x15, 0x6f, 0x18, 0x8f, 0x84, 0xbd, 0xdb, 0xf0, +}; +static const unsigned char kat3383_addinpr2[] = { + 0x0d, 0x02, 0xf7, 0x49, 0xd2, 0xfa, 0x74, 0x67, 0xbd, 0xe1, 0x65, 0x5c, + 0x93, 0xa9, 0x55, 0x17, 0x78, 0x8a, 0xf0, 0xef, 0xef, 0x0e, 0xbc, 0xff, + 0xe8, 0x58, 0x3f, 0x4f, 0xdf, 0x6f, 0xf2, 0x3e, +}; +static const unsigned char kat3383_retbits[] = { + 0xce, 0x17, 0x56, 0xc7, 0x56, 0xb8, 0x33, 0x4f, 0x21, 0xb5, 0xa6, 0x12, + 0x12, 0x97, 0x75, 0xa6, 0x62, 0xeb, 0xde, 0x56, 0xe9, 0x99, 0x36, 0x52, + 0x72, 0x73, 0x65, 0x85, 0x06, 0x1b, 0x66, 0xd5, 0x30, 0xa0, 0xc0, 0x2c, + 0x24, 0xc7, 0x14, 0x5d, 0x53, 0x1e, 0xc6, 0xfc, 0x5f, 0x46, 0x06, 0x96, + 0x51, 0x63, 0xb2, 0x1f, 0xf6, 0x63, 0xbe, 0x1c, 0xcc, 0x5f, 0x33, 0xd9, + 0x23, 0xa4, 0x2a, 0x49, +}; +static const struct drbg_kat_pr_true kat3383_t = { + 7, kat3383_entropyin, kat3383_nonce, kat3383_persstr, + kat3383_entropyinpr1, kat3383_addinpr1, kat3383_entropyinpr2, + kat3383_addinpr2, kat3383_retbits +}; +static const struct drbg_kat kat3383 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3383_t +}; + +static const unsigned char kat3384_entropyin[] = { + 0x52, 0x14, 0x28, 0xbc, 0xe4, 0xbd, 0x59, 0xb3, 0xbd, 0xf0, 0xc2, 0x20, + 0x96, 0xf8, 0x50, 0x0f, 0xf0, 0x79, 0xf5, 0xe9, 0xad, 0x47, 0x26, 0x44, + 0x55, 0x65, 0x70, 0x59, 0xf5, 0x2f, 0x58, 0x69, +}; +static const unsigned char kat3384_nonce[] = { + 0x88, 0x36, 0xb6, 0xa6, 0xae, 0xaa, 0x60, 0x01, 0x27, 0x67, 0x68, 0xb6, + 0xc8, 0xca, 0xc2, 0x32, +}; +static const unsigned char kat3384_persstr[] = {0}; +static const unsigned char kat3384_entropyinpr1[] = { + 0x2b, 0xcd, 0x59, 0xcf, 0x48, 0xf6, 0x9a, 0xb7, 0x72, 0x56, 0x44, 0x6a, + 0xe6, 0x34, 0x77, 0x46, 0x15, 0xa8, 0x5e, 0xfa, 0xfc, 0xf0, 0xb0, 0x56, + 0xfa, 0x0f, 0x5d, 0x02, 0x35, 0xd7, 0x9f, 0xd1, +}; +static const unsigned char kat3384_addinpr1[] = { + 0x31, 0x79, 0xda, 0xef, 0x3c, 0x3e, 0x53, 0x09, 0x4f, 0x7e, 0xe6, 0x21, + 0x3f, 0xf7, 0x43, 0x33, 0xc9, 0x8d, 0x3a, 0x06, 0x98, 0xaf, 0xf9, 0x97, + 0xec, 0x3c, 0x40, 0x87, 0x67, 0x6b, 0xe7, 0x3f, +}; +static const unsigned char kat3384_entropyinpr2[] = { + 0x4d, 0x29, 0x60, 0x7e, 0x27, 0x0c, 0x98, 0xa5, 0x41, 0x45, 0xb6, 0x58, + 0xd9, 0x21, 0x67, 0x35, 0x0f, 0xf1, 0x0c, 0xab, 0x78, 0xe9, 0x59, 0x58, + 0xd1, 0x8a, 0x10, 0xe4, 0xfc, 0x48, 0xe1, 0x2a, +}; +static const unsigned char kat3384_addinpr2[] = { + 0xb6, 0x51, 0xbd, 0xcb, 0xf5, 0x9a, 0x75, 0x44, 0x81, 0xe8, 0xae, 0x5c, + 0xc7, 0x81, 0xbf, 0x4b, 0x40, 0x86, 0x55, 0xbd, 0xb6, 0x9d, 0x5a, 0x68, + 0x3a, 0xa9, 0x6d, 0xe0, 0x36, 0xaa, 0x18, 0x4b, +}; +static const unsigned char kat3384_retbits[] = { + 0x5e, 0xf6, 0x9a, 0xef, 0x75, 0x83, 0xe9, 0x87, 0xc5, 0x02, 0x3a, 0x77, + 0x4c, 0x3c, 0xfa, 0x90, 0x4b, 0xdc, 0xd1, 0xa8, 0x41, 0x36, 0x49, 0x88, + 0x4e, 0xe2, 0x6b, 0xe0, 0x3f, 0xde, 0x12, 0xcd, 0x2d, 0x0c, 0xad, 0x61, + 0xa2, 0x73, 0x8f, 0x3f, 0xec, 0xf7, 0xf4, 0xb1, 0xd9, 0xea, 0x1d, 0x6d, + 0x83, 0x0c, 0xf9, 0x9a, 0x6b, 0xab, 0x25, 0xd5, 0x56, 0x8d, 0xa2, 0xbb, + 0x18, 0x0d, 0xcf, 0x7c, +}; +static const struct drbg_kat_pr_true kat3384_t = { + 8, kat3384_entropyin, kat3384_nonce, kat3384_persstr, + kat3384_entropyinpr1, kat3384_addinpr1, kat3384_entropyinpr2, + kat3384_addinpr2, kat3384_retbits +}; +static const struct drbg_kat kat3384 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3384_t +}; + +static const unsigned char kat3385_entropyin[] = { + 0x0c, 0x6a, 0x28, 0x09, 0xb3, 0x52, 0x7b, 0xd9, 0x8e, 0x4e, 0x50, 0xf7, + 0xe0, 0xe2, 0x92, 0x7c, 0x14, 0xd8, 0x22, 0xb7, 0x1d, 0xb0, 0xd0, 0x7f, + 0x7f, 0x1f, 0x6d, 0x88, 0x04, 0x22, 0xfc, 0xb9, +}; +static const unsigned char kat3385_nonce[] = { + 0x6a, 0x13, 0x68, 0x51, 0x87, 0xd9, 0x3a, 0x3d, 0xa6, 0xed, 0x6d, 0xfe, + 0xe2, 0xce, 0x28, 0xfc, +}; +static const unsigned char kat3385_persstr[] = {0}; +static const unsigned char kat3385_entropyinpr1[] = { + 0x3f, 0x1e, 0x55, 0x89, 0x89, 0x08, 0x56, 0x09, 0xa3, 0x64, 0x2c, 0xeb, + 0xbb, 0x82, 0x1a, 0x8b, 0xe6, 0x92, 0x6c, 0x54, 0xc2, 0xe0, 0x5c, 0x29, + 0x6e, 0x6d, 0x7e, 0x94, 0x10, 0x5d, 0x1f, 0xf5, +}; +static const unsigned char kat3385_addinpr1[] = { + 0x7e, 0x85, 0xf4, 0xac, 0x00, 0xbb, 0x6c, 0x86, 0xb4, 0x77, 0x01, 0x99, + 0x56, 0xc6, 0xdd, 0xc1, 0x28, 0x0f, 0xf1, 0x31, 0x42, 0x99, 0xd3, 0x17, + 0xdd, 0xb1, 0x71, 0x61, 0x52, 0x4b, 0x74, 0x38, +}; +static const unsigned char kat3385_entropyinpr2[] = { + 0x70, 0x8d, 0x35, 0xcf, 0x39, 0x83, 0x83, 0x98, 0x1e, 0x84, 0x66, 0xeb, + 0x80, 0x4f, 0x14, 0x73, 0x5b, 0xb5, 0x29, 0x39, 0x90, 0x11, 0x28, 0xbb, + 0xe9, 0x29, 0x68, 0x63, 0x38, 0x43, 0x24, 0x71, +}; +static const unsigned char kat3385_addinpr2[] = { + 0x4c, 0x2e, 0xf9, 0x39, 0xce, 0xef, 0xd0, 0xe3, 0x12, 0xf8, 0x7b, 0x34, + 0xad, 0xb3, 0x7c, 0x1d, 0x10, 0x33, 0x01, 0x1d, 0x36, 0x76, 0x86, 0x4e, + 0x70, 0x70, 0x5f, 0x70, 0xf3, 0x66, 0xfb, 0x29, +}; +static const unsigned char kat3385_retbits[] = { + 0x80, 0xcc, 0x65, 0xb5, 0x41, 0xd1, 0xf8, 0xe0, 0xf7, 0xa3, 0x93, 0x0e, + 0x87, 0xeb, 0x10, 0x2f, 0xc0, 0x81, 0xd3, 0x95, 0x5d, 0x3c, 0x73, 0x5a, + 0x93, 0x80, 0x17, 0x79, 0xc7, 0x53, 0x57, 0x46, 0xb8, 0x6f, 0x26, 0x36, + 0x78, 0x22, 0xfa, 0xc3, 0xd6, 0xd4, 0x87, 0x12, 0xcf, 0xdb, 0xee, 0x0e, + 0xf3, 0xf3, 0x50, 0x65, 0x27, 0xf4, 0x26, 0xbb, 0x4f, 0xb6, 0xb1, 0x46, + 0xab, 0xfb, 0x55, 0xbb, +}; +static const struct drbg_kat_pr_true kat3385_t = { + 9, kat3385_entropyin, kat3385_nonce, kat3385_persstr, + kat3385_entropyinpr1, kat3385_addinpr1, kat3385_entropyinpr2, + kat3385_addinpr2, kat3385_retbits +}; +static const struct drbg_kat kat3385 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3385_t +}; + +static const unsigned char kat3386_entropyin[] = { + 0x04, 0x8c, 0x22, 0xa3, 0xcc, 0xa7, 0xd6, 0xf1, 0x69, 0x42, 0x19, 0x91, + 0xfd, 0xa9, 0x00, 0xac, 0x8b, 0xe5, 0xae, 0x75, 0x54, 0xef, 0xd9, 0x25, + 0x3c, 0x52, 0xa6, 0x3f, 0xac, 0x5e, 0xae, 0xe6, +}; +static const unsigned char kat3386_nonce[] = { + 0x4a, 0xaf, 0xc3, 0x10, 0x7b, 0x59, 0xe2, 0xf3, 0xc0, 0x2c, 0xdb, 0x0e, + 0xd5, 0xba, 0x84, 0x8f, +}; +static const unsigned char kat3386_persstr[] = {0}; +static const unsigned char kat3386_entropyinpr1[] = { + 0x16, 0x2b, 0x46, 0x1f, 0xcf, 0x56, 0x72, 0x49, 0xca, 0xee, 0x3f, 0x10, + 0x23, 0x35, 0x90, 0xe4, 0xa4, 0x58, 0x90, 0x45, 0x54, 0x26, 0xba, 0x54, + 0x49, 0x20, 0x67, 0x6e, 0x3f, 0x88, 0x70, 0xd0, +}; +static const unsigned char kat3386_addinpr1[] = { + 0x29, 0x22, 0x1f, 0x30, 0x90, 0x24, 0xab, 0x8c, 0x64, 0x16, 0x39, 0x36, + 0x26, 0xfd, 0xa8, 0xf1, 0xf8, 0x58, 0x5a, 0x98, 0x66, 0x72, 0xc2, 0x90, + 0x5f, 0x9e, 0xb7, 0xc5, 0x3d, 0x01, 0x87, 0xe6, +}; +static const unsigned char kat3386_entropyinpr2[] = { + 0x3d, 0xdb, 0xb0, 0x26, 0xb7, 0x61, 0x94, 0x9b, 0x58, 0x7a, 0xe4, 0xcf, + 0xb7, 0x64, 0xc5, 0xe2, 0x14, 0x9f, 0x7e, 0xba, 0xa8, 0x19, 0x21, 0x2a, + 0x6f, 0xff, 0x71, 0xa7, 0x57, 0x1e, 0x7b, 0x27, +}; +static const unsigned char kat3386_addinpr2[] = { + 0x56, 0x84, 0x43, 0x99, 0x9e, 0x55, 0x6e, 0x9d, 0x7e, 0x4d, 0x67, 0x14, + 0xc5, 0x2c, 0x32, 0xf0, 0x5a, 0x29, 0x7d, 0x13, 0x69, 0x9c, 0x8d, 0xd9, + 0x7d, 0x9c, 0xb3, 0xc4, 0x92, 0x2b, 0x19, 0xe1, +}; +static const unsigned char kat3386_retbits[] = { + 0x9d, 0xb1, 0x29, 0x3d, 0x4d, 0xb9, 0xf7, 0xe4, 0x9f, 0x5f, 0x29, 0xdb, + 0x60, 0x56, 0xa3, 0x44, 0x13, 0x71, 0x45, 0x89, 0x72, 0xf1, 0x65, 0x3a, + 0x3f, 0xfe, 0xa9, 0xc6, 0x5f, 0x20, 0xa7, 0x66, 0x27, 0x32, 0xf2, 0xa4, + 0x81, 0xcf, 0x2a, 0xd5, 0xb8, 0x6f, 0xbb, 0xa8, 0x5d, 0x9f, 0x72, 0x5f, + 0xc0, 0xd1, 0x02, 0xa4, 0x05, 0x80, 0x17, 0x94, 0x98, 0xe7, 0x21, 0x24, + 0x3a, 0x76, 0xc1, 0x4e, +}; +static const struct drbg_kat_pr_true kat3386_t = { + 10, kat3386_entropyin, kat3386_nonce, kat3386_persstr, + kat3386_entropyinpr1, kat3386_addinpr1, kat3386_entropyinpr2, + kat3386_addinpr2, kat3386_retbits +}; +static const struct drbg_kat kat3386 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3386_t +}; + +static const unsigned char kat3387_entropyin[] = { + 0xf3, 0xf1, 0xb4, 0xa1, 0x94, 0x2c, 0x88, 0xd6, 0x32, 0x9f, 0x3b, 0x64, + 0x20, 0x49, 0x2d, 0x30, 0x6c, 0x0a, 0x52, 0x08, 0x4a, 0xd2, 0x59, 0xdc, + 0xfe, 0xdc, 0xdb, 0xb8, 0xfd, 0x7c, 0xf1, 0xba, +}; +static const unsigned char kat3387_nonce[] = { + 0x05, 0x80, 0xc4, 0xa9, 0x40, 0xf2, 0xed, 0xc0, 0x90, 0x43, 0xed, 0x2c, + 0x63, 0x94, 0x09, 0xfd, +}; +static const unsigned char kat3387_persstr[] = {0}; +static const unsigned char kat3387_entropyinpr1[] = { + 0x5a, 0xdb, 0xb2, 0xe9, 0x88, 0xfb, 0xba, 0x65, 0xca, 0x4e, 0x63, 0x4a, + 0xcf, 0x63, 0x4f, 0xd8, 0x0b, 0xc0, 0x16, 0x08, 0xc9, 0x8a, 0x28, 0x9c, + 0x19, 0x57, 0x04, 0x22, 0xd4, 0x4b, 0x48, 0x0c, +}; +static const unsigned char kat3387_addinpr1[] = { + 0xf8, 0xd0, 0x95, 0x8f, 0xe0, 0x37, 0xae, 0xfe, 0x31, 0x97, 0xe1, 0x12, + 0xaf, 0xf2, 0x08, 0xea, 0x78, 0xc3, 0x0f, 0x63, 0xb5, 0x9a, 0x76, 0xdd, + 0x3f, 0xfc, 0xbd, 0x9a, 0xba, 0x8d, 0x2e, 0xea, +}; +static const unsigned char kat3387_entropyinpr2[] = { + 0x87, 0x3c, 0x57, 0x2e, 0x17, 0x24, 0x14, 0x78, 0x56, 0xb9, 0x1b, 0xde, + 0xed, 0x82, 0xf7, 0x6c, 0x2a, 0xde, 0x71, 0xf7, 0x0f, 0x16, 0x7d, 0x8b, + 0x0b, 0xed, 0x6a, 0xc3, 0x3d, 0x7f, 0xd5, 0x7e, +}; +static const unsigned char kat3387_addinpr2[] = { + 0x72, 0xe5, 0xe9, 0xa8, 0x40, 0x0e, 0xf6, 0x9c, 0x85, 0x57, 0x52, 0x97, + 0xae, 0xad, 0x7a, 0x79, 0x20, 0x73, 0xc9, 0xd6, 0x59, 0x64, 0xa3, 0x11, + 0x8e, 0x31, 0x90, 0x44, 0xb1, 0x49, 0xba, 0x27, +}; +static const unsigned char kat3387_retbits[] = { + 0x79, 0x56, 0x5b, 0x44, 0x13, 0xd0, 0xc6, 0x33, 0x94, 0xc5, 0x29, 0x96, + 0xae, 0xa4, 0xcc, 0xf3, 0xf2, 0xf8, 0x2e, 0xab, 0x7d, 0x0a, 0xb0, 0x4b, + 0x34, 0x9a, 0x87, 0xb2, 0x38, 0x05, 0xe8, 0x5d, 0xb9, 0xcb, 0x32, 0x91, + 0xb6, 0x44, 0x8b, 0xdd, 0x2e, 0x77, 0x2e, 0x97, 0xfd, 0x12, 0x47, 0x96, + 0x0e, 0x93, 0x71, 0xb4, 0x14, 0x88, 0x22, 0x28, 0xc2, 0x6c, 0xa5, 0xe2, + 0xe3, 0xcb, 0x69, 0xc3, +}; +static const struct drbg_kat_pr_true kat3387_t = { + 11, kat3387_entropyin, kat3387_nonce, kat3387_persstr, + kat3387_entropyinpr1, kat3387_addinpr1, kat3387_entropyinpr2, + kat3387_addinpr2, kat3387_retbits +}; +static const struct drbg_kat kat3387 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3387_t +}; + +static const unsigned char kat3388_entropyin[] = { + 0x53, 0x76, 0x51, 0x0b, 0xef, 0xbf, 0x7f, 0xb9, 0x27, 0x3f, 0xba, 0x26, + 0x1d, 0xab, 0x50, 0x5f, 0x6e, 0xb2, 0xe5, 0x29, 0x1d, 0x5c, 0x9f, 0xe4, + 0xf6, 0x8b, 0x98, 0xea, 0xe5, 0xb2, 0xb4, 0xd8, +}; +static const unsigned char kat3388_nonce[] = { + 0x1e, 0x33, 0x04, 0x90, 0xcd, 0x10, 0x71, 0x1b, 0xf5, 0x1e, 0x65, 0x8b, + 0x65, 0x70, 0xad, 0x52, +}; +static const unsigned char kat3388_persstr[] = {0}; +static const unsigned char kat3388_entropyinpr1[] = { + 0x32, 0x32, 0xd2, 0x0c, 0xaf, 0xcb, 0xe2, 0xf2, 0xa7, 0x67, 0x62, 0xc5, + 0x17, 0x79, 0x21, 0x8c, 0xd7, 0x87, 0xd4, 0x14, 0x26, 0x93, 0x47, 0xf6, + 0x35, 0xe4, 0xa7, 0xcb, 0x1a, 0xcb, 0x98, 0xf4, +}; +static const unsigned char kat3388_addinpr1[] = { + 0xa0, 0x45, 0xab, 0x54, 0x6c, 0x97, 0x2e, 0x57, 0xbb, 0x99, 0x1d, 0x65, + 0xd7, 0xd3, 0x84, 0x55, 0x7d, 0x78, 0xc6, 0xe5, 0xc3, 0x76, 0x43, 0xf0, + 0xde, 0xab, 0xba, 0xfa, 0x25, 0x18, 0x9c, 0x5d, +}; +static const unsigned char kat3388_entropyinpr2[] = { + 0xae, 0x06, 0x16, 0x7f, 0xa0, 0xd7, 0x10, 0x9b, 0x0d, 0x12, 0x40, 0x91, + 0x58, 0x77, 0xd7, 0x1c, 0x6e, 0x24, 0x5a, 0x9e, 0x74, 0x22, 0xfd, 0xb9, + 0x3b, 0x9b, 0xa3, 0xe0, 0xaa, 0xe6, 0xe5, 0x8a, +}; +static const unsigned char kat3388_addinpr2[] = { + 0xa7, 0x3d, 0x00, 0x7f, 0x14, 0xd9, 0x0e, 0x2e, 0x09, 0x1a, 0x44, 0xbe, + 0x04, 0x17, 0xfb, 0x8e, 0x2c, 0x30, 0x0e, 0xcf, 0x94, 0xd6, 0x8f, 0xb5, + 0xdf, 0x5a, 0x99, 0x18, 0x24, 0x93, 0x1a, 0x80, +}; +static const unsigned char kat3388_retbits[] = { + 0x89, 0x8d, 0x5a, 0x6c, 0x2f, 0x5f, 0x47, 0x4e, 0x1e, 0xf2, 0x4f, 0xf8, + 0x56, 0xf4, 0x50, 0x71, 0x96, 0xa6, 0x7a, 0x79, 0xe7, 0x22, 0xb4, 0xce, + 0xd7, 0x10, 0x2a, 0x37, 0xa4, 0x3f, 0x42, 0x30, 0x6c, 0xa8, 0xcf, 0x03, + 0x6c, 0x24, 0x29, 0x71, 0x38, 0xf7, 0x8b, 0x84, 0x60, 0x3b, 0x73, 0x7d, + 0x36, 0x9a, 0xe1, 0x62, 0xca, 0xfe, 0x5e, 0x63, 0xff, 0x74, 0x9d, 0xc2, + 0xca, 0x49, 0xee, 0x84, +}; +static const struct drbg_kat_pr_true kat3388_t = { + 12, kat3388_entropyin, kat3388_nonce, kat3388_persstr, + kat3388_entropyinpr1, kat3388_addinpr1, kat3388_entropyinpr2, + kat3388_addinpr2, kat3388_retbits +}; +static const struct drbg_kat kat3388 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3388_t +}; + +static const unsigned char kat3389_entropyin[] = { + 0xe0, 0x21, 0x3e, 0x7a, 0x37, 0x41, 0x69, 0x71, 0x2b, 0x6e, 0x19, 0x01, + 0x5f, 0x6e, 0xff, 0x12, 0x76, 0xa2, 0xa2, 0x2f, 0x21, 0x38, 0x89, 0xbb, + 0x0c, 0xf2, 0xfe, 0xd7, 0x27, 0xd4, 0x37, 0xfd, +}; +static const unsigned char kat3389_nonce[] = { + 0xda, 0x92, 0x30, 0xc4, 0x5b, 0xed, 0xbe, 0x6b, 0x93, 0xe1, 0xca, 0x78, + 0x35, 0x2b, 0x5c, 0xcd, +}; +static const unsigned char kat3389_persstr[] = {0}; +static const unsigned char kat3389_entropyinpr1[] = { + 0x09, 0xb3, 0x1b, 0x90, 0x60, 0xaa, 0x02, 0x96, 0x2d, 0x7c, 0x53, 0xc9, + 0x8d, 0x14, 0x38, 0xd9, 0xde, 0xb5, 0x2a, 0x1f, 0x95, 0x1c, 0x1d, 0xce, + 0x7e, 0x3e, 0x83, 0x3f, 0xfa, 0x7f, 0x48, 0x10, +}; +static const unsigned char kat3389_addinpr1[] = { + 0x9c, 0x2a, 0xf4, 0x6c, 0x2a, 0xd0, 0x6b, 0x49, 0x7f, 0x6a, 0x82, 0x39, + 0x0f, 0xcb, 0x65, 0xe2, 0x4b, 0xf8, 0xdb, 0x56, 0xb6, 0xa5, 0xff, 0x04, + 0xd4, 0x8a, 0xbc, 0x01, 0xb3, 0xe1, 0xf0, 0x69, +}; +static const unsigned char kat3389_entropyinpr2[] = { + 0x9d, 0x7d, 0x1c, 0xa8, 0xf7, 0xa7, 0x58, 0xe7, 0x3b, 0xdc, 0x86, 0xb5, + 0x27, 0xa3, 0xa4, 0xd9, 0xc5, 0xd3, 0x45, 0x0c, 0xc9, 0xb2, 0xf6, 0x77, + 0xdd, 0xbf, 0xef, 0x1a, 0x9e, 0xec, 0x73, 0x18, +}; +static const unsigned char kat3389_addinpr2[] = { + 0xf5, 0xe8, 0x8e, 0x02, 0xdc, 0xe6, 0xbf, 0x79, 0x81, 0x44, 0x3a, 0x68, + 0x5d, 0x51, 0x4c, 0x27, 0xf9, 0x78, 0xd7, 0x01, 0xbf, 0xc9, 0xb9, 0xaf, + 0xdb, 0xd9, 0x27, 0x6a, 0x42, 0xb7, 0x06, 0x20, +}; +static const unsigned char kat3389_retbits[] = { + 0xd2, 0x5b, 0xa0, 0xfd, 0x9f, 0xb1, 0xb7, 0x80, 0x88, 0xf8, 0xfc, 0x65, + 0x0c, 0x8d, 0x26, 0xad, 0xa1, 0xb9, 0x65, 0x1f, 0x72, 0x9b, 0x79, 0xf1, + 0x82, 0x36, 0x61, 0xf1, 0x13, 0x01, 0x2d, 0x23, 0xc1, 0x73, 0x68, 0x7d, + 0x96, 0x7b, 0x7c, 0x3e, 0xd2, 0x1e, 0x45, 0x73, 0x24, 0x0d, 0x78, 0x8b, + 0x13, 0xad, 0xe4, 0x2a, 0x86, 0x4a, 0xa0, 0x48, 0x20, 0xe1, 0xa8, 0xe9, + 0xba, 0x0a, 0x34, 0xa6, +}; +static const struct drbg_kat_pr_true kat3389_t = { + 13, kat3389_entropyin, kat3389_nonce, kat3389_persstr, + kat3389_entropyinpr1, kat3389_addinpr1, kat3389_entropyinpr2, + kat3389_addinpr2, kat3389_retbits +}; +static const struct drbg_kat kat3389 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3389_t +}; + +static const unsigned char kat3390_entropyin[] = { + 0xe8, 0x30, 0xa3, 0xb6, 0x2a, 0x8e, 0x7b, 0x11, 0xda, 0x12, 0x66, 0x1e, + 0xe4, 0xfc, 0x35, 0x31, 0x76, 0x2f, 0x3c, 0x86, 0xdc, 0xdf, 0x8d, 0x77, + 0xdf, 0xe7, 0xcb, 0xda, 0xeb, 0x5e, 0xad, 0x0a, +}; +static const unsigned char kat3390_nonce[] = { + 0xc2, 0xe9, 0x92, 0x0c, 0xfe, 0x94, 0xde, 0x89, 0xd7, 0x41, 0x49, 0xad, + 0x7d, 0x87, 0x68, 0xb1, +}; +static const unsigned char kat3390_persstr[] = {0}; +static const unsigned char kat3390_entropyinpr1[] = { + 0xee, 0x52, 0x2f, 0x97, 0x6f, 0x98, 0xc0, 0x2d, 0x5a, 0x41, 0xeb, 0x17, + 0x9b, 0x84, 0xe3, 0x62, 0x2d, 0xdc, 0x60, 0xd8, 0x6b, 0xcf, 0x17, 0xfb, + 0xc3, 0x94, 0xf0, 0x51, 0x1a, 0x40, 0xd8, 0x51, +}; +static const unsigned char kat3390_addinpr1[] = { + 0x46, 0x0a, 0x1e, 0x65, 0xaa, 0xcd, 0x22, 0x22, 0x26, 0x22, 0x16, 0xf3, + 0xeb, 0xaa, 0xe6, 0x21, 0xf9, 0x51, 0x7a, 0xbc, 0x73, 0x24, 0x26, 0x4d, + 0x90, 0x4b, 0x36, 0x94, 0x0d, 0xea, 0x51, 0xf5, +}; +static const unsigned char kat3390_entropyinpr2[] = { + 0x67, 0xca, 0x64, 0x28, 0x19, 0xb5, 0xc8, 0xab, 0x14, 0x59, 0x67, 0x37, + 0x6f, 0x2e, 0x67, 0xfb, 0x2b, 0xb9, 0x16, 0x6f, 0x0b, 0x76, 0xd7, 0x56, + 0x18, 0xdf, 0x94, 0x44, 0xc9, 0x9e, 0xf1, 0xaa, +}; +static const unsigned char kat3390_addinpr2[] = { + 0x9b, 0x9e, 0x82, 0x3a, 0xe4, 0xa4, 0xe5, 0x38, 0x27, 0x4c, 0xa5, 0x69, + 0xbc, 0x7f, 0x55, 0xa8, 0x3e, 0x30, 0x01, 0xc1, 0x7a, 0xe9, 0xc4, 0x97, + 0x29, 0x54, 0x8e, 0x96, 0x24, 0xed, 0x8f, 0x57, +}; +static const unsigned char kat3390_retbits[] = { + 0xb3, 0x87, 0x85, 0x1e, 0x69, 0x5e, 0x07, 0xc6, 0xc2, 0x80, 0xcd, 0x7e, + 0xc5, 0x9e, 0xb0, 0x78, 0xa0, 0x33, 0xb2, 0x5f, 0x86, 0xee, 0x25, 0x91, + 0x14, 0x4a, 0x96, 0x0a, 0xc8, 0x3e, 0x55, 0x0b, 0x7b, 0x97, 0x6c, 0xd8, + 0xd2, 0x08, 0x5c, 0x85, 0x68, 0x58, 0x57, 0xf8, 0x41, 0xc4, 0xc6, 0x69, + 0x75, 0x12, 0xea, 0xc3, 0x26, 0x41, 0x96, 0xa8, 0xb6, 0x67, 0x50, 0x59, + 0x1e, 0x99, 0x33, 0x94, +}; +static const struct drbg_kat_pr_true kat3390_t = { + 14, kat3390_entropyin, kat3390_nonce, kat3390_persstr, + kat3390_entropyinpr1, kat3390_addinpr1, kat3390_entropyinpr2, + kat3390_addinpr2, kat3390_retbits +}; +static const struct drbg_kat kat3390 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3390_t +}; + +static const unsigned char kat3391_entropyin[] = { + 0xca, 0x58, 0xfd, 0xf2, 0xb9, 0x77, 0xcb, 0x49, 0xd4, 0xe0, 0x5b, 0xe2, + 0x39, 0x50, 0xd9, 0x8a, 0x6a, 0xb3, 0xc5, 0x2f, 0xdf, 0x74, 0xd5, 0x85, + 0x8f, 0xd1, 0xba, 0x64, 0x54, 0x7b, 0xdb, 0x1e, +}; +static const unsigned char kat3391_nonce[] = { + 0xc5, 0xea, 0x24, 0xc0, 0xfa, 0x0c, 0x90, 0x15, 0x09, 0x20, 0x92, 0x42, + 0x32, 0x36, 0x45, 0x45, +}; +static const unsigned char kat3391_persstr[] = { + 0x5a, 0x70, 0x95, 0xe9, 0x81, 0x40, 0x52, 0x33, 0x91, 0x53, 0x7e, 0x75, + 0xd6, 0x19, 0x9d, 0x1e, 0xad, 0x0d, 0xc6, 0xa7, 0xde, 0x6c, 0x1f, 0xe0, + 0xea, 0x18, 0x33, 0xa8, 0x7e, 0x06, 0x20, 0xe9, +}; +static const unsigned char kat3391_entropyinpr1[] = { + 0x7d, 0x20, 0x76, 0x6b, 0xcf, 0xa2, 0x15, 0xc8, 0x2f, 0x9f, 0xbc, 0x88, + 0x3f, 0x80, 0xd1, 0x2c, 0xb7, 0x16, 0xd1, 0x80, 0x9e, 0xe1, 0xc9, 0xb3, + 0x88, 0x1b, 0x21, 0x45, 0xef, 0xa1, 0x7f, 0xce, +}; +static const unsigned char kat3391_addinpr1[] = {0}; +static const unsigned char kat3391_entropyinpr2[] = { + 0xc8, 0x92, 0x35, 0x55, 0x2a, 0xd9, 0x1d, 0x8e, 0x12, 0x38, 0xac, 0x01, + 0x4e, 0x38, 0x18, 0x76, 0x9c, 0xf2, 0xb6, 0xd4, 0x13, 0xb6, 0x2c, 0x77, + 0xc0, 0xe7, 0xe6, 0x0c, 0x47, 0x44, 0x95, 0xbe, +}; +static const unsigned char kat3391_addinpr2[] = {0}; +static const unsigned char kat3391_retbits[] = { + 0xce, 0x2f, 0xdb, 0xb6, 0xd9, 0xb7, 0x39, 0x85, 0x04, 0xc5, 0xc0, 0x42, + 0xc2, 0x31, 0xc6, 0x1d, 0x9b, 0x5a, 0x59, 0xf8, 0x7e, 0x0d, 0xcc, 0x62, + 0x7b, 0x65, 0x11, 0x55, 0x10, 0xeb, 0x9e, 0x3d, 0xa4, 0xfb, 0x1c, 0x6a, + 0x18, 0xc0, 0x74, 0xdb, 0xdd, 0xe7, 0x02, 0x23, 0x63, 0x21, 0xd0, 0x39, + 0xf9, 0xa7, 0xc4, 0x52, 0x84, 0x3b, 0x49, 0x40, 0x72, 0x2b, 0xb0, 0x6c, + 0x9c, 0xdb, 0xc3, 0x43, +}; +static const struct drbg_kat_pr_true kat3391_t = { + 0, kat3391_entropyin, kat3391_nonce, kat3391_persstr, + kat3391_entropyinpr1, kat3391_addinpr1, kat3391_entropyinpr2, + kat3391_addinpr2, kat3391_retbits +}; +static const struct drbg_kat kat3391 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3391_t +}; + +static const unsigned char kat3392_entropyin[] = { + 0x58, 0xeb, 0x6c, 0xc9, 0xb9, 0xa3, 0x6b, 0x93, 0x17, 0xb8, 0x1b, 0x80, + 0x6a, 0x7e, 0xfd, 0x86, 0x89, 0xf7, 0x2c, 0xce, 0x9d, 0x7d, 0x2f, 0xc7, + 0xd0, 0x0d, 0xce, 0x2d, 0x2d, 0x21, 0x4f, 0xc5, +}; +static const unsigned char kat3392_nonce[] = { + 0x32, 0xaf, 0x78, 0x6a, 0xeb, 0x62, 0x0c, 0x53, 0x38, 0xa7, 0x93, 0x17, + 0x54, 0x63, 0xfb, 0xd3, +}; +static const unsigned char kat3392_persstr[] = { + 0xb5, 0x1b, 0xec, 0x3b, 0xdc, 0xfd, 0x8d, 0xa6, 0x47, 0x28, 0x31, 0xeb, + 0xa7, 0x80, 0x3b, 0xbb, 0xc7, 0xf2, 0x7e, 0x7d, 0xe1, 0x25, 0x17, 0x25, + 0x15, 0x04, 0x61, 0xf3, 0x22, 0x2a, 0x55, 0x84, +}; +static const unsigned char kat3392_entropyinpr1[] = { + 0x0c, 0x4b, 0x0c, 0x36, 0x35, 0xd1, 0xfc, 0x95, 0x37, 0x18, 0x46, 0x9a, + 0x76, 0x8c, 0xb0, 0x09, 0x66, 0x25, 0xe9, 0x54, 0xde, 0xd5, 0xf6, 0x23, + 0x8f, 0xd9, 0x57, 0x37, 0xeb, 0xbd, 0x91, 0x75, +}; +static const unsigned char kat3392_addinpr1[] = {0}; +static const unsigned char kat3392_entropyinpr2[] = { + 0xad, 0x80, 0x24, 0x22, 0xaa, 0xbd, 0x51, 0xd2, 0x87, 0x8a, 0xf3, 0xd9, + 0x08, 0xe3, 0x43, 0xa2, 0x7a, 0x34, 0x71, 0x00, 0x67, 0x80, 0x6a, 0x46, + 0x87, 0x41, 0x03, 0x0c, 0x81, 0x45, 0x3c, 0x08, +}; +static const unsigned char kat3392_addinpr2[] = {0}; +static const unsigned char kat3392_retbits[] = { + 0xf3, 0x27, 0x11, 0x50, 0xd5, 0x92, 0x7f, 0x04, 0x48, 0xd6, 0x3c, 0xd3, + 0xbd, 0xd9, 0x2e, 0x3c, 0x99, 0x89, 0x9d, 0x3d, 0x61, 0x40, 0x8b, 0x79, + 0x1b, 0xfc, 0x02, 0xcf, 0xee, 0x71, 0xde, 0x8c, 0xb1, 0xaa, 0x1d, 0xe5, + 0x50, 0xf4, 0x24, 0xda, 0x79, 0xf5, 0xcb, 0x00, 0x87, 0x6d, 0x85, 0xe9, + 0xab, 0xe6, 0xfc, 0x5c, 0xf3, 0x0c, 0xa4, 0x98, 0xcd, 0x22, 0x3a, 0xd8, + 0x32, 0x21, 0x09, 0x39, +}; +static const struct drbg_kat_pr_true kat3392_t = { + 1, kat3392_entropyin, kat3392_nonce, kat3392_persstr, + kat3392_entropyinpr1, kat3392_addinpr1, kat3392_entropyinpr2, + kat3392_addinpr2, kat3392_retbits +}; +static const struct drbg_kat kat3392 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3392_t +}; + +static const unsigned char kat3393_entropyin[] = { + 0x22, 0x62, 0x98, 0x16, 0xd2, 0x6e, 0x52, 0xf7, 0x05, 0xdc, 0x95, 0xf9, + 0xb5, 0xb2, 0xc3, 0x0f, 0xa4, 0xb8, 0x80, 0x25, 0x72, 0x0a, 0x73, 0xce, + 0xaa, 0x41, 0x5d, 0xed, 0x64, 0x7b, 0xa1, 0x5c, +}; +static const unsigned char kat3393_nonce[] = { + 0x3d, 0x48, 0xaf, 0x2e, 0xca, 0xb9, 0x39, 0xaa, 0xce, 0x68, 0x1d, 0xfc, + 0xd2, 0x21, 0x00, 0x9e, +}; +static const unsigned char kat3393_persstr[] = { + 0xe7, 0xfb, 0x3a, 0x13, 0x23, 0xcc, 0xff, 0x3c, 0xf3, 0xa8, 0xe1, 0x1a, + 0xe6, 0x74, 0xbb, 0xd2, 0x26, 0x2e, 0x77, 0xd2, 0xdb, 0x95, 0xc0, 0x3b, + 0x23, 0xd4, 0xa6, 0x61, 0x6e, 0x4f, 0x0f, 0x7b, +}; +static const unsigned char kat3393_entropyinpr1[] = { + 0xbb, 0xa2, 0xa6, 0xe6, 0xb7, 0xaf, 0xe5, 0x7b, 0x4b, 0xb3, 0x8e, 0x64, + 0x19, 0x09, 0x18, 0xf2, 0x05, 0xf1, 0x75, 0x80, 0x56, 0x60, 0x9a, 0x98, + 0xbe, 0x4f, 0xe6, 0x3e, 0xa7, 0xd0, 0x35, 0x81, +}; +static const unsigned char kat3393_addinpr1[] = {0}; +static const unsigned char kat3393_entropyinpr2[] = { + 0x43, 0x5b, 0x62, 0x42, 0xec, 0xc0, 0x23, 0x1c, 0xc0, 0x0d, 0xd3, 0x68, + 0x56, 0x87, 0x2b, 0xbd, 0x1b, 0x19, 0xef, 0x80, 0xcd, 0x41, 0x2e, 0xb1, + 0xb6, 0x45, 0xf8, 0xce, 0x2f, 0xb4, 0xdf, 0xc7, +}; +static const unsigned char kat3393_addinpr2[] = {0}; +static const unsigned char kat3393_retbits[] = { + 0xcc, 0xaf, 0x68, 0xd0, 0xc7, 0xb0, 0x9d, 0xbc, 0x3f, 0x84, 0xea, 0x61, + 0xb3, 0x6e, 0x47, 0x1e, 0x74, 0x5b, 0xd0, 0xed, 0x01, 0x08, 0x89, 0x20, + 0xbf, 0xdb, 0x9f, 0xac, 0xad, 0xe3, 0x30, 0xb1, 0xf9, 0xec, 0x73, 0xd2, + 0xc1, 0xda, 0xf9, 0x1c, 0xdd, 0x66, 0xa9, 0xd6, 0xe0, 0x1d, 0x0c, 0xf7, + 0x04, 0x65, 0x4b, 0xad, 0x6a, 0x98, 0x2c, 0x68, 0x27, 0x82, 0x37, 0xa5, + 0x39, 0x45, 0x3b, 0x05, +}; +static const struct drbg_kat_pr_true kat3393_t = { + 2, kat3393_entropyin, kat3393_nonce, kat3393_persstr, + kat3393_entropyinpr1, kat3393_addinpr1, kat3393_entropyinpr2, + kat3393_addinpr2, kat3393_retbits +}; +static const struct drbg_kat kat3393 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3393_t +}; + +static const unsigned char kat3394_entropyin[] = { + 0x8e, 0xa5, 0xb0, 0x5f, 0x5d, 0x13, 0xd4, 0x48, 0x7c, 0xff, 0x6a, 0x09, + 0xb7, 0x09, 0x03, 0x09, 0xa1, 0x1f, 0xae, 0x73, 0xe9, 0x01, 0x7c, 0xaa, + 0x91, 0x60, 0x41, 0x9e, 0xa3, 0xf0, 0xe8, 0x2f, +}; +static const unsigned char kat3394_nonce[] = { + 0x7a, 0xeb, 0x36, 0x95, 0x1c, 0x60, 0x08, 0xe8, 0x48, 0x4c, 0x18, 0xce, + 0xb7, 0x8e, 0xff, 0xbf, +}; +static const unsigned char kat3394_persstr[] = { + 0x92, 0x26, 0x2c, 0x66, 0x65, 0xee, 0x72, 0x43, 0xc4, 0xab, 0x02, 0xce, + 0xf1, 0x99, 0x79, 0x53, 0x59, 0xed, 0x09, 0x1c, 0xb4, 0x7c, 0xfd, 0x06, + 0x56, 0x85, 0x7d, 0x5a, 0x58, 0xcf, 0x3a, 0xc8, +}; +static const unsigned char kat3394_entropyinpr1[] = { + 0x59, 0x77, 0x29, 0x4b, 0x97, 0xd3, 0xe6, 0x37, 0xeb, 0xf0, 0xd4, 0xb3, + 0xa2, 0x77, 0x1b, 0x61, 0x6a, 0x15, 0x9d, 0xc3, 0x33, 0x9b, 0x09, 0xba, + 0x99, 0x91, 0x4e, 0xf3, 0xb2, 0x4f, 0x0a, 0xcc, +}; +static const unsigned char kat3394_addinpr1[] = {0}; +static const unsigned char kat3394_entropyinpr2[] = { + 0x99, 0x2f, 0xf6, 0x03, 0x1f, 0x8c, 0xd2, 0x88, 0x99, 0x8b, 0x89, 0xd0, + 0x6f, 0x9c, 0xce, 0x8f, 0x9a, 0x40, 0xf3, 0x04, 0xe4, 0x54, 0xcc, 0xf3, + 0xb1, 0x46, 0xd1, 0x2b, 0x31, 0x99, 0x89, 0x6e, +}; +static const unsigned char kat3394_addinpr2[] = {0}; +static const unsigned char kat3394_retbits[] = { + 0xa7, 0xd4, 0x32, 0xd8, 0xbd, 0x03, 0xc3, 0xfc, 0x52, 0x51, 0x60, 0x91, + 0x1f, 0x7f, 0xb1, 0xb2, 0xdf, 0x3a, 0xa5, 0xdc, 0x76, 0x9f, 0x93, 0xb9, + 0x2d, 0x66, 0x25, 0x49, 0x70, 0xa2, 0xcd, 0x35, 0xed, 0x74, 0x89, 0x34, + 0xcb, 0x64, 0x26, 0xb6, 0x46, 0x96, 0xf0, 0xc2, 0xa1, 0x51, 0x5c, 0xa9, + 0x4a, 0x07, 0x66, 0x79, 0x22, 0xc4, 0x94, 0x91, 0x5a, 0x97, 0x4d, 0x26, + 0x33, 0x28, 0xa6, 0x1d, +}; +static const struct drbg_kat_pr_true kat3394_t = { + 3, kat3394_entropyin, kat3394_nonce, kat3394_persstr, + kat3394_entropyinpr1, kat3394_addinpr1, kat3394_entropyinpr2, + kat3394_addinpr2, kat3394_retbits +}; +static const struct drbg_kat kat3394 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3394_t +}; + +static const unsigned char kat3395_entropyin[] = { + 0x88, 0xab, 0x9b, 0x05, 0xf5, 0xc0, 0x7c, 0xfa, 0xf3, 0x44, 0xeb, 0x5f, + 0x60, 0x7a, 0xf9, 0x18, 0xf6, 0x96, 0x57, 0x2d, 0x70, 0xde, 0xdd, 0x86, + 0xc3, 0x62, 0x8b, 0x15, 0x22, 0x27, 0xf6, 0xa0, +}; +static const unsigned char kat3395_nonce[] = { + 0x1d, 0xb3, 0x55, 0xf8, 0x21, 0x53, 0x79, 0x06, 0xd5, 0x23, 0xc6, 0xdf, + 0xd8, 0x15, 0x5d, 0xaf, +}; +static const unsigned char kat3395_persstr[] = { + 0xd0, 0xcd, 0x78, 0xb9, 0x39, 0x7c, 0x6d, 0xff, 0x8c, 0x0d, 0xe8, 0x40, + 0xc0, 0xd8, 0x15, 0xce, 0xcd, 0x24, 0x54, 0x42, 0xc8, 0x1f, 0x4c, 0x3e, + 0x56, 0xdd, 0x08, 0xcc, 0x94, 0xf8, 0x29, 0xfd, +}; +static const unsigned char kat3395_entropyinpr1[] = { + 0x26, 0xe6, 0x7d, 0x43, 0x3d, 0xbe, 0x49, 0x41, 0x0d, 0x94, 0xb5, 0xa8, + 0xaa, 0x0c, 0x3f, 0x0c, 0x1d, 0xf4, 0x01, 0x8f, 0xa8, 0x8f, 0x8d, 0x5c, + 0x72, 0x64, 0x94, 0xe6, 0x42, 0xcb, 0xe4, 0x30, +}; +static const unsigned char kat3395_addinpr1[] = {0}; +static const unsigned char kat3395_entropyinpr2[] = { + 0xb3, 0x98, 0xc1, 0x44, 0xcf, 0x39, 0xba, 0x01, 0x37, 0x91, 0x03, 0x7a, + 0xa0, 0xa6, 0x2b, 0x44, 0x74, 0x3a, 0x52, 0x05, 0xfc, 0x71, 0xfb, 0x75, + 0x43, 0x96, 0x19, 0xc5, 0xa3, 0x11, 0x29, 0x80, +}; +static const unsigned char kat3395_addinpr2[] = {0}; +static const unsigned char kat3395_retbits[] = { + 0x1b, 0x02, 0xc4, 0x9a, 0x67, 0xa7, 0x6a, 0x7d, 0xaa, 0x5a, 0xd4, 0x52, + 0xc6, 0xca, 0x89, 0xce, 0x81, 0xd7, 0x32, 0xda, 0x1f, 0x3d, 0x19, 0x39, + 0x6c, 0x8f, 0x26, 0xf8, 0x69, 0x61, 0x04, 0x32, 0xef, 0xbb, 0x49, 0xcf, + 0x0f, 0xef, 0x6a, 0xcf, 0x59, 0x4b, 0xa3, 0xe1, 0xb0, 0x88, 0x5d, 0x31, + 0x08, 0x20, 0x00, 0x74, 0xd9, 0x3a, 0x16, 0xc0, 0xcc, 0x3b, 0x03, 0x1e, + 0x64, 0xa0, 0x97, 0x46, +}; +static const struct drbg_kat_pr_true kat3395_t = { + 4, kat3395_entropyin, kat3395_nonce, kat3395_persstr, + kat3395_entropyinpr1, kat3395_addinpr1, kat3395_entropyinpr2, + kat3395_addinpr2, kat3395_retbits +}; +static const struct drbg_kat kat3395 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3395_t +}; + +static const unsigned char kat3396_entropyin[] = { + 0xca, 0x3a, 0x82, 0x5e, 0xab, 0xda, 0x32, 0xe4, 0xf0, 0x85, 0xc2, 0x59, + 0x01, 0x1f, 0x0e, 0x5b, 0xc8, 0x8c, 0xc1, 0x61, 0x66, 0xc7, 0xc3, 0x71, + 0x3b, 0x76, 0xe7, 0xe6, 0xe5, 0x9a, 0x4a, 0xd5, +}; +static const unsigned char kat3396_nonce[] = { + 0xac, 0x70, 0xd0, 0x9e, 0x85, 0xf4, 0x72, 0xca, 0xcd, 0xeb, 0xdd, 0x34, + 0x7f, 0xbd, 0x9c, 0x84, +}; +static const unsigned char kat3396_persstr[] = { + 0x73, 0x44, 0x43, 0x67, 0xe8, 0x78, 0xf0, 0x67, 0x96, 0xc1, 0x98, 0xb2, + 0xb9, 0xa6, 0x13, 0xcf, 0x45, 0xdc, 0x12, 0x82, 0xca, 0x29, 0x52, 0x2c, + 0x07, 0x18, 0x3a, 0x91, 0x25, 0x98, 0x48, 0xa7, +}; +static const unsigned char kat3396_entropyinpr1[] = { + 0x56, 0xb7, 0x09, 0x2c, 0x01, 0x19, 0x78, 0x98, 0x47, 0x8a, 0x0b, 0xcd, + 0x9d, 0x3a, 0xce, 0x0f, 0x2c, 0x49, 0x0d, 0x2f, 0x02, 0xa0, 0xe4, 0x3d, + 0x3e, 0x4c, 0x39, 0xf1, 0xa6, 0xb1, 0x58, 0x8a, +}; +static const unsigned char kat3396_addinpr1[] = {0}; +static const unsigned char kat3396_entropyinpr2[] = { + 0x85, 0x3e, 0xa3, 0x32, 0x87, 0x89, 0xf1, 0x42, 0x9b, 0xba, 0x8c, 0x20, + 0x76, 0xdb, 0x22, 0xff, 0x16, 0xdf, 0xd4, 0x41, 0xf9, 0xa6, 0xd4, 0xc0, + 0x53, 0x3f, 0x2a, 0x2a, 0xcd, 0x26, 0x9a, 0xaa, +}; +static const unsigned char kat3396_addinpr2[] = {0}; +static const unsigned char kat3396_retbits[] = { + 0x0c, 0x6c, 0x19, 0x73, 0x19, 0x28, 0x9c, 0xa7, 0xbe, 0x68, 0x79, 0xe8, + 0x7d, 0x66, 0x27, 0xcd, 0x04, 0xbd, 0xfe, 0x91, 0x66, 0x43, 0x36, 0xa5, + 0xe1, 0xb3, 0x79, 0x8a, 0x9b, 0x74, 0xe4, 0x9b, 0x6d, 0xb8, 0x2f, 0xa6, + 0xf3, 0xd2, 0x62, 0xc7, 0x86, 0xdf, 0x2f, 0xc3, 0x9d, 0xa5, 0x14, 0xb8, + 0xd9, 0xdc, 0x61, 0xf2, 0x63, 0x9d, 0xbf, 0x94, 0x9d, 0xd6, 0x05, 0x4f, + 0x0b, 0x42, 0xfa, 0x6d, +}; +static const struct drbg_kat_pr_true kat3396_t = { + 5, kat3396_entropyin, kat3396_nonce, kat3396_persstr, + kat3396_entropyinpr1, kat3396_addinpr1, kat3396_entropyinpr2, + kat3396_addinpr2, kat3396_retbits +}; +static const struct drbg_kat kat3396 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3396_t +}; + +static const unsigned char kat3397_entropyin[] = { + 0xa3, 0x6b, 0xfc, 0x41, 0x7a, 0x82, 0x3e, 0x84, 0xb2, 0xda, 0xd2, 0xe2, + 0xfc, 0x16, 0xd4, 0x3d, 0xc8, 0xba, 0xd5, 0xa8, 0x36, 0xe3, 0x7e, 0x20, + 0x9f, 0xbf, 0xb2, 0x11, 0x51, 0x8e, 0x8c, 0xe5, +}; +static const unsigned char kat3397_nonce[] = { + 0x36, 0xaa, 0xd5, 0x42, 0xc8, 0x5d, 0x06, 0x42, 0xba, 0x10, 0xf3, 0x2b, + 0xbf, 0x62, 0x19, 0xb2, +}; +static const unsigned char kat3397_persstr[] = { + 0x66, 0x77, 0x9e, 0x85, 0xa9, 0xb3, 0xbe, 0x78, 0x2b, 0xe8, 0x21, 0x7d, + 0x7c, 0x21, 0xeb, 0xc4, 0x8c, 0xd7, 0x10, 0x42, 0xf4, 0xae, 0x17, 0x3f, + 0xd5, 0x7e, 0x8c, 0x34, 0x28, 0x9d, 0x6a, 0x76, +}; +static const unsigned char kat3397_entropyinpr1[] = { + 0xe5, 0x04, 0xec, 0xec, 0x60, 0x85, 0xc9, 0x11, 0x55, 0x1d, 0xfe, 0x92, + 0x21, 0x0b, 0xe0, 0x95, 0x07, 0xd2, 0x2b, 0x45, 0x9a, 0x61, 0xf3, 0x67, + 0x8a, 0x09, 0xa8, 0x6e, 0x92, 0x1d, 0x1f, 0x46, +}; +static const unsigned char kat3397_addinpr1[] = {0}; +static const unsigned char kat3397_entropyinpr2[] = { + 0xb6, 0x89, 0xa2, 0x08, 0x05, 0x8f, 0x23, 0x79, 0x07, 0x81, 0x0d, 0x96, + 0xf9, 0xe1, 0x7c, 0xc1, 0x44, 0xc0, 0xb1, 0x0e, 0xbe, 0xd0, 0xca, 0xff, + 0x05, 0xd8, 0x97, 0x0c, 0xe9, 0xb0, 0x7b, 0xc7, +}; +static const unsigned char kat3397_addinpr2[] = {0}; +static const unsigned char kat3397_retbits[] = { + 0xbc, 0xd9, 0x28, 0x84, 0xb6, 0x32, 0x5e, 0x31, 0xc7, 0x27, 0x28, 0x9f, + 0xc6, 0xa1, 0xfa, 0xf5, 0x40, 0x1d, 0xca, 0x6c, 0xf7, 0xc0, 0x09, 0x20, + 0x70, 0xc7, 0x18, 0xc6, 0xbd, 0xe0, 0x03, 0x79, 0x40, 0xa3, 0xaa, 0x45, + 0x98, 0x74, 0xdb, 0xeb, 0x51, 0x3b, 0x2d, 0xde, 0x07, 0xa6, 0x1a, 0xd8, + 0x93, 0x8c, 0x90, 0xab, 0xcc, 0xb0, 0xe4, 0xa0, 0x6c, 0x77, 0x96, 0x6f, + 0xa2, 0x93, 0x2a, 0xf1, +}; +static const struct drbg_kat_pr_true kat3397_t = { + 6, kat3397_entropyin, kat3397_nonce, kat3397_persstr, + kat3397_entropyinpr1, kat3397_addinpr1, kat3397_entropyinpr2, + kat3397_addinpr2, kat3397_retbits +}; +static const struct drbg_kat kat3397 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3397_t +}; + +static const unsigned char kat3398_entropyin[] = { + 0x88, 0x2b, 0x68, 0x34, 0xac, 0x17, 0x48, 0xdc, 0x5d, 0x8b, 0x33, 0x65, + 0xe7, 0x2b, 0x56, 0x03, 0x9f, 0x37, 0x85, 0xb1, 0xbf, 0x02, 0xeb, 0x6f, + 0x3c, 0x33, 0x8b, 0x84, 0x45, 0xf0, 0xde, 0xa3, +}; +static const unsigned char kat3398_nonce[] = { + 0x0e, 0xa5, 0x26, 0xa8, 0x72, 0xcc, 0x3b, 0x9b, 0x70, 0xaa, 0x15, 0xed, + 0x75, 0x14, 0xcd, 0x5a, +}; +static const unsigned char kat3398_persstr[] = { + 0xa0, 0x85, 0x91, 0x13, 0x2d, 0x1a, 0xe4, 0x67, 0x54, 0xa1, 0xc9, 0x1d, + 0x9d, 0xca, 0xcd, 0x58, 0xbf, 0x17, 0x34, 0xf4, 0x6a, 0x42, 0x11, 0x55, + 0x59, 0x81, 0x8a, 0xb8, 0xf2, 0x30, 0xfe, 0x4a, +}; +static const unsigned char kat3398_entropyinpr1[] = { + 0xfc, 0xa4, 0x95, 0xa8, 0xf5, 0xc6, 0x47, 0x40, 0xeb, 0x60, 0x41, 0xae, + 0x0d, 0x98, 0xf9, 0x11, 0xfb, 0xd0, 0x2a, 0xd4, 0xc1, 0xf7, 0xda, 0x75, + 0x80, 0xaf, 0xea, 0xf5, 0x52, 0x38, 0x3b, 0xa4, +}; +static const unsigned char kat3398_addinpr1[] = {0}; +static const unsigned char kat3398_entropyinpr2[] = { + 0x40, 0xaf, 0x61, 0x14, 0x5a, 0x3f, 0xbf, 0x1b, 0x87, 0xd2, 0xdb, 0x0a, + 0x74, 0xdc, 0x5b, 0x98, 0x14, 0x13, 0x42, 0x23, 0x55, 0xb1, 0x28, 0xba, + 0x7a, 0xb6, 0x1f, 0x58, 0x0b, 0x96, 0x5f, 0x3c, +}; +static const unsigned char kat3398_addinpr2[] = {0}; +static const unsigned char kat3398_retbits[] = { + 0x63, 0x8b, 0xc8, 0x5c, 0x8c, 0x70, 0xf3, 0x29, 0x1c, 0x61, 0x05, 0xd9, + 0x29, 0x0a, 0xec, 0x9c, 0x10, 0x59, 0xb9, 0x3a, 0xc9, 0xbf, 0x20, 0xb3, + 0xf6, 0xb3, 0xd1, 0xb5, 0x93, 0x3a, 0x32, 0x8d, 0xfc, 0xcb, 0xdf, 0x19, + 0x22, 0xc0, 0x7f, 0xfe, 0x7b, 0xda, 0xf8, 0x63, 0x0a, 0xea, 0x3c, 0x29, + 0x8d, 0x19, 0xab, 0x6e, 0xfb, 0x99, 0xf7, 0x1c, 0xd5, 0x72, 0x4b, 0x20, + 0x09, 0xaf, 0x44, 0x67, +}; +static const struct drbg_kat_pr_true kat3398_t = { + 7, kat3398_entropyin, kat3398_nonce, kat3398_persstr, + kat3398_entropyinpr1, kat3398_addinpr1, kat3398_entropyinpr2, + kat3398_addinpr2, kat3398_retbits +}; +static const struct drbg_kat kat3398 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3398_t +}; + +static const unsigned char kat3399_entropyin[] = { + 0x83, 0x42, 0xc4, 0xeb, 0xfe, 0x19, 0x38, 0xbe, 0x92, 0x20, 0xf9, 0x76, + 0xc9, 0x87, 0x19, 0xeb, 0x83, 0x47, 0xe4, 0xfc, 0x5f, 0xfc, 0xdf, 0x2a, + 0x85, 0x79, 0x40, 0xb7, 0x31, 0x37, 0xcc, 0xd4, +}; +static const unsigned char kat3399_nonce[] = { + 0xe3, 0xdb, 0xb1, 0x7d, 0xe4, 0x55, 0xb2, 0x60, 0xba, 0xc8, 0xf6, 0x13, + 0x89, 0x08, 0x4e, 0xe2, +}; +static const unsigned char kat3399_persstr[] = { + 0xde, 0x0a, 0xae, 0x98, 0x34, 0x1f, 0xf2, 0xc6, 0xad, 0x81, 0xcc, 0xd2, + 0x60, 0xa5, 0xcb, 0x40, 0x5a, 0xc2, 0x0c, 0xd7, 0x1c, 0x63, 0x51, 0x9a, + 0x49, 0xf0, 0x46, 0x39, 0x18, 0xc3, 0x39, 0xe1, +}; +static const unsigned char kat3399_entropyinpr1[] = { + 0xf1, 0x66, 0x14, 0x22, 0xc8, 0xa4, 0x59, 0x42, 0x01, 0xc7, 0x02, 0x53, + 0x89, 0xef, 0x64, 0x45, 0xe6, 0xfd, 0x6e, 0xf8, 0x1a, 0xb6, 0x51, 0xc6, + 0x79, 0x51, 0x52, 0x56, 0x6c, 0x48, 0x5d, 0x22, +}; +static const unsigned char kat3399_addinpr1[] = {0}; +static const unsigned char kat3399_entropyinpr2[] = { + 0x97, 0x27, 0xf2, 0x19, 0x4c, 0x05, 0x58, 0x5b, 0xab, 0xb5, 0x6b, 0xf6, + 0xad, 0x84, 0xc2, 0xd2, 0xa3, 0x77, 0xe2, 0x87, 0x86, 0x6c, 0x79, 0x6b, + 0x01, 0xc9, 0xb7, 0x33, 0xcb, 0xa4, 0x9c, 0x7b, +}; +static const unsigned char kat3399_addinpr2[] = {0}; +static const unsigned char kat3399_retbits[] = { + 0x63, 0xd6, 0x0d, 0x13, 0x45, 0xcb, 0xa4, 0x84, 0x0a, 0x97, 0x2d, 0xc4, + 0x49, 0x5f, 0x0b, 0x70, 0xb0, 0x16, 0x69, 0x7b, 0xc0, 0x9e, 0x37, 0x25, + 0xb8, 0xfa, 0x91, 0x8c, 0x38, 0xc9, 0xb3, 0xb0, 0x63, 0x09, 0xe7, 0x28, + 0x77, 0xe7, 0x67, 0x78, 0x03, 0x28, 0xed, 0x83, 0x4a, 0xbf, 0xf8, 0x89, + 0x32, 0x44, 0x73, 0x58, 0x89, 0x40, 0x94, 0xc3, 0xe2, 0x07, 0x76, 0x9b, + 0x2b, 0x18, 0x29, 0xae, +}; +static const struct drbg_kat_pr_true kat3399_t = { + 8, kat3399_entropyin, kat3399_nonce, kat3399_persstr, + kat3399_entropyinpr1, kat3399_addinpr1, kat3399_entropyinpr2, + kat3399_addinpr2, kat3399_retbits +}; +static const struct drbg_kat kat3399 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3399_t +}; + +static const unsigned char kat3400_entropyin[] = { + 0x46, 0xb9, 0x6b, 0x97, 0x8b, 0xe2, 0x92, 0xab, 0xcd, 0xff, 0xfe, 0x4c, + 0x35, 0xbb, 0xc6, 0xff, 0xf1, 0x61, 0x05, 0x58, 0x77, 0x39, 0x63, 0xa0, + 0x99, 0xad, 0x17, 0xd9, 0x9f, 0x3d, 0xe4, 0x32, +}; +static const unsigned char kat3400_nonce[] = { + 0x2d, 0x13, 0x38, 0x7e, 0xff, 0x79, 0xfe, 0xa8, 0xc8, 0xb0, 0xed, 0xcb, + 0xb9, 0x64, 0x3e, 0x22, +}; +static const unsigned char kat3400_persstr[] = { + 0x64, 0xc5, 0x5f, 0xbe, 0xa7, 0x4e, 0xe9, 0xe6, 0x2b, 0xb6, 0xd5, 0x0f, + 0xee, 0x5e, 0x6e, 0xdd, 0xd9, 0xe7, 0x00, 0x35, 0xaf, 0x69, 0x94, 0x31, + 0x39, 0x44, 0x3c, 0x0d, 0x75, 0xe5, 0x5e, 0x8f, +}; +static const unsigned char kat3400_entropyinpr1[] = { + 0xe3, 0xe4, 0xa5, 0xa1, 0x19, 0x18, 0x80, 0xb7, 0x4d, 0x40, 0xf8, 0xd9, + 0x5c, 0x3c, 0xa8, 0x0d, 0xb5, 0x40, 0x32, 0x0b, 0x9a, 0xa5, 0x0c, 0x13, + 0xc4, 0x5d, 0x76, 0xca, 0x14, 0xc5, 0x1b, 0xa8, +}; +static const unsigned char kat3400_addinpr1[] = {0}; +static const unsigned char kat3400_entropyinpr2[] = { + 0x52, 0xa8, 0x57, 0x37, 0xe0, 0x00, 0x76, 0x45, 0x9f, 0x91, 0x53, 0xed, + 0xed, 0xb1, 0xc2, 0xea, 0xb6, 0x36, 0xd6, 0xbb, 0x9f, 0xbb, 0x59, 0xae, + 0x30, 0x8a, 0x04, 0xb5, 0x7c, 0x05, 0x0b, 0x74, +}; +static const unsigned char kat3400_addinpr2[] = {0}; +static const unsigned char kat3400_retbits[] = { + 0x69, 0xc2, 0x3a, 0x0b, 0xd3, 0xb0, 0x9a, 0x18, 0xfa, 0x04, 0xea, 0x7f, + 0x81, 0xc9, 0x36, 0x2d, 0x2d, 0x40, 0x46, 0x70, 0xa4, 0x43, 0x99, 0x6b, + 0xa0, 0xcf, 0x4f, 0xe4, 0x76, 0xc8, 0x4e, 0x9c, 0x8d, 0x55, 0xa7, 0x7e, + 0xcc, 0xb8, 0x54, 0x15, 0x97, 0x57, 0x60, 0x7e, 0xb4, 0x6d, 0x72, 0x04, + 0x7b, 0x65, 0xa8, 0x0b, 0x01, 0x8f, 0xae, 0xfc, 0x25, 0xe3, 0x46, 0x06, + 0x3c, 0xd9, 0x8f, 0x23, +}; +static const struct drbg_kat_pr_true kat3400_t = { + 9, kat3400_entropyin, kat3400_nonce, kat3400_persstr, + kat3400_entropyinpr1, kat3400_addinpr1, kat3400_entropyinpr2, + kat3400_addinpr2, kat3400_retbits +}; +static const struct drbg_kat kat3400 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3400_t +}; + +static const unsigned char kat3401_entropyin[] = { + 0xf3, 0x53, 0xf2, 0x5a, 0xc6, 0xb8, 0x0d, 0x9a, 0xb3, 0x7d, 0x6e, 0xb6, + 0x98, 0x05, 0x84, 0x89, 0xfa, 0x91, 0x7b, 0xdb, 0x9c, 0xf3, 0xdf, 0x9c, + 0x7a, 0x71, 0xf9, 0xb6, 0xf2, 0xc5, 0x22, 0x16, +}; +static const unsigned char kat3401_nonce[] = { + 0xe8, 0xbd, 0x09, 0x50, 0xbd, 0x8c, 0x8e, 0xb8, 0xc9, 0x46, 0x67, 0xfd, + 0x58, 0x0c, 0x70, 0xe9, +}; +static const unsigned char kat3401_persstr[] = { + 0x51, 0xf1, 0x30, 0x90, 0x29, 0x2c, 0x62, 0x74, 0x07, 0x16, 0x68, 0xe0, + 0xb8, 0x8f, 0x04, 0x05, 0x19, 0x6d, 0x2f, 0xb4, 0xa0, 0x81, 0x7f, 0x33, + 0x36, 0x5a, 0xca, 0x1b, 0x73, 0x1e, 0x72, 0xfc, +}; +static const unsigned char kat3401_entropyinpr1[] = { + 0x60, 0x44, 0xef, 0x8b, 0xf9, 0x25, 0xac, 0x17, 0x44, 0xac, 0x0c, 0x69, + 0xb2, 0x0a, 0x39, 0xe3, 0xa7, 0x60, 0x6c, 0xa5, 0x2c, 0x0a, 0x0e, 0x22, + 0x4a, 0x28, 0x30, 0x8c, 0x27, 0x90, 0xb4, 0x0f, +}; +static const unsigned char kat3401_addinpr1[] = {0}; +static const unsigned char kat3401_entropyinpr2[] = { + 0x6b, 0x7a, 0x83, 0x68, 0x4b, 0x33, 0x4e, 0xa7, 0x5f, 0xb8, 0x17, 0x89, + 0xef, 0x0c, 0xac, 0xb1, 0x4b, 0x32, 0xd2, 0xd7, 0xcd, 0x99, 0x7a, 0x82, + 0xdb, 0x82, 0x29, 0x9d, 0xdb, 0x73, 0xa0, 0x9f, +}; +static const unsigned char kat3401_addinpr2[] = {0}; +static const unsigned char kat3401_retbits[] = { + 0x7b, 0xd3, 0xd0, 0x29, 0x7e, 0xfe, 0x96, 0xe2, 0x8b, 0x71, 0x7c, 0xe9, + 0x1c, 0x0c, 0xac, 0x93, 0x16, 0x19, 0xf2, 0x9c, 0xef, 0x7e, 0xb4, 0x5b, + 0x89, 0x05, 0x5d, 0x08, 0x15, 0x43, 0x2e, 0x7e, 0x28, 0x97, 0x92, 0x4a, + 0x63, 0xec, 0xda, 0xa8, 0xd8, 0x00, 0xa1, 0x03, 0xdb, 0x96, 0xa1, 0x81, + 0xb4, 0xee, 0x7e, 0x6a, 0x67, 0xf1, 0x5e, 0x62, 0x9d, 0xb4, 0xbf, 0x8d, + 0x58, 0x2f, 0x3f, 0xdb, +}; +static const struct drbg_kat_pr_true kat3401_t = { + 10, kat3401_entropyin, kat3401_nonce, kat3401_persstr, + kat3401_entropyinpr1, kat3401_addinpr1, kat3401_entropyinpr2, + kat3401_addinpr2, kat3401_retbits +}; +static const struct drbg_kat kat3401 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3401_t +}; + +static const unsigned char kat3402_entropyin[] = { + 0x6c, 0x9a, 0x22, 0x4c, 0xe8, 0x21, 0xc1, 0xb2, 0x69, 0x7f, 0xa5, 0x1f, + 0x76, 0x8b, 0x1e, 0xb5, 0xdd, 0xff, 0x6d, 0x1b, 0x15, 0x82, 0x45, 0x72, + 0xf0, 0x95, 0x8e, 0x41, 0x30, 0x9e, 0xad, 0x05, +}; +static const unsigned char kat3402_nonce[] = { + 0xb5, 0xdc, 0xdd, 0x7d, 0xaf, 0x55, 0x9c, 0xb3, 0xd3, 0xa3, 0xbf, 0xb3, + 0xce, 0x48, 0xef, 0x3e, +}; +static const unsigned char kat3402_persstr[] = { + 0x95, 0x99, 0xbe, 0x91, 0x66, 0xfd, 0x6c, 0x35, 0x5a, 0x8f, 0x68, 0x3d, + 0x63, 0xb8, 0xc1, 0xe2, 0x8d, 0x82, 0x53, 0x14, 0xdf, 0x3d, 0xcc, 0x26, + 0xd2, 0x9b, 0xc5, 0x45, 0x13, 0x6e, 0x44, 0x23, +}; +static const unsigned char kat3402_entropyinpr1[] = { + 0xd4, 0xdb, 0x52, 0x5e, 0xdc, 0x8c, 0x48, 0x6c, 0x72, 0xd9, 0x6c, 0x58, + 0x72, 0x4f, 0x16, 0x0f, 0x51, 0xfe, 0x61, 0x94, 0xf5, 0xd0, 0xb5, 0x6c, + 0xc2, 0xa8, 0xcb, 0x53, 0x15, 0x1a, 0xa0, 0xd0, +}; +static const unsigned char kat3402_addinpr1[] = {0}; +static const unsigned char kat3402_entropyinpr2[] = { + 0x23, 0x61, 0x51, 0x02, 0x92, 0x45, 0x6d, 0x41, 0x06, 0x09, 0xb0, 0x14, + 0x3c, 0x49, 0x82, 0x01, 0x1a, 0x79, 0xc8, 0x68, 0x31, 0xd1, 0x07, 0x65, + 0xae, 0x3e, 0x32, 0x54, 0x07, 0x71, 0x02, 0xbc, +}; +static const unsigned char kat3402_addinpr2[] = {0}; +static const unsigned char kat3402_retbits[] = { + 0xaf, 0x5b, 0x9d, 0x31, 0x81, 0x3f, 0xf4, 0x96, 0x7d, 0x42, 0xe3, 0xff, + 0x37, 0x07, 0x9c, 0x3f, 0x39, 0xa1, 0xc9, 0xe3, 0x0a, 0x10, 0xd7, 0xf3, + 0x0e, 0x14, 0x29, 0x12, 0x6e, 0xea, 0xaf, 0x3a, 0x69, 0x5e, 0xf1, 0x66, + 0x55, 0xd6, 0x02, 0x55, 0xb6, 0xd0, 0xe4, 0x92, 0x1a, 0x3f, 0xd1, 0x27, + 0xd0, 0x5d, 0xf2, 0x33, 0x8e, 0xd2, 0x5b, 0x11, 0xe4, 0x5c, 0x1f, 0xfd, + 0x67, 0x2e, 0x9f, 0x2b, +}; +static const struct drbg_kat_pr_true kat3402_t = { + 11, kat3402_entropyin, kat3402_nonce, kat3402_persstr, + kat3402_entropyinpr1, kat3402_addinpr1, kat3402_entropyinpr2, + kat3402_addinpr2, kat3402_retbits +}; +static const struct drbg_kat kat3402 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3402_t +}; + +static const unsigned char kat3403_entropyin[] = { + 0xe0, 0xd1, 0x97, 0x4d, 0x3e, 0x1c, 0x47, 0x20, 0x73, 0xf2, 0x28, 0xac, + 0xb7, 0x97, 0x56, 0x0c, 0x1f, 0x1b, 0xf9, 0xc9, 0x9b, 0xe1, 0x9e, 0xc7, + 0x68, 0x1c, 0x82, 0x7a, 0x20, 0x67, 0x34, 0xb4, +}; +static const unsigned char kat3403_nonce[] = { + 0xd3, 0xda, 0xa8, 0xcc, 0x35, 0xa5, 0x90, 0xf7, 0x4d, 0x72, 0x02, 0xf2, + 0x0c, 0x4f, 0x58, 0x87, +}; +static const unsigned char kat3403_persstr[] = { + 0xaf, 0x96, 0x50, 0xf0, 0x32, 0x0d, 0x62, 0xe1, 0x13, 0x0a, 0xb8, 0xc5, + 0x1e, 0x0a, 0xc4, 0x23, 0xd6, 0xf9, 0x2a, 0xe5, 0x64, 0xaa, 0x1e, 0x89, + 0x4c, 0x80, 0x11, 0x0c, 0x25, 0xeb, 0x81, 0x37, +}; +static const unsigned char kat3403_entropyinpr1[] = { + 0xd0, 0x89, 0x3d, 0x61, 0x83, 0x50, 0xe4, 0x90, 0x27, 0xd4, 0xfd, 0x50, + 0xe5, 0x02, 0xb6, 0x2e, 0x0c, 0xb6, 0x7c, 0xd1, 0x99, 0x72, 0x27, 0x7c, + 0xc1, 0xea, 0xc0, 0xd5, 0xeb, 0x51, 0xdf, 0x44, +}; +static const unsigned char kat3403_addinpr1[] = {0}; +static const unsigned char kat3403_entropyinpr2[] = { + 0xe3, 0xd3, 0xce, 0x9f, 0xe7, 0x3d, 0x15, 0x04, 0x41, 0x21, 0x94, 0xd2, + 0x57, 0xfc, 0x8a, 0x25, 0x2c, 0x5c, 0x55, 0xb1, 0x12, 0x76, 0xd3, 0x4d, + 0xc9, 0x7d, 0xcf, 0x17, 0x50, 0x64, 0xe3, 0x29, +}; +static const unsigned char kat3403_addinpr2[] = {0}; +static const unsigned char kat3403_retbits[] = { + 0xcb, 0xa4, 0x2a, 0xf0, 0x0d, 0x3a, 0x68, 0xa3, 0x1e, 0x64, 0xa0, 0xd1, + 0x7e, 0x8a, 0x4b, 0x74, 0xd1, 0xae, 0xec, 0x20, 0x93, 0x55, 0x6d, 0x99, + 0x27, 0x43, 0x4e, 0x72, 0x66, 0x13, 0x49, 0x8a, 0xa8, 0xbe, 0x98, 0x04, + 0x44, 0x1b, 0xc6, 0x81, 0xf5, 0x2c, 0xe1, 0x56, 0x84, 0x52, 0x55, 0xc3, + 0x5d, 0xcd, 0xce, 0xed, 0x68, 0x6e, 0x45, 0xdc, 0x36, 0x88, 0x62, 0x3b, + 0x72, 0x4d, 0x20, 0xf4, +}; +static const struct drbg_kat_pr_true kat3403_t = { + 12, kat3403_entropyin, kat3403_nonce, kat3403_persstr, + kat3403_entropyinpr1, kat3403_addinpr1, kat3403_entropyinpr2, + kat3403_addinpr2, kat3403_retbits +}; +static const struct drbg_kat kat3403 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3403_t +}; + +static const unsigned char kat3404_entropyin[] = { + 0x73, 0x5e, 0xed, 0x4b, 0xec, 0x0c, 0xb8, 0x49, 0x72, 0xef, 0x1f, 0x15, + 0xfd, 0x79, 0x39, 0x27, 0x03, 0x25, 0x30, 0x07, 0x68, 0x36, 0xa4, 0xe8, + 0x42, 0xd2, 0xe9, 0x9d, 0x0b, 0x89, 0xcc, 0xe4, +}; +static const unsigned char kat3404_nonce[] = { + 0x72, 0x64, 0xce, 0x83, 0xc8, 0x70, 0x2a, 0x1a, 0xcd, 0xc5, 0xea, 0x55, + 0x6e, 0x9e, 0x3f, 0xcd, +}; +static const unsigned char kat3404_persstr[] = { + 0xc1, 0x46, 0xf2, 0xf7, 0xc7, 0xc6, 0x7c, 0x33, 0xda, 0x36, 0x21, 0x5d, + 0xc6, 0xa1, 0xe2, 0x58, 0xb3, 0x9a, 0x91, 0x71, 0xc0, 0x8f, 0x3c, 0x8d, + 0x51, 0x79, 0x48, 0xd6, 0xb9, 0x25, 0x92, 0x00, +}; +static const unsigned char kat3404_entropyinpr1[] = { + 0x9e, 0x32, 0x92, 0x3d, 0x52, 0x23, 0xf4, 0x1b, 0xac, 0x70, 0x1a, 0xfd, + 0x4a, 0xd1, 0x86, 0x81, 0x8d, 0xa7, 0xca, 0xbd, 0xce, 0x4b, 0xc5, 0x25, + 0xb7, 0x4d, 0x38, 0x4f, 0xff, 0x94, 0x94, 0xfc, +}; +static const unsigned char kat3404_addinpr1[] = {0}; +static const unsigned char kat3404_entropyinpr2[] = { + 0xc6, 0x86, 0x4c, 0x54, 0x45, 0x9c, 0x4f, 0x57, 0x85, 0x4b, 0xf1, 0x3c, + 0x5e, 0x77, 0xbb, 0xf5, 0x1c, 0x58, 0x9e, 0x5f, 0xd2, 0x88, 0x12, 0xa1, + 0x5e, 0x72, 0x47, 0x1e, 0x70, 0xd2, 0xe2, 0x8c, +}; +static const unsigned char kat3404_addinpr2[] = {0}; +static const unsigned char kat3404_retbits[] = { + 0x50, 0x37, 0x91, 0xfc, 0x73, 0x73, 0x8b, 0xff, 0x85, 0xb6, 0x3f, 0x26, + 0xa2, 0x4c, 0x9d, 0xb3, 0xfd, 0x5f, 0x3c, 0x7e, 0x6e, 0xc0, 0xd9, 0xf1, + 0xcf, 0x46, 0xb0, 0x1c, 0xf3, 0x36, 0xd1, 0xe8, 0x4e, 0x78, 0x8c, 0x06, + 0x26, 0xa3, 0x7d, 0xb6, 0x32, 0x30, 0x49, 0x88, 0xfe, 0x68, 0xae, 0x47, + 0x99, 0x62, 0x85, 0xdd, 0x05, 0x2b, 0x10, 0x15, 0x3c, 0x71, 0x78, 0x03, + 0x17, 0x80, 0x43, 0x6b, +}; +static const struct drbg_kat_pr_true kat3404_t = { + 13, kat3404_entropyin, kat3404_nonce, kat3404_persstr, + kat3404_entropyinpr1, kat3404_addinpr1, kat3404_entropyinpr2, + kat3404_addinpr2, kat3404_retbits +}; +static const struct drbg_kat kat3404 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3404_t +}; + +static const unsigned char kat3405_entropyin[] = { + 0x54, 0xdb, 0xc6, 0x36, 0x95, 0x76, 0x7d, 0x07, 0xd1, 0x98, 0x61, 0xc2, + 0x07, 0xfb, 0xdc, 0x5c, 0x09, 0xe3, 0x98, 0x99, 0x75, 0x95, 0x49, 0xf0, + 0x48, 0x2e, 0x36, 0x76, 0x73, 0x69, 0x70, 0x12, +}; +static const unsigned char kat3405_nonce[] = { + 0x29, 0xae, 0x41, 0xb8, 0x77, 0xc8, 0xdd, 0xa9, 0x39, 0xf5, 0xa4, 0x88, + 0xf3, 0x77, 0x4f, 0x8f, +}; +static const unsigned char kat3405_persstr[] = { + 0x76, 0x79, 0x9b, 0x83, 0x15, 0x4f, 0xc9, 0xcb, 0xde, 0x61, 0x6f, 0x7e, + 0xa9, 0xcf, 0xdc, 0x08, 0x97, 0xa2, 0x13, 0x64, 0x02, 0x99, 0x1c, 0xce, + 0xf2, 0xb1, 0x75, 0x95, 0xaa, 0x1d, 0x7c, 0x50, +}; +static const unsigned char kat3405_entropyinpr1[] = { + 0x03, 0xd6, 0x9a, 0x9c, 0xca, 0x9b, 0x95, 0xd1, 0x08, 0x7f, 0xc5, 0x0d, + 0x0c, 0xfc, 0xa0, 0x33, 0x50, 0xc9, 0xd4, 0xd0, 0xf1, 0xe8, 0x72, 0x52, + 0x2e, 0x2c, 0x60, 0xb7, 0x38, 0x98, 0xae, 0x53, +}; +static const unsigned char kat3405_addinpr1[] = {0}; +static const unsigned char kat3405_entropyinpr2[] = { + 0xf4, 0x30, 0xd8, 0x49, 0x67, 0xcc, 0x46, 0x05, 0x75, 0xd2, 0xb5, 0xad, + 0x34, 0xfb, 0x99, 0x80, 0xa3, 0x1f, 0xaf, 0x10, 0x22, 0x9d, 0xbe, 0xdb, + 0x64, 0x25, 0x09, 0x9a, 0x0a, 0xa8, 0x33, 0x23, +}; +static const unsigned char kat3405_addinpr2[] = {0}; +static const unsigned char kat3405_retbits[] = { + 0x9a, 0x23, 0xd0, 0x8a, 0x1f, 0x2d, 0x90, 0x7c, 0x9e, 0xb4, 0x73, 0xe5, + 0xd4, 0xf3, 0xea, 0xd7, 0x9d, 0x70, 0x05, 0x6a, 0x26, 0x44, 0x63, 0xc7, + 0xc8, 0x98, 0x14, 0x80, 0xa7, 0x0d, 0xfd, 0xe5, 0xc5, 0xf9, 0x0a, 0x07, + 0x41, 0x57, 0xeb, 0x38, 0x4f, 0x39, 0x1a, 0xc0, 0x1b, 0x1c, 0x31, 0x38, + 0xc9, 0xd3, 0x6f, 0x9e, 0x11, 0xb4, 0x71, 0xdc, 0x02, 0x05, 0x67, 0x59, + 0x29, 0x62, 0x35, 0xe4, +}; +static const struct drbg_kat_pr_true kat3405_t = { + 14, kat3405_entropyin, kat3405_nonce, kat3405_persstr, + kat3405_entropyinpr1, kat3405_addinpr1, kat3405_entropyinpr2, + kat3405_addinpr2, kat3405_retbits +}; +static const struct drbg_kat kat3405 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3405_t +}; + +static const unsigned char kat3406_entropyin[] = { + 0x53, 0x43, 0x46, 0xa3, 0xe0, 0xba, 0xa6, 0x5d, 0x7a, 0x51, 0x87, 0x1b, + 0x6d, 0x63, 0x3a, 0x6f, 0x1e, 0xfa, 0x9f, 0xf5, 0x5d, 0xfd, 0xe3, 0x21, + 0x2c, 0x95, 0x02, 0x9a, 0xdf, 0x23, 0x87, 0xd9, +}; +static const unsigned char kat3406_nonce[] = { + 0x0c, 0xbe, 0x99, 0x82, 0x15, 0x09, 0x97, 0x5d, 0x82, 0x4f, 0xd8, 0x26, + 0xc4, 0x7d, 0x2a, 0xbc, +}; +static const unsigned char kat3406_persstr[] = { + 0x02, 0x0d, 0x73, 0x40, 0x56, 0x9e, 0x68, 0xd9, 0x92, 0xe6, 0xe8, 0xdd, + 0xfb, 0xea, 0xd9, 0xf9, 0x93, 0xc7, 0x4d, 0x97, 0x1e, 0x43, 0x39, 0xfe, + 0x91, 0x07, 0x4f, 0x87, 0xe9, 0xd7, 0xd7, 0x77, +}; +static const unsigned char kat3406_entropyinpr1[] = { + 0x28, 0x60, 0x91, 0x70, 0x9d, 0x2e, 0x91, 0xbf, 0xef, 0x66, 0x54, 0xb8, + 0x44, 0x9d, 0x5e, 0x55, 0x64, 0xb6, 0xc2, 0xfe, 0x1f, 0x3e, 0x4e, 0x6e, + 0x59, 0xfe, 0x77, 0x64, 0x61, 0xbf, 0xb0, 0xdc, +}; +static const unsigned char kat3406_addinpr1[] = { + 0xf4, 0x10, 0x40, 0xef, 0xf2, 0xa7, 0x01, 0x02, 0x87, 0xc2, 0xa7, 0x6d, + 0x78, 0x67, 0xa6, 0x6e, 0x61, 0x29, 0x9b, 0xe1, 0xe1, 0x24, 0x7a, 0x6b, + 0x22, 0xa6, 0x4b, 0x82, 0x9a, 0xda, 0x86, 0x24, +}; +static const unsigned char kat3406_entropyinpr2[] = { + 0xe6, 0x8e, 0x12, 0x7b, 0x2e, 0x5b, 0x9d, 0x65, 0x39, 0xc2, 0x6f, 0x7e, + 0x78, 0xbe, 0xc1, 0x33, 0x14, 0xe3, 0x7f, 0xeb, 0xdb, 0x71, 0x05, 0xd1, + 0xd6, 0x5f, 0x0b, 0xde, 0x23, 0xc8, 0x7d, 0x38, +}; +static const unsigned char kat3406_addinpr2[] = { + 0x94, 0xef, 0xe6, 0x8e, 0x21, 0x85, 0x64, 0x6a, 0x17, 0xbb, 0x8a, 0x83, + 0x26, 0x81, 0x42, 0xa7, 0xb7, 0xa0, 0x27, 0x86, 0xc1, 0xee, 0x90, 0xab, + 0x8f, 0x73, 0x99, 0xcc, 0xf5, 0x43, 0xde, 0x26, +}; +static const unsigned char kat3406_retbits[] = { + 0xda, 0x63, 0x89, 0xd1, 0x51, 0xe3, 0xb2, 0xb3, 0x32, 0xfb, 0xcc, 0x02, + 0xb2, 0xcc, 0x5a, 0xf4, 0xf6, 0x98, 0x35, 0xe9, 0xfb, 0xbe, 0x19, 0x13, + 0x0f, 0x91, 0xcb, 0xf3, 0x0a, 0x3c, 0x24, 0x58, 0x0e, 0xbf, 0xb4, 0x31, + 0x1b, 0x34, 0x87, 0xe9, 0xd6, 0xa6, 0x1d, 0xe9, 0xdc, 0x28, 0x42, 0xc1, + 0x07, 0x15, 0x21, 0x58, 0xb0, 0xe7, 0x5a, 0x93, 0x2c, 0x38, 0xe5, 0xb8, + 0xdd, 0xff, 0x10, 0xe6, +}; +static const struct drbg_kat_pr_true kat3406_t = { + 0, kat3406_entropyin, kat3406_nonce, kat3406_persstr, + kat3406_entropyinpr1, kat3406_addinpr1, kat3406_entropyinpr2, + kat3406_addinpr2, kat3406_retbits +}; +static const struct drbg_kat kat3406 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3406_t +}; + +static const unsigned char kat3407_entropyin[] = { + 0x44, 0x3c, 0x6f, 0xfd, 0x30, 0xba, 0x94, 0xd7, 0xbc, 0x6c, 0x8d, 0xed, + 0x25, 0x7f, 0x9a, 0x63, 0xdf, 0x33, 0x9d, 0x39, 0x39, 0xf0, 0xa8, 0xd9, + 0x3e, 0x4f, 0xed, 0x65, 0xd9, 0x86, 0x31, 0xa5, +}; +static const unsigned char kat3407_nonce[] = { + 0xd4, 0xdd, 0x3a, 0xe9, 0x8e, 0x45, 0x65, 0x59, 0x0e, 0x5b, 0x03, 0xc8, + 0x7a, 0x77, 0xce, 0x59, +}; +static const unsigned char kat3407_persstr[] = { + 0xe0, 0xdd, 0x7a, 0x9b, 0xbe, 0x35, 0x69, 0xf4, 0xbe, 0x1e, 0x8e, 0x4c, + 0x4b, 0x7d, 0x37, 0x09, 0x17, 0x02, 0x2e, 0x6f, 0x6e, 0x8e, 0x2c, 0x04, + 0x92, 0x48, 0x10, 0x08, 0x00, 0x85, 0xf6, 0xb8, +}; +static const unsigned char kat3407_entropyinpr1[] = { + 0xed, 0x4c, 0x48, 0xec, 0xca, 0x67, 0x60, 0xb6, 0xae, 0xda, 0xce, 0x40, + 0x94, 0xde, 0x3c, 0x8f, 0xda, 0x82, 0xbc, 0x5e, 0x43, 0x0a, 0xec, 0x1c, + 0x3d, 0x09, 0x01, 0x2d, 0x9f, 0xc1, 0x9f, 0xf5, +}; +static const unsigned char kat3407_addinpr1[] = { + 0xc7, 0xeb, 0xd6, 0xfc, 0xaf, 0xbb, 0x36, 0x14, 0xf4, 0x79, 0xfd, 0xdb, + 0x73, 0x4c, 0xd9, 0xbc, 0xc1, 0x85, 0xed, 0xa9, 0x91, 0x89, 0x0b, 0x4a, + 0xab, 0xba, 0xcc, 0x10, 0x20, 0xc4, 0x9b, 0xf5, +}; +static const unsigned char kat3407_entropyinpr2[] = { + 0xac, 0x76, 0xc7, 0x0a, 0x15, 0x6a, 0x7e, 0x4a, 0x9b, 0x1a, 0x02, 0x8a, + 0x3a, 0xc7, 0x64, 0x8f, 0x66, 0x16, 0x40, 0x82, 0xb4, 0x63, 0xf8, 0xbf, + 0x14, 0x9d, 0xd8, 0xd9, 0x95, 0x0a, 0x52, 0xa7, +}; +static const unsigned char kat3407_addinpr2[] = { + 0x27, 0xfa, 0x20, 0x4c, 0xd6, 0xec, 0xc4, 0xc4, 0x3b, 0x14, 0xc4, 0x45, + 0x49, 0xeb, 0x7a, 0x0c, 0x7a, 0xc5, 0xb5, 0xd6, 0x03, 0x8e, 0x44, 0xe4, + 0x8c, 0x72, 0x78, 0xdf, 0xdb, 0x20, 0x9b, 0xe8, +}; +static const unsigned char kat3407_retbits[] = { + 0x74, 0xf8, 0x0e, 0x6d, 0x8a, 0x61, 0xdc, 0x7e, 0x12, 0x9f, 0x4e, 0xb6, + 0x8e, 0xe6, 0x0e, 0xca, 0xee, 0xa7, 0xaf, 0xef, 0xbd, 0xbf, 0x88, 0x3c, + 0x35, 0xd3, 0xe4, 0xdb, 0x18, 0x93, 0x8d, 0xb0, 0x64, 0x36, 0x68, 0x26, + 0x5f, 0x4b, 0x21, 0xa1, 0x8d, 0xc0, 0xdc, 0x20, 0x92, 0x19, 0x67, 0x1f, + 0xe4, 0x94, 0xad, 0xd3, 0x7b, 0x88, 0x49, 0x19, 0xb2, 0xec, 0xab, 0x1c, + 0xbd, 0xdc, 0x9d, 0x10, +}; +static const struct drbg_kat_pr_true kat3407_t = { + 1, kat3407_entropyin, kat3407_nonce, kat3407_persstr, + kat3407_entropyinpr1, kat3407_addinpr1, kat3407_entropyinpr2, + kat3407_addinpr2, kat3407_retbits +}; +static const struct drbg_kat kat3407 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3407_t +}; + +static const unsigned char kat3408_entropyin[] = { + 0x39, 0x90, 0x59, 0x84, 0x4d, 0x1b, 0x57, 0xeb, 0x78, 0x81, 0x5d, 0xe9, + 0xf1, 0x31, 0xce, 0x7a, 0x4b, 0x38, 0xb6, 0xb9, 0x39, 0x98, 0x0a, 0xc3, + 0x1a, 0x7f, 0xb1, 0x49, 0xa9, 0x9f, 0x87, 0x45, +}; +static const unsigned char kat3408_nonce[] = { + 0xc9, 0xb7, 0xff, 0xb6, 0x6a, 0xe7, 0xd0, 0xd6, 0xdc, 0x1b, 0xb2, 0x8b, + 0x9e, 0x54, 0xfa, 0xd2, +}; +static const unsigned char kat3408_persstr[] = { + 0xf1, 0x0a, 0x65, 0x66, 0x5b, 0xb9, 0xa6, 0xfd, 0x2d, 0x7f, 0x88, 0x0b, + 0x4a, 0x9d, 0x55, 0x93, 0x4f, 0x8b, 0xc8, 0x24, 0xde, 0x66, 0x06, 0xdc, + 0xf8, 0x89, 0x90, 0x76, 0xf4, 0x75, 0x1b, 0x39, +}; +static const unsigned char kat3408_entropyinpr1[] = { + 0x28, 0xf4, 0x30, 0x2a, 0xc5, 0x6c, 0x09, 0x51, 0x18, 0x41, 0x84, 0xdc, + 0x4c, 0xbb, 0x01, 0xc0, 0x7b, 0x48, 0x2d, 0xee, 0x61, 0x15, 0xe7, 0xe9, + 0x40, 0xb0, 0x0b, 0xf9, 0x61, 0x22, 0x6c, 0x05, +}; +static const unsigned char kat3408_addinpr1[] = { + 0x4a, 0x41, 0x63, 0x63, 0x39, 0x4c, 0x08, 0x48, 0x4a, 0xc2, 0xf2, 0x47, + 0xea, 0x6d, 0xfd, 0x95, 0xd4, 0xc8, 0x29, 0xe1, 0x6b, 0x4c, 0xe9, 0xdd, + 0x16, 0x1e, 0x1f, 0x3e, 0x5f, 0x36, 0xfe, 0xfb, +}; +static const unsigned char kat3408_entropyinpr2[] = { + 0x3e, 0x07, 0x6a, 0x04, 0xd1, 0x12, 0x89, 0x1c, 0x57, 0x4f, 0x66, 0x91, + 0xd4, 0x41, 0x43, 0x9f, 0xbe, 0x49, 0x93, 0x75, 0x17, 0x56, 0xe0, 0xa9, + 0x01, 0x3b, 0x68, 0xb4, 0x66, 0x14, 0x2b, 0x7f, +}; +static const unsigned char kat3408_addinpr2[] = { + 0x1a, 0x76, 0xe1, 0x0d, 0x5e, 0x18, 0x38, 0x0b, 0x09, 0x78, 0xc6, 0xa2, + 0xf9, 0x7e, 0xaa, 0x10, 0xfa, 0xa1, 0x22, 0xc5, 0x0b, 0x89, 0x73, 0xa6, + 0x5b, 0x30, 0x01, 0x44, 0x0c, 0x26, 0xeb, 0x81, +}; +static const unsigned char kat3408_retbits[] = { + 0x8e, 0x48, 0x18, 0xd7, 0xc1, 0x0d, 0x63, 0xd0, 0x67, 0x00, 0x6b, 0xa3, + 0x5f, 0x46, 0x36, 0xc3, 0x0f, 0x32, 0xa9, 0x62, 0x46, 0x7d, 0x43, 0x7d, + 0x2a, 0xca, 0xcd, 0x42, 0xd5, 0xb5, 0x2d, 0x4c, 0x75, 0x8f, 0xb3, 0x35, + 0xd9, 0xde, 0x88, 0xe6, 0xf6, 0x40, 0x7f, 0x2f, 0x6c, 0x7d, 0x2a, 0xc1, + 0x73, 0xd5, 0xfb, 0x94, 0x04, 0x5b, 0xc8, 0x34, 0x82, 0xb0, 0x87, 0xd6, + 0x33, 0xc5, 0x83, 0xe5, +}; +static const struct drbg_kat_pr_true kat3408_t = { + 2, kat3408_entropyin, kat3408_nonce, kat3408_persstr, + kat3408_entropyinpr1, kat3408_addinpr1, kat3408_entropyinpr2, + kat3408_addinpr2, kat3408_retbits +}; +static const struct drbg_kat kat3408 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3408_t +}; + +static const unsigned char kat3409_entropyin[] = { + 0x4d, 0x62, 0x68, 0x47, 0x28, 0x7b, 0x6a, 0x49, 0x4e, 0xbd, 0x86, 0x0c, + 0x68, 0x6a, 0x5c, 0xed, 0x43, 0x3f, 0x44, 0xe1, 0xdf, 0x47, 0x6c, 0x35, + 0x9b, 0xd1, 0xa5, 0x6a, 0xa5, 0xda, 0xd1, 0xb1, +}; +static const unsigned char kat3409_nonce[] = { + 0x07, 0xe6, 0xa8, 0x6f, 0x3b, 0xf4, 0x9d, 0xcb, 0xa6, 0xbc, 0x7e, 0x3e, + 0x78, 0x07, 0xe7, 0x57, +}; +static const unsigned char kat3409_persstr[] = { + 0x78, 0xd7, 0x56, 0x66, 0x95, 0x21, 0x7d, 0xb1, 0x71, 0x87, 0x42, 0xc3, + 0x7b, 0x59, 0x62, 0xc6, 0xb3, 0xb7, 0x86, 0xf8, 0x71, 0xd0, 0x38, 0xac, + 0xe0, 0xf2, 0x2c, 0x72, 0xae, 0xbf, 0xfd, 0x50, +}; +static const unsigned char kat3409_entropyinpr1[] = { + 0x32, 0x40, 0x8b, 0x60, 0xbe, 0xe5, 0x9d, 0x57, 0xa6, 0x2e, 0x64, 0x66, + 0xc0, 0x25, 0xac, 0x2a, 0xeb, 0xdb, 0x23, 0x22, 0x69, 0xb5, 0x8e, 0x36, + 0x20, 0x45, 0x71, 0x63, 0x5f, 0x86, 0x92, 0x30, +}; +static const unsigned char kat3409_addinpr1[] = { + 0x98, 0xaf, 0x9b, 0x2b, 0xee, 0xbe, 0x5d, 0x20, 0x7e, 0xb5, 0x3d, 0x7c, + 0x4a, 0x54, 0xb1, 0x19, 0x65, 0x49, 0xf7, 0x0f, 0x00, 0x99, 0xea, 0x10, + 0x38, 0x0d, 0xca, 0xcf, 0xb9, 0x65, 0xf4, 0x9b, +}; +static const unsigned char kat3409_entropyinpr2[] = { + 0xb2, 0x93, 0x14, 0xc6, 0xfb, 0x88, 0x93, 0x81, 0x94, 0x9f, 0x04, 0x99, + 0xcc, 0x2e, 0xc6, 0x2b, 0xb6, 0x03, 0x65, 0x81, 0x3d, 0x46, 0x48, 0x26, + 0x25, 0x56, 0x08, 0x97, 0x38, 0xfb, 0x64, 0xa1, +}; +static const unsigned char kat3409_addinpr2[] = { + 0x80, 0x23, 0xc0, 0x56, 0x2d, 0xe8, 0x9e, 0x77, 0xbf, 0x9d, 0x43, 0xcf, + 0x31, 0xdf, 0xd2, 0xc0, 0xdc, 0x63, 0x6e, 0xb4, 0x0f, 0x61, 0x57, 0x9b, + 0xea, 0x60, 0xe8, 0x0d, 0xd3, 0x09, 0xe9, 0x55, +}; +static const unsigned char kat3409_retbits[] = { + 0x6d, 0x36, 0x92, 0xb8, 0x2b, 0x7c, 0x18, 0x93, 0x66, 0xd1, 0xd3, 0xe6, + 0x77, 0x34, 0xb5, 0x69, 0xdd, 0x91, 0x08, 0x7f, 0x40, 0xef, 0x8c, 0xe0, + 0xca, 0x27, 0xd0, 0x0d, 0xe1, 0xe1, 0xce, 0xd0, 0x3e, 0x36, 0xd8, 0xba, + 0xa3, 0x76, 0x5e, 0xec, 0x4f, 0x04, 0x26, 0x15, 0x9d, 0x75, 0xcd, 0xe0, + 0x69, 0x0a, 0xc5, 0x87, 0x55, 0xa7, 0x2a, 0x47, 0x69, 0xae, 0xe8, 0x6e, + 0xac, 0xf7, 0x11, 0x2f, +}; +static const struct drbg_kat_pr_true kat3409_t = { + 3, kat3409_entropyin, kat3409_nonce, kat3409_persstr, + kat3409_entropyinpr1, kat3409_addinpr1, kat3409_entropyinpr2, + kat3409_addinpr2, kat3409_retbits +}; +static const struct drbg_kat kat3409 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3409_t +}; + +static const unsigned char kat3410_entropyin[] = { + 0x9e, 0x0b, 0x8f, 0xda, 0xe5, 0x7b, 0xaf, 0xd5, 0x37, 0x02, 0x94, 0xdb, + 0x3c, 0xb0, 0x9e, 0x6a, 0xd8, 0xf0, 0xf0, 0xb9, 0x0f, 0x68, 0x7c, 0x70, + 0xdc, 0xd2, 0xc5, 0xf6, 0xfb, 0x28, 0x5f, 0x46, +}; +static const unsigned char kat3410_nonce[] = { + 0xe8, 0x4f, 0xd4, 0xbf, 0x3d, 0xeb, 0xed, 0x96, 0xf9, 0x67, 0x30, 0xf4, + 0x8b, 0x6f, 0x44, 0xb2, +}; +static const unsigned char kat3410_persstr[] = { + 0xc4, 0x71, 0xd4, 0x44, 0xc0, 0x8a, 0x08, 0x67, 0x77, 0xa7, 0xd3, 0xef, + 0xc2, 0x33, 0xc2, 0x15, 0x69, 0x6e, 0x37, 0x1c, 0x3a, 0x9d, 0x05, 0x5c, + 0xbd, 0x54, 0x2c, 0xbe, 0x86, 0xff, 0x4e, 0x13, +}; +static const unsigned char kat3410_entropyinpr1[] = { + 0x90, 0x3c, 0x73, 0xeb, 0x49, 0xf5, 0x32, 0x81, 0xa0, 0x83, 0xc7, 0x36, + 0xd0, 0x62, 0xe8, 0xe8, 0x4b, 0x59, 0xdb, 0x1f, 0x91, 0x5a, 0x8d, 0x25, + 0x05, 0x1a, 0x6a, 0x82, 0xac, 0xc3, 0x0c, 0x03, +}; +static const unsigned char kat3410_addinpr1[] = { + 0x13, 0x39, 0xa2, 0xd8, 0x63, 0x30, 0xbe, 0xf5, 0x86, 0x90, 0x32, 0xd5, + 0x5e, 0xd4, 0xf0, 0x30, 0xa6, 0xba, 0xc4, 0x60, 0x76, 0x2f, 0x5a, 0xe6, + 0x13, 0x78, 0xc7, 0xb1, 0xf9, 0xe6, 0x36, 0xb4, +}; +static const unsigned char kat3410_entropyinpr2[] = { + 0x8e, 0x98, 0x88, 0xfa, 0x5f, 0xb0, 0xaa, 0x27, 0x50, 0xaa, 0xcf, 0xa9, + 0x58, 0x17, 0x5c, 0xce, 0x54, 0xc1, 0x23, 0x30, 0x20, 0x93, 0x81, 0xfd, + 0x73, 0x50, 0xa6, 0x58, 0x12, 0xa4, 0xb1, 0x8d, +}; +static const unsigned char kat3410_addinpr2[] = { + 0x36, 0x52, 0xa0, 0xee, 0x38, 0xa9, 0x26, 0xf5, 0x0a, 0xc5, 0x6e, 0x07, + 0x7f, 0xe8, 0x89, 0x40, 0x52, 0x33, 0x43, 0xcf, 0x39, 0xd1, 0x5a, 0x30, + 0xa6, 0xe3, 0x03, 0xb2, 0x8c, 0xe6, 0x5b, 0x53, +}; +static const unsigned char kat3410_retbits[] = { + 0xac, 0xa9, 0x60, 0x2e, 0x63, 0x66, 0x98, 0x42, 0xc0, 0xb6, 0xa8, 0x0a, + 0x7d, 0xbf, 0x71, 0xf5, 0x1a, 0xc9, 0xbc, 0xc6, 0x24, 0xc9, 0x85, 0x8f, + 0x41, 0xea, 0x3a, 0x55, 0xae, 0x9d, 0xb8, 0x94, 0x93, 0x0b, 0x90, 0x3d, + 0xd2, 0x07, 0x49, 0xb4, 0xa9, 0xb8, 0x7f, 0x9a, 0xd2, 0xc2, 0xca, 0xc4, + 0x4d, 0x43, 0xa2, 0x6a, 0x14, 0xff, 0x7f, 0xee, 0x6f, 0x52, 0x38, 0xa2, + 0xe5, 0x69, 0xc8, 0xf8, +}; +static const struct drbg_kat_pr_true kat3410_t = { + 4, kat3410_entropyin, kat3410_nonce, kat3410_persstr, + kat3410_entropyinpr1, kat3410_addinpr1, kat3410_entropyinpr2, + kat3410_addinpr2, kat3410_retbits +}; +static const struct drbg_kat kat3410 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3410_t +}; + +static const unsigned char kat3411_entropyin[] = { + 0x75, 0x2f, 0x52, 0x8b, 0x9a, 0x1c, 0x0f, 0x2e, 0x3c, 0xc9, 0x9c, 0x24, + 0x1f, 0x1e, 0x2c, 0xa7, 0x56, 0x1c, 0xac, 0x4a, 0x34, 0xe9, 0x4e, 0x73, + 0x94, 0x78, 0x51, 0x2e, 0xd3, 0x28, 0x68, 0xd7, +}; +static const unsigned char kat3411_nonce[] = { + 0x9d, 0x75, 0xe0, 0xdb, 0x08, 0x85, 0xb9, 0xeb, 0x35, 0x89, 0x45, 0x1a, + 0xb9, 0xf9, 0xd0, 0x54, +}; +static const unsigned char kat3411_persstr[] = { + 0x81, 0xf0, 0x98, 0x61, 0x01, 0xd4, 0xfe, 0x5b, 0x7c, 0x85, 0xb8, 0x92, + 0x74, 0xf8, 0x8f, 0xe0, 0xcf, 0x0f, 0xa4, 0x20, 0x4d, 0x5a, 0xb2, 0x3f, + 0x14, 0x9b, 0xc6, 0x2c, 0x83, 0x6d, 0x96, 0xab, +}; +static const unsigned char kat3411_entropyinpr1[] = { + 0x7f, 0x65, 0xa3, 0x3f, 0x99, 0x9f, 0x35, 0xb3, 0xe5, 0x7f, 0x37, 0xc2, + 0xe1, 0x4f, 0xbb, 0x03, 0x4f, 0x97, 0x89, 0xe3, 0xa2, 0xbc, 0x9c, 0x8c, + 0x6f, 0xd0, 0x15, 0xe5, 0xcb, 0x66, 0x45, 0x8e, +}; +static const unsigned char kat3411_addinpr1[] = { + 0x3d, 0x46, 0xa2, 0x28, 0x0d, 0x08, 0xb2, 0x6e, 0x7c, 0xd7, 0x01, 0x8d, + 0x22, 0x59, 0xc7, 0xcf, 0x7b, 0xd6, 0xc1, 0xbd, 0xf2, 0x77, 0xf9, 0xb6, + 0xe6, 0xf3, 0x4c, 0xc4, 0xa5, 0x7f, 0x05, 0x75, +}; +static const unsigned char kat3411_entropyinpr2[] = { + 0xfe, 0xf1, 0xa7, 0x14, 0x85, 0x8a, 0x06, 0x14, 0xa2, 0x3b, 0x4a, 0xc0, + 0x15, 0x1d, 0x6b, 0xb9, 0xda, 0xb4, 0x27, 0xda, 0xa4, 0x76, 0x86, 0xd8, + 0xa3, 0xf6, 0x99, 0x9d, 0x63, 0x09, 0x98, 0xd6, +}; +static const unsigned char kat3411_addinpr2[] = { + 0x20, 0x88, 0x69, 0x97, 0xf8, 0x8b, 0x4d, 0x27, 0x4c, 0xad, 0xe0, 0x5a, + 0x05, 0x42, 0x7e, 0xce, 0xa3, 0x5d, 0xb5, 0x15, 0x01, 0x3f, 0xf2, 0x16, + 0x46, 0x9a, 0x1c, 0x5f, 0x13, 0xaa, 0x7e, 0x45, +}; +static const unsigned char kat3411_retbits[] = { + 0x1d, 0x67, 0xf1, 0x61, 0x99, 0x10, 0x44, 0x53, 0x48, 0xa0, 0x26, 0x3d, + 0x80, 0x2e, 0x38, 0xfd, 0x54, 0xdf, 0x01, 0x34, 0xda, 0x92, 0x5b, 0x44, + 0x38, 0xe0, 0xa9, 0x5e, 0x41, 0x91, 0xf9, 0x5c, 0x77, 0xe1, 0xc2, 0xa3, + 0x98, 0x04, 0xbe, 0x37, 0xb2, 0x58, 0x63, 0x9e, 0xe9, 0x84, 0xf3, 0x7f, + 0x74, 0x92, 0x17, 0x29, 0x39, 0x5a, 0xbf, 0xa4, 0xb3, 0x7a, 0x36, 0xf6, + 0x0e, 0x4b, 0x79, 0xdd, +}; +static const struct drbg_kat_pr_true kat3411_t = { + 5, kat3411_entropyin, kat3411_nonce, kat3411_persstr, + kat3411_entropyinpr1, kat3411_addinpr1, kat3411_entropyinpr2, + kat3411_addinpr2, kat3411_retbits +}; +static const struct drbg_kat kat3411 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3411_t +}; + +static const unsigned char kat3412_entropyin[] = { + 0xc0, 0xb4, 0xf6, 0x57, 0xdb, 0xe3, 0xc4, 0x9b, 0x45, 0x8d, 0xb5, 0x59, + 0x31, 0xe8, 0x3a, 0xc7, 0xe9, 0x7a, 0xd8, 0xb1, 0x98, 0x25, 0x46, 0xf0, + 0xb4, 0xab, 0x48, 0xa2, 0x83, 0xcb, 0x18, 0x1c, +}; +static const unsigned char kat3412_nonce[] = { + 0x7d, 0xd9, 0x41, 0xae, 0xe8, 0x5d, 0x2f, 0x86, 0xed, 0x5a, 0x2d, 0xe8, + 0xd9, 0xdc, 0x3a, 0x8c, +}; +static const unsigned char kat3412_persstr[] = { + 0x31, 0x15, 0xf3, 0x9e, 0xa0, 0xd4, 0x1f, 0xeb, 0x15, 0xcf, 0x81, 0xdf, + 0x2f, 0x56, 0x9f, 0xcd, 0x40, 0x02, 0xbf, 0xb9, 0x1c, 0x23, 0x49, 0x58, + 0x81, 0x2b, 0x96, 0xdb, 0x11, 0x01, 0x5a, 0x28, +}; +static const unsigned char kat3412_entropyinpr1[] = { + 0x1c, 0xde, 0x14, 0xf5, 0xbc, 0x73, 0xdf, 0x2d, 0xbd, 0x6d, 0xb0, 0x55, + 0xed, 0xde, 0x7b, 0x4e, 0xc7, 0xd7, 0x69, 0xb3, 0xc3, 0x27, 0xd8, 0x00, + 0xcd, 0xf7, 0x1f, 0x18, 0x32, 0x07, 0xfc, 0x15, +}; +static const unsigned char kat3412_addinpr1[] = { + 0xc6, 0x64, 0xf2, 0xc5, 0x52, 0x35, 0xca, 0x71, 0xa3, 0x94, 0x01, 0x0f, + 0x8d, 0xc0, 0xeb, 0x5e, 0x7e, 0xb8, 0x4c, 0xf3, 0x25, 0x42, 0x5d, 0x57, + 0x34, 0x3b, 0x7a, 0x47, 0x21, 0x8b, 0x05, 0x7c, +}; +static const unsigned char kat3412_entropyinpr2[] = { + 0xbb, 0x6e, 0x54, 0x37, 0x80, 0x69, 0x75, 0x8a, 0x09, 0xaa, 0xc0, 0xb9, + 0x87, 0xea, 0x55, 0x64, 0x62, 0xbb, 0x2d, 0x7a, 0x18, 0x8e, 0x96, 0x17, + 0xab, 0x36, 0xdd, 0x6f, 0x66, 0xbc, 0x3d, 0x85, +}; +static const unsigned char kat3412_addinpr2[] = { + 0x8e, 0x2c, 0x01, 0xf8, 0x4a, 0x41, 0x22, 0xde, 0x34, 0x12, 0x4e, 0x01, + 0xf1, 0x27, 0x38, 0x77, 0x1a, 0x48, 0xad, 0x09, 0xdb, 0xd4, 0x69, 0x48, + 0x0a, 0xd9, 0x46, 0x6f, 0x13, 0x97, 0xfe, 0xf7, +}; +static const unsigned char kat3412_retbits[] = { + 0x6b, 0x40, 0xfb, 0x4d, 0x95, 0x04, 0x3f, 0x57, 0x9b, 0x05, 0xa4, 0xba, + 0xfc, 0x12, 0x74, 0xb8, 0x8e, 0xa8, 0xad, 0x54, 0x42, 0xab, 0x5f, 0xfc, + 0xf8, 0xa0, 0x52, 0x12, 0x93, 0xe7, 0xc5, 0x54, 0x33, 0x61, 0x38, 0x00, + 0x4a, 0xd5, 0xd3, 0xca, 0x79, 0x7e, 0x1b, 0x3d, 0xd1, 0xb5, 0x8c, 0x50, + 0xea, 0x30, 0x23, 0x42, 0x89, 0x80, 0x52, 0x33, 0xdd, 0x85, 0xf4, 0x60, + 0xa3, 0xbc, 0x31, 0xb1, +}; +static const struct drbg_kat_pr_true kat3412_t = { + 6, kat3412_entropyin, kat3412_nonce, kat3412_persstr, + kat3412_entropyinpr1, kat3412_addinpr1, kat3412_entropyinpr2, + kat3412_addinpr2, kat3412_retbits +}; +static const struct drbg_kat kat3412 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3412_t +}; + +static const unsigned char kat3413_entropyin[] = { + 0x94, 0x5e, 0x56, 0xdd, 0x12, 0x1a, 0x32, 0x92, 0x4e, 0x9a, 0x5a, 0xe1, + 0x9b, 0x79, 0x0f, 0x14, 0xec, 0x49, 0x03, 0x1f, 0xa7, 0x30, 0x08, 0x7c, + 0xa4, 0xed, 0xe5, 0x0e, 0x12, 0x29, 0xc9, 0x35, +}; +static const unsigned char kat3413_nonce[] = { + 0xc7, 0x03, 0xdc, 0xeb, 0xac, 0x6b, 0x6e, 0x89, 0x89, 0x91, 0x10, 0xa2, + 0x40, 0x4c, 0x52, 0x26, +}; +static const unsigned char kat3413_persstr[] = { + 0xfd, 0x27, 0x55, 0x11, 0x55, 0xf3, 0xd8, 0xfa, 0x0a, 0xf5, 0xae, 0x41, + 0x3a, 0x97, 0xc8, 0x40, 0x12, 0x0d, 0x56, 0x59, 0xfb, 0x6c, 0x8a, 0x19, + 0x45, 0xe5, 0x13, 0x6a, 0xbf, 0x3a, 0x46, 0x39, +}; +static const unsigned char kat3413_entropyinpr1[] = { + 0x4e, 0xa5, 0xb5, 0x17, 0xee, 0x3c, 0x00, 0xa0, 0x85, 0x50, 0xb5, 0x9f, + 0xb8, 0xa9, 0xb9, 0x97, 0x1b, 0x39, 0x2c, 0xa4, 0xba, 0xcd, 0x93, 0xc1, + 0x42, 0x11, 0xa4, 0xd4, 0x49, 0xf3, 0x30, 0x4b, +}; +static const unsigned char kat3413_addinpr1[] = { + 0xe8, 0x3a, 0x46, 0xc1, 0x02, 0xc1, 0xd6, 0x22, 0xa6, 0xac, 0x2c, 0xc5, + 0x1d, 0x0b, 0xf8, 0x54, 0x1e, 0x5d, 0xfa, 0x34, 0xb2, 0xfb, 0x63, 0x6e, + 0x64, 0xfc, 0xb7, 0x84, 0x22, 0x9d, 0xca, 0xdb, +}; +static const unsigned char kat3413_entropyinpr2[] = { + 0xe8, 0xbc, 0x82, 0x45, 0xb5, 0x10, 0x5f, 0x9e, 0xf6, 0x4b, 0x13, 0xc6, + 0x0a, 0xd0, 0xcf, 0x95, 0xaa, 0x14, 0x5f, 0x7d, 0xda, 0x66, 0x16, 0x1e, + 0x84, 0xf9, 0x53, 0xa1, 0xec, 0xde, 0xb2, 0x6a, +}; +static const unsigned char kat3413_addinpr2[] = { + 0x3a, 0xdd, 0x8a, 0x8b, 0xf9, 0x5e, 0x1d, 0xc5, 0x6a, 0x1b, 0xae, 0x60, + 0xa3, 0x6c, 0xd8, 0xd5, 0xec, 0x10, 0x96, 0x2a, 0xf9, 0xeb, 0x09, 0xca, + 0x48, 0x9b, 0xf6, 0xa5, 0xc1, 0xc1, 0x29, 0x1b, +}; +static const unsigned char kat3413_retbits[] = { + 0x6a, 0x4d, 0xd3, 0x61, 0x4b, 0x64, 0x28, 0x33, 0x92, 0xba, 0xb1, 0xbd, + 0x2a, 0xbc, 0x26, 0x57, 0x0e, 0x23, 0x11, 0x6b, 0x72, 0x7f, 0x99, 0x5d, + 0xf4, 0xd2, 0x91, 0x9c, 0x63, 0x06, 0x4d, 0xfb, 0x1e, 0xda, 0xb0, 0x38, + 0x8c, 0xc4, 0x6c, 0xe5, 0x82, 0x33, 0x9b, 0x8e, 0x6e, 0x4f, 0xf1, 0xe2, + 0xc8, 0x66, 0xe4, 0x21, 0xa0, 0xd9, 0x8f, 0x47, 0x68, 0x74, 0x69, 0x06, + 0xfa, 0x71, 0x70, 0x54, +}; +static const struct drbg_kat_pr_true kat3413_t = { + 7, kat3413_entropyin, kat3413_nonce, kat3413_persstr, + kat3413_entropyinpr1, kat3413_addinpr1, kat3413_entropyinpr2, + kat3413_addinpr2, kat3413_retbits +}; +static const struct drbg_kat kat3413 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3413_t +}; + +static const unsigned char kat3414_entropyin[] = { + 0x52, 0xf1, 0x88, 0xee, 0x67, 0x25, 0x22, 0xb6, 0x10, 0x70, 0xb9, 0xb0, + 0x0d, 0x57, 0xc2, 0x9c, 0xf5, 0x75, 0x92, 0x03, 0x72, 0x96, 0x35, 0x1e, + 0x94, 0xc9, 0x38, 0xcb, 0x1d, 0x43, 0x26, 0xa7, +}; +static const unsigned char kat3414_nonce[] = { + 0xa6, 0xdc, 0x77, 0x50, 0x7d, 0xd5, 0x95, 0xe5, 0x52, 0xbf, 0xea, 0x6c, + 0xe8, 0x9e, 0x6d, 0xdb, +}; +static const unsigned char kat3414_persstr[] = { + 0x6c, 0x3d, 0x05, 0x96, 0x3b, 0xd7, 0xf1, 0x8a, 0xff, 0x43, 0xc3, 0xcc, + 0xff, 0x5d, 0x33, 0x30, 0x9a, 0xc2, 0x19, 0x6e, 0xc4, 0x8b, 0x82, 0x32, + 0x0a, 0xe9, 0xb4, 0x82, 0x9f, 0xf1, 0x03, 0x31, +}; +static const unsigned char kat3414_entropyinpr1[] = { + 0xe0, 0x64, 0x76, 0xf6, 0x1f, 0xa9, 0x36, 0xc2, 0x28, 0x3a, 0x96, 0x3d, + 0x01, 0x04, 0x04, 0x55, 0xca, 0xc8, 0x18, 0x79, 0x36, 0x9c, 0x9a, 0x93, + 0x94, 0x95, 0x8d, 0xa2, 0xc4, 0x90, 0xb8, 0x06, +}; +static const unsigned char kat3414_addinpr1[] = { + 0x62, 0xe1, 0x0a, 0x60, 0x8c, 0x82, 0xc4, 0x94, 0x23, 0x3a, 0xe7, 0xe3, + 0x53, 0xdc, 0x6d, 0x30, 0x4c, 0xd9, 0x88, 0xd9, 0x4c, 0xbc, 0x4f, 0x62, + 0x63, 0x79, 0x34, 0xad, 0xa8, 0x47, 0x6b, 0xfc, +}; +static const unsigned char kat3414_entropyinpr2[] = { + 0x18, 0xa6, 0x32, 0x99, 0xb8, 0xb2, 0xc7, 0x73, 0x60, 0xfd, 0xe0, 0x4a, + 0x26, 0x63, 0xac, 0x06, 0x4f, 0xbd, 0xd6, 0xcf, 0xa3, 0x09, 0x3b, 0xe5, + 0xc3, 0xdf, 0xd3, 0x36, 0xaa, 0x45, 0x7c, 0x86, +}; +static const unsigned char kat3414_addinpr2[] = { + 0xb3, 0x30, 0xb7, 0x05, 0x4b, 0x39, 0xd1, 0xaa, 0xf7, 0x89, 0xc7, 0xb8, + 0x09, 0x5a, 0x21, 0x16, 0x6d, 0x2b, 0x6d, 0xf6, 0x94, 0x1f, 0xc9, 0x31, + 0x39, 0xda, 0x75, 0x01, 0x6e, 0x94, 0x88, 0x39, +}; +static const unsigned char kat3414_retbits[] = { + 0x8b, 0x4b, 0xd4, 0xb1, 0x5f, 0xb0, 0x86, 0xf0, 0x38, 0x97, 0x85, 0xf5, + 0x5e, 0x15, 0xb9, 0xf0, 0xbd, 0x5b, 0xbc, 0xd0, 0xe6, 0x52, 0x22, 0x86, + 0x6f, 0x21, 0xce, 0xe7, 0x0d, 0x9f, 0xe6, 0xef, 0x6a, 0x06, 0x9e, 0x9d, + 0xae, 0x22, 0x89, 0xcf, 0x1b, 0xf3, 0x5d, 0x53, 0x73, 0xd3, 0x5e, 0x08, + 0xb3, 0x07, 0x99, 0x8b, 0x8b, 0x32, 0xbe, 0x15, 0xbc, 0xac, 0x91, 0x92, + 0x69, 0x24, 0x27, 0xa0, +}; +static const struct drbg_kat_pr_true kat3414_t = { + 8, kat3414_entropyin, kat3414_nonce, kat3414_persstr, + kat3414_entropyinpr1, kat3414_addinpr1, kat3414_entropyinpr2, + kat3414_addinpr2, kat3414_retbits +}; +static const struct drbg_kat kat3414 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3414_t +}; + +static const unsigned char kat3415_entropyin[] = { + 0x76, 0xfe, 0x11, 0x7c, 0xf3, 0x33, 0xd9, 0x2f, 0xae, 0xc0, 0x76, 0xc2, + 0xe2, 0xd2, 0x64, 0x1b, 0x9b, 0x5e, 0x23, 0xe5, 0x61, 0x45, 0x8b, 0x8d, + 0x91, 0x6a, 0x6c, 0xf3, 0x64, 0xb2, 0x5d, 0xa9, +}; +static const unsigned char kat3415_nonce[] = { + 0x13, 0x9f, 0xab, 0xa6, 0x74, 0xcf, 0x21, 0x08, 0x65, 0xac, 0x3b, 0xc8, + 0xf1, 0x66, 0x14, 0xed, +}; +static const unsigned char kat3415_persstr[] = { + 0x3a, 0xc8, 0x0f, 0xe6, 0xf2, 0x65, 0x79, 0xd5, 0x37, 0x6f, 0x4b, 0x0c, + 0xc2, 0xcc, 0x8e, 0x0e, 0x5b, 0xfb, 0x75, 0x48, 0x46, 0x71, 0x07, 0xc9, + 0x6a, 0xa3, 0xb4, 0xf2, 0xd8, 0x8c, 0xda, 0xc8, +}; +static const unsigned char kat3415_entropyinpr1[] = { + 0xf5, 0xe8, 0x82, 0x47, 0xc1, 0xc6, 0x9e, 0x82, 0x71, 0xce, 0x33, 0x33, + 0x9d, 0x11, 0x1a, 0x2c, 0x9d, 0xf3, 0x1a, 0xf5, 0x7c, 0x7d, 0x98, 0x0b, + 0x56, 0x21, 0xbd, 0x3a, 0x6e, 0xe2, 0x7e, 0xa8, +}; +static const unsigned char kat3415_addinpr1[] = { + 0x4a, 0xfc, 0x7b, 0x77, 0x1e, 0xd5, 0xba, 0xb9, 0xeb, 0xb0, 0x1d, 0x49, + 0x4c, 0x31, 0xd8, 0xc8, 0x14, 0xe2, 0x66, 0x62, 0x5d, 0xbb, 0x4f, 0x39, + 0x4d, 0x2e, 0xaf, 0x31, 0xdc, 0x43, 0x06, 0x38, +}; +static const unsigned char kat3415_entropyinpr2[] = { + 0x2e, 0xb4, 0xfd, 0xe0, 0x56, 0xd3, 0x62, 0xd4, 0x5b, 0xe9, 0x79, 0x0d, + 0xfc, 0x44, 0xcb, 0x84, 0xa7, 0xd0, 0xe8, 0x5d, 0xef, 0x13, 0xfb, 0xb7, + 0xb4, 0xf4, 0xae, 0x38, 0xae, 0x4e, 0x08, 0xe7, +}; +static const unsigned char kat3415_addinpr2[] = { + 0xa6, 0x0b, 0x92, 0x71, 0x9b, 0xcb, 0x7b, 0x76, 0x01, 0x70, 0x24, 0x11, + 0x43, 0x10, 0x72, 0x3f, 0x4e, 0x6a, 0xa1, 0x73, 0x18, 0x9c, 0xc2, 0x89, + 0x7b, 0x0d, 0x88, 0xe5, 0xd4, 0x5b, 0x09, 0xd2, +}; +static const unsigned char kat3415_retbits[] = { + 0x2c, 0x36, 0x81, 0x1d, 0x03, 0x33, 0x9b, 0x41, 0x52, 0x95, 0x65, 0x4c, + 0xdd, 0x67, 0xf5, 0x29, 0x52, 0xea, 0x7b, 0xb9, 0xe2, 0xe9, 0xc5, 0x65, + 0xdd, 0x8b, 0x2e, 0x96, 0x75, 0x88, 0xdc, 0x28, 0xcb, 0x9a, 0xb1, 0x47, + 0x5b, 0xd0, 0x38, 0xcd, 0x19, 0x98, 0x14, 0xf7, 0xdd, 0x19, 0xf3, 0xd0, + 0x54, 0x83, 0x84, 0x66, 0x24, 0x04, 0x04, 0x45, 0xcf, 0x6f, 0xa9, 0x11, + 0x7f, 0xac, 0xe5, 0xb1, +}; +static const struct drbg_kat_pr_true kat3415_t = { + 9, kat3415_entropyin, kat3415_nonce, kat3415_persstr, + kat3415_entropyinpr1, kat3415_addinpr1, kat3415_entropyinpr2, + kat3415_addinpr2, kat3415_retbits +}; +static const struct drbg_kat kat3415 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3415_t +}; + +static const unsigned char kat3416_entropyin[] = { + 0x9e, 0x59, 0x99, 0xda, 0x32, 0xc2, 0x5d, 0x85, 0xff, 0xfa, 0xcf, 0xce, + 0x5c, 0x22, 0xe1, 0x71, 0x13, 0x28, 0x54, 0xf9, 0x5b, 0xa3, 0x05, 0xcf, + 0x13, 0x0b, 0xb1, 0xe0, 0x93, 0xf2, 0xdc, 0xc8, +}; +static const unsigned char kat3416_nonce[] = { + 0xb0, 0x01, 0x42, 0xd7, 0x02, 0x43, 0x49, 0xb4, 0xad, 0xde, 0x2c, 0xd5, + 0x81, 0x0b, 0x8a, 0x2a, +}; +static const unsigned char kat3416_persstr[] = { + 0x90, 0xad, 0x37, 0xdb, 0x25, 0xbc, 0x90, 0xa9, 0x86, 0x46, 0x47, 0x22, + 0xbe, 0xc6, 0x3f, 0x89, 0x57, 0xeb, 0x70, 0x03, 0x4c, 0x08, 0x8f, 0x95, + 0x0e, 0x76, 0x12, 0x8c, 0x4c, 0x03, 0x49, 0xb8, +}; +static const unsigned char kat3416_entropyinpr1[] = { + 0xb6, 0x7c, 0xc9, 0x52, 0xff, 0x93, 0x9c, 0x79, 0x45, 0xf0, 0xef, 0x30, + 0xb2, 0x1c, 0x67, 0xb8, 0xb1, 0x4c, 0xf8, 0x9b, 0xed, 0x48, 0x21, 0x18, + 0xa2, 0xfb, 0x34, 0x93, 0x2e, 0x4a, 0x38, 0xe6, +}; +static const unsigned char kat3416_addinpr1[] = { + 0x56, 0xe9, 0xe9, 0x94, 0x86, 0x04, 0xd6, 0x86, 0x74, 0x4f, 0x95, 0x9d, + 0x33, 0xa4, 0x45, 0xa9, 0x6d, 0x59, 0xf0, 0x73, 0xcd, 0x04, 0x2f, 0x10, + 0xcb, 0x8c, 0x68, 0x21, 0x7c, 0xbf, 0x00, 0x09, +}; +static const unsigned char kat3416_entropyinpr2[] = { + 0x45, 0x02, 0xa2, 0xbe, 0x58, 0x83, 0x10, 0xfb, 0xac, 0x5a, 0x73, 0xac, + 0x71, 0x86, 0x56, 0x6c, 0x71, 0x34, 0xc8, 0x82, 0x03, 0xbe, 0xcf, 0xb8, + 0xc5, 0xe1, 0x84, 0xdd, 0x5a, 0xf0, 0xd9, 0xe6, +}; +static const unsigned char kat3416_addinpr2[] = { + 0xca, 0xea, 0xee, 0xd1, 0x94, 0xb5, 0x64, 0xae, 0xb3, 0x9d, 0x47, 0x61, + 0xf5, 0xea, 0x83, 0x10, 0x17, 0x7f, 0xa5, 0x76, 0x43, 0xd8, 0x65, 0x58, + 0xdf, 0x1e, 0xcf, 0x04, 0xf6, 0xe5, 0x35, 0x8c, +}; +static const unsigned char kat3416_retbits[] = { + 0x31, 0x5a, 0xb8, 0xfa, 0xc8, 0x50, 0xbc, 0xf4, 0x8c, 0x84, 0xc4, 0x3c, + 0x8f, 0x79, 0x9b, 0x17, 0x47, 0x2e, 0x11, 0x7c, 0x9f, 0x0a, 0x56, 0xcb, + 0x65, 0x37, 0xc7, 0x44, 0x36, 0x3b, 0xa2, 0x89, 0xa0, 0x39, 0xa7, 0x70, + 0xa4, 0x1d, 0xaa, 0x6d, 0xe1, 0xa6, 0x2f, 0xc7, 0x05, 0x6d, 0xee, 0x48, + 0xc3, 0x88, 0xad, 0xbd, 0x23, 0x1a, 0xc3, 0x0b, 0x8a, 0xd1, 0xab, 0xe8, + 0x76, 0x27, 0xf1, 0x1c, +}; +static const struct drbg_kat_pr_true kat3416_t = { + 10, kat3416_entropyin, kat3416_nonce, kat3416_persstr, + kat3416_entropyinpr1, kat3416_addinpr1, kat3416_entropyinpr2, + kat3416_addinpr2, kat3416_retbits +}; +static const struct drbg_kat kat3416 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3416_t +}; + +static const unsigned char kat3417_entropyin[] = { + 0xfd, 0x52, 0x32, 0x83, 0xe4, 0x6f, 0xd8, 0x6d, 0x54, 0x84, 0x43, 0xe6, + 0xf8, 0x9e, 0xc5, 0xfa, 0x3c, 0x7c, 0xeb, 0x1e, 0x13, 0xd6, 0x99, 0x74, + 0x0e, 0xcd, 0xf5, 0x2a, 0xf9, 0x5f, 0x3b, 0x49, +}; +static const unsigned char kat3417_nonce[] = { + 0x23, 0xe5, 0xee, 0x2e, 0x12, 0x32, 0x26, 0xcc, 0xd2, 0xfe, 0x11, 0x4a, + 0x99, 0xf7, 0x9d, 0x36, +}; +static const unsigned char kat3417_persstr[] = { + 0x5b, 0x6a, 0x95, 0xd1, 0xbe, 0x7b, 0x38, 0x06, 0x04, 0x23, 0xdd, 0x95, + 0x4a, 0xac, 0x51, 0x41, 0x32, 0xd8, 0x23, 0x6d, 0x57, 0x0e, 0x2f, 0x01, + 0xc0, 0x13, 0x52, 0x50, 0x30, 0x6b, 0x1b, 0x0b, +}; +static const unsigned char kat3417_entropyinpr1[] = { + 0xf9, 0xe0, 0x8c, 0x6d, 0xc7, 0x17, 0x84, 0x12, 0x52, 0xa3, 0xd8, 0xa4, + 0x7d, 0xf4, 0x3f, 0x02, 0xdb, 0x7d, 0x27, 0x85, 0xcd, 0xac, 0xb1, 0x69, + 0x23, 0x27, 0xee, 0x57, 0x15, 0x75, 0x60, 0xe2, +}; +static const unsigned char kat3417_addinpr1[] = { + 0xc5, 0xc9, 0xbc, 0x9b, 0x7f, 0xd5, 0x7a, 0x97, 0xec, 0x63, 0xe9, 0xb0, + 0x44, 0x61, 0x34, 0xd7, 0x25, 0xdb, 0x8c, 0x88, 0x54, 0x23, 0x31, 0xa9, + 0xed, 0xf8, 0x22, 0x7d, 0xc4, 0xda, 0xc9, 0xf0, +}; +static const unsigned char kat3417_entropyinpr2[] = { + 0x93, 0x12, 0x3c, 0x93, 0x71, 0xd9, 0x15, 0x37, 0xb8, 0x7c, 0x47, 0x42, + 0xb5, 0x82, 0x88, 0xe7, 0x64, 0x56, 0xe3, 0x5a, 0xb4, 0xdd, 0x4f, 0xdb, + 0x73, 0xf6, 0x67, 0x60, 0x7d, 0x4c, 0xbc, 0xda, +}; +static const unsigned char kat3417_addinpr2[] = { + 0xaf, 0xa1, 0xc2, 0x02, 0xf2, 0xab, 0xd3, 0xc5, 0x2c, 0xa9, 0x5f, 0x6e, + 0xc0, 0x26, 0xae, 0x0e, 0xb1, 0x65, 0xfa, 0x11, 0x8d, 0xd3, 0xd4, 0xd6, + 0x22, 0x1a, 0xc8, 0xe9, 0xcc, 0xbc, 0x2a, 0xe1, +}; +static const unsigned char kat3417_retbits[] = { + 0x56, 0x6c, 0xec, 0x51, 0x2d, 0x29, 0x6b, 0xd1, 0x0b, 0x46, 0xbf, 0x9c, + 0xcc, 0x3d, 0x40, 0x84, 0xc4, 0x28, 0x9d, 0xda, 0xe3, 0x48, 0xbb, 0x78, + 0x0d, 0xb0, 0x6c, 0x02, 0x02, 0x15, 0x14, 0x93, 0xda, 0x63, 0x22, 0xa5, + 0x7f, 0x62, 0x9f, 0xc1, 0x54, 0x7b, 0xb1, 0x8a, 0x5a, 0x96, 0x3b, 0xd1, + 0xb7, 0x06, 0x24, 0x9b, 0x45, 0xec, 0xf8, 0x40, 0x9c, 0x94, 0x48, 0x03, + 0xde, 0xf1, 0x7f, 0xd0, +}; +static const struct drbg_kat_pr_true kat3417_t = { + 11, kat3417_entropyin, kat3417_nonce, kat3417_persstr, + kat3417_entropyinpr1, kat3417_addinpr1, kat3417_entropyinpr2, + kat3417_addinpr2, kat3417_retbits +}; +static const struct drbg_kat kat3417 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3417_t +}; + +static const unsigned char kat3418_entropyin[] = { + 0xb9, 0xe1, 0x28, 0xb0, 0xec, 0x74, 0x49, 0xbc, 0x3a, 0x19, 0x09, 0x29, + 0xd9, 0xe8, 0xae, 0xff, 0x3f, 0x1d, 0x4a, 0x7e, 0x8b, 0x77, 0xd1, 0xea, + 0xff, 0xa8, 0x43, 0xd1, 0x5e, 0x3f, 0xbc, 0x2a, +}; +static const unsigned char kat3418_nonce[] = { + 0xa6, 0x1f, 0x8d, 0xb7, 0x89, 0xfa, 0xff, 0xb6, 0xae, 0x4f, 0x9d, 0xb3, + 0xb9, 0xe7, 0x98, 0xb2, +}; +static const unsigned char kat3418_persstr[] = { + 0xe6, 0x62, 0x53, 0x8d, 0x48, 0x25, 0xef, 0x66, 0x32, 0x33, 0x09, 0x8b, + 0xf7, 0x1a, 0x5b, 0xdb, 0x9c, 0xd3, 0x3c, 0x75, 0x88, 0x79, 0x68, 0x5c, + 0xd6, 0xc5, 0x5f, 0x87, 0x4f, 0x11, 0x69, 0xc8, +}; +static const unsigned char kat3418_entropyinpr1[] = { + 0xee, 0x7b, 0x28, 0x57, 0x51, 0x7e, 0xd1, 0x80, 0x8f, 0x02, 0x2c, 0xbf, + 0xf0, 0xed, 0x14, 0x48, 0xfe, 0x4e, 0x2c, 0xcf, 0x02, 0x73, 0xb9, 0xeb, + 0x52, 0xdb, 0x66, 0xfd, 0x30, 0x78, 0x56, 0xab, +}; +static const unsigned char kat3418_addinpr1[] = { + 0x53, 0x34, 0x5f, 0x1c, 0xc3, 0x9f, 0x10, 0x0e, 0xf6, 0x73, 0x38, 0xd9, + 0x93, 0x7e, 0x1a, 0x81, 0xc3, 0xcc, 0x7c, 0xcc, 0x4d, 0xb3, 0x2a, 0x2d, + 0x38, 0x10, 0x55, 0x0c, 0x3f, 0x61, 0x5e, 0x6e, +}; +static const unsigned char kat3418_entropyinpr2[] = { + 0xd8, 0xc6, 0x0c, 0xf1, 0x4b, 0x00, 0x97, 0x51, 0xd9, 0x72, 0x5f, 0x54, + 0x97, 0x59, 0xac, 0xcd, 0x00, 0xdd, 0xa7, 0x01, 0x09, 0xa9, 0x1d, 0x56, + 0x0e, 0x83, 0x66, 0x6c, 0x4d, 0x24, 0xbc, 0x0e, +}; +static const unsigned char kat3418_addinpr2[] = { + 0xa3, 0x33, 0x1a, 0x84, 0xfe, 0xaf, 0x82, 0x31, 0x37, 0x6c, 0x81, 0x1f, + 0x24, 0x58, 0xd0, 0xad, 0xc0, 0x2d, 0x09, 0xfe, 0x85, 0xf5, 0x0e, 0x29, + 0x07, 0x2e, 0x58, 0x34, 0x05, 0x98, 0xef, 0xfb, +}; +static const unsigned char kat3418_retbits[] = { + 0x18, 0x6f, 0x47, 0x6c, 0x96, 0x6e, 0x6d, 0x7b, 0x79, 0xe4, 0x64, 0x97, + 0x47, 0xc7, 0xb3, 0xd0, 0xb1, 0x8e, 0xde, 0x2b, 0x26, 0x5c, 0xcd, 0x0c, + 0xb7, 0x3b, 0xd5, 0x9b, 0x73, 0x25, 0xce, 0xd0, 0xdc, 0xe7, 0x9d, 0xa1, + 0x50, 0x99, 0xe2, 0x3c, 0xaa, 0x4d, 0x9f, 0x61, 0xe5, 0xf3, 0x2f, 0x40, + 0x18, 0xac, 0xc0, 0x26, 0x67, 0xe9, 0xf2, 0x99, 0x9f, 0x36, 0x01, 0x46, + 0xc4, 0xc1, 0xec, 0x80, +}; +static const struct drbg_kat_pr_true kat3418_t = { + 12, kat3418_entropyin, kat3418_nonce, kat3418_persstr, + kat3418_entropyinpr1, kat3418_addinpr1, kat3418_entropyinpr2, + kat3418_addinpr2, kat3418_retbits +}; +static const struct drbg_kat kat3418 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3418_t +}; + +static const unsigned char kat3419_entropyin[] = { + 0x84, 0x62, 0x9d, 0x28, 0xb3, 0x0a, 0xf4, 0x3a, 0x8c, 0xe0, 0x8e, 0x7a, + 0x01, 0x46, 0xb2, 0x52, 0xec, 0x70, 0xcd, 0x12, 0x54, 0xf4, 0xe1, 0xa4, + 0xaf, 0x01, 0xb3, 0x8f, 0x03, 0x3a, 0xc5, 0x29, +}; +static const unsigned char kat3419_nonce[] = { + 0xa4, 0xae, 0x5a, 0x61, 0xb3, 0xb3, 0xb9, 0x8e, 0x26, 0x7d, 0x4d, 0x98, + 0xa8, 0x7c, 0x0c, 0xfb, +}; +static const unsigned char kat3419_persstr[] = { + 0x1d, 0xbe, 0xdd, 0x95, 0x3e, 0xd1, 0x06, 0x5c, 0x72, 0xb8, 0x7b, 0x1e, + 0xb2, 0x2c, 0x4e, 0x08, 0x51, 0x6c, 0x6c, 0xef, 0x41, 0xbc, 0xbf, 0x23, + 0x28, 0x61, 0x25, 0xb2, 0x24, 0xef, 0x12, 0x6e, +}; +static const unsigned char kat3419_entropyinpr1[] = { + 0x9d, 0xd9, 0x36, 0x08, 0x73, 0x54, 0xe2, 0xea, 0xcd, 0x92, 0x41, 0x7c, + 0x3f, 0x50, 0x5c, 0x08, 0x1b, 0xaa, 0x7f, 0x6d, 0x77, 0xe1, 0x71, 0xb6, + 0x2a, 0x27, 0xcd, 0x45, 0xf3, 0xca, 0x97, 0x14, +}; +static const unsigned char kat3419_addinpr1[] = { + 0x11, 0xb3, 0x09, 0x26, 0x53, 0xe4, 0x48, 0xad, 0x5a, 0xf0, 0x5d, 0x61, + 0x24, 0x92, 0xac, 0xf3, 0x5d, 0x0a, 0xbc, 0x90, 0x66, 0x1f, 0xb0, 0xae, + 0x3e, 0x8e, 0xd9, 0x1c, 0x7d, 0x87, 0xb9, 0xb6, +}; +static const unsigned char kat3419_entropyinpr2[] = { + 0x21, 0xd7, 0x1c, 0x3d, 0xf3, 0x84, 0x82, 0xf7, 0x92, 0xd3, 0x50, 0xce, + 0x98, 0x4f, 0xc5, 0x8b, 0xca, 0x81, 0xe4, 0x1f, 0x59, 0x8d, 0xc8, 0xdb, + 0xc4, 0x0a, 0xbc, 0x53, 0xf7, 0x15, 0x39, 0x5d, +}; +static const unsigned char kat3419_addinpr2[] = { + 0xe9, 0xb5, 0xf6, 0x63, 0x13, 0x13, 0xec, 0xb9, 0x3e, 0xae, 0x1a, 0xeb, + 0x83, 0xaf, 0xd8, 0xf2, 0xcf, 0xd4, 0xa9, 0xe0, 0xc6, 0xa9, 0xee, 0x45, + 0xf7, 0x9a, 0x37, 0x94, 0x1b, 0xe3, 0x79, 0x5d, +}; +static const unsigned char kat3419_retbits[] = { + 0xbc, 0x88, 0xaa, 0xf3, 0x55, 0xd7, 0x82, 0x61, 0xcf, 0x2b, 0x6e, 0x05, + 0x78, 0x50, 0x70, 0xa2, 0x52, 0x38, 0x33, 0x2a, 0xb3, 0x2c, 0x1f, 0x28, + 0x31, 0x7e, 0xd9, 0x6f, 0x87, 0xca, 0x09, 0xe5, 0x5b, 0x7d, 0xd5, 0xc8, + 0x13, 0x54, 0xf7, 0xa8, 0xb2, 0xa3, 0x7a, 0x9c, 0x62, 0x23, 0x0b, 0x94, + 0x2f, 0x51, 0xfb, 0xa5, 0xa8, 0x83, 0x22, 0x61, 0x92, 0x5c, 0x93, 0x05, + 0x5d, 0x15, 0xde, 0x6e, +}; +static const struct drbg_kat_pr_true kat3419_t = { + 13, kat3419_entropyin, kat3419_nonce, kat3419_persstr, + kat3419_entropyinpr1, kat3419_addinpr1, kat3419_entropyinpr2, + kat3419_addinpr2, kat3419_retbits +}; +static const struct drbg_kat kat3419 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3419_t +}; + +static const unsigned char kat3420_entropyin[] = { + 0xc5, 0xb7, 0x34, 0x9e, 0xc8, 0x63, 0xfa, 0x24, 0x5a, 0xe7, 0xc4, 0x19, + 0x1f, 0x74, 0x2f, 0x7e, 0x2f, 0xa4, 0x5a, 0x9c, 0xd3, 0xcb, 0x7a, 0x5a, + 0xb7, 0x0b, 0x51, 0x85, 0x04, 0xc8, 0x9d, 0x4f, +}; +static const unsigned char kat3420_nonce[] = { + 0x6e, 0x1f, 0x05, 0x40, 0x13, 0x05, 0xc8, 0x91, 0xbe, 0xc2, 0x65, 0xed, + 0x81, 0x6c, 0x56, 0xdd, +}; +static const unsigned char kat3420_persstr[] = { + 0x84, 0xd4, 0x11, 0x51, 0x84, 0x7d, 0xf4, 0xf6, 0xf2, 0xb3, 0x2f, 0x9f, + 0xb5, 0xbc, 0x9d, 0x24, 0xae, 0xa0, 0x19, 0xbf, 0xff, 0x75, 0x33, 0x02, + 0x9c, 0x3f, 0x76, 0x6a, 0xca, 0xd1, 0xbb, 0x68, +}; +static const unsigned char kat3420_entropyinpr1[] = { + 0x90, 0x89, 0xb5, 0x78, 0xd1, 0x61, 0x0f, 0xe0, 0x72, 0xb0, 0x69, 0xe8, + 0x33, 0xd9, 0x3d, 0xc2, 0xc9, 0x20, 0xd8, 0x4e, 0xfc, 0x54, 0x19, 0x64, + 0x94, 0x03, 0x36, 0x6c, 0x66, 0x4a, 0xe6, 0xe0, +}; +static const unsigned char kat3420_addinpr1[] = { + 0x43, 0xbd, 0xb3, 0xda, 0xa2, 0x79, 0x9d, 0x33, 0xce, 0xed, 0xfa, 0xc9, + 0xee, 0x67, 0x89, 0xf7, 0x4b, 0x66, 0x61, 0xdf, 0xfa, 0x64, 0xc3, 0xe0, + 0x30, 0x17, 0x8f, 0xd0, 0x46, 0x74, 0xa7, 0x5d, +}; +static const unsigned char kat3420_entropyinpr2[] = { + 0x99, 0x02, 0x9e, 0xa2, 0xc2, 0x48, 0x01, 0x3a, 0xd4, 0xa4, 0x05, 0x3b, + 0x89, 0x5d, 0x42, 0x55, 0xaa, 0x50, 0x5c, 0x5a, 0x13, 0x27, 0xc2, 0xf8, + 0x79, 0x02, 0x2a, 0x49, 0x20, 0x71, 0x75, 0x46, +}; +static const unsigned char kat3420_addinpr2[] = { + 0x56, 0xf5, 0x81, 0x6f, 0xa3, 0xdd, 0xdc, 0xc0, 0x8d, 0x14, 0x6f, 0x09, + 0x14, 0x3a, 0x4a, 0x6a, 0x52, 0x58, 0xa3, 0x53, 0x38, 0xc1, 0x8f, 0xda, + 0x83, 0x12, 0xdd, 0x4a, 0xf9, 0xc9, 0x87, 0xe7, +}; +static const unsigned char kat3420_retbits[] = { + 0x67, 0xf0, 0x61, 0xfe, 0x0a, 0xe9, 0x38, 0xe8, 0x5f, 0x84, 0xfb, 0x41, + 0x93, 0x38, 0x32, 0xb2, 0x94, 0x66, 0x80, 0x93, 0x81, 0xbc, 0x8a, 0x99, + 0xe6, 0xc2, 0x74, 0x2b, 0x32, 0x56, 0x79, 0x8f, 0xf4, 0x35, 0x26, 0x6f, + 0x05, 0x73, 0x86, 0x9f, 0xcf, 0xd0, 0xba, 0x26, 0x4a, 0x09, 0x04, 0x23, + 0xd5, 0x0c, 0x96, 0xb8, 0x6c, 0x54, 0xaf, 0xd7, 0x26, 0x9d, 0xf2, 0x61, + 0xfa, 0x70, 0xdd, 0xb2, +}; +static const struct drbg_kat_pr_true kat3420_t = { + 14, kat3420_entropyin, kat3420_nonce, kat3420_persstr, + kat3420_entropyinpr1, kat3420_addinpr1, kat3420_entropyinpr2, + kat3420_addinpr2, kat3420_retbits +}; +static const struct drbg_kat kat3420 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3420_t +}; + +static const unsigned char kat3421_entropyin[] = { + 0x2c, 0x79, 0xfd, 0x40, 0x32, 0x34, 0xad, 0xaa, 0x43, 0xb4, 0x0d, 0x1c, + 0x7e, 0xd7, 0x39, 0xb7, 0xf8, 0x3a, 0x56, 0xc1, 0x31, 0xd8, 0x8c, 0xa7, + 0x62, 0x58, 0xe4, 0xb6, 0xee, 0xde, 0x2b, 0xd7, +}; +static const unsigned char kat3421_nonce[] = { + 0xd2, 0x7e, 0xe9, 0x94, 0x6e, 0x0a, 0xb0, 0x69, 0xde, 0xf3, 0x7c, 0xa6, + 0x6f, 0xdd, 0x1b, 0x48, +}; +static const unsigned char kat3421_persstr[] = {0}; +static const unsigned char kat3421_entropyinpr1[] = { + 0x73, 0xf4, 0x11, 0xad, 0xc9, 0x1b, 0x85, 0xed, 0x1f, 0xf7, 0x14, 0x1b, + 0x87, 0x97, 0xc9, 0x26, 0x2d, 0x0c, 0xfc, 0x1c, 0xac, 0x32, 0x88, 0x71, + 0x3e, 0xed, 0xe0, 0x8e, 0x33, 0x20, 0x09, 0x06, +}; +static const unsigned char kat3421_addinpr1[] = {0}; +static const unsigned char kat3421_entropyinpr2[] = { + 0xf9, 0x6a, 0x72, 0x10, 0x48, 0x87, 0xd3, 0x5d, 0xee, 0xd2, 0x1a, 0x4d, + 0x35, 0x44, 0x96, 0x98, 0xa0, 0x6a, 0x40, 0x35, 0xc8, 0x9f, 0x44, 0xbe, + 0x28, 0xb2, 0xa7, 0xb6, 0x6d, 0xa8, 0xd3, 0x97, +}; +static const unsigned char kat3421_addinpr2[] = {0}; +static const unsigned char kat3421_retbits[] = { + 0x4f, 0x6c, 0x6f, 0x16, 0x3e, 0x76, 0x66, 0x5b, 0x1f, 0xe5, 0xbe, 0x08, + 0xcc, 0xc4, 0x0b, 0x07, 0xea, 0x36, 0x91, 0xd3, 0x8b, 0xa2, 0x8b, 0xfb, + 0xc8, 0xc3, 0xb0, 0x94, 0xf2, 0xc4, 0x03, 0x3c, 0xea, 0xaf, 0x9e, 0x33, + 0x51, 0xae, 0xd5, 0xd9, 0x42, 0x81, 0x6b, 0x3a, 0x70, 0x05, 0x84, 0x42, + 0xac, 0x1e, 0x12, 0xcf, 0x96, 0xd0, 0x53, 0x15, 0x4c, 0xdc, 0xa5, 0x69, + 0x60, 0x64, 0x2c, 0xb0, +}; +static const struct drbg_kat_pr_true kat3421_t = { + 0, kat3421_entropyin, kat3421_nonce, kat3421_persstr, + kat3421_entropyinpr1, kat3421_addinpr1, kat3421_entropyinpr2, + kat3421_addinpr2, kat3421_retbits +}; +static const struct drbg_kat kat3421 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3421_t +}; + +static const unsigned char kat3422_entropyin[] = { + 0xf7, 0x22, 0x49, 0x3d, 0x68, 0x6e, 0xb5, 0xbf, 0x22, 0x6f, 0xa8, 0x6d, + 0x74, 0x99, 0x62, 0x23, 0x61, 0xe7, 0xe0, 0xb3, 0x24, 0x03, 0x7a, 0xca, + 0xb4, 0xce, 0x97, 0xd8, 0xa1, 0x4a, 0x66, 0xdb, +}; +static const unsigned char kat3422_nonce[] = { + 0xbe, 0x84, 0x6d, 0xac, 0x7e, 0x25, 0xf1, 0xe6, 0xa8, 0x2a, 0xed, 0x95, + 0xf0, 0x2b, 0xbe, 0x28, +}; +static const unsigned char kat3422_persstr[] = {0}; +static const unsigned char kat3422_entropyinpr1[] = { + 0x29, 0x1b, 0x26, 0x6f, 0xdc, 0x66, 0x8f, 0x8d, 0x1a, 0x92, 0x7d, 0xf2, + 0x11, 0x44, 0xb3, 0xee, 0x55, 0xf8, 0x71, 0x66, 0x4e, 0x4b, 0x3d, 0x90, + 0x7f, 0x4d, 0xd1, 0x90, 0xc7, 0x07, 0x1e, 0x03, +}; +static const unsigned char kat3422_addinpr1[] = {0}; +static const unsigned char kat3422_entropyinpr2[] = { + 0xb2, 0x85, 0xb4, 0xe7, 0x00, 0xed, 0xbf, 0x00, 0xc1, 0x3f, 0xea, 0x8d, + 0x13, 0x07, 0xb6, 0x17, 0xd0, 0x80, 0x4b, 0x60, 0x34, 0x90, 0xf5, 0xa8, + 0xb6, 0x2f, 0xb5, 0x2b, 0xd6, 0xa5, 0xe4, 0xbd, +}; +static const unsigned char kat3422_addinpr2[] = {0}; +static const unsigned char kat3422_retbits[] = { + 0x9e, 0xb4, 0x7f, 0xf7, 0x71, 0xdf, 0xc6, 0xad, 0xe4, 0xab, 0x2f, 0x2f, + 0x57, 0xf3, 0x72, 0x22, 0x19, 0xe3, 0xb5, 0x92, 0x66, 0x64, 0x35, 0xde, + 0x3e, 0xbb, 0x2e, 0x5d, 0x14, 0xee, 0x66, 0xfc, 0x3d, 0xa1, 0x2a, 0x57, + 0xff, 0x15, 0x21, 0xa5, 0xaf, 0x41, 0x83, 0x5b, 0x9d, 0x59, 0xa3, 0x95, + 0x2e, 0xdb, 0xc9, 0x88, 0x52, 0xec, 0x4d, 0x2f, 0x9f, 0x86, 0x91, 0x52, + 0x6a, 0x62, 0x63, 0x1c, +}; +static const struct drbg_kat_pr_true kat3422_t = { + 1, kat3422_entropyin, kat3422_nonce, kat3422_persstr, + kat3422_entropyinpr1, kat3422_addinpr1, kat3422_entropyinpr2, + kat3422_addinpr2, kat3422_retbits +}; +static const struct drbg_kat kat3422 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3422_t +}; + +static const unsigned char kat3423_entropyin[] = { + 0x8d, 0x56, 0x7d, 0x4d, 0x78, 0xe9, 0x0a, 0x30, 0xa8, 0x6e, 0xd8, 0x86, + 0x57, 0xbf, 0x0b, 0x3f, 0x16, 0xaa, 0xe4, 0xdf, 0x84, 0x54, 0x48, 0x0a, + 0xe1, 0x32, 0x22, 0x45, 0x2e, 0x4d, 0x6c, 0xfe, +}; +static const unsigned char kat3423_nonce[] = { + 0x16, 0x52, 0x6e, 0xae, 0x5a, 0x7d, 0xf0, 0x65, 0xc7, 0x85, 0xa7, 0x74, + 0x3e, 0xb6, 0x09, 0x5a, +}; +static const unsigned char kat3423_persstr[] = {0}; +static const unsigned char kat3423_entropyinpr1[] = { + 0x20, 0x66, 0xf3, 0x84, 0xfb, 0xf8, 0xce, 0xe4, 0x64, 0xfe, 0x2a, 0x6a, + 0xfd, 0xe4, 0x37, 0xbb, 0x1e, 0x6e, 0x3e, 0xa0, 0x0a, 0xb2, 0xe7, 0x74, + 0x11, 0x96, 0xa7, 0xe6, 0x33, 0x0a, 0x1a, 0x19, +}; +static const unsigned char kat3423_addinpr1[] = {0}; +static const unsigned char kat3423_entropyinpr2[] = { + 0x80, 0x15, 0xe2, 0xb8, 0xb3, 0x04, 0x35, 0xfb, 0x76, 0xb6, 0x99, 0xce, + 0xa6, 0x4b, 0x6a, 0x78, 0x95, 0xda, 0xd4, 0x5d, 0xbd, 0xff, 0xf6, 0xd6, + 0x70, 0xb4, 0x7e, 0x71, 0x98, 0x1f, 0xc6, 0xa9, +}; +static const unsigned char kat3423_addinpr2[] = {0}; +static const unsigned char kat3423_retbits[] = { + 0x1c, 0x2d, 0xb9, 0xe6, 0xd7, 0x99, 0x99, 0xf7, 0xbb, 0xa3, 0x79, 0x0e, + 0xb5, 0xfc, 0x17, 0xa9, 0x7b, 0xa1, 0x37, 0x96, 0xcb, 0x3d, 0x1d, 0xb1, + 0xaa, 0x32, 0x04, 0x03, 0x08, 0x01, 0x81, 0x93, 0xb5, 0x47, 0xf9, 0xc6, + 0x7f, 0xa3, 0x0a, 0x09, 0xb5, 0x86, 0x73, 0x4c, 0xfa, 0xfa, 0x28, 0x35, + 0xe0, 0x64, 0x93, 0x07, 0x5d, 0x32, 0xcb, 0x95, 0x9b, 0x3b, 0x2d, 0x03, + 0x76, 0xa3, 0xa5, 0x0c, +}; +static const struct drbg_kat_pr_true kat3423_t = { + 2, kat3423_entropyin, kat3423_nonce, kat3423_persstr, + kat3423_entropyinpr1, kat3423_addinpr1, kat3423_entropyinpr2, + kat3423_addinpr2, kat3423_retbits +}; +static const struct drbg_kat kat3423 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3423_t +}; + +static const unsigned char kat3424_entropyin[] = { + 0xfd, 0x6e, 0xca, 0x11, 0xf5, 0x78, 0xf6, 0x35, 0xb8, 0x12, 0xae, 0x50, + 0x3a, 0x58, 0xf9, 0x66, 0xf6, 0x7b, 0x69, 0xe2, 0xb6, 0x95, 0xd6, 0x2c, + 0xc4, 0x48, 0x3e, 0x66, 0xd7, 0x30, 0x04, 0xbd, +}; +static const unsigned char kat3424_nonce[] = { + 0xe4, 0xf5, 0xe5, 0xc3, 0xdd, 0x41, 0x67, 0x06, 0xa9, 0x46, 0xbc, 0x7a, + 0x9e, 0x63, 0xc7, 0x52, +}; +static const unsigned char kat3424_persstr[] = {0}; +static const unsigned char kat3424_entropyinpr1[] = { + 0x59, 0x83, 0xed, 0x65, 0xe9, 0xe4, 0x08, 0xdc, 0xf6, 0xd4, 0x2a, 0x1a, + 0x5b, 0x0a, 0xb5, 0x21, 0x1a, 0x84, 0x34, 0xfe, 0x49, 0x90, 0x40, 0x1e, + 0x37, 0x19, 0xdf, 0x92, 0x51, 0x76, 0x20, 0x10, +}; +static const unsigned char kat3424_addinpr1[] = {0}; +static const unsigned char kat3424_entropyinpr2[] = { + 0x78, 0x1c, 0x86, 0x61, 0xc0, 0xcf, 0x0d, 0x23, 0x93, 0xc6, 0xe5, 0x5c, + 0x35, 0xaf, 0x1a, 0x38, 0x7f, 0x6a, 0xf3, 0x49, 0xfe, 0x60, 0x3b, 0x68, + 0xaa, 0xbb, 0xbe, 0x8e, 0xc9, 0xb7, 0x57, 0x3c, +}; +static const unsigned char kat3424_addinpr2[] = {0}; +static const unsigned char kat3424_retbits[] = { + 0x2d, 0x3a, 0x35, 0x11, 0x22, 0x1a, 0x79, 0x46, 0x42, 0xb7, 0x8b, 0xd7, + 0x6c, 0xf5, 0xa4, 0x63, 0xbc, 0xd1, 0x7d, 0x0d, 0xcc, 0x71, 0x68, 0xf2, + 0x0f, 0x75, 0xa5, 0xfc, 0x7f, 0x07, 0xa4, 0xd5, 0x27, 0xcf, 0x87, 0x01, + 0xd5, 0xc4, 0x5b, 0xcd, 0x71, 0xf3, 0xae, 0x3d, 0x1b, 0x1f, 0x98, 0x3c, + 0x7e, 0x2d, 0x3e, 0x98, 0x6c, 0x72, 0x95, 0x5d, 0xb5, 0x11, 0xf3, 0xb0, + 0x5a, 0x88, 0x08, 0x08, +}; +static const struct drbg_kat_pr_true kat3424_t = { + 3, kat3424_entropyin, kat3424_nonce, kat3424_persstr, + kat3424_entropyinpr1, kat3424_addinpr1, kat3424_entropyinpr2, + kat3424_addinpr2, kat3424_retbits +}; +static const struct drbg_kat kat3424 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3424_t +}; + +static const unsigned char kat3425_entropyin[] = { + 0xba, 0xc7, 0xc9, 0xe2, 0x08, 0xef, 0x28, 0xe1, 0xc5, 0x1a, 0x39, 0xdd, + 0x4f, 0x7f, 0x96, 0x08, 0x48, 0xe6, 0xec, 0x9b, 0x5f, 0x05, 0x66, 0x4a, + 0x0c, 0x82, 0x5a, 0x31, 0x65, 0xd6, 0x4b, 0xdc, +}; +static const unsigned char kat3425_nonce[] = { + 0x2a, 0xd4, 0x8f, 0xc6, 0xbf, 0x15, 0x59, 0x34, 0xef, 0x50, 0xc5, 0x8a, + 0x56, 0x5f, 0x34, 0xe7, +}; +static const unsigned char kat3425_persstr[] = {0}; +static const unsigned char kat3425_entropyinpr1[] = { + 0x12, 0x42, 0x45, 0xd0, 0x88, 0x09, 0x7d, 0x41, 0x37, 0x99, 0xb6, 0xd2, + 0xa2, 0x45, 0xbf, 0xc0, 0x71, 0x85, 0x7d, 0xb1, 0xdc, 0x07, 0xd1, 0x00, + 0x49, 0x4d, 0xee, 0x4f, 0x86, 0xf4, 0xea, 0xf9, +}; +static const unsigned char kat3425_addinpr1[] = {0}; +static const unsigned char kat3425_entropyinpr2[] = { + 0x67, 0xe4, 0xee, 0xfe, 0x42, 0x77, 0x19, 0xd6, 0x5a, 0x98, 0x41, 0x76, + 0x7c, 0xc2, 0xbf, 0x8e, 0xfb, 0x69, 0xb8, 0xa8, 0x65, 0x83, 0x00, 0xe6, + 0xd7, 0xf2, 0xc8, 0x0f, 0x6f, 0x0e, 0xd3, 0xec, +}; +static const unsigned char kat3425_addinpr2[] = {0}; +static const unsigned char kat3425_retbits[] = { + 0xbb, 0x54, 0xbd, 0x17, 0xd5, 0x9c, 0xcf, 0x61, 0x19, 0x96, 0x96, 0x8a, + 0x4b, 0xa2, 0x52, 0x51, 0xcf, 0x84, 0x2e, 0xae, 0xb9, 0xc3, 0xf9, 0xf0, + 0x31, 0x8b, 0x57, 0x71, 0xdb, 0xd4, 0x13, 0xf4, 0x3c, 0xa6, 0x46, 0xa0, + 0xf5, 0x28, 0x03, 0xd1, 0x88, 0x72, 0xa7, 0x2a, 0x00, 0x5f, 0x7c, 0x49, + 0x03, 0x04, 0x4e, 0x41, 0x47, 0xb6, 0x90, 0x3b, 0x5f, 0x1d, 0xf8, 0x1c, + 0xe5, 0x59, 0x3b, 0x24, +}; +static const struct drbg_kat_pr_true kat3425_t = { + 4, kat3425_entropyin, kat3425_nonce, kat3425_persstr, + kat3425_entropyinpr1, kat3425_addinpr1, kat3425_entropyinpr2, + kat3425_addinpr2, kat3425_retbits +}; +static const struct drbg_kat kat3425 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3425_t +}; + +static const unsigned char kat3426_entropyin[] = { + 0x2c, 0xc5, 0xa1, 0x44, 0x88, 0xe2, 0xb1, 0xa6, 0xc3, 0xdc, 0x2b, 0x87, + 0x5e, 0x18, 0xed, 0x9a, 0xd9, 0xd1, 0xb7, 0xd6, 0xd4, 0x19, 0x19, 0x44, + 0x8f, 0x63, 0x9a, 0x75, 0x09, 0xb6, 0x52, 0x78, +}; +static const unsigned char kat3426_nonce[] = { + 0x24, 0x0c, 0xde, 0x41, 0x22, 0x1c, 0x1a, 0x5b, 0x94, 0x2d, 0x18, 0xcb, + 0x52, 0x4e, 0xb7, 0x14, +}; +static const unsigned char kat3426_persstr[] = {0}; +static const unsigned char kat3426_entropyinpr1[] = { + 0x8f, 0x88, 0xf6, 0xc7, 0x92, 0x12, 0xdf, 0x56, 0x33, 0x90, 0xd4, 0xb7, + 0x33, 0xcf, 0xc0, 0x2f, 0x20, 0x73, 0x6d, 0x27, 0xcc, 0x4a, 0xd8, 0xe1, + 0x57, 0x36, 0x2e, 0x00, 0x36, 0x3e, 0x1c, 0x92, +}; +static const unsigned char kat3426_addinpr1[] = {0}; +static const unsigned char kat3426_entropyinpr2[] = { + 0xbd, 0xeb, 0x9e, 0x19, 0xac, 0xd2, 0x06, 0x52, 0x39, 0xd3, 0x63, 0xbc, + 0xde, 0x70, 0x2a, 0x1c, 0x4c, 0x03, 0x77, 0xb1, 0x48, 0x87, 0x16, 0x50, + 0x1a, 0x2f, 0xda, 0x15, 0x11, 0xca, 0xb1, 0xac, +}; +static const unsigned char kat3426_addinpr2[] = {0}; +static const unsigned char kat3426_retbits[] = { + 0x42, 0xaf, 0xb4, 0x0d, 0xb4, 0x72, 0x89, 0x45, 0x28, 0xb9, 0xe9, 0x7a, + 0xef, 0xec, 0x04, 0xd3, 0x41, 0x8a, 0x1f, 0x24, 0x78, 0xea, 0x63, 0x1f, + 0x17, 0x44, 0x1b, 0x19, 0x7f, 0xaa, 0xd6, 0xa7, 0x72, 0x67, 0xc2, 0x5e, + 0xa5, 0x19, 0x4d, 0x7e, 0x1b, 0x99, 0x77, 0x34, 0xb6, 0x98, 0xd1, 0x8c, + 0xdf, 0xc3, 0x95, 0xf8, 0x69, 0x7e, 0x82, 0x98, 0x52, 0xd9, 0xe6, 0x39, + 0x3c, 0x2c, 0x55, 0xf9, +}; +static const struct drbg_kat_pr_true kat3426_t = { + 5, kat3426_entropyin, kat3426_nonce, kat3426_persstr, + kat3426_entropyinpr1, kat3426_addinpr1, kat3426_entropyinpr2, + kat3426_addinpr2, kat3426_retbits +}; +static const struct drbg_kat kat3426 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3426_t +}; + +static const unsigned char kat3427_entropyin[] = { + 0x1f, 0x5c, 0xb7, 0xc2, 0xd0, 0x58, 0x65, 0xc9, 0x4d, 0x1d, 0x47, 0x39, + 0x61, 0x01, 0x0e, 0xf4, 0x0f, 0xa4, 0xd3, 0x56, 0x92, 0xe7, 0xb4, 0x6b, + 0x46, 0xfb, 0xa0, 0x36, 0xb1, 0x29, 0xef, 0x1f, +}; +static const unsigned char kat3427_nonce[] = { + 0x0d, 0x1d, 0x61, 0x42, 0xc1, 0x0e, 0x3d, 0x96, 0x98, 0x33, 0x35, 0x02, + 0x40, 0x2b, 0x7c, 0x08, +}; +static const unsigned char kat3427_persstr[] = {0}; +static const unsigned char kat3427_entropyinpr1[] = { + 0x59, 0x42, 0x07, 0x0a, 0x94, 0x4b, 0x66, 0xa7, 0x51, 0x97, 0xa5, 0xa6, + 0x9b, 0xef, 0xb7, 0x06, 0x35, 0x57, 0xf9, 0x0c, 0xc6, 0x7f, 0x9f, 0x6f, + 0xe3, 0x11, 0x53, 0xac, 0x45, 0x06, 0x40, 0x3b, +}; +static const unsigned char kat3427_addinpr1[] = {0}; +static const unsigned char kat3427_entropyinpr2[] = { + 0xa2, 0xf1, 0x94, 0x45, 0xdb, 0xd3, 0xd3, 0x37, 0xf4, 0x62, 0x7e, 0xde, + 0x5a, 0x27, 0xd0, 0x69, 0x45, 0x5c, 0x5d, 0xd9, 0xa7, 0x1d, 0x27, 0x3a, + 0xe3, 0x5c, 0x39, 0x48, 0xcc, 0x2b, 0x51, 0x8c, +}; +static const unsigned char kat3427_addinpr2[] = {0}; +static const unsigned char kat3427_retbits[] = { + 0xca, 0xc1, 0x3b, 0x84, 0xf1, 0xf9, 0x74, 0x54, 0xb4, 0x38, 0x6a, 0xb4, + 0xd8, 0x7b, 0x34, 0x19, 0x31, 0x03, 0x26, 0xb8, 0x9f, 0xf6, 0x4f, 0x93, + 0xa8, 0xc5, 0xaa, 0x59, 0x78, 0xe0, 0x38, 0x16, 0xad, 0x7d, 0x49, 0x1d, + 0x9c, 0x4e, 0x1c, 0xcc, 0x77, 0x05, 0xa1, 0x72, 0x88, 0x37, 0x37, 0x2e, + 0x7b, 0xe6, 0xd9, 0xa7, 0x4e, 0x1c, 0xa6, 0x3d, 0xa4, 0xf0, 0xa8, 0x56, + 0x36, 0xc1, 0x6f, 0xd6, +}; +static const struct drbg_kat_pr_true kat3427_t = { + 6, kat3427_entropyin, kat3427_nonce, kat3427_persstr, + kat3427_entropyinpr1, kat3427_addinpr1, kat3427_entropyinpr2, + kat3427_addinpr2, kat3427_retbits +}; +static const struct drbg_kat kat3427 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3427_t +}; + +static const unsigned char kat3428_entropyin[] = { + 0xd7, 0x08, 0x4e, 0x69, 0x23, 0x28, 0x4f, 0xa1, 0x96, 0xe4, 0x41, 0xcf, + 0x75, 0xb4, 0x0e, 0x50, 0xf2, 0xc0, 0xfe, 0x4e, 0xde, 0x60, 0x0b, 0x31, + 0x18, 0x0e, 0x3e, 0xe8, 0xcd, 0xfe, 0x98, 0x2e, +}; +static const unsigned char kat3428_nonce[] = { + 0x26, 0x19, 0x3c, 0x3e, 0xed, 0x59, 0x24, 0x64, 0xd8, 0x7c, 0x63, 0x60, + 0xc4, 0xd6, 0x02, 0xe0, +}; +static const unsigned char kat3428_persstr[] = {0}; +static const unsigned char kat3428_entropyinpr1[] = { + 0xf2, 0x90, 0x4f, 0xf4, 0xf0, 0x02, 0x93, 0x60, 0x75, 0x26, 0x86, 0xf9, + 0xb6, 0x9e, 0xa6, 0x96, 0xeb, 0xcc, 0x5c, 0xb2, 0xca, 0xd4, 0x79, 0xa6, + 0x73, 0x12, 0xda, 0x31, 0xb9, 0x3d, 0x18, 0x3f, +}; +static const unsigned char kat3428_addinpr1[] = {0}; +static const unsigned char kat3428_entropyinpr2[] = { + 0x39, 0xc5, 0x6b, 0x79, 0xd4, 0x0b, 0xf0, 0x25, 0xb7, 0xd8, 0xa3, 0x06, + 0xb9, 0x71, 0xee, 0xcf, 0x3c, 0x27, 0x22, 0xd5, 0x67, 0xf1, 0x8f, 0xef, + 0x64, 0x1e, 0x7b, 0x4a, 0x1f, 0xa4, 0xcf, 0xfa, +}; +static const unsigned char kat3428_addinpr2[] = {0}; +static const unsigned char kat3428_retbits[] = { + 0x0b, 0xa9, 0x3d, 0x05, 0x1a, 0xb5, 0x93, 0x26, 0x43, 0x31, 0xd8, 0x9d, + 0xd9, 0x17, 0xd0, 0x14, 0xad, 0xd1, 0x40, 0x2f, 0xa8, 0x83, 0x96, 0x25, + 0x81, 0xf2, 0x6a, 0xd6, 0xe7, 0xa2, 0x2f, 0xec, 0x6a, 0xe4, 0xdb, 0xa9, + 0x29, 0x35, 0x07, 0xae, 0x68, 0xd0, 0x2a, 0xb5, 0xef, 0x3e, 0x91, 0x66, + 0x0c, 0xc4, 0x94, 0x4e, 0x83, 0x87, 0xe0, 0x5c, 0x11, 0x7e, 0x72, 0xda, + 0x1e, 0xc0, 0x3e, 0x2f, +}; +static const struct drbg_kat_pr_true kat3428_t = { + 7, kat3428_entropyin, kat3428_nonce, kat3428_persstr, + kat3428_entropyinpr1, kat3428_addinpr1, kat3428_entropyinpr2, + kat3428_addinpr2, kat3428_retbits +}; +static const struct drbg_kat kat3428 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3428_t +}; + +static const unsigned char kat3429_entropyin[] = { + 0x71, 0x6e, 0x01, 0x98, 0x50, 0xe8, 0xb1, 0x65, 0xcf, 0x11, 0x79, 0x64, + 0x0a, 0xa5, 0x3e, 0x11, 0x44, 0x4e, 0x79, 0x11, 0x12, 0xb2, 0xa9, 0x0f, + 0x71, 0xc5, 0x49, 0x73, 0xd5, 0xb3, 0xe1, 0x01, +}; +static const unsigned char kat3429_nonce[] = { + 0x83, 0xc8, 0xab, 0x39, 0x8d, 0x26, 0x3d, 0x73, 0xad, 0xdb, 0x87, 0x54, + 0x0e, 0xdc, 0xf5, 0x70, +}; +static const unsigned char kat3429_persstr[] = {0}; +static const unsigned char kat3429_entropyinpr1[] = { + 0x67, 0x87, 0xb4, 0xd8, 0x7d, 0x97, 0xac, 0xe3, 0x5a, 0x92, 0x6f, 0xf2, + 0xf0, 0x42, 0xc3, 0x11, 0x6c, 0xa6, 0x67, 0x55, 0x78, 0x4f, 0x8d, 0x30, + 0xbf, 0x0d, 0xaf, 0x12, 0x6e, 0x27, 0x13, 0xcb, +}; +static const unsigned char kat3429_addinpr1[] = {0}; +static const unsigned char kat3429_entropyinpr2[] = { + 0xf3, 0x9d, 0x11, 0xaa, 0x64, 0x89, 0x12, 0x3e, 0xf7, 0x47, 0x82, 0xe2, + 0x1f, 0x73, 0x16, 0xa4, 0x9e, 0x30, 0xe7, 0x29, 0x43, 0x17, 0x2a, 0x02, + 0xfb, 0x75, 0xad, 0xa3, 0xbb, 0x8e, 0x27, 0xb4, +}; +static const unsigned char kat3429_addinpr2[] = {0}; +static const unsigned char kat3429_retbits[] = { + 0xa8, 0xe7, 0xb8, 0x3c, 0x29, 0x50, 0x58, 0x71, 0xd4, 0xee, 0x4f, 0xcd, + 0x21, 0xc9, 0x75, 0x69, 0x6d, 0xf4, 0xdd, 0xfb, 0x4e, 0x94, 0x61, 0x15, + 0x2e, 0x14, 0x2d, 0x31, 0x1e, 0xaa, 0x92, 0xc4, 0xb0, 0xba, 0x53, 0xb1, + 0xf6, 0xac, 0x71, 0x60, 0xe6, 0xf1, 0x0f, 0x2d, 0x0c, 0xc8, 0xe6, 0x7d, + 0x76, 0xb0, 0xd3, 0x21, 0x89, 0x26, 0x10, 0x1f, 0xd6, 0x61, 0x2b, 0xd7, + 0x6e, 0x4b, 0xa3, 0xee, +}; +static const struct drbg_kat_pr_true kat3429_t = { + 8, kat3429_entropyin, kat3429_nonce, kat3429_persstr, + kat3429_entropyinpr1, kat3429_addinpr1, kat3429_entropyinpr2, + kat3429_addinpr2, kat3429_retbits +}; +static const struct drbg_kat kat3429 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3429_t +}; + +static const unsigned char kat3430_entropyin[] = { + 0xb0, 0x42, 0xdf, 0xad, 0x33, 0xcd, 0xd7, 0x94, 0x91, 0x60, 0x23, 0x32, + 0xd6, 0x5d, 0x3d, 0xbe, 0x32, 0x44, 0xac, 0x73, 0x9d, 0xbe, 0xc7, 0x63, + 0xc7, 0xdd, 0x6b, 0x85, 0xe5, 0x96, 0xd7, 0x8a, +}; +static const unsigned char kat3430_nonce[] = { + 0x8c, 0x56, 0x3c, 0x61, 0x21, 0x84, 0x8f, 0x1e, 0x1a, 0x24, 0x54, 0x97, + 0x6b, 0x9d, 0x3d, 0xad, +}; +static const unsigned char kat3430_persstr[] = {0}; +static const unsigned char kat3430_entropyinpr1[] = { + 0x21, 0xd6, 0x82, 0x6c, 0x08, 0x05, 0x38, 0x48, 0xf8, 0xf7, 0x9a, 0xd3, + 0x25, 0x79, 0xe1, 0x37, 0xbf, 0x42, 0x37, 0x9d, 0x27, 0xf1, 0x29, 0xc5, + 0x7d, 0xfe, 0x68, 0xc4, 0xae, 0xdc, 0x82, 0xae, +}; +static const unsigned char kat3430_addinpr1[] = {0}; +static const unsigned char kat3430_entropyinpr2[] = { + 0xac, 0xa4, 0x2d, 0xd1, 0x66, 0xd9, 0x09, 0xa5, 0x23, 0x8c, 0x43, 0x0f, + 0x00, 0x33, 0x1b, 0x74, 0x25, 0x1b, 0xfc, 0x20, 0xd3, 0x87, 0x55, 0x36, + 0xa3, 0xf5, 0x87, 0xc4, 0x11, 0x99, 0x43, 0x04, +}; +static const unsigned char kat3430_addinpr2[] = {0}; +static const unsigned char kat3430_retbits[] = { + 0x95, 0x94, 0xe0, 0x62, 0xcc, 0xfe, 0x43, 0xa5, 0xcb, 0xea, 0x55, 0x6b, + 0xb8, 0x79, 0xb7, 0x8f, 0xe1, 0x72, 0x5b, 0xa1, 0xcb, 0xcc, 0x0d, 0x75, + 0x39, 0x97, 0x09, 0x7e, 0x93, 0x05, 0xe6, 0x79, 0xb2, 0x93, 0x39, 0xf2, + 0x81, 0x11, 0xe4, 0xc1, 0x37, 0xc9, 0xe6, 0x13, 0x8e, 0xdd, 0xb7, 0x94, + 0x3a, 0x4f, 0x14, 0x6c, 0x97, 0x33, 0xa0, 0x60, 0xeb, 0xa0, 0x97, 0x9b, + 0x04, 0x9a, 0xab, 0x70, +}; +static const struct drbg_kat_pr_true kat3430_t = { + 9, kat3430_entropyin, kat3430_nonce, kat3430_persstr, + kat3430_entropyinpr1, kat3430_addinpr1, kat3430_entropyinpr2, + kat3430_addinpr2, kat3430_retbits +}; +static const struct drbg_kat kat3430 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3430_t +}; + +static const unsigned char kat3431_entropyin[] = { + 0x88, 0x4a, 0xce, 0x7e, 0x14, 0x80, 0x18, 0x2c, 0xb4, 0x4d, 0xe6, 0x1f, + 0x14, 0x8e, 0xb1, 0xd1, 0x68, 0x9c, 0x02, 0x39, 0x50, 0x2f, 0x6c, 0x6c, + 0x5c, 0xf3, 0x6b, 0xa3, 0x3a, 0x70, 0x4a, 0x5a, +}; +static const unsigned char kat3431_nonce[] = { + 0xe8, 0x7b, 0x3b, 0x0f, 0x5d, 0x0b, 0xda, 0xa2, 0x42, 0x6b, 0x93, 0xdd, + 0x8f, 0x43, 0x6a, 0x02, +}; +static const unsigned char kat3431_persstr[] = {0}; +static const unsigned char kat3431_entropyinpr1[] = { + 0xee, 0x4f, 0x97, 0x6d, 0x9c, 0x5f, 0xd7, 0xf4, 0xb1, 0x40, 0x32, 0x6a, + 0x1b, 0x30, 0xcf, 0xf2, 0x6b, 0x33, 0xdd, 0xa3, 0x4c, 0xbe, 0x74, 0x46, + 0x78, 0x95, 0x75, 0x0a, 0x6b, 0x2a, 0x82, 0x2e, +}; +static const unsigned char kat3431_addinpr1[] = {0}; +static const unsigned char kat3431_entropyinpr2[] = { + 0x6e, 0x5c, 0x6d, 0x10, 0xf4, 0x99, 0xbc, 0x5d, 0xde, 0x08, 0x1f, 0x89, + 0x5d, 0x17, 0x55, 0x3a, 0xb3, 0x73, 0x2d, 0x64, 0x95, 0xfa, 0x9c, 0x9a, + 0x75, 0x4e, 0xfa, 0x17, 0x61, 0x47, 0x2d, 0xa2, +}; +static const unsigned char kat3431_addinpr2[] = {0}; +static const unsigned char kat3431_retbits[] = { + 0x56, 0x8f, 0xf9, 0xdd, 0xec, 0x1f, 0x0a, 0x7a, 0x88, 0x57, 0xa5, 0xbe, + 0xef, 0xa2, 0xfa, 0x54, 0x3c, 0x42, 0x2a, 0xd2, 0x1c, 0xc3, 0xd8, 0x40, + 0x47, 0x94, 0x22, 0x89, 0x0f, 0x86, 0x84, 0x65, 0x19, 0x1d, 0x86, 0xa6, + 0x16, 0x70, 0xc5, 0xe7, 0x1b, 0x60, 0x3b, 0xe1, 0xca, 0xbb, 0x88, 0xef, + 0x54, 0xc5, 0xc2, 0xe4, 0xca, 0xf4, 0xf0, 0xdc, 0xae, 0xae, 0x56, 0xd1, + 0x83, 0xf8, 0x44, 0x61, +}; +static const struct drbg_kat_pr_true kat3431_t = { + 10, kat3431_entropyin, kat3431_nonce, kat3431_persstr, + kat3431_entropyinpr1, kat3431_addinpr1, kat3431_entropyinpr2, + kat3431_addinpr2, kat3431_retbits +}; +static const struct drbg_kat kat3431 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3431_t +}; + +static const unsigned char kat3432_entropyin[] = { + 0xa6, 0xf6, 0x08, 0xd8, 0x6e, 0xc7, 0xd9, 0x10, 0x52, 0x30, 0x3e, 0xd0, + 0xba, 0x48, 0x0a, 0x76, 0xe7, 0xca, 0x22, 0x96, 0x19, 0x3b, 0x27, 0x67, + 0xd3, 0x99, 0x16, 0xf6, 0x46, 0x0b, 0x5e, 0x76, +}; +static const unsigned char kat3432_nonce[] = { + 0x02, 0x45, 0x34, 0xfc, 0xe0, 0xd3, 0x98, 0xf8, 0xaa, 0x1f, 0x2e, 0x8c, + 0xef, 0x69, 0x05, 0x60, +}; +static const unsigned char kat3432_persstr[] = {0}; +static const unsigned char kat3432_entropyinpr1[] = { + 0x3b, 0x25, 0x6e, 0xd3, 0xbf, 0xdd, 0xc3, 0xad, 0x92, 0xdc, 0xb0, 0xb6, + 0xd5, 0x18, 0x4e, 0x9b, 0xaf, 0x26, 0x7d, 0x50, 0xce, 0x9b, 0x26, 0xf3, + 0x09, 0x59, 0x26, 0x58, 0xc5, 0xd2, 0x2c, 0x79, +}; +static const unsigned char kat3432_addinpr1[] = {0}; +static const unsigned char kat3432_entropyinpr2[] = { + 0x43, 0x4f, 0xb5, 0xa6, 0x28, 0xe9, 0x17, 0x70, 0x9c, 0x42, 0x0b, 0x2b, + 0xd4, 0xba, 0xc3, 0x5f, 0x44, 0xf7, 0xb4, 0xd8, 0xab, 0xcc, 0xc7, 0x63, + 0xa4, 0x9a, 0x31, 0x89, 0x91, 0xbe, 0xb8, 0xcd, +}; +static const unsigned char kat3432_addinpr2[] = {0}; +static const unsigned char kat3432_retbits[] = { + 0x1c, 0x6a, 0xd9, 0xd8, 0x29, 0x4a, 0x45, 0xb8, 0x84, 0x7c, 0x86, 0x6a, + 0x9c, 0x44, 0x60, 0x2e, 0x01, 0x8e, 0x5d, 0x47, 0x4e, 0x50, 0x3d, 0xb8, + 0xe8, 0xec, 0x3d, 0x95, 0xdb, 0x9e, 0x93, 0xad, 0x19, 0x17, 0x22, 0x8f, + 0x17, 0x00, 0x37, 0xbe, 0x93, 0x70, 0x2e, 0x90, 0x6b, 0x4a, 0xf3, 0x6b, + 0x8b, 0xc7, 0xfc, 0x8b, 0x9f, 0x25, 0x1e, 0x48, 0x68, 0x2c, 0x50, 0x10, + 0x1c, 0xb1, 0xc5, 0x11, +}; +static const struct drbg_kat_pr_true kat3432_t = { + 11, kat3432_entropyin, kat3432_nonce, kat3432_persstr, + kat3432_entropyinpr1, kat3432_addinpr1, kat3432_entropyinpr2, + kat3432_addinpr2, kat3432_retbits +}; +static const struct drbg_kat kat3432 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3432_t +}; + +static const unsigned char kat3433_entropyin[] = { + 0x3a, 0x6a, 0xfa, 0x1b, 0xf6, 0x74, 0x6d, 0x0d, 0xb3, 0x61, 0xbf, 0x5d, + 0xae, 0x97, 0x4a, 0xf8, 0x1e, 0x0e, 0x54, 0xde, 0xa2, 0xdd, 0x3b, 0xba, + 0x8b, 0x20, 0x06, 0x9a, 0x53, 0x44, 0xc8, 0xe7, +}; +static const unsigned char kat3433_nonce[] = { + 0xbe, 0x77, 0x0b, 0x94, 0x4e, 0x23, 0x21, 0x35, 0x29, 0x93, 0xae, 0x6d, + 0x29, 0xe6, 0xfa, 0x3c, +}; +static const unsigned char kat3433_persstr[] = {0}; +static const unsigned char kat3433_entropyinpr1[] = { + 0x6d, 0xa6, 0x0c, 0x74, 0x48, 0xb0, 0x2b, 0xc4, 0xd8, 0xe2, 0x2a, 0x69, + 0xc9, 0xb7, 0x4a, 0xfc, 0xac, 0xcc, 0x43, 0xf3, 0x18, 0xc5, 0x1e, 0x53, + 0xed, 0x9f, 0xe1, 0xf3, 0xca, 0x04, 0xe2, 0xa5, +}; +static const unsigned char kat3433_addinpr1[] = {0}; +static const unsigned char kat3433_entropyinpr2[] = { + 0xf7, 0x46, 0x2f, 0x1e, 0x71, 0x6e, 0x61, 0x61, 0x37, 0x49, 0x80, 0x76, + 0x46, 0x47, 0x27, 0xb7, 0x1c, 0x96, 0x85, 0x10, 0x2f, 0x45, 0x8e, 0x75, + 0x87, 0xb6, 0xa8, 0x68, 0x0d, 0xf7, 0xc7, 0xe8, +}; +static const unsigned char kat3433_addinpr2[] = {0}; +static const unsigned char kat3433_retbits[] = { + 0x3b, 0x83, 0x3e, 0x50, 0x60, 0xce, 0xbe, 0x4b, 0x01, 0xf4, 0x66, 0x48, + 0xca, 0x29, 0x6c, 0x35, 0xed, 0x6a, 0x61, 0x96, 0xb2, 0xe7, 0xd1, 0x0e, + 0xad, 0x88, 0xe9, 0x79, 0xce, 0x8c, 0xd0, 0x0d, 0xae, 0xc3, 0xfe, 0x78, + 0x8e, 0xcf, 0x4e, 0xd2, 0x4e, 0x25, 0xf1, 0xb0, 0x43, 0x73, 0x19, 0x1c, + 0x55, 0x0a, 0x25, 0x44, 0x2a, 0xc5, 0x4c, 0x9e, 0x30, 0x90, 0x94, 0x06, + 0x3b, 0x96, 0x6a, 0xb3, +}; +static const struct drbg_kat_pr_true kat3433_t = { + 12, kat3433_entropyin, kat3433_nonce, kat3433_persstr, + kat3433_entropyinpr1, kat3433_addinpr1, kat3433_entropyinpr2, + kat3433_addinpr2, kat3433_retbits +}; +static const struct drbg_kat kat3433 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3433_t +}; + +static const unsigned char kat3434_entropyin[] = { + 0xbf, 0x1d, 0xa6, 0x80, 0xa6, 0x4d, 0x30, 0xe1, 0x92, 0x4f, 0x53, 0x06, + 0x74, 0x23, 0xf3, 0xf4, 0x64, 0x8e, 0x4d, 0x62, 0xd0, 0xab, 0x80, 0x52, + 0xd6, 0x9c, 0x82, 0x40, 0x45, 0x5f, 0xec, 0x57, +}; +static const unsigned char kat3434_nonce[] = { + 0x68, 0xb1, 0x88, 0x74, 0x5c, 0x7d, 0xcb, 0x94, 0x6e, 0x22, 0x02, 0x49, + 0xa4, 0xa0, 0x2b, 0x84, +}; +static const unsigned char kat3434_persstr[] = {0}; +static const unsigned char kat3434_entropyinpr1[] = { + 0xc4, 0x60, 0x22, 0x9e, 0x1c, 0x2b, 0x73, 0x3e, 0x5b, 0x0b, 0x04, 0x75, + 0x8b, 0xaa, 0xef, 0xd8, 0x2b, 0x92, 0xa9, 0x53, 0x14, 0x6b, 0xcd, 0xfb, + 0xfa, 0x8c, 0x1c, 0x76, 0x41, 0x8a, 0xfb, 0xd5, +}; +static const unsigned char kat3434_addinpr1[] = {0}; +static const unsigned char kat3434_entropyinpr2[] = { + 0x3f, 0xcf, 0x43, 0xba, 0x5b, 0x0c, 0x47, 0x09, 0x89, 0x1a, 0xbd, 0x94, + 0x05, 0x25, 0xe3, 0xa6, 0xe7, 0x51, 0xa5, 0xd7, 0x2f, 0x2e, 0xe3, 0xd6, + 0xc5, 0x37, 0xab, 0xa7, 0x49, 0xda, 0x43, 0x8c, +}; +static const unsigned char kat3434_addinpr2[] = {0}; +static const unsigned char kat3434_retbits[] = { + 0x46, 0x80, 0xbe, 0x15, 0x18, 0x89, 0x5e, 0xc0, 0x02, 0x58, 0xa8, 0x77, + 0xdb, 0xec, 0xa7, 0x41, 0x34, 0x14, 0x09, 0x98, 0x4f, 0x73, 0x49, 0x99, + 0x2e, 0xef, 0x6c, 0x2a, 0xb4, 0x36, 0xe0, 0x0e, 0xec, 0xc1, 0x3c, 0xcb, + 0x65, 0xa1, 0xcb, 0x2b, 0xf4, 0xe0, 0x7e, 0xe6, 0x70, 0x80, 0x02, 0x9f, + 0x42, 0xb2, 0x28, 0xe6, 0xef, 0xa0, 0xa7, 0x42, 0x3d, 0xde, 0xaa, 0x5d, + 0xdf, 0x28, 0x07, 0xfb, +}; +static const struct drbg_kat_pr_true kat3434_t = { + 13, kat3434_entropyin, kat3434_nonce, kat3434_persstr, + kat3434_entropyinpr1, kat3434_addinpr1, kat3434_entropyinpr2, + kat3434_addinpr2, kat3434_retbits +}; +static const struct drbg_kat kat3434 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3434_t +}; + +static const unsigned char kat3435_entropyin[] = { + 0x2a, 0x29, 0x88, 0x03, 0x21, 0x24, 0x86, 0xea, 0xbd, 0x8d, 0x36, 0x4d, + 0xc6, 0x2e, 0x8c, 0x05, 0x17, 0x14, 0xa7, 0x44, 0x90, 0x0e, 0xa1, 0xfe, + 0xb1, 0x57, 0xfd, 0x7a, 0x63, 0xc2, 0x6a, 0x17, +}; +static const unsigned char kat3435_nonce[] = { + 0xba, 0x8f, 0xab, 0xb4, 0xb7, 0x8f, 0xd1, 0x88, 0x66, 0x21, 0x0c, 0xb5, + 0x23, 0x5d, 0xbf, 0xda, +}; +static const unsigned char kat3435_persstr[] = {0}; +static const unsigned char kat3435_entropyinpr1[] = { + 0xea, 0x6e, 0xec, 0x8f, 0x32, 0xb4, 0x40, 0xbe, 0x68, 0xb3, 0xb0, 0x23, + 0x71, 0xfc, 0xbe, 0x1e, 0x6f, 0xdf, 0xe6, 0xd3, 0x5a, 0x9f, 0x86, 0x7a, + 0xc5, 0xaa, 0xb2, 0x97, 0xd4, 0x26, 0x31, 0x00, +}; +static const unsigned char kat3435_addinpr1[] = {0}; +static const unsigned char kat3435_entropyinpr2[] = { + 0xa7, 0x90, 0x86, 0xf9, 0x39, 0xb9, 0x3a, 0x8a, 0xbb, 0xa0, 0x4d, 0x74, + 0x16, 0xd4, 0xd6, 0x2d, 0x37, 0xf3, 0x07, 0x9d, 0x2e, 0xcb, 0x1a, 0xf9, + 0x23, 0xf4, 0xf8, 0x14, 0xdd, 0x57, 0x23, 0x7c, +}; +static const unsigned char kat3435_addinpr2[] = {0}; +static const unsigned char kat3435_retbits[] = { + 0x77, 0xf4, 0xda, 0xf2, 0x5c, 0x97, 0x40, 0xfc, 0x3c, 0x66, 0x80, 0x33, + 0x57, 0x84, 0x2b, 0xb7, 0x4b, 0xba, 0xb9, 0x11, 0xe7, 0x81, 0x87, 0x95, + 0x3d, 0xb6, 0x7f, 0xef, 0x93, 0xfe, 0xcd, 0x28, 0x28, 0x0d, 0xcb, 0x21, + 0xf7, 0x50, 0x63, 0xe3, 0xe8, 0x89, 0x22, 0x8c, 0x0e, 0x65, 0x87, 0x84, + 0x93, 0xa3, 0x9e, 0x1c, 0xea, 0x95, 0x61, 0xfb, 0x01, 0x5f, 0xbe, 0x44, + 0xad, 0x85, 0xb2, 0x61, +}; +static const struct drbg_kat_pr_true kat3435_t = { + 14, kat3435_entropyin, kat3435_nonce, kat3435_persstr, + kat3435_entropyinpr1, kat3435_addinpr1, kat3435_entropyinpr2, + kat3435_addinpr2, kat3435_retbits +}; +static const struct drbg_kat kat3435 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3435_t +}; + +static const unsigned char kat3436_entropyin[] = { + 0x4e, 0x07, 0x0b, 0x3f, 0xac, 0xe0, 0x97, 0xf9, 0x97, 0xd0, 0xd0, 0xeb, + 0xd4, 0x51, 0x3c, 0xdd, 0x66, 0x3d, 0x2c, 0x21, 0x49, 0x73, 0xd1, 0xd4, + 0x69, 0xa1, 0xd1, 0x8f, 0xcd, 0x23, 0x72, 0x39, +}; +static const unsigned char kat3436_nonce[] = { + 0xf5, 0x1b, 0xd6, 0xbc, 0x3a, 0x10, 0xf1, 0x06, 0x5c, 0x67, 0x16, 0x73, + 0x80, 0x15, 0x9c, 0xf5, +}; +static const unsigned char kat3436_persstr[] = {0}; +static const unsigned char kat3436_entropyinpr1[] = { + 0xd3, 0xbe, 0xab, 0x10, 0x44, 0xea, 0xe2, 0x8c, 0x3c, 0x72, 0xea, 0xee, + 0xe5, 0xf0, 0xda, 0xc4, 0xb8, 0x1e, 0x70, 0xc0, 0xa5, 0x88, 0x4e, 0x94, + 0x0d, 0xef, 0x6d, 0x9b, 0xca, 0x09, 0x2e, 0x18, +}; +static const unsigned char kat3436_addinpr1[] = { + 0x75, 0xc0, 0x70, 0x45, 0xb2, 0xd9, 0x6a, 0xa1, 0x23, 0xd6, 0x57, 0xc0, + 0x89, 0x47, 0x68, 0xb7, 0xe5, 0xf9, 0xb4, 0x05, 0xbf, 0x2c, 0xde, 0xea, + 0xa6, 0x20, 0xfd, 0x1b, 0x5c, 0x52, 0xf0, 0x2f, +}; +static const unsigned char kat3436_entropyinpr2[] = { + 0xb6, 0x19, 0xd7, 0x94, 0x6d, 0x9d, 0x91, 0x26, 0x32, 0x8f, 0xab, 0x95, + 0x9e, 0x60, 0xbb, 0xbc, 0x78, 0xff, 0x27, 0xa7, 0x01, 0xd9, 0x98, 0x44, + 0x1a, 0x60, 0xdc, 0x59, 0xc3, 0x9d, 0xe6, 0x02, +}; +static const unsigned char kat3436_addinpr2[] = { + 0x5c, 0xfb, 0xec, 0x3d, 0xb9, 0x29, 0x7e, 0xc5, 0x6b, 0xa3, 0xd4, 0x3b, + 0x41, 0x37, 0xb9, 0xc7, 0x85, 0x37, 0x1c, 0x3c, 0xa4, 0xe9, 0xd8, 0x4c, + 0x17, 0x02, 0x90, 0x82, 0x2c, 0xc0, 0x3a, 0x52, +}; +static const unsigned char kat3436_retbits[] = { + 0xb4, 0xc8, 0xee, 0xf1, 0x98, 0xc4, 0xee, 0x1b, 0x0d, 0xde, 0xe1, 0x61, + 0xd0, 0x37, 0x31, 0x70, 0x46, 0xc0, 0x5c, 0x09, 0x51, 0x22, 0x3f, 0x8a, + 0x03, 0xe2, 0x3c, 0xc0, 0x44, 0x04, 0xfe, 0x9d, 0xec, 0x08, 0x9c, 0xb6, + 0x1d, 0x1f, 0xb2, 0x86, 0xf7, 0x75, 0xb2, 0xb9, 0x2c, 0x51, 0x4f, 0x2e, + 0xf2, 0x1a, 0xfd, 0x28, 0x5f, 0x15, 0xa9, 0xb7, 0x62, 0x1d, 0xed, 0x0e, + 0x6c, 0x1b, 0xff, 0xb6, +}; +static const struct drbg_kat_pr_true kat3436_t = { + 0, kat3436_entropyin, kat3436_nonce, kat3436_persstr, + kat3436_entropyinpr1, kat3436_addinpr1, kat3436_entropyinpr2, + kat3436_addinpr2, kat3436_retbits +}; +static const struct drbg_kat kat3436 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3436_t +}; + +static const unsigned char kat3437_entropyin[] = { + 0x51, 0xe9, 0xe0, 0x03, 0x5a, 0xcb, 0xf4, 0x83, 0x75, 0x0b, 0x9f, 0xbd, + 0xf2, 0xe3, 0x55, 0x5c, 0x07, 0xc0, 0x7b, 0xc8, 0xfb, 0x5d, 0xae, 0xca, + 0x91, 0xf0, 0xf8, 0xa1, 0xb1, 0x7f, 0x01, 0x39, +}; +static const unsigned char kat3437_nonce[] = { + 0xab, 0xd3, 0x73, 0xa5, 0xcf, 0x3c, 0x21, 0xe6, 0x92, 0xef, 0x81, 0x39, + 0xc0, 0xcd, 0x42, 0xb3, +}; +static const unsigned char kat3437_persstr[] = {0}; +static const unsigned char kat3437_entropyinpr1[] = { + 0xbf, 0x53, 0x30, 0x1f, 0x80, 0x49, 0x13, 0xbe, 0x3d, 0xfc, 0x6e, 0x04, + 0x10, 0x9a, 0xd9, 0x0e, 0xb9, 0xa9, 0x62, 0xa2, 0x92, 0x28, 0xe5, 0x8b, + 0xca, 0x12, 0xe1, 0x33, 0x9a, 0xf2, 0xf6, 0xea, +}; +static const unsigned char kat3437_addinpr1[] = { + 0xcd, 0x1f, 0x82, 0x4b, 0xd3, 0x8d, 0x70, 0xca, 0xa5, 0x60, 0xe1, 0xb4, + 0x0f, 0xd0, 0x86, 0xc1, 0x07, 0xa3, 0x5b, 0x50, 0x3c, 0xdb, 0x16, 0xd9, + 0x91, 0x5b, 0xc5, 0xaf, 0x85, 0x29, 0x6e, 0x21, +}; +static const unsigned char kat3437_entropyinpr2[] = { + 0x75, 0x3d, 0xc1, 0x5a, 0x9e, 0x00, 0x7e, 0xf7, 0x55, 0x83, 0xd8, 0x30, + 0xde, 0xb6, 0x6c, 0x3e, 0xd6, 0x7e, 0xf7, 0xe8, 0x85, 0x7f, 0xe1, 0x9e, + 0xea, 0x15, 0xa3, 0x09, 0x47, 0xec, 0x1c, 0x5f, +}; +static const unsigned char kat3437_addinpr2[] = { + 0xa5, 0x16, 0xb3, 0x1d, 0x2d, 0x71, 0x2f, 0xf7, 0xc7, 0xb4, 0x41, 0x77, + 0x62, 0x65, 0x1e, 0xad, 0x78, 0x7a, 0x49, 0xe6, 0x25, 0xc9, 0xc1, 0x95, + 0xa5, 0x52, 0x2b, 0x8d, 0x2e, 0xaf, 0x8c, 0x77, +}; +static const unsigned char kat3437_retbits[] = { + 0x98, 0x23, 0x4d, 0x6e, 0xe8, 0xec, 0x6e, 0x02, 0x73, 0x10, 0xe9, 0x49, + 0x31, 0x14, 0xce, 0x3c, 0x11, 0x8b, 0x37, 0xb7, 0xff, 0x52, 0xe8, 0x23, + 0x51, 0xd5, 0x15, 0xcf, 0xa1, 0x1e, 0x1f, 0x4f, 0x4d, 0xc2, 0x0f, 0xe3, + 0x5b, 0xed, 0x87, 0xe4, 0x22, 0x12, 0x23, 0xcf, 0xae, 0x97, 0xb5, 0x6f, + 0xe4, 0xf9, 0xa9, 0xbc, 0x7b, 0x1e, 0x33, 0xca, 0x86, 0x3a, 0x71, 0x89, + 0x8a, 0x70, 0x5a, 0x0f, +}; +static const struct drbg_kat_pr_true kat3437_t = { + 1, kat3437_entropyin, kat3437_nonce, kat3437_persstr, + kat3437_entropyinpr1, kat3437_addinpr1, kat3437_entropyinpr2, + kat3437_addinpr2, kat3437_retbits +}; +static const struct drbg_kat kat3437 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3437_t +}; + +static const unsigned char kat3438_entropyin[] = { + 0x52, 0xf0, 0xc7, 0xd3, 0x37, 0x57, 0x96, 0x08, 0x75, 0x39, 0xb0, 0xb0, + 0x5c, 0xa1, 0xd1, 0x14, 0xad, 0xa6, 0x4d, 0x6e, 0x42, 0x3d, 0xbc, 0xa9, + 0xe9, 0x7e, 0x1d, 0xc2, 0x8a, 0x7f, 0x0b, 0xa2, +}; +static const unsigned char kat3438_nonce[] = { + 0x4e, 0xf3, 0xac, 0x8f, 0x75, 0x72, 0x5e, 0xbe, 0x25, 0x35, 0x28, 0x53, + 0x77, 0x40, 0x58, 0xfc, +}; +static const unsigned char kat3438_persstr[] = {0}; +static const unsigned char kat3438_entropyinpr1[] = { + 0xf7, 0x02, 0x75, 0x20, 0x0f, 0x74, 0xb9, 0x9b, 0xa4, 0xae, 0x7a, 0xd5, + 0xd2, 0xb1, 0x2e, 0x8a, 0x70, 0x48, 0x1a, 0x8a, 0xd5, 0x24, 0x37, 0xfa, + 0x65, 0x26, 0xd0, 0xd1, 0xc3, 0xf2, 0x21, 0x1a, +}; +static const unsigned char kat3438_addinpr1[] = { + 0xfe, 0x06, 0x13, 0x66, 0xfa, 0xa5, 0x04, 0x44, 0x32, 0x1d, 0x30, 0x53, + 0x29, 0xbb, 0x6f, 0x40, 0x2a, 0x37, 0x3d, 0x15, 0x69, 0x88, 0xd5, 0x09, + 0xad, 0xc3, 0x89, 0x66, 0x45, 0xba, 0x03, 0xf3, +}; +static const unsigned char kat3438_entropyinpr2[] = { + 0xd8, 0xc3, 0x85, 0x68, 0x5b, 0xe1, 0x3c, 0x47, 0xdc, 0xbc, 0x15, 0x55, + 0x67, 0x0f, 0xb3, 0x83, 0xf9, 0xea, 0xeb, 0x03, 0x3e, 0x39, 0x0b, 0x38, + 0x84, 0x6f, 0x4c, 0xcd, 0x77, 0xf4, 0xec, 0x9c, +}; +static const unsigned char kat3438_addinpr2[] = { + 0xca, 0xad, 0x68, 0x8b, 0xa6, 0x7b, 0x63, 0xd9, 0xda, 0x82, 0x9e, 0xd8, + 0x49, 0x74, 0xf5, 0xec, 0x09, 0x21, 0xb5, 0xec, 0x59, 0x55, 0x53, 0x4f, + 0x0b, 0x9b, 0xff, 0xce, 0xad, 0x9c, 0x34, 0xde, +}; +static const unsigned char kat3438_retbits[] = { + 0xd6, 0x25, 0x22, 0x89, 0x2a, 0xf5, 0x3a, 0x57, 0xbb, 0x2d, 0x70, 0xf6, + 0x1c, 0xc4, 0x35, 0x7d, 0x85, 0x93, 0x5f, 0x23, 0x4a, 0x42, 0xf9, 0x88, + 0xc5, 0x1d, 0xf4, 0xf0, 0x29, 0x9d, 0x42, 0xf4, 0x00, 0xa8, 0xd2, 0x11, + 0xae, 0x98, 0xcb, 0xdb, 0x92, 0xbc, 0x3b, 0x3d, 0x5c, 0xe5, 0x6e, 0xf8, + 0x62, 0x8f, 0xa2, 0x0e, 0x25, 0x84, 0xf4, 0x81, 0x1e, 0x30, 0x02, 0xfe, + 0xfa, 0x49, 0x7c, 0x86, +}; +static const struct drbg_kat_pr_true kat3438_t = { + 2, kat3438_entropyin, kat3438_nonce, kat3438_persstr, + kat3438_entropyinpr1, kat3438_addinpr1, kat3438_entropyinpr2, + kat3438_addinpr2, kat3438_retbits +}; +static const struct drbg_kat kat3438 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3438_t +}; + +static const unsigned char kat3439_entropyin[] = { + 0x8c, 0xdc, 0x9b, 0xd9, 0x9e, 0x2e, 0x85, 0x20, 0x86, 0x14, 0xd4, 0x47, + 0x3a, 0xcc, 0x51, 0x89, 0x9e, 0xbb, 0x2d, 0x4d, 0x8c, 0x3b, 0xc2, 0xbe, + 0x97, 0x4f, 0x12, 0x1e, 0x01, 0x2c, 0x06, 0xd3, +}; +static const unsigned char kat3439_nonce[] = { + 0x5d, 0xfd, 0x4a, 0x5d, 0x66, 0xae, 0xd5, 0x40, 0x67, 0xcf, 0x1c, 0x4f, + 0x74, 0x41, 0xd5, 0x3e, +}; +static const unsigned char kat3439_persstr[] = {0}; +static const unsigned char kat3439_entropyinpr1[] = { + 0x67, 0x0b, 0x1e, 0x22, 0xea, 0x4d, 0x55, 0x01, 0xa4, 0xa9, 0xfd, 0xe4, + 0xce, 0x76, 0x5e, 0xec, 0x72, 0xd2, 0x09, 0x02, 0x13, 0x2a, 0xc8, 0x57, + 0xc3, 0xb6, 0xe7, 0x34, 0x3f, 0xe9, 0x69, 0x17, +}; +static const unsigned char kat3439_addinpr1[] = { + 0x10, 0xef, 0x15, 0x42, 0x72, 0x3d, 0x99, 0x79, 0x77, 0x72, 0xe9, 0xbb, + 0xc4, 0x9d, 0x6a, 0x4b, 0x53, 0x3b, 0x55, 0xfd, 0xe8, 0x2b, 0x8f, 0x00, + 0x67, 0x63, 0x16, 0x61, 0xd3, 0x05, 0xa0, 0x4e, +}; +static const unsigned char kat3439_entropyinpr2[] = { + 0xd3, 0x5a, 0x3a, 0x62, 0x01, 0x35, 0xd2, 0x47, 0xce, 0x05, 0x9e, 0x42, + 0xa4, 0x31, 0x3e, 0x33, 0x55, 0x23, 0x80, 0x42, 0xde, 0x1f, 0x7d, 0x3d, + 0x13, 0xac, 0x36, 0x51, 0x47, 0xae, 0x40, 0x46, +}; +static const unsigned char kat3439_addinpr2[] = { + 0xc8, 0x45, 0xc1, 0xd3, 0xe4, 0x27, 0x59, 0x4c, 0x48, 0xf0, 0xa3, 0xa9, + 0x74, 0x7f, 0x74, 0x66, 0x07, 0x66, 0xb8, 0xfa, 0x9c, 0xe6, 0xe1, 0x4e, + 0xd5, 0xec, 0x94, 0x1c, 0xa0, 0x54, 0x76, 0xef, +}; +static const unsigned char kat3439_retbits[] = { + 0x27, 0xa2, 0x5b, 0x87, 0x53, 0x92, 0xf5, 0x0f, 0xaf, 0xf4, 0x01, 0xf3, + 0x70, 0xc5, 0x0b, 0xdb, 0xab, 0x97, 0xd2, 0x0d, 0x94, 0x17, 0xec, 0xdd, + 0xf0, 0x91, 0xa1, 0x3c, 0x80, 0x54, 0x66, 0x55, 0x89, 0x9b, 0x5c, 0xe7, + 0x04, 0x83, 0x9f, 0x0b, 0xb8, 0x73, 0xdf, 0x66, 0x65, 0xe6, 0x8b, 0x02, + 0xb7, 0xd6, 0x4e, 0x7c, 0xa6, 0xdb, 0xb1, 0xd6, 0xac, 0x52, 0xa1, 0x7a, + 0xef, 0xcd, 0x88, 0x28, +}; +static const struct drbg_kat_pr_true kat3439_t = { + 3, kat3439_entropyin, kat3439_nonce, kat3439_persstr, + kat3439_entropyinpr1, kat3439_addinpr1, kat3439_entropyinpr2, + kat3439_addinpr2, kat3439_retbits +}; +static const struct drbg_kat kat3439 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3439_t +}; + +static const unsigned char kat3440_entropyin[] = { + 0x99, 0xf6, 0x24, 0x09, 0x47, 0x1b, 0xa1, 0x1b, 0x8b, 0x58, 0x0c, 0x8b, + 0xfb, 0x28, 0x5a, 0x0f, 0xa4, 0xad, 0x2e, 0xa0, 0xaa, 0x6d, 0x7e, 0x85, + 0xa4, 0xdd, 0x1e, 0xfb, 0x5b, 0xa1, 0x62, 0x95, +}; +static const unsigned char kat3440_nonce[] = { + 0x22, 0x1c, 0x0b, 0xf1, 0x20, 0x83, 0xdd, 0xb9, 0xa0, 0xe9, 0x4a, 0xbd, + 0x88, 0x86, 0x21, 0xad, +}; +static const unsigned char kat3440_persstr[] = {0}; +static const unsigned char kat3440_entropyinpr1[] = { + 0xc2, 0x6b, 0x82, 0x2e, 0xcd, 0xcd, 0xbb, 0x0d, 0xe8, 0x2a, 0x02, 0x30, + 0xe1, 0xfd, 0xc2, 0x7e, 0x9b, 0xac, 0x45, 0xb7, 0xb1, 0x68, 0xf8, 0x4b, + 0xf4, 0x51, 0x06, 0xb3, 0x2b, 0x14, 0x97, 0xb3, +}; +static const unsigned char kat3440_addinpr1[] = { + 0xf2, 0xfe, 0xf7, 0x86, 0x7d, 0x85, 0xc8, 0x8f, 0x19, 0x80, 0x20, 0x0d, + 0x42, 0xcf, 0xe4, 0x65, 0x93, 0xc7, 0x0f, 0xc8, 0x84, 0xf4, 0x7d, 0x9c, + 0x82, 0xc7, 0x7e, 0x27, 0x95, 0xbc, 0xbb, 0xe6, +}; +static const unsigned char kat3440_entropyinpr2[] = { + 0xb2, 0x2c, 0x9f, 0xcb, 0x28, 0x27, 0x3f, 0xfa, 0x5b, 0xad, 0xd8, 0x19, + 0xf8, 0xdb, 0x22, 0xe7, 0xca, 0xec, 0x78, 0x94, 0x1d, 0x58, 0xac, 0xad, + 0xa1, 0x3e, 0xb8, 0xd1, 0xfc, 0x11, 0xd0, 0xe2, +}; +static const unsigned char kat3440_addinpr2[] = { + 0x19, 0x53, 0x4c, 0xa0, 0xc2, 0x4d, 0xf8, 0x9a, 0x48, 0x29, 0xa9, 0x86, + 0x29, 0xc8, 0xd6, 0x30, 0x2a, 0x34, 0xc7, 0x9f, 0xf5, 0x41, 0x4d, 0x56, + 0xb5, 0x26, 0x2e, 0xfe, 0x94, 0x7b, 0x6d, 0xfd, +}; +static const unsigned char kat3440_retbits[] = { + 0xbb, 0x6d, 0x3a, 0x40, 0xce, 0x87, 0xa8, 0xa3, 0x6c, 0x08, 0xb4, 0x2f, + 0x1d, 0xed, 0xf0, 0x2b, 0x79, 0x9e, 0xd0, 0x96, 0x58, 0x8d, 0xdc, 0x55, + 0x43, 0x6a, 0xdc, 0x8e, 0x1f, 0xf8, 0x25, 0x4a, 0xe2, 0xb3, 0x0c, 0x7f, + 0xe1, 0xeb, 0x33, 0x5e, 0xbe, 0xd9, 0xf4, 0x64, 0x77, 0x91, 0x8e, 0x7e, + 0x15, 0xc4, 0x2a, 0x83, 0x48, 0x32, 0x7e, 0x1e, 0xf8, 0x25, 0x59, 0x0c, + 0x10, 0xb5, 0x66, 0x5d, +}; +static const struct drbg_kat_pr_true kat3440_t = { + 4, kat3440_entropyin, kat3440_nonce, kat3440_persstr, + kat3440_entropyinpr1, kat3440_addinpr1, kat3440_entropyinpr2, + kat3440_addinpr2, kat3440_retbits +}; +static const struct drbg_kat kat3440 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3440_t +}; + +static const unsigned char kat3441_entropyin[] = { + 0xe1, 0xe9, 0x28, 0x03, 0x1b, 0x60, 0x45, 0x79, 0xa8, 0x21, 0x15, 0x55, + 0x5c, 0x4e, 0x66, 0x4f, 0x50, 0x77, 0xda, 0xba, 0x5b, 0x65, 0x8f, 0xc3, + 0xde, 0x0e, 0xb0, 0x01, 0xed, 0x2e, 0x35, 0x7d, +}; +static const unsigned char kat3441_nonce[] = { + 0xab, 0xf2, 0x56, 0x3d, 0xf0, 0x3a, 0x25, 0x32, 0x73, 0xe4, 0x17, 0x0c, + 0x21, 0xdb, 0x7a, 0xfb, +}; +static const unsigned char kat3441_persstr[] = {0}; +static const unsigned char kat3441_entropyinpr1[] = { + 0x12, 0x98, 0x90, 0x6c, 0x23, 0xfd, 0x10, 0x32, 0x12, 0x4e, 0x6c, 0xee, + 0x3c, 0x9f, 0x1b, 0x6f, 0x44, 0xda, 0xfd, 0xe3, 0x06, 0x4f, 0xa0, 0x99, + 0x3f, 0x5c, 0xf5, 0x96, 0x55, 0xc9, 0x75, 0x1c, +}; +static const unsigned char kat3441_addinpr1[] = { + 0x81, 0x00, 0x8e, 0xef, 0x04, 0x68, 0x6a, 0x88, 0x2a, 0x6e, 0x89, 0x5d, + 0x2b, 0xea, 0xad, 0x0a, 0xf7, 0xfd, 0x90, 0x6d, 0xd0, 0x2b, 0xd9, 0x10, + 0xb5, 0x09, 0x51, 0xc6, 0x51, 0x51, 0x5f, 0xf1, +}; +static const unsigned char kat3441_entropyinpr2[] = { + 0x1a, 0xdf, 0x9a, 0x7e, 0xfb, 0x6e, 0x2d, 0xa2, 0xfd, 0x0c, 0xff, 0x19, + 0xd6, 0x22, 0xb4, 0xb5, 0xcc, 0xed, 0x2d, 0x98, 0x2b, 0x38, 0x59, 0xe4, + 0x74, 0xda, 0xe8, 0x51, 0x9d, 0xa2, 0x37, 0x62, +}; +static const unsigned char kat3441_addinpr2[] = { + 0xfb, 0xb8, 0xce, 0xe0, 0xc7, 0xbb, 0x23, 0xba, 0x35, 0x21, 0x1e, 0x4d, + 0xe9, 0x9f, 0xc7, 0xd4, 0xe0, 0xac, 0xc1, 0x22, 0xdc, 0xf0, 0x5e, 0x65, + 0x7a, 0x33, 0x7f, 0x3c, 0x99, 0xc3, 0x37, 0x58, +}; +static const unsigned char kat3441_retbits[] = { + 0xe5, 0x99, 0x55, 0xdd, 0x62, 0x91, 0x80, 0xfc, 0xea, 0x95, 0x0b, 0x6d, + 0xbc, 0x20, 0xae, 0xce, 0xd7, 0xab, 0xa5, 0x4b, 0x06, 0x54, 0x9c, 0x56, + 0xa3, 0xae, 0xc4, 0xc9, 0x8b, 0xdf, 0x06, 0xbf, 0xd3, 0x03, 0xb1, 0x07, + 0x54, 0xfd, 0x0b, 0x61, 0xd5, 0xe4, 0x02, 0x04, 0xd9, 0xfb, 0x9e, 0x5e, + 0x3d, 0xd5, 0x34, 0xe2, 0x8d, 0x68, 0x3f, 0xe0, 0x61, 0xd1, 0xbc, 0x3d, + 0xda, 0xc8, 0x04, 0xcf, +}; +static const struct drbg_kat_pr_true kat3441_t = { + 5, kat3441_entropyin, kat3441_nonce, kat3441_persstr, + kat3441_entropyinpr1, kat3441_addinpr1, kat3441_entropyinpr2, + kat3441_addinpr2, kat3441_retbits +}; +static const struct drbg_kat kat3441 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3441_t +}; + +static const unsigned char kat3442_entropyin[] = { + 0x8b, 0x14, 0xd0, 0xe4, 0x2d, 0x71, 0x2d, 0x4b, 0x4b, 0x77, 0xa9, 0x6d, + 0x62, 0x93, 0xff, 0xed, 0x15, 0xb0, 0xb9, 0xb4, 0x83, 0x1a, 0x67, 0x6a, + 0xac, 0x23, 0x5a, 0x25, 0x64, 0xcd, 0x33, 0x00, +}; +static const unsigned char kat3442_nonce[] = { + 0xe0, 0x44, 0x20, 0x66, 0x5b, 0xd5, 0x68, 0x14, 0x0b, 0xe7, 0xf2, 0x15, + 0x48, 0x97, 0xf5, 0x35, +}; +static const unsigned char kat3442_persstr[] = {0}; +static const unsigned char kat3442_entropyinpr1[] = { + 0x5f, 0xda, 0x24, 0xff, 0xd2, 0x95, 0x3c, 0xe2, 0x47, 0x34, 0xd1, 0x30, + 0xf9, 0x05, 0x9a, 0xea, 0x83, 0x24, 0x9c, 0xe0, 0xf4, 0x6b, 0xf7, 0x2a, + 0xd3, 0xad, 0xf9, 0x72, 0xf9, 0x86, 0x2f, 0x3a, +}; +static const unsigned char kat3442_addinpr1[] = { + 0x36, 0xb9, 0x63, 0xc4, 0xc7, 0x34, 0x09, 0x03, 0xb0, 0xc7, 0x55, 0x1d, + 0xcb, 0x21, 0x97, 0xc4, 0x93, 0xbc, 0xb6, 0x58, 0x93, 0xaf, 0xa3, 0x38, + 0x28, 0x4f, 0x74, 0xe7, 0xae, 0xd9, 0xd6, 0x30, +}; +static const unsigned char kat3442_entropyinpr2[] = { + 0xe6, 0x1c, 0xa7, 0x1b, 0x4b, 0x24, 0x49, 0xa6, 0xd5, 0xb1, 0x5f, 0xc2, + 0x8f, 0x56, 0x33, 0xcf, 0x48, 0x53, 0x92, 0x37, 0x08, 0x3d, 0x53, 0xa2, + 0x5e, 0x59, 0x7f, 0x7b, 0x55, 0xde, 0x65, 0xf0, +}; +static const unsigned char kat3442_addinpr2[] = { + 0x2a, 0xe2, 0x50, 0x42, 0x26, 0x49, 0xac, 0x67, 0xdc, 0x55, 0x9a, 0x41, + 0xfa, 0x18, 0x8a, 0x4e, 0x31, 0x3b, 0x4a, 0x02, 0x8e, 0x90, 0x9f, 0xcf, + 0xdc, 0xc0, 0xe3, 0xd9, 0xde, 0x5c, 0x9a, 0xe8, +}; +static const unsigned char kat3442_retbits[] = { + 0xc8, 0x99, 0x0d, 0xda, 0x05, 0xbb, 0xb7, 0xbd, 0xb8, 0x2b, 0xf6, 0xca, + 0x89, 0xc7, 0x01, 0x44, 0x5e, 0x9b, 0x94, 0x4c, 0x79, 0x85, 0x92, 0x1a, + 0x18, 0xc0, 0x90, 0x09, 0x97, 0x91, 0xe3, 0xae, 0xa4, 0x5f, 0x9f, 0x84, + 0x3c, 0x3c, 0x9a, 0x28, 0xf5, 0x7c, 0x21, 0x8e, 0x04, 0x23, 0xdf, 0x2a, + 0x60, 0x38, 0x10, 0xe9, 0xc2, 0x57, 0x6e, 0x1b, 0xe5, 0x03, 0xef, 0x02, + 0x7a, 0xaf, 0x5d, 0x20, +}; +static const struct drbg_kat_pr_true kat3442_t = { + 6, kat3442_entropyin, kat3442_nonce, kat3442_persstr, + kat3442_entropyinpr1, kat3442_addinpr1, kat3442_entropyinpr2, + kat3442_addinpr2, kat3442_retbits +}; +static const struct drbg_kat kat3442 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3442_t +}; + +static const unsigned char kat3443_entropyin[] = { + 0xe1, 0x8e, 0x5e, 0x0f, 0xbd, 0x42, 0xd2, 0xc6, 0xaf, 0x77, 0x90, 0x82, + 0x2c, 0x6d, 0xbf, 0x5a, 0x49, 0x2e, 0x52, 0x63, 0xb1, 0x42, 0x25, 0xbe, + 0x31, 0xe3, 0x85, 0x5b, 0x95, 0xe1, 0xb7, 0x08, +}; +static const unsigned char kat3443_nonce[] = { + 0xab, 0x75, 0xe9, 0xfc, 0xf3, 0x3b, 0xb1, 0x51, 0xca, 0x6e, 0x22, 0xcf, + 0x13, 0x78, 0x84, 0x99, +}; +static const unsigned char kat3443_persstr[] = {0}; +static const unsigned char kat3443_entropyinpr1[] = { + 0xb9, 0x58, 0x4c, 0x80, 0x24, 0x56, 0x03, 0xaf, 0x87, 0x04, 0x61, 0x2d, + 0xe2, 0x4e, 0xfb, 0x48, 0x16, 0x29, 0xb4, 0x97, 0x73, 0x56, 0x59, 0xd3, + 0x00, 0xa8, 0x31, 0xa4, 0x59, 0x79, 0x57, 0x27, +}; +static const unsigned char kat3443_addinpr1[] = { + 0x45, 0x5a, 0x9b, 0xe0, 0x4d, 0xcd, 0x77, 0x80, 0x3e, 0xb3, 0xec, 0x3a, + 0xe5, 0x5a, 0xcf, 0x09, 0x19, 0x16, 0x51, 0x61, 0xcb, 0x38, 0x14, 0xf7, + 0x6f, 0xf6, 0x7f, 0x48, 0xbb, 0x51, 0x6c, 0xc8, +}; +static const unsigned char kat3443_entropyinpr2[] = { + 0x5f, 0x6c, 0xa9, 0xd8, 0x35, 0x9d, 0x4d, 0x1d, 0x04, 0x50, 0x42, 0xd1, + 0xbb, 0xf9, 0x6e, 0xf8, 0xc2, 0xc8, 0x33, 0x25, 0x04, 0x0b, 0x79, 0xc6, + 0x6a, 0x3d, 0xaa, 0xf7, 0x81, 0xfd, 0xea, 0xbe, +}; +static const unsigned char kat3443_addinpr2[] = { + 0xc1, 0xef, 0xe0, 0xc5, 0x01, 0xb5, 0xfc, 0xf2, 0x4d, 0x2e, 0x9f, 0x02, + 0x16, 0xd7, 0x9b, 0xf9, 0x63, 0x70, 0x3c, 0x43, 0x9c, 0x41, 0x7d, 0x0f, + 0x40, 0x14, 0xfa, 0xd5, 0xdc, 0xa8, 0xee, 0x6d, +}; +static const unsigned char kat3443_retbits[] = { + 0x02, 0xb6, 0x03, 0xcb, 0x68, 0x39, 0x0c, 0x94, 0x59, 0x1a, 0x00, 0x74, + 0xe5, 0x0c, 0x32, 0xc7, 0x5a, 0x40, 0x98, 0x2d, 0x9d, 0x92, 0xf8, 0x50, + 0x1b, 0x20, 0x05, 0x59, 0xd1, 0x4f, 0xbb, 0x03, 0x6e, 0x10, 0xdf, 0xe3, + 0xaa, 0x06, 0xc3, 0x4a, 0x42, 0xfb, 0x51, 0x97, 0xe7, 0xa3, 0x44, 0xc0, + 0x4c, 0xbf, 0x1c, 0xe7, 0x2b, 0x69, 0xde, 0x01, 0xd9, 0x70, 0x82, 0x4a, + 0x3c, 0xa0, 0x5d, 0x03, +}; +static const struct drbg_kat_pr_true kat3443_t = { + 7, kat3443_entropyin, kat3443_nonce, kat3443_persstr, + kat3443_entropyinpr1, kat3443_addinpr1, kat3443_entropyinpr2, + kat3443_addinpr2, kat3443_retbits +}; +static const struct drbg_kat kat3443 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3443_t +}; + +static const unsigned char kat3444_entropyin[] = { + 0x60, 0x02, 0x64, 0x10, 0x66, 0xd9, 0x49, 0x86, 0x8b, 0x63, 0xb1, 0x5e, + 0x20, 0x1b, 0x3f, 0x89, 0x96, 0x9a, 0x27, 0xf2, 0xdb, 0xc6, 0xdb, 0xcf, + 0x0a, 0x7d, 0x98, 0xc4, 0x66, 0x6e, 0xf7, 0xcf, +}; +static const unsigned char kat3444_nonce[] = { + 0xe6, 0xb5, 0x48, 0x8d, 0xa0, 0xa9, 0x0d, 0x41, 0xa3, 0xc2, 0xbf, 0x91, + 0x29, 0x34, 0xe7, 0xf6, +}; +static const unsigned char kat3444_persstr[] = {0}; +static const unsigned char kat3444_entropyinpr1[] = { + 0x95, 0x5d, 0x24, 0xbf, 0x4d, 0x19, 0x27, 0xe2, 0x95, 0x75, 0x6e, 0x49, + 0x5d, 0xb9, 0x49, 0x98, 0xd2, 0xfb, 0x89, 0xec, 0xcb, 0x9d, 0x8b, 0x96, + 0x5f, 0xf8, 0xe3, 0xf9, 0xce, 0xc2, 0xb9, 0x62, +}; +static const unsigned char kat3444_addinpr1[] = { + 0x11, 0x69, 0xcc, 0x97, 0xfd, 0x71, 0xb3, 0xa8, 0x21, 0xa6, 0x05, 0x9e, + 0x37, 0x4b, 0x4b, 0x96, 0x6a, 0x85, 0x7c, 0x28, 0x44, 0x9a, 0x33, 0xae, + 0x26, 0x5b, 0xbb, 0x50, 0xb3, 0xcd, 0x92, 0xb9, +}; +static const unsigned char kat3444_entropyinpr2[] = { + 0x43, 0x21, 0xc4, 0x14, 0xda, 0xf7, 0xb1, 0x6d, 0x1c, 0x7d, 0xa7, 0x2f, + 0x58, 0x25, 0x62, 0x71, 0x56, 0x1e, 0x13, 0xa4, 0xb2, 0x32, 0x5d, 0xcb, + 0xdb, 0x91, 0x27, 0x4f, 0x65, 0x96, 0x0e, 0xcb, +}; +static const unsigned char kat3444_addinpr2[] = { + 0xab, 0xec, 0xfd, 0x41, 0xbc, 0x3b, 0x67, 0x9b, 0x25, 0xa9, 0x83, 0x13, + 0x14, 0xb3, 0x30, 0x26, 0xd6, 0x23, 0x09, 0xb5, 0xb4, 0x13, 0xc6, 0xb5, + 0x3f, 0x54, 0x98, 0x5e, 0xcf, 0x7f, 0xfa, 0x55, +}; +static const unsigned char kat3444_retbits[] = { + 0x51, 0x5e, 0x68, 0x95, 0xf5, 0x46, 0x96, 0xe7, 0x21, 0x9e, 0x29, 0xd5, + 0x36, 0xda, 0x24, 0xa1, 0x80, 0x54, 0xf4, 0x29, 0xa6, 0x73, 0xeb, 0xfb, + 0x9e, 0x30, 0xc1, 0xde, 0x7f, 0x03, 0x5b, 0x48, 0x5f, 0x59, 0x1f, 0x73, + 0x64, 0x8c, 0xde, 0xeb, 0xd8, 0x89, 0x16, 0x4e, 0x80, 0x36, 0x9d, 0xae, + 0x8d, 0x9e, 0xbf, 0xb7, 0x76, 0xe3, 0xa5, 0x7e, 0xd6, 0xd5, 0x86, 0x58, + 0x7a, 0x0f, 0x72, 0x43, +}; +static const struct drbg_kat_pr_true kat3444_t = { + 8, kat3444_entropyin, kat3444_nonce, kat3444_persstr, + kat3444_entropyinpr1, kat3444_addinpr1, kat3444_entropyinpr2, + kat3444_addinpr2, kat3444_retbits +}; +static const struct drbg_kat kat3444 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3444_t +}; + +static const unsigned char kat3445_entropyin[] = { + 0xa4, 0x54, 0x3e, 0x2c, 0xb2, 0xaa, 0xa8, 0xce, 0x94, 0x72, 0x67, 0xbc, + 0xbd, 0x7a, 0x4d, 0x50, 0x71, 0xa8, 0x07, 0x29, 0xad, 0x86, 0x88, 0x3d, + 0x54, 0x57, 0xe3, 0x9d, 0xbc, 0xa7, 0x2d, 0x3e, +}; +static const unsigned char kat3445_nonce[] = { + 0xf5, 0x47, 0x63, 0xd1, 0x34, 0x76, 0xfc, 0x49, 0x39, 0x3d, 0x23, 0xbc, + 0x25, 0xc7, 0x9d, 0x19, +}; +static const unsigned char kat3445_persstr[] = {0}; +static const unsigned char kat3445_entropyinpr1[] = { + 0x3d, 0x22, 0xbc, 0x6b, 0x2d, 0xc5, 0x91, 0x86, 0xb7, 0x24, 0xfb, 0x1b, + 0x37, 0xfe, 0xcb, 0x3b, 0xd3, 0x8c, 0x49, 0xf7, 0xbd, 0xa5, 0xbd, 0x01, + 0xf1, 0xc8, 0x7d, 0x28, 0x6c, 0xe2, 0x8b, 0xee, +}; +static const unsigned char kat3445_addinpr1[] = { + 0xe6, 0x92, 0x69, 0x53, 0x0f, 0xeb, 0xb9, 0xef, 0xef, 0x40, 0x55, 0xbe, + 0x7f, 0xee, 0xaf, 0x52, 0xaf, 0xe2, 0xe5, 0x5d, 0xd8, 0xb6, 0x16, 0xd5, + 0x26, 0x2c, 0x86, 0xf3, 0x7a, 0xef, 0xac, 0xcd, +}; +static const unsigned char kat3445_entropyinpr2[] = { + 0x1d, 0x46, 0x11, 0x3d, 0x77, 0xa6, 0x64, 0x1f, 0xb1, 0xe7, 0xbf, 0xad, + 0x8d, 0x45, 0x68, 0xbf, 0x4c, 0xf9, 0x91, 0xce, 0x39, 0xe5, 0x58, 0xd1, + 0xd9, 0xb6, 0xa0, 0x43, 0x9e, 0x23, 0x12, 0x34, +}; +static const unsigned char kat3445_addinpr2[] = { + 0x68, 0x8f, 0x47, 0x37, 0xba, 0x45, 0x17, 0x07, 0x84, 0xd3, 0xe0, 0xc0, + 0xee, 0x98, 0x20, 0xb5, 0x38, 0x07, 0xaf, 0x66, 0x47, 0x95, 0x9d, 0xbe, + 0x39, 0x40, 0x4e, 0x07, 0x4b, 0x54, 0xe1, 0x76, +}; +static const unsigned char kat3445_retbits[] = { + 0xe6, 0x1f, 0x54, 0x8b, 0x05, 0x3a, 0x30, 0x35, 0xfa, 0xa8, 0xf0, 0xcc, + 0xf8, 0xa3, 0xc4, 0x2a, 0x67, 0xfe, 0x89, 0xdc, 0xa0, 0x4f, 0x9a, 0xbc, + 0x6e, 0x31, 0xd2, 0xc5, 0xad, 0x85, 0xb6, 0x85, 0xd8, 0x31, 0xfa, 0xb0, + 0x6b, 0x75, 0x2e, 0xad, 0xa3, 0x77, 0x6d, 0x1f, 0x3b, 0x71, 0x45, 0x21, + 0xc2, 0xe0, 0x0b, 0xde, 0x18, 0x50, 0xe1, 0x58, 0x78, 0x51, 0x3a, 0x9d, + 0x50, 0x2c, 0x0e, 0xda, +}; +static const struct drbg_kat_pr_true kat3445_t = { + 9, kat3445_entropyin, kat3445_nonce, kat3445_persstr, + kat3445_entropyinpr1, kat3445_addinpr1, kat3445_entropyinpr2, + kat3445_addinpr2, kat3445_retbits +}; +static const struct drbg_kat kat3445 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3445_t +}; + +static const unsigned char kat3446_entropyin[] = { + 0x27, 0xf2, 0x62, 0x11, 0xf9, 0x8b, 0xf2, 0x27, 0xe0, 0xa1, 0xcf, 0x1b, + 0x0e, 0x88, 0x8f, 0x9b, 0x44, 0x2a, 0x48, 0x64, 0xd3, 0x37, 0xb2, 0x34, + 0xd4, 0xf9, 0x47, 0xde, 0xe7, 0x3a, 0x31, 0x27, +}; +static const unsigned char kat3446_nonce[] = { + 0xca, 0x2a, 0x52, 0x17, 0x0f, 0x82, 0xb9, 0x44, 0x9b, 0x65, 0x21, 0x72, + 0xc2, 0x6e, 0x9d, 0x26, +}; +static const unsigned char kat3446_persstr[] = {0}; +static const unsigned char kat3446_entropyinpr1[] = { + 0x5b, 0x78, 0x24, 0x12, 0xd1, 0xe4, 0x33, 0x6a, 0xcc, 0xff, 0x10, 0x78, + 0x60, 0xdc, 0xa2, 0xa5, 0xd9, 0xc8, 0x0f, 0x1e, 0x15, 0xbc, 0xcb, 0xe7, + 0xbc, 0xbd, 0x80, 0x17, 0x2f, 0xd9, 0xd2, 0x6c, +}; +static const unsigned char kat3446_addinpr1[] = { + 0xb7, 0x43, 0xcb, 0x78, 0x9b, 0xe9, 0x4b, 0xc6, 0xbc, 0xbd, 0x44, 0xfa, + 0xf5, 0x2e, 0x0f, 0xcc, 0xfc, 0xfd, 0x58, 0xc5, 0x7b, 0xc6, 0xa1, 0x54, + 0x7e, 0xac, 0x40, 0x98, 0xf3, 0xdb, 0xf1, 0x89, +}; +static const unsigned char kat3446_entropyinpr2[] = { + 0x0d, 0x48, 0x58, 0x12, 0x0e, 0xb4, 0x4f, 0xd9, 0x08, 0xf9, 0x76, 0x2f, + 0xe7, 0x30, 0x6d, 0x52, 0x69, 0xcc, 0xa3, 0x04, 0xf7, 0x44, 0xce, 0xe3, + 0x92, 0xeb, 0xbf, 0x15, 0x00, 0x10, 0x6d, 0x86, +}; +static const unsigned char kat3446_addinpr2[] = { + 0x7a, 0x74, 0xb5, 0x4b, 0xef, 0x59, 0x0d, 0x6d, 0x3a, 0x54, 0x35, 0x35, + 0x44, 0xc6, 0x95, 0xe0, 0x07, 0x2f, 0xdf, 0xa5, 0x66, 0x7f, 0xf7, 0x6b, + 0x69, 0xf2, 0x84, 0xeb, 0xde, 0x05, 0x6d, 0x5e, +}; +static const unsigned char kat3446_retbits[] = { + 0x4e, 0xf8, 0xc3, 0x6e, 0xa7, 0x4a, 0x56, 0x7a, 0x59, 0xcd, 0x84, 0x1f, + 0x31, 0x50, 0x91, 0x79, 0x8d, 0xe4, 0x91, 0xce, 0x0a, 0x09, 0x66, 0xb3, + 0x4d, 0xde, 0xb3, 0x8b, 0xc0, 0xe1, 0xa9, 0x28, 0xc1, 0x1e, 0x85, 0xcf, + 0x13, 0x5d, 0x30, 0x96, 0xd2, 0xcc, 0x61, 0xdd, 0xb0, 0x42, 0x54, 0xa6, + 0x4b, 0x37, 0x3f, 0xbc, 0x6c, 0x43, 0x2a, 0x88, 0xa2, 0xb9, 0xf5, 0xc7, + 0x89, 0x38, 0x55, 0xa5, +}; +static const struct drbg_kat_pr_true kat3446_t = { + 10, kat3446_entropyin, kat3446_nonce, kat3446_persstr, + kat3446_entropyinpr1, kat3446_addinpr1, kat3446_entropyinpr2, + kat3446_addinpr2, kat3446_retbits +}; +static const struct drbg_kat kat3446 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3446_t +}; + +static const unsigned char kat3447_entropyin[] = { + 0x59, 0x9c, 0x6b, 0x73, 0x8e, 0x1f, 0x97, 0xd4, 0xc8, 0xdb, 0xf8, 0xab, + 0x76, 0xbb, 0xf6, 0xab, 0x04, 0x25, 0xaf, 0xbb, 0xe2, 0xa3, 0xd9, 0xfe, + 0xec, 0xc4, 0xb1, 0xb0, 0x3b, 0x70, 0xe5, 0x85, +}; +static const unsigned char kat3447_nonce[] = { + 0xb9, 0x00, 0x88, 0x9f, 0x58, 0x3c, 0x25, 0xda, 0x9e, 0x52, 0x4f, 0xc8, + 0x65, 0x79, 0x28, 0x47, +}; +static const unsigned char kat3447_persstr[] = {0}; +static const unsigned char kat3447_entropyinpr1[] = { + 0xb3, 0x81, 0xba, 0xa2, 0x1a, 0xac, 0xcd, 0x1e, 0xbb, 0x8e, 0xa0, 0xcd, + 0x33, 0x7b, 0x06, 0x06, 0xd5, 0x09, 0x8f, 0x35, 0xc8, 0x06, 0xa7, 0xd9, + 0x1a, 0xde, 0x94, 0xdb, 0xd6, 0xaf, 0xd7, 0x16, +}; +static const unsigned char kat3447_addinpr1[] = { + 0x4c, 0xa8, 0xa7, 0x8c, 0x10, 0xf5, 0x25, 0x65, 0xac, 0xcf, 0xe9, 0xd8, + 0x1e, 0xac, 0x03, 0x4c, 0x82, 0xfc, 0xa9, 0x4a, 0x20, 0x26, 0x43, 0x63, + 0x8c, 0x77, 0xb3, 0x7b, 0x66, 0x0a, 0x25, 0xa9, +}; +static const unsigned char kat3447_entropyinpr2[] = { + 0xb1, 0x6a, 0xe7, 0xa5, 0x15, 0xec, 0xe2, 0x56, 0x8e, 0x2e, 0xd5, 0xe4, + 0x28, 0xb9, 0xab, 0xd0, 0x9e, 0xd1, 0xaa, 0x1c, 0xf5, 0x1c, 0x08, 0x49, + 0x15, 0x14, 0xd6, 0x8c, 0x86, 0x9d, 0xbb, 0xd6, +}; +static const unsigned char kat3447_addinpr2[] = { + 0x07, 0xce, 0xb0, 0xae, 0x35, 0xcb, 0x05, 0x93, 0x48, 0xf4, 0x43, 0xa0, + 0xef, 0x1a, 0x5d, 0x34, 0x02, 0xa2, 0x90, 0xb6, 0xf5, 0xc9, 0x3b, 0x93, + 0x46, 0xd4, 0x5f, 0xd6, 0x77, 0x59, 0x1f, 0x80, +}; +static const unsigned char kat3447_retbits[] = { + 0xce, 0x3f, 0x0a, 0xe6, 0x24, 0x62, 0x7d, 0x0b, 0x8e, 0x26, 0xcd, 0xcb, + 0x6e, 0x59, 0x9f, 0x11, 0x1a, 0xd4, 0xfe, 0xe1, 0xdd, 0x14, 0xa9, 0xe6, + 0x92, 0x3c, 0x57, 0x65, 0xfa, 0x71, 0xce, 0xd5, 0x5f, 0x82, 0x06, 0xc4, + 0xbd, 0xf7, 0xcb, 0x37, 0xf3, 0xda, 0x11, 0xf0, 0x7c, 0x61, 0x65, 0x03, + 0x33, 0x8c, 0x0c, 0x86, 0x67, 0xed, 0xf6, 0xdf, 0x2f, 0xb1, 0x7f, 0xc7, + 0x5f, 0xad, 0xf7, 0xb3, +}; +static const struct drbg_kat_pr_true kat3447_t = { + 11, kat3447_entropyin, kat3447_nonce, kat3447_persstr, + kat3447_entropyinpr1, kat3447_addinpr1, kat3447_entropyinpr2, + kat3447_addinpr2, kat3447_retbits +}; +static const struct drbg_kat kat3447 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3447_t +}; + +static const unsigned char kat3448_entropyin[] = { + 0x2b, 0x15, 0x9e, 0xf3, 0x19, 0xf9, 0xcc, 0xd3, 0xa8, 0x98, 0x5c, 0x9d, + 0x32, 0x7f, 0xa8, 0x80, 0x39, 0x33, 0xf4, 0x0e, 0x05, 0x0d, 0xcf, 0x6a, + 0x28, 0xeb, 0xf4, 0x21, 0xa7, 0x2c, 0x46, 0x36, +}; +static const unsigned char kat3448_nonce[] = { + 0x34, 0x12, 0x5e, 0x45, 0xf1, 0x6b, 0x50, 0x7c, 0xa3, 0x62, 0xfd, 0x6f, + 0xea, 0xe8, 0x8f, 0xd8, +}; +static const unsigned char kat3448_persstr[] = {0}; +static const unsigned char kat3448_entropyinpr1[] = { + 0x27, 0x4a, 0x3e, 0x2c, 0x5e, 0x66, 0x42, 0xee, 0x43, 0x41, 0xc2, 0xaa, + 0x04, 0x43, 0xa0, 0xed, 0x77, 0x48, 0x63, 0xed, 0x49, 0xd5, 0x22, 0x96, + 0x4a, 0x21, 0x45, 0xe9, 0x99, 0xf8, 0xa1, 0xbc, +}; +static const unsigned char kat3448_addinpr1[] = { + 0x7c, 0x7c, 0x5d, 0xce, 0x2d, 0x42, 0x58, 0x75, 0x51, 0x84, 0xcc, 0x6c, + 0x50, 0x9e, 0xae, 0x29, 0x41, 0xf8, 0xb9, 0xb3, 0x22, 0xaf, 0xd6, 0xb9, + 0x7c, 0xcb, 0x12, 0xd9, 0xde, 0x8d, 0x0c, 0xf9, +}; +static const unsigned char kat3448_entropyinpr2[] = { + 0x7f, 0x98, 0x39, 0xbc, 0x7f, 0xfc, 0x59, 0xb6, 0x80, 0xc2, 0xcd, 0xc9, + 0x2d, 0x36, 0x89, 0x94, 0x56, 0x2a, 0x66, 0xe2, 0x6f, 0xe5, 0x67, 0x16, + 0x9c, 0x71, 0x48, 0x70, 0x16, 0x34, 0x1b, 0xf3, +}; +static const unsigned char kat3448_addinpr2[] = { + 0xa6, 0xe7, 0x78, 0x90, 0x98, 0x2d, 0xd0, 0xb7, 0x4e, 0x98, 0xeb, 0xdc, + 0x70, 0x2b, 0xb6, 0x12, 0xa8, 0x2d, 0xb2, 0x4c, 0x11, 0x27, 0x3b, 0x25, + 0x64, 0x60, 0x7e, 0x96, 0xeb, 0x68, 0x8f, 0x33, +}; +static const unsigned char kat3448_retbits[] = { + 0xe1, 0x93, 0x41, 0x11, 0x1b, 0xb1, 0x0c, 0x29, 0x74, 0x3e, 0x48, 0xa7, + 0xf1, 0x44, 0xc1, 0xcd, 0xd6, 0xa2, 0x14, 0xa7, 0x7c, 0x4b, 0xb4, 0xc6, + 0x31, 0xb8, 0x8f, 0x07, 0x5c, 0xb6, 0xdf, 0x00, 0x36, 0xb0, 0x0a, 0x0d, + 0x59, 0x2b, 0x8a, 0xdb, 0xc2, 0x6b, 0x88, 0x44, 0x4c, 0x80, 0x27, 0xd0, + 0xf6, 0x8d, 0xc8, 0x01, 0x82, 0x15, 0x05, 0x38, 0xc7, 0x01, 0x8a, 0xf4, + 0xa4, 0xef, 0xeb, 0x09, +}; +static const struct drbg_kat_pr_true kat3448_t = { + 12, kat3448_entropyin, kat3448_nonce, kat3448_persstr, + kat3448_entropyinpr1, kat3448_addinpr1, kat3448_entropyinpr2, + kat3448_addinpr2, kat3448_retbits +}; +static const struct drbg_kat kat3448 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3448_t +}; + +static const unsigned char kat3449_entropyin[] = { + 0x1e, 0xa8, 0xfc, 0x3a, 0x49, 0x3c, 0xf6, 0x5b, 0x07, 0xf7, 0x33, 0xc7, + 0x6b, 0xf7, 0x64, 0x29, 0x79, 0xd5, 0x38, 0xf7, 0xe7, 0xef, 0x44, 0x37, + 0x3f, 0xf1, 0xef, 0x05, 0x55, 0xfc, 0x1b, 0x9e, +}; +static const unsigned char kat3449_nonce[] = { + 0xd8, 0x51, 0x08, 0x72, 0xa0, 0x69, 0xa2, 0xfd, 0x01, 0x62, 0xe0, 0x72, + 0x9c, 0x27, 0x34, 0x4c, +}; +static const unsigned char kat3449_persstr[] = {0}; +static const unsigned char kat3449_entropyinpr1[] = { + 0x82, 0x8b, 0x2f, 0x9e, 0xcd, 0xa5, 0x72, 0xf6, 0x64, 0x02, 0x88, 0x9d, + 0x10, 0x6c, 0xc3, 0x69, 0x9a, 0x80, 0x5d, 0xc4, 0x16, 0x27, 0xa2, 0xef, + 0x52, 0x5e, 0xdf, 0x10, 0xff, 0x53, 0x9f, 0x9c, +}; +static const unsigned char kat3449_addinpr1[] = { + 0x0f, 0x31, 0xb0, 0x35, 0x6f, 0x34, 0xa4, 0x49, 0xa0, 0x17, 0x4b, 0xc6, + 0x2b, 0x7d, 0xee, 0x5f, 0xbe, 0xd1, 0xec, 0x76, 0x95, 0xe8, 0x42, 0x5d, + 0x65, 0x87, 0x6d, 0x27, 0xfe, 0x67, 0xb6, 0x5b, +}; +static const unsigned char kat3449_entropyinpr2[] = { + 0x25, 0x3d, 0xd6, 0xf6, 0x92, 0x2f, 0x36, 0x86, 0xfe, 0x24, 0x71, 0xaf, + 0x07, 0x6a, 0x43, 0x9b, 0xb9, 0xba, 0xde, 0x05, 0xfb, 0x72, 0xc6, 0x4e, + 0x00, 0xc4, 0x5a, 0x03, 0x8a, 0xd0, 0xbe, 0xb0, +}; +static const unsigned char kat3449_addinpr2[] = { + 0x35, 0x24, 0x65, 0xe3, 0xd4, 0xbb, 0x4c, 0x14, 0xd3, 0xb8, 0x62, 0xbd, + 0xe4, 0x34, 0x65, 0xee, 0x88, 0xf1, 0x97, 0x29, 0x4b, 0xf7, 0xbe, 0x78, + 0x22, 0xaa, 0x56, 0xdb, 0xba, 0xef, 0x66, 0x56, +}; +static const unsigned char kat3449_retbits[] = { + 0xd7, 0x45, 0x7b, 0xc3, 0x05, 0xfa, 0x40, 0x84, 0x6d, 0x3e, 0x94, 0x29, + 0x9a, 0xdb, 0xb7, 0xe3, 0x39, 0xcd, 0x94, 0x90, 0xab, 0xdf, 0x8a, 0xec, + 0x1a, 0x03, 0x49, 0x49, 0x2b, 0xfe, 0xcc, 0xee, 0x5e, 0xe4, 0xd8, 0x20, + 0x3f, 0xae, 0xb0, 0x0c, 0xaa, 0x2d, 0xce, 0x0a, 0x61, 0x6e, 0xa3, 0x1a, + 0x63, 0x53, 0xee, 0xb7, 0x07, 0xc4, 0x76, 0xf3, 0xe0, 0xa5, 0x84, 0x7f, + 0xf4, 0x01, 0x46, 0x04, +}; +static const struct drbg_kat_pr_true kat3449_t = { + 13, kat3449_entropyin, kat3449_nonce, kat3449_persstr, + kat3449_entropyinpr1, kat3449_addinpr1, kat3449_entropyinpr2, + kat3449_addinpr2, kat3449_retbits +}; +static const struct drbg_kat kat3449 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3449_t +}; + +static const unsigned char kat3450_entropyin[] = { + 0x8f, 0x21, 0x15, 0xea, 0x7e, 0x25, 0x3d, 0x68, 0xa0, 0x20, 0xb7, 0xd1, + 0xb2, 0x9e, 0x2e, 0x89, 0xa9, 0x49, 0xff, 0x14, 0xbf, 0xa3, 0x3d, 0xb9, + 0xea, 0x73, 0x97, 0xbc, 0x10, 0x05, 0x13, 0x7a, +}; +static const unsigned char kat3450_nonce[] = { + 0xf0, 0xfd, 0xe3, 0xbe, 0xc8, 0x2a, 0x7a, 0xd4, 0x89, 0xfd, 0x14, 0x80, + 0x61, 0x39, 0xdc, 0x08, +}; +static const unsigned char kat3450_persstr[] = {0}; +static const unsigned char kat3450_entropyinpr1[] = { + 0x29, 0xde, 0x7b, 0x63, 0xd4, 0x21, 0xab, 0x69, 0x92, 0x20, 0xc8, 0x28, + 0xc7, 0x23, 0xdf, 0xcc, 0xc9, 0xf2, 0xa3, 0x7a, 0xd1, 0xe1, 0x97, 0x40, + 0x03, 0xf6, 0x00, 0xc4, 0x9a, 0x39, 0x98, 0xca, +}; +static const unsigned char kat3450_addinpr1[] = { + 0x72, 0xce, 0x1e, 0xff, 0x59, 0xf0, 0xd6, 0xc5, 0xd1, 0xaf, 0x10, 0x40, + 0x87, 0xa5, 0xca, 0xf1, 0xc9, 0x6f, 0x0d, 0x3e, 0xdd, 0xae, 0x97, 0x20, + 0x51, 0xec, 0x88, 0x47, 0x12, 0x7e, 0xfb, 0x2a, +}; +static const unsigned char kat3450_entropyinpr2[] = { + 0x2c, 0xe7, 0x76, 0xcc, 0x1b, 0xa0, 0x2a, 0xf9, 0x1c, 0x6c, 0x4f, 0xa1, + 0x0b, 0xd0, 0x41, 0x2b, 0x98, 0x1f, 0x2d, 0x78, 0x1a, 0x33, 0xde, 0x7e, + 0x4e, 0xd3, 0x44, 0xac, 0xca, 0x32, 0xfd, 0xae, +}; +static const unsigned char kat3450_addinpr2[] = { + 0x3d, 0x8c, 0x81, 0xed, 0x48, 0x21, 0xa2, 0xdd, 0xfe, 0x58, 0x86, 0x0f, + 0xa7, 0x52, 0x9d, 0x77, 0x86, 0xe6, 0x38, 0x98, 0x45, 0xa3, 0x7f, 0x04, + 0x76, 0xf1, 0x20, 0x78, 0xb4, 0x73, 0x0e, 0xd6, +}; +static const unsigned char kat3450_retbits[] = { + 0x18, 0xfe, 0xc5, 0x8f, 0x3a, 0x5d, 0x46, 0x33, 0x86, 0xc8, 0x9b, 0xb9, + 0xdc, 0xb9, 0xbe, 0xc4, 0x4f, 0x88, 0xfe, 0x42, 0xe7, 0xea, 0x82, 0x9b, + 0xe9, 0x1a, 0x92, 0xdc, 0x6a, 0xd9, 0xef, 0xc7, 0x8e, 0xb0, 0xe0, 0xfa, + 0x88, 0xb8, 0xb6, 0x90, 0xd8, 0xef, 0x8a, 0xf0, 0xe7, 0x9d, 0xff, 0x76, + 0x85, 0x75, 0x2b, 0xab, 0x9a, 0x3d, 0x55, 0xec, 0xbd, 0xc6, 0x41, 0x35, + 0xc1, 0xfe, 0x40, 0x83, +}; +static const struct drbg_kat_pr_true kat3450_t = { + 14, kat3450_entropyin, kat3450_nonce, kat3450_persstr, + kat3450_entropyinpr1, kat3450_addinpr1, kat3450_entropyinpr2, + kat3450_addinpr2, kat3450_retbits +}; +static const struct drbg_kat kat3450 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3450_t +}; + +static const unsigned char kat3451_entropyin[] = { + 0xb7, 0xc1, 0xd9, 0xee, 0xf9, 0x8d, 0x53, 0x70, 0x31, 0x37, 0xb4, 0xd9, + 0x1e, 0x86, 0xc5, 0x8d, 0x5b, 0x79, 0x1d, 0xc1, 0x97, 0x5b, 0xa5, 0xc2, + 0x08, 0x0a, 0x28, 0xdd, 0x2d, 0xdb, 0x2a, 0xe8, +}; +static const unsigned char kat3451_nonce[] = { + 0x05, 0xa9, 0xdd, 0xa0, 0x62, 0x88, 0x70, 0xaa, 0xa5, 0x26, 0xde, 0x69, + 0x5d, 0x1c, 0xd3, 0x63, +}; +static const unsigned char kat3451_persstr[] = { + 0x0b, 0x27, 0xf0, 0x80, 0x56, 0x3c, 0x26, 0x0c, 0xf7, 0x4c, 0xc8, 0x98, + 0x27, 0x66, 0x98, 0x5e, 0x1e, 0x3f, 0xd4, 0xd6, 0x04, 0x45, 0x81, 0xdf, + 0x83, 0xec, 0xb0, 0x8d, 0x7c, 0x4d, 0xb9, 0x26, +}; +static const unsigned char kat3451_entropyinpr1[] = { + 0xd3, 0x7a, 0x86, 0x71, 0x00, 0xb5, 0x11, 0xd3, 0x06, 0x3c, 0x5d, 0xad, + 0x39, 0xf3, 0xb8, 0x21, 0xa0, 0xfe, 0x9e, 0xcb, 0x1c, 0xd7, 0x64, 0xca, + 0xc2, 0xf5, 0x3a, 0xb3, 0xea, 0x3c, 0x66, 0x4b, +}; +static const unsigned char kat3451_addinpr1[] = {0}; +static const unsigned char kat3451_entropyinpr2[] = { + 0xfd, 0x8f, 0xbd, 0x84, 0xfb, 0x77, 0xe0, 0xd4, 0x6f, 0xa4, 0xc5, 0x24, + 0x7f, 0xa4, 0xfc, 0xc3, 0xf2, 0x35, 0x8a, 0x6f, 0x17, 0xd1, 0x7c, 0x95, + 0x09, 0xfd, 0x81, 0x4d, 0xec, 0x12, 0x06, 0xc6, +}; +static const unsigned char kat3451_addinpr2[] = {0}; +static const unsigned char kat3451_retbits[] = { + 0xf6, 0x64, 0x05, 0xf9, 0xa8, 0x7b, 0xae, 0x5e, 0xa6, 0x49, 0x36, 0x8a, + 0x83, 0x0a, 0xc7, 0xf0, 0x0a, 0x72, 0x23, 0x90, 0x09, 0x8c, 0xac, 0xe8, + 0x5d, 0x38, 0x19, 0x47, 0x70, 0xaf, 0x3a, 0xc8, 0x32, 0xf4, 0x33, 0xf8, + 0x16, 0xf5, 0xcd, 0x44, 0x81, 0x9c, 0xc9, 0xd8, 0xd3, 0xd2, 0x4e, 0x2a, + 0x7a, 0x32, 0x20, 0xea, 0x89, 0x9b, 0x38, 0xe7, 0x5e, 0xde, 0x62, 0x72, + 0x90, 0x36, 0x10, 0x93, +}; +static const struct drbg_kat_pr_true kat3451_t = { + 0, kat3451_entropyin, kat3451_nonce, kat3451_persstr, + kat3451_entropyinpr1, kat3451_addinpr1, kat3451_entropyinpr2, + kat3451_addinpr2, kat3451_retbits +}; +static const struct drbg_kat kat3451 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3451_t +}; + +static const unsigned char kat3452_entropyin[] = { + 0x53, 0x0f, 0x7c, 0x81, 0xe5, 0x0f, 0x1c, 0x22, 0xc9, 0x4a, 0x26, 0x40, + 0xae, 0x04, 0xd9, 0x69, 0xc1, 0xaa, 0x1c, 0x2d, 0x53, 0xa6, 0x5f, 0xc8, + 0xab, 0xf5, 0x9f, 0x54, 0x2f, 0x99, 0x02, 0xcf, +}; +static const unsigned char kat3452_nonce[] = { + 0x40, 0xac, 0xc4, 0x00, 0x15, 0x95, 0xe6, 0xb9, 0xde, 0x7b, 0x02, 0x62, + 0x1c, 0x61, 0x50, 0x1b, +}; +static const unsigned char kat3452_persstr[] = { + 0xa9, 0x20, 0x38, 0x26, 0x3c, 0x9e, 0x35, 0x51, 0x37, 0x7d, 0x98, 0x5e, + 0x75, 0xf2, 0x72, 0x32, 0x0d, 0x1c, 0xb0, 0xdc, 0x43, 0xa7, 0xb7, 0x46, + 0xb3, 0xab, 0x80, 0xa8, 0x0c, 0x52, 0x3b, 0xf2, +}; +static const unsigned char kat3452_entropyinpr1[] = { + 0xda, 0x8a, 0xd3, 0x80, 0x5b, 0xc5, 0xf5, 0xbb, 0x55, 0x4d, 0x83, 0xbc, + 0x22, 0xf9, 0x25, 0xef, 0xd2, 0xe0, 0xd0, 0x24, 0x6f, 0x53, 0x14, 0x78, + 0x5a, 0x68, 0x2d, 0x3b, 0x9b, 0x85, 0x9b, 0x1b, +}; +static const unsigned char kat3452_addinpr1[] = {0}; +static const unsigned char kat3452_entropyinpr2[] = { + 0xc7, 0x92, 0x16, 0xa7, 0x0f, 0xa6, 0xbd, 0x82, 0x56, 0x82, 0x2d, 0x75, + 0x39, 0x56, 0x8c, 0x73, 0xca, 0x80, 0xc8, 0xf6, 0xbc, 0x44, 0x2b, 0xcf, + 0xed, 0xcd, 0x25, 0x92, 0xef, 0xb0, 0xe1, 0x4a, +}; +static const unsigned char kat3452_addinpr2[] = {0}; +static const unsigned char kat3452_retbits[] = { + 0x88, 0x41, 0x3f, 0x63, 0x25, 0x90, 0x83, 0xa5, 0x3b, 0x83, 0x27, 0xfb, + 0x72, 0x58, 0x76, 0xd6, 0x26, 0x60, 0x95, 0x55, 0xd9, 0x36, 0xd4, 0x7f, + 0x8c, 0xc6, 0xcc, 0x54, 0xcb, 0x8a, 0x81, 0xdf, 0xf6, 0xee, 0x9e, 0x99, + 0xc1, 0x42, 0xe2, 0xed, 0xb6, 0xa6, 0x47, 0xf5, 0xe0, 0x28, 0xb9, 0x62, + 0x2f, 0xf3, 0xca, 0x3e, 0x58, 0x96, 0xbd, 0x6e, 0x67, 0x9f, 0x46, 0xed, + 0x77, 0x30, 0x71, 0x78, +}; +static const struct drbg_kat_pr_true kat3452_t = { + 1, kat3452_entropyin, kat3452_nonce, kat3452_persstr, + kat3452_entropyinpr1, kat3452_addinpr1, kat3452_entropyinpr2, + kat3452_addinpr2, kat3452_retbits +}; +static const struct drbg_kat kat3452 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3452_t +}; + +static const unsigned char kat3453_entropyin[] = { + 0xd7, 0xba, 0x78, 0x13, 0xf5, 0x28, 0x5b, 0xad, 0x22, 0xa1, 0xd0, 0xa0, + 0x34, 0x42, 0x97, 0x7b, 0x44, 0xb9, 0x2d, 0xfc, 0xc7, 0x85, 0x81, 0x5c, + 0x31, 0xe0, 0x04, 0x23, 0xea, 0xee, 0x28, 0x23, +}; +static const unsigned char kat3453_nonce[] = { + 0x1a, 0xa3, 0x0a, 0xe5, 0x6a, 0xb7, 0xa4, 0xed, 0x92, 0x29, 0x7a, 0x00, + 0xde, 0x8c, 0x4e, 0x34, +}; +static const unsigned char kat3453_persstr[] = { + 0x49, 0xdb, 0x7d, 0x1a, 0xf7, 0x90, 0x33, 0xeb, 0x07, 0x66, 0x42, 0x02, + 0x56, 0x71, 0x0a, 0xb8, 0xff, 0x4e, 0x05, 0x50, 0x54, 0x65, 0xb7, 0x77, + 0x85, 0x1a, 0xe5, 0x49, 0x39, 0x31, 0x79, 0x27, +}; +static const unsigned char kat3453_entropyinpr1[] = { + 0xda, 0xc0, 0x1c, 0xb5, 0xbc, 0x0d, 0xff, 0x75, 0x35, 0x88, 0xb8, 0xc9, + 0xf1, 0xa7, 0xb9, 0xc6, 0xb7, 0x83, 0x0d, 0xcb, 0x2a, 0xf5, 0x21, 0x36, + 0x5e, 0xcd, 0x9d, 0xfb, 0x21, 0x37, 0x92, 0xb7, +}; +static const unsigned char kat3453_addinpr1[] = {0}; +static const unsigned char kat3453_entropyinpr2[] = { + 0xb9, 0x18, 0x78, 0x71, 0xca, 0xb7, 0x7d, 0xb2, 0x27, 0xaa, 0xf5, 0xa2, + 0x37, 0xe6, 0x43, 0x92, 0x3a, 0x02, 0xb4, 0xb7, 0xac, 0xab, 0x4d, 0x0b, + 0x14, 0x04, 0x6c, 0xca, 0x44, 0x0f, 0x87, 0x9a, +}; +static const unsigned char kat3453_addinpr2[] = {0}; +static const unsigned char kat3453_retbits[] = { + 0xab, 0x71, 0xe5, 0x53, 0xf0, 0xec, 0x95, 0x79, 0x12, 0xb8, 0x82, 0x59, + 0xa6, 0xd4, 0x86, 0x2e, 0xde, 0x1c, 0xff, 0x0f, 0x13, 0x00, 0x50, 0xae, + 0x8a, 0xd7, 0xa0, 0xee, 0x37, 0x95, 0xef, 0x76, 0x44, 0xeb, 0x27, 0xe1, + 0x4d, 0x09, 0x11, 0x3c, 0x9a, 0x25, 0x80, 0xc6, 0x0e, 0x98, 0x68, 0x7d, + 0x81, 0x06, 0x44, 0xfa, 0xf9, 0xa6, 0xd6, 0x99, 0xc7, 0xba, 0x64, 0x5d, + 0x75, 0x18, 0x5a, 0x40, +}; +static const struct drbg_kat_pr_true kat3453_t = { + 2, kat3453_entropyin, kat3453_nonce, kat3453_persstr, + kat3453_entropyinpr1, kat3453_addinpr1, kat3453_entropyinpr2, + kat3453_addinpr2, kat3453_retbits +}; +static const struct drbg_kat kat3453 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3453_t +}; + +static const unsigned char kat3454_entropyin[] = { + 0x14, 0xdb, 0x6e, 0x94, 0xfe, 0xc5, 0x73, 0x36, 0xc2, 0xc9, 0xd7, 0x41, + 0x24, 0x2f, 0xfa, 0x60, 0x3c, 0x11, 0x03, 0xd3, 0xbe, 0xe9, 0xa5, 0xc1, + 0xf6, 0x57, 0x15, 0x54, 0x70, 0x05, 0x09, 0xf1, +}; +static const unsigned char kat3454_nonce[] = { + 0x75, 0x6b, 0x03, 0x69, 0x66, 0x63, 0xb0, 0xaa, 0x0a, 0x74, 0x91, 0xfc, + 0x6d, 0x26, 0x96, 0xe2, +}; +static const unsigned char kat3454_persstr[] = { + 0x44, 0x42, 0x26, 0xb6, 0x0d, 0xbd, 0x85, 0xb4, 0x9b, 0x38, 0x5e, 0xcc, + 0xb5, 0xcd, 0xca, 0xc2, 0x42, 0x07, 0x5e, 0x05, 0x87, 0x03, 0xb9, 0x4e, + 0x98, 0x3f, 0x94, 0x57, 0xd4, 0xac, 0x0b, 0xdb, +}; +static const unsigned char kat3454_entropyinpr1[] = { + 0xe6, 0x23, 0x71, 0xb9, 0x55, 0xd0, 0xd0, 0x98, 0x85, 0x44, 0x68, 0xe9, + 0x31, 0xbc, 0xa2, 0x2e, 0x5a, 0x22, 0x6a, 0xad, 0x2c, 0xed, 0x51, 0x6f, + 0xe7, 0xfa, 0xdb, 0x6d, 0x23, 0x58, 0xce, 0x15, +}; +static const unsigned char kat3454_addinpr1[] = {0}; +static const unsigned char kat3454_entropyinpr2[] = { + 0x3d, 0x46, 0xe7, 0x33, 0x00, 0xe6, 0x7b, 0xa1, 0x58, 0x8e, 0x3c, 0xa1, + 0x47, 0x85, 0xdc, 0x13, 0x9e, 0xf6, 0x6c, 0x14, 0xce, 0x20, 0x9d, 0xaa, + 0xd0, 0x54, 0x33, 0xc8, 0x90, 0x04, 0xda, 0x4f, +}; +static const unsigned char kat3454_addinpr2[] = {0}; +static const unsigned char kat3454_retbits[] = { + 0xc9, 0x06, 0xdb, 0x2d, 0x02, 0x46, 0xae, 0xcd, 0xf4, 0x84, 0x40, 0x83, + 0xc4, 0xfc, 0xfb, 0xce, 0x6d, 0x7c, 0xd4, 0xd2, 0x51, 0x20, 0x8a, 0xeb, + 0xe9, 0x22, 0x52, 0xb7, 0xbb, 0x7b, 0x24, 0xb5, 0x8c, 0xa7, 0x3e, 0xa9, + 0x38, 0x1f, 0x48, 0x35, 0x48, 0x3b, 0xe0, 0x15, 0x06, 0x5a, 0x20, 0x23, + 0xb1, 0xe3, 0x85, 0x24, 0x8b, 0x7f, 0xd7, 0x24, 0x3f, 0xf9, 0xbd, 0x77, + 0x88, 0x35, 0x7b, 0xb5, +}; +static const struct drbg_kat_pr_true kat3454_t = { + 3, kat3454_entropyin, kat3454_nonce, kat3454_persstr, + kat3454_entropyinpr1, kat3454_addinpr1, kat3454_entropyinpr2, + kat3454_addinpr2, kat3454_retbits +}; +static const struct drbg_kat kat3454 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3454_t +}; + +static const unsigned char kat3455_entropyin[] = { + 0x98, 0x79, 0x98, 0x03, 0xb5, 0x5c, 0x55, 0xc8, 0xc3, 0x47, 0xc6, 0xbd, + 0x54, 0x2e, 0xa9, 0x17, 0x4b, 0x36, 0xf5, 0xc4, 0x7f, 0x8e, 0xaa, 0xf6, + 0x03, 0x67, 0xb2, 0x20, 0x21, 0xa6, 0xd0, 0x9a, +}; +static const unsigned char kat3455_nonce[] = { + 0x47, 0xce, 0x2c, 0x85, 0xf9, 0x66, 0x0c, 0x14, 0x45, 0x12, 0x09, 0xd0, + 0x19, 0x44, 0xf3, 0x5b, +}; +static const unsigned char kat3455_persstr[] = { + 0xab, 0xad, 0xd6, 0xa8, 0x8b, 0x62, 0x93, 0x9c, 0xbb, 0x46, 0x30, 0xcf, + 0x8d, 0x85, 0xe5, 0xee, 0x3b, 0xa3, 0xa9, 0x8c, 0xaf, 0xfb, 0xf7, 0x5c, + 0x1e, 0x75, 0x92, 0xd2, 0x67, 0x2a, 0x98, 0x30, +}; +static const unsigned char kat3455_entropyinpr1[] = { + 0xab, 0x5a, 0x55, 0xe7, 0xde, 0x98, 0xb6, 0x42, 0xef, 0x4c, 0x59, 0x16, + 0xd2, 0xe9, 0xd9, 0x4a, 0xe6, 0xe0, 0x2c, 0x10, 0x51, 0xd1, 0x67, 0x0d, + 0x72, 0x5b, 0xd0, 0x9b, 0xf2, 0x0a, 0x94, 0x35, +}; +static const unsigned char kat3455_addinpr1[] = {0}; +static const unsigned char kat3455_entropyinpr2[] = { + 0x1d, 0xd9, 0x1a, 0xe2, 0xb5, 0xab, 0x1f, 0xc5, 0xa7, 0x40, 0x3d, 0x09, + 0x33, 0xf7, 0xf6, 0xd5, 0x20, 0xc0, 0x19, 0x4f, 0xdd, 0xe6, 0x69, 0xdc, + 0x6b, 0xb0, 0x83, 0x39, 0xc3, 0x86, 0xf9, 0xb7, +}; +static const unsigned char kat3455_addinpr2[] = {0}; +static const unsigned char kat3455_retbits[] = { + 0x17, 0xf2, 0x9b, 0xdc, 0x3f, 0x9b, 0x6d, 0xd1, 0xfb, 0xdc, 0xff, 0x68, + 0x79, 0xfa, 0x2d, 0x2b, 0x7b, 0x94, 0xd9, 0xb4, 0x4b, 0xd3, 0x7a, 0x84, + 0x41, 0x89, 0xd0, 0x60, 0xf2, 0x74, 0x54, 0xe4, 0x7b, 0x2c, 0x20, 0xdd, + 0x71, 0x21, 0x6d, 0x00, 0x40, 0xb5, 0x86, 0xea, 0x9c, 0x74, 0x10, 0xdc, + 0x68, 0x25, 0x03, 0x3e, 0x58, 0x8e, 0x9a, 0xbd, 0x81, 0x93, 0xdd, 0xa1, + 0xb5, 0xbe, 0x1c, 0xea, +}; +static const struct drbg_kat_pr_true kat3455_t = { + 4, kat3455_entropyin, kat3455_nonce, kat3455_persstr, + kat3455_entropyinpr1, kat3455_addinpr1, kat3455_entropyinpr2, + kat3455_addinpr2, kat3455_retbits +}; +static const struct drbg_kat kat3455 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3455_t +}; + +static const unsigned char kat3456_entropyin[] = { + 0x9f, 0xd5, 0xea, 0x40, 0x02, 0x0a, 0xe5, 0x6c, 0x10, 0x16, 0x3d, 0x17, + 0xc9, 0xc1, 0x95, 0x45, 0xf5, 0x0f, 0xff, 0x9d, 0xf6, 0xf7, 0xaa, 0xaf, + 0x6a, 0x7d, 0x40, 0x8e, 0x3f, 0xf9, 0xba, 0x11, +}; +static const unsigned char kat3456_nonce[] = { + 0xac, 0xcd, 0x67, 0xc4, 0x80, 0x4c, 0xe7, 0x11, 0xc9, 0x73, 0xd8, 0x1a, + 0x72, 0x1a, 0x50, 0x97, +}; +static const unsigned char kat3456_persstr[] = { + 0xb0, 0x17, 0x14, 0xc6, 0x73, 0xad, 0x95, 0xaa, 0x98, 0x7a, 0x9f, 0xdb, + 0xb6, 0x54, 0xcd, 0x86, 0x75, 0x51, 0x01, 0xb3, 0xd2, 0x81, 0x66, 0xf2, + 0xf6, 0xf8, 0x65, 0xce, 0x9d, 0x8c, 0x3b, 0xaa, +}; +static const unsigned char kat3456_entropyinpr1[] = { + 0x10, 0xe9, 0x92, 0xf7, 0x29, 0x7f, 0xf8, 0xfb, 0xe1, 0xa2, 0x2b, 0x02, + 0x56, 0x4a, 0x8c, 0x9b, 0x02, 0xb9, 0xb1, 0xc9, 0x10, 0xb7, 0xd1, 0x8f, + 0x9e, 0xc5, 0x4a, 0x03, 0x1c, 0xba, 0x1e, 0x73, +}; +static const unsigned char kat3456_addinpr1[] = {0}; +static const unsigned char kat3456_entropyinpr2[] = { + 0xee, 0x2a, 0x73, 0xe5, 0x04, 0xe1, 0xf4, 0xd3, 0xa1, 0x1e, 0x82, 0x55, + 0xca, 0x55, 0x44, 0x1e, 0x02, 0x78, 0x50, 0x9a, 0xc1, 0xe3, 0x2d, 0x63, + 0xd1, 0xc2, 0xff, 0xf3, 0xde, 0x6a, 0xaa, 0x6b, +}; +static const unsigned char kat3456_addinpr2[] = {0}; +static const unsigned char kat3456_retbits[] = { + 0x29, 0x51, 0x27, 0x4b, 0xc0, 0x75, 0x56, 0xbb, 0x4e, 0xae, 0xe9, 0x4e, + 0x05, 0x14, 0xef, 0x0e, 0x17, 0x76, 0x5d, 0xbe, 0xdc, 0x8b, 0x30, 0x46, + 0xcf, 0x74, 0x0a, 0xce, 0xbc, 0x0a, 0xc5, 0xa7, 0xcb, 0xa6, 0xe3, 0x72, + 0x81, 0x2d, 0x04, 0xe6, 0xf1, 0x3c, 0xe5, 0xf7, 0xb4, 0x71, 0x98, 0x78, + 0x7a, 0x29, 0x53, 0x49, 0xbc, 0x87, 0x08, 0xb0, 0xa6, 0xc1, 0x79, 0x17, + 0x0d, 0x05, 0xe0, 0x13, +}; +static const struct drbg_kat_pr_true kat3456_t = { + 5, kat3456_entropyin, kat3456_nonce, kat3456_persstr, + kat3456_entropyinpr1, kat3456_addinpr1, kat3456_entropyinpr2, + kat3456_addinpr2, kat3456_retbits +}; +static const struct drbg_kat kat3456 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3456_t +}; + +static const unsigned char kat3457_entropyin[] = { + 0x76, 0x6b, 0xf3, 0x08, 0x5f, 0x1b, 0xa7, 0x54, 0xde, 0x23, 0x4b, 0xb8, + 0x8c, 0x57, 0x31, 0x5e, 0x5f, 0x29, 0xe7, 0x1c, 0x0c, 0x99, 0x98, 0x45, + 0xb5, 0xf1, 0x0b, 0xe6, 0x9b, 0x9f, 0x06, 0x59, +}; +static const unsigned char kat3457_nonce[] = { + 0x12, 0x35, 0xf4, 0x88, 0x79, 0x73, 0xb1, 0x6f, 0x01, 0xbf, 0xcf, 0x33, + 0xa7, 0xcd, 0x67, 0xa2, +}; +static const unsigned char kat3457_persstr[] = { + 0x8e, 0x17, 0x13, 0xdb, 0x79, 0x12, 0x28, 0xf9, 0xd0, 0x14, 0x32, 0xe7, + 0x07, 0x5a, 0x23, 0xf6, 0x7b, 0xd1, 0xec, 0x74, 0x8b, 0x63, 0x32, 0x40, + 0xde, 0x83, 0xd1, 0xf7, 0x5c, 0xee, 0x1a, 0x71, +}; +static const unsigned char kat3457_entropyinpr1[] = { + 0x2a, 0xe7, 0xe8, 0x9e, 0x2f, 0x67, 0xba, 0xe2, 0x85, 0xbb, 0xd4, 0xff, + 0x4a, 0x5a, 0xc9, 0x2a, 0x0f, 0x18, 0x69, 0x08, 0xd0, 0x6d, 0x32, 0x2a, + 0x93, 0x86, 0x54, 0xdd, 0xde, 0xe8, 0xb7, 0x46, +}; +static const unsigned char kat3457_addinpr1[] = {0}; +static const unsigned char kat3457_entropyinpr2[] = { + 0x87, 0x81, 0x8e, 0xf3, 0xd2, 0x0d, 0x05, 0x12, 0xa5, 0x7b, 0x92, 0x9c, + 0xe8, 0x9b, 0xf8, 0x27, 0x03, 0xc0, 0xab, 0x62, 0xd4, 0xa5, 0xa4, 0xe5, + 0xf9, 0xbb, 0x48, 0xe0, 0x95, 0x97, 0xcd, 0x57, +}; +static const unsigned char kat3457_addinpr2[] = {0}; +static const unsigned char kat3457_retbits[] = { + 0xb8, 0x2c, 0xcd, 0xda, 0x39, 0x6b, 0x1a, 0x1b, 0x21, 0xc2, 0x58, 0xf0, + 0xbe, 0x9c, 0x0f, 0x5c, 0x27, 0x54, 0x71, 0xdf, 0x88, 0x60, 0xc3, 0x68, + 0xb4, 0xac, 0x79, 0x26, 0xc9, 0x80, 0xd4, 0x99, 0x73, 0x9f, 0xc6, 0x97, + 0x8a, 0xe0, 0x75, 0x44, 0x8c, 0x38, 0x7e, 0x22, 0xac, 0x35, 0xfb, 0x0f, + 0xbd, 0x77, 0x78, 0x7b, 0xc1, 0xbc, 0x87, 0x5c, 0xfb, 0xc5, 0xfb, 0x1f, + 0xc0, 0x61, 0xae, 0x5c, +}; +static const struct drbg_kat_pr_true kat3457_t = { + 6, kat3457_entropyin, kat3457_nonce, kat3457_persstr, + kat3457_entropyinpr1, kat3457_addinpr1, kat3457_entropyinpr2, + kat3457_addinpr2, kat3457_retbits +}; +static const struct drbg_kat kat3457 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3457_t +}; + +static const unsigned char kat3458_entropyin[] = { + 0x99, 0x4b, 0x00, 0x2b, 0x62, 0x77, 0x84, 0x4f, 0x34, 0x95, 0x09, 0x55, + 0xff, 0xb0, 0x88, 0x08, 0xd1, 0x9a, 0xe8, 0xdf, 0x8a, 0x12, 0xef, 0xea, + 0xe9, 0xdb, 0x41, 0x45, 0x6c, 0x24, 0x11, 0x2f, +}; +static const unsigned char kat3458_nonce[] = { + 0x8a, 0x31, 0x21, 0x89, 0xfd, 0x86, 0xa4, 0xea, 0xeb, 0x56, 0x56, 0xaa, + 0x5e, 0xa7, 0xe2, 0x01, +}; +static const unsigned char kat3458_persstr[] = { + 0xe1, 0xe8, 0xa8, 0x6f, 0x3f, 0x23, 0x71, 0x77, 0x0c, 0x92, 0xb0, 0x00, + 0x20, 0x0a, 0xba, 0x29, 0xae, 0x27, 0x52, 0x12, 0x77, 0x3e, 0x4e, 0x8f, + 0x3d, 0x51, 0x2c, 0x90, 0x5a, 0x2c, 0x00, 0x86, +}; +static const unsigned char kat3458_entropyinpr1[] = { + 0x43, 0x50, 0x17, 0x73, 0x46, 0x59, 0xbd, 0xaf, 0x6a, 0x0f, 0xd7, 0xd6, + 0xa3, 0xbd, 0x98, 0xfa, 0x2a, 0xa2, 0x78, 0xf8, 0xca, 0xb8, 0xef, 0xf0, + 0x8c, 0x33, 0x2e, 0xe2, 0xe6, 0xce, 0x80, 0xb3, +}; +static const unsigned char kat3458_addinpr1[] = {0}; +static const unsigned char kat3458_entropyinpr2[] = { + 0x6b, 0x79, 0xac, 0xd4, 0xd3, 0x9b, 0x39, 0xf0, 0x7a, 0x70, 0xe6, 0xfd, + 0xbb, 0xed, 0x8c, 0xe0, 0x91, 0x50, 0x20, 0xa4, 0xd6, 0x7d, 0x90, 0xcd, + 0xc5, 0x43, 0xb1, 0x62, 0xa4, 0x22, 0x73, 0x0c, +}; +static const unsigned char kat3458_addinpr2[] = {0}; +static const unsigned char kat3458_retbits[] = { + 0xd1, 0xfe, 0x64, 0xff, 0xe1, 0x02, 0x10, 0x96, 0x45, 0xd6, 0xdd, 0x39, + 0xed, 0x3b, 0xc1, 0x8c, 0x3d, 0xde, 0x80, 0x87, 0x81, 0xc0, 0x26, 0xa0, + 0x7e, 0x80, 0xd3, 0x74, 0xbd, 0x7b, 0x32, 0xc4, 0xe0, 0xbb, 0x60, 0xb8, + 0x3b, 0x75, 0xa2, 0x5a, 0xef, 0x68, 0x62, 0xb5, 0xba, 0xba, 0x89, 0xd9, + 0xbe, 0xa9, 0xe3, 0x52, 0xb9, 0x67, 0xd1, 0xb7, 0x55, 0x07, 0xd7, 0xe6, + 0x22, 0xce, 0xbe, 0xff, +}; +static const struct drbg_kat_pr_true kat3458_t = { + 7, kat3458_entropyin, kat3458_nonce, kat3458_persstr, + kat3458_entropyinpr1, kat3458_addinpr1, kat3458_entropyinpr2, + kat3458_addinpr2, kat3458_retbits +}; +static const struct drbg_kat kat3458 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3458_t +}; + +static const unsigned char kat3459_entropyin[] = { + 0xa5, 0x65, 0x2f, 0xb8, 0xee, 0x70, 0x24, 0xd1, 0x1b, 0x0a, 0x6e, 0x0a, + 0xe7, 0x02, 0x01, 0x36, 0xd5, 0x99, 0xc4, 0xeb, 0x7d, 0x91, 0x9f, 0x46, + 0xd8, 0x26, 0x7b, 0xdd, 0xff, 0x44, 0x7f, 0x50, +}; +static const unsigned char kat3459_nonce[] = { + 0x80, 0x2c, 0x43, 0x51, 0xc1, 0x82, 0xe2, 0xff, 0xbd, 0x18, 0x7d, 0x6f, + 0x16, 0xc3, 0x22, 0x08, +}; +static const unsigned char kat3459_persstr[] = { + 0x95, 0x11, 0xf2, 0xbe, 0x02, 0x42, 0x0d, 0x38, 0x3b, 0xbd, 0x54, 0x40, + 0xa6, 0x20, 0x63, 0xad, 0xd5, 0x17, 0x32, 0xcd, 0x0b, 0x90, 0x10, 0x4b, + 0x30, 0x02, 0x32, 0x4a, 0x49, 0x75, 0x94, 0xb2, +}; +static const unsigned char kat3459_entropyinpr1[] = { + 0x90, 0x91, 0xa5, 0x0e, 0xc6, 0x3d, 0xf7, 0xa0, 0xf0, 0x39, 0xf4, 0xc7, + 0x90, 0x53, 0x7e, 0x3d, 0x6e, 0x29, 0x69, 0x72, 0x0f, 0xf2, 0x6b, 0xa5, + 0x9c, 0x5e, 0x38, 0x81, 0x13, 0x9f, 0x05, 0xe0, +}; +static const unsigned char kat3459_addinpr1[] = {0}; +static const unsigned char kat3459_entropyinpr2[] = { + 0x77, 0xce, 0x13, 0x56, 0xc5, 0x04, 0x82, 0x32, 0xba, 0x43, 0x91, 0x4e, + 0x51, 0xdc, 0xab, 0x76, 0x97, 0xc8, 0xda, 0x56, 0x4e, 0xa3, 0xef, 0x38, + 0x1f, 0x01, 0x3d, 0x3f, 0x18, 0x93, 0x74, 0x79, +}; +static const unsigned char kat3459_addinpr2[] = {0}; +static const unsigned char kat3459_retbits[] = { + 0x6f, 0x44, 0xb4, 0x57, 0x74, 0x28, 0xa3, 0xf1, 0xe4, 0x19, 0x56, 0xd1, + 0x1a, 0xaa, 0x8b, 0xe8, 0x93, 0xd6, 0xf9, 0x72, 0x78, 0x54, 0xc1, 0x74, + 0xc0, 0x69, 0x50, 0xb6, 0x5b, 0x84, 0x4b, 0xd9, 0x43, 0xd2, 0xd9, 0xf3, + 0x0a, 0x0e, 0xef, 0xb8, 0x6e, 0xe0, 0x6c, 0x08, 0x75, 0xdc, 0x9c, 0x69, + 0xcd, 0xc5, 0x8b, 0x9c, 0xa2, 0xf3, 0x4f, 0x2b, 0x14, 0x95, 0x4b, 0x14, + 0x16, 0xc5, 0x77, 0x6f, +}; +static const struct drbg_kat_pr_true kat3459_t = { + 8, kat3459_entropyin, kat3459_nonce, kat3459_persstr, + kat3459_entropyinpr1, kat3459_addinpr1, kat3459_entropyinpr2, + kat3459_addinpr2, kat3459_retbits +}; +static const struct drbg_kat kat3459 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3459_t +}; + +static const unsigned char kat3460_entropyin[] = { + 0xc1, 0xdf, 0x59, 0x39, 0x02, 0xae, 0xbc, 0x43, 0x3e, 0x69, 0x2c, 0xad, + 0x37, 0xfe, 0x51, 0x18, 0x09, 0xed, 0x03, 0x3d, 0xca, 0xa0, 0x00, 0x88, + 0x1b, 0x74, 0xb5, 0xc1, 0x0e, 0xcd, 0x0f, 0xaa, +}; +static const unsigned char kat3460_nonce[] = { + 0x0d, 0x2c, 0xfd, 0x3b, 0x20, 0x90, 0x33, 0xdf, 0xda, 0x1c, 0xe5, 0x89, + 0xf3, 0xe0, 0x3f, 0x13, +}; +static const unsigned char kat3460_persstr[] = { + 0xe2, 0x53, 0x30, 0xe2, 0x2e, 0x92, 0x40, 0x70, 0xef, 0xef, 0x21, 0xa7, + 0xb9, 0xd4, 0xec, 0x64, 0x9d, 0x11, 0x25, 0xf5, 0x18, 0xc5, 0x63, 0xfb, + 0x8f, 0x8e, 0xff, 0x6e, 0xae, 0xe8, 0xf7, 0xa9, +}; +static const unsigned char kat3460_entropyinpr1[] = { + 0xee, 0x6d, 0x42, 0x87, 0x30, 0xf5, 0xf2, 0x4a, 0x56, 0x99, 0x75, 0x7d, + 0xc0, 0x25, 0x4e, 0x25, 0x98, 0x83, 0xfa, 0x2e, 0x12, 0x1e, 0xb2, 0xb1, + 0x44, 0xf2, 0xd6, 0xf7, 0x47, 0xbe, 0xbf, 0x5b, +}; +static const unsigned char kat3460_addinpr1[] = {0}; +static const unsigned char kat3460_entropyinpr2[] = { + 0x12, 0x24, 0xf0, 0xbc, 0x30, 0x49, 0x0b, 0xf6, 0x4c, 0xb6, 0xef, 0x62, + 0x23, 0x10, 0x99, 0x73, 0x5f, 0xe8, 0x01, 0xe3, 0x27, 0x89, 0x58, 0x4d, + 0x9f, 0x40, 0x3d, 0x9c, 0x9d, 0xa3, 0xa0, 0x54, +}; +static const unsigned char kat3460_addinpr2[] = {0}; +static const unsigned char kat3460_retbits[] = { + 0x24, 0xe6, 0x3c, 0x38, 0xd0, 0xfe, 0x5b, 0xc1, 0xcb, 0x19, 0xb2, 0xa9, + 0x72, 0x14, 0x6e, 0x12, 0xd4, 0xeb, 0x0b, 0x80, 0x46, 0xcb, 0x66, 0xab, + 0x6e, 0xbf, 0x91, 0x04, 0xa5, 0xe8, 0xd4, 0x6f, 0xed, 0x43, 0x43, 0x22, + 0x77, 0xe8, 0xe2, 0xc7, 0x0b, 0x98, 0x08, 0x97, 0xdd, 0x58, 0xda, 0x0f, + 0xc5, 0x18, 0x10, 0x43, 0x1f, 0xc7, 0x55, 0xca, 0x7d, 0x7f, 0x83, 0x92, + 0xf6, 0x17, 0x31, 0x47, +}; +static const struct drbg_kat_pr_true kat3460_t = { + 9, kat3460_entropyin, kat3460_nonce, kat3460_persstr, + kat3460_entropyinpr1, kat3460_addinpr1, kat3460_entropyinpr2, + kat3460_addinpr2, kat3460_retbits +}; +static const struct drbg_kat kat3460 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3460_t +}; + +static const unsigned char kat3461_entropyin[] = { + 0xfa, 0xb2, 0xd1, 0xee, 0xea, 0xb3, 0x8a, 0xf6, 0xba, 0xd6, 0xef, 0x87, + 0xea, 0xe3, 0x7a, 0xf9, 0x14, 0x5a, 0xf4, 0xe8, 0x4a, 0x63, 0x85, 0x56, + 0xf9, 0x8f, 0xdb, 0x28, 0x22, 0x1e, 0x33, 0x4d, +}; +static const unsigned char kat3461_nonce[] = { + 0xfa, 0xd5, 0x72, 0x61, 0x70, 0xc7, 0xf6, 0x49, 0xd9, 0xcd, 0x15, 0x13, + 0x8f, 0xe2, 0xbe, 0x77, +}; +static const unsigned char kat3461_persstr[] = { + 0xc5, 0x17, 0x6e, 0xc4, 0xd6, 0x97, 0xf2, 0xd2, 0x67, 0x00, 0x51, 0x86, + 0xb3, 0xc0, 0x0a, 0xdd, 0xae, 0x1d, 0x09, 0xe9, 0x11, 0x41, 0x45, 0xec, + 0xb7, 0x2a, 0x78, 0xa1, 0xb0, 0x85, 0x37, 0x3f, +}; +static const unsigned char kat3461_entropyinpr1[] = { + 0xd8, 0x88, 0x42, 0x8d, 0x58, 0x1e, 0x14, 0x6a, 0xf6, 0xcd, 0x0a, 0xff, + 0xf5, 0xc9, 0xfa, 0x5d, 0x98, 0x23, 0xe5, 0xf8, 0x00, 0x42, 0x9e, 0x68, + 0x69, 0x7c, 0xdb, 0xb7, 0x4b, 0x7b, 0x8b, 0xab, +}; +static const unsigned char kat3461_addinpr1[] = {0}; +static const unsigned char kat3461_entropyinpr2[] = { + 0xc5, 0xee, 0x39, 0x6b, 0xc4, 0x76, 0xa7, 0x5a, 0x2e, 0x68, 0x50, 0xe4, + 0xae, 0xad, 0x69, 0xbf, 0x99, 0xa3, 0xb3, 0x75, 0x26, 0x69, 0x36, 0xaa, + 0xe0, 0xf3, 0x92, 0x42, 0x03, 0xa4, 0x97, 0xb3, +}; +static const unsigned char kat3461_addinpr2[] = {0}; +static const unsigned char kat3461_retbits[] = { + 0x54, 0xd0, 0x1c, 0x4c, 0x0e, 0x3b, 0xd9, 0xb0, 0xb3, 0x51, 0x3a, 0x0c, + 0x6e, 0x3e, 0x73, 0x2e, 0xed, 0xfd, 0x31, 0x36, 0xe0, 0xef, 0x7f, 0x23, + 0xa0, 0x88, 0x4b, 0x3f, 0x5d, 0x8d, 0x22, 0x53, 0xbd, 0x6b, 0x95, 0xb0, + 0xfd, 0x80, 0x6e, 0xcf, 0x3e, 0x43, 0x28, 0x06, 0xac, 0x14, 0x26, 0xe6, + 0x70, 0xf7, 0x7d, 0x16, 0xed, 0xa2, 0x85, 0x8e, 0xf6, 0xe9, 0xcf, 0x77, + 0x53, 0xaf, 0x06, 0xfd, +}; +static const struct drbg_kat_pr_true kat3461_t = { + 10, kat3461_entropyin, kat3461_nonce, kat3461_persstr, + kat3461_entropyinpr1, kat3461_addinpr1, kat3461_entropyinpr2, + kat3461_addinpr2, kat3461_retbits +}; +static const struct drbg_kat kat3461 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3461_t +}; + +static const unsigned char kat3462_entropyin[] = { + 0xe9, 0x68, 0xe9, 0xcd, 0x63, 0x62, 0xef, 0x4e, 0x7d, 0x9d, 0x40, 0x19, + 0xf3, 0x54, 0xbb, 0x89, 0x1d, 0x6c, 0x6d, 0xca, 0xad, 0x10, 0x64, 0xca, + 0xaa, 0x73, 0x37, 0xb8, 0x65, 0x1c, 0x6d, 0xc6, +}; +static const unsigned char kat3462_nonce[] = { + 0x67, 0x77, 0xf1, 0xe2, 0x18, 0xa1, 0x0f, 0x02, 0xef, 0x40, 0x75, 0x70, + 0xe2, 0x9f, 0xb1, 0xa8, +}; +static const unsigned char kat3462_persstr[] = { + 0xad, 0x4d, 0x1e, 0xe5, 0x0e, 0x36, 0x72, 0xb3, 0xad, 0xf8, 0xcb, 0x74, + 0xed, 0x8a, 0x2f, 0x1c, 0x58, 0xe8, 0xa4, 0x22, 0x92, 0x90, 0x76, 0x27, + 0x62, 0xe5, 0x88, 0xe7, 0xe3, 0x52, 0xe5, 0x8f, +}; +static const unsigned char kat3462_entropyinpr1[] = { + 0xad, 0xd3, 0x31, 0x92, 0x49, 0xbf, 0x7a, 0xf3, 0x67, 0x42, 0x6f, 0xb2, + 0xdd, 0x14, 0x4d, 0x4d, 0x05, 0xd0, 0x88, 0xdb, 0x55, 0xc0, 0x67, 0x28, + 0x64, 0x50, 0xdd, 0xa2, 0x2a, 0x39, 0x55, 0xf9, +}; +static const unsigned char kat3462_addinpr1[] = {0}; +static const unsigned char kat3462_entropyinpr2[] = { + 0x70, 0x2c, 0x69, 0xeb, 0x06, 0x05, 0xe4, 0x74, 0x82, 0x83, 0x3a, 0xff, + 0x3c, 0xd9, 0xe1, 0x4e, 0x49, 0x38, 0xba, 0xcd, 0xd3, 0x19, 0x99, 0x94, + 0x33, 0x7e, 0x59, 0x44, 0xf0, 0xdd, 0xe5, 0xbd, +}; +static const unsigned char kat3462_addinpr2[] = {0}; +static const unsigned char kat3462_retbits[] = { + 0xb7, 0x09, 0x89, 0x90, 0x63, 0x4f, 0x25, 0x2b, 0x6c, 0xf9, 0x73, 0x86, + 0x68, 0xf3, 0xab, 0xb4, 0x37, 0x8b, 0xa3, 0x77, 0x14, 0x3c, 0xcc, 0x28, + 0x69, 0x94, 0x64, 0x50, 0x8d, 0x36, 0xdb, 0xe5, 0x5e, 0xe2, 0xe7, 0xa9, + 0x20, 0xca, 0xca, 0x25, 0x5b, 0x8b, 0xcc, 0xba, 0x08, 0xb2, 0x45, 0x4b, + 0x67, 0xd4, 0x74, 0xaf, 0x96, 0x21, 0x0e, 0x90, 0x68, 0x21, 0x11, 0xc5, + 0x95, 0xe7, 0xfc, 0x85, +}; +static const struct drbg_kat_pr_true kat3462_t = { + 11, kat3462_entropyin, kat3462_nonce, kat3462_persstr, + kat3462_entropyinpr1, kat3462_addinpr1, kat3462_entropyinpr2, + kat3462_addinpr2, kat3462_retbits +}; +static const struct drbg_kat kat3462 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3462_t +}; + +static const unsigned char kat3463_entropyin[] = { + 0xe9, 0x10, 0xec, 0x33, 0x26, 0xf5, 0x07, 0x59, 0xc0, 0x1a, 0x1b, 0xa3, + 0x48, 0xda, 0xa0, 0xe1, 0x6e, 0xcc, 0x02, 0x17, 0xf7, 0x72, 0x06, 0xeb, + 0x64, 0x0c, 0x4a, 0x56, 0x1a, 0x9b, 0xc8, 0x7d, +}; +static const unsigned char kat3463_nonce[] = { + 0xfb, 0x51, 0x17, 0x9a, 0x22, 0x4e, 0xf3, 0x28, 0x88, 0x01, 0xfb, 0x0e, + 0xdc, 0x12, 0xe3, 0xa3, +}; +static const unsigned char kat3463_persstr[] = { + 0xd5, 0x61, 0x3a, 0x22, 0x24, 0x98, 0xac, 0x95, 0x67, 0xba, 0xb5, 0xb4, + 0x6f, 0xaf, 0x5c, 0x9b, 0xe2, 0xfa, 0xf8, 0xed, 0xea, 0xb3, 0x3f, 0x28, + 0xca, 0x4e, 0xbf, 0x67, 0x61, 0x49, 0x3c, 0x2c, +}; +static const unsigned char kat3463_entropyinpr1[] = { + 0xc6, 0x33, 0xe0, 0x93, 0xea, 0x74, 0xb6, 0x5d, 0x9f, 0xdd, 0xb6, 0x5f, + 0x74, 0x6c, 0x2f, 0x12, 0x29, 0x2e, 0x86, 0x46, 0x4f, 0x2d, 0x71, 0x93, + 0x92, 0x86, 0x83, 0x92, 0x8a, 0xa4, 0x8f, 0xb3, +}; +static const unsigned char kat3463_addinpr1[] = {0}; +static const unsigned char kat3463_entropyinpr2[] = { + 0x35, 0x60, 0xf0, 0x9a, 0xba, 0x4e, 0xec, 0x13, 0x32, 0xef, 0xd4, 0xab, + 0x02, 0x1d, 0x5a, 0xb8, 0x8b, 0x95, 0x1e, 0x77, 0x15, 0xe5, 0x3f, 0x15, + 0x12, 0x73, 0xaa, 0xbd, 0x5a, 0xc8, 0xc1, 0x92, +}; +static const unsigned char kat3463_addinpr2[] = {0}; +static const unsigned char kat3463_retbits[] = { + 0xbc, 0xc0, 0x05, 0xe9, 0x8a, 0x0e, 0x1b, 0x8d, 0x81, 0x1f, 0x81, 0x70, + 0x33, 0xe5, 0xa2, 0xbb, 0xad, 0x3d, 0x41, 0x8d, 0x9a, 0xa4, 0xec, 0x84, + 0xd4, 0x9b, 0xd3, 0x15, 0xb1, 0xf8, 0x92, 0x1f, 0xad, 0x9f, 0xe8, 0xb0, + 0x74, 0x22, 0xe6, 0xdb, 0x38, 0x29, 0xb8, 0x4e, 0xd0, 0x80, 0x47, 0x5a, + 0x98, 0x4b, 0xc5, 0xc2, 0x53, 0x54, 0x3d, 0x8d, 0xab, 0xbb, 0x4a, 0xa7, + 0x3f, 0xf3, 0x7d, 0x36, +}; +static const struct drbg_kat_pr_true kat3463_t = { + 12, kat3463_entropyin, kat3463_nonce, kat3463_persstr, + kat3463_entropyinpr1, kat3463_addinpr1, kat3463_entropyinpr2, + kat3463_addinpr2, kat3463_retbits +}; +static const struct drbg_kat kat3463 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3463_t +}; + +static const unsigned char kat3464_entropyin[] = { + 0xa2, 0x0b, 0x75, 0xf7, 0x48, 0x40, 0xb2, 0xa2, 0xfa, 0xa0, 0x8d, 0x54, + 0x2e, 0x63, 0xb7, 0xab, 0x0d, 0x82, 0x0d, 0x88, 0xed, 0xd8, 0x56, 0x8c, + 0xf5, 0xe6, 0x15, 0xa9, 0xa4, 0x33, 0xe9, 0xe0, +}; +static const unsigned char kat3464_nonce[] = { + 0xf0, 0x54, 0xfa, 0x2b, 0x0c, 0x7b, 0xa9, 0x1f, 0x42, 0xea, 0xa2, 0x87, + 0x60, 0x6b, 0x5a, 0x3d, +}; +static const unsigned char kat3464_persstr[] = { + 0x30, 0x42, 0x08, 0x0b, 0x68, 0x46, 0x43, 0x08, 0x74, 0x70, 0x7b, 0xf7, + 0xbd, 0x64, 0x63, 0xcf, 0x2d, 0x4c, 0x89, 0x73, 0xa9, 0x8d, 0xac, 0xf6, + 0xec, 0x44, 0x55, 0xab, 0x4c, 0x51, 0xcc, 0xd2, +}; +static const unsigned char kat3464_entropyinpr1[] = { + 0x38, 0x69, 0x4e, 0x2e, 0x4b, 0x50, 0xf3, 0x4f, 0xe6, 0x25, 0x74, 0x08, + 0xc9, 0xc9, 0x1c, 0xa2, 0xe6, 0x3d, 0xa4, 0x5a, 0x31, 0xb7, 0x56, 0x1a, + 0x2b, 0x9c, 0x2d, 0xff, 0xc9, 0x43, 0x00, 0x8d, +}; +static const unsigned char kat3464_addinpr1[] = {0}; +static const unsigned char kat3464_entropyinpr2[] = { + 0xc6, 0xea, 0xfc, 0xe7, 0x76, 0x61, 0x5b, 0x6a, 0xf4, 0x17, 0x80, 0x72, + 0x64, 0x2c, 0xd1, 0xa4, 0x83, 0x73, 0x84, 0x5e, 0x40, 0x68, 0x51, 0xf3, + 0x52, 0x9e, 0xa9, 0xba, 0x6b, 0xc1, 0x4f, 0x8f, +}; +static const unsigned char kat3464_addinpr2[] = {0}; +static const unsigned char kat3464_retbits[] = { + 0xb9, 0xc9, 0x4f, 0x3a, 0x98, 0xa2, 0xf0, 0xa0, 0x91, 0xb5, 0x5c, 0x9d, + 0xab, 0x9b, 0xe6, 0x60, 0x5d, 0x64, 0xf9, 0x40, 0xcd, 0x1d, 0x8b, 0x65, + 0x5e, 0xe3, 0x12, 0x9e, 0xba, 0xde, 0xa3, 0x47, 0x30, 0xff, 0x43, 0x91, + 0x77, 0xf7, 0x0f, 0x66, 0xb2, 0xab, 0x29, 0xd9, 0x5c, 0xf6, 0x31, 0x34, + 0xd5, 0x5c, 0xd5, 0x37, 0x0b, 0xcd, 0x0d, 0x74, 0xb3, 0x5f, 0xc3, 0x8d, + 0x36, 0x5a, 0x02, 0x7e, +}; +static const struct drbg_kat_pr_true kat3464_t = { + 13, kat3464_entropyin, kat3464_nonce, kat3464_persstr, + kat3464_entropyinpr1, kat3464_addinpr1, kat3464_entropyinpr2, + kat3464_addinpr2, kat3464_retbits +}; +static const struct drbg_kat kat3464 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3464_t +}; + +static const unsigned char kat3465_entropyin[] = { + 0xe3, 0x96, 0x68, 0x84, 0xa8, 0x8b, 0x31, 0x15, 0x69, 0xc5, 0xcf, 0x3d, + 0x04, 0xbe, 0xf0, 0xaa, 0x65, 0xe6, 0x11, 0x7f, 0xcd, 0x05, 0x16, 0xf7, + 0x0b, 0x8f, 0xd1, 0x09, 0x24, 0x33, 0x69, 0x85, +}; +static const unsigned char kat3465_nonce[] = { + 0x47, 0xde, 0x17, 0x72, 0xdd, 0xba, 0xd0, 0x70, 0xb3, 0xe3, 0x58, 0xfe, + 0x49, 0xbf, 0xcb, 0x3f, +}; +static const unsigned char kat3465_persstr[] = { + 0xe8, 0xd8, 0x99, 0x60, 0xc0, 0x29, 0xe7, 0x4d, 0x18, 0x70, 0x11, 0xf5, + 0x60, 0xec, 0x8a, 0x97, 0x18, 0xea, 0xbb, 0xde, 0x76, 0x26, 0xcd, 0x31, + 0x3f, 0xaf, 0xac, 0xc1, 0x9f, 0x37, 0xa2, 0xfd, +}; +static const unsigned char kat3465_entropyinpr1[] = { + 0x57, 0x30, 0xf7, 0x5d, 0x4d, 0x58, 0xaf, 0x98, 0xca, 0x3c, 0x5a, 0x47, + 0x4a, 0xad, 0xf0, 0x68, 0x36, 0x90, 0xb5, 0x5b, 0x71, 0xbe, 0x5e, 0x6b, + 0x75, 0x4b, 0xf6, 0x0e, 0xc6, 0x80, 0x6a, 0x0b, +}; +static const unsigned char kat3465_addinpr1[] = {0}; +static const unsigned char kat3465_entropyinpr2[] = { + 0xe2, 0x48, 0x99, 0x50, 0xfb, 0xfd, 0xe7, 0x77, 0x56, 0x4c, 0x2c, 0xc8, + 0xd7, 0xf9, 0x7c, 0xcc, 0x51, 0x90, 0x6c, 0x5d, 0x1d, 0x39, 0xa5, 0xe4, + 0xa6, 0xbd, 0x06, 0x12, 0x56, 0x69, 0xc9, 0xb4, +}; +static const unsigned char kat3465_addinpr2[] = {0}; +static const unsigned char kat3465_retbits[] = { + 0x82, 0xf7, 0x8f, 0x8c, 0x9a, 0x36, 0x95, 0x90, 0xaa, 0x2a, 0x61, 0x20, + 0xb2, 0x0b, 0x25, 0x6e, 0xbb, 0x42, 0x33, 0xf3, 0x4b, 0x7f, 0x08, 0x81, + 0xaa, 0x7b, 0xa6, 0x9a, 0xda, 0x8f, 0xcb, 0xf4, 0xc4, 0x73, 0xfb, 0xf2, + 0x4d, 0x80, 0x1f, 0xde, 0xb3, 0x31, 0x54, 0xc0, 0xec, 0xcc, 0x65, 0x0a, + 0x0a, 0x41, 0x1d, 0x2b, 0xa2, 0xfb, 0x32, 0xe8, 0x34, 0xe3, 0x51, 0x8f, + 0x43, 0x20, 0xa3, 0x07, +}; +static const struct drbg_kat_pr_true kat3465_t = { + 14, kat3465_entropyin, kat3465_nonce, kat3465_persstr, + kat3465_entropyinpr1, kat3465_addinpr1, kat3465_entropyinpr2, + kat3465_addinpr2, kat3465_retbits +}; +static const struct drbg_kat kat3465 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3465_t +}; + +static const unsigned char kat3466_entropyin[] = { + 0x12, 0xb0, 0x08, 0xa9, 0xfb, 0xac, 0x31, 0xaa, 0xa8, 0xd0, 0x46, 0xb1, + 0x50, 0xdf, 0x91, 0x18, 0xa9, 0x5b, 0x00, 0x0b, 0x69, 0xca, 0xc2, 0x1d, + 0xa4, 0xda, 0x49, 0x9d, 0x1b, 0xd2, 0xff, 0xb7, +}; +static const unsigned char kat3466_nonce[] = { + 0x82, 0xd9, 0xb3, 0x97, 0x9a, 0x99, 0xde, 0x7b, 0xc1, 0x7e, 0x38, 0x79, + 0x03, 0x87, 0x94, 0xda, +}; +static const unsigned char kat3466_persstr[] = { + 0xfc, 0xbf, 0xbd, 0x88, 0xc4, 0xb8, 0x65, 0x13, 0x88, 0xe5, 0xc5, 0x86, + 0xcf, 0x5a, 0xb8, 0x62, 0x0d, 0x54, 0x7f, 0x43, 0x6b, 0x97, 0xc9, 0x93, + 0x46, 0x0f, 0xa5, 0xac, 0x99, 0x16, 0x37, 0xf1, +}; +static const unsigned char kat3466_entropyinpr1[] = { + 0x88, 0xac, 0xf8, 0x81, 0x66, 0x5c, 0x99, 0x45, 0x95, 0xee, 0x65, 0x39, + 0xc5, 0x66, 0x1f, 0x82, 0x0e, 0xef, 0xba, 0xf3, 0x07, 0xe4, 0x8c, 0x58, + 0x52, 0x66, 0x05, 0x52, 0xb7, 0x9d, 0x41, 0x9c, +}; +static const unsigned char kat3466_addinpr1[] = { + 0xe5, 0x6a, 0x9a, 0x3b, 0x45, 0x22, 0x88, 0x4b, 0xc9, 0xb6, 0x49, 0x76, + 0x83, 0x73, 0x21, 0x63, 0xe3, 0x14, 0x1c, 0xf0, 0xf9, 0xd4, 0xa0, 0x8d, + 0x86, 0x4f, 0xbd, 0x72, 0xdc, 0x36, 0x11, 0x6f, +}; +static const unsigned char kat3466_entropyinpr2[] = { + 0x8a, 0x47, 0x66, 0x5e, 0x48, 0x50, 0xd4, 0x89, 0xc4, 0x0b, 0xac, 0x6e, + 0x59, 0x41, 0xd2, 0x16, 0xf1, 0x80, 0x1f, 0x67, 0xeb, 0x3a, 0xbd, 0x59, + 0xa6, 0x23, 0xcc, 0xbd, 0x5f, 0x15, 0x12, 0x46, +}; +static const unsigned char kat3466_addinpr2[] = { + 0x89, 0x67, 0x59, 0x14, 0x27, 0xfb, 0xa1, 0x74, 0xe1, 0x8a, 0x2c, 0xff, + 0xfb, 0x2b, 0xe1, 0xf4, 0x89, 0xc8, 0x5a, 0x13, 0x09, 0x1b, 0xdf, 0xba, + 0x81, 0xf0, 0x82, 0xdd, 0xbe, 0xc3, 0x68, 0x97, +}; +static const unsigned char kat3466_retbits[] = { + 0x3e, 0xa6, 0xb9, 0x01, 0x38, 0xe7, 0x65, 0x57, 0x2f, 0x59, 0xb3, 0x35, + 0x42, 0x79, 0x0d, 0x4c, 0xd4, 0x5c, 0x68, 0xa4, 0xf7, 0xe3, 0x92, 0xcf, + 0xb3, 0xf4, 0xfa, 0xef, 0xd4, 0xce, 0x0d, 0x32, 0x04, 0x48, 0x02, 0x84, + 0x19, 0x0b, 0x35, 0xd9, 0x2f, 0x96, 0xc0, 0xb0, 0x35, 0x81, 0xbf, 0xc1, + 0x07, 0x9e, 0x7b, 0xa9, 0x76, 0x92, 0xbf, 0x9c, 0x7e, 0x2e, 0x0e, 0x86, + 0x3b, 0xee, 0x77, 0x3e, +}; +static const struct drbg_kat_pr_true kat3466_t = { + 0, kat3466_entropyin, kat3466_nonce, kat3466_persstr, + kat3466_entropyinpr1, kat3466_addinpr1, kat3466_entropyinpr2, + kat3466_addinpr2, kat3466_retbits +}; +static const struct drbg_kat kat3466 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3466_t +}; + +static const unsigned char kat3467_entropyin[] = { + 0x16, 0x06, 0x27, 0xa0, 0xaf, 0xc7, 0xd5, 0xfb, 0x08, 0xe3, 0x6d, 0x38, + 0xb4, 0xcf, 0x88, 0xfa, 0x81, 0xf3, 0x70, 0x4b, 0x10, 0xf7, 0x7d, 0xea, + 0x98, 0xe8, 0x07, 0xb3, 0x9a, 0x07, 0x7c, 0x07, +}; +static const unsigned char kat3467_nonce[] = { + 0x64, 0x98, 0xb5, 0x1a, 0x48, 0xc8, 0x50, 0x60, 0xc2, 0x06, 0x9e, 0x61, + 0x3e, 0x64, 0x78, 0x57, +}; +static const unsigned char kat3467_persstr[] = { + 0xf6, 0x76, 0x09, 0xed, 0x7d, 0x74, 0xe8, 0xc2, 0x2f, 0xe1, 0x8f, 0x74, + 0xd4, 0x49, 0xcb, 0x8d, 0x24, 0xd1, 0xba, 0xd7, 0x30, 0x64, 0xb7, 0xc5, + 0x14, 0x84, 0x7d, 0x9a, 0xd6, 0xd6, 0xbc, 0x01, +}; +static const unsigned char kat3467_entropyinpr1[] = { + 0x0a, 0x42, 0x3c, 0xde, 0x16, 0x4b, 0x9a, 0x4f, 0x8c, 0xf8, 0x56, 0x86, + 0x62, 0xc5, 0x53, 0x50, 0x43, 0x46, 0xf0, 0x1c, 0xd5, 0x6f, 0x36, 0x60, + 0xfd, 0x7f, 0xbc, 0x64, 0xa7, 0x3e, 0x05, 0xd7, +}; +static const unsigned char kat3467_addinpr1[] = { + 0x1f, 0x42, 0x0b, 0xc5, 0xba, 0xa3, 0xea, 0x36, 0xb7, 0xb8, 0x28, 0x33, + 0x3f, 0x6e, 0x0b, 0x95, 0x53, 0x12, 0x4d, 0x49, 0xc4, 0x51, 0x24, 0x39, + 0x84, 0x00, 0x22, 0xba, 0x89, 0x43, 0x58, 0xae, +}; +static const unsigned char kat3467_entropyinpr2[] = { + 0xba, 0xed, 0x1a, 0x2a, 0x85, 0xa3, 0x45, 0x1e, 0x50, 0x73, 0xde, 0x03, + 0xc9, 0x98, 0x58, 0xc7, 0xb5, 0x26, 0x24, 0xd6, 0x99, 0xaf, 0x35, 0xea, + 0x80, 0xdd, 0x74, 0xef, 0x93, 0x5a, 0x6b, 0xa3, +}; +static const unsigned char kat3467_addinpr2[] = { + 0xcb, 0xbf, 0xda, 0xd4, 0x63, 0x5c, 0xb5, 0x33, 0x40, 0xa2, 0x75, 0x00, + 0x8c, 0xa8, 0xaf, 0x24, 0xd1, 0x98, 0x2d, 0x59, 0x0a, 0x65, 0x47, 0x4f, + 0xf2, 0xbc, 0xee, 0xd8, 0xc8, 0xd1, 0x65, 0xe1, +}; +static const unsigned char kat3467_retbits[] = { + 0xa2, 0x20, 0xb6, 0xda, 0xf3, 0xb6, 0xc9, 0xc2, 0x41, 0x57, 0x75, 0xd5, + 0x6b, 0xbe, 0x64, 0x77, 0xda, 0x2c, 0x79, 0xd0, 0xbf, 0xd0, 0x4e, 0x2c, + 0x89, 0xc7, 0xe5, 0xe3, 0xe9, 0x00, 0xfa, 0x3a, 0xe4, 0x38, 0xb5, 0x78, + 0x0d, 0x8d, 0xda, 0x95, 0xf7, 0x22, 0xf9, 0xcf, 0xbf, 0x5f, 0x6e, 0x0a, + 0x68, 0xd4, 0xfe, 0xa7, 0x07, 0x5d, 0x11, 0xda, 0x55, 0x13, 0x3e, 0x35, + 0x15, 0x6b, 0xc9, 0x4f, +}; +static const struct drbg_kat_pr_true kat3467_t = { + 1, kat3467_entropyin, kat3467_nonce, kat3467_persstr, + kat3467_entropyinpr1, kat3467_addinpr1, kat3467_entropyinpr2, + kat3467_addinpr2, kat3467_retbits +}; +static const struct drbg_kat kat3467 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3467_t +}; + +static const unsigned char kat3468_entropyin[] = { + 0x01, 0x37, 0xcd, 0x0f, 0xcd, 0x80, 0xca, 0xba, 0x70, 0x96, 0x18, 0x58, + 0xc5, 0x6d, 0xa4, 0x37, 0xa5, 0xc6, 0xe3, 0xf1, 0x37, 0x9b, 0xa6, 0x3b, + 0x76, 0xf8, 0x61, 0x84, 0xbb, 0xbc, 0x3c, 0x5b, +}; +static const unsigned char kat3468_nonce[] = { + 0x6c, 0x92, 0x65, 0xa3, 0xfa, 0x8d, 0xa4, 0x2f, 0x2d, 0xd6, 0x33, 0x74, + 0xdd, 0x3b, 0xf4, 0x2a, +}; +static const unsigned char kat3468_persstr[] = { + 0xe2, 0x5c, 0x93, 0x5a, 0x97, 0x06, 0xd4, 0x16, 0xd8, 0x5f, 0xe0, 0x23, + 0x66, 0xdf, 0x5c, 0x7d, 0x8a, 0xf7, 0x7b, 0xc4, 0xf7, 0xdd, 0xa9, 0x7b, + 0x73, 0x9e, 0xe1, 0x68, 0xde, 0xdc, 0x51, 0x8a, +}; +static const unsigned char kat3468_entropyinpr1[] = { + 0xa6, 0xbe, 0x42, 0x6a, 0x2b, 0x22, 0x83, 0x40, 0xfd, 0x4f, 0xb1, 0xd5, + 0x7b, 0x22, 0x8a, 0x60, 0x0d, 0xeb, 0x8d, 0x82, 0xbf, 0xe3, 0x17, 0x56, + 0xae, 0x92, 0x62, 0xe9, 0xe9, 0x9a, 0xaa, 0x73, +}; +static const unsigned char kat3468_addinpr1[] = { + 0xd1, 0x41, 0x69, 0x59, 0x3c, 0xe1, 0xb3, 0x7c, 0x91, 0x59, 0x6d, 0x02, + 0x7b, 0x55, 0xe0, 0xe9, 0xc5, 0xa6, 0xf6, 0x66, 0x7b, 0xf6, 0x2b, 0x42, + 0xab, 0x4a, 0xc2, 0x46, 0x80, 0xb1, 0xea, 0xb4, +}; +static const unsigned char kat3468_entropyinpr2[] = { + 0x86, 0xf5, 0x2b, 0x61, 0x47, 0x58, 0x7e, 0x6f, 0xc3, 0x8c, 0x42, 0xd5, + 0xfa, 0xf7, 0x61, 0xeb, 0x65, 0x09, 0xeb, 0xb1, 0x07, 0x17, 0x06, 0xae, + 0x0d, 0x08, 0x88, 0x82, 0xc9, 0x51, 0x89, 0x76, +}; +static const unsigned char kat3468_addinpr2[] = { + 0x03, 0x11, 0xb0, 0xad, 0x7c, 0xc7, 0x0d, 0x78, 0x45, 0xee, 0xbe, 0xed, + 0x33, 0xfe, 0x89, 0x24, 0x3f, 0x61, 0x76, 0xed, 0x88, 0xe7, 0xe9, 0xcb, + 0x7b, 0x4b, 0xd9, 0x27, 0x65, 0x41, 0x9b, 0x4c, +}; +static const unsigned char kat3468_retbits[] = { + 0x79, 0x96, 0xf6, 0x83, 0x88, 0xb1, 0xc3, 0x17, 0x4a, 0xc3, 0x33, 0xbe, + 0xa7, 0xfe, 0x19, 0xb1, 0x5a, 0xe2, 0x10, 0x01, 0x55, 0x4f, 0x0e, 0x1c, + 0x17, 0x08, 0x4c, 0x1a, 0x29, 0x6b, 0x46, 0x13, 0xf3, 0x9d, 0x94, 0xa9, + 0x3b, 0xdf, 0xa7, 0x06, 0xc7, 0x76, 0xb7, 0x93, 0x41, 0x54, 0x91, 0xf5, + 0x21, 0xf9, 0x22, 0x9c, 0x87, 0x97, 0xaa, 0x29, 0x64, 0x68, 0x18, 0xab, + 0x43, 0x67, 0xd3, 0x2b, +}; +static const struct drbg_kat_pr_true kat3468_t = { + 2, kat3468_entropyin, kat3468_nonce, kat3468_persstr, + kat3468_entropyinpr1, kat3468_addinpr1, kat3468_entropyinpr2, + kat3468_addinpr2, kat3468_retbits +}; +static const struct drbg_kat kat3468 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3468_t +}; + +static const unsigned char kat3469_entropyin[] = { + 0xcc, 0x0a, 0xd2, 0xcb, 0x3a, 0x15, 0x8e, 0xb3, 0x77, 0x3d, 0x46, 0x48, + 0x64, 0x53, 0xbf, 0xe6, 0xb9, 0x24, 0xa1, 0xbe, 0x7e, 0x24, 0x69, 0xb5, + 0x86, 0xa8, 0x23, 0x2c, 0xe1, 0x06, 0x5e, 0xf2, +}; +static const unsigned char kat3469_nonce[] = { + 0x53, 0xdc, 0x3e, 0x49, 0x4c, 0x17, 0xdc, 0x64, 0xdb, 0x46, 0x4d, 0x28, + 0xc0, 0x0b, 0x00, 0x50, +}; +static const unsigned char kat3469_persstr[] = { + 0x8b, 0x63, 0x08, 0x2f, 0x7c, 0x02, 0xcb, 0x5b, 0x77, 0x19, 0xdf, 0x24, + 0xc3, 0x71, 0x93, 0x8c, 0xac, 0x7f, 0x4b, 0xda, 0x4b, 0xcc, 0xfe, 0x89, + 0x3f, 0xbf, 0xe5, 0xa0, 0x2f, 0xf3, 0xfe, 0xfd, +}; +static const unsigned char kat3469_entropyinpr1[] = { + 0xf5, 0xc0, 0x06, 0xd6, 0x06, 0xe6, 0xad, 0xa6, 0xd0, 0xcc, 0x9d, 0xa0, + 0x1a, 0x6d, 0x13, 0x32, 0x4b, 0xf5, 0x6b, 0x86, 0x19, 0x45, 0x01, 0x1f, + 0x9d, 0x3e, 0xd9, 0x1b, 0x17, 0x1a, 0xaa, 0xe1, +}; +static const unsigned char kat3469_addinpr1[] = { + 0x0e, 0x75, 0x93, 0x8c, 0x7d, 0x35, 0x04, 0x08, 0xa1, 0xcc, 0x05, 0x34, + 0x9d, 0xb5, 0x95, 0x89, 0x17, 0xd0, 0x11, 0x41, 0xb8, 0x32, 0x86, 0x6a, + 0xa3, 0x41, 0x68, 0xc4, 0x81, 0xd8, 0x7e, 0x09, +}; +static const unsigned char kat3469_entropyinpr2[] = { + 0x84, 0xf7, 0x9d, 0x37, 0x33, 0x3b, 0x86, 0xad, 0xbf, 0xb1, 0x31, 0x16, + 0xf6, 0xa6, 0xc4, 0xb1, 0x02, 0xcc, 0x82, 0x9a, 0x67, 0xd2, 0x82, 0x9f, + 0x5c, 0x57, 0x7a, 0xfc, 0x84, 0x50, 0x46, 0xd5, +}; +static const unsigned char kat3469_addinpr2[] = { + 0xd5, 0xe7, 0x1f, 0x16, 0x49, 0x2b, 0x62, 0x63, 0xa0, 0x5c, 0x89, 0x23, + 0xc7, 0x26, 0x20, 0x3f, 0x11, 0xc9, 0xca, 0xb8, 0x8d, 0x7a, 0x94, 0x91, + 0x87, 0x45, 0xaf, 0xbb, 0x18, 0x27, 0xa3, 0x8f, +}; +static const unsigned char kat3469_retbits[] = { + 0x98, 0x49, 0x3c, 0x84, 0x38, 0xd6, 0x82, 0x83, 0x53, 0x03, 0x15, 0x62, + 0x99, 0xef, 0x75, 0x15, 0x45, 0xe2, 0xdf, 0x6b, 0x60, 0xed, 0x67, 0x5a, + 0xee, 0x31, 0xe0, 0xf8, 0x98, 0x2b, 0x9a, 0xdd, 0x88, 0x52, 0x54, 0xb0, + 0xc7, 0x1d, 0x12, 0xb1, 0xc1, 0x1e, 0x78, 0x6a, 0x5c, 0xd7, 0x03, 0xfb, + 0xf5, 0xf7, 0x54, 0x5f, 0xba, 0xa5, 0xd3, 0xfe, 0x49, 0x9e, 0x9d, 0x95, + 0xd9, 0x33, 0xde, 0xa8, +}; +static const struct drbg_kat_pr_true kat3469_t = { + 3, kat3469_entropyin, kat3469_nonce, kat3469_persstr, + kat3469_entropyinpr1, kat3469_addinpr1, kat3469_entropyinpr2, + kat3469_addinpr2, kat3469_retbits +}; +static const struct drbg_kat kat3469 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3469_t +}; + +static const unsigned char kat3470_entropyin[] = { + 0x75, 0x73, 0x62, 0x51, 0x65, 0x32, 0x35, 0xe3, 0xfb, 0x1b, 0x89, 0x11, + 0x64, 0x46, 0xdc, 0x80, 0xdf, 0xb2, 0x49, 0x2b, 0x38, 0x20, 0xb2, 0xb0, + 0x3d, 0x50, 0x35, 0x33, 0x1c, 0x8c, 0xd6, 0x54, +}; +static const unsigned char kat3470_nonce[] = { + 0x4f, 0x20, 0x31, 0x76, 0x61, 0x2c, 0xcd, 0x27, 0x7a, 0x2c, 0x47, 0x64, + 0x7a, 0xe4, 0x74, 0x12, +}; +static const unsigned char kat3470_persstr[] = { + 0x87, 0x0c, 0xba, 0xaa, 0x61, 0xac, 0x66, 0xf6, 0x48, 0x9a, 0xe5, 0x46, + 0x4a, 0x15, 0xa3, 0x38, 0x4f, 0xb5, 0xf9, 0x71, 0xca, 0x2b, 0x8b, 0xda, + 0x92, 0xe3, 0x06, 0x6f, 0x4c, 0xa7, 0xf5, 0xdc, +}; +static const unsigned char kat3470_entropyinpr1[] = { + 0x2e, 0xa2, 0xd9, 0xe9, 0x55, 0xf3, 0x09, 0x39, 0x68, 0x49, 0x24, 0x96, + 0xbf, 0x85, 0x9e, 0xf7, 0xec, 0xbb, 0x60, 0x4f, 0xf2, 0x43, 0x02, 0x0a, + 0x98, 0xc0, 0xa9, 0xb7, 0x9d, 0xa4, 0x5a, 0x18, +}; +static const unsigned char kat3470_addinpr1[] = { + 0xac, 0xa6, 0xc8, 0xa1, 0xa9, 0xcd, 0x22, 0x93, 0x2a, 0x41, 0x30, 0x30, + 0xa3, 0x51, 0x96, 0xa1, 0xd8, 0x37, 0x6a, 0x31, 0x82, 0x14, 0x72, 0xcf, + 0x83, 0x4a, 0x07, 0x20, 0xd8, 0x55, 0x40, 0x42, +}; +static const unsigned char kat3470_entropyinpr2[] = { + 0x09, 0x71, 0x6b, 0x11, 0x86, 0x91, 0x68, 0xc6, 0x2d, 0x27, 0xeb, 0xf0, + 0xad, 0x67, 0x07, 0xfe, 0xab, 0x9c, 0x66, 0x65, 0xa8, 0xd3, 0x13, 0x3b, + 0x53, 0x88, 0xfd, 0x21, 0xa4, 0xd3, 0x0c, 0xd2, +}; +static const unsigned char kat3470_addinpr2[] = { + 0x77, 0xa6, 0xcd, 0x42, 0x17, 0x90, 0x71, 0xe6, 0x81, 0xeb, 0xcd, 0x82, + 0xf3, 0x0d, 0xf8, 0xb1, 0x89, 0x7c, 0x25, 0x77, 0xcb, 0xd4, 0x14, 0x32, + 0xb6, 0x64, 0x99, 0x3e, 0xd7, 0xa0, 0x12, 0x87, +}; +static const unsigned char kat3470_retbits[] = { + 0xf8, 0x84, 0x57, 0x3a, 0x22, 0x30, 0x45, 0x60, 0xe2, 0x5a, 0xcd, 0x7b, + 0xfa, 0x83, 0x9b, 0x23, 0xe5, 0x64, 0xaa, 0x77, 0x49, 0x06, 0x26, 0x32, + 0x16, 0x09, 0x98, 0xcd, 0xec, 0x07, 0x95, 0x6f, 0xc4, 0x0a, 0x44, 0x59, + 0x34, 0xfc, 0x5c, 0xb0, 0xd0, 0xc2, 0x4d, 0x0c, 0x3d, 0xa9, 0x38, 0x67, + 0x0b, 0xbd, 0x70, 0x63, 0xd3, 0xcc, 0xd5, 0xc2, 0xd9, 0xc5, 0xed, 0xbe, + 0x52, 0xcd, 0x0e, 0x9c, +}; +static const struct drbg_kat_pr_true kat3470_t = { + 4, kat3470_entropyin, kat3470_nonce, kat3470_persstr, + kat3470_entropyinpr1, kat3470_addinpr1, kat3470_entropyinpr2, + kat3470_addinpr2, kat3470_retbits +}; +static const struct drbg_kat kat3470 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3470_t +}; + +static const unsigned char kat3471_entropyin[] = { + 0x25, 0x47, 0xa3, 0xef, 0xfa, 0x12, 0xd6, 0x07, 0xe3, 0x01, 0x20, 0xf6, + 0xa9, 0x4b, 0x7e, 0x35, 0xf9, 0x96, 0x0a, 0xba, 0x3e, 0x55, 0x33, 0x65, + 0xa0, 0x3d, 0x0f, 0x52, 0xfd, 0xad, 0x8c, 0x83, +}; +static const unsigned char kat3471_nonce[] = { + 0x4f, 0x5f, 0xf3, 0x54, 0x0a, 0xb0, 0xaf, 0xcb, 0xc2, 0x0c, 0x63, 0x33, + 0x76, 0xc4, 0x44, 0xac, +}; +static const unsigned char kat3471_persstr[] = { + 0x30, 0x95, 0xdd, 0xa5, 0xe7, 0xeb, 0x87, 0xa7, 0x2e, 0x2d, 0x9a, 0x31, + 0xf2, 0x29, 0x43, 0xaa, 0x7f, 0xa3, 0x1c, 0xc9, 0x57, 0x41, 0x0c, 0xfa, + 0xcf, 0x4c, 0xd7, 0x09, 0x58, 0xbc, 0xfb, 0x9d, +}; +static const unsigned char kat3471_entropyinpr1[] = { + 0x4e, 0x6e, 0x86, 0xb4, 0x1d, 0x12, 0xae, 0x64, 0xc9, 0xb3, 0xa8, 0x75, + 0x70, 0xe7, 0xc8, 0xad, 0x55, 0x74, 0x3e, 0x0f, 0x71, 0xa7, 0xf3, 0x00, + 0xe0, 0x2f, 0x6d, 0xe8, 0x17, 0x88, 0x93, 0x30, +}; +static const unsigned char kat3471_addinpr1[] = { + 0x64, 0x8b, 0x8f, 0x81, 0x12, 0xfd, 0x94, 0x8d, 0xe9, 0x3b, 0x8c, 0x64, + 0x1b, 0xb6, 0xd2, 0xa0, 0x2b, 0x34, 0x2b, 0x7d, 0x64, 0x19, 0x01, 0x03, + 0xe2, 0x02, 0x34, 0x4d, 0x42, 0x34, 0x61, 0x3a, +}; +static const unsigned char kat3471_entropyinpr2[] = { + 0x16, 0xee, 0x00, 0x0b, 0xc8, 0xd2, 0x36, 0x58, 0x61, 0x30, 0x60, 0x10, + 0x5f, 0x0c, 0x50, 0xad, 0x87, 0x84, 0x2f, 0x35, 0x9d, 0x5f, 0xce, 0x3e, + 0x1a, 0x2a, 0x6e, 0x4e, 0xf8, 0xc8, 0x25, 0xf4, +}; +static const unsigned char kat3471_addinpr2[] = { + 0x72, 0xa7, 0xa6, 0x3c, 0xd2, 0x9f, 0xed, 0x4c, 0xc2, 0x55, 0x40, 0x89, + 0x71, 0xb9, 0x7f, 0xf5, 0x9e, 0x7e, 0xe0, 0xb7, 0x84, 0x71, 0xb8, 0x63, + 0x7c, 0xc6, 0xcb, 0xfc, 0xc0, 0x12, 0xaf, 0x3c, +}; +static const unsigned char kat3471_retbits[] = { + 0xbf, 0x88, 0x99, 0x1c, 0x85, 0xca, 0xac, 0x5f, 0x39, 0x2c, 0xc2, 0xbc, + 0x6f, 0x08, 0x19, 0xe2, 0x42, 0x5c, 0x22, 0x7f, 0x0f, 0x5d, 0x48, 0x02, + 0x9c, 0x83, 0x85, 0xa8, 0x2d, 0x35, 0xa1, 0x83, 0x33, 0x73, 0xd5, 0xa1, + 0xa9, 0xc2, 0x23, 0x94, 0x96, 0xd3, 0xa3, 0xbf, 0xd4, 0xd8, 0x95, 0x63, + 0x27, 0xee, 0x35, 0x39, 0x04, 0xc0, 0x0a, 0xdb, 0xd0, 0x7d, 0x53, 0x3b, + 0x9f, 0x66, 0x13, 0xc1, +}; +static const struct drbg_kat_pr_true kat3471_t = { + 5, kat3471_entropyin, kat3471_nonce, kat3471_persstr, + kat3471_entropyinpr1, kat3471_addinpr1, kat3471_entropyinpr2, + kat3471_addinpr2, kat3471_retbits +}; +static const struct drbg_kat kat3471 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3471_t +}; + +static const unsigned char kat3472_entropyin[] = { + 0x94, 0x66, 0x0d, 0x5e, 0x5f, 0xfa, 0x59, 0xda, 0x53, 0x0d, 0xd2, 0x0d, + 0x9b, 0x9c, 0x80, 0x25, 0x02, 0x95, 0x9a, 0xf6, 0xd7, 0xc4, 0x35, 0x16, + 0xb4, 0x29, 0x1e, 0xc9, 0x16, 0x48, 0xba, 0xaa, +}; +static const unsigned char kat3472_nonce[] = { + 0x12, 0x35, 0x96, 0x80, 0x75, 0x82, 0x5c, 0x20, 0x2d, 0xe9, 0xb0, 0xcb, + 0xc2, 0x4f, 0x2e, 0x01, +}; +static const unsigned char kat3472_persstr[] = { + 0x8c, 0xe4, 0xad, 0x45, 0x7e, 0x59, 0x09, 0xd3, 0xb5, 0x35, 0x21, 0x08, + 0xc2, 0x0e, 0xa9, 0x25, 0x60, 0x2b, 0x92, 0xfe, 0x90, 0x4b, 0xd7, 0x9b, + 0x15, 0x93, 0x21, 0xf5, 0x76, 0xd2, 0xa8, 0xcd, +}; +static const unsigned char kat3472_entropyinpr1[] = { + 0x4f, 0x52, 0x69, 0xde, 0x5c, 0xd3, 0x55, 0x54, 0xbc, 0x89, 0x5a, 0x5b, + 0x6b, 0x05, 0x27, 0x5d, 0xeb, 0xfb, 0x45, 0x5d, 0x31, 0xee, 0x70, 0xfb, + 0x2f, 0xa4, 0x0d, 0x1a, 0x9e, 0x76, 0x2b, 0xbc, +}; +static const unsigned char kat3472_addinpr1[] = { + 0xf1, 0x9e, 0x1f, 0x45, 0x52, 0x63, 0x41, 0x4f, 0x55, 0x77, 0x68, 0x7f, + 0xbd, 0xf5, 0xd4, 0xdf, 0xbd, 0xdf, 0xc5, 0x7c, 0x98, 0xc7, 0xd7, 0x56, + 0xd0, 0x10, 0xad, 0xff, 0x5c, 0x52, 0xa7, 0x67, +}; +static const unsigned char kat3472_entropyinpr2[] = { + 0x01, 0xb2, 0xef, 0x47, 0x2b, 0xc8, 0x4f, 0x90, 0xc0, 0x22, 0x76, 0x36, + 0x57, 0xce, 0x56, 0x41, 0xc0, 0x9a, 0xdf, 0xb5, 0x33, 0xf8, 0x2b, 0xff, + 0x4f, 0xa1, 0xe1, 0x95, 0x0b, 0x89, 0x8a, 0x22, +}; +static const unsigned char kat3472_addinpr2[] = { + 0xdc, 0xa7, 0xc7, 0xc0, 0x34, 0xc2, 0x54, 0x3d, 0x39, 0xe6, 0x36, 0xa1, + 0xbc, 0xe6, 0x3d, 0xdb, 0x56, 0xc8, 0x1c, 0xdc, 0x78, 0xf4, 0xc6, 0x4d, + 0x85, 0xb1, 0x15, 0x86, 0x14, 0xda, 0xea, 0x35, +}; +static const unsigned char kat3472_retbits[] = { + 0xd3, 0xab, 0x21, 0xeb, 0x04, 0x02, 0x90, 0x00, 0xf8, 0x00, 0xc7, 0x22, + 0x0a, 0x48, 0x86, 0xb8, 0xb8, 0x18, 0x81, 0xa1, 0x5b, 0x9e, 0x43, 0xb4, + 0x80, 0x92, 0x88, 0x13, 0xe8, 0x4c, 0x14, 0x3b, 0x81, 0x59, 0x22, 0xea, + 0x9f, 0xef, 0x46, 0xe1, 0x4f, 0x8e, 0xec, 0xc9, 0xd9, 0x85, 0x98, 0xb7, + 0xa9, 0x7f, 0x98, 0x89, 0x56, 0x7b, 0x4e, 0x92, 0xb3, 0x5b, 0x3f, 0xa6, + 0x4c, 0x35, 0xe7, 0xf6, +}; +static const struct drbg_kat_pr_true kat3472_t = { + 6, kat3472_entropyin, kat3472_nonce, kat3472_persstr, + kat3472_entropyinpr1, kat3472_addinpr1, kat3472_entropyinpr2, + kat3472_addinpr2, kat3472_retbits +}; +static const struct drbg_kat kat3472 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3472_t +}; + +static const unsigned char kat3473_entropyin[] = { + 0x21, 0x39, 0x8e, 0x68, 0xde, 0x5b, 0x4a, 0x93, 0x4e, 0xa0, 0xf3, 0xfa, + 0x58, 0xfb, 0x48, 0xe0, 0xa3, 0xec, 0x9e, 0x81, 0xcf, 0xe3, 0x4a, 0xab, + 0x36, 0x1b, 0x93, 0x94, 0xe7, 0x20, 0x9a, 0xa1, +}; +static const unsigned char kat3473_nonce[] = { + 0x80, 0x4f, 0x75, 0x24, 0x5f, 0xf9, 0x26, 0xb8, 0xd8, 0xe7, 0x60, 0xf9, + 0xdb, 0xee, 0x8a, 0xbd, +}; +static const unsigned char kat3473_persstr[] = { + 0xe9, 0x97, 0xc5, 0x36, 0x8a, 0x7b, 0x58, 0xdd, 0x3f, 0x2f, 0x3f, 0x8e, + 0xbd, 0x64, 0x70, 0x8d, 0xc2, 0x19, 0xc1, 0x27, 0xfc, 0xce, 0x7d, 0x81, + 0x4c, 0xc4, 0xd7, 0x5c, 0xe3, 0xd6, 0x09, 0xcd, +}; +static const unsigned char kat3473_entropyinpr1[] = { + 0xae, 0xa0, 0x22, 0xf8, 0x14, 0xb3, 0xff, 0x88, 0x81, 0x64, 0xab, 0xdd, + 0x7b, 0x87, 0xd7, 0xef, 0xee, 0xb8, 0x47, 0x47, 0xd0, 0x95, 0x21, 0x4a, + 0x05, 0xc5, 0x33, 0x77, 0x87, 0xca, 0x10, 0xe9, +}; +static const unsigned char kat3473_addinpr1[] = { + 0xa3, 0x79, 0x47, 0x14, 0x9e, 0x58, 0x30, 0x7d, 0xdb, 0x28, 0x9a, 0x08, + 0x97, 0x2f, 0x33, 0xce, 0xae, 0x36, 0xd9, 0x2c, 0x5d, 0xf0, 0x07, 0x40, + 0x17, 0xfc, 0xe9, 0xdf, 0xc9, 0x87, 0x77, 0xe3, +}; +static const unsigned char kat3473_entropyinpr2[] = { + 0xcd, 0x0f, 0xfb, 0xba, 0x56, 0x92, 0xc3, 0xce, 0xf2, 0xf5, 0x5e, 0xd5, + 0x14, 0xd1, 0x19, 0xf5, 0x5a, 0x23, 0x7a, 0x2a, 0xfa, 0x20, 0xc9, 0x1c, + 0x82, 0xb7, 0xa1, 0x5b, 0x96, 0x3e, 0x5b, 0xc5, +}; +static const unsigned char kat3473_addinpr2[] = { + 0xaf, 0x9a, 0x76, 0x9f, 0xa9, 0x4d, 0xba, 0x5a, 0x9d, 0xbe, 0xa4, 0x48, + 0xeb, 0x8d, 0x6d, 0xf3, 0x76, 0x36, 0x16, 0x69, 0x53, 0x49, 0x13, 0x5e, + 0xa3, 0x2a, 0x97, 0xe0, 0xa5, 0x7e, 0xda, 0xfb, +}; +static const unsigned char kat3473_retbits[] = { + 0x1a, 0xdb, 0x11, 0x1b, 0x7b, 0x15, 0x9c, 0xae, 0x8e, 0x69, 0x54, 0x29, + 0x9c, 0xf3, 0xc5, 0x58, 0xc4, 0xc7, 0x10, 0xce, 0xb5, 0xdb, 0x33, 0x28, + 0x27, 0xda, 0x86, 0x6f, 0x07, 0x32, 0xd8, 0xbc, 0xc7, 0x33, 0x24, 0x1f, + 0x50, 0xb2, 0x0f, 0x80, 0xe0, 0xf4, 0xee, 0xf2, 0x55, 0x46, 0x00, 0xb6, + 0x5c, 0x25, 0x35, 0xdb, 0xb1, 0xa2, 0xd7, 0x2b, 0xf5, 0x35, 0xb8, 0x1a, + 0x1e, 0x9c, 0x58, 0x82, +}; +static const struct drbg_kat_pr_true kat3473_t = { + 7, kat3473_entropyin, kat3473_nonce, kat3473_persstr, + kat3473_entropyinpr1, kat3473_addinpr1, kat3473_entropyinpr2, + kat3473_addinpr2, kat3473_retbits +}; +static const struct drbg_kat kat3473 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3473_t +}; + +static const unsigned char kat3474_entropyin[] = { + 0xfa, 0xb9, 0x80, 0x67, 0x03, 0xee, 0xbd, 0x6e, 0xc8, 0x5d, 0xbd, 0xfe, + 0x99, 0x9c, 0xb1, 0x45, 0x9e, 0xaa, 0x80, 0x6f, 0x46, 0xba, 0x98, 0x81, + 0x42, 0x85, 0x0b, 0x41, 0xf6, 0x2a, 0xd0, 0x9a, +}; +static const unsigned char kat3474_nonce[] = { + 0xa2, 0xc4, 0x6e, 0xd7, 0xc2, 0xa9, 0x93, 0xdb, 0xf7, 0x7e, 0xcf, 0x64, + 0xe7, 0xa1, 0x2b, 0x82, +}; +static const unsigned char kat3474_persstr[] = { + 0x48, 0x18, 0xfd, 0x97, 0x0c, 0xda, 0xf7, 0xbc, 0x82, 0xb8, 0x0e, 0x14, + 0x19, 0xcb, 0xb1, 0xa8, 0x43, 0x75, 0xf2, 0x20, 0x00, 0xd8, 0x9a, 0x61, + 0xd0, 0x60, 0x6d, 0xb3, 0xf3, 0x27, 0x30, 0x68, +}; +static const unsigned char kat3474_entropyinpr1[] = { + 0x28, 0x94, 0x58, 0xc8, 0x9c, 0x57, 0xd8, 0x01, 0x7d, 0x89, 0xf9, 0xbe, + 0xac, 0x9d, 0x79, 0x33, 0x8e, 0x71, 0xfa, 0x70, 0xb3, 0x87, 0x8e, 0x42, + 0x4d, 0x47, 0x4d, 0x27, 0x7e, 0x97, 0x14, 0xcb, +}; +static const unsigned char kat3474_addinpr1[] = { + 0xda, 0xe8, 0x17, 0x30, 0x3d, 0x48, 0x14, 0xc4, 0xe0, 0xc4, 0x18, 0x63, + 0xe2, 0xd8, 0x6e, 0x2d, 0x50, 0x6b, 0x49, 0x54, 0x03, 0x18, 0x0d, 0xfa, + 0xa1, 0x59, 0x04, 0x28, 0x76, 0x62, 0x5a, 0x48, +}; +static const unsigned char kat3474_entropyinpr2[] = { + 0x05, 0x0c, 0x98, 0xd9, 0xc3, 0x7c, 0xba, 0x9e, 0x71, 0x7f, 0x4d, 0x0f, + 0xbc, 0x45, 0xc0, 0x6d, 0x6e, 0x91, 0x54, 0x3d, 0x6a, 0xb3, 0x20, 0xf1, + 0x59, 0xf3, 0xee, 0xd5, 0xd8, 0xd3, 0x94, 0x14, +}; +static const unsigned char kat3474_addinpr2[] = { + 0x00, 0x7d, 0x64, 0x9c, 0x63, 0x30, 0x6c, 0xe4, 0x34, 0xfd, 0x55, 0x81, + 0x03, 0xb3, 0xaa, 0xc3, 0xa6, 0x5a, 0x6c, 0x3f, 0x58, 0x88, 0xe9, 0x01, + 0x66, 0xb5, 0xaa, 0x4b, 0xb2, 0xb3, 0x51, 0xae, +}; +static const unsigned char kat3474_retbits[] = { + 0x23, 0xfb, 0x2c, 0x01, 0x58, 0x68, 0x49, 0xcc, 0x04, 0x1b, 0x72, 0xa4, + 0x7c, 0x89, 0x8a, 0x69, 0xa7, 0x0f, 0xd8, 0x73, 0x9d, 0x54, 0x7a, 0x28, + 0x50, 0xe6, 0xc5, 0x2e, 0x74, 0xc2, 0x42, 0x05, 0x59, 0xb1, 0xcc, 0x21, + 0x47, 0x62, 0xa8, 0x54, 0xef, 0x7e, 0xcf, 0x84, 0x21, 0xfd, 0x92, 0x52, + 0x33, 0x9e, 0xff, 0x35, 0xee, 0x44, 0x1e, 0xea, 0xe9, 0xf1, 0x69, 0xcf, + 0x2a, 0x2f, 0x8a, 0xe0, +}; +static const struct drbg_kat_pr_true kat3474_t = { + 8, kat3474_entropyin, kat3474_nonce, kat3474_persstr, + kat3474_entropyinpr1, kat3474_addinpr1, kat3474_entropyinpr2, + kat3474_addinpr2, kat3474_retbits +}; +static const struct drbg_kat kat3474 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3474_t +}; + +static const unsigned char kat3475_entropyin[] = { + 0xc0, 0x2b, 0x86, 0xdb, 0x7b, 0x02, 0x2e, 0xba, 0x95, 0xa8, 0x8f, 0x82, + 0x4d, 0xfc, 0xa3, 0x18, 0x3a, 0xf4, 0xf3, 0x02, 0x9e, 0xb9, 0x99, 0x68, + 0xea, 0x7c, 0x54, 0xd9, 0x27, 0x68, 0x2b, 0x27, +}; +static const unsigned char kat3475_nonce[] = { + 0x90, 0x15, 0x9a, 0xcf, 0x1e, 0x5d, 0x0e, 0x85, 0x34, 0x3a, 0x37, 0xb2, + 0xe1, 0x95, 0x78, 0xda, +}; +static const unsigned char kat3475_persstr[] = { + 0x36, 0x3d, 0xd2, 0x02, 0xfe, 0x1b, 0x07, 0x1e, 0x80, 0x6c, 0x61, 0x94, + 0x98, 0xa9, 0xf4, 0x86, 0xf2, 0xa1, 0x3c, 0x08, 0x5e, 0xba, 0x8a, 0x43, + 0x1d, 0x33, 0xff, 0x5d, 0x73, 0xe4, 0x62, 0xda, +}; +static const unsigned char kat3475_entropyinpr1[] = { + 0x2d, 0xbb, 0x59, 0x67, 0xe5, 0x19, 0x14, 0xb4, 0x10, 0xaf, 0xe1, 0xec, + 0x96, 0xe8, 0xa8, 0xc8, 0x46, 0xb2, 0x63, 0x44, 0xc4, 0xe1, 0xce, 0x66, + 0x44, 0x21, 0x7f, 0x7a, 0xcb, 0xf6, 0x1b, 0xfa, +}; +static const unsigned char kat3475_addinpr1[] = { + 0x3a, 0x86, 0x27, 0xf8, 0xa2, 0x79, 0xf0, 0xee, 0x8e, 0x9b, 0x7e, 0x0d, + 0x9e, 0xbf, 0x27, 0x91, 0x4c, 0xed, 0xc5, 0xdf, 0xf5, 0xdb, 0xc4, 0xb1, + 0x27, 0x2d, 0xbb, 0xda, 0xeb, 0xdb, 0x22, 0xdb, +}; +static const unsigned char kat3475_entropyinpr2[] = { + 0x67, 0x49, 0xab, 0xcf, 0xc3, 0x54, 0x96, 0x7c, 0xd7, 0xba, 0xf7, 0x7c, + 0x1f, 0x5a, 0xcd, 0x83, 0xc3, 0x8f, 0x13, 0x80, 0x81, 0xeb, 0xff, 0xe0, + 0x35, 0xa1, 0xae, 0x4d, 0xdc, 0xf8, 0x5b, 0xb0, +}; +static const unsigned char kat3475_addinpr2[] = { + 0xfe, 0x0b, 0x77, 0x82, 0xcb, 0xea, 0x10, 0x12, 0xda, 0x90, 0x00, 0x16, + 0x32, 0xf8, 0xf2, 0xc4, 0x02, 0xc8, 0x76, 0xf7, 0x78, 0x2c, 0x2b, 0x5b, + 0x80, 0x6d, 0x98, 0x1b, 0x99, 0x2f, 0xf7, 0x30, +}; +static const unsigned char kat3475_retbits[] = { + 0x5d, 0x6e, 0x10, 0xf2, 0x05, 0xdb, 0x6d, 0x53, 0x4f, 0x4a, 0x7d, 0x74, + 0x8e, 0xf8, 0x36, 0x67, 0x11, 0x34, 0xb8, 0xf3, 0x58, 0x7d, 0x59, 0x37, + 0x51, 0x4f, 0x63, 0x8b, 0x49, 0x69, 0xac, 0xe4, 0xae, 0x69, 0x49, 0x0e, + 0x27, 0x82, 0xb9, 0x63, 0xde, 0x4d, 0x39, 0x0b, 0x12, 0xa9, 0xb1, 0xa6, + 0x67, 0x04, 0xdf, 0x86, 0xe0, 0xa0, 0x66, 0x3e, 0x23, 0xc9, 0x0b, 0x49, + 0x3a, 0x5a, 0xa1, 0x82, +}; +static const struct drbg_kat_pr_true kat3475_t = { + 9, kat3475_entropyin, kat3475_nonce, kat3475_persstr, + kat3475_entropyinpr1, kat3475_addinpr1, kat3475_entropyinpr2, + kat3475_addinpr2, kat3475_retbits +}; +static const struct drbg_kat kat3475 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3475_t +}; + +static const unsigned char kat3476_entropyin[] = { + 0xa0, 0x17, 0xd9, 0x09, 0xe6, 0x00, 0xbd, 0xc1, 0xd7, 0x80, 0xa0, 0x9a, + 0xcc, 0x59, 0xfb, 0x4f, 0x00, 0xbd, 0x82, 0xa4, 0x4a, 0x60, 0x1b, 0xbc, + 0xdf, 0x41, 0xd7, 0xcd, 0x8c, 0xbd, 0x6a, 0x2f, +}; +static const unsigned char kat3476_nonce[] = { + 0x0c, 0x6a, 0x43, 0x91, 0x48, 0x6d, 0x9b, 0x41, 0x08, 0x4a, 0xcd, 0x80, + 0x31, 0x42, 0x7e, 0x6a, +}; +static const unsigned char kat3476_persstr[] = { + 0xfc, 0x30, 0x93, 0xbb, 0xa8, 0xf6, 0x5b, 0x69, 0xb2, 0xcf, 0x8a, 0xb3, + 0x17, 0xb1, 0xc6, 0x08, 0xde, 0xd5, 0x00, 0x09, 0x01, 0x1b, 0xcb, 0xb5, + 0xfd, 0xf7, 0x7f, 0x83, 0x52, 0x68, 0xd0, 0xa2, +}; +static const unsigned char kat3476_entropyinpr1[] = { + 0x6d, 0x70, 0x7a, 0xf9, 0xa2, 0xee, 0xb1, 0x98, 0x12, 0xd5, 0xf2, 0x5b, + 0x03, 0x9d, 0xcb, 0xcd, 0x8e, 0x88, 0x35, 0xc1, 0x12, 0x7f, 0x3b, 0x82, + 0xe6, 0xf0, 0x06, 0x53, 0xe2, 0x5e, 0xa0, 0xde, +}; +static const unsigned char kat3476_addinpr1[] = { + 0x48, 0xd0, 0xbb, 0x1d, 0xa0, 0x62, 0x52, 0xf9, 0x90, 0x6e, 0xbc, 0x2a, + 0xf6, 0xe8, 0x2a, 0x1e, 0x64, 0x4b, 0xd9, 0x9f, 0xca, 0x3e, 0x81, 0x6a, + 0xdf, 0x94, 0xf1, 0x3d, 0xc8, 0xaf, 0x27, 0x21, +}; +static const unsigned char kat3476_entropyinpr2[] = { + 0x3e, 0x70, 0x44, 0xcf, 0x77, 0xf4, 0x7b, 0xba, 0x02, 0x9e, 0x51, 0x46, + 0xee, 0x18, 0xdc, 0xd3, 0x41, 0x6a, 0x3b, 0x9d, 0x8f, 0x2b, 0x5c, 0xff, + 0x69, 0xc5, 0x38, 0x3f, 0x25, 0x5e, 0xe2, 0x83, +}; +static const unsigned char kat3476_addinpr2[] = { + 0xb8, 0x83, 0x33, 0x6f, 0x21, 0xfb, 0x70, 0xbe, 0x1a, 0x73, 0xab, 0xf0, + 0xa7, 0x8b, 0x46, 0x58, 0xca, 0x87, 0x9c, 0x9b, 0x36, 0x57, 0xf8, 0xdf, + 0xa3, 0xc7, 0xa2, 0xef, 0xc2, 0xd7, 0x17, 0x3c, +}; +static const unsigned char kat3476_retbits[] = { + 0xc5, 0x65, 0x02, 0x2c, 0xb9, 0x0c, 0x58, 0xa0, 0x92, 0xc4, 0x01, 0x58, + 0x31, 0x30, 0x36, 0xd7, 0x97, 0x4f, 0x14, 0xda, 0x3b, 0x25, 0x6f, 0x68, + 0xb0, 0x52, 0x04, 0xf9, 0xac, 0x46, 0xae, 0x67, 0x05, 0xe3, 0xdc, 0x3b, + 0x92, 0x0b, 0x92, 0xbe, 0xfb, 0xa3, 0x98, 0xc3, 0x6d, 0x5e, 0xc5, 0xed, + 0x69, 0xcd, 0xce, 0xa8, 0x18, 0xaf, 0x6d, 0x01, 0x55, 0xc4, 0xb6, 0x27, + 0x40, 0xf8, 0x9d, 0xf1, +}; +static const struct drbg_kat_pr_true kat3476_t = { + 10, kat3476_entropyin, kat3476_nonce, kat3476_persstr, + kat3476_entropyinpr1, kat3476_addinpr1, kat3476_entropyinpr2, + kat3476_addinpr2, kat3476_retbits +}; +static const struct drbg_kat kat3476 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3476_t +}; + +static const unsigned char kat3477_entropyin[] = { + 0x8e, 0xc5, 0xb5, 0x90, 0x6a, 0x70, 0x63, 0x9b, 0xc1, 0x29, 0x86, 0x32, + 0xf5, 0x0d, 0xf1, 0xa6, 0xf9, 0x02, 0x19, 0xe1, 0x9f, 0x8a, 0x94, 0x6a, + 0xbc, 0x35, 0x02, 0x2f, 0xb4, 0xf5, 0xcb, 0xf4, +}; +static const unsigned char kat3477_nonce[] = { + 0x31, 0x72, 0xe3, 0x7c, 0xb3, 0x41, 0x9d, 0xff, 0x0f, 0xe6, 0x98, 0xc0, + 0x13, 0x38, 0xad, 0x3e, +}; +static const unsigned char kat3477_persstr[] = { + 0x27, 0xec, 0xcc, 0x8f, 0x13, 0x1d, 0x68, 0x08, 0xc9, 0x50, 0x71, 0x09, + 0x00, 0x7e, 0x4d, 0x1e, 0xed, 0xf2, 0x70, 0x0b, 0xb6, 0x60, 0xb5, 0x83, + 0x93, 0x8f, 0xb5, 0xa1, 0xf1, 0xd2, 0x54, 0xb8, +}; +static const unsigned char kat3477_entropyinpr1[] = { + 0x8a, 0xdf, 0x76, 0x0f, 0x81, 0xfc, 0xbf, 0x4e, 0x77, 0xd7, 0x4b, 0x89, + 0x0b, 0x03, 0x61, 0xc4, 0x09, 0x0e, 0xc3, 0x67, 0xaf, 0x67, 0xc7, 0xc6, + 0xd0, 0xb5, 0x10, 0x47, 0xf6, 0xeb, 0x4e, 0xf1, +}; +static const unsigned char kat3477_addinpr1[] = { + 0x00, 0x3b, 0xcf, 0x45, 0xde, 0x0a, 0xef, 0x58, 0xf5, 0x92, 0xe5, 0x41, + 0x2c, 0x3c, 0x4c, 0x42, 0x6e, 0xcb, 0x26, 0x13, 0xdf, 0xb3, 0xac, 0x69, + 0x05, 0xb9, 0x86, 0xd3, 0x28, 0x85, 0x3e, 0x23, +}; +static const unsigned char kat3477_entropyinpr2[] = { + 0x74, 0x11, 0xfc, 0xea, 0x66, 0x2a, 0x2a, 0xa5, 0x87, 0x6d, 0x38, 0x6f, + 0x70, 0x67, 0x31, 0x67, 0x99, 0x3f, 0x39, 0x5f, 0xa7, 0xcb, 0x87, 0x78, + 0xb3, 0x3d, 0xd0, 0x09, 0xf3, 0x53, 0xc8, 0xff, +}; +static const unsigned char kat3477_addinpr2[] = { + 0x75, 0x2c, 0x13, 0x4e, 0x1a, 0x59, 0x24, 0xd0, 0xbe, 0x05, 0x55, 0x0d, + 0x45, 0x4f, 0xa5, 0x17, 0x96, 0x99, 0xad, 0x41, 0xb0, 0x96, 0x8d, 0x21, + 0x42, 0xaf, 0xca, 0x35, 0x44, 0x30, 0xf0, 0xe1, +}; +static const unsigned char kat3477_retbits[] = { + 0xf5, 0x36, 0x2d, 0x27, 0x6d, 0x58, 0x1c, 0x2d, 0x0e, 0x80, 0x8a, 0xe4, + 0x86, 0xe8, 0xe6, 0x2f, 0xfd, 0x35, 0x49, 0x01, 0xa0, 0xf9, 0x80, 0x7c, + 0xf5, 0x65, 0x7a, 0x3d, 0x90, 0x24, 0xa7, 0x24, 0x78, 0xac, 0xd4, 0x03, + 0x7d, 0x06, 0xd4, 0xba, 0x5c, 0x3b, 0x29, 0xb5, 0xfb, 0x4f, 0x6b, 0x52, + 0x29, 0xc1, 0x7f, 0xe9, 0xde, 0xab, 0x68, 0xe0, 0xd0, 0x3a, 0x2f, 0x12, + 0x40, 0x9a, 0x0d, 0x46, +}; +static const struct drbg_kat_pr_true kat3477_t = { + 11, kat3477_entropyin, kat3477_nonce, kat3477_persstr, + kat3477_entropyinpr1, kat3477_addinpr1, kat3477_entropyinpr2, + kat3477_addinpr2, kat3477_retbits +}; +static const struct drbg_kat kat3477 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3477_t +}; + +static const unsigned char kat3478_entropyin[] = { + 0x06, 0xf9, 0x5f, 0xe2, 0x43, 0x9b, 0x4f, 0x09, 0xbe, 0x2f, 0x86, 0x01, + 0xb4, 0x00, 0x0a, 0x0b, 0x27, 0xba, 0x4c, 0xf2, 0xcc, 0xdc, 0x1d, 0x41, + 0x5d, 0xf0, 0x03, 0x39, 0x4b, 0xb4, 0x2d, 0x43, +}; +static const unsigned char kat3478_nonce[] = { + 0x38, 0x84, 0x85, 0xd1, 0x9a, 0x5f, 0xbc, 0x7f, 0x29, 0xfe, 0x10, 0xe3, + 0xa2, 0x01, 0x0c, 0x33, +}; +static const unsigned char kat3478_persstr[] = { + 0xb6, 0xd8, 0xc2, 0x33, 0xcc, 0xb6, 0x8c, 0x8c, 0xd1, 0x45, 0xf0, 0x63, + 0xf2, 0xdf, 0xd3, 0x7b, 0x62, 0xc5, 0x60, 0xa6, 0xf1, 0x60, 0x5a, 0xcf, + 0x35, 0xf9, 0x56, 0x63, 0xa7, 0x06, 0xa0, 0x8a, +}; +static const unsigned char kat3478_entropyinpr1[] = { + 0x60, 0x5b, 0x02, 0x02, 0x51, 0x99, 0xa0, 0xad, 0x76, 0x14, 0xa0, 0xf2, + 0x3f, 0x17, 0x32, 0x75, 0x00, 0x7e, 0x3e, 0x17, 0x5a, 0x31, 0xa0, 0x04, + 0x50, 0xdd, 0xb4, 0x65, 0x79, 0xb0, 0x40, 0x93, +}; +static const unsigned char kat3478_addinpr1[] = { + 0x4f, 0xbc, 0x8c, 0x3d, 0x7e, 0xbc, 0x00, 0xf4, 0x5b, 0x06, 0x08, 0x4a, + 0x8a, 0xaf, 0x5d, 0x4d, 0x2e, 0xe7, 0x0f, 0x78, 0xba, 0x3d, 0x46, 0xf8, + 0x58, 0x8e, 0xf0, 0xf3, 0x59, 0x8c, 0xc4, 0x3e, +}; +static const unsigned char kat3478_entropyinpr2[] = { + 0xc2, 0x4b, 0xdd, 0x83, 0xfe, 0x41, 0x93, 0x48, 0x71, 0x44, 0x8c, 0x93, + 0x0c, 0x6d, 0x63, 0xb6, 0xcc, 0xb4, 0xbf, 0xa7, 0x39, 0x60, 0xd9, 0xe8, + 0xdf, 0xb9, 0x6b, 0x4a, 0x38, 0xb2, 0xfb, 0x0c, +}; +static const unsigned char kat3478_addinpr2[] = { + 0x8d, 0x30, 0xb7, 0x62, 0x5b, 0x0c, 0x3c, 0x2d, 0x4a, 0x57, 0xd7, 0xa7, + 0xb2, 0xc8, 0xe2, 0x51, 0x1f, 0x77, 0xe7, 0x54, 0x6a, 0xd7, 0x27, 0x58, + 0x5d, 0x22, 0x6d, 0x83, 0xb0, 0x30, 0x0a, 0xd5, +}; +static const unsigned char kat3478_retbits[] = { + 0x31, 0x38, 0x8d, 0x27, 0x34, 0xa8, 0x08, 0x88, 0xdd, 0xe6, 0x90, 0xf7, + 0x86, 0x7c, 0x24, 0x71, 0x33, 0x05, 0x2b, 0xe2, 0xdd, 0x09, 0x2b, 0x84, + 0xf1, 0x42, 0x2f, 0xd3, 0x65, 0x0b, 0x25, 0xf9, 0x6b, 0xed, 0xc9, 0x1b, + 0x42, 0xda, 0x30, 0x61, 0x12, 0x85, 0x80, 0x50, 0x60, 0x40, 0x27, 0x25, + 0x07, 0xe7, 0x34, 0x9d, 0x26, 0x4c, 0xa3, 0x75, 0x4c, 0x77, 0x63, 0xd2, + 0xa8, 0xa4, 0x30, 0xe6, +}; +static const struct drbg_kat_pr_true kat3478_t = { + 12, kat3478_entropyin, kat3478_nonce, kat3478_persstr, + kat3478_entropyinpr1, kat3478_addinpr1, kat3478_entropyinpr2, + kat3478_addinpr2, kat3478_retbits +}; +static const struct drbg_kat kat3478 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3478_t +}; + +static const unsigned char kat3479_entropyin[] = { + 0xd2, 0xb2, 0x5a, 0x12, 0x1f, 0x9f, 0xda, 0x73, 0x22, 0xf4, 0xe2, 0xb2, + 0x29, 0xd6, 0xe0, 0x5f, 0x5d, 0xa4, 0x38, 0x22, 0xe6, 0xa1, 0xc7, 0xa1, + 0x73, 0xd4, 0x68, 0xcc, 0x5f, 0xc2, 0x6a, 0x1e, +}; +static const unsigned char kat3479_nonce[] = { + 0x7e, 0x69, 0x36, 0x37, 0x76, 0x87, 0x79, 0x09, 0xf3, 0x58, 0xa0, 0x0e, + 0xf4, 0xee, 0x78, 0x11, +}; +static const unsigned char kat3479_persstr[] = { + 0x71, 0x6f, 0x2e, 0xed, 0x8f, 0x4f, 0x34, 0x03, 0x10, 0xf1, 0x9b, 0x95, + 0x44, 0x12, 0xae, 0x57, 0xd9, 0xd7, 0xe9, 0x60, 0xe6, 0x6d, 0x3c, 0x0b, + 0xff, 0x02, 0x31, 0xbc, 0x36, 0x09, 0x64, 0xa5, +}; +static const unsigned char kat3479_entropyinpr1[] = { + 0x0c, 0x28, 0xf6, 0x72, 0x91, 0xf0, 0x31, 0xd4, 0xc5, 0xc4, 0xc2, 0x37, + 0x3d, 0xc7, 0x72, 0x4c, 0x3f, 0x01, 0x92, 0xbf, 0x86, 0x26, 0x84, 0x65, + 0x21, 0xc3, 0xf4, 0xbc, 0xa3, 0xb6, 0xac, 0x9e, +}; +static const unsigned char kat3479_addinpr1[] = { + 0x2e, 0x44, 0xae, 0x67, 0xef, 0xd1, 0xb2, 0xa0, 0x2f, 0x3c, 0x9b, 0xda, + 0x81, 0x57, 0xa4, 0x35, 0x06, 0xac, 0xa6, 0xc8, 0x69, 0xc4, 0x59, 0xaa, + 0xde, 0x83, 0x8a, 0xc2, 0x76, 0x38, 0x81, 0xba, +}; +static const unsigned char kat3479_entropyinpr2[] = { + 0xba, 0x93, 0x5e, 0xbc, 0xda, 0x1a, 0xe3, 0xd5, 0x07, 0x79, 0xdf, 0x10, + 0x3e, 0x15, 0xae, 0xd6, 0xc2, 0xe9, 0xdd, 0x7e, 0xd9, 0x7e, 0xcf, 0xe6, + 0x76, 0xb5, 0x96, 0xa9, 0xf5, 0x5e, 0xfd, 0x66, +}; +static const unsigned char kat3479_addinpr2[] = { + 0xdd, 0x35, 0xdc, 0x7d, 0xc8, 0x7b, 0x42, 0x5f, 0x4e, 0x35, 0x83, 0xfb, + 0x9e, 0x36, 0xf9, 0x43, 0xe2, 0xca, 0x07, 0x51, 0xb7, 0x99, 0x5b, 0x2a, + 0x73, 0xea, 0x10, 0xcf, 0x32, 0x01, 0x0f, 0x3f, +}; +static const unsigned char kat3479_retbits[] = { + 0xab, 0xcc, 0x64, 0x83, 0xc0, 0x68, 0x5d, 0x2a, 0xc0, 0x13, 0x29, 0xeb, + 0xd6, 0x98, 0x13, 0x8f, 0xa2, 0x6a, 0x1a, 0xca, 0xaf, 0xce, 0x8e, 0xc1, + 0xcc, 0x58, 0xa7, 0x3b, 0x64, 0x60, 0x25, 0xe3, 0xa7, 0xb7, 0x38, 0x6c, + 0x1b, 0x49, 0x2d, 0x28, 0x3d, 0xdd, 0x26, 0x3e, 0x3b, 0xe3, 0x68, 0xb2, + 0x66, 0xc5, 0x73, 0x62, 0x04, 0x81, 0x22, 0x56, 0x30, 0x19, 0x5b, 0xf5, + 0x9d, 0x46, 0x4f, 0xdf, +}; +static const struct drbg_kat_pr_true kat3479_t = { + 13, kat3479_entropyin, kat3479_nonce, kat3479_persstr, + kat3479_entropyinpr1, kat3479_addinpr1, kat3479_entropyinpr2, + kat3479_addinpr2, kat3479_retbits +}; +static const struct drbg_kat kat3479 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3479_t +}; + +static const unsigned char kat3480_entropyin[] = { + 0x6f, 0xa0, 0x76, 0x20, 0x48, 0x16, 0xf7, 0xa1, 0x85, 0x61, 0x89, 0xc4, + 0x09, 0xa4, 0x66, 0x50, 0xce, 0x8d, 0xd2, 0x8b, 0xa1, 0x2d, 0xff, 0xce, + 0x25, 0x35, 0x07, 0x9a, 0x9a, 0xe7, 0x77, 0xd7, +}; +static const unsigned char kat3480_nonce[] = { + 0x77, 0x12, 0x44, 0x12, 0x2a, 0x2f, 0xb4, 0x39, 0x33, 0xd1, 0x89, 0x1d, + 0x3d, 0xae, 0x1f, 0x22, +}; +static const unsigned char kat3480_persstr[] = { + 0x59, 0x63, 0x21, 0xac, 0x34, 0x04, 0x43, 0x49, 0x61, 0xed, 0x7e, 0x0e, + 0x29, 0x4d, 0x11, 0xe9, 0x70, 0xdf, 0x1f, 0x08, 0xb8, 0x4e, 0xc6, 0xa9, + 0x86, 0x33, 0x90, 0x09, 0xfe, 0x0a, 0xd7, 0x8b, +}; +static const unsigned char kat3480_entropyinpr1[] = { + 0x0f, 0x1a, 0xf9, 0x88, 0xec, 0x95, 0x13, 0xa8, 0x65, 0x2e, 0x2b, 0x4d, + 0x27, 0xc0, 0x8c, 0x74, 0x73, 0x19, 0x2c, 0x86, 0x83, 0xa4, 0xb4, 0x26, + 0x15, 0x9d, 0xf7, 0x21, 0x02, 0xe1, 0x30, 0x94, +}; +static const unsigned char kat3480_addinpr1[] = { + 0x0b, 0x1d, 0x5a, 0x09, 0xc6, 0x95, 0xc3, 0x75, 0x7f, 0x22, 0xdb, 0xdd, + 0xff, 0x15, 0x32, 0xa7, 0xe1, 0x62, 0x5d, 0xd2, 0xc0, 0x33, 0xde, 0x77, + 0xcb, 0xc5, 0xff, 0xc1, 0x58, 0x15, 0x14, 0x79, +}; +static const unsigned char kat3480_entropyinpr2[] = { + 0x5e, 0x20, 0xd8, 0x71, 0x83, 0x67, 0x91, 0x4f, 0xa0, 0xb5, 0x68, 0x0a, + 0x2a, 0x6b, 0x20, 0x30, 0xf7, 0x1d, 0xcb, 0x59, 0x61, 0x77, 0x7c, 0x1c, + 0x2d, 0x70, 0xc3, 0xcb, 0xfe, 0x19, 0x76, 0x15, +}; +static const unsigned char kat3480_addinpr2[] = { + 0x00, 0xeb, 0x04, 0x08, 0x78, 0xd2, 0xae, 0xd9, 0xb1, 0xa2, 0xc6, 0x86, + 0x61, 0x08, 0xc1, 0x3b, 0x24, 0xc2, 0x65, 0xd3, 0x73, 0x96, 0xce, 0x0e, + 0x3d, 0xa9, 0x8d, 0xe8, 0x5f, 0x25, 0x64, 0xea, +}; +static const unsigned char kat3480_retbits[] = { + 0x11, 0x26, 0xdc, 0xdc, 0x7e, 0xa3, 0x5a, 0x3a, 0x0a, 0xd2, 0x74, 0x56, + 0x07, 0x65, 0xed, 0x66, 0x82, 0x2c, 0x80, 0x4a, 0x93, 0x7a, 0x59, 0x4c, + 0xa5, 0xe0, 0x21, 0x35, 0x33, 0x62, 0x86, 0x50, 0x33, 0xd1, 0x58, 0x3b, + 0x27, 0x12, 0xab, 0xd0, 0xde, 0xc7, 0x5d, 0x24, 0x00, 0x63, 0x71, 0xbf, + 0x72, 0x0a, 0x25, 0x85, 0x56, 0xb6, 0xe3, 0x7b, 0x44, 0xf4, 0x13, 0x2b, + 0xe1, 0x9d, 0x8b, 0xed, +}; +static const struct drbg_kat_pr_true kat3480_t = { + 14, kat3480_entropyin, kat3480_nonce, kat3480_persstr, + kat3480_entropyinpr1, kat3480_addinpr1, kat3480_entropyinpr2, + kat3480_addinpr2, kat3480_retbits +}; +static const struct drbg_kat kat3480 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3480_t +}; + +static const unsigned char kat3481_entropyin[] = { + 0x04, 0x7b, 0x78, 0xbe, 0x0a, 0x7b, 0x29, 0xdd, 0xd2, 0xf1, 0x16, 0x11, + 0x84, 0x85, 0x89, 0x22, 0xd6, 0x85, 0xe0, 0xaf, 0xa3, 0x52, 0x64, 0xb7, + 0x8e, 0x74, 0x87, 0x4b, 0x60, 0xe5, 0x24, 0x93, +}; +static const unsigned char kat3481_nonce[] = { + 0x91, 0x1a, 0x40, 0x34, 0x07, 0x50, 0x05, 0xe0, 0x30, 0x5f, 0x98, 0x3d, + 0x75, 0xb1, 0xd2, 0x04, +}; +static const unsigned char kat3481_persstr[] = {0}; +static const unsigned char kat3481_entropyinpr1[] = { + 0x2d, 0xf2, 0xdd, 0xa6, 0xf5, 0x6a, 0x49, 0xc9, 0x68, 0xac, 0x34, 0x3f, + 0xca, 0x5a, 0xc4, 0x80, 0xfa, 0x21, 0x63, 0x91, 0x80, 0x60, 0x92, 0x50, + 0x6a, 0x4d, 0x11, 0xbe, 0xf3, 0x55, 0xd8, 0x27, +}; +static const unsigned char kat3481_addinpr1[] = {0}; +static const unsigned char kat3481_entropyinpr2[] = { + 0xc5, 0xc8, 0x7f, 0xa5, 0x84, 0x34, 0x81, 0xa1, 0xb3, 0x35, 0xb3, 0xb5, + 0xb6, 0x29, 0xdb, 0xff, 0x64, 0xec, 0xcd, 0x4a, 0x95, 0xed, 0x39, 0x69, + 0x38, 0x43, 0xcf, 0xae, 0x10, 0x0f, 0x70, 0xc3, +}; +static const unsigned char kat3481_addinpr2[] = {0}; +static const unsigned char kat3481_retbits[] = { + 0x17, 0xd2, 0xca, 0x11, 0xcb, 0x82, 0x8f, 0x43, 0xc0, 0xe4, 0x9f, 0x41, + 0x9e, 0x7d, 0xff, 0xab, 0xee, 0xdb, 0x56, 0xaf, 0x84, 0x6e, 0x60, 0x43, + 0x99, 0xea, 0xd7, 0xa6, 0x4c, 0xd8, 0xbc, 0xb9, 0xa8, 0xa5, 0x97, 0x39, + 0x21, 0x69, 0x8a, 0xe7, 0xc5, 0x4c, 0x32, 0x99, 0x01, 0x25, 0xe7, 0x78, + 0x9c, 0xb7, 0x37, 0x91, 0xc6, 0x3c, 0x78, 0x89, 0x56, 0x6c, 0x9f, 0xb4, + 0x6c, 0x18, 0x0b, 0x61, +}; +static const struct drbg_kat_pr_true kat3481_t = { + 0, kat3481_entropyin, kat3481_nonce, kat3481_persstr, + kat3481_entropyinpr1, kat3481_addinpr1, kat3481_entropyinpr2, + kat3481_addinpr2, kat3481_retbits +}; +static const struct drbg_kat kat3481 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3481_t +}; + +static const unsigned char kat3482_entropyin[] = { + 0xb3, 0x26, 0x3d, 0xd0, 0x82, 0xf0, 0x03, 0x62, 0x61, 0x70, 0xe9, 0x18, + 0x77, 0xba, 0x59, 0x32, 0x52, 0x6e, 0xc5, 0x80, 0x19, 0xee, 0x8b, 0x3f, + 0xcc, 0xbc, 0x05, 0x7a, 0xf7, 0x10, 0x58, 0x59, +}; +static const unsigned char kat3482_nonce[] = { + 0x7b, 0x1d, 0x5e, 0x79, 0x3d, 0xb6, 0xda, 0x07, 0xe4, 0xf8, 0xd7, 0x72, + 0xb9, 0xfb, 0x01, 0x85, +}; +static const unsigned char kat3482_persstr[] = {0}; +static const unsigned char kat3482_entropyinpr1[] = { + 0x5d, 0xbd, 0x68, 0xaa, 0x42, 0xaa, 0x48, 0xae, 0x4e, 0x55, 0xe4, 0x9b, + 0xbc, 0x58, 0xfd, 0x5b, 0xe8, 0x3f, 0x6b, 0x82, 0x0d, 0x49, 0xcd, 0x0a, + 0xc7, 0x91, 0x25, 0xb7, 0xfd, 0x70, 0x2e, 0xa0, +}; +static const unsigned char kat3482_addinpr1[] = {0}; +static const unsigned char kat3482_entropyinpr2[] = { + 0xae, 0xb0, 0xaf, 0xba, 0x7f, 0xa1, 0xd7, 0xb4, 0x44, 0x50, 0x87, 0x4a, + 0x2b, 0x48, 0x45, 0xc7, 0xe0, 0x7c, 0xfa, 0x3b, 0x38, 0xb7, 0x58, 0xa2, + 0xc4, 0xa1, 0xd4, 0x57, 0x5b, 0x7c, 0xe8, 0x14, +}; +static const unsigned char kat3482_addinpr2[] = {0}; +static const unsigned char kat3482_retbits[] = { + 0x77, 0x9a, 0x28, 0xbd, 0x4c, 0xc4, 0xb9, 0x92, 0xfe, 0x62, 0x2b, 0x7a, + 0x00, 0xee, 0x61, 0x4d, 0x23, 0xd3, 0x43, 0x9b, 0x8c, 0x48, 0x73, 0x61, + 0x0d, 0xcc, 0x25, 0x9e, 0xa4, 0x49, 0xc2, 0xd7, 0xa7, 0xca, 0xee, 0x22, + 0xa8, 0x0c, 0x07, 0x84, 0x7e, 0xb1, 0x82, 0x26, 0x44, 0xb4, 0x92, 0x7c, + 0x27, 0x0a, 0xf8, 0x9e, 0xad, 0x56, 0x18, 0xd6, 0x7d, 0x77, 0x1a, 0xf9, + 0x07, 0x72, 0x8a, 0xfd, +}; +static const struct drbg_kat_pr_true kat3482_t = { + 1, kat3482_entropyin, kat3482_nonce, kat3482_persstr, + kat3482_entropyinpr1, kat3482_addinpr1, kat3482_entropyinpr2, + kat3482_addinpr2, kat3482_retbits +}; +static const struct drbg_kat kat3482 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3482_t +}; + +static const unsigned char kat3483_entropyin[] = { + 0x4a, 0xbb, 0x8a, 0xb7, 0xcb, 0x8d, 0xd6, 0x6b, 0x74, 0xf6, 0x7a, 0x7c, + 0xbb, 0x2c, 0x6b, 0xfe, 0x21, 0x7a, 0x95, 0xf8, 0x2f, 0x84, 0xf8, 0x22, + 0x02, 0x24, 0x58, 0x73, 0x43, 0x4e, 0xdd, 0x0b, +}; +static const unsigned char kat3483_nonce[] = { + 0xe0, 0xeb, 0x5f, 0x37, 0xfd, 0xc8, 0xaa, 0xe7, 0xce, 0xdc, 0x9d, 0x46, + 0x9e, 0x29, 0x15, 0x35, +}; +static const unsigned char kat3483_persstr[] = {0}; +static const unsigned char kat3483_entropyinpr1[] = { + 0x58, 0x76, 0x37, 0xbd, 0x3b, 0xef, 0x94, 0xa0, 0x96, 0xee, 0xfd, 0xd6, + 0xbf, 0x4d, 0x9c, 0xbb, 0xbd, 0xab, 0x40, 0x23, 0xe4, 0xba, 0x24, 0xc0, + 0xda, 0x6c, 0x12, 0x2e, 0xd3, 0x7b, 0xda, 0x2e, +}; +static const unsigned char kat3483_addinpr1[] = {0}; +static const unsigned char kat3483_entropyinpr2[] = { + 0x08, 0xfa, 0xc1, 0xf1, 0xfb, 0xe4, 0x2a, 0x80, 0x4b, 0x29, 0x0c, 0xe2, + 0x23, 0xe5, 0x66, 0x9d, 0xf3, 0x6d, 0x78, 0xa1, 0x2d, 0x24, 0x0f, 0x1a, + 0xff, 0xed, 0x6e, 0x4d, 0x54, 0xef, 0x17, 0x83, +}; +static const unsigned char kat3483_addinpr2[] = {0}; +static const unsigned char kat3483_retbits[] = { + 0x44, 0xff, 0x27, 0x53, 0x5a, 0xae, 0x8a, 0x22, 0x21, 0xbb, 0x7e, 0x06, + 0x64, 0xbd, 0x21, 0xc1, 0x44, 0x13, 0x86, 0xce, 0x30, 0x18, 0x96, 0x4f, + 0x39, 0xd6, 0xb4, 0xc9, 0x5d, 0x60, 0x4d, 0xe8, 0x13, 0x1f, 0x75, 0x5f, + 0xdc, 0xdf, 0x05, 0xe8, 0xc4, 0xa2, 0x36, 0xde, 0x5e, 0x72, 0xbc, 0x80, + 0x0d, 0x46, 0x8e, 0xc4, 0x7c, 0x6b, 0x80, 0x2c, 0xd8, 0x08, 0x19, 0x30, + 0xb8, 0xde, 0xfb, 0x8b, +}; +static const struct drbg_kat_pr_true kat3483_t = { + 2, kat3483_entropyin, kat3483_nonce, kat3483_persstr, + kat3483_entropyinpr1, kat3483_addinpr1, kat3483_entropyinpr2, + kat3483_addinpr2, kat3483_retbits +}; +static const struct drbg_kat kat3483 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3483_t +}; + +static const unsigned char kat3484_entropyin[] = { + 0x14, 0x4a, 0x6f, 0x82, 0x5b, 0x41, 0x14, 0xd8, 0x99, 0xd9, 0x42, 0x50, + 0xa9, 0x34, 0xc8, 0xe9, 0xe5, 0x41, 0x13, 0x73, 0xb8, 0xf5, 0x03, 0x54, + 0x19, 0xf2, 0x70, 0x17, 0x50, 0x38, 0x9e, 0x7f, +}; +static const unsigned char kat3484_nonce[] = { + 0x79, 0xf4, 0xf9, 0xb9, 0x53, 0xad, 0xf2, 0x1a, 0x0a, 0x2b, 0x7a, 0xa7, + 0x15, 0x85, 0xbb, 0x6d, +}; +static const unsigned char kat3484_persstr[] = {0}; +static const unsigned char kat3484_entropyinpr1[] = { + 0xf9, 0x0e, 0x58, 0x6e, 0x14, 0xc5, 0x10, 0x86, 0xda, 0x0a, 0xfa, 0x32, + 0x9f, 0x80, 0x68, 0x02, 0x32, 0x76, 0xe9, 0x36, 0x47, 0x79, 0x7d, 0xa6, + 0x4b, 0x89, 0xb5, 0xdf, 0x0d, 0xd5, 0xa9, 0x42, +}; +static const unsigned char kat3484_addinpr1[] = {0}; +static const unsigned char kat3484_entropyinpr2[] = { + 0x43, 0xf1, 0x99, 0xc0, 0x93, 0xa0, 0xb5, 0x52, 0x35, 0xe5, 0x26, 0xda, + 0x6f, 0x2c, 0x32, 0xe7, 0xf9, 0x90, 0xa5, 0x0b, 0x4b, 0x74, 0x84, 0x92, + 0x4e, 0xdf, 0xb2, 0xe5, 0xc7, 0x35, 0xdb, 0xec, +}; +static const unsigned char kat3484_addinpr2[] = {0}; +static const unsigned char kat3484_retbits[] = { + 0xba, 0x08, 0x83, 0x16, 0xdd, 0xfe, 0x25, 0x3a, 0xe1, 0xfa, 0x37, 0x97, + 0x13, 0x87, 0x6a, 0x23, 0x62, 0xea, 0x0f, 0xad, 0x30, 0x7e, 0xf5, 0xaa, + 0x3d, 0x72, 0x55, 0x6d, 0x1f, 0xc5, 0xa1, 0xf5, 0x83, 0xb5, 0x4a, 0x0f, + 0x89, 0xc5, 0x99, 0xb4, 0x1d, 0x96, 0x84, 0xa3, 0xc7, 0x05, 0xba, 0x24, + 0xde, 0x6e, 0xea, 0x25, 0x5f, 0x3a, 0x9e, 0xf5, 0x84, 0x78, 0x1e, 0x9c, + 0xb3, 0xb6, 0x3b, 0x7e, +}; +static const struct drbg_kat_pr_true kat3484_t = { + 3, kat3484_entropyin, kat3484_nonce, kat3484_persstr, + kat3484_entropyinpr1, kat3484_addinpr1, kat3484_entropyinpr2, + kat3484_addinpr2, kat3484_retbits +}; +static const struct drbg_kat kat3484 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3484_t +}; + +static const unsigned char kat3485_entropyin[] = { + 0xc9, 0x1b, 0xa8, 0xd0, 0x5d, 0x8a, 0x1a, 0xb6, 0x7b, 0x52, 0x12, 0xb3, + 0x0e, 0x65, 0x47, 0x4d, 0x61, 0x2e, 0x11, 0x8d, 0x84, 0xa8, 0xe2, 0x53, + 0x36, 0x65, 0xcb, 0xd3, 0x44, 0x72, 0x7d, 0xb3, +}; +static const unsigned char kat3485_nonce[] = { + 0x54, 0xdb, 0xbd, 0xf9, 0x77, 0xf5, 0x45, 0x3d, 0x15, 0x26, 0x28, 0xc9, + 0x69, 0xb2, 0xe1, 0x8c, +}; +static const unsigned char kat3485_persstr[] = {0}; +static const unsigned char kat3485_entropyinpr1[] = { + 0x0d, 0x8c, 0xd3, 0xb8, 0x16, 0xb0, 0xd6, 0xd0, 0x1e, 0x34, 0x46, 0xc0, + 0x62, 0x6c, 0xcd, 0xba, 0x47, 0xbf, 0xde, 0x65, 0xba, 0x65, 0x16, 0x1b, + 0xb2, 0xc5, 0x6e, 0xe6, 0xb9, 0xd1, 0xec, 0xe7, +}; +static const unsigned char kat3485_addinpr1[] = {0}; +static const unsigned char kat3485_entropyinpr2[] = { + 0xcd, 0x9b, 0x27, 0xe7, 0x6e, 0xd3, 0x3a, 0xdc, 0xec, 0x38, 0x29, 0xb1, + 0xfa, 0x21, 0x48, 0x81, 0x81, 0xd8, 0x87, 0x96, 0xf3, 0x66, 0xb6, 0x44, + 0xc5, 0x4f, 0xf1, 0x33, 0x7c, 0xd6, 0x06, 0x9b, +}; +static const unsigned char kat3485_addinpr2[] = {0}; +static const unsigned char kat3485_retbits[] = { + 0x43, 0x4e, 0xff, 0x91, 0x96, 0xe6, 0xb3, 0x0c, 0x0e, 0xbf, 0x94, 0x44, + 0x31, 0x1e, 0x7a, 0xe9, 0x61, 0xea, 0x09, 0x0c, 0x59, 0x37, 0x49, 0xf7, + 0x5e, 0xb4, 0x33, 0xf4, 0x77, 0xf3, 0x69, 0x1b, 0x69, 0xfd, 0xe2, 0x97, + 0x6a, 0xdf, 0x59, 0x5f, 0xc7, 0x86, 0x31, 0xd6, 0xff, 0x00, 0x22, 0x38, + 0xd1, 0x82, 0x98, 0xd8, 0xcf, 0xe9, 0xeb, 0x31, 0xa7, 0x7f, 0x97, 0xed, + 0xbb, 0xf6, 0x61, 0x25, +}; +static const struct drbg_kat_pr_true kat3485_t = { + 4, kat3485_entropyin, kat3485_nonce, kat3485_persstr, + kat3485_entropyinpr1, kat3485_addinpr1, kat3485_entropyinpr2, + kat3485_addinpr2, kat3485_retbits +}; +static const struct drbg_kat kat3485 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3485_t +}; + +static const unsigned char kat3486_entropyin[] = { + 0xfb, 0x8b, 0xc3, 0xe0, 0x1c, 0x14, 0x5c, 0x09, 0x94, 0x98, 0x93, 0x2c, + 0xec, 0xd7, 0xe2, 0x1c, 0x7a, 0xb4, 0x76, 0xab, 0xa8, 0x24, 0x39, 0x19, + 0x11, 0xa4, 0xa7, 0xfd, 0xb1, 0x4f, 0x1a, 0x24, +}; +static const unsigned char kat3486_nonce[] = { + 0x7e, 0x85, 0x6a, 0xf3, 0xd7, 0xad, 0xe4, 0xc2, 0xb5, 0x5a, 0xd9, 0xb9, + 0x14, 0x67, 0xb7, 0x77, +}; +static const unsigned char kat3486_persstr[] = {0}; +static const unsigned char kat3486_entropyinpr1[] = { + 0xa6, 0x9c, 0x96, 0xff, 0x7a, 0x4a, 0xbe, 0x95, 0x48, 0x04, 0xe2, 0x20, + 0x53, 0xa1, 0x14, 0x84, 0x43, 0xd8, 0xe3, 0xac, 0x05, 0x26, 0x16, 0xc5, + 0xf7, 0xb3, 0xf3, 0xaf, 0x96, 0x05, 0x5a, 0xab, +}; +static const unsigned char kat3486_addinpr1[] = {0}; +static const unsigned char kat3486_entropyinpr2[] = { + 0x80, 0xd7, 0xfd, 0x18, 0x95, 0x33, 0x9c, 0x97, 0x4a, 0x82, 0xe2, 0x96, + 0x9b, 0xf2, 0x79, 0x28, 0x35, 0x45, 0xa6, 0xd9, 0xa8, 0xec, 0x50, 0x55, + 0x26, 0x03, 0xb8, 0x3d, 0xd6, 0x9c, 0xe6, 0xa8, +}; +static const unsigned char kat3486_addinpr2[] = {0}; +static const unsigned char kat3486_retbits[] = { + 0x88, 0x36, 0x93, 0x0c, 0x29, 0xb7, 0x51, 0x0c, 0x9c, 0xd7, 0x8e, 0x5d, + 0x84, 0x1b, 0xa8, 0xb3, 0xab, 0xe8, 0x2f, 0xaa, 0x69, 0x6d, 0x57, 0x06, + 0xed, 0x49, 0xc5, 0xb1, 0x15, 0x97, 0x3f, 0xaf, 0xb6, 0x30, 0x3e, 0x05, + 0x36, 0x11, 0xcb, 0xc1, 0x64, 0x70, 0x43, 0x2a, 0xff, 0x7e, 0xf7, 0x00, + 0x66, 0x89, 0x64, 0xe2, 0x07, 0xe4, 0x06, 0x06, 0x8f, 0xb3, 0x96, 0xf5, + 0xfe, 0x80, 0xe0, 0xce, +}; +static const struct drbg_kat_pr_true kat3486_t = { + 5, kat3486_entropyin, kat3486_nonce, kat3486_persstr, + kat3486_entropyinpr1, kat3486_addinpr1, kat3486_entropyinpr2, + kat3486_addinpr2, kat3486_retbits +}; +static const struct drbg_kat kat3486 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3486_t +}; + +static const unsigned char kat3487_entropyin[] = { + 0x00, 0x5b, 0x76, 0xa9, 0x3d, 0x2f, 0x77, 0x46, 0xf1, 0xf5, 0xe8, 0x9e, + 0x21, 0x4e, 0x3e, 0x58, 0x0c, 0x63, 0x90, 0xcb, 0x5b, 0xa8, 0xe1, 0xf6, + 0x49, 0x9d, 0x34, 0xee, 0x28, 0x97, 0xc9, 0x54, +}; +static const unsigned char kat3487_nonce[] = { + 0xad, 0xa2, 0x88, 0x12, 0xf6, 0xf3, 0x28, 0x96, 0x8f, 0xfa, 0x2a, 0x14, + 0x04, 0x9d, 0xa9, 0xa1, +}; +static const unsigned char kat3487_persstr[] = {0}; +static const unsigned char kat3487_entropyinpr1[] = { + 0xe8, 0xcf, 0xb9, 0x01, 0xc1, 0x93, 0x33, 0x81, 0xa7, 0xe3, 0x39, 0x84, + 0x14, 0x8a, 0x03, 0x82, 0x9a, 0xf1, 0x5b, 0x4a, 0xcd, 0x5b, 0x7c, 0xf6, + 0x65, 0xaf, 0xc6, 0x98, 0x02, 0x75, 0x68, 0xad, +}; +static const unsigned char kat3487_addinpr1[] = {0}; +static const unsigned char kat3487_entropyinpr2[] = { + 0xf8, 0x81, 0xb9, 0xf8, 0xd2, 0x33, 0x9f, 0x6e, 0xbf, 0xda, 0xf8, 0xcb, + 0x78, 0x22, 0x59, 0x9d, 0x72, 0x7f, 0x99, 0x4d, 0x14, 0x6e, 0x0b, 0x70, + 0xb9, 0x3b, 0xb1, 0x5f, 0x86, 0x4d, 0x6a, 0xc0, +}; +static const unsigned char kat3487_addinpr2[] = {0}; +static const unsigned char kat3487_retbits[] = { + 0x51, 0x59, 0xbe, 0x5c, 0xea, 0xc7, 0x02, 0x0f, 0x32, 0x02, 0x92, 0xb6, + 0xf7, 0x6f, 0x54, 0x1c, 0xa6, 0xc1, 0x6a, 0xd8, 0x2a, 0x6f, 0x78, 0xb5, + 0x2c, 0xa4, 0xa6, 0x63, 0xd5, 0x2b, 0x39, 0xca, 0x1e, 0x15, 0x30, 0xa0, + 0xc7, 0xce, 0xa3, 0x7a, 0x7f, 0x4e, 0x8f, 0xde, 0x44, 0xb8, 0xa2, 0xbc, + 0xef, 0xab, 0xdf, 0x29, 0xb1, 0x4e, 0x8d, 0x3d, 0x2d, 0x71, 0xe5, 0xb2, + 0x6b, 0x1e, 0x33, 0xcf, +}; +static const struct drbg_kat_pr_true kat3487_t = { + 6, kat3487_entropyin, kat3487_nonce, kat3487_persstr, + kat3487_entropyinpr1, kat3487_addinpr1, kat3487_entropyinpr2, + kat3487_addinpr2, kat3487_retbits +}; +static const struct drbg_kat kat3487 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3487_t +}; + +static const unsigned char kat3488_entropyin[] = { + 0x2f, 0x4b, 0xdd, 0x27, 0xcc, 0x2f, 0x84, 0x16, 0xa0, 0x26, 0x15, 0xa9, + 0x74, 0x77, 0xfd, 0xbd, 0x38, 0x8f, 0x9d, 0x6c, 0x78, 0xca, 0xa7, 0x7b, + 0x1e, 0xd3, 0xcc, 0x48, 0xf3, 0xfb, 0x73, 0x21, +}; +static const unsigned char kat3488_nonce[] = { + 0x41, 0xde, 0xa1, 0xf9, 0x37, 0xce, 0x02, 0x64, 0xe9, 0x10, 0xbb, 0x23, + 0x7b, 0xa9, 0x85, 0xc1, +}; +static const unsigned char kat3488_persstr[] = {0}; +static const unsigned char kat3488_entropyinpr1[] = { + 0x70, 0x0a, 0xe2, 0xa5, 0xa7, 0x70, 0x4e, 0x65, 0x78, 0x00, 0x39, 0x09, + 0x24, 0x2c, 0x60, 0x7a, 0xe5, 0x78, 0xe6, 0x1d, 0xf4, 0x23, 0xc9, 0x75, + 0xc6, 0x14, 0x9a, 0x4d, 0xbf, 0xb6, 0x6f, 0xf2, +}; +static const unsigned char kat3488_addinpr1[] = {0}; +static const unsigned char kat3488_entropyinpr2[] = { + 0x2c, 0xbd, 0x43, 0x01, 0xa9, 0x4a, 0x76, 0x1c, 0x87, 0x2d, 0xc3, 0x1a, + 0x42, 0xa1, 0xa9, 0x3b, 0x02, 0xbe, 0x96, 0xd4, 0xc6, 0x84, 0x30, 0x14, + 0xaf, 0x60, 0x5b, 0x01, 0x7b, 0xa7, 0x67, 0x07, +}; +static const unsigned char kat3488_addinpr2[] = {0}; +static const unsigned char kat3488_retbits[] = { + 0x88, 0x72, 0xff, 0xcb, 0x88, 0x78, 0x82, 0x33, 0xc4, 0x20, 0x17, 0xfa, + 0x22, 0x9e, 0xcf, 0xa0, 0x4e, 0x80, 0xfe, 0x34, 0x2a, 0x40, 0xc0, 0x69, + 0x9f, 0xa1, 0xf2, 0x15, 0xf6, 0x04, 0x3c, 0x1d, 0xbf, 0xf7, 0x2f, 0x77, + 0x61, 0x15, 0x5d, 0x4d, 0xa0, 0x50, 0x04, 0x13, 0x23, 0x28, 0x78, 0xee, + 0x7f, 0xaa, 0xe0, 0xc4, 0x25, 0xac, 0x0a, 0x50, 0xee, 0xf8, 0x99, 0x2b, + 0xbc, 0x30, 0xea, 0x90, +}; +static const struct drbg_kat_pr_true kat3488_t = { + 7, kat3488_entropyin, kat3488_nonce, kat3488_persstr, + kat3488_entropyinpr1, kat3488_addinpr1, kat3488_entropyinpr2, + kat3488_addinpr2, kat3488_retbits +}; +static const struct drbg_kat kat3488 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3488_t +}; + +static const unsigned char kat3489_entropyin[] = { + 0xef, 0xb3, 0xa5, 0xff, 0xdb, 0xda, 0x70, 0xd1, 0x2a, 0xed, 0xfc, 0xae, + 0xf8, 0x9b, 0xa7, 0x90, 0x26, 0x94, 0x67, 0x23, 0x1b, 0x88, 0x0f, 0x01, + 0x87, 0x0a, 0x60, 0xc1, 0x26, 0x0c, 0x46, 0xe9, +}; +static const unsigned char kat3489_nonce[] = { + 0xfc, 0x1e, 0x7f, 0xe0, 0x4c, 0x93, 0x53, 0xda, 0x29, 0xaa, 0x72, 0x44, + 0x50, 0xbd, 0x73, 0xeb, +}; +static const unsigned char kat3489_persstr[] = {0}; +static const unsigned char kat3489_entropyinpr1[] = { + 0xc0, 0x02, 0x63, 0x36, 0x2d, 0x31, 0x57, 0x4b, 0x93, 0x6c, 0xab, 0x20, + 0x70, 0x59, 0x61, 0xf4, 0x8b, 0x94, 0x22, 0x4b, 0x41, 0x12, 0x07, 0x53, + 0x33, 0x86, 0x26, 0x8b, 0x0a, 0x69, 0x2f, 0x09, +}; +static const unsigned char kat3489_addinpr1[] = {0}; +static const unsigned char kat3489_entropyinpr2[] = { + 0x35, 0xcd, 0x29, 0x3c, 0xf7, 0x82, 0x86, 0x32, 0x91, 0x71, 0xc9, 0x99, + 0x87, 0x84, 0x97, 0x20, 0xf4, 0x5d, 0xbb, 0x23, 0xe7, 0x9c, 0x60, 0xaa, + 0x5c, 0xbb, 0xbe, 0x3e, 0x12, 0xa9, 0x81, 0x9a, +}; +static const unsigned char kat3489_addinpr2[] = {0}; +static const unsigned char kat3489_retbits[] = { + 0x30, 0x2b, 0x18, 0x41, 0x44, 0xe2, 0xea, 0x2b, 0x78, 0xf7, 0xf6, 0x6a, + 0x06, 0x8e, 0xf5, 0xd4, 0xd4, 0xe6, 0x12, 0x87, 0xea, 0x68, 0x75, 0xb0, + 0x06, 0xe8, 0xf5, 0x97, 0x26, 0x86, 0x9d, 0xe2, 0xd0, 0xb9, 0x23, 0x21, + 0x4c, 0x9c, 0x35, 0x2f, 0x07, 0x3c, 0x1f, 0x18, 0x3d, 0x97, 0x45, 0x75, + 0x05, 0xb8, 0x6f, 0x28, 0x33, 0xde, 0xb7, 0xbd, 0x75, 0xf4, 0x16, 0x8a, + 0x72, 0x7d, 0xdb, 0x8f, +}; +static const struct drbg_kat_pr_true kat3489_t = { + 8, kat3489_entropyin, kat3489_nonce, kat3489_persstr, + kat3489_entropyinpr1, kat3489_addinpr1, kat3489_entropyinpr2, + kat3489_addinpr2, kat3489_retbits +}; +static const struct drbg_kat kat3489 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3489_t +}; + +static const unsigned char kat3490_entropyin[] = { + 0x8b, 0x4a, 0xfd, 0xeb, 0xae, 0xa8, 0x19, 0x95, 0x4d, 0x4f, 0x14, 0x0f, + 0x86, 0xe0, 0x7c, 0x7f, 0x10, 0x6a, 0x07, 0x43, 0x59, 0x7a, 0x6c, 0xf3, + 0xc8, 0x8b, 0x82, 0xdb, 0xec, 0xc1, 0xab, 0xa8, +}; +static const unsigned char kat3490_nonce[] = { + 0xd1, 0x52, 0x86, 0x69, 0x5a, 0x40, 0xd1, 0xe9, 0xd8, 0xda, 0xd1, 0x63, + 0xba, 0x9a, 0x88, 0xd0, +}; +static const unsigned char kat3490_persstr[] = {0}; +static const unsigned char kat3490_entropyinpr1[] = { + 0xea, 0x9d, 0x32, 0x7d, 0x1a, 0x2f, 0xae, 0xf2, 0xc0, 0x91, 0x0a, 0xbf, + 0xc5, 0x57, 0xf0, 0x5f, 0x75, 0x79, 0xb0, 0xc4, 0xbf, 0x29, 0x38, 0x0e, + 0xed, 0x9e, 0x05, 0xf5, 0x27, 0xe4, 0xeb, 0x1f, +}; +static const unsigned char kat3490_addinpr1[] = {0}; +static const unsigned char kat3490_entropyinpr2[] = { + 0x0e, 0xd6, 0x94, 0x4e, 0xac, 0xbc, 0x4a, 0x0b, 0x1e, 0x81, 0xc9, 0x5f, + 0x72, 0x00, 0xb2, 0x58, 0xaf, 0xb0, 0x4c, 0x5e, 0x43, 0x65, 0xab, 0x2e, + 0x92, 0x83, 0x3f, 0x8e, 0x0b, 0x4e, 0xeb, 0x2d, +}; +static const unsigned char kat3490_addinpr2[] = {0}; +static const unsigned char kat3490_retbits[] = { + 0x67, 0xb7, 0xff, 0x78, 0x0b, 0x3b, 0xb1, 0x49, 0x8a, 0xca, 0x41, 0xbf, + 0xad, 0x29, 0x16, 0xa4, 0xff, 0x16, 0x29, 0xab, 0x6b, 0x9f, 0x80, 0x4f, + 0x45, 0xa9, 0xed, 0xda, 0xc9, 0xbe, 0x33, 0xd1, 0xc6, 0x74, 0x81, 0x46, + 0x5b, 0x1d, 0x75, 0xfe, 0x37, 0xc4, 0x2b, 0x92, 0xc6, 0xfb, 0xba, 0x14, + 0xe1, 0x8b, 0x0f, 0x39, 0x3a, 0x64, 0xb3, 0x85, 0x44, 0xef, 0xa0, 0x55, + 0xeb, 0xb6, 0x82, 0x19, +}; +static const struct drbg_kat_pr_true kat3490_t = { + 9, kat3490_entropyin, kat3490_nonce, kat3490_persstr, + kat3490_entropyinpr1, kat3490_addinpr1, kat3490_entropyinpr2, + kat3490_addinpr2, kat3490_retbits +}; +static const struct drbg_kat kat3490 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3490_t +}; + +static const unsigned char kat3491_entropyin[] = { + 0xc4, 0x3e, 0xff, 0xee, 0x50, 0x10, 0xe9, 0xd7, 0x1e, 0x44, 0x99, 0x38, + 0xc1, 0x61, 0x48, 0xd9, 0x7d, 0x5f, 0x67, 0xba, 0xb4, 0x21, 0x03, 0x2a, + 0xc6, 0x2d, 0x65, 0x51, 0x68, 0xe0, 0xc0, 0x55, +}; +static const unsigned char kat3491_nonce[] = { + 0xa6, 0xb6, 0x95, 0xbb, 0xf8, 0xd2, 0xcc, 0x25, 0xfa, 0x4a, 0x0d, 0x71, + 0x0f, 0xbb, 0xc3, 0xbf, +}; +static const unsigned char kat3491_persstr[] = {0}; +static const unsigned char kat3491_entropyinpr1[] = { + 0xa2, 0xc2, 0xa6, 0x0b, 0x9b, 0xe7, 0x43, 0x8d, 0x50, 0xe3, 0xb6, 0xbe, + 0xd8, 0xd3, 0x3f, 0xdd, 0xc2, 0xd5, 0xa2, 0xbc, 0x2f, 0xd2, 0x4f, 0x70, + 0x16, 0x50, 0xe4, 0xdc, 0x74, 0x0d, 0x5e, 0x7a, +}; +static const unsigned char kat3491_addinpr1[] = {0}; +static const unsigned char kat3491_entropyinpr2[] = { + 0x21, 0x69, 0x71, 0xfc, 0x3b, 0x86, 0xf1, 0x93, 0x79, 0xfa, 0xb4, 0x62, + 0x8f, 0xe2, 0x57, 0xcf, 0x87, 0xd0, 0xaa, 0xc2, 0xca, 0xfd, 0x67, 0x7f, + 0xe2, 0x81, 0xdc, 0xd0, 0x08, 0x5d, 0x03, 0xfe, +}; +static const unsigned char kat3491_addinpr2[] = {0}; +static const unsigned char kat3491_retbits[] = { + 0xad, 0xac, 0x58, 0xc5, 0x4e, 0x80, 0x54, 0x08, 0x6a, 0x4a, 0x73, 0x5d, + 0x54, 0x5e, 0xb2, 0xb8, 0x32, 0x37, 0xd5, 0x8f, 0x6e, 0xde, 0x02, 0xe7, + 0x25, 0x97, 0x45, 0x79, 0xef, 0x2c, 0x35, 0x50, 0x40, 0xf4, 0x55, 0x26, + 0xb6, 0x33, 0xb0, 0x22, 0x1c, 0xec, 0x3a, 0x0d, 0x26, 0x42, 0xa9, 0xa7, + 0xa6, 0x8f, 0xd5, 0x32, 0x35, 0x16, 0x84, 0xcd, 0x54, 0x46, 0xaa, 0x63, + 0x02, 0xe2, 0x2a, 0x02, +}; +static const struct drbg_kat_pr_true kat3491_t = { + 10, kat3491_entropyin, kat3491_nonce, kat3491_persstr, + kat3491_entropyinpr1, kat3491_addinpr1, kat3491_entropyinpr2, + kat3491_addinpr2, kat3491_retbits +}; +static const struct drbg_kat kat3491 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3491_t +}; + +static const unsigned char kat3492_entropyin[] = { + 0x24, 0xa0, 0xfc, 0xa3, 0xbe, 0xa7, 0xd1, 0x50, 0xf4, 0xd2, 0xd5, 0x8d, + 0xb4, 0x8c, 0x76, 0x86, 0xef, 0xdb, 0xa1, 0xfb, 0x74, 0xc4, 0xa7, 0x05, + 0xe3, 0xbe, 0x49, 0x06, 0x67, 0x0c, 0xcd, 0xcb, +}; +static const unsigned char kat3492_nonce[] = { + 0xc9, 0xf3, 0x05, 0xef, 0x01, 0x24, 0x68, 0xa1, 0x19, 0xee, 0x4d, 0xa9, + 0x34, 0x53, 0x56, 0x76, +}; +static const unsigned char kat3492_persstr[] = {0}; +static const unsigned char kat3492_entropyinpr1[] = { + 0x1a, 0xed, 0xf5, 0x3e, 0xbb, 0x77, 0xf5, 0xfc, 0x09, 0x57, 0xa2, 0xee, + 0x9b, 0xe1, 0x95, 0x7b, 0xc0, 0x0b, 0x34, 0x32, 0x25, 0x6b, 0xbc, 0xc9, + 0x24, 0x37, 0x46, 0xff, 0xbd, 0x01, 0x1b, 0x0e, +}; +static const unsigned char kat3492_addinpr1[] = {0}; +static const unsigned char kat3492_entropyinpr2[] = { + 0xbd, 0x6f, 0xf8, 0x34, 0xa4, 0x2a, 0x6a, 0x7d, 0x0a, 0x89, 0x79, 0xb7, + 0x1a, 0x84, 0x9d, 0x14, 0xea, 0xe2, 0xf8, 0x6e, 0xf9, 0xa6, 0x58, 0x11, + 0x22, 0xfc, 0x91, 0x2f, 0xf5, 0x97, 0x45, 0x21, +}; +static const unsigned char kat3492_addinpr2[] = {0}; +static const unsigned char kat3492_retbits[] = { + 0x38, 0x9d, 0xf3, 0xb3, 0x29, 0x9c, 0xfe, 0x4a, 0xa0, 0x72, 0xa8, 0x21, + 0xa0, 0x28, 0xd5, 0x65, 0x86, 0x4a, 0xf2, 0xd9, 0x2e, 0xfb, 0xcc, 0xee, + 0xb5, 0x09, 0x6f, 0xc2, 0x18, 0x72, 0x33, 0x4b, 0x7d, 0x14, 0x1a, 0xb8, + 0xb3, 0xf3, 0x9b, 0xb9, 0x00, 0x9c, 0x81, 0x38, 0xc4, 0xd4, 0x9f, 0xce, + 0xae, 0x82, 0xc7, 0x94, 0x9d, 0x6b, 0x6f, 0x43, 0x1f, 0xe0, 0xa5, 0x52, + 0xca, 0x22, 0x66, 0x8b, +}; +static const struct drbg_kat_pr_true kat3492_t = { + 11, kat3492_entropyin, kat3492_nonce, kat3492_persstr, + kat3492_entropyinpr1, kat3492_addinpr1, kat3492_entropyinpr2, + kat3492_addinpr2, kat3492_retbits +}; +static const struct drbg_kat kat3492 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3492_t +}; + +static const unsigned char kat3493_entropyin[] = { + 0xe4, 0xc9, 0xcb, 0x62, 0x9b, 0xe9, 0x86, 0x5c, 0x87, 0x22, 0xa0, 0xd4, + 0xd3, 0x09, 0xc6, 0x05, 0xa3, 0x57, 0x03, 0xa8, 0xcd, 0x93, 0x6a, 0xe8, + 0xcf, 0xbc, 0xc1, 0x53, 0x9c, 0x1b, 0xbf, 0x00, +}; +static const unsigned char kat3493_nonce[] = { + 0x0f, 0xfe, 0x80, 0x46, 0x9c, 0xe0, 0x39, 0x77, 0xd8, 0x14, 0xd9, 0x18, + 0xf7, 0x68, 0x52, 0xd4, +}; +static const unsigned char kat3493_persstr[] = {0}; +static const unsigned char kat3493_entropyinpr1[] = { + 0x26, 0xcf, 0x01, 0x01, 0x37, 0x82, 0x1c, 0xcc, 0x59, 0x57, 0x40, 0x54, + 0xe3, 0x16, 0x9b, 0x62, 0xed, 0x83, 0xc9, 0xda, 0x5c, 0xdf, 0xc0, 0xd4, + 0x99, 0x9a, 0xf9, 0x80, 0x3c, 0x30, 0x27, 0x7d, +}; +static const unsigned char kat3493_addinpr1[] = {0}; +static const unsigned char kat3493_entropyinpr2[] = { + 0x00, 0x8b, 0x6f, 0xd3, 0xd1, 0xce, 0xba, 0x6a, 0xdd, 0xff, 0x19, 0xbd, + 0x53, 0x7b, 0x1b, 0x6b, 0x54, 0x93, 0x26, 0x5b, 0x05, 0x2b, 0xc2, 0xdd, + 0xd8, 0x03, 0x7b, 0x0b, 0xc0, 0x5d, 0xa1, 0xc6, +}; +static const unsigned char kat3493_addinpr2[] = {0}; +static const unsigned char kat3493_retbits[] = { + 0x5e, 0x81, 0xdd, 0x07, 0x2d, 0x50, 0xc9, 0x05, 0x1c, 0x5b, 0xa3, 0x71, + 0x9e, 0xf5, 0x18, 0xc3, 0x42, 0xa7, 0x75, 0xc0, 0xfe, 0x3e, 0xa1, 0x45, + 0xba, 0xe1, 0xbc, 0x34, 0x52, 0xcd, 0xcf, 0xd8, 0x96, 0x4b, 0x9b, 0x92, + 0xaf, 0x68, 0x14, 0x20, 0x54, 0x78, 0xf5, 0xe4, 0x3e, 0xf9, 0xdc, 0xad, + 0xc1, 0x8e, 0x64, 0x09, 0x65, 0x39, 0x96, 0x49, 0x30, 0x44, 0x33, 0x17, + 0xa5, 0x92, 0x97, 0xa8, +}; +static const struct drbg_kat_pr_true kat3493_t = { + 12, kat3493_entropyin, kat3493_nonce, kat3493_persstr, + kat3493_entropyinpr1, kat3493_addinpr1, kat3493_entropyinpr2, + kat3493_addinpr2, kat3493_retbits +}; +static const struct drbg_kat kat3493 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3493_t +}; + +static const unsigned char kat3494_entropyin[] = { + 0x60, 0xda, 0x47, 0x3f, 0x8d, 0x81, 0xf0, 0x38, 0x46, 0xda, 0x88, 0x21, + 0xee, 0xee, 0x12, 0xe3, 0x1d, 0x5a, 0x98, 0x91, 0xf3, 0xb4, 0x5c, 0xcb, + 0x91, 0x21, 0x8a, 0xde, 0x47, 0x1e, 0xe3, 0x7d, +}; +static const unsigned char kat3494_nonce[] = { + 0x79, 0x12, 0x79, 0x4f, 0x93, 0x78, 0xa9, 0x22, 0x5e, 0x59, 0x0e, 0x90, + 0x30, 0x1b, 0x56, 0x7d, +}; +static const unsigned char kat3494_persstr[] = {0}; +static const unsigned char kat3494_entropyinpr1[] = { + 0xed, 0xb6, 0x8d, 0xa6, 0x7e, 0x65, 0x9e, 0x6f, 0x6e, 0xfe, 0x6e, 0x62, + 0x34, 0xac, 0x2a, 0xe0, 0xd9, 0x22, 0x3f, 0xc0, 0x54, 0x92, 0x04, 0x40, + 0x4a, 0xf4, 0xf9, 0x3c, 0x6f, 0x4d, 0x5d, 0xb3, +}; +static const unsigned char kat3494_addinpr1[] = {0}; +static const unsigned char kat3494_entropyinpr2[] = { + 0x8c, 0xc0, 0x53, 0x6d, 0xc8, 0x3b, 0x53, 0x80, 0x74, 0xfc, 0x86, 0x40, + 0xad, 0x40, 0x6a, 0x0e, 0xbe, 0xe9, 0x57, 0x89, 0x86, 0xa7, 0x18, 0x7d, + 0x0a, 0xc2, 0x9f, 0x66, 0x1b, 0x36, 0xd2, 0xe3, +}; +static const unsigned char kat3494_addinpr2[] = {0}; +static const unsigned char kat3494_retbits[] = { + 0xae, 0x34, 0x74, 0x28, 0x2b, 0x13, 0x2d, 0xe6, 0x5c, 0x73, 0x21, 0xc3, + 0xfd, 0x19, 0x42, 0x92, 0xd8, 0x1f, 0xa2, 0x1a, 0xb6, 0xd5, 0xf3, 0x43, + 0x43, 0xc2, 0xcc, 0xdc, 0x64, 0x63, 0x41, 0x1d, 0x18, 0x75, 0xb7, 0x70, + 0xdb, 0x7b, 0x95, 0x32, 0xa5, 0x1a, 0x2c, 0x35, 0xca, 0x9f, 0x61, 0xe1, + 0xb1, 0xec, 0xb6, 0x09, 0x35, 0x6b, 0x0a, 0xc7, 0xec, 0xf4, 0xc9, 0x35, + 0x21, 0x75, 0xb2, 0x4d, +}; +static const struct drbg_kat_pr_true kat3494_t = { + 13, kat3494_entropyin, kat3494_nonce, kat3494_persstr, + kat3494_entropyinpr1, kat3494_addinpr1, kat3494_entropyinpr2, + kat3494_addinpr2, kat3494_retbits +}; +static const struct drbg_kat kat3494 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3494_t +}; + +static const unsigned char kat3495_entropyin[] = { + 0x45, 0x1b, 0xe1, 0xbe, 0x4f, 0x13, 0xb1, 0xc5, 0xb7, 0xda, 0x81, 0x6b, + 0x15, 0x11, 0xbc, 0x5a, 0x31, 0x54, 0x81, 0x4c, 0x43, 0xd2, 0x42, 0x02, + 0x23, 0x91, 0xaf, 0xe4, 0xf2, 0x77, 0x85, 0x04, +}; +static const unsigned char kat3495_nonce[] = { + 0x3d, 0x95, 0xfc, 0x04, 0xbe, 0x57, 0x2d, 0x0b, 0x82, 0xd6, 0x30, 0x86, + 0xab, 0x30, 0x0f, 0x55, +}; +static const unsigned char kat3495_persstr[] = {0}; +static const unsigned char kat3495_entropyinpr1[] = { + 0x93, 0x61, 0x6f, 0x22, 0x63, 0xa2, 0x6c, 0x9f, 0x07, 0x31, 0x0e, 0x37, + 0xbc, 0x7e, 0x42, 0xd2, 0xf3, 0xa0, 0x76, 0xc4, 0xef, 0x7b, 0x84, 0xdf, + 0xf4, 0x0a, 0xba, 0xd0, 0x1f, 0xa1, 0xd8, 0xe3, +}; +static const unsigned char kat3495_addinpr1[] = {0}; +static const unsigned char kat3495_entropyinpr2[] = { + 0x5b, 0x14, 0xf3, 0x8f, 0xeb, 0x74, 0x20, 0x63, 0xb9, 0x2f, 0x91, 0xc9, + 0x14, 0x04, 0x30, 0x00, 0x99, 0x77, 0x7a, 0x62, 0xd9, 0x42, 0x07, 0x3b, + 0x7a, 0xf1, 0x64, 0xd7, 0xdf, 0xc2, 0x1d, 0x11, +}; +static const unsigned char kat3495_addinpr2[] = {0}; +static const unsigned char kat3495_retbits[] = { + 0x85, 0x2b, 0x40, 0x52, 0xd2, 0x61, 0xb2, 0xc4, 0xae, 0x3d, 0x95, 0x04, + 0x9e, 0x99, 0xa9, 0x34, 0xc8, 0xa9, 0xe8, 0x20, 0xd5, 0x7b, 0x4c, 0xcc, + 0x64, 0x03, 0x1c, 0x27, 0x16, 0xbe, 0xf8, 0x9c, 0xa0, 0xef, 0x89, 0x32, + 0x53, 0xb7, 0x37, 0x27, 0x12, 0xe7, 0xef, 0x10, 0xa3, 0x40, 0xdc, 0x5c, + 0x55, 0xf3, 0x44, 0x89, 0x5c, 0xf3, 0x48, 0x74, 0xb4, 0x2b, 0x42, 0xa1, + 0x1f, 0xab, 0xce, 0xec, +}; +static const struct drbg_kat_pr_true kat3495_t = { + 14, kat3495_entropyin, kat3495_nonce, kat3495_persstr, + kat3495_entropyinpr1, kat3495_addinpr1, kat3495_entropyinpr2, + kat3495_addinpr2, kat3495_retbits +}; +static const struct drbg_kat kat3495 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3495_t +}; + +static const unsigned char kat3496_entropyin[] = { + 0x3f, 0xd2, 0x17, 0x84, 0x6d, 0xa9, 0x87, 0x38, 0xb8, 0xed, 0x51, 0x9b, + 0x3d, 0x61, 0x5d, 0x8d, 0x0c, 0xd0, 0x06, 0xbe, 0x1f, 0x24, 0x87, 0x72, + 0x65, 0x53, 0x67, 0xcf, 0x0f, 0x65, 0xb1, 0x0f, +}; +static const unsigned char kat3496_nonce[] = { + 0xeb, 0xaf, 0x09, 0xbb, 0x8b, 0xa3, 0x1e, 0xf9, 0xd8, 0x47, 0xae, 0x39, + 0xf8, 0x5d, 0x41, 0x50, +}; +static const unsigned char kat3496_persstr[] = {0}; +static const unsigned char kat3496_entropyinpr1[] = { + 0x28, 0xf5, 0xbf, 0x9c, 0x27, 0xdf, 0xae, 0x18, 0x62, 0x0f, 0xbc, 0xe6, + 0xe8, 0x9b, 0xbe, 0x38, 0xad, 0xe3, 0x56, 0x1e, 0xb8, 0xc7, 0x8b, 0xd2, + 0x43, 0x50, 0x63, 0xad, 0xe5, 0x58, 0xc3, 0x5a, +}; +static const unsigned char kat3496_addinpr1[] = { + 0xd8, 0xad, 0x85, 0x31, 0xf9, 0xb8, 0x8f, 0x5d, 0xcf, 0x9a, 0x6c, 0x4b, + 0x7d, 0x8e, 0x25, 0x78, 0x9b, 0x18, 0xb2, 0x9f, 0xd0, 0xac, 0x09, 0x7b, + 0x81, 0x91, 0x2e, 0x48, 0x56, 0x7b, 0x89, 0x2b, +}; +static const unsigned char kat3496_entropyinpr2[] = { + 0xc4, 0x53, 0x86, 0x22, 0x01, 0x47, 0xe2, 0x28, 0x24, 0x2d, 0xfb, 0xea, + 0x60, 0x28, 0x40, 0xa7, 0x63, 0xaa, 0xb5, 0x90, 0x10, 0x9f, 0x1c, 0x25, + 0xec, 0x66, 0x1a, 0x10, 0xc7, 0x16, 0xb3, 0xff, +}; +static const unsigned char kat3496_addinpr2[] = { + 0xfd, 0xd3, 0x3c, 0x05, 0x4d, 0xe2, 0x37, 0xd6, 0x44, 0x1b, 0x25, 0xfb, + 0xfc, 0xff, 0xb6, 0xbd, 0x29, 0xba, 0x5c, 0x5e, 0x02, 0xac, 0x01, 0x3c, + 0x91, 0x5a, 0x78, 0x70, 0x3e, 0xfa, 0x9d, 0x21, +}; +static const unsigned char kat3496_retbits[] = { + 0x47, 0x68, 0x36, 0xf6, 0x9a, 0x21, 0xd1, 0x27, 0x23, 0xe9, 0x4e, 0x7c, + 0xaf, 0xb4, 0x86, 0xc0, 0x4c, 0x77, 0xd7, 0xe1, 0xb8, 0x7a, 0xde, 0x17, + 0xea, 0xdd, 0xdd, 0x90, 0x62, 0x94, 0x79, 0x15, 0x29, 0x76, 0xd4, 0xfe, + 0xf6, 0xdd, 0xd9, 0x36, 0x59, 0x8f, 0xba, 0xd2, 0x18, 0xf4, 0xad, 0x42, + 0x3b, 0x1e, 0xa2, 0x0b, 0xfd, 0xd9, 0x9b, 0xa8, 0xae, 0x5e, 0x31, 0x7c, + 0x6c, 0x2a, 0x2d, 0x1e, +}; +static const struct drbg_kat_pr_true kat3496_t = { + 0, kat3496_entropyin, kat3496_nonce, kat3496_persstr, + kat3496_entropyinpr1, kat3496_addinpr1, kat3496_entropyinpr2, + kat3496_addinpr2, kat3496_retbits +}; +static const struct drbg_kat kat3496 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3496_t +}; + +static const unsigned char kat3497_entropyin[] = { + 0xb7, 0xd8, 0x43, 0xdd, 0x24, 0x13, 0xc5, 0x81, 0x93, 0x01, 0x51, 0x22, + 0x21, 0xf4, 0x46, 0x77, 0x46, 0x92, 0xd1, 0xd4, 0xb7, 0x96, 0xa3, 0x0f, + 0x17, 0xdd, 0x18, 0x9f, 0x89, 0xe0, 0x2a, 0x24, +}; +static const unsigned char kat3497_nonce[] = { + 0x13, 0x06, 0xb9, 0xe5, 0xc6, 0x4d, 0xe5, 0x12, 0x89, 0x2a, 0x3a, 0x4c, + 0x38, 0x05, 0xec, 0x25, +}; +static const unsigned char kat3497_persstr[] = {0}; +static const unsigned char kat3497_entropyinpr1[] = { + 0x6a, 0xeb, 0x3e, 0x2c, 0x97, 0xbd, 0x4b, 0xc2, 0x04, 0x7e, 0x37, 0xdf, + 0x34, 0x3a, 0x1c, 0xf4, 0x05, 0x55, 0xe2, 0xde, 0xac, 0x1d, 0x04, 0xcf, + 0x71, 0x38, 0xe3, 0x5c, 0xce, 0x0d, 0x91, 0x8b, +}; +static const unsigned char kat3497_addinpr1[] = { + 0xae, 0x61, 0xff, 0x8e, 0xf2, 0xcb, 0x4e, 0xaa, 0x48, 0x2c, 0x14, 0xe3, + 0xc4, 0x44, 0x9b, 0xc0, 0x1a, 0x85, 0x1a, 0xd0, 0xf0, 0xc3, 0xdb, 0x37, + 0x0a, 0x78, 0x15, 0xf7, 0xe8, 0x39, 0x82, 0x8c, +}; +static const unsigned char kat3497_entropyinpr2[] = { + 0x3d, 0xab, 0x9e, 0xb8, 0x60, 0x33, 0x0c, 0x13, 0xd9, 0x45, 0xdd, 0xc0, + 0x85, 0x91, 0x91, 0x68, 0xc3, 0x78, 0x12, 0x55, 0x6d, 0x6f, 0x4d, 0x45, + 0x00, 0x8f, 0xd4, 0x75, 0x4e, 0xe8, 0xb3, 0x1c, +}; +static const unsigned char kat3497_addinpr2[] = { + 0x9d, 0x97, 0x82, 0x32, 0x62, 0xd0, 0x0b, 0x1d, 0x91, 0x1f, 0x84, 0xfd, + 0xe9, 0xd4, 0xbe, 0x2b, 0xd9, 0x51, 0x87, 0x68, 0xce, 0xe6, 0x8a, 0xe1, + 0x1d, 0x7f, 0xb4, 0x87, 0x1b, 0x41, 0xe0, 0x9b, +}; +static const unsigned char kat3497_retbits[] = { + 0xf0, 0xe0, 0x09, 0x16, 0x59, 0x7d, 0x11, 0x55, 0xbc, 0x72, 0x73, 0xd8, + 0xc2, 0xfa, 0xc6, 0x1b, 0x1d, 0xf9, 0xa5, 0xb0, 0x10, 0xae, 0x94, 0x35, + 0xc1, 0x4c, 0x13, 0x23, 0x94, 0xab, 0xd9, 0x84, 0x89, 0xb4, 0x39, 0x47, + 0xb1, 0xfa, 0xaa, 0xb5, 0xa3, 0x4a, 0xa0, 0xce, 0x2d, 0x9b, 0xc3, 0xc4, + 0x3b, 0x83, 0x4b, 0xde, 0x50, 0x5e, 0xd2, 0x35, 0xc9, 0x03, 0x76, 0xb8, + 0x58, 0x86, 0x7c, 0xa5, +}; +static const struct drbg_kat_pr_true kat3497_t = { + 1, kat3497_entropyin, kat3497_nonce, kat3497_persstr, + kat3497_entropyinpr1, kat3497_addinpr1, kat3497_entropyinpr2, + kat3497_addinpr2, kat3497_retbits +}; +static const struct drbg_kat kat3497 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3497_t +}; + +static const unsigned char kat3498_entropyin[] = { + 0x59, 0x60, 0x67, 0x43, 0xdd, 0xef, 0x2a, 0x03, 0xcc, 0xf6, 0x66, 0xef, + 0xd5, 0x4f, 0x25, 0xc4, 0xc3, 0xcc, 0x30, 0x4c, 0x35, 0xbb, 0x2a, 0x50, + 0xa2, 0x67, 0x4f, 0x3f, 0x84, 0xbd, 0xad, 0xd7, +}; +static const unsigned char kat3498_nonce[] = { + 0x19, 0xc1, 0x84, 0x17, 0x4c, 0xb3, 0x60, 0xfe, 0x44, 0xf5, 0x39, 0xc3, + 0xd7, 0x49, 0x83, 0xe1, +}; +static const unsigned char kat3498_persstr[] = {0}; +static const unsigned char kat3498_entropyinpr1[] = { + 0x37, 0x6c, 0x65, 0x9e, 0x38, 0x35, 0xac, 0x5b, 0x82, 0x75, 0x6b, 0x5e, + 0xa9, 0x59, 0xae, 0xbb, 0xa9, 0x71, 0x87, 0x77, 0x06, 0xc2, 0xf1, 0x78, + 0xcb, 0xcf, 0x6a, 0x65, 0x35, 0x14, 0x49, 0x80, +}; +static const unsigned char kat3498_addinpr1[] = { + 0x4d, 0xeb, 0x16, 0x3e, 0x51, 0xe7, 0x49, 0x5d, 0x6a, 0x73, 0x5a, 0xdd, + 0x39, 0xb4, 0x61, 0xbb, 0x6c, 0xf4, 0xbb, 0xc5, 0x9d, 0xf5, 0xd9, 0x00, + 0x74, 0x45, 0x57, 0xff, 0xff, 0x34, 0xfd, 0xde, +}; +static const unsigned char kat3498_entropyinpr2[] = { + 0xd2, 0xfc, 0x76, 0x52, 0x94, 0x89, 0xa2, 0xd6, 0xf2, 0xef, 0x1d, 0xa3, + 0x9b, 0x15, 0x0d, 0x54, 0x4c, 0x80, 0xc9, 0xd8, 0x10, 0xff, 0x37, 0x11, + 0xab, 0x26, 0x6e, 0xd8, 0xa0, 0xc3, 0xd3, 0xcb, +}; +static const unsigned char kat3498_addinpr2[] = { + 0xf2, 0xfa, 0x6f, 0xd8, 0x89, 0x38, 0x36, 0x8f, 0x1e, 0x29, 0x90, 0x72, + 0xe1, 0x37, 0x9f, 0xe1, 0x33, 0x3c, 0x09, 0x1c, 0x80, 0x48, 0x75, 0xb0, + 0x53, 0xef, 0x62, 0x43, 0x74, 0x68, 0xef, 0x8a, +}; +static const unsigned char kat3498_retbits[] = { + 0xd7, 0xcd, 0x8a, 0x0c, 0x7b, 0xc9, 0x9e, 0x4b, 0x91, 0x09, 0xa9, 0xc8, + 0x5e, 0xef, 0xcd, 0x1e, 0x49, 0x60, 0xde, 0xb1, 0xd3, 0x55, 0xe5, 0x73, + 0xe8, 0xb2, 0xaf, 0xeb, 0x0f, 0x7b, 0x11, 0x40, 0x3e, 0xff, 0x99, 0x2b, + 0xdf, 0xaf, 0x01, 0x6a, 0x45, 0xf8, 0x1b, 0xc9, 0xbe, 0x6b, 0x96, 0xc4, + 0x03, 0xc9, 0xf8, 0x34, 0x9b, 0x9a, 0xd7, 0xb5, 0x99, 0x9d, 0xdb, 0x13, + 0xde, 0x58, 0xfd, 0xd8, +}; +static const struct drbg_kat_pr_true kat3498_t = { + 2, kat3498_entropyin, kat3498_nonce, kat3498_persstr, + kat3498_entropyinpr1, kat3498_addinpr1, kat3498_entropyinpr2, + kat3498_addinpr2, kat3498_retbits +}; +static const struct drbg_kat kat3498 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3498_t +}; + +static const unsigned char kat3499_entropyin[] = { + 0x38, 0x9a, 0xce, 0x66, 0x98, 0x6a, 0x72, 0x8e, 0x0a, 0x42, 0x38, 0x88, + 0xe5, 0x63, 0xde, 0xa7, 0x8b, 0x9d, 0x54, 0x8d, 0x91, 0x8b, 0xfc, 0x29, + 0x98, 0xc2, 0xa7, 0x4c, 0x33, 0xd0, 0xf2, 0x05, +}; +static const unsigned char kat3499_nonce[] = { + 0x6e, 0x0f, 0xa1, 0xd2, 0x53, 0xcf, 0x12, 0x7f, 0x69, 0xfc, 0x8f, 0x41, + 0x84, 0x1e, 0x54, 0x1a, +}; +static const unsigned char kat3499_persstr[] = {0}; +static const unsigned char kat3499_entropyinpr1[] = { + 0x4b, 0x50, 0x60, 0x78, 0x6b, 0xe8, 0xbb, 0xd2, 0xdd, 0x0d, 0xd5, 0xca, + 0xc7, 0xcf, 0xac, 0x3e, 0x40, 0x86, 0x5f, 0xe0, 0xfd, 0x0a, 0xfd, 0xe8, + 0x0a, 0xad, 0x84, 0xab, 0x83, 0x79, 0x6e, 0x58, +}; +static const unsigned char kat3499_addinpr1[] = { + 0x40, 0x0c, 0xe6, 0x2f, 0xa2, 0x27, 0x48, 0x90, 0xac, 0x2f, 0xb1, 0x88, + 0x97, 0x42, 0x2b, 0xbf, 0x80, 0xf6, 0x3f, 0x7a, 0x95, 0xf7, 0x0d, 0x1e, + 0xb6, 0xc3, 0x2d, 0x62, 0x61, 0x1e, 0xa9, 0x39, +}; +static const unsigned char kat3499_entropyinpr2[] = { + 0xac, 0x31, 0x8b, 0x14, 0x2d, 0x87, 0x75, 0x5a, 0x8a, 0xd9, 0xbf, 0xd2, + 0xd4, 0x1d, 0x29, 0xaf, 0xa6, 0xc3, 0x98, 0xd1, 0x6f, 0xa9, 0xe5, 0x1e, + 0xe5, 0xb0, 0xea, 0x30, 0x12, 0xd9, 0x37, 0xc1, +}; +static const unsigned char kat3499_addinpr2[] = { + 0xa5, 0x83, 0x4c, 0x14, 0x9c, 0x21, 0x81, 0x1c, 0xe1, 0x9f, 0x43, 0x53, + 0x53, 0x3f, 0xe6, 0x4b, 0x9a, 0xe4, 0xf3, 0x25, 0x74, 0x63, 0x98, 0xa5, + 0x4f, 0x46, 0x81, 0x85, 0xc0, 0xdf, 0x74, 0xc4, +}; +static const unsigned char kat3499_retbits[] = { + 0x58, 0x49, 0x13, 0xf2, 0x8a, 0x9f, 0x51, 0x01, 0x8b, 0x6f, 0x82, 0xa2, + 0x6f, 0x3d, 0xb3, 0x40, 0x94, 0x11, 0x72, 0xf8, 0xbc, 0x08, 0x87, 0x8c, + 0x5c, 0xcb, 0xe1, 0xa7, 0xe8, 0xaf, 0x8b, 0xca, 0x64, 0x42, 0xbb, 0xd4, + 0xf0, 0x41, 0x2e, 0x5e, 0xed, 0x7f, 0xca, 0x5b, 0x0b, 0x4e, 0xc0, 0x5b, + 0xd1, 0x4a, 0xdf, 0x84, 0x9e, 0xd9, 0xc7, 0xe7, 0x18, 0xd2, 0xa8, 0x19, + 0x1d, 0x29, 0x4c, 0x24, +}; +static const struct drbg_kat_pr_true kat3499_t = { + 3, kat3499_entropyin, kat3499_nonce, kat3499_persstr, + kat3499_entropyinpr1, kat3499_addinpr1, kat3499_entropyinpr2, + kat3499_addinpr2, kat3499_retbits +}; +static const struct drbg_kat kat3499 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3499_t +}; + +static const unsigned char kat3500_entropyin[] = { + 0x22, 0x7c, 0x5a, 0xf1, 0x70, 0xc3, 0x37, 0xb2, 0x18, 0x62, 0x3b, 0xb6, + 0x6e, 0xa1, 0x70, 0xb4, 0xdd, 0xca, 0xb1, 0xcf, 0xa4, 0x6d, 0xf8, 0x86, + 0x53, 0xcd, 0x67, 0x06, 0x8b, 0xd0, 0x52, 0xbd, +}; +static const unsigned char kat3500_nonce[] = { + 0x55, 0x91, 0x15, 0x8b, 0x53, 0x5b, 0x5d, 0xb2, 0x8d, 0x9f, 0xb4, 0xc4, + 0xa1, 0x14, 0xdc, 0x68, +}; +static const unsigned char kat3500_persstr[] = {0}; +static const unsigned char kat3500_entropyinpr1[] = { + 0x5e, 0x4f, 0x91, 0x47, 0x90, 0xe7, 0x27, 0x31, 0xaa, 0x98, 0xc7, 0xcb, + 0xc9, 0xb1, 0xd2, 0x63, 0xfa, 0xea, 0xa5, 0x6f, 0xfa, 0xfe, 0xc5, 0x8d, + 0x44, 0x3e, 0xbf, 0x0c, 0xb3, 0x88, 0xf8, 0x39, +}; +static const unsigned char kat3500_addinpr1[] = { + 0x14, 0x9d, 0x55, 0x86, 0x47, 0x8e, 0xb6, 0xbb, 0xe9, 0xbb, 0x00, 0x3a, + 0x6a, 0x49, 0x8a, 0x54, 0x09, 0x3a, 0xd6, 0x3d, 0x01, 0xd6, 0xe4, 0x6f, + 0x17, 0xd2, 0xa9, 0x54, 0x01, 0xb1, 0xec, 0x31, +}; +static const unsigned char kat3500_entropyinpr2[] = { + 0x98, 0x62, 0xbe, 0xaa, 0x4a, 0x68, 0x56, 0x09, 0xdc, 0xe0, 0x28, 0x1a, + 0x0f, 0x9b, 0xa3, 0xbe, 0x89, 0xa3, 0x80, 0x52, 0x41, 0x19, 0xf8, 0xc3, + 0x9d, 0xae, 0xf8, 0xe8, 0x46, 0xb4, 0x0b, 0xec, +}; +static const unsigned char kat3500_addinpr2[] = { + 0x13, 0xd6, 0x88, 0xf3, 0xad, 0x45, 0x74, 0xb9, 0x03, 0xf5, 0x6f, 0x65, + 0x70, 0x5d, 0xcc, 0x39, 0x10, 0x81, 0x15, 0x0c, 0xfd, 0x2e, 0xc7, 0x46, + 0x1f, 0xa1, 0xf8, 0xf5, 0xf6, 0x31, 0x9e, 0x60, +}; +static const unsigned char kat3500_retbits[] = { + 0x64, 0x7c, 0x5f, 0xd3, 0x1a, 0xd0, 0xfd, 0xb2, 0x5c, 0x18, 0x81, 0x54, + 0x62, 0x23, 0xa0, 0x6d, 0x5e, 0xba, 0xb3, 0x8b, 0x18, 0x85, 0xb8, 0x4b, + 0x7e, 0x4d, 0x7c, 0x05, 0xee, 0x58, 0xa4, 0x48, 0xb4, 0x4e, 0x17, 0x81, + 0xeb, 0xee, 0x66, 0x43, 0x52, 0x9e, 0x92, 0xad, 0xb1, 0xb5, 0x78, 0xa9, + 0xb0, 0x30, 0xa9, 0x13, 0x24, 0x5c, 0x2c, 0xff, 0x23, 0xd9, 0x19, 0x6d, + 0x46, 0xff, 0x6d, 0xe1, +}; +static const struct drbg_kat_pr_true kat3500_t = { + 4, kat3500_entropyin, kat3500_nonce, kat3500_persstr, + kat3500_entropyinpr1, kat3500_addinpr1, kat3500_entropyinpr2, + kat3500_addinpr2, kat3500_retbits +}; +static const struct drbg_kat kat3500 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3500_t +}; + +static const unsigned char kat3501_entropyin[] = { + 0xb4, 0x94, 0x41, 0xb3, 0x78, 0x7f, 0x63, 0x1c, 0x26, 0x3e, 0xa2, 0x22, + 0x85, 0x17, 0x76, 0xf7, 0x0f, 0x69, 0x3a, 0xef, 0x18, 0xf5, 0x0a, 0x4b, + 0x5c, 0x43, 0x15, 0xdf, 0x3e, 0xdf, 0x9c, 0xda, +}; +static const unsigned char kat3501_nonce[] = { + 0x73, 0xbd, 0x41, 0xc9, 0x29, 0x0a, 0x30, 0x5c, 0x66, 0xc6, 0x91, 0x21, + 0xf8, 0x2a, 0x13, 0x51, +}; +static const unsigned char kat3501_persstr[] = {0}; +static const unsigned char kat3501_entropyinpr1[] = { + 0x09, 0x4a, 0x19, 0x24, 0x3b, 0x65, 0x1c, 0xf3, 0xcb, 0xe9, 0x81, 0xbd, + 0x3a, 0x73, 0xa8, 0x68, 0xae, 0xf6, 0xa9, 0xef, 0x24, 0xf1, 0x87, 0x56, + 0x22, 0x77, 0x2a, 0x18, 0x77, 0x21, 0xc0, 0x5f, +}; +static const unsigned char kat3501_addinpr1[] = { + 0x49, 0x8f, 0xab, 0xf3, 0x09, 0x46, 0x1b, 0x64, 0xd8, 0x3e, 0x90, 0x6e, + 0x89, 0xf0, 0x3f, 0xff, 0x00, 0x40, 0x8f, 0x57, 0xb7, 0xd6, 0x4f, 0xff, + 0xc8, 0x8f, 0x5c, 0x50, 0xe5, 0x32, 0x5b, 0xc4, +}; +static const unsigned char kat3501_entropyinpr2[] = { + 0xb1, 0xf3, 0x09, 0x15, 0x36, 0xa2, 0xf9, 0x32, 0x0a, 0x8d, 0x21, 0x4e, + 0x9e, 0xe0, 0x04, 0xd1, 0xa5, 0x00, 0x8c, 0x92, 0x80, 0x0a, 0xcf, 0xf5, + 0xa3, 0x60, 0xe6, 0x2c, 0x86, 0x62, 0x76, 0x74, +}; +static const unsigned char kat3501_addinpr2[] = { + 0xbb, 0xf1, 0x46, 0xa1, 0x09, 0x5c, 0xcf, 0xf2, 0xb9, 0xd5, 0xd4, 0xb2, + 0x3b, 0x7f, 0xee, 0x42, 0x7d, 0x88, 0x0a, 0xdb, 0x2d, 0xbf, 0x2b, 0x4a, + 0xb3, 0x7b, 0x04, 0xfd, 0xe3, 0xab, 0x89, 0xcd, +}; +static const unsigned char kat3501_retbits[] = { + 0xb0, 0x1c, 0x18, 0x59, 0x27, 0x8d, 0x47, 0x04, 0x7a, 0xf0, 0x40, 0x31, + 0x73, 0xb4, 0x2c, 0xe7, 0x86, 0xb3, 0xa7, 0x2a, 0x29, 0xfe, 0x65, 0x20, + 0x84, 0x2b, 0x8a, 0x1e, 0x5d, 0xbb, 0xc6, 0x05, 0x04, 0x2b, 0x04, 0xd6, + 0xe6, 0xba, 0xed, 0x0a, 0x49, 0xe8, 0x27, 0xf4, 0x03, 0xfb, 0x98, 0xc4, + 0x5b, 0x5a, 0x71, 0xfa, 0x6d, 0x72, 0x12, 0xff, 0x63, 0xfe, 0x8e, 0x46, + 0xdf, 0xf6, 0x4c, 0xca, +}; +static const struct drbg_kat_pr_true kat3501_t = { + 5, kat3501_entropyin, kat3501_nonce, kat3501_persstr, + kat3501_entropyinpr1, kat3501_addinpr1, kat3501_entropyinpr2, + kat3501_addinpr2, kat3501_retbits +}; +static const struct drbg_kat kat3501 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3501_t +}; + +static const unsigned char kat3502_entropyin[] = { + 0xd8, 0x3f, 0x97, 0x95, 0x5d, 0x70, 0xe2, 0xb5, 0x6e, 0x55, 0xca, 0x23, + 0x1b, 0x56, 0x9e, 0xd2, 0x45, 0x8a, 0x9f, 0xd3, 0xbc, 0x69, 0x64, 0x4b, + 0x8a, 0x08, 0x93, 0xd2, 0x90, 0x0a, 0x84, 0xf1, +}; +static const unsigned char kat3502_nonce[] = { + 0x92, 0x5b, 0xaa, 0xa7, 0x1f, 0x4b, 0x50, 0x4b, 0xf8, 0x72, 0x59, 0x0e, + 0xd8, 0x80, 0x7f, 0x31, +}; +static const unsigned char kat3502_persstr[] = {0}; +static const unsigned char kat3502_entropyinpr1[] = { + 0x69, 0x9e, 0x2e, 0x39, 0xae, 0x7a, 0xc4, 0x34, 0x36, 0x79, 0x0f, 0xad, + 0x95, 0x84, 0x5f, 0x43, 0x44, 0xb8, 0xb3, 0xf6, 0x42, 0x1d, 0xa2, 0x67, + 0x82, 0xd6, 0xfd, 0x57, 0x42, 0xf5, 0x23, 0x00, +}; +static const unsigned char kat3502_addinpr1[] = { + 0x11, 0x4d, 0xc9, 0x9a, 0x93, 0x85, 0x54, 0x54, 0xf8, 0x28, 0x4d, 0x2b, + 0x54, 0x4b, 0xc8, 0x3d, 0x19, 0x13, 0xb1, 0x86, 0x98, 0x92, 0x24, 0x72, + 0x59, 0x35, 0xc7, 0x1a, 0xf7, 0x7e, 0x8a, 0x75, +}; +static const unsigned char kat3502_entropyinpr2[] = { + 0x06, 0x03, 0x0e, 0x98, 0xfe, 0x7b, 0xd5, 0x6d, 0xa3, 0x58, 0xdb, 0x6b, + 0x99, 0x35, 0x90, 0x6d, 0xe1, 0x68, 0x6f, 0xb7, 0x3b, 0x57, 0x00, 0xbf, + 0x10, 0xcd, 0x3c, 0x63, 0x57, 0x48, 0x25, 0x00, +}; +static const unsigned char kat3502_addinpr2[] = { + 0xdb, 0x02, 0xfe, 0x02, 0xf7, 0xf2, 0xb6, 0x88, 0x4e, 0x64, 0x00, 0xe3, + 0xea, 0xc5, 0xa7, 0x4f, 0x61, 0x4d, 0x66, 0xd1, 0x07, 0xec, 0x4b, 0x30, + 0x7a, 0x2c, 0x86, 0xe6, 0xaa, 0xee, 0x8f, 0xa4, +}; +static const unsigned char kat3502_retbits[] = { + 0xb1, 0x55, 0xbd, 0xab, 0xf3, 0x0f, 0xe2, 0x84, 0xbb, 0x94, 0x6a, 0xe7, + 0x94, 0xa7, 0xa6, 0xb0, 0xb7, 0x79, 0x6e, 0x05, 0xcb, 0xc5, 0xe5, 0xb8, + 0x22, 0xdb, 0xd1, 0xd1, 0xbf, 0x57, 0x60, 0x2f, 0x44, 0xb6, 0x14, 0x6e, + 0x52, 0x9d, 0x40, 0xc0, 0x1b, 0x32, 0xa1, 0x00, 0xca, 0x53, 0x5b, 0xbf, + 0x83, 0xe5, 0x1a, 0x4d, 0x6b, 0x5b, 0x43, 0xb3, 0xc1, 0xb0, 0x47, 0x37, + 0x6c, 0x7d, 0x00, 0x90, +}; +static const struct drbg_kat_pr_true kat3502_t = { + 6, kat3502_entropyin, kat3502_nonce, kat3502_persstr, + kat3502_entropyinpr1, kat3502_addinpr1, kat3502_entropyinpr2, + kat3502_addinpr2, kat3502_retbits +}; +static const struct drbg_kat kat3502 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3502_t +}; + +static const unsigned char kat3503_entropyin[] = { + 0x43, 0xe9, 0x55, 0xd2, 0xf0, 0x8f, 0x18, 0x24, 0x66, 0x5c, 0xfd, 0x02, + 0x86, 0x8e, 0xc9, 0xdb, 0x4c, 0x04, 0x16, 0xfa, 0xf7, 0xf3, 0x7b, 0xaf, + 0x09, 0x6e, 0x0e, 0x0c, 0xb3, 0x0d, 0x38, 0xda, +}; +static const unsigned char kat3503_nonce[] = { + 0x6c, 0x97, 0x9a, 0xa0, 0x9b, 0xb6, 0x49, 0xa5, 0x55, 0xb5, 0x2a, 0xea, + 0xb8, 0xc4, 0x77, 0x01, +}; +static const unsigned char kat3503_persstr[] = {0}; +static const unsigned char kat3503_entropyinpr1[] = { + 0x93, 0xa2, 0x23, 0x8b, 0x5d, 0x53, 0xd5, 0x1f, 0x0f, 0xbf, 0x8b, 0x00, + 0x0c, 0x8b, 0xd2, 0xa1, 0x7f, 0x1b, 0xed, 0xe3, 0x39, 0xe9, 0xdb, 0xb0, + 0x09, 0xd0, 0xfa, 0x20, 0x32, 0xea, 0x5e, 0x3f, +}; +static const unsigned char kat3503_addinpr1[] = { + 0xfe, 0x3f, 0x7c, 0x1b, 0x41, 0x6f, 0xcf, 0x86, 0x43, 0x4f, 0xc4, 0x37, + 0x79, 0x3c, 0xbd, 0x57, 0x25, 0xa3, 0x11, 0x59, 0x98, 0x65, 0x5d, 0xbd, + 0xf7, 0x6a, 0x26, 0x44, 0x2f, 0xb8, 0xd4, 0xd6, +}; +static const unsigned char kat3503_entropyinpr2[] = { + 0x43, 0x7a, 0xd5, 0x15, 0x84, 0xd1, 0xda, 0x7f, 0x8d, 0x19, 0x5f, 0x20, + 0xd0, 0x5d, 0xa5, 0x16, 0xcf, 0x4e, 0x7e, 0xd7, 0xa2, 0x68, 0x0e, 0x39, + 0x2e, 0xb7, 0xb5, 0x47, 0xb0, 0xb1, 0x9d, 0xcb, +}; +static const unsigned char kat3503_addinpr2[] = { + 0x58, 0x3f, 0x79, 0x96, 0x15, 0x61, 0x90, 0xe0, 0xeb, 0x27, 0x86, 0x4b, + 0xd4, 0xf2, 0x4d, 0x09, 0x98, 0x46, 0xc4, 0x7d, 0x97, 0x2e, 0xe2, 0x89, + 0x82, 0xd5, 0xfa, 0x04, 0x4f, 0x74, 0x9d, 0x6d, +}; +static const unsigned char kat3503_retbits[] = { + 0x99, 0xf7, 0xaa, 0x5b, 0x62, 0x07, 0x0b, 0xf1, 0xc4, 0x30, 0x2c, 0x20, + 0x7c, 0xe8, 0x63, 0x2d, 0x18, 0x10, 0x65, 0x0e, 0x1f, 0x3c, 0x79, 0x3e, + 0xa3, 0xd8, 0x1d, 0x4a, 0xa7, 0x13, 0x47, 0x12, 0x5e, 0x76, 0x2e, 0xd4, + 0x54, 0xb6, 0x23, 0xe7, 0x5d, 0xb4, 0x55, 0x89, 0x0e, 0x2d, 0xc8, 0x51, + 0x16, 0xfc, 0xff, 0xfa, 0x6c, 0x3a, 0x21, 0x60, 0xdb, 0x97, 0x65, 0x50, + 0xe2, 0x18, 0x22, 0xca, +}; +static const struct drbg_kat_pr_true kat3503_t = { + 7, kat3503_entropyin, kat3503_nonce, kat3503_persstr, + kat3503_entropyinpr1, kat3503_addinpr1, kat3503_entropyinpr2, + kat3503_addinpr2, kat3503_retbits +}; +static const struct drbg_kat kat3503 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3503_t +}; + +static const unsigned char kat3504_entropyin[] = { + 0x7c, 0xc0, 0x77, 0x3c, 0x7e, 0xba, 0xe7, 0x47, 0x76, 0xec, 0x58, 0x54, + 0x21, 0x38, 0xf4, 0x90, 0x7e, 0x20, 0xc0, 0x88, 0x92, 0x27, 0xfc, 0xba, + 0xef, 0xcc, 0x29, 0x71, 0xa8, 0xc3, 0xbf, 0x75, +}; +static const unsigned char kat3504_nonce[] = { + 0xdf, 0xc5, 0xb7, 0xac, 0xde, 0x00, 0xee, 0x0d, 0xb3, 0x48, 0x4d, 0x27, + 0xab, 0xd1, 0x8d, 0x1d, +}; +static const unsigned char kat3504_persstr[] = {0}; +static const unsigned char kat3504_entropyinpr1[] = { + 0xe9, 0x2d, 0xa5, 0x38, 0x1b, 0x16, 0x38, 0x74, 0x74, 0xf7, 0xb2, 0xd2, + 0xb5, 0x76, 0x7d, 0xde, 0x76, 0xa8, 0x36, 0xb1, 0x0f, 0xe5, 0x4c, 0x29, + 0x78, 0x90, 0xe6, 0x7b, 0xe9, 0x2e, 0x71, 0x7f, +}; +static const unsigned char kat3504_addinpr1[] = { + 0xad, 0x78, 0xd1, 0xac, 0xd8, 0x75, 0x83, 0x84, 0xee, 0xf4, 0xb7, 0xad, + 0x48, 0xaa, 0x54, 0x68, 0xd5, 0xf9, 0x77, 0x7f, 0x4f, 0x4f, 0xaf, 0x3b, + 0x44, 0x83, 0xaa, 0x67, 0x8e, 0x7a, 0xfa, 0x83, +}; +static const unsigned char kat3504_entropyinpr2[] = { + 0x2a, 0x0c, 0x8b, 0xdd, 0x54, 0x31, 0x96, 0xdf, 0x25, 0xde, 0x9d, 0xe6, + 0x29, 0x91, 0xfb, 0xc7, 0xfa, 0x67, 0x52, 0x3a, 0x2b, 0x97, 0x39, 0xd7, + 0x60, 0xbc, 0xbd, 0x6d, 0xfc, 0xdb, 0xbd, 0x4d, +}; +static const unsigned char kat3504_addinpr2[] = { + 0xf5, 0x73, 0xab, 0x82, 0xe7, 0xbf, 0x38, 0xfe, 0xe9, 0x7b, 0x06, 0x9d, + 0x83, 0x34, 0x98, 0xcc, 0x29, 0x92, 0xb0, 0xaa, 0x16, 0xd6, 0x2a, 0x6a, + 0xd1, 0xf4, 0x93, 0x31, 0xbc, 0xbb, 0x68, 0x52, +}; +static const unsigned char kat3504_retbits[] = { + 0xac, 0x73, 0x54, 0xfb, 0x97, 0xe0, 0x9e, 0x2f, 0x5d, 0x29, 0x89, 0xe5, + 0x14, 0xf6, 0xe3, 0xcb, 0x83, 0xfc, 0xef, 0x4d, 0x76, 0x50, 0x2c, 0x9f, + 0xaa, 0x85, 0x19, 0x28, 0x88, 0x74, 0x49, 0xdb, 0x45, 0xf9, 0x01, 0x88, + 0x33, 0x24, 0x47, 0x21, 0x43, 0xd5, 0x71, 0xbb, 0xd4, 0xea, 0x72, 0xa7, + 0x1f, 0xc7, 0x01, 0x35, 0xde, 0x63, 0xe6, 0x81, 0x5a, 0x35, 0x36, 0x18, + 0x9b, 0x9f, 0x92, 0x3a, +}; +static const struct drbg_kat_pr_true kat3504_t = { + 8, kat3504_entropyin, kat3504_nonce, kat3504_persstr, + kat3504_entropyinpr1, kat3504_addinpr1, kat3504_entropyinpr2, + kat3504_addinpr2, kat3504_retbits +}; +static const struct drbg_kat kat3504 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3504_t +}; + +static const unsigned char kat3505_entropyin[] = { + 0x44, 0x04, 0x48, 0x14, 0x99, 0x19, 0x90, 0xde, 0xbc, 0x84, 0x27, 0x63, + 0xe2, 0x92, 0xce, 0x36, 0x77, 0x95, 0x1c, 0x50, 0x92, 0x85, 0xf0, 0x9e, + 0xfe, 0x03, 0x99, 0xcf, 0x1b, 0x35, 0xa7, 0xd5, +}; +static const unsigned char kat3505_nonce[] = { + 0x5b, 0xfa, 0x9c, 0x26, 0x05, 0xbe, 0x64, 0x69, 0xc0, 0x5e, 0x30, 0xc7, + 0xa4, 0x91, 0xdc, 0xd3, +}; +static const unsigned char kat3505_persstr[] = {0}; +static const unsigned char kat3505_entropyinpr1[] = { + 0x04, 0x26, 0xc1, 0x42, 0xe2, 0xd5, 0x99, 0x1f, 0xab, 0x81, 0x1d, 0x11, + 0xcf, 0xcc, 0xe2, 0xa3, 0x4b, 0xf4, 0xad, 0x86, 0x81, 0xb7, 0x09, 0x53, + 0xc6, 0x77, 0x47, 0x64, 0xe6, 0xf0, 0x9d, 0xeb, +}; +static const unsigned char kat3505_addinpr1[] = { + 0xa1, 0xf7, 0xff, 0x3d, 0x0a, 0xf6, 0xe3, 0x04, 0x37, 0x2c, 0xa3, 0xdf, + 0xb8, 0x97, 0x19, 0x45, 0x9c, 0xc4, 0xd0, 0x3a, 0x25, 0x79, 0x43, 0x9d, + 0xf3, 0x87, 0xd3, 0xc8, 0xe7, 0xa1, 0xfc, 0x6b, +}; +static const unsigned char kat3505_entropyinpr2[] = { + 0xf4, 0xee, 0x6f, 0x0e, 0xb5, 0x7d, 0xd9, 0xf2, 0xa6, 0x8d, 0x7f, 0xea, + 0x38, 0xf3, 0x9f, 0xe5, 0x36, 0x58, 0x0e, 0x09, 0xe2, 0x56, 0x5a, 0x1d, + 0xc9, 0x72, 0xd3, 0x8b, 0x9d, 0xf1, 0xa5, 0xa9, +}; +static const unsigned char kat3505_addinpr2[] = { + 0x95, 0xf4, 0x6b, 0x9d, 0x49, 0xc5, 0xa6, 0x5c, 0xd9, 0x91, 0xb6, 0xb7, + 0xbe, 0xde, 0xcc, 0x51, 0x5c, 0x73, 0x8a, 0x1a, 0x4f, 0x07, 0x89, 0x1b, + 0x18, 0x2b, 0x06, 0x93, 0xd7, 0x8d, 0x21, 0x96, +}; +static const unsigned char kat3505_retbits[] = { + 0x30, 0xc2, 0x73, 0x78, 0x12, 0xc4, 0xfc, 0xbe, 0x24, 0x5c, 0xa7, 0x29, + 0x2e, 0x44, 0xbe, 0xf1, 0x77, 0xf6, 0x04, 0x83, 0x20, 0xb9, 0xe1, 0x1f, + 0xae, 0xcb, 0x1d, 0xdf, 0xdb, 0x6d, 0x6d, 0xeb, 0xa0, 0x94, 0xf3, 0xdb, + 0x49, 0x7d, 0xed, 0xef, 0xa1, 0xa9, 0x3f, 0x41, 0xc9, 0xab, 0xa7, 0x10, + 0x9f, 0x75, 0xcd, 0x7b, 0x26, 0xac, 0x21, 0xdf, 0xe2, 0x74, 0xec, 0xb7, + 0xb9, 0x7f, 0x9a, 0x7c, +}; +static const struct drbg_kat_pr_true kat3505_t = { + 9, kat3505_entropyin, kat3505_nonce, kat3505_persstr, + kat3505_entropyinpr1, kat3505_addinpr1, kat3505_entropyinpr2, + kat3505_addinpr2, kat3505_retbits +}; +static const struct drbg_kat kat3505 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3505_t +}; + +static const unsigned char kat3506_entropyin[] = { + 0x26, 0x54, 0xb8, 0x39, 0xa1, 0xec, 0xdf, 0x06, 0x10, 0xaa, 0x87, 0x65, + 0x0b, 0xe8, 0x10, 0x5a, 0x3c, 0xdc, 0xdd, 0xe0, 0x4d, 0x77, 0x39, 0x6e, + 0x77, 0xb3, 0xd5, 0x8e, 0xce, 0x7c, 0x91, 0x77, +}; +static const unsigned char kat3506_nonce[] = { + 0xc0, 0x02, 0xf7, 0x46, 0xdb, 0xae, 0xd3, 0xae, 0x5b, 0xb6, 0xc0, 0xad, + 0xc2, 0x34, 0x7d, 0x49, +}; +static const unsigned char kat3506_persstr[] = {0}; +static const unsigned char kat3506_entropyinpr1[] = { + 0x2a, 0x16, 0xa5, 0xf0, 0x17, 0x60, 0x53, 0x13, 0x93, 0x39, 0x8a, 0x9c, + 0xda, 0x89, 0xbc, 0xe8, 0x2a, 0x0a, 0x76, 0x1f, 0xb3, 0x20, 0x3f, 0xd1, + 0x07, 0x77, 0xd3, 0x95, 0x45, 0x83, 0x0a, 0xbd, +}; +static const unsigned char kat3506_addinpr1[] = { + 0x0a, 0x8f, 0x6f, 0x3f, 0x24, 0x92, 0xca, 0x87, 0x83, 0xef, 0x9e, 0x49, + 0xb6, 0x0a, 0xbd, 0xb5, 0x47, 0x9e, 0xe4, 0x45, 0x55, 0x36, 0xe6, 0x5b, + 0x18, 0x99, 0xd7, 0x50, 0x25, 0xb2, 0x2e, 0x47, +}; +static const unsigned char kat3506_entropyinpr2[] = { + 0x84, 0x28, 0xff, 0x87, 0x82, 0x88, 0x83, 0x0f, 0x9f, 0x4d, 0xf3, 0xb9, + 0xa4, 0x24, 0x19, 0x1c, 0xcd, 0xd6, 0x18, 0xc8, 0x73, 0xb7, 0x1e, 0x8a, + 0xa6, 0x57, 0xd1, 0x30, 0xd4, 0x1b, 0x46, 0x8b, +}; +static const unsigned char kat3506_addinpr2[] = { + 0x75, 0xd3, 0x55, 0x2a, 0xe3, 0x5d, 0x1d, 0xa4, 0xda, 0x77, 0xb7, 0xd7, + 0x40, 0x3c, 0x0b, 0x30, 0xc1, 0x9e, 0x13, 0xaa, 0x25, 0xe2, 0x59, 0xdc, + 0x04, 0x4b, 0x3f, 0x1d, 0x1b, 0xe7, 0x68, 0x3b, +}; +static const unsigned char kat3506_retbits[] = { + 0x23, 0x28, 0x0c, 0x43, 0x29, 0x52, 0x4e, 0xe7, 0x7d, 0x6a, 0xe8, 0xfa, + 0x6e, 0x37, 0x7f, 0xff, 0x35, 0x0d, 0xf4, 0xf5, 0xf5, 0xb7, 0xa0, 0x17, + 0xd9, 0xbe, 0x3d, 0x24, 0x6e, 0x6b, 0x37, 0x02, 0x6c, 0xdd, 0xa2, 0x3e, + 0x8e, 0x51, 0x7c, 0x95, 0x4d, 0xa6, 0x92, 0x8b, 0x94, 0x7a, 0x21, 0x28, + 0x0d, 0xaa, 0x9e, 0x35, 0xf6, 0x9f, 0x41, 0x68, 0x6b, 0xe5, 0x66, 0x26, + 0x76, 0x6c, 0x6f, 0x0d, +}; +static const struct drbg_kat_pr_true kat3506_t = { + 10, kat3506_entropyin, kat3506_nonce, kat3506_persstr, + kat3506_entropyinpr1, kat3506_addinpr1, kat3506_entropyinpr2, + kat3506_addinpr2, kat3506_retbits +}; +static const struct drbg_kat kat3506 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3506_t +}; + +static const unsigned char kat3507_entropyin[] = { + 0x49, 0xe5, 0x48, 0x72, 0xbc, 0x61, 0xde, 0x4e, 0xc9, 0x4d, 0xff, 0xf9, + 0xd6, 0xfe, 0x51, 0x07, 0xe2, 0x6b, 0xc3, 0x80, 0xf6, 0x8b, 0x63, 0xbb, + 0x2a, 0x86, 0x5b, 0x99, 0xc3, 0x2a, 0x18, 0x23, +}; +static const unsigned char kat3507_nonce[] = { + 0x61, 0x63, 0xb0, 0xa2, 0x4c, 0xa5, 0xfc, 0xb3, 0x6c, 0xcc, 0xd6, 0xae, + 0xfc, 0xf2, 0x03, 0x85, +}; +static const unsigned char kat3507_persstr[] = {0}; +static const unsigned char kat3507_entropyinpr1[] = { + 0xc8, 0x1b, 0x37, 0x3f, 0x7e, 0x2f, 0x92, 0x98, 0xf3, 0x4f, 0xce, 0xf2, + 0x8c, 0x9d, 0xd6, 0x21, 0x08, 0xa5, 0x9c, 0xad, 0x6d, 0xbb, 0x4b, 0x3f, + 0x99, 0x3c, 0xe0, 0x87, 0x52, 0xc1, 0xf1, 0x7a, +}; +static const unsigned char kat3507_addinpr1[] = { + 0x38, 0xde, 0x6a, 0x0a, 0xe5, 0x89, 0x34, 0x67, 0x6b, 0x3b, 0xeb, 0xd3, + 0x35, 0xcf, 0x8a, 0xec, 0x6c, 0x25, 0xb9, 0xce, 0x70, 0x92, 0x72, 0xaf, + 0xb7, 0x7f, 0xd2, 0x92, 0x57, 0x98, 0x60, 0xb2, +}; +static const unsigned char kat3507_entropyinpr2[] = { + 0x72, 0xcf, 0x78, 0xc3, 0xe4, 0xce, 0x36, 0x2e, 0xe7, 0x1c, 0x5d, 0xbb, + 0xba, 0xfe, 0x1a, 0x6b, 0xdb, 0x80, 0xdb, 0x2f, 0x40, 0x3d, 0x28, 0xee, + 0x65, 0x3a, 0x64, 0xea, 0x09, 0x2c, 0xdd, 0xf3, +}; +static const unsigned char kat3507_addinpr2[] = { + 0xc2, 0xb7, 0x79, 0x4a, 0xee, 0xdd, 0xe6, 0x71, 0xc5, 0x3d, 0x8c, 0x39, + 0x08, 0xdb, 0x48, 0xc3, 0x07, 0x16, 0x7c, 0x0e, 0x41, 0xfa, 0x10, 0x7d, + 0xe8, 0x21, 0x7b, 0x66, 0x04, 0xef, 0x10, 0x44, +}; +static const unsigned char kat3507_retbits[] = { + 0x9a, 0xaf, 0x64, 0xed, 0x5d, 0x02, 0xa6, 0x5f, 0x95, 0x3c, 0x17, 0x26, + 0x87, 0x5f, 0x5a, 0x0e, 0x33, 0x91, 0xf9, 0x57, 0xeb, 0x44, 0x31, 0xe9, + 0x19, 0x88, 0x6c, 0xb5, 0xbd, 0x9f, 0x3e, 0x41, 0xaa, 0xc8, 0x2c, 0x7f, + 0x3c, 0x01, 0x4d, 0x40, 0x44, 0x35, 0x7d, 0x95, 0xc8, 0xdb, 0xc2, 0x3a, + 0xcb, 0xa0, 0x19, 0x5a, 0x9a, 0x97, 0xf4, 0x64, 0x1e, 0x7a, 0xf2, 0x4f, + 0x98, 0xb9, 0x8a, 0x3d, +}; +static const struct drbg_kat_pr_true kat3507_t = { + 11, kat3507_entropyin, kat3507_nonce, kat3507_persstr, + kat3507_entropyinpr1, kat3507_addinpr1, kat3507_entropyinpr2, + kat3507_addinpr2, kat3507_retbits +}; +static const struct drbg_kat kat3507 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3507_t +}; + +static const unsigned char kat3508_entropyin[] = { + 0x43, 0x30, 0x59, 0x31, 0x6b, 0xb9, 0x12, 0x75, 0x00, 0x42, 0x78, 0x99, + 0x35, 0x69, 0x88, 0xda, 0xea, 0xc1, 0xc4, 0x2e, 0x82, 0xdc, 0xff, 0x63, + 0xcf, 0xf0, 0x0c, 0x1f, 0x7e, 0x7b, 0xef, 0xd4, +}; +static const unsigned char kat3508_nonce[] = { + 0xe8, 0xf3, 0xbd, 0x99, 0x41, 0x81, 0x6a, 0x87, 0x20, 0x9f, 0x64, 0x66, + 0xcc, 0xc3, 0x3e, 0x58, +}; +static const unsigned char kat3508_persstr[] = {0}; +static const unsigned char kat3508_entropyinpr1[] = { + 0xcc, 0x4d, 0x1a, 0x1d, 0x78, 0xb3, 0x38, 0x8e, 0xbf, 0x9f, 0x63, 0xb5, + 0xb1, 0x02, 0x02, 0x25, 0xe9, 0xf4, 0x0f, 0x59, 0xe1, 0x56, 0xf3, 0xab, + 0xcb, 0xd2, 0x6a, 0xb8, 0x8b, 0xf9, 0x2b, 0x0d, +}; +static const unsigned char kat3508_addinpr1[] = { + 0xd3, 0x18, 0xd7, 0xc9, 0x14, 0xee, 0xce, 0x67, 0xb5, 0x1d, 0x93, 0x88, + 0x04, 0xab, 0x9b, 0x80, 0x11, 0x2d, 0xbf, 0xa9, 0xf2, 0xad, 0x1b, 0xb6, + 0x1b, 0xaf, 0x7d, 0x72, 0xfc, 0x91, 0xb0, 0xc0, +}; +static const unsigned char kat3508_entropyinpr2[] = { + 0x5f, 0x0c, 0xa0, 0xd5, 0x92, 0x06, 0x23, 0x64, 0xbd, 0x38, 0x1b, 0xb0, + 0x29, 0xbd, 0xf1, 0xab, 0xba, 0x71, 0x2c, 0xd0, 0xe7, 0xc7, 0xb2, 0x7c, + 0x6c, 0xf7, 0xff, 0x2f, 0xc6, 0x34, 0x1c, 0x22, +}; +static const unsigned char kat3508_addinpr2[] = { + 0xd8, 0x2d, 0x08, 0x11, 0x6e, 0xd3, 0x0e, 0x92, 0x51, 0x6b, 0xb2, 0x16, + 0x04, 0x5f, 0xc1, 0x07, 0x9c, 0xb4, 0x2a, 0xb1, 0x01, 0xd7, 0xac, 0x46, + 0xab, 0x41, 0xb0, 0x19, 0xe2, 0x68, 0xbb, 0xbb, +}; +static const unsigned char kat3508_retbits[] = { + 0xe1, 0xbf, 0x5e, 0x50, 0x24, 0x56, 0x29, 0x48, 0x04, 0x49, 0x2d, 0x5d, + 0xf4, 0x94, 0x92, 0x11, 0x15, 0x94, 0x6b, 0x33, 0x16, 0xe7, 0xf8, 0x00, + 0x6e, 0x84, 0xd3, 0xfc, 0x1d, 0xd9, 0x12, 0x26, 0xd8, 0x2b, 0x47, 0x71, + 0x07, 0x14, 0x08, 0xba, 0x8b, 0xa9, 0xcf, 0xff, 0x19, 0x2c, 0xc6, 0x27, + 0x72, 0x36, 0x8e, 0x37, 0x4a, 0xfd, 0x2d, 0xa6, 0x6f, 0xf6, 0xa4, 0x32, + 0x17, 0xdd, 0x13, 0xf4, +}; +static const struct drbg_kat_pr_true kat3508_t = { + 12, kat3508_entropyin, kat3508_nonce, kat3508_persstr, + kat3508_entropyinpr1, kat3508_addinpr1, kat3508_entropyinpr2, + kat3508_addinpr2, kat3508_retbits +}; +static const struct drbg_kat kat3508 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3508_t +}; + +static const unsigned char kat3509_entropyin[] = { + 0x0c, 0xc0, 0x43, 0x35, 0x34, 0x20, 0x5f, 0xef, 0x1d, 0x5b, 0x3a, 0x4f, + 0x54, 0xbe, 0x5f, 0xe8, 0x08, 0x38, 0x98, 0xb8, 0x15, 0xeb, 0x43, 0x77, + 0xa1, 0x20, 0x82, 0xee, 0x12, 0x93, 0x87, 0x22, +}; +static const unsigned char kat3509_nonce[] = { + 0xd7, 0xb5, 0x78, 0xf0, 0x32, 0x2d, 0x93, 0xc1, 0x15, 0x2d, 0x3a, 0x13, + 0xcd, 0xa7, 0xbb, 0xbe, +}; +static const unsigned char kat3509_persstr[] = {0}; +static const unsigned char kat3509_entropyinpr1[] = { + 0x66, 0x85, 0x31, 0x7b, 0x0f, 0x9a, 0x41, 0xc5, 0x8d, 0x30, 0x80, 0x7c, + 0x0b, 0x6a, 0xdd, 0x9f, 0x7f, 0x1a, 0xda, 0xb6, 0xd6, 0x1f, 0x43, 0x21, + 0x55, 0x54, 0xd0, 0x44, 0x22, 0x0a, 0x80, 0xb1, +}; +static const unsigned char kat3509_addinpr1[] = { + 0xc7, 0xa9, 0x05, 0x1f, 0xd8, 0x35, 0x55, 0xce, 0xa8, 0x4d, 0x08, 0xa6, + 0xb6, 0x3d, 0xdd, 0x2c, 0xb1, 0x18, 0x51, 0xbf, 0x73, 0x6b, 0xcb, 0x19, + 0x81, 0xca, 0xc1, 0x20, 0x7f, 0xe3, 0x92, 0xf5, +}; +static const unsigned char kat3509_entropyinpr2[] = { + 0xff, 0xa2, 0xa8, 0x0d, 0xcb, 0x6f, 0xe4, 0x51, 0x0f, 0x47, 0xa2, 0xac, + 0xdc, 0x60, 0x76, 0x65, 0x3b, 0xb6, 0x52, 0xf8, 0x4b, 0xd1, 0xc3, 0x90, + 0x97, 0x9a, 0xb9, 0x59, 0xd0, 0x55, 0x84, 0x5d, +}; +static const unsigned char kat3509_addinpr2[] = { + 0x22, 0xe0, 0xe4, 0xaa, 0x94, 0x51, 0xf9, 0x5b, 0xcd, 0x19, 0x27, 0x06, + 0xcc, 0xc7, 0x0a, 0x1d, 0x71, 0x02, 0x9f, 0x49, 0x4e, 0x46, 0xcd, 0x5b, + 0xbe, 0x39, 0x60, 0x9c, 0x17, 0x9d, 0xe9, 0x60, +}; +static const unsigned char kat3509_retbits[] = { + 0x53, 0x18, 0xc0, 0x7a, 0xfe, 0x58, 0xbf, 0x84, 0x9c, 0x3d, 0xe4, 0xe1, + 0xfa, 0x14, 0x57, 0xc7, 0x27, 0x2a, 0x1e, 0xe9, 0x43, 0x05, 0xc5, 0xcd, + 0x9f, 0x82, 0xf1, 0x69, 0x1a, 0xe9, 0xc6, 0xd3, 0x52, 0x61, 0xbb, 0xbb, + 0xd5, 0x29, 0x86, 0x6a, 0x65, 0xef, 0xdd, 0x58, 0x95, 0x79, 0x90, 0x38, + 0x0a, 0x73, 0xfd, 0x77, 0x8b, 0xbc, 0x19, 0x0e, 0x23, 0xc1, 0xc8, 0x91, + 0x27, 0x1c, 0xd6, 0xda, +}; +static const struct drbg_kat_pr_true kat3509_t = { + 13, kat3509_entropyin, kat3509_nonce, kat3509_persstr, + kat3509_entropyinpr1, kat3509_addinpr1, kat3509_entropyinpr2, + kat3509_addinpr2, kat3509_retbits +}; +static const struct drbg_kat kat3509 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3509_t +}; + +static const unsigned char kat3510_entropyin[] = { + 0xec, 0x13, 0x4d, 0x60, 0xe8, 0xa1, 0x5f, 0xfa, 0xca, 0xd5, 0x53, 0x3e, + 0xc1, 0x29, 0x04, 0x60, 0x23, 0xea, 0xf6, 0x61, 0x1a, 0x0b, 0x0c, 0xe5, + 0x40, 0xb3, 0xe1, 0xd2, 0x54, 0x5b, 0xea, 0x39, +}; +static const unsigned char kat3510_nonce[] = { + 0xf9, 0xbc, 0x86, 0x24, 0xd7, 0xe7, 0x3c, 0xb7, 0xef, 0x3c, 0x4a, 0x9b, + 0x33, 0x9e, 0x57, 0x08, +}; +static const unsigned char kat3510_persstr[] = {0}; +static const unsigned char kat3510_entropyinpr1[] = { + 0x39, 0x52, 0x19, 0xc4, 0x01, 0xf9, 0x54, 0xa4, 0xcd, 0x04, 0xaf, 0x85, + 0x2e, 0x08, 0xc2, 0xab, 0xd8, 0x15, 0x2e, 0xe5, 0xf8, 0xc9, 0x15, 0xe1, + 0x0a, 0x5f, 0x2e, 0x22, 0xb9, 0xff, 0x1f, 0x92, +}; +static const unsigned char kat3510_addinpr1[] = { + 0x39, 0x43, 0x3c, 0xe8, 0x53, 0xe8, 0xdd, 0xcd, 0x14, 0x78, 0x5f, 0xf2, + 0x26, 0x79, 0xe0, 0xe5, 0x6f, 0xf9, 0x53, 0xb7, 0xf4, 0x67, 0x07, 0xd0, + 0x15, 0x88, 0x05, 0xe3, 0xcd, 0x87, 0xd3, 0xf7, +}; +static const unsigned char kat3510_entropyinpr2[] = { + 0x6d, 0x30, 0x35, 0xdf, 0xaf, 0xd8, 0x55, 0x4e, 0xc9, 0xa6, 0x29, 0xf3, + 0x86, 0x1c, 0xf2, 0x2b, 0x6b, 0x49, 0xae, 0x32, 0x63, 0x78, 0xf0, 0xf7, + 0x1a, 0xb3, 0xc0, 0x04, 0xe7, 0xbc, 0x89, 0x52, +}; +static const unsigned char kat3510_addinpr2[] = { + 0xa4, 0xc4, 0x4e, 0x43, 0x7d, 0x0d, 0xfb, 0xb3, 0x09, 0x7f, 0x26, 0x68, + 0xc8, 0x73, 0x52, 0xff, 0xa0, 0x2e, 0xf4, 0x5a, 0xae, 0x12, 0x34, 0x80, + 0x08, 0x61, 0x2f, 0x33, 0x7d, 0x8e, 0xda, 0xe2, +}; +static const unsigned char kat3510_retbits[] = { + 0x69, 0x24, 0xb5, 0x58, 0x78, 0x13, 0x44, 0xb2, 0xb8, 0x37, 0xea, 0x46, + 0x76, 0x71, 0xa0, 0x7f, 0xfa, 0xe3, 0xb4, 0x23, 0x2d, 0x01, 0xd0, 0x4d, + 0x34, 0x7b, 0x6a, 0xa2, 0xfe, 0x60, 0xf6, 0xfa, 0x83, 0xd9, 0x63, 0x4e, + 0xe0, 0xa0, 0x94, 0x65, 0x9c, 0x70, 0x9b, 0x10, 0x02, 0x74, 0x9a, 0x67, + 0x27, 0xde, 0xce, 0x8a, 0x2c, 0x1a, 0x49, 0xd4, 0x3f, 0x19, 0xc2, 0x35, + 0x66, 0x8a, 0x64, 0x29, +}; +static const struct drbg_kat_pr_true kat3510_t = { + 14, kat3510_entropyin, kat3510_nonce, kat3510_persstr, + kat3510_entropyinpr1, kat3510_addinpr1, kat3510_entropyinpr2, + kat3510_addinpr2, kat3510_retbits +}; +static const struct drbg_kat kat3510 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3510_t +}; + +static const unsigned char kat3511_entropyin[] = { + 0x72, 0x94, 0x93, 0x0b, 0x69, 0xbe, 0x88, 0xe5, 0x78, 0xba, 0x26, 0xc6, + 0x0e, 0x25, 0xd7, 0x46, 0x22, 0xbf, 0x58, 0x46, 0x7d, 0xff, 0x7b, 0xc7, + 0x54, 0x7d, 0x4f, 0x3d, 0x62, 0x59, 0x29, 0x89, +}; +static const unsigned char kat3511_nonce[] = { + 0x3d, 0x16, 0xc6, 0x68, 0x2a, 0x9f, 0xcd, 0xea, 0xc6, 0x67, 0xd8, 0xb2, + 0x0b, 0x95, 0x42, 0x99, +}; +static const unsigned char kat3511_persstr[] = { + 0xc8, 0x61, 0x20, 0x45, 0x07, 0x6c, 0x47, 0x3f, 0x45, 0x79, 0x3f, 0x47, + 0xa5, 0xac, 0x6f, 0x9c, 0x31, 0xcc, 0xe9, 0xc2, 0x57, 0x0d, 0x64, 0x53, + 0xa9, 0x6e, 0x45, 0x9f, 0xb5, 0xb6, 0xf1, 0x4b, +}; +static const unsigned char kat3511_entropyinpr1[] = { + 0x7a, 0xce, 0xff, 0x8b, 0x42, 0x1c, 0xc1, 0xb8, 0xb5, 0x21, 0x5d, 0x9f, + 0x7f, 0x6e, 0x8f, 0xf7, 0x05, 0x25, 0xc1, 0xc3, 0x30, 0x5f, 0xe1, 0x84, + 0x71, 0xac, 0xb0, 0xfd, 0xb6, 0xc7, 0x62, 0x78, +}; +static const unsigned char kat3511_addinpr1[] = {0}; +static const unsigned char kat3511_entropyinpr2[] = { + 0x3e, 0xf0, 0x31, 0x6b, 0xc2, 0xfc, 0xe7, 0xde, 0xb4, 0x70, 0x28, 0xfa, + 0x13, 0x9f, 0x39, 0x7f, 0xf4, 0x92, 0xda, 0x25, 0x6f, 0x20, 0xd8, 0x91, + 0xde, 0x59, 0xe3, 0x4e, 0x2a, 0xb8, 0x22, 0x3d, +}; +static const unsigned char kat3511_addinpr2[] = {0}; +static const unsigned char kat3511_retbits[] = { + 0x98, 0xb3, 0x7b, 0x5b, 0xc1, 0xf6, 0x73, 0xf3, 0x55, 0xec, 0x12, 0x72, + 0x94, 0x59, 0x22, 0xb0, 0x88, 0xea, 0x57, 0x79, 0x20, 0x89, 0x06, 0x1f, + 0x97, 0xe7, 0x36, 0xc3, 0xc2, 0xa3, 0xac, 0xe0, 0x4d, 0x72, 0x55, 0xc1, + 0xf1, 0xad, 0x3a, 0x94, 0x78, 0x6c, 0x5d, 0x8c, 0x9a, 0x10, 0xc0, 0xf8, + 0xd7, 0x4c, 0x18, 0x8a, 0x35, 0x44, 0xe9, 0x7f, 0x06, 0xe4, 0x0a, 0x96, + 0xa5, 0xa9, 0x4a, 0x12, +}; +static const struct drbg_kat_pr_true kat3511_t = { + 0, kat3511_entropyin, kat3511_nonce, kat3511_persstr, + kat3511_entropyinpr1, kat3511_addinpr1, kat3511_entropyinpr2, + kat3511_addinpr2, kat3511_retbits +}; +static const struct drbg_kat kat3511 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3511_t +}; + +static const unsigned char kat3512_entropyin[] = { + 0xd9, 0x61, 0x2d, 0x03, 0x38, 0xe6, 0xb5, 0x42, 0xb6, 0x85, 0x9c, 0x1c, + 0x67, 0xe0, 0xee, 0x13, 0x65, 0x92, 0x36, 0x47, 0x9e, 0x57, 0xe3, 0x0c, + 0xd5, 0xec, 0x15, 0x59, 0x64, 0x51, 0x69, 0x46, +}; +static const unsigned char kat3512_nonce[] = { + 0xf1, 0xaa, 0xc2, 0x95, 0xd4, 0xc1, 0xd8, 0xe5, 0xe0, 0xd3, 0xcf, 0xfe, + 0xd7, 0xd8, 0x17, 0xc4, +}; +static const unsigned char kat3512_persstr[] = { + 0x75, 0x3f, 0x6c, 0xcf, 0x97, 0xb0, 0x22, 0x50, 0x64, 0x15, 0x65, 0x88, + 0x1f, 0x86, 0xb1, 0xff, 0xde, 0x54, 0x5e, 0x9c, 0x19, 0x25, 0x32, 0x98, + 0x31, 0x9c, 0x0e, 0x2a, 0xa1, 0x5a, 0xa3, 0xa3, +}; +static const unsigned char kat3512_entropyinpr1[] = { + 0xc7, 0x7b, 0xe5, 0x59, 0xf2, 0x7e, 0xfb, 0x38, 0x49, 0x3f, 0x88, 0x3b, + 0x87, 0xc7, 0xb6, 0xd1, 0x8f, 0x17, 0x2e, 0x67, 0x83, 0x87, 0xca, 0xec, + 0xf6, 0x04, 0xfa, 0x02, 0xda, 0xe0, 0xca, 0xe4, +}; +static const unsigned char kat3512_addinpr1[] = {0}; +static const unsigned char kat3512_entropyinpr2[] = { + 0x8d, 0x83, 0x7e, 0x74, 0xc5, 0x11, 0xc2, 0x7a, 0x55, 0x60, 0xd2, 0x80, + 0x66, 0x1f, 0x98, 0x63, 0x63, 0x15, 0xc2, 0xb8, 0x55, 0x00, 0x04, 0x54, + 0xf6, 0xb7, 0xd9, 0xca, 0xa1, 0x7c, 0x4c, 0x54, +}; +static const unsigned char kat3512_addinpr2[] = {0}; +static const unsigned char kat3512_retbits[] = { + 0xdd, 0xa9, 0x9d, 0xaa, 0x33, 0x67, 0x76, 0x39, 0x3d, 0xdf, 0xe9, 0x85, + 0x5d, 0xb2, 0x13, 0x4f, 0xf5, 0x3a, 0x70, 0x9f, 0xce, 0x9c, 0x22, 0x9b, + 0xe7, 0x68, 0xdb, 0x0c, 0x15, 0xce, 0x17, 0x6f, 0xbc, 0x6c, 0x9c, 0x7b, + 0xe0, 0xd9, 0xe0, 0xbf, 0x36, 0x2b, 0xef, 0x33, 0x9e, 0x12, 0x5d, 0x2f, + 0x55, 0xf1, 0x15, 0xcd, 0x64, 0x17, 0xe9, 0x94, 0x04, 0x60, 0x21, 0x32, + 0xcb, 0x22, 0xa2, 0x6a, +}; +static const struct drbg_kat_pr_true kat3512_t = { + 1, kat3512_entropyin, kat3512_nonce, kat3512_persstr, + kat3512_entropyinpr1, kat3512_addinpr1, kat3512_entropyinpr2, + kat3512_addinpr2, kat3512_retbits +}; +static const struct drbg_kat kat3512 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3512_t +}; + +static const unsigned char kat3513_entropyin[] = { + 0xf0, 0x1a, 0x75, 0x07, 0xa7, 0x1f, 0x34, 0xb4, 0xf8, 0x58, 0x99, 0xb3, + 0x1a, 0xcb, 0xcd, 0x62, 0x11, 0xa0, 0xe9, 0xc9, 0x41, 0x7c, 0xa5, 0xca, + 0xac, 0x0e, 0x18, 0xbc, 0x9f, 0x65, 0x5c, 0x0c, +}; +static const unsigned char kat3513_nonce[] = { + 0xa6, 0x0a, 0x10, 0x8c, 0xe5, 0xe2, 0x3e, 0x0a, 0x2e, 0xbe, 0xf1, 0xb6, + 0x7f, 0xcc, 0xbe, 0x54, +}; +static const unsigned char kat3513_persstr[] = { + 0x53, 0x36, 0xa4, 0xb9, 0xdd, 0x7e, 0x2d, 0xa6, 0x43, 0x9a, 0xf0, 0x08, + 0x61, 0x1a, 0x1c, 0x55, 0xcd, 0x12, 0x60, 0x40, 0x77, 0x6b, 0x16, 0xd5, + 0x61, 0xae, 0xf0, 0x25, 0xf1, 0x25, 0x34, 0x23, +}; +static const unsigned char kat3513_entropyinpr1[] = { + 0x67, 0x7e, 0xc5, 0xb8, 0x00, 0xb5, 0xd3, 0xcb, 0xca, 0x40, 0xb9, 0x0e, + 0xbf, 0x26, 0xbf, 0xfc, 0xc5, 0xc2, 0xb7, 0xd5, 0x6b, 0x14, 0xb7, 0x77, + 0x93, 0x01, 0x68, 0xa4, 0x5e, 0xb0, 0xf6, 0x8c, +}; +static const unsigned char kat3513_addinpr1[] = {0}; +static const unsigned char kat3513_entropyinpr2[] = { + 0x86, 0xee, 0x44, 0xb2, 0x17, 0xcd, 0x80, 0x80, 0x78, 0x75, 0x9e, 0x9f, + 0xd2, 0xfc, 0x08, 0x26, 0xd9, 0x56, 0x5a, 0x78, 0x9a, 0xa9, 0xd1, 0x69, + 0xac, 0x84, 0x3c, 0x13, 0x5f, 0xe9, 0xb5, 0xcf, +}; +static const unsigned char kat3513_addinpr2[] = {0}; +static const unsigned char kat3513_retbits[] = { + 0xf1, 0x8b, 0x06, 0x88, 0xdd, 0x8e, 0xf9, 0x06, 0xf5, 0x3f, 0x71, 0xb6, + 0x69, 0x8c, 0x64, 0x4c, 0x66, 0xf0, 0x21, 0xf3, 0x5b, 0x64, 0x64, 0x94, + 0x7a, 0x5b, 0x70, 0xf3, 0x46, 0xce, 0x43, 0xa0, 0xa6, 0xab, 0xd3, 0xa1, + 0x34, 0x98, 0xc4, 0x05, 0x4c, 0x01, 0x40, 0x67, 0x3d, 0x0a, 0xe5, 0x41, + 0x82, 0x5a, 0xe0, 0x48, 0x7a, 0xbf, 0xaf, 0x34, 0x6d, 0x5f, 0xf1, 0xa2, + 0xe1, 0x81, 0xea, 0x97, +}; +static const struct drbg_kat_pr_true kat3513_t = { + 2, kat3513_entropyin, kat3513_nonce, kat3513_persstr, + kat3513_entropyinpr1, kat3513_addinpr1, kat3513_entropyinpr2, + kat3513_addinpr2, kat3513_retbits +}; +static const struct drbg_kat kat3513 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3513_t +}; + +static const unsigned char kat3514_entropyin[] = { + 0x6a, 0xa3, 0x8b, 0x18, 0xe8, 0x1e, 0xbd, 0x7e, 0x2e, 0x37, 0x7d, 0x05, + 0x80, 0xc9, 0x35, 0xed, 0xe4, 0x23, 0xf4, 0x08, 0x6a, 0x01, 0xec, 0xcd, + 0xab, 0x16, 0xb8, 0x22, 0xab, 0x7c, 0x3d, 0x19, +}; +static const unsigned char kat3514_nonce[] = { + 0x3b, 0xc4, 0xd6, 0x59, 0xf5, 0xfe, 0x11, 0x30, 0x68, 0x41, 0xfb, 0x98, + 0x73, 0x65, 0xa6, 0x04, +}; +static const unsigned char kat3514_persstr[] = { + 0x5b, 0x20, 0xbd, 0xd3, 0xa7, 0x29, 0xb9, 0x92, 0xf5, 0x10, 0x30, 0x60, + 0xbe, 0x19, 0xed, 0xd3, 0x5b, 0xed, 0x62, 0xf2, 0xa6, 0x99, 0x80, 0xc4, + 0x0d, 0x02, 0x06, 0x59, 0x56, 0xda, 0x42, 0xee, +}; +static const unsigned char kat3514_entropyinpr1[] = { + 0x12, 0x0c, 0xd8, 0x66, 0xb3, 0x56, 0x7c, 0x00, 0x4d, 0xd3, 0x3e, 0xd4, + 0x2d, 0x16, 0x0a, 0x7f, 0x43, 0x37, 0xba, 0x08, 0xa2, 0x3b, 0xdf, 0x0e, + 0x71, 0xde, 0x2b, 0xc9, 0x1c, 0x1d, 0x19, 0x1c, +}; +static const unsigned char kat3514_addinpr1[] = {0}; +static const unsigned char kat3514_entropyinpr2[] = { + 0x25, 0x82, 0x32, 0x2d, 0x64, 0x85, 0x1c, 0xf1, 0x92, 0xf6, 0x84, 0xc1, + 0xca, 0x8e, 0x71, 0xff, 0xa5, 0x96, 0x4f, 0x7d, 0xe5, 0xd5, 0xf8, 0xbb, + 0x45, 0x6d, 0x12, 0xdd, 0xe7, 0x4f, 0x18, 0xd2, +}; +static const unsigned char kat3514_addinpr2[] = {0}; +static const unsigned char kat3514_retbits[] = { + 0xeb, 0x00, 0x92, 0x4b, 0x44, 0xc7, 0x7e, 0x97, 0x2a, 0x13, 0xdb, 0xc2, + 0x07, 0x4e, 0x4d, 0x33, 0xac, 0xf3, 0x86, 0xe7, 0xb0, 0x6a, 0x64, 0x6d, + 0x74, 0x72, 0xc3, 0xb6, 0xa2, 0x46, 0x66, 0x2b, 0x8a, 0xe2, 0x4f, 0xe0, + 0x47, 0x08, 0xa3, 0xad, 0xda, 0x1b, 0xfb, 0x8e, 0x63, 0x0e, 0x00, 0xb1, + 0x76, 0x85, 0x14, 0xbf, 0x48, 0x0a, 0x25, 0xa5, 0xae, 0x9b, 0x32, 0x4e, + 0x8e, 0x32, 0x85, 0x43, +}; +static const struct drbg_kat_pr_true kat3514_t = { + 3, kat3514_entropyin, kat3514_nonce, kat3514_persstr, + kat3514_entropyinpr1, kat3514_addinpr1, kat3514_entropyinpr2, + kat3514_addinpr2, kat3514_retbits +}; +static const struct drbg_kat kat3514 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3514_t +}; + +static const unsigned char kat3515_entropyin[] = { + 0xf5, 0x11, 0x84, 0xa5, 0x92, 0x4d, 0x02, 0xc6, 0x45, 0xa0, 0xaf, 0x17, + 0xee, 0x9d, 0x76, 0x82, 0xb9, 0xae, 0xc2, 0x95, 0x20, 0x91, 0x5e, 0x53, + 0xc8, 0x5e, 0x58, 0xc2, 0xd6, 0xed, 0x68, 0x01, +}; +static const unsigned char kat3515_nonce[] = { + 0xce, 0x8c, 0x81, 0x01, 0x47, 0xc5, 0x64, 0x99, 0x91, 0xed, 0x10, 0x1b, + 0x7a, 0x93, 0x69, 0x13, +}; +static const unsigned char kat3515_persstr[] = { + 0xe3, 0x9b, 0xd7, 0xfb, 0x6a, 0xba, 0x16, 0x46, 0x2f, 0x49, 0x2f, 0x64, + 0x82, 0x4d, 0x4e, 0x94, 0xc5, 0xfc, 0x65, 0xe2, 0x88, 0x58, 0x09, 0xd4, + 0x0e, 0xe8, 0x05, 0x06, 0x22, 0xe8, 0x22, 0x34, +}; +static const unsigned char kat3515_entropyinpr1[] = { + 0xd0, 0xe0, 0xfd, 0xa7, 0x49, 0x0a, 0x9c, 0x37, 0x97, 0x90, 0x39, 0x10, + 0x14, 0xa6, 0x41, 0x18, 0x95, 0x5a, 0x72, 0xe5, 0xac, 0x36, 0x3e, 0xef, + 0x06, 0xf3, 0x70, 0xfd, 0x61, 0x5b, 0x5c, 0x44, +}; +static const unsigned char kat3515_addinpr1[] = {0}; +static const unsigned char kat3515_entropyinpr2[] = { + 0x02, 0xdd, 0xef, 0xc9, 0x30, 0xfa, 0x83, 0x35, 0x67, 0xd2, 0x89, 0xaa, + 0x0d, 0x80, 0x9b, 0x17, 0x03, 0x62, 0x16, 0x05, 0xa2, 0x2b, 0x8d, 0xd9, + 0x40, 0x91, 0x1e, 0xd0, 0x84, 0xd3, 0xc2, 0xd8, +}; +static const unsigned char kat3515_addinpr2[] = {0}; +static const unsigned char kat3515_retbits[] = { + 0x47, 0xa6, 0x40, 0x20, 0xb8, 0x76, 0x54, 0x1d, 0xcd, 0x51, 0x1d, 0xbe, + 0xa2, 0x47, 0xb7, 0x93, 0xc8, 0x0c, 0x7e, 0x34, 0x7f, 0x4d, 0x13, 0x92, + 0xbb, 0x93, 0x15, 0x16, 0x46, 0x41, 0x59, 0xfc, 0x28, 0xc5, 0x0e, 0xa8, + 0xc9, 0x83, 0xae, 0xa0, 0xc3, 0x5d, 0x8e, 0x8b, 0xba, 0xee, 0xcc, 0x4e, + 0xe3, 0xea, 0x52, 0xff, 0x24, 0xef, 0x79, 0xdd, 0xa5, 0xfb, 0x50, 0xb4, + 0x84, 0xc7, 0x63, 0x75, +}; +static const struct drbg_kat_pr_true kat3515_t = { + 4, kat3515_entropyin, kat3515_nonce, kat3515_persstr, + kat3515_entropyinpr1, kat3515_addinpr1, kat3515_entropyinpr2, + kat3515_addinpr2, kat3515_retbits +}; +static const struct drbg_kat kat3515 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3515_t +}; + +static const unsigned char kat3516_entropyin[] = { + 0x23, 0x2e, 0x95, 0xd1, 0xbb, 0xe4, 0x3f, 0xb9, 0x95, 0x42, 0x78, 0xff, + 0x69, 0x75, 0xca, 0x5b, 0x4a, 0x60, 0xb5, 0x5b, 0xb9, 0xeb, 0x62, 0xca, + 0xa7, 0x18, 0xf8, 0x65, 0xd6, 0xf2, 0x85, 0x44, +}; +static const unsigned char kat3516_nonce[] = { + 0xf4, 0xe1, 0x9d, 0x72, 0x2f, 0x27, 0x01, 0xc0, 0x48, 0x6e, 0x5b, 0xa2, + 0x0a, 0x28, 0xf9, 0x0a, +}; +static const unsigned char kat3516_persstr[] = { + 0x4d, 0xf1, 0xf9, 0xf9, 0xcd, 0xb8, 0x8b, 0x10, 0x2b, 0x47, 0xb3, 0xe7, + 0x26, 0x5a, 0xd3, 0xc4, 0x05, 0x97, 0x78, 0xd9, 0x69, 0xf4, 0xe8, 0xf7, + 0x56, 0x00, 0x05, 0x50, 0x2a, 0xeb, 0xa3, 0xcd, +}; +static const unsigned char kat3516_entropyinpr1[] = { + 0x5e, 0x71, 0x22, 0xec, 0xb8, 0x40, 0x65, 0x39, 0x85, 0x3e, 0x8f, 0x1d, + 0x10, 0x48, 0xc8, 0xef, 0x06, 0x8b, 0x0a, 0xeb, 0x67, 0x66, 0xdc, 0x24, + 0xf5, 0x2e, 0x66, 0x2f, 0x67, 0x87, 0xf9, 0x69, +}; +static const unsigned char kat3516_addinpr1[] = {0}; +static const unsigned char kat3516_entropyinpr2[] = { + 0xd4, 0x5e, 0x39, 0xf3, 0xaa, 0xf1, 0xe1, 0x41, 0x0d, 0xb0, 0x9f, 0xb1, + 0xc4, 0x56, 0xab, 0x19, 0xb2, 0x59, 0xa9, 0x6b, 0x6e, 0x71, 0x70, 0x25, + 0xad, 0x33, 0x89, 0x7a, 0x50, 0xd3, 0xa0, 0x18, +}; +static const unsigned char kat3516_addinpr2[] = {0}; +static const unsigned char kat3516_retbits[] = { + 0x96, 0xa1, 0xb8, 0x22, 0xe4, 0x91, 0xec, 0xb3, 0x1f, 0xc3, 0xec, 0x6b, + 0x5b, 0xa4, 0x05, 0x4d, 0x5b, 0x86, 0xed, 0x11, 0xcb, 0xf2, 0x69, 0xe9, + 0x5b, 0xe1, 0xf3, 0x03, 0xd7, 0x17, 0x6f, 0xc7, 0x84, 0x38, 0xee, 0x55, + 0x0d, 0xd2, 0x88, 0x82, 0xb5, 0x9c, 0x8b, 0x6b, 0x84, 0x58, 0x5a, 0x7a, + 0xf0, 0x3f, 0x2a, 0x26, 0x7c, 0xf9, 0x39, 0x85, 0x43, 0x44, 0xf3, 0x99, + 0xd7, 0xad, 0xe5, 0xc8, +}; +static const struct drbg_kat_pr_true kat3516_t = { + 5, kat3516_entropyin, kat3516_nonce, kat3516_persstr, + kat3516_entropyinpr1, kat3516_addinpr1, kat3516_entropyinpr2, + kat3516_addinpr2, kat3516_retbits +}; +static const struct drbg_kat kat3516 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3516_t +}; + +static const unsigned char kat3517_entropyin[] = { + 0x4e, 0xd5, 0x83, 0x1a, 0x39, 0x45, 0x2c, 0x83, 0xbd, 0xd4, 0x2f, 0x14, + 0x22, 0xc3, 0x32, 0x37, 0x9d, 0x28, 0xc9, 0xa7, 0xe5, 0xe6, 0x79, 0x0b, + 0xaa, 0xf9, 0xd3, 0xcc, 0xb9, 0xc5, 0xed, 0x38, +}; +static const unsigned char kat3517_nonce[] = { + 0x46, 0x95, 0x53, 0x20, 0x4e, 0xf5, 0x0d, 0x9a, 0x5e, 0x69, 0xa3, 0xd3, + 0x8c, 0x63, 0x36, 0xb9, +}; +static const unsigned char kat3517_persstr[] = { + 0x4d, 0xac, 0x02, 0x90, 0x31, 0x2b, 0x5c, 0x66, 0x14, 0x71, 0xbe, 0xa5, + 0x92, 0x21, 0x95, 0xe4, 0x2e, 0xed, 0x51, 0x20, 0x05, 0x00, 0x8b, 0xc2, + 0x0b, 0x59, 0x1b, 0xcc, 0xcf, 0xc2, 0xa7, 0xd3, +}; +static const unsigned char kat3517_entropyinpr1[] = { + 0x0c, 0x37, 0xbd, 0x3d, 0xdd, 0x5c, 0x95, 0x93, 0xc1, 0x61, 0xd7, 0x22, + 0x78, 0x57, 0x7a, 0x9d, 0xe6, 0x00, 0x08, 0x65, 0x43, 0x26, 0x1c, 0x0d, + 0xc4, 0x8c, 0xed, 0x09, 0x50, 0x1a, 0xa2, 0x4d, +}; +static const unsigned char kat3517_addinpr1[] = {0}; +static const unsigned char kat3517_entropyinpr2[] = { + 0xbf, 0x32, 0xfe, 0xcf, 0x20, 0x55, 0xc7, 0x6c, 0xbc, 0x48, 0xae, 0x92, + 0x62, 0xd5, 0x66, 0xdf, 0xa7, 0x6d, 0xb4, 0x8f, 0xa2, 0x52, 0x8d, 0x36, + 0x70, 0x69, 0x51, 0x7f, 0x16, 0x8d, 0x7d, 0x19, +}; +static const unsigned char kat3517_addinpr2[] = {0}; +static const unsigned char kat3517_retbits[] = { + 0x5e, 0xb6, 0xd4, 0x16, 0x1a, 0x0c, 0x1e, 0x24, 0x07, 0xcf, 0x35, 0x83, + 0x54, 0x3c, 0x43, 0x55, 0xde, 0xa4, 0x97, 0x0c, 0x9f, 0x46, 0xdb, 0x73, + 0xea, 0x33, 0xa9, 0xe1, 0x71, 0xc2, 0xfa, 0x25, 0x6e, 0x71, 0xb5, 0xb3, + 0x35, 0xf5, 0x31, 0x19, 0x34, 0x05, 0x08, 0x66, 0xe0, 0xf3, 0x69, 0xe5, + 0x50, 0xcd, 0x6b, 0xaa, 0x9c, 0xdd, 0x50, 0x98, 0xe7, 0xf2, 0x0f, 0x64, + 0x28, 0x0a, 0x6e, 0x6f, +}; +static const struct drbg_kat_pr_true kat3517_t = { + 6, kat3517_entropyin, kat3517_nonce, kat3517_persstr, + kat3517_entropyinpr1, kat3517_addinpr1, kat3517_entropyinpr2, + kat3517_addinpr2, kat3517_retbits +}; +static const struct drbg_kat kat3517 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3517_t +}; + +static const unsigned char kat3518_entropyin[] = { + 0xec, 0x1b, 0x05, 0x5e, 0x2d, 0xbf, 0xfb, 0xf3, 0x1c, 0x5d, 0xc5, 0x84, + 0x27, 0x14, 0xc5, 0x5f, 0x9e, 0x9a, 0x3d, 0xf7, 0xdc, 0x00, 0x75, 0x31, + 0x42, 0x80, 0x64, 0x5c, 0x64, 0x0a, 0xd3, 0x6d, +}; +static const unsigned char kat3518_nonce[] = { + 0x28, 0x07, 0x86, 0xab, 0xf5, 0x07, 0xf6, 0xd8, 0x8c, 0x16, 0xce, 0xa8, + 0xbb, 0xc2, 0x91, 0x07, +}; +static const unsigned char kat3518_persstr[] = { + 0xda, 0x4a, 0xda, 0xbe, 0x6c, 0x8d, 0x49, 0x52, 0xfa, 0x2a, 0x79, 0xa6, + 0x63, 0xb6, 0x4a, 0x1f, 0xdb, 0x45, 0x0c, 0x1d, 0xd5, 0xdd, 0x10, 0x37, + 0x11, 0xcf, 0x78, 0xe8, 0x59, 0x26, 0xfe, 0x5b, +}; +static const unsigned char kat3518_entropyinpr1[] = { + 0xe8, 0x8a, 0xbc, 0x6b, 0x3a, 0x9c, 0x71, 0x38, 0x47, 0x11, 0x27, 0x74, + 0x48, 0x83, 0xed, 0x7a, 0xc1, 0x03, 0x81, 0x9a, 0x3a, 0x29, 0x74, 0xf0, + 0x96, 0x26, 0xf7, 0x19, 0xe8, 0xa4, 0x8a, 0x55, +}; +static const unsigned char kat3518_addinpr1[] = {0}; +static const unsigned char kat3518_entropyinpr2[] = { + 0x29, 0x7d, 0x96, 0xf0, 0x16, 0x3c, 0x56, 0xb9, 0xab, 0xa9, 0xf2, 0xc2, + 0x7f, 0xee, 0x9a, 0x91, 0x3e, 0x82, 0x35, 0x88, 0xb9, 0x69, 0xe0, 0x46, + 0x34, 0x28, 0xee, 0x74, 0xf8, 0xad, 0x64, 0xaf, +}; +static const unsigned char kat3518_addinpr2[] = {0}; +static const unsigned char kat3518_retbits[] = { + 0x9a, 0xf8, 0x9d, 0x5f, 0xa2, 0x42, 0xc3, 0xed, 0x00, 0x97, 0xf4, 0xe2, + 0x5a, 0x47, 0x85, 0x50, 0xb7, 0x8e, 0xca, 0x0f, 0xbc, 0x03, 0x31, 0x31, + 0x1c, 0x94, 0x72, 0xba, 0x20, 0x44, 0xd7, 0x40, 0x1b, 0x35, 0x20, 0xfa, + 0x7a, 0xf8, 0xe9, 0x6e, 0x1d, 0x80, 0x21, 0xc3, 0xdb, 0xd6, 0x08, 0xc1, + 0x41, 0x24, 0xbe, 0xbc, 0x59, 0xf5, 0xc7, 0x69, 0x6c, 0x92, 0x11, 0x7a, + 0x5e, 0x3c, 0xf5, 0x43, +}; +static const struct drbg_kat_pr_true kat3518_t = { + 7, kat3518_entropyin, kat3518_nonce, kat3518_persstr, + kat3518_entropyinpr1, kat3518_addinpr1, kat3518_entropyinpr2, + kat3518_addinpr2, kat3518_retbits +}; +static const struct drbg_kat kat3518 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3518_t +}; + +static const unsigned char kat3519_entropyin[] = { + 0x7f, 0xbb, 0xdd, 0x4e, 0xbb, 0x2c, 0xe9, 0x6b, 0x76, 0x30, 0xcd, 0x74, + 0x5c, 0x8c, 0x34, 0x0e, 0x24, 0x43, 0x1d, 0xe1, 0x21, 0x5d, 0xdd, 0xa4, + 0x40, 0xa9, 0xa9, 0x33, 0x58, 0x71, 0x9b, 0xf0, +}; +static const unsigned char kat3519_nonce[] = { + 0x85, 0x01, 0x0f, 0x8a, 0xe7, 0x16, 0xd4, 0x91, 0x8e, 0x62, 0x3d, 0x24, + 0x06, 0x22, 0x3f, 0x32, +}; +static const unsigned char kat3519_persstr[] = { + 0xe8, 0xda, 0xa5, 0x25, 0xd5, 0x43, 0xfa, 0xbe, 0xde, 0x07, 0x29, 0x1d, + 0x51, 0x13, 0x2e, 0x03, 0xd4, 0x48, 0x8c, 0xae, 0xf1, 0xca, 0xfa, 0xe0, + 0x20, 0x01, 0x13, 0xdb, 0xf3, 0x5c, 0xb1, 0xd0, +}; +static const unsigned char kat3519_entropyinpr1[] = { + 0x09, 0x15, 0x9b, 0x1e, 0xa2, 0x84, 0x98, 0xb0, 0x16, 0x08, 0x90, 0x2f, + 0x9e, 0x3e, 0xce, 0x53, 0x99, 0x7f, 0xa6, 0x02, 0x9f, 0x86, 0x14, 0x3e, + 0x88, 0xb8, 0xdd, 0x1b, 0x73, 0x8c, 0x8d, 0x8d, +}; +static const unsigned char kat3519_addinpr1[] = {0}; +static const unsigned char kat3519_entropyinpr2[] = { + 0x00, 0xcb, 0xa4, 0xae, 0xe9, 0xc7, 0x55, 0x09, 0xb8, 0x08, 0xd5, 0x07, + 0x6c, 0x03, 0x76, 0xc8, 0x89, 0x4f, 0xe1, 0x04, 0x18, 0x46, 0x16, 0x5b, + 0xec, 0x96, 0xbb, 0x0f, 0xb3, 0xe2, 0x4f, 0x08, +}; +static const unsigned char kat3519_addinpr2[] = {0}; +static const unsigned char kat3519_retbits[] = { + 0x48, 0xbc, 0xd6, 0x82, 0x31, 0xea, 0x05, 0x75, 0x29, 0x7b, 0x62, 0x55, + 0x8c, 0xc0, 0xc6, 0x38, 0x8a, 0x75, 0x70, 0x33, 0x4e, 0xc4, 0xe4, 0xe7, + 0xff, 0xe3, 0x28, 0x71, 0x45, 0x3a, 0x5f, 0x83, 0x9d, 0x2d, 0x81, 0x29, + 0xba, 0x47, 0x12, 0x1d, 0x9d, 0x5b, 0x27, 0x23, 0x52, 0xe6, 0x4a, 0xf8, + 0x50, 0x06, 0xed, 0x5d, 0x5b, 0xcc, 0x7b, 0xbb, 0x76, 0x9a, 0x11, 0x38, + 0x16, 0x45, 0x29, 0x65, +}; +static const struct drbg_kat_pr_true kat3519_t = { + 8, kat3519_entropyin, kat3519_nonce, kat3519_persstr, + kat3519_entropyinpr1, kat3519_addinpr1, kat3519_entropyinpr2, + kat3519_addinpr2, kat3519_retbits +}; +static const struct drbg_kat kat3519 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3519_t +}; + +static const unsigned char kat3520_entropyin[] = { + 0x14, 0xb5, 0x51, 0xa3, 0xf0, 0x1e, 0x02, 0xbd, 0x50, 0xa8, 0xdd, 0x76, + 0x51, 0xc8, 0xe4, 0x33, 0xd0, 0x8e, 0x80, 0x9f, 0x2d, 0xed, 0x45, 0x93, + 0x0e, 0x40, 0x0f, 0x77, 0x6d, 0x8a, 0xd6, 0x3e, +}; +static const unsigned char kat3520_nonce[] = { + 0x05, 0x9a, 0x6e, 0x92, 0xe2, 0x79, 0x01, 0x9a, 0xa8, 0x9d, 0xf8, 0xc5, + 0xb1, 0xca, 0x25, 0x81, +}; +static const unsigned char kat3520_persstr[] = { + 0x12, 0x97, 0xdd, 0x3c, 0x0f, 0x75, 0x52, 0xcc, 0xaf, 0x32, 0x90, 0xe6, + 0x5c, 0xbd, 0xd2, 0x22, 0x29, 0xdf, 0x51, 0x85, 0x7e, 0xc8, 0x9b, 0x7b, + 0x94, 0xa1, 0x7a, 0x30, 0x57, 0xbb, 0x40, 0x3c, +}; +static const unsigned char kat3520_entropyinpr1[] = { + 0x20, 0xbc, 0x2c, 0x16, 0x70, 0xff, 0xb3, 0x88, 0x45, 0xec, 0xc2, 0x30, + 0xed, 0x55, 0xdc, 0x19, 0x71, 0x8b, 0xae, 0x45, 0xc5, 0x36, 0xcb, 0x64, + 0x71, 0xea, 0xa5, 0xbd, 0xbd, 0xf9, 0x93, 0xd5, +}; +static const unsigned char kat3520_addinpr1[] = {0}; +static const unsigned char kat3520_entropyinpr2[] = { + 0xf3, 0xca, 0x78, 0xe6, 0xd6, 0x0f, 0x42, 0x1d, 0x1c, 0x88, 0xdd, 0x28, + 0x4d, 0xe5, 0x76, 0x3c, 0xa8, 0x49, 0x1a, 0xa5, 0x72, 0x38, 0xbf, 0x90, + 0xd6, 0x43, 0xfc, 0x3b, 0x43, 0x98, 0x1c, 0x7f, +}; +static const unsigned char kat3520_addinpr2[] = {0}; +static const unsigned char kat3520_retbits[] = { + 0x85, 0xc3, 0x64, 0x41, 0xb2, 0x82, 0xeb, 0x20, 0xa2, 0x55, 0x10, 0x2a, + 0xe1, 0xfa, 0x19, 0x75, 0xfc, 0xb6, 0x3b, 0x4c, 0x78, 0x1b, 0x5e, 0x1e, + 0x75, 0xb6, 0x80, 0x08, 0x62, 0xee, 0xdb, 0xa1, 0x55, 0x5e, 0xab, 0x73, + 0xfd, 0x8a, 0xc7, 0xf7, 0x01, 0xb0, 0xfd, 0xbd, 0xf4, 0x7d, 0x5c, 0x79, + 0xed, 0xe5, 0xf0, 0x8e, 0x7a, 0x4a, 0x9f, 0x93, 0x61, 0x01, 0xfa, 0xa1, + 0x14, 0x6b, 0x6e, 0xa7, +}; +static const struct drbg_kat_pr_true kat3520_t = { + 9, kat3520_entropyin, kat3520_nonce, kat3520_persstr, + kat3520_entropyinpr1, kat3520_addinpr1, kat3520_entropyinpr2, + kat3520_addinpr2, kat3520_retbits +}; +static const struct drbg_kat kat3520 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3520_t +}; + +static const unsigned char kat3521_entropyin[] = { + 0xa6, 0xae, 0x35, 0x3f, 0x27, 0x6c, 0x88, 0x8c, 0x86, 0x88, 0x06, 0x29, + 0x8c, 0x64, 0x50, 0x26, 0x8f, 0x07, 0x9f, 0xdd, 0xc5, 0x9a, 0x88, 0xae, + 0x0b, 0x00, 0xc3, 0x91, 0x3e, 0x1a, 0x48, 0x78, +}; +static const unsigned char kat3521_nonce[] = { + 0x2d, 0xc0, 0xf6, 0x3e, 0x0f, 0x36, 0x2e, 0xe6, 0xa6, 0x09, 0x80, 0xa8, + 0x74, 0x82, 0x17, 0x26, +}; +static const unsigned char kat3521_persstr[] = { + 0x25, 0x36, 0x75, 0x9f, 0x11, 0xb7, 0x32, 0xba, 0xef, 0x65, 0x40, 0xed, + 0x9f, 0xd9, 0xe7, 0x48, 0x5d, 0x36, 0xfe, 0x76, 0x50, 0xf8, 0x38, 0x9f, + 0x35, 0x59, 0x5b, 0x02, 0x91, 0x56, 0x6b, 0x0c, +}; +static const unsigned char kat3521_entropyinpr1[] = { + 0xfc, 0xda, 0xbc, 0x02, 0xca, 0x6e, 0xbc, 0x6a, 0x85, 0x70, 0x91, 0x77, + 0x59, 0x40, 0x3d, 0x81, 0xe0, 0xba, 0xad, 0x4d, 0x14, 0xe1, 0x6b, 0xde, + 0x35, 0x34, 0x76, 0xaa, 0xab, 0x89, 0x3e, 0x47, +}; +static const unsigned char kat3521_addinpr1[] = {0}; +static const unsigned char kat3521_entropyinpr2[] = { + 0x56, 0x9b, 0x85, 0xa9, 0x4d, 0x0e, 0xae, 0x8b, 0xba, 0x75, 0xa6, 0x0c, + 0xeb, 0xc0, 0x0b, 0xe4, 0x69, 0x84, 0x31, 0x44, 0xb1, 0x46, 0x56, 0xa9, + 0x78, 0x30, 0x8f, 0x72, 0x5f, 0x77, 0x86, 0xeb, +}; +static const unsigned char kat3521_addinpr2[] = {0}; +static const unsigned char kat3521_retbits[] = { + 0x70, 0xe9, 0x9d, 0xd2, 0x46, 0x0c, 0x5a, 0xff, 0x65, 0x89, 0x08, 0x77, + 0xcf, 0xba, 0x81, 0x27, 0xad, 0xbb, 0x85, 0xf9, 0xbd, 0xa4, 0x3a, 0xd0, + 0x60, 0x3f, 0xa3, 0x23, 0xb1, 0xf2, 0xdb, 0x99, 0x2c, 0x02, 0x05, 0x7c, + 0x10, 0x1e, 0x08, 0x96, 0x54, 0xac, 0xb2, 0xa7, 0xc7, 0x1c, 0xba, 0xba, + 0x27, 0x17, 0xb5, 0x9a, 0x72, 0x5f, 0x13, 0x3d, 0xd7, 0x78, 0x52, 0x59, + 0xb5, 0xa1, 0x5a, 0x00, +}; +static const struct drbg_kat_pr_true kat3521_t = { + 10, kat3521_entropyin, kat3521_nonce, kat3521_persstr, + kat3521_entropyinpr1, kat3521_addinpr1, kat3521_entropyinpr2, + kat3521_addinpr2, kat3521_retbits +}; +static const struct drbg_kat kat3521 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3521_t +}; + +static const unsigned char kat3522_entropyin[] = { + 0xc5, 0xa1, 0x20, 0x9b, 0xd7, 0xb7, 0xd3, 0x7c, 0xae, 0x67, 0x3d, 0xca, + 0xfc, 0xcf, 0x23, 0xe8, 0x43, 0xe5, 0xcf, 0x2a, 0x96, 0xd9, 0x04, 0x61, + 0x33, 0x94, 0xe8, 0x7b, 0xaf, 0xfb, 0x0b, 0x8f, +}; +static const unsigned char kat3522_nonce[] = { + 0x72, 0x81, 0xe2, 0x8b, 0xce, 0x17, 0x9c, 0x86, 0x2a, 0xa6, 0x9b, 0xdb, + 0x1f, 0xb9, 0x50, 0xf9, +}; +static const unsigned char kat3522_persstr[] = { + 0x4f, 0x3f, 0x3e, 0x6e, 0x83, 0x8d, 0x17, 0x63, 0x85, 0xf6, 0x8e, 0xf9, + 0x9c, 0xff, 0x0a, 0xbb, 0xc1, 0x4d, 0xe8, 0x0a, 0x88, 0xb7, 0x0c, 0x63, + 0xc1, 0x69, 0x34, 0x36, 0x3b, 0x80, 0x1b, 0x32, +}; +static const unsigned char kat3522_entropyinpr1[] = { + 0x8c, 0x77, 0xe4, 0x4e, 0x06, 0xb3, 0xc4, 0xad, 0xea, 0x9d, 0x03, 0x5b, + 0x19, 0x80, 0xe1, 0x58, 0x9c, 0xbf, 0xe7, 0x20, 0x74, 0x7a, 0x6d, 0x6d, + 0x89, 0x61, 0x68, 0x71, 0x26, 0x16, 0x63, 0xf9, +}; +static const unsigned char kat3522_addinpr1[] = {0}; +static const unsigned char kat3522_entropyinpr2[] = { + 0xc5, 0xfa, 0x21, 0x4f, 0x6e, 0x5b, 0x06, 0xd9, 0xb5, 0x33, 0x1f, 0x82, + 0xed, 0x35, 0xb4, 0x9e, 0x43, 0x01, 0xd3, 0x86, 0x4f, 0xd9, 0x0e, 0xf7, + 0x09, 0x72, 0xa3, 0xe3, 0x0e, 0xc0, 0x3b, 0x3b, +}; +static const unsigned char kat3522_addinpr2[] = {0}; +static const unsigned char kat3522_retbits[] = { + 0x9c, 0xf5, 0x08, 0xc8, 0x69, 0x8b, 0xa8, 0x6e, 0x69, 0xa1, 0xa9, 0x9f, + 0xe2, 0x6c, 0xaf, 0xa7, 0xd0, 0x7d, 0xce, 0x59, 0x67, 0xf1, 0x1a, 0xd0, + 0xf0, 0xe6, 0x38, 0xa7, 0xaa, 0xb2, 0xfe, 0x12, 0x02, 0xc0, 0x59, 0x43, + 0x29, 0x67, 0x9b, 0xbc, 0xe8, 0xdf, 0xbd, 0x2d, 0x7a, 0xea, 0x1d, 0xa5, + 0xe8, 0x8b, 0xad, 0xad, 0x05, 0xa6, 0x9b, 0x0c, 0x12, 0x20, 0x36, 0xfa, + 0xe4, 0x4c, 0x80, 0xa6, +}; +static const struct drbg_kat_pr_true kat3522_t = { + 11, kat3522_entropyin, kat3522_nonce, kat3522_persstr, + kat3522_entropyinpr1, kat3522_addinpr1, kat3522_entropyinpr2, + kat3522_addinpr2, kat3522_retbits +}; +static const struct drbg_kat kat3522 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3522_t +}; + +static const unsigned char kat3523_entropyin[] = { + 0x52, 0x73, 0xbb, 0x52, 0x34, 0xa1, 0xbc, 0x1a, 0x18, 0x3f, 0xe9, 0x7a, + 0xa0, 0xa0, 0x44, 0x14, 0xbb, 0x6e, 0x36, 0x6b, 0x68, 0x37, 0xb4, 0x4e, + 0xb0, 0x84, 0x7b, 0xd6, 0xa7, 0x73, 0x69, 0x6e, +}; +static const unsigned char kat3523_nonce[] = { + 0x05, 0xb8, 0xad, 0x30, 0x96, 0x8f, 0xc2, 0x63, 0xdd, 0x73, 0x1c, 0x9d, + 0x6e, 0xca, 0xda, 0x33, +}; +static const unsigned char kat3523_persstr[] = { + 0x61, 0x0c, 0x0f, 0x41, 0xd8, 0xee, 0xff, 0x00, 0x46, 0x75, 0x81, 0x09, + 0xb4, 0xe0, 0xc8, 0x91, 0xc5, 0x70, 0x2f, 0x43, 0xf9, 0x63, 0x92, 0x0e, + 0x48, 0xeb, 0x64, 0x1c, 0x76, 0x3c, 0xae, 0x80, +}; +static const unsigned char kat3523_entropyinpr1[] = { + 0x69, 0xa6, 0x5f, 0x48, 0x07, 0x05, 0x08, 0x2d, 0x79, 0x14, 0x59, 0x1b, + 0xb6, 0x29, 0x13, 0x21, 0xa9, 0x4d, 0xd2, 0xf7, 0x5a, 0xdb, 0x82, 0x70, + 0x01, 0x95, 0x04, 0x41, 0xac, 0xc8, 0x43, 0x1f, +}; +static const unsigned char kat3523_addinpr1[] = {0}; +static const unsigned char kat3523_entropyinpr2[] = { + 0xc2, 0xef, 0x3c, 0xbe, 0xfe, 0x07, 0xf0, 0xf5, 0xcd, 0xb4, 0x7d, 0xf2, + 0x7e, 0x9e, 0xaf, 0x3c, 0xc5, 0xde, 0xb6, 0xe2, 0x3f, 0xe9, 0x3a, 0x47, + 0x80, 0x10, 0xda, 0xb1, 0xcd, 0xad, 0x9e, 0x74, +}; +static const unsigned char kat3523_addinpr2[] = {0}; +static const unsigned char kat3523_retbits[] = { + 0x9b, 0x88, 0x7c, 0xc9, 0xe2, 0x95, 0x2f, 0x6b, 0x79, 0x31, 0xe0, 0x0c, + 0xcd, 0x2f, 0xed, 0x1a, 0xf3, 0x03, 0x51, 0x83, 0x97, 0xd8, 0xd6, 0x6c, + 0x53, 0x8e, 0xde, 0x16, 0x63, 0xd0, 0x13, 0xcd, 0xf7, 0x35, 0x05, 0x4a, + 0xce, 0xf1, 0x92, 0x60, 0x74, 0xa8, 0x4e, 0xf6, 0x85, 0xb1, 0xb9, 0xd9, + 0x12, 0x62, 0x6e, 0xa4, 0x80, 0x13, 0x96, 0x6a, 0x12, 0x85, 0x1a, 0x4c, + 0x29, 0x3f, 0xe3, 0x4c, +}; +static const struct drbg_kat_pr_true kat3523_t = { + 12, kat3523_entropyin, kat3523_nonce, kat3523_persstr, + kat3523_entropyinpr1, kat3523_addinpr1, kat3523_entropyinpr2, + kat3523_addinpr2, kat3523_retbits +}; +static const struct drbg_kat kat3523 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3523_t +}; + +static const unsigned char kat3524_entropyin[] = { + 0x51, 0x70, 0x55, 0x85, 0x0f, 0xb9, 0xdf, 0x06, 0xab, 0x58, 0xcb, 0xed, + 0xf0, 0x4a, 0x78, 0x79, 0xd7, 0xd5, 0xab, 0x14, 0xd4, 0xf7, 0xfc, 0x82, + 0x54, 0x6e, 0x12, 0xc1, 0x48, 0xc8, 0x81, 0x7e, +}; +static const unsigned char kat3524_nonce[] = { + 0x6a, 0x05, 0xf5, 0x4d, 0x40, 0xcb, 0xa9, 0xec, 0xf1, 0x71, 0xdc, 0x09, + 0x38, 0x3f, 0x7a, 0x27, +}; +static const unsigned char kat3524_persstr[] = { + 0x5e, 0xfe, 0xa8, 0x41, 0xb1, 0x3e, 0x14, 0x68, 0x9d, 0xde, 0x9a, 0x1a, + 0xf2, 0x3b, 0x12, 0xda, 0x5b, 0xb4, 0xbc, 0x06, 0x5c, 0xc7, 0x3b, 0x29, + 0x46, 0x5b, 0x55, 0x44, 0xa9, 0x8a, 0xb9, 0xf8, +}; +static const unsigned char kat3524_entropyinpr1[] = { + 0x1a, 0x21, 0xff, 0x08, 0x22, 0x10, 0x3c, 0xbb, 0x5a, 0xee, 0x0b, 0x88, + 0xe5, 0x0c, 0x5a, 0xe1, 0x71, 0x30, 0xbd, 0x30, 0xb1, 0xde, 0xf7, 0x88, + 0x05, 0xa5, 0xa8, 0x1f, 0x63, 0x0a, 0x9c, 0x84, +}; +static const unsigned char kat3524_addinpr1[] = {0}; +static const unsigned char kat3524_entropyinpr2[] = { + 0x0e, 0x4d, 0x04, 0x33, 0xd0, 0x1f, 0x14, 0x83, 0x14, 0x2e, 0xe7, 0x9c, + 0x95, 0xaf, 0x20, 0x9a, 0xb9, 0xf0, 0xda, 0x4f, 0xa9, 0xc0, 0xe7, 0xbb, + 0xe1, 0x39, 0x24, 0x04, 0x81, 0x10, 0x41, 0x07, +}; +static const unsigned char kat3524_addinpr2[] = {0}; +static const unsigned char kat3524_retbits[] = { + 0x39, 0x59, 0x1c, 0x4a, 0x55, 0x19, 0x3a, 0x93, 0xc9, 0xe4, 0x53, 0xbb, + 0xf7, 0x81, 0x77, 0xf8, 0x0c, 0xfc, 0x38, 0x87, 0x28, 0x66, 0x88, 0x0d, + 0x34, 0x55, 0x57, 0x86, 0xbb, 0xf0, 0xb0, 0xae, 0x1f, 0x2b, 0xf2, 0xd2, + 0xb1, 0x71, 0x11, 0xc5, 0xa3, 0xe3, 0x91, 0x3b, 0xb5, 0x09, 0x54, 0x79, + 0x75, 0x2e, 0x6f, 0x42, 0xe9, 0x40, 0xd7, 0x74, 0x16, 0x12, 0x36, 0x0f, + 0xb2, 0x3e, 0xf6, 0xc9, +}; +static const struct drbg_kat_pr_true kat3524_t = { + 13, kat3524_entropyin, kat3524_nonce, kat3524_persstr, + kat3524_entropyinpr1, kat3524_addinpr1, kat3524_entropyinpr2, + kat3524_addinpr2, kat3524_retbits +}; +static const struct drbg_kat kat3524 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3524_t +}; + +static const unsigned char kat3525_entropyin[] = { + 0x7f, 0xd0, 0xaf, 0xbc, 0x5a, 0x9c, 0xe5, 0xcf, 0xed, 0xe0, 0xab, 0xed, + 0xbe, 0x61, 0x4f, 0x7a, 0xa2, 0x64, 0xf5, 0xee, 0x51, 0xdb, 0x3e, 0x7b, + 0x5c, 0x69, 0x3c, 0xbe, 0x00, 0x12, 0xba, 0x9a, +}; +static const unsigned char kat3525_nonce[] = { + 0x6b, 0x43, 0x21, 0x2f, 0xf9, 0x4b, 0x8a, 0x3d, 0xa0, 0xb8, 0x2b, 0x5f, + 0x14, 0xbe, 0xb0, 0x11, +}; +static const unsigned char kat3525_persstr[] = { + 0xfa, 0xa7, 0xdf, 0xb1, 0x13, 0x27, 0x75, 0xea, 0xfc, 0x85, 0xf9, 0x7c, + 0x4b, 0x4d, 0x05, 0x97, 0x25, 0x57, 0x8f, 0x26, 0x91, 0x55, 0x61, 0x7f, + 0xd9, 0xf0, 0xac, 0x38, 0x9d, 0x8e, 0x65, 0x47, +}; +static const unsigned char kat3525_entropyinpr1[] = { + 0x1d, 0x2c, 0x0e, 0xd4, 0xc5, 0x7d, 0x77, 0x7d, 0x44, 0x87, 0x9b, 0xf3, + 0x36, 0xb8, 0x0e, 0xbb, 0xb8, 0x23, 0x15, 0x15, 0x57, 0xf9, 0x9c, 0x37, + 0x69, 0xdf, 0x39, 0x07, 0x90, 0x44, 0x5e, 0xef, +}; +static const unsigned char kat3525_addinpr1[] = {0}; +static const unsigned char kat3525_entropyinpr2[] = { + 0x7b, 0xb5, 0x11, 0x6d, 0xd7, 0x95, 0xfe, 0xf7, 0xc4, 0x52, 0x4f, 0x9a, + 0xc3, 0xb8, 0x21, 0xfa, 0xf0, 0x60, 0xc2, 0x09, 0x81, 0x8d, 0x17, 0xe3, + 0xc6, 0xcb, 0xdf, 0x7a, 0x3a, 0x41, 0xf1, 0xe9, +}; +static const unsigned char kat3525_addinpr2[] = {0}; +static const unsigned char kat3525_retbits[] = { + 0x4e, 0xb2, 0xa1, 0xbf, 0xd4, 0xfe, 0x74, 0x16, 0x80, 0x06, 0x23, 0xff, + 0xba, 0xe0, 0x2b, 0xfe, 0x30, 0xd8, 0x16, 0xc8, 0xa9, 0xb6, 0x47, 0xf6, + 0x09, 0x2c, 0x1a, 0xab, 0x99, 0xd8, 0x77, 0xc1, 0xe6, 0xc7, 0xa1, 0x16, + 0x54, 0x37, 0x05, 0xcc, 0x3f, 0x94, 0x16, 0x51, 0x83, 0x33, 0xd5, 0x8c, + 0x58, 0xcc, 0x72, 0x4c, 0xa1, 0x51, 0x03, 0x98, 0xbf, 0x82, 0x48, 0xd2, + 0x28, 0x54, 0x4a, 0x15, +}; +static const struct drbg_kat_pr_true kat3525_t = { + 14, kat3525_entropyin, kat3525_nonce, kat3525_persstr, + kat3525_entropyinpr1, kat3525_addinpr1, kat3525_entropyinpr2, + kat3525_addinpr2, kat3525_retbits +}; +static const struct drbg_kat kat3525 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3525_t +}; + +static const unsigned char kat3526_entropyin[] = { + 0x1f, 0xe5, 0x86, 0x0d, 0x25, 0xc6, 0xfe, 0x83, 0x23, 0x1d, 0xe9, 0xb6, + 0x5e, 0xcb, 0x76, 0x43, 0x44, 0x4b, 0x97, 0x37, 0xd2, 0xba, 0x08, 0x35, + 0x9b, 0x50, 0x09, 0x1d, 0x6d, 0xd2, 0x80, 0x9b, +}; +static const unsigned char kat3526_nonce[] = { + 0xf1, 0x90, 0xc0, 0x1d, 0x07, 0x72, 0xa7, 0x39, 0xe1, 0xb2, 0x49, 0xd8, + 0x5a, 0xca, 0xbe, 0xc9, +}; +static const unsigned char kat3526_persstr[] = { + 0x0a, 0x71, 0x4c, 0x2c, 0x9c, 0x14, 0x4b, 0xed, 0xac, 0xb5, 0x9b, 0x10, + 0x59, 0xbc, 0x45, 0x83, 0xcc, 0x2d, 0x92, 0x33, 0x1e, 0xca, 0xbf, 0x14, + 0x6d, 0x48, 0x96, 0xe9, 0x6d, 0x83, 0x0e, 0xa8, +}; +static const unsigned char kat3526_entropyinpr1[] = { + 0xbd, 0xd1, 0xba, 0xca, 0xec, 0x39, 0xe1, 0x92, 0x31, 0x07, 0x44, 0xeb, + 0x25, 0x4a, 0x3f, 0x05, 0xe6, 0x1b, 0x2a, 0xd4, 0x19, 0x61, 0x1a, 0x43, + 0x14, 0x77, 0x44, 0xa4, 0x44, 0xf1, 0x54, 0xd6, +}; +static const unsigned char kat3526_addinpr1[] = { + 0x98, 0x95, 0x8f, 0x55, 0x7c, 0xb2, 0x43, 0x51, 0xc3, 0xce, 0xa0, 0x27, + 0x80, 0x18, 0xf9, 0xdd, 0xe6, 0x18, 0x40, 0xf5, 0x1f, 0x36, 0xef, 0x64, + 0xd8, 0x64, 0x14, 0xa2, 0x73, 0x01, 0xef, 0x65, +}; +static const unsigned char kat3526_entropyinpr2[] = { + 0x48, 0x0d, 0x2d, 0xd9, 0x38, 0x9b, 0xaf, 0x09, 0x75, 0x5c, 0x78, 0xd5, + 0x63, 0x25, 0x0e, 0x92, 0x24, 0x8f, 0x0f, 0x5c, 0xc5, 0x06, 0x7a, 0xe8, + 0x20, 0x78, 0x93, 0x05, 0xc0, 0xa4, 0xd6, 0x26, +}; +static const unsigned char kat3526_addinpr2[] = { + 0x55, 0x15, 0x5f, 0x75, 0x2c, 0xb5, 0xf5, 0x3b, 0x49, 0x1f, 0xd8, 0xab, + 0xda, 0xbe, 0xec, 0x22, 0xd5, 0xf3, 0x5b, 0x3a, 0xf4, 0x94, 0x84, 0x28, + 0x2f, 0xeb, 0xbd, 0x79, 0x4c, 0xb7, 0x12, 0x82, +}; +static const unsigned char kat3526_retbits[] = { + 0x3d, 0xce, 0x54, 0xa9, 0x9d, 0x91, 0x96, 0xdf, 0x36, 0x29, 0xa2, 0x95, + 0x77, 0x20, 0xae, 0xa3, 0x94, 0xe1, 0x57, 0x3c, 0x2a, 0x41, 0xf9, 0xa6, + 0x33, 0x25, 0xca, 0x57, 0x30, 0x3e, 0xd0, 0xf4, 0xa3, 0x4b, 0x39, 0xbc, + 0xb5, 0x53, 0x74, 0x98, 0xb7, 0x1f, 0xdd, 0x13, 0x8e, 0x0f, 0x83, 0x03, + 0xe5, 0x4f, 0x8e, 0xd4, 0x12, 0xd8, 0x2c, 0x64, 0x75, 0x4d, 0x27, 0x8a, + 0x8b, 0x68, 0xbc, 0xd1, +}; +static const struct drbg_kat_pr_true kat3526_t = { + 0, kat3526_entropyin, kat3526_nonce, kat3526_persstr, + kat3526_entropyinpr1, kat3526_addinpr1, kat3526_entropyinpr2, + kat3526_addinpr2, kat3526_retbits +}; +static const struct drbg_kat kat3526 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3526_t +}; + +static const unsigned char kat3527_entropyin[] = { + 0xb9, 0xdf, 0xc4, 0xd8, 0x92, 0x04, 0x95, 0xa9, 0x82, 0xb5, 0xd3, 0x69, + 0xb9, 0xa7, 0x06, 0x4d, 0x4a, 0x07, 0x2c, 0x4f, 0x33, 0x6a, 0x94, 0x2f, + 0xbd, 0x28, 0x94, 0x1a, 0xed, 0xe3, 0x48, 0x4f, +}; +static const unsigned char kat3527_nonce[] = { + 0x5a, 0x6c, 0xd9, 0x5e, 0x00, 0xbd, 0x4c, 0xf6, 0x71, 0xc7, 0xe7, 0xaa, + 0xca, 0x97, 0xf5, 0x92, +}; +static const unsigned char kat3527_persstr[] = { + 0x1d, 0x69, 0x9f, 0x24, 0xd8, 0x73, 0x84, 0x81, 0x57, 0x7e, 0xf4, 0x76, + 0x8b, 0xc0, 0x6d, 0xf8, 0xb7, 0x41, 0x9a, 0x7b, 0xfb, 0x02, 0xb9, 0xe4, + 0xb1, 0x81, 0xdb, 0xf4, 0x92, 0x86, 0x05, 0x47, +}; +static const unsigned char kat3527_entropyinpr1[] = { + 0x29, 0x24, 0x1b, 0x65, 0x2e, 0x34, 0x24, 0xac, 0x5b, 0xd1, 0x8f, 0x86, + 0xe1, 0xe1, 0xf8, 0x46, 0x2e, 0x4e, 0xf5, 0xa6, 0x72, 0xa1, 0xb2, 0x1e, + 0xbc, 0x6b, 0x24, 0x4e, 0x7e, 0x2e, 0x30, 0x45, +}; +static const unsigned char kat3527_addinpr1[] = { + 0x92, 0x03, 0x1e, 0x29, 0x1b, 0x34, 0x52, 0x06, 0x24, 0x37, 0x4b, 0x24, + 0x56, 0x5f, 0xb9, 0x64, 0x3f, 0x26, 0xa7, 0x8c, 0xf8, 0x5e, 0x8f, 0x89, + 0xa1, 0xa3, 0x74, 0xa0, 0x2f, 0x9a, 0x2c, 0x76, +}; +static const unsigned char kat3527_entropyinpr2[] = { + 0x9f, 0x33, 0x66, 0xf9, 0x60, 0xd9, 0xc7, 0xcb, 0x2d, 0x05, 0x68, 0x3d, + 0x4b, 0x43, 0xfe, 0xcb, 0x44, 0xc2, 0x68, 0xbf, 0x87, 0xdd, 0x43, 0x6d, + 0x5a, 0x08, 0x82, 0xde, 0x90, 0x4f, 0xb2, 0x21, +}; +static const unsigned char kat3527_addinpr2[] = { + 0x30, 0x33, 0xd7, 0xbb, 0x15, 0x43, 0x23, 0x3f, 0x3d, 0xc1, 0x69, 0xa1, + 0xcc, 0xbb, 0x3c, 0x47, 0xe2, 0x61, 0xe3, 0x03, 0x80, 0x30, 0x86, 0x19, + 0xc8, 0x4c, 0xd6, 0x0a, 0x13, 0xda, 0xdd, 0xf9, +}; +static const unsigned char kat3527_retbits[] = { + 0x33, 0x31, 0x15, 0x0c, 0x62, 0x75, 0x85, 0xfc, 0x52, 0x71, 0x5a, 0xc7, + 0xff, 0x83, 0xce, 0xa2, 0x65, 0xed, 0x5a, 0xdb, 0xb1, 0xd3, 0x0b, 0xda, + 0x3f, 0x75, 0xfd, 0x39, 0x8c, 0x6f, 0x9a, 0x81, 0xf1, 0xe7, 0xc4, 0xea, + 0xe5, 0xd7, 0xc3, 0x62, 0x3d, 0xd1, 0xdc, 0x4a, 0x5b, 0x8a, 0xd4, 0xa4, + 0x21, 0xb3, 0xda, 0xa9, 0x78, 0x66, 0x6f, 0xff, 0x8b, 0xe2, 0xa0, 0xb6, + 0x43, 0xb0, 0x95, 0x60, +}; +static const struct drbg_kat_pr_true kat3527_t = { + 1, kat3527_entropyin, kat3527_nonce, kat3527_persstr, + kat3527_entropyinpr1, kat3527_addinpr1, kat3527_entropyinpr2, + kat3527_addinpr2, kat3527_retbits +}; +static const struct drbg_kat kat3527 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3527_t +}; + +static const unsigned char kat3528_entropyin[] = { + 0xcd, 0xb3, 0xf0, 0x16, 0xb2, 0x24, 0x4b, 0x9e, 0x55, 0xb5, 0xf1, 0x19, + 0x19, 0x78, 0x44, 0x92, 0x39, 0xc1, 0x91, 0xa2, 0xa4, 0x5f, 0xe0, 0xd1, + 0x9f, 0x02, 0xe2, 0x92, 0x3c, 0x36, 0x12, 0xdd, +}; +static const unsigned char kat3528_nonce[] = { + 0xdc, 0x1f, 0xd8, 0xb8, 0xd1, 0xce, 0x82, 0x0a, 0x4d, 0xc7, 0x45, 0xb9, + 0x9e, 0x65, 0x7f, 0x62, +}; +static const unsigned char kat3528_persstr[] = { + 0xff, 0xa2, 0x60, 0x57, 0x7d, 0x92, 0xd0, 0xea, 0x96, 0x65, 0x33, 0x1c, + 0x3e, 0x18, 0x22, 0x7d, 0x5c, 0x9a, 0xea, 0x46, 0xa7, 0xc3, 0x6a, 0x76, + 0x2f, 0xe1, 0xc5, 0xa6, 0x6e, 0x73, 0xf8, 0x0b, +}; +static const unsigned char kat3528_entropyinpr1[] = { + 0xf9, 0x1b, 0x41, 0x7c, 0x0d, 0x8f, 0xe4, 0x53, 0xb8, 0x3a, 0x9f, 0x34, + 0x6e, 0xab, 0x8c, 0x87, 0x99, 0xb0, 0x34, 0x44, 0xe0, 0xf3, 0xa4, 0xe5, + 0xdd, 0x5c, 0xc0, 0x86, 0x24, 0x6b, 0x0d, 0x45, +}; +static const unsigned char kat3528_addinpr1[] = { + 0x87, 0xf4, 0xd8, 0x2b, 0x14, 0x1d, 0x38, 0x79, 0x7d, 0x52, 0x6b, 0xa9, + 0x1b, 0xd4, 0x48, 0x69, 0x49, 0xe4, 0xad, 0xad, 0xf4, 0x52, 0x74, 0xeb, + 0xb8, 0x05, 0xe1, 0x8c, 0xf8, 0xf9, 0xc0, 0x5f, +}; +static const unsigned char kat3528_entropyinpr2[] = { + 0xf6, 0xcb, 0xb8, 0x52, 0x38, 0xb8, 0x62, 0x8c, 0x4a, 0x1d, 0x12, 0xc3, + 0x65, 0x64, 0x7e, 0x06, 0xad, 0x60, 0x07, 0x0e, 0xd2, 0x85, 0xed, 0x37, + 0xb3, 0xe3, 0x42, 0x2f, 0xfb, 0x96, 0xe8, 0x36, +}; +static const unsigned char kat3528_addinpr2[] = { + 0x10, 0xee, 0xc6, 0x8e, 0xbb, 0xeb, 0x48, 0xbf, 0xa6, 0xb4, 0x71, 0x35, + 0x5d, 0x38, 0xae, 0x5d, 0x68, 0x61, 0xa6, 0xf6, 0xff, 0x36, 0x85, 0x48, + 0x66, 0xe8, 0xb7, 0x7b, 0x3b, 0xe0, 0x5f, 0x86, +}; +static const unsigned char kat3528_retbits[] = { + 0x5b, 0x2c, 0x8e, 0x3b, 0xb4, 0x73, 0xd9, 0x4c, 0x67, 0x7d, 0x0b, 0xc3, + 0xb3, 0x74, 0x14, 0x5b, 0xc8, 0x79, 0xdd, 0x46, 0xb7, 0x59, 0x87, 0x8f, + 0x33, 0x65, 0x6c, 0xaf, 0xa8, 0x8d, 0xa7, 0xc9, 0x36, 0x86, 0x72, 0x5d, + 0x82, 0xf9, 0x87, 0xdd, 0xe6, 0x6d, 0x03, 0x5d, 0xd9, 0x61, 0xf5, 0x19, + 0x76, 0xcf, 0x62, 0xc7, 0x8e, 0x14, 0x51, 0x50, 0x81, 0xa1, 0xb0, 0x4c, + 0xc6, 0x11, 0x76, 0x02, +}; +static const struct drbg_kat_pr_true kat3528_t = { + 2, kat3528_entropyin, kat3528_nonce, kat3528_persstr, + kat3528_entropyinpr1, kat3528_addinpr1, kat3528_entropyinpr2, + kat3528_addinpr2, kat3528_retbits +}; +static const struct drbg_kat kat3528 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3528_t +}; + +static const unsigned char kat3529_entropyin[] = { + 0xc9, 0x04, 0xac, 0x8b, 0x08, 0xba, 0x8f, 0x4c, 0xa1, 0xcb, 0x93, 0xc6, + 0x7f, 0xad, 0xf1, 0x76, 0x6f, 0xc1, 0x59, 0x79, 0x84, 0x7c, 0x3f, 0x45, + 0x3a, 0xf9, 0x8b, 0x55, 0xa4, 0xe2, 0xee, 0xf0, +}; +static const unsigned char kat3529_nonce[] = { + 0x45, 0x7a, 0x6d, 0xed, 0xfb, 0xdb, 0x56, 0x74, 0x8b, 0x05, 0xa5, 0x21, + 0xa2, 0xc2, 0xa0, 0xe1, +}; +static const unsigned char kat3529_persstr[] = { + 0x52, 0x4e, 0x44, 0x2e, 0xbb, 0x64, 0x67, 0xf8, 0x1d, 0xa6, 0xa4, 0xab, + 0x75, 0x9c, 0x30, 0xcd, 0xe5, 0x41, 0x23, 0x4f, 0xc6, 0x93, 0x35, 0xd6, + 0x14, 0x76, 0xa3, 0xbd, 0x77, 0xf8, 0x18, 0x77, +}; +static const unsigned char kat3529_entropyinpr1[] = { + 0x3a, 0x22, 0xa1, 0xec, 0xc8, 0x8e, 0x1e, 0x62, 0x0f, 0xb8, 0x53, 0x8e, + 0xba, 0x77, 0xa3, 0x31, 0x53, 0xc6, 0xf5, 0xe4, 0x3b, 0xb7, 0x86, 0xea, + 0x17, 0x69, 0xbe, 0xb2, 0x5d, 0x7e, 0xdc, 0xc9, +}; +static const unsigned char kat3529_addinpr1[] = { + 0x17, 0x9c, 0x68, 0xde, 0x66, 0x7a, 0xf9, 0x81, 0xe1, 0xa3, 0xa8, 0x79, + 0x75, 0xfa, 0x94, 0xf4, 0xe2, 0xc0, 0xf0, 0xbb, 0x87, 0x08, 0xb9, 0x3f, + 0x7a, 0x91, 0xe0, 0xbd, 0x6e, 0xcf, 0x8e, 0xf6, +}; +static const unsigned char kat3529_entropyinpr2[] = { + 0x3e, 0x29, 0x58, 0x28, 0x04, 0x3b, 0x6c, 0xf7, 0xc2, 0xcd, 0xf3, 0xa7, + 0x63, 0xfd, 0x9d, 0xeb, 0x7d, 0x05, 0x52, 0xfd, 0x54, 0x94, 0x07, 0x4e, + 0x4f, 0x80, 0xfa, 0x52, 0x59, 0xa0, 0x7e, 0x3a, +}; +static const unsigned char kat3529_addinpr2[] = { + 0x18, 0xac, 0xbd, 0xa0, 0x31, 0x0e, 0x14, 0x44, 0xd7, 0xee, 0xc6, 0x60, + 0x9a, 0x47, 0xf3, 0xf2, 0xe2, 0xfa, 0xcf, 0x41, 0x36, 0xf4, 0xee, 0x9b, + 0x60, 0x66, 0x6c, 0x17, 0xea, 0xba, 0xb2, 0x9b, +}; +static const unsigned char kat3529_retbits[] = { + 0xbd, 0x6b, 0x64, 0x0b, 0x13, 0x8f, 0xa0, 0xc2, 0xea, 0x56, 0xd8, 0x1e, + 0x85, 0x44, 0x6b, 0x88, 0x70, 0x0e, 0xfa, 0x66, 0xe3, 0xed, 0x3b, 0x88, + 0x16, 0xe2, 0xe3, 0x1c, 0x9b, 0x49, 0xbf, 0xa6, 0x4b, 0xcd, 0x36, 0x2b, + 0x1a, 0xc7, 0xc8, 0x98, 0xf4, 0x45, 0xe9, 0xdd, 0xc8, 0xa3, 0xdb, 0x21, + 0x79, 0x4e, 0xc0, 0x77, 0xe7, 0xbd, 0xd8, 0xd9, 0x07, 0x91, 0xad, 0xb2, + 0xb5, 0xcf, 0x5a, 0x76, +}; +static const struct drbg_kat_pr_true kat3529_t = { + 3, kat3529_entropyin, kat3529_nonce, kat3529_persstr, + kat3529_entropyinpr1, kat3529_addinpr1, kat3529_entropyinpr2, + kat3529_addinpr2, kat3529_retbits +}; +static const struct drbg_kat kat3529 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3529_t +}; + +static const unsigned char kat3530_entropyin[] = { + 0x74, 0x28, 0x06, 0x3c, 0xd1, 0xd8, 0x52, 0x1d, 0xd9, 0x8b, 0x9a, 0xe1, + 0xb1, 0xc7, 0xc7, 0x53, 0x3d, 0x79, 0xba, 0x07, 0x76, 0x0b, 0x37, 0x6c, + 0x59, 0xeb, 0x1d, 0x58, 0xfe, 0x05, 0xa6, 0xf9, +}; +static const unsigned char kat3530_nonce[] = { + 0x79, 0xa9, 0x32, 0xf0, 0xb9, 0x57, 0x08, 0x47, 0x76, 0x07, 0x2d, 0xf8, + 0xe5, 0x2b, 0xfe, 0x8e, +}; +static const unsigned char kat3530_persstr[] = { + 0x8d, 0xb7, 0x74, 0x0a, 0x7a, 0x30, 0x1a, 0xcc, 0xf6, 0xb9, 0x9b, 0xb9, + 0xc8, 0x7d, 0x07, 0xda, 0x99, 0x1c, 0xcf, 0x2c, 0x76, 0x27, 0xe9, 0xb7, + 0xad, 0x2d, 0x73, 0x1a, 0x90, 0x79, 0x06, 0x77, +}; +static const unsigned char kat3530_entropyinpr1[] = { + 0x6d, 0x0d, 0x3c, 0x47, 0x82, 0x23, 0xab, 0xcf, 0x5d, 0x85, 0xaa, 0x06, + 0xc8, 0xfa, 0x97, 0xea, 0x2a, 0x97, 0xf0, 0x27, 0x16, 0x75, 0x3e, 0x23, + 0x59, 0xde, 0x9e, 0x2d, 0xe5, 0xf3, 0x8b, 0x79, +}; +static const unsigned char kat3530_addinpr1[] = { + 0xd7, 0xf0, 0xca, 0xa7, 0x39, 0x78, 0x60, 0xc8, 0x6c, 0xd1, 0x4f, 0xdd, + 0x07, 0x6a, 0x6a, 0xca, 0x52, 0x09, 0x32, 0x67, 0x91, 0xe4, 0xf4, 0x7d, + 0x26, 0x60, 0x01, 0x16, 0x17, 0x40, 0x35, 0x0b, +}; +static const unsigned char kat3530_entropyinpr2[] = { + 0x11, 0xfa, 0x1a, 0x95, 0x56, 0xeb, 0x56, 0x4e, 0x74, 0x4d, 0xc0, 0x5a, + 0xc4, 0x1c, 0x58, 0xb3, 0xd3, 0x51, 0xe0, 0x00, 0xc8, 0x8b, 0xdf, 0x53, + 0x71, 0x63, 0x75, 0x9a, 0x38, 0xfe, 0x68, 0xd8, +}; +static const unsigned char kat3530_addinpr2[] = { + 0x8a, 0x76, 0xd7, 0xd3, 0x64, 0x4a, 0x97, 0x74, 0x17, 0x23, 0xa5, 0xe2, + 0x32, 0xd1, 0x45, 0x1f, 0xf7, 0x89, 0xb5, 0xeb, 0xf3, 0xd7, 0xec, 0x78, + 0x01, 0x3e, 0x8e, 0x1e, 0xf2, 0xb4, 0xb3, 0xab, +}; +static const unsigned char kat3530_retbits[] = { + 0x03, 0x85, 0xd4, 0x47, 0x22, 0xce, 0x60, 0xd2, 0xac, 0x0b, 0x8f, 0x35, + 0xaf, 0xd9, 0x99, 0xef, 0xbf, 0x07, 0xc7, 0x36, 0xce, 0xc6, 0x5d, 0xe0, + 0x69, 0x30, 0x0b, 0xd6, 0x4a, 0xb0, 0xe2, 0xda, 0xf0, 0x74, 0x37, 0x4b, + 0x17, 0x1c, 0x36, 0x22, 0xa8, 0xb0, 0xb5, 0x54, 0x99, 0x3b, 0xcc, 0xa4, + 0xca, 0xa5, 0x78, 0xc3, 0x77, 0xbd, 0xf5, 0xdb, 0xf5, 0x10, 0xe3, 0xb4, + 0xf1, 0x4b, 0x6f, 0xdf, +}; +static const struct drbg_kat_pr_true kat3530_t = { + 4, kat3530_entropyin, kat3530_nonce, kat3530_persstr, + kat3530_entropyinpr1, kat3530_addinpr1, kat3530_entropyinpr2, + kat3530_addinpr2, kat3530_retbits +}; +static const struct drbg_kat kat3530 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3530_t +}; + +static const unsigned char kat3531_entropyin[] = { + 0x84, 0x65, 0xf5, 0x2f, 0x8c, 0xf1, 0xc2, 0x80, 0xda, 0xf3, 0x48, 0x03, + 0xf5, 0xbe, 0xba, 0x60, 0x7d, 0xc1, 0x92, 0xb2, 0xcc, 0x99, 0xdb, 0x21, + 0x5d, 0x24, 0xe8, 0x54, 0x0d, 0x0e, 0xf7, 0x39, +}; +static const unsigned char kat3531_nonce[] = { + 0xd6, 0xb8, 0x52, 0x1d, 0x98, 0x12, 0x35, 0xfd, 0x4e, 0xc8, 0x52, 0xb7, + 0x59, 0x08, 0x1c, 0x0d, +}; +static const unsigned char kat3531_persstr[] = { + 0x8f, 0x14, 0x94, 0x04, 0xf4, 0xcf, 0x6b, 0x88, 0x93, 0x12, 0x68, 0x4f, + 0x41, 0x55, 0x46, 0x35, 0xcf, 0xb8, 0xfb, 0x43, 0x8f, 0xb0, 0x8e, 0x91, + 0x02, 0xcb, 0x68, 0x7c, 0x95, 0xe9, 0x1a, 0x0d, +}; +static const unsigned char kat3531_entropyinpr1[] = { + 0x91, 0x8a, 0x30, 0x2d, 0x6e, 0x0f, 0xb1, 0xb1, 0xa8, 0x41, 0x4c, 0xea, + 0x43, 0x98, 0xb5, 0x6c, 0x92, 0xc1, 0x43, 0xe2, 0x12, 0x04, 0xd7, 0xa2, + 0x20, 0x87, 0xa2, 0xb0, 0x26, 0x61, 0x37, 0x62, +}; +static const unsigned char kat3531_addinpr1[] = { + 0x00, 0xf2, 0x14, 0x97, 0x58, 0x66, 0x8a, 0x76, 0xcc, 0xc2, 0x61, 0x19, + 0x5b, 0xd6, 0x36, 0x52, 0x32, 0x61, 0x04, 0x7b, 0x85, 0xc4, 0xe9, 0xa6, + 0x49, 0xe6, 0xc3, 0xaa, 0x5e, 0x43, 0x86, 0x0f, +}; +static const unsigned char kat3531_entropyinpr2[] = { + 0x78, 0xb2, 0x1f, 0x28, 0x54, 0x0b, 0x07, 0x06, 0x21, 0xcf, 0x13, 0x3c, + 0x2c, 0xe6, 0xc2, 0xa8, 0xb7, 0xe1, 0x17, 0x44, 0x01, 0x67, 0x05, 0xb3, + 0x97, 0x74, 0xb3, 0x2f, 0x25, 0x8e, 0xf3, 0xcd, +}; +static const unsigned char kat3531_addinpr2[] = { + 0x21, 0xba, 0x9a, 0xba, 0xdb, 0x22, 0x94, 0x87, 0x99, 0x39, 0x9f, 0xec, + 0x93, 0x33, 0x9b, 0xed, 0xdc, 0x2f, 0x07, 0xc5, 0x76, 0xdb, 0xfc, 0xbd, + 0x07, 0x13, 0x47, 0x7f, 0xb6, 0x92, 0x74, 0x6e, +}; +static const unsigned char kat3531_retbits[] = { + 0x89, 0xce, 0xfa, 0x96, 0x1f, 0x9c, 0x17, 0xeb, 0xdf, 0xa1, 0x41, 0xdf, + 0xd5, 0x42, 0x56, 0x94, 0xcc, 0xe1, 0xc3, 0xae, 0x1b, 0x4e, 0x34, 0xe8, + 0xb9, 0xdb, 0xe6, 0x25, 0xda, 0x89, 0x00, 0x41, 0xce, 0x00, 0x22, 0xce, + 0xa5, 0x5f, 0x6f, 0x1f, 0xb1, 0x3b, 0x35, 0x01, 0x39, 0x09, 0x5f, 0x08, + 0x96, 0x02, 0x99, 0x14, 0xa7, 0x97, 0x7e, 0x10, 0xe1, 0xa9, 0x88, 0x58, + 0x8c, 0xdb, 0x67, 0x51, +}; +static const struct drbg_kat_pr_true kat3531_t = { + 5, kat3531_entropyin, kat3531_nonce, kat3531_persstr, + kat3531_entropyinpr1, kat3531_addinpr1, kat3531_entropyinpr2, + kat3531_addinpr2, kat3531_retbits +}; +static const struct drbg_kat kat3531 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3531_t +}; + +static const unsigned char kat3532_entropyin[] = { + 0xc2, 0x4a, 0x5a, 0xc7, 0xb9, 0x73, 0x11, 0x56, 0x18, 0xb3, 0x31, 0x98, + 0x00, 0xdd, 0x4e, 0x22, 0xdc, 0x53, 0x6f, 0x3c, 0xca, 0xb2, 0xca, 0x9a, + 0x2b, 0xb3, 0x2d, 0x9b, 0x17, 0x11, 0xd2, 0x61, +}; +static const unsigned char kat3532_nonce[] = { + 0xfa, 0xcb, 0x57, 0xdb, 0xbe, 0xb7, 0x3f, 0x12, 0xe5, 0x67, 0xf9, 0xa8, + 0xa0, 0x66, 0x84, 0xb1, +}; +static const unsigned char kat3532_persstr[] = { + 0xcf, 0x07, 0xba, 0x3d, 0xad, 0x1c, 0x2d, 0x02, 0x37, 0x98, 0x13, 0xa1, + 0x46, 0xe0, 0x88, 0xb2, 0x54, 0x04, 0x54, 0x5d, 0xfc, 0x7e, 0x4f, 0x7f, + 0xfc, 0x35, 0x8c, 0xa2, 0x67, 0xcd, 0x6c, 0x65, +}; +static const unsigned char kat3532_entropyinpr1[] = { + 0x91, 0xcf, 0xbc, 0x7c, 0xe1, 0x0e, 0xc3, 0x93, 0xfb, 0x6a, 0x4e, 0xcd, + 0x49, 0x52, 0x41, 0x47, 0x51, 0x54, 0x41, 0x2c, 0x59, 0xba, 0x1d, 0x18, + 0x39, 0x42, 0x23, 0xa8, 0x2c, 0x4e, 0xfb, 0x63, +}; +static const unsigned char kat3532_addinpr1[] = { + 0xa5, 0xe8, 0x86, 0xcf, 0x4a, 0x16, 0xc0, 0x33, 0xa7, 0x56, 0xcd, 0x01, + 0xc2, 0x24, 0xb6, 0x94, 0x85, 0xa6, 0x26, 0x19, 0x45, 0x49, 0x6b, 0xe4, + 0x91, 0x36, 0x48, 0xab, 0x00, 0xf3, 0xb3, 0x5c, +}; +static const unsigned char kat3532_entropyinpr2[] = { + 0xfa, 0xf1, 0x4d, 0x6f, 0x6d, 0xdb, 0x1d, 0xd9, 0xd0, 0x4a, 0x8d, 0xeb, + 0xac, 0xbc, 0x61, 0xe0, 0x60, 0x5a, 0x80, 0x1d, 0x44, 0x11, 0x87, 0xc3, + 0xee, 0x95, 0x73, 0x34, 0x49, 0xaa, 0x1e, 0x93, +}; +static const unsigned char kat3532_addinpr2[] = { + 0x12, 0x9c, 0xe3, 0xb5, 0xdf, 0x7b, 0x42, 0xa8, 0x10, 0x38, 0xe1, 0x2c, + 0x7a, 0x08, 0x18, 0x58, 0xe7, 0x84, 0x0b, 0xdd, 0x47, 0x2f, 0x10, 0x9f, + 0x16, 0x71, 0xc7, 0x9f, 0x6f, 0xf9, 0x8c, 0x2d, +}; +static const unsigned char kat3532_retbits[] = { + 0xdd, 0x37, 0x29, 0xc1, 0xc6, 0x58, 0x26, 0xe6, 0x8d, 0x8f, 0x2b, 0x79, + 0x06, 0xb0, 0xf1, 0xa4, 0xc2, 0x12, 0x30, 0x43, 0x67, 0x24, 0x24, 0x63, + 0x91, 0x22, 0x3d, 0x3b, 0x61, 0xa5, 0x05, 0x00, 0x67, 0xee, 0xde, 0x65, + 0x79, 0x88, 0x55, 0xde, 0x8a, 0xa0, 0xdc, 0xa6, 0xcf, 0xb0, 0x49, 0xff, + 0xe8, 0x4a, 0x1f, 0xeb, 0xc7, 0xe9, 0xfe, 0x65, 0xff, 0x17, 0x2a, 0x1a, + 0x06, 0xdf, 0xe8, 0x72, +}; +static const struct drbg_kat_pr_true kat3532_t = { + 6, kat3532_entropyin, kat3532_nonce, kat3532_persstr, + kat3532_entropyinpr1, kat3532_addinpr1, kat3532_entropyinpr2, + kat3532_addinpr2, kat3532_retbits +}; +static const struct drbg_kat kat3532 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3532_t +}; + +static const unsigned char kat3533_entropyin[] = { + 0x7e, 0x22, 0x68, 0x53, 0x9f, 0x62, 0x6c, 0x43, 0x1a, 0xab, 0x9a, 0x5f, + 0x12, 0xa1, 0xe6, 0x4e, 0x1b, 0xd8, 0x1c, 0x2e, 0x05, 0xe8, 0x4b, 0x8a, + 0x1d, 0x8f, 0x1a, 0xe6, 0x54, 0x52, 0x3f, 0x25, +}; +static const unsigned char kat3533_nonce[] = { + 0x0f, 0x63, 0x99, 0xfe, 0x56, 0x02, 0xb8, 0x74, 0x73, 0xd8, 0xf9, 0xd4, + 0xd3, 0xac, 0x9b, 0x52, +}; +static const unsigned char kat3533_persstr[] = { + 0xc8, 0x5a, 0xe1, 0x94, 0xe9, 0xaf, 0xaa, 0xdb, 0xaa, 0x7a, 0x1d, 0x2c, + 0xb1, 0x4e, 0xef, 0x49, 0xeb, 0x5a, 0x3f, 0x8a, 0x45, 0x23, 0x48, 0x96, + 0x45, 0x23, 0x01, 0x11, 0xbc, 0x01, 0x5e, 0xec, +}; +static const unsigned char kat3533_entropyinpr1[] = { + 0x9e, 0x65, 0x80, 0x32, 0x91, 0x38, 0xc2, 0x5b, 0x9a, 0x65, 0x1f, 0x0f, + 0xfb, 0x99, 0x9d, 0x5c, 0xf0, 0x2f, 0xf3, 0xa3, 0x33, 0x34, 0x49, 0x24, + 0x27, 0xa2, 0xfc, 0x94, 0xba, 0x9f, 0x36, 0x13, +}; +static const unsigned char kat3533_addinpr1[] = { + 0x1a, 0x7b, 0x50, 0x47, 0xc0, 0x56, 0x30, 0xc4, 0xff, 0x15, 0x05, 0x4e, + 0xf2, 0xe3, 0x69, 0x68, 0x08, 0xc1, 0xc6, 0xd1, 0x39, 0x3e, 0xec, 0x4e, + 0x85, 0xa2, 0xc0, 0x33, 0xf8, 0x24, 0x18, 0xe4, +}; +static const unsigned char kat3533_entropyinpr2[] = { + 0x7f, 0x75, 0x69, 0x81, 0x34, 0xa0, 0xa2, 0xdc, 0xbf, 0xfc, 0x82, 0xd5, + 0x7c, 0xdf, 0x40, 0x3b, 0x01, 0x42, 0x0b, 0x5b, 0x7a, 0x59, 0xaf, 0xfd, + 0x67, 0xb7, 0x7b, 0x7b, 0x1a, 0xdf, 0xcc, 0x82, +}; +static const unsigned char kat3533_addinpr2[] = { + 0x9f, 0x6f, 0x40, 0xc3, 0xe9, 0x35, 0x1c, 0xfc, 0x1c, 0x51, 0x72, 0xe4, + 0xf7, 0x13, 0xca, 0x96, 0xb3, 0xc1, 0x84, 0xe9, 0xa6, 0x9b, 0xe6, 0xc8, + 0xf4, 0xff, 0x54, 0x02, 0xb0, 0xe8, 0xf4, 0x8b, +}; +static const unsigned char kat3533_retbits[] = { + 0x92, 0x40, 0x83, 0x70, 0x60, 0xff, 0xd6, 0x04, 0xb3, 0xbb, 0x7f, 0x35, + 0xee, 0x68, 0xf3, 0x4b, 0x84, 0x4d, 0xea, 0xd7, 0xa8, 0x9d, 0xe5, 0x79, + 0xba, 0x1f, 0xd4, 0xec, 0xb1, 0x62, 0x5e, 0x85, 0x6b, 0x5e, 0x53, 0xce, + 0xe4, 0x90, 0xe3, 0x64, 0x82, 0x77, 0x41, 0x5b, 0xe7, 0x48, 0x29, 0x50, + 0xce, 0xb5, 0xbb, 0xea, 0xd0, 0x27, 0xfe, 0x36, 0xa9, 0xe1, 0x08, 0xb7, + 0xae, 0x9a, 0x7f, 0x6a, +}; +static const struct drbg_kat_pr_true kat3533_t = { + 7, kat3533_entropyin, kat3533_nonce, kat3533_persstr, + kat3533_entropyinpr1, kat3533_addinpr1, kat3533_entropyinpr2, + kat3533_addinpr2, kat3533_retbits +}; +static const struct drbg_kat kat3533 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3533_t +}; + +static const unsigned char kat3534_entropyin[] = { + 0x26, 0x57, 0xfb, 0xae, 0x48, 0x11, 0x44, 0x4d, 0xa8, 0x6f, 0xba, 0xb9, + 0xc5, 0x0b, 0xb8, 0x93, 0xed, 0xd5, 0xdc, 0x93, 0x68, 0x27, 0xbe, 0xbc, + 0x05, 0x17, 0x01, 0x15, 0xab, 0x03, 0x9c, 0x79, +}; +static const unsigned char kat3534_nonce[] = { + 0xd0, 0x00, 0x4a, 0xc3, 0x9d, 0x19, 0x74, 0x48, 0xcb, 0xad, 0x72, 0x6d, + 0x79, 0xca, 0xc9, 0x8f, +}; +static const unsigned char kat3534_persstr[] = { + 0xe5, 0x58, 0x04, 0xe2, 0x58, 0x14, 0xcd, 0xa1, 0x7d, 0x63, 0x5f, 0xa0, + 0x49, 0x6a, 0xf0, 0x6e, 0x9f, 0x33, 0x5c, 0xdf, 0x3d, 0x37, 0xe8, 0x7f, + 0x49, 0xbf, 0x9c, 0xda, 0x96, 0xac, 0x7d, 0x49, +}; +static const unsigned char kat3534_entropyinpr1[] = { + 0x29, 0xda, 0xcc, 0x26, 0xd4, 0x89, 0x05, 0x9f, 0x4d, 0xde, 0xc6, 0x28, + 0x03, 0x91, 0x69, 0x02, 0x67, 0x02, 0x67, 0xd8, 0x32, 0x5d, 0xe3, 0x14, + 0xde, 0xe3, 0x0f, 0x49, 0xb8, 0x9f, 0xf9, 0x1d, +}; +static const unsigned char kat3534_addinpr1[] = { + 0x29, 0xfd, 0x36, 0x31, 0x34, 0x57, 0xfa, 0xd5, 0x6d, 0xbc, 0x11, 0x06, + 0x2f, 0xc8, 0xf7, 0x57, 0x6c, 0x0e, 0x5f, 0x38, 0xea, 0xf0, 0xb2, 0x64, + 0xb1, 0x65, 0xf4, 0xce, 0x64, 0xe3, 0xfb, 0xd0, +}; +static const unsigned char kat3534_entropyinpr2[] = { + 0x5b, 0x83, 0xa4, 0xf2, 0x1c, 0x4d, 0x70, 0x7c, 0x58, 0x00, 0x7d, 0x04, + 0x78, 0x1a, 0x97, 0x2b, 0x5a, 0xbb, 0x87, 0x81, 0x16, 0x85, 0x67, 0x79, + 0xfe, 0xd9, 0xe6, 0xe3, 0xb9, 0xe4, 0x4a, 0x50, +}; +static const unsigned char kat3534_addinpr2[] = { + 0xc0, 0xbc, 0x83, 0x19, 0xac, 0x31, 0x6a, 0xe6, 0xf7, 0x1f, 0x7c, 0x51, + 0x79, 0x36, 0x33, 0x58, 0x88, 0x32, 0x73, 0x3b, 0x7b, 0x53, 0x08, 0xf2, + 0xab, 0x3e, 0xaf, 0x0e, 0x3e, 0xbc, 0xd8, 0x7e, +}; +static const unsigned char kat3534_retbits[] = { + 0x36, 0xaf, 0x67, 0xb5, 0x7a, 0x2c, 0xd2, 0xde, 0x35, 0x38, 0xcd, 0x1a, + 0x60, 0x28, 0xa4, 0x97, 0xf3, 0x32, 0x36, 0x6f, 0x35, 0x83, 0x04, 0x0d, + 0x87, 0x53, 0x22, 0x2d, 0x14, 0x91, 0xfb, 0x8f, 0x03, 0xdb, 0x97, 0xb0, + 0x8c, 0xa0, 0x29, 0xa1, 0xbb, 0x2e, 0x4d, 0xf8, 0xed, 0x50, 0xeb, 0x00, + 0x3d, 0x5d, 0x68, 0xe1, 0x5b, 0x23, 0xe9, 0xa4, 0x79, 0xef, 0x78, 0x17, + 0x33, 0x15, 0x76, 0xb7, +}; +static const struct drbg_kat_pr_true kat3534_t = { + 8, kat3534_entropyin, kat3534_nonce, kat3534_persstr, + kat3534_entropyinpr1, kat3534_addinpr1, kat3534_entropyinpr2, + kat3534_addinpr2, kat3534_retbits +}; +static const struct drbg_kat kat3534 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3534_t +}; + +static const unsigned char kat3535_entropyin[] = { + 0x08, 0xb2, 0x32, 0x31, 0x9b, 0xbc, 0xd5, 0xbd, 0xf2, 0x72, 0xe3, 0xa0, + 0xd4, 0x11, 0x66, 0x6b, 0x56, 0x76, 0xa0, 0x3d, 0xf6, 0xfa, 0x53, 0xa3, + 0xba, 0x71, 0xcb, 0xb5, 0x40, 0x72, 0x42, 0xcc, +}; +static const unsigned char kat3535_nonce[] = { + 0x91, 0x9b, 0xfe, 0x07, 0x75, 0xd2, 0x73, 0xfb, 0x20, 0x61, 0x3d, 0xbe, + 0xc0, 0xc1, 0x8c, 0x6b, +}; +static const unsigned char kat3535_persstr[] = { + 0xe8, 0x3a, 0xe8, 0xa5, 0x2b, 0x77, 0x8b, 0x26, 0x7f, 0x67, 0x32, 0x2f, + 0xf3, 0x89, 0xcf, 0x4e, 0xa5, 0xab, 0x5d, 0x2d, 0x83, 0x57, 0xea, 0x0a, + 0x81, 0x60, 0x4a, 0x7c, 0xe4, 0x99, 0x6e, 0x16, +}; +static const unsigned char kat3535_entropyinpr1[] = { + 0x8a, 0xf2, 0xc7, 0xc2, 0x06, 0x50, 0x85, 0x68, 0x83, 0x43, 0x21, 0x0b, + 0xe7, 0x79, 0x1e, 0xbb, 0x71, 0x41, 0x9e, 0xa2, 0x6b, 0x08, 0x2a, 0x28, + 0x94, 0x98, 0x00, 0x87, 0xb0, 0x86, 0x28, 0x81, +}; +static const unsigned char kat3535_addinpr1[] = { + 0xcd, 0x25, 0xd8, 0xc7, 0x88, 0x42, 0xe4, 0x0d, 0x86, 0x07, 0xd3, 0x50, + 0x00, 0x42, 0xed, 0x20, 0xf1, 0xe0, 0x1f, 0xeb, 0xce, 0x4f, 0x86, 0x28, + 0xd4, 0x25, 0x5d, 0xd3, 0xdb, 0x55, 0x37, 0x5a, +}; +static const unsigned char kat3535_entropyinpr2[] = { + 0x73, 0x45, 0xa5, 0x69, 0x45, 0x6c, 0x05, 0xfb, 0x62, 0x5e, 0x36, 0xd1, + 0x7a, 0xf7, 0x1f, 0x83, 0xd9, 0xbc, 0xc4, 0x26, 0x49, 0x40, 0x4c, 0xa8, + 0x0d, 0x22, 0x79, 0x86, 0x59, 0xc8, 0xd4, 0xc3, +}; +static const unsigned char kat3535_addinpr2[] = { + 0xe2, 0xcd, 0x69, 0x96, 0xb8, 0x3a, 0x75, 0x5a, 0x66, 0xbb, 0xca, 0x24, + 0x87, 0x86, 0x73, 0x0c, 0xfe, 0xc7, 0xb4, 0x33, 0x0c, 0x63, 0x38, 0x1f, + 0x1f, 0x46, 0x56, 0x22, 0xc0, 0xbb, 0xef, 0x51, +}; +static const unsigned char kat3535_retbits[] = { + 0xf8, 0xf4, 0x29, 0xec, 0xb5, 0x99, 0xa8, 0x8f, 0x25, 0xca, 0xe9, 0xa9, + 0x0b, 0xf4, 0x48, 0x71, 0x0e, 0x9f, 0x5b, 0xd9, 0x0f, 0x42, 0xc9, 0x36, + 0xeb, 0xcd, 0xc8, 0xcd, 0xcf, 0x36, 0xd9, 0x04, 0x3c, 0x64, 0xa8, 0x13, + 0x61, 0xc1, 0x2a, 0x67, 0xc2, 0xf4, 0x80, 0x60, 0x30, 0x81, 0xc1, 0x9f, + 0x64, 0xef, 0xda, 0x61, 0x86, 0x71, 0x4b, 0xa4, 0x4d, 0x08, 0x3c, 0x60, + 0xcb, 0xb7, 0xfb, 0x47, +}; +static const struct drbg_kat_pr_true kat3535_t = { + 9, kat3535_entropyin, kat3535_nonce, kat3535_persstr, + kat3535_entropyinpr1, kat3535_addinpr1, kat3535_entropyinpr2, + kat3535_addinpr2, kat3535_retbits +}; +static const struct drbg_kat kat3535 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3535_t +}; + +static const unsigned char kat3536_entropyin[] = { + 0x78, 0x3c, 0x02, 0x85, 0x00, 0x9f, 0x20, 0x46, 0x52, 0x36, 0x86, 0xe3, + 0xa6, 0x00, 0xea, 0x95, 0x84, 0x72, 0x76, 0x76, 0x4d, 0x57, 0xe8, 0xff, + 0x1c, 0xde, 0x26, 0xe9, 0xef, 0x2b, 0x8e, 0x04, +}; +static const unsigned char kat3536_nonce[] = { + 0xce, 0x5a, 0x19, 0x9d, 0x4b, 0xe8, 0xed, 0x1e, 0xa6, 0xdf, 0x26, 0x0b, + 0x1a, 0x91, 0x17, 0xbf, +}; +static const unsigned char kat3536_persstr[] = { + 0xa2, 0xbe, 0x1b, 0x21, 0xfd, 0x13, 0xef, 0xc5, 0x53, 0x2f, 0xba, 0xb1, + 0xa2, 0x82, 0x70, 0xb2, 0x01, 0xb4, 0xa6, 0xe6, 0x5c, 0x79, 0x6e, 0x22, + 0xb2, 0x76, 0x58, 0xb1, 0xa3, 0x78, 0xe6, 0xa7, +}; +static const unsigned char kat3536_entropyinpr1[] = { + 0x05, 0x84, 0x19, 0x48, 0x53, 0x9e, 0x4b, 0xcc, 0xc1, 0x5d, 0x6b, 0x70, + 0xe4, 0x0e, 0x30, 0xad, 0x0e, 0x8b, 0x21, 0xc9, 0xec, 0x0d, 0x4b, 0x01, + 0x5a, 0x2a, 0x56, 0x89, 0x61, 0xe3, 0x67, 0xed, +}; +static const unsigned char kat3536_addinpr1[] = { + 0x3e, 0x40, 0x9f, 0x02, 0x06, 0x08, 0x86, 0xce, 0xbe, 0xc3, 0x08, 0x10, + 0x63, 0x08, 0x53, 0x39, 0x0c, 0x88, 0xae, 0x31, 0xa6, 0x1a, 0x30, 0xb4, + 0x9c, 0x42, 0x35, 0x27, 0x47, 0xa1, 0x9e, 0xc8, +}; +static const unsigned char kat3536_entropyinpr2[] = { + 0x18, 0x3a, 0x46, 0x12, 0x79, 0x34, 0x8e, 0x3e, 0x46, 0x29, 0x63, 0x72, + 0x01, 0xa1, 0x1a, 0x1e, 0x40, 0xed, 0xc8, 0xfc, 0x18, 0x1c, 0xc8, 0x92, + 0x24, 0x61, 0x26, 0x61, 0xae, 0x17, 0x2a, 0x1f, +}; +static const unsigned char kat3536_addinpr2[] = { + 0x1e, 0x09, 0x58, 0xa5, 0x5a, 0x40, 0x53, 0xe1, 0xf6, 0x48, 0x3c, 0x94, + 0x3d, 0xbc, 0xfb, 0x60, 0x9d, 0x03, 0x76, 0xf2, 0x6b, 0xf0, 0x0d, 0x90, + 0xd6, 0x78, 0x79, 0x31, 0x04, 0x77, 0x16, 0xf6, +}; +static const unsigned char kat3536_retbits[] = { + 0x20, 0x2e, 0x9e, 0xae, 0x40, 0xf4, 0xdb, 0xcc, 0xa6, 0x74, 0x83, 0x9d, + 0x26, 0xaa, 0x96, 0xe0, 0x1e, 0x77, 0x86, 0xaf, 0xde, 0x1b, 0xaa, 0x97, + 0xd1, 0x27, 0x01, 0x08, 0x9e, 0xd6, 0xe7, 0x14, 0x5f, 0x96, 0xad, 0x68, + 0x5c, 0x06, 0xee, 0x6a, 0x3c, 0xc2, 0xca, 0xc3, 0x1f, 0xd3, 0x5e, 0xb1, + 0x84, 0x16, 0x0c, 0xd3, 0xac, 0xb2, 0x6b, 0xce, 0xe7, 0xd3, 0xf9, 0x1b, + 0x99, 0x57, 0x61, 0xb2, +}; +static const struct drbg_kat_pr_true kat3536_t = { + 10, kat3536_entropyin, kat3536_nonce, kat3536_persstr, + kat3536_entropyinpr1, kat3536_addinpr1, kat3536_entropyinpr2, + kat3536_addinpr2, kat3536_retbits +}; +static const struct drbg_kat kat3536 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3536_t +}; + +static const unsigned char kat3537_entropyin[] = { + 0x80, 0x48, 0x95, 0x7c, 0xf9, 0x60, 0x60, 0x74, 0xee, 0x6d, 0x39, 0x43, + 0x30, 0x5c, 0x17, 0xa0, 0xb2, 0x81, 0x81, 0xb9, 0x07, 0x69, 0xf5, 0xd9, + 0x3a, 0x5a, 0x98, 0xa2, 0x31, 0xa0, 0x37, 0xa4, +}; +static const unsigned char kat3537_nonce[] = { + 0x7e, 0x32, 0xfa, 0xa0, 0x25, 0xd5, 0xb1, 0xe3, 0xfe, 0x36, 0x6d, 0xa5, + 0xb4, 0xc4, 0x07, 0xa3, +}; +static const unsigned char kat3537_persstr[] = { + 0x65, 0xab, 0x0a, 0x82, 0x13, 0x7f, 0xdd, 0x84, 0xe9, 0x85, 0xf5, 0x74, + 0x81, 0x85, 0x97, 0x9f, 0x42, 0x18, 0x01, 0x0c, 0x03, 0x6d, 0x72, 0xfe, + 0xab, 0x40, 0xb3, 0x82, 0x71, 0xca, 0x04, 0x93, +}; +static const unsigned char kat3537_entropyinpr1[] = { + 0xa4, 0x44, 0x39, 0x0d, 0xe2, 0x43, 0xb6, 0x11, 0x88, 0x56, 0x70, 0x83, + 0xf5, 0xdd, 0xac, 0x45, 0xce, 0x0a, 0x07, 0xf1, 0xd7, 0xe0, 0x77, 0x8c, + 0xc4, 0xa9, 0xa4, 0x4d, 0xfc, 0xe5, 0x24, 0xd3, +}; +static const unsigned char kat3537_addinpr1[] = { + 0x1b, 0x7b, 0x3c, 0xff, 0xb5, 0x6b, 0x5a, 0x86, 0xa9, 0xce, 0x9b, 0x71, + 0x24, 0x0f, 0xc3, 0xe0, 0x32, 0xda, 0x7f, 0x83, 0xb3, 0x47, 0x82, 0xbd, + 0x6b, 0x7d, 0x53, 0xd8, 0x6c, 0x00, 0xfe, 0xe6, +}; +static const unsigned char kat3537_entropyinpr2[] = { + 0x4b, 0x1e, 0x9b, 0x9f, 0xf3, 0x7e, 0xc8, 0xe5, 0x16, 0x0c, 0xfd, 0xc9, + 0x8a, 0x45, 0xbf, 0x12, 0x92, 0x22, 0x43, 0x47, 0xc0, 0x95, 0xfc, 0xd3, + 0x06, 0xac, 0xee, 0x22, 0x56, 0xd3, 0x50, 0xce, +}; +static const unsigned char kat3537_addinpr2[] = { + 0x28, 0x29, 0xb1, 0x93, 0x67, 0xff, 0x15, 0x2d, 0x6e, 0x43, 0xad, 0x30, + 0x8e, 0x77, 0x6f, 0xea, 0x64, 0x66, 0x62, 0xe2, 0x15, 0xb3, 0x28, 0x76, + 0x0b, 0x09, 0xf7, 0xe1, 0x13, 0x26, 0x18, 0xdd, +}; +static const unsigned char kat3537_retbits[] = { + 0x4c, 0x00, 0x08, 0x3e, 0x35, 0x8d, 0xca, 0x53, 0x13, 0x79, 0x40, 0xfc, + 0x21, 0x8b, 0xe6, 0x59, 0xd7, 0xc1, 0x12, 0x46, 0x6f, 0x17, 0x5d, 0x99, + 0xe5, 0xd9, 0x73, 0x81, 0xeb, 0x71, 0x91, 0x2d, 0x56, 0x09, 0xd8, 0x26, + 0xae, 0xa0, 0x83, 0x8b, 0x64, 0x71, 0x5e, 0x22, 0x6e, 0xb7, 0xa8, 0x7b, + 0xcd, 0x86, 0x82, 0x43, 0xe6, 0x25, 0x90, 0xd6, 0xa1, 0xab, 0x6c, 0x60, + 0xd7, 0x14, 0x70, 0x6c, +}; +static const struct drbg_kat_pr_true kat3537_t = { + 11, kat3537_entropyin, kat3537_nonce, kat3537_persstr, + kat3537_entropyinpr1, kat3537_addinpr1, kat3537_entropyinpr2, + kat3537_addinpr2, kat3537_retbits +}; +static const struct drbg_kat kat3537 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3537_t +}; + +static const unsigned char kat3538_entropyin[] = { + 0xfd, 0xf6, 0xfb, 0xda, 0x2e, 0x50, 0x0d, 0x5a, 0x0b, 0xa6, 0x9a, 0xa2, + 0x8a, 0x70, 0x76, 0xd8, 0x6b, 0x68, 0x1d, 0x08, 0x52, 0x23, 0x6f, 0x70, + 0x84, 0xec, 0xa9, 0x90, 0x77, 0xe5, 0x4e, 0x34, +}; +static const unsigned char kat3538_nonce[] = { + 0xca, 0xe5, 0xa2, 0x38, 0xa0, 0xab, 0x8a, 0x2b, 0x34, 0x32, 0x93, 0x86, + 0x3d, 0x1d, 0xe2, 0xa7, +}; +static const unsigned char kat3538_persstr[] = { + 0xa9, 0xa2, 0x12, 0x42, 0xd9, 0xa1, 0x8f, 0x7f, 0xd3, 0x4c, 0x42, 0x62, + 0x06, 0xb6, 0xb7, 0x50, 0xf1, 0x07, 0x7c, 0xd6, 0x2b, 0x6a, 0x02, 0x3b, + 0x46, 0x3c, 0x08, 0x60, 0xf1, 0x19, 0x63, 0x8d, +}; +static const unsigned char kat3538_entropyinpr1[] = { + 0x75, 0x6e, 0x91, 0xf8, 0x4a, 0x66, 0x8b, 0x65, 0x10, 0x9f, 0xd0, 0xda, + 0xa9, 0xe4, 0x1a, 0x29, 0x26, 0x85, 0x5d, 0xe0, 0x31, 0xa7, 0xca, 0xa9, + 0xeb, 0xb6, 0xf8, 0x0e, 0x55, 0xb1, 0xd7, 0x91, +}; +static const unsigned char kat3538_addinpr1[] = { + 0xf5, 0x01, 0x9b, 0x81, 0x2f, 0xcb, 0xcb, 0xcc, 0x0d, 0x6a, 0xac, 0x91, + 0x3f, 0x04, 0x77, 0xa5, 0xd0, 0x8b, 0x50, 0xd6, 0x94, 0xd7, 0x9c, 0x48, + 0x13, 0x8a, 0x35, 0xf8, 0xfc, 0x28, 0x6a, 0xdb, +}; +static const unsigned char kat3538_entropyinpr2[] = { + 0xae, 0x66, 0xfa, 0xce, 0xb5, 0x4b, 0x68, 0x94, 0x1f, 0x35, 0x12, 0xbf, + 0xdb, 0xc0, 0x06, 0xfd, 0x2c, 0x1e, 0xdb, 0xde, 0x81, 0xcf, 0x1d, 0x21, + 0x6e, 0x1a, 0xcc, 0x2d, 0xd9, 0x59, 0x81, 0x38, +}; +static const unsigned char kat3538_addinpr2[] = { + 0x49, 0x09, 0xd2, 0x35, 0xc2, 0x1f, 0x5e, 0x2d, 0x9f, 0xf1, 0x2e, 0xe9, + 0xce, 0x78, 0x9c, 0xc9, 0x67, 0xf3, 0x5a, 0x88, 0xc7, 0xc1, 0xb1, 0x8e, + 0x60, 0xe7, 0xd7, 0x1c, 0x93, 0x5b, 0x2c, 0x62, +}; +static const unsigned char kat3538_retbits[] = { + 0xf5, 0xa5, 0xbc, 0x69, 0x79, 0x7d, 0x03, 0xda, 0x9e, 0x31, 0x37, 0x59, + 0x71, 0x7c, 0x5f, 0xf4, 0xc4, 0xee, 0xce, 0x3c, 0xaf, 0x35, 0x04, 0x49, + 0x0e, 0x80, 0xca, 0x56, 0x7a, 0xb1, 0x6f, 0x3c, 0xf7, 0xb5, 0x78, 0x77, + 0xbc, 0x0d, 0x0f, 0x76, 0x58, 0x26, 0xb7, 0x45, 0x1c, 0x34, 0x54, 0xc7, + 0xef, 0xd4, 0x82, 0x31, 0xda, 0xb5, 0xac, 0x84, 0x0d, 0x1d, 0xdb, 0x04, + 0xfb, 0xaa, 0x8b, 0x68, +}; +static const struct drbg_kat_pr_true kat3538_t = { + 12, kat3538_entropyin, kat3538_nonce, kat3538_persstr, + kat3538_entropyinpr1, kat3538_addinpr1, kat3538_entropyinpr2, + kat3538_addinpr2, kat3538_retbits +}; +static const struct drbg_kat kat3538 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3538_t +}; + +static const unsigned char kat3539_entropyin[] = { + 0x6e, 0x10, 0x64, 0xee, 0x9e, 0x80, 0x81, 0xba, 0x9f, 0x12, 0xfa, 0x15, + 0xa1, 0x4e, 0x72, 0xa5, 0x6a, 0x0b, 0xc4, 0x19, 0x6a, 0x96, 0x5a, 0x92, + 0xf0, 0x25, 0x37, 0xe8, 0x11, 0xbf, 0x2f, 0xa1, +}; +static const unsigned char kat3539_nonce[] = { + 0x67, 0x3d, 0xff, 0x90, 0xad, 0x32, 0x8c, 0x32, 0x3a, 0x1c, 0x24, 0x9b, + 0xa5, 0xd8, 0x73, 0xa7, +}; +static const unsigned char kat3539_persstr[] = { + 0x99, 0xd5, 0x5d, 0x70, 0x54, 0x56, 0xc2, 0x12, 0x63, 0x8c, 0xe6, 0x57, + 0xd9, 0x27, 0x5d, 0x9a, 0x81, 0xfa, 0x91, 0x2c, 0x9f, 0x67, 0xed, 0x62, + 0x74, 0xb6, 0x23, 0x96, 0x25, 0x73, 0xb7, 0xa1, +}; +static const unsigned char kat3539_entropyinpr1[] = { + 0x07, 0xb4, 0x48, 0x9c, 0x54, 0x5f, 0x1f, 0xbf, 0x4c, 0x71, 0x58, 0xfc, + 0x47, 0x2a, 0x5b, 0x65, 0x98, 0x54, 0x06, 0x83, 0xab, 0xff, 0xac, 0x61, + 0x5c, 0x5a, 0x64, 0x58, 0x7b, 0xb8, 0x2e, 0xfc, +}; +static const unsigned char kat3539_addinpr1[] = { + 0xb9, 0x96, 0xe1, 0xdd, 0x92, 0xcc, 0x27, 0x01, 0xe3, 0x6c, 0xdc, 0xc6, + 0x92, 0xa7, 0x81, 0xd0, 0x88, 0x96, 0x47, 0xa5, 0xd3, 0x20, 0x8f, 0x41, + 0xea, 0x72, 0x7c, 0x6d, 0x24, 0x1d, 0xe1, 0x1d, +}; +static const unsigned char kat3539_entropyinpr2[] = { + 0x6c, 0x70, 0x89, 0x32, 0xa8, 0x0d, 0x37, 0x43, 0xb2, 0x6f, 0xa3, 0x71, + 0xf3, 0xc4, 0xc2, 0x48, 0x9b, 0xfd, 0x89, 0x8e, 0xc2, 0x25, 0x78, 0x2f, + 0xf1, 0x17, 0x9d, 0xc0, 0x87, 0x4b, 0xb9, 0x49, +}; +static const unsigned char kat3539_addinpr2[] = { + 0x5c, 0xc2, 0x8e, 0x4d, 0x5b, 0xf1, 0x91, 0x0f, 0xd8, 0x8f, 0x92, 0x01, + 0xac, 0xab, 0x65, 0xb5, 0xa2, 0x77, 0xde, 0x2d, 0xdf, 0x52, 0x86, 0x85, + 0x28, 0xd9, 0x9d, 0x12, 0xd5, 0x80, 0x45, 0x3a, +}; +static const unsigned char kat3539_retbits[] = { + 0xfb, 0x1c, 0x03, 0xf8, 0xc8, 0x08, 0xf9, 0x8e, 0x85, 0x77, 0x54, 0x1b, + 0x04, 0x61, 0x98, 0x72, 0x0f, 0xfc, 0xa4, 0x4e, 0xbb, 0x85, 0xa4, 0xa0, + 0x73, 0x19, 0x8b, 0x17, 0x02, 0x99, 0x90, 0x6e, 0x0c, 0x1b, 0x19, 0xcc, + 0x88, 0x46, 0xff, 0x38, 0xbb, 0x67, 0xfe, 0xd1, 0xef, 0x2c, 0x49, 0x18, + 0x3e, 0x91, 0x89, 0xb4, 0x5e, 0x5b, 0xb4, 0xb0, 0x96, 0x7a, 0xed, 0xae, + 0x6d, 0x23, 0xa5, 0x8a, +}; +static const struct drbg_kat_pr_true kat3539_t = { + 13, kat3539_entropyin, kat3539_nonce, kat3539_persstr, + kat3539_entropyinpr1, kat3539_addinpr1, kat3539_entropyinpr2, + kat3539_addinpr2, kat3539_retbits +}; +static const struct drbg_kat kat3539 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3539_t +}; + +static const unsigned char kat3540_entropyin[] = { + 0x12, 0x95, 0x93, 0xff, 0x41, 0x86, 0xcd, 0x0a, 0x39, 0x98, 0xcf, 0xad, + 0x1c, 0xce, 0x16, 0x5b, 0xc2, 0x60, 0x0b, 0x4f, 0x72, 0xcd, 0x35, 0x9e, + 0xb9, 0x61, 0x49, 0x73, 0xd8, 0x44, 0xf3, 0x54, +}; +static const unsigned char kat3540_nonce[] = { + 0xab, 0x7f, 0x73, 0xef, 0x5f, 0x12, 0xe2, 0x00, 0x51, 0x93, 0xa3, 0x0e, + 0xc8, 0x71, 0x44, 0x43, +}; +static const unsigned char kat3540_persstr[] = { + 0xf8, 0x35, 0x8e, 0x83, 0x26, 0xc7, 0xee, 0xb7, 0xec, 0x04, 0xdf, 0xbe, + 0x07, 0x5c, 0x15, 0xdb, 0xa6, 0x64, 0x2d, 0x29, 0x52, 0x7a, 0x1a, 0x06, + 0x62, 0x04, 0x49, 0xef, 0xa7, 0x73, 0x8a, 0x42, +}; +static const unsigned char kat3540_entropyinpr1[] = { + 0x13, 0x0e, 0x77, 0x68, 0x11, 0xa9, 0xad, 0x54, 0x6c, 0xbd, 0x88, 0xc4, + 0xe2, 0x10, 0x54, 0x2f, 0x69, 0x8d, 0x4b, 0x3d, 0x1e, 0x71, 0x73, 0x90, + 0x99, 0x13, 0x3f, 0x8c, 0x62, 0x0e, 0x21, 0xe7, +}; +static const unsigned char kat3540_addinpr1[] = { + 0x44, 0x03, 0x91, 0xfd, 0x91, 0x3a, 0x12, 0x44, 0xf0, 0xdc, 0x7c, 0xc5, + 0x11, 0xa9, 0x68, 0xff, 0xed, 0x70, 0x9b, 0x4e, 0xdd, 0x8d, 0x24, 0x08, + 0x82, 0x74, 0x41, 0x65, 0x90, 0x62, 0x39, 0xd3, +}; +static const unsigned char kat3540_entropyinpr2[] = { + 0x0c, 0x15, 0xcf, 0x3b, 0x8d, 0x2f, 0x82, 0x6c, 0x5d, 0x04, 0xd5, 0x5e, + 0x1e, 0xfb, 0x17, 0x8b, 0xe9, 0x10, 0xf7, 0x17, 0xb6, 0x4b, 0x05, 0x26, + 0xed, 0x44, 0x9e, 0x45, 0x45, 0xf7, 0xe8, 0xa4, +}; +static const unsigned char kat3540_addinpr2[] = { + 0x9a, 0x55, 0xd6, 0x83, 0x12, 0x3e, 0x51, 0xc9, 0x5d, 0xb2, 0xa7, 0x74, + 0xa4, 0xff, 0x0c, 0x52, 0x74, 0xc1, 0x23, 0x68, 0x23, 0x7b, 0xc1, 0x1a, + 0xb0, 0x7f, 0x03, 0x1c, 0x8a, 0xa0, 0xd7, 0x05, +}; +static const unsigned char kat3540_retbits[] = { + 0x40, 0xd6, 0xb6, 0x9f, 0xd1, 0x4a, 0x20, 0x02, 0xe5, 0x3c, 0x68, 0x4c, + 0x76, 0xad, 0x79, 0x4d, 0xd6, 0xba, 0x07, 0x69, 0x8d, 0x94, 0x1d, 0x72, + 0x7a, 0x99, 0x7d, 0x3b, 0x3b, 0xa1, 0x17, 0xc2, 0xbe, 0xab, 0x5d, 0x67, + 0x59, 0x05, 0x8c, 0x0c, 0x9e, 0x46, 0x12, 0x6b, 0x56, 0xd6, 0xc7, 0x53, + 0xba, 0xa3, 0x1e, 0x9e, 0xc2, 0xc5, 0x7b, 0x1d, 0xcf, 0xda, 0xd8, 0x78, + 0x99, 0x88, 0x3a, 0xd9, +}; +static const struct drbg_kat_pr_true kat3540_t = { + 14, kat3540_entropyin, kat3540_nonce, kat3540_persstr, + kat3540_entropyinpr1, kat3540_addinpr1, kat3540_entropyinpr2, + kat3540_addinpr2, kat3540_retbits +}; +static const struct drbg_kat kat3540 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3540_t +}; + +static const unsigned char kat3541_entropyin[] = { + 0x11, 0xc1, 0xe5, 0xa6, 0xf8, 0x4f, 0x57, 0x33, 0xb7, 0x7d, 0x1f, 0x0a, + 0xe4, 0xfc, 0x38, 0xa0, 0x7e, 0x8c, 0xad, 0x9f, 0xc0, 0xab, 0x98, 0x7b, + 0xfe, 0x07, 0x19, 0x47, 0xa5, 0x4e, 0x2c, 0xad, +}; +static const unsigned char kat3541_nonce[] = { + 0x68, 0xef, 0x00, 0xf2, 0x2b, 0x20, 0xf3, 0x15, 0x86, 0x73, 0xc8, 0x9a, + 0xc9, 0x6a, 0x55, 0xf2, +}; +static const unsigned char kat3541_persstr[] = {0}; +static const unsigned char kat3541_entropyinpr1[] = { + 0x0b, 0xd0, 0x55, 0x2e, 0x81, 0x2f, 0xff, 0x18, 0xc5, 0x32, 0xbb, 0x57, + 0xcb, 0x62, 0xb9, 0x2a, 0x4e, 0x61, 0xe3, 0xe9, 0x61, 0xb8, 0x95, 0xe4, + 0x45, 0x8b, 0xf2, 0x98, 0xec, 0xa8, 0x37, 0xd3, +}; +static const unsigned char kat3541_addinpr1[] = {0}; +static const unsigned char kat3541_entropyinpr2[] = { + 0x54, 0xaf, 0x1e, 0x7f, 0xf9, 0x15, 0x33, 0xd0, 0xcb, 0x54, 0x6e, 0x85, + 0xba, 0x29, 0x10, 0xba, 0x4a, 0xdb, 0x04, 0x74, 0xe6, 0x3b, 0x7f, 0x96, + 0xc8, 0x90, 0x43, 0xf5, 0xab, 0x70, 0xe9, 0x25, +}; +static const unsigned char kat3541_addinpr2[] = {0}; +static const unsigned char kat3541_retbits[] = { + 0x73, 0x6e, 0x67, 0x82, 0x02, 0xe6, 0x4c, 0x8c, 0x47, 0x74, 0xda, 0xf6, + 0xed, 0xba, 0x97, 0x6e, 0x68, 0xda, 0xd5, 0x4f, 0xc2, 0xae, 0x71, 0x3b, + 0xaf, 0x77, 0x99, 0xc8, 0xdc, 0xd9, 0x8a, 0x0d, 0x12, 0x4a, 0xb5, 0x52, + 0xbe, 0x80, 0x11, 0x37, 0xd7, 0x64, 0x3a, 0xb1, 0x1a, 0x90, 0x2e, 0x2c, + 0xe6, 0x07, 0x36, 0x64, 0xd6, 0x2b, 0x5e, 0xb9, 0xf5, 0x0a, 0xf5, 0x7d, + 0xc9, 0xbb, 0x77, 0xa2, +}; +static const struct drbg_kat_pr_true kat3541_t = { + 0, kat3541_entropyin, kat3541_nonce, kat3541_persstr, + kat3541_entropyinpr1, kat3541_addinpr1, kat3541_entropyinpr2, + kat3541_addinpr2, kat3541_retbits +}; +static const struct drbg_kat kat3541 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3541_t +}; + +static const unsigned char kat3542_entropyin[] = { + 0xbb, 0x68, 0xde, 0x06, 0xe7, 0x52, 0xa9, 0xe7, 0xcd, 0x80, 0x8e, 0x27, + 0xea, 0xa5, 0x86, 0xea, 0x1e, 0xa5, 0x0d, 0x02, 0x85, 0x86, 0xe7, 0x16, + 0x28, 0x2b, 0x30, 0xff, 0x80, 0x8c, 0xb5, 0x8a, +}; +static const unsigned char kat3542_nonce[] = { + 0xc5, 0xe3, 0xa2, 0x14, 0x2a, 0x07, 0x9c, 0xb2, 0xa1, 0xb5, 0x5f, 0xa8, + 0xca, 0x20, 0xcc, 0x2b, +}; +static const unsigned char kat3542_persstr[] = {0}; +static const unsigned char kat3542_entropyinpr1[] = { + 0xbd, 0x7b, 0xaa, 0x6c, 0x7d, 0xed, 0x0a, 0x67, 0x9c, 0xa6, 0xff, 0xc8, + 0x7f, 0x6c, 0x7b, 0x54, 0x9a, 0x51, 0xab, 0xcc, 0xf6, 0x56, 0x81, 0x10, + 0x01, 0xc6, 0xce, 0xde, 0x85, 0x1a, 0xde, 0xb8, +}; +static const unsigned char kat3542_addinpr1[] = {0}; +static const unsigned char kat3542_entropyinpr2[] = { + 0x2e, 0x3e, 0x81, 0x5c, 0x63, 0x84, 0x54, 0x3b, 0x22, 0x2e, 0x7b, 0x4c, + 0x8c, 0x60, 0x0f, 0x29, 0x60, 0xff, 0xd9, 0x87, 0xd9, 0x43, 0x9a, 0x6d, + 0x14, 0xe4, 0x23, 0x4a, 0x36, 0x55, 0x47, 0x91, +}; +static const unsigned char kat3542_addinpr2[] = {0}; +static const unsigned char kat3542_retbits[] = { + 0xdd, 0x67, 0x2f, 0x75, 0x3f, 0x51, 0x15, 0x37, 0x82, 0x30, 0xd5, 0xe0, + 0xf0, 0x8e, 0x87, 0x28, 0x73, 0xad, 0xf9, 0x92, 0xe2, 0xf7, 0xa2, 0x32, + 0x94, 0xee, 0x88, 0xae, 0x57, 0x30, 0xa8, 0x2c, 0x8a, 0xfd, 0x26, 0x0e, + 0x9e, 0xf0, 0x2c, 0x5d, 0xa6, 0x74, 0x3e, 0xad, 0xc0, 0x54, 0x7f, 0x26, + 0x95, 0xba, 0xf1, 0x58, 0x55, 0x8e, 0x18, 0x7f, 0x4b, 0xee, 0x83, 0x6e, + 0x59, 0x54, 0xd4, 0xc3, +}; +static const struct drbg_kat_pr_true kat3542_t = { + 1, kat3542_entropyin, kat3542_nonce, kat3542_persstr, + kat3542_entropyinpr1, kat3542_addinpr1, kat3542_entropyinpr2, + kat3542_addinpr2, kat3542_retbits +}; +static const struct drbg_kat kat3542 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3542_t +}; + +static const unsigned char kat3543_entropyin[] = { + 0xce, 0x36, 0xc5, 0x54, 0xe3, 0xa6, 0xf9, 0xf6, 0xfe, 0x4a, 0xfe, 0x21, + 0x02, 0x60, 0x24, 0x54, 0xd9, 0x8c, 0x5a, 0xc8, 0xdd, 0xee, 0x12, 0x1e, + 0xcc, 0xa3, 0x82, 0x40, 0xd2, 0xba, 0x64, 0x63, +}; +static const unsigned char kat3543_nonce[] = { + 0x5f, 0x38, 0xf7, 0x0e, 0x8c, 0x0a, 0xeb, 0xf8, 0x44, 0xf9, 0x3d, 0x9b, + 0x47, 0x7a, 0x7a, 0x12, +}; +static const unsigned char kat3543_persstr[] = {0}; +static const unsigned char kat3543_entropyinpr1[] = { + 0x64, 0x64, 0xb3, 0xab, 0x30, 0x1a, 0xf2, 0x4b, 0x7e, 0x26, 0xee, 0x3c, + 0x9c, 0xc9, 0x7d, 0x61, 0xb9, 0x00, 0x23, 0x8a, 0x80, 0x6d, 0x2e, 0xb8, + 0x7c, 0x26, 0x4e, 0x18, 0x25, 0x9d, 0xc6, 0x49, +}; +static const unsigned char kat3543_addinpr1[] = {0}; +static const unsigned char kat3543_entropyinpr2[] = { + 0x0f, 0xe0, 0x90, 0xb4, 0x44, 0x31, 0x9f, 0x54, 0xcc, 0xfd, 0xda, 0x4a, + 0xe9, 0x78, 0xcd, 0xad, 0x67, 0x85, 0xf6, 0xbd, 0xab, 0x23, 0x4e, 0x79, + 0xbe, 0x65, 0x8e, 0xe7, 0x4d, 0x8c, 0x57, 0x02, +}; +static const unsigned char kat3543_addinpr2[] = {0}; +static const unsigned char kat3543_retbits[] = { + 0xf1, 0xa4, 0x2e, 0xf1, 0xb5, 0xf3, 0x24, 0x86, 0x49, 0xca, 0x26, 0x08, + 0x0c, 0x73, 0x27, 0x6e, 0x48, 0xea, 0x16, 0xf8, 0x94, 0x9d, 0x71, 0x8f, + 0x8c, 0x8f, 0x3b, 0xf8, 0x5b, 0x7c, 0x45, 0xb5, 0x8f, 0x82, 0x0f, 0xd4, + 0xd5, 0xc3, 0xe7, 0x95, 0x67, 0x10, 0x49, 0x53, 0xf1, 0x13, 0x98, 0x86, + 0x75, 0xc6, 0x19, 0x97, 0xaf, 0xb0, 0xf8, 0x4d, 0xce, 0xe8, 0xa6, 0x58, + 0xd1, 0x44, 0x50, 0xc0, +}; +static const struct drbg_kat_pr_true kat3543_t = { + 2, kat3543_entropyin, kat3543_nonce, kat3543_persstr, + kat3543_entropyinpr1, kat3543_addinpr1, kat3543_entropyinpr2, + kat3543_addinpr2, kat3543_retbits +}; +static const struct drbg_kat kat3543 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3543_t +}; + +static const unsigned char kat3544_entropyin[] = { + 0x8f, 0x52, 0x6e, 0xcd, 0xec, 0x66, 0x19, 0x30, 0xf4, 0xec, 0x0d, 0xb1, + 0xd3, 0x4c, 0x4f, 0xdb, 0x81, 0xda, 0xcc, 0x30, 0x8a, 0x85, 0x78, 0x0f, + 0x25, 0x9e, 0xf0, 0xea, 0x30, 0x74, 0x8b, 0xc8, +}; +static const unsigned char kat3544_nonce[] = { + 0x09, 0xeb, 0x6d, 0x69, 0x20, 0x7a, 0x93, 0x0d, 0x90, 0x46, 0x84, 0x8b, + 0xa8, 0xbe, 0x40, 0xec, +}; +static const unsigned char kat3544_persstr[] = {0}; +static const unsigned char kat3544_entropyinpr1[] = { + 0x4a, 0x0e, 0x29, 0x3b, 0x71, 0x52, 0xfe, 0x7c, 0x8e, 0x3a, 0xf4, 0xbd, + 0x88, 0xc0, 0xc5, 0x06, 0x31, 0xa3, 0x10, 0xd0, 0x57, 0xb0, 0x9b, 0xb7, + 0x91, 0xf9, 0x98, 0x57, 0xd4, 0x22, 0x2c, 0x5d, +}; +static const unsigned char kat3544_addinpr1[] = {0}; +static const unsigned char kat3544_entropyinpr2[] = { + 0x48, 0x7f, 0x43, 0x63, 0x53, 0x19, 0x9d, 0x7f, 0x79, 0x33, 0x7c, 0xfb, + 0xb4, 0xb2, 0x16, 0x03, 0x9c, 0x7d, 0x8e, 0xd0, 0x8c, 0x0e, 0xcf, 0xd0, + 0x80, 0xd2, 0xc0, 0xc4, 0xc4, 0x26, 0xd1, 0x41, +}; +static const unsigned char kat3544_addinpr2[] = {0}; +static const unsigned char kat3544_retbits[] = { + 0x6e, 0x9e, 0x0c, 0xed, 0x10, 0xe7, 0x31, 0x3c, 0x62, 0xd2, 0xb2, 0xd1, + 0xe8, 0x95, 0x24, 0xc8, 0x83, 0xcc, 0x17, 0x9e, 0x36, 0xe8, 0x01, 0x42, + 0x84, 0x3a, 0xdb, 0xd6, 0xc7, 0x55, 0x6c, 0x06, 0x7c, 0xae, 0x71, 0x83, + 0xd5, 0xa0, 0x40, 0x37, 0xc3, 0x9a, 0x0c, 0xd8, 0xbc, 0xaa, 0x19, 0x23, + 0x17, 0x06, 0x8f, 0x14, 0x4c, 0x22, 0x02, 0x4b, 0x33, 0x90, 0x36, 0x31, + 0xbf, 0x84, 0x54, 0x92, +}; +static const struct drbg_kat_pr_true kat3544_t = { + 3, kat3544_entropyin, kat3544_nonce, kat3544_persstr, + kat3544_entropyinpr1, kat3544_addinpr1, kat3544_entropyinpr2, + kat3544_addinpr2, kat3544_retbits +}; +static const struct drbg_kat kat3544 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3544_t +}; + +static const unsigned char kat3545_entropyin[] = { + 0x73, 0x9e, 0xc5, 0x70, 0x0f, 0x52, 0x48, 0xcb, 0xb6, 0x48, 0xbe, 0x9a, + 0xea, 0xfa, 0x95, 0x25, 0xa2, 0x25, 0xe4, 0xc2, 0xeb, 0xce, 0x3e, 0x81, + 0xaf, 0xb9, 0x57, 0xb9, 0x09, 0x09, 0x87, 0xe5, +}; +static const unsigned char kat3545_nonce[] = { + 0x6e, 0x2b, 0x9b, 0xfc, 0x28, 0x58, 0x6f, 0x6f, 0x79, 0x5d, 0xb2, 0x58, + 0xda, 0x06, 0x01, 0x5a, +}; +static const unsigned char kat3545_persstr[] = {0}; +static const unsigned char kat3545_entropyinpr1[] = { + 0xa9, 0xbe, 0xa4, 0xaf, 0x42, 0x07, 0x8b, 0x7e, 0xf0, 0x10, 0xbf, 0x6b, + 0x79, 0x89, 0x2c, 0xa5, 0xa9, 0x3d, 0xde, 0x17, 0x43, 0x4d, 0xfb, 0xad, + 0x7e, 0x84, 0x17, 0xf6, 0x2f, 0x57, 0xac, 0x9e, +}; +static const unsigned char kat3545_addinpr1[] = {0}; +static const unsigned char kat3545_entropyinpr2[] = { + 0x92, 0xb3, 0x75, 0x60, 0xcd, 0x72, 0xd3, 0x17, 0xb1, 0x29, 0x4a, 0xff, + 0x70, 0xfd, 0xe4, 0xd6, 0xcb, 0xfd, 0x5b, 0x7c, 0x37, 0x34, 0xf8, 0x21, + 0xbd, 0x99, 0x94, 0x13, 0x95, 0x4c, 0x23, 0x92, +}; +static const unsigned char kat3545_addinpr2[] = {0}; +static const unsigned char kat3545_retbits[] = { + 0x37, 0x70, 0x47, 0x64, 0xb1, 0x3c, 0xf3, 0x2d, 0xb0, 0xce, 0x6e, 0xac, + 0xf9, 0x20, 0xd2, 0xa3, 0x00, 0x7d, 0xcf, 0x87, 0x8e, 0x48, 0x1a, 0xec, + 0x4c, 0x07, 0x29, 0x1d, 0x9e, 0xd8, 0xaa, 0x93, 0x65, 0x1c, 0x53, 0x6e, + 0xaa, 0xba, 0xb3, 0xd4, 0x4a, 0x57, 0x81, 0xcc, 0xf0, 0x0d, 0x8f, 0xcc, + 0x1a, 0xb2, 0xfe, 0x39, 0x37, 0xaf, 0xfc, 0x5f, 0x77, 0x55, 0x02, 0x7a, + 0xfc, 0x37, 0xfe, 0x36, +}; +static const struct drbg_kat_pr_true kat3545_t = { + 4, kat3545_entropyin, kat3545_nonce, kat3545_persstr, + kat3545_entropyinpr1, kat3545_addinpr1, kat3545_entropyinpr2, + kat3545_addinpr2, kat3545_retbits +}; +static const struct drbg_kat kat3545 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3545_t +}; + +static const unsigned char kat3546_entropyin[] = { + 0x9f, 0x09, 0xc4, 0xe2, 0x73, 0x0a, 0xd8, 0x3b, 0x23, 0xb8, 0x9b, 0x88, + 0x68, 0x35, 0xf2, 0x73, 0x5a, 0xb0, 0x0e, 0x57, 0x42, 0x8a, 0xc2, 0x70, + 0x51, 0xa5, 0xd2, 0xea, 0x8a, 0xc6, 0x96, 0x8f, +}; +static const unsigned char kat3546_nonce[] = { + 0xfa, 0x24, 0xa5, 0x1c, 0x41, 0x1c, 0xd8, 0x29, 0x85, 0x02, 0xde, 0x20, + 0x77, 0x36, 0x77, 0xa2, +}; +static const unsigned char kat3546_persstr[] = {0}; +static const unsigned char kat3546_entropyinpr1[] = { + 0x5b, 0xfb, 0x7f, 0x78, 0xa3, 0xc3, 0x3d, 0xab, 0xd6, 0x24, 0x94, 0x62, + 0xeb, 0xa7, 0x0f, 0x5c, 0x4b, 0xac, 0x72, 0x22, 0x90, 0x70, 0xef, 0xa4, + 0x17, 0x82, 0x59, 0xa2, 0x3f, 0xbb, 0x5b, 0x4b, +}; +static const unsigned char kat3546_addinpr1[] = {0}; +static const unsigned char kat3546_entropyinpr2[] = { + 0x1b, 0xd6, 0x12, 0x3f, 0x5e, 0x57, 0xfa, 0xf2, 0xbf, 0x2e, 0x7e, 0xcd, + 0xee, 0x25, 0x4f, 0xfe, 0x2f, 0xdc, 0x9d, 0xea, 0x93, 0x64, 0x80, 0xc5, + 0x3a, 0x57, 0xa5, 0x12, 0x64, 0xfb, 0x87, 0x46, +}; +static const unsigned char kat3546_addinpr2[] = {0}; +static const unsigned char kat3546_retbits[] = { + 0xb1, 0x4d, 0x83, 0x22, 0x84, 0xb3, 0x35, 0x19, 0x2d, 0xcb, 0x89, 0x59, + 0x19, 0xa2, 0x97, 0x11, 0xed, 0xdc, 0x91, 0xad, 0x3a, 0xd4, 0xb4, 0x88, + 0xde, 0x26, 0x53, 0x1e, 0x16, 0xdb, 0x47, 0xd2, 0x39, 0xfa, 0x9e, 0x03, + 0x07, 0x1d, 0x16, 0x07, 0x42, 0x43, 0x72, 0xc8, 0xe0, 0xf5, 0x8c, 0xb9, + 0xd9, 0x71, 0xfa, 0x45, 0x07, 0xdd, 0x58, 0xd3, 0x0d, 0xc6, 0x60, 0x29, + 0xda, 0xb6, 0x5f, 0xcc, +}; +static const struct drbg_kat_pr_true kat3546_t = { + 5, kat3546_entropyin, kat3546_nonce, kat3546_persstr, + kat3546_entropyinpr1, kat3546_addinpr1, kat3546_entropyinpr2, + kat3546_addinpr2, kat3546_retbits +}; +static const struct drbg_kat kat3546 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3546_t +}; + +static const unsigned char kat3547_entropyin[] = { + 0x31, 0x5e, 0x35, 0xd0, 0x33, 0x8f, 0xb2, 0x69, 0x0a, 0x06, 0xe3, 0x63, + 0xd6, 0x63, 0x8a, 0xa8, 0x37, 0x09, 0x9b, 0x6f, 0x25, 0xfd, 0xef, 0xbd, + 0x19, 0x4b, 0xa0, 0xe4, 0x8f, 0x6c, 0x09, 0x9c, +}; +static const unsigned char kat3547_nonce[] = { + 0x6d, 0x8f, 0x59, 0x08, 0x6f, 0x29, 0x72, 0x90, 0x81, 0x8f, 0x53, 0x4d, + 0x5e, 0xed, 0xf9, 0x6f, +}; +static const unsigned char kat3547_persstr[] = {0}; +static const unsigned char kat3547_entropyinpr1[] = { + 0x40, 0x58, 0x6a, 0xfd, 0xae, 0x48, 0x33, 0x42, 0xa2, 0xf8, 0x7b, 0xed, + 0x91, 0x61, 0xc1, 0xa8, 0xd9, 0xb8, 0x49, 0xfb, 0x0f, 0xd5, 0x30, 0x26, + 0x81, 0xa2, 0xbc, 0xf1, 0x64, 0x88, 0x2c, 0x30, +}; +static const unsigned char kat3547_addinpr1[] = {0}; +static const unsigned char kat3547_entropyinpr2[] = { + 0xde, 0xec, 0x53, 0x94, 0xf9, 0x2e, 0x0b, 0x37, 0x27, 0x22, 0xda, 0x45, + 0x9d, 0xd0, 0x58, 0x76, 0x55, 0x3f, 0xff, 0xd2, 0x52, 0x58, 0x9b, 0x9a, + 0xa3, 0xae, 0x38, 0x0a, 0x19, 0xa3, 0x86, 0x98, +}; +static const unsigned char kat3547_addinpr2[] = {0}; +static const unsigned char kat3547_retbits[] = { + 0x2c, 0x2f, 0x04, 0xe3, 0x12, 0x1f, 0x4e, 0x31, 0x7a, 0x49, 0xd0, 0xfb, + 0xf6, 0xbc, 0xfe, 0x5b, 0xd6, 0x18, 0x2c, 0x39, 0xcd, 0x5d, 0x3d, 0x6d, + 0x5e, 0x55, 0x8d, 0x1c, 0xfb, 0x51, 0xd3, 0xe9, 0x35, 0x24, 0x17, 0x3b, + 0x0a, 0x91, 0xd4, 0xec, 0xb7, 0x14, 0x1e, 0xa2, 0x16, 0xe1, 0xa0, 0x34, + 0x52, 0x05, 0xd9, 0x8a, 0x16, 0xf4, 0xf6, 0xc5, 0xae, 0xb4, 0xb1, 0x53, + 0xd8, 0x3e, 0xe7, 0x25, +}; +static const struct drbg_kat_pr_true kat3547_t = { + 6, kat3547_entropyin, kat3547_nonce, kat3547_persstr, + kat3547_entropyinpr1, kat3547_addinpr1, kat3547_entropyinpr2, + kat3547_addinpr2, kat3547_retbits +}; +static const struct drbg_kat kat3547 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3547_t +}; + +static const unsigned char kat3548_entropyin[] = { + 0x5a, 0xa7, 0x04, 0x8f, 0xef, 0x04, 0x0c, 0x8f, 0x56, 0xac, 0xa6, 0x8a, + 0x46, 0x90, 0x0f, 0xe1, 0x48, 0x62, 0xd6, 0x67, 0xe2, 0x0e, 0xf7, 0xfa, + 0xf4, 0xa6, 0x7e, 0x1d, 0x75, 0x84, 0x37, 0x81, +}; +static const unsigned char kat3548_nonce[] = { + 0x2f, 0xf0, 0x73, 0xfb, 0x3a, 0xf5, 0xad, 0xc9, 0xbc, 0xf0, 0x0d, 0xa5, + 0x7b, 0xeb, 0x52, 0x5d, +}; +static const unsigned char kat3548_persstr[] = {0}; +static const unsigned char kat3548_entropyinpr1[] = { + 0x8c, 0x83, 0x8d, 0x5d, 0xcb, 0xd3, 0xc4, 0x5b, 0x36, 0xe1, 0xa0, 0x9f, + 0xfa, 0x50, 0xb3, 0x2e, 0x1c, 0x78, 0x96, 0x95, 0x1f, 0x4c, 0x2d, 0x3e, + 0xcf, 0x62, 0x2c, 0x9f, 0x2d, 0x7a, 0xe3, 0xee, +}; +static const unsigned char kat3548_addinpr1[] = {0}; +static const unsigned char kat3548_entropyinpr2[] = { + 0xf7, 0x7b, 0xb0, 0xe1, 0x7e, 0x9e, 0x39, 0x8e, 0xeb, 0x04, 0xac, 0x52, + 0x28, 0xfc, 0xf7, 0x48, 0xd6, 0x89, 0x9b, 0xae, 0x78, 0xa7, 0xdb, 0xcd, + 0xb9, 0x10, 0xae, 0xa0, 0x53, 0x05, 0x33, 0x09, +}; +static const unsigned char kat3548_addinpr2[] = {0}; +static const unsigned char kat3548_retbits[] = { + 0x3b, 0xf1, 0x48, 0xda, 0x2d, 0xa0, 0x3a, 0x69, 0x49, 0x6a, 0x50, 0xfa, + 0xf1, 0x89, 0x65, 0x76, 0x49, 0x05, 0x8f, 0x7c, 0x66, 0x17, 0xb1, 0x1a, + 0x35, 0x11, 0x06, 0x89, 0x8a, 0xd8, 0x60, 0x2a, 0xf8, 0xa5, 0xbb, 0x63, + 0x6e, 0x9a, 0x45, 0x6e, 0xe9, 0x3c, 0x96, 0x52, 0x5d, 0xc4, 0x83, 0x8c, + 0x76, 0x15, 0x46, 0xc7, 0x71, 0x2f, 0x1c, 0x39, 0xd1, 0xf6, 0xb1, 0xcc, + 0x36, 0xe9, 0x64, 0x9c, +}; +static const struct drbg_kat_pr_true kat3548_t = { + 7, kat3548_entropyin, kat3548_nonce, kat3548_persstr, + kat3548_entropyinpr1, kat3548_addinpr1, kat3548_entropyinpr2, + kat3548_addinpr2, kat3548_retbits +}; +static const struct drbg_kat kat3548 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3548_t +}; + +static const unsigned char kat3549_entropyin[] = { + 0xa0, 0xdd, 0xf3, 0xfe, 0x34, 0x1a, 0x71, 0x19, 0x8c, 0x01, 0x58, 0xee, + 0x50, 0x18, 0x19, 0x84, 0x03, 0x2c, 0xfb, 0x62, 0x76, 0xde, 0xaf, 0x8b, + 0x43, 0x18, 0xbb, 0xb7, 0xed, 0xbc, 0x64, 0xc4, +}; +static const unsigned char kat3549_nonce[] = { + 0xf2, 0x1d, 0x58, 0x9a, 0x47, 0xbf, 0x64, 0x06, 0xb6, 0xdc, 0x5b, 0x98, + 0x98, 0x01, 0xd8, 0x8e, +}; +static const unsigned char kat3549_persstr[] = {0}; +static const unsigned char kat3549_entropyinpr1[] = { + 0xc1, 0x79, 0xe0, 0x1e, 0x69, 0xf2, 0x8a, 0xa7, 0x7a, 0x86, 0x1f, 0x11, + 0x4f, 0x34, 0x9a, 0x3c, 0x56, 0x68, 0x8e, 0x57, 0xcf, 0xf1, 0xb1, 0xe8, + 0x85, 0x79, 0xcd, 0x7d, 0xff, 0xda, 0xfb, 0x83, +}; +static const unsigned char kat3549_addinpr1[] = {0}; +static const unsigned char kat3549_entropyinpr2[] = { + 0xe4, 0x73, 0xca, 0xb7, 0x6e, 0x5f, 0xad, 0x3b, 0x11, 0x8d, 0xdc, 0x00, + 0xf9, 0x0f, 0xe7, 0xf0, 0x7c, 0x1d, 0xe9, 0xf3, 0x38, 0x3a, 0xdf, 0xe0, + 0x0a, 0xff, 0x33, 0xfc, 0x7c, 0xf5, 0xeb, 0xda, +}; +static const unsigned char kat3549_addinpr2[] = {0}; +static const unsigned char kat3549_retbits[] = { + 0xf5, 0xbb, 0x6f, 0x85, 0xd6, 0x04, 0x3d, 0x3a, 0x3c, 0xe3, 0x23, 0xd7, + 0x8f, 0xdf, 0xec, 0xdf, 0x3c, 0xce, 0xa2, 0x79, 0xc7, 0x0c, 0xba, 0xf5, + 0x3f, 0xb3, 0x24, 0xb4, 0xd6, 0x59, 0x99, 0xc4, 0x05, 0x52, 0xd4, 0x78, + 0x86, 0xd0, 0xde, 0x79, 0xa4, 0x49, 0xd0, 0xb6, 0xc4, 0xa9, 0xba, 0x78, + 0x7e, 0x08, 0x78, 0xe2, 0x74, 0x36, 0xac, 0x3e, 0x56, 0x88, 0x7c, 0x9c, + 0xb8, 0xca, 0xc6, 0xce, +}; +static const struct drbg_kat_pr_true kat3549_t = { + 8, kat3549_entropyin, kat3549_nonce, kat3549_persstr, + kat3549_entropyinpr1, kat3549_addinpr1, kat3549_entropyinpr2, + kat3549_addinpr2, kat3549_retbits +}; +static const struct drbg_kat kat3549 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3549_t +}; + +static const unsigned char kat3550_entropyin[] = { + 0xd6, 0x4d, 0x63, 0x80, 0x36, 0x24, 0xae, 0x04, 0x0a, 0x92, 0x5e, 0x20, + 0x9e, 0x21, 0x00, 0x2a, 0x28, 0xd6, 0x52, 0x1c, 0x8e, 0x9d, 0x0f, 0x90, + 0x5c, 0x3c, 0x79, 0x34, 0x84, 0x44, 0xc5, 0x80, +}; +static const unsigned char kat3550_nonce[] = { + 0xc8, 0x4c, 0x89, 0x53, 0x24, 0x8e, 0x1b, 0xc2, 0xcf, 0x00, 0x96, 0xdf, + 0x99, 0xc9, 0xf5, 0xb0, +}; +static const unsigned char kat3550_persstr[] = {0}; +static const unsigned char kat3550_entropyinpr1[] = { + 0x50, 0x1a, 0x85, 0x27, 0xc8, 0x82, 0xb0, 0x66, 0xbf, 0x9e, 0x71, 0x88, + 0x5f, 0xc6, 0x1c, 0x94, 0x91, 0xd1, 0xb3, 0x38, 0xca, 0x7a, 0x44, 0x01, + 0x5b, 0x97, 0x39, 0xfa, 0xca, 0x75, 0x58, 0x5a, +}; +static const unsigned char kat3550_addinpr1[] = {0}; +static const unsigned char kat3550_entropyinpr2[] = { + 0x45, 0x83, 0x99, 0x56, 0x00, 0x20, 0x61, 0x8e, 0x1c, 0xe0, 0xbe, 0xac, + 0x13, 0x3a, 0xbb, 0x2d, 0x6d, 0xef, 0x11, 0x35, 0x22, 0x16, 0xae, 0x94, + 0x7b, 0x5e, 0xd0, 0x26, 0x79, 0x53, 0xef, 0xc5, +}; +static const unsigned char kat3550_addinpr2[] = {0}; +static const unsigned char kat3550_retbits[] = { + 0x71, 0x0c, 0xb3, 0xfa, 0x8b, 0x85, 0x95, 0x6c, 0x76, 0x56, 0x7c, 0x90, + 0x2f, 0x58, 0xc5, 0x45, 0x55, 0x75, 0x32, 0x65, 0xe8, 0xde, 0x61, 0x91, + 0xf2, 0xbd, 0x1c, 0xa2, 0xee, 0x12, 0xd5, 0x09, 0xac, 0xf8, 0x3c, 0xb5, + 0xc1, 0xbc, 0x05, 0x8f, 0xaa, 0x7b, 0x8a, 0x90, 0x54, 0x26, 0xef, 0xc9, + 0xe6, 0x51, 0xa9, 0x60, 0xc8, 0x14, 0x74, 0xcb, 0x6a, 0x35, 0xbe, 0x86, + 0x94, 0x3a, 0x10, 0x89, +}; +static const struct drbg_kat_pr_true kat3550_t = { + 9, kat3550_entropyin, kat3550_nonce, kat3550_persstr, + kat3550_entropyinpr1, kat3550_addinpr1, kat3550_entropyinpr2, + kat3550_addinpr2, kat3550_retbits +}; +static const struct drbg_kat kat3550 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3550_t +}; + +static const unsigned char kat3551_entropyin[] = { + 0x30, 0x46, 0x21, 0x45, 0x06, 0x32, 0x5d, 0x80, 0x5e, 0xca, 0x77, 0xae, + 0x70, 0x24, 0xbc, 0xcf, 0x17, 0xad, 0xb8, 0xcc, 0x73, 0x4d, 0xe5, 0xf7, + 0x29, 0x9a, 0x7f, 0x24, 0x9f, 0xcd, 0x77, 0xe8, +}; +static const unsigned char kat3551_nonce[] = { + 0xbf, 0x71, 0xf7, 0xb2, 0x0b, 0xb8, 0xc6, 0x42, 0xc9, 0x65, 0x6c, 0x84, + 0x9e, 0x9f, 0x99, 0x04, +}; +static const unsigned char kat3551_persstr[] = {0}; +static const unsigned char kat3551_entropyinpr1[] = { + 0xfb, 0x90, 0xcf, 0x3b, 0xb5, 0x3b, 0x1e, 0xb5, 0xf9, 0x79, 0x84, 0xb2, + 0x68, 0xf6, 0xfa, 0x11, 0xfa, 0xb0, 0xc7, 0x05, 0xe3, 0x24, 0x7a, 0x34, + 0xab, 0xe8, 0x33, 0xa6, 0x3a, 0x01, 0x33, 0x70, +}; +static const unsigned char kat3551_addinpr1[] = {0}; +static const unsigned char kat3551_entropyinpr2[] = { + 0x48, 0x7c, 0xba, 0xd0, 0xff, 0xb9, 0x5f, 0x7f, 0xb0, 0xe0, 0xf6, 0x80, + 0x4a, 0x62, 0x10, 0xd6, 0xef, 0x86, 0xa9, 0x57, 0x2c, 0x61, 0xc6, 0xc2, + 0xcc, 0xa8, 0x10, 0x94, 0x1f, 0x7e, 0xa9, 0xd0, +}; +static const unsigned char kat3551_addinpr2[] = {0}; +static const unsigned char kat3551_retbits[] = { + 0x07, 0x49, 0x48, 0xb6, 0x20, 0x87, 0xa2, 0x9c, 0x6a, 0xf8, 0x23, 0xe1, + 0xcf, 0xaa, 0xf0, 0x26, 0x60, 0xb6, 0x42, 0xdb, 0xa2, 0xcf, 0x49, 0xa1, + 0xcc, 0xec, 0x91, 0x15, 0xbc, 0xab, 0x68, 0x44, 0xd3, 0x08, 0x0f, 0x84, + 0x0b, 0x44, 0xaa, 0x1f, 0xf6, 0xe8, 0xb4, 0x8b, 0x1e, 0x00, 0x92, 0x1a, + 0xc9, 0x4f, 0x9b, 0xb3, 0x2c, 0x62, 0xf1, 0xcd, 0xa6, 0x30, 0x0b, 0xc3, + 0xf9, 0x84, 0x10, 0x4e, +}; +static const struct drbg_kat_pr_true kat3551_t = { + 10, kat3551_entropyin, kat3551_nonce, kat3551_persstr, + kat3551_entropyinpr1, kat3551_addinpr1, kat3551_entropyinpr2, + kat3551_addinpr2, kat3551_retbits +}; +static const struct drbg_kat kat3551 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3551_t +}; + +static const unsigned char kat3552_entropyin[] = { + 0xe9, 0x8c, 0x86, 0x5d, 0xa5, 0x40, 0x13, 0x78, 0xa8, 0x63, 0x2f, 0x71, + 0xfa, 0x3c, 0x40, 0xaa, 0x5f, 0x85, 0xce, 0x57, 0xcd, 0x9e, 0x9c, 0xcb, + 0xf6, 0x55, 0x2b, 0x18, 0x3a, 0x64, 0x23, 0xb0, +}; +static const unsigned char kat3552_nonce[] = { + 0xa2, 0xe6, 0x05, 0xf2, 0x6f, 0xb3, 0x4a, 0xab, 0x78, 0x75, 0x09, 0x4f, + 0xff, 0x35, 0x96, 0x01, +}; +static const unsigned char kat3552_persstr[] = {0}; +static const unsigned char kat3552_entropyinpr1[] = { + 0x15, 0x7e, 0x41, 0x02, 0x85, 0xc0, 0x0c, 0xde, 0x99, 0xff, 0xb8, 0xa8, + 0xdc, 0x2a, 0x23, 0xad, 0xc4, 0xa7, 0x45, 0x23, 0x79, 0x8e, 0x03, 0x81, + 0xf5, 0x61, 0x31, 0x60, 0xdf, 0x78, 0xbe, 0x9b, +}; +static const unsigned char kat3552_addinpr1[] = {0}; +static const unsigned char kat3552_entropyinpr2[] = { + 0xe4, 0x07, 0x7c, 0x63, 0x90, 0x4c, 0x30, 0xf1, 0xc0, 0x95, 0x21, 0x7d, + 0x56, 0x3c, 0x31, 0x22, 0x6b, 0xa7, 0x65, 0x70, 0x11, 0x59, 0xbb, 0x19, + 0x40, 0x88, 0x49, 0x8a, 0x10, 0xf2, 0x0e, 0x74, +}; +static const unsigned char kat3552_addinpr2[] = {0}; +static const unsigned char kat3552_retbits[] = { + 0x52, 0xe6, 0xfc, 0x79, 0x80, 0x86, 0x97, 0x35, 0x5a, 0x5a, 0x1e, 0xa7, + 0xc4, 0x38, 0x05, 0xda, 0x4b, 0x3c, 0x5a, 0xf1, 0xbf, 0xc4, 0x94, 0x55, + 0x34, 0x2d, 0x10, 0xc0, 0x47, 0xda, 0x21, 0xab, 0xf2, 0xa9, 0x94, 0x88, + 0xf9, 0xc3, 0x43, 0x3e, 0xed, 0xc8, 0xf0, 0x87, 0xab, 0x4f, 0xfb, 0xdd, + 0x25, 0x73, 0x1b, 0x36, 0xdd, 0xb2, 0xf6, 0xdd, 0x7a, 0x67, 0x6c, 0x0d, + 0x05, 0x24, 0x92, 0x66, +}; +static const struct drbg_kat_pr_true kat3552_t = { + 11, kat3552_entropyin, kat3552_nonce, kat3552_persstr, + kat3552_entropyinpr1, kat3552_addinpr1, kat3552_entropyinpr2, + kat3552_addinpr2, kat3552_retbits +}; +static const struct drbg_kat kat3552 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3552_t +}; + +static const unsigned char kat3553_entropyin[] = { + 0x5c, 0x66, 0xe2, 0xde, 0x8c, 0x7a, 0xe2, 0xf5, 0x27, 0x6d, 0x00, 0x5c, + 0xe0, 0xc0, 0xe0, 0xc4, 0x54, 0x5e, 0xe2, 0xa0, 0x73, 0x71, 0xa0, 0x26, + 0xe9, 0x70, 0xe1, 0x65, 0x33, 0x6e, 0x0d, 0xa5, +}; +static const unsigned char kat3553_nonce[] = { + 0x1e, 0x8d, 0x44, 0x1f, 0x5e, 0xe3, 0xe6, 0x1c, 0xca, 0xff, 0xe0, 0x35, + 0xb9, 0xab, 0xb3, 0x83, +}; +static const unsigned char kat3553_persstr[] = {0}; +static const unsigned char kat3553_entropyinpr1[] = { + 0x95, 0xe3, 0xff, 0x95, 0x01, 0xad, 0x46, 0x33, 0xf3, 0x22, 0x62, 0xd6, + 0x37, 0xe3, 0xdb, 0x4a, 0xb2, 0x62, 0xa5, 0x09, 0x1b, 0xff, 0x46, 0xec, + 0x00, 0xf3, 0x84, 0x60, 0x3e, 0x32, 0xaa, 0xb7, +}; +static const unsigned char kat3553_addinpr1[] = {0}; +static const unsigned char kat3553_entropyinpr2[] = { + 0x41, 0xf9, 0xfe, 0xba, 0xb7, 0xd5, 0xf8, 0x73, 0x5d, 0xdd, 0xea, 0x04, + 0x60, 0x7a, 0xb6, 0xe5, 0xfd, 0x96, 0x5c, 0xc5, 0x61, 0xf4, 0xbe, 0xaa, + 0x17, 0x88, 0x40, 0x9b, 0xa6, 0x84, 0xbf, 0x60, +}; +static const unsigned char kat3553_addinpr2[] = {0}; +static const unsigned char kat3553_retbits[] = { + 0xf4, 0xb0, 0x91, 0x4c, 0xec, 0x02, 0x61, 0xe0, 0x49, 0xae, 0x38, 0x42, + 0x64, 0x80, 0x67, 0xc6, 0x11, 0x59, 0x6c, 0x63, 0xf3, 0x90, 0x38, 0xcc, + 0x5a, 0xad, 0xe2, 0xb7, 0xc1, 0x23, 0x14, 0x2c, 0xd9, 0xc0, 0x72, 0x9e, + 0x25, 0xbc, 0xcd, 0xfb, 0x60, 0x52, 0xde, 0xba, 0x31, 0x85, 0x14, 0xe8, + 0x19, 0xe9, 0x1f, 0x75, 0x31, 0x06, 0x52, 0x81, 0xb6, 0xd5, 0x04, 0x69, + 0xfe, 0x94, 0xb0, 0x8a, +}; +static const struct drbg_kat_pr_true kat3553_t = { + 12, kat3553_entropyin, kat3553_nonce, kat3553_persstr, + kat3553_entropyinpr1, kat3553_addinpr1, kat3553_entropyinpr2, + kat3553_addinpr2, kat3553_retbits +}; +static const struct drbg_kat kat3553 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3553_t +}; + +static const unsigned char kat3554_entropyin[] = { + 0xc5, 0xbe, 0x1e, 0xac, 0x27, 0x36, 0x75, 0xd6, 0xd2, 0xb5, 0x7e, 0xbe, + 0x3b, 0xc8, 0xfc, 0x70, 0x5c, 0x11, 0x6a, 0x26, 0xc1, 0xcc, 0x4a, 0xa0, + 0xcb, 0x7f, 0xa6, 0x43, 0xa7, 0xba, 0x6f, 0x1f, +}; +static const unsigned char kat3554_nonce[] = { + 0xfe, 0x84, 0x5e, 0x6a, 0x8a, 0x9a, 0xc1, 0xed, 0x87, 0x3f, 0xe1, 0xa3, + 0x68, 0xf7, 0x69, 0xb9, +}; +static const unsigned char kat3554_persstr[] = {0}; +static const unsigned char kat3554_entropyinpr1[] = { + 0x8a, 0x2a, 0xdf, 0x21, 0x54, 0xab, 0x58, 0x07, 0x59, 0x0b, 0x9e, 0x4e, + 0x1d, 0xc5, 0x47, 0x61, 0xf0, 0xa4, 0x34, 0xea, 0x99, 0xa0, 0x3b, 0x0b, + 0xd4, 0x7b, 0x5f, 0x2a, 0x75, 0xfa, 0x2d, 0xc7, +}; +static const unsigned char kat3554_addinpr1[] = {0}; +static const unsigned char kat3554_entropyinpr2[] = { + 0xdb, 0x11, 0xe9, 0x4e, 0xa2, 0xa4, 0x46, 0xad, 0x4c, 0xc3, 0xf6, 0xd8, + 0x9a, 0x75, 0x1d, 0x79, 0x68, 0x79, 0x34, 0x03, 0xae, 0x98, 0x28, 0x61, + 0x36, 0x9d, 0x24, 0x97, 0x11, 0x6a, 0x31, 0x4c, +}; +static const unsigned char kat3554_addinpr2[] = {0}; +static const unsigned char kat3554_retbits[] = { + 0xae, 0xb5, 0x05, 0xb4, 0xc2, 0x01, 0xb3, 0x16, 0xac, 0x38, 0x98, 0xdc, + 0x77, 0x34, 0x30, 0x06, 0x3b, 0xb7, 0xc9, 0xaf, 0x2e, 0x44, 0xbe, 0x22, + 0xd0, 0xc4, 0xb1, 0xbe, 0x56, 0x54, 0x18, 0x7b, 0xd4, 0x3d, 0xf5, 0x91, + 0x57, 0x48, 0xea, 0xbb, 0x00, 0xf8, 0x8e, 0x7f, 0x41, 0xd3, 0x59, 0x45, + 0xf8, 0x7a, 0x42, 0x13, 0x67, 0xb2, 0xaf, 0x1a, 0xc0, 0xf5, 0xf0, 0x8c, + 0xe9, 0x0d, 0x8a, 0xf8, +}; +static const struct drbg_kat_pr_true kat3554_t = { + 13, kat3554_entropyin, kat3554_nonce, kat3554_persstr, + kat3554_entropyinpr1, kat3554_addinpr1, kat3554_entropyinpr2, + kat3554_addinpr2, kat3554_retbits +}; +static const struct drbg_kat kat3554 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3554_t +}; + +static const unsigned char kat3555_entropyin[] = { + 0xb3, 0x62, 0x9c, 0x96, 0x3f, 0x7e, 0x81, 0xb2, 0xfa, 0xc4, 0x94, 0xd5, + 0x43, 0x43, 0xfa, 0xa0, 0x87, 0x78, 0x33, 0xd8, 0x1c, 0xe4, 0x5a, 0xf3, + 0x95, 0x93, 0x40, 0xb1, 0x7b, 0xe2, 0x1f, 0xd4, +}; +static const unsigned char kat3555_nonce[] = { + 0xf4, 0xb5, 0x41, 0xd6, 0x65, 0xba, 0x9d, 0x43, 0xd8, 0xea, 0x06, 0xd6, + 0x4c, 0xb5, 0x18, 0x14, +}; +static const unsigned char kat3555_persstr[] = {0}; +static const unsigned char kat3555_entropyinpr1[] = { + 0x51, 0xd7, 0xc6, 0x59, 0xbb, 0xe1, 0xc8, 0xad, 0x35, 0x09, 0x07, 0x56, + 0xb8, 0x04, 0x70, 0x6e, 0xe4, 0x6c, 0x91, 0x54, 0x1b, 0x9d, 0x41, 0x9b, + 0xb9, 0x12, 0x2e, 0x3b, 0x75, 0xd4, 0xe8, 0xcb, +}; +static const unsigned char kat3555_addinpr1[] = {0}; +static const unsigned char kat3555_entropyinpr2[] = { + 0x34, 0x3e, 0x94, 0x51, 0xf1, 0x64, 0x23, 0xc9, 0x7a, 0xba, 0x91, 0x8b, + 0x13, 0x66, 0x2f, 0x47, 0xc4, 0xfb, 0xf8, 0x8b, 0x19, 0x10, 0xa0, 0xf1, + 0x08, 0x26, 0x95, 0xad, 0xe8, 0xc3, 0x31, 0x57, +}; +static const unsigned char kat3555_addinpr2[] = {0}; +static const unsigned char kat3555_retbits[] = { + 0x49, 0xc2, 0x93, 0x1f, 0x3a, 0x86, 0x01, 0x16, 0x50, 0xe4, 0x71, 0x84, + 0x3b, 0x02, 0x56, 0xfe, 0x4b, 0x75, 0x42, 0xa7, 0x2e, 0x0c, 0xfe, 0x56, + 0xbd, 0xad, 0xf6, 0xf0, 0xaf, 0xdb, 0x60, 0x1e, 0x61, 0x45, 0xe3, 0x6d, + 0x72, 0x70, 0x42, 0x98, 0xc3, 0xf2, 0xe1, 0x42, 0xfa, 0x41, 0xea, 0xb7, + 0xc1, 0x5e, 0xa9, 0xba, 0x34, 0x9a, 0x04, 0x09, 0xc1, 0x2c, 0xe6, 0x24, + 0x77, 0xf7, 0x89, 0xb8, +}; +static const struct drbg_kat_pr_true kat3555_t = { + 14, kat3555_entropyin, kat3555_nonce, kat3555_persstr, + kat3555_entropyinpr1, kat3555_addinpr1, kat3555_entropyinpr2, + kat3555_addinpr2, kat3555_retbits +}; +static const struct drbg_kat kat3555 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 0, 64, &kat3555_t +}; + +static const unsigned char kat3556_entropyin[] = { + 0xf0, 0xa9, 0x97, 0xa4, 0xf7, 0x36, 0x0d, 0xc1, 0xb6, 0x42, 0xdc, 0x13, + 0xf6, 0x96, 0xa3, 0x26, 0x5c, 0x5c, 0xbb, 0x21, 0x79, 0x27, 0xb6, 0x22, + 0xcd, 0x3d, 0xd6, 0xde, 0xbf, 0x14, 0x27, 0x28, +}; +static const unsigned char kat3556_nonce[] = { + 0xcd, 0x56, 0x32, 0x17, 0xb5, 0x8b, 0x91, 0xb4, 0xe5, 0x00, 0xa9, 0x45, + 0xf1, 0x5b, 0xd5, 0x45, +}; +static const unsigned char kat3556_persstr[] = {0}; +static const unsigned char kat3556_entropyinpr1[] = { + 0xdf, 0x5e, 0x72, 0xd1, 0x42, 0x38, 0x57, 0xe7, 0x11, 0x2f, 0x59, 0x8e, + 0xe1, 0x11, 0x20, 0x63, 0xb2, 0xaa, 0x62, 0xec, 0xf2, 0xfb, 0xd6, 0xa8, + 0xb7, 0x71, 0x04, 0xe2, 0xa1, 0x18, 0x08, 0xbb, +}; +static const unsigned char kat3556_addinpr1[] = { + 0xe6, 0x97, 0xfb, 0x68, 0xe5, 0xbd, 0xdc, 0x65, 0xca, 0x91, 0x52, 0x6f, + 0x01, 0x4c, 0xce, 0x30, 0x1a, 0xae, 0xfb, 0x82, 0xfb, 0xdf, 0xed, 0xc5, + 0x00, 0x14, 0x9a, 0xa0, 0xb1, 0x93, 0x0b, 0xd5, +}; +static const unsigned char kat3556_entropyinpr2[] = { + 0x67, 0x6a, 0xae, 0x87, 0xee, 0x17, 0x20, 0x17, 0xa6, 0x9a, 0x88, 0xa9, + 0x7e, 0xe3, 0xf1, 0x82, 0x62, 0xc4, 0xdc, 0x3d, 0x90, 0x24, 0x70, 0x0e, + 0x6b, 0xae, 0x3a, 0xee, 0x1d, 0x93, 0x75, 0x50, +}; +static const unsigned char kat3556_addinpr2[] = { + 0x20, 0x2e, 0x49, 0x40, 0x56, 0xe8, 0x5b, 0x0a, 0x93, 0xe8, 0xb8, 0x99, + 0x0e, 0xc4, 0x86, 0x72, 0xc6, 0x87, 0xc5, 0x16, 0xf5, 0x8c, 0x95, 0x3d, + 0xc4, 0x42, 0x47, 0x45, 0xb0, 0x9d, 0xc8, 0xeb, +}; +static const unsigned char kat3556_retbits[] = { + 0xb5, 0xd9, 0x25, 0xd9, 0xbc, 0x56, 0x7a, 0x44, 0x0b, 0xf1, 0xa3, 0xce, + 0x04, 0xbb, 0x39, 0xe8, 0x00, 0x51, 0x32, 0x02, 0xa9, 0x01, 0xf9, 0x45, + 0x7a, 0xbe, 0xea, 0x6b, 0x6f, 0x67, 0xf9, 0xef, 0x09, 0x97, 0x41, 0x32, + 0x1a, 0x7e, 0x38, 0x2d, 0x0d, 0x5d, 0x87, 0x3e, 0x2f, 0x4b, 0x66, 0x48, + 0xa1, 0x7e, 0xa1, 0x38, 0xfe, 0xed, 0xf4, 0x81, 0xd5, 0xf6, 0x69, 0x47, + 0xa7, 0xb0, 0xbd, 0x64, +}; +static const struct drbg_kat_pr_true kat3556_t = { + 0, kat3556_entropyin, kat3556_nonce, kat3556_persstr, + kat3556_entropyinpr1, kat3556_addinpr1, kat3556_entropyinpr2, + kat3556_addinpr2, kat3556_retbits +}; +static const struct drbg_kat kat3556 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3556_t +}; + +static const unsigned char kat3557_entropyin[] = { + 0x60, 0x1a, 0x59, 0x41, 0x92, 0x64, 0x2b, 0x2c, 0xae, 0x1d, 0x09, 0xb8, + 0xd4, 0x22, 0x96, 0x86, 0xf4, 0xdc, 0x94, 0xad, 0xf8, 0x21, 0x5a, 0xe9, + 0x4c, 0x70, 0xf7, 0xe9, 0x68, 0xa6, 0x84, 0xf8, +}; +static const unsigned char kat3557_nonce[] = { + 0x00, 0x84, 0x6a, 0xad, 0x2d, 0x58, 0xde, 0x71, 0x80, 0xa3, 0x1a, 0xdb, + 0x7f, 0x30, 0xae, 0xb5, +}; +static const unsigned char kat3557_persstr[] = {0}; +static const unsigned char kat3557_entropyinpr1[] = { + 0xc3, 0x73, 0x6a, 0xc5, 0xa8, 0xeb, 0xb3, 0xdb, 0x8d, 0x2c, 0x7f, 0x71, + 0x31, 0x10, 0x58, 0x8a, 0xf7, 0x9c, 0xe1, 0xea, 0xee, 0x09, 0x84, 0xd7, + 0xd9, 0x57, 0x05, 0xe7, 0x73, 0x1e, 0x5d, 0x6b, +}; +static const unsigned char kat3557_addinpr1[] = { + 0x02, 0x8c, 0xcb, 0x1a, 0x3e, 0x3f, 0xe0, 0xb6, 0x4f, 0x43, 0xd4, 0x87, + 0x98, 0xed, 0xda, 0x14, 0xd0, 0x9b, 0xda, 0xed, 0xce, 0x58, 0x85, 0xaa, + 0xf4, 0xd6, 0xa2, 0x79, 0x3d, 0x29, 0xff, 0xb4, +}; +static const unsigned char kat3557_entropyinpr2[] = { + 0x9a, 0xee, 0xd6, 0xf9, 0xdd, 0x84, 0x5b, 0xcc, 0x50, 0xe5, 0x05, 0x8c, + 0x03, 0x05, 0x7a, 0x05, 0xce, 0x74, 0x5a, 0xe0, 0x58, 0x2e, 0x66, 0x4e, + 0x2b, 0x70, 0xd6, 0x35, 0x4e, 0x96, 0x81, 0xa5, +}; +static const unsigned char kat3557_addinpr2[] = { + 0xdc, 0x3d, 0xf6, 0x1d, 0x29, 0xfc, 0xe8, 0x75, 0x83, 0x9d, 0x6c, 0xfa, + 0x22, 0x1e, 0x40, 0xdc, 0xd6, 0x21, 0xe6, 0x66, 0xf9, 0x6e, 0xe2, 0x5c, + 0xca, 0x8d, 0xf1, 0x6a, 0xaf, 0xda, 0x1d, 0x21, +}; +static const unsigned char kat3557_retbits[] = { + 0xcc, 0x8a, 0x68, 0x0e, 0x00, 0x3a, 0xd8, 0xc5, 0x71, 0x73, 0x27, 0x84, + 0xb0, 0x29, 0x03, 0xfd, 0xc4, 0x18, 0x99, 0xcd, 0x52, 0xfd, 0xc9, 0x6b, + 0x41, 0x47, 0x2e, 0xaa, 0x70, 0xcc, 0xac, 0x26, 0x0a, 0x63, 0xd3, 0x06, + 0x6b, 0x38, 0x02, 0x3f, 0xc1, 0xcd, 0xcf, 0x97, 0x3e, 0x80, 0x44, 0xa3, + 0xf8, 0x0e, 0x16, 0xea, 0xfc, 0x85, 0x9a, 0x8f, 0x24, 0x37, 0x02, 0xa7, + 0x9b, 0xe7, 0x25, 0xa1, +}; +static const struct drbg_kat_pr_true kat3557_t = { + 1, kat3557_entropyin, kat3557_nonce, kat3557_persstr, + kat3557_entropyinpr1, kat3557_addinpr1, kat3557_entropyinpr2, + kat3557_addinpr2, kat3557_retbits +}; +static const struct drbg_kat kat3557 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3557_t +}; + +static const unsigned char kat3558_entropyin[] = { + 0x4d, 0xd5, 0x99, 0xcf, 0xf6, 0xef, 0xf7, 0x6d, 0xa0, 0x2b, 0xa9, 0x54, + 0x40, 0xc8, 0x2e, 0x9f, 0xb7, 0xff, 0x29, 0x10, 0x77, 0x0c, 0x5d, 0x9b, + 0x44, 0xdb, 0x1a, 0x14, 0x9d, 0xad, 0x15, 0x55, +}; +static const unsigned char kat3558_nonce[] = { + 0xe0, 0x99, 0x86, 0xdc, 0x2e, 0x15, 0xcc, 0xbe, 0x75, 0x04, 0x28, 0x32, + 0x1c, 0x1f, 0xea, 0x7c, +}; +static const unsigned char kat3558_persstr[] = {0}; +static const unsigned char kat3558_entropyinpr1[] = { + 0x22, 0xf4, 0x28, 0x3f, 0xbc, 0x59, 0xc1, 0xad, 0xc1, 0xaa, 0x79, 0xfa, + 0x63, 0x3b, 0x00, 0x55, 0x5b, 0x59, 0xca, 0x8f, 0x39, 0x6c, 0x29, 0xf9, + 0x60, 0xe5, 0x50, 0xa8, 0x7b, 0x95, 0x82, 0xc5, +}; +static const unsigned char kat3558_addinpr1[] = { + 0x72, 0xe0, 0x84, 0xed, 0x63, 0x2e, 0xae, 0xfd, 0xb6, 0x49, 0x5b, 0x15, + 0x6b, 0x4b, 0x4d, 0x15, 0x0b, 0xbb, 0x7b, 0xd3, 0x36, 0xfc, 0xce, 0xbd, + 0xa6, 0x30, 0x99, 0x8d, 0x45, 0x8d, 0xb3, 0x2f, +}; +static const unsigned char kat3558_entropyinpr2[] = { + 0x9f, 0xf2, 0x0b, 0xad, 0xb6, 0xb7, 0x5c, 0x38, 0x3d, 0x18, 0x1f, 0x94, + 0x3b, 0x16, 0x56, 0xde, 0x92, 0x79, 0x59, 0x8a, 0x52, 0xfb, 0x31, 0x7a, + 0x18, 0xdf, 0x2b, 0xa7, 0x2f, 0xdd, 0xed, 0x74, +}; +static const unsigned char kat3558_addinpr2[] = { + 0x3d, 0x1e, 0x9e, 0x2e, 0x8b, 0x17, 0xfd, 0x31, 0x70, 0x03, 0x31, 0x60, + 0x20, 0x96, 0xa4, 0x63, 0x21, 0x14, 0xde, 0x81, 0xf0, 0x54, 0x1a, 0x5d, + 0xcd, 0x3f, 0x17, 0x1e, 0xe6, 0xdb, 0x68, 0xe0, +}; +static const unsigned char kat3558_retbits[] = { + 0xa9, 0x8f, 0xfd, 0x9d, 0x9a, 0x22, 0x32, 0x4d, 0xe9, 0xfd, 0xc8, 0x83, + 0x10, 0x9d, 0x67, 0x42, 0xf6, 0x27, 0x1b, 0x01, 0x20, 0xdd, 0x9e, 0xf1, + 0x0d, 0x7a, 0xd4, 0x13, 0x43, 0xcd, 0x5d, 0x95, 0x50, 0x9c, 0x8c, 0xe8, + 0xf7, 0x7d, 0xbc, 0x3c, 0x27, 0x61, 0x75, 0x30, 0x6a, 0xa6, 0x2f, 0x41, + 0x30, 0xeb, 0x5b, 0x8b, 0x27, 0xa6, 0x51, 0xca, 0xcf, 0x79, 0x53, 0xd1, + 0x39, 0x1f, 0xb6, 0x9f, +}; +static const struct drbg_kat_pr_true kat3558_t = { + 2, kat3558_entropyin, kat3558_nonce, kat3558_persstr, + kat3558_entropyinpr1, kat3558_addinpr1, kat3558_entropyinpr2, + kat3558_addinpr2, kat3558_retbits +}; +static const struct drbg_kat kat3558 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3558_t +}; + +static const unsigned char kat3559_entropyin[] = { + 0x35, 0xd3, 0x03, 0xf9, 0x1d, 0x7a, 0x0c, 0x7b, 0xba, 0xef, 0xff, 0xc6, + 0x05, 0x36, 0xf1, 0xaa, 0xae, 0x55, 0x16, 0x3e, 0x7b, 0xdc, 0x44, 0x22, + 0x14, 0x3d, 0x98, 0x53, 0xcc, 0x1e, 0xad, 0x8a, +}; +static const unsigned char kat3559_nonce[] = { + 0x15, 0x6a, 0xe7, 0x59, 0x4e, 0xb7, 0x55, 0x3e, 0xb1, 0xc8, 0xb5, 0xe9, + 0x79, 0x0c, 0x5d, 0xa4, +}; +static const unsigned char kat3559_persstr[] = {0}; +static const unsigned char kat3559_entropyinpr1[] = { + 0xb8, 0x70, 0x3b, 0xe8, 0x63, 0xc0, 0x79, 0x92, 0x68, 0xc6, 0x1e, 0x0d, + 0x59, 0x7f, 0x4f, 0x87, 0x1a, 0x0a, 0xfd, 0xff, 0x7b, 0xc0, 0x99, 0xcb, + 0xdf, 0x6b, 0xc2, 0x65, 0x66, 0x1c, 0xa3, 0x38, +}; +static const unsigned char kat3559_addinpr1[] = { + 0x84, 0x27, 0xc9, 0x13, 0x04, 0x0c, 0xcd, 0x78, 0xfb, 0x7e, 0xa1, 0x95, + 0x6a, 0x04, 0x69, 0xb0, 0xd8, 0x86, 0x6a, 0xb1, 0xaf, 0x20, 0x5e, 0x36, + 0x0e, 0x1c, 0x58, 0xe6, 0xc0, 0xfa, 0x7b, 0x91, +}; +static const unsigned char kat3559_entropyinpr2[] = { + 0xcd, 0xd1, 0x6c, 0x96, 0x99, 0x3b, 0xf2, 0x66, 0x2b, 0x73, 0x14, 0x76, + 0x6c, 0xbe, 0x30, 0x8b, 0x72, 0xc5, 0x42, 0xfa, 0x27, 0x56, 0xfc, 0xde, + 0xe0, 0x8d, 0xa2, 0x23, 0x8e, 0xc8, 0xe7, 0x6b, +}; +static const unsigned char kat3559_addinpr2[] = { + 0x26, 0x0c, 0x5b, 0xff, 0xef, 0xf5, 0x64, 0x1c, 0x97, 0x7b, 0xb3, 0x64, + 0xc2, 0xe2, 0x7d, 0x9a, 0x8a, 0x85, 0x16, 0xc2, 0x1f, 0xb8, 0x77, 0xd9, + 0xd0, 0x6d, 0x16, 0xd2, 0xdb, 0x17, 0x78, 0xfc, +}; +static const unsigned char kat3559_retbits[] = { + 0x23, 0x53, 0x37, 0x36, 0xcf, 0x03, 0x95, 0x67, 0x14, 0x98, 0xe1, 0xf7, + 0xf9, 0xab, 0x49, 0xdd, 0xac, 0xed, 0x84, 0x61, 0x75, 0xd9, 0x24, 0x42, + 0xdb, 0x5a, 0xcd, 0x1e, 0x29, 0x8d, 0xc2, 0x8e, 0xc4, 0xd4, 0x22, 0xe9, + 0xec, 0x97, 0x2e, 0x9a, 0xeb, 0x63, 0x5a, 0x30, 0xdd, 0x0e, 0x67, 0xf4, + 0xd3, 0x0d, 0x45, 0x04, 0x4e, 0xbf, 0xbb, 0xd7, 0x6a, 0x4c, 0xf8, 0x6b, + 0x80, 0x07, 0x3e, 0x06, +}; +static const struct drbg_kat_pr_true kat3559_t = { + 3, kat3559_entropyin, kat3559_nonce, kat3559_persstr, + kat3559_entropyinpr1, kat3559_addinpr1, kat3559_entropyinpr2, + kat3559_addinpr2, kat3559_retbits +}; +static const struct drbg_kat kat3559 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3559_t +}; + +static const unsigned char kat3560_entropyin[] = { + 0xee, 0xe6, 0x20, 0xfe, 0x23, 0x7d, 0xe2, 0x34, 0x5e, 0x3b, 0x8c, 0x8e, + 0x91, 0x10, 0x0f, 0x5e, 0x7b, 0xef, 0xf5, 0x32, 0xae, 0x5d, 0x77, 0xfb, + 0x6a, 0x57, 0x6d, 0xf2, 0x53, 0x6f, 0x0f, 0xb6, +}; +static const unsigned char kat3560_nonce[] = { + 0xa2, 0xaa, 0x77, 0x6e, 0x76, 0x30, 0xfa, 0x17, 0x13, 0x78, 0x8d, 0x0e, + 0x02, 0xad, 0x53, 0x37, +}; +static const unsigned char kat3560_persstr[] = {0}; +static const unsigned char kat3560_entropyinpr1[] = { + 0xfb, 0x78, 0x8a, 0xa6, 0x15, 0x2c, 0x4a, 0x79, 0xff, 0xb6, 0xa8, 0xb8, + 0x93, 0x31, 0x87, 0x85, 0x2e, 0x36, 0x44, 0x63, 0xe0, 0x0c, 0x87, 0x63, + 0xb8, 0xfd, 0xcc, 0x17, 0xee, 0x6d, 0x26, 0x30, +}; +static const unsigned char kat3560_addinpr1[] = { + 0x0a, 0xe6, 0x2e, 0x9c, 0x91, 0x82, 0x5e, 0xd1, 0x17, 0x7f, 0xde, 0x05, + 0x07, 0xd2, 0x3d, 0x57, 0x69, 0x68, 0x49, 0xdb, 0x23, 0x8f, 0xe4, 0x19, + 0x64, 0x08, 0xab, 0xb5, 0x57, 0x72, 0xf1, 0xf0, +}; +static const unsigned char kat3560_entropyinpr2[] = { + 0xb9, 0x9e, 0x02, 0x51, 0xd4, 0x58, 0x7d, 0xd4, 0x95, 0x2e, 0x38, 0x3a, + 0x84, 0x1d, 0x6b, 0xff, 0xb9, 0x3f, 0xc4, 0x2b, 0x28, 0x78, 0xb3, 0x04, + 0xe4, 0x90, 0xe6, 0x64, 0x66, 0xf2, 0xb3, 0x4c, +}; +static const unsigned char kat3560_addinpr2[] = { + 0xb1, 0xb8, 0xa4, 0xb1, 0xbe, 0x81, 0x00, 0xf8, 0x10, 0x70, 0x8b, 0xf4, + 0xec, 0xc9, 0xf5, 0xf4, 0x46, 0x37, 0x2f, 0xd7, 0x0f, 0xa0, 0x21, 0x6e, + 0x46, 0xcb, 0xff, 0xc4, 0x15, 0x59, 0xe2, 0xf1, +}; +static const unsigned char kat3560_retbits[] = { + 0xf0, 0x3b, 0xaa, 0x93, 0x69, 0x33, 0x27, 0xa0, 0xa6, 0x88, 0x86, 0xcd, + 0x62, 0xa2, 0x40, 0x48, 0xde, 0xd3, 0x12, 0xdf, 0x71, 0x87, 0x3e, 0x96, + 0x29, 0x81, 0xc4, 0x38, 0xdc, 0xe8, 0xd5, 0x6f, 0x03, 0xeb, 0xbb, 0x67, + 0xc4, 0x97, 0xd9, 0x43, 0x52, 0xaa, 0x9d, 0x00, 0xd5, 0x86, 0x06, 0xc9, + 0xbf, 0xad, 0xaf, 0xeb, 0x37, 0xed, 0x80, 0xa0, 0x7f, 0xac, 0xc0, 0x3d, + 0x36, 0x41, 0xa1, 0x6a, +}; +static const struct drbg_kat_pr_true kat3560_t = { + 4, kat3560_entropyin, kat3560_nonce, kat3560_persstr, + kat3560_entropyinpr1, kat3560_addinpr1, kat3560_entropyinpr2, + kat3560_addinpr2, kat3560_retbits +}; +static const struct drbg_kat kat3560 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3560_t +}; + +static const unsigned char kat3561_entropyin[] = { + 0x2a, 0xa4, 0xf1, 0x5a, 0xc2, 0x1e, 0x48, 0xb6, 0x7a, 0xd5, 0xa3, 0x2c, + 0x73, 0x9b, 0x80, 0x51, 0x7c, 0xda, 0xea, 0xc2, 0x98, 0xf4, 0x6f, 0x18, + 0xba, 0x5b, 0xe3, 0xef, 0xb4, 0x0c, 0x93, 0xdd, +}; +static const unsigned char kat3561_nonce[] = { + 0xc1, 0xd2, 0xf5, 0xa6, 0xd6, 0x52, 0x2f, 0x3c, 0xd2, 0xde, 0xf5, 0x9f, + 0x34, 0x4a, 0x14, 0xfc, +}; +static const unsigned char kat3561_persstr[] = {0}; +static const unsigned char kat3561_entropyinpr1[] = { + 0xe9, 0x93, 0xfd, 0x24, 0xb8, 0x2b, 0x62, 0x44, 0xe1, 0xbf, 0x60, 0xc5, + 0x94, 0x54, 0x87, 0xc2, 0xa7, 0x88, 0xae, 0x1b, 0x3e, 0x55, 0xdf, 0xe1, + 0x2f, 0xec, 0x88, 0x9e, 0x80, 0xf9, 0xee, 0x6b, +}; +static const unsigned char kat3561_addinpr1[] = { + 0x45, 0x37, 0x9b, 0x77, 0x1e, 0xbc, 0xcb, 0x69, 0x72, 0x16, 0x11, 0xe9, + 0x74, 0xad, 0xe2, 0x4b, 0xa7, 0xd0, 0x1d, 0x18, 0xc1, 0x88, 0x1b, 0x0c, + 0xb5, 0xe6, 0x83, 0x70, 0xa0, 0xea, 0x06, 0x65, +}; +static const unsigned char kat3561_entropyinpr2[] = { + 0xb4, 0x6a, 0x12, 0x1c, 0xfa, 0xac, 0xc8, 0x97, 0xcf, 0x8c, 0x7e, 0xc7, + 0xdd, 0xff, 0x84, 0x35, 0x15, 0xd0, 0x73, 0x3b, 0xc7, 0x66, 0xab, 0x6c, + 0x5a, 0x7b, 0x50, 0x56, 0x18, 0x63, 0x91, 0xbd, +}; +static const unsigned char kat3561_addinpr2[] = { + 0x76, 0xb0, 0x04, 0x04, 0xd8, 0x8b, 0xe2, 0x2d, 0x13, 0x2a, 0x86, 0x8f, + 0x07, 0x27, 0x46, 0x43, 0xbf, 0xb2, 0xdd, 0x71, 0xdd, 0x85, 0xee, 0x18, + 0xf1, 0xa7, 0x06, 0x51, 0x7a, 0xbb, 0xa8, 0xd0, +}; +static const unsigned char kat3561_retbits[] = { + 0x7f, 0x6f, 0xfa, 0x3f, 0x3c, 0xdd, 0x9e, 0x1b, 0x2f, 0x19, 0x60, 0xea, + 0x7d, 0x5b, 0x35, 0x8d, 0x00, 0x13, 0xf9, 0xd6, 0x28, 0x55, 0x90, 0x43, + 0x1d, 0x01, 0x75, 0x22, 0xe2, 0xdb, 0x02, 0x77, 0xcc, 0x1b, 0x50, 0xbd, + 0xc8, 0x2a, 0x50, 0x28, 0x69, 0x37, 0x61, 0x7e, 0x34, 0x2a, 0x8e, 0xa2, + 0x56, 0x2f, 0x7d, 0x59, 0xe9, 0x56, 0x54, 0x9f, 0x49, 0xad, 0xa9, 0xc0, + 0x65, 0x14, 0x67, 0x53, +}; +static const struct drbg_kat_pr_true kat3561_t = { + 5, kat3561_entropyin, kat3561_nonce, kat3561_persstr, + kat3561_entropyinpr1, kat3561_addinpr1, kat3561_entropyinpr2, + kat3561_addinpr2, kat3561_retbits +}; +static const struct drbg_kat kat3561 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3561_t +}; + +static const unsigned char kat3562_entropyin[] = { + 0x96, 0x46, 0x71, 0x45, 0x4f, 0xff, 0x79, 0x45, 0xe9, 0xd4, 0x72, 0x2a, + 0x44, 0x9c, 0xa8, 0xa0, 0x79, 0x55, 0x34, 0xbe, 0xe6, 0xa0, 0x6c, 0x2b, + 0x43, 0xb9, 0x2a, 0x7e, 0x6a, 0x07, 0x44, 0xad, +}; +static const unsigned char kat3562_nonce[] = { + 0xc4, 0xe9, 0x1a, 0x4e, 0xaf, 0xc0, 0x34, 0x6f, 0x6f, 0xf9, 0x62, 0x74, + 0x10, 0xb0, 0x93, 0x31, +}; +static const unsigned char kat3562_persstr[] = {0}; +static const unsigned char kat3562_entropyinpr1[] = { + 0xc1, 0x0d, 0x27, 0x16, 0xcb, 0xad, 0xe7, 0xd9, 0x54, 0xe1, 0x2c, 0x34, + 0xaa, 0xf8, 0xb3, 0x94, 0xe8, 0xe3, 0x53, 0x20, 0xd8, 0x10, 0x31, 0x57, + 0xdf, 0xee, 0x9e, 0x38, 0x2e, 0x5a, 0xdd, 0x79, +}; +static const unsigned char kat3562_addinpr1[] = { + 0xbd, 0xc3, 0x37, 0x61, 0xfd, 0xcb, 0x98, 0xb9, 0x8e, 0x56, 0x65, 0x73, + 0xe1, 0x45, 0x17, 0x22, 0x0f, 0x95, 0x6d, 0x4e, 0xb0, 0x6a, 0x9f, 0xe2, + 0x49, 0xb9, 0xb9, 0x99, 0xc6, 0x8a, 0x94, 0x7f, +}; +static const unsigned char kat3562_entropyinpr2[] = { + 0x87, 0x1d, 0xef, 0xf9, 0xd6, 0xf4, 0xda, 0x37, 0x34, 0x24, 0x5f, 0x6b, + 0x0f, 0xfa, 0x89, 0x61, 0x18, 0x61, 0x91, 0xb1, 0x9a, 0x9d, 0x2d, 0x89, + 0xad, 0x5c, 0xe6, 0xce, 0x04, 0x66, 0x46, 0x3d, +}; +static const unsigned char kat3562_addinpr2[] = { + 0x0d, 0x47, 0xdb, 0x4c, 0x8e, 0xda, 0x48, 0xfc, 0x3f, 0x46, 0xea, 0x30, + 0x33, 0x2f, 0xfa, 0x0f, 0x0b, 0x1f, 0x6f, 0x2e, 0x3c, 0xa0, 0xcd, 0xcc, + 0xab, 0x79, 0x7f, 0x38, 0x4a, 0xd1, 0xb7, 0xf1, +}; +static const unsigned char kat3562_retbits[] = { + 0x38, 0x8a, 0xbe, 0xe5, 0x6d, 0xc4, 0x6e, 0xef, 0xae, 0xdf, 0xb0, 0x0a, + 0x67, 0x61, 0x65, 0x40, 0x03, 0x38, 0x86, 0xd9, 0x11, 0xa5, 0x37, 0xe6, + 0x86, 0x83, 0x4a, 0xa2, 0x90, 0xc8, 0xf9, 0xf6, 0xf9, 0xdb, 0x41, 0x8a, + 0x91, 0x74, 0x51, 0xa7, 0xf0, 0x92, 0xa2, 0xe4, 0x71, 0x2f, 0x66, 0x98, + 0x8f, 0x15, 0x29, 0xac, 0x8a, 0x88, 0xb9, 0xa4, 0x10, 0x1c, 0xf2, 0x2a, + 0xd1, 0xfe, 0x6f, 0xac, +}; +static const struct drbg_kat_pr_true kat3562_t = { + 6, kat3562_entropyin, kat3562_nonce, kat3562_persstr, + kat3562_entropyinpr1, kat3562_addinpr1, kat3562_entropyinpr2, + kat3562_addinpr2, kat3562_retbits +}; +static const struct drbg_kat kat3562 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3562_t +}; + +static const unsigned char kat3563_entropyin[] = { + 0x23, 0x9d, 0x5e, 0xf2, 0x89, 0x62, 0x59, 0x46, 0x87, 0x3d, 0x30, 0xb4, + 0xba, 0x3a, 0xa1, 0xf9, 0x38, 0x15, 0x6e, 0xe5, 0x10, 0x1b, 0x0c, 0x94, + 0x75, 0xaf, 0x5f, 0x11, 0x93, 0x4a, 0x95, 0xcb, +}; +static const unsigned char kat3563_nonce[] = { + 0xd4, 0x0b, 0xd6, 0x89, 0xd5, 0x48, 0xbc, 0x6c, 0x5e, 0x47, 0x0d, 0xbb, + 0x27, 0xce, 0x10, 0x5a, +}; +static const unsigned char kat3563_persstr[] = {0}; +static const unsigned char kat3563_entropyinpr1[] = { + 0xaf, 0x57, 0x60, 0x42, 0x1b, 0xcf, 0xc7, 0x8b, 0xd1, 0x9e, 0xb6, 0xe2, + 0x55, 0x79, 0x8d, 0xab, 0xe7, 0xbb, 0x41, 0x13, 0xdc, 0xa6, 0x1e, 0xb6, + 0xfd, 0x28, 0xdd, 0x4e, 0x28, 0x59, 0xf0, 0x1a, +}; +static const unsigned char kat3563_addinpr1[] = { + 0x8c, 0x32, 0xc0, 0xfe, 0x20, 0xb0, 0xde, 0x59, 0xc4, 0xfc, 0x21, 0x1c, + 0x8d, 0x20, 0x3a, 0x5f, 0x85, 0xbc, 0xf4, 0x01, 0x0c, 0xe5, 0xb4, 0x3f, + 0xb7, 0x38, 0xe0, 0x02, 0x6d, 0x06, 0x31, 0x15, +}; +static const unsigned char kat3563_entropyinpr2[] = { + 0x18, 0x14, 0x7b, 0x05, 0x57, 0x66, 0x74, 0xaa, 0x54, 0x6a, 0xeb, 0xe0, + 0x1b, 0x78, 0xa7, 0x9d, 0xfe, 0xde, 0x75, 0xb1, 0xc7, 0x19, 0x87, 0x00, + 0x91, 0xc9, 0xfc, 0x4e, 0xe7, 0x53, 0xce, 0x47, +}; +static const unsigned char kat3563_addinpr2[] = { + 0x8a, 0xf5, 0xbe, 0x7f, 0x17, 0xf1, 0x4b, 0xe5, 0x05, 0xe1, 0xa1, 0x0b, + 0x7a, 0x20, 0x8b, 0xe1, 0x76, 0x50, 0x77, 0x5c, 0xb8, 0xf7, 0x1d, 0xb2, + 0x71, 0x02, 0x5b, 0xa6, 0xa3, 0x18, 0x80, 0x81, +}; +static const unsigned char kat3563_retbits[] = { + 0xc8, 0xfd, 0x14, 0xeb, 0xf3, 0x86, 0x46, 0xee, 0xed, 0xa8, 0xca, 0x47, + 0xcb, 0x42, 0xf5, 0xdf, 0xae, 0x6b, 0xd5, 0xd9, 0x65, 0xca, 0xe3, 0x28, + 0x3b, 0x05, 0x60, 0xea, 0x67, 0x26, 0x3c, 0xdf, 0x9b, 0xd3, 0xcf, 0x6d, + 0x8b, 0x3e, 0x11, 0xb3, 0xb0, 0xeb, 0x79, 0xe8, 0x25, 0xb7, 0x47, 0x72, + 0xd0, 0xdf, 0xa4, 0xf5, 0xe2, 0x29, 0xb8, 0x54, 0xda, 0x6a, 0x05, 0x04, + 0x95, 0xcb, 0x91, 0x7c, +}; +static const struct drbg_kat_pr_true kat3563_t = { + 7, kat3563_entropyin, kat3563_nonce, kat3563_persstr, + kat3563_entropyinpr1, kat3563_addinpr1, kat3563_entropyinpr2, + kat3563_addinpr2, kat3563_retbits +}; +static const struct drbg_kat kat3563 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3563_t +}; + +static const unsigned char kat3564_entropyin[] = { + 0x97, 0x19, 0x90, 0xd9, 0x65, 0x61, 0x5b, 0x0e, 0xf8, 0xee, 0x54, 0x92, + 0xcf, 0x9e, 0x52, 0x3b, 0xcc, 0x86, 0xf7, 0xf7, 0x94, 0x99, 0x2d, 0xd7, + 0x9b, 0x4f, 0x00, 0x5b, 0x81, 0xff, 0xb4, 0x36, +}; +static const unsigned char kat3564_nonce[] = { + 0x25, 0x9c, 0x50, 0xc2, 0x56, 0x6b, 0x6c, 0x12, 0x3f, 0xaf, 0x7d, 0x89, + 0xb3, 0x96, 0x62, 0x7b, +}; +static const unsigned char kat3564_persstr[] = {0}; +static const unsigned char kat3564_entropyinpr1[] = { + 0x35, 0x3d, 0xd4, 0x12, 0x39, 0x64, 0x6d, 0x8d, 0xb4, 0x3c, 0xe9, 0xc1, + 0x64, 0x04, 0x07, 0x1e, 0x5d, 0x85, 0x3f, 0xbb, 0xe2, 0x32, 0x20, 0x1a, + 0x57, 0x19, 0x90, 0xba, 0xcf, 0x8f, 0x10, 0xcb, +}; +static const unsigned char kat3564_addinpr1[] = { + 0xf6, 0x4a, 0x39, 0x61, 0xd4, 0x61, 0x6b, 0x07, 0xcc, 0xc0, 0x01, 0x46, + 0x90, 0x2c, 0x26, 0x1f, 0xd1, 0x20, 0x30, 0xdf, 0xe7, 0x96, 0x6c, 0xcc, + 0xd4, 0xc1, 0x89, 0xcb, 0x51, 0xef, 0xf8, 0xb1, +}; +static const unsigned char kat3564_entropyinpr2[] = { + 0xcd, 0x39, 0xfb, 0x0f, 0x78, 0xc2, 0x79, 0xc0, 0x32, 0x4c, 0xb5, 0x4c, + 0xbc, 0x0f, 0xf5, 0x6d, 0xbc, 0x02, 0x11, 0x60, 0xf4, 0x5e, 0x61, 0xf1, + 0x23, 0x63, 0xe9, 0xcb, 0x6e, 0x80, 0xb7, 0xa2, +}; +static const unsigned char kat3564_addinpr2[] = { + 0xea, 0x09, 0x44, 0xcd, 0x18, 0x29, 0xcb, 0x4f, 0x2c, 0x50, 0x5b, 0xb6, + 0xe8, 0x37, 0x83, 0x03, 0xfe, 0xf9, 0x8a, 0xf0, 0x02, 0xa7, 0xfb, 0x44, + 0xd8, 0x0c, 0xb8, 0xcd, 0xb3, 0x43, 0xe8, 0x29, +}; +static const unsigned char kat3564_retbits[] = { + 0x0c, 0xd1, 0xb0, 0x36, 0xf2, 0x0b, 0xda, 0x78, 0xa8, 0x19, 0x1b, 0x3e, + 0x4b, 0x59, 0x8e, 0x89, 0xd6, 0xd1, 0x50, 0x3e, 0xbb, 0x3b, 0xfc, 0xef, + 0xa1, 0x57, 0xad, 0x82, 0xfb, 0x3e, 0x62, 0xe4, 0x3a, 0xf4, 0x9e, 0xf8, + 0x74, 0x55, 0x6c, 0x55, 0xab, 0xee, 0x89, 0x16, 0x08, 0x5d, 0x17, 0xb0, + 0x94, 0x98, 0x70, 0xa5, 0x8f, 0x81, 0x33, 0x26, 0x3f, 0x2f, 0x46, 0xb0, + 0xcb, 0x76, 0x9d, 0xa1, +}; +static const struct drbg_kat_pr_true kat3564_t = { + 8, kat3564_entropyin, kat3564_nonce, kat3564_persstr, + kat3564_entropyinpr1, kat3564_addinpr1, kat3564_entropyinpr2, + kat3564_addinpr2, kat3564_retbits +}; +static const struct drbg_kat kat3564 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3564_t +}; + +static const unsigned char kat3565_entropyin[] = { + 0x48, 0x28, 0xa5, 0xc3, 0x39, 0x1b, 0x33, 0xba, 0x02, 0xc5, 0x6a, 0x5e, + 0x7e, 0xbf, 0x8d, 0x57, 0x81, 0x3c, 0x2a, 0x13, 0xb3, 0x9b, 0x32, 0xa5, + 0x32, 0xe4, 0xeb, 0x54, 0xf9, 0x8f, 0xa2, 0x77, +}; +static const unsigned char kat3565_nonce[] = { + 0x1f, 0x55, 0x29, 0x86, 0x04, 0xdf, 0x26, 0xa2, 0xc5, 0x62, 0xa1, 0x00, + 0xce, 0xa5, 0x17, 0x9f, +}; +static const unsigned char kat3565_persstr[] = {0}; +static const unsigned char kat3565_entropyinpr1[] = { + 0xcf, 0x23, 0xa3, 0x92, 0x4e, 0x15, 0x4c, 0x75, 0xa0, 0xc0, 0x92, 0x6e, + 0xda, 0x78, 0xa0, 0xc4, 0x36, 0xe0, 0x83, 0xa6, 0x96, 0xe1, 0x5d, 0xf6, + 0xe9, 0x86, 0xe3, 0x5b, 0x8c, 0x86, 0xd1, 0x3d, +}; +static const unsigned char kat3565_addinpr1[] = { + 0x72, 0x3c, 0xe5, 0x19, 0xe7, 0x93, 0x32, 0x91, 0xec, 0x53, 0x70, 0xe7, + 0x08, 0x1f, 0x42, 0x46, 0x55, 0x22, 0x9e, 0x54, 0x81, 0xd8, 0xc4, 0xff, + 0xb3, 0x37, 0x08, 0x56, 0xb4, 0x69, 0x0c, 0x1c, +}; +static const unsigned char kat3565_entropyinpr2[] = { + 0xe1, 0x77, 0xdc, 0x50, 0x1e, 0x82, 0xef, 0x1d, 0x19, 0x84, 0xc7, 0x8d, + 0xca, 0x62, 0x1f, 0xbb, 0x0c, 0x73, 0xfe, 0x68, 0xdf, 0xd3, 0x84, 0x76, + 0x1e, 0xc0, 0xd7, 0xd6, 0x48, 0xa7, 0x67, 0x07, +}; +static const unsigned char kat3565_addinpr2[] = { + 0xa1, 0x57, 0xde, 0x2c, 0xc4, 0xfd, 0x95, 0x81, 0x5e, 0x1f, 0xdb, 0xec, + 0xe2, 0xb1, 0x5c, 0x47, 0x4a, 0xc7, 0x6e, 0xab, 0x03, 0x5a, 0x22, 0x83, + 0x43, 0x73, 0x3e, 0xb6, 0x23, 0xed, 0x8b, 0x66, +}; +static const unsigned char kat3565_retbits[] = { + 0xd7, 0x54, 0x14, 0x65, 0x72, 0x27, 0x2e, 0xbb, 0xe9, 0xda, 0x93, 0x52, + 0x50, 0x74, 0xdf, 0x35, 0x72, 0x65, 0x09, 0x57, 0x50, 0x68, 0x7f, 0x67, + 0x2f, 0x14, 0x58, 0xf6, 0xef, 0x2c, 0x4e, 0xa4, 0x44, 0x13, 0x11, 0x87, + 0x1e, 0xd8, 0x05, 0x22, 0x67, 0xa5, 0xfc, 0x6c, 0x0f, 0x3a, 0x65, 0xf3, + 0x56, 0x48, 0x02, 0x8a, 0xb5, 0x78, 0x09, 0xeb, 0xe5, 0x62, 0x40, 0xd9, + 0xa5, 0xf6, 0x62, 0x9c, +}; +static const struct drbg_kat_pr_true kat3565_t = { + 9, kat3565_entropyin, kat3565_nonce, kat3565_persstr, + kat3565_entropyinpr1, kat3565_addinpr1, kat3565_entropyinpr2, + kat3565_addinpr2, kat3565_retbits +}; +static const struct drbg_kat kat3565 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3565_t +}; + +static const unsigned char kat3566_entropyin[] = { + 0x32, 0x8a, 0x3a, 0xf8, 0x68, 0x93, 0xc2, 0x1a, 0xe1, 0x21, 0x59, 0xd4, + 0xc2, 0xa0, 0xca, 0xd2, 0xda, 0x87, 0x20, 0xb2, 0xc1, 0xe1, 0x76, 0x4c, + 0x41, 0x19, 0x88, 0x4b, 0xcb, 0xe0, 0x18, 0x36, +}; +static const unsigned char kat3566_nonce[] = { + 0x94, 0xe7, 0x10, 0xed, 0x04, 0x90, 0xec, 0xd4, 0x5c, 0xe8, 0x9c, 0x47, + 0x83, 0x6d, 0x99, 0xf9, +}; +static const unsigned char kat3566_persstr[] = {0}; +static const unsigned char kat3566_entropyinpr1[] = { + 0x4d, 0x23, 0x93, 0x20, 0x99, 0xe8, 0x49, 0xa8, 0x05, 0x8d, 0x3c, 0x36, + 0xdc, 0x84, 0x2c, 0x2b, 0xcd, 0x68, 0x4e, 0xee, 0x27, 0x68, 0x13, 0x7f, + 0xa9, 0x13, 0x58, 0x2c, 0x0e, 0xf0, 0x5f, 0xda, +}; +static const unsigned char kat3566_addinpr1[] = { + 0x00, 0x05, 0x77, 0xf0, 0xe9, 0xe5, 0x0e, 0x39, 0x30, 0x6a, 0x65, 0x64, + 0x49, 0x8a, 0x4b, 0x19, 0x0c, 0xdb, 0xb8, 0x7a, 0x91, 0x7e, 0x56, 0x13, + 0x3a, 0x2e, 0x6d, 0xd0, 0x66, 0xb3, 0x55, 0xd6, +}; +static const unsigned char kat3566_entropyinpr2[] = { + 0x87, 0x4b, 0x1e, 0x1d, 0x2c, 0x9a, 0x00, 0xe2, 0xbb, 0x01, 0x61, 0x1f, + 0x2e, 0x5d, 0x6c, 0xa3, 0x2e, 0x8a, 0x42, 0x16, 0xde, 0x85, 0xc4, 0x0d, + 0xa7, 0xeb, 0x62, 0xbc, 0x98, 0x45, 0x5c, 0x4c, +}; +static const unsigned char kat3566_addinpr2[] = { + 0x6d, 0x4a, 0xcf, 0x66, 0xf2, 0x7f, 0x44, 0xd5, 0xb5, 0x45, 0xf8, 0x1b, + 0x72, 0x58, 0xe9, 0xba, 0xb9, 0xa6, 0x6d, 0x1f, 0x1c, 0xe4, 0xf1, 0x21, + 0xc6, 0x51, 0x5f, 0x85, 0x7d, 0x5e, 0xf5, 0xd6, +}; +static const unsigned char kat3566_retbits[] = { + 0x40, 0xaf, 0xef, 0x4a, 0xce, 0x54, 0x82, 0x05, 0xe9, 0x62, 0x57, 0xca, + 0x4e, 0xf3, 0x65, 0xbb, 0x31, 0xac, 0xc3, 0xf2, 0x6b, 0x3b, 0xff, 0x09, + 0x24, 0x36, 0xf4, 0xde, 0xbc, 0xa3, 0x27, 0x99, 0x2a, 0x14, 0xd7, 0x56, + 0xcd, 0x95, 0xd3, 0xeb, 0x31, 0x55, 0x9d, 0xe8, 0xdc, 0xc6, 0x19, 0x90, + 0xe2, 0x62, 0x34, 0xed, 0x81, 0x75, 0x02, 0x1c, 0x1d, 0x46, 0x54, 0xa0, + 0xe4, 0x59, 0x26, 0xae, +}; +static const struct drbg_kat_pr_true kat3566_t = { + 10, kat3566_entropyin, kat3566_nonce, kat3566_persstr, + kat3566_entropyinpr1, kat3566_addinpr1, kat3566_entropyinpr2, + kat3566_addinpr2, kat3566_retbits +}; +static const struct drbg_kat kat3566 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3566_t +}; + +static const unsigned char kat3567_entropyin[] = { + 0x4b, 0x11, 0xfa, 0xfa, 0xea, 0x5a, 0x99, 0x45, 0xd2, 0x08, 0x14, 0xac, + 0xd8, 0x77, 0x77, 0xce, 0xaf, 0xfb, 0xb4, 0x43, 0x25, 0xf1, 0x01, 0x25, + 0xdd, 0x2b, 0x2f, 0x92, 0x2c, 0x20, 0x78, 0xf6, +}; +static const unsigned char kat3567_nonce[] = { + 0x55, 0x8c, 0xc8, 0x66, 0x23, 0x81, 0x4b, 0x5c, 0x96, 0x02, 0xd5, 0x69, + 0x67, 0x06, 0x80, 0x80, +}; +static const unsigned char kat3567_persstr[] = {0}; +static const unsigned char kat3567_entropyinpr1[] = { + 0x25, 0x1e, 0x9f, 0x7d, 0xb4, 0x48, 0xd3, 0x2b, 0xf5, 0xd1, 0x95, 0x29, + 0x03, 0xf6, 0x86, 0xba, 0xec, 0x93, 0x8c, 0xee, 0x8a, 0x8b, 0x1f, 0x40, + 0xdf, 0xb9, 0x33, 0xef, 0x7d, 0x1d, 0xc9, 0x3c, +}; +static const unsigned char kat3567_addinpr1[] = { + 0x92, 0xfb, 0x30, 0x5e, 0xb9, 0xf9, 0x38, 0x05, 0x0b, 0x78, 0xa3, 0xdb, + 0x14, 0x09, 0x04, 0x3c, 0x5d, 0x42, 0xf9, 0xa6, 0xda, 0xf7, 0xf0, 0x52, + 0x7d, 0xb7, 0xa0, 0xce, 0x16, 0x54, 0x68, 0x9a, +}; +static const unsigned char kat3567_entropyinpr2[] = { + 0x06, 0x2c, 0x74, 0x03, 0xf2, 0x1d, 0x7b, 0x51, 0x6a, 0xc8, 0x7f, 0x80, + 0x75, 0x72, 0x2b, 0xdf, 0xb7, 0xb7, 0xea, 0xd2, 0xa3, 0xcc, 0x3e, 0xae, + 0x8f, 0xe9, 0xf0, 0xdb, 0xbd, 0x33, 0xff, 0x67, +}; +static const unsigned char kat3567_addinpr2[] = { + 0xa2, 0xce, 0x9b, 0x84, 0x18, 0x7c, 0xcc, 0xc8, 0x85, 0x9c, 0x97, 0x45, + 0xbf, 0x8d, 0xc9, 0xc2, 0x26, 0x2d, 0xe9, 0xf5, 0x02, 0x2c, 0x3d, 0x3e, + 0xd8, 0xa6, 0xed, 0x8a, 0xb1, 0x9f, 0x4f, 0xee, +}; +static const unsigned char kat3567_retbits[] = { + 0xf8, 0xcb, 0x3e, 0x74, 0x4d, 0x69, 0x5c, 0x0c, 0x00, 0xc3, 0x9d, 0x85, + 0x43, 0x7a, 0xed, 0xe8, 0xf8, 0xea, 0x28, 0x08, 0x71, 0xfd, 0x35, 0xd0, + 0x08, 0x94, 0x0d, 0xc0, 0x01, 0xef, 0x40, 0x36, 0x4d, 0x3c, 0x73, 0x6d, + 0x07, 0x3a, 0x6d, 0x7e, 0x0b, 0xb0, 0xc0, 0x60, 0x1a, 0x37, 0x98, 0xd0, + 0x49, 0x63, 0x21, 0x67, 0xaa, 0x33, 0xf2, 0x81, 0xe1, 0x1c, 0xda, 0x46, + 0xfd, 0x5e, 0x85, 0x68, +}; +static const struct drbg_kat_pr_true kat3567_t = { + 11, kat3567_entropyin, kat3567_nonce, kat3567_persstr, + kat3567_entropyinpr1, kat3567_addinpr1, kat3567_entropyinpr2, + kat3567_addinpr2, kat3567_retbits +}; +static const struct drbg_kat kat3567 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3567_t +}; + +static const unsigned char kat3568_entropyin[] = { + 0x10, 0x99, 0xc7, 0xef, 0xdb, 0x10, 0x81, 0xce, 0xaa, 0x7a, 0x6f, 0x49, + 0x9c, 0x49, 0x5e, 0x57, 0x26, 0xee, 0x4d, 0x28, 0xb3, 0xa4, 0x69, 0x31, + 0x38, 0x6f, 0x02, 0x5c, 0x3f, 0x5b, 0x3d, 0xd3, +}; +static const unsigned char kat3568_nonce[] = { + 0x37, 0x3b, 0xab, 0xd6, 0xa0, 0xb0, 0x20, 0x06, 0x6d, 0x50, 0xd4, 0x3e, + 0x46, 0x22, 0xdc, 0x7d, +}; +static const unsigned char kat3568_persstr[] = {0}; +static const unsigned char kat3568_entropyinpr1[] = { + 0x9a, 0x56, 0xc7, 0xb2, 0x54, 0x52, 0xe9, 0x5f, 0x60, 0x64, 0xfa, 0xbe, + 0x8c, 0xbf, 0x2e, 0xa4, 0x4d, 0xfa, 0x11, 0x44, 0x38, 0x6a, 0x7f, 0xee, + 0x37, 0xfe, 0xe0, 0x27, 0xa1, 0xad, 0x5d, 0x98, +}; +static const unsigned char kat3568_addinpr1[] = { + 0xb2, 0x13, 0xd8, 0x08, 0x7d, 0x07, 0x3a, 0x24, 0x70, 0xaf, 0xad, 0x08, + 0x2c, 0xf6, 0xff, 0xe8, 0xb0, 0xea, 0xac, 0xe7, 0xe9, 0x4e, 0xc9, 0xe2, + 0x94, 0x05, 0x0d, 0xee, 0xaf, 0x0a, 0x26, 0xa5, +}; +static const unsigned char kat3568_entropyinpr2[] = { + 0x5c, 0x48, 0x2a, 0x91, 0x42, 0x11, 0xa7, 0x16, 0xda, 0x6f, 0x39, 0x21, + 0xf4, 0xaa, 0x51, 0xba, 0x84, 0x36, 0x02, 0x04, 0x3b, 0x80, 0x89, 0x5a, + 0x7e, 0xbd, 0xdb, 0x76, 0x51, 0x71, 0x53, 0x5f, +}; +static const unsigned char kat3568_addinpr2[] = { + 0x85, 0xa0, 0x09, 0x5a, 0x5d, 0xd2, 0x92, 0x6b, 0x96, 0x4a, 0x67, 0x48, + 0x6e, 0x80, 0x20, 0xc8, 0x1f, 0x71, 0x81, 0x1f, 0x74, 0xab, 0x27, 0x93, + 0x85, 0x57, 0xed, 0x57, 0xef, 0x6f, 0x60, 0x7e, +}; +static const unsigned char kat3568_retbits[] = { + 0xe5, 0x92, 0x7e, 0xb7, 0x93, 0x96, 0x83, 0x77, 0xa4, 0x87, 0xee, 0xe6, + 0x29, 0x7d, 0xd0, 0xd1, 0xd3, 0xf3, 0xb8, 0x82, 0xd8, 0xf5, 0x2b, 0xde, + 0x51, 0x89, 0x50, 0x20, 0x1d, 0x00, 0x3b, 0x1e, 0x39, 0x8e, 0x33, 0x65, + 0xab, 0xd1, 0x12, 0x6b, 0xd0, 0x99, 0x50, 0x0f, 0x6e, 0x1a, 0x6c, 0x1c, + 0x8f, 0xd3, 0x62, 0x33, 0x09, 0x21, 0x13, 0x9d, 0x86, 0xde, 0xa6, 0x9f, + 0x14, 0x72, 0xfc, 0x77, +}; +static const struct drbg_kat_pr_true kat3568_t = { + 12, kat3568_entropyin, kat3568_nonce, kat3568_persstr, + kat3568_entropyinpr1, kat3568_addinpr1, kat3568_entropyinpr2, + kat3568_addinpr2, kat3568_retbits +}; +static const struct drbg_kat kat3568 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3568_t +}; + +static const unsigned char kat3569_entropyin[] = { + 0x23, 0x04, 0x2c, 0x00, 0x03, 0xb8, 0x70, 0x40, 0x9a, 0x56, 0x30, 0x56, + 0xc2, 0xb4, 0x8b, 0x6b, 0x2b, 0xcf, 0x29, 0xe5, 0x2b, 0x27, 0x32, 0xbc, + 0xd3, 0xa4, 0x2a, 0xa1, 0x1a, 0x45, 0xc2, 0x74, +}; +static const unsigned char kat3569_nonce[] = { + 0x92, 0x8c, 0x3b, 0x68, 0x37, 0x44, 0xbe, 0xfc, 0x60, 0x14, 0xd5, 0x40, + 0x65, 0x98, 0xd9, 0x8c, +}; +static const unsigned char kat3569_persstr[] = {0}; +static const unsigned char kat3569_entropyinpr1[] = { + 0x34, 0x01, 0xbb, 0x98, 0xcd, 0x1c, 0x2d, 0x6a, 0x9b, 0xb6, 0xd7, 0x88, + 0x69, 0x6d, 0xe0, 0xd5, 0x85, 0x2a, 0xd8, 0x86, 0x15, 0xc7, 0xb9, 0x71, + 0x6a, 0x87, 0x06, 0xe9, 0xcc, 0xd0, 0x52, 0xa7, +}; +static const unsigned char kat3569_addinpr1[] = { + 0xc4, 0x0f, 0xa3, 0xcb, 0x9f, 0xb3, 0x95, 0x72, 0xac, 0x2e, 0x22, 0xb5, + 0x55, 0x6a, 0x2c, 0x75, 0xbe, 0xeb, 0xd8, 0xec, 0x75, 0x4d, 0x96, 0x17, + 0x1f, 0x14, 0x86, 0xa7, 0x84, 0x5c, 0x67, 0x80, +}; +static const unsigned char kat3569_entropyinpr2[] = { + 0xa1, 0xa1, 0x14, 0xcd, 0x1a, 0x59, 0xb6, 0x22, 0xb9, 0x90, 0xf0, 0x1b, + 0x2d, 0x47, 0x40, 0x63, 0x1e, 0x3a, 0x31, 0xd7, 0x35, 0x61, 0x63, 0xbd, + 0x0f, 0x7f, 0x6f, 0x8e, 0xf8, 0xad, 0xca, 0xbe, +}; +static const unsigned char kat3569_addinpr2[] = { + 0xc1, 0x6f, 0x6a, 0x1e, 0xfb, 0x94, 0xb2, 0xd2, 0x88, 0xc6, 0xab, 0xbd, + 0xb9, 0xd0, 0xc5, 0x65, 0xf5, 0xfe, 0xb8, 0x23, 0x60, 0xd9, 0xad, 0xd5, + 0x6a, 0x45, 0x27, 0x94, 0x21, 0x4d, 0x22, 0x8e, +}; +static const unsigned char kat3569_retbits[] = { + 0x18, 0xda, 0x94, 0xa8, 0x76, 0x53, 0x2b, 0xb7, 0x8b, 0xe4, 0x75, 0xdf, + 0x05, 0x03, 0x00, 0xbb, 0xd5, 0xd8, 0x03, 0x9f, 0x2f, 0x3f, 0xcf, 0xf1, + 0x01, 0x7e, 0x05, 0xe2, 0x89, 0x9c, 0x3a, 0x17, 0xd8, 0xf7, 0xe3, 0xcf, + 0xf0, 0x7b, 0xca, 0xbe, 0xcf, 0x11, 0xf8, 0x06, 0xd2, 0xdb, 0x10, 0xe6, + 0xa9, 0x79, 0xab, 0x86, 0x7b, 0x5a, 0x74, 0x29, 0x20, 0xb2, 0xdd, 0x6f, + 0x4d, 0x18, 0x95, 0x21, +}; +static const struct drbg_kat_pr_true kat3569_t = { + 13, kat3569_entropyin, kat3569_nonce, kat3569_persstr, + kat3569_entropyinpr1, kat3569_addinpr1, kat3569_entropyinpr2, + kat3569_addinpr2, kat3569_retbits +}; +static const struct drbg_kat kat3569 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3569_t +}; + +static const unsigned char kat3570_entropyin[] = { + 0x1b, 0x46, 0xc5, 0xa0, 0xde, 0x71, 0x0a, 0xf4, 0xc1, 0xb3, 0xf8, 0xf7, + 0x7e, 0x0d, 0x50, 0xb5, 0x2e, 0xe4, 0x61, 0x36, 0xe9, 0xc1, 0x9e, 0x50, + 0xf1, 0x24, 0x9f, 0xf1, 0xb0, 0x34, 0x59, 0x00, +}; +static const unsigned char kat3570_nonce[] = { + 0xb2, 0x87, 0xec, 0x51, 0xff, 0x61, 0xe2, 0xb0, 0xf8, 0xd2, 0xbc, 0xd8, + 0x0f, 0x52, 0x88, 0x56, +}; +static const unsigned char kat3570_persstr[] = {0}; +static const unsigned char kat3570_entropyinpr1[] = { + 0xb0, 0x0f, 0x5b, 0x2d, 0xff, 0x8e, 0x56, 0x6d, 0xf9, 0x49, 0x54, 0x8c, + 0x34, 0x12, 0x47, 0x43, 0xb5, 0x12, 0xa6, 0x79, 0xab, 0x10, 0x48, 0x42, + 0x44, 0x73, 0xa5, 0x35, 0x69, 0x41, 0x4e, 0x21, +}; +static const unsigned char kat3570_addinpr1[] = { + 0x1a, 0x83, 0xbe, 0xef, 0xaf, 0x54, 0x3c, 0x6c, 0xd9, 0xe3, 0x18, 0x97, + 0x28, 0x62, 0x5e, 0xa3, 0xd3, 0x5f, 0xc0, 0xb8, 0x7e, 0xdb, 0x63, 0x55, + 0xed, 0xc4, 0xd3, 0x47, 0x47, 0x03, 0x9d, 0x2e, +}; +static const unsigned char kat3570_entropyinpr2[] = { + 0x7f, 0xb6, 0xca, 0x08, 0xe7, 0xd1, 0xa8, 0x29, 0xed, 0x08, 0xe5, 0x53, + 0x7c, 0xb3, 0x27, 0x77, 0xa0, 0xc9, 0xe5, 0x35, 0x30, 0x95, 0xf5, 0x03, + 0xfc, 0xf9, 0x2b, 0x3b, 0x8d, 0x5d, 0x95, 0x0b, +}; +static const unsigned char kat3570_addinpr2[] = { + 0x82, 0x24, 0xf8, 0x4a, 0xdc, 0x9d, 0xff, 0x6c, 0x3b, 0x0f, 0xa3, 0xd2, + 0x71, 0xd1, 0xf0, 0x36, 0x96, 0x94, 0x52, 0x41, 0x14, 0x2e, 0xc0, 0xe8, + 0x45, 0xe7, 0x5c, 0x56, 0xe2, 0x90, 0xe4, 0xcd, +}; +static const unsigned char kat3570_retbits[] = { + 0xc5, 0x72, 0xc7, 0x7d, 0x60, 0x81, 0x90, 0xe7, 0x10, 0x22, 0xde, 0xb8, + 0x81, 0x22, 0x5f, 0x87, 0xb6, 0xb1, 0xf1, 0x29, 0x27, 0x9e, 0x23, 0x17, + 0x8c, 0x73, 0x1c, 0xc0, 0xa1, 0x19, 0x40, 0x8c, 0x6f, 0x83, 0x16, 0xc1, + 0xda, 0x8b, 0x18, 0xa0, 0x0f, 0x55, 0x1e, 0xb6, 0xfd, 0xd3, 0x9e, 0xa1, + 0xef, 0x42, 0x35, 0xc3, 0x01, 0xd1, 0xc1, 0x33, 0x48, 0xad, 0xc1, 0x47, + 0xd0, 0xfc, 0x3a, 0x71, +}; +static const struct drbg_kat_pr_true kat3570_t = { + 14, kat3570_entropyin, kat3570_nonce, kat3570_persstr, + kat3570_entropyinpr1, kat3570_addinpr1, kat3570_entropyinpr2, + kat3570_addinpr2, kat3570_retbits +}; +static const struct drbg_kat kat3570 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 0, 32, 64, &kat3570_t +}; + +static const unsigned char kat3571_entropyin[] = { + 0x38, 0xd5, 0x4f, 0x70, 0x9a, 0x27, 0x4e, 0x03, 0x67, 0xa9, 0x43, 0xb9, + 0xe9, 0x0f, 0x6f, 0xdb, 0x32, 0x41, 0x24, 0x44, 0x94, 0x1b, 0x7e, 0xab, + 0x92, 0x87, 0x05, 0xfa, 0xa1, 0x04, 0x5f, 0x90, +}; +static const unsigned char kat3571_nonce[] = { + 0xd4, 0xd5, 0xaa, 0x7a, 0x06, 0xb6, 0x15, 0x28, 0x75, 0x2b, 0x63, 0x3e, + 0xb7, 0xd7, 0x77, 0xba, +}; +static const unsigned char kat3571_persstr[] = { + 0x84, 0x73, 0x13, 0xd7, 0xe4, 0xe0, 0x2d, 0xd8, 0xa2, 0x33, 0xc3, 0xa9, + 0xfb, 0x77, 0xa3, 0x10, 0x09, 0x12, 0x88, 0x5b, 0xe5, 0x86, 0x6c, 0x8f, + 0x44, 0xf4, 0x7a, 0xd8, 0x48, 0x9b, 0xe3, 0xc8, +}; +static const unsigned char kat3571_entropyinpr1[] = { + 0x59, 0xc0, 0x2e, 0x14, 0x2d, 0xb6, 0x46, 0x21, 0xc1, 0x63, 0xd8, 0x62, + 0x87, 0xbe, 0x98, 0x18, 0xdf, 0xfe, 0xf5, 0xe9, 0xb0, 0x15, 0xba, 0x1a, + 0x86, 0xf6, 0x3f, 0xa8, 0xc1, 0x8a, 0xd1, 0xe1, +}; +static const unsigned char kat3571_addinpr1[] = {0}; +static const unsigned char kat3571_entropyinpr2[] = { + 0xe3, 0x2a, 0x2a, 0xe8, 0x54, 0x7f, 0xdb, 0x8e, 0xae, 0xa2, 0xde, 0xa1, + 0x5e, 0x0e, 0x08, 0xd8, 0x76, 0x16, 0xd1, 0x80, 0xe4, 0x9d, 0x84, 0x91, + 0x02, 0x56, 0xd3, 0x33, 0x99, 0x33, 0x44, 0xe6, +}; +static const unsigned char kat3571_addinpr2[] = {0}; +static const unsigned char kat3571_retbits[] = { + 0x43, 0x69, 0xfe, 0xfd, 0xb9, 0x38, 0x57, 0xce, 0x6a, 0x50, 0xf5, 0x24, + 0x37, 0x09, 0x87, 0x6a, 0x68, 0x87, 0xf7, 0xc8, 0xfa, 0xcc, 0x08, 0x7d, + 0xb9, 0x61, 0x64, 0xd1, 0x30, 0x03, 0x01, 0xcf, 0xeb, 0x0b, 0xcd, 0xbb, + 0x25, 0x38, 0xa4, 0x56, 0x7a, 0xc3, 0xcf, 0xf4, 0xb9, 0xc6, 0xc1, 0x6d, + 0xe6, 0x36, 0xc2, 0xc6, 0x44, 0x9b, 0x8b, 0x55, 0xbb, 0x1d, 0x1c, 0xcd, + 0x87, 0x28, 0xe2, 0xc2, +}; +static const struct drbg_kat_pr_true kat3571_t = { + 0, kat3571_entropyin, kat3571_nonce, kat3571_persstr, + kat3571_entropyinpr1, kat3571_addinpr1, kat3571_entropyinpr2, + kat3571_addinpr2, kat3571_retbits +}; +static const struct drbg_kat kat3571 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3571_t +}; + +static const unsigned char kat3572_entropyin[] = { + 0x98, 0xd6, 0xd8, 0xfe, 0x8d, 0x18, 0x96, 0xe9, 0xff, 0x42, 0x78, 0x7e, + 0x64, 0x50, 0xe2, 0x8b, 0x0d, 0x59, 0xfb, 0x84, 0x19, 0xc9, 0x00, 0xd1, + 0x21, 0x40, 0xb1, 0xaf, 0xe2, 0xb1, 0x22, 0xe9, +}; +static const unsigned char kat3572_nonce[] = { + 0x53, 0x14, 0x5d, 0x02, 0x53, 0x91, 0x8b, 0xd9, 0xb2, 0x5a, 0xce, 0xeb, + 0xc1, 0xb9, 0xd8, 0x38, +}; +static const unsigned char kat3572_persstr[] = { + 0x9e, 0xa9, 0x5b, 0x59, 0x98, 0x84, 0x1e, 0x91, 0x6c, 0xfb, 0x68, 0x5b, + 0x36, 0x2c, 0xea, 0xdd, 0x3c, 0x3b, 0x6c, 0x8d, 0x7e, 0x00, 0x7c, 0x53, + 0x47, 0x12, 0xd8, 0x24, 0xcd, 0x4b, 0x9a, 0x5b, +}; +static const unsigned char kat3572_entropyinpr1[] = { + 0xe6, 0x46, 0x2f, 0x46, 0x18, 0xc7, 0xa6, 0xa3, 0x9b, 0xdd, 0xaf, 0xd0, + 0x51, 0xf8, 0x87, 0x30, 0xbf, 0xf1, 0x25, 0xc7, 0xcb, 0xb9, 0x7b, 0x05, + 0xb7, 0x81, 0x7f, 0x00, 0x22, 0xae, 0xa5, 0xc6, +}; +static const unsigned char kat3572_addinpr1[] = {0}; +static const unsigned char kat3572_entropyinpr2[] = { + 0x24, 0x8d, 0xe2, 0xcc, 0xa3, 0xe2, 0x1a, 0xeb, 0xdb, 0x03, 0x87, 0xce, + 0x40, 0x4e, 0x12, 0xb7, 0xfc, 0xc2, 0xad, 0x51, 0xd4, 0x3e, 0x7b, 0x55, + 0x4e, 0xba, 0x56, 0x57, 0x75, 0xf5, 0x28, 0x26, +}; +static const unsigned char kat3572_addinpr2[] = {0}; +static const unsigned char kat3572_retbits[] = { + 0xcf, 0xc3, 0x87, 0x6c, 0x14, 0x55, 0x67, 0xeb, 0xdd, 0x94, 0xde, 0x43, + 0xd0, 0x72, 0x6e, 0xaa, 0xb0, 0xdd, 0x37, 0x7f, 0x80, 0x3f, 0x6c, 0xf8, + 0x48, 0x0e, 0x86, 0xa7, 0x79, 0xd8, 0xe8, 0xef, 0xaf, 0x14, 0x3d, 0x0d, + 0x3d, 0x0f, 0x23, 0x92, 0x10, 0x9d, 0x56, 0x60, 0x4e, 0x36, 0x7f, 0xdf, + 0xc7, 0x70, 0x65, 0x8b, 0x56, 0xf1, 0xe4, 0x5c, 0x32, 0xc9, 0xa7, 0xa5, + 0xc3, 0x71, 0x19, 0x36, +}; +static const struct drbg_kat_pr_true kat3572_t = { + 1, kat3572_entropyin, kat3572_nonce, kat3572_persstr, + kat3572_entropyinpr1, kat3572_addinpr1, kat3572_entropyinpr2, + kat3572_addinpr2, kat3572_retbits +}; +static const struct drbg_kat kat3572 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3572_t +}; + +static const unsigned char kat3573_entropyin[] = { + 0xc5, 0x14, 0x3e, 0x6d, 0x5b, 0x29, 0x5a, 0x76, 0x89, 0x02, 0x79, 0x39, + 0xed, 0x78, 0x30, 0x89, 0x0d, 0xa2, 0xbd, 0x3c, 0x70, 0x47, 0xa1, 0x7d, + 0xf7, 0x6b, 0xfe, 0x13, 0xca, 0xd8, 0xb2, 0xf3, +}; +static const unsigned char kat3573_nonce[] = { + 0x0e, 0xa3, 0x4f, 0xca, 0x48, 0xfa, 0x0e, 0x9e, 0xf1, 0xe9, 0x90, 0x1c, + 0xa2, 0xec, 0x1e, 0x56, +}; +static const unsigned char kat3573_persstr[] = { + 0x7f, 0x78, 0x43, 0x86, 0x6d, 0xe2, 0x2a, 0xd8, 0x0e, 0xc3, 0x93, 0xeb, + 0x1f, 0x55, 0xcc, 0x02, 0x2a, 0x4e, 0x9b, 0x6b, 0x62, 0x66, 0x6d, 0xd2, + 0x28, 0x99, 0x0c, 0x2a, 0x30, 0xfc, 0xb3, 0x06, +}; +static const unsigned char kat3573_entropyinpr1[] = { + 0xd3, 0xbc, 0x98, 0xae, 0x70, 0x76, 0x80, 0xfa, 0xb6, 0x01, 0x5c, 0x5c, + 0x05, 0xc9, 0x5d, 0x43, 0xbb, 0x86, 0xca, 0xdb, 0xe6, 0x14, 0x9b, 0xff, + 0x72, 0x03, 0x69, 0x8d, 0x0c, 0xe3, 0xa9, 0xe2, +}; +static const unsigned char kat3573_addinpr1[] = {0}; +static const unsigned char kat3573_entropyinpr2[] = { + 0x50, 0x2d, 0xfa, 0x50, 0x33, 0xaf, 0xd3, 0xb1, 0x5c, 0x20, 0xa6, 0xae, + 0xc2, 0x2f, 0xee, 0xfa, 0xd2, 0x20, 0xd0, 0x26, 0xf8, 0x3d, 0x2e, 0x5c, + 0x5f, 0xa3, 0x8f, 0x41, 0x75, 0xfa, 0xb2, 0x95, +}; +static const unsigned char kat3573_addinpr2[] = {0}; +static const unsigned char kat3573_retbits[] = { + 0x00, 0x72, 0x21, 0xb2, 0x5f, 0x15, 0x67, 0xbb, 0x34, 0xee, 0xa0, 0x6e, + 0x9a, 0x72, 0xb9, 0x1f, 0xe3, 0x1b, 0xea, 0x07, 0xff, 0x3c, 0xc8, 0x20, + 0x3d, 0x57, 0xa0, 0x6b, 0x6d, 0x9a, 0x30, 0x67, 0x55, 0x2f, 0x62, 0x9e, + 0x03, 0x68, 0x27, 0xe3, 0x64, 0x1a, 0x85, 0x77, 0xa3, 0xe7, 0xe5, 0x0b, + 0x0d, 0xf5, 0x49, 0xc6, 0x42, 0x4b, 0xf6, 0xdb, 0xc6, 0x36, 0x3b, 0xa5, + 0x44, 0x6e, 0x2a, 0xfa, +}; +static const struct drbg_kat_pr_true kat3573_t = { + 2, kat3573_entropyin, kat3573_nonce, kat3573_persstr, + kat3573_entropyinpr1, kat3573_addinpr1, kat3573_entropyinpr2, + kat3573_addinpr2, kat3573_retbits +}; +static const struct drbg_kat kat3573 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3573_t +}; + +static const unsigned char kat3574_entropyin[] = { + 0x26, 0x4e, 0x18, 0xca, 0xcb, 0xf0, 0xcc, 0xd9, 0xdb, 0x90, 0xcc, 0x71, + 0x82, 0x8f, 0x17, 0xaa, 0x8d, 0x0c, 0x92, 0xb0, 0xe7, 0x06, 0xbd, 0x83, + 0x1f, 0x43, 0x8b, 0x8c, 0xe4, 0x46, 0x9d, 0xc9, +}; +static const unsigned char kat3574_nonce[] = { + 0x42, 0x32, 0x71, 0x81, 0x5a, 0x47, 0x48, 0x6a, 0x4b, 0xa7, 0xe2, 0x5a, + 0xed, 0x68, 0x37, 0xca, +}; +static const unsigned char kat3574_persstr[] = { + 0x6e, 0x24, 0x9e, 0xc4, 0x56, 0x31, 0x6b, 0x39, 0x39, 0xb0, 0xde, 0x9d, + 0x84, 0xe0, 0x24, 0x22, 0xd1, 0x1d, 0xa5, 0x53, 0x8a, 0xb0, 0x76, 0x1e, + 0xa7, 0xe6, 0xb1, 0xb9, 0x9b, 0x9e, 0xa8, 0x0e, +}; +static const unsigned char kat3574_entropyinpr1[] = { + 0x62, 0x6f, 0x2b, 0x13, 0x78, 0x79, 0x0c, 0xdd, 0x4d, 0x27, 0xee, 0xb1, + 0xac, 0x53, 0x5a, 0x8b, 0x46, 0x7f, 0xe1, 0xbc, 0x4e, 0x86, 0xb1, 0xee, + 0x11, 0xe4, 0xd4, 0x31, 0x96, 0x2f, 0xd5, 0x84, +}; +static const unsigned char kat3574_addinpr1[] = {0}; +static const unsigned char kat3574_entropyinpr2[] = { + 0x68, 0x79, 0x6b, 0xfa, 0x21, 0x36, 0x29, 0x7c, 0x0e, 0x92, 0x85, 0x89, + 0xd4, 0x8f, 0x74, 0xc6, 0xb0, 0x9f, 0x45, 0xa8, 0xb2, 0x14, 0x55, 0x97, + 0x27, 0x6c, 0x91, 0x64, 0x27, 0x2f, 0xc5, 0xe3, +}; +static const unsigned char kat3574_addinpr2[] = {0}; +static const unsigned char kat3574_retbits[] = { + 0x2b, 0xbb, 0x8c, 0x6f, 0x80, 0x7c, 0x1d, 0xd2, 0xe9, 0xec, 0x39, 0xa3, + 0xec, 0xf7, 0x83, 0x75, 0x4d, 0x12, 0x57, 0x01, 0x02, 0x92, 0x0f, 0x9b, + 0x48, 0xd4, 0xed, 0x04, 0xfa, 0xe3, 0x37, 0x5d, 0x05, 0xb7, 0xc1, 0x86, + 0xa5, 0x8b, 0xce, 0xfe, 0x8d, 0x5d, 0x71, 0x4f, 0xf4, 0x39, 0x10, 0xa2, + 0x33, 0x45, 0x60, 0x04, 0x9f, 0x95, 0xcb, 0x2a, 0xf4, 0xbb, 0xad, 0x0a, + 0x9b, 0x81, 0x68, 0xdd, +}; +static const struct drbg_kat_pr_true kat3574_t = { + 3, kat3574_entropyin, kat3574_nonce, kat3574_persstr, + kat3574_entropyinpr1, kat3574_addinpr1, kat3574_entropyinpr2, + kat3574_addinpr2, kat3574_retbits +}; +static const struct drbg_kat kat3574 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3574_t +}; + +static const unsigned char kat3575_entropyin[] = { + 0xda, 0x4a, 0x59, 0x97, 0xde, 0x6f, 0x87, 0x9d, 0x90, 0x33, 0x8a, 0x05, + 0xf4, 0x8b, 0x1d, 0xa8, 0x2c, 0x42, 0x41, 0x0d, 0x0f, 0x7f, 0x41, 0xfc, + 0xdd, 0x77, 0xc3, 0xa7, 0xd9, 0x97, 0xc9, 0x2d, +}; +static const unsigned char kat3575_nonce[] = { + 0xa3, 0xf1, 0xc7, 0x0f, 0x78, 0xab, 0xff, 0x24, 0xfc, 0x2c, 0x60, 0x10, + 0x02, 0x90, 0x0f, 0x19, +}; +static const unsigned char kat3575_persstr[] = { + 0x6d, 0x92, 0x57, 0xd2, 0xc1, 0xa2, 0x0a, 0x88, 0x7c, 0x75, 0x8f, 0x12, + 0xfa, 0xf2, 0xa3, 0xd1, 0xb8, 0x19, 0xfb, 0xf6, 0xf5, 0xe0, 0x6d, 0x6b, + 0x06, 0x28, 0xe5, 0x62, 0x34, 0x53, 0xdb, 0x23, +}; +static const unsigned char kat3575_entropyinpr1[] = { + 0xa8, 0xae, 0xba, 0x60, 0x88, 0x96, 0x94, 0xae, 0xa3, 0x0d, 0xa1, 0xde, + 0x9f, 0xd0, 0x81, 0xf4, 0x3d, 0x39, 0xe2, 0x71, 0x54, 0x79, 0x5b, 0xae, + 0xc9, 0x2e, 0x4a, 0xcf, 0xb9, 0x15, 0xbc, 0x6b, +}; +static const unsigned char kat3575_addinpr1[] = {0}; +static const unsigned char kat3575_entropyinpr2[] = { + 0x61, 0x06, 0xcd, 0xb0, 0xf4, 0x5d, 0xfb, 0x81, 0x76, 0xfc, 0x99, 0xa1, + 0x30, 0xfa, 0x02, 0x54, 0xa0, 0xe5, 0x4b, 0x19, 0x64, 0x88, 0x0b, 0xab, + 0xed, 0x0a, 0xab, 0x48, 0xb1, 0x5f, 0xf7, 0x7d, +}; +static const unsigned char kat3575_addinpr2[] = {0}; +static const unsigned char kat3575_retbits[] = { + 0xb1, 0x3a, 0x18, 0x6e, 0xdc, 0x40, 0x57, 0xc4, 0x28, 0xea, 0xfc, 0xe1, + 0x23, 0xde, 0xf1, 0x5c, 0x65, 0xa1, 0xd8, 0x1d, 0x91, 0xc9, 0xc0, 0xb1, + 0xa7, 0xd0, 0x61, 0x27, 0x5e, 0x52, 0x71, 0xc0, 0xcf, 0xfa, 0xf0, 0x32, + 0x79, 0xca, 0x2b, 0x65, 0x8e, 0xdd, 0x12, 0xca, 0xed, 0xc4, 0xc2, 0xa3, + 0x97, 0x3e, 0x22, 0x6a, 0x12, 0x3d, 0x01, 0x75, 0x0f, 0x2f, 0x60, 0x6c, + 0x50, 0x2f, 0x61, 0x68, +}; +static const struct drbg_kat_pr_true kat3575_t = { + 4, kat3575_entropyin, kat3575_nonce, kat3575_persstr, + kat3575_entropyinpr1, kat3575_addinpr1, kat3575_entropyinpr2, + kat3575_addinpr2, kat3575_retbits +}; +static const struct drbg_kat kat3575 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3575_t +}; + +static const unsigned char kat3576_entropyin[] = { + 0x9e, 0x2b, 0x44, 0x24, 0xdb, 0xa3, 0x57, 0x88, 0x52, 0xec, 0x0a, 0x0a, + 0x25, 0xcb, 0x72, 0xae, 0xf7, 0xad, 0x53, 0x1b, 0x7d, 0x03, 0xbf, 0x70, + 0x52, 0x72, 0x14, 0xaa, 0x9b, 0x29, 0x8a, 0x7b, +}; +static const unsigned char kat3576_nonce[] = { + 0x53, 0xa3, 0x64, 0x90, 0x2c, 0x93, 0xd0, 0x87, 0x7c, 0x9d, 0x26, 0xd0, + 0xbb, 0xb1, 0xa4, 0xc8, +}; +static const unsigned char kat3576_persstr[] = { + 0x94, 0xac, 0xf5, 0x26, 0x78, 0xbf, 0xaa, 0x21, 0xa1, 0xb6, 0x3a, 0x17, + 0x6d, 0x79, 0x91, 0xda, 0x28, 0x66, 0x77, 0x58, 0x61, 0x33, 0x12, 0x6c, + 0x63, 0x8f, 0x9e, 0x13, 0xea, 0xa4, 0x10, 0xd4, +}; +static const unsigned char kat3576_entropyinpr1[] = { + 0xc9, 0x51, 0x1c, 0x6b, 0x14, 0x50, 0xe2, 0x36, 0x28, 0x0a, 0x9a, 0x19, + 0x27, 0x15, 0x8f, 0xe3, 0xba, 0xfe, 0x7f, 0xe8, 0xa6, 0x13, 0xcf, 0xb3, + 0xc1, 0x4a, 0x61, 0x3e, 0x62, 0x26, 0x41, 0xe5, +}; +static const unsigned char kat3576_addinpr1[] = {0}; +static const unsigned char kat3576_entropyinpr2[] = { + 0x65, 0xf2, 0xc5, 0xb1, 0xf3, 0xc4, 0x6f, 0x9c, 0xae, 0x6e, 0x39, 0x6b, + 0x86, 0xda, 0xb2, 0x43, 0x9e, 0x7a, 0xce, 0x72, 0x3b, 0xd2, 0x7c, 0x6f, + 0xbc, 0x08, 0xd7, 0x06, 0x0d, 0x74, 0x00, 0x2d, +}; +static const unsigned char kat3576_addinpr2[] = {0}; +static const unsigned char kat3576_retbits[] = { + 0x1a, 0x96, 0xe9, 0xbc, 0x65, 0x18, 0xb9, 0x1b, 0x00, 0x1e, 0x0e, 0x46, + 0x83, 0xbf, 0x1b, 0x49, 0x5e, 0x46, 0x92, 0x38, 0x8e, 0x16, 0xd9, 0xb6, + 0x9f, 0x41, 0xd1, 0xd4, 0xbb, 0xa8, 0x8a, 0x49, 0x7a, 0xc5, 0x60, 0x13, + 0xc2, 0x8f, 0x20, 0x7f, 0x5c, 0xfc, 0x52, 0x07, 0x7d, 0x12, 0x88, 0x60, + 0x08, 0x58, 0x0e, 0xc4, 0x62, 0x04, 0xf5, 0xf3, 0x65, 0xaa, 0x8c, 0x98, + 0x86, 0xa6, 0x01, 0xc6, +}; +static const struct drbg_kat_pr_true kat3576_t = { + 5, kat3576_entropyin, kat3576_nonce, kat3576_persstr, + kat3576_entropyinpr1, kat3576_addinpr1, kat3576_entropyinpr2, + kat3576_addinpr2, kat3576_retbits +}; +static const struct drbg_kat kat3576 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3576_t +}; + +static const unsigned char kat3577_entropyin[] = { + 0x5a, 0x1a, 0xba, 0x12, 0x1c, 0xd8, 0xce, 0x9f, 0xd9, 0xf7, 0xb9, 0xe5, + 0xb8, 0xc4, 0x41, 0x98, 0x45, 0x0d, 0xf3, 0x44, 0x0a, 0x36, 0xe9, 0x0f, + 0x6d, 0x76, 0x5e, 0xf3, 0xc2, 0x6b, 0x6c, 0x1d, +}; +static const unsigned char kat3577_nonce[] = { + 0x98, 0x7b, 0xd9, 0xdc, 0x7d, 0xa8, 0x30, 0x5c, 0x14, 0x0e, 0xd7, 0x5a, + 0x40, 0xa1, 0xb4, 0xf2, +}; +static const unsigned char kat3577_persstr[] = { + 0x83, 0x55, 0x0d, 0xff, 0x99, 0x10, 0x57, 0xdf, 0x78, 0x59, 0xc2, 0xd0, + 0x0c, 0x7f, 0xb1, 0x30, 0xa9, 0x1e, 0xae, 0xc7, 0xdf, 0x86, 0x8c, 0x39, + 0xda, 0x30, 0x20, 0x58, 0xb2, 0x2c, 0x6e, 0x67, +}; +static const unsigned char kat3577_entropyinpr1[] = { + 0x58, 0x9d, 0x3b, 0x8d, 0x4d, 0xe0, 0x68, 0x32, 0x3e, 0xf2, 0x89, 0x44, + 0x7d, 0x1e, 0x7d, 0xf9, 0x69, 0xa3, 0x6d, 0xdc, 0x08, 0x36, 0xef, 0x32, + 0xf0, 0x15, 0x41, 0x94, 0xff, 0xaa, 0xfd, 0xd5, +}; +static const unsigned char kat3577_addinpr1[] = {0}; +static const unsigned char kat3577_entropyinpr2[] = { + 0x0e, 0x5d, 0xbd, 0xdf, 0x2f, 0x57, 0x63, 0x68, 0x22, 0x3d, 0x12, 0x11, + 0xe9, 0xe1, 0xc2, 0x35, 0x13, 0xf1, 0x85, 0x6f, 0xf5, 0xe9, 0x8e, 0x39, + 0xb1, 0xd3, 0x3e, 0x74, 0xe1, 0x87, 0xc9, 0xe2, +}; +static const unsigned char kat3577_addinpr2[] = {0}; +static const unsigned char kat3577_retbits[] = { + 0x8f, 0x48, 0x0f, 0xf1, 0x59, 0x97, 0xaa, 0xec, 0xe2, 0x3c, 0xd8, 0xd2, + 0x44, 0x00, 0xb1, 0x96, 0x81, 0x99, 0x0d, 0x76, 0xe6, 0xdf, 0x09, 0x30, + 0x5a, 0x84, 0x24, 0xe6, 0x60, 0x86, 0x8b, 0x36, 0x5c, 0x50, 0xdf, 0xce, + 0x3c, 0x56, 0x42, 0x18, 0x1c, 0x24, 0x3b, 0x5f, 0x45, 0x95, 0x8f, 0x69, + 0xf4, 0x10, 0xa1, 0xe0, 0x26, 0x54, 0xdf, 0xe4, 0xa7, 0x32, 0xbf, 0x67, + 0x35, 0x69, 0x28, 0xf4, +}; +static const struct drbg_kat_pr_true kat3577_t = { + 6, kat3577_entropyin, kat3577_nonce, kat3577_persstr, + kat3577_entropyinpr1, kat3577_addinpr1, kat3577_entropyinpr2, + kat3577_addinpr2, kat3577_retbits +}; +static const struct drbg_kat kat3577 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3577_t +}; + +static const unsigned char kat3578_entropyin[] = { + 0xf9, 0xef, 0x76, 0xd7, 0xfa, 0xf3, 0x33, 0x81, 0x6d, 0x71, 0xa8, 0xa1, + 0x6f, 0xfb, 0x5b, 0x0c, 0xed, 0xf1, 0x42, 0x66, 0x8b, 0xb1, 0x9c, 0xa8, + 0xb2, 0x25, 0xf3, 0x93, 0xaa, 0xbe, 0xdd, 0x0b, +}; +static const unsigned char kat3578_nonce[] = { + 0xcc, 0xf2, 0xcc, 0x15, 0xbd, 0x73, 0x54, 0x66, 0x8a, 0x30, 0x44, 0xc5, + 0x4d, 0x1a, 0x4f, 0x47, +}; +static const unsigned char kat3578_persstr[] = { + 0x01, 0x45, 0x35, 0x93, 0x07, 0x95, 0xd5, 0x36, 0xf2, 0x67, 0x80, 0xca, + 0x1c, 0x88, 0x79, 0x93, 0xaa, 0xf5, 0x33, 0x94, 0x6c, 0x5c, 0xf2, 0x08, + 0xcb, 0xb4, 0x71, 0x6f, 0xec, 0x6c, 0xb2, 0xdd, +}; +static const unsigned char kat3578_entropyinpr1[] = { + 0x48, 0xbb, 0xce, 0x4f, 0xe2, 0xd5, 0xd6, 0x7e, 0x18, 0xae, 0x28, 0xcf, + 0x07, 0x31, 0xfb, 0x95, 0xf7, 0x98, 0xa5, 0xcf, 0x6a, 0x89, 0xa5, 0xb1, + 0x46, 0x62, 0xdf, 0x87, 0x7c, 0xd6, 0x2d, 0xb1, +}; +static const unsigned char kat3578_addinpr1[] = {0}; +static const unsigned char kat3578_entropyinpr2[] = { + 0xb7, 0xf0, 0xe5, 0x93, 0xea, 0xa4, 0x46, 0xb9, 0xd2, 0xb2, 0x14, 0x31, + 0x87, 0x1c, 0xeb, 0x90, 0x32, 0x40, 0x70, 0xd6, 0xd2, 0x86, 0x8a, 0xe7, + 0x28, 0x5f, 0xfa, 0x34, 0x8e, 0xe0, 0x3e, 0x9d, +}; +static const unsigned char kat3578_addinpr2[] = {0}; +static const unsigned char kat3578_retbits[] = { + 0x0a, 0x6b, 0x46, 0xa6, 0xf6, 0xc2, 0x20, 0x73, 0x7b, 0xc2, 0xb2, 0x2c, + 0xbc, 0x6c, 0xa9, 0xf6, 0x63, 0xf8, 0x3e, 0x33, 0xc8, 0x94, 0x6b, 0xef, + 0x9e, 0x68, 0x3c, 0xfe, 0x5b, 0x46, 0x96, 0xca, 0x00, 0x83, 0xe8, 0xf1, + 0xee, 0x1e, 0x82, 0x8b, 0xcf, 0x0b, 0xef, 0xf8, 0xc5, 0xa4, 0x93, 0x3c, + 0xe5, 0x71, 0x63, 0x4a, 0xd8, 0xfe, 0x38, 0xb2, 0xf6, 0x64, 0x62, 0x57, + 0x2f, 0x55, 0x0d, 0x15, +}; +static const struct drbg_kat_pr_true kat3578_t = { + 7, kat3578_entropyin, kat3578_nonce, kat3578_persstr, + kat3578_entropyinpr1, kat3578_addinpr1, kat3578_entropyinpr2, + kat3578_addinpr2, kat3578_retbits +}; +static const struct drbg_kat kat3578 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3578_t +}; + +static const unsigned char kat3579_entropyin[] = { + 0xa4, 0x97, 0x21, 0x7c, 0x52, 0x97, 0x27, 0xc8, 0xb6, 0xa0, 0xab, 0x2f, + 0xae, 0xa3, 0x98, 0x2b, 0x97, 0x1f, 0x70, 0xe2, 0xbc, 0x70, 0xf9, 0x35, + 0xcc, 0xf2, 0x6f, 0x77, 0x53, 0xd0, 0xbc, 0x65, +}; +static const unsigned char kat3579_nonce[] = { + 0xe8, 0x96, 0xc2, 0xde, 0xdd, 0xcb, 0xe6, 0x2d, 0xd8, 0x04, 0x62, 0x34, + 0x40, 0x9f, 0xef, 0x8f, +}; +static const unsigned char kat3579_persstr[] = { + 0xd6, 0x9c, 0x0f, 0x42, 0xec, 0xa5, 0x5b, 0xd7, 0x44, 0x9a, 0x30, 0x6c, + 0xd2, 0x66, 0xbf, 0xcf, 0x65, 0xfe, 0x07, 0x24, 0x24, 0x48, 0xf6, 0xc3, + 0xaa, 0xc2, 0x6a, 0xa4, 0xc1, 0xd5, 0x28, 0x06, +}; +static const unsigned char kat3579_entropyinpr1[] = { + 0xac, 0x2c, 0x4e, 0x52, 0x76, 0x06, 0x57, 0x34, 0x4f, 0xdf, 0x6e, 0x27, + 0xd8, 0x59, 0x06, 0x5f, 0xd5, 0xa8, 0xea, 0x95, 0xa5, 0x98, 0x46, 0x88, + 0xe4, 0x0d, 0x68, 0x03, 0x50, 0x9e, 0xf6, 0x6f, +}; +static const unsigned char kat3579_addinpr1[] = {0}; +static const unsigned char kat3579_entropyinpr2[] = { + 0x5a, 0x61, 0x84, 0xd5, 0x2e, 0xee, 0x0c, 0x05, 0x90, 0x2f, 0x6a, 0xd1, + 0x9d, 0x39, 0x86, 0xc4, 0x9a, 0xd5, 0x1e, 0xb4, 0x26, 0x53, 0x9f, 0xb4, + 0x08, 0x22, 0x05, 0xa8, 0xe1, 0xaf, 0xe8, 0xdd, +}; +static const unsigned char kat3579_addinpr2[] = {0}; +static const unsigned char kat3579_retbits[] = { + 0xa6, 0x49, 0x84, 0xf1, 0xb0, 0x3a, 0x95, 0x95, 0xaa, 0x85, 0xaa, 0x38, + 0x4c, 0xe3, 0x3f, 0x2d, 0xa9, 0xd7, 0xb7, 0xac, 0xb3, 0x4d, 0x6f, 0x18, + 0x5f, 0x7f, 0x6b, 0x62, 0xf6, 0x38, 0x2f, 0x45, 0xb1, 0x53, 0xe8, 0x1d, + 0x83, 0xf3, 0x63, 0x59, 0xfe, 0x06, 0x84, 0x2f, 0xd5, 0x82, 0x74, 0x98, + 0x62, 0x1e, 0x7f, 0xc1, 0x39, 0xbb, 0x84, 0x93, 0x05, 0xce, 0x87, 0x05, + 0xac, 0x72, 0xb1, 0x35, +}; +static const struct drbg_kat_pr_true kat3579_t = { + 8, kat3579_entropyin, kat3579_nonce, kat3579_persstr, + kat3579_entropyinpr1, kat3579_addinpr1, kat3579_entropyinpr2, + kat3579_addinpr2, kat3579_retbits +}; +static const struct drbg_kat kat3579 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3579_t +}; + +static const unsigned char kat3580_entropyin[] = { + 0x37, 0xd6, 0x15, 0x6b, 0xee, 0xa5, 0x14, 0x9a, 0x19, 0xc4, 0x36, 0x49, + 0xb7, 0x6d, 0xd7, 0x66, 0x47, 0xc7, 0x86, 0x16, 0x07, 0xbc, 0xa1, 0x44, + 0x09, 0xeb, 0x36, 0x39, 0xca, 0xbd, 0xbc, 0xb0, +}; +static const unsigned char kat3580_nonce[] = { + 0xa9, 0x1e, 0x1d, 0x9b, 0x1b, 0x38, 0x7f, 0x50, 0x6b, 0xd2, 0x8c, 0x1e, + 0xf1, 0x08, 0x86, 0x07, +}; +static const unsigned char kat3580_persstr[] = { + 0x08, 0x64, 0x9e, 0x3e, 0x1c, 0x87, 0x7a, 0x4a, 0xf5, 0xe4, 0xbe, 0x85, + 0x42, 0x04, 0xac, 0xea, 0x64, 0x56, 0xcd, 0x59, 0xd0, 0x10, 0x50, 0xae, + 0xb7, 0x8a, 0xca, 0xdd, 0x3f, 0xb2, 0xfe, 0x67, +}; +static const unsigned char kat3580_entropyinpr1[] = { + 0x44, 0xa9, 0x30, 0x49, 0xdd, 0xa9, 0xb1, 0x91, 0x1d, 0x99, 0xd4, 0xd6, + 0xc8, 0xd0, 0xe8, 0x44, 0xd0, 0xec, 0x25, 0x59, 0xfb, 0xb7, 0xcc, 0xea, + 0xe4, 0x2b, 0x80, 0xb0, 0x23, 0xa5, 0xd7, 0xdb, +}; +static const unsigned char kat3580_addinpr1[] = {0}; +static const unsigned char kat3580_entropyinpr2[] = { + 0x89, 0xc1, 0xcc, 0x6a, 0x40, 0xb0, 0xfe, 0xc1, 0xdd, 0x54, 0x82, 0xdd, + 0x3a, 0x6f, 0x4f, 0x65, 0x36, 0x83, 0xa6, 0xb2, 0xb3, 0x1c, 0xa0, 0x2b, + 0x92, 0x53, 0x3a, 0x46, 0xbd, 0xaa, 0x6b, 0xbe, +}; +static const unsigned char kat3580_addinpr2[] = {0}; +static const unsigned char kat3580_retbits[] = { + 0x65, 0xe5, 0x2a, 0xe2, 0x40, 0x0b, 0x44, 0x62, 0x2e, 0x6a, 0x8e, 0x27, + 0x9b, 0x41, 0x92, 0x01, 0x29, 0xb4, 0x80, 0x2c, 0x3f, 0x1f, 0x9e, 0xc8, + 0x5e, 0xc0, 0x52, 0x57, 0xd5, 0x73, 0x64, 0xac, 0x05, 0x68, 0x30, 0x5d, + 0xce, 0xf3, 0xa1, 0xa5, 0x79, 0xc9, 0x2f, 0xf5, 0xc0, 0x86, 0x8d, 0x5b, + 0x02, 0x93, 0x36, 0x3d, 0x50, 0x9b, 0x53, 0xac, 0xce, 0x0b, 0x2d, 0xa1, + 0xc6, 0x80, 0x43, 0x86, +}; +static const struct drbg_kat_pr_true kat3580_t = { + 9, kat3580_entropyin, kat3580_nonce, kat3580_persstr, + kat3580_entropyinpr1, kat3580_addinpr1, kat3580_entropyinpr2, + kat3580_addinpr2, kat3580_retbits +}; +static const struct drbg_kat kat3580 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3580_t +}; + +static const unsigned char kat3581_entropyin[] = { + 0x5d, 0x14, 0xf4, 0x8f, 0xa6, 0x3d, 0xea, 0x3c, 0x30, 0x15, 0x88, 0xb5, + 0xd1, 0x47, 0x3d, 0x7b, 0x33, 0x26, 0x05, 0x98, 0xc4, 0x02, 0xd1, 0x82, + 0x06, 0xe3, 0xf2, 0x31, 0x5d, 0x14, 0x7a, 0xd8, +}; +static const unsigned char kat3581_nonce[] = { + 0xbf, 0x6d, 0x67, 0xe2, 0x05, 0x3d, 0x83, 0x42, 0x93, 0x6c, 0xf8, 0x0e, + 0x12, 0x87, 0x1f, 0x16, +}; +static const unsigned char kat3581_persstr[] = { + 0xd3, 0xd0, 0xa6, 0x5b, 0x7d, 0xb9, 0x9a, 0x0c, 0xf6, 0x68, 0xb7, 0x08, + 0x50, 0x5f, 0x48, 0x31, 0x47, 0x46, 0x03, 0xbd, 0xa2, 0x52, 0xd6, 0x4f, + 0x62, 0xea, 0x25, 0xae, 0x64, 0x36, 0x3e, 0xef, +}; +static const unsigned char kat3581_entropyinpr1[] = { + 0x95, 0xd9, 0x60, 0xf8, 0xf9, 0x6c, 0x95, 0x85, 0xcf, 0xc5, 0x88, 0x6d, + 0xd7, 0x87, 0x81, 0xea, 0xe2, 0xce, 0x52, 0xad, 0x71, 0xb9, 0xc6, 0x7d, + 0x2e, 0xc1, 0xbf, 0xf8, 0x46, 0x56, 0x23, 0x8d, +}; +static const unsigned char kat3581_addinpr1[] = {0}; +static const unsigned char kat3581_entropyinpr2[] = { + 0x8c, 0x3d, 0x0b, 0xfc, 0x13, 0x8d, 0x0a, 0x6d, 0x8a, 0x11, 0xae, 0x35, + 0xc6, 0xfa, 0x48, 0x18, 0xd9, 0xc4, 0xac, 0xe9, 0x39, 0x07, 0xbb, 0x94, + 0xa9, 0x66, 0x7b, 0xd5, 0x79, 0xe1, 0xc9, 0x88, +}; +static const unsigned char kat3581_addinpr2[] = {0}; +static const unsigned char kat3581_retbits[] = { + 0xa6, 0xa1, 0x88, 0x2f, 0xc8, 0xf1, 0x4e, 0xc3, 0x2c, 0x12, 0x7a, 0x22, + 0x2f, 0xa1, 0x3b, 0x47, 0x0c, 0xe6, 0x92, 0xc4, 0x9c, 0x44, 0x36, 0x5a, + 0x2c, 0x52, 0x5e, 0x82, 0x87, 0x64, 0x6e, 0xbe, 0xe2, 0x40, 0x37, 0xb4, + 0x67, 0x2f, 0xb8, 0xa1, 0x68, 0x2e, 0xf1, 0x4c, 0x71, 0xa8, 0x0d, 0x17, + 0x8a, 0x12, 0x37, 0x81, 0x9a, 0x5b, 0xdd, 0x58, 0x95, 0xc5, 0xfd, 0xc9, + 0xd4, 0x0c, 0x4d, 0xfa, +}; +static const struct drbg_kat_pr_true kat3581_t = { + 10, kat3581_entropyin, kat3581_nonce, kat3581_persstr, + kat3581_entropyinpr1, kat3581_addinpr1, kat3581_entropyinpr2, + kat3581_addinpr2, kat3581_retbits +}; +static const struct drbg_kat kat3581 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3581_t +}; + +static const unsigned char kat3582_entropyin[] = { + 0xe8, 0xf9, 0x0a, 0xa2, 0x60, 0x39, 0x6c, 0x27, 0xcd, 0x2c, 0xea, 0x50, + 0x9d, 0x14, 0x79, 0x4b, 0x32, 0x64, 0x07, 0x7f, 0x9f, 0xe2, 0xc9, 0xbb, + 0x10, 0xb0, 0x1e, 0xf6, 0xd4, 0x67, 0xb8, 0xe4, +}; +static const unsigned char kat3582_nonce[] = { + 0x77, 0x96, 0x31, 0x48, 0xe3, 0xc2, 0x97, 0x35, 0xe4, 0x1e, 0x1b, 0x67, + 0xcb, 0x7d, 0xd1, 0x96, +}; +static const unsigned char kat3582_persstr[] = { + 0xa0, 0x4a, 0x1f, 0x62, 0x1f, 0x9d, 0xcc, 0x30, 0xf0, 0xf2, 0xa4, 0xb7, + 0x46, 0x3a, 0xd3, 0xbd, 0xdd, 0xf4, 0x40, 0xb1, 0x91, 0x20, 0x17, 0xb0, + 0xf7, 0x26, 0x3a, 0x5b, 0x19, 0x82, 0xc6, 0xe5, +}; +static const unsigned char kat3582_entropyinpr1[] = { + 0xa5, 0xb9, 0xcd, 0xb7, 0x7c, 0x43, 0x6a, 0x90, 0xc2, 0xcc, 0xf3, 0x8b, + 0x8a, 0x12, 0x24, 0x85, 0xd0, 0x80, 0x4c, 0xdd, 0x1c, 0x27, 0xf2, 0x32, + 0x6f, 0x1e, 0xd7, 0xfd, 0xa1, 0xe5, 0x54, 0x6a, +}; +static const unsigned char kat3582_addinpr1[] = {0}; +static const unsigned char kat3582_entropyinpr2[] = { + 0xbc, 0x9d, 0x0b, 0xb2, 0x92, 0x07, 0xf4, 0x3f, 0xe3, 0xb1, 0xf9, 0x81, + 0x1c, 0x63, 0x76, 0x0f, 0xea, 0xfb, 0x8d, 0x96, 0xe6, 0x89, 0x0e, 0x1f, + 0x6d, 0xde, 0x33, 0xb0, 0x46, 0xd3, 0x26, 0x58, +}; +static const unsigned char kat3582_addinpr2[] = {0}; +static const unsigned char kat3582_retbits[] = { + 0xf2, 0x02, 0x0d, 0x61, 0xd9, 0x87, 0x51, 0x80, 0xf9, 0xa6, 0xd4, 0xc4, + 0x2e, 0x70, 0xb3, 0xa3, 0xee, 0x88, 0x82, 0x2a, 0xc9, 0x07, 0x1d, 0xae, + 0x1b, 0x0b, 0xdd, 0xbc, 0x7d, 0x9f, 0xba, 0x05, 0x49, 0x46, 0x24, 0xd4, + 0x2c, 0xea, 0x5a, 0x16, 0xf0, 0x7a, 0x1e, 0x19, 0x17, 0x74, 0xf4, 0xaa, + 0x0f, 0x77, 0x5f, 0x6e, 0x29, 0x95, 0x8e, 0x98, 0xbd, 0xd1, 0x82, 0x54, + 0x93, 0x18, 0x6b, 0xdf, +}; +static const struct drbg_kat_pr_true kat3582_t = { + 11, kat3582_entropyin, kat3582_nonce, kat3582_persstr, + kat3582_entropyinpr1, kat3582_addinpr1, kat3582_entropyinpr2, + kat3582_addinpr2, kat3582_retbits +}; +static const struct drbg_kat kat3582 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3582_t +}; + +static const unsigned char kat3583_entropyin[] = { + 0x79, 0xe4, 0x17, 0x12, 0x6f, 0x55, 0xca, 0x50, 0x68, 0xd3, 0xd6, 0xc6, + 0x6e, 0xfe, 0xa2, 0x16, 0xcf, 0x4a, 0x17, 0x73, 0x9f, 0xe7, 0xb4, 0x79, + 0xd4, 0xf6, 0xd4, 0x4b, 0x5c, 0x65, 0x52, 0x15, +}; +static const unsigned char kat3583_nonce[] = { + 0xaa, 0x04, 0xe7, 0xb2, 0xee, 0x3e, 0xa9, 0xdf, 0xcb, 0xc7, 0xeb, 0x6c, + 0x21, 0xcf, 0xbf, 0xea, +}; +static const unsigned char kat3583_persstr[] = { + 0x69, 0x41, 0x75, 0xf2, 0x67, 0x21, 0x59, 0x49, 0xa4, 0x85, 0x58, 0xf1, + 0xde, 0xfd, 0x91, 0x5a, 0xd0, 0x54, 0xe8, 0xa6, 0x0d, 0x99, 0x3c, 0x8a, + 0x85, 0xb3, 0x75, 0xb8, 0x91, 0x62, 0xb6, 0xd3, +}; +static const unsigned char kat3583_entropyinpr1[] = { + 0xa7, 0x72, 0x21, 0x4d, 0x8c, 0xd3, 0x7c, 0xab, 0xe7, 0xc6, 0x85, 0xe8, + 0x79, 0x5c, 0x61, 0x9c, 0x5d, 0xfe, 0x05, 0xfb, 0x23, 0x59, 0x19, 0x5c, + 0x93, 0x2c, 0x43, 0x31, 0xc7, 0xc7, 0x00, 0xc7, +}; +static const unsigned char kat3583_addinpr1[] = {0}; +static const unsigned char kat3583_entropyinpr2[] = { + 0x18, 0x1e, 0x64, 0xf8, 0x56, 0x51, 0xb3, 0xee, 0x4c, 0x44, 0x13, 0xea, + 0x2c, 0x6d, 0x22, 0xa1, 0xdb, 0xac, 0xcf, 0xf6, 0xc8, 0xeb, 0x27, 0x64, + 0xc9, 0x22, 0x04, 0x45, 0x96, 0xc5, 0xfb, 0x36, +}; +static const unsigned char kat3583_addinpr2[] = {0}; +static const unsigned char kat3583_retbits[] = { + 0x74, 0x8a, 0x7e, 0x73, 0x94, 0x9e, 0x39, 0x57, 0x00, 0x26, 0x69, 0xcb, + 0x40, 0xb7, 0x17, 0x06, 0xde, 0x0d, 0xc3, 0x9c, 0xae, 0xeb, 0x0a, 0xdc, + 0xd5, 0xe3, 0xf7, 0xf7, 0x53, 0x03, 0xc2, 0x27, 0xb2, 0xe2, 0xad, 0xf2, + 0xbe, 0x2b, 0xe5, 0xad, 0x29, 0x69, 0x55, 0xc1, 0x3b, 0xc8, 0xc8, 0xb8, + 0x68, 0x80, 0x3d, 0x45, 0xd6, 0x11, 0xd0, 0xe9, 0x70, 0x61, 0xe3, 0x6c, + 0x30, 0x33, 0x9e, 0x6c, +}; +static const struct drbg_kat_pr_true kat3583_t = { + 12, kat3583_entropyin, kat3583_nonce, kat3583_persstr, + kat3583_entropyinpr1, kat3583_addinpr1, kat3583_entropyinpr2, + kat3583_addinpr2, kat3583_retbits +}; +static const struct drbg_kat kat3583 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3583_t +}; + +static const unsigned char kat3584_entropyin[] = { + 0xe8, 0x53, 0x00, 0xa0, 0x12, 0x03, 0xd1, 0xa7, 0x65, 0xd3, 0x6e, 0x49, + 0x41, 0x23, 0xce, 0xcf, 0xd8, 0xd8, 0x23, 0x02, 0x21, 0x98, 0xa9, 0x5b, + 0x09, 0x91, 0xf9, 0x8d, 0x9a, 0x93, 0xf3, 0xe3, +}; +static const unsigned char kat3584_nonce[] = { + 0x5a, 0x10, 0x9a, 0x8d, 0xab, 0x80, 0x4a, 0xd3, 0x50, 0xf7, 0x73, 0x57, + 0x81, 0xb5, 0x38, 0x01, +}; +static const unsigned char kat3584_persstr[] = { + 0xcb, 0xd4, 0xb3, 0xe9, 0x9e, 0xf2, 0x4a, 0xa7, 0x53, 0x9f, 0x65, 0x13, + 0x25, 0x3a, 0x69, 0xc3, 0x53, 0x55, 0x8f, 0xe7, 0x80, 0x87, 0x20, 0xdd, + 0x68, 0xd9, 0x45, 0x10, 0xa0, 0x2e, 0x8e, 0xf0, +}; +static const unsigned char kat3584_entropyinpr1[] = { + 0x39, 0x0d, 0xde, 0x5c, 0x5d, 0x62, 0xc6, 0x4c, 0x5a, 0x50, 0x12, 0x7a, + 0xa9, 0x10, 0x18, 0xcc, 0xf8, 0x5a, 0x4f, 0xfd, 0x76, 0x49, 0xde, 0x29, + 0x3e, 0x12, 0x33, 0x0f, 0x4f, 0xeb, 0xd5, 0x4c, +}; +static const unsigned char kat3584_addinpr1[] = {0}; +static const unsigned char kat3584_entropyinpr2[] = { + 0x3c, 0x36, 0x5d, 0xa2, 0xc3, 0x41, 0x4a, 0xbc, 0x81, 0xf9, 0xb5, 0xe7, + 0x18, 0x79, 0x04, 0x31, 0xd6, 0x00, 0xaf, 0xcc, 0x17, 0x37, 0xa6, 0xd8, + 0x15, 0x65, 0xc5, 0x71, 0xe4, 0xc5, 0x65, 0xff, +}; +static const unsigned char kat3584_addinpr2[] = {0}; +static const unsigned char kat3584_retbits[] = { + 0x99, 0xae, 0x95, 0xf5, 0x40, 0x18, 0x19, 0xfc, 0x68, 0xaf, 0xcf, 0x1b, + 0x12, 0xd8, 0x03, 0xc1, 0x65, 0x79, 0x74, 0x5a, 0x78, 0x21, 0x91, 0x0c, + 0xbe, 0x2e, 0x2f, 0x3b, 0xbc, 0x05, 0xcd, 0xef, 0xa3, 0x90, 0x85, 0xc5, + 0xbe, 0x66, 0xbd, 0x5c, 0x96, 0x1b, 0xa5, 0x11, 0xf1, 0xa2, 0x1b, 0x97, + 0xe3, 0x7f, 0x07, 0x99, 0x63, 0x2b, 0x29, 0x65, 0x1d, 0xc4, 0x12, 0xad, + 0x89, 0xf9, 0xcd, 0xfb, +}; +static const struct drbg_kat_pr_true kat3584_t = { + 13, kat3584_entropyin, kat3584_nonce, kat3584_persstr, + kat3584_entropyinpr1, kat3584_addinpr1, kat3584_entropyinpr2, + kat3584_addinpr2, kat3584_retbits +}; +static const struct drbg_kat kat3584 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3584_t +}; + +static const unsigned char kat3585_entropyin[] = { + 0x39, 0x2c, 0x62, 0x19, 0xa5, 0x5f, 0x46, 0x45, 0x22, 0x65, 0x24, 0xa1, + 0x25, 0x17, 0xd6, 0xf4, 0x0d, 0xcc, 0xf2, 0x5b, 0xe9, 0x30, 0xee, 0xed, + 0xe9, 0xd2, 0x70, 0xfb, 0x63, 0x2e, 0x5e, 0x71, +}; +static const unsigned char kat3585_nonce[] = { + 0x6c, 0xaa, 0x85, 0x8e, 0xc3, 0xe8, 0xf9, 0x46, 0xc9, 0xbc, 0xb2, 0x28, + 0xba, 0x66, 0xda, 0x07, +}; +static const unsigned char kat3585_persstr[] = { + 0xa5, 0x9b, 0x7e, 0xd9, 0x98, 0xb6, 0x9e, 0xbc, 0x7d, 0xc5, 0x42, 0xbd, + 0x62, 0x17, 0x24, 0x66, 0x12, 0x5c, 0x21, 0xc6, 0x25, 0x18, 0xb1, 0x07, + 0x61, 0xf6, 0xc0, 0x0d, 0xd1, 0x23, 0x4f, 0x45, +}; +static const unsigned char kat3585_entropyinpr1[] = { + 0x47, 0x40, 0xca, 0x4c, 0xa8, 0x1e, 0xd2, 0x94, 0xd9, 0xa9, 0xb6, 0x00, + 0x09, 0x76, 0x00, 0x63, 0x7a, 0x1a, 0x1e, 0xf2, 0xfe, 0xf2, 0x39, 0x1d, + 0x2a, 0x30, 0xe0, 0xc2, 0x27, 0xc2, 0xb1, 0x53, +}; +static const unsigned char kat3585_addinpr1[] = {0}; +static const unsigned char kat3585_entropyinpr2[] = { + 0x27, 0x2b, 0xa6, 0x58, 0x8a, 0x44, 0x3c, 0xf6, 0xd8, 0xa9, 0xa2, 0x59, + 0x4f, 0x4d, 0x4d, 0xb7, 0x3e, 0xa2, 0xd3, 0x56, 0x04, 0x8c, 0x1f, 0xe3, + 0x59, 0xff, 0x91, 0x70, 0xa4, 0x25, 0xa0, 0x0f, +}; +static const unsigned char kat3585_addinpr2[] = {0}; +static const unsigned char kat3585_retbits[] = { + 0x63, 0x86, 0x85, 0xb6, 0x25, 0x6b, 0x54, 0xc1, 0xc2, 0x8d, 0x8e, 0x67, + 0xb9, 0x8a, 0xb9, 0xa5, 0x6b, 0x71, 0xed, 0xe3, 0xf0, 0x46, 0x84, 0x31, + 0xb0, 0xd0, 0xde, 0x2d, 0xfb, 0xe3, 0x47, 0xea, 0x0b, 0xc0, 0x5d, 0x87, + 0x0f, 0x6d, 0xcd, 0xee, 0x0f, 0x1b, 0xc6, 0x18, 0xa6, 0x38, 0x29, 0x0a, + 0x43, 0x97, 0x27, 0x7f, 0x4a, 0x1f, 0x8f, 0x7b, 0xfb, 0xb2, 0x7f, 0x16, + 0x3f, 0xed, 0x08, 0x82, +}; +static const struct drbg_kat_pr_true kat3585_t = { + 14, kat3585_entropyin, kat3585_nonce, kat3585_persstr, + kat3585_entropyinpr1, kat3585_addinpr1, kat3585_entropyinpr2, + kat3585_addinpr2, kat3585_retbits +}; +static const struct drbg_kat kat3585 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 0, 64, &kat3585_t +}; + +static const unsigned char kat3586_entropyin[] = { + 0xe0, 0x2c, 0x66, 0x27, 0xdf, 0x0c, 0x04, 0x22, 0xd2, 0xdf, 0xc7, 0xda, + 0x96, 0x86, 0xda, 0xf8, 0xdc, 0xe5, 0x78, 0x96, 0x67, 0x98, 0xd4, 0xe5, + 0x03, 0x53, 0x0d, 0xd7, 0xdb, 0x50, 0x13, 0x0e, +}; +static const unsigned char kat3586_nonce[] = { + 0x1b, 0x48, 0xe1, 0x03, 0xc4, 0x09, 0x1a, 0xc2, 0xf4, 0x58, 0x1d, 0xba, + 0x6a, 0x61, 0x85, 0x8c, +}; +static const unsigned char kat3586_persstr[] = { + 0x01, 0x45, 0xaa, 0xfa, 0x6e, 0xc8, 0x3e, 0xb6, 0x52, 0x5a, 0x8f, 0x2f, + 0xa8, 0x4a, 0xd6, 0x30, 0xbb, 0x57, 0xbf, 0xe6, 0x76, 0xa5, 0x91, 0x90, + 0x0e, 0x18, 0xa4, 0xc0, 0xc4, 0xaa, 0x84, 0x02, +}; +static const unsigned char kat3586_entropyinpr1[] = { + 0x32, 0x3b, 0x97, 0xc0, 0xfe, 0x00, 0x60, 0xc9, 0x4d, 0x04, 0x23, 0xf9, + 0xe4, 0x42, 0x4c, 0x9b, 0x92, 0xf7, 0x69, 0xe1, 0x70, 0xa3, 0xe1, 0xea, + 0xbb, 0x72, 0xd7, 0x8b, 0xec, 0x04, 0xbb, 0x27, +}; +static const unsigned char kat3586_addinpr1[] = { + 0xfd, 0xdd, 0xda, 0xcb, 0x8c, 0x20, 0x18, 0x2f, 0x16, 0x59, 0x6a, 0x61, + 0x91, 0x05, 0xaa, 0xe7, 0x91, 0x69, 0x6e, 0xe7, 0xac, 0xa3, 0x08, 0xb5, + 0x52, 0x43, 0x83, 0xc1, 0x78, 0xa2, 0x7c, 0xc2, +}; +static const unsigned char kat3586_entropyinpr2[] = { + 0xc9, 0x6c, 0x87, 0xb9, 0xee, 0xee, 0x3c, 0xa7, 0x76, 0x89, 0xd8, 0x93, + 0x5d, 0x01, 0x63, 0xcf, 0x26, 0x79, 0xbd, 0x35, 0xaf, 0x98, 0xb1, 0x95, + 0xcf, 0x06, 0x22, 0xbd, 0x85, 0xdc, 0x95, 0x78, +}; +static const unsigned char kat3586_addinpr2[] = { + 0xd7, 0xe7, 0x68, 0xa3, 0x28, 0x1e, 0x4a, 0x43, 0xa0, 0xda, 0x59, 0xcd, + 0x9a, 0xf6, 0x30, 0x54, 0x8b, 0xcc, 0x2b, 0x95, 0xbf, 0xf5, 0xc6, 0x58, + 0xb3, 0x12, 0xb0, 0x86, 0xf0, 0xfb, 0x54, 0xe4, +}; +static const unsigned char kat3586_retbits[] = { + 0x49, 0x3c, 0xda, 0xcf, 0xd2, 0x5a, 0x67, 0x8b, 0x8d, 0x81, 0x38, 0xbd, + 0x4e, 0xff, 0x88, 0x8b, 0x28, 0x0d, 0x3e, 0x21, 0xe1, 0xfa, 0x73, 0xaf, + 0x33, 0x75, 0xd5, 0x91, 0x4d, 0xa9, 0x58, 0xb1, 0xbe, 0xd0, 0x23, 0x32, + 0x89, 0xac, 0x49, 0xe5, 0x9d, 0x56, 0xd5, 0xd4, 0x0a, 0x75, 0x77, 0xfd, + 0xc7, 0x23, 0x04, 0xf8, 0xc8, 0xc8, 0xcb, 0x4a, 0xd4, 0xb2, 0x16, 0xef, + 0xa2, 0x81, 0x80, 0xfd, +}; +static const struct drbg_kat_pr_true kat3586_t = { + 0, kat3586_entropyin, kat3586_nonce, kat3586_persstr, + kat3586_entropyinpr1, kat3586_addinpr1, kat3586_entropyinpr2, + kat3586_addinpr2, kat3586_retbits +}; +static const struct drbg_kat kat3586 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3586_t +}; + +static const unsigned char kat3587_entropyin[] = { + 0x22, 0x74, 0x6d, 0xf1, 0x0c, 0x7d, 0x1e, 0x0a, 0x7d, 0x68, 0xd7, 0xcf, + 0x20, 0x68, 0xde, 0x78, 0xc3, 0xfd, 0x74, 0x9d, 0x88, 0x31, 0xd7, 0x10, + 0x83, 0x37, 0xb5, 0xb9, 0x37, 0x0e, 0xb3, 0x22, +}; +static const unsigned char kat3587_nonce[] = { + 0x1c, 0x7e, 0xd6, 0x06, 0x3a, 0xe0, 0xcc, 0x22, 0x1b, 0x45, 0x79, 0xf5, + 0xa6, 0x18, 0x17, 0xb7, +}; +static const unsigned char kat3587_persstr[] = { + 0x71, 0x84, 0xc2, 0x99, 0x85, 0x6a, 0x54, 0x05, 0x84, 0x29, 0x41, 0x8c, + 0x8b, 0xd7, 0x12, 0xd9, 0x2c, 0x76, 0x75, 0xec, 0x3d, 0x49, 0x63, 0x5c, + 0xfc, 0xae, 0x3d, 0x24, 0x73, 0xd0, 0x4b, 0x13, +}; +static const unsigned char kat3587_entropyinpr1[] = { + 0xba, 0x85, 0x3c, 0x00, 0xf9, 0x06, 0xde, 0xb3, 0xc3, 0xfa, 0x4e, 0x15, + 0xc7, 0xce, 0x36, 0x58, 0x7f, 0x89, 0x68, 0x08, 0x35, 0x0b, 0xd8, 0xab, + 0x51, 0x89, 0x68, 0xfa, 0x02, 0x15, 0x86, 0xaa, +}; +static const unsigned char kat3587_addinpr1[] = { + 0x49, 0xcb, 0x34, 0x65, 0x1c, 0x60, 0x69, 0x9b, 0xd9, 0xdc, 0x30, 0x83, + 0xc9, 0x2f, 0x27, 0xe7, 0xb9, 0x2d, 0x05, 0x59, 0x78, 0x2c, 0x97, 0x51, + 0x50, 0xa8, 0x00, 0x5e, 0xb2, 0x3a, 0xaa, 0xc6, +}; +static const unsigned char kat3587_entropyinpr2[] = { + 0xfc, 0xd7, 0x52, 0x98, 0x32, 0xd5, 0x33, 0x2b, 0xb7, 0x2a, 0x04, 0x60, + 0x48, 0x28, 0x59, 0xbb, 0x33, 0xdc, 0xbd, 0x08, 0x45, 0xe6, 0x8c, 0xf7, + 0xac, 0xd0, 0x9e, 0x58, 0x88, 0xef, 0x26, 0x11, +}; +static const unsigned char kat3587_addinpr2[] = { + 0x36, 0xae, 0xff, 0x1d, 0x32, 0xbb, 0xfb, 0x71, 0x4e, 0x84, 0xa1, 0x59, + 0x77, 0x95, 0x79, 0xec, 0x28, 0x23, 0xb6, 0x12, 0x32, 0x5a, 0x03, 0x4e, + 0xe7, 0xae, 0x91, 0xcc, 0x8d, 0x5f, 0x6f, 0xe5, +}; +static const unsigned char kat3587_retbits[] = { + 0x19, 0x7c, 0x85, 0xc3, 0xa8, 0x14, 0xd5, 0xc4, 0xe4, 0xed, 0xe3, 0x6c, + 0x7d, 0xba, 0xcc, 0x54, 0xce, 0x6f, 0x99, 0x96, 0xcf, 0xb2, 0x50, 0xbe, + 0x31, 0xfc, 0x8f, 0x90, 0xa7, 0x09, 0x24, 0x70, 0xd6, 0x1d, 0x81, 0x1f, + 0xd8, 0xfe, 0xe5, 0x83, 0xf4, 0x49, 0xd1, 0x68, 0x0c, 0x35, 0xee, 0xfa, + 0x35, 0x7b, 0xc4, 0x1e, 0xca, 0xe8, 0x4d, 0xc8, 0x2b, 0x91, 0x1d, 0x51, + 0x18, 0x4a, 0x2b, 0x93, +}; +static const struct drbg_kat_pr_true kat3587_t = { + 1, kat3587_entropyin, kat3587_nonce, kat3587_persstr, + kat3587_entropyinpr1, kat3587_addinpr1, kat3587_entropyinpr2, + kat3587_addinpr2, kat3587_retbits +}; +static const struct drbg_kat kat3587 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3587_t +}; + +static const unsigned char kat3588_entropyin[] = { + 0x5f, 0x4f, 0x40, 0xcf, 0x42, 0xe6, 0x43, 0xe5, 0xf3, 0x8f, 0x06, 0xf0, + 0x5a, 0x80, 0xa8, 0xbe, 0x0e, 0x44, 0xb7, 0x5f, 0x64, 0x7a, 0xc9, 0x35, + 0xdf, 0x1d, 0xcb, 0x22, 0x06, 0xdb, 0xeb, 0x59, +}; +static const unsigned char kat3588_nonce[] = { + 0x90, 0xdb, 0xc9, 0xb6, 0x73, 0x77, 0x66, 0x8d, 0x1a, 0xf1, 0x5b, 0xea, + 0xe7, 0x90, 0xa1, 0x3e, +}; +static const unsigned char kat3588_persstr[] = { + 0xb2, 0xa2, 0x80, 0x6a, 0x31, 0xe8, 0xb0, 0xdf, 0xa3, 0x2d, 0x92, 0xcc, + 0x87, 0xf1, 0x34, 0x5e, 0xf9, 0x18, 0xf8, 0x9e, 0x14, 0x84, 0xd0, 0x1f, + 0x00, 0xb9, 0xf7, 0x82, 0x80, 0xd9, 0x3b, 0x5a, +}; +static const unsigned char kat3588_entropyinpr1[] = { + 0xdb, 0x29, 0xa5, 0xef, 0x0c, 0xbe, 0x50, 0x16, 0xba, 0x0a, 0xb8, 0xd3, + 0xd5, 0x20, 0xca, 0x36, 0x83, 0xf1, 0x63, 0x7b, 0xe1, 0xda, 0xe4, 0x34, + 0xb8, 0x7b, 0x5e, 0x5f, 0x4a, 0x4c, 0x6b, 0x5f, +}; +static const unsigned char kat3588_addinpr1[] = { + 0xf6, 0xaa, 0xa7, 0x0b, 0x82, 0xd7, 0x2b, 0x1c, 0xfd, 0x79, 0x40, 0x87, + 0x48, 0xbd, 0xa7, 0x73, 0x27, 0xcf, 0x62, 0x29, 0xda, 0x2c, 0xef, 0xee, + 0xcc, 0x27, 0xf2, 0x4b, 0x85, 0x64, 0x33, 0x76, +}; +static const unsigned char kat3588_entropyinpr2[] = { + 0x07, 0x48, 0x54, 0xcf, 0x33, 0xf5, 0x70, 0xca, 0x0f, 0xbc, 0x13, 0x63, + 0xd5, 0x90, 0x33, 0x4b, 0x60, 0x17, 0xa2, 0xe3, 0xa1, 0x93, 0xda, 0x59, + 0x99, 0xdb, 0x75, 0x53, 0x0d, 0x3a, 0x9b, 0x56, +}; +static const unsigned char kat3588_addinpr2[] = { + 0x0a, 0x97, 0xc0, 0x21, 0xf7, 0x48, 0x71, 0xd6, 0x82, 0x9b, 0x47, 0x35, + 0x56, 0x30, 0x9c, 0xd3, 0x2c, 0x45, 0xc1, 0xf4, 0xfe, 0x46, 0x19, 0xca, + 0x82, 0xf9, 0x9e, 0xbd, 0x2d, 0xf0, 0xf2, 0x5a, +}; +static const unsigned char kat3588_retbits[] = { + 0x58, 0xcd, 0x0e, 0x07, 0xdd, 0xd3, 0x4c, 0x32, 0xb2, 0x08, 0x46, 0xe9, + 0x62, 0x20, 0x98, 0x08, 0x2e, 0xc1, 0xd2, 0x4e, 0x4d, 0x0a, 0xd5, 0xc7, + 0x33, 0x07, 0xa2, 0x62, 0xd6, 0x9b, 0x2e, 0x7c, 0x9b, 0xa5, 0xfa, 0xb3, + 0x59, 0xea, 0xc9, 0x33, 0x6d, 0x80, 0xeb, 0x4c, 0xe3, 0x35, 0x7b, 0x9c, + 0xe2, 0xa7, 0x96, 0x2b, 0x4b, 0x21, 0xb7, 0x39, 0x3d, 0xfe, 0xad, 0xd7, + 0x5a, 0x50, 0xe8, 0x7e, +}; +static const struct drbg_kat_pr_true kat3588_t = { + 2, kat3588_entropyin, kat3588_nonce, kat3588_persstr, + kat3588_entropyinpr1, kat3588_addinpr1, kat3588_entropyinpr2, + kat3588_addinpr2, kat3588_retbits +}; +static const struct drbg_kat kat3588 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3588_t +}; + +static const unsigned char kat3589_entropyin[] = { + 0xff, 0xb9, 0xd4, 0x74, 0x10, 0x74, 0xae, 0x51, 0xd8, 0xff, 0xe3, 0x9b, + 0x31, 0xcf, 0x56, 0xc1, 0xe8, 0xc9, 0x78, 0xe3, 0x6f, 0x32, 0x08, 0x98, + 0xa9, 0xac, 0xc2, 0xf0, 0xe0, 0x75, 0xf5, 0xd1, +}; +static const unsigned char kat3589_nonce[] = { + 0x17, 0xa7, 0x02, 0xd7, 0x76, 0x8a, 0x47, 0xcd, 0x11, 0x60, 0xf1, 0xee, + 0xa6, 0x61, 0xcc, 0xcd, +}; +static const unsigned char kat3589_persstr[] = { + 0x3f, 0x4d, 0xe7, 0xa9, 0xfb, 0xe5, 0xbb, 0xf6, 0x99, 0x73, 0xee, 0x77, + 0x2f, 0x4a, 0xb8, 0xc8, 0xa5, 0x7b, 0xd8, 0xe6, 0xc0, 0x0d, 0x91, 0x3f, + 0xcb, 0xe5, 0x1c, 0x5e, 0x8d, 0x36, 0x58, 0xc4, +}; +static const unsigned char kat3589_entropyinpr1[] = { + 0xf0, 0x3d, 0xa2, 0x2e, 0x53, 0xc4, 0xe8, 0xb7, 0x8b, 0x0e, 0xcc, 0xab, + 0x9b, 0x3b, 0x77, 0x94, 0xd7, 0x5d, 0x0f, 0x36, 0xa9, 0xf1, 0x93, 0xeb, + 0xc8, 0xab, 0x42, 0x2d, 0x72, 0x7c, 0xea, 0x8e, +}; +static const unsigned char kat3589_addinpr1[] = { + 0x72, 0xdf, 0x5f, 0x25, 0xa2, 0x7d, 0x3e, 0xec, 0x24, 0x90, 0x5e, 0x92, + 0x76, 0x38, 0xab, 0xe2, 0x2f, 0x15, 0x73, 0xb0, 0x7e, 0x5b, 0xf0, 0x2b, + 0x06, 0x68, 0xcc, 0x8c, 0x33, 0x91, 0x0f, 0xaf, +}; +static const unsigned char kat3589_entropyinpr2[] = { + 0x50, 0xb0, 0x44, 0xee, 0x25, 0x2d, 0x8d, 0x83, 0xd5, 0x6a, 0xe2, 0x43, + 0x8d, 0x2c, 0xa9, 0xc0, 0x1b, 0x07, 0x92, 0x46, 0x72, 0x63, 0xe2, 0x4c, + 0x79, 0x9c, 0x6e, 0xa0, 0x47, 0x69, 0x4c, 0xd1, +}; +static const unsigned char kat3589_addinpr2[] = { + 0xf0, 0x92, 0xf9, 0x05, 0xd4, 0x1a, 0x8f, 0xdf, 0x4a, 0x39, 0xf2, 0x2a, + 0xe8, 0xb1, 0xd6, 0xda, 0x0e, 0xfc, 0xc6, 0x7e, 0xfe, 0x59, 0x8e, 0x9a, + 0xaa, 0xa9, 0x14, 0x37, 0x0c, 0x3f, 0x75, 0x9e, +}; +static const unsigned char kat3589_retbits[] = { + 0xd3, 0xab, 0x14, 0x99, 0xd9, 0x82, 0x46, 0xbb, 0xcd, 0x49, 0x9f, 0xad, + 0x33, 0xbe, 0xc4, 0x9d, 0x29, 0x93, 0xa5, 0xa6, 0xb8, 0xe1, 0x0f, 0xb9, + 0x96, 0x0a, 0x22, 0x99, 0xc1, 0x3e, 0xe4, 0x11, 0x24, 0x02, 0xbd, 0xea, + 0x77, 0xa2, 0x80, 0xca, 0xcf, 0x15, 0x52, 0x64, 0x37, 0xa9, 0xed, 0x4b, + 0x14, 0xff, 0x08, 0xbf, 0x70, 0x9b, 0x08, 0x0f, 0xea, 0xea, 0x8a, 0x51, + 0xf1, 0xa0, 0x6c, 0xc9, +}; +static const struct drbg_kat_pr_true kat3589_t = { + 3, kat3589_entropyin, kat3589_nonce, kat3589_persstr, + kat3589_entropyinpr1, kat3589_addinpr1, kat3589_entropyinpr2, + kat3589_addinpr2, kat3589_retbits +}; +static const struct drbg_kat kat3589 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3589_t +}; + +static const unsigned char kat3590_entropyin[] = { + 0x8a, 0xc0, 0xf2, 0x56, 0xad, 0x07, 0x0a, 0x5f, 0x14, 0x85, 0xc3, 0x0d, + 0xcb, 0x07, 0xdf, 0x3b, 0x3a, 0x38, 0x80, 0xd4, 0x0f, 0x02, 0xf2, 0x3e, + 0x72, 0xaf, 0x81, 0xcc, 0xdc, 0xa0, 0x41, 0x7e, +}; +static const unsigned char kat3590_nonce[] = { + 0xba, 0x87, 0xe7, 0x93, 0x00, 0xd8, 0xca, 0xf1, 0x31, 0x9b, 0xd3, 0x7e, + 0x9a, 0x1f, 0xae, 0xf7, +}; +static const unsigned char kat3590_persstr[] = { + 0x71, 0xfe, 0x61, 0x05, 0x10, 0x62, 0xe3, 0x6a, 0x98, 0x76, 0xe4, 0xce, + 0xcb, 0xef, 0x68, 0x50, 0x40, 0x52, 0xbf, 0xbd, 0x45, 0xce, 0x59, 0xda, + 0x56, 0x4f, 0x9f, 0x91, 0x12, 0x27, 0xd4, 0x26, +}; +static const unsigned char kat3590_entropyinpr1[] = { + 0x31, 0x70, 0x5c, 0xa9, 0x1f, 0x1b, 0x08, 0xee, 0x14, 0x82, 0xad, 0xe6, + 0x44, 0x10, 0xee, 0xd1, 0x1f, 0xfa, 0xbd, 0xf6, 0x8c, 0x01, 0xe8, 0x05, + 0xb6, 0x9c, 0x9d, 0x0c, 0xa8, 0x0e, 0xf9, 0x35, +}; +static const unsigned char kat3590_addinpr1[] = { + 0x22, 0x16, 0x57, 0x46, 0xd6, 0x24, 0xb0, 0xba, 0xf0, 0x69, 0x55, 0xe2, + 0x08, 0xbe, 0xf0, 0x85, 0xc0, 0x5d, 0x24, 0x71, 0xbd, 0x88, 0x1b, 0x76, + 0x66, 0x0c, 0x94, 0xf7, 0x51, 0x77, 0x64, 0x00, +}; +static const unsigned char kat3590_entropyinpr2[] = { + 0xd7, 0x9b, 0x6f, 0x38, 0x6c, 0xdb, 0xcd, 0x94, 0x64, 0xd5, 0xdb, 0x74, + 0xbd, 0xd0, 0x64, 0xec, 0xbb, 0xf2, 0x29, 0xd8, 0x90, 0xe4, 0xf6, 0x30, + 0xee, 0x8b, 0x26, 0xd0, 0x3c, 0x8b, 0xb1, 0xab, +}; +static const unsigned char kat3590_addinpr2[] = { + 0x13, 0x50, 0x2f, 0x34, 0x58, 0x98, 0xd1, 0x24, 0xdf, 0x93, 0x05, 0x01, + 0xa5, 0x69, 0xcf, 0xa2, 0xb0, 0x06, 0xc1, 0xf5, 0x8a, 0xad, 0xaf, 0x83, + 0x67, 0x2b, 0x83, 0x45, 0xc1, 0x17, 0x83, 0xbb, +}; +static const unsigned char kat3590_retbits[] = { + 0xc7, 0x0e, 0x0f, 0x3c, 0x93, 0x2a, 0x3b, 0xe3, 0x01, 0xba, 0x45, 0x27, + 0xc3, 0xf0, 0xd2, 0xf3, 0x13, 0x12, 0xfb, 0xd2, 0x12, 0x3a, 0x18, 0x4d, + 0xef, 0x1e, 0xcc, 0x04, 0xe3, 0x6a, 0x6d, 0x07, 0x10, 0x5c, 0x1f, 0x52, + 0xe9, 0xf2, 0xfb, 0xe0, 0x6a, 0x2d, 0xf8, 0xa8, 0xb4, 0x58, 0xd1, 0xf4, + 0xbd, 0x93, 0xe6, 0x77, 0x7a, 0xf1, 0x6e, 0x29, 0x80, 0x0b, 0x60, 0x3a, + 0xa6, 0x6c, 0xc4, 0x5c, +}; +static const struct drbg_kat_pr_true kat3590_t = { + 4, kat3590_entropyin, kat3590_nonce, kat3590_persstr, + kat3590_entropyinpr1, kat3590_addinpr1, kat3590_entropyinpr2, + kat3590_addinpr2, kat3590_retbits +}; +static const struct drbg_kat kat3590 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3590_t +}; + +static const unsigned char kat3591_entropyin[] = { + 0x22, 0xa7, 0xad, 0x79, 0x4f, 0x7e, 0x14, 0x81, 0xab, 0xe2, 0xf1, 0xef, + 0x18, 0xe1, 0xa2, 0x0c, 0xbb, 0xb1, 0x1e, 0xec, 0xe1, 0xdf, 0x6c, 0x39, + 0x4e, 0xb9, 0x75, 0x36, 0xd2, 0xe3, 0xeb, 0xbb, +}; +static const unsigned char kat3591_nonce[] = { + 0x38, 0x3e, 0x9f, 0xd6, 0x03, 0x36, 0x93, 0xd0, 0x47, 0xcb, 0xee, 0x6e, + 0x2a, 0xc1, 0xd7, 0xef, +}; +static const unsigned char kat3591_persstr[] = { + 0xec, 0xf0, 0xf8, 0x40, 0x39, 0x71, 0x4f, 0x4f, 0x38, 0xda, 0xe4, 0x59, + 0xdd, 0x8d, 0xf3, 0x36, 0xdc, 0x93, 0xdc, 0x9c, 0xc3, 0x1f, 0x35, 0xea, + 0xfb, 0x03, 0x4a, 0x85, 0x35, 0xb5, 0xf7, 0x86, +}; +static const unsigned char kat3591_entropyinpr1[] = { + 0x52, 0x91, 0x63, 0x3f, 0xdd, 0x22, 0xd8, 0xef, 0x60, 0x11, 0x1d, 0xd2, + 0x62, 0xc1, 0x10, 0xbb, 0xf0, 0x2f, 0x24, 0xdb, 0x7b, 0xe1, 0x92, 0x12, + 0xad, 0x18, 0xdc, 0xba, 0xef, 0x4d, 0x9d, 0x02, +}; +static const unsigned char kat3591_addinpr1[] = { + 0x88, 0x42, 0xbb, 0x79, 0xfc, 0xcc, 0x18, 0xb1, 0x83, 0x7f, 0xac, 0x5a, + 0x8d, 0x5f, 0x9a, 0x18, 0x24, 0x82, 0xcb, 0x2f, 0x99, 0xf7, 0x70, 0x1e, + 0xed, 0xed, 0x7a, 0xff, 0xad, 0x2b, 0xb1, 0x03, +}; +static const unsigned char kat3591_entropyinpr2[] = { + 0x32, 0xe9, 0xc0, 0x25, 0x44, 0xc5, 0x82, 0x1d, 0x92, 0x24, 0x87, 0x99, + 0x58, 0xb7, 0x20, 0x6e, 0x57, 0x0e, 0x48, 0xfe, 0x59, 0xdc, 0x1b, 0xcd, + 0xea, 0xfb, 0x1d, 0xba, 0x19, 0xaa, 0x53, 0x50, +}; +static const unsigned char kat3591_addinpr2[] = { + 0xc2, 0xf6, 0xf8, 0x67, 0x4e, 0xa2, 0x69, 0xe9, 0x01, 0xcc, 0x21, 0x32, + 0xb1, 0x4f, 0xa2, 0xff, 0xff, 0xf1, 0x61, 0x9f, 0x22, 0xf5, 0x39, 0xcf, + 0xe6, 0xe8, 0x1a, 0x7a, 0x6e, 0x7d, 0xe9, 0x89, +}; +static const unsigned char kat3591_retbits[] = { + 0xf5, 0x80, 0xc1, 0x18, 0x05, 0x20, 0xb7, 0x86, 0xcb, 0x3a, 0x52, 0xd0, + 0x39, 0xe0, 0x16, 0xf6, 0xea, 0x01, 0x5f, 0x88, 0x4e, 0x64, 0xec, 0x87, + 0x70, 0x78, 0xa5, 0x80, 0xae, 0x08, 0xcb, 0x74, 0x1d, 0x9d, 0xe9, 0xab, + 0x46, 0x85, 0xfe, 0xef, 0xf2, 0x74, 0x01, 0x58, 0x1d, 0xf7, 0x3c, 0xde, + 0x77, 0xaa, 0x71, 0xe9, 0xe4, 0x86, 0x08, 0x8f, 0x36, 0xfd, 0x2f, 0xea, + 0x7e, 0x06, 0x20, 0x7d, +}; +static const struct drbg_kat_pr_true kat3591_t = { + 5, kat3591_entropyin, kat3591_nonce, kat3591_persstr, + kat3591_entropyinpr1, kat3591_addinpr1, kat3591_entropyinpr2, + kat3591_addinpr2, kat3591_retbits +}; +static const struct drbg_kat kat3591 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3591_t +}; + +static const unsigned char kat3592_entropyin[] = { + 0x9a, 0x10, 0x99, 0x42, 0xe7, 0x83, 0xcd, 0xf7, 0xdb, 0xc5, 0x12, 0x9e, + 0x93, 0xce, 0x1a, 0x57, 0xe8, 0xbb, 0x17, 0x88, 0x5f, 0xf1, 0x26, 0x82, + 0x5d, 0xea, 0xdd, 0xfb, 0x89, 0x13, 0xed, 0xcf, +}; +static const unsigned char kat3592_nonce[] = { + 0x29, 0x57, 0x8d, 0xb5, 0xe7, 0x6b, 0xf2, 0x60, 0xdf, 0x35, 0x26, 0x10, + 0xa5, 0xad, 0xc5, 0x15, +}; +static const unsigned char kat3592_persstr[] = { + 0x21, 0x8c, 0x72, 0xa6, 0xe8, 0x84, 0xe9, 0x12, 0x6e, 0xae, 0x86, 0x9d, + 0x88, 0xcc, 0xff, 0xe3, 0xb8, 0x2f, 0xaf, 0xba, 0x13, 0x5d, 0x82, 0xc8, + 0x1a, 0xe2, 0x5c, 0xa4, 0x20, 0xb2, 0xa5, 0xff, +}; +static const unsigned char kat3592_entropyinpr1[] = { + 0x76, 0x4a, 0x94, 0xdf, 0x0d, 0x09, 0x7a, 0xe4, 0x7a, 0xba, 0x27, 0xa7, + 0x15, 0x42, 0xf9, 0x97, 0x64, 0xbf, 0xc1, 0x7a, 0x46, 0x57, 0x94, 0x37, + 0xe8, 0x77, 0xab, 0x25, 0x23, 0x5a, 0x0d, 0x70, +}; +static const unsigned char kat3592_addinpr1[] = { + 0x52, 0xaf, 0x46, 0xb6, 0xdf, 0x95, 0x29, 0x40, 0x41, 0xde, 0x7a, 0x69, + 0xa6, 0x4b, 0xf5, 0x37, 0x80, 0x77, 0x69, 0x88, 0xc4, 0xf8, 0x08, 0x86, + 0xa1, 0xf9, 0xc1, 0xd8, 0x65, 0x8a, 0x9f, 0xf0, +}; +static const unsigned char kat3592_entropyinpr2[] = { + 0xb9, 0x66, 0x6b, 0xe9, 0x57, 0xbc, 0x31, 0x66, 0x9c, 0x83, 0xcd, 0x97, + 0x35, 0x14, 0xbc, 0x3a, 0xe8, 0xe7, 0x73, 0xfa, 0x44, 0x52, 0x1e, 0x1e, + 0x22, 0xfa, 0xaf, 0x32, 0x0d, 0xb3, 0xe5, 0x10, +}; +static const unsigned char kat3592_addinpr2[] = { + 0xeb, 0x20, 0xda, 0x7d, 0x4b, 0x21, 0x48, 0xaa, 0x70, 0xc3, 0xa3, 0xb1, + 0x22, 0xb2, 0xae, 0x2d, 0x5d, 0x10, 0x86, 0x3f, 0x05, 0x1a, 0x36, 0x98, + 0x5e, 0x40, 0x41, 0xe2, 0x50, 0xa8, 0xd3, 0x10, +}; +static const unsigned char kat3592_retbits[] = { + 0xc9, 0x78, 0xab, 0xf8, 0x1e, 0x2c, 0x99, 0x64, 0x9c, 0x22, 0xf7, 0xe3, + 0x0f, 0x53, 0xe9, 0x81, 0xc3, 0xd9, 0xe5, 0xf0, 0x6a, 0xe8, 0x39, 0x9d, + 0xf6, 0x5a, 0xe7, 0x26, 0x8b, 0x6e, 0x52, 0x7f, 0xec, 0x07, 0x6f, 0x40, + 0x39, 0x6d, 0x82, 0xf6, 0xe8, 0xc2, 0x48, 0x0b, 0x1c, 0xde, 0xd2, 0x15, + 0x3c, 0x19, 0x75, 0x56, 0xf9, 0x6b, 0xcd, 0x39, 0x4d, 0xf5, 0x0e, 0x73, + 0xb0, 0x35, 0x3e, 0xbc, +}; +static const struct drbg_kat_pr_true kat3592_t = { + 6, kat3592_entropyin, kat3592_nonce, kat3592_persstr, + kat3592_entropyinpr1, kat3592_addinpr1, kat3592_entropyinpr2, + kat3592_addinpr2, kat3592_retbits +}; +static const struct drbg_kat kat3592 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3592_t +}; + +static const unsigned char kat3593_entropyin[] = { + 0x46, 0xf2, 0x2c, 0xf2, 0x88, 0x2c, 0x00, 0x78, 0x7d, 0x79, 0x24, 0xb8, + 0x91, 0x87, 0x8a, 0x23, 0xd8, 0x96, 0x29, 0xfc, 0xa3, 0x97, 0xf6, 0x9c, + 0x17, 0x07, 0x7e, 0x70, 0x5b, 0x45, 0xa4, 0x55, +}; +static const unsigned char kat3593_nonce[] = { + 0xf7, 0xf3, 0x29, 0x0e, 0xdb, 0x9c, 0xd0, 0x21, 0x53, 0xc1, 0x7c, 0xbb, + 0x60, 0xa3, 0xc9, 0xe8, +}; +static const unsigned char kat3593_persstr[] = { + 0xad, 0x2c, 0x48, 0x7f, 0xc2, 0x21, 0x72, 0x11, 0x35, 0x89, 0x3a, 0x4b, + 0xc4, 0x37, 0x81, 0xe0, 0x2d, 0x28, 0xb0, 0xfc, 0xa4, 0x49, 0xfc, 0xea, + 0x49, 0xfc, 0xfa, 0x2b, 0x49, 0x84, 0xc6, 0x58, +}; +static const unsigned char kat3593_entropyinpr1[] = { + 0xe2, 0xac, 0x38, 0x5e, 0xd2, 0x53, 0x59, 0xb8, 0xef, 0x9a, 0x6e, 0x87, + 0xc7, 0xf8, 0xb4, 0x17, 0x63, 0xc4, 0xf2, 0x98, 0xae, 0xac, 0x27, 0xf5, + 0xc0, 0xd2, 0x0a, 0x7f, 0x9c, 0xc0, 0x71, 0xa0, +}; +static const unsigned char kat3593_addinpr1[] = { + 0x2b, 0xe6, 0x04, 0x10, 0x20, 0x1f, 0xf1, 0x5e, 0xb5, 0x2a, 0xe9, 0x7e, + 0x53, 0xa9, 0x0c, 0x56, 0x77, 0x77, 0x9d, 0xc0, 0x0d, 0x7b, 0x05, 0xe2, + 0x83, 0xf0, 0xdc, 0xd3, 0x98, 0xb9, 0x07, 0xc8, +}; +static const unsigned char kat3593_entropyinpr2[] = { + 0xd9, 0x13, 0x0a, 0x00, 0x69, 0x8f, 0x45, 0x47, 0x45, 0x7d, 0x0b, 0x5d, + 0x27, 0x3d, 0x36, 0x55, 0xd3, 0xf6, 0x7d, 0xac, 0xfc, 0x99, 0x81, 0x27, + 0xb9, 0xb4, 0xfa, 0xdd, 0xab, 0x1d, 0xd6, 0x37, +}; +static const unsigned char kat3593_addinpr2[] = { + 0x66, 0xb7, 0x63, 0xbd, 0x38, 0x6d, 0xb6, 0xe7, 0x0e, 0xcc, 0x37, 0x15, + 0x47, 0x8a, 0xe5, 0xe9, 0x0a, 0x65, 0xcf, 0x40, 0x4a, 0x7a, 0x53, 0x9a, + 0xb1, 0xf6, 0xfe, 0x71, 0x45, 0x25, 0xa0, 0xf8, +}; +static const unsigned char kat3593_retbits[] = { + 0xb2, 0x45, 0x1d, 0x64, 0x65, 0xf4, 0x37, 0xa9, 0xdd, 0x52, 0x1d, 0x28, + 0x7e, 0x55, 0xea, 0x4c, 0xd9, 0x98, 0xd2, 0xb3, 0x23, 0x28, 0xe7, 0x8e, + 0x5f, 0xaf, 0xf6, 0xcf, 0x4b, 0x65, 0x51, 0x31, 0xb1, 0x22, 0xc8, 0xee, + 0x85, 0xb4, 0x70, 0xd1, 0xd6, 0x0a, 0xff, 0xd5, 0xb3, 0x15, 0xae, 0x4e, + 0xb8, 0x54, 0x02, 0x6b, 0x62, 0x9b, 0x39, 0xe2, 0xba, 0x9c, 0x48, 0x20, + 0xbf, 0x39, 0x68, 0x35, +}; +static const struct drbg_kat_pr_true kat3593_t = { + 7, kat3593_entropyin, kat3593_nonce, kat3593_persstr, + kat3593_entropyinpr1, kat3593_addinpr1, kat3593_entropyinpr2, + kat3593_addinpr2, kat3593_retbits +}; +static const struct drbg_kat kat3593 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3593_t +}; + +static const unsigned char kat3594_entropyin[] = { + 0x8f, 0xa1, 0x4d, 0xd5, 0xc6, 0xf8, 0xa1, 0x22, 0xd2, 0xd5, 0x59, 0xca, + 0x8d, 0x34, 0x79, 0x6b, 0xb7, 0x59, 0x2f, 0x78, 0x40, 0x37, 0x3f, 0xfb, + 0x33, 0x3e, 0x48, 0x8c, 0x27, 0xb6, 0x41, 0x9f, +}; +static const unsigned char kat3594_nonce[] = { + 0x8e, 0x1f, 0xbb, 0x81, 0xa8, 0xf8, 0x63, 0x75, 0xff, 0x76, 0x33, 0xca, + 0xb4, 0x5e, 0x4b, 0xc4, +}; +static const unsigned char kat3594_persstr[] = { + 0x72, 0x7c, 0x12, 0x8b, 0x15, 0x37, 0xa6, 0x08, 0x1c, 0x04, 0xe1, 0xf6, + 0xaa, 0xc7, 0x7c, 0xf4, 0x83, 0xf4, 0x37, 0xec, 0xa2, 0x64, 0xdf, 0x87, + 0xd8, 0x67, 0x17, 0x61, 0x7d, 0x60, 0xa6, 0x8f, +}; +static const unsigned char kat3594_entropyinpr1[] = { + 0xcc, 0x50, 0x4f, 0x7e, 0xaf, 0xa6, 0xbc, 0x5b, 0xe9, 0xdf, 0x4a, 0x2b, + 0xb2, 0x9c, 0x74, 0xe6, 0x0d, 0xbe, 0x21, 0x16, 0xfd, 0x0c, 0x66, 0xab, + 0xce, 0x07, 0x4b, 0x08, 0xac, 0x9d, 0x69, 0xd4, +}; +static const unsigned char kat3594_addinpr1[] = { + 0x83, 0xe7, 0xf7, 0x85, 0xec, 0x5c, 0x6d, 0x42, 0xa0, 0x01, 0xf0, 0x99, + 0x58, 0x91, 0x81, 0xf2, 0x42, 0x03, 0x71, 0xc9, 0xc5, 0x2b, 0x5f, 0x97, + 0x02, 0xe3, 0xd3, 0x8d, 0x9c, 0x87, 0x39, 0x79, +}; +static const unsigned char kat3594_entropyinpr2[] = { + 0x75, 0x23, 0x1c, 0x2f, 0x23, 0x0f, 0xb9, 0x48, 0x64, 0xe2, 0x42, 0x5f, + 0x6b, 0xcd, 0x62, 0x49, 0x0f, 0xe6, 0x07, 0x08, 0x5b, 0xe2, 0xd7, 0x0b, + 0x41, 0xab, 0x20, 0xd8, 0xa7, 0x4a, 0x42, 0xab, +}; +static const unsigned char kat3594_addinpr2[] = { + 0xe0, 0x6d, 0xa7, 0x85, 0x89, 0x11, 0x66, 0x38, 0x3b, 0x06, 0xdd, 0xfa, + 0xa1, 0x4f, 0x36, 0x91, 0x2e, 0xb2, 0x9e, 0x33, 0x10, 0x90, 0xc3, 0xe6, + 0x87, 0x45, 0xbb, 0x30, 0x09, 0x2b, 0xf8, 0x4a, +}; +static const unsigned char kat3594_retbits[] = { + 0x55, 0x29, 0x1c, 0x46, 0xd9, 0xd4, 0x86, 0x47, 0x8d, 0x64, 0x0e, 0xe6, + 0xfd, 0x3c, 0xb8, 0x43, 0xb0, 0xed, 0x8d, 0x23, 0x2a, 0x80, 0xc1, 0x71, + 0x2c, 0x2c, 0xde, 0xcf, 0x66, 0x23, 0xb9, 0x24, 0x53, 0x55, 0x9c, 0x29, + 0x20, 0xd5, 0x03, 0x2c, 0xed, 0x86, 0x34, 0x37, 0x79, 0x9b, 0xe1, 0x05, + 0x03, 0x98, 0x7c, 0x32, 0x89, 0x7b, 0x0e, 0xaa, 0x3a, 0xd5, 0x03, 0x07, + 0xfc, 0x59, 0xd9, 0xe3, +}; +static const struct drbg_kat_pr_true kat3594_t = { + 8, kat3594_entropyin, kat3594_nonce, kat3594_persstr, + kat3594_entropyinpr1, kat3594_addinpr1, kat3594_entropyinpr2, + kat3594_addinpr2, kat3594_retbits +}; +static const struct drbg_kat kat3594 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3594_t +}; + +static const unsigned char kat3595_entropyin[] = { + 0xec, 0x95, 0x2d, 0x39, 0x62, 0x96, 0xc7, 0xa3, 0xca, 0x26, 0x98, 0xc3, + 0x73, 0x8a, 0x31, 0x99, 0x46, 0x2c, 0x85, 0xdb, 0x4e, 0xa3, 0xe8, 0xcb, + 0x13, 0xab, 0x02, 0x69, 0x6a, 0xcf, 0x15, 0xe3, +}; +static const unsigned char kat3595_nonce[] = { + 0xcd, 0x34, 0x22, 0x46, 0xaa, 0x35, 0x01, 0x6e, 0xaa, 0xb0, 0xa1, 0x67, + 0x81, 0xf1, 0x65, 0x8d, +}; +static const unsigned char kat3595_persstr[] = { + 0x0e, 0x72, 0x88, 0x0b, 0xd7, 0xab, 0xf2, 0xc3, 0x7d, 0x65, 0xbe, 0x9d, + 0xea, 0x2b, 0x0b, 0x56, 0x21, 0x69, 0xae, 0x83, 0xa0, 0xc0, 0xc4, 0xfa, + 0x92, 0x08, 0x9b, 0x94, 0x0b, 0x9c, 0xfc, 0xb4, +}; +static const unsigned char kat3595_entropyinpr1[] = { + 0x9b, 0x11, 0x10, 0x2a, 0xdc, 0x27, 0xda, 0x52, 0xe0, 0x5e, 0xec, 0x2b, + 0x2d, 0x1b, 0xaf, 0xa4, 0x4a, 0x43, 0x67, 0x8d, 0x0a, 0x3d, 0x4f, 0x18, + 0x13, 0x86, 0xb6, 0x3f, 0x27, 0x48, 0xd9, 0xa0, +}; +static const unsigned char kat3595_addinpr1[] = { + 0x47, 0x03, 0x7e, 0xd6, 0xde, 0x88, 0x4a, 0xb7, 0xa5, 0x87, 0x67, 0x8f, + 0x95, 0x90, 0x76, 0x4d, 0x8e, 0x07, 0xd1, 0xd3, 0xb3, 0xbd, 0xbd, 0x2f, + 0x31, 0xda, 0x45, 0xed, 0xfa, 0xf8, 0x7a, 0x9e, +}; +static const unsigned char kat3595_entropyinpr2[] = { + 0x79, 0x9f, 0x40, 0xa0, 0x64, 0x2d, 0xcf, 0x0c, 0xe2, 0x05, 0xc0, 0x2b, + 0x2b, 0xfb, 0x5f, 0xb2, 0xa1, 0x07, 0x45, 0xd9, 0x69, 0x0d, 0x2d, 0x62, + 0x1f, 0xd2, 0xc0, 0x84, 0x41, 0xe0, 0xb8, 0xbe, +}; +static const unsigned char kat3595_addinpr2[] = { + 0xce, 0x80, 0xd2, 0x93, 0x6b, 0x50, 0xdb, 0xc9, 0x74, 0x2b, 0x09, 0x1d, + 0x7e, 0x1b, 0x20, 0xfa, 0x78, 0xf0, 0x1e, 0x32, 0x88, 0xc3, 0xf0, 0xc6, + 0x2e, 0x7d, 0x99, 0x5f, 0x9c, 0xc1, 0x10, 0x7d, +}; +static const unsigned char kat3595_retbits[] = { + 0x12, 0xa5, 0x41, 0x14, 0xe9, 0x6d, 0xcb, 0xfe, 0x4e, 0xce, 0xd7, 0x5a, + 0x98, 0xb5, 0xb8, 0xa3, 0x77, 0x68, 0xbb, 0x62, 0x96, 0x2a, 0x2a, 0x4f, + 0x0c, 0x0e, 0xe3, 0x8e, 0x08, 0xa9, 0x08, 0xf2, 0x5d, 0xe4, 0x8f, 0x5b, + 0xee, 0x4c, 0x9a, 0x9e, 0x1c, 0xc0, 0x3d, 0x3a, 0x8c, 0xf8, 0xbe, 0xdb, + 0xc7, 0x38, 0xa3, 0x56, 0x7a, 0x84, 0xc2, 0x87, 0x76, 0xc4, 0x47, 0x8f, + 0xa2, 0xf1, 0x83, 0x51, +}; +static const struct drbg_kat_pr_true kat3595_t = { + 9, kat3595_entropyin, kat3595_nonce, kat3595_persstr, + kat3595_entropyinpr1, kat3595_addinpr1, kat3595_entropyinpr2, + kat3595_addinpr2, kat3595_retbits +}; +static const struct drbg_kat kat3595 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3595_t +}; + +static const unsigned char kat3596_entropyin[] = { + 0x86, 0x06, 0x71, 0xa4, 0x2a, 0xd1, 0xea, 0x67, 0x71, 0x1d, 0xb8, 0x9f, + 0x7d, 0x3f, 0xe7, 0xed, 0x05, 0x26, 0x90, 0x84, 0xc8, 0xc0, 0xdf, 0xf7, + 0x67, 0x6b, 0x6b, 0x6e, 0x8c, 0x63, 0xd3, 0x9f, +}; +static const unsigned char kat3596_nonce[] = { + 0xa2, 0xbd, 0x71, 0x11, 0x92, 0xa3, 0xb3, 0x81, 0xa6, 0xa7, 0x79, 0x86, + 0x26, 0xb4, 0xa0, 0x70, +}; +static const unsigned char kat3596_persstr[] = { + 0x56, 0xef, 0x96, 0x08, 0x34, 0x9f, 0x6a, 0xdd, 0x6e, 0x04, 0xbb, 0x9f, + 0x91, 0x7d, 0x8d, 0x01, 0x12, 0x86, 0x3b, 0x4f, 0x32, 0xab, 0x6b, 0xe0, + 0xf6, 0x05, 0x55, 0x32, 0x13, 0xe1, 0xbd, 0x71, +}; +static const unsigned char kat3596_entropyinpr1[] = { + 0x2d, 0x28, 0x29, 0x91, 0x2f, 0xc0, 0x83, 0xaf, 0x8c, 0xf2, 0x7a, 0x82, + 0x67, 0x0f, 0x30, 0x68, 0xbd, 0xda, 0x73, 0x9f, 0x73, 0xa5, 0x12, 0x0c, + 0x05, 0x69, 0x23, 0xc7, 0x5a, 0x06, 0xef, 0x0d, +}; +static const unsigned char kat3596_addinpr1[] = { + 0x41, 0x77, 0xba, 0xda, 0x3f, 0xe1, 0x39, 0x32, 0x68, 0xd1, 0x98, 0x69, + 0xa5, 0x6e, 0x7c, 0xe8, 0xd3, 0xdf, 0xab, 0x82, 0x0f, 0x9f, 0x23, 0x75, + 0xac, 0x99, 0xe8, 0x72, 0x76, 0x93, 0x1e, 0x51, +}; +static const unsigned char kat3596_entropyinpr2[] = { + 0xf6, 0xac, 0x02, 0x4b, 0x6c, 0xca, 0x29, 0x0a, 0x37, 0x29, 0x15, 0x57, + 0xb7, 0x64, 0x95, 0x87, 0x62, 0x3a, 0x75, 0x2d, 0x1a, 0x08, 0x8e, 0xa4, + 0xf2, 0xc6, 0xba, 0x8e, 0x95, 0xc0, 0x38, 0x08, +}; +static const unsigned char kat3596_addinpr2[] = { + 0xe2, 0x54, 0xbf, 0x0d, 0xd8, 0x01, 0x16, 0xb9, 0xea, 0x95, 0xf8, 0xbe, + 0x00, 0x89, 0x45, 0xe8, 0x69, 0x65, 0x8e, 0x75, 0xf8, 0xfc, 0xa8, 0xaf, + 0x3d, 0x8f, 0xe7, 0xbc, 0x86, 0x92, 0x5e, 0x4b, +}; +static const unsigned char kat3596_retbits[] = { + 0x7b, 0xe6, 0x39, 0x6c, 0xa2, 0x06, 0xf6, 0xf0, 0x6d, 0x8e, 0x41, 0x34, + 0x5b, 0x6b, 0x3f, 0xd4, 0x7e, 0x38, 0x1c, 0x69, 0x0a, 0x0d, 0x18, 0x38, + 0x56, 0x03, 0x89, 0x91, 0x14, 0x11, 0x3c, 0x2d, 0xa1, 0xb9, 0x24, 0xca, + 0xbc, 0x7a, 0x17, 0x00, 0x58, 0xee, 0x14, 0xa1, 0x58, 0x73, 0xe7, 0x66, + 0xfd, 0xfb, 0x1f, 0xce, 0x8a, 0xf9, 0x6c, 0x5b, 0x58, 0x95, 0x91, 0x3c, + 0x57, 0x49, 0x28, 0xb7, +}; +static const struct drbg_kat_pr_true kat3596_t = { + 10, kat3596_entropyin, kat3596_nonce, kat3596_persstr, + kat3596_entropyinpr1, kat3596_addinpr1, kat3596_entropyinpr2, + kat3596_addinpr2, kat3596_retbits +}; +static const struct drbg_kat kat3596 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3596_t +}; + +static const unsigned char kat3597_entropyin[] = { + 0x67, 0xa8, 0x1d, 0x11, 0xf3, 0x52, 0x18, 0x3b, 0x31, 0xd9, 0x5e, 0x0c, + 0x2f, 0xcf, 0xab, 0xb4, 0x72, 0xeb, 0x91, 0x8f, 0x5e, 0x04, 0xc5, 0x92, + 0x57, 0x9f, 0xff, 0x2c, 0xdd, 0x96, 0x95, 0xd0, +}; +static const unsigned char kat3597_nonce[] = { + 0x9d, 0x72, 0x94, 0xca, 0xcc, 0x19, 0xc1, 0x76, 0x86, 0x89, 0x4e, 0xbd, + 0xac, 0x26, 0xfc, 0xe9, +}; +static const unsigned char kat3597_persstr[] = { + 0xac, 0xca, 0x3c, 0xc3, 0x93, 0x34, 0xcd, 0x62, 0x2e, 0x52, 0x23, 0xf5, + 0x5f, 0x78, 0xf4, 0x82, 0xc1, 0x3c, 0xc0, 0x78, 0x24, 0x00, 0x0d, 0xab, + 0xca, 0xde, 0x81, 0x79, 0xa9, 0x6b, 0xb1, 0x12, +}; +static const unsigned char kat3597_entropyinpr1[] = { + 0x35, 0xe1, 0x85, 0xb5, 0x42, 0x9e, 0xd1, 0x10, 0xa8, 0x99, 0x73, 0x29, + 0xa7, 0xd3, 0x14, 0xe7, 0xc8, 0x05, 0xd4, 0x95, 0x82, 0x38, 0x85, 0x5b, + 0x5b, 0x7f, 0x61, 0xe7, 0x14, 0x5a, 0xd8, 0x24, +}; +static const unsigned char kat3597_addinpr1[] = { + 0xdb, 0x7b, 0x3b, 0x9c, 0xba, 0x0d, 0xfa, 0x6d, 0x13, 0x7f, 0x91, 0x67, + 0x54, 0x85, 0x15, 0x11, 0x27, 0x1b, 0x7e, 0xf4, 0x5c, 0x86, 0x3f, 0xfc, + 0xa7, 0x62, 0x8b, 0x14, 0x27, 0x5e, 0xd0, 0xd4, +}; +static const unsigned char kat3597_entropyinpr2[] = { + 0xd9, 0xe4, 0xb2, 0x28, 0x3b, 0x9e, 0x72, 0x74, 0xa3, 0x6b, 0x04, 0xa5, + 0xd5, 0xf2, 0x01, 0x7d, 0x1f, 0x35, 0xa0, 0x8c, 0x4f, 0x14, 0x7f, 0x76, + 0x4e, 0x2e, 0x9f, 0xc9, 0xa4, 0x03, 0x16, 0x1c, +}; +static const unsigned char kat3597_addinpr2[] = { + 0x5b, 0xb4, 0x7d, 0x5c, 0x5c, 0x88, 0xd0, 0x70, 0xcc, 0xe4, 0xc4, 0x10, + 0x0c, 0xe4, 0x0d, 0x0c, 0xea, 0x07, 0xf1, 0xd5, 0xe7, 0xdf, 0x56, 0xcd, + 0x3f, 0xd3, 0xf6, 0x52, 0xd1, 0xb5, 0x24, 0xce, +}; +static const unsigned char kat3597_retbits[] = { + 0xde, 0x19, 0x0a, 0xf2, 0x00, 0x16, 0x98, 0x52, 0x26, 0x1b, 0xae, 0x91, + 0x6c, 0x76, 0xc1, 0xe6, 0x70, 0x6a, 0x6a, 0x50, 0x66, 0x1c, 0x4e, 0x90, + 0x04, 0x94, 0xa3, 0x3e, 0x51, 0xb7, 0x37, 0x6d, 0xa6, 0x96, 0xd6, 0x08, + 0x66, 0x72, 0x50, 0x33, 0x27, 0x89, 0xe2, 0x80, 0x78, 0x1c, 0x9d, 0x7c, + 0x0e, 0xba, 0x9e, 0x29, 0x10, 0x25, 0x6c, 0x7f, 0xe4, 0x16, 0x1a, 0xdb, + 0x82, 0x6c, 0xbe, 0x07, +}; +static const struct drbg_kat_pr_true kat3597_t = { + 11, kat3597_entropyin, kat3597_nonce, kat3597_persstr, + kat3597_entropyinpr1, kat3597_addinpr1, kat3597_entropyinpr2, + kat3597_addinpr2, kat3597_retbits +}; +static const struct drbg_kat kat3597 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3597_t +}; + +static const unsigned char kat3598_entropyin[] = { + 0x4b, 0x19, 0xb7, 0x3d, 0x91, 0x00, 0x6d, 0x9c, 0xa6, 0x0d, 0x18, 0x6c, + 0xc6, 0x72, 0x17, 0xb9, 0x79, 0x77, 0xd2, 0xe1, 0x39, 0xad, 0x51, 0xe2, + 0x5f, 0xfc, 0x24, 0x43, 0x32, 0xb1, 0xdd, 0x06, +}; +static const unsigned char kat3598_nonce[] = { + 0x3a, 0xef, 0xf5, 0x55, 0x76, 0x42, 0xf2, 0x3e, 0xee, 0x84, 0x58, 0xd0, + 0xea, 0xa8, 0x3b, 0x85, +}; +static const unsigned char kat3598_persstr[] = { + 0x9f, 0x8d, 0x6f, 0xe7, 0x0b, 0x20, 0xc6, 0x37, 0x4d, 0xfd, 0x6d, 0x9d, + 0x3f, 0xfc, 0x16, 0xb0, 0xe8, 0x95, 0x2c, 0x03, 0x99, 0x44, 0x5d, 0xd9, + 0xd7, 0x4c, 0xfc, 0xf2, 0x36, 0x04, 0xee, 0x59, +}; +static const unsigned char kat3598_entropyinpr1[] = { + 0xf3, 0x6c, 0xee, 0xd5, 0xeb, 0xbc, 0x38, 0x71, 0x6f, 0x7e, 0x50, 0x6d, + 0x81, 0xcf, 0x04, 0x27, 0xb9, 0x4c, 0x8a, 0x39, 0x46, 0x55, 0x59, 0x5b, + 0x31, 0x3e, 0xf5, 0x71, 0x81, 0xec, 0x3f, 0x35, +}; +static const unsigned char kat3598_addinpr1[] = { + 0x54, 0x31, 0x05, 0xca, 0xd4, 0x55, 0x04, 0x11, 0xfb, 0x26, 0xd4, 0x64, + 0xed, 0xa0, 0xcb, 0x3c, 0x62, 0xcc, 0x87, 0xae, 0xef, 0x29, 0x2a, 0xe3, + 0xb7, 0x4e, 0x9a, 0xdf, 0x23, 0xd8, 0xad, 0x2e, +}; +static const unsigned char kat3598_entropyinpr2[] = { + 0xca, 0x63, 0xdd, 0xed, 0x9e, 0xbe, 0xc1, 0x50, 0xaf, 0x62, 0x6b, 0x73, + 0xf0, 0xc7, 0xf5, 0x87, 0x66, 0x5d, 0x59, 0x9b, 0x3a, 0x2e, 0xe7, 0x0a, + 0x9a, 0x0e, 0x6f, 0x46, 0xc4, 0xe3, 0xea, 0x82, +}; +static const unsigned char kat3598_addinpr2[] = { + 0xbf, 0xd4, 0xc4, 0x8a, 0xae, 0x26, 0xf7, 0x09, 0x9d, 0xc3, 0x05, 0x69, + 0xe0, 0x35, 0x1d, 0xe4, 0x3a, 0x60, 0x2d, 0xfa, 0xe3, 0xc3, 0x21, 0xcb, + 0x7e, 0xf8, 0xb5, 0x7e, 0x4d, 0xbf, 0x30, 0xda, +}; +static const unsigned char kat3598_retbits[] = { + 0x87, 0x82, 0xa2, 0xb6, 0x05, 0xe1, 0x0a, 0x5e, 0xfd, 0xf9, 0x60, 0xa6, + 0xc8, 0x03, 0x21, 0x07, 0xd0, 0x88, 0xaa, 0x11, 0x0b, 0xb4, 0xd4, 0xa3, + 0x36, 0x16, 0xca, 0x31, 0xaf, 0x1a, 0x15, 0xb7, 0x9e, 0x36, 0x57, 0x62, + 0x1c, 0x50, 0x96, 0xdf, 0xcb, 0xc4, 0x50, 0x86, 0x89, 0xcf, 0xe8, 0x5a, + 0xc1, 0xb6, 0xd0, 0x0f, 0x6e, 0x45, 0xc4, 0x5d, 0xa9, 0x14, 0x5b, 0x84, + 0xe3, 0x3b, 0xd6, 0x03, +}; +static const struct drbg_kat_pr_true kat3598_t = { + 12, kat3598_entropyin, kat3598_nonce, kat3598_persstr, + kat3598_entropyinpr1, kat3598_addinpr1, kat3598_entropyinpr2, + kat3598_addinpr2, kat3598_retbits +}; +static const struct drbg_kat kat3598 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3598_t +}; + +static const unsigned char kat3599_entropyin[] = { + 0x14, 0x7a, 0xc0, 0x57, 0x6d, 0x43, 0x7f, 0xc0, 0x34, 0xec, 0xf7, 0xa1, + 0x73, 0x85, 0xe3, 0xb7, 0x81, 0x1b, 0x5e, 0xb3, 0xc9, 0xc9, 0x07, 0x6e, + 0x29, 0x09, 0x29, 0x72, 0xd0, 0x72, 0x80, 0x01, +}; +static const unsigned char kat3599_nonce[] = { + 0x4b, 0x61, 0x05, 0x7a, 0xc2, 0xfa, 0x6f, 0x39, 0xda, 0x57, 0x1f, 0x32, + 0xcc, 0xec, 0x2c, 0xc1, +}; +static const unsigned char kat3599_persstr[] = { + 0xc8, 0xdb, 0xa9, 0xd9, 0x20, 0xfe, 0xe3, 0xdd, 0x19, 0xba, 0xc7, 0xb5, + 0x55, 0x3d, 0x0b, 0x25, 0x97, 0x1c, 0x08, 0x7a, 0x99, 0x2c, 0x65, 0x13, + 0x39, 0xc1, 0x91, 0xc3, 0xff, 0xc4, 0x21, 0x64, +}; +static const unsigned char kat3599_entropyinpr1[] = { + 0xe6, 0xee, 0x39, 0x9a, 0xdd, 0x12, 0x7e, 0x28, 0x82, 0xd0, 0x09, 0x18, + 0xd6, 0x29, 0x2f, 0x1c, 0x9e, 0x41, 0x87, 0xfd, 0xee, 0xf8, 0x02, 0xd2, + 0x77, 0x20, 0x93, 0x34, 0x1e, 0x24, 0xea, 0xdd, +}; +static const unsigned char kat3599_addinpr1[] = { + 0xb5, 0x77, 0xea, 0x45, 0x6c, 0x0d, 0x58, 0x90, 0xbc, 0xd7, 0xd2, 0x59, + 0x3b, 0x51, 0xab, 0xf1, 0x87, 0xe6, 0xdc, 0x42, 0xcc, 0xa7, 0x27, 0xb3, + 0xba, 0x7e, 0x7e, 0xeb, 0xab, 0x68, 0xe6, 0x25, +}; +static const unsigned char kat3599_entropyinpr2[] = { + 0x3f, 0xdf, 0xb9, 0x2a, 0xab, 0xac, 0xde, 0x1f, 0xcf, 0x57, 0x5a, 0xa5, + 0xab, 0xc2, 0xf7, 0xe5, 0x4f, 0x90, 0xa7, 0x77, 0xce, 0x2d, 0x90, 0x4a, + 0xaa, 0x07, 0x8b, 0xe8, 0xd7, 0x0a, 0xf5, 0xb1, +}; +static const unsigned char kat3599_addinpr2[] = { + 0x1c, 0xb8, 0x41, 0x8e, 0x51, 0x82, 0x81, 0xf1, 0xb7, 0xb8, 0x40, 0x59, + 0xea, 0xd1, 0xc0, 0x6d, 0x2e, 0x14, 0x87, 0x26, 0xa3, 0xc3, 0xfc, 0xc7, + 0xab, 0xd4, 0x84, 0x9c, 0x86, 0xd0, 0xab, 0xdb, +}; +static const unsigned char kat3599_retbits[] = { + 0xf9, 0xb0, 0xa0, 0xef, 0x77, 0x32, 0xad, 0xed, 0xc5, 0xd6, 0x2d, 0xb5, + 0x38, 0x69, 0xc0, 0xd6, 0x10, 0xe5, 0x7a, 0xd5, 0x7b, 0xbd, 0x02, 0xef, + 0x41, 0x7d, 0x16, 0x84, 0x55, 0xa8, 0xfd, 0x1b, 0x1d, 0x01, 0xc6, 0xf6, + 0xac, 0xec, 0x68, 0xac, 0xab, 0xb5, 0x62, 0x71, 0x90, 0xa8, 0x02, 0x00, + 0x54, 0x0d, 0x57, 0xae, 0x26, 0xd0, 0xc1, 0x97, 0xfd, 0xce, 0x4a, 0x27, + 0x25, 0x7f, 0x70, 0x30, +}; +static const struct drbg_kat_pr_true kat3599_t = { + 13, kat3599_entropyin, kat3599_nonce, kat3599_persstr, + kat3599_entropyinpr1, kat3599_addinpr1, kat3599_entropyinpr2, + kat3599_addinpr2, kat3599_retbits +}; +static const struct drbg_kat kat3599 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3599_t +}; + +static const unsigned char kat3600_entropyin[] = { + 0x3a, 0x59, 0x99, 0xb2, 0xcb, 0xaa, 0x25, 0xe3, 0xfd, 0xa6, 0xcf, 0x86, + 0x8c, 0x9b, 0xc2, 0xe0, 0x92, 0x2b, 0x48, 0x23, 0x01, 0x7c, 0x9f, 0x66, + 0xf4, 0xa5, 0x32, 0xb5, 0x74, 0xd0, 0x30, 0x21, +}; +static const unsigned char kat3600_nonce[] = { + 0x0e, 0x65, 0xb1, 0xe4, 0x65, 0x13, 0x6f, 0xd4, 0x7b, 0xc7, 0xb1, 0x2f, + 0x90, 0x5a, 0x73, 0x6f, +}; +static const unsigned char kat3600_persstr[] = { + 0x50, 0xfc, 0x46, 0xa2, 0xc8, 0x8a, 0xaa, 0xf7, 0x95, 0x93, 0x6c, 0x12, + 0x65, 0x6c, 0x3e, 0xab, 0x2e, 0xa9, 0xa3, 0xd9, 0xf3, 0x34, 0x64, 0xba, + 0xda, 0x67, 0x38, 0x47, 0x87, 0x1c, 0x43, 0x41, +}; +static const unsigned char kat3600_entropyinpr1[] = { + 0xe9, 0x63, 0x81, 0xb8, 0x9c, 0x4d, 0x6d, 0x9a, 0x10, 0x61, 0x84, 0xf8, + 0xfa, 0x72, 0x27, 0x93, 0x3d, 0xd6, 0x0d, 0x86, 0x9e, 0x84, 0xfe, 0xdd, + 0x5e, 0xaa, 0x14, 0x23, 0xca, 0xb6, 0xc7, 0xbc, +}; +static const unsigned char kat3600_addinpr1[] = { + 0xf1, 0xfa, 0xcb, 0x82, 0x2c, 0x5c, 0x0b, 0xe6, 0xfd, 0x65, 0x58, 0xb6, + 0xc1, 0xf3, 0xb7, 0x57, 0x4e, 0x5e, 0x42, 0x68, 0xcb, 0x24, 0xe8, 0x31, + 0x02, 0xcb, 0x27, 0xa2, 0x82, 0xdf, 0xfd, 0x40, +}; +static const unsigned char kat3600_entropyinpr2[] = { + 0x72, 0x90, 0x1d, 0x3c, 0x63, 0x24, 0xcb, 0x6e, 0xea, 0x7e, 0x62, 0x87, + 0x97, 0x21, 0xc4, 0xab, 0x43, 0x7f, 0xca, 0xc4, 0x53, 0xcc, 0x43, 0xf1, + 0x79, 0x38, 0x88, 0x51, 0xb6, 0xd1, 0x60, 0xf3, +}; +static const unsigned char kat3600_addinpr2[] = { + 0x37, 0x3b, 0x7d, 0x3c, 0x6e, 0x3c, 0x07, 0x90, 0x7a, 0x45, 0xe6, 0x29, + 0x2d, 0xa0, 0x29, 0x91, 0xc2, 0x52, 0xb4, 0xf3, 0x68, 0xac, 0x89, 0x4e, + 0x44, 0xfe, 0x27, 0x41, 0xd6, 0x3e, 0xdb, 0xc5, +}; +static const unsigned char kat3600_retbits[] = { + 0xef, 0xfd, 0xdd, 0x2d, 0x7c, 0x39, 0xdf, 0x20, 0x55, 0x0e, 0x03, 0xad, + 0x21, 0xcc, 0xba, 0x6f, 0x67, 0x75, 0xa9, 0x27, 0x26, 0xaf, 0x56, 0x7a, + 0x80, 0xbc, 0xc9, 0x15, 0x23, 0xf3, 0x64, 0x6e, 0xc1, 0x56, 0xcb, 0xaa, + 0xbd, 0x4f, 0xdb, 0x13, 0xc6, 0x31, 0x05, 0xf2, 0xb7, 0x71, 0xf9, 0x4f, + 0xbd, 0xec, 0x6a, 0x26, 0x70, 0xf8, 0xfb, 0x26, 0x3c, 0xde, 0xc3, 0xac, + 0x1b, 0x77, 0x57, 0x74, +}; +static const struct drbg_kat_pr_true kat3600_t = { + 14, kat3600_entropyin, kat3600_nonce, kat3600_persstr, + kat3600_entropyinpr1, kat3600_addinpr1, kat3600_entropyinpr2, + kat3600_addinpr2, kat3600_retbits +}; +static const struct drbg_kat kat3600 = { + PR_TRUE, USE_DF, NID_aes_256_ctr, 32, 16, 32, 32, 64, &kat3600_t +}; + +static const unsigned char kat3601_entropyin[] = { + 0xf1, 0x89, 0x3b, 0xe2, 0xbc, 0x86, 0xc8, 0x0d, 0x64, 0x22, 0xf3, 0xd5, + 0x86, 0xc0, 0xa8, 0xce, 0x9b, 0xad, 0x64, 0x86, 0xf2, 0x31, 0x23, 0xf0, + 0x2b, 0xa0, 0x14, 0x03, 0x38, 0x4b, 0x83, 0xfe, +}; +static const unsigned char kat3601_nonce[] = {0}; +static const unsigned char kat3601_persstr[] = {0}; +static const unsigned char kat3601_entropyinpr1[] = { + 0x79, 0xdd, 0xe8, 0xe1, 0x50, 0x28, 0x18, 0xdf, 0x74, 0x4e, 0x1a, 0xfe, + 0x8e, 0x5e, 0xcb, 0x3b, 0x8d, 0x19, 0x36, 0x51, 0x82, 0xc7, 0x95, 0x72, + 0x60, 0xd1, 0x79, 0x4e, 0x54, 0x91, 0x26, 0x20, +}; +static const unsigned char kat3601_addinpr1[] = {0}; +static const unsigned char kat3601_entropyinpr2[] = { + 0xcf, 0x68, 0x4f, 0xd0, 0xee, 0xbb, 0xa7, 0x79, 0x01, 0xef, 0xcb, 0xe3, + 0xcc, 0x52, 0x97, 0xba, 0x9f, 0x04, 0x36, 0x7f, 0xd5, 0x4f, 0xe6, 0xaf, + 0x94, 0x63, 0xad, 0x2e, 0xbc, 0xfe, 0xdb, 0xf4, +}; +static const unsigned char kat3601_addinpr2[] = {0}; +static const unsigned char kat3601_retbits[] = { + 0xfd, 0xb9, 0x7f, 0x0e, 0xb2, 0x72, 0x79, 0xb8, 0xd8, 0x85, 0xf2, 0x46, + 0x2e, 0x89, 0x68, 0xdc, 0x4c, 0x92, 0x66, 0xf8, 0x11, 0x67, 0x35, 0x9d, + 0x89, 0xdf, 0x4c, 0x32, 0x76, 0x42, 0xea, 0xe1, 0xb3, 0x13, 0x1f, 0x90, + 0xd6, 0x4c, 0x1b, 0x5a, 0x0e, 0x71, 0x95, 0x02, 0x84, 0xfc, 0x3f, 0xd0, + 0x26, 0x20, 0x10, 0x94, 0xe8, 0xab, 0x3f, 0x37, 0x60, 0x18, 0x4d, 0x71, + 0x84, 0xc9, 0x0a, 0x34, +}; +static const struct drbg_kat_pr_true kat3601_t = { + 0, kat3601_entropyin, kat3601_nonce, kat3601_persstr, + kat3601_entropyinpr1, kat3601_addinpr1, kat3601_entropyinpr2, + kat3601_addinpr2, kat3601_retbits +}; +static const struct drbg_kat kat3601 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3601_t +}; + +static const unsigned char kat3602_entropyin[] = { + 0x61, 0x4c, 0x33, 0xc5, 0x44, 0xb0, 0xe8, 0xc2, 0x81, 0x17, 0xc5, 0xe7, + 0x59, 0xb6, 0x81, 0x07, 0x0e, 0x15, 0x7b, 0x6f, 0x3c, 0xeb, 0xa2, 0x56, + 0x75, 0xd7, 0x79, 0x1d, 0xbf, 0x79, 0x61, 0xe8, +}; +static const unsigned char kat3602_nonce[] = {0}; +static const unsigned char kat3602_persstr[] = {0}; +static const unsigned char kat3602_entropyinpr1[] = { + 0xcb, 0xf2, 0xbe, 0x8b, 0xbb, 0xa5, 0x88, 0x11, 0xdd, 0xc7, 0xa9, 0x71, + 0x23, 0xca, 0xae, 0xa1, 0x2d, 0xd7, 0x96, 0xdb, 0xa8, 0x71, 0xfd, 0xd4, + 0x89, 0xd1, 0x58, 0xb8, 0x9d, 0xb5, 0xbf, 0x6d, +}; +static const unsigned char kat3602_addinpr1[] = {0}; +static const unsigned char kat3602_entropyinpr2[] = { + 0xf0, 0xc8, 0x1d, 0x9f, 0x75, 0x0b, 0x2b, 0xde, 0x9d, 0xb4, 0x52, 0x6f, + 0x58, 0x8b, 0x59, 0xba, 0x09, 0x5e, 0x8a, 0x02, 0xe2, 0x5f, 0x34, 0x0c, + 0x71, 0xb5, 0x2a, 0x98, 0xb6, 0x03, 0xe7, 0x36, +}; +static const unsigned char kat3602_addinpr2[] = {0}; +static const unsigned char kat3602_retbits[] = { + 0xbf, 0x22, 0xde, 0x04, 0xc7, 0xf6, 0x29, 0x57, 0xe6, 0x48, 0x65, 0xb8, + 0x6b, 0x7d, 0xba, 0x29, 0x73, 0x7b, 0x8a, 0xeb, 0xaf, 0x5b, 0x91, 0x25, + 0x73, 0x79, 0x42, 0x13, 0x41, 0xdd, 0xd1, 0x22, 0x52, 0x51, 0x4d, 0x3c, + 0xc2, 0x20, 0x4e, 0xde, 0x75, 0x65, 0xaf, 0x58, 0x55, 0x2d, 0xfb, 0x87, + 0x67, 0x58, 0x69, 0x17, 0xfa, 0xcc, 0x70, 0x06, 0x85, 0xc7, 0x03, 0x0d, + 0xa1, 0x38, 0x41, 0x36, +}; +static const struct drbg_kat_pr_true kat3602_t = { + 1, kat3602_entropyin, kat3602_nonce, kat3602_persstr, + kat3602_entropyinpr1, kat3602_addinpr1, kat3602_entropyinpr2, + kat3602_addinpr2, kat3602_retbits +}; +static const struct drbg_kat kat3602 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3602_t +}; + +static const unsigned char kat3603_entropyin[] = { + 0x7f, 0x00, 0x38, 0xcc, 0xa3, 0xc7, 0x7c, 0x95, 0x4a, 0x67, 0xec, 0xda, + 0x1b, 0xc0, 0xf5, 0x59, 0x85, 0x6e, 0xdd, 0xef, 0xf3, 0x2a, 0x27, 0x41, + 0x44, 0x9b, 0x8f, 0xdb, 0x12, 0x3c, 0x8c, 0x93, +}; +static const unsigned char kat3603_nonce[] = {0}; +static const unsigned char kat3603_persstr[] = {0}; +static const unsigned char kat3603_entropyinpr1[] = { + 0x09, 0xbe, 0x22, 0x7d, 0xc9, 0xc3, 0x00, 0xb5, 0xa0, 0x58, 0xb7, 0xa4, + 0x17, 0xb0, 0xa8, 0xae, 0x76, 0xe0, 0xfb, 0x63, 0xba, 0x77, 0x86, 0x6d, + 0xdd, 0x27, 0xc3, 0x3f, 0xe4, 0x0c, 0x86, 0x8d, +}; +static const unsigned char kat3603_addinpr1[] = {0}; +static const unsigned char kat3603_entropyinpr2[] = { + 0x37, 0xcc, 0x30, 0xa0, 0x4a, 0x78, 0xc3, 0xa7, 0x7b, 0x01, 0x05, 0xd9, + 0xc2, 0xb7, 0x2f, 0xe1, 0x55, 0x11, 0xa2, 0xfa, 0xdc, 0x31, 0x5d, 0x04, + 0x1c, 0x6d, 0xfc, 0xd9, 0xe0, 0x54, 0x7b, 0x43, +}; +static const unsigned char kat3603_addinpr2[] = {0}; +static const unsigned char kat3603_retbits[] = { + 0x1a, 0x5b, 0x3d, 0x85, 0xe2, 0xd9, 0x2e, 0xbf, 0x1f, 0x49, 0x51, 0xed, + 0xad, 0x6b, 0x0a, 0xe2, 0xe7, 0x4b, 0x38, 0x12, 0x5b, 0x32, 0x40, 0xb7, + 0x0d, 0xd6, 0x09, 0xc9, 0x92, 0xb3, 0xd5, 0x2e, 0xce, 0xfb, 0xab, 0x51, + 0x9d, 0x6d, 0x15, 0xf0, 0xb9, 0x3c, 0xf9, 0xae, 0x62, 0x30, 0xd9, 0xcb, + 0xcb, 0xd1, 0x7e, 0x56, 0x20, 0xa8, 0x93, 0xf1, 0x9a, 0x85, 0x11, 0x70, + 0x4a, 0x0c, 0xe9, 0xf7, +}; +static const struct drbg_kat_pr_true kat3603_t = { + 2, kat3603_entropyin, kat3603_nonce, kat3603_persstr, + kat3603_entropyinpr1, kat3603_addinpr1, kat3603_entropyinpr2, + kat3603_addinpr2, kat3603_retbits +}; +static const struct drbg_kat kat3603 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3603_t +}; + +static const unsigned char kat3604_entropyin[] = { + 0x51, 0x68, 0x4d, 0x77, 0xf6, 0x18, 0xcb, 0x07, 0x66, 0x68, 0x55, 0xdf, + 0x7e, 0xcf, 0xbc, 0x82, 0xcb, 0x64, 0xe6, 0x39, 0x9d, 0x45, 0x21, 0x52, + 0x14, 0x1f, 0x78, 0x7b, 0x23, 0x20, 0x0d, 0x7e, +}; +static const unsigned char kat3604_nonce[] = {0}; +static const unsigned char kat3604_persstr[] = {0}; +static const unsigned char kat3604_entropyinpr1[] = { + 0xcb, 0x20, 0xc9, 0x70, 0xc4, 0xcb, 0x4a, 0x1a, 0x42, 0x9f, 0x6e, 0xc8, + 0x11, 0x7b, 0x7c, 0x25, 0x89, 0xd3, 0x21, 0x41, 0xf8, 0x93, 0x56, 0x21, + 0xee, 0x9b, 0xb1, 0x02, 0x7f, 0x61, 0x61, 0x0d, +}; +static const unsigned char kat3604_addinpr1[] = {0}; +static const unsigned char kat3604_entropyinpr2[] = { + 0x61, 0x29, 0x7e, 0x68, 0x17, 0xb3, 0xc1, 0xe4, 0x7c, 0x37, 0xa7, 0x81, + 0x2f, 0x01, 0xac, 0xcc, 0x89, 0xce, 0xc1, 0x5f, 0x5b, 0x71, 0x30, 0xfe, + 0xb2, 0xae, 0xbf, 0x59, 0x7b, 0xeb, 0xd4, 0x83, +}; +static const unsigned char kat3604_addinpr2[] = {0}; +static const unsigned char kat3604_retbits[] = { + 0x11, 0x97, 0xc0, 0x23, 0x06, 0x6f, 0xe8, 0x80, 0xd9, 0xe2, 0x1d, 0x01, + 0x07, 0x79, 0x1b, 0xc3, 0xd4, 0x62, 0x20, 0xba, 0x91, 0xf8, 0xef, 0xf7, + 0xf9, 0xef, 0x95, 0xf6, 0xa2, 0x64, 0x85, 0x1c, 0x62, 0x8c, 0x56, 0xcd, + 0x64, 0x4e, 0x45, 0x71, 0x14, 0xab, 0xfb, 0x4b, 0x69, 0xd2, 0xae, 0xe8, + 0x48, 0x58, 0xc8, 0x68, 0x17, 0x69, 0x57, 0xf5, 0xff, 0x05, 0x0d, 0x9a, + 0x0b, 0xf9, 0x78, 0xed, +}; +static const struct drbg_kat_pr_true kat3604_t = { + 3, kat3604_entropyin, kat3604_nonce, kat3604_persstr, + kat3604_entropyinpr1, kat3604_addinpr1, kat3604_entropyinpr2, + kat3604_addinpr2, kat3604_retbits +}; +static const struct drbg_kat kat3604 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3604_t +}; + +static const unsigned char kat3605_entropyin[] = { + 0x9d, 0x2b, 0xaf, 0x47, 0x0a, 0x2a, 0x8b, 0xd4, 0xae, 0xb5, 0x2d, 0x98, + 0xce, 0xe3, 0xca, 0x04, 0x79, 0x2c, 0x16, 0x84, 0xbf, 0xee, 0xa2, 0x76, + 0x63, 0xf3, 0x90, 0x74, 0xa0, 0x57, 0x30, 0x96, +}; +static const unsigned char kat3605_nonce[] = {0}; +static const unsigned char kat3605_persstr[] = {0}; +static const unsigned char kat3605_entropyinpr1[] = { + 0x06, 0x8d, 0x79, 0x4d, 0x7e, 0x8c, 0x85, 0x1e, 0xb1, 0xc4, 0xb3, 0x6b, + 0xd1, 0x54, 0x96, 0x6f, 0xd1, 0x0f, 0x0f, 0x43, 0xcc, 0xe4, 0x35, 0xcc, + 0x5b, 0xf1, 0x6e, 0x2e, 0x48, 0x9b, 0x9f, 0x4a, +}; +static const unsigned char kat3605_addinpr1[] = {0}; +static const unsigned char kat3605_entropyinpr2[] = { + 0xb2, 0x1e, 0x1c, 0x09, 0xc4, 0x68, 0x69, 0x3e, 0xb5, 0x8a, 0x46, 0x51, + 0x7f, 0xa4, 0xa7, 0x25, 0x5e, 0x99, 0x7d, 0x49, 0xb7, 0x41, 0xf7, 0x29, + 0xe1, 0x57, 0x1c, 0x18, 0x8e, 0x68, 0xe5, 0xc4, +}; +static const unsigned char kat3605_addinpr2[] = {0}; +static const unsigned char kat3605_retbits[] = { + 0xcf, 0xc8, 0x3d, 0x9d, 0x6d, 0x87, 0x16, 0x13, 0xf1, 0x68, 0x06, 0x95, + 0xe2, 0x48, 0xbe, 0x4a, 0x53, 0x01, 0xf2, 0x8f, 0xc1, 0x4e, 0x61, 0xf5, + 0x10, 0x41, 0xfb, 0xa7, 0x23, 0x0b, 0xe6, 0x66, 0x54, 0x79, 0x34, 0xd2, + 0x3a, 0xd1, 0x45, 0x6a, 0x53, 0xc0, 0x2b, 0xe4, 0x0f, 0x74, 0xa6, 0x6b, + 0x8a, 0x0a, 0x8e, 0xf9, 0x81, 0xe1, 0x13, 0x74, 0x02, 0x3b, 0x52, 0x0b, + 0xaf, 0x19, 0x33, 0xa5, +}; +static const struct drbg_kat_pr_true kat3605_t = { + 4, kat3605_entropyin, kat3605_nonce, kat3605_persstr, + kat3605_entropyinpr1, kat3605_addinpr1, kat3605_entropyinpr2, + kat3605_addinpr2, kat3605_retbits +}; +static const struct drbg_kat kat3605 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3605_t +}; + +static const unsigned char kat3606_entropyin[] = { + 0xc2, 0x2a, 0x02, 0x48, 0x5e, 0xd9, 0xb6, 0x7b, 0xae, 0x0a, 0x74, 0x2e, + 0xf6, 0x5a, 0x57, 0xae, 0x7c, 0x43, 0x33, 0x03, 0x1c, 0x81, 0xfe, 0x75, + 0x21, 0x66, 0x0a, 0xcd, 0xba, 0x06, 0xaa, 0x4a, +}; +static const unsigned char kat3606_nonce[] = {0}; +static const unsigned char kat3606_persstr[] = {0}; +static const unsigned char kat3606_entropyinpr1[] = { + 0x10, 0xf5, 0x34, 0xa0, 0xdd, 0x67, 0xb4, 0x09, 0x9e, 0x78, 0x30, 0x86, + 0xe8, 0x9f, 0xd5, 0x0d, 0x46, 0x7c, 0x79, 0x70, 0x35, 0x7e, 0xfe, 0xfc, + 0xde, 0xb9, 0xcf, 0xac, 0xb9, 0xb2, 0x5e, 0xeb, +}; +static const unsigned char kat3606_addinpr1[] = {0}; +static const unsigned char kat3606_entropyinpr2[] = { + 0x27, 0xb5, 0x27, 0x35, 0x93, 0x51, 0x89, 0x05, 0x98, 0xb1, 0xf8, 0x77, + 0x86, 0xbc, 0x20, 0xc7, 0x59, 0xa6, 0x08, 0x20, 0xcc, 0x54, 0x8c, 0xbf, + 0x12, 0x12, 0x6d, 0x56, 0xf4, 0xd1, 0xbc, 0xf9, +}; +static const unsigned char kat3606_addinpr2[] = {0}; +static const unsigned char kat3606_retbits[] = { + 0x29, 0x93, 0x2a, 0x12, 0x05, 0xa1, 0x87, 0x8a, 0x1b, 0xa5, 0xdb, 0xf0, + 0xeb, 0xe1, 0xb5, 0x09, 0x92, 0x73, 0x7d, 0x6d, 0x86, 0x10, 0x63, 0x16, + 0x46, 0x59, 0x45, 0xdb, 0x8e, 0xf4, 0xc5, 0x2a, 0x8c, 0x3e, 0xd9, 0xc3, + 0x14, 0x98, 0xa6, 0xb2, 0xed, 0x50, 0x2a, 0x85, 0x30, 0x28, 0xf1, 0xd2, + 0x17, 0x9f, 0x1e, 0xa6, 0x5e, 0x6f, 0x98, 0x02, 0x64, 0xee, 0xae, 0x82, + 0x5a, 0x02, 0x37, 0x76, +}; +static const struct drbg_kat_pr_true kat3606_t = { + 5, kat3606_entropyin, kat3606_nonce, kat3606_persstr, + kat3606_entropyinpr1, kat3606_addinpr1, kat3606_entropyinpr2, + kat3606_addinpr2, kat3606_retbits +}; +static const struct drbg_kat kat3606 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3606_t +}; + +static const unsigned char kat3607_entropyin[] = { + 0xd1, 0x23, 0xe0, 0x1d, 0xa1, 0xce, 0x99, 0x0f, 0x22, 0x4b, 0x03, 0xe8, + 0x8e, 0xc1, 0x9b, 0x90, 0x6c, 0x19, 0xcb, 0x09, 0xdf, 0xbf, 0x97, 0x4d, + 0xde, 0xeb, 0xe7, 0xe8, 0x48, 0xdc, 0xa6, 0x62, +}; +static const unsigned char kat3607_nonce[] = {0}; +static const unsigned char kat3607_persstr[] = {0}; +static const unsigned char kat3607_entropyinpr1[] = { + 0x1d, 0xda, 0xd2, 0xb4, 0xb7, 0xcf, 0x09, 0xa3, 0x47, 0x60, 0x72, 0xa9, + 0x2f, 0x35, 0x49, 0xd7, 0x54, 0xd7, 0xd5, 0x22, 0x5f, 0x23, 0xe3, 0xc7, + 0x51, 0x43, 0x65, 0x94, 0x66, 0x38, 0x2c, 0x6f, +}; +static const unsigned char kat3607_addinpr1[] = {0}; +static const unsigned char kat3607_entropyinpr2[] = { + 0x48, 0x40, 0x00, 0xb9, 0x77, 0xd6, 0xcf, 0xe6, 0x83, 0x57, 0x36, 0x43, + 0x68, 0x00, 0x4a, 0x62, 0x68, 0x5e, 0xa4, 0x92, 0xe3, 0x5d, 0x28, 0x5c, + 0x73, 0x45, 0xbd, 0xc3, 0x4d, 0x5c, 0x93, 0x87, +}; +static const unsigned char kat3607_addinpr2[] = {0}; +static const unsigned char kat3607_retbits[] = { + 0xa2, 0x0e, 0xa8, 0x7f, 0x11, 0x40, 0xac, 0xd6, 0x5b, 0xef, 0x4c, 0x32, + 0x2e, 0xb6, 0x73, 0xea, 0x7c, 0x43, 0x0d, 0x72, 0x91, 0x71, 0xae, 0x76, + 0x99, 0x40, 0x22, 0x29, 0xa7, 0xa2, 0xb0, 0x07, 0x89, 0xac, 0x08, 0x37, + 0x2a, 0x4c, 0x28, 0x75, 0x46, 0xe5, 0x20, 0x5c, 0xcc, 0xd3, 0xb8, 0x82, + 0x42, 0xf9, 0x4e, 0x31, 0x77, 0xc9, 0xeb, 0x42, 0x8d, 0x2b, 0xa2, 0xf0, + 0x2f, 0xa7, 0xb6, 0xcf, +}; +static const struct drbg_kat_pr_true kat3607_t = { + 6, kat3607_entropyin, kat3607_nonce, kat3607_persstr, + kat3607_entropyinpr1, kat3607_addinpr1, kat3607_entropyinpr2, + kat3607_addinpr2, kat3607_retbits +}; +static const struct drbg_kat kat3607 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3607_t +}; + +static const unsigned char kat3608_entropyin[] = { + 0x4c, 0xcb, 0xd9, 0x3d, 0xa2, 0x57, 0x56, 0xe0, 0xe9, 0xe0, 0x33, 0x63, + 0x30, 0x05, 0x97, 0xec, 0xca, 0x37, 0x7e, 0xa0, 0x5c, 0xb4, 0xf7, 0xb6, + 0x99, 0xca, 0xb1, 0x34, 0xc1, 0xf8, 0xa0, 0xe5, +}; +static const unsigned char kat3608_nonce[] = {0}; +static const unsigned char kat3608_persstr[] = {0}; +static const unsigned char kat3608_entropyinpr1[] = { + 0xdb, 0xbe, 0x7e, 0x04, 0x4a, 0xba, 0xaf, 0x9d, 0x69, 0x11, 0x52, 0x8e, + 0xf9, 0x05, 0x20, 0x2f, 0xdc, 0x49, 0x3c, 0xda, 0x87, 0xb1, 0x4f, 0x1e, + 0x49, 0x6c, 0xdf, 0xfe, 0xf2, 0x63, 0xbc, 0xd2, +}; +static const unsigned char kat3608_addinpr1[] = {0}; +static const unsigned char kat3608_entropyinpr2[] = { + 0x30, 0x60, 0xb4, 0x68, 0x97, 0x3a, 0x86, 0xb8, 0xdf, 0xd6, 0x6e, 0x31, + 0xe4, 0x2f, 0x57, 0x9b, 0x4d, 0x0d, 0xcf, 0x10, 0x0e, 0xc2, 0xdf, 0xe2, + 0xd0, 0x88, 0x9f, 0x2c, 0x9f, 0x0b, 0xb5, 0x83, +}; +static const unsigned char kat3608_addinpr2[] = {0}; +static const unsigned char kat3608_retbits[] = { + 0x3a, 0xe7, 0xe9, 0x59, 0x91, 0xbe, 0xe3, 0x93, 0xfb, 0xde, 0xa4, 0x03, + 0x6b, 0xb0, 0x6c, 0xf7, 0x57, 0xb2, 0xed, 0x67, 0xfb, 0xe3, 0x84, 0x12, + 0x41, 0x29, 0x26, 0x4f, 0xbf, 0x45, 0xab, 0xd7, 0xeb, 0x50, 0x52, 0x86, + 0xd8, 0xc5, 0xa3, 0xf3, 0x10, 0x46, 0x0f, 0xc0, 0x4c, 0x6a, 0x11, 0x2c, + 0x3a, 0x9a, 0x2a, 0x6a, 0x1e, 0x2c, 0x53, 0x07, 0xbb, 0xcb, 0x69, 0x04, + 0xfc, 0x90, 0x63, 0xb6, +}; +static const struct drbg_kat_pr_true kat3608_t = { + 7, kat3608_entropyin, kat3608_nonce, kat3608_persstr, + kat3608_entropyinpr1, kat3608_addinpr1, kat3608_entropyinpr2, + kat3608_addinpr2, kat3608_retbits +}; +static const struct drbg_kat kat3608 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3608_t +}; + +static const unsigned char kat3609_entropyin[] = { + 0x89, 0xb9, 0x0a, 0x5a, 0x28, 0x26, 0x73, 0xe0, 0x95, 0x97, 0x4c, 0xa1, + 0xd3, 0x83, 0x67, 0x41, 0x48, 0xe3, 0x83, 0x1d, 0x5b, 0x29, 0x4e, 0x64, + 0xf2, 0x39, 0x78, 0x8c, 0xb7, 0xb7, 0xb5, 0xfe, +}; +static const unsigned char kat3609_nonce[] = {0}; +static const unsigned char kat3609_persstr[] = {0}; +static const unsigned char kat3609_entropyinpr1[] = { + 0xc1, 0x3e, 0x80, 0x0b, 0x12, 0x52, 0x0f, 0x2a, 0x7a, 0xfa, 0xac, 0xb9, + 0xf6, 0xfb, 0xf9, 0x14, 0xc5, 0x29, 0x9d, 0xe1, 0x92, 0xb5, 0x7f, 0x29, + 0xe3, 0xfa, 0xec, 0x51, 0xcc, 0xfa, 0x0d, 0x1d, +}; +static const unsigned char kat3609_addinpr1[] = {0}; +static const unsigned char kat3609_entropyinpr2[] = { + 0x10, 0x3b, 0x98, 0xff, 0x04, 0xb4, 0x88, 0xa4, 0xf8, 0x89, 0xa0, 0xae, + 0x39, 0x9f, 0x0b, 0x6d, 0x68, 0xe1, 0x26, 0xc6, 0x2b, 0xb6, 0x9d, 0x2f, + 0x83, 0xb7, 0xb5, 0xcc, 0x07, 0xec, 0x5e, 0xe2, +}; +static const unsigned char kat3609_addinpr2[] = {0}; +static const unsigned char kat3609_retbits[] = { + 0x7d, 0xb8, 0xae, 0x33, 0x89, 0xff, 0x7e, 0x38, 0xa4, 0x65, 0x5f, 0xe9, + 0xfa, 0x96, 0x83, 0x1c, 0x8b, 0xab, 0xc9, 0xd1, 0x1b, 0x86, 0x33, 0x8e, + 0x2a, 0xd1, 0x2f, 0xf9, 0x4a, 0xd4, 0xa6, 0x1e, 0x94, 0x9a, 0xe0, 0xb1, + 0x8a, 0xac, 0x0d, 0xd0, 0x57, 0x22, 0x00, 0xdf, 0x27, 0x09, 0x63, 0x52, + 0xf1, 0x38, 0x0e, 0x77, 0x21, 0xc6, 0xa4, 0x25, 0x64, 0x26, 0xd5, 0x37, + 0x47, 0x33, 0xb5, 0x68, +}; +static const struct drbg_kat_pr_true kat3609_t = { + 8, kat3609_entropyin, kat3609_nonce, kat3609_persstr, + kat3609_entropyinpr1, kat3609_addinpr1, kat3609_entropyinpr2, + kat3609_addinpr2, kat3609_retbits +}; +static const struct drbg_kat kat3609 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3609_t +}; + +static const unsigned char kat3610_entropyin[] = { + 0x8e, 0x1f, 0xd6, 0x5e, 0x65, 0x60, 0x3a, 0x69, 0x44, 0x3d, 0x3e, 0x4d, + 0x05, 0xe4, 0xf9, 0x95, 0x0d, 0xaa, 0x8b, 0x0b, 0xb1, 0xc7, 0x06, 0xd0, + 0x85, 0xd3, 0x0a, 0x2e, 0x2c, 0xaa, 0xa6, 0x7a, +}; +static const unsigned char kat3610_nonce[] = {0}; +static const unsigned char kat3610_persstr[] = {0}; +static const unsigned char kat3610_entropyinpr1[] = { + 0xf9, 0x3e, 0x29, 0xbb, 0xb3, 0xba, 0xf5, 0xba, 0xba, 0xee, 0x65, 0xc8, + 0xf6, 0x5f, 0x73, 0xe2, 0x78, 0xb7, 0xbb, 0xc7, 0x69, 0xbc, 0x9c, 0xa8, + 0xd3, 0xdb, 0x35, 0x97, 0xdf, 0x47, 0x13, 0xda, +}; +static const unsigned char kat3610_addinpr1[] = {0}; +static const unsigned char kat3610_entropyinpr2[] = { + 0x21, 0xca, 0xad, 0xa8, 0xad, 0xf9, 0x00, 0x8e, 0x64, 0x5d, 0x23, 0xd3, + 0x9c, 0x76, 0x70, 0x0a, 0xc1, 0xe7, 0xf4, 0xed, 0x85, 0x27, 0x03, 0xad, + 0x2b, 0x08, 0xe0, 0xaa, 0xec, 0xa3, 0x63, 0xa5, +}; +static const unsigned char kat3610_addinpr2[] = {0}; +static const unsigned char kat3610_retbits[] = { + 0x5c, 0xb2, 0x39, 0xc5, 0xa2, 0x28, 0xb4, 0x3f, 0x81, 0x4b, 0x05, 0xfd, + 0xf0, 0x49, 0xa1, 0xab, 0x6c, 0x01, 0xaf, 0xdd, 0xa8, 0x68, 0xa5, 0xa1, + 0x8d, 0x6b, 0x29, 0xa2, 0xf1, 0xca, 0x96, 0x83, 0x36, 0x4a, 0x86, 0x3b, + 0x01, 0xca, 0x09, 0xb1, 0x71, 0xbd, 0xea, 0xfe, 0x93, 0x1f, 0x77, 0x10, + 0x07, 0x2f, 0xf6, 0xac, 0xd2, 0xbe, 0xd9, 0xa6, 0x46, 0x6a, 0xa5, 0xbb, + 0x6a, 0xfe, 0xe2, 0x0e, +}; +static const struct drbg_kat_pr_true kat3610_t = { + 9, kat3610_entropyin, kat3610_nonce, kat3610_persstr, + kat3610_entropyinpr1, kat3610_addinpr1, kat3610_entropyinpr2, + kat3610_addinpr2, kat3610_retbits +}; +static const struct drbg_kat kat3610 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3610_t +}; + +static const unsigned char kat3611_entropyin[] = { + 0x98, 0x32, 0x36, 0x08, 0x1d, 0x95, 0xc6, 0x3d, 0x0f, 0x25, 0x3d, 0x0f, + 0xbe, 0x6d, 0x19, 0x18, 0x21, 0xfb, 0x5e, 0x8f, 0x90, 0xac, 0xd8, 0xf0, + 0x0f, 0x4c, 0x09, 0x7b, 0xf9, 0xb9, 0xb0, 0x87, +}; +static const unsigned char kat3611_nonce[] = {0}; +static const unsigned char kat3611_persstr[] = {0}; +static const unsigned char kat3611_entropyinpr1[] = { + 0xd3, 0xde, 0xe0, 0x75, 0x54, 0x6d, 0xc8, 0xdd, 0x05, 0xbc, 0x01, 0x37, + 0x7e, 0xa3, 0x11, 0xbf, 0x12, 0xec, 0x54, 0xed, 0x5f, 0x52, 0xe4, 0x98, + 0x01, 0x6b, 0x8d, 0x5e, 0x8c, 0xd8, 0x5d, 0xa0, +}; +static const unsigned char kat3611_addinpr1[] = {0}; +static const unsigned char kat3611_entropyinpr2[] = { + 0x96, 0xf1, 0x18, 0xb2, 0x5f, 0x80, 0xa3, 0x78, 0x0f, 0xa7, 0x38, 0x92, + 0xe4, 0xbf, 0xe9, 0x00, 0x00, 0x74, 0xc0, 0x29, 0xce, 0x28, 0x8b, 0x73, + 0x65, 0xb0, 0x0f, 0x9e, 0x2f, 0x79, 0x3d, 0x44, +}; +static const unsigned char kat3611_addinpr2[] = {0}; +static const unsigned char kat3611_retbits[] = { + 0x11, 0x0c, 0xe2, 0x60, 0xce, 0xb4, 0x80, 0x9f, 0x78, 0x45, 0xea, 0xb5, + 0xd8, 0x20, 0x83, 0xc9, 0xde, 0xc1, 0x6d, 0xd5, 0x8b, 0x8e, 0x90, 0xd7, + 0xee, 0x40, 0xdc, 0xda, 0xbd, 0x16, 0xb2, 0x75, 0xb8, 0x07, 0xcf, 0xfa, + 0x67, 0x79, 0xbd, 0x05, 0x76, 0x5b, 0x0e, 0x2b, 0x33, 0x1a, 0x43, 0x28, + 0xd1, 0xe9, 0x6c, 0xf6, 0x19, 0x5b, 0x55, 0x0f, 0x8a, 0xac, 0xc0, 0xf0, + 0x63, 0xcf, 0x70, 0xa4, +}; +static const struct drbg_kat_pr_true kat3611_t = { + 10, kat3611_entropyin, kat3611_nonce, kat3611_persstr, + kat3611_entropyinpr1, kat3611_addinpr1, kat3611_entropyinpr2, + kat3611_addinpr2, kat3611_retbits +}; +static const struct drbg_kat kat3611 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3611_t +}; + +static const unsigned char kat3612_entropyin[] = { + 0x04, 0xbd, 0x50, 0x5b, 0xd5, 0xeb, 0xad, 0xb1, 0x76, 0x0b, 0x7c, 0x04, + 0xfb, 0xc1, 0x69, 0x1d, 0x01, 0xf2, 0x0d, 0xeb, 0x0c, 0xc6, 0xa9, 0x3c, + 0x3d, 0x7e, 0xa6, 0xc3, 0x5d, 0x74, 0xd5, 0x80, +}; +static const unsigned char kat3612_nonce[] = {0}; +static const unsigned char kat3612_persstr[] = {0}; +static const unsigned char kat3612_entropyinpr1[] = { + 0xef, 0x9d, 0xed, 0x9e, 0x52, 0x20, 0x65, 0xd3, 0x04, 0xa6, 0x0b, 0x18, + 0xd5, 0xd0, 0x36, 0xc7, 0x0a, 0xad, 0xe7, 0x75, 0x8c, 0x3e, 0xb8, 0x2c, + 0xee, 0x6f, 0xbb, 0xdb, 0xba, 0x0f, 0xd4, 0xd0, +}; +static const unsigned char kat3612_addinpr1[] = {0}; +static const unsigned char kat3612_entropyinpr2[] = { + 0xef, 0xb6, 0x2f, 0x77, 0xff, 0x61, 0x3c, 0xe0, 0x20, 0x90, 0xb6, 0x20, + 0xc0, 0x4c, 0x57, 0x88, 0x12, 0x7d, 0x10, 0xdc, 0x1c, 0x2e, 0x6f, 0x3b, + 0x74, 0x80, 0x3f, 0xbd, 0xb1, 0x64, 0xd0, 0x2b, +}; +static const unsigned char kat3612_addinpr2[] = {0}; +static const unsigned char kat3612_retbits[] = { + 0xe6, 0x19, 0x6c, 0x21, 0x24, 0x83, 0x10, 0x20, 0xbd, 0x5e, 0x0d, 0x00, + 0xf0, 0x5b, 0x3c, 0xe6, 0xa0, 0x71, 0x23, 0xda, 0xf8, 0xe9, 0x60, 0x7e, + 0xc7, 0x0b, 0xb8, 0x12, 0xbb, 0x84, 0xce, 0x8a, 0x1a, 0xd0, 0x1a, 0x35, + 0x9e, 0x5c, 0x57, 0x63, 0x2d, 0x34, 0x06, 0xfa, 0x0b, 0xeb, 0x72, 0x41, + 0x6f, 0x59, 0x5c, 0x92, 0x9b, 0xce, 0xc8, 0x46, 0x9b, 0x8e, 0xb6, 0xfe, + 0x0b, 0x2a, 0x24, 0xf9, +}; +static const struct drbg_kat_pr_true kat3612_t = { + 11, kat3612_entropyin, kat3612_nonce, kat3612_persstr, + kat3612_entropyinpr1, kat3612_addinpr1, kat3612_entropyinpr2, + kat3612_addinpr2, kat3612_retbits +}; +static const struct drbg_kat kat3612 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3612_t +}; + +static const unsigned char kat3613_entropyin[] = { + 0xf1, 0x56, 0x74, 0x04, 0xad, 0xad, 0x31, 0xdf, 0xbd, 0x86, 0x10, 0x4a, + 0x23, 0x6c, 0x8b, 0x2d, 0x48, 0x70, 0xa0, 0x24, 0xe6, 0xb7, 0x74, 0xf1, + 0x5c, 0xc2, 0x4c, 0x13, 0x91, 0xf9, 0x4e, 0x20, +}; +static const unsigned char kat3613_nonce[] = {0}; +static const unsigned char kat3613_persstr[] = {0}; +static const unsigned char kat3613_entropyinpr1[] = { + 0x2e, 0xcd, 0x60, 0xa6, 0x60, 0x2d, 0xfa, 0x81, 0xf2, 0x1c, 0xab, 0xe6, + 0x8b, 0x36, 0x77, 0xcf, 0x8c, 0xcd, 0xbb, 0xda, 0xb6, 0xc7, 0xb6, 0x54, + 0x39, 0x5b, 0x1d, 0x1b, 0xb1, 0xe5, 0xe1, 0x3c, +}; +static const unsigned char kat3613_addinpr1[] = {0}; +static const unsigned char kat3613_entropyinpr2[] = { + 0x52, 0x7a, 0x51, 0x9d, 0xc2, 0x89, 0x90, 0x3f, 0xdc, 0xeb, 0x09, 0x4a, + 0xba, 0xc7, 0xa2, 0x0f, 0x8e, 0xef, 0x1b, 0x44, 0xe4, 0x07, 0x7e, 0x16, + 0x48, 0xbe, 0x3f, 0xae, 0xcd, 0xc8, 0x1c, 0xfa, +}; +static const unsigned char kat3613_addinpr2[] = {0}; +static const unsigned char kat3613_retbits[] = { + 0x8c, 0xa8, 0xef, 0xc8, 0x47, 0xfb, 0xdc, 0xb0, 0xfe, 0x75, 0x46, 0xf7, + 0x0a, 0x78, 0xbf, 0x10, 0xc5, 0xa2, 0x6c, 0x18, 0x05, 0x12, 0x57, 0xa5, + 0xfa, 0x86, 0x6c, 0x41, 0x27, 0xb4, 0x73, 0xbe, 0x90, 0x8f, 0xeb, 0xd7, + 0xd8, 0x1f, 0x54, 0x1b, 0x4d, 0xe4, 0xf5, 0xf4, 0x9c, 0x0e, 0xc5, 0xfa, + 0xb5, 0x91, 0xd1, 0xd5, 0x07, 0x17, 0xde, 0x52, 0x94, 0x17, 0x7c, 0x25, + 0x6d, 0xa9, 0x74, 0x9f, +}; +static const struct drbg_kat_pr_true kat3613_t = { + 12, kat3613_entropyin, kat3613_nonce, kat3613_persstr, + kat3613_entropyinpr1, kat3613_addinpr1, kat3613_entropyinpr2, + kat3613_addinpr2, kat3613_retbits +}; +static const struct drbg_kat kat3613 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3613_t +}; + +static const unsigned char kat3614_entropyin[] = { + 0xf8, 0xd7, 0x07, 0xf2, 0xd5, 0x04, 0x98, 0xbc, 0x7e, 0xa8, 0x35, 0xd8, + 0xee, 0xa3, 0xa4, 0x41, 0xba, 0x48, 0xd0, 0x90, 0xbe, 0xc8, 0x28, 0xac, + 0xa8, 0x73, 0xae, 0x16, 0xe6, 0xdf, 0xc3, 0xfa, +}; +static const unsigned char kat3614_nonce[] = {0}; +static const unsigned char kat3614_persstr[] = {0}; +static const unsigned char kat3614_entropyinpr1[] = { + 0x5e, 0xb8, 0x4e, 0x69, 0x4d, 0x54, 0x23, 0xf8, 0x83, 0x0e, 0x48, 0x0d, + 0x84, 0xe3, 0xd2, 0xcd, 0xc4, 0x04, 0x4f, 0x13, 0x87, 0x8a, 0xc5, 0xd5, + 0x69, 0x36, 0x61, 0x0e, 0x0e, 0x01, 0x94, 0x19, +}; +static const unsigned char kat3614_addinpr1[] = {0}; +static const unsigned char kat3614_entropyinpr2[] = { + 0xe4, 0x2c, 0x5d, 0x66, 0x60, 0x22, 0x42, 0xb6, 0xca, 0x83, 0x74, 0x91, + 0x9a, 0xfd, 0x0b, 0x3d, 0x98, 0xde, 0x07, 0x95, 0x86, 0xe4, 0x94, 0xd7, + 0x03, 0x55, 0xbf, 0x11, 0xca, 0x63, 0x70, 0xb0, +}; +static const unsigned char kat3614_addinpr2[] = {0}; +static const unsigned char kat3614_retbits[] = { + 0xc5, 0x0e, 0x3d, 0xff, 0x40, 0x85, 0x78, 0x40, 0xe7, 0x52, 0xe8, 0x90, + 0x16, 0x2b, 0xb6, 0xa2, 0x44, 0xdc, 0x47, 0xc7, 0xa3, 0x51, 0x65, 0xb8, + 0x8f, 0x06, 0x09, 0xea, 0x50, 0xdf, 0xd2, 0xb7, 0xe9, 0xe5, 0x55, 0x75, + 0x4c, 0x45, 0x26, 0x6e, 0x37, 0x41, 0x22, 0x2a, 0x71, 0xb2, 0x6f, 0xde, + 0x6d, 0x8e, 0xdf, 0xc2, 0xd6, 0x78, 0x36, 0xaf, 0x00, 0xfc, 0xa3, 0x1d, + 0x19, 0xb2, 0x33, 0xea, +}; +static const struct drbg_kat_pr_true kat3614_t = { + 13, kat3614_entropyin, kat3614_nonce, kat3614_persstr, + kat3614_entropyinpr1, kat3614_addinpr1, kat3614_entropyinpr2, + kat3614_addinpr2, kat3614_retbits +}; +static const struct drbg_kat kat3614 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3614_t +}; + +static const unsigned char kat3615_entropyin[] = { + 0x84, 0x91, 0x21, 0x23, 0x25, 0xbe, 0xca, 0xf2, 0x95, 0x1b, 0x93, 0x5c, + 0xbc, 0x6f, 0x18, 0x3f, 0xb9, 0x30, 0xec, 0x45, 0x1a, 0x93, 0xcd, 0x7d, + 0x13, 0xab, 0x53, 0x00, 0x6e, 0x56, 0x5a, 0xdf, +}; +static const unsigned char kat3615_nonce[] = {0}; +static const unsigned char kat3615_persstr[] = {0}; +static const unsigned char kat3615_entropyinpr1[] = { + 0x43, 0xd5, 0x3e, 0x48, 0xde, 0x3c, 0x24, 0x78, 0x57, 0x13, 0x22, 0x24, + 0xa4, 0x48, 0x14, 0x76, 0x72, 0xde, 0xc7, 0xcf, 0xfe, 0x10, 0x16, 0x4d, + 0x83, 0x44, 0x6c, 0x10, 0x03, 0xed, 0x71, 0xb9, +}; +static const unsigned char kat3615_addinpr1[] = {0}; +static const unsigned char kat3615_entropyinpr2[] = { + 0xde, 0x28, 0xc5, 0x74, 0xf0, 0xd7, 0x71, 0xf2, 0x21, 0x1a, 0xcb, 0x54, + 0xb4, 0x3a, 0x60, 0xef, 0x79, 0x97, 0x30, 0x81, 0xf0, 0x6d, 0xa6, 0x81, + 0x92, 0x19, 0x61, 0x2c, 0x67, 0xbd, 0x94, 0xb7, +}; +static const unsigned char kat3615_addinpr2[] = {0}; +static const unsigned char kat3615_retbits[] = { + 0x3e, 0x6e, 0x82, 0xf2, 0xed, 0xb3, 0xfc, 0xd7, 0x45, 0x59, 0xb4, 0x6d, + 0x31, 0x9b, 0x09, 0xcf, 0xc3, 0x44, 0x1c, 0x06, 0xba, 0xc7, 0xa1, 0x26, + 0x06, 0x47, 0xed, 0x7f, 0x93, 0x27, 0x48, 0x5d, 0x55, 0x38, 0x73, 0xd8, + 0xb5, 0x8c, 0x08, 0x41, 0x05, 0x74, 0x16, 0x1e, 0x0f, 0xf9, 0xd5, 0xbb, + 0x2e, 0xd4, 0xcf, 0xea, 0x53, 0x3b, 0xdb, 0xcd, 0x47, 0xec, 0x62, 0x7a, + 0xc4, 0x05, 0xd3, 0xf6, +}; +static const struct drbg_kat_pr_true kat3615_t = { + 14, kat3615_entropyin, kat3615_nonce, kat3615_persstr, + kat3615_entropyinpr1, kat3615_addinpr1, kat3615_entropyinpr2, + kat3615_addinpr2, kat3615_retbits +}; +static const struct drbg_kat kat3615 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3615_t +}; + +static const unsigned char kat3616_entropyin[] = { + 0x4d, 0x85, 0xec, 0x7a, 0x58, 0x76, 0x3c, 0x38, 0x35, 0x48, 0xe7, 0x07, + 0x58, 0xc6, 0xdb, 0x91, 0xf9, 0x9b, 0x14, 0x66, 0xba, 0xa7, 0xd4, 0xf2, + 0x0b, 0xa1, 0xf8, 0xa4, 0x4e, 0xc4, 0xd1, 0xf3, +}; +static const unsigned char kat3616_nonce[] = {0}; +static const unsigned char kat3616_persstr[] = {0}; +static const unsigned char kat3616_entropyinpr1[] = { + 0x3a, 0x9e, 0x8e, 0x7a, 0xeb, 0xfe, 0xd9, 0x9f, 0x34, 0xb1, 0x62, 0x94, + 0xc1, 0xda, 0x97, 0x3b, 0xd7, 0x06, 0xaf, 0xba, 0x10, 0x5d, 0x78, 0xcb, + 0x13, 0x2e, 0x4d, 0x3a, 0xee, 0x22, 0x1c, 0xc1, +}; +static const unsigned char kat3616_addinpr1[] = { + 0xdd, 0x4f, 0x1c, 0x82, 0x47, 0x3f, 0xe4, 0xcc, 0x56, 0x12, 0x81, 0x52, + 0x00, 0x15, 0x47, 0xff, 0x72, 0x34, 0xea, 0xde, 0xa5, 0xe9, 0x4f, 0x0d, + 0x64, 0xb0, 0xc0, 0x8d, 0x24, 0x78, 0x85, 0x70, +}; +static const unsigned char kat3616_entropyinpr2[] = { + 0xe3, 0x7f, 0x19, 0x3e, 0x5f, 0x13, 0x56, 0x36, 0x8a, 0xec, 0x70, 0xa0, + 0xde, 0x2c, 0x33, 0x0c, 0x3c, 0xf9, 0xaf, 0x26, 0xc6, 0xae, 0xe4, 0x6b, + 0x9f, 0x11, 0x4f, 0x62, 0x76, 0xed, 0x38, 0xb4, +}; +static const unsigned char kat3616_addinpr2[] = { + 0xe9, 0x00, 0x46, 0xb7, 0xfc, 0xd9, 0xd8, 0x64, 0x34, 0xc3, 0x12, 0xb9, + 0x59, 0x79, 0x5f, 0xbf, 0xbe, 0x66, 0x6d, 0xda, 0x2b, 0x16, 0xa7, 0xb1, + 0x4c, 0xb0, 0xcc, 0x1d, 0x84, 0x89, 0x52, 0x73, +}; +static const unsigned char kat3616_retbits[] = { + 0x17, 0x3a, 0x53, 0x5a, 0x1c, 0xe5, 0x2e, 0x3c, 0xa2, 0xb6, 0x8f, 0xb2, + 0xc2, 0x48, 0x80, 0xa4, 0xdc, 0x28, 0x37, 0x17, 0x4c, 0xe3, 0xdf, 0x1c, + 0x1f, 0x44, 0x5f, 0x43, 0x01, 0x33, 0x84, 0xa0, 0x57, 0x0e, 0xc8, 0xd5, + 0x19, 0x7b, 0x2d, 0x00, 0xfe, 0xf3, 0xcb, 0x35, 0x56, 0x08, 0x6b, 0xd8, + 0x2f, 0xb6, 0x07, 0x55, 0x62, 0xf3, 0xad, 0xae, 0x4d, 0xca, 0x39, 0x00, + 0x8b, 0xcd, 0x73, 0x97, +}; +static const struct drbg_kat_pr_true kat3616_t = { + 0, kat3616_entropyin, kat3616_nonce, kat3616_persstr, + kat3616_entropyinpr1, kat3616_addinpr1, kat3616_entropyinpr2, + kat3616_addinpr2, kat3616_retbits +}; +static const struct drbg_kat kat3616 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3616_t +}; + +static const unsigned char kat3617_entropyin[] = { + 0x35, 0x8c, 0xdb, 0x23, 0x37, 0xe4, 0x2e, 0xa8, 0x4d, 0x4e, 0x03, 0xce, + 0x5f, 0x76, 0xd3, 0xb7, 0xb3, 0xf5, 0xd1, 0x33, 0xfa, 0x99, 0x09, 0xe6, + 0x37, 0x99, 0x7f, 0x96, 0x37, 0x40, 0x91, 0xb1, +}; +static const unsigned char kat3617_nonce[] = {0}; +static const unsigned char kat3617_persstr[] = {0}; +static const unsigned char kat3617_entropyinpr1[] = { + 0x58, 0x3e, 0x3a, 0x99, 0x61, 0x09, 0xb6, 0x4e, 0x72, 0x7e, 0x87, 0x08, + 0x5a, 0x53, 0x4f, 0x1f, 0x20, 0xe6, 0x0d, 0x98, 0x58, 0x7b, 0xe4, 0x5c, + 0x69, 0xe5, 0xac, 0x7b, 0x96, 0x4f, 0x44, 0x96, +}; +static const unsigned char kat3617_addinpr1[] = { + 0xe9, 0x33, 0x8a, 0xca, 0x9c, 0x02, 0xe7, 0xb9, 0x74, 0x8d, 0x23, 0x99, + 0x45, 0x40, 0x50, 0x5b, 0x94, 0x4f, 0x44, 0xeb, 0x5a, 0xd1, 0xf5, 0x1b, + 0x83, 0x1f, 0x69, 0x56, 0x52, 0xd7, 0x1a, 0x5d, +}; +static const unsigned char kat3617_entropyinpr2[] = { + 0x78, 0x45, 0xb7, 0x4f, 0x4d, 0x34, 0xd6, 0x16, 0x61, 0x5a, 0x52, 0x63, + 0x53, 0x40, 0x4c, 0x37, 0x6b, 0x69, 0x40, 0xf0, 0x8d, 0x49, 0xc5, 0x26, + 0x81, 0x8c, 0xdd, 0xca, 0x40, 0x73, 0xca, 0x88, +}; +static const unsigned char kat3617_addinpr2[] = { + 0x69, 0x5d, 0x66, 0xf7, 0x7e, 0xba, 0x05, 0x6c, 0xcb, 0x2b, 0x31, 0xb3, + 0xa9, 0x50, 0x98, 0x04, 0xcf, 0x69, 0xb9, 0x4e, 0x7b, 0x83, 0x24, 0x12, + 0xbc, 0xd7, 0x6c, 0xbc, 0x86, 0x74, 0xe2, 0x6b, +}; +static const unsigned char kat3617_retbits[] = { + 0x85, 0x5c, 0x34, 0xdd, 0x29, 0x94, 0xdd, 0x59, 0x1f, 0x50, 0x21, 0x92, + 0xbb, 0xb6, 0x7d, 0xc8, 0xa4, 0x23, 0xb7, 0x10, 0x85, 0x90, 0xaa, 0x82, + 0x73, 0x1a, 0x30, 0x06, 0x89, 0x32, 0x09, 0x7f, 0x3a, 0xda, 0x82, 0x66, + 0x10, 0x51, 0x48, 0x55, 0xe2, 0x30, 0xcc, 0x0c, 0x7a, 0xaf, 0x61, 0x70, + 0x52, 0xc0, 0x97, 0x53, 0x45, 0x95, 0x8d, 0x5a, 0xcd, 0x6c, 0x6c, 0xaa, + 0xa1, 0x22, 0xfe, 0x4b, +}; +static const struct drbg_kat_pr_true kat3617_t = { + 1, kat3617_entropyin, kat3617_nonce, kat3617_persstr, + kat3617_entropyinpr1, kat3617_addinpr1, kat3617_entropyinpr2, + kat3617_addinpr2, kat3617_retbits +}; +static const struct drbg_kat kat3617 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3617_t +}; + +static const unsigned char kat3618_entropyin[] = { + 0x70, 0x08, 0x4b, 0x14, 0xb3, 0x7e, 0x2f, 0xc9, 0x17, 0xd3, 0xd6, 0xb4, + 0xa7, 0xc8, 0x20, 0x1f, 0x31, 0xd7, 0x64, 0xfa, 0x58, 0x8f, 0x51, 0x3e, + 0x36, 0x5f, 0x8e, 0x31, 0x3d, 0xbc, 0x8e, 0xc2, +}; +static const unsigned char kat3618_nonce[] = {0}; +static const unsigned char kat3618_persstr[] = {0}; +static const unsigned char kat3618_entropyinpr1[] = { + 0x40, 0x27, 0xdb, 0x96, 0xb9, 0x00, 0xc4, 0xa0, 0x74, 0xbe, 0xd9, 0xb5, + 0xb2, 0xcf, 0xa5, 0x73, 0xf4, 0x0d, 0x60, 0x7c, 0x3b, 0x5e, 0x00, 0xae, + 0x1b, 0xca, 0x84, 0x41, 0xfa, 0x58, 0x4c, 0xb1, +}; +static const unsigned char kat3618_addinpr1[] = { + 0xc0, 0x9f, 0x3c, 0x76, 0xb3, 0x8e, 0x50, 0x2b, 0x12, 0x27, 0x86, 0xf4, + 0x57, 0x96, 0xe1, 0x97, 0x23, 0xe9, 0x41, 0x73, 0xec, 0x79, 0xcf, 0x19, + 0x0e, 0x7d, 0x1e, 0x9e, 0x77, 0x09, 0x05, 0xb1, +}; +static const unsigned char kat3618_entropyinpr2[] = { + 0x60, 0x4b, 0x9d, 0x0b, 0xe8, 0xe5, 0x0f, 0x4f, 0xbe, 0xe8, 0xc2, 0x0b, + 0x5a, 0x8a, 0x56, 0x97, 0xa4, 0xfa, 0xf4, 0xa2, 0x5b, 0x86, 0xa6, 0x63, + 0x79, 0x7c, 0x8c, 0xe6, 0x03, 0xa7, 0x09, 0x2b, +}; +static const unsigned char kat3618_addinpr2[] = { + 0xed, 0x48, 0x44, 0xee, 0xdc, 0x13, 0x7c, 0x95, 0xcb, 0xf7, 0x9c, 0x88, + 0x5b, 0x0b, 0x6b, 0x4a, 0x06, 0x7f, 0x02, 0x57, 0xc8, 0x97, 0xab, 0xe7, + 0x52, 0x74, 0x69, 0x49, 0x05, 0x04, 0x1c, 0x97, +}; +static const unsigned char kat3618_retbits[] = { + 0x01, 0x30, 0xf2, 0xe4, 0x75, 0x72, 0xd8, 0x8b, 0x2f, 0xe2, 0x5e, 0x81, + 0x38, 0x23, 0xae, 0x33, 0xed, 0x05, 0x51, 0xe9, 0x2b, 0x2a, 0x97, 0xa6, + 0x08, 0x6e, 0x6a, 0xb9, 0x62, 0x08, 0x04, 0x96, 0x9b, 0x5c, 0x4d, 0x72, + 0x16, 0xc0, 0x02, 0x9d, 0x60, 0xa4, 0x5d, 0x24, 0xd3, 0xe4, 0xbb, 0x96, + 0x99, 0x3c, 0x1c, 0x41, 0x88, 0x7a, 0xa4, 0xc5, 0xa9, 0x00, 0x1e, 0xd3, + 0xab, 0xfe, 0x95, 0x8d, +}; +static const struct drbg_kat_pr_true kat3618_t = { + 2, kat3618_entropyin, kat3618_nonce, kat3618_persstr, + kat3618_entropyinpr1, kat3618_addinpr1, kat3618_entropyinpr2, + kat3618_addinpr2, kat3618_retbits +}; +static const struct drbg_kat kat3618 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3618_t +}; + +static const unsigned char kat3619_entropyin[] = { + 0xc9, 0x17, 0x6a, 0xd2, 0x11, 0x0b, 0x4b, 0x34, 0x7a, 0xdd, 0xee, 0x42, + 0x89, 0x27, 0x72, 0x95, 0x35, 0x16, 0x78, 0x99, 0xf8, 0xca, 0x7c, 0x68, + 0x23, 0xbe, 0x50, 0x43, 0xe5, 0xec, 0xa5, 0xb8, +}; +static const unsigned char kat3619_nonce[] = {0}; +static const unsigned char kat3619_persstr[] = {0}; +static const unsigned char kat3619_entropyinpr1[] = { + 0x8a, 0xaa, 0xa7, 0xdd, 0x87, 0x77, 0xc9, 0x16, 0xfa, 0x60, 0x7d, 0x21, + 0x08, 0x55, 0x6e, 0x13, 0x3a, 0xec, 0x8c, 0x67, 0x1b, 0xba, 0xf5, 0x50, + 0xb6, 0x78, 0x31, 0x19, 0xf0, 0xbd, 0x17, 0xe1, +}; +static const unsigned char kat3619_addinpr1[] = { + 0x89, 0x51, 0xa5, 0x4e, 0xdd, 0x47, 0xe7, 0x80, 0xda, 0x51, 0x87, 0x57, + 0x05, 0x34, 0x7d, 0x0a, 0xb0, 0x8f, 0xfb, 0x2f, 0xb5, 0x31, 0xf5, 0xa7, + 0x4d, 0x79, 0xcd, 0x0f, 0xab, 0x0b, 0x9a, 0xdd, +}; +static const unsigned char kat3619_entropyinpr2[] = { + 0x6c, 0xff, 0x33, 0x92, 0x03, 0x89, 0xc3, 0x3b, 0x74, 0x26, 0x51, 0x5b, + 0x3a, 0x9b, 0x23, 0x6b, 0xe6, 0x03, 0x4e, 0xc3, 0x4d, 0x66, 0xd0, 0x0f, + 0xe8, 0x51, 0x79, 0xce, 0xfb, 0x6d, 0x82, 0x8d, +}; +static const unsigned char kat3619_addinpr2[] = { + 0xcb, 0xd1, 0x0c, 0x57, 0x9d, 0xf5, 0x80, 0x72, 0x93, 0x76, 0x19, 0xeb, + 0xfc, 0x16, 0xcc, 0xd8, 0xf7, 0xbf, 0xf8, 0xbe, 0xfe, 0x85, 0xd0, 0x97, + 0x96, 0xb8, 0x45, 0xca, 0x69, 0xde, 0xe1, 0x9d, +}; +static const unsigned char kat3619_retbits[] = { + 0x24, 0x65, 0x73, 0xfe, 0xc9, 0x0f, 0x56, 0x83, 0x2e, 0xf6, 0x1a, 0xc7, + 0x6e, 0xce, 0x81, 0x48, 0xb9, 0xad, 0xce, 0xe2, 0xb4, 0x13, 0x8f, 0xcb, + 0xab, 0x7c, 0x73, 0xed, 0x90, 0x2a, 0xec, 0x68, 0x71, 0x16, 0x0a, 0xa8, + 0xdf, 0xdc, 0xa6, 0x29, 0x0f, 0xac, 0x05, 0x8f, 0x2a, 0xb0, 0xf1, 0xbe, + 0x36, 0x63, 0x79, 0x2f, 0x7a, 0xd7, 0x2c, 0x5e, 0x49, 0x5e, 0x58, 0x71, + 0x7b, 0x42, 0x37, 0xce, +}; +static const struct drbg_kat_pr_true kat3619_t = { + 3, kat3619_entropyin, kat3619_nonce, kat3619_persstr, + kat3619_entropyinpr1, kat3619_addinpr1, kat3619_entropyinpr2, + kat3619_addinpr2, kat3619_retbits +}; +static const struct drbg_kat kat3619 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3619_t +}; + +static const unsigned char kat3620_entropyin[] = { + 0x96, 0xaa, 0xa1, 0x15, 0x0f, 0x58, 0x6f, 0xe1, 0x56, 0xd0, 0xf9, 0x88, + 0xb0, 0xc0, 0x4b, 0x98, 0x96, 0xa0, 0xf0, 0xdc, 0xe2, 0x4f, 0x12, 0x58, + 0xca, 0xc0, 0xb9, 0xb7, 0xbf, 0xf4, 0x1d, 0xbd, +}; +static const unsigned char kat3620_nonce[] = {0}; +static const unsigned char kat3620_persstr[] = {0}; +static const unsigned char kat3620_entropyinpr1[] = { + 0xf2, 0x94, 0xb1, 0x2b, 0x6b, 0x6a, 0x07, 0x7e, 0x22, 0xc9, 0x93, 0xb3, + 0x44, 0x6a, 0xfe, 0xd1, 0xe3, 0x4c, 0xae, 0x0e, 0x6b, 0xd8, 0x8f, 0x23, + 0x4a, 0x22, 0x52, 0xb7, 0xcc, 0x3f, 0xc0, 0xc9, +}; +static const unsigned char kat3620_addinpr1[] = { + 0xb7, 0x78, 0x90, 0x4c, 0x42, 0xbf, 0xff, 0xd5, 0x37, 0x79, 0x59, 0xaf, + 0x64, 0x64, 0x2e, 0xd6, 0x25, 0x4c, 0xf0, 0x96, 0xfe, 0xfc, 0xca, 0x8c, + 0x2f, 0xeb, 0x0c, 0xee, 0xbd, 0x85, 0x8c, 0xa1, +}; +static const unsigned char kat3620_entropyinpr2[] = { + 0x72, 0xce, 0xf2, 0xc4, 0x54, 0xc6, 0xa3, 0x5b, 0x2c, 0x79, 0xfd, 0x57, + 0x2e, 0x33, 0x8f, 0xde, 0x36, 0x88, 0xc3, 0x86, 0x59, 0xc2, 0xed, 0xf5, + 0x5b, 0x65, 0x78, 0xb4, 0x77, 0x81, 0x8a, 0x47, +}; +static const unsigned char kat3620_addinpr2[] = { + 0xd0, 0x9f, 0x4e, 0xb1, 0xa0, 0xd2, 0x4c, 0xd7, 0xce, 0xfc, 0x67, 0x94, + 0x36, 0x15, 0xe5, 0x43, 0x39, 0x9d, 0xd3, 0x27, 0x1d, 0x6b, 0x0a, 0x49, + 0x33, 0x7e, 0x2f, 0x25, 0xbe, 0xb8, 0x40, 0x6c, +}; +static const unsigned char kat3620_retbits[] = { + 0xd5, 0xd5, 0xd1, 0x76, 0x93, 0xd8, 0x32, 0x16, 0x68, 0x1b, 0x1a, 0xa1, + 0x4a, 0xbd, 0xf8, 0xd5, 0xfe, 0xa4, 0x4e, 0xd4, 0x92, 0x41, 0xf5, 0xe6, + 0x74, 0x92, 0x49, 0x9f, 0x59, 0x06, 0x4a, 0x57, 0x24, 0x55, 0x73, 0x86, + 0xa1, 0xfe, 0x5b, 0x3c, 0x14, 0xe3, 0x4c, 0x98, 0x4a, 0xf9, 0xba, 0x58, + 0x19, 0x14, 0x0f, 0x06, 0x04, 0x52, 0xbc, 0xf4, 0x57, 0xe2, 0x7b, 0x15, + 0x07, 0xbd, 0x40, 0x79, +}; +static const struct drbg_kat_pr_true kat3620_t = { + 4, kat3620_entropyin, kat3620_nonce, kat3620_persstr, + kat3620_entropyinpr1, kat3620_addinpr1, kat3620_entropyinpr2, + kat3620_addinpr2, kat3620_retbits +}; +static const struct drbg_kat kat3620 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3620_t +}; + +static const unsigned char kat3621_entropyin[] = { + 0x05, 0x29, 0xd7, 0x8a, 0xb6, 0xd8, 0x0d, 0xc8, 0xe2, 0xb4, 0x09, 0xa7, + 0xbf, 0x91, 0x03, 0x8d, 0x4e, 0xeb, 0x44, 0xd7, 0x31, 0x0f, 0xc3, 0x71, + 0x45, 0x32, 0x10, 0xaa, 0x69, 0x74, 0x19, 0xad, +}; +static const unsigned char kat3621_nonce[] = {0}; +static const unsigned char kat3621_persstr[] = {0}; +static const unsigned char kat3621_entropyinpr1[] = { + 0x44, 0x8d, 0x96, 0x26, 0x02, 0x72, 0xb9, 0x39, 0xe5, 0xf9, 0x49, 0xdd, + 0xac, 0x93, 0x1c, 0xde, 0x53, 0xbe, 0xf5, 0x0b, 0xf6, 0x19, 0x06, 0x31, + 0x0f, 0x96, 0x59, 0xcb, 0xf7, 0xa5, 0x77, 0x1e, +}; +static const unsigned char kat3621_addinpr1[] = { + 0x32, 0x80, 0x8a, 0x53, 0x50, 0x29, 0x22, 0x60, 0xcb, 0xb5, 0x89, 0x05, + 0xcf, 0x12, 0xe5, 0x27, 0xfd, 0xaa, 0xdb, 0x5d, 0xc6, 0x23, 0xa0, 0x65, + 0x5e, 0xfe, 0x2a, 0x19, 0xf8, 0xed, 0x90, 0xe9, +}; +static const unsigned char kat3621_entropyinpr2[] = { + 0x1d, 0x08, 0xa4, 0x81, 0x21, 0xfd, 0x55, 0x7e, 0x11, 0x96, 0x48, 0x15, + 0xa1, 0x63, 0x9e, 0x5b, 0xcb, 0x6f, 0xa2, 0x3a, 0xc3, 0x68, 0x5f, 0x6e, + 0xe5, 0x10, 0x8c, 0x7a, 0x72, 0x56, 0xea, 0x64, +}; +static const unsigned char kat3621_addinpr2[] = { + 0x5d, 0x5e, 0xe1, 0xa3, 0x75, 0xcd, 0x24, 0xa1, 0xbf, 0xd9, 0x00, 0x17, + 0x35, 0x4a, 0xe6, 0xaf, 0x22, 0xed, 0x51, 0xbb, 0x77, 0x7e, 0x96, 0xb0, + 0x3b, 0x04, 0xbc, 0x01, 0x43, 0xbe, 0x6a, 0x92, +}; +static const unsigned char kat3621_retbits[] = { + 0xb7, 0x90, 0x2a, 0x01, 0xc5, 0x19, 0xd5, 0x8f, 0x11, 0x02, 0x7d, 0x40, + 0xd3, 0x96, 0x61, 0x74, 0x11, 0x14, 0x86, 0x0f, 0xa4, 0x49, 0x57, 0xe9, + 0x28, 0x5f, 0x2e, 0xcd, 0x1d, 0x7d, 0xf7, 0x3a, 0xf1, 0x35, 0x2e, 0x73, + 0x7e, 0x81, 0x3e, 0x26, 0x38, 0x5d, 0xf8, 0x0a, 0x66, 0xb9, 0x47, 0xef, + 0x5d, 0xa0, 0xf5, 0x31, 0x34, 0xc8, 0x0f, 0x1f, 0x75, 0x38, 0x0f, 0x73, + 0xa6, 0xc2, 0xc5, 0x9c, +}; +static const struct drbg_kat_pr_true kat3621_t = { + 5, kat3621_entropyin, kat3621_nonce, kat3621_persstr, + kat3621_entropyinpr1, kat3621_addinpr1, kat3621_entropyinpr2, + kat3621_addinpr2, kat3621_retbits +}; +static const struct drbg_kat kat3621 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3621_t +}; + +static const unsigned char kat3622_entropyin[] = { + 0xe0, 0xa3, 0x0e, 0x9e, 0xa5, 0x7a, 0x32, 0x08, 0xd0, 0xfc, 0x1f, 0x4c, + 0x3b, 0xf5, 0xbf, 0x4a, 0x21, 0xc5, 0xf8, 0x27, 0x66, 0x79, 0xc8, 0x2e, + 0xba, 0x9a, 0x56, 0x89, 0x3c, 0x75, 0xb6, 0xae, +}; +static const unsigned char kat3622_nonce[] = {0}; +static const unsigned char kat3622_persstr[] = {0}; +static const unsigned char kat3622_entropyinpr1[] = { + 0x41, 0x4e, 0x9a, 0xd8, 0x30, 0xa3, 0xa0, 0xba, 0xc5, 0xc8, 0xd5, 0x5b, + 0x39, 0x4b, 0x0f, 0xb5, 0xba, 0xdc, 0xb0, 0x52, 0x95, 0xa7, 0x7d, 0xdc, + 0xaf, 0x34, 0x25, 0x12, 0xe7, 0x5e, 0xf7, 0x9b, +}; +static const unsigned char kat3622_addinpr1[] = { + 0x09, 0xbe, 0x6e, 0x3e, 0x1f, 0x3b, 0x04, 0x54, 0x83, 0x88, 0x4d, 0x1e, + 0xc7, 0x03, 0x05, 0x21, 0x7c, 0x61, 0x5f, 0x1e, 0x95, 0xbf, 0xf3, 0x14, + 0x60, 0x0f, 0x3c, 0x17, 0x39, 0x3d, 0x5b, 0x59, +}; +static const unsigned char kat3622_entropyinpr2[] = { + 0x3a, 0xc4, 0x79, 0xe9, 0x10, 0x84, 0xa2, 0x1f, 0x01, 0x35, 0x7b, 0x8f, + 0x3c, 0x49, 0xe8, 0xf1, 0xc7, 0x5d, 0x09, 0x3e, 0xb8, 0x7b, 0xa4, 0x73, + 0x6b, 0x8f, 0x55, 0x9f, 0xf4, 0xc3, 0x4d, 0xdc, +}; +static const unsigned char kat3622_addinpr2[] = { + 0x11, 0x38, 0x07, 0xe2, 0x81, 0x90, 0x36, 0x57, 0x76, 0xe3, 0xd2, 0x6c, + 0x7b, 0x60, 0x7e, 0xe1, 0x2a, 0x1a, 0x0d, 0x5b, 0xaa, 0x2b, 0x3e, 0x53, + 0x4c, 0x15, 0x77, 0x09, 0x90, 0x65, 0xee, 0xa9, +}; +static const unsigned char kat3622_retbits[] = { + 0xc6, 0xd9, 0x70, 0x7d, 0x35, 0x40, 0x4a, 0x81, 0x7f, 0x32, 0x06, 0x2b, + 0x0c, 0x42, 0x8b, 0xe1, 0x37, 0xeb, 0x35, 0x03, 0x0b, 0x04, 0xe6, 0x8e, + 0x14, 0xfd, 0x92, 0xd8, 0xd4, 0xf1, 0xc4, 0x0a, 0x1b, 0xcd, 0x67, 0x58, + 0xca, 0x05, 0xae, 0x32, 0x64, 0xe7, 0x5f, 0xb1, 0x09, 0x9c, 0x07, 0xa3, + 0x1c, 0x22, 0x10, 0x12, 0x69, 0x05, 0xe1, 0xea, 0x94, 0xac, 0xed, 0xaa, + 0x2d, 0xe9, 0x05, 0xdc, +}; +static const struct drbg_kat_pr_true kat3622_t = { + 6, kat3622_entropyin, kat3622_nonce, kat3622_persstr, + kat3622_entropyinpr1, kat3622_addinpr1, kat3622_entropyinpr2, + kat3622_addinpr2, kat3622_retbits +}; +static const struct drbg_kat kat3622 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3622_t +}; + +static const unsigned char kat3623_entropyin[] = { + 0x7e, 0xd2, 0x2a, 0x3b, 0xbb, 0xc1, 0x6c, 0xa6, 0xa8, 0x5a, 0x4f, 0x6a, + 0x83, 0xe5, 0xe5, 0x0b, 0xe4, 0x7d, 0x04, 0x3d, 0x5d, 0x22, 0x75, 0x8c, + 0x0e, 0x65, 0xf0, 0xc2, 0x8e, 0xd8, 0x83, 0x1d, +}; +static const unsigned char kat3623_nonce[] = {0}; +static const unsigned char kat3623_persstr[] = {0}; +static const unsigned char kat3623_entropyinpr1[] = { + 0x27, 0x54, 0x67, 0x22, 0x31, 0x04, 0xc5, 0xe0, 0x9a, 0xc9, 0xd1, 0xcb, + 0x47, 0x3f, 0x62, 0x4a, 0xd8, 0x64, 0xb8, 0x12, 0x79, 0xa4, 0x18, 0xf1, + 0xdf, 0xe1, 0x00, 0x37, 0xb1, 0xf4, 0x1a, 0x72, +}; +static const unsigned char kat3623_addinpr1[] = { + 0x8a, 0x89, 0xc7, 0x9e, 0xbc, 0x11, 0x82, 0xba, 0x22, 0x4d, 0x5e, 0x4b, + 0x27, 0x79, 0x7d, 0xb9, 0x08, 0x78, 0x2e, 0x69, 0xe8, 0x97, 0x4f, 0x5f, + 0xd2, 0x28, 0x41, 0x49, 0x8d, 0xc0, 0xb5, 0x67, +}; +static const unsigned char kat3623_entropyinpr2[] = { + 0x88, 0x73, 0x8a, 0x05, 0x2a, 0xe6, 0x2b, 0x47, 0xcb, 0x76, 0xe9, 0xdc, + 0x57, 0x68, 0xe9, 0xeb, 0x3d, 0x6d, 0x57, 0xe2, 0x83, 0x41, 0x6d, 0xce, + 0xad, 0x44, 0xcc, 0xb6, 0x2e, 0x46, 0x7c, 0x71, +}; +static const unsigned char kat3623_addinpr2[] = { + 0xb2, 0x4b, 0x91, 0x27, 0x0e, 0x5a, 0x1a, 0x32, 0x4a, 0xb8, 0x82, 0x98, + 0xf7, 0xbb, 0x6e, 0xbc, 0x90, 0xd9, 0xeb, 0xa3, 0xc7, 0x68, 0xbb, 0xf1, + 0xfc, 0x65, 0x97, 0x59, 0xae, 0xdb, 0xc9, 0x1d, +}; +static const unsigned char kat3623_retbits[] = { + 0x80, 0x37, 0x4c, 0x37, 0x8a, 0xd0, 0xaf, 0xc0, 0xfc, 0x59, 0xed, 0xa5, + 0xf4, 0xfa, 0x70, 0x8d, 0xf5, 0xca, 0xd6, 0xa4, 0x05, 0x5a, 0x83, 0x04, + 0x6b, 0x37, 0x92, 0x17, 0x85, 0x66, 0x51, 0x71, 0x6e, 0xe8, 0xfc, 0x62, + 0x60, 0x2b, 0x89, 0x47, 0x01, 0xc7, 0xdc, 0xba, 0x65, 0x83, 0x24, 0xe1, + 0x60, 0x8f, 0x37, 0x52, 0xd5, 0xb4, 0xa5, 0xca, 0x9a, 0x69, 0xf4, 0x9d, + 0x6e, 0x1d, 0xca, 0xbe, +}; +static const struct drbg_kat_pr_true kat3623_t = { + 7, kat3623_entropyin, kat3623_nonce, kat3623_persstr, + kat3623_entropyinpr1, kat3623_addinpr1, kat3623_entropyinpr2, + kat3623_addinpr2, kat3623_retbits +}; +static const struct drbg_kat kat3623 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3623_t +}; + +static const unsigned char kat3624_entropyin[] = { + 0xdf, 0x0c, 0x87, 0x0c, 0x53, 0x12, 0x39, 0x35, 0xd6, 0xb4, 0xf3, 0x56, + 0x39, 0x8a, 0x25, 0x30, 0x25, 0xca, 0xa0, 0x30, 0xc4, 0x98, 0xe9, 0xa0, + 0x19, 0xfb, 0x33, 0xd7, 0x53, 0x51, 0x7c, 0x95, +}; +static const unsigned char kat3624_nonce[] = {0}; +static const unsigned char kat3624_persstr[] = {0}; +static const unsigned char kat3624_entropyinpr1[] = { + 0xa4, 0xb2, 0x81, 0x6c, 0xfb, 0x97, 0xd2, 0x0d, 0x11, 0x3a, 0x09, 0x85, + 0xeb, 0x7d, 0x24, 0xca, 0x37, 0x0c, 0xd1, 0x2c, 0xca, 0x9a, 0xc8, 0xa1, + 0x97, 0xbf, 0xc7, 0xdd, 0xe6, 0xe2, 0xec, 0xb5, +}; +static const unsigned char kat3624_addinpr1[] = { + 0xfd, 0x5c, 0xc5, 0xf9, 0x22, 0xd9, 0xe8, 0x67, 0xff, 0x26, 0x65, 0x9d, + 0xb1, 0x1d, 0x56, 0xdc, 0x1e, 0x98, 0x90, 0x71, 0x3b, 0xef, 0x37, 0xcb, + 0xde, 0xa4, 0x56, 0x94, 0x52, 0xa6, 0x0f, 0x40, +}; +static const unsigned char kat3624_entropyinpr2[] = { + 0xe3, 0x10, 0x95, 0xf6, 0x44, 0x3b, 0x86, 0x36, 0x29, 0xe1, 0x0c, 0x0e, + 0x49, 0x34, 0x19, 0x62, 0x7b, 0x79, 0x8e, 0x80, 0x67, 0xf2, 0x90, 0x3b, + 0x6d, 0x06, 0xd6, 0x7e, 0xf6, 0xab, 0x77, 0xaf, +}; +static const unsigned char kat3624_addinpr2[] = { + 0x1b, 0xd4, 0x59, 0xcf, 0x12, 0x20, 0xf7, 0xe1, 0x65, 0xd0, 0x08, 0x42, + 0xc7, 0x06, 0x9c, 0xf0, 0x73, 0x39, 0x39, 0x7d, 0xe9, 0xe2, 0x73, 0xd2, + 0xf7, 0xfb, 0x27, 0xd4, 0xcf, 0x0d, 0x24, 0x7e, +}; +static const unsigned char kat3624_retbits[] = { + 0xe3, 0xce, 0x4c, 0xb6, 0x0d, 0x5a, 0x06, 0xb0, 0x49, 0x53, 0xca, 0xe7, + 0xfc, 0x46, 0xd1, 0xb4, 0x08, 0xa6, 0x77, 0x2e, 0xf8, 0x57, 0xbd, 0x74, + 0xef, 0x37, 0xfa, 0x25, 0x40, 0x14, 0x10, 0x63, 0x2e, 0xb1, 0xb3, 0x53, + 0x3d, 0x58, 0xfd, 0x37, 0xd5, 0x8b, 0xd5, 0x48, 0x59, 0xa7, 0xa3, 0x5b, + 0x29, 0x81, 0x7e, 0x93, 0xc0, 0xbf, 0xb8, 0xc2, 0x94, 0x72, 0x27, 0x5b, + 0x0d, 0x67, 0xb3, 0xf0, +}; +static const struct drbg_kat_pr_true kat3624_t = { + 8, kat3624_entropyin, kat3624_nonce, kat3624_persstr, + kat3624_entropyinpr1, kat3624_addinpr1, kat3624_entropyinpr2, + kat3624_addinpr2, kat3624_retbits +}; +static const struct drbg_kat kat3624 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3624_t +}; + +static const unsigned char kat3625_entropyin[] = { + 0x47, 0x66, 0x5c, 0xd5, 0x03, 0x75, 0x28, 0x48, 0xd0, 0x2f, 0xf6, 0xad, + 0xf5, 0xe6, 0x7c, 0xd7, 0xc7, 0x41, 0xf6, 0x93, 0x2b, 0x36, 0xd5, 0x11, + 0xb6, 0xed, 0x16, 0x62, 0x38, 0x9c, 0xb6, 0x2b, +}; +static const unsigned char kat3625_nonce[] = {0}; +static const unsigned char kat3625_persstr[] = {0}; +static const unsigned char kat3625_entropyinpr1[] = { + 0x16, 0xb4, 0xa3, 0xfe, 0xf9, 0xa1, 0xb6, 0xca, 0x83, 0xd0, 0x27, 0xa1, + 0xe3, 0x55, 0x4e, 0x75, 0x17, 0xb6, 0x50, 0xba, 0xa8, 0x7f, 0x8e, 0x49, + 0xcc, 0x75, 0x17, 0x5e, 0xc6, 0x0a, 0x56, 0x9b, +}; +static const unsigned char kat3625_addinpr1[] = { + 0x77, 0x3f, 0x50, 0xbb, 0xf3, 0x78, 0x3c, 0xe1, 0x8e, 0x13, 0x79, 0x32, + 0xd0, 0x9c, 0x13, 0x10, 0x77, 0x38, 0x61, 0x78, 0x5c, 0xcc, 0x20, 0x45, + 0xfc, 0x4d, 0x3e, 0xb8, 0xed, 0xbb, 0xdd, 0xa7, +}; +static const unsigned char kat3625_entropyinpr2[] = { + 0x95, 0x04, 0x77, 0xb5, 0xca, 0x17, 0x16, 0x79, 0x5c, 0x00, 0xed, 0xcd, + 0x88, 0x06, 0x84, 0x95, 0x2e, 0xcc, 0x7f, 0x9d, 0x9d, 0x21, 0x16, 0x6b, + 0xfd, 0xdc, 0x81, 0x09, 0x6e, 0x4d, 0x4a, 0x6c, +}; +static const unsigned char kat3625_addinpr2[] = { + 0x04, 0x87, 0x95, 0x44, 0x41, 0xe5, 0x53, 0x8b, 0xfd, 0xc5, 0xe2, 0xfd, + 0x88, 0x20, 0x6f, 0x0a, 0x90, 0xf2, 0x95, 0xdd, 0x00, 0xd6, 0x0a, 0x20, + 0xaa, 0x2f, 0x52, 0x6c, 0x2c, 0xe3, 0x90, 0x2f, +}; +static const unsigned char kat3625_retbits[] = { + 0xe4, 0x02, 0x63, 0xc7, 0x5f, 0x8b, 0xe0, 0xf4, 0x3f, 0x64, 0xe3, 0x3c, + 0x9c, 0xb7, 0x0a, 0x39, 0xe4, 0xb3, 0x54, 0xbd, 0x99, 0xbb, 0x63, 0x77, + 0xa4, 0x0e, 0xb5, 0x04, 0x4f, 0xac, 0xc7, 0xef, 0x16, 0xd4, 0xda, 0xfe, + 0xcf, 0x47, 0x6b, 0xdc, 0x8f, 0x3a, 0x89, 0xb9, 0x3e, 0x88, 0x73, 0xbf, + 0x19, 0xeb, 0x2a, 0x42, 0x6e, 0xee, 0x0b, 0x05, 0x22, 0x16, 0x7f, 0x4c, + 0x70, 0x7f, 0x59, 0x49, +}; +static const struct drbg_kat_pr_true kat3625_t = { + 9, kat3625_entropyin, kat3625_nonce, kat3625_persstr, + kat3625_entropyinpr1, kat3625_addinpr1, kat3625_entropyinpr2, + kat3625_addinpr2, kat3625_retbits +}; +static const struct drbg_kat kat3625 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3625_t +}; + +static const unsigned char kat3626_entropyin[] = { + 0xac, 0x20, 0x6c, 0x41, 0x78, 0xb1, 0xc3, 0xb9, 0xa7, 0x36, 0xa1, 0xfc, + 0x98, 0x04, 0x7e, 0xb3, 0xb8, 0xed, 0xda, 0x6a, 0x75, 0xba, 0x3f, 0xae, + 0x82, 0xad, 0x43, 0x0b, 0xab, 0x45, 0xb1, 0x92, +}; +static const unsigned char kat3626_nonce[] = {0}; +static const unsigned char kat3626_persstr[] = {0}; +static const unsigned char kat3626_entropyinpr1[] = { + 0x26, 0x60, 0xec, 0x62, 0x7c, 0x44, 0xd2, 0x59, 0xa9, 0xb1, 0xb0, 0x1e, + 0x0a, 0x62, 0x39, 0xc7, 0x5a, 0xda, 0xd8, 0x3a, 0xd2, 0x69, 0x4b, 0x3b, + 0xe3, 0x6a, 0x9c, 0x24, 0xb5, 0xd9, 0x12, 0x22, +}; +static const unsigned char kat3626_addinpr1[] = { + 0x50, 0xa6, 0xbb, 0x58, 0xf3, 0x86, 0xb6, 0x69, 0x8a, 0xf0, 0x1d, 0xd0, + 0x5b, 0x9b, 0x67, 0xc5, 0x1d, 0x6f, 0xb7, 0xbf, 0x7e, 0x7e, 0xe6, 0x94, + 0xd9, 0x92, 0x36, 0x09, 0xab, 0x3a, 0x9e, 0xd4, +}; +static const unsigned char kat3626_entropyinpr2[] = { + 0x0b, 0xb0, 0x9e, 0xe8, 0x42, 0xc1, 0xde, 0xb2, 0x58, 0xea, 0x41, 0xd2, + 0xf4, 0xa6, 0x28, 0x66, 0xc2, 0xde, 0xe9, 0x3f, 0xc1, 0x42, 0x6e, 0xd0, + 0x31, 0x8a, 0x2e, 0xc6, 0x09, 0x95, 0xf2, 0xf2, +}; +static const unsigned char kat3626_addinpr2[] = { + 0xf9, 0xe0, 0x4e, 0xbc, 0x76, 0xe9, 0xc4, 0xb1, 0xb1, 0x40, 0xa7, 0x84, + 0x87, 0x04, 0xda, 0xfb, 0x55, 0x12, 0x7a, 0x97, 0x47, 0x29, 0xd2, 0x2d, + 0xcb, 0xdd, 0x40, 0xd8, 0x19, 0xbb, 0x4d, 0x87, +}; +static const unsigned char kat3626_retbits[] = { + 0xfd, 0x86, 0xf6, 0xef, 0xde, 0x8c, 0x73, 0x37, 0x33, 0x47, 0x0e, 0x60, + 0x05, 0xa9, 0xe3, 0x32, 0x7e, 0xea, 0xfa, 0x8f, 0x81, 0xf5, 0xf9, 0x41, + 0xf5, 0xb2, 0x75, 0x2e, 0xc1, 0x6d, 0x1c, 0x2d, 0xdd, 0xd4, 0x39, 0xf7, + 0x1b, 0x0b, 0x75, 0xdb, 0x4c, 0x51, 0xde, 0xac, 0x59, 0x23, 0x33, 0x4a, + 0xb1, 0x8f, 0x27, 0x2d, 0xf8, 0x3c, 0xdc, 0xc8, 0x04, 0xe2, 0x8b, 0xc3, + 0xe8, 0xb6, 0xc6, 0xa9, +}; +static const struct drbg_kat_pr_true kat3626_t = { + 10, kat3626_entropyin, kat3626_nonce, kat3626_persstr, + kat3626_entropyinpr1, kat3626_addinpr1, kat3626_entropyinpr2, + kat3626_addinpr2, kat3626_retbits +}; +static const struct drbg_kat kat3626 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3626_t +}; + +static const unsigned char kat3627_entropyin[] = { + 0xf1, 0x4f, 0xbc, 0x8c, 0x98, 0xce, 0x66, 0xfe, 0x6a, 0x13, 0x5a, 0x54, + 0x35, 0x4c, 0x54, 0xe1, 0x9c, 0xc2, 0x16, 0x2d, 0x2f, 0x3f, 0x69, 0x17, + 0x35, 0xbf, 0x20, 0x72, 0x89, 0x73, 0x20, 0x33, +}; +static const unsigned char kat3627_nonce[] = {0}; +static const unsigned char kat3627_persstr[] = {0}; +static const unsigned char kat3627_entropyinpr1[] = { + 0xa0, 0x8a, 0x66, 0xad, 0x0d, 0x0b, 0x84, 0x73, 0xbd, 0xe7, 0xea, 0xa7, + 0x6c, 0x7b, 0x28, 0x18, 0xf5, 0x7f, 0x20, 0x1d, 0x3a, 0xe8, 0x98, 0xff, + 0x53, 0xe5, 0xb0, 0x81, 0xfb, 0xdd, 0x1a, 0x52, +}; +static const unsigned char kat3627_addinpr1[] = { + 0xbd, 0xa3, 0x5c, 0xf2, 0x57, 0x6e, 0x9f, 0xdc, 0x5e, 0x8e, 0x7c, 0xa9, + 0x22, 0xad, 0x50, 0xa8, 0x1b, 0x1a, 0x2a, 0x5a, 0x00, 0xe5, 0x4d, 0x2e, + 0x20, 0xb1, 0xba, 0x7c, 0x63, 0x39, 0x42, 0xbb, +}; +static const unsigned char kat3627_entropyinpr2[] = { + 0x56, 0xad, 0x37, 0x29, 0x0a, 0xfa, 0x62, 0xb4, 0xca, 0xcb, 0x6b, 0x68, + 0x50, 0xab, 0x35, 0x19, 0xd8, 0xcc, 0x6a, 0x2a, 0x9b, 0xf2, 0x4d, 0x05, + 0xd0, 0xd7, 0x5e, 0x57, 0x21, 0xef, 0xc0, 0x42, +}; +static const unsigned char kat3627_addinpr2[] = { + 0xda, 0x02, 0xcd, 0x68, 0xa0, 0x66, 0x04, 0xbb, 0xfa, 0xd8, 0xa6, 0xaa, + 0x79, 0x96, 0x7a, 0x9e, 0x2f, 0x30, 0xc6, 0x61, 0x08, 0xc1, 0xf9, 0xfb, + 0xae, 0x9b, 0x74, 0x07, 0x08, 0x3e, 0x7b, 0xb5, +}; +static const unsigned char kat3627_retbits[] = { + 0x57, 0xe6, 0xba, 0x35, 0xd9, 0x4d, 0xab, 0x57, 0x58, 0x7f, 0xd5, 0x26, + 0x48, 0x2a, 0x92, 0x43, 0x03, 0x3d, 0x4c, 0x68, 0x6c, 0x3a, 0x51, 0xb1, + 0x29, 0x51, 0x40, 0x1d, 0x86, 0x5f, 0x2c, 0x24, 0xf2, 0x0c, 0x80, 0xa9, + 0xdb, 0x7e, 0x96, 0xef, 0x0a, 0xe8, 0x47, 0x64, 0xd4, 0x60, 0x29, 0x67, + 0xde, 0xe4, 0x45, 0xb1, 0x2a, 0xdc, 0xff, 0x9b, 0xbd, 0xa9, 0xb0, 0xf0, + 0xe6, 0xa0, 0x2f, 0xae, +}; +static const struct drbg_kat_pr_true kat3627_t = { + 11, kat3627_entropyin, kat3627_nonce, kat3627_persstr, + kat3627_entropyinpr1, kat3627_addinpr1, kat3627_entropyinpr2, + kat3627_addinpr2, kat3627_retbits +}; +static const struct drbg_kat kat3627 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3627_t +}; + +static const unsigned char kat3628_entropyin[] = { + 0xcd, 0x48, 0x1f, 0x49, 0x38, 0x22, 0x0a, 0xb2, 0xe3, 0x13, 0x05, 0xae, + 0xff, 0x42, 0xbc, 0x16, 0xde, 0xee, 0x05, 0xf9, 0x2f, 0x1e, 0x9b, 0xcd, + 0x33, 0x81, 0xcf, 0xa9, 0x53, 0x77, 0xee, 0xb4, +}; +static const unsigned char kat3628_nonce[] = {0}; +static const unsigned char kat3628_persstr[] = {0}; +static const unsigned char kat3628_entropyinpr1[] = { + 0xac, 0x87, 0xfb, 0xff, 0x62, 0x72, 0x40, 0x8d, 0xe1, 0xb8, 0xe3, 0xc4, + 0xb9, 0x9b, 0x8f, 0x57, 0x35, 0x48, 0xc4, 0xb4, 0x51, 0x69, 0x4c, 0x2b, + 0x4d, 0xc4, 0x5d, 0x96, 0xb3, 0xee, 0xc4, 0xd8, +}; +static const unsigned char kat3628_addinpr1[] = { + 0xbf, 0x84, 0x3b, 0xd3, 0x2c, 0xc9, 0xa5, 0xb2, 0xea, 0xe9, 0xc0, 0x19, + 0x4f, 0xb8, 0x62, 0xb1, 0x04, 0x31, 0x18, 0x5f, 0x8e, 0xd4, 0x5f, 0x90, + 0xa4, 0xa8, 0x29, 0x61, 0x3e, 0xb6, 0xa8, 0x0f, +}; +static const unsigned char kat3628_entropyinpr2[] = { + 0x2c, 0xfe, 0x16, 0x40, 0x01, 0x13, 0xff, 0xa2, 0xee, 0xb7, 0x93, 0x89, + 0x05, 0x0a, 0x87, 0xe8, 0xf1, 0x1e, 0x3a, 0x00, 0x16, 0xec, 0xd8, 0x90, + 0x2c, 0x69, 0x64, 0x7e, 0x99, 0x29, 0x47, 0x08, +}; +static const unsigned char kat3628_addinpr2[] = { + 0x9f, 0xc4, 0x0b, 0xe6, 0x5c, 0xb5, 0xe8, 0x1c, 0x90, 0xeb, 0x2c, 0x8a, + 0x64, 0x0d, 0x1e, 0xe2, 0xb1, 0x80, 0xdd, 0xba, 0x2f, 0x44, 0x8f, 0x5f, + 0xd8, 0x55, 0x5e, 0x2d, 0x21, 0x22, 0x41, 0x16, +}; +static const unsigned char kat3628_retbits[] = { + 0x5c, 0x1d, 0x1e, 0x4a, 0xf7, 0x89, 0xfc, 0x9a, 0xd2, 0x80, 0x4a, 0x04, + 0xcf, 0xc7, 0x1d, 0xc8, 0xae, 0x9e, 0x7e, 0xda, 0xe0, 0xe4, 0xe1, 0x65, + 0xb4, 0x01, 0x8b, 0x11, 0xaf, 0x9a, 0x43, 0xe1, 0x66, 0x6c, 0xe3, 0x9c, + 0xe5, 0x7d, 0xa6, 0x00, 0x31, 0x82, 0x64, 0x51, 0xd8, 0x66, 0xdc, 0x52, + 0xf5, 0x67, 0x51, 0x9b, 0xe6, 0x05, 0x53, 0x15, 0x00, 0xed, 0x64, 0xec, + 0x6f, 0xd5, 0x34, 0xec, +}; +static const struct drbg_kat_pr_true kat3628_t = { + 12, kat3628_entropyin, kat3628_nonce, kat3628_persstr, + kat3628_entropyinpr1, kat3628_addinpr1, kat3628_entropyinpr2, + kat3628_addinpr2, kat3628_retbits +}; +static const struct drbg_kat kat3628 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3628_t +}; + +static const unsigned char kat3629_entropyin[] = { + 0x67, 0x85, 0x33, 0x3b, 0x3f, 0xb9, 0x3b, 0x39, 0xce, 0xff, 0x40, 0x20, + 0x1d, 0xf0, 0xc2, 0x71, 0x39, 0xd3, 0x49, 0xcf, 0xdd, 0xa1, 0x33, 0xb9, + 0x36, 0xa9, 0x6d, 0x6b, 0x3c, 0x6f, 0x5b, 0xf8, +}; +static const unsigned char kat3629_nonce[] = {0}; +static const unsigned char kat3629_persstr[] = {0}; +static const unsigned char kat3629_entropyinpr1[] = { + 0x14, 0xf0, 0x06, 0x2f, 0x1c, 0x7e, 0x51, 0xb4, 0xbd, 0x92, 0xd0, 0x5d, + 0xfd, 0xfe, 0x24, 0x55, 0xad, 0x80, 0x32, 0xcd, 0x2d, 0x4a, 0xc4, 0x2c, + 0xd2, 0xe2, 0xc0, 0x99, 0x3f, 0x47, 0xa5, 0x16, +}; +static const unsigned char kat3629_addinpr1[] = { + 0xdd, 0x7d, 0x78, 0x47, 0x65, 0x99, 0x8e, 0xbf, 0x80, 0x8d, 0x11, 0x05, + 0xc7, 0x61, 0x9c, 0x96, 0x94, 0xd1, 0x2c, 0x6c, 0x6c, 0xc1, 0xb5, 0xfe, + 0x30, 0x9a, 0xa6, 0xf9, 0x16, 0xe7, 0x19, 0x79, +}; +static const unsigned char kat3629_entropyinpr2[] = { + 0x71, 0x9e, 0x01, 0xa2, 0x9c, 0x1d, 0x7e, 0xf2, 0xca, 0x96, 0x07, 0x3f, + 0x6c, 0x86, 0xc4, 0xfd, 0xd5, 0x4a, 0xaa, 0x02, 0x75, 0xa0, 0x41, 0x61, + 0x67, 0x16, 0xe0, 0xbd, 0xdc, 0x51, 0x98, 0xe7, +}; +static const unsigned char kat3629_addinpr2[] = { + 0xc7, 0x6e, 0x7f, 0x80, 0xd0, 0xa1, 0xf4, 0x1c, 0x59, 0xc2, 0x52, 0xae, + 0x63, 0x59, 0xc3, 0x0c, 0x78, 0xb0, 0x5a, 0x9d, 0x49, 0xe8, 0xd5, 0x74, + 0x8e, 0x04, 0xe2, 0x4a, 0x61, 0xce, 0x34, 0x52, +}; +static const unsigned char kat3629_retbits[] = { + 0x15, 0xd3, 0x76, 0xec, 0x61, 0xce, 0x62, 0xe0, 0x3e, 0xb5, 0x39, 0x98, + 0x25, 0x2c, 0x54, 0x0b, 0x3e, 0xa5, 0xec, 0x93, 0x36, 0x0b, 0xfa, 0x77, + 0x5d, 0x2a, 0x11, 0xf8, 0x8f, 0x7e, 0x19, 0xb6, 0x59, 0x02, 0x0b, 0x42, + 0xbd, 0xb2, 0x8d, 0xcd, 0xde, 0xb1, 0xfa, 0x0d, 0xf5, 0xcd, 0x9c, 0x30, + 0x74, 0xa5, 0x51, 0x06, 0x6f, 0x2c, 0x2c, 0x8c, 0x46, 0xed, 0xe6, 0xa4, + 0x97, 0x90, 0x3f, 0xb6, +}; +static const struct drbg_kat_pr_true kat3629_t = { + 13, kat3629_entropyin, kat3629_nonce, kat3629_persstr, + kat3629_entropyinpr1, kat3629_addinpr1, kat3629_entropyinpr2, + kat3629_addinpr2, kat3629_retbits +}; +static const struct drbg_kat kat3629 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3629_t +}; + +static const unsigned char kat3630_entropyin[] = { + 0xda, 0x89, 0xad, 0xc5, 0xf1, 0x44, 0x42, 0x92, 0xc2, 0x6b, 0x3c, 0xc9, + 0xd6, 0x1f, 0xfe, 0x7e, 0x6f, 0xa2, 0xfe, 0xae, 0xe0, 0x6b, 0x4f, 0x99, + 0xe8, 0x3c, 0x48, 0x0d, 0x02, 0x38, 0x61, 0x94, +}; +static const unsigned char kat3630_nonce[] = {0}; +static const unsigned char kat3630_persstr[] = {0}; +static const unsigned char kat3630_entropyinpr1[] = { + 0x06, 0x18, 0x73, 0xd9, 0x2e, 0x0e, 0x90, 0x8c, 0x30, 0xee, 0x49, 0x6d, + 0x62, 0xa7, 0x1e, 0x5a, 0x0b, 0x22, 0x5c, 0xbf, 0x13, 0xb6, 0xa8, 0x50, + 0x15, 0x61, 0xb9, 0x0a, 0xad, 0x9e, 0x78, 0x4f, +}; +static const unsigned char kat3630_addinpr1[] = { + 0x8f, 0x7a, 0xde, 0xa4, 0xc9, 0x82, 0x8b, 0x99, 0xe8, 0x00, 0x56, 0xf9, + 0x9f, 0x5a, 0xc1, 0xcd, 0xf7, 0xa2, 0xb5, 0x1f, 0x2e, 0x83, 0x1c, 0xc8, + 0xc0, 0x9a, 0x3e, 0x35, 0xf2, 0x5d, 0x24, 0xf7, +}; +static const unsigned char kat3630_entropyinpr2[] = { + 0x9a, 0x4d, 0xfa, 0xc9, 0x92, 0x70, 0xa6, 0x7b, 0x45, 0x25, 0x6a, 0x4d, + 0xa4, 0xac, 0x0d, 0xf1, 0x56, 0x93, 0xa4, 0xa1, 0x9f, 0xb6, 0x8d, 0x08, + 0xc0, 0xa2, 0x06, 0x1a, 0x9e, 0x19, 0x07, 0x49, +}; +static const unsigned char kat3630_addinpr2[] = { + 0xf2, 0x98, 0xb8, 0x78, 0x9d, 0xb7, 0xc5, 0xb8, 0xe0, 0x35, 0x47, 0x64, + 0xd0, 0xb3, 0x00, 0x13, 0x45, 0x3c, 0x3c, 0x5c, 0x77, 0xbf, 0xec, 0x04, + 0x26, 0x42, 0x03, 0xd7, 0x67, 0x4f, 0x23, 0xc4, +}; +static const unsigned char kat3630_retbits[] = { + 0xa7, 0x74, 0x6e, 0x68, 0x9f, 0xbe, 0x9e, 0xee, 0xd3, 0x4b, 0x0b, 0xa5, + 0x24, 0x85, 0x17, 0x42, 0xa5, 0xfe, 0xfe, 0x1f, 0xf5, 0xab, 0x84, 0xc6, + 0xb9, 0xa1, 0x18, 0xda, 0x64, 0xa8, 0xad, 0x8f, 0xc9, 0xff, 0x60, 0x1c, + 0xcb, 0xe6, 0xa5, 0xb7, 0xe9, 0x0c, 0x5d, 0xa8, 0xcd, 0xc8, 0xd9, 0xfb, + 0xa7, 0x41, 0xd2, 0x2a, 0x0a, 0xa1, 0xd8, 0xce, 0x4f, 0xb9, 0xcd, 0x61, + 0x48, 0xeb, 0x06, 0xda, +}; +static const struct drbg_kat_pr_true kat3630_t = { + 14, kat3630_entropyin, kat3630_nonce, kat3630_persstr, + kat3630_entropyinpr1, kat3630_addinpr1, kat3630_entropyinpr2, + kat3630_addinpr2, kat3630_retbits +}; +static const struct drbg_kat kat3630 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3630_t +}; + +static const unsigned char kat3631_entropyin[] = { + 0x52, 0x8c, 0xcd, 0x2d, 0x6c, 0x14, 0x38, 0x00, 0xa3, 0x4a, 0xd3, 0x3e, + 0x7f, 0x15, 0x3c, 0xfa, 0xce, 0xaa, 0x24, 0x11, 0xab, 0xba, 0xf4, 0xbf, + 0xcf, 0xe9, 0x79, 0x68, 0x98, 0xd0, 0xec, 0xe6, +}; +static const unsigned char kat3631_nonce[] = {0}; +static const unsigned char kat3631_persstr[] = { + 0x07, 0xca, 0x7a, 0x00, 0x7b, 0x53, 0xf0, 0x14, 0xd7, 0xf1, 0x04, 0x61, + 0xd6, 0xc9, 0x7b, 0x5c, 0x8b, 0x0c, 0x50, 0x2d, 0x34, 0x61, 0xd5, 0x83, + 0xf9, 0x9e, 0xfe, 0xc6, 0x9f, 0x12, 0x1c, 0xd2, +}; +static const unsigned char kat3631_entropyinpr1[] = { + 0x47, 0x8f, 0xd1, 0xea, 0xa7, 0xed, 0x29, 0x32, 0x94, 0xd3, 0x70, 0x97, + 0x9b, 0x0f, 0x0f, 0x19, 0x48, 0xd5, 0xa3, 0x16, 0x1b, 0x12, 0xee, 0xeb, + 0xf2, 0xcf, 0x6b, 0xd1, 0xbf, 0x05, 0x9a, 0xdf, +}; +static const unsigned char kat3631_addinpr1[] = {0}; +static const unsigned char kat3631_entropyinpr2[] = { + 0x03, 0x6b, 0xf1, 0x17, 0x39, 0x77, 0xb3, 0x23, 0xf6, 0x0c, 0x6f, 0x0f, + 0x60, 0x3d, 0x9c, 0x50, 0x83, 0x5b, 0x2a, 0xfc, 0xa8, 0x34, 0x7d, 0xfb, + 0x24, 0xe8, 0xf6, 0x66, 0x04, 0x44, 0x49, 0x51, +}; +static const unsigned char kat3631_addinpr2[] = {0}; +static const unsigned char kat3631_retbits[] = { + 0xbb, 0xa1, 0xef, 0x50, 0xb4, 0xba, 0xd2, 0x88, 0x89, 0x7f, 0x02, 0xac, + 0x27, 0x06, 0xee, 0x1e, 0x01, 0x48, 0x8d, 0xcb, 0xe9, 0xb3, 0xd8, 0xa6, + 0x37, 0x92, 0x1f, 0x5e, 0x78, 0x8f, 0xae, 0xd3, 0xb2, 0x3d, 0xb6, 0x3d, + 0x59, 0x0c, 0xea, 0xa7, 0x60, 0x7a, 0x21, 0x79, 0x19, 0x2b, 0xea, 0x9a, + 0xea, 0xa8, 0x5d, 0x04, 0x8e, 0x7e, 0x10, 0x8f, 0xee, 0x66, 0x6d, 0xc6, + 0x46, 0xaf, 0x5f, 0x0e, +}; +static const struct drbg_kat_pr_true kat3631_t = { + 0, kat3631_entropyin, kat3631_nonce, kat3631_persstr, + kat3631_entropyinpr1, kat3631_addinpr1, kat3631_entropyinpr2, + kat3631_addinpr2, kat3631_retbits +}; +static const struct drbg_kat kat3631 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3631_t +}; + +static const unsigned char kat3632_entropyin[] = { + 0x53, 0xe5, 0x78, 0x3f, 0xd2, 0x7c, 0xda, 0x26, 0x41, 0x89, 0xff, 0x0a, + 0xa5, 0x51, 0x3d, 0xc5, 0x90, 0x3c, 0x28, 0xe3, 0xe2, 0x60, 0xb7, 0x7b, + 0x4b, 0x4a, 0x0b, 0x9b, 0x76, 0xe4, 0xaa, 0x46, +}; +static const unsigned char kat3632_nonce[] = {0}; +static const unsigned char kat3632_persstr[] = { + 0x99, 0xf2, 0xd5, 0x01, 0xdd, 0x18, 0x3f, 0x56, 0x57, 0xd8, 0xb8, 0x06, + 0x1b, 0xf4, 0xf0, 0x98, 0x8d, 0xe3, 0xbc, 0x27, 0x19, 0xf4, 0x12, 0x81, + 0xcf, 0x08, 0xd9, 0xbc, 0xc9, 0x9f, 0x0d, 0xcb, +}; +static const unsigned char kat3632_entropyinpr1[] = { + 0xe0, 0x4b, 0xad, 0xe7, 0x63, 0x6e, 0x72, 0x39, 0x7f, 0x83, 0x03, 0x43, + 0x7c, 0xb2, 0x2b, 0xe5, 0x28, 0x10, 0xda, 0xdd, 0x76, 0x8d, 0x5c, 0xfc, + 0x9d, 0x32, 0x69, 0xe7, 0xad, 0x4b, 0xc8, 0xbc, +}; +static const unsigned char kat3632_addinpr1[] = {0}; +static const unsigned char kat3632_entropyinpr2[] = { + 0xe2, 0x0d, 0xab, 0xb9, 0xfc, 0xaf, 0x3a, 0xed, 0x0e, 0xc4, 0x0c, 0x7e, + 0xf6, 0x8d, 0x78, 0xf2, 0xbc, 0xb5, 0x67, 0x5d, 0xb2, 0xd6, 0x2e, 0xe4, + 0x0d, 0x81, 0x84, 0xb7, 0x04, 0x6f, 0x0e, 0x0e, +}; +static const unsigned char kat3632_addinpr2[] = {0}; +static const unsigned char kat3632_retbits[] = { + 0xb9, 0xec, 0xf5, 0x52, 0x1d, 0x38, 0xf9, 0x21, 0x25, 0x78, 0xf9, 0xdd, + 0x32, 0xaf, 0x38, 0x08, 0x9b, 0x45, 0x81, 0x2c, 0xa9, 0x6e, 0x66, 0x1f, + 0xc8, 0xe1, 0xbe, 0x0b, 0x2f, 0x4b, 0x54, 0x21, 0x5f, 0x52, 0xc9, 0xc9, + 0x3a, 0x6f, 0x76, 0xef, 0xee, 0x45, 0x21, 0xcb, 0x31, 0x63, 0x78, 0x40, + 0x31, 0x08, 0xa6, 0xbf, 0x27, 0x24, 0xfd, 0xc9, 0x3b, 0xc4, 0xd2, 0xdb, + 0x60, 0xa2, 0xde, 0x83, +}; +static const struct drbg_kat_pr_true kat3632_t = { + 1, kat3632_entropyin, kat3632_nonce, kat3632_persstr, + kat3632_entropyinpr1, kat3632_addinpr1, kat3632_entropyinpr2, + kat3632_addinpr2, kat3632_retbits +}; +static const struct drbg_kat kat3632 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3632_t +}; + +static const unsigned char kat3633_entropyin[] = { + 0xf3, 0xb2, 0x47, 0xd0, 0x40, 0x07, 0x40, 0xd1, 0x8b, 0x79, 0x5e, 0x8e, + 0x9c, 0x04, 0xcc, 0x43, 0xeb, 0x13, 0x8c, 0xb9, 0xeb, 0x6c, 0x46, 0x86, + 0x20, 0x30, 0x51, 0x7d, 0x8b, 0x36, 0x79, 0xdb, +}; +static const unsigned char kat3633_nonce[] = {0}; +static const unsigned char kat3633_persstr[] = { + 0x61, 0x7d, 0x64, 0x63, 0xea, 0xf3, 0x84, 0x9e, 0x13, 0xb8, 0x9a, 0x7f, + 0x98, 0x05, 0xed, 0xff, 0x3e, 0xa1, 0xf0, 0xaa, 0x7a, 0xd7, 0x1e, 0x7d, + 0xe7, 0xaf, 0x34, 0x81, 0xbf, 0xeb, 0xa7, 0xf5, +}; +static const unsigned char kat3633_entropyinpr1[] = { + 0x06, 0x03, 0xb4, 0x81, 0xbb, 0x88, 0xd7, 0x7d, 0x6b, 0xac, 0xf0, 0x3a, + 0x64, 0xcf, 0x82, 0x24, 0x84, 0x20, 0xa9, 0x5c, 0xca, 0x10, 0xe3, 0xef, + 0xc0, 0x12, 0xbd, 0x77, 0x0d, 0xd5, 0x62, 0x1c, +}; +static const unsigned char kat3633_addinpr1[] = {0}; +static const unsigned char kat3633_entropyinpr2[] = { + 0x23, 0x3b, 0x1e, 0x55, 0x0a, 0x0d, 0x12, 0x49, 0xa5, 0xbd, 0x09, 0xcc, + 0xb9, 0xa8, 0x8b, 0xe9, 0x11, 0x92, 0x58, 0xfe, 0xad, 0xfc, 0x30, 0x9a, + 0x6a, 0xe3, 0xc3, 0x40, 0x91, 0x85, 0x45, 0xb9, +}; +static const unsigned char kat3633_addinpr2[] = {0}; +static const unsigned char kat3633_retbits[] = { + 0xce, 0x4b, 0xec, 0x82, 0x41, 0xdd, 0x1c, 0xe1, 0x2d, 0x7f, 0xa1, 0x8b, + 0xd1, 0xa3, 0x18, 0x8b, 0x43, 0x89, 0x23, 0x92, 0xb7, 0xdc, 0xae, 0x72, + 0x28, 0xa8, 0x51, 0xaf, 0xef, 0x9c, 0x97, 0x28, 0xc5, 0x87, 0x16, 0x7b, + 0x6d, 0xf2, 0x8c, 0x89, 0x5a, 0x67, 0xaf, 0x35, 0xb6, 0xfd, 0x84, 0xad, + 0x07, 0x6e, 0xfc, 0xd7, 0x0d, 0x1c, 0x59, 0xc4, 0x9f, 0xa7, 0xc0, 0xf7, + 0xed, 0x87, 0xbc, 0x82, +}; +static const struct drbg_kat_pr_true kat3633_t = { + 2, kat3633_entropyin, kat3633_nonce, kat3633_persstr, + kat3633_entropyinpr1, kat3633_addinpr1, kat3633_entropyinpr2, + kat3633_addinpr2, kat3633_retbits +}; +static const struct drbg_kat kat3633 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3633_t +}; + +static const unsigned char kat3634_entropyin[] = { + 0x9d, 0x97, 0xce, 0x84, 0x52, 0x47, 0x4b, 0xc1, 0x9a, 0x4b, 0xe6, 0x4e, + 0xfd, 0x43, 0x48, 0x48, 0x74, 0x07, 0x47, 0x79, 0xe0, 0x5a, 0xc2, 0x21, + 0xf1, 0x9d, 0xb3, 0x95, 0x5c, 0xe2, 0x9b, 0xc1, +}; +static const unsigned char kat3634_nonce[] = {0}; +static const unsigned char kat3634_persstr[] = { + 0x7f, 0x7d, 0x81, 0xa5, 0xc7, 0x2f, 0x9e, 0x34, 0x98, 0xde, 0x18, 0x33, + 0x29, 0xd6, 0xb2, 0x29, 0x17, 0x92, 0xac, 0x8c, 0x81, 0xe6, 0x90, 0x20, + 0x03, 0x87, 0x30, 0x5a, 0xba, 0x89, 0x87, 0xc7, +}; +static const unsigned char kat3634_entropyinpr1[] = { + 0x5c, 0x0e, 0xf2, 0x7b, 0x53, 0xeb, 0x79, 0x03, 0xcc, 0x9e, 0x2b, 0xc7, + 0x09, 0xf9, 0xe8, 0x85, 0xee, 0xc1, 0x39, 0xec, 0x68, 0x7a, 0x34, 0x44, + 0x45, 0x0f, 0x0c, 0xb0, 0x79, 0xca, 0x51, 0x71, +}; +static const unsigned char kat3634_addinpr1[] = {0}; +static const unsigned char kat3634_entropyinpr2[] = { + 0x0e, 0x26, 0xd3, 0xe8, 0xd2, 0xfd, 0x18, 0xfe, 0x0c, 0xe2, 0x53, 0x8c, + 0x2e, 0xde, 0x5d, 0x61, 0x57, 0x4c, 0x82, 0x27, 0xb3, 0xf8, 0x2b, 0x33, + 0x3a, 0xc4, 0x2d, 0xbd, 0xd7, 0x8b, 0x8e, 0x19, +}; +static const unsigned char kat3634_addinpr2[] = {0}; +static const unsigned char kat3634_retbits[] = { + 0x94, 0x00, 0x1b, 0x01, 0x18, 0x30, 0xbc, 0x6a, 0x91, 0x1f, 0xa2, 0x3b, + 0xc1, 0xfd, 0x0d, 0xac, 0x8c, 0x0a, 0xcd, 0x0e, 0x85, 0x6a, 0xb4, 0x49, + 0x7a, 0xd0, 0x72, 0xe5, 0x4f, 0xe3, 0xb4, 0x7b, 0xc0, 0x68, 0x90, 0xe7, + 0xe7, 0xba, 0xbd, 0x49, 0x12, 0xaf, 0x1e, 0x7d, 0xa9, 0x6e, 0x90, 0x52, + 0x3b, 0x75, 0xdd, 0x86, 0xd9, 0xa4, 0xba, 0x4d, 0x88, 0x10, 0x7d, 0xe6, + 0x07, 0xe5, 0x25, 0x34, +}; +static const struct drbg_kat_pr_true kat3634_t = { + 3, kat3634_entropyin, kat3634_nonce, kat3634_persstr, + kat3634_entropyinpr1, kat3634_addinpr1, kat3634_entropyinpr2, + kat3634_addinpr2, kat3634_retbits +}; +static const struct drbg_kat kat3634 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3634_t +}; + +static const unsigned char kat3635_entropyin[] = { + 0x12, 0xf6, 0x8f, 0x04, 0x92, 0x16, 0xe3, 0x98, 0x78, 0x60, 0x65, 0x1f, + 0x6f, 0xd1, 0x3e, 0xfe, 0xf1, 0x84, 0xfc, 0x8f, 0xe0, 0x5c, 0xac, 0x45, + 0x9e, 0xb3, 0xcf, 0x97, 0xdd, 0x95, 0x7e, 0x6c, +}; +static const unsigned char kat3635_nonce[] = {0}; +static const unsigned char kat3635_persstr[] = { + 0x0c, 0x70, 0xa2, 0x0b, 0x69, 0x0b, 0xf5, 0xd5, 0x86, 0xb2, 0x84, 0xaa, + 0x75, 0x2e, 0xc7, 0x30, 0x55, 0xe0, 0x39, 0x23, 0x30, 0x89, 0xa3, 0x0e, + 0xfd, 0xd6, 0x21, 0x8a, 0x1e, 0x49, 0xf5, 0x48, +}; +static const unsigned char kat3635_entropyinpr1[] = { + 0xcc, 0xfa, 0xbc, 0x0f, 0x84, 0x78, 0x01, 0xb3, 0x42, 0x77, 0x4c, 0xe5, + 0x0d, 0x80, 0xc6, 0x00, 0xaf, 0x2d, 0x1f, 0x20, 0x16, 0xe1, 0xae, 0xa4, + 0x12, 0xfc, 0x4c, 0x60, 0xb2, 0xa0, 0x41, 0xb1, +}; +static const unsigned char kat3635_addinpr1[] = {0}; +static const unsigned char kat3635_entropyinpr2[] = { + 0x07, 0xe1, 0x92, 0xe5, 0x76, 0xbb, 0x03, 0x1b, 0xb8, 0xba, 0xa6, 0x0b, + 0x93, 0x74, 0xdc, 0xc1, 0xc4, 0x0c, 0xb4, 0x3a, 0xb4, 0x20, 0x35, 0x71, + 0x95, 0x88, 0xe2, 0xaf, 0xd7, 0x5f, 0xc8, 0xf0, +}; +static const unsigned char kat3635_addinpr2[] = {0}; +static const unsigned char kat3635_retbits[] = { + 0xd0, 0x61, 0x99, 0x96, 0xc8, 0x84, 0x23, 0xa7, 0x40, 0xf0, 0x4d, 0xfd, + 0xad, 0x3b, 0xfc, 0x13, 0x1b, 0xf3, 0x60, 0x1f, 0xc4, 0x30, 0x22, 0xe8, + 0x99, 0x57, 0xbf, 0x8b, 0x9a, 0x1a, 0xd8, 0x70, 0x2b, 0xc8, 0xfb, 0xb2, + 0x00, 0x4e, 0x7a, 0xb0, 0x25, 0x50, 0x77, 0x78, 0x18, 0xe1, 0x1f, 0x03, + 0xfa, 0xb4, 0x84, 0x58, 0x42, 0x4a, 0xe5, 0xc8, 0xcc, 0x8c, 0xb7, 0x34, + 0x36, 0x65, 0x72, 0x92, +}; +static const struct drbg_kat_pr_true kat3635_t = { + 4, kat3635_entropyin, kat3635_nonce, kat3635_persstr, + kat3635_entropyinpr1, kat3635_addinpr1, kat3635_entropyinpr2, + kat3635_addinpr2, kat3635_retbits +}; +static const struct drbg_kat kat3635 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3635_t +}; + +static const unsigned char kat3636_entropyin[] = { + 0x61, 0x29, 0xa1, 0x63, 0xef, 0xde, 0x5f, 0x14, 0x06, 0x7e, 0x07, 0x5c, + 0x47, 0x90, 0x02, 0x96, 0x52, 0xa5, 0x6e, 0xed, 0xf8, 0xea, 0x48, 0x77, + 0xa0, 0xff, 0xce, 0xdd, 0x32, 0x86, 0x61, 0x66, +}; +static const unsigned char kat3636_nonce[] = {0}; +static const unsigned char kat3636_persstr[] = { + 0x1f, 0xe2, 0xb0, 0xce, 0x3a, 0x18, 0x96, 0x01, 0x7e, 0x30, 0x75, 0x30, + 0x64, 0xe1, 0xc0, 0xe1, 0x34, 0x1b, 0x67, 0x35, 0x69, 0xc7, 0x39, 0xa1, + 0x99, 0xcd, 0x21, 0x8f, 0xe6, 0x46, 0x65, 0xd0, +}; +static const unsigned char kat3636_entropyinpr1[] = { + 0x35, 0x6a, 0xde, 0x73, 0xb8, 0xff, 0xb3, 0x84, 0x08, 0xbe, 0x05, 0x37, + 0xca, 0x53, 0x9b, 0x63, 0x3d, 0x0a, 0xff, 0xfc, 0xf2, 0x96, 0x2b, 0x71, + 0x7a, 0xc3, 0x7e, 0xb2, 0xa0, 0x6d, 0xdf, 0x50, +}; +static const unsigned char kat3636_addinpr1[] = {0}; +static const unsigned char kat3636_entropyinpr2[] = { + 0x0b, 0x85, 0x7f, 0xe1, 0x37, 0xca, 0xb1, 0x49, 0xe9, 0x19, 0x50, 0x19, + 0x73, 0x2a, 0x71, 0x4e, 0x25, 0xe6, 0x2c, 0x94, 0x6e, 0xba, 0x58, 0xdd, + 0x2f, 0xa8, 0xe6, 0xc7, 0x97, 0x17, 0x2b, 0xcb, +}; +static const unsigned char kat3636_addinpr2[] = {0}; +static const unsigned char kat3636_retbits[] = { + 0xa2, 0x61, 0x3d, 0xdb, 0x75, 0x10, 0x7e, 0xf3, 0xfe, 0x9f, 0xc3, 0x92, + 0x06, 0x1a, 0x52, 0xea, 0x23, 0x04, 0xaf, 0x7a, 0xed, 0x6d, 0xed, 0xec, + 0x3a, 0xee, 0x62, 0x6e, 0x1a, 0xb2, 0xbf, 0x98, 0x9c, 0xe7, 0xd6, 0x48, + 0x45, 0x55, 0x94, 0x1e, 0x9a, 0x40, 0x13, 0x03, 0x6c, 0x46, 0x05, 0xc5, + 0x64, 0xf1, 0x7d, 0x4d, 0x13, 0x69, 0xe1, 0xe1, 0x2d, 0x28, 0xb8, 0x77, + 0xd2, 0x12, 0x5d, 0x99, +}; +static const struct drbg_kat_pr_true kat3636_t = { + 5, kat3636_entropyin, kat3636_nonce, kat3636_persstr, + kat3636_entropyinpr1, kat3636_addinpr1, kat3636_entropyinpr2, + kat3636_addinpr2, kat3636_retbits +}; +static const struct drbg_kat kat3636 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3636_t +}; + +static const unsigned char kat3637_entropyin[] = { + 0x31, 0x0d, 0x2e, 0x7b, 0x24, 0x9c, 0xa8, 0xfd, 0xf1, 0xd4, 0xb1, 0x56, + 0x12, 0xf6, 0xe1, 0xf5, 0x42, 0x82, 0x41, 0xc7, 0xad, 0x77, 0x72, 0x81, + 0x17, 0x1f, 0xdc, 0xec, 0xf7, 0xf5, 0xed, 0x44, +}; +static const unsigned char kat3637_nonce[] = {0}; +static const unsigned char kat3637_persstr[] = { + 0x27, 0x03, 0xe1, 0xdc, 0xa9, 0x92, 0x69, 0x95, 0x70, 0x52, 0x29, 0xcc, + 0x8a, 0x8c, 0x9d, 0x95, 0x8b, 0xcd, 0xbf, 0xd5, 0xf3, 0xe0, 0x9e, 0xeb, + 0x34, 0x9b, 0x51, 0x35, 0x68, 0x6a, 0xee, 0xd1, +}; +static const unsigned char kat3637_entropyinpr1[] = { + 0x24, 0x1e, 0x8f, 0xe2, 0xd6, 0xde, 0x5e, 0xfb, 0x65, 0x09, 0x14, 0x4c, + 0x8d, 0xba, 0x00, 0xa5, 0x82, 0xd1, 0xae, 0xbf, 0xab, 0xd3, 0x06, 0x05, + 0x27, 0x47, 0xfc, 0x31, 0x1d, 0x7c, 0x5a, 0x56, +}; +static const unsigned char kat3637_addinpr1[] = {0}; +static const unsigned char kat3637_entropyinpr2[] = { + 0xa2, 0xc1, 0x00, 0xda, 0x70, 0xd8, 0x65, 0x9d, 0x94, 0xa4, 0xd6, 0xa0, + 0xf1, 0x05, 0x94, 0xc8, 0x41, 0x2c, 0x97, 0x71, 0x68, 0xdf, 0x24, 0x2a, + 0x35, 0xd5, 0xc2, 0x60, 0x0a, 0x47, 0x08, 0x4b, +}; +static const unsigned char kat3637_addinpr2[] = {0}; +static const unsigned char kat3637_retbits[] = { + 0x48, 0x46, 0x05, 0x43, 0xd0, 0x8b, 0x33, 0x31, 0xf0, 0xc7, 0xbc, 0xf7, + 0x86, 0xbe, 0x06, 0xa2, 0x76, 0xef, 0xc7, 0x57, 0xbe, 0xdc, 0xe0, 0xf4, + 0x28, 0x32, 0x3d, 0x54, 0x20, 0x69, 0x31, 0xf1, 0x8c, 0x3c, 0x7c, 0x60, + 0x6c, 0x0f, 0xf8, 0xe6, 0x73, 0xf3, 0xd1, 0x36, 0x7c, 0x7d, 0x50, 0xdb, + 0x2e, 0xd0, 0x02, 0x12, 0x0f, 0xf0, 0x56, 0x23, 0xd2, 0xde, 0xdd, 0xd0, + 0x37, 0xc1, 0x25, 0xa4, +}; +static const struct drbg_kat_pr_true kat3637_t = { + 6, kat3637_entropyin, kat3637_nonce, kat3637_persstr, + kat3637_entropyinpr1, kat3637_addinpr1, kat3637_entropyinpr2, + kat3637_addinpr2, kat3637_retbits +}; +static const struct drbg_kat kat3637 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3637_t +}; + +static const unsigned char kat3638_entropyin[] = { + 0xf5, 0x77, 0x1e, 0xea, 0xcd, 0xde, 0xf0, 0xc6, 0xcb, 0xfa, 0xc5, 0xac, + 0x42, 0x85, 0x20, 0x5f, 0x11, 0x0f, 0xd6, 0xa8, 0x17, 0x4a, 0xd4, 0x57, + 0x48, 0xa8, 0x63, 0x3a, 0x28, 0xc8, 0x5e, 0xc2, +}; +static const unsigned char kat3638_nonce[] = {0}; +static const unsigned char kat3638_persstr[] = { + 0x9c, 0xa4, 0xb8, 0xe6, 0xcd, 0xec, 0x1e, 0xcd, 0x95, 0x46, 0x50, 0x85, + 0x42, 0xc8, 0x49, 0x36, 0xff, 0x2a, 0xa1, 0xa4, 0xda, 0xb9, 0x69, 0x61, + 0x31, 0x39, 0xc0, 0x1e, 0x35, 0xf3, 0x6d, 0x71, +}; +static const unsigned char kat3638_entropyinpr1[] = { + 0x06, 0x21, 0xba, 0xbc, 0x5c, 0x0e, 0xa5, 0x27, 0xca, 0x7c, 0x8d, 0x42, + 0x33, 0x8e, 0x16, 0xb6, 0x11, 0x3b, 0x38, 0x7b, 0xa8, 0x88, 0xa6, 0xc1, + 0x27, 0x79, 0xcc, 0x12, 0x75, 0x61, 0xa1, 0x48, +}; +static const unsigned char kat3638_addinpr1[] = {0}; +static const unsigned char kat3638_entropyinpr2[] = { + 0x67, 0x2d, 0xf1, 0xd5, 0x85, 0x10, 0xc0, 0x16, 0x91, 0x3f, 0xc6, 0xc4, + 0x27, 0x71, 0x27, 0x3f, 0x7c, 0xba, 0xee, 0xf1, 0x99, 0x3d, 0xba, 0xbc, + 0xd6, 0xcc, 0xa2, 0x67, 0x58, 0xbd, 0xb7, 0xdf, +}; +static const unsigned char kat3638_addinpr2[] = {0}; +static const unsigned char kat3638_retbits[] = { + 0x03, 0x7a, 0x03, 0x05, 0x53, 0x2b, 0x6b, 0xd2, 0xa5, 0x10, 0x57, 0x96, + 0x2f, 0x23, 0xdb, 0xfd, 0x46, 0x60, 0xbe, 0x8e, 0x5b, 0x7a, 0x44, 0x8b, + 0x11, 0x68, 0xbe, 0x3b, 0xf8, 0x59, 0x8a, 0x30, 0x1f, 0xb5, 0x17, 0xa4, + 0x71, 0x4b, 0x78, 0x26, 0x16, 0x2f, 0xc0, 0xfc, 0xda, 0xe0, 0x88, 0x00, + 0xe9, 0x67, 0xf6, 0x38, 0xff, 0x1a, 0xd1, 0xda, 0x39, 0x28, 0x2d, 0x34, + 0x54, 0xd9, 0x30, 0x75, +}; +static const struct drbg_kat_pr_true kat3638_t = { + 7, kat3638_entropyin, kat3638_nonce, kat3638_persstr, + kat3638_entropyinpr1, kat3638_addinpr1, kat3638_entropyinpr2, + kat3638_addinpr2, kat3638_retbits +}; +static const struct drbg_kat kat3638 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3638_t +}; + +static const unsigned char kat3639_entropyin[] = { + 0x7a, 0x93, 0x65, 0xeb, 0xb4, 0x8f, 0xdd, 0x83, 0x80, 0x91, 0x67, 0xcb, + 0x2b, 0xfe, 0xbc, 0x37, 0xb6, 0x9b, 0x34, 0x59, 0x5b, 0x2f, 0x8d, 0x81, + 0xcf, 0xf2, 0x92, 0x4a, 0x70, 0xe3, 0x00, 0xd5, +}; +static const unsigned char kat3639_nonce[] = {0}; +static const unsigned char kat3639_persstr[] = { + 0x0f, 0x53, 0x39, 0x37, 0x85, 0x7d, 0xc9, 0xf9, 0x7f, 0xef, 0xa1, 0x42, + 0xc9, 0x54, 0x45, 0xb4, 0x84, 0xe1, 0xf2, 0x59, 0xa4, 0x88, 0xe9, 0xfa, + 0x38, 0xa4, 0x6e, 0x49, 0xd6, 0x93, 0xc4, 0xb6, +}; +static const unsigned char kat3639_entropyinpr1[] = { + 0x95, 0x4e, 0x64, 0xb6, 0xf4, 0xf1, 0xd7, 0xe0, 0x13, 0x5e, 0xb2, 0xa9, + 0x17, 0x46, 0x12, 0xd2, 0x31, 0x11, 0x32, 0x9c, 0x00, 0xbd, 0xed, 0x4c, + 0xec, 0xf6, 0xb2, 0xb2, 0xfd, 0xfa, 0xd1, 0x45, +}; +static const unsigned char kat3639_addinpr1[] = {0}; +static const unsigned char kat3639_entropyinpr2[] = { + 0xe6, 0x49, 0x57, 0x28, 0xcb, 0x28, 0xb8, 0xf6, 0x4b, 0x20, 0x8a, 0xfa, + 0x9e, 0x10, 0x12, 0xf0, 0x61, 0xc7, 0x90, 0xd2, 0x85, 0x66, 0x3f, 0x5c, + 0xf0, 0x76, 0x0c, 0x9f, 0x7c, 0x4b, 0xd3, 0x2f, +}; +static const unsigned char kat3639_addinpr2[] = {0}; +static const unsigned char kat3639_retbits[] = { + 0x03, 0x5c, 0x19, 0x39, 0x6d, 0x60, 0x3b, 0x52, 0x22, 0x2c, 0x16, 0xaf, + 0x6c, 0x6b, 0xc1, 0xc0, 0x7a, 0x1a, 0x51, 0x8f, 0x57, 0x8b, 0x59, 0x94, + 0x3f, 0xfa, 0xd7, 0x3c, 0xa1, 0x49, 0x48, 0xb7, 0xa8, 0xdd, 0xe1, 0x17, + 0xe5, 0xc5, 0x71, 0x50, 0x6d, 0x57, 0xfd, 0x08, 0xe3, 0xa0, 0x67, 0xa2, + 0xae, 0x3b, 0xde, 0x22, 0x40, 0xc2, 0x39, 0x9f, 0x16, 0x0c, 0x5c, 0xc5, + 0xa2, 0xf5, 0xd5, 0x82, +}; +static const struct drbg_kat_pr_true kat3639_t = { + 8, kat3639_entropyin, kat3639_nonce, kat3639_persstr, + kat3639_entropyinpr1, kat3639_addinpr1, kat3639_entropyinpr2, + kat3639_addinpr2, kat3639_retbits +}; +static const struct drbg_kat kat3639 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3639_t +}; + +static const unsigned char kat3640_entropyin[] = { + 0xbd, 0x10, 0xe4, 0xb2, 0x82, 0xc9, 0x8b, 0x6c, 0x2e, 0x04, 0x51, 0x27, + 0x2a, 0x33, 0x2c, 0x24, 0xf5, 0x4a, 0x2a, 0x45, 0x24, 0x4e, 0x98, 0x89, + 0x42, 0x0a, 0x48, 0x78, 0x6f, 0x66, 0x2a, 0xed, +}; +static const unsigned char kat3640_nonce[] = {0}; +static const unsigned char kat3640_persstr[] = { + 0x95, 0x04, 0x72, 0xba, 0x4b, 0x3b, 0x69, 0x79, 0xba, 0x4d, 0x2a, 0x1a, + 0xd5, 0x1d, 0xb7, 0x73, 0x2e, 0xb3, 0x33, 0x7b, 0x28, 0x27, 0x0f, 0xdb, + 0x7f, 0x99, 0x01, 0x81, 0x44, 0x73, 0x4f, 0x72, +}; +static const unsigned char kat3640_entropyinpr1[] = { + 0x5a, 0x1c, 0xf5, 0xb5, 0x21, 0x2a, 0xe2, 0xa7, 0x76, 0xae, 0x4f, 0x68, + 0x8e, 0xa9, 0xe6, 0x12, 0x4f, 0x62, 0x4c, 0x81, 0x7b, 0x5e, 0x42, 0x9b, + 0x8c, 0xc2, 0xad, 0x73, 0x0c, 0xf2, 0x9f, 0x6e, +}; +static const unsigned char kat3640_addinpr1[] = {0}; +static const unsigned char kat3640_entropyinpr2[] = { + 0xfc, 0xca, 0x99, 0x6b, 0xf0, 0x11, 0xba, 0x13, 0x9b, 0x7b, 0xd0, 0x5e, + 0x31, 0xc5, 0x94, 0xd4, 0x59, 0x68, 0x5a, 0xa1, 0x43, 0xe0, 0xee, 0x46, + 0xd6, 0xdb, 0x0b, 0xa8, 0x58, 0x2a, 0x6f, 0xd6, +}; +static const unsigned char kat3640_addinpr2[] = {0}; +static const unsigned char kat3640_retbits[] = { + 0xe1, 0x76, 0x74, 0x17, 0x23, 0x97, 0x36, 0x90, 0x25, 0xd6, 0xb7, 0x81, + 0x1b, 0x69, 0xb6, 0xe6, 0x2d, 0xfb, 0x8a, 0xb9, 0x48, 0x52, 0xcc, 0x96, + 0xbd, 0xe1, 0x37, 0x1f, 0xce, 0xdb, 0xe5, 0xfe, 0x31, 0xa1, 0x15, 0x89, + 0xf4, 0xe5, 0x71, 0x83, 0xfb, 0x46, 0x88, 0x3d, 0x93, 0xc6, 0x47, 0xe3, + 0x6f, 0x70, 0xf8, 0xd5, 0xa5, 0x36, 0xf8, 0xfb, 0x0d, 0x42, 0x8d, 0xcf, + 0xd7, 0x72, 0x2e, 0x4e, +}; +static const struct drbg_kat_pr_true kat3640_t = { + 9, kat3640_entropyin, kat3640_nonce, kat3640_persstr, + kat3640_entropyinpr1, kat3640_addinpr1, kat3640_entropyinpr2, + kat3640_addinpr2, kat3640_retbits +}; +static const struct drbg_kat kat3640 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3640_t +}; + +static const unsigned char kat3641_entropyin[] = { + 0x90, 0x09, 0xb2, 0xd3, 0xb9, 0xef, 0x7f, 0xd1, 0xe9, 0x25, 0xd7, 0x5d, + 0x6a, 0xd0, 0x7d, 0x42, 0xe1, 0x65, 0x31, 0x01, 0x53, 0xed, 0x1e, 0xf9, + 0xe1, 0x28, 0x48, 0x94, 0xe0, 0xd1, 0x65, 0x75, +}; +static const unsigned char kat3641_nonce[] = {0}; +static const unsigned char kat3641_persstr[] = { + 0x06, 0xbd, 0x36, 0x97, 0x7e, 0x09, 0xcc, 0x13, 0xd7, 0xc9, 0xed, 0xc9, + 0xa2, 0x85, 0x04, 0x3f, 0x7c, 0x00, 0x57, 0x56, 0x10, 0xe9, 0xb9, 0x5f, + 0xd3, 0x75, 0x4a, 0x4b, 0x7c, 0x56, 0x1f, 0xb7, +}; +static const unsigned char kat3641_entropyinpr1[] = { + 0x13, 0xf8, 0x64, 0x1a, 0x1d, 0x9c, 0xd5, 0x09, 0x66, 0xb4, 0xff, 0xf6, + 0xf2, 0xa5, 0xa9, 0xf6, 0x7a, 0xef, 0xa8, 0xd7, 0xb5, 0xcb, 0x52, 0x7d, + 0x3b, 0x73, 0x33, 0x8a, 0xea, 0x77, 0x3e, 0xe1, +}; +static const unsigned char kat3641_addinpr1[] = {0}; +static const unsigned char kat3641_entropyinpr2[] = { + 0x46, 0x45, 0xaa, 0x5e, 0xbb, 0x41, 0xf2, 0x73, 0x80, 0x32, 0x81, 0x61, + 0x86, 0x4c, 0xca, 0x36, 0x05, 0x5c, 0x87, 0x13, 0x56, 0x31, 0x6b, 0xf3, + 0x77, 0x3d, 0x35, 0x68, 0x7f, 0xe7, 0x28, 0x74, +}; +static const unsigned char kat3641_addinpr2[] = {0}; +static const unsigned char kat3641_retbits[] = { + 0xcb, 0xed, 0xcc, 0xaa, 0x88, 0xb2, 0x2e, 0x39, 0xfb, 0x0e, 0x14, 0xbf, + 0x15, 0xdc, 0x05, 0xe4, 0xe1, 0xb7, 0x00, 0x2f, 0xa0, 0xcf, 0xfe, 0x78, + 0x03, 0xe3, 0xf6, 0xbc, 0xf6, 0xa0, 0x3f, 0x3f, 0xaa, 0x51, 0xce, 0x5b, + 0x3c, 0xcb, 0x0d, 0x34, 0x15, 0x33, 0xd3, 0x35, 0xe2, 0x0f, 0x9f, 0x71, + 0xe9, 0x0f, 0x83, 0xfe, 0xf0, 0x6e, 0xcf, 0xe9, 0x3e, 0xd0, 0x56, 0xf5, + 0xd6, 0x85, 0x13, 0x06, +}; +static const struct drbg_kat_pr_true kat3641_t = { + 10, kat3641_entropyin, kat3641_nonce, kat3641_persstr, + kat3641_entropyinpr1, kat3641_addinpr1, kat3641_entropyinpr2, + kat3641_addinpr2, kat3641_retbits +}; +static const struct drbg_kat kat3641 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3641_t +}; + +static const unsigned char kat3642_entropyin[] = { + 0x87, 0xe5, 0x8c, 0x3c, 0x91, 0xae, 0x09, 0x35, 0xb7, 0x93, 0x5d, 0x2d, + 0x0a, 0x85, 0x5e, 0x79, 0x53, 0x27, 0x06, 0x22, 0x38, 0x18, 0x0f, 0x20, + 0xb0, 0x2f, 0x9c, 0x9c, 0x86, 0x1c, 0xbc, 0x33, +}; +static const unsigned char kat3642_nonce[] = {0}; +static const unsigned char kat3642_persstr[] = { + 0x6d, 0xac, 0xec, 0x09, 0xcc, 0x40, 0x7d, 0xdf, 0x54, 0x5c, 0x4d, 0x54, + 0xc7, 0x7e, 0xfd, 0x71, 0x2f, 0x65, 0xbe, 0x8b, 0xa5, 0xec, 0xbc, 0x9f, + 0xa6, 0xbd, 0xf2, 0x92, 0x43, 0xee, 0xd7, 0x2e, +}; +static const unsigned char kat3642_entropyinpr1[] = { + 0x28, 0xc5, 0x69, 0x1d, 0x0c, 0x0f, 0xf0, 0xd8, 0x34, 0xcb, 0x0c, 0x85, + 0xa8, 0x2f, 0xe5, 0x61, 0xf4, 0x08, 0x03, 0xf6, 0x3b, 0xeb, 0x3e, 0x74, + 0x02, 0x15, 0xe5, 0xd5, 0x08, 0x9f, 0xc5, 0x54, +}; +static const unsigned char kat3642_addinpr1[] = {0}; +static const unsigned char kat3642_entropyinpr2[] = { + 0xfd, 0x22, 0x32, 0x43, 0x69, 0xfd, 0x30, 0xe2, 0xf4, 0x75, 0x53, 0xc0, + 0x12, 0xce, 0x2c, 0x46, 0xfd, 0x40, 0xdf, 0x5f, 0xcd, 0xd7, 0x37, 0xbf, + 0x26, 0x6c, 0xd2, 0x0b, 0xcd, 0xc2, 0x0a, 0x98, +}; +static const unsigned char kat3642_addinpr2[] = {0}; +static const unsigned char kat3642_retbits[] = { + 0x11, 0x6b, 0xd7, 0xab, 0x40, 0x30, 0x37, 0x9c, 0xd6, 0xf5, 0x0e, 0x85, + 0xa0, 0x41, 0x82, 0x77, 0x52, 0x92, 0xfa, 0x96, 0x19, 0xc3, 0x8b, 0x74, + 0x18, 0xa1, 0x9b, 0x8e, 0x78, 0x55, 0xf2, 0x9e, 0xff, 0xfd, 0xf7, 0xa2, + 0xb8, 0xb1, 0xd9, 0xd3, 0xd9, 0x6e, 0xa8, 0x5a, 0x6d, 0x56, 0x30, 0x20, + 0x14, 0xdd, 0x3b, 0xcb, 0xe4, 0x01, 0xad, 0xa5, 0xb0, 0xe3, 0xcf, 0x2f, + 0x66, 0xdc, 0xe9, 0xcd, +}; +static const struct drbg_kat_pr_true kat3642_t = { + 11, kat3642_entropyin, kat3642_nonce, kat3642_persstr, + kat3642_entropyinpr1, kat3642_addinpr1, kat3642_entropyinpr2, + kat3642_addinpr2, kat3642_retbits +}; +static const struct drbg_kat kat3642 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3642_t +}; + +static const unsigned char kat3643_entropyin[] = { + 0xf3, 0x29, 0x1f, 0x1d, 0x5f, 0xa4, 0x7a, 0xbf, 0x19, 0x18, 0x41, 0x6a, + 0x2c, 0xb7, 0x8b, 0x24, 0x3e, 0x61, 0x4f, 0x88, 0x3b, 0xda, 0x2a, 0xfc, + 0x10, 0xff, 0xc1, 0xcc, 0x7f, 0x7f, 0x06, 0xa8, +}; +static const unsigned char kat3643_nonce[] = {0}; +static const unsigned char kat3643_persstr[] = { + 0x85, 0xfa, 0xcc, 0x57, 0x1d, 0x2c, 0x6e, 0xb2, 0x57, 0x43, 0x7e, 0x1d, + 0x3b, 0x77, 0xb5, 0xfb, 0xa4, 0xa1, 0x25, 0x60, 0x64, 0x40, 0x18, 0x1b, + 0x83, 0x87, 0xf9, 0xa4, 0xfb, 0x1a, 0x7f, 0xbf, +}; +static const unsigned char kat3643_entropyinpr1[] = { + 0xc9, 0xcb, 0xe9, 0xf4, 0x1e, 0x2d, 0x81, 0xf9, 0x9c, 0xa6, 0x32, 0x7c, + 0xa6, 0x17, 0xca, 0xf8, 0x36, 0xb7, 0x35, 0x12, 0xd9, 0x6b, 0x1e, 0xdc, + 0x5a, 0xe5, 0xed, 0x56, 0xc0, 0x56, 0xca, 0xde, +}; +static const unsigned char kat3643_addinpr1[] = {0}; +static const unsigned char kat3643_entropyinpr2[] = { + 0x47, 0xeb, 0xfc, 0x44, 0x37, 0xf7, 0x69, 0xac, 0x29, 0x9f, 0x0d, 0x87, + 0x06, 0x9e, 0x5d, 0x60, 0x74, 0x42, 0x01, 0x13, 0x76, 0x1a, 0x9f, 0x9e, + 0x05, 0x38, 0x66, 0x58, 0x1e, 0x83, 0x67, 0x01, +}; +static const unsigned char kat3643_addinpr2[] = {0}; +static const unsigned char kat3643_retbits[] = { + 0x51, 0xe0, 0xb5, 0x4c, 0x10, 0x98, 0x84, 0xba, 0xec, 0xd1, 0x88, 0x4f, + 0x7b, 0xaf, 0xc8, 0x46, 0xac, 0xe2, 0x16, 0xb6, 0xfd, 0x97, 0xeb, 0x1c, + 0xa7, 0x0b, 0x56, 0x3e, 0x62, 0xc4, 0xa2, 0xf2, 0x2b, 0x55, 0x56, 0x11, + 0x52, 0xf3, 0x79, 0x32, 0x6e, 0xf2, 0x99, 0x9e, 0x97, 0x46, 0xf2, 0x50, + 0x43, 0xa0, 0x24, 0x02, 0xd3, 0xe4, 0x7b, 0x4a, 0x58, 0xe7, 0x47, 0xc2, + 0x22, 0xb7, 0xa0, 0x81, +}; +static const struct drbg_kat_pr_true kat3643_t = { + 12, kat3643_entropyin, kat3643_nonce, kat3643_persstr, + kat3643_entropyinpr1, kat3643_addinpr1, kat3643_entropyinpr2, + kat3643_addinpr2, kat3643_retbits +}; +static const struct drbg_kat kat3643 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3643_t +}; + +static const unsigned char kat3644_entropyin[] = { + 0xbc, 0xb5, 0x1b, 0xc0, 0xdf, 0xae, 0x0f, 0xb0, 0x4b, 0xf0, 0x8f, 0xac, + 0xe7, 0x36, 0x99, 0x81, 0xd9, 0xa7, 0x8b, 0xbc, 0xc0, 0xd3, 0xda, 0x2a, + 0x14, 0x42, 0xd8, 0xfe, 0xf7, 0x56, 0xc1, 0xc0, +}; +static const unsigned char kat3644_nonce[] = {0}; +static const unsigned char kat3644_persstr[] = { + 0x2c, 0x4e, 0x73, 0xad, 0x25, 0x97, 0xb0, 0x27, 0xdd, 0x04, 0xc6, 0x05, + 0x6d, 0xb1, 0x18, 0x9b, 0x7a, 0x0d, 0x8e, 0x9f, 0xec, 0xe5, 0x22, 0x37, + 0xcb, 0x7f, 0xc2, 0x51, 0x15, 0x09, 0xc4, 0xeb, +}; +static const unsigned char kat3644_entropyinpr1[] = { + 0xb7, 0x4a, 0x39, 0x2b, 0xe0, 0x91, 0xfe, 0x00, 0xeb, 0x6a, 0x65, 0x76, + 0xf0, 0x27, 0x07, 0x3a, 0x83, 0x83, 0x08, 0xf5, 0xa5, 0xae, 0xd7, 0xfd, + 0x0d, 0xb4, 0x7d, 0x66, 0x16, 0xcb, 0xec, 0x98, +}; +static const unsigned char kat3644_addinpr1[] = {0}; +static const unsigned char kat3644_entropyinpr2[] = { + 0xd3, 0x9a, 0x30, 0x7b, 0x95, 0x6d, 0x11, 0x83, 0xf7, 0x18, 0xbe, 0x7d, + 0x91, 0xa1, 0x18, 0x91, 0xdc, 0x3f, 0xee, 0x45, 0x65, 0x2e, 0xdb, 0x89, + 0x44, 0x9d, 0x97, 0x66, 0xfc, 0x85, 0xbb, 0x32, +}; +static const unsigned char kat3644_addinpr2[] = {0}; +static const unsigned char kat3644_retbits[] = { + 0x7c, 0x41, 0xad, 0xf9, 0x41, 0x65, 0x6c, 0xfb, 0x9f, 0x24, 0x40, 0x9d, + 0x6c, 0xc4, 0xd5, 0x78, 0xd4, 0x39, 0x30, 0xb3, 0xe2, 0x3e, 0xc8, 0x01, + 0xa5, 0x9c, 0x53, 0xd9, 0x99, 0x40, 0x1b, 0xc0, 0xcb, 0x3e, 0x5b, 0x87, + 0x97, 0xb2, 0x77, 0x0a, 0x8a, 0x8f, 0x51, 0xff, 0x59, 0x4b, 0x7b, 0x17, + 0xd9, 0xe6, 0x94, 0xd5, 0xe3, 0x66, 0x44, 0x50, 0x8d, 0x16, 0xcb, 0x25, + 0x54, 0x05, 0x7a, 0xdc, +}; +static const struct drbg_kat_pr_true kat3644_t = { + 13, kat3644_entropyin, kat3644_nonce, kat3644_persstr, + kat3644_entropyinpr1, kat3644_addinpr1, kat3644_entropyinpr2, + kat3644_addinpr2, kat3644_retbits +}; +static const struct drbg_kat kat3644 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3644_t +}; + +static const unsigned char kat3645_entropyin[] = { + 0x55, 0x65, 0x45, 0x7c, 0xf6, 0x0a, 0x3a, 0xff, 0x9e, 0xa6, 0xf3, 0xdc, + 0x62, 0x54, 0xa7, 0x6a, 0x08, 0x5f, 0xf8, 0x7f, 0x1d, 0xd1, 0x91, 0x27, + 0xb2, 0xae, 0xb3, 0xac, 0x50, 0xb8, 0xc3, 0x1e, +}; +static const unsigned char kat3645_nonce[] = {0}; +static const unsigned char kat3645_persstr[] = { + 0x71, 0x7c, 0x4d, 0xe3, 0x0c, 0x0a, 0xc7, 0xb8, 0x31, 0x80, 0x7c, 0xb1, + 0xfc, 0xf4, 0xab, 0x37, 0xf1, 0x73, 0x46, 0x83, 0xa7, 0x23, 0xd1, 0x83, + 0xfc, 0xfe, 0x5f, 0xc8, 0xa4, 0xc6, 0xc7, 0xe5, +}; +static const unsigned char kat3645_entropyinpr1[] = { + 0x9d, 0xfd, 0x31, 0xe3, 0xad, 0xc8, 0x22, 0xb6, 0x75, 0xc0, 0xa9, 0xc8, + 0x70, 0x2d, 0xf1, 0x2d, 0xe4, 0xc3, 0x35, 0x4c, 0xcd, 0xb5, 0x38, 0x9e, + 0xd4, 0x81, 0xd9, 0x10, 0xb3, 0xdb, 0xb5, 0x1a, +}; +static const unsigned char kat3645_addinpr1[] = {0}; +static const unsigned char kat3645_entropyinpr2[] = { + 0x2a, 0x1b, 0x15, 0x19, 0xd2, 0x2d, 0x40, 0xef, 0x4e, 0xc2, 0x3c, 0x6d, + 0x97, 0xdc, 0x14, 0x8c, 0xfe, 0x17, 0x1f, 0xb5, 0xf8, 0xb1, 0xc3, 0x05, + 0xec, 0x6d, 0x8e, 0x83, 0xa1, 0xef, 0x90, 0x64, +}; +static const unsigned char kat3645_addinpr2[] = {0}; +static const unsigned char kat3645_retbits[] = { + 0xac, 0x05, 0x45, 0x70, 0xb0, 0x81, 0xcf, 0x53, 0xb3, 0x9b, 0x0a, 0x2f, + 0xaa, 0x21, 0xee, 0x9b, 0x55, 0x4c, 0x05, 0xff, 0x90, 0x55, 0x84, 0x3a, + 0xc0, 0xeb, 0x90, 0x31, 0xd1, 0xde, 0x32, 0x47, 0x01, 0xad, 0x4c, 0xf2, + 0x87, 0x56, 0x23, 0xe0, 0xbf, 0x41, 0x84, 0xde, 0x4a, 0xea, 0x20, 0x07, + 0x0b, 0xe1, 0xcb, 0x58, 0x68, 0x80, 0xac, 0x87, 0xfb, 0xb7, 0xe4, 0x14, + 0xb4, 0xb1, 0x28, 0xd0, +}; +static const struct drbg_kat_pr_true kat3645_t = { + 14, kat3645_entropyin, kat3645_nonce, kat3645_persstr, + kat3645_entropyinpr1, kat3645_addinpr1, kat3645_entropyinpr2, + kat3645_addinpr2, kat3645_retbits +}; +static const struct drbg_kat kat3645 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3645_t +}; + +static const unsigned char kat3646_entropyin[] = { + 0xf6, 0x23, 0x91, 0x1b, 0xb7, 0xef, 0xe5, 0xf6, 0xc4, 0xe9, 0x69, 0x79, + 0x97, 0x24, 0xb3, 0x17, 0xd6, 0xaa, 0x21, 0x07, 0xa3, 0x56, 0xab, 0x6a, + 0x05, 0x14, 0x3e, 0xee, 0x99, 0xe6, 0x75, 0xb3, +}; +static const unsigned char kat3646_nonce[] = {0}; +static const unsigned char kat3646_persstr[] = { + 0x19, 0x73, 0x3e, 0xdb, 0xc2, 0x0b, 0xed, 0xc0, 0xbc, 0x26, 0x9c, 0x48, + 0x37, 0xa1, 0xa4, 0x71, 0x37, 0x7c, 0xfe, 0xb6, 0xcd, 0x60, 0x03, 0x9e, + 0x49, 0x44, 0xb3, 0x1a, 0xf7, 0x3b, 0xc4, 0xc0, +}; +static const unsigned char kat3646_entropyinpr1[] = { + 0x60, 0xa8, 0x09, 0xd6, 0x3f, 0x6d, 0x5e, 0xfe, 0xb4, 0x33, 0x5b, 0x81, + 0x9e, 0x1d, 0x0a, 0x06, 0xb7, 0xbe, 0x66, 0x87, 0x65, 0xca, 0x72, 0xf5, + 0x40, 0x49, 0x92, 0xa0, 0xe9, 0x0b, 0x7a, 0x70, +}; +static const unsigned char kat3646_addinpr1[] = { + 0x05, 0x91, 0xfe, 0xff, 0xa7, 0x7d, 0xe2, 0x23, 0xd6, 0xfb, 0x1a, 0x91, + 0x57, 0x9f, 0x76, 0x6c, 0x4c, 0x09, 0xf3, 0xe9, 0x54, 0x0d, 0x14, 0xfd, + 0x2e, 0xe9, 0x88, 0x94, 0xf7, 0xa8, 0x00, 0x53, +}; +static const unsigned char kat3646_entropyinpr2[] = { + 0x53, 0x0e, 0x7a, 0x6d, 0xfa, 0x63, 0x39, 0xaa, 0xa6, 0x66, 0x1b, 0xc4, + 0xfb, 0x13, 0xff, 0x1f, 0x35, 0x1c, 0x79, 0xe9, 0xd3, 0x41, 0x5e, 0x2d, + 0x0d, 0x57, 0x0b, 0x8f, 0x99, 0x07, 0xc8, 0xb4, +}; +static const unsigned char kat3646_addinpr2[] = { + 0xc5, 0xf7, 0xb2, 0x82, 0xa5, 0x16, 0xa2, 0xf8, 0x31, 0xd6, 0x68, 0xca, + 0x44, 0x48, 0x66, 0x2c, 0x92, 0x90, 0x7c, 0xbb, 0xfa, 0x9b, 0x90, 0xc3, + 0x74, 0x5e, 0xa2, 0xe7, 0x9b, 0x28, 0xec, 0x6d, +}; +static const unsigned char kat3646_retbits[] = { + 0xe1, 0x08, 0xb1, 0xbd, 0x65, 0x92, 0x8d, 0x80, 0x97, 0x19, 0x0c, 0x10, + 0x63, 0x21, 0xe9, 0xfc, 0xb3, 0xb9, 0x30, 0xef, 0x3b, 0x74, 0x42, 0x1e, + 0xd8, 0xe7, 0x08, 0x02, 0xd3, 0xf0, 0x6e, 0xbe, 0x73, 0x38, 0x94, 0x8c, + 0xbf, 0x08, 0xab, 0x91, 0xcd, 0xf7, 0x1d, 0xd3, 0x98, 0xdd, 0xc4, 0x75, + 0x2b, 0x6d, 0x3d, 0xbc, 0x26, 0x5f, 0xe8, 0x36, 0x58, 0x87, 0x83, 0xfb, + 0xdd, 0xd5, 0x09, 0xfb, +}; +static const struct drbg_kat_pr_true kat3646_t = { + 0, kat3646_entropyin, kat3646_nonce, kat3646_persstr, + kat3646_entropyinpr1, kat3646_addinpr1, kat3646_entropyinpr2, + kat3646_addinpr2, kat3646_retbits +}; +static const struct drbg_kat kat3646 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3646_t +}; + +static const unsigned char kat3647_entropyin[] = { + 0x15, 0x89, 0x5a, 0x61, 0xc6, 0x9c, 0x50, 0x70, 0x9b, 0x42, 0x54, 0xf3, + 0xa3, 0x83, 0x62, 0x3d, 0xfb, 0x54, 0xc2, 0x73, 0xb2, 0xdf, 0x38, 0x95, + 0x5f, 0xfd, 0x0c, 0xd1, 0x89, 0x1d, 0x3d, 0x97, +}; +static const unsigned char kat3647_nonce[] = {0}; +static const unsigned char kat3647_persstr[] = { + 0x9e, 0xbd, 0xe8, 0x23, 0xc9, 0xcf, 0x6f, 0x9b, 0x87, 0x46, 0xf9, 0x96, + 0xbc, 0xa3, 0xbc, 0xa9, 0x09, 0x38, 0xad, 0x89, 0xcc, 0x4d, 0xda, 0xb0, + 0xc0, 0x05, 0xdd, 0xef, 0x74, 0xff, 0x06, 0x5e, +}; +static const unsigned char kat3647_entropyinpr1[] = { + 0x37, 0xac, 0x0d, 0x2c, 0xb9, 0xfd, 0xc4, 0xd6, 0xf7, 0x20, 0x81, 0xca, + 0x31, 0x83, 0x1e, 0xb9, 0x64, 0x19, 0x79, 0x16, 0x57, 0x24, 0x26, 0xd4, + 0xc5, 0x98, 0xb3, 0xb2, 0xf0, 0x7e, 0x2d, 0xa2, +}; +static const unsigned char kat3647_addinpr1[] = { + 0xe5, 0xb5, 0x66, 0x8b, 0x1f, 0x83, 0xff, 0x61, 0x40, 0x74, 0xd0, 0xa7, + 0x97, 0xaf, 0x82, 0xb9, 0xfa, 0x16, 0x75, 0xaa, 0x8b, 0xe9, 0xc1, 0xd5, + 0x17, 0x10, 0x92, 0x04, 0xb5, 0xf0, 0xbf, 0xbf, +}; +static const unsigned char kat3647_entropyinpr2[] = { + 0x70, 0x7b, 0x53, 0x90, 0x3a, 0x0c, 0x18, 0x84, 0x56, 0x2c, 0x7c, 0x93, + 0x65, 0xef, 0xdd, 0xa0, 0x98, 0xc7, 0x3e, 0x97, 0x41, 0x67, 0x84, 0x7a, + 0x48, 0xce, 0x78, 0x51, 0xa3, 0xda, 0x7d, 0x00, +}; +static const unsigned char kat3647_addinpr2[] = { + 0x56, 0xeb, 0x51, 0xd2, 0x84, 0x35, 0xdd, 0x73, 0xf1, 0x0b, 0xba, 0xfb, + 0x1e, 0x92, 0xd2, 0x50, 0x8b, 0x7c, 0x56, 0xe2, 0xbb, 0x53, 0x81, 0xf5, + 0x91, 0xc6, 0x89, 0x8f, 0x3d, 0xbe, 0x3b, 0xc4, +}; +static const unsigned char kat3647_retbits[] = { + 0xe3, 0x80, 0x7a, 0x26, 0x52, 0x0e, 0xa2, 0x40, 0xb6, 0x95, 0x07, 0x69, + 0xea, 0x25, 0x0e, 0x26, 0xce, 0x05, 0xbe, 0x72, 0xa6, 0xf6, 0x87, 0x62, + 0xfd, 0x9b, 0x6e, 0x94, 0xe1, 0xa1, 0x7e, 0x07, 0x74, 0x47, 0x96, 0x82, + 0xa6, 0x66, 0x81, 0x33, 0x58, 0x9a, 0xa9, 0x56, 0x57, 0x2d, 0x15, 0xc3, + 0x2a, 0x51, 0x73, 0x37, 0xff, 0xcc, 0x8d, 0x9f, 0xf4, 0xa5, 0x3b, 0x6d, + 0xfa, 0x18, 0xb2, 0xb3, +}; +static const struct drbg_kat_pr_true kat3647_t = { + 1, kat3647_entropyin, kat3647_nonce, kat3647_persstr, + kat3647_entropyinpr1, kat3647_addinpr1, kat3647_entropyinpr2, + kat3647_addinpr2, kat3647_retbits +}; +static const struct drbg_kat kat3647 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3647_t +}; + +static const unsigned char kat3648_entropyin[] = { + 0xb2, 0xcf, 0x89, 0xb4, 0xb2, 0xf4, 0xbd, 0x78, 0x90, 0x48, 0x48, 0x8d, + 0x75, 0x02, 0x8b, 0xde, 0x40, 0x07, 0xfe, 0x3d, 0x0b, 0xc6, 0x1b, 0xd2, + 0x18, 0x01, 0xe2, 0x63, 0x42, 0xdf, 0x88, 0x67, +}; +static const unsigned char kat3648_nonce[] = {0}; +static const unsigned char kat3648_persstr[] = { + 0x85, 0x89, 0xa9, 0x5a, 0x91, 0xca, 0xf3, 0xe7, 0xd3, 0xcc, 0x50, 0xad, + 0xfb, 0xc9, 0x5c, 0x79, 0xad, 0xe1, 0xbc, 0x40, 0x7f, 0x99, 0xe5, 0x2b, + 0x07, 0x48, 0xf0, 0x59, 0x3e, 0x88, 0xb5, 0x4b, +}; +static const unsigned char kat3648_entropyinpr1[] = { + 0x6a, 0xa3, 0xaa, 0xb9, 0xe8, 0x52, 0xb6, 0x38, 0xa1, 0xeb, 0x5d, 0xb8, + 0x66, 0x9b, 0xd3, 0xf5, 0x8d, 0xd4, 0x51, 0xe0, 0xf2, 0x41, 0xfa, 0x5e, + 0x22, 0xea, 0xed, 0x9e, 0x89, 0xc9, 0xf2, 0xf6, +}; +static const unsigned char kat3648_addinpr1[] = { + 0xa4, 0x10, 0x85, 0xc7, 0xe9, 0x3e, 0x84, 0x74, 0x77, 0x2e, 0x53, 0x8d, + 0x10, 0x30, 0xb7, 0x40, 0xd8, 0x3c, 0x2c, 0x40, 0xdb, 0x46, 0xe6, 0xac, + 0x7e, 0xe8, 0x95, 0x0f, 0xbd, 0xa1, 0xc0, 0x92, +}; +static const unsigned char kat3648_entropyinpr2[] = { + 0x80, 0x1b, 0x37, 0x9f, 0xcd, 0x5e, 0xe8, 0xb9, 0x8d, 0x40, 0x3b, 0xd8, + 0xae, 0xb1, 0x3f, 0xe5, 0x40, 0x26, 0x96, 0x06, 0x3c, 0xb1, 0x3e, 0x48, + 0x48, 0xf2, 0x0f, 0x5f, 0xa7, 0x43, 0x37, 0x0a, +}; +static const unsigned char kat3648_addinpr2[] = { + 0x26, 0x03, 0x6f, 0x2f, 0xce, 0x86, 0x63, 0x45, 0x8d, 0x28, 0x2a, 0xe7, + 0x15, 0xc3, 0x93, 0x3d, 0x4b, 0x3b, 0x76, 0x70, 0xbb, 0x61, 0x5f, 0x78, + 0x6c, 0x2c, 0x61, 0x57, 0x1a, 0x6f, 0xba, 0x9c, +}; +static const unsigned char kat3648_retbits[] = { + 0xbe, 0xa5, 0x5b, 0xcb, 0x1b, 0xc6, 0x10, 0x15, 0xca, 0x96, 0x7c, 0x5e, + 0x92, 0x88, 0x65, 0x55, 0xec, 0xcf, 0x87, 0xc6, 0x89, 0x7c, 0xe1, 0x06, + 0x8d, 0x74, 0x80, 0x7c, 0x70, 0x00, 0x98, 0xbb, 0x91, 0x98, 0x9d, 0xc1, + 0x24, 0x1c, 0xcd, 0x2c, 0x80, 0x77, 0x42, 0x66, 0x01, 0xa7, 0x20, 0x27, + 0xb2, 0x33, 0x48, 0x06, 0x46, 0xd7, 0xe9, 0x70, 0x52, 0xf0, 0x02, 0xa4, + 0xa4, 0x01, 0x88, 0x44, +}; +static const struct drbg_kat_pr_true kat3648_t = { + 2, kat3648_entropyin, kat3648_nonce, kat3648_persstr, + kat3648_entropyinpr1, kat3648_addinpr1, kat3648_entropyinpr2, + kat3648_addinpr2, kat3648_retbits +}; +static const struct drbg_kat kat3648 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3648_t +}; + +static const unsigned char kat3649_entropyin[] = { + 0x02, 0x4a, 0xcd, 0x77, 0xfa, 0x20, 0x14, 0x13, 0xde, 0x7f, 0xba, 0xe0, + 0x80, 0xd4, 0xdc, 0xc4, 0xd3, 0x7e, 0x61, 0xa8, 0xec, 0x5a, 0x4a, 0x8b, + 0xe1, 0x4d, 0xcb, 0x43, 0x01, 0x86, 0x73, 0x01, +}; +static const unsigned char kat3649_nonce[] = {0}; +static const unsigned char kat3649_persstr[] = { + 0xbb, 0xe7, 0xc2, 0x75, 0x37, 0x47, 0x27, 0x27, 0xfe, 0xb9, 0xdc, 0x27, + 0x89, 0x8a, 0x2b, 0x0b, 0x44, 0x2b, 0xe0, 0x0c, 0xde, 0xd8, 0x7d, 0x14, + 0xcb, 0x81, 0xce, 0xc2, 0x84, 0x9e, 0xf1, 0xe9, +}; +static const unsigned char kat3649_entropyinpr1[] = { + 0xb3, 0x3c, 0x88, 0xa5, 0x8d, 0x58, 0xb4, 0x29, 0x96, 0x1c, 0xc9, 0x8d, + 0x14, 0x15, 0x22, 0xf3, 0x26, 0xe5, 0xb5, 0x1a, 0xc2, 0x4a, 0x17, 0xae, + 0xcd, 0xce, 0x67, 0xfd, 0x0c, 0xd0, 0xac, 0x5e, +}; +static const unsigned char kat3649_addinpr1[] = { + 0xa7, 0xc9, 0xa8, 0x08, 0x01, 0xdc, 0x9c, 0xc3, 0xd6, 0x1c, 0x21, 0x93, + 0xc2, 0x50, 0x5c, 0xd2, 0x94, 0x98, 0x82, 0x34, 0x93, 0xe6, 0x8f, 0x3b, + 0xd8, 0x5e, 0xde, 0xa2, 0x56, 0x87, 0x7f, 0xde, +}; +static const unsigned char kat3649_entropyinpr2[] = { + 0x7c, 0x88, 0x8a, 0xa3, 0x32, 0x1a, 0x1c, 0xfe, 0x25, 0x4a, 0x3f, 0x70, + 0xe1, 0x44, 0x35, 0x95, 0xf8, 0x31, 0x89, 0xc9, 0x06, 0xf0, 0x25, 0xe0, + 0x5b, 0x54, 0x04, 0x63, 0x36, 0x4e, 0xe5, 0x09, +}; +static const unsigned char kat3649_addinpr2[] = { + 0x70, 0xe9, 0x97, 0xdf, 0x10, 0xf6, 0xb9, 0xa2, 0x17, 0xcd, 0xa9, 0xa8, + 0xd7, 0xa0, 0xfd, 0xb6, 0x6e, 0x57, 0xc6, 0x2c, 0x0e, 0x93, 0x83, 0xe3, + 0x04, 0x1f, 0xbf, 0xf5, 0x72, 0x5f, 0x9e, 0xc4, +}; +static const unsigned char kat3649_retbits[] = { + 0x85, 0xce, 0x70, 0x84, 0x7d, 0x95, 0x53, 0xa1, 0xfa, 0x5f, 0x15, 0x91, + 0x3f, 0x80, 0x21, 0xf7, 0xf5, 0xd6, 0xdd, 0x56, 0x5b, 0x7e, 0x72, 0x1e, + 0x2c, 0x09, 0x0f, 0x66, 0x20, 0x7d, 0x22, 0x8f, 0x83, 0x24, 0x70, 0x30, + 0x0a, 0x01, 0xcb, 0xe6, 0xb1, 0x3e, 0x23, 0x62, 0xd8, 0x4e, 0x3a, 0x0d, + 0x3d, 0xb2, 0xfd, 0xd4, 0x36, 0x2f, 0x55, 0x4b, 0x23, 0x2d, 0x5a, 0xa4, + 0xf6, 0x79, 0x57, 0x7d, +}; +static const struct drbg_kat_pr_true kat3649_t = { + 3, kat3649_entropyin, kat3649_nonce, kat3649_persstr, + kat3649_entropyinpr1, kat3649_addinpr1, kat3649_entropyinpr2, + kat3649_addinpr2, kat3649_retbits +}; +static const struct drbg_kat kat3649 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3649_t +}; + +static const unsigned char kat3650_entropyin[] = { + 0x80, 0x13, 0x7b, 0xbd, 0xf6, 0xeb, 0xb0, 0x5e, 0xa1, 0xbd, 0x8e, 0x80, + 0x79, 0xc6, 0xed, 0x67, 0x3f, 0x18, 0x35, 0x47, 0x10, 0x3c, 0xcc, 0xba, + 0xf3, 0x60, 0xb2, 0xf2, 0x17, 0xb5, 0x89, 0xe8, +}; +static const unsigned char kat3650_nonce[] = {0}; +static const unsigned char kat3650_persstr[] = { + 0x9b, 0x73, 0xaa, 0x2d, 0x08, 0x04, 0x77, 0xc5, 0xc6, 0x44, 0x1b, 0x11, + 0xe9, 0x3b, 0xdd, 0x03, 0xeb, 0x6d, 0xba, 0xd2, 0xeb, 0xf1, 0xf4, 0x93, + 0xef, 0x9e, 0xab, 0xd8, 0x6d, 0x34, 0xe1, 0x15, +}; +static const unsigned char kat3650_entropyinpr1[] = { + 0x60, 0xb1, 0x5d, 0x6f, 0xe5, 0x8a, 0xd7, 0xb8, 0x00, 0x50, 0x50, 0x41, + 0xbb, 0x8e, 0xa3, 0x8d, 0x0d, 0x08, 0xed, 0xf6, 0xf4, 0xee, 0x6a, 0x6f, + 0xfa, 0x01, 0x09, 0x08, 0xc0, 0x75, 0x60, 0x77, +}; +static const unsigned char kat3650_addinpr1[] = { + 0x67, 0x9b, 0x2c, 0xc3, 0x7c, 0x0b, 0x6a, 0xf5, 0xa0, 0x00, 0xe7, 0x7b, + 0xbc, 0x4b, 0x03, 0x0d, 0xd7, 0xd9, 0x29, 0xa3, 0x3f, 0xd7, 0xd1, 0xf5, + 0x2e, 0x8f, 0x5d, 0xac, 0x6f, 0x1a, 0x3c, 0xe8, +}; +static const unsigned char kat3650_entropyinpr2[] = { + 0x41, 0x10, 0x8a, 0x5f, 0x54, 0x0a, 0x40, 0xa8, 0xf9, 0x43, 0xfe, 0xf5, + 0x72, 0xac, 0x3a, 0xeb, 0x48, 0x06, 0xac, 0x6a, 0xdd, 0xde, 0x77, 0x6c, + 0x2c, 0x0d, 0x31, 0x87, 0xf9, 0xe4, 0x6e, 0x33, +}; +static const unsigned char kat3650_addinpr2[] = { + 0xe4, 0xb5, 0x26, 0x13, 0x12, 0x63, 0x8d, 0x00, 0x7c, 0x3a, 0x5e, 0x27, + 0x56, 0x04, 0xd8, 0xc8, 0xce, 0xc3, 0xa0, 0x55, 0xc4, 0xb1, 0xf1, 0x1d, + 0xf6, 0x2f, 0x6d, 0x4e, 0x87, 0xdd, 0x8e, 0x35, +}; +static const unsigned char kat3650_retbits[] = { + 0xbd, 0x90, 0xe0, 0x11, 0x22, 0x17, 0x83, 0xdb, 0x4b, 0xae, 0x48, 0x61, + 0x61, 0x5f, 0x15, 0x4c, 0x59, 0x5c, 0x3b, 0xb6, 0x3b, 0x75, 0x92, 0xbf, + 0x49, 0x58, 0x80, 0xb6, 0x0f, 0xd0, 0x43, 0x4f, 0xfc, 0x0c, 0xaf, 0xca, + 0x0f, 0xda, 0x24, 0x90, 0xe5, 0x87, 0xa2, 0x1c, 0xff, 0x07, 0xd0, 0x94, + 0x1b, 0x3a, 0x06, 0x0b, 0x68, 0x54, 0x84, 0x06, 0xc5, 0xc6, 0xb9, 0x30, + 0x04, 0x84, 0x7c, 0xf6, +}; +static const struct drbg_kat_pr_true kat3650_t = { + 4, kat3650_entropyin, kat3650_nonce, kat3650_persstr, + kat3650_entropyinpr1, kat3650_addinpr1, kat3650_entropyinpr2, + kat3650_addinpr2, kat3650_retbits +}; +static const struct drbg_kat kat3650 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3650_t +}; + +static const unsigned char kat3651_entropyin[] = { + 0x2c, 0x6e, 0x01, 0x0b, 0xfd, 0x6f, 0x91, 0x6e, 0x94, 0xa6, 0x5a, 0xb8, + 0xa9, 0x7d, 0x53, 0x56, 0xb6, 0xd0, 0x6a, 0x9d, 0x36, 0xf0, 0x5b, 0x67, + 0x78, 0x7f, 0x27, 0xd5, 0xa5, 0x49, 0x02, 0x67, +}; +static const unsigned char kat3651_nonce[] = {0}; +static const unsigned char kat3651_persstr[] = { + 0x05, 0x5a, 0x7c, 0x90, 0x08, 0xf7, 0x76, 0x43, 0x46, 0xaf, 0x60, 0xae, + 0xc6, 0xa8, 0x18, 0xfa, 0xab, 0xac, 0x6a, 0xa5, 0x1b, 0x02, 0xb3, 0xdb, + 0x06, 0x5f, 0x0e, 0xe1, 0x5f, 0xd9, 0x72, 0xb0, +}; +static const unsigned char kat3651_entropyinpr1[] = { + 0x7e, 0x34, 0xa9, 0x35, 0x3f, 0x2f, 0x2d, 0x8a, 0x56, 0x55, 0x6e, 0xa7, + 0x3a, 0x1b, 0xa0, 0x71, 0xf3, 0x5e, 0xe7, 0xb4, 0xc2, 0x4c, 0x33, 0x78, + 0x1d, 0x6b, 0xbf, 0x62, 0x78, 0xae, 0x49, 0xe4, +}; +static const unsigned char kat3651_addinpr1[] = { + 0x88, 0xd6, 0x5a, 0x5e, 0xf8, 0xf6, 0x52, 0xbd, 0x51, 0xec, 0x2f, 0xef, + 0x35, 0xfb, 0xba, 0x9f, 0x3f, 0x6d, 0x02, 0x41, 0x5c, 0xb3, 0x96, 0xf6, + 0x64, 0xc9, 0x00, 0xad, 0x66, 0xd1, 0x2b, 0xe6, +}; +static const unsigned char kat3651_entropyinpr2[] = { + 0x4d, 0x46, 0x07, 0xac, 0x38, 0x63, 0x08, 0x15, 0xbc, 0xda, 0x32, 0xbb, + 0x95, 0xe2, 0xe2, 0x2f, 0xc3, 0xb5, 0x83, 0xe4, 0xe1, 0x44, 0xdb, 0xf1, + 0x0d, 0x63, 0x43, 0xdf, 0x7c, 0x0a, 0x4d, 0x65, +}; +static const unsigned char kat3651_addinpr2[] = { + 0x75, 0x5a, 0xf3, 0x19, 0x10, 0x9d, 0xba, 0xe8, 0xea, 0x94, 0x02, 0x18, + 0x74, 0x24, 0x9d, 0xe4, 0x1e, 0xfa, 0x7f, 0x56, 0x9c, 0x8a, 0x00, 0xba, + 0xac, 0xdc, 0x3f, 0x1f, 0xdb, 0xcc, 0x44, 0xba, +}; +static const unsigned char kat3651_retbits[] = { + 0xb3, 0xf9, 0xb3, 0x9a, 0x15, 0xed, 0x7e, 0x49, 0x1e, 0x6e, 0xad, 0xa8, + 0x3d, 0xe8, 0x8f, 0xfb, 0x33, 0x4c, 0xf5, 0x6c, 0x9d, 0xe2, 0xa8, 0x65, + 0xd9, 0xaa, 0x3a, 0xd2, 0x41, 0xe3, 0xe2, 0xef, 0xd7, 0x2f, 0x15, 0x98, + 0xe2, 0x1b, 0xc0, 0xe2, 0x65, 0x87, 0x3d, 0x7a, 0x70, 0xf8, 0x6e, 0x3a, + 0x40, 0xa7, 0xd8, 0x15, 0x9a, 0x9a, 0x98, 0xb4, 0x74, 0x09, 0xd8, 0xdd, + 0xcd, 0x44, 0x34, 0xc7, +}; +static const struct drbg_kat_pr_true kat3651_t = { + 5, kat3651_entropyin, kat3651_nonce, kat3651_persstr, + kat3651_entropyinpr1, kat3651_addinpr1, kat3651_entropyinpr2, + kat3651_addinpr2, kat3651_retbits +}; +static const struct drbg_kat kat3651 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3651_t +}; + +static const unsigned char kat3652_entropyin[] = { + 0xd5, 0x42, 0x66, 0xc7, 0x38, 0xc1, 0xd9, 0xe9, 0x57, 0xf8, 0x26, 0x06, + 0xdf, 0xdd, 0x59, 0xc8, 0xf1, 0x98, 0xd3, 0xa4, 0x1f, 0xcb, 0xcc, 0x5a, + 0x4c, 0xe5, 0xbb, 0x29, 0x68, 0x1f, 0x9c, 0x0a, +}; +static const unsigned char kat3652_nonce[] = {0}; +static const unsigned char kat3652_persstr[] = { + 0xc9, 0x94, 0x59, 0x37, 0x3b, 0xa7, 0x7c, 0x4e, 0xa9, 0x54, 0xd2, 0xfe, + 0xeb, 0x9f, 0x1e, 0x59, 0x70, 0x97, 0x58, 0xfe, 0x4f, 0x06, 0x65, 0xf9, + 0xb4, 0x3b, 0x10, 0xdb, 0x17, 0x9d, 0x69, 0x08, +}; +static const unsigned char kat3652_entropyinpr1[] = { + 0x0b, 0x9a, 0xb6, 0x6b, 0x9d, 0x53, 0x93, 0x1f, 0x67, 0xb4, 0xa8, 0x2d, + 0x86, 0xf6, 0x17, 0x24, 0x39, 0x62, 0x72, 0xcc, 0x56, 0x0b, 0xe0, 0xc8, + 0x08, 0xd5, 0xaf, 0x95, 0x18, 0x47, 0x8c, 0x3f, +}; +static const unsigned char kat3652_addinpr1[] = { + 0x10, 0x4c, 0x44, 0x32, 0xaf, 0xf0, 0xb6, 0xc6, 0xd1, 0x7c, 0x74, 0xdc, + 0x20, 0x64, 0x78, 0xe3, 0x7d, 0xfc, 0xcf, 0x92, 0x1a, 0x3f, 0x9c, 0x51, + 0x8f, 0x03, 0x51, 0x15, 0xed, 0x5b, 0xa6, 0xe3, +}; +static const unsigned char kat3652_entropyinpr2[] = { + 0x64, 0x23, 0x04, 0xfc, 0xcd, 0x20, 0xa0, 0x76, 0x08, 0x0e, 0x4b, 0x18, + 0xa9, 0xec, 0x03, 0x19, 0x26, 0x41, 0x34, 0x38, 0x59, 0x64, 0x2b, 0xc4, + 0xb4, 0xc2, 0xd0, 0x17, 0x27, 0x77, 0xf2, 0x62, +}; +static const unsigned char kat3652_addinpr2[] = { + 0x1f, 0x42, 0xa2, 0x3b, 0xf4, 0xdc, 0x65, 0xa0, 0xac, 0x61, 0xf9, 0xfe, + 0x59, 0x67, 0xfb, 0xa1, 0x36, 0x79, 0x1b, 0x19, 0xa3, 0x99, 0x2d, 0x5e, + 0x5c, 0xa6, 0x53, 0x2a, 0xc8, 0x55, 0x24, 0x23, +}; +static const unsigned char kat3652_retbits[] = { + 0x2a, 0x5a, 0xe9, 0xab, 0x04, 0x3e, 0x8f, 0x71, 0x4f, 0x26, 0x6e, 0x76, + 0x51, 0x50, 0xf1, 0xb3, 0xa0, 0xfe, 0xef, 0x8e, 0x9c, 0x7e, 0x73, 0x5f, + 0x97, 0xb6, 0xda, 0x70, 0x91, 0xa0, 0xf3, 0x1d, 0x23, 0x1a, 0x48, 0x4b, + 0xb0, 0xdb, 0x91, 0x72, 0x18, 0x8e, 0x67, 0xc6, 0x07, 0xc6, 0xdb, 0x9f, + 0xbf, 0xac, 0x9d, 0xf8, 0xa8, 0xdb, 0x5a, 0x71, 0x6d, 0xa1, 0x16, 0x3e, + 0x04, 0x9f, 0x38, 0x04, +}; +static const struct drbg_kat_pr_true kat3652_t = { + 6, kat3652_entropyin, kat3652_nonce, kat3652_persstr, + kat3652_entropyinpr1, kat3652_addinpr1, kat3652_entropyinpr2, + kat3652_addinpr2, kat3652_retbits +}; +static const struct drbg_kat kat3652 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3652_t +}; + +static const unsigned char kat3653_entropyin[] = { + 0xe2, 0x69, 0xdb, 0x4e, 0x5e, 0x5d, 0x14, 0x9b, 0x12, 0xec, 0x74, 0x85, + 0x8e, 0x79, 0xef, 0x42, 0x64, 0xa6, 0x78, 0xb9, 0xfb, 0x91, 0x88, 0x96, + 0x23, 0x8f, 0x96, 0x0f, 0xc4, 0x55, 0x45, 0x66, +}; +static const unsigned char kat3653_nonce[] = {0}; +static const unsigned char kat3653_persstr[] = { + 0x33, 0x32, 0x6d, 0xbf, 0x20, 0x2c, 0x5c, 0x0f, 0xa8, 0x87, 0xd3, 0x59, + 0xd7, 0x7e, 0x0c, 0x51, 0x5f, 0xaf, 0x7a, 0xed, 0xd1, 0x92, 0xab, 0x36, + 0x35, 0x9b, 0xcc, 0xf6, 0x61, 0xf2, 0x53, 0x91, +}; +static const unsigned char kat3653_entropyinpr1[] = { + 0xe6, 0x3c, 0x3c, 0x8e, 0x4b, 0xda, 0xdd, 0x60, 0x01, 0xab, 0x08, 0x57, + 0xb1, 0x37, 0x6d, 0x5d, 0xe4, 0xa5, 0x34, 0x8c, 0xec, 0x3b, 0x0d, 0xea, + 0xc2, 0x70, 0xf1, 0xae, 0x7b, 0x38, 0xa7, 0xe5, +}; +static const unsigned char kat3653_addinpr1[] = { + 0x35, 0x2b, 0xde, 0x5d, 0xa2, 0x54, 0x16, 0x54, 0x29, 0xca, 0x0f, 0xdd, + 0x55, 0x95, 0x94, 0x94, 0x3b, 0x60, 0xd2, 0x6b, 0x34, 0x83, 0xe8, 0xaa, + 0xc8, 0x7d, 0xc9, 0x28, 0xcd, 0x21, 0xc2, 0xe8, +}; +static const unsigned char kat3653_entropyinpr2[] = { + 0x9b, 0x6f, 0x55, 0xd5, 0xba, 0x67, 0xb1, 0xcc, 0xd3, 0x19, 0xb3, 0x17, + 0x8b, 0x58, 0x69, 0xb8, 0xe4, 0xb8, 0xd1, 0xb8, 0x29, 0x60, 0x77, 0xd2, + 0x52, 0x82, 0xf8, 0xe7, 0x23, 0xd4, 0x01, 0xd7, +}; +static const unsigned char kat3653_addinpr2[] = { + 0x66, 0x7b, 0xa3, 0x62, 0x15, 0x09, 0x31, 0x6e, 0xa4, 0x64, 0x13, 0xe2, + 0x34, 0x45, 0x42, 0x97, 0x5b, 0x9f, 0x63, 0xa8, 0x4b, 0x07, 0xc2, 0x83, + 0x04, 0x99, 0x64, 0xc8, 0xc4, 0xcd, 0x69, 0xe9, +}; +static const unsigned char kat3653_retbits[] = { + 0x9c, 0xd4, 0x7c, 0x64, 0x41, 0x9e, 0x5e, 0xfc, 0x4c, 0xa9, 0xe4, 0x63, + 0x7b, 0xfb, 0x4c, 0x9a, 0x26, 0x3b, 0x53, 0x9c, 0xed, 0xe6, 0xd0, 0xd3, + 0x0b, 0x8d, 0xd3, 0x46, 0x53, 0x6c, 0x31, 0x90, 0x47, 0x82, 0x13, 0x96, + 0x34, 0x5e, 0x8f, 0x4b, 0x99, 0xae, 0x45, 0xa2, 0xa5, 0x8a, 0x30, 0x03, + 0x87, 0x9b, 0x88, 0x26, 0x55, 0x69, 0x82, 0xb5, 0x89, 0x25, 0xa7, 0xc3, + 0xc3, 0xcb, 0x77, 0x8a, +}; +static const struct drbg_kat_pr_true kat3653_t = { + 7, kat3653_entropyin, kat3653_nonce, kat3653_persstr, + kat3653_entropyinpr1, kat3653_addinpr1, kat3653_entropyinpr2, + kat3653_addinpr2, kat3653_retbits +}; +static const struct drbg_kat kat3653 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3653_t +}; + +static const unsigned char kat3654_entropyin[] = { + 0x92, 0xf5, 0x6b, 0xc8, 0xe8, 0x90, 0x5c, 0xeb, 0xed, 0x8a, 0x3f, 0x9b, + 0x1f, 0x6f, 0x51, 0x14, 0x0e, 0xce, 0xcb, 0xb0, 0xc6, 0x51, 0x26, 0x31, + 0xc9, 0x73, 0x14, 0x80, 0xaf, 0xf8, 0x55, 0x62, +}; +static const unsigned char kat3654_nonce[] = {0}; +static const unsigned char kat3654_persstr[] = { + 0x8a, 0x07, 0xcc, 0x2b, 0x3d, 0x4b, 0xef, 0x18, 0xfc, 0x14, 0x89, 0xe7, + 0x3b, 0x0d, 0xcd, 0x19, 0x09, 0x00, 0xa0, 0xd7, 0xe8, 0x41, 0x8c, 0x66, + 0x4e, 0x4f, 0x46, 0xc1, 0xaf, 0x45, 0x54, 0x53, +}; +static const unsigned char kat3654_entropyinpr1[] = { + 0x03, 0xdb, 0x58, 0x8c, 0xce, 0x94, 0xdd, 0xe5, 0x39, 0xcd, 0x69, 0xb8, + 0xf2, 0x21, 0x4c, 0x00, 0x47, 0x08, 0x3e, 0x93, 0xbf, 0xe5, 0x7d, 0x69, + 0x7e, 0x5c, 0x8f, 0xb1, 0xa0, 0x15, 0xe6, 0x23, +}; +static const unsigned char kat3654_addinpr1[] = { + 0x27, 0xbb, 0x21, 0x41, 0x9e, 0xbc, 0x68, 0x0c, 0x36, 0x6b, 0x22, 0x6e, + 0x78, 0x18, 0x23, 0xd7, 0x23, 0xe4, 0x61, 0xe6, 0xb3, 0x35, 0x96, 0x88, + 0x4a, 0x11, 0xc9, 0xc8, 0x04, 0x27, 0xfa, 0x8f, +}; +static const unsigned char kat3654_entropyinpr2[] = { + 0x49, 0x2b, 0xb7, 0x9e, 0x11, 0x27, 0x3d, 0xf7, 0x7c, 0xe6, 0xb8, 0x20, + 0x4f, 0xf1, 0xfe, 0xb7, 0x78, 0x9f, 0x16, 0xc8, 0xfd, 0xa1, 0x4e, 0xb5, + 0x85, 0x18, 0x63, 0x47, 0x01, 0xa2, 0x69, 0x8f, +}; +static const unsigned char kat3654_addinpr2[] = { + 0xe6, 0x69, 0xac, 0x48, 0x4b, 0x15, 0x58, 0xbf, 0x86, 0x84, 0x50, 0x24, + 0x93, 0xd4, 0x79, 0x8b, 0x16, 0xa8, 0x21, 0x87, 0xaf, 0xb8, 0xeb, 0xff, + 0xda, 0x21, 0x6e, 0x85, 0x60, 0x46, 0x46, 0xcf, +}; +static const unsigned char kat3654_retbits[] = { + 0xa4, 0x6e, 0x2d, 0x65, 0xbb, 0x2b, 0x9c, 0xc0, 0xf8, 0xa2, 0x87, 0x18, + 0x59, 0xd4, 0x87, 0xb7, 0x4d, 0xd1, 0x5b, 0xe6, 0x78, 0xb8, 0xa8, 0x6b, + 0x4c, 0xd7, 0x61, 0xae, 0x12, 0xfd, 0xeb, 0x30, 0x9b, 0x88, 0x9d, 0x23, + 0x54, 0xc2, 0xb6, 0xe4, 0xf1, 0x3d, 0xbb, 0x0b, 0xed, 0xfc, 0x69, 0xb4, + 0x90, 0xe0, 0xf7, 0x38, 0xdb, 0x17, 0x05, 0xde, 0x28, 0xe4, 0x40, 0x84, + 0xf5, 0x15, 0xb1, 0x9b, +}; +static const struct drbg_kat_pr_true kat3654_t = { + 8, kat3654_entropyin, kat3654_nonce, kat3654_persstr, + kat3654_entropyinpr1, kat3654_addinpr1, kat3654_entropyinpr2, + kat3654_addinpr2, kat3654_retbits +}; +static const struct drbg_kat kat3654 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3654_t +}; + +static const unsigned char kat3655_entropyin[] = { + 0xd7, 0xfb, 0x73, 0x77, 0x6b, 0x1c, 0x69, 0x58, 0x8e, 0x42, 0x63, 0x4b, + 0xb2, 0xea, 0x09, 0xdb, 0x7c, 0xc0, 0xf0, 0x4e, 0xbd, 0xb7, 0x9b, 0x50, + 0x4f, 0x30, 0x72, 0xca, 0x49, 0xf5, 0x7a, 0xcd, +}; +static const unsigned char kat3655_nonce[] = {0}; +static const unsigned char kat3655_persstr[] = { + 0x32, 0xbd, 0xd8, 0xd9, 0xc9, 0xd6, 0x94, 0x05, 0xff, 0x0f, 0xa4, 0x4a, + 0x4d, 0xba, 0x8d, 0xd8, 0x85, 0x58, 0xed, 0x62, 0x9a, 0x7e, 0x75, 0x17, + 0x14, 0xd5, 0x13, 0x9c, 0xc8, 0x71, 0xa7, 0xa0, +}; +static const unsigned char kat3655_entropyinpr1[] = { + 0x76, 0x49, 0xc8, 0x4f, 0x58, 0x9f, 0x1c, 0x0d, 0x78, 0x9b, 0xef, 0xb3, + 0x29, 0xd5, 0x99, 0x48, 0xc3, 0x97, 0xb5, 0x35, 0xa4, 0x16, 0xfd, 0xb3, + 0x46, 0xb7, 0xdc, 0x11, 0x23, 0x56, 0x7c, 0x15, +}; +static const unsigned char kat3655_addinpr1[] = { + 0xce, 0xe7, 0x4c, 0x61, 0x33, 0x91, 0xec, 0x0d, 0xd3, 0xd8, 0xb2, 0x7f, + 0xff, 0x73, 0x61, 0x7d, 0xbf, 0xdf, 0xa1, 0x47, 0xea, 0xb0, 0x88, 0x4d, + 0x22, 0xef, 0x09, 0xeb, 0x6a, 0xf1, 0x3b, 0x68, +}; +static const unsigned char kat3655_entropyinpr2[] = { + 0xf6, 0x0b, 0x46, 0x18, 0x23, 0x6c, 0xcc, 0x43, 0x05, 0xbb, 0x3c, 0x2d, + 0x7c, 0xcc, 0x9c, 0x73, 0x3c, 0x22, 0x19, 0x16, 0xb7, 0x76, 0xfe, 0x55, + 0xb4, 0xdb, 0x02, 0x78, 0xfa, 0x49, 0xb2, 0x69, +}; +static const unsigned char kat3655_addinpr2[] = { + 0xb7, 0x77, 0xc9, 0xa6, 0x5e, 0x84, 0x4b, 0x6b, 0xe1, 0x85, 0x00, 0x7e, + 0x14, 0x92, 0xb8, 0x01, 0xfe, 0x3f, 0x60, 0x28, 0x48, 0x31, 0xea, 0x25, + 0xc9, 0xef, 0xfa, 0x90, 0x12, 0x3e, 0x0b, 0xd0, +}; +static const unsigned char kat3655_retbits[] = { + 0x21, 0xd9, 0xc5, 0x79, 0x17, 0x63, 0x9e, 0x59, 0xd6, 0x84, 0x7a, 0xd0, + 0x32, 0x83, 0xb0, 0x44, 0xd2, 0x29, 0x10, 0x3a, 0xb4, 0x0b, 0x08, 0xbc, + 0x9b, 0xef, 0x6d, 0xae, 0xf3, 0xf0, 0xcd, 0xff, 0xac, 0x11, 0x9d, 0x3c, + 0xa4, 0x54, 0xc4, 0xb0, 0x05, 0xd4, 0xfa, 0x65, 0xef, 0xe1, 0xfe, 0xf8, + 0x9f, 0x18, 0xf9, 0xd4, 0x4e, 0x37, 0x4d, 0x44, 0xc3, 0xfe, 0xa4, 0xc6, + 0x6a, 0xa4, 0xff, 0x8e, +}; +static const struct drbg_kat_pr_true kat3655_t = { + 9, kat3655_entropyin, kat3655_nonce, kat3655_persstr, + kat3655_entropyinpr1, kat3655_addinpr1, kat3655_entropyinpr2, + kat3655_addinpr2, kat3655_retbits +}; +static const struct drbg_kat kat3655 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3655_t +}; + +static const unsigned char kat3656_entropyin[] = { + 0xbe, 0xc5, 0x62, 0x56, 0xce, 0x5f, 0x06, 0x6d, 0x32, 0x70, 0x58, 0x66, + 0xbd, 0x43, 0x1f, 0x84, 0xa2, 0x43, 0x90, 0x22, 0x33, 0x23, 0x92, 0x4a, + 0x7a, 0xf9, 0x0e, 0x33, 0xf8, 0xa8, 0x5b, 0x70, +}; +static const unsigned char kat3656_nonce[] = {0}; +static const unsigned char kat3656_persstr[] = { + 0x5e, 0x0a, 0x0f, 0xfd, 0x45, 0x82, 0xfc, 0x6d, 0x32, 0xdf, 0xe4, 0x12, + 0xfb, 0xfc, 0xc9, 0x5e, 0x03, 0x3d, 0x59, 0xde, 0x2f, 0x67, 0x30, 0x18, + 0xfc, 0x76, 0xbd, 0x64, 0x51, 0xe9, 0xdc, 0x14, +}; +static const unsigned char kat3656_entropyinpr1[] = { + 0x21, 0xa3, 0xd1, 0x39, 0x27, 0xd2, 0xa7, 0x23, 0x94, 0x2e, 0xf3, 0x29, + 0x41, 0xfe, 0xfe, 0xe8, 0x3e, 0x82, 0x3e, 0x3b, 0xf4, 0xe3, 0x70, 0x2e, + 0x38, 0x4c, 0x49, 0x60, 0xec, 0x33, 0xa3, 0x17, +}; +static const unsigned char kat3656_addinpr1[] = { + 0xbe, 0xa8, 0x34, 0x98, 0x2a, 0x99, 0xe6, 0xdf, 0x84, 0x0a, 0xc9, 0x26, + 0x18, 0x1e, 0xf8, 0xcf, 0x66, 0xdf, 0x1d, 0xfe, 0xbc, 0xab, 0x0a, 0x31, + 0x50, 0x4c, 0x8e, 0xfa, 0x10, 0x4b, 0x60, 0xd1, +}; +static const unsigned char kat3656_entropyinpr2[] = { + 0x83, 0xf1, 0x12, 0xba, 0xaf, 0x10, 0x8c, 0x73, 0x4f, 0x5c, 0x94, 0xe6, + 0x7f, 0x57, 0x8c, 0x5c, 0xc7, 0xac, 0x2a, 0x43, 0x28, 0x70, 0xd3, 0x7e, + 0x9d, 0x3c, 0x91, 0x15, 0x30, 0x0c, 0xcf, 0x6b, +}; +static const unsigned char kat3656_addinpr2[] = { + 0x56, 0xce, 0x06, 0x2a, 0x0f, 0x58, 0x32, 0xcd, 0xa6, 0x63, 0xbf, 0x14, + 0x67, 0x24, 0xe4, 0xf5, 0x49, 0x8a, 0x25, 0xb8, 0xdf, 0x44, 0x9d, 0x51, + 0x51, 0xf5, 0x88, 0xfa, 0xc5, 0x7a, 0xb8, 0xde, +}; +static const unsigned char kat3656_retbits[] = { + 0x49, 0xc2, 0x50, 0x0f, 0x53, 0xba, 0xd7, 0x58, 0xff, 0x45, 0xd8, 0x89, + 0x59, 0x18, 0x50, 0x96, 0x90, 0xeb, 0x4c, 0x6d, 0x8e, 0x14, 0x77, 0x0e, + 0x7d, 0x6d, 0x19, 0x26, 0x41, 0x56, 0x8e, 0x0a, 0x85, 0x08, 0x2f, 0x62, + 0x58, 0x3a, 0xef, 0xbb, 0x0e, 0xb9, 0x34, 0x2e, 0x28, 0x3d, 0x5f, 0x6f, + 0xbd, 0xfc, 0xda, 0x12, 0xc5, 0x20, 0x5a, 0x6c, 0xe4, 0x3c, 0x91, 0x33, + 0xed, 0x49, 0xb9, 0x81, +}; +static const struct drbg_kat_pr_true kat3656_t = { + 10, kat3656_entropyin, kat3656_nonce, kat3656_persstr, + kat3656_entropyinpr1, kat3656_addinpr1, kat3656_entropyinpr2, + kat3656_addinpr2, kat3656_retbits +}; +static const struct drbg_kat kat3656 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3656_t +}; + +static const unsigned char kat3657_entropyin[] = { + 0xcb, 0xc8, 0x54, 0xa6, 0x94, 0x5c, 0xdd, 0xc2, 0xc1, 0x84, 0x22, 0x30, + 0x1e, 0x4c, 0xa8, 0x08, 0x72, 0xc7, 0xd2, 0x88, 0x5a, 0x45, 0x17, 0x79, + 0xc9, 0x93, 0x31, 0xf5, 0xcb, 0xd4, 0xd3, 0x4c, +}; +static const unsigned char kat3657_nonce[] = {0}; +static const unsigned char kat3657_persstr[] = { + 0xd7, 0x33, 0xa7, 0xda, 0x06, 0xea, 0x57, 0x09, 0x31, 0x55, 0x77, 0xa7, + 0x51, 0xf7, 0x45, 0x18, 0x6d, 0xc2, 0x7f, 0x04, 0x14, 0x95, 0x6b, 0xef, + 0x52, 0x2a, 0x21, 0xb6, 0xa5, 0x58, 0x4f, 0x21, +}; +static const unsigned char kat3657_entropyinpr1[] = { + 0xb8, 0x15, 0x0c, 0xcf, 0x68, 0x58, 0xbe, 0xd3, 0x2a, 0x62, 0xe9, 0x85, + 0x76, 0x6f, 0x28, 0x94, 0xf1, 0x6a, 0x38, 0x0d, 0x97, 0xe2, 0x62, 0xc6, + 0xa0, 0xa5, 0x80, 0xb0, 0x29, 0xd7, 0x8b, 0x73, +}; +static const unsigned char kat3657_addinpr1[] = { + 0xb3, 0xe4, 0xa0, 0xba, 0x71, 0x90, 0x60, 0xa9, 0xba, 0x63, 0x6e, 0x55, + 0x8d, 0x31, 0x87, 0xfd, 0x79, 0x8a, 0x84, 0x69, 0xd2, 0x8a, 0xc6, 0x1f, + 0x4c, 0x92, 0xf0, 0x0e, 0xff, 0x61, 0x01, 0x2a, +}; +static const unsigned char kat3657_entropyinpr2[] = { + 0x65, 0x64, 0x15, 0x10, 0x7f, 0x51, 0xa7, 0x26, 0x02, 0x82, 0xbc, 0xb2, + 0x52, 0x5f, 0xf1, 0x84, 0xe7, 0x5d, 0xf7, 0x20, 0x99, 0x6e, 0x3d, 0xef, + 0x8e, 0xd8, 0xd1, 0x3f, 0x5f, 0xaf, 0x05, 0xce, +}; +static const unsigned char kat3657_addinpr2[] = { + 0xa8, 0x38, 0x80, 0xd2, 0x5a, 0x8d, 0x6e, 0xb2, 0x8d, 0x66, 0xd1, 0x59, + 0xa6, 0x2f, 0x56, 0xd2, 0x3b, 0x2d, 0xb0, 0xe6, 0x87, 0xdf, 0xfc, 0xde, + 0x6c, 0x64, 0xcb, 0x29, 0x74, 0xe8, 0x87, 0x1a, +}; +static const unsigned char kat3657_retbits[] = { + 0xd3, 0xb2, 0x1d, 0xa9, 0xc2, 0xd9, 0xa7, 0xbc, 0xed, 0x12, 0x94, 0x67, + 0x50, 0xe4, 0x09, 0xf9, 0xf2, 0xb7, 0xc6, 0xf3, 0xf8, 0x4d, 0x74, 0x53, + 0x1d, 0x07, 0x11, 0xe4, 0x1e, 0x8c, 0xc0, 0x19, 0xeb, 0xf5, 0x9d, 0x35, + 0x1a, 0xd9, 0x33, 0xbb, 0x1e, 0x77, 0xd6, 0xeb, 0xbe, 0xf2, 0xe9, 0xff, + 0x98, 0x01, 0x6b, 0x68, 0x5d, 0xf9, 0x0f, 0x60, 0x83, 0x66, 0xe3, 0x2a, + 0x9d, 0x78, 0x40, 0x58, +}; +static const struct drbg_kat_pr_true kat3657_t = { + 11, kat3657_entropyin, kat3657_nonce, kat3657_persstr, + kat3657_entropyinpr1, kat3657_addinpr1, kat3657_entropyinpr2, + kat3657_addinpr2, kat3657_retbits +}; +static const struct drbg_kat kat3657 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3657_t +}; + +static const unsigned char kat3658_entropyin[] = { + 0x20, 0x43, 0x76, 0x3f, 0x12, 0x7c, 0x2c, 0x72, 0xac, 0x58, 0x1b, 0x2d, + 0x6a, 0xe6, 0x2e, 0xe9, 0x80, 0xfa, 0x4c, 0xc7, 0x2e, 0x30, 0x57, 0xa5, + 0xcf, 0x10, 0x3d, 0x40, 0xc1, 0xac, 0x05, 0xb2, +}; +static const unsigned char kat3658_nonce[] = {0}; +static const unsigned char kat3658_persstr[] = { + 0x45, 0xc7, 0xa2, 0x9c, 0x14, 0x7c, 0xeb, 0x42, 0xc3, 0x2a, 0xdb, 0xac, + 0xed, 0xd7, 0x24, 0xc0, 0x2e, 0x63, 0x26, 0xb5, 0xdd, 0xc9, 0x98, 0xef, + 0x64, 0x0e, 0x4e, 0x52, 0xf9, 0x23, 0x53, 0xb8, +}; +static const unsigned char kat3658_entropyinpr1[] = { + 0xd9, 0xb7, 0x9a, 0x0e, 0x45, 0x50, 0x58, 0x0b, 0xed, 0x48, 0xce, 0x52, + 0xe7, 0xc6, 0xb7, 0x95, 0xa2, 0xf3, 0x37, 0xb0, 0x95, 0x7e, 0xf8, 0xbc, + 0xc0, 0xc3, 0x7d, 0xf2, 0x37, 0x1a, 0x12, 0x95, +}; +static const unsigned char kat3658_addinpr1[] = { + 0x87, 0x79, 0xaa, 0xdb, 0x8b, 0x9d, 0xc2, 0x68, 0x51, 0x74, 0x31, 0x20, + 0xea, 0x7e, 0x41, 0xed, 0xf8, 0x24, 0xdb, 0x2a, 0xd7, 0xc9, 0xe5, 0x67, + 0xdf, 0x23, 0xb1, 0x54, 0xf2, 0x12, 0x06, 0x0f, +}; +static const unsigned char kat3658_entropyinpr2[] = { + 0xde, 0x11, 0x49, 0xf1, 0xd2, 0xce, 0x43, 0xc5, 0x82, 0x25, 0xfd, 0x25, + 0x70, 0x17, 0x87, 0x43, 0xf1, 0x42, 0x9d, 0xc9, 0xdd, 0x33, 0xe5, 0x42, + 0x36, 0xe5, 0xdf, 0xc0, 0x85, 0x7c, 0x89, 0x84, +}; +static const unsigned char kat3658_addinpr2[] = { + 0x4f, 0xdf, 0xaa, 0xfb, 0xfb, 0x71, 0xa0, 0x68, 0x56, 0x69, 0xfd, 0xf0, + 0x90, 0x02, 0x54, 0x17, 0xde, 0xfc, 0x9f, 0x0c, 0xfb, 0x6b, 0xeb, 0x0a, + 0x02, 0x36, 0x52, 0x1e, 0x6b, 0xae, 0x29, 0x28, +}; +static const unsigned char kat3658_retbits[] = { + 0x83, 0x19, 0x8a, 0xdb, 0xeb, 0x9e, 0xa5, 0x99, 0x4e, 0xc8, 0x29, 0x48, + 0xd6, 0xf6, 0xd0, 0x36, 0x1a, 0x08, 0xe5, 0xf0, 0xe1, 0x7b, 0xec, 0x10, + 0x3d, 0xbf, 0xf4, 0x12, 0x5e, 0x2f, 0x24, 0xa6, 0x71, 0xe3, 0xb3, 0x72, + 0x09, 0xc5, 0x9f, 0xa9, 0x00, 0xa7, 0xf3, 0xf1, 0x9f, 0xfd, 0x20, 0x07, + 0x78, 0xfa, 0xa2, 0x30, 0xff, 0x32, 0x90, 0x9e, 0x61, 0xcc, 0x0b, 0x05, + 0xec, 0x9d, 0x86, 0xc7, +}; +static const struct drbg_kat_pr_true kat3658_t = { + 12, kat3658_entropyin, kat3658_nonce, kat3658_persstr, + kat3658_entropyinpr1, kat3658_addinpr1, kat3658_entropyinpr2, + kat3658_addinpr2, kat3658_retbits +}; +static const struct drbg_kat kat3658 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3658_t +}; + +static const unsigned char kat3659_entropyin[] = { + 0x17, 0x8e, 0xfb, 0xf1, 0xe3, 0x7a, 0xd1, 0xfa, 0x19, 0xd8, 0x36, 0x13, + 0x57, 0xae, 0xbf, 0x28, 0x41, 0xeb, 0xc9, 0x73, 0x8b, 0x29, 0x2b, 0xd1, + 0xd4, 0x01, 0x75, 0x97, 0xfd, 0x75, 0x1e, 0x9a, +}; +static const unsigned char kat3659_nonce[] = {0}; +static const unsigned char kat3659_persstr[] = { + 0x37, 0x84, 0xf3, 0x05, 0xb9, 0x16, 0xe2, 0xf3, 0x44, 0xe3, 0x16, 0x3e, + 0x46, 0x2a, 0x83, 0xde, 0x37, 0x5a, 0x50, 0x8e, 0xd8, 0xc8, 0xaf, 0x81, + 0x56, 0xad, 0xd7, 0xac, 0x23, 0x74, 0x04, 0xff, +}; +static const unsigned char kat3659_entropyinpr1[] = { + 0x95, 0x71, 0x6e, 0x48, 0x4c, 0xd8, 0x11, 0xc3, 0x26, 0x73, 0xbb, 0xd8, + 0xf4, 0x41, 0xf8, 0xa2, 0x32, 0xe4, 0x45, 0xed, 0x05, 0xe4, 0x7b, 0xec, + 0xa6, 0x48, 0x8c, 0x4d, 0x3e, 0x0e, 0x36, 0xa5, +}; +static const unsigned char kat3659_addinpr1[] = { + 0xa0, 0x2e, 0xa6, 0xf6, 0xd9, 0xb8, 0x99, 0x72, 0xa3, 0xf7, 0x1d, 0xe2, + 0xd9, 0xf1, 0x77, 0x6f, 0x96, 0xb2, 0xf5, 0x94, 0xb9, 0x24, 0x52, 0xa4, + 0xee, 0x6e, 0xc7, 0x59, 0xc4, 0x0f, 0x42, 0x77, +}; +static const unsigned char kat3659_entropyinpr2[] = { + 0xfc, 0x86, 0x25, 0xd5, 0xcf, 0x7e, 0xaf, 0x5f, 0xac, 0xa7, 0xb6, 0x38, + 0x6f, 0xee, 0xcc, 0x2e, 0x2e, 0xd1, 0x5b, 0xee, 0x2d, 0x3f, 0xdd, 0xa3, + 0xb7, 0x22, 0xf1, 0x03, 0x2d, 0x03, 0xa2, 0xb3, +}; +static const unsigned char kat3659_addinpr2[] = { + 0x17, 0x0f, 0x9c, 0xab, 0x0a, 0xd1, 0x7e, 0xb2, 0x86, 0x70, 0x2e, 0x02, + 0xd4, 0x8b, 0x3f, 0xcb, 0x09, 0xc0, 0xfe, 0x34, 0xe4, 0xee, 0xa6, 0x58, + 0xfe, 0xa5, 0x36, 0xc3, 0x76, 0x28, 0xe5, 0x3c, +}; +static const unsigned char kat3659_retbits[] = { + 0xa1, 0xe4, 0xc5, 0x16, 0x67, 0x56, 0x19, 0xf7, 0x50, 0x91, 0xd8, 0x30, + 0x72, 0xe1, 0xac, 0xde, 0x7b, 0x47, 0x98, 0x1e, 0x89, 0x56, 0x13, 0x5b, + 0x54, 0xcd, 0x87, 0x56, 0x8b, 0xcc, 0xe5, 0xb7, 0xf0, 0xea, 0x03, 0x84, + 0x5c, 0x2e, 0x09, 0xe1, 0xeb, 0x0c, 0xd6, 0xa8, 0x65, 0x29, 0x7c, 0xe5, + 0xb8, 0x71, 0x33, 0xd9, 0xd0, 0xc2, 0xee, 0x9e, 0x48, 0xe6, 0xea, 0x69, + 0x0d, 0xbc, 0x63, 0x10, +}; +static const struct drbg_kat_pr_true kat3659_t = { + 13, kat3659_entropyin, kat3659_nonce, kat3659_persstr, + kat3659_entropyinpr1, kat3659_addinpr1, kat3659_entropyinpr2, + kat3659_addinpr2, kat3659_retbits +}; +static const struct drbg_kat kat3659 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3659_t +}; + +static const unsigned char kat3660_entropyin[] = { + 0xcc, 0x15, 0x11, 0xf4, 0xe3, 0x53, 0x0b, 0x26, 0xba, 0x89, 0x95, 0x7c, + 0x3f, 0x30, 0xda, 0xdb, 0x17, 0xf0, 0x40, 0x98, 0x92, 0x16, 0xfe, 0xfc, + 0x57, 0xb5, 0x90, 0x7e, 0xf4, 0x37, 0xbd, 0x10, +}; +static const unsigned char kat3660_nonce[] = {0}; +static const unsigned char kat3660_persstr[] = { + 0x83, 0x8b, 0x73, 0x06, 0x5f, 0x63, 0x4f, 0x9e, 0xf6, 0xe8, 0x9b, 0x67, + 0x77, 0xf4, 0xf7, 0xd6, 0x6f, 0xc4, 0x79, 0x42, 0xff, 0x60, 0xae, 0xde, + 0x0d, 0x6f, 0xe4, 0x2b, 0xb7, 0x4c, 0xb0, 0x01, +}; +static const unsigned char kat3660_entropyinpr1[] = { + 0xbb, 0xec, 0x89, 0x7b, 0x0d, 0x90, 0xfe, 0x17, 0x35, 0xbb, 0x49, 0x24, + 0x81, 0x43, 0xcb, 0x24, 0xb1, 0xe0, 0x44, 0x87, 0xfe, 0xe6, 0x80, 0x07, + 0x1d, 0x66, 0x76, 0x77, 0xef, 0x00, 0x6d, 0xaa, +}; +static const unsigned char kat3660_addinpr1[] = { + 0x1e, 0x9e, 0x8a, 0x1a, 0x97, 0x3e, 0x4e, 0xaf, 0xf5, 0x07, 0xb3, 0x17, + 0xf6, 0x8c, 0xfa, 0x08, 0xb9, 0x85, 0x85, 0xb8, 0xab, 0x44, 0x13, 0x20, + 0x24, 0xff, 0xc6, 0x6c, 0x61, 0x42, 0x10, 0x8a, +}; +static const unsigned char kat3660_entropyinpr2[] = { + 0x16, 0xf3, 0xbd, 0x62, 0x63, 0x43, 0x68, 0x53, 0x5d, 0xa1, 0x70, 0xa7, + 0xf1, 0x17, 0xbb, 0xf8, 0xb8, 0x96, 0xba, 0x1b, 0xfa, 0xc5, 0xab, 0x68, + 0x22, 0x47, 0xb1, 0xb5, 0x54, 0x52, 0xe8, 0x44, +}; +static const unsigned char kat3660_addinpr2[] = { + 0x6f, 0xd4, 0x6c, 0xa1, 0x8d, 0x10, 0x32, 0x6f, 0x57, 0x34, 0xd0, 0x16, + 0x01, 0x63, 0xbc, 0x42, 0xd3, 0xda, 0xa5, 0x5e, 0x3c, 0x74, 0xa2, 0xe0, + 0xfc, 0x73, 0x80, 0xfd, 0x84, 0xdc, 0x0b, 0xec, +}; +static const unsigned char kat3660_retbits[] = { + 0xf8, 0x4c, 0x05, 0xb1, 0x44, 0xb1, 0x14, 0xfb, 0xd2, 0xf8, 0x0a, 0x21, + 0x86, 0x2a, 0x44, 0xf3, 0x64, 0x1f, 0xbe, 0x98, 0x09, 0x57, 0xe3, 0xfa, + 0xb7, 0x36, 0x97, 0x6d, 0xb3, 0x7b, 0x8b, 0xca, 0x82, 0x3d, 0x7f, 0x84, + 0x8f, 0x32, 0xf4, 0xac, 0xa6, 0x02, 0x68, 0xc0, 0x20, 0xa2, 0xe8, 0x5a, + 0x5e, 0xe0, 0xf3, 0x1f, 0xb7, 0x46, 0xf0, 0xdf, 0xf0, 0x66, 0xb8, 0x3d, + 0x32, 0x56, 0x3d, 0xf9, +}; +static const struct drbg_kat_pr_true kat3660_t = { + 14, kat3660_entropyin, kat3660_nonce, kat3660_persstr, + kat3660_entropyinpr1, kat3660_addinpr1, kat3660_entropyinpr2, + kat3660_addinpr2, kat3660_retbits +}; +static const struct drbg_kat kat3660 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3660_t +}; + +static const unsigned char kat3661_entropyin[] = { + 0xdb, 0x6b, 0xb4, 0x98, 0xf9, 0x71, 0x20, 0xae, 0xde, 0x8b, 0x99, 0xe8, + 0xa2, 0xb4, 0x17, 0x4c, 0xc0, 0x05, 0xef, 0xef, 0x77, 0x85, 0x5a, 0xef, + 0x21, 0x8d, 0x5d, 0x3f, 0x15, 0x49, 0x4e, 0x94, +}; +static const unsigned char kat3661_nonce[] = {0}; +static const unsigned char kat3661_persstr[] = {0}; +static const unsigned char kat3661_entropyinpr1[] = { + 0x2f, 0x28, 0xf4, 0x96, 0x5f, 0x77, 0xc6, 0x7a, 0x55, 0x40, 0x1e, 0x01, + 0x74, 0x5c, 0xb5, 0x5c, 0x64, 0xa0, 0x84, 0x12, 0x74, 0xc2, 0x41, 0xe2, + 0x66, 0xf7, 0xfe, 0x40, 0x79, 0xe5, 0x7a, 0x63, +}; +static const unsigned char kat3661_addinpr1[] = {0}; +static const unsigned char kat3661_entropyinpr2[] = { + 0x0c, 0x82, 0x3e, 0xea, 0xe1, 0x0e, 0x26, 0xec, 0x1d, 0x48, 0x26, 0xe2, + 0xa5, 0x62, 0x58, 0xf4, 0x9e, 0x54, 0x79, 0x52, 0xf4, 0xcb, 0x86, 0x4c, + 0x5f, 0xd9, 0xb3, 0x2e, 0x33, 0xa7, 0x0c, 0x50, +}; +static const unsigned char kat3661_addinpr2[] = {0}; +static const unsigned char kat3661_retbits[] = { + 0xe6, 0x66, 0x7c, 0xf7, 0xb2, 0x79, 0xa4, 0x81, 0xa0, 0xb8, 0x9e, 0xea, + 0x9f, 0x2b, 0x52, 0xf2, 0x20, 0xf2, 0x72, 0xc1, 0xc0, 0x6a, 0x3a, 0x76, + 0xda, 0xef, 0x95, 0xe9, 0x0c, 0xcb, 0xda, 0x26, 0xca, 0xf0, 0x7c, 0x56, + 0x9c, 0x68, 0xda, 0xd4, 0x51, 0x87, 0x3f, 0xa4, 0x49, 0x79, 0x68, 0xb3, + 0xfa, 0x07, 0x3b, 0x93, 0x69, 0xd1, 0x3d, 0xae, 0xbd, 0x22, 0x9e, 0x75, + 0x4c, 0x9c, 0xb2, 0xec, +}; +static const struct drbg_kat_pr_true kat3661_t = { + 0, kat3661_entropyin, kat3661_nonce, kat3661_persstr, + kat3661_entropyinpr1, kat3661_addinpr1, kat3661_entropyinpr2, + kat3661_addinpr2, kat3661_retbits +}; +static const struct drbg_kat kat3661 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3661_t +}; + +static const unsigned char kat3662_entropyin[] = { + 0xab, 0xe6, 0xe2, 0xed, 0xf1, 0x9d, 0xf0, 0x63, 0x0e, 0x62, 0x7f, 0xe5, + 0xe5, 0x87, 0x07, 0x6d, 0x4e, 0x81, 0xb4, 0xfc, 0x94, 0x41, 0x3a, 0x01, + 0xe8, 0xee, 0x37, 0x24, 0x2c, 0xdd, 0xaa, 0xea, +}; +static const unsigned char kat3662_nonce[] = {0}; +static const unsigned char kat3662_persstr[] = {0}; +static const unsigned char kat3662_entropyinpr1[] = { + 0x82, 0xc7, 0x71, 0x18, 0x75, 0x5a, 0x84, 0xda, 0xa2, 0x2e, 0xac, 0x2f, + 0x47, 0xaf, 0x90, 0x9e, 0xe7, 0xe6, 0xc9, 0x30, 0xd0, 0x61, 0x21, 0x79, + 0x94, 0xbb, 0x59, 0x6e, 0x2b, 0x84, 0xce, 0x54, +}; +static const unsigned char kat3662_addinpr1[] = {0}; +static const unsigned char kat3662_entropyinpr2[] = { + 0xd0, 0x6e, 0x80, 0x40, 0xa8, 0xf7, 0xf5, 0xcf, 0x48, 0x16, 0xd0, 0x91, + 0x55, 0xb1, 0xd5, 0x3e, 0x60, 0x5a, 0xd1, 0xae, 0xf3, 0xbf, 0x15, 0xa8, + 0x84, 0x9d, 0x81, 0x90, 0x43, 0x92, 0xf7, 0x12, +}; +static const unsigned char kat3662_addinpr2[] = {0}; +static const unsigned char kat3662_retbits[] = { + 0x3b, 0x4a, 0x2f, 0x22, 0xb9, 0xb4, 0xe5, 0x46, 0x0e, 0x97, 0x25, 0x6a, + 0x83, 0xaa, 0xdc, 0x1f, 0x28, 0x7f, 0x3f, 0xf0, 0x18, 0x6d, 0x66, 0xa9, + 0xc7, 0xdb, 0x9a, 0x06, 0xcf, 0xc0, 0xc9, 0xa0, 0xc3, 0x5a, 0xb6, 0x0f, + 0x01, 0xec, 0x52, 0xf6, 0x8f, 0x25, 0x6b, 0xa4, 0x6f, 0x77, 0x96, 0xf9, + 0xbd, 0x53, 0x10, 0x4b, 0x00, 0xac, 0xa5, 0x9d, 0xbe, 0xab, 0x78, 0x58, + 0xf5, 0xce, 0xd3, 0x7f, +}; +static const struct drbg_kat_pr_true kat3662_t = { + 1, kat3662_entropyin, kat3662_nonce, kat3662_persstr, + kat3662_entropyinpr1, kat3662_addinpr1, kat3662_entropyinpr2, + kat3662_addinpr2, kat3662_retbits +}; +static const struct drbg_kat kat3662 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3662_t +}; + +static const unsigned char kat3663_entropyin[] = { + 0x27, 0xf9, 0xac, 0x96, 0xdd, 0x7e, 0xdb, 0xe5, 0xd0, 0xf6, 0x49, 0xdf, + 0x3a, 0x31, 0x88, 0x10, 0xb5, 0xc4, 0x5e, 0xa6, 0xd1, 0xfe, 0x16, 0x5c, + 0xad, 0xa2, 0xfe, 0x78, 0x2f, 0x72, 0x7d, 0x80, +}; +static const unsigned char kat3663_nonce[] = {0}; +static const unsigned char kat3663_persstr[] = {0}; +static const unsigned char kat3663_entropyinpr1[] = { + 0x8b, 0xde, 0x9b, 0x95, 0x7d, 0x32, 0x61, 0xfa, 0xbe, 0x26, 0xd3, 0x58, + 0xaa, 0xc3, 0xba, 0x40, 0x89, 0xa5, 0x55, 0x37, 0x84, 0x9b, 0xe4, 0x97, + 0xd3, 0x25, 0xba, 0xf9, 0xa4, 0x8c, 0xa4, 0xad, +}; +static const unsigned char kat3663_addinpr1[] = {0}; +static const unsigned char kat3663_entropyinpr2[] = { + 0x2e, 0xb3, 0xb6, 0x89, 0x57, 0x49, 0x03, 0x6c, 0xae, 0xcd, 0x0b, 0x25, + 0x62, 0x9b, 0x71, 0xa2, 0x01, 0x82, 0x6c, 0xae, 0x03, 0xf5, 0xf6, 0xcb, + 0x5b, 0x73, 0xb4, 0xfe, 0x86, 0x94, 0xcf, 0x96, +}; +static const unsigned char kat3663_addinpr2[] = {0}; +static const unsigned char kat3663_retbits[] = { + 0x92, 0xd0, 0xbd, 0x52, 0xe3, 0xd3, 0xc4, 0x3c, 0xd9, 0x37, 0x29, 0xef, + 0xea, 0x4b, 0x51, 0x1f, 0xc7, 0xd1, 0x09, 0xe9, 0x7d, 0x6d, 0xe4, 0x97, + 0x24, 0xa9, 0xbc, 0xb0, 0xba, 0x75, 0x4d, 0xb2, 0x3c, 0x83, 0xb2, 0xf4, + 0x85, 0xf0, 0xc1, 0x13, 0x18, 0xa5, 0xcb, 0x40, 0x1e, 0xf2, 0x0d, 0x1a, + 0x5e, 0x47, 0x63, 0xec, 0xc5, 0x80, 0xcd, 0x8a, 0x37, 0xa1, 0xd3, 0x65, + 0x32, 0x05, 0x49, 0x9b, +}; +static const struct drbg_kat_pr_true kat3663_t = { + 2, kat3663_entropyin, kat3663_nonce, kat3663_persstr, + kat3663_entropyinpr1, kat3663_addinpr1, kat3663_entropyinpr2, + kat3663_addinpr2, kat3663_retbits +}; +static const struct drbg_kat kat3663 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3663_t +}; + +static const unsigned char kat3664_entropyin[] = { + 0xcd, 0xb5, 0x75, 0x21, 0x3b, 0x84, 0xed, 0xfd, 0xd4, 0x56, 0x1c, 0x81, + 0x95, 0x94, 0xb6, 0x11, 0x7b, 0x06, 0xe7, 0x51, 0xd7, 0x77, 0xa0, 0x5c, + 0xa6, 0x7e, 0x22, 0x91, 0xfa, 0xc0, 0x35, 0xc6, +}; +static const unsigned char kat3664_nonce[] = {0}; +static const unsigned char kat3664_persstr[] = {0}; +static const unsigned char kat3664_entropyinpr1[] = { + 0xd1, 0x8e, 0x8a, 0x22, 0xce, 0xda, 0x05, 0xa5, 0x10, 0x3c, 0x3e, 0xf3, + 0x3c, 0x4a, 0x0f, 0xee, 0x80, 0x70, 0xa9, 0xa2, 0xcb, 0x27, 0x91, 0x1b, + 0x3d, 0xd5, 0x8b, 0x75, 0xdd, 0x81, 0x36, 0xfb, +}; +static const unsigned char kat3664_addinpr1[] = {0}; +static const unsigned char kat3664_entropyinpr2[] = { + 0xd9, 0xb4, 0x7b, 0xcf, 0xfa, 0xcf, 0xeb, 0x5e, 0xc5, 0x2a, 0x67, 0x5c, + 0x28, 0x87, 0x8d, 0xcb, 0xe6, 0x1c, 0x13, 0xe8, 0xe8, 0xa7, 0xd8, 0xb6, + 0x71, 0xc2, 0xad, 0x66, 0x28, 0xee, 0xd1, 0xc9, +}; +static const unsigned char kat3664_addinpr2[] = {0}; +static const unsigned char kat3664_retbits[] = { + 0x8d, 0xbf, 0xdc, 0xb6, 0x87, 0x4a, 0xf5, 0x3a, 0x01, 0xfb, 0xe8, 0x5d, + 0xb6, 0x47, 0x94, 0x5a, 0xec, 0x99, 0x71, 0x25, 0x3a, 0x40, 0xb8, 0xef, + 0xc7, 0x31, 0xbf, 0x10, 0x90, 0x1a, 0xd4, 0xcd, 0x4a, 0x0b, 0x83, 0xb9, + 0xfc, 0x18, 0x55, 0x72, 0x02, 0x26, 0x93, 0xd8, 0xd2, 0x42, 0x24, 0x6c, + 0xa6, 0x8b, 0x6b, 0x31, 0x16, 0x8b, 0xee, 0xc7, 0x11, 0xfa, 0x23, 0x63, + 0xfe, 0x70, 0x2a, 0xfb, +}; +static const struct drbg_kat_pr_true kat3664_t = { + 3, kat3664_entropyin, kat3664_nonce, kat3664_persstr, + kat3664_entropyinpr1, kat3664_addinpr1, kat3664_entropyinpr2, + kat3664_addinpr2, kat3664_retbits +}; +static const struct drbg_kat kat3664 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3664_t +}; + +static const unsigned char kat3665_entropyin[] = { + 0x68, 0x2a, 0x58, 0xab, 0x59, 0x9b, 0x95, 0x0f, 0x11, 0x54, 0xde, 0xcc, + 0x79, 0x88, 0xc4, 0x74, 0x1d, 0x10, 0x90, 0x6f, 0x1d, 0x48, 0x77, 0x15, + 0xd2, 0xa7, 0xba, 0x76, 0x6e, 0x10, 0x67, 0x56, +}; +static const unsigned char kat3665_nonce[] = {0}; +static const unsigned char kat3665_persstr[] = {0}; +static const unsigned char kat3665_entropyinpr1[] = { + 0xd9, 0xc8, 0x05, 0xbd, 0x1a, 0xb8, 0x62, 0xda, 0x95, 0x75, 0x99, 0x91, + 0xab, 0x86, 0xfe, 0x68, 0x38, 0x5b, 0x6c, 0x52, 0x3f, 0xba, 0xc0, 0x8b, + 0x97, 0x9e, 0x34, 0x36, 0xca, 0x93, 0x86, 0x05, +}; +static const unsigned char kat3665_addinpr1[] = {0}; +static const unsigned char kat3665_entropyinpr2[] = { + 0x33, 0x6d, 0x8e, 0xc5, 0x96, 0x5b, 0x6f, 0x69, 0x92, 0xad, 0xfc, 0x31, + 0x47, 0x71, 0x3f, 0xae, 0x10, 0xa9, 0x76, 0x6a, 0x21, 0x50, 0x80, 0x91, + 0xf3, 0xe1, 0xb3, 0x06, 0xb3, 0x0b, 0xc5, 0x9f, +}; +static const unsigned char kat3665_addinpr2[] = {0}; +static const unsigned char kat3665_retbits[] = { + 0x92, 0x74, 0x6b, 0x57, 0x9e, 0x54, 0x52, 0xae, 0x22, 0x64, 0xd9, 0x07, + 0xf8, 0x00, 0x86, 0x5a, 0xfa, 0x59, 0x14, 0x18, 0x41, 0x6f, 0xe5, 0x6d, + 0x71, 0x9a, 0xf9, 0xaa, 0x0a, 0x39, 0x6b, 0x99, 0x60, 0x85, 0x09, 0xa9, + 0x7c, 0xbb, 0xa6, 0xa1, 0x30, 0x97, 0xee, 0x55, 0x7d, 0x25, 0x11, 0x06, + 0x34, 0x72, 0xbf, 0x2a, 0xbc, 0xa0, 0x86, 0x31, 0x01, 0x05, 0x2b, 0xeb, + 0xf9, 0xd7, 0x77, 0x00, +}; +static const struct drbg_kat_pr_true kat3665_t = { + 4, kat3665_entropyin, kat3665_nonce, kat3665_persstr, + kat3665_entropyinpr1, kat3665_addinpr1, kat3665_entropyinpr2, + kat3665_addinpr2, kat3665_retbits +}; +static const struct drbg_kat kat3665 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3665_t +}; + +static const unsigned char kat3666_entropyin[] = { + 0x97, 0xad, 0xca, 0x81, 0xc0, 0x45, 0xfa, 0x02, 0xe3, 0x0d, 0x4a, 0x0d, + 0x72, 0x62, 0x44, 0x85, 0x28, 0x8d, 0x0a, 0xd9, 0x6e, 0x06, 0x6b, 0x13, + 0xe8, 0x7a, 0xf4, 0x81, 0x43, 0xf9, 0x68, 0x6c, +}; +static const unsigned char kat3666_nonce[] = {0}; +static const unsigned char kat3666_persstr[] = {0}; +static const unsigned char kat3666_entropyinpr1[] = { + 0x09, 0xeb, 0x90, 0xd3, 0x3a, 0xff, 0xab, 0xa9, 0xc6, 0x4d, 0xeb, 0xfa, + 0xd8, 0xb0, 0x7a, 0x62, 0x1e, 0x2c, 0xa7, 0xb7, 0xa0, 0xb7, 0x0d, 0x0f, + 0xf1, 0xe2, 0x08, 0x1b, 0x58, 0x23, 0x13, 0x93, +}; +static const unsigned char kat3666_addinpr1[] = {0}; +static const unsigned char kat3666_entropyinpr2[] = { + 0xdd, 0x7b, 0xaa, 0x33, 0x95, 0xcd, 0xe9, 0xe8, 0x57, 0xd9, 0xe6, 0x91, + 0x55, 0xdc, 0x95, 0x8a, 0x04, 0x9b, 0x19, 0x2b, 0x83, 0x95, 0xf2, 0xab, + 0xf1, 0x3f, 0xc4, 0x6b, 0xbe, 0x99, 0xd8, 0x83, +}; +static const unsigned char kat3666_addinpr2[] = {0}; +static const unsigned char kat3666_retbits[] = { + 0x1c, 0xa6, 0xd2, 0x6c, 0xb3, 0x93, 0xec, 0xdf, 0x92, 0x17, 0x47, 0x9c, + 0x29, 0x52, 0xd4, 0x13, 0xa8, 0x4c, 0x2d, 0xca, 0xbb, 0x19, 0x0f, 0x4f, + 0xb4, 0x3a, 0xa4, 0x1c, 0x61, 0xdd, 0xe7, 0xa6, 0xe8, 0xea, 0x07, 0xc4, + 0xbb, 0xc0, 0x78, 0x32, 0x2f, 0x3f, 0xd8, 0x2c, 0xe3, 0x7e, 0xdf, 0x97, + 0xf6, 0xcb, 0x35, 0x82, 0x50, 0x1a, 0xe9, 0x58, 0x89, 0x49, 0xef, 0xcd, + 0x29, 0xe2, 0x60, 0x3c, +}; +static const struct drbg_kat_pr_true kat3666_t = { + 5, kat3666_entropyin, kat3666_nonce, kat3666_persstr, + kat3666_entropyinpr1, kat3666_addinpr1, kat3666_entropyinpr2, + kat3666_addinpr2, kat3666_retbits +}; +static const struct drbg_kat kat3666 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3666_t +}; + +static const unsigned char kat3667_entropyin[] = { + 0xcf, 0xca, 0x50, 0xe7, 0xdd, 0x06, 0xd4, 0x38, 0xae, 0x9c, 0x14, 0x27, + 0x80, 0xf7, 0xac, 0x16, 0x4b, 0x49, 0x89, 0x9e, 0x67, 0x3f, 0x52, 0x39, + 0x10, 0x17, 0xd9, 0x4f, 0x71, 0x3f, 0xaf, 0x74, +}; +static const unsigned char kat3667_nonce[] = {0}; +static const unsigned char kat3667_persstr[] = {0}; +static const unsigned char kat3667_entropyinpr1[] = { + 0x0f, 0x91, 0x61, 0xcc, 0x14, 0x75, 0x93, 0x85, 0x96, 0x74, 0x32, 0xca, + 0x96, 0xc1, 0x9b, 0xde, 0xaa, 0x2f, 0xa4, 0x40, 0x50, 0x1f, 0xbf, 0xf1, + 0xcf, 0xa2, 0x2b, 0xbb, 0xd9, 0xf5, 0xb8, 0xe9, +}; +static const unsigned char kat3667_addinpr1[] = {0}; +static const unsigned char kat3667_entropyinpr2[] = { + 0x11, 0xd6, 0x4b, 0x5d, 0xe8, 0x47, 0x69, 0x13, 0xcc, 0xaa, 0x11, 0x45, + 0x8c, 0x32, 0x25, 0x11, 0x67, 0xc7, 0xe2, 0x88, 0x4e, 0x6f, 0x7d, 0x65, + 0x20, 0xb5, 0xae, 0xac, 0xe8, 0x4e, 0x47, 0xd7, +}; +static const unsigned char kat3667_addinpr2[] = {0}; +static const unsigned char kat3667_retbits[] = { + 0x0c, 0xb6, 0x92, 0x6b, 0x15, 0x24, 0x6c, 0xd2, 0x11, 0x5c, 0x24, 0xa0, + 0xea, 0x4f, 0xd3, 0x72, 0x90, 0xff, 0x3a, 0x67, 0x74, 0x25, 0xb6, 0x3e, + 0x1f, 0xdd, 0xb6, 0xad, 0x05, 0x75, 0xcf, 0x98, 0x7b, 0xd8, 0xc0, 0xd4, + 0xf0, 0xac, 0xfc, 0x49, 0x62, 0xe1, 0x1f, 0x7e, 0xec, 0xa5, 0x14, 0xd0, + 0x13, 0x14, 0x6d, 0x4e, 0x1c, 0xe0, 0x44, 0x0a, 0x27, 0x61, 0x34, 0xbc, + 0xbb, 0x7a, 0x81, 0x20, +}; +static const struct drbg_kat_pr_true kat3667_t = { + 6, kat3667_entropyin, kat3667_nonce, kat3667_persstr, + kat3667_entropyinpr1, kat3667_addinpr1, kat3667_entropyinpr2, + kat3667_addinpr2, kat3667_retbits +}; +static const struct drbg_kat kat3667 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3667_t +}; + +static const unsigned char kat3668_entropyin[] = { + 0xd9, 0x96, 0x6e, 0xb9, 0x1c, 0xb7, 0x4d, 0xbc, 0x27, 0xfb, 0x39, 0x35, + 0x1d, 0x83, 0x43, 0xcd, 0x77, 0xe3, 0x6c, 0xae, 0xa6, 0xb5, 0xf4, 0xb2, + 0xbb, 0x99, 0x45, 0xeb, 0x2d, 0xc8, 0x91, 0xf8, +}; +static const unsigned char kat3668_nonce[] = {0}; +static const unsigned char kat3668_persstr[] = {0}; +static const unsigned char kat3668_entropyinpr1[] = { + 0xb9, 0x6f, 0xdc, 0x93, 0xf8, 0x20, 0x13, 0x33, 0xff, 0x13, 0x81, 0x1a, + 0xbd, 0x03, 0xf9, 0x85, 0x46, 0xc8, 0x83, 0xfd, 0x82, 0x21, 0x6a, 0xdc, + 0xbf, 0xae, 0x28, 0xe7, 0x6d, 0x93, 0x1c, 0x77, +}; +static const unsigned char kat3668_addinpr1[] = {0}; +static const unsigned char kat3668_entropyinpr2[] = { + 0x4b, 0x87, 0x1a, 0x4a, 0xa5, 0xea, 0x41, 0x8a, 0x15, 0x5c, 0x23, 0x53, + 0xd2, 0x7e, 0x37, 0x08, 0x1b, 0xbf, 0x49, 0x43, 0xd4, 0x77, 0x27, 0x38, + 0xda, 0xa4, 0xc0, 0x74, 0xf9, 0x2d, 0x2a, 0x98, +}; +static const unsigned char kat3668_addinpr2[] = {0}; +static const unsigned char kat3668_retbits[] = { + 0xe7, 0xb9, 0x7d, 0xc7, 0x7f, 0x23, 0x0a, 0x0a, 0x7a, 0x1d, 0x0f, 0x7f, + 0x6a, 0xcb, 0x5a, 0x91, 0xff, 0x53, 0x9d, 0xf2, 0x6e, 0x83, 0x3a, 0x29, + 0xe1, 0xe5, 0x0c, 0x09, 0x60, 0xbb, 0xb5, 0xae, 0xdc, 0x12, 0xd6, 0xfb, + 0x46, 0x02, 0x7c, 0xf9, 0x2b, 0x13, 0x0a, 0xd3, 0xe6, 0xeb, 0x93, 0x9c, + 0xb0, 0x1a, 0x64, 0xb5, 0xae, 0x6d, 0xfb, 0x9a, 0x7b, 0x9e, 0x18, 0x78, + 0xce, 0xf2, 0xdc, 0x56, +}; +static const struct drbg_kat_pr_true kat3668_t = { + 7, kat3668_entropyin, kat3668_nonce, kat3668_persstr, + kat3668_entropyinpr1, kat3668_addinpr1, kat3668_entropyinpr2, + kat3668_addinpr2, kat3668_retbits +}; +static const struct drbg_kat kat3668 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3668_t +}; + +static const unsigned char kat3669_entropyin[] = { + 0x9a, 0x47, 0x04, 0x92, 0x95, 0x36, 0x13, 0x32, 0x1d, 0x55, 0x10, 0x93, + 0x87, 0xb7, 0x8a, 0x5d, 0x0f, 0xd1, 0xe5, 0x84, 0x63, 0x2d, 0xaa, 0x3c, + 0x60, 0xe2, 0x0a, 0x33, 0x4a, 0x3d, 0xb7, 0xa7, +}; +static const unsigned char kat3669_nonce[] = {0}; +static const unsigned char kat3669_persstr[] = {0}; +static const unsigned char kat3669_entropyinpr1[] = { + 0x50, 0x30, 0xc4, 0x9f, 0xcb, 0x18, 0x0c, 0x26, 0x4c, 0xab, 0x2e, 0x15, + 0x9c, 0x7b, 0x7d, 0x0a, 0x31, 0xbe, 0x6e, 0x36, 0xf1, 0x4c, 0x74, 0x33, + 0x15, 0xd8, 0x9e, 0xae, 0x5a, 0xb0, 0x05, 0xf9, +}; +static const unsigned char kat3669_addinpr1[] = {0}; +static const unsigned char kat3669_entropyinpr2[] = { + 0xba, 0xac, 0x16, 0xb0, 0xf7, 0x41, 0x1d, 0x0e, 0x7f, 0xcc, 0x25, 0x2e, + 0x36, 0x02, 0x2f, 0xfa, 0x74, 0xd2, 0x47, 0x18, 0xe6, 0x93, 0xf3, 0x3e, + 0xb4, 0x4a, 0x45, 0xec, 0x0b, 0xa4, 0xbd, 0xdb, +}; +static const unsigned char kat3669_addinpr2[] = {0}; +static const unsigned char kat3669_retbits[] = { + 0xe9, 0x74, 0xbe, 0xf1, 0x52, 0x1c, 0x1e, 0x64, 0xe8, 0xf4, 0x84, 0x3e, + 0x2f, 0x8f, 0x02, 0x97, 0x34, 0x14, 0x0c, 0xe2, 0x43, 0xbb, 0x7c, 0x06, + 0xd2, 0xad, 0x3a, 0x6e, 0xde, 0xc3, 0x98, 0x6b, 0x8e, 0xe9, 0x69, 0x42, + 0x9e, 0x66, 0x76, 0xb8, 0x6f, 0x42, 0xe8, 0xe3, 0xf9, 0x8d, 0x90, 0xa5, + 0x45, 0x72, 0xc3, 0x5d, 0xa8, 0xf0, 0x28, 0x50, 0xcc, 0x6e, 0x50, 0xa9, + 0x9f, 0x11, 0x3f, 0x79, +}; +static const struct drbg_kat_pr_true kat3669_t = { + 8, kat3669_entropyin, kat3669_nonce, kat3669_persstr, + kat3669_entropyinpr1, kat3669_addinpr1, kat3669_entropyinpr2, + kat3669_addinpr2, kat3669_retbits +}; +static const struct drbg_kat kat3669 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3669_t +}; + +static const unsigned char kat3670_entropyin[] = { + 0x41, 0xc1, 0xb4, 0x30, 0x2f, 0x77, 0x89, 0xe8, 0x51, 0x37, 0x97, 0xdc, + 0x78, 0x86, 0x52, 0xd0, 0xe5, 0x7e, 0xfc, 0x21, 0x64, 0x11, 0xe6, 0x6b, + 0xb1, 0xcb, 0xc3, 0xe5, 0x57, 0x1c, 0xcf, 0x15, +}; +static const unsigned char kat3670_nonce[] = {0}; +static const unsigned char kat3670_persstr[] = {0}; +static const unsigned char kat3670_entropyinpr1[] = { + 0x0a, 0x82, 0x79, 0xe0, 0x6c, 0xd8, 0xa5, 0x5d, 0x85, 0x0c, 0x10, 0xea, + 0x98, 0x65, 0x3c, 0x20, 0x8b, 0xc0, 0x7c, 0x55, 0x0b, 0x24, 0xa1, 0x1e, + 0xda, 0xfd, 0xe3, 0x4e, 0x1f, 0xc1, 0xdd, 0xa6, +}; +static const unsigned char kat3670_addinpr1[] = {0}; +static const unsigned char kat3670_entropyinpr2[] = { + 0x46, 0x61, 0x82, 0x5f, 0x15, 0x2d, 0x96, 0x78, 0xec, 0x5b, 0x82, 0x10, + 0xb9, 0xdf, 0x48, 0x2a, 0x18, 0xa9, 0x0d, 0x70, 0xb7, 0x74, 0x8b, 0x1e, + 0x21, 0x21, 0xfa, 0xcc, 0x2d, 0x66, 0xcb, 0x7f, +}; +static const unsigned char kat3670_addinpr2[] = {0}; +static const unsigned char kat3670_retbits[] = { + 0x62, 0x9a, 0x07, 0x5a, 0x23, 0x0b, 0x58, 0xbc, 0x32, 0x6a, 0x58, 0x9c, + 0xa4, 0x2a, 0xe6, 0x1b, 0x3a, 0x5e, 0xaa, 0x7a, 0x46, 0xee, 0x95, 0x35, + 0xb1, 0xbb, 0xc8, 0xb7, 0xb6, 0xab, 0xfa, 0xe1, 0x17, 0x47, 0x0b, 0xf1, + 0x99, 0x1a, 0xc7, 0x1e, 0xc6, 0xff, 0x3e, 0x02, 0xf5, 0xb8, 0xfb, 0x6b, + 0xa7, 0x44, 0x90, 0x5a, 0xca, 0xd6, 0x16, 0x5c, 0xfa, 0xcc, 0xa0, 0x47, + 0xd6, 0x4e, 0x16, 0xc8, +}; +static const struct drbg_kat_pr_true kat3670_t = { + 9, kat3670_entropyin, kat3670_nonce, kat3670_persstr, + kat3670_entropyinpr1, kat3670_addinpr1, kat3670_entropyinpr2, + kat3670_addinpr2, kat3670_retbits +}; +static const struct drbg_kat kat3670 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3670_t +}; + +static const unsigned char kat3671_entropyin[] = { + 0x1e, 0x7d, 0x27, 0xc4, 0x7a, 0x96, 0x46, 0xd6, 0xa2, 0xe7, 0xcd, 0x3e, + 0x7b, 0x44, 0x8f, 0x9b, 0x0b, 0x27, 0x34, 0xe7, 0xa3, 0x79, 0x7b, 0x08, + 0x69, 0x6a, 0x7a, 0xaa, 0x0d, 0x9b, 0xa1, 0xef, +}; +static const unsigned char kat3671_nonce[] = {0}; +static const unsigned char kat3671_persstr[] = {0}; +static const unsigned char kat3671_entropyinpr1[] = { + 0xf7, 0xc7, 0x08, 0x35, 0xd3, 0xbf, 0xb9, 0x81, 0x55, 0x59, 0x4a, 0xd1, + 0x79, 0xfb, 0x8e, 0x86, 0x34, 0x0a, 0xe8, 0x79, 0xf5, 0x6d, 0x4d, 0x8b, + 0x2b, 0x31, 0xc3, 0xc8, 0x5b, 0x2f, 0x4e, 0x60, +}; +static const unsigned char kat3671_addinpr1[] = {0}; +static const unsigned char kat3671_entropyinpr2[] = { + 0x6b, 0x1a, 0x47, 0xf0, 0x91, 0x37, 0xb7, 0x9d, 0xac, 0xca, 0xe0, 0xbc, + 0x33, 0x5a, 0xf9, 0x39, 0xd0, 0x0b, 0xcf, 0xb6, 0x81, 0x4a, 0x87, 0x19, + 0xfa, 0x06, 0x98, 0xf9, 0x4b, 0x94, 0x5b, 0xfb, +}; +static const unsigned char kat3671_addinpr2[] = {0}; +static const unsigned char kat3671_retbits[] = { + 0xff, 0x06, 0x08, 0x4d, 0x0a, 0xc2, 0xf7, 0xd2, 0x83, 0x64, 0xbc, 0x75, + 0xb6, 0x8c, 0xf3, 0xdb, 0x4b, 0xd9, 0xcf, 0xfb, 0x2a, 0x40, 0xbb, 0x77, + 0xc9, 0xf0, 0x27, 0xd9, 0xe9, 0xc1, 0x44, 0x2a, 0x34, 0xe0, 0xfb, 0x44, + 0x2e, 0x58, 0x8d, 0xfc, 0xe0, 0x09, 0x66, 0x82, 0x2f, 0xff, 0xc1, 0x43, + 0xae, 0xf5, 0x5e, 0x07, 0x23, 0xe9, 0xd0, 0x1b, 0x1e, 0xb8, 0xa6, 0xfe, + 0x32, 0x48, 0xda, 0x22, +}; +static const struct drbg_kat_pr_true kat3671_t = { + 10, kat3671_entropyin, kat3671_nonce, kat3671_persstr, + kat3671_entropyinpr1, kat3671_addinpr1, kat3671_entropyinpr2, + kat3671_addinpr2, kat3671_retbits +}; +static const struct drbg_kat kat3671 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3671_t +}; + +static const unsigned char kat3672_entropyin[] = { + 0xa9, 0x68, 0xf3, 0x79, 0xe2, 0x10, 0x34, 0x79, 0x86, 0x6b, 0xc5, 0x4c, + 0x37, 0x14, 0x63, 0x7d, 0xf2, 0x16, 0xf3, 0x5a, 0x63, 0xf2, 0x87, 0xbe, + 0x4f, 0x32, 0x26, 0x8f, 0x83, 0x94, 0x21, 0x56, +}; +static const unsigned char kat3672_nonce[] = {0}; +static const unsigned char kat3672_persstr[] = {0}; +static const unsigned char kat3672_entropyinpr1[] = { + 0x08, 0x40, 0x78, 0xf8, 0xd2, 0xac, 0xfa, 0xac, 0x34, 0x03, 0x5f, 0x6d, + 0x3b, 0x3e, 0xaa, 0x44, 0xd4, 0xad, 0x6d, 0x90, 0x79, 0xf7, 0xe2, 0xe4, + 0x2f, 0x7c, 0x99, 0x78, 0xe5, 0xda, 0x77, 0x50, +}; +static const unsigned char kat3672_addinpr1[] = {0}; +static const unsigned char kat3672_entropyinpr2[] = { + 0xe3, 0x02, 0xb2, 0xbf, 0x67, 0x10, 0xef, 0xce, 0x24, 0xf6, 0xde, 0x49, + 0x49, 0x9d, 0xec, 0xf7, 0x0d, 0x17, 0xd6, 0xd4, 0x6d, 0xb0, 0x73, 0xce, + 0x9d, 0x2d, 0x8b, 0xb2, 0x2f, 0x67, 0x10, 0x39, +}; +static const unsigned char kat3672_addinpr2[] = {0}; +static const unsigned char kat3672_retbits[] = { + 0x6f, 0x49, 0x6b, 0x51, 0x6b, 0xde, 0xde, 0x77, 0x38, 0xe1, 0x61, 0xa2, + 0xc9, 0xb6, 0x50, 0x05, 0x20, 0x95, 0xb7, 0x34, 0x04, 0xc8, 0x45, 0xec, + 0x95, 0x6f, 0xa6, 0x3d, 0xd1, 0x3d, 0xba, 0x90, 0x36, 0xee, 0x95, 0x80, + 0x45, 0x3b, 0x2d, 0x27, 0x83, 0xcf, 0x05, 0x0a, 0xb8, 0xcb, 0xc4, 0x32, + 0x94, 0x8d, 0x67, 0xd7, 0x17, 0x94, 0xe6, 0x12, 0x80, 0x11, 0xbf, 0xde, + 0x58, 0xf3, 0xe8, 0xdd, +}; +static const struct drbg_kat_pr_true kat3672_t = { + 11, kat3672_entropyin, kat3672_nonce, kat3672_persstr, + kat3672_entropyinpr1, kat3672_addinpr1, kat3672_entropyinpr2, + kat3672_addinpr2, kat3672_retbits +}; +static const struct drbg_kat kat3672 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3672_t +}; + +static const unsigned char kat3673_entropyin[] = { + 0x5c, 0x58, 0xba, 0xa6, 0x6d, 0x39, 0x2d, 0x19, 0xf0, 0x2d, 0x95, 0x34, + 0xf6, 0x9c, 0x3e, 0x40, 0x82, 0x67, 0xeb, 0xe2, 0x74, 0x64, 0x67, 0xfd, + 0xd9, 0x21, 0xae, 0xc7, 0x9d, 0x57, 0x80, 0x11, +}; +static const unsigned char kat3673_nonce[] = {0}; +static const unsigned char kat3673_persstr[] = {0}; +static const unsigned char kat3673_entropyinpr1[] = { + 0x2e, 0xc8, 0x2a, 0xb4, 0xef, 0x05, 0xa9, 0xc8, 0xc6, 0x38, 0x60, 0x94, + 0xd8, 0xb6, 0x4f, 0xfc, 0x54, 0xcd, 0xd9, 0x5f, 0x82, 0xdb, 0xd1, 0x9d, + 0xbf, 0x48, 0x6f, 0x0e, 0x13, 0x79, 0xe2, 0xd1, +}; +static const unsigned char kat3673_addinpr1[] = {0}; +static const unsigned char kat3673_entropyinpr2[] = { + 0xdc, 0x83, 0xe9, 0xad, 0xcf, 0xaf, 0xa3, 0x6c, 0xf5, 0x77, 0xe1, 0xd7, + 0x6b, 0x7a, 0xbb, 0x2e, 0xd1, 0x07, 0x3b, 0x71, 0x4e, 0x57, 0x3c, 0x34, + 0x2e, 0x06, 0x59, 0x8d, 0xe5, 0xc0, 0x40, 0xbd, +}; +static const unsigned char kat3673_addinpr2[] = {0}; +static const unsigned char kat3673_retbits[] = { + 0xb5, 0xa4, 0x9e, 0x83, 0xb6, 0xbc, 0xaf, 0xe0, 0xee, 0x09, 0x90, 0xa5, + 0xe3, 0x50, 0x6f, 0x5d, 0xdb, 0xa4, 0xf2, 0x10, 0x94, 0xcc, 0x20, 0x1e, + 0x79, 0x5b, 0xd5, 0xab, 0xb7, 0x6e, 0x03, 0x55, 0x7f, 0x8c, 0xd3, 0x7d, + 0x8c, 0x91, 0xc8, 0xb3, 0x75, 0x58, 0x00, 0xd8, 0x99, 0xe0, 0x5a, 0xe6, + 0xdb, 0x98, 0x05, 0x16, 0xac, 0xc7, 0xd5, 0x84, 0x70, 0x01, 0xce, 0x62, + 0xdd, 0xe7, 0x88, 0xf6, +}; +static const struct drbg_kat_pr_true kat3673_t = { + 12, kat3673_entropyin, kat3673_nonce, kat3673_persstr, + kat3673_entropyinpr1, kat3673_addinpr1, kat3673_entropyinpr2, + kat3673_addinpr2, kat3673_retbits +}; +static const struct drbg_kat kat3673 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3673_t +}; + +static const unsigned char kat3674_entropyin[] = { + 0x28, 0xae, 0x05, 0x64, 0xe7, 0x43, 0xe9, 0x10, 0x5a, 0x56, 0x90, 0xb1, + 0x7e, 0xeb, 0xcb, 0xc8, 0x4f, 0xe6, 0x6e, 0xe9, 0x68, 0x2c, 0x0a, 0x80, + 0xac, 0xe4, 0xb2, 0x9e, 0x40, 0xc8, 0x2c, 0xb9, +}; +static const unsigned char kat3674_nonce[] = {0}; +static const unsigned char kat3674_persstr[] = {0}; +static const unsigned char kat3674_entropyinpr1[] = { + 0xfd, 0xce, 0xf7, 0x9a, 0x1a, 0x47, 0x83, 0xb9, 0xe6, 0xbc, 0x58, 0x40, + 0xc7, 0x41, 0x49, 0x0b, 0xfe, 0x78, 0x4e, 0xe1, 0xf2, 0xc6, 0xfa, 0x12, + 0x47, 0xbd, 0x6f, 0xbf, 0x65, 0x18, 0xe6, 0xc4, +}; +static const unsigned char kat3674_addinpr1[] = {0}; +static const unsigned char kat3674_entropyinpr2[] = { + 0x5f, 0x25, 0xe9, 0x91, 0xdf, 0x4c, 0xf3, 0xe4, 0xa1, 0xc3, 0x89, 0x19, + 0x6c, 0x62, 0x47, 0xe9, 0x73, 0xca, 0xe0, 0x4f, 0x65, 0xbd, 0x5b, 0x03, + 0xa4, 0x19, 0x5a, 0x5c, 0x91, 0xc3, 0x06, 0xc8, +}; +static const unsigned char kat3674_addinpr2[] = {0}; +static const unsigned char kat3674_retbits[] = { + 0x35, 0xa7, 0xc9, 0x1f, 0xc9, 0x61, 0x37, 0x46, 0x39, 0xd0, 0x29, 0xef, + 0xef, 0x82, 0xc0, 0xde, 0x6a, 0xb3, 0xfc, 0x02, 0xc2, 0xa6, 0xb9, 0xcd, + 0x19, 0x82, 0x03, 0xe2, 0xd7, 0x81, 0x6e, 0xf9, 0x58, 0x4d, 0xe9, 0xb1, + 0xfa, 0x58, 0x1b, 0x7f, 0xb2, 0xa8, 0x6a, 0xa2, 0x38, 0xbf, 0x79, 0xd3, + 0x16, 0x13, 0xa9, 0x8d, 0x17, 0x60, 0x7a, 0x9a, 0x8e, 0x07, 0xf4, 0x63, + 0x1b, 0xba, 0x28, 0x6a, +}; +static const struct drbg_kat_pr_true kat3674_t = { + 13, kat3674_entropyin, kat3674_nonce, kat3674_persstr, + kat3674_entropyinpr1, kat3674_addinpr1, kat3674_entropyinpr2, + kat3674_addinpr2, kat3674_retbits +}; +static const struct drbg_kat kat3674 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3674_t +}; + +static const unsigned char kat3675_entropyin[] = { + 0x75, 0xfb, 0x31, 0xa8, 0xff, 0x97, 0x44, 0x86, 0xf2, 0x51, 0xce, 0x94, + 0xdf, 0x35, 0x47, 0xbb, 0x83, 0x1a, 0x95, 0xc2, 0x6b, 0x4e, 0xfb, 0xd8, + 0x16, 0x91, 0x2f, 0xcc, 0x76, 0x87, 0x77, 0xae, +}; +static const unsigned char kat3675_nonce[] = {0}; +static const unsigned char kat3675_persstr[] = {0}; +static const unsigned char kat3675_entropyinpr1[] = { + 0x80, 0x90, 0x39, 0x13, 0x80, 0xed, 0x44, 0xd3, 0x42, 0x3f, 0xdf, 0x8d, + 0x47, 0x89, 0x1a, 0x20, 0x27, 0x11, 0x0d, 0xa4, 0xc2, 0x33, 0x4e, 0xb9, + 0x1f, 0xe8, 0x61, 0x14, 0x02, 0x17, 0x63, 0x26, +}; +static const unsigned char kat3675_addinpr1[] = {0}; +static const unsigned char kat3675_entropyinpr2[] = { + 0x82, 0x88, 0xa1, 0x90, 0xae, 0x91, 0x18, 0xc5, 0x7b, 0x03, 0x38, 0x08, + 0xbb, 0x3f, 0x89, 0x5d, 0x4d, 0xfb, 0xf2, 0xdc, 0x7c, 0xe9, 0xb9, 0x01, + 0x6e, 0x33, 0x95, 0x48, 0xfe, 0xe1, 0x0a, 0x6f, +}; +static const unsigned char kat3675_addinpr2[] = {0}; +static const unsigned char kat3675_retbits[] = { + 0x73, 0xd1, 0x22, 0xb8, 0x85, 0x4f, 0x26, 0x10, 0xa8, 0x33, 0xa7, 0x8a, + 0xf2, 0x8b, 0xaf, 0x4a, 0x2d, 0xae, 0x48, 0xdd, 0x1e, 0xd6, 0x85, 0xe4, + 0xf9, 0x89, 0x47, 0x09, 0x2e, 0x3a, 0xaa, 0x56, 0xa6, 0x5f, 0xdc, 0x9a, + 0xcd, 0x8a, 0x87, 0x5c, 0x16, 0xb2, 0xa9, 0x1c, 0x75, 0x7f, 0xf7, 0xcd, + 0x6e, 0xe7, 0x77, 0x29, 0x2f, 0xbc, 0xb0, 0x22, 0x07, 0x95, 0xc9, 0x51, + 0x9c, 0xf4, 0x40, 0x52, +}; +static const struct drbg_kat_pr_true kat3675_t = { + 14, kat3675_entropyin, kat3675_nonce, kat3675_persstr, + kat3675_entropyinpr1, kat3675_addinpr1, kat3675_entropyinpr2, + kat3675_addinpr2, kat3675_retbits +}; +static const struct drbg_kat kat3675 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3675_t +}; + +static const unsigned char kat3676_entropyin[] = { + 0x2d, 0xd0, 0xfc, 0xc7, 0x16, 0x2b, 0x3e, 0x79, 0xcc, 0xf4, 0x8b, 0xca, + 0x28, 0xb7, 0x67, 0x60, 0x2f, 0x0e, 0x2f, 0xd3, 0xb5, 0xd3, 0xec, 0x2b, + 0xf9, 0x30, 0x66, 0xbc, 0xa0, 0xb4, 0x03, 0x1a, +}; +static const unsigned char kat3676_nonce[] = {0}; +static const unsigned char kat3676_persstr[] = {0}; +static const unsigned char kat3676_entropyinpr1[] = { + 0x19, 0x15, 0x75, 0x6d, 0xdd, 0xdd, 0x51, 0xab, 0x6b, 0xde, 0x8f, 0x0f, + 0x9e, 0xee, 0xa4, 0x99, 0x8e, 0x9b, 0x38, 0x44, 0x2b, 0x0e, 0x49, 0x4e, + 0x63, 0x27, 0x36, 0x73, 0xa1, 0x4a, 0xd6, 0x71, +}; +static const unsigned char kat3676_addinpr1[] = { + 0x3a, 0xc3, 0xda, 0xea, 0xd1, 0x3c, 0x11, 0x0c, 0xa3, 0xeb, 0x44, 0x99, + 0xd8, 0x38, 0xb9, 0x03, 0x64, 0xd9, 0x18, 0x35, 0x62, 0xc6, 0xad, 0x39, + 0xfa, 0xf5, 0x20, 0x4e, 0xdd, 0x12, 0x55, 0x26, +}; +static const unsigned char kat3676_entropyinpr2[] = { + 0x99, 0xf1, 0x84, 0x92, 0xb6, 0xf3, 0x02, 0x90, 0x55, 0x23, 0x16, 0x10, + 0x63, 0x90, 0x5f, 0x78, 0xe5, 0x8a, 0xb8, 0x06, 0x4c, 0xa0, 0x2a, 0x4f, + 0x33, 0x61, 0xa3, 0x37, 0x4a, 0xd6, 0x82, 0xdf, +}; +static const unsigned char kat3676_addinpr2[] = { + 0x6a, 0x14, 0x4c, 0xd9, 0x3e, 0x69, 0x56, 0x53, 0x3c, 0x8b, 0xe6, 0x04, + 0x8a, 0x44, 0x2b, 0x26, 0x8d, 0x88, 0x06, 0xa1, 0x12, 0xbc, 0xd8, 0x80, + 0xc9, 0x24, 0x23, 0x70, 0x05, 0x5c, 0x5e, 0x3f, +}; +static const unsigned char kat3676_retbits[] = { + 0x0f, 0xb6, 0x6b, 0x92, 0x99, 0xcc, 0xe5, 0x46, 0x10, 0x63, 0xcc, 0xf0, + 0xae, 0x08, 0x65, 0x5b, 0x0b, 0xc3, 0xf8, 0x53, 0x81, 0x3d, 0x04, 0xb0, + 0x8c, 0xc7, 0xfe, 0x6d, 0x76, 0xbf, 0xa2, 0xe7, 0x54, 0x9c, 0x45, 0x25, + 0xbf, 0x41, 0xff, 0xfa, 0xd6, 0x92, 0x7f, 0x3e, 0xa7, 0x59, 0xb0, 0xe0, + 0xcf, 0x0b, 0xb1, 0x33, 0x04, 0xc6, 0xfc, 0xb4, 0x28, 0xa3, 0xf2, 0xdb, + 0x3c, 0xe7, 0x5c, 0x2b, +}; +static const struct drbg_kat_pr_true kat3676_t = { + 0, kat3676_entropyin, kat3676_nonce, kat3676_persstr, + kat3676_entropyinpr1, kat3676_addinpr1, kat3676_entropyinpr2, + kat3676_addinpr2, kat3676_retbits +}; +static const struct drbg_kat kat3676 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3676_t +}; + +static const unsigned char kat3677_entropyin[] = { + 0x93, 0x62, 0xdc, 0x76, 0x2d, 0xeb, 0x45, 0xc0, 0x55, 0xc0, 0xe9, 0x21, + 0xf2, 0xaa, 0x78, 0xf8, 0x4c, 0x25, 0xd3, 0xe8, 0x53, 0x63, 0xf5, 0x45, + 0xb3, 0x60, 0xc7, 0x47, 0xfa, 0x49, 0xe0, 0xd9, +}; +static const unsigned char kat3677_nonce[] = {0}; +static const unsigned char kat3677_persstr[] = {0}; +static const unsigned char kat3677_entropyinpr1[] = { + 0xea, 0x75, 0x06, 0x27, 0x67, 0x58, 0x38, 0x80, 0xba, 0xa3, 0x1e, 0x1b, + 0xb8, 0xd1, 0x44, 0x5a, 0x54, 0x48, 0xb7, 0xab, 0x54, 0x39, 0x91, 0x43, + 0xcd, 0xfe, 0x70, 0xd3, 0x24, 0xca, 0x06, 0x69, +}; +static const unsigned char kat3677_addinpr1[] = { + 0x01, 0x53, 0xf8, 0x0a, 0xd5, 0xd4, 0x76, 0xe9, 0xa5, 0x73, 0x42, 0xf6, + 0x3a, 0xb7, 0xe4, 0xa6, 0x50, 0xce, 0x0b, 0x89, 0xc9, 0x42, 0x1d, 0xbc, + 0xe2, 0x7d, 0x5c, 0x87, 0x25, 0x2d, 0xd0, 0xa9, +}; +static const unsigned char kat3677_entropyinpr2[] = { + 0xc2, 0x67, 0xca, 0x3a, 0x1d, 0x0f, 0x08, 0x49, 0x80, 0x66, 0x07, 0x74, + 0xa4, 0x73, 0x2a, 0x8b, 0x7e, 0xd3, 0x9e, 0x9f, 0xee, 0x74, 0x82, 0x8d, + 0x88, 0x79, 0x25, 0xb0, 0x0a, 0x48, 0xb1, 0xda, +}; +static const unsigned char kat3677_addinpr2[] = { + 0x97, 0x33, 0x02, 0xeb, 0x52, 0xb4, 0x74, 0x0a, 0xc1, 0xa0, 0x96, 0xe4, + 0xc1, 0x7c, 0x1c, 0x2b, 0xa7, 0x05, 0xe8, 0xf2, 0xdd, 0x94, 0x13, 0x0d, + 0x29, 0x02, 0x02, 0x4d, 0x14, 0xb8, 0x8e, 0x64, +}; +static const unsigned char kat3677_retbits[] = { + 0xc3, 0x05, 0x9e, 0x25, 0x93, 0xf5, 0x83, 0x98, 0xa7, 0x08, 0x0e, 0xcc, + 0x25, 0xb0, 0x83, 0xa8, 0x18, 0xfe, 0xd5, 0x80, 0x2b, 0x10, 0xaf, 0xbe, + 0x6d, 0xe4, 0x49, 0x2b, 0x21, 0x99, 0x0a, 0x69, 0xac, 0xff, 0x74, 0xf0, + 0x41, 0x9a, 0x64, 0x37, 0x19, 0x6a, 0xfd, 0x02, 0xef, 0x27, 0x0c, 0x48, + 0x76, 0x64, 0xd3, 0xed, 0x1b, 0xcc, 0x39, 0x60, 0x45, 0x64, 0xaf, 0x01, + 0x4c, 0xaf, 0x62, 0x34, +}; +static const struct drbg_kat_pr_true kat3677_t = { + 1, kat3677_entropyin, kat3677_nonce, kat3677_persstr, + kat3677_entropyinpr1, kat3677_addinpr1, kat3677_entropyinpr2, + kat3677_addinpr2, kat3677_retbits +}; +static const struct drbg_kat kat3677 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3677_t +}; + +static const unsigned char kat3678_entropyin[] = { + 0x09, 0xaf, 0xd3, 0xec, 0x30, 0x0f, 0x19, 0x90, 0x93, 0x76, 0x84, 0xa3, + 0x15, 0xba, 0x4b, 0xf5, 0x56, 0xad, 0x93, 0xb9, 0x09, 0xd9, 0x01, 0xc9, + 0xfd, 0x12, 0xb0, 0xd1, 0x83, 0x2a, 0x83, 0x08, +}; +static const unsigned char kat3678_nonce[] = {0}; +static const unsigned char kat3678_persstr[] = {0}; +static const unsigned char kat3678_entropyinpr1[] = { + 0x3c, 0x4b, 0xc9, 0x6d, 0x25, 0xb9, 0x27, 0xbf, 0x52, 0x0d, 0x12, 0xec, + 0x1d, 0x19, 0xbd, 0xbf, 0xb5, 0x22, 0xd6, 0x2b, 0x59, 0x16, 0x17, 0x87, + 0x55, 0x9f, 0x3c, 0xa8, 0x9f, 0x1b, 0xa6, 0xe7, +}; +static const unsigned char kat3678_addinpr1[] = { + 0x90, 0xe2, 0x85, 0x63, 0x7a, 0x7b, 0x7a, 0x64, 0x0f, 0xd9, 0xec, 0xed, + 0x97, 0xc6, 0x86, 0xd0, 0x0e, 0x90, 0x08, 0x37, 0x31, 0xe6, 0xd9, 0xe7, + 0xba, 0x3c, 0x5a, 0x81, 0xfa, 0xe1, 0x17, 0x49, +}; +static const unsigned char kat3678_entropyinpr2[] = { + 0xf9, 0x8a, 0xec, 0xf3, 0x30, 0xb5, 0xf2, 0x9d, 0xba, 0x8b, 0xee, 0x1f, + 0xdd, 0x06, 0xd5, 0x06, 0xaf, 0xe9, 0x37, 0xd9, 0x84, 0xb4, 0xd0, 0x3e, + 0x00, 0x96, 0x1a, 0x89, 0x91, 0xba, 0x08, 0x71, +}; +static const unsigned char kat3678_addinpr2[] = { + 0x51, 0xbb, 0x47, 0x11, 0xd2, 0xce, 0x43, 0x0f, 0x9f, 0x13, 0x4d, 0x13, + 0xba, 0x5a, 0xa3, 0x25, 0x84, 0x31, 0xf8, 0x1f, 0x63, 0xc9, 0x96, 0x78, + 0x83, 0x44, 0x59, 0x14, 0x1d, 0xa1, 0xf6, 0x16, +}; +static const unsigned char kat3678_retbits[] = { + 0xa3, 0xcf, 0xff, 0x87, 0xc0, 0x88, 0x92, 0x7f, 0x0d, 0x1e, 0x52, 0xbf, + 0x1b, 0x2e, 0xaa, 0xb5, 0x2a, 0xcb, 0xf0, 0xa0, 0xd8, 0x94, 0x70, 0x52, + 0x34, 0xc9, 0xcc, 0x29, 0x7e, 0x53, 0xe5, 0xba, 0xeb, 0x55, 0x8a, 0x17, + 0x52, 0xaa, 0x53, 0x5d, 0xe9, 0x34, 0x10, 0xb8, 0xa0, 0x6b, 0xea, 0x90, + 0x02, 0xf4, 0x50, 0x6e, 0x17, 0x1e, 0xf3, 0x98, 0x69, 0xce, 0xf6, 0x15, + 0xac, 0x0f, 0xba, 0x4c, +}; +static const struct drbg_kat_pr_true kat3678_t = { + 2, kat3678_entropyin, kat3678_nonce, kat3678_persstr, + kat3678_entropyinpr1, kat3678_addinpr1, kat3678_entropyinpr2, + kat3678_addinpr2, kat3678_retbits +}; +static const struct drbg_kat kat3678 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3678_t +}; + +static const unsigned char kat3679_entropyin[] = { + 0xf0, 0xfa, 0x26, 0x41, 0x13, 0x59, 0x9c, 0xc3, 0xd7, 0x8f, 0xc8, 0xfa, + 0xd2, 0x76, 0x84, 0xc1, 0x8a, 0x6e, 0xe9, 0x98, 0xcd, 0x91, 0x3e, 0x2f, + 0xeb, 0x13, 0x8a, 0xb1, 0xf2, 0xff, 0x4c, 0xc7, +}; +static const unsigned char kat3679_nonce[] = {0}; +static const unsigned char kat3679_persstr[] = {0}; +static const unsigned char kat3679_entropyinpr1[] = { + 0x0d, 0xa9, 0x07, 0x26, 0x4f, 0xb1, 0xcc, 0x38, 0x5e, 0xc6, 0x98, 0xad, + 0xf8, 0x89, 0x92, 0xd1, 0x21, 0x9b, 0xee, 0x72, 0x13, 0x77, 0xa5, 0x1e, + 0x73, 0xef, 0xf6, 0xc6, 0x19, 0xa6, 0x3b, 0x1f, +}; +static const unsigned char kat3679_addinpr1[] = { + 0x20, 0xc7, 0x04, 0x71, 0xca, 0xa7, 0x43, 0xe3, 0x32, 0xde, 0xae, 0x20, + 0xf4, 0x9f, 0xfd, 0xad, 0x60, 0x36, 0xd5, 0x4a, 0x12, 0xcc, 0x5e, 0xa1, + 0x79, 0xff, 0x1a, 0xb7, 0x5a, 0x32, 0xd2, 0xc0, +}; +static const unsigned char kat3679_entropyinpr2[] = { + 0x11, 0xe1, 0xe3, 0x92, 0x1b, 0x8d, 0x34, 0xfd, 0xde, 0xd9, 0x5b, 0x7f, + 0x34, 0x9d, 0xd4, 0x86, 0x5a, 0x1d, 0x00, 0x0c, 0x5e, 0xb1, 0x86, 0x01, + 0x77, 0xbf, 0x30, 0x05, 0x06, 0x79, 0x6b, 0x0f, +}; +static const unsigned char kat3679_addinpr2[] = { + 0xa4, 0xac, 0xaf, 0x52, 0xec, 0xcf, 0x13, 0x8c, 0xc7, 0xbf, 0xb6, 0x1d, + 0xf7, 0x33, 0x20, 0xcd, 0xd4, 0x4b, 0x93, 0x38, 0xa5, 0xd6, 0x1b, 0x7a, + 0x3b, 0x0b, 0xd5, 0xc0, 0x63, 0x94, 0x20, 0x52, +}; +static const unsigned char kat3679_retbits[] = { + 0x19, 0x41, 0xdf, 0x8f, 0xe4, 0x4f, 0xc7, 0xdc, 0x3b, 0x6f, 0x3c, 0xf6, + 0x77, 0x17, 0x7b, 0x2f, 0x3b, 0x9b, 0xba, 0x7f, 0xc8, 0xc6, 0xaf, 0x02, + 0xc8, 0xf0, 0xf5, 0xdf, 0x06, 0xcc, 0x56, 0xd1, 0x33, 0x61, 0x6a, 0x24, + 0xde, 0xec, 0xb8, 0x00, 0xc3, 0x87, 0x55, 0xdc, 0xe1, 0x9b, 0x2d, 0x7b, + 0x49, 0x0c, 0x1f, 0x59, 0xb5, 0xa5, 0xdd, 0xd3, 0xdd, 0xc4, 0x84, 0x2f, + 0x47, 0x8a, 0x5e, 0x48, +}; +static const struct drbg_kat_pr_true kat3679_t = { + 3, kat3679_entropyin, kat3679_nonce, kat3679_persstr, + kat3679_entropyinpr1, kat3679_addinpr1, kat3679_entropyinpr2, + kat3679_addinpr2, kat3679_retbits +}; +static const struct drbg_kat kat3679 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3679_t +}; + +static const unsigned char kat3680_entropyin[] = { + 0xc5, 0xc4, 0xce, 0xba, 0xc0, 0x2c, 0xe5, 0xf2, 0x87, 0xc8, 0xfb, 0xcd, + 0x66, 0xd0, 0x8b, 0x64, 0x66, 0x34, 0xf0, 0x95, 0x0f, 0x5e, 0x11, 0x9a, + 0xb8, 0xe3, 0x42, 0x51, 0xe9, 0xe4, 0x9e, 0x13, +}; +static const unsigned char kat3680_nonce[] = {0}; +static const unsigned char kat3680_persstr[] = {0}; +static const unsigned char kat3680_entropyinpr1[] = { + 0x7b, 0x20, 0x60, 0xe8, 0x15, 0x20, 0xda, 0x7d, 0x30, 0x9c, 0xd8, 0x85, + 0xb7, 0xcd, 0x97, 0xb2, 0xce, 0x58, 0xfd, 0xb3, 0x07, 0x56, 0xf2, 0xef, + 0xf2, 0x57, 0x6c, 0xd1, 0x48, 0xbc, 0x34, 0x99, +}; +static const unsigned char kat3680_addinpr1[] = { + 0x37, 0x7b, 0x47, 0x59, 0xc1, 0xa6, 0xb0, 0xfb, 0x86, 0x20, 0x4b, 0x30, + 0x78, 0x67, 0x9b, 0xbc, 0x8c, 0x5a, 0x3c, 0xa8, 0xd9, 0x68, 0xd0, 0xf8, + 0xe4, 0x7b, 0x99, 0x75, 0xa9, 0x3c, 0x47, 0x56, +}; +static const unsigned char kat3680_entropyinpr2[] = { + 0xd3, 0xe9, 0x5b, 0x3c, 0xaf, 0x41, 0x29, 0x96, 0xc1, 0x8f, 0x32, 0x95, + 0x53, 0x95, 0x0b, 0x83, 0xb8, 0x3f, 0x27, 0x60, 0xc9, 0xf8, 0x55, 0x60, + 0x06, 0x47, 0xfe, 0xff, 0x1e, 0x85, 0xe1, 0x90, +}; +static const unsigned char kat3680_addinpr2[] = { + 0x97, 0x7d, 0x08, 0x18, 0x83, 0x66, 0x8e, 0xac, 0x6a, 0x42, 0x78, 0x14, + 0xb6, 0xbe, 0x53, 0x1b, 0xc1, 0x7a, 0x8c, 0x32, 0x03, 0x3f, 0xe5, 0x68, + 0xd1, 0x90, 0xde, 0x07, 0x85, 0xd1, 0x52, 0x62, +}; +static const unsigned char kat3680_retbits[] = { + 0x16, 0x11, 0x54, 0x7c, 0x23, 0x8c, 0x72, 0x74, 0xec, 0xf2, 0xbf, 0x45, + 0x3d, 0xe2, 0x5b, 0x37, 0xfc, 0x5e, 0x0b, 0xc5, 0x50, 0x23, 0x5b, 0x86, + 0x7b, 0x66, 0xd4, 0x92, 0x90, 0x2c, 0xd4, 0xd7, 0xd9, 0x04, 0xef, 0x25, + 0xf4, 0x33, 0xc8, 0x03, 0x06, 0xef, 0xb8, 0x96, 0xd9, 0xc5, 0x31, 0xc4, + 0x48, 0x96, 0xb8, 0x64, 0xe0, 0x34, 0x2f, 0xc0, 0xfe, 0x69, 0x28, 0x46, + 0x17, 0x34, 0xa1, 0x8a, +}; +static const struct drbg_kat_pr_true kat3680_t = { + 4, kat3680_entropyin, kat3680_nonce, kat3680_persstr, + kat3680_entropyinpr1, kat3680_addinpr1, kat3680_entropyinpr2, + kat3680_addinpr2, kat3680_retbits +}; +static const struct drbg_kat kat3680 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3680_t +}; + +static const unsigned char kat3681_entropyin[] = { + 0xbd, 0x08, 0xca, 0xd2, 0x7b, 0x7f, 0xe2, 0xd3, 0x9a, 0x95, 0x09, 0x59, + 0xc2, 0xa1, 0x8a, 0x48, 0xbd, 0xf6, 0xff, 0xe7, 0x95, 0x91, 0xc5, 0x2e, + 0x94, 0xb5, 0x05, 0x26, 0x99, 0x07, 0x39, 0x80, +}; +static const unsigned char kat3681_nonce[] = {0}; +static const unsigned char kat3681_persstr[] = {0}; +static const unsigned char kat3681_entropyinpr1[] = { + 0x84, 0x1d, 0x45, 0x33, 0x4b, 0x4a, 0x4b, 0x5e, 0x14, 0xd5, 0xe4, 0x5e, + 0x7f, 0xf4, 0xed, 0x8c, 0x23, 0x29, 0x6b, 0x61, 0xd7, 0xba, 0x93, 0xaf, + 0x8c, 0x4f, 0x7f, 0x26, 0x38, 0x83, 0xe2, 0x19, +}; +static const unsigned char kat3681_addinpr1[] = { + 0x45, 0xb4, 0x9b, 0x8a, 0x72, 0x96, 0xf5, 0x71, 0x9a, 0x07, 0x9e, 0xeb, + 0x29, 0x85, 0x06, 0xec, 0xdd, 0xdf, 0x90, 0x46, 0x6c, 0x68, 0x63, 0x22, + 0x90, 0x8f, 0xf8, 0x12, 0x1c, 0x49, 0x15, 0xc5, +}; +static const unsigned char kat3681_entropyinpr2[] = { + 0x13, 0xf9, 0x1a, 0x9f, 0xe3, 0xc2, 0x27, 0x71, 0x49, 0x41, 0x0a, 0xa9, + 0xdd, 0xcb, 0xf4, 0xff, 0x68, 0x1d, 0xa7, 0x7e, 0xf8, 0x52, 0x61, 0x07, + 0x6e, 0xbd, 0xde, 0x0d, 0xf8, 0x0e, 0xb8, 0xa9, +}; +static const unsigned char kat3681_addinpr2[] = { + 0xe3, 0x55, 0x64, 0xd7, 0x2e, 0x5c, 0xa8, 0xa3, 0xb3, 0xf7, 0x0c, 0x75, + 0xb8, 0xd5, 0x05, 0x4c, 0x3d, 0xdb, 0xe2, 0x30, 0xf7, 0x6d, 0x0c, 0x30, + 0xff, 0x4a, 0xdc, 0xad, 0xda, 0xce, 0x05, 0x0c, +}; +static const unsigned char kat3681_retbits[] = { + 0x25, 0xab, 0x2d, 0x67, 0x3c, 0xbe, 0x63, 0x0c, 0x32, 0xa0, 0x51, 0xc8, + 0x1a, 0x20, 0x32, 0x7d, 0x85, 0xcf, 0x1f, 0x39, 0xa3, 0x46, 0xf4, 0x4a, + 0x8e, 0x8f, 0x3f, 0xe0, 0x18, 0xb8, 0xb3, 0x35, 0xce, 0xe0, 0x30, 0xa9, + 0x5e, 0x4b, 0xf1, 0xa6, 0x7f, 0x12, 0x08, 0xc4, 0xe7, 0xf8, 0x6e, 0x93, + 0xdd, 0x6a, 0xa5, 0xe7, 0x4b, 0x8b, 0x9c, 0x27, 0x81, 0x60, 0xb8, 0xf3, + 0x6c, 0x00, 0x54, 0xca, +}; +static const struct drbg_kat_pr_true kat3681_t = { + 5, kat3681_entropyin, kat3681_nonce, kat3681_persstr, + kat3681_entropyinpr1, kat3681_addinpr1, kat3681_entropyinpr2, + kat3681_addinpr2, kat3681_retbits +}; +static const struct drbg_kat kat3681 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3681_t +}; + +static const unsigned char kat3682_entropyin[] = { + 0xad, 0x73, 0x2d, 0x92, 0xbe, 0x54, 0x88, 0x42, 0x07, 0xea, 0x80, 0x87, + 0xd2, 0x04, 0x36, 0x60, 0xf0, 0x0e, 0xc7, 0xe9, 0x90, 0x5d, 0x72, 0x5b, + 0x49, 0xe3, 0xc9, 0x47, 0x2d, 0xd8, 0xf5, 0x67, +}; +static const unsigned char kat3682_nonce[] = {0}; +static const unsigned char kat3682_persstr[] = {0}; +static const unsigned char kat3682_entropyinpr1[] = { + 0x21, 0x9d, 0x63, 0x3d, 0x75, 0x00, 0x04, 0x85, 0xd9, 0x3d, 0xc3, 0x91, + 0x2a, 0xce, 0x84, 0xa4, 0x9b, 0x89, 0x63, 0x74, 0xb1, 0xb0, 0xf6, 0xc5, + 0xb6, 0x85, 0x59, 0x7f, 0x84, 0xbe, 0x5a, 0x20, +}; +static const unsigned char kat3682_addinpr1[] = { + 0x66, 0xd3, 0x9c, 0x4b, 0x35, 0x80, 0x73, 0x23, 0x70, 0xeb, 0xf6, 0x38, + 0x27, 0x24, 0x1a, 0x66, 0x18, 0x51, 0xef, 0x81, 0xe9, 0x5c, 0x16, 0x56, + 0xb2, 0xc0, 0x42, 0xcc, 0x84, 0xa5, 0x3e, 0xd4, +}; +static const unsigned char kat3682_entropyinpr2[] = { + 0x5b, 0x56, 0xfa, 0xa1, 0xa2, 0x8d, 0xaf, 0x8e, 0x33, 0x67, 0x0a, 0x9a, + 0x88, 0x29, 0x0f, 0x84, 0xb1, 0xe0, 0x12, 0xb1, 0xce, 0x87, 0x31, 0x29, + 0x06, 0x27, 0x57, 0x14, 0x75, 0x67, 0x5d, 0xec, +}; +static const unsigned char kat3682_addinpr2[] = { + 0x18, 0x06, 0xa0, 0x80, 0x80, 0x6f, 0x2f, 0x75, 0xac, 0xfe, 0x64, 0x92, + 0x87, 0x80, 0xd8, 0x91, 0x0a, 0x9e, 0xe3, 0x7f, 0x18, 0xf8, 0xce, 0x4f, + 0x0f, 0xf8, 0xe5, 0xfe, 0x15, 0xce, 0xf4, 0xd8, +}; +static const unsigned char kat3682_retbits[] = { + 0x13, 0x94, 0x3d, 0xaa, 0x9f, 0x54, 0xf8, 0x78, 0xf5, 0xc4, 0xe7, 0x80, + 0x6b, 0x41, 0x89, 0xf6, 0xc4, 0x70, 0x73, 0x86, 0xbc, 0xe9, 0x85, 0xe6, + 0xea, 0x5d, 0x59, 0xdf, 0xb6, 0x44, 0xec, 0xe6, 0x54, 0xea, 0x3f, 0x37, + 0xdb, 0x37, 0x0a, 0x86, 0x86, 0x33, 0xb4, 0x14, 0x5f, 0xa6, 0xa9, 0x18, + 0x60, 0xd5, 0x44, 0x6c, 0x61, 0xc8, 0x95, 0x50, 0x79, 0x43, 0x1b, 0xc3, + 0xcd, 0x39, 0x82, 0x24, +}; +static const struct drbg_kat_pr_true kat3682_t = { + 6, kat3682_entropyin, kat3682_nonce, kat3682_persstr, + kat3682_entropyinpr1, kat3682_addinpr1, kat3682_entropyinpr2, + kat3682_addinpr2, kat3682_retbits +}; +static const struct drbg_kat kat3682 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3682_t +}; + +static const unsigned char kat3683_entropyin[] = { + 0x9c, 0x8b, 0xf8, 0x3c, 0x10, 0x44, 0x4c, 0x6c, 0x01, 0xc3, 0x15, 0x30, + 0xde, 0xfe, 0x2c, 0x0f, 0xb3, 0x03, 0x59, 0x2f, 0xa4, 0xe4, 0xa5, 0x27, + 0x8a, 0x90, 0xa5, 0x99, 0x74, 0xbf, 0x24, 0xc6, +}; +static const unsigned char kat3683_nonce[] = {0}; +static const unsigned char kat3683_persstr[] = {0}; +static const unsigned char kat3683_entropyinpr1[] = { + 0x3a, 0xd1, 0xbd, 0xaf, 0x31, 0xb8, 0x42, 0x3c, 0x41, 0x60, 0x59, 0x77, + 0xfe, 0x26, 0xc3, 0x89, 0xdf, 0x45, 0x04, 0xf1, 0xb2, 0x11, 0xf3, 0xfc, + 0xfa, 0x7d, 0x70, 0xfa, 0x8a, 0x27, 0xff, 0x41, +}; +static const unsigned char kat3683_addinpr1[] = { + 0x39, 0xad, 0x1b, 0x47, 0xb3, 0x7d, 0x90, 0xf3, 0x5d, 0x0d, 0xf7, 0x56, + 0x4d, 0x35, 0xb8, 0x2e, 0x98, 0x74, 0x0f, 0x23, 0xf9, 0xb2, 0x06, 0x95, + 0x03, 0x38, 0x75, 0xae, 0x19, 0xad, 0xcc, 0x0d, +}; +static const unsigned char kat3683_entropyinpr2[] = { + 0xf0, 0xf1, 0xb8, 0x0d, 0x29, 0x61, 0x23, 0x35, 0x73, 0x80, 0xc9, 0xf2, + 0x6f, 0x00, 0xa0, 0x4a, 0xc9, 0x56, 0x61, 0x02, 0xb0, 0x0a, 0x8a, 0xd6, + 0xc7, 0x1c, 0x08, 0x2a, 0x24, 0x58, 0xf4, 0xeb, +}; +static const unsigned char kat3683_addinpr2[] = { + 0xcd, 0xa8, 0xf6, 0x8e, 0x54, 0x64, 0x21, 0x05, 0x53, 0x50, 0x5c, 0x0d, + 0x54, 0x86, 0x1e, 0x50, 0x0d, 0xb8, 0xb3, 0x28, 0x26, 0xd4, 0x7e, 0xec, + 0x2b, 0x27, 0xb3, 0x93, 0xa6, 0x1f, 0x05, 0xd9, +}; +static const unsigned char kat3683_retbits[] = { + 0xe5, 0xb3, 0x01, 0x9c, 0x7f, 0x4e, 0x80, 0x92, 0xc0, 0x23, 0xb1, 0x57, + 0x3d, 0x83, 0xb7, 0xe3, 0x1a, 0xd6, 0xea, 0x88, 0x20, 0xa7, 0x42, 0x59, + 0x4a, 0x42, 0xde, 0x4c, 0x7b, 0xc6, 0xc2, 0x7f, 0x13, 0xa9, 0xeb, 0xb4, + 0x46, 0xb7, 0x86, 0x82, 0xe1, 0x6e, 0xd6, 0x75, 0x99, 0x06, 0xdf, 0x12, + 0xb8, 0x85, 0x45, 0x4d, 0x35, 0x4f, 0x8e, 0x72, 0xc7, 0x32, 0x52, 0xd5, + 0xda, 0xdb, 0x48, 0x5c, +}; +static const struct drbg_kat_pr_true kat3683_t = { + 7, kat3683_entropyin, kat3683_nonce, kat3683_persstr, + kat3683_entropyinpr1, kat3683_addinpr1, kat3683_entropyinpr2, + kat3683_addinpr2, kat3683_retbits +}; +static const struct drbg_kat kat3683 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3683_t +}; + +static const unsigned char kat3684_entropyin[] = { + 0x6b, 0xf4, 0x78, 0x25, 0x78, 0x20, 0xc1, 0xd1, 0x0c, 0xb7, 0x35, 0xaa, + 0xc7, 0x63, 0x25, 0xe8, 0xd8, 0x28, 0x65, 0x2b, 0x3d, 0x85, 0xb8, 0x21, + 0x76, 0xc4, 0xab, 0x3e, 0x2a, 0xb5, 0x93, 0xc0, +}; +static const unsigned char kat3684_nonce[] = {0}; +static const unsigned char kat3684_persstr[] = {0}; +static const unsigned char kat3684_entropyinpr1[] = { + 0x94, 0x1e, 0xca, 0xd9, 0x52, 0x8b, 0x28, 0x8c, 0x61, 0x6a, 0x07, 0xd1, + 0x53, 0x06, 0xb3, 0xcb, 0xb4, 0x91, 0x54, 0x7d, 0xd5, 0x1c, 0xf0, 0x0b, + 0x83, 0xc6, 0xc9, 0xf7, 0x6c, 0xc2, 0x75, 0x2d, +}; +static const unsigned char kat3684_addinpr1[] = { + 0xf8, 0x04, 0xbb, 0x31, 0x34, 0x0d, 0xbb, 0x30, 0xa4, 0xf0, 0xc7, 0xdf, + 0xc2, 0x75, 0x3c, 0x5b, 0x52, 0x5e, 0x7f, 0xc2, 0x5a, 0xf8, 0x9c, 0x6e, + 0x20, 0x8b, 0xc5, 0xb6, 0x92, 0xa0, 0xc4, 0x53, +}; +static const unsigned char kat3684_entropyinpr2[] = { + 0xe2, 0xa8, 0xa2, 0x33, 0xcc, 0xcf, 0xc5, 0xd8, 0x30, 0x38, 0xbb, 0x66, + 0xbe, 0x79, 0xc7, 0x95, 0xa8, 0x7f, 0x32, 0xa6, 0xd0, 0xaa, 0x62, 0x87, + 0xc8, 0x28, 0xde, 0x02, 0x60, 0x46, 0xbd, 0x62, +}; +static const unsigned char kat3684_addinpr2[] = { + 0x59, 0xca, 0x63, 0x5f, 0x03, 0x14, 0x76, 0xd4, 0x77, 0x09, 0x06, 0x7f, + 0x10, 0x87, 0x24, 0x1a, 0x13, 0x5f, 0xc6, 0x17, 0xb6, 0xf4, 0x38, 0xfb, + 0xb1, 0x43, 0xe2, 0xcd, 0x4b, 0xe0, 0xc3, 0xff, +}; +static const unsigned char kat3684_retbits[] = { + 0xf5, 0xa2, 0xb8, 0x49, 0x8e, 0x45, 0xe8, 0xa5, 0x15, 0x1b, 0xb5, 0xdc, + 0x6c, 0x87, 0x1b, 0xa1, 0xf4, 0x4a, 0x1b, 0xfe, 0x37, 0x6c, 0x57, 0x67, + 0x1c, 0x62, 0x16, 0xe4, 0xf2, 0x2c, 0x75, 0x15, 0x2a, 0x2a, 0x4e, 0x5a, + 0x52, 0x95, 0xa0, 0x48, 0x6d, 0x3e, 0x80, 0x93, 0x78, 0xae, 0xf1, 0xa8, + 0x93, 0xde, 0x7e, 0x2a, 0xef, 0x5a, 0x3b, 0xe8, 0x24, 0x01, 0x41, 0x3f, + 0xc9, 0x7f, 0x8d, 0x97, +}; +static const struct drbg_kat_pr_true kat3684_t = { + 8, kat3684_entropyin, kat3684_nonce, kat3684_persstr, + kat3684_entropyinpr1, kat3684_addinpr1, kat3684_entropyinpr2, + kat3684_addinpr2, kat3684_retbits +}; +static const struct drbg_kat kat3684 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3684_t +}; + +static const unsigned char kat3685_entropyin[] = { + 0xed, 0x30, 0x36, 0x7d, 0x5a, 0xb3, 0x33, 0x62, 0x86, 0x75, 0x9f, 0x9d, + 0x8b, 0xa7, 0x42, 0x0c, 0x04, 0x17, 0x11, 0x6c, 0x2c, 0xb6, 0x73, 0x55, + 0x60, 0xd8, 0x14, 0x45, 0x22, 0x0b, 0xfc, 0x73, +}; +static const unsigned char kat3685_nonce[] = {0}; +static const unsigned char kat3685_persstr[] = {0}; +static const unsigned char kat3685_entropyinpr1[] = { + 0x27, 0x10, 0xbc, 0xc2, 0xfb, 0x39, 0xcf, 0xbb, 0x2b, 0x23, 0x0d, 0x21, + 0x7c, 0xdc, 0xcc, 0xab, 0x7b, 0xcf, 0xe8, 0xc7, 0xd9, 0x60, 0xfd, 0xca, + 0xa8, 0x44, 0xc5, 0x7f, 0xb2, 0x21, 0xe2, 0x8f, +}; +static const unsigned char kat3685_addinpr1[] = { + 0xc5, 0x0c, 0xa9, 0x2a, 0x85, 0xcb, 0x04, 0xe2, 0x37, 0x8a, 0xf4, 0x9f, + 0xba, 0xf5, 0xe7, 0xe5, 0x09, 0x94, 0x64, 0x75, 0x81, 0x82, 0x70, 0xf7, + 0xec, 0xa1, 0x54, 0xc8, 0xeb, 0x2b, 0x97, 0x0a, +}; +static const unsigned char kat3685_entropyinpr2[] = { + 0x11, 0x67, 0x7e, 0x7b, 0xff, 0x8b, 0x42, 0xbf, 0x71, 0xb8, 0xf5, 0xc0, + 0xc0, 0xa1, 0xf2, 0x82, 0x90, 0x63, 0x73, 0xdc, 0x94, 0xa2, 0x25, 0x76, + 0x4d, 0x70, 0x83, 0x50, 0x66, 0xe7, 0xd5, 0x2f, +}; +static const unsigned char kat3685_addinpr2[] = { + 0xe6, 0xfe, 0xd3, 0x6e, 0x76, 0x3c, 0x72, 0x54, 0xff, 0xf2, 0x04, 0x46, + 0xd1, 0x61, 0x0b, 0x7c, 0xe8, 0xf3, 0x8e, 0xf7, 0xd1, 0x29, 0xe9, 0x07, + 0xdf, 0x8e, 0x38, 0xf5, 0x84, 0x2d, 0x72, 0xa6, +}; +static const unsigned char kat3685_retbits[] = { + 0x83, 0x6c, 0x1c, 0xd9, 0xeb, 0x49, 0xbb, 0x83, 0xc8, 0xe0, 0xaf, 0xbd, + 0xf9, 0x93, 0x55, 0x89, 0xcd, 0x78, 0x72, 0x1b, 0x3b, 0x97, 0x4f, 0x63, + 0xf3, 0x2b, 0x06, 0xf0, 0x6e, 0xcd, 0xce, 0x5e, 0x1d, 0x59, 0x10, 0xf0, + 0xd1, 0xa3, 0xa4, 0x21, 0xb4, 0x7c, 0xe6, 0x1e, 0xb2, 0x68, 0x94, 0xf2, + 0xdc, 0x51, 0xee, 0x36, 0xa0, 0x9f, 0x74, 0xa9, 0xdc, 0x15, 0x0c, 0x84, + 0x82, 0x66, 0xdc, 0x1f, +}; +static const struct drbg_kat_pr_true kat3685_t = { + 9, kat3685_entropyin, kat3685_nonce, kat3685_persstr, + kat3685_entropyinpr1, kat3685_addinpr1, kat3685_entropyinpr2, + kat3685_addinpr2, kat3685_retbits +}; +static const struct drbg_kat kat3685 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3685_t +}; + +static const unsigned char kat3686_entropyin[] = { + 0xe4, 0x92, 0xb8, 0x3d, 0x6e, 0xed, 0xc1, 0xd9, 0x54, 0x8a, 0xf4, 0x5b, + 0x15, 0xdb, 0x4b, 0xce, 0x09, 0x7f, 0x0c, 0x28, 0xf1, 0xb0, 0x3b, 0xed, + 0x9f, 0x2c, 0xef, 0x37, 0x72, 0x5e, 0x5c, 0x98, +}; +static const unsigned char kat3686_nonce[] = {0}; +static const unsigned char kat3686_persstr[] = {0}; +static const unsigned char kat3686_entropyinpr1[] = { + 0xc6, 0x6a, 0x45, 0xb7, 0x88, 0x9a, 0x10, 0xa0, 0x7a, 0xb5, 0xa6, 0xb2, + 0x9d, 0x4c, 0x26, 0x5c, 0x9e, 0x19, 0x6b, 0xbe, 0x5d, 0x0f, 0xea, 0x35, + 0xe5, 0x52, 0x1d, 0x4d, 0x06, 0xe4, 0x87, 0xde, +}; +static const unsigned char kat3686_addinpr1[] = { + 0xb2, 0x7a, 0x9c, 0x49, 0xab, 0xe0, 0x3e, 0x4b, 0xbb, 0x62, 0x73, 0x8a, + 0xe8, 0x69, 0x59, 0xc5, 0xb7, 0xb6, 0x99, 0x22, 0x40, 0xee, 0x8d, 0x99, + 0xb1, 0x53, 0x70, 0xdf, 0x1c, 0x5d, 0xfb, 0x10, +}; +static const unsigned char kat3686_entropyinpr2[] = { + 0x13, 0x2c, 0x6a, 0xac, 0x2b, 0xfe, 0x3a, 0x23, 0x17, 0x5a, 0xf8, 0xf7, + 0x3e, 0x0b, 0x0f, 0xfb, 0xb7, 0xca, 0x29, 0x94, 0x20, 0x59, 0x91, 0xb2, + 0x42, 0xe7, 0x8e, 0xd7, 0x47, 0xb2, 0x9d, 0xa6, +}; +static const unsigned char kat3686_addinpr2[] = { + 0x0b, 0x9e, 0xd3, 0x1e, 0xf4, 0xa3, 0x53, 0xa9, 0xe5, 0x58, 0xc8, 0x14, + 0x22, 0x5c, 0xe6, 0xa4, 0x8c, 0xcd, 0xc0, 0x47, 0x92, 0xc0, 0xa5, 0x17, + 0x52, 0x16, 0xc3, 0x94, 0xae, 0x6c, 0x5a, 0x20, +}; +static const unsigned char kat3686_retbits[] = { + 0x42, 0xde, 0x12, 0x48, 0xd7, 0xb8, 0x6b, 0xdf, 0xe2, 0x7d, 0xa7, 0x4f, + 0xf1, 0x73, 0x48, 0x23, 0xae, 0x44, 0x24, 0x29, 0xd0, 0x0e, 0xde, 0xfa, + 0xdb, 0x60, 0x00, 0xb2, 0x50, 0x9d, 0x51, 0xd9, 0x46, 0x74, 0x26, 0xf8, + 0xca, 0x60, 0xa0, 0x8b, 0xdc, 0xed, 0x0a, 0x29, 0x30, 0x91, 0xc5, 0xf9, + 0x79, 0x43, 0x24, 0x4c, 0xc5, 0xa1, 0x92, 0x2d, 0x78, 0x8b, 0xd7, 0x3e, + 0xcb, 0x3f, 0x0f, 0x2e, +}; +static const struct drbg_kat_pr_true kat3686_t = { + 10, kat3686_entropyin, kat3686_nonce, kat3686_persstr, + kat3686_entropyinpr1, kat3686_addinpr1, kat3686_entropyinpr2, + kat3686_addinpr2, kat3686_retbits +}; +static const struct drbg_kat kat3686 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3686_t +}; + +static const unsigned char kat3687_entropyin[] = { + 0x90, 0x98, 0x15, 0x0b, 0x27, 0x27, 0x41, 0x47, 0x67, 0x01, 0x6c, 0xf5, + 0x47, 0x12, 0x12, 0x96, 0x21, 0x3f, 0x3d, 0xe8, 0xef, 0x13, 0x18, 0x31, + 0x11, 0xde, 0xb0, 0xeb, 0x05, 0x32, 0x5b, 0xd9, +}; +static const unsigned char kat3687_nonce[] = {0}; +static const unsigned char kat3687_persstr[] = {0}; +static const unsigned char kat3687_entropyinpr1[] = { + 0x95, 0xa1, 0x89, 0x59, 0x45, 0x59, 0xbc, 0xe1, 0x4e, 0x5b, 0xd3, 0x29, + 0x35, 0x27, 0x41, 0x1b, 0x5c, 0x0a, 0x5b, 0x3d, 0x5c, 0x9a, 0x11, 0x7e, + 0x06, 0x35, 0x68, 0x3d, 0x93, 0xdc, 0x77, 0xa2, +}; +static const unsigned char kat3687_addinpr1[] = { + 0x22, 0x86, 0x35, 0x43, 0xbd, 0xfa, 0xe1, 0x63, 0x71, 0x89, 0x95, 0xb7, + 0xca, 0x3c, 0xa7, 0xf7, 0xc6, 0xde, 0x43, 0x3c, 0xc5, 0xdc, 0x97, 0xb4, + 0xe6, 0xda, 0x7e, 0x0e, 0xfa, 0x38, 0x14, 0xeb, +}; +static const unsigned char kat3687_entropyinpr2[] = { + 0x80, 0x59, 0x6d, 0xf2, 0xb2, 0x54, 0x94, 0x06, 0x76, 0x96, 0x8e, 0xde, + 0xd6, 0x90, 0x99, 0x1a, 0x81, 0x6a, 0x12, 0x78, 0x37, 0x3e, 0xc6, 0x38, + 0xc9, 0x15, 0x3a, 0x40, 0xbb, 0xaa, 0x37, 0xc5, +}; +static const unsigned char kat3687_addinpr2[] = { + 0xda, 0xdc, 0x98, 0xa2, 0xbd, 0x1f, 0xae, 0xea, 0x04, 0x00, 0x05, 0x7d, + 0x5e, 0xc0, 0xdf, 0x66, 0x38, 0xce, 0x83, 0x86, 0x63, 0xe3, 0x4b, 0x94, + 0x7b, 0x44, 0x8f, 0xdf, 0xca, 0x99, 0x6a, 0x4b, +}; +static const unsigned char kat3687_retbits[] = { + 0x20, 0x88, 0xca, 0xd0, 0xec, 0x91, 0x65, 0xf1, 0x0b, 0x53, 0xbc, 0x86, + 0x05, 0x07, 0x3d, 0x15, 0x82, 0x99, 0x0f, 0xce, 0xd6, 0x19, 0x99, 0xea, + 0x1c, 0xca, 0xc3, 0xb7, 0xda, 0xaa, 0x2d, 0xd6, 0x33, 0x39, 0xf2, 0x97, + 0x5f, 0x1e, 0x8a, 0x92, 0x64, 0xf1, 0x54, 0x0c, 0x23, 0x2f, 0xcc, 0x6a, + 0x79, 0xd9, 0xaa, 0x63, 0xf9, 0x6c, 0x94, 0x8e, 0x86, 0x46, 0x77, 0x7d, + 0x72, 0x35, 0xfc, 0x7f, +}; +static const struct drbg_kat_pr_true kat3687_t = { + 11, kat3687_entropyin, kat3687_nonce, kat3687_persstr, + kat3687_entropyinpr1, kat3687_addinpr1, kat3687_entropyinpr2, + kat3687_addinpr2, kat3687_retbits +}; +static const struct drbg_kat kat3687 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3687_t +}; + +static const unsigned char kat3688_entropyin[] = { + 0x0e, 0xcf, 0x8a, 0x53, 0xc5, 0xcb, 0xfc, 0x45, 0xb0, 0x96, 0x44, 0xe1, + 0xb7, 0x68, 0x74, 0x8d, 0xf8, 0x9d, 0xe7, 0x7e, 0x2e, 0xc2, 0xe5, 0x53, + 0x5f, 0x75, 0x7e, 0x9b, 0x90, 0x18, 0xc9, 0x9e, +}; +static const unsigned char kat3688_nonce[] = {0}; +static const unsigned char kat3688_persstr[] = {0}; +static const unsigned char kat3688_entropyinpr1[] = { + 0x53, 0x27, 0x09, 0x98, 0x32, 0xd3, 0x3e, 0x86, 0x3f, 0x2f, 0x1d, 0x84, + 0x3b, 0x1c, 0x1e, 0x84, 0xa1, 0xf2, 0xcb, 0x9f, 0x94, 0xf1, 0x0c, 0x00, + 0xd1, 0xaa, 0x2c, 0xe8, 0x8d, 0x6f, 0xf5, 0xce, +}; +static const unsigned char kat3688_addinpr1[] = { + 0xb6, 0x43, 0xb1, 0xad, 0x03, 0x55, 0x99, 0xe7, 0x59, 0xb6, 0x1a, 0x2e, + 0xe0, 0x9f, 0x22, 0xd7, 0x8b, 0xbd, 0x45, 0xb5, 0x95, 0x09, 0xf3, 0x99, + 0xb6, 0x5a, 0xd2, 0x50, 0x01, 0xbc, 0x54, 0x49, +}; +static const unsigned char kat3688_entropyinpr2[] = { + 0x96, 0x40, 0x43, 0x39, 0x0c, 0x74, 0xcc, 0x18, 0x2b, 0x79, 0xcf, 0x23, + 0xe9, 0xe5, 0x9a, 0x98, 0xd6, 0x79, 0xb0, 0x4b, 0xdc, 0x1a, 0xd2, 0xf5, + 0xdc, 0xc2, 0x89, 0xbb, 0x02, 0x1c, 0x8d, 0xc0, +}; +static const unsigned char kat3688_addinpr2[] = { + 0x50, 0x27, 0x52, 0xaf, 0x6b, 0xf6, 0xf6, 0xd4, 0x0c, 0x1d, 0xf4, 0xdd, + 0x25, 0x56, 0xa7, 0x5b, 0x74, 0xc9, 0x4f, 0xc2, 0x6f, 0xc9, 0x1b, 0x12, + 0x83, 0x05, 0x9c, 0x9e, 0xcd, 0xd2, 0xec, 0x9a, +}; +static const unsigned char kat3688_retbits[] = { + 0xe7, 0x2c, 0xc6, 0x12, 0xda, 0x25, 0x14, 0xb1, 0x10, 0x94, 0xbe, 0x0e, + 0x1c, 0x22, 0x79, 0x89, 0x1a, 0x41, 0x30, 0xc7, 0xbe, 0x8b, 0x4b, 0xb7, + 0xec, 0x8b, 0xe5, 0x26, 0xf3, 0x68, 0xf8, 0x14, 0xe8, 0x30, 0xfc, 0xc9, + 0x26, 0xc3, 0xaf, 0xeb, 0xa0, 0xba, 0xe6, 0x24, 0xad, 0xf7, 0xfd, 0x34, + 0xf6, 0x1f, 0x78, 0x92, 0x16, 0xfc, 0x62, 0xb0, 0xf1, 0x8c, 0xfa, 0xc7, + 0x46, 0x76, 0xd0, 0x0f, +}; +static const struct drbg_kat_pr_true kat3688_t = { + 12, kat3688_entropyin, kat3688_nonce, kat3688_persstr, + kat3688_entropyinpr1, kat3688_addinpr1, kat3688_entropyinpr2, + kat3688_addinpr2, kat3688_retbits +}; +static const struct drbg_kat kat3688 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3688_t +}; + +static const unsigned char kat3689_entropyin[] = { + 0x6e, 0xe8, 0xc0, 0xcc, 0xdb, 0x7e, 0x9f, 0x30, 0x74, 0x04, 0x0e, 0x89, + 0xd9, 0xa6, 0x6a, 0xea, 0xa3, 0xf6, 0x4c, 0xf3, 0x51, 0xc6, 0x33, 0x0b, + 0x35, 0x30, 0x02, 0x14, 0xe1, 0x6a, 0x48, 0x4f, +}; +static const unsigned char kat3689_nonce[] = {0}; +static const unsigned char kat3689_persstr[] = {0}; +static const unsigned char kat3689_entropyinpr1[] = { + 0x76, 0x2d, 0x63, 0xec, 0x18, 0x92, 0x7c, 0x1a, 0xe3, 0x70, 0x37, 0x64, + 0x43, 0xbb, 0x07, 0x06, 0xc3, 0x0c, 0x42, 0x6e, 0x4f, 0x38, 0x1a, 0x67, + 0xff, 0x4d, 0x99, 0x55, 0x63, 0x33, 0x39, 0x54, +}; +static const unsigned char kat3689_addinpr1[] = { + 0x28, 0x9a, 0xc3, 0x36, 0x56, 0x5e, 0x1b, 0x8a, 0xbe, 0x25, 0x17, 0x31, + 0x40, 0x21, 0x8e, 0x09, 0xc7, 0x40, 0x9b, 0xca, 0x8d, 0x84, 0xb7, 0x57, + 0x6f, 0x0e, 0x87, 0xdb, 0x11, 0x7f, 0x53, 0x13, +}; +static const unsigned char kat3689_entropyinpr2[] = { + 0x2f, 0xa8, 0xd5, 0xe4, 0x26, 0x3f, 0x55, 0x85, 0x59, 0x71, 0x99, 0x3a, + 0x5f, 0xc7, 0xfa, 0xcc, 0xe1, 0xe4, 0x0e, 0x87, 0xfb, 0xf6, 0x4d, 0x1c, + 0xbc, 0x6b, 0x57, 0x05, 0xd8, 0x2d, 0x30, 0xf9, +}; +static const unsigned char kat3689_addinpr2[] = { + 0xca, 0x03, 0x7d, 0x1e, 0xeb, 0xa3, 0xc6, 0x6c, 0x15, 0xa9, 0x62, 0xed, + 0x44, 0xf0, 0xb5, 0x0b, 0xa6, 0x31, 0x76, 0xb6, 0x47, 0x84, 0xcf, 0x2c, + 0x68, 0x8c, 0x79, 0x9c, 0x9e, 0xbb, 0x4d, 0x16, +}; +static const unsigned char kat3689_retbits[] = { + 0x10, 0x53, 0x6a, 0x10, 0xa9, 0x9f, 0x84, 0x5c, 0x43, 0xd5, 0x50, 0x1f, + 0x8a, 0x4c, 0xfc, 0xaa, 0x9c, 0xd4, 0x36, 0x34, 0x0a, 0xd8, 0xfc, 0x58, + 0x57, 0xea, 0xa8, 0xd2, 0x0f, 0xbb, 0x67, 0x33, 0x61, 0x24, 0x8a, 0x44, + 0x66, 0x80, 0x0f, 0x31, 0x9f, 0xa9, 0x26, 0xec, 0xee, 0xe5, 0x87, 0xa7, + 0x11, 0x48, 0x14, 0x43, 0x32, 0xbd, 0x8a, 0xff, 0x0a, 0xfc, 0xbf, 0x55, + 0x87, 0x4f, 0xc3, 0xc0, +}; +static const struct drbg_kat_pr_true kat3689_t = { + 13, kat3689_entropyin, kat3689_nonce, kat3689_persstr, + kat3689_entropyinpr1, kat3689_addinpr1, kat3689_entropyinpr2, + kat3689_addinpr2, kat3689_retbits +}; +static const struct drbg_kat kat3689 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3689_t +}; + +static const unsigned char kat3690_entropyin[] = { + 0xdd, 0xd1, 0x29, 0x6d, 0x4d, 0x08, 0x84, 0x6c, 0x92, 0x20, 0x43, 0x76, + 0x1f, 0x5d, 0xe9, 0xb4, 0xf4, 0xdc, 0xb7, 0x87, 0xde, 0x09, 0xe3, 0x9d, + 0x2e, 0xca, 0xac, 0x9a, 0x90, 0x6e, 0x06, 0x20, +}; +static const unsigned char kat3690_nonce[] = {0}; +static const unsigned char kat3690_persstr[] = {0}; +static const unsigned char kat3690_entropyinpr1[] = { + 0xd5, 0x39, 0x8b, 0x48, 0x77, 0x3c, 0x39, 0x0c, 0xd8, 0x9d, 0x95, 0x1c, + 0x5e, 0x6d, 0xee, 0xed, 0x0e, 0xb3, 0x8d, 0x59, 0xe3, 0xb1, 0xd0, 0xbf, + 0x5b, 0x2e, 0x43, 0x59, 0xb0, 0x78, 0x43, 0x05, +}; +static const unsigned char kat3690_addinpr1[] = { + 0x67, 0x3f, 0x6d, 0x71, 0xad, 0x3c, 0x7c, 0x0e, 0x5c, 0xc2, 0x26, 0xb8, + 0x2f, 0x37, 0x84, 0x07, 0x81, 0x4e, 0xa1, 0x01, 0xdb, 0xc0, 0x51, 0x82, + 0x1b, 0xd5, 0xd1, 0xd7, 0xf4, 0xbc, 0x7b, 0xe3, +}; +static const unsigned char kat3690_entropyinpr2[] = { + 0x3c, 0xd2, 0xf7, 0x04, 0xac, 0xe5, 0x60, 0x33, 0x7f, 0xcb, 0xcc, 0x07, + 0xd2, 0xb0, 0x27, 0xc3, 0x73, 0x80, 0xb3, 0x5b, 0x26, 0xb2, 0x6e, 0x40, + 0xb9, 0xd6, 0x2d, 0xd6, 0x54, 0xe4, 0x41, 0x93, +}; +static const unsigned char kat3690_addinpr2[] = { + 0x44, 0x0e, 0x9b, 0x55, 0xa6, 0x8d, 0xd2, 0x7d, 0xf4, 0xef, 0x8d, 0x0d, + 0xfe, 0xb8, 0xc2, 0x15, 0x6c, 0x22, 0x50, 0xcc, 0x1a, 0xb5, 0x74, 0x43, + 0x2c, 0x2b, 0x62, 0xba, 0xca, 0x7c, 0x44, 0x39, +}; +static const unsigned char kat3690_retbits[] = { + 0xe5, 0x5b, 0x53, 0x6c, 0xca, 0x2b, 0x21, 0x48, 0xaf, 0x20, 0xe8, 0x87, + 0xad, 0x6b, 0x1c, 0x6a, 0xb5, 0xc2, 0x85, 0xfe, 0x52, 0x71, 0xe1, 0x88, + 0xc5, 0xfe, 0x5f, 0x7f, 0x03, 0x7b, 0xab, 0x8d, 0x6d, 0x25, 0x02, 0xab, + 0x71, 0xd7, 0x68, 0xd4, 0xf0, 0x5b, 0x1b, 0xef, 0x7f, 0x27, 0x44, 0x0c, + 0xe8, 0xf6, 0x43, 0x11, 0xff, 0x71, 0x47, 0xdb, 0xb5, 0x57, 0x19, 0xbf, + 0x73, 0x71, 0xbb, 0xd4, +}; +static const struct drbg_kat_pr_true kat3690_t = { + 14, kat3690_entropyin, kat3690_nonce, kat3690_persstr, + kat3690_entropyinpr1, kat3690_addinpr1, kat3690_entropyinpr2, + kat3690_addinpr2, kat3690_retbits +}; +static const struct drbg_kat kat3690 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3690_t +}; + +static const unsigned char kat3691_entropyin[] = { + 0xee, 0x55, 0xa9, 0x77, 0x38, 0x55, 0x07, 0x42, 0xef, 0xfe, 0xfd, 0x7d, + 0x5a, 0x43, 0xfb, 0x23, 0x63, 0xb9, 0x1a, 0xcc, 0xca, 0xc5, 0xb4, 0xb4, + 0x79, 0xc4, 0xed, 0xfe, 0x0e, 0x66, 0xd5, 0x6e, +}; +static const unsigned char kat3691_nonce[] = {0}; +static const unsigned char kat3691_persstr[] = { + 0x5f, 0xe7, 0xc9, 0x47, 0x78, 0xa3, 0x47, 0x4f, 0xca, 0xe5, 0xd5, 0x66, + 0x4c, 0xd9, 0x53, 0x0b, 0xb2, 0xca, 0xad, 0x48, 0x0b, 0x94, 0x15, 0x67, + 0x6e, 0x30, 0x06, 0x42, 0x06, 0x8b, 0x63, 0x9d, +}; +static const unsigned char kat3691_entropyinpr1[] = { + 0x3e, 0xf8, 0x2e, 0x3b, 0x01, 0x69, 0xad, 0xf2, 0x2b, 0xc1, 0xd1, 0x3a, + 0x91, 0xdd, 0x35, 0x9d, 0xef, 0x6f, 0x26, 0x9f, 0x00, 0x8f, 0x3c, 0x49, + 0x46, 0x74, 0x47, 0x06, 0x3e, 0x0e, 0xf8, 0x05, +}; +static const unsigned char kat3691_addinpr1[] = {0}; +static const unsigned char kat3691_entropyinpr2[] = { + 0xac, 0x84, 0xeb, 0xc9, 0x93, 0x8b, 0xda, 0x8f, 0xe8, 0x47, 0x56, 0xa8, + 0x70, 0x47, 0xa5, 0xd5, 0x02, 0xce, 0x64, 0x82, 0xa2, 0xa0, 0x40, 0xd2, + 0x56, 0x43, 0x00, 0x7f, 0x2e, 0x1d, 0xa8, 0xf3, +}; +static const unsigned char kat3691_addinpr2[] = {0}; +static const unsigned char kat3691_retbits[] = { + 0xdb, 0xed, 0x55, 0x77, 0x2e, 0x15, 0x85, 0x48, 0xb8, 0xc0, 0x1c, 0x4c, + 0xd4, 0x82, 0x55, 0x07, 0xe1, 0x26, 0xf2, 0xf1, 0xb1, 0x8e, 0x4d, 0xb4, + 0x50, 0x9c, 0x19, 0xb1, 0x84, 0x84, 0xe6, 0x03, 0x2e, 0xd3, 0xbd, 0x22, + 0x71, 0xb0, 0x02, 0xf1, 0x3f, 0x1b, 0xcb, 0x9b, 0xc1, 0x22, 0x3f, 0x9a, + 0xc0, 0xda, 0x01, 0x70, 0x72, 0x0e, 0xc8, 0xeb, 0x97, 0x49, 0xd0, 0x69, + 0xe2, 0x00, 0xf2, 0xe8, +}; +static const struct drbg_kat_pr_true kat3691_t = { + 0, kat3691_entropyin, kat3691_nonce, kat3691_persstr, + kat3691_entropyinpr1, kat3691_addinpr1, kat3691_entropyinpr2, + kat3691_addinpr2, kat3691_retbits +}; +static const struct drbg_kat kat3691 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3691_t +}; + +static const unsigned char kat3692_entropyin[] = { + 0x11, 0xed, 0xc9, 0x98, 0x85, 0x1e, 0xba, 0x78, 0xa0, 0x19, 0x60, 0xd7, + 0x13, 0xf8, 0x43, 0xd8, 0x94, 0x9d, 0xb4, 0xbb, 0x07, 0x35, 0xd6, 0xbb, + 0xc9, 0x41, 0xd1, 0x3a, 0xed, 0xe5, 0x35, 0x53, +}; +static const unsigned char kat3692_nonce[] = {0}; +static const unsigned char kat3692_persstr[] = { + 0xab, 0xe1, 0x33, 0x91, 0x16, 0x9a, 0x7b, 0x3d, 0x3d, 0x49, 0x8d, 0x89, + 0x06, 0xb5, 0x20, 0x04, 0xbd, 0xb6, 0x76, 0xd4, 0x5e, 0x9c, 0xa3, 0x06, + 0x0c, 0xfe, 0x21, 0xec, 0xf6, 0xd1, 0x03, 0x48, +}; +static const unsigned char kat3692_entropyinpr1[] = { + 0x17, 0xd5, 0xfd, 0x16, 0xd8, 0x66, 0x60, 0xef, 0x3a, 0x3d, 0x2f, 0x36, + 0xe9, 0x9c, 0xc6, 0x7c, 0x59, 0x0c, 0x5c, 0xae, 0xb2, 0xf3, 0x4c, 0x13, + 0xc1, 0x53, 0x98, 0xd1, 0x66, 0x43, 0x7e, 0xf5, +}; +static const unsigned char kat3692_addinpr1[] = {0}; +static const unsigned char kat3692_entropyinpr2[] = { + 0xad, 0x40, 0x52, 0xe8, 0xc3, 0xd7, 0x10, 0x5f, 0x9e, 0xe2, 0xbd, 0x04, + 0x58, 0xe7, 0xe6, 0xee, 0xe7, 0xf8, 0x1a, 0x52, 0x07, 0xc2, 0x8c, 0x06, + 0xcd, 0x49, 0x78, 0xd1, 0xf9, 0x7b, 0x7d, 0x44, +}; +static const unsigned char kat3692_addinpr2[] = {0}; +static const unsigned char kat3692_retbits[] = { + 0x33, 0xdf, 0x35, 0x9f, 0xad, 0x35, 0x8f, 0xd0, 0x52, 0xd8, 0x1d, 0x6e, + 0x6a, 0xaf, 0xe3, 0xd3, 0x0d, 0x2b, 0xd5, 0xf0, 0xcb, 0xea, 0x34, 0xfa, + 0xf0, 0xa2, 0xc5, 0xf7, 0x98, 0x1e, 0x10, 0x03, 0x92, 0x4b, 0x6f, 0x5d, + 0xed, 0x0f, 0xe0, 0x08, 0x66, 0xc6, 0x38, 0x7a, 0x36, 0x89, 0x8d, 0xc6, + 0xe2, 0x3d, 0x2f, 0x3f, 0x10, 0x92, 0x72, 0x01, 0x29, 0xc5, 0x5c, 0xea, + 0xb8, 0xb9, 0x49, 0x41, +}; +static const struct drbg_kat_pr_true kat3692_t = { + 1, kat3692_entropyin, kat3692_nonce, kat3692_persstr, + kat3692_entropyinpr1, kat3692_addinpr1, kat3692_entropyinpr2, + kat3692_addinpr2, kat3692_retbits +}; +static const struct drbg_kat kat3692 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3692_t +}; + +static const unsigned char kat3693_entropyin[] = { + 0xf9, 0xdc, 0x20, 0xcd, 0xa9, 0x48, 0x3f, 0x64, 0x01, 0x99, 0xc4, 0x88, + 0xcb, 0xf5, 0x9e, 0xdc, 0x8e, 0xf9, 0x82, 0x9a, 0x2c, 0xdc, 0xff, 0x27, + 0xc9, 0x49, 0x6e, 0x92, 0x72, 0xf1, 0x90, 0x4e, +}; +static const unsigned char kat3693_nonce[] = {0}; +static const unsigned char kat3693_persstr[] = { + 0x06, 0xd2, 0x8e, 0x96, 0x9a, 0xf2, 0xde, 0x1e, 0x67, 0x73, 0x13, 0x6b, + 0xee, 0xab, 0xac, 0x97, 0x79, 0x60, 0x85, 0x99, 0x55, 0xcc, 0x1f, 0xff, + 0x5e, 0x3c, 0xc3, 0x65, 0x84, 0xf9, 0x6a, 0x3f, +}; +static const unsigned char kat3693_entropyinpr1[] = { + 0xc6, 0x68, 0x11, 0x72, 0x28, 0x27, 0x4c, 0xf4, 0x87, 0xbb, 0x89, 0xf2, + 0x1e, 0x1a, 0xd6, 0x0a, 0x1f, 0xaf, 0x0d, 0x27, 0xcb, 0x87, 0x3f, 0x1d, + 0x31, 0x59, 0xe7, 0x11, 0x5b, 0x6a, 0x7e, 0x9c, +}; +static const unsigned char kat3693_addinpr1[] = {0}; +static const unsigned char kat3693_entropyinpr2[] = { + 0xa7, 0xeb, 0x3c, 0xc4, 0xdf, 0xe1, 0xe5, 0xaf, 0x2d, 0x54, 0xc5, 0x29, + 0x2d, 0x86, 0x9f, 0x96, 0x40, 0x05, 0xf4, 0x2e, 0xf8, 0x10, 0x09, 0x72, + 0xc8, 0x65, 0x90, 0x91, 0x1d, 0x21, 0x83, 0x07, +}; +static const unsigned char kat3693_addinpr2[] = {0}; +static const unsigned char kat3693_retbits[] = { + 0xaa, 0xdc, 0x34, 0xee, 0x91, 0x54, 0x99, 0xb1, 0x7c, 0xad, 0x15, 0x13, + 0x1a, 0xe1, 0x38, 0x3f, 0x35, 0xe5, 0xfb, 0xca, 0x3f, 0x13, 0x82, 0x00, + 0xdd, 0x07, 0x06, 0x51, 0xcd, 0x29, 0x2e, 0x96, 0x5b, 0x65, 0x9c, 0x49, + 0x28, 0x09, 0x0b, 0xf4, 0xca, 0xa8, 0x2e, 0xb2, 0xa3, 0xd5, 0x59, 0x42, + 0x4d, 0xb2, 0x3a, 0x04, 0x26, 0xfb, 0xd6, 0x61, 0x44, 0xbd, 0x0d, 0x13, + 0x78, 0xe3, 0x29, 0x3b, +}; +static const struct drbg_kat_pr_true kat3693_t = { + 2, kat3693_entropyin, kat3693_nonce, kat3693_persstr, + kat3693_entropyinpr1, kat3693_addinpr1, kat3693_entropyinpr2, + kat3693_addinpr2, kat3693_retbits +}; +static const struct drbg_kat kat3693 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3693_t +}; + +static const unsigned char kat3694_entropyin[] = { + 0x33, 0xd4, 0x7f, 0xb0, 0xf3, 0x3e, 0xe9, 0x8c, 0x93, 0x9a, 0xab, 0x57, + 0xca, 0x43, 0x1f, 0x70, 0x60, 0xbc, 0x90, 0xc2, 0x94, 0x28, 0x69, 0x40, + 0x7c, 0x16, 0x86, 0xd6, 0x61, 0xf3, 0x1b, 0x35, +}; +static const unsigned char kat3694_nonce[] = {0}; +static const unsigned char kat3694_persstr[] = { + 0x0c, 0x5b, 0x86, 0x31, 0x72, 0xdc, 0x14, 0xff, 0xeb, 0xdb, 0x0c, 0xa9, + 0x40, 0x7f, 0x97, 0xc6, 0x9e, 0x87, 0xd6, 0x41, 0xab, 0xd4, 0x62, 0x6a, + 0x8e, 0x35, 0xbb, 0x23, 0x0f, 0x6f, 0x62, 0x59, +}; +static const unsigned char kat3694_entropyinpr1[] = { + 0xae, 0x5a, 0xaf, 0xff, 0x05, 0x46, 0x13, 0x43, 0x9b, 0x01, 0x42, 0x7e, + 0xbf, 0x22, 0xea, 0xde, 0x86, 0x74, 0x4a, 0x6b, 0xa1, 0x83, 0x54, 0x71, + 0xe1, 0x77, 0x33, 0x54, 0x07, 0x9d, 0x4a, 0x67, +}; +static const unsigned char kat3694_addinpr1[] = {0}; +static const unsigned char kat3694_entropyinpr2[] = { + 0x3b, 0xd9, 0xab, 0x01, 0x0f, 0x7a, 0x31, 0x90, 0x4c, 0xff, 0x7f, 0x9d, + 0x2e, 0x1e, 0x77, 0x65, 0xa7, 0x1e, 0xfc, 0xe1, 0x5f, 0xd2, 0xc2, 0x03, + 0xa5, 0x01, 0x26, 0x5c, 0xba, 0x6f, 0x24, 0x61, +}; +static const unsigned char kat3694_addinpr2[] = {0}; +static const unsigned char kat3694_retbits[] = { + 0x3b, 0xf8, 0xd5, 0xfc, 0xc0, 0x06, 0xb6, 0xc8, 0xe9, 0x28, 0x80, 0x48, + 0xf7, 0x39, 0xf7, 0x22, 0xcb, 0x7a, 0x04, 0xd7, 0x2f, 0x1f, 0x2f, 0xf3, + 0x80, 0xa7, 0x69, 0xde, 0x5d, 0x22, 0xfa, 0x7e, 0xfa, 0x9c, 0x1f, 0x88, + 0x5f, 0x50, 0x27, 0x4d, 0x5f, 0x67, 0xb0, 0x5b, 0xb3, 0xdb, 0x38, 0xf7, + 0x23, 0x95, 0x7c, 0xdc, 0x7b, 0x0e, 0xa5, 0xe6, 0x4a, 0x16, 0x88, 0x92, + 0x79, 0x0c, 0xf3, 0x66, +}; +static const struct drbg_kat_pr_true kat3694_t = { + 3, kat3694_entropyin, kat3694_nonce, kat3694_persstr, + kat3694_entropyinpr1, kat3694_addinpr1, kat3694_entropyinpr2, + kat3694_addinpr2, kat3694_retbits +}; +static const struct drbg_kat kat3694 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3694_t +}; + +static const unsigned char kat3695_entropyin[] = { + 0xfa, 0x02, 0x4c, 0x89, 0xb9, 0x28, 0x1e, 0x20, 0xc5, 0x1f, 0x37, 0x89, + 0xdf, 0xcf, 0x21, 0xe7, 0x8f, 0x0e, 0x71, 0x3f, 0x71, 0x48, 0xee, 0xf3, + 0x82, 0x61, 0xf1, 0x63, 0x74, 0x01, 0x14, 0x1f, +}; +static const unsigned char kat3695_nonce[] = {0}; +static const unsigned char kat3695_persstr[] = { + 0x1c, 0x88, 0x20, 0x3a, 0xff, 0x89, 0xcb, 0x4b, 0xbb, 0xdb, 0x5d, 0x1b, + 0x64, 0x32, 0x23, 0x15, 0x6c, 0x56, 0x98, 0x20, 0x79, 0x09, 0xbb, 0x7b, + 0x6b, 0xe0, 0xb9, 0xe7, 0xd8, 0xf8, 0x3e, 0x67, +}; +static const unsigned char kat3695_entropyinpr1[] = { + 0x8a, 0x03, 0xf7, 0x9c, 0xfa, 0xee, 0xc6, 0xb6, 0x1b, 0xec, 0x27, 0xd6, + 0xf7, 0xac, 0x9b, 0x5b, 0x10, 0xc6, 0x3e, 0x7e, 0x6a, 0xed, 0x2a, 0x1f, + 0x02, 0x92, 0xfd, 0x35, 0x48, 0xea, 0x9f, 0x3e, +}; +static const unsigned char kat3695_addinpr1[] = {0}; +static const unsigned char kat3695_entropyinpr2[] = { + 0x41, 0x3d, 0x8c, 0x0a, 0xda, 0x92, 0x34, 0xf9, 0x52, 0x10, 0xdc, 0x1c, + 0xa8, 0xe5, 0xf1, 0xf2, 0xcb, 0x5f, 0x9c, 0xc4, 0x19, 0x3d, 0xcf, 0xc5, + 0x3a, 0xa1, 0x6c, 0xf4, 0xb1, 0xd2, 0x1e, 0xfa, +}; +static const unsigned char kat3695_addinpr2[] = {0}; +static const unsigned char kat3695_retbits[] = { + 0xcd, 0x17, 0xd5, 0xeb, 0x10, 0xa7, 0x38, 0xdb, 0xb0, 0x22, 0x92, 0x5f, + 0x82, 0xa8, 0x34, 0xf2, 0xa3, 0x39, 0xfb, 0x4c, 0xb3, 0xee, 0x07, 0xf5, + 0xaa, 0x9b, 0x7d, 0x06, 0x49, 0x3d, 0x92, 0x8c, 0xa6, 0x83, 0xa1, 0x33, + 0xb4, 0x0b, 0x3e, 0x94, 0x9e, 0xb0, 0xbb, 0x33, 0x61, 0x59, 0x33, 0x84, + 0xfa, 0x0b, 0x04, 0x79, 0x1a, 0x43, 0xd9, 0x4b, 0x87, 0x9a, 0x34, 0xa1, + 0xfb, 0xa2, 0x9f, 0x02, +}; +static const struct drbg_kat_pr_true kat3695_t = { + 4, kat3695_entropyin, kat3695_nonce, kat3695_persstr, + kat3695_entropyinpr1, kat3695_addinpr1, kat3695_entropyinpr2, + kat3695_addinpr2, kat3695_retbits +}; +static const struct drbg_kat kat3695 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3695_t +}; + +static const unsigned char kat3696_entropyin[] = { + 0x80, 0x66, 0x5c, 0x98, 0xd1, 0x0d, 0x79, 0x77, 0x59, 0xec, 0x16, 0xde, + 0x62, 0xd8, 0xee, 0x4d, 0xf5, 0x16, 0x23, 0x34, 0x7b, 0xfc, 0xd8, 0xac, + 0x3e, 0xbb, 0xeb, 0x10, 0x15, 0x6f, 0xfd, 0xdc, +}; +static const unsigned char kat3696_nonce[] = {0}; +static const unsigned char kat3696_persstr[] = { + 0x65, 0x3e, 0x8c, 0x87, 0xd6, 0x20, 0xdf, 0x64, 0x5d, 0x31, 0x57, 0x73, + 0x32, 0x03, 0xf0, 0xc5, 0x6b, 0x63, 0xe4, 0xcd, 0xfb, 0x7f, 0x98, 0x83, + 0xda, 0x4e, 0x19, 0x75, 0xea, 0x14, 0xc8, 0x52, +}; +static const unsigned char kat3696_entropyinpr1[] = { + 0x99, 0xe0, 0x59, 0x7c, 0x5f, 0xa9, 0x6d, 0xc4, 0xee, 0x61, 0x99, 0x37, + 0x09, 0x1d, 0x5f, 0x7a, 0x67, 0xe6, 0x86, 0xa1, 0x79, 0xbd, 0xe6, 0x8c, + 0x0e, 0xdd, 0xcf, 0xf6, 0xb1, 0xdb, 0x19, 0xc8, +}; +static const unsigned char kat3696_addinpr1[] = {0}; +static const unsigned char kat3696_entropyinpr2[] = { + 0x08, 0x7c, 0x73, 0x67, 0x58, 0xe4, 0x2a, 0x8b, 0x6c, 0x6e, 0x4a, 0x1a, + 0x13, 0xe6, 0x15, 0x01, 0xff, 0x79, 0x48, 0xa2, 0xcc, 0xce, 0xcf, 0x2c, + 0x20, 0x70, 0xad, 0xc5, 0x93, 0x1c, 0x49, 0x72, +}; +static const unsigned char kat3696_addinpr2[] = {0}; +static const unsigned char kat3696_retbits[] = { + 0x29, 0xfd, 0x64, 0x17, 0x16, 0x69, 0x1b, 0x1f, 0x94, 0x35, 0x42, 0x19, + 0xe2, 0x0e, 0x7e, 0xfb, 0x15, 0x17, 0x54, 0x67, 0x1e, 0x19, 0x6e, 0x44, + 0x0a, 0x61, 0x4f, 0x34, 0xb8, 0x68, 0x37, 0xa8, 0xbc, 0xb0, 0x80, 0xcf, + 0x7f, 0xbc, 0xf0, 0x91, 0x41, 0xbd, 0x8e, 0xbe, 0xe7, 0xde, 0x6e, 0xec, + 0x06, 0xf6, 0x22, 0xbe, 0x10, 0x06, 0x3b, 0x6f, 0x6e, 0xfc, 0x21, 0x7c, + 0x94, 0x5f, 0xc9, 0xef, +}; +static const struct drbg_kat_pr_true kat3696_t = { + 5, kat3696_entropyin, kat3696_nonce, kat3696_persstr, + kat3696_entropyinpr1, kat3696_addinpr1, kat3696_entropyinpr2, + kat3696_addinpr2, kat3696_retbits +}; +static const struct drbg_kat kat3696 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3696_t +}; + +static const unsigned char kat3697_entropyin[] = { + 0xa5, 0x3e, 0x59, 0x2b, 0xf6, 0x28, 0xec, 0x67, 0xb0, 0x70, 0xe3, 0xc1, + 0x43, 0xe5, 0x4c, 0x1f, 0x86, 0x5b, 0x8f, 0xcf, 0x0b, 0x3e, 0x43, 0x7d, + 0x09, 0x2b, 0xe8, 0x2b, 0xe7, 0x2c, 0x7e, 0x6c, +}; +static const unsigned char kat3697_nonce[] = {0}; +static const unsigned char kat3697_persstr[] = { + 0xa3, 0x50, 0x28, 0x3b, 0x25, 0xd1, 0x53, 0x05, 0x83, 0x74, 0xf5, 0x81, + 0x4e, 0xcd, 0xd8, 0x0c, 0xd7, 0x8b, 0x8e, 0xef, 0xdb, 0xc6, 0x7b, 0x06, + 0x54, 0xa9, 0x83, 0x6b, 0xc8, 0x0c, 0x28, 0x6d, +}; +static const unsigned char kat3697_entropyinpr1[] = { + 0xd0, 0x1f, 0x40, 0x4c, 0x9f, 0xe6, 0xcc, 0x4b, 0x06, 0x46, 0xad, 0xe5, + 0x6e, 0x6f, 0x30, 0xa0, 0xc7, 0x63, 0xbf, 0x53, 0x7a, 0x95, 0xb7, 0x1b, + 0x9f, 0x97, 0x6e, 0x9c, 0x7d, 0x6e, 0x15, 0x51, +}; +static const unsigned char kat3697_addinpr1[] = {0}; +static const unsigned char kat3697_entropyinpr2[] = { + 0xc7, 0x79, 0x4c, 0x0b, 0xe9, 0x0f, 0x4a, 0xd1, 0xb4, 0x4d, 0x95, 0xb2, + 0xa5, 0x64, 0xee, 0x5f, 0xaf, 0x9c, 0x2a, 0x86, 0x74, 0xde, 0x9f, 0x4c, + 0xca, 0xc0, 0x24, 0x77, 0x15, 0xf8, 0x73, 0xf7, +}; +static const unsigned char kat3697_addinpr2[] = {0}; +static const unsigned char kat3697_retbits[] = { + 0x13, 0xb1, 0xbf, 0x14, 0x67, 0x2e, 0xa2, 0x03, 0xa7, 0xa5, 0xfe, 0xca, + 0x66, 0x38, 0x59, 0xb0, 0x8a, 0xb5, 0x87, 0x8f, 0x44, 0xc3, 0xb8, 0x8d, + 0xf7, 0x95, 0x98, 0x98, 0x5a, 0x88, 0xc3, 0xb2, 0x8a, 0x84, 0xd6, 0xe0, + 0x0e, 0x87, 0x01, 0x10, 0x9c, 0xfe, 0x2c, 0x15, 0xea, 0x85, 0x90, 0x8f, + 0x0e, 0xdf, 0x7b, 0x87, 0x76, 0x71, 0xc0, 0x22, 0xbb, 0xb0, 0xd3, 0x1e, + 0xbf, 0xa3, 0xb3, 0x8a, +}; +static const struct drbg_kat_pr_true kat3697_t = { + 6, kat3697_entropyin, kat3697_nonce, kat3697_persstr, + kat3697_entropyinpr1, kat3697_addinpr1, kat3697_entropyinpr2, + kat3697_addinpr2, kat3697_retbits +}; +static const struct drbg_kat kat3697 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3697_t +}; + +static const unsigned char kat3698_entropyin[] = { + 0x8c, 0xb2, 0xfa, 0xbb, 0x3f, 0xeb, 0x08, 0x21, 0xb8, 0xbe, 0x1a, 0xe0, + 0x25, 0x13, 0x79, 0x18, 0x35, 0xac, 0xcd, 0x0f, 0xaf, 0x33, 0x05, 0x95, + 0x55, 0x74, 0x4b, 0x8e, 0x7b, 0xbb, 0x59, 0x00, +}; +static const unsigned char kat3698_nonce[] = {0}; +static const unsigned char kat3698_persstr[] = { + 0x5e, 0x63, 0x16, 0xfb, 0x93, 0xcd, 0xc3, 0x40, 0x78, 0x80, 0x7f, 0xd8, + 0x38, 0x58, 0xca, 0x6d, 0xeb, 0xfe, 0x7b, 0x50, 0xd7, 0xb5, 0x1a, 0xc1, + 0xb8, 0x93, 0xf2, 0x7b, 0xb5, 0x82, 0xfd, 0xe4, +}; +static const unsigned char kat3698_entropyinpr1[] = { + 0xd5, 0xf9, 0x90, 0x5d, 0x50, 0xef, 0x70, 0xb9, 0x60, 0x44, 0xf6, 0x6f, + 0x9a, 0xea, 0x9e, 0x38, 0x1c, 0x84, 0x07, 0xc1, 0x8c, 0xa9, 0x8d, 0x7c, + 0x65, 0xec, 0x72, 0xda, 0x06, 0x25, 0x17, 0xc8, +}; +static const unsigned char kat3698_addinpr1[] = {0}; +static const unsigned char kat3698_entropyinpr2[] = { + 0x1c, 0x06, 0x81, 0x5f, 0xba, 0x94, 0x6e, 0x4f, 0x86, 0x03, 0xcf, 0x7f, + 0x11, 0x69, 0xda, 0xb4, 0x95, 0x9a, 0x75, 0x34, 0x4e, 0x6f, 0x5e, 0x3d, + 0xe9, 0xe8, 0xa9, 0x8a, 0x85, 0xb1, 0x35, 0x17, +}; +static const unsigned char kat3698_addinpr2[] = {0}; +static const unsigned char kat3698_retbits[] = { + 0x03, 0x09, 0x7c, 0xe5, 0x59, 0x66, 0x9f, 0x28, 0x94, 0x87, 0x13, 0x9d, + 0xa6, 0x30, 0x5f, 0x23, 0x23, 0x04, 0x8b, 0xf9, 0x24, 0x5a, 0xc0, 0x06, + 0xaa, 0xa0, 0xe5, 0x78, 0xac, 0xd9, 0xab, 0x16, 0xf2, 0xa8, 0xdd, 0xa5, + 0x06, 0x51, 0xff, 0xbd, 0x91, 0xa8, 0x45, 0xd6, 0xfc, 0x11, 0x75, 0x93, + 0x28, 0xc6, 0x7e, 0xcd, 0x65, 0x86, 0x34, 0x1f, 0xa2, 0x20, 0x51, 0x3b, + 0xde, 0xc7, 0x30, 0x1a, +}; +static const struct drbg_kat_pr_true kat3698_t = { + 7, kat3698_entropyin, kat3698_nonce, kat3698_persstr, + kat3698_entropyinpr1, kat3698_addinpr1, kat3698_entropyinpr2, + kat3698_addinpr2, kat3698_retbits +}; +static const struct drbg_kat kat3698 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3698_t +}; + +static const unsigned char kat3699_entropyin[] = { + 0xee, 0xb5, 0x66, 0xd9, 0xc6, 0xdc, 0x97, 0x9b, 0xd0, 0x6e, 0x73, 0x4b, + 0x54, 0xad, 0xb7, 0xff, 0x2c, 0xe8, 0x06, 0x79, 0xcb, 0x3b, 0x54, 0x06, + 0x06, 0x3a, 0xb5, 0x89, 0xa2, 0x36, 0x88, 0xcc, +}; +static const unsigned char kat3699_nonce[] = {0}; +static const unsigned char kat3699_persstr[] = { + 0x0b, 0x22, 0xb4, 0x63, 0x3e, 0x36, 0x57, 0xbd, 0x5f, 0xaa, 0x1d, 0x88, + 0xeb, 0xa2, 0x3e, 0x8d, 0xd6, 0x70, 0xd8, 0x34, 0xcc, 0x0a, 0xbd, 0x6a, + 0xa7, 0x00, 0x74, 0x5b, 0xc2, 0x5a, 0xb5, 0x35, +}; +static const unsigned char kat3699_entropyinpr1[] = { + 0x3c, 0x5e, 0xb7, 0x0e, 0xf7, 0x83, 0x25, 0x1d, 0xb8, 0xe1, 0x65, 0xf2, + 0x78, 0xe3, 0x77, 0x65, 0x41, 0xc4, 0x8c, 0x24, 0x8f, 0xa1, 0xf5, 0x79, + 0x01, 0x24, 0xc0, 0xa4, 0x67, 0x56, 0x59, 0xe7, +}; +static const unsigned char kat3699_addinpr1[] = {0}; +static const unsigned char kat3699_entropyinpr2[] = { + 0x82, 0x0a, 0xeb, 0x6b, 0x9c, 0x95, 0x9b, 0xd0, 0xf9, 0xa6, 0xcb, 0xe0, + 0xbe, 0x5d, 0x01, 0xe4, 0xb3, 0x6d, 0x00, 0xfe, 0x56, 0x15, 0x08, 0xef, + 0x4d, 0xc4, 0x5b, 0xd5, 0x03, 0xe8, 0xb9, 0x9f, +}; +static const unsigned char kat3699_addinpr2[] = {0}; +static const unsigned char kat3699_retbits[] = { + 0x83, 0xba, 0x42, 0xf8, 0x51, 0xc8, 0x37, 0xcc, 0x9b, 0x45, 0x54, 0x14, + 0xf0, 0x76, 0x50, 0x4f, 0x17, 0xb7, 0x6f, 0x41, 0x7f, 0x62, 0x83, 0xaf, + 0x33, 0xf6, 0x39, 0x89, 0x2f, 0xc8, 0x57, 0x1a, 0xcb, 0x52, 0x53, 0x46, + 0xe2, 0xff, 0x79, 0xab, 0x12, 0xd8, 0x91, 0x3e, 0x69, 0x6a, 0x18, 0x59, + 0xa1, 0x7e, 0xfc, 0xa8, 0x8d, 0xb7, 0x27, 0x3a, 0x99, 0x41, 0x7c, 0x5e, + 0xf1, 0xd8, 0x87, 0x15, +}; +static const struct drbg_kat_pr_true kat3699_t = { + 8, kat3699_entropyin, kat3699_nonce, kat3699_persstr, + kat3699_entropyinpr1, kat3699_addinpr1, kat3699_entropyinpr2, + kat3699_addinpr2, kat3699_retbits +}; +static const struct drbg_kat kat3699 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3699_t +}; + +static const unsigned char kat3700_entropyin[] = { + 0xa7, 0x1c, 0x2f, 0x01, 0x70, 0xe7, 0x99, 0x88, 0x04, 0xe6, 0x96, 0x1d, + 0x79, 0x18, 0xee, 0x63, 0x87, 0xcc, 0x08, 0xba, 0x7f, 0xb7, 0xe5, 0x6e, + 0x7b, 0x26, 0xa4, 0x15, 0x97, 0xc5, 0xc0, 0x98, +}; +static const unsigned char kat3700_nonce[] = {0}; +static const unsigned char kat3700_persstr[] = { + 0x93, 0x63, 0x77, 0xc9, 0xb6, 0xfd, 0xf5, 0xe3, 0xe8, 0xb7, 0xb2, 0x88, + 0xf4, 0x70, 0xc1, 0x3b, 0x1d, 0x2c, 0x43, 0x42, 0x6b, 0x96, 0x95, 0xc3, + 0x25, 0xc3, 0xed, 0xf2, 0x00, 0xbf, 0xac, 0x5f, +}; +static const unsigned char kat3700_entropyinpr1[] = { + 0x08, 0x3e, 0xc9, 0xfa, 0x97, 0x4b, 0x46, 0xb1, 0x11, 0xb3, 0x41, 0xb2, + 0x7c, 0x26, 0x64, 0x04, 0x98, 0x72, 0x2a, 0xf6, 0x54, 0xcb, 0x87, 0x8a, + 0x6d, 0x26, 0x6a, 0x86, 0xbf, 0x63, 0xfb, 0x7c, +}; +static const unsigned char kat3700_addinpr1[] = {0}; +static const unsigned char kat3700_entropyinpr2[] = { + 0x6e, 0x9c, 0xa0, 0xee, 0x1f, 0x96, 0x11, 0x61, 0x9d, 0x3f, 0x7c, 0x84, + 0xde, 0x39, 0xb3, 0xde, 0xc1, 0xa1, 0x01, 0x32, 0x9e, 0xf2, 0x51, 0x86, + 0xea, 0x37, 0x9f, 0x00, 0x01, 0xa6, 0x72, 0xeb, +}; +static const unsigned char kat3700_addinpr2[] = {0}; +static const unsigned char kat3700_retbits[] = { + 0xfa, 0x52, 0xa3, 0x8f, 0xaa, 0xdd, 0x5b, 0xcf, 0x80, 0x07, 0x82, 0x5d, + 0x66, 0x97, 0x45, 0x94, 0xe8, 0xd8, 0x8b, 0xec, 0x83, 0x5a, 0x42, 0x68, + 0x66, 0xe1, 0x0f, 0x30, 0xef, 0x24, 0x53, 0xdb, 0x2b, 0xa6, 0x45, 0x7b, + 0xea, 0xdc, 0x64, 0xdf, 0x2d, 0xb4, 0x16, 0xae, 0xd0, 0x7c, 0x2e, 0xd6, + 0xb0, 0xac, 0xf7, 0x7a, 0xb5, 0x32, 0x53, 0x66, 0xae, 0xcf, 0x7e, 0xf9, + 0x80, 0x53, 0x04, 0x21, +}; +static const struct drbg_kat_pr_true kat3700_t = { + 9, kat3700_entropyin, kat3700_nonce, kat3700_persstr, + kat3700_entropyinpr1, kat3700_addinpr1, kat3700_entropyinpr2, + kat3700_addinpr2, kat3700_retbits +}; +static const struct drbg_kat kat3700 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3700_t +}; + +static const unsigned char kat3701_entropyin[] = { + 0xe6, 0x7e, 0x46, 0xf3, 0xf0, 0xf9, 0x46, 0x83, 0x59, 0xc9, 0xdc, 0xf9, + 0xfe, 0x0d, 0x89, 0x5e, 0x67, 0x92, 0x9c, 0x1b, 0xa4, 0xe1, 0xe7, 0x7a, + 0xd2, 0xbc, 0x7a, 0xc6, 0x89, 0x78, 0xf7, 0x78, +}; +static const unsigned char kat3701_nonce[] = {0}; +static const unsigned char kat3701_persstr[] = { + 0x70, 0xb3, 0x07, 0x4d, 0xe0, 0x21, 0xce, 0xc7, 0xbc, 0xe1, 0xaf, 0x85, + 0xd8, 0x65, 0x35, 0xca, 0x96, 0xe3, 0xc1, 0x98, 0xf1, 0xb1, 0xbc, 0xb6, + 0x4d, 0xce, 0xc2, 0x8b, 0x62, 0x68, 0xf0, 0x2c, +}; +static const unsigned char kat3701_entropyinpr1[] = { + 0x4b, 0xf6, 0x8c, 0x60, 0x1a, 0x85, 0x57, 0xbe, 0xf0, 0x15, 0x5e, 0x3d, + 0xa0, 0xb7, 0xa0, 0x7b, 0x9f, 0x5a, 0xef, 0xe2, 0xb6, 0x65, 0x75, 0xbd, + 0x92, 0x9f, 0xcf, 0x4d, 0x5c, 0xcf, 0xce, 0x6c, +}; +static const unsigned char kat3701_addinpr1[] = {0}; +static const unsigned char kat3701_entropyinpr2[] = { + 0x27, 0x0f, 0x83, 0xa0, 0xa7, 0xc4, 0x67, 0x8c, 0xad, 0x79, 0x2d, 0x9d, + 0x35, 0xb6, 0x3c, 0x8f, 0x32, 0xe5, 0xf0, 0x4c, 0x7c, 0x2e, 0x36, 0x52, + 0x72, 0xe7, 0x4f, 0x4a, 0x68, 0x0a, 0x13, 0xe2, +}; +static const unsigned char kat3701_addinpr2[] = {0}; +static const unsigned char kat3701_retbits[] = { + 0xfe, 0xf3, 0x3e, 0xd5, 0x98, 0xd9, 0xc9, 0x2b, 0x11, 0x59, 0xea, 0x27, + 0x4b, 0x17, 0xd0, 0xd2, 0xe7, 0x57, 0x47, 0x67, 0xb2, 0x2f, 0xae, 0xfe, + 0x49, 0x2f, 0x76, 0x3f, 0x87, 0x5b, 0xa8, 0x25, 0xdd, 0x1d, 0x2b, 0x80, + 0x08, 0xa4, 0x64, 0x8e, 0x8d, 0x63, 0xb7, 0x57, 0xa6, 0x29, 0xd2, 0xdc, + 0x3b, 0xcb, 0xf1, 0xc2, 0xff, 0x98, 0x99, 0x91, 0xc6, 0x9f, 0xca, 0x17, + 0xd3, 0xf9, 0x8c, 0x1a, +}; +static const struct drbg_kat_pr_true kat3701_t = { + 10, kat3701_entropyin, kat3701_nonce, kat3701_persstr, + kat3701_entropyinpr1, kat3701_addinpr1, kat3701_entropyinpr2, + kat3701_addinpr2, kat3701_retbits +}; +static const struct drbg_kat kat3701 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3701_t +}; + +static const unsigned char kat3702_entropyin[] = { + 0x6a, 0x0f, 0x20, 0xfb, 0x2e, 0x79, 0x80, 0x58, 0x8a, 0x87, 0xdd, 0xfb, + 0xc6, 0xcb, 0x6a, 0x91, 0x91, 0x95, 0xde, 0xca, 0x2b, 0x3a, 0xac, 0x7a, + 0x8e, 0xd0, 0x27, 0x3f, 0x95, 0xdf, 0x6f, 0xd3, +}; +static const unsigned char kat3702_nonce[] = {0}; +static const unsigned char kat3702_persstr[] = { + 0x18, 0x83, 0x20, 0x43, 0x62, 0x39, 0x8a, 0x02, 0xf0, 0xd6, 0xd3, 0x22, + 0x22, 0x32, 0x65, 0x58, 0xdc, 0x7b, 0xc9, 0x4b, 0xd9, 0x48, 0x2a, 0xd0, + 0xac, 0x61, 0x16, 0x99, 0x95, 0x1d, 0xf1, 0x06, +}; +static const unsigned char kat3702_entropyinpr1[] = { + 0xad, 0xc6, 0x64, 0x96, 0xb8, 0xd7, 0x73, 0x8d, 0xfe, 0xb9, 0x73, 0x29, + 0x4a, 0x6d, 0x79, 0x45, 0xe4, 0xa1, 0xb0, 0xbd, 0x54, 0x00, 0x06, 0x2a, + 0x56, 0xcf, 0xeb, 0x04, 0xbf, 0xde, 0x98, 0x57, +}; +static const unsigned char kat3702_addinpr1[] = {0}; +static const unsigned char kat3702_entropyinpr2[] = { + 0xb8, 0x20, 0xc3, 0xf1, 0x0c, 0x8d, 0xd7, 0x20, 0x5f, 0xda, 0x78, 0xa4, + 0x29, 0x23, 0x14, 0xd4, 0x57, 0x97, 0xdf, 0xec, 0xd7, 0x1f, 0xed, 0x23, + 0xff, 0x0a, 0x85, 0x6e, 0xec, 0x45, 0x01, 0x79, +}; +static const unsigned char kat3702_addinpr2[] = {0}; +static const unsigned char kat3702_retbits[] = { + 0x01, 0x0e, 0x13, 0xdc, 0xea, 0x57, 0xc0, 0xde, 0xbd, 0x88, 0x71, 0x3c, + 0x3b, 0x7e, 0x43, 0x3c, 0x97, 0xdd, 0xad, 0xd8, 0x4e, 0x49, 0x39, 0x6a, + 0xf4, 0xa7, 0xee, 0x7f, 0x58, 0x02, 0x85, 0xd8, 0x02, 0x88, 0x08, 0x7f, + 0xf7, 0x2a, 0x37, 0x42, 0x87, 0x0c, 0x38, 0x64, 0x2f, 0x45, 0x6f, 0x67, + 0x6b, 0xf0, 0x19, 0x52, 0xcc, 0x2e, 0xdf, 0xc8, 0x2a, 0xea, 0x75, 0x37, + 0xd7, 0x53, 0xdf, 0xef, +}; +static const struct drbg_kat_pr_true kat3702_t = { + 11, kat3702_entropyin, kat3702_nonce, kat3702_persstr, + kat3702_entropyinpr1, kat3702_addinpr1, kat3702_entropyinpr2, + kat3702_addinpr2, kat3702_retbits +}; +static const struct drbg_kat kat3702 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3702_t +}; + +static const unsigned char kat3703_entropyin[] = { + 0x55, 0x56, 0x66, 0xbc, 0x1f, 0xb0, 0x98, 0x84, 0xc0, 0xf8, 0x3a, 0x0b, + 0x2b, 0x05, 0xb6, 0x99, 0x35, 0x06, 0xcd, 0x9c, 0xfa, 0x99, 0x47, 0x03, + 0x94, 0x21, 0x11, 0x63, 0x0b, 0x51, 0xb2, 0x59, +}; +static const unsigned char kat3703_nonce[] = {0}; +static const unsigned char kat3703_persstr[] = { + 0x64, 0x83, 0xa0, 0xaf, 0x79, 0x7c, 0xb6, 0xc9, 0xd6, 0x8b, 0xe1, 0x30, + 0xe7, 0x93, 0xc9, 0x86, 0xa9, 0x21, 0x87, 0xf5, 0x1c, 0x0f, 0xf9, 0x47, + 0xc7, 0x34, 0x5a, 0xaa, 0x61, 0x27, 0xfb, 0xcd, +}; +static const unsigned char kat3703_entropyinpr1[] = { + 0x8e, 0x5a, 0x9f, 0x4a, 0x73, 0xa8, 0xdb, 0x1e, 0xd8, 0xdb, 0x88, 0x9e, + 0x80, 0xc7, 0x87, 0xe2, 0x0d, 0x25, 0xd2, 0x22, 0x06, 0xe9, 0x5e, 0xec, + 0x61, 0xd5, 0x7c, 0xd1, 0xcd, 0x91, 0x76, 0xaf, +}; +static const unsigned char kat3703_addinpr1[] = {0}; +static const unsigned char kat3703_entropyinpr2[] = { + 0xb5, 0x99, 0x04, 0xdd, 0xfd, 0x61, 0xc3, 0xf2, 0x6b, 0x7d, 0x33, 0xd2, + 0x3c, 0x18, 0xc7, 0xf9, 0xd7, 0x16, 0x15, 0x3b, 0x48, 0x87, 0x73, 0x67, + 0x82, 0x41, 0xb8, 0x1b, 0x40, 0x66, 0x66, 0xda, +}; +static const unsigned char kat3703_addinpr2[] = {0}; +static const unsigned char kat3703_retbits[] = { + 0x19, 0xc8, 0xe2, 0x9e, 0x51, 0xf8, 0x98, 0x6a, 0x63, 0x5e, 0xd5, 0x3d, + 0x4a, 0x98, 0x47, 0xa6, 0x02, 0x16, 0x8e, 0x5c, 0xa2, 0xfb, 0xba, 0x07, + 0x99, 0xf0, 0xbc, 0x85, 0xf4, 0xe9, 0xa9, 0x82, 0xa6, 0x46, 0xa7, 0xc2, + 0x36, 0x42, 0xe4, 0xa4, 0x5c, 0x71, 0xd9, 0x24, 0x90, 0xf4, 0x7a, 0x24, + 0xdd, 0x82, 0xbf, 0xe0, 0x73, 0xa2, 0x9f, 0x5c, 0xc8, 0x87, 0x3e, 0xe2, + 0x38, 0x23, 0xfe, 0x89, +}; +static const struct drbg_kat_pr_true kat3703_t = { + 12, kat3703_entropyin, kat3703_nonce, kat3703_persstr, + kat3703_entropyinpr1, kat3703_addinpr1, kat3703_entropyinpr2, + kat3703_addinpr2, kat3703_retbits +}; +static const struct drbg_kat kat3703 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3703_t +}; + +static const unsigned char kat3704_entropyin[] = { + 0xfc, 0x85, 0x15, 0x5e, 0xfd, 0x4e, 0x76, 0x78, 0x31, 0x51, 0x46, 0xa3, + 0x8b, 0x52, 0x99, 0xaa, 0x41, 0x8f, 0xbd, 0xa1, 0x8e, 0x1f, 0x6d, 0x59, + 0x3c, 0x7e, 0xf3, 0xaf, 0x54, 0x62, 0x9e, 0xe4, +}; +static const unsigned char kat3704_nonce[] = {0}; +static const unsigned char kat3704_persstr[] = { + 0xde, 0x30, 0xff, 0x5d, 0xd4, 0xaa, 0x92, 0xef, 0xd8, 0xaa, 0x19, 0x98, + 0x39, 0xd1, 0x83, 0xef, 0xcd, 0xc3, 0xc5, 0xbc, 0xeb, 0x4e, 0x24, 0x06, + 0x06, 0x06, 0x1a, 0xd0, 0xc3, 0xab, 0x1d, 0x6a, +}; +static const unsigned char kat3704_entropyinpr1[] = { + 0xc2, 0xec, 0x1d, 0x42, 0xb8, 0xad, 0xd6, 0x49, 0x44, 0x02, 0x49, 0x5b, + 0x7a, 0xcf, 0x6b, 0xf6, 0xff, 0x43, 0xe9, 0xf9, 0x09, 0xeb, 0x89, 0x0e, + 0xbb, 0x58, 0xbc, 0x3e, 0x2f, 0x57, 0x4d, 0x99, +}; +static const unsigned char kat3704_addinpr1[] = {0}; +static const unsigned char kat3704_entropyinpr2[] = { + 0x3b, 0x8a, 0xb0, 0xe3, 0x69, 0x81, 0x6b, 0xea, 0xf5, 0xb4, 0x6b, 0xa2, + 0xc6, 0x51, 0xd1, 0x04, 0x32, 0x44, 0xa8, 0x91, 0x0f, 0xce, 0x1e, 0x99, + 0x87, 0x3e, 0x48, 0x7a, 0x60, 0xc3, 0x2a, 0x54, +}; +static const unsigned char kat3704_addinpr2[] = {0}; +static const unsigned char kat3704_retbits[] = { + 0x33, 0x19, 0x31, 0xde, 0xa8, 0xd6, 0xa2, 0x89, 0x02, 0x9c, 0x14, 0xe0, + 0x83, 0xb7, 0x5b, 0x63, 0x6c, 0x92, 0x8c, 0x89, 0x58, 0x21, 0x02, 0xce, + 0x2e, 0xa8, 0xa9, 0xa1, 0xa2, 0x4b, 0xf2, 0x26, 0x93, 0xb0, 0xa2, 0xcd, + 0x3f, 0x56, 0x2f, 0x17, 0xc1, 0x0f, 0xd8, 0x3d, 0x81, 0x75, 0x57, 0x3a, + 0x80, 0x5e, 0xd3, 0xdc, 0x6a, 0x3b, 0x28, 0x59, 0x8e, 0x33, 0xec, 0xc2, + 0xc5, 0x93, 0xb6, 0xe1, +}; +static const struct drbg_kat_pr_true kat3704_t = { + 13, kat3704_entropyin, kat3704_nonce, kat3704_persstr, + kat3704_entropyinpr1, kat3704_addinpr1, kat3704_entropyinpr2, + kat3704_addinpr2, kat3704_retbits +}; +static const struct drbg_kat kat3704 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3704_t +}; + +static const unsigned char kat3705_entropyin[] = { + 0x8b, 0x1a, 0x74, 0x0b, 0xa7, 0x0e, 0xc2, 0x15, 0xa6, 0x9c, 0x4c, 0x3d, + 0x92, 0xa0, 0xfa, 0x1b, 0x3a, 0x8a, 0x2b, 0x8c, 0xdb, 0x43, 0x58, 0xf7, + 0x7f, 0x02, 0xcc, 0xa4, 0xed, 0x50, 0x3f, 0xd7, +}; +static const unsigned char kat3705_nonce[] = {0}; +static const unsigned char kat3705_persstr[] = { + 0xbf, 0xe8, 0x59, 0x2a, 0x40, 0x93, 0xbd, 0x46, 0x4f, 0xf3, 0xc8, 0x36, + 0x88, 0x5f, 0x41, 0x92, 0x74, 0xe7, 0x4d, 0x71, 0xca, 0x62, 0xea, 0x83, + 0xcd, 0xef, 0x07, 0xcd, 0xf5, 0x27, 0x87, 0x9a, +}; +static const unsigned char kat3705_entropyinpr1[] = { + 0xd0, 0xca, 0xa7, 0x1a, 0x0c, 0x2e, 0x2f, 0x21, 0x8b, 0xdd, 0xed, 0x7a, + 0x08, 0x86, 0x4a, 0xdd, 0xea, 0x82, 0x2a, 0xaa, 0xb5, 0x98, 0xb5, 0x67, + 0x92, 0x70, 0x42, 0xdd, 0x3d, 0xb2, 0x93, 0x13, +}; +static const unsigned char kat3705_addinpr1[] = {0}; +static const unsigned char kat3705_entropyinpr2[] = { + 0x31, 0xfc, 0xf2, 0xf4, 0xf7, 0x58, 0x0e, 0xa3, 0xb7, 0x9e, 0x73, 0x88, + 0x30, 0xd4, 0x2a, 0x21, 0x89, 0x35, 0xac, 0x5c, 0x65, 0x83, 0xfe, 0xba, + 0xbc, 0x14, 0xbb, 0x54, 0x63, 0xfe, 0x46, 0x09, +}; +static const unsigned char kat3705_addinpr2[] = {0}; +static const unsigned char kat3705_retbits[] = { + 0xae, 0x6c, 0xbc, 0x3e, 0x10, 0x8b, 0xa6, 0x4b, 0x18, 0x24, 0x4a, 0xc1, + 0x4e, 0xef, 0xb6, 0x70, 0xca, 0xa1, 0x67, 0x84, 0xe1, 0x75, 0xff, 0xc1, + 0xf4, 0x11, 0x26, 0xcd, 0xbe, 0x79, 0x1e, 0x0e, 0x3d, 0xe2, 0x6d, 0x58, + 0x12, 0x3a, 0xae, 0x68, 0x43, 0x61, 0x3b, 0x47, 0x8b, 0x9e, 0xd9, 0x41, + 0x73, 0xfa, 0x27, 0xc7, 0x40, 0x0b, 0xb0, 0x71, 0xe0, 0xa9, 0x82, 0x9b, + 0x9a, 0x8f, 0xca, 0x19, +}; +static const struct drbg_kat_pr_true kat3705_t = { + 14, kat3705_entropyin, kat3705_nonce, kat3705_persstr, + kat3705_entropyinpr1, kat3705_addinpr1, kat3705_entropyinpr2, + kat3705_addinpr2, kat3705_retbits +}; +static const struct drbg_kat kat3705 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3705_t +}; + +static const unsigned char kat3706_entropyin[] = { + 0x0b, 0x9b, 0x6b, 0x06, 0x76, 0x68, 0xbc, 0xdd, 0x7f, 0xe3, 0xc9, 0x97, + 0x34, 0x11, 0x99, 0xa0, 0x92, 0x12, 0x44, 0xa4, 0xc5, 0x96, 0x09, 0xfe, + 0x00, 0x2a, 0xa4, 0x0a, 0x83, 0xd7, 0x9b, 0x9b, +}; +static const unsigned char kat3706_nonce[] = {0}; +static const unsigned char kat3706_persstr[] = { + 0x1d, 0xf9, 0xc0, 0x23, 0xcc, 0x60, 0x33, 0x5d, 0x65, 0xff, 0xa7, 0x10, + 0xf6, 0x26, 0x47, 0xf9, 0xfb, 0xae, 0x53, 0x9f, 0xf1, 0xfd, 0xf4, 0x35, + 0xd4, 0xfb, 0x79, 0xdc, 0x22, 0x2c, 0x5b, 0x5d, +}; +static const unsigned char kat3706_entropyinpr1[] = { + 0x48, 0x08, 0xa7, 0xa6, 0x73, 0xcb, 0x94, 0xf0, 0xcf, 0xe5, 0xb7, 0xe8, + 0x02, 0x1c, 0xc8, 0x94, 0xaa, 0xa2, 0xa6, 0xd3, 0x95, 0x2a, 0x80, 0xfa, + 0x75, 0x21, 0xa8, 0x5e, 0xde, 0x78, 0xc9, 0x2f, +}; +static const unsigned char kat3706_addinpr1[] = { + 0xbf, 0x8d, 0x39, 0x17, 0x67, 0x46, 0x17, 0xd0, 0xab, 0x65, 0x56, 0x47, + 0x65, 0x46, 0x3f, 0x9e, 0x5d, 0x79, 0x57, 0x60, 0x23, 0x7e, 0x6e, 0x99, + 0x9f, 0x3f, 0xb4, 0x22, 0xb7, 0xd4, 0xa1, 0x14, +}; +static const unsigned char kat3706_entropyinpr2[] = { + 0xaa, 0x83, 0x65, 0x9b, 0xbb, 0x6c, 0x6d, 0xdd, 0x97, 0x23, 0x3a, 0xf1, + 0x88, 0x47, 0x95, 0x2a, 0x37, 0x49, 0x8b, 0x1f, 0xa5, 0x0a, 0x59, 0xe2, + 0x5a, 0x90, 0x27, 0x31, 0x13, 0x36, 0xf7, 0xe9, +}; +static const unsigned char kat3706_addinpr2[] = { + 0x9e, 0x7e, 0xa0, 0xa9, 0x68, 0x35, 0xa0, 0x27, 0x06, 0xeb, 0x28, 0xbc, + 0xb0, 0xe5, 0xa3, 0xb0, 0xaa, 0x04, 0xd1, 0x7b, 0xa6, 0xf4, 0x1f, 0x1e, + 0x6e, 0x03, 0x4d, 0x97, 0x3c, 0xcc, 0x24, 0x42, +}; +static const unsigned char kat3706_retbits[] = { + 0x2d, 0xb1, 0x0f, 0xe1, 0xd5, 0xfe, 0x7c, 0x3c, 0xf2, 0x7f, 0x22, 0x1d, + 0x97, 0x21, 0x47, 0xe5, 0x55, 0x3b, 0xb4, 0x58, 0x5a, 0xfc, 0x0c, 0x71, + 0xf4, 0x89, 0xb0, 0xf7, 0xd2, 0x3d, 0xa8, 0x3e, 0x27, 0x5c, 0x12, 0x4f, + 0x42, 0xb6, 0xb1, 0xdf, 0x7d, 0x24, 0x98, 0x7a, 0xcb, 0x51, 0x29, 0x40, + 0x9e, 0xdb, 0x34, 0x03, 0xf1, 0x5a, 0x01, 0x50, 0x8d, 0xd1, 0x3b, 0xd6, + 0x59, 0xf7, 0x30, 0xf2, +}; +static const struct drbg_kat_pr_true kat3706_t = { + 0, kat3706_entropyin, kat3706_nonce, kat3706_persstr, + kat3706_entropyinpr1, kat3706_addinpr1, kat3706_entropyinpr2, + kat3706_addinpr2, kat3706_retbits +}; +static const struct drbg_kat kat3706 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3706_t +}; + +static const unsigned char kat3707_entropyin[] = { + 0x26, 0x5d, 0x9b, 0x95, 0xf4, 0x76, 0x1b, 0x9e, 0x1d, 0x76, 0x20, 0x66, + 0xd0, 0x0d, 0x60, 0x74, 0x0a, 0xe9, 0x89, 0xc7, 0x8a, 0xd1, 0x94, 0xbe, + 0x2d, 0xa4, 0xe8, 0x9a, 0xac, 0xf4, 0xbe, 0x8c, +}; +static const unsigned char kat3707_nonce[] = {0}; +static const unsigned char kat3707_persstr[] = { + 0x5c, 0x14, 0x53, 0x10, 0x17, 0x33, 0x5f, 0x13, 0x5f, 0xf8, 0xd6, 0x5d, + 0x21, 0xd7, 0x43, 0xed, 0x75, 0xe9, 0x60, 0x2e, 0xec, 0xab, 0x5c, 0x9c, + 0x88, 0x31, 0x31, 0x94, 0xd0, 0xa1, 0x75, 0xe8, +}; +static const unsigned char kat3707_entropyinpr1[] = { + 0x63, 0xb8, 0x4e, 0x47, 0x51, 0xae, 0xc6, 0x9f, 0x06, 0xc7, 0x99, 0x78, + 0xc7, 0x31, 0xf4, 0x25, 0xd6, 0x75, 0xfb, 0x7f, 0x44, 0xe7, 0x7f, 0x53, + 0xfc, 0x5b, 0xc3, 0x03, 0x2b, 0x22, 0xa3, 0x2e, +}; +static const unsigned char kat3707_addinpr1[] = { + 0x81, 0x37, 0x4f, 0xd0, 0x8c, 0x93, 0xbe, 0x2e, 0xcd, 0x4c, 0xb0, 0x50, + 0x40, 0xd3, 0x03, 0xc2, 0x00, 0x37, 0x7b, 0x7d, 0x5b, 0x73, 0x66, 0x1e, + 0x07, 0x12, 0x7b, 0x7e, 0x4d, 0x4e, 0xce, 0xe4, +}; +static const unsigned char kat3707_entropyinpr2[] = { + 0xde, 0xb7, 0xc9, 0x9b, 0xb0, 0xb1, 0x43, 0xb4, 0xa4, 0x8f, 0xe2, 0x41, + 0x79, 0xbf, 0x8f, 0x25, 0x52, 0xa1, 0x48, 0xa1, 0x04, 0x1f, 0x54, 0xbf, + 0x76, 0x3d, 0x3a, 0xc5, 0x35, 0xbf, 0x8c, 0x5a, +}; +static const unsigned char kat3707_addinpr2[] = { + 0xd1, 0xd9, 0xb7, 0x61, 0xcf, 0x1a, 0x63, 0xec, 0x9f, 0x5c, 0x8e, 0xca, + 0x0b, 0x78, 0x1d, 0x43, 0x30, 0x00, 0x81, 0x2b, 0xcd, 0xc0, 0x52, 0x59, + 0x8a, 0x39, 0xe2, 0x4c, 0x9c, 0x58, 0x19, 0x37, +}; +static const unsigned char kat3707_retbits[] = { + 0xdb, 0x2e, 0x08, 0x59, 0x21, 0x08, 0xaf, 0xda, 0xb5, 0xcf, 0x8d, 0x60, + 0x29, 0x70, 0x96, 0x2b, 0x3c, 0x64, 0x24, 0x1c, 0x55, 0xf7, 0xdc, 0x38, + 0x97, 0xd9, 0x97, 0x50, 0xe7, 0x6a, 0xa4, 0x0f, 0xad, 0xa0, 0x36, 0x23, + 0xf1, 0xf2, 0x94, 0xce, 0xd6, 0x7d, 0x4a, 0x31, 0xa6, 0xba, 0x37, 0x18, + 0x1d, 0xac, 0xd1, 0x81, 0x7f, 0x8f, 0x82, 0x2a, 0x5f, 0xab, 0x6a, 0x96, + 0xa0, 0x16, 0xda, 0xe7, +}; +static const struct drbg_kat_pr_true kat3707_t = { + 1, kat3707_entropyin, kat3707_nonce, kat3707_persstr, + kat3707_entropyinpr1, kat3707_addinpr1, kat3707_entropyinpr2, + kat3707_addinpr2, kat3707_retbits +}; +static const struct drbg_kat kat3707 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3707_t +}; + +static const unsigned char kat3708_entropyin[] = { + 0x35, 0xd6, 0xb0, 0xc8, 0xcf, 0xcf, 0x54, 0x14, 0x15, 0x9e, 0xc0, 0x98, + 0xbe, 0xaa, 0x0f, 0x0d, 0xad, 0x4b, 0xb0, 0xde, 0xad, 0xc1, 0xd1, 0xe6, + 0x3a, 0x60, 0x46, 0xe2, 0x2a, 0xb2, 0xd8, 0x2f, +}; +static const unsigned char kat3708_nonce[] = {0}; +static const unsigned char kat3708_persstr[] = { + 0x4e, 0x46, 0xee, 0x7b, 0x13, 0xac, 0x4b, 0x55, 0x7c, 0x65, 0x35, 0xfe, + 0x91, 0x0c, 0x3b, 0xb8, 0x86, 0x91, 0x30, 0x2f, 0x81, 0xc4, 0xa0, 0x7e, + 0xd0, 0xda, 0x1a, 0x1a, 0xb0, 0xf6, 0xe6, 0xeb, +}; +static const unsigned char kat3708_entropyinpr1[] = { + 0x30, 0xce, 0x14, 0xb0, 0xfd, 0x21, 0x11, 0x15, 0xd2, 0x5b, 0x68, 0x5c, + 0x70, 0x14, 0xc9, 0x0d, 0xdc, 0xce, 0x98, 0xdd, 0x24, 0xa5, 0xd1, 0x69, + 0x56, 0x98, 0xea, 0x95, 0xbb, 0x43, 0x54, 0x8b, +}; +static const unsigned char kat3708_addinpr1[] = { + 0x8a, 0x91, 0x28, 0x1a, 0x93, 0xcb, 0x72, 0x9f, 0xe2, 0xdc, 0x22, 0xbd, + 0x51, 0x96, 0xb6, 0x12, 0x26, 0x6d, 0xb0, 0x37, 0x42, 0x52, 0x73, 0x83, + 0x4a, 0xc1, 0x00, 0x39, 0x9e, 0x28, 0xa3, 0x29, +}; +static const unsigned char kat3708_entropyinpr2[] = { + 0x4e, 0x94, 0x25, 0x92, 0x66, 0x50, 0x64, 0x70, 0x32, 0x9f, 0x05, 0x7c, + 0x3c, 0x40, 0xbb, 0xc0, 0xeb, 0x6e, 0x6c, 0xcb, 0x80, 0x32, 0x71, 0x2a, + 0xb6, 0xd5, 0xb9, 0x31, 0x00, 0x86, 0x70, 0x10, +}; +static const unsigned char kat3708_addinpr2[] = { + 0xd0, 0xa4, 0xfa, 0x40, 0x35, 0x3a, 0x05, 0xa3, 0xf8, 0xb5, 0x66, 0x50, + 0x7e, 0x63, 0x67, 0x44, 0x68, 0xb2, 0x73, 0x15, 0xc0, 0x7b, 0xea, 0xe1, + 0x19, 0x69, 0xd1, 0x99, 0x61, 0x76, 0x7b, 0x6f, +}; +static const unsigned char kat3708_retbits[] = { + 0x64, 0x87, 0x5b, 0xc8, 0x0b, 0x7c, 0x11, 0x59, 0x34, 0x4f, 0xff, 0x09, + 0x12, 0xbd, 0xa8, 0xf2, 0xb9, 0x5d, 0x81, 0xb6, 0x06, 0xc8, 0xa6, 0xef, + 0x75, 0x3c, 0x13, 0xce, 0xff, 0xbf, 0x34, 0x57, 0x48, 0x4b, 0x6b, 0xb4, + 0xd8, 0x6a, 0xec, 0x50, 0xf4, 0x20, 0xf2, 0x54, 0x49, 0x1d, 0xd1, 0xbe, + 0xa1, 0xe0, 0xc4, 0x74, 0xd0, 0xab, 0xd8, 0x17, 0x29, 0x45, 0x4a, 0xa9, + 0xdf, 0xb0, 0x5d, 0xf6, +}; +static const struct drbg_kat_pr_true kat3708_t = { + 2, kat3708_entropyin, kat3708_nonce, kat3708_persstr, + kat3708_entropyinpr1, kat3708_addinpr1, kat3708_entropyinpr2, + kat3708_addinpr2, kat3708_retbits +}; +static const struct drbg_kat kat3708 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3708_t +}; + +static const unsigned char kat3709_entropyin[] = { + 0x20, 0x74, 0x7b, 0x09, 0x74, 0x6e, 0x37, 0xaf, 0xdb, 0x1c, 0x67, 0xb6, + 0x93, 0xa0, 0x58, 0x70, 0x0b, 0x9d, 0x96, 0x32, 0x13, 0x54, 0x4f, 0x22, + 0x15, 0xb0, 0x31, 0x0a, 0x1e, 0x01, 0xc3, 0xd7, +}; +static const unsigned char kat3709_nonce[] = {0}; +static const unsigned char kat3709_persstr[] = { + 0xb6, 0xac, 0x79, 0xad, 0xa8, 0xa5, 0x02, 0x24, 0x0d, 0xf0, 0x8e, 0x6e, + 0x01, 0xc8, 0x69, 0xb3, 0xa4, 0xcb, 0x61, 0xc9, 0xfa, 0x90, 0xac, 0x50, + 0x24, 0x34, 0x0b, 0x58, 0x2a, 0xac, 0xde, 0xf2, +}; +static const unsigned char kat3709_entropyinpr1[] = { + 0x91, 0x35, 0x54, 0x79, 0x4c, 0x14, 0x9c, 0x50, 0x3e, 0x7a, 0xd5, 0x40, + 0xc2, 0xa0, 0xdd, 0x0b, 0x6c, 0x04, 0x3e, 0xe0, 0x67, 0xe2, 0x10, 0xfa, + 0xe4, 0x3f, 0xcd, 0x14, 0x12, 0x83, 0xde, 0xf0, +}; +static const unsigned char kat3709_addinpr1[] = { + 0x63, 0xcc, 0x67, 0xab, 0xf5, 0x62, 0xa7, 0x6f, 0x56, 0xca, 0xf0, 0x96, + 0x06, 0xbc, 0x28, 0x05, 0x31, 0x22, 0x01, 0x45, 0xd0, 0x49, 0xe6, 0x84, + 0xb9, 0xc3, 0x95, 0x5d, 0xa9, 0xfe, 0x83, 0x63, +}; +static const unsigned char kat3709_entropyinpr2[] = { + 0x30, 0x27, 0xc5, 0x37, 0x35, 0x8b, 0xec, 0xa2, 0xc6, 0xea, 0xaf, 0xe3, + 0x0f, 0xcc, 0xd0, 0x56, 0x58, 0xc5, 0xa0, 0xfd, 0xd9, 0x3f, 0x68, 0x9f, + 0x70, 0x1d, 0xed, 0xdd, 0x23, 0xe8, 0x59, 0x3f, +}; +static const unsigned char kat3709_addinpr2[] = { + 0xbe, 0xbf, 0x24, 0x7f, 0xb5, 0x14, 0xf5, 0xef, 0x65, 0xab, 0x6a, 0xde, + 0x98, 0xb8, 0xe8, 0x69, 0x66, 0x00, 0x44, 0x1b, 0xd3, 0x0b, 0x04, 0xc7, + 0x42, 0x25, 0x73, 0xb2, 0x4a, 0x32, 0x9c, 0xbe, +}; +static const unsigned char kat3709_retbits[] = { + 0x62, 0xa1, 0xec, 0x0e, 0x4f, 0xe1, 0x70, 0xdf, 0x11, 0x2b, 0x93, 0xd5, + 0x31, 0xb2, 0xb2, 0xbd, 0x5c, 0x23, 0x2c, 0x2c, 0xfb, 0xb2, 0xfd, 0x28, + 0x09, 0x02, 0xa1, 0x93, 0x6b, 0x9e, 0x1d, 0xe2, 0x4c, 0x02, 0x67, 0x14, + 0x18, 0xe2, 0xa4, 0x46, 0x19, 0x8c, 0x36, 0x7a, 0xb2, 0x1a, 0xa7, 0x21, + 0x58, 0x2d, 0xc6, 0xf3, 0x97, 0x8e, 0xa8, 0x73, 0x58, 0xa1, 0x76, 0xfc, + 0x0c, 0x7e, 0x30, 0x5a, +}; +static const struct drbg_kat_pr_true kat3709_t = { + 3, kat3709_entropyin, kat3709_nonce, kat3709_persstr, + kat3709_entropyinpr1, kat3709_addinpr1, kat3709_entropyinpr2, + kat3709_addinpr2, kat3709_retbits +}; +static const struct drbg_kat kat3709 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3709_t +}; + +static const unsigned char kat3710_entropyin[] = { + 0x23, 0xa6, 0xa7, 0x1e, 0x3c, 0x87, 0x05, 0x7d, 0xd2, 0x08, 0x7c, 0x23, + 0x02, 0x45, 0xba, 0x86, 0xe3, 0x8b, 0x8b, 0x72, 0x62, 0x7b, 0x97, 0x7b, + 0xb6, 0x0b, 0xed, 0xf2, 0xd1, 0xe7, 0x9b, 0x22, +}; +static const unsigned char kat3710_nonce[] = {0}; +static const unsigned char kat3710_persstr[] = { + 0xd2, 0x3a, 0xff, 0x93, 0xd2, 0x25, 0x74, 0x1c, 0xf5, 0x26, 0x16, 0x7d, + 0xce, 0x96, 0x91, 0x0d, 0x0d, 0xe3, 0x9e, 0xff, 0x8f, 0xa1, 0xa2, 0x87, + 0x09, 0x63, 0x71, 0x16, 0xe8, 0x75, 0x54, 0x4e, +}; +static const unsigned char kat3710_entropyinpr1[] = { + 0x96, 0x05, 0x37, 0x70, 0xc1, 0xcf, 0xe2, 0xd4, 0x6e, 0xf1, 0x3b, 0x1a, + 0x7b, 0xbe, 0x77, 0xd6, 0xcc, 0xad, 0x8f, 0xb7, 0x70, 0xd5, 0x04, 0x8f, + 0x80, 0x22, 0x5e, 0x27, 0x6f, 0x4c, 0x5b, 0xaf, +}; +static const unsigned char kat3710_addinpr1[] = { + 0x9c, 0xd3, 0x83, 0x20, 0x36, 0xd4, 0xf9, 0x80, 0xb7, 0xbc, 0xa1, 0x01, + 0x27, 0x71, 0x29, 0xe2, 0xf9, 0x7e, 0xe6, 0x9d, 0x74, 0xfc, 0x09, 0x47, + 0x5b, 0x4f, 0x2c, 0x3f, 0xb8, 0x12, 0xe5, 0x1c, +}; +static const unsigned char kat3710_entropyinpr2[] = { + 0xdb, 0x48, 0x00, 0x7e, 0x0a, 0xb2, 0x68, 0x02, 0xcf, 0x54, 0x9a, 0x22, + 0x88, 0x34, 0xb9, 0x0b, 0x1c, 0x99, 0x3d, 0x25, 0x2c, 0xd0, 0x49, 0xfa, + 0x3e, 0xd1, 0xbd, 0x74, 0xa6, 0x07, 0x1b, 0x9d, +}; +static const unsigned char kat3710_addinpr2[] = { + 0x91, 0x0f, 0x54, 0x6a, 0xc7, 0x2d, 0xf3, 0xd5, 0x1a, 0x80, 0xc0, 0x72, + 0xd5, 0xd7, 0x10, 0x6e, 0xe2, 0x16, 0x80, 0x22, 0x06, 0x0f, 0xd1, 0x9e, + 0xb4, 0x52, 0xc3, 0x4f, 0x62, 0x1c, 0xf4, 0xdf, +}; +static const unsigned char kat3710_retbits[] = { + 0x99, 0xae, 0x2f, 0xb0, 0x02, 0x51, 0x1c, 0x05, 0x5f, 0x05, 0x3d, 0x70, + 0x71, 0xdc, 0x72, 0x96, 0xe1, 0x0f, 0xd0, 0x69, 0x13, 0x58, 0xa6, 0x25, + 0x01, 0x7d, 0xd7, 0x0d, 0x72, 0x68, 0xbd, 0x4c, 0xde, 0x91, 0x26, 0x77, + 0x5d, 0x59, 0x3a, 0x89, 0xe6, 0xe5, 0x3c, 0xc0, 0xc6, 0xf5, 0x8a, 0x08, + 0x57, 0xe5, 0xb0, 0xae, 0x06, 0x46, 0xee, 0x49, 0x4a, 0x24, 0x3b, 0xec, + 0xb2, 0xe6, 0x0e, 0xce, +}; +static const struct drbg_kat_pr_true kat3710_t = { + 4, kat3710_entropyin, kat3710_nonce, kat3710_persstr, + kat3710_entropyinpr1, kat3710_addinpr1, kat3710_entropyinpr2, + kat3710_addinpr2, kat3710_retbits +}; +static const struct drbg_kat kat3710 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3710_t +}; + +static const unsigned char kat3711_entropyin[] = { + 0x51, 0xf3, 0xad, 0x44, 0x4e, 0xda, 0x63, 0xdd, 0xec, 0x44, 0x6f, 0xa7, + 0xb6, 0x5c, 0xe2, 0x32, 0xf0, 0xdb, 0x1c, 0x19, 0xf9, 0xe1, 0x42, 0x7f, + 0x1f, 0x75, 0xf7, 0x46, 0xc2, 0x0d, 0x6f, 0x72, +}; +static const unsigned char kat3711_nonce[] = {0}; +static const unsigned char kat3711_persstr[] = { + 0x8a, 0x75, 0xb8, 0xcb, 0x69, 0x7f, 0x9a, 0x9c, 0x52, 0x6d, 0x4f, 0xcb, + 0xc0, 0x1d, 0x22, 0xf2, 0xce, 0xa3, 0x93, 0x95, 0xd7, 0x97, 0x0a, 0xc4, + 0x7a, 0xe9, 0x60, 0x15, 0x58, 0x12, 0x4c, 0x72, +}; +static const unsigned char kat3711_entropyinpr1[] = { + 0xc0, 0xfe, 0x28, 0x0e, 0x31, 0x2e, 0xb7, 0x47, 0x16, 0x0e, 0xaa, 0xdf, + 0x08, 0xe1, 0x7f, 0x84, 0xdd, 0x82, 0x1e, 0xee, 0x5b, 0xe1, 0xd0, 0x1d, + 0x1f, 0x35, 0xb8, 0xe9, 0xc9, 0x0d, 0x89, 0xe9, +}; +static const unsigned char kat3711_addinpr1[] = { + 0x71, 0xcb, 0x3d, 0x4d, 0x25, 0x2e, 0xdb, 0x9c, 0x39, 0xd0, 0x90, 0x65, + 0xf6, 0xbb, 0xcf, 0x23, 0x90, 0xaa, 0x25, 0xa3, 0x94, 0x91, 0x83, 0x10, + 0x7d, 0x88, 0x5c, 0xb7, 0x1c, 0x98, 0x2b, 0xc1, +}; +static const unsigned char kat3711_entropyinpr2[] = { + 0xb8, 0xe0, 0x3e, 0xce, 0xbf, 0xa5, 0x66, 0x4a, 0x2a, 0xe0, 0x5a, 0xbd, + 0xdb, 0x2f, 0x58, 0xe0, 0x85, 0x42, 0x5e, 0xda, 0xd5, 0xbc, 0x5b, 0x4a, + 0x9d, 0x5a, 0x87, 0xa1, 0x05, 0xdb, 0x87, 0xa9, +}; +static const unsigned char kat3711_addinpr2[] = { + 0xec, 0xe2, 0xd3, 0x5d, 0xb4, 0x02, 0xa1, 0x2d, 0x08, 0x7c, 0xf6, 0x34, + 0x50, 0xb7, 0xc5, 0xf8, 0x07, 0x7d, 0x9f, 0xaf, 0x4d, 0x82, 0x16, 0xad, + 0x39, 0x6f, 0x74, 0xfb, 0xfa, 0x32, 0x5f, 0x70, +}; +static const unsigned char kat3711_retbits[] = { + 0xe9, 0x9f, 0x57, 0x9c, 0x67, 0xef, 0xc4, 0x1c, 0x37, 0x99, 0x21, 0x75, + 0x0d, 0x5e, 0xa2, 0x2d, 0x4f, 0x23, 0x56, 0xfa, 0x67, 0x6b, 0xe4, 0xad, + 0x38, 0x4f, 0x30, 0x6b, 0x1e, 0x61, 0x7e, 0x80, 0x4a, 0x3c, 0xd0, 0xa8, + 0xe2, 0x54, 0xec, 0x6a, 0xb4, 0x21, 0x0e, 0x14, 0x7d, 0x09, 0x72, 0xdd, + 0xfe, 0x1d, 0x45, 0x03, 0xfd, 0xf5, 0x94, 0x55, 0x35, 0xa8, 0x42, 0x34, + 0x63, 0x30, 0xbe, 0xbf, +}; +static const struct drbg_kat_pr_true kat3711_t = { + 5, kat3711_entropyin, kat3711_nonce, kat3711_persstr, + kat3711_entropyinpr1, kat3711_addinpr1, kat3711_entropyinpr2, + kat3711_addinpr2, kat3711_retbits +}; +static const struct drbg_kat kat3711 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3711_t +}; + +static const unsigned char kat3712_entropyin[] = { + 0x84, 0xe7, 0x75, 0x5e, 0x66, 0xd6, 0xcd, 0xe3, 0x3d, 0xb0, 0xd7, 0xd1, + 0x17, 0xaf, 0x40, 0x76, 0xc6, 0x53, 0x6a, 0x5b, 0xf1, 0xd1, 0xf5, 0xc7, + 0xe9, 0x03, 0x48, 0x2a, 0x02, 0x02, 0x8b, 0x8e, +}; +static const unsigned char kat3712_nonce[] = {0}; +static const unsigned char kat3712_persstr[] = { + 0xe4, 0xc8, 0x57, 0x59, 0x34, 0xc0, 0x25, 0x14, 0xc2, 0x80, 0x8c, 0xd3, + 0xa5, 0x30, 0xe9, 0x6b, 0x0c, 0x0a, 0x4e, 0xdd, 0x26, 0x17, 0x8e, 0xf0, + 0x55, 0x06, 0x11, 0x80, 0xb3, 0x2a, 0xd6, 0x7f, +}; +static const unsigned char kat3712_entropyinpr1[] = { + 0x0f, 0xd2, 0xc7, 0x52, 0x05, 0x65, 0x69, 0x71, 0x51, 0x91, 0xe4, 0x79, + 0xe5, 0x16, 0x58, 0xc9, 0xa4, 0xa4, 0x42, 0x20, 0x71, 0x94, 0x9c, 0x5e, + 0x9a, 0xca, 0x74, 0x94, 0x18, 0x83, 0x6a, 0xb5, +}; +static const unsigned char kat3712_addinpr1[] = { + 0xa2, 0x39, 0xeb, 0x3d, 0x1f, 0x21, 0xca, 0xfa, 0xa2, 0x3e, 0x04, 0x9f, + 0x51, 0x94, 0x43, 0x67, 0xe6, 0x83, 0xcc, 0xf9, 0xd6, 0x23, 0x16, 0x24, + 0x05, 0xca, 0x37, 0x5d, 0xe5, 0x49, 0x17, 0xfa, +}; +static const unsigned char kat3712_entropyinpr2[] = { + 0x84, 0x0f, 0xdf, 0xe2, 0xfd, 0x2e, 0x90, 0x75, 0x4b, 0xd5, 0x2d, 0xb1, + 0x6a, 0xab, 0x32, 0xa0, 0xa7, 0x5f, 0x62, 0xca, 0x87, 0x57, 0xc7, 0x65, + 0x5a, 0x7b, 0xdf, 0xe2, 0x24, 0xfb, 0x54, 0x6b, +}; +static const unsigned char kat3712_addinpr2[] = { + 0xe3, 0x91, 0x61, 0xcb, 0x97, 0x22, 0x85, 0x68, 0x7d, 0x65, 0xd4, 0xdf, + 0xd7, 0x4e, 0x08, 0xe3, 0xfe, 0x1e, 0x25, 0x18, 0xe8, 0x15, 0xe3, 0x26, + 0x6e, 0x47, 0xfc, 0x1f, 0x5d, 0xbc, 0x5e, 0x4d, +}; +static const unsigned char kat3712_retbits[] = { + 0x36, 0x2d, 0x01, 0xae, 0xf0, 0xe7, 0x4e, 0xd7, 0x74, 0xb6, 0x79, 0xc1, + 0x5c, 0x71, 0x9c, 0x2f, 0x6d, 0x0e, 0xcb, 0x6c, 0x72, 0x0a, 0x28, 0xd6, + 0x5a, 0xcf, 0x28, 0x29, 0xe9, 0x86, 0x98, 0x43, 0x87, 0xa2, 0xe3, 0xd4, + 0x05, 0xca, 0xa3, 0x24, 0x94, 0xcf, 0x38, 0x3e, 0x87, 0x79, 0xcb, 0x78, + 0xdb, 0xc4, 0xfc, 0xf0, 0xe5, 0xff, 0xa1, 0xb2, 0xed, 0x78, 0x5c, 0x69, + 0xdd, 0xe2, 0x0c, 0x46, +}; +static const struct drbg_kat_pr_true kat3712_t = { + 6, kat3712_entropyin, kat3712_nonce, kat3712_persstr, + kat3712_entropyinpr1, kat3712_addinpr1, kat3712_entropyinpr2, + kat3712_addinpr2, kat3712_retbits +}; +static const struct drbg_kat kat3712 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3712_t +}; + +static const unsigned char kat3713_entropyin[] = { + 0xf5, 0x1d, 0x83, 0xd3, 0x4f, 0x19, 0xbb, 0x78, 0x3c, 0xba, 0xb5, 0x99, + 0x48, 0xab, 0xd9, 0x60, 0x87, 0xb1, 0x69, 0x35, 0x85, 0xf3, 0xbc, 0xfe, + 0xce, 0x8c, 0x51, 0x5a, 0x76, 0x1f, 0xa8, 0x7e, +}; +static const unsigned char kat3713_nonce[] = {0}; +static const unsigned char kat3713_persstr[] = { + 0xa5, 0x22, 0x26, 0x42, 0xe0, 0xa0, 0xd2, 0xef, 0x5a, 0x37, 0xc9, 0x32, + 0x9e, 0xf4, 0xb7, 0x47, 0xac, 0x4f, 0x01, 0xa1, 0x49, 0xae, 0x39, 0xc4, + 0xef, 0x00, 0x32, 0xa3, 0x6d, 0xf1, 0x66, 0xfe, +}; +static const unsigned char kat3713_entropyinpr1[] = { + 0xfc, 0x3f, 0xe5, 0xb9, 0x7a, 0x2a, 0x2c, 0x9d, 0x88, 0x61, 0xe7, 0x3d, + 0x73, 0xcb, 0x8c, 0x85, 0x41, 0x92, 0x28, 0x22, 0x2c, 0x41, 0xc2, 0x7e, + 0x01, 0xe2, 0xcf, 0xcd, 0x29, 0xd8, 0x6e, 0x30, +}; +static const unsigned char kat3713_addinpr1[] = { + 0xf7, 0x5f, 0x0e, 0xf6, 0x29, 0x19, 0x6c, 0x5d, 0x00, 0xba, 0x6c, 0xbe, + 0x65, 0xa2, 0x49, 0x23, 0xf0, 0x62, 0x31, 0xb5, 0x6c, 0xed, 0xeb, 0x07, + 0x78, 0x8c, 0x57, 0x74, 0xd2, 0xed, 0xfc, 0x1b, +}; +static const unsigned char kat3713_entropyinpr2[] = { + 0x6f, 0x98, 0xff, 0x76, 0x6f, 0x41, 0x97, 0xd4, 0xa0, 0x09, 0xcf, 0xc1, + 0x83, 0x15, 0x47, 0x0f, 0xa0, 0xf4, 0xf1, 0x5c, 0x0c, 0x71, 0xdf, 0x37, + 0x10, 0x37, 0xe4, 0xac, 0xf5, 0x20, 0xc0, 0x47, +}; +static const unsigned char kat3713_addinpr2[] = { + 0x94, 0x14, 0x21, 0x9c, 0x87, 0x0b, 0x38, 0xa0, 0x68, 0x08, 0x99, 0x3d, + 0xfd, 0xe0, 0xa5, 0xcc, 0xec, 0x22, 0x86, 0x05, 0xa7, 0x29, 0x59, 0xc8, + 0x3f, 0x29, 0x74, 0xe4, 0x2c, 0xc9, 0x43, 0xaf, +}; +static const unsigned char kat3713_retbits[] = { + 0x65, 0x44, 0xa8, 0x44, 0xd1, 0xb5, 0xfa, 0xe1, 0x5e, 0x86, 0x03, 0x4e, + 0x82, 0x11, 0xef, 0x85, 0x78, 0x40, 0x2b, 0x70, 0xbf, 0xc6, 0x74, 0xa2, + 0x66, 0xb1, 0x14, 0xe6, 0xdb, 0x96, 0x58, 0x58, 0x32, 0x4c, 0x76, 0x60, + 0x15, 0xee, 0xe1, 0xeb, 0x4d, 0x24, 0xd6, 0x49, 0xe7, 0x6b, 0xd3, 0x88, + 0x9f, 0xc8, 0x09, 0x60, 0x3b, 0xf6, 0xc9, 0xe4, 0xbb, 0x3f, 0x8e, 0x94, + 0x7f, 0x6f, 0x7a, 0x80, +}; +static const struct drbg_kat_pr_true kat3713_t = { + 7, kat3713_entropyin, kat3713_nonce, kat3713_persstr, + kat3713_entropyinpr1, kat3713_addinpr1, kat3713_entropyinpr2, + kat3713_addinpr2, kat3713_retbits +}; +static const struct drbg_kat kat3713 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3713_t +}; + +static const unsigned char kat3714_entropyin[] = { + 0xb0, 0x13, 0x2a, 0xd2, 0x38, 0xa0, 0x8c, 0x27, 0x9a, 0x7d, 0x7a, 0x6c, + 0xc5, 0x79, 0x4c, 0x94, 0xb9, 0xca, 0x26, 0x8b, 0x9d, 0x3b, 0xf1, 0x8a, + 0x3c, 0x8b, 0x58, 0x8e, 0xa2, 0x2c, 0x9c, 0x25, +}; +static const unsigned char kat3714_nonce[] = {0}; +static const unsigned char kat3714_persstr[] = { + 0xe3, 0x02, 0xec, 0xe7, 0x67, 0xc6, 0x0d, 0x01, 0xc6, 0x47, 0x00, 0x84, + 0x3b, 0x1a, 0x88, 0x08, 0xf8, 0x7e, 0x09, 0xe3, 0x3a, 0xf4, 0x61, 0x9b, + 0x09, 0x89, 0x2f, 0xbe, 0x5f, 0x0f, 0x66, 0x87, +}; +static const unsigned char kat3714_entropyinpr1[] = { + 0x49, 0x4b, 0x9d, 0xa0, 0x84, 0x94, 0x3e, 0xbd, 0x9e, 0xcd, 0x90, 0x1a, + 0x9b, 0xdc, 0x0c, 0x38, 0xea, 0xb6, 0xfd, 0x04, 0xb4, 0x2b, 0xc0, 0x19, + 0x03, 0x04, 0xb4, 0xaf, 0x5d, 0x42, 0x79, 0xe1, +}; +static const unsigned char kat3714_addinpr1[] = { + 0x7c, 0xfc, 0xca, 0xce, 0x01, 0x3c, 0x1d, 0x20, 0x8d, 0x17, 0x78, 0xfb, + 0xb2, 0x3c, 0x0b, 0x88, 0x4d, 0xed, 0x21, 0x5e, 0x93, 0xeb, 0x9c, 0x44, + 0x80, 0x43, 0xc8, 0x6f, 0xf8, 0x11, 0x17, 0xeb, +}; +static const unsigned char kat3714_entropyinpr2[] = { + 0xc8, 0xdf, 0x5c, 0x40, 0x45, 0xaa, 0x6f, 0x66, 0x25, 0x49, 0x21, 0xf1, + 0x65, 0x66, 0xe3, 0x14, 0xf2, 0x45, 0xa3, 0xe3, 0x3b, 0xfa, 0x96, 0xc9, + 0xda, 0x84, 0xd9, 0xe1, 0x69, 0x7a, 0xda, 0xf3, +}; +static const unsigned char kat3714_addinpr2[] = { + 0x6d, 0x8d, 0x03, 0x7f, 0x12, 0xf4, 0xa1, 0xbf, 0x6b, 0xdc, 0xed, 0x6b, + 0x5c, 0xd8, 0xc8, 0x81, 0xb1, 0xd4, 0xf2, 0xbd, 0x1c, 0xa9, 0x2e, 0x5e, + 0xd7, 0x1a, 0x32, 0xa5, 0xc6, 0xe5, 0xd7, 0xc1, +}; +static const unsigned char kat3714_retbits[] = { + 0x81, 0xa7, 0x5b, 0x74, 0x30, 0xc9, 0x1a, 0xd3, 0xca, 0xd4, 0xe5, 0x44, + 0x3c, 0xeb, 0x2b, 0x22, 0xb6, 0x31, 0xa3, 0xae, 0xe4, 0x71, 0x12, 0x2d, + 0xd8, 0x21, 0x4a, 0xb0, 0x5c, 0xdd, 0x5c, 0xd9, 0x68, 0x11, 0xde, 0x3b, + 0xcd, 0xe3, 0xfc, 0x4a, 0xc1, 0x59, 0x5c, 0x76, 0xc6, 0x6d, 0x18, 0xe9, + 0x1b, 0xc1, 0xbb, 0xf4, 0xa5, 0x8e, 0xa7, 0xc1, 0xd2, 0x30, 0x8f, 0xa5, + 0xfd, 0x8c, 0xa3, 0x61, +}; +static const struct drbg_kat_pr_true kat3714_t = { + 8, kat3714_entropyin, kat3714_nonce, kat3714_persstr, + kat3714_entropyinpr1, kat3714_addinpr1, kat3714_entropyinpr2, + kat3714_addinpr2, kat3714_retbits +}; +static const struct drbg_kat kat3714 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3714_t +}; + +static const unsigned char kat3715_entropyin[] = { + 0x76, 0xf7, 0x35, 0xbe, 0xc2, 0x47, 0x9c, 0x15, 0x12, 0x1f, 0x0b, 0xc6, + 0xf1, 0x6a, 0x9e, 0x28, 0xfd, 0x1d, 0xa5, 0x8e, 0xdc, 0x15, 0x86, 0x03, + 0xb2, 0x70, 0xd6, 0xe0, 0x97, 0xd4, 0x8b, 0x89, +}; +static const unsigned char kat3715_nonce[] = {0}; +static const unsigned char kat3715_persstr[] = { + 0x25, 0x27, 0x6b, 0xeb, 0xf4, 0x4b, 0x8d, 0x73, 0x08, 0x39, 0xe8, 0x3d, + 0x82, 0xff, 0x3a, 0xb0, 0x07, 0x76, 0x42, 0x83, 0xa2, 0x22, 0x20, 0xbb, + 0xa6, 0x8d, 0xab, 0x0b, 0xbc, 0xea, 0x72, 0x6e, +}; +static const unsigned char kat3715_entropyinpr1[] = { + 0xb1, 0x11, 0xb9, 0x9d, 0x11, 0x99, 0xd9, 0x1b, 0xb9, 0x1c, 0x44, 0xee, + 0x4e, 0x6c, 0x4b, 0xbb, 0x41, 0xa4, 0x53, 0x51, 0x07, 0xbf, 0x68, 0xcf, + 0x44, 0x2a, 0xea, 0xf0, 0xf6, 0x8f, 0xc9, 0xf1, +}; +static const unsigned char kat3715_addinpr1[] = { + 0x94, 0xd2, 0x18, 0x4e, 0x69, 0x1e, 0xac, 0x3a, 0x2b, 0xdf, 0x4d, 0x6e, + 0x11, 0xad, 0xfd, 0xeb, 0x4d, 0x5b, 0xef, 0xf8, 0x07, 0x48, 0xb9, 0x97, + 0x73, 0x1d, 0xb0, 0x01, 0xb4, 0x2d, 0x3f, 0xff, +}; +static const unsigned char kat3715_entropyinpr2[] = { + 0x66, 0xb2, 0x90, 0xed, 0x3f, 0x40, 0xa7, 0x5c, 0x0c, 0x1e, 0xff, 0x42, + 0xd6, 0x57, 0xb5, 0x53, 0x9c, 0xe8, 0xcd, 0xaa, 0x11, 0x6b, 0x91, 0xf3, + 0x9e, 0xf3, 0x14, 0x67, 0x97, 0xf8, 0x15, 0xce, +}; +static const unsigned char kat3715_addinpr2[] = { + 0xcb, 0x1b, 0xa3, 0xf3, 0x28, 0x70, 0xe3, 0xd5, 0xe6, 0x7d, 0xb5, 0xc4, + 0xa2, 0xdb, 0xca, 0xb8, 0xc5, 0xdc, 0x09, 0xf8, 0x5a, 0x40, 0xc4, 0x6c, + 0xd2, 0x0a, 0x13, 0x0c, 0x0f, 0x1d, 0x3e, 0xb7, +}; +static const unsigned char kat3715_retbits[] = { + 0x80, 0xdf, 0xac, 0xaa, 0xe8, 0xe3, 0x55, 0x84, 0xf9, 0xd4, 0x7e, 0xed, + 0x8b, 0xed, 0x62, 0xa8, 0xcf, 0x92, 0xb4, 0x40, 0x40, 0x6d, 0x5b, 0x95, + 0x50, 0xd5, 0x9c, 0x28, 0x3e, 0xe9, 0x73, 0xc8, 0xaa, 0x41, 0x6f, 0x7f, + 0x4a, 0xb4, 0x73, 0x02, 0x57, 0x94, 0x66, 0x4d, 0x2d, 0x2c, 0xf9, 0x38, + 0x60, 0x15, 0x40, 0x4c, 0x09, 0x1e, 0x42, 0x25, 0xc6, 0x1b, 0x73, 0xf0, + 0x07, 0x15, 0x80, 0xf2, +}; +static const struct drbg_kat_pr_true kat3715_t = { + 9, kat3715_entropyin, kat3715_nonce, kat3715_persstr, + kat3715_entropyinpr1, kat3715_addinpr1, kat3715_entropyinpr2, + kat3715_addinpr2, kat3715_retbits +}; +static const struct drbg_kat kat3715 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3715_t +}; + +static const unsigned char kat3716_entropyin[] = { + 0x53, 0x80, 0x65, 0xf6, 0x3b, 0xc4, 0x65, 0x74, 0x18, 0x67, 0x15, 0x77, + 0xa8, 0x7c, 0x53, 0x7f, 0x72, 0xe8, 0x89, 0x0c, 0x4d, 0xa8, 0x30, 0x54, + 0x44, 0x6c, 0x4d, 0x04, 0x90, 0xce, 0xfd, 0xc6, +}; +static const unsigned char kat3716_nonce[] = {0}; +static const unsigned char kat3716_persstr[] = { + 0x7a, 0xa2, 0xa0, 0x5b, 0x76, 0xad, 0xeb, 0x23, 0x81, 0x97, 0x21, 0xf2, + 0xce, 0x58, 0x71, 0xe3, 0x07, 0x24, 0x6c, 0x34, 0x97, 0xb0, 0x65, 0xda, + 0xcd, 0xd8, 0xe0, 0x8a, 0xbb, 0x55, 0xe0, 0x1c, +}; +static const unsigned char kat3716_entropyinpr1[] = { + 0x74, 0xef, 0xc7, 0x30, 0xd8, 0x54, 0x56, 0xf1, 0xe7, 0x59, 0x54, 0x0d, + 0x2a, 0x72, 0x18, 0xa5, 0x97, 0x08, 0x66, 0x67, 0x35, 0x65, 0x59, 0xab, + 0x3f, 0x78, 0x15, 0xfe, 0xd9, 0x26, 0xc5, 0xfb, +}; +static const unsigned char kat3716_addinpr1[] = { + 0x76, 0xd1, 0xd2, 0xa2, 0xcf, 0xa5, 0x8a, 0xce, 0xef, 0x40, 0xff, 0x21, + 0x67, 0xe6, 0xfd, 0x77, 0x4f, 0x78, 0x58, 0x15, 0xf2, 0x3c, 0xd0, 0x57, + 0xf4, 0xa8, 0xac, 0xf0, 0x2b, 0x9b, 0x5f, 0x8f, +}; +static const unsigned char kat3716_entropyinpr2[] = { + 0x49, 0x76, 0xdf, 0x61, 0xeb, 0x5d, 0x15, 0x91, 0xbc, 0xaf, 0xae, 0xaf, + 0x49, 0xcb, 0x49, 0xa7, 0xb6, 0x6e, 0x4f, 0x4c, 0x39, 0xe1, 0xae, 0xab, + 0x46, 0xf7, 0xe1, 0xae, 0xaa, 0x50, 0x52, 0xa2, +}; +static const unsigned char kat3716_addinpr2[] = { + 0xe0, 0xa7, 0xed, 0x10, 0x83, 0x9b, 0x78, 0x7e, 0x31, 0x04, 0xa4, 0x2a, + 0xd1, 0x39, 0x95, 0x7e, 0xda, 0xfa, 0xe4, 0x80, 0xf0, 0xb4, 0x3d, 0x7c, + 0x47, 0x42, 0x67, 0xe6, 0x52, 0x60, 0xba, 0xc4, +}; +static const unsigned char kat3716_retbits[] = { + 0x24, 0xe7, 0x34, 0xb1, 0xb0, 0x40, 0x58, 0x5d, 0xfa, 0xea, 0x5d, 0x09, + 0x56, 0xe7, 0x0c, 0xf1, 0x09, 0x26, 0xdf, 0xb8, 0xef, 0xa2, 0x98, 0xaf, + 0xd3, 0xc0, 0x3f, 0x33, 0xe3, 0x3c, 0xb6, 0xc1, 0xe3, 0x7e, 0xa4, 0xfa, + 0x54, 0x7c, 0x5c, 0xea, 0x74, 0x5e, 0x05, 0x7b, 0xfe, 0x66, 0xbe, 0x7b, + 0x7c, 0x8f, 0x22, 0x7e, 0x15, 0x69, 0x7f, 0xac, 0x04, 0xb8, 0x46, 0x0f, + 0xc9, 0x99, 0x9c, 0xeb, +}; +static const struct drbg_kat_pr_true kat3716_t = { + 10, kat3716_entropyin, kat3716_nonce, kat3716_persstr, + kat3716_entropyinpr1, kat3716_addinpr1, kat3716_entropyinpr2, + kat3716_addinpr2, kat3716_retbits +}; +static const struct drbg_kat kat3716 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3716_t +}; + +static const unsigned char kat3717_entropyin[] = { + 0xcc, 0xe0, 0x8c, 0x5c, 0xd8, 0xc5, 0x79, 0x5d, 0x98, 0xf2, 0x63, 0xc9, + 0x66, 0xfe, 0x4e, 0x15, 0xfa, 0xe5, 0x50, 0xf5, 0x19, 0x20, 0x15, 0xf1, + 0x03, 0x37, 0x52, 0xc9, 0x8c, 0x8e, 0x81, 0xea, +}; +static const unsigned char kat3717_nonce[] = {0}; +static const unsigned char kat3717_persstr[] = { + 0x0c, 0xed, 0x7e, 0xc5, 0xc3, 0x3a, 0x92, 0xdd, 0xc3, 0x4f, 0x06, 0xa3, + 0xa2, 0xbe, 0x06, 0xcc, 0xf4, 0xb3, 0xa8, 0x6b, 0x61, 0xf1, 0x5c, 0xa9, + 0xc5, 0x93, 0x9c, 0x2e, 0xe7, 0x28, 0x69, 0x15, +}; +static const unsigned char kat3717_entropyinpr1[] = { + 0xcc, 0xc1, 0xb4, 0xf4, 0xdf, 0x36, 0x78, 0x3b, 0x9d, 0x81, 0x67, 0x82, + 0xa6, 0x5a, 0x9c, 0x81, 0xfe, 0xee, 0x64, 0x8c, 0x2d, 0x97, 0x85, 0x08, + 0x72, 0xb9, 0x17, 0x27, 0xa2, 0xc6, 0xcd, 0x51, +}; +static const unsigned char kat3717_addinpr1[] = { + 0x0c, 0x67, 0xa0, 0x57, 0x19, 0x9b, 0x04, 0xa5, 0x4d, 0x29, 0x4a, 0x4b, + 0xf2, 0x2c, 0xdc, 0xfa, 0x48, 0x98, 0xb7, 0x88, 0xe4, 0x28, 0xb9, 0xc7, + 0x4f, 0xe3, 0xa7, 0xf5, 0x4b, 0xb5, 0xa5, 0x5c, +}; +static const unsigned char kat3717_entropyinpr2[] = { + 0x35, 0xc2, 0xa5, 0x94, 0x6d, 0x20, 0x63, 0x6b, 0xe7, 0x76, 0x6a, 0x4b, + 0xd9, 0x2d, 0xa8, 0x49, 0x15, 0x4c, 0x46, 0xa1, 0x4a, 0x58, 0x99, 0xb8, + 0xe5, 0x28, 0x0b, 0xac, 0x97, 0x24, 0x3c, 0xaa, +}; +static const unsigned char kat3717_addinpr2[] = { + 0xbe, 0x44, 0xaa, 0x50, 0x20, 0x6a, 0x12, 0xb5, 0xf4, 0x46, 0x28, 0x42, + 0x6a, 0x24, 0x10, 0x50, 0x33, 0x65, 0x06, 0x1a, 0x19, 0xf2, 0x3c, 0x6c, + 0x3e, 0x02, 0x56, 0xff, 0x57, 0x54, 0xcd, 0x68, +}; +static const unsigned char kat3717_retbits[] = { + 0x40, 0x5f, 0x52, 0x55, 0xcf, 0xfe, 0xb1, 0xe8, 0x54, 0x22, 0x78, 0xb5, + 0x41, 0x66, 0xc5, 0x6a, 0x9e, 0x42, 0x3b, 0xa6, 0xff, 0x33, 0x72, 0x49, + 0x7c, 0x64, 0x05, 0x40, 0xba, 0x6f, 0x31, 0x27, 0x18, 0x74, 0x38, 0x05, + 0x43, 0xe4, 0x2f, 0x24, 0xd1, 0xb3, 0x8b, 0xed, 0xeb, 0x13, 0xc9, 0xcc, + 0xb1, 0xe7, 0xf4, 0x3e, 0x3a, 0x48, 0x20, 0x02, 0x49, 0x8b, 0x64, 0x48, + 0x04, 0x88, 0x10, 0xa9, +}; +static const struct drbg_kat_pr_true kat3717_t = { + 11, kat3717_entropyin, kat3717_nonce, kat3717_persstr, + kat3717_entropyinpr1, kat3717_addinpr1, kat3717_entropyinpr2, + kat3717_addinpr2, kat3717_retbits +}; +static const struct drbg_kat kat3717 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3717_t +}; + +static const unsigned char kat3718_entropyin[] = { + 0xfc, 0xd4, 0x0e, 0xfd, 0xc3, 0x47, 0xad, 0x7f, 0x41, 0x65, 0x3d, 0xbb, + 0xc8, 0x9e, 0x3b, 0x18, 0x10, 0xaf, 0xbd, 0x61, 0x61, 0xc8, 0x38, 0x97, + 0xac, 0xe9, 0xd2, 0x1c, 0x0b, 0x2b, 0x10, 0x39, +}; +static const unsigned char kat3718_nonce[] = {0}; +static const unsigned char kat3718_persstr[] = { + 0x7f, 0x9e, 0xbf, 0xf0, 0x24, 0xc3, 0xb5, 0x30, 0x0f, 0xce, 0x4a, 0xc8, + 0x82, 0x13, 0xb3, 0x9a, 0xf0, 0x8b, 0x04, 0x8e, 0xed, 0x78, 0x1b, 0x33, + 0x48, 0x98, 0xc0, 0xe7, 0xe5, 0x63, 0x0c, 0xb8, +}; +static const unsigned char kat3718_entropyinpr1[] = { + 0xdd, 0xde, 0x54, 0x0b, 0xdf, 0x23, 0x3d, 0x54, 0x6e, 0x16, 0x69, 0x72, + 0x2d, 0x21, 0xa9, 0x7f, 0x5d, 0xf7, 0x87, 0x00, 0xa9, 0x56, 0xae, 0xd8, + 0x8f, 0x34, 0xc4, 0x29, 0x53, 0x21, 0x55, 0x4f, +}; +static const unsigned char kat3718_addinpr1[] = { + 0x53, 0xab, 0xdb, 0xcc, 0x9f, 0x94, 0x22, 0x9b, 0xbf, 0x77, 0xbf, 0xc0, + 0x03, 0x92, 0x0c, 0xca, 0xd0, 0x57, 0xf6, 0xba, 0xce, 0xff, 0xfd, 0x23, + 0xa5, 0x4f, 0x2b, 0x3c, 0x53, 0x2a, 0x70, 0x33, +}; +static const unsigned char kat3718_entropyinpr2[] = { + 0x27, 0x4a, 0xdc, 0x87, 0x98, 0x61, 0x49, 0xc4, 0xeb, 0xb5, 0xc3, 0xb4, + 0x63, 0x86, 0x21, 0x89, 0xe1, 0x49, 0x73, 0x90, 0xa0, 0x38, 0x4a, 0xae, + 0x89, 0xfe, 0x69, 0x2a, 0x24, 0x6a, 0xe7, 0xbd, +}; +static const unsigned char kat3718_addinpr2[] = { + 0x05, 0xa0, 0x13, 0xe9, 0xac, 0x5e, 0x3e, 0x98, 0xd6, 0x03, 0x9e, 0x78, + 0x87, 0x10, 0x17, 0xf4, 0xc5, 0x7a, 0x53, 0x85, 0x03, 0x4f, 0x1d, 0x74, + 0x02, 0xb2, 0xf1, 0xc9, 0xcc, 0x8b, 0xeb, 0xd0, +}; +static const unsigned char kat3718_retbits[] = { + 0xbe, 0xf9, 0x58, 0x25, 0x37, 0xb5, 0x20, 0xcd, 0xf9, 0x56, 0xc3, 0xcb, + 0x9f, 0xa4, 0x54, 0x74, 0x10, 0x7e, 0xb0, 0x2b, 0x1a, 0xb3, 0xb1, 0xd4, + 0xd9, 0x53, 0x52, 0x2d, 0xce, 0xf8, 0x0f, 0x4a, 0x71, 0x86, 0x5c, 0x0d, + 0x84, 0x9b, 0x9e, 0x44, 0xf6, 0x46, 0x31, 0x99, 0x8a, 0x48, 0xc1, 0x01, + 0x78, 0x72, 0xce, 0x2e, 0x6e, 0xbb, 0xd2, 0xbd, 0x7f, 0x98, 0x1c, 0xc5, + 0xcd, 0x5b, 0xe0, 0x2e, +}; +static const struct drbg_kat_pr_true kat3718_t = { + 12, kat3718_entropyin, kat3718_nonce, kat3718_persstr, + kat3718_entropyinpr1, kat3718_addinpr1, kat3718_entropyinpr2, + kat3718_addinpr2, kat3718_retbits +}; +static const struct drbg_kat kat3718 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3718_t +}; + +static const unsigned char kat3719_entropyin[] = { + 0xd0, 0xf5, 0xe6, 0x43, 0x2e, 0x57, 0x59, 0xf2, 0x60, 0x26, 0x23, 0x6c, + 0xe9, 0xfe, 0xcd, 0xb4, 0xe8, 0xde, 0xd5, 0x2c, 0x98, 0x48, 0x93, 0x11, + 0xe8, 0xff, 0x92, 0x98, 0xe6, 0xd7, 0x81, 0x6b, +}; +static const unsigned char kat3719_nonce[] = {0}; +static const unsigned char kat3719_persstr[] = { + 0x1b, 0x74, 0x6f, 0x2b, 0x1f, 0xb5, 0x4c, 0x4a, 0x0b, 0xac, 0x0c, 0x94, + 0x80, 0xbb, 0x6d, 0x11, 0x5c, 0xa0, 0xe8, 0xbc, 0x7e, 0xfc, 0x74, 0xc2, + 0x57, 0x96, 0x6a, 0x0a, 0x9f, 0x3f, 0xa3, 0x88, +}; +static const unsigned char kat3719_entropyinpr1[] = { + 0x40, 0x9a, 0x02, 0x4e, 0x1c, 0x94, 0xc5, 0x92, 0xd4, 0x36, 0xe6, 0x03, + 0xc8, 0xea, 0x25, 0xe1, 0xd4, 0x8d, 0x55, 0xfe, 0x2b, 0x08, 0x94, 0x65, + 0xdc, 0x3c, 0xf3, 0x4b, 0xb2, 0xe1, 0x14, 0xc4, +}; +static const unsigned char kat3719_addinpr1[] = { + 0x99, 0xdf, 0xdf, 0xa5, 0xea, 0x3e, 0x54, 0xed, 0xc3, 0xab, 0xdd, 0x3c, + 0xc0, 0xfd, 0x85, 0x84, 0x3e, 0x40, 0x4f, 0xe1, 0x23, 0xf8, 0xa0, 0x1f, + 0x42, 0x95, 0x09, 0x5d, 0x87, 0x95, 0xca, 0xb4, +}; +static const unsigned char kat3719_entropyinpr2[] = { + 0xce, 0x18, 0x1c, 0xdc, 0xa5, 0x64, 0xcc, 0xba, 0x8f, 0x3b, 0xae, 0xa1, + 0x82, 0x79, 0x72, 0xb4, 0xd1, 0x55, 0xcf, 0x51, 0x2e, 0x0f, 0x4c, 0xee, + 0x2f, 0x47, 0xb7, 0xfd, 0x49, 0x46, 0x29, 0x94, +}; +static const unsigned char kat3719_addinpr2[] = { + 0x49, 0x41, 0x90, 0x3f, 0x86, 0x75, 0xc0, 0x1a, 0x4e, 0xb6, 0x46, 0x4e, + 0xca, 0xa1, 0xfb, 0x17, 0x75, 0x9f, 0x8b, 0x66, 0x7d, 0x25, 0x0d, 0x8d, + 0x1e, 0xcd, 0x8e, 0xed, 0xb4, 0xe7, 0x31, 0x8c, +}; +static const unsigned char kat3719_retbits[] = { + 0x2d, 0x16, 0xdc, 0xe6, 0xa8, 0x44, 0x20, 0x6f, 0x6b, 0xd6, 0xd5, 0x71, + 0x5c, 0xda, 0x01, 0x44, 0x7d, 0x79, 0x5c, 0xd6, 0x4b, 0x60, 0xb4, 0x58, + 0xfa, 0x7f, 0x21, 0xd1, 0x0e, 0xc6, 0x56, 0x5b, 0xbf, 0x31, 0x44, 0xe0, + 0x92, 0x05, 0x27, 0xed, 0x4e, 0x9c, 0xa9, 0xc7, 0x59, 0xfc, 0x3c, 0xd8, + 0xac, 0x05, 0x48, 0xf7, 0xa0, 0x39, 0xc1, 0x55, 0xe6, 0x2a, 0x2b, 0xeb, + 0x78, 0x85, 0x63, 0x2c, +}; +static const struct drbg_kat_pr_true kat3719_t = { + 13, kat3719_entropyin, kat3719_nonce, kat3719_persstr, + kat3719_entropyinpr1, kat3719_addinpr1, kat3719_entropyinpr2, + kat3719_addinpr2, kat3719_retbits +}; +static const struct drbg_kat kat3719 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3719_t +}; + +static const unsigned char kat3720_entropyin[] = { + 0x86, 0xf4, 0xf7, 0xec, 0x3c, 0xb2, 0xd3, 0x7c, 0xea, 0x66, 0x47, 0xe3, + 0x83, 0xcd, 0x0f, 0x35, 0x71, 0x99, 0x89, 0xcb, 0x13, 0x23, 0x71, 0x07, + 0x84, 0xcb, 0x27, 0xa6, 0x4f, 0xc3, 0xee, 0x9b, +}; +static const unsigned char kat3720_nonce[] = {0}; +static const unsigned char kat3720_persstr[] = { + 0xcc, 0xe1, 0x28, 0xaa, 0xa8, 0x5c, 0xb5, 0x2d, 0xcf, 0x2e, 0xbf, 0xd8, + 0x37, 0xbb, 0x13, 0x7e, 0x53, 0xa9, 0x1d, 0xd2, 0x9b, 0x7d, 0x65, 0xe8, + 0x90, 0xe6, 0x6d, 0x54, 0xfa, 0x09, 0x6f, 0xc6, +}; +static const unsigned char kat3720_entropyinpr1[] = { + 0xa8, 0xaf, 0xcb, 0x36, 0xc5, 0x1b, 0x7c, 0xba, 0x56, 0x4e, 0xc8, 0xeb, + 0xe2, 0x58, 0xc9, 0x36, 0xcd, 0xa3, 0x61, 0x3b, 0x22, 0x3a, 0x70, 0xab, + 0x9f, 0x65, 0xf0, 0x01, 0xc2, 0x2c, 0xc5, 0xa4, +}; +static const unsigned char kat3720_addinpr1[] = { + 0x40, 0x60, 0x82, 0xc9, 0xde, 0xc4, 0x16, 0x91, 0x7d, 0x56, 0xae, 0xff, + 0xac, 0xba, 0xcd, 0xc4, 0xe2, 0xad, 0x24, 0x0b, 0x08, 0x04, 0x2d, 0x33, + 0x82, 0x47, 0x18, 0x11, 0x13, 0x42, 0xdb, 0x5f, +}; +static const unsigned char kat3720_entropyinpr2[] = { + 0xc6, 0x4d, 0xc7, 0xf4, 0xe7, 0xfc, 0x14, 0xad, 0xa0, 0x90, 0x5e, 0x27, + 0x1e, 0x0d, 0xe4, 0x91, 0xa7, 0xb8, 0xe4, 0x93, 0x1d, 0x26, 0x82, 0x3e, + 0x57, 0x21, 0x32, 0x32, 0x9e, 0x00, 0x65, 0x2a, +}; +static const unsigned char kat3720_addinpr2[] = { + 0x55, 0x15, 0x6a, 0x60, 0x49, 0x66, 0x21, 0x2f, 0x7c, 0xf2, 0x03, 0x79, + 0xb7, 0x9c, 0xdf, 0xee, 0x41, 0xa9, 0xfe, 0x46, 0x2c, 0x9f, 0x7e, 0x17, + 0xe5, 0xa0, 0x82, 0xc5, 0xdc, 0xa8, 0xb6, 0x60, +}; +static const unsigned char kat3720_retbits[] = { + 0x7d, 0x96, 0xdf, 0xe0, 0xf6, 0xfe, 0x3e, 0xac, 0x2d, 0xe3, 0xa3, 0xa8, + 0x72, 0x9d, 0x36, 0xaf, 0xb1, 0x76, 0x7a, 0xea, 0xe2, 0xac, 0x3c, 0x79, + 0xdb, 0x0c, 0x52, 0x32, 0x26, 0xca, 0xca, 0xc3, 0xca, 0xc6, 0xd5, 0xa8, + 0x7d, 0x4f, 0x15, 0x2e, 0x8e, 0x72, 0x74, 0x06, 0x9c, 0xc9, 0xf1, 0x2b, + 0xb7, 0xed, 0xb2, 0x93, 0xf0, 0x4e, 0x9b, 0xbd, 0x5a, 0x8f, 0x0a, 0xb1, + 0x42, 0xfc, 0x37, 0x3b, +}; +static const struct drbg_kat_pr_true kat3720_t = { + 14, kat3720_entropyin, kat3720_nonce, kat3720_persstr, + kat3720_entropyinpr1, kat3720_addinpr1, kat3720_entropyinpr2, + kat3720_addinpr2, kat3720_retbits +}; +static const struct drbg_kat kat3720 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3720_t +}; + +static const unsigned char kat3721_entropyin[] = { + 0x1f, 0x44, 0xa9, 0x9b, 0xdc, 0x8e, 0x23, 0xa2, 0x73, 0x67, 0x71, 0x9a, + 0xa6, 0x18, 0x70, 0xa0, 0xd1, 0xfe, 0x73, 0xd5, 0x73, 0x43, 0x41, 0x34, + 0x92, 0xfc, 0x8b, 0x15, 0xef, 0x91, 0x7c, 0xc7, +}; +static const unsigned char kat3721_nonce[] = {0}; +static const unsigned char kat3721_persstr[] = {0}; +static const unsigned char kat3721_entropyinpr1[] = { + 0x22, 0xc7, 0x2e, 0xc1, 0x27, 0xc3, 0x05, 0x9f, 0x6e, 0x9a, 0xb0, 0x9a, + 0x7b, 0x21, 0xa7, 0x2e, 0xc1, 0x1f, 0x71, 0x60, 0x98, 0x70, 0xfa, 0x76, + 0x4a, 0x0b, 0xb9, 0xb1, 0x8b, 0x4e, 0xe0, 0xbf, +}; +static const unsigned char kat3721_addinpr1[] = {0}; +static const unsigned char kat3721_entropyinpr2[] = { + 0xbb, 0x50, 0x59, 0x26, 0xd5, 0x82, 0xf6, 0x98, 0x43, 0x0e, 0xbf, 0x1b, + 0x22, 0x20, 0x6c, 0xb7, 0x7b, 0xa0, 0xff, 0xc9, 0x6a, 0x77, 0x12, 0x97, + 0x09, 0xff, 0x99, 0xe7, 0xf7, 0x31, 0xa2, 0x0a, +}; +static const unsigned char kat3721_addinpr2[] = {0}; +static const unsigned char kat3721_retbits[] = { + 0x7b, 0x5a, 0x20, 0x1a, 0xa4, 0xb7, 0x95, 0x0b, 0xc2, 0x08, 0x1f, 0x27, + 0x7e, 0x7a, 0xec, 0xe3, 0xb1, 0x9c, 0x74, 0xae, 0xe3, 0x4f, 0x19, 0x2f, + 0xeb, 0x0b, 0x05, 0x77, 0x70, 0xe1, 0x2e, 0x9f, 0x55, 0x1e, 0x3e, 0x31, + 0x0a, 0x6c, 0x73, 0x92, 0xe9, 0x8e, 0xe5, 0xd4, 0xd2, 0x4e, 0x1d, 0xa9, + 0x6d, 0xe2, 0xb2, 0xc6, 0x40, 0xc8, 0x63, 0xda, 0x9e, 0x97, 0x1c, 0xd3, + 0x15, 0x61, 0xb0, 0xa8, +}; +static const struct drbg_kat_pr_true kat3721_t = { + 0, kat3721_entropyin, kat3721_nonce, kat3721_persstr, + kat3721_entropyinpr1, kat3721_addinpr1, kat3721_entropyinpr2, + kat3721_addinpr2, kat3721_retbits +}; +static const struct drbg_kat kat3721 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3721_t +}; + +static const unsigned char kat3722_entropyin[] = { + 0xb0, 0x4d, 0x2c, 0xb8, 0x99, 0xec, 0x91, 0x5d, 0x83, 0xb5, 0x28, 0x56, + 0x6b, 0x49, 0xa0, 0x9a, 0x00, 0xe7, 0x58, 0x02, 0xd3, 0x97, 0x83, 0xae, + 0x2a, 0xfa, 0x8d, 0xb5, 0x8c, 0x7b, 0x8f, 0x81, +}; +static const unsigned char kat3722_nonce[] = {0}; +static const unsigned char kat3722_persstr[] = {0}; +static const unsigned char kat3722_entropyinpr1[] = { + 0xbf, 0xd5, 0x8c, 0x5e, 0x21, 0xbd, 0x56, 0xda, 0x4d, 0x65, 0x52, 0x96, + 0x0b, 0x76, 0xb4, 0xaa, 0x7c, 0x9c, 0x66, 0xc9, 0xa2, 0x38, 0x2d, 0xab, + 0x79, 0x9a, 0xe5, 0x56, 0x9e, 0x01, 0xff, 0xd3, +}; +static const unsigned char kat3722_addinpr1[] = {0}; +static const unsigned char kat3722_entropyinpr2[] = { + 0x0c, 0x70, 0x5b, 0x94, 0xf2, 0x06, 0x5e, 0x4b, 0x2f, 0x63, 0x7a, 0x2d, + 0xc9, 0xb7, 0xed, 0x01, 0x57, 0xf9, 0xe0, 0x72, 0x2a, 0xa9, 0xe8, 0x3e, + 0x8a, 0xa1, 0x3b, 0xb6, 0x51, 0x0b, 0x8e, 0x58, +}; +static const unsigned char kat3722_addinpr2[] = {0}; +static const unsigned char kat3722_retbits[] = { + 0xdd, 0xd0, 0x9f, 0x4c, 0x9e, 0x93, 0xca, 0x2d, 0x2b, 0xb7, 0xd4, 0x36, + 0x6b, 0x0a, 0x6f, 0xbf, 0x72, 0x2d, 0xac, 0xdf, 0x5d, 0x59, 0x15, 0x2a, + 0xd1, 0xd5, 0x5f, 0x33, 0x91, 0x1c, 0x52, 0x13, 0x4e, 0xab, 0x81, 0xf6, + 0x4e, 0x5b, 0xf4, 0xa0, 0x86, 0x1c, 0xfe, 0xbc, 0xcd, 0xee, 0x0a, 0x74, + 0x04, 0xb3, 0x27, 0x99, 0xf8, 0x6a, 0xef, 0x63, 0xb2, 0x95, 0xd0, 0xe6, + 0xd9, 0xef, 0x4a, 0xdc, +}; +static const struct drbg_kat_pr_true kat3722_t = { + 1, kat3722_entropyin, kat3722_nonce, kat3722_persstr, + kat3722_entropyinpr1, kat3722_addinpr1, kat3722_entropyinpr2, + kat3722_addinpr2, kat3722_retbits +}; +static const struct drbg_kat kat3722 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3722_t +}; + +static const unsigned char kat3723_entropyin[] = { + 0x05, 0x6d, 0xf1, 0x8d, 0x2e, 0x8b, 0xf1, 0x7a, 0xef, 0x52, 0xf6, 0x08, + 0x24, 0xd5, 0x3b, 0xe5, 0x49, 0x3a, 0x0e, 0xbf, 0xb3, 0x14, 0x36, 0x36, + 0xb0, 0xb3, 0xf0, 0x66, 0xc7, 0x81, 0x1f, 0x0a, +}; +static const unsigned char kat3723_nonce[] = {0}; +static const unsigned char kat3723_persstr[] = {0}; +static const unsigned char kat3723_entropyinpr1[] = { + 0xb6, 0x3e, 0x45, 0x14, 0x8c, 0x28, 0x59, 0xde, 0x11, 0x9f, 0xc8, 0x31, + 0xfd, 0x26, 0x51, 0x64, 0x30, 0x2e, 0x8c, 0x5e, 0x23, 0x0f, 0x26, 0xa7, + 0x1e, 0x02, 0x10, 0xae, 0x57, 0x96, 0xf7, 0x9d, +}; +static const unsigned char kat3723_addinpr1[] = {0}; +static const unsigned char kat3723_entropyinpr2[] = { + 0xba, 0x82, 0xed, 0x1e, 0x95, 0x90, 0xcc, 0x53, 0x09, 0x32, 0x8f, 0xc5, + 0x1f, 0x92, 0xf2, 0xdc, 0xaa, 0xe2, 0xe3, 0x20, 0x22, 0x72, 0x65, 0xe6, + 0x3b, 0xe8, 0x19, 0x03, 0xb1, 0x76, 0x6b, 0x53, +}; +static const unsigned char kat3723_addinpr2[] = {0}; +static const unsigned char kat3723_retbits[] = { + 0xa3, 0x81, 0xd0, 0x6d, 0x00, 0xc9, 0xda, 0x58, 0xf4, 0x84, 0xc9, 0xcf, + 0xf8, 0xdf, 0xad, 0x4c, 0xd8, 0x51, 0x23, 0x94, 0xdd, 0x6e, 0x96, 0x04, + 0xbb, 0x76, 0x3b, 0xda, 0x89, 0x60, 0x59, 0x4f, 0x34, 0x4c, 0x55, 0x73, + 0x2f, 0xbc, 0x37, 0x6e, 0x6e, 0x34, 0xf6, 0x49, 0xab, 0xcd, 0xaf, 0x82, + 0x1e, 0x76, 0xd1, 0xde, 0x9f, 0xfc, 0xd6, 0x0b, 0x6a, 0x19, 0x17, 0xbe, + 0x5a, 0xdd, 0x1c, 0x07, +}; +static const struct drbg_kat_pr_true kat3723_t = { + 2, kat3723_entropyin, kat3723_nonce, kat3723_persstr, + kat3723_entropyinpr1, kat3723_addinpr1, kat3723_entropyinpr2, + kat3723_addinpr2, kat3723_retbits +}; +static const struct drbg_kat kat3723 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3723_t +}; + +static const unsigned char kat3724_entropyin[] = { + 0x51, 0x98, 0x97, 0x56, 0xb7, 0xd9, 0xbc, 0x1d, 0x18, 0x27, 0x4c, 0xe4, + 0xff, 0x80, 0x22, 0xf0, 0x22, 0x1b, 0xc6, 0xf6, 0x96, 0xfb, 0x6c, 0x2e, + 0x36, 0x76, 0xeb, 0x7e, 0x0b, 0x28, 0x04, 0x8b, +}; +static const unsigned char kat3724_nonce[] = {0}; +static const unsigned char kat3724_persstr[] = {0}; +static const unsigned char kat3724_entropyinpr1[] = { + 0x50, 0x02, 0x5b, 0x1a, 0xba, 0xc5, 0x8e, 0x63, 0x66, 0xe3, 0xc5, 0xf5, + 0xc4, 0xf3, 0xe0, 0x6d, 0x31, 0xc6, 0x85, 0xd7, 0xe4, 0xe0, 0x31, 0xb9, + 0x73, 0x6a, 0x27, 0x2c, 0x08, 0x5f, 0x98, 0xe4, +}; +static const unsigned char kat3724_addinpr1[] = {0}; +static const unsigned char kat3724_entropyinpr2[] = { + 0xf7, 0x57, 0xba, 0xdd, 0x45, 0x42, 0x53, 0xdc, 0x84, 0x07, 0x4f, 0xf9, + 0xc5, 0xb3, 0x45, 0x36, 0x5a, 0x24, 0xe5, 0xf8, 0x37, 0x0e, 0x3d, 0xee, + 0x1c, 0x4c, 0x69, 0x6c, 0x71, 0x98, 0x2d, 0x74, +}; +static const unsigned char kat3724_addinpr2[] = {0}; +static const unsigned char kat3724_retbits[] = { + 0xd6, 0x0a, 0xcb, 0xe5, 0x7e, 0x4a, 0x44, 0xdc, 0x5d, 0x8d, 0xc3, 0x1e, + 0xc2, 0x82, 0x15, 0x01, 0x37, 0xca, 0x3d, 0xd5, 0xa9, 0xde, 0x0f, 0x39, + 0x79, 0x89, 0x72, 0x26, 0x2a, 0x6b, 0x69, 0x1f, 0x48, 0x5b, 0x44, 0xd5, + 0x53, 0xa7, 0x95, 0x59, 0x3e, 0xb1, 0x78, 0x6e, 0xa1, 0x01, 0xeb, 0x0d, + 0x71, 0x6e, 0x95, 0x5a, 0x2d, 0xe2, 0x6f, 0x14, 0x8b, 0x64, 0x0d, 0xef, + 0x80, 0xba, 0x38, 0xc5, +}; +static const struct drbg_kat_pr_true kat3724_t = { + 3, kat3724_entropyin, kat3724_nonce, kat3724_persstr, + kat3724_entropyinpr1, kat3724_addinpr1, kat3724_entropyinpr2, + kat3724_addinpr2, kat3724_retbits +}; +static const struct drbg_kat kat3724 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3724_t +}; + +static const unsigned char kat3725_entropyin[] = { + 0x7c, 0xfc, 0x70, 0xa8, 0x91, 0x6d, 0xf2, 0xea, 0x28, 0x5b, 0xf1, 0x08, + 0x2b, 0x37, 0x12, 0x99, 0xd0, 0x12, 0xf2, 0x99, 0x03, 0x68, 0x25, 0x40, + 0x1b, 0x69, 0x28, 0x87, 0x69, 0x18, 0x98, 0x24, +}; +static const unsigned char kat3725_nonce[] = {0}; +static const unsigned char kat3725_persstr[] = {0}; +static const unsigned char kat3725_entropyinpr1[] = { + 0x95, 0x92, 0x75, 0xa7, 0x19, 0x9e, 0xb2, 0x1b, 0x6e, 0x31, 0xdf, 0x76, + 0x38, 0x00, 0x2b, 0x2d, 0x9a, 0x8b, 0xf5, 0x90, 0xfd, 0x81, 0x75, 0xf3, + 0x53, 0x18, 0x59, 0x43, 0x16, 0xb4, 0xa3, 0xff, +}; +static const unsigned char kat3725_addinpr1[] = {0}; +static const unsigned char kat3725_entropyinpr2[] = { + 0xd9, 0x00, 0x0f, 0x75, 0xba, 0xb8, 0x91, 0xfa, 0x4a, 0xa6, 0x64, 0x7f, + 0x93, 0xf6, 0x62, 0x51, 0xfb, 0x98, 0x23, 0x16, 0x49, 0xe2, 0x34, 0xde, + 0x32, 0xe7, 0x57, 0x5a, 0xed, 0x00, 0x8b, 0x47, +}; +static const unsigned char kat3725_addinpr2[] = {0}; +static const unsigned char kat3725_retbits[] = { + 0x06, 0xd9, 0x1a, 0xed, 0xd2, 0x8f, 0xc5, 0xde, 0x08, 0xc7, 0x27, 0xde, + 0xcf, 0x85, 0xa0, 0x8e, 0xf5, 0x6f, 0x02, 0xc7, 0x6b, 0x37, 0x6e, 0x27, + 0xbc, 0x47, 0x73, 0x5b, 0x58, 0x81, 0x9d, 0x90, 0xa7, 0x95, 0x7f, 0x75, + 0x4c, 0x29, 0x5c, 0xfd, 0x9e, 0xe6, 0x17, 0xda, 0x44, 0x7b, 0xc3, 0x53, + 0xe4, 0x2a, 0x92, 0x46, 0xda, 0x3f, 0xf3, 0xa8, 0xb0, 0x8c, 0xa3, 0x38, + 0xbc, 0x40, 0x9f, 0xae, +}; +static const struct drbg_kat_pr_true kat3725_t = { + 4, kat3725_entropyin, kat3725_nonce, kat3725_persstr, + kat3725_entropyinpr1, kat3725_addinpr1, kat3725_entropyinpr2, + kat3725_addinpr2, kat3725_retbits +}; +static const struct drbg_kat kat3725 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3725_t +}; + +static const unsigned char kat3726_entropyin[] = { + 0x36, 0x6a, 0x1d, 0x80, 0xe7, 0xe5, 0x4e, 0x84, 0x91, 0x59, 0x90, 0x35, + 0xe8, 0x54, 0x3e, 0x04, 0x8f, 0x98, 0x26, 0xd8, 0xb5, 0x41, 0xa0, 0x67, + 0x76, 0xf9, 0x26, 0x37, 0x9b, 0x0e, 0x13, 0x7b, +}; +static const unsigned char kat3726_nonce[] = {0}; +static const unsigned char kat3726_persstr[] = {0}; +static const unsigned char kat3726_entropyinpr1[] = { + 0x44, 0x75, 0x26, 0x69, 0x4c, 0x6e, 0x18, 0xaf, 0xdf, 0xa6, 0x3b, 0xf2, + 0x24, 0x74, 0xf4, 0xc3, 0x43, 0x3d, 0x00, 0x48, 0x8f, 0x8c, 0x0c, 0x83, + 0xe4, 0xbf, 0x3a, 0x0a, 0xed, 0xd2, 0x0a, 0x56, +}; +static const unsigned char kat3726_addinpr1[] = {0}; +static const unsigned char kat3726_entropyinpr2[] = { + 0xc3, 0x2b, 0x6c, 0xcb, 0xee, 0xc2, 0xb1, 0xf8, 0x4d, 0x52, 0xe8, 0xb9, + 0x18, 0x6c, 0x6b, 0x25, 0xce, 0xac, 0x8b, 0x24, 0x0a, 0x35, 0x5e, 0xb2, + 0xbc, 0xd0, 0x07, 0x62, 0x99, 0x52, 0x3d, 0x0f, +}; +static const unsigned char kat3726_addinpr2[] = {0}; +static const unsigned char kat3726_retbits[] = { + 0xd5, 0x16, 0x90, 0x0e, 0x90, 0xf7, 0xbf, 0x7f, 0x07, 0xc7, 0xc9, 0xc5, + 0x33, 0xf3, 0x50, 0x67, 0x2d, 0x8a, 0x8f, 0xdf, 0x15, 0x0b, 0x37, 0x00, + 0xe6, 0x40, 0x87, 0x33, 0x98, 0x29, 0xb2, 0xcc, 0x76, 0x4d, 0xe7, 0x91, + 0x65, 0xc8, 0xce, 0x3c, 0xf7, 0x82, 0xdc, 0x72, 0xce, 0x5a, 0xdb, 0xb7, + 0x16, 0xf6, 0x9d, 0x39, 0x47, 0xe4, 0x7d, 0x0b, 0x0f, 0x47, 0x3d, 0x34, + 0x50, 0x60, 0x62, 0xde, +}; +static const struct drbg_kat_pr_true kat3726_t = { + 5, kat3726_entropyin, kat3726_nonce, kat3726_persstr, + kat3726_entropyinpr1, kat3726_addinpr1, kat3726_entropyinpr2, + kat3726_addinpr2, kat3726_retbits +}; +static const struct drbg_kat kat3726 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3726_t +}; + +static const unsigned char kat3727_entropyin[] = { + 0x26, 0xf1, 0x9a, 0x88, 0x23, 0x9e, 0x0a, 0xe8, 0xb2, 0xfd, 0xa7, 0x46, + 0x5b, 0x72, 0x10, 0xdd, 0xf2, 0xc6, 0x33, 0x46, 0xff, 0x4c, 0x00, 0xcf, + 0x5f, 0xdf, 0xc5, 0x6d, 0x99, 0xac, 0xd3, 0xdd, +}; +static const unsigned char kat3727_nonce[] = {0}; +static const unsigned char kat3727_persstr[] = {0}; +static const unsigned char kat3727_entropyinpr1[] = { + 0x44, 0x8b, 0x93, 0x41, 0xb1, 0x9d, 0x26, 0xab, 0x46, 0x6f, 0x90, 0x5b, + 0x58, 0x9d, 0xf1, 0x94, 0x7f, 0x9c, 0xd3, 0xe3, 0x97, 0x99, 0x8f, 0x5b, + 0xd0, 0x36, 0xa3, 0xae, 0x39, 0x5b, 0xba, 0xaa, +}; +static const unsigned char kat3727_addinpr1[] = {0}; +static const unsigned char kat3727_entropyinpr2[] = { + 0x53, 0x2f, 0x6b, 0x54, 0x91, 0x1c, 0x10, 0x2d, 0xed, 0xf4, 0x76, 0x55, + 0xb1, 0x73, 0x4e, 0x52, 0xd4, 0xae, 0x18, 0x06, 0x2c, 0x5b, 0x80, 0xc2, + 0x42, 0x30, 0xd9, 0x75, 0x5e, 0x1a, 0xb3, 0x96, +}; +static const unsigned char kat3727_addinpr2[] = {0}; +static const unsigned char kat3727_retbits[] = { + 0x48, 0x47, 0xfc, 0x50, 0x8e, 0x66, 0xba, 0x3f, 0x68, 0xec, 0xaa, 0x3f, + 0xc4, 0xb8, 0x7c, 0xb8, 0xbf, 0xc2, 0xd9, 0x30, 0xa0, 0xe5, 0x6f, 0x63, + 0x76, 0x7c, 0xcb, 0x4e, 0xf8, 0x9b, 0x80, 0xb3, 0x17, 0xf3, 0x3e, 0x46, + 0x5b, 0x2f, 0x39, 0x3c, 0xaa, 0x75, 0x85, 0x32, 0x74, 0xe0, 0x37, 0x7e, + 0x80, 0x2e, 0x1f, 0x8b, 0x55, 0xb3, 0x1e, 0x51, 0xd2, 0x23, 0x81, 0x93, + 0x54, 0x2f, 0x57, 0x88, +}; +static const struct drbg_kat_pr_true kat3727_t = { + 6, kat3727_entropyin, kat3727_nonce, kat3727_persstr, + kat3727_entropyinpr1, kat3727_addinpr1, kat3727_entropyinpr2, + kat3727_addinpr2, kat3727_retbits +}; +static const struct drbg_kat kat3727 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3727_t +}; + +static const unsigned char kat3728_entropyin[] = { + 0x7b, 0xc8, 0x57, 0xc7, 0x5c, 0x47, 0x75, 0x5c, 0x47, 0x1f, 0x70, 0x95, + 0xa2, 0xb2, 0x15, 0x75, 0xae, 0x21, 0x9a, 0x9d, 0xae, 0xa4, 0x2b, 0x9c, + 0x93, 0xea, 0x83, 0x55, 0x4c, 0x92, 0xb7, 0xd0, +}; +static const unsigned char kat3728_nonce[] = {0}; +static const unsigned char kat3728_persstr[] = {0}; +static const unsigned char kat3728_entropyinpr1[] = { + 0xaf, 0x7e, 0xe8, 0x26, 0xf8, 0x9d, 0xdc, 0xb7, 0xc6, 0xab, 0xf6, 0x3b, + 0x50, 0xe7, 0xac, 0x3d, 0xe0, 0x64, 0xa4, 0xab, 0x65, 0x58, 0x3c, 0x47, + 0x06, 0x0e, 0x3e, 0xab, 0xb7, 0x0c, 0x2c, 0xf1, +}; +static const unsigned char kat3728_addinpr1[] = {0}; +static const unsigned char kat3728_entropyinpr2[] = { + 0x64, 0x57, 0x68, 0xbc, 0x93, 0x61, 0x90, 0x8b, 0x16, 0x16, 0x17, 0xf0, + 0x43, 0x09, 0x17, 0xbd, 0x5c, 0x26, 0x57, 0xf2, 0x96, 0x8b, 0x9a, 0x49, + 0xe1, 0x76, 0x69, 0x53, 0x8e, 0x37, 0x25, 0xa4, +}; +static const unsigned char kat3728_addinpr2[] = {0}; +static const unsigned char kat3728_retbits[] = { + 0x57, 0xb6, 0x14, 0x4f, 0x77, 0x3f, 0xed, 0xc6, 0x8f, 0x2c, 0x91, 0xd7, + 0x4a, 0x66, 0x63, 0x38, 0x4b, 0x64, 0xba, 0x9d, 0x87, 0xe4, 0x9a, 0xca, + 0xa9, 0x28, 0xcb, 0x57, 0x16, 0x56, 0xfb, 0xde, 0xb1, 0xfd, 0xdd, 0xf6, + 0x00, 0xd5, 0xab, 0xcb, 0x5c, 0x05, 0x80, 0xff, 0x8b, 0x84, 0xa7, 0x99, + 0x2b, 0xf9, 0x18, 0xb9, 0x01, 0xda, 0xa2, 0x14, 0x8c, 0xe9, 0x91, 0xd4, + 0xdb, 0xad, 0xf0, 0x09, +}; +static const struct drbg_kat_pr_true kat3728_t = { + 7, kat3728_entropyin, kat3728_nonce, kat3728_persstr, + kat3728_entropyinpr1, kat3728_addinpr1, kat3728_entropyinpr2, + kat3728_addinpr2, kat3728_retbits +}; +static const struct drbg_kat kat3728 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3728_t +}; + +static const unsigned char kat3729_entropyin[] = { + 0x8e, 0xdb, 0x1b, 0x84, 0x73, 0x5c, 0x84, 0x0f, 0x96, 0x15, 0x55, 0xa7, + 0x1b, 0x2a, 0x0c, 0x4d, 0xa7, 0xd4, 0xdb, 0x99, 0x06, 0xdb, 0xbb, 0xa2, + 0x08, 0x24, 0x54, 0xbd, 0x6b, 0xe0, 0xc5, 0x34, +}; +static const unsigned char kat3729_nonce[] = {0}; +static const unsigned char kat3729_persstr[] = {0}; +static const unsigned char kat3729_entropyinpr1[] = { + 0x50, 0x6a, 0xf2, 0x42, 0xe6, 0x8c, 0x48, 0x92, 0x72, 0xf5, 0x67, 0xb2, + 0x49, 0xa4, 0x7d, 0xcf, 0x73, 0xf2, 0xf6, 0x47, 0x94, 0x3c, 0xd3, 0xb4, + 0x7e, 0x5a, 0xad, 0xe3, 0x41, 0xe4, 0x1e, 0xee, +}; +static const unsigned char kat3729_addinpr1[] = {0}; +static const unsigned char kat3729_entropyinpr2[] = { + 0x09, 0xa2, 0x21, 0xe9, 0xee, 0x13, 0x9b, 0x0c, 0xee, 0x12, 0x46, 0x45, + 0x87, 0x92, 0x85, 0xdc, 0x29, 0x86, 0x25, 0x40, 0x93, 0x82, 0x0c, 0xb2, + 0x2f, 0x77, 0x1d, 0xe2, 0x59, 0x8f, 0x65, 0xc1, +}; +static const unsigned char kat3729_addinpr2[] = {0}; +static const unsigned char kat3729_retbits[] = { + 0x79, 0x66, 0x25, 0x92, 0x55, 0xc3, 0xc6, 0xcf, 0xb7, 0x08, 0x48, 0xc9, + 0x06, 0xf4, 0x44, 0x6d, 0x6d, 0x0d, 0xe8, 0x57, 0xd7, 0xc0, 0x6b, 0x81, + 0xdf, 0x6c, 0xbb, 0xcc, 0x45, 0xfc, 0x9e, 0xce, 0xc5, 0x8e, 0x68, 0x9c, + 0x7a, 0x88, 0x30, 0xe3, 0xd4, 0x56, 0x20, 0xbf, 0xb8, 0x4f, 0x1e, 0x76, + 0xbe, 0x29, 0x2a, 0x26, 0xb9, 0x09, 0xe5, 0xdf, 0xc3, 0x80, 0xc1, 0xb8, + 0xd7, 0x2d, 0x9a, 0x78, +}; +static const struct drbg_kat_pr_true kat3729_t = { + 8, kat3729_entropyin, kat3729_nonce, kat3729_persstr, + kat3729_entropyinpr1, kat3729_addinpr1, kat3729_entropyinpr2, + kat3729_addinpr2, kat3729_retbits +}; +static const struct drbg_kat kat3729 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3729_t +}; + +static const unsigned char kat3730_entropyin[] = { + 0xa8, 0x44, 0x0d, 0xc1, 0x4f, 0x68, 0x7f, 0x7d, 0x0a, 0xfc, 0x13, 0x11, + 0x52, 0x69, 0x26, 0xc6, 0x70, 0x7d, 0x05, 0xc3, 0xf1, 0xc6, 0x9d, 0xad, + 0x19, 0x99, 0xa6, 0x84, 0x20, 0x88, 0x74, 0xf1, +}; +static const unsigned char kat3730_nonce[] = {0}; +static const unsigned char kat3730_persstr[] = {0}; +static const unsigned char kat3730_entropyinpr1[] = { + 0x41, 0x65, 0x82, 0xe4, 0x49, 0x6b, 0x0b, 0x3c, 0x9e, 0xc4, 0x40, 0x82, + 0x71, 0x5c, 0x38, 0x91, 0x38, 0x18, 0x73, 0xdd, 0x73, 0xff, 0x04, 0x90, + 0x98, 0x7d, 0xe1, 0x7e, 0x0f, 0xf5, 0x88, 0x8a, +}; +static const unsigned char kat3730_addinpr1[] = {0}; +static const unsigned char kat3730_entropyinpr2[] = { + 0x3f, 0xa9, 0xfe, 0x9a, 0xf5, 0x6a, 0xbb, 0x65, 0x19, 0xb6, 0xe2, 0x2e, + 0x76, 0x37, 0x46, 0xf6, 0x3d, 0xaa, 0xf2, 0x21, 0x33, 0xf7, 0x34, 0xc7, + 0xc4, 0x5d, 0xfc, 0x46, 0x40, 0xf1, 0x0c, 0x86, +}; +static const unsigned char kat3730_addinpr2[] = {0}; +static const unsigned char kat3730_retbits[] = { + 0xcb, 0x61, 0xfa, 0xa4, 0x9f, 0x18, 0x22, 0x0a, 0xed, 0xbb, 0x5e, 0x1c, + 0xc4, 0x69, 0xc5, 0xe1, 0xd3, 0x8f, 0xdc, 0x4a, 0xe6, 0xdc, 0x73, 0x33, + 0x0d, 0xde, 0x98, 0xa2, 0x7c, 0x32, 0xd1, 0x08, 0x03, 0x96, 0x92, 0xe5, + 0x91, 0x0b, 0x42, 0x0a, 0x8f, 0x4a, 0x46, 0x70, 0x39, 0x85, 0x66, 0x20, + 0x88, 0x73, 0xd3, 0x50, 0x11, 0x85, 0x4f, 0x29, 0x24, 0x33, 0x93, 0xb0, + 0x48, 0xc7, 0x02, 0x2f, +}; +static const struct drbg_kat_pr_true kat3730_t = { + 9, kat3730_entropyin, kat3730_nonce, kat3730_persstr, + kat3730_entropyinpr1, kat3730_addinpr1, kat3730_entropyinpr2, + kat3730_addinpr2, kat3730_retbits +}; +static const struct drbg_kat kat3730 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3730_t +}; + +static const unsigned char kat3731_entropyin[] = { + 0xbf, 0xf9, 0x91, 0x1a, 0x1b, 0xf3, 0xda, 0x59, 0xdc, 0x92, 0x80, 0xf6, + 0x3b, 0x34, 0x9e, 0xd0, 0x8b, 0xc4, 0x57, 0x49, 0x67, 0xff, 0x2e, 0xfb, + 0x50, 0xe8, 0x84, 0xb7, 0x13, 0x5f, 0xfb, 0xdd, +}; +static const unsigned char kat3731_nonce[] = {0}; +static const unsigned char kat3731_persstr[] = {0}; +static const unsigned char kat3731_entropyinpr1[] = { + 0x01, 0x66, 0x8f, 0x77, 0xd0, 0xce, 0x93, 0x54, 0xeb, 0x59, 0x80, 0x4d, + 0x84, 0xee, 0xc2, 0xdd, 0x2c, 0xb6, 0xc3, 0x17, 0xe8, 0x8e, 0xe8, 0x31, + 0x93, 0x17, 0x24, 0xac, 0x15, 0xcf, 0xb2, 0xd0, +}; +static const unsigned char kat3731_addinpr1[] = {0}; +static const unsigned char kat3731_entropyinpr2[] = { + 0x3c, 0x31, 0x00, 0x55, 0x48, 0x89, 0x4b, 0x40, 0x85, 0x95, 0xcd, 0xc4, + 0x3a, 0x2c, 0x7e, 0x97, 0x7b, 0x01, 0xb2, 0x24, 0x74, 0x6b, 0x29, 0xd6, + 0xa4, 0xab, 0xf6, 0xd3, 0x35, 0x9c, 0x58, 0x9e, +}; +static const unsigned char kat3731_addinpr2[] = {0}; +static const unsigned char kat3731_retbits[] = { + 0xc6, 0x16, 0xf4, 0x84, 0xc2, 0x34, 0xd9, 0x1a, 0xe9, 0x05, 0xa1, 0xfa, + 0xc3, 0x63, 0xa2, 0x30, 0x97, 0xbd, 0x70, 0x2c, 0x39, 0xee, 0x02, 0x69, + 0xef, 0xf4, 0x5c, 0x06, 0x86, 0x53, 0xe3, 0xf0, 0xe7, 0x22, 0xe6, 0x8f, + 0x2d, 0x2a, 0x98, 0xe7, 0x38, 0x43, 0xce, 0x6b, 0xcf, 0xcb, 0xc9, 0x87, + 0xb9, 0xfd, 0x3b, 0xd6, 0xd1, 0x94, 0xeb, 0xc4, 0x97, 0xa0, 0x95, 0xc9, + 0xb8, 0xbc, 0x75, 0x1b, +}; +static const struct drbg_kat_pr_true kat3731_t = { + 10, kat3731_entropyin, kat3731_nonce, kat3731_persstr, + kat3731_entropyinpr1, kat3731_addinpr1, kat3731_entropyinpr2, + kat3731_addinpr2, kat3731_retbits +}; +static const struct drbg_kat kat3731 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3731_t +}; + +static const unsigned char kat3732_entropyin[] = { + 0x03, 0xad, 0x0c, 0x92, 0x7e, 0x08, 0x07, 0x6b, 0x74, 0x9f, 0x3a, 0xab, + 0x7c, 0x1d, 0x3f, 0x32, 0xa7, 0x3e, 0x80, 0x01, 0xfd, 0xd4, 0x91, 0x9a, + 0xf3, 0xb7, 0x1d, 0xaf, 0x32, 0x7d, 0x36, 0xb4, +}; +static const unsigned char kat3732_nonce[] = {0}; +static const unsigned char kat3732_persstr[] = {0}; +static const unsigned char kat3732_entropyinpr1[] = { + 0x66, 0xdf, 0xb7, 0x9e, 0x77, 0xb1, 0x7e, 0xc9, 0x00, 0xfa, 0x00, 0xc3, + 0x49, 0x55, 0xe2, 0x4c, 0xff, 0x40, 0x39, 0xb3, 0xf5, 0x66, 0x2b, 0x3b, + 0x5c, 0xae, 0xc5, 0x4b, 0x40, 0x56, 0x7e, 0x30, +}; +static const unsigned char kat3732_addinpr1[] = {0}; +static const unsigned char kat3732_entropyinpr2[] = { + 0xe2, 0x99, 0xad, 0xc4, 0x8a, 0xf2, 0x8a, 0x46, 0x18, 0x16, 0x7c, 0x56, + 0xb6, 0xa7, 0xe9, 0x38, 0xe0, 0x55, 0xb8, 0xd7, 0x27, 0xd1, 0x37, 0x5d, + 0xf8, 0x25, 0xec, 0xac, 0xa0, 0xfd, 0x37, 0xea, +}; +static const unsigned char kat3732_addinpr2[] = {0}; +static const unsigned char kat3732_retbits[] = { + 0xe5, 0x52, 0xf5, 0xfb, 0x40, 0x94, 0x6c, 0x00, 0xa2, 0x76, 0x4a, 0x3f, + 0xf3, 0x9f, 0x58, 0x0c, 0xf9, 0x64, 0x59, 0xcb, 0xd1, 0xee, 0x39, 0x98, + 0x0b, 0xbd, 0x6a, 0x14, 0xd8, 0xc5, 0x2a, 0xdd, 0x51, 0xf8, 0xa6, 0x59, + 0xc0, 0xd0, 0x39, 0xfd, 0x44, 0xa6, 0xa0, 0xe1, 0xed, 0x1c, 0x89, 0x6b, + 0x65, 0xcf, 0xac, 0xdb, 0x87, 0x4c, 0x44, 0x28, 0x8a, 0xbb, 0x1a, 0x0b, + 0x0e, 0xe6, 0x90, 0xa9, +}; +static const struct drbg_kat_pr_true kat3732_t = { + 11, kat3732_entropyin, kat3732_nonce, kat3732_persstr, + kat3732_entropyinpr1, kat3732_addinpr1, kat3732_entropyinpr2, + kat3732_addinpr2, kat3732_retbits +}; +static const struct drbg_kat kat3732 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3732_t +}; + +static const unsigned char kat3733_entropyin[] = { + 0xe6, 0x0e, 0x54, 0xb0, 0x09, 0x50, 0xea, 0xb4, 0x1b, 0xe8, 0x41, 0x8a, + 0xbd, 0x2c, 0x1c, 0x0a, 0x9e, 0xb6, 0xe5, 0x37, 0xf4, 0x3a, 0xcb, 0xb1, + 0x23, 0x0c, 0xc5, 0x18, 0x6c, 0x8a, 0x01, 0x0f, +}; +static const unsigned char kat3733_nonce[] = {0}; +static const unsigned char kat3733_persstr[] = {0}; +static const unsigned char kat3733_entropyinpr1[] = { + 0xa4, 0x1a, 0x04, 0xe6, 0xda, 0x54, 0xf7, 0x70, 0x91, 0x79, 0xab, 0x4d, + 0x27, 0xbe, 0x59, 0x89, 0xb0, 0xe4, 0xd5, 0xee, 0xab, 0x65, 0x4f, 0x2a, + 0xf3, 0xdb, 0x31, 0x0c, 0x50, 0x13, 0x4d, 0x66, +}; +static const unsigned char kat3733_addinpr1[] = {0}; +static const unsigned char kat3733_entropyinpr2[] = { + 0xa1, 0xde, 0xbc, 0x18, 0xd1, 0x3f, 0x18, 0x6f, 0x93, 0xfd, 0x83, 0x1c, + 0x2d, 0x0b, 0xc0, 0xe6, 0x77, 0x6c, 0x17, 0xe6, 0x03, 0x81, 0xd6, 0xbf, + 0xbc, 0x6c, 0x21, 0x04, 0xb6, 0x30, 0xc1, 0xe2, +}; +static const unsigned char kat3733_addinpr2[] = {0}; +static const unsigned char kat3733_retbits[] = { + 0xf4, 0x3e, 0xf2, 0x61, 0xda, 0xc7, 0xc6, 0xa5, 0x6a, 0x4f, 0x9f, 0xba, + 0xad, 0x1b, 0x90, 0xcb, 0xbd, 0x0e, 0x7f, 0x26, 0x0d, 0x34, 0xc1, 0xb0, + 0x7b, 0x90, 0x1e, 0x17, 0x97, 0x14, 0x14, 0x24, 0xc5, 0x37, 0xa4, 0x6f, + 0xc4, 0x11, 0x4f, 0x9e, 0x19, 0x4d, 0x5b, 0xbd, 0x70, 0x7d, 0x54, 0xfd, + 0xac, 0xdc, 0xb0, 0x03, 0xc8, 0x54, 0xda, 0x17, 0xdb, 0x5e, 0x1e, 0x08, + 0x3e, 0x26, 0x06, 0xcb, +}; +static const struct drbg_kat_pr_true kat3733_t = { + 12, kat3733_entropyin, kat3733_nonce, kat3733_persstr, + kat3733_entropyinpr1, kat3733_addinpr1, kat3733_entropyinpr2, + kat3733_addinpr2, kat3733_retbits +}; +static const struct drbg_kat kat3733 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3733_t +}; + +static const unsigned char kat3734_entropyin[] = { + 0xa8, 0x42, 0x70, 0x59, 0x21, 0xd7, 0x44, 0xbb, 0xe5, 0xe4, 0x00, 0xad, + 0x5f, 0x32, 0xcb, 0xe6, 0x88, 0xd0, 0xa1, 0x74, 0x21, 0xab, 0x4f, 0x39, + 0xe9, 0x5c, 0x7d, 0x3e, 0xc5, 0x9d, 0xb7, 0x79, +}; +static const unsigned char kat3734_nonce[] = {0}; +static const unsigned char kat3734_persstr[] = {0}; +static const unsigned char kat3734_entropyinpr1[] = { + 0xed, 0xbd, 0x73, 0x30, 0x27, 0xa5, 0x53, 0x2f, 0xb7, 0x3a, 0xd1, 0x69, + 0x4c, 0xd2, 0x3a, 0x5b, 0x6c, 0x66, 0xd4, 0x43, 0x4e, 0x3d, 0x42, 0xb7, + 0x7a, 0x70, 0x12, 0xe3, 0x5e, 0x8a, 0xb6, 0xc8, +}; +static const unsigned char kat3734_addinpr1[] = {0}; +static const unsigned char kat3734_entropyinpr2[] = { + 0xd6, 0x48, 0xcf, 0x8f, 0xd4, 0xde, 0xe8, 0xe5, 0x35, 0x34, 0x1e, 0xaf, + 0x28, 0x00, 0x2a, 0x90, 0x0c, 0x17, 0x4c, 0xe7, 0x5f, 0x18, 0x5f, 0xb7, + 0xb8, 0x23, 0x4a, 0x23, 0xe9, 0xd8, 0xb6, 0xab, +}; +static const unsigned char kat3734_addinpr2[] = {0}; +static const unsigned char kat3734_retbits[] = { + 0x27, 0xaa, 0xaf, 0x1f, 0x30, 0x09, 0x8b, 0xa0, 0x3b, 0x49, 0xe1, 0xe0, + 0x5c, 0xdf, 0x88, 0x8d, 0x2f, 0xa5, 0x3d, 0x1a, 0x99, 0xdd, 0xb6, 0xeb, + 0x67, 0xf2, 0x98, 0x50, 0xae, 0x7c, 0xd9, 0x8b, 0x8f, 0x0e, 0xc2, 0xef, + 0x55, 0xc6, 0x53, 0x66, 0xbb, 0x58, 0xab, 0xc1, 0xcb, 0xd4, 0x5c, 0x0d, + 0xe4, 0x06, 0x9b, 0xe0, 0x8e, 0xe7, 0xea, 0xb0, 0x9f, 0x9b, 0xa6, 0x67, + 0x20, 0x26, 0x64, 0xcd, +}; +static const struct drbg_kat_pr_true kat3734_t = { + 13, kat3734_entropyin, kat3734_nonce, kat3734_persstr, + kat3734_entropyinpr1, kat3734_addinpr1, kat3734_entropyinpr2, + kat3734_addinpr2, kat3734_retbits +}; +static const struct drbg_kat kat3734 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3734_t +}; + +static const unsigned char kat3735_entropyin[] = { + 0xfc, 0x23, 0x12, 0xb8, 0xc8, 0x69, 0x93, 0xc0, 0x59, 0xea, 0xe3, 0xe1, + 0x17, 0x3c, 0x47, 0xf9, 0x65, 0xbc, 0xef, 0xce, 0x43, 0x8f, 0x95, 0xbe, + 0x59, 0xe6, 0x6b, 0xa8, 0xda, 0x67, 0xa5, 0x80, +}; +static const unsigned char kat3735_nonce[] = {0}; +static const unsigned char kat3735_persstr[] = {0}; +static const unsigned char kat3735_entropyinpr1[] = { + 0x25, 0xae, 0xb7, 0x3b, 0xc0, 0x41, 0x39, 0xa6, 0x47, 0xb6, 0x0a, 0x0e, + 0x50, 0x6d, 0xb2, 0x10, 0x95, 0x81, 0xf5, 0x8b, 0x70, 0x4f, 0x00, 0x88, + 0x97, 0xcc, 0xb2, 0xba, 0x12, 0xe0, 0x7a, 0xb7, +}; +static const unsigned char kat3735_addinpr1[] = {0}; +static const unsigned char kat3735_entropyinpr2[] = { + 0xa2, 0xe5, 0x83, 0x9c, 0x59, 0xfc, 0x25, 0x55, 0x76, 0xa2, 0xfd, 0x46, + 0x2c, 0x71, 0x98, 0x95, 0x31, 0x4a, 0x03, 0x38, 0x23, 0xf1, 0x1f, 0x41, + 0x94, 0x46, 0xd0, 0x27, 0x02, 0xbf, 0x00, 0x4f, +}; +static const unsigned char kat3735_addinpr2[] = {0}; +static const unsigned char kat3735_retbits[] = { + 0xfb, 0x83, 0x3a, 0x40, 0xa6, 0x58, 0x21, 0x7a, 0xd7, 0x53, 0x91, 0xaa, + 0x83, 0x11, 0xb3, 0xe8, 0x72, 0xbb, 0xc2, 0xe1, 0xcb, 0x15, 0x0d, 0xa8, + 0x7c, 0xc6, 0xe3, 0x49, 0x44, 0x23, 0xc5, 0xa9, 0x92, 0x59, 0x3b, 0x68, + 0xf6, 0x09, 0xd3, 0x03, 0x87, 0xa0, 0x38, 0x4f, 0x64, 0x07, 0x92, 0x36, + 0xa1, 0x03, 0x89, 0x69, 0xd0, 0x11, 0xbe, 0xa6, 0xf8, 0xad, 0xb0, 0x52, + 0xc5, 0xb5, 0x7e, 0xec, +}; +static const struct drbg_kat_pr_true kat3735_t = { + 14, kat3735_entropyin, kat3735_nonce, kat3735_persstr, + kat3735_entropyinpr1, kat3735_addinpr1, kat3735_entropyinpr2, + kat3735_addinpr2, kat3735_retbits +}; +static const struct drbg_kat kat3735 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3735_t +}; + +static const unsigned char kat3736_entropyin[] = { + 0x09, 0xb6, 0x20, 0x43, 0x61, 0x91, 0x8e, 0x4c, 0xd1, 0xb6, 0xf2, 0x7b, + 0x40, 0xf9, 0x35, 0x7c, 0x36, 0xb0, 0x75, 0x8b, 0x27, 0x76, 0x7e, 0xf0, + 0x91, 0x75, 0xc2, 0x71, 0x60, 0x10, 0x91, 0x65, +}; +static const unsigned char kat3736_nonce[] = {0}; +static const unsigned char kat3736_persstr[] = {0}; +static const unsigned char kat3736_entropyinpr1[] = { + 0xf4, 0xad, 0xb0, 0xdb, 0x65, 0xfd, 0xc5, 0xc6, 0xf7, 0x6f, 0x74, 0xa6, + 0x9e, 0x51, 0x5a, 0x59, 0x87, 0xfe, 0x38, 0xe4, 0x7e, 0xb6, 0x6f, 0xc4, + 0x58, 0x4e, 0x00, 0xf1, 0xf9, 0xf0, 0xfa, 0xd5, +}; +static const unsigned char kat3736_addinpr1[] = { + 0x08, 0x32, 0xb5, 0x36, 0xba, 0x54, 0xf1, 0xce, 0xe9, 0xb9, 0x9c, 0x97, + 0x01, 0x1e, 0xf4, 0xf7, 0x1c, 0xc0, 0x8e, 0xe1, 0x63, 0x6c, 0x5b, 0x78, + 0x15, 0x4b, 0x0e, 0x7f, 0x45, 0xdf, 0xd5, 0x24, +}; +static const unsigned char kat3736_entropyinpr2[] = { + 0xd0, 0xb4, 0x67, 0x4f, 0x63, 0x36, 0x24, 0xa9, 0x5e, 0x3f, 0x17, 0x20, + 0xc1, 0x23, 0xd4, 0xf6, 0x44, 0xb9, 0x0c, 0x5a, 0x18, 0xc9, 0x70, 0xa0, + 0x2b, 0x7c, 0x4e, 0x5c, 0xb0, 0x96, 0xdb, 0x56, +}; +static const unsigned char kat3736_addinpr2[] = { + 0x46, 0xf8, 0x22, 0x20, 0x26, 0xc4, 0x59, 0xe2, 0x50, 0x2d, 0x54, 0x7f, + 0x77, 0x65, 0x43, 0xb3, 0x7f, 0xab, 0xb2, 0x75, 0x04, 0x0f, 0x9e, 0xee, + 0x16, 0xce, 0xdf, 0x27, 0xa6, 0xba, 0x95, 0xa4, +}; +static const unsigned char kat3736_retbits[] = { + 0x8b, 0x5b, 0xbb, 0x02, 0x7d, 0x26, 0xd0, 0xa2, 0xe5, 0xc9, 0x79, 0x04, + 0x5e, 0x7b, 0x38, 0x27, 0xdb, 0xae, 0x3a, 0x36, 0xce, 0x15, 0x84, 0x43, + 0xe7, 0x43, 0x28, 0x37, 0x18, 0x7f, 0xe2, 0xb1, 0x4f, 0xde, 0xab, 0x24, + 0x71, 0xf1, 0x03, 0x70, 0x72, 0xdd, 0x52, 0x78, 0xd7, 0x64, 0x66, 0x81, + 0x22, 0x5a, 0xdc, 0x18, 0x8d, 0x3c, 0xc9, 0xbc, 0x22, 0xe8, 0xc3, 0xd2, + 0x73, 0x3c, 0xd0, 0x7f, +}; +static const struct drbg_kat_pr_true kat3736_t = { + 0, kat3736_entropyin, kat3736_nonce, kat3736_persstr, + kat3736_entropyinpr1, kat3736_addinpr1, kat3736_entropyinpr2, + kat3736_addinpr2, kat3736_retbits +}; +static const struct drbg_kat kat3736 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3736_t +}; + +static const unsigned char kat3737_entropyin[] = { + 0x18, 0x16, 0x68, 0x7a, 0x8f, 0x0e, 0x84, 0xd7, 0xcd, 0xd5, 0xb3, 0x1a, + 0x84, 0x64, 0x00, 0x2d, 0x30, 0x7c, 0xff, 0xaa, 0xdd, 0x3a, 0xab, 0x07, + 0x94, 0x92, 0xd0, 0x5a, 0xf3, 0x31, 0x25, 0x65, +}; +static const unsigned char kat3737_nonce[] = {0}; +static const unsigned char kat3737_persstr[] = {0}; +static const unsigned char kat3737_entropyinpr1[] = { + 0xc5, 0x84, 0x89, 0x93, 0xe3, 0x95, 0x10, 0x47, 0x68, 0xf9, 0xa5, 0xac, + 0x90, 0xbc, 0x3f, 0x3d, 0xfa, 0x04, 0x92, 0x5f, 0xf4, 0xdc, 0x86, 0xfb, + 0x0f, 0xc4, 0x62, 0x56, 0x91, 0x2d, 0x29, 0x4d, +}; +static const unsigned char kat3737_addinpr1[] = { + 0xe4, 0x6b, 0x69, 0xb4, 0x99, 0xbe, 0xf0, 0x51, 0x72, 0x4d, 0xa0, 0x8e, + 0x94, 0x2d, 0xdc, 0xf7, 0xeb, 0x42, 0xd2, 0xe6, 0x6d, 0x12, 0xd9, 0x54, + 0xda, 0x65, 0x62, 0x9f, 0x78, 0x38, 0x18, 0x13, +}; +static const unsigned char kat3737_entropyinpr2[] = { + 0xca, 0x16, 0x5d, 0x20, 0xa6, 0x8e, 0x36, 0x1b, 0xe9, 0x85, 0x1f, 0x61, + 0x9d, 0xfc, 0xde, 0x9f, 0x7b, 0x38, 0xa3, 0xe9, 0x80, 0xaf, 0xa5, 0xb2, + 0xb7, 0xc3, 0xe2, 0xd1, 0xec, 0xa8, 0x16, 0x9a, +}; +static const unsigned char kat3737_addinpr2[] = { + 0xea, 0x77, 0x65, 0x10, 0x18, 0xfc, 0x08, 0xae, 0xc2, 0x0e, 0x36, 0x77, + 0x7e, 0xf0, 0x28, 0x2a, 0x71, 0x3b, 0xc5, 0x6e, 0x08, 0x4e, 0xcf, 0x45, + 0xd9, 0x2e, 0xdb, 0x63, 0x5a, 0xb9, 0xce, 0xd0, +}; +static const unsigned char kat3737_retbits[] = { + 0x9a, 0x2e, 0x7f, 0x4e, 0x32, 0x0a, 0xdc, 0x04, 0x87, 0xaa, 0x6d, 0x57, + 0x23, 0x0f, 0xfe, 0xdf, 0x74, 0x2b, 0xe5, 0xcc, 0xdd, 0xe6, 0xbc, 0xea, + 0xe6, 0xd5, 0x6b, 0x62, 0xdb, 0x34, 0x15, 0x61, 0x9f, 0x62, 0x4d, 0x08, + 0x79, 0x16, 0x93, 0x97, 0x0d, 0x08, 0x78, 0x8f, 0x3c, 0x6e, 0x7e, 0x33, + 0xef, 0xc4, 0x62, 0x80, 0xce, 0x40, 0x28, 0xe4, 0xe4, 0x5d, 0xc0, 0x69, + 0x0c, 0xe9, 0x9f, 0x00, +}; +static const struct drbg_kat_pr_true kat3737_t = { + 1, kat3737_entropyin, kat3737_nonce, kat3737_persstr, + kat3737_entropyinpr1, kat3737_addinpr1, kat3737_entropyinpr2, + kat3737_addinpr2, kat3737_retbits +}; +static const struct drbg_kat kat3737 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3737_t +}; + +static const unsigned char kat3738_entropyin[] = { + 0x00, 0xd7, 0x79, 0xe7, 0x4b, 0x81, 0xfc, 0x7a, 0xd2, 0x84, 0x67, 0xdc, + 0x5f, 0xf0, 0x52, 0x04, 0x26, 0x93, 0x09, 0x01, 0x79, 0x27, 0x5d, 0xbf, + 0x46, 0xc0, 0xe0, 0x96, 0x2e, 0x08, 0x13, 0x94, +}; +static const unsigned char kat3738_nonce[] = {0}; +static const unsigned char kat3738_persstr[] = {0}; +static const unsigned char kat3738_entropyinpr1[] = { + 0x31, 0x91, 0x12, 0x38, 0xcf, 0xc7, 0x72, 0x81, 0x55, 0xb2, 0xcb, 0x7d, + 0xc8, 0xc9, 0x35, 0xff, 0x86, 0xa6, 0x38, 0x61, 0xf3, 0x34, 0xe7, 0x05, + 0x33, 0xd8, 0x83, 0x44, 0xc3, 0x4f, 0xe4, 0xb0, +}; +static const unsigned char kat3738_addinpr1[] = { + 0x8f, 0xd1, 0xf4, 0x00, 0x02, 0xec, 0xf2, 0xb6, 0xde, 0xee, 0xeb, 0xcc, + 0x9d, 0x6f, 0x12, 0x01, 0x91, 0x86, 0xf9, 0xbf, 0x1a, 0x3e, 0xc3, 0xb8, + 0x04, 0x3a, 0x60, 0x92, 0xfc, 0xed, 0xd4, 0xd9, +}; +static const unsigned char kat3738_entropyinpr2[] = { + 0xf6, 0x09, 0x20, 0xf2, 0x92, 0x2e, 0x33, 0xba, 0x8a, 0x6a, 0xcd, 0x4f, + 0x96, 0x43, 0x49, 0xc0, 0x55, 0xbd, 0xf2, 0x62, 0xdd, 0x8c, 0xf4, 0xb3, + 0x08, 0xf9, 0xa0, 0x04, 0x2f, 0x30, 0x0b, 0xa4, +}; +static const unsigned char kat3738_addinpr2[] = { + 0x88, 0x56, 0x01, 0x48, 0x0f, 0x2b, 0x50, 0xa9, 0xcb, 0xc7, 0xc9, 0x38, + 0x41, 0x92, 0x55, 0x79, 0xd0, 0xe5, 0xa4, 0x0b, 0x81, 0xc1, 0xa4, 0xf1, + 0xef, 0xd0, 0x40, 0xe2, 0x1e, 0x65, 0x96, 0xb2, +}; +static const unsigned char kat3738_retbits[] = { + 0xff, 0xf4, 0x9a, 0x04, 0x58, 0xf0, 0x64, 0x16, 0x1e, 0x37, 0xc5, 0x63, + 0x86, 0x1a, 0x91, 0xd0, 0xa4, 0x01, 0xc6, 0x8f, 0xd0, 0x33, 0x88, 0x30, + 0x1c, 0x22, 0x5f, 0x3c, 0x47, 0x81, 0x38, 0xdd, 0xa2, 0x1d, 0x5d, 0x7e, + 0x34, 0x85, 0xf5, 0x2a, 0xb2, 0xfe, 0x21, 0x6c, 0xeb, 0xe3, 0x08, 0x1f, + 0x65, 0x79, 0xe2, 0xef, 0x00, 0xb7, 0x47, 0xbc, 0xe3, 0x46, 0x67, 0xa6, + 0x7d, 0x47, 0xfc, 0x56, +}; +static const struct drbg_kat_pr_true kat3738_t = { + 2, kat3738_entropyin, kat3738_nonce, kat3738_persstr, + kat3738_entropyinpr1, kat3738_addinpr1, kat3738_entropyinpr2, + kat3738_addinpr2, kat3738_retbits +}; +static const struct drbg_kat kat3738 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3738_t +}; + +static const unsigned char kat3739_entropyin[] = { + 0x87, 0xe5, 0x92, 0x73, 0xb6, 0xcc, 0xc7, 0x0f, 0x7c, 0xa4, 0xa9, 0x51, + 0xa0, 0x0f, 0x4e, 0x07, 0x18, 0xfc, 0xc3, 0xfc, 0xe5, 0x9e, 0x11, 0x32, + 0x8f, 0x9e, 0x18, 0xaf, 0xb9, 0x04, 0x84, 0x04, +}; +static const unsigned char kat3739_nonce[] = {0}; +static const unsigned char kat3739_persstr[] = {0}; +static const unsigned char kat3739_entropyinpr1[] = { + 0x35, 0x25, 0x39, 0x05, 0xf4, 0x5e, 0x67, 0x84, 0x31, 0xee, 0x2b, 0xc5, + 0x12, 0xdb, 0xe0, 0x9b, 0x55, 0x30, 0xf2, 0x03, 0xa6, 0xcb, 0xe9, 0x53, + 0xa8, 0xad, 0x22, 0xf4, 0xd5, 0xbb, 0x1e, 0x27, +}; +static const unsigned char kat3739_addinpr1[] = { + 0x87, 0x70, 0x45, 0xd9, 0xfc, 0xbe, 0x3d, 0xa5, 0xec, 0x18, 0xa7, 0xcf, + 0x36, 0x05, 0x37, 0xd4, 0xd1, 0x5a, 0xd1, 0x15, 0xb2, 0xfd, 0x95, 0x61, + 0xb7, 0xc5, 0xe0, 0x02, 0xf0, 0xa4, 0x5a, 0x87, +}; +static const unsigned char kat3739_entropyinpr2[] = { + 0x75, 0xb5, 0x47, 0x36, 0x43, 0x21, 0x57, 0x12, 0x40, 0x65, 0xeb, 0x26, + 0xd5, 0x8a, 0x54, 0xb5, 0x82, 0x1f, 0x2c, 0x7e, 0xe5, 0x69, 0xba, 0x29, + 0xa1, 0xd1, 0xff, 0x89, 0x35, 0x12, 0x64, 0x6c, +}; +static const unsigned char kat3739_addinpr2[] = { + 0x8d, 0x2c, 0xed, 0x1c, 0xfe, 0x17, 0x3e, 0x7c, 0x99, 0xf1, 0x26, 0x49, + 0xa7, 0x56, 0xac, 0x71, 0x07, 0xee, 0xc6, 0x02, 0x61, 0xdc, 0x61, 0xc7, + 0xb1, 0xc2, 0x43, 0x8a, 0x22, 0x95, 0x7f, 0xa3, +}; +static const unsigned char kat3739_retbits[] = { + 0x19, 0x24, 0xe2, 0xa5, 0x1b, 0x72, 0x95, 0x3b, 0xd2, 0xcf, 0x81, 0xbc, + 0xe2, 0x33, 0x46, 0x62, 0xf3, 0xfe, 0x3f, 0x3a, 0x1b, 0x0b, 0x24, 0xe0, + 0x72, 0xd0, 0xf4, 0x0f, 0xec, 0x42, 0x36, 0xd0, 0x8c, 0x8a, 0xb1, 0xaf, + 0xc0, 0xb2, 0xdf, 0x58, 0x17, 0x7a, 0xf2, 0x49, 0xe4, 0x5a, 0x19, 0x6e, + 0xe8, 0x1e, 0x71, 0x82, 0x9c, 0x97, 0xec, 0x1b, 0x5f, 0xe8, 0x56, 0x4e, + 0x25, 0x22, 0xb1, 0x41, +}; +static const struct drbg_kat_pr_true kat3739_t = { + 3, kat3739_entropyin, kat3739_nonce, kat3739_persstr, + kat3739_entropyinpr1, kat3739_addinpr1, kat3739_entropyinpr2, + kat3739_addinpr2, kat3739_retbits +}; +static const struct drbg_kat kat3739 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3739_t +}; + +static const unsigned char kat3740_entropyin[] = { + 0xfb, 0x80, 0x1e, 0x2e, 0x3d, 0x7a, 0x59, 0x42, 0xf8, 0x8a, 0x1a, 0xea, + 0x72, 0x68, 0x60, 0x88, 0x70, 0x4b, 0x28, 0x15, 0xf8, 0x65, 0xf9, 0xe1, + 0xb0, 0xcb, 0x41, 0xa3, 0x82, 0x6a, 0x59, 0x53, +}; +static const unsigned char kat3740_nonce[] = {0}; +static const unsigned char kat3740_persstr[] = {0}; +static const unsigned char kat3740_entropyinpr1[] = { + 0xa7, 0xc4, 0x41, 0x12, 0x07, 0xde, 0x8c, 0xf4, 0xa8, 0x8f, 0x56, 0x25, + 0x55, 0x13, 0x45, 0xae, 0x3e, 0xfa, 0x57, 0x75, 0x53, 0xe0, 0xbd, 0x2b, + 0xac, 0xd0, 0x22, 0x38, 0x39, 0x5f, 0x1c, 0xec, +}; +static const unsigned char kat3740_addinpr1[] = { + 0x49, 0xdf, 0xac, 0xc7, 0x50, 0x11, 0xac, 0xed, 0x1c, 0x8b, 0x44, 0x8a, + 0xb9, 0x83, 0x9d, 0xe3, 0xba, 0x63, 0xb8, 0xc1, 0xbc, 0x63, 0xc7, 0x65, + 0x50, 0xf5, 0x3f, 0x5e, 0xec, 0x02, 0x0c, 0xfb, +}; +static const unsigned char kat3740_entropyinpr2[] = { + 0xfa, 0x2b, 0x7a, 0x7e, 0x68, 0xfb, 0xa3, 0x04, 0x89, 0x34, 0x1c, 0x23, + 0x7f, 0x71, 0x01, 0x69, 0xdf, 0xd4, 0xa4, 0x17, 0xe4, 0x74, 0xfc, 0x56, + 0xdf, 0x4e, 0xa2, 0xbb, 0x85, 0xca, 0x82, 0xee, +}; +static const unsigned char kat3740_addinpr2[] = { + 0xa1, 0x61, 0x64, 0x9c, 0xf8, 0xcc, 0x5e, 0xef, 0x89, 0x37, 0x70, 0x0b, + 0xcc, 0x54, 0xe1, 0x5d, 0xe4, 0xf5, 0x6c, 0x15, 0x4c, 0x74, 0xea, 0x0c, + 0x1a, 0xee, 0x38, 0x0b, 0x6f, 0x75, 0x67, 0x8a, +}; +static const unsigned char kat3740_retbits[] = { + 0xec, 0x59, 0x7d, 0xa7, 0x90, 0xf0, 0xb8, 0x0d, 0xaf, 0xb7, 0xc7, 0x69, + 0xe5, 0x66, 0xc3, 0xa6, 0xd3, 0x8b, 0x96, 0xbd, 0x2c, 0x72, 0x55, 0x9c, + 0x09, 0x1a, 0xe2, 0x3a, 0x47, 0x29, 0x67, 0xc6, 0x85, 0x12, 0xd4, 0x78, + 0x7b, 0xd8, 0x81, 0x2c, 0xdf, 0x82, 0xa7, 0x63, 0xb4, 0x9d, 0xc4, 0x7d, + 0x56, 0x2d, 0xf6, 0x3d, 0x8d, 0xef, 0x5b, 0xdc, 0xef, 0x92, 0x56, 0xc6, + 0x22, 0x73, 0xf0, 0xc6, +}; +static const struct drbg_kat_pr_true kat3740_t = { + 4, kat3740_entropyin, kat3740_nonce, kat3740_persstr, + kat3740_entropyinpr1, kat3740_addinpr1, kat3740_entropyinpr2, + kat3740_addinpr2, kat3740_retbits +}; +static const struct drbg_kat kat3740 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3740_t +}; + +static const unsigned char kat3741_entropyin[] = { + 0xb9, 0x0d, 0xb3, 0x40, 0xae, 0x9b, 0xf1, 0x2a, 0xd0, 0x26, 0x84, 0x7d, + 0x0e, 0x1f, 0x39, 0x9d, 0x11, 0x1e, 0xa1, 0x83, 0xeb, 0xa7, 0x08, 0x27, + 0xcb, 0x74, 0x93, 0xc5, 0x16, 0x0b, 0xdc, 0x7e, +}; +static const unsigned char kat3741_nonce[] = {0}; +static const unsigned char kat3741_persstr[] = {0}; +static const unsigned char kat3741_entropyinpr1[] = { + 0xc9, 0x73, 0x48, 0xff, 0x9d, 0x0b, 0x8e, 0x75, 0xbc, 0xea, 0xf6, 0x08, + 0xaa, 0x9a, 0x0d, 0xd7, 0x10, 0xa8, 0x18, 0x3e, 0x6f, 0x64, 0x17, 0x0d, + 0xc0, 0xf3, 0x22, 0x2a, 0x38, 0x49, 0x17, 0xb3, +}; +static const unsigned char kat3741_addinpr1[] = { + 0x30, 0xe9, 0xbc, 0x3c, 0x71, 0x25, 0xd8, 0xa7, 0x05, 0x5d, 0x4f, 0xfc, + 0x09, 0x66, 0x04, 0x3f, 0xa8, 0x98, 0xdc, 0xef, 0x35, 0xb1, 0x6a, 0x33, + 0xbc, 0x68, 0xa2, 0x29, 0xb2, 0x9c, 0x94, 0x3a, +}; +static const unsigned char kat3741_entropyinpr2[] = { + 0x22, 0x27, 0xb6, 0x57, 0x4c, 0x9b, 0x8a, 0x06, 0x1d, 0x73, 0x06, 0xcc, + 0xe1, 0xf6, 0xac, 0x26, 0x37, 0x6c, 0x9a, 0x6e, 0x20, 0xc8, 0x8d, 0x33, + 0x38, 0x7c, 0x6e, 0x69, 0x20, 0x71, 0xad, 0xe3, +}; +static const unsigned char kat3741_addinpr2[] = { + 0x1f, 0x4e, 0x51, 0x14, 0xa1, 0xa7, 0x9b, 0xb5, 0x1c, 0xc1, 0xd5, 0x8a, + 0x71, 0x4c, 0x2b, 0xa8, 0x0b, 0x59, 0xad, 0xcc, 0x15, 0x00, 0xf7, 0x8c, + 0x06, 0x27, 0x94, 0x2b, 0xfd, 0x70, 0x63, 0xdd, +}; +static const unsigned char kat3741_retbits[] = { + 0x02, 0xdc, 0x40, 0xc5, 0x39, 0x22, 0x8f, 0xcd, 0xa7, 0xb0, 0x56, 0xd6, + 0x5a, 0x4e, 0x91, 0x84, 0xac, 0x2c, 0x58, 0x2b, 0x08, 0x32, 0x19, 0x9a, + 0xaa, 0x34, 0x60, 0x0b, 0x3c, 0xff, 0xc8, 0x75, 0x95, 0xca, 0x77, 0x33, + 0x9c, 0x5b, 0x54, 0xf8, 0x64, 0x12, 0x98, 0x13, 0x74, 0xcf, 0x44, 0x68, + 0x31, 0x8b, 0x08, 0x1a, 0x87, 0x3b, 0xdb, 0x31, 0x67, 0xad, 0x72, 0x14, + 0xbf, 0x09, 0xa8, 0xab, +}; +static const struct drbg_kat_pr_true kat3741_t = { + 5, kat3741_entropyin, kat3741_nonce, kat3741_persstr, + kat3741_entropyinpr1, kat3741_addinpr1, kat3741_entropyinpr2, + kat3741_addinpr2, kat3741_retbits +}; +static const struct drbg_kat kat3741 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3741_t +}; + +static const unsigned char kat3742_entropyin[] = { + 0xac, 0x80, 0x4a, 0x99, 0xb7, 0x1d, 0x9b, 0x51, 0x0c, 0x21, 0xdb, 0x7a, + 0x38, 0x1c, 0x1d, 0xee, 0xbe, 0x8b, 0x80, 0xb0, 0x3e, 0xd8, 0x10, 0xac, + 0x05, 0x50, 0x06, 0x55, 0x8e, 0x00, 0x57, 0xbc, +}; +static const unsigned char kat3742_nonce[] = {0}; +static const unsigned char kat3742_persstr[] = {0}; +static const unsigned char kat3742_entropyinpr1[] = { + 0xac, 0x31, 0xc0, 0xf2, 0xf0, 0xbf, 0xbd, 0xa0, 0xcd, 0xe0, 0x2b, 0x0d, + 0x6c, 0xd4, 0xd3, 0xaf, 0xf5, 0x32, 0x5d, 0x39, 0x30, 0xce, 0x07, 0x25, + 0x03, 0x2f, 0x1d, 0xb3, 0x36, 0xdb, 0x8d, 0xa4, +}; +static const unsigned char kat3742_addinpr1[] = { + 0xdf, 0x9f, 0xcf, 0xe9, 0xba, 0xfe, 0xe5, 0x59, 0x5a, 0x4b, 0x6d, 0x44, + 0x9c, 0x2a, 0x04, 0x2b, 0x2e, 0x73, 0x71, 0x46, 0x5a, 0x74, 0x99, 0x7c, + 0x3c, 0x63, 0x06, 0xdb, 0xf2, 0xf5, 0x90, 0x8a, +}; +static const unsigned char kat3742_entropyinpr2[] = { + 0x73, 0xce, 0x5f, 0x31, 0xb0, 0x2f, 0x84, 0x3f, 0x19, 0x35, 0x3d, 0xcc, + 0xcf, 0x48, 0x50, 0xd9, 0xc9, 0x10, 0x64, 0x31, 0x0a, 0xf9, 0xd9, 0x8b, + 0x74, 0x45, 0x65, 0x15, 0xd9, 0x51, 0x14, 0xc6, +}; +static const unsigned char kat3742_addinpr2[] = { + 0x61, 0x8f, 0x5b, 0x1a, 0xdd, 0x2e, 0x19, 0xf0, 0xe7, 0x84, 0xe7, 0xde, + 0x1a, 0x59, 0x1a, 0x64, 0xa8, 0x90, 0xf7, 0x93, 0x7f, 0xbc, 0xb7, 0x09, + 0x86, 0x2d, 0x28, 0xdc, 0xec, 0x46, 0x7c, 0x13, +}; +static const unsigned char kat3742_retbits[] = { + 0x4d, 0x91, 0x99, 0xb0, 0x9e, 0xde, 0xfd, 0xcc, 0xdd, 0x5b, 0x49, 0x41, + 0xad, 0x51, 0x9f, 0xb0, 0x0e, 0x90, 0x2d, 0xa8, 0x75, 0x8b, 0xa2, 0x24, + 0xa2, 0x22, 0xf9, 0xc8, 0xb2, 0x99, 0xe8, 0xd5, 0x39, 0x2c, 0xa9, 0x6b, + 0x70, 0xc6, 0xb0, 0x47, 0x3b, 0x7c, 0x93, 0xd7, 0x34, 0xfd, 0x5d, 0x2c, + 0x5d, 0x4b, 0x1a, 0xa3, 0x66, 0xf8, 0x98, 0x4a, 0x01, 0x70, 0x6a, 0x8b, + 0x78, 0xeb, 0x29, 0x58, +}; +static const struct drbg_kat_pr_true kat3742_t = { + 6, kat3742_entropyin, kat3742_nonce, kat3742_persstr, + kat3742_entropyinpr1, kat3742_addinpr1, kat3742_entropyinpr2, + kat3742_addinpr2, kat3742_retbits +}; +static const struct drbg_kat kat3742 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3742_t +}; + +static const unsigned char kat3743_entropyin[] = { + 0x93, 0x5b, 0xc8, 0xd2, 0x37, 0xa4, 0x49, 0xfb, 0x53, 0x07, 0x95, 0x95, + 0x3b, 0x60, 0xb7, 0x3e, 0x15, 0xfe, 0xca, 0xee, 0x85, 0xbd, 0xa0, 0x53, + 0xce, 0x23, 0xa2, 0x3b, 0x46, 0xdd, 0x01, 0xa2, +}; +static const unsigned char kat3743_nonce[] = {0}; +static const unsigned char kat3743_persstr[] = {0}; +static const unsigned char kat3743_entropyinpr1[] = { + 0x97, 0x1c, 0x09, 0x9e, 0x6b, 0x8a, 0xd9, 0x54, 0x47, 0xa0, 0x3a, 0xb3, + 0xf0, 0x4d, 0xb8, 0x93, 0x2c, 0x58, 0xca, 0xbb, 0xf3, 0x8f, 0x5d, 0x25, + 0x57, 0xdb, 0x7a, 0x7b, 0x6a, 0x82, 0x64, 0xf4, +}; +static const unsigned char kat3743_addinpr1[] = { + 0xba, 0xc7, 0xdb, 0x39, 0xcf, 0x77, 0x3e, 0xda, 0x0b, 0xd9, 0xc9, 0x97, + 0x89, 0x08, 0xa1, 0x5d, 0x09, 0x0c, 0xac, 0xc2, 0xdd, 0x85, 0xc1, 0x35, + 0x76, 0xe1, 0x79, 0xa7, 0x99, 0xc8, 0x38, 0xa0, +}; +static const unsigned char kat3743_entropyinpr2[] = { + 0x8d, 0xd9, 0x97, 0x47, 0x86, 0xb2, 0x92, 0x04, 0xcf, 0x08, 0xc0, 0x72, + 0x6c, 0x66, 0x08, 0xb2, 0x2e, 0xab, 0xff, 0xa6, 0x92, 0xb8, 0x76, 0x2e, + 0x4c, 0x67, 0xc2, 0x83, 0xf5, 0x62, 0x0a, 0xdf, +}; +static const unsigned char kat3743_addinpr2[] = { + 0x58, 0xe3, 0x50, 0x5b, 0x2e, 0x61, 0x93, 0x95, 0xe0, 0xb7, 0x06, 0x22, + 0x5e, 0xad, 0x4e, 0xe3, 0xb0, 0x2f, 0x92, 0xfa, 0x48, 0xc6, 0xec, 0x3e, + 0x7d, 0xe3, 0x85, 0x50, 0x57, 0x3c, 0x0a, 0x6a, +}; +static const unsigned char kat3743_retbits[] = { + 0x76, 0xc7, 0xf8, 0xe1, 0x21, 0xbc, 0xf7, 0xa3, 0x11, 0x70, 0x59, 0xaa, + 0x91, 0x7f, 0x31, 0xc6, 0xea, 0xf6, 0x38, 0x48, 0x44, 0xff, 0x15, 0x3f, + 0xbe, 0x25, 0xd2, 0x90, 0x8c, 0xbb, 0x4a, 0x26, 0xbd, 0xed, 0x67, 0xb3, + 0xd0, 0x1e, 0xc2, 0xd9, 0x9f, 0x71, 0x43, 0x52, 0xb7, 0x30, 0x11, 0x54, + 0x22, 0xdc, 0xd5, 0x13, 0x52, 0x16, 0xdb, 0x01, 0xab, 0x55, 0x56, 0x09, + 0x2a, 0x7b, 0xb7, 0xaa, +}; +static const struct drbg_kat_pr_true kat3743_t = { + 7, kat3743_entropyin, kat3743_nonce, kat3743_persstr, + kat3743_entropyinpr1, kat3743_addinpr1, kat3743_entropyinpr2, + kat3743_addinpr2, kat3743_retbits +}; +static const struct drbg_kat kat3743 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3743_t +}; + +static const unsigned char kat3744_entropyin[] = { + 0x24, 0x8d, 0xd8, 0x15, 0xfe, 0xa4, 0x35, 0x1d, 0x9b, 0x62, 0xc7, 0x1d, + 0x76, 0xb2, 0x9a, 0xb7, 0xab, 0xbb, 0xa7, 0x6f, 0xa3, 0x0e, 0x7f, 0xfd, + 0x7b, 0xcb, 0xdd, 0x36, 0xf7, 0x36, 0x4f, 0xf2, +}; +static const unsigned char kat3744_nonce[] = {0}; +static const unsigned char kat3744_persstr[] = {0}; +static const unsigned char kat3744_entropyinpr1[] = { + 0xb8, 0xd8, 0x13, 0xda, 0x52, 0x4e, 0x5f, 0xc5, 0xcd, 0x25, 0x8e, 0x26, + 0x29, 0x62, 0x07, 0x2c, 0x13, 0xfd, 0x2b, 0xb8, 0xd4, 0x87, 0xf8, 0x43, + 0xf0, 0xe3, 0x0e, 0x56, 0x95, 0x53, 0xae, 0x41, +}; +static const unsigned char kat3744_addinpr1[] = { + 0x91, 0x6b, 0x0d, 0x6a, 0x03, 0x64, 0x87, 0x04, 0x4c, 0xba, 0x6c, 0x20, + 0x9e, 0x8b, 0xd4, 0x30, 0xbe, 0x0f, 0xde, 0x46, 0x24, 0x2a, 0xd6, 0x69, + 0x81, 0xd2, 0xc8, 0x35, 0x14, 0xb7, 0xb0, 0x3b, +}; +static const unsigned char kat3744_entropyinpr2[] = { + 0x28, 0xcc, 0x54, 0xba, 0x21, 0x8b, 0x44, 0xd0, 0x82, 0x72, 0xdb, 0x5f, + 0x5b, 0x2d, 0x72, 0xf8, 0xf6, 0x32, 0x18, 0x9a, 0xec, 0x0a, 0x0a, 0x80, + 0xc7, 0x92, 0xd2, 0xc1, 0xff, 0x44, 0x41, 0x55, +}; +static const unsigned char kat3744_addinpr2[] = { + 0xb6, 0xea, 0x49, 0x48, 0x82, 0x4e, 0x7c, 0xdb, 0xa9, 0x99, 0x5d, 0x42, + 0x29, 0x08, 0x1c, 0x94, 0xde, 0xbc, 0xb1, 0x9b, 0x0e, 0x07, 0xcb, 0x72, + 0xd8, 0x38, 0x85, 0xf6, 0xad, 0x7a, 0x1e, 0xba, +}; +static const unsigned char kat3744_retbits[] = { + 0x2b, 0xe3, 0x58, 0xc9, 0x8c, 0xdb, 0x5b, 0xd6, 0x0c, 0x17, 0x29, 0x81, + 0x57, 0x63, 0x37, 0x6f, 0xa4, 0xc6, 0x73, 0x3d, 0xdd, 0xf1, 0xb6, 0x18, + 0xbf, 0x64, 0xac, 0xf3, 0x1e, 0xec, 0x8d, 0x18, 0x01, 0x55, 0x36, 0xf3, + 0x35, 0x77, 0x7e, 0x92, 0xd9, 0x20, 0x0e, 0x3c, 0xb8, 0xf0, 0x7c, 0x96, + 0x3b, 0x76, 0x88, 0xff, 0x0f, 0x38, 0xdf, 0x15, 0xc4, 0x0f, 0x4b, 0xa8, + 0xa2, 0x86, 0x75, 0xb9, +}; +static const struct drbg_kat_pr_true kat3744_t = { + 8, kat3744_entropyin, kat3744_nonce, kat3744_persstr, + kat3744_entropyinpr1, kat3744_addinpr1, kat3744_entropyinpr2, + kat3744_addinpr2, kat3744_retbits +}; +static const struct drbg_kat kat3744 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3744_t +}; + +static const unsigned char kat3745_entropyin[] = { + 0x71, 0x52, 0xfd, 0xb8, 0xc0, 0x09, 0x09, 0xd6, 0x64, 0x9c, 0xb4, 0x3a, + 0xfb, 0x2b, 0x51, 0xbe, 0xd3, 0x5c, 0x9a, 0xc6, 0x5f, 0x0d, 0xba, 0xe0, + 0xca, 0x5a, 0x97, 0xed, 0x3d, 0x2f, 0x5b, 0xa6, +}; +static const unsigned char kat3745_nonce[] = {0}; +static const unsigned char kat3745_persstr[] = {0}; +static const unsigned char kat3745_entropyinpr1[] = { + 0x9e, 0xdd, 0x0d, 0x56, 0xfb, 0xd0, 0xfa, 0xb4, 0x5c, 0xbf, 0x4c, 0x5a, + 0xb1, 0xb2, 0xdb, 0x30, 0x93, 0xff, 0x90, 0x48, 0x41, 0x21, 0x8c, 0xf7, + 0x48, 0x0d, 0x7c, 0xc7, 0x3d, 0x59, 0xd3, 0xce, +}; +static const unsigned char kat3745_addinpr1[] = { + 0x58, 0xab, 0xb0, 0x9d, 0xf5, 0x5e, 0xb0, 0x73, 0x48, 0x94, 0x40, 0x11, + 0x1d, 0xbe, 0x3d, 0xd3, 0x62, 0x8b, 0xac, 0x4a, 0xbe, 0x37, 0x9c, 0x4e, + 0x20, 0xbf, 0x6e, 0xe7, 0x12, 0xb3, 0xe4, 0xb4, +}; +static const unsigned char kat3745_entropyinpr2[] = { + 0xc4, 0xaf, 0x36, 0x3b, 0x91, 0x1c, 0xce, 0xc1, 0xd3, 0xbb, 0x27, 0xe2, + 0x4d, 0x83, 0x6e, 0xe5, 0xfc, 0x9b, 0xc9, 0xeb, 0x43, 0x62, 0xfe, 0x0b, + 0x73, 0x82, 0x35, 0x23, 0x24, 0xb3, 0xff, 0x3b, +}; +static const unsigned char kat3745_addinpr2[] = { + 0xed, 0xd5, 0xd4, 0x46, 0x13, 0xd6, 0x36, 0xd1, 0x77, 0xe5, 0x79, 0x03, + 0xbb, 0xf8, 0xdc, 0x95, 0xa5, 0x28, 0xed, 0x2b, 0x01, 0xdc, 0xb4, 0xe7, + 0xd7, 0xb3, 0xf2, 0x57, 0xe3, 0xcb, 0x25, 0x9f, +}; +static const unsigned char kat3745_retbits[] = { + 0xe6, 0xf8, 0x28, 0x7a, 0x4d, 0x87, 0x1c, 0x8a, 0x6e, 0x11, 0xfb, 0x33, + 0xa2, 0x3d, 0x83, 0x8f, 0xe3, 0x7f, 0x42, 0xd2, 0xcb, 0xb4, 0x67, 0xd4, + 0x2a, 0x45, 0x9f, 0xf7, 0x2f, 0xdb, 0x59, 0xd1, 0xb7, 0xd7, 0xa5, 0xf9, + 0x07, 0x94, 0xac, 0x2a, 0x5e, 0x05, 0x6a, 0x20, 0x14, 0x39, 0x03, 0xc0, + 0xf2, 0x79, 0x01, 0xdf, 0x2d, 0xe8, 0x38, 0xe3, 0x42, 0xfd, 0xb4, 0x37, + 0x6a, 0x2c, 0xac, 0x92, +}; +static const struct drbg_kat_pr_true kat3745_t = { + 9, kat3745_entropyin, kat3745_nonce, kat3745_persstr, + kat3745_entropyinpr1, kat3745_addinpr1, kat3745_entropyinpr2, + kat3745_addinpr2, kat3745_retbits +}; +static const struct drbg_kat kat3745 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3745_t +}; + +static const unsigned char kat3746_entropyin[] = { + 0x67, 0x63, 0xfc, 0x2f, 0x32, 0x07, 0xef, 0x59, 0x4b, 0xbe, 0xfe, 0x03, + 0x97, 0x3f, 0xe1, 0x21, 0x1e, 0x39, 0x62, 0x97, 0x0a, 0xbb, 0xcf, 0xc1, + 0x1e, 0x6d, 0xb3, 0x46, 0x52, 0x93, 0x02, 0xde, +}; +static const unsigned char kat3746_nonce[] = {0}; +static const unsigned char kat3746_persstr[] = {0}; +static const unsigned char kat3746_entropyinpr1[] = { + 0x4d, 0xff, 0x73, 0x69, 0x95, 0xf8, 0x61, 0x4c, 0xd1, 0x9f, 0x45, 0x6d, + 0x84, 0x2e, 0x78, 0x48, 0x35, 0x65, 0xaa, 0x78, 0xe7, 0xc6, 0x54, 0x7d, + 0x92, 0x60, 0xea, 0xc2, 0x9a, 0xa1, 0xb7, 0x83, +}; +static const unsigned char kat3746_addinpr1[] = { + 0x70, 0x99, 0x24, 0xf6, 0x23, 0x33, 0x03, 0xb8, 0x21, 0xb7, 0x25, 0xc7, + 0x3e, 0x78, 0xa1, 0x61, 0x02, 0xe0, 0x1b, 0xcc, 0xcd, 0xb4, 0xb1, 0xfa, + 0x4d, 0x18, 0x90, 0x8e, 0xc7, 0x65, 0xa3, 0x19, +}; +static const unsigned char kat3746_entropyinpr2[] = { + 0xe9, 0x80, 0xfd, 0xe4, 0x7c, 0x99, 0xf9, 0x1b, 0xd5, 0x56, 0xc1, 0x48, + 0xd6, 0x8d, 0x87, 0xd8, 0xd6, 0x69, 0x6f, 0xbf, 0x44, 0xf7, 0x38, 0xbd, + 0x64, 0xaa, 0xbe, 0x65, 0x4e, 0x39, 0xc3, 0x63, +}; +static const unsigned char kat3746_addinpr2[] = { + 0x28, 0xea, 0x79, 0xbe, 0xcd, 0x7a, 0xa6, 0xa0, 0x8e, 0xe7, 0x39, 0x43, + 0xa8, 0x6f, 0x0b, 0x1d, 0xaf, 0x8e, 0x20, 0x3f, 0x26, 0xbb, 0x31, 0x2e, + 0x13, 0x55, 0xc4, 0x39, 0xbc, 0x47, 0x10, 0xe8, +}; +static const unsigned char kat3746_retbits[] = { + 0xad, 0x43, 0x47, 0xc4, 0x75, 0xed, 0xc9, 0x5b, 0x8c, 0x3a, 0xca, 0xda, + 0x36, 0x5c, 0x0e, 0xaa, 0xab, 0xf1, 0xf6, 0x34, 0xdb, 0x74, 0xaa, 0xc1, + 0xe6, 0xdf, 0x47, 0x5d, 0xdf, 0x21, 0x66, 0xb5, 0xcd, 0x58, 0x2e, 0x33, + 0x88, 0x90, 0x86, 0x12, 0x43, 0x31, 0x3a, 0x8c, 0xce, 0xa5, 0xa8, 0x63, + 0x31, 0x06, 0x38, 0x0c, 0xe8, 0x35, 0x81, 0xcc, 0x30, 0xf8, 0xd6, 0x1f, + 0xbf, 0xa7, 0x8e, 0x04, +}; +static const struct drbg_kat_pr_true kat3746_t = { + 10, kat3746_entropyin, kat3746_nonce, kat3746_persstr, + kat3746_entropyinpr1, kat3746_addinpr1, kat3746_entropyinpr2, + kat3746_addinpr2, kat3746_retbits +}; +static const struct drbg_kat kat3746 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3746_t +}; + +static const unsigned char kat3747_entropyin[] = { + 0xa2, 0xdf, 0x34, 0xb1, 0x03, 0xb9, 0x54, 0xe5, 0x98, 0xed, 0xf3, 0xd6, + 0x54, 0x3e, 0x08, 0x43, 0x7c, 0x44, 0x18, 0x75, 0x32, 0x62, 0x22, 0xc1, + 0x22, 0xf5, 0xb0, 0x0c, 0xce, 0xf9, 0x4c, 0x67, +}; +static const unsigned char kat3747_nonce[] = {0}; +static const unsigned char kat3747_persstr[] = {0}; +static const unsigned char kat3747_entropyinpr1[] = { + 0xf9, 0xb3, 0xba, 0x76, 0xd3, 0x7a, 0x84, 0x6c, 0x0f, 0x28, 0xa9, 0x9a, + 0x57, 0x41, 0xa6, 0x6e, 0x3d, 0x0f, 0xaf, 0xe0, 0x71, 0x44, 0x0c, 0xa5, + 0xa6, 0x3e, 0x91, 0x13, 0xef, 0x4f, 0xf3, 0x78, +}; +static const unsigned char kat3747_addinpr1[] = { + 0x8a, 0x7a, 0xd8, 0xf1, 0x6d, 0x7e, 0x75, 0xa2, 0x85, 0xc0, 0x39, 0x85, + 0x7d, 0xcc, 0x1d, 0xd5, 0x9b, 0xb8, 0x51, 0xcb, 0x19, 0x46, 0xc7, 0xe5, + 0xb3, 0x38, 0xd0, 0x29, 0x2b, 0xa4, 0x83, 0x4e, +}; +static const unsigned char kat3747_entropyinpr2[] = { + 0xa5, 0x95, 0x78, 0xd4, 0x2d, 0xb9, 0xfe, 0x98, 0x57, 0x59, 0x02, 0x6b, + 0xc2, 0xc2, 0x8a, 0xc2, 0xb3, 0x4c, 0xd5, 0xd3, 0xff, 0xc7, 0x36, 0x7f, + 0x46, 0x90, 0x1e, 0x3f, 0x0b, 0x30, 0xb9, 0x57, +}; +static const unsigned char kat3747_addinpr2[] = { + 0x10, 0x9d, 0x7e, 0x9a, 0x0c, 0xcc, 0xe5, 0x27, 0x26, 0x1a, 0xdb, 0xd0, + 0x22, 0x54, 0x42, 0x4e, 0x2c, 0x24, 0x5a, 0x02, 0xcf, 0xd3, 0x74, 0x41, + 0x36, 0x95, 0x6a, 0x90, 0x99, 0xde, 0x45, 0xd4, +}; +static const unsigned char kat3747_retbits[] = { + 0xe5, 0x54, 0x12, 0x35, 0x61, 0x49, 0x31, 0x69, 0x3d, 0xf7, 0x02, 0x77, + 0x8b, 0x6f, 0xb1, 0x7c, 0xac, 0x14, 0x17, 0xca, 0xa3, 0x12, 0xe8, 0x0e, + 0x52, 0xb6, 0x59, 0x5d, 0x4e, 0x22, 0xdf, 0x27, 0x99, 0xfa, 0x01, 0xcd, + 0xb3, 0xca, 0x33, 0x95, 0x9e, 0x20, 0xbb, 0xf0, 0xce, 0xab, 0x1f, 0x83, + 0x09, 0x68, 0x46, 0xdb, 0x12, 0x4d, 0xf1, 0x5a, 0x94, 0xd0, 0xe7, 0x10, + 0x04, 0x5e, 0x63, 0xb2, +}; +static const struct drbg_kat_pr_true kat3747_t = { + 11, kat3747_entropyin, kat3747_nonce, kat3747_persstr, + kat3747_entropyinpr1, kat3747_addinpr1, kat3747_entropyinpr2, + kat3747_addinpr2, kat3747_retbits +}; +static const struct drbg_kat kat3747 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3747_t +}; + +static const unsigned char kat3748_entropyin[] = { + 0xe4, 0x00, 0xd7, 0xd2, 0xae, 0x3d, 0xf9, 0x9e, 0x01, 0x58, 0x2a, 0xe6, + 0xe2, 0x7f, 0xd5, 0x4d, 0xa4, 0x94, 0x3a, 0x44, 0x21, 0xcf, 0x3c, 0x15, + 0x52, 0x82, 0x5e, 0x7a, 0x20, 0xec, 0x01, 0x3b, +}; +static const unsigned char kat3748_nonce[] = {0}; +static const unsigned char kat3748_persstr[] = {0}; +static const unsigned char kat3748_entropyinpr1[] = { + 0xea, 0x18, 0x15, 0x2b, 0xd3, 0x23, 0xad, 0x9c, 0xd9, 0x37, 0xae, 0xe5, + 0x47, 0x22, 0x53, 0x99, 0x1f, 0x28, 0x68, 0x11, 0x45, 0x19, 0x9d, 0x91, + 0x62, 0xe0, 0x88, 0x01, 0xac, 0xcd, 0x7a, 0xe7, +}; +static const unsigned char kat3748_addinpr1[] = { + 0x84, 0x2e, 0xe4, 0x8e, 0x18, 0x98, 0x3a, 0x99, 0x92, 0x6f, 0xfe, 0xd2, + 0x26, 0xdf, 0x6d, 0xd8, 0x89, 0x88, 0x7a, 0x9e, 0xa6, 0x6e, 0x5f, 0xce, + 0x11, 0x11, 0xd7, 0xdd, 0x40, 0xe0, 0x56, 0xc8, +}; +static const unsigned char kat3748_entropyinpr2[] = { + 0xb6, 0x5c, 0x20, 0x70, 0x9f, 0x49, 0xdb, 0x10, 0xb6, 0x56, 0x38, 0xce, + 0xc8, 0x74, 0x22, 0x76, 0x7c, 0x66, 0x4a, 0x5f, 0x27, 0x99, 0xe0, 0x90, + 0x22, 0x3f, 0x2e, 0x59, 0x51, 0x68, 0x92, 0x64, +}; +static const unsigned char kat3748_addinpr2[] = { + 0x6a, 0xe9, 0xda, 0x1e, 0xea, 0x95, 0x57, 0xa2, 0x84, 0x25, 0x97, 0x47, + 0x95, 0xf9, 0xf4, 0xda, 0x83, 0x0e, 0x19, 0x56, 0xd7, 0xa1, 0x4e, 0x1d, + 0x1a, 0x48, 0xaa, 0x67, 0x4b, 0xca, 0x56, 0x22, +}; +static const unsigned char kat3748_retbits[] = { + 0x38, 0xd0, 0x73, 0xdc, 0x26, 0x7c, 0x3f, 0x2f, 0xfa, 0xe7, 0x46, 0x20, + 0x6b, 0x39, 0x2c, 0xfa, 0x4a, 0xa6, 0xfb, 0x99, 0xd3, 0xcd, 0xf5, 0x10, + 0xf6, 0xb3, 0x4f, 0x26, 0xb1, 0x92, 0xf6, 0x78, 0xd8, 0xd7, 0x98, 0xc8, + 0x43, 0xa1, 0x53, 0xd3, 0x6f, 0x1f, 0x85, 0x30, 0x9f, 0x0b, 0xf2, 0xbc, + 0x5e, 0xe6, 0x6e, 0xe9, 0xc5, 0xdd, 0xc9, 0xdc, 0x33, 0x45, 0xe7, 0x24, + 0x0d, 0x7f, 0x8d, 0x7c, +}; +static const struct drbg_kat_pr_true kat3748_t = { + 12, kat3748_entropyin, kat3748_nonce, kat3748_persstr, + kat3748_entropyinpr1, kat3748_addinpr1, kat3748_entropyinpr2, + kat3748_addinpr2, kat3748_retbits +}; +static const struct drbg_kat kat3748 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3748_t +}; + +static const unsigned char kat3749_entropyin[] = { + 0xcc, 0x62, 0x67, 0xa1, 0x56, 0x5d, 0x63, 0x8f, 0xa5, 0x64, 0x14, 0xfc, + 0xa8, 0xc4, 0x84, 0xcd, 0xea, 0x12, 0xaa, 0xc7, 0x40, 0x0d, 0xd0, 0xa1, + 0x5c, 0x25, 0xdd, 0x6d, 0xff, 0x2b, 0xb0, 0x0d, +}; +static const unsigned char kat3749_nonce[] = {0}; +static const unsigned char kat3749_persstr[] = {0}; +static const unsigned char kat3749_entropyinpr1[] = { + 0xdc, 0x02, 0x80, 0x17, 0x56, 0x7e, 0xde, 0x34, 0xc7, 0x4e, 0x10, 0x4d, + 0xed, 0x71, 0xb4, 0x59, 0x69, 0x13, 0x5f, 0x48, 0x71, 0x51, 0x33, 0xfa, + 0x35, 0x0b, 0xdd, 0x83, 0x9e, 0x3f, 0x11, 0x98, +}; +static const unsigned char kat3749_addinpr1[] = { + 0x05, 0x16, 0xcb, 0xa5, 0x81, 0x08, 0x7f, 0x7f, 0x36, 0xa8, 0xb4, 0x39, + 0xb8, 0xc6, 0xf5, 0xf8, 0x6e, 0xa2, 0xcc, 0x53, 0x48, 0xe6, 0x8b, 0x2e, + 0x3f, 0x13, 0xaa, 0x8c, 0x2a, 0xe8, 0xcc, 0xb0, +}; +static const unsigned char kat3749_entropyinpr2[] = { + 0x12, 0xc9, 0x47, 0x53, 0xd3, 0xb5, 0xda, 0x74, 0xd0, 0xbe, 0xd6, 0xe5, + 0x8d, 0x07, 0x3b, 0xb7, 0xc2, 0xac, 0x68, 0xbe, 0x69, 0xb7, 0x7d, 0x03, + 0x87, 0x88, 0xd1, 0x1b, 0x2e, 0x23, 0x19, 0x6c, +}; +static const unsigned char kat3749_addinpr2[] = { + 0x3c, 0xe2, 0x6f, 0xcf, 0x5e, 0xba, 0x70, 0x30, 0x4d, 0x49, 0x10, 0x30, + 0xe9, 0xb5, 0xfd, 0xbc, 0xf2, 0x23, 0x00, 0x9e, 0x02, 0xc4, 0x46, 0x03, + 0xc6, 0xd3, 0x22, 0xb0, 0x0d, 0xc5, 0x1b, 0xfe, +}; +static const unsigned char kat3749_retbits[] = { + 0x28, 0xae, 0x84, 0x30, 0x01, 0x30, 0x76, 0x0b, 0x86, 0x3b, 0x76, 0xa6, + 0x73, 0x76, 0x52, 0x5c, 0x4e, 0xc0, 0xf1, 0x64, 0x88, 0xfc, 0xfd, 0xf6, + 0x10, 0x7f, 0x3c, 0x62, 0x39, 0x45, 0x7c, 0xbc, 0xee, 0xcf, 0x82, 0xa7, + 0x68, 0xce, 0x6d, 0x14, 0xef, 0x61, 0xdc, 0xa6, 0xcd, 0x4c, 0x87, 0x55, + 0x5d, 0xd2, 0x80, 0xc0, 0x18, 0x5b, 0x20, 0x31, 0xdf, 0xfe, 0xe6, 0xe7, + 0x43, 0x1b, 0x5f, 0x7c, +}; +static const struct drbg_kat_pr_true kat3749_t = { + 13, kat3749_entropyin, kat3749_nonce, kat3749_persstr, + kat3749_entropyinpr1, kat3749_addinpr1, kat3749_entropyinpr2, + kat3749_addinpr2, kat3749_retbits +}; +static const struct drbg_kat kat3749 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3749_t +}; + +static const unsigned char kat3750_entropyin[] = { + 0x46, 0xde, 0x03, 0x48, 0xe3, 0x02, 0x98, 0x39, 0xc0, 0xe4, 0x99, 0x57, + 0xd4, 0x03, 0xb2, 0xd7, 0x96, 0x93, 0x98, 0xdb, 0x04, 0xca, 0x35, 0x06, + 0x02, 0xf9, 0xd2, 0x6f, 0x44, 0x17, 0x3f, 0xdc, +}; +static const unsigned char kat3750_nonce[] = {0}; +static const unsigned char kat3750_persstr[] = {0}; +static const unsigned char kat3750_entropyinpr1[] = { + 0x34, 0x41, 0xcd, 0xa0, 0xda, 0x09, 0xa7, 0x2c, 0xab, 0xf7, 0xee, 0x1a, + 0xdb, 0xd4, 0xbf, 0x8c, 0x37, 0xf2, 0x53, 0x89, 0x0b, 0x4a, 0xc5, 0x90, + 0x74, 0xdf, 0x1d, 0x4c, 0x3e, 0x93, 0x0a, 0x24, +}; +static const unsigned char kat3750_addinpr1[] = { + 0xa1, 0x31, 0x56, 0x3c, 0x96, 0xbf, 0xd8, 0xa2, 0xfe, 0x05, 0xd8, 0x37, + 0x7d, 0xf2, 0xd3, 0xe4, 0xa7, 0x89, 0x96, 0x6c, 0x58, 0x18, 0x9f, 0x85, + 0xe0, 0xb1, 0x8e, 0xc2, 0xe2, 0xbf, 0x57, 0x61, +}; +static const unsigned char kat3750_entropyinpr2[] = { + 0xbc, 0xad, 0x22, 0x5d, 0x77, 0x9b, 0xd3, 0x65, 0x3a, 0x61, 0x6a, 0x8d, + 0x66, 0x70, 0x30, 0xc5, 0x56, 0x11, 0x7b, 0x2a, 0xdb, 0x88, 0xe4, 0xa6, + 0xa4, 0xe0, 0xd0, 0x56, 0x1a, 0xe9, 0x4f, 0x42, +}; +static const unsigned char kat3750_addinpr2[] = { + 0x4e, 0x6c, 0x1d, 0x08, 0x29, 0x17, 0xac, 0x9e, 0xda, 0x7f, 0x03, 0x2c, + 0x61, 0x86, 0x77, 0x36, 0xb5, 0xbe, 0x7b, 0x30, 0x45, 0x55, 0x5f, 0x6e, + 0xf1, 0x0c, 0x58, 0x48, 0x75, 0x6e, 0x66, 0x65, +}; +static const unsigned char kat3750_retbits[] = { + 0x14, 0xcf, 0x6f, 0xa5, 0xcf, 0xb8, 0xf9, 0xc7, 0x4a, 0xdd, 0x5b, 0x2d, + 0xca, 0x5e, 0x30, 0x39, 0x5a, 0x10, 0x45, 0xed, 0x1e, 0x1c, 0xf4, 0xe9, + 0x1c, 0xcb, 0xdf, 0x8a, 0xb8, 0x0d, 0x1c, 0x0f, 0x1d, 0x93, 0x48, 0x16, + 0x51, 0x53, 0x5e, 0x40, 0x89, 0x63, 0x8b, 0x04, 0xfd, 0xf9, 0x5f, 0x52, + 0xae, 0xc1, 0xff, 0xf6, 0x56, 0x5b, 0x21, 0xd8, 0xa2, 0xa3, 0x2e, 0xa8, + 0x14, 0x95, 0x24, 0x11, +}; +static const struct drbg_kat_pr_true kat3750_t = { + 14, kat3750_entropyin, kat3750_nonce, kat3750_persstr, + kat3750_entropyinpr1, kat3750_addinpr1, kat3750_entropyinpr2, + kat3750_addinpr2, kat3750_retbits +}; +static const struct drbg_kat kat3750 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3750_t +}; + +static const unsigned char kat3751_entropyin[] = { + 0x3c, 0x71, 0x78, 0xb3, 0x01, 0xa2, 0x08, 0x84, 0x7d, 0xd7, 0xa9, 0xbf, + 0x28, 0x07, 0x55, 0x7f, 0xcf, 0xb9, 0x3c, 0x70, 0xb9, 0x93, 0xba, 0x69, + 0x8e, 0x35, 0x5b, 0xcb, 0xbb, 0xbc, 0xe5, 0x77, +}; +static const unsigned char kat3751_nonce[] = {0}; +static const unsigned char kat3751_persstr[] = { + 0xdb, 0x8b, 0x9d, 0x57, 0xa3, 0x4b, 0xd4, 0x85, 0x23, 0x48, 0x0b, 0x8c, + 0x0b, 0xdc, 0x05, 0x15, 0x72, 0x46, 0x6d, 0x19, 0x8e, 0x6a, 0x4c, 0x22, + 0xeb, 0x2d, 0x47, 0xb0, 0x36, 0xd4, 0xca, 0xaf, +}; +static const unsigned char kat3751_entropyinpr1[] = { + 0x51, 0xf4, 0x9b, 0x7f, 0x2a, 0x28, 0xc2, 0xe3, 0x3b, 0x95, 0x4e, 0x07, + 0xb2, 0x34, 0x10, 0xa8, 0xd7, 0x0a, 0x71, 0xb8, 0x91, 0x9d, 0x13, 0xd9, + 0x93, 0x29, 0x47, 0x00, 0x41, 0x1e, 0x51, 0x13, +}; +static const unsigned char kat3751_addinpr1[] = {0}; +static const unsigned char kat3751_entropyinpr2[] = { + 0xac, 0xc0, 0xd4, 0xb4, 0x10, 0xf4, 0xd8, 0xc1, 0x08, 0xaa, 0x12, 0xe6, + 0xa0, 0x80, 0x85, 0x71, 0x9b, 0x8e, 0x19, 0x14, 0x22, 0xdd, 0x5a, 0xee, + 0x95, 0xa3, 0x39, 0xd1, 0xf6, 0x79, 0xb1, 0x1f, +}; +static const unsigned char kat3751_addinpr2[] = {0}; +static const unsigned char kat3751_retbits[] = { + 0x65, 0xfa, 0x48, 0x64, 0xfa, 0xb3, 0xd8, 0x83, 0xc2, 0x88, 0x36, 0xe0, + 0xe0, 0xa5, 0xb9, 0x4b, 0x50, 0x68, 0x90, 0x20, 0x1b, 0x30, 0x0e, 0xaf, + 0x60, 0x76, 0x15, 0xd6, 0xc0, 0x10, 0xd1, 0xd1, 0x5c, 0x05, 0x0d, 0xa9, + 0x66, 0x77, 0x4b, 0xfb, 0xc8, 0x86, 0x16, 0xbb, 0xf1, 0x63, 0x4a, 0xf0, + 0x6a, 0xeb, 0x63, 0xb2, 0x07, 0x83, 0x2d, 0x46, 0x42, 0x9d, 0x7c, 0xea, + 0x75, 0xe5, 0x1c, 0x27, +}; +static const struct drbg_kat_pr_true kat3751_t = { + 0, kat3751_entropyin, kat3751_nonce, kat3751_persstr, + kat3751_entropyinpr1, kat3751_addinpr1, kat3751_entropyinpr2, + kat3751_addinpr2, kat3751_retbits +}; +static const struct drbg_kat kat3751 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3751_t +}; + +static const unsigned char kat3752_entropyin[] = { + 0x0f, 0x49, 0x8f, 0xec, 0x87, 0xa7, 0x24, 0x88, 0x2c, 0x80, 0xf2, 0x2f, + 0x49, 0x99, 0x95, 0x5a, 0xb6, 0x3a, 0x9a, 0x53, 0xd9, 0x0c, 0xb3, 0x3e, + 0xc0, 0x26, 0xd7, 0xed, 0xb5, 0x62, 0x40, 0xd8, +}; +static const unsigned char kat3752_nonce[] = {0}; +static const unsigned char kat3752_persstr[] = { + 0x1d, 0x5c, 0x1b, 0x78, 0xca, 0xdc, 0xb2, 0x2f, 0x0c, 0x9e, 0x2d, 0xe0, + 0xff, 0x59, 0x37, 0x91, 0x8f, 0xba, 0xcb, 0x62, 0xee, 0xc1, 0x5c, 0x68, + 0x08, 0x05, 0xe6, 0x81, 0x95, 0x27, 0x79, 0xf6, +}; +static const unsigned char kat3752_entropyinpr1[] = { + 0x2e, 0x5b, 0xb4, 0x4b, 0x07, 0xad, 0x27, 0xbf, 0x16, 0x97, 0x83, 0xd7, + 0xbb, 0xf4, 0xfb, 0xbb, 0xbc, 0xe5, 0x39, 0xe2, 0xf5, 0x23, 0xd5, 0xce, + 0xb1, 0xd7, 0xbf, 0x1d, 0xda, 0x0d, 0xfd, 0xb3, +}; +static const unsigned char kat3752_addinpr1[] = {0}; +static const unsigned char kat3752_entropyinpr2[] = { + 0x88, 0xe2, 0xc9, 0x12, 0xa0, 0x11, 0x02, 0x66, 0xb9, 0xf5, 0xc3, 0xa6, + 0x18, 0x6c, 0x3d, 0xed, 0x6b, 0xb7, 0x34, 0xc5, 0xc4, 0x3d, 0x07, 0xd9, + 0x07, 0xdd, 0x4f, 0x83, 0x3f, 0xe1, 0x72, 0x92, +}; +static const unsigned char kat3752_addinpr2[] = {0}; +static const unsigned char kat3752_retbits[] = { + 0x51, 0x5d, 0x13, 0x45, 0x38, 0x41, 0xc0, 0xed, 0x3b, 0x0f, 0xb0, 0xa2, + 0xd7, 0x64, 0x60, 0xef, 0x88, 0x8c, 0x50, 0x5a, 0x72, 0x23, 0x36, 0x21, + 0xa7, 0x13, 0xb3, 0xb2, 0x0e, 0x39, 0xf6, 0x5c, 0x83, 0x8e, 0x9a, 0x1a, + 0xde, 0xd2, 0x7d, 0xba, 0x97, 0xaf, 0xcf, 0xb5, 0x77, 0xcc, 0x2c, 0x97, + 0xaa, 0x47, 0xe5, 0xf7, 0xc9, 0x32, 0x3f, 0x48, 0x82, 0x41, 0x17, 0x8d, + 0x64, 0xe8, 0x68, 0x72, +}; +static const struct drbg_kat_pr_true kat3752_t = { + 1, kat3752_entropyin, kat3752_nonce, kat3752_persstr, + kat3752_entropyinpr1, kat3752_addinpr1, kat3752_entropyinpr2, + kat3752_addinpr2, kat3752_retbits +}; +static const struct drbg_kat kat3752 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3752_t +}; + +static const unsigned char kat3753_entropyin[] = { + 0x28, 0xbe, 0x5b, 0xcc, 0x8e, 0xeb, 0xac, 0xd6, 0x53, 0x84, 0x0b, 0x34, + 0xbb, 0xf1, 0x5a, 0xb4, 0x63, 0xa7, 0x97, 0xe0, 0x7d, 0xad, 0xa1, 0xab, + 0xf3, 0x4c, 0x1d, 0xd8, 0x22, 0x7c, 0x55, 0x5b, +}; +static const unsigned char kat3753_nonce[] = {0}; +static const unsigned char kat3753_persstr[] = { + 0xba, 0x7d, 0x78, 0xbc, 0x7a, 0xb9, 0xb4, 0x9c, 0x27, 0x4e, 0xd3, 0x3a, + 0xc9, 0xce, 0xa0, 0x32, 0xa7, 0xef, 0x8e, 0x44, 0x13, 0x89, 0xfe, 0xa8, + 0x9f, 0xa7, 0x4c, 0x5d, 0x6e, 0xf3, 0x66, 0x9e, +}; +static const unsigned char kat3753_entropyinpr1[] = { + 0xeb, 0xf6, 0x58, 0xca, 0x70, 0xdf, 0xfd, 0xf7, 0xd5, 0xf2, 0x32, 0x32, + 0x0a, 0xd1, 0xcc, 0xa7, 0xcf, 0x08, 0x0e, 0x5a, 0xab, 0xa5, 0x25, 0x04, + 0xc7, 0xd4, 0xa6, 0x55, 0xe5, 0x12, 0xcf, 0xb7, +}; +static const unsigned char kat3753_addinpr1[] = {0}; +static const unsigned char kat3753_entropyinpr2[] = { + 0xfa, 0xe4, 0x1b, 0x02, 0x43, 0xe9, 0x38, 0x42, 0x22, 0x86, 0xb1, 0x28, + 0x0c, 0x91, 0xcc, 0xf3, 0xb3, 0x71, 0x65, 0x19, 0x4b, 0x42, 0x88, 0x99, + 0x85, 0xa9, 0x9d, 0xc4, 0x57, 0xeb, 0xb4, 0x49, +}; +static const unsigned char kat3753_addinpr2[] = {0}; +static const unsigned char kat3753_retbits[] = { + 0xf8, 0x39, 0xaf, 0xce, 0x9c, 0x99, 0xaf, 0x94, 0x8e, 0x6c, 0xe7, 0x53, + 0x08, 0x39, 0x3a, 0x43, 0x71, 0xc6, 0x48, 0xa6, 0xc7, 0x94, 0x18, 0x27, + 0x2e, 0xa5, 0xf2, 0x75, 0x43, 0x8e, 0x65, 0xcb, 0x9b, 0x6e, 0x48, 0xf8, + 0xaa, 0x44, 0x60, 0x74, 0x8c, 0xde, 0x38, 0x0e, 0x02, 0xd6, 0xc2, 0x73, + 0x5a, 0x68, 0x6a, 0x86, 0xdd, 0xd5, 0xb9, 0x5a, 0xd7, 0xd6, 0x91, 0x15, + 0x5a, 0x7b, 0x3c, 0x50, +}; +static const struct drbg_kat_pr_true kat3753_t = { + 2, kat3753_entropyin, kat3753_nonce, kat3753_persstr, + kat3753_entropyinpr1, kat3753_addinpr1, kat3753_entropyinpr2, + kat3753_addinpr2, kat3753_retbits +}; +static const struct drbg_kat kat3753 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3753_t +}; + +static const unsigned char kat3754_entropyin[] = { + 0x69, 0xc1, 0x87, 0x5a, 0x4b, 0xe9, 0x2c, 0x22, 0x47, 0x6b, 0x04, 0xcc, + 0xa2, 0x4f, 0x6e, 0x88, 0x57, 0x15, 0xb0, 0xe5, 0x3a, 0x93, 0xfd, 0x88, + 0xb8, 0xd6, 0xe7, 0xf2, 0xf1, 0x5d, 0x51, 0x68, +}; +static const unsigned char kat3754_nonce[] = {0}; +static const unsigned char kat3754_persstr[] = { + 0x88, 0x59, 0x8f, 0x5b, 0xe9, 0xb0, 0x9f, 0x21, 0xd9, 0x54, 0x2f, 0x99, + 0x38, 0xb1, 0x58, 0x91, 0xd3, 0x87, 0xb3, 0x2a, 0x56, 0x1f, 0xbe, 0x7e, + 0xfc, 0x19, 0x6d, 0xba, 0x24, 0x39, 0xa9, 0xbb, +}; +static const unsigned char kat3754_entropyinpr1[] = { + 0x20, 0xf5, 0xee, 0x39, 0xaf, 0x10, 0x42, 0xab, 0x05, 0x48, 0xc5, 0x19, + 0x65, 0x6d, 0x6b, 0x58, 0x33, 0xed, 0xde, 0xeb, 0x79, 0xc8, 0x1a, 0x64, + 0xc8, 0x2a, 0x2f, 0xaa, 0xf7, 0xe2, 0xc3, 0xf1, +}; +static const unsigned char kat3754_addinpr1[] = {0}; +static const unsigned char kat3754_entropyinpr2[] = { + 0x7b, 0x78, 0x27, 0xea, 0xbc, 0x68, 0x6a, 0xdc, 0xdb, 0xa8, 0x1c, 0xc5, + 0x3a, 0x27, 0xd4, 0xe5, 0x7f, 0xbe, 0x6c, 0x29, 0xa2, 0x88, 0xe4, 0x60, + 0xc5, 0x7a, 0x67, 0xd2, 0xdc, 0xb6, 0x6f, 0x93, +}; +static const unsigned char kat3754_addinpr2[] = {0}; +static const unsigned char kat3754_retbits[] = { + 0x9b, 0xd4, 0x82, 0xe4, 0xa2, 0xb3, 0x2b, 0x13, 0x38, 0x9f, 0x4d, 0x38, + 0x60, 0x9e, 0x80, 0xf2, 0x7a, 0x74, 0xee, 0x44, 0x6c, 0x08, 0xb9, 0xea, + 0x2b, 0xf4, 0x35, 0xfc, 0x87, 0xab, 0x7c, 0xa9, 0x03, 0x1a, 0x5c, 0xfc, + 0x92, 0x4c, 0x8c, 0xf3, 0x60, 0x75, 0xc5, 0xfe, 0x96, 0xae, 0x0a, 0x45, + 0xbf, 0x42, 0x42, 0x34, 0xb8, 0xdb, 0x2a, 0x5e, 0x9c, 0xa7, 0xd3, 0x06, + 0xdc, 0xa8, 0xae, 0x40, +}; +static const struct drbg_kat_pr_true kat3754_t = { + 3, kat3754_entropyin, kat3754_nonce, kat3754_persstr, + kat3754_entropyinpr1, kat3754_addinpr1, kat3754_entropyinpr2, + kat3754_addinpr2, kat3754_retbits +}; +static const struct drbg_kat kat3754 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3754_t +}; + +static const unsigned char kat3755_entropyin[] = { + 0xaf, 0x6d, 0xe3, 0xf8, 0x45, 0x5a, 0xc4, 0x08, 0x94, 0x48, 0x8e, 0xdb, + 0x8c, 0x60, 0x39, 0x30, 0x53, 0x74, 0x26, 0xeb, 0xe4, 0x6d, 0x03, 0x3b, + 0x5a, 0xa4, 0xf9, 0xf2, 0x54, 0x7e, 0x5e, 0x6e, +}; +static const unsigned char kat3755_nonce[] = {0}; +static const unsigned char kat3755_persstr[] = { + 0x16, 0x5d, 0x53, 0xa1, 0x7b, 0xf8, 0xc2, 0x81, 0x3d, 0xa5, 0x98, 0x64, + 0x53, 0x13, 0xdc, 0x63, 0x8f, 0xb7, 0x33, 0xaf, 0x65, 0x19, 0x0f, 0x24, + 0x86, 0xd1, 0x16, 0x16, 0x30, 0x70, 0xef, 0x4f, +}; +static const unsigned char kat3755_entropyinpr1[] = { + 0xa5, 0xa4, 0x6c, 0xb3, 0xaa, 0x60, 0xed, 0x5c, 0xb9, 0xc8, 0x2c, 0x25, + 0x41, 0x78, 0xc8, 0x41, 0x15, 0x08, 0x01, 0x6a, 0x81, 0x43, 0x81, 0xd0, + 0x90, 0x9d, 0x21, 0x6b, 0xe9, 0xad, 0x6c, 0x45, +}; +static const unsigned char kat3755_addinpr1[] = {0}; +static const unsigned char kat3755_entropyinpr2[] = { + 0xfc, 0xc8, 0x56, 0x54, 0xcd, 0xbe, 0x07, 0x54, 0x1b, 0x8a, 0xf9, 0x98, + 0x9d, 0x88, 0x75, 0x98, 0xc2, 0x2a, 0xd3, 0xed, 0xcf, 0xa1, 0xc7, 0x54, + 0x6c, 0xc5, 0x8a, 0xa6, 0x10, 0xce, 0x81, 0xff, +}; +static const unsigned char kat3755_addinpr2[] = {0}; +static const unsigned char kat3755_retbits[] = { + 0xbc, 0xbd, 0xce, 0x92, 0x49, 0x3a, 0x23, 0x45, 0xcb, 0x0a, 0xbe, 0x13, + 0xfc, 0x4e, 0x2d, 0x90, 0x88, 0xf6, 0x1c, 0x28, 0xf7, 0x25, 0x6b, 0x5a, + 0xf6, 0x50, 0x40, 0x4c, 0x21, 0xa4, 0x18, 0x10, 0xeb, 0x19, 0x2d, 0x7f, + 0x0f, 0x4d, 0x44, 0x9a, 0x0a, 0x9c, 0x60, 0x5f, 0x3f, 0x07, 0xc2, 0x76, + 0x91, 0x63, 0x95, 0x0b, 0x5e, 0xdb, 0x33, 0xaa, 0x68, 0xdd, 0xb8, 0x96, + 0x99, 0x27, 0xb0, 0x38, +}; +static const struct drbg_kat_pr_true kat3755_t = { + 4, kat3755_entropyin, kat3755_nonce, kat3755_persstr, + kat3755_entropyinpr1, kat3755_addinpr1, kat3755_entropyinpr2, + kat3755_addinpr2, kat3755_retbits +}; +static const struct drbg_kat kat3755 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3755_t +}; + +static const unsigned char kat3756_entropyin[] = { + 0x74, 0xad, 0x98, 0x3b, 0x7d, 0xaf, 0x0a, 0xaf, 0xab, 0x1b, 0x2a, 0x14, + 0x10, 0x5e, 0x74, 0x55, 0xd3, 0xbc, 0x66, 0x7f, 0xd3, 0x3b, 0x20, 0xbc, + 0x09, 0xa6, 0xea, 0xd4, 0xf6, 0xd5, 0x5d, 0xd2, +}; +static const unsigned char kat3756_nonce[] = {0}; +static const unsigned char kat3756_persstr[] = { + 0xab, 0xa2, 0xf2, 0x4b, 0xa9, 0x42, 0x1b, 0xec, 0x5e, 0xa8, 0x40, 0x1b, + 0x31, 0xdd, 0xf7, 0x74, 0xc3, 0x6c, 0x52, 0x1b, 0x4b, 0xb2, 0x54, 0x9d, + 0xf4, 0x7f, 0x6c, 0xa8, 0x2f, 0x20, 0xa4, 0x41, +}; +static const unsigned char kat3756_entropyinpr1[] = { + 0xb0, 0x81, 0x35, 0x49, 0x8d, 0x4a, 0x43, 0xbf, 0x55, 0x71, 0x23, 0x3c, + 0x09, 0x05, 0xe7, 0x3d, 0x0e, 0x1b, 0xa0, 0xc3, 0x97, 0x7a, 0x0c, 0x27, + 0x36, 0x71, 0x33, 0x73, 0x90, 0xcb, 0xa4, 0x9b, +}; +static const unsigned char kat3756_addinpr1[] = {0}; +static const unsigned char kat3756_entropyinpr2[] = { + 0x26, 0x7e, 0x0a, 0x11, 0xdc, 0x59, 0x3a, 0xc1, 0x7c, 0x45, 0xab, 0x28, + 0x61, 0x92, 0x51, 0x6d, 0xd7, 0xf7, 0x55, 0x4f, 0x80, 0x3f, 0x8b, 0x3e, + 0x31, 0x00, 0x21, 0x90, 0xc9, 0x8e, 0x7a, 0x33, +}; +static const unsigned char kat3756_addinpr2[] = {0}; +static const unsigned char kat3756_retbits[] = { + 0xbc, 0xf3, 0x99, 0x80, 0x48, 0xc7, 0x2f, 0x0f, 0x04, 0x00, 0x29, 0xf1, + 0x64, 0xe0, 0x13, 0x53, 0x9b, 0xb3, 0x49, 0x5d, 0x05, 0x35, 0xb5, 0x43, + 0xd0, 0xfd, 0xa2, 0xb3, 0x10, 0xd5, 0xc3, 0xc2, 0xcb, 0xf7, 0x46, 0xca, + 0xca, 0x20, 0xb7, 0xd6, 0xb0, 0x3c, 0x87, 0x5c, 0x8d, 0x1b, 0x0b, 0xe0, + 0xde, 0x93, 0xdd, 0x1b, 0xfe, 0x9e, 0xe1, 0x7b, 0x0f, 0x21, 0x4f, 0xba, + 0x65, 0xf6, 0x6d, 0x58, +}; +static const struct drbg_kat_pr_true kat3756_t = { + 5, kat3756_entropyin, kat3756_nonce, kat3756_persstr, + kat3756_entropyinpr1, kat3756_addinpr1, kat3756_entropyinpr2, + kat3756_addinpr2, kat3756_retbits +}; +static const struct drbg_kat kat3756 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3756_t +}; + +static const unsigned char kat3757_entropyin[] = { + 0xed, 0x60, 0x67, 0xf9, 0xbd, 0xe1, 0x69, 0x78, 0x0b, 0x55, 0x5c, 0x83, + 0xa1, 0x8f, 0xb1, 0x6e, 0x02, 0xc8, 0x5d, 0x1d, 0xf6, 0xb6, 0x8a, 0x2d, + 0x91, 0xa1, 0xd1, 0xde, 0xd4, 0xe8, 0x96, 0xb8, +}; +static const unsigned char kat3757_nonce[] = {0}; +static const unsigned char kat3757_persstr[] = { + 0xf1, 0x60, 0xe7, 0x79, 0x1d, 0x87, 0x1b, 0x85, 0x59, 0xf4, 0xb0, 0xf8, + 0x00, 0xca, 0xf9, 0xa2, 0xd2, 0x3c, 0xa3, 0x05, 0xb6, 0x75, 0x7c, 0x7e, + 0xea, 0xe5, 0xbe, 0xae, 0x51, 0x95, 0x81, 0x4d, +}; +static const unsigned char kat3757_entropyinpr1[] = { + 0x94, 0xaa, 0x96, 0x0f, 0x12, 0x84, 0x5e, 0x8f, 0xa0, 0x83, 0xd7, 0xce, + 0xba, 0xc2, 0xfb, 0xdb, 0xab, 0x6c, 0xa3, 0xc1, 0x53, 0x0f, 0x58, 0x32, + 0xfa, 0xc1, 0x89, 0x6f, 0x51, 0xdb, 0x4c, 0xaf, +}; +static const unsigned char kat3757_addinpr1[] = {0}; +static const unsigned char kat3757_entropyinpr2[] = { + 0xa8, 0x62, 0x21, 0xc6, 0xb0, 0xcf, 0x66, 0x5c, 0x0e, 0xbc, 0x62, 0x96, + 0x68, 0xcd, 0xbe, 0x7b, 0x6c, 0xe7, 0x56, 0xd1, 0x54, 0xfa, 0x36, 0x2e, + 0xb5, 0x90, 0xf6, 0x55, 0xa1, 0x37, 0x68, 0xdd, +}; +static const unsigned char kat3757_addinpr2[] = {0}; +static const unsigned char kat3757_retbits[] = { + 0xd0, 0x66, 0x63, 0xdf, 0x3f, 0x96, 0xf4, 0x8c, 0x29, 0x5c, 0x68, 0xe8, + 0xdb, 0x5f, 0xa5, 0xb5, 0x90, 0x09, 0xde, 0x65, 0xbb, 0x30, 0x8b, 0x7c, + 0x84, 0xb7, 0xc4, 0xe7, 0x24, 0xe3, 0x75, 0x08, 0x5f, 0xdb, 0xd5, 0xb0, + 0x53, 0xe9, 0x17, 0x13, 0x61, 0x2f, 0x47, 0xd8, 0x7f, 0x40, 0xee, 0x6a, + 0x04, 0xe7, 0xb0, 0x7f, 0x28, 0x40, 0xf3, 0x14, 0x09, 0x59, 0xd7, 0x8c, + 0xab, 0xe0, 0x2a, 0xe2, +}; +static const struct drbg_kat_pr_true kat3757_t = { + 6, kat3757_entropyin, kat3757_nonce, kat3757_persstr, + kat3757_entropyinpr1, kat3757_addinpr1, kat3757_entropyinpr2, + kat3757_addinpr2, kat3757_retbits +}; +static const struct drbg_kat kat3757 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3757_t +}; + +static const unsigned char kat3758_entropyin[] = { + 0xd4, 0xad, 0x97, 0x5a, 0xa3, 0x8e, 0xd4, 0xf4, 0xba, 0x2d, 0xde, 0x6d, + 0x7e, 0x2a, 0x0c, 0xb6, 0x9f, 0x1d, 0xc3, 0xef, 0xa9, 0x43, 0x32, 0x7c, + 0xe5, 0xfc, 0xa8, 0x2b, 0x0a, 0xf5, 0x9d, 0x04, +}; +static const unsigned char kat3758_nonce[] = {0}; +static const unsigned char kat3758_persstr[] = { + 0xff, 0x88, 0x4c, 0x91, 0xfa, 0x00, 0x5e, 0xfc, 0x94, 0xfa, 0x9e, 0x74, + 0x25, 0x84, 0x72, 0xd8, 0x88, 0xe9, 0x22, 0x09, 0x99, 0xb6, 0xcd, 0xb8, + 0xb8, 0x93, 0x04, 0xe7, 0xf6, 0xfc, 0x56, 0x90, +}; +static const unsigned char kat3758_entropyinpr1[] = { + 0xd0, 0x0b, 0x53, 0xdc, 0x12, 0x0a, 0xdf, 0x30, 0x6a, 0x97, 0x23, 0xdc, + 0x1b, 0x76, 0xce, 0xf0, 0xf5, 0x9b, 0x29, 0x4f, 0xb4, 0x13, 0xc2, 0x04, + 0x12, 0xb2, 0xd0, 0x81, 0xee, 0xef, 0xc5, 0xbe, +}; +static const unsigned char kat3758_addinpr1[] = {0}; +static const unsigned char kat3758_entropyinpr2[] = { + 0x57, 0xdf, 0x07, 0x19, 0x2f, 0x04, 0xd6, 0x11, 0x31, 0x30, 0xee, 0x3c, + 0x1c, 0x23, 0x0d, 0xcb, 0x29, 0x2e, 0xbe, 0xe8, 0x54, 0x76, 0xa5, 0xdd, + 0xf5, 0xc2, 0xe6, 0xad, 0xcb, 0xab, 0xd7, 0x98, +}; +static const unsigned char kat3758_addinpr2[] = {0}; +static const unsigned char kat3758_retbits[] = { + 0xb3, 0xdc, 0xa2, 0x41, 0xa1, 0x04, 0x07, 0x92, 0x60, 0x93, 0x4c, 0x74, + 0x14, 0x4f, 0x85, 0x0a, 0x1a, 0x54, 0x96, 0xf8, 0xba, 0x25, 0x9f, 0x9a, + 0x20, 0x66, 0x44, 0xd0, 0x44, 0x26, 0x75, 0xbe, 0x29, 0x39, 0x2b, 0xcd, + 0x1b, 0xca, 0x6e, 0xc1, 0x47, 0x25, 0x6a, 0xf7, 0x17, 0x67, 0x39, 0x37, + 0xa3, 0xdb, 0x81, 0x9c, 0x23, 0x42, 0x30, 0xef, 0xee, 0x6d, 0x71, 0x1b, + 0xcb, 0x84, 0xc2, 0x31, +}; +static const struct drbg_kat_pr_true kat3758_t = { + 7, kat3758_entropyin, kat3758_nonce, kat3758_persstr, + kat3758_entropyinpr1, kat3758_addinpr1, kat3758_entropyinpr2, + kat3758_addinpr2, kat3758_retbits +}; +static const struct drbg_kat kat3758 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3758_t +}; + +static const unsigned char kat3759_entropyin[] = { + 0xa5, 0x65, 0xe9, 0x0b, 0xbf, 0xe0, 0x1f, 0xac, 0x6c, 0xcf, 0xb5, 0xae, + 0x7d, 0x7b, 0x0d, 0x3f, 0xb2, 0x7d, 0xd2, 0xaf, 0xf1, 0xd6, 0x80, 0x69, + 0xdd, 0x38, 0x1e, 0x63, 0xab, 0x71, 0x3d, 0xae, +}; +static const unsigned char kat3759_nonce[] = {0}; +static const unsigned char kat3759_persstr[] = { + 0x18, 0x6b, 0x27, 0x99, 0xce, 0xd8, 0x1d, 0x4c, 0xf9, 0x56, 0xe4, 0x50, + 0xbb, 0x1c, 0x8f, 0x75, 0x7c, 0x67, 0x8a, 0x05, 0x72, 0x0d, 0xa7, 0x6c, + 0x43, 0x80, 0x81, 0x3e, 0x31, 0x2f, 0xaf, 0x0a, +}; +static const unsigned char kat3759_entropyinpr1[] = { + 0x33, 0xbb, 0xa3, 0x56, 0x09, 0x6e, 0x75, 0xd5, 0x75, 0x81, 0x93, 0x93, + 0xff, 0xa2, 0x41, 0xb9, 0x38, 0x29, 0x20, 0x93, 0xff, 0xd9, 0x8d, 0x66, + 0x35, 0xb8, 0x4d, 0xb2, 0xec, 0x5a, 0x2e, 0x74, +}; +static const unsigned char kat3759_addinpr1[] = {0}; +static const unsigned char kat3759_entropyinpr2[] = { + 0xf1, 0xbf, 0x05, 0x16, 0x48, 0x44, 0xf1, 0x40, 0xea, 0x2f, 0x14, 0xed, + 0xe5, 0xe1, 0x89, 0xf8, 0xf8, 0xc7, 0x7a, 0x63, 0xf0, 0x5f, 0x45, 0x81, + 0x16, 0x0a, 0x56, 0x38, 0xf7, 0x02, 0x06, 0x25, +}; +static const unsigned char kat3759_addinpr2[] = {0}; +static const unsigned char kat3759_retbits[] = { + 0x78, 0x98, 0x92, 0x6b, 0x73, 0x6b, 0x4f, 0x8d, 0x51, 0x33, 0x83, 0x8b, + 0x58, 0x82, 0xd3, 0x71, 0xd5, 0x62, 0x35, 0x30, 0x3b, 0xfb, 0x50, 0x2f, + 0x1d, 0x20, 0xf8, 0x2e, 0xc9, 0x56, 0x94, 0x4c, 0x80, 0xbf, 0xbe, 0x84, + 0xff, 0x9c, 0xd9, 0x6a, 0x5a, 0x8c, 0xc4, 0x0d, 0x62, 0x91, 0x41, 0x99, + 0x78, 0x45, 0xd9, 0xd6, 0x12, 0x8d, 0xd7, 0xd5, 0xdc, 0x68, 0x9f, 0x17, + 0x6a, 0x50, 0xbc, 0x47, +}; +static const struct drbg_kat_pr_true kat3759_t = { + 8, kat3759_entropyin, kat3759_nonce, kat3759_persstr, + kat3759_entropyinpr1, kat3759_addinpr1, kat3759_entropyinpr2, + kat3759_addinpr2, kat3759_retbits +}; +static const struct drbg_kat kat3759 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3759_t +}; + +static const unsigned char kat3760_entropyin[] = { + 0x0f, 0x8d, 0xef, 0xcd, 0x0a, 0xac, 0xd1, 0xf9, 0xb1, 0x80, 0xfd, 0x1e, + 0x34, 0x0f, 0xf9, 0xb5, 0x5b, 0x62, 0xbd, 0x54, 0xd5, 0x73, 0x6e, 0xb5, + 0xad, 0x5a, 0xe1, 0x42, 0x33, 0x6f, 0x0a, 0xb9, +}; +static const unsigned char kat3760_nonce[] = {0}; +static const unsigned char kat3760_persstr[] = { + 0xf6, 0x86, 0x6b, 0x6b, 0xad, 0x1a, 0xcf, 0xe4, 0x3c, 0x3c, 0xce, 0x9c, + 0xe6, 0x2b, 0x44, 0x12, 0xf5, 0x1b, 0xec, 0x73, 0x70, 0xdb, 0xb1, 0xc4, + 0x66, 0x78, 0x6b, 0x57, 0x07, 0xcb, 0x24, 0xee, +}; +static const unsigned char kat3760_entropyinpr1[] = { + 0x9d, 0x69, 0x0b, 0x9b, 0x71, 0xe3, 0x10, 0xef, 0x15, 0x65, 0x3a, 0x3f, + 0x1f, 0xae, 0x1c, 0x36, 0x62, 0x7a, 0x20, 0x13, 0xa0, 0xac, 0xa6, 0xde, + 0xf3, 0xa0, 0x92, 0x8e, 0x45, 0xfd, 0xc1, 0xbf, +}; +static const unsigned char kat3760_addinpr1[] = {0}; +static const unsigned char kat3760_entropyinpr2[] = { + 0xdf, 0x62, 0xe6, 0xef, 0x16, 0x7d, 0x06, 0xa9, 0x7f, 0xc2, 0x81, 0x9b, + 0x47, 0xe5, 0x1f, 0x38, 0xc9, 0xf9, 0x57, 0x2e, 0xcb, 0x2c, 0x7e, 0xb0, + 0xe7, 0x56, 0x9b, 0xda, 0xc5, 0xe9, 0xd9, 0xfb, +}; +static const unsigned char kat3760_addinpr2[] = {0}; +static const unsigned char kat3760_retbits[] = { + 0x06, 0xcc, 0x71, 0xa0, 0xe7, 0x2a, 0x34, 0x26, 0xc6, 0x21, 0xeb, 0xd6, + 0xb6, 0xb2, 0x80, 0x0b, 0xb1, 0x11, 0x67, 0xb8, 0xfd, 0xd0, 0xa0, 0xd7, + 0x37, 0xb4, 0x45, 0x62, 0x9f, 0x5c, 0x2f, 0x9c, 0x68, 0x24, 0xad, 0x53, + 0x34, 0xed, 0x3f, 0x8c, 0x98, 0x25, 0x51, 0xfd, 0xea, 0x6d, 0xf1, 0xa1, + 0x13, 0xf8, 0x42, 0x94, 0xbd, 0x14, 0x80, 0x33, 0xba, 0x83, 0x09, 0xe2, + 0x4f, 0x00, 0xfd, 0xc3, +}; +static const struct drbg_kat_pr_true kat3760_t = { + 9, kat3760_entropyin, kat3760_nonce, kat3760_persstr, + kat3760_entropyinpr1, kat3760_addinpr1, kat3760_entropyinpr2, + kat3760_addinpr2, kat3760_retbits +}; +static const struct drbg_kat kat3760 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3760_t +}; + +static const unsigned char kat3761_entropyin[] = { + 0x90, 0x48, 0xf0, 0x0f, 0xce, 0x43, 0xac, 0x12, 0x61, 0x2c, 0x59, 0x52, + 0xf9, 0x93, 0xea, 0xf5, 0xde, 0x58, 0x25, 0x78, 0x5a, 0x1e, 0x2e, 0x17, + 0x91, 0x06, 0x3a, 0x6c, 0xb8, 0x34, 0x8c, 0xce, +}; +static const unsigned char kat3761_nonce[] = {0}; +static const unsigned char kat3761_persstr[] = { + 0xd3, 0xdf, 0xf5, 0x21, 0x54, 0x1b, 0xbf, 0xc1, 0x97, 0x10, 0x52, 0x8a, + 0x3a, 0x53, 0xc3, 0xd9, 0x3e, 0x45, 0x4b, 0x17, 0x0d, 0x77, 0x0a, 0x17, + 0x99, 0xfa, 0x47, 0x2d, 0x66, 0x4b, 0x11, 0xf2, +}; +static const unsigned char kat3761_entropyinpr1[] = { + 0x00, 0x87, 0xa1, 0x7f, 0x43, 0x22, 0x91, 0x6d, 0x29, 0x3a, 0xca, 0x7d, + 0xdd, 0xe9, 0xb5, 0xd6, 0x1f, 0xda, 0x92, 0x4d, 0xb8, 0xfd, 0x13, 0xd4, + 0xd3, 0x86, 0x43, 0x8f, 0x66, 0xba, 0xcc, 0xe9, +}; +static const unsigned char kat3761_addinpr1[] = {0}; +static const unsigned char kat3761_entropyinpr2[] = { + 0x3a, 0x94, 0xfa, 0x99, 0x94, 0xbf, 0x84, 0xd5, 0x0f, 0x39, 0x9e, 0x7b, + 0x58, 0x9e, 0x34, 0x5d, 0xdd, 0x59, 0xbf, 0x7d, 0xb5, 0x86, 0x7a, 0x9d, + 0x96, 0x13, 0x11, 0x19, 0xf4, 0x3b, 0xf4, 0xaa, +}; +static const unsigned char kat3761_addinpr2[] = {0}; +static const unsigned char kat3761_retbits[] = { + 0x59, 0x5d, 0x6a, 0x04, 0x79, 0x31, 0xe5, 0xe0, 0x0d, 0xc1, 0x27, 0x24, + 0xf1, 0x4c, 0x37, 0xc4, 0x92, 0x8d, 0x15, 0xac, 0xff, 0x6f, 0x86, 0xa3, + 0x17, 0xf6, 0x54, 0x33, 0x43, 0x92, 0xba, 0x65, 0xbf, 0xfa, 0x35, 0xfd, + 0x2d, 0x08, 0xd4, 0xdf, 0x1b, 0xb5, 0x86, 0x57, 0xa2, 0x09, 0x05, 0xac, + 0x33, 0x1f, 0xbc, 0x8d, 0x61, 0x1e, 0x86, 0x14, 0xec, 0x46, 0xfb, 0xa5, + 0x59, 0x60, 0xc7, 0x3c, +}; +static const struct drbg_kat_pr_true kat3761_t = { + 10, kat3761_entropyin, kat3761_nonce, kat3761_persstr, + kat3761_entropyinpr1, kat3761_addinpr1, kat3761_entropyinpr2, + kat3761_addinpr2, kat3761_retbits +}; +static const struct drbg_kat kat3761 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3761_t +}; + +static const unsigned char kat3762_entropyin[] = { + 0xb6, 0xc3, 0x12, 0x56, 0xc0, 0x41, 0x2e, 0x6b, 0x00, 0x22, 0xd3, 0xe1, + 0x21, 0x71, 0x0c, 0xf3, 0xcf, 0xc4, 0x8d, 0x5e, 0x6e, 0xd7, 0xb3, 0xfe, + 0x7b, 0x5b, 0xfc, 0x9e, 0xd8, 0x08, 0x2b, 0x7f, +}; +static const unsigned char kat3762_nonce[] = {0}; +static const unsigned char kat3762_persstr[] = { + 0xe8, 0x85, 0xf7, 0x98, 0x94, 0xbc, 0x2f, 0x20, 0x81, 0x2a, 0x8a, 0x18, + 0x7c, 0xc9, 0x99, 0x20, 0x01, 0xf9, 0xb3, 0xb3, 0x71, 0x35, 0x87, 0x61, + 0xdc, 0xd9, 0xb9, 0x73, 0x73, 0x60, 0x2c, 0xaa, +}; +static const unsigned char kat3762_entropyinpr1[] = { + 0xbd, 0x7e, 0xb9, 0x3c, 0x4f, 0xc3, 0x70, 0x0f, 0x1f, 0x7c, 0xcf, 0xf1, + 0xae, 0x9a, 0x19, 0xae, 0x62, 0x1b, 0xbb, 0xe4, 0x3d, 0x1b, 0x75, 0x28, + 0x75, 0x2a, 0xe8, 0x7f, 0x78, 0xe7, 0x69, 0x25, +}; +static const unsigned char kat3762_addinpr1[] = {0}; +static const unsigned char kat3762_entropyinpr2[] = { + 0xe0, 0xad, 0x35, 0x3d, 0x29, 0xdb, 0x22, 0x3f, 0x3c, 0xab, 0xa6, 0x4f, + 0xeb, 0x9a, 0x91, 0xd5, 0x74, 0xbb, 0x67, 0xc0, 0xd8, 0x77, 0xeb, 0xbe, + 0xff, 0x60, 0xd5, 0x57, 0xa7, 0xee, 0x92, 0xca, +}; +static const unsigned char kat3762_addinpr2[] = {0}; +static const unsigned char kat3762_retbits[] = { + 0x82, 0x07, 0x42, 0x5c, 0x7b, 0x99, 0x6a, 0xbd, 0x8e, 0xc2, 0x3d, 0xfe, + 0xad, 0xf4, 0x29, 0x67, 0x6b, 0x55, 0x19, 0x4c, 0xf9, 0xdd, 0x7e, 0x39, + 0x7b, 0x36, 0x17, 0x43, 0x33, 0xd5, 0xc6, 0xaf, 0x58, 0x25, 0x76, 0xa4, + 0x66, 0xeb, 0xf3, 0xa3, 0x74, 0x31, 0x1e, 0x51, 0x3f, 0x2d, 0xbd, 0xe5, + 0x18, 0xda, 0xe9, 0x10, 0xcd, 0xb4, 0x9c, 0x4a, 0xfa, 0x27, 0x8e, 0x38, + 0x1d, 0x38, 0xaf, 0x0d, +}; +static const struct drbg_kat_pr_true kat3762_t = { + 11, kat3762_entropyin, kat3762_nonce, kat3762_persstr, + kat3762_entropyinpr1, kat3762_addinpr1, kat3762_entropyinpr2, + kat3762_addinpr2, kat3762_retbits +}; +static const struct drbg_kat kat3762 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3762_t +}; + +static const unsigned char kat3763_entropyin[] = { + 0x3d, 0xf3, 0xf2, 0x2e, 0x70, 0xab, 0x49, 0x65, 0x80, 0xbb, 0x4c, 0xda, + 0xb8, 0x2c, 0x74, 0x9e, 0xb9, 0x54, 0x95, 0x8f, 0xef, 0xba, 0xa4, 0x0a, + 0xf2, 0x31, 0x0b, 0x73, 0xb0, 0xed, 0x0d, 0x94, +}; +static const unsigned char kat3763_nonce[] = {0}; +static const unsigned char kat3763_persstr[] = { + 0xb8, 0x7b, 0xfd, 0x75, 0x8d, 0x8f, 0x36, 0x4f, 0x0b, 0x33, 0x6a, 0x0f, + 0xcc, 0x06, 0x92, 0xe8, 0x07, 0x50, 0x7c, 0x2a, 0xb8, 0xc0, 0x40, 0xa8, + 0xd2, 0xea, 0xa1, 0xef, 0xfa, 0xb7, 0xc9, 0x2f, +}; +static const unsigned char kat3763_entropyinpr1[] = { + 0x13, 0xc4, 0x07, 0x2a, 0x34, 0xcc, 0x13, 0x05, 0x55, 0x5a, 0xbb, 0x1f, + 0xc9, 0x61, 0xf7, 0xfc, 0xca, 0x4d, 0x38, 0x9a, 0x35, 0x5f, 0xa3, 0x64, + 0xa7, 0x12, 0xe5, 0x85, 0xc1, 0x5c, 0x05, 0xce, +}; +static const unsigned char kat3763_addinpr1[] = {0}; +static const unsigned char kat3763_entropyinpr2[] = { + 0x09, 0xc0, 0x21, 0xf8, 0xa8, 0x16, 0xe6, 0xf6, 0x16, 0x97, 0xa5, 0xb2, + 0x33, 0xd4, 0xa6, 0x64, 0xdd, 0xe2, 0xfd, 0x67, 0x8a, 0x61, 0x71, 0x7e, + 0x31, 0x08, 0xf6, 0x47, 0xc4, 0x30, 0xc1, 0x2c, +}; +static const unsigned char kat3763_addinpr2[] = {0}; +static const unsigned char kat3763_retbits[] = { + 0xe2, 0x6a, 0x38, 0xfd, 0x0e, 0x4f, 0xbe, 0x95, 0xc4, 0x14, 0xdd, 0x60, + 0x00, 0xa2, 0xc7, 0x54, 0x4a, 0x5f, 0x59, 0xe0, 0x05, 0x29, 0x1c, 0x03, + 0xfe, 0x61, 0xbe, 0xa8, 0x5d, 0xa5, 0x81, 0xda, 0xee, 0xf2, 0xef, 0xf5, + 0xc8, 0xfa, 0x5c, 0x11, 0x29, 0xa3, 0x89, 0x86, 0x3b, 0x6e, 0xba, 0x26, + 0x9d, 0x73, 0xd2, 0x23, 0x03, 0x39, 0x96, 0xc9, 0x0b, 0x05, 0xa1, 0xe9, + 0x03, 0xa0, 0x7b, 0xcc, +}; +static const struct drbg_kat_pr_true kat3763_t = { + 12, kat3763_entropyin, kat3763_nonce, kat3763_persstr, + kat3763_entropyinpr1, kat3763_addinpr1, kat3763_entropyinpr2, + kat3763_addinpr2, kat3763_retbits +}; +static const struct drbg_kat kat3763 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3763_t +}; + +static const unsigned char kat3764_entropyin[] = { + 0xf5, 0xb4, 0x40, 0x81, 0x49, 0x69, 0x2b, 0x9d, 0xe6, 0x79, 0x49, 0xdb, + 0x4e, 0x7a, 0x9d, 0xb1, 0x60, 0x39, 0xab, 0xef, 0xb2, 0x41, 0x47, 0xe6, + 0x80, 0x86, 0x8b, 0x2e, 0xd3, 0xe6, 0x59, 0x24, +}; +static const unsigned char kat3764_nonce[] = {0}; +static const unsigned char kat3764_persstr[] = { + 0x03, 0x46, 0xba, 0x04, 0x40, 0x77, 0x79, 0x84, 0x8e, 0xf2, 0x9c, 0x36, + 0xe4, 0x88, 0xa7, 0xce, 0x15, 0x5b, 0xfd, 0xe5, 0xa5, 0x7c, 0x09, 0x7f, + 0x6e, 0xd6, 0x58, 0xc2, 0x3d, 0x80, 0x18, 0xe0, +}; +static const unsigned char kat3764_entropyinpr1[] = { + 0x91, 0x69, 0x37, 0x87, 0x55, 0xd1, 0xc4, 0xe9, 0x63, 0x64, 0xc3, 0x22, + 0x22, 0xb7, 0x2c, 0xa0, 0xa5, 0xb4, 0x2d, 0x55, 0x61, 0x86, 0x4b, 0x3f, + 0x60, 0xdd, 0x16, 0xcf, 0x3a, 0x30, 0x3a, 0x2d, +}; +static const unsigned char kat3764_addinpr1[] = {0}; +static const unsigned char kat3764_entropyinpr2[] = { + 0x89, 0x2a, 0x51, 0xb9, 0x12, 0x56, 0x4f, 0x90, 0x2d, 0x8c, 0x81, 0x5d, + 0x76, 0x17, 0xb7, 0x61, 0xe5, 0x43, 0xb6, 0x51, 0x7e, 0x6d, 0x2b, 0xb9, + 0x08, 0xf0, 0xbc, 0xdd, 0x47, 0xee, 0x7a, 0x51, +}; +static const unsigned char kat3764_addinpr2[] = {0}; +static const unsigned char kat3764_retbits[] = { + 0x04, 0x95, 0xa1, 0x6d, 0x1f, 0x6e, 0xeb, 0xb6, 0x7f, 0x47, 0x8a, 0x83, + 0xd5, 0x16, 0x06, 0x8b, 0x77, 0xdf, 0x89, 0x64, 0x48, 0xe9, 0x7b, 0x9f, + 0xa3, 0x50, 0x34, 0xe3, 0xc1, 0x99, 0x8b, 0x16, 0x49, 0xbb, 0x77, 0x67, + 0xc3, 0x6e, 0x28, 0x12, 0x5e, 0x7b, 0x78, 0x1a, 0xcb, 0xbd, 0xe9, 0x2c, + 0xbf, 0xb9, 0xb7, 0x2e, 0x1d, 0x90, 0x1e, 0x4e, 0x35, 0xef, 0x9a, 0x51, + 0x82, 0x2b, 0x0f, 0x3a, +}; +static const struct drbg_kat_pr_true kat3764_t = { + 13, kat3764_entropyin, kat3764_nonce, kat3764_persstr, + kat3764_entropyinpr1, kat3764_addinpr1, kat3764_entropyinpr2, + kat3764_addinpr2, kat3764_retbits +}; +static const struct drbg_kat kat3764 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3764_t +}; + +static const unsigned char kat3765_entropyin[] = { + 0xe5, 0xb6, 0x93, 0xf4, 0x8c, 0xc0, 0x0e, 0x33, 0x7e, 0x6b, 0x37, 0x02, + 0xaa, 0xff, 0x9a, 0xbf, 0xee, 0x6f, 0x32, 0x5a, 0x34, 0xff, 0x03, 0x27, + 0x4b, 0x7a, 0xb6, 0x41, 0x13, 0xf8, 0xea, 0x21, +}; +static const unsigned char kat3765_nonce[] = {0}; +static const unsigned char kat3765_persstr[] = { + 0x31, 0xff, 0x20, 0x75, 0x18, 0x7f, 0x29, 0x96, 0x7b, 0xf9, 0x60, 0x2d, + 0xf6, 0x15, 0xf4, 0xb8, 0x05, 0x9b, 0xe5, 0x23, 0xe7, 0x7f, 0xff, 0x1f, + 0x82, 0xd6, 0xe1, 0xa8, 0x1c, 0xb5, 0x15, 0x34, +}; +static const unsigned char kat3765_entropyinpr1[] = { + 0x24, 0xe9, 0xce, 0x22, 0xa7, 0x27, 0xe4, 0x54, 0x0d, 0x7d, 0x85, 0xe0, + 0x56, 0xbf, 0x64, 0x48, 0x06, 0x3d, 0x5f, 0x13, 0xda, 0xe5, 0x59, 0xe8, + 0xc0, 0x38, 0x0b, 0xd1, 0xb1, 0x90, 0xdd, 0xe7, +}; +static const unsigned char kat3765_addinpr1[] = {0}; +static const unsigned char kat3765_entropyinpr2[] = { + 0x9a, 0x5f, 0x15, 0xc3, 0x60, 0x78, 0xcf, 0xa0, 0xc7, 0x68, 0x86, 0x88, + 0x16, 0xd5, 0xbd, 0x0b, 0x1d, 0x33, 0xc4, 0x92, 0xfa, 0x95, 0x54, 0x49, + 0x8b, 0x66, 0x25, 0x63, 0x9a, 0x29, 0x3d, 0xcc, +}; +static const unsigned char kat3765_addinpr2[] = {0}; +static const unsigned char kat3765_retbits[] = { + 0x54, 0xc0, 0x2a, 0xa8, 0xe6, 0xcc, 0xc1, 0xf1, 0x09, 0xa5, 0xf2, 0x15, + 0xf4, 0x88, 0xfe, 0x9c, 0xa7, 0xc7, 0xce, 0xb3, 0xd1, 0xb0, 0xd9, 0xe9, + 0x25, 0x6a, 0xc4, 0xf5, 0xd4, 0x19, 0x5c, 0xc8, 0xc3, 0x6f, 0x8d, 0x8d, + 0xdf, 0xf5, 0x5e, 0xa1, 0x0f, 0x86, 0xd0, 0xeb, 0x5b, 0xdb, 0x5b, 0x11, + 0x63, 0x39, 0xb9, 0xc0, 0x22, 0x9e, 0xb7, 0xe9, 0x68, 0x14, 0x01, 0x2a, + 0x2e, 0xd5, 0xeb, 0x0a, +}; +static const struct drbg_kat_pr_true kat3765_t = { + 14, kat3765_entropyin, kat3765_nonce, kat3765_persstr, + kat3765_entropyinpr1, kat3765_addinpr1, kat3765_entropyinpr2, + kat3765_addinpr2, kat3765_retbits +}; +static const struct drbg_kat kat3765 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3765_t +}; + +static const unsigned char kat3766_entropyin[] = { + 0xba, 0x18, 0xf1, 0x4f, 0xb9, 0x28, 0xd7, 0x68, 0x6c, 0x62, 0x54, 0x1f, + 0x37, 0xb0, 0x51, 0x78, 0x4b, 0x33, 0x66, 0xb7, 0xd1, 0x32, 0x7b, 0x31, + 0xc7, 0xb9, 0x04, 0xc5, 0xff, 0xaf, 0xe3, 0x75, +}; +static const unsigned char kat3766_nonce[] = {0}; +static const unsigned char kat3766_persstr[] = { + 0x14, 0x08, 0xa9, 0x34, 0xd2, 0xd4, 0x07, 0x9d, 0xef, 0xd0, 0xaa, 0x01, + 0xfe, 0xc7, 0x77, 0x03, 0xea, 0x97, 0x4f, 0x93, 0xca, 0x5a, 0xf3, 0x88, + 0xad, 0x7c, 0x67, 0xb1, 0x54, 0x35, 0x7c, 0x1b, +}; +static const unsigned char kat3766_entropyinpr1[] = { + 0x32, 0xaa, 0x9d, 0x4e, 0xf8, 0xff, 0x81, 0xb9, 0x58, 0x86, 0xe1, 0x6e, + 0x6e, 0x91, 0x59, 0xbe, 0x26, 0xd5, 0x52, 0x8a, 0xc3, 0x6a, 0x2f, 0xf1, + 0xb9, 0x10, 0xa9, 0x18, 0xae, 0x65, 0x22, 0x40, +}; +static const unsigned char kat3766_addinpr1[] = { + 0x2c, 0x1c, 0x1c, 0xdd, 0x21, 0x2b, 0x37, 0x16, 0x50, 0xf5, 0x35, 0x9c, + 0x9f, 0x90, 0x64, 0xa1, 0xfa, 0xce, 0x05, 0xf5, 0x12, 0x32, 0x5b, 0xe7, + 0x9a, 0xfb, 0xdd, 0xa7, 0x32, 0xcd, 0x44, 0x72, +}; +static const unsigned char kat3766_entropyinpr2[] = { + 0x69, 0x0c, 0x18, 0x45, 0xba, 0xd0, 0x69, 0x96, 0xb0, 0x76, 0xf9, 0xaa, + 0xd0, 0xf2, 0xc1, 0x7d, 0x0c, 0x30, 0x4a, 0xab, 0x35, 0xb2, 0x6b, 0x81, + 0xaf, 0x72, 0xb4, 0x02, 0xf5, 0xe2, 0xac, 0x82, +}; +static const unsigned char kat3766_addinpr2[] = { + 0x7b, 0xec, 0x3e, 0x0b, 0x55, 0x09, 0xd6, 0xb8, 0x65, 0x96, 0x0e, 0x94, + 0x3e, 0x87, 0xe4, 0x11, 0x90, 0xdb, 0xe3, 0x38, 0xf2, 0x8f, 0xb6, 0x39, + 0x62, 0x21, 0x4c, 0x49, 0x4e, 0xd1, 0x64, 0xeb, +}; +static const unsigned char kat3766_retbits[] = { + 0x77, 0x91, 0x6b, 0x29, 0x3b, 0x63, 0xc3, 0x72, 0xae, 0x03, 0xd0, 0xb6, + 0xee, 0x52, 0x05, 0x24, 0xb7, 0x4d, 0x16, 0xbd, 0x1d, 0xd8, 0xbe, 0xb5, + 0x56, 0xea, 0xbe, 0xa7, 0x17, 0x3d, 0xa3, 0x45, 0x21, 0x33, 0x9e, 0xb2, + 0xf7, 0x70, 0xcc, 0x77, 0xce, 0x3d, 0x93, 0x29, 0x28, 0x0c, 0xc6, 0x68, + 0x17, 0x75, 0xb4, 0xe2, 0x7e, 0xad, 0xa6, 0x2c, 0x39, 0x2f, 0x4d, 0x07, + 0x7c, 0x2c, 0xc8, 0xac, +}; +static const struct drbg_kat_pr_true kat3766_t = { + 0, kat3766_entropyin, kat3766_nonce, kat3766_persstr, + kat3766_entropyinpr1, kat3766_addinpr1, kat3766_entropyinpr2, + kat3766_addinpr2, kat3766_retbits +}; +static const struct drbg_kat kat3766 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3766_t +}; + +static const unsigned char kat3767_entropyin[] = { + 0x2e, 0xa5, 0xa3, 0xfd, 0x54, 0xa0, 0x63, 0x41, 0x30, 0xe8, 0xc2, 0x2f, + 0x59, 0xc5, 0x03, 0xe6, 0xf3, 0x91, 0x86, 0x92, 0x0a, 0x9d, 0x8e, 0x47, + 0xf4, 0x1f, 0xe0, 0x7c, 0xdb, 0x81, 0xae, 0xa4, +}; +static const unsigned char kat3767_nonce[] = {0}; +static const unsigned char kat3767_persstr[] = { + 0x7d, 0xee, 0x98, 0xb4, 0xf3, 0x78, 0xb8, 0x0f, 0x69, 0x7c, 0xab, 0x1b, + 0xa2, 0xcb, 0x26, 0xc2, 0xc2, 0x70, 0xbb, 0x6b, 0xb0, 0x22, 0xd6, 0xf7, + 0xe8, 0xe5, 0x2b, 0x44, 0xcb, 0x01, 0xc6, 0xf1, +}; +static const unsigned char kat3767_entropyinpr1[] = { + 0x4c, 0x32, 0x65, 0x3a, 0x06, 0x99, 0x63, 0xa1, 0x7c, 0xc8, 0x40, 0x37, + 0x2e, 0x81, 0x5e, 0x4c, 0xe0, 0xa4, 0x38, 0xe2, 0xea, 0xa0, 0x73, 0x3f, + 0xc2, 0xb5, 0xe8, 0xa4, 0x4e, 0xcd, 0xbe, 0xc8, +}; +static const unsigned char kat3767_addinpr1[] = { + 0x89, 0x2a, 0xb8, 0x12, 0xcc, 0xd6, 0x04, 0x7a, 0xdc, 0xf6, 0xda, 0x0f, + 0x94, 0x32, 0xd6, 0x78, 0x0f, 0x46, 0x69, 0xaa, 0xd3, 0x1e, 0x12, 0x33, + 0xbd, 0xd7, 0x44, 0x77, 0xf5, 0x63, 0x45, 0x5d, +}; +static const unsigned char kat3767_entropyinpr2[] = { + 0xc5, 0x36, 0xb6, 0x30, 0x5e, 0xdb, 0x8a, 0x6a, 0x3f, 0x96, 0x36, 0x83, + 0x6d, 0x4c, 0x59, 0x40, 0x2d, 0xca, 0x5f, 0x64, 0xb4, 0xd7, 0xdd, 0x16, + 0xfb, 0xd1, 0x1b, 0xc7, 0x65, 0x84, 0xd2, 0x92, +}; +static const unsigned char kat3767_addinpr2[] = { + 0x4e, 0x5a, 0x8d, 0xe1, 0x4c, 0x03, 0x10, 0x72, 0xe8, 0x94, 0xec, 0x98, + 0xde, 0x50, 0x20, 0x41, 0xc8, 0x1b, 0x5d, 0xc1, 0x04, 0x7e, 0x81, 0xd8, + 0xe2, 0x6c, 0x24, 0xa2, 0xd7, 0xf3, 0x81, 0xb9, +}; +static const unsigned char kat3767_retbits[] = { + 0xab, 0xa9, 0x12, 0x5a, 0xcc, 0xe7, 0xfe, 0x77, 0xbf, 0xfb, 0x79, 0x6e, + 0x2f, 0xab, 0x64, 0xa2, 0xdd, 0x90, 0x60, 0x11, 0xa7, 0x59, 0x51, 0x52, + 0xcf, 0xc5, 0xc7, 0x2a, 0x7b, 0x32, 0xbe, 0xea, 0xdc, 0x5f, 0xcd, 0xa5, + 0xd5, 0x5c, 0x72, 0x10, 0x4e, 0x7c, 0x36, 0x6c, 0x56, 0x49, 0x8d, 0xcb, + 0xb7, 0x0f, 0xe5, 0xc2, 0x90, 0x40, 0x3b, 0x22, 0xad, 0x90, 0xc2, 0x39, + 0x9e, 0xa0, 0x69, 0xf6, +}; +static const struct drbg_kat_pr_true kat3767_t = { + 1, kat3767_entropyin, kat3767_nonce, kat3767_persstr, + kat3767_entropyinpr1, kat3767_addinpr1, kat3767_entropyinpr2, + kat3767_addinpr2, kat3767_retbits +}; +static const struct drbg_kat kat3767 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3767_t +}; + +static const unsigned char kat3768_entropyin[] = { + 0x9f, 0x60, 0x15, 0x5d, 0x5c, 0xfe, 0xb9, 0xed, 0x55, 0xa6, 0xb0, 0x41, + 0x7b, 0xd5, 0x1e, 0xe0, 0xcb, 0x4d, 0xd6, 0xc4, 0xb9, 0x3a, 0xf5, 0xc3, + 0x40, 0x9c, 0x9d, 0x59, 0xcc, 0x72, 0xd3, 0x21, +}; +static const unsigned char kat3768_nonce[] = {0}; +static const unsigned char kat3768_persstr[] = { + 0x94, 0xdc, 0xc3, 0x91, 0x80, 0x35, 0x22, 0xf5, 0xb0, 0xc0, 0x29, 0x47, + 0x76, 0x78, 0xe6, 0xe5, 0xd1, 0x84, 0x32, 0xf9, 0xdb, 0x50, 0x76, 0xa1, + 0x3a, 0xad, 0xe6, 0xc0, 0x3a, 0xb5, 0xbf, 0x71, +}; +static const unsigned char kat3768_entropyinpr1[] = { + 0x3a, 0xf6, 0x14, 0x8f, 0x14, 0x27, 0xda, 0x27, 0xca, 0x93, 0x5a, 0x8b, + 0x98, 0x58, 0x1e, 0xb0, 0x9a, 0xf8, 0xeb, 0xbf, 0xfe, 0x04, 0xcc, 0x70, + 0x3d, 0x4b, 0x56, 0xab, 0x4c, 0x34, 0x7f, 0x06, +}; +static const unsigned char kat3768_addinpr1[] = { + 0x71, 0xe2, 0x01, 0xae, 0x29, 0x09, 0x71, 0x66, 0xe2, 0x88, 0x3a, 0xc3, + 0xf2, 0x94, 0xcd, 0x79, 0x81, 0x65, 0x6a, 0xf4, 0x5c, 0x1e, 0xf8, 0xc9, + 0x55, 0x67, 0x1f, 0x96, 0x31, 0x83, 0xbd, 0x36, +}; +static const unsigned char kat3768_entropyinpr2[] = { + 0xa5, 0xf5, 0x23, 0x5d, 0x90, 0xd9, 0xc6, 0x68, 0x1e, 0x83, 0xf5, 0x02, + 0x9f, 0x7d, 0x5f, 0xd9, 0xf6, 0xad, 0x80, 0xdb, 0xbc, 0xff, 0x3d, 0xd2, + 0x20, 0x01, 0xd1, 0x67, 0x3b, 0xb4, 0x1d, 0xfc, +}; +static const unsigned char kat3768_addinpr2[] = { + 0xcc, 0xad, 0x3d, 0xff, 0x4e, 0x4f, 0x80, 0x20, 0x8a, 0x5a, 0xfa, 0x69, + 0x18, 0xed, 0x22, 0x0d, 0x2e, 0xab, 0x2a, 0x44, 0x67, 0x0a, 0xfe, 0xf2, + 0xb4, 0x4d, 0x9f, 0x3a, 0x2c, 0xd7, 0x24, 0xd5, +}; +static const unsigned char kat3768_retbits[] = { + 0x90, 0x6c, 0x4f, 0x3a, 0xc4, 0xad, 0xed, 0x23, 0x71, 0xd5, 0xd8, 0x4f, + 0x14, 0x9a, 0x60, 0x56, 0xdc, 0xdb, 0x94, 0x72, 0x2d, 0x7d, 0x8c, 0x1d, + 0x08, 0xb7, 0xe6, 0xf8, 0xff, 0x02, 0x2a, 0xf1, 0xcd, 0xcf, 0xd7, 0x1f, + 0x9f, 0x04, 0xfb, 0x15, 0x32, 0x44, 0x35, 0xfc, 0x2d, 0xb8, 0x73, 0x11, + 0x20, 0x96, 0xa4, 0x4e, 0xa2, 0x48, 0x7e, 0x63, 0xa7, 0x85, 0x33, 0x8b, + 0x4f, 0x3a, 0x80, 0x6d, +}; +static const struct drbg_kat_pr_true kat3768_t = { + 2, kat3768_entropyin, kat3768_nonce, kat3768_persstr, + kat3768_entropyinpr1, kat3768_addinpr1, kat3768_entropyinpr2, + kat3768_addinpr2, kat3768_retbits +}; +static const struct drbg_kat kat3768 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3768_t +}; + +static const unsigned char kat3769_entropyin[] = { + 0xca, 0x8c, 0xb0, 0x25, 0xb5, 0x11, 0xe5, 0x32, 0x7a, 0xa0, 0xad, 0xf2, + 0xee, 0x64, 0x18, 0xad, 0x14, 0xd7, 0xd8, 0xfa, 0xbb, 0xa4, 0xc4, 0x1f, + 0xf9, 0x14, 0x3e, 0xd6, 0xa4, 0x45, 0xf8, 0x8e, +}; +static const unsigned char kat3769_nonce[] = {0}; +static const unsigned char kat3769_persstr[] = { + 0x66, 0xb4, 0xa7, 0x60, 0xca, 0x7f, 0xa0, 0x52, 0x18, 0x2c, 0xc2, 0xf5, + 0x7d, 0xac, 0x55, 0xa5, 0xec, 0x18, 0xc7, 0xe0, 0x82, 0x9a, 0xea, 0x28, + 0x20, 0xca, 0x4a, 0x06, 0x33, 0xff, 0xe2, 0x73, +}; +static const unsigned char kat3769_entropyinpr1[] = { + 0xe3, 0xe1, 0x52, 0xd3, 0xee, 0x5c, 0x00, 0x8c, 0x71, 0x94, 0x7a, 0x2e, + 0x86, 0xcb, 0x64, 0x45, 0x44, 0xd9, 0xeb, 0x81, 0xd2, 0xec, 0xc5, 0xc0, + 0x7e, 0x57, 0x8d, 0xbf, 0xfa, 0x2a, 0xc8, 0x9b, +}; +static const unsigned char kat3769_addinpr1[] = { + 0x14, 0x01, 0xb6, 0xee, 0xdc, 0x19, 0x51, 0x2e, 0x56, 0xf3, 0xc3, 0xdc, + 0x58, 0x89, 0x5d, 0x71, 0xb3, 0x50, 0x3b, 0x52, 0xa8, 0x28, 0xd2, 0xda, + 0x98, 0xd3, 0x6e, 0x00, 0x20, 0x0a, 0x01, 0xe2, +}; +static const unsigned char kat3769_entropyinpr2[] = { + 0x91, 0xe0, 0x91, 0xfa, 0xa8, 0x67, 0xbf, 0x42, 0x60, 0x5c, 0x8d, 0x75, + 0xf8, 0x02, 0xe7, 0x16, 0x99, 0x9a, 0x9b, 0x5c, 0x44, 0xb6, 0x4d, 0xcb, + 0xb5, 0x19, 0xb2, 0xbc, 0x30, 0x08, 0x15, 0x8d, +}; +static const unsigned char kat3769_addinpr2[] = { + 0x76, 0x43, 0x23, 0x11, 0x99, 0xe4, 0xb5, 0x0f, 0xb2, 0xd8, 0xb4, 0xe7, + 0xea, 0x8d, 0xb4, 0x9d, 0x00, 0x70, 0x0d, 0x2f, 0x69, 0xcc, 0xbe, 0xa6, + 0x35, 0xbd, 0x39, 0xc2, 0x63, 0x00, 0x5a, 0x3f, +}; +static const unsigned char kat3769_retbits[] = { + 0x4e, 0x9c, 0x31, 0x37, 0xcc, 0x9d, 0xc6, 0x27, 0xa7, 0xfe, 0xd3, 0xff, + 0xa6, 0xff, 0xf4, 0xd4, 0x43, 0x5f, 0x3c, 0xba, 0xd5, 0x69, 0xf3, 0x73, + 0xbc, 0xbd, 0x0e, 0xa3, 0xdf, 0x73, 0xc2, 0xdc, 0xec, 0x23, 0x0b, 0x2b, + 0xf0, 0x08, 0x1c, 0x6e, 0x6a, 0xa0, 0x26, 0xfa, 0xd4, 0x09, 0x84, 0x0d, + 0xab, 0xcb, 0xc6, 0x1f, 0x37, 0x55, 0x10, 0x82, 0xb2, 0x82, 0x10, 0x9c, + 0x5d, 0x1d, 0xb6, 0xc3, +}; +static const struct drbg_kat_pr_true kat3769_t = { + 3, kat3769_entropyin, kat3769_nonce, kat3769_persstr, + kat3769_entropyinpr1, kat3769_addinpr1, kat3769_entropyinpr2, + kat3769_addinpr2, kat3769_retbits +}; +static const struct drbg_kat kat3769 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3769_t +}; + +static const unsigned char kat3770_entropyin[] = { + 0x0d, 0x22, 0x34, 0x34, 0xa0, 0xaf, 0x6e, 0x4a, 0x60, 0x63, 0x81, 0x44, + 0xad, 0x55, 0xed, 0x14, 0x1d, 0xa1, 0x92, 0x0c, 0x0d, 0x4c, 0xe6, 0x39, + 0xe0, 0x38, 0xe8, 0x9d, 0x93, 0x62, 0x8d, 0xc9, +}; +static const unsigned char kat3770_nonce[] = {0}; +static const unsigned char kat3770_persstr[] = { + 0xef, 0xca, 0x79, 0x4c, 0x07, 0xb2, 0x35, 0xe0, 0x9a, 0x6c, 0xc6, 0x85, + 0xa3, 0x39, 0x0b, 0x84, 0x65, 0x5e, 0x04, 0xb8, 0xeb, 0x92, 0x4a, 0xd3, + 0xed, 0x4d, 0x35, 0x6f, 0x80, 0x6a, 0x61, 0x00, +}; +static const unsigned char kat3770_entropyinpr1[] = { + 0x0e, 0xc6, 0x96, 0xe5, 0x2d, 0x57, 0xbc, 0xec, 0xd2, 0x31, 0x03, 0xfe, + 0x5d, 0x54, 0x21, 0xf5, 0x3e, 0xb1, 0xab, 0x16, 0x3a, 0x9a, 0xd0, 0x91, + 0xe5, 0xc4, 0x78, 0x9c, 0xf6, 0xac, 0xa0, 0xf2, +}; +static const unsigned char kat3770_addinpr1[] = { + 0x93, 0xe5, 0x64, 0x8c, 0x4c, 0xa0, 0x9a, 0x97, 0x48, 0xa8, 0x1a, 0xf0, + 0xce, 0x83, 0xc3, 0xb8, 0x44, 0x9f, 0xa6, 0x7c, 0x5d, 0x46, 0x18, 0x56, + 0x86, 0xeb, 0xbd, 0x6d, 0xc1, 0xd9, 0x58, 0x56, +}; +static const unsigned char kat3770_entropyinpr2[] = { + 0x19, 0xda, 0x72, 0x04, 0x93, 0x7c, 0xc7, 0x4f, 0x4b, 0x1e, 0x70, 0xed, + 0x06, 0xf1, 0x9e, 0x9c, 0xe8, 0x66, 0xcd, 0x5d, 0xe3, 0x13, 0x12, 0xa4, + 0xf0, 0x95, 0xb7, 0xed, 0xa1, 0x5f, 0xb1, 0x9d, +}; +static const unsigned char kat3770_addinpr2[] = { + 0x38, 0xdd, 0xab, 0x18, 0xeb, 0x96, 0x0e, 0xb5, 0x57, 0x75, 0x09, 0x87, + 0x9e, 0xe7, 0x5a, 0x24, 0x66, 0x8f, 0x04, 0xdb, 0x74, 0x63, 0x1e, 0x40, + 0x7a, 0xd7, 0x44, 0xdb, 0x98, 0x9d, 0x4f, 0x52, +}; +static const unsigned char kat3770_retbits[] = { + 0x07, 0xfa, 0x35, 0x10, 0x26, 0x12, 0x68, 0xd9, 0x44, 0x0d, 0x83, 0x26, + 0x28, 0x78, 0xdb, 0x37, 0xf8, 0xe5, 0x4e, 0x79, 0xb7, 0x74, 0x51, 0xe1, + 0x6e, 0xf5, 0x1a, 0x3e, 0x9a, 0x13, 0x4d, 0x51, 0x0a, 0x36, 0x07, 0x03, + 0x0c, 0x73, 0x18, 0xc8, 0x8f, 0xfd, 0x34, 0x21, 0x20, 0xde, 0xbf, 0xa7, + 0x16, 0xee, 0x9d, 0xfd, 0x07, 0xc1, 0x8e, 0x59, 0x3d, 0x5f, 0xc7, 0xcd, + 0x68, 0xbd, 0x47, 0x85, +}; +static const struct drbg_kat_pr_true kat3770_t = { + 4, kat3770_entropyin, kat3770_nonce, kat3770_persstr, + kat3770_entropyinpr1, kat3770_addinpr1, kat3770_entropyinpr2, + kat3770_addinpr2, kat3770_retbits +}; +static const struct drbg_kat kat3770 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3770_t +}; + +static const unsigned char kat3771_entropyin[] = { + 0x36, 0x25, 0xc0, 0xe3, 0x1b, 0x4d, 0xa7, 0xa3, 0xa4, 0x6d, 0x1e, 0x4b, + 0xd3, 0x87, 0x1f, 0x65, 0x03, 0xb2, 0x3c, 0x0b, 0xac, 0xf1, 0x92, 0x02, + 0xc8, 0x48, 0x39, 0xdc, 0x75, 0xb0, 0x2d, 0xa8, +}; +static const unsigned char kat3771_nonce[] = {0}; +static const unsigned char kat3771_persstr[] = { + 0x58, 0xa8, 0x3c, 0xc2, 0xc7, 0x2c, 0x15, 0x66, 0x0e, 0x59, 0xff, 0x13, + 0xe9, 0x32, 0xeb, 0x92, 0xe8, 0x55, 0xed, 0x63, 0x11, 0x8d, 0xe1, 0xf4, + 0xec, 0x1e, 0xff, 0x85, 0x50, 0xd4, 0x2d, 0xea, +}; +static const unsigned char kat3771_entropyinpr1[] = { + 0xe6, 0x5f, 0x53, 0xcc, 0x6a, 0x5d, 0x0d, 0x63, 0x9e, 0x0a, 0x3a, 0x72, + 0xf8, 0x7e, 0x0c, 0x9e, 0x9a, 0xd8, 0xa1, 0xc5, 0x1e, 0x8d, 0xf8, 0x2c, + 0x73, 0x9a, 0xfb, 0x24, 0x3b, 0xd1, 0x55, 0xd2, +}; +static const unsigned char kat3771_addinpr1[] = { + 0x41, 0x16, 0xc8, 0x66, 0x9d, 0x9d, 0x84, 0x62, 0x99, 0x07, 0x54, 0x29, + 0x9f, 0xd2, 0x82, 0xdb, 0x6e, 0xc7, 0x7d, 0x95, 0x67, 0x13, 0x50, 0xcf, + 0x3a, 0xb3, 0xac, 0xee, 0xeb, 0x46, 0xb7, 0x94, +}; +static const unsigned char kat3771_entropyinpr2[] = { + 0x79, 0x38, 0x90, 0x23, 0x56, 0x6a, 0xd6, 0x0f, 0x80, 0x86, 0xe7, 0xfb, + 0x6b, 0x4c, 0x24, 0x75, 0x77, 0x05, 0xc4, 0xa6, 0x52, 0x6d, 0x80, 0x42, + 0xd3, 0x89, 0x9a, 0x65, 0x63, 0x60, 0x2a, 0x8e, +}; +static const unsigned char kat3771_addinpr2[] = { + 0xd6, 0xb8, 0xd5, 0xdb, 0x3b, 0x72, 0x8c, 0x0b, 0x2b, 0xb5, 0xb7, 0x6a, + 0x49, 0x6d, 0x50, 0xad, 0xf3, 0xac, 0xd9, 0xa6, 0xfb, 0x25, 0xe8, 0x5b, + 0x5f, 0x47, 0xbe, 0xfc, 0x22, 0x53, 0xf7, 0x5c, +}; +static const unsigned char kat3771_retbits[] = { + 0xfb, 0xde, 0xa1, 0xd6, 0x61, 0xa9, 0x6d, 0xe7, 0xc8, 0x61, 0xf8, 0x77, + 0xfd, 0x00, 0x8a, 0x38, 0x40, 0xef, 0xd3, 0xef, 0x47, 0x74, 0xdd, 0x9c, + 0xa0, 0x9d, 0xd1, 0x89, 0x74, 0xb9, 0x05, 0x09, 0xdb, 0xd6, 0xb3, 0x88, + 0xc5, 0x97, 0x5b, 0xde, 0xad, 0x20, 0xc9, 0x38, 0xfd, 0x21, 0x31, 0xf5, + 0x30, 0xb5, 0xa4, 0x16, 0xbd, 0x6c, 0x01, 0x4c, 0x9f, 0xf5, 0x19, 0xdb, + 0xfd, 0x38, 0x25, 0x4d, +}; +static const struct drbg_kat_pr_true kat3771_t = { + 5, kat3771_entropyin, kat3771_nonce, kat3771_persstr, + kat3771_entropyinpr1, kat3771_addinpr1, kat3771_entropyinpr2, + kat3771_addinpr2, kat3771_retbits +}; +static const struct drbg_kat kat3771 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3771_t +}; + +static const unsigned char kat3772_entropyin[] = { + 0x30, 0x80, 0x0d, 0x7c, 0xa1, 0x7a, 0x45, 0xe8, 0x2b, 0x83, 0x07, 0x27, + 0x9a, 0x99, 0x1c, 0xaf, 0x9f, 0xa9, 0x7d, 0xe6, 0xe0, 0x3a, 0x45, 0x47, + 0xbc, 0x27, 0x28, 0xe1, 0x96, 0xa6, 0x79, 0x8e, +}; +static const unsigned char kat3772_nonce[] = {0}; +static const unsigned char kat3772_persstr[] = { + 0x91, 0xb2, 0x95, 0x59, 0x8f, 0xe6, 0xd4, 0x7c, 0xd6, 0x20, 0x9c, 0xf8, + 0xd9, 0x71, 0xee, 0x57, 0x41, 0x7a, 0x50, 0xc7, 0x41, 0x70, 0x07, 0x40, + 0x8a, 0x65, 0x98, 0xdb, 0x27, 0x77, 0xb1, 0x3a, +}; +static const unsigned char kat3772_entropyinpr1[] = { + 0x96, 0x20, 0xfd, 0x1e, 0x59, 0x11, 0x0a, 0x92, 0xf3, 0x2b, 0xb9, 0x04, + 0xe3, 0xea, 0xbd, 0xd1, 0x6c, 0x98, 0x67, 0x1e, 0x37, 0xa4, 0x45, 0xd6, + 0xca, 0x21, 0xd1, 0xef, 0x3a, 0x8c, 0x44, 0xd5, +}; +static const unsigned char kat3772_addinpr1[] = { + 0x92, 0xfb, 0x70, 0x02, 0xe3, 0x25, 0xa0, 0x0a, 0x73, 0xa2, 0x50, 0x4b, + 0x68, 0xc1, 0x20, 0xa5, 0x12, 0x65, 0x71, 0xf9, 0xd9, 0xf7, 0xf2, 0x33, + 0x7c, 0xa7, 0xb7, 0xaa, 0x6a, 0xf6, 0xc7, 0x10, +}; +static const unsigned char kat3772_entropyinpr2[] = { + 0x79, 0x9f, 0xb4, 0xbe, 0xc7, 0xe3, 0xfb, 0x89, 0x2f, 0x29, 0x41, 0x95, + 0xfa, 0x05, 0xe6, 0x0c, 0xa1, 0x1a, 0x09, 0xce, 0x2e, 0x41, 0xd7, 0x47, + 0x9f, 0x4c, 0x97, 0xea, 0x8b, 0x4f, 0x1f, 0xfd, +}; +static const unsigned char kat3772_addinpr2[] = { + 0x97, 0xee, 0x81, 0xb5, 0xd7, 0x94, 0x71, 0xfa, 0xf1, 0x0c, 0x74, 0x04, + 0x73, 0x70, 0x2d, 0x74, 0xa6, 0xab, 0xf2, 0x29, 0x0a, 0x88, 0x97, 0xbe, + 0x7f, 0x6d, 0x56, 0x23, 0x6f, 0xc8, 0x6f, 0x56, +}; +static const unsigned char kat3772_retbits[] = { + 0x34, 0x51, 0x7c, 0xf4, 0xcd, 0xe2, 0x75, 0xe3, 0x3f, 0xad, 0x5f, 0x0c, + 0x13, 0xe1, 0x94, 0x57, 0xa1, 0x27, 0xc3, 0x6f, 0xf4, 0xdf, 0x90, 0x96, + 0xfb, 0xbc, 0x68, 0xa4, 0x5b, 0x8a, 0xb4, 0x32, 0xa9, 0x3e, 0xbb, 0x4f, + 0x98, 0xcf, 0xbe, 0x5e, 0xeb, 0x34, 0x4c, 0xe3, 0xf6, 0x31, 0xed, 0x46, + 0x6b, 0x5a, 0x48, 0x85, 0xb7, 0xf3, 0xbe, 0x02, 0xd2, 0xda, 0xd9, 0x45, + 0x09, 0x7e, 0x5f, 0x84, +}; +static const struct drbg_kat_pr_true kat3772_t = { + 6, kat3772_entropyin, kat3772_nonce, kat3772_persstr, + kat3772_entropyinpr1, kat3772_addinpr1, kat3772_entropyinpr2, + kat3772_addinpr2, kat3772_retbits +}; +static const struct drbg_kat kat3772 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3772_t +}; + +static const unsigned char kat3773_entropyin[] = { + 0x51, 0x67, 0xd2, 0xbc, 0x1d, 0x6e, 0x96, 0x1f, 0xfc, 0x0c, 0xd4, 0x37, + 0x03, 0x83, 0xe9, 0xf1, 0x9d, 0xd5, 0xca, 0xfd, 0xc9, 0x76, 0x6a, 0x8d, + 0xfa, 0x20, 0xef, 0x7d, 0xaf, 0x78, 0xdb, 0x05, +}; +static const unsigned char kat3773_nonce[] = {0}; +static const unsigned char kat3773_persstr[] = { + 0xf7, 0x88, 0x07, 0x9f, 0x78, 0x0a, 0xfb, 0x0d, 0xfd, 0x22, 0x88, 0x28, + 0x20, 0xa9, 0x7d, 0x83, 0x3c, 0x60, 0x0d, 0xf8, 0x6e, 0xdc, 0x31, 0xa0, + 0x40, 0xfd, 0x13, 0x75, 0x4a, 0xe3, 0x98, 0x1e, +}; +static const unsigned char kat3773_entropyinpr1[] = { + 0xf6, 0xed, 0xab, 0x02, 0x88, 0x17, 0xce, 0x8e, 0x37, 0x73, 0x4c, 0x20, + 0xfb, 0xdd, 0x5c, 0x2c, 0xab, 0xa6, 0xf9, 0xf3, 0xb6, 0x5a, 0xd6, 0x58, + 0xbb, 0x34, 0x97, 0x09, 0xe5, 0xa9, 0x59, 0xba, +}; +static const unsigned char kat3773_addinpr1[] = { + 0xb2, 0x53, 0xa2, 0xde, 0xfe, 0x03, 0xb7, 0x9f, 0xc8, 0x1a, 0x2c, 0xde, + 0xc5, 0xe6, 0xf0, 0xdf, 0x30, 0xd3, 0x61, 0xf1, 0x31, 0x11, 0xe4, 0x04, + 0x63, 0x0a, 0x27, 0xc7, 0xd2, 0x87, 0x76, 0xf7, +}; +static const unsigned char kat3773_entropyinpr2[] = { + 0xbd, 0xb4, 0x41, 0xbe, 0x3c, 0x41, 0x9f, 0x69, 0x6d, 0xd6, 0x97, 0x1f, + 0x4d, 0xf2, 0x63, 0x51, 0x4a, 0xa8, 0x63, 0x75, 0x7a, 0x81, 0x9f, 0xba, + 0xf2, 0x89, 0x45, 0x76, 0x8f, 0xe8, 0x8d, 0x20, +}; +static const unsigned char kat3773_addinpr2[] = { + 0xd8, 0xfa, 0x7b, 0xc7, 0x70, 0x63, 0x04, 0x96, 0xe3, 0xfd, 0x98, 0x29, + 0x41, 0x55, 0xb9, 0x7f, 0xfd, 0x4a, 0x38, 0x7f, 0x0d, 0xe6, 0x9d, 0xff, + 0x0f, 0x7e, 0x72, 0x50, 0x7c, 0x7b, 0x45, 0x46, +}; +static const unsigned char kat3773_retbits[] = { + 0xd7, 0x6b, 0x76, 0x3a, 0x20, 0x24, 0x9c, 0x39, 0x0b, 0x91, 0xce, 0x83, + 0x82, 0x47, 0x87, 0x82, 0x23, 0x07, 0xe1, 0xc8, 0xb7, 0x81, 0x3d, 0x8f, + 0xdf, 0x4d, 0xf8, 0xa7, 0x3c, 0xa4, 0x0c, 0xbb, 0xe7, 0x52, 0xbe, 0x73, + 0x21, 0xf8, 0x3e, 0xc1, 0xb1, 0xd4, 0x97, 0xf3, 0x09, 0x01, 0xd7, 0x38, + 0x36, 0x15, 0x29, 0x0c, 0xea, 0x94, 0x30, 0x29, 0xcf, 0xd1, 0x8a, 0x43, + 0x26, 0x8a, 0x3f, 0x87, +}; +static const struct drbg_kat_pr_true kat3773_t = { + 7, kat3773_entropyin, kat3773_nonce, kat3773_persstr, + kat3773_entropyinpr1, kat3773_addinpr1, kat3773_entropyinpr2, + kat3773_addinpr2, kat3773_retbits +}; +static const struct drbg_kat kat3773 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3773_t +}; + +static const unsigned char kat3774_entropyin[] = { + 0x6f, 0xf9, 0x15, 0xee, 0x3d, 0xb8, 0x66, 0x62, 0x8a, 0xed, 0x69, 0x1a, + 0xf9, 0xe3, 0x05, 0xca, 0xf0, 0x88, 0xb5, 0xe5, 0x54, 0xcf, 0x2b, 0xeb, + 0x1e, 0x56, 0x41, 0x69, 0x3f, 0x7c, 0xbc, 0x21, +}; +static const unsigned char kat3774_nonce[] = {0}; +static const unsigned char kat3774_persstr[] = { + 0x80, 0xcf, 0x68, 0xb0, 0x1d, 0xba, 0xb7, 0x98, 0x74, 0xf4, 0x5d, 0xce, + 0x79, 0x68, 0x1a, 0x28, 0x48, 0xbe, 0x47, 0x9e, 0xcd, 0xc7, 0x01, 0xd3, + 0x3c, 0x1c, 0x78, 0xc1, 0xef, 0x4c, 0xb9, 0xfe, +}; +static const unsigned char kat3774_entropyinpr1[] = { + 0xb3, 0x35, 0x8c, 0x4c, 0x5a, 0x68, 0x17, 0x80, 0x44, 0x79, 0xa2, 0x71, + 0xc7, 0x12, 0xc3, 0xea, 0xfc, 0x53, 0x74, 0xee, 0x2b, 0x63, 0xb2, 0x61, + 0xa0, 0xb0, 0x7b, 0xe1, 0xa9, 0xfb, 0x8a, 0x4a, +}; +static const unsigned char kat3774_addinpr1[] = { + 0x83, 0x62, 0x11, 0xab, 0x7b, 0x1a, 0x3c, 0x4d, 0x0a, 0x0d, 0xe4, 0xa9, + 0xf1, 0xed, 0x70, 0xb3, 0x04, 0x66, 0x87, 0xc7, 0xe8, 0xfb, 0x87, 0x91, + 0x9b, 0xb6, 0x82, 0x64, 0x7b, 0xaa, 0xf2, 0x75, +}; +static const unsigned char kat3774_entropyinpr2[] = { + 0xbd, 0xdc, 0xf3, 0xcf, 0xf1, 0x43, 0x0e, 0xfe, 0x51, 0x53, 0x42, 0xd5, + 0x6f, 0xb8, 0xd8, 0x08, 0xae, 0xa7, 0xed, 0xc6, 0x99, 0x87, 0x0e, 0xf2, + 0x8a, 0xdf, 0xa5, 0xfb, 0xce, 0x3d, 0x45, 0xfd, +}; +static const unsigned char kat3774_addinpr2[] = { + 0x49, 0x6a, 0xc3, 0xd6, 0x07, 0xcc, 0xcd, 0x79, 0x56, 0xfe, 0x9c, 0x76, + 0xef, 0x9d, 0x17, 0xbd, 0x9a, 0x74, 0xf8, 0x72, 0x77, 0xb1, 0xfc, 0x24, + 0x08, 0xca, 0xe2, 0xf3, 0x9a, 0x72, 0x8b, 0x5f, +}; +static const unsigned char kat3774_retbits[] = { + 0x23, 0x87, 0x50, 0xd4, 0x85, 0x45, 0xac, 0x5f, 0xae, 0xe0, 0x2b, 0x4d, + 0x80, 0xd6, 0x30, 0xc0, 0x4c, 0xa3, 0xd9, 0x26, 0x74, 0xa7, 0x87, 0x9b, + 0xda, 0xba, 0x72, 0x0b, 0x9a, 0x90, 0xd6, 0x43, 0xa9, 0x4e, 0x07, 0x10, + 0xa7, 0xfe, 0x43, 0x52, 0x7b, 0x75, 0x90, 0xac, 0x35, 0x6c, 0xa5, 0x5c, + 0x9a, 0x5f, 0x5f, 0xf5, 0x63, 0xb0, 0xd4, 0xb2, 0x6c, 0x3b, 0x2e, 0xb9, + 0x00, 0x40, 0x9e, 0x7e, +}; +static const struct drbg_kat_pr_true kat3774_t = { + 8, kat3774_entropyin, kat3774_nonce, kat3774_persstr, + kat3774_entropyinpr1, kat3774_addinpr1, kat3774_entropyinpr2, + kat3774_addinpr2, kat3774_retbits +}; +static const struct drbg_kat kat3774 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3774_t +}; + +static const unsigned char kat3775_entropyin[] = { + 0xb8, 0x66, 0xf2, 0x99, 0x6e, 0x94, 0x8d, 0xd1, 0xb0, 0x07, 0x71, 0x0d, + 0x17, 0xcd, 0x34, 0x5a, 0xe3, 0xaf, 0x32, 0x9f, 0x9e, 0x74, 0xab, 0x8c, + 0x34, 0xb0, 0x59, 0x24, 0x3d, 0x46, 0xe2, 0xbc, +}; +static const unsigned char kat3775_nonce[] = {0}; +static const unsigned char kat3775_persstr[] = { + 0xdf, 0xc9, 0xcc, 0xda, 0xb3, 0xcd, 0xdf, 0xc5, 0xa0, 0xca, 0x19, 0x83, + 0x41, 0x52, 0xc5, 0x78, 0x1d, 0x9f, 0x5c, 0xae, 0x0a, 0xa2, 0x2a, 0x2e, + 0x1f, 0x47, 0x34, 0x35, 0x9c, 0x4c, 0x4c, 0xa0, +}; +static const unsigned char kat3775_entropyinpr1[] = { + 0x6c, 0xb7, 0x7c, 0x32, 0xf9, 0x87, 0x3e, 0x05, 0xeb, 0xa0, 0x48, 0x1e, + 0xb5, 0xde, 0x38, 0x81, 0x51, 0x86, 0xb6, 0xb0, 0x00, 0x7c, 0x9c, 0x2b, + 0x62, 0x12, 0x94, 0xb8, 0x32, 0x2d, 0xab, 0x82, +}; +static const unsigned char kat3775_addinpr1[] = { + 0xfd, 0x0f, 0x72, 0x02, 0x7f, 0xd3, 0x8f, 0x69, 0x6d, 0x93, 0x0e, 0xee, + 0xe1, 0xdd, 0x7a, 0x16, 0xa4, 0xd8, 0x90, 0x88, 0x26, 0x7c, 0x86, 0xb8, + 0xd5, 0xe4, 0xf3, 0x04, 0xdf, 0xfe, 0x71, 0x68, +}; +static const unsigned char kat3775_entropyinpr2[] = { + 0x58, 0xbc, 0xe6, 0xa6, 0x86, 0xe7, 0xae, 0x5c, 0x98, 0x22, 0x4a, 0xe5, + 0x55, 0x2a, 0x5a, 0x63, 0x26, 0x1a, 0xa4, 0xed, 0xab, 0x98, 0x71, 0x3b, + 0x4a, 0xc7, 0x85, 0x2e, 0x21, 0x30, 0x32, 0x6a, +}; +static const unsigned char kat3775_addinpr2[] = { + 0x06, 0x80, 0x7f, 0xc4, 0x6b, 0x11, 0x01, 0x79, 0x7e, 0x09, 0x4a, 0xd6, + 0xab, 0x8a, 0xcf, 0x7b, 0x68, 0x88, 0x85, 0xd2, 0x5f, 0x42, 0xbd, 0xd5, + 0xef, 0xde, 0x2f, 0x79, 0xf1, 0x14, 0xcf, 0x81, +}; +static const unsigned char kat3775_retbits[] = { + 0x9d, 0xf0, 0x15, 0x5e, 0x02, 0x06, 0x45, 0x9d, 0x61, 0x70, 0xf9, 0xfc, + 0x9c, 0x55, 0x12, 0x0b, 0x4d, 0xfe, 0x10, 0x5e, 0xbc, 0xe4, 0x31, 0x15, + 0x15, 0x40, 0x7a, 0x90, 0xba, 0x32, 0xd3, 0x0b, 0x9c, 0x94, 0x29, 0x14, + 0x07, 0x01, 0xac, 0x8e, 0x35, 0x77, 0x82, 0x6c, 0xef, 0xcc, 0x62, 0x4b, + 0x2f, 0x9c, 0x94, 0xd6, 0xc5, 0x61, 0xe2, 0x35, 0x27, 0x0d, 0x8c, 0xac, + 0x36, 0xad, 0xeb, 0xd5, +}; +static const struct drbg_kat_pr_true kat3775_t = { + 9, kat3775_entropyin, kat3775_nonce, kat3775_persstr, + kat3775_entropyinpr1, kat3775_addinpr1, kat3775_entropyinpr2, + kat3775_addinpr2, kat3775_retbits +}; +static const struct drbg_kat kat3775 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3775_t +}; + +static const unsigned char kat3776_entropyin[] = { + 0xdc, 0x05, 0x49, 0x19, 0x18, 0x29, 0x0d, 0x01, 0x57, 0x97, 0xbf, 0xd0, + 0xff, 0x78, 0x61, 0x90, 0x71, 0x8e, 0x8d, 0x73, 0xbe, 0xc7, 0x83, 0xbd, + 0x3f, 0xd5, 0x0a, 0x7b, 0x21, 0xb5, 0x9d, 0xd5, +}; +static const unsigned char kat3776_nonce[] = {0}; +static const unsigned char kat3776_persstr[] = { + 0xda, 0xf2, 0x1b, 0x5f, 0x65, 0x19, 0x95, 0xce, 0xbf, 0x70, 0x0d, 0x45, + 0x3f, 0xbd, 0x80, 0x69, 0xc1, 0xee, 0x34, 0xa5, 0xdc, 0x40, 0x4a, 0xe4, + 0xf7, 0x75, 0x6d, 0x84, 0x04, 0xcc, 0x56, 0x78, +}; +static const unsigned char kat3776_entropyinpr1[] = { + 0x45, 0x21, 0xa5, 0xcd, 0x8d, 0x4f, 0xbd, 0xfa, 0xd4, 0x94, 0x1d, 0xce, + 0x55, 0x18, 0x4a, 0xb2, 0x10, 0x9d, 0xf1, 0xe5, 0x59, 0x28, 0x37, 0xf7, + 0x2b, 0xe4, 0x30, 0x9e, 0xf9, 0x35, 0x04, 0x1c, +}; +static const unsigned char kat3776_addinpr1[] = { + 0x0a, 0xd7, 0x65, 0x72, 0x0c, 0x58, 0xb4, 0xbe, 0x8d, 0x88, 0x46, 0x30, + 0x18, 0xd1, 0xc5, 0x31, 0x42, 0x65, 0x2d, 0x73, 0x94, 0x11, 0x0a, 0xeb, + 0x62, 0xf3, 0x86, 0xfd, 0x4e, 0xa4, 0xbb, 0x4f, +}; +static const unsigned char kat3776_entropyinpr2[] = { + 0x86, 0xb1, 0x99, 0x15, 0x69, 0xd1, 0xd0, 0x19, 0x05, 0xe7, 0xf8, 0x22, + 0xc6, 0x34, 0x8f, 0x64, 0xc3, 0xa4, 0x76, 0x23, 0x00, 0x29, 0x2e, 0x8e, + 0x6b, 0xb9, 0xa4, 0x0b, 0x43, 0xa5, 0xd3, 0x2f, +}; +static const unsigned char kat3776_addinpr2[] = { + 0xd1, 0x89, 0x08, 0xd8, 0x6d, 0xd5, 0x09, 0x75, 0xe8, 0x79, 0xf6, 0x13, + 0x17, 0xb0, 0x31, 0xb5, 0x6d, 0x2b, 0xba, 0x9d, 0xfc, 0x65, 0x2d, 0x59, + 0xb0, 0xcc, 0x60, 0x31, 0xfa, 0x4b, 0x12, 0x1c, +}; +static const unsigned char kat3776_retbits[] = { + 0x6e, 0x90, 0xac, 0x71, 0xeb, 0x0d, 0xa1, 0x0c, 0x76, 0xc8, 0x88, 0x77, + 0xbd, 0x18, 0x0b, 0x0e, 0x1c, 0x24, 0x81, 0x81, 0x3e, 0x67, 0xfb, 0xe8, + 0xad, 0x95, 0x5f, 0x75, 0xa9, 0x5f, 0xfd, 0x4f, 0x97, 0x96, 0xc7, 0xe2, + 0xb3, 0xf7, 0x6e, 0x20, 0x42, 0x3e, 0x30, 0xa0, 0x19, 0x23, 0x95, 0xc7, + 0x40, 0xf4, 0xd7, 0x14, 0x8b, 0xcb, 0xd8, 0xa5, 0xd1, 0xf9, 0xf4, 0xe6, + 0x6a, 0x51, 0x7b, 0x03, +}; +static const struct drbg_kat_pr_true kat3776_t = { + 10, kat3776_entropyin, kat3776_nonce, kat3776_persstr, + kat3776_entropyinpr1, kat3776_addinpr1, kat3776_entropyinpr2, + kat3776_addinpr2, kat3776_retbits +}; +static const struct drbg_kat kat3776 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3776_t +}; + +static const unsigned char kat3777_entropyin[] = { + 0x9c, 0x68, 0x7d, 0x67, 0xb9, 0x95, 0xf3, 0x36, 0x15, 0x69, 0x49, 0x33, + 0x8a, 0xa9, 0xb1, 0xe0, 0x1f, 0xdd, 0xb0, 0xfd, 0x5d, 0x07, 0x5c, 0xfc, + 0x2a, 0x6f, 0xba, 0x06, 0xf9, 0xc6, 0xf9, 0xc6, +}; +static const unsigned char kat3777_nonce[] = {0}; +static const unsigned char kat3777_persstr[] = { + 0xba, 0x8b, 0x6f, 0x0b, 0x19, 0xae, 0x8c, 0x14, 0x48, 0xdf, 0x3f, 0x14, + 0x3c, 0xbd, 0x67, 0xda, 0xb4, 0xde, 0xc0, 0x19, 0x85, 0x3f, 0xc3, 0xea, + 0xb7, 0x91, 0x1b, 0xc9, 0x30, 0x52, 0x1f, 0x37, +}; +static const unsigned char kat3777_entropyinpr1[] = { + 0x27, 0x91, 0xfa, 0x55, 0x26, 0x04, 0x5c, 0x3d, 0xc0, 0x1f, 0xc2, 0x0e, + 0x52, 0x69, 0x65, 0x66, 0xf8, 0x85, 0xd1, 0x8a, 0x9d, 0xf4, 0x41, 0x1c, + 0xee, 0xbd, 0x99, 0x84, 0xe9, 0xb0, 0xcd, 0x2b, +}; +static const unsigned char kat3777_addinpr1[] = { + 0x49, 0x5a, 0xec, 0x82, 0x0a, 0xa6, 0x6a, 0xc0, 0x81, 0x80, 0xc1, 0x25, + 0xcf, 0x81, 0xf3, 0x22, 0xbb, 0x00, 0xb4, 0x86, 0x16, 0x8f, 0xea, 0xb7, + 0x20, 0x59, 0xab, 0xff, 0x04, 0xa9, 0x73, 0x50, +}; +static const unsigned char kat3777_entropyinpr2[] = { + 0x66, 0x1f, 0xd9, 0x25, 0x76, 0x10, 0xf1, 0xc4, 0xfe, 0x96, 0x1e, 0x2c, + 0x3a, 0xca, 0xb0, 0x17, 0x39, 0x58, 0x67, 0x94, 0x32, 0xdd, 0xbf, 0xf8, + 0x61, 0xc4, 0x81, 0x60, 0xaa, 0x0a, 0x5d, 0x4e, +}; +static const unsigned char kat3777_addinpr2[] = { + 0x20, 0xa8, 0x07, 0x8f, 0x69, 0x29, 0x35, 0x38, 0xe8, 0x1a, 0x6b, 0xfd, + 0x24, 0xbd, 0x20, 0x0b, 0xe3, 0x47, 0x4d, 0x04, 0x25, 0x2c, 0xe5, 0x36, + 0x51, 0x99, 0x9e, 0x11, 0xce, 0x06, 0xdd, 0xc3, +}; +static const unsigned char kat3777_retbits[] = { + 0xb9, 0xf3, 0x92, 0xa5, 0xb3, 0x36, 0xdd, 0xf0, 0xbb, 0x55, 0x6c, 0x86, + 0xaf, 0xa4, 0x0a, 0x2d, 0x9c, 0xaf, 0x99, 0x19, 0x27, 0x40, 0x33, 0x30, + 0xfc, 0x62, 0x2b, 0xf0, 0x21, 0x54, 0x7e, 0x22, 0xca, 0x42, 0xee, 0x9c, + 0x6a, 0x84, 0x23, 0x27, 0x8c, 0x0f, 0x89, 0xcf, 0xc2, 0x00, 0x01, 0x25, + 0xee, 0x5d, 0x7b, 0x8b, 0x0e, 0x89, 0x50, 0x70, 0xa2, 0xcf, 0x68, 0x59, + 0x40, 0xe4, 0xc2, 0x10, +}; +static const struct drbg_kat_pr_true kat3777_t = { + 11, kat3777_entropyin, kat3777_nonce, kat3777_persstr, + kat3777_entropyinpr1, kat3777_addinpr1, kat3777_entropyinpr2, + kat3777_addinpr2, kat3777_retbits +}; +static const struct drbg_kat kat3777 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3777_t +}; + +static const unsigned char kat3778_entropyin[] = { + 0x58, 0x3c, 0xe2, 0x14, 0xee, 0x4b, 0xa0, 0x11, 0x70, 0x1b, 0xb0, 0xf8, + 0xf5, 0x56, 0xda, 0x0f, 0x95, 0x2f, 0x4a, 0x85, 0x5d, 0x3e, 0xbe, 0x18, + 0x82, 0xca, 0xc3, 0x30, 0x81, 0x81, 0x87, 0x83, +}; +static const unsigned char kat3778_nonce[] = {0}; +static const unsigned char kat3778_persstr[] = { + 0xd4, 0x2e, 0x1f, 0x3d, 0x1e, 0xae, 0x3c, 0x1f, 0x9a, 0xa0, 0xc7, 0x92, + 0x34, 0xa9, 0xc8, 0x6e, 0xe1, 0x60, 0xf6, 0xc3, 0x4e, 0x0d, 0x9c, 0xd8, + 0xc5, 0xb9, 0xf0, 0x73, 0x99, 0x2e, 0xc0, 0x77, +}; +static const unsigned char kat3778_entropyinpr1[] = { + 0x63, 0x4f, 0x25, 0x2d, 0x8c, 0xfb, 0xa4, 0xe0, 0x1c, 0x94, 0x75, 0x16, + 0x48, 0xc7, 0xf8, 0xe0, 0x42, 0x42, 0xe4, 0xd5, 0x86, 0x48, 0xbb, 0xb1, + 0x39, 0xf2, 0x7d, 0x7a, 0x76, 0x10, 0x30, 0xd5, +}; +static const unsigned char kat3778_addinpr1[] = { + 0x7f, 0x79, 0x87, 0xdc, 0x42, 0x45, 0x33, 0x7d, 0x6e, 0xec, 0x6e, 0x63, + 0x40, 0x90, 0x99, 0x1b, 0xdd, 0xe8, 0xf3, 0x6d, 0x54, 0x88, 0xf1, 0x1e, + 0xb0, 0x2a, 0xbf, 0xcb, 0x00, 0xb0, 0x57, 0x8b, +}; +static const unsigned char kat3778_entropyinpr2[] = { + 0x19, 0xdc, 0x7c, 0x54, 0x14, 0xde, 0xdc, 0x2d, 0x71, 0x7e, 0xc7, 0x44, + 0xaa, 0x12, 0x91, 0xc6, 0xaa, 0x8a, 0x2b, 0xd3, 0x4b, 0x4f, 0x40, 0x63, + 0xb1, 0x49, 0x21, 0xbb, 0x9a, 0x68, 0x45, 0x96, +}; +static const unsigned char kat3778_addinpr2[] = { + 0xb9, 0xa1, 0x52, 0x49, 0xcb, 0xe9, 0x5e, 0x06, 0x89, 0x53, 0xe7, 0xb7, + 0x01, 0x04, 0xf0, 0x35, 0x93, 0x87, 0x77, 0xa0, 0x7f, 0xd2, 0x18, 0x39, + 0x12, 0x16, 0x93, 0x29, 0xc4, 0x16, 0x1e, 0xea, +}; +static const unsigned char kat3778_retbits[] = { + 0xdc, 0xe9, 0x6a, 0x75, 0xd5, 0xed, 0x65, 0xad, 0x34, 0x23, 0x93, 0xb8, + 0x73, 0x86, 0x63, 0xf3, 0x44, 0x59, 0x8d, 0x59, 0x69, 0xd8, 0xf7, 0x8f, + 0x48, 0x02, 0xcc, 0x26, 0x7d, 0x1b, 0xc0, 0x00, 0x67, 0xb8, 0x6f, 0xb2, + 0x9f, 0xaa, 0x29, 0x90, 0x68, 0x33, 0x3a, 0x16, 0xce, 0xcb, 0x57, 0xa4, + 0x3e, 0xf6, 0x63, 0x1d, 0x5c, 0xa6, 0x24, 0xf0, 0x57, 0x97, 0x0e, 0x58, + 0x40, 0xeb, 0x1f, 0x44, +}; +static const struct drbg_kat_pr_true kat3778_t = { + 12, kat3778_entropyin, kat3778_nonce, kat3778_persstr, + kat3778_entropyinpr1, kat3778_addinpr1, kat3778_entropyinpr2, + kat3778_addinpr2, kat3778_retbits +}; +static const struct drbg_kat kat3778 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3778_t +}; + +static const unsigned char kat3779_entropyin[] = { + 0x22, 0xcb, 0xd0, 0xc8, 0x99, 0x1a, 0x1f, 0xbf, 0x5e, 0x28, 0x76, 0xf5, + 0x1c, 0x83, 0x5e, 0x7b, 0x52, 0x22, 0xd4, 0xde, 0x29, 0xb4, 0x74, 0x41, + 0x4a, 0x1b, 0x67, 0x5e, 0xaa, 0xe0, 0x7a, 0x37, +}; +static const unsigned char kat3779_nonce[] = {0}; +static const unsigned char kat3779_persstr[] = { + 0x2c, 0xd5, 0xf1, 0xb2, 0x68, 0xe3, 0x6b, 0x99, 0x41, 0x3d, 0x01, 0xee, + 0xaf, 0x5b, 0x48, 0xf2, 0x08, 0x47, 0x3e, 0xc9, 0x97, 0x5f, 0xc0, 0x09, + 0x89, 0x28, 0x36, 0x89, 0xa3, 0xa9, 0xda, 0x8d, +}; +static const unsigned char kat3779_entropyinpr1[] = { + 0xea, 0x71, 0x10, 0x74, 0x2c, 0x7d, 0xc5, 0x29, 0x1e, 0x17, 0xa9, 0xf0, + 0xdc, 0x5a, 0x04, 0x02, 0x84, 0x8d, 0xfa, 0x42, 0x48, 0x82, 0x23, 0x69, + 0x31, 0x30, 0x88, 0xb7, 0xf9, 0x2f, 0x60, 0x93, +}; +static const unsigned char kat3779_addinpr1[] = { + 0x9e, 0x27, 0x30, 0x7e, 0x22, 0xbe, 0x64, 0x49, 0x27, 0x9a, 0xc8, 0xfb, + 0xa4, 0xfb, 0x91, 0xb9, 0xf8, 0x77, 0x71, 0x4d, 0x59, 0x20, 0x01, 0xc9, + 0x82, 0x3e, 0xc3, 0xd4, 0x3c, 0x94, 0x99, 0xe7, +}; +static const unsigned char kat3779_entropyinpr2[] = { + 0x57, 0xe3, 0x79, 0x8a, 0xe9, 0x74, 0x02, 0x4c, 0xd6, 0x01, 0xb1, 0xe4, + 0x78, 0xdc, 0xfe, 0x24, 0xb0, 0xac, 0xb5, 0x85, 0x1e, 0x9e, 0xc9, 0x51, + 0x8a, 0x60, 0xf9, 0x30, 0xa6, 0x5c, 0xf4, 0xef, +}; +static const unsigned char kat3779_addinpr2[] = { + 0x39, 0xa3, 0xa1, 0x9f, 0x9c, 0xf1, 0x76, 0x64, 0x13, 0x63, 0x0f, 0x5d, + 0x14, 0x3a, 0x1d, 0x6c, 0x4b, 0x0e, 0x7d, 0xaa, 0xdb, 0xfa, 0x60, 0xcb, + 0x23, 0x65, 0xc7, 0x43, 0x1f, 0xd7, 0xc8, 0xd2, +}; +static const unsigned char kat3779_retbits[] = { + 0x19, 0x69, 0x08, 0x14, 0xe0, 0x9f, 0x6c, 0xd1, 0x2f, 0xc2, 0x10, 0x3a, + 0x1c, 0xe6, 0xb3, 0x53, 0x9d, 0xd3, 0xbe, 0x92, 0x0b, 0xe9, 0x42, 0xed, + 0xfa, 0x70, 0x3e, 0xf2, 0xa2, 0x05, 0xb3, 0xe6, 0x98, 0x20, 0x75, 0x57, + 0x89, 0xcd, 0x98, 0x93, 0xdf, 0x9f, 0x2a, 0xf1, 0x8f, 0x16, 0x4c, 0xeb, + 0xf4, 0x24, 0x9c, 0xb5, 0x83, 0x0c, 0x3d, 0x1b, 0x66, 0x27, 0xf9, 0xdf, + 0x14, 0x30, 0xdf, 0x8c, +}; +static const struct drbg_kat_pr_true kat3779_t = { + 13, kat3779_entropyin, kat3779_nonce, kat3779_persstr, + kat3779_entropyinpr1, kat3779_addinpr1, kat3779_entropyinpr2, + kat3779_addinpr2, kat3779_retbits +}; +static const struct drbg_kat kat3779 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3779_t +}; + +static const unsigned char kat3780_entropyin[] = { + 0x31, 0x53, 0xc1, 0x04, 0xbb, 0x02, 0xd1, 0x5c, 0x49, 0xc4, 0x38, 0x78, + 0x78, 0x38, 0xaf, 0x42, 0x11, 0xa5, 0xa6, 0x83, 0xb9, 0x09, 0x93, 0xf1, + 0xa3, 0x96, 0x9f, 0xec, 0x80, 0x69, 0xcc, 0x25, +}; +static const unsigned char kat3780_nonce[] = {0}; +static const unsigned char kat3780_persstr[] = { + 0x8c, 0x90, 0x54, 0x4a, 0x34, 0x43, 0x5c, 0x27, 0x35, 0x76, 0x0d, 0x8f, + 0x55, 0xe6, 0x43, 0x51, 0x9b, 0x70, 0x3f, 0x04, 0xae, 0x11, 0x72, 0x0d, + 0x63, 0xcc, 0x73, 0xf6, 0xd4, 0xe6, 0x3b, 0x58, +}; +static const unsigned char kat3780_entropyinpr1[] = { + 0x68, 0x05, 0xeb, 0xcb, 0x82, 0xb1, 0x18, 0xc9, 0x8e, 0xf7, 0x3f, 0x0d, + 0x98, 0x67, 0xa7, 0x1f, 0xef, 0x1a, 0xe4, 0x35, 0xf1, 0x96, 0xd2, 0x3b, + 0xd3, 0xac, 0xfb, 0xfc, 0x88, 0x84, 0x9f, 0x40, +}; +static const unsigned char kat3780_addinpr1[] = { + 0x4a, 0x4b, 0x1e, 0x9e, 0x90, 0x99, 0x8c, 0xde, 0x32, 0x03, 0x5a, 0xd2, + 0xce, 0x01, 0xc2, 0x77, 0x22, 0xfb, 0xe4, 0x04, 0xff, 0x5c, 0x6b, 0x8e, + 0xb3, 0xae, 0x8e, 0x76, 0x29, 0xa8, 0x32, 0xe8, +}; +static const unsigned char kat3780_entropyinpr2[] = { + 0x09, 0xd8, 0xb1, 0x63, 0x46, 0xfb, 0xf2, 0x0c, 0xa0, 0x73, 0x68, 0x8a, + 0xb3, 0xe9, 0x17, 0x60, 0x26, 0x86, 0xe0, 0x7d, 0xff, 0x33, 0x81, 0x42, + 0x84, 0x14, 0x10, 0x06, 0x8e, 0x64, 0x02, 0x96, +}; +static const unsigned char kat3780_addinpr2[] = { + 0x34, 0xe5, 0x17, 0xff, 0x4f, 0x40, 0xe3, 0xc0, 0xc6, 0x99, 0x71, 0x01, + 0x34, 0xcd, 0xee, 0xd0, 0x29, 0xba, 0xea, 0x8e, 0x14, 0x2d, 0xb0, 0xba, + 0xc9, 0xc5, 0xab, 0xa6, 0xa0, 0xca, 0xa5, 0xf4, +}; +static const unsigned char kat3780_retbits[] = { + 0xc1, 0xd0, 0x09, 0x53, 0x76, 0xac, 0x84, 0x69, 0x21, 0xd2, 0xbb, 0xa5, + 0xf4, 0xd5, 0x0d, 0x23, 0x18, 0x51, 0x31, 0x17, 0x92, 0xc6, 0x6d, 0x12, + 0x5d, 0x57, 0x01, 0xd6, 0xcc, 0x46, 0x6e, 0x18, 0x1c, 0x89, 0x3d, 0xfc, + 0x99, 0x99, 0xc2, 0x10, 0x63, 0xf6, 0x9f, 0x0c, 0xdb, 0x98, 0x50, 0xc3, + 0xa3, 0x47, 0x55, 0x92, 0x6c, 0x67, 0xe3, 0xaf, 0x75, 0xe8, 0x01, 0xe7, + 0xc2, 0x1f, 0x3d, 0xa9, +}; +static const struct drbg_kat_pr_true kat3780_t = { + 14, kat3780_entropyin, kat3780_nonce, kat3780_persstr, + kat3780_entropyinpr1, kat3780_addinpr1, kat3780_entropyinpr2, + kat3780_addinpr2, kat3780_retbits +}; +static const struct drbg_kat kat3780 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3780_t +}; + +static const unsigned char kat3781_entropyin[] = { + 0x0e, 0x43, 0x8b, 0x67, 0x0b, 0x4d, 0x80, 0x3c, 0xb7, 0xf9, 0xea, 0x4c, + 0xe7, 0x5c, 0x22, 0x3a, 0xa4, 0x9e, 0xf1, 0xad, 0xff, 0x45, 0x49, 0xdb, + 0xaf, 0xff, 0x52, 0x50, 0x3a, 0x54, 0x79, 0xde, +}; +static const unsigned char kat3781_nonce[] = {0}; +static const unsigned char kat3781_persstr[] = {0}; +static const unsigned char kat3781_entropyinpr1[] = { + 0x5a, 0x04, 0xf7, 0xb4, 0x95, 0xdd, 0x0d, 0x74, 0x4e, 0xc1, 0x44, 0x3e, + 0x2f, 0x6e, 0x1b, 0xc2, 0x0e, 0xb4, 0x57, 0x3d, 0xe1, 0x12, 0xa5, 0x34, + 0x1c, 0x13, 0xc5, 0x12, 0xc5, 0xc6, 0x19, 0xe8, +}; +static const unsigned char kat3781_addinpr1[] = {0}; +static const unsigned char kat3781_entropyinpr2[] = { + 0x15, 0xd4, 0x94, 0x35, 0xdb, 0x69, 0x54, 0xe8, 0x06, 0x47, 0x6c, 0x7d, + 0x2e, 0xa4, 0xc5, 0xff, 0xf4, 0xa1, 0xd5, 0x83, 0x4f, 0x5c, 0xbf, 0x7b, + 0xd6, 0x16, 0xdd, 0xc7, 0x90, 0xaf, 0xe4, 0x09, +}; +static const unsigned char kat3781_addinpr2[] = {0}; +static const unsigned char kat3781_retbits[] = { + 0x0a, 0xe8, 0x21, 0x83, 0x79, 0x52, 0x08, 0x83, 0x32, 0xc7, 0xc9, 0xa9, + 0xc9, 0xb9, 0xa9, 0x1c, 0xf7, 0xa2, 0xbf, 0xae, 0xe6, 0x64, 0x4d, 0xde, + 0x20, 0xf9, 0x19, 0x66, 0x9f, 0x97, 0xd2, 0xf1, 0x4d, 0x16, 0xff, 0x25, + 0xbe, 0xe5, 0x06, 0x2e, 0x6d, 0xb9, 0x14, 0x72, 0x52, 0x92, 0xb1, 0x47, + 0xca, 0xb0, 0xfb, 0xc1, 0xfa, 0x20, 0x25, 0x07, 0xf8, 0x82, 0xa9, 0x1b, + 0x69, 0x58, 0xba, 0xfd, +}; +static const struct drbg_kat_pr_true kat3781_t = { + 0, kat3781_entropyin, kat3781_nonce, kat3781_persstr, + kat3781_entropyinpr1, kat3781_addinpr1, kat3781_entropyinpr2, + kat3781_addinpr2, kat3781_retbits +}; +static const struct drbg_kat kat3781 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3781_t +}; + +static const unsigned char kat3782_entropyin[] = { + 0xd1, 0xaf, 0x89, 0x7a, 0x3f, 0x0d, 0xb9, 0xee, 0xc2, 0x19, 0x1d, 0xdf, + 0x52, 0xb9, 0x43, 0x10, 0xbb, 0xb0, 0x0a, 0x1c, 0xf2, 0x5b, 0xb7, 0xcd, + 0xd2, 0xc2, 0xe2, 0xc5, 0x3d, 0x67, 0x98, 0x66, +}; +static const unsigned char kat3782_nonce[] = {0}; +static const unsigned char kat3782_persstr[] = {0}; +static const unsigned char kat3782_entropyinpr1[] = { + 0x61, 0x42, 0x0c, 0x5e, 0x63, 0x72, 0xa1, 0x26, 0x50, 0xf2, 0x91, 0x4f, + 0xec, 0x5b, 0xb7, 0x0b, 0x9f, 0xf5, 0x30, 0x98, 0xa9, 0x98, 0xd5, 0xd4, + 0x83, 0xa5, 0xa4, 0x1a, 0x17, 0x43, 0x95, 0x9d, +}; +static const unsigned char kat3782_addinpr1[] = {0}; +static const unsigned char kat3782_entropyinpr2[] = { + 0x0e, 0x02, 0xb6, 0xb4, 0x6b, 0xa4, 0x3b, 0x77, 0x8d, 0xe2, 0x09, 0x20, + 0xc5, 0x55, 0xc2, 0xcb, 0x52, 0xeb, 0x16, 0xbe, 0x3a, 0xb2, 0x2e, 0xa4, + 0xee, 0x6f, 0x42, 0xae, 0x20, 0x11, 0xad, 0xb4, +}; +static const unsigned char kat3782_addinpr2[] = {0}; +static const unsigned char kat3782_retbits[] = { + 0x15, 0x03, 0x79, 0x7e, 0xfd, 0xc2, 0x46, 0xe3, 0x33, 0x87, 0x70, 0x9e, + 0x9b, 0xce, 0x77, 0x1a, 0xa9, 0xa3, 0x9a, 0xba, 0xdf, 0xd2, 0xb2, 0x9f, + 0xb6, 0xee, 0x6b, 0xf2, 0xb0, 0xeb, 0x7a, 0xed, 0x1c, 0xfb, 0xfb, 0x93, + 0x32, 0x6e, 0xbe, 0xcd, 0x43, 0x00, 0xe7, 0x16, 0x98, 0xda, 0x82, 0x75, + 0x6b, 0x9e, 0x12, 0x30, 0x24, 0x3f, 0x81, 0xce, 0xda, 0xc6, 0xd2, 0xb4, + 0x85, 0x07, 0x17, 0xb3, +}; +static const struct drbg_kat_pr_true kat3782_t = { + 1, kat3782_entropyin, kat3782_nonce, kat3782_persstr, + kat3782_entropyinpr1, kat3782_addinpr1, kat3782_entropyinpr2, + kat3782_addinpr2, kat3782_retbits +}; +static const struct drbg_kat kat3782 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3782_t +}; + +static const unsigned char kat3783_entropyin[] = { + 0x46, 0x51, 0x68, 0xf3, 0x18, 0x97, 0xcc, 0xe4, 0x08, 0x21, 0x0d, 0xab, + 0x00, 0x31, 0x4a, 0x76, 0x9e, 0xc5, 0xf3, 0x23, 0x0c, 0x8c, 0xf6, 0x8b, + 0x80, 0xa0, 0x48, 0x33, 0x45, 0xfe, 0x4a, 0xdd, +}; +static const unsigned char kat3783_nonce[] = {0}; +static const unsigned char kat3783_persstr[] = {0}; +static const unsigned char kat3783_entropyinpr1[] = { + 0x6a, 0xb8, 0x2b, 0x88, 0x4b, 0x5b, 0x88, 0x88, 0xbe, 0xf8, 0xec, 0x38, + 0x11, 0x84, 0x4c, 0x2e, 0x14, 0xa5, 0xc7, 0x1d, 0xac, 0xae, 0x63, 0xf4, + 0x77, 0xf5, 0xc7, 0xac, 0xee, 0x64, 0xf9, 0x9b, +}; +static const unsigned char kat3783_addinpr1[] = {0}; +static const unsigned char kat3783_entropyinpr2[] = { + 0x76, 0x19, 0x33, 0x06, 0x5a, 0x97, 0xb0, 0x50, 0x23, 0xce, 0xb1, 0x81, + 0xd0, 0xc7, 0x2a, 0x14, 0xf3, 0x47, 0xd4, 0x19, 0x6a, 0x37, 0x74, 0x4c, + 0xeb, 0xab, 0xe3, 0x0f, 0x42, 0xcd, 0xaa, 0x7f, +}; +static const unsigned char kat3783_addinpr2[] = {0}; +static const unsigned char kat3783_retbits[] = { + 0x1e, 0x8f, 0x3c, 0x68, 0xac, 0x09, 0x2f, 0x1e, 0x69, 0x97, 0xb1, 0x3f, + 0x4a, 0x9c, 0x97, 0x1c, 0x27, 0xb8, 0x57, 0xa0, 0x7b, 0xf2, 0xc4, 0x1a, + 0x1e, 0x90, 0x1b, 0xf0, 0xe9, 0xe7, 0xd5, 0x61, 0xbd, 0xc9, 0x69, 0x04, + 0xf5, 0xf0, 0x0e, 0x66, 0x7f, 0xde, 0x20, 0x49, 0x34, 0xb8, 0x88, 0xc7, + 0x10, 0x9a, 0xeb, 0x97, 0x56, 0x2f, 0x25, 0xcf, 0xf6, 0x8d, 0x52, 0x9b, + 0x0a, 0x8e, 0x48, 0x52, +}; +static const struct drbg_kat_pr_true kat3783_t = { + 2, kat3783_entropyin, kat3783_nonce, kat3783_persstr, + kat3783_entropyinpr1, kat3783_addinpr1, kat3783_entropyinpr2, + kat3783_addinpr2, kat3783_retbits +}; +static const struct drbg_kat kat3783 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3783_t +}; + +static const unsigned char kat3784_entropyin[] = { + 0x40, 0x9f, 0x5d, 0x9b, 0x56, 0x14, 0xbc, 0x92, 0x21, 0xbb, 0x41, 0xd0, + 0x3c, 0x7e, 0x34, 0xc0, 0xfc, 0xd3, 0x1b, 0x86, 0x97, 0x99, 0xea, 0xbf, + 0x95, 0xc1, 0x29, 0xba, 0x1a, 0x62, 0x51, 0x2c, +}; +static const unsigned char kat3784_nonce[] = {0}; +static const unsigned char kat3784_persstr[] = {0}; +static const unsigned char kat3784_entropyinpr1[] = { + 0xbc, 0x36, 0x3e, 0xe6, 0xea, 0x2c, 0x9e, 0x85, 0xa2, 0xcb, 0xff, 0xfe, + 0xc9, 0xe8, 0xf7, 0xd0, 0xe9, 0xac, 0x4d, 0x62, 0x7b, 0xaf, 0xc4, 0x22, + 0xa2, 0xdc, 0x5c, 0x8b, 0x3e, 0xd0, 0xec, 0x1d, +}; +static const unsigned char kat3784_addinpr1[] = {0}; +static const unsigned char kat3784_entropyinpr2[] = { + 0x03, 0x48, 0x37, 0x74, 0x5d, 0x05, 0x83, 0x47, 0xc3, 0xc7, 0x54, 0xaf, + 0x58, 0x6c, 0xe8, 0xec, 0xa4, 0x13, 0x49, 0x84, 0x27, 0x12, 0x51, 0xec, + 0xdf, 0x09, 0xa4, 0x6a, 0xfc, 0xc1, 0x21, 0xf2, +}; +static const unsigned char kat3784_addinpr2[] = {0}; +static const unsigned char kat3784_retbits[] = { + 0xec, 0x9b, 0x08, 0x43, 0xac, 0x59, 0xc2, 0x1f, 0x11, 0xd1, 0xdf, 0x59, + 0x35, 0x73, 0x54, 0x83, 0x69, 0x70, 0x95, 0x3f, 0xe2, 0xde, 0xc7, 0xd5, + 0x2e, 0xd6, 0x06, 0x04, 0xc8, 0xf5, 0x56, 0x02, 0x90, 0xeb, 0xa3, 0xb2, + 0x0c, 0x65, 0x38, 0xc1, 0xa5, 0xf9, 0x9e, 0x5c, 0xc9, 0x78, 0xee, 0xba, + 0x48, 0xb7, 0x7a, 0xd1, 0x5e, 0x48, 0x8c, 0xdb, 0x62, 0xd2, 0x84, 0xbd, + 0xad, 0x16, 0xab, 0xcc, +}; +static const struct drbg_kat_pr_true kat3784_t = { + 3, kat3784_entropyin, kat3784_nonce, kat3784_persstr, + kat3784_entropyinpr1, kat3784_addinpr1, kat3784_entropyinpr2, + kat3784_addinpr2, kat3784_retbits +}; +static const struct drbg_kat kat3784 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3784_t +}; + +static const unsigned char kat3785_entropyin[] = { + 0xd4, 0x69, 0x70, 0x11, 0x4f, 0x0c, 0x6d, 0x09, 0x3c, 0x6a, 0x20, 0xc3, + 0x28, 0x27, 0x95, 0xc0, 0x51, 0xa8, 0xb4, 0xef, 0xea, 0x10, 0x5c, 0x94, + 0xc3, 0xc7, 0x5d, 0x92, 0x1c, 0x34, 0x86, 0xad, +}; +static const unsigned char kat3785_nonce[] = {0}; +static const unsigned char kat3785_persstr[] = {0}; +static const unsigned char kat3785_entropyinpr1[] = { + 0xd9, 0x1d, 0xeb, 0x7d, 0x15, 0x39, 0x9a, 0xf1, 0xd6, 0xc7, 0x6f, 0xc4, + 0xf3, 0x1d, 0xf4, 0xa5, 0xfc, 0x2a, 0xa8, 0x69, 0x29, 0x06, 0xf7, 0xf8, + 0x43, 0xc8, 0x80, 0xd2, 0xee, 0x11, 0x43, 0xb5, +}; +static const unsigned char kat3785_addinpr1[] = {0}; +static const unsigned char kat3785_entropyinpr2[] = { + 0x36, 0x14, 0x5c, 0x0c, 0x3f, 0x47, 0x4d, 0x2d, 0xb3, 0x25, 0xda, 0xc7, + 0xac, 0x89, 0xc2, 0x1e, 0x84, 0xfe, 0x8d, 0xa6, 0x28, 0xff, 0x02, 0xa8, + 0x48, 0xa4, 0xea, 0xe3, 0xb4, 0xd8, 0x1e, 0xf4, +}; +static const unsigned char kat3785_addinpr2[] = {0}; +static const unsigned char kat3785_retbits[] = { + 0x71, 0x37, 0x79, 0xba, 0x11, 0xf5, 0x87, 0xb5, 0x22, 0xc6, 0x32, 0x7a, + 0xca, 0x5a, 0xaa, 0x27, 0x1d, 0xb2, 0x63, 0xee, 0x01, 0x94, 0x28, 0x02, + 0x8d, 0x1e, 0x33, 0x52, 0x84, 0xbf, 0xdb, 0x11, 0xc7, 0x64, 0xfd, 0xcb, + 0x4c, 0x4a, 0x91, 0x26, 0x45, 0xb4, 0x1e, 0xfc, 0x65, 0xad, 0xb8, 0xfb, + 0x23, 0x32, 0x93, 0x75, 0x34, 0x18, 0xa3, 0xab, 0x4e, 0xed, 0x32, 0x3c, + 0xbe, 0x71, 0xd6, 0xa4, +}; +static const struct drbg_kat_pr_true kat3785_t = { + 4, kat3785_entropyin, kat3785_nonce, kat3785_persstr, + kat3785_entropyinpr1, kat3785_addinpr1, kat3785_entropyinpr2, + kat3785_addinpr2, kat3785_retbits +}; +static const struct drbg_kat kat3785 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3785_t +}; + +static const unsigned char kat3786_entropyin[] = { + 0x7b, 0x37, 0x47, 0xb5, 0x6f, 0x85, 0x47, 0xcb, 0x1d, 0x99, 0xb9, 0x25, + 0x38, 0xee, 0x95, 0x5c, 0x15, 0xda, 0x10, 0x57, 0xbc, 0x5f, 0x69, 0x19, + 0x98, 0xff, 0xd4, 0x84, 0x12, 0xd9, 0x22, 0x16, +}; +static const unsigned char kat3786_nonce[] = {0}; +static const unsigned char kat3786_persstr[] = {0}; +static const unsigned char kat3786_entropyinpr1[] = { + 0x05, 0x70, 0xe5, 0x45, 0xd5, 0x02, 0x61, 0x3d, 0xf9, 0x96, 0x0b, 0x89, + 0xf1, 0x6f, 0xe9, 0x9e, 0xd6, 0x5d, 0x84, 0xc7, 0x33, 0x35, 0x9a, 0xb4, + 0xc3, 0x91, 0xb9, 0xa2, 0x35, 0xd8, 0xa2, 0xd0, +}; +static const unsigned char kat3786_addinpr1[] = {0}; +static const unsigned char kat3786_entropyinpr2[] = { + 0x6e, 0x70, 0xf5, 0xa3, 0x89, 0x51, 0x71, 0xcb, 0xfd, 0x42, 0x64, 0x4a, + 0xc7, 0x09, 0x3e, 0xcb, 0xd4, 0x39, 0xf9, 0x94, 0x73, 0x3a, 0x6e, 0xa1, + 0xfd, 0x54, 0x30, 0x86, 0xd8, 0xc8, 0x67, 0x87, +}; +static const unsigned char kat3786_addinpr2[] = {0}; +static const unsigned char kat3786_retbits[] = { + 0x57, 0xc1, 0x29, 0x16, 0xb0, 0xe1, 0xd3, 0x1e, 0x1d, 0x1e, 0x25, 0x56, + 0x19, 0x65, 0x5c, 0x6f, 0xba, 0x57, 0xfb, 0x62, 0x43, 0x0d, 0xef, 0x55, + 0xf2, 0x86, 0xe3, 0xac, 0xe3, 0xf3, 0x24, 0xba, 0x5d, 0x9d, 0x8a, 0xdb, + 0x08, 0x07, 0xa6, 0x89, 0xd6, 0x3c, 0x24, 0x2e, 0x44, 0x9a, 0x6f, 0x0c, + 0xfd, 0xa0, 0x66, 0x9e, 0xfa, 0xd5, 0x99, 0xc6, 0x07, 0x14, 0x05, 0x76, + 0x2f, 0x2a, 0xff, 0x8c, +}; +static const struct drbg_kat_pr_true kat3786_t = { + 5, kat3786_entropyin, kat3786_nonce, kat3786_persstr, + kat3786_entropyinpr1, kat3786_addinpr1, kat3786_entropyinpr2, + kat3786_addinpr2, kat3786_retbits +}; +static const struct drbg_kat kat3786 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3786_t +}; + +static const unsigned char kat3787_entropyin[] = { + 0x67, 0xef, 0xb0, 0x46, 0xd0, 0xf2, 0x94, 0x7d, 0x10, 0xf9, 0x7f, 0x6b, + 0xe8, 0x03, 0xff, 0xa9, 0x4a, 0x5f, 0xa2, 0x30, 0x93, 0x14, 0x26, 0x92, + 0x72, 0xac, 0xed, 0x52, 0x62, 0x01, 0x3c, 0xc7, +}; +static const unsigned char kat3787_nonce[] = {0}; +static const unsigned char kat3787_persstr[] = {0}; +static const unsigned char kat3787_entropyinpr1[] = { + 0xd9, 0xd2, 0x27, 0x6b, 0x9d, 0x7c, 0xe2, 0x72, 0xfd, 0x5c, 0x6f, 0x4d, + 0x59, 0x0d, 0x32, 0xc0, 0x17, 0xe6, 0xca, 0x88, 0xe7, 0xe6, 0x4d, 0x37, + 0x17, 0x5e, 0x9a, 0x44, 0x94, 0x5f, 0x2a, 0x6a, +}; +static const unsigned char kat3787_addinpr1[] = {0}; +static const unsigned char kat3787_entropyinpr2[] = { + 0x0d, 0x04, 0x95, 0x78, 0x33, 0x5a, 0xa1, 0xe7, 0x63, 0xf2, 0x21, 0x10, + 0xb3, 0x48, 0x32, 0xa1, 0x53, 0x98, 0xf3, 0x04, 0xe3, 0x95, 0x5b, 0x86, + 0x45, 0xd8, 0x83, 0xe1, 0xf9, 0x58, 0x95, 0xd8, +}; +static const unsigned char kat3787_addinpr2[] = {0}; +static const unsigned char kat3787_retbits[] = { + 0x94, 0x08, 0xcb, 0x6c, 0x00, 0x8a, 0x62, 0x84, 0xb7, 0x19, 0x32, 0x82, + 0x69, 0xdb, 0x30, 0xb6, 0x45, 0xe7, 0xe6, 0x8e, 0x34, 0xf6, 0xb5, 0x6c, + 0xba, 0x64, 0xfc, 0x8e, 0x8d, 0xe1, 0x8c, 0x24, 0x04, 0xdd, 0xc2, 0x9d, + 0xcc, 0xcd, 0xf2, 0x6e, 0x05, 0xa4, 0xe1, 0xb4, 0x9b, 0xdf, 0x4e, 0x5b, + 0xac, 0x0b, 0xdc, 0x83, 0x10, 0x92, 0x47, 0x7b, 0x33, 0xfd, 0x13, 0x24, + 0x49, 0xf8, 0x0d, 0xe9, +}; +static const struct drbg_kat_pr_true kat3787_t = { + 6, kat3787_entropyin, kat3787_nonce, kat3787_persstr, + kat3787_entropyinpr1, kat3787_addinpr1, kat3787_entropyinpr2, + kat3787_addinpr2, kat3787_retbits +}; +static const struct drbg_kat kat3787 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3787_t +}; + +static const unsigned char kat3788_entropyin[] = { + 0x5e, 0x87, 0x16, 0x4f, 0x7e, 0x49, 0x39, 0xad, 0xb8, 0x90, 0x3c, 0x39, + 0x9c, 0x2c, 0xd4, 0x5d, 0x7a, 0x9e, 0xce, 0x7e, 0x22, 0xa9, 0x5f, 0x3a, + 0xfe, 0xca, 0xcf, 0xe6, 0x0e, 0xc8, 0x44, 0x86, +}; +static const unsigned char kat3788_nonce[] = {0}; +static const unsigned char kat3788_persstr[] = {0}; +static const unsigned char kat3788_entropyinpr1[] = { + 0xed, 0x07, 0xab, 0xbd, 0xa1, 0x6c, 0x7e, 0x85, 0x23, 0x6f, 0x04, 0x11, + 0xf1, 0x93, 0x69, 0x1c, 0xa1, 0xaf, 0x65, 0x89, 0x5d, 0x67, 0x88, 0x95, + 0x37, 0x3e, 0x4b, 0x95, 0x5b, 0x64, 0x15, 0xee, +}; +static const unsigned char kat3788_addinpr1[] = {0}; +static const unsigned char kat3788_entropyinpr2[] = { + 0x91, 0x10, 0x69, 0x7c, 0xda, 0xdf, 0x4a, 0x9c, 0x03, 0x26, 0x4d, 0x6b, + 0xcb, 0xf0, 0x83, 0xb4, 0x08, 0xcd, 0x13, 0xa1, 0xcd, 0x71, 0x2b, 0xe5, + 0xf3, 0x29, 0x04, 0xf8, 0xf3, 0x21, 0xb7, 0x5f, +}; +static const unsigned char kat3788_addinpr2[] = {0}; +static const unsigned char kat3788_retbits[] = { + 0xa3, 0x82, 0xc2, 0x9b, 0xd8, 0xa3, 0x27, 0x5a, 0x5f, 0x9c, 0x34, 0x70, + 0x9e, 0xa9, 0x89, 0xdc, 0xd6, 0x45, 0xb2, 0x41, 0x7d, 0x03, 0xeb, 0xa6, + 0x2b, 0x34, 0x95, 0x95, 0xda, 0x15, 0x5b, 0xcb, 0x5a, 0x33, 0x43, 0xd1, + 0x74, 0x8e, 0x57, 0x51, 0x25, 0xa1, 0x03, 0xa7, 0xd2, 0xe8, 0xc6, 0xfa, + 0x86, 0xfa, 0xa8, 0xee, 0x81, 0x29, 0x09, 0x38, 0x22, 0xd1, 0x24, 0xa4, + 0x89, 0x3c, 0x39, 0xaa, +}; +static const struct drbg_kat_pr_true kat3788_t = { + 7, kat3788_entropyin, kat3788_nonce, kat3788_persstr, + kat3788_entropyinpr1, kat3788_addinpr1, kat3788_entropyinpr2, + kat3788_addinpr2, kat3788_retbits +}; +static const struct drbg_kat kat3788 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3788_t +}; + +static const unsigned char kat3789_entropyin[] = { + 0x95, 0x5e, 0x06, 0x63, 0xb8, 0x25, 0x26, 0x0a, 0xa7, 0x26, 0xe8, 0x68, + 0xc4, 0x82, 0xa4, 0x92, 0xc7, 0xe6, 0x0d, 0x27, 0x3d, 0x80, 0x6a, 0x9a, + 0x92, 0xf2, 0xe3, 0x64, 0x99, 0x67, 0x38, 0xd4, +}; +static const unsigned char kat3789_nonce[] = {0}; +static const unsigned char kat3789_persstr[] = {0}; +static const unsigned char kat3789_entropyinpr1[] = { + 0xfa, 0x07, 0x85, 0xdf, 0xc3, 0x39, 0xe8, 0x17, 0xab, 0x4a, 0xe9, 0x8c, + 0x45, 0x37, 0x52, 0x8b, 0x5c, 0x0b, 0x98, 0x97, 0x24, 0x72, 0x6d, 0x95, + 0xe4, 0xbe, 0xa4, 0x96, 0x1b, 0xd3, 0x59, 0x53, +}; +static const unsigned char kat3789_addinpr1[] = {0}; +static const unsigned char kat3789_entropyinpr2[] = { + 0xa8, 0x6b, 0x47, 0xdf, 0xa1, 0xe4, 0x2b, 0x9b, 0x73, 0x00, 0xb3, 0x90, + 0x9f, 0x6a, 0x09, 0xa7, 0x53, 0x09, 0x0b, 0xf4, 0xad, 0xbf, 0x5d, 0xe2, + 0x07, 0xa4, 0x6c, 0xa0, 0xee, 0x50, 0x11, 0x72, +}; +static const unsigned char kat3789_addinpr2[] = {0}; +static const unsigned char kat3789_retbits[] = { + 0xbd, 0x35, 0xf3, 0x74, 0x1e, 0x4d, 0xcb, 0xf3, 0x2d, 0x0f, 0x2e, 0x69, + 0xbb, 0x8d, 0x46, 0x71, 0x88, 0xe2, 0xac, 0x67, 0x12, 0x4c, 0x84, 0xf5, + 0x09, 0x02, 0x0f, 0xa9, 0x90, 0xcf, 0x30, 0xfa, 0xae, 0x64, 0x38, 0x29, + 0x99, 0xb4, 0x43, 0x79, 0xae, 0xc8, 0x60, 0x97, 0x8c, 0xcf, 0xc0, 0x90, + 0x64, 0x62, 0x67, 0x8a, 0xec, 0xbc, 0x5d, 0x42, 0x5e, 0xfc, 0x22, 0x82, + 0xe1, 0xb5, 0x33, 0x2d, +}; +static const struct drbg_kat_pr_true kat3789_t = { + 8, kat3789_entropyin, kat3789_nonce, kat3789_persstr, + kat3789_entropyinpr1, kat3789_addinpr1, kat3789_entropyinpr2, + kat3789_addinpr2, kat3789_retbits +}; +static const struct drbg_kat kat3789 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3789_t +}; + +static const unsigned char kat3790_entropyin[] = { + 0x8f, 0x91, 0xc3, 0x3b, 0xc4, 0xc6, 0x65, 0xa1, 0xca, 0x75, 0x2a, 0xdc, + 0x2e, 0x06, 0xa3, 0x98, 0xb4, 0x66, 0x19, 0x41, 0xf3, 0x17, 0x30, 0x88, + 0x65, 0xea, 0x28, 0x57, 0xc8, 0x28, 0xdb, 0xcc, +}; +static const unsigned char kat3790_nonce[] = {0}; +static const unsigned char kat3790_persstr[] = {0}; +static const unsigned char kat3790_entropyinpr1[] = { + 0x75, 0xc6, 0xbb, 0x2d, 0x4f, 0xb2, 0x77, 0xad, 0x91, 0xb9, 0x35, 0xf6, + 0xa4, 0x50, 0xf4, 0xc9, 0x87, 0xa8, 0x9d, 0xf5, 0xa6, 0x58, 0x1f, 0xad, + 0xf0, 0xf6, 0xed, 0x60, 0xd0, 0x89, 0x92, 0x0c, +}; +static const unsigned char kat3790_addinpr1[] = {0}; +static const unsigned char kat3790_entropyinpr2[] = { + 0x16, 0x4a, 0xb4, 0xd6, 0xd0, 0xdf, 0xd8, 0x41, 0x04, 0xb7, 0xbb, 0xb9, + 0xc3, 0x1c, 0x85, 0x9f, 0xa7, 0x67, 0x68, 0xb5, 0x32, 0xe1, 0x1c, 0xa1, + 0x5b, 0x19, 0x84, 0x10, 0xf0, 0xb9, 0x24, 0x7d, +}; +static const unsigned char kat3790_addinpr2[] = {0}; +static const unsigned char kat3790_retbits[] = { + 0x93, 0x44, 0x7d, 0x09, 0x5c, 0x4b, 0x19, 0x69, 0xb1, 0x63, 0x13, 0x20, + 0x37, 0x39, 0x77, 0x6b, 0xeb, 0xf6, 0xf2, 0x41, 0x63, 0xe9, 0xaf, 0xff, + 0x86, 0x60, 0x6f, 0x54, 0xea, 0xc4, 0xff, 0x97, 0x51, 0xf2, 0xec, 0x08, + 0xa2, 0xca, 0x66, 0xf1, 0x35, 0xcf, 0x10, 0x49, 0xf2, 0x2c, 0xf7, 0x9a, + 0xad, 0x87, 0x75, 0xfa, 0x7c, 0xf1, 0x1e, 0x48, 0x0e, 0x4d, 0x53, 0x82, + 0x9d, 0xd1, 0x7e, 0xa8, +}; +static const struct drbg_kat_pr_true kat3790_t = { + 9, kat3790_entropyin, kat3790_nonce, kat3790_persstr, + kat3790_entropyinpr1, kat3790_addinpr1, kat3790_entropyinpr2, + kat3790_addinpr2, kat3790_retbits +}; +static const struct drbg_kat kat3790 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3790_t +}; + +static const unsigned char kat3791_entropyin[] = { + 0x36, 0xd5, 0x59, 0x45, 0xab, 0x9c, 0x3f, 0x38, 0x08, 0x54, 0xd0, 0x4d, + 0xb5, 0xc1, 0x5c, 0x8b, 0x7e, 0x10, 0xd8, 0xdb, 0x2c, 0xe9, 0xdc, 0x22, + 0x1b, 0x6e, 0x87, 0x24, 0x4e, 0xe1, 0x9c, 0xe5, +}; +static const unsigned char kat3791_nonce[] = {0}; +static const unsigned char kat3791_persstr[] = {0}; +static const unsigned char kat3791_entropyinpr1[] = { + 0x20, 0x7d, 0x69, 0x69, 0xc1, 0x64, 0x33, 0xd2, 0x78, 0xc3, 0x77, 0xc5, + 0xac, 0x67, 0xf2, 0x89, 0x75, 0xd6, 0x9d, 0x7f, 0x13, 0x1a, 0x9f, 0x19, + 0x81, 0x8e, 0x7a, 0x0d, 0x46, 0xd7, 0xe4, 0xb8, +}; +static const unsigned char kat3791_addinpr1[] = {0}; +static const unsigned char kat3791_entropyinpr2[] = { + 0x59, 0x40, 0x1d, 0x66, 0x81, 0xc5, 0xd5, 0x6d, 0xda, 0xaa, 0x7e, 0xd6, + 0x4e, 0x3b, 0x4b, 0x84, 0x73, 0x14, 0xb4, 0x4d, 0xf1, 0x0b, 0x69, 0xc3, + 0x13, 0x2f, 0x14, 0xba, 0x41, 0xcc, 0xe6, 0x48, +}; +static const unsigned char kat3791_addinpr2[] = {0}; +static const unsigned char kat3791_retbits[] = { + 0xb3, 0xd1, 0x61, 0x12, 0x79, 0x8d, 0x6e, 0x9f, 0x12, 0x75, 0xd8, 0x8d, + 0x89, 0x32, 0x0b, 0x4b, 0xff, 0xf4, 0x4f, 0xe4, 0xed, 0xe9, 0xea, 0x73, + 0x44, 0x91, 0xb2, 0x04, 0x8d, 0xf1, 0x8e, 0x04, 0xbb, 0xc7, 0x92, 0x40, + 0xec, 0x5a, 0x2c, 0x6a, 0x7c, 0xcf, 0xce, 0x73, 0xae, 0x90, 0xda, 0xf3, + 0x58, 0xce, 0x96, 0x7b, 0x00, 0x93, 0xa8, 0x53, 0xbe, 0x5c, 0x19, 0x08, + 0x27, 0x55, 0x5a, 0xc7, +}; +static const struct drbg_kat_pr_true kat3791_t = { + 10, kat3791_entropyin, kat3791_nonce, kat3791_persstr, + kat3791_entropyinpr1, kat3791_addinpr1, kat3791_entropyinpr2, + kat3791_addinpr2, kat3791_retbits +}; +static const struct drbg_kat kat3791 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3791_t +}; + +static const unsigned char kat3792_entropyin[] = { + 0x12, 0x94, 0x15, 0x19, 0xf6, 0x19, 0xd9, 0x7f, 0x3c, 0xfa, 0xb9, 0x1c, + 0x68, 0xc5, 0x7d, 0xfe, 0x9d, 0x55, 0xee, 0x3c, 0x17, 0xee, 0x92, 0x7f, + 0xdb, 0x48, 0xe2, 0xb3, 0xa4, 0x99, 0x49, 0x4a, +}; +static const unsigned char kat3792_nonce[] = {0}; +static const unsigned char kat3792_persstr[] = {0}; +static const unsigned char kat3792_entropyinpr1[] = { + 0xa4, 0x23, 0x4e, 0x62, 0x9f, 0x9b, 0x7b, 0xa4, 0xa0, 0x13, 0x3f, 0x17, + 0x61, 0x79, 0x85, 0xd2, 0xb3, 0xf8, 0xff, 0xc3, 0x30, 0x38, 0x53, 0xda, + 0xe2, 0x21, 0x4c, 0x47, 0x01, 0xa2, 0xfc, 0xee, +}; +static const unsigned char kat3792_addinpr1[] = {0}; +static const unsigned char kat3792_entropyinpr2[] = { + 0xa2, 0x36, 0xe0, 0x62, 0x05, 0x5a, 0x4a, 0x18, 0xfd, 0xc4, 0xbf, 0x9c, + 0xd7, 0x54, 0x6d, 0xa1, 0x23, 0x9b, 0x7b, 0x87, 0x60, 0xbc, 0x3d, 0xf6, + 0x8f, 0xe4, 0x28, 0x25, 0x81, 0x2f, 0x5e, 0x38, +}; +static const unsigned char kat3792_addinpr2[] = {0}; +static const unsigned char kat3792_retbits[] = { + 0xd5, 0x45, 0x60, 0x92, 0x7b, 0x33, 0x4d, 0x05, 0x46, 0x90, 0x7d, 0x50, + 0x0b, 0x49, 0xfb, 0xe9, 0xec, 0x2f, 0x33, 0xf4, 0x66, 0xc3, 0x18, 0x5a, + 0xd6, 0x38, 0xb8, 0x04, 0x1a, 0x88, 0x15, 0x26, 0x01, 0x98, 0x45, 0x31, + 0x18, 0xcb, 0x97, 0xd5, 0xac, 0xe9, 0x06, 0x89, 0x6d, 0x18, 0x8b, 0x6f, + 0xba, 0x3c, 0x9a, 0x14, 0x90, 0x4f, 0xb7, 0xd4, 0x00, 0x89, 0xa9, 0xdb, + 0x0c, 0xff, 0x9f, 0xc8, +}; +static const struct drbg_kat_pr_true kat3792_t = { + 11, kat3792_entropyin, kat3792_nonce, kat3792_persstr, + kat3792_entropyinpr1, kat3792_addinpr1, kat3792_entropyinpr2, + kat3792_addinpr2, kat3792_retbits +}; +static const struct drbg_kat kat3792 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3792_t +}; + +static const unsigned char kat3793_entropyin[] = { + 0x3e, 0x53, 0xb7, 0x2a, 0x8f, 0x70, 0x15, 0x7b, 0x5b, 0x4d, 0xf9, 0x12, + 0x6a, 0xa0, 0x28, 0x64, 0xcd, 0x24, 0x13, 0x97, 0x62, 0x52, 0xc4, 0x6e, + 0xcb, 0x4f, 0x9e, 0xcd, 0x10, 0xc2, 0x02, 0xfa, +}; +static const unsigned char kat3793_nonce[] = {0}; +static const unsigned char kat3793_persstr[] = {0}; +static const unsigned char kat3793_entropyinpr1[] = { + 0x3b, 0x56, 0x4e, 0x33, 0x1c, 0xbb, 0x00, 0x1b, 0xbe, 0xe3, 0xc4, 0xa4, + 0x79, 0xf8, 0x5c, 0x57, 0x14, 0xa0, 0xbe, 0x6e, 0x2a, 0x72, 0x79, 0xfb, + 0xc4, 0xc6, 0x19, 0xf4, 0x43, 0x49, 0x4c, 0x16, +}; +static const unsigned char kat3793_addinpr1[] = {0}; +static const unsigned char kat3793_entropyinpr2[] = { + 0xbc, 0x2e, 0x4d, 0xdc, 0x2d, 0x65, 0x73, 0x45, 0x26, 0xe8, 0xb6, 0x4c, + 0x96, 0x5b, 0x2f, 0x21, 0x7a, 0xb4, 0x99, 0xc6, 0x7d, 0x0e, 0xd2, 0x58, + 0xb0, 0x40, 0xe5, 0xab, 0x4b, 0x25, 0x10, 0x27, +}; +static const unsigned char kat3793_addinpr2[] = {0}; +static const unsigned char kat3793_retbits[] = { + 0x18, 0x74, 0xe5, 0xeb, 0x37, 0xd4, 0x8d, 0x1a, 0x4b, 0x68, 0x2e, 0xe0, + 0xd5, 0x03, 0xa0, 0xe3, 0x0c, 0xf6, 0x8e, 0x71, 0xd6, 0x5e, 0x8c, 0x3b, + 0x78, 0x03, 0xea, 0x56, 0x1f, 0xd5, 0x41, 0x3b, 0x20, 0x7b, 0xe3, 0xea, + 0x04, 0x9a, 0xfb, 0x97, 0xc1, 0xfb, 0xb5, 0xf5, 0x9a, 0x34, 0xe4, 0xf8, + 0xbb, 0xf8, 0x63, 0x77, 0x27, 0xd4, 0x1b, 0x90, 0x8b, 0x8b, 0x61, 0x26, + 0xe8, 0x9f, 0x1f, 0xb0, +}; +static const struct drbg_kat_pr_true kat3793_t = { + 12, kat3793_entropyin, kat3793_nonce, kat3793_persstr, + kat3793_entropyinpr1, kat3793_addinpr1, kat3793_entropyinpr2, + kat3793_addinpr2, kat3793_retbits +}; +static const struct drbg_kat kat3793 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3793_t +}; + +static const unsigned char kat3794_entropyin[] = { + 0x8a, 0x7c, 0x2c, 0x25, 0x33, 0xfd, 0xf0, 0xcb, 0x75, 0x00, 0xfb, 0x12, + 0xd8, 0x24, 0x7e, 0x2a, 0xa4, 0x59, 0x0f, 0xe0, 0xe7, 0x69, 0x97, 0xda, + 0xcf, 0x54, 0x34, 0x81, 0x23, 0x1c, 0x8b, 0x4b, +}; +static const unsigned char kat3794_nonce[] = {0}; +static const unsigned char kat3794_persstr[] = {0}; +static const unsigned char kat3794_entropyinpr1[] = { + 0x5d, 0xe0, 0x94, 0xe6, 0x42, 0x04, 0x39, 0x05, 0x2e, 0x76, 0xa9, 0x5e, + 0x2c, 0x15, 0xf0, 0xa5, 0x93, 0xa1, 0xe0, 0xac, 0x6a, 0xed, 0xfa, 0x31, + 0xb6, 0x81, 0x83, 0x05, 0x79, 0xf0, 0x0d, 0x2d, +}; +static const unsigned char kat3794_addinpr1[] = {0}; +static const unsigned char kat3794_entropyinpr2[] = { + 0x7b, 0x92, 0xdd, 0xde, 0xa5, 0x1e, 0xde, 0xa7, 0x11, 0xbf, 0x43, 0x4e, + 0xf8, 0xf6, 0x04, 0x60, 0xb5, 0x1c, 0x88, 0x8d, 0x9b, 0x73, 0x6a, 0x99, + 0x8a, 0xf9, 0xbe, 0xfe, 0x12, 0xe3, 0xaa, 0x63, +}; +static const unsigned char kat3794_addinpr2[] = {0}; +static const unsigned char kat3794_retbits[] = { + 0xbb, 0x7a, 0xdf, 0x58, 0x1b, 0x96, 0xa9, 0x4d, 0xd2, 0x65, 0xfe, 0xaa, + 0x14, 0xf0, 0xf8, 0xe4, 0x7d, 0xc7, 0xb3, 0x71, 0x6f, 0xa5, 0x8d, 0x67, + 0x36, 0x3d, 0x35, 0x36, 0xe4, 0x11, 0x50, 0xcd, 0xdd, 0xd5, 0x9a, 0x53, + 0xd0, 0x2f, 0xb6, 0x5a, 0x93, 0xdd, 0x64, 0x41, 0x7e, 0x11, 0x4d, 0xf5, + 0x1a, 0xac, 0xf9, 0x8d, 0x96, 0x91, 0xff, 0x3d, 0x19, 0x6c, 0x2d, 0xb6, + 0x88, 0x91, 0x72, 0x09, +}; +static const struct drbg_kat_pr_true kat3794_t = { + 13, kat3794_entropyin, kat3794_nonce, kat3794_persstr, + kat3794_entropyinpr1, kat3794_addinpr1, kat3794_entropyinpr2, + kat3794_addinpr2, kat3794_retbits +}; +static const struct drbg_kat kat3794 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3794_t +}; + +static const unsigned char kat3795_entropyin[] = { + 0x37, 0x36, 0x46, 0x1a, 0x00, 0x06, 0x66, 0x6e, 0xff, 0x36, 0x32, 0x87, + 0x3a, 0x14, 0xad, 0x00, 0x6d, 0xf6, 0x9c, 0xf7, 0xc1, 0xfd, 0x86, 0x48, + 0x49, 0xff, 0xd7, 0x2c, 0x04, 0xa5, 0x7c, 0xe6, +}; +static const unsigned char kat3795_nonce[] = {0}; +static const unsigned char kat3795_persstr[] = {0}; +static const unsigned char kat3795_entropyinpr1[] = { + 0xc5, 0x20, 0x74, 0xe8, 0x34, 0x3f, 0x57, 0xc0, 0xf5, 0x6c, 0x9a, 0xa4, + 0xbc, 0x3a, 0x6b, 0xcc, 0x9d, 0xff, 0x30, 0xb2, 0x19, 0x05, 0xae, 0x6c, + 0x5e, 0xaa, 0xfc, 0x8d, 0xd0, 0xd8, 0x71, 0x5d, +}; +static const unsigned char kat3795_addinpr1[] = {0}; +static const unsigned char kat3795_entropyinpr2[] = { + 0xf0, 0x9a, 0x47, 0x30, 0x9a, 0x1d, 0xdf, 0xeb, 0x54, 0xee, 0xa6, 0xdf, + 0xa7, 0xb1, 0x5a, 0xb0, 0xe6, 0xf1, 0x83, 0xe2, 0x47, 0x8a, 0x38, 0x89, + 0xde, 0x89, 0x09, 0x1c, 0x2b, 0xac, 0x0c, 0x25, +}; +static const unsigned char kat3795_addinpr2[] = {0}; +static const unsigned char kat3795_retbits[] = { + 0xef, 0xd9, 0x31, 0xfe, 0x77, 0xe2, 0x02, 0xd2, 0xab, 0xa8, 0x6f, 0x64, + 0x07, 0x12, 0x6a, 0x85, 0x9c, 0x88, 0x1a, 0xbc, 0x86, 0xc8, 0xf8, 0x34, + 0x2d, 0xee, 0xab, 0xf5, 0x27, 0xed, 0x6d, 0xc6, 0x79, 0xe5, 0xdf, 0xcd, + 0xd2, 0x12, 0xdd, 0xc3, 0xf2, 0xe7, 0x79, 0xd0, 0x43, 0xf0, 0x58, 0x89, + 0x3d, 0x7b, 0x23, 0xc6, 0xb6, 0x93, 0x34, 0xba, 0x01, 0x32, 0xdb, 0x6c, + 0xe8, 0x2a, 0x16, 0x7c, +}; +static const struct drbg_kat_pr_true kat3795_t = { + 14, kat3795_entropyin, kat3795_nonce, kat3795_persstr, + kat3795_entropyinpr1, kat3795_addinpr1, kat3795_entropyinpr2, + kat3795_addinpr2, kat3795_retbits +}; +static const struct drbg_kat kat3795 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 0, 64, &kat3795_t +}; + +static const unsigned char kat3796_entropyin[] = { + 0x94, 0x05, 0x13, 0x83, 0x2d, 0xa6, 0x87, 0x8e, 0xb7, 0x6b, 0x91, 0xf2, + 0x59, 0xcc, 0x76, 0xf0, 0x16, 0xf4, 0x75, 0x16, 0xbf, 0x4e, 0xcf, 0x05, + 0x91, 0x90, 0x83, 0x7b, 0xad, 0x02, 0x6f, 0x46, +}; +static const unsigned char kat3796_nonce[] = {0}; +static const unsigned char kat3796_persstr[] = {0}; +static const unsigned char kat3796_entropyinpr1[] = { + 0x42, 0xc6, 0xf3, 0x08, 0xbb, 0x9d, 0x05, 0xb9, 0x0e, 0x57, 0x0f, 0x5a, + 0xf5, 0xe7, 0xee, 0x62, 0xe5, 0xd9, 0xd5, 0x32, 0x6b, 0x14, 0x55, 0xe3, + 0x3d, 0xfd, 0x9e, 0x1a, 0x4b, 0x7a, 0xe7, 0x10, +}; +static const unsigned char kat3796_addinpr1[] = { + 0x3a, 0x5e, 0x2f, 0xbe, 0xb2, 0xc6, 0x05, 0x49, 0x48, 0xe0, 0xce, 0x2c, + 0xd0, 0xb2, 0xa5, 0x57, 0x62, 0x8d, 0x41, 0x2b, 0xe0, 0xb6, 0x08, 0x6c, + 0x63, 0xd8, 0xfa, 0x4f, 0x19, 0x6d, 0x8f, 0x91, +}; +static const unsigned char kat3796_entropyinpr2[] = { + 0xac, 0xd9, 0xa1, 0x6b, 0x81, 0x79, 0x5e, 0xc2, 0x17, 0xc2, 0x9b, 0xb9, + 0xe4, 0xa8, 0xe5, 0x1b, 0xe6, 0x1e, 0xf0, 0xe2, 0xf8, 0xd9, 0xac, 0x0d, + 0xa4, 0x9f, 0x4b, 0x74, 0x61, 0x6d, 0xd7, 0x89, +}; +static const unsigned char kat3796_addinpr2[] = { + 0xf9, 0xe1, 0x53, 0xb0, 0x41, 0xbe, 0xc6, 0xe7, 0xb3, 0xb7, 0xd9, 0x64, + 0x4b, 0xd6, 0xb8, 0xcb, 0x15, 0x6f, 0xf7, 0xc7, 0xbb, 0x60, 0xae, 0x71, + 0xd0, 0xac, 0x64, 0xf8, 0x6b, 0x00, 0x16, 0xdd, +}; +static const unsigned char kat3796_retbits[] = { + 0xda, 0x60, 0x0d, 0x28, 0x5c, 0xf0, 0x47, 0xc7, 0x74, 0x07, 0x96, 0x12, + 0xea, 0x68, 0x4f, 0xce, 0x14, 0xa9, 0x32, 0x34, 0xba, 0x4e, 0x39, 0xca, + 0x27, 0xeb, 0x8f, 0x68, 0xda, 0xde, 0x12, 0xc9, 0xe8, 0x1f, 0xbe, 0x93, + 0x45, 0xe6, 0xd4, 0xd1, 0xee, 0x70, 0x5e, 0x7e, 0x34, 0xee, 0x01, 0x49, + 0x7b, 0x1a, 0x55, 0xd6, 0x5f, 0x39, 0x6b, 0xaa, 0x7b, 0x9b, 0xe7, 0xc7, + 0x20, 0xc7, 0xe8, 0x0d, +}; +static const struct drbg_kat_pr_true kat3796_t = { + 0, kat3796_entropyin, kat3796_nonce, kat3796_persstr, + kat3796_entropyinpr1, kat3796_addinpr1, kat3796_entropyinpr2, + kat3796_addinpr2, kat3796_retbits +}; +static const struct drbg_kat kat3796 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3796_t +}; + +static const unsigned char kat3797_entropyin[] = { + 0xc3, 0x50, 0x86, 0xe6, 0x89, 0x2f, 0xde, 0x79, 0xbf, 0x81, 0x2b, 0x18, + 0x12, 0x1d, 0x8f, 0x5f, 0x2b, 0xb3, 0x73, 0x26, 0x1c, 0xbf, 0x12, 0x96, + 0x8d, 0x29, 0xe8, 0xf0, 0xd0, 0x8f, 0xc7, 0x40, +}; +static const unsigned char kat3797_nonce[] = {0}; +static const unsigned char kat3797_persstr[] = {0}; +static const unsigned char kat3797_entropyinpr1[] = { + 0x24, 0x29, 0x6a, 0xa0, 0x27, 0xd9, 0x10, 0xe9, 0x39, 0x9d, 0xed, 0xcd, + 0x8e, 0x30, 0xdf, 0x2e, 0x26, 0x14, 0x44, 0xc5, 0xab, 0x44, 0x3f, 0xcd, + 0x3c, 0x0c, 0x47, 0x64, 0xf1, 0x7c, 0x16, 0xb6, +}; +static const unsigned char kat3797_addinpr1[] = { + 0x29, 0x9f, 0x07, 0xb9, 0xec, 0x54, 0xe5, 0x78, 0x02, 0x6f, 0xd8, 0xf1, + 0xaf, 0xef, 0xaf, 0x2d, 0x7c, 0x89, 0x08, 0xde, 0xc6, 0x92, 0x78, 0x87, + 0x28, 0x43, 0xa5, 0xbb, 0x8f, 0xe3, 0x9d, 0x1f, +}; +static const unsigned char kat3797_entropyinpr2[] = { + 0x14, 0xf0, 0x39, 0x34, 0x08, 0x45, 0x2e, 0x98, 0x1d, 0x84, 0x48, 0x50, + 0x72, 0xca, 0xb5, 0xba, 0xf5, 0x6c, 0xcd, 0x55, 0x4f, 0x47, 0x35, 0xc5, + 0x16, 0xa8, 0x0d, 0x6d, 0xde, 0x1c, 0x51, 0xc4, +}; +static const unsigned char kat3797_addinpr2[] = { + 0x84, 0x99, 0x27, 0xc7, 0xe5, 0x69, 0x58, 0xb7, 0xdd, 0x1b, 0x91, 0xc5, + 0xf1, 0x8b, 0x94, 0x15, 0xa7, 0x4f, 0xc5, 0xdd, 0x7d, 0x5e, 0x8e, 0x0e, + 0x36, 0x36, 0x5d, 0xa1, 0xee, 0x7e, 0x35, 0x61, +}; +static const unsigned char kat3797_retbits[] = { + 0x13, 0xba, 0x75, 0x70, 0x47, 0x6b, 0x6a, 0x69, 0xa8, 0x7c, 0x3f, 0x0f, + 0x43, 0x8b, 0x74, 0xb7, 0xc6, 0x18, 0x12, 0xa6, 0x8a, 0xc5, 0xbc, 0x19, + 0x37, 0x89, 0x4b, 0xd4, 0x80, 0xae, 0x03, 0xef, 0x99, 0x75, 0x2b, 0x77, + 0xa6, 0x94, 0xab, 0x94, 0xaa, 0x72, 0xf6, 0x88, 0x39, 0xb3, 0x3e, 0xf8, + 0xbb, 0xf1, 0x31, 0x23, 0xfe, 0x8a, 0x82, 0x07, 0x8b, 0x91, 0x4c, 0x9b, + 0x8e, 0xc0, 0x87, 0x27, +}; +static const struct drbg_kat_pr_true kat3797_t = { + 1, kat3797_entropyin, kat3797_nonce, kat3797_persstr, + kat3797_entropyinpr1, kat3797_addinpr1, kat3797_entropyinpr2, + kat3797_addinpr2, kat3797_retbits +}; +static const struct drbg_kat kat3797 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3797_t +}; + +static const unsigned char kat3798_entropyin[] = { + 0x69, 0xdf, 0xcb, 0xb4, 0xa2, 0x84, 0x38, 0x68, 0xcd, 0x14, 0x1a, 0x24, + 0x6c, 0x69, 0xb6, 0x4e, 0x5a, 0x91, 0x1d, 0xd1, 0xc4, 0xf6, 0x23, 0x89, + 0xcb, 0xa4, 0x75, 0x0c, 0xc2, 0xee, 0xcd, 0xfa, +}; +static const unsigned char kat3798_nonce[] = {0}; +static const unsigned char kat3798_persstr[] = {0}; +static const unsigned char kat3798_entropyinpr1[] = { + 0x6a, 0xa7, 0xe0, 0x06, 0x57, 0xea, 0x6a, 0x29, 0x4a, 0xe0, 0xb4, 0x5e, + 0xa5, 0xe0, 0x17, 0xbe, 0x53, 0xaa, 0x67, 0x43, 0x4b, 0x1e, 0xdd, 0xe2, + 0x8e, 0xb9, 0x0f, 0x52, 0xbf, 0xc9, 0xf2, 0x68, +}; +static const unsigned char kat3798_addinpr1[] = { + 0x3b, 0xf1, 0xc1, 0x48, 0xb0, 0x4c, 0xb5, 0x3e, 0x19, 0x73, 0xa8, 0xc5, + 0xad, 0xe5, 0x6d, 0xc6, 0xe6, 0xc7, 0x5c, 0x5f, 0x12, 0xc6, 0x89, 0xa7, + 0x4a, 0xcf, 0x71, 0xf8, 0x49, 0x79, 0x7e, 0x8c, +}; +static const unsigned char kat3798_entropyinpr2[] = { + 0x79, 0x09, 0x7e, 0x55, 0xba, 0x3c, 0xfd, 0xdd, 0x22, 0x3c, 0x62, 0xbc, + 0x25, 0x36, 0xc2, 0x84, 0xe2, 0xb2, 0x36, 0x72, 0x6a, 0x77, 0xe5, 0x36, + 0x1b, 0xed, 0x1f, 0xea, 0x7a, 0x7d, 0x7a, 0xdd, +}; +static const unsigned char kat3798_addinpr2[] = { + 0xf8, 0x63, 0xae, 0x0c, 0xa0, 0x5c, 0xbd, 0x59, 0x97, 0x95, 0x44, 0xcd, + 0xc8, 0x5c, 0x9f, 0x90, 0xed, 0x33, 0x00, 0x1d, 0x60, 0xf5, 0xd4, 0x4e, + 0xde, 0x91, 0xd8, 0xb8, 0x12, 0x70, 0xf7, 0x5a, +}; +static const unsigned char kat3798_retbits[] = { + 0x1e, 0x28, 0x68, 0x0f, 0x65, 0xc3, 0x60, 0xf4, 0xbc, 0xcd, 0xba, 0xd1, + 0x6c, 0x70, 0x27, 0x6b, 0x8e, 0xf0, 0x61, 0xf7, 0x85, 0xce, 0xb2, 0x4e, + 0x5c, 0x26, 0xcc, 0x81, 0x80, 0xb4, 0x93, 0x11, 0xa0, 0x1f, 0xc7, 0xec, + 0xa2, 0x3f, 0x7e, 0x77, 0xbe, 0xad, 0x9d, 0xf3, 0x26, 0x8e, 0x32, 0xdc, + 0x9b, 0x1a, 0x9c, 0x6b, 0x7c, 0xe4, 0x62, 0xf1, 0x49, 0xcb, 0x53, 0xdd, + 0x9c, 0xf4, 0x3e, 0x20, +}; +static const struct drbg_kat_pr_true kat3798_t = { + 2, kat3798_entropyin, kat3798_nonce, kat3798_persstr, + kat3798_entropyinpr1, kat3798_addinpr1, kat3798_entropyinpr2, + kat3798_addinpr2, kat3798_retbits +}; +static const struct drbg_kat kat3798 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3798_t +}; + +static const unsigned char kat3799_entropyin[] = { + 0xcb, 0xbd, 0x17, 0x5d, 0x42, 0x7c, 0xab, 0x8b, 0xb8, 0xa4, 0x4a, 0xcf, + 0x18, 0x9d, 0xb1, 0x92, 0x4e, 0xb3, 0x14, 0x80, 0x6c, 0xba, 0x32, 0x11, + 0x23, 0xed, 0xb9, 0x5c, 0xb8, 0x5f, 0xcb, 0x83, +}; +static const unsigned char kat3799_nonce[] = {0}; +static const unsigned char kat3799_persstr[] = {0}; +static const unsigned char kat3799_entropyinpr1[] = { + 0x9f, 0x2c, 0x59, 0x2f, 0x9a, 0x68, 0xc0, 0x63, 0x61, 0x7f, 0x74, 0x0d, + 0xfb, 0x31, 0x13, 0x84, 0xb1, 0xa3, 0x1a, 0x21, 0xe0, 0xcb, 0x78, 0xa0, + 0x53, 0xe7, 0x4c, 0xa8, 0x88, 0xa1, 0x44, 0xeb, +}; +static const unsigned char kat3799_addinpr1[] = { + 0xb8, 0x16, 0xf2, 0x05, 0xed, 0x3d, 0x44, 0xbd, 0xa7, 0x29, 0xf3, 0xe1, + 0xd3, 0x17, 0xbb, 0xb7, 0x51, 0x16, 0x89, 0x2b, 0xc6, 0xaa, 0xe8, 0x68, + 0x66, 0x95, 0x57, 0x05, 0x19, 0x3a, 0xe1, 0xdd, +}; +static const unsigned char kat3799_entropyinpr2[] = { + 0xad, 0x96, 0x1d, 0xbd, 0x7e, 0x2e, 0xc6, 0xef, 0x76, 0x69, 0xf3, 0x5e, + 0xf7, 0x9e, 0x79, 0x94, 0x5a, 0xf8, 0x1b, 0x1e, 0x81, 0x59, 0x1b, 0x5d, + 0xd8, 0xfb, 0x44, 0x85, 0xb9, 0xbe, 0x86, 0xed, +}; +static const unsigned char kat3799_addinpr2[] = { + 0xf0, 0x73, 0xd0, 0xef, 0x5d, 0x90, 0x82, 0xd1, 0x17, 0x8d, 0x4e, 0x54, + 0x79, 0x93, 0x7a, 0x4c, 0x27, 0x96, 0x1b, 0x98, 0x34, 0xc6, 0x72, 0xe1, + 0xce, 0xea, 0x9a, 0x0b, 0x27, 0xad, 0x3e, 0x26, +}; +static const unsigned char kat3799_retbits[] = { + 0x2d, 0x72, 0x39, 0x62, 0x29, 0x34, 0x5d, 0xe1, 0x44, 0xa3, 0xf1, 0x92, + 0x43, 0xa3, 0xe6, 0xd1, 0xe0, 0xdf, 0x81, 0x06, 0x20, 0xe4, 0xa4, 0xce, + 0x4b, 0xfa, 0xb4, 0x04, 0xf6, 0xcd, 0x36, 0x4b, 0x5a, 0x85, 0x44, 0xe6, + 0x1d, 0xf5, 0x6a, 0x34, 0xf9, 0xcd, 0xe6, 0x85, 0xa2, 0x4c, 0x9d, 0xf4, + 0x21, 0x36, 0xc2, 0xd4, 0x98, 0x5d, 0x56, 0xf5, 0x35, 0xe9, 0xb5, 0x7e, + 0x6a, 0xf1, 0x90, 0x80, +}; +static const struct drbg_kat_pr_true kat3799_t = { + 3, kat3799_entropyin, kat3799_nonce, kat3799_persstr, + kat3799_entropyinpr1, kat3799_addinpr1, kat3799_entropyinpr2, + kat3799_addinpr2, kat3799_retbits +}; +static const struct drbg_kat kat3799 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3799_t +}; + +static const unsigned char kat3800_entropyin[] = { + 0x5b, 0x31, 0x4e, 0x29, 0x4b, 0xa1, 0x4a, 0x9a, 0x14, 0xcb, 0x4d, 0x82, + 0x81, 0xe4, 0x4c, 0x26, 0x74, 0xe9, 0x4c, 0x47, 0x44, 0xc3, 0xed, 0xf0, + 0xbb, 0xdd, 0x14, 0x4f, 0xce, 0xe1, 0x29, 0x5e, +}; +static const unsigned char kat3800_nonce[] = {0}; +static const unsigned char kat3800_persstr[] = {0}; +static const unsigned char kat3800_entropyinpr1[] = { + 0x1e, 0x00, 0xe9, 0x6f, 0x93, 0x97, 0x7e, 0x68, 0xd8, 0x47, 0x9a, 0x03, + 0xe7, 0x8d, 0x14, 0xc3, 0x74, 0x48, 0x9e, 0x99, 0x2a, 0x51, 0xd0, 0x15, + 0x3d, 0x0b, 0x8d, 0x5e, 0xd5, 0xcc, 0xb9, 0xcb, +}; +static const unsigned char kat3800_addinpr1[] = { + 0xf5, 0xf3, 0xdf, 0xbf, 0xae, 0xe3, 0xd0, 0x2d, 0xfd, 0xb8, 0x28, 0x84, + 0x10, 0xcf, 0x4d, 0x51, 0x8f, 0xd7, 0x49, 0xf3, 0x39, 0xdc, 0x4c, 0x3d, + 0xc5, 0xef, 0xae, 0x83, 0xa1, 0xeb, 0x4d, 0xd8, +}; +static const unsigned char kat3800_entropyinpr2[] = { + 0x88, 0xa4, 0xfb, 0x2c, 0xe8, 0xf2, 0xb2, 0x2f, 0xd3, 0x01, 0x14, 0xc7, + 0x06, 0x46, 0x70, 0x31, 0x60, 0x17, 0xdc, 0xce, 0x22, 0xd7, 0xb4, 0xa8, + 0x24, 0x0c, 0xfb, 0x2b, 0xd6, 0xba, 0x93, 0xf1, +}; +static const unsigned char kat3800_addinpr2[] = { + 0xfb, 0xb0, 0x0a, 0x5d, 0xaa, 0xf8, 0xe5, 0x17, 0xdd, 0x5a, 0x20, 0x7d, + 0xfa, 0x27, 0xe4, 0xb7, 0xba, 0x83, 0xed, 0xfb, 0x38, 0x4d, 0x58, 0x09, + 0xd1, 0xcc, 0x46, 0x33, 0x98, 0x3b, 0x8c, 0xfc, +}; +static const unsigned char kat3800_retbits[] = { + 0x1a, 0xf8, 0x07, 0x4b, 0x29, 0xde, 0xd5, 0x85, 0x1f, 0x41, 0x4b, 0x06, + 0x2e, 0x7d, 0x7f, 0xba, 0x3a, 0x27, 0x4d, 0x15, 0xc5, 0xe8, 0xf9, 0xdc, + 0x04, 0x6b, 0x40, 0x76, 0x45, 0xf4, 0x6c, 0xea, 0xfa, 0x9b, 0xf6, 0xf9, + 0x62, 0x81, 0x7b, 0x90, 0x39, 0x51, 0x83, 0x54, 0x82, 0x01, 0xb8, 0x24, + 0x90, 0x3b, 0x49, 0x17, 0xa4, 0x54, 0xef, 0x5a, 0x32, 0x6d, 0x3d, 0x9f, + 0x56, 0x18, 0xe5, 0x95, +}; +static const struct drbg_kat_pr_true kat3800_t = { + 4, kat3800_entropyin, kat3800_nonce, kat3800_persstr, + kat3800_entropyinpr1, kat3800_addinpr1, kat3800_entropyinpr2, + kat3800_addinpr2, kat3800_retbits +}; +static const struct drbg_kat kat3800 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3800_t +}; + +static const unsigned char kat3801_entropyin[] = { + 0x27, 0x43, 0xf8, 0xb3, 0x7d, 0x24, 0x2a, 0xe4, 0x92, 0x8e, 0x61, 0xb9, + 0x46, 0x92, 0xe9, 0x2a, 0x73, 0xe9, 0xdb, 0xcf, 0x26, 0xff, 0xfc, 0xbd, + 0xf8, 0x6a, 0xf2, 0x00, 0xe2, 0x48, 0xa8, 0x9c, +}; +static const unsigned char kat3801_nonce[] = {0}; +static const unsigned char kat3801_persstr[] = {0}; +static const unsigned char kat3801_entropyinpr1[] = { + 0xb5, 0xb8, 0xc3, 0xb0, 0xd8, 0xdb, 0x9a, 0x0f, 0x30, 0x90, 0xe0, 0x82, + 0x68, 0x6d, 0x02, 0x66, 0x92, 0x4e, 0x59, 0xd1, 0x50, 0x58, 0x1b, 0xc1, + 0x7f, 0x99, 0x6f, 0x8d, 0x8e, 0xfa, 0xa5, 0xdb, +}; +static const unsigned char kat3801_addinpr1[] = { + 0x7e, 0xd4, 0x21, 0xae, 0xe6, 0xff, 0x71, 0x16, 0x0f, 0x00, 0x02, 0xc2, + 0x85, 0x53, 0xc1, 0xb7, 0xca, 0xb5, 0xcf, 0x69, 0x66, 0xef, 0xc2, 0xba, + 0x38, 0x6a, 0x84, 0xe6, 0xbf, 0xe7, 0x75, 0x5e, +}; +static const unsigned char kat3801_entropyinpr2[] = { + 0x7e, 0x09, 0x09, 0x22, 0x19, 0xc3, 0x0f, 0x0a, 0xb2, 0x1a, 0x9b, 0xff, + 0x15, 0xe6, 0x53, 0xdc, 0x47, 0xa8, 0xf7, 0x8a, 0x9b, 0x48, 0xdd, 0x44, + 0xa0, 0x06, 0xb9, 0x4c, 0xd2, 0xf3, 0x40, 0x64, +}; +static const unsigned char kat3801_addinpr2[] = { + 0x15, 0xbe, 0xac, 0xda, 0xf7, 0x1f, 0xf4, 0x6f, 0x96, 0xa0, 0x94, 0xd0, + 0x19, 0xfa, 0x1b, 0xcf, 0x8d, 0x37, 0x12, 0x30, 0x35, 0xa7, 0xb5, 0xfa, + 0xd3, 0x1b, 0x77, 0x5f, 0x7d, 0x4d, 0xc8, 0x61, +}; +static const unsigned char kat3801_retbits[] = { + 0x9b, 0x8a, 0x28, 0x52, 0x03, 0x8a, 0x57, 0xae, 0x7d, 0xad, 0xe5, 0x7b, + 0xd9, 0xee, 0xc5, 0x08, 0xa2, 0xa2, 0xad, 0xc4, 0xd9, 0x89, 0x4f, 0x8e, + 0xf9, 0x95, 0x1c, 0xe1, 0x16, 0x4b, 0x0b, 0xd2, 0x79, 0x80, 0x08, 0x45, + 0x6a, 0x29, 0xa3, 0xae, 0xa0, 0x5d, 0x43, 0xef, 0x94, 0xed, 0x12, 0xf9, + 0xa7, 0xba, 0x9b, 0xed, 0xb2, 0x76, 0x39, 0xfc, 0x29, 0xeb, 0x03, 0x54, + 0x39, 0x07, 0x18, 0xdc, +}; +static const struct drbg_kat_pr_true kat3801_t = { + 5, kat3801_entropyin, kat3801_nonce, kat3801_persstr, + kat3801_entropyinpr1, kat3801_addinpr1, kat3801_entropyinpr2, + kat3801_addinpr2, kat3801_retbits +}; +static const struct drbg_kat kat3801 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3801_t +}; + +static const unsigned char kat3802_entropyin[] = { + 0x59, 0x06, 0xe1, 0xde, 0x68, 0xed, 0x4b, 0x52, 0xd6, 0x0e, 0xc9, 0x7a, + 0xc6, 0x62, 0xe8, 0xc0, 0xab, 0xfc, 0x1c, 0xb3, 0x1b, 0x46, 0x11, 0x3d, + 0xf2, 0x41, 0xfa, 0x88, 0x8c, 0xc3, 0xb4, 0xeb, +}; +static const unsigned char kat3802_nonce[] = {0}; +static const unsigned char kat3802_persstr[] = {0}; +static const unsigned char kat3802_entropyinpr1[] = { + 0xae, 0xa7, 0x34, 0x57, 0x8a, 0xa6, 0x62, 0xcc, 0x13, 0x5f, 0x0c, 0x88, + 0xec, 0x24, 0xe7, 0x10, 0x07, 0x7a, 0x8a, 0x2e, 0xa3, 0x18, 0x69, 0xdb, + 0xf9, 0x92, 0x1f, 0x48, 0x5a, 0x66, 0x47, 0x40, +}; +static const unsigned char kat3802_addinpr1[] = { + 0xf0, 0xa6, 0x5a, 0xf4, 0x8d, 0x67, 0xbe, 0x70, 0x5f, 0xf6, 0xda, 0xb9, + 0x40, 0x53, 0x3d, 0x72, 0x50, 0x15, 0x6a, 0x28, 0x2d, 0xba, 0x18, 0x56, + 0xa7, 0xfa, 0x1d, 0x13, 0x2e, 0xcc, 0xb5, 0xe6, +}; +static const unsigned char kat3802_entropyinpr2[] = { + 0x0f, 0x24, 0xc6, 0xd7, 0xf9, 0x32, 0x24, 0x11, 0x01, 0x67, 0x34, 0xea, + 0x1c, 0x26, 0x52, 0xce, 0x88, 0x0d, 0x65, 0x82, 0x66, 0x0c, 0x89, 0xba, + 0xfc, 0xad, 0x7a, 0xe7, 0x5d, 0x90, 0x02, 0x9f, +}; +static const unsigned char kat3802_addinpr2[] = { + 0xcd, 0xa4, 0xcd, 0xc0, 0xc7, 0xf7, 0x37, 0x45, 0x42, 0xd9, 0x07, 0x24, + 0xf4, 0xae, 0x94, 0x68, 0xe6, 0x68, 0x16, 0x40, 0x23, 0x29, 0x58, 0xbb, + 0x1a, 0xc1, 0xc4, 0xaa, 0xdb, 0xc3, 0x27, 0xe3, +}; +static const unsigned char kat3802_retbits[] = { + 0x9b, 0x3b, 0xf3, 0xf8, 0xb9, 0x14, 0xe6, 0x49, 0x62, 0x78, 0x84, 0xa9, + 0xdb, 0x3b, 0xea, 0xca, 0x71, 0x12, 0x70, 0xb5, 0x4d, 0xdb, 0xd4, 0x0d, + 0x31, 0x80, 0x20, 0x0f, 0x0a, 0x09, 0xbd, 0x98, 0x83, 0x79, 0x45, 0xda, + 0x9c, 0xb0, 0x26, 0x00, 0xe8, 0xfe, 0xff, 0x41, 0x0b, 0xb5, 0xd8, 0xde, + 0x4c, 0x8e, 0x4f, 0xf1, 0x2f, 0xb6, 0x2b, 0xa3, 0x94, 0x5a, 0x7d, 0xcd, + 0x24, 0x9b, 0x36, 0xa1, +}; +static const struct drbg_kat_pr_true kat3802_t = { + 6, kat3802_entropyin, kat3802_nonce, kat3802_persstr, + kat3802_entropyinpr1, kat3802_addinpr1, kat3802_entropyinpr2, + kat3802_addinpr2, kat3802_retbits +}; +static const struct drbg_kat kat3802 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3802_t +}; + +static const unsigned char kat3803_entropyin[] = { + 0x9d, 0xf1, 0x04, 0x38, 0xa5, 0xfe, 0x5e, 0xf0, 0x63, 0x13, 0x46, 0xab, + 0xae, 0x84, 0xfe, 0x08, 0x5a, 0x5d, 0x66, 0x2a, 0xae, 0x49, 0x27, 0xa0, + 0x42, 0x29, 0x21, 0xe0, 0xc5, 0x0c, 0x9a, 0x16, +}; +static const unsigned char kat3803_nonce[] = {0}; +static const unsigned char kat3803_persstr[] = {0}; +static const unsigned char kat3803_entropyinpr1[] = { + 0x32, 0xb4, 0x16, 0xbb, 0x02, 0xe2, 0xd4, 0xdb, 0xce, 0x86, 0x0e, 0x57, + 0x02, 0x0b, 0x25, 0x16, 0x98, 0xe3, 0xf9, 0x6d, 0x55, 0xd4, 0x5c, 0x0d, + 0x0a, 0x12, 0x4f, 0x8e, 0xc5, 0xf4, 0x33, 0x70, +}; +static const unsigned char kat3803_addinpr1[] = { + 0xd0, 0xb0, 0xec, 0xc9, 0x8a, 0xff, 0x92, 0x9d, 0x67, 0xf2, 0x0c, 0x86, + 0x51, 0x9d, 0x27, 0x64, 0xa0, 0x77, 0x1c, 0x23, 0x25, 0xf1, 0xce, 0x75, + 0x94, 0xe7, 0x74, 0x25, 0xe3, 0x8f, 0xcb, 0x71, +}; +static const unsigned char kat3803_entropyinpr2[] = { + 0x5b, 0xe9, 0xeb, 0x7b, 0x43, 0x73, 0x80, 0xa9, 0xd4, 0x79, 0x01, 0xcc, + 0x4b, 0xb9, 0xdd, 0xc4, 0xbc, 0x62, 0x01, 0xd9, 0x06, 0x0b, 0x24, 0x78, + 0x60, 0x0e, 0x3f, 0x97, 0x28, 0x7f, 0xea, 0x37, +}; +static const unsigned char kat3803_addinpr2[] = { + 0xfc, 0x61, 0xb3, 0x4f, 0xa0, 0x34, 0xed, 0x67, 0x39, 0xb1, 0xa3, 0xf3, + 0x64, 0xb4, 0x1b, 0x7c, 0x8c, 0x60, 0x54, 0xfd, 0xfd, 0x14, 0xc4, 0x91, + 0x39, 0x19, 0x3b, 0x91, 0xcf, 0x6d, 0xc9, 0xb5, +}; +static const unsigned char kat3803_retbits[] = { + 0xc8, 0xe3, 0x35, 0x86, 0x1e, 0xbc, 0x61, 0xea, 0x6d, 0xde, 0x4c, 0x7e, + 0x6b, 0x9a, 0xfc, 0x90, 0x8f, 0xb9, 0x67, 0x44, 0x19, 0x31, 0xc1, 0xc1, + 0x3f, 0x8e, 0x5e, 0xbe, 0xef, 0x7d, 0xc5, 0x09, 0xd0, 0x7f, 0x01, 0x85, + 0xe9, 0x4a, 0x1d, 0x53, 0x5f, 0x5c, 0xf1, 0x33, 0xed, 0x98, 0x8b, 0xe5, + 0xf8, 0x3b, 0x86, 0xb0, 0x01, 0xc5, 0x5f, 0xe6, 0x1d, 0x78, 0x1c, 0xc5, + 0x05, 0x25, 0x9a, 0xff, +}; +static const struct drbg_kat_pr_true kat3803_t = { + 7, kat3803_entropyin, kat3803_nonce, kat3803_persstr, + kat3803_entropyinpr1, kat3803_addinpr1, kat3803_entropyinpr2, + kat3803_addinpr2, kat3803_retbits +}; +static const struct drbg_kat kat3803 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3803_t +}; + +static const unsigned char kat3804_entropyin[] = { + 0x21, 0xa8, 0xb5, 0x9c, 0x97, 0xf2, 0xf7, 0xaa, 0xb5, 0x09, 0x8e, 0xb5, + 0x47, 0x99, 0xeb, 0xea, 0x56, 0xb9, 0xf6, 0xc7, 0xb5, 0x61, 0x0d, 0xbe, + 0x33, 0xb8, 0x25, 0x07, 0xea, 0x0d, 0x6c, 0x58, +}; +static const unsigned char kat3804_nonce[] = {0}; +static const unsigned char kat3804_persstr[] = {0}; +static const unsigned char kat3804_entropyinpr1[] = { + 0x16, 0xef, 0x87, 0x1c, 0xb3, 0x79, 0x62, 0xc7, 0xf5, 0x80, 0x9c, 0x59, + 0x85, 0x7c, 0xb2, 0x7b, 0x31, 0x06, 0xcc, 0xf0, 0x22, 0x7f, 0x91, 0x75, + 0xc7, 0x1b, 0x03, 0x57, 0xd6, 0xfc, 0x97, 0x9d, +}; +static const unsigned char kat3804_addinpr1[] = { + 0x28, 0xf8, 0xf4, 0x76, 0xf9, 0x79, 0x4e, 0x5e, 0x30, 0xff, 0x71, 0x1e, + 0x2e, 0xe3, 0x17, 0x99, 0x4f, 0x5a, 0xb5, 0x1b, 0xcc, 0x09, 0x7e, 0x87, + 0x39, 0xcf, 0xb0, 0xa7, 0x26, 0x82, 0x5d, 0x6b, +}; +static const unsigned char kat3804_entropyinpr2[] = { + 0x12, 0x4f, 0x03, 0xb8, 0x4c, 0xac, 0x8b, 0x23, 0x3c, 0xc1, 0x3a, 0xa1, + 0xb3, 0xae, 0x7d, 0xa2, 0x8d, 0xcf, 0x85, 0xa1, 0xce, 0xdb, 0x4c, 0xf9, + 0x4a, 0xf8, 0x4c, 0x2f, 0x90, 0xdc, 0xfe, 0x7f, +}; +static const unsigned char kat3804_addinpr2[] = { + 0xf4, 0x07, 0xb5, 0x5a, 0x73, 0x18, 0x52, 0xa8, 0x48, 0x77, 0x7b, 0x14, + 0x93, 0x12, 0xfd, 0x34, 0x6b, 0x9b, 0xca, 0x7e, 0x77, 0x8d, 0x37, 0x6e, + 0xac, 0x5b, 0xde, 0x0b, 0x7b, 0xea, 0xf8, 0xcb, +}; +static const unsigned char kat3804_retbits[] = { + 0xaa, 0xdf, 0x5f, 0xda, 0x6a, 0x56, 0xe8, 0xc1, 0x48, 0x0d, 0x5c, 0x99, + 0x34, 0xe4, 0x49, 0x9e, 0xf4, 0x6d, 0x41, 0xd4, 0x46, 0x27, 0x3f, 0xcc, + 0x85, 0x40, 0x40, 0x2e, 0x45, 0x31, 0x37, 0xaa, 0x08, 0x63, 0x4c, 0xec, + 0x74, 0xf4, 0x3b, 0xc9, 0xb7, 0xe6, 0xcb, 0x14, 0x01, 0x52, 0x49, 0xb1, + 0x84, 0xa9, 0x1a, 0x43, 0xeb, 0x7c, 0x09, 0xa9, 0xa9, 0x5a, 0x92, 0xa6, + 0x49, 0x5d, 0x13, 0xd5, +}; +static const struct drbg_kat_pr_true kat3804_t = { + 8, kat3804_entropyin, kat3804_nonce, kat3804_persstr, + kat3804_entropyinpr1, kat3804_addinpr1, kat3804_entropyinpr2, + kat3804_addinpr2, kat3804_retbits +}; +static const struct drbg_kat kat3804 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3804_t +}; + +static const unsigned char kat3805_entropyin[] = { + 0x48, 0x3e, 0xe9, 0xfa, 0x60, 0xe7, 0xf9, 0x37, 0x72, 0x92, 0x6f, 0xa7, + 0xc5, 0x4f, 0x08, 0x23, 0xf4, 0x38, 0x05, 0x42, 0x06, 0x52, 0x39, 0xc5, + 0x60, 0xee, 0xb7, 0xad, 0xb4, 0x74, 0xe5, 0x34, +}; +static const unsigned char kat3805_nonce[] = {0}; +static const unsigned char kat3805_persstr[] = {0}; +static const unsigned char kat3805_entropyinpr1[] = { + 0x2b, 0x6c, 0x86, 0xa7, 0xcd, 0x5e, 0xc8, 0x90, 0xc8, 0x1b, 0xd7, 0x63, + 0xcb, 0x44, 0x52, 0x39, 0x1d, 0x3c, 0xcd, 0x41, 0x73, 0x9e, 0x0a, 0x61, + 0xcc, 0xb5, 0x9b, 0x28, 0x34, 0x38, 0x6d, 0xdc, +}; +static const unsigned char kat3805_addinpr1[] = { + 0x5c, 0x07, 0x64, 0x6e, 0x67, 0xbf, 0x53, 0xed, 0x23, 0x41, 0x9f, 0x7f, + 0xfb, 0x51, 0xe4, 0x3a, 0x30, 0x66, 0x57, 0x22, 0x3f, 0x0d, 0x07, 0x2c, + 0x34, 0x51, 0x25, 0xab, 0x70, 0x73, 0x7a, 0x02, +}; +static const unsigned char kat3805_entropyinpr2[] = { + 0x18, 0x45, 0x91, 0xf2, 0xd1, 0x1d, 0xfe, 0x9f, 0x54, 0x1f, 0x37, 0x5b, + 0x4a, 0x81, 0xf2, 0x98, 0x12, 0x98, 0x42, 0xf8, 0x68, 0x26, 0x06, 0x52, + 0x46, 0x24, 0x7b, 0x7f, 0xdc, 0x35, 0xc1, 0x62, +}; +static const unsigned char kat3805_addinpr2[] = { + 0x61, 0xa8, 0x83, 0xa3, 0x2e, 0xec, 0x11, 0x1e, 0x8d, 0xab, 0xbc, 0x78, + 0x79, 0x63, 0x75, 0x52, 0x65, 0xf8, 0x54, 0xd7, 0x83, 0x7d, 0xd2, 0xdb, + 0x5d, 0xe7, 0x21, 0xe3, 0x01, 0x6b, 0xf5, 0xe7, +}; +static const unsigned char kat3805_retbits[] = { + 0x12, 0xc0, 0xbd, 0xa3, 0x14, 0x4b, 0x7c, 0x6e, 0x8e, 0xa4, 0xb7, 0xbd, + 0x94, 0xc2, 0x0f, 0xf4, 0x16, 0xf8, 0x91, 0x36, 0x01, 0x3b, 0xbe, 0x16, + 0x04, 0xf6, 0xee, 0x33, 0x5f, 0x45, 0x50, 0xb9, 0x21, 0xc6, 0xb5, 0x8a, + 0x26, 0x27, 0xa2, 0x0a, 0x14, 0x82, 0x5c, 0x5b, 0x8e, 0xae, 0x41, 0x80, + 0x52, 0xf1, 0x65, 0xf7, 0xb1, 0x54, 0x27, 0xe7, 0xed, 0x83, 0x77, 0xd4, + 0x54, 0x4c, 0x8d, 0x95, +}; +static const struct drbg_kat_pr_true kat3805_t = { + 9, kat3805_entropyin, kat3805_nonce, kat3805_persstr, + kat3805_entropyinpr1, kat3805_addinpr1, kat3805_entropyinpr2, + kat3805_addinpr2, kat3805_retbits +}; +static const struct drbg_kat kat3805 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3805_t +}; + +static const unsigned char kat3806_entropyin[] = { + 0x5d, 0x12, 0x7c, 0x29, 0xee, 0x65, 0xdb, 0xb8, 0x2f, 0x10, 0x1f, 0x5f, + 0x40, 0x68, 0xb7, 0xf3, 0xb0, 0x80, 0xe3, 0x89, 0xc4, 0xbe, 0xb4, 0xc2, + 0x79, 0xc4, 0x25, 0x01, 0xbd, 0xbb, 0xe2, 0xb1, +}; +static const unsigned char kat3806_nonce[] = {0}; +static const unsigned char kat3806_persstr[] = {0}; +static const unsigned char kat3806_entropyinpr1[] = { + 0x6f, 0x1a, 0xe9, 0x47, 0x6b, 0xda, 0xf1, 0x8c, 0x3c, 0x84, 0x10, 0x7f, + 0x81, 0x11, 0x80, 0x26, 0x09, 0x62, 0x4e, 0x52, 0x47, 0xd5, 0x07, 0xfe, + 0x32, 0x16, 0xab, 0x19, 0x1b, 0x80, 0xb4, 0x33, +}; +static const unsigned char kat3806_addinpr1[] = { + 0x90, 0x5d, 0x3f, 0x85, 0x14, 0xc7, 0xda, 0xe6, 0x1e, 0x8e, 0x72, 0x95, + 0x11, 0xe3, 0xe8, 0xa1, 0x66, 0x98, 0xa7, 0xf8, 0xb4, 0xed, 0x5f, 0x85, + 0x70, 0xf8, 0x74, 0x58, 0x4a, 0xee, 0x96, 0x59, +}; +static const unsigned char kat3806_entropyinpr2[] = { + 0x50, 0xfd, 0xf5, 0xd4, 0xe9, 0xdc, 0x33, 0x5a, 0x8a, 0x1c, 0x66, 0xe8, + 0xf5, 0xc1, 0x9a, 0x17, 0x1f, 0x01, 0xc2, 0x9c, 0xc3, 0x5c, 0xb4, 0x33, + 0x74, 0x73, 0x91, 0xc7, 0x13, 0xcb, 0xf9, 0xf3, +}; +static const unsigned char kat3806_addinpr2[] = { + 0xaa, 0x8c, 0x36, 0xbc, 0x37, 0x2a, 0x5c, 0xc7, 0x8d, 0x14, 0xce, 0x58, + 0xfd, 0x74, 0x24, 0xa8, 0x84, 0x79, 0xa4, 0x23, 0x63, 0x16, 0x6a, 0x37, + 0x14, 0x59, 0x2d, 0x56, 0xeb, 0x13, 0xa0, 0x43, +}; +static const unsigned char kat3806_retbits[] = { + 0xcf, 0x4c, 0x37, 0x29, 0x81, 0xd2, 0xb0, 0x57, 0x47, 0xba, 0x74, 0x1b, + 0x02, 0x11, 0xe1, 0xdf, 0xe5, 0x62, 0x4d, 0x39, 0xc1, 0x7f, 0xad, 0x73, + 0xdb, 0x7c, 0xf2, 0xd8, 0x13, 0x41, 0x9d, 0x87, 0x8d, 0xd5, 0xe6, 0x4f, + 0x34, 0xdc, 0xbc, 0xdd, 0x58, 0x28, 0xce, 0x6d, 0xfa, 0x58, 0x51, 0x25, + 0xdd, 0xd3, 0x2c, 0xb2, 0x9e, 0x8e, 0x21, 0x62, 0x4e, 0x5d, 0x75, 0x58, + 0x76, 0xca, 0x5b, 0xa6, +}; +static const struct drbg_kat_pr_true kat3806_t = { + 10, kat3806_entropyin, kat3806_nonce, kat3806_persstr, + kat3806_entropyinpr1, kat3806_addinpr1, kat3806_entropyinpr2, + kat3806_addinpr2, kat3806_retbits +}; +static const struct drbg_kat kat3806 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3806_t +}; + +static const unsigned char kat3807_entropyin[] = { + 0xd0, 0x6b, 0xae, 0xb8, 0x51, 0x97, 0xf6, 0x0b, 0x27, 0x17, 0x71, 0xb6, + 0x25, 0xe0, 0x41, 0xc3, 0x73, 0x58, 0x76, 0xb1, 0x74, 0xdb, 0xd1, 0x53, + 0x70, 0x02, 0xec, 0x7e, 0x95, 0xf4, 0xa9, 0x16, +}; +static const unsigned char kat3807_nonce[] = {0}; +static const unsigned char kat3807_persstr[] = {0}; +static const unsigned char kat3807_entropyinpr1[] = { + 0xbc, 0x8b, 0xdc, 0x23, 0xe0, 0xf2, 0xc8, 0xe4, 0x0b, 0x53, 0xf7, 0x50, + 0xf8, 0xb0, 0xde, 0x61, 0x44, 0xac, 0xac, 0x6c, 0xf6, 0xca, 0x4f, 0x66, + 0xe5, 0x4f, 0x31, 0x44, 0x0b, 0x1b, 0x9b, 0xab, +}; +static const unsigned char kat3807_addinpr1[] = { + 0x16, 0x92, 0xed, 0x36, 0xa3, 0x09, 0x66, 0x28, 0x81, 0x02, 0x76, 0x33, + 0x3b, 0x1f, 0xf5, 0x66, 0xaa, 0x41, 0xed, 0xe8, 0x6e, 0x4a, 0xe2, 0x93, + 0x92, 0x55, 0xf9, 0xe5, 0x77, 0xba, 0x87, 0x7f, +}; +static const unsigned char kat3807_entropyinpr2[] = { + 0x1a, 0x86, 0x0e, 0x6e, 0xaf, 0x23, 0x7f, 0x51, 0x6e, 0xb0, 0x07, 0x0c, + 0x18, 0x65, 0x86, 0x5b, 0x08, 0x76, 0x55, 0xa0, 0x3d, 0xac, 0x8b, 0x86, + 0x30, 0x34, 0xf3, 0x91, 0x1a, 0xf3, 0xdc, 0x39, +}; +static const unsigned char kat3807_addinpr2[] = { + 0x66, 0xbe, 0xef, 0x40, 0x3f, 0x26, 0xa6, 0x1b, 0x3b, 0x45, 0xe5, 0x2a, + 0x30, 0x16, 0x02, 0x55, 0x7e, 0x1c, 0x13, 0x11, 0x69, 0x85, 0x5c, 0x02, + 0x87, 0x8e, 0xcb, 0x16, 0xe0, 0x2d, 0xa0, 0xaf, +}; +static const unsigned char kat3807_retbits[] = { + 0xc6, 0x57, 0x95, 0xb4, 0x4d, 0x82, 0x65, 0x8a, 0x57, 0xc6, 0xd5, 0xf0, + 0xf8, 0xf3, 0x63, 0xeb, 0x5f, 0xc7, 0xae, 0x7e, 0x9e, 0x09, 0x15, 0xb8, + 0x83, 0xd0, 0xe0, 0x2b, 0xb7, 0xcc, 0x3d, 0x13, 0x78, 0xcb, 0xf8, 0xbd, + 0xd2, 0x5d, 0x0c, 0xf3, 0xf4, 0x43, 0xfc, 0x25, 0xfe, 0xce, 0x1f, 0xd5, + 0xb4, 0xa8, 0x77, 0xdd, 0x92, 0xeb, 0xe7, 0x40, 0x67, 0xab, 0x72, 0x86, + 0x0a, 0x2e, 0xf7, 0x2d, +}; +static const struct drbg_kat_pr_true kat3807_t = { + 11, kat3807_entropyin, kat3807_nonce, kat3807_persstr, + kat3807_entropyinpr1, kat3807_addinpr1, kat3807_entropyinpr2, + kat3807_addinpr2, kat3807_retbits +}; +static const struct drbg_kat kat3807 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3807_t +}; + +static const unsigned char kat3808_entropyin[] = { + 0x57, 0x35, 0xc8, 0x1c, 0xcc, 0xf6, 0xd8, 0xab, 0x94, 0xd1, 0x5b, 0xc0, + 0xcd, 0xc4, 0xfb, 0x64, 0xe6, 0xe3, 0x16, 0x89, 0x04, 0x38, 0x9d, 0xd4, + 0xa4, 0x5d, 0xbf, 0x41, 0xe9, 0xce, 0x1b, 0xc0, +}; +static const unsigned char kat3808_nonce[] = {0}; +static const unsigned char kat3808_persstr[] = {0}; +static const unsigned char kat3808_entropyinpr1[] = { + 0xee, 0xf1, 0x16, 0x61, 0x40, 0x75, 0x26, 0xdd, 0x66, 0x73, 0xfa, 0x08, + 0x0d, 0x26, 0x22, 0xf3, 0x28, 0x9d, 0x98, 0x2f, 0x24, 0x26, 0xb7, 0x93, + 0x0a, 0x23, 0x90, 0x23, 0x99, 0xd0, 0x6e, 0x28, +}; +static const unsigned char kat3808_addinpr1[] = { + 0x11, 0xb6, 0x19, 0x04, 0x54, 0xb6, 0x9c, 0x99, 0x8c, 0x7a, 0x6b, 0x1a, + 0x77, 0x0b, 0x07, 0xe3, 0xbb, 0xbb, 0x9e, 0x59, 0xca, 0xa7, 0x53, 0xda, + 0x79, 0x9e, 0xc4, 0xcb, 0xf6, 0x4e, 0xd6, 0xc1, +}; +static const unsigned char kat3808_entropyinpr2[] = { + 0x12, 0xfd, 0x7a, 0x46, 0x26, 0x47, 0xaa, 0x6c, 0x49, 0x83, 0x2a, 0x68, + 0xbb, 0x2b, 0x74, 0xde, 0xce, 0x33, 0x5c, 0x7d, 0xa4, 0x65, 0x84, 0x98, + 0x19, 0x9d, 0x43, 0x9a, 0x4b, 0x2a, 0xbd, 0x34, +}; +static const unsigned char kat3808_addinpr2[] = { + 0x1f, 0x07, 0x10, 0x76, 0xda, 0x26, 0x6c, 0x8f, 0xe9, 0xf5, 0x61, 0x1a, + 0xce, 0x68, 0x78, 0x29, 0x2b, 0xa3, 0x7f, 0x25, 0xa9, 0x12, 0x27, 0xf6, + 0x24, 0x8e, 0x2b, 0x5a, 0x96, 0xf9, 0x6b, 0xec, +}; +static const unsigned char kat3808_retbits[] = { + 0xff, 0xd5, 0x08, 0xdc, 0xc3, 0xc5, 0x16, 0x78, 0xb9, 0x95, 0x4c, 0x69, + 0x20, 0xa7, 0x00, 0x54, 0x15, 0x5b, 0x5f, 0xaf, 0x9d, 0xb5, 0xf6, 0x7a, + 0xe1, 0x22, 0x79, 0xef, 0x3e, 0xcd, 0x75, 0x3d, 0x28, 0x0d, 0x24, 0xfc, + 0x10, 0xd3, 0xe8, 0xb3, 0xc1, 0x54, 0x94, 0x83, 0x68, 0x31, 0x1e, 0x99, + 0x1f, 0x8c, 0xa7, 0xcd, 0x13, 0x19, 0x3b, 0x6a, 0x51, 0xe7, 0x50, 0xe0, + 0xde, 0x0f, 0x7e, 0x85, +}; +static const struct drbg_kat_pr_true kat3808_t = { + 12, kat3808_entropyin, kat3808_nonce, kat3808_persstr, + kat3808_entropyinpr1, kat3808_addinpr1, kat3808_entropyinpr2, + kat3808_addinpr2, kat3808_retbits +}; +static const struct drbg_kat kat3808 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3808_t +}; + +static const unsigned char kat3809_entropyin[] = { + 0x9e, 0x83, 0x1d, 0x78, 0x17, 0x60, 0x92, 0x48, 0x95, 0xdd, 0xe9, 0xae, + 0x33, 0xb4, 0xe1, 0x52, 0xba, 0xe2, 0x00, 0x72, 0x85, 0xf4, 0xf7, 0xad, + 0x29, 0x4e, 0x29, 0x5b, 0x45, 0xb3, 0xde, 0x63, +}; +static const unsigned char kat3809_nonce[] = {0}; +static const unsigned char kat3809_persstr[] = {0}; +static const unsigned char kat3809_entropyinpr1[] = { + 0x26, 0x59, 0x19, 0x42, 0xfc, 0xa9, 0xfa, 0xf5, 0xf7, 0x3d, 0x60, 0xcf, + 0xaf, 0x89, 0xbd, 0x21, 0x33, 0x1b, 0x96, 0xac, 0x1a, 0xb1, 0xcb, 0x66, + 0xe2, 0xf7, 0x34, 0x59, 0x33, 0x6e, 0x62, 0x6d, +}; +static const unsigned char kat3809_addinpr1[] = { + 0xd9, 0x31, 0xa3, 0xf1, 0xdc, 0x6d, 0x4a, 0xf2, 0x8d, 0xa7, 0x3f, 0x4f, + 0xff, 0x02, 0x72, 0xc2, 0x7b, 0x52, 0x9f, 0xe8, 0xd0, 0x87, 0x6b, 0x4c, + 0xf6, 0x26, 0x4c, 0x4c, 0x0b, 0x85, 0x03, 0x3c, +}; +static const unsigned char kat3809_entropyinpr2[] = { + 0x23, 0xc8, 0xee, 0xaf, 0x66, 0x51, 0xe0, 0xf9, 0xc7, 0xba, 0xcc, 0x8a, + 0xa8, 0x32, 0xa2, 0x40, 0xa9, 0x0d, 0x1a, 0x5e, 0x48, 0x1d, 0xb9, 0x58, + 0x95, 0x27, 0xe8, 0xbb, 0x6b, 0x61, 0x7a, 0x8f, +}; +static const unsigned char kat3809_addinpr2[] = { + 0x15, 0x98, 0xb0, 0x4a, 0x3c, 0x9d, 0x3f, 0xc1, 0x27, 0xea, 0xf8, 0xf1, + 0x36, 0xdf, 0xc5, 0x64, 0x69, 0x0a, 0x48, 0x1a, 0x86, 0x8c, 0xb8, 0x60, + 0x5e, 0x07, 0x68, 0x3a, 0xa5, 0xb9, 0x1c, 0xcc, +}; +static const unsigned char kat3809_retbits[] = { + 0xbc, 0xac, 0xb4, 0x29, 0xa5, 0xf7, 0x06, 0x7f, 0x79, 0xfe, 0xb4, 0x71, + 0x7c, 0x31, 0xfd, 0x39, 0x91, 0xa4, 0xf9, 0x61, 0x8d, 0x89, 0x00, 0xa2, + 0x6c, 0x0d, 0x53, 0x1e, 0x21, 0x31, 0x9b, 0x0d, 0x49, 0x5c, 0x91, 0xf2, + 0xe1, 0x14, 0xca, 0x4c, 0x78, 0x05, 0x95, 0xa2, 0x6b, 0x0c, 0xd0, 0x3d, + 0x4d, 0x0d, 0x43, 0x05, 0x67, 0x79, 0x4b, 0xa1, 0xeb, 0x35, 0x8b, 0x86, + 0xc9, 0xf5, 0xa3, 0x60, +}; +static const struct drbg_kat_pr_true kat3809_t = { + 13, kat3809_entropyin, kat3809_nonce, kat3809_persstr, + kat3809_entropyinpr1, kat3809_addinpr1, kat3809_entropyinpr2, + kat3809_addinpr2, kat3809_retbits +}; +static const struct drbg_kat kat3809 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3809_t +}; + +static const unsigned char kat3810_entropyin[] = { + 0x63, 0xe9, 0x37, 0xe3, 0x4c, 0xa9, 0xcd, 0x2d, 0xad, 0x10, 0xcd, 0xed, + 0x36, 0x67, 0xec, 0x36, 0x17, 0x78, 0x0e, 0x04, 0x30, 0x6d, 0xf1, 0x15, + 0x09, 0xe8, 0x33, 0xbd, 0x7a, 0x96, 0x61, 0x0e, +}; +static const unsigned char kat3810_nonce[] = {0}; +static const unsigned char kat3810_persstr[] = {0}; +static const unsigned char kat3810_entropyinpr1[] = { + 0xa4, 0x46, 0x4a, 0x11, 0x16, 0xea, 0x8c, 0x17, 0x61, 0x6a, 0xd3, 0x67, + 0x29, 0xf5, 0x8e, 0x47, 0xa9, 0x0f, 0xb7, 0x9c, 0x26, 0x90, 0x4d, 0xbb, + 0xc7, 0x11, 0x47, 0x70, 0x9c, 0xff, 0x35, 0xad, +}; +static const unsigned char kat3810_addinpr1[] = { + 0x6b, 0x62, 0x0b, 0xc5, 0x83, 0x88, 0xae, 0xcc, 0x90, 0xab, 0x95, 0xed, + 0x4d, 0x4b, 0xe4, 0xae, 0x3c, 0xd3, 0x6a, 0x00, 0x0a, 0x30, 0xeb, 0x7e, + 0x90, 0xee, 0x79, 0xcc, 0xd5, 0xe3, 0x26, 0x50, +}; +static const unsigned char kat3810_entropyinpr2[] = { + 0xd0, 0xb9, 0xc1, 0x2b, 0xd6, 0xb1, 0x78, 0xf8, 0x9a, 0x23, 0x8a, 0xfb, + 0x0f, 0xce, 0x43, 0xd4, 0x5d, 0xfd, 0x24, 0x67, 0xb3, 0xa1, 0xcf, 0x9b, + 0x1a, 0xa3, 0x19, 0x60, 0x17, 0x9f, 0x12, 0x5c, +}; +static const unsigned char kat3810_addinpr2[] = { + 0x0b, 0xf2, 0x12, 0x30, 0x2b, 0x4d, 0x20, 0xc6, 0xd2, 0xb7, 0x99, 0xc9, + 0xfd, 0x69, 0x2b, 0x14, 0xb5, 0x67, 0x28, 0x97, 0xfc, 0x45, 0xb4, 0x16, + 0xad, 0xda, 0xf5, 0x55, 0x01, 0xc8, 0x10, 0xea, +}; +static const unsigned char kat3810_retbits[] = { + 0x7e, 0x57, 0x20, 0x12, 0x6c, 0xe4, 0xef, 0x83, 0xb7, 0x85, 0xd9, 0x64, + 0x99, 0x15, 0xcf, 0x76, 0xed, 0x6e, 0xf3, 0x18, 0x42, 0x29, 0x50, 0xb6, + 0x54, 0x0c, 0xef, 0x9a, 0x0c, 0xa9, 0x0c, 0x40, 0x20, 0x3b, 0x3a, 0x36, + 0x5b, 0x8a, 0x5c, 0x40, 0xd6, 0x34, 0x75, 0xf7, 0xb3, 0x7f, 0x53, 0x66, + 0xb7, 0xf2, 0xed, 0x6e, 0x18, 0x88, 0x5e, 0x36, 0x1b, 0xa8, 0x9d, 0x46, + 0x35, 0x00, 0x28, 0xe4, +}; +static const struct drbg_kat_pr_true kat3810_t = { + 14, kat3810_entropyin, kat3810_nonce, kat3810_persstr, + kat3810_entropyinpr1, kat3810_addinpr1, kat3810_entropyinpr2, + kat3810_addinpr2, kat3810_retbits +}; +static const struct drbg_kat kat3810 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 0, 32, 64, &kat3810_t +}; + +static const unsigned char kat3811_entropyin[] = { + 0xb9, 0x49, 0x7a, 0xd7, 0x44, 0x95, 0xfe, 0x66, 0xc2, 0x74, 0xfd, 0x52, + 0x41, 0xc7, 0xd3, 0x06, 0x71, 0x39, 0xfd, 0xd4, 0x66, 0x5e, 0xd1, 0x2e, + 0xde, 0x09, 0x71, 0x0b, 0x08, 0x0c, 0xb2, 0xe7, +}; +static const unsigned char kat3811_nonce[] = {0}; +static const unsigned char kat3811_persstr[] = { + 0x16, 0x52, 0x42, 0x76, 0x14, 0x8d, 0x95, 0x59, 0x0d, 0x75, 0x7e, 0xbf, + 0xd7, 0xd2, 0xf1, 0x44, 0xce, 0x21, 0x81, 0x9b, 0x66, 0xdc, 0x40, 0xab, + 0x9f, 0x6a, 0x6a, 0x13, 0x06, 0x91, 0x5f, 0xf9, +}; +static const unsigned char kat3811_entropyinpr1[] = { + 0x08, 0xe8, 0x25, 0x55, 0x24, 0x98, 0x83, 0xf5, 0x4b, 0x04, 0x07, 0x53, + 0x41, 0x7d, 0xf7, 0xaa, 0x26, 0x77, 0xbd, 0xf8, 0x7f, 0x99, 0x1d, 0xd1, + 0x0a, 0xdb, 0x59, 0x2f, 0xfb, 0xba, 0xdd, 0x29, +}; +static const unsigned char kat3811_addinpr1[] = {0}; +static const unsigned char kat3811_entropyinpr2[] = { + 0x26, 0x36, 0x4f, 0xc5, 0xa0, 0xf1, 0x55, 0x54, 0xc8, 0x19, 0x22, 0x1c, + 0x83, 0x42, 0x31, 0x8f, 0x31, 0xb5, 0xc9, 0x51, 0xae, 0x0e, 0x08, 0xad, + 0x8a, 0xf6, 0x03, 0x4c, 0xd8, 0x16, 0xf0, 0x36, +}; +static const unsigned char kat3811_addinpr2[] = {0}; +static const unsigned char kat3811_retbits[] = { + 0xf6, 0x9c, 0xd5, 0x76, 0x93, 0xa9, 0x28, 0x59, 0xee, 0x17, 0x40, 0xaf, + 0x65, 0xc8, 0xe4, 0x0e, 0x25, 0xc9, 0xba, 0xae, 0x04, 0xce, 0x92, 0x5b, + 0xb3, 0x25, 0xc0, 0x92, 0x68, 0xd3, 0x8d, 0xd9, 0x97, 0x70, 0x10, 0x08, + 0xa6, 0x5c, 0x79, 0x60, 0x81, 0x12, 0xc9, 0x55, 0xdc, 0x58, 0xb5, 0x79, + 0x75, 0x52, 0x76, 0x0e, 0xec, 0x50, 0xe3, 0x7a, 0x70, 0x90, 0x23, 0xcf, + 0x4a, 0x8c, 0x36, 0xeb, +}; +static const struct drbg_kat_pr_true kat3811_t = { + 0, kat3811_entropyin, kat3811_nonce, kat3811_persstr, + kat3811_entropyinpr1, kat3811_addinpr1, kat3811_entropyinpr2, + kat3811_addinpr2, kat3811_retbits +}; +static const struct drbg_kat kat3811 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3811_t +}; + +static const unsigned char kat3812_entropyin[] = { + 0x2a, 0xec, 0x54, 0xd5, 0xab, 0x90, 0xde, 0x43, 0xb6, 0xfe, 0xd4, 0x84, + 0x78, 0x65, 0xab, 0xc9, 0xbf, 0x64, 0x8c, 0xf9, 0xba, 0x45, 0x60, 0xcb, + 0x35, 0x9d, 0x1e, 0xe7, 0x6b, 0xf3, 0xcf, 0x33, +}; +static const unsigned char kat3812_nonce[] = {0}; +static const unsigned char kat3812_persstr[] = { + 0xbc, 0x88, 0xec, 0xdf, 0x28, 0x37, 0xf9, 0x41, 0x56, 0x89, 0xb2, 0xc5, + 0x89, 0x5e, 0x7a, 0xe1, 0xe5, 0x4c, 0xd5, 0xa9, 0x78, 0xcf, 0xd2, 0x6c, + 0x90, 0x47, 0x40, 0x93, 0xb4, 0xe9, 0x12, 0xfe, +}; +static const unsigned char kat3812_entropyinpr1[] = { + 0xb8, 0xe5, 0x0e, 0xa1, 0x18, 0x58, 0xa4, 0xc9, 0xc5, 0x61, 0x24, 0x3d, + 0xeb, 0xdf, 0x63, 0xbe, 0x66, 0xcf, 0xa3, 0xf9, 0x33, 0xe5, 0xd9, 0x4a, + 0x22, 0xc1, 0x07, 0x62, 0x88, 0xbf, 0xaf, 0x9d, +}; +static const unsigned char kat3812_addinpr1[] = {0}; +static const unsigned char kat3812_entropyinpr2[] = { + 0xa2, 0xd6, 0x29, 0x19, 0x06, 0x82, 0xa2, 0x88, 0x16, 0x4a, 0x50, 0x33, + 0x50, 0xd2, 0x9a, 0x0d, 0x5e, 0x9b, 0xba, 0x37, 0x33, 0x87, 0x76, 0x84, + 0xa4, 0xd2, 0xa7, 0xf7, 0xb7, 0x0a, 0xbb, 0xf1, +}; +static const unsigned char kat3812_addinpr2[] = {0}; +static const unsigned char kat3812_retbits[] = { + 0xa2, 0xc4, 0x9d, 0xae, 0x90, 0xa3, 0x13, 0x70, 0x4c, 0x91, 0x96, 0xe6, + 0x69, 0xdb, 0xb0, 0xd4, 0xd2, 0x5c, 0x05, 0xe3, 0x50, 0xde, 0x02, 0x45, + 0x66, 0x25, 0xc0, 0x2c, 0x5a, 0x0c, 0x77, 0x5f, 0xc3, 0x03, 0xf4, 0x9e, + 0x1f, 0x8f, 0xd4, 0xd9, 0x76, 0x33, 0xb2, 0xe7, 0xbc, 0x5b, 0xcf, 0x7a, + 0xd1, 0x15, 0x52, 0x95, 0x87, 0x80, 0xf4, 0x81, 0x5f, 0xa6, 0x01, 0xa7, + 0xdc, 0x75, 0x8d, 0xe1, +}; +static const struct drbg_kat_pr_true kat3812_t = { + 1, kat3812_entropyin, kat3812_nonce, kat3812_persstr, + kat3812_entropyinpr1, kat3812_addinpr1, kat3812_entropyinpr2, + kat3812_addinpr2, kat3812_retbits +}; +static const struct drbg_kat kat3812 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3812_t +}; + +static const unsigned char kat3813_entropyin[] = { + 0x94, 0x87, 0xd0, 0xdd, 0x5b, 0x9f, 0x44, 0x67, 0x7a, 0x8b, 0x60, 0x25, + 0x13, 0xc9, 0xf7, 0x4e, 0xb3, 0x1a, 0x48, 0xfb, 0x38, 0x75, 0x9f, 0xb6, + 0xfa, 0xa2, 0x8b, 0x7f, 0x7e, 0xc2, 0x0e, 0x3b, +}; +static const unsigned char kat3813_nonce[] = {0}; +static const unsigned char kat3813_persstr[] = { + 0xf6, 0xf3, 0x0d, 0xa2, 0x71, 0xb7, 0x47, 0x00, 0x95, 0xa8, 0x2f, 0xdc, + 0xfc, 0xd5, 0xa0, 0x8b, 0x4d, 0xbb, 0x0a, 0xba, 0x2b, 0x5b, 0x3f, 0xa0, + 0x65, 0x4d, 0x63, 0x45, 0xc7, 0xdf, 0x72, 0x87, +}; +static const unsigned char kat3813_entropyinpr1[] = { + 0x86, 0xb7, 0x57, 0xa6, 0x73, 0xeb, 0xca, 0xd9, 0xf7, 0x48, 0x84, 0x1b, + 0x67, 0x4c, 0x20, 0xea, 0x1c, 0x6d, 0xf4, 0x19, 0x68, 0xec, 0xab, 0xde, + 0xef, 0xa6, 0xbe, 0xcd, 0x56, 0xe2, 0x94, 0xba, +}; +static const unsigned char kat3813_addinpr1[] = {0}; +static const unsigned char kat3813_entropyinpr2[] = { + 0xab, 0x66, 0x5a, 0x80, 0xd4, 0xd0, 0x3a, 0x09, 0xb8, 0x4d, 0x90, 0xbf, + 0x82, 0x34, 0x7c, 0x5f, 0xa9, 0xbf, 0x5b, 0xeb, 0xb1, 0x28, 0x34, 0x8b, + 0xdf, 0x17, 0xf9, 0xe6, 0xa4, 0x22, 0xc3, 0x7e, +}; +static const unsigned char kat3813_addinpr2[] = {0}; +static const unsigned char kat3813_retbits[] = { + 0xd4, 0xc4, 0x7e, 0x64, 0xe6, 0x3b, 0x8c, 0x1a, 0x2f, 0xcf, 0x12, 0x00, + 0xf5, 0x99, 0xe2, 0xcd, 0x12, 0x5f, 0xd0, 0xd2, 0x46, 0xa6, 0x4f, 0x19, + 0x02, 0x78, 0x49, 0x11, 0x14, 0xb7, 0xd0, 0x7d, 0x77, 0x89, 0xe3, 0xaf, + 0xde, 0x6c, 0x27, 0x67, 0x3c, 0x32, 0x93, 0x50, 0x46, 0xa9, 0xbe, 0x68, + 0xdd, 0xb7, 0xea, 0x8d, 0x3e, 0x24, 0xab, 0x63, 0xa7, 0x06, 0x98, 0x43, + 0x06, 0x49, 0x2a, 0x23, +}; +static const struct drbg_kat_pr_true kat3813_t = { + 2, kat3813_entropyin, kat3813_nonce, kat3813_persstr, + kat3813_entropyinpr1, kat3813_addinpr1, kat3813_entropyinpr2, + kat3813_addinpr2, kat3813_retbits +}; +static const struct drbg_kat kat3813 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3813_t +}; + +static const unsigned char kat3814_entropyin[] = { + 0xe4, 0xeb, 0x49, 0xbf, 0x54, 0x34, 0xa7, 0xfa, 0x3b, 0xbe, 0x6f, 0x35, + 0x9b, 0xaf, 0x39, 0xe9, 0x7f, 0x1f, 0xec, 0x60, 0x98, 0xed, 0x54, 0x33, + 0x14, 0xc2, 0xfe, 0xaa, 0xc7, 0x10, 0x0d, 0x66, +}; +static const unsigned char kat3814_nonce[] = {0}; +static const unsigned char kat3814_persstr[] = { + 0xa0, 0x47, 0x48, 0x32, 0xde, 0xaf, 0xba, 0xf3, 0x5b, 0x95, 0x39, 0xa8, + 0xc1, 0x3b, 0xaf, 0x20, 0x60, 0x9e, 0xc5, 0x73, 0x9e, 0x70, 0x1f, 0x15, + 0x5c, 0x44, 0x31, 0xaf, 0x41, 0x21, 0x59, 0x07, +}; +static const unsigned char kat3814_entropyinpr1[] = { + 0xf3, 0x03, 0xce, 0x79, 0x5b, 0x2e, 0xcd, 0xe6, 0x37, 0x54, 0x7b, 0x8c, + 0xf8, 0xd3, 0x9c, 0xdc, 0xef, 0xac, 0xe6, 0x23, 0xf7, 0x90, 0x53, 0x05, + 0x7c, 0xc5, 0xdc, 0x81, 0x52, 0x4a, 0x6a, 0x01, +}; +static const unsigned char kat3814_addinpr1[] = {0}; +static const unsigned char kat3814_entropyinpr2[] = { + 0xb2, 0x97, 0xcb, 0xba, 0xd8, 0x81, 0xea, 0x29, 0x36, 0x9b, 0xb5, 0x6f, + 0x42, 0x8f, 0xdb, 0x74, 0x2e, 0xd9, 0xb9, 0xa7, 0x33, 0x13, 0x64, 0x39, + 0xb1, 0xcd, 0xb8, 0x3a, 0x85, 0x78, 0xe9, 0xac, +}; +static const unsigned char kat3814_addinpr2[] = {0}; +static const unsigned char kat3814_retbits[] = { + 0x10, 0x62, 0x0e, 0xdd, 0x06, 0xba, 0x0c, 0x75, 0x62, 0x8a, 0xf2, 0x4a, + 0x1c, 0x3a, 0xce, 0x54, 0x52, 0x08, 0x1d, 0x96, 0xdb, 0x25, 0x16, 0x31, + 0xa1, 0x21, 0xaf, 0x8d, 0x18, 0xe1, 0x97, 0x8c, 0x58, 0xb0, 0x92, 0x57, + 0x0f, 0xb1, 0x62, 0x25, 0xca, 0xfd, 0x14, 0xac, 0x2c, 0x44, 0x8e, 0x87, + 0x78, 0x1a, 0x88, 0x81, 0xea, 0xeb, 0x10, 0x30, 0x8a, 0xeb, 0x96, 0x5f, + 0x57, 0x9a, 0x37, 0xcd, +}; +static const struct drbg_kat_pr_true kat3814_t = { + 3, kat3814_entropyin, kat3814_nonce, kat3814_persstr, + kat3814_entropyinpr1, kat3814_addinpr1, kat3814_entropyinpr2, + kat3814_addinpr2, kat3814_retbits +}; +static const struct drbg_kat kat3814 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3814_t +}; + +static const unsigned char kat3815_entropyin[] = { + 0x23, 0x73, 0x7f, 0xa4, 0x97, 0xab, 0xf5, 0x93, 0x72, 0xf7, 0x92, 0x8b, + 0xaa, 0x79, 0x27, 0x47, 0xdd, 0x40, 0x80, 0xdb, 0x49, 0x6f, 0x6e, 0xed, + 0xbf, 0x85, 0xda, 0xb0, 0x79, 0xef, 0x73, 0xe1, +}; +static const unsigned char kat3815_nonce[] = {0}; +static const unsigned char kat3815_persstr[] = { + 0x7d, 0x4c, 0x18, 0xe3, 0x4b, 0x74, 0xa5, 0x37, 0x7d, 0xbd, 0x75, 0xe2, + 0x87, 0x44, 0x7f, 0x5d, 0xbc, 0x07, 0x8a, 0xd4, 0xe7, 0xbb, 0x8c, 0x0c, + 0x1d, 0x74, 0x8e, 0x8b, 0x27, 0x1a, 0xaf, 0x75, +}; +static const unsigned char kat3815_entropyinpr1[] = { + 0xcf, 0x5a, 0x8c, 0x69, 0xee, 0x67, 0xf3, 0xb8, 0x50, 0xe6, 0x0f, 0x6d, + 0xc3, 0xd1, 0x32, 0xb4, 0xc6, 0xa6, 0x1d, 0x48, 0xe5, 0x82, 0x87, 0x96, + 0x2a, 0x28, 0x41, 0xb8, 0x9b, 0xcd, 0x1c, 0x48, +}; +static const unsigned char kat3815_addinpr1[] = {0}; +static const unsigned char kat3815_entropyinpr2[] = { + 0xec, 0x58, 0xc1, 0xf1, 0x46, 0xc4, 0x17, 0x9d, 0x54, 0xaf, 0xe2, 0x4b, + 0xc7, 0x41, 0x2e, 0x2b, 0x86, 0x7f, 0xca, 0x33, 0x70, 0x3f, 0xb8, 0xfa, + 0x58, 0x70, 0xb8, 0x5b, 0x16, 0x04, 0x38, 0xd5, +}; +static const unsigned char kat3815_addinpr2[] = {0}; +static const unsigned char kat3815_retbits[] = { + 0x39, 0x85, 0xed, 0x1a, 0x02, 0x27, 0xbc, 0x61, 0xfc, 0xe2, 0x6d, 0x64, + 0x7e, 0xd7, 0x44, 0xe9, 0xc4, 0x15, 0x48, 0x89, 0xe6, 0xff, 0x60, 0x9b, + 0xd6, 0xff, 0xac, 0x9b, 0x8b, 0xc2, 0xf0, 0xa1, 0xba, 0x8d, 0xe5, 0x66, + 0xd4, 0x67, 0x70, 0xe6, 0x12, 0x00, 0x44, 0xdd, 0xde, 0x1e, 0x9a, 0x69, + 0x26, 0xca, 0x56, 0xd1, 0x68, 0x47, 0x9d, 0x5e, 0x31, 0xb6, 0x3d, 0xd0, + 0xb9, 0xfe, 0x48, 0x15, +}; +static const struct drbg_kat_pr_true kat3815_t = { + 4, kat3815_entropyin, kat3815_nonce, kat3815_persstr, + kat3815_entropyinpr1, kat3815_addinpr1, kat3815_entropyinpr2, + kat3815_addinpr2, kat3815_retbits +}; +static const struct drbg_kat kat3815 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3815_t +}; + +static const unsigned char kat3816_entropyin[] = { + 0xcf, 0xa4, 0x69, 0x9a, 0x22, 0x97, 0x84, 0x70, 0x4e, 0x1f, 0x4c, 0x27, + 0x45, 0xd5, 0x0d, 0x30, 0x9c, 0x99, 0x76, 0x91, 0x81, 0x2d, 0x21, 0x68, + 0x47, 0x3a, 0x2e, 0xc6, 0xc4, 0xd8, 0xe6, 0x56, +}; +static const unsigned char kat3816_nonce[] = {0}; +static const unsigned char kat3816_persstr[] = { + 0x53, 0xad, 0xa9, 0x43, 0x08, 0x80, 0x9c, 0x3b, 0x24, 0x5c, 0xd2, 0x8c, + 0xba, 0xbc, 0xe2, 0xc8, 0xf9, 0xc1, 0x47, 0x45, 0x90, 0x41, 0x92, 0x3f, + 0x9f, 0xaf, 0x10, 0x81, 0x48, 0x6a, 0x60, 0x5e, +}; +static const unsigned char kat3816_entropyinpr1[] = { + 0x2f, 0xfb, 0xb5, 0xba, 0x73, 0x55, 0x61, 0xda, 0x52, 0x75, 0x24, 0x0f, + 0xd6, 0x06, 0x62, 0xec, 0x76, 0x78, 0x68, 0x15, 0x04, 0x7d, 0x48, 0x0e, + 0x2c, 0xd1, 0x15, 0xb9, 0x88, 0x0b, 0x38, 0xfc, +}; +static const unsigned char kat3816_addinpr1[] = {0}; +static const unsigned char kat3816_entropyinpr2[] = { + 0xf3, 0x17, 0x96, 0x3f, 0xd2, 0x37, 0x66, 0x35, 0x2b, 0x11, 0xe7, 0x8f, + 0x65, 0x2d, 0x16, 0x75, 0x30, 0x13, 0x68, 0xf7, 0x3d, 0x34, 0xc2, 0xe4, + 0x39, 0x60, 0x9d, 0xc6, 0xbe, 0x5c, 0xbc, 0x64, +}; +static const unsigned char kat3816_addinpr2[] = {0}; +static const unsigned char kat3816_retbits[] = { + 0x82, 0xec, 0x64, 0x17, 0xd3, 0x99, 0x83, 0x9d, 0x1b, 0x8c, 0xd3, 0x8c, + 0x51, 0xc4, 0x32, 0x93, 0xc2, 0xcf, 0xf2, 0x33, 0xc2, 0x90, 0x43, 0x1b, + 0x19, 0x17, 0x8a, 0xa4, 0x3f, 0xa4, 0xd7, 0xfd, 0xd8, 0x4f, 0xac, 0x19, + 0xe8, 0xc8, 0x4a, 0xc1, 0xaa, 0x0a, 0xe5, 0xd9, 0x7d, 0xf4, 0xd9, 0x04, + 0x58, 0x23, 0x4f, 0x00, 0xd0, 0xdc, 0x74, 0xa8, 0xf6, 0xb4, 0xf6, 0x18, + 0xb9, 0x38, 0x2f, 0x24, +}; +static const struct drbg_kat_pr_true kat3816_t = { + 5, kat3816_entropyin, kat3816_nonce, kat3816_persstr, + kat3816_entropyinpr1, kat3816_addinpr1, kat3816_entropyinpr2, + kat3816_addinpr2, kat3816_retbits +}; +static const struct drbg_kat kat3816 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3816_t +}; + +static const unsigned char kat3817_entropyin[] = { + 0x4b, 0xd4, 0x5b, 0x5c, 0x6e, 0xf8, 0x7f, 0xae, 0x29, 0x4d, 0x48, 0x87, + 0x65, 0x27, 0x16, 0x84, 0xc5, 0x8e, 0x10, 0xa6, 0x63, 0x61, 0xf2, 0x78, + 0xee, 0x89, 0x9b, 0xd0, 0xf7, 0xca, 0x22, 0x54, +}; +static const unsigned char kat3817_nonce[] = {0}; +static const unsigned char kat3817_persstr[] = { + 0xfc, 0x3e, 0x3e, 0xa9, 0x4f, 0x54, 0x7e, 0x0c, 0xdc, 0xaf, 0x4b, 0xae, + 0x51, 0xd0, 0x39, 0x22, 0xb5, 0x64, 0x10, 0x75, 0xe9, 0x11, 0x0f, 0x4f, + 0x6a, 0x06, 0x93, 0x2f, 0x24, 0xed, 0x11, 0x51, +}; +static const unsigned char kat3817_entropyinpr1[] = { + 0xbd, 0xa0, 0xa1, 0x08, 0x68, 0x54, 0x63, 0x5e, 0xbb, 0xce, 0xc8, 0x5d, + 0xcc, 0x4e, 0x47, 0x7a, 0x7b, 0x51, 0x17, 0x55, 0xe9, 0x3f, 0x6b, 0xd1, + 0xdc, 0x90, 0x34, 0xd9, 0xf8, 0x96, 0xad, 0xb6, +}; +static const unsigned char kat3817_addinpr1[] = {0}; +static const unsigned char kat3817_entropyinpr2[] = { + 0xc6, 0xfe, 0x9a, 0x25, 0xea, 0x37, 0x2c, 0x7c, 0x8c, 0x93, 0x05, 0xf4, + 0x31, 0xe8, 0xd3, 0x59, 0x36, 0x9e, 0x70, 0x22, 0xd6, 0x7d, 0xc3, 0xe8, + 0x4f, 0xbd, 0xf5, 0xa0, 0x1e, 0xff, 0x28, 0x24, +}; +static const unsigned char kat3817_addinpr2[] = {0}; +static const unsigned char kat3817_retbits[] = { + 0x2e, 0xc3, 0x55, 0xef, 0x56, 0xd1, 0x75, 0x37, 0xca, 0x1a, 0xab, 0x80, + 0x2c, 0xfd, 0xc7, 0x18, 0x19, 0xcd, 0x69, 0x10, 0xe3, 0xc9, 0x27, 0x18, + 0x10, 0x2b, 0x15, 0xce, 0xcc, 0x6f, 0x77, 0xdb, 0xa2, 0x1a, 0x5d, 0x43, + 0xf2, 0xcb, 0x35, 0x53, 0xa8, 0xd4, 0x46, 0x15, 0x32, 0xf8, 0x89, 0x33, + 0x94, 0xa6, 0x89, 0xbe, 0x47, 0x60, 0x31, 0x44, 0x69, 0x1c, 0x47, 0xb6, + 0x96, 0x90, 0x07, 0xc6, +}; +static const struct drbg_kat_pr_true kat3817_t = { + 6, kat3817_entropyin, kat3817_nonce, kat3817_persstr, + kat3817_entropyinpr1, kat3817_addinpr1, kat3817_entropyinpr2, + kat3817_addinpr2, kat3817_retbits +}; +static const struct drbg_kat kat3817 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3817_t +}; + +static const unsigned char kat3818_entropyin[] = { + 0x74, 0xab, 0xe9, 0x1c, 0xfd, 0x30, 0xc8, 0x97, 0x82, 0x5e, 0x70, 0x30, + 0x4f, 0x03, 0x7e, 0xfe, 0x12, 0xce, 0xea, 0xaa, 0xf2, 0x72, 0x8b, 0x1c, + 0x02, 0x3d, 0xbf, 0xcf, 0x7d, 0x70, 0x5c, 0xe4, +}; +static const unsigned char kat3818_nonce[] = {0}; +static const unsigned char kat3818_persstr[] = { + 0xca, 0xc3, 0xbc, 0x51, 0x8f, 0x9a, 0xa4, 0xf3, 0xf6, 0xd0, 0xe4, 0xbb, + 0x65, 0xe5, 0xf2, 0xb7, 0xb3, 0x6b, 0xba, 0x1b, 0xc4, 0x33, 0xa5, 0x9a, + 0x68, 0xd8, 0xa9, 0x68, 0x8a, 0x3c, 0xf2, 0x52, +}; +static const unsigned char kat3818_entropyinpr1[] = { + 0xe8, 0x3e, 0xc8, 0x09, 0xa3, 0x8a, 0x10, 0x49, 0x98, 0xd5, 0x0b, 0x4a, + 0x5d, 0x06, 0xa5, 0x2b, 0xde, 0x87, 0x39, 0x34, 0x21, 0xe3, 0x57, 0xd7, + 0xf1, 0x1a, 0x8c, 0x63, 0x07, 0x9a, 0x0f, 0x2d, +}; +static const unsigned char kat3818_addinpr1[] = {0}; +static const unsigned char kat3818_entropyinpr2[] = { + 0xa1, 0x7b, 0xd9, 0xbe, 0x94, 0xb2, 0x5a, 0x57, 0xed, 0xa3, 0xa2, 0x44, + 0xf7, 0x80, 0xf9, 0x92, 0xef, 0x9b, 0x2b, 0xad, 0x96, 0x1b, 0xad, 0x4a, + 0x7a, 0x36, 0x05, 0xcc, 0x66, 0x59, 0x64, 0xf7, +}; +static const unsigned char kat3818_addinpr2[] = {0}; +static const unsigned char kat3818_retbits[] = { + 0x6f, 0x99, 0x6c, 0xfd, 0x0c, 0xe7, 0xee, 0xac, 0x7d, 0xc7, 0x97, 0x3e, + 0x3d, 0xb4, 0x4a, 0x56, 0xc2, 0xcd, 0x01, 0xa5, 0x9e, 0x03, 0x9a, 0x1e, + 0xf3, 0x6d, 0xc6, 0x65, 0x5b, 0xe2, 0x4b, 0xc6, 0x6c, 0x9c, 0xff, 0x98, + 0xcd, 0x8c, 0x43, 0x8d, 0xc0, 0x33, 0x8b, 0xb2, 0xbf, 0xd6, 0xfd, 0xa2, + 0x07, 0x1a, 0x8f, 0xa2, 0x8f, 0xd0, 0x1a, 0x8a, 0x6f, 0x86, 0x31, 0xca, + 0xac, 0x37, 0xcd, 0x8d, +}; +static const struct drbg_kat_pr_true kat3818_t = { + 7, kat3818_entropyin, kat3818_nonce, kat3818_persstr, + kat3818_entropyinpr1, kat3818_addinpr1, kat3818_entropyinpr2, + kat3818_addinpr2, kat3818_retbits +}; +static const struct drbg_kat kat3818 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3818_t +}; + +static const unsigned char kat3819_entropyin[] = { + 0xee, 0x26, 0x22, 0xc7, 0x7a, 0xb4, 0xdd, 0x02, 0x37, 0xf0, 0xbe, 0x1a, + 0xaa, 0x50, 0xab, 0x12, 0x78, 0x81, 0xdf, 0x09, 0x22, 0xcb, 0xe8, 0xca, + 0x7d, 0x00, 0x8a, 0x64, 0x58, 0xec, 0x9b, 0xbe, +}; +static const unsigned char kat3819_nonce[] = {0}; +static const unsigned char kat3819_persstr[] = { + 0x27, 0x4f, 0xb2, 0x21, 0x46, 0x89, 0xb9, 0x51, 0x69, 0xb3, 0x89, 0x3f, + 0xf1, 0x4f, 0x0e, 0x30, 0xdf, 0x94, 0xe1, 0x2d, 0x40, 0xea, 0x01, 0x42, + 0x61, 0x8f, 0x28, 0xfd, 0xbe, 0xec, 0xc4, 0x9d, +}; +static const unsigned char kat3819_entropyinpr1[] = { + 0x39, 0xb7, 0xb2, 0x0d, 0x0a, 0x1d, 0x82, 0x42, 0x2d, 0x2b, 0x3b, 0x79, + 0x71, 0x6a, 0x34, 0x4d, 0xf4, 0x9d, 0xeb, 0xde, 0xfd, 0xc4, 0xb7, 0x56, + 0x79, 0xc2, 0x6d, 0x00, 0x38, 0x45, 0x43, 0x94, +}; +static const unsigned char kat3819_addinpr1[] = {0}; +static const unsigned char kat3819_entropyinpr2[] = { + 0xec, 0x0d, 0x23, 0x99, 0xdd, 0x18, 0x5d, 0x2a, 0x07, 0x55, 0x6a, 0xf3, + 0xd5, 0x0c, 0xcf, 0xaa, 0x1a, 0x25, 0xab, 0x09, 0xf9, 0x86, 0x95, 0x42, + 0x02, 0xea, 0x00, 0x3e, 0xe4, 0x96, 0x86, 0x74, +}; +static const unsigned char kat3819_addinpr2[] = {0}; +static const unsigned char kat3819_retbits[] = { + 0x1c, 0x8d, 0x9d, 0x7e, 0xa3, 0x90, 0x89, 0x35, 0x2a, 0xf0, 0x5d, 0x8e, + 0xf9, 0xf3, 0xa7, 0xeb, 0x18, 0xf9, 0x26, 0xe5, 0x66, 0xf8, 0x62, 0xd0, + 0x8b, 0x2e, 0x11, 0xa8, 0xf6, 0xe8, 0xc7, 0x27, 0x03, 0x4a, 0x7c, 0xa5, + 0xd6, 0xe3, 0xa8, 0xd2, 0x98, 0x2d, 0x36, 0xa2, 0x5f, 0xf9, 0x31, 0x97, + 0x92, 0xb8, 0xf3, 0xba, 0x34, 0x3e, 0xb6, 0x96, 0x5e, 0x93, 0xcf, 0xa0, + 0xdf, 0xcc, 0x5a, 0xaa, +}; +static const struct drbg_kat_pr_true kat3819_t = { + 8, kat3819_entropyin, kat3819_nonce, kat3819_persstr, + kat3819_entropyinpr1, kat3819_addinpr1, kat3819_entropyinpr2, + kat3819_addinpr2, kat3819_retbits +}; +static const struct drbg_kat kat3819 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3819_t +}; + +static const unsigned char kat3820_entropyin[] = { + 0x3d, 0x16, 0x68, 0x67, 0xfa, 0xce, 0x52, 0xe5, 0x53, 0x82, 0x77, 0x2c, + 0xb3, 0x3b, 0x95, 0x0b, 0x4d, 0x34, 0x47, 0x49, 0x74, 0x80, 0xa4, 0x1f, + 0xda, 0x43, 0x56, 0xae, 0xe7, 0x10, 0x75, 0xad, +}; +static const unsigned char kat3820_nonce[] = {0}; +static const unsigned char kat3820_persstr[] = { + 0x4b, 0x73, 0x60, 0x82, 0x65, 0x10, 0x27, 0x2a, 0x3f, 0xbf, 0x22, 0x4b, + 0xe4, 0x3e, 0xb0, 0xcd, 0x8e, 0x29, 0x4e, 0x6f, 0x8b, 0xfb, 0xa4, 0xf6, + 0x71, 0xff, 0x7c, 0x94, 0xae, 0x5a, 0xa2, 0xf4, +}; +static const unsigned char kat3820_entropyinpr1[] = { + 0xf9, 0x1a, 0x04, 0x24, 0x06, 0xe8, 0x63, 0xfc, 0xb9, 0xe8, 0x07, 0xfd, + 0x94, 0x1c, 0xe1, 0x17, 0x79, 0xdf, 0xb3, 0xea, 0xe4, 0x4c, 0x82, 0x1b, + 0xaa, 0x8f, 0xef, 0xf9, 0x34, 0xbf, 0xea, 0x3e, +}; +static const unsigned char kat3820_addinpr1[] = {0}; +static const unsigned char kat3820_entropyinpr2[] = { + 0xa1, 0x26, 0x5c, 0x9d, 0x1c, 0x26, 0xed, 0xb1, 0xb4, 0x15, 0x6b, 0xd7, + 0x36, 0xfb, 0x24, 0x6f, 0x0e, 0xc6, 0xa2, 0x52, 0x45, 0x17, 0xfb, 0x4d, + 0xe9, 0x6a, 0xe5, 0xeb, 0x22, 0x09, 0x3c, 0x6c, +}; +static const unsigned char kat3820_addinpr2[] = {0}; +static const unsigned char kat3820_retbits[] = { + 0xe2, 0x74, 0x73, 0x3c, 0xf5, 0xe0, 0x83, 0xa6, 0xf9, 0xd5, 0x56, 0x66, + 0x7c, 0x88, 0x8c, 0x80, 0x13, 0x3e, 0x0f, 0x88, 0x51, 0xd2, 0xa1, 0x33, + 0x08, 0x76, 0xea, 0xd3, 0x1e, 0x65, 0xef, 0xf7, 0xf8, 0x63, 0xd3, 0x58, + 0xb2, 0xf4, 0xa4, 0xf8, 0x51, 0xd3, 0x49, 0x72, 0xf0, 0x5d, 0xaa, 0xae, + 0x2b, 0xdb, 0x2a, 0x9b, 0x05, 0xc7, 0xfa, 0xe5, 0xbc, 0x68, 0x49, 0xad, + 0x98, 0x90, 0x3a, 0x9d, +}; +static const struct drbg_kat_pr_true kat3820_t = { + 9, kat3820_entropyin, kat3820_nonce, kat3820_persstr, + kat3820_entropyinpr1, kat3820_addinpr1, kat3820_entropyinpr2, + kat3820_addinpr2, kat3820_retbits +}; +static const struct drbg_kat kat3820 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3820_t +}; + +static const unsigned char kat3821_entropyin[] = { + 0xa6, 0xfe, 0x47, 0x8c, 0x35, 0x8a, 0x26, 0x72, 0x11, 0x02, 0x70, 0xdb, + 0x94, 0xa1, 0xf1, 0x35, 0x85, 0xe9, 0xda, 0x5d, 0xc8, 0xe3, 0x78, 0xa5, + 0xb6, 0xdb, 0xb5, 0x00, 0x1a, 0x0b, 0x88, 0x54, +}; +static const unsigned char kat3821_nonce[] = {0}; +static const unsigned char kat3821_persstr[] = { + 0x8b, 0xe5, 0x08, 0x0d, 0xda, 0x60, 0x0e, 0x3d, 0xfe, 0x16, 0x72, 0x0d, + 0x3f, 0xad, 0xdb, 0x44, 0x9b, 0x19, 0x6c, 0x58, 0x6e, 0x65, 0x5c, 0xf7, + 0x4c, 0x8b, 0x4a, 0x2a, 0xd2, 0x33, 0x0c, 0xb4, +}; +static const unsigned char kat3821_entropyinpr1[] = { + 0x45, 0x94, 0xea, 0x12, 0x21, 0x1d, 0x85, 0x55, 0x3f, 0x97, 0x67, 0x12, + 0x21, 0x43, 0xf5, 0x2b, 0xcc, 0xba, 0x5e, 0x9b, 0x60, 0x94, 0xbd, 0xab, + 0xa3, 0x3c, 0x34, 0xf6, 0xcc, 0xfd, 0x3f, 0x36, +}; +static const unsigned char kat3821_addinpr1[] = {0}; +static const unsigned char kat3821_entropyinpr2[] = { + 0xe2, 0x7d, 0x8a, 0xcb, 0x00, 0x6a, 0xab, 0xf9, 0x37, 0x8d, 0xfa, 0x01, + 0x94, 0xf0, 0x9c, 0x8e, 0x1a, 0x12, 0x77, 0x6c, 0xd8, 0xab, 0x18, 0x2a, + 0xd0, 0x6e, 0xdf, 0xf1, 0xd7, 0x74, 0xeb, 0xc6, +}; +static const unsigned char kat3821_addinpr2[] = {0}; +static const unsigned char kat3821_retbits[] = { + 0x08, 0x55, 0x8c, 0xf7, 0xad, 0xfa, 0x8a, 0xe2, 0xbb, 0x3f, 0xff, 0x5c, + 0xd8, 0x9a, 0xc7, 0x44, 0x87, 0xf7, 0x8b, 0xe3, 0x77, 0xac, 0x3c, 0xfd, + 0xbb, 0x37, 0xc7, 0xf0, 0xe1, 0x81, 0x26, 0x0f, 0x20, 0x44, 0xcb, 0xbb, + 0x31, 0x40, 0x1e, 0x88, 0x9c, 0x9c, 0x67, 0xa1, 0x6c, 0xed, 0x38, 0x6e, + 0x07, 0xfd, 0x92, 0xbb, 0x13, 0x3d, 0x76, 0xd5, 0xcc, 0x65, 0x8f, 0xd8, + 0x30, 0xc3, 0x0c, 0xba, +}; +static const struct drbg_kat_pr_true kat3821_t = { + 10, kat3821_entropyin, kat3821_nonce, kat3821_persstr, + kat3821_entropyinpr1, kat3821_addinpr1, kat3821_entropyinpr2, + kat3821_addinpr2, kat3821_retbits +}; +static const struct drbg_kat kat3821 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3821_t +}; + +static const unsigned char kat3822_entropyin[] = { + 0x72, 0x90, 0xfb, 0x42, 0xbe, 0xf4, 0xdc, 0xf3, 0x92, 0x3c, 0x9d, 0x43, + 0xd6, 0x9b, 0x03, 0xaa, 0x45, 0x3c, 0x95, 0xfa, 0x5e, 0xc0, 0x7f, 0x76, + 0x83, 0x90, 0x54, 0x91, 0xd2, 0xeb, 0x54, 0x90, +}; +static const unsigned char kat3822_nonce[] = {0}; +static const unsigned char kat3822_persstr[] = { + 0x48, 0xa4, 0x17, 0x6b, 0x80, 0x56, 0x35, 0x81, 0x81, 0xca, 0x4d, 0xc9, + 0x08, 0x9f, 0x78, 0x24, 0x17, 0xbd, 0x17, 0x5b, 0x3c, 0x03, 0x9e, 0x27, + 0x8a, 0x0f, 0xde, 0xb5, 0x6e, 0x8e, 0x9c, 0xd3, +}; +static const unsigned char kat3822_entropyinpr1[] = { + 0xe2, 0x10, 0x95, 0xb2, 0x68, 0xc5, 0x8c, 0xd9, 0x35, 0x47, 0x4a, 0x4f, + 0x56, 0x9a, 0x3f, 0xc8, 0x19, 0x59, 0xaf, 0x04, 0xaa, 0x19, 0x61, 0x05, + 0x34, 0x3a, 0x56, 0x43, 0x19, 0x83, 0xae, 0x22, +}; +static const unsigned char kat3822_addinpr1[] = {0}; +static const unsigned char kat3822_entropyinpr2[] = { + 0xdf, 0x30, 0x51, 0x86, 0xa9, 0xe5, 0x93, 0xca, 0xe4, 0xc4, 0xab, 0xbe, + 0xf8, 0x39, 0x48, 0x7d, 0x0e, 0x04, 0x64, 0x1f, 0x4b, 0xce, 0x3d, 0x1c, + 0x60, 0x1b, 0x77, 0x40, 0xd8, 0xdd, 0xcd, 0x94, +}; +static const unsigned char kat3822_addinpr2[] = {0}; +static const unsigned char kat3822_retbits[] = { + 0x70, 0x3f, 0x5f, 0xc5, 0xaa, 0x1d, 0x4f, 0xc6, 0x42, 0x24, 0xfb, 0xed, + 0xf3, 0x64, 0xf0, 0x1f, 0xf4, 0x4a, 0xf8, 0x7b, 0x45, 0x7a, 0xa2, 0x82, + 0x02, 0x84, 0x10, 0x17, 0x4d, 0x4b, 0x9c, 0x86, 0xec, 0x9c, 0x2a, 0x03, + 0xbc, 0x36, 0x4a, 0x6b, 0xee, 0xfa, 0x5a, 0xb0, 0x43, 0xf5, 0x71, 0x3f, + 0xad, 0xb7, 0xae, 0x38, 0x03, 0xc8, 0x2c, 0xa4, 0x28, 0x94, 0xac, 0xe7, + 0x3c, 0xcd, 0x41, 0xed, +}; +static const struct drbg_kat_pr_true kat3822_t = { + 11, kat3822_entropyin, kat3822_nonce, kat3822_persstr, + kat3822_entropyinpr1, kat3822_addinpr1, kat3822_entropyinpr2, + kat3822_addinpr2, kat3822_retbits +}; +static const struct drbg_kat kat3822 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3822_t +}; + +static const unsigned char kat3823_entropyin[] = { + 0xc4, 0x7e, 0x73, 0x0d, 0xe1, 0x7f, 0x4c, 0x47, 0xac, 0xd1, 0x68, 0xe0, + 0xeb, 0xb5, 0xac, 0x30, 0x62, 0xf7, 0x8f, 0x6f, 0x80, 0xb6, 0x27, 0xe5, + 0x82, 0xfa, 0xa8, 0x19, 0x0d, 0x78, 0xcd, 0xdf, +}; +static const unsigned char kat3823_nonce[] = {0}; +static const unsigned char kat3823_persstr[] = { + 0x91, 0x7c, 0x66, 0xee, 0x6b, 0xa1, 0xa2, 0xbd, 0x1e, 0x94, 0x4a, 0x9d, + 0xbf, 0xf7, 0xfe, 0x47, 0xd6, 0xf0, 0x48, 0x21, 0xe3, 0xca, 0x5a, 0xfa, + 0xe3, 0x47, 0x6b, 0xe8, 0x70, 0xa4, 0xba, 0x52, +}; +static const unsigned char kat3823_entropyinpr1[] = { + 0x2c, 0xea, 0x0e, 0xf6, 0x3e, 0x61, 0x75, 0x43, 0xed, 0x62, 0x36, 0x18, + 0xaa, 0x01, 0x76, 0x4c, 0xc0, 0x1d, 0x5d, 0x10, 0xb5, 0x50, 0x8b, 0x78, + 0x5d, 0x2d, 0x87, 0x88, 0x90, 0x07, 0x6c, 0x64, +}; +static const unsigned char kat3823_addinpr1[] = {0}; +static const unsigned char kat3823_entropyinpr2[] = { + 0x9c, 0xc8, 0x0d, 0x3e, 0x71, 0x42, 0x0c, 0xcd, 0x92, 0xd9, 0x7c, 0x25, + 0x09, 0x2d, 0x37, 0x0c, 0x81, 0xb4, 0x51, 0x65, 0x3e, 0xfa, 0x2d, 0x10, + 0xb6, 0x05, 0xe1, 0x3d, 0x65, 0x0b, 0xcf, 0xa1, +}; +static const unsigned char kat3823_addinpr2[] = {0}; +static const unsigned char kat3823_retbits[] = { + 0x4f, 0x25, 0x70, 0x36, 0x4d, 0x1a, 0xe7, 0x1d, 0x29, 0xc0, 0x05, 0xbd, + 0xea, 0x9d, 0xf2, 0x8c, 0xec, 0x9a, 0xe3, 0x1c, 0x2d, 0x29, 0x6a, 0xec, + 0xd0, 0x42, 0x0e, 0xc2, 0xd7, 0x2f, 0x72, 0x4e, 0x5c, 0x2e, 0x9c, 0xf7, + 0xb5, 0xfa, 0xa4, 0x6d, 0xa4, 0x58, 0x9f, 0xb6, 0x03, 0xfe, 0xd6, 0x36, + 0x1b, 0xae, 0xf2, 0x2f, 0x58, 0x48, 0x46, 0xb1, 0xbe, 0x79, 0x31, 0x0c, + 0x62, 0x45, 0x14, 0x3c, +}; +static const struct drbg_kat_pr_true kat3823_t = { + 12, kat3823_entropyin, kat3823_nonce, kat3823_persstr, + kat3823_entropyinpr1, kat3823_addinpr1, kat3823_entropyinpr2, + kat3823_addinpr2, kat3823_retbits +}; +static const struct drbg_kat kat3823 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3823_t +}; + +static const unsigned char kat3824_entropyin[] = { + 0x97, 0xa2, 0xcc, 0x8d, 0x94, 0x5c, 0xa5, 0x24, 0xdb, 0x7f, 0x77, 0x4a, + 0x4d, 0xaa, 0x4a, 0xcc, 0xc0, 0xeb, 0xd3, 0xeb, 0x79, 0xa6, 0x5f, 0xb9, + 0x64, 0x98, 0xe7, 0xe9, 0x03, 0xb3, 0x57, 0xd9, +}; +static const unsigned char kat3824_nonce[] = {0}; +static const unsigned char kat3824_persstr[] = { + 0x8c, 0x58, 0x19, 0xb2, 0xcf, 0x2a, 0xaf, 0x5b, 0x23, 0xf4, 0x7f, 0x02, + 0x9d, 0xb8, 0x18, 0xba, 0x7c, 0xfd, 0xb5, 0x06, 0x38, 0xd1, 0xc9, 0x78, + 0x3a, 0xf3, 0x30, 0xfe, 0x18, 0x5e, 0xf9, 0x60, +}; +static const unsigned char kat3824_entropyinpr1[] = { + 0x53, 0xbb, 0x7c, 0xf0, 0xb4, 0x52, 0xf7, 0xea, 0xdd, 0xa9, 0x7c, 0x20, + 0x23, 0x14, 0x7b, 0x3d, 0x80, 0x2e, 0xad, 0x78, 0x4f, 0x76, 0x63, 0x28, + 0x2a, 0xa4, 0x0c, 0x11, 0xa5, 0x65, 0xe6, 0x91, +}; +static const unsigned char kat3824_addinpr1[] = {0}; +static const unsigned char kat3824_entropyinpr2[] = { + 0x72, 0x5e, 0x52, 0x3b, 0xaa, 0xb3, 0xeb, 0x5e, 0xe4, 0x32, 0xd1, 0x3a, + 0xb5, 0x9e, 0xc5, 0x36, 0x4e, 0xe1, 0x79, 0xce, 0x74, 0x43, 0xbf, 0x3a, + 0x29, 0x45, 0x4c, 0x91, 0x9b, 0x8d, 0xfe, 0x0c, +}; +static const unsigned char kat3824_addinpr2[] = {0}; +static const unsigned char kat3824_retbits[] = { + 0x94, 0xc3, 0x51, 0xd1, 0xfe, 0x28, 0x3e, 0xc7, 0xba, 0x67, 0xc4, 0xca, + 0x86, 0x01, 0x75, 0xdd, 0x24, 0xed, 0x1f, 0x8a, 0xf1, 0xca, 0xb0, 0xf1, + 0x23, 0x59, 0x50, 0x83, 0xd3, 0x15, 0x28, 0x7e, 0x12, 0xe8, 0xa4, 0x5e, + 0x3a, 0x3c, 0x0f, 0x90, 0x4d, 0xcb, 0xf3, 0xab, 0xbb, 0x9b, 0xc9, 0x68, + 0xad, 0x03, 0xe7, 0x94, 0xbe, 0x19, 0xbb, 0x50, 0x05, 0xb9, 0xd6, 0xb9, + 0xbe, 0xcc, 0x18, 0xd8, +}; +static const struct drbg_kat_pr_true kat3824_t = { + 13, kat3824_entropyin, kat3824_nonce, kat3824_persstr, + kat3824_entropyinpr1, kat3824_addinpr1, kat3824_entropyinpr2, + kat3824_addinpr2, kat3824_retbits +}; +static const struct drbg_kat kat3824 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3824_t +}; + +static const unsigned char kat3825_entropyin[] = { + 0xa9, 0xba, 0x59, 0x81, 0x80, 0x8f, 0x34, 0x25, 0x82, 0xe2, 0xb7, 0x3b, + 0xfc, 0xd0, 0x7f, 0x12, 0x46, 0x20, 0x79, 0xbb, 0xf2, 0xdd, 0x6f, 0x83, + 0xf6, 0x25, 0xeb, 0xd6, 0x2f, 0xa9, 0x0c, 0x3d, +}; +static const unsigned char kat3825_nonce[] = {0}; +static const unsigned char kat3825_persstr[] = { + 0xf1, 0x1d, 0xaf, 0x3a, 0x00, 0x89, 0x70, 0x90, 0x82, 0xa4, 0x89, 0xac, + 0x74, 0x0f, 0xe0, 0x59, 0xd5, 0x68, 0xe0, 0x3a, 0x82, 0xbb, 0xcc, 0x2b, + 0x70, 0xc8, 0xab, 0xac, 0x56, 0x84, 0x24, 0x39, +}; +static const unsigned char kat3825_entropyinpr1[] = { + 0x36, 0x95, 0xbd, 0x2e, 0x5b, 0x30, 0xb1, 0xd3, 0x95, 0x7d, 0xd0, 0xa1, + 0x16, 0xbd, 0xdb, 0xa5, 0x3a, 0x24, 0xdb, 0xe6, 0x47, 0xde, 0xa6, 0x3b, + 0x9d, 0x40, 0x20, 0x74, 0x5a, 0xfb, 0x90, 0xe4, +}; +static const unsigned char kat3825_addinpr1[] = {0}; +static const unsigned char kat3825_entropyinpr2[] = { + 0x40, 0x79, 0xd6, 0x61, 0x0b, 0xbc, 0x71, 0x5e, 0x62, 0x77, 0x7a, 0xb6, + 0x99, 0xe3, 0xac, 0x6b, 0x6c, 0x4d, 0x09, 0x7a, 0xad, 0x4d, 0xeb, 0xf6, + 0x68, 0xa5, 0x4d, 0x15, 0x74, 0x4d, 0x9e, 0xc1, +}; +static const unsigned char kat3825_addinpr2[] = {0}; +static const unsigned char kat3825_retbits[] = { + 0xd0, 0xaa, 0xa5, 0x1f, 0xb0, 0x84, 0x82, 0x5f, 0x8b, 0xf0, 0x47, 0x6c, + 0x70, 0x3f, 0x11, 0x33, 0x82, 0x9a, 0x93, 0xde, 0xe1, 0xf8, 0x06, 0x12, + 0x22, 0xf3, 0x50, 0x2f, 0xf1, 0xbd, 0xfd, 0x55, 0x0e, 0xdf, 0xdc, 0x27, + 0x5f, 0x3a, 0xec, 0x8a, 0x8f, 0xc5, 0xf9, 0xe5, 0xf7, 0x12, 0x46, 0x36, + 0x2f, 0xdb, 0xcc, 0x65, 0xa0, 0x0e, 0x7c, 0xc5, 0x2f, 0xf3, 0x53, 0xcf, + 0xa3, 0xb3, 0x75, 0x9a, +}; +static const struct drbg_kat_pr_true kat3825_t = { + 14, kat3825_entropyin, kat3825_nonce, kat3825_persstr, + kat3825_entropyinpr1, kat3825_addinpr1, kat3825_entropyinpr2, + kat3825_addinpr2, kat3825_retbits +}; +static const struct drbg_kat kat3825 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 0, 64, &kat3825_t +}; + +static const unsigned char kat3826_entropyin[] = { + 0x0b, 0xfd, 0xe8, 0xb3, 0x2c, 0x0a, 0xda, 0xbd, 0x84, 0xe2, 0x71, 0xd1, + 0x9b, 0x76, 0xcb, 0x96, 0x95, 0xe1, 0xf8, 0x9a, 0x08, 0x13, 0xe6, 0x3e, + 0x7d, 0x9e, 0x6a, 0x0d, 0xd1, 0x69, 0x1c, 0x55, +}; +static const unsigned char kat3826_nonce[] = {0}; +static const unsigned char kat3826_persstr[] = { + 0xf3, 0x45, 0xff, 0xd4, 0x13, 0x8e, 0xa0, 0xb4, 0x1e, 0x1b, 0x87, 0xa6, + 0x78, 0xe2, 0x4a, 0xd8, 0x7c, 0x14, 0xfa, 0xde, 0x68, 0xe7, 0x03, 0xb3, + 0x59, 0xca, 0xaf, 0x2e, 0x26, 0x9e, 0x7c, 0x58, +}; +static const unsigned char kat3826_entropyinpr1[] = { + 0x2a, 0x04, 0x6c, 0xb4, 0x77, 0xaf, 0xd5, 0x42, 0x71, 0xb0, 0xf5, 0xd6, + 0x92, 0x4c, 0x70, 0x6c, 0x40, 0x43, 0x70, 0x2a, 0x56, 0x57, 0xe9, 0x9b, + 0x88, 0x4b, 0xbc, 0xd7, 0xec, 0x6a, 0xa2, 0x67, +}; +static const unsigned char kat3826_addinpr1[] = { + 0x68, 0x38, 0x8f, 0x4c, 0x45, 0xc3, 0x49, 0xf0, 0x76, 0xc3, 0x1e, 0xbb, + 0x97, 0x2c, 0x31, 0xd2, 0x58, 0x95, 0xdf, 0xad, 0xf3, 0xa8, 0xd8, 0xc3, + 0x36, 0xaf, 0xac, 0xf3, 0xe3, 0x10, 0x8c, 0xaf, +}; +static const unsigned char kat3826_entropyinpr2[] = { + 0xd1, 0x42, 0xdf, 0xb3, 0x9b, 0x02, 0x51, 0x1f, 0x93, 0x31, 0x20, 0xa8, + 0x8c, 0x2f, 0xab, 0xb8, 0x8e, 0x82, 0x4a, 0x91, 0x6c, 0x82, 0x6b, 0x20, + 0xf4, 0x44, 0xc6, 0x2e, 0x9d, 0x9a, 0xf0, 0xb9, +}; +static const unsigned char kat3826_addinpr2[] = { + 0xc8, 0xa9, 0x5b, 0xca, 0xb7, 0x63, 0x58, 0x60, 0x8d, 0xb1, 0xf6, 0x6e, + 0xa8, 0xb4, 0x53, 0x7f, 0x3d, 0xd8, 0x70, 0xe3, 0x8d, 0xf4, 0x1b, 0xcf, + 0xdf, 0x41, 0xd7, 0x3e, 0xb5, 0x90, 0x1c, 0x93, +}; +static const unsigned char kat3826_retbits[] = { + 0xed, 0xa2, 0x04, 0xa7, 0xc5, 0x1b, 0x29, 0xa7, 0x9c, 0xa1, 0xa7, 0x14, + 0x8d, 0xae, 0x64, 0x45, 0xb4, 0xc7, 0xd8, 0x30, 0x41, 0x0d, 0xe1, 0x31, + 0xc5, 0xc4, 0xa2, 0x8e, 0x85, 0xc7, 0x4a, 0x15, 0xc7, 0x68, 0x16, 0x7d, + 0xac, 0x0b, 0xba, 0x1c, 0xac, 0xc3, 0xdf, 0xfd, 0xb2, 0x53, 0x12, 0xf9, + 0x18, 0x6f, 0xdf, 0xc9, 0xa6, 0xe5, 0x70, 0x08, 0x1f, 0x41, 0xc9, 0x97, + 0xab, 0x82, 0x95, 0x24, +}; +static const struct drbg_kat_pr_true kat3826_t = { + 0, kat3826_entropyin, kat3826_nonce, kat3826_persstr, + kat3826_entropyinpr1, kat3826_addinpr1, kat3826_entropyinpr2, + kat3826_addinpr2, kat3826_retbits +}; +static const struct drbg_kat kat3826 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3826_t +}; + +static const unsigned char kat3827_entropyin[] = { + 0x3a, 0xc6, 0x7c, 0x4f, 0x19, 0x26, 0xbf, 0xe8, 0x0e, 0x8a, 0xd2, 0x93, + 0x1b, 0x6e, 0x6f, 0x20, 0x35, 0x89, 0x31, 0x6b, 0x7c, 0xa1, 0x52, 0xdd, + 0x00, 0xfb, 0xd0, 0x68, 0x1f, 0x23, 0x1f, 0x58, +}; +static const unsigned char kat3827_nonce[] = {0}; +static const unsigned char kat3827_persstr[] = { + 0x6e, 0xed, 0xd4, 0xb2, 0xa1, 0xe4, 0x1b, 0xfc, 0x47, 0x0c, 0x79, 0x06, + 0x85, 0xf9, 0x76, 0xd2, 0x87, 0xa8, 0x80, 0xf1, 0x5f, 0x1a, 0xb8, 0x93, + 0xd8, 0x75, 0x40, 0xd5, 0x67, 0x72, 0xbd, 0xca, +}; +static const unsigned char kat3827_entropyinpr1[] = { + 0x89, 0x92, 0xb1, 0x09, 0x2d, 0xc4, 0xe3, 0xdb, 0x41, 0xf6, 0xdd, 0xab, + 0xb1, 0xeb, 0x86, 0xd4, 0x2c, 0x90, 0xc1, 0xea, 0x96, 0x73, 0x64, 0x6c, + 0x6d, 0x69, 0xa8, 0xdc, 0x0c, 0xd9, 0x28, 0x4f, +}; +static const unsigned char kat3827_addinpr1[] = { + 0xff, 0xff, 0x55, 0xb7, 0x1b, 0x1c, 0xa8, 0xad, 0x44, 0xb7, 0xd5, 0x01, + 0x1c, 0x1e, 0x68, 0x5c, 0x88, 0x17, 0x97, 0x83, 0xdf, 0x0c, 0x55, 0x51, + 0x72, 0xf2, 0x01, 0x89, 0xac, 0xdc, 0xb2, 0x34, +}; +static const unsigned char kat3827_entropyinpr2[] = { + 0x99, 0x04, 0xcf, 0x4e, 0x3d, 0x81, 0x0a, 0x2b, 0xec, 0x3a, 0x30, 0x09, + 0x73, 0x5e, 0x89, 0xa4, 0x5a, 0x25, 0x9e, 0xb3, 0x72, 0xaa, 0x3d, 0xa3, + 0xff, 0x0d, 0x53, 0xe2, 0x47, 0x8b, 0x22, 0x8b, +}; +static const unsigned char kat3827_addinpr2[] = { + 0x76, 0x35, 0xa5, 0x7b, 0x4f, 0x40, 0xad, 0xd8, 0xfe, 0xd1, 0x03, 0x2e, + 0x76, 0x1a, 0x96, 0x2c, 0x9f, 0xe2, 0xc6, 0xa9, 0xf0, 0x10, 0x23, 0x88, + 0x4f, 0x50, 0x2a, 0x04, 0x94, 0xc6, 0x0f, 0x18, +}; +static const unsigned char kat3827_retbits[] = { + 0x8e, 0xeb, 0x30, 0xb0, 0x24, 0x55, 0x9e, 0x6c, 0x9c, 0xc3, 0xa6, 0x24, + 0x7f, 0x7d, 0x11, 0x84, 0xc1, 0x1a, 0x5e, 0x68, 0x11, 0xa2, 0xdc, 0xce, + 0xbd, 0x6c, 0x3b, 0xed, 0xcc, 0xeb, 0x8c, 0xb4, 0xed, 0xa1, 0x56, 0xea, + 0xac, 0x30, 0x92, 0x01, 0xa1, 0x62, 0xca, 0x23, 0x11, 0xb1, 0x3c, 0x7f, + 0xc0, 0x5f, 0x06, 0x52, 0xb0, 0x85, 0x07, 0xc2, 0xce, 0x57, 0xc4, 0xbd, + 0x81, 0x9b, 0x4a, 0x2f, +}; +static const struct drbg_kat_pr_true kat3827_t = { + 1, kat3827_entropyin, kat3827_nonce, kat3827_persstr, + kat3827_entropyinpr1, kat3827_addinpr1, kat3827_entropyinpr2, + kat3827_addinpr2, kat3827_retbits +}; +static const struct drbg_kat kat3827 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3827_t +}; + +static const unsigned char kat3828_entropyin[] = { + 0x0e, 0x19, 0xa3, 0xe9, 0x8e, 0xc9, 0xcc, 0xb8, 0xda, 0x19, 0x5b, 0x61, + 0xf4, 0x18, 0x42, 0xc9, 0x5c, 0x14, 0xe6, 0x93, 0x74, 0x9e, 0x55, 0xf5, + 0xfc, 0x0e, 0x55, 0xff, 0x63, 0xf7, 0x4e, 0x68, +}; +static const unsigned char kat3828_nonce[] = {0}; +static const unsigned char kat3828_persstr[] = { + 0x27, 0x08, 0x83, 0x54, 0x5a, 0xb4, 0x1c, 0xf4, 0x26, 0xf9, 0xa9, 0x67, + 0x52, 0x17, 0x2a, 0x71, 0xab, 0xfc, 0x79, 0x75, 0x52, 0xb3, 0xed, 0xd4, + 0x63, 0xbb, 0xb7, 0x23, 0x18, 0x33, 0x55, 0x2d, +}; +static const unsigned char kat3828_entropyinpr1[] = { + 0x82, 0xb6, 0x8c, 0x3f, 0xd2, 0xe8, 0x75, 0x0c, 0x2b, 0xfd, 0x83, 0x4d, + 0xd3, 0x7b, 0x6a, 0x47, 0x1c, 0x30, 0xf6, 0x58, 0x1a, 0x93, 0xd7, 0x62, + 0x18, 0x4f, 0x61, 0x78, 0x25, 0xb2, 0xdd, 0x83, +}; +static const unsigned char kat3828_addinpr1[] = { + 0x10, 0x78, 0xf5, 0x4e, 0x5b, 0x60, 0xfd, 0x70, 0xb4, 0x8b, 0x1b, 0x70, + 0xd1, 0xd0, 0xb4, 0xd1, 0x75, 0x49, 0xc3, 0xe6, 0xb0, 0xbe, 0xcf, 0xac, + 0x8a, 0x7a, 0x45, 0x17, 0xb4, 0xd2, 0xf6, 0x84, +}; +static const unsigned char kat3828_entropyinpr2[] = { + 0x47, 0xcd, 0x9d, 0xc7, 0x10, 0xf0, 0x7b, 0xb6, 0xf5, 0xea, 0xb8, 0x1d, + 0xad, 0x0e, 0x28, 0xa6, 0xcc, 0xaa, 0x8b, 0x74, 0x5a, 0xca, 0x22, 0x49, + 0xd4, 0x9f, 0x3b, 0x4a, 0xe3, 0x4f, 0x23, 0x75, +}; +static const unsigned char kat3828_addinpr2[] = { + 0x52, 0xdc, 0xe3, 0x79, 0x6b, 0x79, 0x2a, 0x58, 0x87, 0x8b, 0x37, 0x0e, + 0x78, 0x9e, 0x3c, 0xdd, 0x13, 0xc3, 0x9e, 0xe9, 0x36, 0x1e, 0x0d, 0x0d, + 0x8f, 0xe3, 0xbb, 0x33, 0x82, 0x2e, 0x60, 0xc4, +}; +static const unsigned char kat3828_retbits[] = { + 0x99, 0x27, 0x0a, 0xb2, 0xf4, 0x4d, 0x0c, 0xc1, 0xe6, 0xc1, 0x88, 0x8a, + 0xd5, 0xbc, 0x63, 0x8b, 0x28, 0x43, 0x25, 0x59, 0x08, 0x7a, 0xda, 0x30, + 0xf6, 0x3b, 0x37, 0x24, 0x2c, 0x84, 0x8c, 0x8f, 0xe0, 0x48, 0xbf, 0x27, + 0x5b, 0xc5, 0x46, 0xbe, 0xe8, 0x28, 0x3d, 0xd6, 0x6b, 0x6f, 0xaa, 0x30, + 0x60, 0xe4, 0x34, 0x23, 0x15, 0x20, 0x21, 0xc7, 0xc3, 0x6a, 0x89, 0x32, + 0x52, 0x8f, 0x55, 0x57, +}; +static const struct drbg_kat_pr_true kat3828_t = { + 2, kat3828_entropyin, kat3828_nonce, kat3828_persstr, + kat3828_entropyinpr1, kat3828_addinpr1, kat3828_entropyinpr2, + kat3828_addinpr2, kat3828_retbits +}; +static const struct drbg_kat kat3828 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3828_t +}; + +static const unsigned char kat3829_entropyin[] = { + 0xcc, 0x03, 0x94, 0x76, 0x19, 0xeb, 0xda, 0x1a, 0x32, 0xff, 0x0d, 0xa1, + 0xab, 0x50, 0x32, 0x2d, 0x91, 0x4a, 0x8c, 0x92, 0x8f, 0x22, 0x17, 0x1c, + 0x5f, 0x57, 0x94, 0xf0, 0x47, 0xc1, 0xb5, 0x7c, +}; +static const unsigned char kat3829_nonce[] = {0}; +static const unsigned char kat3829_persstr[] = { + 0x9b, 0x58, 0xfd, 0x04, 0x4d, 0x90, 0x99, 0x3a, 0x74, 0xc2, 0x1b, 0x3d, + 0xd3, 0x9e, 0x47, 0x8a, 0x67, 0x1e, 0xd3, 0x6e, 0xa7, 0x65, 0x71, 0x24, + 0x13, 0x58, 0x59, 0xc2, 0x71, 0xad, 0x61, 0xd3, +}; +static const unsigned char kat3829_entropyinpr1[] = { + 0x3a, 0xbd, 0xb2, 0x21, 0x60, 0xef, 0x49, 0x9b, 0xcc, 0xbd, 0x18, 0x16, + 0x30, 0x84, 0xfe, 0x44, 0x52, 0x06, 0x82, 0xc2, 0x10, 0x72, 0xd2, 0xb5, + 0xa6, 0xaf, 0xf2, 0x5a, 0x28, 0x2a, 0xad, 0xab, +}; +static const unsigned char kat3829_addinpr1[] = { + 0x55, 0x8e, 0x7e, 0x98, 0x05, 0x36, 0xab, 0xce, 0xdb, 0x6c, 0x16, 0x54, + 0xa9, 0x65, 0xb3, 0xd0, 0x78, 0xc2, 0x6e, 0xfd, 0xab, 0x1d, 0x1c, 0x6d, + 0x8a, 0x58, 0x24, 0x30, 0x3e, 0x89, 0x80, 0xe3, +}; +static const unsigned char kat3829_entropyinpr2[] = { + 0x85, 0x54, 0xaf, 0x8e, 0xb3, 0x17, 0x98, 0xfe, 0x3d, 0xc1, 0x55, 0xa1, + 0x9f, 0x61, 0xdd, 0x68, 0x56, 0x5e, 0x06, 0x8d, 0xaa, 0xef, 0x08, 0xf2, + 0x54, 0x6f, 0x4a, 0xeb, 0x46, 0x1b, 0xf2, 0xb4, +}; +static const unsigned char kat3829_addinpr2[] = { + 0xc8, 0x59, 0x91, 0x33, 0xdc, 0x1d, 0x2f, 0xb1, 0xe7, 0xb7, 0x86, 0xc6, + 0x6c, 0x99, 0x36, 0x5e, 0x49, 0xeb, 0x46, 0x61, 0x5b, 0xdd, 0x4f, 0xda, + 0xdb, 0xe5, 0x84, 0x9a, 0xf6, 0xae, 0x1a, 0xe9, +}; +static const unsigned char kat3829_retbits[] = { + 0x9d, 0x49, 0x50, 0x1d, 0xd8, 0x07, 0xba, 0x3a, 0x98, 0xd5, 0x07, 0x3c, + 0xeb, 0x2f, 0xf1, 0x4a, 0x5a, 0xa5, 0xd0, 0x95, 0xb5, 0xae, 0x0d, 0xb5, + 0x0f, 0x74, 0xcf, 0x97, 0xe0, 0x89, 0xcb, 0x1e, 0x4c, 0xb6, 0xeb, 0x59, + 0x4e, 0xc8, 0x60, 0xed, 0x76, 0x45, 0x67, 0xa2, 0xee, 0xf7, 0x0a, 0x38, + 0xd3, 0xd2, 0x43, 0xab, 0x47, 0x1a, 0xe9, 0x73, 0xe2, 0x93, 0xaf, 0x10, + 0xd6, 0x02, 0x35, 0x4f, +}; +static const struct drbg_kat_pr_true kat3829_t = { + 3, kat3829_entropyin, kat3829_nonce, kat3829_persstr, + kat3829_entropyinpr1, kat3829_addinpr1, kat3829_entropyinpr2, + kat3829_addinpr2, kat3829_retbits +}; +static const struct drbg_kat kat3829 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3829_t +}; + +static const unsigned char kat3830_entropyin[] = { + 0x89, 0x80, 0x74, 0x4d, 0xac, 0x51, 0x87, 0x6f, 0x03, 0x20, 0x11, 0xc9, + 0x59, 0xb1, 0x30, 0xfd, 0x63, 0x3a, 0x23, 0x0e, 0x5a, 0x5b, 0xe1, 0xbb, + 0x61, 0x46, 0x70, 0x63, 0xa6, 0xc3, 0xed, 0xf2, +}; +static const unsigned char kat3830_nonce[] = {0}; +static const unsigned char kat3830_persstr[] = { + 0x55, 0x74, 0x2e, 0x9d, 0x45, 0xda, 0xaf, 0xb4, 0xee, 0x2d, 0x44, 0x7e, + 0x3c, 0x63, 0xe5, 0x1e, 0x6f, 0x15, 0xb0, 0x8f, 0x45, 0x78, 0x43, 0x75, + 0x71, 0x17, 0xb6, 0x8d, 0x4d, 0xc8, 0xb9, 0x45, +}; +static const unsigned char kat3830_entropyinpr1[] = { + 0x2c, 0x11, 0xc2, 0x36, 0x69, 0x0b, 0xde, 0xec, 0x27, 0x5b, 0x8f, 0xec, + 0x24, 0x59, 0x78, 0xca, 0xf8, 0x7c, 0xe3, 0x6f, 0xe9, 0xb5, 0xb8, 0x9c, + 0x2c, 0x0c, 0x2d, 0x14, 0xdb, 0x79, 0x9b, 0x5d, +}; +static const unsigned char kat3830_addinpr1[] = { + 0xa2, 0x7a, 0xdc, 0x9a, 0x12, 0xe0, 0xa0, 0x3a, 0x50, 0x01, 0xe0, 0x18, + 0x4a, 0x63, 0x86, 0x68, 0x95, 0xe3, 0xcd, 0x62, 0xb7, 0x28, 0x52, 0xc3, + 0xc1, 0xbb, 0x09, 0x18, 0xfb, 0xaf, 0xf7, 0x68, +}; +static const unsigned char kat3830_entropyinpr2[] = { + 0x42, 0x45, 0xa8, 0x50, 0xfb, 0xfa, 0xdb, 0x2e, 0x36, 0x71, 0x42, 0xae, + 0x7d, 0xf0, 0xb4, 0x72, 0xc5, 0x08, 0xb4, 0x7e, 0x69, 0x42, 0x3a, 0x83, + 0x27, 0x2d, 0x7e, 0xda, 0x6d, 0x72, 0x1e, 0x1c, +}; +static const unsigned char kat3830_addinpr2[] = { + 0xf3, 0x8a, 0x3b, 0x20, 0x23, 0x02, 0xe2, 0xa5, 0xf9, 0x6e, 0x44, 0xc2, + 0x0a, 0xb9, 0x14, 0x86, 0xe5, 0x07, 0xa2, 0x3a, 0xb5, 0xd7, 0xbc, 0x68, + 0x3e, 0xc6, 0x4e, 0x49, 0x74, 0xc2, 0x42, 0x4a, +}; +static const unsigned char kat3830_retbits[] = { + 0x5c, 0x93, 0x29, 0xe7, 0x86, 0xe0, 0xdb, 0x03, 0xcb, 0x33, 0xb2, 0xd6, + 0xc4, 0x0f, 0x7b, 0xb0, 0xe2, 0x14, 0x30, 0x30, 0x22, 0x4e, 0x3f, 0x18, + 0xe5, 0xeb, 0x43, 0xbb, 0xf7, 0x3f, 0x8a, 0xdd, 0xaa, 0x14, 0x0a, 0x32, + 0xf4, 0x04, 0x48, 0xd6, 0xd8, 0x0d, 0x65, 0x82, 0x8d, 0x92, 0x05, 0xe8, + 0x39, 0xef, 0x46, 0x0f, 0x74, 0xf0, 0x42, 0x3e, 0x4c, 0x7b, 0x5e, 0x0c, + 0x49, 0x8c, 0xd1, 0xa8, +}; +static const struct drbg_kat_pr_true kat3830_t = { + 4, kat3830_entropyin, kat3830_nonce, kat3830_persstr, + kat3830_entropyinpr1, kat3830_addinpr1, kat3830_entropyinpr2, + kat3830_addinpr2, kat3830_retbits +}; +static const struct drbg_kat kat3830 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3830_t +}; + +static const unsigned char kat3831_entropyin[] = { + 0x61, 0x09, 0x43, 0xe4, 0xb2, 0x97, 0x45, 0xc8, 0x7f, 0x04, 0x5a, 0x45, + 0xd3, 0x82, 0x43, 0x08, 0xde, 0x7c, 0x45, 0x2f, 0xfe, 0x27, 0xf0, 0x77, + 0x51, 0xe7, 0x31, 0x91, 0xf2, 0x75, 0xd7, 0x2b, +}; +static const unsigned char kat3831_nonce[] = {0}; +static const unsigned char kat3831_persstr[] = { + 0xf4, 0x04, 0x79, 0x8a, 0x26, 0x3e, 0x6c, 0xb7, 0xa4, 0x92, 0x6b, 0x13, + 0xf7, 0x9e, 0xca, 0x7e, 0x30, 0x03, 0x97, 0xce, 0xb8, 0xb6, 0x09, 0x22, + 0x64, 0x4a, 0x8a, 0x29, 0xd9, 0x96, 0x21, 0x79, +}; +static const unsigned char kat3831_entropyinpr1[] = { + 0x77, 0xc5, 0xbf, 0x63, 0x10, 0x60, 0xf6, 0xe6, 0xe1, 0x38, 0xbf, 0xcb, + 0xf9, 0x34, 0x3c, 0x42, 0x8a, 0x91, 0x0a, 0xea, 0x96, 0x8a, 0x3c, 0x1d, + 0x7e, 0xe1, 0xb0, 0x40, 0x57, 0x82, 0x89, 0x75, +}; +static const unsigned char kat3831_addinpr1[] = { + 0x12, 0x55, 0x07, 0xe6, 0xaf, 0xab, 0x4b, 0x1c, 0x37, 0xae, 0x63, 0x7e, + 0x7d, 0xeb, 0x4a, 0x53, 0x50, 0xf8, 0xb2, 0x3f, 0xfb, 0x78, 0x6f, 0x2c, + 0x53, 0xc8, 0xc3, 0x98, 0xa2, 0x2e, 0x8a, 0x14, +}; +static const unsigned char kat3831_entropyinpr2[] = { + 0x2d, 0xa9, 0xa8, 0x7d, 0xed, 0xc5, 0xc1, 0x20, 0xaa, 0x17, 0x8d, 0xbe, + 0x46, 0xa2, 0x56, 0x12, 0x1e, 0xae, 0x55, 0x24, 0x68, 0xfe, 0xcf, 0xfe, + 0x85, 0x73, 0x3d, 0x40, 0x34, 0xb4, 0x38, 0xd3, +}; +static const unsigned char kat3831_addinpr2[] = { + 0x97, 0x46, 0xd7, 0xcd, 0x3f, 0x03, 0xa0, 0xb6, 0x0c, 0xc3, 0xcd, 0x91, + 0x56, 0x0e, 0x05, 0xfc, 0x80, 0x8e, 0xcb, 0x51, 0x7c, 0xe5, 0x7f, 0xdc, + 0x19, 0x61, 0x36, 0xee, 0x5e, 0xdc, 0xbe, 0xe6, +}; +static const unsigned char kat3831_retbits[] = { + 0xbe, 0x8e, 0xb3, 0xe4, 0xc9, 0x80, 0xc2, 0xbe, 0x06, 0xf8, 0x22, 0x4b, + 0xab, 0x24, 0xd6, 0xe6, 0xe5, 0xe3, 0x73, 0xc7, 0xe2, 0xd8, 0x04, 0x24, + 0x76, 0x43, 0x8f, 0x25, 0x07, 0xa0, 0x05, 0x1d, 0x4d, 0xa2, 0x69, 0x70, + 0x02, 0x0a, 0x8e, 0x04, 0xd1, 0x6b, 0x93, 0x73, 0xa2, 0xce, 0xb4, 0x6f, + 0xda, 0x2d, 0x3e, 0x0a, 0xa0, 0xed, 0x0e, 0xea, 0x22, 0x03, 0xc9, 0x56, + 0x27, 0x6f, 0x36, 0xc7, +}; +static const struct drbg_kat_pr_true kat3831_t = { + 5, kat3831_entropyin, kat3831_nonce, kat3831_persstr, + kat3831_entropyinpr1, kat3831_addinpr1, kat3831_entropyinpr2, + kat3831_addinpr2, kat3831_retbits +}; +static const struct drbg_kat kat3831 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3831_t +}; + +static const unsigned char kat3832_entropyin[] = { + 0xee, 0xbd, 0x8f, 0x78, 0x7b, 0x46, 0x5e, 0x82, 0xd6, 0x45, 0xee, 0x25, + 0x1e, 0xf4, 0x9a, 0xb2, 0x43, 0x2a, 0x8b, 0x91, 0x8f, 0x4b, 0x7b, 0x98, + 0xac, 0x6c, 0xd9, 0xfb, 0x91, 0x33, 0x13, 0x10, +}; +static const unsigned char kat3832_nonce[] = {0}; +static const unsigned char kat3832_persstr[] = { + 0xfa, 0xeb, 0x92, 0xfc, 0x4a, 0xe0, 0x73, 0xa7, 0x04, 0x8d, 0x31, 0xce, + 0xa5, 0x17, 0xda, 0x5e, 0x35, 0x08, 0x00, 0x1d, 0x37, 0xbb, 0xb6, 0x25, + 0x8b, 0xb7, 0x8f, 0x69, 0x11, 0x32, 0x67, 0x01, +}; +static const unsigned char kat3832_entropyinpr1[] = { + 0x58, 0xc4, 0x0d, 0x6e, 0x41, 0xa1, 0x78, 0xad, 0x01, 0xa0, 0xd1, 0xf3, + 0x9d, 0x57, 0xe1, 0xcc, 0x85, 0x15, 0x33, 0xb0, 0xc8, 0xb3, 0xbc, 0xd5, + 0x81, 0x30, 0x79, 0x28, 0x7f, 0x98, 0x56, 0xe2, +}; +static const unsigned char kat3832_addinpr1[] = { + 0xd7, 0x6b, 0x08, 0x6f, 0xe5, 0x9e, 0x22, 0x64, 0x34, 0x13, 0x47, 0x34, + 0x60, 0xfe, 0xa2, 0xed, 0x47, 0x10, 0xbf, 0x18, 0xd4, 0xe1, 0x8a, 0xcb, + 0xf5, 0x16, 0xa0, 0x3c, 0x90, 0xb4, 0x12, 0x94, +}; +static const unsigned char kat3832_entropyinpr2[] = { + 0x40, 0x69, 0xc9, 0x09, 0x7c, 0x30, 0x09, 0xc6, 0xdc, 0x7a, 0x04, 0x0c, + 0x59, 0x49, 0x1a, 0xe0, 0x83, 0xcb, 0x26, 0x3b, 0x06, 0x3d, 0x26, 0x76, + 0xab, 0x43, 0xbd, 0x03, 0x9a, 0x78, 0xd3, 0xfb, +}; +static const unsigned char kat3832_addinpr2[] = { + 0x29, 0x5d, 0x0d, 0x82, 0x8b, 0x6e, 0x6e, 0xff, 0xde, 0x05, 0xab, 0x3b, + 0xc9, 0xce, 0x58, 0x4e, 0x4e, 0x45, 0xcf, 0x9b, 0xa5, 0x02, 0x5f, 0x39, + 0x0b, 0x70, 0x9e, 0x37, 0x12, 0x43, 0x4c, 0x1c, +}; +static const unsigned char kat3832_retbits[] = { + 0x26, 0x08, 0x75, 0x47, 0xae, 0x8a, 0x97, 0x91, 0x89, 0x2e, 0xcc, 0xdd, + 0xb6, 0x46, 0x77, 0x5c, 0x6d, 0xe5, 0x5f, 0xb1, 0x74, 0x8f, 0xb5, 0x73, + 0x7f, 0x56, 0x4a, 0x26, 0xeb, 0x6b, 0xca, 0x58, 0xdc, 0x80, 0xf8, 0xb8, + 0xf4, 0x2c, 0xdf, 0x91, 0x8c, 0x35, 0xae, 0x0f, 0x9a, 0xed, 0x50, 0x8a, + 0xfa, 0x01, 0x6c, 0x49, 0xdf, 0xd4, 0x10, 0x86, 0x0b, 0x70, 0x24, 0xc5, + 0x1e, 0xae, 0xff, 0x83, +}; +static const struct drbg_kat_pr_true kat3832_t = { + 6, kat3832_entropyin, kat3832_nonce, kat3832_persstr, + kat3832_entropyinpr1, kat3832_addinpr1, kat3832_entropyinpr2, + kat3832_addinpr2, kat3832_retbits +}; +static const struct drbg_kat kat3832 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3832_t +}; + +static const unsigned char kat3833_entropyin[] = { + 0xdb, 0x92, 0x1a, 0x90, 0x5c, 0x58, 0xc8, 0x45, 0x33, 0x3a, 0x52, 0xf0, + 0x8c, 0xae, 0xa9, 0x7d, 0x47, 0x19, 0x0e, 0x91, 0x90, 0x25, 0x32, 0xf3, + 0x6d, 0xdc, 0x87, 0x93, 0x89, 0x30, 0xd8, 0xcb, +}; +static const unsigned char kat3833_nonce[] = {0}; +static const unsigned char kat3833_persstr[] = { + 0xc6, 0x32, 0x56, 0xf1, 0xc8, 0xf9, 0xaa, 0xa7, 0x53, 0x56, 0xe9, 0xc7, + 0x10, 0x2e, 0xc9, 0x60, 0xf0, 0x75, 0x45, 0xa1, 0xb9, 0x80, 0x25, 0x94, + 0x3b, 0x78, 0x83, 0xd0, 0x4a, 0xd6, 0x36, 0xc8, +}; +static const unsigned char kat3833_entropyinpr1[] = { + 0x4b, 0xe8, 0x3a, 0xb9, 0xf7, 0xcd, 0x8e, 0x06, 0xcb, 0x76, 0xc5, 0x25, + 0x80, 0xe2, 0x3c, 0xeb, 0xa7, 0x0e, 0x99, 0xa8, 0xd9, 0x8c, 0xdb, 0x00, + 0x6b, 0xed, 0xe2, 0x2d, 0xc8, 0x0d, 0xfe, 0xb4, +}; +static const unsigned char kat3833_addinpr1[] = { + 0x44, 0xbc, 0xa1, 0xbe, 0x19, 0xc6, 0xa5, 0x21, 0x1f, 0xc9, 0xe0, 0xa1, + 0x9e, 0xa4, 0x29, 0xbe, 0xef, 0x23, 0x5d, 0x24, 0xf5, 0xf5, 0x13, 0xfc, + 0xcd, 0xbd, 0x8d, 0x76, 0xf1, 0xd6, 0xbc, 0x31, +}; +static const unsigned char kat3833_entropyinpr2[] = { + 0x02, 0xa4, 0x82, 0xfe, 0x9c, 0x1e, 0xdd, 0x21, 0xcb, 0x1e, 0xf2, 0x4c, + 0xcb, 0xa2, 0x65, 0x08, 0xa2, 0x1a, 0x0a, 0x15, 0xdc, 0x53, 0xd1, 0x04, + 0x35, 0x2c, 0x9d, 0x38, 0x66, 0x98, 0x4e, 0x4e, +}; +static const unsigned char kat3833_addinpr2[] = { + 0x7e, 0x03, 0x78, 0xd4, 0x75, 0x19, 0x1a, 0x40, 0x5f, 0x0f, 0x6f, 0x41, + 0x1d, 0x8e, 0x5b, 0xa8, 0xa8, 0xc7, 0x56, 0x79, 0xdc, 0x91, 0x8a, 0x39, + 0x03, 0x90, 0xdd, 0xd5, 0x84, 0x78, 0xd6, 0xf0, +}; +static const unsigned char kat3833_retbits[] = { + 0x7d, 0xf6, 0xcf, 0x44, 0x2e, 0xe4, 0x2a, 0xc3, 0x46, 0x98, 0x07, 0xd0, + 0x1e, 0xb9, 0x50, 0x04, 0xda, 0xcd, 0xaa, 0xd2, 0x0d, 0x26, 0xbd, 0x66, + 0x0f, 0xb7, 0xfb, 0x2b, 0x45, 0xc4, 0x70, 0xf0, 0xe1, 0xc7, 0x40, 0xe1, + 0x57, 0xb7, 0x2f, 0x69, 0xaa, 0xc6, 0x05, 0x8f, 0x39, 0x1f, 0x1a, 0xed, + 0x37, 0x8a, 0x53, 0x96, 0x35, 0x6a, 0xea, 0x08, 0x0e, 0x42, 0x09, 0x8c, + 0xba, 0x24, 0xb8, 0x2f, +}; +static const struct drbg_kat_pr_true kat3833_t = { + 7, kat3833_entropyin, kat3833_nonce, kat3833_persstr, + kat3833_entropyinpr1, kat3833_addinpr1, kat3833_entropyinpr2, + kat3833_addinpr2, kat3833_retbits +}; +static const struct drbg_kat kat3833 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3833_t +}; + +static const unsigned char kat3834_entropyin[] = { + 0x56, 0x7d, 0x90, 0x54, 0x42, 0x30, 0xc7, 0xdf, 0x90, 0x00, 0x54, 0xdc, + 0xfd, 0x65, 0x43, 0xa8, 0xf1, 0x0b, 0xc3, 0x5f, 0x4d, 0x71, 0xcb, 0x9b, + 0x57, 0x39, 0xc9, 0x28, 0xc6, 0x4f, 0xe3, 0x64, +}; +static const unsigned char kat3834_nonce[] = {0}; +static const unsigned char kat3834_persstr[] = { + 0xaa, 0x9a, 0xfe, 0x72, 0x28, 0x34, 0x8f, 0xaa, 0x3e, 0x81, 0x75, 0xbe, + 0x71, 0xec, 0xf3, 0x1a, 0xdf, 0x32, 0xb5, 0x86, 0x0f, 0xdf, 0x4f, 0x68, + 0xc9, 0xa0, 0x30, 0x05, 0xea, 0x13, 0x08, 0xa6, +}; +static const unsigned char kat3834_entropyinpr1[] = { + 0x62, 0x0d, 0x7f, 0x08, 0xe9, 0x03, 0x65, 0xd7, 0xb2, 0x18, 0xbb, 0xf9, + 0x50, 0xfd, 0x33, 0x0c, 0xb3, 0x12, 0x91, 0x9f, 0xbc, 0xb7, 0x19, 0xa5, + 0x07, 0x32, 0x1c, 0x90, 0x3b, 0x11, 0xe0, 0x01, +}; +static const unsigned char kat3834_addinpr1[] = { + 0x30, 0x86, 0x6b, 0x52, 0xc5, 0x89, 0x09, 0x2d, 0x64, 0xd4, 0x2e, 0x99, + 0x03, 0x32, 0x5b, 0xd6, 0x22, 0x74, 0x1b, 0xa2, 0x11, 0x04, 0x94, 0x73, + 0xb0, 0x08, 0xe0, 0x15, 0xa4, 0x03, 0x48, 0x46, +}; +static const unsigned char kat3834_entropyinpr2[] = { + 0x1b, 0x09, 0x91, 0x4d, 0xd7, 0x13, 0x6b, 0xe0, 0x92, 0x29, 0x00, 0xb5, + 0x55, 0x98, 0x01, 0x03, 0xdc, 0x24, 0xa2, 0x86, 0xd1, 0xe4, 0xa5, 0x18, + 0x58, 0xa5, 0xaf, 0x49, 0x03, 0x17, 0x19, 0xdb, +}; +static const unsigned char kat3834_addinpr2[] = { + 0xa5, 0xc9, 0x50, 0xc0, 0xbb, 0x9c, 0x3e, 0x4a, 0x18, 0x9d, 0xef, 0x6f, + 0xa0, 0xfa, 0xf2, 0xd2, 0x10, 0xe0, 0xea, 0x5b, 0x27, 0x19, 0xac, 0x50, + 0xe6, 0x29, 0x86, 0x53, 0x53, 0x4c, 0x8a, 0xe1, +}; +static const unsigned char kat3834_retbits[] = { + 0xdf, 0xcb, 0xf4, 0xf9, 0x8e, 0xce, 0x17, 0xc7, 0x89, 0xcc, 0x71, 0x36, + 0xc6, 0xcd, 0x3d, 0x62, 0xe5, 0xcd, 0xee, 0x1a, 0xb7, 0x1c, 0x0f, 0x68, + 0xf4, 0xa6, 0x3d, 0x62, 0x3b, 0x28, 0xd4, 0xf0, 0xf0, 0x19, 0x60, 0x6c, + 0x5f, 0x42, 0xac, 0x19, 0xeb, 0x21, 0xe8, 0xea, 0xc5, 0x87, 0xb1, 0x35, + 0x49, 0x6a, 0xe3, 0x4d, 0x0d, 0x55, 0x89, 0x8e, 0xce, 0x9c, 0xfa, 0x6c, + 0x93, 0xa4, 0xd1, 0xdc, +}; +static const struct drbg_kat_pr_true kat3834_t = { + 8, kat3834_entropyin, kat3834_nonce, kat3834_persstr, + kat3834_entropyinpr1, kat3834_addinpr1, kat3834_entropyinpr2, + kat3834_addinpr2, kat3834_retbits +}; +static const struct drbg_kat kat3834 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3834_t +}; + +static const unsigned char kat3835_entropyin[] = { + 0xc8, 0x8d, 0xdc, 0xbd, 0x3a, 0x90, 0xe7, 0x69, 0x0b, 0x34, 0x4d, 0x47, + 0x3f, 0x74, 0x50, 0xf9, 0xc2, 0xd6, 0x7f, 0xb1, 0xcd, 0x16, 0x2d, 0x0d, + 0x9a, 0x0b, 0xeb, 0xa5, 0xdd, 0x64, 0x29, 0xcf, +}; +static const unsigned char kat3835_nonce[] = {0}; +static const unsigned char kat3835_persstr[] = { + 0x5a, 0xa9, 0x67, 0x83, 0x85, 0x6e, 0x22, 0x9c, 0xe7, 0x15, 0x63, 0x7c, + 0x7c, 0x9d, 0xe4, 0x02, 0xcb, 0x29, 0x78, 0xf8, 0x42, 0xcb, 0xe3, 0x05, + 0x00, 0x14, 0x7c, 0x95, 0x40, 0x47, 0x07, 0x92, +}; +static const unsigned char kat3835_entropyinpr1[] = { + 0x23, 0x81, 0x02, 0xd7, 0x59, 0xe0, 0x17, 0xf8, 0xab, 0xf3, 0x73, 0x58, + 0x38, 0x4a, 0xd4, 0x9c, 0xba, 0xab, 0x74, 0xef, 0x38, 0x85, 0xc0, 0xc0, + 0x07, 0xfb, 0xce, 0x23, 0x34, 0x88, 0x36, 0xcf, +}; +static const unsigned char kat3835_addinpr1[] = { + 0x05, 0x7b, 0x19, 0x6c, 0x2c, 0x86, 0xb7, 0x1e, 0x41, 0xee, 0x58, 0x89, + 0x5a, 0x74, 0x0d, 0x61, 0x97, 0x22, 0x39, 0x5d, 0x16, 0xbe, 0x13, 0x23, + 0x86, 0x92, 0x72, 0xf6, 0xf1, 0x07, 0x69, 0x2f, +}; +static const unsigned char kat3835_entropyinpr2[] = { + 0xe9, 0xb8, 0x1b, 0x2a, 0x76, 0x77, 0x26, 0xa6, 0x71, 0xec, 0xc7, 0xf3, + 0xa2, 0xa6, 0x86, 0x7a, 0xff, 0x7b, 0x96, 0x60, 0x64, 0xb3, 0x16, 0x64, + 0x27, 0x3c, 0x02, 0xe8, 0x60, 0x49, 0x15, 0xa0, +}; +static const unsigned char kat3835_addinpr2[] = { + 0xc8, 0x5a, 0xf1, 0x7f, 0x50, 0x26, 0x4f, 0xb2, 0xda, 0xe7, 0x0a, 0x3e, + 0x52, 0xff, 0xcd, 0xb0, 0xf3, 0xf8, 0x5d, 0x13, 0xbf, 0x04, 0x72, 0x14, + 0x91, 0x36, 0xf1, 0x51, 0x71, 0xc0, 0x9d, 0xca, +}; +static const unsigned char kat3835_retbits[] = { + 0x14, 0x76, 0x1b, 0x40, 0xc7, 0x87, 0x42, 0x5e, 0x2e, 0xdf, 0x31, 0x6d, + 0x4b, 0x2d, 0xa5, 0xaa, 0x7b, 0xf9, 0x0e, 0xc8, 0x7f, 0x1e, 0x12, 0x40, + 0x4f, 0xf1, 0xe8, 0x69, 0x09, 0x34, 0x2e, 0xa5, 0x4e, 0x64, 0x7e, 0x52, + 0x9c, 0xe3, 0xe4, 0x7a, 0x87, 0x69, 0x07, 0xdc, 0x9a, 0xb7, 0xdf, 0x29, + 0x85, 0xd5, 0xd0, 0xfb, 0xb5, 0x41, 0xa2, 0x4a, 0xbb, 0x60, 0x3c, 0x1b, + 0xda, 0x90, 0xa9, 0x8e, +}; +static const struct drbg_kat_pr_true kat3835_t = { + 9, kat3835_entropyin, kat3835_nonce, kat3835_persstr, + kat3835_entropyinpr1, kat3835_addinpr1, kat3835_entropyinpr2, + kat3835_addinpr2, kat3835_retbits +}; +static const struct drbg_kat kat3835 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3835_t +}; + +static const unsigned char kat3836_entropyin[] = { + 0x7d, 0x45, 0xc5, 0x7c, 0x97, 0x74, 0x42, 0xbf, 0xd9, 0x40, 0xc1, 0x14, + 0x5b, 0x15, 0x6b, 0xf9, 0x3a, 0xb4, 0xa4, 0x8a, 0x49, 0x50, 0x9d, 0x08, + 0xc1, 0x9a, 0x97, 0xb1, 0x23, 0x33, 0xf1, 0x95, +}; +static const unsigned char kat3836_nonce[] = {0}; +static const unsigned char kat3836_persstr[] = { + 0x0f, 0x85, 0x88, 0x5f, 0x09, 0xe0, 0x33, 0xd9, 0x27, 0x29, 0x5f, 0x17, + 0xe3, 0x38, 0xfd, 0x23, 0xa7, 0xf2, 0x71, 0x29, 0x86, 0x22, 0x74, 0x16, + 0xfa, 0xa0, 0xf4, 0x47, 0xf5, 0x66, 0xc8, 0x7d, +}; +static const unsigned char kat3836_entropyinpr1[] = { + 0x48, 0x56, 0x94, 0x5f, 0xb0, 0x87, 0xf0, 0xa8, 0x76, 0xa2, 0xcf, 0xc2, + 0x66, 0x46, 0x18, 0x63, 0xad, 0x56, 0x11, 0xa2, 0x60, 0xaa, 0xa6, 0x19, + 0x14, 0x58, 0x83, 0xf5, 0xf1, 0x88, 0x2f, 0x4b, +}; +static const unsigned char kat3836_addinpr1[] = { + 0xec, 0xef, 0x28, 0x0b, 0x94, 0xfb, 0x1e, 0xca, 0x94, 0x79, 0x41, 0x53, + 0x4f, 0xe6, 0xd9, 0xee, 0x1d, 0x7c, 0xe8, 0x92, 0x1a, 0xd5, 0xcf, 0x76, + 0xc7, 0x2a, 0x80, 0xb5, 0xd5, 0x71, 0x68, 0x6b, +}; +static const unsigned char kat3836_entropyinpr2[] = { + 0x02, 0x20, 0x01, 0xc4, 0x25, 0xbb, 0x74, 0x65, 0x3d, 0xcc, 0x96, 0x8f, + 0x79, 0xb6, 0xd1, 0x42, 0x47, 0x3f, 0xfc, 0x45, 0x29, 0x4c, 0xcd, 0x08, + 0x82, 0x19, 0x25, 0xfe, 0x0e, 0x7b, 0x59, 0xf3, +}; +static const unsigned char kat3836_addinpr2[] = { + 0x96, 0x40, 0xc1, 0xef, 0x76, 0x6c, 0x6d, 0xdf, 0x7e, 0x28, 0x37, 0x66, + 0xcc, 0xeb, 0x02, 0x19, 0xb4, 0x4c, 0xd4, 0x06, 0x1f, 0x2c, 0x21, 0x5c, + 0x38, 0xa2, 0xbd, 0xec, 0xda, 0x74, 0xe7, 0x68, +}; +static const unsigned char kat3836_retbits[] = { + 0x97, 0x47, 0x67, 0x8c, 0x0b, 0xfc, 0xe8, 0x24, 0x48, 0x44, 0x81, 0x48, + 0x3f, 0xbf, 0xb3, 0x6e, 0x52, 0xb4, 0x2b, 0xb6, 0x1c, 0x7b, 0x9e, 0x81, + 0xb8, 0x64, 0x6c, 0xb9, 0x61, 0xa5, 0xe2, 0x33, 0x73, 0xcd, 0x1b, 0x38, + 0x11, 0x73, 0xe8, 0x98, 0xf5, 0x98, 0x5d, 0x6b, 0x88, 0x07, 0xe8, 0x54, + 0xaf, 0xb7, 0xf9, 0x90, 0x8b, 0x86, 0xb5, 0x9f, 0x10, 0xab, 0x7e, 0x5f, + 0x40, 0xd9, 0x95, 0xbf, +}; +static const struct drbg_kat_pr_true kat3836_t = { + 10, kat3836_entropyin, kat3836_nonce, kat3836_persstr, + kat3836_entropyinpr1, kat3836_addinpr1, kat3836_entropyinpr2, + kat3836_addinpr2, kat3836_retbits +}; +static const struct drbg_kat kat3836 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3836_t +}; + +static const unsigned char kat3837_entropyin[] = { + 0xfa, 0xce, 0xb4, 0x77, 0x25, 0x5e, 0x51, 0x95, 0x1a, 0xdf, 0xd7, 0xed, + 0x0e, 0xb9, 0x9e, 0x39, 0x1d, 0xc7, 0x77, 0x85, 0xea, 0x7c, 0x03, 0xa1, + 0x50, 0x04, 0x7f, 0xf7, 0x36, 0x38, 0x2e, 0x86, +}; +static const unsigned char kat3837_nonce[] = {0}; +static const unsigned char kat3837_persstr[] = { + 0xee, 0xd0, 0xf3, 0xa4, 0xc9, 0xb7, 0xf1, 0x2e, 0x46, 0xdf, 0xa7, 0x75, + 0xec, 0xf8, 0x48, 0xd9, 0x63, 0xa1, 0xaf, 0x09, 0x7f, 0xa7, 0x9c, 0x9d, + 0x31, 0xd3, 0x46, 0xd7, 0x0b, 0xce, 0xcc, 0x44, +}; +static const unsigned char kat3837_entropyinpr1[] = { + 0x23, 0x3d, 0x42, 0xaa, 0x4a, 0x3a, 0x00, 0xb1, 0x1b, 0x53, 0xbc, 0xab, + 0x65, 0x74, 0x9b, 0x8f, 0xc4, 0xb5, 0xdd, 0x7e, 0x63, 0x20, 0x73, 0x2e, + 0xc5, 0x36, 0x54, 0xc3, 0xa8, 0x97, 0x4f, 0xed, +}; +static const unsigned char kat3837_addinpr1[] = { + 0xab, 0x58, 0x91, 0xd6, 0x6a, 0x28, 0x41, 0xd2, 0xdf, 0x0f, 0xb6, 0x6e, + 0xa7, 0x93, 0xf2, 0x50, 0x69, 0xb3, 0xd3, 0xaf, 0x08, 0xa5, 0xe0, 0x76, + 0x46, 0xbd, 0x4b, 0x1c, 0x53, 0xe4, 0x1c, 0xc6, +}; +static const unsigned char kat3837_entropyinpr2[] = { + 0xda, 0xc6, 0xcb, 0x6b, 0x3c, 0x87, 0x11, 0xf6, 0x25, 0x3d, 0x0f, 0xdd, + 0x20, 0xdd, 0xc7, 0x40, 0xf8, 0x60, 0x28, 0x7a, 0x9f, 0x5f, 0xca, 0x78, + 0xe3, 0x62, 0xb5, 0x83, 0xa7, 0x75, 0x3f, 0x38, +}; +static const unsigned char kat3837_addinpr2[] = { + 0x33, 0x2f, 0xa3, 0x94, 0x0a, 0xdb, 0x21, 0x7e, 0x5e, 0x66, 0xb1, 0xe7, + 0xdc, 0xb0, 0xe1, 0x5f, 0x06, 0x55, 0x93, 0x73, 0xae, 0xd4, 0xb7, 0x5b, + 0xf6, 0xbb, 0x5b, 0x78, 0xd0, 0x17, 0xba, 0x6f, +}; +static const unsigned char kat3837_retbits[] = { + 0x77, 0xb2, 0xe6, 0xd1, 0x9e, 0xee, 0x7e, 0x24, 0x56, 0xe3, 0x60, 0x14, + 0xc4, 0xe9, 0xd2, 0x37, 0x71, 0xcd, 0xaf, 0x6d, 0x17, 0x3d, 0xe5, 0xe7, + 0xfd, 0x5e, 0xb5, 0xc2, 0x50, 0x78, 0x56, 0xd2, 0x7c, 0x45, 0x4e, 0x82, + 0x3b, 0x98, 0x42, 0xda, 0xd1, 0x57, 0x81, 0x6e, 0x03, 0xe2, 0x2f, 0x87, + 0x28, 0xce, 0xe6, 0xb0, 0xfd, 0x2e, 0xf1, 0x4f, 0xd4, 0x24, 0x9e, 0x83, + 0x6f, 0x32, 0xff, 0xa9, +}; +static const struct drbg_kat_pr_true kat3837_t = { + 11, kat3837_entropyin, kat3837_nonce, kat3837_persstr, + kat3837_entropyinpr1, kat3837_addinpr1, kat3837_entropyinpr2, + kat3837_addinpr2, kat3837_retbits +}; +static const struct drbg_kat kat3837 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3837_t +}; + +static const unsigned char kat3838_entropyin[] = { + 0xbe, 0x34, 0xf7, 0x6f, 0xf2, 0x57, 0x9a, 0xee, 0xa3, 0xa8, 0xe3, 0x34, + 0x42, 0x4c, 0xf6, 0xfd, 0x21, 0x2a, 0x35, 0x6e, 0x60, 0x51, 0x9e, 0xbe, + 0x03, 0xe5, 0x8e, 0xa0, 0x70, 0x20, 0x52, 0xa3, +}; +static const unsigned char kat3838_nonce[] = {0}; +static const unsigned char kat3838_persstr[] = { + 0x67, 0xda, 0xbd, 0x1f, 0x3a, 0x54, 0x38, 0x36, 0x31, 0xf7, 0xaa, 0xfa, + 0xbe, 0x44, 0x60, 0x25, 0xae, 0xf8, 0xde, 0x21, 0xc9, 0xf2, 0x00, 0xf1, + 0x54, 0x23, 0xbb, 0xd9, 0xb3, 0xbb, 0xcf, 0x02, +}; +static const unsigned char kat3838_entropyinpr1[] = { + 0x49, 0xcd, 0x2b, 0x74, 0xee, 0xea, 0x27, 0x52, 0x3a, 0xe6, 0x13, 0xe1, + 0xbf, 0x00, 0x03, 0x39, 0xfc, 0xbe, 0xa5, 0xd9, 0x12, 0x33, 0x3d, 0x83, + 0xcf, 0x41, 0x6c, 0xb0, 0xcf, 0xf7, 0x4a, 0x5d, +}; +static const unsigned char kat3838_addinpr1[] = { + 0xff, 0x4e, 0xb8, 0xc0, 0x0d, 0xec, 0x61, 0xf3, 0xe3, 0xfd, 0x1b, 0x26, + 0x08, 0x31, 0x90, 0x45, 0x5f, 0x89, 0x31, 0x21, 0xfb, 0x97, 0x85, 0x53, + 0x2f, 0xa3, 0x3c, 0x1f, 0xe3, 0x74, 0xbb, 0xb1, +}; +static const unsigned char kat3838_entropyinpr2[] = { + 0x26, 0xd6, 0x5b, 0x73, 0xfe, 0xe9, 0xe6, 0xb2, 0x6e, 0x3f, 0xba, 0x4e, + 0xc5, 0xbf, 0xc0, 0x8f, 0xa0, 0x77, 0xf9, 0xc4, 0x75, 0xff, 0x68, 0xc6, + 0x70, 0x7f, 0x48, 0x76, 0xc8, 0x21, 0xbc, 0x9e, +}; +static const unsigned char kat3838_addinpr2[] = { + 0xa0, 0xf1, 0x8d, 0xdd, 0x51, 0x78, 0x65, 0xd2, 0x63, 0x03, 0x21, 0xa4, + 0x10, 0x84, 0xd7, 0x9d, 0xbd, 0x20, 0x25, 0x5d, 0xba, 0x5b, 0x86, 0x91, + 0x63, 0x2e, 0x85, 0xde, 0xb3, 0xe0, 0xc0, 0x72, +}; +static const unsigned char kat3838_retbits[] = { + 0x49, 0xcd, 0xce, 0xc1, 0xd6, 0x5b, 0x0e, 0x03, 0xac, 0x4d, 0x19, 0x21, + 0x6e, 0xa4, 0x5a, 0xc3, 0x1f, 0x76, 0xba, 0xc7, 0xd6, 0x30, 0xe1, 0x01, + 0x8e, 0x7a, 0x5b, 0x9d, 0x81, 0xff, 0x20, 0xac, 0x15, 0x91, 0x10, 0xa1, + 0xf9, 0x3d, 0x36, 0x82, 0x05, 0x2a, 0x07, 0x93, 0xe1, 0x92, 0x3e, 0x59, + 0xe5, 0x03, 0xde, 0xfb, 0xbe, 0xd3, 0x11, 0x86, 0x82, 0xd7, 0x57, 0xd0, + 0x22, 0x27, 0xc4, 0xbc, +}; +static const struct drbg_kat_pr_true kat3838_t = { + 12, kat3838_entropyin, kat3838_nonce, kat3838_persstr, + kat3838_entropyinpr1, kat3838_addinpr1, kat3838_entropyinpr2, + kat3838_addinpr2, kat3838_retbits +}; +static const struct drbg_kat kat3838 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3838_t +}; + +static const unsigned char kat3839_entropyin[] = { + 0x81, 0xc4, 0x7b, 0x1a, 0xfb, 0x87, 0x6f, 0x71, 0x15, 0x9b, 0x3c, 0x7d, + 0xa5, 0x87, 0x90, 0x99, 0xe3, 0x6f, 0x72, 0xcd, 0x39, 0x0b, 0x5f, 0x91, + 0x68, 0x31, 0xfb, 0x7d, 0x9a, 0x33, 0xcc, 0x8b, +}; +static const unsigned char kat3839_nonce[] = {0}; +static const unsigned char kat3839_persstr[] = { + 0x05, 0xa2, 0x4c, 0x4e, 0xef, 0x87, 0x2e, 0xcc, 0x59, 0x09, 0xe4, 0x64, + 0xe0, 0xb9, 0xfd, 0x6b, 0x17, 0x1a, 0x76, 0x9b, 0x5c, 0x76, 0xa0, 0x27, + 0x11, 0x4a, 0x0d, 0x11, 0xb3, 0x02, 0xc3, 0xa8, +}; +static const unsigned char kat3839_entropyinpr1[] = { + 0xb6, 0x83, 0x32, 0xd2, 0xe1, 0x60, 0x00, 0x22, 0xf3, 0x3e, 0x3d, 0xdb, + 0x8b, 0x7a, 0x58, 0x46, 0xbb, 0xde, 0x26, 0xb0, 0xeb, 0x12, 0xc6, 0x3b, + 0x39, 0x4d, 0xd4, 0xdf, 0xc1, 0xef, 0x18, 0x7a, +}; +static const unsigned char kat3839_addinpr1[] = { + 0xa6, 0x6f, 0xa6, 0x27, 0x7d, 0x83, 0x96, 0xd4, 0x98, 0xac, 0x82, 0x51, + 0x8a, 0xae, 0x10, 0xe6, 0x7d, 0x96, 0x1e, 0x67, 0x9e, 0x5a, 0x89, 0xef, + 0xd8, 0x18, 0xf0, 0x81, 0x1f, 0x4a, 0x28, 0xe6, +}; +static const unsigned char kat3839_entropyinpr2[] = { + 0xc3, 0x92, 0x04, 0xb1, 0xf0, 0x56, 0x23, 0x4d, 0x37, 0xe4, 0x9d, 0xfe, + 0x40, 0x63, 0x18, 0xcf, 0x41, 0x77, 0xcc, 0xe6, 0xd1, 0x72, 0xc3, 0xf8, + 0x2a, 0xdd, 0x7f, 0x8a, 0x2f, 0x9b, 0xd3, 0x55, +}; +static const unsigned char kat3839_addinpr2[] = { + 0xad, 0xac, 0xff, 0xc9, 0x45, 0xa6, 0x21, 0xe6, 0x18, 0x5d, 0x81, 0xc2, + 0x8e, 0xe0, 0xc4, 0xf7, 0x1f, 0x5e, 0xcf, 0xb1, 0x12, 0x2b, 0x43, 0x32, + 0x1c, 0x77, 0x78, 0x25, 0x93, 0x75, 0xcc, 0x9f, +}; +static const unsigned char kat3839_retbits[] = { + 0x44, 0xc5, 0x2b, 0x3b, 0xde, 0x4f, 0x0e, 0xad, 0x73, 0x3d, 0x15, 0x49, + 0x0d, 0x6f, 0xd9, 0xe2, 0xe9, 0xf7, 0x10, 0x52, 0x56, 0x3a, 0x62, 0xb5, + 0xa1, 0x3f, 0x87, 0x10, 0x39, 0xc7, 0xa6, 0x46, 0x91, 0x63, 0x6b, 0x7c, + 0x0b, 0x4a, 0xa9, 0xe8, 0xa5, 0x27, 0xc7, 0x15, 0x16, 0xce, 0x9d, 0x9c, + 0x96, 0x92, 0xd4, 0x3e, 0x84, 0x5d, 0x38, 0x4d, 0xaa, 0x17, 0x2f, 0xf5, + 0x41, 0xe7, 0x99, 0x6b, +}; +static const struct drbg_kat_pr_true kat3839_t = { + 13, kat3839_entropyin, kat3839_nonce, kat3839_persstr, + kat3839_entropyinpr1, kat3839_addinpr1, kat3839_entropyinpr2, + kat3839_addinpr2, kat3839_retbits +}; +static const struct drbg_kat kat3839 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3839_t +}; + +static const unsigned char kat3840_entropyin[] = { + 0x08, 0x5d, 0xaa, 0xc1, 0x2b, 0x24, 0x01, 0xe3, 0xff, 0x88, 0x4f, 0x03, + 0xbf, 0xf7, 0x07, 0x63, 0xc3, 0x8e, 0xae, 0x65, 0xbd, 0x24, 0xb5, 0x73, + 0x3c, 0x6b, 0xfd, 0x54, 0x50, 0x11, 0xc6, 0x9e, +}; +static const unsigned char kat3840_nonce[] = {0}; +static const unsigned char kat3840_persstr[] = { + 0x6a, 0x9f, 0x2e, 0x31, 0x42, 0xa2, 0x80, 0x82, 0x32, 0xc3, 0xfe, 0xd7, + 0xef, 0xd3, 0x34, 0x36, 0xa5, 0xa4, 0xd9, 0xef, 0x14, 0x81, 0x56, 0x38, + 0xc6, 0x5d, 0x01, 0x2e, 0x11, 0x47, 0x0c, 0xc8, +}; +static const unsigned char kat3840_entropyinpr1[] = { + 0xdb, 0x22, 0xd9, 0xa3, 0xf5, 0x3f, 0xc7, 0x39, 0xd3, 0x02, 0x55, 0xa6, + 0x61, 0x7c, 0x98, 0x62, 0x54, 0x15, 0x3c, 0x51, 0x9c, 0x34, 0xe7, 0x9d, + 0x2a, 0x6e, 0x87, 0x62, 0xa0, 0x69, 0x09, 0xb0, +}; +static const unsigned char kat3840_addinpr1[] = { + 0x6d, 0x18, 0xd7, 0xd0, 0xed, 0x67, 0x98, 0xbb, 0x4f, 0xd7, 0xfa, 0xb8, + 0xd2, 0xab, 0x6d, 0x2d, 0x72, 0x99, 0x77, 0x10, 0x70, 0x06, 0x61, 0x91, + 0x3d, 0x05, 0xfc, 0xbc, 0x5d, 0x6d, 0x86, 0x52, +}; +static const unsigned char kat3840_entropyinpr2[] = { + 0xa4, 0x34, 0x1a, 0xe5, 0x15, 0x56, 0x01, 0xaf, 0x7c, 0xcf, 0xd9, 0xbc, + 0x57, 0x39, 0x68, 0xf9, 0x9f, 0xf8, 0x2a, 0xe2, 0x60, 0x5a, 0x46, 0x2a, + 0xf7, 0xe6, 0xed, 0x6f, 0xd5, 0xf2, 0xca, 0xb6, +}; +static const unsigned char kat3840_addinpr2[] = { + 0xb4, 0x4a, 0x49, 0x9f, 0xdf, 0x93, 0x30, 0x17, 0x0e, 0xbe, 0xde, 0x64, + 0xcf, 0x8f, 0xb1, 0x9f, 0x4a, 0x83, 0x17, 0x59, 0x6d, 0x80, 0xd8, 0xf9, + 0xc9, 0xd1, 0x00, 0x93, 0x22, 0x98, 0xe4, 0xae, +}; +static const unsigned char kat3840_retbits[] = { + 0xde, 0x65, 0x41, 0xda, 0xe0, 0x91, 0x37, 0xdf, 0xe1, 0x7f, 0xa3, 0xbc, + 0x78, 0x5c, 0x8f, 0x45, 0xd3, 0xd3, 0x6c, 0xb6, 0x21, 0xd7, 0x6c, 0x53, + 0xf9, 0x03, 0x1b, 0x28, 0x53, 0xee, 0x06, 0x57, 0xa1, 0xed, 0xba, 0x0f, + 0x6f, 0x06, 0xda, 0xde, 0x6a, 0x5a, 0x62, 0xfa, 0xec, 0x54, 0xcf, 0x69, + 0xbb, 0xf1, 0x5d, 0xb2, 0x24, 0x49, 0x09, 0x11, 0x4b, 0x04, 0x86, 0xf7, + 0x5d, 0xa3, 0xcf, 0x16, +}; +static const struct drbg_kat_pr_true kat3840_t = { + 14, kat3840_entropyin, kat3840_nonce, kat3840_persstr, + kat3840_entropyinpr1, kat3840_addinpr1, kat3840_entropyinpr2, + kat3840_addinpr2, kat3840_retbits +}; +static const struct drbg_kat kat3840 = { + PR_TRUE, NO_DF, NID_aes_128_ctr, 32, 0, 32, 32, 64, &kat3840_t +}; + +static const unsigned char kat3841_entropyin[] = { + 0xed, 0xdb, 0x79, 0xf0, 0xfb, 0x5a, 0x5d, 0xd6, 0xb5, 0xe4, 0x61, 0x12, + 0xa7, 0xd7, 0x05, 0x27, 0x0c, 0xee, 0xce, 0xfd, 0xcc, 0x2e, 0x8d, 0xb2, + 0x72, 0x1c, 0x42, 0xf3, 0xe6, 0x35, 0x86, 0x83, 0x61, 0x0d, 0x40, 0xd0, + 0xf6, 0x70, 0x92, 0xcc, +}; +static const unsigned char kat3841_nonce[] = {0}; +static const unsigned char kat3841_persstr[] = {0}; +static const unsigned char kat3841_entropyinpr1[] = { + 0x7e, 0x96, 0x35, 0x54, 0xe9, 0x0e, 0x20, 0xa6, 0xd8, 0x51, 0xba, 0x86, + 0x78, 0x55, 0x2d, 0x3c, 0xc4, 0xe8, 0xad, 0x73, 0x8d, 0xba, 0x17, 0xfd, + 0xe8, 0xb3, 0xc5, 0x1f, 0x65, 0xf2, 0xc0, 0x5b, 0x6b, 0x38, 0x25, 0xd8, + 0xc4, 0xfa, 0x8e, 0x9c, +}; +static const unsigned char kat3841_addinpr1[] = {0}; +static const unsigned char kat3841_entropyinpr2[] = { + 0x42, 0xca, 0x45, 0x3e, 0xbd, 0xc7, 0xe3, 0x92, 0x15, 0x67, 0x18, 0xa8, + 0x56, 0xd4, 0xfd, 0xed, 0xf3, 0x24, 0xaa, 0xb0, 0x11, 0x56, 0x43, 0x1e, + 0x49, 0xed, 0xcb, 0x44, 0xd9, 0x16, 0x90, 0x6d, 0x78, 0x9f, 0xc2, 0xe0, + 0xd8, 0xd5, 0x27, 0x97, +}; +static const unsigned char kat3841_addinpr2[] = {0}; +static const unsigned char kat3841_retbits[] = { + 0xe1, 0x98, 0xbf, 0xc6, 0xcc, 0x3a, 0x02, 0x6a, 0x14, 0x3d, 0x35, 0x60, + 0xb7, 0x0b, 0x69, 0x83, 0x2a, 0x4d, 0x08, 0x64, 0xac, 0x2b, 0x97, 0x13, + 0x4b, 0xb6, 0x48, 0x76, 0xde, 0x80, 0xb0, 0x85, 0xf0, 0x54, 0x83, 0xe8, + 0x2a, 0xd4, 0xb5, 0x0d, 0xef, 0xd3, 0x7f, 0x77, 0xbe, 0x7e, 0x1a, 0x03, + 0x10, 0xb7, 0x1f, 0xf7, 0xdf, 0x6e, 0x7f, 0xe0, 0xc2, 0x2d, 0xc5, 0xa7, + 0x78, 0x06, 0xe0, 0x94, +}; +static const struct drbg_kat_pr_true kat3841_t = { + 0, kat3841_entropyin, kat3841_nonce, kat3841_persstr, + kat3841_entropyinpr1, kat3841_addinpr1, kat3841_entropyinpr2, + kat3841_addinpr2, kat3841_retbits +}; +static const struct drbg_kat kat3841 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3841_t +}; + +static const unsigned char kat3842_entropyin[] = { + 0xde, 0xa1, 0x43, 0x22, 0xc5, 0x34, 0x8f, 0xd2, 0x38, 0x73, 0x47, 0x77, + 0x6c, 0x47, 0x45, 0xec, 0xf0, 0x97, 0x79, 0xc1, 0x5b, 0x04, 0xb6, 0x2c, + 0x0d, 0x19, 0x05, 0x8d, 0xfc, 0x5d, 0xc6, 0xdb, 0x7b, 0xb7, 0x1d, 0xd3, + 0x42, 0x2f, 0x0d, 0x5b, +}; +static const unsigned char kat3842_nonce[] = {0}; +static const unsigned char kat3842_persstr[] = {0}; +static const unsigned char kat3842_entropyinpr1[] = { + 0xcb, 0x2f, 0xf6, 0xc5, 0xbe, 0x24, 0x26, 0x48, 0x5e, 0xa9, 0x63, 0x2d, + 0xad, 0x6f, 0x78, 0x5c, 0xf0, 0xb3, 0x69, 0x20, 0x56, 0x8d, 0xae, 0x6d, + 0x6a, 0xaf, 0x82, 0x79, 0x1b, 0x7c, 0x52, 0x67, 0xc4, 0x4e, 0x33, 0x59, + 0xe4, 0xbd, 0x7f, 0x08, +}; +static const unsigned char kat3842_addinpr1[] = {0}; +static const unsigned char kat3842_entropyinpr2[] = { + 0x0a, 0x1c, 0x36, 0xed, 0x96, 0xa8, 0x12, 0xce, 0xdf, 0xb7, 0x9b, 0x1c, + 0x8e, 0xec, 0xce, 0xbf, 0x36, 0xd0, 0x0b, 0xb8, 0xbe, 0x76, 0xdb, 0xfe, + 0x03, 0x31, 0x16, 0x00, 0x22, 0xeb, 0x65, 0xee, 0xd2, 0x5e, 0x78, 0xbf, + 0xbb, 0xd4, 0xfe, 0xc1, +}; +static const unsigned char kat3842_addinpr2[] = {0}; +static const unsigned char kat3842_retbits[] = { + 0x04, 0x09, 0x6e, 0x53, 0xc4, 0x45, 0x9e, 0x7f, 0x7c, 0x0d, 0xfb, 0xe3, + 0x5e, 0x8d, 0x6c, 0x68, 0x90, 0x3d, 0x64, 0x98, 0xee, 0x77, 0x87, 0x22, + 0xb7, 0x76, 0x15, 0x6e, 0xae, 0x08, 0x58, 0x60, 0xf7, 0xf0, 0xf4, 0x2a, + 0x46, 0xdd, 0x4a, 0x81, 0x13, 0xf7, 0x28, 0xbc, 0xfd, 0x99, 0x35, 0x16, + 0xe4, 0xbb, 0xe1, 0x32, 0xff, 0x4a, 0xa5, 0x7a, 0x7c, 0x54, 0x00, 0x51, + 0xe4, 0xb3, 0x30, 0x0e, +}; +static const struct drbg_kat_pr_true kat3842_t = { + 1, kat3842_entropyin, kat3842_nonce, kat3842_persstr, + kat3842_entropyinpr1, kat3842_addinpr1, kat3842_entropyinpr2, + kat3842_addinpr2, kat3842_retbits +}; +static const struct drbg_kat kat3842 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3842_t +}; + +static const unsigned char kat3843_entropyin[] = { + 0x16, 0xad, 0x0d, 0xb9, 0x82, 0xa3, 0x5d, 0x87, 0x90, 0x9a, 0xfb, 0x21, + 0xdc, 0xb2, 0xa3, 0x49, 0xf6, 0x9d, 0x72, 0x58, 0xfa, 0x49, 0xb4, 0x76, + 0xc7, 0x02, 0x75, 0x80, 0xdd, 0xb2, 0x98, 0xfe, 0x37, 0xc6, 0x2d, 0xce, + 0x21, 0xc6, 0x28, 0x43, +}; +static const unsigned char kat3843_nonce[] = {0}; +static const unsigned char kat3843_persstr[] = {0}; +static const unsigned char kat3843_entropyinpr1[] = { + 0x0a, 0x78, 0x02, 0x80, 0x9a, 0x17, 0x3c, 0x32, 0x05, 0x94, 0x0a, 0x02, + 0x1c, 0x32, 0x33, 0x65, 0x89, 0xdd, 0x55, 0xd1, 0x73, 0x52, 0xe8, 0xe2, + 0x14, 0x86, 0xd5, 0xf7, 0x27, 0x73, 0xb5, 0x69, 0xcd, 0x3f, 0x3a, 0x66, + 0xdb, 0x32, 0xb3, 0x68, +}; +static const unsigned char kat3843_addinpr1[] = {0}; +static const unsigned char kat3843_entropyinpr2[] = { + 0x5e, 0x2a, 0xdf, 0x42, 0x8e, 0xa1, 0x0b, 0x47, 0x2d, 0x04, 0xfd, 0xe2, + 0x84, 0x53, 0x58, 0x17, 0x79, 0xe0, 0x03, 0xe6, 0x1b, 0xac, 0x07, 0x04, + 0x96, 0x90, 0x58, 0x56, 0xcd, 0xa1, 0xf5, 0xf9, 0xd4, 0xcf, 0x88, 0xd2, + 0x5e, 0x7e, 0x7d, 0x50, +}; +static const unsigned char kat3843_addinpr2[] = {0}; +static const unsigned char kat3843_retbits[] = { + 0x6c, 0xc7, 0x24, 0xcb, 0xb7, 0xe2, 0xfc, 0x49, 0xcf, 0xaa, 0x31, 0x43, + 0x80, 0x6d, 0x3d, 0xda, 0x2f, 0x82, 0xd4, 0xf7, 0x64, 0x67, 0x7f, 0x8e, + 0xf1, 0x94, 0x7f, 0x32, 0xcc, 0xfc, 0xb0, 0xc5, 0x50, 0x48, 0xbb, 0x24, + 0x03, 0xea, 0xd6, 0xf4, 0x86, 0x0b, 0x65, 0xc8, 0x9f, 0x30, 0xbf, 0xf8, + 0x0f, 0xa5, 0x64, 0xc2, 0xd1, 0x21, 0xf9, 0x82, 0x11, 0x48, 0xa3, 0x72, + 0xa4, 0xd9, 0xd1, 0x9c, +}; +static const struct drbg_kat_pr_true kat3843_t = { + 2, kat3843_entropyin, kat3843_nonce, kat3843_persstr, + kat3843_entropyinpr1, kat3843_addinpr1, kat3843_entropyinpr2, + kat3843_addinpr2, kat3843_retbits +}; +static const struct drbg_kat kat3843 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3843_t +}; + +static const unsigned char kat3844_entropyin[] = { + 0x29, 0x87, 0xf9, 0x8a, 0x5e, 0x4f, 0x7e, 0x5b, 0x13, 0xd1, 0x33, 0x9a, + 0x28, 0x4a, 0x03, 0x5b, 0x21, 0x4b, 0x94, 0x15, 0xce, 0x1c, 0x33, 0x38, + 0xf2, 0xcc, 0x56, 0x7d, 0x43, 0x2a, 0x88, 0xbd, 0xeb, 0xa2, 0x5f, 0xc5, + 0xf1, 0x05, 0x3b, 0x80, +}; +static const unsigned char kat3844_nonce[] = {0}; +static const unsigned char kat3844_persstr[] = {0}; +static const unsigned char kat3844_entropyinpr1[] = { + 0x7d, 0xbf, 0x58, 0x1f, 0xf9, 0x54, 0xcb, 0xbe, 0x20, 0xac, 0x91, 0x77, + 0xe9, 0x37, 0xf8, 0x36, 0x78, 0x2c, 0x89, 0x73, 0x17, 0x02, 0xe8, 0x60, + 0x95, 0xae, 0xcc, 0xd3, 0xe4, 0x3f, 0x4d, 0x97, 0x67, 0x31, 0x62, 0xa2, + 0xba, 0x98, 0xeb, 0x19, +}; +static const unsigned char kat3844_addinpr1[] = {0}; +static const unsigned char kat3844_entropyinpr2[] = { + 0x8e, 0xd7, 0x23, 0xe9, 0x0e, 0xc1, 0xfa, 0x99, 0xcd, 0x18, 0xe1, 0xb8, + 0x18, 0x92, 0x75, 0x42, 0xd5, 0x76, 0xd8, 0xfa, 0xcc, 0x3f, 0x83, 0xf4, + 0xed, 0xc6, 0xf7, 0xda, 0x63, 0x96, 0x17, 0xae, 0xe7, 0xd4, 0xe0, 0xf7, + 0x96, 0xee, 0xaf, 0x54, +}; +static const unsigned char kat3844_addinpr2[] = {0}; +static const unsigned char kat3844_retbits[] = { + 0x02, 0x10, 0xb4, 0xcf, 0x9f, 0x63, 0x0d, 0x7f, 0x16, 0xf5, 0x47, 0xa1, + 0xfe, 0x6c, 0xad, 0xcf, 0x36, 0xa7, 0x19, 0x73, 0x26, 0xd0, 0x82, 0x2a, + 0x2a, 0x1a, 0xc6, 0x02, 0xca, 0x4e, 0x9b, 0x98, 0xab, 0xce, 0x55, 0xf0, + 0xd4, 0xde, 0x7a, 0x8a, 0xff, 0xfd, 0x07, 0x04, 0x6d, 0xbb, 0x10, 0x32, + 0xf3, 0x32, 0xe6, 0x43, 0x8c, 0xa2, 0x57, 0x71, 0xee, 0x2a, 0xab, 0x40, + 0x36, 0x5b, 0x86, 0xef, +}; +static const struct drbg_kat_pr_true kat3844_t = { + 3, kat3844_entropyin, kat3844_nonce, kat3844_persstr, + kat3844_entropyinpr1, kat3844_addinpr1, kat3844_entropyinpr2, + kat3844_addinpr2, kat3844_retbits +}; +static const struct drbg_kat kat3844 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3844_t +}; + +static const unsigned char kat3845_entropyin[] = { + 0x54, 0xbb, 0x6a, 0x89, 0x30, 0x50, 0xfd, 0x80, 0xcd, 0x9c, 0x27, 0xcc, + 0xc7, 0x99, 0x62, 0xb4, 0x54, 0x1c, 0x8e, 0x8f, 0x7f, 0xde, 0x37, 0x7b, + 0x82, 0x8c, 0xac, 0x75, 0xf3, 0x66, 0x94, 0x9f, 0x2b, 0xdb, 0x5c, 0x22, + 0xfa, 0x1c, 0x70, 0xff, +}; +static const unsigned char kat3845_nonce[] = {0}; +static const unsigned char kat3845_persstr[] = {0}; +static const unsigned char kat3845_entropyinpr1[] = { + 0x26, 0x05, 0x98, 0x57, 0xb8, 0x63, 0xd9, 0x53, 0x76, 0xc6, 0x32, 0xa7, + 0x50, 0x0e, 0xb9, 0xfc, 0x34, 0xc5, 0x33, 0x52, 0x39, 0x04, 0xee, 0xa4, + 0x2d, 0xa2, 0xe5, 0xeb, 0xfd, 0x5b, 0xac, 0xb6, 0x72, 0xe9, 0x56, 0xf4, + 0x7b, 0x2e, 0x15, 0x6c, +}; +static const unsigned char kat3845_addinpr1[] = {0}; +static const unsigned char kat3845_entropyinpr2[] = { + 0x11, 0x82, 0xff, 0xde, 0x1a, 0x81, 0x06, 0x8a, 0xba, 0x30, 0xae, 0x1f, + 0x37, 0xc5, 0x89, 0x66, 0xe7, 0xf0, 0xe5, 0xf1, 0xda, 0x4f, 0xeb, 0x2c, + 0x8d, 0xb6, 0xf8, 0x43, 0x2d, 0x89, 0x60, 0x4e, 0x30, 0x4c, 0x66, 0x67, + 0xbd, 0x7a, 0xbc, 0xf7, +}; +static const unsigned char kat3845_addinpr2[] = {0}; +static const unsigned char kat3845_retbits[] = { + 0x24, 0x10, 0x7f, 0x45, 0xcc, 0xeb, 0x4c, 0xcc, 0x63, 0x2d, 0xd5, 0xc0, + 0x32, 0x57, 0xf9, 0x7b, 0x5e, 0x53, 0xd8, 0x40, 0xaf, 0x88, 0xb7, 0x8d, + 0x98, 0x0f, 0x88, 0xfc, 0x99, 0xe7, 0xfe, 0xfd, 0x92, 0xea, 0x23, 0x3c, + 0x67, 0xdf, 0xa7, 0x93, 0x21, 0x50, 0xd7, 0x6f, 0xdd, 0xb8, 0xb0, 0xc9, + 0x7a, 0x2c, 0x7c, 0xcc, 0x13, 0x4b, 0xda, 0x81, 0x5c, 0x0f, 0x99, 0xd0, + 0x68, 0x2d, 0x6c, 0x0e, +}; +static const struct drbg_kat_pr_true kat3845_t = { + 4, kat3845_entropyin, kat3845_nonce, kat3845_persstr, + kat3845_entropyinpr1, kat3845_addinpr1, kat3845_entropyinpr2, + kat3845_addinpr2, kat3845_retbits +}; +static const struct drbg_kat kat3845 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3845_t +}; + +static const unsigned char kat3846_entropyin[] = { + 0xcc, 0x25, 0x88, 0x0b, 0x50, 0x3c, 0xfa, 0x9c, 0x15, 0x64, 0x73, 0xde, + 0xc1, 0xb7, 0x54, 0xd6, 0x21, 0xdd, 0x43, 0x49, 0x8b, 0x38, 0xca, 0x43, + 0x6f, 0xef, 0x6e, 0x74, 0xe0, 0xc4, 0x92, 0x1b, 0xb7, 0x88, 0x7d, 0x91, + 0xe5, 0xba, 0x7e, 0x4b, +}; +static const unsigned char kat3846_nonce[] = {0}; +static const unsigned char kat3846_persstr[] = {0}; +static const unsigned char kat3846_entropyinpr1[] = { + 0x7c, 0x19, 0xe9, 0xa1, 0xbf, 0x95, 0x1f, 0xd9, 0x71, 0x6e, 0x23, 0xaf, + 0xce, 0xdc, 0x5e, 0x4d, 0xca, 0xb9, 0xa3, 0x3a, 0xcc, 0xa4, 0x06, 0x02, + 0x0c, 0x99, 0xfe, 0x1a, 0xa2, 0x4d, 0x7f, 0xc8, 0x45, 0xa5, 0x53, 0x35, + 0x84, 0x1d, 0x03, 0x21, +}; +static const unsigned char kat3846_addinpr1[] = {0}; +static const unsigned char kat3846_entropyinpr2[] = { + 0x83, 0x4b, 0x7b, 0x64, 0xb1, 0x3f, 0x53, 0xe1, 0x58, 0x2c, 0x83, 0x7c, + 0x9a, 0x1f, 0x50, 0x5a, 0x34, 0x11, 0x53, 0x6d, 0x35, 0x45, 0x1f, 0xa9, + 0x7d, 0x03, 0xb9, 0x8f, 0x8b, 0x1f, 0x91, 0x49, 0xc0, 0x61, 0xa1, 0xe1, + 0x93, 0x3a, 0x79, 0x74, +}; +static const unsigned char kat3846_addinpr2[] = {0}; +static const unsigned char kat3846_retbits[] = { + 0xd5, 0x3e, 0xe3, 0x3d, 0x9e, 0x3d, 0xf7, 0x8d, 0x0f, 0x61, 0xe6, 0x53, + 0x98, 0x94, 0xa7, 0x9c, 0xd4, 0x06, 0xac, 0xd5, 0x2f, 0xb6, 0x7d, 0xff, + 0xb1, 0x0b, 0xf4, 0x6f, 0x12, 0x3e, 0xd1, 0xdb, 0xe0, 0x73, 0xf1, 0x96, + 0x01, 0xeb, 0x97, 0x2f, 0x6f, 0x4a, 0x7d, 0x25, 0x1d, 0x0c, 0x50, 0x90, + 0x01, 0x37, 0xfb, 0xc8, 0xf8, 0xb8, 0x23, 0xe4, 0x97, 0x0f, 0x08, 0xe5, + 0x12, 0x26, 0x8c, 0x84, +}; +static const struct drbg_kat_pr_true kat3846_t = { + 5, kat3846_entropyin, kat3846_nonce, kat3846_persstr, + kat3846_entropyinpr1, kat3846_addinpr1, kat3846_entropyinpr2, + kat3846_addinpr2, kat3846_retbits +}; +static const struct drbg_kat kat3846 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3846_t +}; + +static const unsigned char kat3847_entropyin[] = { + 0xc8, 0x3b, 0xc4, 0x72, 0x01, 0xe5, 0xc7, 0xdd, 0x13, 0xc2, 0x97, 0x9c, + 0x1a, 0x07, 0x9e, 0x3f, 0xae, 0x7e, 0x18, 0x85, 0xbc, 0x1b, 0xcc, 0x87, + 0x10, 0xc7, 0xaa, 0xe1, 0x70, 0x36, 0x28, 0x93, 0xad, 0x73, 0xf6, 0x06, + 0x8d, 0xbc, 0x22, 0xa8, +}; +static const unsigned char kat3847_nonce[] = {0}; +static const unsigned char kat3847_persstr[] = {0}; +static const unsigned char kat3847_entropyinpr1[] = { + 0xf6, 0xe4, 0xa4, 0xc0, 0xfe, 0x62, 0x9b, 0x0a, 0x14, 0x53, 0x60, 0x60, + 0x93, 0xb3, 0xce, 0xf8, 0xf1, 0x56, 0x7f, 0x03, 0x98, 0xcc, 0x76, 0x47, + 0xd5, 0x1c, 0x6c, 0xd9, 0x69, 0x40, 0x12, 0x42, 0x8a, 0x3c, 0x01, 0xd1, + 0x8c, 0xd0, 0x75, 0x55, +}; +static const unsigned char kat3847_addinpr1[] = {0}; +static const unsigned char kat3847_entropyinpr2[] = { + 0xf5, 0x13, 0x1d, 0xad, 0x5e, 0xe9, 0x47, 0xa9, 0x0e, 0xa1, 0xcc, 0x85, + 0x1b, 0x30, 0xd6, 0xd2, 0x54, 0x93, 0x2b, 0x9d, 0xc0, 0x30, 0x1a, 0x3b, + 0xf5, 0xc6, 0x08, 0x39, 0x37, 0x6f, 0x42, 0x69, 0x93, 0x3e, 0xd6, 0xd2, + 0xaa, 0x48, 0x97, 0x2c, +}; +static const unsigned char kat3847_addinpr2[] = {0}; +static const unsigned char kat3847_retbits[] = { + 0x69, 0xd2, 0x65, 0x3e, 0xb9, 0x75, 0x23, 0xb2, 0xe7, 0xaf, 0x10, 0xbf, + 0x28, 0xaf, 0x32, 0xd2, 0x56, 0xf7, 0x5e, 0x21, 0x98, 0x13, 0x99, 0x7a, + 0xb2, 0xfe, 0xff, 0xdb, 0xd4, 0x67, 0xd6, 0xbb, 0xf6, 0xd0, 0xd2, 0x6d, + 0xd5, 0x8a, 0x32, 0x7b, 0xd7, 0x52, 0xa8, 0x39, 0x7b, 0xd1, 0x14, 0x01, + 0xaf, 0xe1, 0xd8, 0x48, 0x99, 0x95, 0x30, 0x3c, 0x6f, 0xae, 0xac, 0x8e, + 0x25, 0xe5, 0x6b, 0x34, +}; +static const struct drbg_kat_pr_true kat3847_t = { + 6, kat3847_entropyin, kat3847_nonce, kat3847_persstr, + kat3847_entropyinpr1, kat3847_addinpr1, kat3847_entropyinpr2, + kat3847_addinpr2, kat3847_retbits +}; +static const struct drbg_kat kat3847 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3847_t +}; + +static const unsigned char kat3848_entropyin[] = { + 0x2a, 0xe8, 0x06, 0xf7, 0x07, 0x6d, 0x24, 0xdc, 0x26, 0x32, 0x19, 0xcb, + 0xe1, 0xc1, 0x1a, 0x30, 0x7c, 0x4a, 0x80, 0x27, 0xb9, 0x39, 0xe4, 0xdf, + 0xfa, 0x37, 0xd5, 0xfe, 0x21, 0x54, 0xca, 0xdb, 0xb9, 0x2a, 0x12, 0x0f, + 0x92, 0xe7, 0x88, 0xb0, +}; +static const unsigned char kat3848_nonce[] = {0}; +static const unsigned char kat3848_persstr[] = {0}; +static const unsigned char kat3848_entropyinpr1[] = { + 0x5e, 0xb7, 0xa5, 0x6b, 0x17, 0x56, 0x7a, 0xc6, 0xab, 0x8e, 0xa3, 0x9b, + 0xff, 0x4e, 0x33, 0xd7, 0x54, 0x4f, 0x29, 0x30, 0x57, 0xed, 0xf6, 0xc0, + 0xbc, 0x81, 0x05, 0x70, 0x68, 0x0e, 0x0c, 0xc4, 0xd6, 0xab, 0x14, 0xf0, + 0x18, 0x94, 0xe4, 0xb4, +}; +static const unsigned char kat3848_addinpr1[] = {0}; +static const unsigned char kat3848_entropyinpr2[] = { + 0x21, 0xb0, 0x6d, 0x62, 0x2e, 0x41, 0x69, 0xbc, 0x9c, 0x64, 0x91, 0x98, + 0x05, 0x28, 0x48, 0xff, 0xc5, 0x55, 0x2a, 0x88, 0xb8, 0x2a, 0xb1, 0x26, + 0x5a, 0x74, 0x98, 0xf1, 0x61, 0x04, 0x67, 0x9f, 0x8f, 0x43, 0xed, 0xb1, + 0x54, 0x67, 0xf2, 0x7e, +}; +static const unsigned char kat3848_addinpr2[] = {0}; +static const unsigned char kat3848_retbits[] = { + 0xa6, 0x0e, 0xff, 0x44, 0x25, 0xcd, 0x4e, 0x12, 0x0e, 0x9e, 0xef, 0x68, + 0x7b, 0x86, 0xf0, 0xca, 0x92, 0x32, 0xf7, 0xfb, 0x9d, 0x31, 0x62, 0x6e, + 0x2c, 0x3c, 0x84, 0x6a, 0x1f, 0x76, 0x9a, 0xaf, 0x39, 0x7a, 0x42, 0x70, + 0x10, 0x98, 0xdc, 0x17, 0xc5, 0x56, 0xfa, 0x6f, 0xd2, 0xb3, 0x9c, 0x67, + 0x3e, 0x0c, 0x54, 0xf1, 0x5b, 0x31, 0xfd, 0xb0, 0x1d, 0x03, 0x20, 0x0d, + 0xd1, 0x4a, 0x04, 0x74, +}; +static const struct drbg_kat_pr_true kat3848_t = { + 7, kat3848_entropyin, kat3848_nonce, kat3848_persstr, + kat3848_entropyinpr1, kat3848_addinpr1, kat3848_entropyinpr2, + kat3848_addinpr2, kat3848_retbits +}; +static const struct drbg_kat kat3848 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3848_t +}; + +static const unsigned char kat3849_entropyin[] = { + 0xd0, 0x5a, 0xaa, 0x55, 0x24, 0x41, 0xde, 0xc4, 0xe4, 0xbf, 0x4b, 0xa4, + 0x49, 0x7a, 0x7d, 0x6b, 0xa7, 0x3a, 0x20, 0x36, 0xcc, 0x9e, 0x09, 0xe3, + 0xef, 0x90, 0xe6, 0x37, 0x9b, 0x91, 0x5d, 0x3b, 0x05, 0x01, 0xcb, 0x38, + 0x39, 0x9d, 0x5f, 0x67, +}; +static const unsigned char kat3849_nonce[] = {0}; +static const unsigned char kat3849_persstr[] = {0}; +static const unsigned char kat3849_entropyinpr1[] = { + 0x61, 0x92, 0x36, 0xc2, 0xaa, 0xa0, 0x0a, 0xf0, 0x92, 0x4f, 0xa5, 0x62, + 0xce, 0x08, 0xac, 0x9b, 0xe4, 0x31, 0x05, 0xb8, 0x7a, 0x16, 0xd1, 0x18, + 0x51, 0xcb, 0xac, 0xce, 0x30, 0x47, 0x94, 0xf5, 0xa0, 0x08, 0x4f, 0xbd, + 0x6b, 0x85, 0x5a, 0xaa, +}; +static const unsigned char kat3849_addinpr1[] = {0}; +static const unsigned char kat3849_entropyinpr2[] = { + 0xbf, 0x4b, 0x47, 0xd9, 0x9b, 0x8a, 0xb3, 0x1d, 0xfd, 0x88, 0x73, 0x83, + 0x1d, 0x7d, 0x28, 0xac, 0x03, 0xb1, 0x5b, 0xf6, 0xec, 0x50, 0x8d, 0x9d, + 0xb4, 0xf3, 0x96, 0x1b, 0xbd, 0xbe, 0x49, 0x40, 0x6b, 0x13, 0x62, 0xf6, + 0x3c, 0x55, 0x53, 0x06, +}; +static const unsigned char kat3849_addinpr2[] = {0}; +static const unsigned char kat3849_retbits[] = { + 0x52, 0x65, 0xe9, 0x9c, 0xda, 0x2e, 0x44, 0x9c, 0xfe, 0x60, 0xfc, 0xe0, + 0x77, 0xa1, 0x56, 0xad, 0xad, 0x31, 0x60, 0x2b, 0x73, 0xfb, 0xfc, 0x9a, + 0x94, 0x20, 0xe6, 0x3c, 0x0f, 0xd2, 0x58, 0x0e, 0x1e, 0x4f, 0x5c, 0x0c, + 0x4b, 0x8f, 0x4f, 0xaa, 0x8c, 0x32, 0x99, 0x67, 0xc4, 0xe9, 0x76, 0x1d, + 0x32, 0x82, 0x53, 0x0a, 0xe8, 0x35, 0x81, 0x09, 0xa9, 0xd7, 0x65, 0xf9, + 0x13, 0xaa, 0x52, 0xd9, +}; +static const struct drbg_kat_pr_true kat3849_t = { + 8, kat3849_entropyin, kat3849_nonce, kat3849_persstr, + kat3849_entropyinpr1, kat3849_addinpr1, kat3849_entropyinpr2, + kat3849_addinpr2, kat3849_retbits +}; +static const struct drbg_kat kat3849 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3849_t +}; + +static const unsigned char kat3850_entropyin[] = { + 0x52, 0x16, 0xad, 0x9b, 0xb9, 0x1b, 0xa5, 0x8a, 0x0b, 0x4a, 0xae, 0x30, + 0x79, 0x90, 0x5b, 0xd0, 0xc5, 0xb0, 0x69, 0x89, 0x22, 0xec, 0x13, 0xe4, + 0x9c, 0xcb, 0x20, 0xcc, 0x9b, 0x47, 0x8b, 0xad, 0x87, 0xbd, 0xb5, 0x8d, + 0x2a, 0xdb, 0x7a, 0xd8, +}; +static const unsigned char kat3850_nonce[] = {0}; +static const unsigned char kat3850_persstr[] = {0}; +static const unsigned char kat3850_entropyinpr1[] = { + 0x13, 0xf9, 0x67, 0x5d, 0xf7, 0x35, 0xdb, 0x65, 0x66, 0x98, 0x10, 0x3e, + 0x8a, 0xc4, 0xc7, 0x22, 0x05, 0xca, 0xdf, 0x9b, 0xf5, 0x05, 0xfe, 0xc6, + 0xfc, 0x2f, 0xc3, 0xe3, 0xf3, 0xab, 0xb9, 0xd0, 0xa0, 0x6c, 0x18, 0x35, + 0x9d, 0xae, 0x93, 0x15, +}; +static const unsigned char kat3850_addinpr1[] = {0}; +static const unsigned char kat3850_entropyinpr2[] = { + 0xfd, 0x4a, 0x06, 0xe1, 0x14, 0x93, 0x4a, 0x12, 0xeb, 0x3f, 0x71, 0xe8, + 0xd0, 0x6e, 0x81, 0xb5, 0xa2, 0xdc, 0xbf, 0xf5, 0x8c, 0x79, 0x76, 0x67, + 0x0e, 0xf5, 0xad, 0x28, 0xb7, 0x8c, 0x50, 0x53, 0xbe, 0x81, 0x3c, 0x68, + 0xf7, 0x27, 0xb9, 0x56, +}; +static const unsigned char kat3850_addinpr2[] = {0}; +static const unsigned char kat3850_retbits[] = { + 0x8c, 0x5f, 0x52, 0x12, 0x0d, 0xd0, 0x33, 0xb7, 0x6a, 0xc1, 0x28, 0x3a, + 0x24, 0xe6, 0x7c, 0x24, 0x26, 0xe6, 0xe6, 0x7f, 0xd6, 0xc1, 0x45, 0x79, + 0x1b, 0x0a, 0x26, 0x40, 0x35, 0xc6, 0xe5, 0x76, 0xfe, 0x87, 0x2c, 0xab, + 0x17, 0x1d, 0xe7, 0xae, 0x72, 0x55, 0x2a, 0xb3, 0xef, 0x45, 0x7d, 0xc5, + 0x68, 0xef, 0x16, 0xac, 0xa0, 0x7b, 0x91, 0x70, 0xa4, 0x21, 0xef, 0x9f, + 0x4f, 0x41, 0x60, 0xdc, +}; +static const struct drbg_kat_pr_true kat3850_t = { + 9, kat3850_entropyin, kat3850_nonce, kat3850_persstr, + kat3850_entropyinpr1, kat3850_addinpr1, kat3850_entropyinpr2, + kat3850_addinpr2, kat3850_retbits +}; +static const struct drbg_kat kat3850 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3850_t +}; + +static const unsigned char kat3851_entropyin[] = { + 0xb8, 0x36, 0xe7, 0xa8, 0x0d, 0xd7, 0x13, 0x1a, 0x44, 0x01, 0xcd, 0xd1, + 0xa6, 0xae, 0x1b, 0x29, 0x15, 0xdc, 0xe1, 0x94, 0xdf, 0x81, 0xaa, 0xfc, + 0xef, 0xe5, 0x03, 0x33, 0xa4, 0xba, 0xc8, 0x81, 0xfc, 0xf3, 0x0d, 0x71, + 0xa0, 0x24, 0xbe, 0x38, +}; +static const unsigned char kat3851_nonce[] = {0}; +static const unsigned char kat3851_persstr[] = {0}; +static const unsigned char kat3851_entropyinpr1[] = { + 0xc2, 0xe7, 0x51, 0x17, 0xa2, 0x20, 0x3c, 0xe3, 0x45, 0x61, 0x59, 0x63, + 0x13, 0x2e, 0xdf, 0xf1, 0x8c, 0x17, 0x4e, 0x6d, 0x9e, 0x03, 0x6e, 0xc2, + 0x70, 0x13, 0x4e, 0x5e, 0x41, 0x03, 0xde, 0x86, 0x70, 0x3b, 0x5d, 0x81, + 0xcb, 0x1a, 0xea, 0x88, +}; +static const unsigned char kat3851_addinpr1[] = {0}; +static const unsigned char kat3851_entropyinpr2[] = { + 0xe0, 0xe2, 0x42, 0x01, 0xc1, 0x37, 0x25, 0xaa, 0x76, 0xdd, 0x1e, 0xc4, + 0xd0, 0xcd, 0xcc, 0x30, 0x9b, 0x0c, 0x46, 0xb8, 0x0d, 0x5b, 0xfa, 0x85, + 0x8f, 0xd4, 0xe9, 0x01, 0xd6, 0x40, 0x1a, 0x58, 0x10, 0x5f, 0xbe, 0x43, + 0xea, 0xb7, 0x8a, 0x34, +}; +static const unsigned char kat3851_addinpr2[] = {0}; +static const unsigned char kat3851_retbits[] = { + 0x8a, 0xc9, 0x52, 0xc9, 0x38, 0x8d, 0x91, 0x30, 0x23, 0xa5, 0xde, 0x97, + 0x76, 0xd1, 0xb0, 0x92, 0xc5, 0x40, 0x54, 0x4b, 0x51, 0xf5, 0x84, 0x52, + 0xe4, 0x73, 0x96, 0xac, 0x3a, 0xd3, 0x8e, 0xd7, 0xdd, 0x7b, 0x6a, 0xf8, + 0xa3, 0x6d, 0x01, 0xa2, 0x1b, 0xd3, 0x29, 0xf9, 0xff, 0x85, 0x5e, 0xd1, + 0x5f, 0xb2, 0x7f, 0x46, 0xf9, 0x98, 0xba, 0x97, 0xce, 0x64, 0x4f, 0x79, + 0x99, 0xee, 0x3a, 0x6f, +}; +static const struct drbg_kat_pr_true kat3851_t = { + 10, kat3851_entropyin, kat3851_nonce, kat3851_persstr, + kat3851_entropyinpr1, kat3851_addinpr1, kat3851_entropyinpr2, + kat3851_addinpr2, kat3851_retbits +}; +static const struct drbg_kat kat3851 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3851_t +}; + +static const unsigned char kat3852_entropyin[] = { + 0x40, 0x61, 0xc4, 0xff, 0x84, 0x51, 0x73, 0xab, 0x24, 0xec, 0xea, 0x68, + 0xe1, 0x68, 0xe6, 0x91, 0x1d, 0x36, 0x46, 0xfe, 0x77, 0x86, 0x39, 0x56, + 0xc4, 0xf0, 0xff, 0xbd, 0x2c, 0x46, 0x3a, 0x33, 0x25, 0xe2, 0xf2, 0x62, + 0x01, 0xff, 0x53, 0xf2, +}; +static const unsigned char kat3852_nonce[] = {0}; +static const unsigned char kat3852_persstr[] = {0}; +static const unsigned char kat3852_entropyinpr1[] = { + 0x13, 0xe1, 0xc0, 0x3d, 0x5c, 0xd4, 0x89, 0xa5, 0xd9, 0x5a, 0x45, 0x1b, + 0x31, 0x88, 0xd6, 0xaf, 0x9b, 0xae, 0x55, 0x62, 0xfb, 0x86, 0x45, 0x98, + 0xb7, 0xb9, 0x33, 0x15, 0xa1, 0x58, 0xa7, 0x69, 0x08, 0x00, 0x81, 0x0d, + 0x1c, 0xd8, 0x05, 0x2d, +}; +static const unsigned char kat3852_addinpr1[] = {0}; +static const unsigned char kat3852_entropyinpr2[] = { + 0xff, 0x6e, 0x2e, 0xce, 0xd8, 0xfc, 0x93, 0xdb, 0xc0, 0x3f, 0x76, 0x7b, + 0xb2, 0x23, 0xfd, 0x31, 0x56, 0xb1, 0x1a, 0xf1, 0x89, 0xba, 0xc1, 0x22, + 0xbc, 0x7c, 0xff, 0x4e, 0x3f, 0x62, 0x23, 0xe8, 0x0b, 0xd5, 0x8a, 0xea, + 0x90, 0x72, 0x0c, 0x99, +}; +static const unsigned char kat3852_addinpr2[] = {0}; +static const unsigned char kat3852_retbits[] = { + 0xff, 0x34, 0x5f, 0xf5, 0xeb, 0x29, 0x46, 0x46, 0x2f, 0x2f, 0x16, 0x93, + 0x40, 0x48, 0xd1, 0x28, 0xc7, 0x21, 0x06, 0xd4, 0x93, 0xbe, 0xd0, 0x8c, + 0xaa, 0x92, 0xf7, 0xf2, 0xb7, 0x62, 0x8e, 0x7a, 0xeb, 0x99, 0xdc, 0x16, + 0xe4, 0xeb, 0xc8, 0x50, 0xc7, 0x36, 0x1d, 0xe7, 0x5b, 0xdb, 0x63, 0x3f, + 0x3a, 0xce, 0xcf, 0x1f, 0xa5, 0x33, 0x5b, 0xf0, 0x6e, 0x8c, 0x7e, 0x5c, + 0x61, 0x4f, 0x44, 0x04, +}; +static const struct drbg_kat_pr_true kat3852_t = { + 11, kat3852_entropyin, kat3852_nonce, kat3852_persstr, + kat3852_entropyinpr1, kat3852_addinpr1, kat3852_entropyinpr2, + kat3852_addinpr2, kat3852_retbits +}; +static const struct drbg_kat kat3852 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3852_t +}; + +static const unsigned char kat3853_entropyin[] = { + 0x8f, 0xbe, 0xc7, 0x84, 0xb4, 0xc0, 0xa4, 0x7c, 0x48, 0x5c, 0x13, 0x0c, + 0x8b, 0xa4, 0x65, 0x73, 0x07, 0x4d, 0x36, 0x03, 0x61, 0xe3, 0x05, 0x1c, + 0x22, 0x6a, 0x3e, 0xe3, 0xe6, 0x7b, 0xab, 0x39, 0x00, 0x25, 0x7c, 0xba, + 0xec, 0x37, 0x6a, 0x6f, +}; +static const unsigned char kat3853_nonce[] = {0}; +static const unsigned char kat3853_persstr[] = {0}; +static const unsigned char kat3853_entropyinpr1[] = { + 0x62, 0x2c, 0xcb, 0xb1, 0x29, 0xaf, 0xcf, 0xca, 0x01, 0xc3, 0x63, 0xe4, + 0xa7, 0x45, 0x2f, 0x10, 0xfd, 0x04, 0x4e, 0xdc, 0x6e, 0x6d, 0x47, 0xed, + 0x71, 0x8d, 0x1e, 0x3e, 0xba, 0x48, 0x6c, 0xa6, 0xef, 0x09, 0x53, 0x96, + 0x03, 0x65, 0xbb, 0xd4, +}; +static const unsigned char kat3853_addinpr1[] = {0}; +static const unsigned char kat3853_entropyinpr2[] = { + 0xef, 0x63, 0xd2, 0xbb, 0xc5, 0x0a, 0x60, 0x45, 0x60, 0x03, 0xaa, 0xa3, + 0xb5, 0xca, 0x72, 0x5e, 0x9b, 0x0b, 0xa1, 0x1f, 0xbf, 0x37, 0xdb, 0x06, + 0xd8, 0xc6, 0x6f, 0x2a, 0x88, 0xd9, 0x1e, 0x3b, 0xb2, 0x18, 0x09, 0xe0, + 0xfc, 0x03, 0x48, 0x06, +}; +static const unsigned char kat3853_addinpr2[] = {0}; +static const unsigned char kat3853_retbits[] = { + 0x14, 0x28, 0x64, 0x62, 0x59, 0x39, 0x1e, 0xc1, 0xfb, 0x5e, 0xe0, 0xdf, + 0x14, 0x0f, 0x56, 0x6d, 0x69, 0x3b, 0xa2, 0xd1, 0x7b, 0xe2, 0x8c, 0x15, + 0xb5, 0x4f, 0x56, 0x2b, 0xcf, 0x6c, 0xcf, 0x79, 0x6e, 0x55, 0x92, 0xdb, + 0x96, 0x56, 0xd1, 0x89, 0xe2, 0x8c, 0x02, 0x09, 0x2c, 0x40, 0xc1, 0x40, + 0x9f, 0x7f, 0x6d, 0x7a, 0x6e, 0x6a, 0xdd, 0x4c, 0xa7, 0x98, 0x33, 0xe7, + 0xdd, 0x03, 0x79, 0x24, +}; +static const struct drbg_kat_pr_true kat3853_t = { + 12, kat3853_entropyin, kat3853_nonce, kat3853_persstr, + kat3853_entropyinpr1, kat3853_addinpr1, kat3853_entropyinpr2, + kat3853_addinpr2, kat3853_retbits +}; +static const struct drbg_kat kat3853 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3853_t +}; + +static const unsigned char kat3854_entropyin[] = { + 0x46, 0x16, 0x9c, 0xd3, 0xe2, 0xaf, 0xf2, 0x70, 0x8f, 0x52, 0x70, 0x8a, + 0x30, 0x43, 0xbe, 0x49, 0x6d, 0x35, 0x40, 0x54, 0x14, 0x3f, 0x80, 0x9b, + 0xcd, 0x48, 0x0f, 0xda, 0x82, 0xff, 0xcc, 0xb8, 0x90, 0xfc, 0x9f, 0x46, + 0xf6, 0x95, 0xc0, 0x10, +}; +static const unsigned char kat3854_nonce[] = {0}; +static const unsigned char kat3854_persstr[] = {0}; +static const unsigned char kat3854_entropyinpr1[] = { + 0xce, 0x23, 0x33, 0x68, 0x5a, 0x03, 0x84, 0x5e, 0x09, 0x7f, 0x48, 0x78, + 0xc2, 0xef, 0xd5, 0xd4, 0xcf, 0xf1, 0x02, 0xd0, 0x89, 0x5b, 0x64, 0x76, + 0x51, 0xe8, 0xbf, 0x30, 0x1e, 0x5b, 0xe5, 0xe8, 0xce, 0x6c, 0xa0, 0x59, + 0xd6, 0x49, 0x07, 0xcb, +}; +static const unsigned char kat3854_addinpr1[] = {0}; +static const unsigned char kat3854_entropyinpr2[] = { + 0xc1, 0x0d, 0x13, 0xc1, 0xb1, 0xe1, 0x09, 0x00, 0x44, 0x8b, 0x54, 0xd5, + 0x16, 0x4a, 0xae, 0xed, 0xaa, 0x1e, 0xcc, 0x12, 0x73, 0x5c, 0x51, 0x10, + 0xf4, 0x31, 0x9e, 0x2c, 0x71, 0xb5, 0xcc, 0xa6, 0xee, 0x39, 0xd7, 0x02, + 0xc1, 0x4d, 0xae, 0x05, +}; +static const unsigned char kat3854_addinpr2[] = {0}; +static const unsigned char kat3854_retbits[] = { + 0x9a, 0x26, 0x15, 0xb3, 0x80, 0x2a, 0x5c, 0x61, 0xe3, 0xe8, 0x53, 0x16, + 0x06, 0x68, 0x00, 0xd5, 0x21, 0x34, 0x73, 0xef, 0x52, 0x27, 0x48, 0xfb, + 0x92, 0x03, 0x2e, 0x18, 0xab, 0x59, 0x04, 0x87, 0x04, 0x9b, 0x2a, 0x72, + 0xcf, 0x4e, 0x5f, 0x2b, 0x53, 0xd4, 0xf2, 0x8f, 0x4b, 0x80, 0xd0, 0xcf, + 0x75, 0x5e, 0x54, 0x98, 0xfb, 0x0f, 0xda, 0xaf, 0x57, 0x43, 0xa2, 0xb3, + 0xbd, 0x40, 0x88, 0x97, +}; +static const struct drbg_kat_pr_true kat3854_t = { + 13, kat3854_entropyin, kat3854_nonce, kat3854_persstr, + kat3854_entropyinpr1, kat3854_addinpr1, kat3854_entropyinpr2, + kat3854_addinpr2, kat3854_retbits +}; +static const struct drbg_kat kat3854 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3854_t +}; + +static const unsigned char kat3855_entropyin[] = { + 0xfb, 0x66, 0xc5, 0x7e, 0xd5, 0x84, 0x9f, 0xa1, 0x13, 0xd9, 0xfd, 0xf0, + 0x50, 0xcc, 0x17, 0xcd, 0x26, 0x64, 0xb0, 0x35, 0x94, 0xcd, 0x6f, 0xfd, + 0xd8, 0x9d, 0x00, 0x86, 0xbe, 0x1c, 0x10, 0x47, 0x5a, 0x3c, 0x66, 0x2a, + 0x56, 0xbf, 0x31, 0x24, +}; +static const unsigned char kat3855_nonce[] = {0}; +static const unsigned char kat3855_persstr[] = {0}; +static const unsigned char kat3855_entropyinpr1[] = { + 0xdd, 0xcd, 0x35, 0x39, 0x46, 0x81, 0xd6, 0xf0, 0x17, 0x0a, 0xa6, 0xbd, + 0x89, 0x32, 0xb6, 0x02, 0x74, 0x5f, 0x41, 0x11, 0x7e, 0xec, 0xb8, 0xea, + 0x75, 0x2d, 0x85, 0xff, 0x4e, 0xf5, 0x84, 0x49, 0xe6, 0x2b, 0xb0, 0xb1, + 0xb1, 0x88, 0x3e, 0x93, +}; +static const unsigned char kat3855_addinpr1[] = {0}; +static const unsigned char kat3855_entropyinpr2[] = { + 0x09, 0xa5, 0xd5, 0x92, 0x56, 0x16, 0x37, 0x9b, 0x52, 0x21, 0xb3, 0x47, + 0x65, 0x9a, 0xfa, 0x11, 0xda, 0x43, 0x26, 0xb6, 0x30, 0xb5, 0x7f, 0x3b, + 0x78, 0xdb, 0x98, 0x12, 0xe6, 0x67, 0xed, 0x3f, 0xba, 0xd2, 0x5f, 0xcc, + 0xe6, 0x30, 0x74, 0x86, +}; +static const unsigned char kat3855_addinpr2[] = {0}; +static const unsigned char kat3855_retbits[] = { + 0xe0, 0x4e, 0x54, 0x32, 0xf6, 0x71, 0x01, 0x53, 0x50, 0xf0, 0xcc, 0x91, + 0x2f, 0x5e, 0x83, 0xe9, 0x69, 0xe0, 0x05, 0x84, 0xc6, 0x17, 0x8c, 0xc8, + 0x23, 0x94, 0xcf, 0x85, 0xce, 0x3d, 0xee, 0x6c, 0xa8, 0x7b, 0x6c, 0xb0, + 0x2e, 0x27, 0xa2, 0x1e, 0x03, 0xf8, 0x3c, 0x24, 0xc7, 0x61, 0xf5, 0x21, + 0x83, 0x06, 0x45, 0xfe, 0xfd, 0x44, 0x74, 0xc6, 0x34, 0xe1, 0x12, 0x4a, + 0x4d, 0x93, 0xda, 0x30, +}; +static const struct drbg_kat_pr_true kat3855_t = { + 14, kat3855_entropyin, kat3855_nonce, kat3855_persstr, + kat3855_entropyinpr1, kat3855_addinpr1, kat3855_entropyinpr2, + kat3855_addinpr2, kat3855_retbits +}; +static const struct drbg_kat kat3855 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3855_t +}; + +static const unsigned char kat3856_entropyin[] = { + 0x4b, 0xe5, 0xaf, 0xd0, 0xd9, 0x85, 0x3b, 0xb3, 0x19, 0x9b, 0xff, 0xb6, + 0x51, 0x21, 0x1e, 0x40, 0x20, 0xaf, 0xe4, 0xc2, 0x7d, 0xd9, 0x73, 0x49, + 0xbe, 0x9d, 0x21, 0xe2, 0x60, 0xc2, 0xc4, 0xcb, 0x74, 0x01, 0x4c, 0x4f, + 0x96, 0x84, 0xec, 0xab, +}; +static const unsigned char kat3856_nonce[] = {0}; +static const unsigned char kat3856_persstr[] = {0}; +static const unsigned char kat3856_entropyinpr1[] = { + 0x26, 0xaf, 0x31, 0xf4, 0x5e, 0xed, 0x02, 0x0c, 0xa9, 0x14, 0x6d, 0x15, + 0xd7, 0x2e, 0x5e, 0x5d, 0x81, 0x1a, 0x4c, 0xfe, 0x09, 0x33, 0xc5, 0xeb, + 0xf2, 0xb1, 0xd1, 0xd9, 0x12, 0xcd, 0x4d, 0x33, 0x74, 0xe7, 0x8b, 0x24, + 0xf6, 0xc7, 0xd9, 0xfd, +}; +static const unsigned char kat3856_addinpr1[] = { + 0x22, 0x30, 0x5e, 0x83, 0xb7, 0xc3, 0x62, 0xf9, 0x3a, 0xbe, 0xae, 0x00, + 0x44, 0x45, 0x9b, 0x2b, 0xa9, 0xbc, 0x10, 0x85, 0x26, 0x55, 0x58, 0x81, + 0xdc, 0x9a, 0x9e, 0x7f, 0x74, 0xaf, 0xba, 0xad, 0xe4, 0x49, 0x96, 0xad, + 0x04, 0x78, 0xb0, 0x15, +}; +static const unsigned char kat3856_entropyinpr2[] = { + 0xbb, 0x39, 0xf2, 0x54, 0x81, 0xe8, 0xde, 0x9f, 0xfd, 0x54, 0x02, 0x83, + 0xac, 0x67, 0x47, 0x9a, 0xae, 0x1d, 0x9c, 0xf6, 0x14, 0x31, 0x5d, 0xb7, + 0xd8, 0xec, 0x64, 0xaf, 0xa9, 0xa8, 0x41, 0xca, 0x93, 0x8c, 0x92, 0x89, + 0x6d, 0x8e, 0x84, 0x24, +}; +static const unsigned char kat3856_addinpr2[] = { + 0x58, 0x71, 0x96, 0xfa, 0x6d, 0x13, 0xa8, 0x50, 0x06, 0xe2, 0x58, 0xcf, + 0xef, 0x4b, 0xce, 0x56, 0xe9, 0x16, 0xc6, 0x52, 0x12, 0x5f, 0xb7, 0x9f, + 0xfc, 0x8a, 0xf3, 0x4e, 0x0f, 0x2b, 0x7c, 0x35, 0x7c, 0x1d, 0x61, 0xfd, + 0xa6, 0xf5, 0xe3, 0xfa, +}; +static const unsigned char kat3856_retbits[] = { + 0xa4, 0xb1, 0xad, 0xd2, 0x4b, 0xd7, 0x83, 0x66, 0xd7, 0x71, 0x25, 0xec, + 0x10, 0x0b, 0xb3, 0xc4, 0x0d, 0xd1, 0xae, 0x1a, 0x0e, 0xe8, 0xe0, 0x26, + 0x54, 0x14, 0x62, 0x24, 0x3e, 0x5d, 0x2d, 0xb2, 0xf1, 0xa4, 0x7a, 0xff, + 0xbd, 0xd3, 0x64, 0x36, 0x03, 0x59, 0xdb, 0xb5, 0xe6, 0xee, 0xb5, 0x25, + 0xd7, 0x3a, 0x43, 0xa4, 0x75, 0x31, 0xc0, 0x4c, 0x03, 0x32, 0x53, 0x52, + 0xc6, 0xf2, 0x50, 0x84, +}; +static const struct drbg_kat_pr_true kat3856_t = { + 0, kat3856_entropyin, kat3856_nonce, kat3856_persstr, + kat3856_entropyinpr1, kat3856_addinpr1, kat3856_entropyinpr2, + kat3856_addinpr2, kat3856_retbits +}; +static const struct drbg_kat kat3856 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3856_t +}; + +static const unsigned char kat3857_entropyin[] = { + 0x2f, 0xe7, 0x11, 0x89, 0x1c, 0xe5, 0xa9, 0x1f, 0xa8, 0x6a, 0x33, 0x9a, + 0xf8, 0x6c, 0x81, 0xc1, 0xb1, 0xf2, 0x73, 0xd1, 0xe3, 0xb1, 0x10, 0xb9, + 0x2b, 0x60, 0xe7, 0xc6, 0xdd, 0xa1, 0x26, 0x88, 0x31, 0xb6, 0xd4, 0x4b, + 0x73, 0x3f, 0x1b, 0x24, +}; +static const unsigned char kat3857_nonce[] = {0}; +static const unsigned char kat3857_persstr[] = {0}; +static const unsigned char kat3857_entropyinpr1[] = { + 0x22, 0x07, 0x1b, 0xa3, 0x19, 0xfe, 0x0e, 0xe8, 0x48, 0x1e, 0xa6, 0x58, + 0x17, 0x87, 0xd8, 0x38, 0x84, 0xb8, 0x89, 0x6d, 0x30, 0xad, 0xee, 0x0f, + 0xa1, 0xde, 0x4d, 0x8c, 0x1e, 0xfa, 0xe4, 0x90, 0xeb, 0xe2, 0xb6, 0xd6, + 0xc3, 0xce, 0x42, 0x38, +}; +static const unsigned char kat3857_addinpr1[] = { + 0x8c, 0x4d, 0xeb, 0x80, 0xbe, 0x4e, 0x03, 0x68, 0x11, 0x9b, 0x1e, 0x1b, + 0x65, 0xe7, 0xd5, 0xa9, 0x32, 0x40, 0x2e, 0x3d, 0xf8, 0xba, 0x07, 0x2e, + 0x6f, 0x68, 0x76, 0xd0, 0xa5, 0x7b, 0x13, 0xd9, 0x8f, 0x56, 0x3e, 0x26, + 0xbd, 0x90, 0x6b, 0xeb, +}; +static const unsigned char kat3857_entropyinpr2[] = { + 0x89, 0xa2, 0xce, 0x7c, 0x80, 0xb3, 0x9b, 0x6a, 0xc4, 0x61, 0xb9, 0xc7, + 0x3f, 0xc6, 0x3a, 0x03, 0x92, 0x25, 0xa2, 0xcd, 0x16, 0xc8, 0x1a, 0x25, + 0xdd, 0x6d, 0x69, 0x28, 0x11, 0xf8, 0x7c, 0xe6, 0x4f, 0xe9, 0x23, 0x11, + 0xfe, 0xbb, 0xa8, 0x76, +}; +static const unsigned char kat3857_addinpr2[] = { + 0x94, 0x84, 0xe4, 0x30, 0x3a, 0x48, 0x81, 0x4b, 0x1d, 0x44, 0xd4, 0xff, + 0x50, 0xc2, 0x2e, 0xe1, 0xba, 0x15, 0x94, 0xa5, 0xf7, 0xd0, 0x7b, 0x9f, + 0xc7, 0xbb, 0xea, 0xba, 0xe0, 0xa1, 0x31, 0xe2, 0xa4, 0x78, 0x18, 0x63, + 0xce, 0x12, 0xc7, 0x5e, +}; +static const unsigned char kat3857_retbits[] = { + 0x96, 0xb2, 0x8f, 0x06, 0x77, 0xf2, 0x6b, 0xcc, 0x65, 0x3d, 0xf2, 0xbc, + 0x66, 0x0d, 0x69, 0xca, 0x33, 0x5d, 0x2c, 0x8f, 0x4e, 0x8d, 0x15, 0x1d, + 0xa3, 0x59, 0x66, 0xd1, 0xae, 0xf2, 0x94, 0xa5, 0xc3, 0x42, 0xec, 0x68, + 0xdb, 0xc3, 0x29, 0x64, 0x2f, 0x80, 0x98, 0xf3, 0x88, 0x09, 0x40, 0xa5, + 0x83, 0x4c, 0xa6, 0x44, 0x0c, 0x77, 0x56, 0x15, 0x53, 0xaf, 0xc5, 0xc1, + 0x5a, 0xd2, 0xcd, 0x1a, +}; +static const struct drbg_kat_pr_true kat3857_t = { + 1, kat3857_entropyin, kat3857_nonce, kat3857_persstr, + kat3857_entropyinpr1, kat3857_addinpr1, kat3857_entropyinpr2, + kat3857_addinpr2, kat3857_retbits +}; +static const struct drbg_kat kat3857 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3857_t +}; + +static const unsigned char kat3858_entropyin[] = { + 0x67, 0x58, 0xf1, 0xb9, 0x60, 0x95, 0x12, 0xf8, 0xd2, 0xb0, 0xc3, 0x47, + 0x3e, 0x74, 0x66, 0x7e, 0x1f, 0x15, 0x6f, 0x56, 0xe2, 0xe4, 0x4c, 0x35, + 0x76, 0xdb, 0x0f, 0xe0, 0xaa, 0xd5, 0x64, 0xb8, 0x0d, 0x44, 0x7b, 0x27, + 0xd2, 0x3d, 0x66, 0x45, +}; +static const unsigned char kat3858_nonce[] = {0}; +static const unsigned char kat3858_persstr[] = {0}; +static const unsigned char kat3858_entropyinpr1[] = { + 0x1e, 0x7e, 0x98, 0x65, 0x70, 0x35, 0x0b, 0x0e, 0x34, 0xe7, 0x70, 0x4e, + 0xa3, 0x2b, 0xe0, 0xf9, 0xdb, 0x9e, 0x17, 0xf1, 0x1b, 0x60, 0x83, 0x20, + 0x45, 0xc1, 0x78, 0x27, 0x07, 0x53, 0x48, 0x7e, 0xe3, 0xcb, 0xb2, 0x04, + 0x6c, 0xea, 0x39, 0x94, +}; +static const unsigned char kat3858_addinpr1[] = { + 0x96, 0xca, 0xbf, 0x90, 0xdc, 0xdc, 0xff, 0xa4, 0x17, 0x0e, 0x91, 0x3e, + 0x32, 0x98, 0x01, 0xf8, 0x36, 0xb4, 0xad, 0x11, 0x8a, 0x56, 0x56, 0xfa, + 0x70, 0xd6, 0xf4, 0xb4, 0x02, 0x16, 0xec, 0x91, 0xc5, 0x15, 0xba, 0x55, + 0x83, 0x86, 0x3f, 0xb2, +}; +static const unsigned char kat3858_entropyinpr2[] = { + 0xaf, 0x9d, 0x4b, 0xda, 0x67, 0x1f, 0x29, 0x50, 0xb1, 0x0f, 0x83, 0xd9, + 0xb9, 0xd6, 0x88, 0x52, 0xc4, 0x2a, 0x09, 0xec, 0x31, 0x90, 0x85, 0x1c, + 0x8e, 0xe5, 0xde, 0x1b, 0xa8, 0x22, 0x49, 0x80, 0xbe, 0x20, 0xc5, 0x0b, + 0xcf, 0xfe, 0xa5, 0x10, +}; +static const unsigned char kat3858_addinpr2[] = { + 0x1b, 0x73, 0x89, 0xef, 0x8b, 0x21, 0x97, 0x08, 0x66, 0x68, 0x21, 0x8e, + 0xc4, 0x23, 0x25, 0x1f, 0x0c, 0xbb, 0x0a, 0x5c, 0x0e, 0x88, 0x78, 0x4b, + 0xb5, 0x05, 0x40, 0x87, 0x01, 0xb9, 0xd5, 0xce, 0xae, 0x82, 0xba, 0xa7, + 0xcf, 0x6a, 0x77, 0xb0, +}; +static const unsigned char kat3858_retbits[] = { + 0x9c, 0x83, 0x5d, 0x99, 0x64, 0x8c, 0x5d, 0xef, 0x0f, 0x5e, 0xd9, 0xd3, + 0xbc, 0x32, 0xae, 0x6c, 0x48, 0x4c, 0xd3, 0x08, 0xa1, 0x7f, 0xac, 0x1b, + 0x12, 0x37, 0x61, 0x7a, 0x17, 0x2f, 0x4b, 0x68, 0x40, 0x21, 0x3f, 0x8d, + 0x79, 0x4e, 0x9f, 0x3d, 0xf0, 0x54, 0x32, 0x91, 0x28, 0xbf, 0x8b, 0x8f, + 0x7b, 0x96, 0xb2, 0x22, 0x46, 0xb5, 0xd8, 0x01, 0x36, 0x0b, 0x38, 0x47, + 0x0e, 0xf2, 0x6d, 0xaf, +}; +static const struct drbg_kat_pr_true kat3858_t = { + 2, kat3858_entropyin, kat3858_nonce, kat3858_persstr, + kat3858_entropyinpr1, kat3858_addinpr1, kat3858_entropyinpr2, + kat3858_addinpr2, kat3858_retbits +}; +static const struct drbg_kat kat3858 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3858_t +}; + +static const unsigned char kat3859_entropyin[] = { + 0x08, 0x13, 0x28, 0x50, 0x39, 0x87, 0xfa, 0xa5, 0x29, 0x7a, 0xb5, 0xa4, + 0xa8, 0x86, 0x5c, 0x73, 0xc2, 0x8f, 0x20, 0xed, 0x00, 0x94, 0xdd, 0xe1, + 0xaf, 0x9a, 0xb8, 0x62, 0x67, 0xf7, 0xf5, 0x38, 0x39, 0xaf, 0xe7, 0x31, + 0x69, 0xab, 0x58, 0x01, +}; +static const unsigned char kat3859_nonce[] = {0}; +static const unsigned char kat3859_persstr[] = {0}; +static const unsigned char kat3859_entropyinpr1[] = { + 0xa0, 0x22, 0x6d, 0xc3, 0x05, 0x71, 0xcd, 0xfb, 0x95, 0xa1, 0x59, 0x9e, + 0xc9, 0x29, 0x85, 0xa0, 0xc5, 0xd8, 0x0b, 0x8e, 0xb4, 0x44, 0x7c, 0x34, + 0xcc, 0x8d, 0xc5, 0x82, 0x80, 0xf8, 0x78, 0x77, 0xc6, 0x50, 0x77, 0xf3, + 0x68, 0x02, 0xff, 0x6d, +}; +static const unsigned char kat3859_addinpr1[] = { + 0x12, 0xba, 0xd7, 0x1a, 0x1b, 0x0b, 0x47, 0x54, 0x2f, 0x19, 0x59, 0xe1, + 0x8c, 0x07, 0xac, 0xa0, 0x12, 0x89, 0xc0, 0x2a, 0x1d, 0x45, 0xd6, 0xf9, + 0xe4, 0xa4, 0x3b, 0x26, 0xaa, 0x2e, 0x29, 0x2c, 0x52, 0x07, 0x94, 0x48, + 0x8d, 0x41, 0x9d, 0x94, +}; +static const unsigned char kat3859_entropyinpr2[] = { + 0x11, 0x35, 0xc4, 0x32, 0x59, 0xef, 0xc5, 0x75, 0xf6, 0xad, 0x0f, 0xe2, + 0x0c, 0xb4, 0x01, 0xc2, 0xc0, 0xac, 0x13, 0xdc, 0x99, 0x78, 0xa6, 0x0f, + 0x32, 0x8f, 0xbb, 0x0c, 0x3e, 0x75, 0x71, 0xf3, 0x60, 0x6b, 0xe0, 0x17, + 0x9c, 0x80, 0xb8, 0x0b, +}; +static const unsigned char kat3859_addinpr2[] = { + 0x64, 0xb6, 0xbb, 0x02, 0xff, 0xb6, 0x0c, 0x4f, 0x57, 0x01, 0x7f, 0x1e, + 0x84, 0x10, 0xd8, 0x7b, 0xf2, 0x42, 0x66, 0x57, 0xce, 0x4a, 0xaf, 0xa5, + 0x85, 0x8d, 0xc3, 0xc8, 0x7b, 0x7a, 0x27, 0xad, 0x86, 0x98, 0x8e, 0x0a, + 0xdc, 0x11, 0xcc, 0x25, +}; +static const unsigned char kat3859_retbits[] = { + 0xc8, 0x0e, 0x87, 0xb9, 0x20, 0xd5, 0xe8, 0xeb, 0x38, 0x45, 0xbf, 0xd9, + 0x13, 0xea, 0x9c, 0xb9, 0x61, 0xff, 0xce, 0xad, 0x1d, 0x76, 0x39, 0xe9, + 0x47, 0x7a, 0x87, 0x6f, 0xa7, 0x48, 0xbf, 0x30, 0x08, 0x4c, 0x33, 0x6d, + 0x85, 0x62, 0x6d, 0x0c, 0x01, 0xa1, 0xd1, 0x17, 0x1a, 0x56, 0xd0, 0x52, + 0x42, 0x2f, 0xbb, 0x81, 0xac, 0x3f, 0x1f, 0xe9, 0x96, 0x91, 0x31, 0xc4, + 0xb9, 0xeb, 0x7e, 0x8d, +}; +static const struct drbg_kat_pr_true kat3859_t = { + 3, kat3859_entropyin, kat3859_nonce, kat3859_persstr, + kat3859_entropyinpr1, kat3859_addinpr1, kat3859_entropyinpr2, + kat3859_addinpr2, kat3859_retbits +}; +static const struct drbg_kat kat3859 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3859_t +}; + +static const unsigned char kat3860_entropyin[] = { + 0x80, 0xd4, 0x0d, 0xd9, 0xe2, 0xe0, 0x02, 0x9c, 0x6d, 0x06, 0x4c, 0xd8, + 0xf0, 0x2b, 0xe2, 0x9f, 0x66, 0x42, 0x4d, 0xda, 0x63, 0xb1, 0xb3, 0x69, + 0xfe, 0x32, 0xd7, 0x01, 0x26, 0x3c, 0xe5, 0x06, 0xba, 0x14, 0x2d, 0xbb, + 0x4d, 0xa1, 0x57, 0x95, +}; +static const unsigned char kat3860_nonce[] = {0}; +static const unsigned char kat3860_persstr[] = {0}; +static const unsigned char kat3860_entropyinpr1[] = { + 0x5f, 0xc1, 0xa8, 0xbf, 0xe2, 0x6b, 0x9f, 0x9c, 0x8a, 0xeb, 0xc6, 0x6c, + 0xc5, 0x6d, 0x15, 0x11, 0x50, 0x00, 0xff, 0x34, 0x10, 0xfd, 0x1a, 0x2b, + 0x9c, 0xff, 0xe4, 0x6b, 0x80, 0xa6, 0x36, 0xfb, 0x9e, 0x4b, 0xd4, 0x3f, + 0xa6, 0xea, 0xf9, 0xcd, +}; +static const unsigned char kat3860_addinpr1[] = { + 0xed, 0x82, 0x80, 0xac, 0xe3, 0x7d, 0x5d, 0x0e, 0x1e, 0x05, 0xdc, 0x01, + 0x24, 0x18, 0x9d, 0xed, 0xf8, 0xe0, 0xa4, 0xfe, 0xd5, 0x8a, 0x51, 0x7c, + 0x98, 0x4f, 0x3c, 0x33, 0xd9, 0x7e, 0x51, 0x39, 0x6e, 0xa1, 0x9a, 0x2e, + 0xa5, 0xbe, 0xca, 0x86, +}; +static const unsigned char kat3860_entropyinpr2[] = { + 0xe7, 0x4c, 0x26, 0xdd, 0xfc, 0x7c, 0xf7, 0x77, 0x96, 0x47, 0x7a, 0xf2, + 0x42, 0xc1, 0x95, 0x41, 0x7f, 0x76, 0xf2, 0xf7, 0x5e, 0x9f, 0xba, 0xbb, + 0xd6, 0x30, 0x70, 0xf9, 0x90, 0xd1, 0x3a, 0x7b, 0x7f, 0x49, 0xed, 0x11, + 0xcc, 0xe2, 0x71, 0x47, +}; +static const unsigned char kat3860_addinpr2[] = { + 0x76, 0x6b, 0xc7, 0x27, 0x18, 0xa4, 0x9b, 0x93, 0x0f, 0xca, 0x71, 0xec, + 0x14, 0x65, 0x5e, 0x56, 0xa5, 0xde, 0x0b, 0x9b, 0xac, 0x86, 0x60, 0x00, + 0xdb, 0x51, 0x34, 0xd2, 0x8f, 0xd2, 0x3b, 0x02, 0xbd, 0x28, 0x65, 0x51, + 0xc6, 0x6d, 0x78, 0x8b, +}; +static const unsigned char kat3860_retbits[] = { + 0x21, 0xa6, 0xed, 0xaf, 0x26, 0x18, 0xad, 0x7a, 0x23, 0x37, 0x14, 0x62, + 0x13, 0x60, 0x90, 0xda, 0x6d, 0xb7, 0xa1, 0x77, 0x04, 0x5a, 0x79, 0x20, + 0x7a, 0x87, 0x9c, 0xad, 0xef, 0x9a, 0x2c, 0x0a, 0x0c, 0xd2, 0x0f, 0x0b, + 0x9a, 0xbf, 0xff, 0x05, 0x09, 0x70, 0x1c, 0x71, 0xf7, 0x49, 0x15, 0x37, + 0x21, 0x80, 0x8d, 0x44, 0xa5, 0x94, 0x1d, 0xac, 0xa3, 0x13, 0xf3, 0x9e, + 0xdb, 0x73, 0x2e, 0xf5, +}; +static const struct drbg_kat_pr_true kat3860_t = { + 4, kat3860_entropyin, kat3860_nonce, kat3860_persstr, + kat3860_entropyinpr1, kat3860_addinpr1, kat3860_entropyinpr2, + kat3860_addinpr2, kat3860_retbits +}; +static const struct drbg_kat kat3860 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3860_t +}; + +static const unsigned char kat3861_entropyin[] = { + 0xca, 0x9d, 0xd7, 0xe2, 0x8b, 0x16, 0x49, 0x26, 0xa4, 0xa4, 0x61, 0x96, + 0xfc, 0xee, 0xf2, 0xd8, 0x95, 0xbb, 0x68, 0xf4, 0x20, 0xfc, 0x07, 0xdb, + 0xff, 0x1f, 0x5b, 0x4d, 0x2a, 0x79, 0xf2, 0x56, 0xcc, 0x52, 0xfb, 0x28, + 0xe5, 0x0b, 0xbf, 0x91, +}; +static const unsigned char kat3861_nonce[] = {0}; +static const unsigned char kat3861_persstr[] = {0}; +static const unsigned char kat3861_entropyinpr1[] = { + 0x28, 0x08, 0x3b, 0xa9, 0x88, 0x20, 0x41, 0x0b, 0x63, 0xd0, 0xda, 0x42, + 0x93, 0x4a, 0x0b, 0x98, 0xe2, 0x9a, 0x8b, 0xfd, 0x71, 0xf0, 0x70, 0xae, + 0x40, 0xfc, 0x81, 0xd1, 0x21, 0x13, 0x1b, 0x7a, 0x38, 0x3b, 0x16, 0x4a, + 0xf4, 0xea, 0x5c, 0x90, +}; +static const unsigned char kat3861_addinpr1[] = { + 0x89, 0x1b, 0xd5, 0xb9, 0x04, 0xe6, 0x03, 0xa7, 0x5a, 0xaf, 0x1e, 0xfd, + 0xcc, 0x3c, 0xf3, 0xcb, 0x3c, 0x84, 0xb2, 0x24, 0xd9, 0x86, 0x19, 0x12, + 0x0d, 0x7a, 0x32, 0x24, 0xc9, 0x58, 0xaa, 0x81, 0x83, 0x71, 0x45, 0x3e, + 0x56, 0x31, 0xa2, 0xa9, +}; +static const unsigned char kat3861_entropyinpr2[] = { + 0x38, 0xde, 0x99, 0xd2, 0xb1, 0x9d, 0xe5, 0x57, 0x22, 0x4a, 0x66, 0x4a, + 0xd3, 0x6a, 0x4b, 0x5a, 0xbd, 0x40, 0x60, 0x8f, 0x77, 0x3f, 0x86, 0x2c, + 0xcf, 0x6d, 0x7d, 0xee, 0xec, 0xdd, 0x77, 0x99, 0x2b, 0xfa, 0x37, 0x53, + 0x67, 0x76, 0x10, 0x9a, +}; +static const unsigned char kat3861_addinpr2[] = { + 0x8e, 0x02, 0xd8, 0xc7, 0x0e, 0x14, 0xf7, 0x74, 0x32, 0x29, 0xf4, 0x17, + 0x7e, 0x97, 0x36, 0x3b, 0xb8, 0xb0, 0xed, 0xf9, 0xa0, 0x11, 0x65, 0xf9, + 0x88, 0x16, 0x44, 0xb5, 0x04, 0x18, 0x8a, 0x2b, 0xa8, 0xdd, 0xbd, 0x68, + 0xeb, 0xc3, 0x24, 0x04, +}; +static const unsigned char kat3861_retbits[] = { + 0x87, 0x91, 0x12, 0x4b, 0x30, 0x75, 0x25, 0x99, 0x0a, 0x66, 0x39, 0x59, + 0x0a, 0x82, 0xff, 0x29, 0xa7, 0xd8, 0x32, 0x6d, 0x4f, 0x6b, 0x2e, 0x52, + 0x2b, 0xc1, 0x45, 0x7b, 0xec, 0x16, 0xc3, 0xa6, 0xd5, 0xe5, 0x38, 0x32, + 0x06, 0x20, 0xb7, 0x79, 0xe7, 0x9f, 0xed, 0x88, 0xc3, 0x55, 0x13, 0x67, + 0x6e, 0x6c, 0xf6, 0x00, 0xca, 0x5a, 0x0b, 0xcb, 0xb4, 0xf9, 0x7a, 0xee, + 0xac, 0xea, 0x1e, 0xda, +}; +static const struct drbg_kat_pr_true kat3861_t = { + 5, kat3861_entropyin, kat3861_nonce, kat3861_persstr, + kat3861_entropyinpr1, kat3861_addinpr1, kat3861_entropyinpr2, + kat3861_addinpr2, kat3861_retbits +}; +static const struct drbg_kat kat3861 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3861_t +}; + +static const unsigned char kat3862_entropyin[] = { + 0xc3, 0x84, 0xb8, 0x6c, 0x82, 0xcb, 0xaf, 0xe6, 0xf8, 0xaf, 0x7f, 0x43, + 0x19, 0xd2, 0x65, 0x3c, 0x7b, 0xab, 0x0e, 0x3a, 0xfe, 0xd1, 0xa3, 0x3b, + 0xc2, 0x2d, 0xa3, 0xeb, 0xc2, 0x34, 0x8d, 0xce, 0xea, 0x67, 0x4a, 0xda, + 0x54, 0xd1, 0x94, 0x86, +}; +static const unsigned char kat3862_nonce[] = {0}; +static const unsigned char kat3862_persstr[] = {0}; +static const unsigned char kat3862_entropyinpr1[] = { + 0xbc, 0x6c, 0x20, 0x8c, 0x8d, 0x40, 0xe8, 0x6e, 0xaf, 0x11, 0xb0, 0x18, + 0xad, 0x40, 0x3e, 0x1c, 0xc7, 0x48, 0x95, 0x94, 0x7f, 0xc1, 0xe1, 0x1e, + 0x79, 0xec, 0x3c, 0xce, 0xab, 0x40, 0x31, 0x80, 0xea, 0xdc, 0x4a, 0xb9, + 0x1f, 0x48, 0x11, 0xd1, +}; +static const unsigned char kat3862_addinpr1[] = { + 0x7b, 0x83, 0xd1, 0x13, 0x11, 0x9a, 0xd1, 0x59, 0xf0, 0xf7, 0x7c, 0x55, + 0x30, 0xea, 0xad, 0x68, 0x22, 0x86, 0xfe, 0x31, 0x83, 0x11, 0xa0, 0x57, + 0x5a, 0x3d, 0x77, 0x43, 0x39, 0x48, 0x29, 0xa7, 0x4e, 0x49, 0x15, 0x51, + 0x78, 0xec, 0xe9, 0x62, +}; +static const unsigned char kat3862_entropyinpr2[] = { + 0xb9, 0x9d, 0xb5, 0x42, 0x28, 0x3b, 0xd9, 0x7f, 0x63, 0x16, 0x5d, 0xea, + 0x03, 0x1b, 0x18, 0x88, 0xe0, 0x82, 0x00, 0xa9, 0x04, 0x99, 0xa8, 0x43, + 0x83, 0x71, 0x6a, 0xfe, 0x78, 0x7b, 0xac, 0x1e, 0x65, 0x29, 0x67, 0xd6, + 0x9f, 0xe1, 0xcd, 0xc5, +}; +static const unsigned char kat3862_addinpr2[] = { + 0xac, 0x5e, 0xf5, 0x10, 0x22, 0x41, 0x27, 0x60, 0x55, 0x98, 0x96, 0x25, + 0xfc, 0x86, 0x0c, 0x42, 0xa7, 0x70, 0x5a, 0x6f, 0x61, 0x36, 0xd5, 0xa1, + 0xf6, 0x13, 0xd1, 0x4f, 0x7c, 0xb4, 0x58, 0x63, 0xde, 0xae, 0xcc, 0xe3, + 0x46, 0x87, 0xca, 0x61, +}; +static const unsigned char kat3862_retbits[] = { + 0xa9, 0x40, 0x11, 0x39, 0xa2, 0xaa, 0x31, 0x9c, 0xec, 0xd9, 0xea, 0x96, + 0x0f, 0xd5, 0x3d, 0x6f, 0x86, 0xa1, 0x08, 0xe5, 0xf1, 0x28, 0xce, 0x77, + 0x42, 0x20, 0xee, 0xd1, 0x9f, 0xdc, 0xb7, 0x6f, 0x4f, 0x48, 0xe6, 0x77, + 0x3d, 0x9c, 0x43, 0x10, 0x0d, 0xf0, 0xd0, 0x8a, 0x49, 0xf6, 0xdb, 0xfc, + 0xb0, 0xe1, 0x7f, 0xab, 0x6e, 0xea, 0x97, 0x9e, 0xc7, 0x76, 0x12, 0x9d, + 0xda, 0x8a, 0x9b, 0x90, +}; +static const struct drbg_kat_pr_true kat3862_t = { + 6, kat3862_entropyin, kat3862_nonce, kat3862_persstr, + kat3862_entropyinpr1, kat3862_addinpr1, kat3862_entropyinpr2, + kat3862_addinpr2, kat3862_retbits +}; +static const struct drbg_kat kat3862 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3862_t +}; + +static const unsigned char kat3863_entropyin[] = { + 0xe9, 0x6c, 0xce, 0x83, 0xad, 0x1c, 0x4a, 0xac, 0x66, 0xfd, 0xec, 0x4c, + 0x61, 0xee, 0xd4, 0x6d, 0x2a, 0xab, 0x85, 0x86, 0x60, 0xac, 0x19, 0xb8, + 0xb0, 0xff, 0x7a, 0xd3, 0x05, 0x73, 0xc9, 0x30, 0x7d, 0x3f, 0xe9, 0x9d, + 0x2f, 0x18, 0x66, 0x9b, +}; +static const unsigned char kat3863_nonce[] = {0}; +static const unsigned char kat3863_persstr[] = {0}; +static const unsigned char kat3863_entropyinpr1[] = { + 0xd7, 0x53, 0x33, 0x7d, 0x3d, 0x84, 0xd1, 0x22, 0x7e, 0x43, 0x02, 0xee, + 0xe7, 0x2b, 0x26, 0xc8, 0x39, 0x74, 0x54, 0x9b, 0x9a, 0x15, 0x4d, 0xb9, + 0xba, 0x83, 0xee, 0xaf, 0x8b, 0x98, 0x16, 0xc8, 0xbb, 0xd1, 0x63, 0xed, + 0x25, 0xe8, 0x6b, 0x0a, +}; +static const unsigned char kat3863_addinpr1[] = { + 0x41, 0x76, 0x89, 0xe2, 0x5e, 0xe7, 0x0d, 0xc2, 0xad, 0x77, 0x4e, 0xc5, + 0x31, 0xa2, 0xf2, 0x63, 0xc6, 0xee, 0xcb, 0xa1, 0x29, 0x49, 0x6d, 0x49, + 0xc1, 0xc6, 0x3a, 0xc9, 0x35, 0x7a, 0xea, 0xde, 0x79, 0x7f, 0x9f, 0xc3, + 0xf5, 0x4f, 0xf3, 0x10, +}; +static const unsigned char kat3863_entropyinpr2[] = { + 0x98, 0x74, 0xb2, 0xd3, 0x40, 0x28, 0xa5, 0xad, 0x52, 0xe6, 0x62, 0x09, + 0x2f, 0x93, 0x0d, 0xf2, 0xcc, 0xa9, 0x69, 0xfe, 0x68, 0x2b, 0x61, 0x9c, + 0x2e, 0x4a, 0x65, 0x8a, 0xe2, 0x6d, 0xf2, 0xa8, 0x1f, 0xb2, 0xc7, 0xa1, + 0xe4, 0xf2, 0x1e, 0x3e, +}; +static const unsigned char kat3863_addinpr2[] = { + 0xb1, 0x16, 0x1e, 0xb8, 0x79, 0xde, 0xa2, 0xf0, 0xcd, 0x23, 0x7e, 0xce, + 0x20, 0xae, 0x3a, 0x89, 0x30, 0xa2, 0x20, 0xa4, 0xd8, 0x6e, 0x48, 0x4c, + 0xb3, 0x3a, 0x71, 0xfa, 0x9c, 0x4e, 0x78, 0xff, 0xf9, 0x70, 0xd7, 0x1c, + 0xfd, 0x31, 0x8f, 0x86, +}; +static const unsigned char kat3863_retbits[] = { + 0x1e, 0xbe, 0x04, 0x63, 0x68, 0x27, 0x1c, 0xa6, 0x38, 0xea, 0xf0, 0xc6, + 0xdc, 0xf5, 0x84, 0x50, 0x52, 0x74, 0x83, 0x43, 0x17, 0xa5, 0xf2, 0x68, + 0x3c, 0x1f, 0xcf, 0x1d, 0x67, 0x08, 0xba, 0x36, 0xae, 0x91, 0x88, 0x9c, + 0x58, 0x15, 0xa4, 0x7c, 0x72, 0x74, 0x07, 0x75, 0x82, 0xf7, 0x8b, 0x2b, + 0x77, 0xd2, 0x22, 0x3d, 0x5d, 0x5c, 0xc1, 0x84, 0xae, 0xd7, 0x1e, 0x93, + 0x50, 0x66, 0x6c, 0xb6, +}; +static const struct drbg_kat_pr_true kat3863_t = { + 7, kat3863_entropyin, kat3863_nonce, kat3863_persstr, + kat3863_entropyinpr1, kat3863_addinpr1, kat3863_entropyinpr2, + kat3863_addinpr2, kat3863_retbits +}; +static const struct drbg_kat kat3863 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3863_t +}; + +static const unsigned char kat3864_entropyin[] = { + 0x2a, 0x39, 0x9f, 0xf6, 0xa6, 0x0f, 0xfa, 0x7b, 0xc8, 0xa5, 0x65, 0x6a, + 0x2a, 0x31, 0x1f, 0xea, 0x04, 0x80, 0xec, 0x16, 0xbe, 0xd7, 0x6b, 0x72, + 0x5b, 0x0c, 0xfd, 0x14, 0x76, 0x9a, 0xd2, 0x8b, 0x3b, 0x0d, 0x5c, 0xa3, + 0xd4, 0x65, 0x22, 0xa2, +}; +static const unsigned char kat3864_nonce[] = {0}; +static const unsigned char kat3864_persstr[] = {0}; +static const unsigned char kat3864_entropyinpr1[] = { + 0x71, 0x37, 0xac, 0xd9, 0x69, 0xf3, 0x10, 0x49, 0xa5, 0x2b, 0xa0, 0x85, + 0xab, 0xb8, 0xf8, 0xe8, 0x99, 0x6c, 0x69, 0xb3, 0xd3, 0xf2, 0xbc, 0x36, + 0xb6, 0x03, 0x32, 0x1f, 0xe6, 0x4c, 0xe9, 0x69, 0xc2, 0xd2, 0x1d, 0x7e, + 0xb6, 0xf7, 0xe5, 0x6d, +}; +static const unsigned char kat3864_addinpr1[] = { + 0x7a, 0xdb, 0x9f, 0xdb, 0x05, 0xd7, 0x16, 0x48, 0x15, 0xbc, 0x5c, 0xfa, + 0xfc, 0xb2, 0xee, 0x6d, 0x86, 0xa3, 0x1e, 0xca, 0xd1, 0x8b, 0xc5, 0x37, + 0x78, 0x7a, 0x89, 0x6e, 0xdb, 0x9c, 0x5d, 0xf0, 0xa5, 0x83, 0xee, 0x9a, + 0x5c, 0xa7, 0x1c, 0x47, +}; +static const unsigned char kat3864_entropyinpr2[] = { + 0xa8, 0x4d, 0x1d, 0xff, 0x3f, 0x20, 0xdc, 0x56, 0x1b, 0x1a, 0x6a, 0x8f, + 0x18, 0xff, 0xc7, 0x6c, 0x80, 0x45, 0x21, 0xba, 0xc9, 0x01, 0xf2, 0x4a, + 0x06, 0x7a, 0xb0, 0xe8, 0xf3, 0xbf, 0x09, 0xae, 0x5b, 0x93, 0x69, 0x1d, + 0xa1, 0x76, 0xfc, 0x70, +}; +static const unsigned char kat3864_addinpr2[] = { + 0x3d, 0xc1, 0x36, 0x5d, 0x46, 0xa3, 0x3c, 0x8a, 0xd7, 0xbe, 0x4d, 0x1b, + 0x9c, 0xc2, 0x05, 0xa3, 0xc4, 0x59, 0x98, 0xb5, 0x6e, 0xf2, 0x4d, 0x86, + 0xa7, 0x99, 0x95, 0xa1, 0x9d, 0xcb, 0x22, 0xb2, 0xbc, 0xda, 0xbd, 0xe4, + 0x01, 0x75, 0xbf, 0xd2, +}; +static const unsigned char kat3864_retbits[] = { + 0x2a, 0xdb, 0x8e, 0x9a, 0xe8, 0xee, 0x90, 0x94, 0xec, 0x49, 0xbf, 0x46, + 0x4f, 0xad, 0x4e, 0x23, 0xc0, 0x7a, 0x46, 0x63, 0x3e, 0xbe, 0x17, 0x02, + 0x48, 0x34, 0xc0, 0x4f, 0x9f, 0x06, 0xcc, 0xfe, 0x61, 0x8c, 0x36, 0x96, + 0x8e, 0x68, 0xce, 0x0a, 0x26, 0x7b, 0x06, 0x99, 0x4f, 0xba, 0x9e, 0x53, + 0x63, 0xbc, 0xf7, 0xe1, 0xb6, 0xa6, 0x26, 0x12, 0xdd, 0xca, 0x52, 0xab, + 0x9d, 0x19, 0x36, 0x12, +}; +static const struct drbg_kat_pr_true kat3864_t = { + 8, kat3864_entropyin, kat3864_nonce, kat3864_persstr, + kat3864_entropyinpr1, kat3864_addinpr1, kat3864_entropyinpr2, + kat3864_addinpr2, kat3864_retbits +}; +static const struct drbg_kat kat3864 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3864_t +}; + +static const unsigned char kat3865_entropyin[] = { + 0xc6, 0x29, 0xf9, 0x90, 0xa8, 0x3c, 0x52, 0xc9, 0xfb, 0xa8, 0xa1, 0xb3, + 0x47, 0x69, 0x6c, 0x2c, 0xa7, 0xd3, 0x75, 0x35, 0x0d, 0x81, 0x2c, 0x5c, + 0x96, 0x10, 0x53, 0x99, 0x29, 0x8c, 0x23, 0x18, 0xb5, 0xbd, 0xbe, 0xca, + 0x59, 0xa8, 0x8e, 0xbc, +}; +static const unsigned char kat3865_nonce[] = {0}; +static const unsigned char kat3865_persstr[] = {0}; +static const unsigned char kat3865_entropyinpr1[] = { + 0xbb, 0x85, 0x55, 0x1b, 0x9d, 0x62, 0xea, 0xe2, 0x70, 0x05, 0xcf, 0x4e, + 0xe2, 0x64, 0x79, 0x91, 0xfe, 0x23, 0x66, 0x4a, 0x74, 0xea, 0xac, 0x53, + 0x10, 0xaa, 0x66, 0x19, 0x0c, 0x1f, 0xae, 0xb5, 0xe9, 0xe7, 0xd5, 0x44, + 0x41, 0xd9, 0x74, 0xf5, +}; +static const unsigned char kat3865_addinpr1[] = { + 0x64, 0x68, 0x3d, 0x67, 0x16, 0x94, 0x5c, 0x80, 0xd5, 0x69, 0xd8, 0xc1, + 0x55, 0xdb, 0x06, 0xde, 0x52, 0xd2, 0x48, 0x6e, 0x48, 0x01, 0xd0, 0xa4, + 0x84, 0x6f, 0xe7, 0x6d, 0x07, 0x8d, 0x84, 0x1c, 0x1d, 0x89, 0x74, 0x9a, + 0xd0, 0x68, 0xe2, 0x9e, +}; +static const unsigned char kat3865_entropyinpr2[] = { + 0x54, 0xdc, 0xe8, 0x23, 0xa3, 0x31, 0xe0, 0x0d, 0x22, 0x8c, 0xa9, 0xa7, + 0x4f, 0xe3, 0x5e, 0x44, 0x45, 0x0e, 0x54, 0xa8, 0x6a, 0x22, 0x97, 0xe8, + 0x97, 0x0a, 0x51, 0x2e, 0x18, 0xcb, 0xff, 0x9a, 0x21, 0xef, 0x56, 0x37, + 0xa0, 0xad, 0x1c, 0xbb, +}; +static const unsigned char kat3865_addinpr2[] = { + 0x8e, 0xd1, 0xa4, 0xf8, 0x85, 0x49, 0x37, 0x09, 0x7a, 0x44, 0x39, 0x40, + 0xa3, 0x0c, 0x8c, 0x27, 0x31, 0xc1, 0xf9, 0xbf, 0x3d, 0x9d, 0x15, 0x35, + 0x2c, 0x59, 0x34, 0x5e, 0xa9, 0x93, 0x5e, 0x1e, 0xa6, 0x8b, 0xa2, 0x49, + 0xe2, 0xd4, 0x62, 0xfe, +}; +static const unsigned char kat3865_retbits[] = { + 0x82, 0x2e, 0x29, 0xf8, 0xd7, 0xb4, 0x1f, 0xa1, 0x26, 0x11, 0xa1, 0x6a, + 0x62, 0xbb, 0xfb, 0x78, 0xb5, 0x44, 0x1c, 0xa3, 0x4e, 0x4e, 0x27, 0xdd, + 0xcb, 0x7a, 0x24, 0x23, 0x2a, 0xa7, 0x21, 0x6a, 0x69, 0x76, 0x34, 0x58, + 0xfb, 0xba, 0xee, 0x0a, 0x02, 0xa6, 0x4d, 0x94, 0xff, 0x4d, 0x6b, 0xa5, + 0xbe, 0x65, 0x53, 0x04, 0x68, 0x24, 0xac, 0x8c, 0x66, 0x4d, 0x32, 0x18, + 0x3d, 0x38, 0x3c, 0xe0, +}; +static const struct drbg_kat_pr_true kat3865_t = { + 9, kat3865_entropyin, kat3865_nonce, kat3865_persstr, + kat3865_entropyinpr1, kat3865_addinpr1, kat3865_entropyinpr2, + kat3865_addinpr2, kat3865_retbits +}; +static const struct drbg_kat kat3865 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3865_t +}; + +static const unsigned char kat3866_entropyin[] = { + 0x88, 0xb4, 0x1f, 0xba, 0x13, 0x2f, 0xd5, 0xc4, 0x6f, 0x58, 0x90, 0x21, + 0x96, 0xd7, 0x85, 0xe4, 0xc6, 0xc3, 0xc1, 0x5a, 0xa9, 0xa3, 0x80, 0x1b, + 0xd3, 0x1b, 0xa3, 0xf7, 0x4a, 0xdc, 0xc0, 0xa3, 0x72, 0x63, 0xa4, 0x8c, + 0x44, 0xdd, 0x39, 0xe4, +}; +static const unsigned char kat3866_nonce[] = {0}; +static const unsigned char kat3866_persstr[] = {0}; +static const unsigned char kat3866_entropyinpr1[] = { + 0xe6, 0x51, 0x9f, 0x2f, 0x66, 0x95, 0x5b, 0x41, 0xcb, 0x27, 0x81, 0xb9, + 0x00, 0x1e, 0x2b, 0xe9, 0x58, 0x1b, 0x1e, 0xac, 0x7a, 0xec, 0x96, 0xde, + 0xf8, 0x0a, 0xb2, 0xf8, 0xc8, 0xf0, 0xbd, 0x4f, 0x28, 0x8b, 0x86, 0xf9, + 0xd0, 0xbc, 0x98, 0x10, +}; +static const unsigned char kat3866_addinpr1[] = { + 0xbb, 0x40, 0xe4, 0x1d, 0x29, 0xd5, 0x78, 0xfd, 0xc4, 0x59, 0x5e, 0xc5, + 0xae, 0x5b, 0xd6, 0xef, 0x15, 0xfa, 0xc4, 0x71, 0xf8, 0xdc, 0x91, 0x00, + 0x67, 0x42, 0x35, 0xe6, 0x12, 0x71, 0x51, 0xf7, 0x52, 0xd5, 0x82, 0x13, + 0xdd, 0xc8, 0xc2, 0x69, +}; +static const unsigned char kat3866_entropyinpr2[] = { + 0xfa, 0xa9, 0x1d, 0x51, 0x72, 0x2e, 0xc7, 0x14, 0x6e, 0xa9, 0x05, 0xfd, + 0x70, 0xea, 0xc1, 0xf8, 0x8d, 0x3c, 0x73, 0x83, 0x3f, 0x5b, 0x91, 0xd1, + 0xe4, 0x19, 0x85, 0xea, 0xd6, 0x4d, 0xd2, 0xa7, 0x30, 0xb2, 0x3f, 0xbf, + 0xa7, 0xce, 0x01, 0x8b, +}; +static const unsigned char kat3866_addinpr2[] = { + 0xcb, 0x5e, 0xbd, 0xe0, 0xea, 0x1e, 0x01, 0x9f, 0x77, 0xee, 0xba, 0xea, + 0xbb, 0x48, 0xf1, 0x6f, 0x5d, 0xd2, 0x09, 0x62, 0x21, 0x9c, 0x3e, 0xbc, + 0x2c, 0x1a, 0x95, 0x52, 0xb7, 0xc3, 0x12, 0xfa, 0x1f, 0x9d, 0x68, 0xf9, + 0xed, 0x61, 0xa6, 0x26, +}; +static const unsigned char kat3866_retbits[] = { + 0x93, 0x7c, 0x67, 0x10, 0xa2, 0x2e, 0xa3, 0x80, 0x5b, 0x6f, 0x91, 0x79, + 0x57, 0xd3, 0xa4, 0xb1, 0x36, 0xef, 0x6e, 0x6a, 0x05, 0xf6, 0x74, 0x28, + 0xdc, 0x4e, 0x07, 0x92, 0x28, 0x6d, 0xdf, 0xe2, 0x7d, 0x50, 0x54, 0xa4, + 0x05, 0xcf, 0x61, 0x25, 0x9a, 0x65, 0x19, 0x66, 0x93, 0xf9, 0x4c, 0x2b, + 0x50, 0xc6, 0xa9, 0x15, 0xbd, 0xfb, 0xa3, 0x96, 0xff, 0xc5, 0x72, 0xb6, + 0xfb, 0xab, 0x83, 0x11, +}; +static const struct drbg_kat_pr_true kat3866_t = { + 10, kat3866_entropyin, kat3866_nonce, kat3866_persstr, + kat3866_entropyinpr1, kat3866_addinpr1, kat3866_entropyinpr2, + kat3866_addinpr2, kat3866_retbits +}; +static const struct drbg_kat kat3866 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3866_t +}; + +static const unsigned char kat3867_entropyin[] = { + 0x37, 0xea, 0x6c, 0x5a, 0xaf, 0x90, 0x25, 0x99, 0xb6, 0xd4, 0xfa, 0xa4, + 0xb5, 0x4b, 0x90, 0xc0, 0x1b, 0x1f, 0x7a, 0xb2, 0xcf, 0x81, 0x13, 0xca, + 0xec, 0xea, 0xab, 0xe6, 0x98, 0xa8, 0xef, 0xb7, 0x17, 0x4a, 0xf8, 0x34, + 0xac, 0xea, 0x8a, 0x10, +}; +static const unsigned char kat3867_nonce[] = {0}; +static const unsigned char kat3867_persstr[] = {0}; +static const unsigned char kat3867_entropyinpr1[] = { + 0x4e, 0x7f, 0x31, 0x57, 0x52, 0x5c, 0xdd, 0x3d, 0x20, 0x0a, 0x0c, 0xce, + 0x71, 0x99, 0x9a, 0xbc, 0x48, 0xbb, 0xba, 0xe2, 0xd2, 0x5d, 0x78, 0xfa, + 0x75, 0x00, 0x91, 0x22, 0x2f, 0xad, 0xd6, 0xd8, 0xd2, 0xea, 0xa6, 0xef, + 0x16, 0x7c, 0xc3, 0xcd, +}; +static const unsigned char kat3867_addinpr1[] = { + 0x90, 0x99, 0xe1, 0x72, 0xc0, 0x6e, 0x34, 0x0f, 0xf8, 0xc6, 0x58, 0x43, + 0x04, 0x02, 0x31, 0x4c, 0xb2, 0x89, 0x34, 0xbb, 0xa8, 0xa0, 0x93, 0x87, + 0x06, 0xc4, 0x29, 0x59, 0x72, 0x09, 0x97, 0x2b, 0x96, 0x19, 0x56, 0x5d, + 0xe0, 0x7b, 0x41, 0x6a, +}; +static const unsigned char kat3867_entropyinpr2[] = { + 0xa6, 0xcd, 0xdc, 0x89, 0x67, 0xe8, 0x19, 0x57, 0xe3, 0xad, 0xcc, 0x20, + 0x9e, 0xac, 0x24, 0x17, 0x5a, 0x52, 0x25, 0x9c, 0x42, 0x97, 0x8d, 0x03, + 0xb7, 0x15, 0x30, 0x35, 0x71, 0xa5, 0xd2, 0xec, 0x4e, 0xc5, 0x3d, 0x62, + 0xfb, 0xb1, 0x07, 0xdf, +}; +static const unsigned char kat3867_addinpr2[] = { + 0x7b, 0x4f, 0x4f, 0x61, 0x80, 0x98, 0xfa, 0x5d, 0x7c, 0x27, 0x0a, 0x95, + 0x0d, 0x44, 0xbb, 0xc2, 0x49, 0xf1, 0xe4, 0x63, 0x0d, 0x79, 0xeb, 0x8c, + 0x2e, 0xf1, 0x64, 0xbd, 0xaa, 0xfd, 0x98, 0x2d, 0x9c, 0x57, 0x26, 0xd2, + 0xca, 0x48, 0xbd, 0xe9, +}; +static const unsigned char kat3867_retbits[] = { + 0x31, 0x32, 0x0a, 0x4f, 0x8a, 0x8b, 0x9a, 0x2f, 0x16, 0x1b, 0x91, 0x40, + 0x2e, 0x51, 0x27, 0x48, 0x1e, 0x10, 0x34, 0x3b, 0xa7, 0xbb, 0xd3, 0xfd, + 0xbc, 0x6c, 0x26, 0x73, 0x40, 0xc6, 0xf8, 0x31, 0x13, 0x8a, 0x7a, 0x67, + 0x3f, 0xe5, 0x25, 0xdd, 0x08, 0x22, 0xb6, 0x89, 0x26, 0x8f, 0xe7, 0xdb, + 0xdd, 0x3f, 0xf0, 0xa9, 0xf1, 0x55, 0xa0, 0x89, 0x95, 0xdf, 0x3c, 0x50, + 0x81, 0x27, 0xc6, 0x98, +}; +static const struct drbg_kat_pr_true kat3867_t = { + 11, kat3867_entropyin, kat3867_nonce, kat3867_persstr, + kat3867_entropyinpr1, kat3867_addinpr1, kat3867_entropyinpr2, + kat3867_addinpr2, kat3867_retbits +}; +static const struct drbg_kat kat3867 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3867_t +}; + +static const unsigned char kat3868_entropyin[] = { + 0x09, 0x5b, 0x0f, 0x0c, 0x5b, 0x92, 0x30, 0xa6, 0xd2, 0x80, 0xbb, 0xa9, + 0x90, 0x1f, 0xd1, 0x4d, 0x1f, 0x5b, 0x3b, 0xa1, 0xf1, 0x08, 0xb8, 0x9b, + 0xbe, 0x64, 0xfc, 0x38, 0x38, 0x20, 0xef, 0xe9, 0x72, 0x07, 0xd5, 0x69, + 0xe8, 0x2e, 0xf4, 0xc7, +}; +static const unsigned char kat3868_nonce[] = {0}; +static const unsigned char kat3868_persstr[] = {0}; +static const unsigned char kat3868_entropyinpr1[] = { + 0x5f, 0x0b, 0xf5, 0x46, 0xdb, 0x92, 0x80, 0x7d, 0x22, 0xf7, 0xd4, 0x50, + 0xea, 0x68, 0x20, 0x95, 0xeb, 0xf5, 0x41, 0x3e, 0x42, 0x98, 0xcf, 0x86, + 0x32, 0xae, 0x89, 0xc0, 0x82, 0x09, 0x93, 0xb8, 0x0c, 0x53, 0xb9, 0x47, + 0x9e, 0x2b, 0xb0, 0xf0, +}; +static const unsigned char kat3868_addinpr1[] = { + 0x4f, 0x29, 0x26, 0x13, 0xed, 0xfe, 0x82, 0x9d, 0xca, 0xdf, 0x7f, 0xa8, + 0x87, 0x3a, 0x82, 0xab, 0x65, 0x5e, 0x94, 0x94, 0x6e, 0xb8, 0xae, 0x10, + 0x98, 0x8d, 0x60, 0x2e, 0xfa, 0x24, 0xd2, 0x40, 0x02, 0x75, 0x1d, 0x4c, + 0x80, 0xbb, 0x44, 0xda, +}; +static const unsigned char kat3868_entropyinpr2[] = { + 0x53, 0xa4, 0x12, 0x7a, 0x58, 0xd5, 0x15, 0x65, 0x42, 0x22, 0xa4, 0x93, + 0xf0, 0x99, 0xe5, 0x4f, 0x77, 0x67, 0x19, 0x37, 0x7e, 0xf3, 0x73, 0x5d, + 0x89, 0xab, 0xc1, 0x5f, 0xe2, 0x73, 0xfb, 0x01, 0x02, 0xff, 0x7e, 0x24, + 0x9d, 0x86, 0x5b, 0xab, +}; +static const unsigned char kat3868_addinpr2[] = { + 0x4d, 0xb6, 0xbb, 0x88, 0x7f, 0xc6, 0xea, 0x67, 0x3d, 0x71, 0xf7, 0xae, + 0x58, 0xdd, 0xa5, 0x0e, 0x4d, 0xf1, 0xa1, 0xee, 0x32, 0x84, 0x80, 0xa8, + 0x48, 0x5b, 0x9a, 0x9b, 0xeb, 0x89, 0x29, 0xcc, 0x2c, 0x3b, 0xd8, 0x2d, + 0x98, 0x7b, 0x50, 0xcc, +}; +static const unsigned char kat3868_retbits[] = { + 0x7c, 0x10, 0x43, 0x42, 0xe9, 0xd0, 0x42, 0xfd, 0x3d, 0xaf, 0xbf, 0x43, + 0x6e, 0x63, 0x6a, 0x44, 0xe0, 0x7c, 0x9e, 0xb3, 0xcf, 0xeb, 0x96, 0x9f, + 0x75, 0x9a, 0x42, 0xd6, 0x96, 0xe0, 0xad, 0x71, 0xdb, 0x76, 0x59, 0x5c, + 0x2b, 0x71, 0xb4, 0x67, 0x35, 0x73, 0xe7, 0x8b, 0x9a, 0xfb, 0x7d, 0xf4, + 0x34, 0x64, 0xb9, 0x46, 0x3d, 0x92, 0xeb, 0xe8, 0x1c, 0x01, 0x12, 0x9a, + 0x8e, 0x3f, 0x15, 0x2f, +}; +static const struct drbg_kat_pr_true kat3868_t = { + 12, kat3868_entropyin, kat3868_nonce, kat3868_persstr, + kat3868_entropyinpr1, kat3868_addinpr1, kat3868_entropyinpr2, + kat3868_addinpr2, kat3868_retbits +}; +static const struct drbg_kat kat3868 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3868_t +}; + +static const unsigned char kat3869_entropyin[] = { + 0x88, 0x72, 0xd7, 0xf3, 0xfe, 0x19, 0x12, 0x3f, 0x0b, 0x70, 0xfe, 0x8b, + 0xa5, 0x77, 0xd6, 0x5c, 0x6c, 0xfe, 0xff, 0x98, 0xce, 0x85, 0xda, 0xd6, + 0x90, 0x95, 0x02, 0xf8, 0x4a, 0x3a, 0xf2, 0x1f, 0x66, 0xc3, 0x46, 0x46, + 0x44, 0x9d, 0x5a, 0x85, +}; +static const unsigned char kat3869_nonce[] = {0}; +static const unsigned char kat3869_persstr[] = {0}; +static const unsigned char kat3869_entropyinpr1[] = { + 0x82, 0xb5, 0x55, 0x84, 0x98, 0x57, 0xb0, 0xf3, 0x30, 0xfe, 0xc7, 0x5d, + 0x42, 0x8b, 0xb6, 0xff, 0xad, 0xad, 0x97, 0xaf, 0x65, 0x64, 0x5f, 0x54, + 0x80, 0xa7, 0xa2, 0x20, 0x46, 0x37, 0xa2, 0xe1, 0xf3, 0xe0, 0x7a, 0x4c, + 0x31, 0xad, 0xcb, 0x2b, +}; +static const unsigned char kat3869_addinpr1[] = { + 0x8e, 0x9d, 0xfc, 0xc2, 0x0e, 0xd2, 0x94, 0xc1, 0x31, 0x0c, 0xc0, 0xe5, + 0x2b, 0x09, 0xae, 0xa7, 0x58, 0xe7, 0x4e, 0xe9, 0xb6, 0xf4, 0x9e, 0xe0, + 0x8d, 0x02, 0x24, 0x44, 0xf3, 0x87, 0x5c, 0xa7, 0x68, 0xe8, 0xbc, 0x81, + 0x2a, 0x2e, 0xce, 0x28, +}; +static const unsigned char kat3869_entropyinpr2[] = { + 0x27, 0xba, 0x2d, 0x56, 0xfe, 0x7a, 0x37, 0xf9, 0x49, 0xfb, 0xfa, 0xbf, + 0x56, 0x1d, 0x29, 0x2c, 0xb9, 0x9e, 0xbd, 0x3a, 0xdd, 0x8e, 0x64, 0x66, + 0x85, 0xc4, 0xf8, 0x26, 0xbf, 0x22, 0x71, 0xad, 0x7e, 0xab, 0x77, 0xc0, + 0x4d, 0xa4, 0xc8, 0x58, +}; +static const unsigned char kat3869_addinpr2[] = { + 0x84, 0x00, 0x30, 0x0b, 0xdd, 0xf1, 0x7c, 0xec, 0x75, 0x39, 0x48, 0x7c, + 0xa7, 0x30, 0xbf, 0x86, 0xf8, 0x5b, 0xd7, 0xca, 0x29, 0x4e, 0x63, 0xe0, + 0xfe, 0x2a, 0x83, 0x1f, 0xc0, 0xc5, 0x2b, 0xda, 0x8a, 0xf4, 0x75, 0xa7, + 0x4e, 0x51, 0xc7, 0xbf, +}; +static const unsigned char kat3869_retbits[] = { + 0xb6, 0x53, 0xc6, 0x1b, 0x47, 0x00, 0xf1, 0xb8, 0x42, 0xf1, 0x41, 0x0d, + 0x76, 0x7d, 0x4d, 0x4d, 0x7d, 0x10, 0xbf, 0x22, 0x65, 0xfc, 0x1d, 0x45, + 0xed, 0xef, 0x97, 0x00, 0x73, 0x5e, 0xf7, 0x3d, 0x89, 0x8a, 0xac, 0x7f, + 0x76, 0x68, 0x6f, 0x12, 0xf6, 0x1f, 0xc7, 0x0d, 0x20, 0xa4, 0x84, 0xaa, + 0xeb, 0x6a, 0x56, 0x4b, 0x6b, 0xb2, 0x43, 0x02, 0x3c, 0xcf, 0xe0, 0x80, + 0x0c, 0xc7, 0x13, 0x73, +}; +static const struct drbg_kat_pr_true kat3869_t = { + 13, kat3869_entropyin, kat3869_nonce, kat3869_persstr, + kat3869_entropyinpr1, kat3869_addinpr1, kat3869_entropyinpr2, + kat3869_addinpr2, kat3869_retbits +}; +static const struct drbg_kat kat3869 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3869_t +}; + +static const unsigned char kat3870_entropyin[] = { + 0x4b, 0x37, 0x8d, 0x27, 0xfa, 0xec, 0x66, 0x8a, 0xa8, 0xf4, 0xcb, 0x60, + 0xb8, 0x9f, 0x9a, 0x28, 0x17, 0xee, 0xfd, 0xf5, 0x9e, 0xc6, 0xd1, 0x70, + 0x6b, 0x6d, 0xd8, 0xed, 0x96, 0x1d, 0x5f, 0x17, 0x88, 0xf9, 0x8a, 0x58, + 0x29, 0x8e, 0x21, 0x87, +}; +static const unsigned char kat3870_nonce[] = {0}; +static const unsigned char kat3870_persstr[] = {0}; +static const unsigned char kat3870_entropyinpr1[] = { + 0xa2, 0xb3, 0x4b, 0xaf, 0x5a, 0x6b, 0xc8, 0xee, 0x7e, 0x50, 0xb3, 0x26, + 0x98, 0xac, 0x6b, 0xc3, 0x01, 0x32, 0xac, 0x81, 0x24, 0x28, 0x1c, 0x81, + 0x03, 0x2d, 0x05, 0x07, 0x3a, 0x27, 0x90, 0xab, 0x01, 0xc7, 0x44, 0x8e, + 0x52, 0xfe, 0x1f, 0xf7, +}; +static const unsigned char kat3870_addinpr1[] = { + 0x68, 0x95, 0x3c, 0x65, 0xfa, 0xc6, 0xf0, 0xbc, 0x5d, 0xf7, 0x8b, 0xdf, + 0x6b, 0xd2, 0xcc, 0xcd, 0x8c, 0x67, 0x54, 0x12, 0x2d, 0x1a, 0xa2, 0xdd, + 0x0b, 0x4e, 0xa7, 0xe2, 0x5c, 0x2f, 0x3a, 0x12, 0xe3, 0xd5, 0x27, 0xa2, + 0x88, 0x08, 0xbe, 0x12, +}; +static const unsigned char kat3870_entropyinpr2[] = { + 0x1c, 0x59, 0x55, 0x07, 0x10, 0xb2, 0xef, 0xa9, 0xf0, 0x09, 0xe4, 0x4c, + 0x0a, 0xa7, 0x24, 0xad, 0x34, 0x51, 0xda, 0x29, 0x32, 0x3f, 0x60, 0xd6, + 0x8d, 0x02, 0x56, 0x93, 0x51, 0x0f, 0xc0, 0x16, 0x70, 0xc2, 0x82, 0xb3, + 0x8b, 0xff, 0x32, 0x49, +}; +static const unsigned char kat3870_addinpr2[] = { + 0xcc, 0x7d, 0xf4, 0x2c, 0x7f, 0x93, 0xa6, 0x3b, 0x8a, 0x83, 0x89, 0xc6, + 0x6a, 0x33, 0x65, 0x19, 0xcf, 0x27, 0xcc, 0x6e, 0x61, 0xa0, 0x6a, 0x67, + 0xc3, 0x30, 0x77, 0xc9, 0x54, 0x98, 0xb8, 0xfb, 0x4e, 0x7a, 0xd0, 0xe2, + 0x34, 0xae, 0x9e, 0x5f, +}; +static const unsigned char kat3870_retbits[] = { + 0xde, 0x2a, 0xbc, 0xed, 0x63, 0xa1, 0x1a, 0x9c, 0x7c, 0x03, 0x4f, 0xae, + 0x31, 0xd8, 0xfd, 0x57, 0x23, 0x9a, 0x76, 0xa8, 0xd8, 0x38, 0x2d, 0x9a, + 0x50, 0x7e, 0x52, 0x30, 0xc1, 0xb0, 0xc5, 0xbf, 0x06, 0x3a, 0x99, 0xf0, + 0x0c, 0xd4, 0x42, 0x8d, 0xb1, 0x96, 0x59, 0x74, 0x27, 0x90, 0x0f, 0x56, + 0xac, 0x2f, 0xf8, 0xd5, 0x56, 0xd3, 0xaf, 0x3d, 0x11, 0x9a, 0x59, 0x0b, + 0x59, 0x4c, 0x2e, 0x90, +}; +static const struct drbg_kat_pr_true kat3870_t = { + 14, kat3870_entropyin, kat3870_nonce, kat3870_persstr, + kat3870_entropyinpr1, kat3870_addinpr1, kat3870_entropyinpr2, + kat3870_addinpr2, kat3870_retbits +}; +static const struct drbg_kat kat3870 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3870_t +}; + +static const unsigned char kat3871_entropyin[] = { + 0x6e, 0x7c, 0x6d, 0x32, 0x24, 0xb5, 0x74, 0xf9, 0xd1, 0x97, 0x03, 0x7a, + 0x77, 0x70, 0xdb, 0x1f, 0x00, 0x5d, 0xfc, 0x82, 0xd6, 0xfd, 0x19, 0x39, + 0x9d, 0x73, 0x61, 0x4b, 0xb3, 0x98, 0xfa, 0x0e, 0x25, 0x98, 0x48, 0xde, + 0xd3, 0x1f, 0x19, 0xe4, +}; +static const unsigned char kat3871_nonce[] = {0}; +static const unsigned char kat3871_persstr[] = { + 0xd0, 0xa6, 0x7c, 0x39, 0xd4, 0xee, 0x83, 0x20, 0x8d, 0x40, 0xde, 0xbe, + 0xbf, 0x38, 0x33, 0x2b, 0x0c, 0x09, 0xb6, 0x68, 0x3a, 0x50, 0x70, 0xdf, + 0xd9, 0x1b, 0xdf, 0xb0, 0xaa, 0x7c, 0x60, 0xaf, 0x4d, 0xc3, 0x6b, 0x18, + 0x92, 0x61, 0x89, 0xc6, +}; +static const unsigned char kat3871_entropyinpr1[] = { + 0xb4, 0x81, 0xb8, 0x4b, 0x2a, 0xb1, 0xc5, 0x42, 0xe5, 0x82, 0x8b, 0x3d, + 0xb7, 0x06, 0x77, 0x29, 0x51, 0x6b, 0xb2, 0xea, 0xf6, 0xf9, 0x3f, 0x65, + 0x53, 0x81, 0x02, 0x93, 0x5c, 0xd4, 0xfd, 0x2d, 0x36, 0x75, 0xba, 0xb0, + 0x09, 0x80, 0xa2, 0x17, +}; +static const unsigned char kat3871_addinpr1[] = {0}; +static const unsigned char kat3871_entropyinpr2[] = { + 0x9a, 0xd8, 0xc9, 0x71, 0x0f, 0xbe, 0xcb, 0x0c, 0xa9, 0x1f, 0x0c, 0x1f, + 0x07, 0xcb, 0xea, 0x29, 0xef, 0xa6, 0x75, 0x3a, 0x2f, 0x39, 0xb5, 0x7c, + 0x9d, 0x10, 0xdc, 0x13, 0xeb, 0x2d, 0x8c, 0x39, 0x84, 0x67, 0x12, 0x16, + 0x7b, 0x13, 0xc4, 0x2e, +}; +static const unsigned char kat3871_addinpr2[] = {0}; +static const unsigned char kat3871_retbits[] = { + 0xce, 0x78, 0x8c, 0xcd, 0x16, 0xc5, 0xc2, 0x1f, 0x91, 0xd2, 0x65, 0x56, + 0xb7, 0xfc, 0xb0, 0xaa, 0x64, 0x4a, 0x0d, 0x26, 0x92, 0xab, 0x3c, 0xd9, + 0xe8, 0xa5, 0x08, 0x60, 0xd4, 0x02, 0xe6, 0xb9, 0xb8, 0xc8, 0x24, 0xfe, + 0x38, 0xc4, 0xc1, 0x50, 0xa2, 0xce, 0x97, 0xb9, 0x39, 0xb6, 0xb6, 0x33, + 0xcd, 0x48, 0x99, 0x1e, 0x15, 0x2b, 0x81, 0x34, 0x46, 0x2e, 0xa3, 0xf0, + 0x39, 0xb1, 0x1c, 0x0b, +}; +static const struct drbg_kat_pr_true kat3871_t = { + 0, kat3871_entropyin, kat3871_nonce, kat3871_persstr, + kat3871_entropyinpr1, kat3871_addinpr1, kat3871_entropyinpr2, + kat3871_addinpr2, kat3871_retbits +}; +static const struct drbg_kat kat3871 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3871_t +}; + +static const unsigned char kat3872_entropyin[] = { + 0xec, 0x45, 0xf5, 0x5e, 0x70, 0x22, 0x07, 0xf1, 0x05, 0x29, 0x1f, 0xdc, + 0x47, 0xea, 0x87, 0x04, 0x79, 0xbb, 0xfd, 0x2b, 0x2c, 0xb0, 0x7b, 0xdc, + 0x3d, 0xb0, 0xd3, 0xda, 0x8e, 0x05, 0xf4, 0x3b, 0x2e, 0x90, 0xd9, 0x4d, + 0xf1, 0xcc, 0xfb, 0x63, +}; +static const unsigned char kat3872_nonce[] = {0}; +static const unsigned char kat3872_persstr[] = { + 0x75, 0x4f, 0x41, 0x0b, 0xfd, 0x54, 0x9c, 0x0a, 0x13, 0xf4, 0x44, 0x8a, + 0x1d, 0xa1, 0xd6, 0x43, 0x5b, 0x25, 0x70, 0xf8, 0xe1, 0x02, 0x8c, 0x36, + 0x0a, 0xe6, 0x0d, 0x46, 0xfe, 0xc2, 0x70, 0xf4, 0x99, 0x63, 0xe5, 0xba, + 0xef, 0x94, 0x45, 0x43, +}; +static const unsigned char kat3872_entropyinpr1[] = { + 0x1c, 0x5e, 0xee, 0xf3, 0x6a, 0xc2, 0x35, 0xe5, 0x9d, 0x98, 0x7a, 0xc2, + 0x4c, 0x65, 0xb2, 0xe5, 0x3f, 0x7c, 0x60, 0x57, 0x6a, 0x19, 0xd1, 0x57, + 0x49, 0xf5, 0xf7, 0xc2, 0xf8, 0xaa, 0xb7, 0x7f, 0x65, 0x8e, 0x7a, 0x63, + 0xe8, 0x64, 0xc6, 0x5f, +}; +static const unsigned char kat3872_addinpr1[] = {0}; +static const unsigned char kat3872_entropyinpr2[] = { + 0x2b, 0x41, 0x4f, 0x09, 0xc5, 0xb2, 0x5b, 0xf7, 0xd0, 0x6d, 0x34, 0x4c, + 0xf9, 0xf6, 0x58, 0x09, 0x97, 0xa6, 0xdf, 0xee, 0xad, 0xc4, 0x07, 0x44, + 0xfe, 0x2d, 0x62, 0x35, 0x76, 0x98, 0x18, 0x1f, 0xbb, 0xc7, 0x86, 0xf5, + 0xb9, 0xaf, 0xa4, 0x5c, +}; +static const unsigned char kat3872_addinpr2[] = {0}; +static const unsigned char kat3872_retbits[] = { + 0x14, 0x8d, 0x71, 0xc5, 0x9c, 0xeb, 0x1c, 0x34, 0xc3, 0xbd, 0xe3, 0x15, + 0xaf, 0xf4, 0x00, 0x3c, 0xf3, 0x6a, 0xf9, 0x9c, 0xfb, 0x5e, 0xe4, 0xc4, + 0xa9, 0x20, 0x47, 0x94, 0x2c, 0x77, 0xbe, 0x17, 0xda, 0x9c, 0x75, 0xf9, + 0x6d, 0x1d, 0xdd, 0x12, 0xc4, 0x01, 0x10, 0x22, 0x61, 0xa5, 0x22, 0x69, + 0x90, 0xf9, 0x7f, 0x65, 0x78, 0xdc, 0x80, 0xa1, 0x84, 0xab, 0x51, 0x41, + 0xf7, 0x81, 0xc2, 0x27, +}; +static const struct drbg_kat_pr_true kat3872_t = { + 1, kat3872_entropyin, kat3872_nonce, kat3872_persstr, + kat3872_entropyinpr1, kat3872_addinpr1, kat3872_entropyinpr2, + kat3872_addinpr2, kat3872_retbits +}; +static const struct drbg_kat kat3872 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3872_t +}; + +static const unsigned char kat3873_entropyin[] = { + 0x53, 0x14, 0xd8, 0xf7, 0x3c, 0xee, 0xf9, 0x94, 0x7c, 0xad, 0xab, 0xe5, + 0x22, 0x37, 0xdd, 0x7d, 0xfa, 0x88, 0x83, 0xc3, 0x8d, 0x27, 0x97, 0x8c, + 0x41, 0x28, 0x46, 0x9b, 0x1e, 0x4f, 0x09, 0x9c, 0xc6, 0x59, 0xd3, 0xd4, + 0x72, 0x62, 0x1c, 0x6c, +}; +static const unsigned char kat3873_nonce[] = {0}; +static const unsigned char kat3873_persstr[] = { + 0x04, 0xe8, 0x0f, 0x51, 0xb8, 0x0c, 0xba, 0xf9, 0xe2, 0xfb, 0xc7, 0x31, + 0xd0, 0xad, 0xa4, 0x61, 0x03, 0x84, 0x93, 0xbf, 0x3b, 0x34, 0x53, 0x48, + 0x74, 0x8c, 0x65, 0x2c, 0x52, 0xe2, 0x97, 0xb7, 0xa1, 0xca, 0xdc, 0xf2, + 0x91, 0x97, 0x53, 0x97, +}; +static const unsigned char kat3873_entropyinpr1[] = { + 0x09, 0xb2, 0xdb, 0x29, 0xa7, 0xb0, 0x8d, 0x8a, 0x15, 0xb2, 0x90, 0x45, + 0xca, 0x8a, 0x15, 0xf5, 0xf9, 0x95, 0xf7, 0xc0, 0xa0, 0x8e, 0x36, 0xe1, + 0xb3, 0x29, 0xe2, 0xa3, 0x32, 0x20, 0xb9, 0x5b, 0x48, 0xec, 0x51, 0xe1, + 0xaf, 0xa9, 0x1a, 0x49, +}; +static const unsigned char kat3873_addinpr1[] = {0}; +static const unsigned char kat3873_entropyinpr2[] = { + 0x27, 0x60, 0x61, 0x21, 0xde, 0xae, 0xa6, 0xb2, 0x33, 0xbd, 0xa0, 0x78, + 0x13, 0xe2, 0x61, 0xb5, 0x63, 0x7d, 0x77, 0xe8, 0xc7, 0xb2, 0x44, 0x26, + 0x87, 0x2f, 0xf3, 0xe7, 0x5f, 0x15, 0xbf, 0x44, 0x78, 0xfb, 0x2a, 0xa9, + 0xef, 0x81, 0x26, 0x78, +}; +static const unsigned char kat3873_addinpr2[] = {0}; +static const unsigned char kat3873_retbits[] = { + 0x22, 0xb9, 0xe0, 0x5b, 0x88, 0xf9, 0x86, 0xc1, 0x11, 0xb6, 0xb5, 0x00, + 0x25, 0xc5, 0x6a, 0xd2, 0xa2, 0xd7, 0x81, 0x8d, 0xc6, 0x34, 0xc7, 0xfd, + 0xfe, 0xf7, 0xad, 0xfb, 0x59, 0x08, 0x47, 0x37, 0xe4, 0x12, 0x42, 0x0c, + 0x40, 0x71, 0xd1, 0x9a, 0x44, 0x30, 0x29, 0x0f, 0x10, 0x6a, 0x9d, 0x91, + 0x2f, 0xf3, 0x1c, 0x4b, 0xca, 0x29, 0xa8, 0x24, 0xba, 0x08, 0x5b, 0xa1, + 0x0f, 0x87, 0xb4, 0xb0, +}; +static const struct drbg_kat_pr_true kat3873_t = { + 2, kat3873_entropyin, kat3873_nonce, kat3873_persstr, + kat3873_entropyinpr1, kat3873_addinpr1, kat3873_entropyinpr2, + kat3873_addinpr2, kat3873_retbits +}; +static const struct drbg_kat kat3873 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3873_t +}; + +static const unsigned char kat3874_entropyin[] = { + 0x1a, 0xeb, 0xf4, 0x41, 0xdb, 0x2b, 0x96, 0x52, 0xae, 0xba, 0x7b, 0x9e, + 0xc9, 0x5c, 0x20, 0xa3, 0x4c, 0x79, 0xc1, 0xb9, 0x65, 0x14, 0xcb, 0x32, + 0x1b, 0xc2, 0x0e, 0x38, 0x4d, 0x3c, 0xcd, 0xfd, 0x6a, 0x2c, 0x7a, 0xc8, + 0x0c, 0x1a, 0x49, 0xcd, +}; +static const unsigned char kat3874_nonce[] = {0}; +static const unsigned char kat3874_persstr[] = { + 0x1f, 0xff, 0x67, 0x6d, 0x71, 0x14, 0x03, 0xba, 0x8d, 0xb1, 0x07, 0xc6, + 0x21, 0x4f, 0xb9, 0x71, 0xe3, 0x1c, 0xf5, 0xd3, 0x90, 0x5b, 0x34, 0x3d, + 0x78, 0xfb, 0x4c, 0x78, 0xfa, 0xe7, 0xb6, 0xf6, 0x54, 0xcf, 0xb0, 0x6b, + 0xeb, 0x65, 0x04, 0xe9, +}; +static const unsigned char kat3874_entropyinpr1[] = { + 0xf2, 0xc3, 0x33, 0xf9, 0xdb, 0xb4, 0x85, 0x02, 0xe8, 0xee, 0x30, 0x24, + 0x99, 0x53, 0xeb, 0x24, 0x93, 0x4b, 0x4a, 0xdc, 0x63, 0xf2, 0x77, 0x5f, + 0x65, 0x72, 0x0a, 0xff, 0x14, 0xe9, 0x70, 0x10, 0x44, 0xda, 0x24, 0x9f, + 0x86, 0x6e, 0x97, 0xd2, +}; +static const unsigned char kat3874_addinpr1[] = {0}; +static const unsigned char kat3874_entropyinpr2[] = { + 0x21, 0x5c, 0x33, 0x56, 0xed, 0x6d, 0x71, 0x38, 0x37, 0x3d, 0xd8, 0x2b, + 0xe4, 0xd9, 0x8f, 0x06, 0x95, 0x79, 0x7c, 0xe8, 0xeb, 0x2e, 0x48, 0xd3, + 0x91, 0xa3, 0x6a, 0x5e, 0x02, 0x08, 0xb5, 0x2a, 0xf2, 0x65, 0xb1, 0xe1, + 0xdf, 0xf8, 0x15, 0x7d, +}; +static const unsigned char kat3874_addinpr2[] = {0}; +static const unsigned char kat3874_retbits[] = { + 0xd7, 0xf9, 0x7a, 0x92, 0xd3, 0x9a, 0x4b, 0x36, 0x9a, 0xaa, 0x38, 0x2b, + 0x47, 0x25, 0x4f, 0x4d, 0xa6, 0x1a, 0x44, 0x84, 0x82, 0xf4, 0xe6, 0x0b, + 0x16, 0x44, 0x26, 0x14, 0x60, 0x7d, 0x7f, 0x82, 0x48, 0xe4, 0xda, 0xfe, + 0x0d, 0xd6, 0xa5, 0x20, 0x57, 0xc9, 0x1f, 0xfa, 0x3b, 0xae, 0x5a, 0x4a, + 0xa1, 0x68, 0xc0, 0x73, 0xe0, 0x9f, 0x9f, 0x72, 0x1c, 0xce, 0xa2, 0xe9, + 0xd9, 0x9a, 0x62, 0x71, +}; +static const struct drbg_kat_pr_true kat3874_t = { + 3, kat3874_entropyin, kat3874_nonce, kat3874_persstr, + kat3874_entropyinpr1, kat3874_addinpr1, kat3874_entropyinpr2, + kat3874_addinpr2, kat3874_retbits +}; +static const struct drbg_kat kat3874 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3874_t +}; + +static const unsigned char kat3875_entropyin[] = { + 0x1d, 0xb6, 0x5d, 0xd2, 0x3b, 0x16, 0xb5, 0xd1, 0xc8, 0xc9, 0x03, 0xf4, + 0xb4, 0x61, 0x4d, 0xff, 0xbd, 0xa9, 0x36, 0x20, 0xf0, 0x59, 0x85, 0x90, + 0xb8, 0xdf, 0x39, 0x9d, 0xc5, 0x54, 0x20, 0xd4, 0x66, 0x3a, 0xf3, 0xe3, + 0x2b, 0x4b, 0x15, 0xc8, +}; +static const unsigned char kat3875_nonce[] = {0}; +static const unsigned char kat3875_persstr[] = { + 0x90, 0xa4, 0xd2, 0xe1, 0xe3, 0x1b, 0xec, 0xc5, 0x85, 0x27, 0xa4, 0xa5, + 0xfc, 0x71, 0x78, 0x27, 0x3e, 0xa4, 0x91, 0x0c, 0x05, 0x6a, 0x92, 0x6c, + 0x2b, 0xf3, 0xd1, 0xde, 0xcd, 0xb8, 0x23, 0xc8, 0xe7, 0x2b, 0xff, 0x06, + 0xb0, 0xd2, 0xa9, 0x61, +}; +static const unsigned char kat3875_entropyinpr1[] = { + 0x2b, 0xa0, 0xc3, 0xfc, 0xfc, 0xfc, 0x39, 0xde, 0x20, 0x1b, 0x0b, 0x67, + 0x30, 0x46, 0x0e, 0xe7, 0xac, 0x3d, 0x17, 0x9f, 0xbd, 0xfa, 0x81, 0xc1, + 0x63, 0x48, 0x05, 0x49, 0x5e, 0x93, 0x09, 0x73, 0x92, 0xf0, 0x23, 0x2a, + 0xd9, 0x52, 0x21, 0xd5, +}; +static const unsigned char kat3875_addinpr1[] = {0}; +static const unsigned char kat3875_entropyinpr2[] = { + 0xba, 0x81, 0xba, 0xfb, 0x30, 0x82, 0x64, 0x99, 0x94, 0x80, 0xac, 0x93, + 0x70, 0x6c, 0x5e, 0x12, 0x12, 0xe3, 0xf4, 0xd9, 0x1b, 0x94, 0x38, 0xd7, + 0xf7, 0xf6, 0xa2, 0x06, 0x8e, 0xc9, 0x3d, 0xe8, 0xc7, 0xee, 0x64, 0xaa, + 0xd5, 0xdc, 0x77, 0xef, +}; +static const unsigned char kat3875_addinpr2[] = {0}; +static const unsigned char kat3875_retbits[] = { + 0x98, 0x29, 0x7f, 0xa5, 0x66, 0xa8, 0xe6, 0xc2, 0x53, 0x20, 0x5d, 0x05, + 0x9c, 0xf9, 0xff, 0x30, 0x75, 0xb2, 0xda, 0x13, 0xcd, 0xcc, 0xfc, 0x43, + 0x9a, 0xcb, 0x2b, 0x93, 0xe0, 0x66, 0xc9, 0x2e, 0xec, 0xa5, 0x93, 0xe5, + 0x3d, 0x42, 0xa2, 0x3b, 0x5f, 0x99, 0x5c, 0x17, 0xaf, 0x02, 0x8d, 0x2e, + 0xb8, 0x17, 0x73, 0x32, 0x92, 0x7f, 0x7f, 0x87, 0xd0, 0xb5, 0x3f, 0xa1, + 0xd9, 0xf5, 0x6c, 0x1d, +}; +static const struct drbg_kat_pr_true kat3875_t = { + 4, kat3875_entropyin, kat3875_nonce, kat3875_persstr, + kat3875_entropyinpr1, kat3875_addinpr1, kat3875_entropyinpr2, + kat3875_addinpr2, kat3875_retbits +}; +static const struct drbg_kat kat3875 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3875_t +}; + +static const unsigned char kat3876_entropyin[] = { + 0x1b, 0xb7, 0x1d, 0x6f, 0x27, 0xae, 0x69, 0x35, 0x96, 0x3b, 0xf8, 0xc8, + 0xb9, 0x32, 0x49, 0x69, 0x2c, 0x78, 0xa3, 0x75, 0xbd, 0xe4, 0xd1, 0x80, + 0xaf, 0xfa, 0x12, 0xaf, 0x38, 0xf6, 0x59, 0x3d, 0x63, 0x92, 0xce, 0xae, + 0x54, 0xcd, 0xdb, 0x38, +}; +static const unsigned char kat3876_nonce[] = {0}; +static const unsigned char kat3876_persstr[] = { + 0x6e, 0xd1, 0x1f, 0xa3, 0x97, 0x94, 0x8b, 0xb5, 0x37, 0x42, 0xbf, 0xa9, + 0x59, 0x46, 0x32, 0xac, 0xe6, 0x52, 0xe9, 0x91, 0x53, 0x21, 0x99, 0x15, + 0xdd, 0x64, 0xf7, 0x71, 0xc5, 0xcb, 0x22, 0x53, 0x2c, 0xcc, 0x30, 0x0d, + 0xec, 0xe0, 0x67, 0x01, +}; +static const unsigned char kat3876_entropyinpr1[] = { + 0x21, 0xa9, 0x5e, 0x6e, 0x61, 0x32, 0x0d, 0xf0, 0x98, 0x3f, 0x54, 0xaa, + 0x0d, 0x35, 0x8e, 0x3e, 0xce, 0x9a, 0x87, 0x45, 0x6d, 0xb0, 0xef, 0xa7, + 0x12, 0x26, 0x2a, 0x58, 0x17, 0xfb, 0x60, 0x36, 0x5e, 0xa1, 0xb9, 0xe2, + 0x25, 0xf2, 0xb0, 0x23, +}; +static const unsigned char kat3876_addinpr1[] = {0}; +static const unsigned char kat3876_entropyinpr2[] = { + 0xd6, 0xce, 0xaf, 0xc4, 0x7c, 0x35, 0xaa, 0xfa, 0x5a, 0xdf, 0xa2, 0x3e, + 0xbd, 0xd6, 0x5c, 0xa4, 0x16, 0xa3, 0x9f, 0x18, 0x93, 0x48, 0xaf, 0x89, + 0xa7, 0x26, 0xda, 0x81, 0x4a, 0x98, 0xad, 0xe5, 0x99, 0x5e, 0xe9, 0x73, + 0xdc, 0x3e, 0x8f, 0x12, +}; +static const unsigned char kat3876_addinpr2[] = {0}; +static const unsigned char kat3876_retbits[] = { + 0x83, 0xb0, 0xae, 0xa2, 0x97, 0x99, 0x36, 0x19, 0x57, 0x7c, 0x13, 0x99, + 0x88, 0x3f, 0x53, 0x45, 0x3b, 0xc5, 0x06, 0x06, 0x02, 0x22, 0x9d, 0xa1, + 0x9d, 0xd9, 0x02, 0xee, 0x81, 0x9c, 0x70, 0x8a, 0x28, 0xe5, 0xcc, 0xdb, + 0x5c, 0xf3, 0x99, 0x68, 0x94, 0xd4, 0x4d, 0x89, 0x1f, 0xd5, 0xb4, 0xd8, + 0x75, 0x75, 0x51, 0x55, 0x7b, 0x9d, 0xa5, 0x68, 0xe3, 0xe2, 0xe7, 0x18, + 0x1e, 0xec, 0xad, 0x4f, +}; +static const struct drbg_kat_pr_true kat3876_t = { + 5, kat3876_entropyin, kat3876_nonce, kat3876_persstr, + kat3876_entropyinpr1, kat3876_addinpr1, kat3876_entropyinpr2, + kat3876_addinpr2, kat3876_retbits +}; +static const struct drbg_kat kat3876 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3876_t +}; + +static const unsigned char kat3877_entropyin[] = { + 0x0a, 0x2a, 0x75, 0xe6, 0xc6, 0xee, 0x52, 0x33, 0x85, 0x26, 0x37, 0xcb, + 0x78, 0xd1, 0xa3, 0x96, 0xa0, 0xe8, 0xc3, 0x3e, 0x37, 0x29, 0x22, 0x07, + 0x78, 0x47, 0xcc, 0x8a, 0xfd, 0xeb, 0x3f, 0x4a, 0xfd, 0x0a, 0x3a, 0x04, + 0xeb, 0x62, 0x77, 0xe6, +}; +static const unsigned char kat3877_nonce[] = {0}; +static const unsigned char kat3877_persstr[] = { + 0x31, 0xb9, 0xb1, 0x39, 0x0a, 0x2d, 0x3f, 0xa8, 0x25, 0x82, 0x66, 0xf5, + 0xd4, 0x55, 0xdf, 0x63, 0x0c, 0xde, 0x85, 0x66, 0x05, 0x95, 0xd2, 0x8b, + 0x04, 0x7a, 0x40, 0x97, 0xb6, 0x48, 0x34, 0xdb, 0x32, 0xb8, 0xbb, 0xb8, + 0x9f, 0x4a, 0x34, 0x7f, +}; +static const unsigned char kat3877_entropyinpr1[] = { + 0xc9, 0xe2, 0x91, 0xe8, 0xc2, 0x42, 0xba, 0x53, 0x82, 0x4c, 0x43, 0x09, + 0x4f, 0xa9, 0xcb, 0x39, 0x02, 0xe1, 0x61, 0x97, 0x3d, 0x1b, 0xe8, 0x9c, + 0xd3, 0x89, 0xce, 0x6c, 0x58, 0x4d, 0xd7, 0x8f, 0x8c, 0x1a, 0xed, 0x65, + 0x09, 0xfb, 0xf0, 0xd8, +}; +static const unsigned char kat3877_addinpr1[] = {0}; +static const unsigned char kat3877_entropyinpr2[] = { + 0x66, 0xe3, 0x39, 0x6f, 0x88, 0xa6, 0x31, 0x1d, 0x82, 0x73, 0xe6, 0x8e, + 0x59, 0x04, 0x45, 0x27, 0xd5, 0x95, 0xf0, 0xf7, 0x5e, 0x0f, 0x5b, 0xd1, + 0x33, 0xf5, 0x69, 0x2c, 0xb7, 0xde, 0xa5, 0xd4, 0x23, 0xf1, 0x75, 0xb4, + 0x19, 0xdb, 0xf8, 0xb6, +}; +static const unsigned char kat3877_addinpr2[] = {0}; +static const unsigned char kat3877_retbits[] = { + 0x20, 0x6e, 0x3d, 0x19, 0x79, 0x85, 0xc4, 0xec, 0x92, 0x30, 0xee, 0xf3, + 0x7b, 0x91, 0x31, 0x0b, 0x44, 0x65, 0xb6, 0xbb, 0x8b, 0x26, 0x29, 0xa7, + 0x7a, 0xd6, 0x4f, 0xd8, 0x42, 0x4e, 0x39, 0xf0, 0x0a, 0xa5, 0x9f, 0x93, + 0x46, 0xae, 0xc2, 0xe7, 0x49, 0xa0, 0x45, 0x3e, 0xbb, 0xfc, 0xbc, 0x96, + 0xfa, 0xf4, 0xc7, 0xe3, 0xec, 0x05, 0x65, 0x8b, 0x0d, 0xed, 0xa2, 0xa6, + 0x8c, 0x35, 0x1a, 0x72, +}; +static const struct drbg_kat_pr_true kat3877_t = { + 6, kat3877_entropyin, kat3877_nonce, kat3877_persstr, + kat3877_entropyinpr1, kat3877_addinpr1, kat3877_entropyinpr2, + kat3877_addinpr2, kat3877_retbits +}; +static const struct drbg_kat kat3877 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3877_t +}; + +static const unsigned char kat3878_entropyin[] = { + 0xcb, 0xc5, 0x07, 0x83, 0x33, 0x5c, 0x00, 0x3f, 0x63, 0x2c, 0xa7, 0xea, + 0x0e, 0x34, 0xd3, 0xb8, 0xc5, 0xdb, 0x18, 0xe6, 0xaf, 0xa2, 0x22, 0x82, + 0x21, 0xff, 0x68, 0x2e, 0xff, 0x8f, 0x82, 0x78, 0x9e, 0x2d, 0x51, 0xe5, + 0xed, 0x58, 0xd4, 0x3e, +}; +static const unsigned char kat3878_nonce[] = {0}; +static const unsigned char kat3878_persstr[] = { + 0xc5, 0x08, 0x83, 0x71, 0x9f, 0xf4, 0xce, 0xdd, 0xd0, 0x60, 0x46, 0x6e, + 0x3f, 0x91, 0xf7, 0xb1, 0x20, 0xef, 0x9e, 0xd3, 0x80, 0xd8, 0xe2, 0xec, + 0xfe, 0x46, 0x1d, 0x90, 0xb8, 0x7b, 0x6f, 0x1d, 0x93, 0xce, 0xde, 0xe1, + 0x9d, 0xe0, 0x49, 0x28, +}; +static const unsigned char kat3878_entropyinpr1[] = { + 0xc8, 0xfe, 0x13, 0xb4, 0x34, 0x9a, 0xd2, 0xa6, 0x64, 0x0e, 0x87, 0x60, + 0x5e, 0x68, 0x9a, 0x97, 0x64, 0x4a, 0x60, 0x7b, 0x63, 0x89, 0x88, 0x6f, + 0xa7, 0xd3, 0x2a, 0x14, 0x92, 0x83, 0xc3, 0xa3, 0x80, 0xfd, 0x91, 0x04, + 0xf8, 0x50, 0x11, 0xd4, +}; +static const unsigned char kat3878_addinpr1[] = {0}; +static const unsigned char kat3878_entropyinpr2[] = { + 0x8c, 0x78, 0x6c, 0xbe, 0xd9, 0x08, 0x87, 0x04, 0x96, 0xe6, 0xa7, 0x6f, + 0x90, 0xba, 0xe0, 0x88, 0x2e, 0x5a, 0x38, 0x0c, 0xc5, 0x1a, 0x70, 0x6a, + 0xd1, 0x4e, 0x11, 0x57, 0xdd, 0x3b, 0xa5, 0xcc, 0xcc, 0x75, 0x96, 0xaf, + 0xc8, 0xe0, 0x07, 0x63, +}; +static const unsigned char kat3878_addinpr2[] = {0}; +static const unsigned char kat3878_retbits[] = { + 0x7e, 0x40, 0x09, 0x1e, 0x68, 0xd0, 0xd6, 0x41, 0x76, 0xff, 0x8f, 0xfb, + 0x6b, 0x5c, 0xb1, 0x8f, 0x9e, 0xf4, 0xda, 0xb5, 0x8c, 0x81, 0x6c, 0x23, + 0x32, 0xb7, 0xf5, 0xc8, 0x3f, 0x0d, 0xf7, 0xb2, 0x46, 0x3b, 0x08, 0x86, + 0x14, 0x16, 0xfe, 0xb6, 0xc1, 0xaf, 0xdb, 0xec, 0xb0, 0x1f, 0xaa, 0x3f, + 0xc1, 0xc4, 0xef, 0x14, 0xbc, 0x10, 0xd8, 0xb1, 0x02, 0xc8, 0x3d, 0x73, + 0x49, 0x19, 0x1a, 0xad, +}; +static const struct drbg_kat_pr_true kat3878_t = { + 7, kat3878_entropyin, kat3878_nonce, kat3878_persstr, + kat3878_entropyinpr1, kat3878_addinpr1, kat3878_entropyinpr2, + kat3878_addinpr2, kat3878_retbits +}; +static const struct drbg_kat kat3878 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3878_t +}; + +static const unsigned char kat3879_entropyin[] = { + 0xd0, 0xe5, 0x0c, 0x9f, 0xeb, 0xc5, 0x48, 0x33, 0x8a, 0x20, 0x84, 0x45, + 0xc2, 0xb8, 0xcb, 0xd9, 0x81, 0x6c, 0x3e, 0x1c, 0xcb, 0xea, 0x07, 0x95, + 0x57, 0x9c, 0x51, 0x86, 0xa3, 0xa3, 0x47, 0xb5, 0xd0, 0x54, 0x1b, 0xa1, + 0xc1, 0x1f, 0x47, 0x0a, +}; +static const unsigned char kat3879_nonce[] = {0}; +static const unsigned char kat3879_persstr[] = { + 0x46, 0x30, 0x47, 0x43, 0x02, 0xe2, 0x40, 0x55, 0x85, 0x3e, 0xf5, 0xa0, + 0x34, 0xfe, 0xf0, 0xf7, 0xb5, 0xb1, 0xd9, 0x36, 0x14, 0x3e, 0xb0, 0x93, + 0x50, 0xf4, 0x8d, 0x1a, 0xff, 0x10, 0xd4, 0xe1, 0xb3, 0x2b, 0x45, 0x65, + 0x78, 0x5a, 0xac, 0x5c, +}; +static const unsigned char kat3879_entropyinpr1[] = { + 0x61, 0x0b, 0xd8, 0x82, 0x75, 0xf8, 0xf1, 0x14, 0x4c, 0xf8, 0xcf, 0xe0, + 0x84, 0xe0, 0x7f, 0xfc, 0xec, 0xfa, 0xaa, 0x19, 0x5d, 0xbe, 0x67, 0x7b, + 0x17, 0x9e, 0xba, 0x58, 0x08, 0x1a, 0x1b, 0xe2, 0xff, 0xae, 0x6a, 0x64, + 0x1c, 0xd2, 0xa0, 0x0d, +}; +static const unsigned char kat3879_addinpr1[] = {0}; +static const unsigned char kat3879_entropyinpr2[] = { + 0xf4, 0xba, 0x18, 0xba, 0xa1, 0x99, 0x0b, 0x7c, 0x81, 0x0a, 0x31, 0xf6, + 0xc9, 0x89, 0x0f, 0xc0, 0x8b, 0xdc, 0xc9, 0x70, 0x2c, 0x75, 0x81, 0x71, + 0xf2, 0x76, 0x7c, 0xa1, 0x9e, 0x3e, 0x0e, 0x9a, 0x12, 0xf6, 0xbd, 0x6c, + 0x70, 0xe5, 0xbb, 0x5f, +}; +static const unsigned char kat3879_addinpr2[] = {0}; +static const unsigned char kat3879_retbits[] = { + 0x17, 0x82, 0xeb, 0xde, 0xf5, 0x7a, 0x6e, 0x02, 0x3d, 0xdd, 0xf5, 0xcf, + 0x71, 0x5b, 0xc8, 0xd2, 0xac, 0xa5, 0x09, 0x93, 0x13, 0x46, 0x2f, 0xf8, + 0xd6, 0x69, 0xa7, 0x18, 0x2b, 0xff, 0x08, 0x14, 0xc9, 0x8a, 0x50, 0x84, + 0x58, 0x59, 0x74, 0x6c, 0xf3, 0xc4, 0xe2, 0x1f, 0x6f, 0xb7, 0x8d, 0x41, + 0x95, 0x89, 0x0d, 0x8a, 0x98, 0x09, 0x6d, 0x36, 0xf1, 0x11, 0x35, 0xb3, + 0xac, 0x71, 0xa7, 0x05, +}; +static const struct drbg_kat_pr_true kat3879_t = { + 8, kat3879_entropyin, kat3879_nonce, kat3879_persstr, + kat3879_entropyinpr1, kat3879_addinpr1, kat3879_entropyinpr2, + kat3879_addinpr2, kat3879_retbits +}; +static const struct drbg_kat kat3879 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3879_t +}; + +static const unsigned char kat3880_entropyin[] = { + 0x37, 0xe2, 0xdd, 0xc9, 0x89, 0xc8, 0x3a, 0x45, 0xfc, 0xc1, 0xef, 0x4b, + 0x67, 0x39, 0x83, 0xe2, 0x24, 0xfa, 0xe7, 0xd9, 0x1c, 0x05, 0xa7, 0x9e, + 0xfb, 0x6e, 0xd2, 0x80, 0x4c, 0x80, 0x0e, 0x7a, 0xf4, 0xa4, 0xcd, 0xaf, + 0xec, 0x09, 0xff, 0xd3, +}; +static const unsigned char kat3880_nonce[] = {0}; +static const unsigned char kat3880_persstr[] = { + 0x10, 0x0d, 0x4a, 0x11, 0xe5, 0xa5, 0x42, 0x99, 0xe3, 0x20, 0xcf, 0x18, + 0x23, 0x8f, 0x7c, 0xda, 0x9d, 0xde, 0xe4, 0x0c, 0x37, 0x69, 0x77, 0xef, + 0xe0, 0x1a, 0x63, 0xea, 0xdd, 0xf8, 0x15, 0x01, 0xed, 0x2d, 0x68, 0xbe, + 0xd0, 0x12, 0xa0, 0xdb, +}; +static const unsigned char kat3880_entropyinpr1[] = { + 0x6d, 0xdc, 0xf3, 0xd3, 0x21, 0xb5, 0x94, 0x81, 0x96, 0xd9, 0x2f, 0x79, + 0xc1, 0x74, 0xa9, 0x2a, 0xd2, 0xed, 0xae, 0x27, 0x99, 0xe9, 0xb2, 0x06, + 0x92, 0x57, 0x2c, 0x42, 0xc0, 0xda, 0x25, 0xba, 0x13, 0x1c, 0x5a, 0x18, + 0x0e, 0xc2, 0xec, 0x30, +}; +static const unsigned char kat3880_addinpr1[] = {0}; +static const unsigned char kat3880_entropyinpr2[] = { + 0x4d, 0x94, 0x53, 0x78, 0x41, 0x1b, 0xc5, 0xcf, 0xf5, 0xac, 0x79, 0x08, + 0x3d, 0xd9, 0x3b, 0x34, 0x0c, 0x29, 0x11, 0x9c, 0xa8, 0xe1, 0xc3, 0x3b, + 0x54, 0x3d, 0xce, 0x1a, 0xe0, 0xbe, 0x94, 0x07, 0xb0, 0x68, 0x7e, 0x04, + 0x2b, 0x4f, 0x78, 0x47, +}; +static const unsigned char kat3880_addinpr2[] = {0}; +static const unsigned char kat3880_retbits[] = { + 0x48, 0xff, 0x92, 0xfb, 0xb1, 0xf6, 0x0d, 0x45, 0x85, 0xec, 0x5e, 0x51, + 0x4e, 0xfd, 0xf9, 0x5d, 0x1e, 0x7a, 0x30, 0x50, 0x00, 0xb8, 0xd6, 0xa2, + 0x4c, 0x54, 0xc7, 0xf4, 0x7f, 0xc8, 0x90, 0x7d, 0xff, 0x0d, 0x0e, 0xe5, + 0x3d, 0x58, 0xc8, 0x6f, 0x40, 0xc2, 0x0a, 0xa4, 0xd3, 0x4d, 0xd8, 0x62, + 0xe3, 0x1d, 0xf2, 0x9f, 0xc7, 0x6c, 0x93, 0xdc, 0x30, 0x7d, 0x4a, 0xe1, + 0xf5, 0xee, 0xcd, 0x6e, +}; +static const struct drbg_kat_pr_true kat3880_t = { + 9, kat3880_entropyin, kat3880_nonce, kat3880_persstr, + kat3880_entropyinpr1, kat3880_addinpr1, kat3880_entropyinpr2, + kat3880_addinpr2, kat3880_retbits +}; +static const struct drbg_kat kat3880 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3880_t +}; + +static const unsigned char kat3881_entropyin[] = { + 0x2e, 0x38, 0x73, 0x30, 0x6c, 0x37, 0xba, 0x32, 0xcb, 0x6f, 0xd0, 0x00, + 0xf8, 0xb5, 0x81, 0x4b, 0x56, 0x24, 0x4b, 0x47, 0x56, 0xf9, 0x69, 0x62, + 0x3a, 0xf3, 0xc2, 0x57, 0x1b, 0xb4, 0x93, 0x55, 0xbb, 0xd2, 0xc0, 0xd1, + 0x65, 0x1d, 0x17, 0x31, +}; +static const unsigned char kat3881_nonce[] = {0}; +static const unsigned char kat3881_persstr[] = { + 0x02, 0xdf, 0x84, 0x74, 0x11, 0x5c, 0xdf, 0x57, 0x97, 0x14, 0x76, 0x5d, + 0x15, 0xf7, 0xe5, 0xdb, 0x49, 0x5f, 0x61, 0x96, 0x55, 0xf6, 0xf2, 0xe7, + 0x81, 0x94, 0xdd, 0x4f, 0x5b, 0xd9, 0xe1, 0xac, 0x57, 0x08, 0xbb, 0x31, + 0x20, 0x26, 0x0d, 0x45, +}; +static const unsigned char kat3881_entropyinpr1[] = { + 0x6b, 0xbf, 0xb6, 0xc4, 0xf8, 0xa1, 0x90, 0x77, 0xa9, 0xc8, 0xb5, 0x97, + 0xd4, 0xfc, 0x56, 0x78, 0x78, 0x93, 0xb2, 0xba, 0xa4, 0x7a, 0x2e, 0x6c, + 0x6e, 0x51, 0x6d, 0x15, 0xad, 0xa3, 0xdd, 0x2e, 0xac, 0x75, 0xd0, 0x93, + 0xcf, 0x95, 0x5d, 0x26, +}; +static const unsigned char kat3881_addinpr1[] = {0}; +static const unsigned char kat3881_entropyinpr2[] = { + 0xfa, 0x4d, 0xc0, 0xa0, 0xd9, 0xe4, 0xd1, 0x62, 0xe5, 0x9f, 0x08, 0xdf, + 0x9f, 0x48, 0xf5, 0x84, 0x68, 0xfa, 0x0b, 0xb9, 0x73, 0xef, 0x9a, 0x25, + 0x49, 0xe8, 0xe1, 0x45, 0x92, 0x22, 0xad, 0x06, 0x47, 0x9a, 0xb8, 0x3a, + 0x2f, 0xbf, 0x15, 0x52, +}; +static const unsigned char kat3881_addinpr2[] = {0}; +static const unsigned char kat3881_retbits[] = { + 0x0c, 0x18, 0x8d, 0x78, 0x1b, 0x1e, 0x86, 0xfe, 0x99, 0x16, 0x4e, 0xa0, + 0x20, 0xc2, 0x1a, 0x0b, 0xb2, 0x83, 0x13, 0x91, 0xf1, 0x7f, 0xd5, 0x80, + 0x7d, 0x91, 0x69, 0x49, 0x7b, 0xf1, 0x86, 0xba, 0x35, 0x45, 0x0e, 0xf4, + 0xa5, 0xf2, 0xcb, 0xff, 0xf6, 0x3f, 0xdf, 0x9d, 0xaf, 0xb4, 0x34, 0x8b, + 0xdf, 0x00, 0x7f, 0xbd, 0x32, 0xbb, 0xad, 0x04, 0xe7, 0x25, 0x57, 0xff, + 0x52, 0x5c, 0x85, 0xbb, +}; +static const struct drbg_kat_pr_true kat3881_t = { + 10, kat3881_entropyin, kat3881_nonce, kat3881_persstr, + kat3881_entropyinpr1, kat3881_addinpr1, kat3881_entropyinpr2, + kat3881_addinpr2, kat3881_retbits +}; +static const struct drbg_kat kat3881 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3881_t +}; + +static const unsigned char kat3882_entropyin[] = { + 0xa9, 0x2b, 0x46, 0x43, 0xff, 0x0e, 0xfe, 0x3d, 0xfa, 0x2c, 0x1c, 0xef, + 0x49, 0xd1, 0xd1, 0x32, 0x0e, 0x15, 0x6e, 0xb1, 0x1f, 0x38, 0x88, 0xc0, + 0x02, 0xbc, 0x77, 0xc9, 0xea, 0xc0, 0x63, 0x3f, 0x48, 0x18, 0x9a, 0x29, + 0xc6, 0xb1, 0x90, 0x0a, +}; +static const unsigned char kat3882_nonce[] = {0}; +static const unsigned char kat3882_persstr[] = { + 0x42, 0x71, 0x90, 0x0c, 0x2b, 0xa1, 0x9d, 0x49, 0xa5, 0xc9, 0x11, 0xa2, + 0x0d, 0x43, 0x70, 0xaf, 0x4f, 0x06, 0x92, 0x2a, 0xa5, 0x5d, 0xda, 0xa7, + 0x8f, 0x88, 0xe5, 0x70, 0x3b, 0x8b, 0xc4, 0x91, 0x48, 0xbf, 0xaa, 0x1c, + 0xc3, 0xd5, 0x75, 0xaf, +}; +static const unsigned char kat3882_entropyinpr1[] = { + 0x43, 0xb0, 0x2c, 0xaf, 0x14, 0xcb, 0x3d, 0x3c, 0xff, 0x57, 0x41, 0x87, + 0xb5, 0x57, 0xbb, 0x93, 0xc4, 0xf3, 0x19, 0xf3, 0x7c, 0x1d, 0x20, 0xb3, + 0xf0, 0xa9, 0x7c, 0x32, 0xc6, 0x01, 0x0a, 0x75, 0x65, 0xf1, 0x59, 0x71, + 0x7a, 0xc7, 0x92, 0x1c, +}; +static const unsigned char kat3882_addinpr1[] = {0}; +static const unsigned char kat3882_entropyinpr2[] = { + 0x06, 0x97, 0xb6, 0x7a, 0xe1, 0xd3, 0x9a, 0x72, 0x36, 0x03, 0xf8, 0x10, + 0xdd, 0xce, 0xfa, 0x97, 0x56, 0x53, 0xc0, 0xc1, 0xf6, 0xf6, 0x37, 0x31, + 0x59, 0x71, 0x78, 0xcb, 0x03, 0x36, 0x6d, 0xb9, 0x86, 0x51, 0x94, 0xb7, + 0xfa, 0x81, 0x29, 0xd6, +}; +static const unsigned char kat3882_addinpr2[] = {0}; +static const unsigned char kat3882_retbits[] = { + 0x88, 0x93, 0x88, 0x8e, 0x47, 0x05, 0x52, 0x5c, 0xda, 0x03, 0x82, 0xb0, + 0x1b, 0xa4, 0xff, 0x5b, 0x5d, 0x62, 0x42, 0xd4, 0xe6, 0x27, 0x7a, 0x39, + 0x85, 0x50, 0x16, 0xf5, 0x18, 0xac, 0x63, 0x1b, 0xb2, 0xf7, 0x6f, 0x8b, + 0x3b, 0xd4, 0xd3, 0x7b, 0x78, 0xa2, 0x12, 0x9f, 0x67, 0x0b, 0xfe, 0x1b, + 0xfd, 0x6e, 0x8e, 0xed, 0xe4, 0x3d, 0x3a, 0x27, 0xc2, 0x06, 0x62, 0xf2, + 0x0f, 0xc9, 0xfc, 0xcd, +}; +static const struct drbg_kat_pr_true kat3882_t = { + 11, kat3882_entropyin, kat3882_nonce, kat3882_persstr, + kat3882_entropyinpr1, kat3882_addinpr1, kat3882_entropyinpr2, + kat3882_addinpr2, kat3882_retbits +}; +static const struct drbg_kat kat3882 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3882_t +}; + +static const unsigned char kat3883_entropyin[] = { + 0x02, 0x78, 0xdb, 0x17, 0x6c, 0xb3, 0x75, 0xde, 0xa1, 0x65, 0xaf, 0x91, + 0xa9, 0x2e, 0x39, 0x6c, 0x76, 0x06, 0x22, 0x85, 0x51, 0x41, 0xd5, 0xc1, + 0xac, 0x70, 0xf0, 0x03, 0x49, 0xb9, 0xef, 0x57, 0xbd, 0x66, 0x20, 0x40, + 0xa5, 0x3f, 0xb6, 0x5d, +}; +static const unsigned char kat3883_nonce[] = {0}; +static const unsigned char kat3883_persstr[] = { + 0xfd, 0x1a, 0x24, 0xb8, 0x05, 0x6f, 0x24, 0x2a, 0xbc, 0x95, 0x25, 0xc4, + 0x82, 0x34, 0xa7, 0x95, 0x6a, 0x1f, 0x1b, 0x05, 0x76, 0x95, 0xec, 0x2b, + 0xf5, 0xea, 0xe0, 0xb4, 0x4f, 0xd5, 0x48, 0xf3, 0x8e, 0x18, 0xb3, 0x80, + 0x06, 0x97, 0x85, 0xc1, +}; +static const unsigned char kat3883_entropyinpr1[] = { + 0x4d, 0xd2, 0x00, 0x1d, 0x6a, 0x71, 0x56, 0xad, 0x8f, 0x97, 0x49, 0x32, + 0x60, 0xac, 0xe2, 0xf2, 0xd7, 0x8f, 0xa8, 0x9c, 0xd2, 0x93, 0xac, 0x70, + 0x0b, 0x75, 0x71, 0x28, 0xdc, 0x20, 0xb0, 0x34, 0x4c, 0xab, 0x46, 0x3f, + 0xdb, 0x63, 0xd1, 0x5d, +}; +static const unsigned char kat3883_addinpr1[] = {0}; +static const unsigned char kat3883_entropyinpr2[] = { + 0x64, 0xea, 0xf1, 0x88, 0xb3, 0x25, 0xc3, 0xa1, 0xed, 0xe9, 0x69, 0x30, + 0x0a, 0x07, 0x19, 0xfd, 0xcd, 0x94, 0x2d, 0x7b, 0x1e, 0x22, 0x55, 0xff, + 0xcb, 0x2f, 0xf1, 0xc6, 0x46, 0x8c, 0xef, 0x18, 0x4a, 0x84, 0xa8, 0x5b, + 0x44, 0x29, 0x51, 0x25, +}; +static const unsigned char kat3883_addinpr2[] = {0}; +static const unsigned char kat3883_retbits[] = { + 0xa9, 0xbc, 0x86, 0xb7, 0x15, 0xc5, 0xbf, 0x10, 0xe7, 0xa4, 0x83, 0x96, + 0x34, 0x5a, 0xfc, 0xe9, 0x12, 0xe2, 0xd7, 0x49, 0xd5, 0xcb, 0x67, 0x82, + 0x29, 0x41, 0x37, 0x69, 0x4a, 0xce, 0xd2, 0x5b, 0xaf, 0x5e, 0x55, 0xd2, + 0x3a, 0x31, 0xe5, 0x93, 0x04, 0x5b, 0xd4, 0x52, 0x76, 0x0d, 0x6f, 0x74, + 0x20, 0x53, 0xbf, 0x79, 0x2e, 0x09, 0x74, 0xe1, 0x4c, 0x4b, 0x5e, 0xb6, + 0x1c, 0x0e, 0x20, 0xfa, +}; +static const struct drbg_kat_pr_true kat3883_t = { + 12, kat3883_entropyin, kat3883_nonce, kat3883_persstr, + kat3883_entropyinpr1, kat3883_addinpr1, kat3883_entropyinpr2, + kat3883_addinpr2, kat3883_retbits +}; +static const struct drbg_kat kat3883 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3883_t +}; + +static const unsigned char kat3884_entropyin[] = { + 0x10, 0xc7, 0xfe, 0x6e, 0x44, 0x56, 0xd4, 0x13, 0xa0, 0x54, 0x8c, 0x6b, + 0xe6, 0x86, 0x0d, 0xf6, 0x90, 0x4f, 0x79, 0x6f, 0x0b, 0x04, 0xec, 0xa7, + 0x28, 0x06, 0x0b, 0xd9, 0x7a, 0x21, 0x53, 0x29, 0x8a, 0x6a, 0x2a, 0x67, + 0xcd, 0x3a, 0x36, 0x36, +}; +static const unsigned char kat3884_nonce[] = {0}; +static const unsigned char kat3884_persstr[] = { + 0xbb, 0x95, 0xe7, 0xe4, 0x31, 0x0f, 0x33, 0xc4, 0x03, 0x86, 0x3d, 0xcb, + 0x50, 0x89, 0x82, 0x7c, 0x00, 0x66, 0x11, 0x7a, 0xaa, 0xe6, 0xe3, 0x10, + 0xcd, 0x17, 0x0a, 0x23, 0x8f, 0x07, 0xa4, 0xe4, 0xa2, 0x56, 0xdf, 0x33, + 0x3e, 0x6f, 0x1e, 0xec, +}; +static const unsigned char kat3884_entropyinpr1[] = { + 0x17, 0x70, 0x7c, 0x1e, 0x5b, 0x85, 0xc9, 0x7f, 0xc8, 0x03, 0xd2, 0xc7, + 0x06, 0x19, 0x07, 0x1d, 0xbc, 0xae, 0x96, 0x9c, 0x0d, 0xed, 0x93, 0xe0, + 0x86, 0x95, 0x92, 0xe5, 0x72, 0xa2, 0x1d, 0xff, 0x9f, 0x6f, 0xa1, 0x90, + 0xed, 0x12, 0x56, 0xa8, +}; +static const unsigned char kat3884_addinpr1[] = {0}; +static const unsigned char kat3884_entropyinpr2[] = { + 0xc6, 0xc8, 0x33, 0xf8, 0xca, 0x86, 0xb0, 0x7d, 0xb1, 0x45, 0xdc, 0x90, + 0x48, 0x83, 0x89, 0x2f, 0x35, 0x10, 0xc4, 0xac, 0x22, 0x45, 0xb2, 0x49, + 0x47, 0xfd, 0x5c, 0xe6, 0xe8, 0x12, 0xb0, 0xc0, 0x49, 0xd2, 0xfc, 0x41, + 0xbb, 0x3a, 0x24, 0xfc, +}; +static const unsigned char kat3884_addinpr2[] = {0}; +static const unsigned char kat3884_retbits[] = { + 0xd3, 0x60, 0xb9, 0xec, 0xd4, 0x0b, 0xdc, 0x9d, 0x28, 0x76, 0x58, 0x03, + 0x1d, 0x61, 0xf6, 0xdd, 0x3c, 0xf4, 0xdc, 0x7b, 0xc7, 0x4c, 0xcd, 0x47, + 0x69, 0x14, 0xac, 0x41, 0x75, 0xa3, 0x05, 0x9b, 0x79, 0xd1, 0x01, 0xe2, + 0x00, 0x18, 0x20, 0x2a, 0x8c, 0x68, 0x55, 0x8c, 0xb1, 0x2f, 0x8f, 0x35, + 0x2f, 0xe9, 0x84, 0x57, 0xf2, 0xa0, 0xcf, 0x5d, 0xf8, 0xcc, 0xd4, 0x22, + 0x38, 0x94, 0xe6, 0x4f, +}; +static const struct drbg_kat_pr_true kat3884_t = { + 13, kat3884_entropyin, kat3884_nonce, kat3884_persstr, + kat3884_entropyinpr1, kat3884_addinpr1, kat3884_entropyinpr2, + kat3884_addinpr2, kat3884_retbits +}; +static const struct drbg_kat kat3884 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3884_t +}; + +static const unsigned char kat3885_entropyin[] = { + 0x89, 0xe4, 0x0f, 0x39, 0x59, 0x00, 0xff, 0x4b, 0x24, 0x20, 0xb6, 0xfc, + 0xcc, 0xa1, 0x1b, 0x09, 0xbb, 0xd9, 0x0f, 0x44, 0x70, 0x34, 0xaa, 0x6d, + 0x8e, 0xf4, 0x37, 0xa2, 0x4e, 0x9b, 0xf8, 0xd4, 0xbf, 0xb7, 0x78, 0x93, + 0xc7, 0x68, 0x1b, 0xbe, +}; +static const unsigned char kat3885_nonce[] = {0}; +static const unsigned char kat3885_persstr[] = { + 0x9d, 0x0e, 0x51, 0x91, 0xbe, 0x83, 0x6c, 0x05, 0xf2, 0xd2, 0x6b, 0x79, + 0xc8, 0x3d, 0x37, 0x68, 0x5b, 0xb3, 0x5e, 0x84, 0x57, 0x4b, 0x46, 0x2b, + 0x4e, 0xca, 0xb1, 0xc8, 0x11, 0x5f, 0x2f, 0x9f, 0x34, 0x97, 0x4c, 0x69, + 0xa7, 0x31, 0xd7, 0x25, +}; +static const unsigned char kat3885_entropyinpr1[] = { + 0x75, 0x6f, 0x29, 0x30, 0x5a, 0xf9, 0xf4, 0xd3, 0xce, 0xca, 0x43, 0x99, + 0x59, 0x4d, 0x07, 0x63, 0x6d, 0xf0, 0xb2, 0xec, 0xfa, 0xa0, 0x64, 0x38, + 0x80, 0xe5, 0x86, 0xac, 0xbf, 0x68, 0xad, 0x18, 0xed, 0x6e, 0x33, 0xe2, + 0x8f, 0xc4, 0xfc, 0x54, +}; +static const unsigned char kat3885_addinpr1[] = {0}; +static const unsigned char kat3885_entropyinpr2[] = { + 0x18, 0x80, 0x25, 0x2a, 0xd9, 0x3c, 0x99, 0x4d, 0xff, 0x31, 0xfb, 0x2a, + 0x10, 0xfa, 0xb8, 0xc2, 0x65, 0xcf, 0x6f, 0x6a, 0x36, 0xf0, 0x10, 0xfc, + 0x35, 0xe4, 0xd8, 0x58, 0xbb, 0xb7, 0x83, 0xe3, 0xa6, 0x82, 0xaf, 0xc3, + 0xfb, 0x98, 0xfe, 0x6d, +}; +static const unsigned char kat3885_addinpr2[] = {0}; +static const unsigned char kat3885_retbits[] = { + 0x2f, 0x78, 0x72, 0xa7, 0x04, 0xeb, 0x27, 0x6a, 0xfa, 0xd3, 0xef, 0xb1, + 0x31, 0xe6, 0x7c, 0x4b, 0x95, 0x08, 0xff, 0xfd, 0xbb, 0x70, 0x4e, 0x8c, + 0x85, 0xc0, 0x7e, 0x61, 0x32, 0x74, 0x59, 0x41, 0xa8, 0x88, 0x9f, 0xfc, + 0x37, 0xba, 0xa6, 0x37, 0xa1, 0xb7, 0xb7, 0xb0, 0xb8, 0x4f, 0xbf, 0xdb, + 0x8f, 0xbc, 0x00, 0xe7, 0xf1, 0xef, 0xf5, 0x0b, 0xaf, 0x2d, 0x06, 0x2d, + 0x84, 0x34, 0xbb, 0xa2, +}; +static const struct drbg_kat_pr_true kat3885_t = { + 14, kat3885_entropyin, kat3885_nonce, kat3885_persstr, + kat3885_entropyinpr1, kat3885_addinpr1, kat3885_entropyinpr2, + kat3885_addinpr2, kat3885_retbits +}; +static const struct drbg_kat kat3885 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3885_t +}; + +static const unsigned char kat3886_entropyin[] = { + 0xfe, 0xea, 0x3b, 0x69, 0x64, 0x66, 0x4c, 0x58, 0xbc, 0x58, 0xf5, 0xac, + 0x8f, 0x0e, 0x9d, 0x35, 0xd3, 0xcc, 0xf8, 0x72, 0x20, 0xbb, 0x5e, 0x7a, + 0x84, 0xc1, 0x3c, 0x68, 0xcd, 0x9a, 0x28, 0xf1, 0xff, 0x57, 0x66, 0x75, + 0x22, 0x4c, 0x84, 0xc2, +}; +static const unsigned char kat3886_nonce[] = {0}; +static const unsigned char kat3886_persstr[] = { + 0xee, 0xba, 0xc7, 0x11, 0xed, 0xbb, 0x40, 0x34, 0xa7, 0xd7, 0xfd, 0x17, + 0xc3, 0x01, 0x46, 0x7b, 0xb1, 0x36, 0x9b, 0x85, 0xae, 0xff, 0x93, 0xdb, + 0xe8, 0x2b, 0xce, 0x80, 0x3c, 0xa0, 0x59, 0x49, 0x2c, 0xaf, 0x3e, 0x96, + 0xb5, 0xf0, 0x1d, 0x83, +}; +static const unsigned char kat3886_entropyinpr1[] = { + 0xab, 0x87, 0xb8, 0x1b, 0x15, 0xe4, 0x20, 0x3c, 0xed, 0x5d, 0xcf, 0xa7, + 0xa2, 0xe9, 0x2f, 0x71, 0x78, 0x48, 0x32, 0xa5, 0xc4, 0x7f, 0x00, 0x54, + 0x85, 0x0f, 0xf3, 0x2a, 0x06, 0xc6, 0x87, 0x47, 0x47, 0x44, 0x6c, 0x69, + 0xcb, 0x48, 0x1e, 0xf4, +}; +static const unsigned char kat3886_addinpr1[] = { + 0xa5, 0x50, 0x0c, 0x3f, 0x37, 0xb2, 0x0c, 0xec, 0x33, 0x91, 0xef, 0xfc, + 0xac, 0x45, 0x67, 0x66, 0x74, 0xab, 0x8a, 0xba, 0x5f, 0x96, 0x90, 0x51, + 0x7b, 0x80, 0xeb, 0x6d, 0x26, 0x10, 0xf8, 0x32, 0x56, 0x41, 0x28, 0xf8, + 0x7c, 0x4f, 0x88, 0xb2, +}; +static const unsigned char kat3886_entropyinpr2[] = { + 0x29, 0xde, 0x4f, 0x15, 0xb4, 0x89, 0xc4, 0xe8, 0xcd, 0xc7, 0x32, 0x44, + 0x57, 0x00, 0x12, 0xb4, 0x43, 0xa1, 0x24, 0x2f, 0x28, 0xf9, 0xdd, 0x7f, + 0xa4, 0x3f, 0x98, 0x29, 0x3a, 0x0e, 0x49, 0x0a, 0xef, 0x28, 0x1e, 0xea, + 0x13, 0xd1, 0xe1, 0x36, +}; +static const unsigned char kat3886_addinpr2[] = { + 0x61, 0x38, 0x44, 0x43, 0xe0, 0x7a, 0x56, 0x59, 0xc7, 0xbd, 0xb9, 0xbf, + 0x9f, 0x3f, 0xde, 0x67, 0x7a, 0xd9, 0x57, 0x37, 0xe9, 0x26, 0x0b, 0x53, + 0x63, 0x5f, 0xd7, 0xb9, 0xd4, 0xb6, 0x3a, 0x79, 0x95, 0x86, 0x12, 0x85, + 0xee, 0x61, 0x32, 0x65, +}; +static const unsigned char kat3886_retbits[] = { + 0x2f, 0x19, 0x57, 0x0a, 0x4e, 0xeb, 0xe4, 0x6b, 0x24, 0x10, 0x4c, 0x44, + 0x29, 0x0a, 0x1c, 0x20, 0x6d, 0xaa, 0xaa, 0xf9, 0x9d, 0x43, 0xf0, 0x53, + 0x0d, 0xf4, 0x18, 0x33, 0x22, 0xbd, 0x79, 0x8d, 0x08, 0xd7, 0x95, 0xc2, + 0x8e, 0x9f, 0x67, 0xae, 0x24, 0x50, 0x7b, 0xe4, 0x81, 0xde, 0xab, 0xb4, + 0xf7, 0x60, 0xd2, 0xf6, 0x93, 0xcd, 0x0a, 0xf2, 0x36, 0xb0, 0xba, 0x59, + 0x96, 0x80, 0x6e, 0x34, +}; +static const struct drbg_kat_pr_true kat3886_t = { + 0, kat3886_entropyin, kat3886_nonce, kat3886_persstr, + kat3886_entropyinpr1, kat3886_addinpr1, kat3886_entropyinpr2, + kat3886_addinpr2, kat3886_retbits +}; +static const struct drbg_kat kat3886 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3886_t +}; + +static const unsigned char kat3887_entropyin[] = { + 0x1f, 0x43, 0x40, 0x8a, 0xce, 0xac, 0x5a, 0xe3, 0xfa, 0xe7, 0x3d, 0x8a, + 0x56, 0xd9, 0xdf, 0xbc, 0x3a, 0x4c, 0x83, 0xe1, 0x6d, 0x76, 0x11, 0xea, + 0x5b, 0x34, 0x58, 0x79, 0x27, 0x36, 0x60, 0x4e, 0x77, 0xc3, 0xc7, 0xe5, + 0x08, 0x94, 0xab, 0x13, +}; +static const unsigned char kat3887_nonce[] = {0}; +static const unsigned char kat3887_persstr[] = { + 0x43, 0x75, 0x5b, 0x49, 0x6a, 0x73, 0x1c, 0x26, 0x41, 0x2d, 0xf6, 0x8a, + 0x28, 0x58, 0x48, 0x0e, 0x8f, 0x4b, 0x64, 0xbd, 0xeb, 0x11, 0xd5, 0x31, + 0xbe, 0x87, 0xba, 0x4d, 0x9e, 0xf6, 0x8b, 0x7b, 0x34, 0xe6, 0x8f, 0x3c, + 0x61, 0xe5, 0x7c, 0xf6, +}; +static const unsigned char kat3887_entropyinpr1[] = { + 0xbc, 0x06, 0x41, 0x09, 0x73, 0x8d, 0x79, 0xe6, 0xa0, 0x05, 0x90, 0x73, + 0xce, 0xd6, 0xcf, 0xd3, 0x34, 0x7d, 0xe0, 0x89, 0x28, 0x53, 0x4a, 0xb7, + 0xd2, 0xa3, 0x8c, 0x8e, 0xb1, 0xf3, 0x20, 0x7d, 0x34, 0xa5, 0xcc, 0x29, + 0xd8, 0x7b, 0x37, 0x58, +}; +static const unsigned char kat3887_addinpr1[] = { + 0x55, 0xd7, 0xb4, 0x31, 0x37, 0x8a, 0x16, 0x36, 0xa9, 0x5e, 0x21, 0xc8, + 0xd0, 0x08, 0xed, 0x35, 0x65, 0x9c, 0xc1, 0x23, 0x39, 0x60, 0x88, 0x99, + 0xc5, 0x87, 0x9e, 0x5e, 0xbd, 0xbb, 0x16, 0xc2, 0x3a, 0x8c, 0xa0, 0xa5, + 0x13, 0xf9, 0x2a, 0x3e, +}; +static const unsigned char kat3887_entropyinpr2[] = { + 0xc1, 0x49, 0xc4, 0x83, 0x0b, 0x17, 0xa1, 0x35, 0x1d, 0x3a, 0x66, 0x91, + 0x66, 0x08, 0x24, 0x19, 0x95, 0x65, 0xba, 0x34, 0x85, 0xe9, 0x26, 0xdb, + 0x0a, 0xd2, 0x96, 0xa4, 0x36, 0xde, 0x09, 0xc6, 0x55, 0xdd, 0xc2, 0x9d, + 0x79, 0xd8, 0xfb, 0x36, +}; +static const unsigned char kat3887_addinpr2[] = { + 0x8f, 0x47, 0xa0, 0xb3, 0xe4, 0x44, 0x5b, 0x79, 0x31, 0x3e, 0xcf, 0x02, + 0xc9, 0xa8, 0x40, 0x7b, 0xf0, 0x6f, 0x18, 0x10, 0x3a, 0xb2, 0xa2, 0xc0, + 0xa8, 0x41, 0x55, 0x91, 0x4c, 0x0a, 0x1e, 0xed, 0x78, 0x7d, 0x81, 0xe0, + 0xd2, 0x62, 0x56, 0x59, +}; +static const unsigned char kat3887_retbits[] = { + 0x3a, 0x51, 0xde, 0x2b, 0x18, 0xba, 0xf2, 0x52, 0x8a, 0x48, 0x0c, 0xc3, + 0xde, 0x67, 0xdb, 0xf9, 0xf4, 0x30, 0x39, 0x21, 0x7f, 0x89, 0x88, 0x13, + 0x2f, 0x98, 0xab, 0x34, 0x89, 0x12, 0xa3, 0xc4, 0xe0, 0xe9, 0x37, 0xf4, + 0x3b, 0x29, 0xc4, 0x8b, 0xda, 0x5e, 0x66, 0x8c, 0x97, 0xa5, 0x9a, 0x4d, + 0x81, 0x9f, 0x02, 0x6f, 0xfa, 0x9a, 0x10, 0x7c, 0x08, 0xa3, 0x03, 0x5d, + 0x6a, 0xc6, 0x87, 0x3c, +}; +static const struct drbg_kat_pr_true kat3887_t = { + 1, kat3887_entropyin, kat3887_nonce, kat3887_persstr, + kat3887_entropyinpr1, kat3887_addinpr1, kat3887_entropyinpr2, + kat3887_addinpr2, kat3887_retbits +}; +static const struct drbg_kat kat3887 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3887_t +}; + +static const unsigned char kat3888_entropyin[] = { + 0xad, 0x8a, 0xae, 0xa9, 0xc2, 0x16, 0x4e, 0x70, 0x81, 0xb8, 0xe9, 0x98, + 0xb9, 0xae, 0x7b, 0xf9, 0xcf, 0xf7, 0xe2, 0xa2, 0x29, 0xa9, 0x14, 0x06, + 0xab, 0x46, 0x10, 0x58, 0xe5, 0x44, 0xf1, 0xef, 0xfe, 0x23, 0x57, 0x09, + 0x0c, 0xc5, 0x31, 0xb8, +}; +static const unsigned char kat3888_nonce[] = {0}; +static const unsigned char kat3888_persstr[] = { + 0xc6, 0x95, 0x54, 0x86, 0x98, 0xe8, 0x04, 0x6f, 0xae, 0x63, 0x64, 0x46, + 0x81, 0x26, 0x38, 0x12, 0x6d, 0x1f, 0xdf, 0xbc, 0xc7, 0x2e, 0x14, 0x1a, + 0x45, 0xbd, 0x59, 0xd7, 0xdc, 0xd5, 0x80, 0x0b, 0x0d, 0x74, 0xef, 0x7b, + 0x79, 0x96, 0x2f, 0xc5, +}; +static const unsigned char kat3888_entropyinpr1[] = { + 0x19, 0x5e, 0x30, 0x02, 0x58, 0x47, 0xc4, 0xa6, 0x8b, 0x38, 0xa2, 0x93, + 0xed, 0x67, 0xe5, 0xa7, 0x17, 0x4b, 0x50, 0x1e, 0xa1, 0x8b, 0xd5, 0xfd, + 0x86, 0xb0, 0xdc, 0x27, 0x24, 0x8c, 0xd4, 0xc5, 0x79, 0xc3, 0x65, 0x1b, + 0x7f, 0x3b, 0xef, 0xc6, +}; +static const unsigned char kat3888_addinpr1[] = { + 0xbb, 0xbd, 0xdd, 0x2e, 0x31, 0x44, 0x78, 0x1e, 0xa3, 0x22, 0x25, 0x6c, + 0x16, 0x90, 0x04, 0xc9, 0xcf, 0xc8, 0xe8, 0xb7, 0xce, 0x31, 0x97, 0xa6, + 0x74, 0x9e, 0x7d, 0x47, 0x3f, 0x2a, 0xd6, 0x1a, 0xe8, 0x28, 0x05, 0x00, + 0x7e, 0x9d, 0xf2, 0xde, +}; +static const unsigned char kat3888_entropyinpr2[] = { + 0x60, 0x68, 0xd0, 0x01, 0x30, 0xc5, 0xfa, 0x61, 0x89, 0x28, 0x88, 0xa7, + 0xba, 0xa4, 0x59, 0x74, 0xd4, 0x08, 0xe4, 0xdd, 0x9e, 0x21, 0x1e, 0xa8, + 0x30, 0x33, 0x00, 0xdf, 0x07, 0x06, 0x5e, 0xf0, 0x85, 0xf0, 0x8c, 0xcf, + 0x4f, 0xa0, 0x86, 0x84, +}; +static const unsigned char kat3888_addinpr2[] = { + 0x08, 0x35, 0x04, 0x9c, 0x8f, 0x61, 0x4c, 0x28, 0x79, 0x49, 0x6d, 0x52, + 0xfa, 0x74, 0x1d, 0xfd, 0x2b, 0x19, 0x86, 0x1b, 0x5b, 0xc7, 0x70, 0x81, + 0xf6, 0x07, 0xf0, 0x9e, 0x52, 0xac, 0xef, 0x06, 0x20, 0x09, 0x69, 0x57, + 0xa2, 0x78, 0xca, 0x10, +}; +static const unsigned char kat3888_retbits[] = { + 0x97, 0xd1, 0x78, 0x9e, 0xfe, 0x77, 0x50, 0xc3, 0x5f, 0x06, 0x6a, 0x6a, + 0x71, 0xfa, 0x5b, 0x57, 0x1e, 0x9f, 0x8f, 0x5b, 0x07, 0x07, 0x97, 0xe7, + 0x75, 0xee, 0x06, 0xd8, 0x6f, 0xe5, 0x20, 0x4e, 0x8a, 0x57, 0xf9, 0xd1, + 0x8d, 0xae, 0x51, 0x0f, 0x3c, 0xd3, 0x33, 0xec, 0x9f, 0x5c, 0xa2, 0xf5, + 0xe3, 0x46, 0x12, 0x5d, 0x73, 0xe2, 0xe3, 0xf2, 0x1b, 0xc0, 0x2d, 0x85, + 0xd0, 0x95, 0x70, 0xef, +}; +static const struct drbg_kat_pr_true kat3888_t = { + 2, kat3888_entropyin, kat3888_nonce, kat3888_persstr, + kat3888_entropyinpr1, kat3888_addinpr1, kat3888_entropyinpr2, + kat3888_addinpr2, kat3888_retbits +}; +static const struct drbg_kat kat3888 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3888_t +}; + +static const unsigned char kat3889_entropyin[] = { + 0x72, 0x39, 0x23, 0x00, 0x5d, 0xe0, 0x92, 0x1a, 0x16, 0x1b, 0xb2, 0x01, + 0x9e, 0x50, 0xec, 0x70, 0x6d, 0x9e, 0xb0, 0xef, 0xa5, 0x04, 0x76, 0x00, + 0xd9, 0x29, 0x1c, 0xea, 0x15, 0x76, 0xa1, 0x4d, 0xe9, 0x27, 0x04, 0xff, + 0x21, 0x67, 0xd1, 0x4b, +}; +static const unsigned char kat3889_nonce[] = {0}; +static const unsigned char kat3889_persstr[] = { + 0xd8, 0x6d, 0xef, 0xdf, 0xf1, 0xb7, 0xaf, 0x29, 0x28, 0xed, 0x06, 0x14, + 0xd4, 0xb8, 0xe2, 0x3a, 0xb9, 0xdb, 0x8b, 0xa6, 0x04, 0x0f, 0x74, 0xb5, + 0xfd, 0xb8, 0xfe, 0x7a, 0xdc, 0xe3, 0xb1, 0xd4, 0x39, 0xf5, 0xb4, 0x92, + 0x9b, 0x2e, 0xa8, 0xc9, +}; +static const unsigned char kat3889_entropyinpr1[] = { + 0x29, 0x01, 0xc8, 0xd6, 0x34, 0x60, 0x15, 0xd6, 0x7f, 0x4e, 0x77, 0xbe, + 0x17, 0xdd, 0x1d, 0xe1, 0x44, 0x18, 0x5d, 0xc9, 0x43, 0x86, 0x96, 0x47, + 0x45, 0xfa, 0x78, 0xcd, 0xdd, 0x9e, 0x00, 0xa2, 0xd4, 0xb2, 0x1c, 0xbc, + 0xc3, 0x8f, 0x24, 0x93, +}; +static const unsigned char kat3889_addinpr1[] = { + 0xe1, 0xe6, 0xbd, 0xe7, 0x11, 0x13, 0x53, 0x17, 0x97, 0x38, 0xad, 0x2b, + 0xdd, 0x44, 0x53, 0x6c, 0x84, 0x33, 0xe4, 0x44, 0x3a, 0xf3, 0xa8, 0x07, + 0x88, 0xe3, 0x98, 0x17, 0xf2, 0xf1, 0xf0, 0xce, 0xcd, 0x45, 0xa6, 0x3c, + 0xec, 0x7c, 0x63, 0x6e, +}; +static const unsigned char kat3889_entropyinpr2[] = { + 0xcf, 0x98, 0xb8, 0x58, 0xc1, 0xa8, 0x3c, 0x72, 0x8a, 0xdf, 0xdf, 0x33, + 0xae, 0x3e, 0x54, 0x7b, 0xf4, 0x0a, 0xaf, 0xdf, 0x57, 0xf0, 0x3a, 0xc5, + 0xd4, 0xf8, 0x22, 0x09, 0x64, 0xf0, 0x7d, 0x8e, 0xa7, 0xfe, 0x2b, 0x06, + 0xfa, 0x16, 0xed, 0xda, +}; +static const unsigned char kat3889_addinpr2[] = { + 0xdf, 0xd4, 0xae, 0x3a, 0x33, 0x05, 0xbe, 0xa1, 0x60, 0x69, 0x35, 0x01, + 0x06, 0x38, 0xde, 0xd1, 0xcf, 0x05, 0x19, 0x1b, 0x7c, 0x32, 0x50, 0x9a, + 0xf5, 0x26, 0xad, 0xc3, 0x9c, 0xc8, 0x14, 0x30, 0xcb, 0x05, 0xea, 0xb0, + 0x37, 0xd9, 0xcf, 0x20, +}; +static const unsigned char kat3889_retbits[] = { + 0x80, 0xdf, 0xe5, 0xab, 0x68, 0x8c, 0x7a, 0x91, 0xa6, 0x49, 0xda, 0x94, + 0x23, 0x95, 0xe1, 0xbd, 0xf3, 0xe8, 0x2a, 0x89, 0x62, 0xca, 0x9b, 0x76, + 0x5e, 0x6b, 0xdd, 0xb0, 0x89, 0x75, 0x57, 0x8c, 0xd8, 0xf4, 0xfa, 0x0b, + 0xcd, 0xff, 0xd5, 0x71, 0xb6, 0x0e, 0xd7, 0xea, 0x6e, 0x1d, 0x8a, 0xe6, + 0x2f, 0x44, 0xc7, 0xd2, 0xac, 0x78, 0x3b, 0xaa, 0x0a, 0x08, 0xb8, 0xb6, + 0x35, 0xe6, 0x0d, 0xf4, +}; +static const struct drbg_kat_pr_true kat3889_t = { + 3, kat3889_entropyin, kat3889_nonce, kat3889_persstr, + kat3889_entropyinpr1, kat3889_addinpr1, kat3889_entropyinpr2, + kat3889_addinpr2, kat3889_retbits +}; +static const struct drbg_kat kat3889 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3889_t +}; + +static const unsigned char kat3890_entropyin[] = { + 0x49, 0xed, 0x3a, 0xd0, 0xa1, 0x8d, 0x33, 0x22, 0xdd, 0xfa, 0xcc, 0x61, + 0x2c, 0x0b, 0xb0, 0xa6, 0x0d, 0x2c, 0x2f, 0x3d, 0xc9, 0xfc, 0x47, 0x5f, + 0x05, 0x9a, 0x4c, 0xed, 0xef, 0x64, 0xb3, 0x63, 0xc5, 0xda, 0x85, 0xc9, + 0xbd, 0x0a, 0x3b, 0x7d, +}; +static const unsigned char kat3890_nonce[] = {0}; +static const unsigned char kat3890_persstr[] = { + 0xac, 0x5a, 0x21, 0x52, 0x13, 0x60, 0xe8, 0xcf, 0xbc, 0x95, 0xb4, 0x3c, + 0x78, 0x52, 0x97, 0xec, 0x3e, 0xb1, 0x82, 0x76, 0x6e, 0x51, 0x82, 0xc4, + 0x91, 0x18, 0x73, 0x20, 0x44, 0xc0, 0x97, 0x4d, 0xed, 0x08, 0x86, 0xee, + 0x74, 0x6e, 0x8d, 0x57, +}; +static const unsigned char kat3890_entropyinpr1[] = { + 0x60, 0xb4, 0xd2, 0xb1, 0x74, 0xf6, 0x89, 0x7a, 0x4c, 0xc6, 0x54, 0xc8, + 0xfc, 0x94, 0xf2, 0xd2, 0x4e, 0xbb, 0x01, 0x36, 0xed, 0x25, 0x8c, 0x02, + 0x48, 0xb9, 0x60, 0x56, 0x73, 0x68, 0xdf, 0xd3, 0xdd, 0xdb, 0x26, 0x22, + 0xea, 0x7a, 0xb1, 0x46, +}; +static const unsigned char kat3890_addinpr1[] = { + 0xff, 0x65, 0x59, 0x67, 0xf7, 0xc3, 0x48, 0x23, 0xaf, 0x42, 0xb4, 0xb0, + 0x1e, 0x2d, 0x56, 0xe9, 0x9e, 0x03, 0xfa, 0x3d, 0xf6, 0xe2, 0x07, 0xb0, + 0xfe, 0x68, 0x14, 0x95, 0x71, 0xa1, 0x78, 0x8c, 0xb2, 0x1b, 0x20, 0x0d, + 0x31, 0x32, 0xe2, 0x0f, +}; +static const unsigned char kat3890_entropyinpr2[] = { + 0x72, 0x0e, 0xc5, 0x9f, 0x91, 0xdb, 0x36, 0x98, 0x55, 0xb3, 0x3e, 0xbb, + 0x1a, 0xe3, 0xeb, 0xcd, 0x36, 0x72, 0x28, 0xe5, 0x94, 0x74, 0x89, 0xc5, + 0x39, 0xe7, 0xe0, 0x2f, 0x7f, 0xc5, 0x25, 0x96, 0xfb, 0x5b, 0x51, 0xd8, + 0x77, 0x82, 0x92, 0x9c, +}; +static const unsigned char kat3890_addinpr2[] = { + 0x03, 0x81, 0x25, 0x3e, 0xfb, 0x19, 0x3e, 0xa5, 0x74, 0xe0, 0x93, 0xda, + 0x57, 0x39, 0x1b, 0x23, 0x9a, 0xad, 0xb1, 0xe5, 0x72, 0x12, 0xb6, 0xee, + 0x17, 0xfd, 0xaa, 0x4d, 0x9b, 0x66, 0x4c, 0xe0, 0xd8, 0x7b, 0x3a, 0xd3, + 0xfa, 0x9a, 0x39, 0x7d, +}; +static const unsigned char kat3890_retbits[] = { + 0xf0, 0xd7, 0x0c, 0xfe, 0x38, 0x13, 0x3e, 0x2b, 0x2b, 0xe3, 0x18, 0xd0, + 0x63, 0xe7, 0x26, 0xe6, 0x1d, 0xb8, 0xa8, 0x77, 0x57, 0x63, 0x7e, 0x3a, + 0x51, 0x2c, 0xa5, 0xfc, 0x2c, 0xd4, 0x2a, 0xd9, 0x5a, 0x69, 0x67, 0x41, + 0xa8, 0x38, 0xa8, 0x77, 0x27, 0xf2, 0xda, 0xb0, 0x51, 0xc0, 0x8c, 0x8d, + 0x2b, 0xea, 0x09, 0x8c, 0x87, 0xfe, 0xc0, 0x19, 0xb4, 0x87, 0x62, 0x40, + 0x9d, 0x52, 0x85, 0x44, +}; +static const struct drbg_kat_pr_true kat3890_t = { + 4, kat3890_entropyin, kat3890_nonce, kat3890_persstr, + kat3890_entropyinpr1, kat3890_addinpr1, kat3890_entropyinpr2, + kat3890_addinpr2, kat3890_retbits +}; +static const struct drbg_kat kat3890 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3890_t +}; + +static const unsigned char kat3891_entropyin[] = { + 0x23, 0xcf, 0xde, 0x18, 0x21, 0xb2, 0xcc, 0x19, 0xa5, 0x1c, 0x94, 0x4f, + 0xa9, 0xd1, 0xc5, 0x77, 0xdd, 0x6d, 0x8f, 0xee, 0x18, 0x60, 0xab, 0x16, + 0xf0, 0xb0, 0x9d, 0x76, 0xa5, 0x97, 0x27, 0x9e, 0x30, 0xe0, 0x87, 0x3a, + 0x45, 0x82, 0xfb, 0xb7, +}; +static const unsigned char kat3891_nonce[] = {0}; +static const unsigned char kat3891_persstr[] = { + 0x76, 0x7a, 0x0f, 0xd5, 0x8d, 0x3c, 0xff, 0xcb, 0xa7, 0x9f, 0x23, 0x0c, + 0xe0, 0x37, 0x5c, 0x60, 0x29, 0xb7, 0xdf, 0xb6, 0xa7, 0xdb, 0x4f, 0x35, + 0xe7, 0xc9, 0x49, 0x16, 0x10, 0x1e, 0x64, 0x2b, 0xd1, 0xc8, 0x60, 0x20, + 0x1d, 0x1e, 0xd3, 0x6a, +}; +static const unsigned char kat3891_entropyinpr1[] = { + 0xa0, 0xf6, 0xec, 0xdc, 0x1e, 0x7f, 0x78, 0x66, 0x74, 0x47, 0x23, 0xd6, + 0xc2, 0x44, 0xd1, 0x87, 0xe7, 0x9c, 0x92, 0x3c, 0x1e, 0x8d, 0x81, 0x1f, + 0x1f, 0x6a, 0xdf, 0x70, 0x53, 0x73, 0x4a, 0x17, 0xba, 0x55, 0x30, 0xe5, + 0xd5, 0xc3, 0x27, 0x20, +}; +static const unsigned char kat3891_addinpr1[] = { + 0x23, 0x16, 0x64, 0x91, 0xe6, 0xa8, 0x67, 0x73, 0xfa, 0x3b, 0x2a, 0x9e, + 0x82, 0x27, 0x3e, 0x01, 0x7a, 0x57, 0xc2, 0xac, 0xbb, 0x82, 0x98, 0x2b, + 0x7d, 0x7d, 0x41, 0x81, 0xc0, 0x2a, 0x7e, 0xcb, 0x72, 0x00, 0x87, 0x00, + 0xe4, 0x78, 0x51, 0x1b, +}; +static const unsigned char kat3891_entropyinpr2[] = { + 0xec, 0x61, 0xcf, 0xb3, 0x93, 0xb5, 0x66, 0xaa, 0x03, 0x4e, 0x50, 0x7f, + 0x20, 0xd5, 0x4d, 0x5a, 0x17, 0x83, 0xaa, 0x53, 0xbc, 0x6e, 0xdd, 0xef, + 0xc4, 0x1c, 0xac, 0xcc, 0x4d, 0xd0, 0x36, 0x1c, 0x0c, 0xcd, 0x0a, 0x24, + 0x86, 0x0e, 0xc2, 0x6a, +}; +static const unsigned char kat3891_addinpr2[] = { + 0x95, 0xbf, 0x7d, 0xb9, 0xaf, 0x68, 0xd3, 0x3a, 0xcd, 0x0e, 0x6c, 0xf4, + 0x12, 0x8d, 0xf5, 0x63, 0xb4, 0x70, 0x7d, 0xf8, 0x67, 0x1b, 0xda, 0x46, + 0x21, 0x51, 0xe9, 0x18, 0xa3, 0x43, 0x10, 0x2e, 0x05, 0xed, 0x28, 0x13, + 0xb3, 0x27, 0x20, 0xab, +}; +static const unsigned char kat3891_retbits[] = { + 0xe9, 0xab, 0x16, 0x17, 0x74, 0x9f, 0x21, 0x42, 0xe0, 0xcc, 0xf3, 0x2f, + 0xd9, 0x2c, 0x7e, 0x17, 0xff, 0xf3, 0xff, 0x49, 0xa6, 0x44, 0x24, 0xaf, + 0x4b, 0x3b, 0xe1, 0x0b, 0x37, 0x12, 0xf1, 0xf6, 0x48, 0xbd, 0x00, 0x59, + 0x12, 0xcc, 0x18, 0x51, 0xb2, 0xe4, 0xc6, 0x5f, 0x6e, 0xdd, 0xe2, 0xf1, + 0x92, 0x01, 0xea, 0x92, 0x7d, 0x3e, 0x6d, 0xb8, 0xfe, 0xbb, 0xa2, 0x1b, + 0xc4, 0x50, 0xff, 0xf7, +}; +static const struct drbg_kat_pr_true kat3891_t = { + 5, kat3891_entropyin, kat3891_nonce, kat3891_persstr, + kat3891_entropyinpr1, kat3891_addinpr1, kat3891_entropyinpr2, + kat3891_addinpr2, kat3891_retbits +}; +static const struct drbg_kat kat3891 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3891_t +}; + +static const unsigned char kat3892_entropyin[] = { + 0xd5, 0x3b, 0xc6, 0x6b, 0xfe, 0x73, 0x25, 0x96, 0xff, 0x9c, 0xe4, 0xdf, + 0xe6, 0x57, 0xa0, 0xe9, 0x4a, 0x7a, 0x66, 0x0a, 0x68, 0xb0, 0xcd, 0x7a, + 0x4d, 0xcf, 0xd4, 0x72, 0xaf, 0xc5, 0xc6, 0xea, 0xfb, 0x2d, 0x21, 0xcf, + 0x58, 0x0a, 0x57, 0x69, +}; +static const unsigned char kat3892_nonce[] = {0}; +static const unsigned char kat3892_persstr[] = { + 0x42, 0x4d, 0x16, 0xf1, 0xe9, 0x43, 0x7d, 0xdc, 0x9b, 0x14, 0xbe, 0xdc, + 0x39, 0x08, 0x6a, 0x7d, 0xa8, 0x92, 0x36, 0xe3, 0x70, 0x39, 0x2c, 0xfb, + 0xb0, 0xe7, 0x79, 0x14, 0xbf, 0xfe, 0xea, 0xce, 0xf5, 0x98, 0x44, 0xbf, + 0xd6, 0x2c, 0xd2, 0xaf, +}; +static const unsigned char kat3892_entropyinpr1[] = { + 0xcb, 0xde, 0x0a, 0x1b, 0x71, 0x17, 0xa6, 0x16, 0x31, 0xfa, 0x5f, 0x55, + 0xab, 0xd6, 0x78, 0x27, 0x09, 0xd7, 0x44, 0xfd, 0xe5, 0x3b, 0x08, 0x81, + 0x3a, 0x48, 0x40, 0x8e, 0x15, 0x48, 0x0a, 0xb4, 0xa6, 0x03, 0xbd, 0xc1, + 0xb4, 0x43, 0xe1, 0x06, +}; +static const unsigned char kat3892_addinpr1[] = { + 0x14, 0xba, 0xc6, 0x6e, 0xc0, 0x43, 0x97, 0x4d, 0x03, 0xe9, 0x24, 0xa1, + 0x88, 0xdc, 0xa9, 0xf8, 0x43, 0x20, 0xc3, 0x16, 0x94, 0x97, 0x2f, 0xbb, + 0x13, 0x6b, 0x51, 0x63, 0x82, 0x87, 0xa8, 0x7a, 0xe6, 0xd6, 0x68, 0x0c, + 0x32, 0xe6, 0x30, 0x8b, +}; +static const unsigned char kat3892_entropyinpr2[] = { + 0xd1, 0x84, 0x1a, 0x45, 0x13, 0x91, 0x05, 0xa6, 0x6b, 0xfe, 0xf0, 0x96, + 0xd5, 0x84, 0xc5, 0xf3, 0x8b, 0x93, 0xc2, 0x70, 0xf2, 0x97, 0x6d, 0x9a, + 0x6f, 0xc5, 0x1c, 0x9c, 0xe4, 0x4c, 0xf9, 0x0a, 0xc0, 0x62, 0xf9, 0x90, + 0x2f, 0x4c, 0x54, 0x11, +}; +static const unsigned char kat3892_addinpr2[] = { + 0x76, 0xb2, 0x95, 0xd8, 0xe6, 0x89, 0xea, 0xcd, 0x79, 0x77, 0x42, 0xb5, + 0x22, 0xa5, 0x70, 0x7f, 0xcb, 0x14, 0x80, 0xc8, 0x8b, 0xb2, 0xa8, 0xd2, + 0x88, 0x0d, 0x5b, 0x7d, 0x93, 0x6a, 0x4f, 0x7c, 0xd6, 0xaf, 0x0a, 0x11, + 0x15, 0xe8, 0x3b, 0x74, +}; +static const unsigned char kat3892_retbits[] = { + 0xb1, 0xf8, 0xb5, 0xf6, 0xa9, 0x9b, 0x51, 0x58, 0x00, 0x02, 0xc9, 0xea, + 0xd7, 0x0e, 0xb0, 0x16, 0x97, 0xff, 0x1f, 0x0e, 0x01, 0x41, 0xfe, 0x86, + 0xb4, 0x46, 0xeb, 0x3a, 0x0b, 0x13, 0x46, 0x2a, 0x2c, 0x79, 0x85, 0xef, + 0x78, 0x43, 0xe2, 0xa0, 0x4c, 0x05, 0x07, 0x6b, 0xeb, 0x24, 0xed, 0xb9, + 0x2a, 0xcd, 0xcf, 0x6d, 0xaf, 0x0b, 0x32, 0x0e, 0xc8, 0x98, 0x07, 0xa5, + 0x8b, 0x39, 0xbd, 0x73, +}; +static const struct drbg_kat_pr_true kat3892_t = { + 6, kat3892_entropyin, kat3892_nonce, kat3892_persstr, + kat3892_entropyinpr1, kat3892_addinpr1, kat3892_entropyinpr2, + kat3892_addinpr2, kat3892_retbits +}; +static const struct drbg_kat kat3892 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3892_t +}; + +static const unsigned char kat3893_entropyin[] = { + 0x2b, 0x06, 0xa5, 0xb4, 0x75, 0x31, 0x72, 0xec, 0x3a, 0x9e, 0xa0, 0xd7, + 0x82, 0x92, 0xe9, 0x9c, 0xbb, 0x6c, 0x4f, 0x98, 0xf4, 0x79, 0xe7, 0x4b, + 0xf8, 0xe7, 0xc4, 0x3d, 0x48, 0xce, 0xbe, 0x2a, 0xfc, 0x51, 0xc4, 0x43, + 0xcc, 0x41, 0xe0, 0xc7, +}; +static const unsigned char kat3893_nonce[] = {0}; +static const unsigned char kat3893_persstr[] = { + 0x5b, 0xbe, 0xdb, 0xe4, 0x02, 0x80, 0x70, 0xfa, 0xd9, 0xf3, 0x80, 0x50, + 0x7c, 0x2a, 0x79, 0x24, 0x16, 0x28, 0xf7, 0xdc, 0xef, 0x9f, 0x24, 0x9c, + 0xf6, 0xc6, 0x0c, 0xb7, 0xee, 0x65, 0x3c, 0x5d, 0x16, 0x22, 0x62, 0x48, + 0x36, 0x0f, 0x19, 0x35, +}; +static const unsigned char kat3893_entropyinpr1[] = { + 0xfe, 0xa0, 0xf7, 0x8c, 0x7c, 0x6e, 0x25, 0x58, 0xc1, 0xc6, 0x18, 0x69, + 0x2d, 0x2e, 0x39, 0xb3, 0x5a, 0xb4, 0xc3, 0xaf, 0x4f, 0x27, 0xfe, 0x38, + 0xa3, 0x1c, 0xa0, 0x80, 0xc2, 0x6d, 0x99, 0x34, 0xe1, 0xa2, 0xe9, 0xb6, + 0x2a, 0xb8, 0xee, 0x1d, +}; +static const unsigned char kat3893_addinpr1[] = { + 0xac, 0x8f, 0x06, 0x6d, 0xde, 0x1f, 0x77, 0x16, 0x35, 0x82, 0x1a, 0x9b, + 0xe1, 0x0a, 0xa1, 0x2b, 0xd6, 0x34, 0x1b, 0x57, 0xdd, 0x7c, 0xb0, 0x1f, + 0x11, 0xa3, 0x5b, 0xe6, 0xa9, 0x47, 0x3b, 0x7d, 0x48, 0x65, 0x6b, 0x4a, + 0x7f, 0xcf, 0xc1, 0x7b, +}; +static const unsigned char kat3893_entropyinpr2[] = { + 0x33, 0x66, 0xcb, 0xc5, 0x4c, 0xba, 0x7c, 0x98, 0x9f, 0x65, 0x28, 0x0c, + 0xc5, 0xf0, 0xd5, 0xac, 0xcb, 0x62, 0x35, 0x06, 0xe8, 0x22, 0xe1, 0xd0, + 0xf2, 0x63, 0x68, 0xd1, 0x11, 0xa5, 0x7b, 0x2f, 0x69, 0x2c, 0x44, 0x63, + 0x7d, 0x97, 0x53, 0x9e, +}; +static const unsigned char kat3893_addinpr2[] = { + 0x74, 0x1c, 0x84, 0xce, 0xff, 0xa4, 0x61, 0x18, 0x83, 0xe5, 0x00, 0xcc, + 0xdc, 0xaa, 0x0b, 0x7e, 0x0a, 0x29, 0x7e, 0x2c, 0xb3, 0x74, 0xbb, 0x1c, + 0x29, 0xfe, 0xc8, 0x45, 0xd7, 0x03, 0x67, 0xfd, 0x0a, 0x7e, 0xc5, 0x7d, + 0x70, 0xd5, 0xf4, 0x06, +}; +static const unsigned char kat3893_retbits[] = { + 0xc1, 0x29, 0x38, 0x0b, 0xc3, 0x50, 0x11, 0x35, 0x2f, 0x27, 0xa9, 0x73, + 0x8e, 0x7a, 0x77, 0xa9, 0x15, 0x78, 0x4a, 0x59, 0x2d, 0xc2, 0x4a, 0xb7, + 0x5f, 0x46, 0x25, 0x97, 0xb2, 0xe1, 0x23, 0xaf, 0x3b, 0x38, 0x95, 0x97, + 0x1f, 0x9b, 0x5f, 0x1b, 0xe9, 0x60, 0xf0, 0xa4, 0xce, 0x2c, 0xa0, 0x96, + 0xd6, 0x6b, 0x5d, 0x05, 0x9f, 0xb2, 0x32, 0x7e, 0x3b, 0x8c, 0xeb, 0xb7, + 0xcc, 0xbf, 0x97, 0x74, +}; +static const struct drbg_kat_pr_true kat3893_t = { + 7, kat3893_entropyin, kat3893_nonce, kat3893_persstr, + kat3893_entropyinpr1, kat3893_addinpr1, kat3893_entropyinpr2, + kat3893_addinpr2, kat3893_retbits +}; +static const struct drbg_kat kat3893 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3893_t +}; + +static const unsigned char kat3894_entropyin[] = { + 0x88, 0xdf, 0x6a, 0x70, 0x23, 0x7d, 0xeb, 0x8f, 0x49, 0x4a, 0xf9, 0xed, + 0x56, 0x90, 0x04, 0x1b, 0x9a, 0x0b, 0x74, 0x1d, 0x2b, 0xf1, 0xcb, 0x61, + 0xec, 0x9c, 0x48, 0xa9, 0x3e, 0xfd, 0xbd, 0x3a, 0xac, 0xab, 0x82, 0xf6, + 0x9f, 0x03, 0x6c, 0xba, +}; +static const unsigned char kat3894_nonce[] = {0}; +static const unsigned char kat3894_persstr[] = { + 0x01, 0xc7, 0x01, 0x86, 0xc7, 0xbc, 0x95, 0xbc, 0xaf, 0x5c, 0x88, 0x04, + 0x37, 0x74, 0xdf, 0xcd, 0xa4, 0x40, 0x16, 0xb9, 0x1b, 0x29, 0x33, 0xc6, + 0x9c, 0x02, 0xce, 0x6c, 0x0e, 0x26, 0xe4, 0x23, 0x66, 0xe8, 0xfe, 0x87, + 0x21, 0x25, 0xdd, 0x30, +}; +static const unsigned char kat3894_entropyinpr1[] = { + 0xb5, 0x73, 0xc3, 0xf4, 0x61, 0x09, 0xa3, 0x81, 0xb3, 0xf1, 0xd3, 0xaa, + 0xeb, 0x90, 0x43, 0xc1, 0x86, 0xda, 0xdd, 0xf1, 0xeb, 0xe7, 0xb9, 0x21, + 0x6c, 0x61, 0x6c, 0x94, 0x4a, 0x97, 0x56, 0x46, 0xb2, 0x8c, 0x6d, 0x35, + 0xc2, 0xaf, 0xa7, 0xae, +}; +static const unsigned char kat3894_addinpr1[] = { + 0xbc, 0xde, 0x33, 0x35, 0x27, 0x71, 0x7e, 0x7b, 0x42, 0x7e, 0x6b, 0xb0, + 0x92, 0x65, 0x13, 0x9b, 0x92, 0xb4, 0x54, 0x0d, 0xa1, 0x65, 0x6b, 0x81, + 0xcc, 0x5b, 0x41, 0x9c, 0x71, 0xa2, 0x60, 0x59, 0xb2, 0x83, 0x6a, 0xce, + 0x94, 0x35, 0x0b, 0xb2, +}; +static const unsigned char kat3894_entropyinpr2[] = { + 0x77, 0x4d, 0x4c, 0x74, 0xd9, 0x86, 0x72, 0x1f, 0xa0, 0xd1, 0x5a, 0x9b, + 0x9c, 0xd6, 0x39, 0x43, 0x62, 0xa8, 0xf6, 0x3a, 0xfa, 0xc1, 0xf2, 0x19, + 0x5b, 0x52, 0x9f, 0x4b, 0xeb, 0xbb, 0x0e, 0xde, 0x28, 0x12, 0xc5, 0x54, + 0x91, 0xdf, 0x64, 0x72, +}; +static const unsigned char kat3894_addinpr2[] = { + 0xff, 0xc8, 0xe2, 0x7a, 0x9a, 0x49, 0x22, 0x2a, 0x4f, 0xe9, 0xee, 0xd1, + 0x59, 0xc1, 0x88, 0x29, 0xed, 0x2e, 0x11, 0xc6, 0xb3, 0xbd, 0xc6, 0x66, + 0x52, 0x4b, 0x73, 0x2a, 0xd5, 0x77, 0x20, 0xb6, 0x25, 0x60, 0x7b, 0xb3, + 0xc3, 0x98, 0xc7, 0x37, +}; +static const unsigned char kat3894_retbits[] = { + 0x4c, 0x22, 0x35, 0x4a, 0xaa, 0x9b, 0x9e, 0x29, 0x8b, 0x66, 0x5c, 0xd8, + 0x74, 0x7a, 0x21, 0x7d, 0x50, 0xb3, 0x8b, 0xaa, 0x24, 0x07, 0x72, 0x7d, + 0x8b, 0x0e, 0x1e, 0x35, 0x09, 0x61, 0x31, 0xf5, 0x92, 0x06, 0x31, 0x90, + 0xc7, 0xb6, 0xe9, 0xf8, 0x11, 0xb9, 0xbd, 0xae, 0x87, 0x09, 0xe6, 0x8d, + 0x60, 0xf7, 0x95, 0x3c, 0x3e, 0x3a, 0x45, 0x2b, 0xeb, 0x23, 0x3d, 0xea, + 0xd2, 0xcf, 0xbf, 0xe5, +}; +static const struct drbg_kat_pr_true kat3894_t = { + 8, kat3894_entropyin, kat3894_nonce, kat3894_persstr, + kat3894_entropyinpr1, kat3894_addinpr1, kat3894_entropyinpr2, + kat3894_addinpr2, kat3894_retbits +}; +static const struct drbg_kat kat3894 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3894_t +}; + +static const unsigned char kat3895_entropyin[] = { + 0x4a, 0x8e, 0x24, 0x50, 0x0f, 0x1f, 0xec, 0x02, 0x9b, 0x15, 0x8a, 0xed, + 0x18, 0xac, 0x92, 0xe4, 0x3e, 0xc8, 0xd6, 0xbc, 0xfa, 0x5f, 0x1a, 0x3b, + 0xcc, 0x6e, 0x60, 0x51, 0xac, 0x54, 0xee, 0xee, 0xb9, 0xa5, 0x5e, 0x81, + 0x8d, 0xb4, 0x5e, 0x66, +}; +static const unsigned char kat3895_nonce[] = {0}; +static const unsigned char kat3895_persstr[] = { + 0xaa, 0x73, 0x07, 0xd4, 0x38, 0x1d, 0xcc, 0x7b, 0xcb, 0xdb, 0xab, 0xe4, + 0x5b, 0x9e, 0x90, 0x46, 0x04, 0x92, 0x1c, 0xed, 0x1f, 0x33, 0x28, 0xdf, + 0x7a, 0x90, 0x77, 0x45, 0xb4, 0xb2, 0xe6, 0x5a, 0xa3, 0xb8, 0xa8, 0x19, + 0x20, 0x59, 0xe9, 0xf7, +}; +static const unsigned char kat3895_entropyinpr1[] = { + 0x02, 0x13, 0xd0, 0x90, 0x64, 0x18, 0xfe, 0x16, 0xb7, 0x95, 0x67, 0xa4, + 0x05, 0xfc, 0x06, 0x59, 0x62, 0x3f, 0xa3, 0x9a, 0x02, 0xa3, 0x77, 0x57, + 0x62, 0xc1, 0x3e, 0x10, 0x26, 0x0c, 0xc3, 0x71, 0x99, 0x3b, 0xa2, 0xa9, + 0x14, 0xea, 0x90, 0xf3, +}; +static const unsigned char kat3895_addinpr1[] = { + 0xd2, 0x82, 0x9c, 0xc1, 0xac, 0x9d, 0x9f, 0x3b, 0x4d, 0x37, 0x1d, 0x94, + 0xf5, 0x63, 0x75, 0x6b, 0x71, 0x33, 0x23, 0x08, 0x3a, 0x86, 0x7b, 0xc7, + 0xf6, 0x54, 0x88, 0x6d, 0x35, 0x38, 0x02, 0xb9, 0x6c, 0x66, 0xce, 0x80, + 0xde, 0x81, 0x53, 0xc5, +}; +static const unsigned char kat3895_entropyinpr2[] = { + 0x42, 0xbb, 0x19, 0x2f, 0x3f, 0x98, 0x1c, 0x2d, 0x4e, 0x33, 0x8e, 0xc3, + 0x37, 0xfa, 0x21, 0xb2, 0x11, 0x55, 0x6a, 0xb0, 0x60, 0xed, 0x9a, 0x9f, + 0x79, 0x97, 0x33, 0x45, 0x17, 0xf5, 0x37, 0x3e, 0x41, 0xab, 0x8f, 0x16, + 0x64, 0x6e, 0xda, 0xde, +}; +static const unsigned char kat3895_addinpr2[] = { + 0x5a, 0xa2, 0x51, 0x92, 0xd7, 0xbe, 0x04, 0x44, 0x4a, 0x3f, 0x02, 0x37, + 0x06, 0xce, 0x99, 0x5c, 0x0f, 0x06, 0x13, 0x18, 0x8d, 0xf4, 0x34, 0x2d, + 0x5a, 0x01, 0x92, 0x43, 0xcb, 0x7b, 0x0e, 0x5a, 0x82, 0x2a, 0xe7, 0x18, + 0x1e, 0x7f, 0x79, 0x00, +}; +static const unsigned char kat3895_retbits[] = { + 0xc7, 0xc9, 0xd3, 0xf4, 0x36, 0x5c, 0x28, 0x14, 0xe8, 0xc9, 0x8d, 0xa4, + 0xef, 0xb1, 0x0e, 0xaa, 0x39, 0xb2, 0xb1, 0xcd, 0x99, 0x80, 0x36, 0x8c, + 0x25, 0x26, 0x6d, 0xd5, 0x4f, 0xe9, 0x1f, 0xbe, 0x98, 0xcf, 0x61, 0x72, + 0x71, 0x98, 0x5e, 0x79, 0x2f, 0xe2, 0x43, 0x16, 0x4d, 0x36, 0xca, 0x0b, + 0xa4, 0x14, 0x0f, 0xb8, 0x6f, 0xaa, 0x01, 0x40, 0x79, 0x7b, 0x1d, 0x72, + 0x80, 0x73, 0xd5, 0x93, +}; +static const struct drbg_kat_pr_true kat3895_t = { + 9, kat3895_entropyin, kat3895_nonce, kat3895_persstr, + kat3895_entropyinpr1, kat3895_addinpr1, kat3895_entropyinpr2, + kat3895_addinpr2, kat3895_retbits +}; +static const struct drbg_kat kat3895 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3895_t +}; + +static const unsigned char kat3896_entropyin[] = { + 0x92, 0x7a, 0x1a, 0xe9, 0x56, 0x06, 0xaf, 0x0c, 0xea, 0x3a, 0x61, 0xa6, + 0x3b, 0xa2, 0x92, 0xd0, 0xdf, 0x0c, 0xae, 0x0e, 0x00, 0x9d, 0x2a, 0x3c, + 0xb3, 0x97, 0x93, 0xcb, 0xc2, 0xc8, 0xf6, 0x76, 0x7f, 0x07, 0xed, 0x63, + 0xd1, 0x33, 0xd0, 0x00, +}; +static const unsigned char kat3896_nonce[] = {0}; +static const unsigned char kat3896_persstr[] = { + 0xa0, 0x41, 0xc7, 0x75, 0x06, 0x90, 0xf0, 0xed, 0x70, 0x38, 0x13, 0x15, + 0x7f, 0xa9, 0xaf, 0xa1, 0x6f, 0xd0, 0xfe, 0x48, 0x97, 0x82, 0x62, 0x48, + 0x21, 0x01, 0xff, 0x14, 0xc7, 0xef, 0x9b, 0x98, 0x96, 0xc3, 0x2c, 0x70, + 0xda, 0xf8, 0x26, 0xa8, +}; +static const unsigned char kat3896_entropyinpr1[] = { + 0xe3, 0x1d, 0x3b, 0xf0, 0x74, 0x06, 0x1f, 0x72, 0x12, 0xe7, 0xbf, 0x77, + 0xc4, 0x57, 0xe1, 0xe0, 0x14, 0xf7, 0x09, 0xe6, 0x09, 0xdc, 0xa5, 0x30, + 0x39, 0x50, 0x72, 0x31, 0x9a, 0xcd, 0xe5, 0x21, 0x49, 0x24, 0x2a, 0xf1, + 0x59, 0xa2, 0xe2, 0x15, +}; +static const unsigned char kat3896_addinpr1[] = { + 0x9a, 0xd1, 0xb5, 0x85, 0xef, 0xf6, 0xa6, 0x20, 0xa3, 0xc2, 0x0d, 0xfe, + 0x69, 0x56, 0xad, 0x33, 0xff, 0x86, 0xad, 0x59, 0x27, 0xa7, 0x8c, 0x70, + 0x7b, 0xa7, 0x8f, 0x27, 0x98, 0x20, 0xfd, 0xc6, 0x58, 0x2f, 0x60, 0x01, + 0x4b, 0x38, 0xe4, 0x63, +}; +static const unsigned char kat3896_entropyinpr2[] = { + 0x8c, 0x73, 0xe5, 0x63, 0x03, 0xb8, 0x08, 0x21, 0x19, 0x44, 0x65, 0x16, + 0x22, 0x1e, 0x7f, 0xa3, 0x86, 0x86, 0xf8, 0x5e, 0xa9, 0x38, 0x9a, 0xf3, + 0xbb, 0x5c, 0xf0, 0x3f, 0xfe, 0x87, 0xfa, 0xd9, 0x71, 0x62, 0x6f, 0xc5, + 0x13, 0x49, 0x5c, 0x74, +}; +static const unsigned char kat3896_addinpr2[] = { + 0xd4, 0xfd, 0xd0, 0x44, 0xb0, 0x91, 0xbd, 0x8b, 0xa2, 0x2e, 0x61, 0x35, + 0xf2, 0x87, 0xd0, 0xc7, 0x5e, 0x9b, 0xc4, 0x79, 0x4d, 0x02, 0xba, 0x44, + 0x5e, 0x9c, 0x32, 0x84, 0x82, 0x32, 0x03, 0x1a, 0xdc, 0xa5, 0xd5, 0xfb, + 0xa0, 0x2b, 0xdb, 0xb0, +}; +static const unsigned char kat3896_retbits[] = { + 0x20, 0x99, 0x43, 0x4e, 0x3c, 0x85, 0x5f, 0xa1, 0x9b, 0xf2, 0x07, 0xb7, + 0x02, 0x9c, 0x5a, 0x4f, 0x1b, 0xa8, 0x45, 0x80, 0x86, 0x43, 0x97, 0x5a, + 0xa6, 0xb1, 0x54, 0xaf, 0xf7, 0xa9, 0x02, 0x30, 0x71, 0x5a, 0xbc, 0x70, + 0x31, 0x47, 0xf2, 0x04, 0x55, 0x1a, 0x77, 0xe4, 0x9c, 0x7e, 0x60, 0xa2, + 0x12, 0x79, 0x39, 0xbc, 0x5e, 0xd9, 0xf8, 0xaa, 0x0a, 0xda, 0x4a, 0x52, + 0x6b, 0x6a, 0x34, 0xe4, +}; +static const struct drbg_kat_pr_true kat3896_t = { + 10, kat3896_entropyin, kat3896_nonce, kat3896_persstr, + kat3896_entropyinpr1, kat3896_addinpr1, kat3896_entropyinpr2, + kat3896_addinpr2, kat3896_retbits +}; +static const struct drbg_kat kat3896 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3896_t +}; + +static const unsigned char kat3897_entropyin[] = { + 0x09, 0x48, 0x72, 0x9d, 0x3f, 0xba, 0x75, 0xcb, 0xe8, 0x33, 0xc1, 0x11, + 0x74, 0x11, 0xf9, 0x2a, 0xb7, 0x5b, 0x1f, 0x21, 0x43, 0xed, 0x24, 0x8a, + 0x8c, 0x14, 0x1b, 0xf6, 0xa3, 0x54, 0xe1, 0x14, 0xeb, 0x26, 0xbf, 0x75, + 0x5c, 0x84, 0xbc, 0xab, +}; +static const unsigned char kat3897_nonce[] = {0}; +static const unsigned char kat3897_persstr[] = { + 0x27, 0x0f, 0x9b, 0x80, 0x9a, 0xf5, 0xf4, 0x2d, 0x3a, 0xb0, 0xbd, 0x3c, + 0x8f, 0x63, 0x6e, 0xdc, 0x4a, 0x8b, 0xb7, 0x13, 0xb5, 0x39, 0xe6, 0x98, + 0xd4, 0x08, 0x34, 0x08, 0x44, 0x92, 0xba, 0x50, 0x23, 0xef, 0x08, 0x59, + 0xac, 0x64, 0x93, 0xa4, +}; +static const unsigned char kat3897_entropyinpr1[] = { + 0x8e, 0x4a, 0x81, 0x55, 0x41, 0xcb, 0xf3, 0x1b, 0x58, 0x1a, 0x71, 0x04, + 0x55, 0x55, 0x92, 0xb7, 0xe1, 0x67, 0xbb, 0x42, 0xdd, 0x3c, 0x04, 0xcf, + 0x91, 0x3e, 0xab, 0x6b, 0xee, 0x00, 0x38, 0xc6, 0xd2, 0xc2, 0x8a, 0xeb, + 0x25, 0xe0, 0xc1, 0x9a, +}; +static const unsigned char kat3897_addinpr1[] = { + 0x06, 0x1c, 0x66, 0x10, 0x3d, 0xff, 0x5b, 0xb1, 0xb9, 0x3f, 0xb3, 0x40, + 0xeb, 0xfb, 0xc0, 0x5c, 0xba, 0x7f, 0x8f, 0x07, 0x72, 0x88, 0x99, 0x2b, + 0x5f, 0x06, 0xd5, 0x65, 0x36, 0x7d, 0xec, 0xec, 0x25, 0xf6, 0x67, 0x63, + 0x5a, 0xf9, 0xb0, 0xc8, +}; +static const unsigned char kat3897_entropyinpr2[] = { + 0x95, 0x74, 0x80, 0xd7, 0xc6, 0xca, 0xf4, 0x87, 0xa8, 0x20, 0x02, 0x2f, + 0x20, 0x2f, 0xf2, 0x1b, 0xf1, 0x86, 0x74, 0xdd, 0xb8, 0xc4, 0x4a, 0xa2, + 0x53, 0x39, 0x63, 0x5f, 0xd3, 0x29, 0x14, 0x12, 0x31, 0x1b, 0x27, 0x88, + 0x61, 0x73, 0xf6, 0x62, +}; +static const unsigned char kat3897_addinpr2[] = { + 0x93, 0xa7, 0x08, 0x41, 0xad, 0xa8, 0xe4, 0xa7, 0xce, 0x7a, 0x92, 0x02, + 0xda, 0xbe, 0xac, 0x62, 0x17, 0x4b, 0x1a, 0x1e, 0x84, 0x5b, 0x73, 0xa0, + 0x39, 0xe7, 0x27, 0x00, 0x57, 0xe6, 0x16, 0xe8, 0x0b, 0x14, 0x84, 0xcb, + 0x35, 0xe3, 0x0a, 0xe1, +}; +static const unsigned char kat3897_retbits[] = { + 0x6a, 0x89, 0xae, 0x76, 0x13, 0xa1, 0x9a, 0x23, 0xd4, 0xf9, 0xd2, 0x42, + 0xbd, 0x87, 0x2c, 0xbe, 0x85, 0x9f, 0x62, 0x46, 0x10, 0x54, 0xde, 0x53, + 0xcb, 0x6c, 0x00, 0x90, 0xdf, 0x9e, 0x77, 0xb1, 0xaf, 0xbc, 0xc1, 0xab, + 0x7f, 0x44, 0xa6, 0xdc, 0x9d, 0x81, 0x35, 0x7e, 0x71, 0x46, 0x3d, 0xab, + 0x6b, 0x5c, 0xc2, 0x72, 0xa8, 0xeb, 0x5d, 0xf0, 0x9a, 0x1c, 0x7c, 0xfd, + 0x86, 0x1d, 0x79, 0x33, +}; +static const struct drbg_kat_pr_true kat3897_t = { + 11, kat3897_entropyin, kat3897_nonce, kat3897_persstr, + kat3897_entropyinpr1, kat3897_addinpr1, kat3897_entropyinpr2, + kat3897_addinpr2, kat3897_retbits +}; +static const struct drbg_kat kat3897 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3897_t +}; + +static const unsigned char kat3898_entropyin[] = { + 0xf1, 0xc6, 0xd7, 0xdd, 0x73, 0xfa, 0x72, 0x93, 0x5f, 0xfc, 0x34, 0xcf, + 0xaa, 0x9f, 0x89, 0xbb, 0x8c, 0xf9, 0xbc, 0xe1, 0x53, 0x37, 0xd5, 0x35, + 0xb0, 0x81, 0x2c, 0x78, 0xc8, 0xb0, 0x61, 0x67, 0xc8, 0xd2, 0xd8, 0xf6, + 0x54, 0x9c, 0x75, 0xd6, +}; +static const unsigned char kat3898_nonce[] = {0}; +static const unsigned char kat3898_persstr[] = { + 0x5a, 0xd2, 0x26, 0x7f, 0xc6, 0xf3, 0x2d, 0xd8, 0x36, 0x6f, 0x77, 0xa3, + 0x0a, 0xab, 0xb1, 0xe7, 0xaa, 0xef, 0xf4, 0x6b, 0xda, 0x00, 0x34, 0xec, + 0x94, 0x75, 0x71, 0x48, 0xf5, 0x59, 0xe0, 0x6e, 0x41, 0xa6, 0x74, 0x56, + 0xc9, 0xcd, 0xf8, 0x11, +}; +static const unsigned char kat3898_entropyinpr1[] = { + 0x84, 0xee, 0xc6, 0xd7, 0x55, 0x26, 0x06, 0xcb, 0x8e, 0x04, 0xab, 0xb9, + 0x48, 0x79, 0x55, 0xa1, 0x93, 0xa4, 0x6f, 0x17, 0x4a, 0x62, 0x37, 0xd7, + 0xee, 0x4f, 0x08, 0x08, 0x8b, 0x08, 0x71, 0xb6, 0x4f, 0xc7, 0xfb, 0xfd, + 0x69, 0x4f, 0xad, 0x7a, +}; +static const unsigned char kat3898_addinpr1[] = { + 0xad, 0x0e, 0x2d, 0xf4, 0x6f, 0xb6, 0x77, 0x46, 0x7c, 0x40, 0xfc, 0xd7, + 0x88, 0xe4, 0x3b, 0x6e, 0x30, 0x0d, 0x88, 0xc7, 0x5f, 0x14, 0x33, 0x79, + 0x35, 0x6c, 0x93, 0x54, 0x31, 0x8a, 0x37, 0xcd, 0x4d, 0xbd, 0x3c, 0xd5, + 0x64, 0xb6, 0xef, 0x34, +}; +static const unsigned char kat3898_entropyinpr2[] = { + 0xa0, 0xf8, 0xe9, 0xa6, 0xba, 0x72, 0x85, 0x0a, 0x6d, 0xfd, 0xc5, 0x2f, + 0x16, 0x84, 0x11, 0xa8, 0xe3, 0xaa, 0x1e, 0xa4, 0xcc, 0xb3, 0xbd, 0x7c, + 0xec, 0xd4, 0xf8, 0xde, 0x4d, 0x57, 0x7d, 0xaa, 0x63, 0xee, 0xbf, 0xba, + 0x1b, 0x52, 0x34, 0xec, +}; +static const unsigned char kat3898_addinpr2[] = { + 0x0c, 0x7a, 0xfc, 0x57, 0xdb, 0x9f, 0x38, 0xf3, 0xae, 0xde, 0x61, 0x60, + 0xfe, 0x96, 0x53, 0xc8, 0x7c, 0x4a, 0x89, 0x2a, 0xd1, 0xcb, 0xcd, 0xb7, + 0x2b, 0xb7, 0x0f, 0x94, 0x92, 0xaf, 0xd8, 0xb8, 0x63, 0x78, 0x67, 0x4c, + 0x79, 0xf0, 0x7d, 0xe1, +}; +static const unsigned char kat3898_retbits[] = { + 0x4f, 0x96, 0x40, 0xe1, 0x3a, 0x26, 0x46, 0x78, 0x89, 0x41, 0x3c, 0xb1, + 0xd2, 0xae, 0xb7, 0xe9, 0x53, 0xce, 0x9c, 0x73, 0x10, 0x0a, 0x3b, 0x89, + 0x25, 0xc5, 0x1d, 0xba, 0x54, 0xcf, 0x78, 0x5c, 0x7c, 0xed, 0x5a, 0x18, + 0xf4, 0xf4, 0x76, 0x23, 0xfa, 0x35, 0xfb, 0x1e, 0xce, 0x4b, 0xf4, 0x2f, + 0x99, 0x0d, 0x12, 0x2a, 0x66, 0xda, 0x7c, 0xf4, 0xb9, 0x2b, 0xb2, 0x2f, + 0x06, 0x46, 0xad, 0xb3, +}; +static const struct drbg_kat_pr_true kat3898_t = { + 12, kat3898_entropyin, kat3898_nonce, kat3898_persstr, + kat3898_entropyinpr1, kat3898_addinpr1, kat3898_entropyinpr2, + kat3898_addinpr2, kat3898_retbits +}; +static const struct drbg_kat kat3898 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3898_t +}; + +static const unsigned char kat3899_entropyin[] = { + 0x74, 0xd9, 0xe3, 0x48, 0x2b, 0x9c, 0x30, 0x80, 0x9d, 0x63, 0x70, 0x36, + 0xe4, 0x4a, 0x1e, 0x58, 0x02, 0x23, 0xfb, 0x12, 0xed, 0x51, 0x24, 0x4d, + 0xdd, 0xb0, 0xef, 0x0f, 0xec, 0x45, 0x69, 0x25, 0xa2, 0xf0, 0x6b, 0xd8, + 0xe3, 0x89, 0x20, 0xbc, +}; +static const unsigned char kat3899_nonce[] = {0}; +static const unsigned char kat3899_persstr[] = { + 0x9c, 0xcb, 0x35, 0xbe, 0x8c, 0x4f, 0x28, 0xdb, 0x23, 0x7f, 0x92, 0x93, + 0x7f, 0x14, 0xef, 0x2d, 0xed, 0xdc, 0x78, 0xad, 0x61, 0xa8, 0x47, 0x3f, + 0xe5, 0x00, 0xd3, 0x9f, 0xc8, 0x50, 0xf1, 0x94, 0x34, 0x35, 0x67, 0xc3, + 0xc6, 0xb0, 0xb7, 0x26, +}; +static const unsigned char kat3899_entropyinpr1[] = { + 0x06, 0x83, 0xc9, 0xbe, 0x88, 0x4e, 0xb5, 0x96, 0x32, 0x8d, 0xa0, 0x91, + 0xd4, 0x22, 0x72, 0x87, 0xd1, 0x76, 0x37, 0x8a, 0x3a, 0x47, 0xdf, 0x2a, + 0x60, 0x0e, 0xde, 0x6e, 0x50, 0x75, 0x6e, 0xa6, 0x88, 0x7a, 0x48, 0x08, + 0x6e, 0xcb, 0x76, 0x41, +}; +static const unsigned char kat3899_addinpr1[] = { + 0xd5, 0xd0, 0x9c, 0x99, 0x10, 0x22, 0xde, 0x16, 0x15, 0x49, 0xe3, 0x29, + 0x59, 0x7b, 0xd6, 0xc7, 0x1f, 0xc9, 0x3e, 0x6b, 0xb8, 0xa0, 0xe2, 0x57, + 0x3d, 0x70, 0x6b, 0x49, 0x0d, 0x2e, 0x5c, 0xb0, 0xf2, 0x09, 0x61, 0x98, + 0x8e, 0xf6, 0x08, 0x8e, +}; +static const unsigned char kat3899_entropyinpr2[] = { + 0xce, 0xf3, 0x1c, 0x55, 0xff, 0xf0, 0xff, 0xe9, 0x47, 0x07, 0x13, 0xf0, + 0xc4, 0x08, 0x6d, 0xc3, 0x96, 0x8d, 0xe6, 0x65, 0x8f, 0xe5, 0xac, 0x06, + 0x2a, 0x51, 0x11, 0x23, 0x23, 0xf3, 0x6d, 0x56, 0xf4, 0xf2, 0xec, 0x9a, + 0x0d, 0x87, 0xbe, 0x1b, +}; +static const unsigned char kat3899_addinpr2[] = { + 0x11, 0x88, 0x3b, 0x41, 0x66, 0x30, 0xb2, 0xe7, 0x12, 0x3a, 0xdb, 0x10, + 0xb2, 0x21, 0xa4, 0x11, 0xf5, 0x2e, 0x28, 0xe4, 0x64, 0x2b, 0xd5, 0x85, + 0xbc, 0xe3, 0xc0, 0x1b, 0xb1, 0x49, 0xba, 0xeb, 0xbc, 0x45, 0xe7, 0xac, + 0x70, 0x1b, 0x30, 0x9e, +}; +static const unsigned char kat3899_retbits[] = { + 0x54, 0xae, 0x5b, 0x40, 0x65, 0x9d, 0x67, 0x3b, 0xe0, 0x7b, 0x70, 0x53, + 0x7d, 0xc6, 0x84, 0x51, 0x4d, 0xfb, 0x63, 0x4c, 0x4c, 0xf4, 0xcc, 0x3b, + 0xa9, 0xe0, 0xb5, 0x08, 0xd2, 0xdd, 0x43, 0xc0, 0x99, 0x2e, 0x02, 0xdb, + 0x6f, 0x97, 0xfe, 0xf9, 0x05, 0x0f, 0x00, 0x33, 0x40, 0x37, 0xdf, 0x74, + 0xc0, 0x47, 0x6b, 0x29, 0x03, 0xd0, 0x59, 0x95, 0xf0, 0x0c, 0x80, 0x31, + 0xc1, 0x7a, 0x93, 0x6d, +}; +static const struct drbg_kat_pr_true kat3899_t = { + 13, kat3899_entropyin, kat3899_nonce, kat3899_persstr, + kat3899_entropyinpr1, kat3899_addinpr1, kat3899_entropyinpr2, + kat3899_addinpr2, kat3899_retbits +}; +static const struct drbg_kat kat3899 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3899_t +}; + +static const unsigned char kat3900_entropyin[] = { + 0x5a, 0x9d, 0x6c, 0x36, 0xa4, 0x49, 0x85, 0xf5, 0x43, 0x13, 0x57, 0xe9, + 0x54, 0xbf, 0x60, 0xc0, 0x42, 0xaf, 0x08, 0xc7, 0xd6, 0x77, 0x54, 0x9a, + 0x27, 0x49, 0xd7, 0x10, 0x0b, 0x34, 0x9f, 0xf6, 0x74, 0xfb, 0xe3, 0xe8, + 0xd2, 0x82, 0xaa, 0x99, +}; +static const unsigned char kat3900_nonce[] = {0}; +static const unsigned char kat3900_persstr[] = { + 0xd3, 0x95, 0x86, 0xa3, 0x50, 0x99, 0xa2, 0xa3, 0x48, 0x7b, 0x31, 0xb0, + 0x0f, 0x74, 0x15, 0xcf, 0xd7, 0xa8, 0x25, 0x65, 0xef, 0xa1, 0xfe, 0xf9, + 0x3b, 0xa5, 0x7f, 0x7e, 0x52, 0x0a, 0x26, 0xfc, 0x0a, 0xdc, 0x38, 0x49, + 0xb9, 0x50, 0x62, 0xc1, +}; +static const unsigned char kat3900_entropyinpr1[] = { + 0x64, 0x69, 0xe2, 0x9a, 0x1b, 0xc9, 0x47, 0xdb, 0xac, 0x26, 0x94, 0x2a, + 0x5f, 0x06, 0xa3, 0xce, 0x03, 0x85, 0x48, 0xe8, 0x5d, 0x80, 0x11, 0x63, + 0xcc, 0x5a, 0x38, 0x44, 0xc5, 0x84, 0xa8, 0xd3, 0xb1, 0xec, 0xfb, 0x7f, + 0x2f, 0x0b, 0x3a, 0x89, +}; +static const unsigned char kat3900_addinpr1[] = { + 0xd5, 0xb8, 0xd9, 0x60, 0xb3, 0x00, 0xe1, 0x22, 0x7b, 0xf4, 0x24, 0x31, + 0xc3, 0x65, 0x40, 0x7a, 0xae, 0x24, 0xcb, 0xfa, 0x12, 0x37, 0x5a, 0x77, + 0x3b, 0x2a, 0x1b, 0xd7, 0xd6, 0x78, 0x32, 0x11, 0x8e, 0xba, 0x70, 0xfe, + 0xc6, 0xa3, 0x66, 0xe4, +}; +static const unsigned char kat3900_entropyinpr2[] = { + 0xc9, 0x25, 0x5e, 0x2f, 0xab, 0xf8, 0x4b, 0x9e, 0xdd, 0x45, 0x73, 0x7f, + 0x5d, 0xe1, 0x3e, 0x56, 0x61, 0xac, 0xc0, 0x36, 0x23, 0xa3, 0xf9, 0x26, + 0x8e, 0xfc, 0xaf, 0x7f, 0x55, 0x62, 0xcf, 0x83, 0x9b, 0xcc, 0xed, 0xa2, + 0x29, 0xe0, 0x6f, 0x11, +}; +static const unsigned char kat3900_addinpr2[] = { + 0x3d, 0x91, 0xe9, 0xe7, 0xca, 0x56, 0x83, 0x31, 0x25, 0x45, 0xbd, 0xb4, + 0x61, 0x3d, 0xba, 0x83, 0x18, 0x2b, 0x0c, 0x90, 0x6f, 0x3a, 0x1d, 0x65, + 0xa2, 0x61, 0x07, 0x09, 0xe8, 0x3a, 0x7b, 0x4b, 0x7f, 0xd9, 0x73, 0xe4, + 0x0b, 0x82, 0xa3, 0x72, +}; +static const unsigned char kat3900_retbits[] = { + 0x28, 0xac, 0x3a, 0xcb, 0x17, 0xdf, 0xdb, 0xa1, 0xd5, 0xab, 0xb3, 0xe2, + 0x51, 0x5d, 0xc1, 0x6b, 0x42, 0xbd, 0x20, 0x7d, 0x27, 0x43, 0xc5, 0x1b, + 0x3a, 0x2e, 0x5e, 0xdc, 0xeb, 0x00, 0x21, 0xd9, 0x64, 0xfa, 0xdd, 0x50, + 0xd4, 0x99, 0xe2, 0xdf, 0x16, 0x23, 0xc2, 0x83, 0x2a, 0x9e, 0x55, 0x23, + 0x31, 0xe9, 0x15, 0x39, 0x5d, 0x65, 0xe9, 0x5f, 0x3d, 0x52, 0x3d, 0x40, + 0xd1, 0xd8, 0xa1, 0x5c, +}; +static const struct drbg_kat_pr_true kat3900_t = { + 14, kat3900_entropyin, kat3900_nonce, kat3900_persstr, + kat3900_entropyinpr1, kat3900_addinpr1, kat3900_entropyinpr2, + kat3900_addinpr2, kat3900_retbits +}; +static const struct drbg_kat kat3900 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3900_t +}; + +static const unsigned char kat3901_entropyin[] = { + 0xdb, 0x72, 0x6a, 0x74, 0x30, 0x2a, 0x23, 0xe2, 0x0b, 0xe9, 0x09, 0x06, + 0x7f, 0xe8, 0xe0, 0x2f, 0x22, 0x67, 0x73, 0x9b, 0xdb, 0x73, 0xe0, 0x6f, + 0x16, 0x32, 0xcc, 0x23, 0x68, 0xe3, 0xba, 0xa8, 0x19, 0xf8, 0xd1, 0x00, + 0x73, 0x96, 0x38, 0xc7, +}; +static const unsigned char kat3901_nonce[] = {0}; +static const unsigned char kat3901_persstr[] = {0}; +static const unsigned char kat3901_entropyinpr1[] = { + 0x24, 0x5c, 0xa1, 0xc8, 0x46, 0xbf, 0xbd, 0x2c, 0x05, 0x38, 0x83, 0x4a, + 0xb1, 0x12, 0x91, 0x03, 0xf0, 0x5f, 0x8e, 0xca, 0xac, 0x1f, 0xec, 0x1d, + 0xc3, 0xcb, 0x62, 0x1d, 0x12, 0xad, 0x78, 0x67, 0xd4, 0x99, 0xf2, 0xb0, + 0x2d, 0xab, 0x8b, 0xf5, +}; +static const unsigned char kat3901_addinpr1[] = {0}; +static const unsigned char kat3901_entropyinpr2[] = { + 0xca, 0x7e, 0x4b, 0x36, 0xa0, 0x07, 0x3b, 0xb4, 0x81, 0x1a, 0x4d, 0xf1, + 0x75, 0xa7, 0x9b, 0x8b, 0xe8, 0xd4, 0x02, 0xb1, 0x75, 0x7a, 0xb6, 0xeb, + 0x9a, 0x65, 0x62, 0x00, 0x43, 0x48, 0x0c, 0x4d, 0xca, 0x36, 0x7d, 0xb3, + 0x7b, 0xa8, 0x6e, 0x93, +}; +static const unsigned char kat3901_addinpr2[] = {0}; +static const unsigned char kat3901_retbits[] = { + 0xf0, 0x6b, 0x91, 0x68, 0x7b, 0x59, 0x0d, 0x3e, 0xc7, 0x04, 0x35, 0xd4, + 0xde, 0x8d, 0x2e, 0xa2, 0x42, 0xf4, 0xea, 0x99, 0xf7, 0x88, 0x99, 0x3f, + 0x19, 0x61, 0x3f, 0x54, 0x51, 0x4c, 0x66, 0x19, 0xe4, 0x74, 0x33, 0xd4, + 0x1c, 0x9c, 0x42, 0x66, 0x93, 0x32, 0x32, 0x20, 0x52, 0xa5, 0xa2, 0xe7, + 0xf2, 0xc3, 0x81, 0x3f, 0xe8, 0xc6, 0x4d, 0x82, 0x4c, 0x9d, 0x22, 0xb4, + 0x7c, 0x9e, 0xfe, 0x9b, +}; +static const struct drbg_kat_pr_true kat3901_t = { + 0, kat3901_entropyin, kat3901_nonce, kat3901_persstr, + kat3901_entropyinpr1, kat3901_addinpr1, kat3901_entropyinpr2, + kat3901_addinpr2, kat3901_retbits +}; +static const struct drbg_kat kat3901 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3901_t +}; + +static const unsigned char kat3902_entropyin[] = { + 0xea, 0x61, 0xe5, 0x6d, 0x58, 0x6f, 0x96, 0xad, 0x46, 0x36, 0x24, 0x13, + 0x0c, 0xb6, 0x83, 0xe0, 0x01, 0x45, 0x64, 0xe7, 0x28, 0x62, 0x4f, 0x49, + 0xc2, 0x4d, 0x4f, 0x84, 0x12, 0x59, 0x61, 0xdb, 0x2f, 0x52, 0x89, 0x0d, + 0x78, 0xfe, 0x02, 0xf7, +}; +static const unsigned char kat3902_nonce[] = {0}; +static const unsigned char kat3902_persstr[] = {0}; +static const unsigned char kat3902_entropyinpr1[] = { + 0xdf, 0x68, 0xbb, 0x54, 0x69, 0x6d, 0xbe, 0x1f, 0xc6, 0x04, 0x61, 0x81, + 0xd1, 0x24, 0x3c, 0x88, 0xfa, 0x1c, 0xd2, 0x38, 0xc8, 0x19, 0xfe, 0x8b, + 0x74, 0xd2, 0xd0, 0x8e, 0x27, 0xca, 0x64, 0xe1, 0x33, 0x56, 0x01, 0x64, + 0x0f, 0x08, 0x66, 0x24, +}; +static const unsigned char kat3902_addinpr1[] = {0}; +static const unsigned char kat3902_entropyinpr2[] = { + 0x0b, 0x2d, 0xc2, 0x33, 0xa6, 0x40, 0x20, 0xfd, 0x15, 0x64, 0x73, 0x75, + 0x2e, 0xe4, 0x65, 0xd4, 0xe9, 0x7f, 0x9d, 0xf2, 0xb0, 0x49, 0xf7, 0x45, + 0xfd, 0x69, 0x97, 0x60, 0x50, 0x6e, 0x4f, 0x4c, 0xf5, 0x4f, 0x9d, 0xac, + 0xbc, 0x93, 0xc3, 0x88, +}; +static const unsigned char kat3902_addinpr2[] = {0}; +static const unsigned char kat3902_retbits[] = { + 0x70, 0x4b, 0x74, 0x1b, 0x4d, 0x54, 0x51, 0x73, 0xfa, 0x8a, 0x0b, 0x09, + 0xe8, 0x53, 0xa1, 0x69, 0xc2, 0x4c, 0x32, 0x6d, 0x8c, 0xa1, 0x39, 0x83, + 0xf1, 0xfd, 0xb9, 0xc5, 0xba, 0x9d, 0xf0, 0xc7, 0x6b, 0xc5, 0x44, 0x2d, + 0xdd, 0x0d, 0x40, 0x5d, 0x63, 0x52, 0x6a, 0x32, 0x1e, 0x7a, 0x8c, 0x0e, + 0x00, 0x34, 0xcc, 0x42, 0x40, 0x93, 0xad, 0xd1, 0xb6, 0xe6, 0x94, 0xb4, + 0xda, 0x9d, 0x3f, 0xd8, +}; +static const struct drbg_kat_pr_true kat3902_t = { + 1, kat3902_entropyin, kat3902_nonce, kat3902_persstr, + kat3902_entropyinpr1, kat3902_addinpr1, kat3902_entropyinpr2, + kat3902_addinpr2, kat3902_retbits +}; +static const struct drbg_kat kat3902 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3902_t +}; + +static const unsigned char kat3903_entropyin[] = { + 0xdc, 0x93, 0x6e, 0x4f, 0x82, 0x45, 0xea, 0x7d, 0x2c, 0xb7, 0xa9, 0x2c, + 0x67, 0xd4, 0x42, 0x6b, 0xa4, 0xf5, 0x58, 0xe6, 0x80, 0x0c, 0xc0, 0x8a, + 0x6e, 0x6e, 0x93, 0xd6, 0xfc, 0x5b, 0x71, 0xc2, 0x42, 0xff, 0x55, 0x95, + 0xdc, 0xf0, 0x26, 0x11, +}; +static const unsigned char kat3903_nonce[] = {0}; +static const unsigned char kat3903_persstr[] = {0}; +static const unsigned char kat3903_entropyinpr1[] = { + 0x63, 0x77, 0x7a, 0x5a, 0x22, 0x7d, 0xef, 0xc5, 0xff, 0x7d, 0xeb, 0x4b, + 0x2e, 0x54, 0x59, 0xde, 0x89, 0xf0, 0xe6, 0x88, 0x7a, 0xd6, 0x2c, 0x5c, + 0xb6, 0x94, 0x7f, 0xad, 0x90, 0x03, 0xe9, 0x98, 0xf7, 0x16, 0xd5, 0x1d, + 0x3a, 0x7a, 0x04, 0x62, +}; +static const unsigned char kat3903_addinpr1[] = {0}; +static const unsigned char kat3903_entropyinpr2[] = { + 0x9a, 0x5b, 0x85, 0x72, 0xfd, 0xae, 0x0f, 0x45, 0x6c, 0x02, 0x93, 0x58, + 0x1a, 0xe9, 0x32, 0x6c, 0x43, 0x9b, 0x90, 0xfd, 0xc8, 0x4a, 0x1d, 0xa3, + 0x70, 0xcd, 0xfb, 0xda, 0x2b, 0x5e, 0x64, 0x40, 0xdb, 0x1c, 0xc2, 0xe3, + 0xc4, 0xe5, 0x4b, 0x6d, +}; +static const unsigned char kat3903_addinpr2[] = {0}; +static const unsigned char kat3903_retbits[] = { + 0x1b, 0xf3, 0x2e, 0x6c, 0x87, 0xbd, 0xf5, 0x2d, 0x66, 0x9c, 0x9a, 0xc0, + 0x08, 0x2a, 0x3d, 0x20, 0xba, 0x39, 0x9c, 0xcc, 0x28, 0x24, 0x42, 0xb6, + 0x9f, 0x5b, 0x5a, 0x13, 0x75, 0x86, 0x79, 0xe8, 0x70, 0xa0, 0xad, 0xb6, + 0x64, 0xf3, 0xa8, 0xed, 0x50, 0xce, 0x42, 0x48, 0x46, 0xf3, 0x5b, 0xad, + 0x7a, 0x96, 0xf9, 0x87, 0x31, 0x72, 0xde, 0xb3, 0xb2, 0xfe, 0xa8, 0x23, + 0xdb, 0xa0, 0x4a, 0x79, +}; +static const struct drbg_kat_pr_true kat3903_t = { + 2, kat3903_entropyin, kat3903_nonce, kat3903_persstr, + kat3903_entropyinpr1, kat3903_addinpr1, kat3903_entropyinpr2, + kat3903_addinpr2, kat3903_retbits +}; +static const struct drbg_kat kat3903 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3903_t +}; + +static const unsigned char kat3904_entropyin[] = { + 0x13, 0x8f, 0x40, 0x6a, 0xd9, 0xf7, 0x79, 0x09, 0x8a, 0x74, 0x9f, 0xa3, + 0xbb, 0x98, 0x21, 0x57, 0x96, 0x93, 0x02, 0x2c, 0xc5, 0x2f, 0x88, 0xe5, + 0x33, 0xec, 0x81, 0xa9, 0x1a, 0x77, 0x0b, 0x76, 0xd8, 0x0a, 0x4b, 0x64, + 0x74, 0x00, 0xd9, 0xd0, +}; +static const unsigned char kat3904_nonce[] = {0}; +static const unsigned char kat3904_persstr[] = {0}; +static const unsigned char kat3904_entropyinpr1[] = { + 0x1a, 0x19, 0x20, 0xdb, 0xca, 0xa9, 0x0d, 0x4c, 0xea, 0x09, 0xf8, 0x54, + 0x7a, 0x6e, 0x8a, 0x18, 0x42, 0x58, 0xec, 0x21, 0x79, 0x9e, 0x9e, 0xf4, + 0xa8, 0x67, 0x47, 0x40, 0xe7, 0x90, 0x49, 0xca, 0xe0, 0x12, 0x3a, 0x82, + 0xc5, 0x71, 0xfa, 0x37, +}; +static const unsigned char kat3904_addinpr1[] = {0}; +static const unsigned char kat3904_entropyinpr2[] = { + 0xd7, 0x18, 0x3c, 0x6d, 0x6b, 0xb0, 0xfb, 0x0b, 0x5b, 0x98, 0x03, 0xeb, + 0x27, 0x34, 0x00, 0x8e, 0x09, 0xbe, 0xfe, 0x25, 0x71, 0xe4, 0x56, 0x3b, + 0x63, 0xf1, 0x13, 0xc2, 0x40, 0xf3, 0xe3, 0x59, 0xfd, 0x97, 0x0a, 0xa7, + 0x56, 0x85, 0xa3, 0x32, +}; +static const unsigned char kat3904_addinpr2[] = {0}; +static const unsigned char kat3904_retbits[] = { + 0x63, 0x4f, 0x68, 0x8b, 0x5e, 0x2d, 0x57, 0xd4, 0x3d, 0xf8, 0x07, 0xf6, + 0xae, 0xaa, 0xd6, 0x9b, 0x67, 0x9f, 0x91, 0x72, 0xfa, 0x2d, 0x1b, 0x11, + 0x82, 0xaa, 0x16, 0x85, 0x2a, 0x52, 0x38, 0xd7, 0x3d, 0xc4, 0xff, 0xfe, + 0x17, 0x9d, 0xc5, 0x79, 0xf9, 0x08, 0x46, 0xaa, 0xa6, 0x49, 0xcb, 0x77, + 0x04, 0xc1, 0xb1, 0x31, 0xcb, 0xbc, 0x25, 0x6d, 0x42, 0x5a, 0x8a, 0x41, + 0xb6, 0xdc, 0x22, 0x54, +}; +static const struct drbg_kat_pr_true kat3904_t = { + 3, kat3904_entropyin, kat3904_nonce, kat3904_persstr, + kat3904_entropyinpr1, kat3904_addinpr1, kat3904_entropyinpr2, + kat3904_addinpr2, kat3904_retbits +}; +static const struct drbg_kat kat3904 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3904_t +}; + +static const unsigned char kat3905_entropyin[] = { + 0x5d, 0x8f, 0x91, 0x5c, 0xf0, 0x26, 0xf8, 0x0a, 0x20, 0x00, 0x59, 0x07, + 0x2e, 0xdb, 0xae, 0xec, 0xb8, 0xb2, 0x70, 0x3d, 0x06, 0xca, 0x1c, 0x3b, + 0xda, 0xe8, 0x00, 0x87, 0x47, 0x9c, 0xca, 0x37, 0x03, 0xf7, 0xae, 0xdd, + 0x7a, 0x3f, 0xce, 0x11, +}; +static const unsigned char kat3905_nonce[] = {0}; +static const unsigned char kat3905_persstr[] = {0}; +static const unsigned char kat3905_entropyinpr1[] = { + 0x94, 0x09, 0x52, 0x68, 0x5e, 0x45, 0x97, 0xa8, 0x31, 0xc0, 0x16, 0x25, + 0x7b, 0xb5, 0x43, 0xd6, 0x1a, 0xf9, 0xbd, 0xf5, 0xff, 0xb1, 0x3c, 0xb7, + 0xc3, 0x90, 0x38, 0xdf, 0x3c, 0x4d, 0xdd, 0xb2, 0xaf, 0x44, 0x46, 0x35, + 0x01, 0xe8, 0xe6, 0x95, +}; +static const unsigned char kat3905_addinpr1[] = {0}; +static const unsigned char kat3905_entropyinpr2[] = { + 0xe9, 0x7d, 0xa4, 0xe2, 0x32, 0x8d, 0x32, 0x78, 0x3a, 0xb6, 0xb1, 0x8e, + 0xcc, 0x39, 0xc7, 0x65, 0x84, 0xb9, 0x0e, 0x92, 0x4e, 0xad, 0x38, 0x8c, + 0x39, 0x24, 0x7a, 0x2c, 0xe2, 0xc7, 0xfe, 0x28, 0xdd, 0x48, 0xa9, 0x66, + 0x25, 0x58, 0x9c, 0xab, +}; +static const unsigned char kat3905_addinpr2[] = {0}; +static const unsigned char kat3905_retbits[] = { + 0xa2, 0xe4, 0x5a, 0x82, 0x4a, 0xa5, 0x69, 0x07, 0x78, 0x81, 0xae, 0x16, + 0x5a, 0x27, 0x14, 0x7f, 0xd5, 0x96, 0x7f, 0x92, 0xb3, 0x7d, 0xd0, 0x77, + 0xf8, 0x96, 0xaa, 0xb5, 0x6e, 0x14, 0x06, 0x76, 0xa0, 0xe4, 0xf8, 0x7a, + 0x45, 0x01, 0x4a, 0xe0, 0x15, 0x13, 0xd3, 0xd4, 0x97, 0x8f, 0xdf, 0xd5, + 0x18, 0x51, 0xe6, 0xe6, 0xca, 0xfa, 0x38, 0x34, 0x05, 0xc9, 0x58, 0xe4, + 0x58, 0xd3, 0xcd, 0x66, +}; +static const struct drbg_kat_pr_true kat3905_t = { + 4, kat3905_entropyin, kat3905_nonce, kat3905_persstr, + kat3905_entropyinpr1, kat3905_addinpr1, kat3905_entropyinpr2, + kat3905_addinpr2, kat3905_retbits +}; +static const struct drbg_kat kat3905 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3905_t +}; + +static const unsigned char kat3906_entropyin[] = { + 0x58, 0x44, 0xdc, 0x54, 0xf8, 0xd7, 0x11, 0xcb, 0xd2, 0x60, 0x61, 0x55, + 0xbc, 0x62, 0xdf, 0xbd, 0x31, 0x74, 0xb5, 0x0e, 0xbc, 0x34, 0x95, 0xf1, + 0xf1, 0x32, 0xb3, 0x10, 0x13, 0xad, 0x91, 0x7c, 0x94, 0xee, 0xa9, 0xa9, + 0xd0, 0xc1, 0x26, 0x15, +}; +static const unsigned char kat3906_nonce[] = {0}; +static const unsigned char kat3906_persstr[] = {0}; +static const unsigned char kat3906_entropyinpr1[] = { + 0x20, 0xe8, 0x2f, 0x8d, 0x66, 0xdd, 0x37, 0x6d, 0xa4, 0x2a, 0x36, 0xc0, + 0xae, 0x09, 0xb6, 0x2e, 0x4e, 0x3d, 0xa7, 0x18, 0x12, 0x7a, 0xc7, 0xd0, + 0x91, 0x7d, 0x83, 0x33, 0x24, 0xe6, 0x1f, 0x5a, 0xd6, 0x2e, 0xa9, 0x8d, + 0x62, 0x33, 0x69, 0x34, +}; +static const unsigned char kat3906_addinpr1[] = {0}; +static const unsigned char kat3906_entropyinpr2[] = { + 0x81, 0x9d, 0xa8, 0x3d, 0x8b, 0x19, 0x44, 0xe6, 0x0b, 0xef, 0x93, 0xdb, + 0x44, 0x27, 0x57, 0x6a, 0x92, 0x0e, 0x1f, 0x90, 0xb4, 0x77, 0xa6, 0x12, + 0x3b, 0x62, 0xcb, 0xd2, 0xcb, 0xdc, 0xc7, 0xef, 0xa3, 0xd7, 0x0e, 0x08, + 0x17, 0x5f, 0xf0, 0x4e, +}; +static const unsigned char kat3906_addinpr2[] = {0}; +static const unsigned char kat3906_retbits[] = { + 0x05, 0x61, 0x99, 0x80, 0xe1, 0x28, 0xb7, 0xc7, 0x1a, 0xb7, 0x06, 0x02, + 0x8f, 0x5d, 0x37, 0xae, 0x47, 0xe1, 0x79, 0x67, 0x9c, 0x19, 0x02, 0xba, + 0x0f, 0x59, 0x6b, 0x54, 0x5a, 0x5c, 0x81, 0xef, 0x86, 0x0e, 0xb7, 0x39, + 0xfe, 0x1a, 0xcb, 0xb9, 0x7b, 0xff, 0x73, 0x5d, 0x7c, 0xdd, 0xbd, 0xf2, + 0x94, 0xcf, 0xe2, 0x6f, 0x24, 0x99, 0x2c, 0x93, 0x67, 0x8a, 0xb2, 0x03, + 0xcb, 0x58, 0x2c, 0x3c, +}; +static const struct drbg_kat_pr_true kat3906_t = { + 5, kat3906_entropyin, kat3906_nonce, kat3906_persstr, + kat3906_entropyinpr1, kat3906_addinpr1, kat3906_entropyinpr2, + kat3906_addinpr2, kat3906_retbits +}; +static const struct drbg_kat kat3906 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3906_t +}; + +static const unsigned char kat3907_entropyin[] = { + 0xc4, 0x4b, 0x87, 0x0c, 0xad, 0x13, 0xd0, 0x2e, 0xf0, 0x56, 0x1b, 0x7f, + 0x87, 0xce, 0xd6, 0xcc, 0x08, 0xf9, 0xa1, 0xb6, 0x68, 0x5f, 0x05, 0xa4, + 0x27, 0x9b, 0x25, 0xd9, 0x24, 0x14, 0x44, 0x7e, 0x66, 0x68, 0xb3, 0xc4, + 0x96, 0xf1, 0xdf, 0xf4, +}; +static const unsigned char kat3907_nonce[] = {0}; +static const unsigned char kat3907_persstr[] = {0}; +static const unsigned char kat3907_entropyinpr1[] = { + 0x6c, 0x30, 0x74, 0x4a, 0xdf, 0xf9, 0x09, 0xe2, 0xb4, 0x25, 0x29, 0x6b, + 0xd0, 0xb3, 0x4d, 0x2e, 0x1d, 0xf3, 0x6a, 0x00, 0x76, 0x3d, 0xc1, 0x19, + 0x37, 0x63, 0xfa, 0x91, 0xe3, 0x68, 0xa2, 0x1a, 0xb2, 0xf9, 0x00, 0x5f, + 0x8a, 0xf5, 0x2a, 0x4d, +}; +static const unsigned char kat3907_addinpr1[] = {0}; +static const unsigned char kat3907_entropyinpr2[] = { + 0x9a, 0x94, 0xb5, 0x16, 0x90, 0x4a, 0x7a, 0x7a, 0x67, 0x3d, 0xa1, 0x96, + 0x44, 0xdc, 0xc4, 0x10, 0x7a, 0x50, 0x82, 0x3f, 0x1b, 0x85, 0x30, 0x96, + 0xad, 0x46, 0xc6, 0xa8, 0xf3, 0x8e, 0xf8, 0xbe, 0x60, 0xc5, 0xde, 0xf5, + 0x3b, 0x56, 0x0e, 0x8f, +}; +static const unsigned char kat3907_addinpr2[] = {0}; +static const unsigned char kat3907_retbits[] = { + 0xeb, 0xaa, 0xab, 0x96, 0xf0, 0xf0, 0x92, 0x42, 0x69, 0x69, 0x0b, 0x95, + 0x09, 0x85, 0x58, 0x48, 0x8f, 0x3e, 0x20, 0xdf, 0xab, 0xdb, 0x70, 0x39, + 0xd9, 0x08, 0x8f, 0x88, 0x5e, 0xf0, 0x3e, 0xb4, 0x34, 0x87, 0x47, 0xe1, + 0x85, 0x1f, 0xe0, 0xbd, 0x0e, 0x21, 0x59, 0x1f, 0x68, 0x5e, 0x41, 0x76, + 0x7f, 0x7c, 0xf4, 0x62, 0xbc, 0x03, 0x72, 0x1e, 0xb3, 0x18, 0xe1, 0xd2, + 0x8b, 0x91, 0x2a, 0xe9, +}; +static const struct drbg_kat_pr_true kat3907_t = { + 6, kat3907_entropyin, kat3907_nonce, kat3907_persstr, + kat3907_entropyinpr1, kat3907_addinpr1, kat3907_entropyinpr2, + kat3907_addinpr2, kat3907_retbits +}; +static const struct drbg_kat kat3907 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3907_t +}; + +static const unsigned char kat3908_entropyin[] = { + 0x57, 0x84, 0xe0, 0x2c, 0xa4, 0xa1, 0xca, 0x96, 0x25, 0xfe, 0xf9, 0x99, + 0x8f, 0x13, 0xc9, 0xf4, 0x15, 0x5c, 0xb2, 0x96, 0xea, 0x7a, 0xe0, 0xc6, + 0x32, 0xa1, 0xb1, 0xbc, 0x45, 0x0c, 0x51, 0x00, 0x71, 0x58, 0x54, 0xd8, + 0x47, 0x2c, 0xc6, 0x96, +}; +static const unsigned char kat3908_nonce[] = {0}; +static const unsigned char kat3908_persstr[] = {0}; +static const unsigned char kat3908_entropyinpr1[] = { + 0xf7, 0xce, 0x6b, 0x7e, 0xd6, 0x85, 0xf4, 0x27, 0x1c, 0xf3, 0xea, 0x6f, + 0xab, 0x71, 0x4d, 0xc4, 0x56, 0x02, 0x42, 0xde, 0xca, 0x9c, 0x94, 0xac, + 0xd7, 0xa8, 0x16, 0x44, 0x95, 0xfc, 0xa7, 0x0e, 0x76, 0x7c, 0xcc, 0x8f, + 0x46, 0x11, 0x1d, 0x8e, +}; +static const unsigned char kat3908_addinpr1[] = {0}; +static const unsigned char kat3908_entropyinpr2[] = { + 0x36, 0x36, 0xb6, 0xd5, 0x45, 0xc7, 0xa9, 0x2b, 0x50, 0x07, 0x9d, 0x44, + 0xbd, 0xbe, 0xef, 0xaa, 0x69, 0x1c, 0xed, 0xf4, 0xfb, 0xcb, 0xa3, 0x3a, + 0x26, 0x49, 0x7c, 0x6b, 0x49, 0xcf, 0x77, 0xe1, 0x69, 0x3f, 0x0d, 0x81, + 0x28, 0xfa, 0xa0, 0x12, +}; +static const unsigned char kat3908_addinpr2[] = {0}; +static const unsigned char kat3908_retbits[] = { + 0x48, 0x4c, 0xf9, 0x16, 0x5c, 0xc6, 0xdf, 0x1d, 0x03, 0x5e, 0x3a, 0xa5, + 0x5b, 0xeb, 0x55, 0xa2, 0x4b, 0x80, 0xa9, 0x34, 0x6a, 0x99, 0x00, 0x14, + 0xf1, 0x7f, 0xeb, 0xd4, 0xfa, 0x67, 0x1d, 0x45, 0xca, 0xb0, 0x90, 0xff, + 0x21, 0x22, 0x5b, 0x51, 0x05, 0x76, 0xb0, 0x2a, 0x61, 0xce, 0x44, 0xe9, + 0x53, 0x40, 0x2f, 0x6f, 0x1c, 0xc3, 0xf9, 0xcd, 0x23, 0xa9, 0x11, 0xff, + 0xf0, 0xd8, 0x7b, 0x99, +}; +static const struct drbg_kat_pr_true kat3908_t = { + 7, kat3908_entropyin, kat3908_nonce, kat3908_persstr, + kat3908_entropyinpr1, kat3908_addinpr1, kat3908_entropyinpr2, + kat3908_addinpr2, kat3908_retbits +}; +static const struct drbg_kat kat3908 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3908_t +}; + +static const unsigned char kat3909_entropyin[] = { + 0xcc, 0x0c, 0x84, 0x69, 0x05, 0x5c, 0x7c, 0xfc, 0xaa, 0x23, 0x5f, 0xa0, + 0x74, 0x9c, 0xfe, 0xaf, 0xd8, 0xa7, 0x91, 0x79, 0xf1, 0x13, 0x32, 0x6e, + 0x61, 0x83, 0x39, 0x7b, 0x68, 0x41, 0x71, 0xca, 0x72, 0x5c, 0x02, 0xf0, + 0x3a, 0xfc, 0xb2, 0x61, +}; +static const unsigned char kat3909_nonce[] = {0}; +static const unsigned char kat3909_persstr[] = {0}; +static const unsigned char kat3909_entropyinpr1[] = { + 0x73, 0x4b, 0xe4, 0x6c, 0x1a, 0x35, 0xdc, 0x4d, 0x82, 0x4b, 0x47, 0xd3, + 0x87, 0x9a, 0x2c, 0xd4, 0xb2, 0x14, 0x2b, 0xcc, 0xa5, 0x74, 0xfa, 0xdd, + 0x2c, 0x30, 0x3e, 0xaf, 0x63, 0x56, 0xd8, 0x68, 0x24, 0x63, 0x4d, 0xd9, + 0x08, 0x2f, 0x0b, 0x15, +}; +static const unsigned char kat3909_addinpr1[] = {0}; +static const unsigned char kat3909_entropyinpr2[] = { + 0xfa, 0x1f, 0x09, 0x15, 0x23, 0xe8, 0xd0, 0xfa, 0x51, 0xcc, 0x09, 0x92, + 0x5c, 0xfd, 0x5c, 0xed, 0x21, 0x0d, 0xee, 0x85, 0xcb, 0x28, 0xf9, 0x1b, + 0x8f, 0x88, 0x9a, 0xad, 0xb7, 0xa1, 0x8c, 0x53, 0x1a, 0xfa, 0x4d, 0x47, + 0x43, 0x1a, 0xcc, 0xc7, +}; +static const unsigned char kat3909_addinpr2[] = {0}; +static const unsigned char kat3909_retbits[] = { + 0x19, 0xe0, 0x4d, 0x63, 0x40, 0x42, 0xbe, 0x30, 0x50, 0xeb, 0x07, 0x57, + 0xb1, 0xdc, 0x06, 0xc8, 0xc7, 0x80, 0xdb, 0x22, 0xfa, 0xb1, 0x5c, 0xc9, + 0xdc, 0x66, 0x7b, 0xaf, 0xbf, 0xa8, 0x88, 0x83, 0xeb, 0xd0, 0xff, 0xb2, + 0x1e, 0x1a, 0x87, 0xbc, 0x67, 0x87, 0xf4, 0x73, 0xfe, 0x80, 0xd9, 0xfe, + 0x71, 0x1c, 0x5f, 0xb1, 0x7f, 0x11, 0x1d, 0xac, 0xfe, 0x71, 0x80, 0xe9, + 0x51, 0xc3, 0x80, 0x37, +}; +static const struct drbg_kat_pr_true kat3909_t = { + 8, kat3909_entropyin, kat3909_nonce, kat3909_persstr, + kat3909_entropyinpr1, kat3909_addinpr1, kat3909_entropyinpr2, + kat3909_addinpr2, kat3909_retbits +}; +static const struct drbg_kat kat3909 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3909_t +}; + +static const unsigned char kat3910_entropyin[] = { + 0x0c, 0xbd, 0x31, 0x7c, 0x68, 0x56, 0x03, 0xaf, 0x9d, 0x40, 0x41, 0xc6, + 0xf9, 0x37, 0x3b, 0xaa, 0xb7, 0x82, 0x67, 0x65, 0xcc, 0x59, 0xa2, 0xa5, + 0x37, 0x70, 0xaf, 0x87, 0xe1, 0x91, 0x82, 0x69, 0xe1, 0xea, 0xa8, 0x9a, + 0xc8, 0x97, 0x63, 0xa8, +}; +static const unsigned char kat3910_nonce[] = {0}; +static const unsigned char kat3910_persstr[] = {0}; +static const unsigned char kat3910_entropyinpr1[] = { + 0xf3, 0xb2, 0x47, 0x14, 0x5b, 0x91, 0x41, 0xaa, 0xc3, 0x39, 0x65, 0x75, + 0x7c, 0xb9, 0x98, 0x5a, 0x85, 0x19, 0x80, 0x47, 0x97, 0x43, 0xe6, 0x06, + 0x2d, 0x6a, 0x69, 0x2a, 0x7e, 0xa0, 0x69, 0x2f, 0x1d, 0xff, 0x3d, 0xe7, + 0x51, 0x5e, 0xe1, 0x96, +}; +static const unsigned char kat3910_addinpr1[] = {0}; +static const unsigned char kat3910_entropyinpr2[] = { + 0xa9, 0xbf, 0xb4, 0x46, 0xe5, 0xe5, 0x4f, 0xbc, 0x29, 0x9f, 0x6d, 0x37, + 0x0b, 0x2f, 0x99, 0xcc, 0x21, 0x6d, 0xf6, 0xa8, 0xa6, 0x9e, 0xb6, 0x7b, + 0xbf, 0xad, 0x86, 0x67, 0x2e, 0xb8, 0x61, 0x8b, 0xad, 0x65, 0x09, 0x6c, + 0x7f, 0x47, 0xd8, 0x84, +}; +static const unsigned char kat3910_addinpr2[] = {0}; +static const unsigned char kat3910_retbits[] = { + 0xc7, 0xa9, 0x82, 0xb9, 0x42, 0x4f, 0x31, 0x70, 0x33, 0xea, 0x10, 0xda, + 0x5c, 0xed, 0x43, 0x26, 0x53, 0x32, 0x1c, 0x16, 0xdc, 0x60, 0x85, 0x11, + 0x7f, 0xe8, 0x24, 0xba, 0x04, 0x8d, 0x7c, 0x0d, 0xdd, 0xe9, 0x18, 0x81, + 0x9a, 0x83, 0x0f, 0xe7, 0x44, 0xdd, 0xf1, 0xd4, 0xb4, 0x72, 0x47, 0x4f, + 0x44, 0x21, 0x17, 0x6c, 0xb0, 0x78, 0xd7, 0x2d, 0xbf, 0xf7, 0x82, 0x38, + 0xf0, 0xcb, 0xd4, 0x19, +}; +static const struct drbg_kat_pr_true kat3910_t = { + 9, kat3910_entropyin, kat3910_nonce, kat3910_persstr, + kat3910_entropyinpr1, kat3910_addinpr1, kat3910_entropyinpr2, + kat3910_addinpr2, kat3910_retbits +}; +static const struct drbg_kat kat3910 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3910_t +}; + +static const unsigned char kat3911_entropyin[] = { + 0xa8, 0x9b, 0x3d, 0x14, 0x37, 0x1d, 0x7b, 0x96, 0xcb, 0x55, 0xeb, 0x5d, + 0x85, 0x3d, 0x48, 0xb6, 0xa3, 0xa8, 0xae, 0xf7, 0xbe, 0xe5, 0x8d, 0x06, + 0x0c, 0xe7, 0xcd, 0x2b, 0x3e, 0xcf, 0x8c, 0x57, 0xd7, 0x9e, 0xc7, 0x05, + 0xa1, 0x11, 0xe3, 0xcf, +}; +static const unsigned char kat3911_nonce[] = {0}; +static const unsigned char kat3911_persstr[] = {0}; +static const unsigned char kat3911_entropyinpr1[] = { + 0xce, 0x59, 0xca, 0x33, 0x48, 0xf5, 0x5a, 0x62, 0x24, 0xd3, 0xe3, 0x8c, + 0xce, 0x12, 0xdb, 0xd3, 0x10, 0x53, 0xad, 0x3b, 0xdf, 0x60, 0xd0, 0xcb, + 0xad, 0xa1, 0xc2, 0xdc, 0xca, 0x2a, 0x88, 0x20, 0x7d, 0xdf, 0x8f, 0x57, + 0xe8, 0x1e, 0xfc, 0x4e, +}; +static const unsigned char kat3911_addinpr1[] = {0}; +static const unsigned char kat3911_entropyinpr2[] = { + 0x35, 0xd9, 0x2d, 0x8a, 0xb6, 0x4d, 0x5e, 0xb6, 0x46, 0x81, 0x47, 0x6b, + 0x09, 0x19, 0x94, 0x8a, 0xb1, 0x73, 0xbc, 0x3c, 0x2f, 0x04, 0xbd, 0x7e, + 0x1b, 0x83, 0x87, 0x01, 0xb2, 0x8e, 0xdd, 0xc9, 0x99, 0xec, 0x13, 0xb4, + 0x7e, 0x4b, 0x75, 0x80, +}; +static const unsigned char kat3911_addinpr2[] = {0}; +static const unsigned char kat3911_retbits[] = { + 0x3d, 0x3a, 0x67, 0xf4, 0x13, 0x8e, 0x64, 0xfb, 0xf8, 0x1a, 0xe5, 0x28, + 0x6f, 0x76, 0x18, 0x49, 0xbd, 0xeb, 0x7d, 0xbd, 0xd6, 0xfd, 0xdb, 0xf7, + 0x32, 0x49, 0x51, 0xc6, 0xae, 0xd6, 0x1a, 0xb8, 0xc7, 0x3e, 0x1f, 0x0b, + 0x0e, 0xfb, 0xd2, 0xa2, 0x3e, 0x91, 0x05, 0xcb, 0x1e, 0x17, 0x3f, 0x96, + 0xa3, 0xf6, 0xfb, 0xda, 0x6c, 0x43, 0x9d, 0x61, 0x04, 0x53, 0xdc, 0x55, + 0xeb, 0xda, 0x95, 0x8f, +}; +static const struct drbg_kat_pr_true kat3911_t = { + 10, kat3911_entropyin, kat3911_nonce, kat3911_persstr, + kat3911_entropyinpr1, kat3911_addinpr1, kat3911_entropyinpr2, + kat3911_addinpr2, kat3911_retbits +}; +static const struct drbg_kat kat3911 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3911_t +}; + +static const unsigned char kat3912_entropyin[] = { + 0xc3, 0xd4, 0xf7, 0x5c, 0x07, 0x0e, 0x54, 0x57, 0x81, 0x2d, 0x98, 0x6c, + 0xc3, 0xfa, 0xf1, 0x18, 0x91, 0x49, 0x01, 0x14, 0x7f, 0x1e, 0x2a, 0xf5, + 0x66, 0x11, 0x30, 0x67, 0x84, 0x0d, 0xae, 0x4b, 0xb5, 0xbe, 0xf5, 0xdd, + 0xc5, 0xbe, 0x9a, 0xce, +}; +static const unsigned char kat3912_nonce[] = {0}; +static const unsigned char kat3912_persstr[] = {0}; +static const unsigned char kat3912_entropyinpr1[] = { + 0x25, 0x8e, 0x5c, 0xeb, 0xe7, 0x17, 0x55, 0x7f, 0x64, 0xbb, 0xc5, 0x2c, + 0x2c, 0x1d, 0xc5, 0x54, 0x6a, 0xb2, 0xa4, 0xd8, 0x04, 0x17, 0xc3, 0x29, + 0xa2, 0x68, 0x7b, 0x46, 0xa1, 0x7f, 0x33, 0xfa, 0xa2, 0x49, 0x62, 0x58, + 0x19, 0x96, 0x22, 0xd4, +}; +static const unsigned char kat3912_addinpr1[] = {0}; +static const unsigned char kat3912_entropyinpr2[] = { + 0xb6, 0xe1, 0xf5, 0x05, 0x52, 0x87, 0xd2, 0xa9, 0xcb, 0x2d, 0xeb, 0x3a, + 0xb9, 0x44, 0xd2, 0x1c, 0xdb, 0xa1, 0xfa, 0x64, 0x69, 0x19, 0x4a, 0x18, + 0xba, 0x4a, 0x76, 0x1a, 0x5c, 0xb1, 0x1f, 0x0d, 0xcb, 0xfc, 0x0b, 0x59, + 0x22, 0xad, 0x8e, 0xaf, +}; +static const unsigned char kat3912_addinpr2[] = {0}; +static const unsigned char kat3912_retbits[] = { + 0x6d, 0x33, 0x29, 0x45, 0x29, 0x17, 0x99, 0x77, 0x87, 0x4c, 0xfa, 0xe7, + 0xb0, 0xe6, 0x24, 0x2a, 0xbb, 0x29, 0xe7, 0x99, 0x26, 0xba, 0x8c, 0x65, + 0x1f, 0x5d, 0x54, 0x28, 0xd2, 0x62, 0x5f, 0x06, 0xd7, 0x7f, 0xc7, 0x7e, + 0x5a, 0x35, 0x05, 0x59, 0x3e, 0x6a, 0x1d, 0x30, 0x1b, 0x8c, 0xcd, 0x68, + 0xf4, 0x3f, 0x01, 0xd0, 0x06, 0x44, 0xde, 0xb9, 0xc0, 0x8a, 0xce, 0xc4, + 0x61, 0x33, 0xb8, 0xc9, +}; +static const struct drbg_kat_pr_true kat3912_t = { + 11, kat3912_entropyin, kat3912_nonce, kat3912_persstr, + kat3912_entropyinpr1, kat3912_addinpr1, kat3912_entropyinpr2, + kat3912_addinpr2, kat3912_retbits +}; +static const struct drbg_kat kat3912 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3912_t +}; + +static const unsigned char kat3913_entropyin[] = { + 0x67, 0x25, 0xf6, 0x79, 0x60, 0x9d, 0x34, 0x4b, 0xd7, 0xdb, 0x0a, 0x75, + 0xbd, 0xc0, 0xa5, 0xeb, 0x83, 0xdc, 0x9d, 0x9d, 0x34, 0x97, 0xa2, 0x78, + 0x54, 0x97, 0x04, 0xc9, 0x13, 0xcf, 0x6e, 0x60, 0x05, 0x82, 0xb1, 0xb1, + 0xc9, 0x1b, 0xcf, 0xd8, +}; +static const unsigned char kat3913_nonce[] = {0}; +static const unsigned char kat3913_persstr[] = {0}; +static const unsigned char kat3913_entropyinpr1[] = { + 0xf0, 0x5f, 0x70, 0x45, 0xde, 0xfa, 0xc6, 0xd2, 0xe9, 0x0c, 0x43, 0x79, + 0x8b, 0xfd, 0x85, 0x6b, 0x8a, 0x71, 0x24, 0x7a, 0x3e, 0xa7, 0x51, 0xa2, + 0x85, 0x2f, 0xbb, 0x2f, 0x24, 0xd2, 0xa8, 0xb0, 0x78, 0xd1, 0xb5, 0x42, + 0x1d, 0x80, 0xd2, 0xc6, +}; +static const unsigned char kat3913_addinpr1[] = {0}; +static const unsigned char kat3913_entropyinpr2[] = { + 0x22, 0x63, 0x1d, 0x5e, 0x36, 0x1f, 0x8e, 0xb4, 0x31, 0x1c, 0xeb, 0xce, + 0xd9, 0x71, 0x38, 0xbc, 0xd6, 0x42, 0x49, 0x23, 0x0f, 0x7d, 0x65, 0xd4, + 0x50, 0x64, 0xd1, 0x1d, 0x57, 0xea, 0x21, 0xa6, 0x50, 0x45, 0x60, 0x7e, + 0x1f, 0x2a, 0x01, 0xc1, +}; +static const unsigned char kat3913_addinpr2[] = {0}; +static const unsigned char kat3913_retbits[] = { + 0x34, 0x7c, 0xc5, 0x19, 0xce, 0xd1, 0x4e, 0x46, 0xb4, 0xb1, 0xd0, 0x6a, + 0xe6, 0xc5, 0x55, 0x5e, 0xd8, 0xa3, 0x77, 0x11, 0x3e, 0x4f, 0xe1, 0xe2, + 0x6b, 0x90, 0xf1, 0xad, 0x60, 0x29, 0xa5, 0x26, 0x91, 0x16, 0x68, 0xe3, + 0x5d, 0xaf, 0x9f, 0x72, 0x03, 0x2a, 0x74, 0xe6, 0x37, 0x44, 0xea, 0x52, + 0x42, 0x32, 0x83, 0x1e, 0xf4, 0xd7, 0x7f, 0x56, 0xd2, 0x88, 0xd3, 0x7d, + 0x55, 0x0b, 0xc3, 0xd9, +}; +static const struct drbg_kat_pr_true kat3913_t = { + 12, kat3913_entropyin, kat3913_nonce, kat3913_persstr, + kat3913_entropyinpr1, kat3913_addinpr1, kat3913_entropyinpr2, + kat3913_addinpr2, kat3913_retbits +}; +static const struct drbg_kat kat3913 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3913_t +}; + +static const unsigned char kat3914_entropyin[] = { + 0x9a, 0xd2, 0x35, 0x88, 0x04, 0xb9, 0x91, 0x85, 0x03, 0x80, 0x6c, 0xc0, + 0x9f, 0x92, 0x0e, 0x49, 0x21, 0xfe, 0x38, 0xd0, 0xcc, 0x9b, 0x44, 0x24, + 0xb1, 0x75, 0x17, 0x69, 0x59, 0x5f, 0xf2, 0x6d, 0x89, 0xc7, 0x09, 0xf7, + 0xc0, 0x53, 0x80, 0x58, +}; +static const unsigned char kat3914_nonce[] = {0}; +static const unsigned char kat3914_persstr[] = {0}; +static const unsigned char kat3914_entropyinpr1[] = { + 0x52, 0x4a, 0xc6, 0x44, 0x29, 0x34, 0x50, 0x0d, 0x79, 0x7b, 0x5e, 0x6a, + 0xc6, 0xbe, 0x65, 0x58, 0x3f, 0x3b, 0x41, 0xd0, 0xdc, 0x16, 0xc9, 0x6a, + 0xaa, 0x26, 0x67, 0x00, 0x2a, 0x8f, 0xa0, 0xa4, 0x6f, 0xca, 0x99, 0xdf, + 0xd4, 0x5e, 0xdd, 0x3e, +}; +static const unsigned char kat3914_addinpr1[] = {0}; +static const unsigned char kat3914_entropyinpr2[] = { + 0xff, 0xe9, 0x33, 0xe0, 0xe5, 0x24, 0xb3, 0xf0, 0x1d, 0xc7, 0x70, 0x42, + 0x35, 0x59, 0x7a, 0xb1, 0x57, 0x1d, 0x33, 0xa8, 0x56, 0x34, 0x98, 0xa2, + 0x24, 0xe7, 0x26, 0xd8, 0xb1, 0x8b, 0x2d, 0xce, 0x43, 0x62, 0x4c, 0x81, + 0x41, 0x63, 0xbd, 0xf8, +}; +static const unsigned char kat3914_addinpr2[] = {0}; +static const unsigned char kat3914_retbits[] = { + 0x94, 0xac, 0x8d, 0xe3, 0xb7, 0xd8, 0x3d, 0x32, 0x6e, 0x88, 0x11, 0xb3, + 0x87, 0xd7, 0x9c, 0x68, 0xa0, 0x52, 0xbe, 0xa3, 0x5c, 0x12, 0x07, 0x49, + 0xb8, 0xf8, 0x17, 0xe3, 0x28, 0x53, 0x06, 0x2d, 0x38, 0xb4, 0x3f, 0x5a, + 0x00, 0x34, 0x50, 0x20, 0x88, 0x3d, 0xb7, 0x9b, 0xa3, 0xd5, 0x86, 0x24, + 0x84, 0xc2, 0x56, 0x56, 0xa3, 0x84, 0xf3, 0xf9, 0x01, 0x7a, 0xd7, 0xcb, + 0xe8, 0x5e, 0xd3, 0xc0, +}; +static const struct drbg_kat_pr_true kat3914_t = { + 13, kat3914_entropyin, kat3914_nonce, kat3914_persstr, + kat3914_entropyinpr1, kat3914_addinpr1, kat3914_entropyinpr2, + kat3914_addinpr2, kat3914_retbits +}; +static const struct drbg_kat kat3914 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3914_t +}; + +static const unsigned char kat3915_entropyin[] = { + 0xed, 0xd0, 0xd8, 0x56, 0xba, 0x5c, 0xf4, 0x5e, 0x62, 0x8c, 0xcb, 0x87, + 0x92, 0x48, 0xee, 0x92, 0x18, 0xf3, 0x3c, 0x5a, 0x53, 0x4e, 0xcf, 0xf2, + 0x93, 0x60, 0xc5, 0x42, 0x38, 0xd7, 0xe6, 0x6a, 0x9f, 0x49, 0x29, 0xad, + 0xf1, 0xc9, 0xd9, 0x27, +}; +static const unsigned char kat3915_nonce[] = {0}; +static const unsigned char kat3915_persstr[] = {0}; +static const unsigned char kat3915_entropyinpr1[] = { + 0xea, 0x4f, 0xfc, 0xe5, 0x16, 0xfb, 0xa5, 0xa2, 0x83, 0x25, 0x20, 0x6d, + 0x63, 0x9d, 0x1b, 0x3a, 0x0f, 0x7c, 0x61, 0x79, 0x89, 0x47, 0xa5, 0x4f, + 0x77, 0x09, 0x71, 0xbe, 0xd1, 0x88, 0x47, 0xe3, 0xff, 0x12, 0x6e, 0x65, + 0xa6, 0xb0, 0x70, 0xe9, +}; +static const unsigned char kat3915_addinpr1[] = {0}; +static const unsigned char kat3915_entropyinpr2[] = { + 0xd7, 0xe6, 0x49, 0xcd, 0xf5, 0x63, 0xe9, 0x60, 0x64, 0x0b, 0x50, 0x92, + 0x7a, 0x92, 0xab, 0xca, 0xa3, 0x06, 0xd4, 0xe1, 0x31, 0x5e, 0xad, 0xb0, + 0x31, 0x6b, 0xb6, 0x5d, 0x7f, 0x91, 0x66, 0x57, 0x7b, 0xab, 0x34, 0xbf, + 0x01, 0x2a, 0x6f, 0x9c, +}; +static const unsigned char kat3915_addinpr2[] = {0}; +static const unsigned char kat3915_retbits[] = { + 0xe9, 0x2c, 0x34, 0xe5, 0x44, 0xc5, 0x34, 0x24, 0x45, 0x22, 0x8a, 0xe6, + 0x74, 0x06, 0x16, 0x88, 0x98, 0x56, 0xed, 0xa4, 0xce, 0x82, 0xfb, 0x7f, + 0x1c, 0x15, 0xd1, 0x95, 0x19, 0x53, 0xf5, 0x50, 0x9a, 0xe7, 0x54, 0x62, + 0x4a, 0xd9, 0xf1, 0x59, 0xdd, 0x5e, 0x19, 0x08, 0xda, 0x3c, 0x97, 0xd2, + 0xa6, 0x69, 0x45, 0xb8, 0xa8, 0x74, 0x66, 0x34, 0xdc, 0x70, 0xb7, 0xf3, + 0x17, 0x18, 0xc4, 0xab, +}; +static const struct drbg_kat_pr_true kat3915_t = { + 14, kat3915_entropyin, kat3915_nonce, kat3915_persstr, + kat3915_entropyinpr1, kat3915_addinpr1, kat3915_entropyinpr2, + kat3915_addinpr2, kat3915_retbits +}; +static const struct drbg_kat kat3915 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3915_t +}; + +static const unsigned char kat3916_entropyin[] = { + 0xd7, 0x2b, 0xc2, 0x8b, 0xa4, 0x77, 0xf0, 0xcd, 0x47, 0xaf, 0x99, 0x31, + 0x72, 0x43, 0xb2, 0x30, 0x40, 0xd6, 0x3f, 0x27, 0x68, 0x49, 0x8e, 0xab, + 0x56, 0x91, 0x7b, 0xeb, 0x32, 0x56, 0x6c, 0x24, 0x79, 0x46, 0x8d, 0xb3, + 0xa9, 0x7c, 0x78, 0x46, +}; +static const unsigned char kat3916_nonce[] = {0}; +static const unsigned char kat3916_persstr[] = {0}; +static const unsigned char kat3916_entropyinpr1[] = { + 0x6d, 0xf6, 0x45, 0x31, 0x00, 0x80, 0x81, 0xac, 0xdf, 0x65, 0x9f, 0x53, + 0x70, 0x64, 0xbe, 0x32, 0xb9, 0x65, 0x4b, 0x85, 0xe1, 0xfc, 0xad, 0x8b, + 0x10, 0x8c, 0x1f, 0xbb, 0x4b, 0x57, 0xb3, 0x42, 0x43, 0x31, 0x00, 0xb4, + 0x98, 0x14, 0x7c, 0x5b, +}; +static const unsigned char kat3916_addinpr1[] = { + 0x1e, 0x9b, 0x1d, 0x0a, 0xff, 0xf8, 0x3a, 0x84, 0xe1, 0xca, 0x21, 0x8b, + 0x44, 0x65, 0xac, 0xe4, 0x65, 0x5c, 0x0f, 0x1b, 0x8a, 0x70, 0x29, 0x89, + 0xf2, 0xb6, 0x28, 0xb2, 0x58, 0x15, 0xb8, 0x38, 0xab, 0x88, 0xfc, 0x64, + 0x32, 0x53, 0xa7, 0xaa, +}; +static const unsigned char kat3916_entropyinpr2[] = { + 0x50, 0xf1, 0x67, 0x83, 0x6b, 0xe0, 0x79, 0x90, 0xb9, 0xb1, 0x63, 0x22, + 0x37, 0xbf, 0xae, 0x53, 0xfe, 0xba, 0x17, 0x8b, 0x67, 0x89, 0xc5, 0x69, + 0x3e, 0x8a, 0xf1, 0xbe, 0xeb, 0xb7, 0xe3, 0xeb, 0x2d, 0x50, 0x01, 0xf9, + 0x6d, 0xcb, 0x34, 0x62, +}; +static const unsigned char kat3916_addinpr2[] = { + 0xce, 0x8b, 0x0b, 0x49, 0x99, 0x2e, 0x7d, 0x4e, 0x11, 0x46, 0x5e, 0x3b, + 0xd7, 0x86, 0x20, 0x33, 0x77, 0xc1, 0x10, 0xa6, 0x6f, 0x69, 0xa0, 0x0b, + 0x9d, 0xc2, 0xbe, 0xe7, 0x8a, 0x5c, 0x30, 0x88, 0x42, 0x67, 0xc1, 0x6a, + 0x64, 0x58, 0x18, 0xe9, +}; +static const unsigned char kat3916_retbits[] = { + 0x8c, 0xf0, 0x5e, 0x17, 0x63, 0x2b, 0xfa, 0x4c, 0xc4, 0xf9, 0xe8, 0xf0, + 0x45, 0xa2, 0xc0, 0xe9, 0xdf, 0x5c, 0xe0, 0xc4, 0x31, 0x3f, 0xd4, 0x60, + 0xcd, 0x8e, 0xf4, 0x0e, 0xf3, 0x30, 0xed, 0x04, 0xd5, 0x16, 0x2c, 0x77, + 0x2d, 0xb5, 0x2f, 0xfe, 0x47, 0xf9, 0xdd, 0x17, 0xd3, 0x77, 0xe3, 0x4f, + 0xd6, 0xb0, 0xd6, 0xed, 0x82, 0xca, 0xcd, 0xe6, 0x02, 0xf9, 0x01, 0x74, + 0xe3, 0x3b, 0x5b, 0xaf, +}; +static const struct drbg_kat_pr_true kat3916_t = { + 0, kat3916_entropyin, kat3916_nonce, kat3916_persstr, + kat3916_entropyinpr1, kat3916_addinpr1, kat3916_entropyinpr2, + kat3916_addinpr2, kat3916_retbits +}; +static const struct drbg_kat kat3916 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3916_t +}; + +static const unsigned char kat3917_entropyin[] = { + 0x01, 0x4a, 0x6e, 0xa3, 0x9a, 0xb2, 0xf2, 0xce, 0x9e, 0xdf, 0x44, 0x66, + 0xe6, 0x98, 0x12, 0x27, 0x22, 0x69, 0x4d, 0x81, 0xbb, 0x00, 0x72, 0x7c, + 0x30, 0xf7, 0x0d, 0xec, 0x2a, 0x72, 0x32, 0x9c, 0xa1, 0xe6, 0xf0, 0xc3, + 0x91, 0x84, 0x65, 0xac, +}; +static const unsigned char kat3917_nonce[] = {0}; +static const unsigned char kat3917_persstr[] = {0}; +static const unsigned char kat3917_entropyinpr1[] = { + 0x0c, 0x45, 0x41, 0xd9, 0x84, 0xc2, 0xdb, 0xbf, 0xb1, 0x54, 0xb3, 0x73, + 0x45, 0x51, 0xe9, 0xfa, 0x16, 0x9e, 0xcc, 0xa2, 0xe5, 0xec, 0x0b, 0xea, + 0x08, 0x65, 0x45, 0x32, 0xa8, 0x11, 0xaa, 0xf2, 0x25, 0xd8, 0x57, 0x36, + 0xe7, 0xe8, 0x13, 0x6c, +}; +static const unsigned char kat3917_addinpr1[] = { + 0x9c, 0xc8, 0xb7, 0x74, 0xa9, 0x8d, 0x91, 0x61, 0x19, 0x5f, 0x77, 0x23, + 0xdd, 0xc3, 0x8c, 0x8a, 0xd7, 0x29, 0xd4, 0x8b, 0x6b, 0x9f, 0xa7, 0x12, + 0x6f, 0xde, 0x6e, 0x18, 0x25, 0xe3, 0x74, 0x72, 0x51, 0x22, 0x53, 0x0d, + 0xdd, 0xe2, 0x4c, 0x08, +}; +static const unsigned char kat3917_entropyinpr2[] = { + 0xf8, 0x85, 0x6e, 0x30, 0x6c, 0x9b, 0x65, 0x12, 0x86, 0x64, 0x7c, 0xe3, + 0xc0, 0xd3, 0x43, 0x11, 0xe2, 0x03, 0xbf, 0x46, 0x53, 0xa7, 0xc2, 0xf0, + 0xe1, 0x25, 0xb2, 0xb7, 0x7c, 0xb7, 0x8c, 0xdc, 0xad, 0x1f, 0x78, 0xbc, + 0xbc, 0x24, 0x66, 0x14, +}; +static const unsigned char kat3917_addinpr2[] = { + 0x86, 0x46, 0xa7, 0x2d, 0xc3, 0x16, 0x6c, 0xd4, 0x30, 0xdf, 0xe6, 0x42, + 0xfa, 0x88, 0x67, 0xb5, 0x2d, 0x0a, 0xc9, 0xee, 0x9b, 0xfb, 0x38, 0x8e, + 0xb6, 0x23, 0xbf, 0x2b, 0x64, 0xcb, 0x46, 0x23, 0xb5, 0x4f, 0x51, 0x0b, + 0x0e, 0xff, 0x31, 0xee, +}; +static const unsigned char kat3917_retbits[] = { + 0x81, 0xb6, 0xcd, 0x83, 0xde, 0x16, 0xad, 0x69, 0xb0, 0xa9, 0x18, 0xc5, + 0x92, 0x26, 0x8c, 0x5f, 0xa6, 0x18, 0x72, 0xf4, 0x82, 0x37, 0x52, 0x7a, + 0x99, 0x79, 0xcc, 0x56, 0x23, 0xac, 0x0e, 0x9a, 0x9e, 0xdc, 0x00, 0xa7, + 0x73, 0xa2, 0x8a, 0x6b, 0xb1, 0x92, 0x0b, 0x84, 0x25, 0xdd, 0x6c, 0x4f, + 0x41, 0x2c, 0xb1, 0x2e, 0xe7, 0xa6, 0x0a, 0x59, 0x94, 0x38, 0x73, 0xfa, + 0x64, 0x06, 0x00, 0x27, +}; +static const struct drbg_kat_pr_true kat3917_t = { + 1, kat3917_entropyin, kat3917_nonce, kat3917_persstr, + kat3917_entropyinpr1, kat3917_addinpr1, kat3917_entropyinpr2, + kat3917_addinpr2, kat3917_retbits +}; +static const struct drbg_kat kat3917 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3917_t +}; + +static const unsigned char kat3918_entropyin[] = { + 0x1b, 0xac, 0x87, 0xbf, 0x6f, 0xaa, 0xed, 0x98, 0x2b, 0xc1, 0x62, 0xda, + 0xe0, 0xf6, 0x0a, 0xb8, 0x9c, 0xc4, 0x62, 0xe2, 0x02, 0xa1, 0x5d, 0x28, + 0xc0, 0x3a, 0xa7, 0xf5, 0x4b, 0x46, 0x2c, 0xc0, 0x7f, 0x99, 0x06, 0xb0, + 0x94, 0xd6, 0x41, 0x90, +}; +static const unsigned char kat3918_nonce[] = {0}; +static const unsigned char kat3918_persstr[] = {0}; +static const unsigned char kat3918_entropyinpr1[] = { + 0xdc, 0x7b, 0x93, 0xb5, 0x2e, 0x4e, 0x7d, 0xc5, 0xc8, 0xa1, 0xb5, 0x15, + 0xec, 0xb8, 0xed, 0x1b, 0x83, 0xd3, 0x0b, 0x88, 0xd5, 0xd9, 0x7c, 0x18, + 0xf8, 0xfc, 0x99, 0x93, 0xed, 0x6a, 0x12, 0xe0, 0x11, 0x36, 0xf5, 0x85, + 0xe6, 0x3f, 0xfc, 0xba, +}; +static const unsigned char kat3918_addinpr1[] = { + 0x3a, 0x05, 0xe6, 0xf8, 0xb5, 0xca, 0xa4, 0x71, 0x9d, 0xd6, 0x87, 0xb9, + 0xfd, 0xca, 0x22, 0xfd, 0x52, 0x7b, 0x78, 0xcd, 0xbb, 0x88, 0xcc, 0x57, + 0x55, 0x41, 0x5b, 0x27, 0xdd, 0xce, 0xc1, 0xab, 0xff, 0x8d, 0xf2, 0xab, + 0x8f, 0xde, 0x92, 0xff, +}; +static const unsigned char kat3918_entropyinpr2[] = { + 0x43, 0x39, 0xb9, 0xe4, 0x9d, 0x92, 0xe5, 0x6a, 0x96, 0xb1, 0x0c, 0xbc, + 0x27, 0x1b, 0xea, 0xd5, 0xfc, 0x9d, 0x4e, 0xb1, 0xaf, 0xc7, 0x65, 0xbb, + 0x29, 0x78, 0xda, 0x3e, 0x8f, 0x05, 0x06, 0x60, 0xab, 0x0b, 0x3b, 0x3f, + 0xb6, 0x8b, 0xb3, 0xf3, +}; +static const unsigned char kat3918_addinpr2[] = { + 0x66, 0x27, 0x65, 0x17, 0x05, 0x37, 0x0c, 0x1b, 0xc8, 0xec, 0x97, 0xa2, + 0xfc, 0x22, 0xae, 0x61, 0xf2, 0x0a, 0x6f, 0x12, 0xac, 0x0b, 0x9a, 0x3f, + 0xc0, 0x19, 0x85, 0x20, 0x2b, 0x03, 0x60, 0x18, 0xf2, 0xb8, 0x15, 0x73, + 0x10, 0xf5, 0xe7, 0xde, +}; +static const unsigned char kat3918_retbits[] = { + 0xdb, 0x7c, 0x2b, 0x21, 0x00, 0x9d, 0x01, 0x2a, 0x98, 0x55, 0xc4, 0xc7, + 0xe4, 0x55, 0x7e, 0x47, 0x49, 0x51, 0x85, 0x3f, 0x99, 0x7a, 0x76, 0xef, + 0x20, 0x1b, 0xfd, 0xed, 0x6d, 0xa9, 0xc7, 0xf1, 0xc2, 0x28, 0xbd, 0x85, + 0x0f, 0x2b, 0xfb, 0xbe, 0xf4, 0x70, 0xf1, 0x4e, 0x39, 0x37, 0x7e, 0x2d, + 0x31, 0x33, 0x00, 0x8c, 0x86, 0xf7, 0xa5, 0x1a, 0x91, 0xfd, 0xfb, 0x0b, + 0xb8, 0xea, 0x9b, 0xf1, +}; +static const struct drbg_kat_pr_true kat3918_t = { + 2, kat3918_entropyin, kat3918_nonce, kat3918_persstr, + kat3918_entropyinpr1, kat3918_addinpr1, kat3918_entropyinpr2, + kat3918_addinpr2, kat3918_retbits +}; +static const struct drbg_kat kat3918 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3918_t +}; + +static const unsigned char kat3919_entropyin[] = { + 0x9f, 0x9b, 0x52, 0xf8, 0xd2, 0x22, 0xfe, 0x83, 0x45, 0x09, 0x58, 0xa7, + 0x3a, 0xc2, 0x57, 0x9f, 0x83, 0x04, 0x09, 0x34, 0x6e, 0xdf, 0xac, 0x37, + 0x33, 0xc6, 0x57, 0x15, 0xff, 0x6d, 0xe3, 0x18, 0xdf, 0x83, 0xf0, 0x4b, + 0x97, 0x27, 0x89, 0x06, +}; +static const unsigned char kat3919_nonce[] = {0}; +static const unsigned char kat3919_persstr[] = {0}; +static const unsigned char kat3919_entropyinpr1[] = { + 0x33, 0x9c, 0x90, 0x09, 0x90, 0xe3, 0xa0, 0x91, 0xb0, 0x4a, 0x8f, 0xf7, + 0xdd, 0x49, 0x8c, 0xfa, 0x2a, 0x45, 0xf7, 0x1c, 0x50, 0x0c, 0x84, 0xf2, + 0x03, 0xfe, 0x59, 0x30, 0x10, 0x01, 0x4a, 0xa4, 0x78, 0x63, 0x2b, 0xe2, + 0xf1, 0xa9, 0x76, 0x6c, +}; +static const unsigned char kat3919_addinpr1[] = { + 0x42, 0x70, 0x46, 0x32, 0x14, 0x7b, 0xc6, 0xc6, 0x58, 0x6b, 0x4b, 0xbd, + 0xd6, 0xfb, 0x2b, 0x9c, 0x47, 0x81, 0x4f, 0x85, 0x75, 0xb4, 0xf2, 0x37, + 0x46, 0xa1, 0x62, 0x65, 0x35, 0x1a, 0xf8, 0x13, 0x34, 0x3b, 0x78, 0x7e, + 0xa1, 0xbb, 0xdd, 0xfc, +}; +static const unsigned char kat3919_entropyinpr2[] = { + 0xc8, 0xc5, 0xb3, 0x5f, 0x64, 0x17, 0xd4, 0x15, 0x2b, 0x46, 0x65, 0x74, + 0xb3, 0xb9, 0x27, 0xc0, 0xf3, 0x38, 0x50, 0xe3, 0x46, 0xaf, 0x02, 0xe3, + 0x8d, 0x4b, 0x4f, 0x3b, 0x08, 0xa8, 0x29, 0xce, 0xbb, 0x1f, 0x8c, 0xb7, + 0xec, 0x82, 0x47, 0x39, +}; +static const unsigned char kat3919_addinpr2[] = { + 0x28, 0x53, 0x62, 0x91, 0x91, 0x82, 0x2c, 0xc6, 0x72, 0x25, 0x92, 0x31, + 0x0a, 0x34, 0x23, 0x64, 0xdb, 0xe3, 0xc5, 0xde, 0x87, 0x84, 0xe7, 0xe7, + 0x1c, 0xd5, 0x7d, 0xa8, 0x21, 0x0e, 0x8e, 0x95, 0x7a, 0x2c, 0xad, 0x7b, + 0x0b, 0x14, 0x64, 0xff, +}; +static const unsigned char kat3919_retbits[] = { + 0x86, 0xfc, 0xb4, 0xf9, 0xa8, 0xa9, 0xcb, 0x91, 0x81, 0x14, 0xdd, 0x5d, + 0x9b, 0x63, 0x98, 0xc9, 0x59, 0x2a, 0x9f, 0x82, 0x8a, 0xe3, 0x05, 0xe1, + 0x53, 0x4e, 0xb9, 0x94, 0xbc, 0x03, 0xca, 0x73, 0x52, 0x65, 0x5d, 0x57, + 0x73, 0x1f, 0x0d, 0x93, 0x4d, 0xeb, 0x9b, 0xbc, 0x82, 0xc6, 0x37, 0x96, + 0x60, 0x2c, 0xc8, 0x7c, 0x90, 0xfb, 0xf0, 0xf1, 0x2a, 0xe0, 0x75, 0x30, + 0xa0, 0x03, 0x1c, 0xca, +}; +static const struct drbg_kat_pr_true kat3919_t = { + 3, kat3919_entropyin, kat3919_nonce, kat3919_persstr, + kat3919_entropyinpr1, kat3919_addinpr1, kat3919_entropyinpr2, + kat3919_addinpr2, kat3919_retbits +}; +static const struct drbg_kat kat3919 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3919_t +}; + +static const unsigned char kat3920_entropyin[] = { + 0x7d, 0xe7, 0x58, 0x25, 0x9f, 0x0e, 0xde, 0x3e, 0xef, 0x9c, 0xd4, 0x9e, + 0x48, 0x02, 0xca, 0xcf, 0xb6, 0xa0, 0x07, 0xd0, 0x19, 0xa0, 0x7e, 0x8a, + 0x12, 0x65, 0x98, 0xc4, 0xd4, 0x06, 0xde, 0xab, 0x8c, 0x77, 0xbb, 0xbc, + 0xed, 0x0c, 0x50, 0xf0, +}; +static const unsigned char kat3920_nonce[] = {0}; +static const unsigned char kat3920_persstr[] = {0}; +static const unsigned char kat3920_entropyinpr1[] = { + 0xbc, 0x4f, 0xad, 0xba, 0x71, 0x19, 0x91, 0x4f, 0xf2, 0x67, 0xc7, 0x36, + 0x6e, 0x2d, 0xb8, 0xc9, 0xdf, 0x3f, 0xef, 0xd1, 0xcb, 0xde, 0x10, 0x1b, + 0x1d, 0xd5, 0x12, 0x28, 0x54, 0xba, 0xc1, 0x49, 0xa8, 0x09, 0x0b, 0x76, + 0x7b, 0x20, 0x65, 0x07, +}; +static const unsigned char kat3920_addinpr1[] = { + 0xd0, 0x64, 0x76, 0xf3, 0x82, 0x1a, 0x3b, 0x90, 0x53, 0x4d, 0xfe, 0x0b, + 0x54, 0xd1, 0x88, 0xa7, 0x9d, 0xd1, 0x49, 0x89, 0x24, 0x4f, 0xf9, 0x70, + 0xbb, 0x22, 0x4a, 0x2a, 0x51, 0x11, 0xc5, 0x57, 0xc7, 0x3e, 0xf9, 0xaf, + 0xc5, 0x0c, 0x22, 0x3a, +}; +static const unsigned char kat3920_entropyinpr2[] = { + 0xae, 0x34, 0x4d, 0x13, 0xe0, 0x57, 0x0d, 0x89, 0x99, 0xb8, 0x46, 0xe2, + 0xd2, 0xf4, 0x50, 0xa7, 0x7e, 0xd4, 0x5b, 0x68, 0xba, 0x43, 0x8a, 0x51, + 0xbe, 0x48, 0x43, 0xdd, 0x17, 0x6f, 0xd8, 0xeb, 0xed, 0x4c, 0x09, 0x09, + 0x9c, 0xb4, 0x0a, 0x40, +}; +static const unsigned char kat3920_addinpr2[] = { + 0x0b, 0xef, 0x4e, 0xe5, 0x68, 0xc0, 0x37, 0xb1, 0xfc, 0xa6, 0x55, 0x9b, + 0x26, 0x63, 0xf0, 0xb5, 0x2d, 0x06, 0xa5, 0xb0, 0xb1, 0x2c, 0x5d, 0x4f, + 0x0f, 0x93, 0x75, 0x4b, 0xd3, 0x21, 0xbe, 0x38, 0xdc, 0xc2, 0x19, 0x27, + 0x4b, 0xb0, 0xbf, 0x1e, +}; +static const unsigned char kat3920_retbits[] = { + 0xf5, 0x5b, 0x2c, 0xbe, 0xec, 0xb9, 0xde, 0x59, 0x1d, 0x8b, 0x9a, 0xc5, + 0xce, 0xa5, 0xfe, 0xc3, 0x9c, 0xd5, 0xa2, 0x96, 0xd4, 0x10, 0x03, 0x9a, + 0x40, 0xa6, 0x5a, 0x94, 0xc3, 0xe0, 0x0f, 0xaa, 0xdd, 0x5b, 0x91, 0xfc, + 0x3e, 0x61, 0xe9, 0xca, 0xea, 0xa4, 0xa9, 0x94, 0xd3, 0x10, 0xd1, 0xb4, + 0x63, 0xee, 0x7a, 0x4c, 0x04, 0x48, 0x69, 0x5f, 0x08, 0x72, 0x7a, 0x3a, + 0x86, 0x59, 0x09, 0xcb, +}; +static const struct drbg_kat_pr_true kat3920_t = { + 4, kat3920_entropyin, kat3920_nonce, kat3920_persstr, + kat3920_entropyinpr1, kat3920_addinpr1, kat3920_entropyinpr2, + kat3920_addinpr2, kat3920_retbits +}; +static const struct drbg_kat kat3920 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3920_t +}; + +static const unsigned char kat3921_entropyin[] = { + 0xd7, 0xfc, 0x99, 0x9d, 0xe0, 0x4d, 0x4e, 0x7c, 0xab, 0x03, 0xae, 0x5a, + 0xeb, 0x4a, 0x7c, 0x96, 0x35, 0x8b, 0x6b, 0x0b, 0x98, 0x3f, 0x2a, 0xac, + 0xd7, 0xf6, 0x56, 0x0e, 0x67, 0x5d, 0x4c, 0x37, 0xd8, 0x59, 0xce, 0x4d, + 0xc7, 0xea, 0x87, 0x90, +}; +static const unsigned char kat3921_nonce[] = {0}; +static const unsigned char kat3921_persstr[] = {0}; +static const unsigned char kat3921_entropyinpr1[] = { + 0xe3, 0xd6, 0xfd, 0x7d, 0x45, 0x7a, 0xce, 0x95, 0xa3, 0xc2, 0x5a, 0x35, + 0x6b, 0xa0, 0xb4, 0xfd, 0xd4, 0xd8, 0xc4, 0xb8, 0x70, 0xb9, 0xe1, 0xb6, + 0x5b, 0x04, 0xfb, 0x43, 0x27, 0xbb, 0xc2, 0x89, 0xeb, 0x2d, 0xda, 0x63, + 0x75, 0x1e, 0x5e, 0x95, +}; +static const unsigned char kat3921_addinpr1[] = { + 0xc7, 0x99, 0x8d, 0xdd, 0x0c, 0x4c, 0x2b, 0xab, 0xc0, 0x83, 0x61, 0x5a, + 0xb8, 0xfb, 0x9a, 0x8f, 0x97, 0x4d, 0xc6, 0x9e, 0xad, 0x4e, 0x5c, 0xb9, + 0x76, 0xee, 0x5d, 0x42, 0x66, 0x2f, 0x6a, 0xf4, 0x4f, 0xd5, 0xe4, 0xce, + 0x07, 0xab, 0xa8, 0x81, +}; +static const unsigned char kat3921_entropyinpr2[] = { + 0xff, 0xec, 0xdc, 0x20, 0x56, 0xe6, 0x36, 0xb9, 0xcc, 0x00, 0x86, 0xc4, + 0xf3, 0xb0, 0x2a, 0x90, 0xa5, 0xb8, 0x66, 0xc0, 0x49, 0xa4, 0x66, 0xd6, + 0x17, 0xfc, 0xea, 0xf3, 0x6f, 0x3a, 0xc7, 0x83, 0x65, 0x22, 0x14, 0x4e, + 0x9f, 0xb6, 0xd7, 0x10, +}; +static const unsigned char kat3921_addinpr2[] = { + 0x5a, 0x46, 0xa0, 0x0a, 0x2e, 0xf1, 0xba, 0x40, 0xa2, 0x4a, 0x71, 0x8b, + 0xf4, 0x1a, 0xc6, 0xbe, 0x26, 0xc7, 0x21, 0x16, 0x60, 0x9f, 0x70, 0x75, + 0x82, 0x5a, 0xb4, 0xfd, 0xbe, 0x43, 0x84, 0x24, 0x62, 0xed, 0xec, 0x3f, + 0xe7, 0x27, 0x07, 0x5d, +}; +static const unsigned char kat3921_retbits[] = { + 0x30, 0xd3, 0xb6, 0x0b, 0xec, 0x4b, 0x18, 0xec, 0x4e, 0x93, 0xbb, 0x09, + 0x6e, 0xb0, 0xb2, 0x00, 0xae, 0x4f, 0xb5, 0xe4, 0x61, 0x07, 0xb6, 0x33, + 0xa2, 0xcb, 0xc0, 0xc4, 0xfe, 0xd0, 0x6f, 0xec, 0x9c, 0x75, 0xe3, 0x7d, + 0x55, 0x3c, 0x4c, 0xe1, 0xf6, 0x3a, 0xad, 0x58, 0x19, 0xd8, 0xf3, 0x8b, + 0x43, 0xd5, 0x44, 0x59, 0x17, 0xf4, 0x20, 0x77, 0x33, 0xb2, 0xe2, 0xdf, + 0xc0, 0xf0, 0xd3, 0x51, +}; +static const struct drbg_kat_pr_true kat3921_t = { + 5, kat3921_entropyin, kat3921_nonce, kat3921_persstr, + kat3921_entropyinpr1, kat3921_addinpr1, kat3921_entropyinpr2, + kat3921_addinpr2, kat3921_retbits +}; +static const struct drbg_kat kat3921 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3921_t +}; + +static const unsigned char kat3922_entropyin[] = { + 0x54, 0xca, 0xfb, 0x5d, 0x51, 0x6e, 0x54, 0xa4, 0x81, 0xa4, 0xeb, 0xf5, + 0xe8, 0x1b, 0x89, 0x14, 0xb8, 0x21, 0xf2, 0x3b, 0x12, 0x25, 0x32, 0xea, + 0x14, 0x0c, 0x37, 0x07, 0x5a, 0x43, 0x73, 0xbc, 0x1a, 0x5c, 0x32, 0x42, + 0x09, 0x26, 0x6a, 0x1d, +}; +static const unsigned char kat3922_nonce[] = {0}; +static const unsigned char kat3922_persstr[] = {0}; +static const unsigned char kat3922_entropyinpr1[] = { + 0x7a, 0x3d, 0x33, 0x86, 0x08, 0xca, 0xc0, 0x03, 0xc1, 0x6e, 0x28, 0xcd, + 0x77, 0x9b, 0x12, 0x46, 0x59, 0xfd, 0xdd, 0x44, 0x5d, 0xaa, 0xc0, 0xc9, + 0xb2, 0x6d, 0x32, 0x98, 0x57, 0x3a, 0xb5, 0x05, 0x68, 0x97, 0x9c, 0xa0, + 0x34, 0xb7, 0x7b, 0x45, +}; +static const unsigned char kat3922_addinpr1[] = { + 0x2b, 0x4b, 0x5d, 0x18, 0xf0, 0x56, 0x6e, 0xd8, 0x96, 0xe1, 0x3f, 0x2b, + 0xe0, 0xa5, 0x4c, 0xb6, 0x8d, 0x44, 0x52, 0xe4, 0x3f, 0x36, 0x18, 0xa8, + 0x7e, 0x04, 0xb7, 0xc0, 0x7f, 0x0a, 0xb6, 0x25, 0xe3, 0x31, 0xde, 0xe5, + 0xd4, 0xd2, 0x93, 0x9c, +}; +static const unsigned char kat3922_entropyinpr2[] = { + 0xcd, 0x24, 0xf9, 0xab, 0x7a, 0xb5, 0x26, 0x3c, 0xf7, 0xab, 0x3a, 0xbb, + 0x6f, 0xdf, 0x21, 0xb3, 0x0d, 0x04, 0x97, 0x9b, 0x5d, 0x90, 0x86, 0x16, + 0xe4, 0xa8, 0xf6, 0x53, 0xcf, 0x07, 0x01, 0x26, 0xdd, 0xc3, 0x12, 0x9e, + 0xb9, 0xf7, 0x25, 0xf6, +}; +static const unsigned char kat3922_addinpr2[] = { + 0x0c, 0xec, 0x7d, 0xed, 0x49, 0x33, 0x01, 0x92, 0x9c, 0xb2, 0x27, 0x40, + 0x46, 0x34, 0x7c, 0xc9, 0x90, 0x31, 0x4d, 0xeb, 0xcc, 0x42, 0x3b, 0xc3, + 0x20, 0xc6, 0xd5, 0x40, 0x07, 0x9c, 0x6a, 0x0a, 0x9b, 0xd0, 0x34, 0x09, + 0x34, 0xcc, 0x04, 0x2d, +}; +static const unsigned char kat3922_retbits[] = { + 0xd3, 0x57, 0x63, 0xaf, 0x07, 0xa4, 0xf2, 0x44, 0x17, 0x52, 0x5e, 0x9d, + 0xdc, 0xa6, 0x45, 0x06, 0xf5, 0x59, 0x05, 0x90, 0x0c, 0x75, 0xb8, 0xdd, + 0x83, 0xbc, 0xca, 0x6a, 0xa4, 0x41, 0xc1, 0x7a, 0xe1, 0x5d, 0x19, 0x2a, + 0x2f, 0xca, 0x46, 0x64, 0xba, 0x53, 0x0c, 0x8e, 0x38, 0x6f, 0x9b, 0x15, + 0x64, 0x80, 0xe1, 0x75, 0x36, 0xcc, 0x4f, 0x4e, 0x91, 0x0d, 0x57, 0x90, + 0x06, 0x2c, 0x7c, 0x02, +}; +static const struct drbg_kat_pr_true kat3922_t = { + 6, kat3922_entropyin, kat3922_nonce, kat3922_persstr, + kat3922_entropyinpr1, kat3922_addinpr1, kat3922_entropyinpr2, + kat3922_addinpr2, kat3922_retbits +}; +static const struct drbg_kat kat3922 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3922_t +}; + +static const unsigned char kat3923_entropyin[] = { + 0xb6, 0xbf, 0x46, 0xcb, 0xbe, 0x2b, 0x70, 0x66, 0x3a, 0x9d, 0xff, 0x11, + 0x7e, 0xb5, 0xa6, 0x1c, 0xeb, 0x03, 0x43, 0x3c, 0x48, 0x69, 0xbe, 0xbb, + 0xe3, 0xc5, 0x9c, 0xba, 0xc0, 0x3c, 0x12, 0x8f, 0x5b, 0x9d, 0x4c, 0x33, + 0xdb, 0x79, 0xad, 0x75, +}; +static const unsigned char kat3923_nonce[] = {0}; +static const unsigned char kat3923_persstr[] = {0}; +static const unsigned char kat3923_entropyinpr1[] = { + 0x96, 0xc7, 0x54, 0xf5, 0x45, 0x46, 0xdb, 0x07, 0x8b, 0x28, 0xe8, 0xfd, + 0x83, 0xda, 0x4c, 0xa9, 0x29, 0xb7, 0x5e, 0xf7, 0xb6, 0xd5, 0xf8, 0xea, + 0xc9, 0x5a, 0x95, 0xde, 0x22, 0x82, 0x9f, 0x8c, 0xa0, 0x16, 0x7b, 0xdf, + 0xbb, 0x59, 0xa8, 0xa6, +}; +static const unsigned char kat3923_addinpr1[] = { + 0xcb, 0x4f, 0x5f, 0x7f, 0xa3, 0xf6, 0xa6, 0x4c, 0x2c, 0x00, 0xc8, 0x44, + 0xa4, 0x9b, 0xfb, 0xfb, 0x54, 0x76, 0xa1, 0x12, 0x2d, 0xeb, 0x24, 0x2e, + 0xf6, 0xad, 0xd8, 0xd2, 0xc7, 0x7a, 0x10, 0xc5, 0x4e, 0xfc, 0x63, 0xee, + 0x8c, 0x59, 0xb4, 0xf9, +}; +static const unsigned char kat3923_entropyinpr2[] = { + 0xf9, 0xce, 0x30, 0x05, 0x2c, 0xb3, 0x2f, 0xe2, 0x84, 0x02, 0x93, 0x45, + 0x23, 0xce, 0x2d, 0x2a, 0xeb, 0x82, 0x0f, 0x6f, 0x65, 0xb6, 0xe2, 0x2f, + 0xbc, 0x75, 0xf5, 0x8a, 0x1e, 0xcf, 0x4b, 0x1f, 0xe3, 0x88, 0x58, 0x9d, + 0x31, 0x23, 0xa3, 0xc3, +}; +static const unsigned char kat3923_addinpr2[] = { + 0xb6, 0xf8, 0x87, 0x0c, 0x7d, 0x5d, 0x58, 0x5a, 0x55, 0x81, 0x04, 0xe2, + 0x0e, 0xa6, 0x93, 0x4f, 0x70, 0x90, 0x0d, 0xad, 0x35, 0xa3, 0x0e, 0x9d, + 0x53, 0x0e, 0xba, 0x97, 0x4d, 0xc4, 0x15, 0x8a, 0x3b, 0x34, 0x2a, 0xd8, + 0xb9, 0x3a, 0x33, 0x23, +}; +static const unsigned char kat3923_retbits[] = { + 0xcb, 0x0d, 0x1b, 0x96, 0xb5, 0xcc, 0x16, 0x61, 0x86, 0x66, 0xfa, 0x81, + 0xe0, 0x62, 0x65, 0x70, 0x76, 0xbf, 0x59, 0x0d, 0x99, 0x08, 0xf4, 0x80, + 0xd9, 0xe5, 0xe5, 0xb5, 0x7d, 0x5b, 0x45, 0xa6, 0x83, 0xdd, 0x11, 0x16, + 0xff, 0xe0, 0x34, 0x6a, 0x33, 0xb8, 0xe4, 0xb9, 0xdb, 0xa1, 0xed, 0x1c, + 0x4b, 0x4a, 0xd6, 0x75, 0xa7, 0xd9, 0x01, 0x82, 0xcb, 0x88, 0xe6, 0x11, + 0xeb, 0x52, 0x26, 0xd1, +}; +static const struct drbg_kat_pr_true kat3923_t = { + 7, kat3923_entropyin, kat3923_nonce, kat3923_persstr, + kat3923_entropyinpr1, kat3923_addinpr1, kat3923_entropyinpr2, + kat3923_addinpr2, kat3923_retbits +}; +static const struct drbg_kat kat3923 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3923_t +}; + +static const unsigned char kat3924_entropyin[] = { + 0x41, 0x3e, 0xb0, 0xc2, 0xc2, 0x05, 0xd7, 0x25, 0x66, 0xa8, 0xec, 0x67, + 0xc3, 0x08, 0xcb, 0x2b, 0x22, 0xda, 0x03, 0x8b, 0xc2, 0x57, 0xc1, 0x17, + 0x0e, 0x9e, 0xad, 0x51, 0x14, 0x5a, 0x2c, 0xfe, 0xd6, 0x07, 0xff, 0x7a, + 0x4c, 0x8b, 0xb3, 0x45, +}; +static const unsigned char kat3924_nonce[] = {0}; +static const unsigned char kat3924_persstr[] = {0}; +static const unsigned char kat3924_entropyinpr1[] = { + 0x01, 0x64, 0xc3, 0x79, 0xde, 0x45, 0x96, 0x3a, 0xde, 0x5d, 0x8d, 0xf7, + 0x97, 0x3b, 0x17, 0xbf, 0x92, 0x6f, 0xd4, 0x5e, 0x71, 0x28, 0x8b, 0x2d, + 0xa7, 0x6a, 0xe7, 0x8a, 0x23, 0x54, 0x74, 0x31, 0x9e, 0xb0, 0xc1, 0xa1, + 0x3c, 0xb3, 0x4a, 0x01, +}; +static const unsigned char kat3924_addinpr1[] = { + 0xfb, 0x52, 0x4a, 0xca, 0x2c, 0xfc, 0x0e, 0xa9, 0x42, 0x9e, 0x47, 0x1e, + 0xae, 0xfd, 0x1d, 0x89, 0xad, 0x52, 0x2b, 0x33, 0x1e, 0xa3, 0x1c, 0x7a, + 0x94, 0xf3, 0x20, 0xe4, 0xd2, 0x82, 0xc3, 0x7f, 0xd4, 0x9a, 0xd4, 0x10, + 0x34, 0xac, 0xf4, 0x1d, +}; +static const unsigned char kat3924_entropyinpr2[] = { + 0xbe, 0xa1, 0x6b, 0xbc, 0x6d, 0x84, 0x16, 0xfa, 0x32, 0x08, 0x0b, 0x4a, + 0xde, 0x84, 0xa3, 0x56, 0xfc, 0x97, 0x8f, 0xb9, 0x46, 0x07, 0x55, 0x59, + 0x01, 0xef, 0x7d, 0x20, 0xb8, 0x4f, 0xe3, 0xd0, 0x51, 0x8c, 0x23, 0x55, + 0x13, 0xee, 0xee, 0xf4, +}; +static const unsigned char kat3924_addinpr2[] = { + 0x44, 0x37, 0x7c, 0xd9, 0x6c, 0x92, 0xa3, 0x35, 0xd2, 0x07, 0x4e, 0x3f, + 0xcc, 0x3e, 0x88, 0x2a, 0xf6, 0x36, 0xb9, 0x44, 0xd1, 0x97, 0x24, 0xca, + 0x68, 0xde, 0x5e, 0x6e, 0x31, 0xbe, 0x21, 0xac, 0x49, 0x5e, 0x77, 0xee, + 0x65, 0xdd, 0x3b, 0x53, +}; +static const unsigned char kat3924_retbits[] = { + 0xdd, 0x51, 0x73, 0x80, 0x52, 0xf0, 0x7f, 0xc1, 0x31, 0x7b, 0x7f, 0xaf, + 0x27, 0x0f, 0x86, 0xdb, 0xf5, 0x56, 0xf4, 0x28, 0xcc, 0xaf, 0x2b, 0x5c, + 0x87, 0x23, 0x4f, 0x19, 0x63, 0xd9, 0x33, 0xf2, 0x48, 0x51, 0x15, 0xa2, + 0x46, 0xbf, 0x24, 0x7a, 0x5e, 0xb0, 0x10, 0x6f, 0x00, 0x16, 0xfa, 0x1f, + 0x1b, 0xb1, 0x22, 0x0e, 0x3e, 0x67, 0xdc, 0x07, 0x9c, 0xf9, 0x04, 0x3e, + 0x2a, 0x47, 0x89, 0xe9, +}; +static const struct drbg_kat_pr_true kat3924_t = { + 8, kat3924_entropyin, kat3924_nonce, kat3924_persstr, + kat3924_entropyinpr1, kat3924_addinpr1, kat3924_entropyinpr2, + kat3924_addinpr2, kat3924_retbits +}; +static const struct drbg_kat kat3924 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3924_t +}; + +static const unsigned char kat3925_entropyin[] = { + 0xf4, 0x9c, 0x04, 0x2c, 0x04, 0x33, 0xec, 0x36, 0xae, 0x5b, 0x5e, 0x8c, + 0xcf, 0x35, 0xc1, 0xcd, 0x86, 0xd5, 0xc7, 0xcf, 0xad, 0x38, 0xcb, 0xec, + 0x2b, 0xdd, 0x7b, 0x89, 0x91, 0xe1, 0xa9, 0xb9, 0xcb, 0x70, 0x7c, 0x29, + 0xa6, 0x0f, 0xd2, 0x03, +}; +static const unsigned char kat3925_nonce[] = {0}; +static const unsigned char kat3925_persstr[] = {0}; +static const unsigned char kat3925_entropyinpr1[] = { + 0x8c, 0x0f, 0x0d, 0x3d, 0x18, 0x85, 0x61, 0x2c, 0xc5, 0x83, 0x84, 0x0e, + 0x51, 0x33, 0xa3, 0x25, 0x3e, 0x41, 0xe6, 0x48, 0xe5, 0x94, 0xb9, 0x5e, + 0x39, 0xb7, 0x9e, 0xb5, 0xb9, 0x9d, 0x4f, 0x55, 0x60, 0x64, 0x6d, 0xb1, + 0x1e, 0xc1, 0x52, 0xab, +}; +static const unsigned char kat3925_addinpr1[] = { + 0xde, 0x6d, 0x6b, 0x66, 0xcd, 0x0b, 0x4f, 0x00, 0xb4, 0xf2, 0x1f, 0x6b, + 0x70, 0x7c, 0xd3, 0xb1, 0x64, 0x39, 0xdc, 0x8d, 0xdb, 0xf4, 0xde, 0x16, + 0x90, 0x29, 0x71, 0xb3, 0x88, 0x41, 0x34, 0xe3, 0xbd, 0x53, 0xe7, 0x38, + 0xcf, 0x99, 0xe8, 0x50, +}; +static const unsigned char kat3925_entropyinpr2[] = { + 0x0d, 0x27, 0xc7, 0x31, 0xa0, 0xdf, 0x9c, 0x3d, 0xfe, 0x3b, 0x4a, 0x05, + 0x00, 0x17, 0x76, 0x53, 0x22, 0x09, 0x87, 0x5a, 0x44, 0x27, 0xb8, 0x3d, + 0x03, 0xd5, 0xce, 0x49, 0x2f, 0x62, 0xa4, 0x25, 0xe5, 0xab, 0x34, 0x23, + 0x2c, 0x02, 0xd4, 0x97, +}; +static const unsigned char kat3925_addinpr2[] = { + 0x6d, 0xb7, 0x52, 0xa5, 0xd5, 0x6f, 0x1f, 0xad, 0xc9, 0x58, 0xdb, 0x0a, + 0xc4, 0x86, 0xd7, 0xdb, 0xb1, 0x93, 0x41, 0x74, 0x9f, 0x4b, 0x0b, 0x41, + 0xfa, 0x5d, 0xf9, 0x29, 0x19, 0xba, 0xb9, 0x36, 0xd9, 0x3a, 0x4c, 0xbd, + 0xfc, 0x14, 0x3d, 0x98, +}; +static const unsigned char kat3925_retbits[] = { + 0x61, 0xf7, 0xd3, 0x8c, 0xe6, 0x8f, 0x07, 0xa3, 0xc8, 0x3c, 0xf3, 0xe1, + 0x9b, 0xd8, 0xd2, 0x4b, 0x33, 0x3b, 0x67, 0x79, 0xeb, 0x31, 0x2e, 0x46, + 0x1e, 0x64, 0x86, 0x20, 0x8b, 0x6b, 0x7f, 0x79, 0x70, 0xa7, 0x48, 0x0c, + 0x0c, 0x19, 0xfb, 0xef, 0xf3, 0x2a, 0xe4, 0xae, 0x7d, 0xbc, 0xfa, 0xe9, + 0xb3, 0x6c, 0x1a, 0x33, 0xf3, 0x74, 0x08, 0xf0, 0xc5, 0xa5, 0x70, 0x57, + 0xdd, 0xe4, 0x96, 0xd6, +}; +static const struct drbg_kat_pr_true kat3925_t = { + 9, kat3925_entropyin, kat3925_nonce, kat3925_persstr, + kat3925_entropyinpr1, kat3925_addinpr1, kat3925_entropyinpr2, + kat3925_addinpr2, kat3925_retbits +}; +static const struct drbg_kat kat3925 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3925_t +}; + +static const unsigned char kat3926_entropyin[] = { + 0xfe, 0x79, 0x49, 0x9a, 0xdd, 0xa1, 0xb1, 0x76, 0xe2, 0x75, 0xd8, 0xc3, + 0x17, 0x43, 0x8d, 0x70, 0xa1, 0xb6, 0x2b, 0x0b, 0xc0, 0x56, 0x1c, 0xf1, + 0xcb, 0x62, 0xb5, 0xe4, 0xcd, 0x99, 0x79, 0x8c, 0x32, 0xdc, 0x16, 0x1a, + 0x81, 0x81, 0xc7, 0x8b, +}; +static const unsigned char kat3926_nonce[] = {0}; +static const unsigned char kat3926_persstr[] = {0}; +static const unsigned char kat3926_entropyinpr1[] = { + 0x47, 0xf9, 0x0e, 0x57, 0x0b, 0xd1, 0x1a, 0x35, 0xab, 0x58, 0x62, 0xf6, + 0x73, 0x58, 0xac, 0xd7, 0xc7, 0x98, 0xb3, 0x88, 0xe5, 0x44, 0x1a, 0xe8, + 0x6f, 0x90, 0xc0, 0xa7, 0xc0, 0x71, 0x48, 0xcf, 0x91, 0xdd, 0x74, 0x81, + 0x87, 0x07, 0x5b, 0x27, +}; +static const unsigned char kat3926_addinpr1[] = { + 0xc9, 0x25, 0x0f, 0x70, 0x0a, 0x5c, 0xbc, 0xff, 0x5e, 0xdd, 0x4b, 0x0a, + 0x0f, 0xe4, 0x3f, 0x93, 0x02, 0x85, 0x17, 0xe4, 0xe0, 0x80, 0xe7, 0x86, + 0x59, 0x42, 0xd6, 0xa3, 0xfa, 0xe0, 0x06, 0x1e, 0x3d, 0x54, 0x20, 0x36, + 0xb3, 0x9f, 0xa6, 0x69, +}; +static const unsigned char kat3926_entropyinpr2[] = { + 0xaa, 0x7a, 0xa6, 0x9b, 0xd2, 0xc3, 0xa0, 0x45, 0xa6, 0x46, 0xab, 0xe9, + 0xe2, 0xcb, 0xec, 0x16, 0x66, 0x86, 0xd3, 0x9e, 0xde, 0x26, 0xcc, 0xa5, + 0xbe, 0x38, 0x81, 0x41, 0x0d, 0x4d, 0x03, 0xc2, 0xc3, 0xdd, 0x4a, 0x8a, + 0x08, 0x2a, 0xb5, 0x86, +}; +static const unsigned char kat3926_addinpr2[] = { + 0x90, 0x30, 0x1d, 0xdd, 0x17, 0xf7, 0xb0, 0x0a, 0x10, 0x0d, 0x41, 0x18, + 0x35, 0x08, 0xeb, 0x46, 0xaf, 0x45, 0xbb, 0xd4, 0xfd, 0xe8, 0x61, 0xfa, + 0xde, 0x4b, 0x02, 0x2c, 0x78, 0x6a, 0xdd, 0xfc, 0xd2, 0xdf, 0x94, 0xdb, + 0xca, 0x19, 0x5d, 0xce, +}; +static const unsigned char kat3926_retbits[] = { + 0x2d, 0x38, 0x6e, 0x56, 0x2d, 0x03, 0x88, 0xfb, 0x54, 0xb0, 0xc8, 0x24, + 0xd6, 0x00, 0xf2, 0x1f, 0x87, 0xba, 0x6f, 0x5b, 0xeb, 0xfc, 0xbb, 0x75, + 0x77, 0x92, 0x51, 0x30, 0x93, 0xcc, 0x8b, 0xc0, 0xcf, 0x43, 0x1c, 0x05, + 0x99, 0x5b, 0x7b, 0x20, 0xbe, 0xf0, 0x2a, 0xa1, 0xd9, 0x41, 0x53, 0xeb, + 0x94, 0xdb, 0x8a, 0x4f, 0xfb, 0x27, 0x77, 0xa4, 0x59, 0x88, 0xc4, 0x94, + 0xc1, 0xd7, 0x1a, 0x8c, +}; +static const struct drbg_kat_pr_true kat3926_t = { + 10, kat3926_entropyin, kat3926_nonce, kat3926_persstr, + kat3926_entropyinpr1, kat3926_addinpr1, kat3926_entropyinpr2, + kat3926_addinpr2, kat3926_retbits +}; +static const struct drbg_kat kat3926 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3926_t +}; + +static const unsigned char kat3927_entropyin[] = { + 0x38, 0xa0, 0x3b, 0xc9, 0xce, 0xb8, 0xb6, 0xba, 0x06, 0x44, 0xc6, 0xab, + 0x88, 0x29, 0x4d, 0x5c, 0x63, 0xf5, 0xc5, 0x6e, 0xd0, 0x2e, 0x3c, 0x1c, + 0x9d, 0x69, 0x18, 0xde, 0x8a, 0xd7, 0xfd, 0xae, 0xa7, 0x0b, 0xb7, 0x3c, + 0x77, 0xad, 0x5d, 0xa5, +}; +static const unsigned char kat3927_nonce[] = {0}; +static const unsigned char kat3927_persstr[] = {0}; +static const unsigned char kat3927_entropyinpr1[] = { + 0xc2, 0xab, 0xf2, 0x9d, 0xbb, 0x60, 0x73, 0xb2, 0x90, 0x5c, 0x3b, 0x18, + 0x2a, 0xb6, 0xb1, 0x14, 0x78, 0x48, 0x7d, 0x51, 0x5c, 0x87, 0x51, 0xcf, + 0x65, 0x6d, 0x0d, 0xd9, 0x59, 0x43, 0x30, 0x3a, 0x64, 0xb9, 0xe2, 0x58, + 0x38, 0x5c, 0x59, 0x72, +}; +static const unsigned char kat3927_addinpr1[] = { + 0x0b, 0x77, 0xf7, 0xad, 0xbe, 0xa5, 0xdc, 0xb8, 0xa2, 0xa5, 0xb7, 0x19, + 0x9e, 0x3b, 0xf4, 0xa2, 0x90, 0x58, 0x03, 0xb0, 0x15, 0xf0, 0x8f, 0xbc, + 0x86, 0x86, 0x6c, 0x3e, 0x04, 0x3d, 0x5b, 0xc3, 0x59, 0xe4, 0x70, 0x34, + 0x78, 0xc9, 0xf1, 0xff, +}; +static const unsigned char kat3927_entropyinpr2[] = { + 0x68, 0x32, 0x2a, 0x6a, 0x46, 0x68, 0xac, 0xb1, 0x7f, 0xb1, 0x9e, 0xe4, + 0xc1, 0x87, 0xdb, 0xa2, 0x10, 0x8c, 0xdb, 0x14, 0x57, 0x01, 0x46, 0x2d, + 0xda, 0x21, 0xdb, 0x47, 0x2a, 0x96, 0x47, 0x4c, 0x8d, 0x81, 0x33, 0x5b, + 0x1c, 0x02, 0x7c, 0xab, +}; +static const unsigned char kat3927_addinpr2[] = { + 0xfc, 0xbf, 0x14, 0x7a, 0xee, 0xbc, 0x0e, 0xd5, 0x81, 0x38, 0xe0, 0x7b, + 0xdf, 0xab, 0x3c, 0x9b, 0xe6, 0x20, 0xbd, 0x72, 0x6e, 0x42, 0xa3, 0x8a, + 0x48, 0x8b, 0x5d, 0xb5, 0x33, 0x22, 0xb9, 0xde, 0x93, 0x2b, 0x52, 0xb5, + 0x15, 0x2a, 0x33, 0x8b, +}; +static const unsigned char kat3927_retbits[] = { + 0xa1, 0x87, 0xe8, 0x21, 0x39, 0xd9, 0xac, 0x54, 0x10, 0xcf, 0x45, 0x8e, + 0x7c, 0x6b, 0x80, 0xbb, 0xb7, 0xdc, 0x12, 0x73, 0x19, 0xba, 0xdf, 0x9a, + 0xad, 0x37, 0x34, 0x91, 0x95, 0x1a, 0x46, 0xc7, 0x7c, 0x8d, 0x69, 0xd9, + 0x36, 0x89, 0x5f, 0x4e, 0xbc, 0x4a, 0xf0, 0x3b, 0x83, 0x11, 0x99, 0xa9, + 0x9e, 0x8f, 0xa8, 0x9e, 0xc1, 0x9b, 0xd0, 0x83, 0x88, 0xa8, 0x82, 0x72, + 0x95, 0x7f, 0x49, 0xb3, +}; +static const struct drbg_kat_pr_true kat3927_t = { + 11, kat3927_entropyin, kat3927_nonce, kat3927_persstr, + kat3927_entropyinpr1, kat3927_addinpr1, kat3927_entropyinpr2, + kat3927_addinpr2, kat3927_retbits +}; +static const struct drbg_kat kat3927 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3927_t +}; + +static const unsigned char kat3928_entropyin[] = { + 0xc9, 0xbc, 0x26, 0x37, 0x6a, 0x00, 0xfa, 0x43, 0x0d, 0x4b, 0xe0, 0x71, + 0xa8, 0xbf, 0xef, 0xfd, 0xa7, 0xc8, 0xd3, 0x2a, 0xa3, 0x50, 0x88, 0x95, + 0x4f, 0xb3, 0x04, 0x77, 0xff, 0xef, 0xc1, 0x2d, 0xd7, 0x5d, 0x61, 0x69, + 0xb9, 0x9f, 0xd6, 0xdf, +}; +static const unsigned char kat3928_nonce[] = {0}; +static const unsigned char kat3928_persstr[] = {0}; +static const unsigned char kat3928_entropyinpr1[] = { + 0x54, 0xc0, 0xbb, 0xd4, 0x09, 0x96, 0xe2, 0x92, 0xb4, 0xcd, 0x5f, 0x36, + 0xa0, 0x4e, 0xd8, 0xbb, 0x9e, 0xe3, 0x14, 0x59, 0xaf, 0x79, 0x69, 0x60, + 0x31, 0x9d, 0xd3, 0x94, 0x0c, 0xf6, 0xd6, 0x8c, 0xc1, 0x87, 0x50, 0x06, + 0xdd, 0x63, 0x72, 0x55, +}; +static const unsigned char kat3928_addinpr1[] = { + 0x33, 0x4b, 0xee, 0x95, 0xef, 0x44, 0xae, 0xc5, 0xac, 0x49, 0x47, 0xdd, + 0x39, 0xa1, 0x99, 0x07, 0x2a, 0x4c, 0x82, 0xcc, 0x64, 0xcf, 0xc2, 0x42, + 0xa9, 0xe5, 0x40, 0xb4, 0x3b, 0xc4, 0xbe, 0x88, 0xe9, 0x5f, 0xbd, 0x87, + 0xf7, 0x75, 0xe5, 0x20, +}; +static const unsigned char kat3928_entropyinpr2[] = { + 0xf6, 0xa0, 0x98, 0xd9, 0x79, 0xba, 0x71, 0x86, 0x4f, 0xbd, 0x6c, 0x14, + 0x92, 0x1a, 0x1e, 0xe1, 0xc6, 0x23, 0x0a, 0x23, 0xc1, 0xef, 0xcf, 0xde, + 0x66, 0xa7, 0x2a, 0x97, 0x18, 0x36, 0x29, 0x4c, 0x37, 0x58, 0xb6, 0x44, + 0x72, 0x39, 0xab, 0x57, +}; +static const unsigned char kat3928_addinpr2[] = { + 0xeb, 0x14, 0x47, 0xce, 0xeb, 0xb4, 0xd1, 0xb5, 0x71, 0x59, 0x1e, 0x69, + 0xf1, 0xf2, 0x15, 0x72, 0xee, 0xca, 0x07, 0x96, 0xec, 0x06, 0x9e, 0x4c, + 0x30, 0xf4, 0x77, 0x66, 0x2c, 0xb6, 0x61, 0x9c, 0x4f, 0x51, 0x6a, 0xbb, + 0x9a, 0x13, 0x34, 0x31, +}; +static const unsigned char kat3928_retbits[] = { + 0xbc, 0xce, 0xa4, 0x96, 0xed, 0x48, 0xef, 0x68, 0xf3, 0xf4, 0x5b, 0xa4, + 0x9c, 0xd6, 0xac, 0x5c, 0x71, 0x15, 0x4d, 0x2b, 0x70, 0x9d, 0xf4, 0x29, + 0x67, 0x3a, 0x45, 0xc4, 0x05, 0x68, 0x8b, 0x71, 0xad, 0xf4, 0x35, 0x26, + 0x1a, 0xfc, 0x46, 0xd6, 0x41, 0x49, 0x76, 0x34, 0x0c, 0x7b, 0xd3, 0x2e, + 0xee, 0x7a, 0x4b, 0xaa, 0x4f, 0xbc, 0x4b, 0xaa, 0xe4, 0xd8, 0x07, 0xc3, + 0xc7, 0x45, 0x9c, 0xe4, +}; +static const struct drbg_kat_pr_true kat3928_t = { + 12, kat3928_entropyin, kat3928_nonce, kat3928_persstr, + kat3928_entropyinpr1, kat3928_addinpr1, kat3928_entropyinpr2, + kat3928_addinpr2, kat3928_retbits +}; +static const struct drbg_kat kat3928 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3928_t +}; + +static const unsigned char kat3929_entropyin[] = { + 0xfe, 0xe8, 0x31, 0x8d, 0x60, 0x4c, 0xac, 0x10, 0x53, 0x44, 0x59, 0x2f, + 0x41, 0x40, 0x10, 0xad, 0xe0, 0x86, 0xcd, 0xc2, 0xf0, 0xd4, 0x13, 0x45, + 0xa7, 0x73, 0xe7, 0xfd, 0x69, 0x27, 0xbe, 0x7e, 0x98, 0x4b, 0x7b, 0x51, + 0x2f, 0x93, 0xec, 0xa7, +}; +static const unsigned char kat3929_nonce[] = {0}; +static const unsigned char kat3929_persstr[] = {0}; +static const unsigned char kat3929_entropyinpr1[] = { + 0xb8, 0x36, 0x24, 0x05, 0x74, 0x8b, 0x1d, 0x5a, 0xe9, 0x57, 0xbf, 0xe5, + 0x79, 0x4a, 0x55, 0x78, 0xdf, 0xa8, 0xf7, 0x51, 0x03, 0x69, 0xbe, 0x62, + 0xd6, 0xb0, 0x86, 0xe4, 0x66, 0x29, 0x1e, 0x5f, 0xa0, 0x07, 0x99, 0x90, + 0x21, 0x79, 0x7d, 0x5e, +}; +static const unsigned char kat3929_addinpr1[] = { + 0xc5, 0xd2, 0x58, 0xa3, 0x16, 0x16, 0xe0, 0xc4, 0xf7, 0x0d, 0xa4, 0xbb, + 0x47, 0x20, 0x45, 0xc8, 0x6b, 0x14, 0x47, 0x6c, 0xdf, 0x0b, 0xc6, 0xf1, + 0x17, 0x9e, 0x23, 0x38, 0xd9, 0x03, 0x0a, 0x19, 0xff, 0xb8, 0xc4, 0x6a, + 0x62, 0x8f, 0xbc, 0x55, +}; +static const unsigned char kat3929_entropyinpr2[] = { + 0x8a, 0xa6, 0xcd, 0xf5, 0x28, 0x98, 0xe5, 0xa0, 0xa5, 0x1e, 0xd6, 0x34, + 0xc3, 0xa2, 0x41, 0x08, 0x94, 0x3d, 0x8c, 0x49, 0x50, 0x77, 0xce, 0xcf, + 0x9e, 0xea, 0x68, 0x96, 0xdc, 0x15, 0x04, 0xd7, 0x41, 0xcb, 0x46, 0xa1, + 0xcb, 0x43, 0xd5, 0x40, +}; +static const unsigned char kat3929_addinpr2[] = { + 0x5b, 0xb0, 0x8d, 0xdc, 0x62, 0x85, 0x03, 0x2a, 0x77, 0x48, 0x67, 0xae, + 0x6d, 0x58, 0x1e, 0x9a, 0x7b, 0x9a, 0xd2, 0x33, 0xef, 0x66, 0x32, 0x57, + 0xd8, 0x08, 0x79, 0x87, 0xa6, 0x8a, 0x71, 0x25, 0xf6, 0xbb, 0x21, 0x12, + 0x39, 0x4d, 0xf0, 0x8a, +}; +static const unsigned char kat3929_retbits[] = { + 0x14, 0x03, 0xcf, 0x31, 0xf0, 0xe9, 0xcf, 0x5e, 0x76, 0xc3, 0x78, 0x56, + 0x28, 0xf1, 0x8b, 0x22, 0xac, 0xb1, 0x62, 0x91, 0x6b, 0xe5, 0x25, 0x33, + 0xbc, 0xa1, 0x1e, 0x27, 0x77, 0xcf, 0x4a, 0xd2, 0xa0, 0x53, 0xff, 0xd4, + 0x93, 0x6b, 0x79, 0x9d, 0x2e, 0x2a, 0x69, 0x36, 0x8b, 0x5e, 0x05, 0xe2, + 0xbb, 0x36, 0x1a, 0x6d, 0xb3, 0x10, 0xb5, 0x57, 0x99, 0xb8, 0x4f, 0x58, + 0xc1, 0x79, 0x14, 0xf5, +}; +static const struct drbg_kat_pr_true kat3929_t = { + 13, kat3929_entropyin, kat3929_nonce, kat3929_persstr, + kat3929_entropyinpr1, kat3929_addinpr1, kat3929_entropyinpr2, + kat3929_addinpr2, kat3929_retbits +}; +static const struct drbg_kat kat3929 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3929_t +}; + +static const unsigned char kat3930_entropyin[] = { + 0x92, 0xe9, 0x74, 0xf4, 0x64, 0xbe, 0xc1, 0xd6, 0x08, 0x65, 0x33, 0xad, + 0xdc, 0xbe, 0x81, 0x7d, 0x8e, 0xbe, 0xdc, 0x5e, 0x18, 0xa8, 0xbe, 0x6a, + 0xff, 0xd4, 0xdd, 0x15, 0x88, 0x0b, 0xb1, 0x43, 0x45, 0x2c, 0x87, 0x3a, + 0xf2, 0x97, 0x1c, 0x64, +}; +static const unsigned char kat3930_nonce[] = {0}; +static const unsigned char kat3930_persstr[] = {0}; +static const unsigned char kat3930_entropyinpr1[] = { + 0x3b, 0x51, 0xe4, 0x4a, 0x70, 0x09, 0xa6, 0x98, 0x26, 0x45, 0x77, 0xb8, + 0xe9, 0x66, 0xd5, 0xd4, 0xa0, 0xfc, 0x2b, 0x11, 0x6a, 0xd4, 0x88, 0xf9, + 0x7b, 0x81, 0x59, 0xeb, 0x70, 0xfb, 0x58, 0xd6, 0x1c, 0x73, 0x8f, 0x5e, + 0x01, 0xa4, 0x34, 0xa4, +}; +static const unsigned char kat3930_addinpr1[] = { + 0xd3, 0xf6, 0x48, 0x23, 0xba, 0x05, 0x9b, 0xc1, 0x56, 0x5e, 0x9c, 0x25, + 0x2d, 0x2d, 0x29, 0xb1, 0x69, 0x80, 0xb1, 0xd6, 0xa9, 0x82, 0xa3, 0x00, + 0x85, 0x8b, 0xf2, 0x10, 0xe2, 0xfe, 0xb2, 0xf0, 0x9d, 0x10, 0xa4, 0xa6, + 0xfe, 0x36, 0x99, 0x56, +}; +static const unsigned char kat3930_entropyinpr2[] = { + 0xf6, 0xd9, 0x8f, 0x69, 0x30, 0x2d, 0xa7, 0xad, 0x42, 0xb8, 0xe5, 0x80, + 0xa9, 0xd7, 0x55, 0xe9, 0x29, 0xfe, 0x39, 0xfb, 0x04, 0x36, 0x14, 0x03, + 0x88, 0xfc, 0x71, 0x60, 0xd9, 0x4f, 0x61, 0x67, 0xc0, 0xe1, 0x50, 0x56, + 0x6f, 0xe5, 0x31, 0x0f, +}; +static const unsigned char kat3930_addinpr2[] = { + 0x16, 0xd2, 0x62, 0x84, 0x85, 0x10, 0xe4, 0x07, 0xc7, 0x68, 0x0c, 0xfc, + 0xd3, 0xfc, 0xc2, 0x7b, 0x86, 0x47, 0xfc, 0xc0, 0x15, 0x54, 0x26, 0xb3, + 0xe7, 0xb5, 0x4b, 0xc4, 0x73, 0xec, 0x3d, 0x57, 0xf0, 0x2c, 0xc7, 0x49, + 0xc0, 0x20, 0xea, 0xe9, +}; +static const unsigned char kat3930_retbits[] = { + 0x9c, 0x77, 0x66, 0xb3, 0xeb, 0xb2, 0x7f, 0x65, 0x53, 0x9f, 0x3d, 0xd6, + 0x00, 0x1a, 0xe4, 0x5c, 0x85, 0xbb, 0xa6, 0xd6, 0xc0, 0x9e, 0x60, 0x0f, + 0x0b, 0x9c, 0xf5, 0xe0, 0x2f, 0x30, 0xb0, 0xf8, 0x58, 0x4e, 0x69, 0x6c, + 0x2f, 0xee, 0x02, 0x39, 0xd5, 0xe4, 0xd5, 0xb6, 0x23, 0x70, 0x0c, 0xa9, + 0x8c, 0x94, 0xe7, 0xca, 0x82, 0xfb, 0xb8, 0xb4, 0x64, 0x35, 0x49, 0xf2, + 0x9d, 0x2d, 0xf2, 0x44, +}; +static const struct drbg_kat_pr_true kat3930_t = { + 14, kat3930_entropyin, kat3930_nonce, kat3930_persstr, + kat3930_entropyinpr1, kat3930_addinpr1, kat3930_entropyinpr2, + kat3930_addinpr2, kat3930_retbits +}; +static const struct drbg_kat kat3930 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3930_t +}; + +static const unsigned char kat3931_entropyin[] = { + 0x4e, 0xa0, 0xdc, 0xd1, 0x2d, 0x60, 0xc4, 0xfe, 0x4d, 0x22, 0xc8, 0x08, + 0x95, 0x2b, 0x13, 0xcd, 0x27, 0x4d, 0x97, 0x3c, 0xe2, 0xa2, 0xd8, 0xa2, + 0x3f, 0xf9, 0x9e, 0x8f, 0x86, 0xe3, 0xb9, 0xf7, 0x05, 0xff, 0x03, 0x58, + 0xc6, 0x62, 0xec, 0x21, +}; +static const unsigned char kat3931_nonce[] = {0}; +static const unsigned char kat3931_persstr[] = { + 0xb9, 0xeb, 0x4f, 0xf3, 0x9d, 0x40, 0xc3, 0x02, 0xa8, 0x65, 0x2a, 0x2d, + 0x08, 0x4f, 0x44, 0x54, 0x4b, 0x53, 0xea, 0x00, 0x13, 0xc8, 0x99, 0xd9, + 0x96, 0xa1, 0x44, 0x2b, 0x08, 0x4f, 0x10, 0x4a, 0x26, 0x31, 0x42, 0xc7, + 0x95, 0x25, 0xaf, 0x17, +}; +static const unsigned char kat3931_entropyinpr1[] = { + 0x03, 0x7c, 0xdf, 0xc6, 0x02, 0x75, 0x03, 0x06, 0x78, 0x53, 0x7a, 0x53, + 0xd5, 0x5d, 0xb5, 0x9e, 0x2e, 0x3d, 0x5e, 0xb8, 0x09, 0xe3, 0x35, 0x75, + 0x6a, 0x84, 0x4d, 0x31, 0x0f, 0x39, 0x69, 0x0e, 0xad, 0x4b, 0xd3, 0xb3, + 0x3b, 0x49, 0x98, 0x42, +}; +static const unsigned char kat3931_addinpr1[] = {0}; +static const unsigned char kat3931_entropyinpr2[] = { + 0xe0, 0xb8, 0x6b, 0x4b, 0x5f, 0xf4, 0x87, 0x94, 0x11, 0x9a, 0xc1, 0xc9, + 0x1d, 0x11, 0xf9, 0x1c, 0x74, 0x58, 0x33, 0xe6, 0x8b, 0xb7, 0xd5, 0x6a, + 0xf4, 0x59, 0x82, 0x06, 0x82, 0xb1, 0x32, 0xed, 0x41, 0xb1, 0x8e, 0x7e, + 0xf4, 0x5e, 0xfc, 0xdf, +}; +static const unsigned char kat3931_addinpr2[] = {0}; +static const unsigned char kat3931_retbits[] = { + 0x3c, 0x7f, 0xe5, 0xa0, 0xa0, 0x9a, 0x53, 0x34, 0x21, 0xea, 0x72, 0xcd, + 0xca, 0x52, 0xcd, 0xd3, 0x4e, 0x95, 0xa0, 0x6e, 0x17, 0x49, 0x80, 0x16, + 0xf8, 0x02, 0x7f, 0x7b, 0xb0, 0x5d, 0xed, 0xb3, 0x23, 0x4d, 0x5c, 0xc5, + 0xaa, 0x47, 0xa6, 0xd5, 0x0b, 0x47, 0xba, 0xb4, 0x58, 0x89, 0x96, 0x9c, + 0x37, 0x82, 0x82, 0x2e, 0xf4, 0xd4, 0x48, 0x19, 0x10, 0x78, 0xa6, 0x60, + 0xfa, 0xd2, 0xa3, 0x88, +}; +static const struct drbg_kat_pr_true kat3931_t = { + 0, kat3931_entropyin, kat3931_nonce, kat3931_persstr, + kat3931_entropyinpr1, kat3931_addinpr1, kat3931_entropyinpr2, + kat3931_addinpr2, kat3931_retbits +}; +static const struct drbg_kat kat3931 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3931_t +}; + +static const unsigned char kat3932_entropyin[] = { + 0xee, 0x87, 0x4c, 0xb7, 0x58, 0x2d, 0x39, 0x0d, 0xdc, 0x2c, 0xd3, 0xf3, + 0x44, 0xee, 0xb1, 0x4b, 0x39, 0x7a, 0x6e, 0xeb, 0x46, 0xc6, 0x7a, 0x18, + 0xf7, 0x62, 0x55, 0xf3, 0x61, 0x90, 0xff, 0x7a, 0xfe, 0xfb, 0x56, 0x41, + 0xaf, 0x91, 0xdd, 0x2e, +}; +static const unsigned char kat3932_nonce[] = {0}; +static const unsigned char kat3932_persstr[] = { + 0xde, 0x6a, 0x61, 0x2b, 0xa2, 0xeb, 0xf4, 0x31, 0x36, 0x7e, 0xbc, 0x0e, + 0x07, 0xe1, 0x1c, 0xfb, 0xe6, 0x8f, 0x1f, 0xcc, 0x5f, 0xea, 0x30, 0x6b, + 0x21, 0x8d, 0x9d, 0xfa, 0xa5, 0xc3, 0xf0, 0x15, 0x09, 0xc0, 0x10, 0x41, + 0xe6, 0xc5, 0x44, 0x9c, +}; +static const unsigned char kat3932_entropyinpr1[] = { + 0x58, 0x31, 0x7f, 0x80, 0xf1, 0x53, 0x35, 0x89, 0x79, 0x07, 0xc5, 0x1c, + 0x5f, 0x16, 0x4d, 0xa4, 0x62, 0x63, 0x46, 0xa4, 0xd6, 0x17, 0xfc, 0x77, + 0x37, 0x15, 0xd4, 0xc6, 0xff, 0x1d, 0x58, 0xce, 0xa7, 0x0f, 0x60, 0xdc, + 0xb2, 0xcc, 0xa9, 0xaa, +}; +static const unsigned char kat3932_addinpr1[] = {0}; +static const unsigned char kat3932_entropyinpr2[] = { + 0x6e, 0xcc, 0xa6, 0x9d, 0x5d, 0x69, 0xc3, 0x7b, 0x70, 0x70, 0xcd, 0xab, + 0x3f, 0x84, 0x4c, 0xc5, 0x08, 0x8a, 0xcd, 0x80, 0x85, 0x5e, 0x1f, 0x60, + 0xdc, 0xb9, 0x5f, 0xf0, 0x0a, 0xf0, 0xb3, 0xb8, 0x61, 0x59, 0x12, 0x23, + 0x02, 0x04, 0x41, 0xb0, +}; +static const unsigned char kat3932_addinpr2[] = {0}; +static const unsigned char kat3932_retbits[] = { + 0x2a, 0x0f, 0x6b, 0x30, 0xf9, 0x67, 0x7f, 0x19, 0xb0, 0x9b, 0x0a, 0x8e, + 0x05, 0xad, 0xf2, 0x97, 0x87, 0x48, 0xa9, 0xe2, 0x12, 0xa2, 0x95, 0xe6, + 0x79, 0x96, 0x76, 0x42, 0x86, 0x0b, 0xeb, 0xa4, 0x4b, 0x0c, 0xae, 0xe5, + 0xc1, 0xb0, 0x58, 0xc3, 0xc6, 0xdd, 0xba, 0xe1, 0xd6, 0xcf, 0x1e, 0x0f, + 0x4c, 0x0a, 0x8a, 0x0d, 0x6d, 0x79, 0x84, 0x45, 0x9b, 0xc9, 0x23, 0x59, + 0x92, 0x3e, 0xee, 0x16, +}; +static const struct drbg_kat_pr_true kat3932_t = { + 1, kat3932_entropyin, kat3932_nonce, kat3932_persstr, + kat3932_entropyinpr1, kat3932_addinpr1, kat3932_entropyinpr2, + kat3932_addinpr2, kat3932_retbits +}; +static const struct drbg_kat kat3932 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3932_t +}; + +static const unsigned char kat3933_entropyin[] = { + 0x1a, 0xd9, 0x0b, 0x3f, 0x17, 0xc1, 0x39, 0x0b, 0x86, 0x06, 0xb8, 0xc8, + 0x8e, 0xc6, 0xf7, 0xfe, 0x89, 0x0e, 0x76, 0xdb, 0x21, 0x48, 0x0f, 0xfd, + 0x42, 0xfb, 0x7e, 0x20, 0xd5, 0x31, 0x3d, 0x87, 0x75, 0x69, 0x89, 0xb3, + 0x87, 0x6e, 0x53, 0x84, +}; +static const unsigned char kat3933_nonce[] = {0}; +static const unsigned char kat3933_persstr[] = { + 0x8d, 0x50, 0xa9, 0x33, 0xda, 0x14, 0x1c, 0xa8, 0xa3, 0xc5, 0x04, 0xc4, + 0xd6, 0x24, 0xf2, 0x39, 0x51, 0x9b, 0x09, 0xfd, 0x83, 0x1a, 0xf0, 0x45, + 0xea, 0xd8, 0xdd, 0xf0, 0x1b, 0xf3, 0x62, 0xa5, 0x78, 0xfc, 0x60, 0x60, + 0x30, 0x88, 0x32, 0x9b, +}; +static const unsigned char kat3933_entropyinpr1[] = { + 0x57, 0x56, 0x1f, 0xc8, 0xe1, 0x71, 0x2f, 0xc6, 0x37, 0x97, 0xe1, 0x93, + 0xdf, 0x7d, 0x74, 0xbd, 0xa7, 0x7f, 0x42, 0xf5, 0xf5, 0x31, 0x22, 0x7b, + 0x01, 0xd9, 0x28, 0x19, 0x2f, 0xf7, 0xd6, 0xcc, 0xd9, 0xbd, 0x93, 0xf2, + 0x32, 0x52, 0x0b, 0x42, +}; +static const unsigned char kat3933_addinpr1[] = {0}; +static const unsigned char kat3933_entropyinpr2[] = { + 0x20, 0x10, 0xb1, 0x7f, 0x1e, 0xd4, 0x46, 0xa1, 0x24, 0x06, 0xe7, 0xe9, + 0x69, 0xd8, 0x6f, 0x3a, 0x6b, 0x39, 0x3a, 0x9e, 0xfd, 0xa1, 0x8b, 0x16, + 0xff, 0x63, 0xfe, 0x82, 0xc6, 0xa1, 0x48, 0x5c, 0x37, 0xe0, 0x8a, 0xe8, + 0x49, 0x5c, 0xa0, 0x28, +}; +static const unsigned char kat3933_addinpr2[] = {0}; +static const unsigned char kat3933_retbits[] = { + 0x1b, 0x96, 0x4f, 0x05, 0x65, 0x19, 0x25, 0x4b, 0xe6, 0x71, 0xae, 0x08, + 0x17, 0xd7, 0x15, 0xe1, 0x9a, 0xfe, 0x29, 0x2f, 0xa6, 0x7e, 0x11, 0x01, + 0x27, 0x04, 0x64, 0x62, 0x88, 0x51, 0xab, 0x6d, 0xb8, 0x13, 0xe5, 0xf8, + 0x48, 0xc0, 0xf9, 0xb7, 0xea, 0x64, 0x3d, 0x52, 0x67, 0xb7, 0x65, 0x26, + 0xbb, 0x5d, 0xab, 0xc0, 0x8b, 0x6a, 0x02, 0xb4, 0x4e, 0x90, 0x4a, 0xee, + 0x26, 0xd6, 0xbb, 0x7d, +}; +static const struct drbg_kat_pr_true kat3933_t = { + 2, kat3933_entropyin, kat3933_nonce, kat3933_persstr, + kat3933_entropyinpr1, kat3933_addinpr1, kat3933_entropyinpr2, + kat3933_addinpr2, kat3933_retbits +}; +static const struct drbg_kat kat3933 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3933_t +}; + +static const unsigned char kat3934_entropyin[] = { + 0xf4, 0xa5, 0xfb, 0xde, 0x09, 0x80, 0x2e, 0x93, 0x2f, 0xe7, 0x6d, 0x75, + 0x31, 0x87, 0x78, 0x71, 0x4f, 0x09, 0xc0, 0xb7, 0x8e, 0x25, 0x22, 0x49, + 0xc5, 0xf6, 0x42, 0x8a, 0x77, 0x64, 0x92, 0x89, 0x94, 0xc8, 0xea, 0x6f, + 0x30, 0x4b, 0x14, 0xd1, +}; +static const unsigned char kat3934_nonce[] = {0}; +static const unsigned char kat3934_persstr[] = { + 0x35, 0xab, 0x4f, 0xe8, 0x11, 0x21, 0x52, 0x43, 0x39, 0xe4, 0x00, 0x04, + 0xfd, 0x3f, 0x4d, 0x70, 0x69, 0xef, 0x0d, 0x00, 0xa5, 0x83, 0x0c, 0xd4, + 0x4d, 0x87, 0x2a, 0xf3, 0xd6, 0x29, 0x81, 0xc2, 0x0c, 0xa1, 0xa6, 0x66, + 0x4c, 0x1f, 0x95, 0xd3, +}; +static const unsigned char kat3934_entropyinpr1[] = { + 0x3d, 0x7e, 0xb8, 0xc8, 0x6f, 0x80, 0x18, 0x6c, 0xd4, 0x37, 0x03, 0x90, + 0xba, 0x39, 0x21, 0x4f, 0x5d, 0xc2, 0x82, 0x37, 0x87, 0x60, 0x6e, 0xa6, + 0xa3, 0x4a, 0xda, 0x8f, 0xa1, 0x29, 0xf6, 0x28, 0xc2, 0x14, 0xf4, 0x84, + 0x1f, 0xa3, 0xfc, 0x68, +}; +static const unsigned char kat3934_addinpr1[] = {0}; +static const unsigned char kat3934_entropyinpr2[] = { + 0x1a, 0x66, 0x3e, 0x82, 0xcb, 0xf4, 0x33, 0xf7, 0x3e, 0x86, 0x02, 0xac, + 0x50, 0x3e, 0x6b, 0x86, 0x72, 0x47, 0x34, 0x73, 0x79, 0x1a, 0x60, 0x07, + 0x5b, 0x9f, 0xb1, 0xd0, 0x35, 0x7a, 0xe7, 0xa5, 0x77, 0x7d, 0x68, 0xb1, + 0x9a, 0x27, 0x57, 0x2d, +}; +static const unsigned char kat3934_addinpr2[] = {0}; +static const unsigned char kat3934_retbits[] = { + 0x2d, 0x83, 0xa6, 0x4d, 0x74, 0xd5, 0xc6, 0x29, 0x66, 0x83, 0x7a, 0xc2, + 0xd6, 0xce, 0x47, 0xb4, 0xdf, 0x14, 0xa7, 0x64, 0x34, 0xc6, 0x68, 0x57, + 0x47, 0xea, 0x08, 0x4a, 0x7a, 0x15, 0xac, 0xde, 0xde, 0xae, 0xb6, 0xe0, + 0x3d, 0xfc, 0xc5, 0x69, 0xf9, 0x50, 0x0c, 0x5f, 0xde, 0xd5, 0x6c, 0x15, + 0x76, 0x3a, 0xc8, 0x50, 0x15, 0xcb, 0x31, 0x8a, 0xf8, 0x9e, 0xd4, 0xae, + 0xaa, 0x38, 0x78, 0xd1, +}; +static const struct drbg_kat_pr_true kat3934_t = { + 3, kat3934_entropyin, kat3934_nonce, kat3934_persstr, + kat3934_entropyinpr1, kat3934_addinpr1, kat3934_entropyinpr2, + kat3934_addinpr2, kat3934_retbits +}; +static const struct drbg_kat kat3934 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3934_t +}; + +static const unsigned char kat3935_entropyin[] = { + 0x4e, 0xe9, 0x80, 0xcd, 0x09, 0x38, 0xfb, 0x82, 0xc0, 0x99, 0x08, 0x4b, + 0x61, 0x73, 0x33, 0x15, 0x90, 0x16, 0xa4, 0x41, 0x37, 0xa2, 0xd3, 0xb7, + 0x70, 0xcf, 0x49, 0x75, 0xc3, 0x80, 0xb6, 0xce, 0x06, 0x0a, 0xf5, 0x85, + 0xbc, 0x08, 0x07, 0x15, +}; +static const unsigned char kat3935_nonce[] = {0}; +static const unsigned char kat3935_persstr[] = { + 0x0b, 0xde, 0x39, 0x4e, 0x7e, 0x43, 0x64, 0x1c, 0xca, 0x85, 0x71, 0x7d, + 0xed, 0x61, 0x0c, 0xc1, 0xbd, 0x49, 0x34, 0x26, 0xeb, 0xc8, 0xc9, 0x68, + 0x6d, 0xb5, 0xef, 0x35, 0x97, 0xaa, 0x70, 0x32, 0xc6, 0xf1, 0x7e, 0x76, + 0x9e, 0x8b, 0xdc, 0xae, +}; +static const unsigned char kat3935_entropyinpr1[] = { + 0xc5, 0x84, 0x57, 0x08, 0x0d, 0x9d, 0xba, 0x5b, 0xf9, 0xd6, 0xdf, 0xae, + 0x60, 0xc1, 0x0a, 0x5e, 0x1f, 0x43, 0xf7, 0x5c, 0x15, 0x06, 0x08, 0x36, + 0x5a, 0x94, 0xfb, 0xbd, 0x6b, 0x49, 0xa9, 0x23, 0x5a, 0x9f, 0x09, 0x4f, + 0x23, 0x0a, 0xdd, 0x03, +}; +static const unsigned char kat3935_addinpr1[] = {0}; +static const unsigned char kat3935_entropyinpr2[] = { + 0xde, 0xfe, 0x93, 0x85, 0x2c, 0x3e, 0x9e, 0x31, 0xfb, 0x88, 0xf8, 0x68, + 0x49, 0x3d, 0xdc, 0x5f, 0x14, 0x2e, 0x1b, 0x5b, 0x5c, 0x21, 0x37, 0x14, + 0x42, 0x81, 0x04, 0x0d, 0x50, 0x87, 0x54, 0x71, 0x99, 0x37, 0x1e, 0x16, + 0xca, 0xec, 0xc7, 0x5a, +}; +static const unsigned char kat3935_addinpr2[] = {0}; +static const unsigned char kat3935_retbits[] = { + 0x1f, 0x52, 0xac, 0x35, 0xe3, 0x39, 0x5b, 0x8a, 0xb8, 0x09, 0x44, 0x9d, + 0x3d, 0x14, 0xa6, 0x4b, 0xf0, 0x7b, 0x52, 0x20, 0xa6, 0x34, 0x8e, 0x81, + 0xb5, 0xd4, 0x7d, 0xab, 0xe1, 0x40, 0x8f, 0x93, 0xf5, 0xb5, 0x40, 0xd0, + 0x11, 0x90, 0xd9, 0xbd, 0x2d, 0xfb, 0xe8, 0x66, 0x44, 0x9a, 0x68, 0x22, + 0x1e, 0xd4, 0x3c, 0x23, 0xf1, 0x72, 0x00, 0xb3, 0x5b, 0x3c, 0xbb, 0x9e, + 0xf3, 0x17, 0x37, 0xbf, +}; +static const struct drbg_kat_pr_true kat3935_t = { + 4, kat3935_entropyin, kat3935_nonce, kat3935_persstr, + kat3935_entropyinpr1, kat3935_addinpr1, kat3935_entropyinpr2, + kat3935_addinpr2, kat3935_retbits +}; +static const struct drbg_kat kat3935 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3935_t +}; + +static const unsigned char kat3936_entropyin[] = { + 0xe5, 0x7e, 0x6e, 0xf9, 0x81, 0x01, 0xc9, 0xd3, 0xed, 0x9a, 0x7c, 0x25, + 0xc3, 0x44, 0x8f, 0x57, 0xc0, 0xde, 0xb6, 0x79, 0x16, 0x70, 0x22, 0xba, + 0x10, 0x6f, 0x9a, 0x64, 0x43, 0x85, 0x5a, 0xd6, 0x5c, 0x94, 0xd4, 0xb2, + 0xcb, 0x73, 0x13, 0xf3, +}; +static const unsigned char kat3936_nonce[] = {0}; +static const unsigned char kat3936_persstr[] = { + 0x4c, 0x47, 0xf3, 0xf0, 0x59, 0x16, 0x51, 0x79, 0xd4, 0x3d, 0xd3, 0x72, + 0x43, 0x62, 0xe7, 0x60, 0x96, 0x0e, 0xe7, 0xc6, 0xd7, 0x2b, 0xd4, 0x44, + 0xe9, 0xdf, 0x2f, 0x03, 0xf7, 0xb4, 0x0e, 0x0a, 0x9f, 0x9f, 0x3f, 0xd6, + 0x85, 0x8b, 0x69, 0xef, +}; +static const unsigned char kat3936_entropyinpr1[] = { + 0xc6, 0xbe, 0x1c, 0x30, 0x9a, 0x45, 0xa6, 0x50, 0x4e, 0x71, 0xf6, 0x5a, + 0x58, 0xda, 0xe6, 0x5f, 0x29, 0x14, 0x75, 0x34, 0x46, 0xa4, 0x6b, 0xed, + 0xeb, 0xc5, 0x49, 0xa2, 0x2a, 0xda, 0x9b, 0x45, 0xd9, 0x50, 0xbe, 0x73, + 0x5b, 0x2f, 0x91, 0x50, +}; +static const unsigned char kat3936_addinpr1[] = {0}; +static const unsigned char kat3936_entropyinpr2[] = { + 0x9b, 0xc9, 0xf4, 0xe6, 0xa9, 0x4d, 0x28, 0x9b, 0x0f, 0xe7, 0x11, 0x88, + 0x1c, 0x9f, 0x80, 0x9a, 0x65, 0xe5, 0x52, 0xd8, 0x18, 0x31, 0xae, 0xa9, + 0xfc, 0x34, 0x6f, 0x01, 0xa3, 0x33, 0x70, 0x1f, 0xdf, 0xc9, 0x08, 0x16, + 0x34, 0x97, 0x66, 0x19, +}; +static const unsigned char kat3936_addinpr2[] = {0}; +static const unsigned char kat3936_retbits[] = { + 0xc1, 0x68, 0x2e, 0x57, 0x46, 0xe6, 0x06, 0xd4, 0x86, 0x0a, 0x1f, 0x66, + 0x0b, 0x8f, 0xa3, 0x56, 0xe1, 0x34, 0xbd, 0x9f, 0x45, 0x7d, 0x73, 0xec, + 0x0b, 0x67, 0x67, 0xb6, 0xba, 0xe9, 0xd9, 0x25, 0x79, 0x57, 0x1d, 0x63, + 0xa2, 0x03, 0x29, 0x17, 0xb5, 0xd4, 0x1e, 0x2b, 0xd1, 0x2d, 0x04, 0xb9, + 0x54, 0x6c, 0x42, 0xbf, 0xa1, 0xba, 0x8b, 0x4e, 0xde, 0x7c, 0xb4, 0x4f, + 0x20, 0xd4, 0xe2, 0xca, +}; +static const struct drbg_kat_pr_true kat3936_t = { + 5, kat3936_entropyin, kat3936_nonce, kat3936_persstr, + kat3936_entropyinpr1, kat3936_addinpr1, kat3936_entropyinpr2, + kat3936_addinpr2, kat3936_retbits +}; +static const struct drbg_kat kat3936 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3936_t +}; + +static const unsigned char kat3937_entropyin[] = { + 0x95, 0x83, 0x48, 0xb7, 0x43, 0xd5, 0xb5, 0xc2, 0xbf, 0x0d, 0xed, 0xc7, + 0xe2, 0xe3, 0x59, 0x3d, 0x3b, 0x33, 0x3e, 0x1d, 0x11, 0xe7, 0xf3, 0x97, + 0xd8, 0xde, 0x5f, 0x1b, 0x03, 0xc7, 0x25, 0x72, 0xfa, 0xc7, 0x03, 0x02, + 0x7b, 0x70, 0x7e, 0x20, +}; +static const unsigned char kat3937_nonce[] = {0}; +static const unsigned char kat3937_persstr[] = { + 0xe1, 0xfc, 0x9e, 0xcd, 0x47, 0xbe, 0x72, 0x0b, 0x81, 0x32, 0x66, 0x9d, + 0x20, 0x75, 0x5f, 0x24, 0x37, 0xae, 0xa7, 0x5b, 0xb8, 0xf7, 0xa6, 0x49, + 0xd2, 0xfe, 0xee, 0x2e, 0x79, 0xcf, 0x15, 0x39, 0xba, 0xbd, 0xb2, 0xdd, + 0xc9, 0xca, 0xb3, 0x16, +}; +static const unsigned char kat3937_entropyinpr1[] = { + 0x84, 0x74, 0x25, 0x2d, 0x01, 0x31, 0xa4, 0x6e, 0x16, 0xaa, 0x0f, 0xb4, + 0x1c, 0xc1, 0x4d, 0x2b, 0x7f, 0xe9, 0x63, 0x93, 0x21, 0xb6, 0x5a, 0xd1, + 0x9b, 0x18, 0xfd, 0x5f, 0xd6, 0x50, 0x24, 0x82, 0x90, 0xf7, 0x5b, 0x7d, + 0xba, 0x1b, 0x5b, 0x0e, +}; +static const unsigned char kat3937_addinpr1[] = {0}; +static const unsigned char kat3937_entropyinpr2[] = { + 0x83, 0x24, 0x97, 0xd0, 0x7a, 0xd3, 0xe3, 0xe1, 0xf9, 0xa9, 0xb0, 0x45, + 0x10, 0x78, 0xc4, 0x11, 0x02, 0x94, 0x59, 0x05, 0x70, 0xe9, 0x47, 0x8c, + 0x18, 0x6d, 0xa2, 0x17, 0x77, 0x25, 0x5c, 0xdb, 0x8c, 0x95, 0xbf, 0xaf, + 0xe9, 0x59, 0x55, 0xc0, +}; +static const unsigned char kat3937_addinpr2[] = {0}; +static const unsigned char kat3937_retbits[] = { + 0xe0, 0x61, 0xd9, 0xd3, 0x2d, 0xaa, 0x66, 0xf5, 0xc1, 0xb4, 0x5f, 0x3d, + 0x3f, 0x6e, 0xb1, 0xb1, 0x79, 0x29, 0xab, 0xe6, 0xc5, 0x12, 0xdd, 0x6a, + 0xcb, 0x74, 0xec, 0x10, 0x5b, 0xf7, 0x22, 0x97, 0xff, 0x4b, 0xb1, 0x87, + 0xfb, 0x66, 0x74, 0x78, 0xee, 0x88, 0xdb, 0x51, 0xdd, 0x72, 0x81, 0x6e, + 0x60, 0xf9, 0x76, 0x39, 0x73, 0xbd, 0x5f, 0xa9, 0xe9, 0x0d, 0x5c, 0xf0, + 0x9e, 0x1f, 0x28, 0x55, +}; +static const struct drbg_kat_pr_true kat3937_t = { + 6, kat3937_entropyin, kat3937_nonce, kat3937_persstr, + kat3937_entropyinpr1, kat3937_addinpr1, kat3937_entropyinpr2, + kat3937_addinpr2, kat3937_retbits +}; +static const struct drbg_kat kat3937 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3937_t +}; + +static const unsigned char kat3938_entropyin[] = { + 0x7b, 0xf7, 0xd4, 0xc5, 0xb5, 0xbd, 0x71, 0x3b, 0xf1, 0x92, 0xef, 0x3f, + 0x62, 0x6b, 0xb8, 0x21, 0x68, 0x26, 0x2c, 0x1e, 0xb5, 0x6e, 0x04, 0x91, + 0x1a, 0x59, 0xe0, 0xc4, 0xb3, 0x18, 0x21, 0x25, 0x37, 0x05, 0x83, 0xcc, + 0x49, 0xa1, 0x3a, 0x67, +}; +static const unsigned char kat3938_nonce[] = {0}; +static const unsigned char kat3938_persstr[] = { + 0x4b, 0x2a, 0x55, 0x13, 0xa3, 0xb9, 0xae, 0xc3, 0xa4, 0xa1, 0x1f, 0xa4, + 0x34, 0x61, 0x16, 0x6c, 0xc5, 0x9e, 0x55, 0x21, 0x97, 0xa7, 0x6b, 0xf1, + 0xf0, 0xa1, 0xba, 0xe0, 0x30, 0x1b, 0x57, 0x89, 0xd2, 0xe3, 0xd9, 0xfe, + 0x63, 0x57, 0x6e, 0x5a, +}; +static const unsigned char kat3938_entropyinpr1[] = { + 0x0e, 0xc2, 0x78, 0x29, 0xf3, 0x12, 0xb3, 0xd3, 0x33, 0x75, 0x7c, 0x65, + 0xb7, 0x16, 0xc7, 0xd3, 0xb4, 0x8c, 0x6b, 0x2d, 0xe1, 0x6e, 0xa8, 0x3f, + 0xa1, 0xeb, 0x00, 0x0b, 0xf5, 0x60, 0x86, 0xf3, 0x59, 0x88, 0x1b, 0x87, + 0x98, 0xf6, 0xe9, 0x04, +}; +static const unsigned char kat3938_addinpr1[] = {0}; +static const unsigned char kat3938_entropyinpr2[] = { + 0xf8, 0x55, 0x71, 0x36, 0x50, 0x92, 0x2c, 0x44, 0x16, 0xc2, 0x3d, 0xc3, + 0x0e, 0x64, 0x4e, 0xde, 0x4f, 0x3a, 0x7d, 0x68, 0x88, 0x58, 0x5f, 0x38, + 0x35, 0x81, 0x0d, 0x2f, 0xb5, 0xb6, 0xdc, 0x35, 0x4a, 0x13, 0x2a, 0xdc, + 0x15, 0x84, 0xb6, 0x48, +}; +static const unsigned char kat3938_addinpr2[] = {0}; +static const unsigned char kat3938_retbits[] = { + 0x2c, 0xc4, 0xfa, 0xdd, 0xf2, 0xaa, 0x24, 0x01, 0x26, 0xb4, 0xa4, 0xde, + 0x2d, 0x1b, 0xd8, 0x96, 0xb4, 0xcd, 0x7d, 0x4d, 0x37, 0xe1, 0xf4, 0x30, + 0xd9, 0x03, 0xe5, 0x22, 0x33, 0xb2, 0x5a, 0x6e, 0x46, 0x56, 0x14, 0x93, + 0x13, 0x39, 0xca, 0x60, 0xfb, 0xbf, 0xbe, 0x81, 0x1e, 0xa0, 0xb7, 0x07, + 0x59, 0x64, 0xe2, 0xf5, 0xd5, 0x07, 0x77, 0xd0, 0xe0, 0xa8, 0xa1, 0x4f, + 0x48, 0xb5, 0x0d, 0xf7, +}; +static const struct drbg_kat_pr_true kat3938_t = { + 7, kat3938_entropyin, kat3938_nonce, kat3938_persstr, + kat3938_entropyinpr1, kat3938_addinpr1, kat3938_entropyinpr2, + kat3938_addinpr2, kat3938_retbits +}; +static const struct drbg_kat kat3938 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3938_t +}; + +static const unsigned char kat3939_entropyin[] = { + 0x3d, 0x6d, 0xe5, 0xe2, 0x78, 0x3c, 0xe8, 0x45, 0xd4, 0x61, 0xa1, 0x42, + 0x19, 0x9a, 0x57, 0xbc, 0xc7, 0x2a, 0x1a, 0xfc, 0xb4, 0xdc, 0x4c, 0x61, + 0x3e, 0x20, 0xdd, 0xf0, 0xc2, 0x3b, 0xa4, 0xd9, 0x8b, 0xef, 0x8d, 0xd3, + 0xf1, 0xe3, 0x62, 0x06, +}; +static const unsigned char kat3939_nonce[] = {0}; +static const unsigned char kat3939_persstr[] = { + 0x4c, 0xcb, 0xee, 0xeb, 0xe6, 0xc1, 0x59, 0x64, 0x1b, 0xd4, 0xac, 0xc5, + 0xd3, 0x34, 0xc3, 0x95, 0x58, 0xe9, 0x1e, 0xa8, 0x71, 0x28, 0xe9, 0x5e, + 0x99, 0x0f, 0xdb, 0xe1, 0xb8, 0xe1, 0x8b, 0xe7, 0xe8, 0x87, 0xab, 0x1a, + 0x08, 0xdb, 0x9f, 0x0e, +}; +static const unsigned char kat3939_entropyinpr1[] = { + 0x6f, 0x1b, 0xaa, 0x4d, 0xc2, 0x52, 0x07, 0x83, 0x6a, 0x33, 0x93, 0x2f, + 0xce, 0x35, 0xdd, 0x45, 0x50, 0x43, 0x1f, 0xd0, 0x1c, 0x6c, 0xe2, 0x0a, + 0xe2, 0xea, 0x05, 0xe9, 0x30, 0xa0, 0x89, 0xea, 0x42, 0xc2, 0x1e, 0x88, + 0x1c, 0x83, 0x7c, 0x0e, +}; +static const unsigned char kat3939_addinpr1[] = {0}; +static const unsigned char kat3939_entropyinpr2[] = { + 0x61, 0x45, 0xde, 0x4f, 0x1a, 0x1d, 0x25, 0xe4, 0xb8, 0xcc, 0x6b, 0xec, + 0x9d, 0x0c, 0x5e, 0xfb, 0x39, 0x2d, 0x33, 0x61, 0xb5, 0x11, 0x89, 0xf6, + 0x64, 0xfe, 0x6a, 0xa6, 0x71, 0x8e, 0x4a, 0x99, 0xc0, 0x72, 0x59, 0x29, + 0x70, 0x25, 0x0b, 0x0d, +}; +static const unsigned char kat3939_addinpr2[] = {0}; +static const unsigned char kat3939_retbits[] = { + 0x56, 0xc3, 0x5c, 0xc7, 0x58, 0x0b, 0xac, 0x97, 0x45, 0x78, 0xf9, 0x3a, + 0x32, 0x3f, 0x13, 0x98, 0x9e, 0x14, 0x7c, 0x09, 0x21, 0x3d, 0x84, 0x9d, + 0xfd, 0xfc, 0xc5, 0xf0, 0x98, 0xdd, 0x87, 0x82, 0xc4, 0x9d, 0x74, 0x37, + 0x31, 0xb7, 0x98, 0x2f, 0xb4, 0x52, 0x2b, 0xf5, 0xd8, 0xd5, 0x4f, 0x1c, + 0x78, 0xf3, 0xd2, 0x5a, 0x73, 0xdf, 0xf5, 0x79, 0xf2, 0x19, 0x76, 0x37, + 0x30, 0xe5, 0xf4, 0x61, +}; +static const struct drbg_kat_pr_true kat3939_t = { + 8, kat3939_entropyin, kat3939_nonce, kat3939_persstr, + kat3939_entropyinpr1, kat3939_addinpr1, kat3939_entropyinpr2, + kat3939_addinpr2, kat3939_retbits +}; +static const struct drbg_kat kat3939 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3939_t +}; + +static const unsigned char kat3940_entropyin[] = { + 0x61, 0xc8, 0x27, 0xed, 0x8a, 0x14, 0xc9, 0x79, 0x9f, 0x55, 0xd9, 0x9e, + 0xbe, 0x61, 0xf8, 0xbb, 0x08, 0x05, 0x7b, 0x4d, 0x0a, 0x5d, 0xa5, 0x10, + 0x97, 0xa1, 0xcf, 0x7f, 0x9e, 0xdd, 0x85, 0xc8, 0x1f, 0x02, 0x12, 0x6d, + 0x25, 0xdf, 0x77, 0xed, +}; +static const unsigned char kat3940_nonce[] = {0}; +static const unsigned char kat3940_persstr[] = { + 0xd6, 0xdd, 0x81, 0x33, 0x85, 0xe5, 0xf6, 0x66, 0x9d, 0x3c, 0x23, 0xef, + 0x2c, 0x0b, 0xf1, 0x80, 0x55, 0xc7, 0x5b, 0x76, 0x90, 0x10, 0x9c, 0xb3, + 0x7b, 0xe2, 0x53, 0xed, 0x92, 0x8d, 0x90, 0x0e, 0x4d, 0x23, 0x1e, 0x6e, + 0x2c, 0x50, 0xbb, 0xcd, +}; +static const unsigned char kat3940_entropyinpr1[] = { + 0x8a, 0x70, 0x24, 0xf2, 0xf9, 0xd1, 0x85, 0x96, 0x60, 0x1a, 0x44, 0xcf, + 0xe5, 0xd1, 0x86, 0x53, 0xdc, 0xfe, 0xe6, 0xb4, 0x63, 0x53, 0xc0, 0xaf, + 0x4d, 0xf5, 0x41, 0xd9, 0x25, 0x97, 0xd7, 0xef, 0x6b, 0xaa, 0x6a, 0x9f, + 0x90, 0x35, 0x64, 0x53, +}; +static const unsigned char kat3940_addinpr1[] = {0}; +static const unsigned char kat3940_entropyinpr2[] = { + 0x29, 0xcd, 0x1a, 0x5c, 0x27, 0x8f, 0xf0, 0x7c, 0xa7, 0xf2, 0x09, 0xd5, + 0x5a, 0x4a, 0xa4, 0x2e, 0x8d, 0x55, 0x75, 0x76, 0x3b, 0xd9, 0xd7, 0x07, + 0xee, 0x82, 0x02, 0x5e, 0x22, 0x4b, 0x66, 0x6d, 0x13, 0x3f, 0x49, 0xd6, + 0xc9, 0xc4, 0x81, 0x59, +}; +static const unsigned char kat3940_addinpr2[] = {0}; +static const unsigned char kat3940_retbits[] = { + 0xe0, 0x62, 0x1d, 0x31, 0xf0, 0xce, 0x43, 0x09, 0x42, 0xb6, 0xf8, 0x17, + 0xab, 0x61, 0xbe, 0x87, 0x17, 0xe5, 0x5a, 0x54, 0xfd, 0x80, 0xb6, 0x09, + 0xf4, 0x5f, 0xc6, 0xc3, 0x59, 0xa2, 0x31, 0xf5, 0xd4, 0xd2, 0x8e, 0xd3, + 0x6b, 0x18, 0xad, 0x62, 0x6c, 0xca, 0x30, 0x9f, 0xc6, 0x86, 0xde, 0xc0, + 0x43, 0x59, 0x0d, 0xa9, 0x76, 0xa2, 0x1c, 0xf8, 0x3c, 0x11, 0xd5, 0xe4, + 0x45, 0x95, 0xba, 0x95, +}; +static const struct drbg_kat_pr_true kat3940_t = { + 9, kat3940_entropyin, kat3940_nonce, kat3940_persstr, + kat3940_entropyinpr1, kat3940_addinpr1, kat3940_entropyinpr2, + kat3940_addinpr2, kat3940_retbits +}; +static const struct drbg_kat kat3940 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3940_t +}; + +static const unsigned char kat3941_entropyin[] = { + 0xc1, 0xba, 0xb3, 0xc4, 0xce, 0x68, 0xa4, 0x39, 0xd3, 0x56, 0xee, 0x5b, + 0xf6, 0x47, 0x17, 0x3f, 0x08, 0xa4, 0x32, 0x7b, 0xf6, 0x8f, 0x45, 0x4c, + 0x7d, 0x8c, 0x58, 0x03, 0x83, 0x25, 0x1d, 0x14, 0xf3, 0x7e, 0x8b, 0x56, + 0x34, 0x98, 0x99, 0xdb, +}; +static const unsigned char kat3941_nonce[] = {0}; +static const unsigned char kat3941_persstr[] = { + 0xa0, 0xf9, 0xb3, 0xd2, 0x06, 0x7d, 0xe6, 0x69, 0xe2, 0x0d, 0xe5, 0xb9, + 0xba, 0x0b, 0xcf, 0x31, 0x62, 0xc0, 0x13, 0xeb, 0x31, 0xe8, 0xdd, 0x6e, + 0x8a, 0x24, 0x29, 0x63, 0x6b, 0x3e, 0xe0, 0x18, 0x42, 0x16, 0x90, 0x35, + 0x2e, 0xa6, 0x17, 0xc6, +}; +static const unsigned char kat3941_entropyinpr1[] = { + 0x28, 0x08, 0x30, 0x0c, 0x55, 0x71, 0x75, 0xcd, 0xd3, 0x68, 0x39, 0x42, + 0x05, 0x75, 0x48, 0x1a, 0x43, 0xb2, 0x92, 0x6f, 0x88, 0xd4, 0xf9, 0x6c, + 0xad, 0xa8, 0x17, 0x3d, 0xd2, 0x88, 0x90, 0x1a, 0x30, 0x24, 0x83, 0xa3, + 0x88, 0xb7, 0x95, 0x8b, +}; +static const unsigned char kat3941_addinpr1[] = {0}; +static const unsigned char kat3941_entropyinpr2[] = { + 0xcb, 0xa5, 0x42, 0xe3, 0x6c, 0x71, 0xa8, 0xc0, 0x0a, 0x57, 0x22, 0xc7, + 0x49, 0xbd, 0xe8, 0x3a, 0xbc, 0xde, 0x2c, 0xf3, 0x73, 0x5b, 0x25, 0x20, + 0x09, 0x2a, 0x8f, 0x1f, 0x2f, 0xda, 0xc4, 0x26, 0xa1, 0xda, 0xa1, 0xd0, + 0x7b, 0x43, 0x58, 0xe2, +}; +static const unsigned char kat3941_addinpr2[] = {0}; +static const unsigned char kat3941_retbits[] = { + 0xdd, 0x4b, 0x1f, 0xc8, 0xd3, 0x09, 0x08, 0x45, 0xa1, 0xd9, 0x28, 0x84, + 0xa0, 0x18, 0x43, 0x96, 0xbc, 0x90, 0xbe, 0x40, 0xb5, 0x83, 0xa5, 0xcc, + 0x1d, 0x8a, 0xe1, 0x33, 0x0a, 0xf4, 0x7d, 0x47, 0x51, 0x48, 0xbc, 0xb5, + 0xf1, 0xed, 0x21, 0x03, 0xed, 0xf4, 0xd1, 0x02, 0xc9, 0x76, 0x37, 0xe0, + 0x1b, 0x09, 0x43, 0xc2, 0x7b, 0x0b, 0x3f, 0x46, 0x94, 0x8a, 0x4a, 0x29, + 0xd9, 0x0b, 0xe2, 0x2c, +}; +static const struct drbg_kat_pr_true kat3941_t = { + 10, kat3941_entropyin, kat3941_nonce, kat3941_persstr, + kat3941_entropyinpr1, kat3941_addinpr1, kat3941_entropyinpr2, + kat3941_addinpr2, kat3941_retbits +}; +static const struct drbg_kat kat3941 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3941_t +}; + +static const unsigned char kat3942_entropyin[] = { + 0x8e, 0x37, 0xb3, 0x8d, 0x5a, 0x59, 0x7b, 0x70, 0xec, 0x0f, 0xd5, 0x68, + 0x1d, 0x44, 0x2f, 0x10, 0xf9, 0x53, 0xc6, 0x50, 0x24, 0xf9, 0x0e, 0xb8, + 0xae, 0x36, 0x8a, 0xeb, 0xfd, 0xc9, 0xcb, 0x8a, 0x2c, 0xbe, 0xea, 0x03, + 0xed, 0xa2, 0xbd, 0x93, +}; +static const unsigned char kat3942_nonce[] = {0}; +static const unsigned char kat3942_persstr[] = { + 0x11, 0x55, 0xc5, 0x7d, 0x59, 0xe4, 0xf2, 0xf9, 0x6a, 0x82, 0x14, 0x50, + 0xb9, 0x4d, 0x8a, 0x80, 0x56, 0xfb, 0xb3, 0x3b, 0x3a, 0xb9, 0x29, 0x56, + 0x69, 0xd7, 0x12, 0x12, 0x2b, 0x48, 0xb1, 0xa0, 0x38, 0xe2, 0xd7, 0x94, + 0xb4, 0xf4, 0x4d, 0x46, +}; +static const unsigned char kat3942_entropyinpr1[] = { + 0xea, 0x87, 0xe5, 0xb9, 0x80, 0x83, 0xdb, 0x39, 0x91, 0x46, 0xc3, 0xc3, + 0xa0, 0x58, 0xa6, 0x31, 0xcd, 0x45, 0x4d, 0xb2, 0x73, 0x23, 0x3e, 0xf9, + 0x56, 0xf5, 0x73, 0x59, 0xc8, 0xbc, 0xe3, 0x6a, 0xa2, 0x36, 0x83, 0x6e, + 0xb7, 0x30, 0xe5, 0x0b, +}; +static const unsigned char kat3942_addinpr1[] = {0}; +static const unsigned char kat3942_entropyinpr2[] = { + 0x47, 0x50, 0x61, 0x1f, 0x8e, 0x46, 0xb9, 0x11, 0x73, 0x37, 0x67, 0xf2, + 0x8e, 0x63, 0x34, 0xf0, 0xdb, 0x67, 0xfe, 0x4a, 0x81, 0x72, 0x54, 0xd9, + 0x0b, 0x24, 0x5a, 0xa5, 0xb0, 0x9f, 0x77, 0x9d, 0x18, 0x53, 0xbd, 0x67, + 0xa6, 0x85, 0x1a, 0xbb, +}; +static const unsigned char kat3942_addinpr2[] = {0}; +static const unsigned char kat3942_retbits[] = { + 0xbe, 0xc9, 0xbe, 0x09, 0x9f, 0x6f, 0x6b, 0xeb, 0x96, 0x1f, 0xa1, 0x78, + 0xf8, 0x53, 0x62, 0xa5, 0xf8, 0x3e, 0x16, 0x72, 0x32, 0xea, 0x7c, 0xa3, + 0x20, 0x9d, 0x9b, 0x2d, 0x97, 0x19, 0x17, 0x56, 0x65, 0xe2, 0x65, 0x60, + 0xe3, 0x19, 0x33, 0xf8, 0xda, 0x70, 0x6b, 0x1d, 0x39, 0x02, 0x77, 0x10, + 0x2a, 0x61, 0xde, 0x89, 0x11, 0xa1, 0x08, 0x63, 0x00, 0xc7, 0x1d, 0xec, + 0x1c, 0x67, 0xce, 0x9c, +}; +static const struct drbg_kat_pr_true kat3942_t = { + 11, kat3942_entropyin, kat3942_nonce, kat3942_persstr, + kat3942_entropyinpr1, kat3942_addinpr1, kat3942_entropyinpr2, + kat3942_addinpr2, kat3942_retbits +}; +static const struct drbg_kat kat3942 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3942_t +}; + +static const unsigned char kat3943_entropyin[] = { + 0xde, 0xcb, 0xba, 0xd6, 0x35, 0x46, 0x03, 0xad, 0xc2, 0x1c, 0x97, 0x9b, + 0xfa, 0xf2, 0xbc, 0xa6, 0x59, 0x24, 0x8f, 0xcf, 0x2d, 0xec, 0x66, 0xed, + 0x7c, 0x70, 0x9e, 0x71, 0xe7, 0x05, 0x51, 0x9c, 0x31, 0x21, 0x86, 0xd1, + 0xb5, 0x18, 0x6d, 0xc4, +}; +static const unsigned char kat3943_nonce[] = {0}; +static const unsigned char kat3943_persstr[] = { + 0x2e, 0xb9, 0xc1, 0xf7, 0xb0, 0x30, 0x8a, 0x33, 0x24, 0xbd, 0x56, 0x22, + 0x57, 0x2c, 0x86, 0x38, 0xf7, 0x50, 0x0b, 0xfa, 0x31, 0x08, 0x00, 0x8d, + 0x8b, 0x52, 0x78, 0xe1, 0x79, 0xea, 0x89, 0x27, 0x87, 0x34, 0x6a, 0xbd, + 0x56, 0xa0, 0xac, 0x2b, +}; +static const unsigned char kat3943_entropyinpr1[] = { + 0xed, 0xc6, 0x80, 0xf0, 0x56, 0x40, 0x38, 0x06, 0x01, 0xe6, 0x92, 0xdf, + 0xed, 0xe3, 0x92, 0xac, 0x0a, 0xf5, 0xa9, 0x85, 0x44, 0x76, 0x6a, 0xe7, + 0x3c, 0x94, 0x77, 0xcb, 0x73, 0xa4, 0x19, 0xa7, 0x10, 0x4e, 0x26, 0x25, + 0xe1, 0x21, 0x79, 0x6d, +}; +static const unsigned char kat3943_addinpr1[] = {0}; +static const unsigned char kat3943_entropyinpr2[] = { + 0xea, 0x2a, 0x16, 0x0b, 0x4a, 0xba, 0xaf, 0x40, 0x8f, 0xf9, 0x45, 0x23, + 0x1a, 0x74, 0x1e, 0xfe, 0x0b, 0x47, 0x95, 0x64, 0x7b, 0xd6, 0xb9, 0x17, + 0xd6, 0x93, 0x34, 0x79, 0xb7, 0x24, 0x52, 0x47, 0x8a, 0xa7, 0x66, 0xca, + 0x83, 0x43, 0x26, 0xc7, +}; +static const unsigned char kat3943_addinpr2[] = {0}; +static const unsigned char kat3943_retbits[] = { + 0x39, 0x4a, 0x8c, 0x5e, 0x3c, 0xd4, 0xc3, 0x66, 0xac, 0x4b, 0x28, 0x37, + 0xd8, 0xd7, 0x46, 0x1a, 0x72, 0xea, 0xc3, 0xa8, 0x93, 0x7b, 0xa0, 0x58, + 0x09, 0x59, 0xb1, 0xba, 0x7e, 0xdd, 0x80, 0x3c, 0xab, 0x8a, 0x90, 0xb8, + 0x26, 0xa3, 0x4a, 0xc3, 0x04, 0x8a, 0x7d, 0xcd, 0xab, 0x7d, 0xf7, 0x3c, + 0x82, 0xae, 0x37, 0x76, 0x56, 0xae, 0x48, 0x09, 0x3f, 0xff, 0xff, 0x76, + 0x09, 0xa6, 0x73, 0xa0, +}; +static const struct drbg_kat_pr_true kat3943_t = { + 12, kat3943_entropyin, kat3943_nonce, kat3943_persstr, + kat3943_entropyinpr1, kat3943_addinpr1, kat3943_entropyinpr2, + kat3943_addinpr2, kat3943_retbits +}; +static const struct drbg_kat kat3943 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3943_t +}; + +static const unsigned char kat3944_entropyin[] = { + 0x06, 0x43, 0x3c, 0xe6, 0x84, 0x28, 0x5c, 0x60, 0x93, 0x86, 0x2e, 0x04, + 0x3c, 0x62, 0xbc, 0xbe, 0x4b, 0xb7, 0xe5, 0x27, 0x6a, 0xde, 0x0f, 0xad, + 0x10, 0xa1, 0xc3, 0x1a, 0xa2, 0xc7, 0x88, 0xbd, 0x03, 0x8f, 0xed, 0x0c, + 0x6f, 0x14, 0xd0, 0x5e, +}; +static const unsigned char kat3944_nonce[] = {0}; +static const unsigned char kat3944_persstr[] = { + 0x43, 0x1d, 0x1e, 0x40, 0x12, 0xe4, 0xfd, 0xa1, 0x46, 0xc2, 0x2f, 0x32, + 0xe2, 0x13, 0x64, 0x24, 0xd4, 0x69, 0x9f, 0x60, 0xc6, 0x3b, 0x8e, 0xab, + 0xd2, 0x57, 0x5e, 0x9b, 0xe1, 0x6b, 0x98, 0x9c, 0x94, 0x8b, 0x00, 0xe7, + 0x5b, 0x85, 0xfb, 0xe2, +}; +static const unsigned char kat3944_entropyinpr1[] = { + 0xaa, 0x6d, 0xc2, 0xcf, 0x88, 0xf1, 0x25, 0x23, 0x22, 0x90, 0xa7, 0xb9, + 0xe5, 0x58, 0x7c, 0xa1, 0xf2, 0x0d, 0x5d, 0x36, 0xb4, 0x95, 0x0d, 0x91, + 0xc7, 0xb9, 0x89, 0x93, 0xe4, 0xc0, 0xaf, 0xcd, 0x31, 0x0e, 0xb3, 0xd0, + 0x3b, 0xc8, 0xd5, 0x80, +}; +static const unsigned char kat3944_addinpr1[] = {0}; +static const unsigned char kat3944_entropyinpr2[] = { + 0xb4, 0x43, 0x7f, 0x56, 0x94, 0x08, 0x3e, 0x04, 0xb1, 0xe9, 0x00, 0xb2, + 0xab, 0x4d, 0x88, 0xd9, 0x97, 0x85, 0x1c, 0x7b, 0x4a, 0xe0, 0x67, 0x83, + 0xf4, 0x3a, 0x52, 0x85, 0x1e, 0xa8, 0xdb, 0xd8, 0xd6, 0xa6, 0x96, 0xf5, + 0xb0, 0xa4, 0x30, 0xda, +}; +static const unsigned char kat3944_addinpr2[] = {0}; +static const unsigned char kat3944_retbits[] = { + 0x92, 0xef, 0xc3, 0x29, 0x01, 0xeb, 0xef, 0x99, 0x7c, 0x09, 0x74, 0x2a, + 0x31, 0xb2, 0x6b, 0x27, 0x52, 0xc7, 0x9d, 0x5c, 0x72, 0xfa, 0x37, 0x0b, + 0x5b, 0x96, 0x0e, 0x8e, 0x3f, 0x75, 0x6a, 0x83, 0xbd, 0x75, 0xe0, 0x01, + 0xf4, 0xbf, 0xe8, 0x23, 0x36, 0x2e, 0x7f, 0x10, 0x50, 0x40, 0x98, 0xa9, + 0x16, 0x3e, 0x23, 0x46, 0x8d, 0xa1, 0x1a, 0x2b, 0x3d, 0x98, 0xeb, 0xfd, + 0xf9, 0x91, 0x22, 0xe2, +}; +static const struct drbg_kat_pr_true kat3944_t = { + 13, kat3944_entropyin, kat3944_nonce, kat3944_persstr, + kat3944_entropyinpr1, kat3944_addinpr1, kat3944_entropyinpr2, + kat3944_addinpr2, kat3944_retbits +}; +static const struct drbg_kat kat3944 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3944_t +}; + +static const unsigned char kat3945_entropyin[] = { + 0x71, 0x44, 0x3f, 0x5d, 0x72, 0x13, 0xa5, 0xe7, 0xeb, 0x26, 0x8c, 0x0c, + 0x7b, 0xec, 0x51, 0x2b, 0x98, 0x39, 0xea, 0x90, 0x86, 0x92, 0xd8, 0x22, + 0xe8, 0x12, 0xf9, 0x55, 0xb7, 0x43, 0x08, 0xc6, 0x18, 0xb0, 0x70, 0x6d, + 0x74, 0x60, 0xc8, 0xa5, +}; +static const unsigned char kat3945_nonce[] = {0}; +static const unsigned char kat3945_persstr[] = { + 0x51, 0xbd, 0x28, 0xec, 0xa7, 0x02, 0x77, 0xcb, 0x41, 0xfa, 0x23, 0x16, + 0x63, 0x53, 0xe5, 0xa4, 0x75, 0x39, 0x9e, 0xcf, 0xb2, 0x01, 0x2d, 0x55, + 0xfe, 0xe6, 0xb1, 0xee, 0xea, 0x6f, 0x50, 0x7f, 0xa7, 0x5e, 0x46, 0x34, + 0xc3, 0xa1, 0xe8, 0x02, +}; +static const unsigned char kat3945_entropyinpr1[] = { + 0x82, 0x83, 0x57, 0xad, 0x5c, 0x99, 0xf1, 0x14, 0x39, 0x4f, 0x57, 0x8f, + 0x56, 0xcd, 0x7e, 0x9a, 0x5d, 0xa6, 0x71, 0x63, 0x6b, 0xce, 0x00, 0xa4, + 0xb2, 0x2d, 0x77, 0xe9, 0x8d, 0xd8, 0x2b, 0x63, 0x1e, 0xba, 0x6d, 0x9e, + 0xe5, 0x83, 0xcd, 0x51, +}; +static const unsigned char kat3945_addinpr1[] = {0}; +static const unsigned char kat3945_entropyinpr2[] = { + 0x6f, 0x25, 0x6e, 0x9f, 0x5f, 0x7a, 0x84, 0xba, 0x4f, 0xd6, 0xeb, 0x19, + 0xb6, 0xae, 0x20, 0xb2, 0x7c, 0x26, 0x66, 0x0e, 0x51, 0x98, 0x2b, 0xc4, + 0xcf, 0x8e, 0x28, 0xa2, 0xdc, 0x43, 0xcd, 0xb7, 0x23, 0xcc, 0x8a, 0x72, + 0x7c, 0x2e, 0xa9, 0x1d, +}; +static const unsigned char kat3945_addinpr2[] = {0}; +static const unsigned char kat3945_retbits[] = { + 0xc1, 0x76, 0x91, 0x0a, 0x6a, 0x7c, 0x96, 0x98, 0x28, 0x41, 0xc0, 0xb6, + 0x03, 0xb4, 0x23, 0xb2, 0xfa, 0x67, 0xc2, 0x67, 0xb5, 0x38, 0x8d, 0x85, + 0x8a, 0x4d, 0x8d, 0xcd, 0x69, 0xd6, 0xb6, 0x7c, 0xb9, 0x68, 0x16, 0x89, + 0x21, 0x62, 0x14, 0x7e, 0x38, 0xcc, 0x60, 0x2a, 0xfa, 0x45, 0x9f, 0xc5, + 0x62, 0x3d, 0xa0, 0x86, 0x2b, 0x74, 0xf1, 0xe8, 0xf5, 0x69, 0xbf, 0x3b, + 0x10, 0x24, 0xd8, 0x81, +}; +static const struct drbg_kat_pr_true kat3945_t = { + 14, kat3945_entropyin, kat3945_nonce, kat3945_persstr, + kat3945_entropyinpr1, kat3945_addinpr1, kat3945_entropyinpr2, + kat3945_addinpr2, kat3945_retbits +}; +static const struct drbg_kat kat3945 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3945_t +}; + +static const unsigned char kat3946_entropyin[] = { + 0x6a, 0x5d, 0x9d, 0x87, 0x98, 0x26, 0x24, 0xc9, 0x80, 0x9e, 0x18, 0x03, + 0x24, 0x33, 0x78, 0x64, 0x08, 0xc2, 0xf5, 0x48, 0x1c, 0x0b, 0xd8, 0x11, + 0x79, 0xf3, 0x97, 0x0f, 0xb6, 0xb5, 0x5b, 0x1b, 0x78, 0xc3, 0x6e, 0xeb, + 0x0a, 0x2a, 0x89, 0x94, +}; +static const unsigned char kat3946_nonce[] = {0}; +static const unsigned char kat3946_persstr[] = { + 0x2e, 0x12, 0xd9, 0x22, 0x2c, 0x2d, 0x71, 0xa8, 0x34, 0x4a, 0x4f, 0x61, + 0x24, 0xe7, 0x8c, 0x4f, 0x5b, 0x6f, 0xa1, 0xca, 0xb9, 0x92, 0x58, 0x60, + 0x05, 0xde, 0x04, 0x5d, 0x4c, 0x4c, 0x9a, 0x72, 0xe4, 0xa1, 0x71, 0x25, + 0x7c, 0xd2, 0x6a, 0xba, +}; +static const unsigned char kat3946_entropyinpr1[] = { + 0x60, 0xa1, 0xa1, 0xaa, 0x8b, 0xdf, 0x25, 0x1a, 0x36, 0xc0, 0xd3, 0x52, + 0x88, 0x46, 0xf8, 0x3f, 0x3e, 0x46, 0x41, 0x14, 0x16, 0x0f, 0x66, 0x81, + 0xce, 0x09, 0x66, 0x3b, 0xd4, 0xdc, 0x73, 0xfd, 0x11, 0xd6, 0xf5, 0xe3, + 0xe5, 0xf1, 0x48, 0x33, +}; +static const unsigned char kat3946_addinpr1[] = { + 0xfd, 0x5e, 0xa0, 0x80, 0xeb, 0x32, 0x10, 0x4e, 0x59, 0xf3, 0x31, 0xe0, + 0xf4, 0x89, 0xf4, 0x65, 0x1f, 0x89, 0x5b, 0x4e, 0x43, 0x04, 0x33, 0x0d, + 0x0e, 0x0c, 0x65, 0xe5, 0xbe, 0x23, 0xbc, 0xd9, 0xec, 0x4a, 0x36, 0x5c, + 0x30, 0xdc, 0x22, 0x60, +}; +static const unsigned char kat3946_entropyinpr2[] = { + 0x5b, 0x40, 0xb9, 0x64, 0xc9, 0xff, 0xde, 0xc2, 0xe7, 0x04, 0xef, 0x7f, + 0x5d, 0x3a, 0x85, 0xcf, 0xa6, 0x7f, 0xa7, 0x80, 0x0c, 0x89, 0xaf, 0xbf, + 0xe3, 0x24, 0x87, 0x51, 0x9e, 0x48, 0x75, 0x81, 0x26, 0xa9, 0x8a, 0x42, + 0x5a, 0x92, 0x1e, 0xd1, +}; +static const unsigned char kat3946_addinpr2[] = { + 0xcc, 0xcc, 0x70, 0xa0, 0x26, 0x07, 0x45, 0x80, 0x8f, 0xde, 0x55, 0x2f, + 0x54, 0xfe, 0x18, 0xf2, 0x61, 0x08, 0x4c, 0x65, 0x6c, 0x96, 0x95, 0x41, + 0x14, 0x93, 0xff, 0x89, 0x96, 0xbf, 0xc6, 0x21, 0xb6, 0xd3, 0x1a, 0x4d, + 0xa8, 0x8a, 0x39, 0xee, +}; +static const unsigned char kat3946_retbits[] = { + 0x4b, 0xa3, 0x6c, 0x4b, 0x4f, 0xde, 0xf3, 0x2a, 0x50, 0xbf, 0x34, 0x98, + 0xb7, 0xc8, 0xe2, 0xa1, 0xa9, 0x83, 0x4a, 0x62, 0x95, 0xa3, 0x3f, 0xc2, + 0x46, 0xcc, 0x3b, 0xe2, 0x0f, 0x0f, 0xa1, 0x33, 0x44, 0x00, 0xb9, 0xe4, + 0xfb, 0x36, 0x99, 0xba, 0xbc, 0x84, 0x4a, 0x62, 0xe5, 0x71, 0xc8, 0xb7, + 0x4a, 0xf2, 0x32, 0x99, 0x4d, 0xf7, 0x3c, 0x05, 0xeb, 0xf8, 0x8c, 0x54, + 0x24, 0xdc, 0x89, 0xaa, +}; +static const struct drbg_kat_pr_true kat3946_t = { + 0, kat3946_entropyin, kat3946_nonce, kat3946_persstr, + kat3946_entropyinpr1, kat3946_addinpr1, kat3946_entropyinpr2, + kat3946_addinpr2, kat3946_retbits +}; +static const struct drbg_kat kat3946 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3946_t +}; + +static const unsigned char kat3947_entropyin[] = { + 0xb5, 0xcd, 0x09, 0x81, 0xce, 0x9e, 0x51, 0xfe, 0x43, 0x6a, 0x20, 0x57, + 0xfc, 0x76, 0x54, 0x47, 0x43, 0xb0, 0x03, 0x9b, 0x6e, 0x4e, 0x52, 0xbf, + 0x00, 0x40, 0x23, 0x0b, 0x6f, 0x41, 0xb3, 0x72, 0x39, 0xb0, 0xaa, 0x03, + 0x01, 0x3e, 0x46, 0x50, +}; +static const unsigned char kat3947_nonce[] = {0}; +static const unsigned char kat3947_persstr[] = { + 0x36, 0x38, 0x8d, 0x1e, 0xbf, 0xc0, 0x5e, 0xc0, 0xcb, 0x62, 0x7c, 0x60, + 0xc1, 0xf6, 0x05, 0x36, 0x5e, 0x5f, 0xfe, 0x35, 0x98, 0x8e, 0x15, 0x82, + 0xdf, 0xf1, 0x29, 0xee, 0xff, 0x97, 0xc1, 0x46, 0xff, 0x9b, 0x43, 0xbb, + 0x57, 0x40, 0xf7, 0xea, +}; +static const unsigned char kat3947_entropyinpr1[] = { + 0x91, 0x9b, 0xf6, 0x9e, 0x5f, 0xc6, 0x7a, 0xe2, 0xb1, 0xdd, 0x70, 0x5a, + 0x4a, 0x3a, 0x0b, 0xba, 0x2d, 0x77, 0xc4, 0x92, 0x44, 0x4a, 0x71, 0x80, + 0x81, 0x56, 0x93, 0x77, 0xb7, 0x2d, 0x85, 0xd4, 0x50, 0x4d, 0x94, 0xaa, + 0x1f, 0xc6, 0xe4, 0x3d, +}; +static const unsigned char kat3947_addinpr1[] = { + 0xc4, 0x8e, 0xe8, 0x4a, 0xaf, 0x06, 0xca, 0xf7, 0x54, 0xb6, 0x51, 0xe6, + 0x76, 0x1c, 0x64, 0x19, 0x97, 0xa0, 0x00, 0x33, 0xe8, 0xbc, 0x7d, 0x54, + 0x4a, 0x1c, 0xc0, 0xd2, 0x0c, 0x8c, 0x56, 0xec, 0xa7, 0x54, 0x89, 0x94, + 0x4e, 0xe2, 0xf4, 0xc0, +}; +static const unsigned char kat3947_entropyinpr2[] = { + 0xf8, 0x92, 0x73, 0x55, 0x34, 0x2b, 0x2f, 0xb1, 0x5b, 0x03, 0x2d, 0xc2, + 0x68, 0x32, 0x4a, 0x74, 0x00, 0xac, 0xdf, 0x1b, 0xbd, 0xfe, 0x24, 0xf9, + 0xbb, 0x3e, 0xc2, 0x23, 0xc9, 0x3c, 0x0a, 0x87, 0xdf, 0xc8, 0xed, 0x1f, + 0xda, 0x1e, 0x34, 0x83, +}; +static const unsigned char kat3947_addinpr2[] = { + 0x0a, 0x9b, 0xab, 0xd6, 0x26, 0xb5, 0xdf, 0x2e, 0x3e, 0x68, 0xad, 0xc2, + 0x17, 0x1a, 0x72, 0xcc, 0xe7, 0xaf, 0x0d, 0x89, 0x10, 0x44, 0x8d, 0x54, + 0xf4, 0xf2, 0xc3, 0x75, 0xc1, 0xfb, 0x42, 0x19, 0x28, 0x08, 0xff, 0x2d, + 0x76, 0x0b, 0x18, 0x2e, +}; +static const unsigned char kat3947_retbits[] = { + 0x62, 0x50, 0x11, 0x67, 0xcb, 0x1f, 0x3d, 0x71, 0xcb, 0x9b, 0x09, 0x2e, + 0x3b, 0x79, 0x21, 0x92, 0xa0, 0xfc, 0x26, 0x48, 0xa3, 0x76, 0xd9, 0x1e, + 0xcb, 0xb2, 0x9d, 0x00, 0x72, 0xb8, 0xba, 0xc7, 0x95, 0xba, 0xe0, 0xea, + 0x45, 0x58, 0x46, 0xc6, 0xb1, 0x6e, 0x27, 0xd6, 0x70, 0xd9, 0x89, 0x64, + 0x73, 0x1d, 0x3d, 0xc9, 0x50, 0x0f, 0xbd, 0xdb, 0x16, 0x57, 0x02, 0xde, + 0x45, 0xdb, 0xc0, 0x23, +}; +static const struct drbg_kat_pr_true kat3947_t = { + 1, kat3947_entropyin, kat3947_nonce, kat3947_persstr, + kat3947_entropyinpr1, kat3947_addinpr1, kat3947_entropyinpr2, + kat3947_addinpr2, kat3947_retbits +}; +static const struct drbg_kat kat3947 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3947_t +}; + +static const unsigned char kat3948_entropyin[] = { + 0x02, 0xf3, 0xc4, 0xa1, 0xdd, 0x69, 0xbf, 0x28, 0x1c, 0x0b, 0x9c, 0x9d, + 0xdc, 0x27, 0xe6, 0x8d, 0x8a, 0x90, 0xbb, 0x74, 0xdc, 0x49, 0x29, 0x93, + 0xf4, 0xdc, 0x0d, 0xc6, 0xb2, 0x49, 0xe2, 0x37, 0xbb, 0x7a, 0x54, 0x06, + 0x9d, 0x95, 0x67, 0x35, +}; +static const unsigned char kat3948_nonce[] = {0}; +static const unsigned char kat3948_persstr[] = { + 0x6c, 0x30, 0x40, 0xac, 0x6d, 0x69, 0x43, 0xed, 0x18, 0x00, 0x74, 0x2f, + 0xd1, 0x36, 0x61, 0x61, 0x09, 0x2b, 0x36, 0x36, 0xef, 0xe2, 0x29, 0x85, + 0x06, 0xc6, 0x96, 0xaa, 0xc1, 0xa7, 0xa9, 0xd8, 0x96, 0x83, 0xb4, 0x0e, + 0x27, 0xbf, 0x4a, 0x74, +}; +static const unsigned char kat3948_entropyinpr1[] = { + 0x3b, 0x3c, 0x0e, 0xa6, 0xac, 0x17, 0x31, 0x2c, 0x98, 0x45, 0x81, 0x45, + 0x83, 0x82, 0x20, 0xb1, 0x35, 0xef, 0xda, 0x79, 0x43, 0x33, 0x7c, 0xa4, + 0xf1, 0x36, 0x26, 0xbe, 0x6a, 0x4f, 0x03, 0xd2, 0x3b, 0x23, 0x98, 0x0f, + 0x67, 0x85, 0xba, 0x60, +}; +static const unsigned char kat3948_addinpr1[] = { + 0xb1, 0xb7, 0x2c, 0xd4, 0x9b, 0x5d, 0x45, 0xfd, 0xea, 0xce, 0x1c, 0x7f, + 0x47, 0x0e, 0x90, 0x59, 0xb2, 0x21, 0x9f, 0xcd, 0xc3, 0x3e, 0x90, 0x1e, + 0x96, 0x0c, 0x8e, 0x70, 0x72, 0xc5, 0x43, 0xd0, 0x72, 0x10, 0x38, 0x80, + 0x7d, 0x9b, 0x9f, 0xc3, +}; +static const unsigned char kat3948_entropyinpr2[] = { + 0x20, 0xbb, 0xb0, 0x4d, 0x85, 0xab, 0xfe, 0x74, 0x31, 0xcb, 0xdb, 0x68, + 0x96, 0x95, 0x37, 0x44, 0xbb, 0x18, 0xc8, 0xc0, 0xf3, 0x64, 0x45, 0x1e, + 0xcd, 0x47, 0xbe, 0x3b, 0xed, 0x78, 0x4f, 0x27, 0x35, 0xb3, 0x0b, 0x4a, + 0x97, 0xc6, 0x97, 0xb8, +}; +static const unsigned char kat3948_addinpr2[] = { + 0x2a, 0x7d, 0x8c, 0x96, 0x37, 0x15, 0xe4, 0xdb, 0x36, 0xe5, 0x3e, 0x7f, + 0x3b, 0x8a, 0x5f, 0x09, 0x2f, 0x90, 0x46, 0x47, 0xa1, 0xc8, 0xef, 0x27, + 0xa5, 0xbd, 0x88, 0x05, 0x10, 0x5a, 0x50, 0xf5, 0xe5, 0x4f, 0xe7, 0xd2, + 0x06, 0xeb, 0x22, 0x10, +}; +static const unsigned char kat3948_retbits[] = { + 0x04, 0x43, 0x67, 0x07, 0x40, 0x0f, 0xee, 0x36, 0xdb, 0xf8, 0x63, 0x2e, + 0x40, 0x97, 0xcb, 0x40, 0x7e, 0xf7, 0x73, 0x68, 0x06, 0x24, 0x6f, 0x9e, + 0x6c, 0xa4, 0x6d, 0xbf, 0x98, 0x06, 0xdb, 0x3c, 0x97, 0x9f, 0xe0, 0x67, + 0xd2, 0x7f, 0xfe, 0x35, 0x11, 0x4d, 0x2b, 0xf2, 0x0b, 0x1e, 0x7b, 0x3e, + 0x4d, 0xed, 0xdf, 0x17, 0xa0, 0x9a, 0xd2, 0xd3, 0xbc, 0x8a, 0xaf, 0xb1, + 0x76, 0x45, 0xfe, 0x68, +}; +static const struct drbg_kat_pr_true kat3948_t = { + 2, kat3948_entropyin, kat3948_nonce, kat3948_persstr, + kat3948_entropyinpr1, kat3948_addinpr1, kat3948_entropyinpr2, + kat3948_addinpr2, kat3948_retbits +}; +static const struct drbg_kat kat3948 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3948_t +}; + +static const unsigned char kat3949_entropyin[] = { + 0xd8, 0xe0, 0x97, 0x51, 0xed, 0xc1, 0x58, 0x63, 0xe7, 0xe3, 0x6e, 0x63, + 0xf7, 0x73, 0xb8, 0x23, 0x0a, 0x2b, 0x83, 0x38, 0x96, 0x91, 0xe8, 0xc0, + 0x05, 0xeb, 0x15, 0x3f, 0xc9, 0x92, 0x53, 0x9b, 0x1d, 0x7f, 0x35, 0x75, + 0x3b, 0x00, 0xb1, 0x69, +}; +static const unsigned char kat3949_nonce[] = {0}; +static const unsigned char kat3949_persstr[] = { + 0xc3, 0x27, 0xbc, 0x54, 0x52, 0xe3, 0x3b, 0xee, 0xf5, 0x5d, 0x39, 0xba, + 0x9b, 0xe5, 0xa3, 0x51, 0x7c, 0x8b, 0xd4, 0x6d, 0xc6, 0x63, 0xb8, 0x79, + 0xc2, 0x3f, 0xcc, 0x9d, 0x9e, 0xef, 0xb7, 0x3b, 0xe5, 0x96, 0xb0, 0x32, + 0xdd, 0xba, 0x22, 0x4e, +}; +static const unsigned char kat3949_entropyinpr1[] = { + 0x65, 0x3a, 0x92, 0x7d, 0x92, 0x30, 0x8f, 0xaf, 0xfd, 0x0d, 0xb8, 0x2c, + 0xcf, 0x5a, 0x74, 0xa2, 0x3f, 0xa1, 0xb4, 0x3a, 0x13, 0xf0, 0xc7, 0x3d, + 0x09, 0xbd, 0x0b, 0xaa, 0x79, 0xeb, 0x8c, 0x30, 0xf3, 0x3d, 0x43, 0x0e, + 0xf4, 0x85, 0xaf, 0x82, +}; +static const unsigned char kat3949_addinpr1[] = { + 0xac, 0xb2, 0x56, 0x20, 0x47, 0xfc, 0x8a, 0x85, 0x58, 0x55, 0x10, 0xc2, + 0x31, 0x0f, 0x19, 0xd7, 0xc9, 0x91, 0xa2, 0xf5, 0x66, 0xa7, 0x8a, 0xeb, + 0x89, 0x01, 0x1b, 0x13, 0xe7, 0x1d, 0x28, 0xc6, 0x8b, 0xfa, 0x87, 0xf3, + 0x66, 0x66, 0xbd, 0x30, +}; +static const unsigned char kat3949_entropyinpr2[] = { + 0x79, 0x6a, 0x51, 0x4d, 0x39, 0x76, 0xd4, 0x24, 0xdd, 0x9c, 0x49, 0x4c, + 0x92, 0xc4, 0x39, 0x23, 0x40, 0x30, 0xb1, 0x98, 0x9d, 0xe8, 0xfa, 0xfa, + 0xaf, 0xd7, 0x71, 0x7f, 0xc3, 0x5c, 0x9d, 0xd7, 0x28, 0x8b, 0x21, 0x36, + 0xf0, 0x5f, 0x1d, 0xac, +}; +static const unsigned char kat3949_addinpr2[] = { + 0x1c, 0x49, 0xc5, 0x8d, 0x70, 0x6b, 0x29, 0xe1, 0x95, 0x78, 0x83, 0x46, + 0xd1, 0x0c, 0x91, 0xe5, 0x86, 0x4f, 0x66, 0xc9, 0x60, 0xad, 0x3b, 0x02, + 0xf9, 0xe9, 0xd5, 0x48, 0x56, 0x5a, 0x89, 0x04, 0xee, 0x99, 0x65, 0x5a, + 0x8e, 0x2d, 0x53, 0x35, +}; +static const unsigned char kat3949_retbits[] = { + 0x71, 0x39, 0x16, 0x78, 0x35, 0xab, 0x7d, 0x08, 0xf4, 0xfe, 0x34, 0xa5, + 0xb4, 0x4f, 0x76, 0x5b, 0xaa, 0xbc, 0xce, 0x9f, 0x90, 0x53, 0xff, 0x85, + 0xad, 0x99, 0x98, 0x5c, 0x23, 0x20, 0x60, 0x4a, 0x69, 0xf1, 0xa6, 0xe0, + 0xa7, 0x87, 0xb1, 0xaf, 0x19, 0xb7, 0x07, 0x24, 0x49, 0x32, 0xa5, 0x2b, + 0x97, 0x53, 0x4a, 0xc3, 0x7c, 0xa9, 0x01, 0x0b, 0xb7, 0x92, 0x5e, 0xf8, + 0x94, 0xc9, 0x0a, 0x2e, +}; +static const struct drbg_kat_pr_true kat3949_t = { + 3, kat3949_entropyin, kat3949_nonce, kat3949_persstr, + kat3949_entropyinpr1, kat3949_addinpr1, kat3949_entropyinpr2, + kat3949_addinpr2, kat3949_retbits +}; +static const struct drbg_kat kat3949 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3949_t +}; + +static const unsigned char kat3950_entropyin[] = { + 0x2c, 0x8f, 0x72, 0x01, 0x59, 0x31, 0xe1, 0x96, 0xf5, 0xc4, 0xfd, 0xef, + 0xf3, 0xd2, 0x70, 0x85, 0xdc, 0xdc, 0x4b, 0x4d, 0xd5, 0xdd, 0x77, 0x45, + 0xd8, 0x76, 0x58, 0x5f, 0xfa, 0x3b, 0x5c, 0x1e, 0x52, 0x6d, 0x6b, 0xf5, + 0xfc, 0x92, 0x47, 0x58, +}; +static const unsigned char kat3950_nonce[] = {0}; +static const unsigned char kat3950_persstr[] = { + 0x14, 0x56, 0x4a, 0x84, 0x05, 0x44, 0x06, 0x3b, 0xc9, 0x29, 0x20, 0x0d, + 0x19, 0x74, 0xf2, 0x8f, 0x31, 0x6a, 0x74, 0x85, 0xe7, 0x80, 0xc9, 0x63, + 0x8a, 0x42, 0xd5, 0x8f, 0x37, 0x5a, 0x26, 0xff, 0xa7, 0x04, 0xc0, 0xc6, + 0x3d, 0x2c, 0x07, 0xc8, +}; +static const unsigned char kat3950_entropyinpr1[] = { + 0xdb, 0xbc, 0xc3, 0xd6, 0xea, 0x93, 0x51, 0xa8, 0x92, 0x8f, 0xc6, 0xd4, + 0x44, 0x13, 0xea, 0x03, 0x0c, 0x6e, 0x81, 0x37, 0xa1, 0x74, 0x1b, 0xfe, + 0xc1, 0x52, 0x91, 0x35, 0x44, 0x2e, 0x20, 0x90, 0x9d, 0x90, 0x0f, 0x15, + 0xf0, 0x30, 0x8e, 0x05, +}; +static const unsigned char kat3950_addinpr1[] = { + 0xf6, 0x41, 0xf3, 0x1c, 0x5d, 0xaa, 0x06, 0x69, 0x19, 0x34, 0x80, 0x18, + 0xd0, 0xde, 0x2f, 0xbd, 0x4f, 0xaf, 0x69, 0x0c, 0xdc, 0x0a, 0xa1, 0x02, + 0xe0, 0x9d, 0xe6, 0x6a, 0xc9, 0x25, 0x3d, 0x2a, 0xfe, 0x1f, 0xf5, 0x89, + 0xa9, 0x41, 0xb0, 0x98, +}; +static const unsigned char kat3950_entropyinpr2[] = { + 0xa1, 0x35, 0xa0, 0x60, 0x5a, 0x54, 0x56, 0xd9, 0x21, 0xb7, 0x21, 0xe0, + 0x89, 0xdb, 0xbe, 0xee, 0xe1, 0x20, 0xdd, 0xd9, 0x45, 0x95, 0x33, 0x51, + 0x6e, 0x6a, 0x66, 0xf2, 0x56, 0x88, 0x32, 0x0e, 0x56, 0xf9, 0xd0, 0x34, + 0xb6, 0x37, 0xf8, 0x70, +}; +static const unsigned char kat3950_addinpr2[] = { + 0x4c, 0x21, 0x91, 0xc1, 0xf2, 0x43, 0x06, 0x86, 0xe1, 0x1f, 0xac, 0x33, + 0x2e, 0x4d, 0x00, 0xdc, 0xba, 0xd1, 0x43, 0x7f, 0x28, 0x1b, 0x7c, 0x22, + 0xf7, 0x4f, 0x9b, 0x2e, 0x88, 0x17, 0xe8, 0x18, 0xbf, 0x35, 0x88, 0x10, + 0xd2, 0x0d, 0x68, 0x0b, +}; +static const unsigned char kat3950_retbits[] = { + 0x48, 0xf0, 0xfe, 0x50, 0xd9, 0x90, 0x87, 0x9f, 0x3e, 0xb3, 0x7e, 0xfc, + 0xd8, 0x16, 0x08, 0x2d, 0x6b, 0xa6, 0x51, 0xf5, 0x71, 0x8f, 0x46, 0x83, + 0x05, 0xa1, 0x6a, 0xc8, 0xd5, 0x1b, 0xb0, 0x34, 0x2c, 0xce, 0x19, 0x95, + 0x29, 0xef, 0xca, 0xd5, 0x59, 0x0b, 0xc9, 0x6f, 0x76, 0x5b, 0xf3, 0xfe, + 0xdd, 0x56, 0x43, 0x02, 0xa5, 0xd6, 0x4f, 0xa0, 0xb6, 0x3b, 0x14, 0xe7, + 0x82, 0x65, 0x04, 0x45, +}; +static const struct drbg_kat_pr_true kat3950_t = { + 4, kat3950_entropyin, kat3950_nonce, kat3950_persstr, + kat3950_entropyinpr1, kat3950_addinpr1, kat3950_entropyinpr2, + kat3950_addinpr2, kat3950_retbits +}; +static const struct drbg_kat kat3950 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3950_t +}; + +static const unsigned char kat3951_entropyin[] = { + 0x6e, 0xcf, 0xe6, 0x7c, 0x49, 0x6c, 0xe1, 0x8f, 0xe8, 0x98, 0x98, 0xc0, + 0x6e, 0x63, 0xfa, 0x07, 0x86, 0xf9, 0x4b, 0xb4, 0x65, 0x18, 0xd3, 0x24, + 0xc2, 0xa9, 0x9b, 0xa3, 0x5a, 0x0f, 0xa7, 0xf5, 0x21, 0x14, 0x0c, 0x76, + 0xc8, 0xbd, 0xee, 0xb2, +}; +static const unsigned char kat3951_nonce[] = {0}; +static const unsigned char kat3951_persstr[] = { + 0x76, 0x85, 0x64, 0x61, 0x83, 0xc8, 0xc3, 0x52, 0xe0, 0x28, 0xd1, 0x22, + 0x77, 0x7d, 0xa0, 0xf3, 0xb4, 0xee, 0x48, 0x97, 0xdd, 0xd6, 0x84, 0x6a, + 0xf9, 0x94, 0x9d, 0xee, 0x9b, 0x95, 0xa4, 0x47, 0x97, 0x27, 0xd4, 0x39, + 0xb5, 0x3a, 0x6e, 0x9d, +}; +static const unsigned char kat3951_entropyinpr1[] = { + 0x23, 0xd7, 0x07, 0x16, 0x31, 0x45, 0x5f, 0x05, 0xa1, 0x30, 0x7a, 0x48, + 0xcd, 0xa4, 0x90, 0x7f, 0xf7, 0x9c, 0x75, 0x4b, 0x65, 0x28, 0x51, 0x3f, + 0x5c, 0x86, 0x40, 0xe7, 0x81, 0x1b, 0xa8, 0x0a, 0xe9, 0x31, 0xaf, 0x9a, + 0x1d, 0x3e, 0x95, 0x46, +}; +static const unsigned char kat3951_addinpr1[] = { + 0x00, 0xcf, 0x48, 0x61, 0x37, 0x8b, 0xa7, 0x40, 0xdb, 0xc4, 0x24, 0x38, + 0x4c, 0xb8, 0x0d, 0x8e, 0x2c, 0x60, 0xed, 0xdd, 0x74, 0x29, 0xba, 0xff, + 0x38, 0x73, 0x63, 0xa4, 0x31, 0x70, 0x14, 0x4e, 0x11, 0x79, 0x20, 0xe6, + 0xe8, 0xc3, 0xd4, 0x9f, +}; +static const unsigned char kat3951_entropyinpr2[] = { + 0x51, 0x04, 0x17, 0xc8, 0x58, 0x25, 0x74, 0xcd, 0xe0, 0x9d, 0x3e, 0x98, + 0x0f, 0x38, 0x10, 0xf2, 0x15, 0x33, 0x9a, 0xdd, 0xdb, 0xd8, 0x36, 0xcb, + 0xda, 0x19, 0x72, 0x9e, 0x0b, 0x3b, 0x2d, 0x26, 0x8b, 0x0d, 0x5f, 0xad, + 0x5e, 0x95, 0x04, 0x9c, +}; +static const unsigned char kat3951_addinpr2[] = { + 0x71, 0x12, 0x38, 0x8e, 0x5b, 0x31, 0xfd, 0x14, 0xcb, 0x82, 0x57, 0xe2, + 0xa1, 0x48, 0xe4, 0x15, 0xdd, 0x9a, 0x08, 0x1b, 0x62, 0x6d, 0x0d, 0xee, + 0xe7, 0x88, 0x3c, 0x03, 0xa2, 0x14, 0x5c, 0xb8, 0xe2, 0x03, 0x38, 0x8e, + 0x85, 0x72, 0x23, 0x9c, +}; +static const unsigned char kat3951_retbits[] = { + 0x65, 0x40, 0xb1, 0x18, 0x92, 0xfb, 0x2e, 0xab, 0xc7, 0x92, 0x52, 0x04, + 0x54, 0x81, 0xaf, 0x4f, 0x4a, 0xd6, 0x91, 0xad, 0xcf, 0x4c, 0x8f, 0x4a, + 0xd5, 0xe9, 0xfe, 0xc5, 0x00, 0x92, 0x4a, 0xf9, 0x7b, 0x53, 0x95, 0x8e, + 0xbc, 0x13, 0xe1, 0x31, 0x70, 0x24, 0xf9, 0x0c, 0x89, 0x9d, 0xc2, 0x57, + 0xd0, 0x95, 0x46, 0x2c, 0x98, 0x4d, 0x26, 0x37, 0x44, 0x5e, 0x4a, 0x48, + 0x02, 0x89, 0x81, 0x7f, +}; +static const struct drbg_kat_pr_true kat3951_t = { + 5, kat3951_entropyin, kat3951_nonce, kat3951_persstr, + kat3951_entropyinpr1, kat3951_addinpr1, kat3951_entropyinpr2, + kat3951_addinpr2, kat3951_retbits +}; +static const struct drbg_kat kat3951 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3951_t +}; + +static const unsigned char kat3952_entropyin[] = { + 0x35, 0xab, 0x1d, 0xe2, 0xb1, 0x30, 0x67, 0x03, 0x05, 0x60, 0x9a, 0x16, + 0xd7, 0x47, 0xc7, 0x5c, 0x02, 0xdc, 0x2d, 0x46, 0xbe, 0xa0, 0x50, 0x56, + 0x75, 0x1c, 0x6a, 0x3e, 0xc4, 0x01, 0xd6, 0x7d, 0xf0, 0x24, 0x2d, 0x5f, + 0x06, 0x78, 0x6d, 0x05, +}; +static const unsigned char kat3952_nonce[] = {0}; +static const unsigned char kat3952_persstr[] = { + 0xda, 0xb7, 0x60, 0x9e, 0xf4, 0xfe, 0x09, 0xd9, 0xc5, 0x16, 0x14, 0x0d, + 0xa1, 0x5d, 0x4a, 0x71, 0xf6, 0x5d, 0x54, 0x01, 0xb7, 0x54, 0x4a, 0x76, + 0xbf, 0xe1, 0x9f, 0x7c, 0x80, 0x49, 0x71, 0x06, 0xf8, 0xa5, 0x1f, 0x07, + 0x46, 0x37, 0xd8, 0x68, +}; +static const unsigned char kat3952_entropyinpr1[] = { + 0xc0, 0x6f, 0x14, 0x90, 0x6a, 0x18, 0x6f, 0x1b, 0x95, 0xaf, 0x46, 0x5c, + 0xf5, 0x4a, 0xf4, 0xef, 0x49, 0xb5, 0xf4, 0x7c, 0xfa, 0xaa, 0x68, 0x41, + 0xb1, 0x61, 0xa5, 0x4c, 0x51, 0xad, 0x06, 0x1d, 0xfb, 0xe9, 0xf5, 0x3a, + 0xd0, 0x40, 0x01, 0xdb, +}; +static const unsigned char kat3952_addinpr1[] = { + 0xd6, 0x45, 0xea, 0x03, 0x4e, 0x59, 0x9d, 0xd4, 0x2e, 0x62, 0x0f, 0xe2, + 0x6f, 0x77, 0x54, 0xea, 0xb8, 0x5c, 0xb3, 0x6a, 0x05, 0x2c, 0x0c, 0x1e, + 0xe4, 0x8a, 0x09, 0xa6, 0x9e, 0xae, 0xf7, 0xe5, 0x82, 0x1b, 0xb7, 0xff, + 0x75, 0xe2, 0x92, 0xc7, +}; +static const unsigned char kat3952_entropyinpr2[] = { + 0x9a, 0x74, 0xe7, 0x78, 0x3a, 0xa9, 0xc4, 0x3f, 0xc8, 0xa4, 0x5a, 0x0c, + 0x17, 0x12, 0x9a, 0xc3, 0x9d, 0x84, 0xc8, 0x47, 0xdb, 0x1e, 0xb2, 0xa7, + 0xd7, 0xeb, 0x6c, 0xc7, 0x9e, 0x7c, 0x39, 0x50, 0x69, 0x49, 0xea, 0xc2, + 0x1f, 0x91, 0x67, 0x02, +}; +static const unsigned char kat3952_addinpr2[] = { + 0x17, 0xd8, 0x27, 0xd2, 0xa8, 0xa1, 0x71, 0x13, 0x96, 0x44, 0x2b, 0x86, + 0x96, 0x31, 0x1c, 0x41, 0x45, 0x02, 0x00, 0x67, 0xb5, 0xd7, 0xb5, 0x1a, + 0xf6, 0x35, 0x75, 0x92, 0x06, 0x14, 0x45, 0xfc, 0xc3, 0x63, 0xed, 0x7c, + 0x44, 0x5a, 0xe8, 0x22, +}; +static const unsigned char kat3952_retbits[] = { + 0x08, 0xe8, 0x54, 0x48, 0x03, 0xce, 0xa5, 0x22, 0x79, 0x48, 0xc9, 0xda, + 0x22, 0x79, 0x67, 0x3e, 0x31, 0xe3, 0x01, 0x7c, 0xd0, 0x5e, 0x69, 0x62, + 0x31, 0xb1, 0x16, 0xb1, 0xcf, 0xed, 0x1b, 0x6a, 0x20, 0x61, 0x1d, 0x85, + 0x28, 0xa6, 0x93, 0x0f, 0xc1, 0x9b, 0x14, 0x52, 0x53, 0xc5, 0xae, 0xc8, + 0x41, 0x44, 0x94, 0x46, 0x21, 0xdd, 0x43, 0xbb, 0x3d, 0x34, 0x82, 0x7d, + 0xc6, 0xe2, 0xfa, 0xa6, +}; +static const struct drbg_kat_pr_true kat3952_t = { + 6, kat3952_entropyin, kat3952_nonce, kat3952_persstr, + kat3952_entropyinpr1, kat3952_addinpr1, kat3952_entropyinpr2, + kat3952_addinpr2, kat3952_retbits +}; +static const struct drbg_kat kat3952 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3952_t +}; + +static const unsigned char kat3953_entropyin[] = { + 0xc1, 0x00, 0x46, 0xd8, 0x49, 0x01, 0x25, 0x7f, 0x0a, 0xc9, 0xe3, 0x08, + 0x4d, 0x60, 0xbc, 0x52, 0x13, 0x11, 0xf2, 0x2b, 0x72, 0xc7, 0x70, 0x44, + 0x0a, 0x80, 0x8e, 0xde, 0xa9, 0x50, 0xff, 0xac, 0x51, 0x1e, 0xb9, 0x5c, + 0x98, 0xc2, 0x45, 0xb6, +}; +static const unsigned char kat3953_nonce[] = {0}; +static const unsigned char kat3953_persstr[] = { + 0xe2, 0x66, 0xd2, 0xab, 0xf2, 0x5e, 0x5a, 0x3a, 0xc4, 0x53, 0xc3, 0xe7, + 0xae, 0x63, 0x70, 0xcb, 0x53, 0x65, 0x99, 0xe1, 0xc3, 0x94, 0xc7, 0xaa, + 0xb7, 0x40, 0x24, 0xba, 0x76, 0x48, 0xb9, 0xb9, 0xa0, 0xef, 0x3d, 0xbf, + 0x87, 0x14, 0xea, 0x5b, +}; +static const unsigned char kat3953_entropyinpr1[] = { + 0x3e, 0x2f, 0xdc, 0xfc, 0xc5, 0xe3, 0x22, 0x28, 0x75, 0x7c, 0xff, 0x1a, + 0x4b, 0xb1, 0x72, 0x62, 0x7a, 0x21, 0x2b, 0x47, 0xda, 0xde, 0x8a, 0xc1, + 0x50, 0xa4, 0x2b, 0x77, 0x7c, 0x16, 0x92, 0x09, 0x74, 0x8e, 0x96, 0xfb, + 0x2d, 0xff, 0xaf, 0x61, +}; +static const unsigned char kat3953_addinpr1[] = { + 0x2b, 0xa2, 0xfb, 0x70, 0x6a, 0x54, 0xae, 0x14, 0xce, 0xca, 0x03, 0x46, + 0xab, 0x3b, 0x63, 0x24, 0x96, 0xb2, 0x4b, 0x99, 0x73, 0x66, 0x3b, 0x9a, + 0x26, 0x40, 0x4b, 0x9e, 0xde, 0x55, 0x39, 0x76, 0x2f, 0x16, 0xe8, 0x35, + 0x78, 0x9a, 0xb4, 0xa0, +}; +static const unsigned char kat3953_entropyinpr2[] = { + 0xd4, 0x9b, 0xc1, 0x0d, 0x3f, 0xe2, 0x50, 0x8e, 0xda, 0x10, 0x23, 0xc7, + 0x5a, 0xf9, 0x2d, 0xe6, 0x19, 0x7a, 0xc5, 0xeb, 0x75, 0xe6, 0xa8, 0x7d, + 0x76, 0x58, 0xbd, 0x04, 0xe3, 0x0e, 0x39, 0x66, 0x59, 0x95, 0x8e, 0x28, + 0x17, 0xde, 0xf4, 0xf9, +}; +static const unsigned char kat3953_addinpr2[] = { + 0x88, 0xd3, 0xc7, 0xe9, 0x70, 0x4b, 0x8b, 0x11, 0xb2, 0x86, 0xab, 0xe3, + 0xc2, 0xe5, 0x7a, 0x6a, 0x8e, 0xf7, 0x46, 0xa1, 0x57, 0x30, 0xbf, 0xcf, + 0xf3, 0x1f, 0x2b, 0x13, 0x2f, 0x48, 0x93, 0x84, 0x64, 0x78, 0x96, 0x35, + 0x7c, 0xf8, 0x4f, 0xb8, +}; +static const unsigned char kat3953_retbits[] = { + 0xa7, 0xe3, 0x99, 0x09, 0x06, 0xfd, 0xfc, 0x87, 0x60, 0xff, 0xcb, 0x04, + 0x03, 0x5e, 0x38, 0x97, 0x58, 0xe0, 0xf3, 0x67, 0x2b, 0xb6, 0x43, 0x2f, + 0x3e, 0x00, 0xf0, 0x7b, 0x2b, 0xb9, 0x9e, 0xf3, 0x4c, 0xac, 0x81, 0x08, + 0xb9, 0x16, 0x6d, 0x00, 0x12, 0x65, 0x70, 0x54, 0x42, 0x07, 0x57, 0x91, + 0x91, 0x9f, 0xa9, 0x04, 0x7b, 0xce, 0xe4, 0x34, 0x95, 0x94, 0xe6, 0xa5, + 0xd7, 0xe9, 0x06, 0xc5, +}; +static const struct drbg_kat_pr_true kat3953_t = { + 7, kat3953_entropyin, kat3953_nonce, kat3953_persstr, + kat3953_entropyinpr1, kat3953_addinpr1, kat3953_entropyinpr2, + kat3953_addinpr2, kat3953_retbits +}; +static const struct drbg_kat kat3953 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3953_t +}; + +static const unsigned char kat3954_entropyin[] = { + 0x80, 0x3a, 0x93, 0x24, 0xce, 0x39, 0x97, 0xf6, 0xf4, 0x06, 0xd4, 0x1c, + 0x56, 0xde, 0xcd, 0x80, 0x8d, 0xa6, 0x67, 0x7e, 0x8e, 0x72, 0xbc, 0xed, + 0xbd, 0xf6, 0x07, 0xcb, 0xe6, 0x1f, 0x1a, 0x74, 0x90, 0x2f, 0xcd, 0x55, + 0x49, 0xd0, 0x91, 0x70, +}; +static const unsigned char kat3954_nonce[] = {0}; +static const unsigned char kat3954_persstr[] = { + 0x4a, 0x35, 0x9e, 0x85, 0x49, 0x2e, 0x9d, 0xe5, 0x02, 0x67, 0x35, 0xf4, + 0xe4, 0x25, 0xc6, 0x7c, 0x54, 0x59, 0x24, 0x50, 0x1c, 0xa1, 0x79, 0xc3, + 0x66, 0xef, 0x57, 0xfb, 0x54, 0xfe, 0xd5, 0x24, 0x6e, 0xfe, 0xd1, 0x76, + 0x8f, 0x49, 0x6c, 0xef, +}; +static const unsigned char kat3954_entropyinpr1[] = { + 0x33, 0xac, 0x9f, 0x39, 0x97, 0xd1, 0x9c, 0x7e, 0xe1, 0x26, 0xd4, 0x4a, + 0x6e, 0x12, 0x83, 0xdd, 0x6b, 0x22, 0x3d, 0x9e, 0xcf, 0xca, 0xae, 0x32, + 0x60, 0xe2, 0xf8, 0x57, 0x57, 0x89, 0x63, 0xf3, 0x52, 0xd1, 0x52, 0x5e, + 0x10, 0x94, 0xf1, 0x42, +}; +static const unsigned char kat3954_addinpr1[] = { + 0x53, 0x07, 0x34, 0x59, 0x32, 0xd8, 0xa5, 0xcd, 0x69, 0x9d, 0xeb, 0xe8, + 0x62, 0xaf, 0x9e, 0x4f, 0x87, 0xf0, 0xea, 0x14, 0xdf, 0x32, 0x5b, 0x48, + 0xc5, 0x46, 0x9a, 0x00, 0xa7, 0x9c, 0x22, 0x78, 0x8b, 0x3f, 0x0b, 0xb8, + 0xdf, 0x75, 0x30, 0x64, +}; +static const unsigned char kat3954_entropyinpr2[] = { + 0x54, 0x05, 0x60, 0x14, 0x93, 0x51, 0x22, 0xa4, 0x72, 0x30, 0xdb, 0x8c, + 0x27, 0x6f, 0x11, 0x58, 0x70, 0x7a, 0x6e, 0x97, 0x68, 0x55, 0x75, 0x85, + 0x17, 0xaa, 0xd4, 0x0c, 0x63, 0x76, 0xcd, 0xf8, 0x83, 0x48, 0xc4, 0x36, + 0x53, 0x95, 0x9a, 0x49, +}; +static const unsigned char kat3954_addinpr2[] = { + 0xce, 0xea, 0xa5, 0xeb, 0x72, 0xe9, 0xb0, 0xb9, 0x40, 0x23, 0x19, 0x64, + 0x11, 0x8c, 0x29, 0x43, 0xd3, 0xe4, 0xda, 0xc4, 0xd7, 0x2c, 0x95, 0x47, + 0x7d, 0x39, 0x86, 0x81, 0xb1, 0xe5, 0xa0, 0x0e, 0x2c, 0xaa, 0x3d, 0x92, + 0x15, 0x31, 0x07, 0x4a, +}; +static const unsigned char kat3954_retbits[] = { + 0xb6, 0x11, 0x4d, 0xa3, 0x08, 0x22, 0x4e, 0x1f, 0x9d, 0xd4, 0xec, 0x15, + 0x0b, 0xb9, 0x96, 0xc0, 0x9c, 0xa0, 0xdd, 0xcf, 0x24, 0xef, 0xe3, 0x68, + 0xbd, 0xbf, 0xe4, 0xc6, 0xb0, 0xd3, 0x3a, 0xe6, 0x6c, 0xae, 0xed, 0x7b, + 0xd7, 0x84, 0xa5, 0xda, 0xfd, 0x2b, 0x43, 0xf7, 0x7c, 0x6b, 0x1a, 0x00, + 0x88, 0xdc, 0xa6, 0xd9, 0x2a, 0xea, 0x91, 0x3f, 0xf8, 0x5b, 0x79, 0xa8, + 0x26, 0x98, 0x2e, 0x15, +}; +static const struct drbg_kat_pr_true kat3954_t = { + 8, kat3954_entropyin, kat3954_nonce, kat3954_persstr, + kat3954_entropyinpr1, kat3954_addinpr1, kat3954_entropyinpr2, + kat3954_addinpr2, kat3954_retbits +}; +static const struct drbg_kat kat3954 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3954_t +}; + +static const unsigned char kat3955_entropyin[] = { + 0x0b, 0x3c, 0x6c, 0x23, 0xfc, 0x60, 0x7d, 0xcf, 0x21, 0xf7, 0x72, 0x05, + 0xe2, 0x9c, 0x85, 0x21, 0x12, 0x53, 0x49, 0xa9, 0x45, 0xb5, 0x04, 0x0e, + 0x23, 0xf0, 0x35, 0xff, 0xaa, 0x7a, 0xec, 0x9c, 0x3f, 0x25, 0xd8, 0xca, + 0x0a, 0x53, 0xfd, 0x0c, +}; +static const unsigned char kat3955_nonce[] = {0}; +static const unsigned char kat3955_persstr[] = { + 0x9e, 0xf7, 0x68, 0x24, 0x91, 0xda, 0x1c, 0xfd, 0xe8, 0xf1, 0x07, 0x5f, + 0xc3, 0x9e, 0xe3, 0x1a, 0x5c, 0xf6, 0xcd, 0x36, 0x95, 0x9a, 0x21, 0x46, + 0x59, 0x70, 0xce, 0x8d, 0xdb, 0x6a, 0xb6, 0xd7, 0x28, 0x6c, 0x1f, 0x9d, + 0xba, 0xba, 0xca, 0x0a, +}; +static const unsigned char kat3955_entropyinpr1[] = { + 0xee, 0x9f, 0x7c, 0xf1, 0x67, 0xcd, 0xf1, 0xb0, 0xb0, 0x98, 0xc2, 0x21, + 0x1d, 0x8b, 0xaa, 0x2c, 0xfd, 0x0d, 0x4a, 0x64, 0xe3, 0xed, 0x84, 0xee, + 0x6e, 0xe1, 0x11, 0xb8, 0x4b, 0x7d, 0xda, 0x82, 0x49, 0xdf, 0x63, 0xb1, + 0xf0, 0xfb, 0xbf, 0x61, +}; +static const unsigned char kat3955_addinpr1[] = { + 0xf9, 0xbc, 0xab, 0x5f, 0x68, 0xe5, 0xb5, 0x29, 0xdb, 0x50, 0x45, 0xaf, + 0xa2, 0xf8, 0x71, 0x83, 0xbf, 0x62, 0x6f, 0x7d, 0xc4, 0xff, 0x76, 0xff, + 0x73, 0xdb, 0xea, 0xba, 0x3c, 0x32, 0xba, 0x64, 0x8e, 0x21, 0xeb, 0x4e, + 0x95, 0x4e, 0x20, 0xa6, +}; +static const unsigned char kat3955_entropyinpr2[] = { + 0xa7, 0xcd, 0x5e, 0x84, 0x08, 0x47, 0xfe, 0xff, 0xc4, 0x31, 0x8b, 0x13, + 0xfa, 0xee, 0xf9, 0x4e, 0x84, 0x25, 0x45, 0xcd, 0x5c, 0xf6, 0x91, 0x77, + 0x19, 0x03, 0xa9, 0xea, 0xfe, 0x66, 0x19, 0xe0, 0x82, 0x2d, 0x56, 0xf4, + 0x09, 0xe7, 0x4c, 0x89, +}; +static const unsigned char kat3955_addinpr2[] = { + 0xa7, 0x12, 0x63, 0x60, 0x9c, 0x6b, 0x71, 0x67, 0x47, 0x2f, 0xf4, 0xf3, + 0x89, 0x83, 0x73, 0x7e, 0xc6, 0x95, 0x0b, 0x61, 0xe6, 0x9b, 0x50, 0xf7, + 0x7c, 0x81, 0x07, 0x9a, 0xd3, 0x25, 0xd6, 0x22, 0x38, 0x23, 0x0a, 0x0a, + 0xdd, 0x47, 0xb9, 0x54, +}; +static const unsigned char kat3955_retbits[] = { + 0x6d, 0x4b, 0x7a, 0x9c, 0xef, 0xb2, 0x3c, 0x46, 0xc5, 0xca, 0x9e, 0x23, + 0x3b, 0x07, 0x20, 0xcd, 0x22, 0x4e, 0xb9, 0x0c, 0x62, 0x3e, 0x50, 0x87, + 0x68, 0xee, 0x00, 0x45, 0x2e, 0xe5, 0x3d, 0xc7, 0xfd, 0xea, 0x7e, 0x79, + 0xfd, 0x33, 0x8e, 0x2d, 0xc9, 0xd6, 0x70, 0xa0, 0x83, 0x66, 0x78, 0xce, + 0xbc, 0xcd, 0xd6, 0xf1, 0x80, 0x48, 0x13, 0x74, 0xa6, 0x50, 0xe2, 0xa7, + 0xab, 0xa4, 0x91, 0x4c, +}; +static const struct drbg_kat_pr_true kat3955_t = { + 9, kat3955_entropyin, kat3955_nonce, kat3955_persstr, + kat3955_entropyinpr1, kat3955_addinpr1, kat3955_entropyinpr2, + kat3955_addinpr2, kat3955_retbits +}; +static const struct drbg_kat kat3955 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3955_t +}; + +static const unsigned char kat3956_entropyin[] = { + 0x04, 0x69, 0x3e, 0xc3, 0xea, 0x1a, 0x8d, 0x69, 0x79, 0x48, 0x87, 0x45, + 0x62, 0x10, 0xd6, 0xe8, 0xa6, 0x34, 0x95, 0x0a, 0x91, 0xad, 0xc5, 0xe5, + 0x82, 0x2c, 0xfc, 0xcb, 0x79, 0xe8, 0xce, 0x0e, 0x09, 0x45, 0xd1, 0x2d, + 0xa4, 0xab, 0xd4, 0xd7, +}; +static const unsigned char kat3956_nonce[] = {0}; +static const unsigned char kat3956_persstr[] = { + 0x25, 0xca, 0x10, 0xf6, 0x43, 0x13, 0xb8, 0x41, 0x30, 0x25, 0x6a, 0x40, + 0x56, 0xff, 0xae, 0x7f, 0xac, 0x2b, 0x0c, 0x78, 0xfd, 0x18, 0xc3, 0x62, + 0x5f, 0x98, 0x4f, 0xb0, 0x40, 0x20, 0xe9, 0x90, 0xe7, 0xa6, 0x3c, 0x97, + 0x84, 0xf4, 0xd8, 0x1c, +}; +static const unsigned char kat3956_entropyinpr1[] = { + 0x3c, 0x78, 0xc4, 0x68, 0x5c, 0x68, 0x30, 0x3d, 0xe1, 0x60, 0xaf, 0x7a, + 0x1e, 0x8d, 0x7f, 0xf4, 0xe3, 0xd0, 0x58, 0x7c, 0xa5, 0x2a, 0x0f, 0x66, + 0xce, 0x30, 0xe7, 0x5b, 0x48, 0xd2, 0xd7, 0x7b, 0xcb, 0xfd, 0xa9, 0x84, + 0xbe, 0x51, 0xec, 0xef, +}; +static const unsigned char kat3956_addinpr1[] = { + 0x69, 0x96, 0xbe, 0xc4, 0x97, 0xee, 0x0f, 0x85, 0xdf, 0x92, 0x9a, 0xee, + 0xbd, 0xfa, 0x48, 0x67, 0x07, 0xd0, 0x45, 0xf4, 0xed, 0x9c, 0xa4, 0xc4, + 0x82, 0xbd, 0xb6, 0x5b, 0xa9, 0x8b, 0xc9, 0x34, 0x6b, 0x40, 0xb7, 0x4e, + 0x8f, 0x10, 0x0e, 0x06, +}; +static const unsigned char kat3956_entropyinpr2[] = { + 0x06, 0x90, 0x0e, 0x74, 0x3f, 0x89, 0xa6, 0x41, 0xb7, 0x5d, 0x7b, 0xad, + 0x2b, 0xfc, 0x34, 0x8b, 0xeb, 0x9e, 0x00, 0x07, 0xdc, 0xc6, 0x87, 0x68, + 0x19, 0x38, 0x00, 0x8e, 0x14, 0x8d, 0x77, 0x3a, 0x8f, 0xbc, 0x4d, 0x82, + 0x7e, 0x6a, 0x36, 0x9a, +}; +static const unsigned char kat3956_addinpr2[] = { + 0x30, 0x83, 0xe9, 0xa6, 0x1b, 0xac, 0x25, 0xfa, 0x9e, 0xd3, 0x71, 0x3f, + 0xcb, 0x0b, 0xd9, 0x26, 0x42, 0xdf, 0xb6, 0xb1, 0x7b, 0xf4, 0xbb, 0x66, + 0xb5, 0xff, 0xcb, 0xc2, 0xb5, 0x01, 0x5d, 0xc4, 0x0d, 0x5f, 0x6b, 0x0d, + 0xe9, 0x29, 0xfb, 0x54, +}; +static const unsigned char kat3956_retbits[] = { + 0xb0, 0x05, 0x9b, 0xb5, 0x67, 0xd6, 0x9d, 0x5b, 0xf9, 0x6a, 0x42, 0x89, + 0xbf, 0x93, 0xa2, 0x8d, 0x61, 0x34, 0xdc, 0x6c, 0x66, 0xd2, 0x68, 0x8f, + 0x63, 0x9b, 0x83, 0xf7, 0x49, 0x55, 0x9f, 0x26, 0xd0, 0x1e, 0xd4, 0x7f, + 0x87, 0xe7, 0x71, 0x64, 0x63, 0xda, 0x38, 0x41, 0x2d, 0x97, 0x91, 0x49, + 0xbe, 0xda, 0x53, 0x60, 0xab, 0xdd, 0x38, 0xd5, 0x31, 0xa2, 0x53, 0x74, + 0x42, 0xf5, 0x51, 0xb2, +}; +static const struct drbg_kat_pr_true kat3956_t = { + 10, kat3956_entropyin, kat3956_nonce, kat3956_persstr, + kat3956_entropyinpr1, kat3956_addinpr1, kat3956_entropyinpr2, + kat3956_addinpr2, kat3956_retbits +}; +static const struct drbg_kat kat3956 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3956_t +}; + +static const unsigned char kat3957_entropyin[] = { + 0x5a, 0x22, 0x52, 0xc0, 0x61, 0xea, 0x84, 0xce, 0x1e, 0x9a, 0x8c, 0x79, + 0xe2, 0xd5, 0x26, 0x9c, 0x39, 0x74, 0x37, 0xd1, 0xb2, 0xae, 0xa3, 0x70, + 0xcf, 0xed, 0xaf, 0x75, 0xe2, 0xbe, 0x2c, 0x34, 0x48, 0x81, 0x34, 0xae, + 0x1a, 0xa0, 0x0a, 0x3a, +}; +static const unsigned char kat3957_nonce[] = {0}; +static const unsigned char kat3957_persstr[] = { + 0xd7, 0x1f, 0xa3, 0x34, 0x50, 0xcb, 0x22, 0x7a, 0xcb, 0xea, 0x3f, 0x8f, + 0x05, 0x78, 0x60, 0x95, 0xdb, 0xf2, 0xfc, 0xb8, 0xa0, 0xae, 0x19, 0x34, + 0x25, 0x1b, 0x45, 0xde, 0x1b, 0x14, 0x06, 0x74, 0xab, 0x81, 0x7c, 0xd1, + 0x5a, 0xac, 0xc2, 0x46, +}; +static const unsigned char kat3957_entropyinpr1[] = { + 0x0a, 0x42, 0xfb, 0x59, 0x08, 0xe1, 0xb8, 0x9b, 0x73, 0xa4, 0xa3, 0x9b, + 0x53, 0x31, 0x36, 0x91, 0x78, 0x7a, 0x87, 0xe9, 0x7d, 0xf9, 0x5a, 0x15, + 0x1e, 0xe2, 0xd4, 0x11, 0x7e, 0x4e, 0xc1, 0x70, 0x1d, 0xef, 0x08, 0x4f, + 0x7e, 0xc3, 0xde, 0xf0, +}; +static const unsigned char kat3957_addinpr1[] = { + 0x0d, 0x26, 0x8b, 0xcb, 0xa2, 0x3c, 0x35, 0xd0, 0x8a, 0x37, 0x7c, 0x8f, + 0xeb, 0x24, 0x1e, 0x05, 0x04, 0x8e, 0x5e, 0x0f, 0x43, 0xe6, 0x51, 0x87, + 0x4c, 0xfb, 0xdd, 0x7c, 0xfe, 0x3a, 0x7a, 0xa1, 0xdf, 0x01, 0x21, 0x39, + 0x10, 0xc1, 0xaf, 0xb5, +}; +static const unsigned char kat3957_entropyinpr2[] = { + 0x6e, 0x38, 0xb0, 0xc6, 0x6c, 0xd1, 0x6e, 0xba, 0xdf, 0xf8, 0x8e, 0x92, + 0x1b, 0xc9, 0x3f, 0x9a, 0x1f, 0xf4, 0xb1, 0x58, 0xb5, 0x9f, 0x31, 0x5b, + 0x06, 0x0e, 0x5f, 0xb8, 0x63, 0xcd, 0x46, 0xbd, 0x8b, 0xdd, 0x81, 0x87, + 0xe5, 0xf3, 0x93, 0xf3, +}; +static const unsigned char kat3957_addinpr2[] = { + 0x57, 0xc2, 0x60, 0x17, 0x1a, 0x71, 0xfe, 0x14, 0x64, 0x69, 0xb2, 0x7d, + 0xa2, 0x42, 0xcc, 0x4f, 0x54, 0x96, 0x55, 0x8d, 0xdb, 0x38, 0x4a, 0x58, + 0xda, 0xcc, 0xda, 0x7f, 0x3f, 0xec, 0x27, 0x57, 0xb5, 0x26, 0x12, 0x62, + 0xeb, 0xa6, 0xc3, 0x62, +}; +static const unsigned char kat3957_retbits[] = { + 0xe1, 0x5e, 0x4b, 0xf8, 0x7c, 0x5e, 0xce, 0xde, 0xf4, 0x43, 0xa2, 0x7a, + 0xdd, 0xa7, 0xcd, 0x13, 0x9d, 0x53, 0x7a, 0xcd, 0x25, 0x40, 0x12, 0xe8, + 0x5d, 0xc2, 0x59, 0x54, 0x24, 0x9c, 0x6c, 0x21, 0x44, 0xe9, 0x56, 0x4f, + 0x97, 0xc1, 0x8b, 0xad, 0x83, 0xd3, 0x03, 0xdf, 0x65, 0x50, 0x01, 0xa0, + 0x43, 0x5b, 0xe0, 0xa3, 0xe1, 0x20, 0xd3, 0x08, 0xec, 0xab, 0x1d, 0xb5, + 0x9a, 0x77, 0xce, 0xd9, +}; +static const struct drbg_kat_pr_true kat3957_t = { + 11, kat3957_entropyin, kat3957_nonce, kat3957_persstr, + kat3957_entropyinpr1, kat3957_addinpr1, kat3957_entropyinpr2, + kat3957_addinpr2, kat3957_retbits +}; +static const struct drbg_kat kat3957 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3957_t +}; + +static const unsigned char kat3958_entropyin[] = { + 0x45, 0xfd, 0xd2, 0x8d, 0xd9, 0x07, 0x7d, 0xa5, 0x9b, 0x66, 0xcd, 0xfa, + 0x93, 0xb0, 0x10, 0x71, 0x16, 0x86, 0x5f, 0xba, 0x2a, 0x6d, 0x7f, 0xc5, + 0xff, 0xdb, 0x15, 0xc3, 0xe2, 0xbe, 0x67, 0xc0, 0x2c, 0xb5, 0xe3, 0x73, + 0xec, 0x82, 0xf9, 0xf9, +}; +static const unsigned char kat3958_nonce[] = {0}; +static const unsigned char kat3958_persstr[] = { + 0x30, 0xc5, 0x74, 0xe5, 0x6f, 0xcb, 0x77, 0x5d, 0x42, 0xb4, 0xf7, 0x63, + 0xd2, 0xfd, 0xe2, 0x6f, 0x1b, 0xdd, 0x3e, 0xc1, 0xa7, 0xeb, 0x02, 0x63, + 0xfa, 0x92, 0x53, 0xd4, 0xe9, 0x0d, 0x28, 0x6d, 0x63, 0x33, 0x52, 0x54, + 0xd5, 0x70, 0x96, 0xaf, +}; +static const unsigned char kat3958_entropyinpr1[] = { + 0x22, 0xd7, 0xb2, 0x5e, 0xbe, 0x03, 0x40, 0x89, 0x92, 0xed, 0x44, 0x06, + 0xd0, 0xea, 0x38, 0xe0, 0x23, 0xa1, 0xb6, 0xf8, 0x92, 0x3a, 0x3f, 0xd9, + 0x7a, 0x08, 0x5a, 0x46, 0xfd, 0x01, 0x87, 0x8a, 0xd3, 0xc0, 0x21, 0x97, + 0x7f, 0x9c, 0x1c, 0xfb, +}; +static const unsigned char kat3958_addinpr1[] = { + 0x6d, 0xb3, 0x8b, 0x45, 0x52, 0xbb, 0x09, 0x4d, 0x88, 0xae, 0x98, 0x2b, + 0xe5, 0x2c, 0x70, 0x3c, 0x82, 0x75, 0x53, 0x48, 0xb6, 0xda, 0xd5, 0x5e, + 0x55, 0x17, 0x0f, 0xc7, 0x77, 0x88, 0x50, 0x4f, 0x4c, 0x81, 0x24, 0xa3, + 0x43, 0x7f, 0xd2, 0x6f, +}; +static const unsigned char kat3958_entropyinpr2[] = { + 0x1d, 0x3d, 0x06, 0xa5, 0x33, 0xab, 0xf4, 0x4e, 0xa6, 0x6c, 0x9a, 0xac, + 0x9f, 0x35, 0xda, 0x28, 0x00, 0x5e, 0x24, 0xd0, 0x41, 0xce, 0x0b, 0x24, + 0xaa, 0xc6, 0x29, 0x1d, 0x68, 0x9a, 0x02, 0x2e, 0xb7, 0x98, 0xa3, 0xe5, + 0xdf, 0x4b, 0xac, 0xc9, +}; +static const unsigned char kat3958_addinpr2[] = { + 0x55, 0xc3, 0x33, 0x2a, 0x11, 0x9e, 0x4d, 0x27, 0x93, 0xff, 0x91, 0x71, + 0x8b, 0xbb, 0x01, 0x9b, 0x79, 0x1d, 0xf8, 0x18, 0xc2, 0xa3, 0xfe, 0xc2, + 0xee, 0x55, 0xc5, 0xd0, 0x42, 0xb4, 0x41, 0xfa, 0x0a, 0xfd, 0x23, 0x94, + 0xa1, 0x65, 0x96, 0x4b, +}; +static const unsigned char kat3958_retbits[] = { + 0x04, 0x5c, 0x58, 0xe5, 0x3c, 0xba, 0x73, 0x55, 0xea, 0xff, 0x24, 0xab, + 0xdb, 0xc0, 0x56, 0xf0, 0xaf, 0x4d, 0xb2, 0x43, 0xd1, 0xbf, 0xfb, 0xb7, + 0xe1, 0x6d, 0xfb, 0x19, 0x56, 0x20, 0xba, 0x87, 0x5e, 0x82, 0x99, 0x8a, + 0xc5, 0x92, 0xdd, 0xf0, 0x74, 0x18, 0x71, 0x91, 0xbe, 0x0a, 0x3c, 0xa3, + 0x63, 0x75, 0x80, 0x4c, 0x15, 0x3d, 0x8b, 0x7a, 0x38, 0x0f, 0x85, 0x0b, + 0x95, 0xf1, 0x07, 0x27, +}; +static const struct drbg_kat_pr_true kat3958_t = { + 12, kat3958_entropyin, kat3958_nonce, kat3958_persstr, + kat3958_entropyinpr1, kat3958_addinpr1, kat3958_entropyinpr2, + kat3958_addinpr2, kat3958_retbits +}; +static const struct drbg_kat kat3958 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3958_t +}; + +static const unsigned char kat3959_entropyin[] = { + 0xac, 0x39, 0xeb, 0x7d, 0xbb, 0xd6, 0x72, 0xcc, 0x42, 0x35, 0xc8, 0x37, + 0xe9, 0xb1, 0xe0, 0xef, 0x78, 0x36, 0x1b, 0x2e, 0x3f, 0xbe, 0x5f, 0xe4, + 0xce, 0x14, 0xd8, 0x7c, 0x82, 0x8d, 0xb0, 0xc5, 0xec, 0xf2, 0xe4, 0x38, + 0xd4, 0x5c, 0x4d, 0x4e, +}; +static const unsigned char kat3959_nonce[] = {0}; +static const unsigned char kat3959_persstr[] = { + 0xc9, 0xac, 0xeb, 0x6b, 0xd2, 0xdf, 0x45, 0xbb, 0xe6, 0xe7, 0x87, 0x14, + 0x76, 0xb2, 0xb5, 0xf5, 0xd9, 0xc2, 0xad, 0x2e, 0x2b, 0xec, 0x7e, 0x56, + 0x04, 0x47, 0xaf, 0xcc, 0x08, 0x9f, 0x48, 0xd7, 0x5e, 0x1b, 0x8b, 0x48, + 0x97, 0x27, 0xd0, 0xb9, +}; +static const unsigned char kat3959_entropyinpr1[] = { + 0x31, 0x91, 0x2f, 0x0a, 0x3d, 0x8d, 0x32, 0xad, 0x39, 0x58, 0x48, 0x0c, + 0xac, 0x71, 0x18, 0x89, 0xd6, 0xa9, 0x98, 0x89, 0x0a, 0x32, 0x7b, 0xa4, + 0xb5, 0xbb, 0xce, 0xe1, 0xf7, 0x8f, 0x00, 0x8f, 0x31, 0xb7, 0x8a, 0x57, + 0xa4, 0xd2, 0xef, 0x0e, +}; +static const unsigned char kat3959_addinpr1[] = { + 0xf6, 0x6f, 0xd8, 0x6d, 0x3f, 0x08, 0xd5, 0x38, 0x84, 0x46, 0x6c, 0x68, + 0x8b, 0xa6, 0x14, 0x89, 0x1c, 0x60, 0xbb, 0x2e, 0xed, 0x7a, 0x20, 0x8c, + 0x47, 0x6f, 0xf5, 0x52, 0x70, 0xe0, 0x97, 0x7d, 0x9b, 0xce, 0x30, 0xa3, + 0xa7, 0xe2, 0x7b, 0xea, +}; +static const unsigned char kat3959_entropyinpr2[] = { + 0x0c, 0xf7, 0xb9, 0xa2, 0xd4, 0xe2, 0x8c, 0xdd, 0x77, 0x48, 0x00, 0x0e, + 0x28, 0xe4, 0xa1, 0xa3, 0x02, 0x2c, 0x10, 0xef, 0x18, 0x6b, 0x0d, 0x83, + 0x1e, 0x2c, 0xa6, 0x92, 0x5c, 0x3f, 0x37, 0x7b, 0xc3, 0xa8, 0xf2, 0x58, + 0xf5, 0xae, 0x73, 0x1c, +}; +static const unsigned char kat3959_addinpr2[] = { + 0x4e, 0x0c, 0x20, 0xe0, 0xfb, 0xd6, 0x54, 0xaf, 0xb2, 0x29, 0x05, 0x2e, + 0xc6, 0x48, 0x44, 0xf1, 0x9a, 0x49, 0x52, 0x70, 0xa5, 0xf1, 0x57, 0x4e, + 0xcf, 0xe2, 0xf7, 0xe3, 0xad, 0xc9, 0xd6, 0x0d, 0x78, 0x7f, 0x4c, 0xef, + 0x39, 0x7d, 0x5e, 0x35, +}; +static const unsigned char kat3959_retbits[] = { + 0x00, 0x7f, 0x86, 0x1a, 0x7e, 0xa3, 0x6f, 0x37, 0x7a, 0x66, 0x2f, 0xa8, + 0x60, 0x69, 0x77, 0x3e, 0xd4, 0x3e, 0xf8, 0xe3, 0x3e, 0x39, 0x32, 0x28, + 0xe3, 0xd8, 0x85, 0x90, 0x21, 0xd2, 0x32, 0xf3, 0xa2, 0xeb, 0x44, 0x53, + 0x3c, 0x6c, 0xd8, 0x58, 0x06, 0xdf, 0x84, 0x74, 0x92, 0x34, 0x10, 0x62, + 0x84, 0x09, 0xb5, 0x4a, 0xb2, 0x03, 0xac, 0xb7, 0x13, 0xb8, 0x3c, 0x5f, + 0x94, 0x74, 0x1a, 0x66, +}; +static const struct drbg_kat_pr_true kat3959_t = { + 13, kat3959_entropyin, kat3959_nonce, kat3959_persstr, + kat3959_entropyinpr1, kat3959_addinpr1, kat3959_entropyinpr2, + kat3959_addinpr2, kat3959_retbits +}; +static const struct drbg_kat kat3959 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3959_t +}; + +static const unsigned char kat3960_entropyin[] = { + 0xcc, 0x31, 0xc3, 0x24, 0x7c, 0xd0, 0xd6, 0xb7, 0xc8, 0x43, 0x5b, 0x64, + 0x7b, 0xa5, 0x3d, 0x23, 0x77, 0xf6, 0xf2, 0x79, 0xd8, 0xc0, 0x0a, 0x29, + 0x1a, 0xb0, 0xec, 0xb3, 0x66, 0x1e, 0xa5, 0xf6, 0x9b, 0xdf, 0xab, 0x64, + 0x94, 0xa5, 0x1d, 0x3f, +}; +static const unsigned char kat3960_nonce[] = {0}; +static const unsigned char kat3960_persstr[] = { + 0x15, 0x5a, 0xff, 0x76, 0x3a, 0x68, 0x16, 0xe5, 0xf9, 0x97, 0x0d, 0xdd, + 0x5e, 0x23, 0x2a, 0xf7, 0xc4, 0xaa, 0xcb, 0x32, 0x46, 0x80, 0x18, 0x47, + 0x86, 0xc0, 0x2a, 0x96, 0xc1, 0x4f, 0x20, 0x09, 0x0c, 0x8f, 0x53, 0x5d, + 0x3c, 0x9f, 0x9d, 0xa5, +}; +static const unsigned char kat3960_entropyinpr1[] = { + 0x06, 0xc2, 0xb0, 0x7b, 0x88, 0x95, 0xe3, 0xff, 0xe9, 0x3b, 0x8f, 0x01, + 0x21, 0x92, 0xa8, 0x10, 0x05, 0x31, 0x5a, 0x04, 0x84, 0x3c, 0xab, 0x84, + 0x7d, 0xa6, 0x90, 0xad, 0x54, 0x93, 0xd2, 0xa7, 0x1b, 0xfd, 0x8f, 0xae, + 0xb5, 0x27, 0xcb, 0x0a, +}; +static const unsigned char kat3960_addinpr1[] = { + 0xb6, 0xe9, 0x9d, 0x5d, 0x8b, 0xff, 0x8c, 0xad, 0x38, 0xec, 0xcb, 0x80, + 0x37, 0xd8, 0xa1, 0x92, 0x3a, 0x47, 0xfc, 0x38, 0xc6, 0x31, 0xa8, 0xc3, + 0xbf, 0xe1, 0x71, 0xa7, 0x13, 0xc6, 0x7c, 0x91, 0xe8, 0x78, 0x7e, 0x83, + 0xab, 0xf0, 0xbc, 0x33, +}; +static const unsigned char kat3960_entropyinpr2[] = { + 0x19, 0x89, 0xbe, 0xcc, 0x20, 0xda, 0x39, 0x68, 0x2e, 0x67, 0xb9, 0x61, + 0xdc, 0x4a, 0x2f, 0x10, 0xa7, 0x3b, 0x03, 0x7b, 0x21, 0xcf, 0x05, 0x5f, + 0x1f, 0x12, 0xe8, 0xf5, 0x9f, 0x04, 0x72, 0x00, 0xda, 0xb4, 0x90, 0x7e, + 0x5e, 0x8b, 0x96, 0xaa, +}; +static const unsigned char kat3960_addinpr2[] = { + 0x20, 0x5f, 0x0f, 0x79, 0xd1, 0x40, 0xc6, 0xff, 0xef, 0x74, 0x2b, 0xf3, + 0xcd, 0xa5, 0x12, 0xa3, 0xfb, 0x84, 0xaf, 0x66, 0xd0, 0x58, 0xe5, 0xa3, + 0x47, 0x52, 0xcf, 0xd0, 0xe4, 0xcb, 0x82, 0xfe, 0x3e, 0x7f, 0xab, 0x94, + 0x89, 0xbf, 0x56, 0x33, +}; +static const unsigned char kat3960_retbits[] = { + 0xfa, 0x20, 0xe0, 0x05, 0x4f, 0x9e, 0xde, 0xf7, 0x5b, 0x34, 0xaa, 0x4e, + 0x76, 0xb1, 0x6d, 0xd6, 0xd9, 0xd5, 0x4d, 0xe5, 0xe3, 0x50, 0xc8, 0x79, + 0xe1, 0x65, 0x41, 0xcb, 0x80, 0xa4, 0xe6, 0x4c, 0x3f, 0x39, 0x2a, 0x01, + 0x08, 0xc7, 0x92, 0xec, 0x8f, 0xce, 0xc8, 0x47, 0x21, 0xcd, 0x71, 0xcc, + 0xae, 0x15, 0xde, 0x31, 0xf3, 0xef, 0xf5, 0x7e, 0x09, 0xf0, 0x24, 0x50, + 0x68, 0x57, 0xc3, 0xe9, +}; +static const struct drbg_kat_pr_true kat3960_t = { + 14, kat3960_entropyin, kat3960_nonce, kat3960_persstr, + kat3960_entropyinpr1, kat3960_addinpr1, kat3960_entropyinpr2, + kat3960_addinpr2, kat3960_retbits +}; +static const struct drbg_kat kat3960 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat3960_t +}; + +static const unsigned char kat3961_entropyin[] = { + 0xf7, 0xc2, 0xe8, 0xc3, 0xe1, 0x0d, 0x89, 0xe7, 0x71, 0x76, 0x3f, 0x24, + 0x02, 0xc5, 0xf8, 0x4b, 0xff, 0x9f, 0x1d, 0x85, 0x59, 0x56, 0xe6, 0x21, + 0x4c, 0x4a, 0x79, 0x66, 0x84, 0x7f, 0x4b, 0x5d, 0xc6, 0x9d, 0x96, 0xc4, + 0xd3, 0x16, 0x1d, 0x7a, +}; +static const unsigned char kat3961_nonce[] = {0}; +static const unsigned char kat3961_persstr[] = {0}; +static const unsigned char kat3961_entropyinpr1[] = { + 0x83, 0x2a, 0x12, 0xa2, 0xfa, 0xf8, 0x9a, 0x38, 0x05, 0x0a, 0x77, 0x51, + 0x83, 0x50, 0x34, 0xfa, 0x25, 0xc8, 0x87, 0x47, 0xe4, 0xb0, 0x8e, 0x1a, + 0x26, 0x16, 0x29, 0x1f, 0xa3, 0x64, 0xb7, 0x34, 0x4f, 0x6e, 0x27, 0x45, + 0xaf, 0xdd, 0xa5, 0xc4, +}; +static const unsigned char kat3961_addinpr1[] = {0}; +static const unsigned char kat3961_entropyinpr2[] = { + 0xde, 0xb9, 0xd8, 0xbc, 0xb4, 0x30, 0x25, 0x0c, 0xe5, 0x29, 0x6e, 0x72, + 0x77, 0x2f, 0x0c, 0x70, 0xd4, 0x88, 0xca, 0xb4, 0xfc, 0x1f, 0x84, 0x7a, + 0xac, 0x1f, 0x66, 0x9b, 0x3f, 0x47, 0x34, 0x16, 0xc9, 0x8d, 0x49, 0x7a, + 0x20, 0x89, 0xa9, 0x9a, +}; +static const unsigned char kat3961_addinpr2[] = {0}; +static const unsigned char kat3961_retbits[] = { + 0x05, 0x1d, 0x21, 0x78, 0x4e, 0xe6, 0x4e, 0x73, 0x12, 0xe2, 0xee, 0x93, + 0x04, 0x08, 0x3c, 0x41, 0x0f, 0x8a, 0x23, 0x63, 0xeb, 0x57, 0x37, 0x42, + 0x2e, 0xad, 0x9d, 0x5c, 0x51, 0x3b, 0x3b, 0xc8, 0xbd, 0x18, 0xff, 0x95, + 0xa7, 0xdf, 0xe5, 0x8d, 0xa4, 0x12, 0x22, 0xf8, 0xf4, 0xcf, 0x51, 0x76, + 0x29, 0x33, 0x9c, 0x3c, 0x12, 0x91, 0x55, 0xc4, 0x88, 0x10, 0x16, 0xcc, + 0xfc, 0x33, 0x64, 0xc3, +}; +static const struct drbg_kat_pr_true kat3961_t = { + 0, kat3961_entropyin, kat3961_nonce, kat3961_persstr, + kat3961_entropyinpr1, kat3961_addinpr1, kat3961_entropyinpr2, + kat3961_addinpr2, kat3961_retbits +}; +static const struct drbg_kat kat3961 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3961_t +}; + +static const unsigned char kat3962_entropyin[] = { + 0x05, 0x04, 0x74, 0x48, 0xdc, 0xa9, 0x84, 0x21, 0xa8, 0x23, 0x69, 0x57, + 0x5b, 0xca, 0x11, 0x60, 0x90, 0xf9, 0xb9, 0xa7, 0x01, 0x44, 0xf2, 0x4c, + 0xee, 0x0e, 0xb1, 0xd1, 0x1f, 0xb5, 0xad, 0xac, 0x44, 0xd0, 0x87, 0x0b, + 0x94, 0xeb, 0x48, 0x33, +}; +static const unsigned char kat3962_nonce[] = {0}; +static const unsigned char kat3962_persstr[] = {0}; +static const unsigned char kat3962_entropyinpr1[] = { + 0x4e, 0x33, 0x74, 0x09, 0x5d, 0x77, 0xda, 0xf1, 0x91, 0x4b, 0xc1, 0x70, + 0xd6, 0x5e, 0xfa, 0x48, 0x1e, 0xe0, 0xe5, 0x0d, 0x14, 0xb3, 0x6f, 0xfc, + 0xa0, 0x73, 0x10, 0x30, 0xc1, 0x98, 0x51, 0xec, 0x1a, 0xe6, 0x24, 0x37, + 0xab, 0x0e, 0x31, 0xb9, +}; +static const unsigned char kat3962_addinpr1[] = {0}; +static const unsigned char kat3962_entropyinpr2[] = { + 0x28, 0x5d, 0x86, 0xca, 0x15, 0x19, 0xc0, 0x11, 0xc5, 0xbb, 0x36, 0x6f, + 0x8f, 0xb4, 0x05, 0x8f, 0xb7, 0x77, 0x48, 0xdd, 0x08, 0x98, 0x2a, 0xc3, + 0x61, 0x2a, 0xe0, 0xe7, 0xec, 0x55, 0x38, 0x4d, 0x54, 0xc6, 0x1a, 0xa0, + 0xca, 0x07, 0x07, 0x6a, +}; +static const unsigned char kat3962_addinpr2[] = {0}; +static const unsigned char kat3962_retbits[] = { + 0x24, 0xd0, 0x61, 0x21, 0xc1, 0xa2, 0xeb, 0xf2, 0x5d, 0x0d, 0x56, 0xdc, + 0xf3, 0x38, 0x1e, 0x32, 0xe8, 0x46, 0x3a, 0x90, 0x69, 0x08, 0x85, 0x10, + 0x6c, 0x61, 0x6a, 0x87, 0x79, 0x8f, 0x2b, 0xb2, 0xbd, 0x35, 0x96, 0x6d, + 0x27, 0x33, 0x27, 0x96, 0x86, 0x84, 0x1a, 0x19, 0xdc, 0xc0, 0xf0, 0xea, + 0xa7, 0x3c, 0x58, 0xea, 0x27, 0x4a, 0x38, 0x13, 0xc1, 0xab, 0xd7, 0x22, + 0x98, 0xa3, 0x23, 0x58, +}; +static const struct drbg_kat_pr_true kat3962_t = { + 1, kat3962_entropyin, kat3962_nonce, kat3962_persstr, + kat3962_entropyinpr1, kat3962_addinpr1, kat3962_entropyinpr2, + kat3962_addinpr2, kat3962_retbits +}; +static const struct drbg_kat kat3962 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3962_t +}; + +static const unsigned char kat3963_entropyin[] = { + 0xfd, 0xfe, 0xdb, 0x2b, 0xf6, 0xca, 0x16, 0x74, 0x4a, 0x0e, 0x38, 0x0f, + 0x43, 0xe0, 0x9f, 0x3d, 0x26, 0x0a, 0x2c, 0x52, 0x4d, 0xa2, 0xc1, 0x68, + 0x13, 0xc7, 0x59, 0x8e, 0xb8, 0xba, 0xe0, 0x37, 0xdd, 0x50, 0xc8, 0x8d, + 0x93, 0xaf, 0x2b, 0x51, +}; +static const unsigned char kat3963_nonce[] = {0}; +static const unsigned char kat3963_persstr[] = {0}; +static const unsigned char kat3963_entropyinpr1[] = { + 0x68, 0x0c, 0x44, 0x7f, 0x6d, 0x3b, 0xab, 0x7c, 0xa4, 0xb1, 0x20, 0x98, + 0x59, 0x3e, 0xd6, 0xf3, 0x9b, 0x1f, 0x24, 0x38, 0x56, 0x16, 0x5c, 0x87, + 0xc6, 0xf4, 0x4e, 0x03, 0x97, 0x74, 0x27, 0x2f, 0x06, 0x4a, 0x12, 0x07, + 0x86, 0xff, 0x77, 0xb0, +}; +static const unsigned char kat3963_addinpr1[] = {0}; +static const unsigned char kat3963_entropyinpr2[] = { + 0x4f, 0x76, 0x64, 0xcc, 0x62, 0x79, 0x70, 0x27, 0x1e, 0x3c, 0xbe, 0x9d, + 0xd9, 0x4c, 0x63, 0x10, 0x47, 0x3e, 0x93, 0xc7, 0xa1, 0x0c, 0xa9, 0x2f, + 0x34, 0xe3, 0xf5, 0xfd, 0x69, 0x09, 0xe7, 0xd1, 0x0c, 0xf5, 0x51, 0xeb, + 0x18, 0x0a, 0xe4, 0xcc, +}; +static const unsigned char kat3963_addinpr2[] = {0}; +static const unsigned char kat3963_retbits[] = { + 0x59, 0xe0, 0x56, 0xd6, 0xe0, 0xdd, 0xaa, 0xf5, 0xcf, 0x83, 0xc6, 0x33, + 0x98, 0xe1, 0x44, 0xd1, 0x7d, 0xbe, 0x45, 0x59, 0x46, 0x72, 0x23, 0x3a, + 0x1c, 0x16, 0x11, 0xf0, 0x3d, 0x54, 0xfc, 0x1b, 0x63, 0x61, 0x14, 0x41, + 0x3d, 0x61, 0xe1, 0x50, 0x89, 0x80, 0x98, 0x9e, 0x73, 0x9a, 0x5b, 0x6d, + 0x0f, 0xbc, 0x8f, 0x66, 0x77, 0x64, 0x5f, 0xb6, 0xb2, 0x0c, 0x46, 0xa7, + 0xfe, 0xd8, 0xca, 0x9a, +}; +static const struct drbg_kat_pr_true kat3963_t = { + 2, kat3963_entropyin, kat3963_nonce, kat3963_persstr, + kat3963_entropyinpr1, kat3963_addinpr1, kat3963_entropyinpr2, + kat3963_addinpr2, kat3963_retbits +}; +static const struct drbg_kat kat3963 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3963_t +}; + +static const unsigned char kat3964_entropyin[] = { + 0x7e, 0x48, 0x91, 0x0c, 0xf6, 0xaa, 0xcc, 0x1e, 0x27, 0x22, 0xa3, 0x0b, + 0x05, 0x11, 0x19, 0x45, 0xd2, 0x54, 0xec, 0x02, 0x94, 0x39, 0xa7, 0xfe, + 0xd4, 0xd4, 0x80, 0x2e, 0x1d, 0x5b, 0x80, 0x99, 0x2e, 0xd7, 0x77, 0x93, + 0x99, 0x42, 0xeb, 0x39, +}; +static const unsigned char kat3964_nonce[] = {0}; +static const unsigned char kat3964_persstr[] = {0}; +static const unsigned char kat3964_entropyinpr1[] = { + 0x69, 0x3f, 0xd9, 0xed, 0x85, 0xe7, 0x8a, 0x76, 0xb5, 0xb5, 0xd5, 0xf4, + 0xa6, 0xfe, 0xbb, 0x9c, 0x36, 0xcb, 0xe1, 0xb9, 0x73, 0xb5, 0xfc, 0x16, + 0x74, 0xd5, 0x43, 0xac, 0x3f, 0x18, 0x2b, 0x8a, 0xf1, 0x7e, 0xf3, 0xac, + 0x50, 0xe6, 0x1b, 0x26, +}; +static const unsigned char kat3964_addinpr1[] = {0}; +static const unsigned char kat3964_entropyinpr2[] = { + 0xae, 0xf7, 0xe1, 0x76, 0xc7, 0xf5, 0xea, 0xb4, 0x34, 0xbf, 0x46, 0x1d, + 0x08, 0x20, 0x4f, 0x03, 0xee, 0xd3, 0x95, 0xdd, 0xe9, 0xba, 0xec, 0x6a, + 0xa1, 0x06, 0xb0, 0x3e, 0xd9, 0xa5, 0x70, 0x50, 0x43, 0x85, 0x60, 0x52, + 0xf3, 0x37, 0x3e, 0x22, +}; +static const unsigned char kat3964_addinpr2[] = {0}; +static const unsigned char kat3964_retbits[] = { + 0xb0, 0xcb, 0x41, 0x35, 0x3a, 0xdb, 0xfa, 0x34, 0x6f, 0xf5, 0x7b, 0x22, + 0xf6, 0xab, 0x30, 0xbf, 0x94, 0xce, 0x79, 0xf5, 0x3b, 0x00, 0x19, 0x0c, + 0x57, 0x9d, 0x5f, 0xfe, 0x6f, 0xcf, 0x6b, 0x0d, 0x0c, 0x35, 0xf3, 0xf6, + 0xbc, 0xa1, 0x5a, 0xc7, 0xa5, 0xb5, 0x30, 0x02, 0x34, 0xbd, 0xda, 0x01, + 0x8e, 0x03, 0xa4, 0x53, 0x4e, 0x0c, 0xfd, 0x89, 0x5e, 0x57, 0xc6, 0xbc, + 0x97, 0xb1, 0xdf, 0xc7, +}; +static const struct drbg_kat_pr_true kat3964_t = { + 3, kat3964_entropyin, kat3964_nonce, kat3964_persstr, + kat3964_entropyinpr1, kat3964_addinpr1, kat3964_entropyinpr2, + kat3964_addinpr2, kat3964_retbits +}; +static const struct drbg_kat kat3964 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3964_t +}; + +static const unsigned char kat3965_entropyin[] = { + 0xae, 0x05, 0x46, 0x14, 0xeb, 0xbf, 0x3e, 0xa5, 0x7a, 0x2a, 0xf7, 0xb3, + 0x94, 0x68, 0x0b, 0x86, 0xe9, 0xf3, 0x0e, 0xeb, 0x74, 0x4d, 0xc8, 0x1a, + 0x71, 0xa6, 0x59, 0xae, 0x81, 0xe9, 0x71, 0xb8, 0x91, 0x70, 0x49, 0x82, + 0xc7, 0x03, 0x3b, 0x48, +}; +static const unsigned char kat3965_nonce[] = {0}; +static const unsigned char kat3965_persstr[] = {0}; +static const unsigned char kat3965_entropyinpr1[] = { + 0x7f, 0x0e, 0xbb, 0x7e, 0x35, 0xb6, 0x63, 0xe1, 0x55, 0xa0, 0x9c, 0xa1, + 0x37, 0x09, 0x74, 0x1c, 0x35, 0x4f, 0xaf, 0xe3, 0x61, 0xd1, 0x19, 0xba, + 0x4c, 0xc9, 0xd3, 0x10, 0x9e, 0x14, 0x88, 0xbc, 0x4d, 0xb8, 0x26, 0x28, + 0x60, 0xe7, 0x81, 0x55, +}; +static const unsigned char kat3965_addinpr1[] = {0}; +static const unsigned char kat3965_entropyinpr2[] = { + 0x5b, 0xd8, 0x99, 0x39, 0x5c, 0x99, 0xff, 0xf6, 0xd8, 0x6c, 0x8e, 0x25, + 0x4a, 0x07, 0xa0, 0x43, 0x0d, 0x0e, 0xaa, 0xf4, 0xc9, 0x6c, 0xc9, 0x06, + 0x0e, 0x87, 0x33, 0xe2, 0x7e, 0xa5, 0x47, 0x2c, 0xb6, 0x4e, 0xb2, 0x49, + 0x92, 0xf3, 0x5d, 0xef, +}; +static const unsigned char kat3965_addinpr2[] = {0}; +static const unsigned char kat3965_retbits[] = { + 0xec, 0x83, 0x9c, 0xfc, 0xe9, 0xfc, 0x17, 0x7b, 0xa4, 0x9e, 0x2a, 0xc8, + 0xb3, 0x5f, 0x4c, 0x52, 0xc6, 0xac, 0xd7, 0x09, 0x12, 0x98, 0x13, 0x28, + 0x01, 0xb1, 0x33, 0xf1, 0x3b, 0x05, 0x22, 0x9c, 0x71, 0xf0, 0x25, 0x87, + 0x7e, 0xb1, 0xcd, 0x90, 0x1b, 0x65, 0xec, 0xd7, 0xc5, 0x0f, 0xe7, 0x38, + 0x27, 0xf2, 0x71, 0x76, 0x9c, 0x26, 0x32, 0x12, 0x31, 0x55, 0x24, 0x43, + 0x58, 0x58, 0x02, 0x8e, +}; +static const struct drbg_kat_pr_true kat3965_t = { + 4, kat3965_entropyin, kat3965_nonce, kat3965_persstr, + kat3965_entropyinpr1, kat3965_addinpr1, kat3965_entropyinpr2, + kat3965_addinpr2, kat3965_retbits +}; +static const struct drbg_kat kat3965 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3965_t +}; + +static const unsigned char kat3966_entropyin[] = { + 0xcb, 0xd7, 0x69, 0xaa, 0xb0, 0x20, 0x0c, 0xc4, 0xa9, 0x0b, 0xe6, 0x2d, + 0x67, 0x69, 0x3e, 0x46, 0x82, 0x91, 0x2f, 0x6a, 0xad, 0x5a, 0x22, 0x31, + 0x01, 0xaf, 0x22, 0x70, 0x5c, 0x03, 0xc1, 0x63, 0x60, 0x9b, 0xdc, 0xb4, + 0x8f, 0x47, 0xbb, 0x9f, +}; +static const unsigned char kat3966_nonce[] = {0}; +static const unsigned char kat3966_persstr[] = {0}; +static const unsigned char kat3966_entropyinpr1[] = { + 0x26, 0xe6, 0x81, 0x81, 0x77, 0xe1, 0xc3, 0x28, 0x85, 0xa4, 0x2b, 0x45, + 0xab, 0x65, 0xfd, 0x33, 0x6e, 0x6e, 0x0c, 0xb4, 0x78, 0xcb, 0xc5, 0xea, + 0x52, 0xd1, 0xbf, 0xf0, 0x36, 0x71, 0x62, 0xd1, 0x29, 0xf6, 0xa3, 0xb1, + 0x40, 0xd9, 0xff, 0xf5, +}; +static const unsigned char kat3966_addinpr1[] = {0}; +static const unsigned char kat3966_entropyinpr2[] = { + 0x47, 0xe2, 0x70, 0xa8, 0x86, 0xe3, 0x11, 0x7a, 0xab, 0x48, 0xe9, 0xb2, + 0x97, 0x7f, 0xc6, 0x56, 0x7d, 0xdd, 0x22, 0x7c, 0xa0, 0xef, 0x59, 0xac, + 0xd9, 0xc4, 0x79, 0x25, 0xdd, 0xe5, 0xcc, 0x44, 0x62, 0x92, 0x74, 0x12, + 0x2f, 0x6f, 0x76, 0x2b, +}; +static const unsigned char kat3966_addinpr2[] = {0}; +static const unsigned char kat3966_retbits[] = { + 0x83, 0x86, 0x35, 0x45, 0x44, 0xfa, 0xa5, 0x01, 0x13, 0xeb, 0xd4, 0x24, + 0x56, 0x81, 0xbc, 0x12, 0xd0, 0x03, 0x12, 0x79, 0x46, 0x96, 0xde, 0x7c, + 0x9a, 0x5c, 0xa4, 0x3c, 0x9b, 0x96, 0x94, 0x7b, 0x1c, 0xaa, 0x1e, 0xe0, + 0x38, 0x45, 0x6b, 0x0d, 0xf4, 0xf7, 0x14, 0x37, 0xae, 0x66, 0xe9, 0x84, + 0x92, 0xca, 0x49, 0xfb, 0x8e, 0x0b, 0xef, 0xb4, 0x7e, 0x11, 0xb0, 0x46, + 0x01, 0x68, 0x86, 0xed, +}; +static const struct drbg_kat_pr_true kat3966_t = { + 5, kat3966_entropyin, kat3966_nonce, kat3966_persstr, + kat3966_entropyinpr1, kat3966_addinpr1, kat3966_entropyinpr2, + kat3966_addinpr2, kat3966_retbits +}; +static const struct drbg_kat kat3966 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3966_t +}; + +static const unsigned char kat3967_entropyin[] = { + 0xcb, 0xc8, 0x24, 0x7b, 0x4f, 0x4c, 0xb3, 0x10, 0x0d, 0x6a, 0xf8, 0xdd, + 0x94, 0x03, 0x00, 0x0f, 0xe0, 0xda, 0x4e, 0x0f, 0x9c, 0xb2, 0x76, 0x53, + 0x00, 0xa0, 0x8e, 0x09, 0x61, 0xe0, 0x44, 0xae, 0x1a, 0xf2, 0xb1, 0x74, + 0x9a, 0xbf, 0x3e, 0xcf, +}; +static const unsigned char kat3967_nonce[] = {0}; +static const unsigned char kat3967_persstr[] = {0}; +static const unsigned char kat3967_entropyinpr1[] = { + 0x30, 0x74, 0xb9, 0xa5, 0x5a, 0xe8, 0xea, 0x7d, 0xd0, 0xf2, 0x65, 0x82, + 0xf1, 0xe4, 0x46, 0x66, 0xed, 0xbb, 0x72, 0xcd, 0xa0, 0x68, 0xbc, 0x99, + 0xc4, 0x78, 0x92, 0x14, 0x1e, 0xf5, 0x50, 0x9d, 0xcd, 0x72, 0xd5, 0x1a, + 0x3b, 0x39, 0x4a, 0x63, +}; +static const unsigned char kat3967_addinpr1[] = {0}; +static const unsigned char kat3967_entropyinpr2[] = { + 0x71, 0x0a, 0x18, 0x0c, 0x48, 0x4b, 0x8e, 0x9f, 0x8f, 0xa1, 0xb0, 0x6c, + 0x04, 0xef, 0xd0, 0x92, 0x75, 0x69, 0xe3, 0x47, 0x39, 0xc8, 0xca, 0x30, + 0xeb, 0xe1, 0x0f, 0xc4, 0x4b, 0x2e, 0xd9, 0x84, 0xf2, 0x93, 0x3e, 0x71, + 0x24, 0xc2, 0x1f, 0xe9, +}; +static const unsigned char kat3967_addinpr2[] = {0}; +static const unsigned char kat3967_retbits[] = { + 0x66, 0x5a, 0x66, 0x4e, 0xb1, 0x47, 0x7b, 0x25, 0x27, 0x32, 0xb2, 0x69, + 0x25, 0xb0, 0x92, 0xb2, 0x9a, 0x14, 0xcc, 0xb0, 0xe6, 0x49, 0x79, 0x5d, + 0xba, 0x0d, 0x8f, 0xef, 0x17, 0x7b, 0x87, 0xed, 0xed, 0x48, 0xdc, 0x99, + 0xa7, 0x87, 0x0d, 0xc6, 0x5b, 0x5b, 0x5d, 0x47, 0xb8, 0x78, 0x5a, 0xbe, + 0x6a, 0x08, 0x5e, 0x3e, 0xe4, 0xb4, 0x89, 0x2f, 0xc6, 0x34, 0xc5, 0x89, + 0x38, 0xf7, 0x75, 0xea, +}; +static const struct drbg_kat_pr_true kat3967_t = { + 6, kat3967_entropyin, kat3967_nonce, kat3967_persstr, + kat3967_entropyinpr1, kat3967_addinpr1, kat3967_entropyinpr2, + kat3967_addinpr2, kat3967_retbits +}; +static const struct drbg_kat kat3967 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3967_t +}; + +static const unsigned char kat3968_entropyin[] = { + 0xd9, 0xbb, 0xe8, 0x22, 0x87, 0x8a, 0x71, 0x9c, 0x41, 0x5b, 0xb6, 0x39, + 0xc5, 0xb6, 0x76, 0xa2, 0xf3, 0x74, 0xab, 0xe2, 0x4e, 0x9d, 0x6e, 0x68, + 0xd5, 0xd2, 0x67, 0xeb, 0xe3, 0x5b, 0x86, 0xc2, 0xcf, 0x6f, 0x30, 0x1a, + 0x1a, 0x7b, 0xe0, 0xa0, +}; +static const unsigned char kat3968_nonce[] = {0}; +static const unsigned char kat3968_persstr[] = {0}; +static const unsigned char kat3968_entropyinpr1[] = { + 0xba, 0x95, 0xe1, 0x62, 0x78, 0x07, 0x89, 0x67, 0x6a, 0x7c, 0x2b, 0x37, + 0x86, 0x5b, 0xe5, 0x31, 0xed, 0xfd, 0x8f, 0x22, 0x07, 0xf8, 0x7f, 0x72, + 0xa3, 0x1a, 0xbb, 0x1f, 0xe8, 0x18, 0x17, 0x01, 0x43, 0xbf, 0xd9, 0xee, + 0x0f, 0xea, 0x29, 0x24, +}; +static const unsigned char kat3968_addinpr1[] = {0}; +static const unsigned char kat3968_entropyinpr2[] = { + 0xb3, 0x2a, 0x0e, 0xf7, 0x97, 0x18, 0x46, 0x0e, 0x8e, 0x3e, 0x6c, 0xa3, + 0xae, 0x24, 0x1c, 0x02, 0x2e, 0x89, 0x39, 0xa7, 0xdd, 0xb1, 0x1b, 0xa3, + 0x88, 0x05, 0x7d, 0x32, 0xad, 0xa1, 0x04, 0xcb, 0x72, 0x5d, 0xa5, 0x43, + 0x24, 0xd9, 0x82, 0xda, +}; +static const unsigned char kat3968_addinpr2[] = {0}; +static const unsigned char kat3968_retbits[] = { + 0xdc, 0xa0, 0xc2, 0xc2, 0x76, 0x46, 0xaf, 0xa2, 0xeb, 0x6e, 0x68, 0xce, + 0x14, 0xae, 0x0b, 0x23, 0x83, 0x73, 0x5e, 0x72, 0x85, 0x13, 0xe9, 0x4c, + 0x03, 0xfb, 0x2f, 0xfc, 0xd8, 0xe3, 0xc4, 0xeb, 0xc7, 0x5b, 0x58, 0xb5, + 0x4a, 0x35, 0x4b, 0x0b, 0x38, 0xb8, 0x4e, 0x35, 0x2a, 0x16, 0x53, 0x56, + 0x18, 0x7c, 0x44, 0x73, 0xd3, 0xd2, 0xfa, 0xa4, 0x60, 0x07, 0x2f, 0x06, + 0xec, 0x1e, 0x47, 0xdd, +}; +static const struct drbg_kat_pr_true kat3968_t = { + 7, kat3968_entropyin, kat3968_nonce, kat3968_persstr, + kat3968_entropyinpr1, kat3968_addinpr1, kat3968_entropyinpr2, + kat3968_addinpr2, kat3968_retbits +}; +static const struct drbg_kat kat3968 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3968_t +}; + +static const unsigned char kat3969_entropyin[] = { + 0xf4, 0xbf, 0xd2, 0x1d, 0x23, 0x83, 0xad, 0x6d, 0x0b, 0xe2, 0x04, 0x63, + 0x3b, 0x5e, 0x91, 0x60, 0xa5, 0xc9, 0x97, 0x4b, 0xd2, 0xc8, 0x9b, 0x2d, + 0x1e, 0x52, 0x5b, 0x42, 0xe6, 0xb6, 0x8f, 0x10, 0x2e, 0x0d, 0xea, 0x49, + 0x1c, 0xff, 0xb1, 0x41, +}; +static const unsigned char kat3969_nonce[] = {0}; +static const unsigned char kat3969_persstr[] = {0}; +static const unsigned char kat3969_entropyinpr1[] = { + 0x6b, 0x9b, 0x57, 0xe0, 0xf8, 0xa2, 0xdb, 0x3b, 0xe4, 0xf5, 0x4d, 0x48, + 0x6c, 0x57, 0x06, 0x24, 0xcd, 0xf0, 0x2b, 0xc4, 0xec, 0x25, 0x83, 0x5c, + 0x90, 0xe9, 0xd0, 0xff, 0xc7, 0xa1, 0x18, 0xba, 0x02, 0x5c, 0xd2, 0x89, + 0x6a, 0xaa, 0x2e, 0x34, +}; +static const unsigned char kat3969_addinpr1[] = {0}; +static const unsigned char kat3969_entropyinpr2[] = { + 0xde, 0xf2, 0x78, 0x10, 0x9f, 0xba, 0x66, 0x53, 0x65, 0x52, 0x93, 0x6d, + 0xae, 0x8e, 0x55, 0xfd, 0xf0, 0x81, 0xfb, 0xe8, 0xd2, 0x7f, 0x99, 0x79, + 0x07, 0x40, 0x4f, 0x5e, 0x0e, 0xa5, 0x04, 0x6c, 0x04, 0x19, 0xd3, 0x6e, + 0x70, 0x65, 0xba, 0x54, +}; +static const unsigned char kat3969_addinpr2[] = {0}; +static const unsigned char kat3969_retbits[] = { + 0x8f, 0x5e, 0x0e, 0xb4, 0x74, 0x28, 0x15, 0x41, 0x26, 0x19, 0xfb, 0x02, + 0x58, 0xd6, 0x65, 0xd1, 0x0c, 0x14, 0xf3, 0x6d, 0x15, 0x16, 0x0f, 0x74, + 0x3e, 0x7c, 0x5f, 0xac, 0x5b, 0x39, 0x21, 0x0c, 0xa4, 0x2a, 0x87, 0xcc, + 0xc7, 0x04, 0x9e, 0x47, 0x70, 0xd8, 0x41, 0x8b, 0x36, 0xcc, 0x7e, 0xb5, + 0x66, 0x82, 0xa3, 0x17, 0x69, 0x0b, 0xdc, 0x93, 0x1f, 0x51, 0x9a, 0x50, + 0x15, 0x33, 0x24, 0x37, +}; +static const struct drbg_kat_pr_true kat3969_t = { + 8, kat3969_entropyin, kat3969_nonce, kat3969_persstr, + kat3969_entropyinpr1, kat3969_addinpr1, kat3969_entropyinpr2, + kat3969_addinpr2, kat3969_retbits +}; +static const struct drbg_kat kat3969 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3969_t +}; + +static const unsigned char kat3970_entropyin[] = { + 0x6b, 0x4f, 0x09, 0x09, 0x83, 0xf2, 0x80, 0x22, 0x79, 0x49, 0xd4, 0x2f, + 0xb6, 0xc1, 0x0f, 0x3e, 0xb4, 0xee, 0xf3, 0x49, 0xe6, 0x5e, 0x35, 0x42, + 0xcd, 0x6b, 0x60, 0x4a, 0x7b, 0x8d, 0xe1, 0x6d, 0x88, 0xdc, 0x0c, 0x2a, + 0x66, 0xfe, 0xad, 0xde, +}; +static const unsigned char kat3970_nonce[] = {0}; +static const unsigned char kat3970_persstr[] = {0}; +static const unsigned char kat3970_entropyinpr1[] = { + 0x6f, 0xeb, 0xe6, 0xc3, 0x4b, 0x50, 0xaf, 0xa6, 0x4d, 0x02, 0xc0, 0x3e, + 0x19, 0xb1, 0xba, 0x2c, 0x1b, 0x4e, 0xa2, 0x5f, 0x50, 0x9a, 0x0c, 0xe3, + 0x9f, 0x9f, 0xc2, 0x92, 0x9f, 0x22, 0x27, 0x97, 0x14, 0x1a, 0xbf, 0x1b, + 0xb7, 0x3e, 0x20, 0x8b, +}; +static const unsigned char kat3970_addinpr1[] = {0}; +static const unsigned char kat3970_entropyinpr2[] = { + 0x8f, 0x05, 0x6d, 0x5d, 0x1b, 0x18, 0xad, 0x58, 0xb4, 0x08, 0x51, 0x73, + 0x15, 0xff, 0x71, 0x7b, 0xd8, 0xe3, 0x39, 0xbc, 0x07, 0x85, 0x65, 0x03, + 0x9e, 0x58, 0x0d, 0x75, 0xc7, 0x5a, 0x94, 0x1c, 0x45, 0xdb, 0x4d, 0x51, + 0x7d, 0x44, 0xa9, 0x70, +}; +static const unsigned char kat3970_addinpr2[] = {0}; +static const unsigned char kat3970_retbits[] = { + 0x2d, 0x92, 0xbd, 0xdd, 0xb6, 0x28, 0x64, 0x46, 0xe3, 0x0b, 0xe3, 0xfb, + 0xd8, 0xd6, 0xff, 0x01, 0x86, 0x7c, 0x79, 0x19, 0x42, 0x96, 0x0e, 0x5a, + 0xf0, 0xac, 0x18, 0x75, 0xb2, 0xcd, 0xab, 0xc9, 0x4b, 0xe0, 0xba, 0x0c, + 0x22, 0x9e, 0xdd, 0xb2, 0x61, 0xc2, 0xa7, 0xba, 0xe7, 0x07, 0xe7, 0x5f, + 0xa1, 0x82, 0x9f, 0x18, 0x06, 0xcf, 0xd9, 0x50, 0x45, 0xb9, 0x5c, 0x88, + 0xd8, 0x9e, 0x2a, 0x02, +}; +static const struct drbg_kat_pr_true kat3970_t = { + 9, kat3970_entropyin, kat3970_nonce, kat3970_persstr, + kat3970_entropyinpr1, kat3970_addinpr1, kat3970_entropyinpr2, + kat3970_addinpr2, kat3970_retbits +}; +static const struct drbg_kat kat3970 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3970_t +}; + +static const unsigned char kat3971_entropyin[] = { + 0x89, 0xf5, 0xc7, 0xcf, 0xe6, 0xd5, 0xb1, 0xc3, 0xd8, 0xe8, 0x1e, 0xe2, + 0x9b, 0xe1, 0xcc, 0x6e, 0x24, 0x57, 0xe5, 0xa1, 0xb1, 0x73, 0xf9, 0xe0, + 0xf8, 0x17, 0xb4, 0xcc, 0xd7, 0x53, 0xc0, 0xee, 0xc9, 0x18, 0x7d, 0x0b, + 0x9c, 0xd4, 0x32, 0xdb, +}; +static const unsigned char kat3971_nonce[] = {0}; +static const unsigned char kat3971_persstr[] = {0}; +static const unsigned char kat3971_entropyinpr1[] = { + 0x28, 0x40, 0xdc, 0xc3, 0x26, 0x76, 0xa8, 0x79, 0xd5, 0xb4, 0x9c, 0x9a, + 0x80, 0x44, 0x25, 0x6f, 0xb5, 0xca, 0x0a, 0x38, 0xbb, 0xa3, 0x3e, 0xad, + 0x67, 0x2e, 0xb8, 0x4c, 0x3d, 0x4a, 0xfa, 0xc1, 0xa6, 0x5f, 0x62, 0xfc, + 0xb4, 0x4b, 0x61, 0x1f, +}; +static const unsigned char kat3971_addinpr1[] = {0}; +static const unsigned char kat3971_entropyinpr2[] = { + 0x32, 0x38, 0x9e, 0x1a, 0xda, 0x55, 0x2a, 0x38, 0xff, 0x9c, 0x89, 0xe4, + 0xfa, 0x8e, 0x35, 0x4b, 0xc4, 0x28, 0xe7, 0x76, 0xae, 0x96, 0x05, 0x4e, + 0xb0, 0x9e, 0x1f, 0x5a, 0xc7, 0xc2, 0x5f, 0x80, 0xbf, 0x10, 0x27, 0xb3, + 0xea, 0xf5, 0xd0, 0x91, +}; +static const unsigned char kat3971_addinpr2[] = {0}; +static const unsigned char kat3971_retbits[] = { + 0x9f, 0xe4, 0x10, 0xce, 0xfe, 0x2a, 0x32, 0x9d, 0x37, 0x9a, 0xe6, 0xe7, + 0xa6, 0xd5, 0xe0, 0x68, 0x05, 0x3b, 0x97, 0x92, 0x56, 0xe9, 0x48, 0x7f, + 0x01, 0x60, 0xfc, 0xeb, 0x22, 0xe3, 0x57, 0x0e, 0xff, 0x97, 0x7c, 0x2a, + 0x32, 0xbd, 0xa4, 0x14, 0x88, 0xd0, 0x75, 0xf5, 0xf7, 0x4c, 0x6b, 0xfe, + 0xf8, 0x07, 0xbc, 0x4f, 0x7b, 0xce, 0xb8, 0xdd, 0xcc, 0x07, 0x2e, 0xd4, + 0xf1, 0x9a, 0x28, 0x01, +}; +static const struct drbg_kat_pr_true kat3971_t = { + 10, kat3971_entropyin, kat3971_nonce, kat3971_persstr, + kat3971_entropyinpr1, kat3971_addinpr1, kat3971_entropyinpr2, + kat3971_addinpr2, kat3971_retbits +}; +static const struct drbg_kat kat3971 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3971_t +}; + +static const unsigned char kat3972_entropyin[] = { + 0xad, 0x2f, 0x0c, 0x1d, 0x45, 0x91, 0x83, 0x5d, 0xa1, 0x68, 0x8f, 0x3a, + 0x03, 0xf5, 0x83, 0x4b, 0xaa, 0xe5, 0xba, 0xb8, 0xac, 0x5c, 0xfd, 0x7d, + 0xcd, 0xc9, 0x63, 0xa0, 0x88, 0x65, 0x84, 0x42, 0x93, 0x3b, 0x87, 0xe5, + 0x8a, 0xfb, 0x10, 0xdb, +}; +static const unsigned char kat3972_nonce[] = {0}; +static const unsigned char kat3972_persstr[] = {0}; +static const unsigned char kat3972_entropyinpr1[] = { + 0x27, 0x68, 0xe5, 0x65, 0x8a, 0x39, 0xc8, 0x77, 0x07, 0xff, 0x47, 0xe2, + 0xc0, 0x69, 0xe5, 0x4b, 0x05, 0x90, 0x88, 0xe9, 0xe7, 0x7b, 0x79, 0xcf, + 0x67, 0xad, 0xe0, 0x96, 0x95, 0x38, 0xc4, 0x2a, 0xc6, 0x36, 0x35, 0x1e, + 0xd9, 0x78, 0x82, 0xa1, +}; +static const unsigned char kat3972_addinpr1[] = {0}; +static const unsigned char kat3972_entropyinpr2[] = { + 0x7d, 0x88, 0x2b, 0xf8, 0x9a, 0xf1, 0x75, 0xe3, 0x05, 0xdd, 0x28, 0x01, + 0xf5, 0x30, 0xfe, 0xc6, 0xda, 0x80, 0x2d, 0x1c, 0x4e, 0xf5, 0xf7, 0x04, + 0xbd, 0x17, 0x23, 0x5a, 0x0d, 0xe5, 0xba, 0x33, 0x91, 0x35, 0x49, 0x68, + 0xb7, 0x42, 0x00, 0x02, +}; +static const unsigned char kat3972_addinpr2[] = {0}; +static const unsigned char kat3972_retbits[] = { + 0x88, 0x30, 0xf1, 0xe8, 0x1e, 0x74, 0xde, 0xde, 0x5b, 0x7a, 0xaa, 0x91, + 0x06, 0x44, 0x58, 0x57, 0x2a, 0xbe, 0xfc, 0xf9, 0x3e, 0xc3, 0xa4, 0xf3, + 0xef, 0xc4, 0xa6, 0xe1, 0x99, 0x25, 0x3a, 0xa7, 0x2c, 0x7c, 0x71, 0xb6, + 0x1b, 0x73, 0xf3, 0x63, 0x85, 0x12, 0x3a, 0x1a, 0xd7, 0x6f, 0xfd, 0xc7, + 0xd0, 0x05, 0x38, 0xbd, 0x2c, 0x42, 0x94, 0xa3, 0x49, 0x1a, 0x1f, 0xb7, + 0x67, 0x8c, 0xf0, 0x5e, +}; +static const struct drbg_kat_pr_true kat3972_t = { + 11, kat3972_entropyin, kat3972_nonce, kat3972_persstr, + kat3972_entropyinpr1, kat3972_addinpr1, kat3972_entropyinpr2, + kat3972_addinpr2, kat3972_retbits +}; +static const struct drbg_kat kat3972 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3972_t +}; + +static const unsigned char kat3973_entropyin[] = { + 0x31, 0x81, 0x94, 0xf9, 0xe8, 0x8c, 0xb9, 0x50, 0x92, 0xf7, 0x33, 0xa2, + 0x0e, 0x41, 0x24, 0xd6, 0x0a, 0x0f, 0xab, 0x1e, 0x57, 0xc9, 0x82, 0x8b, + 0xe1, 0xbe, 0xb7, 0xbe, 0x91, 0x36, 0x27, 0x11, 0xfd, 0x15, 0x6b, 0x8d, + 0xfa, 0x14, 0xe2, 0x6d, +}; +static const unsigned char kat3973_nonce[] = {0}; +static const unsigned char kat3973_persstr[] = {0}; +static const unsigned char kat3973_entropyinpr1[] = { + 0xd8, 0x86, 0x16, 0x4a, 0xc0, 0xd4, 0x56, 0x64, 0x29, 0xe2, 0x79, 0x6f, + 0x3b, 0xce, 0xb1, 0xc4, 0xce, 0x5e, 0x23, 0xe0, 0x41, 0x72, 0xfd, 0x7c, + 0xce, 0x41, 0xf4, 0x69, 0x95, 0xbb, 0x3a, 0x22, 0x79, 0x04, 0x94, 0x39, + 0xb7, 0x23, 0xa1, 0xd6, +}; +static const unsigned char kat3973_addinpr1[] = {0}; +static const unsigned char kat3973_entropyinpr2[] = { + 0xa0, 0x10, 0x76, 0xb5, 0xb7, 0xe9, 0x06, 0x3c, 0x0f, 0x35, 0x1e, 0x3d, + 0xc9, 0x9c, 0x40, 0x00, 0xd2, 0x3a, 0x48, 0xa9, 0x74, 0x67, 0xdd, 0x23, + 0xdb, 0x4f, 0x62, 0x7c, 0x8d, 0xf5, 0x0e, 0x83, 0xc3, 0x68, 0xb8, 0xd8, + 0x7b, 0xf1, 0x62, 0x2e, +}; +static const unsigned char kat3973_addinpr2[] = {0}; +static const unsigned char kat3973_retbits[] = { + 0x8b, 0x51, 0x31, 0x89, 0x93, 0x61, 0x11, 0x04, 0xb2, 0x70, 0xff, 0xf6, + 0x3a, 0x2c, 0xb3, 0x26, 0xcf, 0x44, 0x06, 0x3d, 0xa4, 0x97, 0xf5, 0x8e, + 0xfe, 0xb8, 0xa8, 0xab, 0x11, 0x85, 0x25, 0x42, 0x8a, 0xee, 0x2e, 0x3c, + 0x6c, 0xb8, 0xe8, 0x85, 0x15, 0x5b, 0x1a, 0x6d, 0xa0, 0xfb, 0x54, 0x1b, + 0xa8, 0x0e, 0xca, 0xc7, 0x7c, 0x63, 0x4d, 0x3d, 0x85, 0x92, 0x7e, 0x82, + 0x97, 0x02, 0xa5, 0xa9, +}; +static const struct drbg_kat_pr_true kat3973_t = { + 12, kat3973_entropyin, kat3973_nonce, kat3973_persstr, + kat3973_entropyinpr1, kat3973_addinpr1, kat3973_entropyinpr2, + kat3973_addinpr2, kat3973_retbits +}; +static const struct drbg_kat kat3973 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3973_t +}; + +static const unsigned char kat3974_entropyin[] = { + 0x3f, 0xdd, 0x8e, 0xaa, 0x05, 0x02, 0x0d, 0xe2, 0x40, 0x0a, 0x62, 0xb3, + 0xa1, 0xf6, 0xe7, 0xb6, 0xb1, 0xba, 0x5e, 0x97, 0x4e, 0xaa, 0xc1, 0x17, + 0xd1, 0x98, 0xc6, 0x38, 0x14, 0x55, 0x7e, 0xb5, 0xbd, 0x1b, 0xd4, 0x0e, + 0x51, 0x12, 0xb2, 0xd4, +}; +static const unsigned char kat3974_nonce[] = {0}; +static const unsigned char kat3974_persstr[] = {0}; +static const unsigned char kat3974_entropyinpr1[] = { + 0x8d, 0xe3, 0x38, 0x46, 0x7a, 0x27, 0x09, 0xd9, 0x3b, 0x5c, 0xd4, 0x23, + 0x4e, 0x34, 0xbf, 0x91, 0xac, 0x37, 0xec, 0x43, 0x3a, 0xd1, 0xf4, 0x0f, + 0xf2, 0x89, 0xe6, 0x93, 0xf0, 0xf4, 0xa0, 0x09, 0x83, 0x24, 0x89, 0xa9, + 0x5e, 0x25, 0xe3, 0xe7, +}; +static const unsigned char kat3974_addinpr1[] = {0}; +static const unsigned char kat3974_entropyinpr2[] = { + 0x74, 0xa8, 0x54, 0xec, 0xb8, 0x3d, 0x01, 0x72, 0xf1, 0x93, 0x3d, 0x38, + 0x91, 0x11, 0x1b, 0xaf, 0x62, 0x0f, 0x85, 0xfa, 0xb3, 0x91, 0x33, 0xdf, + 0xfa, 0x52, 0x64, 0xa5, 0x01, 0xf0, 0xb7, 0x30, 0xce, 0xc4, 0x38, 0x1f, + 0x39, 0xb3, 0xc5, 0x96, +}; +static const unsigned char kat3974_addinpr2[] = {0}; +static const unsigned char kat3974_retbits[] = { + 0x0a, 0x18, 0x63, 0x09, 0xf0, 0xf7, 0x09, 0x3c, 0x43, 0xfe, 0x30, 0x9c, + 0x5c, 0x49, 0x2a, 0x9a, 0x35, 0x7e, 0x39, 0xa4, 0x66, 0x34, 0x38, 0xcb, + 0x13, 0x2e, 0x28, 0x69, 0x23, 0x97, 0x36, 0xb1, 0xda, 0xbc, 0xd7, 0xfe, + 0x5c, 0x03, 0xb1, 0x5a, 0x78, 0x05, 0xba, 0xaf, 0x3e, 0x05, 0x8c, 0xcf, + 0x5d, 0xb3, 0x3c, 0x47, 0x95, 0xde, 0x9e, 0xb4, 0xe0, 0x73, 0x1f, 0x50, + 0xb5, 0x6b, 0xaf, 0xe2, +}; +static const struct drbg_kat_pr_true kat3974_t = { + 13, kat3974_entropyin, kat3974_nonce, kat3974_persstr, + kat3974_entropyinpr1, kat3974_addinpr1, kat3974_entropyinpr2, + kat3974_addinpr2, kat3974_retbits +}; +static const struct drbg_kat kat3974 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3974_t +}; + +static const unsigned char kat3975_entropyin[] = { + 0xe8, 0x8c, 0x4a, 0x03, 0xfe, 0x25, 0xb8, 0x7b, 0xb9, 0xe6, 0x2e, 0x56, + 0xbd, 0x93, 0xec, 0x3f, 0x34, 0x7d, 0x03, 0x30, 0x9c, 0xdb, 0xb0, 0x97, + 0x15, 0x85, 0x94, 0xde, 0x77, 0x6c, 0xbc, 0x5a, 0x3d, 0xba, 0x72, 0x13, + 0x3b, 0x17, 0xdf, 0xfe, +}; +static const unsigned char kat3975_nonce[] = {0}; +static const unsigned char kat3975_persstr[] = {0}; +static const unsigned char kat3975_entropyinpr1[] = { + 0xfc, 0xab, 0x20, 0x00, 0xec, 0xec, 0x66, 0xa2, 0x3a, 0xf1, 0x38, 0x1d, + 0x36, 0xe1, 0xdf, 0x97, 0xa4, 0x34, 0x1c, 0x32, 0x9f, 0x37, 0x5b, 0x3d, + 0xb6, 0xd7, 0x7a, 0xed, 0xa7, 0xc8, 0x52, 0x2c, 0x02, 0xb1, 0x4b, 0xbd, + 0x26, 0x05, 0x98, 0x5b, +}; +static const unsigned char kat3975_addinpr1[] = {0}; +static const unsigned char kat3975_entropyinpr2[] = { + 0xd7, 0x50, 0x22, 0x69, 0x2b, 0xbe, 0x5b, 0xee, 0xca, 0x5d, 0x81, 0x94, + 0x24, 0x43, 0xcf, 0x0d, 0xd7, 0x8b, 0x77, 0x0b, 0x75, 0x42, 0xcb, 0x8f, + 0xd1, 0xbe, 0x65, 0xe4, 0x90, 0x88, 0x16, 0xea, 0x43, 0xfa, 0x90, 0x3a, + 0x7a, 0x66, 0xfe, 0x0b, +}; +static const unsigned char kat3975_addinpr2[] = {0}; +static const unsigned char kat3975_retbits[] = { + 0xd5, 0xf9, 0x12, 0x35, 0xa9, 0x0c, 0xaf, 0xc9, 0x6e, 0x39, 0xe2, 0xa1, + 0xe6, 0x36, 0xd9, 0xa2, 0x38, 0x6c, 0x52, 0x14, 0xd8, 0x61, 0x69, 0x41, + 0xbb, 0x9f, 0x4c, 0x2f, 0xd3, 0x75, 0xda, 0x49, 0xd3, 0x3f, 0xab, 0xec, + 0x2f, 0xac, 0xa9, 0x71, 0xd6, 0x52, 0x0b, 0xab, 0x48, 0x2e, 0x33, 0xf6, + 0xf2, 0x75, 0x2b, 0x2d, 0x05, 0x4f, 0x9c, 0x3b, 0xb1, 0xf5, 0x0d, 0x07, + 0x29, 0x78, 0xea, 0x2f, +}; +static const struct drbg_kat_pr_true kat3975_t = { + 14, kat3975_entropyin, kat3975_nonce, kat3975_persstr, + kat3975_entropyinpr1, kat3975_addinpr1, kat3975_entropyinpr2, + kat3975_addinpr2, kat3975_retbits +}; +static const struct drbg_kat kat3975 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat3975_t +}; + +static const unsigned char kat3976_entropyin[] = { + 0xb4, 0xba, 0x94, 0x5a, 0xf9, 0x45, 0x35, 0x89, 0x01, 0xfe, 0x68, 0xb6, + 0xe9, 0x98, 0x86, 0x06, 0x0b, 0x50, 0xf5, 0x30, 0xa2, 0x0d, 0x50, 0xb6, + 0x65, 0xf9, 0x04, 0xdd, 0x1f, 0xb8, 0x71, 0x27, 0x13, 0x5a, 0x2a, 0x4f, + 0xc9, 0xc6, 0x5e, 0xcc, +}; +static const unsigned char kat3976_nonce[] = {0}; +static const unsigned char kat3976_persstr[] = {0}; +static const unsigned char kat3976_entropyinpr1[] = { + 0x70, 0x1e, 0x59, 0x6d, 0x0f, 0x11, 0x56, 0xfa, 0xb3, 0xf6, 0x19, 0x71, + 0x87, 0xa8, 0xe0, 0x3c, 0x9f, 0xcd, 0x6d, 0xfe, 0x7b, 0x14, 0x78, 0x5f, + 0x66, 0x33, 0xab, 0x7e, 0x42, 0x13, 0xfa, 0x65, 0xd5, 0x9d, 0xc3, 0x2d, + 0x8a, 0xd9, 0xf2, 0x93, +}; +static const unsigned char kat3976_addinpr1[] = { + 0x06, 0x86, 0xe9, 0x79, 0x1f, 0x0c, 0x56, 0x79, 0x86, 0x30, 0x9d, 0xa5, + 0x4d, 0x9b, 0x17, 0x81, 0xed, 0xd2, 0x3a, 0x7f, 0x79, 0xd4, 0x34, 0xe2, + 0xbf, 0xb0, 0x2d, 0x5c, 0x3d, 0xef, 0x41, 0x21, 0xf2, 0x7b, 0x77, 0xc5, + 0x97, 0xbc, 0xeb, 0x55, +}; +static const unsigned char kat3976_entropyinpr2[] = { + 0x72, 0x11, 0xc4, 0x84, 0x59, 0x6d, 0x20, 0x4d, 0xd2, 0x5c, 0x93, 0x80, + 0x8e, 0xec, 0xfc, 0x28, 0x26, 0xfd, 0x97, 0x6c, 0x44, 0x86, 0xea, 0x39, + 0x72, 0xfb, 0xea, 0x4e, 0x52, 0xbd, 0xc4, 0xed, 0x4a, 0x03, 0x0b, 0x9e, + 0x54, 0x04, 0x21, 0x99, +}; +static const unsigned char kat3976_addinpr2[] = { + 0x7f, 0xf9, 0x53, 0x2f, 0x18, 0xea, 0xb4, 0x41, 0x8c, 0x17, 0xec, 0x08, + 0x0f, 0xe1, 0xfd, 0x79, 0xef, 0xe9, 0xd0, 0xaf, 0x5e, 0x33, 0x6b, 0x23, + 0xa6, 0xf4, 0xce, 0xac, 0xa7, 0xdf, 0x73, 0xc6, 0x85, 0x3b, 0x94, 0x44, + 0xa6, 0x15, 0x87, 0x06, +}; +static const unsigned char kat3976_retbits[] = { + 0xd8, 0xf0, 0xfa, 0xdf, 0xca, 0x55, 0xce, 0xab, 0x82, 0x6b, 0x4e, 0xef, + 0xad, 0x45, 0x3b, 0x7b, 0x40, 0x5a, 0xc5, 0x6b, 0x66, 0x8f, 0xee, 0x2b, + 0x36, 0x59, 0xa2, 0x6c, 0x7e, 0x6c, 0x22, 0xba, 0x96, 0xb8, 0x0d, 0x45, + 0xc8, 0xbf, 0x0e, 0xec, 0xb3, 0x72, 0x23, 0xa8, 0xb0, 0x56, 0x32, 0xea, + 0xed, 0xba, 0x5e, 0x34, 0xcb, 0x53, 0x25, 0x96, 0x3f, 0xd5, 0xf7, 0x21, + 0xbb, 0x37, 0x2b, 0x2a, +}; +static const struct drbg_kat_pr_true kat3976_t = { + 0, kat3976_entropyin, kat3976_nonce, kat3976_persstr, + kat3976_entropyinpr1, kat3976_addinpr1, kat3976_entropyinpr2, + kat3976_addinpr2, kat3976_retbits +}; +static const struct drbg_kat kat3976 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3976_t +}; + +static const unsigned char kat3977_entropyin[] = { + 0x8b, 0xb9, 0x25, 0xd4, 0x76, 0xba, 0x2f, 0x6d, 0xc0, 0xc4, 0xd0, 0xa6, + 0x9e, 0xab, 0xbc, 0xfb, 0xcb, 0x42, 0xc5, 0xd0, 0x31, 0x02, 0x0e, 0x1f, + 0xac, 0x7d, 0x7e, 0x8e, 0x86, 0xf2, 0x83, 0x21, 0x18, 0x57, 0x5a, 0xd1, + 0x30, 0x31, 0x07, 0x70, +}; +static const unsigned char kat3977_nonce[] = {0}; +static const unsigned char kat3977_persstr[] = {0}; +static const unsigned char kat3977_entropyinpr1[] = { + 0x92, 0xcc, 0x90, 0x2a, 0x73, 0x88, 0x4e, 0x17, 0x71, 0x6f, 0xf7, 0xd2, + 0x46, 0x7b, 0x9a, 0x0e, 0x19, 0x7c, 0xaf, 0x60, 0x93, 0x40, 0x68, 0x5e, + 0xbf, 0xbe, 0x94, 0x9b, 0x27, 0xf0, 0x8d, 0xcd, 0x6d, 0xf8, 0xf1, 0x7c, + 0x6f, 0xd2, 0xd8, 0x4d, +}; +static const unsigned char kat3977_addinpr1[] = { + 0x58, 0xc5, 0x33, 0xa7, 0x52, 0xf3, 0xe6, 0x75, 0x34, 0xe9, 0x57, 0xd4, + 0x93, 0x94, 0x6d, 0x00, 0xfc, 0x82, 0x99, 0xe5, 0x64, 0x62, 0x2e, 0x7c, + 0x52, 0xfb, 0xdf, 0xdc, 0x58, 0x3e, 0xfb, 0x8f, 0x56, 0x44, 0x98, 0x53, + 0xbc, 0x49, 0x3d, 0x72, +}; +static const unsigned char kat3977_entropyinpr2[] = { + 0xb5, 0x37, 0xb0, 0xaf, 0x5f, 0xbb, 0x8b, 0x20, 0x71, 0x71, 0x84, 0x35, + 0x34, 0xd0, 0x1c, 0x4c, 0x71, 0x2f, 0x4d, 0xef, 0x64, 0x8f, 0xad, 0x94, + 0xce, 0xf8, 0x8a, 0x5f, 0xcb, 0xdb, 0x7a, 0xe0, 0x57, 0x7e, 0x59, 0x8c, + 0x20, 0x5a, 0xc6, 0xa4, +}; +static const unsigned char kat3977_addinpr2[] = { + 0xbf, 0x75, 0xf1, 0x16, 0x83, 0x90, 0xa2, 0x1e, 0x36, 0x2c, 0x06, 0xfc, + 0x74, 0xe9, 0x13, 0x3a, 0xda, 0xaa, 0xcc, 0x86, 0xe2, 0x62, 0xc7, 0xbf, + 0xdc, 0x71, 0x9d, 0x4a, 0x53, 0x6c, 0x95, 0xe4, 0x81, 0x01, 0x4f, 0x16, + 0xc8, 0xc4, 0xff, 0x21, +}; +static const unsigned char kat3977_retbits[] = { + 0x1a, 0x97, 0x1d, 0xa8, 0x3e, 0xb2, 0x78, 0x08, 0x2a, 0xbf, 0xb5, 0x5e, + 0x03, 0xba, 0x39, 0x3c, 0x62, 0x3d, 0x14, 0xfa, 0x91, 0xd3, 0xf0, 0xf6, + 0x73, 0x86, 0x3c, 0x5d, 0xb9, 0x77, 0x68, 0xf8, 0x29, 0x8c, 0x7c, 0xaf, + 0xd0, 0xb3, 0xf5, 0xe9, 0xe9, 0xf5, 0x8d, 0x3e, 0x9e, 0x32, 0x96, 0x11, + 0x9f, 0x0b, 0xe5, 0x49, 0x7d, 0x25, 0xc8, 0x53, 0xe0, 0x24, 0xec, 0xc2, + 0x1a, 0x35, 0xc8, 0x4e, +}; +static const struct drbg_kat_pr_true kat3977_t = { + 1, kat3977_entropyin, kat3977_nonce, kat3977_persstr, + kat3977_entropyinpr1, kat3977_addinpr1, kat3977_entropyinpr2, + kat3977_addinpr2, kat3977_retbits +}; +static const struct drbg_kat kat3977 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3977_t +}; + +static const unsigned char kat3978_entropyin[] = { + 0x6f, 0xfc, 0xe5, 0x5b, 0x48, 0xeb, 0x23, 0xea, 0xdf, 0xcd, 0x8d, 0x21, + 0x4c, 0xe6, 0x3e, 0x02, 0xeb, 0x47, 0xe2, 0x63, 0x66, 0x16, 0x13, 0x74, + 0xaa, 0x86, 0x61, 0xb7, 0x8c, 0x72, 0xe6, 0xaf, 0xbb, 0x6f, 0x41, 0x25, + 0xbf, 0x32, 0xc7, 0xea, +}; +static const unsigned char kat3978_nonce[] = {0}; +static const unsigned char kat3978_persstr[] = {0}; +static const unsigned char kat3978_entropyinpr1[] = { + 0x86, 0xfd, 0x25, 0xe0, 0xad, 0x7d, 0x02, 0x33, 0x5d, 0xc1, 0x45, 0x99, + 0x09, 0xc4, 0x98, 0x7c, 0xa1, 0xf5, 0xd9, 0x18, 0xcf, 0xfc, 0x8d, 0xcb, + 0x3e, 0x9a, 0xfc, 0x0e, 0xff, 0xbb, 0x6f, 0x8d, 0x79, 0xfe, 0x6f, 0x85, + 0x21, 0x04, 0xf7, 0x6e, +}; +static const unsigned char kat3978_addinpr1[] = { + 0x45, 0xb6, 0x5a, 0xec, 0xfa, 0x29, 0xff, 0x6a, 0x71, 0xc1, 0xbd, 0x47, + 0xc7, 0xf7, 0xc4, 0x3b, 0x5a, 0x95, 0x9d, 0x0f, 0xaf, 0x1f, 0xb7, 0xd9, + 0xb2, 0x70, 0x28, 0xa9, 0x59, 0x50, 0x9c, 0x32, 0x94, 0xb1, 0x22, 0xa9, + 0xdf, 0xe0, 0x85, 0xb1, +}; +static const unsigned char kat3978_entropyinpr2[] = { + 0xa4, 0xbe, 0x2f, 0xde, 0x59, 0x85, 0x94, 0xf9, 0x07, 0x77, 0xd6, 0x14, + 0xa8, 0x6e, 0x51, 0x48, 0x96, 0x27, 0xd9, 0xf9, 0x9b, 0x53, 0xea, 0x47, + 0xbf, 0xdf, 0xa3, 0xea, 0xe5, 0xc6, 0xf2, 0x88, 0x57, 0x90, 0x51, 0xdd, + 0x66, 0x2b, 0xa7, 0x6a, +}; +static const unsigned char kat3978_addinpr2[] = { + 0x06, 0x40, 0x68, 0xfb, 0x0b, 0x50, 0x19, 0x89, 0x7d, 0x61, 0x44, 0x7a, + 0x33, 0x5b, 0x4c, 0xbc, 0x7d, 0xa0, 0xb4, 0x71, 0x6d, 0xec, 0x1a, 0x7e, + 0xaa, 0xa4, 0x0e, 0xf9, 0x0c, 0x5e, 0xc1, 0x3f, 0xe8, 0xfa, 0x5e, 0x8d, + 0x5d, 0xb6, 0xf5, 0xb6, +}; +static const unsigned char kat3978_retbits[] = { + 0xee, 0x3c, 0x6a, 0x2c, 0xac, 0x78, 0x71, 0x64, 0x0e, 0xf9, 0xa1, 0xcc, + 0xd2, 0x72, 0xc7, 0x45, 0x47, 0xd4, 0xfb, 0xda, 0x01, 0x70, 0x2a, 0x92, + 0x0a, 0xc0, 0x0d, 0x61, 0xbc, 0x50, 0x0d, 0xf1, 0x7b, 0x74, 0xac, 0xb2, + 0xfc, 0xbc, 0xc4, 0x87, 0x87, 0x96, 0x2e, 0x8b, 0xb5, 0xcd, 0x3f, 0x12, + 0xb5, 0xdc, 0x24, 0x0a, 0x26, 0xe1, 0x5b, 0x35, 0x22, 0xac, 0x97, 0x4e, + 0x37, 0x1b, 0x78, 0xfc, +}; +static const struct drbg_kat_pr_true kat3978_t = { + 2, kat3978_entropyin, kat3978_nonce, kat3978_persstr, + kat3978_entropyinpr1, kat3978_addinpr1, kat3978_entropyinpr2, + kat3978_addinpr2, kat3978_retbits +}; +static const struct drbg_kat kat3978 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3978_t +}; + +static const unsigned char kat3979_entropyin[] = { + 0x78, 0x52, 0xff, 0x00, 0x44, 0x04, 0x7d, 0x6c, 0xff, 0x1d, 0x4a, 0xe9, + 0x25, 0x17, 0x20, 0x7d, 0x58, 0x6a, 0x79, 0xd1, 0x50, 0xea, 0xa5, 0x96, + 0x66, 0xd4, 0x9c, 0xd8, 0xdd, 0x18, 0xac, 0x9c, 0x37, 0x8c, 0x93, 0x6e, + 0x1f, 0xcc, 0x46, 0x25, +}; +static const unsigned char kat3979_nonce[] = {0}; +static const unsigned char kat3979_persstr[] = {0}; +static const unsigned char kat3979_entropyinpr1[] = { + 0xd1, 0xc2, 0xc9, 0xcb, 0xbe, 0x7d, 0xac, 0xf7, 0xe9, 0x7a, 0xeb, 0x4b, + 0xbd, 0x25, 0x07, 0xac, 0x4a, 0xab, 0x0d, 0x35, 0x83, 0x8d, 0x71, 0xc0, + 0xd0, 0xa5, 0x74, 0xc1, 0x85, 0x67, 0x46, 0x8f, 0xa1, 0xd7, 0x0c, 0xa7, + 0x27, 0x80, 0xed, 0x5e, +}; +static const unsigned char kat3979_addinpr1[] = { + 0x4e, 0xc1, 0xa4, 0xe1, 0xb6, 0xe2, 0xd1, 0x50, 0x87, 0xe9, 0x84, 0x15, + 0xcb, 0x2a, 0xe5, 0x27, 0xf9, 0x84, 0x57, 0x38, 0x12, 0xe3, 0x26, 0xcf, + 0xc1, 0xdd, 0xaa, 0x04, 0x32, 0x33, 0x58, 0x28, 0x5e, 0x78, 0xe2, 0x29, + 0x36, 0xac, 0xe4, 0x28, +}; +static const unsigned char kat3979_entropyinpr2[] = { + 0x42, 0x9d, 0x39, 0x88, 0x6e, 0xa6, 0x5c, 0x18, 0x34, 0xbc, 0xe4, 0x98, + 0x9c, 0x3b, 0x99, 0x60, 0x76, 0x52, 0x8d, 0xd3, 0x3d, 0x6d, 0x4f, 0x6d, + 0xc2, 0x46, 0xef, 0x74, 0xc3, 0x8c, 0x10, 0x54, 0x8b, 0x70, 0x39, 0xd7, + 0xad, 0x05, 0x02, 0xd0, +}; +static const unsigned char kat3979_addinpr2[] = { + 0x4a, 0xd6, 0x97, 0x11, 0x0f, 0x90, 0x41, 0x28, 0xc2, 0x82, 0x21, 0x5a, + 0x4e, 0xd7, 0xc8, 0x94, 0x32, 0xfc, 0xd4, 0x27, 0xa4, 0xed, 0xa8, 0x80, + 0xb8, 0xe1, 0x68, 0x99, 0xcf, 0xa7, 0x8f, 0xd8, 0x79, 0xda, 0x9f, 0x36, + 0x87, 0xdc, 0x4f, 0xaa, +}; +static const unsigned char kat3979_retbits[] = { + 0xf4, 0xac, 0x0c, 0x09, 0x32, 0x8d, 0x99, 0x0b, 0xe0, 0xbb, 0x01, 0x20, + 0xe9, 0xc4, 0x98, 0x99, 0x96, 0x5e, 0x5c, 0xe8, 0xf0, 0xd9, 0xe6, 0x96, + 0x1f, 0xe2, 0x0c, 0x0b, 0xe5, 0xc8, 0x44, 0xd7, 0x27, 0x9f, 0x81, 0x16, + 0x84, 0x51, 0x47, 0x38, 0xca, 0xa3, 0x7e, 0x2b, 0xe6, 0x61, 0xe3, 0xcb, + 0xdd, 0x71, 0x6b, 0xcb, 0x45, 0xd1, 0xcc, 0xd9, 0x8a, 0xcb, 0x82, 0x71, + 0x37, 0xb9, 0xc3, 0x91, +}; +static const struct drbg_kat_pr_true kat3979_t = { + 3, kat3979_entropyin, kat3979_nonce, kat3979_persstr, + kat3979_entropyinpr1, kat3979_addinpr1, kat3979_entropyinpr2, + kat3979_addinpr2, kat3979_retbits +}; +static const struct drbg_kat kat3979 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3979_t +}; + +static const unsigned char kat3980_entropyin[] = { + 0x5e, 0xdc, 0x9a, 0xa9, 0x9a, 0x5e, 0xce, 0xbf, 0x99, 0x29, 0x48, 0x5c, + 0x00, 0xfe, 0xf8, 0xe6, 0xd6, 0xb1, 0x6d, 0x3e, 0x6e, 0x9b, 0x55, 0x4d, + 0xc6, 0x99, 0x95, 0x22, 0xcc, 0xcd, 0x3f, 0xf1, 0x0f, 0x00, 0x63, 0x3c, + 0xe4, 0x22, 0x34, 0x50, +}; +static const unsigned char kat3980_nonce[] = {0}; +static const unsigned char kat3980_persstr[] = {0}; +static const unsigned char kat3980_entropyinpr1[] = { + 0xab, 0xda, 0x15, 0x8d, 0xb1, 0xc0, 0xce, 0xc5, 0x69, 0x89, 0x87, 0x50, + 0x0d, 0xcd, 0x47, 0xa8, 0xa6, 0x3c, 0xca, 0x78, 0xe2, 0xdc, 0x3b, 0x98, + 0x1a, 0x8e, 0x02, 0x58, 0x34, 0xa9, 0xf6, 0x8c, 0x6d, 0x26, 0x57, 0x37, + 0xf8, 0x2b, 0x31, 0xbd, +}; +static const unsigned char kat3980_addinpr1[] = { + 0x9e, 0xda, 0x84, 0x1f, 0xaa, 0xde, 0xfd, 0x4c, 0x6d, 0xfd, 0xc3, 0xed, + 0x35, 0x6b, 0x8a, 0x62, 0x38, 0xdf, 0x6a, 0xea, 0xec, 0x62, 0x03, 0xa3, + 0x7a, 0xe1, 0xd3, 0xc7, 0xe2, 0x16, 0xbd, 0x7c, 0x75, 0xdb, 0xf6, 0x22, + 0xe2, 0xab, 0xac, 0x5d, +}; +static const unsigned char kat3980_entropyinpr2[] = { + 0x69, 0xc0, 0x1c, 0x34, 0x73, 0xaf, 0xc6, 0xd7, 0x65, 0x30, 0x7d, 0x3b, + 0xa1, 0x34, 0x89, 0x34, 0x24, 0xaa, 0x1b, 0xb4, 0x23, 0xed, 0x54, 0x69, + 0x32, 0xbc, 0xe0, 0xc2, 0x55, 0xaa, 0x86, 0x32, 0x65, 0x76, 0x80, 0xfc, + 0x79, 0x26, 0xa8, 0x6a, +}; +static const unsigned char kat3980_addinpr2[] = { + 0x24, 0x32, 0x10, 0x97, 0x61, 0x3a, 0x7d, 0x1d, 0x88, 0x77, 0xd3, 0x42, + 0xd3, 0xde, 0xb5, 0xeb, 0x07, 0x9c, 0x52, 0xc9, 0x3b, 0xe4, 0xe7, 0xeb, + 0xec, 0x54, 0xfd, 0xcc, 0xad, 0xe4, 0x3c, 0xb1, 0x63, 0x17, 0xc4, 0xca, + 0xbc, 0xda, 0x25, 0x9b, +}; +static const unsigned char kat3980_retbits[] = { + 0x8d, 0x9f, 0x12, 0x07, 0x3d, 0x52, 0x39, 0x61, 0x6c, 0x1d, 0x0e, 0x75, + 0x5d, 0x28, 0x75, 0x1a, 0x1e, 0xdf, 0x71, 0x2e, 0x57, 0x36, 0x39, 0x4a, + 0xc0, 0xd5, 0x2f, 0xe2, 0xbb, 0xce, 0x3c, 0x5d, 0x83, 0x8e, 0xfa, 0xdd, + 0x1f, 0x13, 0xbb, 0xf8, 0x04, 0x0b, 0x57, 0x00, 0xc9, 0x6a, 0x1e, 0x33, + 0x8a, 0xb5, 0x0f, 0x8d, 0xa2, 0xa2, 0xcd, 0x32, 0x2a, 0x69, 0x77, 0xce, + 0x76, 0x80, 0xe7, 0xf3, +}; +static const struct drbg_kat_pr_true kat3980_t = { + 4, kat3980_entropyin, kat3980_nonce, kat3980_persstr, + kat3980_entropyinpr1, kat3980_addinpr1, kat3980_entropyinpr2, + kat3980_addinpr2, kat3980_retbits +}; +static const struct drbg_kat kat3980 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3980_t +}; + +static const unsigned char kat3981_entropyin[] = { + 0xba, 0x91, 0x32, 0x92, 0x24, 0xa6, 0x6f, 0x84, 0x35, 0x41, 0xc7, 0xef, + 0xd1, 0x72, 0x90, 0xe1, 0x4d, 0x12, 0x33, 0xa7, 0x59, 0x54, 0x57, 0x0e, + 0x75, 0xe4, 0xdf, 0x89, 0x8b, 0xa8, 0x0f, 0x25, 0xf7, 0x55, 0x64, 0xdd, + 0x41, 0x70, 0xda, 0x82, +}; +static const unsigned char kat3981_nonce[] = {0}; +static const unsigned char kat3981_persstr[] = {0}; +static const unsigned char kat3981_entropyinpr1[] = { + 0xae, 0x54, 0xf5, 0x94, 0x98, 0x1b, 0x2f, 0x2f, 0x24, 0xfe, 0x2a, 0x6f, + 0xfa, 0x51, 0x33, 0x59, 0xa8, 0xcb, 0x71, 0x88, 0xeb, 0x0d, 0x48, 0x06, + 0xa1, 0x8b, 0x5d, 0x1a, 0x86, 0x22, 0xed, 0x85, 0xfe, 0x00, 0x37, 0x85, + 0xd4, 0x92, 0x5b, 0x82, +}; +static const unsigned char kat3981_addinpr1[] = { + 0xb3, 0xa7, 0x64, 0x03, 0x27, 0xa7, 0xf8, 0x32, 0xf1, 0x7c, 0xbe, 0x94, + 0x4f, 0x6f, 0xd9, 0x00, 0xd9, 0xaf, 0xe4, 0x63, 0x2c, 0xb5, 0x7f, 0x67, + 0x8d, 0x32, 0x6d, 0x76, 0x9d, 0x56, 0xf6, 0x3c, 0x95, 0x41, 0x40, 0xaa, + 0x37, 0xbe, 0x13, 0xdf, +}; +static const unsigned char kat3981_entropyinpr2[] = { + 0x94, 0xec, 0x04, 0xf9, 0x47, 0xba, 0x59, 0xe2, 0x8e, 0x70, 0x13, 0xa1, + 0xc5, 0x98, 0x07, 0xf7, 0x7b, 0xfa, 0xfb, 0xaa, 0x29, 0xb7, 0x5c, 0x88, + 0x8a, 0x69, 0xd8, 0x3e, 0xea, 0xa4, 0x9a, 0x0d, 0xe3, 0x81, 0x8a, 0x39, + 0x62, 0x5a, 0x8f, 0x0e, +}; +static const unsigned char kat3981_addinpr2[] = { + 0x13, 0xe3, 0xeb, 0xc2, 0x87, 0x67, 0x47, 0x76, 0x08, 0x11, 0xc0, 0x4d, + 0xce, 0x24, 0xf2, 0xd2, 0xd9, 0x56, 0x1d, 0x25, 0x95, 0xd6, 0xb6, 0x78, + 0xeb, 0xc6, 0x6f, 0xf0, 0x18, 0x92, 0x0a, 0x59, 0xac, 0xfa, 0x30, 0x6f, + 0x22, 0xa6, 0x96, 0x2d, +}; +static const unsigned char kat3981_retbits[] = { + 0x5b, 0x09, 0x6c, 0xeb, 0x7b, 0x49, 0x67, 0x5f, 0x88, 0x49, 0x6e, 0x0e, + 0x12, 0x18, 0x17, 0x19, 0x25, 0x09, 0x55, 0x71, 0xb9, 0xde, 0x2c, 0xec, + 0xc1, 0x82, 0xf3, 0x47, 0x5b, 0x87, 0x54, 0x83, 0x1e, 0xda, 0x62, 0x5c, + 0x93, 0x2f, 0x85, 0x82, 0xfd, 0x54, 0xa6, 0x34, 0x88, 0x6f, 0x48, 0x07, + 0xba, 0x0b, 0xcf, 0x46, 0x72, 0xfa, 0xdd, 0x7b, 0xd7, 0x80, 0x2c, 0xe3, + 0x00, 0x86, 0x21, 0xe4, +}; +static const struct drbg_kat_pr_true kat3981_t = { + 5, kat3981_entropyin, kat3981_nonce, kat3981_persstr, + kat3981_entropyinpr1, kat3981_addinpr1, kat3981_entropyinpr2, + kat3981_addinpr2, kat3981_retbits +}; +static const struct drbg_kat kat3981 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3981_t +}; + +static const unsigned char kat3982_entropyin[] = { + 0xc9, 0x5b, 0xad, 0x13, 0xc3, 0x1c, 0x9a, 0x5a, 0x7f, 0x3b, 0x16, 0xad, + 0x3e, 0xc6, 0x1a, 0xea, 0x40, 0x0b, 0xf2, 0xa2, 0x2b, 0x77, 0xf6, 0x80, + 0x0a, 0x60, 0x32, 0x47, 0x4d, 0xbe, 0xa2, 0x69, 0xc6, 0xd0, 0xfb, 0x5e, + 0xf7, 0x5e, 0xe7, 0xcd, +}; +static const unsigned char kat3982_nonce[] = {0}; +static const unsigned char kat3982_persstr[] = {0}; +static const unsigned char kat3982_entropyinpr1[] = { + 0x0e, 0x05, 0xf1, 0x50, 0x09, 0xeb, 0xad, 0xb2, 0x3d, 0x24, 0xf4, 0x03, + 0x73, 0x0f, 0x92, 0xd2, 0xd7, 0x2b, 0xd9, 0x9f, 0x30, 0xa3, 0x42, 0x67, + 0x4c, 0x60, 0x1e, 0xcd, 0x59, 0x5c, 0x50, 0x4a, 0x46, 0xe8, 0xa2, 0x73, + 0xad, 0xa1, 0xa7, 0x33, +}; +static const unsigned char kat3982_addinpr1[] = { + 0x02, 0xe7, 0x0f, 0x92, 0xd3, 0x5b, 0x0e, 0x41, 0x82, 0xf7, 0x13, 0xa4, + 0xcb, 0xe0, 0xe1, 0xb4, 0x19, 0x22, 0x53, 0x85, 0x3f, 0x74, 0x49, 0x48, + 0x03, 0xbd, 0x64, 0xad, 0xc0, 0xb5, 0x83, 0x32, 0x8a, 0xb9, 0xac, 0x86, + 0xf1, 0x70, 0x72, 0x34, +}; +static const unsigned char kat3982_entropyinpr2[] = { + 0xac, 0x20, 0xd0, 0x48, 0x96, 0x0f, 0x90, 0x1c, 0x4a, 0x1d, 0xe7, 0x92, + 0x5d, 0xd7, 0x20, 0xfb, 0x00, 0xef, 0xe6, 0xac, 0x66, 0xfd, 0x7d, 0x99, + 0xfa, 0x68, 0xda, 0xcd, 0x35, 0x15, 0x18, 0x49, 0x13, 0xcc, 0xe8, 0x7b, + 0x48, 0x46, 0x8b, 0x22, +}; +static const unsigned char kat3982_addinpr2[] = { + 0x68, 0x4c, 0xf1, 0x30, 0x4c, 0x30, 0x5f, 0xcf, 0xd4, 0x30, 0xff, 0x89, + 0xc7, 0x7a, 0x15, 0xbd, 0xa0, 0xbd, 0xaa, 0x73, 0x06, 0xc4, 0x49, 0x17, + 0x4e, 0x39, 0xb1, 0xa2, 0xd7, 0x3e, 0x4b, 0x3f, 0xc3, 0x49, 0xdf, 0x54, + 0xa0, 0xba, 0xf4, 0x9f, +}; +static const unsigned char kat3982_retbits[] = { + 0xad, 0x58, 0x8b, 0xdf, 0x9d, 0x14, 0x5f, 0x8c, 0x0f, 0x87, 0xd8, 0x49, + 0x05, 0x75, 0x41, 0x4f, 0x23, 0xe1, 0xe9, 0x22, 0x40, 0x58, 0x58, 0xd2, + 0x08, 0x36, 0x7a, 0x55, 0x37, 0x24, 0x91, 0x22, 0xdb, 0xd7, 0xb3, 0xe1, + 0xb6, 0x94, 0xeb, 0x7f, 0x9a, 0x93, 0x4d, 0x18, 0x48, 0x5e, 0x89, 0x61, + 0xa0, 0xaf, 0xce, 0x5f, 0xe9, 0xf3, 0xce, 0x9f, 0x6e, 0x9c, 0x90, 0x14, + 0x06, 0x3e, 0x64, 0x31, +}; +static const struct drbg_kat_pr_true kat3982_t = { + 6, kat3982_entropyin, kat3982_nonce, kat3982_persstr, + kat3982_entropyinpr1, kat3982_addinpr1, kat3982_entropyinpr2, + kat3982_addinpr2, kat3982_retbits +}; +static const struct drbg_kat kat3982 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3982_t +}; + +static const unsigned char kat3983_entropyin[] = { + 0x0c, 0x43, 0x25, 0x7c, 0x21, 0x51, 0x25, 0x3d, 0xd7, 0xff, 0xcc, 0x28, + 0xd9, 0xc9, 0xcf, 0x5c, 0x99, 0x1c, 0xc3, 0x80, 0x57, 0x6a, 0x7f, 0x6f, + 0xc3, 0xe9, 0xf6, 0x2c, 0xfe, 0xb0, 0x7e, 0x8f, 0x0c, 0xf8, 0x7c, 0xf1, + 0x8a, 0x48, 0x08, 0xd2, +}; +static const unsigned char kat3983_nonce[] = {0}; +static const unsigned char kat3983_persstr[] = {0}; +static const unsigned char kat3983_entropyinpr1[] = { + 0xd3, 0x9d, 0xb8, 0xa3, 0x75, 0x2b, 0xb9, 0x0c, 0xeb, 0x8c, 0x8c, 0x92, + 0x0a, 0x30, 0xbc, 0x01, 0x59, 0x71, 0x8d, 0x1f, 0x6b, 0x63, 0x16, 0x65, + 0x25, 0x8e, 0xc4, 0xc8, 0x84, 0x6e, 0x56, 0x3b, 0xa2, 0x43, 0x9c, 0x63, + 0xd0, 0xbd, 0x15, 0xa8, +}; +static const unsigned char kat3983_addinpr1[] = { + 0x2f, 0xd5, 0xea, 0xb4, 0x53, 0x47, 0x07, 0x06, 0xaa, 0x09, 0xc5, 0x73, + 0x8a, 0x61, 0x00, 0x66, 0xb6, 0x9c, 0x69, 0xca, 0xe0, 0x0a, 0x13, 0xb3, + 0x98, 0x51, 0xc2, 0xf1, 0x17, 0xd2, 0xa7, 0xc4, 0x61, 0x59, 0xa2, 0x6a, + 0x3d, 0x4b, 0xcb, 0x23, +}; +static const unsigned char kat3983_entropyinpr2[] = { + 0x17, 0x59, 0x78, 0x6a, 0xac, 0xda, 0x03, 0x62, 0xa2, 0xf8, 0xe3, 0x86, + 0x2e, 0xf3, 0x22, 0x2f, 0x14, 0xde, 0x59, 0x5f, 0x5b, 0x36, 0xcc, 0x94, + 0x3a, 0x16, 0x6b, 0x0d, 0xbd, 0x47, 0xff, 0x67, 0x1e, 0xa3, 0xd1, 0x0b, + 0x8d, 0x4f, 0xc1, 0x9b, +}; +static const unsigned char kat3983_addinpr2[] = { + 0x15, 0xd1, 0x6f, 0xae, 0xe2, 0x3b, 0x91, 0x6d, 0xa6, 0xca, 0x80, 0x7a, + 0xcf, 0xf9, 0x46, 0x3c, 0x42, 0xed, 0x5a, 0x82, 0x34, 0x7c, 0xcf, 0xde, + 0xa0, 0x85, 0x04, 0xd9, 0xcc, 0x90, 0xcb, 0x59, 0x8d, 0x32, 0xe5, 0x7e, + 0xcc, 0xab, 0x1e, 0xef, +}; +static const unsigned char kat3983_retbits[] = { + 0x2f, 0x45, 0x83, 0x92, 0x3a, 0x8c, 0x21, 0x87, 0x2c, 0xf4, 0x27, 0x87, + 0x9f, 0x29, 0x49, 0x85, 0x2f, 0x49, 0x33, 0x60, 0x04, 0xd9, 0x11, 0xa4, + 0x70, 0x96, 0xcb, 0x5f, 0xdb, 0xaa, 0x7a, 0x62, 0x09, 0x67, 0x55, 0x92, + 0x8e, 0xdb, 0xf9, 0x77, 0x76, 0x7b, 0xc3, 0x26, 0x10, 0x3b, 0x40, 0x9e, + 0xda, 0x3b, 0xba, 0xfc, 0x92, 0xf7, 0x6b, 0xa0, 0x80, 0x34, 0x07, 0xc2, + 0x95, 0x3d, 0x2f, 0x22, +}; +static const struct drbg_kat_pr_true kat3983_t = { + 7, kat3983_entropyin, kat3983_nonce, kat3983_persstr, + kat3983_entropyinpr1, kat3983_addinpr1, kat3983_entropyinpr2, + kat3983_addinpr2, kat3983_retbits +}; +static const struct drbg_kat kat3983 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3983_t +}; + +static const unsigned char kat3984_entropyin[] = { + 0x23, 0x3c, 0x68, 0xa3, 0xd9, 0x57, 0x62, 0x41, 0xa1, 0x2c, 0xac, 0x09, + 0x63, 0x0c, 0x04, 0x3d, 0xbb, 0x17, 0x6d, 0x72, 0x65, 0x64, 0xa7, 0x2c, + 0x79, 0x61, 0x38, 0x2a, 0x3d, 0xbb, 0xd9, 0x31, 0xac, 0x3d, 0xf2, 0xcb, + 0xb2, 0x31, 0x88, 0xe3, +}; +static const unsigned char kat3984_nonce[] = {0}; +static const unsigned char kat3984_persstr[] = {0}; +static const unsigned char kat3984_entropyinpr1[] = { + 0xd3, 0x01, 0x7a, 0xc9, 0x01, 0x6a, 0x2c, 0xb3, 0x6f, 0xef, 0x1a, 0x9d, + 0x45, 0x74, 0x58, 0xd4, 0xa3, 0xdf, 0xb8, 0x6c, 0x08, 0x2b, 0x97, 0xc5, + 0x35, 0x7a, 0xbe, 0x44, 0x6d, 0x7c, 0x76, 0xe4, 0x93, 0x2f, 0x78, 0x01, + 0xfa, 0x48, 0x9b, 0x96, +}; +static const unsigned char kat3984_addinpr1[] = { + 0x99, 0xb5, 0x62, 0x33, 0x66, 0xba, 0xc4, 0x6d, 0x04, 0x4f, 0xc3, 0xfd, + 0x03, 0x66, 0x4a, 0xca, 0x96, 0x3a, 0xb7, 0x44, 0x34, 0x9c, 0x67, 0xe6, + 0xae, 0x2a, 0x10, 0x38, 0xc2, 0x01, 0xb6, 0x97, 0x64, 0xd8, 0x3b, 0x0c, + 0xd8, 0xaf, 0x8b, 0x60, +}; +static const unsigned char kat3984_entropyinpr2[] = { + 0x94, 0x25, 0x7d, 0x5e, 0xfb, 0x4c, 0x4e, 0x25, 0xf6, 0xce, 0x4e, 0x35, + 0x92, 0x87, 0xf7, 0xd2, 0xf5, 0x5b, 0x8e, 0x34, 0x7d, 0x89, 0x86, 0x0d, + 0x35, 0x05, 0xb0, 0x1a, 0x16, 0x99, 0x4f, 0x38, 0xec, 0x14, 0x42, 0xff, + 0xfd, 0x84, 0xa6, 0x27, +}; +static const unsigned char kat3984_addinpr2[] = { + 0x18, 0x66, 0x19, 0x68, 0x7c, 0x98, 0xf3, 0x97, 0x6b, 0x21, 0x8e, 0x73, + 0xa2, 0xd5, 0x9f, 0x4f, 0x46, 0x90, 0xcc, 0x3c, 0x4f, 0xfb, 0xa8, 0x5b, + 0x45, 0x76, 0xcc, 0xff, 0x7c, 0x89, 0xe3, 0x84, 0x98, 0x78, 0x22, 0x00, + 0xf7, 0x85, 0xb9, 0x8a, +}; +static const unsigned char kat3984_retbits[] = { + 0x43, 0xfe, 0x07, 0x96, 0x95, 0x19, 0x71, 0x80, 0x09, 0x01, 0xce, 0x7f, + 0x84, 0xbf, 0x37, 0x78, 0x95, 0x74, 0x55, 0xd0, 0x09, 0x47, 0xb2, 0xf2, + 0xa4, 0xaf, 0xc3, 0xeb, 0x27, 0x04, 0xd2, 0x2b, 0xb1, 0x1f, 0x9a, 0x47, + 0xe2, 0xb9, 0x2c, 0xb6, 0x82, 0xc2, 0x40, 0x8e, 0xf0, 0x84, 0xf0, 0x59, + 0x26, 0xbc, 0x35, 0xbd, 0x8a, 0x37, 0xbf, 0x86, 0xc3, 0x1d, 0xfe, 0x79, + 0x85, 0xd2, 0x41, 0x61, +}; +static const struct drbg_kat_pr_true kat3984_t = { + 8, kat3984_entropyin, kat3984_nonce, kat3984_persstr, + kat3984_entropyinpr1, kat3984_addinpr1, kat3984_entropyinpr2, + kat3984_addinpr2, kat3984_retbits +}; +static const struct drbg_kat kat3984 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3984_t +}; + +static const unsigned char kat3985_entropyin[] = { + 0xcb, 0xa0, 0x9b, 0xe3, 0xe9, 0x2f, 0xe7, 0x16, 0x05, 0x15, 0xed, 0x62, + 0xe3, 0xaa, 0xb1, 0x8b, 0x82, 0x22, 0xfb, 0x4f, 0x17, 0x0c, 0xc3, 0x35, + 0xfb, 0xc6, 0x67, 0x69, 0xcd, 0x3b, 0x46, 0xe2, 0x31, 0x7c, 0xcd, 0x1b, + 0x84, 0xd8, 0x1b, 0x14, +}; +static const unsigned char kat3985_nonce[] = {0}; +static const unsigned char kat3985_persstr[] = {0}; +static const unsigned char kat3985_entropyinpr1[] = { + 0x2c, 0x42, 0x59, 0x12, 0x44, 0x1b, 0xf8, 0x16, 0xba, 0x45, 0xf8, 0x0e, + 0x95, 0x5e, 0x92, 0x9f, 0x5e, 0xb7, 0x9a, 0x0b, 0x64, 0x51, 0xba, 0x16, + 0xba, 0xa2, 0x92, 0x1b, 0xec, 0xa2, 0x79, 0x8a, 0x63, 0x8b, 0x5a, 0x9a, + 0xd6, 0xe8, 0x79, 0x7c, +}; +static const unsigned char kat3985_addinpr1[] = { + 0xa5, 0x10, 0x67, 0xa0, 0x61, 0xb0, 0xcd, 0x18, 0x52, 0xec, 0xd7, 0x82, + 0xa2, 0xf6, 0x27, 0x6e, 0xd8, 0x83, 0x2a, 0xcd, 0xcf, 0xd7, 0xc2, 0xd6, + 0x59, 0x80, 0x6b, 0xa6, 0x10, 0x0c, 0xd5, 0xe0, 0xe0, 0x10, 0xc1, 0x3e, + 0xf0, 0x90, 0x6d, 0xd6, +}; +static const unsigned char kat3985_entropyinpr2[] = { + 0x82, 0x14, 0xac, 0xe3, 0xb2, 0x76, 0xef, 0xa0, 0x83, 0x5d, 0x54, 0xea, + 0x1e, 0xad, 0xb5, 0xb8, 0xa1, 0x3a, 0xca, 0x4d, 0x07, 0x51, 0x86, 0xbc, + 0x58, 0x3a, 0x06, 0xf2, 0x04, 0x0f, 0x88, 0x69, 0x36, 0x5f, 0x58, 0x7d, + 0x65, 0x0a, 0x9e, 0xb2, +}; +static const unsigned char kat3985_addinpr2[] = { + 0x6b, 0x35, 0x26, 0xf0, 0x9f, 0xfc, 0x34, 0x2d, 0x75, 0xd6, 0x48, 0xd5, + 0x1d, 0x2e, 0x3a, 0x6e, 0x7a, 0xa9, 0x4f, 0x17, 0x77, 0x54, 0x49, 0xd2, + 0xea, 0xc0, 0x5a, 0xad, 0xd6, 0x9b, 0x03, 0x15, 0xe8, 0x00, 0xa0, 0x2c, + 0xda, 0xa7, 0x3d, 0xd4, +}; +static const unsigned char kat3985_retbits[] = { + 0x26, 0x7f, 0xe6, 0x01, 0x07, 0x03, 0xd2, 0x41, 0x90, 0xc2, 0x3d, 0x0a, + 0x93, 0xf5, 0xa3, 0xa7, 0x30, 0xf0, 0x33, 0x6d, 0x24, 0x3a, 0x7b, 0x24, + 0x96, 0xf6, 0x0d, 0x53, 0xdd, 0xf1, 0x39, 0x0d, 0x87, 0x06, 0x1e, 0xd8, + 0x99, 0x4e, 0xea, 0xce, 0xa4, 0xea, 0xe8, 0x2c, 0x6f, 0x06, 0x9d, 0xea, + 0xef, 0xa9, 0x6c, 0x9e, 0x68, 0xb9, 0x7f, 0x21, 0x83, 0x44, 0xd2, 0x93, + 0x02, 0x49, 0x17, 0xe5, +}; +static const struct drbg_kat_pr_true kat3985_t = { + 9, kat3985_entropyin, kat3985_nonce, kat3985_persstr, + kat3985_entropyinpr1, kat3985_addinpr1, kat3985_entropyinpr2, + kat3985_addinpr2, kat3985_retbits +}; +static const struct drbg_kat kat3985 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3985_t +}; + +static const unsigned char kat3986_entropyin[] = { + 0xd5, 0xe1, 0x5a, 0xf1, 0x96, 0x19, 0x03, 0x2b, 0x04, 0x71, 0xf3, 0xd5, + 0x6e, 0x12, 0xd6, 0xb4, 0x1e, 0xb1, 0x57, 0x60, 0xf1, 0x83, 0x99, 0x1f, + 0x10, 0xe4, 0x53, 0xa7, 0xe6, 0x7c, 0xe2, 0x93, 0xb8, 0x14, 0x70, 0xac, + 0x85, 0xa5, 0x41, 0xeb, +}; +static const unsigned char kat3986_nonce[] = {0}; +static const unsigned char kat3986_persstr[] = {0}; +static const unsigned char kat3986_entropyinpr1[] = { + 0x9e, 0xc6, 0x95, 0xb0, 0xcb, 0xf7, 0x02, 0x00, 0x54, 0x73, 0xd3, 0x6d, + 0x8b, 0xd7, 0x10, 0x15, 0x5a, 0x23, 0x07, 0x38, 0x2d, 0x42, 0xc1, 0xb4, + 0xd0, 0xad, 0xf7, 0x28, 0x80, 0x13, 0x44, 0x77, 0x9a, 0x15, 0x0f, 0xc1, + 0x37, 0xaa, 0x49, 0x95, +}; +static const unsigned char kat3986_addinpr1[] = { + 0x00, 0x5c, 0x8d, 0xfa, 0x6a, 0xdf, 0x43, 0x7f, 0x17, 0xb8, 0xee, 0xe1, + 0x60, 0x82, 0x8a, 0x72, 0x7c, 0xab, 0x22, 0x9d, 0x54, 0x02, 0x9b, 0x25, + 0x01, 0x18, 0x31, 0x31, 0x43, 0xda, 0x2b, 0xb0, 0x68, 0x97, 0xd3, 0xea, + 0x55, 0xa4, 0xdd, 0x64, +}; +static const unsigned char kat3986_entropyinpr2[] = { + 0xc5, 0xe1, 0x47, 0xf0, 0x7a, 0xc5, 0x00, 0xfd, 0x5f, 0x4d, 0x18, 0x54, + 0x09, 0x5c, 0x63, 0x94, 0x1a, 0x25, 0x88, 0x73, 0x7d, 0x21, 0x51, 0xa4, + 0x01, 0x3f, 0x58, 0xb0, 0xe5, 0xc8, 0x97, 0xa5, 0x6e, 0x19, 0xc3, 0x34, + 0x43, 0x34, 0xd9, 0x9d, +}; +static const unsigned char kat3986_addinpr2[] = { + 0x56, 0x5a, 0xe7, 0x88, 0xd6, 0xe5, 0x4e, 0x9e, 0x01, 0x54, 0x19, 0x27, + 0x29, 0x18, 0x8d, 0x05, 0x95, 0xd4, 0x2b, 0x2d, 0xab, 0x57, 0xcb, 0xaf, + 0xaa, 0xcc, 0x85, 0xbc, 0xdd, 0x1b, 0xef, 0xfa, 0x81, 0xfa, 0x5e, 0xa0, + 0x72, 0xb3, 0x7c, 0xae, +}; +static const unsigned char kat3986_retbits[] = { + 0xf6, 0xce, 0xb9, 0xfd, 0x67, 0xe7, 0x15, 0x1e, 0xb2, 0xc9, 0xe6, 0xac, + 0x40, 0xa5, 0x35, 0x3a, 0x5a, 0x96, 0xb8, 0x67, 0x52, 0x9c, 0xdc, 0x29, + 0xee, 0x93, 0x88, 0x9c, 0x88, 0x3d, 0xbf, 0x06, 0xfb, 0xba, 0x85, 0x6e, + 0x6c, 0x35, 0x75, 0x32, 0x3f, 0xdb, 0x94, 0xba, 0x30, 0x23, 0x12, 0xea, + 0x4a, 0x77, 0x58, 0xd1, 0x87, 0xb9, 0xe6, 0xa1, 0xe1, 0x92, 0x7e, 0x12, + 0x91, 0x10, 0x57, 0x46, +}; +static const struct drbg_kat_pr_true kat3986_t = { + 10, kat3986_entropyin, kat3986_nonce, kat3986_persstr, + kat3986_entropyinpr1, kat3986_addinpr1, kat3986_entropyinpr2, + kat3986_addinpr2, kat3986_retbits +}; +static const struct drbg_kat kat3986 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3986_t +}; + +static const unsigned char kat3987_entropyin[] = { + 0x51, 0xa3, 0x95, 0xf4, 0xb8, 0x1b, 0x53, 0x20, 0xcc, 0x66, 0x1c, 0xa5, + 0xd7, 0xd2, 0x28, 0x50, 0x90, 0xdd, 0x80, 0x7c, 0xa5, 0x1b, 0xd0, 0x2f, + 0x20, 0x8e, 0xe0, 0x97, 0x2d, 0xdf, 0x74, 0x68, 0xd0, 0x10, 0xf8, 0x11, + 0x66, 0x59, 0xe4, 0x29, +}; +static const unsigned char kat3987_nonce[] = {0}; +static const unsigned char kat3987_persstr[] = {0}; +static const unsigned char kat3987_entropyinpr1[] = { + 0x7b, 0x03, 0xf9, 0x8c, 0x25, 0xd2, 0x9e, 0xc0, 0xad, 0x0f, 0xcd, 0xfa, + 0x9c, 0x39, 0xe7, 0x94, 0x0a, 0xf1, 0x10, 0xe7, 0xe7, 0xdf, 0x08, 0xa9, + 0xed, 0xd6, 0xc3, 0xe8, 0x19, 0x70, 0x6e, 0xf6, 0x01, 0x21, 0x23, 0x5e, + 0xc2, 0xf3, 0xf0, 0x1f, +}; +static const unsigned char kat3987_addinpr1[] = { + 0x92, 0x7e, 0xf9, 0x5f, 0x33, 0x41, 0x33, 0xd7, 0xde, 0xcd, 0x04, 0xb9, + 0x94, 0xc6, 0x8a, 0x89, 0x0d, 0x1e, 0x60, 0xa8, 0x5a, 0xa5, 0x4f, 0xb3, + 0x11, 0xea, 0xd2, 0xe8, 0xc7, 0x5f, 0xd0, 0xee, 0x1c, 0x04, 0xbb, 0xbe, + 0x5d, 0x0c, 0x8a, 0x4f, +}; +static const unsigned char kat3987_entropyinpr2[] = { + 0x68, 0x4f, 0xf8, 0xfe, 0xf4, 0xb6, 0x13, 0x72, 0x68, 0xdf, 0xdf, 0x32, + 0xb5, 0xf9, 0xa3, 0x15, 0x00, 0x68, 0x93, 0x5c, 0x34, 0x11, 0xab, 0x43, + 0x23, 0xbc, 0xf2, 0x1e, 0x2d, 0x1a, 0x4d, 0x9f, 0x27, 0x49, 0x2e, 0x7d, + 0x78, 0x52, 0x83, 0x0d, +}; +static const unsigned char kat3987_addinpr2[] = { + 0x6c, 0xb1, 0x3b, 0x55, 0x92, 0x40, 0x81, 0xac, 0xe5, 0xfb, 0x8c, 0x67, + 0x4d, 0x13, 0xf5, 0xd8, 0xe4, 0xbe, 0xd4, 0x5e, 0x45, 0xd3, 0xcd, 0xdf, + 0x2c, 0x82, 0xf3, 0x63, 0xab, 0x07, 0x6d, 0x4b, 0xc2, 0x3a, 0x89, 0xd6, + 0x72, 0x27, 0xf8, 0x71, +}; +static const unsigned char kat3987_retbits[] = { + 0xb7, 0x1b, 0xef, 0x4b, 0xca, 0x65, 0x6b, 0xa1, 0xa3, 0xd6, 0x56, 0xa5, + 0x72, 0xc6, 0xf2, 0xab, 0x62, 0x66, 0x3d, 0xf1, 0xa1, 0xe7, 0xa2, 0x35, + 0x89, 0x05, 0x1b, 0x12, 0xb2, 0xa7, 0x2c, 0x5c, 0x2d, 0xcf, 0x0c, 0x9a, + 0x92, 0x5b, 0xa1, 0x51, 0xe3, 0xb2, 0x4d, 0xff, 0xc8, 0x5d, 0x7a, 0xa7, + 0x30, 0x1e, 0x41, 0xc6, 0x40, 0x78, 0x20, 0xf2, 0xda, 0x59, 0x0f, 0xd6, + 0x19, 0x52, 0xcc, 0xa3, +}; +static const struct drbg_kat_pr_true kat3987_t = { + 11, kat3987_entropyin, kat3987_nonce, kat3987_persstr, + kat3987_entropyinpr1, kat3987_addinpr1, kat3987_entropyinpr2, + kat3987_addinpr2, kat3987_retbits +}; +static const struct drbg_kat kat3987 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3987_t +}; + +static const unsigned char kat3988_entropyin[] = { + 0x04, 0x1c, 0x1a, 0x7e, 0x09, 0x21, 0xed, 0x9c, 0xe3, 0x0f, 0x3e, 0xc7, + 0xa6, 0xe5, 0xf3, 0x16, 0xbb, 0x2d, 0x6e, 0x26, 0x7a, 0xe9, 0x60, 0x8e, + 0x70, 0xc7, 0xb8, 0x96, 0x62, 0xe7, 0x44, 0x89, 0x78, 0x04, 0x5b, 0x4c, + 0x40, 0x1c, 0x55, 0xc2, +}; +static const unsigned char kat3988_nonce[] = {0}; +static const unsigned char kat3988_persstr[] = {0}; +static const unsigned char kat3988_entropyinpr1[] = { + 0xa7, 0x83, 0xb4, 0x97, 0x1e, 0xa1, 0xa9, 0x17, 0x0e, 0x3e, 0xa1, 0x1d, + 0x43, 0xc5, 0xb7, 0xb2, 0x10, 0x5c, 0x9a, 0x0e, 0x71, 0x8b, 0x73, 0xe5, + 0x8e, 0x2a, 0x2e, 0x4b, 0x7e, 0xa0, 0xac, 0x3e, 0x3e, 0xa6, 0x14, 0x4b, + 0x01, 0x28, 0x09, 0xad, +}; +static const unsigned char kat3988_addinpr1[] = { + 0x62, 0xe3, 0x58, 0x26, 0xa3, 0x11, 0x1f, 0x02, 0x00, 0x9f, 0x17, 0x2b, + 0xa6, 0x58, 0x69, 0xe8, 0x04, 0xea, 0x95, 0x79, 0xde, 0xcf, 0x5f, 0xaa, + 0xb3, 0x39, 0x00, 0xe5, 0x6f, 0xc4, 0xab, 0xbe, 0x25, 0xbb, 0xe6, 0x75, + 0x64, 0x00, 0x12, 0x11, +}; +static const unsigned char kat3988_entropyinpr2[] = { + 0xd7, 0xfc, 0x4a, 0xa1, 0x0e, 0xb6, 0xcc, 0x89, 0x0a, 0x04, 0xdf, 0x01, + 0xf7, 0x87, 0x8c, 0x2e, 0xe9, 0x95, 0x05, 0x37, 0x7d, 0xe3, 0xd9, 0x7b, + 0x5e, 0xc9, 0x0a, 0x62, 0xf3, 0xb3, 0x6c, 0xef, 0x33, 0xdb, 0x29, 0x0b, + 0xe5, 0xd2, 0xc1, 0x0c, +}; +static const unsigned char kat3988_addinpr2[] = { + 0x06, 0xb8, 0xd9, 0xff, 0x1e, 0xff, 0xe2, 0x50, 0x3f, 0xaf, 0x37, 0x00, + 0x36, 0x85, 0xf9, 0xa0, 0xd8, 0x47, 0xc9, 0x27, 0xbd, 0x56, 0xd2, 0x46, + 0xa3, 0x1e, 0xbf, 0xd2, 0xae, 0x38, 0xb5, 0x27, 0xd8, 0x2d, 0x3b, 0x22, + 0x32, 0x3a, 0x96, 0x8a, +}; +static const unsigned char kat3988_retbits[] = { + 0xd8, 0x04, 0xbb, 0x99, 0x32, 0x3d, 0xf3, 0xfe, 0x59, 0x8a, 0x16, 0xf3, + 0x7f, 0xeb, 0xf7, 0x46, 0xd1, 0xa5, 0x17, 0x1e, 0xc3, 0xaa, 0xcb, 0x13, + 0x93, 0x6b, 0xdc, 0xa8, 0x3e, 0x14, 0xda, 0xb2, 0xbe, 0x67, 0x02, 0x4f, + 0x98, 0xf2, 0xc8, 0x9b, 0xc3, 0x08, 0xbc, 0x82, 0x33, 0x7d, 0x28, 0xcd, + 0x50, 0x80, 0x46, 0x8a, 0xf9, 0x0f, 0x00, 0x2e, 0xab, 0x46, 0x5d, 0x65, + 0xc1, 0x17, 0x96, 0xa9, +}; +static const struct drbg_kat_pr_true kat3988_t = { + 12, kat3988_entropyin, kat3988_nonce, kat3988_persstr, + kat3988_entropyinpr1, kat3988_addinpr1, kat3988_entropyinpr2, + kat3988_addinpr2, kat3988_retbits +}; +static const struct drbg_kat kat3988 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3988_t +}; + +static const unsigned char kat3989_entropyin[] = { + 0x09, 0x76, 0xce, 0x78, 0x81, 0x8c, 0x0d, 0xdc, 0xbc, 0x12, 0xcf, 0xac, + 0xc6, 0x3b, 0x7f, 0x53, 0x29, 0xd1, 0x8c, 0xc8, 0x45, 0x35, 0xa1, 0xbc, + 0x3b, 0xf3, 0x27, 0x76, 0x4c, 0x70, 0xd9, 0xdf, 0x9a, 0x29, 0x2f, 0xef, + 0xe5, 0xfa, 0x2f, 0xe0, +}; +static const unsigned char kat3989_nonce[] = {0}; +static const unsigned char kat3989_persstr[] = {0}; +static const unsigned char kat3989_entropyinpr1[] = { + 0xa1, 0xe8, 0x27, 0x12, 0xff, 0xf4, 0x44, 0x0b, 0xf2, 0x22, 0x4f, 0xcc, + 0x3b, 0xc3, 0x94, 0xf4, 0xbd, 0xaa, 0x95, 0x6a, 0x3c, 0x98, 0x0e, 0x0f, + 0x66, 0xa5, 0x82, 0x09, 0x97, 0x6f, 0xdc, 0x5f, 0x8b, 0x93, 0xad, 0x27, + 0x3c, 0x14, 0x3e, 0xc8, +}; +static const unsigned char kat3989_addinpr1[] = { + 0xa6, 0x30, 0xfa, 0x24, 0x91, 0x67, 0x57, 0xac, 0x7a, 0x7a, 0xa6, 0x23, + 0x8c, 0xc4, 0x69, 0xcc, 0x04, 0xc8, 0xd4, 0x1a, 0x36, 0x06, 0x9a, 0xc3, + 0xb1, 0x1a, 0x74, 0x9c, 0x0e, 0x47, 0xf9, 0x71, 0x2b, 0xbe, 0xd0, 0x12, + 0x85, 0x52, 0x76, 0xc6, +}; +static const unsigned char kat3989_entropyinpr2[] = { + 0xa2, 0x54, 0xf9, 0x40, 0xe7, 0xef, 0xca, 0xf5, 0x5d, 0x3a, 0xa5, 0x80, + 0x46, 0x53, 0x2e, 0xfe, 0xde, 0xfe, 0xd7, 0x61, 0x4c, 0xc2, 0xd5, 0xea, + 0x57, 0x7d, 0xc1, 0xa3, 0xf9, 0x75, 0x0a, 0x61, 0x97, 0x16, 0x61, 0xdf, + 0x5a, 0xe1, 0x1c, 0xd4, +}; +static const unsigned char kat3989_addinpr2[] = { + 0xbe, 0xed, 0x9e, 0x8c, 0xc0, 0x82, 0xc9, 0xbd, 0xee, 0xa8, 0xd4, 0x22, + 0x63, 0xe2, 0xf1, 0x9d, 0x29, 0xe4, 0x0e, 0x02, 0x23, 0xd2, 0xc4, 0xc3, + 0x36, 0xd5, 0x4d, 0x00, 0xf0, 0x75, 0x34, 0x2c, 0x24, 0x2a, 0x41, 0x21, + 0xcc, 0x15, 0xeb, 0x5f, +}; +static const unsigned char kat3989_retbits[] = { + 0x12, 0x9a, 0xfd, 0x05, 0x73, 0xd9, 0xf7, 0xe2, 0xf8, 0x25, 0x2c, 0x7b, + 0x6b, 0xea, 0xc2, 0x38, 0xb0, 0xc5, 0x15, 0x62, 0x7e, 0x71, 0x73, 0xef, + 0x1a, 0x13, 0x2e, 0x80, 0xa3, 0xf8, 0x4f, 0x90, 0xcf, 0x69, 0x3b, 0x12, + 0x12, 0x30, 0x03, 0x20, 0x98, 0x97, 0x65, 0x7d, 0x7a, 0x08, 0x28, 0x47, + 0xb4, 0x01, 0x16, 0xec, 0xc2, 0x41, 0x0a, 0x12, 0xc0, 0x1e, 0x29, 0x8d, + 0x97, 0x9f, 0x99, 0x22, +}; +static const struct drbg_kat_pr_true kat3989_t = { + 13, kat3989_entropyin, kat3989_nonce, kat3989_persstr, + kat3989_entropyinpr1, kat3989_addinpr1, kat3989_entropyinpr2, + kat3989_addinpr2, kat3989_retbits +}; +static const struct drbg_kat kat3989 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3989_t +}; + +static const unsigned char kat3990_entropyin[] = { + 0x28, 0xfb, 0x3c, 0x13, 0xcd, 0x47, 0xcc, 0xcf, 0x87, 0x56, 0xe5, 0xce, + 0x47, 0xb5, 0x3c, 0x58, 0x4a, 0xdd, 0x37, 0x11, 0x5b, 0xb4, 0x50, 0xfb, + 0xbd, 0xa5, 0xc6, 0x07, 0xe5, 0x06, 0xd8, 0xb2, 0x24, 0x65, 0xeb, 0xb8, + 0x3b, 0xd4, 0x3e, 0x78, +}; +static const unsigned char kat3990_nonce[] = {0}; +static const unsigned char kat3990_persstr[] = {0}; +static const unsigned char kat3990_entropyinpr1[] = { + 0x2e, 0x05, 0x88, 0xd3, 0x11, 0xe1, 0x8d, 0x70, 0xd5, 0x5a, 0xe9, 0x78, + 0x4c, 0x67, 0x3b, 0xb9, 0x6f, 0xfe, 0x38, 0x0b, 0xbb, 0xaa, 0x75, 0x84, + 0xbe, 0x61, 0x51, 0x15, 0x12, 0x35, 0xce, 0xa4, 0xc3, 0xc0, 0x15, 0x9a, + 0x11, 0xe7, 0x53, 0xb6, +}; +static const unsigned char kat3990_addinpr1[] = { + 0xe0, 0xca, 0x51, 0xc9, 0xa5, 0xf5, 0x7b, 0xef, 0x56, 0xe0, 0xcb, 0xf9, + 0x67, 0x41, 0x75, 0x27, 0x1b, 0x82, 0x53, 0xe2, 0x5b, 0xfa, 0xf8, 0x26, + 0xcb, 0xb9, 0x07, 0xc0, 0xf8, 0x8e, 0x0f, 0x01, 0xd9, 0x0b, 0x3c, 0x47, + 0xad, 0x00, 0x0a, 0x05, +}; +static const unsigned char kat3990_entropyinpr2[] = { + 0x65, 0x87, 0xfd, 0x55, 0x05, 0x75, 0x66, 0xc3, 0xfc, 0xdb, 0xd8, 0x5a, + 0xa2, 0xb6, 0x93, 0xd8, 0x85, 0x23, 0x41, 0x44, 0xa6, 0xac, 0x90, 0x00, + 0xb8, 0x64, 0x0c, 0x85, 0x30, 0xda, 0x8e, 0x2e, 0x72, 0xab, 0xfc, 0xa6, + 0x98, 0x0d, 0x71, 0x19, +}; +static const unsigned char kat3990_addinpr2[] = { + 0x1a, 0x72, 0xca, 0xb5, 0x1b, 0xe3, 0x63, 0x3b, 0xe2, 0x68, 0xe4, 0x53, + 0x3f, 0xe4, 0xad, 0x48, 0x2e, 0x51, 0x78, 0xcb, 0x3b, 0x15, 0xc6, 0xd8, + 0x09, 0x0a, 0xe9, 0xe8, 0x88, 0x2d, 0x24, 0xf1, 0xcb, 0xb2, 0xd9, 0x39, + 0x29, 0xda, 0x38, 0x64, +}; +static const unsigned char kat3990_retbits[] = { + 0xa0, 0x49, 0x6a, 0x05, 0xe5, 0x23, 0x8f, 0x17, 0x1f, 0x18, 0x87, 0x09, + 0x73, 0xc9, 0xe7, 0xb9, 0xb3, 0xff, 0xf4, 0x4d, 0xf1, 0xfc, 0x1c, 0xcf, + 0xa3, 0x98, 0xef, 0x73, 0xae, 0xb4, 0x18, 0x29, 0xa3, 0x93, 0x39, 0xfd, + 0x03, 0x25, 0x91, 0xab, 0xcc, 0xe4, 0xcd, 0x94, 0x02, 0x29, 0x7f, 0x7c, + 0x2e, 0x38, 0xfd, 0x24, 0x86, 0xea, 0xa8, 0xc2, 0x01, 0x34, 0xfc, 0x01, + 0x22, 0xaf, 0x97, 0x8f, +}; +static const struct drbg_kat_pr_true kat3990_t = { + 14, kat3990_entropyin, kat3990_nonce, kat3990_persstr, + kat3990_entropyinpr1, kat3990_addinpr1, kat3990_entropyinpr2, + kat3990_addinpr2, kat3990_retbits +}; +static const struct drbg_kat kat3990 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat3990_t +}; + +static const unsigned char kat3991_entropyin[] = { + 0x4e, 0x0d, 0x69, 0x8c, 0x46, 0x9c, 0xe9, 0x45, 0x8f, 0x4a, 0xe7, 0x35, + 0xef, 0xf6, 0x53, 0xa2, 0x14, 0x5a, 0x6e, 0xdc, 0xbc, 0x92, 0x39, 0x39, + 0x56, 0xeb, 0x15, 0x37, 0xf3, 0x31, 0x01, 0xd0, 0x39, 0x05, 0xd0, 0xaa, + 0x2e, 0x72, 0xf1, 0x91, +}; +static const unsigned char kat3991_nonce[] = {0}; +static const unsigned char kat3991_persstr[] = { + 0x18, 0xc0, 0xe4, 0x34, 0x48, 0xb9, 0xb1, 0xc2, 0x37, 0x9a, 0x08, 0xc9, + 0x3a, 0xc7, 0x87, 0xe4, 0x1c, 0x27, 0xec, 0xc8, 0x79, 0x70, 0x53, 0x56, + 0x7f, 0x7a, 0x96, 0x00, 0x9c, 0xc3, 0xdf, 0x0a, 0xaa, 0x43, 0x1b, 0xff, + 0x57, 0xce, 0x57, 0x1f, +}; +static const unsigned char kat3991_entropyinpr1[] = { + 0xe8, 0xc6, 0x7e, 0x80, 0x83, 0xd7, 0xc2, 0x49, 0x5c, 0xc2, 0x21, 0x06, + 0xd2, 0x11, 0x7f, 0xac, 0x95, 0xa0, 0x25, 0xf8, 0x09, 0x9b, 0x4d, 0x09, + 0x3c, 0x8a, 0xf5, 0x89, 0xa6, 0xc6, 0x22, 0x30, 0x6e, 0x6c, 0x75, 0xc5, + 0x1c, 0x36, 0xe9, 0x87, +}; +static const unsigned char kat3991_addinpr1[] = {0}; +static const unsigned char kat3991_entropyinpr2[] = { + 0xb5, 0x37, 0x85, 0x31, 0x78, 0x07, 0x24, 0x67, 0x79, 0xf5, 0x6a, 0xf2, + 0x37, 0xbc, 0xc6, 0x9e, 0x1d, 0xa0, 0x21, 0x9b, 0x1c, 0x5a, 0xd1, 0xd7, + 0x14, 0xf6, 0x80, 0x5f, 0xa7, 0x5e, 0x5f, 0x91, 0xd6, 0x60, 0xa0, 0x07, + 0x2f, 0xf4, 0x11, 0xf6, +}; +static const unsigned char kat3991_addinpr2[] = {0}; +static const unsigned char kat3991_retbits[] = { + 0x72, 0xa4, 0x11, 0x67, 0x12, 0x87, 0xe9, 0x4d, 0x08, 0x8d, 0x52, 0x05, + 0xad, 0x02, 0xf6, 0x66, 0x55, 0x2a, 0xe4, 0xc8, 0xe2, 0x0c, 0x98, 0xf7, + 0xb3, 0xf4, 0x78, 0xf0, 0xde, 0x5c, 0xcc, 0xce, 0xb5, 0x0e, 0x72, 0xd1, + 0x22, 0xf1, 0x5e, 0x36, 0x80, 0x40, 0x84, 0x86, 0x2c, 0xd0, 0x6b, 0x31, + 0x30, 0x7e, 0x58, 0xc8, 0xb7, 0xd4, 0x4f, 0xe5, 0x2f, 0xb6, 0x24, 0x42, + 0x62, 0xf1, 0x01, 0x98, +}; +static const struct drbg_kat_pr_true kat3991_t = { + 0, kat3991_entropyin, kat3991_nonce, kat3991_persstr, + kat3991_entropyinpr1, kat3991_addinpr1, kat3991_entropyinpr2, + kat3991_addinpr2, kat3991_retbits +}; +static const struct drbg_kat kat3991 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3991_t +}; + +static const unsigned char kat3992_entropyin[] = { + 0xb3, 0x14, 0x61, 0x40, 0x7b, 0xb4, 0x92, 0x50, 0x97, 0xc0, 0x79, 0xd3, + 0x0d, 0x21, 0xf4, 0x65, 0x0b, 0x84, 0xd7, 0x2c, 0x51, 0x6c, 0x32, 0xdc, + 0xb2, 0x5e, 0x61, 0xc7, 0xec, 0xd8, 0x43, 0x3f, 0xbe, 0x3e, 0x5e, 0xc1, + 0x77, 0xb1, 0x24, 0xc4, +}; +static const unsigned char kat3992_nonce[] = {0}; +static const unsigned char kat3992_persstr[] = { + 0xcf, 0x7e, 0xc7, 0xd7, 0xda, 0xb1, 0x73, 0x0f, 0x29, 0x71, 0xbf, 0x47, + 0x68, 0x0b, 0xe1, 0xfa, 0xe3, 0xc1, 0xc4, 0xb4, 0xc2, 0x09, 0xe5, 0xfa, + 0x8c, 0x5e, 0x91, 0x5a, 0xfc, 0x31, 0x6e, 0x14, 0x41, 0x17, 0x91, 0x14, + 0x95, 0x50, 0x69, 0x1f, +}; +static const unsigned char kat3992_entropyinpr1[] = { + 0xfe, 0xae, 0x08, 0x49, 0xb0, 0x04, 0x60, 0xd1, 0x6c, 0x87, 0x1f, 0x40, + 0x89, 0x9e, 0x62, 0x0a, 0x07, 0x3c, 0x54, 0xfc, 0x62, 0xe0, 0xae, 0x9b, + 0xb8, 0x83, 0x7b, 0x39, 0x1b, 0xff, 0x59, 0xaf, 0x6c, 0x08, 0xa8, 0x78, + 0x98, 0xb3, 0xf9, 0x00, +}; +static const unsigned char kat3992_addinpr1[] = {0}; +static const unsigned char kat3992_entropyinpr2[] = { + 0xa1, 0x5d, 0xe4, 0x23, 0x0e, 0x0d, 0xd9, 0x42, 0xd8, 0x0b, 0x9b, 0xdd, + 0x14, 0xf2, 0xd2, 0x3a, 0x06, 0x54, 0x64, 0xcd, 0x5f, 0xf6, 0x9b, 0x21, + 0x71, 0xc0, 0xc5, 0xe6, 0x04, 0xac, 0x33, 0xf5, 0xe4, 0x51, 0xd9, 0x7f, + 0x07, 0x9f, 0xeb, 0x48, +}; +static const unsigned char kat3992_addinpr2[] = {0}; +static const unsigned char kat3992_retbits[] = { + 0x94, 0xba, 0xfb, 0x19, 0x97, 0xde, 0x55, 0x46, 0x84, 0x1b, 0x5a, 0x46, + 0xb7, 0xa2, 0x40, 0x27, 0xb3, 0x8b, 0x73, 0x8b, 0x6b, 0x0a, 0xfc, 0x9a, + 0xb4, 0xc4, 0xb4, 0xbf, 0x0f, 0x7e, 0x84, 0x31, 0xeb, 0xb9, 0xc9, 0x9e, + 0x99, 0x3d, 0xfe, 0x55, 0x5b, 0x70, 0x1f, 0xd7, 0x19, 0xc8, 0x60, 0x32, + 0x91, 0xfa, 0xe0, 0x95, 0xd7, 0x19, 0xfc, 0x58, 0xb0, 0x3f, 0x6f, 0xd5, + 0xfc, 0x32, 0x43, 0xe2, +}; +static const struct drbg_kat_pr_true kat3992_t = { + 1, kat3992_entropyin, kat3992_nonce, kat3992_persstr, + kat3992_entropyinpr1, kat3992_addinpr1, kat3992_entropyinpr2, + kat3992_addinpr2, kat3992_retbits +}; +static const struct drbg_kat kat3992 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3992_t +}; + +static const unsigned char kat3993_entropyin[] = { + 0xe7, 0x48, 0x76, 0x0c, 0x2f, 0x49, 0x55, 0x87, 0xb5, 0xc9, 0x75, 0x5a, + 0xfa, 0x35, 0xbc, 0x8d, 0x67, 0x23, 0x0a, 0x9c, 0x88, 0x5e, 0xcd, 0x99, + 0xcb, 0xac, 0xfa, 0xf1, 0xf7, 0x66, 0xf7, 0x31, 0x56, 0x9c, 0xca, 0x14, + 0x73, 0xca, 0xee, 0xbe, +}; +static const unsigned char kat3993_nonce[] = {0}; +static const unsigned char kat3993_persstr[] = { + 0x20, 0x2b, 0x9f, 0x89, 0x2a, 0x76, 0x6e, 0xbc, 0xc0, 0xfd, 0xe3, 0x3d, + 0x41, 0x4a, 0x65, 0xba, 0xd4, 0xca, 0xfc, 0x0a, 0xfa, 0x99, 0x50, 0x6d, + 0x7b, 0xb3, 0xf9, 0xf2, 0x32, 0x27, 0xd7, 0x7d, 0x63, 0x5c, 0x54, 0x24, + 0xb0, 0x17, 0x34, 0xd2, +}; +static const unsigned char kat3993_entropyinpr1[] = { + 0xf8, 0x61, 0xb7, 0x4b, 0xc6, 0x55, 0xa3, 0x52, 0xea, 0xdf, 0x7c, 0xe5, + 0xd3, 0x38, 0xd2, 0x0a, 0x7f, 0x35, 0x87, 0x77, 0xde, 0x80, 0xfc, 0x9e, + 0x51, 0xc3, 0x1d, 0xb5, 0x13, 0x16, 0x1f, 0x88, 0x41, 0x18, 0xaa, 0xc4, + 0x91, 0xd5, 0xd5, 0xa1, +}; +static const unsigned char kat3993_addinpr1[] = {0}; +static const unsigned char kat3993_entropyinpr2[] = { + 0x00, 0xd0, 0x2d, 0xe2, 0xe0, 0x1b, 0x5b, 0x01, 0x91, 0xe3, 0xa0, 0xfc, + 0x46, 0x7e, 0xda, 0xf1, 0x0c, 0xc7, 0xc8, 0xb0, 0x5e, 0xed, 0x78, 0xef, + 0x29, 0xb6, 0xa0, 0xc9, 0xb0, 0x6e, 0x8c, 0xad, 0xda, 0x58, 0xe9, 0x0f, + 0xcb, 0xd7, 0x3b, 0xbe, +}; +static const unsigned char kat3993_addinpr2[] = {0}; +static const unsigned char kat3993_retbits[] = { + 0x9d, 0xfb, 0x4c, 0xfe, 0x04, 0xc4, 0xab, 0xe0, 0x40, 0xc2, 0xde, 0x7d, + 0x54, 0x10, 0x17, 0xa6, 0x4a, 0x5c, 0xdf, 0xb9, 0xd1, 0x19, 0x65, 0x51, + 0xf0, 0xff, 0xfc, 0x95, 0x85, 0x02, 0x37, 0xa4, 0x21, 0x83, 0x89, 0x57, + 0x0e, 0xcb, 0xaa, 0x59, 0xe6, 0x40, 0xf8, 0xb5, 0x59, 0x10, 0x14, 0xe7, + 0xbf, 0x4d, 0x35, 0xf3, 0x9a, 0x1d, 0x6d, 0x36, 0x1d, 0xfd, 0x22, 0x6c, + 0xd0, 0xe1, 0x60, 0xbf, +}; +static const struct drbg_kat_pr_true kat3993_t = { + 2, kat3993_entropyin, kat3993_nonce, kat3993_persstr, + kat3993_entropyinpr1, kat3993_addinpr1, kat3993_entropyinpr2, + kat3993_addinpr2, kat3993_retbits +}; +static const struct drbg_kat kat3993 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3993_t +}; + +static const unsigned char kat3994_entropyin[] = { + 0x09, 0xc7, 0x45, 0xf0, 0xb9, 0x4a, 0x1b, 0x98, 0x11, 0x93, 0xde, 0x07, + 0x5b, 0xb0, 0xc4, 0x13, 0xb0, 0x47, 0xdc, 0xe8, 0x76, 0xab, 0x63, 0x74, + 0x26, 0xdb, 0x5e, 0x6b, 0x24, 0x56, 0x85, 0x57, 0xa5, 0xcd, 0xd5, 0x83, + 0xcc, 0xc7, 0x9f, 0x6c, +}; +static const unsigned char kat3994_nonce[] = {0}; +static const unsigned char kat3994_persstr[] = { + 0xaa, 0x20, 0x48, 0xb0, 0x6c, 0x4f, 0xb1, 0x60, 0xda, 0x77, 0xec, 0x39, + 0x01, 0x4b, 0x72, 0xf1, 0xef, 0x8b, 0xb2, 0xa1, 0xf3, 0x78, 0xc7, 0x48, + 0xd7, 0xa2, 0xd9, 0x14, 0xf2, 0x75, 0x55, 0x9a, 0x69, 0x97, 0x3a, 0x33, + 0xb7, 0xc0, 0xb9, 0xe8, +}; +static const unsigned char kat3994_entropyinpr1[] = { + 0x20, 0x8a, 0xc4, 0x33, 0xfb, 0xad, 0xf3, 0x35, 0x2a, 0x54, 0x54, 0x60, + 0x30, 0xdd, 0x59, 0xd5, 0x90, 0x71, 0x2f, 0x08, 0xc0, 0x38, 0xf3, 0x29, + 0xb8, 0xd7, 0xa7, 0xbb, 0xdd, 0xd5, 0x3d, 0x5b, 0x59, 0xcf, 0x3b, 0x22, + 0x2a, 0x8a, 0x0e, 0xf3, +}; +static const unsigned char kat3994_addinpr1[] = {0}; +static const unsigned char kat3994_entropyinpr2[] = { + 0x88, 0xa0, 0x61, 0x93, 0xac, 0x99, 0x7b, 0x55, 0xd8, 0x07, 0xd1, 0x4c, + 0x2c, 0x16, 0x48, 0x91, 0xf4, 0x1b, 0x35, 0x2f, 0xfb, 0xd2, 0x75, 0x36, + 0x4c, 0x3a, 0x7d, 0x16, 0x6c, 0x74, 0xa0, 0xbd, 0xf4, 0x8a, 0x55, 0x75, + 0xbc, 0x25, 0x74, 0x9c, +}; +static const unsigned char kat3994_addinpr2[] = {0}; +static const unsigned char kat3994_retbits[] = { + 0xe7, 0x04, 0xd0, 0x2b, 0x48, 0x52, 0x77, 0x2d, 0x5e, 0x7d, 0x4f, 0x73, + 0x28, 0xdf, 0x1c, 0xa7, 0xe6, 0x39, 0x0a, 0xfc, 0x10, 0x3d, 0x84, 0x7c, + 0xde, 0x9a, 0x58, 0xb6, 0x4c, 0x35, 0x23, 0x22, 0xe3, 0x92, 0x37, 0x5e, + 0x32, 0xe7, 0xf0, 0xf9, 0xa8, 0xff, 0x5a, 0x60, 0x45, 0x51, 0xe9, 0xf7, + 0xa2, 0xbd, 0xa1, 0xb9, 0xe9, 0x91, 0x5b, 0x04, 0x72, 0x20, 0xed, 0x2c, + 0xb4, 0xdc, 0x1e, 0x78, +}; +static const struct drbg_kat_pr_true kat3994_t = { + 3, kat3994_entropyin, kat3994_nonce, kat3994_persstr, + kat3994_entropyinpr1, kat3994_addinpr1, kat3994_entropyinpr2, + kat3994_addinpr2, kat3994_retbits +}; +static const struct drbg_kat kat3994 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3994_t +}; + +static const unsigned char kat3995_entropyin[] = { + 0x7f, 0x93, 0xce, 0x4b, 0x74, 0x92, 0x2c, 0x10, 0x3e, 0x5f, 0x2c, 0xf4, + 0xb6, 0x57, 0x8c, 0x05, 0x38, 0xcd, 0xdd, 0x8f, 0x87, 0xde, 0x85, 0x55, + 0x1e, 0xf4, 0x95, 0x4d, 0x89, 0xc6, 0x7c, 0x6f, 0xe0, 0xc7, 0xa4, 0xef, + 0x4c, 0xef, 0xd2, 0x41, +}; +static const unsigned char kat3995_nonce[] = {0}; +static const unsigned char kat3995_persstr[] = { + 0xaa, 0x27, 0xd3, 0x50, 0x7e, 0xba, 0xcc, 0xad, 0x2b, 0x62, 0xc1, 0x9b, + 0xda, 0xd0, 0x01, 0x11, 0x37, 0xf3, 0x29, 0x0b, 0xf6, 0xe6, 0x38, 0xc7, + 0x26, 0x6c, 0xa4, 0x08, 0x70, 0x4b, 0xfd, 0x31, 0xa0, 0xa2, 0x15, 0xcb, + 0x93, 0xab, 0x56, 0x9b, +}; +static const unsigned char kat3995_entropyinpr1[] = { + 0x47, 0xd5, 0xf7, 0x33, 0xea, 0xf3, 0x77, 0x79, 0x7c, 0xcf, 0x80, 0x45, + 0x04, 0xd3, 0xf9, 0x7e, 0x59, 0x52, 0x00, 0x3f, 0xe3, 0x3d, 0x24, 0x52, + 0x2c, 0xcb, 0x30, 0xa9, 0xc7, 0xfd, 0x4d, 0xe6, 0xa3, 0x96, 0xb9, 0x10, + 0x82, 0x84, 0x30, 0x96, +}; +static const unsigned char kat3995_addinpr1[] = {0}; +static const unsigned char kat3995_entropyinpr2[] = { + 0xcc, 0x1b, 0x06, 0xe4, 0xbb, 0xc7, 0xdc, 0xc3, 0x1b, 0x21, 0x40, 0xf4, + 0xb8, 0x74, 0x5f, 0x19, 0x45, 0x9f, 0x39, 0x53, 0x56, 0x6a, 0xf3, 0xd7, + 0x52, 0x70, 0x5b, 0x17, 0xa9, 0xc7, 0x8c, 0xf6, 0x60, 0x0e, 0x64, 0xf3, + 0x8c, 0x25, 0xfa, 0x69, +}; +static const unsigned char kat3995_addinpr2[] = {0}; +static const unsigned char kat3995_retbits[] = { + 0x69, 0x0c, 0x86, 0x44, 0x8b, 0xc2, 0xb0, 0x25, 0x30, 0xc3, 0xeb, 0x70, + 0xd2, 0xdf, 0x30, 0x41, 0xfd, 0x46, 0x2e, 0xb7, 0x49, 0xf1, 0x64, 0x34, + 0x61, 0x90, 0x16, 0xd2, 0x0c, 0x0c, 0x1c, 0x6d, 0x33, 0x4b, 0x20, 0x0e, + 0xe2, 0x5b, 0xb5, 0xd3, 0x36, 0xa5, 0x68, 0x29, 0x83, 0x9c, 0x5e, 0xb2, + 0x1a, 0x5a, 0x0d, 0x5f, 0xc7, 0x20, 0x58, 0xc7, 0x12, 0xa2, 0x4f, 0x5e, + 0xe4, 0x4c, 0xa7, 0xe0, +}; +static const struct drbg_kat_pr_true kat3995_t = { + 4, kat3995_entropyin, kat3995_nonce, kat3995_persstr, + kat3995_entropyinpr1, kat3995_addinpr1, kat3995_entropyinpr2, + kat3995_addinpr2, kat3995_retbits +}; +static const struct drbg_kat kat3995 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3995_t +}; + +static const unsigned char kat3996_entropyin[] = { + 0x7a, 0x11, 0x87, 0x58, 0xf0, 0xc8, 0x24, 0xe7, 0x4b, 0x2f, 0xdf, 0x3e, + 0x5e, 0x79, 0xcd, 0xdc, 0xc9, 0x82, 0xa5, 0x1b, 0x61, 0x64, 0x98, 0xb1, + 0x6b, 0x03, 0x76, 0xcd, 0xb0, 0xe5, 0x55, 0xb3, 0x48, 0xb5, 0x75, 0x02, + 0xa4, 0xe2, 0x23, 0x76, +}; +static const unsigned char kat3996_nonce[] = {0}; +static const unsigned char kat3996_persstr[] = { + 0xf0, 0x01, 0xf0, 0x90, 0x82, 0x6d, 0xd0, 0x46, 0xc6, 0xdf, 0x32, 0x7f, + 0x52, 0x39, 0x0e, 0x79, 0x63, 0x49, 0x4c, 0xdb, 0x5a, 0x74, 0xfa, 0x03, + 0xad, 0xc4, 0xb0, 0x40, 0x02, 0x50, 0x5f, 0xb4, 0x2d, 0x03, 0x24, 0xd9, + 0xc7, 0x17, 0x02, 0xc3, +}; +static const unsigned char kat3996_entropyinpr1[] = { + 0xef, 0xe8, 0x4f, 0xcd, 0x0c, 0x0f, 0x20, 0x1a, 0x5e, 0xbd, 0x15, 0x40, + 0x74, 0x33, 0x66, 0x57, 0x91, 0x00, 0xc8, 0x26, 0x19, 0x0f, 0x3a, 0xd2, + 0x86, 0x8f, 0x07, 0xec, 0xd0, 0xb5, 0x2b, 0x38, 0x60, 0xfa, 0x09, 0xf3, + 0xcc, 0x41, 0xac, 0x27, +}; +static const unsigned char kat3996_addinpr1[] = {0}; +static const unsigned char kat3996_entropyinpr2[] = { + 0xea, 0xaa, 0x8c, 0x35, 0xfb, 0x2c, 0xa7, 0xd0, 0x65, 0xa6, 0x7e, 0x0e, + 0x07, 0x57, 0x8a, 0xd6, 0xf0, 0xe1, 0xb4, 0x05, 0xf8, 0x8d, 0xdd, 0xbc, + 0x4f, 0x23, 0x69, 0xb1, 0x3d, 0x9b, 0xa1, 0x0c, 0xab, 0x19, 0x30, 0xbf, + 0x36, 0xe3, 0x54, 0xa8, +}; +static const unsigned char kat3996_addinpr2[] = {0}; +static const unsigned char kat3996_retbits[] = { + 0xdf, 0xb3, 0x6c, 0x49, 0x6f, 0x76, 0xdb, 0x85, 0x22, 0x3f, 0x88, 0x12, + 0x7a, 0x5a, 0xa3, 0xcb, 0xfd, 0xfe, 0x1d, 0x40, 0x14, 0x43, 0x9a, 0x03, + 0x69, 0xcc, 0x0c, 0xcb, 0xd0, 0x31, 0xf5, 0xf6, 0x63, 0x69, 0x26, 0xb9, + 0xe2, 0xca, 0x3c, 0x66, 0x91, 0xc8, 0x9b, 0x6e, 0x4e, 0xa8, 0xd6, 0xf2, + 0x94, 0x96, 0xd4, 0x44, 0x46, 0x81, 0x0f, 0x76, 0x72, 0xef, 0x4f, 0x34, + 0xa7, 0x90, 0x86, 0x54, +}; +static const struct drbg_kat_pr_true kat3996_t = { + 5, kat3996_entropyin, kat3996_nonce, kat3996_persstr, + kat3996_entropyinpr1, kat3996_addinpr1, kat3996_entropyinpr2, + kat3996_addinpr2, kat3996_retbits +}; +static const struct drbg_kat kat3996 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3996_t +}; + +static const unsigned char kat3997_entropyin[] = { + 0x87, 0xb3, 0x70, 0xbe, 0xff, 0xe7, 0x81, 0xdb, 0x84, 0x32, 0x96, 0x7d, + 0xb9, 0x4c, 0xc4, 0x71, 0xed, 0x9f, 0x89, 0x0d, 0xa9, 0xd5, 0x6d, 0xb0, + 0x94, 0xc2, 0xdd, 0x7a, 0x26, 0xed, 0x19, 0xce, 0xa2, 0x19, 0x7f, 0x72, + 0xff, 0x9f, 0xca, 0x7d, +}; +static const unsigned char kat3997_nonce[] = {0}; +static const unsigned char kat3997_persstr[] = { + 0xf4, 0xe5, 0xbe, 0xe8, 0xe9, 0xc2, 0x63, 0xcb, 0x29, 0xce, 0x88, 0x24, + 0x84, 0x20, 0x92, 0x25, 0x98, 0x27, 0xe4, 0x5d, 0x9f, 0x81, 0x1f, 0xa7, + 0x36, 0xa9, 0x9c, 0xf6, 0xb8, 0xda, 0x8a, 0x42, 0x2e, 0x80, 0xc7, 0xc1, + 0x21, 0x98, 0x8d, 0x4c, +}; +static const unsigned char kat3997_entropyinpr1[] = { + 0x29, 0x6d, 0xd9, 0xa1, 0x90, 0xa6, 0x83, 0x8c, 0x8a, 0xcc, 0xe1, 0xb1, + 0xdc, 0xd6, 0x4a, 0xc3, 0x92, 0x26, 0x16, 0xcb, 0xf0, 0xa6, 0xad, 0xaf, + 0x38, 0x86, 0xfb, 0x70, 0x5a, 0x03, 0x75, 0x70, 0xfb, 0x87, 0x59, 0x97, + 0x5c, 0xf6, 0x8c, 0xc8, +}; +static const unsigned char kat3997_addinpr1[] = {0}; +static const unsigned char kat3997_entropyinpr2[] = { + 0x88, 0x56, 0x82, 0xd3, 0x58, 0x37, 0xc6, 0x36, 0x07, 0x65, 0xff, 0x16, + 0x41, 0xe5, 0x3a, 0xca, 0x02, 0x05, 0x11, 0x51, 0x6a, 0xac, 0x22, 0x1e, + 0x4f, 0x13, 0x26, 0x5d, 0xbc, 0xf2, 0x8d, 0x98, 0x13, 0x9f, 0xfb, 0xbf, + 0x03, 0x5b, 0xd7, 0x9b, +}; +static const unsigned char kat3997_addinpr2[] = {0}; +static const unsigned char kat3997_retbits[] = { + 0x74, 0x2c, 0xda, 0xba, 0x2d, 0xaf, 0xc3, 0x02, 0x79, 0x45, 0xe8, 0xa1, + 0x1e, 0xd7, 0xf9, 0xfa, 0x21, 0x4b, 0xe7, 0x3c, 0xf3, 0x56, 0x18, 0xce, + 0x89, 0x34, 0xe0, 0xa8, 0xf9, 0x72, 0xdf, 0xf8, 0x61, 0x5b, 0xca, 0x72, + 0x51, 0x2f, 0x57, 0xe3, 0x76, 0x6e, 0x23, 0xe6, 0xf2, 0x17, 0x3d, 0x6f, + 0x0f, 0xf4, 0x77, 0xab, 0xed, 0x8f, 0xe1, 0x91, 0xfe, 0x6a, 0x9a, 0x5b, + 0xd2, 0x62, 0x66, 0x1a, +}; +static const struct drbg_kat_pr_true kat3997_t = { + 6, kat3997_entropyin, kat3997_nonce, kat3997_persstr, + kat3997_entropyinpr1, kat3997_addinpr1, kat3997_entropyinpr2, + kat3997_addinpr2, kat3997_retbits +}; +static const struct drbg_kat kat3997 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3997_t +}; + +static const unsigned char kat3998_entropyin[] = { + 0xc6, 0xf2, 0xad, 0xc9, 0xec, 0x99, 0xa6, 0xc8, 0xd1, 0x14, 0xde, 0x0f, + 0xea, 0xd0, 0x92, 0x7f, 0xd2, 0x19, 0x99, 0x99, 0x32, 0xe4, 0xa0, 0x81, + 0x11, 0xd2, 0x09, 0x3d, 0x78, 0x58, 0x35, 0x6d, 0x1d, 0xdf, 0x82, 0x4a, + 0x1e, 0x39, 0xd6, 0xa0, +}; +static const unsigned char kat3998_nonce[] = {0}; +static const unsigned char kat3998_persstr[] = { + 0x58, 0x67, 0xc9, 0x33, 0xe2, 0x07, 0x43, 0xa9, 0x5f, 0xfe, 0xcc, 0xb4, + 0xe2, 0xeb, 0x70, 0x18, 0xd2, 0x18, 0x45, 0xee, 0x78, 0xdf, 0x3f, 0x42, + 0x1e, 0xbe, 0x0f, 0x2a, 0x8d, 0x3c, 0x5e, 0xbb, 0x84, 0xc2, 0x1f, 0x9a, + 0x53, 0x76, 0x70, 0x14, +}; +static const unsigned char kat3998_entropyinpr1[] = { + 0xd3, 0x34, 0x28, 0x51, 0x3d, 0x7f, 0x8a, 0xa9, 0x04, 0x3d, 0xef, 0x19, + 0x06, 0xc9, 0xeb, 0xfd, 0x6f, 0xea, 0x5b, 0x25, 0x2c, 0x6e, 0x13, 0xf2, + 0xf1, 0x58, 0x3d, 0x92, 0x44, 0x47, 0xf2, 0x5b, 0x89, 0xb0, 0x58, 0xbd, + 0xe8, 0x8f, 0x9a, 0xbc, +}; +static const unsigned char kat3998_addinpr1[] = {0}; +static const unsigned char kat3998_entropyinpr2[] = { + 0x4b, 0xd5, 0x3a, 0xca, 0xce, 0x6b, 0xc8, 0xe2, 0x26, 0x9a, 0x40, 0x44, + 0xc3, 0xea, 0xd8, 0x82, 0x12, 0x5a, 0xbc, 0x21, 0x77, 0x3e, 0x07, 0xc4, + 0xbd, 0xc9, 0x9d, 0xd8, 0xa4, 0x36, 0x4c, 0x0a, 0x4a, 0xa9, 0x44, 0xd9, + 0xf3, 0x94, 0x8f, 0xa5, +}; +static const unsigned char kat3998_addinpr2[] = {0}; +static const unsigned char kat3998_retbits[] = { + 0x90, 0x72, 0xa8, 0x76, 0xcb, 0x01, 0xac, 0x97, 0x61, 0x52, 0x6e, 0x34, + 0x66, 0x6c, 0x02, 0xf5, 0x97, 0xaf, 0x08, 0x1e, 0xc0, 0x0a, 0x5d, 0x85, + 0xb9, 0x37, 0x83, 0x80, 0xc6, 0x20, 0xf2, 0x59, 0x82, 0xc0, 0x2c, 0xdb, + 0x93, 0x3c, 0xef, 0x35, 0x13, 0xd7, 0xeb, 0x11, 0x59, 0x1d, 0xa1, 0x95, + 0x77, 0xc0, 0xab, 0xcb, 0xc0, 0x8d, 0xcc, 0xf0, 0x41, 0xa9, 0x9f, 0x0a, + 0xcf, 0xd7, 0x1b, 0xb2, +}; +static const struct drbg_kat_pr_true kat3998_t = { + 7, kat3998_entropyin, kat3998_nonce, kat3998_persstr, + kat3998_entropyinpr1, kat3998_addinpr1, kat3998_entropyinpr2, + kat3998_addinpr2, kat3998_retbits +}; +static const struct drbg_kat kat3998 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3998_t +}; + +static const unsigned char kat3999_entropyin[] = { + 0xa0, 0x19, 0xc5, 0x3b, 0x53, 0x35, 0xd7, 0x06, 0x19, 0x2a, 0x30, 0x15, + 0xa3, 0xd8, 0x18, 0xb9, 0x39, 0x81, 0xa9, 0x24, 0xc2, 0xbf, 0xc8, 0xee, + 0x66, 0xe9, 0x1d, 0x50, 0x58, 0xae, 0xc3, 0x31, 0xe7, 0x1d, 0x71, 0x6c, + 0x0e, 0x9a, 0x64, 0x16, +}; +static const unsigned char kat3999_nonce[] = {0}; +static const unsigned char kat3999_persstr[] = { + 0xa6, 0x44, 0x50, 0x73, 0xc9, 0x3c, 0xfc, 0x7c, 0x8e, 0x14, 0x69, 0x0a, + 0xde, 0x83, 0x65, 0x60, 0x4a, 0x6c, 0xc0, 0x0f, 0x50, 0xfd, 0x33, 0xb8, + 0x03, 0xff, 0xd7, 0xd9, 0x93, 0x2a, 0x45, 0x8d, 0x3d, 0xfe, 0x32, 0x0b, + 0xf6, 0x01, 0x20, 0x0d, +}; +static const unsigned char kat3999_entropyinpr1[] = { + 0x65, 0xd9, 0xf4, 0xee, 0x6e, 0xc2, 0xb8, 0x11, 0xbb, 0x51, 0x17, 0x3a, + 0x3f, 0x38, 0xd7, 0xb8, 0x7f, 0xc4, 0xec, 0x7c, 0x7f, 0xa9, 0x0d, 0xd0, + 0x4a, 0x9f, 0xaf, 0x31, 0xbf, 0x47, 0xaf, 0x05, 0x1c, 0x74, 0x77, 0x31, + 0x6b, 0xaf, 0xc8, 0x19, +}; +static const unsigned char kat3999_addinpr1[] = {0}; +static const unsigned char kat3999_entropyinpr2[] = { + 0x90, 0xe5, 0x70, 0x43, 0x78, 0xac, 0x38, 0x00, 0x95, 0xf3, 0x8b, 0x08, + 0x16, 0x13, 0xdb, 0xbf, 0xb4, 0x58, 0xbd, 0x88, 0x8a, 0xeb, 0x12, 0xfa, + 0x26, 0xbf, 0x02, 0x9b, 0x8b, 0x61, 0xfc, 0x0f, 0xc1, 0x5d, 0xc4, 0x2a, + 0xb5, 0xc2, 0x49, 0x2f, +}; +static const unsigned char kat3999_addinpr2[] = {0}; +static const unsigned char kat3999_retbits[] = { + 0xd8, 0xf5, 0x34, 0x3e, 0x6b, 0x15, 0xd6, 0x3e, 0xac, 0xc2, 0x14, 0x69, + 0xfe, 0xba, 0x32, 0x9a, 0x78, 0xcc, 0xab, 0x56, 0x7c, 0x39, 0x1c, 0x52, + 0xa1, 0xf8, 0x65, 0x99, 0x41, 0x24, 0x32, 0x3a, 0x0b, 0xbe, 0x40, 0x21, + 0x3a, 0xd9, 0xe1, 0x54, 0x2c, 0x55, 0x2d, 0x25, 0xb0, 0x99, 0x4b, 0x09, + 0x5d, 0x4f, 0xe7, 0x5c, 0x35, 0x5c, 0x1b, 0xd6, 0xd9, 0x3f, 0xfd, 0xda, + 0x03, 0x02, 0x01, 0x7c, +}; +static const struct drbg_kat_pr_true kat3999_t = { + 8, kat3999_entropyin, kat3999_nonce, kat3999_persstr, + kat3999_entropyinpr1, kat3999_addinpr1, kat3999_entropyinpr2, + kat3999_addinpr2, kat3999_retbits +}; +static const struct drbg_kat kat3999 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat3999_t +}; + +static const unsigned char kat4000_entropyin[] = { + 0x4e, 0xfb, 0x6e, 0xf4, 0xd7, 0xf3, 0xc6, 0x40, 0xa2, 0x82, 0xfe, 0xef, + 0x77, 0xd8, 0x33, 0xee, 0x60, 0x1f, 0xbd, 0x2f, 0xe8, 0x88, 0x3f, 0xe8, + 0xc1, 0x08, 0xb8, 0x78, 0xcc, 0x19, 0x69, 0x10, 0xd2, 0x67, 0xca, 0xdc, + 0x5c, 0x05, 0x99, 0x4d, +}; +static const unsigned char kat4000_nonce[] = {0}; +static const unsigned char kat4000_persstr[] = { + 0x94, 0x76, 0x17, 0xb4, 0x58, 0x22, 0xe2, 0xc0, 0x46, 0xf8, 0x01, 0x9b, + 0xcf, 0x10, 0xab, 0xf7, 0xed, 0xe1, 0xdb, 0x16, 0x16, 0x8f, 0x9b, 0x9d, + 0x47, 0x1e, 0x87, 0xb1, 0x5c, 0xe5, 0x39, 0xd8, 0x97, 0x37, 0x39, 0x61, + 0xc4, 0x95, 0x82, 0x90, +}; +static const unsigned char kat4000_entropyinpr1[] = { + 0x89, 0x52, 0x45, 0x98, 0xb3, 0x52, 0xec, 0x3c, 0x3a, 0xf2, 0x2f, 0x66, + 0x85, 0x5f, 0xd5, 0x60, 0x71, 0x59, 0x88, 0xaa, 0x20, 0x4d, 0x7f, 0xfb, + 0x9d, 0xa0, 0x46, 0x3e, 0x02, 0xcc, 0xb3, 0x8d, 0xf4, 0x1a, 0x0b, 0x47, + 0x97, 0x2c, 0x0b, 0x73, +}; +static const unsigned char kat4000_addinpr1[] = {0}; +static const unsigned char kat4000_entropyinpr2[] = { + 0x36, 0x87, 0x22, 0x50, 0xa5, 0x33, 0x70, 0x63, 0x09, 0x40, 0x18, 0xd8, + 0x4a, 0x8e, 0x2e, 0x40, 0x36, 0x6d, 0xad, 0x33, 0xbc, 0x29, 0xe3, 0x1d, + 0x23, 0xe2, 0x06, 0x40, 0x59, 0x96, 0x15, 0x6f, 0x84, 0x97, 0xd6, 0xe3, + 0x44, 0x9b, 0xf2, 0x91, +}; +static const unsigned char kat4000_addinpr2[] = {0}; +static const unsigned char kat4000_retbits[] = { + 0xb9, 0x87, 0xc0, 0xa3, 0x81, 0x0d, 0x15, 0x37, 0x4f, 0x28, 0xb0, 0xec, + 0xd2, 0xbd, 0x77, 0x48, 0xbf, 0x33, 0x2f, 0x77, 0x11, 0xf5, 0xfc, 0x64, + 0x88, 0x97, 0x07, 0xfa, 0x19, 0x69, 0x3b, 0x13, 0xbb, 0xaf, 0xd5, 0x87, + 0x10, 0xbf, 0x9c, 0x3f, 0xd7, 0x90, 0x09, 0x37, 0x27, 0xb3, 0xe3, 0x42, + 0x1e, 0xe4, 0x32, 0xb7, 0x6a, 0x3a, 0x44, 0x3c, 0xe9, 0xa4, 0x3b, 0x8b, + 0xcb, 0xda, 0x0e, 0x09, +}; +static const struct drbg_kat_pr_true kat4000_t = { + 9, kat4000_entropyin, kat4000_nonce, kat4000_persstr, + kat4000_entropyinpr1, kat4000_addinpr1, kat4000_entropyinpr2, + kat4000_addinpr2, kat4000_retbits +}; +static const struct drbg_kat kat4000 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4000_t +}; + +static const unsigned char kat4001_entropyin[] = { + 0x6e, 0x6f, 0xac, 0xdb, 0x11, 0x66, 0x50, 0x7d, 0x45, 0xfb, 0xcd, 0xb0, + 0x4d, 0x97, 0xf4, 0xbb, 0xd7, 0x32, 0xae, 0x79, 0x6d, 0x57, 0x5e, 0x8b, + 0xb5, 0x4f, 0x41, 0x4a, 0x83, 0xd4, 0x24, 0x66, 0x76, 0x32, 0xc3, 0x80, + 0xb0, 0x85, 0xa3, 0x7d, +}; +static const unsigned char kat4001_nonce[] = {0}; +static const unsigned char kat4001_persstr[] = { + 0x95, 0xfe, 0xf5, 0x67, 0x41, 0xae, 0x3a, 0xa0, 0x66, 0x39, 0xb2, 0xce, + 0xc2, 0xe7, 0xf5, 0xc3, 0x00, 0x66, 0xd6, 0x70, 0xef, 0x48, 0x05, 0x9b, + 0x55, 0xa4, 0xfb, 0xd8, 0xca, 0x77, 0x38, 0x25, 0xf4, 0xbd, 0x93, 0x4b, + 0x55, 0x6e, 0x34, 0xc0, +}; +static const unsigned char kat4001_entropyinpr1[] = { + 0xf8, 0xc2, 0x52, 0xd7, 0x38, 0x5d, 0xe8, 0x7b, 0xdc, 0x42, 0xe2, 0xa0, + 0x97, 0x4d, 0x0e, 0xe9, 0x21, 0x4c, 0x55, 0x88, 0x4c, 0xa2, 0xd9, 0x88, + 0x53, 0x86, 0xe4, 0x72, 0x33, 0x81, 0x7b, 0x51, 0xa8, 0x43, 0xeb, 0x05, + 0xe5, 0x68, 0xac, 0x9b, +}; +static const unsigned char kat4001_addinpr1[] = {0}; +static const unsigned char kat4001_entropyinpr2[] = { + 0x59, 0xf9, 0x90, 0xbd, 0x50, 0x7e, 0x99, 0xdc, 0xcf, 0x5b, 0xdf, 0x0e, + 0x36, 0xfc, 0xae, 0x29, 0x9f, 0x2e, 0xae, 0x55, 0xa6, 0xa8, 0x52, 0xdf, + 0x10, 0xd6, 0x01, 0xd2, 0x4f, 0x19, 0x32, 0x8d, 0x89, 0x1a, 0x6f, 0xd4, + 0x53, 0x97, 0x5b, 0xb8, +}; +static const unsigned char kat4001_addinpr2[] = {0}; +static const unsigned char kat4001_retbits[] = { + 0xe7, 0x79, 0x41, 0xe4, 0xf7, 0x78, 0xd2, 0x56, 0xd5, 0x3a, 0xad, 0xd2, + 0x06, 0xe8, 0xe9, 0x97, 0xd0, 0xaa, 0xc4, 0x7b, 0x3a, 0xef, 0xaa, 0x9a, + 0xb8, 0xa5, 0x4b, 0x92, 0xee, 0x8d, 0xe3, 0x43, 0x61, 0xfa, 0xe3, 0x2d, + 0x41, 0x4f, 0xcf, 0x97, 0x20, 0x56, 0x1e, 0x95, 0xce, 0x03, 0x5d, 0xd7, + 0x74, 0xec, 0xd4, 0x0d, 0xe0, 0xcf, 0x4a, 0xc7, 0x53, 0x99, 0x09, 0xd6, + 0xb6, 0x0d, 0xd0, 0x65, +}; +static const struct drbg_kat_pr_true kat4001_t = { + 10, kat4001_entropyin, kat4001_nonce, kat4001_persstr, + kat4001_entropyinpr1, kat4001_addinpr1, kat4001_entropyinpr2, + kat4001_addinpr2, kat4001_retbits +}; +static const struct drbg_kat kat4001 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4001_t +}; + +static const unsigned char kat4002_entropyin[] = { + 0x60, 0x58, 0xb4, 0xcc, 0x4b, 0x1d, 0xa3, 0x12, 0x9b, 0x58, 0x09, 0xb5, + 0xd3, 0x3f, 0x2d, 0xa6, 0xfc, 0x3e, 0x55, 0x12, 0x14, 0x57, 0xa2, 0xd3, + 0x91, 0xb9, 0x18, 0xe7, 0xdd, 0x7d, 0x6a, 0x3a, 0x20, 0x6a, 0x31, 0xf3, + 0xe2, 0x6c, 0xbe, 0xc0, +}; +static const unsigned char kat4002_nonce[] = {0}; +static const unsigned char kat4002_persstr[] = { + 0x53, 0x53, 0x05, 0x4c, 0xd0, 0x4b, 0x16, 0x5c, 0x6c, 0x5e, 0xb4, 0xef, + 0x06, 0x0c, 0xdf, 0x6c, 0x8d, 0x8d, 0xf6, 0xc4, 0x94, 0x27, 0x45, 0xe2, + 0x1e, 0xb3, 0x63, 0x66, 0xe8, 0xad, 0xcc, 0x58, 0xa4, 0x19, 0x5e, 0x83, + 0xa7, 0x71, 0x62, 0xa3, +}; +static const unsigned char kat4002_entropyinpr1[] = { + 0xab, 0x0a, 0x9b, 0x1a, 0xcb, 0x12, 0x5e, 0x66, 0x41, 0x98, 0xf5, 0x88, + 0xd6, 0x3d, 0x23, 0x8a, 0x41, 0x2d, 0x22, 0x37, 0x1e, 0x98, 0xd7, 0xbc, + 0x1d, 0xd1, 0x50, 0x4a, 0x3d, 0x96, 0xdb, 0xe1, 0x96, 0xd8, 0xf5, 0x0c, + 0xfe, 0xbe, 0x86, 0xd9, +}; +static const unsigned char kat4002_addinpr1[] = {0}; +static const unsigned char kat4002_entropyinpr2[] = { + 0x2e, 0x20, 0x47, 0xec, 0x98, 0xd6, 0x84, 0xbc, 0x21, 0x30, 0xf6, 0x22, + 0xb1, 0xd1, 0x31, 0x20, 0x3a, 0x87, 0x51, 0xe5, 0xbf, 0x57, 0xdf, 0x9b, + 0x58, 0x7f, 0x6c, 0x9a, 0x05, 0x66, 0x78, 0x99, 0x32, 0x94, 0x4b, 0xfc, + 0x48, 0x76, 0x0a, 0xfc, +}; +static const unsigned char kat4002_addinpr2[] = {0}; +static const unsigned char kat4002_retbits[] = { + 0x70, 0x6c, 0x45, 0x57, 0x77, 0x49, 0xf2, 0x7d, 0x3d, 0x91, 0x50, 0xe7, + 0x4d, 0x7b, 0x5e, 0x50, 0x69, 0x95, 0x57, 0x40, 0xa9, 0x4c, 0x10, 0x17, + 0x17, 0xc4, 0xcf, 0x49, 0x7b, 0x0c, 0x4b, 0x99, 0x47, 0x76, 0x00, 0x5d, + 0x68, 0x0d, 0x8a, 0xf4, 0x19, 0xe8, 0xb1, 0x3b, 0x6c, 0x76, 0x65, 0x20, + 0xc4, 0xca, 0xc1, 0x77, 0xed, 0xf6, 0x66, 0xdb, 0x94, 0x49, 0x59, 0x3c, + 0x64, 0x6c, 0x0a, 0xd5, +}; +static const struct drbg_kat_pr_true kat4002_t = { + 11, kat4002_entropyin, kat4002_nonce, kat4002_persstr, + kat4002_entropyinpr1, kat4002_addinpr1, kat4002_entropyinpr2, + kat4002_addinpr2, kat4002_retbits +}; +static const struct drbg_kat kat4002 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4002_t +}; + +static const unsigned char kat4003_entropyin[] = { + 0xe2, 0xf0, 0x24, 0x05, 0x5d, 0x13, 0x73, 0x8b, 0x6c, 0x42, 0x03, 0xda, + 0xba, 0x88, 0xbf, 0x0f, 0x33, 0xbb, 0xb1, 0x60, 0xda, 0x31, 0x14, 0x19, + 0x4c, 0x31, 0xdf, 0x52, 0x94, 0xbe, 0xb1, 0x61, 0xb2, 0x0c, 0x2e, 0x7d, + 0xa7, 0x10, 0xf2, 0x62, +}; +static const unsigned char kat4003_nonce[] = {0}; +static const unsigned char kat4003_persstr[] = { + 0x12, 0xda, 0x60, 0x9a, 0xdd, 0xda, 0xd5, 0x26, 0x86, 0xb2, 0x63, 0x2b, + 0x14, 0x3d, 0xe0, 0xed, 0xde, 0x8c, 0x94, 0xaf, 0xd7, 0xa1, 0x9b, 0x6f, + 0xed, 0x8d, 0x95, 0x1e, 0x89, 0x27, 0xfc, 0xaa, 0x06, 0x94, 0xd5, 0x16, + 0x52, 0xf0, 0xeb, 0x3b, +}; +static const unsigned char kat4003_entropyinpr1[] = { + 0xc6, 0xdf, 0x50, 0x4c, 0x22, 0x69, 0xb9, 0x56, 0xdd, 0xcc, 0xd0, 0xf1, + 0xfa, 0x1d, 0xf0, 0x6c, 0xdb, 0x76, 0xcd, 0x9f, 0x76, 0x10, 0xf5, 0xa7, + 0x32, 0x71, 0x9a, 0x83, 0xda, 0x6e, 0xb5, 0x91, 0x07, 0xe5, 0x88, 0xe0, + 0xaa, 0xf4, 0x2b, 0x7f, +}; +static const unsigned char kat4003_addinpr1[] = {0}; +static const unsigned char kat4003_entropyinpr2[] = { + 0x02, 0xf3, 0x52, 0x39, 0x88, 0x62, 0xd3, 0xe2, 0x35, 0xb0, 0x27, 0x3a, + 0xc2, 0xce, 0x08, 0x30, 0xdb, 0xf7, 0x8d, 0xd4, 0x1d, 0x62, 0x03, 0x26, + 0x94, 0x29, 0x15, 0x8c, 0x8c, 0xb0, 0x8c, 0xfc, 0xc0, 0xab, 0xc3, 0x2b, + 0xd9, 0xef, 0x5f, 0x2f, +}; +static const unsigned char kat4003_addinpr2[] = {0}; +static const unsigned char kat4003_retbits[] = { + 0x31, 0xaf, 0x80, 0x82, 0x42, 0x6e, 0x0a, 0xa3, 0xa2, 0xe1, 0x40, 0x89, + 0xec, 0x83, 0xc3, 0xfa, 0x0a, 0xc2, 0xe9, 0x01, 0xc2, 0xf1, 0x97, 0x8e, + 0xae, 0x68, 0xa0, 0x2b, 0x75, 0x88, 0xb5, 0xce, 0x42, 0x4e, 0x41, 0x22, + 0xd0, 0x5b, 0x8f, 0x32, 0x54, 0xf0, 0x4a, 0xc6, 0x18, 0x2f, 0x8c, 0xcc, + 0x29, 0xfa, 0xa3, 0x29, 0x42, 0xc8, 0x48, 0x6b, 0xa3, 0x5e, 0x22, 0x5f, + 0xc3, 0xe0, 0xf3, 0x02, +}; +static const struct drbg_kat_pr_true kat4003_t = { + 12, kat4003_entropyin, kat4003_nonce, kat4003_persstr, + kat4003_entropyinpr1, kat4003_addinpr1, kat4003_entropyinpr2, + kat4003_addinpr2, kat4003_retbits +}; +static const struct drbg_kat kat4003 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4003_t +}; + +static const unsigned char kat4004_entropyin[] = { + 0xfb, 0xc1, 0xc9, 0x36, 0x2e, 0x9f, 0x8d, 0x01, 0xe3, 0xda, 0xad, 0xe1, + 0x1a, 0xfc, 0x85, 0x3e, 0xdf, 0xc8, 0x1e, 0x9f, 0x90, 0x86, 0x73, 0x16, + 0x98, 0x1f, 0x91, 0x6f, 0xab, 0x1e, 0x4d, 0x0f, 0x43, 0xc0, 0x20, 0x15, + 0x42, 0x00, 0x9e, 0x3d, +}; +static const unsigned char kat4004_nonce[] = {0}; +static const unsigned char kat4004_persstr[] = { + 0x00, 0xa6, 0x55, 0x53, 0xb0, 0x30, 0xa9, 0x96, 0x98, 0xcd, 0x5f, 0x5b, + 0xc6, 0xf6, 0x25, 0x65, 0x82, 0x2d, 0xec, 0x15, 0x1d, 0xc6, 0x2b, 0x75, + 0x2c, 0xb3, 0xa5, 0x92, 0x96, 0x0d, 0x88, 0xd1, 0xf2, 0xe2, 0x80, 0x3e, + 0x69, 0xcb, 0xa5, 0x2c, +}; +static const unsigned char kat4004_entropyinpr1[] = { + 0x14, 0x71, 0xad, 0x5a, 0xa1, 0xb5, 0x07, 0xfb, 0x62, 0xc8, 0x13, 0xad, + 0xb0, 0x56, 0xfe, 0xa3, 0xfe, 0x0c, 0x91, 0xb5, 0x64, 0xd2, 0x62, 0xeb, + 0x34, 0x81, 0xe3, 0x86, 0x79, 0x47, 0x0f, 0xc9, 0xf4, 0x26, 0x1b, 0xa9, + 0xca, 0x62, 0x11, 0xbb, +}; +static const unsigned char kat4004_addinpr1[] = {0}; +static const unsigned char kat4004_entropyinpr2[] = { + 0xa9, 0x68, 0x6d, 0x7e, 0xa1, 0xc0, 0x60, 0xf9, 0xaa, 0xe9, 0xe6, 0x3a, + 0xb3, 0xd5, 0xa4, 0xbc, 0xfc, 0x4f, 0xc9, 0x5d, 0x20, 0xa8, 0x46, 0x5c, + 0x7a, 0x0a, 0x7f, 0x8e, 0x0f, 0x29, 0x97, 0xc4, 0xd3, 0x1a, 0xe7, 0x5d, + 0xbb, 0x05, 0xd9, 0x59, +}; +static const unsigned char kat4004_addinpr2[] = {0}; +static const unsigned char kat4004_retbits[] = { + 0xf6, 0xaf, 0x5f, 0x00, 0x0c, 0xed, 0x2c, 0xff, 0xe1, 0xa0, 0x67, 0xf6, + 0x45, 0xe3, 0xf8, 0x2a, 0xc3, 0x89, 0x76, 0xd8, 0x6d, 0x39, 0x65, 0x01, + 0xc2, 0xe7, 0xa5, 0xb1, 0x0f, 0x43, 0x56, 0x8b, 0xae, 0x4c, 0x3f, 0x33, + 0x22, 0x5a, 0x78, 0x22, 0x8d, 0x81, 0x23, 0x65, 0x01, 0x0d, 0xbb, 0x41, + 0x6e, 0xb5, 0xab, 0xd6, 0xd3, 0x59, 0x0d, 0x7b, 0x59, 0xf4, 0x3d, 0xd9, + 0x30, 0x26, 0xf6, 0x8a, +}; +static const struct drbg_kat_pr_true kat4004_t = { + 13, kat4004_entropyin, kat4004_nonce, kat4004_persstr, + kat4004_entropyinpr1, kat4004_addinpr1, kat4004_entropyinpr2, + kat4004_addinpr2, kat4004_retbits +}; +static const struct drbg_kat kat4004 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4004_t +}; + +static const unsigned char kat4005_entropyin[] = { + 0xca, 0x5c, 0x86, 0x86, 0x0a, 0xa7, 0xcd, 0x91, 0x49, 0x51, 0xe1, 0x5c, + 0xf9, 0xf3, 0xeb, 0xdd, 0x21, 0x30, 0x21, 0x73, 0x14, 0x72, 0x8d, 0xed, + 0x85, 0x4a, 0xfb, 0xc6, 0x02, 0xd4, 0xb0, 0xaf, 0x9a, 0x5a, 0xb0, 0x00, + 0x97, 0x83, 0xc4, 0xdd, +}; +static const unsigned char kat4005_nonce[] = {0}; +static const unsigned char kat4005_persstr[] = { + 0x7b, 0xfb, 0x36, 0x5d, 0x74, 0x9f, 0x31, 0x4d, 0x89, 0x5e, 0x6c, 0xcb, + 0xea, 0x67, 0xfd, 0x37, 0xc8, 0x6b, 0x58, 0x2d, 0x23, 0xd7, 0x9e, 0x3e, + 0x13, 0x16, 0x7b, 0xb8, 0xf9, 0x4f, 0x50, 0x9e, 0xae, 0x70, 0x89, 0xd9, + 0xe6, 0x08, 0x71, 0x71, +}; +static const unsigned char kat4005_entropyinpr1[] = { + 0xb4, 0x59, 0xee, 0xb4, 0x04, 0xa1, 0x48, 0x0b, 0x64, 0xe7, 0xd5, 0x72, + 0xbc, 0xed, 0x36, 0x5b, 0xf8, 0x22, 0x87, 0x80, 0x85, 0x36, 0x3d, 0xaf, + 0x57, 0xe8, 0x94, 0xc2, 0x9e, 0xf8, 0xfb, 0x46, 0xd0, 0xa7, 0x9f, 0xef, + 0x47, 0x13, 0xd2, 0xaf, +}; +static const unsigned char kat4005_addinpr1[] = {0}; +static const unsigned char kat4005_entropyinpr2[] = { + 0xa0, 0x57, 0x87, 0x1a, 0x39, 0x4e, 0x93, 0xe5, 0x8b, 0xa1, 0x91, 0xc2, + 0x39, 0xe2, 0x18, 0x58, 0xa3, 0x12, 0x7a, 0x6b, 0x74, 0x8a, 0x45, 0x05, + 0xed, 0xa4, 0x87, 0xdc, 0x6a, 0x52, 0x93, 0x30, 0x4a, 0xad, 0x36, 0xd5, + 0x2d, 0xa1, 0x32, 0xb6, +}; +static const unsigned char kat4005_addinpr2[] = {0}; +static const unsigned char kat4005_retbits[] = { + 0x96, 0xb2, 0x4e, 0xf7, 0xb1, 0x93, 0x70, 0xcb, 0x3e, 0xc4, 0x0a, 0x47, + 0x63, 0xde, 0x92, 0x69, 0x77, 0xec, 0xbe, 0x6a, 0xf2, 0xfb, 0xa2, 0x01, + 0xe9, 0x83, 0xe7, 0xbb, 0xd7, 0x1b, 0x23, 0xfa, 0x95, 0xbd, 0x31, 0x59, + 0x33, 0xce, 0x2f, 0xb5, 0xa1, 0x0f, 0x4a, 0x12, 0x1c, 0xc5, 0x6b, 0x12, + 0x52, 0x33, 0xf0, 0x9f, 0xf9, 0x20, 0xcc, 0x38, 0x0d, 0xf7, 0xab, 0x55, + 0x13, 0x40, 0x34, 0x57, +}; +static const struct drbg_kat_pr_true kat4005_t = { + 14, kat4005_entropyin, kat4005_nonce, kat4005_persstr, + kat4005_entropyinpr1, kat4005_addinpr1, kat4005_entropyinpr2, + kat4005_addinpr2, kat4005_retbits +}; +static const struct drbg_kat kat4005 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4005_t +}; + +static const unsigned char kat4006_entropyin[] = { + 0xae, 0x61, 0x46, 0xcc, 0x41, 0x58, 0xe4, 0x3d, 0xd1, 0x14, 0x95, 0xa6, + 0xed, 0x62, 0xad, 0xd0, 0x04, 0x2f, 0x72, 0xc1, 0x5b, 0x8d, 0xdb, 0x26, + 0xb1, 0xf8, 0x59, 0x24, 0x9d, 0xed, 0xa2, 0x69, 0x4b, 0xdd, 0xb9, 0x5a, + 0x58, 0x52, 0x6b, 0xe3, +}; +static const unsigned char kat4006_nonce[] = {0}; +static const unsigned char kat4006_persstr[] = { + 0x1c, 0xa5, 0x8d, 0xbe, 0xbb, 0x6f, 0x45, 0xb7, 0xbc, 0xbe, 0x01, 0x9a, + 0xa6, 0x60, 0x27, 0xbe, 0xbb, 0xe1, 0xb7, 0xf7, 0x2e, 0x46, 0xb0, 0xfd, + 0x95, 0x59, 0x63, 0xd0, 0xba, 0x3b, 0xa5, 0x75, 0xa6, 0xec, 0xb6, 0xce, + 0xe9, 0xb9, 0x1c, 0x55, +}; +static const unsigned char kat4006_entropyinpr1[] = { + 0x7c, 0x24, 0x70, 0x3e, 0xe8, 0xd4, 0x54, 0x10, 0x58, 0xa4, 0x8a, 0xa6, + 0x67, 0xe1, 0xf8, 0xe0, 0x89, 0x5f, 0x51, 0x45, 0xa0, 0x70, 0x6b, 0xb7, + 0x5d, 0x98, 0x98, 0xf6, 0xdc, 0xe5, 0x82, 0x9e, 0x05, 0x40, 0x92, 0x52, + 0x5c, 0x4e, 0x62, 0xb3, +}; +static const unsigned char kat4006_addinpr1[] = { + 0x06, 0x3d, 0xa9, 0x9d, 0xbe, 0x15, 0x70, 0x77, 0xa3, 0x95, 0x9a, 0x12, + 0xe1, 0x12, 0x3f, 0x96, 0x76, 0x72, 0x15, 0xd0, 0x55, 0xc7, 0xc4, 0xf6, + 0x16, 0x69, 0x1a, 0x8f, 0x98, 0xec, 0x2e, 0x28, 0xe5, 0x04, 0x52, 0x80, + 0x05, 0xa7, 0xdf, 0x45, +}; +static const unsigned char kat4006_entropyinpr2[] = { + 0xc1, 0x3b, 0xd6, 0x87, 0x49, 0xd7, 0x7d, 0x35, 0xe8, 0xc9, 0x00, 0xa9, + 0x7a, 0x1d, 0x95, 0x4f, 0x6d, 0x7a, 0x96, 0x0b, 0xc4, 0x3c, 0xb2, 0xf7, + 0x8e, 0x5a, 0x24, 0x09, 0x5d, 0x4a, 0x42, 0x7c, 0xa7, 0x4d, 0x21, 0xc9, + 0xad, 0x97, 0x68, 0x51, +}; +static const unsigned char kat4006_addinpr2[] = { + 0x19, 0x54, 0x61, 0xf3, 0x1e, 0xcb, 0xef, 0x6a, 0xee, 0x22, 0x79, 0xaf, + 0x4f, 0x86, 0xd6, 0xd8, 0xe7, 0xb7, 0x80, 0x10, 0x3b, 0xc7, 0x7a, 0xe6, + 0x09, 0xab, 0xa2, 0xdc, 0xa0, 0xdb, 0xa7, 0xe2, 0x22, 0x99, 0x30, 0x8b, + 0x10, 0x9a, 0xe2, 0xad, +}; +static const unsigned char kat4006_retbits[] = { + 0x54, 0x9c, 0xd9, 0x20, 0x02, 0x42, 0xda, 0x73, 0x3a, 0xb4, 0xde, 0x01, + 0x8e, 0xa2, 0xde, 0x63, 0x8a, 0xe6, 0x7d, 0x87, 0x95, 0x39, 0xcb, 0x1d, + 0xef, 0x16, 0xf2, 0xb2, 0x74, 0x61, 0x88, 0x54, 0xfa, 0xf4, 0x21, 0x1d, + 0x92, 0x4f, 0xdc, 0x7a, 0x3b, 0x56, 0xa9, 0x87, 0x3a, 0x7b, 0x36, 0x8b, + 0x66, 0x7b, 0xb1, 0x34, 0x8c, 0x1b, 0x22, 0x49, 0x91, 0xa4, 0xc7, 0xe5, + 0xbe, 0x55, 0xc8, 0x0d, +}; +static const struct drbg_kat_pr_true kat4006_t = { + 0, kat4006_entropyin, kat4006_nonce, kat4006_persstr, + kat4006_entropyinpr1, kat4006_addinpr1, kat4006_entropyinpr2, + kat4006_addinpr2, kat4006_retbits +}; +static const struct drbg_kat kat4006 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4006_t +}; + +static const unsigned char kat4007_entropyin[] = { + 0x23, 0xb4, 0x32, 0xdb, 0xde, 0xc4, 0x3f, 0x7b, 0x00, 0x1d, 0xcb, 0xfb, + 0x05, 0xa8, 0xe5, 0xd8, 0xa4, 0xe3, 0x44, 0x69, 0x01, 0x32, 0xe0, 0xb2, + 0xb7, 0xef, 0x03, 0x62, 0x03, 0xaa, 0x70, 0x99, 0xc7, 0x3d, 0xcc, 0x39, + 0x86, 0xa2, 0x96, 0xc2, +}; +static const unsigned char kat4007_nonce[] = {0}; +static const unsigned char kat4007_persstr[] = { + 0x7f, 0x75, 0x85, 0xd6, 0xe3, 0x77, 0x00, 0x8a, 0xe8, 0x52, 0x85, 0x05, + 0xbc, 0x66, 0x0a, 0x64, 0x66, 0x79, 0x8b, 0x48, 0x18, 0x68, 0x6d, 0x36, + 0x1a, 0x9a, 0x2b, 0xd7, 0xe2, 0x64, 0x9d, 0xdf, 0x46, 0xbc, 0xec, 0xdb, + 0x89, 0x42, 0x02, 0x1f, +}; +static const unsigned char kat4007_entropyinpr1[] = { + 0x5b, 0x7d, 0xff, 0xf5, 0x27, 0xea, 0x21, 0xd6, 0xdc, 0xa7, 0x34, 0x34, + 0x7e, 0x01, 0xb7, 0xa4, 0x2f, 0xf0, 0x89, 0xac, 0x7b, 0xbc, 0x78, 0x19, + 0xec, 0x09, 0x6a, 0xde, 0x7f, 0xb5, 0xb7, 0x16, 0xd6, 0x76, 0x54, 0x89, + 0xb6, 0x39, 0x85, 0x3e, +}; +static const unsigned char kat4007_addinpr1[] = { + 0xa2, 0xff, 0xc2, 0x2d, 0x8a, 0xd7, 0x8f, 0x63, 0x6b, 0x3b, 0xec, 0x24, + 0xb5, 0x9b, 0x48, 0x7c, 0x1c, 0xed, 0x6b, 0x54, 0x26, 0xce, 0xac, 0xc8, + 0x11, 0x96, 0x6c, 0x57, 0xbd, 0x4b, 0xd7, 0xe7, 0x0a, 0x72, 0x70, 0x62, + 0xe1, 0x34, 0x07, 0x75, +}; +static const unsigned char kat4007_entropyinpr2[] = { + 0x15, 0x7e, 0x7b, 0x1c, 0x10, 0x50, 0xbc, 0x4b, 0x9d, 0xce, 0xba, 0xfa, + 0xb6, 0xb4, 0xf0, 0x35, 0x4d, 0x87, 0x2a, 0x3a, 0xb7, 0xf0, 0x08, 0xc7, + 0xfb, 0xda, 0x08, 0xad, 0x91, 0x94, 0x46, 0xd7, 0xb2, 0xc8, 0xc6, 0xd4, + 0xbf, 0x96, 0xd0, 0xf1, +}; +static const unsigned char kat4007_addinpr2[] = { + 0x1c, 0xf7, 0x9d, 0x49, 0xe4, 0x0b, 0x5f, 0xc2, 0x2d, 0x0b, 0xbf, 0x50, + 0xa4, 0x41, 0x4a, 0xea, 0x49, 0x86, 0x48, 0xbe, 0x18, 0xd3, 0x8c, 0x06, + 0xd5, 0xbc, 0x2d, 0x77, 0x9a, 0xd1, 0x02, 0x41, 0xb3, 0xc6, 0x3d, 0x9d, + 0x2b, 0x68, 0xd3, 0x89, +}; +static const unsigned char kat4007_retbits[] = { + 0x35, 0x3d, 0x83, 0x9b, 0xec, 0xd1, 0x59, 0x11, 0xee, 0xe7, 0x1b, 0x5f, + 0x64, 0xb1, 0x00, 0x17, 0x14, 0xde, 0x4b, 0x85, 0xfb, 0x85, 0x92, 0xd2, + 0xf3, 0x16, 0xd1, 0x27, 0x01, 0x6c, 0xa0, 0xa1, 0xf0, 0x36, 0x7d, 0x10, + 0x8e, 0x40, 0x5f, 0xf6, 0x85, 0xf3, 0x7c, 0x1a, 0xbe, 0x46, 0xd4, 0x67, + 0xa6, 0x04, 0xd8, 0x11, 0xe5, 0x83, 0x10, 0x6d, 0x63, 0xc8, 0x9d, 0x7e, + 0xfc, 0x9d, 0x1f, 0x9e, +}; +static const struct drbg_kat_pr_true kat4007_t = { + 1, kat4007_entropyin, kat4007_nonce, kat4007_persstr, + kat4007_entropyinpr1, kat4007_addinpr1, kat4007_entropyinpr2, + kat4007_addinpr2, kat4007_retbits +}; +static const struct drbg_kat kat4007 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4007_t +}; + +static const unsigned char kat4008_entropyin[] = { + 0x19, 0x85, 0x6e, 0xb8, 0x31, 0xe9, 0x3b, 0x84, 0xba, 0x15, 0x49, 0x6b, + 0xa8, 0xe9, 0xc4, 0x4c, 0x0d, 0xc2, 0xed, 0x07, 0x2d, 0x29, 0xfb, 0xbf, + 0x81, 0xc9, 0x86, 0x53, 0xf3, 0x7c, 0xc6, 0x99, 0xf4, 0xdd, 0xdd, 0x6c, + 0x68, 0x5d, 0x12, 0xf7, +}; +static const unsigned char kat4008_nonce[] = {0}; +static const unsigned char kat4008_persstr[] = { + 0x8d, 0x76, 0x35, 0x82, 0x01, 0x1b, 0x59, 0x00, 0xab, 0xe6, 0x60, 0xc8, + 0xf8, 0x66, 0x69, 0xec, 0x48, 0xc2, 0xa7, 0x03, 0x32, 0x62, 0x32, 0xe3, + 0x4d, 0xe0, 0x46, 0x6e, 0xad, 0xa1, 0x2b, 0x45, 0x9a, 0x4c, 0x7a, 0x2d, + 0xae, 0x89, 0x89, 0x7b, +}; +static const unsigned char kat4008_entropyinpr1[] = { + 0x05, 0x2b, 0x2e, 0x28, 0x8c, 0x4b, 0x0f, 0x94, 0xb1, 0xb8, 0x9e, 0xbc, + 0x99, 0x2b, 0x40, 0x0f, 0xd6, 0x44, 0x75, 0x9a, 0x16, 0x5b, 0x4c, 0x69, + 0x3e, 0xf9, 0x29, 0xe9, 0x97, 0x07, 0x60, 0xd2, 0x23, 0x52, 0x9b, 0xab, + 0x87, 0x97, 0xcf, 0x57, +}; +static const unsigned char kat4008_addinpr1[] = { + 0x1b, 0xcc, 0x0c, 0x9b, 0xd3, 0x4f, 0xf4, 0x90, 0x68, 0xa1, 0x32, 0x8f, + 0xdd, 0xaa, 0xcf, 0x9a, 0x32, 0xb1, 0x66, 0x11, 0x44, 0x58, 0x78, 0x4b, + 0x71, 0xb3, 0x10, 0x08, 0x6f, 0x22, 0x92, 0x8f, 0x37, 0x41, 0x6f, 0xc0, + 0x60, 0x22, 0x5b, 0x17, +}; +static const unsigned char kat4008_entropyinpr2[] = { + 0xfd, 0x33, 0xc6, 0xc1, 0x3d, 0xd6, 0xbc, 0xc0, 0x4b, 0xd7, 0xe2, 0x4c, + 0xd8, 0x02, 0xfc, 0xed, 0xfa, 0x5a, 0x0c, 0xca, 0x20, 0x7d, 0x9b, 0x50, + 0x91, 0x6a, 0x51, 0x2d, 0xc7, 0x44, 0xcd, 0x06, 0x5b, 0xb2, 0xbe, 0xfa, + 0xdf, 0x53, 0x96, 0x35, +}; +static const unsigned char kat4008_addinpr2[] = { + 0xc0, 0xc6, 0xb1, 0x06, 0xea, 0xdf, 0xe5, 0xb0, 0x84, 0xa6, 0xba, 0x02, + 0xe9, 0x18, 0x9d, 0x77, 0x4f, 0x61, 0x61, 0xe8, 0xaf, 0x36, 0x66, 0xa2, + 0x12, 0xa0, 0x91, 0x28, 0xea, 0x83, 0x33, 0xf0, 0xed, 0x14, 0xef, 0x54, + 0x4e, 0x13, 0xc0, 0x3e, +}; +static const unsigned char kat4008_retbits[] = { + 0x31, 0x0b, 0xa8, 0x34, 0xa4, 0x92, 0xa9, 0x7c, 0x27, 0x69, 0xfe, 0xe2, + 0x6a, 0x66, 0xa0, 0xb0, 0x4a, 0xe8, 0x60, 0x26, 0x3f, 0x1a, 0x75, 0xcd, + 0xd6, 0x1d, 0xb7, 0xf9, 0x70, 0x6f, 0x89, 0x2a, 0xe2, 0x43, 0xb3, 0xf8, + 0x6f, 0xef, 0x47, 0x50, 0x8d, 0xe9, 0x67, 0x0e, 0x78, 0xc2, 0x9f, 0x69, + 0x47, 0xb4, 0x93, 0xa5, 0x63, 0x86, 0xb0, 0xd5, 0x1f, 0x2a, 0x72, 0x9b, + 0x4d, 0xd2, 0x19, 0x4a, +}; +static const struct drbg_kat_pr_true kat4008_t = { + 2, kat4008_entropyin, kat4008_nonce, kat4008_persstr, + kat4008_entropyinpr1, kat4008_addinpr1, kat4008_entropyinpr2, + kat4008_addinpr2, kat4008_retbits +}; +static const struct drbg_kat kat4008 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4008_t +}; + +static const unsigned char kat4009_entropyin[] = { + 0x56, 0x06, 0x6f, 0x35, 0xd5, 0x29, 0xff, 0x27, 0x1a, 0xed, 0xe8, 0xb1, + 0x3c, 0x09, 0x7b, 0x02, 0xc3, 0xbb, 0x13, 0xc8, 0x4a, 0x04, 0x51, 0x8e, + 0xd3, 0xd6, 0xfb, 0xa4, 0xf0, 0xbf, 0x3a, 0x19, 0x6b, 0x37, 0x60, 0x9e, + 0x26, 0xb7, 0xaf, 0xa9, +}; +static const unsigned char kat4009_nonce[] = {0}; +static const unsigned char kat4009_persstr[] = { + 0x76, 0xe8, 0xd8, 0xd7, 0x13, 0xed, 0x43, 0xa9, 0xa1, 0xdc, 0x12, 0xd4, + 0x6d, 0x70, 0x37, 0xb1, 0x3f, 0xa1, 0x62, 0x74, 0x37, 0x31, 0x83, 0x41, + 0xac, 0xb2, 0xb8, 0x3c, 0x8c, 0x8a, 0x0c, 0x0a, 0x32, 0x70, 0xeb, 0x9a, + 0xb3, 0x4b, 0x4c, 0x74, +}; +static const unsigned char kat4009_entropyinpr1[] = { + 0x3f, 0x77, 0xa6, 0x62, 0x3d, 0x07, 0xc7, 0x50, 0x5a, 0x78, 0xec, 0x38, + 0xda, 0x6f, 0xea, 0x5f, 0x3d, 0x07, 0xe4, 0xfb, 0x95, 0xdd, 0x6d, 0x52, + 0xd9, 0x4c, 0x75, 0x0a, 0x4b, 0x85, 0x5f, 0x68, 0xec, 0xfb, 0x8a, 0x80, + 0xad, 0x42, 0x8a, 0xab, +}; +static const unsigned char kat4009_addinpr1[] = { + 0x21, 0x01, 0x51, 0xe3, 0xd0, 0x6b, 0x0c, 0x68, 0xa2, 0xce, 0x6f, 0x09, + 0x12, 0x25, 0x33, 0xa9, 0x4f, 0x68, 0x46, 0xac, 0x7d, 0xa5, 0x9d, 0xcc, + 0x20, 0xf1, 0xdf, 0x22, 0xcc, 0xe0, 0x48, 0x55, 0xc1, 0xec, 0x71, 0xcd, + 0x33, 0xd7, 0x0c, 0xa6, +}; +static const unsigned char kat4009_entropyinpr2[] = { + 0x0e, 0x2c, 0x68, 0x07, 0xce, 0x26, 0xb5, 0x68, 0xb9, 0xf0, 0xe5, 0xe2, + 0xdd, 0xb2, 0xcc, 0xbd, 0x4c, 0xc1, 0xc6, 0xbf, 0x97, 0x28, 0x0b, 0xd9, + 0xa9, 0x09, 0xea, 0x41, 0xcb, 0x5f, 0x63, 0x91, 0x14, 0x33, 0xb6, 0xac, + 0x9b, 0x0c, 0xbf, 0x6d, +}; +static const unsigned char kat4009_addinpr2[] = { + 0x44, 0x23, 0x5f, 0x35, 0xc5, 0xa2, 0xaf, 0x16, 0xa0, 0x2d, 0x59, 0xe7, + 0xc3, 0x32, 0x30, 0x8b, 0x39, 0x17, 0x7e, 0x2a, 0x85, 0xe0, 0x34, 0x05, + 0x1b, 0x73, 0x20, 0x9b, 0x29, 0x42, 0xf1, 0xb2, 0x5b, 0xa3, 0x70, 0xb0, + 0x51, 0xbb, 0x12, 0xbf, +}; +static const unsigned char kat4009_retbits[] = { + 0x6a, 0x1b, 0x46, 0xc3, 0x4f, 0x2e, 0xe8, 0xb0, 0xa6, 0x0a, 0x2b, 0x1f, + 0xc7, 0x7b, 0x05, 0x40, 0x01, 0x20, 0xc7, 0x83, 0x47, 0xc9, 0x35, 0x6e, + 0xcc, 0xbd, 0xf7, 0x3c, 0x97, 0xea, 0xe1, 0xea, 0xb7, 0x72, 0x06, 0xe2, + 0x35, 0xfb, 0xbe, 0x47, 0x22, 0x93, 0x7f, 0xbb, 0x78, 0x38, 0x7e, 0xd5, + 0x06, 0x02, 0xa8, 0x2f, 0x2d, 0x88, 0x0f, 0x6a, 0x01, 0x90, 0xd8, 0x46, + 0xe9, 0x8d, 0x65, 0xbe, +}; +static const struct drbg_kat_pr_true kat4009_t = { + 3, kat4009_entropyin, kat4009_nonce, kat4009_persstr, + kat4009_entropyinpr1, kat4009_addinpr1, kat4009_entropyinpr2, + kat4009_addinpr2, kat4009_retbits +}; +static const struct drbg_kat kat4009 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4009_t +}; + +static const unsigned char kat4010_entropyin[] = { + 0x33, 0xc8, 0x79, 0x5c, 0x0b, 0x61, 0xa0, 0x87, 0xc7, 0x60, 0x91, 0xb7, + 0x78, 0x71, 0x6a, 0xa7, 0x1a, 0x46, 0xde, 0x8e, 0x00, 0xcf, 0xbb, 0xe8, + 0xc6, 0x7f, 0xe3, 0xac, 0x76, 0xc8, 0x25, 0x82, 0x9e, 0x3a, 0x91, 0x03, + 0x0c, 0xfb, 0xd0, 0xfd, +}; +static const unsigned char kat4010_nonce[] = {0}; +static const unsigned char kat4010_persstr[] = { + 0xf7, 0x6d, 0x80, 0x17, 0x28, 0x71, 0xf7, 0x49, 0x43, 0x84, 0x36, 0xd0, + 0x72, 0xfd, 0xa5, 0x06, 0x98, 0xda, 0x15, 0x1b, 0x71, 0x3f, 0xee, 0xfc, + 0x38, 0x59, 0x7a, 0x12, 0xd8, 0xb8, 0x1c, 0xa0, 0x09, 0xea, 0xf0, 0xa6, + 0xe9, 0xfd, 0xd0, 0xfd, +}; +static const unsigned char kat4010_entropyinpr1[] = { + 0x5b, 0x45, 0x6b, 0x6b, 0xd9, 0x31, 0xb0, 0xa5, 0x7c, 0x1c, 0x6a, 0x96, + 0x8f, 0xf2, 0xa3, 0x98, 0xce, 0xba, 0xd4, 0xfb, 0x00, 0x29, 0x43, 0x31, + 0x52, 0x3f, 0xa7, 0x58, 0x99, 0x00, 0xcd, 0xb0, 0xb7, 0x7b, 0x4a, 0xfb, + 0x83, 0xc3, 0xfe, 0xb4, +}; +static const unsigned char kat4010_addinpr1[] = { + 0x5d, 0x61, 0xf8, 0x2e, 0xee, 0x6f, 0x89, 0xfa, 0x57, 0xb3, 0x32, 0x66, + 0xda, 0xf6, 0x40, 0x3d, 0xbf, 0x6f, 0x86, 0xdc, 0xad, 0x92, 0x0e, 0xd9, + 0x64, 0x9d, 0x0c, 0x57, 0xf5, 0x9a, 0xef, 0xf3, 0xa1, 0x19, 0xb7, 0x64, + 0x05, 0xeb, 0x7f, 0xe9, +}; +static const unsigned char kat4010_entropyinpr2[] = { + 0x08, 0xf3, 0xe9, 0x96, 0xa4, 0x71, 0x1a, 0xa2, 0x44, 0x4d, 0xcb, 0x05, + 0xf5, 0x0c, 0xd0, 0x6c, 0x6a, 0x8c, 0xa2, 0xcd, 0x2c, 0xec, 0x2a, 0xfb, + 0x44, 0x49, 0x16, 0x6e, 0x47, 0xcc, 0x9a, 0xf3, 0xae, 0xa2, 0xdd, 0xe0, + 0xa1, 0xf8, 0x51, 0x8d, +}; +static const unsigned char kat4010_addinpr2[] = { + 0x12, 0x38, 0x98, 0x04, 0x05, 0x05, 0x5f, 0xf7, 0x07, 0x6c, 0x8e, 0x2f, + 0x2f, 0xc8, 0xf4, 0x16, 0xa6, 0x95, 0x55, 0x12, 0xe6, 0x12, 0xcb, 0xbe, + 0x7e, 0x7e, 0x46, 0x7a, 0x90, 0xab, 0xe9, 0x26, 0x1e, 0x6d, 0x0b, 0x5b, + 0xfe, 0x1e, 0x88, 0xa3, +}; +static const unsigned char kat4010_retbits[] = { + 0xb0, 0xa2, 0x0a, 0x0e, 0x04, 0x48, 0x2a, 0xac, 0xff, 0xf5, 0xb3, 0x55, + 0x55, 0x28, 0x56, 0x06, 0x6b, 0x19, 0xbd, 0xd0, 0x4f, 0x9b, 0x37, 0xc6, + 0x99, 0x9a, 0x62, 0x3a, 0xbd, 0xfb, 0x34, 0x7f, 0x99, 0x03, 0x0c, 0xef, + 0xda, 0x9e, 0x6c, 0x3c, 0x90, 0x5a, 0x70, 0xbf, 0x6e, 0x0f, 0x29, 0x96, + 0xe7, 0xa3, 0x94, 0xde, 0x2c, 0xce, 0x1c, 0x95, 0xf1, 0x3f, 0x93, 0x5f, + 0xee, 0x2a, 0xdc, 0x99, +}; +static const struct drbg_kat_pr_true kat4010_t = { + 4, kat4010_entropyin, kat4010_nonce, kat4010_persstr, + kat4010_entropyinpr1, kat4010_addinpr1, kat4010_entropyinpr2, + kat4010_addinpr2, kat4010_retbits +}; +static const struct drbg_kat kat4010 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4010_t +}; + +static const unsigned char kat4011_entropyin[] = { + 0x30, 0xe2, 0x06, 0xb7, 0x48, 0xa9, 0x6d, 0xbf, 0x9a, 0xe0, 0xe1, 0xd8, + 0x8d, 0xc4, 0x56, 0xff, 0x95, 0xab, 0xe4, 0x56, 0xbb, 0xdf, 0x65, 0xba, + 0xb1, 0xea, 0x00, 0xc4, 0xc7, 0xe4, 0xf8, 0xad, 0xcf, 0x5e, 0x0a, 0x44, + 0x84, 0xb1, 0xa0, 0x92, +}; +static const unsigned char kat4011_nonce[] = {0}; +static const unsigned char kat4011_persstr[] = { + 0x34, 0x3f, 0x74, 0x67, 0xea, 0x7b, 0x15, 0x6b, 0x6e, 0x82, 0x19, 0x32, + 0x24, 0xd5, 0xbb, 0xd5, 0x06, 0xf6, 0x7d, 0xbc, 0xa1, 0x94, 0x0e, 0x8d, + 0xe7, 0xac, 0x77, 0xe0, 0x28, 0x24, 0x23, 0xe5, 0x43, 0x90, 0x72, 0x3a, + 0xc4, 0x7b, 0x53, 0xc0, +}; +static const unsigned char kat4011_entropyinpr1[] = { + 0x28, 0x7e, 0x92, 0xd2, 0x86, 0xd3, 0x9e, 0x12, 0xc8, 0x27, 0x32, 0x90, + 0x0b, 0x90, 0x29, 0x3f, 0x63, 0xc6, 0x3d, 0x1f, 0x5e, 0xee, 0x56, 0x23, + 0x74, 0xe5, 0xd3, 0x29, 0xcd, 0x69, 0x25, 0x3e, 0x2e, 0x83, 0x61, 0xd0, + 0xd2, 0xa0, 0x46, 0x24, +}; +static const unsigned char kat4011_addinpr1[] = { + 0x1a, 0x08, 0xff, 0x30, 0xf8, 0x38, 0x64, 0x14, 0x6e, 0x73, 0xb4, 0x26, + 0x5f, 0xac, 0xae, 0x4d, 0x9f, 0x87, 0x20, 0x51, 0xcf, 0x11, 0x32, 0xfb, + 0x41, 0xcb, 0xc9, 0xb4, 0xf5, 0x80, 0xb1, 0xd8, 0x62, 0x3a, 0x8f, 0x14, + 0x6a, 0x5b, 0xc6, 0xd4, +}; +static const unsigned char kat4011_entropyinpr2[] = { + 0xec, 0x38, 0x52, 0x88, 0x7e, 0x7c, 0x2a, 0xf9, 0x23, 0x76, 0x69, 0xef, + 0x24, 0x09, 0x9c, 0xa3, 0xf8, 0x65, 0xe6, 0x83, 0xfe, 0x6f, 0xcd, 0x05, + 0x95, 0xfd, 0x9a, 0x13, 0xbb, 0x43, 0x90, 0x5a, 0x05, 0x2b, 0x7e, 0xea, + 0x43, 0x62, 0x06, 0x4a, +}; +static const unsigned char kat4011_addinpr2[] = { + 0x38, 0x7a, 0x41, 0xb5, 0xca, 0xb0, 0xc6, 0xac, 0x18, 0x2c, 0x5f, 0x13, + 0x76, 0xf1, 0x2e, 0xc2, 0xdb, 0xd8, 0x21, 0xf7, 0x04, 0x83, 0x42, 0x6c, + 0xa4, 0x80, 0x16, 0x27, 0x5b, 0xa9, 0x8d, 0x6f, 0x37, 0x00, 0xe8, 0xd8, + 0xcc, 0xc2, 0x03, 0xa6, +}; +static const unsigned char kat4011_retbits[] = { + 0x97, 0xf5, 0x6a, 0xcc, 0x3f, 0xfa, 0x66, 0x3c, 0x3b, 0x5b, 0x34, 0x98, + 0xea, 0x3f, 0x78, 0x71, 0xaf, 0xf4, 0x64, 0x97, 0xdc, 0xa1, 0xd9, 0x3d, + 0x5b, 0x9f, 0xa3, 0x84, 0x5b, 0x91, 0xf0, 0x20, 0x13, 0xc2, 0x3e, 0x90, + 0x21, 0xf1, 0x65, 0xa2, 0x7d, 0x98, 0x51, 0x5f, 0x4c, 0xca, 0xc2, 0x3c, + 0x35, 0x45, 0x39, 0x6b, 0x59, 0x63, 0x80, 0x38, 0x86, 0xb0, 0x23, 0x5a, + 0x04, 0xa7, 0xc5, 0xed, +}; +static const struct drbg_kat_pr_true kat4011_t = { + 5, kat4011_entropyin, kat4011_nonce, kat4011_persstr, + kat4011_entropyinpr1, kat4011_addinpr1, kat4011_entropyinpr2, + kat4011_addinpr2, kat4011_retbits +}; +static const struct drbg_kat kat4011 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4011_t +}; + +static const unsigned char kat4012_entropyin[] = { + 0xac, 0x9e, 0x77, 0x8e, 0xbf, 0xde, 0x8c, 0x77, 0xe2, 0x8c, 0x32, 0x36, + 0xba, 0x1a, 0xdf, 0x00, 0x1e, 0x28, 0x05, 0x5c, 0x49, 0x6e, 0xe3, 0x8a, + 0xb6, 0x26, 0xd5, 0xaa, 0x94, 0xad, 0xa7, 0x20, 0xd7, 0x54, 0x6e, 0x62, + 0x66, 0x25, 0x42, 0x0a, +}; +static const unsigned char kat4012_nonce[] = {0}; +static const unsigned char kat4012_persstr[] = { + 0xde, 0xa2, 0x68, 0x43, 0x8f, 0x4c, 0xc4, 0x7b, 0xe0, 0x05, 0x9c, 0x48, + 0x15, 0x3b, 0x90, 0x02, 0x25, 0xe3, 0xca, 0xa6, 0x0f, 0xc7, 0x68, 0x14, + 0xc0, 0x12, 0xa5, 0xc4, 0xf6, 0x62, 0xca, 0x9c, 0xc6, 0xa4, 0x74, 0xef, + 0x6f, 0xc9, 0xbb, 0x5d, +}; +static const unsigned char kat4012_entropyinpr1[] = { + 0xd4, 0xb1, 0x77, 0x5c, 0xa5, 0x17, 0x4e, 0xe2, 0xe3, 0x31, 0xef, 0x09, + 0x68, 0xac, 0xd2, 0x06, 0xe8, 0xe1, 0x61, 0x9c, 0xf2, 0x21, 0x34, 0xfb, + 0x5f, 0x64, 0x12, 0x98, 0x4a, 0xe8, 0x84, 0xcf, 0x66, 0xe2, 0xd7, 0x99, + 0x94, 0xd3, 0xd4, 0x1a, +}; +static const unsigned char kat4012_addinpr1[] = { + 0x8c, 0xdc, 0x1b, 0x9d, 0xe0, 0xee, 0xb9, 0x8e, 0x4d, 0x0c, 0x90, 0x1f, + 0xa2, 0x56, 0x0a, 0xc2, 0xc9, 0xb8, 0x29, 0x05, 0x52, 0x60, 0xc8, 0x6c, + 0xc4, 0x3d, 0x42, 0x14, 0x41, 0x20, 0x85, 0x55, 0x84, 0xd5, 0x68, 0x93, + 0x81, 0xe0, 0x99, 0x7a, +}; +static const unsigned char kat4012_entropyinpr2[] = { + 0x14, 0x48, 0x4e, 0x90, 0xe7, 0x09, 0x69, 0xd1, 0xb0, 0x95, 0x0d, 0x41, + 0x58, 0x45, 0x29, 0x1c, 0x91, 0x2c, 0x86, 0x19, 0x4c, 0x87, 0x59, 0x4d, + 0xd3, 0x79, 0x7f, 0x8c, 0x7a, 0x29, 0xf9, 0x43, 0x88, 0xdf, 0xd9, 0x1c, + 0x44, 0xc8, 0x26, 0x17, +}; +static const unsigned char kat4012_addinpr2[] = { + 0xb1, 0x7d, 0x75, 0x28, 0x07, 0x5a, 0x21, 0x31, 0x41, 0x39, 0x16, 0x15, + 0xab, 0x9a, 0x43, 0x4b, 0x77, 0xe7, 0x48, 0x28, 0x6f, 0x2d, 0x36, 0x44, + 0x8e, 0x3e, 0x37, 0xe6, 0xbf, 0x42, 0xd0, 0x5d, 0x61, 0x9f, 0x57, 0x73, + 0x75, 0x6a, 0x03, 0x14, +}; +static const unsigned char kat4012_retbits[] = { + 0x4a, 0x29, 0x56, 0x7b, 0x43, 0x73, 0x1e, 0x54, 0x1b, 0xde, 0x37, 0xd9, + 0x6c, 0xd5, 0x24, 0x45, 0x82, 0xa7, 0xc3, 0x72, 0xc9, 0x16, 0x3b, 0x94, + 0x38, 0x1d, 0x42, 0x7f, 0x0e, 0x8e, 0x66, 0xb4, 0xce, 0xa5, 0x3f, 0xea, + 0x2d, 0xe6, 0x74, 0x50, 0xe3, 0x59, 0x5d, 0x51, 0x1e, 0xee, 0xc0, 0xe5, + 0x92, 0x00, 0x92, 0x31, 0x69, 0xbe, 0x45, 0x83, 0x9b, 0x42, 0x34, 0x8b, + 0x34, 0x55, 0x1c, 0x1c, +}; +static const struct drbg_kat_pr_true kat4012_t = { + 6, kat4012_entropyin, kat4012_nonce, kat4012_persstr, + kat4012_entropyinpr1, kat4012_addinpr1, kat4012_entropyinpr2, + kat4012_addinpr2, kat4012_retbits +}; +static const struct drbg_kat kat4012 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4012_t +}; + +static const unsigned char kat4013_entropyin[] = { + 0x08, 0xf3, 0xec, 0x3f, 0x8c, 0xd4, 0xbc, 0xcf, 0x69, 0x45, 0xb8, 0x8b, + 0xbd, 0x2f, 0xb2, 0x3f, 0xfc, 0xcd, 0x7f, 0x9e, 0x96, 0x88, 0xef, 0x6f, + 0xe3, 0xfb, 0x82, 0x92, 0x7a, 0xac, 0xb7, 0x23, 0x0c, 0x60, 0xbd, 0x4e, + 0x8b, 0x13, 0xb2, 0xc9, +}; +static const unsigned char kat4013_nonce[] = {0}; +static const unsigned char kat4013_persstr[] = { + 0xa6, 0x4b, 0x0a, 0x67, 0x1d, 0x12, 0xe5, 0xc0, 0x1b, 0x98, 0x32, 0x1a, + 0x76, 0x43, 0x00, 0x04, 0xc1, 0x34, 0x61, 0x6d, 0x09, 0xcc, 0x8f, 0xa3, + 0x93, 0xf7, 0xf5, 0xdc, 0xe2, 0x75, 0xfc, 0x96, 0xcd, 0x85, 0x0f, 0x8a, + 0x16, 0x62, 0x7f, 0xfc, +}; +static const unsigned char kat4013_entropyinpr1[] = { + 0x22, 0x9a, 0x7a, 0xcd, 0xda, 0x3d, 0x73, 0xe8, 0x7e, 0x98, 0x58, 0x53, + 0x7b, 0xc0, 0x2a, 0x53, 0x7d, 0x91, 0xf1, 0x10, 0xac, 0x3a, 0xa7, 0xf4, + 0x63, 0x9f, 0xcc, 0x6e, 0xa0, 0x62, 0xee, 0xd8, 0xee, 0xf7, 0x28, 0x9f, + 0x7f, 0x08, 0x57, 0x44, +}; +static const unsigned char kat4013_addinpr1[] = { + 0xed, 0x48, 0xa1, 0xd6, 0x40, 0xf6, 0x82, 0xbf, 0xcc, 0x92, 0xd2, 0x15, + 0x87, 0x9f, 0x59, 0xaf, 0x71, 0x53, 0x81, 0x58, 0x59, 0x25, 0xfe, 0xc5, + 0xf1, 0x0e, 0x98, 0xf6, 0xb7, 0x97, 0x47, 0xde, 0x72, 0xf2, 0xfc, 0x22, + 0xaa, 0x0e, 0xc0, 0xa1, +}; +static const unsigned char kat4013_entropyinpr2[] = { + 0x16, 0x64, 0x63, 0x98, 0xa5, 0x3f, 0x07, 0x60, 0x72, 0xbc, 0xa5, 0x18, + 0x25, 0x2b, 0x9c, 0x0b, 0xb7, 0xe8, 0x7d, 0xac, 0xd3, 0xf8, 0x76, 0x9c, + 0xf5, 0x33, 0x7b, 0x46, 0xc3, 0x29, 0x48, 0x1d, 0xd0, 0x58, 0x81, 0x9a, + 0xbe, 0x3f, 0x43, 0x1a, +}; +static const unsigned char kat4013_addinpr2[] = { + 0x2e, 0xa1, 0xec, 0x94, 0xf0, 0x83, 0xd6, 0xb5, 0x3c, 0x43, 0xf2, 0xc1, + 0xf0, 0xd8, 0xad, 0x84, 0xf9, 0x81, 0x46, 0x76, 0x88, 0x66, 0x05, 0x61, + 0xc7, 0xe1, 0xca, 0x5e, 0x8a, 0x9a, 0x11, 0x3d, 0x5c, 0xf3, 0x6d, 0x03, + 0x09, 0x69, 0x0d, 0x0e, +}; +static const unsigned char kat4013_retbits[] = { + 0xc3, 0xcd, 0x7a, 0x06, 0xa9, 0x75, 0x92, 0xe8, 0xff, 0x53, 0x02, 0x7d, + 0x9f, 0x86, 0xc0, 0x22, 0xd4, 0xa9, 0x60, 0xe8, 0x58, 0x39, 0x74, 0x8f, + 0x84, 0xe5, 0x1b, 0x06, 0xbf, 0x48, 0x4f, 0x75, 0x3f, 0xeb, 0x92, 0x50, + 0x22, 0x47, 0x29, 0x76, 0x41, 0x00, 0x63, 0x50, 0x55, 0x70, 0xec, 0xc3, + 0x0d, 0xa0, 0x58, 0xee, 0x8d, 0xb0, 0x4e, 0x04, 0x30, 0x30, 0x1b, 0xfb, + 0x4a, 0xdf, 0xd3, 0xc7, +}; +static const struct drbg_kat_pr_true kat4013_t = { + 7, kat4013_entropyin, kat4013_nonce, kat4013_persstr, + kat4013_entropyinpr1, kat4013_addinpr1, kat4013_entropyinpr2, + kat4013_addinpr2, kat4013_retbits +}; +static const struct drbg_kat kat4013 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4013_t +}; + +static const unsigned char kat4014_entropyin[] = { + 0x4a, 0x79, 0xc5, 0x8b, 0x2d, 0x7b, 0x22, 0x33, 0x9f, 0x65, 0x6c, 0xe1, + 0x40, 0x0e, 0x94, 0x21, 0xc6, 0x75, 0x43, 0xec, 0xa1, 0x87, 0x7e, 0x1f, + 0x14, 0xf1, 0xbe, 0xc3, 0x92, 0xeb, 0x5f, 0xef, 0xbc, 0x61, 0x22, 0x9d, + 0x20, 0x42, 0x27, 0x2c, +}; +static const unsigned char kat4014_nonce[] = {0}; +static const unsigned char kat4014_persstr[] = { + 0x7e, 0x3d, 0x63, 0xc1, 0x24, 0xfe, 0x87, 0x9a, 0xd7, 0x96, 0x3b, 0xc3, + 0x12, 0x97, 0x88, 0x34, 0x25, 0xdc, 0xcc, 0x4d, 0x9e, 0xb1, 0x93, 0x96, + 0x3f, 0x8a, 0x62, 0x0b, 0xf6, 0xe7, 0x6d, 0xaa, 0x9e, 0xc4, 0x9a, 0x95, + 0xe2, 0xfa, 0x36, 0xfc, +}; +static const unsigned char kat4014_entropyinpr1[] = { + 0x63, 0x08, 0x18, 0x1a, 0x4f, 0xf2, 0x5a, 0xa7, 0xb6, 0x9b, 0x89, 0x29, + 0xf6, 0xb4, 0x9a, 0x84, 0x43, 0x9a, 0x1a, 0x4b, 0x61, 0x59, 0xc7, 0x14, + 0xf6, 0x1f, 0x02, 0x60, 0xea, 0x89, 0xa4, 0x20, 0x79, 0x3b, 0x16, 0x31, + 0xe5, 0x87, 0xf8, 0x68, +}; +static const unsigned char kat4014_addinpr1[] = { + 0xd1, 0xcd, 0x93, 0xbb, 0xa9, 0x90, 0x78, 0x4e, 0x16, 0xae, 0x61, 0xdb, + 0x9d, 0xf5, 0x23, 0xce, 0xe5, 0x2f, 0xde, 0xf2, 0x63, 0xbe, 0x74, 0x7b, + 0x01, 0x48, 0xb3, 0x8f, 0x7c, 0x10, 0x56, 0xcc, 0x60, 0x10, 0xd6, 0x07, + 0x8d, 0x4a, 0x2d, 0xf6, +}; +static const unsigned char kat4014_entropyinpr2[] = { + 0xdb, 0x4d, 0xa3, 0xb1, 0x20, 0x60, 0x11, 0xec, 0x36, 0x39, 0x18, 0x0f, + 0x83, 0xee, 0xf9, 0x3b, 0xc1, 0x68, 0xfd, 0xfc, 0x6c, 0x0c, 0x2a, 0xef, + 0x2d, 0xbd, 0x3e, 0xa2, 0x3e, 0x7a, 0x19, 0xb1, 0x59, 0xe5, 0x82, 0xd4, + 0xe0, 0xea, 0x7e, 0xde, +}; +static const unsigned char kat4014_addinpr2[] = { + 0x16, 0x26, 0x7d, 0x85, 0x22, 0x68, 0x0f, 0x54, 0x7a, 0x6c, 0x54, 0x50, + 0x63, 0x8c, 0x37, 0x3f, 0x71, 0x60, 0x20, 0x6e, 0xdb, 0xb3, 0x67, 0xf7, + 0x9f, 0x14, 0xb0, 0x16, 0x0e, 0xa6, 0x42, 0xe1, 0x51, 0x91, 0x57, 0x17, + 0x62, 0x55, 0xba, 0x0c, +}; +static const unsigned char kat4014_retbits[] = { + 0xa6, 0x61, 0x91, 0x31, 0xab, 0xbe, 0x25, 0xfe, 0x40, 0x56, 0x74, 0x0a, + 0x52, 0x03, 0x21, 0xfa, 0x1e, 0x5e, 0x9b, 0xc6, 0x61, 0xba, 0x2b, 0x52, + 0xce, 0xa1, 0xeb, 0x36, 0x82, 0x86, 0x18, 0xa9, 0x49, 0x79, 0x6a, 0xf2, + 0xf1, 0xf9, 0x1e, 0xa3, 0xa0, 0xfd, 0x8e, 0x76, 0xa5, 0x21, 0x20, 0x1b, + 0x5d, 0xab, 0x55, 0x74, 0xdf, 0xcb, 0x8d, 0x35, 0x14, 0x34, 0xff, 0xca, + 0xe1, 0x83, 0x02, 0x1e, +}; +static const struct drbg_kat_pr_true kat4014_t = { + 8, kat4014_entropyin, kat4014_nonce, kat4014_persstr, + kat4014_entropyinpr1, kat4014_addinpr1, kat4014_entropyinpr2, + kat4014_addinpr2, kat4014_retbits +}; +static const struct drbg_kat kat4014 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4014_t +}; + +static const unsigned char kat4015_entropyin[] = { + 0x1a, 0xc8, 0x0c, 0x4d, 0xa7, 0x66, 0x72, 0x28, 0xc9, 0xd2, 0x4f, 0x95, + 0xec, 0xd9, 0xf5, 0x41, 0xa0, 0x07, 0xd6, 0x3f, 0xe9, 0xb0, 0x33, 0x96, + 0x5d, 0x3b, 0x7b, 0x2c, 0x54, 0x53, 0x4e, 0x5d, 0xcb, 0xe3, 0x72, 0x46, + 0x09, 0xd9, 0xec, 0xd5, +}; +static const unsigned char kat4015_nonce[] = {0}; +static const unsigned char kat4015_persstr[] = { + 0xf9, 0x64, 0x7f, 0x7c, 0x01, 0x0a, 0x65, 0x64, 0x9e, 0xe1, 0x9a, 0xcb, + 0x40, 0x4b, 0x0d, 0x8b, 0xbb, 0xa1, 0x5b, 0x2b, 0x7e, 0x26, 0xd2, 0xaa, + 0xdd, 0x44, 0x8b, 0x57, 0x5c, 0xc7, 0xb3, 0xdd, 0x3e, 0x79, 0x68, 0xac, + 0xc1, 0xe1, 0x1d, 0xe1, +}; +static const unsigned char kat4015_entropyinpr1[] = { + 0x35, 0xaf, 0x0b, 0xac, 0x76, 0xca, 0x9a, 0x0f, 0xf0, 0x73, 0xee, 0x37, + 0x36, 0x87, 0xac, 0xfd, 0x04, 0xf4, 0x64, 0x22, 0x57, 0x2a, 0xf3, 0x22, + 0xe9, 0x32, 0x04, 0x58, 0xf7, 0x62, 0xc1, 0xa0, 0xf7, 0xe4, 0xda, 0xab, + 0xca, 0xb9, 0xf3, 0x07, +}; +static const unsigned char kat4015_addinpr1[] = { + 0x7d, 0x74, 0x21, 0xac, 0xa6, 0xaf, 0x7d, 0x05, 0xa4, 0x5d, 0x50, 0x64, + 0x46, 0xca, 0xbe, 0xc1, 0xe9, 0x5c, 0x88, 0x6c, 0x1a, 0x5b, 0xd4, 0x85, + 0xea, 0xba, 0x42, 0x76, 0x8c, 0x2d, 0x1e, 0xb5, 0x1b, 0x34, 0x55, 0x3f, + 0x62, 0x83, 0x07, 0x0a, +}; +static const unsigned char kat4015_entropyinpr2[] = { + 0x52, 0xba, 0x71, 0x2a, 0xed, 0xe6, 0x56, 0x17, 0x25, 0xed, 0x8c, 0xf0, + 0xef, 0xaa, 0x2f, 0x0a, 0xf2, 0xa1, 0x7b, 0x38, 0x23, 0xd2, 0x21, 0x99, + 0x71, 0xaa, 0x6d, 0x17, 0x57, 0xfe, 0x22, 0x6a, 0xc4, 0x8c, 0xff, 0xdb, + 0xba, 0x73, 0xe7, 0x54, +}; +static const unsigned char kat4015_addinpr2[] = { + 0x46, 0x83, 0x52, 0x4c, 0xc5, 0xf9, 0x8a, 0xef, 0x69, 0xb3, 0xd2, 0x0d, + 0x4e, 0x67, 0x5b, 0x54, 0x5b, 0xf0, 0x07, 0x7c, 0x4e, 0x29, 0x37, 0xf3, + 0xd3, 0xbd, 0xde, 0xf9, 0x63, 0xd8, 0xa9, 0x8e, 0xca, 0x32, 0xf7, 0x55, + 0x6e, 0x39, 0x48, 0xd6, +}; +static const unsigned char kat4015_retbits[] = { + 0xe9, 0x97, 0x3b, 0xa7, 0x86, 0xfc, 0xcc, 0xeb, 0x33, 0x17, 0x5f, 0xb9, + 0xd7, 0x8f, 0xd9, 0xdd, 0x57, 0x9a, 0x13, 0x9e, 0x3a, 0x60, 0x56, 0xaa, + 0xac, 0xb1, 0x67, 0xe2, 0x71, 0xc2, 0x47, 0x64, 0xc5, 0x14, 0x39, 0xd7, + 0x14, 0x02, 0xe0, 0xe1, 0x40, 0x88, 0x9c, 0x62, 0x1b, 0xc0, 0xab, 0x78, + 0xfb, 0xe9, 0x71, 0xfb, 0x59, 0x60, 0xe4, 0xcb, 0x24, 0xab, 0x15, 0x18, + 0x96, 0xf6, 0x6e, 0x86, +}; +static const struct drbg_kat_pr_true kat4015_t = { + 9, kat4015_entropyin, kat4015_nonce, kat4015_persstr, + kat4015_entropyinpr1, kat4015_addinpr1, kat4015_entropyinpr2, + kat4015_addinpr2, kat4015_retbits +}; +static const struct drbg_kat kat4015 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4015_t +}; + +static const unsigned char kat4016_entropyin[] = { + 0x68, 0x7c, 0xfa, 0x38, 0x38, 0xc0, 0xc2, 0x84, 0x3d, 0x48, 0x78, 0xcb, + 0xec, 0x88, 0xe1, 0xfd, 0x12, 0x07, 0x10, 0xe7, 0x74, 0xfc, 0x85, 0xc9, + 0x22, 0x1c, 0x28, 0x98, 0x68, 0x95, 0x5b, 0xaf, 0x2a, 0x26, 0xe5, 0x33, + 0xe8, 0xf2, 0xef, 0x6c, +}; +static const unsigned char kat4016_nonce[] = {0}; +static const unsigned char kat4016_persstr[] = { + 0xa5, 0x8d, 0x1c, 0x01, 0xc2, 0xe3, 0xeb, 0xe0, 0xfb, 0xd3, 0x28, 0xa7, + 0xae, 0x1f, 0x0c, 0x80, 0x2d, 0xde, 0x30, 0xf6, 0xdc, 0x7b, 0x72, 0xc3, + 0xe3, 0xa0, 0x25, 0x6b, 0x22, 0xfc, 0xdf, 0x2d, 0x9c, 0x52, 0xa0, 0x53, + 0xe8, 0x8e, 0xa1, 0x86, +}; +static const unsigned char kat4016_entropyinpr1[] = { + 0xf9, 0x12, 0xa6, 0x4d, 0x53, 0x2a, 0x34, 0xb3, 0x19, 0x1c, 0x92, 0x58, + 0x82, 0x92, 0xfc, 0xd3, 0xda, 0xc1, 0x38, 0xce, 0x2b, 0xcf, 0xc5, 0x9e, + 0xfa, 0x37, 0xb2, 0x08, 0x93, 0xcf, 0x04, 0x41, 0xa4, 0x3a, 0x11, 0x30, + 0x88, 0x5c, 0x83, 0x43, +}; +static const unsigned char kat4016_addinpr1[] = { + 0x02, 0x51, 0x1b, 0xb4, 0xad, 0x0b, 0x4e, 0x5a, 0xe1, 0xfb, 0x4b, 0x06, + 0x19, 0x84, 0xce, 0xd6, 0x95, 0xaf, 0x0f, 0x1a, 0x63, 0x91, 0x28, 0x9f, + 0x0c, 0x3e, 0x1d, 0x42, 0x73, 0xf3, 0xa6, 0x93, 0x8a, 0x04, 0x5f, 0x63, + 0x1b, 0x41, 0xe9, 0x30, +}; +static const unsigned char kat4016_entropyinpr2[] = { + 0xdf, 0xee, 0x0f, 0x75, 0x1e, 0x0b, 0xb0, 0x60, 0x62, 0x0a, 0xdd, 0x45, + 0xb2, 0xe9, 0x1f, 0x41, 0xb5, 0x93, 0x9f, 0x55, 0x71, 0xfb, 0x90, 0x92, + 0xef, 0x96, 0x8d, 0x8a, 0xe3, 0x98, 0xb9, 0x70, 0x89, 0xb0, 0xad, 0x08, + 0xd5, 0xd1, 0x64, 0x52, +}; +static const unsigned char kat4016_addinpr2[] = { + 0x96, 0x8a, 0xaf, 0x5a, 0x57, 0x58, 0x01, 0x91, 0x35, 0x99, 0x4f, 0x9c, + 0x58, 0x20, 0x31, 0xbd, 0xac, 0x6b, 0xb9, 0xe5, 0xc4, 0x21, 0x0a, 0x2c, + 0x8d, 0x65, 0xcd, 0x1c, 0xab, 0xe7, 0xd3, 0x10, 0xe1, 0xfa, 0x68, 0xcb, + 0x5e, 0xec, 0x3a, 0xdc, +}; +static const unsigned char kat4016_retbits[] = { + 0x1c, 0x16, 0xed, 0xd7, 0xf3, 0x30, 0x80, 0x43, 0xdf, 0x44, 0x95, 0x92, + 0x73, 0xe7, 0xfd, 0x42, 0x15, 0xbd, 0x3a, 0xd8, 0x59, 0x94, 0xbc, 0xc2, + 0x41, 0x9f, 0xe6, 0xff, 0x8f, 0x4b, 0x1c, 0x6b, 0xca, 0xd8, 0x57, 0xe5, + 0xf3, 0x6a, 0xc3, 0x53, 0xef, 0xb5, 0x2b, 0x57, 0xd1, 0x9d, 0x2a, 0x6f, + 0xf8, 0xc4, 0x15, 0x64, 0xef, 0xbe, 0x67, 0x04, 0xc8, 0xe0, 0x83, 0x8b, + 0x90, 0x37, 0x49, 0x8c, +}; +static const struct drbg_kat_pr_true kat4016_t = { + 10, kat4016_entropyin, kat4016_nonce, kat4016_persstr, + kat4016_entropyinpr1, kat4016_addinpr1, kat4016_entropyinpr2, + kat4016_addinpr2, kat4016_retbits +}; +static const struct drbg_kat kat4016 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4016_t +}; + +static const unsigned char kat4017_entropyin[] = { + 0xbc, 0xee, 0x68, 0x2c, 0x54, 0xa0, 0xbe, 0xf1, 0xa1, 0x4f, 0x86, 0xea, + 0x88, 0xab, 0xb0, 0xa4, 0x7f, 0xf6, 0x33, 0x60, 0x84, 0x17, 0x0c, 0xb1, + 0x6f, 0xe7, 0x54, 0xec, 0xbc, 0xc9, 0x3a, 0x52, 0x73, 0xbd, 0x20, 0xe2, + 0x58, 0x67, 0x70, 0x9d, +}; +static const unsigned char kat4017_nonce[] = {0}; +static const unsigned char kat4017_persstr[] = { + 0x49, 0x04, 0x2e, 0xb9, 0x83, 0x89, 0x98, 0xac, 0x20, 0x23, 0xaf, 0x8c, + 0xeb, 0x55, 0x39, 0xf2, 0x0c, 0x00, 0xaa, 0x17, 0x98, 0xc9, 0x06, 0xa0, + 0x2a, 0x5e, 0x6a, 0xc7, 0x02, 0x75, 0x90, 0x54, 0xd1, 0x1d, 0x07, 0x5f, + 0x9d, 0xcc, 0x8c, 0xeb, +}; +static const unsigned char kat4017_entropyinpr1[] = { + 0x76, 0x03, 0x00, 0x2e, 0x2d, 0x42, 0x37, 0xdf, 0x84, 0xfb, 0x9e, 0x0b, + 0xad, 0xb2, 0x9a, 0x25, 0x04, 0x12, 0x2c, 0x77, 0x6c, 0x20, 0x8a, 0xac, + 0x9b, 0xa1, 0x24, 0x3c, 0xa7, 0x87, 0x4d, 0xd7, 0x51, 0xa8, 0x3b, 0xfe, + 0xc7, 0xab, 0xad, 0x75, +}; +static const unsigned char kat4017_addinpr1[] = { + 0x66, 0x56, 0xfe, 0x1b, 0x78, 0x78, 0x43, 0xa0, 0x8a, 0x7c, 0xdb, 0x3d, + 0x13, 0xd1, 0x98, 0x74, 0x03, 0x72, 0x45, 0x70, 0xc8, 0xb5, 0x27, 0x54, + 0x6c, 0x54, 0x69, 0xfd, 0x15, 0xf3, 0x20, 0x4e, 0x67, 0x90, 0xe2, 0x57, + 0xb5, 0xbb, 0x44, 0x27, +}; +static const unsigned char kat4017_entropyinpr2[] = { + 0x81, 0x67, 0x18, 0x30, 0xa8, 0x83, 0x98, 0x85, 0x82, 0x27, 0x10, 0x44, + 0xde, 0xfc, 0x12, 0x9f, 0x54, 0xab, 0x77, 0xc9, 0xb2, 0x7f, 0x4a, 0x43, + 0x6a, 0xb0, 0xe0, 0xaa, 0x8c, 0x4a, 0x4d, 0x89, 0xf6, 0xea, 0x84, 0xb0, + 0xb8, 0x84, 0x09, 0xeb, +}; +static const unsigned char kat4017_addinpr2[] = { + 0xe0, 0xc8, 0xed, 0x7a, 0x32, 0x1c, 0x36, 0xa3, 0x70, 0xfb, 0xae, 0x1c, + 0xad, 0x68, 0x17, 0xf2, 0x55, 0x78, 0xfb, 0x79, 0xec, 0x79, 0x23, 0x8a, + 0x20, 0xd5, 0xdb, 0xf6, 0xb9, 0x6c, 0x2e, 0xd1, 0x39, 0x45, 0x85, 0x18, + 0x06, 0x62, 0x38, 0xaa, +}; +static const unsigned char kat4017_retbits[] = { + 0xdc, 0x20, 0xe0, 0xd4, 0xb8, 0xa6, 0x2f, 0x55, 0xb1, 0x76, 0x5d, 0x97, + 0x47, 0xed, 0xda, 0xda, 0x16, 0x53, 0x21, 0x6a, 0x26, 0x9e, 0x8a, 0x06, + 0x09, 0x29, 0x52, 0x18, 0x2d, 0xb0, 0xa8, 0xd5, 0x10, 0xae, 0x26, 0x3f, + 0x4d, 0x65, 0x71, 0x38, 0x84, 0x3e, 0xcf, 0x55, 0xec, 0x11, 0x03, 0xe8, + 0x0e, 0xce, 0xcb, 0x28, 0x80, 0x55, 0xc5, 0xd5, 0xe4, 0x2d, 0x20, 0x78, + 0xc8, 0xa7, 0x32, 0x26, +}; +static const struct drbg_kat_pr_true kat4017_t = { + 11, kat4017_entropyin, kat4017_nonce, kat4017_persstr, + kat4017_entropyinpr1, kat4017_addinpr1, kat4017_entropyinpr2, + kat4017_addinpr2, kat4017_retbits +}; +static const struct drbg_kat kat4017 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4017_t +}; + +static const unsigned char kat4018_entropyin[] = { + 0x5a, 0xc8, 0xf3, 0xef, 0x18, 0xc1, 0x64, 0x52, 0xf8, 0x2b, 0x2b, 0x2d, + 0xfe, 0xb7, 0x5b, 0x64, 0x1d, 0xc1, 0xc5, 0x4b, 0xc6, 0x58, 0xae, 0x8f, + 0x1e, 0x6b, 0x52, 0x17, 0xdf, 0xf6, 0x01, 0x79, 0x3e, 0x7d, 0x81, 0xa6, + 0x7f, 0x89, 0xb8, 0xa0, +}; +static const unsigned char kat4018_nonce[] = {0}; +static const unsigned char kat4018_persstr[] = { + 0x87, 0xe8, 0xc7, 0x4c, 0x33, 0x1d, 0x05, 0x18, 0x56, 0x9e, 0x6a, 0xdf, + 0x93, 0x5d, 0x14, 0x41, 0x4f, 0xc8, 0x92, 0xe6, 0x4b, 0xc0, 0x62, 0x8b, + 0x06, 0xbd, 0xbd, 0x82, 0x00, 0x94, 0x7a, 0x78, 0xdb, 0x72, 0x10, 0xcd, + 0x1a, 0x96, 0x69, 0x63, +}; +static const unsigned char kat4018_entropyinpr1[] = { + 0x2e, 0x9c, 0xb1, 0x91, 0x38, 0x42, 0xc9, 0x96, 0xda, 0xb7, 0x45, 0xdc, + 0x98, 0xc2, 0xdc, 0x83, 0xac, 0x89, 0xda, 0x97, 0x85, 0xe1, 0x82, 0xfc, + 0x94, 0x14, 0x3b, 0x0b, 0xc9, 0xcb, 0x5e, 0x56, 0x69, 0x55, 0x3d, 0x12, + 0x4b, 0x5b, 0x26, 0x10, +}; +static const unsigned char kat4018_addinpr1[] = { + 0xdc, 0x0f, 0xb8, 0x7a, 0xa0, 0xd3, 0x8c, 0xe6, 0x82, 0x9a, 0xe6, 0xb7, + 0x91, 0x3a, 0xff, 0x96, 0xda, 0x00, 0x6f, 0x96, 0x51, 0xac, 0x28, 0xee, + 0x06, 0x97, 0x41, 0xe5, 0xf5, 0xce, 0x70, 0x6b, 0x71, 0x08, 0xda, 0xde, + 0x89, 0x32, 0xc6, 0xa7, +}; +static const unsigned char kat4018_entropyinpr2[] = { + 0xb6, 0x38, 0x21, 0x11, 0xab, 0x15, 0x8c, 0x3d, 0xbc, 0x27, 0xc8, 0x63, + 0xaa, 0x6c, 0x6f, 0x16, 0x2e, 0x8e, 0x1f, 0x27, 0x00, 0x5d, 0xb8, 0xc4, + 0x5b, 0x83, 0x83, 0x9e, 0x57, 0x66, 0x5e, 0x0f, 0x9e, 0x90, 0xb7, 0x7e, + 0x1b, 0x3a, 0x28, 0xb6, +}; +static const unsigned char kat4018_addinpr2[] = { + 0x5d, 0xaf, 0x56, 0x9d, 0xb5, 0x37, 0xad, 0x13, 0x23, 0x6e, 0x6f, 0x7d, + 0x2f, 0x8b, 0x6f, 0x44, 0xea, 0x07, 0xac, 0x58, 0x67, 0x0e, 0x0c, 0xe3, + 0xd0, 0x31, 0xca, 0x33, 0x45, 0x72, 0xa5, 0x52, 0xba, 0x6f, 0x49, 0xdc, + 0xca, 0x47, 0xb5, 0x53, +}; +static const unsigned char kat4018_retbits[] = { + 0x26, 0x01, 0x76, 0x7b, 0x75, 0xe5, 0x78, 0xb5, 0x6c, 0x7a, 0xb6, 0xe7, + 0x8f, 0xa2, 0x39, 0x01, 0xee, 0x49, 0xf2, 0xab, 0x61, 0xff, 0xa4, 0xf4, + 0xc2, 0xcd, 0x38, 0x70, 0xb2, 0x75, 0x4a, 0x0a, 0x87, 0x77, 0x1b, 0xbd, + 0x2b, 0x5c, 0xea, 0xb2, 0x6f, 0x59, 0x2e, 0xe2, 0x6b, 0xd0, 0x57, 0x48, + 0x97, 0x09, 0x73, 0xaf, 0xe8, 0x00, 0xe8, 0x2e, 0x9b, 0x87, 0xde, 0xac, + 0x31, 0xbf, 0xca, 0x3e, +}; +static const struct drbg_kat_pr_true kat4018_t = { + 12, kat4018_entropyin, kat4018_nonce, kat4018_persstr, + kat4018_entropyinpr1, kat4018_addinpr1, kat4018_entropyinpr2, + kat4018_addinpr2, kat4018_retbits +}; +static const struct drbg_kat kat4018 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4018_t +}; + +static const unsigned char kat4019_entropyin[] = { + 0xc4, 0xd8, 0xf5, 0x71, 0x57, 0x0b, 0x57, 0x92, 0xbb, 0x94, 0x70, 0x06, + 0x9e, 0x0f, 0xf0, 0xed, 0xbb, 0x3f, 0xd6, 0x81, 0x35, 0x74, 0xf1, 0xdc, + 0x08, 0xee, 0xb7, 0x2f, 0x1f, 0xaa, 0x3c, 0x73, 0x7d, 0x2e, 0xb4, 0xe5, + 0x61, 0x3a, 0xda, 0x30, +}; +static const unsigned char kat4019_nonce[] = {0}; +static const unsigned char kat4019_persstr[] = { + 0x19, 0xc7, 0xc3, 0xfa, 0xe3, 0x52, 0xaa, 0xa9, 0xea, 0x3a, 0x30, 0x18, + 0xef, 0x8b, 0xdd, 0x5f, 0x05, 0x8d, 0x34, 0x75, 0x90, 0xd6, 0xba, 0x62, + 0x76, 0xcf, 0x51, 0x73, 0x2b, 0x76, 0x42, 0x33, 0xea, 0x31, 0x0e, 0x1e, + 0xa8, 0xf6, 0x2a, 0xf5, +}; +static const unsigned char kat4019_entropyinpr1[] = { + 0x8b, 0x55, 0xd0, 0x25, 0x68, 0x89, 0x57, 0x71, 0xa7, 0xb7, 0x73, 0x25, + 0xa2, 0xb1, 0xa4, 0x5b, 0x76, 0xed, 0x6a, 0x3a, 0x07, 0x6e, 0x23, 0xf5, + 0xb6, 0x9f, 0x53, 0x22, 0xa9, 0x5e, 0x8e, 0x6b, 0xa2, 0xea, 0x8d, 0x45, + 0xa9, 0xf4, 0xf7, 0xc6, +}; +static const unsigned char kat4019_addinpr1[] = { + 0x63, 0x43, 0x22, 0xb8, 0xd1, 0xc7, 0xf7, 0x01, 0xc1, 0xf0, 0x65, 0x18, + 0x01, 0x20, 0xc1, 0x10, 0x54, 0x62, 0x09, 0xee, 0xb6, 0xa0, 0x76, 0x5a, + 0x8d, 0x09, 0xe7, 0xb8, 0x97, 0x32, 0x64, 0xa4, 0xa0, 0xbb, 0x60, 0xfa, + 0x44, 0xa3, 0x88, 0xa7, +}; +static const unsigned char kat4019_entropyinpr2[] = { + 0xd6, 0x48, 0xda, 0x44, 0xb1, 0x71, 0x74, 0xf7, 0xde, 0x7e, 0x45, 0xae, + 0xb2, 0x7d, 0xbb, 0x68, 0x47, 0xbf, 0x68, 0x52, 0x7d, 0x5d, 0x32, 0x10, + 0xba, 0x54, 0x61, 0x14, 0x86, 0x2e, 0x0f, 0xbe, 0x80, 0xb7, 0x7b, 0xb1, + 0xe9, 0x97, 0x4c, 0x70, +}; +static const unsigned char kat4019_addinpr2[] = { + 0x73, 0x3c, 0x9a, 0x07, 0x8b, 0x1f, 0x60, 0x53, 0xc1, 0x21, 0xbb, 0x85, + 0xbf, 0x9d, 0x86, 0x7d, 0x95, 0xb0, 0xe6, 0xfd, 0xd8, 0xfd, 0x9a, 0x6c, + 0x27, 0x93, 0x23, 0xc7, 0x44, 0xff, 0x0c, 0xf7, 0xc3, 0xb9, 0x15, 0x06, + 0xfd, 0x10, 0xf6, 0xa2, +}; +static const unsigned char kat4019_retbits[] = { + 0x0c, 0xbb, 0x5a, 0xac, 0x61, 0x0d, 0x13, 0x03, 0xc7, 0xe3, 0x61, 0x76, + 0x94, 0x07, 0x72, 0x71, 0x2c, 0xa1, 0x4c, 0x1a, 0xa4, 0x9c, 0x6c, 0xe2, + 0xbc, 0x7a, 0x76, 0x68, 0xf9, 0x54, 0x34, 0x46, 0xd0, 0x15, 0x67, 0xae, + 0x41, 0x24, 0xd7, 0x05, 0xe5, 0x0e, 0x6c, 0xa0, 0x71, 0x69, 0x53, 0x42, + 0x1b, 0xe9, 0x2f, 0x3a, 0x60, 0xd0, 0x9b, 0x05, 0x99, 0x88, 0x80, 0xf3, + 0x6f, 0x50, 0xe3, 0x37, +}; +static const struct drbg_kat_pr_true kat4019_t = { + 13, kat4019_entropyin, kat4019_nonce, kat4019_persstr, + kat4019_entropyinpr1, kat4019_addinpr1, kat4019_entropyinpr2, + kat4019_addinpr2, kat4019_retbits +}; +static const struct drbg_kat kat4019 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4019_t +}; + +static const unsigned char kat4020_entropyin[] = { + 0x0b, 0x8a, 0xa4, 0x1e, 0xea, 0xff, 0x99, 0x20, 0x3d, 0x1d, 0x28, 0x48, + 0x93, 0x65, 0x52, 0xd7, 0x6c, 0xfd, 0x1b, 0x0a, 0x9c, 0xb9, 0xd6, 0xd9, + 0x8c, 0x93, 0x48, 0xc3, 0x96, 0xfa, 0xd0, 0xc6, 0x43, 0x25, 0xa0, 0xca, + 0x67, 0x89, 0x10, 0xb2, +}; +static const unsigned char kat4020_nonce[] = {0}; +static const unsigned char kat4020_persstr[] = { + 0x73, 0xf9, 0xeb, 0x66, 0x51, 0x58, 0xd6, 0xe4, 0x1a, 0x7c, 0x2a, 0x9b, + 0x2e, 0xd2, 0xbf, 0xa5, 0xf1, 0x12, 0x2a, 0xee, 0x6d, 0x3d, 0xd0, 0x05, + 0x88, 0x88, 0xa7, 0xcf, 0xe8, 0x5e, 0x06, 0xf9, 0x9d, 0x7c, 0x53, 0x7c, + 0xa3, 0xdf, 0x98, 0x8a, +}; +static const unsigned char kat4020_entropyinpr1[] = { + 0x65, 0x0f, 0xc0, 0x2f, 0xcb, 0xb7, 0x70, 0xdd, 0xc6, 0x3a, 0xc8, 0x5b, + 0x20, 0x6a, 0x6e, 0x0d, 0xda, 0xae, 0x9f, 0xb7, 0xc1, 0x11, 0x23, 0x41, + 0x94, 0xe8, 0x93, 0xca, 0x2c, 0xbb, 0xb9, 0x58, 0x99, 0x34, 0xd3, 0x0d, + 0x03, 0xae, 0x5d, 0x81, +}; +static const unsigned char kat4020_addinpr1[] = { + 0xf1, 0x18, 0x44, 0x79, 0x87, 0x7a, 0xec, 0xc7, 0x8e, 0x19, 0xba, 0xff, + 0x31, 0xe4, 0xa9, 0xc6, 0xfa, 0x8e, 0x62, 0x39, 0x34, 0xe3, 0x36, 0xcb, + 0xb9, 0xc0, 0x4a, 0x8f, 0x4b, 0x82, 0x5f, 0x8b, 0xd8, 0xfc, 0xaf, 0xcd, + 0xd3, 0x9b, 0x1e, 0x9c, +}; +static const unsigned char kat4020_entropyinpr2[] = { + 0x0d, 0x18, 0xee, 0x1f, 0xdb, 0x9d, 0xc2, 0x3c, 0x66, 0xae, 0xa5, 0x87, + 0xfa, 0x59, 0xcc, 0x9c, 0x65, 0xda, 0x76, 0x90, 0xa7, 0xa7, 0x80, 0xbc, + 0x64, 0x72, 0x7f, 0xa3, 0xfb, 0x22, 0x60, 0x23, 0x01, 0x91, 0x1e, 0xd3, + 0xf9, 0x9f, 0xd7, 0x12, +}; +static const unsigned char kat4020_addinpr2[] = { + 0x02, 0xa3, 0x18, 0xa1, 0x57, 0x97, 0x14, 0xdd, 0xac, 0x23, 0x9f, 0x96, + 0x85, 0x64, 0xfa, 0x27, 0x68, 0xd5, 0x09, 0x9c, 0x23, 0x72, 0x37, 0xac, + 0x15, 0xab, 0xa9, 0xbd, 0xdc, 0x13, 0xaa, 0x9c, 0x30, 0xc3, 0x8f, 0x93, + 0x5f, 0x21, 0x67, 0xa0, +}; +static const unsigned char kat4020_retbits[] = { + 0x99, 0x23, 0x97, 0xec, 0x16, 0x84, 0x48, 0xc4, 0x52, 0x15, 0x60, 0x08, + 0x5f, 0x39, 0x56, 0xd2, 0xfc, 0x58, 0x3b, 0xda, 0x19, 0x24, 0xb2, 0x9f, + 0xdd, 0xd0, 0x81, 0xdf, 0xcc, 0x05, 0x6a, 0x0d, 0xca, 0xaf, 0x3e, 0xdd, + 0x1a, 0x84, 0x15, 0x8b, 0x6b, 0x7e, 0x57, 0x37, 0xd3, 0x75, 0x35, 0xfb, + 0xbd, 0x62, 0x58, 0x31, 0x9b, 0x74, 0x58, 0xc5, 0x52, 0x4c, 0xd0, 0x06, + 0x1a, 0x88, 0x50, 0xe8, +}; +static const struct drbg_kat_pr_true kat4020_t = { + 14, kat4020_entropyin, kat4020_nonce, kat4020_persstr, + kat4020_entropyinpr1, kat4020_addinpr1, kat4020_entropyinpr2, + kat4020_addinpr2, kat4020_retbits +}; +static const struct drbg_kat kat4020 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4020_t +}; + +static const unsigned char kat4021_entropyin[] = { + 0xeb, 0x18, 0x82, 0x13, 0xc6, 0x32, 0x29, 0xe1, 0x87, 0x40, 0x08, 0xe5, + 0x05, 0x8c, 0x2b, 0x24, 0x8c, 0x30, 0xd7, 0xdb, 0x58, 0x48, 0x8d, 0x5e, + 0x9d, 0x82, 0xda, 0xcf, 0x3e, 0xf5, 0xa4, 0xa5, 0x8e, 0xc2, 0x69, 0x5a, + 0x2e, 0x2c, 0xfe, 0x58, +}; +static const unsigned char kat4021_nonce[] = {0}; +static const unsigned char kat4021_persstr[] = {0}; +static const unsigned char kat4021_entropyinpr1[] = { + 0x3a, 0xb2, 0x93, 0x6c, 0xf6, 0x12, 0xa1, 0x2b, 0xc3, 0xc2, 0x54, 0x3d, + 0x34, 0x4c, 0xf0, 0x36, 0x78, 0x42, 0x7d, 0xc2, 0x3a, 0x65, 0x0c, 0xfa, + 0x2e, 0x64, 0xdd, 0xbe, 0xe8, 0x2d, 0xb9, 0xd2, 0x9f, 0x25, 0xfe, 0xdf, + 0x21, 0xfb, 0xe3, 0x01, +}; +static const unsigned char kat4021_addinpr1[] = {0}; +static const unsigned char kat4021_entropyinpr2[] = { + 0x4b, 0x56, 0x92, 0x8b, 0x68, 0x93, 0x66, 0xff, 0xcd, 0xdf, 0x6d, 0xbd, + 0x31, 0xfc, 0xce, 0x30, 0x92, 0xcd, 0x0b, 0x8e, 0x0c, 0x6d, 0xeb, 0xfb, + 0xce, 0x26, 0xec, 0x19, 0x02, 0xe8, 0x03, 0x83, 0x24, 0xde, 0xd0, 0x3d, + 0x07, 0xb9, 0x31, 0x04, +}; +static const unsigned char kat4021_addinpr2[] = {0}; +static const unsigned char kat4021_retbits[] = { + 0x16, 0x52, 0x9e, 0x73, 0xc2, 0xb2, 0xdc, 0x17, 0x1d, 0x44, 0x77, 0x0b, + 0xee, 0x4f, 0xc3, 0xfb, 0x5f, 0xeb, 0x82, 0xb1, 0x4d, 0x0f, 0x2a, 0xa3, + 0xa4, 0xab, 0xf0, 0xa7, 0x6b, 0xb2, 0xae, 0xeb, 0x7b, 0x4c, 0xc6, 0xf6, + 0xc9, 0x21, 0x5e, 0x85, 0xf2, 0x47, 0xde, 0xb3, 0x6b, 0xa4, 0x57, 0xff, + 0xa5, 0xfe, 0x6b, 0xe3, 0xe2, 0xab, 0x1c, 0xc2, 0xa3, 0xa1, 0xa0, 0x65, + 0xb8, 0x16, 0x75, 0x8a, +}; +static const struct drbg_kat_pr_true kat4021_t = { + 0, kat4021_entropyin, kat4021_nonce, kat4021_persstr, + kat4021_entropyinpr1, kat4021_addinpr1, kat4021_entropyinpr2, + kat4021_addinpr2, kat4021_retbits +}; +static const struct drbg_kat kat4021 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4021_t +}; + +static const unsigned char kat4022_entropyin[] = { + 0xd0, 0x68, 0xf2, 0xe5, 0xcc, 0xe9, 0xec, 0xb0, 0x79, 0xf8, 0x0f, 0x07, + 0xef, 0x7d, 0x1c, 0x65, 0x65, 0x0a, 0xa6, 0x6b, 0x0d, 0xa6, 0x9a, 0xda, + 0x27, 0xf6, 0x9f, 0x02, 0x63, 0x0b, 0x49, 0x36, 0xa3, 0xa2, 0x70, 0x69, + 0x9a, 0x82, 0x7c, 0xf9, +}; +static const unsigned char kat4022_nonce[] = {0}; +static const unsigned char kat4022_persstr[] = {0}; +static const unsigned char kat4022_entropyinpr1[] = { + 0x8e, 0x40, 0xb2, 0xb3, 0x65, 0xd5, 0x8b, 0x4b, 0x88, 0x43, 0x1a, 0x39, + 0x8b, 0x2f, 0xb6, 0x8d, 0xd9, 0xc0, 0xdc, 0x8f, 0x7b, 0x46, 0x42, 0x5e, + 0xf6, 0x0b, 0xc7, 0x99, 0x6e, 0x82, 0x40, 0xc1, 0x1a, 0xd0, 0xe7, 0x55, + 0x21, 0xc7, 0x7d, 0x48, +}; +static const unsigned char kat4022_addinpr1[] = {0}; +static const unsigned char kat4022_entropyinpr2[] = { + 0x79, 0xd5, 0x08, 0x61, 0x30, 0xff, 0x9b, 0xb5, 0x82, 0xac, 0xc3, 0xea, + 0x14, 0x91, 0xfe, 0x28, 0x52, 0x82, 0xb5, 0x83, 0xfb, 0x8f, 0xd0, 0x83, + 0x49, 0x21, 0x33, 0x22, 0x54, 0x18, 0xf4, 0x21, 0xf9, 0x89, 0xcf, 0x9b, + 0x36, 0xd2, 0x87, 0xef, +}; +static const unsigned char kat4022_addinpr2[] = {0}; +static const unsigned char kat4022_retbits[] = { + 0xfe, 0x30, 0x4b, 0x3d, 0x14, 0x61, 0x75, 0x60, 0x2f, 0x11, 0x62, 0xb1, + 0xea, 0xda, 0x53, 0x9d, 0xe1, 0xfc, 0xac, 0x16, 0xda, 0x03, 0x7b, 0x14, + 0xf1, 0xe9, 0x5f, 0xc2, 0x23, 0xc2, 0xab, 0x31, 0xba, 0x3b, 0x03, 0xf3, + 0xac, 0xe2, 0xcb, 0xc8, 0xfa, 0xfc, 0x52, 0x1c, 0x0d, 0x72, 0x90, 0x6d, + 0xff, 0x9f, 0x9b, 0xdd, 0xf3, 0xb5, 0x72, 0x42, 0x9b, 0x39, 0xc6, 0x9c, + 0x69, 0x4c, 0x66, 0xc6, +}; +static const struct drbg_kat_pr_true kat4022_t = { + 1, kat4022_entropyin, kat4022_nonce, kat4022_persstr, + kat4022_entropyinpr1, kat4022_addinpr1, kat4022_entropyinpr2, + kat4022_addinpr2, kat4022_retbits +}; +static const struct drbg_kat kat4022 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4022_t +}; + +static const unsigned char kat4023_entropyin[] = { + 0xd3, 0x15, 0xf8, 0x9d, 0x9f, 0x8c, 0xf5, 0x10, 0xaf, 0xae, 0xe1, 0x98, + 0x0d, 0xc2, 0x35, 0x2c, 0xce, 0x01, 0x69, 0xf0, 0x16, 0x06, 0x7b, 0x08, + 0xa2, 0x1c, 0xc6, 0x8b, 0x63, 0xe2, 0xa9, 0xe7, 0xcb, 0x35, 0x3d, 0xad, + 0xec, 0x04, 0xb3, 0x9a, +}; +static const unsigned char kat4023_nonce[] = {0}; +static const unsigned char kat4023_persstr[] = {0}; +static const unsigned char kat4023_entropyinpr1[] = { + 0x48, 0xa2, 0x92, 0x54, 0xfb, 0xc2, 0xe4, 0x6c, 0xd6, 0x91, 0x08, 0x6a, + 0x56, 0x5b, 0xe2, 0x36, 0x85, 0x4f, 0x65, 0x14, 0x92, 0x53, 0xa0, 0x18, + 0x86, 0x4c, 0x5a, 0x48, 0xcb, 0x37, 0x64, 0x81, 0x72, 0x6c, 0xf6, 0xa0, + 0xd6, 0x8c, 0x8f, 0x0f, +}; +static const unsigned char kat4023_addinpr1[] = {0}; +static const unsigned char kat4023_entropyinpr2[] = { + 0xfa, 0xae, 0xcd, 0x3a, 0x47, 0xff, 0x52, 0xfb, 0x1a, 0xdd, 0xdf, 0xc0, + 0x7f, 0x50, 0xc3, 0x64, 0x35, 0x9c, 0xee, 0xc4, 0x94, 0x81, 0x38, 0x56, + 0x1c, 0xbb, 0x33, 0xfb, 0x4b, 0x22, 0x75, 0xde, 0x03, 0xea, 0x5b, 0xda, + 0xee, 0x24, 0xf6, 0xd1, +}; +static const unsigned char kat4023_addinpr2[] = {0}; +static const unsigned char kat4023_retbits[] = { + 0xb7, 0xac, 0xdd, 0x64, 0x49, 0xde, 0xbb, 0xcf, 0xf7, 0x3a, 0xd2, 0x3a, + 0x19, 0xe5, 0xe4, 0xc2, 0xd7, 0x8c, 0xd7, 0x01, 0xb4, 0x88, 0xb6, 0xf3, + 0xe1, 0xe5, 0xb2, 0x94, 0x7f, 0x9d, 0x6b, 0x23, 0x91, 0xd1, 0x76, 0x81, + 0xca, 0xc6, 0x71, 0x60, 0x29, 0x2e, 0xda, 0x2a, 0x24, 0x2e, 0x49, 0xb5, + 0xf2, 0x1c, 0xa6, 0x63, 0xef, 0x11, 0x9b, 0x89, 0x43, 0xaf, 0xcb, 0x3f, + 0x3f, 0x44, 0xa0, 0xca, +}; +static const struct drbg_kat_pr_true kat4023_t = { + 2, kat4023_entropyin, kat4023_nonce, kat4023_persstr, + kat4023_entropyinpr1, kat4023_addinpr1, kat4023_entropyinpr2, + kat4023_addinpr2, kat4023_retbits +}; +static const struct drbg_kat kat4023 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4023_t +}; + +static const unsigned char kat4024_entropyin[] = { + 0x1e, 0xe0, 0x7a, 0x02, 0x35, 0x37, 0x3d, 0x32, 0xf5, 0xd9, 0x54, 0x84, + 0x2a, 0x3f, 0xb8, 0xb1, 0xc8, 0x8b, 0x9f, 0xbe, 0xbd, 0x6a, 0xe5, 0x08, + 0xfc, 0x49, 0xd3, 0x99, 0xfd, 0x05, 0xb3, 0x4a, 0x68, 0x2f, 0xd9, 0x70, + 0x4d, 0x3f, 0x5e, 0xc3, +}; +static const unsigned char kat4024_nonce[] = {0}; +static const unsigned char kat4024_persstr[] = {0}; +static const unsigned char kat4024_entropyinpr1[] = { + 0xe2, 0x01, 0x02, 0x27, 0x79, 0x9b, 0x53, 0x23, 0x65, 0x29, 0xdc, 0xdb, + 0x1f, 0xc9, 0xc7, 0xb5, 0x7d, 0x76, 0x2e, 0x5e, 0x2b, 0x11, 0xf5, 0x78, + 0x21, 0x11, 0xd7, 0x4f, 0x54, 0xb5, 0x1e, 0x2e, 0xba, 0x19, 0x92, 0x29, + 0x1f, 0xe6, 0xf9, 0xb9, +}; +static const unsigned char kat4024_addinpr1[] = {0}; +static const unsigned char kat4024_entropyinpr2[] = { + 0x89, 0xcc, 0x18, 0x59, 0x9e, 0x1f, 0x76, 0x08, 0xad, 0x55, 0x0e, 0x5c, + 0x17, 0x21, 0x37, 0x76, 0x98, 0x06, 0xc0, 0x4c, 0x93, 0xd0, 0x4e, 0x18, + 0x4d, 0x93, 0xe1, 0xdf, 0xa3, 0x2c, 0xdf, 0xfe, 0xe2, 0x9d, 0xd9, 0x47, + 0x55, 0x8f, 0xed, 0xaa, +}; +static const unsigned char kat4024_addinpr2[] = {0}; +static const unsigned char kat4024_retbits[] = { + 0xf4, 0x05, 0x53, 0x5d, 0x6b, 0xd7, 0xd6, 0x83, 0x44, 0x51, 0x37, 0x46, + 0x1d, 0x28, 0xab, 0x7e, 0x16, 0xd4, 0xf6, 0x5b, 0x54, 0xb6, 0xba, 0xf6, + 0x65, 0x86, 0x26, 0x09, 0x37, 0x93, 0x6f, 0xc0, 0x9e, 0x64, 0x02, 0x66, + 0xa8, 0x22, 0xd2, 0xe4, 0x75, 0x36, 0xad, 0xd5, 0xe0, 0xa8, 0x80, 0xf8, + 0xac, 0x54, 0x6f, 0xba, 0x7e, 0x7d, 0x82, 0xac, 0x65, 0x65, 0x99, 0xe7, + 0xa6, 0x88, 0xf6, 0xd9, +}; +static const struct drbg_kat_pr_true kat4024_t = { + 3, kat4024_entropyin, kat4024_nonce, kat4024_persstr, + kat4024_entropyinpr1, kat4024_addinpr1, kat4024_entropyinpr2, + kat4024_addinpr2, kat4024_retbits +}; +static const struct drbg_kat kat4024 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4024_t +}; + +static const unsigned char kat4025_entropyin[] = { + 0xd1, 0x14, 0xf2, 0x9d, 0x42, 0xa0, 0xff, 0x3e, 0x95, 0xf8, 0x4c, 0xbc, + 0x16, 0x70, 0xe9, 0x95, 0xe2, 0xcc, 0x1e, 0x6f, 0xf2, 0xac, 0x26, 0x12, + 0x82, 0x05, 0x07, 0xe2, 0x61, 0x5a, 0xa0, 0xda, 0x5d, 0xc6, 0x45, 0x34, + 0xa6, 0x3c, 0xf1, 0xa4, +}; +static const unsigned char kat4025_nonce[] = {0}; +static const unsigned char kat4025_persstr[] = {0}; +static const unsigned char kat4025_entropyinpr1[] = { + 0x0c, 0xaf, 0xd2, 0x54, 0x78, 0xc5, 0xc8, 0x26, 0xb4, 0x8d, 0x1a, 0xba, + 0x7b, 0xc3, 0x8a, 0xcc, 0x28, 0x82, 0x9e, 0xd2, 0xa3, 0x48, 0x14, 0x01, + 0x68, 0xeb, 0x27, 0x14, 0x57, 0xdc, 0x0c, 0x77, 0x01, 0xc1, 0x08, 0xbd, + 0x71, 0x7e, 0x11, 0x13, +}; +static const unsigned char kat4025_addinpr1[] = {0}; +static const unsigned char kat4025_entropyinpr2[] = { + 0x8c, 0x32, 0x1f, 0x84, 0x78, 0xca, 0xa7, 0x24, 0x25, 0x30, 0x80, 0xd7, + 0xb2, 0x6a, 0x17, 0xb2, 0xd2, 0xd4, 0x2a, 0xb7, 0xb3, 0x30, 0x00, 0xe8, + 0x55, 0xd0, 0x06, 0xe2, 0x9a, 0x54, 0x6a, 0xb0, 0x6d, 0x50, 0x97, 0x0c, + 0x76, 0x35, 0xb4, 0x1e, +}; +static const unsigned char kat4025_addinpr2[] = {0}; +static const unsigned char kat4025_retbits[] = { + 0x47, 0x44, 0x45, 0x5e, 0x38, 0xc9, 0xa5, 0xc5, 0xd8, 0x2b, 0x4c, 0x9d, + 0xdc, 0xc8, 0xff, 0x42, 0x13, 0x93, 0x4b, 0x67, 0x52, 0x7a, 0xb7, 0x50, + 0x00, 0x4d, 0x0e, 0xdc, 0x31, 0x14, 0x79, 0x0b, 0x69, 0x7b, 0x71, 0x56, + 0x0d, 0x77, 0x07, 0x7e, 0x5e, 0x4b, 0xa5, 0x01, 0xd4, 0x8a, 0x4c, 0x21, + 0x41, 0xf2, 0xa5, 0x22, 0x7b, 0x22, 0xf8, 0xec, 0x7c, 0x1c, 0x50, 0x09, + 0xfb, 0x18, 0x2b, 0x6e, +}; +static const struct drbg_kat_pr_true kat4025_t = { + 4, kat4025_entropyin, kat4025_nonce, kat4025_persstr, + kat4025_entropyinpr1, kat4025_addinpr1, kat4025_entropyinpr2, + kat4025_addinpr2, kat4025_retbits +}; +static const struct drbg_kat kat4025 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4025_t +}; + +static const unsigned char kat4026_entropyin[] = { + 0x0f, 0x76, 0x6e, 0x6f, 0x86, 0xec, 0x54, 0xe6, 0x69, 0xd8, 0x9a, 0xd7, + 0x09, 0x1d, 0xec, 0xb2, 0x1b, 0x94, 0x2d, 0x63, 0x46, 0x6a, 0x32, 0x66, + 0xbf, 0x1b, 0xd8, 0x50, 0x92, 0x7c, 0xe7, 0xf2, 0xd1, 0x28, 0x1e, 0xbd, + 0xd8, 0x4e, 0x07, 0x6e, +}; +static const unsigned char kat4026_nonce[] = {0}; +static const unsigned char kat4026_persstr[] = {0}; +static const unsigned char kat4026_entropyinpr1[] = { + 0xca, 0xd5, 0x03, 0x29, 0x3b, 0x46, 0x44, 0xae, 0x36, 0x37, 0x9d, 0xa7, + 0x45, 0xca, 0x4f, 0x64, 0xb7, 0x8d, 0x93, 0x18, 0x20, 0x64, 0x89, 0x96, + 0x9b, 0xb0, 0xf1, 0xd7, 0x10, 0xf6, 0xbc, 0xc8, 0xb7, 0xdb, 0x39, 0x74, + 0x31, 0xf4, 0xe6, 0x03, +}; +static const unsigned char kat4026_addinpr1[] = {0}; +static const unsigned char kat4026_entropyinpr2[] = { + 0x51, 0x55, 0x0c, 0x1b, 0x5e, 0x3e, 0xdb, 0x4f, 0x63, 0x99, 0x62, 0xb0, + 0x2a, 0x2a, 0x44, 0x93, 0x44, 0xe8, 0x48, 0x85, 0x9b, 0x54, 0xe8, 0xa2, + 0xaa, 0x87, 0x9a, 0x97, 0x81, 0x67, 0x4d, 0xf1, 0x10, 0x63, 0x50, 0xd6, + 0x26, 0xfe, 0x82, 0xe5, +}; +static const unsigned char kat4026_addinpr2[] = {0}; +static const unsigned char kat4026_retbits[] = { + 0x3b, 0xca, 0x90, 0xa4, 0x20, 0x8c, 0x28, 0x34, 0x7b, 0x02, 0x68, 0x65, + 0x6a, 0xfb, 0x8d, 0x53, 0x47, 0x49, 0x8b, 0x49, 0xb6, 0x34, 0x3f, 0xf4, + 0x6e, 0x72, 0x29, 0x85, 0x99, 0xc0, 0x47, 0xd4, 0xaa, 0x8e, 0x2a, 0x1b, + 0x32, 0x0b, 0xc1, 0xf9, 0x90, 0x11, 0x84, 0x9b, 0xc7, 0x35, 0xf0, 0x0a, + 0x3c, 0x13, 0x36, 0x54, 0x8d, 0xcf, 0x7c, 0x8e, 0xc9, 0x70, 0x02, 0x63, + 0xe1, 0xb4, 0xa9, 0xce, +}; +static const struct drbg_kat_pr_true kat4026_t = { + 5, kat4026_entropyin, kat4026_nonce, kat4026_persstr, + kat4026_entropyinpr1, kat4026_addinpr1, kat4026_entropyinpr2, + kat4026_addinpr2, kat4026_retbits +}; +static const struct drbg_kat kat4026 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4026_t +}; + +static const unsigned char kat4027_entropyin[] = { + 0xa7, 0x67, 0xa7, 0x77, 0xc3, 0xd6, 0x84, 0x43, 0xa3, 0xda, 0xb7, 0x45, + 0x1d, 0xb5, 0xc6, 0xaf, 0x45, 0x7e, 0x61, 0xfb, 0xbf, 0xfb, 0xf7, 0xf1, + 0xd0, 0x2f, 0x6b, 0xa2, 0xd7, 0x96, 0x2d, 0x8b, 0xb9, 0xcb, 0xf7, 0xe1, + 0x24, 0x2d, 0xf7, 0x56, +}; +static const unsigned char kat4027_nonce[] = {0}; +static const unsigned char kat4027_persstr[] = {0}; +static const unsigned char kat4027_entropyinpr1[] = { + 0xc9, 0x9e, 0x7a, 0x40, 0xad, 0x29, 0xd2, 0x7f, 0x83, 0xbd, 0x6c, 0x3a, + 0xe8, 0x70, 0x5b, 0x7d, 0x6c, 0x42, 0xa0, 0xc4, 0xe9, 0xc5, 0xcf, 0xb2, + 0x88, 0x6b, 0x10, 0xea, 0x57, 0xaa, 0xc8, 0xd6, 0x6a, 0x2f, 0xcc, 0x02, + 0x6b, 0x4c, 0xbe, 0xa8, +}; +static const unsigned char kat4027_addinpr1[] = {0}; +static const unsigned char kat4027_entropyinpr2[] = { + 0x63, 0xea, 0xd0, 0xe6, 0x05, 0xdf, 0x09, 0x1c, 0x9f, 0x9b, 0xe9, 0xc0, + 0x2c, 0x6a, 0x83, 0x2d, 0x0d, 0x22, 0x98, 0xe0, 0x09, 0xf1, 0xb3, 0x8f, + 0xa4, 0x53, 0x3d, 0x30, 0x27, 0x8f, 0x34, 0x2b, 0x0c, 0x6b, 0xbc, 0x66, + 0xaa, 0x97, 0x19, 0x47, +}; +static const unsigned char kat4027_addinpr2[] = {0}; +static const unsigned char kat4027_retbits[] = { + 0x23, 0x2c, 0x52, 0x16, 0x9a, 0x49, 0x19, 0x3b, 0xfb, 0x95, 0x59, 0x16, + 0xeb, 0xca, 0x4f, 0x5a, 0x16, 0xc8, 0x1e, 0x97, 0x1f, 0xc1, 0xe2, 0xe3, + 0x6c, 0x85, 0x19, 0x2f, 0x13, 0xac, 0x4b, 0x7e, 0x38, 0x13, 0x38, 0x28, + 0x3c, 0x8d, 0x4c, 0xab, 0x67, 0x7a, 0x8c, 0x5f, 0x6c, 0x1b, 0x44, 0x0c, + 0x10, 0x96, 0x4e, 0x05, 0x7a, 0x8b, 0x66, 0xb2, 0xba, 0x60, 0xe7, 0xfd, + 0x12, 0x81, 0x3f, 0xa0, +}; +static const struct drbg_kat_pr_true kat4027_t = { + 6, kat4027_entropyin, kat4027_nonce, kat4027_persstr, + kat4027_entropyinpr1, kat4027_addinpr1, kat4027_entropyinpr2, + kat4027_addinpr2, kat4027_retbits +}; +static const struct drbg_kat kat4027 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4027_t +}; + +static const unsigned char kat4028_entropyin[] = { + 0x27, 0xb1, 0x5b, 0xa5, 0xa9, 0x7d, 0xd9, 0xd5, 0x56, 0x40, 0xbd, 0x2c, + 0xc9, 0x14, 0x9c, 0x14, 0xe4, 0x12, 0xd6, 0x5a, 0xe1, 0xaa, 0xf9, 0xbf, + 0x5b, 0x24, 0x61, 0xbf, 0x20, 0xac, 0x46, 0xa5, 0x1b, 0xf8, 0x23, 0x4f, + 0x5c, 0x28, 0x3c, 0x33, +}; +static const unsigned char kat4028_nonce[] = {0}; +static const unsigned char kat4028_persstr[] = {0}; +static const unsigned char kat4028_entropyinpr1[] = { + 0x97, 0x9d, 0x96, 0x18, 0xd0, 0xab, 0x48, 0x17, 0x60, 0x9a, 0xaa, 0x41, + 0x25, 0xa0, 0xee, 0x5c, 0xcd, 0x69, 0x4c, 0xcd, 0x84, 0x63, 0x10, 0x9b, + 0x33, 0x26, 0x12, 0x23, 0xf1, 0xb0, 0xe8, 0x81, 0x10, 0x52, 0x27, 0xc5, + 0xa0, 0x9f, 0x99, 0x17, +}; +static const unsigned char kat4028_addinpr1[] = {0}; +static const unsigned char kat4028_entropyinpr2[] = { + 0x70, 0xa5, 0x7c, 0xe6, 0x8f, 0xe3, 0xc2, 0xcf, 0xde, 0x46, 0x22, 0xe4, + 0x6c, 0xf8, 0x93, 0x13, 0xb9, 0x5c, 0x64, 0xef, 0x97, 0x82, 0x47, 0x74, + 0xa2, 0x81, 0x7f, 0x06, 0xf6, 0x23, 0x90, 0x9f, 0xeb, 0x66, 0xce, 0x73, + 0x8c, 0x45, 0x70, 0x51, +}; +static const unsigned char kat4028_addinpr2[] = {0}; +static const unsigned char kat4028_retbits[] = { + 0x94, 0xbf, 0x4b, 0x90, 0x98, 0x0c, 0xea, 0x16, 0xaa, 0x58, 0x5e, 0x38, + 0x3f, 0x91, 0x37, 0x3b, 0xd5, 0x84, 0xfa, 0xd3, 0x0e, 0x60, 0x93, 0x0c, + 0x0a, 0x9f, 0x99, 0x13, 0xc9, 0xb5, 0x4d, 0xd4, 0x03, 0xe5, 0xa9, 0x35, + 0x43, 0x25, 0x8e, 0x48, 0xff, 0x00, 0x25, 0x52, 0x5f, 0x7a, 0x5d, 0x05, + 0xc0, 0x6c, 0x7a, 0xdd, 0xab, 0x23, 0x6c, 0x1b, 0x37, 0x26, 0x44, 0xf8, + 0xeb, 0xb1, 0x7b, 0x1c, +}; +static const struct drbg_kat_pr_true kat4028_t = { + 7, kat4028_entropyin, kat4028_nonce, kat4028_persstr, + kat4028_entropyinpr1, kat4028_addinpr1, kat4028_entropyinpr2, + kat4028_addinpr2, kat4028_retbits +}; +static const struct drbg_kat kat4028 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4028_t +}; + +static const unsigned char kat4029_entropyin[] = { + 0xed, 0x98, 0xdb, 0x12, 0xb4, 0xc4, 0xf1, 0x58, 0x47, 0xfd, 0x22, 0x46, + 0x4e, 0x98, 0x13, 0xde, 0x49, 0x94, 0x0e, 0xdb, 0xd5, 0x6e, 0x57, 0x54, + 0x55, 0x06, 0xab, 0x96, 0x3f, 0xaa, 0xce, 0x2d, 0x15, 0xed, 0xf2, 0xb7, + 0x58, 0xb3, 0xcf, 0x7a, +}; +static const unsigned char kat4029_nonce[] = {0}; +static const unsigned char kat4029_persstr[] = {0}; +static const unsigned char kat4029_entropyinpr1[] = { + 0x30, 0xc3, 0xe5, 0x60, 0x3f, 0x71, 0x20, 0x2a, 0x0d, 0xac, 0x06, 0x8a, + 0x06, 0x84, 0xde, 0x05, 0x43, 0x86, 0xb3, 0xe0, 0xe8, 0xd5, 0xad, 0x5c, + 0x87, 0x6b, 0x1f, 0x7e, 0x9c, 0xbb, 0x70, 0xc0, 0x9b, 0x7d, 0xfc, 0x7f, + 0xf8, 0xff, 0xd8, 0xd1, +}; +static const unsigned char kat4029_addinpr1[] = {0}; +static const unsigned char kat4029_entropyinpr2[] = { + 0x61, 0xfd, 0xe0, 0x50, 0xce, 0xf1, 0x2d, 0xc2, 0x0f, 0x6b, 0x6a, 0xe5, + 0x60, 0x80, 0xcb, 0x5e, 0xf3, 0xac, 0x36, 0x6b, 0x05, 0xbb, 0xbe, 0x1d, + 0x71, 0xf0, 0xa7, 0xfe, 0xde, 0xbc, 0x18, 0x04, 0x7a, 0x28, 0x5f, 0xae, + 0xf9, 0xbb, 0xab, 0xd4, +}; +static const unsigned char kat4029_addinpr2[] = {0}; +static const unsigned char kat4029_retbits[] = { + 0x68, 0x3e, 0xc6, 0xec, 0x15, 0x50, 0x96, 0x68, 0x35, 0x08, 0x89, 0xda, + 0x51, 0x58, 0xc1, 0xca, 0xbe, 0x6a, 0xec, 0xcb, 0x01, 0x06, 0xc7, 0x51, + 0x75, 0xfd, 0xfb, 0xfe, 0x27, 0x60, 0x95, 0x7d, 0xc1, 0x5b, 0xfc, 0x48, + 0x4c, 0x04, 0x44, 0xcf, 0xc3, 0x01, 0x97, 0x2f, 0x98, 0x85, 0x42, 0xf3, + 0xd4, 0x44, 0x90, 0x1c, 0x2b, 0xb3, 0x59, 0xd3, 0x13, 0x26, 0xb0, 0xe4, + 0x78, 0x10, 0x6b, 0xbd, +}; +static const struct drbg_kat_pr_true kat4029_t = { + 8, kat4029_entropyin, kat4029_nonce, kat4029_persstr, + kat4029_entropyinpr1, kat4029_addinpr1, kat4029_entropyinpr2, + kat4029_addinpr2, kat4029_retbits +}; +static const struct drbg_kat kat4029 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4029_t +}; + +static const unsigned char kat4030_entropyin[] = { + 0xa9, 0x82, 0xe3, 0x8b, 0x24, 0xf6, 0xf9, 0xfa, 0x5f, 0x34, 0xc0, 0x9c, + 0x36, 0x1a, 0x1e, 0xf0, 0xbd, 0x76, 0x85, 0xd6, 0xc2, 0xdd, 0xd5, 0x50, + 0x48, 0x50, 0x68, 0x12, 0xc8, 0xce, 0x51, 0x8c, 0x6b, 0x91, 0x28, 0x1f, + 0x9a, 0xf1, 0x42, 0x80, +}; +static const unsigned char kat4030_nonce[] = {0}; +static const unsigned char kat4030_persstr[] = {0}; +static const unsigned char kat4030_entropyinpr1[] = { + 0x49, 0x23, 0xbc, 0x25, 0xe2, 0x1d, 0x08, 0xb8, 0xfd, 0x3b, 0x2d, 0x62, + 0x19, 0x00, 0x3c, 0xb5, 0xb0, 0xb1, 0x24, 0xd9, 0x42, 0xe9, 0x08, 0x1b, + 0x7d, 0xd4, 0xc0, 0xef, 0x85, 0x01, 0x54, 0xb7, 0x24, 0x24, 0x4e, 0x8c, + 0x37, 0x1b, 0x10, 0x36, +}; +static const unsigned char kat4030_addinpr1[] = {0}; +static const unsigned char kat4030_entropyinpr2[] = { + 0x06, 0xf8, 0xb3, 0xc5, 0x0b, 0x1e, 0xcf, 0xec, 0x50, 0x02, 0x49, 0x69, + 0xb3, 0x4d, 0x60, 0x5c, 0x9b, 0x8f, 0x47, 0x4a, 0x4d, 0x67, 0x35, 0x9f, + 0xfc, 0xb7, 0x4e, 0x83, 0x6b, 0x67, 0x8b, 0xb8, 0xf2, 0x94, 0xca, 0xfd, + 0x84, 0xee, 0x62, 0x69, +}; +static const unsigned char kat4030_addinpr2[] = {0}; +static const unsigned char kat4030_retbits[] = { + 0x50, 0x66, 0x7c, 0xb2, 0x64, 0x2a, 0x63, 0x91, 0x4f, 0xd8, 0x5a, 0x83, + 0xf5, 0x7f, 0xbd, 0x20, 0xe7, 0x24, 0x36, 0xfd, 0xf4, 0x0b, 0x27, 0x02, + 0x23, 0x8b, 0x97, 0xb4, 0xfe, 0xe6, 0x5b, 0x8f, 0x95, 0xc8, 0x1d, 0x1a, + 0xcd, 0x9c, 0x57, 0x91, 0xb0, 0x5d, 0x30, 0xd8, 0x69, 0x74, 0x9b, 0x3d, + 0xaa, 0x46, 0x9d, 0xfa, 0x16, 0xbd, 0xae, 0x24, 0x88, 0xc1, 0x8b, 0x35, + 0x97, 0x11, 0x1b, 0x7e, +}; +static const struct drbg_kat_pr_true kat4030_t = { + 9, kat4030_entropyin, kat4030_nonce, kat4030_persstr, + kat4030_entropyinpr1, kat4030_addinpr1, kat4030_entropyinpr2, + kat4030_addinpr2, kat4030_retbits +}; +static const struct drbg_kat kat4030 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4030_t +}; + +static const unsigned char kat4031_entropyin[] = { + 0xe2, 0x15, 0xbd, 0x3d, 0xa5, 0xd2, 0x4c, 0x75, 0x84, 0x20, 0xeb, 0x74, + 0xb9, 0x11, 0x28, 0x2e, 0x8a, 0x71, 0xe7, 0x87, 0xcd, 0x86, 0x59, 0x31, + 0x68, 0x44, 0x07, 0x9d, 0x3c, 0xb2, 0x80, 0xcd, 0xf5, 0x18, 0x4d, 0xab, + 0x81, 0x94, 0xbf, 0x84, +}; +static const unsigned char kat4031_nonce[] = {0}; +static const unsigned char kat4031_persstr[] = {0}; +static const unsigned char kat4031_entropyinpr1[] = { + 0xf4, 0x4c, 0x96, 0x09, 0x59, 0xc9, 0xd3, 0xf4, 0x2d, 0xb2, 0x58, 0x46, + 0xb7, 0xc0, 0x1c, 0x48, 0xa0, 0xe4, 0xa5, 0x58, 0xce, 0xd5, 0xa4, 0x7a, + 0xa6, 0x61, 0x6d, 0x8c, 0x54, 0x1e, 0xf3, 0x77, 0xe2, 0x3f, 0xe0, 0xf9, + 0xa9, 0x71, 0x12, 0xa2, +}; +static const unsigned char kat4031_addinpr1[] = {0}; +static const unsigned char kat4031_entropyinpr2[] = { + 0xf1, 0xb7, 0x4b, 0x7f, 0x80, 0x62, 0xea, 0x46, 0x14, 0x01, 0xf2, 0xc8, + 0xaf, 0xed, 0xd3, 0x0f, 0x7b, 0x48, 0xc9, 0x33, 0xa7, 0xb0, 0xf9, 0x6d, + 0x1c, 0x90, 0x32, 0x94, 0x39, 0xd4, 0xa5, 0x0d, 0xd3, 0x30, 0x71, 0x4c, + 0xb4, 0xc6, 0x43, 0x8b, +}; +static const unsigned char kat4031_addinpr2[] = {0}; +static const unsigned char kat4031_retbits[] = { + 0x29, 0x68, 0x24, 0x56, 0x84, 0x31, 0x3f, 0x93, 0xd2, 0x52, 0x7c, 0x5c, + 0x13, 0x83, 0x5f, 0xe8, 0x20, 0xbd, 0xbd, 0xb7, 0xf4, 0x76, 0xfa, 0x8e, + 0x0a, 0xdf, 0xf5, 0xa4, 0x3f, 0x48, 0xd0, 0xde, 0x2c, 0x09, 0xa4, 0xc9, + 0xae, 0xcb, 0x9e, 0xdd, 0x7f, 0xc4, 0xee, 0x2b, 0xf8, 0x93, 0xb3, 0x1b, + 0x8f, 0x1d, 0x6a, 0xa4, 0xf3, 0x24, 0x9a, 0xa6, 0x86, 0x5f, 0x83, 0xf4, + 0x81, 0xd2, 0x6a, 0x84, +}; +static const struct drbg_kat_pr_true kat4031_t = { + 10, kat4031_entropyin, kat4031_nonce, kat4031_persstr, + kat4031_entropyinpr1, kat4031_addinpr1, kat4031_entropyinpr2, + kat4031_addinpr2, kat4031_retbits +}; +static const struct drbg_kat kat4031 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4031_t +}; + +static const unsigned char kat4032_entropyin[] = { + 0x8b, 0x39, 0x2d, 0x1f, 0xf4, 0x00, 0xf9, 0xae, 0x5a, 0xc1, 0x6b, 0xb0, + 0x0f, 0x2c, 0x9c, 0xee, 0xf5, 0xed, 0x4c, 0x6a, 0x63, 0x48, 0x28, 0x72, + 0x8a, 0x5b, 0x5f, 0x1d, 0xe4, 0xe0, 0x0c, 0xeb, 0xd9, 0xa4, 0x95, 0x44, + 0x2a, 0x23, 0xb7, 0x8b, +}; +static const unsigned char kat4032_nonce[] = {0}; +static const unsigned char kat4032_persstr[] = {0}; +static const unsigned char kat4032_entropyinpr1[] = { + 0x03, 0x3b, 0xdf, 0xb8, 0x71, 0x85, 0x88, 0x73, 0x9b, 0x3f, 0x8c, 0xac, + 0x83, 0x46, 0xfd, 0x94, 0x6d, 0x64, 0x9c, 0x09, 0x38, 0xdc, 0xb3, 0x2f, + 0xed, 0x47, 0x3f, 0xda, 0xca, 0x62, 0xb0, 0x96, 0x71, 0x28, 0xac, 0x53, + 0xa6, 0x05, 0x48, 0x7c, +}; +static const unsigned char kat4032_addinpr1[] = {0}; +static const unsigned char kat4032_entropyinpr2[] = { + 0xbb, 0x4f, 0x54, 0x74, 0xcc, 0x0e, 0xaf, 0x43, 0x76, 0x77, 0x2f, 0x19, + 0xdb, 0xa7, 0xa5, 0x99, 0x6d, 0x32, 0x90, 0x67, 0xcf, 0xd6, 0xfe, 0xaa, + 0x6e, 0x61, 0x79, 0x66, 0x0f, 0xff, 0x0c, 0xd4, 0x34, 0x2b, 0xd7, 0xb8, + 0x3b, 0x31, 0x79, 0xab, +}; +static const unsigned char kat4032_addinpr2[] = {0}; +static const unsigned char kat4032_retbits[] = { + 0xa9, 0xc4, 0x3e, 0x4e, 0x9c, 0xb4, 0xf5, 0xfb, 0x50, 0x24, 0x21, 0x95, + 0xed, 0x92, 0x9d, 0xe8, 0xa1, 0x5b, 0x58, 0xc8, 0xb6, 0x69, 0xaa, 0x80, + 0x69, 0x0a, 0xd3, 0xc8, 0x2a, 0x80, 0x1d, 0xaa, 0x01, 0x2d, 0x61, 0xab, + 0x0d, 0x09, 0x2e, 0xb5, 0x12, 0xd6, 0x64, 0x3f, 0xa3, 0xee, 0x39, 0xa2, + 0xcb, 0x58, 0xe8, 0x14, 0x2a, 0x11, 0x33, 0x60, 0x62, 0x80, 0xc0, 0x5e, + 0xe0, 0xa0, 0xbc, 0xda, +}; +static const struct drbg_kat_pr_true kat4032_t = { + 11, kat4032_entropyin, kat4032_nonce, kat4032_persstr, + kat4032_entropyinpr1, kat4032_addinpr1, kat4032_entropyinpr2, + kat4032_addinpr2, kat4032_retbits +}; +static const struct drbg_kat kat4032 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4032_t +}; + +static const unsigned char kat4033_entropyin[] = { + 0xa0, 0x7c, 0x4e, 0xb7, 0x21, 0x2c, 0xe9, 0x93, 0xb9, 0xd6, 0xc7, 0x44, + 0x10, 0xa5, 0x9b, 0xe0, 0x6b, 0x79, 0x75, 0x33, 0x26, 0xec, 0x40, 0xed, + 0x2f, 0xa7, 0x92, 0x40, 0xfc, 0xf5, 0x17, 0x42, 0xba, 0xec, 0x43, 0x1c, + 0x73, 0xa2, 0x43, 0x6f, +}; +static const unsigned char kat4033_nonce[] = {0}; +static const unsigned char kat4033_persstr[] = {0}; +static const unsigned char kat4033_entropyinpr1[] = { + 0xa2, 0x4b, 0x4f, 0x6b, 0x44, 0x39, 0xe5, 0x66, 0x13, 0x5a, 0x54, 0x16, + 0x46, 0xd6, 0x4c, 0x0b, 0x63, 0x73, 0xe4, 0x98, 0x1e, 0x79, 0x4b, 0x24, + 0xe2, 0xe4, 0x43, 0x4d, 0x87, 0x37, 0x9e, 0x93, 0x21, 0xc5, 0x7d, 0x0e, + 0x25, 0x7a, 0x01, 0xe0, +}; +static const unsigned char kat4033_addinpr1[] = {0}; +static const unsigned char kat4033_entropyinpr2[] = { + 0x80, 0xe0, 0x0b, 0x56, 0x58, 0x54, 0x5f, 0x02, 0xe7, 0xfd, 0xf9, 0xf3, + 0x9b, 0x4c, 0x04, 0xce, 0xe6, 0x6c, 0x0e, 0x4e, 0xa1, 0xd1, 0x87, 0x75, + 0x77, 0x30, 0x6d, 0x5c, 0x21, 0xd4, 0x1f, 0x61, 0x20, 0xf3, 0x8e, 0x20, + 0xa8, 0x29, 0x0d, 0xbf, +}; +static const unsigned char kat4033_addinpr2[] = {0}; +static const unsigned char kat4033_retbits[] = { + 0x26, 0xf2, 0xda, 0xb5, 0x6a, 0x4a, 0xa9, 0x2d, 0xa0, 0x10, 0x53, 0x93, + 0x25, 0xb0, 0xb0, 0xa6, 0x15, 0xea, 0x2c, 0xd2, 0xf6, 0xd5, 0xd5, 0x2f, + 0x3b, 0xed, 0xf4, 0xa6, 0xee, 0xfd, 0xbd, 0xa8, 0x68, 0x4e, 0x33, 0x0c, + 0x7b, 0xc8, 0x62, 0x95, 0xc6, 0xc6, 0x47, 0x20, 0x79, 0xa1, 0x7f, 0xce, + 0x70, 0xfc, 0xad, 0x09, 0x1e, 0x7d, 0x03, 0xd5, 0x17, 0x9d, 0x91, 0x30, + 0xe2, 0x65, 0x7a, 0xb3, +}; +static const struct drbg_kat_pr_true kat4033_t = { + 12, kat4033_entropyin, kat4033_nonce, kat4033_persstr, + kat4033_entropyinpr1, kat4033_addinpr1, kat4033_entropyinpr2, + kat4033_addinpr2, kat4033_retbits +}; +static const struct drbg_kat kat4033 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4033_t +}; + +static const unsigned char kat4034_entropyin[] = { + 0xcf, 0x7b, 0x32, 0x1c, 0xfc, 0x54, 0x20, 0x95, 0x4d, 0xdb, 0xac, 0x71, + 0x9f, 0xe2, 0x76, 0xb1, 0x43, 0xd7, 0x12, 0x46, 0x16, 0x15, 0x37, 0x57, + 0xc4, 0x7b, 0x0c, 0xb3, 0xe6, 0x07, 0x6f, 0x95, 0xe1, 0x1c, 0x22, 0x1a, + 0x92, 0xa0, 0xff, 0xe1, +}; +static const unsigned char kat4034_nonce[] = {0}; +static const unsigned char kat4034_persstr[] = {0}; +static const unsigned char kat4034_entropyinpr1[] = { + 0x00, 0xf1, 0x98, 0x59, 0x9d, 0x42, 0x12, 0x8e, 0x23, 0x85, 0xd3, 0xd2, + 0x7d, 0x0f, 0xe3, 0x1d, 0x97, 0xfe, 0x2d, 0x02, 0x9f, 0x07, 0xa7, 0xd8, + 0x1c, 0x27, 0xa0, 0x81, 0x2d, 0x45, 0xf0, 0xe5, 0x22, 0xc7, 0x6c, 0x21, + 0x38, 0x26, 0x31, 0xf1, +}; +static const unsigned char kat4034_addinpr1[] = {0}; +static const unsigned char kat4034_entropyinpr2[] = { + 0xcc, 0x8d, 0x81, 0x18, 0x73, 0x14, 0xe7, 0x6f, 0xb5, 0x3c, 0xd0, 0x8b, + 0x89, 0x0d, 0xb3, 0x1c, 0xd0, 0x0d, 0xfd, 0xa5, 0xd5, 0x94, 0x03, 0x25, + 0x07, 0xc0, 0xcd, 0x2a, 0x0b, 0xd1, 0x44, 0x5b, 0x44, 0x22, 0x08, 0x73, + 0x41, 0xbc, 0x36, 0xda, +}; +static const unsigned char kat4034_addinpr2[] = {0}; +static const unsigned char kat4034_retbits[] = { + 0x1b, 0x94, 0xdf, 0x00, 0x2a, 0x93, 0x32, 0x64, 0x91, 0xf2, 0x82, 0x93, + 0x3b, 0xc5, 0x8b, 0x8c, 0xa1, 0xd3, 0x0f, 0xcf, 0x59, 0x12, 0x35, 0xe7, + 0x15, 0x2e, 0xb1, 0x2f, 0x73, 0x56, 0xc3, 0x1a, 0x7e, 0xcf, 0x9f, 0x63, + 0x8a, 0x7f, 0xa2, 0x79, 0xd5, 0xc5, 0x98, 0x24, 0x43, 0x7d, 0x59, 0x7f, + 0xd6, 0x40, 0xad, 0xa1, 0xc5, 0xca, 0xcf, 0x95, 0x57, 0xfd, 0x25, 0x93, + 0xcc, 0xa8, 0x89, 0x2b, +}; +static const struct drbg_kat_pr_true kat4034_t = { + 13, kat4034_entropyin, kat4034_nonce, kat4034_persstr, + kat4034_entropyinpr1, kat4034_addinpr1, kat4034_entropyinpr2, + kat4034_addinpr2, kat4034_retbits +}; +static const struct drbg_kat kat4034 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4034_t +}; + +static const unsigned char kat4035_entropyin[] = { + 0x9b, 0xfc, 0xf7, 0xe4, 0xd3, 0xaf, 0x6c, 0xac, 0xab, 0xa0, 0xef, 0x99, + 0x9c, 0x53, 0x4f, 0xed, 0x5d, 0x5f, 0xcb, 0x58, 0xc9, 0x64, 0xaf, 0x26, + 0xc9, 0xea, 0x5b, 0x2d, 0x6c, 0xbf, 0x5b, 0xb1, 0xa8, 0x30, 0xcd, 0xb0, + 0x88, 0x01, 0xde, 0x7f, +}; +static const unsigned char kat4035_nonce[] = {0}; +static const unsigned char kat4035_persstr[] = {0}; +static const unsigned char kat4035_entropyinpr1[] = { + 0xad, 0x92, 0x7a, 0x71, 0xc6, 0x39, 0x0c, 0x56, 0x13, 0xa7, 0xc1, 0x47, + 0x80, 0xab, 0xe6, 0xd2, 0x66, 0xb2, 0xd1, 0x26, 0xaa, 0x49, 0xf2, 0x3c, + 0x5f, 0xb6, 0x0e, 0x92, 0x73, 0x63, 0x26, 0x15, 0x12, 0x93, 0xeb, 0x36, + 0xe3, 0x1d, 0xc9, 0xbc, +}; +static const unsigned char kat4035_addinpr1[] = {0}; +static const unsigned char kat4035_entropyinpr2[] = { + 0x15, 0x2e, 0xc7, 0xc0, 0xd2, 0x6e, 0xab, 0x6d, 0xe2, 0x9d, 0x3d, 0x2e, + 0xf3, 0x21, 0x28, 0x12, 0x97, 0xbd, 0x25, 0x91, 0xbe, 0x88, 0x73, 0x18, + 0x71, 0x2c, 0xcd, 0xbb, 0xd3, 0xec, 0xfc, 0x1c, 0x92, 0x50, 0xf9, 0x9a, + 0x22, 0x6f, 0xc9, 0xb8, +}; +static const unsigned char kat4035_addinpr2[] = {0}; +static const unsigned char kat4035_retbits[] = { + 0x0a, 0xd1, 0x10, 0x14, 0x54, 0xcf, 0xe0, 0x91, 0xf1, 0x45, 0x63, 0x83, + 0xee, 0xb1, 0xe7, 0xa9, 0x68, 0x32, 0x8d, 0xa1, 0x50, 0xf1, 0x16, 0x6b, + 0x89, 0xe7, 0xc2, 0x02, 0xda, 0xf5, 0xe4, 0x23, 0x24, 0x31, 0x4c, 0x43, + 0xfd, 0x1d, 0xa6, 0xde, 0x3f, 0xeb, 0x9f, 0xfc, 0xf8, 0x2c, 0xf2, 0x17, + 0xbb, 0xcd, 0xf5, 0xc9, 0x68, 0x64, 0xc2, 0x27, 0x24, 0x63, 0x06, 0xf0, + 0xc9, 0x75, 0xc4, 0xc8, +}; +static const struct drbg_kat_pr_true kat4035_t = { + 14, kat4035_entropyin, kat4035_nonce, kat4035_persstr, + kat4035_entropyinpr1, kat4035_addinpr1, kat4035_entropyinpr2, + kat4035_addinpr2, kat4035_retbits +}; +static const struct drbg_kat kat4035 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 0, 64, &kat4035_t +}; + +static const unsigned char kat4036_entropyin[] = { + 0x78, 0xcb, 0x8e, 0xb2, 0x7a, 0xd2, 0xbe, 0x1e, 0x7d, 0x96, 0x75, 0x52, + 0xa6, 0xe2, 0x24, 0x93, 0x09, 0x55, 0x65, 0xa1, 0x6b, 0x04, 0xcf, 0xfe, + 0x05, 0x96, 0xfa, 0x3b, 0xbd, 0x59, 0x2e, 0xcb, 0xf9, 0x02, 0xb7, 0xe6, + 0xd2, 0x38, 0x54, 0xd4, +}; +static const unsigned char kat4036_nonce[] = {0}; +static const unsigned char kat4036_persstr[] = {0}; +static const unsigned char kat4036_entropyinpr1[] = { + 0x62, 0x2a, 0x30, 0x3d, 0x7b, 0x66, 0x6e, 0xbd, 0x3e, 0x50, 0x5c, 0x7c, + 0x89, 0xe8, 0x92, 0xb3, 0xf9, 0x75, 0xcf, 0x40, 0x80, 0x1f, 0x55, 0x27, + 0x00, 0xa6, 0x22, 0x40, 0x4b, 0xb0, 0xf7, 0xfc, 0x19, 0xe1, 0xa2, 0x7e, + 0x2c, 0xf2, 0x7d, 0x46, +}; +static const unsigned char kat4036_addinpr1[] = { + 0x83, 0xeb, 0xb6, 0xfd, 0x47, 0x3d, 0x7d, 0x2c, 0x84, 0xee, 0xe0, 0x20, + 0x11, 0x19, 0xc4, 0x82, 0x39, 0x5a, 0x90, 0x97, 0xc7, 0x9d, 0xd7, 0xec, + 0xf6, 0x6c, 0x44, 0xd4, 0x23, 0x38, 0xf3, 0x24, 0x12, 0x06, 0xe1, 0x57, + 0x17, 0xa0, 0x8b, 0x2a, +}; +static const unsigned char kat4036_entropyinpr2[] = { + 0x79, 0x11, 0x0b, 0x95, 0xd7, 0x9e, 0x2d, 0xc2, 0xb5, 0xcd, 0x9d, 0xc1, + 0x73, 0xb1, 0x8c, 0xca, 0x4a, 0x18, 0x52, 0x48, 0xce, 0x5f, 0x74, 0xa9, + 0x34, 0x03, 0x85, 0x30, 0x39, 0x26, 0x00, 0xea, 0x44, 0xda, 0x29, 0x2b, + 0x0b, 0x2f, 0x64, 0x4e, +}; +static const unsigned char kat4036_addinpr2[] = { + 0x44, 0x16, 0x68, 0x39, 0x33, 0xf1, 0x19, 0x8e, 0xd5, 0xe4, 0xd9, 0xe8, + 0x8a, 0x2c, 0x2d, 0xe0, 0x34, 0x68, 0x43, 0x89, 0x65, 0x98, 0x5d, 0x0a, + 0xd9, 0x78, 0xf6, 0x7d, 0xc1, 0x54, 0x91, 0xe9, 0x66, 0x91, 0x07, 0xc6, + 0xf7, 0x4c, 0x4d, 0xb2, +}; +static const unsigned char kat4036_retbits[] = { + 0xa2, 0xee, 0x55, 0x15, 0x31, 0x90, 0x35, 0x10, 0x8d, 0x0c, 0xe2, 0x30, + 0x21, 0x82, 0x5a, 0x47, 0xdd, 0xee, 0xe1, 0xd5, 0x5b, 0xea, 0xf7, 0xcb, + 0x2e, 0xca, 0x79, 0x6d, 0xa9, 0x41, 0x93, 0xc5, 0x9a, 0x07, 0x31, 0xdf, + 0x73, 0x48, 0xcd, 0xee, 0xd7, 0xb9, 0x1d, 0x6c, 0xd9, 0x33, 0x63, 0x31, + 0xba, 0x71, 0x7d, 0xaf, 0x43, 0xed, 0x45, 0x4a, 0x65, 0x4d, 0xd2, 0x3f, + 0x5f, 0x6d, 0xb8, 0x9e, +}; +static const struct drbg_kat_pr_true kat4036_t = { + 0, kat4036_entropyin, kat4036_nonce, kat4036_persstr, + kat4036_entropyinpr1, kat4036_addinpr1, kat4036_entropyinpr2, + kat4036_addinpr2, kat4036_retbits +}; +static const struct drbg_kat kat4036 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4036_t +}; + +static const unsigned char kat4037_entropyin[] = { + 0x60, 0x5d, 0x4d, 0xaf, 0x01, 0x67, 0x04, 0xa8, 0x6d, 0x30, 0x1b, 0xc0, + 0xf1, 0x90, 0x17, 0x3c, 0x8a, 0x0b, 0x35, 0x9c, 0xd9, 0x29, 0x59, 0xf7, + 0xb2, 0xda, 0xd8, 0x25, 0xf6, 0xb4, 0xe4, 0x58, 0x53, 0x5e, 0xe5, 0x9f, + 0x8f, 0xf0, 0x83, 0x5c, +}; +static const unsigned char kat4037_nonce[] = {0}; +static const unsigned char kat4037_persstr[] = {0}; +static const unsigned char kat4037_entropyinpr1[] = { + 0xbc, 0x66, 0x9c, 0xa8, 0x79, 0x22, 0x11, 0x77, 0x82, 0xe1, 0x96, 0xc6, + 0x25, 0x62, 0x11, 0xdf, 0x02, 0xaf, 0x0b, 0xb2, 0x85, 0x8b, 0x53, 0xa0, + 0x43, 0x0b, 0x76, 0xc3, 0x82, 0x7b, 0x3e, 0x31, 0x98, 0x24, 0x5c, 0xe0, + 0x69, 0x30, 0xea, 0x33, +}; +static const unsigned char kat4037_addinpr1[] = { + 0xf3, 0xa9, 0x82, 0xe6, 0x63, 0xca, 0xb1, 0x7f, 0x41, 0xb0, 0xe4, 0x12, + 0xe2, 0xb6, 0x3a, 0x87, 0x8c, 0x00, 0xde, 0x13, 0x7d, 0x9c, 0x59, 0x8d, + 0x0b, 0x7c, 0x92, 0xde, 0xaf, 0x96, 0x37, 0x39, 0xd3, 0x89, 0x16, 0xb5, + 0xf3, 0xd7, 0x5d, 0x94, +}; +static const unsigned char kat4037_entropyinpr2[] = { + 0x48, 0x70, 0x28, 0x10, 0xba, 0x65, 0x1e, 0x6a, 0x41, 0xd0, 0x4f, 0xb4, + 0x5a, 0x7c, 0xc5, 0x76, 0x0e, 0x33, 0xc5, 0x49, 0x5b, 0x9c, 0x16, 0xb8, + 0xdc, 0xfe, 0x9a, 0x72, 0x80, 0xc2, 0x19, 0x90, 0x75, 0xe5, 0x14, 0x48, + 0xa5, 0x0c, 0x6d, 0xee, +}; +static const unsigned char kat4037_addinpr2[] = { + 0x90, 0xfc, 0xc0, 0x6c, 0x65, 0xe4, 0xe1, 0xd8, 0x31, 0xd7, 0xe4, 0xba, + 0xc1, 0x6e, 0xbe, 0xe3, 0xec, 0x53, 0xe1, 0x8b, 0xcd, 0x35, 0xf7, 0x3a, + 0x5c, 0x4b, 0xbd, 0xf8, 0x1d, 0xcb, 0x99, 0x18, 0xde, 0x5a, 0x5e, 0xdc, + 0xe5, 0x2a, 0xa6, 0x1e, +}; +static const unsigned char kat4037_retbits[] = { + 0x12, 0x77, 0x9e, 0xa7, 0xe2, 0x7a, 0xaf, 0xe1, 0xc2, 0xf4, 0x5c, 0x7c, + 0x7b, 0x12, 0x90, 0x2e, 0x0b, 0x10, 0xdc, 0xa2, 0x30, 0xb8, 0x96, 0x0c, + 0x87, 0x5d, 0x0d, 0x3b, 0x33, 0xe2, 0x3d, 0x0a, 0xcb, 0x47, 0x0c, 0xab, + 0x7f, 0x20, 0xbd, 0xe3, 0x47, 0x09, 0x9b, 0xea, 0xf4, 0xc1, 0xb1, 0x34, + 0xe6, 0xd8, 0xcb, 0xfc, 0x8c, 0x6f, 0x35, 0x71, 0xcb, 0xf7, 0x02, 0xc3, + 0xce, 0x5e, 0xdd, 0xeb, +}; +static const struct drbg_kat_pr_true kat4037_t = { + 1, kat4037_entropyin, kat4037_nonce, kat4037_persstr, + kat4037_entropyinpr1, kat4037_addinpr1, kat4037_entropyinpr2, + kat4037_addinpr2, kat4037_retbits +}; +static const struct drbg_kat kat4037 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4037_t +}; + +static const unsigned char kat4038_entropyin[] = { + 0x76, 0x21, 0x96, 0x26, 0x53, 0x7f, 0x37, 0x78, 0xdd, 0x3f, 0xb6, 0xbf, + 0x64, 0x19, 0xd3, 0x1a, 0xd8, 0x60, 0x11, 0x02, 0x08, 0xf3, 0xdc, 0x59, + 0x01, 0xde, 0xc4, 0x4e, 0xd2, 0xf9, 0x83, 0xe5, 0x41, 0x10, 0x72, 0xce, + 0x69, 0x51, 0x6b, 0x6a, +}; +static const unsigned char kat4038_nonce[] = {0}; +static const unsigned char kat4038_persstr[] = {0}; +static const unsigned char kat4038_entropyinpr1[] = { + 0x4a, 0x7e, 0x8d, 0x93, 0xfc, 0x98, 0x8c, 0x84, 0xe9, 0xf8, 0x95, 0x51, + 0x19, 0x02, 0xfb, 0xf2, 0xcd, 0x8c, 0x49, 0x60, 0x3f, 0xd7, 0x98, 0x17, + 0x3c, 0xda, 0xdd, 0x4b, 0xfc, 0xcb, 0xc1, 0x5b, 0x3b, 0x99, 0xcf, 0xb6, + 0x32, 0x70, 0x40, 0xec, +}; +static const unsigned char kat4038_addinpr1[] = { + 0xa3, 0x4f, 0x5c, 0x5d, 0xcb, 0xb4, 0x29, 0xbb, 0x9f, 0x93, 0xe3, 0x20, + 0x79, 0xfa, 0x44, 0xea, 0x9f, 0x1a, 0x9b, 0xdf, 0x75, 0x80, 0x2b, 0x24, + 0x8d, 0x63, 0x43, 0x20, 0x4b, 0x90, 0xd5, 0x16, 0xc6, 0xfb, 0xb4, 0x76, + 0x47, 0xef, 0xa8, 0x31, +}; +static const unsigned char kat4038_entropyinpr2[] = { + 0xb8, 0xd5, 0x3e, 0xa7, 0xe4, 0xc5, 0xa9, 0xb1, 0x25, 0x89, 0x48, 0x5c, + 0x26, 0x74, 0x71, 0x8a, 0x5b, 0x64, 0x98, 0x42, 0x13, 0xae, 0xe7, 0xb0, + 0x0c, 0xb1, 0x7a, 0x58, 0x99, 0xea, 0x1f, 0x92, 0xfe, 0x10, 0xa8, 0xb9, + 0x63, 0x5d, 0xbb, 0x22, +}; +static const unsigned char kat4038_addinpr2[] = { + 0xb5, 0xc4, 0x19, 0x5d, 0x5a, 0xa9, 0xb8, 0xa7, 0xf3, 0xdb, 0xa4, 0xb3, + 0xe1, 0x30, 0x21, 0xf6, 0xcb, 0xec, 0xe2, 0xb1, 0x9e, 0x24, 0x3d, 0x51, + 0xda, 0x9d, 0x53, 0xeb, 0x2c, 0x65, 0xf7, 0xf5, 0xc6, 0xfc, 0x35, 0x26, + 0x21, 0xd7, 0x0f, 0xe2, +}; +static const unsigned char kat4038_retbits[] = { + 0x49, 0x24, 0xba, 0x74, 0xa5, 0xb2, 0x7f, 0x1c, 0xb6, 0x6c, 0x80, 0x14, + 0x1d, 0x30, 0xe5, 0x4b, 0xa9, 0x8e, 0x35, 0x29, 0x01, 0x10, 0xe5, 0xd0, + 0xb2, 0x95, 0x20, 0x99, 0xeb, 0x33, 0x8b, 0xbc, 0x3f, 0xfa, 0x41, 0xeb, + 0x75, 0xeb, 0x21, 0x6f, 0xd4, 0x38, 0xc3, 0x57, 0xbf, 0x23, 0x8b, 0x6b, + 0x6e, 0xd6, 0x60, 0xbe, 0x5b, 0x5e, 0xb9, 0xe4, 0x92, 0xf2, 0xf8, 0x00, + 0xd7, 0xf7, 0x6e, 0xf1, +}; +static const struct drbg_kat_pr_true kat4038_t = { + 2, kat4038_entropyin, kat4038_nonce, kat4038_persstr, + kat4038_entropyinpr1, kat4038_addinpr1, kat4038_entropyinpr2, + kat4038_addinpr2, kat4038_retbits +}; +static const struct drbg_kat kat4038 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4038_t +}; + +static const unsigned char kat4039_entropyin[] = { + 0xf5, 0x49, 0x0e, 0x46, 0xd3, 0x0f, 0x66, 0xe2, 0x7a, 0x5d, 0xcf, 0x89, + 0xd8, 0x02, 0x8b, 0x17, 0x9d, 0x6f, 0xfa, 0xcb, 0xdf, 0xe5, 0x52, 0x2c, + 0x38, 0x3f, 0x0a, 0x9c, 0x29, 0xdd, 0x85, 0x56, 0x86, 0x31, 0x8d, 0xc3, + 0x1c, 0xc1, 0xf0, 0x05, +}; +static const unsigned char kat4039_nonce[] = {0}; +static const unsigned char kat4039_persstr[] = {0}; +static const unsigned char kat4039_entropyinpr1[] = { + 0x71, 0xc7, 0xb6, 0x0f, 0xef, 0xfa, 0xd7, 0x6d, 0xe3, 0x46, 0x81, 0xf7, + 0xb5, 0xa0, 0x57, 0xbf, 0xa7, 0x32, 0x2c, 0x9a, 0x10, 0xf0, 0xbb, 0x37, + 0xfc, 0xdb, 0xeb, 0x4c, 0xb5, 0x5e, 0xe4, 0x5b, 0x2b, 0x2c, 0x64, 0xe3, + 0x77, 0x93, 0xc6, 0xd9, +}; +static const unsigned char kat4039_addinpr1[] = { + 0xa1, 0x44, 0x8e, 0xa9, 0x45, 0x67, 0x7e, 0xba, 0x2e, 0x0a, 0xb0, 0xcb, + 0x0e, 0x6f, 0xdc, 0xe6, 0xa9, 0x15, 0x48, 0xce, 0xe6, 0xef, 0x14, 0x0f, + 0xc7, 0xa8, 0xeb, 0x4c, 0xc9, 0x1f, 0x2f, 0x5c, 0x48, 0x0a, 0xb2, 0x5b, + 0x6b, 0xdc, 0x22, 0x63, +}; +static const unsigned char kat4039_entropyinpr2[] = { + 0xbd, 0xa7, 0xc4, 0xd0, 0xaa, 0x18, 0xde, 0xee, 0x36, 0x61, 0xf1, 0x5c, + 0xe3, 0xad, 0x7a, 0x31, 0x10, 0x53, 0x50, 0x4f, 0xc4, 0x6c, 0xa5, 0xda, + 0x3c, 0x42, 0xcf, 0x19, 0x1d, 0x24, 0x13, 0x9a, 0x53, 0x49, 0xcc, 0x1f, + 0xb6, 0xdd, 0xef, 0xde, +}; +static const unsigned char kat4039_addinpr2[] = { + 0xc1, 0x41, 0xd3, 0x9a, 0x3c, 0xb7, 0x25, 0x29, 0xfe, 0xa2, 0xf8, 0x08, + 0x20, 0x49, 0x09, 0xfe, 0x92, 0xa0, 0x62, 0x19, 0x04, 0x4b, 0x31, 0x31, + 0x93, 0x18, 0x83, 0xb1, 0x08, 0xf0, 0x36, 0x3a, 0x7b, 0x49, 0x9f, 0x1d, + 0xed, 0x86, 0xf4, 0x25, +}; +static const unsigned char kat4039_retbits[] = { + 0xaf, 0xa6, 0x6e, 0x2c, 0x80, 0x89, 0x8c, 0x57, 0x1f, 0x3b, 0x3e, 0xe9, + 0xf5, 0x3b, 0x5f, 0x5a, 0xd6, 0x01, 0xd1, 0xc9, 0xde, 0x5b, 0x0e, 0x2c, + 0x35, 0xb4, 0x60, 0x3b, 0xff, 0xb9, 0x7b, 0xd5, 0x45, 0xf0, 0x27, 0x1f, + 0xe7, 0x13, 0x3f, 0xb1, 0x9d, 0xd9, 0x9b, 0x23, 0xd2, 0x34, 0x3f, 0x80, + 0x71, 0x8a, 0xfe, 0xf5, 0x38, 0xdb, 0xe7, 0x29, 0x17, 0x3b, 0x95, 0xd7, + 0xff, 0x1a, 0xc4, 0x39, +}; +static const struct drbg_kat_pr_true kat4039_t = { + 3, kat4039_entropyin, kat4039_nonce, kat4039_persstr, + kat4039_entropyinpr1, kat4039_addinpr1, kat4039_entropyinpr2, + kat4039_addinpr2, kat4039_retbits +}; +static const struct drbg_kat kat4039 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4039_t +}; + +static const unsigned char kat4040_entropyin[] = { + 0x98, 0xca, 0x8f, 0x32, 0x53, 0xf3, 0xec, 0x3b, 0x6e, 0xf6, 0x86, 0x3b, + 0x81, 0x82, 0x1f, 0x22, 0x13, 0xd3, 0x76, 0xde, 0x85, 0x78, 0xb0, 0x7b, + 0x77, 0x1d, 0x15, 0x73, 0x56, 0x1f, 0x35, 0xb0, 0x12, 0x87, 0x64, 0x28, + 0xf1, 0xb1, 0x0c, 0xdb, +}; +static const unsigned char kat4040_nonce[] = {0}; +static const unsigned char kat4040_persstr[] = {0}; +static const unsigned char kat4040_entropyinpr1[] = { + 0x92, 0xbb, 0xd6, 0xc8, 0x60, 0xa6, 0xb3, 0x6d, 0x47, 0xb3, 0xb1, 0x01, + 0x57, 0xa7, 0xa6, 0x15, 0xf7, 0xbf, 0x53, 0xec, 0xe2, 0x9b, 0x78, 0x4a, + 0xc3, 0xec, 0x54, 0x5d, 0x48, 0xd3, 0xf1, 0x27, 0xa1, 0x6a, 0x59, 0xba, + 0xd4, 0xf9, 0x40, 0xa9, +}; +static const unsigned char kat4040_addinpr1[] = { + 0x0c, 0xac, 0x06, 0x63, 0xdd, 0x13, 0x5c, 0x39, 0x3b, 0x4e, 0xe4, 0x53, + 0x7d, 0x73, 0xb0, 0x05, 0xfd, 0x66, 0x9a, 0x57, 0x7a, 0xe5, 0x20, 0x18, + 0x05, 0xc5, 0x4f, 0xb9, 0xb4, 0x6b, 0x5f, 0xff, 0xb8, 0x17, 0x4b, 0xec, + 0x02, 0x97, 0xfc, 0x35, +}; +static const unsigned char kat4040_entropyinpr2[] = { + 0x37, 0x81, 0x6b, 0xaf, 0x00, 0x42, 0xfc, 0x29, 0xbc, 0x58, 0xa7, 0x4c, + 0x3d, 0x50, 0x72, 0x34, 0xf5, 0xab, 0x3c, 0x19, 0xf1, 0x74, 0xc3, 0x66, + 0x0d, 0xa2, 0x11, 0x52, 0xb6, 0x1e, 0x3d, 0x13, 0x01, 0x46, 0x14, 0x08, + 0xeb, 0x42, 0xe6, 0x7d, +}; +static const unsigned char kat4040_addinpr2[] = { + 0x93, 0xde, 0x97, 0x78, 0xda, 0x65, 0x9d, 0x03, 0x41, 0xc5, 0xc7, 0x0c, + 0x33, 0xa7, 0xde, 0xc7, 0x52, 0x4e, 0xb4, 0x33, 0x62, 0x38, 0xba, 0xa5, + 0x23, 0x73, 0x0e, 0x92, 0xb4, 0x87, 0x05, 0x3f, 0xe1, 0xe4, 0x6d, 0x74, + 0x5f, 0xde, 0xdc, 0x79, +}; +static const unsigned char kat4040_retbits[] = { + 0x54, 0x97, 0x6e, 0xae, 0x2a, 0x37, 0x43, 0x98, 0x45, 0xe0, 0xe5, 0xda, + 0xd2, 0xcc, 0x14, 0xe1, 0x3c, 0xf6, 0xc0, 0x05, 0x05, 0x83, 0xc1, 0x8f, + 0xe9, 0xd2, 0x62, 0xbb, 0x5a, 0xc2, 0x3e, 0x6e, 0xd6, 0x84, 0xca, 0x3c, + 0xca, 0xdd, 0x9f, 0x42, 0xc5, 0xb8, 0xbf, 0xc0, 0x31, 0x22, 0x02, 0x27, + 0xa3, 0x6d, 0x3a, 0x5a, 0xd8, 0x95, 0x18, 0x95, 0x44, 0x99, 0x0e, 0xa9, + 0xfe, 0x56, 0x15, 0xf1, +}; +static const struct drbg_kat_pr_true kat4040_t = { + 4, kat4040_entropyin, kat4040_nonce, kat4040_persstr, + kat4040_entropyinpr1, kat4040_addinpr1, kat4040_entropyinpr2, + kat4040_addinpr2, kat4040_retbits +}; +static const struct drbg_kat kat4040 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4040_t +}; + +static const unsigned char kat4041_entropyin[] = { + 0x9d, 0x8e, 0x91, 0xb7, 0x22, 0x90, 0xb1, 0x1b, 0x9b, 0xa2, 0xa4, 0x26, + 0x8c, 0xd9, 0xbc, 0x89, 0x0d, 0x5b, 0x09, 0x43, 0x44, 0x3e, 0xe6, 0xc2, + 0x25, 0x2f, 0xc2, 0x44, 0x91, 0x20, 0xd4, 0x6b, 0x3c, 0x09, 0x92, 0x75, + 0x11, 0x49, 0xcd, 0xaf, +}; +static const unsigned char kat4041_nonce[] = {0}; +static const unsigned char kat4041_persstr[] = {0}; +static const unsigned char kat4041_entropyinpr1[] = { + 0xec, 0x96, 0x5d, 0xad, 0x45, 0xc5, 0x4e, 0x79, 0xe2, 0xc5, 0xfc, 0x3f, + 0x63, 0x9a, 0x35, 0x48, 0x41, 0x50, 0xda, 0x4c, 0x69, 0x90, 0x5e, 0x48, + 0x4f, 0xf1, 0xfe, 0xe4, 0x99, 0xc8, 0xbc, 0x9f, 0x64, 0x6d, 0xa9, 0x55, + 0xb3, 0xf1, 0x63, 0x6b, +}; +static const unsigned char kat4041_addinpr1[] = { + 0xaf, 0xbd, 0xd5, 0x2b, 0xdf, 0x1f, 0x5a, 0xfa, 0xfb, 0xe8, 0x51, 0x94, + 0x1d, 0x05, 0x95, 0xf9, 0x90, 0x78, 0xd3, 0x6e, 0x67, 0xe5, 0x61, 0x41, + 0x6b, 0x05, 0xac, 0x04, 0xe8, 0x02, 0x49, 0x52, 0x1c, 0x2c, 0xf1, 0xf5, + 0x5f, 0x16, 0xb9, 0xcd, +}; +static const unsigned char kat4041_entropyinpr2[] = { + 0xfa, 0x5e, 0x0a, 0x66, 0xc4, 0x86, 0x4d, 0x9d, 0xf1, 0xa1, 0x4e, 0xe5, + 0xbc, 0xf7, 0x6b, 0xac, 0xbc, 0xce, 0x62, 0x52, 0x26, 0xa1, 0x27, 0x9c, + 0xf3, 0xef, 0x69, 0xe7, 0x71, 0x70, 0xac, 0x93, 0x1a, 0x52, 0xfc, 0xff, + 0x22, 0xe3, 0xb5, 0x89, +}; +static const unsigned char kat4041_addinpr2[] = { + 0xcc, 0xce, 0x45, 0x26, 0xaa, 0x29, 0x9f, 0xdc, 0x32, 0xea, 0x98, 0x53, + 0xde, 0xc1, 0xb7, 0x71, 0x45, 0xbe, 0x4b, 0xcd, 0xf8, 0x8f, 0x71, 0xc7, + 0x7e, 0xde, 0x3d, 0x36, 0x73, 0x67, 0xbf, 0xb9, 0xd4, 0xd5, 0x63, 0xb5, + 0xaa, 0x5a, 0x65, 0x99, +}; +static const unsigned char kat4041_retbits[] = { + 0x10, 0xd3, 0x5e, 0xaa, 0x2f, 0x47, 0x5e, 0xf1, 0xef, 0xea, 0x1a, 0xbe, + 0x1c, 0xfd, 0x74, 0xcd, 0xdd, 0xd8, 0x94, 0x9f, 0x66, 0x6d, 0xe6, 0xd0, + 0xf1, 0xd4, 0xb2, 0x0b, 0x5d, 0xbc, 0x53, 0xbe, 0xe6, 0xaa, 0x71, 0x2d, + 0xa0, 0x7e, 0x8b, 0xed, 0x23, 0x09, 0x42, 0x7d, 0x01, 0x71, 0x52, 0x1a, + 0x9f, 0x92, 0x83, 0x9c, 0xbe, 0xa9, 0x61, 0x05, 0xa8, 0x90, 0xe4, 0x23, + 0x8b, 0x02, 0x09, 0x23, +}; +static const struct drbg_kat_pr_true kat4041_t = { + 5, kat4041_entropyin, kat4041_nonce, kat4041_persstr, + kat4041_entropyinpr1, kat4041_addinpr1, kat4041_entropyinpr2, + kat4041_addinpr2, kat4041_retbits +}; +static const struct drbg_kat kat4041 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4041_t +}; + +static const unsigned char kat4042_entropyin[] = { + 0x62, 0xf1, 0xad, 0x3b, 0x80, 0xd9, 0x4a, 0xb9, 0xc9, 0x5e, 0x22, 0x8c, + 0x5a, 0xd6, 0x9d, 0x8d, 0x48, 0x2a, 0x83, 0xa2, 0x12, 0x9f, 0xd1, 0x3f, + 0x5c, 0x84, 0xda, 0x76, 0x62, 0xb5, 0x90, 0x94, 0x95, 0x42, 0x1d, 0x23, + 0x89, 0xde, 0x12, 0xd6, +}; +static const unsigned char kat4042_nonce[] = {0}; +static const unsigned char kat4042_persstr[] = {0}; +static const unsigned char kat4042_entropyinpr1[] = { + 0x4b, 0xfe, 0xd1, 0xe6, 0x9a, 0x27, 0xb4, 0x7e, 0xae, 0xd6, 0x87, 0x13, + 0x5e, 0xab, 0x67, 0xd3, 0x7d, 0x42, 0x5c, 0xf5, 0x5e, 0x65, 0xc4, 0x3a, + 0xc8, 0xed, 0xdb, 0x1d, 0x0f, 0xf7, 0xa2, 0xe3, 0x27, 0x54, 0x63, 0x13, + 0x7d, 0x81, 0xf1, 0xa0, +}; +static const unsigned char kat4042_addinpr1[] = { + 0x12, 0x18, 0xc4, 0xc0, 0x3b, 0x69, 0x68, 0x8a, 0xfd, 0xe7, 0x31, 0x90, + 0xf9, 0xea, 0x5f, 0x53, 0x5d, 0x37, 0xd0, 0x6e, 0x66, 0x22, 0xac, 0xc8, + 0x81, 0x73, 0xec, 0xab, 0xdc, 0xac, 0xc4, 0x8e, 0x40, 0x11, 0xa4, 0x8c, + 0xfe, 0x7e, 0x1e, 0x60, +}; +static const unsigned char kat4042_entropyinpr2[] = { + 0xeb, 0x90, 0xff, 0x94, 0x0c, 0x38, 0x03, 0x3d, 0x52, 0x50, 0xfe, 0xa4, + 0xad, 0x83, 0xdd, 0x3a, 0xa0, 0x46, 0x19, 0x6e, 0x7d, 0xed, 0xaa, 0x7b, + 0x17, 0xe8, 0x66, 0xae, 0x18, 0x02, 0x9a, 0xd2, 0xcf, 0xef, 0x14, 0xc4, + 0x0f, 0x65, 0x70, 0x30, +}; +static const unsigned char kat4042_addinpr2[] = { + 0xe4, 0x7e, 0x8f, 0x0b, 0x61, 0xe8, 0xc7, 0x7f, 0x42, 0xa4, 0x52, 0xb4, + 0x68, 0xd6, 0x0c, 0xce, 0xb5, 0xaf, 0x20, 0x1e, 0x5a, 0x4a, 0x9b, 0xf8, + 0xf3, 0x61, 0x58, 0xea, 0x62, 0xed, 0x4d, 0xb0, 0x2f, 0x56, 0x6d, 0x46, + 0x24, 0x2d, 0x38, 0x0a, +}; +static const unsigned char kat4042_retbits[] = { + 0x31, 0xfd, 0x04, 0x48, 0xae, 0xc0, 0xa6, 0x5f, 0x4d, 0x5c, 0xea, 0x1e, + 0xf3, 0xa8, 0x23, 0x1c, 0xa2, 0x33, 0x71, 0x21, 0xba, 0xdc, 0x6a, 0xc1, + 0x05, 0x0c, 0x3b, 0x8c, 0x73, 0x40, 0xe2, 0x12, 0xd6, 0x53, 0x57, 0xc5, + 0xdc, 0x74, 0x47, 0x46, 0xaa, 0xa1, 0x64, 0x98, 0xef, 0x80, 0xe1, 0xf8, + 0x68, 0x9f, 0x34, 0x95, 0x90, 0xbe, 0x02, 0x81, 0x80, 0x1b, 0x3b, 0xba, + 0x3d, 0xbe, 0x9f, 0x7c, +}; +static const struct drbg_kat_pr_true kat4042_t = { + 6, kat4042_entropyin, kat4042_nonce, kat4042_persstr, + kat4042_entropyinpr1, kat4042_addinpr1, kat4042_entropyinpr2, + kat4042_addinpr2, kat4042_retbits +}; +static const struct drbg_kat kat4042 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4042_t +}; + +static const unsigned char kat4043_entropyin[] = { + 0xd0, 0x9b, 0x57, 0x30, 0x2f, 0x6f, 0x80, 0x4d, 0x52, 0x32, 0x18, 0x67, + 0x32, 0x15, 0x80, 0xa4, 0xf8, 0x43, 0x42, 0xcd, 0x1f, 0xad, 0x1a, 0xe6, + 0xcc, 0xb0, 0x52, 0x30, 0x4e, 0x59, 0xb9, 0x3b, 0xcc, 0xcf, 0xf1, 0xbb, + 0x92, 0x89, 0x86, 0x16, +}; +static const unsigned char kat4043_nonce[] = {0}; +static const unsigned char kat4043_persstr[] = {0}; +static const unsigned char kat4043_entropyinpr1[] = { + 0x73, 0xa0, 0x73, 0x42, 0x46, 0x46, 0x27, 0x19, 0x8b, 0x4b, 0x91, 0x83, + 0x2e, 0x8c, 0xaf, 0xc4, 0x94, 0x9a, 0x47, 0x2b, 0x61, 0x3a, 0x89, 0x77, + 0x58, 0xc9, 0x3d, 0x83, 0xcf, 0x2a, 0x29, 0x1f, 0xe6, 0x60, 0x0d, 0xea, + 0x7f, 0x36, 0x14, 0xc5, +}; +static const unsigned char kat4043_addinpr1[] = { + 0x63, 0xd1, 0x9d, 0x8f, 0x47, 0x6a, 0xe6, 0xc9, 0x29, 0x5a, 0xe2, 0x5d, + 0x44, 0xe2, 0xb7, 0xe2, 0x3a, 0xb9, 0x90, 0x93, 0x03, 0x37, 0x91, 0x0a, + 0x7f, 0x5e, 0x0c, 0xcf, 0x81, 0x4a, 0xb6, 0xf2, 0x45, 0xc3, 0x95, 0x28, + 0xdc, 0x3e, 0xdd, 0x56, +}; +static const unsigned char kat4043_entropyinpr2[] = { + 0x40, 0xa1, 0x90, 0x6d, 0xcd, 0x6c, 0x60, 0xb2, 0xd4, 0x59, 0x80, 0x4d, + 0x94, 0xd6, 0xdf, 0x05, 0x88, 0xe7, 0xfd, 0xca, 0x36, 0xff, 0x4b, 0xa3, + 0x48, 0x8d, 0xf2, 0xe0, 0xef, 0xe6, 0x4c, 0x1e, 0x21, 0xa6, 0x44, 0xf7, + 0xa7, 0x01, 0x66, 0x35, +}; +static const unsigned char kat4043_addinpr2[] = { + 0xde, 0xa7, 0x85, 0xe2, 0xb6, 0x91, 0x48, 0x19, 0x49, 0x97, 0xed, 0x61, + 0x67, 0x86, 0xdc, 0xbe, 0x46, 0x7a, 0x4e, 0x3f, 0xfd, 0x93, 0x7d, 0x40, + 0x96, 0x1b, 0xc4, 0x73, 0x68, 0x57, 0x85, 0xde, 0x08, 0x27, 0x73, 0x47, + 0x83, 0xca, 0xe7, 0xc4, +}; +static const unsigned char kat4043_retbits[] = { + 0x36, 0xa8, 0xb2, 0xd1, 0xf9, 0x7a, 0x2c, 0x5c, 0xa0, 0x76, 0xd4, 0x0b, + 0x98, 0x71, 0x44, 0xd3, 0x02, 0x4a, 0xc1, 0x3e, 0x05, 0xef, 0x4f, 0x40, + 0xf7, 0xa7, 0x95, 0xe4, 0x2e, 0x49, 0xa6, 0xae, 0x53, 0xdb, 0x10, 0xcc, + 0xae, 0x26, 0x9a, 0xc7, 0x86, 0x8a, 0xe1, 0x78, 0xc2, 0xb2, 0x94, 0x0c, + 0x32, 0xd2, 0xc8, 0x40, 0x37, 0x50, 0x5b, 0x78, 0x25, 0x9d, 0x2b, 0x4c, + 0xc0, 0x1d, 0x26, 0xe9, +}; +static const struct drbg_kat_pr_true kat4043_t = { + 7, kat4043_entropyin, kat4043_nonce, kat4043_persstr, + kat4043_entropyinpr1, kat4043_addinpr1, kat4043_entropyinpr2, + kat4043_addinpr2, kat4043_retbits +}; +static const struct drbg_kat kat4043 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4043_t +}; + +static const unsigned char kat4044_entropyin[] = { + 0x62, 0xca, 0xc0, 0xd1, 0x0c, 0x0e, 0xda, 0x9e, 0xae, 0x2d, 0x62, 0xfe, + 0xfb, 0xc1, 0x7e, 0xbe, 0xbf, 0x8c, 0x1f, 0x3b, 0xd3, 0x01, 0xf7, 0xa2, + 0x25, 0x6c, 0xfa, 0xce, 0xd8, 0x46, 0xc7, 0xd2, 0x9b, 0x1c, 0xaf, 0x58, + 0x0e, 0xa8, 0x67, 0xb5, +}; +static const unsigned char kat4044_nonce[] = {0}; +static const unsigned char kat4044_persstr[] = {0}; +static const unsigned char kat4044_entropyinpr1[] = { + 0x3c, 0x7a, 0xb9, 0x21, 0xe3, 0xa7, 0x10, 0x47, 0x9d, 0xb0, 0x66, 0xeb, + 0xd1, 0xbe, 0xc4, 0x39, 0x1f, 0xc5, 0xba, 0xb8, 0xdf, 0xd3, 0x83, 0x88, + 0x3c, 0x97, 0xe8, 0x09, 0xf3, 0xc7, 0x82, 0xfb, 0xe4, 0x69, 0xb5, 0x3e, + 0x90, 0x69, 0x13, 0xb6, +}; +static const unsigned char kat4044_addinpr1[] = { + 0xa8, 0xb3, 0x94, 0x1a, 0x9c, 0x9d, 0x26, 0x7e, 0x82, 0x44, 0x5e, 0xc5, + 0x0c, 0xd5, 0x98, 0xbf, 0x43, 0x5c, 0x8e, 0x92, 0xc1, 0xab, 0x2e, 0xb4, + 0x4a, 0xfc, 0xa1, 0xbf, 0x6a, 0xbd, 0x11, 0xbb, 0x21, 0xfc, 0xb8, 0x9d, + 0xee, 0xda, 0xd1, 0xee, +}; +static const unsigned char kat4044_entropyinpr2[] = { + 0x16, 0x22, 0x90, 0xef, 0x03, 0xe8, 0xcc, 0x56, 0xda, 0xef, 0xfb, 0xeb, + 0x84, 0xa6, 0x20, 0xc4, 0xcc, 0x0d, 0x3d, 0x38, 0x5c, 0x88, 0x9e, 0xc3, + 0x1a, 0xeb, 0x7d, 0x3d, 0xbc, 0x33, 0xa0, 0xcf, 0xc2, 0x90, 0x41, 0x55, + 0xc4, 0x22, 0xe5, 0xa9, +}; +static const unsigned char kat4044_addinpr2[] = { + 0x5d, 0xfb, 0x88, 0x87, 0xc0, 0x5c, 0x6d, 0xfe, 0x58, 0x03, 0x2c, 0xc1, + 0x9b, 0xe5, 0xd4, 0xaa, 0x51, 0xce, 0xd9, 0x2c, 0x87, 0x35, 0x0f, 0x05, + 0x2b, 0xa9, 0x93, 0x21, 0x45, 0x22, 0x38, 0x3b, 0xd2, 0x79, 0xfd, 0x31, + 0xbc, 0x6b, 0x54, 0xa2, +}; +static const unsigned char kat4044_retbits[] = { + 0xe2, 0xfb, 0xe5, 0xda, 0xab, 0x4f, 0xd7, 0xd4, 0xc2, 0xca, 0x07, 0x1a, + 0x2b, 0xbb, 0x5a, 0xd4, 0x51, 0x8a, 0x46, 0x7f, 0x4f, 0xb0, 0x96, 0x17, + 0x02, 0x61, 0xd1, 0x05, 0x8a, 0xcb, 0xd8, 0xdd, 0xe6, 0xaa, 0x8c, 0x2b, + 0x25, 0xd7, 0xa6, 0x48, 0x99, 0x20, 0xd8, 0xf2, 0x25, 0xc5, 0x5a, 0xb4, + 0x83, 0x09, 0xfe, 0x81, 0x00, 0x8c, 0x59, 0xdc, 0xfa, 0x2a, 0xdc, 0x4d, + 0xf0, 0xcd, 0x6d, 0x45, +}; +static const struct drbg_kat_pr_true kat4044_t = { + 8, kat4044_entropyin, kat4044_nonce, kat4044_persstr, + kat4044_entropyinpr1, kat4044_addinpr1, kat4044_entropyinpr2, + kat4044_addinpr2, kat4044_retbits +}; +static const struct drbg_kat kat4044 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4044_t +}; + +static const unsigned char kat4045_entropyin[] = { + 0xd1, 0x37, 0xbe, 0x3b, 0xdd, 0x16, 0xf9, 0x0d, 0x96, 0xe9, 0x99, 0x28, + 0xb3, 0xc2, 0x72, 0x10, 0xb0, 0xda, 0x7c, 0xda, 0x92, 0xb2, 0x7a, 0x2b, + 0xeb, 0xc5, 0xa9, 0xdd, 0x82, 0xd9, 0xdd, 0x8a, 0x08, 0x86, 0x4d, 0x39, + 0x93, 0x55, 0x8d, 0x4f, +}; +static const unsigned char kat4045_nonce[] = {0}; +static const unsigned char kat4045_persstr[] = {0}; +static const unsigned char kat4045_entropyinpr1[] = { + 0xec, 0x4d, 0x22, 0x19, 0xcb, 0xdc, 0x84, 0xcd, 0xd6, 0x2f, 0xaf, 0x65, + 0xb6, 0xd1, 0x8d, 0x5c, 0xe2, 0x80, 0x87, 0xa5, 0x4e, 0x06, 0xce, 0x69, + 0xf3, 0x10, 0xb7, 0x98, 0x8d, 0xcb, 0x25, 0xbb, 0x0d, 0xf8, 0xdf, 0x52, + 0x4d, 0xa2, 0x4c, 0x24, +}; +static const unsigned char kat4045_addinpr1[] = { + 0xd2, 0x2e, 0x21, 0x63, 0x15, 0xc9, 0x15, 0xd9, 0xb3, 0x59, 0xe5, 0x09, + 0xee, 0x48, 0xa6, 0x7f, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x96, 0x72, 0xef, + 0xc1, 0x8b, 0xdf, 0x57, 0xe4, 0xd1, 0xf6, 0x66, 0xd9, 0xe4, 0xc8, 0xec, + 0x2c, 0xa4, 0x1f, 0x6b, +}; +static const unsigned char kat4045_entropyinpr2[] = { + 0x2b, 0x00, 0xd8, 0x44, 0xfa, 0x01, 0xa2, 0xfc, 0x1d, 0x36, 0xe5, 0x13, + 0x15, 0xa9, 0xc0, 0xc5, 0x04, 0xc2, 0xd8, 0x8d, 0xef, 0xb2, 0x1d, 0x63, + 0x61, 0x67, 0xdc, 0x77, 0xf5, 0x24, 0x8e, 0x87, 0x70, 0x13, 0x76, 0xd4, + 0xd7, 0x53, 0xe1, 0x20, +}; +static const unsigned char kat4045_addinpr2[] = { + 0x4a, 0xf1, 0x1e, 0xef, 0x51, 0x88, 0x10, 0x15, 0xd9, 0x2c, 0xc1, 0x88, + 0x2c, 0xd4, 0x80, 0x90, 0x36, 0xbf, 0xb3, 0x4a, 0x65, 0xe4, 0xeb, 0x93, + 0x3d, 0x2c, 0x55, 0xf0, 0xfa, 0x32, 0x7c, 0x8a, 0x2b, 0x21, 0xf9, 0xcf, + 0xbf, 0xbd, 0xdf, 0x9f, +}; +static const unsigned char kat4045_retbits[] = { + 0xbb, 0x74, 0xb3, 0x2d, 0xc4, 0xb4, 0xf3, 0xd5, 0x7b, 0x5c, 0x02, 0xf7, + 0xbc, 0x78, 0x9f, 0xe3, 0x0a, 0xf9, 0x12, 0x6c, 0x5a, 0x78, 0xc6, 0x36, + 0x8d, 0x05, 0x5c, 0x2d, 0xcd, 0x86, 0x6f, 0xe6, 0x40, 0xe3, 0x92, 0x16, + 0xee, 0x15, 0x4a, 0x7f, 0xed, 0x5e, 0x48, 0x9a, 0x78, 0x4c, 0xc7, 0x56, + 0x22, 0xf0, 0xa0, 0x1d, 0xee, 0x1f, 0xb1, 0xd6, 0xab, 0x8a, 0x39, 0xbe, + 0x0f, 0x7b, 0xe9, 0x28, +}; +static const struct drbg_kat_pr_true kat4045_t = { + 9, kat4045_entropyin, kat4045_nonce, kat4045_persstr, + kat4045_entropyinpr1, kat4045_addinpr1, kat4045_entropyinpr2, + kat4045_addinpr2, kat4045_retbits +}; +static const struct drbg_kat kat4045 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4045_t +}; + +static const unsigned char kat4046_entropyin[] = { + 0x20, 0xb1, 0xef, 0x15, 0x45, 0x01, 0x91, 0xf1, 0x23, 0x0a, 0xf6, 0x30, + 0xd2, 0xe7, 0xe7, 0x3f, 0xe3, 0x2b, 0x47, 0x85, 0xd3, 0xe5, 0x0c, 0x3e, + 0xb9, 0x14, 0x8b, 0x04, 0x9d, 0xca, 0x4a, 0x4f, 0x66, 0x39, 0x8e, 0xea, + 0x92, 0x24, 0xd1, 0x7a, +}; +static const unsigned char kat4046_nonce[] = {0}; +static const unsigned char kat4046_persstr[] = {0}; +static const unsigned char kat4046_entropyinpr1[] = { + 0x45, 0x5c, 0x93, 0x85, 0x70, 0x0f, 0x23, 0x12, 0x4d, 0x9b, 0x3e, 0x28, + 0x91, 0xf8, 0x05, 0x09, 0x21, 0xcc, 0xbc, 0x3b, 0x50, 0x36, 0x40, 0xfc, + 0x8f, 0xae, 0x79, 0x6c, 0xc5, 0xb9, 0x26, 0xcf, 0x35, 0x31, 0x6e, 0x14, + 0x63, 0x65, 0x87, 0xc7, +}; +static const unsigned char kat4046_addinpr1[] = { + 0x4d, 0x9b, 0x38, 0xf8, 0xdd, 0xad, 0x10, 0x71, 0x91, 0x66, 0x3e, 0xbd, + 0x7a, 0x4f, 0x73, 0x71, 0x45, 0xbd, 0xd5, 0xa0, 0x26, 0xa0, 0x1f, 0x12, + 0xbc, 0x56, 0x5a, 0x1c, 0xdd, 0x9e, 0x88, 0x11, 0xba, 0xb7, 0xf6, 0xd7, + 0xa6, 0x41, 0x62, 0x23, +}; +static const unsigned char kat4046_entropyinpr2[] = { + 0x00, 0x3e, 0xdc, 0x62, 0x64, 0xdd, 0x51, 0x95, 0x63, 0x79, 0x2d, 0x81, + 0x47, 0xcc, 0xc5, 0x83, 0x57, 0x18, 0x35, 0x69, 0xb2, 0x18, 0x7d, 0xd0, + 0x41, 0xd8, 0xbe, 0x00, 0xef, 0xf4, 0xcf, 0x5a, 0x30, 0x11, 0x4b, 0x93, + 0x21, 0x03, 0xb4, 0x34, +}; +static const unsigned char kat4046_addinpr2[] = { + 0x70, 0x40, 0x59, 0xd0, 0xf8, 0xc0, 0xed, 0x5c, 0xe5, 0x07, 0x54, 0x0c, + 0xa0, 0xa1, 0x2f, 0x12, 0x02, 0x47, 0x16, 0xb3, 0xea, 0x30, 0x05, 0x4e, + 0x81, 0x72, 0xf2, 0x7f, 0xbc, 0xe9, 0xd4, 0xd8, 0x4f, 0x3d, 0xb5, 0x60, + 0xd0, 0x6b, 0xcf, 0x75, +}; +static const unsigned char kat4046_retbits[] = { + 0xbc, 0x5a, 0xf2, 0xbb, 0xc7, 0x00, 0xc2, 0x59, 0x2a, 0x0e, 0xf0, 0x0b, + 0xbd, 0x5a, 0xf4, 0x32, 0x28, 0x57, 0xe5, 0x93, 0xac, 0x41, 0x03, 0xa0, + 0xc6, 0x40, 0xd4, 0xa2, 0xa6, 0x9f, 0xee, 0x1f, 0x55, 0xd5, 0x71, 0x63, + 0x70, 0x92, 0x13, 0x7d, 0x34, 0x3f, 0x2d, 0x09, 0x39, 0x9d, 0x38, 0x6a, + 0x5a, 0x6c, 0x15, 0x4c, 0x57, 0x56, 0xba, 0x4c, 0x6d, 0x2d, 0x5b, 0xca, + 0x66, 0x53, 0x29, 0x46, +}; +static const struct drbg_kat_pr_true kat4046_t = { + 10, kat4046_entropyin, kat4046_nonce, kat4046_persstr, + kat4046_entropyinpr1, kat4046_addinpr1, kat4046_entropyinpr2, + kat4046_addinpr2, kat4046_retbits +}; +static const struct drbg_kat kat4046 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4046_t +}; + +static const unsigned char kat4047_entropyin[] = { + 0x78, 0x30, 0x96, 0xff, 0x2e, 0x91, 0x1c, 0x69, 0xae, 0x95, 0x39, 0xaa, + 0xf8, 0x6d, 0xa4, 0xab, 0x41, 0x4c, 0x8c, 0x10, 0xb7, 0xb2, 0xd8, 0x2c, + 0x23, 0x67, 0x58, 0x31, 0x3a, 0xa3, 0xad, 0x20, 0x96, 0xbf, 0x75, 0x29, + 0x72, 0x7e, 0xf7, 0x50, +}; +static const unsigned char kat4047_nonce[] = {0}; +static const unsigned char kat4047_persstr[] = {0}; +static const unsigned char kat4047_entropyinpr1[] = { + 0x18, 0xb4, 0x69, 0xba, 0xd3, 0xde, 0x43, 0x1e, 0x06, 0xbe, 0xb2, 0x34, + 0x64, 0x19, 0x13, 0x57, 0x86, 0x8e, 0xcb, 0x7a, 0x79, 0xc6, 0x43, 0x46, + 0x0f, 0x3a, 0x73, 0x20, 0xbe, 0xa8, 0x61, 0x01, 0x09, 0x78, 0xfa, 0xa1, + 0x37, 0x98, 0x16, 0xbc, +}; +static const unsigned char kat4047_addinpr1[] = { + 0xfb, 0x15, 0x7c, 0xb2, 0xc3, 0x23, 0xfc, 0x5a, 0xcd, 0xb1, 0x7d, 0x55, + 0x79, 0x39, 0x5f, 0xf1, 0xe1, 0xa8, 0x89, 0x71, 0x16, 0x2e, 0x4f, 0xde, + 0x11, 0x1f, 0x72, 0x83, 0x25, 0x75, 0x0a, 0x4a, 0x01, 0x1b, 0x70, 0x92, + 0x08, 0x2f, 0x77, 0x19, +}; +static const unsigned char kat4047_entropyinpr2[] = { + 0xaf, 0x9e, 0x39, 0x0e, 0xb1, 0x77, 0x6c, 0xf2, 0xa8, 0x80, 0xe9, 0x28, + 0x14, 0x76, 0x4a, 0x60, 0xc3, 0xd7, 0xbf, 0xa3, 0xbf, 0x00, 0x11, 0x30, + 0xf1, 0x29, 0x30, 0x67, 0x95, 0x3c, 0x74, 0x00, 0x71, 0xb2, 0xb4, 0xcd, + 0x00, 0xf5, 0xd4, 0x1b, +}; +static const unsigned char kat4047_addinpr2[] = { + 0xe5, 0xfb, 0x2e, 0x23, 0x75, 0x4d, 0x4c, 0x61, 0x2e, 0xf9, 0x69, 0x14, + 0xd7, 0x3f, 0x09, 0x12, 0x95, 0x2a, 0x96, 0x8e, 0x8c, 0xf4, 0xe1, 0x95, + 0x2e, 0xaf, 0x29, 0x12, 0x04, 0xb6, 0xaf, 0xe8, 0x4f, 0xe2, 0x6c, 0xc0, + 0x39, 0x1f, 0x09, 0xbd, +}; +static const unsigned char kat4047_retbits[] = { + 0x3c, 0xb2, 0x7f, 0xc2, 0x83, 0xe4, 0x98, 0xaa, 0x7d, 0x2c, 0x43, 0xfb, + 0x77, 0x93, 0x3d, 0x3d, 0x6a, 0x02, 0x69, 0x09, 0xcc, 0x0d, 0xfc, 0xb8, + 0x01, 0x35, 0xdd, 0xeb, 0x83, 0x35, 0x4c, 0x33, 0xcc, 0x15, 0xf5, 0x0a, + 0x89, 0x7e, 0xd1, 0x5d, 0xab, 0x57, 0xda, 0xbe, 0x8f, 0xab, 0x69, 0x06, + 0x4e, 0x5b, 0x7f, 0xbf, 0x59, 0x81, 0x0b, 0x53, 0x88, 0x6a, 0xa7, 0xa5, + 0x95, 0x3e, 0x89, 0x63, +}; +static const struct drbg_kat_pr_true kat4047_t = { + 11, kat4047_entropyin, kat4047_nonce, kat4047_persstr, + kat4047_entropyinpr1, kat4047_addinpr1, kat4047_entropyinpr2, + kat4047_addinpr2, kat4047_retbits +}; +static const struct drbg_kat kat4047 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4047_t +}; + +static const unsigned char kat4048_entropyin[] = { + 0x5f, 0x3f, 0xf6, 0xdf, 0xf2, 0x22, 0x68, 0x05, 0x04, 0x05, 0x2d, 0x94, + 0xae, 0x64, 0xf4, 0xc8, 0x3a, 0x5b, 0x9e, 0x77, 0xdf, 0xe7, 0xb4, 0xcb, + 0x9f, 0xe4, 0x14, 0x1f, 0x04, 0xc7, 0x51, 0xa2, 0xfd, 0xaa, 0x2c, 0xa0, + 0xa5, 0x8a, 0x68, 0xd5, +}; +static const unsigned char kat4048_nonce[] = {0}; +static const unsigned char kat4048_persstr[] = {0}; +static const unsigned char kat4048_entropyinpr1[] = { + 0x60, 0x90, 0x29, 0x0f, 0x51, 0x82, 0xb0, 0x47, 0x0a, 0x97, 0x34, 0x87, + 0xbf, 0x45, 0x35, 0x7e, 0x16, 0x76, 0x40, 0x70, 0xf9, 0x4f, 0x28, 0x6f, + 0xee, 0x55, 0x21, 0x49, 0x9a, 0x66, 0xba, 0x64, 0xc5, 0x51, 0x54, 0xb1, + 0x9f, 0xc3, 0x8d, 0x95, +}; +static const unsigned char kat4048_addinpr1[] = { + 0x85, 0x98, 0xe8, 0x66, 0x26, 0x60, 0xe3, 0xf5, 0x43, 0xb7, 0x0f, 0x0d, + 0x4e, 0x5d, 0xe6, 0x53, 0x5a, 0xae, 0x64, 0xdb, 0x3b, 0x55, 0x6e, 0x2c, + 0x57, 0x56, 0xff, 0x45, 0x27, 0x5d, 0xdf, 0x22, 0xd6, 0x71, 0xbd, 0xaa, + 0xbf, 0x3a, 0x39, 0x7e, +}; +static const unsigned char kat4048_entropyinpr2[] = { + 0x05, 0xd8, 0x44, 0xc7, 0x0f, 0xda, 0xd7, 0xd8, 0x0b, 0xa8, 0x53, 0xf4, + 0x3e, 0xcb, 0x66, 0xe1, 0x7c, 0xc5, 0x0d, 0x2c, 0x2f, 0xaf, 0x2a, 0x74, + 0x82, 0x7a, 0xf2, 0xf4, 0x6b, 0x82, 0x6d, 0x4d, 0x0a, 0x96, 0x6a, 0xa8, + 0x2b, 0x49, 0xe6, 0x80, +}; +static const unsigned char kat4048_addinpr2[] = { + 0x99, 0xa0, 0xc2, 0xc6, 0x97, 0x19, 0x2e, 0x74, 0x3b, 0x19, 0x97, 0xe6, + 0xbf, 0x74, 0x18, 0xa1, 0x1f, 0xfc, 0x14, 0x25, 0xa4, 0xd7, 0x21, 0x57, + 0x22, 0xa1, 0xbb, 0xe9, 0x83, 0x3d, 0xd4, 0x10, 0x4c, 0x55, 0xa1, 0xa8, + 0xc5, 0x76, 0x8e, 0xc6, +}; +static const unsigned char kat4048_retbits[] = { + 0x86, 0x2b, 0xd0, 0xa5, 0x24, 0xbf, 0xf9, 0xa8, 0x71, 0x68, 0x20, 0xbd, + 0xf9, 0xa0, 0x6d, 0x66, 0xf8, 0x8a, 0xa4, 0xed, 0xe3, 0x20, 0x55, 0x3f, + 0x79, 0xb6, 0x11, 0x85, 0xa5, 0x0d, 0x58, 0xf4, 0xd3, 0xeb, 0x82, 0x63, + 0x79, 0x4e, 0xa8, 0xb3, 0x32, 0x39, 0x89, 0x68, 0x7b, 0x4f, 0x54, 0x93, + 0x24, 0x54, 0xbe, 0xac, 0xf0, 0x15, 0xd1, 0x8c, 0x3d, 0x10, 0xe3, 0x47, + 0xd7, 0x93, 0x56, 0x8d, +}; +static const struct drbg_kat_pr_true kat4048_t = { + 12, kat4048_entropyin, kat4048_nonce, kat4048_persstr, + kat4048_entropyinpr1, kat4048_addinpr1, kat4048_entropyinpr2, + kat4048_addinpr2, kat4048_retbits +}; +static const struct drbg_kat kat4048 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4048_t +}; + +static const unsigned char kat4049_entropyin[] = { + 0x87, 0x72, 0xfb, 0x86, 0xc6, 0xf7, 0x71, 0x16, 0x86, 0x10, 0xd6, 0x0f, + 0x62, 0xf8, 0x04, 0xb3, 0x80, 0x3c, 0x4b, 0xb7, 0x0d, 0xfa, 0xa2, 0x52, + 0x18, 0x0a, 0x7d, 0x12, 0xc4, 0x6e, 0xe6, 0xd3, 0xba, 0x3b, 0x4a, 0xe5, + 0xca, 0x67, 0xbe, 0x95, +}; +static const unsigned char kat4049_nonce[] = {0}; +static const unsigned char kat4049_persstr[] = {0}; +static const unsigned char kat4049_entropyinpr1[] = { + 0xa6, 0x5c, 0x84, 0xc7, 0xc4, 0xf7, 0xe9, 0x98, 0xe2, 0x73, 0xa2, 0xc7, + 0xae, 0x89, 0x68, 0x0e, 0xb2, 0x90, 0xeb, 0xc8, 0xcb, 0xea, 0x53, 0x54, + 0x90, 0xd5, 0x22, 0x44, 0xbe, 0x90, 0xe5, 0x62, 0xaa, 0x6d, 0xc9, 0x8b, + 0xfe, 0x63, 0xd8, 0x8e, +}; +static const unsigned char kat4049_addinpr1[] = { + 0x2c, 0x77, 0x76, 0x54, 0x82, 0xdc, 0xf7, 0x2c, 0x58, 0x6c, 0xb0, 0x2f, + 0x8e, 0x31, 0x76, 0x26, 0x64, 0x7b, 0x7d, 0xdc, 0x19, 0xaf, 0x06, 0xca, + 0xa3, 0x03, 0xf4, 0xa8, 0x29, 0xb1, 0x24, 0x54, 0x3d, 0x40, 0xe4, 0x1f, + 0x5a, 0x6f, 0x4b, 0xc2, +}; +static const unsigned char kat4049_entropyinpr2[] = { + 0xdf, 0x9a, 0x15, 0xd2, 0x02, 0x1d, 0x0d, 0x9a, 0x9e, 0x8a, 0xbf, 0x4e, + 0x79, 0x55, 0xb0, 0x96, 0x19, 0xd0, 0x34, 0x8a, 0x2a, 0xa0, 0xa9, 0x5f, + 0xef, 0xcc, 0xf0, 0x42, 0x62, 0x0e, 0x0b, 0x86, 0x8f, 0x32, 0x44, 0x1e, + 0x73, 0xb4, 0x9f, 0xf7, +}; +static const unsigned char kat4049_addinpr2[] = { + 0x9e, 0x9c, 0x88, 0x0d, 0x80, 0x14, 0x0a, 0x3d, 0x3d, 0xa9, 0x5a, 0x12, + 0x6e, 0x92, 0x5b, 0x48, 0x89, 0x42, 0x38, 0x42, 0x14, 0xd6, 0xe9, 0x75, + 0x75, 0x38, 0x6b, 0x9a, 0x32, 0x9b, 0xd9, 0x1e, 0xd2, 0x69, 0x73, 0xee, + 0xb4, 0xca, 0xd4, 0x48, +}; +static const unsigned char kat4049_retbits[] = { + 0x5f, 0x2a, 0x60, 0x8c, 0xba, 0x8b, 0xc5, 0xbe, 0xcb, 0x3d, 0xc9, 0x6b, + 0x5c, 0xaf, 0xe2, 0xaf, 0xc5, 0xe1, 0x7e, 0x92, 0xb7, 0x3c, 0x6d, 0x9f, + 0x81, 0x23, 0x7a, 0x71, 0x81, 0x0a, 0x7a, 0x83, 0xbd, 0x42, 0xa8, 0x58, + 0xe7, 0xbb, 0x25, 0xc5, 0x9d, 0x5c, 0x36, 0x79, 0x1e, 0x36, 0xac, 0xb6, + 0x49, 0xdd, 0x2b, 0xd3, 0x83, 0xab, 0xe2, 0x68, 0x96, 0x12, 0xc6, 0x8c, + 0x35, 0x64, 0xe1, 0x0d, +}; +static const struct drbg_kat_pr_true kat4049_t = { + 13, kat4049_entropyin, kat4049_nonce, kat4049_persstr, + kat4049_entropyinpr1, kat4049_addinpr1, kat4049_entropyinpr2, + kat4049_addinpr2, kat4049_retbits +}; +static const struct drbg_kat kat4049 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4049_t +}; + +static const unsigned char kat4050_entropyin[] = { + 0x90, 0x27, 0xdd, 0x60, 0xe9, 0x2d, 0x08, 0x61, 0x4b, 0x6a, 0x59, 0x0f, + 0xc3, 0x15, 0x1b, 0xae, 0x2b, 0x3f, 0xf7, 0x9d, 0xde, 0x01, 0x08, 0xd4, + 0x88, 0xd0, 0x0f, 0xb3, 0x55, 0xb7, 0x9b, 0x38, 0xfa, 0x88, 0xf6, 0xa8, + 0x91, 0xa4, 0x7b, 0xef, +}; +static const unsigned char kat4050_nonce[] = {0}; +static const unsigned char kat4050_persstr[] = {0}; +static const unsigned char kat4050_entropyinpr1[] = { + 0x03, 0x04, 0x40, 0x59, 0x1e, 0x9c, 0x44, 0x0a, 0xd7, 0xfb, 0x67, 0x3c, + 0x2b, 0x4e, 0x29, 0x02, 0xf7, 0x5b, 0x64, 0x4b, 0xbf, 0x7b, 0x4a, 0xe7, + 0x5f, 0xa1, 0x55, 0xca, 0x7e, 0x1c, 0xb3, 0x9f, 0x61, 0xc5, 0x76, 0x1e, + 0xc8, 0xfc, 0x7f, 0x14, +}; +static const unsigned char kat4050_addinpr1[] = { + 0xb3, 0x8f, 0x24, 0xae, 0x5d, 0x85, 0xc3, 0x00, 0x88, 0xc3, 0x58, 0x4d, + 0xc1, 0x54, 0x81, 0x54, 0xf5, 0x23, 0x30, 0x8a, 0x5c, 0x22, 0x14, 0xc2, + 0xa5, 0x18, 0x17, 0xed, 0xd1, 0x35, 0xcb, 0x54, 0x4f, 0x3a, 0x04, 0x00, + 0x2e, 0x16, 0x16, 0xe3, +}; +static const unsigned char kat4050_entropyinpr2[] = { + 0x1d, 0x81, 0xb5, 0xe1, 0x4e, 0x9f, 0x99, 0x5c, 0xf1, 0x97, 0x71, 0xd5, + 0x48, 0x77, 0xe9, 0x7b, 0x2d, 0x4f, 0x55, 0x1c, 0x36, 0x03, 0x38, 0x74, + 0xfc, 0xf3, 0xa4, 0x81, 0x43, 0x12, 0xd7, 0x06, 0x4a, 0xcc, 0x25, 0x56, + 0xea, 0x5e, 0x0f, 0xdc, +}; +static const unsigned char kat4050_addinpr2[] = { + 0x3f, 0x52, 0x21, 0x73, 0x2e, 0x41, 0x7f, 0xe4, 0x23, 0x46, 0x26, 0xd8, + 0xb4, 0xfe, 0x5d, 0xce, 0x8d, 0x09, 0x74, 0xa7, 0x55, 0x1c, 0x4e, 0x7b, + 0x9e, 0xb8, 0x27, 0xf3, 0x2c, 0x7b, 0x85, 0x79, 0x3b, 0x81, 0xb3, 0x7b, + 0x43, 0x55, 0xf6, 0xa0, +}; +static const unsigned char kat4050_retbits[] = { + 0xc6, 0xd9, 0xcb, 0x21, 0x92, 0x23, 0x98, 0xc6, 0xa6, 0x3e, 0x4d, 0x17, + 0xf0, 0xf6, 0x9f, 0x1d, 0x4c, 0x1b, 0x49, 0x98, 0xd7, 0x38, 0x28, 0xd4, + 0x3e, 0xa1, 0xf6, 0x9a, 0xca, 0xd5, 0xb1, 0xd9, 0x48, 0x00, 0xa6, 0x97, + 0x6c, 0x09, 0xa8, 0xb5, 0xbe, 0xfa, 0x2b, 0x0c, 0x82, 0x87, 0x78, 0x74, + 0xea, 0xed, 0x15, 0x02, 0x7f, 0x9f, 0x7d, 0xad, 0x3b, 0xff, 0xa0, 0x05, + 0xe4, 0x97, 0x58, 0xa0, +}; +static const struct drbg_kat_pr_true kat4050_t = { + 14, kat4050_entropyin, kat4050_nonce, kat4050_persstr, + kat4050_entropyinpr1, kat4050_addinpr1, kat4050_entropyinpr2, + kat4050_addinpr2, kat4050_retbits +}; +static const struct drbg_kat kat4050 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 0, 40, 64, &kat4050_t +}; + +static const unsigned char kat4051_entropyin[] = { + 0x69, 0xf8, 0xeb, 0xe7, 0x50, 0x4d, 0xa9, 0x33, 0x89, 0x3e, 0x02, 0x1d, + 0x09, 0x43, 0xdb, 0xfb, 0xff, 0xe1, 0xa7, 0xf3, 0x4e, 0xdc, 0x54, 0x48, + 0xcf, 0x97, 0xa5, 0xee, 0xe8, 0x7d, 0xe3, 0x39, 0x51, 0xfe, 0x27, 0x17, + 0x0d, 0xee, 0x63, 0x4e, +}; +static const unsigned char kat4051_nonce[] = {0}; +static const unsigned char kat4051_persstr[] = { + 0x83, 0xaa, 0x3e, 0x06, 0xd3, 0xd9, 0x1f, 0x23, 0x66, 0x55, 0x2a, 0xa6, + 0x6a, 0xd4, 0x40, 0xd6, 0xd2, 0x3e, 0x3f, 0x13, 0x9e, 0xdc, 0xe7, 0x1d, + 0x4a, 0x42, 0x5d, 0x3f, 0xeb, 0x11, 0x4d, 0xda, 0x56, 0xf6, 0x7c, 0xc1, + 0x70, 0x06, 0xf9, 0xea, +}; +static const unsigned char kat4051_entropyinpr1[] = { + 0x95, 0x46, 0x4d, 0x5c, 0xec, 0x3b, 0xa7, 0x61, 0x14, 0xb6, 0x48, 0x03, + 0x47, 0x41, 0x9a, 0x35, 0xe3, 0xe7, 0x38, 0xf0, 0x4f, 0xcf, 0x42, 0x1d, + 0x1e, 0x27, 0x0f, 0xb8, 0x22, 0xcc, 0xce, 0xad, 0xa6, 0x3e, 0xe2, 0x93, + 0x24, 0x3b, 0x12, 0xe4, +}; +static const unsigned char kat4051_addinpr1[] = {0}; +static const unsigned char kat4051_entropyinpr2[] = { + 0x64, 0xc7, 0x7b, 0xc8, 0xf0, 0x2c, 0x83, 0x91, 0x9b, 0xf2, 0xd2, 0xe5, + 0x12, 0xe7, 0x17, 0xb8, 0x63, 0xdc, 0x32, 0xcc, 0x90, 0x2e, 0xb6, 0xa4, + 0x10, 0xf6, 0x17, 0xa2, 0x42, 0x01, 0x7d, 0xcc, 0xfb, 0x49, 0xee, 0x20, + 0x7a, 0x48, 0x7b, 0x63, +}; +static const unsigned char kat4051_addinpr2[] = {0}; +static const unsigned char kat4051_retbits[] = { + 0x12, 0x5d, 0xfa, 0x2e, 0xcb, 0x41, 0x7a, 0x4f, 0x6c, 0x07, 0x5a, 0x61, + 0xd4, 0xb9, 0x0d, 0xa4, 0x47, 0x8f, 0x17, 0xcd, 0xfb, 0xeb, 0x67, 0x81, + 0x87, 0xb1, 0x27, 0x6e, 0xdf, 0x6b, 0xf0, 0x29, 0x5d, 0xe7, 0xd8, 0xb9, + 0x0b, 0x5c, 0x9b, 0xd7, 0x72, 0xea, 0x36, 0x04, 0xc4, 0xde, 0x34, 0x23, + 0xf8, 0xd8, 0x19, 0xce, 0x8c, 0x86, 0xcc, 0xae, 0x1a, 0x97, 0x07, 0x49, + 0x7a, 0x11, 0x35, 0x5e, +}; +static const struct drbg_kat_pr_true kat4051_t = { + 0, kat4051_entropyin, kat4051_nonce, kat4051_persstr, + kat4051_entropyinpr1, kat4051_addinpr1, kat4051_entropyinpr2, + kat4051_addinpr2, kat4051_retbits +}; +static const struct drbg_kat kat4051 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4051_t +}; + +static const unsigned char kat4052_entropyin[] = { + 0xb5, 0x7f, 0x96, 0x77, 0x21, 0x29, 0x84, 0x90, 0x0c, 0xd7, 0x3a, 0x14, + 0x00, 0xe3, 0xbf, 0x1d, 0xca, 0x6c, 0xde, 0x37, 0x70, 0xb9, 0xd9, 0xb8, + 0xe8, 0x88, 0xd9, 0xc6, 0xb7, 0x4d, 0xa2, 0x17, 0xeb, 0xdb, 0xa6, 0x8e, + 0x99, 0x29, 0x7f, 0x14, +}; +static const unsigned char kat4052_nonce[] = {0}; +static const unsigned char kat4052_persstr[] = { + 0xd1, 0x11, 0x49, 0x1e, 0x7c, 0x80, 0xf3, 0xa8, 0x9b, 0x1c, 0x3f, 0xa4, + 0x20, 0xae, 0xb3, 0x72, 0x10, 0xf9, 0x41, 0x00, 0x72, 0x1b, 0xca, 0xd2, + 0x97, 0xbb, 0x79, 0x1d, 0x4d, 0xe1, 0xea, 0x92, 0xe7, 0x9f, 0x05, 0xe4, + 0xe7, 0xd5, 0x44, 0xe8, +}; +static const unsigned char kat4052_entropyinpr1[] = { + 0xd0, 0x57, 0x1a, 0x4e, 0x6a, 0x3a, 0xbd, 0xf8, 0x19, 0x19, 0x3e, 0x01, + 0x8e, 0x66, 0x26, 0x88, 0x16, 0xc7, 0xdc, 0xe1, 0x20, 0x3a, 0x1f, 0x6f, + 0xe1, 0x9e, 0x54, 0x5b, 0x42, 0x8a, 0x3d, 0xe5, 0x79, 0x29, 0xb0, 0xb3, + 0xe3, 0xcc, 0x08, 0xd2, +}; +static const unsigned char kat4052_addinpr1[] = {0}; +static const unsigned char kat4052_entropyinpr2[] = { + 0x46, 0x2f, 0x17, 0x59, 0xd2, 0x04, 0x6f, 0x28, 0x1c, 0x2c, 0xab, 0x66, + 0x81, 0x79, 0xa1, 0x13, 0xaa, 0x5e, 0x34, 0xc7, 0x47, 0x73, 0xc9, 0xc5, + 0xe6, 0x1f, 0xab, 0xe2, 0x9b, 0x2a, 0x87, 0x73, 0xb6, 0x81, 0x9a, 0xb5, + 0x22, 0xd2, 0x5d, 0xa8, +}; +static const unsigned char kat4052_addinpr2[] = {0}; +static const unsigned char kat4052_retbits[] = { + 0xdd, 0x69, 0xc0, 0x91, 0xf0, 0x51, 0xe8, 0xad, 0x84, 0x6c, 0x43, 0xb9, + 0x11, 0x23, 0x74, 0x0f, 0xd2, 0x50, 0x3d, 0x4c, 0xcc, 0x82, 0xab, 0x1d, + 0xcf, 0x4a, 0x76, 0xc9, 0xea, 0x05, 0x76, 0xfd, 0xee, 0x62, 0x8d, 0xad, + 0x2e, 0x8c, 0x7a, 0x46, 0x27, 0xec, 0xce, 0xc2, 0x2b, 0xbc, 0x65, 0xfd, + 0x9e, 0xb9, 0x35, 0x11, 0xf1, 0x5a, 0x8b, 0x81, 0x42, 0x2b, 0x03, 0x2c, + 0xaf, 0x12, 0x2e, 0x3a, +}; +static const struct drbg_kat_pr_true kat4052_t = { + 1, kat4052_entropyin, kat4052_nonce, kat4052_persstr, + kat4052_entropyinpr1, kat4052_addinpr1, kat4052_entropyinpr2, + kat4052_addinpr2, kat4052_retbits +}; +static const struct drbg_kat kat4052 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4052_t +}; + +static const unsigned char kat4053_entropyin[] = { + 0x44, 0x5e, 0x9f, 0x07, 0xfa, 0xb8, 0x1a, 0x60, 0x70, 0x77, 0xbd, 0xae, + 0xa1, 0x3f, 0x60, 0x7e, 0xc1, 0xee, 0x32, 0xdb, 0xa3, 0x95, 0x1d, 0x3d, + 0xba, 0xbe, 0xfa, 0x65, 0x0f, 0xd0, 0xdc, 0xb4, 0x24, 0x85, 0x5d, 0x38, + 0xe8, 0xfb, 0xfa, 0x7b, +}; +static const unsigned char kat4053_nonce[] = {0}; +static const unsigned char kat4053_persstr[] = { + 0xb2, 0xef, 0x7e, 0x48, 0x8c, 0x60, 0xed, 0x41, 0x4d, 0x0a, 0x1e, 0xb6, + 0x58, 0xed, 0x96, 0x1d, 0xd6, 0xb8, 0xe1, 0xd1, 0x97, 0xaf, 0x12, 0xe1, + 0x2e, 0x19, 0x43, 0x4b, 0xca, 0x7a, 0xe7, 0x75, 0xf0, 0x74, 0xdb, 0x74, + 0xcf, 0x84, 0xbb, 0x99, +}; +static const unsigned char kat4053_entropyinpr1[] = { + 0xcb, 0x6e, 0x16, 0x2f, 0xae, 0xfc, 0xc7, 0xa6, 0x62, 0x69, 0xd5, 0xd2, + 0xd3, 0x0a, 0x2f, 0x9f, 0x10, 0xe9, 0x93, 0x05, 0xcc, 0xf5, 0xa4, 0xb7, + 0x7c, 0xf3, 0x04, 0xf6, 0xf0, 0xa7, 0x30, 0xc3, 0x73, 0xb8, 0xc7, 0xea, + 0x49, 0x3f, 0xb5, 0x12, +}; +static const unsigned char kat4053_addinpr1[] = {0}; +static const unsigned char kat4053_entropyinpr2[] = { + 0x1c, 0xfb, 0xcc, 0x74, 0x25, 0x03, 0x43, 0x98, 0xf9, 0x04, 0x4f, 0x32, + 0x34, 0x5b, 0x5f, 0x05, 0x9d, 0x61, 0x4b, 0x5f, 0xea, 0xc6, 0x1f, 0xd9, + 0x0c, 0xe1, 0x46, 0x4b, 0xc2, 0xc0, 0x1e, 0xc6, 0x9e, 0x81, 0x25, 0x7d, + 0x05, 0x07, 0x51, 0x92, +}; +static const unsigned char kat4053_addinpr2[] = {0}; +static const unsigned char kat4053_retbits[] = { + 0x36, 0xb9, 0x1f, 0xca, 0x75, 0x46, 0x03, 0x39, 0x2b, 0x23, 0x2e, 0x27, + 0xdf, 0xe8, 0xc8, 0x33, 0xec, 0x3d, 0x80, 0xc7, 0x8b, 0xc5, 0xaa, 0x47, + 0x2a, 0x59, 0xa5, 0xfe, 0xcf, 0xc4, 0x31, 0x1b, 0x86, 0xac, 0xcd, 0xbd, + 0x16, 0x4e, 0x39, 0x85, 0x5a, 0x38, 0xff, 0x13, 0xc9, 0x9c, 0x70, 0xf6, + 0xb4, 0x39, 0x33, 0xf3, 0x27, 0xea, 0xe1, 0x73, 0x3c, 0x6a, 0xb4, 0xe0, + 0xe2, 0xad, 0x41, 0xe1, +}; +static const struct drbg_kat_pr_true kat4053_t = { + 2, kat4053_entropyin, kat4053_nonce, kat4053_persstr, + kat4053_entropyinpr1, kat4053_addinpr1, kat4053_entropyinpr2, + kat4053_addinpr2, kat4053_retbits +}; +static const struct drbg_kat kat4053 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4053_t +}; + +static const unsigned char kat4054_entropyin[] = { + 0x5b, 0xde, 0x17, 0xac, 0x69, 0xbf, 0x36, 0xbb, 0x75, 0x9a, 0x18, 0xcc, + 0x5b, 0xe7, 0xb0, 0xbc, 0x22, 0x31, 0xa1, 0x98, 0x65, 0xbb, 0x6d, 0x7b, + 0x0b, 0x3b, 0x7a, 0xfe, 0x0b, 0x3f, 0x12, 0x3a, 0xcd, 0x70, 0x05, 0xa5, + 0x37, 0x22, 0xf8, 0x21, +}; +static const unsigned char kat4054_nonce[] = {0}; +static const unsigned char kat4054_persstr[] = { + 0x0e, 0xc5, 0xa5, 0xa3, 0x71, 0xf0, 0xe0, 0x19, 0x12, 0x2e, 0x46, 0xe6, + 0x58, 0x34, 0x6d, 0x6d, 0xf0, 0x2c, 0x77, 0xe3, 0x6e, 0xfc, 0x01, 0x07, + 0x87, 0xb4, 0x74, 0xfe, 0xf7, 0xa5, 0xf7, 0xae, 0x28, 0xc4, 0xe4, 0xcc, + 0xc0, 0xaf, 0x3e, 0xde, +}; +static const unsigned char kat4054_entropyinpr1[] = { + 0x03, 0xd6, 0x93, 0xda, 0x71, 0xdf, 0xc9, 0x0c, 0xee, 0xab, 0xa6, 0xa7, + 0x22, 0xe9, 0x01, 0x56, 0x62, 0x07, 0x1b, 0x76, 0x8d, 0xe3, 0x86, 0xd6, + 0x01, 0x9b, 0x4d, 0x5f, 0x12, 0x32, 0x35, 0x58, 0xcc, 0x3a, 0x5e, 0x3a, + 0x56, 0x63, 0xe4, 0xbb, +}; +static const unsigned char kat4054_addinpr1[] = {0}; +static const unsigned char kat4054_entropyinpr2[] = { + 0xad, 0x72, 0x90, 0xac, 0xe8, 0xf0, 0x85, 0x86, 0x41, 0xa4, 0x3e, 0xb7, + 0xee, 0x50, 0xb1, 0xdb, 0x85, 0x8f, 0xe2, 0xa1, 0x01, 0x15, 0xa3, 0x39, + 0x64, 0x1a, 0x77, 0x67, 0xea, 0x05, 0x75, 0x13, 0xfd, 0x77, 0x32, 0xc7, + 0xb7, 0xff, 0x2e, 0x07, +}; +static const unsigned char kat4054_addinpr2[] = {0}; +static const unsigned char kat4054_retbits[] = { + 0x57, 0x77, 0x0a, 0x05, 0xe9, 0x90, 0xa0, 0x6a, 0xf3, 0x72, 0x5a, 0x07, + 0x0c, 0x0b, 0x71, 0x56, 0x33, 0xe5, 0xc1, 0x13, 0xca, 0x5b, 0xaf, 0x1a, + 0xad, 0x4a, 0x6f, 0xb2, 0x53, 0x80, 0x0b, 0x77, 0x6f, 0x7e, 0x67, 0x3f, + 0x9a, 0x3d, 0xb2, 0xeb, 0x96, 0x5a, 0xa8, 0x61, 0x22, 0x01, 0xdc, 0x9c, + 0x6d, 0x20, 0x9c, 0xe8, 0xea, 0x29, 0x2e, 0x09, 0x98, 0x1c, 0x07, 0xa9, + 0x0f, 0xc6, 0x9c, 0x76, +}; +static const struct drbg_kat_pr_true kat4054_t = { + 3, kat4054_entropyin, kat4054_nonce, kat4054_persstr, + kat4054_entropyinpr1, kat4054_addinpr1, kat4054_entropyinpr2, + kat4054_addinpr2, kat4054_retbits +}; +static const struct drbg_kat kat4054 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4054_t +}; + +static const unsigned char kat4055_entropyin[] = { + 0xc5, 0x47, 0x25, 0x8e, 0x18, 0x05, 0x20, 0x6e, 0x63, 0x4e, 0x8e, 0xa8, + 0x29, 0xdd, 0x4f, 0x52, 0x16, 0xfc, 0xdb, 0x4e, 0x9f, 0x2d, 0x80, 0x5e, + 0xbe, 0x1e, 0x31, 0x53, 0xa3, 0xf6, 0x1b, 0x5f, 0xf1, 0x2f, 0x8a, 0xa1, + 0xcf, 0x82, 0x29, 0x4e, +}; +static const unsigned char kat4055_nonce[] = {0}; +static const unsigned char kat4055_persstr[] = { + 0xac, 0xf2, 0x98, 0x82, 0x35, 0x41, 0x7b, 0x30, 0x85, 0xeb, 0x59, 0xe9, + 0xb4, 0x9e, 0x59, 0x20, 0x2b, 0x41, 0xce, 0xbf, 0xe3, 0x4f, 0x36, 0x66, + 0xdc, 0x37, 0xfb, 0x14, 0xc7, 0x16, 0x45, 0x72, 0x39, 0xbb, 0x4d, 0x4e, + 0x36, 0x43, 0xb3, 0xfc, +}; +static const unsigned char kat4055_entropyinpr1[] = { + 0x89, 0xbf, 0x53, 0x64, 0x15, 0xaa, 0x5b, 0x67, 0x3a, 0xf6, 0xb7, 0x75, + 0xcb, 0x6d, 0x6a, 0x9a, 0xc3, 0x99, 0xb3, 0xce, 0x9e, 0xe5, 0x40, 0x7c, + 0x06, 0x4c, 0xca, 0x6d, 0x00, 0x58, 0x4a, 0x70, 0x7e, 0x7b, 0x2f, 0xb7, + 0xfe, 0x62, 0xa4, 0xd7, +}; +static const unsigned char kat4055_addinpr1[] = {0}; +static const unsigned char kat4055_entropyinpr2[] = { + 0x22, 0xfb, 0x3b, 0xe1, 0x27, 0x35, 0xe6, 0xbc, 0x87, 0x8d, 0x9b, 0x8f, + 0x9f, 0x65, 0xb1, 0x3e, 0x60, 0x4f, 0x29, 0x6b, 0xc9, 0x9c, 0xdf, 0xf2, + 0x1c, 0x7b, 0x80, 0x1e, 0x78, 0x6e, 0xa3, 0x77, 0x99, 0xb7, 0x0e, 0xd5, + 0x3a, 0xe7, 0xad, 0x5a, +}; +static const unsigned char kat4055_addinpr2[] = {0}; +static const unsigned char kat4055_retbits[] = { + 0xe1, 0x77, 0xdf, 0xe6, 0xda, 0x1a, 0xd6, 0x83, 0x89, 0xa5, 0xe8, 0xae, + 0xb3, 0x67, 0x82, 0x5b, 0x4d, 0x90, 0x35, 0x94, 0x41, 0x50, 0x97, 0x5e, + 0xe1, 0x17, 0x8d, 0x61, 0x72, 0xc0, 0xe0, 0xed, 0x0e, 0xd8, 0x8b, 0xef, + 0x2b, 0x8c, 0x6c, 0xe5, 0x73, 0xd8, 0x3e, 0xff, 0xd3, 0x47, 0x88, 0xb4, + 0x01, 0x72, 0xc3, 0xff, 0x62, 0xac, 0xfc, 0xf6, 0xaa, 0xf2, 0x6f, 0xc9, + 0x17, 0x64, 0x59, 0xe3, +}; +static const struct drbg_kat_pr_true kat4055_t = { + 4, kat4055_entropyin, kat4055_nonce, kat4055_persstr, + kat4055_entropyinpr1, kat4055_addinpr1, kat4055_entropyinpr2, + kat4055_addinpr2, kat4055_retbits +}; +static const struct drbg_kat kat4055 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4055_t +}; + +static const unsigned char kat4056_entropyin[] = { + 0xd3, 0x4a, 0xe9, 0xfe, 0x14, 0xf8, 0x98, 0x77, 0x95, 0xdc, 0x0b, 0x55, + 0xca, 0x17, 0x10, 0x23, 0x1f, 0xc9, 0xa5, 0x09, 0x1f, 0x39, 0x35, 0xb3, + 0xad, 0x2f, 0xeb, 0x44, 0x71, 0x44, 0x33, 0xd1, 0x74, 0x2c, 0x15, 0xbb, + 0x68, 0x99, 0x7c, 0xed, +}; +static const unsigned char kat4056_nonce[] = {0}; +static const unsigned char kat4056_persstr[] = { + 0xa6, 0xa0, 0xf1, 0xd3, 0x9a, 0x66, 0xfc, 0x55, 0x4f, 0x7d, 0x07, 0x42, + 0x00, 0xdf, 0xad, 0x91, 0xe7, 0xfd, 0x16, 0x31, 0x6a, 0x0b, 0x60, 0xc3, + 0xa1, 0x65, 0x84, 0x23, 0xf8, 0x3b, 0xf1, 0x33, 0x87, 0xaf, 0x2c, 0x83, + 0x01, 0x30, 0x31, 0x72, +}; +static const unsigned char kat4056_entropyinpr1[] = { + 0x4c, 0x5f, 0x21, 0x93, 0x35, 0x44, 0xfe, 0x01, 0xaf, 0xa5, 0xc9, 0x34, + 0x12, 0xd3, 0x51, 0xd9, 0xb2, 0x88, 0xac, 0x80, 0x47, 0xe7, 0xc6, 0x3a, + 0x36, 0xad, 0xed, 0x49, 0xf7, 0x24, 0x9b, 0x59, 0xc0, 0x48, 0x70, 0xf2, + 0x81, 0x5d, 0x5e, 0xb9, +}; +static const unsigned char kat4056_addinpr1[] = {0}; +static const unsigned char kat4056_entropyinpr2[] = { + 0x9f, 0xd6, 0x6b, 0x10, 0x81, 0x44, 0x96, 0x19, 0xf7, 0x67, 0xd4, 0x5f, + 0xba, 0xb3, 0x84, 0x3a, 0x91, 0xba, 0xb0, 0x8d, 0xa9, 0xad, 0x4f, 0x8b, + 0xaa, 0xf2, 0x40, 0x82, 0x26, 0xe1, 0x86, 0x8c, 0x53, 0xc3, 0xfd, 0xa8, + 0x50, 0x85, 0xab, 0x19, +}; +static const unsigned char kat4056_addinpr2[] = {0}; +static const unsigned char kat4056_retbits[] = { + 0x28, 0x43, 0x6a, 0x17, 0x0a, 0xfe, 0x0d, 0x18, 0xb9, 0x04, 0xef, 0x24, + 0x51, 0x79, 0xce, 0xb3, 0xc8, 0x7c, 0x91, 0x1e, 0x6c, 0x41, 0x51, 0x75, + 0x8a, 0x09, 0x90, 0x13, 0x27, 0x7c, 0xb2, 0x31, 0xdf, 0xf6, 0xbf, 0x5d, + 0xff, 0x9f, 0x3d, 0x2a, 0x78, 0xf8, 0x6e, 0x3f, 0x03, 0x05, 0x16, 0xc8, + 0x2b, 0xb0, 0xd3, 0x15, 0xc0, 0x63, 0x8b, 0xaf, 0x02, 0x37, 0x1c, 0x07, + 0x06, 0xdd, 0xd8, 0x39, +}; +static const struct drbg_kat_pr_true kat4056_t = { + 5, kat4056_entropyin, kat4056_nonce, kat4056_persstr, + kat4056_entropyinpr1, kat4056_addinpr1, kat4056_entropyinpr2, + kat4056_addinpr2, kat4056_retbits +}; +static const struct drbg_kat kat4056 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4056_t +}; + +static const unsigned char kat4057_entropyin[] = { + 0x79, 0x06, 0xa7, 0x2d, 0xbb, 0xa6, 0x84, 0x57, 0xfe, 0xa9, 0xd6, 0x31, + 0x45, 0x25, 0xd4, 0x72, 0xfa, 0xfa, 0xba, 0x37, 0x8e, 0x6e, 0x9f, 0xbb, + 0xf0, 0x92, 0xf1, 0xc4, 0x0b, 0x6b, 0xa0, 0x47, 0x05, 0xf7, 0x44, 0xf2, + 0x53, 0xe1, 0xd5, 0x2f, +}; +static const unsigned char kat4057_nonce[] = {0}; +static const unsigned char kat4057_persstr[] = { + 0xa1, 0x72, 0x1f, 0xab, 0x96, 0x40, 0xa4, 0x74, 0x53, 0x3f, 0x6e, 0xc2, + 0x7d, 0x7d, 0x35, 0x18, 0xc5, 0x70, 0xc7, 0x59, 0x6a, 0x8b, 0x65, 0xd1, + 0x2a, 0x6c, 0xfb, 0xc8, 0xae, 0xe9, 0xce, 0xd1, 0xb4, 0xde, 0x63, 0x3c, + 0xca, 0x18, 0xcc, 0x66, +}; +static const unsigned char kat4057_entropyinpr1[] = { + 0x69, 0x5a, 0xe1, 0xcf, 0xd3, 0xa2, 0xc0, 0x64, 0x1c, 0xa8, 0x82, 0x42, + 0xee, 0x47, 0x03, 0x6b, 0x18, 0x35, 0x73, 0xa0, 0xd5, 0xb1, 0x11, 0xd8, + 0xea, 0x28, 0xec, 0xfe, 0x94, 0x94, 0xbb, 0x77, 0xc7, 0x6a, 0xdb, 0xb5, + 0xcd, 0x6d, 0x53, 0x19, +}; +static const unsigned char kat4057_addinpr1[] = {0}; +static const unsigned char kat4057_entropyinpr2[] = { + 0x70, 0xcb, 0xe4, 0x88, 0x2d, 0x3d, 0xa4, 0x3f, 0xf1, 0x6a, 0xc4, 0xe8, + 0xf0, 0x1c, 0x27, 0x65, 0xbb, 0x33, 0x4a, 0xaf, 0x93, 0x6c, 0x1e, 0xd6, + 0x3a, 0x17, 0x4c, 0xb6, 0x4c, 0xdf, 0x30, 0x28, 0x4a, 0x2a, 0x88, 0x01, + 0x5f, 0x2c, 0x70, 0xde, +}; +static const unsigned char kat4057_addinpr2[] = {0}; +static const unsigned char kat4057_retbits[] = { + 0x03, 0x89, 0x98, 0xe9, 0x5d, 0xe7, 0x0b, 0x88, 0x59, 0xb9, 0xf8, 0xc6, + 0x3c, 0x3b, 0xa6, 0x17, 0x9f, 0x60, 0x1b, 0x25, 0x05, 0xa8, 0x7d, 0xa0, + 0x81, 0xa5, 0x1b, 0xec, 0x51, 0xbf, 0xeb, 0x5c, 0x69, 0x42, 0x63, 0xf8, + 0x7e, 0x90, 0x2b, 0x65, 0xc9, 0x2c, 0xcb, 0x85, 0x84, 0x3b, 0x82, 0x4d, + 0xc9, 0xa0, 0x92, 0xcd, 0x17, 0xd4, 0x83, 0x66, 0x3f, 0xe8, 0x23, 0xd2, + 0xea, 0x16, 0x85, 0x96, +}; +static const struct drbg_kat_pr_true kat4057_t = { + 6, kat4057_entropyin, kat4057_nonce, kat4057_persstr, + kat4057_entropyinpr1, kat4057_addinpr1, kat4057_entropyinpr2, + kat4057_addinpr2, kat4057_retbits +}; +static const struct drbg_kat kat4057 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4057_t +}; + +static const unsigned char kat4058_entropyin[] = { + 0xa0, 0x8f, 0xc9, 0x8e, 0x21, 0x0a, 0xe8, 0xe2, 0x32, 0x15, 0xef, 0x34, + 0xe6, 0xee, 0xae, 0x60, 0x1b, 0x11, 0xf1, 0x82, 0x23, 0xdd, 0x82, 0xd9, + 0x8c, 0x9c, 0x3e, 0x56, 0x87, 0x3f, 0xa1, 0xc6, 0xa8, 0x77, 0xee, 0xa3, + 0x22, 0x4b, 0x02, 0xc5, +}; +static const unsigned char kat4058_nonce[] = {0}; +static const unsigned char kat4058_persstr[] = { + 0x53, 0xff, 0x73, 0xab, 0xe2, 0xc2, 0x4b, 0x3e, 0x8b, 0x2e, 0x56, 0xdd, + 0x84, 0xa6, 0x54, 0x1b, 0xbd, 0x01, 0x7b, 0x83, 0x48, 0xb6, 0x7d, 0x97, + 0x0b, 0xe8, 0x5a, 0xee, 0x22, 0x44, 0x80, 0xc1, 0xed, 0x2a, 0x8d, 0x70, + 0x04, 0xa0, 0x1f, 0x56, +}; +static const unsigned char kat4058_entropyinpr1[] = { + 0x81, 0x5c, 0x3e, 0xe7, 0x68, 0x51, 0x98, 0xc2, 0xe2, 0x06, 0xb4, 0x91, + 0x93, 0xae, 0x52, 0xda, 0xf6, 0xb3, 0x71, 0x48, 0x4f, 0x92, 0x90, 0xaa, + 0x9e, 0x22, 0x72, 0x49, 0xfe, 0x33, 0xfb, 0x9a, 0x75, 0x79, 0xf6, 0x80, + 0x3b, 0xe9, 0x9c, 0x55, +}; +static const unsigned char kat4058_addinpr1[] = {0}; +static const unsigned char kat4058_entropyinpr2[] = { + 0x41, 0x99, 0x01, 0x35, 0xfd, 0xfe, 0xd0, 0xed, 0x1a, 0xd2, 0xe3, 0x36, + 0xf4, 0x61, 0x26, 0x31, 0xaa, 0x18, 0xd6, 0x9f, 0x13, 0xdb, 0x80, 0x93, + 0x36, 0x18, 0x82, 0x95, 0xba, 0x8e, 0xa6, 0xe3, 0x75, 0xd9, 0x11, 0xf4, + 0x25, 0x74, 0x88, 0x04, +}; +static const unsigned char kat4058_addinpr2[] = {0}; +static const unsigned char kat4058_retbits[] = { + 0x3f, 0xae, 0xe4, 0x48, 0x63, 0xcf, 0x1b, 0xee, 0x45, 0xe3, 0x72, 0x6f, + 0xaa, 0xfd, 0x11, 0xe6, 0x05, 0x3e, 0x25, 0xb2, 0x5f, 0x7f, 0xa9, 0xaf, + 0x25, 0x83, 0x98, 0xf3, 0x35, 0xbd, 0xe8, 0x65, 0xf8, 0x15, 0xdc, 0x81, + 0xc7, 0xbe, 0x6e, 0xd3, 0x1c, 0x6a, 0x8d, 0xdc, 0x20, 0xa6, 0xc3, 0x80, + 0xbb, 0x76, 0x18, 0x9d, 0x75, 0xe9, 0xae, 0xb8, 0x23, 0x2c, 0x09, 0x4f, + 0x3c, 0x6e, 0x2f, 0xb8, +}; +static const struct drbg_kat_pr_true kat4058_t = { + 7, kat4058_entropyin, kat4058_nonce, kat4058_persstr, + kat4058_entropyinpr1, kat4058_addinpr1, kat4058_entropyinpr2, + kat4058_addinpr2, kat4058_retbits +}; +static const struct drbg_kat kat4058 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4058_t +}; + +static const unsigned char kat4059_entropyin[] = { + 0x0e, 0x43, 0x75, 0x7c, 0xad, 0x68, 0x7e, 0xa7, 0x05, 0xc9, 0x83, 0x68, + 0xfa, 0x8e, 0x22, 0xa2, 0x59, 0x0a, 0x30, 0x10, 0xd3, 0xf7, 0x7b, 0xf5, + 0x7e, 0xec, 0x8d, 0x6e, 0x80, 0x3b, 0x0d, 0xf0, 0x01, 0x33, 0x50, 0x65, + 0x70, 0x2a, 0x73, 0xdc, +}; +static const unsigned char kat4059_nonce[] = {0}; +static const unsigned char kat4059_persstr[] = { + 0x8b, 0xb0, 0x0a, 0xd2, 0x7e, 0x50, 0x4b, 0x26, 0xb7, 0x26, 0xe4, 0x2c, + 0x22, 0x80, 0x8c, 0x96, 0xbe, 0x38, 0x85, 0xb5, 0x14, 0x43, 0x73, 0xa9, + 0xb5, 0x59, 0x26, 0xd0, 0x9c, 0x87, 0xc2, 0xc0, 0xc7, 0xc5, 0x2e, 0x50, + 0xe8, 0xe6, 0xd3, 0xd0, +}; +static const unsigned char kat4059_entropyinpr1[] = { + 0xda, 0x5d, 0xa3, 0x2c, 0xb5, 0xe6, 0xcd, 0x46, 0xa1, 0xcf, 0x7a, 0xbf, + 0x08, 0x5d, 0x63, 0x99, 0x3b, 0x73, 0x6f, 0x5d, 0x34, 0x7c, 0xba, 0x22, + 0xd6, 0x2b, 0xa4, 0x43, 0x7b, 0xfe, 0x9d, 0x82, 0xd5, 0x58, 0x86, 0x7b, + 0x6c, 0xc0, 0xa0, 0x6b, +}; +static const unsigned char kat4059_addinpr1[] = {0}; +static const unsigned char kat4059_entropyinpr2[] = { + 0x1e, 0xf7, 0xcd, 0xb5, 0x4c, 0xa6, 0xd1, 0x61, 0xa3, 0xae, 0xcd, 0x0b, + 0x69, 0xd6, 0xe5, 0xfa, 0x33, 0x64, 0x34, 0xde, 0xc8, 0x04, 0xed, 0x38, + 0xf4, 0x4d, 0xb9, 0x12, 0x3e, 0xdb, 0x9a, 0xcf, 0xd3, 0x1e, 0x0e, 0x40, + 0xd0, 0xd8, 0x51, 0xd2, +}; +static const unsigned char kat4059_addinpr2[] = {0}; +static const unsigned char kat4059_retbits[] = { + 0x8f, 0xde, 0x23, 0x1f, 0xcb, 0xc0, 0xa2, 0x3d, 0x59, 0xc9, 0x1e, 0x25, + 0xd7, 0xb3, 0x79, 0xec, 0x27, 0xd7, 0x9c, 0x86, 0x9a, 0x90, 0x02, 0x16, + 0x3c, 0xb4, 0x9e, 0x29, 0x4c, 0x07, 0x45, 0x3e, 0x7b, 0x3e, 0x62, 0x3d, + 0x8d, 0x2d, 0x0a, 0x26, 0x69, 0x60, 0x8b, 0x51, 0xc1, 0x8f, 0x5e, 0xfe, + 0xb5, 0x20, 0x9f, 0x5d, 0xf6, 0x40, 0x24, 0x2e, 0xe0, 0xe9, 0xe8, 0xfa, + 0x95, 0x0d, 0x0c, 0xe2, +}; +static const struct drbg_kat_pr_true kat4059_t = { + 8, kat4059_entropyin, kat4059_nonce, kat4059_persstr, + kat4059_entropyinpr1, kat4059_addinpr1, kat4059_entropyinpr2, + kat4059_addinpr2, kat4059_retbits +}; +static const struct drbg_kat kat4059 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4059_t +}; + +static const unsigned char kat4060_entropyin[] = { + 0x33, 0x3f, 0xa2, 0x1f, 0x65, 0xac, 0x78, 0x49, 0x10, 0x42, 0x87, 0x23, + 0x4e, 0x32, 0x5f, 0x79, 0x0a, 0x8a, 0x4b, 0x0f, 0xf6, 0xc0, 0xfa, 0xcb, + 0x05, 0xd2, 0xd8, 0xd7, 0xf8, 0xe7, 0xb8, 0xfb, 0xe5, 0x66, 0x04, 0x65, + 0xb2, 0xa1, 0x00, 0x5f, +}; +static const unsigned char kat4060_nonce[] = {0}; +static const unsigned char kat4060_persstr[] = { + 0x31, 0x4e, 0x90, 0xbe, 0xe5, 0x93, 0x2d, 0xa5, 0x78, 0x86, 0x33, 0x70, + 0xcb, 0x45, 0x7f, 0xa4, 0xcf, 0x98, 0x54, 0x91, 0xe4, 0x76, 0xe1, 0x03, + 0x1f, 0xd3, 0x5d, 0x0e, 0xba, 0x34, 0x54, 0x6e, 0x77, 0xf9, 0x08, 0x7e, + 0x19, 0x3a, 0x96, 0x73, +}; +static const unsigned char kat4060_entropyinpr1[] = { + 0x33, 0x57, 0x75, 0x39, 0xb0, 0x04, 0x25, 0x3d, 0x94, 0xec, 0x9b, 0x5b, + 0x00, 0xb0, 0xef, 0xf2, 0x05, 0xf9, 0x71, 0xe4, 0xc4, 0x9e, 0x7d, 0x7a, + 0x24, 0x73, 0x01, 0xd4, 0x52, 0x4d, 0x23, 0xbf, 0x17, 0xcc, 0x39, 0x5d, + 0xa9, 0x29, 0x0a, 0x44, +}; +static const unsigned char kat4060_addinpr1[] = {0}; +static const unsigned char kat4060_entropyinpr2[] = { + 0xbb, 0xa6, 0x3e, 0xe3, 0xbe, 0xdf, 0xe2, 0x43, 0x7a, 0x15, 0x48, 0x3a, + 0xd9, 0x62, 0x30, 0xf0, 0x5b, 0xb4, 0xf8, 0x72, 0x65, 0xd5, 0x35, 0x93, + 0xf5, 0x45, 0xc6, 0x60, 0x1e, 0x1a, 0xa7, 0xc6, 0x09, 0x18, 0x48, 0x3e, + 0x00, 0x24, 0x92, 0x76, +}; +static const unsigned char kat4060_addinpr2[] = {0}; +static const unsigned char kat4060_retbits[] = { + 0x85, 0x29, 0xb8, 0x25, 0x45, 0x26, 0x11, 0x53, 0x64, 0x12, 0xd8, 0x9c, + 0xc1, 0xa3, 0x8e, 0x78, 0x5a, 0xa1, 0xe2, 0x4f, 0x50, 0xd7, 0x5f, 0xa1, + 0x68, 0x3c, 0x75, 0x15, 0xb3, 0x9b, 0xfc, 0xe8, 0xb0, 0xc9, 0xf5, 0x59, + 0xbb, 0x42, 0x2f, 0x93, 0x66, 0x3f, 0xf5, 0x2a, 0x37, 0x83, 0x9e, 0x07, + 0xa9, 0xb3, 0x4c, 0xc9, 0xc4, 0xf3, 0x35, 0xab, 0x21, 0xd9, 0x92, 0x8d, + 0xc4, 0x70, 0xcd, 0x3a, +}; +static const struct drbg_kat_pr_true kat4060_t = { + 9, kat4060_entropyin, kat4060_nonce, kat4060_persstr, + kat4060_entropyinpr1, kat4060_addinpr1, kat4060_entropyinpr2, + kat4060_addinpr2, kat4060_retbits +}; +static const struct drbg_kat kat4060 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4060_t +}; + +static const unsigned char kat4061_entropyin[] = { + 0x7c, 0x84, 0xac, 0x8f, 0xc4, 0x2f, 0x47, 0x38, 0x3c, 0xbb, 0xb7, 0x16, + 0x45, 0xc9, 0xfa, 0x2a, 0x26, 0xd1, 0x0e, 0x90, 0x2b, 0xe6, 0x46, 0xca, + 0xe2, 0x4b, 0xed, 0x37, 0xc4, 0x79, 0xfd, 0xa6, 0xa1, 0x67, 0xfb, 0x3f, + 0x50, 0x97, 0xa0, 0xe2, +}; +static const unsigned char kat4061_nonce[] = {0}; +static const unsigned char kat4061_persstr[] = { + 0xe2, 0x59, 0xd6, 0xc6, 0x3d, 0x8a, 0x3a, 0x37, 0xee, 0x3f, 0xaf, 0xf5, + 0x24, 0x3c, 0x20, 0x6f, 0x02, 0xb3, 0x4d, 0x1f, 0x92, 0x0a, 0xbb, 0xc0, + 0x0b, 0xa9, 0x5e, 0x26, 0x72, 0x37, 0xbb, 0xba, 0x6d, 0x1d, 0xcc, 0x1b, + 0xe8, 0x1d, 0xc5, 0x59, +}; +static const unsigned char kat4061_entropyinpr1[] = { + 0x80, 0xc4, 0xb7, 0x64, 0x9e, 0x7b, 0xf1, 0x89, 0xb9, 0x14, 0xa1, 0xfd, + 0x77, 0x2f, 0x11, 0x19, 0xa5, 0xa6, 0x53, 0x1b, 0x20, 0x1d, 0xf4, 0x7a, + 0x6b, 0xc7, 0x02, 0x37, 0x2b, 0xc3, 0x69, 0x34, 0x15, 0xb1, 0x93, 0xb5, + 0x93, 0x24, 0xd3, 0xfe, +}; +static const unsigned char kat4061_addinpr1[] = {0}; +static const unsigned char kat4061_entropyinpr2[] = { + 0x2e, 0xb1, 0x0d, 0x46, 0xd6, 0xcf, 0x9a, 0xcc, 0x13, 0xbe, 0xc9, 0x7f, + 0xd8, 0x5b, 0xa2, 0xdc, 0xf9, 0x38, 0x04, 0x6d, 0xcf, 0xde, 0xba, 0xdb, + 0xc2, 0x7c, 0xff, 0x0b, 0xe5, 0xa7, 0xef, 0x1b, 0x56, 0x9f, 0x5f, 0xe9, + 0xa5, 0x3b, 0x52, 0x6e, +}; +static const unsigned char kat4061_addinpr2[] = {0}; +static const unsigned char kat4061_retbits[] = { + 0xfb, 0x22, 0x50, 0x4b, 0x11, 0x28, 0x68, 0xe7, 0x2f, 0xcf, 0xde, 0x7b, + 0x8f, 0xfb, 0x67, 0xa9, 0x3b, 0x26, 0x9c, 0xb3, 0x7e, 0x37, 0xcb, 0xd8, + 0x64, 0xb7, 0x22, 0xc0, 0xac, 0xc2, 0xcf, 0x2f, 0x40, 0xff, 0xd4, 0x8e, + 0xd3, 0xa8, 0xf9, 0x17, 0xac, 0x5f, 0xc2, 0x32, 0x0c, 0x4f, 0x4f, 0x9b, + 0x14, 0x77, 0x4a, 0xee, 0x35, 0xaa, 0xed, 0xec, 0x03, 0xa2, 0xfc, 0x68, + 0xd6, 0xa9, 0x80, 0xc1, +}; +static const struct drbg_kat_pr_true kat4061_t = { + 10, kat4061_entropyin, kat4061_nonce, kat4061_persstr, + kat4061_entropyinpr1, kat4061_addinpr1, kat4061_entropyinpr2, + kat4061_addinpr2, kat4061_retbits +}; +static const struct drbg_kat kat4061 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4061_t +}; + +static const unsigned char kat4062_entropyin[] = { + 0x2d, 0xbe, 0x8d, 0xa9, 0x97, 0x4d, 0x6a, 0x6c, 0x75, 0x3b, 0x96, 0xce, + 0x0b, 0x36, 0xdb, 0x95, 0xbc, 0xa4, 0x59, 0xb2, 0xdd, 0xdc, 0x5c, 0xfd, + 0x3e, 0xfe, 0xab, 0x9a, 0x40, 0xd4, 0x51, 0xb0, 0x0e, 0xbd, 0xf7, 0x85, + 0xb3, 0xd3, 0x7e, 0xce, +}; +static const unsigned char kat4062_nonce[] = {0}; +static const unsigned char kat4062_persstr[] = { + 0x3e, 0x00, 0xb6, 0x4a, 0x29, 0x3d, 0x6e, 0xef, 0x06, 0x30, 0x75, 0x7d, + 0x61, 0x33, 0xb0, 0xa7, 0xef, 0x17, 0x2e, 0x57, 0x17, 0xaf, 0xcd, 0x95, + 0xfc, 0x0c, 0xfe, 0x24, 0x84, 0x6e, 0xdd, 0x39, 0x22, 0xf0, 0xc7, 0xbc, + 0xc3, 0x01, 0x13, 0x9b, +}; +static const unsigned char kat4062_entropyinpr1[] = { + 0xad, 0x32, 0xa2, 0x3e, 0x3b, 0x63, 0x1b, 0x87, 0x61, 0x30, 0xdf, 0xed, + 0xa4, 0x75, 0x71, 0x3d, 0x14, 0xb6, 0xf9, 0x4a, 0x4c, 0x8c, 0x9f, 0x4e, + 0x7b, 0xbe, 0xc4, 0x41, 0x08, 0x60, 0xc7, 0xb1, 0x5b, 0x34, 0x6f, 0x53, + 0x16, 0x3c, 0x7c, 0x5c, +}; +static const unsigned char kat4062_addinpr1[] = {0}; +static const unsigned char kat4062_entropyinpr2[] = { + 0xf8, 0x1a, 0x5f, 0x9a, 0x2d, 0xfd, 0x5b, 0x92, 0x41, 0x51, 0x57, 0x07, + 0x59, 0xd8, 0x45, 0xd4, 0x10, 0x73, 0xa3, 0x62, 0x8e, 0xf5, 0xf0, 0xef, + 0x62, 0x22, 0x97, 0xd1, 0x58, 0xcc, 0xb1, 0x73, 0xee, 0x55, 0x4a, 0x6e, + 0x1e, 0xe6, 0x80, 0x83, +}; +static const unsigned char kat4062_addinpr2[] = {0}; +static const unsigned char kat4062_retbits[] = { + 0x29, 0x6a, 0x93, 0x39, 0xec, 0x0a, 0xfe, 0x0a, 0x1a, 0xd8, 0xb3, 0xe8, + 0x10, 0x07, 0x72, 0x1b, 0x78, 0xe8, 0xf4, 0xfa, 0xfb, 0x1e, 0xe6, 0xce, + 0x76, 0xc4, 0x22, 0xc9, 0x94, 0x7c, 0x41, 0x9a, 0xe2, 0xba, 0xb1, 0xea, + 0x0c, 0x9d, 0xee, 0x24, 0xc0, 0x51, 0x23, 0xa2, 0x8e, 0x7a, 0xdc, 0x22, + 0x77, 0xa1, 0x47, 0xaa, 0xf6, 0x82, 0xb8, 0x9e, 0x76, 0x7d, 0xaa, 0xd3, + 0x6a, 0xcb, 0xe2, 0x86, +}; +static const struct drbg_kat_pr_true kat4062_t = { + 11, kat4062_entropyin, kat4062_nonce, kat4062_persstr, + kat4062_entropyinpr1, kat4062_addinpr1, kat4062_entropyinpr2, + kat4062_addinpr2, kat4062_retbits +}; +static const struct drbg_kat kat4062 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4062_t +}; + +static const unsigned char kat4063_entropyin[] = { + 0x5f, 0x8e, 0x78, 0xc5, 0xb9, 0x14, 0x8c, 0xb1, 0x10, 0x5d, 0x6d, 0x52, + 0x92, 0x6e, 0xfb, 0xc9, 0xf5, 0x6a, 0xbb, 0xcf, 0xab, 0x42, 0x9c, 0xef, + 0x20, 0xd1, 0x0b, 0xc1, 0xbb, 0x29, 0x35, 0xf8, 0xcb, 0xfe, 0x73, 0x11, + 0x97, 0xc9, 0x5f, 0x7b, +}; +static const unsigned char kat4063_nonce[] = {0}; +static const unsigned char kat4063_persstr[] = { + 0xb6, 0x1c, 0xc0, 0x87, 0x26, 0xd9, 0x16, 0x62, 0x61, 0x5d, 0x60, 0x19, + 0x0b, 0x4a, 0x06, 0x90, 0xaf, 0x5e, 0x8c, 0x25, 0x25, 0xde, 0xeb, 0x57, + 0x95, 0xe2, 0x40, 0x24, 0x56, 0x6e, 0x64, 0x42, 0xf1, 0x2c, 0xe5, 0x6a, + 0x11, 0x4a, 0x3e, 0x59, +}; +static const unsigned char kat4063_entropyinpr1[] = { + 0x59, 0xe5, 0x9e, 0x0a, 0x80, 0x72, 0x58, 0xf6, 0x9e, 0x58, 0x76, 0x43, + 0xc7, 0xaa, 0x0c, 0x3b, 0xee, 0x55, 0x0c, 0x7a, 0xe5, 0xf8, 0x62, 0xcb, + 0xed, 0x27, 0x8c, 0x94, 0x2b, 0x03, 0xd3, 0x65, 0x08, 0x73, 0xdc, 0xde, + 0x2f, 0xc5, 0xb2, 0xf2, +}; +static const unsigned char kat4063_addinpr1[] = {0}; +static const unsigned char kat4063_entropyinpr2[] = { + 0xad, 0xa9, 0xfa, 0x43, 0x28, 0x29, 0x99, 0x1f, 0x4a, 0x99, 0x33, 0x79, + 0x7d, 0x3f, 0x49, 0x04, 0x50, 0x44, 0xd2, 0xdd, 0x51, 0x24, 0x17, 0xe7, + 0x8a, 0xd3, 0x4f, 0x4b, 0x69, 0x23, 0x6e, 0xc3, 0x78, 0x39, 0x2a, 0xaf, + 0x09, 0x50, 0x09, 0x35, +}; +static const unsigned char kat4063_addinpr2[] = {0}; +static const unsigned char kat4063_retbits[] = { + 0xb6, 0xfe, 0xf6, 0x53, 0x3b, 0x0c, 0x2c, 0xa2, 0x13, 0xeb, 0x57, 0xdc, + 0x67, 0x39, 0x37, 0xde, 0x10, 0x3b, 0x82, 0x59, 0x2b, 0xdc, 0x43, 0xa0, + 0x2b, 0x33, 0x52, 0x91, 0x08, 0x2d, 0x18, 0xf6, 0x63, 0x07, 0x98, 0x66, + 0x2b, 0x56, 0x6c, 0x65, 0x32, 0xcd, 0x45, 0xa5, 0xf3, 0xd0, 0xfe, 0xfb, + 0x8e, 0x29, 0x20, 0x61, 0x13, 0x48, 0x49, 0x08, 0xf9, 0x96, 0x73, 0xed, + 0xf6, 0x06, 0x98, 0x26, +}; +static const struct drbg_kat_pr_true kat4063_t = { + 12, kat4063_entropyin, kat4063_nonce, kat4063_persstr, + kat4063_entropyinpr1, kat4063_addinpr1, kat4063_entropyinpr2, + kat4063_addinpr2, kat4063_retbits +}; +static const struct drbg_kat kat4063 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4063_t +}; + +static const unsigned char kat4064_entropyin[] = { + 0xc2, 0x78, 0x07, 0xee, 0xa7, 0x3d, 0xbc, 0xee, 0x52, 0xf1, 0x22, 0x93, + 0xec, 0xd1, 0x5d, 0x68, 0x33, 0x83, 0x5e, 0x2a, 0x9a, 0x25, 0x3e, 0x03, + 0x07, 0x33, 0x0c, 0xea, 0x17, 0x42, 0xe9, 0xad, 0xbc, 0x63, 0x57, 0xa0, + 0xec, 0x4c, 0x5e, 0x24, +}; +static const unsigned char kat4064_nonce[] = {0}; +static const unsigned char kat4064_persstr[] = { + 0x5e, 0xb4, 0x57, 0xc8, 0x8f, 0xc1, 0x1b, 0xec, 0x9b, 0xeb, 0x9d, 0x4c, + 0xf0, 0x22, 0x54, 0x56, 0xd1, 0x86, 0x3b, 0xb6, 0x24, 0x2d, 0xf9, 0xe1, + 0x12, 0x63, 0x35, 0x58, 0xf4, 0xce, 0xeb, 0xed, 0x99, 0xc7, 0xda, 0x83, + 0x4d, 0xe0, 0x9b, 0xb0, +}; +static const unsigned char kat4064_entropyinpr1[] = { + 0x20, 0x05, 0xe2, 0x38, 0x32, 0x87, 0xbc, 0xc2, 0xbb, 0x86, 0x2b, 0xe0, + 0x1d, 0x48, 0xc2, 0xeb, 0xb3, 0x54, 0x25, 0x1b, 0x66, 0xc5, 0x7b, 0xac, + 0xa2, 0x59, 0x6f, 0x45, 0x88, 0xeb, 0xb9, 0x5c, 0xa1, 0xb4, 0xbe, 0x1e, + 0x83, 0x6c, 0x88, 0xcf, +}; +static const unsigned char kat4064_addinpr1[] = {0}; +static const unsigned char kat4064_entropyinpr2[] = { + 0x8d, 0x60, 0x02, 0xd0, 0xfe, 0x98, 0xd1, 0x5c, 0xc5, 0x10, 0x85, 0x5e, + 0x57, 0xcd, 0x42, 0xe5, 0x4e, 0x85, 0x0f, 0x97, 0x27, 0x36, 0x76, 0xa4, + 0xb0, 0xf2, 0x0a, 0xb0, 0x6f, 0x12, 0x99, 0x2d, 0x8c, 0x2d, 0xad, 0xa6, + 0x7f, 0xf3, 0xe1, 0x38, +}; +static const unsigned char kat4064_addinpr2[] = {0}; +static const unsigned char kat4064_retbits[] = { + 0xad, 0xdb, 0xe7, 0xea, 0xfd, 0x98, 0x1e, 0x18, 0x32, 0x4c, 0x5d, 0x8b, + 0x79, 0x1e, 0x04, 0x75, 0xe3, 0x48, 0xd7, 0xa1, 0x48, 0x0b, 0x4b, 0x70, + 0x9c, 0x72, 0xd1, 0x8e, 0xca, 0x1b, 0xf7, 0xca, 0x2b, 0xb1, 0xa1, 0x43, + 0xff, 0xbb, 0x31, 0x9f, 0x10, 0xc5, 0xd3, 0xad, 0xd3, 0xd8, 0xf5, 0x45, + 0xa0, 0x21, 0x48, 0x10, 0x99, 0xe7, 0x28, 0xba, 0x53, 0x54, 0xf5, 0xe2, + 0x6d, 0x5c, 0xe3, 0xd6, +}; +static const struct drbg_kat_pr_true kat4064_t = { + 13, kat4064_entropyin, kat4064_nonce, kat4064_persstr, + kat4064_entropyinpr1, kat4064_addinpr1, kat4064_entropyinpr2, + kat4064_addinpr2, kat4064_retbits +}; +static const struct drbg_kat kat4064 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4064_t +}; + +static const unsigned char kat4065_entropyin[] = { + 0xdc, 0x0d, 0x01, 0xe6, 0x53, 0x61, 0x81, 0x70, 0x19, 0x83, 0x4e, 0x8e, + 0x94, 0xc9, 0xca, 0xd0, 0x80, 0x90, 0xb1, 0x70, 0x1f, 0x99, 0x1f, 0xf7, + 0x99, 0xf7, 0x5a, 0x1a, 0xa9, 0xf9, 0x7c, 0xa6, 0xf6, 0x3b, 0x48, 0xc7, + 0x40, 0x22, 0x4a, 0x47, +}; +static const unsigned char kat4065_nonce[] = {0}; +static const unsigned char kat4065_persstr[] = { + 0x01, 0xf6, 0x90, 0x2d, 0x4b, 0xc5, 0xfd, 0xad, 0xcf, 0x44, 0xd2, 0x70, + 0xb6, 0x9a, 0x19, 0xf3, 0x61, 0x2a, 0xe6, 0xfc, 0x0c, 0x2d, 0xc5, 0x7e, + 0xb2, 0xe8, 0xad, 0xa5, 0x4a, 0xda, 0x4a, 0xd8, 0xdd, 0x28, 0x52, 0x94, + 0x47, 0xd1, 0x6a, 0xa1, +}; +static const unsigned char kat4065_entropyinpr1[] = { + 0x21, 0xdb, 0x28, 0xb5, 0xcb, 0x97, 0x24, 0xd9, 0x3c, 0x58, 0xf7, 0x87, + 0xb1, 0x55, 0xf0, 0x13, 0x1c, 0x39, 0xb5, 0x60, 0x6e, 0x6a, 0x96, 0x8d, + 0xcf, 0x7e, 0xd4, 0xcc, 0xda, 0x1d, 0xa3, 0xc9, 0xa4, 0xc9, 0xc7, 0x31, + 0xd4, 0xf7, 0xbe, 0xd1, +}; +static const unsigned char kat4065_addinpr1[] = {0}; +static const unsigned char kat4065_entropyinpr2[] = { + 0x4a, 0xa5, 0x87, 0xed, 0xcb, 0x94, 0x0c, 0x3a, 0x93, 0x28, 0xa0, 0xef, + 0x2f, 0x19, 0x5e, 0xff, 0xc1, 0xcf, 0x02, 0x7b, 0x54, 0x9f, 0xf1, 0xec, + 0x5d, 0x5c, 0xac, 0x0e, 0x99, 0x61, 0x96, 0xea, 0xcd, 0x16, 0x10, 0x84, + 0x98, 0xb2, 0x73, 0x66, +}; +static const unsigned char kat4065_addinpr2[] = {0}; +static const unsigned char kat4065_retbits[] = { + 0x69, 0xdc, 0x6c, 0x36, 0x45, 0x9e, 0x00, 0x52, 0x75, 0xe3, 0x44, 0x88, + 0x66, 0x24, 0xca, 0x61, 0xa4, 0x2c, 0xba, 0x33, 0x87, 0xdc, 0xee, 0x79, + 0x39, 0x2a, 0xe9, 0x6a, 0x31, 0x13, 0x13, 0xdc, 0x7e, 0x33, 0x28, 0x36, + 0x05, 0xfb, 0x46, 0xaa, 0x1d, 0x88, 0x1b, 0xcc, 0xae, 0xc6, 0x33, 0x6a, + 0x61, 0x54, 0x5d, 0xac, 0x52, 0x16, 0x6c, 0xbf, 0x81, 0x74, 0xb8, 0xdc, + 0xa3, 0xeb, 0xfb, 0xc6, +}; +static const struct drbg_kat_pr_true kat4065_t = { + 14, kat4065_entropyin, kat4065_nonce, kat4065_persstr, + kat4065_entropyinpr1, kat4065_addinpr1, kat4065_entropyinpr2, + kat4065_addinpr2, kat4065_retbits +}; +static const struct drbg_kat kat4065 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 0, 64, &kat4065_t +}; + +static const unsigned char kat4066_entropyin[] = { + 0x9f, 0x39, 0x78, 0xf1, 0x54, 0x85, 0x45, 0xcc, 0xd1, 0xaf, 0xd2, 0xd9, + 0xa1, 0xa8, 0xb5, 0x0a, 0x0d, 0x4f, 0xfc, 0x8b, 0xb0, 0x8b, 0xfd, 0xd9, + 0x63, 0x79, 0x44, 0x3a, 0x07, 0x07, 0x49, 0xf1, 0xbd, 0x19, 0x52, 0xc1, + 0x49, 0x99, 0x78, 0x4f, +}; +static const unsigned char kat4066_nonce[] = {0}; +static const unsigned char kat4066_persstr[] = { + 0x20, 0xd2, 0x35, 0x8f, 0xb0, 0x0e, 0xab, 0xc9, 0xe2, 0x25, 0xcd, 0xa2, + 0x25, 0x24, 0x35, 0xfd, 0x71, 0x77, 0xff, 0xda, 0x72, 0xc2, 0xc3, 0x15, + 0x50, 0x1a, 0x4c, 0x51, 0x67, 0x59, 0x0f, 0xef, 0xd2, 0x05, 0x26, 0xc8, + 0x20, 0x52, 0x46, 0x87, +}; +static const unsigned char kat4066_entropyinpr1[] = { + 0xe9, 0x53, 0xa8, 0x18, 0x2d, 0xb2, 0x49, 0x71, 0x12, 0xd0, 0xc6, 0xb1, + 0xaa, 0xc6, 0xdb, 0xf3, 0x21, 0xaf, 0xe3, 0x9a, 0x4e, 0xe9, 0xe7, 0x4b, + 0x38, 0x9a, 0x29, 0x3b, 0x6b, 0x69, 0x19, 0x6b, 0x03, 0xca, 0x95, 0xd5, + 0xe4, 0x76, 0x81, 0x0e, +}; +static const unsigned char kat4066_addinpr1[] = { + 0x61, 0x0a, 0xc2, 0x41, 0xfe, 0xa1, 0xda, 0xba, 0xd3, 0x7f, 0x2e, 0x04, + 0x12, 0x0c, 0x6b, 0xea, 0xe2, 0x78, 0x6b, 0x2b, 0x82, 0xfc, 0xda, 0x64, + 0xe8, 0x12, 0xb8, 0x9d, 0x30, 0xf1, 0xc4, 0x1f, 0x83, 0x0a, 0x54, 0x13, + 0x7c, 0x16, 0x24, 0xe6, +}; +static const unsigned char kat4066_entropyinpr2[] = { + 0x65, 0xa4, 0x70, 0x68, 0x13, 0x06, 0xea, 0x1d, 0xbb, 0x9c, 0x32, 0xad, + 0x85, 0xb5, 0xef, 0x8d, 0xaa, 0x50, 0xc3, 0xe2, 0xc1, 0xac, 0xbb, 0x90, + 0xae, 0x2d, 0x08, 0x4b, 0x72, 0xc5, 0x65, 0x1a, 0x2f, 0x46, 0xe8, 0x2a, + 0xf6, 0xe1, 0x29, 0x6d, +}; +static const unsigned char kat4066_addinpr2[] = { + 0xbc, 0xdd, 0xe7, 0x1b, 0xc0, 0x46, 0x5b, 0xf0, 0x13, 0x0e, 0xd5, 0x5f, + 0x3f, 0x80, 0x18, 0x31, 0x71, 0xc8, 0x16, 0x7a, 0x00, 0xe1, 0xee, 0x70, + 0x70, 0xca, 0x4c, 0xc0, 0x4f, 0xb0, 0xc5, 0xf2, 0x77, 0x35, 0x2d, 0xe2, + 0x80, 0x64, 0xaf, 0xb1, +}; +static const unsigned char kat4066_retbits[] = { + 0x0f, 0xfe, 0xf9, 0x78, 0x66, 0x0d, 0x79, 0xa3, 0x27, 0x52, 0xdc, 0xa3, + 0x89, 0xf2, 0x72, 0xce, 0xa7, 0xe0, 0xdd, 0x21, 0x81, 0x9c, 0x4c, 0x6c, + 0x82, 0xb7, 0x1f, 0x53, 0x3c, 0xa4, 0x98, 0xc9, 0xef, 0xb2, 0x1d, 0x1e, + 0xeb, 0x04, 0x0b, 0xf9, 0x87, 0x1e, 0x47, 0x54, 0xee, 0x47, 0x4e, 0xca, + 0xfc, 0x08, 0xb8, 0xda, 0xe3, 0x24, 0x53, 0xa3, 0x0a, 0xb3, 0x58, 0x6a, + 0xef, 0x54, 0xc3, 0xac, +}; +static const struct drbg_kat_pr_true kat4066_t = { + 0, kat4066_entropyin, kat4066_nonce, kat4066_persstr, + kat4066_entropyinpr1, kat4066_addinpr1, kat4066_entropyinpr2, + kat4066_addinpr2, kat4066_retbits +}; +static const struct drbg_kat kat4066 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4066_t +}; + +static const unsigned char kat4067_entropyin[] = { + 0x81, 0x7e, 0xca, 0xb9, 0x38, 0x29, 0xbc, 0xee, 0xaa, 0x9e, 0x86, 0x29, + 0xeb, 0xc3, 0x2c, 0xd6, 0x93, 0xa3, 0x40, 0x15, 0xa2, 0xce, 0x44, 0xa9, + 0x3e, 0xa5, 0xa4, 0x35, 0xa8, 0x33, 0x45, 0x0f, 0x31, 0x95, 0x70, 0x4f, + 0x15, 0x6a, 0x1b, 0x18, +}; +static const unsigned char kat4067_nonce[] = {0}; +static const unsigned char kat4067_persstr[] = { + 0xd1, 0x64, 0x7f, 0xb3, 0x6c, 0x04, 0x15, 0x08, 0x42, 0xae, 0x7e, 0x12, + 0x30, 0x94, 0xe7, 0x93, 0xbc, 0x1b, 0xce, 0xcb, 0x5f, 0x5b, 0x25, 0x22, + 0xef, 0xb6, 0xfb, 0x3c, 0x92, 0x91, 0xea, 0xe4, 0xaf, 0xf0, 0xb8, 0xf6, + 0x76, 0x4b, 0x2f, 0x0e, +}; +static const unsigned char kat4067_entropyinpr1[] = { + 0x03, 0x24, 0x38, 0xad, 0xe2, 0xda, 0x4e, 0x9c, 0xfb, 0x13, 0x5c, 0x29, + 0xcf, 0x87, 0x72, 0x7a, 0xd6, 0xc0, 0xdd, 0x48, 0xab, 0xa6, 0x60, 0xfc, + 0x81, 0xf4, 0x91, 0xb5, 0x16, 0x87, 0xb2, 0x5b, 0x10, 0x8d, 0x97, 0xc6, + 0x8e, 0x17, 0x25, 0xfd, +}; +static const unsigned char kat4067_addinpr1[] = { + 0xd4, 0xb7, 0x9e, 0x9e, 0x70, 0xa4, 0xfd, 0x0c, 0x9b, 0x53, 0x05, 0xe9, + 0xd1, 0xa3, 0xbf, 0xb6, 0x82, 0x4e, 0xea, 0x74, 0x90, 0x2f, 0x82, 0x1b, + 0xb4, 0x08, 0xf7, 0xbf, 0xe2, 0x3d, 0x6e, 0x1e, 0xc3, 0xc6, 0x89, 0x3a, + 0xb6, 0x88, 0x4e, 0x0c, +}; +static const unsigned char kat4067_entropyinpr2[] = { + 0x91, 0x71, 0xa2, 0x46, 0xe5, 0x37, 0x28, 0xa7, 0xd2, 0x95, 0xa6, 0xe7, + 0x55, 0x4a, 0x7d, 0x6a, 0x92, 0x64, 0x67, 0x3a, 0x69, 0x76, 0x77, 0x48, + 0x51, 0x9c, 0xb9, 0xa9, 0xf3, 0xe4, 0x7c, 0xc3, 0x78, 0xaf, 0xa5, 0xd4, + 0x6c, 0x8f, 0x33, 0xef, +}; +static const unsigned char kat4067_addinpr2[] = { + 0x49, 0x46, 0xcd, 0xdd, 0x6d, 0x04, 0x81, 0xb8, 0xa4, 0x03, 0x47, 0xdd, + 0x61, 0x00, 0x69, 0xc5, 0xd2, 0x1b, 0x78, 0x7a, 0x03, 0x7c, 0xb1, 0xe2, + 0x69, 0x92, 0xb2, 0x29, 0x1d, 0xc5, 0xfa, 0x61, 0xea, 0xc1, 0x5d, 0xd7, + 0xf5, 0xcd, 0x0a, 0xd0, +}; +static const unsigned char kat4067_retbits[] = { + 0xe6, 0xd6, 0x73, 0xc0, 0xc4, 0x49, 0xa6, 0x03, 0x09, 0x2b, 0x4e, 0xe4, + 0x6a, 0x8c, 0x61, 0x1c, 0xce, 0x66, 0xba, 0x20, 0x18, 0x98, 0x6b, 0x50, + 0x10, 0x75, 0x34, 0x0c, 0xf0, 0xb1, 0x7e, 0x90, 0x31, 0x33, 0x41, 0xe9, + 0x6d, 0x13, 0x54, 0xc1, 0x5e, 0x73, 0x98, 0xaa, 0x36, 0x1a, 0x2a, 0x8f, + 0x3d, 0x56, 0xbe, 0x18, 0x2a, 0x71, 0xf6, 0x0e, 0xc6, 0x99, 0x94, 0x5e, + 0x9c, 0xd2, 0x3b, 0xc9, +}; +static const struct drbg_kat_pr_true kat4067_t = { + 1, kat4067_entropyin, kat4067_nonce, kat4067_persstr, + kat4067_entropyinpr1, kat4067_addinpr1, kat4067_entropyinpr2, + kat4067_addinpr2, kat4067_retbits +}; +static const struct drbg_kat kat4067 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4067_t +}; + +static const unsigned char kat4068_entropyin[] = { + 0x4b, 0x19, 0x81, 0x69, 0xe0, 0x60, 0x98, 0x1b, 0x62, 0xac, 0xbf, 0x72, + 0x87, 0xae, 0xd7, 0x4d, 0xe5, 0x1e, 0x15, 0xc5, 0x5f, 0xd5, 0x5c, 0x51, + 0x0f, 0xae, 0xfc, 0xab, 0x57, 0xdb, 0xf9, 0xfe, 0x3f, 0x3c, 0xdf, 0xc0, + 0x78, 0x4f, 0x8d, 0x83, +}; +static const unsigned char kat4068_nonce[] = {0}; +static const unsigned char kat4068_persstr[] = { + 0x24, 0xd6, 0xbc, 0xef, 0x2b, 0xf7, 0x14, 0x3c, 0xe0, 0xf3, 0xdf, 0x22, + 0x63, 0xb7, 0xfd, 0xfb, 0x08, 0x8d, 0x19, 0xdd, 0x3f, 0x9f, 0x8d, 0x4a, + 0x18, 0x4e, 0xb7, 0x0d, 0xbf, 0xba, 0xf5, 0x00, 0x82, 0x9d, 0x39, 0x7a, + 0x9f, 0xd7, 0x19, 0xf3, +}; +static const unsigned char kat4068_entropyinpr1[] = { + 0x46, 0x35, 0x58, 0x46, 0x7c, 0x3d, 0xc5, 0xd3, 0xf1, 0x66, 0x98, 0x04, + 0x29, 0x4d, 0x0a, 0xbd, 0x3e, 0x8e, 0xaf, 0x1c, 0x27, 0xf9, 0x4b, 0xf7, + 0x83, 0xf2, 0x45, 0x7d, 0x04, 0x3c, 0x9d, 0x3c, 0xce, 0x68, 0xef, 0x76, + 0x17, 0x29, 0x3e, 0xc1, +}; +static const unsigned char kat4068_addinpr1[] = { + 0x91, 0x1c, 0x40, 0xa4, 0x4b, 0x59, 0x10, 0xdf, 0x4d, 0xa2, 0x6e, 0x5f, + 0x94, 0x20, 0x41, 0x02, 0xba, 0xb6, 0x17, 0x5a, 0xef, 0x7b, 0x33, 0x10, + 0xd1, 0xa8, 0x5e, 0x1f, 0x39, 0x02, 0x4e, 0x68, 0xc4, 0xea, 0x94, 0xa0, + 0x6e, 0x22, 0xc9, 0x08, +}; +static const unsigned char kat4068_entropyinpr2[] = { + 0x56, 0xc3, 0xa4, 0x52, 0xbc, 0xbc, 0x6e, 0x75, 0xc1, 0x7a, 0xf5, 0x6c, + 0xd7, 0x62, 0xc0, 0x9c, 0x47, 0xa1, 0x14, 0xa1, 0x93, 0xc0, 0xd2, 0xf9, + 0xc1, 0x42, 0x8c, 0x7e, 0xb7, 0xb3, 0x61, 0x9b, 0xc2, 0x07, 0x51, 0xb7, + 0xd4, 0x7e, 0x79, 0xcf, +}; +static const unsigned char kat4068_addinpr2[] = { + 0xa6, 0x7a, 0xa8, 0xa8, 0xb3, 0x86, 0x19, 0x20, 0x18, 0xab, 0x83, 0x59, + 0xf8, 0xdd, 0x68, 0x02, 0x5d, 0x55, 0x10, 0x7e, 0x11, 0xc1, 0xd4, 0x86, + 0x3e, 0xa0, 0x08, 0x74, 0x48, 0xf9, 0x56, 0xc2, 0x79, 0x1e, 0x98, 0x59, + 0x60, 0xdd, 0x9a, 0xb2, +}; +static const unsigned char kat4068_retbits[] = { + 0xec, 0x75, 0xc6, 0xd1, 0x6d, 0x7e, 0x9b, 0x82, 0x71, 0xa3, 0xc9, 0x50, + 0x62, 0xa4, 0xfb, 0x91, 0x4d, 0xc2, 0x9a, 0x75, 0x32, 0xa7, 0x3b, 0x92, + 0x2f, 0x40, 0xdb, 0x7d, 0xb4, 0xf6, 0x39, 0x78, 0x45, 0x4e, 0x37, 0x08, + 0x39, 0x28, 0x88, 0x95, 0x2a, 0x12, 0xc9, 0xa4, 0xb4, 0x66, 0x34, 0x40, + 0x19, 0x11, 0x4e, 0xc3, 0x48, 0x92, 0x64, 0x53, 0xe6, 0x85, 0x30, 0xad, + 0xd6, 0x95, 0x8a, 0x41, +}; +static const struct drbg_kat_pr_true kat4068_t = { + 2, kat4068_entropyin, kat4068_nonce, kat4068_persstr, + kat4068_entropyinpr1, kat4068_addinpr1, kat4068_entropyinpr2, + kat4068_addinpr2, kat4068_retbits +}; +static const struct drbg_kat kat4068 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4068_t +}; + +static const unsigned char kat4069_entropyin[] = { + 0x57, 0xea, 0xff, 0xe6, 0x1e, 0xd1, 0x00, 0xe5, 0xe9, 0x15, 0x54, 0x0f, + 0xee, 0xbc, 0x20, 0x2b, 0xf1, 0xd7, 0xc7, 0x41, 0xf1, 0xf2, 0x48, 0x1a, + 0x81, 0x57, 0x2d, 0x3c, 0x33, 0xe0, 0x67, 0xe1, 0x3d, 0xd7, 0x2e, 0x03, + 0x15, 0x96, 0xd0, 0x0e, +}; +static const unsigned char kat4069_nonce[] = {0}; +static const unsigned char kat4069_persstr[] = { + 0x20, 0xdf, 0x87, 0xea, 0xbc, 0xaf, 0xe7, 0xa1, 0x15, 0x91, 0xf5, 0x2e, + 0x1d, 0xbb, 0xdc, 0x67, 0xb2, 0x6b, 0xeb, 0x41, 0x26, 0xaa, 0xb7, 0xdf, + 0x89, 0x1a, 0x6e, 0x43, 0x0f, 0x85, 0x4e, 0x52, 0x14, 0x9e, 0x29, 0x52, + 0x3e, 0xa6, 0xc3, 0x2b, +}; +static const unsigned char kat4069_entropyinpr1[] = { + 0x02, 0xf9, 0x1a, 0xbf, 0x29, 0x84, 0x55, 0x46, 0x5c, 0x0c, 0x5f, 0x62, + 0x88, 0x40, 0x55, 0x89, 0xc8, 0xcf, 0x70, 0x44, 0xc3, 0x11, 0x1c, 0x7b, + 0x02, 0x71, 0x66, 0x0b, 0x6a, 0xcf, 0x04, 0x2d, 0xd7, 0x02, 0x09, 0xba, + 0x8f, 0x9c, 0x44, 0x6e, +}; +static const unsigned char kat4069_addinpr1[] = { + 0x3a, 0x87, 0x4d, 0x78, 0x53, 0x2c, 0x12, 0xca, 0xb6, 0xed, 0x14, 0x6f, + 0x18, 0x43, 0xf7, 0x9d, 0x2e, 0xbc, 0x6a, 0x6d, 0xe3, 0xbb, 0x5b, 0x62, + 0x3c, 0xec, 0x51, 0x1f, 0x20, 0xca, 0xb0, 0x5a, 0xe9, 0x9d, 0x45, 0xd3, + 0xd6, 0x75, 0x4f, 0x3b, +}; +static const unsigned char kat4069_entropyinpr2[] = { + 0xeb, 0xc1, 0x95, 0xda, 0xf0, 0xc2, 0x8d, 0xa0, 0xe7, 0x95, 0x1f, 0xea, + 0x51, 0x71, 0xc2, 0xe5, 0x67, 0x09, 0x97, 0x2f, 0x59, 0x9f, 0x0a, 0x58, + 0xcf, 0x85, 0x83, 0x71, 0x53, 0x48, 0xa1, 0x19, 0x0d, 0xf5, 0x45, 0x2e, + 0x64, 0x05, 0x46, 0x89, +}; +static const unsigned char kat4069_addinpr2[] = { + 0x55, 0xb0, 0x93, 0x0c, 0xc7, 0xfd, 0x93, 0xc2, 0x18, 0xa1, 0x7c, 0x46, + 0x35, 0xc0, 0x6c, 0x91, 0x80, 0xff, 0x04, 0x7e, 0x6a, 0x25, 0x6b, 0x9d, + 0x49, 0x7b, 0x98, 0xb9, 0xfe, 0xb0, 0x1a, 0x7a, 0x1d, 0x27, 0x56, 0x4b, + 0x40, 0x48, 0x07, 0xc9, +}; +static const unsigned char kat4069_retbits[] = { + 0x72, 0xe1, 0xa2, 0x84, 0x39, 0x05, 0xf4, 0x76, 0x5c, 0x67, 0x38, 0x66, + 0xf2, 0x46, 0x24, 0x86, 0x4a, 0xe1, 0xe5, 0x65, 0x3e, 0x93, 0x8e, 0x53, + 0x83, 0x24, 0xcd, 0x9f, 0x20, 0xf9, 0x5c, 0xf0, 0x3e, 0x6c, 0xf9, 0xfa, + 0x95, 0xee, 0xce, 0xf4, 0x97, 0xc0, 0xc6, 0x06, 0x42, 0x65, 0x55, 0x44, + 0x9b, 0x38, 0xda, 0x30, 0x36, 0x28, 0x6d, 0xe3, 0xeb, 0x73, 0xde, 0x1f, + 0xdf, 0x55, 0x84, 0x4a, +}; +static const struct drbg_kat_pr_true kat4069_t = { + 3, kat4069_entropyin, kat4069_nonce, kat4069_persstr, + kat4069_entropyinpr1, kat4069_addinpr1, kat4069_entropyinpr2, + kat4069_addinpr2, kat4069_retbits +}; +static const struct drbg_kat kat4069 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4069_t +}; + +static const unsigned char kat4070_entropyin[] = { + 0x15, 0x5e, 0xcb, 0x97, 0xc3, 0x63, 0x36, 0xbb, 0xa9, 0xc4, 0x52, 0x91, + 0x2c, 0xa2, 0xc0, 0xe9, 0xd9, 0x79, 0x62, 0xba, 0x1f, 0x95, 0x51, 0x95, + 0x6c, 0x1d, 0x2d, 0xa8, 0x10, 0xb9, 0xb5, 0x5e, 0x47, 0xdb, 0x08, 0x8e, + 0x12, 0xe5, 0x5e, 0xd5, +}; +static const unsigned char kat4070_nonce[] = {0}; +static const unsigned char kat4070_persstr[] = { + 0x1c, 0x20, 0x5b, 0x37, 0x15, 0x24, 0x2c, 0x28, 0x2a, 0x5f, 0x7d, 0x02, + 0x8c, 0xdd, 0xcb, 0x64, 0xba, 0xd1, 0x27, 0xe7, 0x2d, 0x91, 0x77, 0x04, + 0x79, 0x74, 0xa9, 0xef, 0xc8, 0xb2, 0xa3, 0x73, 0xf2, 0x9e, 0x74, 0x58, + 0x34, 0xab, 0xb7, 0x04, +}; +static const unsigned char kat4070_entropyinpr1[] = { + 0xc7, 0x5a, 0x95, 0x91, 0xac, 0xb4, 0x89, 0xdc, 0x50, 0x14, 0x65, 0xe5, + 0x03, 0x43, 0x1e, 0xc6, 0x74, 0xeb, 0x3a, 0x2e, 0x25, 0x74, 0x73, 0x02, + 0x8e, 0xf5, 0x76, 0xce, 0x11, 0x9f, 0x35, 0xb0, 0xbb, 0xf7, 0x24, 0x75, + 0x5a, 0xdb, 0x5b, 0x91, +}; +static const unsigned char kat4070_addinpr1[] = { + 0xc1, 0xa0, 0x4a, 0xbb, 0xfd, 0x0c, 0xd5, 0xdb, 0x8b, 0xce, 0x80, 0x42, + 0xe4, 0x17, 0x43, 0xcc, 0xe7, 0xed, 0x03, 0x04, 0x79, 0xd9, 0x15, 0xd0, + 0x5a, 0x77, 0x11, 0x1d, 0x85, 0xce, 0x20, 0x17, 0x57, 0x4d, 0x0d, 0xf2, + 0x63, 0x41, 0xd5, 0xf9, +}; +static const unsigned char kat4070_entropyinpr2[] = { + 0x3a, 0x21, 0xa3, 0xdf, 0x59, 0x42, 0xba, 0x9d, 0x1d, 0xe4, 0xc2, 0x90, + 0x8d, 0x6d, 0x50, 0xfd, 0x93, 0x8d, 0x5e, 0x48, 0xcd, 0xd3, 0x94, 0x8b, + 0xf1, 0x16, 0x5e, 0x53, 0x5d, 0xcc, 0x1d, 0x49, 0x20, 0x45, 0x31, 0x7a, + 0x09, 0x0f, 0x80, 0x62, +}; +static const unsigned char kat4070_addinpr2[] = { + 0x3a, 0x2f, 0xd6, 0x0e, 0x86, 0x87, 0xd0, 0xe4, 0xa8, 0x1f, 0x6f, 0x8f, + 0xb0, 0x49, 0xc0, 0x98, 0xe9, 0xcf, 0x37, 0x91, 0xac, 0x9f, 0xd3, 0x24, + 0x03, 0x20, 0xd7, 0xf5, 0x2c, 0xa7, 0x74, 0x60, 0xe9, 0x77, 0x39, 0x96, + 0xae, 0x95, 0xe0, 0xd8, +}; +static const unsigned char kat4070_retbits[] = { + 0x9c, 0x6c, 0x44, 0x4d, 0x70, 0x65, 0x8d, 0xc1, 0x8a, 0xee, 0xf9, 0x5c, + 0x67, 0xcc, 0x45, 0x77, 0xeb, 0x18, 0x8c, 0xe8, 0x2e, 0x03, 0x6d, 0x00, + 0x94, 0x85, 0x86, 0x39, 0x38, 0x1b, 0x54, 0x98, 0x4b, 0xcf, 0x03, 0x0f, + 0x60, 0xc1, 0x4d, 0xaa, 0xc6, 0x51, 0xf6, 0xaa, 0x3d, 0x37, 0xdf, 0x64, + 0xee, 0xeb, 0x1d, 0xb2, 0x6d, 0x00, 0x3d, 0x79, 0x4f, 0x3a, 0xf7, 0x97, + 0xeb, 0x38, 0xae, 0x80, +}; +static const struct drbg_kat_pr_true kat4070_t = { + 4, kat4070_entropyin, kat4070_nonce, kat4070_persstr, + kat4070_entropyinpr1, kat4070_addinpr1, kat4070_entropyinpr2, + kat4070_addinpr2, kat4070_retbits +}; +static const struct drbg_kat kat4070 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4070_t +}; + +static const unsigned char kat4071_entropyin[] = { + 0x00, 0xd9, 0x28, 0x23, 0x23, 0x97, 0x81, 0x7d, 0xa2, 0xf5, 0xe9, 0x64, + 0xb4, 0x3c, 0x3f, 0xa8, 0x67, 0x53, 0x0f, 0x0f, 0x49, 0xe7, 0x14, 0x4c, + 0x17, 0xdf, 0xb7, 0x42, 0x51, 0x29, 0x3e, 0x26, 0xbf, 0xf1, 0x33, 0x52, + 0xf3, 0x79, 0x72, 0x90, +}; +static const unsigned char kat4071_nonce[] = {0}; +static const unsigned char kat4071_persstr[] = { + 0xcb, 0xca, 0x17, 0x54, 0x5e, 0xc1, 0x50, 0x09, 0xc4, 0x06, 0x49, 0x76, + 0xeb, 0xf1, 0x5f, 0x0d, 0x8e, 0x6b, 0x3e, 0x30, 0x31, 0xec, 0xa0, 0x99, + 0xee, 0x19, 0xc8, 0x68, 0x52, 0xe1, 0x43, 0xc9, 0x5c, 0xe0, 0x76, 0x68, + 0x6a, 0x25, 0x8e, 0x52, +}; +static const unsigned char kat4071_entropyinpr1[] = { + 0x39, 0xe5, 0xb2, 0xd9, 0xc1, 0x5e, 0x84, 0xae, 0x8d, 0xa0, 0xf4, 0x4a, + 0xd2, 0x70, 0xa2, 0x99, 0x50, 0x1f, 0xe9, 0xb3, 0xcb, 0x85, 0x37, 0xcd, + 0x43, 0x33, 0x9f, 0x09, 0x4c, 0x21, 0x3c, 0x95, 0xa8, 0x49, 0x09, 0xda, + 0xa2, 0x48, 0xcc, 0xe0, +}; +static const unsigned char kat4071_addinpr1[] = { + 0x1c, 0x6b, 0x3f, 0x44, 0xab, 0xeb, 0x02, 0xe1, 0x5a, 0x3f, 0x70, 0xb4, + 0xf9, 0x17, 0x07, 0x1c, 0x18, 0x08, 0xee, 0xc0, 0x68, 0x71, 0x30, 0xba, + 0x33, 0xb5, 0xc8, 0x3b, 0xdd, 0xb2, 0x54, 0x92, 0x45, 0x12, 0x78, 0x92, + 0xa2, 0x48, 0xcb, 0x5d, +}; +static const unsigned char kat4071_entropyinpr2[] = { + 0x96, 0x6d, 0x2e, 0x8b, 0x2b, 0x60, 0x25, 0x5c, 0x26, 0x09, 0x09, 0x14, + 0xb7, 0xa0, 0x1c, 0x09, 0x63, 0x37, 0x43, 0xf9, 0x05, 0x57, 0xe0, 0xc0, + 0x65, 0x2a, 0xd7, 0x56, 0xd3, 0x72, 0x4c, 0xad, 0xfc, 0x21, 0xa4, 0xb2, + 0xc0, 0x14, 0xe7, 0xb7, +}; +static const unsigned char kat4071_addinpr2[] = { + 0x02, 0x09, 0x94, 0xf5, 0xd4, 0xad, 0x07, 0x73, 0x0b, 0xa1, 0x1d, 0x64, + 0xa5, 0x10, 0xe8, 0x3d, 0x45, 0x59, 0x43, 0x48, 0x9e, 0x20, 0x73, 0xeb, + 0xef, 0xaf, 0xf8, 0x74, 0x64, 0xd3, 0x6c, 0xb4, 0xbf, 0xd3, 0x5f, 0x15, + 0x7b, 0x31, 0xf3, 0x58, +}; +static const unsigned char kat4071_retbits[] = { + 0xe8, 0x49, 0xbb, 0x1e, 0x69, 0xc4, 0xa0, 0x3c, 0x0f, 0x08, 0xa0, 0x02, + 0xf1, 0x67, 0xf5, 0xb6, 0xe4, 0xa8, 0x8a, 0xf7, 0x40, 0xe1, 0x22, 0x43, + 0xd1, 0xdf, 0x1a, 0x84, 0xc9, 0x51, 0x6e, 0x4d, 0x15, 0xb2, 0xc0, 0x7f, + 0x50, 0xad, 0xa0, 0x8b, 0xba, 0x4e, 0xa3, 0x10, 0x15, 0x59, 0xaf, 0x6a, + 0x13, 0xbb, 0x9e, 0x70, 0xf7, 0x9d, 0x85, 0x2f, 0x78, 0x8c, 0x99, 0x4b, + 0xcc, 0x8c, 0x15, 0x4e, +}; +static const struct drbg_kat_pr_true kat4071_t = { + 5, kat4071_entropyin, kat4071_nonce, kat4071_persstr, + kat4071_entropyinpr1, kat4071_addinpr1, kat4071_entropyinpr2, + kat4071_addinpr2, kat4071_retbits +}; +static const struct drbg_kat kat4071 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4071_t +}; + +static const unsigned char kat4072_entropyin[] = { + 0x13, 0xf3, 0x7a, 0x88, 0x31, 0xb5, 0x5d, 0x35, 0x36, 0x8b, 0x0a, 0x76, + 0x9a, 0xce, 0xf9, 0x4f, 0x27, 0x4c, 0xd1, 0xbc, 0x07, 0xba, 0xde, 0x74, + 0x8d, 0xeb, 0xe2, 0xc2, 0xa3, 0x82, 0x2e, 0x76, 0x00, 0x51, 0x08, 0x71, + 0x4e, 0x97, 0x60, 0x4a, +}; +static const unsigned char kat4072_nonce[] = {0}; +static const unsigned char kat4072_persstr[] = { + 0xe2, 0x7e, 0x30, 0xdc, 0xbd, 0x56, 0xbf, 0xf1, 0x7a, 0xbf, 0x07, 0xe5, + 0xd5, 0x52, 0x8f, 0x62, 0x02, 0x32, 0xca, 0x19, 0x47, 0xe4, 0xe8, 0xf6, + 0x14, 0x8e, 0x68, 0xb7, 0x3f, 0x16, 0x00, 0xf7, 0x03, 0x87, 0x89, 0x49, + 0x2e, 0xdc, 0xaa, 0xb5, +}; +static const unsigned char kat4072_entropyinpr1[] = { + 0x8f, 0x78, 0x6d, 0x4c, 0xdf, 0x67, 0x94, 0x80, 0xea, 0x02, 0x7b, 0xe4, + 0xe7, 0x92, 0x20, 0x16, 0x97, 0xd2, 0x0f, 0x9f, 0xb6, 0x51, 0x08, 0xf5, + 0x07, 0x34, 0xf6, 0x43, 0x92, 0xf5, 0x3e, 0xd5, 0x3a, 0x05, 0x3e, 0xf7, + 0x9a, 0x99, 0x7b, 0x76, +}; +static const unsigned char kat4072_addinpr1[] = { + 0xd8, 0xcf, 0x78, 0x1b, 0x9b, 0xe6, 0x85, 0x55, 0x36, 0xef, 0x0c, 0x0e, + 0xfd, 0xca, 0x56, 0xff, 0x67, 0x20, 0x27, 0xb7, 0x8b, 0x12, 0xd0, 0x10, + 0x96, 0x33, 0xd5, 0xe1, 0x29, 0x69, 0xac, 0x29, 0x67, 0x81, 0x08, 0x83, + 0x5a, 0x86, 0x65, 0x7c, +}; +static const unsigned char kat4072_entropyinpr2[] = { + 0x67, 0x3f, 0xc6, 0x84, 0x5d, 0xda, 0x34, 0xc8, 0x2c, 0xa2, 0xb2, 0x64, + 0x91, 0xe8, 0x9f, 0xd8, 0xd1, 0x8e, 0xaf, 0x79, 0x05, 0x7d, 0x15, 0x11, + 0xb1, 0x89, 0xae, 0x87, 0x4e, 0x46, 0x61, 0x0d, 0x48, 0xf8, 0x23, 0x7c, + 0xf1, 0x11, 0xe1, 0x17, +}; +static const unsigned char kat4072_addinpr2[] = { + 0x54, 0x1e, 0x45, 0x96, 0x65, 0x65, 0xe9, 0x72, 0x6a, 0xa4, 0x39, 0xd4, + 0xe6, 0xe5, 0xeb, 0xf6, 0xc4, 0x41, 0xf7, 0xac, 0xf0, 0x86, 0x2d, 0x92, + 0xfd, 0x54, 0x3f, 0x3d, 0x9e, 0xda, 0xfa, 0x42, 0x89, 0x07, 0x40, 0xcd, + 0xc1, 0x32, 0xe3, 0x19, +}; +static const unsigned char kat4072_retbits[] = { + 0x56, 0x78, 0x77, 0xc2, 0xb3, 0x2d, 0x86, 0xde, 0xe0, 0x82, 0xee, 0xbb, + 0xcb, 0xc6, 0x44, 0xa5, 0xe7, 0xd4, 0x1f, 0x40, 0x14, 0xec, 0xc7, 0xab, + 0x8d, 0x6e, 0xeb, 0xe4, 0xb0, 0x51, 0xa1, 0xeb, 0x6f, 0x36, 0x77, 0x13, + 0xfb, 0xae, 0x21, 0x5e, 0x69, 0x57, 0x0b, 0xdd, 0xc2, 0x21, 0xa9, 0x68, + 0x33, 0xe2, 0xa0, 0x8f, 0x9c, 0x15, 0x0f, 0x47, 0x62, 0x2f, 0xe3, 0x79, + 0x0d, 0x3e, 0xec, 0xf4, +}; +static const struct drbg_kat_pr_true kat4072_t = { + 6, kat4072_entropyin, kat4072_nonce, kat4072_persstr, + kat4072_entropyinpr1, kat4072_addinpr1, kat4072_entropyinpr2, + kat4072_addinpr2, kat4072_retbits +}; +static const struct drbg_kat kat4072 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4072_t +}; + +static const unsigned char kat4073_entropyin[] = { + 0x9a, 0x9f, 0xc7, 0xfe, 0x4d, 0xc3, 0xf3, 0x49, 0xb0, 0x61, 0xfd, 0x1a, + 0xe4, 0x27, 0x36, 0x04, 0xb8, 0x48, 0xa0, 0xe6, 0x92, 0x45, 0xf5, 0x38, + 0x48, 0xba, 0x91, 0x1f, 0x34, 0x82, 0x87, 0x57, 0xb3, 0x53, 0x46, 0x52, + 0x24, 0x29, 0x8b, 0x5d, +}; +static const unsigned char kat4073_nonce[] = {0}; +static const unsigned char kat4073_persstr[] = { + 0x0f, 0xce, 0xae, 0x3c, 0xb4, 0x19, 0x28, 0x4b, 0x97, 0x21, 0x18, 0x10, + 0xad, 0x80, 0xe5, 0x22, 0x42, 0xc3, 0x79, 0xf4, 0x57, 0xf3, 0x65, 0xe3, + 0x92, 0x59, 0xc2, 0x8d, 0xa8, 0xaa, 0x2c, 0x5e, 0x63, 0x5f, 0x2b, 0x32, + 0xce, 0x15, 0xb3, 0x8b, +}; +static const unsigned char kat4073_entropyinpr1[] = { + 0xcb, 0xdd, 0xdc, 0x9d, 0xc3, 0x53, 0x13, 0x6f, 0xdb, 0x5d, 0x04, 0x4b, + 0xd1, 0x79, 0x0d, 0xca, 0x6b, 0x00, 0x03, 0x96, 0x57, 0x03, 0x1c, 0x75, + 0x9f, 0xc4, 0x08, 0xef, 0xf9, 0xcd, 0x9b, 0xfa, 0xe3, 0x6f, 0x3d, 0x6c, + 0xe6, 0x40, 0xc9, 0x78, +}; +static const unsigned char kat4073_addinpr1[] = { + 0x69, 0x4d, 0x13, 0xd1, 0x08, 0x43, 0xdf, 0xc9, 0xe7, 0x9f, 0x26, 0xbe, + 0x52, 0xdd, 0x6f, 0xe1, 0x44, 0xb5, 0x26, 0x0d, 0x2b, 0xef, 0x6b, 0x12, + 0x06, 0xac, 0xfe, 0x6a, 0xf2, 0xa4, 0x7e, 0x13, 0x45, 0x4d, 0x2b, 0xed, + 0x86, 0x47, 0x21, 0x93, +}; +static const unsigned char kat4073_entropyinpr2[] = { + 0x26, 0x31, 0x7f, 0x9a, 0x21, 0x4b, 0x98, 0xb0, 0xce, 0xc1, 0x20, 0x36, + 0xa0, 0xfd, 0x7b, 0x4e, 0x3b, 0x53, 0x1d, 0x9a, 0x68, 0x69, 0x38, 0x75, + 0x25, 0x22, 0x0a, 0x1f, 0xcc, 0x6f, 0x13, 0x11, 0x96, 0x03, 0x9f, 0x89, + 0x5b, 0xd5, 0xa1, 0x93, +}; +static const unsigned char kat4073_addinpr2[] = { + 0xe8, 0x1f, 0x7d, 0xb3, 0x4a, 0xff, 0xdf, 0x7e, 0xd5, 0x24, 0x86, 0x56, + 0x48, 0x78, 0xf0, 0x7f, 0xfc, 0x7a, 0x82, 0x69, 0x1c, 0x58, 0x82, 0xbf, + 0x60, 0x0d, 0xc8, 0xd6, 0x0c, 0xa5, 0xde, 0x8b, 0x35, 0xfb, 0x24, 0xe0, + 0x3b, 0xf1, 0xa4, 0xf6, +}; +static const unsigned char kat4073_retbits[] = { + 0x9f, 0xa5, 0x8c, 0x81, 0x25, 0x09, 0x68, 0xee, 0x7f, 0x9f, 0xc2, 0x46, + 0x8b, 0x95, 0x93, 0xc5, 0xba, 0xbe, 0xa0, 0xcf, 0x3d, 0x53, 0x78, 0x24, + 0xce, 0x35, 0x99, 0xf0, 0x38, 0x4a, 0xb8, 0xa0, 0x84, 0xe5, 0x90, 0x53, + 0xf7, 0xb7, 0x04, 0xa2, 0xa2, 0x29, 0xdf, 0x76, 0x2a, 0xf8, 0x60, 0x3d, + 0x71, 0x1c, 0x88, 0x45, 0x3d, 0x49, 0x39, 0xfa, 0x59, 0x3b, 0xa0, 0x2a, + 0xb1, 0xd1, 0xc6, 0xb5, +}; +static const struct drbg_kat_pr_true kat4073_t = { + 7, kat4073_entropyin, kat4073_nonce, kat4073_persstr, + kat4073_entropyinpr1, kat4073_addinpr1, kat4073_entropyinpr2, + kat4073_addinpr2, kat4073_retbits +}; +static const struct drbg_kat kat4073 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4073_t +}; + +static const unsigned char kat4074_entropyin[] = { + 0xad, 0xa9, 0xe3, 0xda, 0x09, 0xdc, 0x61, 0x62, 0x02, 0xb7, 0x22, 0x06, + 0xb0, 0x01, 0xdf, 0xcc, 0x36, 0x28, 0x31, 0x34, 0xb9, 0xa8, 0xd0, 0xc4, + 0x6f, 0xdd, 0xd8, 0xec, 0xa6, 0xb0, 0x3b, 0x89, 0x1c, 0x17, 0x88, 0x8c, + 0x8c, 0xa6, 0xa8, 0xf6, +}; +static const unsigned char kat4074_nonce[] = {0}; +static const unsigned char kat4074_persstr[] = { + 0xbc, 0x4e, 0xd9, 0xe6, 0xfd, 0xba, 0xae, 0x7b, 0xd3, 0x00, 0x08, 0x34, + 0x1f, 0x33, 0x86, 0x05, 0x59, 0x6c, 0x61, 0xb5, 0x75, 0x35, 0x24, 0xd1, + 0x24, 0xa9, 0x93, 0xef, 0x43, 0x9a, 0xd6, 0xc0, 0x25, 0x22, 0x61, 0x77, + 0x8f, 0x06, 0x6f, 0xec, +}; +static const unsigned char kat4074_entropyinpr1[] = { + 0x39, 0x2a, 0x55, 0xc8, 0x9f, 0x72, 0x13, 0x71, 0xfc, 0xfa, 0xc9, 0x37, + 0x89, 0x06, 0xab, 0x3b, 0x8e, 0x1f, 0xb6, 0x03, 0x81, 0x5f, 0xc9, 0x7a, + 0x05, 0xef, 0xfd, 0x00, 0xcb, 0xa9, 0xae, 0x30, 0x5c, 0x5e, 0x41, 0x95, + 0xaa, 0xe4, 0xbd, 0x7b, +}; +static const unsigned char kat4074_addinpr1[] = { + 0xdc, 0x99, 0xbc, 0x31, 0xa6, 0x91, 0x3d, 0x16, 0x83, 0x27, 0x0a, 0xd8, + 0x00, 0x40, 0xbd, 0xc4, 0x2f, 0xaf, 0xc9, 0x12, 0x1a, 0xf8, 0x7d, 0xad, + 0xb7, 0x9f, 0x3e, 0x01, 0xca, 0xfa, 0x99, 0x9a, 0xe8, 0x83, 0x59, 0xb2, + 0x98, 0x22, 0x4b, 0x0e, +}; +static const unsigned char kat4074_entropyinpr2[] = { + 0x1f, 0x0f, 0x90, 0xaf, 0x72, 0x77, 0xca, 0x5f, 0x28, 0x58, 0x61, 0xe3, + 0x4f, 0x8d, 0x0e, 0xd6, 0x18, 0x80, 0x97, 0x9e, 0xaf, 0xc2, 0x90, 0xbc, + 0xb0, 0xdc, 0xd1, 0x04, 0x90, 0x89, 0x61, 0xa2, 0x1a, 0x9a, 0x7a, 0xba, + 0x23, 0xfc, 0x68, 0x4c, +}; +static const unsigned char kat4074_addinpr2[] = { + 0xe0, 0x82, 0x8f, 0x36, 0x91, 0x46, 0x2a, 0xc1, 0x5b, 0x5f, 0xbd, 0x4f, + 0x8d, 0x8b, 0xc7, 0x26, 0xfc, 0x66, 0xd3, 0xa6, 0xa1, 0x4f, 0x5e, 0x11, + 0x89, 0xb9, 0x29, 0x39, 0x8f, 0x83, 0x54, 0xdf, 0x02, 0xd2, 0x85, 0xb2, + 0x12, 0x8c, 0xf9, 0x9c, +}; +static const unsigned char kat4074_retbits[] = { + 0x8c, 0x65, 0x39, 0x7b, 0xe8, 0xcb, 0xbe, 0xe6, 0xcb, 0x0f, 0x71, 0xfd, + 0x84, 0xb9, 0xf4, 0x41, 0x8b, 0x51, 0x5d, 0x62, 0xd1, 0x4d, 0x6c, 0x07, + 0xc8, 0x7b, 0xdf, 0x8c, 0xe9, 0x28, 0x7c, 0x7d, 0xb1, 0x05, 0x29, 0xb0, + 0x53, 0x08, 0xdd, 0x36, 0x69, 0x9f, 0x2f, 0xd0, 0x62, 0x47, 0xda, 0x53, + 0x99, 0xbe, 0x27, 0xb3, 0x39, 0xf5, 0xb9, 0x83, 0x6e, 0xeb, 0x00, 0x61, + 0x4c, 0x81, 0x47, 0xe7, +}; +static const struct drbg_kat_pr_true kat4074_t = { + 8, kat4074_entropyin, kat4074_nonce, kat4074_persstr, + kat4074_entropyinpr1, kat4074_addinpr1, kat4074_entropyinpr2, + kat4074_addinpr2, kat4074_retbits +}; +static const struct drbg_kat kat4074 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4074_t +}; + +static const unsigned char kat4075_entropyin[] = { + 0xa8, 0x3d, 0xcf, 0x16, 0xd5, 0xe2, 0xbd, 0xd9, 0x6d, 0x37, 0x7e, 0xb3, + 0x64, 0x7d, 0x79, 0xa7, 0xce, 0xc0, 0x14, 0x7c, 0xc9, 0x02, 0xc8, 0x2c, + 0xb9, 0x10, 0xce, 0x73, 0xae, 0xd2, 0x5e, 0xb0, 0xbb, 0x52, 0xd3, 0x3f, + 0xe4, 0x75, 0x65, 0xbe, +}; +static const unsigned char kat4075_nonce[] = {0}; +static const unsigned char kat4075_persstr[] = { + 0xe5, 0x0c, 0xf1, 0x0f, 0x58, 0xb9, 0x5e, 0xed, 0xec, 0x04, 0xec, 0xf5, + 0x7b, 0xa7, 0x5b, 0x45, 0x62, 0x47, 0x26, 0xdf, 0xce, 0xf1, 0x8b, 0xbc, + 0xbd, 0x34, 0x27, 0xa3, 0x5d, 0xc5, 0x44, 0xc5, 0xfa, 0x56, 0x8a, 0xf4, + 0x3c, 0x0a, 0x7a, 0x07, +}; +static const unsigned char kat4075_entropyinpr1[] = { + 0x84, 0x03, 0xb8, 0x09, 0x68, 0x02, 0xb3, 0x21, 0xa2, 0xe7, 0x3c, 0x40, + 0x49, 0x54, 0x51, 0x76, 0x99, 0xbf, 0xbc, 0xa7, 0x90, 0x7d, 0x8f, 0x6f, + 0x0a, 0x81, 0x34, 0x83, 0xc3, 0xcf, 0x60, 0x1a, 0x8b, 0x3d, 0x2a, 0x80, + 0xb9, 0x4b, 0xea, 0x85, +}; +static const unsigned char kat4075_addinpr1[] = { + 0x34, 0x15, 0x69, 0x9a, 0x33, 0xae, 0x55, 0x8f, 0x86, 0x5c, 0x7b, 0x0a, + 0x50, 0xdb, 0x7e, 0x07, 0x68, 0xdf, 0x80, 0x36, 0xbb, 0x78, 0x68, 0x95, + 0xe7, 0x48, 0xfa, 0xa1, 0xcc, 0xc6, 0x45, 0x87, 0x34, 0x48, 0x1e, 0x20, + 0x55, 0xd5, 0x73, 0xc1, +}; +static const unsigned char kat4075_entropyinpr2[] = { + 0x85, 0xc2, 0x60, 0x55, 0xf6, 0x16, 0x15, 0xf8, 0x28, 0x53, 0xc9, 0x26, + 0x14, 0xa4, 0x46, 0x5c, 0x8f, 0xe3, 0x60, 0x1e, 0x7b, 0xee, 0xa3, 0xd0, + 0x18, 0xf9, 0xd9, 0xaa, 0x03, 0x01, 0x4b, 0x96, 0x42, 0xff, 0x86, 0x35, + 0xdf, 0x3f, 0x8e, 0xc4, +}; +static const unsigned char kat4075_addinpr2[] = { + 0xa8, 0xd8, 0xff, 0x08, 0x17, 0xc1, 0xe8, 0x2f, 0xfe, 0x8a, 0x59, 0xb6, + 0xb6, 0xe7, 0x8c, 0xeb, 0xb1, 0x96, 0xf6, 0x6c, 0x6a, 0x3e, 0x7b, 0xf8, + 0x9a, 0x9b, 0xf6, 0xaa, 0xdb, 0x77, 0x73, 0xa7, 0x84, 0x7d, 0x1d, 0x0c, + 0xc1, 0x61, 0xc0, 0xa4, +}; +static const unsigned char kat4075_retbits[] = { + 0xf7, 0x44, 0x46, 0x78, 0xb7, 0x89, 0x59, 0xd2, 0x1b, 0x7c, 0xa9, 0xf0, + 0xc3, 0x12, 0x8a, 0xfa, 0x16, 0xee, 0x53, 0x24, 0xd6, 0x0e, 0xa4, 0xd7, + 0x60, 0x75, 0xdd, 0x3a, 0x53, 0xd2, 0x69, 0x11, 0x47, 0x65, 0x0c, 0x51, + 0xdd, 0xda, 0x5f, 0x28, 0xb6, 0x33, 0x57, 0x2c, 0xfa, 0x92, 0xeb, 0x1a, + 0xea, 0x00, 0x1e, 0xc5, 0xa1, 0xf5, 0x74, 0x47, 0xb5, 0x06, 0x30, 0xa5, + 0xe5, 0x5f, 0xba, 0x27, +}; +static const struct drbg_kat_pr_true kat4075_t = { + 9, kat4075_entropyin, kat4075_nonce, kat4075_persstr, + kat4075_entropyinpr1, kat4075_addinpr1, kat4075_entropyinpr2, + kat4075_addinpr2, kat4075_retbits +}; +static const struct drbg_kat kat4075 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4075_t +}; + +static const unsigned char kat4076_entropyin[] = { + 0x60, 0x5a, 0xec, 0x5b, 0x81, 0x73, 0x68, 0xac, 0xc9, 0x13, 0x95, 0x4e, + 0x10, 0x64, 0xcf, 0x6e, 0x30, 0x39, 0x7d, 0x8e, 0xc4, 0x23, 0x87, 0xbf, + 0x5a, 0x15, 0x52, 0xab, 0x93, 0x8b, 0x7f, 0xf2, 0x14, 0x83, 0x0b, 0xcc, + 0xbb, 0xe6, 0xde, 0xbe, +}; +static const unsigned char kat4076_nonce[] = {0}; +static const unsigned char kat4076_persstr[] = { + 0xbe, 0x58, 0x13, 0xb8, 0xd6, 0x16, 0x3a, 0x72, 0xc2, 0x7a, 0x19, 0x43, + 0x18, 0xb1, 0x50, 0x41, 0x12, 0x65, 0x1b, 0x22, 0x74, 0x92, 0xc4, 0x3d, + 0xe6, 0x64, 0xf5, 0x5f, 0x7b, 0x4e, 0x9b, 0x98, 0x19, 0xf4, 0xc9, 0x39, + 0xe7, 0xfe, 0xc6, 0x05, +}; +static const unsigned char kat4076_entropyinpr1[] = { + 0x2c, 0xa2, 0x24, 0x7e, 0xbf, 0x00, 0x36, 0x2e, 0xf0, 0xfb, 0xda, 0x4c, + 0xde, 0x84, 0x06, 0x75, 0xde, 0xf3, 0x8b, 0x87, 0xe0, 0x3d, 0x10, 0x7d, + 0xa6, 0x46, 0x3f, 0x5d, 0x32, 0x83, 0x8c, 0xb6, 0x75, 0xf9, 0xc4, 0xdc, + 0x45, 0x7d, 0x8e, 0x22, +}; +static const unsigned char kat4076_addinpr1[] = { + 0x0f, 0x2b, 0x2f, 0xe8, 0x84, 0x08, 0x40, 0x7b, 0xa7, 0x07, 0xa0, 0x21, + 0x3f, 0xbe, 0xd7, 0xf8, 0xa5, 0xa7, 0x22, 0xa5, 0xe7, 0x4d, 0xe2, 0xcf, + 0xb3, 0xd6, 0x3b, 0xf5, 0x8f, 0xbe, 0xd7, 0xb1, 0xec, 0xee, 0xdf, 0x90, + 0xb9, 0xd2, 0xab, 0x4a, +}; +static const unsigned char kat4076_entropyinpr2[] = { + 0x68, 0x11, 0xe9, 0x58, 0x4b, 0x3b, 0xd8, 0x7f, 0x74, 0x73, 0x73, 0x3e, + 0x3d, 0x4f, 0xb4, 0x90, 0x5c, 0x4a, 0xff, 0xa9, 0x72, 0x2b, 0x21, 0x29, + 0x3f, 0x30, 0x55, 0xeb, 0x56, 0x61, 0x3a, 0xab, 0x99, 0x59, 0x07, 0x1c, + 0x15, 0x94, 0xf8, 0xe3, +}; +static const unsigned char kat4076_addinpr2[] = { + 0xc6, 0xf7, 0x35, 0xb5, 0x3b, 0x59, 0x24, 0x00, 0x1b, 0x36, 0xf1, 0x1c, + 0xe5, 0x5e, 0xa0, 0xbc, 0xac, 0xf7, 0x86, 0xdf, 0x73, 0x91, 0x1f, 0xa5, + 0x1b, 0x7c, 0xe1, 0xe6, 0x1d, 0x20, 0x7f, 0x3f, 0xb5, 0x11, 0x28, 0x5a, + 0xb0, 0x8d, 0x45, 0xf0, +}; +static const unsigned char kat4076_retbits[] = { + 0xda, 0x90, 0x6d, 0x45, 0x74, 0x1c, 0x66, 0xf7, 0xd1, 0xb9, 0x37, 0xb6, + 0x02, 0x31, 0x92, 0xdb, 0x35, 0x28, 0x58, 0x1e, 0xbf, 0x3b, 0xbf, 0x02, + 0x08, 0x28, 0x0b, 0xdb, 0x97, 0xe0, 0x1e, 0xf2, 0x62, 0xb7, 0xf2, 0x6d, + 0x2c, 0xc5, 0x4c, 0x87, 0x3f, 0x4e, 0x07, 0x92, 0x74, 0x5f, 0x2d, 0xe7, + 0xbc, 0xaa, 0x8e, 0x72, 0x1b, 0x85, 0x7b, 0x82, 0xce, 0xf8, 0x98, 0xa4, + 0x9d, 0x57, 0x0f, 0x34, +}; +static const struct drbg_kat_pr_true kat4076_t = { + 10, kat4076_entropyin, kat4076_nonce, kat4076_persstr, + kat4076_entropyinpr1, kat4076_addinpr1, kat4076_entropyinpr2, + kat4076_addinpr2, kat4076_retbits +}; +static const struct drbg_kat kat4076 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4076_t +}; + +static const unsigned char kat4077_entropyin[] = { + 0xf6, 0xb1, 0x75, 0x3e, 0xbf, 0x0c, 0x6f, 0x31, 0x08, 0xf1, 0xc5, 0x0c, + 0x3d, 0x92, 0x34, 0xdc, 0xd0, 0xab, 0x65, 0xc6, 0x7a, 0x94, 0xb6, 0x20, + 0x00, 0x40, 0xa0, 0x95, 0x47, 0xdb, 0xe5, 0x6a, 0x36, 0xdf, 0x30, 0x21, + 0x81, 0x37, 0xd1, 0x78, +}; +static const unsigned char kat4077_nonce[] = {0}; +static const unsigned char kat4077_persstr[] = { + 0xff, 0xb0, 0xbf, 0x5a, 0x33, 0x65, 0x3e, 0x1f, 0x57, 0x37, 0xe3, 0x3e, + 0x05, 0x7b, 0x77, 0x35, 0xe7, 0xd9, 0x6e, 0x55, 0x48, 0x88, 0xc9, 0x95, + 0xdb, 0x80, 0x9e, 0xbd, 0x4b, 0xd9, 0xd6, 0x36, 0x6d, 0x30, 0xbd, 0xc5, + 0xdd, 0x27, 0xba, 0x61, +}; +static const unsigned char kat4077_entropyinpr1[] = { + 0x69, 0xdd, 0x3e, 0xdd, 0x04, 0x1e, 0x53, 0xfd, 0xf1, 0x95, 0x4c, 0xec, + 0x90, 0xbd, 0x3f, 0xe3, 0xc1, 0xe5, 0xe7, 0x87, 0x85, 0x86, 0x98, 0x95, + 0xc7, 0x14, 0x47, 0x5b, 0x79, 0xe9, 0x6e, 0xbe, 0x47, 0x16, 0x8f, 0x58, + 0xbc, 0xfd, 0xfd, 0x8a, +}; +static const unsigned char kat4077_addinpr1[] = { + 0x76, 0x9e, 0x3d, 0x97, 0xec, 0xac, 0x94, 0x32, 0x40, 0xe7, 0xb2, 0xc7, + 0x3f, 0x95, 0x7e, 0xfd, 0xfd, 0x43, 0xd8, 0x7c, 0xa3, 0xe8, 0x3c, 0xca, + 0x93, 0xf9, 0x24, 0x23, 0x8b, 0x25, 0xf4, 0x9e, 0xf5, 0x05, 0x95, 0xae, + 0xe9, 0x2f, 0x12, 0x51, +}; +static const unsigned char kat4077_entropyinpr2[] = { + 0xe0, 0xe5, 0xd2, 0x33, 0x04, 0x02, 0x4b, 0x77, 0xb0, 0xb0, 0x9e, 0x06, + 0xe9, 0x61, 0x29, 0xda, 0xc8, 0xd0, 0x42, 0xd7, 0x6c, 0x68, 0xa1, 0xc3, + 0x5b, 0x19, 0x74, 0xb0, 0x3e, 0xd2, 0x4a, 0x86, 0xe4, 0x03, 0x0f, 0x85, + 0xa4, 0x4a, 0x02, 0xa1, +}; +static const unsigned char kat4077_addinpr2[] = { + 0x65, 0x25, 0xce, 0x04, 0xe0, 0x7c, 0xe0, 0xbc, 0x46, 0xe4, 0xbe, 0xa6, + 0xa3, 0x59, 0x6e, 0xbc, 0xf5, 0x34, 0x84, 0xe2, 0x18, 0x6d, 0x44, 0x59, + 0xd9, 0x20, 0xbb, 0xcd, 0x02, 0x76, 0x17, 0xb4, 0x2a, 0x0d, 0x15, 0xe4, + 0x96, 0x74, 0xb1, 0xc3, +}; +static const unsigned char kat4077_retbits[] = { + 0x00, 0x73, 0xa5, 0xcb, 0x00, 0xdd, 0x91, 0x2c, 0x25, 0x1a, 0x92, 0xcd, + 0x22, 0x5e, 0x29, 0xcf, 0x43, 0xaa, 0xb6, 0x90, 0x3a, 0xa9, 0xb7, 0x35, + 0x1f, 0xc6, 0x04, 0x7e, 0x22, 0xba, 0x90, 0x66, 0x53, 0x61, 0x16, 0xcd, + 0x84, 0xc7, 0xf0, 0x1b, 0x3f, 0xfd, 0xb7, 0x61, 0x20, 0x33, 0x50, 0x8f, + 0xaf, 0xbe, 0x46, 0xf0, 0xe2, 0x11, 0x7e, 0x0d, 0xaa, 0x8c, 0xc2, 0x5a, + 0x92, 0x6e, 0x5d, 0x12, +}; +static const struct drbg_kat_pr_true kat4077_t = { + 11, kat4077_entropyin, kat4077_nonce, kat4077_persstr, + kat4077_entropyinpr1, kat4077_addinpr1, kat4077_entropyinpr2, + kat4077_addinpr2, kat4077_retbits +}; +static const struct drbg_kat kat4077 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4077_t +}; + +static const unsigned char kat4078_entropyin[] = { + 0x8e, 0xb1, 0x5b, 0xeb, 0xb1, 0x6f, 0x8b, 0xea, 0x5b, 0x1c, 0xdf, 0xce, + 0x91, 0x6e, 0xbf, 0x8d, 0x77, 0xa1, 0x3e, 0xd6, 0x10, 0xaa, 0x35, 0x71, + 0x50, 0x25, 0xeb, 0x06, 0xa8, 0x6b, 0xf6, 0xbf, 0x84, 0x57, 0xdb, 0x8b, + 0xd1, 0xf4, 0x49, 0x9f, +}; +static const unsigned char kat4078_nonce[] = {0}; +static const unsigned char kat4078_persstr[] = { + 0x91, 0x19, 0x2a, 0x28, 0x38, 0x96, 0x7a, 0x29, 0x37, 0xf9, 0xc0, 0x38, + 0xaf, 0xa2, 0xb8, 0x4c, 0x91, 0x53, 0x8a, 0xad, 0x1c, 0x68, 0x45, 0x84, + 0x4d, 0x66, 0x56, 0x87, 0xa2, 0x7d, 0x6c, 0x5f, 0xe9, 0xa6, 0xdf, 0x1e, + 0x4e, 0xeb, 0x15, 0xec, +}; +static const unsigned char kat4078_entropyinpr1[] = { + 0x92, 0x53, 0xf0, 0x67, 0x07, 0xbe, 0x0e, 0x84, 0xa4, 0x23, 0xdb, 0x4d, + 0x61, 0x6e, 0x0d, 0x39, 0xbc, 0x43, 0x28, 0x2e, 0x00, 0xbe, 0x8f, 0xf1, + 0x17, 0xc0, 0x15, 0x37, 0x03, 0x46, 0x05, 0xb3, 0x92, 0x0a, 0x3a, 0xd7, + 0x54, 0x50, 0x6a, 0xf2, +}; +static const unsigned char kat4078_addinpr1[] = { + 0x07, 0xef, 0xf7, 0x03, 0x60, 0x71, 0x03, 0x5c, 0x37, 0x9b, 0xd4, 0x93, + 0xeb, 0xe5, 0xfa, 0xb9, 0x51, 0x60, 0x0d, 0x7f, 0x1d, 0xad, 0xae, 0x40, + 0x7f, 0xde, 0x79, 0x4f, 0xd4, 0x79, 0xab, 0x23, 0xd2, 0x46, 0xf1, 0xe6, + 0x3a, 0xce, 0x10, 0x4a, +}; +static const unsigned char kat4078_entropyinpr2[] = { + 0x00, 0x4b, 0xa6, 0x3d, 0xe3, 0x23, 0x8a, 0xfd, 0xf4, 0x86, 0x91, 0x5a, + 0x60, 0x7d, 0x07, 0xc5, 0xdd, 0xef, 0x12, 0x1c, 0x16, 0xa8, 0x64, 0x02, + 0x9e, 0xc6, 0x35, 0x9a, 0x98, 0xfe, 0xa4, 0xf2, 0xca, 0x9e, 0xcf, 0x2c, + 0x08, 0x4b, 0xe0, 0x77, +}; +static const unsigned char kat4078_addinpr2[] = { + 0x5a, 0x19, 0x7a, 0x6e, 0xb0, 0x6a, 0x1d, 0xc4, 0xa1, 0xfe, 0xcf, 0xbf, + 0x9c, 0x7c, 0x10, 0xe1, 0x79, 0xea, 0xc2, 0x24, 0xea, 0xb0, 0x18, 0x22, + 0xba, 0x1d, 0x9d, 0xbf, 0x98, 0x11, 0x14, 0xb2, 0x6c, 0xc0, 0x28, 0xb5, + 0x75, 0xf6, 0x07, 0x89, +}; +static const unsigned char kat4078_retbits[] = { + 0x00, 0xd8, 0xe2, 0x51, 0x59, 0xd8, 0xc2, 0x49, 0xef, 0xca, 0x64, 0x6e, + 0xf9, 0x75, 0x1c, 0x71, 0xfe, 0x55, 0x70, 0x37, 0x44, 0x5b, 0xdf, 0xf8, + 0xed, 0xbf, 0xb4, 0x69, 0x38, 0xac, 0x75, 0xba, 0x55, 0x41, 0x91, 0x80, + 0x67, 0x91, 0xad, 0xab, 0xb2, 0x50, 0xed, 0x05, 0xa6, 0xec, 0x83, 0x3f, + 0xcb, 0x00, 0x81, 0x97, 0x8a, 0x03, 0x40, 0xac, 0x76, 0x8c, 0xfa, 0x47, + 0xfe, 0x64, 0x0b, 0x9e, +}; +static const struct drbg_kat_pr_true kat4078_t = { + 12, kat4078_entropyin, kat4078_nonce, kat4078_persstr, + kat4078_entropyinpr1, kat4078_addinpr1, kat4078_entropyinpr2, + kat4078_addinpr2, kat4078_retbits +}; +static const struct drbg_kat kat4078 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4078_t +}; + +static const unsigned char kat4079_entropyin[] = { + 0x38, 0x46, 0x40, 0xcd, 0xd5, 0x65, 0xee, 0xcd, 0xf0, 0x5c, 0xba, 0xc4, + 0x02, 0x1c, 0x93, 0xe9, 0xc5, 0x60, 0x7c, 0x36, 0xc7, 0x61, 0xe3, 0x46, + 0x9d, 0x94, 0x64, 0xa9, 0x87, 0x53, 0x37, 0xd3, 0x25, 0x38, 0x9f, 0xa6, + 0x67, 0xe7, 0x8e, 0x56, +}; +static const unsigned char kat4079_nonce[] = {0}; +static const unsigned char kat4079_persstr[] = { + 0x3b, 0x18, 0x88, 0x2c, 0x08, 0x7d, 0x04, 0x04, 0x69, 0x0b, 0x7f, 0x15, + 0xc4, 0xfa, 0xaf, 0x4c, 0x22, 0x7e, 0x62, 0x11, 0x7b, 0x2e, 0xda, 0x5d, + 0xc8, 0x4d, 0xbb, 0xc2, 0x89, 0x68, 0xad, 0x77, 0xb6, 0x93, 0x98, 0xb9, + 0x25, 0x67, 0xea, 0x0a, +}; +static const unsigned char kat4079_entropyinpr1[] = { + 0x38, 0x3e, 0x05, 0x72, 0x32, 0x42, 0xe7, 0x2e, 0x65, 0x70, 0x99, 0x6e, + 0x84, 0x38, 0xb8, 0xec, 0x2e, 0x2b, 0xde, 0x85, 0xef, 0x9f, 0x2c, 0x46, + 0x29, 0xee, 0x81, 0x41, 0x09, 0x2e, 0xbb, 0x4b, 0xee, 0x0b, 0x5d, 0xfb, + 0x17, 0x63, 0xc0, 0x85, +}; +static const unsigned char kat4079_addinpr1[] = { + 0xcd, 0x9d, 0x0d, 0xeb, 0x5f, 0x11, 0x69, 0x46, 0x8b, 0x38, 0xce, 0xea, + 0x01, 0xa5, 0xef, 0xc9, 0x6f, 0x60, 0xa5, 0xe9, 0x29, 0xbd, 0x97, 0x1e, + 0x98, 0x13, 0x1c, 0xeb, 0xa3, 0x78, 0x3d, 0xa6, 0xd8, 0xf2, 0xf2, 0xfe, + 0x7a, 0x52, 0xd3, 0xe0, +}; +static const unsigned char kat4079_entropyinpr2[] = { + 0xb6, 0x0d, 0xc8, 0xd9, 0xd0, 0x54, 0x76, 0xad, 0xde, 0xae, 0x80, 0xcc, + 0xad, 0x1b, 0x2a, 0xf1, 0x0d, 0x92, 0xbe, 0xd1, 0x5b, 0xd8, 0xe9, 0x92, + 0x7a, 0x7f, 0x5b, 0x5d, 0x12, 0x5e, 0x0e, 0x7e, 0x9b, 0x68, 0x78, 0x18, + 0x42, 0xe5, 0x07, 0x1f, +}; +static const unsigned char kat4079_addinpr2[] = { + 0x09, 0x14, 0x24, 0x74, 0x9b, 0xb2, 0x11, 0xbe, 0x80, 0xeb, 0x59, 0x3e, + 0x43, 0x22, 0xde, 0xd4, 0x64, 0x52, 0x5b, 0x31, 0x96, 0xe7, 0xd7, 0xbe, + 0x40, 0xf4, 0x35, 0xe7, 0x37, 0x4e, 0x8f, 0xac, 0x36, 0xf5, 0x7e, 0x1c, + 0x4a, 0xc9, 0x0d, 0x66, +}; +static const unsigned char kat4079_retbits[] = { + 0x53, 0x2e, 0x6c, 0x92, 0x19, 0x2b, 0xd5, 0xed, 0x33, 0xfe, 0x8f, 0x7d, + 0xa9, 0x70, 0x5f, 0x86, 0xee, 0x8e, 0x0c, 0xd3, 0x90, 0xc4, 0x02, 0x6d, + 0x7e, 0x7c, 0x31, 0x46, 0x54, 0xb2, 0xdd, 0x86, 0xa6, 0x83, 0xb5, 0x13, + 0xb0, 0x7d, 0x43, 0x4a, 0x28, 0x99, 0x51, 0x38, 0x4b, 0xeb, 0x34, 0xb7, + 0xe4, 0x43, 0xc7, 0x98, 0xe9, 0x1c, 0xc6, 0x3c, 0xf2, 0x3d, 0x9f, 0xea, + 0xe2, 0xcc, 0xbc, 0x76, +}; +static const struct drbg_kat_pr_true kat4079_t = { + 13, kat4079_entropyin, kat4079_nonce, kat4079_persstr, + kat4079_entropyinpr1, kat4079_addinpr1, kat4079_entropyinpr2, + kat4079_addinpr2, kat4079_retbits +}; +static const struct drbg_kat kat4079 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4079_t +}; + +static const unsigned char kat4080_entropyin[] = { + 0xd9, 0x3c, 0x42, 0x42, 0xea, 0x93, 0x72, 0x28, 0x5a, 0xed, 0x47, 0xba, + 0x4b, 0xfb, 0xb4, 0x30, 0xec, 0x4a, 0x4d, 0xa2, 0x3b, 0x62, 0xf7, 0x7b, + 0x5a, 0x0c, 0x99, 0xac, 0xc3, 0x38, 0xbf, 0x17, 0xf5, 0x9d, 0xaa, 0x32, + 0x11, 0x8f, 0x89, 0x20, +}; +static const unsigned char kat4080_nonce[] = {0}; +static const unsigned char kat4080_persstr[] = { + 0x90, 0x66, 0x00, 0x0c, 0x46, 0x3f, 0x8f, 0x41, 0xde, 0xa0, 0x14, 0x9c, + 0x11, 0xd9, 0x77, 0x24, 0x32, 0x77, 0x3f, 0x78, 0xfe, 0x67, 0xaa, 0xa8, + 0x64, 0xba, 0xf7, 0xe8, 0xe2, 0x06, 0xe8, 0x0d, 0x01, 0x3a, 0xb9, 0x6e, + 0x05, 0x5e, 0xe2, 0xe9, +}; +static const unsigned char kat4080_entropyinpr1[] = { + 0xad, 0xe5, 0x16, 0xa9, 0x45, 0xef, 0xe1, 0x10, 0x1c, 0xf0, 0x98, 0x50, + 0x5f, 0x6c, 0x43, 0x65, 0x9e, 0xfc, 0xff, 0x09, 0xb5, 0x01, 0xc5, 0x9c, + 0x65, 0x6e, 0x83, 0xa6, 0x2f, 0xc8, 0xa4, 0xd0, 0x77, 0xb3, 0x4d, 0xfa, + 0x80, 0xee, 0xe1, 0xe7, +}; +static const unsigned char kat4080_addinpr1[] = { + 0xa3, 0xf3, 0xd5, 0xc2, 0xfc, 0x0e, 0x46, 0x64, 0x5b, 0xc5, 0xc7, 0xd5, + 0x34, 0x01, 0x98, 0x3d, 0xa8, 0xc2, 0x9e, 0x6b, 0xf2, 0x05, 0xf6, 0x5b, + 0x1a, 0xd9, 0x32, 0x14, 0x62, 0x25, 0x04, 0x1a, 0xfc, 0x89, 0xa9, 0xe6, + 0x1c, 0x25, 0x1e, 0x6a, +}; +static const unsigned char kat4080_entropyinpr2[] = { + 0x14, 0x06, 0x36, 0x34, 0x2e, 0x9e, 0xbb, 0x2b, 0xae, 0x8a, 0x87, 0xb5, + 0xd8, 0x19, 0x3a, 0x59, 0xb7, 0x5b, 0x12, 0x31, 0x8e, 0x70, 0x94, 0x97, + 0x5b, 0xed, 0x5c, 0xe2, 0xd2, 0x3a, 0x58, 0xb4, 0xa0, 0x21, 0x49, 0x6e, + 0x82, 0x0a, 0x1b, 0x35, +}; +static const unsigned char kat4080_addinpr2[] = { + 0x3d, 0xc3, 0xef, 0x94, 0x47, 0xff, 0xdd, 0xf6, 0x4c, 0x3c, 0xa0, 0x56, + 0x9a, 0xfc, 0xf8, 0xe5, 0xd4, 0x91, 0xa9, 0x57, 0x1b, 0x9a, 0x1f, 0xa2, + 0x51, 0xe0, 0x68, 0x4d, 0x3a, 0x5e, 0xb2, 0xdb, 0xde, 0x82, 0xbd, 0xd0, + 0xf8, 0xda, 0xbb, 0x8b, +}; +static const unsigned char kat4080_retbits[] = { + 0xb7, 0x2e, 0x48, 0x69, 0x84, 0xd1, 0x27, 0x3f, 0xa7, 0x86, 0x5a, 0x2a, + 0x43, 0xa8, 0x30, 0xb6, 0x25, 0xe3, 0x94, 0xcc, 0xcf, 0x16, 0x96, 0x10, + 0xad, 0x27, 0x14, 0xb5, 0xb6, 0x4e, 0xf6, 0x47, 0x3f, 0x53, 0xe6, 0x2a, + 0xaf, 0xfc, 0x85, 0xbf, 0xa2, 0xb1, 0x55, 0xbf, 0x81, 0x83, 0x0a, 0xbf, + 0xc5, 0x28, 0xa8, 0x0c, 0x17, 0xf2, 0xe3, 0x25, 0xbb, 0x7a, 0xc9, 0x19, + 0x7e, 0x5a, 0x10, 0x99, +}; +static const struct drbg_kat_pr_true kat4080_t = { + 14, kat4080_entropyin, kat4080_nonce, kat4080_persstr, + kat4080_entropyinpr1, kat4080_addinpr1, kat4080_entropyinpr2, + kat4080_addinpr2, kat4080_retbits +}; +static const struct drbg_kat kat4080 = { + PR_TRUE, NO_DF, NID_aes_192_ctr, 40, 0, 40, 40, 64, &kat4080_t +}; + +static const unsigned char kat4081_entropyin[] = { + 0xfa, 0xf3, 0x46, 0xc9, 0xc8, 0xaf, 0xbc, 0x5a, 0xb6, 0xe3, 0x3c, 0xe4, + 0x92, 0x24, 0x7f, 0xac, 0x6d, 0xb9, 0xa7, 0xba, 0x42, 0x97, 0x55, 0x7f, + 0x58, 0x7a, 0x42, 0x56, 0x3d, 0xdf, 0x56, 0xc9, 0x0e, 0x41, 0xc6, 0xaf, + 0xb5, 0x62, 0x33, 0x81, 0x5b, 0x74, 0xe0, 0x91, 0xba, 0xc7, 0xd8, 0xe5, +}; +static const unsigned char kat4081_nonce[] = {0}; +static const unsigned char kat4081_persstr[] = {0}; +static const unsigned char kat4081_entropyinpr1[] = { + 0xdf, 0xc1, 0x11, 0x25, 0x2d, 0x71, 0x46, 0x92, 0x27, 0x13, 0x72, 0x0a, + 0xe1, 0xe3, 0x48, 0xa0, 0x7a, 0xe4, 0x03, 0xb5, 0x23, 0x8f, 0xef, 0xb4, + 0xe8, 0x59, 0x2f, 0x6f, 0x6c, 0xc4, 0xa6, 0x1c, 0x94, 0x82, 0x8d, 0xb8, + 0x4c, 0x6f, 0xae, 0xcd, 0x15, 0x02, 0x26, 0x10, 0x08, 0x01, 0x1f, 0x2c, +}; +static const unsigned char kat4081_addinpr1[] = {0}; +static const unsigned char kat4081_entropyinpr2[] = { + 0x45, 0x28, 0xba, 0xc5, 0xb9, 0x9c, 0x77, 0x23, 0x47, 0xd4, 0x4f, 0x4e, + 0xce, 0x79, 0xbc, 0x81, 0x1c, 0xa8, 0xeb, 0xea, 0x94, 0x83, 0xfa, 0x5f, + 0x50, 0x40, 0xc0, 0x2f, 0x77, 0x06, 0x9d, 0xad, 0x1a, 0xec, 0x7a, 0xda, + 0xa8, 0xa9, 0xa6, 0xa9, 0xdd, 0xab, 0xab, 0x04, 0x5d, 0x32, 0x8a, 0x90, +}; +static const unsigned char kat4081_addinpr2[] = {0}; +static const unsigned char kat4081_retbits[] = { + 0xbc, 0x01, 0x3d, 0xc8, 0x91, 0xdb, 0x12, 0xc3, 0x4a, 0xd1, 0x19, 0x44, + 0x80, 0x5b, 0xf1, 0x3d, 0xfd, 0x67, 0xff, 0x2c, 0x23, 0x17, 0x6d, 0x83, + 0xf5, 0xb3, 0x96, 0xb6, 0x9e, 0x40, 0x00, 0x42, 0x25, 0x2e, 0x11, 0x81, + 0x6c, 0x30, 0x95, 0x42, 0x11, 0x37, 0x18, 0x1a, 0x5d, 0x0e, 0xe3, 0x7c, + 0x83, 0xa3, 0x39, 0xc5, 0x8d, 0x08, 0x09, 0x46, 0xca, 0x90, 0xaa, 0x43, + 0x7d, 0x50, 0xd9, 0xcf, +}; +static const struct drbg_kat_pr_true kat4081_t = { + 0, kat4081_entropyin, kat4081_nonce, kat4081_persstr, + kat4081_entropyinpr1, kat4081_addinpr1, kat4081_entropyinpr2, + kat4081_addinpr2, kat4081_retbits +}; +static const struct drbg_kat kat4081 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4081_t +}; + +static const unsigned char kat4082_entropyin[] = { + 0xe5, 0xd1, 0x5d, 0x66, 0x1c, 0xc3, 0xa5, 0xa7, 0xfb, 0x15, 0xf9, 0x40, + 0x55, 0x44, 0x61, 0xa7, 0xc1, 0xb8, 0x86, 0xa9, 0xc9, 0x39, 0xd6, 0x32, + 0xd3, 0x6d, 0x3e, 0x78, 0x5c, 0x71, 0x3e, 0xa2, 0xdf, 0xf9, 0x44, 0x48, + 0x5b, 0x9b, 0x35, 0xbd, 0x75, 0x03, 0x24, 0x5b, 0x20, 0x81, 0xf8, 0x2d, +}; +static const unsigned char kat4082_nonce[] = {0}; +static const unsigned char kat4082_persstr[] = {0}; +static const unsigned char kat4082_entropyinpr1[] = { + 0x0b, 0x2c, 0x49, 0xe2, 0x16, 0xef, 0x47, 0xdf, 0x86, 0x25, 0x48, 0x67, + 0xb6, 0x19, 0x69, 0xac, 0x63, 0x1c, 0x4b, 0x6a, 0x68, 0xf6, 0x44, 0xcb, + 0x2a, 0x6b, 0x89, 0xc7, 0xf6, 0x28, 0x2f, 0xaf, 0x40, 0x3d, 0xcc, 0xd9, + 0x17, 0x7b, 0x90, 0xab, 0xa3, 0x25, 0x35, 0xfc, 0xce, 0xa4, 0x88, 0xe9, +}; +static const unsigned char kat4082_addinpr1[] = {0}; +static const unsigned char kat4082_entropyinpr2[] = { + 0xc6, 0xc4, 0x6e, 0x98, 0xfa, 0x4b, 0x87, 0xd5, 0xe3, 0x98, 0xdf, 0x48, + 0xaa, 0xda, 0x1a, 0x71, 0x3c, 0x2f, 0x7b, 0xce, 0xb3, 0x66, 0xa1, 0xa7, + 0x46, 0xda, 0xff, 0x60, 0x06, 0x18, 0x83, 0x5f, 0x57, 0x47, 0x53, 0x79, + 0x63, 0x1d, 0xaa, 0xd4, 0x6e, 0xf0, 0x1c, 0x78, 0xf4, 0xed, 0x21, 0x54, +}; +static const unsigned char kat4082_addinpr2[] = {0}; +static const unsigned char kat4082_retbits[] = { + 0x49, 0x63, 0xa8, 0xa8, 0x44, 0x2d, 0x8d, 0x03, 0xed, 0x86, 0x8f, 0x02, + 0x70, 0x21, 0xc6, 0x69, 0xd3, 0xa0, 0x79, 0x80, 0xe5, 0x6f, 0xe5, 0xef, + 0x61, 0x00, 0x41, 0x3b, 0x9a, 0x1c, 0x23, 0x07, 0x29, 0x77, 0x32, 0x4f, + 0x2d, 0x80, 0xbc, 0x4d, 0x1e, 0x25, 0x95, 0x40, 0x0d, 0x49, 0x01, 0xf2, + 0x0e, 0x4b, 0xf1, 0x7f, 0x96, 0x00, 0x55, 0xdc, 0x1f, 0xf3, 0x46, 0xc4, + 0x23, 0x80, 0x70, 0x10, +}; +static const struct drbg_kat_pr_true kat4082_t = { + 1, kat4082_entropyin, kat4082_nonce, kat4082_persstr, + kat4082_entropyinpr1, kat4082_addinpr1, kat4082_entropyinpr2, + kat4082_addinpr2, kat4082_retbits +}; +static const struct drbg_kat kat4082 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4082_t +}; + +static const unsigned char kat4083_entropyin[] = { + 0xbf, 0x5e, 0xc4, 0xb9, 0xb6, 0x13, 0xcd, 0x67, 0xb0, 0xa4, 0x43, 0x87, + 0xf6, 0x67, 0x13, 0x27, 0x29, 0x4c, 0x22, 0xaa, 0x11, 0x80, 0xd4, 0x3e, + 0xab, 0xde, 0xf2, 0xd0, 0xc1, 0xcc, 0xf2, 0x3e, 0xa1, 0x2e, 0x9b, 0xaa, + 0xa7, 0x6b, 0x99, 0xe1, 0xea, 0x69, 0xae, 0xe9, 0x4d, 0xfd, 0x54, 0xa5, +}; +static const unsigned char kat4083_nonce[] = {0}; +static const unsigned char kat4083_persstr[] = {0}; +static const unsigned char kat4083_entropyinpr1[] = { + 0xa6, 0x23, 0x2b, 0x35, 0xb4, 0x08, 0x83, 0x16, 0xef, 0x3d, 0xe6, 0x00, + 0x2e, 0x14, 0xde, 0x76, 0xdd, 0x4d, 0x36, 0x4b, 0xca, 0xbf, 0x1b, 0x82, + 0xb0, 0x69, 0x54, 0x0a, 0x7d, 0x60, 0x02, 0xc5, 0xda, 0x10, 0xd3, 0x55, + 0xde, 0x22, 0xb1, 0xdf, 0x30, 0xee, 0x89, 0x88, 0xce, 0xba, 0x46, 0xe0, +}; +static const unsigned char kat4083_addinpr1[] = {0}; +static const unsigned char kat4083_entropyinpr2[] = { + 0xb7, 0x6c, 0x32, 0x6f, 0xd9, 0x48, 0x51, 0x50, 0x4f, 0x93, 0x0f, 0x16, + 0x05, 0xde, 0x0b, 0x1a, 0x32, 0xd4, 0xac, 0x74, 0x2f, 0x0d, 0xa4, 0x98, + 0xda, 0x00, 0x22, 0x3e, 0x59, 0x82, 0x6a, 0xed, 0x6a, 0x51, 0x0e, 0x98, + 0x33, 0x3f, 0xf2, 0xae, 0x1a, 0xe0, 0x39, 0x8b, 0x3f, 0x38, 0xab, 0x4e, +}; +static const unsigned char kat4083_addinpr2[] = {0}; +static const unsigned char kat4083_retbits[] = { + 0xa6, 0xf8, 0x3f, 0x46, 0x76, 0x38, 0x94, 0xd3, 0xd4, 0x9e, 0x28, 0xf1, + 0xd4, 0x62, 0x69, 0x9a, 0xd6, 0xa5, 0xf4, 0x01, 0x64, 0xd1, 0xc4, 0x6c, + 0xdb, 0x99, 0xfe, 0x12, 0x7d, 0xa7, 0x0b, 0x8a, 0x9c, 0x05, 0x2b, 0x7f, + 0x42, 0xb8, 0xea, 0x3c, 0x92, 0xa2, 0x4a, 0x62, 0xfa, 0xd6, 0x93, 0xd0, + 0xc5, 0xd8, 0x96, 0xfe, 0xc5, 0xf3, 0xdb, 0xfd, 0xc5, 0x0e, 0x4e, 0x32, + 0x41, 0xcf, 0x9b, 0xee, +}; +static const struct drbg_kat_pr_true kat4083_t = { + 2, kat4083_entropyin, kat4083_nonce, kat4083_persstr, + kat4083_entropyinpr1, kat4083_addinpr1, kat4083_entropyinpr2, + kat4083_addinpr2, kat4083_retbits +}; +static const struct drbg_kat kat4083 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4083_t +}; + +static const unsigned char kat4084_entropyin[] = { + 0xf0, 0xb6, 0x1b, 0xd5, 0x37, 0x1e, 0x6a, 0x60, 0xa1, 0x53, 0x9d, 0xc9, + 0x72, 0xcc, 0x63, 0x3c, 0x9a, 0x6c, 0x60, 0x68, 0x97, 0x0e, 0x7a, 0xea, + 0x4a, 0xf1, 0xac, 0xad, 0x26, 0x5b, 0x24, 0x27, 0xdc, 0xc9, 0xe7, 0x5e, + 0x5b, 0xfa, 0x08, 0xad, 0xfd, 0xf5, 0x45, 0x8d, 0xc4, 0x01, 0xed, 0xca, +}; +static const unsigned char kat4084_nonce[] = {0}; +static const unsigned char kat4084_persstr[] = {0}; +static const unsigned char kat4084_entropyinpr1[] = { + 0xa5, 0xd1, 0xae, 0xe0, 0x8e, 0x1b, 0x7a, 0xe5, 0xbc, 0x0a, 0xa3, 0x30, + 0x63, 0x56, 0x36, 0x5d, 0x24, 0xc1, 0x05, 0x54, 0x6c, 0x65, 0x1a, 0x9e, + 0xbf, 0x2e, 0xb7, 0x9a, 0x6a, 0xc7, 0x2f, 0xc7, 0x94, 0xd9, 0x91, 0xce, + 0xbb, 0x83, 0x0c, 0xb4, 0x8f, 0x7c, 0x77, 0x2b, 0x54, 0x55, 0xe0, 0xba, +}; +static const unsigned char kat4084_addinpr1[] = {0}; +static const unsigned char kat4084_entropyinpr2[] = { + 0x26, 0xf6, 0xa4, 0x48, 0x77, 0x16, 0xdc, 0xdd, 0xa8, 0x74, 0x0d, 0xf7, + 0x6a, 0x3f, 0x64, 0x89, 0x5e, 0xbc, 0x82, 0x59, 0x98, 0x9b, 0x82, 0x39, + 0x76, 0xa0, 0xfb, 0xe0, 0x02, 0xb5, 0xc5, 0x43, 0x14, 0xfc, 0x56, 0x60, + 0xde, 0x50, 0xe4, 0x96, 0x92, 0xcd, 0x08, 0xb3, 0x89, 0xcd, 0x08, 0x7f, +}; +static const unsigned char kat4084_addinpr2[] = {0}; +static const unsigned char kat4084_retbits[] = { + 0xcc, 0x83, 0xfa, 0x47, 0xf9, 0xc5, 0x64, 0x3b, 0xb3, 0x61, 0x30, 0x4f, + 0x08, 0xcb, 0x0c, 0xa1, 0x88, 0x83, 0x40, 0x0c, 0x52, 0x1d, 0x23, 0xc8, + 0x97, 0x74, 0x82, 0xc1, 0xa2, 0x9d, 0xb9, 0x44, 0xa9, 0x36, 0x11, 0xc4, + 0x99, 0x6c, 0xa7, 0x96, 0x95, 0x9f, 0x17, 0x0d, 0xa5, 0x6d, 0x92, 0xcf, + 0x92, 0x87, 0x55, 0x2c, 0x9d, 0x13, 0x53, 0x94, 0x02, 0x02, 0x4e, 0xc6, + 0x10, 0x49, 0x95, 0x1e, +}; +static const struct drbg_kat_pr_true kat4084_t = { + 3, kat4084_entropyin, kat4084_nonce, kat4084_persstr, + kat4084_entropyinpr1, kat4084_addinpr1, kat4084_entropyinpr2, + kat4084_addinpr2, kat4084_retbits +}; +static const struct drbg_kat kat4084 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4084_t +}; + +static const unsigned char kat4085_entropyin[] = { + 0xe0, 0xe9, 0xce, 0x9c, 0x3f, 0x19, 0xdb, 0x89, 0x9f, 0xcd, 0x9f, 0x5c, + 0x9b, 0xee, 0x29, 0xfb, 0xca, 0xca, 0xf6, 0xd0, 0x1a, 0x5c, 0xcc, 0x71, + 0xf3, 0x93, 0x54, 0x48, 0xfb, 0xf1, 0xbd, 0x4c, 0x99, 0x19, 0x69, 0x2c, + 0x94, 0xdc, 0xf8, 0x34, 0xf3, 0x93, 0x2a, 0x33, 0x07, 0x6e, 0x32, 0x16, +}; +static const unsigned char kat4085_nonce[] = {0}; +static const unsigned char kat4085_persstr[] = {0}; +static const unsigned char kat4085_entropyinpr1[] = { + 0x8b, 0x25, 0xf8, 0xd4, 0x9b, 0x04, 0x01, 0xf3, 0xc7, 0x3f, 0x82, 0xfe, + 0xbf, 0x2b, 0x6c, 0x95, 0xb2, 0xde, 0x38, 0xed, 0x41, 0xb6, 0xe9, 0x30, + 0x2f, 0xb6, 0x74, 0xe1, 0x19, 0x01, 0xfc, 0x98, 0xd4, 0xc8, 0x12, 0x59, + 0xb8, 0x5a, 0x17, 0xdb, 0xfe, 0xd5, 0x59, 0x3b, 0x27, 0xd1, 0xff, 0xe1, +}; +static const unsigned char kat4085_addinpr1[] = {0}; +static const unsigned char kat4085_entropyinpr2[] = { + 0xc2, 0xfc, 0xf0, 0x2c, 0x73, 0xaf, 0xd7, 0x1c, 0x39, 0x68, 0x1c, 0x71, + 0x11, 0xfb, 0xa1, 0x1d, 0x63, 0x2a, 0x12, 0xe7, 0xa1, 0xb9, 0x40, 0x4b, + 0x0b, 0xb5, 0x8d, 0x45, 0x9b, 0x59, 0xfd, 0x9a, 0x5a, 0x15, 0x75, 0xb3, + 0x6a, 0x33, 0x53, 0x51, 0x67, 0x71, 0x7f, 0xbb, 0xae, 0x01, 0x5c, 0x71, +}; +static const unsigned char kat4085_addinpr2[] = {0}; +static const unsigned char kat4085_retbits[] = { + 0xe2, 0x88, 0x14, 0x7f, 0x1c, 0xf9, 0xed, 0xf6, 0x72, 0xc9, 0x3f, 0xdd, + 0x3b, 0xe2, 0x4c, 0x44, 0x47, 0x02, 0x85, 0x6e, 0xe8, 0xe2, 0x1b, 0x31, + 0xa5, 0x1a, 0x08, 0xc9, 0x56, 0xa0, 0x4b, 0xa3, 0xd4, 0x99, 0xa9, 0x78, + 0x74, 0x75, 0xff, 0x9b, 0x5b, 0x21, 0xe1, 0x30, 0x7c, 0x4e, 0xfa, 0x67, + 0x9f, 0x7a, 0xf8, 0xd3, 0xc6, 0x3d, 0xba, 0xfc, 0xba, 0x87, 0xcc, 0xfc, + 0xaa, 0xc0, 0x57, 0xe3, +}; +static const struct drbg_kat_pr_true kat4085_t = { + 4, kat4085_entropyin, kat4085_nonce, kat4085_persstr, + kat4085_entropyinpr1, kat4085_addinpr1, kat4085_entropyinpr2, + kat4085_addinpr2, kat4085_retbits +}; +static const struct drbg_kat kat4085 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4085_t +}; + +static const unsigned char kat4086_entropyin[] = { + 0x05, 0xe8, 0x93, 0xd9, 0xa6, 0x42, 0x7d, 0x39, 0xc7, 0x27, 0xf1, 0x9a, + 0xa1, 0x68, 0x53, 0x17, 0xe3, 0x59, 0x95, 0x49, 0x19, 0xbb, 0x02, 0xce, + 0x12, 0x9c, 0xa4, 0x9a, 0x99, 0x8b, 0x3e, 0xf1, 0x78, 0x76, 0xd6, 0x88, + 0x91, 0xa2, 0x19, 0xab, 0x5e, 0x90, 0xcb, 0xca, 0xf9, 0x06, 0x21, 0x76, +}; +static const unsigned char kat4086_nonce[] = {0}; +static const unsigned char kat4086_persstr[] = {0}; +static const unsigned char kat4086_entropyinpr1[] = { + 0xc7, 0x96, 0xdd, 0xc4, 0x6a, 0x7c, 0xc0, 0xea, 0xcc, 0x41, 0x72, 0x42, + 0x9f, 0x12, 0x50, 0xa0, 0x1b, 0x9f, 0x0c, 0x78, 0xe3, 0x2d, 0x2f, 0xad, + 0xce, 0x04, 0xfa, 0xa0, 0x84, 0x00, 0x62, 0xf5, 0x12, 0xc2, 0xd1, 0xd9, + 0xfc, 0xf5, 0xe4, 0xce, 0x4c, 0xaa, 0x60, 0x17, 0xcd, 0x6c, 0x56, 0x71, +}; +static const unsigned char kat4086_addinpr1[] = {0}; +static const unsigned char kat4086_entropyinpr2[] = { + 0x45, 0xa5, 0x08, 0x7c, 0x74, 0xc8, 0xbf, 0xce, 0x96, 0xcb, 0xab, 0xb9, + 0x70, 0xdc, 0xed, 0x61, 0x3d, 0xea, 0x2a, 0x0f, 0xba, 0x44, 0xbd, 0x53, + 0xc6, 0x4b, 0x98, 0x2d, 0x23, 0xa4, 0x3e, 0x49, 0xd0, 0x50, 0xfe, 0xe9, + 0x5b, 0x67, 0x46, 0x73, 0xe5, 0xa7, 0xbd, 0xfd, 0xaf, 0x5a, 0x2e, 0x30, +}; +static const unsigned char kat4086_addinpr2[] = {0}; +static const unsigned char kat4086_retbits[] = { + 0x7d, 0x60, 0xec, 0xa5, 0xb2, 0xa9, 0x0a, 0xc9, 0xf8, 0x4d, 0x84, 0xc4, + 0x35, 0x60, 0x97, 0xa0, 0xf2, 0x03, 0x53, 0xcd, 0xd7, 0xf9, 0xe3, 0x53, + 0xf0, 0x71, 0xb4, 0x55, 0x7c, 0xab, 0x38, 0x8a, 0xde, 0xd6, 0x1d, 0xe1, + 0x60, 0x78, 0x49, 0x90, 0x5e, 0xab, 0xb4, 0xf6, 0x81, 0x18, 0x7d, 0x74, + 0x09, 0xd1, 0x5f, 0x30, 0x31, 0x90, 0x35, 0x46, 0x62, 0xc0, 0x50, 0xe8, + 0x99, 0xc1, 0xc6, 0xf8, +}; +static const struct drbg_kat_pr_true kat4086_t = { + 5, kat4086_entropyin, kat4086_nonce, kat4086_persstr, + kat4086_entropyinpr1, kat4086_addinpr1, kat4086_entropyinpr2, + kat4086_addinpr2, kat4086_retbits +}; +static const struct drbg_kat kat4086 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4086_t +}; + +static const unsigned char kat4087_entropyin[] = { + 0x06, 0x7d, 0xe2, 0xf6, 0x5d, 0x56, 0xca, 0xc8, 0xa0, 0x9c, 0x1d, 0x3b, + 0x48, 0x80, 0x06, 0xc7, 0xb3, 0x1a, 0x97, 0x48, 0x4d, 0xd3, 0x0d, 0xb2, + 0xce, 0xb6, 0x70, 0x5c, 0xa9, 0xb7, 0xa9, 0x93, 0xaf, 0xdb, 0xf5, 0x92, + 0x0e, 0xd7, 0x38, 0x49, 0xdc, 0x67, 0xb9, 0xd2, 0x8c, 0xbf, 0xe1, 0xcf, +}; +static const unsigned char kat4087_nonce[] = {0}; +static const unsigned char kat4087_persstr[] = {0}; +static const unsigned char kat4087_entropyinpr1[] = { + 0x16, 0x8b, 0x15, 0x90, 0xc8, 0xe5, 0x2c, 0x83, 0x25, 0x64, 0xa1, 0x13, + 0x50, 0x40, 0xe4, 0x0f, 0xc0, 0x9b, 0x66, 0xa7, 0xea, 0x0a, 0xac, 0xa6, + 0x3a, 0x44, 0xe5, 0x9f, 0x2e, 0xff, 0x38, 0xca, 0x7d, 0x63, 0xde, 0x28, + 0x3f, 0x76, 0x6f, 0x08, 0x5b, 0xe5, 0x10, 0x7f, 0x56, 0x48, 0x79, 0xad, +}; +static const unsigned char kat4087_addinpr1[] = {0}; +static const unsigned char kat4087_entropyinpr2[] = { + 0xc5, 0x5b, 0xd6, 0x17, 0xff, 0x9d, 0x58, 0x01, 0x0b, 0xa0, 0xed, 0x10, + 0xcb, 0xff, 0xac, 0xd7, 0x2a, 0x5a, 0x86, 0x36, 0xb8, 0x16, 0x27, 0x8d, + 0xc0, 0xc8, 0x0e, 0x6a, 0xe2, 0xfe, 0x34, 0x4d, 0xe1, 0xed, 0xdc, 0xef, + 0xe1, 0x1e, 0xa2, 0x7f, 0x7d, 0x32, 0xc6, 0x91, 0xce, 0xab, 0xf4, 0x41, +}; +static const unsigned char kat4087_addinpr2[] = {0}; +static const unsigned char kat4087_retbits[] = { + 0x44, 0x90, 0xd3, 0xeb, 0x16, 0x5b, 0x56, 0x82, 0xd8, 0xe3, 0xc0, 0xce, + 0x23, 0x28, 0xb4, 0x24, 0xab, 0xcb, 0x76, 0xd9, 0x63, 0x44, 0x7d, 0x02, + 0xda, 0x8a, 0x18, 0x6f, 0x5b, 0x07, 0x37, 0x65, 0xf4, 0xd2, 0x73, 0xf8, + 0xf4, 0x58, 0x67, 0x1a, 0xed, 0x28, 0xd6, 0xcf, 0x56, 0xed, 0x54, 0xfe, + 0x5c, 0x3e, 0x12, 0x44, 0x46, 0xcc, 0x04, 0xb8, 0xbc, 0x39, 0x41, 0xdc, + 0x3b, 0xb2, 0xa0, 0xca, +}; +static const struct drbg_kat_pr_true kat4087_t = { + 6, kat4087_entropyin, kat4087_nonce, kat4087_persstr, + kat4087_entropyinpr1, kat4087_addinpr1, kat4087_entropyinpr2, + kat4087_addinpr2, kat4087_retbits +}; +static const struct drbg_kat kat4087 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4087_t +}; + +static const unsigned char kat4088_entropyin[] = { + 0xa1, 0xaa, 0x10, 0xbb, 0x6e, 0xe8, 0xe4, 0xcf, 0xf8, 0xae, 0x8d, 0x36, + 0x39, 0xc4, 0x71, 0x73, 0x21, 0xba, 0x54, 0x6f, 0x75, 0x97, 0x89, 0xfa, + 0x5b, 0x3a, 0xeb, 0x38, 0x9d, 0x58, 0x8a, 0x35, 0xc3, 0x8c, 0x54, 0xb7, + 0x5c, 0x4c, 0x38, 0x3f, 0x69, 0x4e, 0xa8, 0xf3, 0x10, 0xd4, 0x5e, 0xd5, +}; +static const unsigned char kat4088_nonce[] = {0}; +static const unsigned char kat4088_persstr[] = {0}; +static const unsigned char kat4088_entropyinpr1[] = { + 0x11, 0x6c, 0x07, 0xef, 0xb3, 0xb5, 0x3a, 0x90, 0xc5, 0x2a, 0x95, 0x84, + 0x4f, 0x5f, 0x4e, 0x93, 0x04, 0x66, 0x7e, 0xff, 0xfa, 0xd6, 0x03, 0x67, + 0x89, 0x94, 0xb7, 0x25, 0x7a, 0x68, 0x87, 0xa8, 0xa5, 0x22, 0xc4, 0x00, + 0x83, 0xcf, 0xd9, 0x4e, 0x37, 0x1e, 0xa1, 0x8f, 0x7d, 0x7a, 0xfd, 0xa7, +}; +static const unsigned char kat4088_addinpr1[] = {0}; +static const unsigned char kat4088_entropyinpr2[] = { + 0xc0, 0x1b, 0xe2, 0x92, 0xf6, 0xd0, 0x29, 0xba, 0x8f, 0xea, 0x8b, 0x85, + 0xb7, 0x00, 0x7b, 0x9c, 0x4a, 0x22, 0x26, 0x56, 0x6b, 0x94, 0x90, 0xd9, + 0xb9, 0xd3, 0xbb, 0xcd, 0x44, 0x86, 0x62, 0xfa, 0x1c, 0x0b, 0x69, 0xa5, + 0x23, 0xab, 0xe5, 0x47, 0x92, 0xcc, 0x00, 0xe7, 0xd6, 0x78, 0x32, 0x92, +}; +static const unsigned char kat4088_addinpr2[] = {0}; +static const unsigned char kat4088_retbits[] = { + 0xfd, 0x26, 0x72, 0xcb, 0xb1, 0x51, 0xde, 0xf9, 0xec, 0x3a, 0x36, 0xbd, + 0x89, 0xa8, 0x09, 0x7b, 0x4a, 0x14, 0x1a, 0x1d, 0x37, 0xdd, 0x65, 0xd0, + 0xd3, 0x81, 0x9b, 0x13, 0xd6, 0x7e, 0x3a, 0xf2, 0x94, 0x88, 0x94, 0x4c, + 0x52, 0x67, 0xdd, 0x7e, 0x55, 0xf9, 0x24, 0xce, 0x15, 0x59, 0x41, 0xb7, + 0x8b, 0x43, 0xf8, 0x6e, 0x7b, 0x6d, 0x56, 0xdf, 0xb0, 0xd4, 0x8d, 0xcd, + 0xa8, 0x29, 0xc2, 0xba, +}; +static const struct drbg_kat_pr_true kat4088_t = { + 7, kat4088_entropyin, kat4088_nonce, kat4088_persstr, + kat4088_entropyinpr1, kat4088_addinpr1, kat4088_entropyinpr2, + kat4088_addinpr2, kat4088_retbits +}; +static const struct drbg_kat kat4088 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4088_t +}; + +static const unsigned char kat4089_entropyin[] = { + 0xc1, 0x0d, 0x35, 0x3b, 0x2c, 0x51, 0x53, 0x73, 0x0f, 0x90, 0x2f, 0xa2, + 0x8b, 0x02, 0x2d, 0xde, 0xb3, 0x0c, 0x83, 0xaf, 0x8b, 0x3b, 0xdd, 0x2e, + 0x01, 0x13, 0x14, 0xce, 0xe5, 0x80, 0x49, 0x9a, 0x5b, 0x12, 0xc8, 0x07, + 0x62, 0xaf, 0x6b, 0x07, 0xc8, 0x06, 0x63, 0x2e, 0x16, 0x40, 0x70, 0x6b, +}; +static const unsigned char kat4089_nonce[] = {0}; +static const unsigned char kat4089_persstr[] = {0}; +static const unsigned char kat4089_entropyinpr1[] = { + 0xf2, 0x55, 0x1d, 0xce, 0x81, 0x7f, 0xc6, 0xc6, 0xdc, 0x7a, 0x5b, 0x79, + 0x16, 0x99, 0xf0, 0xfd, 0xf6, 0x85, 0x2c, 0x44, 0x19, 0x6a, 0x05, 0x6d, + 0xca, 0xb1, 0xdd, 0x47, 0xd8, 0x1c, 0x93, 0x35, 0x61, 0xae, 0xd9, 0x27, + 0xa8, 0xf9, 0x92, 0xf7, 0x1a, 0xab, 0x6a, 0xde, 0xbb, 0x04, 0x99, 0xd8, +}; +static const unsigned char kat4089_addinpr1[] = {0}; +static const unsigned char kat4089_entropyinpr2[] = { + 0xc6, 0xb8, 0xc8, 0x40, 0x0e, 0x23, 0xbe, 0x6e, 0x22, 0x8b, 0x8d, 0xf9, + 0x69, 0x69, 0xee, 0xd6, 0x05, 0x00, 0x39, 0x21, 0x37, 0xe3, 0x47, 0xca, + 0xbb, 0x23, 0x36, 0x83, 0x03, 0xfe, 0x8d, 0xc8, 0x08, 0x21, 0xd5, 0xa3, + 0xd2, 0xad, 0x07, 0x38, 0x55, 0xec, 0x35, 0x2a, 0x2c, 0x68, 0x6e, 0x53, +}; +static const unsigned char kat4089_addinpr2[] = {0}; +static const unsigned char kat4089_retbits[] = { + 0x98, 0xa1, 0xcd, 0x59, 0x92, 0x65, 0xce, 0x68, 0xd5, 0xf6, 0x0e, 0x61, + 0xa5, 0x1c, 0xf6, 0x1e, 0xae, 0x62, 0x04, 0x84, 0xdc, 0x30, 0x08, 0x14, + 0x73, 0xc5, 0x57, 0xb1, 0x70, 0xab, 0x76, 0xac, 0x9f, 0x2a, 0xa3, 0x3a, + 0xdc, 0x45, 0xc8, 0x90, 0xa9, 0x04, 0x65, 0x4e, 0x32, 0xbc, 0x81, 0xc6, + 0xc4, 0xf8, 0xa9, 0xed, 0xe8, 0xca, 0x88, 0xaa, 0xb4, 0xd9, 0xea, 0x5d, + 0x2f, 0x11, 0x26, 0x47, +}; +static const struct drbg_kat_pr_true kat4089_t = { + 8, kat4089_entropyin, kat4089_nonce, kat4089_persstr, + kat4089_entropyinpr1, kat4089_addinpr1, kat4089_entropyinpr2, + kat4089_addinpr2, kat4089_retbits +}; +static const struct drbg_kat kat4089 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4089_t +}; + +static const unsigned char kat4090_entropyin[] = { + 0xac, 0xd3, 0x0e, 0xa7, 0x34, 0x71, 0xc3, 0x2a, 0xe8, 0x39, 0x7a, 0x2b, + 0x26, 0x68, 0x78, 0x69, 0x73, 0x54, 0x54, 0x30, 0x82, 0x43, 0x8f, 0x6d, + 0x1f, 0x2a, 0x53, 0x29, 0x0b, 0xbf, 0xa8, 0x93, 0x4a, 0x1e, 0x4f, 0x00, + 0x7b, 0x37, 0x5b, 0x6e, 0xab, 0x2d, 0xb5, 0x8b, 0x5b, 0x9a, 0x0a, 0x9d, +}; +static const unsigned char kat4090_nonce[] = {0}; +static const unsigned char kat4090_persstr[] = {0}; +static const unsigned char kat4090_entropyinpr1[] = { + 0xbd, 0x8d, 0x77, 0x47, 0xe2, 0xa7, 0x8a, 0x86, 0xfe, 0x01, 0x63, 0x70, + 0xbd, 0x59, 0x06, 0xab, 0xc4, 0x32, 0x05, 0x09, 0x2a, 0x6a, 0x0e, 0x20, + 0x1e, 0xe2, 0x9b, 0x73, 0x91, 0x30, 0x43, 0xd8, 0x61, 0x61, 0x1d, 0xbb, + 0xed, 0xa2, 0xac, 0x44, 0xab, 0xb7, 0xe2, 0xf3, 0xf2, 0x88, 0x89, 0xa0, +}; +static const unsigned char kat4090_addinpr1[] = {0}; +static const unsigned char kat4090_entropyinpr2[] = { + 0xb6, 0xaf, 0xd9, 0x28, 0x91, 0x4a, 0xc9, 0x54, 0x20, 0xf4, 0xa9, 0x17, + 0x6c, 0x3d, 0x10, 0x82, 0xcf, 0x2a, 0xda, 0xcc, 0xbf, 0xde, 0x0c, 0xb2, + 0xb0, 0xd2, 0x7c, 0x72, 0x77, 0xa8, 0x0b, 0x66, 0x88, 0x8c, 0xe8, 0xae, + 0xf8, 0xd6, 0xe7, 0x98, 0x51, 0xe4, 0x1c, 0x6c, 0xb8, 0x35, 0xc4, 0x72, +}; +static const unsigned char kat4090_addinpr2[] = {0}; +static const unsigned char kat4090_retbits[] = { + 0x1f, 0xd5, 0x8c, 0xae, 0xba, 0xf6, 0xcc, 0x4e, 0x6c, 0x48, 0x10, 0xdd, + 0xef, 0x84, 0x4e, 0xaa, 0x4f, 0xb1, 0xd9, 0x06, 0x9c, 0x94, 0x59, 0x3a, + 0xc5, 0xfa, 0xfb, 0xa3, 0xe5, 0xdd, 0xc0, 0x47, 0x9d, 0xa0, 0x57, 0xd9, + 0xca, 0x29, 0x1c, 0x6d, 0x07, 0x06, 0xca, 0x0b, 0x92, 0xfc, 0x16, 0x3f, + 0x1d, 0xee, 0xcb, 0x07, 0x4b, 0xa2, 0x8e, 0xfd, 0x95, 0xf9, 0x55, 0xfa, + 0xc2, 0xf3, 0xa7, 0x55, +}; +static const struct drbg_kat_pr_true kat4090_t = { + 9, kat4090_entropyin, kat4090_nonce, kat4090_persstr, + kat4090_entropyinpr1, kat4090_addinpr1, kat4090_entropyinpr2, + kat4090_addinpr2, kat4090_retbits +}; +static const struct drbg_kat kat4090 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4090_t +}; + +static const unsigned char kat4091_entropyin[] = { + 0x25, 0x34, 0x7f, 0xec, 0x63, 0x56, 0xc4, 0x39, 0xe5, 0x26, 0x90, 0x81, + 0x47, 0x84, 0x03, 0x29, 0x75, 0xbf, 0x3f, 0x85, 0x61, 0x80, 0xf4, 0xa3, + 0x0c, 0x7f, 0x44, 0x15, 0x78, 0x9a, 0xc5, 0x29, 0x74, 0x05, 0xe9, 0x19, + 0x0f, 0x88, 0x89, 0x5c, 0xf9, 0x25, 0xff, 0x76, 0x67, 0x14, 0xfd, 0xc6, +}; +static const unsigned char kat4091_nonce[] = {0}; +static const unsigned char kat4091_persstr[] = {0}; +static const unsigned char kat4091_entropyinpr1[] = { + 0x35, 0x65, 0xd7, 0x0a, 0x06, 0x42, 0xc5, 0x9f, 0x1c, 0x75, 0xf1, 0x30, + 0x44, 0x44, 0x25, 0x91, 0x9f, 0x3c, 0x24, 0xd5, 0x2c, 0x5a, 0x76, 0x27, + 0x5c, 0xbd, 0xa6, 0x36, 0x2d, 0xa3, 0xec, 0x31, 0xa2, 0x64, 0xf0, 0x18, + 0x1c, 0x07, 0xe7, 0xb1, 0xbd, 0x8a, 0xa0, 0x7c, 0xba, 0x5a, 0x87, 0x90, +}; +static const unsigned char kat4091_addinpr1[] = {0}; +static const unsigned char kat4091_entropyinpr2[] = { + 0x3f, 0x6b, 0xc6, 0xdd, 0x90, 0x2b, 0x2c, 0x82, 0x8d, 0xb3, 0x54, 0x20, + 0x11, 0x74, 0x21, 0x09, 0xdc, 0xd4, 0xf7, 0x3e, 0xea, 0x25, 0x4c, 0x03, + 0x1f, 0x6f, 0xa5, 0x3a, 0x36, 0x5a, 0x90, 0xa0, 0x85, 0x7b, 0xce, 0x59, + 0xb5, 0x4d, 0x3a, 0x17, 0x9b, 0xfe, 0x34, 0x5b, 0x14, 0x50, 0x7d, 0x82, +}; +static const unsigned char kat4091_addinpr2[] = {0}; +static const unsigned char kat4091_retbits[] = { + 0x5e, 0x0c, 0x7f, 0xc1, 0x4d, 0x99, 0x7e, 0xc5, 0xb5, 0x7c, 0x41, 0x29, + 0x9b, 0x11, 0xc1, 0xff, 0xfd, 0x56, 0xf4, 0x6e, 0x03, 0x45, 0x27, 0xa0, + 0xcf, 0x25, 0x5a, 0x17, 0xbf, 0x0d, 0x21, 0x09, 0x7f, 0xba, 0x91, 0xe2, + 0xfc, 0x29, 0xd2, 0x05, 0x7b, 0x7c, 0x33, 0xb1, 0xca, 0x92, 0x02, 0xf4, + 0x3c, 0xe8, 0xad, 0x49, 0x09, 0x81, 0xde, 0x38, 0x86, 0x20, 0x6c, 0xfa, + 0x0d, 0xf2, 0x77, 0x0d, +}; +static const struct drbg_kat_pr_true kat4091_t = { + 10, kat4091_entropyin, kat4091_nonce, kat4091_persstr, + kat4091_entropyinpr1, kat4091_addinpr1, kat4091_entropyinpr2, + kat4091_addinpr2, kat4091_retbits +}; +static const struct drbg_kat kat4091 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4091_t +}; + +static const unsigned char kat4092_entropyin[] = { + 0x7d, 0x40, 0xc2, 0x53, 0x9f, 0x49, 0x69, 0x87, 0xf7, 0x3f, 0x93, 0x65, + 0x2a, 0x42, 0x66, 0x12, 0x67, 0xab, 0x27, 0x51, 0xa3, 0xe1, 0x16, 0x5c, + 0xa6, 0xb5, 0x46, 0x0a, 0x2f, 0xb4, 0x76, 0x25, 0x26, 0x3d, 0x17, 0xf3, + 0xa4, 0x22, 0x7d, 0x86, 0x42, 0xd4, 0x47, 0x5f, 0xd6, 0x9b, 0xe1, 0xc3, +}; +static const unsigned char kat4092_nonce[] = {0}; +static const unsigned char kat4092_persstr[] = {0}; +static const unsigned char kat4092_entropyinpr1[] = { + 0x68, 0xe4, 0x81, 0x0e, 0x03, 0x02, 0x42, 0x8d, 0x8a, 0xfb, 0x9d, 0xa8, + 0x6a, 0x86, 0x67, 0x06, 0x9d, 0x30, 0x2b, 0x5b, 0xed, 0xd2, 0xb4, 0xb4, + 0x05, 0x2e, 0x62, 0xa7, 0xf2, 0x4f, 0x39, 0xa8, 0x80, 0xc5, 0x66, 0x0c, + 0xeb, 0x8b, 0xa0, 0x2a, 0x8e, 0x32, 0xb5, 0x2f, 0x53, 0xf8, 0xd7, 0x75, +}; +static const unsigned char kat4092_addinpr1[] = {0}; +static const unsigned char kat4092_entropyinpr2[] = { + 0x9c, 0x80, 0x5e, 0x77, 0x90, 0x4d, 0x6b, 0xcf, 0x24, 0xe4, 0xa8, 0xba, + 0xe2, 0x25, 0x69, 0x0d, 0x20, 0xdd, 0xd0, 0xda, 0x8d, 0xf1, 0xf0, 0xbe, + 0xd1, 0x2a, 0xe1, 0xb2, 0x93, 0x0c, 0x9c, 0xe5, 0x7b, 0x03, 0x01, 0x6b, + 0x1a, 0x61, 0xf5, 0xd6, 0x51, 0x3f, 0x84, 0xf6, 0x51, 0x75, 0x3f, 0x51, +}; +static const unsigned char kat4092_addinpr2[] = {0}; +static const unsigned char kat4092_retbits[] = { + 0x07, 0xa1, 0x37, 0xc2, 0x44, 0x39, 0x58, 0xcd, 0xea, 0x24, 0x10, 0x58, + 0x43, 0xb6, 0xa8, 0xe4, 0x2f, 0x89, 0xa8, 0xb3, 0xf2, 0xe1, 0x26, 0x37, + 0xfe, 0xeb, 0x0f, 0x7a, 0x91, 0x28, 0xf1, 0x3d, 0x0e, 0x64, 0xf0, 0xd4, + 0xaf, 0x75, 0x07, 0x52, 0x4d, 0x99, 0x3c, 0x23, 0xce, 0x32, 0x2f, 0xe9, + 0x27, 0x62, 0x7b, 0x05, 0x2b, 0xe7, 0x4e, 0x7b, 0xab, 0xde, 0x18, 0xd4, + 0x47, 0x4d, 0xe6, 0xaa, +}; +static const struct drbg_kat_pr_true kat4092_t = { + 11, kat4092_entropyin, kat4092_nonce, kat4092_persstr, + kat4092_entropyinpr1, kat4092_addinpr1, kat4092_entropyinpr2, + kat4092_addinpr2, kat4092_retbits +}; +static const struct drbg_kat kat4092 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4092_t +}; + +static const unsigned char kat4093_entropyin[] = { + 0x34, 0x4a, 0xa8, 0xce, 0xb8, 0x5d, 0x9c, 0xc4, 0xb7, 0xa4, 0x61, 0x10, + 0x39, 0xee, 0x42, 0xe4, 0x21, 0x56, 0x00, 0x04, 0xa2, 0xec, 0xd5, 0x00, + 0x26, 0x17, 0x80, 0xed, 0x08, 0xfe, 0x6f, 0x97, 0x6f, 0x68, 0xe3, 0x70, + 0x37, 0x7a, 0x72, 0x30, 0x1c, 0x38, 0x73, 0x4e, 0x8b, 0x8e, 0xf6, 0xef, +}; +static const unsigned char kat4093_nonce[] = {0}; +static const unsigned char kat4093_persstr[] = {0}; +static const unsigned char kat4093_entropyinpr1[] = { + 0x77, 0x38, 0x1a, 0xf3, 0xd8, 0x8e, 0xe0, 0xe9, 0xc4, 0xb0, 0x24, 0x73, + 0xf9, 0x8b, 0x4f, 0xdb, 0x32, 0x22, 0xd7, 0x56, 0x56, 0xde, 0x78, 0x25, + 0xb6, 0x89, 0xa7, 0x56, 0x59, 0x8a, 0xab, 0xce, 0x26, 0xf6, 0x89, 0x1a, + 0x9e, 0xc2, 0x61, 0x8d, 0xca, 0xb6, 0x4e, 0xf6, 0x91, 0x28, 0x9a, 0xce, +}; +static const unsigned char kat4093_addinpr1[] = {0}; +static const unsigned char kat4093_entropyinpr2[] = { + 0xdc, 0x3d, 0xe1, 0x02, 0x55, 0x19, 0xf4, 0x10, 0x0f, 0x66, 0x60, 0x30, + 0xd8, 0x82, 0x52, 0xd3, 0xb9, 0xe8, 0x4d, 0x75, 0x94, 0xf6, 0xf4, 0x83, + 0x1f, 0xfd, 0x51, 0xf2, 0xf5, 0x12, 0x91, 0x85, 0x52, 0x2c, 0x9b, 0x12, + 0x57, 0x6b, 0x61, 0xa7, 0xab, 0xd7, 0xd5, 0x15, 0x0f, 0x70, 0x3a, 0xf9, +}; +static const unsigned char kat4093_addinpr2[] = {0}; +static const unsigned char kat4093_retbits[] = { + 0xbd, 0xc2, 0x17, 0x3e, 0x5f, 0x51, 0x4a, 0xba, 0xf5, 0xe4, 0xe1, 0xe7, + 0x20, 0x5c, 0x0a, 0x9e, 0xf3, 0x2a, 0x5b, 0x0f, 0xaf, 0x2b, 0x00, 0x3a, + 0xf2, 0x07, 0x7e, 0x40, 0x10, 0x79, 0x47, 0xbb, 0x3e, 0x57, 0x08, 0x73, + 0xdd, 0x81, 0xb9, 0x4c, 0x3a, 0x9c, 0xa0, 0xb1, 0x5d, 0xcf, 0x44, 0x84, + 0xbd, 0x91, 0xef, 0xba, 0xcb, 0xec, 0xe1, 0x53, 0xb5, 0x7a, 0x14, 0xf0, + 0xf9, 0xd3, 0x43, 0xe7, +}; +static const struct drbg_kat_pr_true kat4093_t = { + 12, kat4093_entropyin, kat4093_nonce, kat4093_persstr, + kat4093_entropyinpr1, kat4093_addinpr1, kat4093_entropyinpr2, + kat4093_addinpr2, kat4093_retbits +}; +static const struct drbg_kat kat4093 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4093_t +}; + +static const unsigned char kat4094_entropyin[] = { + 0x59, 0xb0, 0x13, 0xb3, 0x7a, 0xbc, 0x88, 0xcb, 0x2b, 0x7d, 0x2d, 0xb3, + 0xd7, 0xec, 0x00, 0x73, 0x52, 0x2f, 0x15, 0x91, 0x4a, 0xf7, 0xe8, 0x1b, + 0xb3, 0x8c, 0xe5, 0x7d, 0x39, 0xb7, 0x73, 0x91, 0xbd, 0xe4, 0xb4, 0xd3, + 0x58, 0xa2, 0xeb, 0x16, 0xf1, 0xc0, 0x69, 0x64, 0x7e, 0xb3, 0x0d, 0xf5, +}; +static const unsigned char kat4094_nonce[] = {0}; +static const unsigned char kat4094_persstr[] = {0}; +static const unsigned char kat4094_entropyinpr1[] = { + 0x74, 0x3e, 0xfe, 0x2c, 0x95, 0x33, 0x14, 0xe5, 0xac, 0x2a, 0x03, 0x84, + 0x38, 0x88, 0xc2, 0x37, 0x2f, 0xb3, 0xec, 0xd9, 0x5b, 0xff, 0x07, 0x8d, + 0x69, 0x3e, 0xaf, 0xc7, 0x82, 0x32, 0x0a, 0x14, 0x0e, 0xa8, 0x3c, 0x69, + 0x0e, 0x2e, 0xb0, 0x8b, 0x04, 0x8b, 0x76, 0x7d, 0x40, 0x96, 0x81, 0xca, +}; +static const unsigned char kat4094_addinpr1[] = {0}; +static const unsigned char kat4094_entropyinpr2[] = { + 0x12, 0xba, 0x76, 0x30, 0x9a, 0xd3, 0x49, 0xaa, 0xb1, 0xa4, 0x03, 0x78, + 0x54, 0x3d, 0xdb, 0x52, 0xfa, 0x97, 0x20, 0x0a, 0x29, 0x1b, 0x57, 0xc4, + 0x8f, 0xd4, 0x4b, 0x39, 0x6b, 0xa9, 0x25, 0xfa, 0x65, 0x2e, 0x48, 0x80, + 0x0e, 0x13, 0xf6, 0x2f, 0x6b, 0x38, 0x68, 0xc9, 0xd3, 0xf9, 0x52, 0x3f, +}; +static const unsigned char kat4094_addinpr2[] = {0}; +static const unsigned char kat4094_retbits[] = { + 0x0d, 0x03, 0xc6, 0x04, 0x4f, 0xcf, 0x9d, 0xc0, 0xa0, 0xb9, 0xaf, 0x8d, + 0x94, 0x37, 0x6c, 0x2c, 0xf0, 0x9b, 0x00, 0x67, 0x1c, 0x26, 0xfc, 0x72, + 0x0c, 0x69, 0x26, 0x9e, 0x74, 0xf5, 0xea, 0xb4, 0xea, 0xb6, 0xd5, 0x7e, + 0xb3, 0xcd, 0x50, 0xee, 0x96, 0x03, 0xfa, 0xea, 0xfd, 0x75, 0x22, 0xdf, + 0x43, 0xb7, 0xca, 0x9b, 0x18, 0x21, 0xb5, 0x17, 0xb3, 0xb5, 0x5c, 0x72, + 0xea, 0xc6, 0x86, 0xe3, +}; +static const struct drbg_kat_pr_true kat4094_t = { + 13, kat4094_entropyin, kat4094_nonce, kat4094_persstr, + kat4094_entropyinpr1, kat4094_addinpr1, kat4094_entropyinpr2, + kat4094_addinpr2, kat4094_retbits +}; +static const struct drbg_kat kat4094 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4094_t +}; + +static const unsigned char kat4095_entropyin[] = { + 0xfe, 0x00, 0xa4, 0xb1, 0x85, 0x45, 0x64, 0xde, 0x95, 0x11, 0xed, 0xca, + 0xf8, 0xfb, 0xb6, 0x9b, 0xd2, 0x5b, 0xcb, 0xc9, 0xe7, 0x8d, 0x32, 0x17, + 0xf7, 0x6c, 0xc5, 0xa3, 0x36, 0xfe, 0xb7, 0xc3, 0x9b, 0x22, 0x96, 0x56, + 0x1f, 0x69, 0xed, 0x45, 0xbd, 0xb2, 0x2a, 0x26, 0x5d, 0xa8, 0xd1, 0x04, +}; +static const unsigned char kat4095_nonce[] = {0}; +static const unsigned char kat4095_persstr[] = {0}; +static const unsigned char kat4095_entropyinpr1[] = { + 0x6f, 0x16, 0xff, 0x94, 0xcb, 0x8a, 0xde, 0x7a, 0x92, 0x8b, 0x9a, 0x59, + 0xaf, 0x32, 0xea, 0x79, 0x94, 0x4e, 0x68, 0x90, 0xa0, 0x03, 0xb0, 0xfe, + 0x18, 0xf5, 0x32, 0x36, 0xd6, 0x6a, 0x41, 0x16, 0xfc, 0x8c, 0x2f, 0xb4, + 0xc8, 0x4d, 0x25, 0xda, 0x21, 0x97, 0x06, 0x1c, 0x29, 0x70, 0x3d, 0x3e, +}; +static const unsigned char kat4095_addinpr1[] = {0}; +static const unsigned char kat4095_entropyinpr2[] = { + 0xc7, 0x3f, 0xe2, 0x3a, 0x8b, 0xa2, 0xbb, 0x78, 0x01, 0x78, 0x34, 0x25, + 0x98, 0x25, 0x2e, 0x9c, 0xe3, 0xde, 0x90, 0x7c, 0x4f, 0xc1, 0xcd, 0x63, + 0x2b, 0x35, 0x3c, 0xf9, 0x59, 0xff, 0x61, 0x0f, 0x23, 0xa8, 0xa2, 0xb0, + 0x42, 0x4a, 0xd1, 0x37, 0xae, 0xc7, 0xda, 0x42, 0xf8, 0xc9, 0xf2, 0xda, +}; +static const unsigned char kat4095_addinpr2[] = {0}; +static const unsigned char kat4095_retbits[] = { + 0x8f, 0x72, 0x61, 0xed, 0xf6, 0xd1, 0x08, 0x24, 0x21, 0x8a, 0xd0, 0xb1, + 0x08, 0x81, 0xe3, 0xc1, 0x25, 0x16, 0x37, 0xbb, 0xb7, 0x1d, 0x0f, 0x35, + 0x28, 0x0c, 0xae, 0xc7, 0xde, 0x25, 0x4e, 0x07, 0x14, 0x7f, 0x33, 0x28, + 0x8b, 0x5c, 0x60, 0x79, 0x40, 0x60, 0xb5, 0x9e, 0x6f, 0x5c, 0xc2, 0x93, + 0x8e, 0x4c, 0x29, 0xde, 0x1e, 0x4d, 0x5d, 0x4d, 0x3b, 0xde, 0x3f, 0x27, + 0xc3, 0xfa, 0xb9, 0x2d, +}; +static const struct drbg_kat_pr_true kat4095_t = { + 14, kat4095_entropyin, kat4095_nonce, kat4095_persstr, + kat4095_entropyinpr1, kat4095_addinpr1, kat4095_entropyinpr2, + kat4095_addinpr2, kat4095_retbits +}; +static const struct drbg_kat kat4095 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4095_t +}; + +static const unsigned char kat4096_entropyin[] = { + 0xc5, 0x19, 0xcd, 0x4f, 0x83, 0x9c, 0x9a, 0x5e, 0x93, 0x64, 0x85, 0x24, + 0x2c, 0x4d, 0xa8, 0x47, 0xf4, 0x7a, 0xf5, 0xb5, 0x44, 0xac, 0xd1, 0x2b, + 0x49, 0x03, 0x64, 0x53, 0x65, 0x5d, 0xe3, 0xed, 0x57, 0xb2, 0xae, 0x01, + 0x58, 0x22, 0xa6, 0x0e, 0xdc, 0xfb, 0x85, 0x9b, 0x00, 0xbb, 0xef, 0x2e, +}; +static const unsigned char kat4096_nonce[] = {0}; +static const unsigned char kat4096_persstr[] = {0}; +static const unsigned char kat4096_entropyinpr1[] = { + 0x04, 0x15, 0xf8, 0xfd, 0x00, 0xd4, 0xd2, 0x45, 0x47, 0x06, 0x14, 0x20, + 0x83, 0x34, 0x63, 0x04, 0xd8, 0x05, 0x1b, 0x82, 0x59, 0xd0, 0x8d, 0xe4, + 0x93, 0xd9, 0x91, 0xd3, 0x66, 0xa4, 0x2f, 0xd4, 0x52, 0xd6, 0x53, 0x33, + 0x46, 0x89, 0x6d, 0x32, 0x3b, 0xa1, 0x06, 0x6a, 0x48, 0x5e, 0xf1, 0x05, +}; +static const unsigned char kat4096_addinpr1[] = { + 0x7e, 0x95, 0xd8, 0x09, 0xc1, 0x1a, 0x7a, 0x97, 0x52, 0x30, 0xda, 0x95, + 0x99, 0xd0, 0x07, 0x31, 0x36, 0xbd, 0x05, 0x7a, 0x1a, 0x69, 0x90, 0xf9, + 0x80, 0x89, 0x4c, 0x01, 0x91, 0x2b, 0xc3, 0x9b, 0x8d, 0xac, 0x94, 0xc0, + 0x83, 0x93, 0x3d, 0x39, 0x27, 0x8f, 0x65, 0x54, 0x2d, 0xd8, 0xdd, 0x4e, +}; +static const unsigned char kat4096_entropyinpr2[] = { + 0x9a, 0x14, 0x65, 0x01, 0xa4, 0xdc, 0x93, 0x49, 0xb0, 0x39, 0x28, 0x97, + 0x26, 0x3c, 0xfa, 0x41, 0x4b, 0x6f, 0xc7, 0xe5, 0x9d, 0x70, 0x93, 0xab, + 0x66, 0xbd, 0x26, 0x5b, 0x7e, 0x41, 0xb5, 0xc2, 0x76, 0x6f, 0x56, 0xd9, + 0x7b, 0x7d, 0x22, 0xd0, 0x22, 0x20, 0xcb, 0xc3, 0x89, 0xb3, 0x4a, 0x6f, +}; +static const unsigned char kat4096_addinpr2[] = { + 0x18, 0x83, 0x57, 0xa4, 0xc4, 0xdb, 0xdd, 0x05, 0xcb, 0x6b, 0xc5, 0xd9, + 0x16, 0x0d, 0x5d, 0x95, 0x1c, 0xef, 0x6e, 0xd9, 0xab, 0x6c, 0x62, 0x2b, + 0x5a, 0x9c, 0xda, 0x2c, 0x76, 0x1d, 0x92, 0x78, 0x23, 0x5f, 0xbe, 0x9d, + 0x63, 0x12, 0xb9, 0xd8, 0x92, 0xa5, 0x9a, 0xbb, 0x7f, 0x3f, 0x48, 0x65, +}; +static const unsigned char kat4096_retbits[] = { + 0xcb, 0x79, 0xc7, 0x9d, 0xd1, 0x9a, 0x72, 0xb3, 0x03, 0xa2, 0x56, 0x82, + 0x66, 0xab, 0xf2, 0x3a, 0xd6, 0xe3, 0x41, 0xcf, 0xcf, 0xee, 0x8a, 0x76, + 0x8a, 0xf6, 0x45, 0x84, 0xe4, 0xe4, 0x71, 0xde, 0xdc, 0x0d, 0x83, 0x2a, + 0x04, 0xe8, 0xdc, 0xf4, 0xb8, 0x96, 0xad, 0x9b, 0xf4, 0xa4, 0xa2, 0x49, + 0x5c, 0xc6, 0xf3, 0xef, 0xd2, 0x2a, 0x68, 0x93, 0x84, 0x24, 0x71, 0x7d, + 0xd7, 0x5e, 0x83, 0xb0, +}; +static const struct drbg_kat_pr_true kat4096_t = { + 0, kat4096_entropyin, kat4096_nonce, kat4096_persstr, + kat4096_entropyinpr1, kat4096_addinpr1, kat4096_entropyinpr2, + kat4096_addinpr2, kat4096_retbits +}; +static const struct drbg_kat kat4096 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4096_t +}; + +static const unsigned char kat4097_entropyin[] = { + 0xad, 0x45, 0xe5, 0x14, 0x52, 0x98, 0xe5, 0xc4, 0x50, 0xe2, 0x42, 0x11, + 0x53, 0x9e, 0xf8, 0x18, 0xbe, 0xc6, 0x65, 0xb7, 0x8e, 0x77, 0xcc, 0x54, + 0xeb, 0x4e, 0x72, 0xb1, 0x5a, 0xa6, 0xae, 0xb9, 0x82, 0x2a, 0x8d, 0xfb, + 0xe2, 0x7d, 0xef, 0xae, 0xb7, 0xd0, 0x76, 0x2f, 0x8d, 0x01, 0xed, 0xd2, +}; +static const unsigned char kat4097_nonce[] = {0}; +static const unsigned char kat4097_persstr[] = {0}; +static const unsigned char kat4097_entropyinpr1[] = { + 0xfd, 0x98, 0x55, 0xb6, 0xae, 0x6a, 0x26, 0x10, 0x03, 0xfc, 0x0f, 0x25, + 0xfd, 0xd1, 0xa4, 0x8a, 0x9c, 0x9b, 0xfe, 0xb4, 0x4c, 0x84, 0x3b, 0xb1, + 0x6c, 0x3b, 0x9c, 0x89, 0x19, 0x83, 0x1f, 0x0a, 0x7b, 0xa2, 0xc9, 0x04, + 0xa5, 0x4f, 0x07, 0xa1, 0x95, 0xdd, 0x27, 0x2b, 0x5f, 0x76, 0xf0, 0xc6, +}; +static const unsigned char kat4097_addinpr1[] = { + 0x73, 0x7b, 0x0e, 0x8d, 0x18, 0x19, 0x31, 0x64, 0xb2, 0x84, 0xcc, 0x2f, + 0xd1, 0xd2, 0xb9, 0x41, 0x88, 0xb4, 0x9e, 0x79, 0x97, 0xc0, 0x5f, 0xd8, + 0x03, 0xb1, 0xc8, 0x76, 0x61, 0xce, 0x4c, 0x0c, 0xdd, 0x24, 0xb5, 0x7d, + 0x0b, 0xac, 0x8a, 0x6d, 0xec, 0x30, 0xba, 0x80, 0x10, 0xcd, 0xd7, 0x69, +}; +static const unsigned char kat4097_entropyinpr2[] = { + 0x61, 0x05, 0x68, 0x5b, 0x7f, 0x45, 0x5e, 0x04, 0x14, 0x56, 0x0a, 0xcf, + 0xba, 0x3e, 0x1e, 0x01, 0xad, 0x98, 0x23, 0x33, 0x19, 0x2a, 0xa6, 0x55, + 0x41, 0x68, 0x35, 0x76, 0x36, 0x8b, 0xaf, 0xf6, 0x7e, 0xe6, 0x89, 0x22, + 0x5e, 0xbb, 0xea, 0xd0, 0xf8, 0x32, 0xe9, 0xc8, 0x2d, 0xc1, 0x4c, 0x2d, +}; +static const unsigned char kat4097_addinpr2[] = { + 0xef, 0xf2, 0x93, 0x2d, 0x8e, 0xc3, 0x7d, 0x6a, 0x2e, 0xec, 0x22, 0xf7, + 0x61, 0x64, 0x4b, 0xd8, 0xb9, 0xd8, 0x1c, 0x05, 0x9e, 0xaf, 0xdc, 0x0a, + 0xc1, 0x10, 0x00, 0x37, 0x59, 0x1c, 0x6b, 0x2b, 0x11, 0x5c, 0x60, 0x6a, + 0xbf, 0x88, 0x01, 0x77, 0x6c, 0x7c, 0x80, 0xef, 0xd9, 0xbc, 0x1c, 0x9e, +}; +static const unsigned char kat4097_retbits[] = { + 0xc9, 0x13, 0x4f, 0xe3, 0x98, 0xa5, 0x08, 0x60, 0xb2, 0x78, 0x9f, 0x1e, + 0xf4, 0x07, 0x3b, 0x1d, 0xab, 0xd7, 0x40, 0x23, 0x48, 0x9a, 0xa8, 0x0e, + 0x98, 0x17, 0xd9, 0x6c, 0x75, 0xee, 0xe3, 0x30, 0x3f, 0xeb, 0xab, 0x1d, + 0xf3, 0xb5, 0xca, 0xa3, 0x9f, 0xb5, 0xfd, 0xcb, 0x57, 0xee, 0x11, 0xac, + 0x03, 0xb5, 0xc2, 0xf2, 0x0a, 0x5d, 0xc7, 0x1b, 0x75, 0xcd, 0x85, 0x0f, + 0x07, 0x92, 0x58, 0x60, +}; +static const struct drbg_kat_pr_true kat4097_t = { + 1, kat4097_entropyin, kat4097_nonce, kat4097_persstr, + kat4097_entropyinpr1, kat4097_addinpr1, kat4097_entropyinpr2, + kat4097_addinpr2, kat4097_retbits +}; +static const struct drbg_kat kat4097 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4097_t +}; + +static const unsigned char kat4098_entropyin[] = { + 0xb8, 0x68, 0xea, 0xbd, 0x46, 0x8d, 0xb8, 0x6a, 0xcf, 0x05, 0xe4, 0x75, + 0x67, 0x6c, 0x36, 0x89, 0x0e, 0x67, 0xfd, 0x45, 0xfb, 0x6d, 0x3e, 0xd9, + 0xe8, 0xf2, 0x2b, 0x7e, 0xd6, 0x1f, 0x85, 0xa5, 0x2d, 0xb7, 0x06, 0xd8, + 0x48, 0xcc, 0x46, 0x28, 0x03, 0xa1, 0xa4, 0xa3, 0x15, 0x1c, 0x03, 0xe6, +}; +static const unsigned char kat4098_nonce[] = {0}; +static const unsigned char kat4098_persstr[] = {0}; +static const unsigned char kat4098_entropyinpr1[] = { + 0xf4, 0x1c, 0x70, 0xdf, 0x2d, 0xe4, 0x36, 0xa6, 0xb8, 0x80, 0x32, 0xd2, + 0xdd, 0xd9, 0x68, 0x64, 0xf9, 0x8d, 0xd1, 0x59, 0xcf, 0x2b, 0xb0, 0xea, + 0xc1, 0x14, 0x12, 0xad, 0x78, 0xb8, 0xd7, 0xe8, 0xb0, 0x66, 0xaf, 0x5b, + 0x05, 0x2b, 0x0d, 0xe9, 0xe7, 0xf0, 0xa1, 0xf9, 0x74, 0x5a, 0x61, 0x93, +}; +static const unsigned char kat4098_addinpr1[] = { + 0x8d, 0xda, 0x56, 0x63, 0x81, 0xf0, 0xe0, 0x05, 0x92, 0xf3, 0x9b, 0x2f, + 0xb5, 0x58, 0x90, 0x3d, 0xe2, 0x50, 0x7b, 0x28, 0xfe, 0x42, 0xcf, 0xc2, + 0x4c, 0x4e, 0xe5, 0x6a, 0x67, 0xd2, 0x7c, 0x1f, 0xeb, 0x54, 0xb5, 0x2e, + 0xa2, 0x4e, 0x6f, 0x65, 0x5d, 0x6b, 0x13, 0xc5, 0x5c, 0x0f, 0x00, 0xa9, +}; +static const unsigned char kat4098_entropyinpr2[] = { + 0x32, 0x84, 0x34, 0x3f, 0x4e, 0xd4, 0x0c, 0x8e, 0xe3, 0xfa, 0x73, 0x99, + 0x1c, 0xf8, 0xd4, 0xcb, 0x40, 0x53, 0x5e, 0xff, 0x59, 0xad, 0x08, 0xaf, + 0x7a, 0xf7, 0xdc, 0xbe, 0x70, 0x00, 0x39, 0x36, 0x15, 0xed, 0x83, 0x7a, + 0xef, 0x7c, 0x96, 0x77, 0x26, 0xc6, 0xc9, 0x29, 0x37, 0x06, 0xec, 0x96, +}; +static const unsigned char kat4098_addinpr2[] = { + 0x9f, 0x8f, 0xd2, 0x69, 0x15, 0x4a, 0x00, 0xd8, 0x51, 0xcf, 0x21, 0x59, + 0x8a, 0x99, 0x63, 0x39, 0x94, 0x78, 0xd5, 0xed, 0xb9, 0xde, 0x33, 0xfb, + 0x54, 0xfd, 0x03, 0xed, 0xf3, 0xcf, 0xcc, 0xc1, 0x8f, 0xf0, 0xb6, 0x5c, + 0x41, 0xa5, 0x54, 0x86, 0x74, 0xed, 0xb6, 0x75, 0xdc, 0x0a, 0x67, 0x95, +}; +static const unsigned char kat4098_retbits[] = { + 0xbb, 0xf1, 0x34, 0xfa, 0x70, 0xb8, 0x2f, 0xbc, 0x74, 0xb5, 0x83, 0x0c, + 0x5a, 0x9f, 0x1f, 0xff, 0xa0, 0x7d, 0x1d, 0xf7, 0x17, 0xdb, 0x32, 0x34, + 0xab, 0xbd, 0xa3, 0x89, 0x7a, 0x0d, 0xea, 0x34, 0x49, 0xa3, 0xb5, 0xe6, + 0xff, 0x6d, 0x1b, 0xbf, 0x5a, 0x62, 0xbf, 0x50, 0xb5, 0xed, 0x1d, 0x44, + 0x3c, 0x20, 0x41, 0x71, 0x65, 0x6d, 0xa0, 0xd2, 0xa0, 0x21, 0xaf, 0xc3, + 0x2e, 0x3d, 0x36, 0xe8, +}; +static const struct drbg_kat_pr_true kat4098_t = { + 2, kat4098_entropyin, kat4098_nonce, kat4098_persstr, + kat4098_entropyinpr1, kat4098_addinpr1, kat4098_entropyinpr2, + kat4098_addinpr2, kat4098_retbits +}; +static const struct drbg_kat kat4098 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4098_t +}; + +static const unsigned char kat4099_entropyin[] = { + 0x68, 0x52, 0x98, 0xd3, 0x28, 0x18, 0xb0, 0x79, 0x0d, 0xb7, 0x10, 0x1c, + 0x9b, 0x71, 0x28, 0x40, 0xa2, 0x2b, 0x78, 0xa6, 0x40, 0xe1, 0x8b, 0x5b, + 0xb1, 0x61, 0xb6, 0xed, 0x76, 0xa0, 0x2f, 0xf5, 0x8d, 0x8c, 0xf2, 0x1e, + 0xc8, 0xbd, 0x53, 0x30, 0x64, 0x9d, 0xef, 0x28, 0x28, 0x75, 0x23, 0xdd, +}; +static const unsigned char kat4099_nonce[] = {0}; +static const unsigned char kat4099_persstr[] = {0}; +static const unsigned char kat4099_entropyinpr1[] = { + 0xe4, 0x60, 0xe8, 0x9f, 0x3e, 0x24, 0x81, 0x6c, 0xd0, 0x34, 0x44, 0x58, + 0xf2, 0x49, 0xff, 0xcc, 0xb2, 0xac, 0x0e, 0x83, 0x04, 0x46, 0x14, 0xbe, + 0x4e, 0x62, 0x14, 0xbc, 0x67, 0x54, 0x65, 0x2c, 0x7b, 0x91, 0xd9, 0xdb, + 0x26, 0xac, 0x82, 0xfe, 0x51, 0x5f, 0x0e, 0x50, 0x76, 0x9d, 0x75, 0x65, +}; +static const unsigned char kat4099_addinpr1[] = { + 0x7f, 0x01, 0xfd, 0x9f, 0x09, 0x5e, 0xb0, 0x91, 0xa7, 0x00, 0xc2, 0xf9, + 0xd4, 0x78, 0x52, 0x97, 0xa7, 0x34, 0x04, 0x78, 0x53, 0x79, 0xf5, 0xb5, + 0x90, 0xee, 0x3a, 0x5e, 0x24, 0x21, 0xe5, 0x3d, 0xbf, 0xfb, 0xaa, 0xd8, + 0x4c, 0x1d, 0xb5, 0xd1, 0x24, 0x16, 0xfd, 0x49, 0x80, 0x3f, 0xfe, 0x76, +}; +static const unsigned char kat4099_entropyinpr2[] = { + 0x5f, 0x49, 0xc5, 0x29, 0x19, 0x6c, 0x6e, 0x04, 0x93, 0x60, 0x20, 0xfe, + 0xeb, 0x33, 0x2a, 0xf6, 0x94, 0xd0, 0x8a, 0xdb, 0x2d, 0x3a, 0xb5, 0xa9, + 0x3d, 0x35, 0x4b, 0x4e, 0xeb, 0xb8, 0x88, 0x0e, 0xcb, 0xbd, 0xc6, 0x06, + 0x33, 0x35, 0x88, 0x37, 0x29, 0xe5, 0x0b, 0x37, 0xa0, 0x2f, 0x0b, 0xe8, +}; +static const unsigned char kat4099_addinpr2[] = { + 0x3d, 0x84, 0x0b, 0x52, 0x46, 0xf2, 0x29, 0x73, 0x97, 0x3c, 0xdf, 0x48, + 0xc9, 0x0a, 0xe0, 0xdc, 0xef, 0x5c, 0xbc, 0xef, 0xef, 0xe5, 0x08, 0xe4, + 0x6d, 0xee, 0x51, 0xdf, 0x53, 0x5d, 0xf4, 0x37, 0x8c, 0xe3, 0xe5, 0x07, + 0x82, 0x6d, 0x4f, 0x2a, 0x67, 0x28, 0xdb, 0xe7, 0xc7, 0x02, 0xcd, 0x01, +}; +static const unsigned char kat4099_retbits[] = { + 0x54, 0xd0, 0xfb, 0x8f, 0x3f, 0xd4, 0x65, 0x16, 0xdd, 0xfb, 0x26, 0x85, + 0x56, 0x0d, 0x4c, 0xfe, 0x97, 0x7b, 0xd0, 0x65, 0x9a, 0xf6, 0xbc, 0x00, + 0x22, 0x4f, 0xc9, 0x99, 0x44, 0x04, 0x18, 0x7a, 0x12, 0x35, 0xec, 0xa2, + 0xde, 0x5d, 0x4e, 0x7e, 0x8f, 0xe6, 0x93, 0xe1, 0xbe, 0xf4, 0xd5, 0x56, + 0x15, 0xf4, 0x45, 0x9e, 0xb0, 0x2a, 0x00, 0x9c, 0xea, 0x6e, 0x28, 0xd6, + 0x79, 0x0c, 0x0b, 0x83, +}; +static const struct drbg_kat_pr_true kat4099_t = { + 3, kat4099_entropyin, kat4099_nonce, kat4099_persstr, + kat4099_entropyinpr1, kat4099_addinpr1, kat4099_entropyinpr2, + kat4099_addinpr2, kat4099_retbits +}; +static const struct drbg_kat kat4099 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4099_t +}; + +static const unsigned char kat4100_entropyin[] = { + 0xeb, 0xce, 0x52, 0x24, 0x78, 0xe3, 0x70, 0x8b, 0x09, 0xd7, 0xa1, 0xaf, + 0x97, 0x03, 0x58, 0x90, 0xe7, 0x73, 0xfa, 0xd0, 0x35, 0x0d, 0x83, 0x6c, + 0xba, 0xcd, 0xa5, 0x77, 0x4a, 0x96, 0x19, 0x67, 0xc8, 0x8b, 0x1c, 0x24, + 0x90, 0x57, 0x86, 0xd3, 0x64, 0x05, 0x2a, 0xc7, 0x95, 0xdb, 0xa9, 0x97, +}; +static const unsigned char kat4100_nonce[] = {0}; +static const unsigned char kat4100_persstr[] = {0}; +static const unsigned char kat4100_entropyinpr1[] = { + 0x58, 0x40, 0xf1, 0xb8, 0x66, 0x09, 0x55, 0x2d, 0xfb, 0x50, 0x47, 0xb9, + 0xf0, 0x53, 0x14, 0x9b, 0xb3, 0xb3, 0x86, 0x77, 0xb3, 0xeb, 0xce, 0x1c, + 0x28, 0x0e, 0x2b, 0x99, 0xd6, 0xd2, 0xc6, 0xdc, 0x7e, 0x0a, 0xb7, 0x46, + 0x83, 0x3c, 0x5d, 0x6e, 0x5b, 0xb0, 0x8a, 0xa5, 0x72, 0x91, 0xcc, 0xbd, +}; +static const unsigned char kat4100_addinpr1[] = { + 0x07, 0x55, 0x64, 0xaa, 0x76, 0x67, 0x36, 0xe1, 0x71, 0xfb, 0xae, 0x47, + 0x85, 0xd4, 0xb9, 0xb1, 0xbc, 0x97, 0xe0, 0xea, 0x77, 0x41, 0x8e, 0xe7, + 0xaa, 0x7a, 0x4b, 0xce, 0x18, 0xfe, 0x87, 0x11, 0x33, 0x2e, 0xed, 0x06, + 0x40, 0x18, 0x85, 0x01, 0x1e, 0x66, 0x3e, 0x42, 0x94, 0xf5, 0x9b, 0x49, +}; +static const unsigned char kat4100_entropyinpr2[] = { + 0x43, 0x47, 0x91, 0xd1, 0x75, 0xc7, 0x03, 0x6a, 0x1f, 0x44, 0x20, 0x60, + 0xdc, 0x81, 0x99, 0x40, 0x48, 0xc7, 0x70, 0x37, 0x27, 0x98, 0xbd, 0x1c, + 0x5f, 0x63, 0xaf, 0xa4, 0xb5, 0x4c, 0xeb, 0xbd, 0x17, 0x17, 0x99, 0xce, + 0xdc, 0xb3, 0x64, 0xc4, 0x9e, 0x24, 0x9a, 0xf6, 0xe8, 0xfe, 0xa2, 0xa6, +}; +static const unsigned char kat4100_addinpr2[] = { + 0x20, 0xbf, 0x31, 0x91, 0xdd, 0x5e, 0x46, 0xb9, 0x9b, 0x1c, 0x26, 0x4f, + 0x0c, 0x35, 0x34, 0xbf, 0xa5, 0xff, 0x96, 0x31, 0xc6, 0xb0, 0xff, 0xc1, + 0xab, 0xa6, 0x5d, 0x85, 0x8d, 0x3b, 0xa5, 0x73, 0x09, 0x05, 0xe1, 0xa0, + 0xa0, 0xda, 0x28, 0x99, 0x59, 0xfa, 0x43, 0x82, 0xe5, 0x61, 0x95, 0x37, +}; +static const unsigned char kat4100_retbits[] = { + 0xd7, 0xb7, 0x22, 0xae, 0xbe, 0xbb, 0x06, 0x49, 0x0d, 0x5a, 0x71, 0x35, + 0x35, 0x12, 0x81, 0xb8, 0x2c, 0x6e, 0xcb, 0x34, 0xdd, 0x03, 0x6f, 0xbb, + 0xc8, 0x9f, 0x94, 0x0b, 0x73, 0xc6, 0x0f, 0x73, 0x0e, 0x0e, 0x3a, 0xff, + 0xcd, 0x3c, 0xde, 0x85, 0x4c, 0xea, 0xf6, 0x70, 0xa6, 0xbd, 0x35, 0x5c, + 0xdf, 0x39, 0xe1, 0x17, 0x20, 0x29, 0x2e, 0xb7, 0x91, 0x92, 0x3e, 0x3e, + 0x97, 0x35, 0x8a, 0x83, +}; +static const struct drbg_kat_pr_true kat4100_t = { + 4, kat4100_entropyin, kat4100_nonce, kat4100_persstr, + kat4100_entropyinpr1, kat4100_addinpr1, kat4100_entropyinpr2, + kat4100_addinpr2, kat4100_retbits +}; +static const struct drbg_kat kat4100 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4100_t +}; + +static const unsigned char kat4101_entropyin[] = { + 0xde, 0xef, 0x73, 0xc8, 0xbc, 0x87, 0x18, 0x1e, 0xab, 0x0e, 0x44, 0x8f, + 0x4a, 0x30, 0x10, 0xc4, 0x83, 0x0b, 0x65, 0xc6, 0x16, 0x63, 0x2f, 0x6d, + 0xec, 0x91, 0x0a, 0x11, 0xa2, 0x06, 0x1b, 0x03, 0xc1, 0x62, 0x10, 0x4a, + 0xa6, 0xd0, 0x60, 0x90, 0xc2, 0x58, 0x15, 0x22, 0xee, 0x4f, 0xe3, 0x65, +}; +static const unsigned char kat4101_nonce[] = {0}; +static const unsigned char kat4101_persstr[] = {0}; +static const unsigned char kat4101_entropyinpr1[] = { + 0x1f, 0x61, 0xa2, 0xae, 0x14, 0x70, 0xb9, 0xa7, 0x3a, 0x0a, 0x86, 0xef, + 0x94, 0xe6, 0xd5, 0xe2, 0x71, 0x5e, 0xdd, 0x36, 0xf2, 0x3c, 0x84, 0x41, + 0xcd, 0x00, 0x75, 0xa4, 0x1f, 0xc1, 0xe5, 0xd9, 0x5b, 0xeb, 0x6c, 0x5b, + 0x9b, 0x68, 0xfe, 0x8d, 0x5d, 0x27, 0x00, 0x56, 0xbf, 0x46, 0x60, 0xdb, +}; +static const unsigned char kat4101_addinpr1[] = { + 0x91, 0xe3, 0x57, 0x07, 0x2a, 0x50, 0xc7, 0x5b, 0x61, 0xa4, 0x91, 0xe3, + 0x99, 0xf1, 0x16, 0x18, 0xf6, 0xea, 0x97, 0x06, 0xe5, 0x89, 0x3c, 0xce, + 0xd1, 0xd8, 0xbf, 0xde, 0xac, 0xc7, 0x28, 0x05, 0xfb, 0x71, 0x82, 0xf3, + 0xf3, 0x50, 0x20, 0x2f, 0xa1, 0xad, 0x11, 0xa5, 0x02, 0x45, 0x50, 0xc0, +}; +static const unsigned char kat4101_entropyinpr2[] = { + 0x54, 0x24, 0x94, 0xc8, 0x31, 0xe8, 0x41, 0x76, 0x3d, 0x96, 0x9f, 0x9b, + 0x13, 0xe7, 0x11, 0x9d, 0xac, 0xc7, 0xa7, 0xb8, 0x03, 0xf4, 0x57, 0x17, + 0x1b, 0xa8, 0x32, 0xbb, 0x88, 0xe7, 0xe7, 0x59, 0x73, 0xf0, 0xca, 0xd6, + 0x82, 0x05, 0x3d, 0xeb, 0x58, 0x93, 0x75, 0x74, 0x3e, 0x87, 0x29, 0x00, +}; +static const unsigned char kat4101_addinpr2[] = { + 0xe1, 0x82, 0x1a, 0xac, 0xa6, 0xda, 0x73, 0xb2, 0x7d, 0xcf, 0xea, 0x54, + 0x54, 0x80, 0x52, 0x63, 0x17, 0x31, 0x47, 0xce, 0x42, 0xa8, 0xd2, 0xdb, + 0xcf, 0x5a, 0x61, 0xe6, 0xae, 0xd8, 0xe4, 0x92, 0xba, 0x7a, 0xed, 0xb4, + 0xe4, 0xd5, 0xbc, 0x0c, 0x5d, 0xc8, 0x4f, 0xf6, 0x9b, 0x42, 0x2d, 0x58, +}; +static const unsigned char kat4101_retbits[] = { + 0xdc, 0x46, 0x2a, 0xa9, 0x76, 0xf7, 0x3e, 0x05, 0xb9, 0xf7, 0x34, 0xae, + 0x17, 0xdb, 0xe2, 0xef, 0xee, 0x06, 0x0e, 0xf8, 0xd5, 0xfd, 0x31, 0x74, + 0x0f, 0x34, 0x0c, 0x26, 0x53, 0xe3, 0x2a, 0x7e, 0x66, 0xd2, 0x2b, 0x89, + 0x4e, 0xdc, 0x4b, 0x19, 0x5a, 0x07, 0xd9, 0x0b, 0xe3, 0x64, 0xbd, 0x9e, + 0xee, 0x1c, 0xc1, 0x88, 0x5b, 0x91, 0x12, 0x0a, 0x75, 0x65, 0x46, 0x08, + 0x7f, 0x03, 0xb7, 0x59, +}; +static const struct drbg_kat_pr_true kat4101_t = { + 5, kat4101_entropyin, kat4101_nonce, kat4101_persstr, + kat4101_entropyinpr1, kat4101_addinpr1, kat4101_entropyinpr2, + kat4101_addinpr2, kat4101_retbits +}; +static const struct drbg_kat kat4101 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4101_t +}; + +static const unsigned char kat4102_entropyin[] = { + 0x40, 0x49, 0x6b, 0x31, 0xf3, 0x21, 0x82, 0x00, 0xd8, 0x44, 0x55, 0x2b, + 0x0e, 0x07, 0x6e, 0x9d, 0xf0, 0xa1, 0xbc, 0xc0, 0xf4, 0x0d, 0x4f, 0xe3, + 0xc0, 0xaf, 0x0d, 0xea, 0xe4, 0x4e, 0x2f, 0x82, 0x33, 0xff, 0x95, 0x2b, + 0x29, 0x23, 0x54, 0xcc, 0x25, 0xb1, 0x7e, 0xd0, 0xd1, 0xf8, 0x7f, 0x55, +}; +static const unsigned char kat4102_nonce[] = {0}; +static const unsigned char kat4102_persstr[] = {0}; +static const unsigned char kat4102_entropyinpr1[] = { + 0x83, 0x14, 0x7a, 0xc1, 0xae, 0xc7, 0xb0, 0xec, 0x82, 0x39, 0x0e, 0xb1, + 0x9a, 0x64, 0x31, 0x49, 0xf9, 0xdd, 0xda, 0x1a, 0xb6, 0x83, 0x34, 0xdd, + 0xb5, 0xa8, 0xdb, 0x64, 0xed, 0x48, 0x39, 0xce, 0xe4, 0x88, 0x01, 0x1a, + 0x0a, 0x1c, 0x34, 0xa6, 0xe2, 0x22, 0xee, 0x5e, 0xd7, 0x50, 0x72, 0x72, +}; +static const unsigned char kat4102_addinpr1[] = { + 0xb9, 0x7c, 0x0c, 0xab, 0x1f, 0x60, 0xee, 0xa1, 0xb4, 0x41, 0x76, 0xd8, + 0x56, 0x88, 0x3e, 0xf4, 0xe4, 0x4e, 0x68, 0x93, 0xdb, 0x79, 0x22, 0x06, + 0xdc, 0xc7, 0x1a, 0x77, 0xef, 0xf4, 0x34, 0xac, 0x18, 0xfa, 0xbd, 0x3e, + 0xa4, 0xc2, 0x93, 0xd5, 0x1c, 0x0d, 0xc4, 0x06, 0x55, 0x71, 0x83, 0xab, +}; +static const unsigned char kat4102_entropyinpr2[] = { + 0x9b, 0xff, 0x44, 0x5e, 0x46, 0xb4, 0xb9, 0x21, 0xca, 0xdb, 0xab, 0xec, + 0xda, 0xb1, 0xd2, 0x9b, 0x40, 0x47, 0x7e, 0x48, 0xa7, 0x11, 0xcb, 0xa5, + 0x64, 0x7c, 0xc7, 0x9a, 0xbf, 0xc5, 0x2f, 0xe0, 0xf1, 0xb7, 0xdc, 0x3c, + 0x93, 0x1a, 0xd5, 0x4a, 0x24, 0x7a, 0x66, 0xd6, 0xbe, 0xbc, 0x0d, 0x54, +}; +static const unsigned char kat4102_addinpr2[] = { + 0xec, 0x41, 0x34, 0xaf, 0x36, 0x32, 0x78, 0x04, 0xae, 0x3a, 0x41, 0x42, + 0xd4, 0x98, 0x48, 0x24, 0x53, 0xee, 0xe1, 0x70, 0xf8, 0xd7, 0xc6, 0x21, + 0xc0, 0x05, 0x6e, 0xb4, 0x0c, 0x53, 0x81, 0x6b, 0x38, 0xe1, 0x2d, 0xc6, + 0xd6, 0xa2, 0xf6, 0x90, 0xec, 0x4f, 0xd3, 0xa0, 0x7c, 0x13, 0xee, 0x10, +}; +static const unsigned char kat4102_retbits[] = { + 0x2e, 0x4d, 0xf6, 0x67, 0xd9, 0x77, 0x8b, 0x97, 0x18, 0xa0, 0xa0, 0x25, + 0xf6, 0x12, 0xdc, 0x57, 0x47, 0x62, 0x85, 0x7b, 0xc7, 0x0b, 0x11, 0x20, + 0x62, 0x21, 0xcc, 0x28, 0xe2, 0xed, 0xe4, 0x62, 0xcf, 0x8e, 0xd4, 0xe0, + 0x5f, 0xd5, 0xca, 0x0f, 0x4f, 0x7c, 0x75, 0x98, 0xfa, 0x91, 0xec, 0x4f, + 0x03, 0xdf, 0x8c, 0xeb, 0xbd, 0x8c, 0x6c, 0x07, 0x8b, 0xfa, 0xcb, 0x0e, + 0x72, 0x83, 0xff, 0x34, +}; +static const struct drbg_kat_pr_true kat4102_t = { + 6, kat4102_entropyin, kat4102_nonce, kat4102_persstr, + kat4102_entropyinpr1, kat4102_addinpr1, kat4102_entropyinpr2, + kat4102_addinpr2, kat4102_retbits +}; +static const struct drbg_kat kat4102 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4102_t +}; + +static const unsigned char kat4103_entropyin[] = { + 0x9c, 0x2a, 0x30, 0xf6, 0xce, 0x80, 0xf9, 0x24, 0xc8, 0xd3, 0x8d, 0x68, + 0xa7, 0xb3, 0xc5, 0xf0, 0xc6, 0x19, 0xa4, 0x66, 0xd7, 0x15, 0x9a, 0x3b, + 0x76, 0xa9, 0xdc, 0xdd, 0x74, 0x21, 0x87, 0x1d, 0xff, 0x73, 0x8f, 0x80, + 0xb8, 0xe7, 0x7f, 0x1b, 0xae, 0xce, 0xf8, 0x47, 0x77, 0xc0, 0x01, 0x6e, +}; +static const unsigned char kat4103_nonce[] = {0}; +static const unsigned char kat4103_persstr[] = {0}; +static const unsigned char kat4103_entropyinpr1[] = { + 0x08, 0x26, 0x76, 0xfa, 0x9f, 0x61, 0xc8, 0xb0, 0xf0, 0x04, 0xa0, 0x0d, + 0x30, 0xf4, 0x8b, 0xd3, 0x64, 0xe0, 0xee, 0x4f, 0xa3, 0xf3, 0xba, 0xde, + 0x4f, 0xdf, 0xa7, 0xd4, 0x7f, 0x2e, 0xf6, 0x93, 0x3d, 0x23, 0x71, 0x31, + 0x1e, 0x27, 0x5e, 0x9e, 0x02, 0xbb, 0xc5, 0xd2, 0x0a, 0x21, 0x0d, 0x6a, +}; +static const unsigned char kat4103_addinpr1[] = { + 0xd6, 0xab, 0x56, 0xb1, 0xa1, 0x04, 0x9c, 0x40, 0x9a, 0x4c, 0x5d, 0xd0, + 0x7f, 0xb8, 0xac, 0xa0, 0x76, 0xb7, 0x73, 0x89, 0xe4, 0x4a, 0xc4, 0x9f, + 0x44, 0x56, 0xaf, 0xb7, 0x82, 0xef, 0xc1, 0x28, 0xcd, 0x4f, 0x27, 0xe6, + 0x16, 0xa0, 0xfb, 0x9b, 0x73, 0xf3, 0x59, 0xcc, 0xc6, 0xca, 0x89, 0x3a, +}; +static const unsigned char kat4103_entropyinpr2[] = { + 0x94, 0x2f, 0xd3, 0xf0, 0xb8, 0xed, 0xf1, 0xad, 0x60, 0x69, 0x36, 0xbc, + 0x5f, 0x00, 0xb5, 0x5d, 0xc0, 0x15, 0x5a, 0xa1, 0xbc, 0x69, 0xc7, 0xa8, + 0xe6, 0x1d, 0xfb, 0x9e, 0xe5, 0x1d, 0x3c, 0x3e, 0x5e, 0xa8, 0xa9, 0x3f, + 0x3c, 0x68, 0x8b, 0x1e, 0x81, 0xfa, 0xc5, 0xcd, 0x01, 0xb4, 0xa4, 0xc1, +}; +static const unsigned char kat4103_addinpr2[] = { + 0x90, 0xde, 0x48, 0xbc, 0x64, 0xda, 0x62, 0x86, 0x1d, 0xf4, 0x73, 0x15, + 0xf2, 0x38, 0xa2, 0xbf, 0xa8, 0x9b, 0xe8, 0x04, 0x0a, 0x02, 0xb9, 0xfc, + 0x61, 0xcd, 0x6d, 0xcc, 0xcd, 0xdf, 0x58, 0x88, 0xcf, 0x77, 0x6f, 0xa4, + 0x3e, 0x72, 0xb0, 0x3c, 0x0a, 0x11, 0x20, 0x9f, 0x26, 0x04, 0xbd, 0x7e, +}; +static const unsigned char kat4103_retbits[] = { + 0xdc, 0xbc, 0xbc, 0x30, 0x12, 0xd5, 0xbb, 0x17, 0x19, 0x13, 0x0d, 0x29, + 0x81, 0xf4, 0xd2, 0xcd, 0x64, 0x06, 0x11, 0x62, 0xf2, 0xf0, 0x55, 0xa2, + 0x73, 0x88, 0xbc, 0xd9, 0xc3, 0x6e, 0x2a, 0x7c, 0x6b, 0xe1, 0x7b, 0x04, + 0xc7, 0x0f, 0x02, 0x41, 0x4d, 0xea, 0x72, 0xd4, 0x74, 0xc2, 0xf0, 0xc9, + 0x6e, 0x4a, 0xe2, 0x55, 0xac, 0x3f, 0x36, 0x79, 0x7c, 0x53, 0xd1, 0x88, + 0x6a, 0x1b, 0x03, 0xf3, +}; +static const struct drbg_kat_pr_true kat4103_t = { + 7, kat4103_entropyin, kat4103_nonce, kat4103_persstr, + kat4103_entropyinpr1, kat4103_addinpr1, kat4103_entropyinpr2, + kat4103_addinpr2, kat4103_retbits +}; +static const struct drbg_kat kat4103 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4103_t +}; + +static const unsigned char kat4104_entropyin[] = { + 0x93, 0x62, 0xde, 0x1a, 0xbb, 0x49, 0xe4, 0xb7, 0xcd, 0x5f, 0x27, 0xe7, + 0x0f, 0xa1, 0x8c, 0x40, 0x91, 0x61, 0xf1, 0x82, 0x29, 0x87, 0xf2, 0x3a, + 0xca, 0x6f, 0x1e, 0xf5, 0x8d, 0x08, 0x10, 0x80, 0x75, 0xcb, 0x13, 0xab, + 0x81, 0x8c, 0x0a, 0x2b, 0x5e, 0xa7, 0x41, 0xcf, 0x9d, 0x4b, 0x21, 0x74, +}; +static const unsigned char kat4104_nonce[] = {0}; +static const unsigned char kat4104_persstr[] = {0}; +static const unsigned char kat4104_entropyinpr1[] = { + 0xbc, 0x6f, 0xb8, 0xb7, 0xa1, 0x0b, 0x6b, 0xaa, 0xaa, 0xb5, 0x8c, 0x16, + 0x7a, 0x3f, 0x33, 0x05, 0x8d, 0xb1, 0xe5, 0xea, 0x90, 0xf6, 0xaa, 0xc7, + 0xaf, 0x10, 0x0c, 0x03, 0xc5, 0xaa, 0x12, 0x0c, 0x33, 0x30, 0xde, 0x7d, + 0xf1, 0x6e, 0x12, 0x07, 0x6e, 0xcd, 0x68, 0x14, 0x98, 0x40, 0xa1, 0xfb, +}; +static const unsigned char kat4104_addinpr1[] = { + 0x58, 0x6f, 0xb1, 0x84, 0xb4, 0x7e, 0x1a, 0x98, 0x39, 0x91, 0xac, 0x64, + 0x58, 0xba, 0x02, 0xd2, 0x7b, 0x92, 0x58, 0x16, 0x0a, 0xcb, 0x4e, 0xf0, + 0x1a, 0xcb, 0x95, 0x0f, 0x9d, 0xa7, 0x80, 0xd8, 0xfc, 0x9b, 0xdc, 0x69, + 0x0f, 0x92, 0x13, 0x5f, 0x53, 0xb0, 0xd5, 0x19, 0xb2, 0x11, 0xc4, 0x0b, +}; +static const unsigned char kat4104_entropyinpr2[] = { + 0xe7, 0xa6, 0x83, 0xec, 0x66, 0x1a, 0xf9, 0x7e, 0x2d, 0xf1, 0xc5, 0x99, + 0xcc, 0x13, 0x01, 0x14, 0xa7, 0xbb, 0xa9, 0xe2, 0x8f, 0xb3, 0x2e, 0xd8, + 0xc0, 0x53, 0x11, 0x69, 0xc7, 0x57, 0xb2, 0xcf, 0xde, 0x39, 0xef, 0xaf, + 0xd1, 0x44, 0xde, 0x42, 0x17, 0x4b, 0x46, 0x91, 0x9f, 0x77, 0x37, 0xe1, +}; +static const unsigned char kat4104_addinpr2[] = { + 0x04, 0x71, 0x01, 0xcf, 0xc7, 0x52, 0x50, 0xcb, 0x55, 0xed, 0x8b, 0x09, + 0xbd, 0x4e, 0x83, 0x88, 0x06, 0x0e, 0xc0, 0xaf, 0xa8, 0x95, 0x27, 0xa5, + 0x57, 0xac, 0x36, 0xc1, 0x17, 0x69, 0x2e, 0x3e, 0xfd, 0x60, 0x3e, 0x3f, + 0x46, 0x44, 0x16, 0xd4, 0x36, 0xb4, 0x1a, 0xfa, 0x05, 0xac, 0xdf, 0xee, +}; +static const unsigned char kat4104_retbits[] = { + 0xd8, 0x79, 0x68, 0x57, 0x54, 0xc7, 0xd3, 0x48, 0x3f, 0x60, 0x15, 0xf6, + 0x81, 0x8b, 0xa6, 0xb5, 0x8b, 0xb3, 0x81, 0x59, 0x21, 0xff, 0x31, 0xbd, + 0x24, 0x4a, 0x9a, 0x03, 0x49, 0x05, 0xb6, 0x0e, 0x48, 0x34, 0xfe, 0x6e, + 0x7e, 0x05, 0x68, 0x43, 0x8b, 0xf0, 0x19, 0x1e, 0xad, 0xda, 0x9c, 0x84, + 0x93, 0xdc, 0x90, 0x02, 0x34, 0x24, 0xdb, 0x9b, 0xc4, 0x2a, 0xcf, 0x68, + 0x2a, 0xac, 0x9f, 0x92, +}; +static const struct drbg_kat_pr_true kat4104_t = { + 8, kat4104_entropyin, kat4104_nonce, kat4104_persstr, + kat4104_entropyinpr1, kat4104_addinpr1, kat4104_entropyinpr2, + kat4104_addinpr2, kat4104_retbits +}; +static const struct drbg_kat kat4104 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4104_t +}; + +static const unsigned char kat4105_entropyin[] = { + 0x64, 0x0f, 0xfb, 0x8c, 0xbb, 0x51, 0xd9, 0x1b, 0xc5, 0x61, 0x97, 0x99, + 0xc3, 0x77, 0x75, 0x19, 0x07, 0xf4, 0x49, 0x92, 0xea, 0x7c, 0x3b, 0x4f, + 0xe5, 0xe2, 0xe4, 0x7a, 0x00, 0x0e, 0xe7, 0xd4, 0xde, 0xf1, 0x38, 0x8f, + 0x0f, 0x51, 0x10, 0x4e, 0x4f, 0xa6, 0x8e, 0x9e, 0xbe, 0x8d, 0xc9, 0x22, +}; +static const unsigned char kat4105_nonce[] = {0}; +static const unsigned char kat4105_persstr[] = {0}; +static const unsigned char kat4105_entropyinpr1[] = { + 0x68, 0x7f, 0x98, 0xb7, 0xa3, 0xff, 0x9e, 0x1f, 0x93, 0xe3, 0x1d, 0xea, + 0xcb, 0x1b, 0xc5, 0xb5, 0x8c, 0x65, 0xdd, 0x93, 0x1a, 0x04, 0xec, 0xca, + 0xa9, 0x7a, 0x5b, 0x87, 0xec, 0xfc, 0xc0, 0xce, 0x6e, 0xec, 0x24, 0xe2, + 0xa9, 0xaa, 0xd6, 0xad, 0x42, 0x85, 0xb3, 0x43, 0x50, 0xed, 0x8e, 0xf4, +}; +static const unsigned char kat4105_addinpr1[] = { + 0xe0, 0xcf, 0x8b, 0xd9, 0x50, 0x00, 0xb6, 0xe5, 0xd5, 0x42, 0xdb, 0x09, + 0x1a, 0xc5, 0x64, 0x02, 0xab, 0x24, 0x95, 0x7f, 0x97, 0xf4, 0x09, 0xbf, + 0x55, 0xcc, 0x69, 0x44, 0x92, 0xa6, 0xa9, 0x8a, 0xdb, 0xc5, 0xf4, 0xb3, + 0x57, 0x84, 0x65, 0x8b, 0x97, 0xc3, 0x22, 0xbd, 0x72, 0xf2, 0xfc, 0x6b, +}; +static const unsigned char kat4105_entropyinpr2[] = { + 0x30, 0xc3, 0xc1, 0x7c, 0x8b, 0xd9, 0x38, 0xeb, 0x12, 0x5c, 0x74, 0x38, + 0xf3, 0x88, 0xd4, 0x40, 0x82, 0xba, 0xba, 0x17, 0xb3, 0xcf, 0xbb, 0x65, + 0x92, 0x97, 0x21, 0xb0, 0x3f, 0x79, 0xa7, 0x60, 0xca, 0xdc, 0x8e, 0xb2, + 0x0b, 0x11, 0x0a, 0x3a, 0xeb, 0xb9, 0xec, 0x68, 0x02, 0xc7, 0x23, 0xdc, +}; +static const unsigned char kat4105_addinpr2[] = { + 0x00, 0xf1, 0x03, 0xed, 0xa5, 0x96, 0x92, 0x23, 0x2b, 0xc1, 0xab, 0x5a, + 0xb3, 0x26, 0xbc, 0xae, 0x88, 0x31, 0x71, 0x9b, 0x79, 0x03, 0x69, 0x89, + 0xf7, 0xed, 0xfb, 0xf8, 0x40, 0x85, 0x10, 0x6e, 0x30, 0xf4, 0x08, 0x9d, + 0xaa, 0x3b, 0x3c, 0xba, 0x5a, 0x37, 0x85, 0x20, 0x9d, 0xd3, 0x2f, 0xe8, +}; +static const unsigned char kat4105_retbits[] = { + 0x50, 0xaf, 0x8e, 0xc8, 0xe4, 0x12, 0x94, 0x85, 0x68, 0xc5, 0x49, 0xe8, + 0xd0, 0x22, 0xfc, 0x3e, 0xa9, 0xe0, 0xb6, 0xa3, 0x78, 0x1a, 0x95, 0xeb, + 0x0e, 0x96, 0x55, 0xdd, 0x76, 0xec, 0xe0, 0x3c, 0x4a, 0x59, 0x94, 0x24, + 0xca, 0x22, 0x56, 0x44, 0xbf, 0x25, 0xf0, 0x5d, 0xdf, 0x8e, 0x01, 0x73, + 0x34, 0x27, 0x1d, 0xf9, 0x2b, 0xff, 0x5a, 0x7c, 0x56, 0x41, 0x4b, 0x73, + 0xbc, 0xe1, 0x39, 0xe9, +}; +static const struct drbg_kat_pr_true kat4105_t = { + 9, kat4105_entropyin, kat4105_nonce, kat4105_persstr, + kat4105_entropyinpr1, kat4105_addinpr1, kat4105_entropyinpr2, + kat4105_addinpr2, kat4105_retbits +}; +static const struct drbg_kat kat4105 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4105_t +}; + +static const unsigned char kat4106_entropyin[] = { + 0xf6, 0x84, 0x95, 0x1c, 0x09, 0xea, 0x9e, 0x56, 0x23, 0x42, 0x57, 0xd2, + 0xd0, 0xd0, 0xe1, 0x88, 0x83, 0x05, 0xc9, 0x35, 0xd3, 0xa3, 0xef, 0xb4, + 0x9f, 0x13, 0xe3, 0xe0, 0x96, 0x3e, 0x01, 0xe1, 0x26, 0xb6, 0x30, 0x8e, + 0xd4, 0x16, 0xe8, 0xbe, 0x07, 0xc0, 0xf0, 0xf3, 0x70, 0x8d, 0x6b, 0x2f, +}; +static const unsigned char kat4106_nonce[] = {0}; +static const unsigned char kat4106_persstr[] = {0}; +static const unsigned char kat4106_entropyinpr1[] = { + 0x9b, 0xaa, 0x62, 0x29, 0x6b, 0xa9, 0xa4, 0xc3, 0x78, 0x9e, 0x50, 0x17, + 0x79, 0x88, 0x3a, 0xcf, 0x24, 0x7f, 0x4d, 0x50, 0x97, 0x21, 0xff, 0xf5, + 0x71, 0x3e, 0xcd, 0x8b, 0x13, 0x75, 0xdf, 0xb3, 0x91, 0x92, 0x88, 0x98, + 0x93, 0x85, 0xa0, 0xd9, 0x01, 0x47, 0xca, 0x23, 0x91, 0xa2, 0x9d, 0xcb, +}; +static const unsigned char kat4106_addinpr1[] = { + 0xb6, 0x06, 0x07, 0x95, 0xe8, 0x6b, 0xb3, 0x17, 0x19, 0x7d, 0xea, 0x21, + 0x39, 0x68, 0xbe, 0xcb, 0xdd, 0xbc, 0x97, 0x73, 0x87, 0x14, 0x37, 0xf5, + 0xa5, 0x16, 0x82, 0x6f, 0xb6, 0xe6, 0x66, 0x38, 0x85, 0x84, 0xd2, 0xdd, + 0xf8, 0xcf, 0xdf, 0xdc, 0x95, 0xce, 0x19, 0x6b, 0x9b, 0x27, 0x36, 0x65, +}; +static const unsigned char kat4106_entropyinpr2[] = { + 0x55, 0x0e, 0x27, 0xa6, 0x0b, 0x21, 0x1c, 0x62, 0xb4, 0x49, 0x99, 0xf2, + 0xa5, 0xc3, 0xb5, 0x4e, 0x14, 0xbe, 0xc9, 0xae, 0x7a, 0xa3, 0x8c, 0xbd, + 0xe4, 0xb5, 0x6b, 0x4f, 0xf5, 0x58, 0x43, 0xa0, 0x4a, 0xa9, 0x6d, 0x4f, + 0x38, 0xa0, 0x32, 0x37, 0x1c, 0x00, 0x3a, 0xfd, 0x0e, 0xb5, 0xd8, 0xc9, +}; +static const unsigned char kat4106_addinpr2[] = { + 0x8d, 0xf4, 0xb5, 0x49, 0x04, 0x51, 0xa9, 0x15, 0x5d, 0x14, 0x9c, 0xc2, + 0x11, 0x4b, 0x50, 0xaf, 0x36, 0x7f, 0xdd, 0xe0, 0x49, 0x2b, 0x24, 0xfb, + 0x04, 0x28, 0xe9, 0x0b, 0xb1, 0x25, 0x15, 0x89, 0x4a, 0xef, 0x8f, 0xa1, + 0xa5, 0xba, 0xd2, 0x6b, 0x35, 0x58, 0x2c, 0xe6, 0x82, 0xa5, 0xc1, 0xd6, +}; +static const unsigned char kat4106_retbits[] = { + 0xb6, 0xe2, 0xf2, 0xc9, 0xff, 0x2c, 0x9f, 0x00, 0x74, 0xfa, 0x2a, 0x52, + 0xbd, 0xc2, 0xe9, 0x46, 0x04, 0x29, 0xf2, 0x92, 0x27, 0xa6, 0x22, 0x14, + 0xe5, 0x37, 0x46, 0x81, 0x61, 0x69, 0x79, 0xf6, 0x09, 0x23, 0x5f, 0x21, + 0xc7, 0xe3, 0x35, 0x47, 0x1b, 0x48, 0x35, 0x1d, 0x13, 0x5d, 0xdf, 0x97, + 0xe4, 0x1e, 0x7f, 0x88, 0x3f, 0x65, 0xcb, 0xe1, 0x7c, 0x8b, 0xe8, 0xa2, + 0x62, 0xc9, 0x41, 0x6a, +}; +static const struct drbg_kat_pr_true kat4106_t = { + 10, kat4106_entropyin, kat4106_nonce, kat4106_persstr, + kat4106_entropyinpr1, kat4106_addinpr1, kat4106_entropyinpr2, + kat4106_addinpr2, kat4106_retbits +}; +static const struct drbg_kat kat4106 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4106_t +}; + +static const unsigned char kat4107_entropyin[] = { + 0xcb, 0x5f, 0x31, 0xd3, 0xd0, 0xf3, 0x1a, 0x40, 0x71, 0x54, 0x65, 0x5a, + 0x07, 0xe1, 0x00, 0xfb, 0x31, 0xda, 0xa1, 0x90, 0xf8, 0xcd, 0x98, 0x61, + 0x13, 0xa9, 0xbb, 0xbb, 0x82, 0xac, 0x81, 0xf7, 0x25, 0xf2, 0x51, 0xe0, + 0x9d, 0xd5, 0xb4, 0x35, 0x35, 0x97, 0x10, 0x06, 0x2a, 0x37, 0x60, 0x42, +}; +static const unsigned char kat4107_nonce[] = {0}; +static const unsigned char kat4107_persstr[] = {0}; +static const unsigned char kat4107_entropyinpr1[] = { + 0x7b, 0xf5, 0x76, 0xe1, 0x88, 0xbe, 0xd3, 0x1b, 0x17, 0xe7, 0xb9, 0x61, + 0x23, 0x67, 0x58, 0xde, 0xd2, 0xc2, 0xad, 0xf4, 0xc1, 0x70, 0xe8, 0xbc, + 0x79, 0xed, 0x6c, 0x12, 0x21, 0xc9, 0x96, 0xb2, 0x55, 0x91, 0xa6, 0xa2, + 0x10, 0x9a, 0xcb, 0xba, 0x0a, 0x3d, 0x19, 0x14, 0x22, 0xdb, 0xeb, 0x7e, +}; +static const unsigned char kat4107_addinpr1[] = { + 0x7f, 0x56, 0x3d, 0x65, 0x41, 0xdf, 0x7e, 0x40, 0xd7, 0xe5, 0x6e, 0x92, + 0x56, 0xf9, 0x52, 0x3a, 0xd3, 0xb8, 0x79, 0xa8, 0x01, 0x53, 0xcf, 0x06, + 0xbe, 0x36, 0x15, 0x8f, 0xe8, 0xdc, 0xa5, 0x78, 0xbd, 0x2c, 0x82, 0xc0, + 0x21, 0x84, 0x7a, 0x79, 0x1e, 0xcc, 0x8b, 0x41, 0x82, 0x31, 0x79, 0xe9, +}; +static const unsigned char kat4107_entropyinpr2[] = { + 0x38, 0x6d, 0x3f, 0xa4, 0x04, 0xbf, 0xe6, 0xc2, 0xca, 0xc3, 0x90, 0x6c, + 0xdd, 0x95, 0x0a, 0x60, 0xe4, 0x90, 0x8a, 0xe9, 0x8d, 0xfd, 0xcb, 0xf5, + 0xee, 0x27, 0x2f, 0x70, 0x96, 0x0c, 0xad, 0x26, 0x0b, 0xe5, 0x6f, 0x45, + 0xe5, 0xcf, 0x84, 0x03, 0x20, 0x1b, 0x8c, 0xf9, 0x66, 0x00, 0x5c, 0xae, +}; +static const unsigned char kat4107_addinpr2[] = { + 0xcb, 0xaa, 0x95, 0x33, 0xb8, 0xa0, 0x63, 0x5a, 0xc6, 0xc1, 0xa3, 0x21, + 0xa7, 0x58, 0x27, 0xce, 0x36, 0xdb, 0x60, 0xd1, 0xaf, 0x18, 0xf3, 0x79, + 0x31, 0x9a, 0xee, 0x0e, 0x5d, 0xed, 0xc7, 0xfd, 0x29, 0x90, 0xe4, 0xe4, + 0xc7, 0x78, 0x74, 0xc4, 0x21, 0xcc, 0xb2, 0x35, 0x23, 0x5d, 0x27, 0xc1, +}; +static const unsigned char kat4107_retbits[] = { + 0xf0, 0xf7, 0xa7, 0xa3, 0x85, 0xc7, 0x9e, 0xff, 0xf7, 0x1b, 0x6b, 0x89, + 0x25, 0x55, 0x18, 0x4c, 0x8e, 0x33, 0x31, 0x37, 0x8b, 0x67, 0x0e, 0x3e, + 0x26, 0xa3, 0x11, 0xe0, 0x56, 0xb3, 0x8c, 0x96, 0x33, 0x5b, 0x4c, 0xdf, + 0x9e, 0x70, 0x33, 0x18, 0x8f, 0x33, 0xee, 0x0c, 0x41, 0x13, 0x40, 0xe9, + 0xfb, 0x1a, 0xe6, 0x40, 0x60, 0x97, 0xe6, 0x5b, 0x85, 0x91, 0x7d, 0x8d, + 0xda, 0xea, 0x87, 0x0d, +}; +static const struct drbg_kat_pr_true kat4107_t = { + 11, kat4107_entropyin, kat4107_nonce, kat4107_persstr, + kat4107_entropyinpr1, kat4107_addinpr1, kat4107_entropyinpr2, + kat4107_addinpr2, kat4107_retbits +}; +static const struct drbg_kat kat4107 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4107_t +}; + +static const unsigned char kat4108_entropyin[] = { + 0x3f, 0x07, 0x42, 0x8a, 0xf9, 0xe3, 0x7c, 0x5b, 0x23, 0x21, 0xf6, 0x80, + 0x91, 0x62, 0x40, 0x1c, 0xa7, 0x51, 0x3e, 0xc3, 0x8d, 0x7b, 0x9f, 0x2d, + 0xe1, 0x83, 0x23, 0xd9, 0xbd, 0xf6, 0xd5, 0x90, 0x3c, 0x42, 0xae, 0x61, + 0x75, 0x25, 0x58, 0xf5, 0x06, 0x07, 0x25, 0x6e, 0xad, 0x19, 0x04, 0x4c, +}; +static const unsigned char kat4108_nonce[] = {0}; +static const unsigned char kat4108_persstr[] = {0}; +static const unsigned char kat4108_entropyinpr1[] = { + 0x43, 0xa6, 0x8b, 0x61, 0xf3, 0xde, 0x82, 0x5d, 0x6c, 0xd4, 0xa8, 0xd3, + 0x1a, 0x07, 0x5b, 0xe8, 0xc2, 0x73, 0x21, 0xe3, 0xa2, 0xad, 0x56, 0x00, + 0xd3, 0x9c, 0x3b, 0xe0, 0x9b, 0x41, 0x97, 0xde, 0xa3, 0xb7, 0xff, 0xd9, + 0x58, 0x7a, 0x12, 0xb1, 0x9a, 0x59, 0x19, 0x97, 0x96, 0x9f, 0x8f, 0xf1, +}; +static const unsigned char kat4108_addinpr1[] = { + 0xea, 0x65, 0xa6, 0x8c, 0x4c, 0x90, 0x3e, 0xc9, 0xca, 0xa2, 0x7c, 0x24, + 0xeb, 0xbc, 0xd5, 0x3d, 0x77, 0x19, 0x07, 0x4a, 0x3e, 0x42, 0xa9, 0xdd, + 0x12, 0xfa, 0x16, 0x30, 0x92, 0x79, 0xea, 0x93, 0x8c, 0xf9, 0x2f, 0x22, + 0x63, 0x98, 0x52, 0xc4, 0x76, 0xc7, 0x4d, 0xf7, 0xc8, 0xaf, 0xd7, 0xa7, +}; +static const unsigned char kat4108_entropyinpr2[] = { + 0x42, 0x01, 0x7c, 0xe7, 0xb0, 0xb2, 0x16, 0x1d, 0xd0, 0xbe, 0xbd, 0xb9, + 0x3c, 0x5c, 0x82, 0x22, 0x56, 0x14, 0xdd, 0x01, 0x70, 0x0a, 0x80, 0xd5, + 0x95, 0xc2, 0xe2, 0x40, 0xd3, 0x44, 0x1b, 0x09, 0xb5, 0xba, 0x7e, 0x67, + 0x5b, 0x14, 0x34, 0xac, 0x23, 0x10, 0x0a, 0x3e, 0x6c, 0xb8, 0xde, 0x69, +}; +static const unsigned char kat4108_addinpr2[] = { + 0x88, 0x3c, 0xf0, 0x1c, 0x48, 0x82, 0xd0, 0xca, 0x03, 0xd5, 0xa5, 0x2f, + 0xec, 0xb2, 0x68, 0xbd, 0x22, 0x01, 0x1c, 0x04, 0xfc, 0xf2, 0x7a, 0x53, + 0xd8, 0x03, 0x79, 0xa1, 0xc2, 0xa7, 0xc9, 0x2c, 0x0f, 0xfa, 0xcc, 0xd9, + 0x3c, 0x7c, 0xd7, 0x83, 0x84, 0xab, 0xbe, 0x65, 0x31, 0x75, 0x38, 0xc3, +}; +static const unsigned char kat4108_retbits[] = { + 0x2b, 0x63, 0x13, 0xf2, 0x8a, 0x05, 0x5f, 0xbc, 0x9c, 0xd0, 0xec, 0xde, + 0x3b, 0x46, 0xec, 0x8f, 0x75, 0x28, 0x6c, 0x87, 0xb7, 0xdd, 0x7a, 0x41, + 0x9e, 0x44, 0x33, 0x54, 0x9f, 0xde, 0xca, 0xbf, 0xa0, 0xed, 0x40, 0xc6, + 0xd5, 0xab, 0x62, 0xe7, 0xc0, 0x6f, 0x78, 0x39, 0x7f, 0x24, 0xfe, 0x3f, + 0xc2, 0xeb, 0x91, 0x05, 0xc1, 0xf6, 0x28, 0x82, 0xae, 0xee, 0x8c, 0xd9, + 0x2c, 0x18, 0xa0, 0xbb, +}; +static const struct drbg_kat_pr_true kat4108_t = { + 12, kat4108_entropyin, kat4108_nonce, kat4108_persstr, + kat4108_entropyinpr1, kat4108_addinpr1, kat4108_entropyinpr2, + kat4108_addinpr2, kat4108_retbits +}; +static const struct drbg_kat kat4108 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4108_t +}; + +static const unsigned char kat4109_entropyin[] = { + 0xa4, 0x85, 0xac, 0x90, 0xee, 0xb9, 0xc4, 0xe3, 0x04, 0xa5, 0x9e, 0xcc, + 0xbf, 0xfe, 0x9b, 0x56, 0x5b, 0x5f, 0x80, 0x66, 0x15, 0x8e, 0xc3, 0xb6, + 0xd7, 0x51, 0x21, 0xbd, 0x59, 0xe4, 0x12, 0x2e, 0xcf, 0x90, 0x01, 0x40, + 0x66, 0x56, 0xdc, 0x2f, 0xc6, 0x12, 0x71, 0xf2, 0x84, 0xd4, 0x3c, 0x08, +}; +static const unsigned char kat4109_nonce[] = {0}; +static const unsigned char kat4109_persstr[] = {0}; +static const unsigned char kat4109_entropyinpr1[] = { + 0x76, 0xe3, 0x11, 0xf8, 0xde, 0x10, 0x8c, 0xbb, 0xc8, 0xc4, 0x57, 0xec, + 0x0e, 0x22, 0x76, 0x8f, 0x2d, 0x09, 0x2e, 0x79, 0x67, 0x67, 0x41, 0xac, + 0x1a, 0x6a, 0x81, 0x3e, 0xa4, 0x96, 0x84, 0x83, 0x4d, 0xbe, 0xc4, 0x31, + 0x49, 0x6e, 0x5b, 0xf0, 0xfb, 0xbd, 0x82, 0x19, 0xd3, 0xc8, 0xf1, 0x72, +}; +static const unsigned char kat4109_addinpr1[] = { + 0xaa, 0xc9, 0x5b, 0x6a, 0xb0, 0xd4, 0xb9, 0xff, 0xd7, 0xfa, 0xc9, 0x9e, + 0xa9, 0x15, 0xe4, 0xd3, 0xc7, 0x0d, 0x39, 0xb2, 0xd2, 0xb0, 0x90, 0x28, + 0x8c, 0xec, 0x64, 0xc4, 0x41, 0x19, 0x18, 0x4e, 0x67, 0x82, 0x07, 0x61, + 0x39, 0x96, 0x45, 0xa5, 0xe8, 0xd4, 0xb5, 0x24, 0xad, 0xae, 0x9b, 0x91, +}; +static const unsigned char kat4109_entropyinpr2[] = { + 0x20, 0x89, 0xbd, 0xc6, 0x8a, 0x9f, 0xc6, 0xa5, 0x48, 0xcd, 0xd1, 0x0c, + 0x7d, 0x68, 0x49, 0x7b, 0xbe, 0xc6, 0x08, 0x3e, 0x1a, 0x4e, 0xab, 0xbf, + 0xca, 0x99, 0x81, 0x2c, 0xcb, 0xe5, 0x8f, 0xab, 0x8d, 0x64, 0x6f, 0xd2, + 0xc3, 0xe1, 0x9b, 0xa5, 0x93, 0xe8, 0x53, 0x63, 0xd8, 0x1d, 0xbb, 0xba, +}; +static const unsigned char kat4109_addinpr2[] = { + 0x5a, 0x37, 0x2c, 0x60, 0xfc, 0x7d, 0xa6, 0x9e, 0x10, 0x0b, 0xdd, 0xc4, + 0x30, 0x98, 0xbf, 0xb6, 0xbb, 0x92, 0xcb, 0x48, 0x2c, 0xd9, 0x2a, 0xe7, + 0x13, 0xb6, 0x8c, 0xe8, 0x1f, 0x0c, 0xa5, 0xbb, 0xc0, 0x09, 0x3f, 0x4c, + 0xd8, 0x71, 0x62, 0x75, 0xaa, 0x43, 0xa5, 0x2d, 0x22, 0xdc, 0x16, 0x25, +}; +static const unsigned char kat4109_retbits[] = { + 0x83, 0xec, 0xd1, 0xa2, 0xcc, 0xc7, 0x93, 0x16, 0x61, 0x27, 0xf3, 0xa2, + 0x4c, 0x93, 0x25, 0x00, 0x27, 0x0a, 0x64, 0xcf, 0x66, 0x51, 0x8b, 0x1c, + 0xb6, 0x11, 0xc2, 0xf5, 0x96, 0x79, 0x24, 0xc1, 0x10, 0x3d, 0x01, 0xed, + 0xcd, 0x3e, 0xcf, 0xcb, 0x57, 0xbd, 0x7c, 0xf0, 0x26, 0x39, 0xa7, 0x6e, + 0x0f, 0xfb, 0x53, 0xdc, 0x1b, 0xe3, 0xd5, 0x59, 0x10, 0x7a, 0x0a, 0xad, + 0x82, 0xb8, 0x7f, 0xef, +}; +static const struct drbg_kat_pr_true kat4109_t = { + 13, kat4109_entropyin, kat4109_nonce, kat4109_persstr, + kat4109_entropyinpr1, kat4109_addinpr1, kat4109_entropyinpr2, + kat4109_addinpr2, kat4109_retbits +}; +static const struct drbg_kat kat4109 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4109_t +}; + +static const unsigned char kat4110_entropyin[] = { + 0x84, 0x06, 0x27, 0x44, 0x1c, 0x2c, 0x6d, 0xf1, 0x07, 0x9c, 0xa2, 0x70, + 0xcc, 0x24, 0x27, 0xd1, 0x62, 0x62, 0x3f, 0x98, 0xee, 0x96, 0xd9, 0x53, + 0x01, 0xff, 0x55, 0x97, 0xa3, 0xa0, 0x6b, 0x5f, 0x92, 0x82, 0xac, 0xe4, + 0x9c, 0x53, 0x88, 0x9f, 0xb1, 0x19, 0x21, 0xd0, 0x7a, 0x04, 0x62, 0x12, +}; +static const unsigned char kat4110_nonce[] = {0}; +static const unsigned char kat4110_persstr[] = {0}; +static const unsigned char kat4110_entropyinpr1[] = { + 0x4b, 0x35, 0x9a, 0xb5, 0xfb, 0x07, 0x21, 0xc2, 0x66, 0x62, 0x7b, 0x8c, + 0x3e, 0x54, 0xdc, 0x3f, 0x72, 0xb6, 0x62, 0x57, 0x80, 0x90, 0xc2, 0x30, + 0x52, 0x6f, 0x7c, 0xbc, 0x43, 0xff, 0xbd, 0x35, 0x67, 0x6f, 0x84, 0xbb, + 0xa5, 0x1e, 0xf0, 0xbe, 0xfb, 0x63, 0xa1, 0xfe, 0x6b, 0xd0, 0xf9, 0xc7, +}; +static const unsigned char kat4110_addinpr1[] = { + 0x7a, 0x2a, 0x57, 0x39, 0x7e, 0xaa, 0xcc, 0xc0, 0x2a, 0x2e, 0x8b, 0xe5, + 0x1c, 0xe8, 0x07, 0x88, 0xcc, 0x81, 0xe2, 0x16, 0xc8, 0xb9, 0x38, 0x3f, + 0x39, 0x11, 0x6f, 0x7b, 0x6f, 0x1c, 0x0a, 0x85, 0xad, 0x64, 0x80, 0xa8, + 0x8c, 0xa3, 0xce, 0xdf, 0x75, 0xee, 0x26, 0x63, 0x1f, 0x5f, 0xa1, 0x2a, +}; +static const unsigned char kat4110_entropyinpr2[] = { + 0x0d, 0x90, 0x37, 0xcf, 0x74, 0x5b, 0x3c, 0xf4, 0x16, 0x28, 0xeb, 0x15, + 0x38, 0xbb, 0x71, 0xb5, 0x91, 0x16, 0xda, 0x10, 0x49, 0xec, 0xd3, 0x6d, + 0x12, 0xd3, 0x44, 0xc5, 0xa1, 0x7e, 0x47, 0x1c, 0x8c, 0x4e, 0x72, 0xcf, + 0xdc, 0x7c, 0xa0, 0x53, 0x8c, 0x81, 0x08, 0x59, 0x52, 0x24, 0x1d, 0x68, +}; +static const unsigned char kat4110_addinpr2[] = { + 0xda, 0x29, 0x84, 0x6d, 0x4d, 0x48, 0xe3, 0xee, 0xac, 0x71, 0xab, 0x07, + 0xfa, 0xe9, 0xb9, 0xdb, 0xb6, 0xc5, 0xd8, 0x3c, 0xff, 0xb7, 0x5c, 0x67, + 0xbe, 0x10, 0xbb, 0x15, 0xe6, 0x2d, 0x9d, 0x9b, 0xf4, 0x57, 0x1a, 0xea, + 0x5a, 0xe4, 0x75, 0x22, 0x9b, 0x3c, 0x63, 0xba, 0x82, 0x44, 0xb8, 0x31, +}; +static const unsigned char kat4110_retbits[] = { + 0x7a, 0x7e, 0xd6, 0xe6, 0x32, 0x63, 0x0f, 0xfc, 0xf3, 0x2f, 0x03, 0x73, + 0xde, 0xb2, 0xc6, 0x7c, 0x6d, 0xcb, 0x77, 0xf0, 0x4f, 0x19, 0x91, 0xf8, + 0x9d, 0x5d, 0x25, 0xa3, 0xa8, 0xc3, 0x90, 0xac, 0x8a, 0xc3, 0x73, 0xb6, + 0x6c, 0x5d, 0xa9, 0x90, 0xc3, 0xfe, 0x28, 0xcd, 0x93, 0xf3, 0xa4, 0xf8, + 0xe5, 0x59, 0x4c, 0xae, 0x25, 0x49, 0x8e, 0xd7, 0x3f, 0x5f, 0x00, 0x1b, + 0x83, 0x17, 0x9b, 0x0c, +}; +static const struct drbg_kat_pr_true kat4110_t = { + 14, kat4110_entropyin, kat4110_nonce, kat4110_persstr, + kat4110_entropyinpr1, kat4110_addinpr1, kat4110_entropyinpr2, + kat4110_addinpr2, kat4110_retbits +}; +static const struct drbg_kat kat4110 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4110_t +}; + +static const unsigned char kat4111_entropyin[] = { + 0xc8, 0xf0, 0xc7, 0xb9, 0xbd, 0xf7, 0xe7, 0xd5, 0x24, 0xc9, 0x98, 0xae, + 0xde, 0xab, 0xb3, 0xb7, 0xdd, 0x4f, 0xa8, 0xf9, 0x5c, 0x51, 0xb5, 0x82, + 0x01, 0x0a, 0x5e, 0x09, 0xd0, 0xb4, 0xb1, 0xad, 0x51, 0x03, 0x02, 0x42, + 0x2d, 0xf7, 0x38, 0xfb, 0xef, 0x00, 0x2a, 0x05, 0x15, 0x43, 0xb4, 0xcc, +}; +static const unsigned char kat4111_nonce[] = {0}; +static const unsigned char kat4111_persstr[] = { + 0x3b, 0x8f, 0x2e, 0xd0, 0x3e, 0x4c, 0x4a, 0x85, 0x7e, 0xba, 0xf4, 0x73, + 0x01, 0x24, 0xae, 0x5b, 0x3f, 0xfa, 0x67, 0xe2, 0x94, 0x38, 0x1f, 0xe0, + 0x85, 0xe1, 0xd5, 0xb2, 0x5b, 0xb7, 0x9c, 0x22, 0x8f, 0x39, 0xb9, 0x91, + 0x2d, 0x8b, 0xf9, 0xe8, 0x4c, 0xdb, 0x43, 0xfc, 0xef, 0xb5, 0x52, 0xe0, +}; +static const unsigned char kat4111_entropyinpr1[] = { + 0xc1, 0xa7, 0xb1, 0x60, 0xc8, 0xe3, 0x3a, 0x01, 0xfb, 0xd4, 0x97, 0x43, + 0xdc, 0x11, 0x61, 0x53, 0x93, 0x90, 0xd9, 0xba, 0x6b, 0x87, 0x6f, 0xe6, + 0x3b, 0x58, 0xe8, 0xfd, 0x60, 0x5b, 0x98, 0x61, 0x73, 0x22, 0x57, 0x8b, + 0x17, 0xac, 0xa9, 0xdb, 0x71, 0xe8, 0x58, 0xb1, 0x54, 0xf9, 0x79, 0x10, +}; +static const unsigned char kat4111_addinpr1[] = {0}; +static const unsigned char kat4111_entropyinpr2[] = { + 0xd9, 0x8b, 0x25, 0xed, 0xa4, 0x1d, 0x15, 0xea, 0xcd, 0xec, 0xba, 0x58, + 0x66, 0x09, 0xd8, 0xc7, 0x43, 0x70, 0x4f, 0xa0, 0x99, 0xac, 0x37, 0xf9, + 0x18, 0x5b, 0xcb, 0x19, 0x65, 0x27, 0x23, 0xd1, 0x64, 0x84, 0x31, 0xa7, + 0x3c, 0x43, 0x99, 0x77, 0x3c, 0x85, 0xca, 0xf1, 0x2f, 0xcd, 0xd8, 0x42, +}; +static const unsigned char kat4111_addinpr2[] = {0}; +static const unsigned char kat4111_retbits[] = { + 0x33, 0x8d, 0xa5, 0x93, 0x50, 0xa7, 0x2b, 0xba, 0x94, 0xb2, 0x17, 0xb9, + 0x9f, 0xf8, 0x13, 0xfa, 0xfa, 0x85, 0xf3, 0x1f, 0xa7, 0xe9, 0x91, 0xd4, + 0x35, 0x0d, 0x6f, 0xce, 0x39, 0x47, 0x1a, 0xa2, 0x49, 0xc6, 0xa9, 0xe7, + 0xd1, 0x89, 0x64, 0x9e, 0xa6, 0x77, 0x0a, 0x15, 0xbe, 0x30, 0x2b, 0x94, + 0x3a, 0xd4, 0x03, 0x72, 0x8b, 0x73, 0x87, 0xf5, 0x98, 0x4c, 0x9b, 0xfb, + 0x82, 0x59, 0x77, 0x71, +}; +static const struct drbg_kat_pr_true kat4111_t = { + 0, kat4111_entropyin, kat4111_nonce, kat4111_persstr, + kat4111_entropyinpr1, kat4111_addinpr1, kat4111_entropyinpr2, + kat4111_addinpr2, kat4111_retbits +}; +static const struct drbg_kat kat4111 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4111_t +}; + +static const unsigned char kat4112_entropyin[] = { + 0x5f, 0xb3, 0xf3, 0x02, 0xc3, 0x6d, 0x0d, 0x0e, 0x28, 0xef, 0xb0, 0x65, + 0xdf, 0x59, 0x5e, 0xa6, 0x9a, 0x6b, 0x3e, 0xb4, 0x56, 0x22, 0xf9, 0xd1, + 0x40, 0x38, 0xeb, 0xcc, 0x0d, 0x4a, 0x8b, 0x0d, 0x6a, 0xa4, 0x5e, 0x68, + 0x1e, 0xdd, 0x5c, 0x50, 0x6e, 0x00, 0xf0, 0xdc, 0x12, 0x77, 0x5a, 0xc4, +}; +static const unsigned char kat4112_nonce[] = {0}; +static const unsigned char kat4112_persstr[] = { + 0xe4, 0xaf, 0xd4, 0x8a, 0x08, 0x35, 0x5c, 0xcb, 0xd0, 0x97, 0xbf, 0x5c, + 0x87, 0xe9, 0xaa, 0x6c, 0xca, 0x5b, 0xce, 0x84, 0xb2, 0x11, 0xef, 0x0c, + 0x78, 0x3d, 0x7e, 0x05, 0xcd, 0x52, 0xca, 0xae, 0x4b, 0x4d, 0x83, 0xde, + 0x53, 0xa8, 0x42, 0x00, 0xa5, 0x56, 0xb5, 0xaf, 0xf5, 0x04, 0x7b, 0x13, +}; +static const unsigned char kat4112_entropyinpr1[] = { + 0x64, 0x40, 0xcc, 0x8c, 0x73, 0x5c, 0xa9, 0xb0, 0x5f, 0x26, 0x13, 0x58, + 0xe5, 0x1b, 0x8b, 0x4f, 0x8c, 0x4b, 0xbd, 0xee, 0x9e, 0x26, 0x81, 0xc7, + 0x6f, 0xb5, 0x52, 0xbb, 0x6b, 0x62, 0x33, 0x40, 0x38, 0xbd, 0x8e, 0x03, + 0x94, 0xa4, 0xd5, 0x0f, 0x6a, 0xf7, 0xa7, 0xa9, 0x20, 0x37, 0x97, 0x99, +}; +static const unsigned char kat4112_addinpr1[] = {0}; +static const unsigned char kat4112_entropyinpr2[] = { + 0x2e, 0xd7, 0xe6, 0x11, 0x83, 0x94, 0xce, 0x10, 0xa8, 0x42, 0xd6, 0x09, + 0xba, 0xab, 0xfa, 0xef, 0x9d, 0x1c, 0x1f, 0xea, 0x91, 0x4b, 0xe4, 0xb7, + 0x25, 0x82, 0x2f, 0x94, 0x3f, 0xda, 0x02, 0x32, 0x44, 0xf8, 0x06, 0xa4, + 0x7b, 0x94, 0x4e, 0xa0, 0xc1, 0xb8, 0x53, 0xf3, 0x6b, 0xfa, 0x24, 0xf7, +}; +static const unsigned char kat4112_addinpr2[] = {0}; +static const unsigned char kat4112_retbits[] = { + 0xbe, 0x93, 0x33, 0x14, 0x04, 0x28, 0x55, 0x32, 0x31, 0x50, 0x5e, 0x8c, + 0xe3, 0xf7, 0x89, 0xf2, 0x86, 0x0f, 0x44, 0x64, 0x7d, 0x97, 0x23, 0x9c, + 0x0d, 0x34, 0xce, 0xe9, 0x8e, 0x0e, 0x4f, 0x5e, 0x5a, 0x5e, 0xb2, 0x96, + 0xd4, 0xce, 0xc5, 0x08, 0x62, 0x49, 0x13, 0x08, 0x0a, 0x1b, 0x44, 0x99, + 0x09, 0x93, 0xa2, 0xae, 0x63, 0xf6, 0x11, 0x24, 0xc4, 0xd8, 0x18, 0x4f, + 0x19, 0x1c, 0xa8, 0xae, +}; +static const struct drbg_kat_pr_true kat4112_t = { + 1, kat4112_entropyin, kat4112_nonce, kat4112_persstr, + kat4112_entropyinpr1, kat4112_addinpr1, kat4112_entropyinpr2, + kat4112_addinpr2, kat4112_retbits +}; +static const struct drbg_kat kat4112 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4112_t +}; + +static const unsigned char kat4113_entropyin[] = { + 0xf3, 0xfb, 0x24, 0x59, 0x2e, 0x88, 0xaa, 0x2b, 0xb3, 0x92, 0x1b, 0x46, + 0xe1, 0x98, 0x31, 0x0f, 0xd2, 0x69, 0x88, 0x3e, 0xb6, 0x8a, 0x78, 0x31, + 0xe5, 0x62, 0x7a, 0x5a, 0x6d, 0x21, 0x54, 0x38, 0x64, 0xed, 0xe3, 0xfb, + 0xc8, 0xba, 0xdc, 0x18, 0x88, 0xb0, 0xda, 0xf3, 0x7a, 0x97, 0xdd, 0x40, +}; +static const unsigned char kat4113_nonce[] = {0}; +static const unsigned char kat4113_persstr[] = { + 0xa1, 0xa8, 0x53, 0xff, 0xa7, 0x98, 0xf9, 0x3a, 0x60, 0x48, 0x74, 0xd4, + 0xc2, 0xc7, 0xfc, 0xf2, 0xac, 0x4a, 0x6e, 0xd1, 0xe0, 0x7e, 0x03, 0x33, + 0x6b, 0x7e, 0x3d, 0xdb, 0xf6, 0x03, 0xc1, 0x9f, 0x9d, 0x8b, 0x30, 0x41, + 0xcb, 0xe3, 0xac, 0x09, 0xe9, 0x6c, 0x86, 0xc8, 0xbd, 0xeb, 0xaa, 0xd6, +}; +static const unsigned char kat4113_entropyinpr1[] = { + 0xde, 0xda, 0x2a, 0x04, 0x3d, 0x03, 0x57, 0x44, 0xb5, 0xd0, 0xe6, 0x96, + 0xe4, 0x96, 0x38, 0x2f, 0xf0, 0xc0, 0x1c, 0xc7, 0x9c, 0x9f, 0x8f, 0x58, + 0x8b, 0x40, 0xd9, 0x34, 0x23, 0x7f, 0xdf, 0x7d, 0x0f, 0x9e, 0xa3, 0x89, + 0xcf, 0x28, 0xa3, 0x52, 0x91, 0x7c, 0x72, 0x41, 0x06, 0x41, 0x7d, 0x92, +}; +static const unsigned char kat4113_addinpr1[] = {0}; +static const unsigned char kat4113_entropyinpr2[] = { + 0xdc, 0xcf, 0xfb, 0x5e, 0x3c, 0xbf, 0x5e, 0x36, 0xeb, 0x1c, 0xa9, 0x2d, + 0xb6, 0x24, 0x7e, 0x1d, 0x6d, 0xc7, 0x77, 0xe5, 0x91, 0x89, 0x3e, 0x22, + 0x0b, 0x5c, 0xf5, 0x5c, 0x50, 0xc7, 0x4b, 0xae, 0x29, 0x95, 0xaf, 0xfb, + 0x00, 0x3a, 0x83, 0x06, 0x19, 0x77, 0x71, 0x73, 0x7a, 0xad, 0xdf, 0x64, +}; +static const unsigned char kat4113_addinpr2[] = {0}; +static const unsigned char kat4113_retbits[] = { + 0xcd, 0xec, 0xc0, 0x83, 0xb5, 0xc4, 0xbd, 0x38, 0xb5, 0x73, 0xc5, 0xe1, + 0x09, 0xfc, 0x1c, 0xbf, 0x2d, 0xbc, 0x92, 0x98, 0x2e, 0xd6, 0xd2, 0x4c, + 0xf4, 0xd2, 0xcb, 0x06, 0x38, 0x3b, 0xa2, 0x7d, 0x51, 0xdc, 0x06, 0x4a, + 0x8c, 0xf4, 0x22, 0x05, 0x42, 0x0d, 0x1c, 0x62, 0x50, 0x5b, 0x98, 0x7c, + 0x77, 0x45, 0x02, 0xb9, 0x3e, 0x83, 0x74, 0x85, 0x28, 0x4a, 0x13, 0x7c, + 0xf2, 0x38, 0x08, 0x72, +}; +static const struct drbg_kat_pr_true kat4113_t = { + 2, kat4113_entropyin, kat4113_nonce, kat4113_persstr, + kat4113_entropyinpr1, kat4113_addinpr1, kat4113_entropyinpr2, + kat4113_addinpr2, kat4113_retbits +}; +static const struct drbg_kat kat4113 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4113_t +}; + +static const unsigned char kat4114_entropyin[] = { + 0x8a, 0x0a, 0x52, 0xb1, 0xe2, 0x28, 0xc2, 0x6b, 0xe6, 0x49, 0x7b, 0x5c, + 0xad, 0x06, 0x77, 0xcf, 0xaa, 0x2c, 0x42, 0xa4, 0xfc, 0x42, 0x9c, 0x4b, + 0xad, 0xe7, 0xa4, 0x68, 0xce, 0x68, 0x1a, 0x73, 0x2f, 0x92, 0xdc, 0xeb, + 0xdf, 0x5b, 0x3d, 0x9a, 0x0d, 0xcf, 0xdb, 0x5c, 0x11, 0xa8, 0x30, 0xd4, +}; +static const unsigned char kat4114_nonce[] = {0}; +static const unsigned char kat4114_persstr[] = { + 0x93, 0x67, 0xc2, 0x13, 0x59, 0x3e, 0x3a, 0x82, 0x05, 0x9d, 0x3c, 0x80, + 0x51, 0x3c, 0x30, 0x1f, 0x0c, 0x84, 0x0c, 0x90, 0x0a, 0xe8, 0xf1, 0x8b, + 0x5b, 0xe5, 0x58, 0xd1, 0xfb, 0x8b, 0xd5, 0x28, 0xdb, 0xf9, 0x3e, 0x6e, + 0xfb, 0x7f, 0x3c, 0xd8, 0xfe, 0xd5, 0x77, 0xa3, 0xe2, 0x99, 0xbc, 0x76, +}; +static const unsigned char kat4114_entropyinpr1[] = { + 0x51, 0xa2, 0xf3, 0x87, 0x92, 0xfb, 0x87, 0x57, 0x07, 0x47, 0xa5, 0x4b, + 0x7a, 0x3f, 0x54, 0x73, 0x58, 0x3f, 0xaa, 0xce, 0xac, 0xd7, 0x0c, 0xd5, + 0xb5, 0x33, 0x6e, 0x8e, 0xcb, 0xbc, 0xc2, 0x86, 0x62, 0x79, 0x43, 0x99, + 0x92, 0x10, 0x57, 0x3e, 0xe7, 0xf8, 0xf2, 0x94, 0x37, 0xf7, 0x4b, 0x02, +}; +static const unsigned char kat4114_addinpr1[] = {0}; +static const unsigned char kat4114_entropyinpr2[] = { + 0x77, 0xef, 0xd9, 0x0b, 0xf6, 0xfa, 0xab, 0x8e, 0xd0, 0xbb, 0x32, 0xf1, + 0x38, 0xfe, 0xc4, 0xfe, 0x8a, 0xfd, 0x7e, 0x1a, 0x55, 0xb2, 0xe6, 0x0d, + 0x5d, 0x50, 0x0e, 0xbd, 0x57, 0xed, 0x38, 0x2a, 0xf9, 0x7d, 0x9e, 0xa8, + 0x93, 0x75, 0xfc, 0x56, 0xb5, 0x11, 0xcb, 0x67, 0x4e, 0x76, 0xe4, 0xf4, +}; +static const unsigned char kat4114_addinpr2[] = {0}; +static const unsigned char kat4114_retbits[] = { + 0xab, 0x14, 0x78, 0xcc, 0x75, 0xbb, 0xfd, 0xc9, 0x30, 0xfe, 0xfe, 0xff, + 0x1e, 0x6f, 0x8e, 0x7b, 0x82, 0x22, 0x13, 0x97, 0x6f, 0xc5, 0x56, 0xee, + 0x7f, 0x71, 0x55, 0x0d, 0x12, 0x86, 0x20, 0x76, 0x6d, 0x83, 0x53, 0xb3, + 0xc5, 0x4c, 0x59, 0x93, 0x4e, 0x7f, 0xa5, 0x7e, 0x8b, 0x85, 0x7c, 0x7d, + 0xae, 0xf8, 0xe9, 0xd8, 0x27, 0x05, 0xfd, 0x1f, 0xec, 0x7b, 0x19, 0xd5, + 0xc3, 0xb5, 0xaf, 0x4f, +}; +static const struct drbg_kat_pr_true kat4114_t = { + 3, kat4114_entropyin, kat4114_nonce, kat4114_persstr, + kat4114_entropyinpr1, kat4114_addinpr1, kat4114_entropyinpr2, + kat4114_addinpr2, kat4114_retbits +}; +static const struct drbg_kat kat4114 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4114_t +}; + +static const unsigned char kat4115_entropyin[] = { + 0x42, 0x56, 0xc1, 0xc6, 0xdc, 0xb9, 0x46, 0x3f, 0x75, 0x1d, 0x97, 0xc2, + 0xb9, 0xa1, 0xdf, 0x62, 0x9d, 0x2f, 0x6d, 0xb1, 0x9d, 0xfc, 0xe8, 0x0d, + 0xa4, 0x62, 0x4e, 0x5c, 0xeb, 0x24, 0x03, 0xae, 0x6f, 0x19, 0x06, 0xf2, + 0xd8, 0xe3, 0x4c, 0xb0, 0x15, 0x52, 0x5b, 0x27, 0xbb, 0x25, 0xc2, 0x62, +}; +static const unsigned char kat4115_nonce[] = {0}; +static const unsigned char kat4115_persstr[] = { + 0x88, 0xd9, 0xb7, 0xc5, 0x0d, 0x99, 0xc9, 0x26, 0xf0, 0x35, 0x08, 0x5a, + 0x7a, 0x8f, 0x02, 0x69, 0x8f, 0xde, 0x84, 0x5d, 0xb8, 0x50, 0x88, 0xe8, + 0x66, 0x18, 0x74, 0x07, 0xbd, 0xf7, 0x5b, 0x2c, 0x6c, 0xb6, 0x28, 0xd5, + 0x08, 0x1c, 0x85, 0x9a, 0x5d, 0x73, 0x88, 0x26, 0xd2, 0xe8, 0xc1, 0xee, +}; +static const unsigned char kat4115_entropyinpr1[] = { + 0x8b, 0xa0, 0x3c, 0x22, 0x83, 0xb9, 0x7a, 0x37, 0x06, 0x3a, 0x45, 0x97, + 0xf7, 0xca, 0x15, 0xfb, 0x2d, 0xf7, 0xb0, 0xde, 0x1e, 0x22, 0x36, 0xb8, + 0x33, 0x8f, 0x14, 0x53, 0x9c, 0x05, 0x9d, 0x1a, 0x47, 0xa9, 0x47, 0xbc, + 0x9a, 0x3e, 0xf9, 0x54, 0xc8, 0x33, 0xff, 0xfa, 0xff, 0x8f, 0xa8, 0xff, +}; +static const unsigned char kat4115_addinpr1[] = {0}; +static const unsigned char kat4115_entropyinpr2[] = { + 0xc5, 0xd3, 0xa8, 0x8d, 0xe9, 0xdb, 0x79, 0xdd, 0x70, 0x71, 0x87, 0xdf, + 0xe5, 0xd3, 0x54, 0x43, 0xf7, 0xea, 0xda, 0x16, 0x69, 0xd5, 0xda, 0xf3, + 0x9a, 0xf4, 0xd7, 0x8f, 0xff, 0x3f, 0xd3, 0x5f, 0x0e, 0x81, 0x92, 0x2a, + 0x20, 0x7e, 0x64, 0x0c, 0xba, 0x2c, 0x9f, 0xb1, 0x82, 0x80, 0xf6, 0x2d, +}; +static const unsigned char kat4115_addinpr2[] = {0}; +static const unsigned char kat4115_retbits[] = { + 0xf6, 0x4d, 0x6a, 0xc3, 0xfd, 0x9b, 0xed, 0xa9, 0xea, 0x4b, 0x3f, 0xc2, + 0x92, 0x1e, 0x96, 0x7d, 0x12, 0x6a, 0xb4, 0xe7, 0x47, 0xeb, 0x4f, 0x29, + 0xbf, 0xd9, 0x49, 0xf9, 0x41, 0x19, 0x27, 0x10, 0x52, 0xff, 0x52, 0x50, + 0x1c, 0xb4, 0x5a, 0xf6, 0xbf, 0x94, 0x99, 0xef, 0x59, 0x26, 0x42, 0x3f, + 0x61, 0xbd, 0x4d, 0xac, 0x0b, 0x28, 0xfc, 0x95, 0xaa, 0x88, 0x6c, 0x82, + 0x26, 0xea, 0x27, 0xb4, +}; +static const struct drbg_kat_pr_true kat4115_t = { + 4, kat4115_entropyin, kat4115_nonce, kat4115_persstr, + kat4115_entropyinpr1, kat4115_addinpr1, kat4115_entropyinpr2, + kat4115_addinpr2, kat4115_retbits +}; +static const struct drbg_kat kat4115 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4115_t +}; + +static const unsigned char kat4116_entropyin[] = { + 0x6e, 0x92, 0x42, 0x7a, 0x94, 0x81, 0x6c, 0x83, 0x8e, 0xf5, 0x7f, 0x9d, + 0x98, 0x94, 0x1f, 0xfc, 0x3c, 0xd0, 0x70, 0xc7, 0x6f, 0xcc, 0x19, 0xe7, + 0x65, 0xf9, 0xb1, 0xf9, 0xd3, 0x90, 0xec, 0x99, 0xf0, 0xb5, 0x19, 0x3f, + 0xd7, 0x2a, 0x3d, 0x70, 0x0d, 0xea, 0xef, 0xfe, 0xa6, 0xc2, 0x28, 0x2e, +}; +static const unsigned char kat4116_nonce[] = {0}; +static const unsigned char kat4116_persstr[] = { + 0x6d, 0x76, 0x21, 0xae, 0x46, 0x0a, 0xe1, 0x0c, 0x8c, 0x8d, 0x0e, 0x11, + 0xc8, 0x0a, 0xa4, 0x44, 0xe2, 0x79, 0xf2, 0xce, 0xf7, 0xda, 0x2a, 0x0e, + 0x52, 0xfe, 0x43, 0xed, 0xfa, 0x02, 0x5c, 0x67, 0xba, 0x01, 0x11, 0xb6, + 0xa2, 0x77, 0x4b, 0x06, 0x20, 0xea, 0xe6, 0x5a, 0xa2, 0xbc, 0x29, 0x2c, +}; +static const unsigned char kat4116_entropyinpr1[] = { + 0x8e, 0x71, 0x59, 0x35, 0x07, 0x59, 0xfe, 0x73, 0xe6, 0xc5, 0x1a, 0xb2, + 0x24, 0xed, 0xa1, 0xcd, 0x76, 0x9c, 0x70, 0x3a, 0x42, 0xa7, 0x9d, 0x3c, + 0x4c, 0xe4, 0x07, 0xaa, 0x99, 0xc8, 0x42, 0x7f, 0x87, 0x2b, 0x7c, 0x3e, + 0x09, 0x55, 0x9c, 0x78, 0x9c, 0xb7, 0x5c, 0x54, 0x6d, 0xde, 0xb9, 0x88, +}; +static const unsigned char kat4116_addinpr1[] = {0}; +static const unsigned char kat4116_entropyinpr2[] = { + 0xdb, 0x12, 0xfb, 0x9c, 0x2f, 0x1c, 0xc0, 0x22, 0x76, 0x8f, 0x82, 0x4d, + 0xfd, 0x05, 0xed, 0xc6, 0xd5, 0x71, 0x84, 0xee, 0x0e, 0x51, 0xce, 0x8d, + 0xec, 0xc7, 0x4c, 0x39, 0x0a, 0xde, 0xe6, 0x3e, 0xe4, 0x01, 0xa7, 0xd3, + 0xbb, 0x0a, 0x91, 0xc1, 0xd5, 0x0f, 0xd2, 0x23, 0x9d, 0xc3, 0xfa, 0x57, +}; +static const unsigned char kat4116_addinpr2[] = {0}; +static const unsigned char kat4116_retbits[] = { + 0x45, 0xe3, 0xbf, 0xaf, 0xaa, 0x00, 0x94, 0x14, 0x59, 0xb3, 0x73, 0xaa, + 0x00, 0xe6, 0x09, 0x6b, 0x75, 0x27, 0x11, 0x0f, 0x4c, 0x6e, 0x4e, 0x7d, + 0x66, 0x61, 0x82, 0x9d, 0xfe, 0x4a, 0xd8, 0x3a, 0xb2, 0x3a, 0x57, 0x79, + 0xdc, 0x7f, 0x81, 0x16, 0xb7, 0x3b, 0x92, 0x9f, 0xc3, 0xda, 0x43, 0xad, + 0x34, 0x6a, 0x3e, 0x11, 0x36, 0x4e, 0x1b, 0x45, 0x3e, 0x66, 0x33, 0x5b, + 0x5c, 0xbf, 0x59, 0xb1, +}; +static const struct drbg_kat_pr_true kat4116_t = { + 5, kat4116_entropyin, kat4116_nonce, kat4116_persstr, + kat4116_entropyinpr1, kat4116_addinpr1, kat4116_entropyinpr2, + kat4116_addinpr2, kat4116_retbits +}; +static const struct drbg_kat kat4116 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4116_t +}; + +static const unsigned char kat4117_entropyin[] = { + 0x14, 0x93, 0x2f, 0x8e, 0xe3, 0xec, 0x21, 0x19, 0xe0, 0x3b, 0x65, 0xdd, + 0xe5, 0x3c, 0x2c, 0x41, 0x56, 0xb8, 0x01, 0x3c, 0x4d, 0x1c, 0x26, 0x02, + 0x27, 0xb2, 0x40, 0xaf, 0x61, 0xbb, 0xd0, 0xef, 0xed, 0xcd, 0xcd, 0x4f, + 0xbc, 0x82, 0x8d, 0xc6, 0x88, 0xce, 0xf0, 0xb2, 0x5b, 0xb1, 0x23, 0x74, +}; +static const unsigned char kat4117_nonce[] = {0}; +static const unsigned char kat4117_persstr[] = { + 0x3d, 0xc5, 0x24, 0x87, 0xf8, 0x66, 0xee, 0xf2, 0x7a, 0x6a, 0xaa, 0x0f, + 0x3d, 0xa8, 0x7c, 0x09, 0xc8, 0x59, 0xba, 0xbb, 0xb7, 0x3e, 0x17, 0x71, + 0x62, 0x6c, 0xa4, 0x34, 0x53, 0x4a, 0x66, 0xb0, 0x2e, 0x56, 0x13, 0x63, + 0xdb, 0x90, 0x79, 0x8e, 0xdb, 0x55, 0xcc, 0xed, 0x27, 0x46, 0x76, 0x7a, +}; +static const unsigned char kat4117_entropyinpr1[] = { + 0xa5, 0xd0, 0x63, 0xe9, 0x66, 0xeb, 0xfa, 0x8b, 0xb0, 0x5f, 0xc0, 0xc0, + 0x62, 0x5a, 0x30, 0xd0, 0xa4, 0x08, 0xe5, 0xe3, 0x1e, 0xc9, 0x66, 0x73, + 0x74, 0xcc, 0xcc, 0xbc, 0xc0, 0x7f, 0x6c, 0x28, 0x9e, 0xcd, 0xf3, 0xde, + 0xb3, 0xf7, 0x84, 0x92, 0x5e, 0x7e, 0x72, 0xc7, 0x51, 0x05, 0xbf, 0x54, +}; +static const unsigned char kat4117_addinpr1[] = {0}; +static const unsigned char kat4117_entropyinpr2[] = { + 0x31, 0xd8, 0xab, 0x37, 0x20, 0x1b, 0x55, 0x66, 0x21, 0x01, 0xad, 0x23, + 0x58, 0x83, 0xc2, 0x8e, 0xcf, 0xb5, 0xc9, 0xe3, 0xcf, 0x04, 0x98, 0xf6, + 0xcd, 0x56, 0x3d, 0xb9, 0x6f, 0x62, 0x2e, 0x56, 0x56, 0x96, 0x72, 0x56, + 0xc7, 0xc3, 0xef, 0xc2, 0xca, 0x3c, 0x57, 0x7b, 0xe0, 0x2d, 0xe3, 0xce, +}; +static const unsigned char kat4117_addinpr2[] = {0}; +static const unsigned char kat4117_retbits[] = { + 0x8b, 0xc9, 0x8d, 0x27, 0x05, 0x0e, 0x71, 0x3d, 0x19, 0x55, 0x1e, 0xad, + 0xae, 0x19, 0xd1, 0x4f, 0x3b, 0x13, 0x04, 0xaa, 0x6f, 0x73, 0x6d, 0x9b, + 0xec, 0x6c, 0x7c, 0xc9, 0x0c, 0x85, 0x41, 0x2a, 0x4e, 0x6a, 0x72, 0x18, + 0xb8, 0xa7, 0xce, 0x46, 0xb1, 0xcb, 0x93, 0xfa, 0x1b, 0x29, 0x6e, 0xee, + 0x78, 0x9a, 0xae, 0x0c, 0xb2, 0xa5, 0x8f, 0xe7, 0xa8, 0x0e, 0x26, 0xf0, + 0xa1, 0x01, 0x8d, 0xc8, +}; +static const struct drbg_kat_pr_true kat4117_t = { + 6, kat4117_entropyin, kat4117_nonce, kat4117_persstr, + kat4117_entropyinpr1, kat4117_addinpr1, kat4117_entropyinpr2, + kat4117_addinpr2, kat4117_retbits +}; +static const struct drbg_kat kat4117 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4117_t +}; + +static const unsigned char kat4118_entropyin[] = { + 0xa7, 0xd7, 0xb5, 0x6b, 0xdf, 0x38, 0xb5, 0x7d, 0x74, 0x18, 0xae, 0x3f, + 0x3a, 0x90, 0x37, 0x5d, 0x7a, 0xaf, 0xc3, 0x83, 0x9a, 0x29, 0x56, 0xf6, + 0x82, 0x4d, 0x1c, 0x55, 0xd6, 0x15, 0x96, 0x62, 0x07, 0xa5, 0xef, 0x31, + 0xe2, 0xbf, 0x83, 0x59, 0xdb, 0x10, 0x70, 0x61, 0x2a, 0xd6, 0xd7, 0x75, +}; +static const unsigned char kat4118_nonce[] = {0}; +static const unsigned char kat4118_persstr[] = { + 0x01, 0x5c, 0x5a, 0x1d, 0x1f, 0x9e, 0x2a, 0xeb, 0x34, 0x71, 0x37, 0x67, + 0xa5, 0x8d, 0x01, 0xb0, 0x05, 0x5a, 0x27, 0x15, 0x1b, 0xaf, 0xbd, 0x0a, + 0xfc, 0x31, 0xfc, 0x22, 0xd7, 0x65, 0xe5, 0x7f, 0x65, 0xff, 0xc2, 0x82, + 0xab, 0xa7, 0x26, 0xa2, 0xec, 0x5a, 0x7c, 0x36, 0xa3, 0x3c, 0x0e, 0xcc, +}; +static const unsigned char kat4118_entropyinpr1[] = { + 0xf4, 0x80, 0xe7, 0xc9, 0x70, 0xc0, 0x2a, 0x5a, 0x64, 0xb0, 0x9f, 0x04, + 0x73, 0xd0, 0x4b, 0x65, 0x8e, 0x19, 0x33, 0x26, 0x34, 0x04, 0x35, 0x69, + 0xe2, 0x49, 0x96, 0x98, 0x1f, 0x7d, 0x51, 0x5d, 0x32, 0x6a, 0xd1, 0x12, + 0x96, 0x61, 0x63, 0x87, 0x53, 0xd1, 0x17, 0xe8, 0xd3, 0x1a, 0x54, 0x0f, +}; +static const unsigned char kat4118_addinpr1[] = {0}; +static const unsigned char kat4118_entropyinpr2[] = { + 0x08, 0x54, 0xd1, 0xa0, 0xaa, 0x78, 0xe3, 0xe6, 0x0b, 0x68, 0x25, 0xd1, + 0x43, 0xea, 0xa9, 0x7e, 0xc7, 0xdd, 0xd1, 0xb8, 0xb8, 0x5c, 0x26, 0xb6, + 0x25, 0xfe, 0x4d, 0xa7, 0x97, 0x3d, 0x64, 0x3c, 0xd0, 0x62, 0x91, 0x86, + 0xc4, 0x29, 0x28, 0xc8, 0xe4, 0x68, 0x57, 0xa6, 0x03, 0xe5, 0xac, 0x0c, +}; +static const unsigned char kat4118_addinpr2[] = {0}; +static const unsigned char kat4118_retbits[] = { + 0x79, 0x41, 0x28, 0xd6, 0x81, 0xd3, 0x55, 0x33, 0x61, 0x48, 0xee, 0xb4, + 0xdd, 0x88, 0x2d, 0x76, 0xef, 0x98, 0x4f, 0x2a, 0x8c, 0xeb, 0x4b, 0x45, + 0x1e, 0x9b, 0x37, 0xbe, 0xac, 0x0f, 0xb5, 0x02, 0x47, 0xbd, 0x59, 0x5e, + 0xde, 0x2d, 0xe0, 0x00, 0xf4, 0x39, 0x79, 0x88, 0xd3, 0xf5, 0x2e, 0x0b, + 0x3b, 0x29, 0x32, 0x08, 0xc1, 0x6b, 0x5f, 0x45, 0xd6, 0x03, 0x2b, 0xc5, + 0xef, 0x20, 0xb3, 0xc8, +}; +static const struct drbg_kat_pr_true kat4118_t = { + 7, kat4118_entropyin, kat4118_nonce, kat4118_persstr, + kat4118_entropyinpr1, kat4118_addinpr1, kat4118_entropyinpr2, + kat4118_addinpr2, kat4118_retbits +}; +static const struct drbg_kat kat4118 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4118_t +}; + +static const unsigned char kat4119_entropyin[] = { + 0x89, 0xdf, 0xbb, 0x4a, 0x10, 0xba, 0xd1, 0xc2, 0x69, 0x34, 0x1b, 0x78, + 0x15, 0xac, 0x13, 0x88, 0xa7, 0xd2, 0x8b, 0xff, 0x83, 0x93, 0xe0, 0x78, + 0xd9, 0x9a, 0x0c, 0xdf, 0x12, 0xd0, 0xf2, 0x8a, 0x24, 0xe4, 0x54, 0x41, + 0xc8, 0x65, 0x84, 0x82, 0x9c, 0xe3, 0x7d, 0x4e, 0xb3, 0xb2, 0x88, 0x73, +}; +static const unsigned char kat4119_nonce[] = {0}; +static const unsigned char kat4119_persstr[] = { + 0x52, 0x35, 0xd1, 0xb8, 0xea, 0x0e, 0x83, 0x61, 0x8a, 0x75, 0x5c, 0x59, + 0x8f, 0xa8, 0xe7, 0x4d, 0x6e, 0x42, 0x5f, 0x94, 0x62, 0x49, 0xe8, 0x0f, + 0x12, 0xd8, 0x5d, 0x3e, 0x1c, 0x54, 0x7d, 0x50, 0x48, 0xf2, 0x35, 0x68, + 0x7d, 0xc9, 0x3c, 0x86, 0xcb, 0xb6, 0x91, 0x38, 0x4f, 0x88, 0x94, 0x08, +}; +static const unsigned char kat4119_entropyinpr1[] = { + 0x6d, 0x14, 0xb6, 0x71, 0xea, 0xa6, 0x6e, 0x21, 0x7d, 0xd9, 0x73, 0x04, + 0x7b, 0x61, 0x80, 0xb7, 0xdb, 0xd2, 0xc2, 0x9b, 0x70, 0x9f, 0xce, 0x01, + 0x4b, 0xcf, 0xda, 0x25, 0xe2, 0x69, 0xbf, 0x5a, 0x73, 0x6d, 0x71, 0x54, + 0x30, 0x8a, 0xa0, 0x59, 0x7c, 0x5f, 0x5a, 0xdc, 0x3e, 0xb4, 0xcd, 0xd9, +}; +static const unsigned char kat4119_addinpr1[] = {0}; +static const unsigned char kat4119_entropyinpr2[] = { + 0x7c, 0x0a, 0x71, 0xa8, 0xf5, 0x6a, 0xc0, 0xb5, 0x76, 0x65, 0x25, 0xb0, + 0xf6, 0x3a, 0xfe, 0x48, 0xf4, 0xa0, 0xd2, 0x82, 0xad, 0xf3, 0x00, 0xf9, + 0xda, 0x47, 0xac, 0x62, 0x69, 0x3f, 0x0d, 0x74, 0xf6, 0x73, 0x91, 0x28, + 0xc6, 0x10, 0x24, 0xa2, 0x2f, 0x74, 0x69, 0xd8, 0x22, 0x38, 0x2c, 0xfb, +}; +static const unsigned char kat4119_addinpr2[] = {0}; +static const unsigned char kat4119_retbits[] = { + 0x35, 0x71, 0x38, 0x3b, 0x97, 0x12, 0x91, 0xe3, 0x76, 0x16, 0xf1, 0xc6, + 0xaf, 0x62, 0x3a, 0x1d, 0x57, 0x6c, 0xc5, 0xf9, 0x50, 0x90, 0x56, 0x36, + 0x54, 0x42, 0x0f, 0x18, 0x4f, 0xc6, 0x66, 0x32, 0x42, 0xae, 0xff, 0xb0, + 0x60, 0x52, 0xa2, 0x9e, 0x84, 0x38, 0x0d, 0xb3, 0x8d, 0x9f, 0x3e, 0xd0, + 0x98, 0x23, 0xdf, 0xef, 0x17, 0x74, 0xc1, 0x41, 0x20, 0xfb, 0x01, 0x06, + 0x00, 0xb7, 0xb2, 0x74, +}; +static const struct drbg_kat_pr_true kat4119_t = { + 8, kat4119_entropyin, kat4119_nonce, kat4119_persstr, + kat4119_entropyinpr1, kat4119_addinpr1, kat4119_entropyinpr2, + kat4119_addinpr2, kat4119_retbits +}; +static const struct drbg_kat kat4119 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4119_t +}; + +static const unsigned char kat4120_entropyin[] = { + 0xd0, 0xda, 0xca, 0x07, 0x3b, 0x0c, 0x15, 0x17, 0xb9, 0xd6, 0x64, 0x3c, + 0x51, 0x81, 0x30, 0x58, 0x0f, 0x25, 0x4b, 0x48, 0x2d, 0x4c, 0x44, 0xb7, + 0x35, 0x59, 0x0e, 0x16, 0x7b, 0x06, 0xb3, 0x04, 0xe0, 0x66, 0x4b, 0x8e, + 0x12, 0xd9, 0xc8, 0xdd, 0x08, 0x3f, 0x4b, 0x75, 0x8e, 0x7b, 0x3d, 0x81, +}; +static const unsigned char kat4120_nonce[] = {0}; +static const unsigned char kat4120_persstr[] = { + 0x06, 0x17, 0x0a, 0x3a, 0x66, 0x30, 0x8c, 0xea, 0x0a, 0xb1, 0xf4, 0x4e, + 0x68, 0x8e, 0x7a, 0x4f, 0x69, 0xa4, 0xfe, 0x43, 0x5c, 0xc3, 0x25, 0xdc, + 0x55, 0x47, 0x71, 0xb4, 0x15, 0x66, 0x14, 0xc7, 0x7d, 0x3c, 0x21, 0x37, + 0x7c, 0xa5, 0x52, 0xe6, 0xd5, 0xac, 0x9b, 0x7f, 0xfb, 0x52, 0xf1, 0xa3, +}; +static const unsigned char kat4120_entropyinpr1[] = { + 0x44, 0x41, 0x27, 0x73, 0x88, 0xba, 0xf0, 0xae, 0x4d, 0x69, 0xb0, 0xc1, + 0xdb, 0x2b, 0x4d, 0x76, 0x76, 0x47, 0x73, 0x0e, 0x10, 0xcf, 0x11, 0x91, + 0xcd, 0x10, 0xfd, 0x2e, 0xba, 0x57, 0x0d, 0x34, 0x8e, 0x54, 0x4c, 0xea, + 0x06, 0x41, 0xaf, 0x89, 0x41, 0x8c, 0x90, 0x0c, 0xcb, 0xf2, 0xca, 0x20, +}; +static const unsigned char kat4120_addinpr1[] = {0}; +static const unsigned char kat4120_entropyinpr2[] = { + 0x21, 0x80, 0xdc, 0x1f, 0x5f, 0x17, 0xf5, 0xf8, 0xcb, 0xb8, 0x49, 0x9e, + 0x15, 0x5d, 0xe4, 0xbd, 0x50, 0xe0, 0xf2, 0x17, 0x50, 0x41, 0xc2, 0x4d, + 0x1c, 0x72, 0xf6, 0x54, 0xaf, 0x8a, 0x08, 0x56, 0x3b, 0x1c, 0x42, 0xa8, + 0x4c, 0x5a, 0xe1, 0x26, 0xef, 0x33, 0xe1, 0x90, 0x9b, 0xce, 0xe3, 0x8f, +}; +static const unsigned char kat4120_addinpr2[] = {0}; +static const unsigned char kat4120_retbits[] = { + 0xb7, 0x72, 0x3a, 0x01, 0xd3, 0x50, 0x11, 0xa9, 0xa8, 0xe0, 0xe8, 0x2a, + 0x8a, 0xde, 0x37, 0xd5, 0xe9, 0x92, 0xd8, 0xcc, 0x53, 0x90, 0xe2, 0x40, + 0x9e, 0x18, 0x5a, 0x1b, 0xce, 0xde, 0x39, 0xb7, 0x42, 0xfa, 0x1f, 0xa5, + 0x41, 0x57, 0x2a, 0xa3, 0x6b, 0x16, 0xbe, 0x41, 0x0f, 0x3c, 0xa0, 0xca, + 0x85, 0x3f, 0xfd, 0x7c, 0xea, 0x29, 0x96, 0xe8, 0x52, 0xb8, 0x88, 0xfe, + 0x9b, 0x12, 0x63, 0xf9, +}; +static const struct drbg_kat_pr_true kat4120_t = { + 9, kat4120_entropyin, kat4120_nonce, kat4120_persstr, + kat4120_entropyinpr1, kat4120_addinpr1, kat4120_entropyinpr2, + kat4120_addinpr2, kat4120_retbits +}; +static const struct drbg_kat kat4120 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4120_t +}; + +static const unsigned char kat4121_entropyin[] = { + 0x48, 0xe6, 0x17, 0x78, 0x13, 0xad, 0x0d, 0xd8, 0xda, 0x85, 0x06, 0xa9, + 0x1f, 0xe0, 0xd4, 0xe6, 0x15, 0xbd, 0xd0, 0x68, 0xb4, 0x23, 0x05, 0x0a, + 0x1d, 0xfc, 0x94, 0xe1, 0xcb, 0xaa, 0x2b, 0xbe, 0xb2, 0xf9, 0x25, 0x61, + 0x39, 0x1a, 0x4f, 0x54, 0x14, 0x3a, 0xc4, 0x6a, 0x74, 0xd5, 0x7c, 0x03, +}; +static const unsigned char kat4121_nonce[] = {0}; +static const unsigned char kat4121_persstr[] = { + 0x76, 0x7f, 0xa9, 0x41, 0x28, 0xaa, 0x6e, 0x71, 0xdf, 0xbf, 0xb4, 0xc1, + 0x6b, 0xe3, 0x3c, 0x48, 0x94, 0x1c, 0x5c, 0xcb, 0xf9, 0x6e, 0x80, 0x94, + 0x36, 0x5f, 0x58, 0x18, 0x10, 0xce, 0x94, 0xb3, 0xfe, 0xb8, 0x96, 0x0b, + 0x99, 0xeb, 0x92, 0x5b, 0x0c, 0x61, 0x84, 0xdb, 0x40, 0x34, 0x38, 0x49, +}; +static const unsigned char kat4121_entropyinpr1[] = { + 0xf9, 0xd7, 0x61, 0xf5, 0x89, 0xd8, 0xe4, 0x66, 0x12, 0x32, 0x57, 0xd4, + 0xb1, 0x44, 0xe4, 0x01, 0x06, 0xbe, 0x6a, 0x06, 0x36, 0x43, 0x54, 0x7b, + 0x85, 0x49, 0x73, 0x31, 0x34, 0xb3, 0x37, 0x57, 0x15, 0x15, 0x72, 0x46, + 0xa9, 0xbf, 0x9a, 0x91, 0xf8, 0x54, 0xa3, 0x7c, 0xe7, 0xef, 0xb3, 0xe1, +}; +static const unsigned char kat4121_addinpr1[] = {0}; +static const unsigned char kat4121_entropyinpr2[] = { + 0xb7, 0x74, 0x61, 0x6e, 0x89, 0xa2, 0x29, 0x7c, 0xe5, 0xfe, 0xea, 0x2f, + 0x57, 0x08, 0xeb, 0x0f, 0xd2, 0x1f, 0x3a, 0xe1, 0x88, 0xae, 0x25, 0xc6, + 0x4c, 0x8b, 0xce, 0xe7, 0x3b, 0xe4, 0x0d, 0xb2, 0xaf, 0x5d, 0x8e, 0x64, + 0x0c, 0xcd, 0x48, 0xb8, 0xcd, 0xc7, 0x37, 0x5e, 0x5c, 0x53, 0xca, 0xd7, +}; +static const unsigned char kat4121_addinpr2[] = {0}; +static const unsigned char kat4121_retbits[] = { + 0x0d, 0x42, 0xad, 0x75, 0xa6, 0x70, 0x08, 0x67, 0x4b, 0xe7, 0xd8, 0x1b, + 0xb2, 0xca, 0x9f, 0x06, 0x25, 0xb5, 0x5e, 0xa3, 0x7e, 0x19, 0x85, 0xd3, + 0xa2, 0x7c, 0xac, 0x38, 0xe3, 0x47, 0x82, 0x4f, 0xf0, 0x3c, 0xaa, 0xae, + 0xae, 0x9b, 0x64, 0x6a, 0x22, 0x0a, 0x8a, 0x67, 0x2c, 0xb2, 0x8b, 0xa8, + 0x69, 0xd0, 0xf5, 0x3e, 0x33, 0x17, 0xbe, 0x00, 0x12, 0x8f, 0xa9, 0x65, + 0xa8, 0xea, 0x7b, 0x39, +}; +static const struct drbg_kat_pr_true kat4121_t = { + 10, kat4121_entropyin, kat4121_nonce, kat4121_persstr, + kat4121_entropyinpr1, kat4121_addinpr1, kat4121_entropyinpr2, + kat4121_addinpr2, kat4121_retbits +}; +static const struct drbg_kat kat4121 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4121_t +}; + +static const unsigned char kat4122_entropyin[] = { + 0x35, 0x07, 0x21, 0x4c, 0x35, 0x9f, 0x4a, 0xb7, 0x59, 0x04, 0xdd, 0x4e, + 0x43, 0x0c, 0xcf, 0xd4, 0x84, 0xb8, 0x53, 0xb4, 0x0b, 0x72, 0x53, 0xd4, + 0x30, 0x11, 0x15, 0x88, 0x41, 0x0f, 0x1c, 0x9f, 0xc4, 0x1e, 0x75, 0x7f, + 0x66, 0x9d, 0x3d, 0xe4, 0x5a, 0x3c, 0x0e, 0xfd, 0xeb, 0x25, 0x0b, 0xd3, +}; +static const unsigned char kat4122_nonce[] = {0}; +static const unsigned char kat4122_persstr[] = { + 0x80, 0x6f, 0x8f, 0xf2, 0x5a, 0xc8, 0xc4, 0xd6, 0x1f, 0xe8, 0xcc, 0x89, + 0x5f, 0x5c, 0x5d, 0x2e, 0x15, 0x37, 0x01, 0xb5, 0xc2, 0xcc, 0x8e, 0xf6, + 0xb4, 0xff, 0x7e, 0xc5, 0xf6, 0x27, 0x3b, 0x28, 0x56, 0x95, 0x00, 0x00, + 0x16, 0xe7, 0xd5, 0xa6, 0x14, 0x5f, 0x4f, 0x98, 0xf4, 0xa4, 0x2b, 0xf9, +}; +static const unsigned char kat4122_entropyinpr1[] = { + 0x83, 0x64, 0xb8, 0x16, 0xf4, 0xc6, 0x43, 0x59, 0xe5, 0x44, 0x15, 0x08, + 0x2f, 0xd5, 0xb0, 0x4c, 0xb8, 0x96, 0xbd, 0x5d, 0xe5, 0x52, 0x7b, 0x09, + 0x30, 0xfc, 0x6a, 0x85, 0x5d, 0x2a, 0x31, 0xb5, 0x5c, 0xba, 0x81, 0xab, + 0x25, 0xb0, 0x19, 0xad, 0xc7, 0xcc, 0x7c, 0x7a, 0x6f, 0x30, 0x8c, 0x4c, +}; +static const unsigned char kat4122_addinpr1[] = {0}; +static const unsigned char kat4122_entropyinpr2[] = { + 0xab, 0x2a, 0x1d, 0x12, 0xb1, 0x99, 0x7f, 0x5a, 0x1b, 0x74, 0xd6, 0x60, + 0x8e, 0x60, 0xf0, 0x96, 0x82, 0x92, 0x4f, 0xcc, 0x42, 0x70, 0xfd, 0x5f, + 0xab, 0x8e, 0x84, 0xf2, 0xbe, 0x19, 0x30, 0x6e, 0x49, 0x53, 0x7a, 0x40, + 0xad, 0xd1, 0x4b, 0xa9, 0xb1, 0x47, 0x2f, 0x80, 0xa9, 0x7a, 0xde, 0x7d, +}; +static const unsigned char kat4122_addinpr2[] = {0}; +static const unsigned char kat4122_retbits[] = { + 0xd5, 0xbe, 0x16, 0x98, 0xe0, 0x11, 0x12, 0x28, 0x74, 0xea, 0x19, 0xc5, + 0x62, 0x85, 0x9e, 0x55, 0x2c, 0x68, 0xd2, 0x73, 0x4a, 0x39, 0xf7, 0x2d, + 0x6f, 0x8e, 0xca, 0x8c, 0xe3, 0x09, 0x16, 0x50, 0x4b, 0xf2, 0x24, 0x67, + 0x0f, 0x9a, 0x7b, 0x6a, 0xfb, 0x57, 0x83, 0x0a, 0x28, 0xfe, 0xc0, 0xfe, + 0x81, 0x8d, 0xf4, 0x49, 0xf5, 0xe6, 0xeb, 0x8b, 0x49, 0xa3, 0x39, 0x7d, + 0xf4, 0xbd, 0x35, 0x06, +}; +static const struct drbg_kat_pr_true kat4122_t = { + 11, kat4122_entropyin, kat4122_nonce, kat4122_persstr, + kat4122_entropyinpr1, kat4122_addinpr1, kat4122_entropyinpr2, + kat4122_addinpr2, kat4122_retbits +}; +static const struct drbg_kat kat4122 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4122_t +}; + +static const unsigned char kat4123_entropyin[] = { + 0xe6, 0xa8, 0xdd, 0x29, 0xea, 0x2f, 0x9f, 0x2a, 0x45, 0x95, 0xaa, 0x1b, + 0x96, 0x00, 0x83, 0x1d, 0x16, 0x47, 0xf5, 0x3f, 0x36, 0x67, 0x24, 0x51, + 0x75, 0x69, 0xe2, 0x84, 0x8f, 0x5a, 0x7c, 0xcb, 0x4b, 0xd2, 0xf5, 0x53, + 0xf8, 0x3f, 0x91, 0xc1, 0x4c, 0x23, 0x61, 0xcb, 0xc3, 0xec, 0xe9, 0x26, +}; +static const unsigned char kat4123_nonce[] = {0}; +static const unsigned char kat4123_persstr[] = { + 0xdf, 0xa7, 0x44, 0x5d, 0x60, 0xac, 0x90, 0x8b, 0xb0, 0x31, 0xbc, 0xb4, + 0xf9, 0xfe, 0xed, 0x62, 0x6a, 0xfa, 0xb1, 0xe4, 0xae, 0xf0, 0x21, 0x86, + 0x2e, 0x1f, 0xcd, 0xb3, 0x4f, 0xdd, 0xf9, 0x02, 0x8b, 0x62, 0x26, 0xdf, + 0xb1, 0x1f, 0x67, 0x7d, 0xca, 0x42, 0x0c, 0xeb, 0x11, 0x93, 0x05, 0x87, +}; +static const unsigned char kat4123_entropyinpr1[] = { + 0xac, 0x25, 0xbc, 0x06, 0x03, 0xa5, 0x69, 0xb9, 0x0e, 0xfc, 0x79, 0x6a, + 0xea, 0x33, 0x86, 0x84, 0xd8, 0x4c, 0x03, 0x24, 0x0d, 0x1b, 0xb3, 0xc9, + 0xd3, 0xb2, 0x46, 0x27, 0xfb, 0x24, 0x23, 0x5d, 0x6f, 0xb8, 0x37, 0xfc, + 0x38, 0x2c, 0x6c, 0x94, 0x9e, 0xbc, 0x91, 0x1a, 0xba, 0xdf, 0xe9, 0xb5, +}; +static const unsigned char kat4123_addinpr1[] = {0}; +static const unsigned char kat4123_entropyinpr2[] = { + 0x60, 0xfe, 0x48, 0xc0, 0x71, 0x07, 0x3a, 0x81, 0x5e, 0xe7, 0x5a, 0x6b, + 0x66, 0xe0, 0xce, 0xc2, 0x1f, 0xa5, 0x10, 0xeb, 0x72, 0x1a, 0x10, 0xce, + 0xa6, 0x4e, 0xed, 0x97, 0x7e, 0xfe, 0x89, 0xaf, 0x92, 0x2f, 0x8b, 0xed, + 0xad, 0xe8, 0x93, 0x21, 0x2e, 0x6a, 0x25, 0x31, 0x69, 0x82, 0x18, 0x60, +}; +static const unsigned char kat4123_addinpr2[] = {0}; +static const unsigned char kat4123_retbits[] = { + 0xc8, 0x34, 0xa9, 0x0e, 0x72, 0xa5, 0xec, 0x01, 0x48, 0x94, 0x2c, 0x9f, + 0xbd, 0xe8, 0xb9, 0x0f, 0x05, 0x88, 0x66, 0xac, 0x3f, 0xf8, 0xcc, 0x85, + 0x4b, 0xda, 0x3d, 0x33, 0xf6, 0x07, 0x2b, 0xc0, 0xe5, 0xa2, 0x2c, 0x7d, + 0x0c, 0xd8, 0x01, 0xf0, 0x91, 0x27, 0x6e, 0xd7, 0xb7, 0xe3, 0xd6, 0x49, + 0x5d, 0xf9, 0x54, 0x6b, 0x9f, 0xc4, 0x5e, 0x46, 0xaa, 0x6b, 0x89, 0xd3, + 0xdd, 0xa2, 0x07, 0xcc, +}; +static const struct drbg_kat_pr_true kat4123_t = { + 12, kat4123_entropyin, kat4123_nonce, kat4123_persstr, + kat4123_entropyinpr1, kat4123_addinpr1, kat4123_entropyinpr2, + kat4123_addinpr2, kat4123_retbits +}; +static const struct drbg_kat kat4123 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4123_t +}; + +static const unsigned char kat4124_entropyin[] = { + 0x7f, 0x1a, 0x2a, 0xfa, 0xe1, 0xe6, 0x42, 0xc3, 0x34, 0x8a, 0x0e, 0xe5, + 0x6a, 0x0f, 0x4e, 0xbf, 0x13, 0x6d, 0x68, 0xf8, 0xf0, 0x4d, 0xe5, 0x4b, + 0x3b, 0xee, 0xce, 0x78, 0x28, 0xaa, 0x43, 0x17, 0x1d, 0x09, 0x57, 0x0b, + 0xb7, 0x0f, 0xca, 0x53, 0x77, 0x5e, 0x47, 0x70, 0xe3, 0xd4, 0xcb, 0x84, +}; +static const unsigned char kat4124_nonce[] = {0}; +static const unsigned char kat4124_persstr[] = { + 0xb1, 0x80, 0x5d, 0x90, 0xd9, 0xe4, 0x3a, 0x9e, 0x50, 0x9f, 0x5f, 0x71, + 0xba, 0xd5, 0x14, 0xb5, 0x48, 0x80, 0x8b, 0x99, 0x3c, 0xfa, 0xef, 0x7a, + 0x69, 0x27, 0x92, 0x39, 0xe6, 0x87, 0xf4, 0xcb, 0xe3, 0xa6, 0xba, 0x57, + 0x9e, 0x11, 0xa4, 0xfa, 0x2b, 0x24, 0x50, 0xf8, 0x2c, 0x2f, 0xd3, 0x1a, +}; +static const unsigned char kat4124_entropyinpr1[] = { + 0xed, 0xab, 0x61, 0xda, 0x55, 0x5e, 0xef, 0xf6, 0x11, 0xc0, 0x42, 0x8a, + 0x25, 0x20, 0x00, 0x03, 0xa5, 0xac, 0x1c, 0x49, 0x78, 0xa7, 0x66, 0x51, + 0x4e, 0x92, 0x22, 0xc8, 0x0a, 0xdd, 0xa7, 0x19, 0x4b, 0x84, 0x14, 0x83, + 0x5f, 0x0f, 0xae, 0x94, 0x26, 0x4d, 0x3d, 0x81, 0xd4, 0x9b, 0xec, 0x13, +}; +static const unsigned char kat4124_addinpr1[] = {0}; +static const unsigned char kat4124_entropyinpr2[] = { + 0x78, 0x10, 0xed, 0x74, 0xbd, 0xb0, 0x95, 0xe1, 0xa3, 0xa8, 0xa2, 0xb1, + 0xfd, 0x88, 0x5e, 0x21, 0xc3, 0xa2, 0x33, 0x17, 0xb5, 0xa4, 0x51, 0x4a, + 0x9b, 0xae, 0x2d, 0x00, 0x72, 0x82, 0x6b, 0xfc, 0x29, 0x2a, 0x23, 0x15, + 0x00, 0x70, 0x3a, 0xb0, 0xa1, 0xf0, 0x4c, 0xe3, 0x5b, 0xd3, 0xd8, 0x08, +}; +static const unsigned char kat4124_addinpr2[] = {0}; +static const unsigned char kat4124_retbits[] = { + 0x65, 0x53, 0xc6, 0x30, 0xa0, 0x7d, 0xdf, 0x7d, 0xc2, 0x11, 0x0c, 0x3a, + 0xa3, 0xc5, 0xac, 0x0c, 0x48, 0x8a, 0x03, 0x45, 0xe0, 0x75, 0x71, 0xcd, + 0x71, 0xdf, 0x11, 0x5b, 0xa3, 0x7e, 0xa4, 0x67, 0x69, 0x35, 0xbe, 0x72, + 0xa6, 0x03, 0x3a, 0xec, 0xa7, 0xac, 0x6f, 0xcc, 0xe5, 0x65, 0x4d, 0xae, + 0x38, 0xf5, 0x77, 0x7b, 0x5c, 0xff, 0x34, 0xb1, 0x56, 0x53, 0x9b, 0x42, + 0xed, 0x6d, 0xc9, 0x3c, +}; +static const struct drbg_kat_pr_true kat4124_t = { + 13, kat4124_entropyin, kat4124_nonce, kat4124_persstr, + kat4124_entropyinpr1, kat4124_addinpr1, kat4124_entropyinpr2, + kat4124_addinpr2, kat4124_retbits +}; +static const struct drbg_kat kat4124 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4124_t +}; + +static const unsigned char kat4125_entropyin[] = { + 0xf7, 0x25, 0x92, 0xe0, 0x62, 0x65, 0x39, 0x90, 0x3b, 0xfe, 0x79, 0x26, + 0xf2, 0xdf, 0x89, 0x42, 0x8f, 0xfe, 0x4e, 0xce, 0xeb, 0x57, 0xf0, 0xbe, + 0x46, 0xf5, 0xd4, 0xbb, 0x0a, 0xb8, 0xc7, 0x06, 0x33, 0x43, 0x1c, 0x70, + 0x05, 0x6e, 0x05, 0x1b, 0x2a, 0x44, 0xa9, 0x9f, 0xb2, 0xde, 0xcc, 0x80, +}; +static const unsigned char kat4125_nonce[] = {0}; +static const unsigned char kat4125_persstr[] = { + 0x27, 0xb9, 0x25, 0x0c, 0x01, 0x18, 0x9a, 0x8a, 0x67, 0x5d, 0x59, 0x7c, + 0xd2, 0xe4, 0x76, 0xd1, 0x1f, 0x4f, 0xea, 0xa2, 0x9c, 0xe2, 0xd9, 0xe7, + 0x29, 0xee, 0xed, 0xe4, 0x2d, 0x9b, 0x78, 0x52, 0x19, 0x37, 0xd2, 0x40, + 0xb1, 0x2d, 0xb5, 0x49, 0x3a, 0xee, 0x96, 0xb8, 0x41, 0x02, 0xcd, 0x9c, +}; +static const unsigned char kat4125_entropyinpr1[] = { + 0x2b, 0x38, 0x77, 0xed, 0x4d, 0x1b, 0x31, 0x74, 0xd3, 0x6e, 0x78, 0x4a, + 0xd7, 0xb6, 0xb7, 0x99, 0x1d, 0xd5, 0x29, 0x79, 0xca, 0x5b, 0x1c, 0x4c, + 0xc5, 0xf4, 0x15, 0xea, 0x56, 0xaa, 0x78, 0xf2, 0x48, 0x6e, 0x2b, 0x03, + 0x35, 0x70, 0x08, 0x9a, 0xa0, 0xe8, 0xf5, 0xd4, 0xbe, 0x3e, 0xe1, 0x40, +}; +static const unsigned char kat4125_addinpr1[] = {0}; +static const unsigned char kat4125_entropyinpr2[] = { + 0x91, 0xd4, 0x21, 0xc3, 0xeb, 0x04, 0xde, 0x94, 0x09, 0x9a, 0x74, 0x67, + 0x25, 0x4b, 0xad, 0x70, 0xe2, 0x36, 0xd5, 0xc2, 0x76, 0x16, 0xf7, 0x66, + 0xe8, 0x5b, 0x4d, 0xe3, 0x96, 0x50, 0x01, 0xdb, 0x85, 0x4e, 0x61, 0xa8, + 0x0b, 0xfe, 0xc2, 0xea, 0xcb, 0x4f, 0xf9, 0x3e, 0xca, 0xfb, 0x8b, 0x83, +}; +static const unsigned char kat4125_addinpr2[] = {0}; +static const unsigned char kat4125_retbits[] = { + 0xed, 0x70, 0x3d, 0x92, 0x73, 0xbb, 0x94, 0x62, 0xac, 0x40, 0x0e, 0xe8, + 0xd5, 0x87, 0xea, 0x3c, 0x4d, 0x6c, 0x27, 0xaa, 0x01, 0x4d, 0xef, 0xcb, + 0x6c, 0xa6, 0xfe, 0x88, 0x52, 0x72, 0xbc, 0xb4, 0xb6, 0xba, 0x08, 0x22, + 0xf4, 0x29, 0x41, 0x07, 0x1b, 0xf6, 0x35, 0xb4, 0x1d, 0x99, 0x7c, 0x63, + 0x1b, 0x68, 0x0d, 0x91, 0xb2, 0x3e, 0xe4, 0x83, 0x51, 0x04, 0x1d, 0xc2, + 0x74, 0x90, 0x08, 0x21, +}; +static const struct drbg_kat_pr_true kat4125_t = { + 14, kat4125_entropyin, kat4125_nonce, kat4125_persstr, + kat4125_entropyinpr1, kat4125_addinpr1, kat4125_entropyinpr2, + kat4125_addinpr2, kat4125_retbits +}; +static const struct drbg_kat kat4125 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4125_t +}; + +static const unsigned char kat4126_entropyin[] = { + 0xc5, 0x48, 0x05, 0x27, 0x4b, 0xde, 0x00, 0xaa, 0x52, 0x89, 0xe0, 0x51, + 0x35, 0x79, 0x01, 0x97, 0x07, 0x66, 0x6d, 0x2f, 0xa7, 0xa1, 0xc8, 0x90, + 0x88, 0x65, 0x89, 0x1c, 0x87, 0xc0, 0xc6, 0x52, 0x33, 0x5a, 0x4d, 0x3c, + 0xc4, 0x15, 0xbc, 0x30, 0x74, 0x2b, 0x16, 0x46, 0x47, 0xf8, 0x82, 0x0f, +}; +static const unsigned char kat4126_nonce[] = {0}; +static const unsigned char kat4126_persstr[] = { + 0xd6, 0x3f, 0xb5, 0xaf, 0xa2, 0x10, 0x1f, 0xa4, 0xb8, 0xa6, 0xc3, 0xb8, + 0x9d, 0x9c, 0x25, 0x0a, 0xc7, 0x28, 0xfc, 0x1d, 0xda, 0xd0, 0xe7, 0x58, + 0x5b, 0x5d, 0x54, 0x72, 0x8e, 0xd2, 0x0c, 0x2f, 0x94, 0x0e, 0x89, 0x15, + 0x55, 0x96, 0xe3, 0xb9, 0x63, 0x63, 0x5b, 0x6d, 0x60, 0x88, 0x16, 0x4b, +}; +static const unsigned char kat4126_entropyinpr1[] = { + 0xb2, 0xad, 0x31, 0xd1, 0xf2, 0x0d, 0xcf, 0x30, 0xdd, 0x52, 0x6e, 0xc9, + 0x15, 0x6c, 0x07, 0xf2, 0x70, 0x21, 0x6b, 0xdb, 0x59, 0x19, 0x73, 0x25, + 0xba, 0xb1, 0x80, 0x67, 0x59, 0x29, 0x88, 0x8a, 0xb6, 0x99, 0xc5, 0x4f, + 0xb2, 0x18, 0x19, 0xb7, 0xd9, 0x21, 0xd6, 0x34, 0x6b, 0xff, 0x2f, 0x7f, +}; +static const unsigned char kat4126_addinpr1[] = { + 0x74, 0x4b, 0xfa, 0xe3, 0xc2, 0x3a, 0x5c, 0xc9, 0xa3, 0xb3, 0x73, 0xb6, + 0xc5, 0x07, 0x95, 0x06, 0x8d, 0x35, 0xeb, 0x8a, 0x33, 0x97, 0x46, 0xac, + 0x81, 0x0d, 0x16, 0xf8, 0x64, 0xe8, 0x80, 0x06, 0x10, 0x82, 0xed, 0xf9, + 0xd2, 0x68, 0x7c, 0x21, 0x19, 0x60, 0xaa, 0x83, 0x40, 0x0f, 0x85, 0xf9, +}; +static const unsigned char kat4126_entropyinpr2[] = { + 0xec, 0xa4, 0x49, 0x04, 0x8d, 0x26, 0xfd, 0x38, 0xf8, 0xca, 0x43, 0x52, + 0x37, 0xdc, 0xe6, 0x6e, 0xad, 0xec, 0x70, 0x69, 0xee, 0x5d, 0xd0, 0xb7, + 0x00, 0x84, 0xb8, 0x19, 0xa7, 0x11, 0xc0, 0x82, 0x0a, 0x75, 0x56, 0xbb, + 0xd0, 0xae, 0x20, 0xf0, 0x6e, 0x51, 0x69, 0x27, 0x8b, 0x59, 0x3b, 0x71, +}; +static const unsigned char kat4126_addinpr2[] = { + 0xad, 0x55, 0xc6, 0x82, 0x96, 0x2a, 0xa4, 0xfe, 0x9e, 0xbc, 0x22, 0x7c, + 0x94, 0x02, 0xe7, 0x9b, 0x0a, 0xa7, 0x87, 0x48, 0x44, 0xd3, 0x3e, 0xae, + 0xe7, 0xe2, 0xd1, 0x5b, 0xaf, 0x81, 0xd9, 0xd3, 0x39, 0x36, 0xe4, 0xd9, + 0x3f, 0x28, 0xad, 0x10, 0x96, 0x57, 0xb5, 0x12, 0xae, 0xe1, 0x15, 0xa5, +}; +static const unsigned char kat4126_retbits[] = { + 0xf0, 0x8f, 0xdf, 0xc1, 0x77, 0x5b, 0x6f, 0xeb, 0x5a, 0x41, 0x77, 0x11, + 0x0b, 0xf2, 0x9d, 0x7c, 0x3a, 0xb7, 0x15, 0xdf, 0xdc, 0x4b, 0x27, 0x20, + 0x03, 0x59, 0x28, 0x8c, 0x06, 0x24, 0xbd, 0x5c, 0x10, 0x28, 0xac, 0xc9, + 0x91, 0x4d, 0x88, 0xa8, 0x2b, 0x09, 0xf5, 0xea, 0xaf, 0xdc, 0x3b, 0xca, + 0x85, 0x47, 0xb9, 0x84, 0x81, 0xdf, 0x39, 0xb8, 0x65, 0x04, 0x31, 0x42, + 0x21, 0xcb, 0xdc, 0x3c, +}; +static const struct drbg_kat_pr_true kat4126_t = { + 0, kat4126_entropyin, kat4126_nonce, kat4126_persstr, + kat4126_entropyinpr1, kat4126_addinpr1, kat4126_entropyinpr2, + kat4126_addinpr2, kat4126_retbits +}; +static const struct drbg_kat kat4126 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4126_t +}; + +static const unsigned char kat4127_entropyin[] = { + 0x2c, 0xff, 0x59, 0xc3, 0xf1, 0xe6, 0xb9, 0xd5, 0x3a, 0x90, 0x95, 0xa1, + 0xf5, 0xc1, 0x96, 0x5f, 0x90, 0x5a, 0xa8, 0xa4, 0x8d, 0xbd, 0x2d, 0xdf, + 0xa9, 0x6e, 0x13, 0x00, 0xcf, 0x17, 0xfe, 0xf2, 0xc2, 0xbe, 0xe7, 0xa1, + 0xa3, 0xd4, 0x97, 0x6a, 0x14, 0xd7, 0x44, 0x36, 0x61, 0x13, 0x4d, 0xc0, +}; +static const unsigned char kat4127_nonce[] = {0}; +static const unsigned char kat4127_persstr[] = { + 0xbd, 0x63, 0xca, 0x83, 0x29, 0xb5, 0x30, 0xd8, 0x04, 0x37, 0x68, 0x38, + 0x2c, 0x9c, 0x42, 0xb3, 0x03, 0x4a, 0xef, 0x78, 0xdd, 0xcc, 0x3e, 0x62, + 0x35, 0x67, 0x62, 0x9d, 0x09, 0x65, 0x90, 0x7c, 0x4f, 0x49, 0x19, 0xe7, + 0xc4, 0x41, 0x2b, 0x6a, 0x90, 0x4f, 0x9f, 0x49, 0xb3, 0x7b, 0x2c, 0xa0, +}; +static const unsigned char kat4127_entropyinpr1[] = { + 0xd3, 0x30, 0xe1, 0xa5, 0x89, 0x22, 0xc3, 0x4e, 0xce, 0x4e, 0xdd, 0xcc, + 0x9d, 0xa6, 0x83, 0xa8, 0x42, 0x67, 0xb5, 0xc7, 0x13, 0x77, 0xea, 0x18, + 0x6e, 0xc6, 0xbf, 0xcc, 0x33, 0xc2, 0x85, 0xea, 0x5d, 0xcc, 0x40, 0x4b, + 0x2c, 0xd9, 0x71, 0xf6, 0xee, 0x6e, 0x6d, 0x83, 0x60, 0xfe, 0x4b, 0xcb, +}; +static const unsigned char kat4127_addinpr1[] = { + 0x6a, 0x63, 0x6b, 0xe1, 0x19, 0xc6, 0xda, 0x0d, 0x6c, 0x5c, 0xe3, 0x98, + 0x54, 0xed, 0xa3, 0x9f, 0xd7, 0x0d, 0x95, 0x99, 0x05, 0x9d, 0x45, 0x9c, + 0x92, 0x3d, 0xa1, 0xa1, 0xea, 0x21, 0x51, 0x27, 0x57, 0xec, 0x03, 0xe3, + 0x8a, 0x78, 0xa0, 0x14, 0x94, 0xb7, 0x7f, 0x67, 0x26, 0x17, 0x43, 0x97, +}; +static const unsigned char kat4127_entropyinpr2[] = { + 0x0b, 0x99, 0xcb, 0xe0, 0xa8, 0xdd, 0x51, 0xe0, 0xf8, 0xf4, 0xb7, 0x42, + 0xf7, 0xf1, 0x50, 0x16, 0xd7, 0xba, 0x9d, 0x3d, 0x65, 0xc7, 0x4a, 0x49, + 0xf1, 0xf7, 0x1c, 0x52, 0x2d, 0xb3, 0xf2, 0x44, 0x99, 0xfc, 0x18, 0x5f, + 0x18, 0x9b, 0x28, 0xca, 0x30, 0xd2, 0x5e, 0xf7, 0xdf, 0xb4, 0xbf, 0xfa, +}; +static const unsigned char kat4127_addinpr2[] = { + 0xbf, 0x1b, 0x49, 0x33, 0x63, 0x4b, 0x86, 0x88, 0xef, 0x78, 0x9b, 0xc7, + 0x3f, 0x09, 0xef, 0x9a, 0x58, 0x3f, 0x6a, 0x29, 0xc7, 0xa1, 0x37, 0x79, + 0xd5, 0xe8, 0x4e, 0x92, 0x14, 0x27, 0xce, 0x3a, 0x71, 0x37, 0x02, 0xda, + 0x97, 0x13, 0x94, 0x7c, 0xfd, 0xba, 0x90, 0xfd, 0x24, 0xb4, 0x8e, 0x20, +}; +static const unsigned char kat4127_retbits[] = { + 0x2a, 0x3e, 0x62, 0x4c, 0x69, 0xa5, 0x4f, 0xb7, 0x83, 0xcc, 0xaa, 0xfd, + 0x9a, 0x7f, 0x43, 0xd1, 0x91, 0xa5, 0xd6, 0x6c, 0xe7, 0x0e, 0xa9, 0xbb, + 0x28, 0x02, 0xe2, 0x19, 0xca, 0x4f, 0x5a, 0xfd, 0x7c, 0x69, 0x97, 0xf4, + 0x6b, 0xbb, 0xd1, 0xa0, 0x2f, 0x04, 0x60, 0x82, 0xd8, 0xc2, 0xf4, 0x09, + 0xbc, 0x8e, 0xc8, 0xfb, 0x88, 0xdc, 0x5b, 0x2e, 0x69, 0x3e, 0x20, 0x96, + 0x17, 0x26, 0x7c, 0x65, +}; +static const struct drbg_kat_pr_true kat4127_t = { + 1, kat4127_entropyin, kat4127_nonce, kat4127_persstr, + kat4127_entropyinpr1, kat4127_addinpr1, kat4127_entropyinpr2, + kat4127_addinpr2, kat4127_retbits +}; +static const struct drbg_kat kat4127 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4127_t +}; + +static const unsigned char kat4128_entropyin[] = { + 0x1d, 0x43, 0x01, 0x3a, 0x69, 0x3a, 0x9c, 0x8b, 0x0d, 0x0a, 0xed, 0xa1, + 0x2c, 0x66, 0x1c, 0xbf, 0xed, 0xf4, 0x15, 0x33, 0xf5, 0xe1, 0x83, 0x57, + 0x70, 0xf2, 0xba, 0xb8, 0x68, 0xfc, 0x91, 0x9d, 0x4e, 0xd3, 0x8b, 0x8b, + 0x8e, 0x2d, 0xc5, 0x8e, 0x3e, 0x4b, 0xb9, 0x8b, 0x70, 0x72, 0x64, 0xfa, +}; +static const unsigned char kat4128_nonce[] = {0}; +static const unsigned char kat4128_persstr[] = { + 0x42, 0xe8, 0x59, 0x55, 0xf2, 0x2b, 0xb7, 0x65, 0x30, 0xaf, 0x28, 0x8b, + 0xf0, 0xd9, 0x23, 0xa1, 0x16, 0xf3, 0xb3, 0x80, 0x7b, 0xe3, 0x9f, 0xdb, + 0x2a, 0x5e, 0xeb, 0x31, 0x63, 0x9d, 0xab, 0x6d, 0xa1, 0x47, 0x25, 0x57, + 0xf7, 0x51, 0x18, 0xf0, 0x4b, 0xee, 0xb6, 0x0f, 0x71, 0xa9, 0x21, 0x53, +}; +static const unsigned char kat4128_entropyinpr1[] = { + 0x43, 0x97, 0x64, 0xaf, 0x3d, 0xd7, 0x6e, 0x8d, 0x6b, 0x29, 0x08, 0xa4, + 0x96, 0x2d, 0xb9, 0x3f, 0xfc, 0xf3, 0x22, 0x83, 0x6a, 0x41, 0x74, 0xc7, + 0xce, 0xc5, 0xd2, 0xd1, 0xa1, 0x68, 0xbe, 0x97, 0x2c, 0xd1, 0xc1, 0x1d, + 0x1a, 0xc7, 0x31, 0xf0, 0xa2, 0x66, 0xbe, 0x34, 0x0c, 0xaa, 0x5f, 0xe1, +}; +static const unsigned char kat4128_addinpr1[] = { + 0x79, 0xd4, 0xfb, 0xc7, 0x42, 0x50, 0xe8, 0xe6, 0xe5, 0xab, 0xd0, 0x1c, + 0xec, 0xd0, 0x8d, 0x49, 0x77, 0x42, 0xda, 0x79, 0x87, 0xfa, 0xfd, 0xbe, + 0x17, 0x0b, 0x68, 0x73, 0xfb, 0xa8, 0x06, 0x79, 0xee, 0xaa, 0x4f, 0x4b, + 0xcd, 0xe4, 0x0d, 0xb5, 0x37, 0x26, 0x44, 0xb8, 0x62, 0x0e, 0x55, 0xee, +}; +static const unsigned char kat4128_entropyinpr2[] = { + 0xed, 0xb7, 0xa1, 0xb3, 0xf3, 0x3f, 0xf3, 0xba, 0x79, 0xd1, 0x2f, 0xe5, + 0x57, 0xa4, 0x86, 0x52, 0x2d, 0x53, 0x5d, 0xbe, 0xed, 0x92, 0x80, 0xee, + 0x1b, 0x1e, 0x7c, 0x7a, 0xac, 0x66, 0x3b, 0x64, 0xae, 0x9a, 0x30, 0xa8, + 0xb7, 0xb0, 0xcb, 0xd6, 0x84, 0x6c, 0x82, 0x52, 0x1b, 0x4c, 0x9e, 0xe5, +}; +static const unsigned char kat4128_addinpr2[] = { + 0x6c, 0xa5, 0x97, 0xcc, 0xad, 0xd6, 0x5b, 0x82, 0x62, 0x95, 0x72, 0xb7, + 0x23, 0xa1, 0xc0, 0x8a, 0x52, 0xdb, 0x2d, 0xe3, 0x27, 0x47, 0xe1, 0x29, + 0x81, 0xa4, 0xdf, 0xe3, 0xef, 0xc5, 0x57, 0x71, 0x25, 0x19, 0xe5, 0x17, + 0x0e, 0x72, 0x74, 0xcf, 0xe1, 0x75, 0x36, 0x00, 0x97, 0xe4, 0xa1, 0xbb, +}; +static const unsigned char kat4128_retbits[] = { + 0xbb, 0x84, 0x01, 0x04, 0xe9, 0xf8, 0x48, 0x4b, 0xfb, 0xa3, 0xb1, 0xec, + 0x96, 0x31, 0xb6, 0x29, 0xdd, 0xa1, 0x39, 0x45, 0xe9, 0xa5, 0x10, 0x6a, + 0x8a, 0x37, 0x9d, 0x15, 0xf1, 0xe8, 0x38, 0xf8, 0xd4, 0xe5, 0x63, 0x30, + 0x9e, 0x5f, 0xd1, 0x2d, 0x48, 0xa0, 0xb4, 0x2e, 0xe3, 0x48, 0x55, 0x6c, + 0xbe, 0xf9, 0x65, 0xf2, 0xd4, 0xeb, 0xac, 0x35, 0x1b, 0x97, 0xe2, 0xd1, + 0x0e, 0x46, 0x78, 0x6e, +}; +static const struct drbg_kat_pr_true kat4128_t = { + 2, kat4128_entropyin, kat4128_nonce, kat4128_persstr, + kat4128_entropyinpr1, kat4128_addinpr1, kat4128_entropyinpr2, + kat4128_addinpr2, kat4128_retbits +}; +static const struct drbg_kat kat4128 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4128_t +}; + +static const unsigned char kat4129_entropyin[] = { + 0x3b, 0x21, 0xe6, 0x92, 0xbd, 0x92, 0x4a, 0x5b, 0x35, 0x3b, 0xed, 0xf6, + 0x13, 0xb4, 0x8a, 0x07, 0x19, 0x1a, 0xf4, 0x58, 0xfc, 0xe7, 0x09, 0x64, + 0x3d, 0x22, 0xde, 0x6e, 0x21, 0x29, 0xf8, 0x18, 0xb5, 0x19, 0x29, 0x67, + 0x96, 0x2d, 0xaf, 0xe7, 0x10, 0x5d, 0xf0, 0xda, 0xed, 0xd7, 0xe5, 0x5a, +}; +static const unsigned char kat4129_nonce[] = {0}; +static const unsigned char kat4129_persstr[] = { + 0x9d, 0x4b, 0xa4, 0x5c, 0x96, 0x68, 0x5f, 0x0d, 0xf0, 0xc2, 0x9b, 0x11, + 0x3a, 0xbe, 0xc4, 0x4e, 0xb8, 0x14, 0xcd, 0x7b, 0x7f, 0x95, 0xf5, 0x41, + 0x14, 0xbd, 0x9c, 0x26, 0x3f, 0xde, 0x33, 0xf9, 0x6d, 0x69, 0xd1, 0x9c, + 0x2a, 0x1b, 0x44, 0x66, 0x98, 0x1f, 0xd1, 0x61, 0xbd, 0x47, 0xbc, 0x02, +}; +static const unsigned char kat4129_entropyinpr1[] = { + 0xba, 0x0d, 0x6a, 0x68, 0x2f, 0xe7, 0x47, 0xb8, 0x64, 0x09, 0x03, 0x9d, + 0x15, 0xae, 0xe4, 0x96, 0x66, 0x97, 0x0d, 0x36, 0xef, 0x2b, 0x56, 0x8a, + 0xd4, 0xf9, 0x4e, 0x66, 0x61, 0x48, 0xe9, 0x24, 0xb7, 0xc3, 0x82, 0x15, + 0xeb, 0xb9, 0x40, 0x26, 0x3b, 0x43, 0xbb, 0xf9, 0x2e, 0xac, 0x51, 0xa8, +}; +static const unsigned char kat4129_addinpr1[] = { + 0xb2, 0x09, 0xef, 0xc3, 0x62, 0xaf, 0x96, 0x52, 0x32, 0x5e, 0x94, 0x7a, + 0xf6, 0x29, 0xdf, 0xbe, 0x06, 0x40, 0x7b, 0x4e, 0x0f, 0x1a, 0x0f, 0xca, + 0x4c, 0xfa, 0x5f, 0x05, 0xc6, 0x41, 0x75, 0x39, 0xb6, 0x17, 0x67, 0x4d, + 0x41, 0x3a, 0xcd, 0x52, 0xc4, 0x4c, 0x88, 0x63, 0x08, 0xaa, 0xa5, 0xfe, +}; +static const unsigned char kat4129_entropyinpr2[] = { + 0xb4, 0xc4, 0xd3, 0x6f, 0x90, 0xe2, 0x6e, 0x48, 0xdf, 0xc9, 0xd6, 0x6b, + 0xbe, 0x70, 0x61, 0xe2, 0xb2, 0xc8, 0x89, 0x8f, 0x74, 0xa4, 0x94, 0x5f, + 0xca, 0x13, 0x95, 0xd7, 0x18, 0xe9, 0xdf, 0x9b, 0x9f, 0x46, 0xc6, 0xf7, + 0xda, 0xc8, 0x92, 0x30, 0xf8, 0x2c, 0xd9, 0x4a, 0xf0, 0xea, 0xbe, 0x99, +}; +static const unsigned char kat4129_addinpr2[] = { + 0xfa, 0x2d, 0x74, 0xe7, 0x2f, 0x2a, 0xd9, 0x6a, 0x6f, 0xf1, 0xa4, 0x39, + 0xeb, 0xc1, 0xff, 0xe2, 0x55, 0x0e, 0xae, 0x32, 0xd6, 0xa2, 0xfb, 0xe4, + 0x15, 0x11, 0x57, 0xef, 0x8c, 0xc4, 0xe6, 0xc4, 0x72, 0x2b, 0x5f, 0xb3, + 0xce, 0x4f, 0x09, 0x40, 0xc8, 0xf6, 0x99, 0x63, 0x52, 0xec, 0x2a, 0xdf, +}; +static const unsigned char kat4129_retbits[] = { + 0x67, 0xd3, 0x1d, 0x1a, 0xd3, 0x9c, 0xeb, 0xd4, 0xce, 0x25, 0x90, 0x2d, + 0x15, 0x1e, 0xce, 0x06, 0xdd, 0x31, 0x87, 0xc4, 0xb1, 0xa8, 0x32, 0xc3, + 0x0c, 0x49, 0xbf, 0x3b, 0xe2, 0x04, 0x44, 0xab, 0x9a, 0x05, 0xa9, 0x9b, + 0x6b, 0x06, 0xe6, 0xcf, 0x40, 0x01, 0x77, 0x77, 0x69, 0xc4, 0x43, 0x52, + 0xb1, 0x9b, 0x46, 0x18, 0xbb, 0xa2, 0x6f, 0x0b, 0xc6, 0xda, 0xd4, 0x87, + 0xc3, 0x24, 0xd9, 0xf0, +}; +static const struct drbg_kat_pr_true kat4129_t = { + 3, kat4129_entropyin, kat4129_nonce, kat4129_persstr, + kat4129_entropyinpr1, kat4129_addinpr1, kat4129_entropyinpr2, + kat4129_addinpr2, kat4129_retbits +}; +static const struct drbg_kat kat4129 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4129_t +}; + +static const unsigned char kat4130_entropyin[] = { + 0x9c, 0xa0, 0x80, 0xf1, 0x8f, 0xe4, 0xe3, 0xd0, 0x77, 0x4a, 0x58, 0x94, + 0x0a, 0x5e, 0xc6, 0x1c, 0x98, 0x97, 0xe9, 0x71, 0x04, 0x45, 0x86, 0xa1, + 0xca, 0x68, 0x61, 0xd3, 0x3a, 0xdd, 0xd2, 0xbe, 0xed, 0x7e, 0xd9, 0x65, + 0xbb, 0x28, 0x7b, 0x80, 0xc8, 0x45, 0x84, 0x6e, 0xdb, 0x72, 0x8b, 0x6b, +}; +static const unsigned char kat4130_nonce[] = {0}; +static const unsigned char kat4130_persstr[] = { + 0x13, 0x8a, 0xfd, 0x91, 0x0e, 0x08, 0x41, 0x43, 0x05, 0x2e, 0x58, 0xd5, + 0xbe, 0x06, 0x0c, 0xf8, 0x49, 0x01, 0xf1, 0x4c, 0xb4, 0x9c, 0xba, 0x38, + 0xf7, 0x46, 0xbd, 0x86, 0x12, 0x11, 0xb9, 0x32, 0x7d, 0x59, 0xaa, 0x8e, + 0xf9, 0xfc, 0xaa, 0x37, 0x00, 0x7b, 0x79, 0xee, 0x6c, 0x60, 0xb0, 0x63, +}; +static const unsigned char kat4130_entropyinpr1[] = { + 0x89, 0xaf, 0x2d, 0xe4, 0x06, 0x4b, 0xf6, 0x09, 0x51, 0x16, 0x0a, 0x57, + 0x01, 0x80, 0xb8, 0x9f, 0xac, 0x86, 0x08, 0xdf, 0x31, 0x46, 0x11, 0x4b, + 0xd8, 0xc7, 0x8d, 0xd8, 0xf9, 0xdf, 0x90, 0x8f, 0xee, 0xf6, 0x61, 0x20, + 0x73, 0x42, 0xda, 0x61, 0x03, 0x97, 0xd1, 0x34, 0xe7, 0x76, 0xca, 0x4d, +}; +static const unsigned char kat4130_addinpr1[] = { + 0x10, 0x13, 0x6c, 0x42, 0xa1, 0x19, 0x4c, 0x44, 0xe0, 0xfe, 0x24, 0x0d, + 0x84, 0x9d, 0x73, 0x58, 0x10, 0x20, 0x7f, 0x79, 0x9a, 0x46, 0xea, 0xdc, + 0xe9, 0x74, 0x48, 0x04, 0x4e, 0x58, 0xd5, 0x4c, 0x53, 0xe5, 0xc6, 0x12, + 0xde, 0x99, 0xeb, 0x62, 0x25, 0x29, 0x3a, 0xc5, 0x59, 0x22, 0xe9, 0x56, +}; +static const unsigned char kat4130_entropyinpr2[] = { + 0xa2, 0x68, 0xd6, 0xfc, 0xc6, 0xc8, 0x8f, 0x0f, 0xf7, 0x2f, 0x8a, 0x23, + 0x65, 0xf7, 0xdf, 0x2e, 0x68, 0x66, 0x4b, 0x2f, 0x1e, 0x95, 0x5e, 0xc5, + 0xe3, 0xc7, 0x0d, 0x87, 0xb0, 0x96, 0xe7, 0x6a, 0xe6, 0xb6, 0x8e, 0x95, + 0x16, 0xbc, 0xdc, 0xf1, 0x01, 0x1b, 0x12, 0xd0, 0x9c, 0xb3, 0x7c, 0xb1, +}; +static const unsigned char kat4130_addinpr2[] = { + 0x29, 0x97, 0x29, 0x8a, 0xe9, 0xf3, 0x62, 0x85, 0x72, 0xca, 0xe7, 0x00, + 0x00, 0xf5, 0xeb, 0x02, 0xd7, 0x2e, 0x4b, 0x22, 0xd3, 0x37, 0xd8, 0x1a, + 0xb8, 0xd7, 0xa2, 0xbb, 0x72, 0x8f, 0xe0, 0x1e, 0xd1, 0xc7, 0x7d, 0xd3, + 0x86, 0xe0, 0xcb, 0x5f, 0x00, 0xc5, 0x06, 0xbc, 0x45, 0x4f, 0x87, 0xa8, +}; +static const unsigned char kat4130_retbits[] = { + 0x37, 0xc4, 0x77, 0x55, 0x81, 0x2b, 0xa3, 0x95, 0x90, 0x16, 0x0a, 0xe8, + 0x6f, 0xb1, 0xd8, 0x77, 0x11, 0xa5, 0xbb, 0xbd, 0xe1, 0x7e, 0x4c, 0x98, + 0x49, 0x1c, 0xb3, 0xe2, 0x84, 0x12, 0x47, 0xe0, 0xfe, 0x21, 0xa6, 0xdc, + 0x40, 0xe1, 0xa9, 0x8e, 0xce, 0x4f, 0x81, 0x50, 0xbd, 0x48, 0x3a, 0x0f, + 0xfd, 0xa7, 0x2e, 0xaa, 0x0e, 0x28, 0x2a, 0x2a, 0x8c, 0xd2, 0x04, 0x44, + 0xa0, 0x27, 0x55, 0xd1, +}; +static const struct drbg_kat_pr_true kat4130_t = { + 4, kat4130_entropyin, kat4130_nonce, kat4130_persstr, + kat4130_entropyinpr1, kat4130_addinpr1, kat4130_entropyinpr2, + kat4130_addinpr2, kat4130_retbits +}; +static const struct drbg_kat kat4130 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4130_t +}; + +static const unsigned char kat4131_entropyin[] = { + 0xfd, 0x5a, 0xa2, 0x6d, 0x9b, 0x25, 0x42, 0x2f, 0xb7, 0xe8, 0xda, 0x8d, + 0x8d, 0x67, 0x89, 0xf3, 0x65, 0x1d, 0x57, 0x3b, 0x9e, 0xa7, 0xc9, 0x76, + 0x4f, 0x5b, 0x9e, 0xcb, 0x5c, 0x0c, 0x36, 0xb9, 0xbd, 0xad, 0xd4, 0xe4, + 0xbb, 0x72, 0xe4, 0xc6, 0xae, 0xb4, 0x37, 0x88, 0xc7, 0x4c, 0x7e, 0x65, +}; +static const unsigned char kat4131_nonce[] = {0}; +static const unsigned char kat4131_persstr[] = { + 0xcc, 0x74, 0x2d, 0x7b, 0x10, 0x25, 0xbe, 0xb2, 0x96, 0x5d, 0x4e, 0x76, + 0xe9, 0xd5, 0x7e, 0x7d, 0xcb, 0x29, 0x77, 0xf1, 0x6a, 0x99, 0x7f, 0x13, + 0x26, 0xda, 0x10, 0x70, 0xcf, 0x9f, 0x69, 0x9a, 0xf4, 0x39, 0x0c, 0xe5, + 0x62, 0x4f, 0x05, 0xc6, 0xa1, 0xc0, 0x1a, 0xd2, 0xf6, 0x70, 0xe1, 0x34, +}; +static const unsigned char kat4131_entropyinpr1[] = { + 0x6d, 0x34, 0x24, 0x0b, 0xd2, 0xb0, 0xc9, 0x2e, 0xf9, 0x21, 0xbb, 0xb0, + 0xf2, 0x17, 0xea, 0xa4, 0xd7, 0xc6, 0x82, 0x46, 0x36, 0xf1, 0x99, 0x3c, + 0x22, 0x02, 0xec, 0x5f, 0xd7, 0x3c, 0x08, 0xee, 0x21, 0xe7, 0x22, 0x55, + 0x30, 0xa6, 0x4e, 0x6a, 0xd5, 0x63, 0x07, 0xbd, 0x47, 0x56, 0xeb, 0x29, +}; +static const unsigned char kat4131_addinpr1[] = { + 0x64, 0x71, 0x26, 0xa0, 0xd2, 0x34, 0x2c, 0xee, 0xa7, 0x2c, 0x28, 0x0a, + 0x30, 0x19, 0xb4, 0xb1, 0x3e, 0xc9, 0xbf, 0x5e, 0x61, 0x53, 0xcb, 0x63, + 0x1f, 0x76, 0x72, 0x5d, 0xdb, 0x01, 0x63, 0xc4, 0xa9, 0xe0, 0xee, 0xe6, + 0xb8, 0xc2, 0xc9, 0x63, 0x3a, 0xa0, 0xe3, 0x78, 0x5b, 0xd5, 0xb5, 0xdf, +}; +static const unsigned char kat4131_entropyinpr2[] = { + 0x6f, 0xc6, 0x6d, 0x8d, 0x9b, 0xed, 0x58, 0xe7, 0x53, 0xa4, 0x06, 0x73, + 0x9a, 0x63, 0xde, 0xb6, 0xf7, 0xf3, 0xd4, 0xba, 0xcf, 0xdb, 0x75, 0x6e, + 0x3d, 0xff, 0x34, 0xbd, 0xe0, 0x81, 0xf1, 0xf3, 0x48, 0xcf, 0x0e, 0xd4, + 0xa1, 0x18, 0xf0, 0x96, 0x0d, 0xa5, 0x2a, 0x4c, 0x14, 0xa7, 0x9b, 0xa3, +}; +static const unsigned char kat4131_addinpr2[] = { + 0xa6, 0xf9, 0x69, 0x0a, 0x36, 0x98, 0xfa, 0xba, 0x80, 0x6f, 0x23, 0x4f, + 0x8a, 0xf7, 0xbc, 0x1b, 0x39, 0xb5, 0xd6, 0xe4, 0x2b, 0xd1, 0xe4, 0x1e, + 0x19, 0x58, 0x0e, 0x4f, 0x90, 0xf7, 0x3f, 0xc7, 0x14, 0x40, 0x1a, 0xee, + 0x6c, 0xbf, 0x47, 0xd0, 0x43, 0x79, 0x5c, 0xb0, 0x62, 0x6f, 0x1c, 0x05, +}; +static const unsigned char kat4131_retbits[] = { + 0xa2, 0x73, 0x94, 0x78, 0xb2, 0x25, 0xb9, 0x11, 0xb6, 0x4f, 0x33, 0xa0, + 0x88, 0x88, 0xda, 0x7c, 0x2d, 0xd3, 0x3f, 0x00, 0xe9, 0x11, 0x96, 0xf2, + 0x39, 0x5a, 0xb9, 0xc4, 0x12, 0x9c, 0x0d, 0x14, 0x99, 0xc6, 0x1e, 0x17, + 0x5b, 0x11, 0x10, 0x41, 0x39, 0x1c, 0x2b, 0x33, 0xd8, 0x96, 0x25, 0x69, + 0xe0, 0xb9, 0xba, 0x16, 0xa0, 0xaa, 0x97, 0xe1, 0xde, 0x8d, 0xa5, 0xb7, + 0x9d, 0x9b, 0xdd, 0x19, +}; +static const struct drbg_kat_pr_true kat4131_t = { + 5, kat4131_entropyin, kat4131_nonce, kat4131_persstr, + kat4131_entropyinpr1, kat4131_addinpr1, kat4131_entropyinpr2, + kat4131_addinpr2, kat4131_retbits +}; +static const struct drbg_kat kat4131 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4131_t +}; + +static const unsigned char kat4132_entropyin[] = { + 0xa1, 0xa4, 0xf2, 0xbc, 0x0d, 0xf9, 0x58, 0x6f, 0x92, 0x50, 0xc9, 0xd1, + 0xd7, 0xeb, 0x2f, 0x05, 0x25, 0x2a, 0x91, 0x58, 0x07, 0x87, 0x2e, 0x5f, + 0x4d, 0x23, 0x75, 0xa9, 0x1b, 0x0b, 0x91, 0x5a, 0xeb, 0xa1, 0xad, 0x62, + 0x99, 0x0b, 0x14, 0xd5, 0xed, 0xcb, 0xd7, 0x2e, 0x62, 0xfd, 0xfc, 0xb9, +}; +static const unsigned char kat4132_nonce[] = {0}; +static const unsigned char kat4132_persstr[] = { + 0x1d, 0x3b, 0xc4, 0xb3, 0xe5, 0xd4, 0x26, 0x36, 0xf2, 0x6c, 0x9d, 0xc4, + 0xf0, 0xa6, 0x77, 0x80, 0xd8, 0x3e, 0x6e, 0x85, 0xeb, 0x59, 0x2a, 0x43, + 0xa3, 0xaa, 0xbc, 0x8e, 0x69, 0x39, 0xd8, 0x30, 0x8f, 0x61, 0xd6, 0x35, + 0x41, 0x52, 0x5f, 0xf5, 0xff, 0x8b, 0xb0, 0xe7, 0xf7, 0xd8, 0xc8, 0x05, +}; +static const unsigned char kat4132_entropyinpr1[] = { + 0xa5, 0x65, 0x5d, 0x85, 0x83, 0xff, 0x51, 0xa5, 0xb4, 0xf8, 0xef, 0xec, + 0x8e, 0xe0, 0x7d, 0x26, 0x16, 0x9b, 0x2d, 0x40, 0x7c, 0xee, 0x51, 0xec, + 0x05, 0xfc, 0xea, 0x5a, 0x4a, 0x96, 0x0d, 0x40, 0x6e, 0xe9, 0x1d, 0x89, + 0xcf, 0x7f, 0xb6, 0xa4, 0xa2, 0x86, 0x82, 0x68, 0xc9, 0x5e, 0xf2, 0x59, +}; +static const unsigned char kat4132_addinpr1[] = { + 0xe0, 0x62, 0xb1, 0x38, 0xa2, 0x87, 0x5d, 0xb0, 0x87, 0xea, 0x10, 0xe7, + 0xa6, 0xff, 0xce, 0x2e, 0xf9, 0x03, 0xe1, 0x90, 0xd5, 0x66, 0xf4, 0xaa, + 0x65, 0x17, 0x8a, 0x27, 0x8d, 0x02, 0xa1, 0x2f, 0x20, 0xa4, 0xbc, 0x63, + 0xd9, 0xb1, 0xcf, 0x35, 0xd0, 0xf0, 0x88, 0x6d, 0x53, 0x77, 0xc9, 0xde, +}; +static const unsigned char kat4132_entropyinpr2[] = { + 0x2b, 0x22, 0xba, 0xae, 0x89, 0xe5, 0x3c, 0xac, 0x2e, 0x2f, 0xc0, 0x54, + 0xed, 0x1a, 0x82, 0x4a, 0xad, 0x6b, 0xdc, 0x59, 0xfe, 0x65, 0x8a, 0x23, + 0x6a, 0x5b, 0x35, 0x2d, 0x28, 0xc0, 0x32, 0xf4, 0x58, 0x32, 0xd3, 0x36, + 0x0d, 0x43, 0xf0, 0xc3, 0x92, 0x91, 0xf7, 0x13, 0x86, 0x12, 0x47, 0x8f, +}; +static const unsigned char kat4132_addinpr2[] = { + 0x80, 0xad, 0x06, 0xa7, 0xa3, 0x63, 0x30, 0xae, 0x20, 0x99, 0xab, 0x48, + 0x09, 0x79, 0x46, 0x58, 0xf4, 0x42, 0x0b, 0x4d, 0xfb, 0x48, 0x19, 0x0a, + 0xd4, 0x0d, 0xc7, 0xd2, 0xcb, 0x68, 0xb7, 0xa0, 0x83, 0xee, 0x41, 0xd9, + 0x32, 0x45, 0x30, 0x2a, 0xcb, 0x2f, 0xeb, 0xed, 0xa1, 0x0b, 0xbb, 0x3e, +}; +static const unsigned char kat4132_retbits[] = { + 0xe7, 0xa8, 0x88, 0x90, 0x19, 0x8f, 0x0c, 0x96, 0xdd, 0x6d, 0xa3, 0xfa, + 0x69, 0xd1, 0x85, 0x0f, 0xed, 0x1f, 0x6e, 0x87, 0x09, 0x52, 0xe8, 0xa2, + 0xe0, 0x96, 0xa9, 0x9d, 0xdc, 0xf5, 0x58, 0x3d, 0xb7, 0xf1, 0xe4, 0x0d, + 0xa1, 0xd3, 0x31, 0x93, 0xac, 0x6d, 0xc9, 0x66, 0x09, 0xcd, 0xa9, 0x3b, + 0x13, 0x0a, 0x72, 0xfe, 0xbf, 0x18, 0x8e, 0x8a, 0xf8, 0xd9, 0xbc, 0x2d, + 0x9d, 0x61, 0x99, 0x77, +}; +static const struct drbg_kat_pr_true kat4132_t = { + 6, kat4132_entropyin, kat4132_nonce, kat4132_persstr, + kat4132_entropyinpr1, kat4132_addinpr1, kat4132_entropyinpr2, + kat4132_addinpr2, kat4132_retbits +}; +static const struct drbg_kat kat4132 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4132_t +}; + +static const unsigned char kat4133_entropyin[] = { + 0x82, 0x6c, 0xad, 0xb8, 0x1d, 0x73, 0x2e, 0xe7, 0x6d, 0x7d, 0x14, 0xcf, + 0x90, 0xb6, 0xc2, 0x40, 0x62, 0x17, 0xe1, 0x7f, 0xe5, 0x9f, 0xb2, 0xc2, + 0xf3, 0x02, 0xe4, 0xc5, 0xf9, 0x2e, 0xc3, 0xbd, 0x7a, 0xb0, 0x8b, 0x8d, + 0x38, 0xc1, 0xa1, 0xdd, 0x79, 0x1e, 0xf1, 0xb4, 0xae, 0x20, 0x73, 0x0e, +}; +static const unsigned char kat4133_nonce[] = {0}; +static const unsigned char kat4133_persstr[] = { + 0x74, 0x67, 0x7e, 0x19, 0xd7, 0x2a, 0x86, 0xb9, 0xf2, 0x4e, 0xd8, 0x7a, + 0x7d, 0xb2, 0xec, 0x3b, 0xeb, 0x6b, 0xf8, 0x99, 0x6b, 0xaa, 0x16, 0x73, + 0x31, 0x23, 0xd5, 0x81, 0x99, 0x07, 0x57, 0x9b, 0xab, 0xaa, 0x3b, 0x6d, + 0xb6, 0xdb, 0xfe, 0x77, 0x7b, 0x9f, 0x41, 0xc4, 0x69, 0x75, 0xa8, 0x49, +}; +static const unsigned char kat4133_entropyinpr1[] = { + 0xd8, 0xb8, 0xb1, 0x1e, 0xc1, 0x18, 0x14, 0x72, 0xa5, 0x29, 0x64, 0x29, + 0xbb, 0x42, 0x1b, 0xa5, 0x2e, 0xb6, 0x5c, 0x4b, 0x18, 0x70, 0xe5, 0xad, + 0x97, 0x55, 0x0b, 0xe1, 0xde, 0x7a, 0xd2, 0x38, 0xa2, 0x2b, 0x1f, 0xd1, + 0x61, 0xe8, 0x05, 0x4e, 0x9c, 0xd5, 0xc1, 0x64, 0x36, 0x95, 0x44, 0x4a, +}; +static const unsigned char kat4133_addinpr1[] = { + 0x19, 0xc4, 0xa6, 0xca, 0x42, 0x1a, 0xab, 0x58, 0x57, 0x30, 0xc1, 0x6c, + 0x95, 0x5d, 0x6d, 0xf1, 0xb4, 0x94, 0x95, 0xfd, 0x46, 0xcc, 0x6c, 0x7a, + 0x60, 0xd1, 0xf4, 0x1b, 0xf5, 0x22, 0xa1, 0x14, 0x33, 0xe8, 0x5a, 0x57, + 0x21, 0xfd, 0xd0, 0x14, 0xdf, 0xc0, 0x60, 0x04, 0x99, 0x3e, 0x1a, 0x1e, +}; +static const unsigned char kat4133_entropyinpr2[] = { + 0xdc, 0x67, 0x51, 0x6d, 0xfb, 0xba, 0xd6, 0x30, 0x10, 0xec, 0x0f, 0xf8, + 0x7d, 0xe4, 0xd7, 0xd6, 0xeb, 0x97, 0x2e, 0x3d, 0xb7, 0xbd, 0x09, 0x13, + 0x67, 0xec, 0x09, 0x89, 0xa7, 0x51, 0xfd, 0x29, 0x7b, 0x24, 0xe9, 0xe2, + 0x14, 0x8e, 0x43, 0x09, 0x96, 0x7e, 0x3b, 0x98, 0x82, 0x4e, 0x41, 0xf6, +}; +static const unsigned char kat4133_addinpr2[] = { + 0x3f, 0x74, 0x5f, 0xe2, 0xa4, 0x60, 0x2c, 0xd5, 0xf5, 0x55, 0x94, 0xed, + 0xd3, 0x96, 0x63, 0x52, 0xec, 0x64, 0xd6, 0x4b, 0x11, 0xfa, 0x37, 0x40, + 0x2b, 0xb6, 0x92, 0x56, 0x50, 0x25, 0xd2, 0x2f, 0x3b, 0x9b, 0x6d, 0xcb, + 0x5e, 0xe5, 0xf4, 0x78, 0x49, 0x53, 0x3e, 0x0a, 0x80, 0x1c, 0x07, 0xc1, +}; +static const unsigned char kat4133_retbits[] = { + 0xf0, 0x02, 0x81, 0xc9, 0x23, 0x9d, 0x2f, 0xfa, 0xc5, 0x67, 0xfa, 0x70, + 0x06, 0xc6, 0x39, 0x50, 0x0c, 0xa0, 0xbf, 0xb5, 0x42, 0x57, 0x0c, 0xad, + 0x8b, 0x62, 0xa3, 0x37, 0xb1, 0x71, 0x98, 0x4f, 0x3f, 0x05, 0x86, 0x00, + 0xdf, 0x0d, 0x52, 0x91, 0xa0, 0x42, 0x97, 0x7c, 0x60, 0xa6, 0x00, 0x5a, + 0x1d, 0x93, 0xa0, 0x79, 0x3c, 0xe4, 0xe9, 0xef, 0x1d, 0x39, 0x56, 0xe8, + 0xf2, 0xc2, 0x62, 0x35, +}; +static const struct drbg_kat_pr_true kat4133_t = { + 7, kat4133_entropyin, kat4133_nonce, kat4133_persstr, + kat4133_entropyinpr1, kat4133_addinpr1, kat4133_entropyinpr2, + kat4133_addinpr2, kat4133_retbits +}; +static const struct drbg_kat kat4133 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4133_t +}; + +static const unsigned char kat4134_entropyin[] = { + 0xe3, 0xc2, 0xee, 0x57, 0xa9, 0xe8, 0x71, 0x8e, 0x79, 0x6e, 0x4b, 0x6f, + 0xe1, 0x03, 0x3e, 0x0f, 0xe9, 0xd4, 0x03, 0x36, 0x52, 0x43, 0x40, 0x3a, + 0x1e, 0xce, 0xdc, 0xd8, 0x38, 0x73, 0x57, 0xb3, 0x27, 0x92, 0xfa, 0xf9, + 0x4b, 0xa6, 0xe7, 0xb5, 0xdb, 0x3a, 0x0a, 0x3f, 0x41, 0xdd, 0xb9, 0xac, +}; +static const unsigned char kat4134_nonce[] = {0}; +static const unsigned char kat4134_persstr[] = { + 0x72, 0x12, 0x23, 0xde, 0x1e, 0x83, 0x0b, 0xbc, 0x80, 0x6a, 0x68, 0x99, + 0x53, 0x01, 0x2f, 0x06, 0xcb, 0x3e, 0x9f, 0x55, 0x62, 0x55, 0x2a, 0xe1, + 0xeb, 0x2c, 0x49, 0xc6, 0x52, 0x92, 0xe8, 0x90, 0x33, 0xc4, 0x37, 0x2d, + 0x0c, 0xe8, 0x66, 0x1a, 0xf7, 0xb5, 0xb7, 0x48, 0xfd, 0x44, 0x9a, 0x02, +}; +static const unsigned char kat4134_entropyinpr1[] = { + 0xe2, 0x63, 0x2a, 0xd9, 0xc2, 0xf5, 0x70, 0x47, 0x4f, 0xdb, 0xa5, 0xfd, + 0x1f, 0x12, 0x55, 0xc8, 0x88, 0xc3, 0x5d, 0xa4, 0xa2, 0x91, 0x04, 0xae, + 0x82, 0x51, 0xff, 0x80, 0xe0, 0xda, 0x36, 0x3f, 0x69, 0x25, 0x33, 0x90, + 0xa5, 0xf0, 0x79, 0xcc, 0x89, 0xf6, 0x16, 0x9f, 0xd2, 0x66, 0x4f, 0xf9, +}; +static const unsigned char kat4134_addinpr1[] = { + 0x1b, 0xcd, 0x7c, 0x86, 0xe5, 0x96, 0x99, 0x59, 0x45, 0x4e, 0x20, 0x8e, + 0x1d, 0x78, 0x85, 0xfb, 0x35, 0x27, 0x60, 0x34, 0xc6, 0xd8, 0xb4, 0xee, + 0x91, 0x65, 0x6b, 0xe5, 0xe6, 0xf1, 0xbe, 0x89, 0x9c, 0x72, 0xc1, 0xff, + 0x3d, 0xb3, 0xdc, 0x7d, 0x99, 0xeb, 0x05, 0x33, 0x53, 0x85, 0x9e, 0x22, +}; +static const unsigned char kat4134_entropyinpr2[] = { + 0x8a, 0xc8, 0x78, 0x2b, 0x91, 0xcb, 0x38, 0x87, 0x93, 0xac, 0x51, 0x2a, + 0x5c, 0xad, 0x2c, 0x89, 0x87, 0x9b, 0x7c, 0x83, 0xc3, 0x71, 0xab, 0xeb, + 0x4d, 0xd9, 0x1f, 0x9b, 0x06, 0x4b, 0x02, 0xab, 0x30, 0x7e, 0x50, 0xe5, + 0x0d, 0xd7, 0x61, 0xf2, 0x3d, 0x25, 0xb5, 0x95, 0xbe, 0x89, 0xaa, 0x96, +}; +static const unsigned char kat4134_addinpr2[] = { + 0xa9, 0x73, 0x6d, 0xf4, 0xc5, 0x60, 0xe1, 0xf3, 0x89, 0x7f, 0xa4, 0x19, + 0xb8, 0x8c, 0x36, 0x31, 0x5d, 0x47, 0x9e, 0xc3, 0x33, 0x7e, 0xd5, 0x84, + 0x8d, 0xb2, 0x46, 0xb3, 0xf7, 0x0c, 0xf2, 0x6e, 0x69, 0x14, 0x78, 0x1e, + 0x59, 0xe3, 0xac, 0xbd, 0xb4, 0xf2, 0x91, 0x02, 0x74, 0x23, 0x8b, 0xaf, +}; +static const unsigned char kat4134_retbits[] = { + 0x03, 0x2d, 0x8c, 0x6c, 0x8c, 0x7f, 0x9f, 0x18, 0x8d, 0xb3, 0x43, 0x69, + 0x99, 0xd1, 0x08, 0x51, 0x18, 0xb8, 0x77, 0x2b, 0x57, 0xc0, 0xdd, 0x74, + 0x20, 0xa2, 0x71, 0x7e, 0x3f, 0xaf, 0xa4, 0x12, 0x47, 0xad, 0xd1, 0x22, + 0x1b, 0x04, 0x9a, 0x76, 0x1f, 0x1e, 0x72, 0x6b, 0x1c, 0x13, 0xfe, 0x58, + 0xfb, 0xcf, 0xda, 0x18, 0xf1, 0x2f, 0xa6, 0x90, 0x6c, 0x80, 0xfb, 0x2b, + 0x23, 0xaf, 0xff, 0xd6, +}; +static const struct drbg_kat_pr_true kat4134_t = { + 8, kat4134_entropyin, kat4134_nonce, kat4134_persstr, + kat4134_entropyinpr1, kat4134_addinpr1, kat4134_entropyinpr2, + kat4134_addinpr2, kat4134_retbits +}; +static const struct drbg_kat kat4134 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4134_t +}; + +static const unsigned char kat4135_entropyin[] = { + 0x81, 0x73, 0x83, 0xa6, 0x51, 0x52, 0x17, 0x54, 0x3f, 0xc3, 0x48, 0xde, + 0xa8, 0xf2, 0xbc, 0xd2, 0x93, 0xe5, 0xda, 0x19, 0xac, 0x2e, 0xfc, 0xd4, + 0xf2, 0xda, 0xb9, 0xac, 0x02, 0x99, 0xc8, 0xb6, 0xfa, 0xc7, 0x92, 0xbf, + 0x07, 0x03, 0x23, 0x38, 0x3c, 0x44, 0x20, 0x9f, 0x87, 0x5d, 0xb9, 0xdb, +}; +static const unsigned char kat4135_nonce[] = {0}; +static const unsigned char kat4135_persstr[] = { + 0xc9, 0xb0, 0x8c, 0x5f, 0xfe, 0x51, 0xad, 0x3a, 0xb8, 0xec, 0x86, 0xfd, + 0x32, 0xb0, 0x94, 0x1f, 0x69, 0x93, 0x38, 0x4f, 0x76, 0xeb, 0x5b, 0xdb, + 0x5c, 0xbd, 0x51, 0x94, 0x9a, 0xaf, 0x9f, 0xa6, 0xd2, 0x74, 0x4a, 0xd8, + 0x89, 0x20, 0x78, 0xbe, 0x85, 0xdc, 0xdb, 0x77, 0x9a, 0x49, 0x10, 0xd0, +}; +static const unsigned char kat4135_entropyinpr1[] = { + 0x59, 0x07, 0x05, 0x44, 0xc5, 0xa5, 0xb6, 0x67, 0xae, 0x83, 0x85, 0xf0, + 0xd7, 0x4d, 0xee, 0x17, 0x11, 0x25, 0x6d, 0x17, 0x9e, 0x78, 0x6c, 0xb2, + 0x76, 0x4a, 0xe4, 0x91, 0xf1, 0xeb, 0x16, 0xc3, 0x5a, 0xb4, 0x91, 0x11, + 0x76, 0x39, 0xe0, 0x83, 0xf6, 0x37, 0x3b, 0x2e, 0xdc, 0x23, 0xf7, 0x8b, +}; +static const unsigned char kat4135_addinpr1[] = { + 0xe8, 0x69, 0x59, 0x46, 0x97, 0xbe, 0x99, 0x68, 0xdb, 0x21, 0xa2, 0x68, + 0xb7, 0x5e, 0x55, 0x68, 0xb4, 0x67, 0x91, 0x72, 0x12, 0x7b, 0xfc, 0x23, + 0x24, 0x46, 0xec, 0x70, 0xc7, 0xb2, 0xf6, 0x1f, 0x8b, 0xff, 0x4f, 0x8b, + 0xdb, 0x5a, 0xe7, 0x1e, 0x8e, 0xff, 0x1e, 0x2f, 0x61, 0xdc, 0xfe, 0x2a, +}; +static const unsigned char kat4135_entropyinpr2[] = { + 0x07, 0xfe, 0x61, 0xec, 0xbb, 0x4b, 0x67, 0x58, 0xdf, 0xda, 0x73, 0xe1, + 0xac, 0x86, 0x1f, 0xc4, 0x7b, 0x03, 0x5c, 0xe4, 0x41, 0xf3, 0x74, 0xbb, + 0xeb, 0x37, 0xdc, 0x65, 0xde, 0x61, 0xb2, 0x2d, 0x1c, 0x44, 0x3b, 0xc1, + 0x6b, 0x8e, 0x49, 0x16, 0x85, 0x83, 0xa2, 0xf2, 0x09, 0x56, 0x94, 0xc6, +}; +static const unsigned char kat4135_addinpr2[] = { + 0x4e, 0x4f, 0x06, 0x6a, 0xf8, 0x3b, 0x30, 0x9e, 0x9f, 0x4f, 0x7f, 0xaf, + 0xc0, 0xf8, 0x97, 0x15, 0xc5, 0xf5, 0xc3, 0xc9, 0xde, 0x4e, 0xaf, 0x0a, + 0xa3, 0x84, 0x08, 0x19, 0xb8, 0xf0, 0xe7, 0x01, 0x51, 0xf4, 0x43, 0x33, + 0x6a, 0x6d, 0xeb, 0x60, 0xad, 0x23, 0xdc, 0x85, 0x2c, 0xab, 0x5b, 0x48, +}; +static const unsigned char kat4135_retbits[] = { + 0x5c, 0x11, 0xa0, 0x13, 0x81, 0xc0, 0x86, 0x5e, 0xf4, 0x8e, 0x28, 0x7c, + 0x28, 0x56, 0xd2, 0x66, 0x88, 0x11, 0xce, 0x69, 0x2e, 0x49, 0x82, 0xda, + 0x51, 0xad, 0x3f, 0x13, 0xd5, 0xcc, 0xe8, 0xef, 0xaf, 0xa3, 0x7b, 0x5f, + 0xa9, 0xa7, 0x4f, 0xe3, 0xb3, 0xe5, 0x42, 0x4f, 0xbd, 0xf7, 0xcb, 0x54, + 0x4a, 0x84, 0x0d, 0xf5, 0xe1, 0x6c, 0xd5, 0x89, 0x87, 0x9d, 0xb0, 0xfd, + 0xc3, 0xdb, 0xc2, 0xf1, +}; +static const struct drbg_kat_pr_true kat4135_t = { + 9, kat4135_entropyin, kat4135_nonce, kat4135_persstr, + kat4135_entropyinpr1, kat4135_addinpr1, kat4135_entropyinpr2, + kat4135_addinpr2, kat4135_retbits +}; +static const struct drbg_kat kat4135 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4135_t +}; + +static const unsigned char kat4136_entropyin[] = { + 0xb9, 0x4a, 0x0e, 0x27, 0x64, 0x4c, 0x2f, 0xbb, 0xd3, 0xca, 0x0b, 0xda, + 0xb9, 0xfb, 0xc9, 0xf6, 0x24, 0x7d, 0x58, 0x54, 0x81, 0x53, 0x38, 0x51, + 0x48, 0xab, 0xc2, 0x11, 0x93, 0x2d, 0x28, 0x55, 0x7a, 0xd4, 0x45, 0x64, + 0x78, 0xd9, 0xf3, 0xfe, 0x98, 0x83, 0x11, 0x0e, 0x01, 0xd5, 0x04, 0xc6, +}; +static const unsigned char kat4136_nonce[] = {0}; +static const unsigned char kat4136_persstr[] = { + 0xb6, 0x15, 0xd1, 0x29, 0x06, 0x56, 0x88, 0x59, 0xd4, 0x17, 0x6f, 0x71, + 0xce, 0x16, 0xdb, 0xe5, 0x26, 0xfb, 0x97, 0xdd, 0xdc, 0x20, 0x10, 0x24, + 0x23, 0x20, 0x9c, 0xe0, 0x92, 0x3f, 0x5b, 0x8e, 0x04, 0x8c, 0xfe, 0x9d, + 0x67, 0x05, 0xbb, 0x54, 0xea, 0x4e, 0x7d, 0x92, 0x58, 0x01, 0xb8, 0xa8, +}; +static const unsigned char kat4136_entropyinpr1[] = { + 0xc6, 0xdb, 0xc6, 0xac, 0x40, 0xd3, 0x95, 0x24, 0x64, 0x55, 0x28, 0x21, + 0x4b, 0x80, 0xff, 0xf3, 0xd0, 0xd6, 0x62, 0xf4, 0x2c, 0x10, 0xc9, 0x09, + 0xf1, 0x2c, 0x15, 0x6d, 0x3c, 0xa8, 0x5a, 0x0d, 0x18, 0x8e, 0xca, 0x30, + 0x0c, 0xa9, 0x6b, 0x95, 0xfd, 0x7e, 0xf2, 0xee, 0x03, 0x09, 0x13, 0x3d, +}; +static const unsigned char kat4136_addinpr1[] = { + 0xb2, 0x42, 0x24, 0xc2, 0xb4, 0x14, 0xaf, 0xb9, 0xc4, 0x1a, 0xd8, 0x0e, + 0x97, 0x64, 0x7a, 0xf2, 0x68, 0x4e, 0x5d, 0x48, 0xd7, 0xb3, 0x30, 0xae, + 0x49, 0x3c, 0xbf, 0xfe, 0x60, 0x8b, 0xd1, 0x78, 0xae, 0xdd, 0xfb, 0x37, + 0x7a, 0xb8, 0x6a, 0xb6, 0x12, 0xed, 0x9a, 0xa2, 0x41, 0x08, 0x89, 0x53, +}; +static const unsigned char kat4136_entropyinpr2[] = { + 0x0e, 0x15, 0xcc, 0x3f, 0xb7, 0x1c, 0xbf, 0x02, 0x69, 0x08, 0x9a, 0x6e, + 0xf6, 0xe7, 0x26, 0x81, 0x99, 0x47, 0x44, 0x00, 0xa3, 0x16, 0x21, 0xeb, + 0xf9, 0xf3, 0x16, 0x6f, 0x3d, 0xd8, 0x48, 0x3e, 0x87, 0xff, 0xed, 0x62, + 0xd9, 0x8a, 0xcc, 0x3b, 0x75, 0x68, 0xd3, 0xad, 0x73, 0xbb, 0xee, 0x3c, +}; +static const unsigned char kat4136_addinpr2[] = { + 0x34, 0x31, 0xc0, 0x83, 0xe3, 0x3f, 0x29, 0xa3, 0x9e, 0xc6, 0xa3, 0x59, + 0xbd, 0x52, 0xc0, 0x05, 0x65, 0xbd, 0x67, 0x6b, 0x1e, 0xc9, 0xfa, 0x61, + 0xbd, 0x58, 0x36, 0x43, 0xdb, 0x4d, 0xf1, 0xe4, 0xb1, 0x27, 0x48, 0x51, + 0x6a, 0x41, 0xbf, 0x6e, 0x24, 0x2e, 0x75, 0xb5, 0x08, 0x4f, 0x7e, 0x45, +}; +static const unsigned char kat4136_retbits[] = { + 0x1a, 0xa6, 0x40, 0xe2, 0xbf, 0x9c, 0xe8, 0xbb, 0xa6, 0xe1, 0xe0, 0x37, + 0x2d, 0xc3, 0x12, 0x0b, 0xe9, 0x85, 0x83, 0x41, 0xd8, 0x63, 0x96, 0xbc, + 0x29, 0x06, 0x91, 0xec, 0x57, 0xcd, 0xbb, 0xe9, 0x6b, 0x73, 0x8f, 0xfb, + 0x2d, 0x51, 0x80, 0x03, 0x68, 0xe9, 0x31, 0x90, 0x01, 0x07, 0x9d, 0xd9, + 0xbf, 0x0e, 0xb2, 0xc0, 0x36, 0x7d, 0xea, 0xb4, 0x7f, 0x60, 0x3b, 0x65, + 0x1d, 0xdb, 0x1a, 0xd9, +}; +static const struct drbg_kat_pr_true kat4136_t = { + 10, kat4136_entropyin, kat4136_nonce, kat4136_persstr, + kat4136_entropyinpr1, kat4136_addinpr1, kat4136_entropyinpr2, + kat4136_addinpr2, kat4136_retbits +}; +static const struct drbg_kat kat4136 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4136_t +}; + +static const unsigned char kat4137_entropyin[] = { + 0x8a, 0xb5, 0x7a, 0x4f, 0xb7, 0xfc, 0x06, 0x69, 0x5b, 0xc7, 0xb4, 0x08, + 0x32, 0xe1, 0xdf, 0x5b, 0x99, 0x81, 0x33, 0x2c, 0xbd, 0x37, 0xa3, 0x46, + 0x9a, 0x64, 0x63, 0x5d, 0xff, 0xe3, 0xa7, 0xb8, 0x4e, 0x1a, 0x37, 0x14, + 0xd6, 0x50, 0xe5, 0x3b, 0xff, 0x11, 0x5a, 0xfc, 0xc3, 0xb1, 0x41, 0xb4, +}; +static const unsigned char kat4137_nonce[] = {0}; +static const unsigned char kat4137_persstr[] = { + 0x09, 0xf7, 0x6e, 0xe9, 0xd8, 0x06, 0x0f, 0xae, 0xaa, 0xaa, 0x68, 0xef, + 0x02, 0xf4, 0x4a, 0xb9, 0xe7, 0x4b, 0xa1, 0xd1, 0x0d, 0x8f, 0xd1, 0x28, + 0x1e, 0xb2, 0xbc, 0x20, 0xda, 0x2e, 0x48, 0xa0, 0xab, 0xf9, 0xd1, 0x42, + 0xa6, 0x7e, 0xfc, 0x6b, 0xd4, 0x8b, 0x1f, 0x46, 0xfc, 0xe0, 0x82, 0xa6, +}; +static const unsigned char kat4137_entropyinpr1[] = { + 0x62, 0x80, 0x95, 0xc0, 0x0e, 0xa0, 0x7e, 0xef, 0x51, 0xb1, 0x74, 0xae, + 0xa4, 0x03, 0x00, 0x2a, 0xbb, 0x1c, 0x4b, 0x02, 0xe3, 0x02, 0x54, 0x5c, + 0x4d, 0x78, 0xe3, 0xad, 0xae, 0x33, 0xcb, 0x7e, 0x5e, 0xe4, 0x8b, 0x57, + 0x39, 0x77, 0xc0, 0x47, 0x24, 0xe0, 0x9f, 0xb6, 0x89, 0x64, 0x47, 0x57, +}; +static const unsigned char kat4137_addinpr1[] = { + 0x6a, 0xcd, 0x6a, 0x37, 0x99, 0x6c, 0x87, 0xda, 0x16, 0x8e, 0xec, 0xfa, + 0x1b, 0x2d, 0x51, 0x5a, 0x3e, 0x02, 0xc9, 0xc9, 0x3b, 0x2b, 0xf6, 0xb0, + 0xe9, 0x7b, 0xcf, 0xcd, 0x15, 0xe3, 0x5e, 0x02, 0xbd, 0xcc, 0xeb, 0xad, + 0xe2, 0x53, 0xcf, 0x4c, 0xe6, 0xfd, 0x80, 0x34, 0xe8, 0x0d, 0xcc, 0x7d, +}; +static const unsigned char kat4137_entropyinpr2[] = { + 0x57, 0xf5, 0xe2, 0x13, 0x3c, 0x46, 0xbb, 0x96, 0x02, 0x85, 0xee, 0x69, + 0xdc, 0x80, 0x5b, 0x1d, 0x1e, 0xa2, 0x44, 0x45, 0xce, 0xe8, 0x96, 0xce, + 0x14, 0x0b, 0xde, 0xab, 0x64, 0x89, 0xa2, 0x6c, 0x40, 0x10, 0xd4, 0x2a, + 0x4d, 0xf1, 0x96, 0x3b, 0x5f, 0x8d, 0x2b, 0x9c, 0x7d, 0x97, 0x52, 0x0f, +}; +static const unsigned char kat4137_addinpr2[] = { + 0x98, 0x0e, 0x6d, 0xbb, 0x1d, 0x25, 0x66, 0x9d, 0x38, 0xbf, 0xf0, 0xcb, + 0xc6, 0x91, 0xde, 0x84, 0x5a, 0x57, 0x00, 0x1f, 0x36, 0x59, 0x58, 0xd1, + 0x84, 0xe9, 0xea, 0xb5, 0xbf, 0x81, 0xa7, 0xc3, 0xef, 0x60, 0x7d, 0x1f, + 0xe9, 0xc9, 0x3b, 0xfd, 0x61, 0x4f, 0x2b, 0xed, 0x20, 0x06, 0x5b, 0x84, +}; +static const unsigned char kat4137_retbits[] = { + 0x03, 0x2a, 0xcc, 0x5c, 0xab, 0xbe, 0xf2, 0x79, 0x18, 0xb6, 0xd3, 0xab, + 0x05, 0x09, 0x38, 0x3e, 0x88, 0x23, 0x9f, 0x8c, 0xa9, 0xcb, 0x20, 0xc9, + 0xe1, 0x3f, 0x05, 0xf0, 0x24, 0x2b, 0xc5, 0x25, 0x8f, 0x48, 0x3b, 0x0d, + 0xef, 0xf8, 0xda, 0x22, 0xd4, 0x6b, 0x50, 0xb2, 0x13, 0x96, 0x76, 0x93, + 0x5b, 0x4b, 0xa0, 0x6a, 0xa5, 0x9d, 0x72, 0x0e, 0x21, 0xcf, 0x15, 0xd4, + 0xf5, 0x06, 0xf7, 0xb7, +}; +static const struct drbg_kat_pr_true kat4137_t = { + 11, kat4137_entropyin, kat4137_nonce, kat4137_persstr, + kat4137_entropyinpr1, kat4137_addinpr1, kat4137_entropyinpr2, + kat4137_addinpr2, kat4137_retbits +}; +static const struct drbg_kat kat4137 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4137_t +}; + +static const unsigned char kat4138_entropyin[] = { + 0x84, 0xcc, 0xe1, 0x79, 0x74, 0x25, 0x6d, 0x04, 0xdf, 0x34, 0x97, 0xc4, + 0x88, 0x48, 0x89, 0x03, 0xa6, 0x56, 0x91, 0x94, 0x5b, 0x4a, 0xc1, 0x32, + 0x63, 0x64, 0x3f, 0x48, 0x55, 0xe4, 0x25, 0x26, 0xc8, 0x0d, 0xe9, 0xca, + 0xf5, 0x73, 0xfc, 0x98, 0x70, 0x58, 0x1e, 0xd4, 0xa8, 0x3f, 0x8c, 0xf0, +}; +static const unsigned char kat4138_nonce[] = {0}; +static const unsigned char kat4138_persstr[] = { + 0x42, 0xbf, 0x74, 0x52, 0xb8, 0x01, 0x99, 0xcc, 0x34, 0x05, 0x00, 0x56, + 0x83, 0x06, 0x24, 0xd4, 0x09, 0x60, 0x75, 0x49, 0x09, 0x5e, 0x91, 0xe8, + 0x84, 0xf5, 0xf0, 0x0a, 0xe4, 0x4d, 0x65, 0xfb, 0x97, 0xdd, 0x7d, 0x5e, + 0xa7, 0x81, 0x61, 0x78, 0xd1, 0xcd, 0x62, 0x04, 0xec, 0xdf, 0x3b, 0xaf, +}; +static const unsigned char kat4138_entropyinpr1[] = { + 0x64, 0x0a, 0x46, 0x93, 0xdb, 0x17, 0x78, 0xdb, 0xd4, 0xcf, 0xb2, 0x7b, + 0xa0, 0xf7, 0x75, 0xb3, 0x16, 0x9d, 0x6b, 0x2d, 0x86, 0x00, 0x33, 0x8d, + 0x55, 0xd4, 0x4a, 0xe5, 0xac, 0xb6, 0x06, 0x52, 0x94, 0xed, 0x2e, 0x77, + 0x30, 0x25, 0x5e, 0xef, 0x58, 0x12, 0x48, 0x50, 0x27, 0x3b, 0xec, 0x29, +}; +static const unsigned char kat4138_addinpr1[] = { + 0x1a, 0x7e, 0x1d, 0x25, 0x06, 0xd5, 0xc4, 0x74, 0xf8, 0x47, 0x02, 0xae, + 0xe6, 0x40, 0x63, 0xde, 0x77, 0xa2, 0x79, 0x12, 0xc4, 0x5f, 0x0f, 0x88, + 0x7e, 0x11, 0x65, 0x06, 0xd9, 0x12, 0x9f, 0xd0, 0x18, 0xa6, 0x12, 0x27, + 0xe9, 0x79, 0x48, 0x4d, 0xaf, 0xd1, 0xeb, 0x87, 0x50, 0xe9, 0xe2, 0xd3, +}; +static const unsigned char kat4138_entropyinpr2[] = { + 0x20, 0x60, 0x48, 0x84, 0x28, 0x60, 0xda, 0xa4, 0x53, 0x35, 0x5c, 0x05, + 0x13, 0x9b, 0xda, 0x63, 0x14, 0xfd, 0xeb, 0x3c, 0x8a, 0xb5, 0x81, 0x75, + 0xe3, 0x8c, 0x2e, 0x23, 0x16, 0x9d, 0xda, 0xf2, 0x5a, 0xe1, 0xca, 0x9e, + 0x9d, 0xae, 0x0d, 0x43, 0x75, 0x1a, 0xde, 0x43, 0x40, 0x03, 0x17, 0xb7, +}; +static const unsigned char kat4138_addinpr2[] = { + 0xe6, 0xc3, 0x36, 0x96, 0x8e, 0x46, 0xf5, 0xbf, 0x00, 0x46, 0x68, 0xdc, + 0x65, 0x1a, 0x3e, 0xa0, 0x7b, 0xa9, 0x3c, 0x74, 0x28, 0x2f, 0xf9, 0x84, + 0x7b, 0x58, 0x65, 0xfe, 0xa8, 0x93, 0x48, 0x3c, 0xbd, 0x73, 0xc1, 0xa3, + 0xf6, 0x9f, 0x56, 0xe8, 0x5d, 0xce, 0x7f, 0xe3, 0x86, 0x40, 0xaa, 0x88, +}; +static const unsigned char kat4138_retbits[] = { + 0x64, 0x35, 0xf9, 0xe3, 0xb8, 0x6b, 0x9c, 0x42, 0x68, 0x6d, 0x8e, 0xa5, + 0x61, 0x80, 0xd3, 0x76, 0x17, 0x55, 0xd7, 0xec, 0x78, 0x84, 0xa8, 0x28, + 0x6f, 0x8a, 0x16, 0x1a, 0xf4, 0x20, 0xd3, 0xbe, 0xdf, 0x2a, 0x5d, 0xb4, + 0xf6, 0x0c, 0x7a, 0xaa, 0x69, 0xd3, 0x9b, 0x15, 0x48, 0x1a, 0x54, 0x68, + 0xdd, 0xa9, 0x20, 0x4b, 0x9a, 0x0e, 0x35, 0xaa, 0x66, 0x21, 0xa8, 0xe9, + 0x41, 0x5e, 0xbe, 0xd6, +}; +static const struct drbg_kat_pr_true kat4138_t = { + 12, kat4138_entropyin, kat4138_nonce, kat4138_persstr, + kat4138_entropyinpr1, kat4138_addinpr1, kat4138_entropyinpr2, + kat4138_addinpr2, kat4138_retbits +}; +static const struct drbg_kat kat4138 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4138_t +}; + +static const unsigned char kat4139_entropyin[] = { + 0x6e, 0xc1, 0x56, 0xac, 0x8c, 0x56, 0x9e, 0xef, 0xce, 0xa5, 0x0f, 0x80, + 0x0f, 0x28, 0x96, 0x41, 0xf7, 0x4e, 0xff, 0x84, 0x4c, 0x5b, 0x77, 0x3b, + 0x00, 0xf8, 0x22, 0x9d, 0x1b, 0xed, 0xbc, 0xa0, 0x61, 0x1f, 0x47, 0x3d, + 0xce, 0x50, 0xac, 0xbd, 0xb9, 0xc5, 0xf7, 0x0b, 0xe4, 0x61, 0x28, 0x50, +}; +static const unsigned char kat4139_nonce[] = {0}; +static const unsigned char kat4139_persstr[] = { + 0x9f, 0xbd, 0x8b, 0xc5, 0x8c, 0xa2, 0x90, 0x83, 0x78, 0xc0, 0x42, 0x76, + 0x5a, 0xec, 0x63, 0x71, 0xd4, 0x36, 0x6b, 0x65, 0x32, 0x3c, 0x4c, 0xfd, + 0x55, 0x85, 0xa6, 0x7e, 0x7c, 0x5a, 0xe1, 0xb5, 0x60, 0x31, 0x53, 0x91, + 0x06, 0xb2, 0x43, 0x2f, 0x64, 0xf9, 0x44, 0x26, 0x61, 0x92, 0x26, 0x8c, +}; +static const unsigned char kat4139_entropyinpr1[] = { + 0x13, 0x97, 0x2b, 0x48, 0xc6, 0x06, 0xed, 0x15, 0x46, 0x72, 0x2e, 0x95, + 0x42, 0xea, 0x2d, 0xe4, 0x65, 0xd7, 0x8e, 0xbb, 0xcf, 0xb8, 0x07, 0x13, + 0x35, 0xe5, 0xcf, 0x13, 0x7a, 0x2f, 0xc4, 0x8a, 0xd4, 0xca, 0x0a, 0xf3, + 0x1d, 0xec, 0x45, 0x37, 0xe2, 0x54, 0x54, 0x28, 0xe1, 0xea, 0xaa, 0x42, +}; +static const unsigned char kat4139_addinpr1[] = { + 0x68, 0xa2, 0xb1, 0x22, 0x29, 0xd9, 0x93, 0xe6, 0x9a, 0xab, 0x58, 0xcd, + 0xa7, 0x7a, 0x3b, 0xe9, 0xbd, 0x66, 0x14, 0x5c, 0x45, 0xb4, 0x68, 0x81, + 0x6e, 0xdd, 0x82, 0xc0, 0x39, 0x3f, 0xeb, 0x4f, 0x22, 0x61, 0xde, 0xc0, + 0xa5, 0x28, 0xe1, 0x0b, 0xcb, 0x45, 0x51, 0xab, 0x05, 0x1b, 0xd5, 0xbc, +}; +static const unsigned char kat4139_entropyinpr2[] = { + 0x73, 0xed, 0x9a, 0xe0, 0x3d, 0xa3, 0x0f, 0x20, 0x08, 0xd9, 0x25, 0x6b, + 0xb5, 0x61, 0x62, 0xb0, 0xe2, 0x68, 0x19, 0x2e, 0x07, 0x36, 0x36, 0xdc, + 0xd6, 0xc9, 0x9e, 0xcd, 0x7a, 0xf5, 0x18, 0xbe, 0x08, 0xf1, 0x6e, 0x77, + 0xc6, 0xc4, 0x25, 0x96, 0xa3, 0x57, 0x52, 0xd0, 0x12, 0xb2, 0xd2, 0x5a, +}; +static const unsigned char kat4139_addinpr2[] = { + 0xcd, 0x88, 0x33, 0xbd, 0x54, 0x66, 0x3e, 0xb1, 0x6c, 0xa5, 0xb5, 0x0a, + 0x09, 0x2e, 0x47, 0x2a, 0xa2, 0x01, 0x21, 0x1d, 0x46, 0xc7, 0x75, 0x4e, + 0xa8, 0x42, 0x05, 0x0b, 0x35, 0x60, 0xe8, 0x49, 0x12, 0xec, 0xd4, 0xce, + 0x66, 0xc3, 0xa7, 0xcf, 0xf0, 0xac, 0xc9, 0x6c, 0xf7, 0x99, 0x00, 0x93, +}; +static const unsigned char kat4139_retbits[] = { + 0x40, 0xc4, 0xfb, 0xf5, 0xd9, 0xce, 0xc7, 0x56, 0xb7, 0xb3, 0x42, 0x78, + 0x31, 0x56, 0x65, 0xec, 0x36, 0xcd, 0xaa, 0x6c, 0xd4, 0x82, 0x84, 0xe2, + 0x85, 0x56, 0x11, 0x83, 0x59, 0xb1, 0x1c, 0x2d, 0x28, 0x5e, 0xb1, 0x45, + 0xc3, 0x03, 0x49, 0x03, 0x0e, 0xde, 0xf2, 0xfe, 0xaf, 0xdd, 0x1a, 0x26, + 0xca, 0xf0, 0xfb, 0x69, 0x73, 0xa7, 0x76, 0x63, 0x8e, 0x9f, 0x4f, 0x00, + 0x48, 0xb8, 0x91, 0x8b, +}; +static const struct drbg_kat_pr_true kat4139_t = { + 13, kat4139_entropyin, kat4139_nonce, kat4139_persstr, + kat4139_entropyinpr1, kat4139_addinpr1, kat4139_entropyinpr2, + kat4139_addinpr2, kat4139_retbits +}; +static const struct drbg_kat kat4139 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4139_t +}; + +static const unsigned char kat4140_entropyin[] = { + 0x83, 0x2f, 0x28, 0xed, 0xb5, 0xdf, 0x05, 0x2f, 0xb4, 0xc5, 0xa7, 0x05, + 0x9d, 0x1d, 0x3a, 0x6d, 0xb0, 0xd8, 0x4a, 0xf9, 0xa0, 0x2c, 0xc1, 0x89, + 0x41, 0xcb, 0x0e, 0xb5, 0x36, 0x71, 0xab, 0x5e, 0xbb, 0xae, 0x65, 0xb3, + 0xa3, 0x19, 0x15, 0x95, 0x83, 0x8c, 0xa8, 0xe8, 0xfa, 0x07, 0x22, 0xa6, +}; +static const unsigned char kat4140_nonce[] = {0}; +static const unsigned char kat4140_persstr[] = { + 0xbe, 0x14, 0x4a, 0xc8, 0x0b, 0x82, 0x8d, 0xd3, 0x3a, 0x3e, 0xd6, 0xfe, + 0x55, 0x3d, 0xfd, 0xc9, 0xad, 0x3c, 0xd9, 0x5d, 0x12, 0x8d, 0x8e, 0xd4, + 0x66, 0xfe, 0xc8, 0x09, 0xa2, 0x45, 0x6e, 0x2b, 0x0d, 0x2c, 0x7e, 0x6b, + 0x4b, 0xda, 0xc7, 0x9b, 0x5e, 0x7a, 0xe5, 0x5b, 0xab, 0x26, 0x67, 0x52, +}; +static const unsigned char kat4140_entropyinpr1[] = { + 0x11, 0x3d, 0x8a, 0x06, 0x8f, 0x38, 0x5d, 0x86, 0x5f, 0xda, 0xd9, 0x6c, + 0xf7, 0x8d, 0x30, 0x28, 0x91, 0x21, 0xed, 0x22, 0x4b, 0x76, 0x65, 0xcf, + 0xc3, 0xd6, 0x1a, 0xd7, 0xa7, 0x4d, 0xc4, 0xf6, 0x24, 0xf7, 0x61, 0xe6, + 0x30, 0xdd, 0x22, 0xc3, 0x95, 0x4b, 0xa1, 0x11, 0xdb, 0xdd, 0xcf, 0x8b, +}; +static const unsigned char kat4140_addinpr1[] = { + 0x38, 0xc2, 0x4b, 0x8e, 0xe6, 0x82, 0xa8, 0xf5, 0xf8, 0x98, 0x99, 0x78, + 0xef, 0xbf, 0x50, 0xce, 0x1a, 0x4f, 0xe1, 0x89, 0x2d, 0xb8, 0x10, 0x67, + 0x14, 0x95, 0x0f, 0x1f, 0xe8, 0xbf, 0xe0, 0x46, 0xe4, 0x69, 0x9b, 0x8a, + 0xec, 0xe1, 0x9f, 0xcb, 0xf1, 0xe7, 0x3c, 0x4a, 0x13, 0x7e, 0x2f, 0xc2, +}; +static const unsigned char kat4140_entropyinpr2[] = { + 0x84, 0x3e, 0x7c, 0xac, 0x38, 0xb6, 0x59, 0xa6, 0x11, 0xdc, 0x4a, 0xf4, + 0xbd, 0x22, 0x8e, 0xbc, 0x0c, 0xd9, 0x07, 0x3e, 0xe9, 0x83, 0x50, 0xd0, + 0x4d, 0xa6, 0x1f, 0x77, 0xdb, 0x66, 0xc0, 0xc7, 0x08, 0x72, 0x15, 0x3d, + 0x9f, 0xa2, 0xaf, 0x4b, 0xc5, 0x83, 0xac, 0x2c, 0xf7, 0x9d, 0x50, 0x6e, +}; +static const unsigned char kat4140_addinpr2[] = { + 0x4f, 0x23, 0x64, 0x10, 0x93, 0x34, 0x2d, 0x94, 0x6d, 0x3a, 0x95, 0x6c, + 0x45, 0x6d, 0xba, 0x18, 0xbd, 0x42, 0xde, 0x21, 0xcb, 0x24, 0x94, 0xf6, + 0x31, 0x0d, 0xa7, 0xd2, 0x0a, 0xce, 0x84, 0x58, 0xa7, 0x17, 0x78, 0x90, + 0x5d, 0x98, 0x8e, 0x58, 0x9f, 0xae, 0xcf, 0x77, 0x9b, 0x19, 0x4a, 0x13, +}; +static const unsigned char kat4140_retbits[] = { + 0x67, 0x54, 0xa7, 0x2f, 0x7f, 0xe2, 0x3e, 0xa6, 0x07, 0xef, 0x0a, 0xe6, + 0x1a, 0x61, 0xeb, 0x3a, 0xfc, 0x56, 0x2c, 0x52, 0x27, 0x67, 0x05, 0x72, + 0xb7, 0xff, 0x2d, 0xce, 0xcf, 0x3d, 0xcb, 0x41, 0x94, 0x82, 0x9d, 0x29, + 0xfc, 0xf9, 0xb1, 0x00, 0x41, 0x2a, 0xa0, 0xee, 0x87, 0x61, 0x1a, 0xb5, + 0x34, 0x89, 0x6f, 0x80, 0xf4, 0x7c, 0xff, 0x40, 0xb7, 0xf7, 0x6e, 0x0e, + 0xa4, 0x6b, 0x3d, 0x41, +}; +static const struct drbg_kat_pr_true kat4140_t = { + 14, kat4140_entropyin, kat4140_nonce, kat4140_persstr, + kat4140_entropyinpr1, kat4140_addinpr1, kat4140_entropyinpr2, + kat4140_addinpr2, kat4140_retbits +}; +static const struct drbg_kat kat4140 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4140_t +}; + +static const unsigned char kat4141_entropyin[] = { + 0x60, 0x3c, 0xba, 0x49, 0x24, 0x61, 0xb0, 0xc9, 0xa5, 0x5b, 0x4a, 0x97, + 0xfc, 0xb4, 0xc3, 0xfd, 0x76, 0x53, 0x26, 0x36, 0x49, 0x0b, 0xf1, 0x71, + 0xf1, 0x52, 0xa1, 0xc1, 0xf0, 0xfe, 0x33, 0x66, 0x34, 0x2a, 0xb8, 0x02, + 0x9d, 0xbc, 0x43, 0xfc, 0xcd, 0xe5, 0x5e, 0xc2, 0x39, 0x01, 0xb5, 0x30, +}; +static const unsigned char kat4141_nonce[] = {0}; +static const unsigned char kat4141_persstr[] = {0}; +static const unsigned char kat4141_entropyinpr1[] = { + 0xf2, 0x91, 0x59, 0xd2, 0x78, 0x0b, 0xe1, 0x84, 0x69, 0x41, 0xf5, 0xbb, + 0x02, 0x66, 0x59, 0x18, 0x71, 0xc9, 0xb2, 0xbb, 0x9a, 0x06, 0x85, 0x9a, + 0xc1, 0xca, 0xd0, 0x41, 0xe8, 0x93, 0x9c, 0x80, 0x4e, 0x61, 0x5d, 0x35, + 0xcc, 0x26, 0x17, 0x56, 0x97, 0xdc, 0x60, 0xa0, 0xb5, 0x48, 0xff, 0x10, +}; +static const unsigned char kat4141_addinpr1[] = {0}; +static const unsigned char kat4141_entropyinpr2[] = { + 0x33, 0xcb, 0x7a, 0xb5, 0x3e, 0x64, 0xb7, 0x69, 0x90, 0xfd, 0xec, 0x75, + 0x37, 0x7a, 0xe9, 0x94, 0x7c, 0xfa, 0x14, 0x41, 0xc3, 0xda, 0xba, 0xf1, + 0x9b, 0xd4, 0x0f, 0x8a, 0x25, 0x9b, 0x2d, 0x08, 0x4b, 0x41, 0x44, 0xa6, + 0x45, 0xcf, 0x39, 0x90, 0xbe, 0x95, 0x40, 0x81, 0x51, 0x37, 0x7e, 0x08, +}; +static const unsigned char kat4141_addinpr2[] = {0}; +static const unsigned char kat4141_retbits[] = { + 0x1c, 0xb8, 0xa4, 0x7a, 0x55, 0x23, 0x5b, 0x4c, 0xf5, 0x0d, 0x2c, 0x4d, + 0x57, 0x03, 0x9d, 0x55, 0xc2, 0x76, 0x6e, 0xc1, 0x92, 0x40, 0xca, 0x1a, + 0xe5, 0x0d, 0xc8, 0x0e, 0xf4, 0xc6, 0x92, 0x65, 0xd2, 0xdf, 0xa4, 0x1c, + 0x2f, 0x09, 0xb9, 0x91, 0x03, 0xd6, 0x6e, 0x23, 0x1b, 0x94, 0x97, 0x97, + 0x6b, 0xb3, 0x76, 0xda, 0xcf, 0xb2, 0x46, 0x11, 0x5a, 0xd2, 0xab, 0x57, + 0xf5, 0xc3, 0x8c, 0xd6, +}; +static const struct drbg_kat_pr_true kat4141_t = { + 0, kat4141_entropyin, kat4141_nonce, kat4141_persstr, + kat4141_entropyinpr1, kat4141_addinpr1, kat4141_entropyinpr2, + kat4141_addinpr2, kat4141_retbits +}; +static const struct drbg_kat kat4141 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4141_t +}; + +static const unsigned char kat4142_entropyin[] = { + 0x66, 0xc5, 0x85, 0x57, 0x2d, 0x64, 0xca, 0xa9, 0xfb, 0xa1, 0xff, 0x55, + 0xe9, 0x88, 0xe4, 0x51, 0x29, 0x7a, 0x39, 0x1d, 0xd0, 0xf5, 0x00, 0xd2, + 0x88, 0x52, 0x90, 0xf2, 0x0d, 0x67, 0x3c, 0x4d, 0x7f, 0x9a, 0xf0, 0x11, + 0xa9, 0x9a, 0x80, 0x1e, 0x4f, 0x1d, 0x8e, 0xea, 0x75, 0x62, 0x10, 0x08, +}; +static const unsigned char kat4142_nonce[] = {0}; +static const unsigned char kat4142_persstr[] = {0}; +static const unsigned char kat4142_entropyinpr1[] = { + 0x34, 0x1c, 0xd2, 0x7e, 0x70, 0x39, 0x76, 0x69, 0xda, 0x7c, 0x25, 0x87, + 0x41, 0x82, 0x8a, 0x52, 0xe0, 0xd1, 0x02, 0x4d, 0x0c, 0x23, 0x80, 0xd5, + 0x99, 0x74, 0x03, 0xe5, 0x55, 0x8d, 0xbd, 0x6f, 0x9b, 0x21, 0xa5, 0x67, + 0xef, 0x6a, 0x4f, 0xd2, 0x7f, 0x62, 0x5a, 0xdd, 0x70, 0xeb, 0xb1, 0x2d, +}; +static const unsigned char kat4142_addinpr1[] = {0}; +static const unsigned char kat4142_entropyinpr2[] = { + 0x40, 0x50, 0xc6, 0xa8, 0x94, 0xf1, 0x34, 0xcf, 0x8b, 0x67, 0x44, 0x70, + 0xad, 0xef, 0x00, 0x56, 0x0d, 0x4d, 0x00, 0xed, 0x3f, 0x70, 0xde, 0x46, + 0xff, 0x9d, 0xcd, 0x95, 0xed, 0x22, 0xd0, 0x41, 0x95, 0x0e, 0xc6, 0xe4, + 0x17, 0x8f, 0xb8, 0x6a, 0xf5, 0xc8, 0x22, 0xc1, 0x16, 0x15, 0x64, 0x4a, +}; +static const unsigned char kat4142_addinpr2[] = {0}; +static const unsigned char kat4142_retbits[] = { + 0x24, 0x14, 0x32, 0xfe, 0xd0, 0xdc, 0xa6, 0xd4, 0xbc, 0xf2, 0x39, 0x4d, + 0xea, 0xac, 0x9b, 0x59, 0x14, 0xef, 0x74, 0x7a, 0x6e, 0x93, 0xbe, 0x4f, + 0x97, 0xda, 0x76, 0x55, 0x7d, 0xa8, 0x83, 0x59, 0x19, 0x77, 0x18, 0xa1, + 0x32, 0x2d, 0xfe, 0x0c, 0x2c, 0x91, 0x3d, 0x2d, 0xb9, 0xeb, 0xd9, 0x76, + 0x0e, 0x15, 0xfb, 0x54, 0x26, 0xb1, 0xf8, 0x5a, 0xdf, 0x7d, 0x2b, 0xc0, + 0x39, 0x85, 0x1b, 0x9e, +}; +static const struct drbg_kat_pr_true kat4142_t = { + 1, kat4142_entropyin, kat4142_nonce, kat4142_persstr, + kat4142_entropyinpr1, kat4142_addinpr1, kat4142_entropyinpr2, + kat4142_addinpr2, kat4142_retbits +}; +static const struct drbg_kat kat4142 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4142_t +}; + +static const unsigned char kat4143_entropyin[] = { + 0xc5, 0x70, 0xff, 0xd1, 0xf4, 0xc5, 0xd1, 0xe9, 0x39, 0xad, 0x14, 0xa6, + 0x76, 0xc2, 0xf2, 0x69, 0x5d, 0x4b, 0x2a, 0xa5, 0x0a, 0x93, 0xa6, 0xc2, + 0x14, 0xfa, 0x71, 0x1d, 0x76, 0x4f, 0xf0, 0x44, 0xb0, 0x06, 0x20, 0xd0, + 0xb9, 0x8a, 0x1c, 0x0d, 0x06, 0x43, 0x7e, 0xfd, 0x00, 0x07, 0x18, 0x95, +}; +static const unsigned char kat4143_nonce[] = {0}; +static const unsigned char kat4143_persstr[] = {0}; +static const unsigned char kat4143_entropyinpr1[] = { + 0x2d, 0xed, 0xf9, 0x53, 0x5c, 0xfc, 0xdf, 0x74, 0xa5, 0xef, 0xf2, 0xc6, + 0xc2, 0x17, 0x33, 0xfc, 0xc2, 0x2f, 0xb3, 0x25, 0xa7, 0x3c, 0x4b, 0xc3, + 0x06, 0xfd, 0x87, 0x7e, 0x6f, 0x26, 0xaa, 0x5c, 0xb0, 0xed, 0x5d, 0x63, + 0x6c, 0x87, 0x8e, 0xb8, 0xb1, 0xc2, 0x00, 0x51, 0x86, 0xe2, 0xf1, 0x0f, +}; +static const unsigned char kat4143_addinpr1[] = {0}; +static const unsigned char kat4143_entropyinpr2[] = { + 0xe3, 0x5c, 0xc4, 0xfd, 0xa5, 0x07, 0x92, 0xa7, 0x72, 0x24, 0x07, 0x28, + 0x7b, 0x32, 0xcb, 0xf1, 0xd6, 0x47, 0x31, 0x25, 0x6d, 0xfb, 0x1e, 0x51, + 0x22, 0xc1, 0xd0, 0xa2, 0x33, 0x94, 0xde, 0x8d, 0x53, 0xf4, 0xcd, 0x20, + 0x58, 0xc4, 0x5c, 0x03, 0x9c, 0xe3, 0x96, 0xe4, 0xba, 0x2a, 0xef, 0x50, +}; +static const unsigned char kat4143_addinpr2[] = {0}; +static const unsigned char kat4143_retbits[] = { + 0xae, 0x1f, 0xe8, 0xe0, 0x5e, 0xe0, 0x7c, 0x13, 0xa7, 0x40, 0x7a, 0x39, + 0x41, 0x0f, 0xbf, 0x17, 0xa3, 0x70, 0xca, 0x7a, 0xa7, 0x84, 0x4c, 0xd8, + 0x56, 0x87, 0x59, 0x6c, 0x36, 0x1e, 0x7a, 0x16, 0x77, 0xa5, 0x19, 0xc6, + 0xe6, 0x84, 0xd4, 0xb0, 0x46, 0x3f, 0xad, 0xef, 0x57, 0xbf, 0x37, 0xc6, + 0xd5, 0x3e, 0x42, 0xb9, 0x7c, 0x17, 0xca, 0xff, 0xf4, 0xdc, 0x41, 0x0b, + 0x2c, 0xd2, 0x7d, 0x52, +}; +static const struct drbg_kat_pr_true kat4143_t = { + 2, kat4143_entropyin, kat4143_nonce, kat4143_persstr, + kat4143_entropyinpr1, kat4143_addinpr1, kat4143_entropyinpr2, + kat4143_addinpr2, kat4143_retbits +}; +static const struct drbg_kat kat4143 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4143_t +}; + +static const unsigned char kat4144_entropyin[] = { + 0x89, 0xe0, 0xc4, 0xe2, 0x80, 0x9f, 0x71, 0x8b, 0xbd, 0x0f, 0xa0, 0xc3, + 0xaf, 0x6d, 0x12, 0x4b, 0x16, 0x9d, 0x61, 0xdd, 0x43, 0xd3, 0x25, 0xdd, + 0x32, 0x5a, 0x46, 0x47, 0x9c, 0xe2, 0xe3, 0xe2, 0xc0, 0xfb, 0xca, 0x7f, + 0x50, 0xe1, 0x29, 0x97, 0x7a, 0x18, 0x63, 0x67, 0x52, 0xda, 0x1a, 0x63, +}; +static const unsigned char kat4144_nonce[] = {0}; +static const unsigned char kat4144_persstr[] = {0}; +static const unsigned char kat4144_entropyinpr1[] = { + 0x04, 0x23, 0x68, 0xa8, 0x11, 0x6f, 0x17, 0x2e, 0xf5, 0x2c, 0x5b, 0x66, + 0xec, 0xe3, 0x11, 0x23, 0x26, 0x18, 0x32, 0xd7, 0x66, 0xe8, 0xbc, 0x32, + 0xd1, 0x48, 0x1e, 0xe4, 0x17, 0x6a, 0x35, 0x2b, 0x6f, 0xe7, 0x4d, 0x37, + 0xa1, 0x7a, 0x40, 0x24, 0xff, 0xec, 0xf3, 0x7c, 0xcf, 0x4a, 0xf3, 0x12, +}; +static const unsigned char kat4144_addinpr1[] = {0}; +static const unsigned char kat4144_entropyinpr2[] = { + 0x8d, 0x78, 0x2d, 0x73, 0x3b, 0x25, 0xd9, 0xb3, 0x39, 0xd8, 0xd6, 0x25, + 0xdf, 0x06, 0x11, 0x9c, 0x9a, 0x8c, 0xc3, 0x8d, 0xf9, 0x68, 0xe5, 0xe4, + 0xd2, 0xfd, 0x57, 0x30, 0xf4, 0x74, 0xa4, 0x9a, 0x14, 0x72, 0x8a, 0x47, + 0x13, 0xcf, 0x45, 0xd4, 0xae, 0xf0, 0x01, 0x19, 0x82, 0xbf, 0x50, 0xb5, +}; +static const unsigned char kat4144_addinpr2[] = {0}; +static const unsigned char kat4144_retbits[] = { + 0xaf, 0x55, 0x3c, 0xf2, 0x75, 0x5b, 0x35, 0x2d, 0xe4, 0x55, 0x49, 0xe2, + 0x03, 0x05, 0xf9, 0xf0, 0x4d, 0xc5, 0x77, 0x0a, 0x1e, 0xec, 0x4a, 0x1f, + 0x7b, 0x41, 0x31, 0x29, 0x7f, 0x38, 0x29, 0x21, 0x67, 0xc7, 0x20, 0x6e, + 0x08, 0x4a, 0x0c, 0xa8, 0x4c, 0x6f, 0x7b, 0x62, 0x8d, 0x7a, 0x9e, 0x15, + 0xf5, 0x0e, 0xd7, 0x65, 0x13, 0x58, 0x88, 0x69, 0x13, 0xfb, 0xbb, 0xe0, + 0xa9, 0xaa, 0xf2, 0x39, +}; +static const struct drbg_kat_pr_true kat4144_t = { + 3, kat4144_entropyin, kat4144_nonce, kat4144_persstr, + kat4144_entropyinpr1, kat4144_addinpr1, kat4144_entropyinpr2, + kat4144_addinpr2, kat4144_retbits +}; +static const struct drbg_kat kat4144 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4144_t +}; + +static const unsigned char kat4145_entropyin[] = { + 0x39, 0xf3, 0xbd, 0x3e, 0x76, 0xa0, 0x52, 0xa4, 0x78, 0x30, 0xef, 0x5f, + 0xa8, 0x58, 0xb7, 0x82, 0x42, 0x24, 0x62, 0x41, 0xa5, 0x62, 0x92, 0x24, + 0x04, 0x99, 0xbb, 0xef, 0x96, 0x42, 0x32, 0x27, 0x20, 0xc6, 0x7e, 0x9a, + 0x97, 0x3b, 0x7c, 0xb9, 0x18, 0x34, 0x8f, 0xc0, 0xa1, 0x0d, 0x62, 0x11, +}; +static const unsigned char kat4145_nonce[] = {0}; +static const unsigned char kat4145_persstr[] = {0}; +static const unsigned char kat4145_entropyinpr1[] = { + 0x2a, 0x26, 0x33, 0xa4, 0xd1, 0xf2, 0xfe, 0x64, 0xc1, 0xa8, 0x70, 0x40, + 0x36, 0x7c, 0x3c, 0x13, 0xc3, 0x74, 0xb1, 0x0d, 0x24, 0x8c, 0x68, 0xe5, + 0x50, 0x90, 0x1e, 0x97, 0xf6, 0x57, 0xda, 0xde, 0xa0, 0xfe, 0xed, 0x10, + 0xb0, 0xbe, 0x00, 0x19, 0xd4, 0xcc, 0x8a, 0xe5, 0x4b, 0x15, 0x59, 0x61, +}; +static const unsigned char kat4145_addinpr1[] = {0}; +static const unsigned char kat4145_entropyinpr2[] = { + 0x41, 0xc8, 0x14, 0xc1, 0x1d, 0x2c, 0x61, 0xc0, 0xaa, 0x97, 0x5a, 0x3b, + 0x03, 0xaf, 0x1e, 0xa3, 0x52, 0xc5, 0xb8, 0x2a, 0xa9, 0x30, 0xce, 0xa7, + 0x0e, 0x8a, 0x5d, 0x8f, 0x6a, 0xc0, 0x4c, 0x57, 0x13, 0xc6, 0x47, 0x7d, + 0x58, 0x66, 0x40, 0x5b, 0xb6, 0xcc, 0xcd, 0x0c, 0x26, 0x6f, 0x1e, 0x62, +}; +static const unsigned char kat4145_addinpr2[] = {0}; +static const unsigned char kat4145_retbits[] = { + 0xe0, 0x9b, 0x26, 0xf0, 0xcb, 0x01, 0x70, 0xa1, 0x88, 0x3c, 0x74, 0x93, + 0xd8, 0x72, 0xf3, 0x91, 0xad, 0xa1, 0x60, 0xb4, 0x91, 0x5d, 0x87, 0xeb, + 0x1f, 0x62, 0xa3, 0x10, 0x04, 0x49, 0x52, 0x45, 0x24, 0x59, 0xba, 0x71, + 0x0c, 0xba, 0xfb, 0x78, 0x31, 0x7f, 0xe4, 0x5f, 0x20, 0xa1, 0x50, 0x88, + 0x9d, 0x12, 0xea, 0xf3, 0xbd, 0x22, 0x95, 0x15, 0x85, 0x62, 0x59, 0x42, + 0xb0, 0xc8, 0x1e, 0xfe, +}; +static const struct drbg_kat_pr_true kat4145_t = { + 4, kat4145_entropyin, kat4145_nonce, kat4145_persstr, + kat4145_entropyinpr1, kat4145_addinpr1, kat4145_entropyinpr2, + kat4145_addinpr2, kat4145_retbits +}; +static const struct drbg_kat kat4145 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4145_t +}; + +static const unsigned char kat4146_entropyin[] = { + 0x3c, 0xd8, 0xc6, 0x87, 0x88, 0x78, 0x02, 0x3f, 0xd5, 0x77, 0xf8, 0x16, + 0x96, 0xfb, 0xe6, 0x38, 0xa1, 0xac, 0xfb, 0xf0, 0xac, 0x0e, 0xf8, 0x8f, + 0x5b, 0x7d, 0x00, 0x0c, 0xe1, 0x5b, 0xaa, 0x8e, 0x8f, 0x38, 0x53, 0x26, + 0x52, 0x15, 0x71, 0x29, 0x97, 0x81, 0x60, 0x57, 0x60, 0xbe, 0x87, 0x27, +}; +static const unsigned char kat4146_nonce[] = {0}; +static const unsigned char kat4146_persstr[] = {0}; +static const unsigned char kat4146_entropyinpr1[] = { + 0xf3, 0xbf, 0x7d, 0x80, 0x70, 0x23, 0xeb, 0x81, 0x48, 0x61, 0x40, 0x51, + 0x3a, 0xec, 0xc7, 0x07, 0x85, 0x8d, 0x94, 0x41, 0x63, 0xad, 0x6b, 0xd8, + 0x74, 0xda, 0xb7, 0xb2, 0x49, 0x93, 0x21, 0xb3, 0x9f, 0xaf, 0xbe, 0x51, + 0xe1, 0x7e, 0xe9, 0x74, 0x01, 0x43, 0xdd, 0x6b, 0x40, 0x31, 0x45, 0xb8, +}; +static const unsigned char kat4146_addinpr1[] = {0}; +static const unsigned char kat4146_entropyinpr2[] = { + 0xa1, 0x7c, 0x6f, 0x90, 0xc1, 0x54, 0x4a, 0xa1, 0x57, 0x0b, 0x96, 0x12, + 0xf1, 0x82, 0x31, 0xa8, 0x52, 0xdb, 0xfc, 0xf8, 0x2c, 0x2a, 0xe6, 0xca, + 0xf7, 0xc4, 0xed, 0x49, 0x97, 0x5f, 0x54, 0x78, 0xbb, 0x43, 0xf1, 0x58, + 0x79, 0xf2, 0x77, 0x55, 0xa0, 0x94, 0xc1, 0x71, 0xda, 0x39, 0xc2, 0xc8, +}; +static const unsigned char kat4146_addinpr2[] = {0}; +static const unsigned char kat4146_retbits[] = { + 0xe9, 0x4c, 0xcd, 0x38, 0xd0, 0x67, 0x10, 0xc8, 0xa4, 0x6a, 0xf4, 0xb0, + 0x78, 0x91, 0xcc, 0xc4, 0x30, 0xe3, 0x46, 0x7f, 0x3a, 0x72, 0xe5, 0xc2, + 0xe3, 0x69, 0x3f, 0x4f, 0x8c, 0xa3, 0x93, 0x70, 0xc6, 0x16, 0x9b, 0x06, + 0x56, 0x16, 0x52, 0x76, 0x10, 0x90, 0xec, 0xca, 0x0c, 0xbf, 0xb4, 0xc8, + 0xe9, 0xe7, 0x46, 0x5d, 0x4d, 0x59, 0x81, 0xc6, 0x1f, 0xe8, 0xbc, 0x56, + 0x3f, 0xb2, 0x31, 0x29, +}; +static const struct drbg_kat_pr_true kat4146_t = { + 5, kat4146_entropyin, kat4146_nonce, kat4146_persstr, + kat4146_entropyinpr1, kat4146_addinpr1, kat4146_entropyinpr2, + kat4146_addinpr2, kat4146_retbits +}; +static const struct drbg_kat kat4146 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4146_t +}; + +static const unsigned char kat4147_entropyin[] = { + 0xc1, 0x5d, 0x56, 0x90, 0x58, 0x32, 0x4e, 0x97, 0x09, 0xcc, 0x1f, 0x9d, + 0xd0, 0x74, 0xbe, 0x18, 0x23, 0x2e, 0x77, 0xe2, 0x34, 0xf4, 0xb8, 0x16, + 0x08, 0x08, 0x99, 0xb1, 0x76, 0x22, 0x30, 0x10, 0x72, 0x80, 0xcf, 0xd6, + 0xe6, 0xb2, 0xe7, 0x86, 0x3f, 0x60, 0xa1, 0x0c, 0x9c, 0xe8, 0xa9, 0x31, +}; +static const unsigned char kat4147_nonce[] = {0}; +static const unsigned char kat4147_persstr[] = {0}; +static const unsigned char kat4147_entropyinpr1[] = { + 0x17, 0x62, 0xce, 0x5d, 0x4d, 0x06, 0xf7, 0x26, 0x32, 0x09, 0x84, 0x04, + 0xeb, 0xba, 0x2b, 0x03, 0x95, 0x86, 0xd7, 0x38, 0xca, 0x7d, 0xe8, 0x82, + 0x8c, 0x86, 0xef, 0xde, 0xca, 0x0f, 0xee, 0x90, 0x6f, 0x09, 0xfc, 0xe6, + 0x79, 0x1b, 0x1b, 0xf0, 0x80, 0x53, 0x24, 0xa7, 0xad, 0x9d, 0x29, 0xba, +}; +static const unsigned char kat4147_addinpr1[] = {0}; +static const unsigned char kat4147_entropyinpr2[] = { + 0x39, 0x4b, 0xc5, 0x94, 0xf8, 0x77, 0x22, 0xa6, 0x7e, 0x88, 0x70, 0x19, + 0x37, 0x85, 0xae, 0x43, 0x0c, 0x83, 0x54, 0x9d, 0x1c, 0xeb, 0x96, 0xa5, + 0x2a, 0x59, 0xac, 0xee, 0x68, 0xf0, 0x52, 0xf4, 0x90, 0x13, 0x3a, 0x0e, + 0x68, 0x1c, 0x78, 0xac, 0x89, 0x1e, 0xe5, 0x03, 0x57, 0x21, 0x7e, 0xd2, +}; +static const unsigned char kat4147_addinpr2[] = {0}; +static const unsigned char kat4147_retbits[] = { + 0x90, 0x95, 0xdc, 0x93, 0x3d, 0xc8, 0x98, 0x3b, 0x58, 0x32, 0x88, 0x5e, + 0x82, 0x0d, 0xbd, 0xcb, 0x25, 0xcf, 0xa0, 0x3b, 0xc5, 0x30, 0xb9, 0xfd, + 0xfb, 0xa7, 0x8b, 0x57, 0x9d, 0xd8, 0x11, 0x82, 0xeb, 0xfc, 0x44, 0x1d, + 0x0e, 0xc3, 0x00, 0xfb, 0xe9, 0x82, 0x9a, 0x88, 0xa3, 0x00, 0xb1, 0x7a, + 0x69, 0xc4, 0xe6, 0x2d, 0x0d, 0x2b, 0x54, 0x59, 0x1d, 0x14, 0x51, 0x0e, + 0x20, 0x7c, 0x82, 0x30, +}; +static const struct drbg_kat_pr_true kat4147_t = { + 6, kat4147_entropyin, kat4147_nonce, kat4147_persstr, + kat4147_entropyinpr1, kat4147_addinpr1, kat4147_entropyinpr2, + kat4147_addinpr2, kat4147_retbits +}; +static const struct drbg_kat kat4147 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4147_t +}; + +static const unsigned char kat4148_entropyin[] = { + 0x26, 0x51, 0xc9, 0x52, 0xa6, 0xa7, 0xdb, 0x3d, 0x98, 0x30, 0x96, 0x98, + 0x45, 0xe7, 0x84, 0x63, 0xa4, 0xae, 0x3f, 0x2f, 0xe6, 0x98, 0x52, 0xba, + 0x1e, 0x09, 0x16, 0x10, 0xaf, 0xc1, 0x01, 0xd1, 0x3c, 0x4e, 0x74, 0xba, + 0x94, 0xb5, 0x93, 0xbc, 0x89, 0xe1, 0x44, 0x49, 0x1a, 0x99, 0x09, 0x72, +}; +static const unsigned char kat4148_nonce[] = {0}; +static const unsigned char kat4148_persstr[] = {0}; +static const unsigned char kat4148_entropyinpr1[] = { + 0xeb, 0xed, 0x95, 0x10, 0x2a, 0x85, 0xe7, 0x71, 0xab, 0xb6, 0x1c, 0xc6, + 0xe0, 0xa1, 0x41, 0xf4, 0xc3, 0xd8, 0xf7, 0xc0, 0x5f, 0x49, 0x7e, 0xcd, + 0xa0, 0xbe, 0x8a, 0x8c, 0xb8, 0x97, 0x92, 0xe2, 0xb4, 0x67, 0xc7, 0x5e, + 0x7a, 0x9a, 0x8e, 0x70, 0xed, 0xca, 0x9f, 0xa6, 0x62, 0x29, 0x3a, 0x06, +}; +static const unsigned char kat4148_addinpr1[] = {0}; +static const unsigned char kat4148_entropyinpr2[] = { + 0xf1, 0x7b, 0x65, 0x7b, 0x75, 0x5e, 0x79, 0xab, 0xec, 0x99, 0x25, 0x5f, + 0x30, 0x19, 0x33, 0x37, 0x22, 0xfe, 0x4b, 0x3b, 0x1b, 0x67, 0x20, 0x21, + 0x3d, 0xb4, 0x42, 0x5f, 0x9c, 0xe4, 0x14, 0x6f, 0xd4, 0xfc, 0xbc, 0x94, + 0xac, 0x21, 0xf2, 0x5f, 0xfb, 0xa2, 0x40, 0x14, 0x3a, 0xae, 0x76, 0xcb, +}; +static const unsigned char kat4148_addinpr2[] = {0}; +static const unsigned char kat4148_retbits[] = { + 0xb4, 0x28, 0xa4, 0x03, 0x30, 0xf5, 0x9e, 0x22, 0xb2, 0x13, 0x97, 0xba, + 0x53, 0xf4, 0x4d, 0x30, 0x59, 0xb8, 0xf0, 0xd9, 0xb8, 0x52, 0x05, 0xc6, + 0x0a, 0x93, 0x73, 0x3f, 0xc7, 0xc9, 0x78, 0x18, 0x7e, 0x72, 0x41, 0x08, + 0x66, 0x5e, 0xd8, 0x38, 0x8b, 0xb8, 0x15, 0xe7, 0x0a, 0xfa, 0x85, 0x78, + 0xc3, 0x88, 0x9c, 0xd4, 0xac, 0x7b, 0xd1, 0x32, 0x84, 0xbf, 0x61, 0xa5, + 0x3a, 0x0e, 0x4c, 0x7e, +}; +static const struct drbg_kat_pr_true kat4148_t = { + 7, kat4148_entropyin, kat4148_nonce, kat4148_persstr, + kat4148_entropyinpr1, kat4148_addinpr1, kat4148_entropyinpr2, + kat4148_addinpr2, kat4148_retbits +}; +static const struct drbg_kat kat4148 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4148_t +}; + +static const unsigned char kat4149_entropyin[] = { + 0xa6, 0x69, 0x92, 0x9d, 0x26, 0x64, 0x2e, 0xa0, 0x45, 0xfe, 0xce, 0xd3, + 0x79, 0x69, 0x78, 0x83, 0x31, 0x7c, 0xa1, 0x76, 0xaf, 0xd4, 0x91, 0x07, + 0xd7, 0xc3, 0x2c, 0x5b, 0x0b, 0xc5, 0x75, 0xdb, 0x1b, 0xe8, 0x0d, 0x63, + 0x83, 0xac, 0x45, 0x99, 0xdb, 0x00, 0x39, 0xc3, 0x8a, 0x02, 0xec, 0xf0, +}; +static const unsigned char kat4149_nonce[] = {0}; +static const unsigned char kat4149_persstr[] = {0}; +static const unsigned char kat4149_entropyinpr1[] = { + 0x41, 0x45, 0x0c, 0x01, 0xfe, 0x58, 0x88, 0x5b, 0x7d, 0x68, 0x34, 0x8e, + 0x42, 0xcb, 0x2c, 0xcc, 0x7e, 0x37, 0x74, 0xc0, 0x91, 0xad, 0xc0, 0xd9, + 0x9b, 0xbb, 0xb9, 0x10, 0x03, 0x51, 0xcf, 0xa9, 0xd3, 0x5a, 0x55, 0xbe, + 0x74, 0xbe, 0x4c, 0x49, 0x15, 0xa7, 0xad, 0x7d, 0xfc, 0x8b, 0x75, 0x83, +}; +static const unsigned char kat4149_addinpr1[] = {0}; +static const unsigned char kat4149_entropyinpr2[] = { + 0xc5, 0x77, 0x91, 0x4f, 0xa8, 0xf2, 0x4b, 0x09, 0x9c, 0x98, 0x1b, 0xe1, + 0x02, 0x45, 0x1f, 0x8f, 0xb0, 0xf0, 0xf2, 0xf1, 0xbe, 0x92, 0x4a, 0xb0, + 0x3e, 0x1e, 0xf0, 0x38, 0x4d, 0xd2, 0x64, 0x65, 0x5e, 0x3d, 0xf8, 0x38, + 0xad, 0x8f, 0xb0, 0x69, 0x17, 0x88, 0xa7, 0xb7, 0x2d, 0x79, 0xf2, 0x6c, +}; +static const unsigned char kat4149_addinpr2[] = {0}; +static const unsigned char kat4149_retbits[] = { + 0x0b, 0x15, 0x02, 0x3e, 0xf9, 0xd9, 0x00, 0x58, 0x48, 0xb2, 0xe2, 0x7a, + 0x55, 0x7f, 0xc7, 0xa4, 0x46, 0x08, 0x1d, 0xaf, 0xc3, 0x0e, 0x95, 0x8e, + 0xfd, 0x0e, 0x96, 0x32, 0x3c, 0x3c, 0x3e, 0x44, 0xdb, 0x4c, 0xa5, 0x25, + 0xf9, 0xb0, 0x1d, 0xf8, 0x2f, 0x1f, 0xdc, 0xcb, 0x4e, 0x99, 0xcc, 0x94, + 0xd3, 0xb2, 0x69, 0x22, 0x10, 0xbb, 0xa2, 0xb7, 0xd8, 0x52, 0x02, 0xaa, + 0xec, 0xe3, 0xc5, 0x4a, +}; +static const struct drbg_kat_pr_true kat4149_t = { + 8, kat4149_entropyin, kat4149_nonce, kat4149_persstr, + kat4149_entropyinpr1, kat4149_addinpr1, kat4149_entropyinpr2, + kat4149_addinpr2, kat4149_retbits +}; +static const struct drbg_kat kat4149 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4149_t +}; + +static const unsigned char kat4150_entropyin[] = { + 0x19, 0x6c, 0xb6, 0x68, 0xa2, 0x04, 0xc3, 0x75, 0x97, 0x87, 0xa0, 0xe2, + 0x95, 0x5a, 0x0d, 0x9a, 0xa7, 0x30, 0x70, 0x62, 0x23, 0x77, 0xf8, 0x83, + 0xaf, 0xf8, 0x74, 0xbd, 0x13, 0x56, 0x32, 0xa6, 0xd5, 0x47, 0x15, 0x39, + 0x73, 0x32, 0x69, 0x4b, 0xc9, 0x2a, 0x1a, 0x71, 0x44, 0x14, 0x24, 0x44, +}; +static const unsigned char kat4150_nonce[] = {0}; +static const unsigned char kat4150_persstr[] = {0}; +static const unsigned char kat4150_entropyinpr1[] = { + 0x99, 0x8f, 0xbb, 0xb4, 0xcd, 0x51, 0xd2, 0x09, 0xe2, 0xb8, 0x03, 0x4b, + 0x24, 0xb8, 0x4e, 0xb3, 0x32, 0xb5, 0x4f, 0x00, 0x08, 0x6e, 0x04, 0x6f, + 0x79, 0x86, 0x47, 0x78, 0x63, 0x85, 0x43, 0x73, 0x4e, 0x7d, 0x50, 0x03, + 0x59, 0xfa, 0x8b, 0xbb, 0xec, 0x8c, 0x83, 0x88, 0xe4, 0xf6, 0xe9, 0x85, +}; +static const unsigned char kat4150_addinpr1[] = {0}; +static const unsigned char kat4150_entropyinpr2[] = { + 0x7a, 0x49, 0xa8, 0x18, 0xe8, 0x27, 0x35, 0x2f, 0x3f, 0x6d, 0xb3, 0x54, + 0x2c, 0xd1, 0xb9, 0x7c, 0xd7, 0xdd, 0xe5, 0xe8, 0x7a, 0x4c, 0xa5, 0x3d, + 0xf8, 0xa5, 0x9d, 0xd4, 0xea, 0x87, 0xd7, 0x57, 0x9d, 0x15, 0xe3, 0x00, + 0x47, 0x89, 0x4a, 0x7a, 0x1e, 0xed, 0x52, 0xa0, 0xe5, 0x83, 0xc9, 0x75, +}; +static const unsigned char kat4150_addinpr2[] = {0}; +static const unsigned char kat4150_retbits[] = { + 0x35, 0x95, 0xa7, 0x67, 0xe5, 0xf3, 0x89, 0x86, 0x38, 0xdb, 0x5c, 0x2f, + 0xc3, 0xa7, 0x1d, 0x24, 0xd6, 0x24, 0xd8, 0x02, 0x3e, 0x11, 0xd3, 0x3f, + 0x96, 0x9b, 0xca, 0xeb, 0xb7, 0xc8, 0x24, 0x08, 0x9b, 0x48, 0x4d, 0xb1, + 0xbd, 0xd2, 0xe7, 0x1c, 0x27, 0x50, 0x09, 0x12, 0x49, 0x72, 0xef, 0xc9, + 0x5e, 0xcd, 0x16, 0x32, 0xbd, 0xd1, 0x19, 0x90, 0xfb, 0xd6, 0x17, 0x8c, + 0xd6, 0x60, 0xc9, 0xf2, +}; +static const struct drbg_kat_pr_true kat4150_t = { + 9, kat4150_entropyin, kat4150_nonce, kat4150_persstr, + kat4150_entropyinpr1, kat4150_addinpr1, kat4150_entropyinpr2, + kat4150_addinpr2, kat4150_retbits +}; +static const struct drbg_kat kat4150 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4150_t +}; + +static const unsigned char kat4151_entropyin[] = { + 0xf3, 0xbc, 0xa9, 0x49, 0xde, 0xc6, 0xdb, 0xf8, 0x1c, 0x43, 0xd9, 0x4c, + 0x33, 0xf1, 0x86, 0x7d, 0x68, 0x99, 0xd0, 0xbe, 0xba, 0x36, 0x37, 0x60, + 0x1d, 0xec, 0xe9, 0x45, 0xf5, 0x44, 0xda, 0x71, 0xb8, 0x97, 0x1e, 0x41, + 0x52, 0xf7, 0x91, 0x37, 0xb3, 0x99, 0x5b, 0x10, 0xfa, 0x8c, 0x56, 0xd9, +}; +static const unsigned char kat4151_nonce[] = {0}; +static const unsigned char kat4151_persstr[] = {0}; +static const unsigned char kat4151_entropyinpr1[] = { + 0x68, 0x67, 0x04, 0x58, 0xfa, 0x11, 0x07, 0x63, 0x21, 0xa3, 0x3d, 0x8d, + 0xa6, 0x77, 0x1a, 0x1b, 0x1b, 0xae, 0xcf, 0x2a, 0x28, 0x91, 0xe2, 0x63, + 0xe1, 0x54, 0x39, 0x16, 0xf3, 0x8b, 0x66, 0xf5, 0x94, 0xcd, 0x3e, 0x7b, + 0xef, 0x5b, 0x97, 0x3f, 0xa3, 0x24, 0x1f, 0x04, 0xc9, 0x96, 0x4b, 0xb0, +}; +static const unsigned char kat4151_addinpr1[] = {0}; +static const unsigned char kat4151_entropyinpr2[] = { + 0xd6, 0x8e, 0xd8, 0x1c, 0xf4, 0x00, 0x87, 0x93, 0xaa, 0x70, 0xce, 0x66, + 0xab, 0x7e, 0x4c, 0x99, 0x02, 0x49, 0x01, 0x37, 0x0d, 0x16, 0x99, 0x43, + 0xbf, 0xb3, 0x66, 0x97, 0xe2, 0x09, 0x42, 0xa1, 0xc6, 0x6a, 0x23, 0x81, + 0xf4, 0x67, 0x71, 0x7b, 0x1b, 0x29, 0xec, 0x70, 0x51, 0xdf, 0x53, 0x0b, +}; +static const unsigned char kat4151_addinpr2[] = {0}; +static const unsigned char kat4151_retbits[] = { + 0xee, 0x0e, 0x7a, 0xea, 0x9b, 0xd2, 0xb5, 0x5a, 0x4f, 0x67, 0x99, 0x49, + 0xf7, 0xd7, 0x1d, 0x65, 0x3e, 0x17, 0x4c, 0x1e, 0xa2, 0x6b, 0x32, 0xab, + 0x2e, 0x6a, 0xd3, 0xc3, 0xe6, 0x56, 0x67, 0xa8, 0xe1, 0x30, 0xdc, 0x29, + 0x22, 0xb2, 0xad, 0x11, 0xd5, 0x86, 0xa6, 0xa7, 0x4a, 0x66, 0xc5, 0x27, + 0x6a, 0xc5, 0x9d, 0x8d, 0x32, 0x47, 0xb3, 0x1f, 0xb9, 0xe1, 0xc1, 0x80, + 0x20, 0x60, 0xac, 0x11, +}; +static const struct drbg_kat_pr_true kat4151_t = { + 10, kat4151_entropyin, kat4151_nonce, kat4151_persstr, + kat4151_entropyinpr1, kat4151_addinpr1, kat4151_entropyinpr2, + kat4151_addinpr2, kat4151_retbits +}; +static const struct drbg_kat kat4151 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4151_t +}; + +static const unsigned char kat4152_entropyin[] = { + 0xbc, 0x53, 0x1a, 0x04, 0x8b, 0x21, 0xb9, 0xcc, 0x49, 0x5c, 0xec, 0x60, + 0x50, 0x5e, 0x26, 0xec, 0xcd, 0x2b, 0x08, 0x4d, 0x4d, 0x73, 0x62, 0x20, + 0x20, 0x7b, 0x2b, 0xb2, 0xe1, 0x7f, 0xa5, 0x77, 0x40, 0x77, 0x62, 0x4d, + 0x48, 0x35, 0xe2, 0xc7, 0xcd, 0x86, 0x41, 0x09, 0x7f, 0x0f, 0x48, 0x58, +}; +static const unsigned char kat4152_nonce[] = {0}; +static const unsigned char kat4152_persstr[] = {0}; +static const unsigned char kat4152_entropyinpr1[] = { + 0x5d, 0x5e, 0x07, 0x2a, 0xe9, 0x67, 0xa2, 0x52, 0xe0, 0xe1, 0x95, 0x51, + 0x02, 0x88, 0x5b, 0xb7, 0x10, 0x69, 0x22, 0x7c, 0xa4, 0xe3, 0x76, 0x7e, + 0xf8, 0x43, 0x2e, 0xd7, 0x56, 0xa8, 0x6f, 0x1f, 0x6c, 0x1d, 0xb4, 0xa9, + 0xba, 0x85, 0xdb, 0xb8, 0x0f, 0xdc, 0xc8, 0x9d, 0xca, 0x4e, 0xfc, 0x97, +}; +static const unsigned char kat4152_addinpr1[] = {0}; +static const unsigned char kat4152_entropyinpr2[] = { + 0x24, 0x77, 0x7d, 0x12, 0x5d, 0x69, 0x32, 0x6c, 0x86, 0xb4, 0x96, 0xde, + 0x5e, 0x08, 0x89, 0x93, 0x33, 0x89, 0x78, 0x10, 0x54, 0x35, 0x4c, 0xc3, + 0x25, 0xfc, 0x2b, 0xdf, 0x24, 0x57, 0x71, 0x39, 0x8c, 0x62, 0xf6, 0x07, + 0x19, 0x7f, 0x07, 0x12, 0xc7, 0xb0, 0xcb, 0x35, 0xc8, 0xef, 0xe1, 0x6c, +}; +static const unsigned char kat4152_addinpr2[] = {0}; +static const unsigned char kat4152_retbits[] = { + 0x3a, 0xcd, 0x47, 0x40, 0xd7, 0x93, 0x91, 0x83, 0xde, 0xcb, 0x35, 0x60, + 0x90, 0xdc, 0xa4, 0x79, 0xb6, 0xdd, 0xf5, 0xd2, 0x17, 0x14, 0x0a, 0x90, + 0xd0, 0xe0, 0x8c, 0xa6, 0x9d, 0x30, 0x50, 0xd1, 0x88, 0x8e, 0x02, 0x67, + 0x8c, 0x0b, 0x91, 0xc9, 0x3a, 0x3f, 0xc4, 0xba, 0x7b, 0xb2, 0xee, 0x00, + 0xe3, 0x0f, 0x9f, 0x27, 0x4d, 0xe3, 0x7d, 0x61, 0xd1, 0xab, 0x2b, 0x14, + 0x00, 0xfe, 0x4d, 0x00, +}; +static const struct drbg_kat_pr_true kat4152_t = { + 11, kat4152_entropyin, kat4152_nonce, kat4152_persstr, + kat4152_entropyinpr1, kat4152_addinpr1, kat4152_entropyinpr2, + kat4152_addinpr2, kat4152_retbits +}; +static const struct drbg_kat kat4152 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4152_t +}; + +static const unsigned char kat4153_entropyin[] = { + 0x20, 0x2e, 0x62, 0x72, 0x3e, 0x11, 0x1c, 0xae, 0x1a, 0x85, 0xa0, 0x9a, + 0x44, 0x47, 0xa6, 0xa0, 0x97, 0xda, 0x5d, 0x77, 0x3d, 0xfe, 0x1f, 0xfa, + 0x0e, 0xc8, 0x26, 0x4a, 0x78, 0x25, 0xf1, 0xfe, 0xaa, 0xb9, 0xe7, 0x21, + 0xc8, 0x51, 0xa0, 0x47, 0xa9, 0x35, 0xd2, 0x9a, 0x7c, 0x8c, 0x67, 0x97, +}; +static const unsigned char kat4153_nonce[] = {0}; +static const unsigned char kat4153_persstr[] = {0}; +static const unsigned char kat4153_entropyinpr1[] = { + 0xb1, 0x7f, 0x4e, 0x20, 0x98, 0xf1, 0xbd, 0x2f, 0x12, 0xaf, 0x8a, 0x11, + 0xb7, 0x21, 0x29, 0xd5, 0xc7, 0x6c, 0xaa, 0xb3, 0x32, 0x29, 0xe4, 0x8e, + 0x61, 0x57, 0x42, 0x5d, 0xba, 0x5e, 0xea, 0x03, 0xae, 0xb7, 0xeb, 0x65, + 0x7e, 0xb0, 0xe5, 0xba, 0xa9, 0x6b, 0xbe, 0x9c, 0xb4, 0x6f, 0xbe, 0x5c, +}; +static const unsigned char kat4153_addinpr1[] = {0}; +static const unsigned char kat4153_entropyinpr2[] = { + 0x91, 0x78, 0x55, 0x9a, 0x1e, 0x8a, 0x01, 0x57, 0xa1, 0xb6, 0x5c, 0x15, + 0xb5, 0xd9, 0x2c, 0x7b, 0x36, 0x72, 0x0c, 0x06, 0x32, 0xae, 0x8f, 0xce, + 0x2c, 0x5e, 0xd4, 0x7b, 0x89, 0x48, 0xee, 0xcb, 0x3d, 0x33, 0x67, 0x20, + 0x63, 0x49, 0xd3, 0x77, 0xf0, 0x81, 0x50, 0x9f, 0x9e, 0x6d, 0xa0, 0x6e, +}; +static const unsigned char kat4153_addinpr2[] = {0}; +static const unsigned char kat4153_retbits[] = { + 0xbe, 0xa4, 0x6b, 0x2d, 0x0a, 0xe3, 0xdc, 0xbf, 0x03, 0x50, 0x2b, 0xd2, + 0xa8, 0xc9, 0x3b, 0x47, 0x14, 0x83, 0xac, 0x93, 0x29, 0x64, 0x1b, 0x1f, + 0xd0, 0x49, 0x0c, 0x21, 0x55, 0x13, 0xf5, 0xb9, 0x18, 0xbc, 0x62, 0x8f, + 0x10, 0x0c, 0x79, 0x86, 0x21, 0xfc, 0xbf, 0x8d, 0x2b, 0x02, 0x89, 0x68, + 0xd2, 0x23, 0xf4, 0xce, 0x8c, 0xa7, 0x8a, 0x19, 0x48, 0xed, 0xa7, 0x4d, + 0x5c, 0x6f, 0x78, 0x52, +}; +static const struct drbg_kat_pr_true kat4153_t = { + 12, kat4153_entropyin, kat4153_nonce, kat4153_persstr, + kat4153_entropyinpr1, kat4153_addinpr1, kat4153_entropyinpr2, + kat4153_addinpr2, kat4153_retbits +}; +static const struct drbg_kat kat4153 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4153_t +}; + +static const unsigned char kat4154_entropyin[] = { + 0xcc, 0x9f, 0xda, 0x86, 0x8f, 0x06, 0xd1, 0xed, 0x44, 0xa1, 0x82, 0x14, + 0x9e, 0xfa, 0x08, 0xe0, 0x3f, 0xfb, 0xfb, 0x86, 0xdc, 0x1d, 0xb0, 0xec, + 0xdb, 0xa5, 0x11, 0x5b, 0x27, 0x01, 0xf4, 0xca, 0x3c, 0x8c, 0x22, 0xd3, + 0xad, 0xee, 0xc1, 0x62, 0x0a, 0xca, 0x28, 0x33, 0xe5, 0x99, 0x80, 0xe0, +}; +static const unsigned char kat4154_nonce[] = {0}; +static const unsigned char kat4154_persstr[] = {0}; +static const unsigned char kat4154_entropyinpr1[] = { + 0x6a, 0xb6, 0x7d, 0xcf, 0x1b, 0x3b, 0xa9, 0xc3, 0x02, 0x1a, 0x34, 0xab, + 0xde, 0xf5, 0xa8, 0xb9, 0xe9, 0xe5, 0xee, 0x0e, 0x0b, 0x70, 0x26, 0x93, + 0x95, 0x7c, 0x4f, 0x99, 0xe8, 0xbc, 0x75, 0x0d, 0x2d, 0x0d, 0x45, 0x67, + 0x6c, 0xa0, 0x50, 0xd0, 0xad, 0x7e, 0x09, 0xa2, 0x9d, 0xa4, 0x00, 0xe6, +}; +static const unsigned char kat4154_addinpr1[] = {0}; +static const unsigned char kat4154_entropyinpr2[] = { + 0xee, 0xe6, 0x3a, 0xba, 0x80, 0x39, 0xf8, 0x88, 0x0e, 0x99, 0xcf, 0xcf, + 0x6c, 0x6d, 0x09, 0xba, 0xfd, 0x52, 0x7e, 0x4e, 0x0d, 0x1c, 0xf6, 0xf8, + 0x0d, 0xfb, 0x1d, 0xd1, 0x1e, 0xf1, 0x31, 0xba, 0xdc, 0xc3, 0xd5, 0xe9, + 0x48, 0x8e, 0xfd, 0xa8, 0x02, 0x27, 0x29, 0x46, 0x53, 0x55, 0x0d, 0x4f, +}; +static const unsigned char kat4154_addinpr2[] = {0}; +static const unsigned char kat4154_retbits[] = { + 0xd3, 0x03, 0x48, 0xaf, 0x19, 0x3f, 0x66, 0x82, 0xee, 0x34, 0x24, 0xa6, + 0xee, 0xb7, 0x79, 0x65, 0xde, 0xfe, 0x36, 0x85, 0xe8, 0x24, 0x24, 0xb6, + 0x57, 0xa5, 0x0e, 0x59, 0x79, 0xe6, 0xa1, 0x37, 0x64, 0xd3, 0xc7, 0x06, + 0x8c, 0x5e, 0x20, 0x38, 0x18, 0x99, 0xc9, 0x59, 0x6c, 0x77, 0xf9, 0xbf, + 0xee, 0x37, 0x8f, 0x22, 0xeb, 0xb9, 0x73, 0x55, 0xae, 0x27, 0x6b, 0x25, + 0x9f, 0x13, 0x0e, 0xd1, +}; +static const struct drbg_kat_pr_true kat4154_t = { + 13, kat4154_entropyin, kat4154_nonce, kat4154_persstr, + kat4154_entropyinpr1, kat4154_addinpr1, kat4154_entropyinpr2, + kat4154_addinpr2, kat4154_retbits +}; +static const struct drbg_kat kat4154 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4154_t +}; + +static const unsigned char kat4155_entropyin[] = { + 0x8b, 0x01, 0xea, 0xae, 0xfb, 0x16, 0x9d, 0x78, 0x7c, 0x39, 0xeb, 0x1d, + 0xf1, 0x75, 0x03, 0x48, 0x65, 0x07, 0x76, 0xa2, 0x53, 0xb3, 0x74, 0xff, + 0xb6, 0xd4, 0x14, 0x22, 0x3d, 0x42, 0x6e, 0x10, 0x1c, 0xc3, 0x11, 0xa8, + 0xa6, 0xc4, 0x5b, 0xe1, 0x5d, 0x4e, 0x0c, 0xe4, 0x30, 0x5e, 0x55, 0xbd, +}; +static const unsigned char kat4155_nonce[] = {0}; +static const unsigned char kat4155_persstr[] = {0}; +static const unsigned char kat4155_entropyinpr1[] = { + 0xb8, 0xef, 0x0d, 0x47, 0x80, 0x28, 0xf0, 0xc5, 0x5d, 0xd1, 0x38, 0x61, + 0x28, 0x14, 0x89, 0xe6, 0xc1, 0x24, 0x87, 0x0f, 0x0f, 0x28, 0xc8, 0xfb, + 0xe9, 0xa3, 0xce, 0x1d, 0x7d, 0x5f, 0xdd, 0x57, 0xa1, 0xce, 0x93, 0x96, + 0x42, 0xc2, 0x79, 0x81, 0xd7, 0x86, 0xa1, 0x01, 0xab, 0xb1, 0x49, 0x2c, +}; +static const unsigned char kat4155_addinpr1[] = {0}; +static const unsigned char kat4155_entropyinpr2[] = { + 0xc1, 0x26, 0x49, 0xa0, 0xf2, 0x49, 0xc7, 0xf5, 0xdd, 0xb5, 0x50, 0xeb, + 0x52, 0x7a, 0x0f, 0x72, 0x0e, 0x5e, 0xaf, 0x04, 0xe6, 0xe3, 0xb9, 0x6d, + 0xc2, 0x48, 0x81, 0xeb, 0xa1, 0x0c, 0xe4, 0x66, 0xf6, 0x7e, 0x3f, 0xe5, + 0x1a, 0x03, 0x42, 0xcb, 0x1a, 0x21, 0x92, 0xa5, 0x55, 0x79, 0x81, 0x69, +}; +static const unsigned char kat4155_addinpr2[] = {0}; +static const unsigned char kat4155_retbits[] = { + 0xd8, 0xc6, 0x3e, 0xcb, 0x23, 0xf1, 0x6e, 0xe9, 0x25, 0x28, 0x2b, 0x77, + 0x44, 0xe8, 0xcc, 0x2c, 0x2c, 0x1d, 0xeb, 0x56, 0x58, 0x1c, 0xf2, 0x71, + 0x52, 0x11, 0x8b, 0x57, 0x90, 0xcd, 0xbe, 0x68, 0x2a, 0x34, 0xd9, 0x15, + 0x23, 0xbf, 0x0c, 0x7b, 0xe4, 0xff, 0x26, 0x3a, 0xba, 0x2f, 0xfd, 0xda, + 0x35, 0xe4, 0xd3, 0x6a, 0x51, 0x22, 0x46, 0x1b, 0x89, 0xb4, 0x30, 0x69, + 0x93, 0x2b, 0x30, 0xa9, +}; +static const struct drbg_kat_pr_true kat4155_t = { + 14, kat4155_entropyin, kat4155_nonce, kat4155_persstr, + kat4155_entropyinpr1, kat4155_addinpr1, kat4155_entropyinpr2, + kat4155_addinpr2, kat4155_retbits +}; +static const struct drbg_kat kat4155 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4155_t +}; + +static const unsigned char kat4156_entropyin[] = { + 0xf8, 0x35, 0x03, 0x62, 0x2c, 0x16, 0x72, 0xd1, 0xef, 0x1a, 0xfd, 0x6f, + 0x6f, 0xf4, 0xc7, 0x32, 0x6b, 0xbe, 0x16, 0x92, 0x43, 0xcb, 0xb1, 0xe9, + 0x7d, 0x0f, 0x5d, 0x5b, 0xf2, 0x61, 0x58, 0x46, 0xd0, 0xd7, 0x2e, 0xf2, + 0x8c, 0xe6, 0x8d, 0x1b, 0xf3, 0x31, 0x0f, 0x12, 0xf2, 0xef, 0xe3, 0xbc, +}; +static const unsigned char kat4156_nonce[] = {0}; +static const unsigned char kat4156_persstr[] = {0}; +static const unsigned char kat4156_entropyinpr1[] = { + 0x9c, 0xd5, 0xd3, 0xf5, 0xc0, 0xd4, 0x55, 0x12, 0xa4, 0x38, 0x17, 0xd3, + 0x83, 0x8c, 0x2a, 0xeb, 0xfa, 0xe7, 0x37, 0xcd, 0x01, 0x2d, 0xce, 0x8f, + 0x5e, 0x6f, 0x5d, 0x07, 0x55, 0xde, 0x9f, 0xc9, 0xfe, 0xef, 0x08, 0xfa, + 0x51, 0xa7, 0x6b, 0x59, 0xba, 0x13, 0xd0, 0xce, 0x92, 0xf4, 0x92, 0x03, +}; +static const unsigned char kat4156_addinpr1[] = { + 0x3e, 0x8c, 0x11, 0xed, 0x78, 0xff, 0xce, 0xdf, 0xb8, 0xab, 0x10, 0xde, + 0x9a, 0xf5, 0x04, 0x13, 0x58, 0x25, 0x16, 0xb5, 0x32, 0xf2, 0x37, 0x64, + 0xfa, 0x5c, 0x3f, 0x35, 0x0a, 0xcf, 0xe7, 0x32, 0x60, 0x30, 0xde, 0x54, + 0x6a, 0x33, 0x47, 0xa8, 0x7d, 0xa5, 0x2e, 0x55, 0x4c, 0x2f, 0x50, 0xba, +}; +static const unsigned char kat4156_entropyinpr2[] = { + 0x5f, 0xd9, 0x19, 0xfc, 0x00, 0xae, 0x84, 0xa1, 0xa1, 0x8f, 0xd1, 0xbe, + 0xbb, 0x73, 0x17, 0x94, 0xdd, 0x43, 0x85, 0xae, 0x17, 0x8e, 0x9a, 0x3a, + 0x94, 0x34, 0x7d, 0x88, 0x87, 0x91, 0x9c, 0xd7, 0xb6, 0x5e, 0x7a, 0x83, + 0xce, 0xb5, 0x05, 0xe5, 0xbd, 0xb1, 0x0a, 0x43, 0x77, 0x45, 0x4f, 0xc1, +}; +static const unsigned char kat4156_addinpr2[] = { + 0x43, 0xcb, 0x28, 0x65, 0x50, 0x71, 0x3e, 0xb3, 0x5b, 0xb2, 0xb4, 0x1d, + 0x8c, 0xca, 0x7b, 0x7e, 0xd6, 0x04, 0x75, 0xfe, 0xac, 0x5b, 0xf1, 0x7c, + 0xe1, 0x47, 0x04, 0xf0, 0x5b, 0x2b, 0xec, 0xa9, 0x60, 0xce, 0xeb, 0xae, + 0xbb, 0x2c, 0xb5, 0x98, 0x0e, 0xc0, 0x0f, 0xc3, 0xb5, 0xd9, 0x5f, 0x59, +}; +static const unsigned char kat4156_retbits[] = { + 0xeb, 0x04, 0x39, 0xae, 0xfb, 0x3d, 0x78, 0x1a, 0x6b, 0x68, 0x70, 0x8b, + 0x28, 0xd9, 0xe0, 0x0d, 0x4b, 0xc3, 0xe9, 0xec, 0x6e, 0xcd, 0x46, 0x89, + 0x18, 0x77, 0x3e, 0xad, 0x3e, 0xb0, 0x74, 0x98, 0x54, 0xd5, 0x29, 0xab, + 0x17, 0x76, 0x37, 0x40, 0x1a, 0xe9, 0x55, 0xc8, 0x10, 0x4d, 0xdc, 0x8e, + 0xb0, 0x99, 0xf4, 0x1c, 0x7c, 0x30, 0x6a, 0x2f, 0x76, 0xa9, 0x50, 0xc8, + 0x12, 0xc1, 0xf8, 0x18, +}; +static const struct drbg_kat_pr_true kat4156_t = { + 0, kat4156_entropyin, kat4156_nonce, kat4156_persstr, + kat4156_entropyinpr1, kat4156_addinpr1, kat4156_entropyinpr2, + kat4156_addinpr2, kat4156_retbits +}; +static const struct drbg_kat kat4156 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4156_t +}; + +static const unsigned char kat4157_entropyin[] = { + 0xb9, 0xa3, 0xf3, 0x5b, 0xcb, 0x0e, 0x13, 0xc3, 0x47, 0x04, 0xae, 0xbb, + 0xe4, 0x2c, 0xd1, 0xae, 0x10, 0x32, 0xc0, 0x47, 0x7e, 0xe6, 0xa4, 0xd5, + 0x96, 0x6c, 0x65, 0x36, 0x04, 0x4c, 0xa0, 0xfa, 0xc9, 0x6c, 0x2d, 0x97, + 0xc3, 0xd4, 0x1a, 0x2f, 0x64, 0x80, 0xca, 0xc1, 0x14, 0x31, 0xb1, 0xb4, +}; +static const unsigned char kat4157_nonce[] = {0}; +static const unsigned char kat4157_persstr[] = {0}; +static const unsigned char kat4157_entropyinpr1[] = { + 0x86, 0xea, 0xdd, 0xcb, 0xb9, 0x93, 0x53, 0x67, 0x71, 0x30, 0x3d, 0x8a, + 0x63, 0x2e, 0x58, 0xf6, 0x22, 0xec, 0x43, 0x19, 0x84, 0x4c, 0x8b, 0xf1, + 0xb1, 0x12, 0x04, 0x9a, 0x6f, 0x66, 0x9e, 0xae, 0x59, 0xd3, 0x88, 0x84, + 0xc9, 0xc7, 0xe8, 0x29, 0x75, 0xd0, 0x24, 0x61, 0xc1, 0x7f, 0x74, 0x27, +}; +static const unsigned char kat4157_addinpr1[] = { + 0x45, 0x25, 0x84, 0x3c, 0x9e, 0xac, 0x44, 0x71, 0x1e, 0x3f, 0xda, 0x2f, + 0x49, 0x88, 0x94, 0x04, 0xaf, 0x49, 0xe3, 0x7c, 0x3e, 0x50, 0xd8, 0x55, + 0xf6, 0x1d, 0xe7, 0xe8, 0x20, 0x38, 0x0a, 0x8b, 0x07, 0x40, 0x7c, 0x79, + 0x85, 0x5c, 0xda, 0xf2, 0x67, 0x85, 0xab, 0x75, 0x7e, 0xd8, 0xa4, 0x36, +}; +static const unsigned char kat4157_entropyinpr2[] = { + 0x91, 0x8e, 0x0c, 0x9d, 0xac, 0xe5, 0xc5, 0x9b, 0x90, 0x79, 0x73, 0x42, + 0x98, 0x80, 0x34, 0xe1, 0xd8, 0x36, 0x18, 0x53, 0x29, 0x82, 0x20, 0xb8, + 0xc0, 0x5c, 0x85, 0x05, 0x4b, 0x9c, 0x17, 0x0f, 0x96, 0x3d, 0x6d, 0xdb, + 0xf4, 0xc7, 0x92, 0xd1, 0x61, 0x50, 0x01, 0x30, 0xf8, 0x2e, 0xc5, 0x4c, +}; +static const unsigned char kat4157_addinpr2[] = { + 0x87, 0x1a, 0x2a, 0x3a, 0xab, 0x55, 0xe1, 0xe4, 0xfa, 0x72, 0xcc, 0xe2, + 0x88, 0x38, 0x9d, 0x58, 0x41, 0x6e, 0xc2, 0xaa, 0x37, 0xd3, 0x0d, 0x5f, + 0x1c, 0x68, 0x1f, 0x62, 0x5e, 0x99, 0xdd, 0x64, 0x90, 0x78, 0xb6, 0x00, + 0x3c, 0x9f, 0x8f, 0x99, 0xda, 0xf1, 0xfd, 0x02, 0x93, 0x13, 0x49, 0x59, +}; +static const unsigned char kat4157_retbits[] = { + 0x36, 0x6e, 0x6a, 0x40, 0x5c, 0xa2, 0xd7, 0x94, 0x1a, 0xd3, 0x29, 0x12, + 0x4f, 0x95, 0xfa, 0x6b, 0x15, 0x7d, 0x5b, 0x57, 0x3f, 0x4c, 0x8c, 0x8c, + 0x7b, 0x6b, 0xcd, 0x1e, 0x39, 0xf9, 0x7f, 0xb8, 0x04, 0xff, 0xa1, 0x6c, + 0x37, 0x98, 0x44, 0x0c, 0x75, 0xd2, 0x9a, 0x0f, 0x9b, 0xbf, 0x02, 0xa4, + 0x51, 0x8f, 0x45, 0x44, 0x4a, 0xc8, 0xe3, 0xf8, 0xeb, 0x8b, 0xdf, 0x2e, + 0xdd, 0xba, 0x26, 0xb0, +}; +static const struct drbg_kat_pr_true kat4157_t = { + 1, kat4157_entropyin, kat4157_nonce, kat4157_persstr, + kat4157_entropyinpr1, kat4157_addinpr1, kat4157_entropyinpr2, + kat4157_addinpr2, kat4157_retbits +}; +static const struct drbg_kat kat4157 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4157_t +}; + +static const unsigned char kat4158_entropyin[] = { + 0xa9, 0x54, 0xdf, 0xab, 0x71, 0xe7, 0x70, 0x4e, 0x3e, 0x65, 0xd7, 0xf0, + 0x91, 0xe4, 0xdb, 0x82, 0x11, 0xbf, 0x7b, 0x48, 0x3d, 0x5c, 0x01, 0x53, + 0xc3, 0xbf, 0xd2, 0x0e, 0xfa, 0x79, 0x1a, 0x45, 0x66, 0x38, 0xcd, 0xb4, + 0x24, 0xfa, 0x3b, 0xf8, 0x2a, 0x61, 0xab, 0xe3, 0x71, 0x68, 0x7f, 0xd9, +}; +static const unsigned char kat4158_nonce[] = {0}; +static const unsigned char kat4158_persstr[] = {0}; +static const unsigned char kat4158_entropyinpr1[] = { + 0x4d, 0x64, 0xa5, 0x6e, 0xde, 0x43, 0x3d, 0x08, 0xf7, 0xb8, 0x8c, 0x97, + 0x26, 0x9e, 0x97, 0x13, 0x6b, 0x59, 0xc7, 0x90, 0x67, 0x0b, 0x8a, 0x86, + 0xa4, 0x85, 0x15, 0xe7, 0x08, 0xbb, 0x75, 0x7a, 0x86, 0xe6, 0x06, 0xb3, + 0x7f, 0x9f, 0xe6, 0xe8, 0xbb, 0xcf, 0x00, 0xa9, 0x34, 0xf3, 0xd6, 0xb0, +}; +static const unsigned char kat4158_addinpr1[] = { + 0xe3, 0x0b, 0x6e, 0xca, 0x01, 0xa4, 0x0d, 0xf9, 0xb3, 0x31, 0x72, 0xd4, + 0x7a, 0x1c, 0xd2, 0xd5, 0xac, 0x0b, 0x4c, 0x7a, 0x9e, 0xbe, 0x19, 0xf2, + 0x4d, 0xf0, 0x9d, 0xb7, 0x1c, 0x4f, 0x9e, 0x1e, 0xb0, 0x27, 0xc4, 0x93, + 0x03, 0xac, 0x60, 0x56, 0x31, 0x6a, 0xfc, 0x66, 0x2e, 0x63, 0xee, 0x3c, +}; +static const unsigned char kat4158_entropyinpr2[] = { + 0x57, 0xc5, 0xd9, 0x09, 0x7e, 0x83, 0x09, 0x1a, 0x7e, 0xdc, 0x14, 0x32, + 0xe2, 0xa6, 0x6c, 0xa9, 0x89, 0xd4, 0x38, 0x4f, 0x84, 0x17, 0x07, 0xc7, + 0x06, 0x72, 0xcd, 0xc1, 0x82, 0xbb, 0x50, 0xef, 0x98, 0xd6, 0xa2, 0xdb, + 0x10, 0x90, 0x92, 0x78, 0xf4, 0xb7, 0x1d, 0x8b, 0xdf, 0xee, 0x08, 0x05, +}; +static const unsigned char kat4158_addinpr2[] = { + 0xef, 0x38, 0x3a, 0xb2, 0x03, 0x53, 0xec, 0xac, 0xeb, 0x94, 0xb7, 0xb9, + 0xb2, 0x89, 0x1a, 0x00, 0xe3, 0xc0, 0xaa, 0x1d, 0x85, 0xa3, 0xff, 0x3e, + 0x66, 0x8b, 0x73, 0x2d, 0x49, 0xba, 0xc7, 0x30, 0x18, 0x52, 0x21, 0x84, + 0xc3, 0x87, 0x3c, 0xf7, 0x4c, 0x30, 0xa2, 0x39, 0x5b, 0xb9, 0x82, 0x9d, +}; +static const unsigned char kat4158_retbits[] = { + 0xf7, 0x0a, 0x0f, 0xa2, 0x90, 0x0b, 0x38, 0xdd, 0x09, 0x62, 0x3b, 0x78, + 0x75, 0xbd, 0x2c, 0xcb, 0x32, 0xe4, 0x0e, 0x14, 0x6a, 0x8b, 0x46, 0xc3, + 0x05, 0x2a, 0x3c, 0x84, 0xce, 0x3c, 0x90, 0x46, 0xec, 0xbc, 0xa2, 0x89, + 0x14, 0x56, 0x70, 0x22, 0xea, 0xa1, 0x1d, 0x59, 0xe1, 0xb8, 0x11, 0x61, + 0xa7, 0x9a, 0xae, 0x7c, 0xff, 0x78, 0x7b, 0x9d, 0x51, 0x00, 0xf7, 0x8f, + 0x98, 0xa8, 0x00, 0x0c, +}; +static const struct drbg_kat_pr_true kat4158_t = { + 2, kat4158_entropyin, kat4158_nonce, kat4158_persstr, + kat4158_entropyinpr1, kat4158_addinpr1, kat4158_entropyinpr2, + kat4158_addinpr2, kat4158_retbits +}; +static const struct drbg_kat kat4158 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4158_t +}; + +static const unsigned char kat4159_entropyin[] = { + 0x1f, 0x07, 0xb9, 0xde, 0x97, 0x08, 0xc9, 0x1c, 0x2f, 0x95, 0x01, 0x71, + 0xd3, 0x83, 0xea, 0x93, 0x55, 0xd7, 0x14, 0xcd, 0xbd, 0x0d, 0x85, 0xaf, + 0x1c, 0xe4, 0x30, 0xf6, 0x7f, 0x7d, 0x48, 0x3e, 0x0e, 0x31, 0x18, 0x93, + 0x4f, 0x4c, 0xf0, 0x3c, 0xc8, 0xf0, 0x5c, 0xe0, 0x6c, 0xbc, 0x40, 0x7b, +}; +static const unsigned char kat4159_nonce[] = {0}; +static const unsigned char kat4159_persstr[] = {0}; +static const unsigned char kat4159_entropyinpr1[] = { + 0x20, 0x6b, 0x22, 0xc1, 0xe4, 0x2b, 0x38, 0x26, 0x94, 0x92, 0x28, 0xa4, + 0x4c, 0x4a, 0x5e, 0xbe, 0x8c, 0x0f, 0x50, 0xeb, 0x48, 0xff, 0xa9, 0x08, + 0x10, 0x89, 0x7b, 0x2e, 0x5c, 0xf9, 0xe9, 0x89, 0x32, 0x09, 0x0e, 0xe5, + 0xd8, 0x01, 0x41, 0x93, 0x77, 0x57, 0xbc, 0xe3, 0xbc, 0x36, 0x8f, 0x51, +}; +static const unsigned char kat4159_addinpr1[] = { + 0x68, 0x45, 0x76, 0x77, 0xf6, 0xad, 0x0c, 0x60, 0x4f, 0xe9, 0x7c, 0x57, + 0x2f, 0xed, 0x97, 0xbd, 0x83, 0xdd, 0xcd, 0x95, 0xaa, 0x0e, 0x77, 0xd5, + 0x6c, 0x67, 0x11, 0xe6, 0x48, 0x1a, 0x13, 0x7c, 0x48, 0x96, 0x61, 0x32, + 0xc4, 0x95, 0x4e, 0x07, 0x9a, 0xd9, 0x4e, 0x90, 0xc9, 0x79, 0x6f, 0xf8, +}; +static const unsigned char kat4159_entropyinpr2[] = { + 0xbd, 0x50, 0xed, 0xbc, 0x9b, 0x24, 0x53, 0x6d, 0x6c, 0x00, 0xa5, 0x57, + 0x65, 0x15, 0xe4, 0xbb, 0x7d, 0x8c, 0x9b, 0xd4, 0xd5, 0x98, 0x8e, 0x50, + 0xb8, 0xe6, 0x3d, 0xe7, 0xec, 0x72, 0x55, 0x6b, 0x51, 0xca, 0xde, 0xea, + 0x2a, 0xf5, 0x4d, 0x48, 0x89, 0xe6, 0x89, 0x1c, 0x35, 0xcb, 0xaa, 0xf9, +}; +static const unsigned char kat4159_addinpr2[] = { + 0x21, 0x37, 0xea, 0xcd, 0xf5, 0xce, 0x18, 0x34, 0x98, 0x40, 0xae, 0xb9, + 0x3d, 0x12, 0xe6, 0x45, 0x02, 0xce, 0xa3, 0xdc, 0xf7, 0xe7, 0xd1, 0xd8, + 0xb4, 0xc3, 0x39, 0x8c, 0xbc, 0x95, 0xb4, 0xef, 0xd2, 0xba, 0x39, 0xaf, + 0xd5, 0x1a, 0xd6, 0xf1, 0xf8, 0xfb, 0xec, 0xa7, 0x7a, 0xe9, 0x60, 0xa9, +}; +static const unsigned char kat4159_retbits[] = { + 0x62, 0x7b, 0xaa, 0x50, 0x47, 0x94, 0x4b, 0xf8, 0x24, 0x96, 0x42, 0xe6, + 0x25, 0xdc, 0xf8, 0xc4, 0x4f, 0x12, 0x8f, 0x43, 0x9e, 0xd2, 0xe7, 0xa0, + 0x88, 0x13, 0x49, 0x8a, 0x0a, 0x4f, 0xce, 0x98, 0x2a, 0x95, 0x58, 0xf6, + 0x7c, 0xeb, 0x0e, 0x4a, 0x55, 0x05, 0x63, 0xde, 0xbf, 0x26, 0xc7, 0x35, + 0xa3, 0x6e, 0x80, 0xdb, 0x79, 0x0a, 0xfb, 0xb4, 0xfb, 0xf8, 0x36, 0x9b, + 0x16, 0x30, 0x86, 0xf5, +}; +static const struct drbg_kat_pr_true kat4159_t = { + 3, kat4159_entropyin, kat4159_nonce, kat4159_persstr, + kat4159_entropyinpr1, kat4159_addinpr1, kat4159_entropyinpr2, + kat4159_addinpr2, kat4159_retbits +}; +static const struct drbg_kat kat4159 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4159_t +}; + +static const unsigned char kat4160_entropyin[] = { + 0xc1, 0x66, 0x9a, 0x43, 0x01, 0x22, 0xe0, 0x85, 0x6a, 0xee, 0x6b, 0x32, + 0xd0, 0x81, 0xfc, 0x83, 0xa0, 0x3c, 0x06, 0x1f, 0x6d, 0x24, 0xe8, 0x4b, + 0xef, 0x76, 0xb9, 0x5c, 0xba, 0xaa, 0x26, 0xed, 0xbc, 0xfe, 0xda, 0xe0, + 0x5c, 0xc0, 0x84, 0xf2, 0xaa, 0x06, 0x68, 0xfe, 0x0d, 0x47, 0xb7, 0x2a, +}; +static const unsigned char kat4160_nonce[] = {0}; +static const unsigned char kat4160_persstr[] = {0}; +static const unsigned char kat4160_entropyinpr1[] = { + 0x9e, 0x86, 0x3d, 0xd5, 0x46, 0xe8, 0x38, 0x52, 0xbd, 0x71, 0x04, 0x7d, + 0x82, 0x99, 0x37, 0x88, 0xe1, 0x61, 0xde, 0x88, 0xdf, 0xc3, 0x11, 0x3b, + 0xc7, 0x47, 0x4e, 0xc7, 0x83, 0x76, 0x25, 0x99, 0xf5, 0xed, 0xf3, 0x80, + 0xff, 0x25, 0xa2, 0x31, 0x22, 0x6a, 0x9d, 0xd5, 0x1f, 0x32, 0xf5, 0xdd, +}; +static const unsigned char kat4160_addinpr1[] = { + 0x78, 0x9e, 0x64, 0xd0, 0x0a, 0x42, 0xc5, 0xde, 0xa4, 0xdc, 0x98, 0x0a, + 0xa3, 0x24, 0xcd, 0xbe, 0x63, 0xaa, 0x3f, 0x95, 0xef, 0x64, 0x14, 0x07, + 0x0b, 0x59, 0x05, 0x4b, 0x1b, 0x2a, 0x33, 0x24, 0x5b, 0x9b, 0xdd, 0xf7, + 0xba, 0x0b, 0x59, 0xec, 0x08, 0xe0, 0x10, 0xdb, 0x75, 0xcc, 0x69, 0x5c, +}; +static const unsigned char kat4160_entropyinpr2[] = { + 0xa9, 0xdd, 0x0f, 0x23, 0x1b, 0x5f, 0x10, 0xcd, 0x4a, 0x0b, 0x17, 0xb0, + 0x9e, 0x94, 0xa9, 0x38, 0xe5, 0xb4, 0x40, 0x14, 0x96, 0x02, 0xf0, 0xab, + 0x77, 0x03, 0x34, 0x61, 0x24, 0xe8, 0xbd, 0x3a, 0x4a, 0xdd, 0xe9, 0x6c, + 0x84, 0xee, 0xd0, 0xc8, 0x73, 0x35, 0xfd, 0x75, 0xb1, 0x79, 0x62, 0x3c, +}; +static const unsigned char kat4160_addinpr2[] = { + 0x51, 0xb5, 0x3a, 0x5a, 0x96, 0xf3, 0x1e, 0x75, 0x0f, 0x2d, 0x9f, 0x04, + 0x74, 0xce, 0x3e, 0x75, 0x2c, 0xbb, 0x7c, 0x10, 0x19, 0x9b, 0xc5, 0x22, + 0xa0, 0xe7, 0x9e, 0xba, 0x07, 0xd7, 0x70, 0x91, 0x24, 0x27, 0x91, 0xf6, + 0x41, 0x71, 0x72, 0x95, 0x6c, 0x23, 0x97, 0xde, 0xa7, 0xe4, 0x25, 0xbf, +}; +static const unsigned char kat4160_retbits[] = { + 0x38, 0xc4, 0x43, 0xf7, 0x8f, 0x55, 0xa2, 0x47, 0xd5, 0x74, 0x12, 0x31, + 0xbb, 0x9c, 0x23, 0x3d, 0xdd, 0xb7, 0x78, 0xaf, 0x41, 0x2b, 0xc3, 0xe8, + 0xfc, 0x4d, 0xde, 0x0c, 0x88, 0x4c, 0x0a, 0xbb, 0x6b, 0x67, 0x43, 0xab, + 0x23, 0xe7, 0xb7, 0x7a, 0xed, 0x59, 0xe4, 0xe7, 0xd8, 0x0f, 0x36, 0x18, + 0x1e, 0xeb, 0xc0, 0xef, 0xf3, 0x98, 0x47, 0x71, 0x14, 0x69, 0x83, 0xde, + 0x58, 0x2d, 0xb6, 0x5a, +}; +static const struct drbg_kat_pr_true kat4160_t = { + 4, kat4160_entropyin, kat4160_nonce, kat4160_persstr, + kat4160_entropyinpr1, kat4160_addinpr1, kat4160_entropyinpr2, + kat4160_addinpr2, kat4160_retbits +}; +static const struct drbg_kat kat4160 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4160_t +}; + +static const unsigned char kat4161_entropyin[] = { + 0x80, 0x01, 0x53, 0xc9, 0x99, 0xab, 0x5e, 0x4f, 0x68, 0x02, 0x4e, 0xa7, + 0x9b, 0xdf, 0xdf, 0xb7, 0xfb, 0x63, 0xe6, 0xb6, 0xaf, 0xbc, 0xd0, 0xe2, + 0xa6, 0x92, 0x73, 0x5e, 0x61, 0xc6, 0x55, 0xbf, 0x18, 0x42, 0x76, 0x53, + 0x2f, 0xe3, 0xf6, 0xe6, 0x8c, 0x4e, 0x20, 0x04, 0x0d, 0x99, 0x29, 0x19, +}; +static const unsigned char kat4161_nonce[] = {0}; +static const unsigned char kat4161_persstr[] = {0}; +static const unsigned char kat4161_entropyinpr1[] = { + 0xc2, 0xfc, 0xaf, 0x92, 0x71, 0xcf, 0x85, 0x38, 0xa5, 0x5b, 0x0c, 0x32, + 0x06, 0x13, 0xb2, 0xbe, 0xb7, 0x77, 0xf1, 0x29, 0x00, 0x7e, 0xb1, 0x46, + 0x2e, 0xd3, 0xac, 0x9a, 0x96, 0x53, 0xb5, 0xac, 0x10, 0x6b, 0x38, 0x5e, + 0x44, 0xb4, 0x0a, 0xc0, 0x2c, 0x3c, 0x5b, 0x0e, 0x22, 0xec, 0x64, 0x7d, +}; +static const unsigned char kat4161_addinpr1[] = { + 0x9f, 0x40, 0x47, 0x4b, 0x7f, 0x3c, 0x6f, 0xc8, 0xd3, 0x14, 0x2b, 0x1d, + 0x6e, 0x98, 0x08, 0xfa, 0xe8, 0x7b, 0x2d, 0xe0, 0xa1, 0xb0, 0xca, 0xe7, + 0x06, 0x0f, 0x5d, 0xc9, 0x1a, 0x3e, 0xab, 0x85, 0x26, 0x50, 0x86, 0x25, + 0x24, 0x68, 0x60, 0x29, 0xcf, 0xcf, 0x22, 0x30, 0x71, 0x24, 0x94, 0xd2, +}; +static const unsigned char kat4161_entropyinpr2[] = { + 0xb8, 0x2e, 0xa6, 0x6b, 0xe4, 0x7b, 0xc7, 0x14, 0x27, 0x77, 0x77, 0x89, + 0xea, 0x29, 0xb8, 0xae, 0x82, 0x9a, 0x09, 0xe7, 0x9d, 0x38, 0x8d, 0x3e, + 0x66, 0x8a, 0xd7, 0xf6, 0xe0, 0x43, 0x2b, 0x8c, 0x9f, 0xd5, 0xe1, 0x7a, + 0x26, 0xb3, 0xd3, 0x0d, 0xe9, 0xa0, 0x29, 0x01, 0x66, 0x2f, 0x1e, 0xae, +}; +static const unsigned char kat4161_addinpr2[] = { + 0xdb, 0x0e, 0x7c, 0x08, 0xff, 0xb1, 0xc3, 0x7a, 0xfc, 0x30, 0xc6, 0xfb, + 0xba, 0xb9, 0xfe, 0xf9, 0x49, 0x23, 0x8c, 0xde, 0xc7, 0x75, 0xbc, 0x06, + 0x67, 0xbc, 0xe1, 0xf7, 0xa5, 0x6d, 0x1a, 0x2c, 0xa0, 0xa0, 0x08, 0x85, + 0x9d, 0x6a, 0xb7, 0x5f, 0x87, 0x8a, 0x6b, 0x00, 0xa9, 0xe5, 0xe1, 0x52, +}; +static const unsigned char kat4161_retbits[] = { + 0x80, 0xae, 0x6e, 0x76, 0xfa, 0x96, 0x76, 0x5f, 0xec, 0x13, 0x4f, 0x92, + 0xbe, 0x9c, 0x1b, 0xf7, 0x81, 0x51, 0x88, 0xf8, 0x86, 0xba, 0xb7, 0x55, + 0xe6, 0x17, 0xf0, 0x17, 0x4b, 0xe4, 0xfb, 0x00, 0xbb, 0x19, 0xb4, 0x66, + 0xe3, 0x53, 0xe2, 0xe1, 0x42, 0x5c, 0x4c, 0xbe, 0x6e, 0xb0, 0x9a, 0x65, + 0xce, 0xdd, 0xc6, 0x25, 0xaa, 0x00, 0xb7, 0x3b, 0xd2, 0x0e, 0x70, 0x7e, + 0x0c, 0x21, 0x57, 0xd8, +}; +static const struct drbg_kat_pr_true kat4161_t = { + 5, kat4161_entropyin, kat4161_nonce, kat4161_persstr, + kat4161_entropyinpr1, kat4161_addinpr1, kat4161_entropyinpr2, + kat4161_addinpr2, kat4161_retbits +}; +static const struct drbg_kat kat4161 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4161_t +}; + +static const unsigned char kat4162_entropyin[] = { + 0xe0, 0x74, 0xb1, 0xfc, 0x41, 0x34, 0xff, 0x8d, 0xef, 0x22, 0x4b, 0xed, + 0xb7, 0x78, 0xc3, 0x3f, 0xa5, 0x74, 0x75, 0x97, 0xae, 0x2a, 0x4d, 0x3c, + 0x1a, 0xd0, 0x95, 0xd3, 0x3b, 0x06, 0x9d, 0x49, 0x71, 0x77, 0xa4, 0x4f, + 0x93, 0x2b, 0x0d, 0xdc, 0xa4, 0x9f, 0x71, 0xce, 0x8d, 0x8a, 0x32, 0x41, +}; +static const unsigned char kat4162_nonce[] = {0}; +static const unsigned char kat4162_persstr[] = {0}; +static const unsigned char kat4162_entropyinpr1[] = { + 0x02, 0x26, 0x1c, 0xa6, 0xa6, 0xb2, 0x71, 0xef, 0xd1, 0xa7, 0xe6, 0x14, + 0xbe, 0xf8, 0xa8, 0x02, 0x42, 0x7c, 0x9c, 0x1e, 0x53, 0x60, 0x92, 0x12, + 0xb2, 0xbe, 0xb9, 0x2b, 0xad, 0x8b, 0x7d, 0xf7, 0xae, 0x3f, 0x73, 0x3b, + 0xcc, 0x12, 0xde, 0x45, 0x89, 0x00, 0xa2, 0xbe, 0xba, 0x17, 0x1f, 0xc6, +}; +static const unsigned char kat4162_addinpr1[] = { + 0x4a, 0x43, 0x27, 0xda, 0xf2, 0xec, 0x67, 0x5d, 0xd6, 0xb0, 0x8c, 0x21, + 0x13, 0x6c, 0xa7, 0x20, 0x49, 0x5d, 0x95, 0x08, 0x01, 0xbe, 0x4c, 0x50, + 0x34, 0xac, 0x25, 0x90, 0x97, 0x51, 0x13, 0x2a, 0xcc, 0xb3, 0x35, 0xea, + 0x47, 0xb9, 0x5c, 0xf2, 0x87, 0xd2, 0x6d, 0x29, 0x6e, 0xa5, 0x75, 0x1b, +}; +static const unsigned char kat4162_entropyinpr2[] = { + 0x95, 0x93, 0x64, 0x8b, 0xae, 0xfb, 0xa0, 0x50, 0x60, 0x15, 0xd6, 0x62, + 0x22, 0x5a, 0xe5, 0xa6, 0x0c, 0xb2, 0x17, 0xb1, 0x14, 0xb2, 0x4a, 0xd8, + 0x20, 0x10, 0x25, 0x81, 0x2a, 0x22, 0xc1, 0x13, 0xf6, 0x87, 0x1d, 0xf2, + 0x21, 0xc2, 0x2b, 0xcb, 0x28, 0xe2, 0xdd, 0xd2, 0x38, 0xab, 0x56, 0x70, +}; +static const unsigned char kat4162_addinpr2[] = { + 0xc2, 0x16, 0xb8, 0xde, 0x28, 0x48, 0x14, 0x6f, 0x52, 0x70, 0x16, 0x0f, + 0xd0, 0x0b, 0x2e, 0x23, 0xf6, 0x7e, 0xdb, 0xd4, 0x99, 0xfb, 0x01, 0x2d, + 0x6b, 0x95, 0x06, 0x05, 0xed, 0x0e, 0x2e, 0x4f, 0x62, 0x56, 0xe2, 0x7e, + 0xc7, 0xec, 0x02, 0x10, 0xeb, 0x5e, 0x26, 0x98, 0x40, 0xf6, 0x33, 0xb1, +}; +static const unsigned char kat4162_retbits[] = { + 0x1b, 0xed, 0xa2, 0x0b, 0x86, 0x9b, 0x95, 0x19, 0xd2, 0xc8, 0xeb, 0x72, + 0xef, 0xc6, 0xca, 0xdd, 0x3a, 0xb6, 0xd2, 0xf1, 0xcc, 0xff, 0x72, 0x96, + 0x09, 0x06, 0x3b, 0x81, 0x53, 0x4a, 0x2c, 0x74, 0x2a, 0xa5, 0x2c, 0x57, + 0xc2, 0x0a, 0x56, 0x4d, 0xa0, 0x10, 0x7c, 0xae, 0xe5, 0xaf, 0xec, 0x23, + 0x2a, 0x20, 0xe2, 0xec, 0x43, 0x79, 0xac, 0x7c, 0x0f, 0xac, 0x4c, 0x83, + 0xa6, 0x41, 0xc2, 0xbf, +}; +static const struct drbg_kat_pr_true kat4162_t = { + 6, kat4162_entropyin, kat4162_nonce, kat4162_persstr, + kat4162_entropyinpr1, kat4162_addinpr1, kat4162_entropyinpr2, + kat4162_addinpr2, kat4162_retbits +}; +static const struct drbg_kat kat4162 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4162_t +}; + +static const unsigned char kat4163_entropyin[] = { + 0xeb, 0x7f, 0x53, 0xf4, 0xc9, 0x91, 0xa9, 0x6a, 0x01, 0xcc, 0x70, 0x58, + 0xca, 0x91, 0x27, 0x30, 0x73, 0xfe, 0xc7, 0xd5, 0x7f, 0x6a, 0x4a, 0xd8, + 0x6c, 0xcb, 0x0a, 0xc3, 0x32, 0x00, 0x1b, 0xe9, 0x55, 0xe8, 0xf3, 0x02, + 0x1d, 0xa9, 0x52, 0x43, 0x90, 0x7f, 0xb0, 0xf1, 0x75, 0xb9, 0x1f, 0x88, +}; +static const unsigned char kat4163_nonce[] = {0}; +static const unsigned char kat4163_persstr[] = {0}; +static const unsigned char kat4163_entropyinpr1[] = { + 0x8b, 0xa9, 0xb8, 0x14, 0x5d, 0xc3, 0xad, 0x9c, 0x48, 0xfa, 0xa8, 0x4c, + 0x6d, 0x8b, 0x17, 0x72, 0x0e, 0x85, 0xfa, 0xda, 0x42, 0xbb, 0x02, 0xc9, + 0xf8, 0xd5, 0x0b, 0x65, 0x41, 0xc7, 0x4b, 0x6a, 0x27, 0x5f, 0x59, 0xcf, + 0x51, 0xd0, 0x16, 0x24, 0x42, 0x49, 0xb8, 0xfc, 0x56, 0xfe, 0x95, 0x35, +}; +static const unsigned char kat4163_addinpr1[] = { + 0x00, 0x2f, 0xff, 0x2d, 0x34, 0xac, 0x5c, 0x29, 0x87, 0xe6, 0x9d, 0x27, + 0xa5, 0x03, 0x76, 0x6d, 0x16, 0xd4, 0x2f, 0xfc, 0xde, 0x7b, 0x16, 0xaf, + 0x1e, 0x6e, 0x84, 0x47, 0x64, 0xd3, 0xfa, 0x73, 0xf0, 0xff, 0xda, 0x37, + 0x69, 0x8f, 0x36, 0x48, 0x67, 0x28, 0x6a, 0x37, 0xad, 0x29, 0x73, 0xed, +}; +static const unsigned char kat4163_entropyinpr2[] = { + 0xdf, 0x2a, 0x8e, 0xf4, 0x50, 0xa4, 0x73, 0x77, 0x78, 0x5b, 0xf5, 0x58, + 0x6b, 0x50, 0x67, 0x98, 0x16, 0xc6, 0xa3, 0xdb, 0x9a, 0x7b, 0xa1, 0xc3, + 0x40, 0x1e, 0xdb, 0x4e, 0xcc, 0xa9, 0xcc, 0xd7, 0x13, 0xff, 0xd1, 0xe8, + 0x2e, 0x4d, 0x23, 0x26, 0x43, 0x3a, 0xef, 0x19, 0xb6, 0x79, 0x1c, 0xbb, +}; +static const unsigned char kat4163_addinpr2[] = { + 0xa5, 0x48, 0x15, 0x59, 0x14, 0xbb, 0xcc, 0xfd, 0x5c, 0x7b, 0xa4, 0x17, + 0x00, 0xd4, 0x5b, 0x50, 0xf3, 0x27, 0x35, 0xcc, 0x96, 0x0c, 0x7d, 0xf7, + 0xd3, 0x31, 0x44, 0xfd, 0x46, 0x46, 0x84, 0xdc, 0x5d, 0xfe, 0xf1, 0xe9, + 0x50, 0x91, 0xd1, 0xa7, 0xc9, 0x61, 0x7d, 0x11, 0x23, 0x77, 0xa8, 0x92, +}; +static const unsigned char kat4163_retbits[] = { + 0xd1, 0x71, 0xa9, 0x6e, 0x6b, 0xfd, 0xb4, 0x37, 0xcd, 0x20, 0xd6, 0x50, + 0xca, 0x27, 0xdc, 0x3f, 0x94, 0x77, 0x61, 0xed, 0x65, 0xb9, 0x3b, 0x44, + 0x76, 0xbd, 0x2c, 0xdb, 0x31, 0x8e, 0xce, 0x39, 0xa1, 0x34, 0x72, 0x91, + 0x90, 0xc9, 0x78, 0x11, 0x2d, 0x1f, 0xcf, 0x94, 0x73, 0xca, 0x80, 0xd1, + 0x3f, 0xad, 0x57, 0xb3, 0xab, 0x05, 0x56, 0xf4, 0x69, 0x95, 0x6a, 0x48, + 0x02, 0xaa, 0x63, 0x16, +}; +static const struct drbg_kat_pr_true kat4163_t = { + 7, kat4163_entropyin, kat4163_nonce, kat4163_persstr, + kat4163_entropyinpr1, kat4163_addinpr1, kat4163_entropyinpr2, + kat4163_addinpr2, kat4163_retbits +}; +static const struct drbg_kat kat4163 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4163_t +}; + +static const unsigned char kat4164_entropyin[] = { + 0x6e, 0xe1, 0x3c, 0x98, 0x05, 0xe3, 0x94, 0x66, 0xae, 0x15, 0x79, 0x84, + 0x38, 0x23, 0x21, 0xc2, 0x20, 0x04, 0xb0, 0x04, 0xe9, 0x6f, 0x69, 0xb6, + 0x4a, 0xdc, 0xd5, 0x46, 0xe2, 0x9c, 0x4b, 0xcf, 0x43, 0xb9, 0x5c, 0x0b, + 0x70, 0x8f, 0xf2, 0xb5, 0x6b, 0x9a, 0xbb, 0xef, 0x16, 0x59, 0x58, 0x74, +}; +static const unsigned char kat4164_nonce[] = {0}; +static const unsigned char kat4164_persstr[] = {0}; +static const unsigned char kat4164_entropyinpr1[] = { + 0xff, 0x86, 0xdd, 0xcb, 0xa2, 0x52, 0x50, 0x38, 0xb1, 0x6a, 0x28, 0x03, + 0x9e, 0xba, 0x04, 0x45, 0x95, 0x74, 0x9f, 0x96, 0x44, 0x14, 0xba, 0x16, + 0x4d, 0x18, 0x1b, 0x03, 0xb6, 0xf8, 0x53, 0xc1, 0x88, 0xed, 0xe2, 0xe8, + 0x0b, 0x8f, 0xaf, 0x44, 0xf4, 0x73, 0x81, 0x4e, 0x22, 0xaf, 0x09, 0xdf, +}; +static const unsigned char kat4164_addinpr1[] = { + 0x04, 0x37, 0x2e, 0xfb, 0x1f, 0x9e, 0x93, 0xca, 0xe0, 0x64, 0xf4, 0x06, + 0x55, 0x98, 0xcb, 0xfd, 0x49, 0x82, 0x11, 0xc0, 0xe7, 0xd7, 0x67, 0x06, + 0xd3, 0x1b, 0x52, 0x7e, 0x53, 0x3e, 0x62, 0x88, 0x3b, 0x42, 0x89, 0x1d, + 0x63, 0xdc, 0xa3, 0x94, 0x35, 0x9a, 0x5a, 0x7a, 0xcf, 0x2b, 0x43, 0x34, +}; +static const unsigned char kat4164_entropyinpr2[] = { + 0x04, 0xa2, 0xec, 0x1e, 0xc1, 0xeb, 0x5e, 0xe6, 0x33, 0xf2, 0x78, 0xca, + 0x7d, 0x77, 0x29, 0xae, 0xc9, 0x90, 0x60, 0x9d, 0xc3, 0x26, 0x14, 0x94, + 0x7a, 0x4f, 0xb2, 0x36, 0x55, 0x4f, 0x55, 0x87, 0xf2, 0xc0, 0xdc, 0xbe, + 0xbe, 0xda, 0x37, 0x2b, 0x3b, 0x6e, 0xec, 0x5d, 0xfb, 0xf6, 0xd8, 0x6d, +}; +static const unsigned char kat4164_addinpr2[] = { + 0xc7, 0xae, 0x96, 0x00, 0x9f, 0x4d, 0x00, 0x82, 0xd6, 0x45, 0xa3, 0x01, + 0xa3, 0xee, 0xba, 0xb4, 0x12, 0xf3, 0xaf, 0x23, 0xe3, 0x86, 0x2a, 0xbd, + 0xed, 0xdb, 0x3c, 0x09, 0x3e, 0xc8, 0x56, 0xc8, 0xf8, 0x7f, 0xe7, 0x2b, + 0xa9, 0x3a, 0x0e, 0x19, 0x76, 0xf6, 0x79, 0xa7, 0x62, 0x0d, 0x3d, 0xd5, +}; +static const unsigned char kat4164_retbits[] = { + 0x98, 0x34, 0x67, 0x77, 0xcd, 0x25, 0x51, 0x7a, 0xd8, 0x8b, 0x4c, 0x49, + 0x05, 0x60, 0xc1, 0xf1, 0x0b, 0xd4, 0x53, 0xcb, 0xe1, 0x64, 0x30, 0xd6, + 0x7f, 0x8a, 0x47, 0x84, 0xf6, 0x9e, 0xf7, 0x8a, 0x2e, 0x41, 0xf8, 0xf2, + 0x61, 0x19, 0xd0, 0xd8, 0xeb, 0x45, 0x2f, 0xdf, 0xb1, 0xf8, 0x30, 0x50, + 0x98, 0xe4, 0x8b, 0x3c, 0xc0, 0xd7, 0x74, 0xb9, 0x89, 0x8a, 0x0e, 0xe7, + 0xf4, 0x24, 0x7f, 0xf4, +}; +static const struct drbg_kat_pr_true kat4164_t = { + 8, kat4164_entropyin, kat4164_nonce, kat4164_persstr, + kat4164_entropyinpr1, kat4164_addinpr1, kat4164_entropyinpr2, + kat4164_addinpr2, kat4164_retbits +}; +static const struct drbg_kat kat4164 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4164_t +}; + +static const unsigned char kat4165_entropyin[] = { + 0x7c, 0xd6, 0xc4, 0x13, 0x67, 0xee, 0x79, 0x41, 0x8e, 0x45, 0x64, 0xe8, + 0xf7, 0xbe, 0x89, 0x0b, 0x06, 0x29, 0x24, 0x87, 0x8e, 0xfb, 0xca, 0xc7, + 0x0e, 0x34, 0x15, 0xf4, 0xee, 0x6a, 0x9a, 0x41, 0xdb, 0xaf, 0x0a, 0xfc, + 0x53, 0x85, 0x84, 0xeb, 0xfe, 0xf9, 0x3a, 0xd7, 0xe1, 0xac, 0x86, 0x26, +}; +static const unsigned char kat4165_nonce[] = {0}; +static const unsigned char kat4165_persstr[] = {0}; +static const unsigned char kat4165_entropyinpr1[] = { + 0x8a, 0x56, 0xc9, 0x32, 0xd5, 0x29, 0x65, 0xb5, 0x74, 0x91, 0x0c, 0x04, + 0x90, 0xcb, 0xe5, 0xac, 0x10, 0x22, 0x59, 0x63, 0x9d, 0xf9, 0xf9, 0x58, + 0x73, 0xc7, 0xf8, 0x13, 0x54, 0x0d, 0x40, 0x21, 0x7e, 0x87, 0x3c, 0xf4, + 0x6a, 0xf1, 0x9a, 0x31, 0xe5, 0xbd, 0xb1, 0x65, 0x20, 0x52, 0x05, 0x86, +}; +static const unsigned char kat4165_addinpr1[] = { + 0x76, 0xc7, 0x52, 0x0b, 0x82, 0xf4, 0xde, 0x7d, 0xbf, 0xd4, 0x8d, 0x97, + 0x74, 0x3c, 0xdc, 0x55, 0x4b, 0x9d, 0xe9, 0x60, 0x9f, 0x86, 0xf0, 0x6c, + 0xa0, 0x9d, 0xdb, 0xa2, 0x5c, 0xf4, 0x4c, 0x55, 0x57, 0xea, 0x82, 0xd3, + 0x24, 0x8c, 0x71, 0xa5, 0x43, 0xd9, 0x10, 0xae, 0x01, 0xb6, 0xe0, 0x0a, +}; +static const unsigned char kat4165_entropyinpr2[] = { + 0x1e, 0xe0, 0xad, 0xbc, 0x4e, 0x47, 0x7a, 0x08, 0x0a, 0x32, 0x97, 0xb3, + 0x1e, 0x36, 0x44, 0x49, 0xa9, 0x66, 0x6a, 0x4a, 0xaa, 0xf6, 0x20, 0xe1, + 0x53, 0xdf, 0x73, 0xf9, 0x28, 0x3a, 0xde, 0x87, 0x4a, 0x2d, 0x5b, 0x55, + 0xd7, 0xcc, 0xa7, 0x13, 0xda, 0x06, 0x7f, 0x65, 0x56, 0x43, 0x8b, 0x61, +}; +static const unsigned char kat4165_addinpr2[] = { + 0x07, 0xfc, 0x64, 0x59, 0xf9, 0x6a, 0xda, 0x85, 0x84, 0x5d, 0xf9, 0xdc, + 0x60, 0x3f, 0x51, 0xa1, 0x90, 0x5d, 0x6d, 0x7d, 0x50, 0x98, 0xdc, 0x06, + 0x88, 0x61, 0xbf, 0x1b, 0xe4, 0xe6, 0x7a, 0x00, 0x18, 0x66, 0x4b, 0xf0, + 0x59, 0xc7, 0x8c, 0x30, 0xe9, 0xee, 0xc3, 0x3f, 0xfb, 0x1c, 0x6b, 0x1b, +}; +static const unsigned char kat4165_retbits[] = { + 0x52, 0xf3, 0xaf, 0xf1, 0xed, 0x0b, 0x5e, 0xb6, 0x19, 0xcd, 0x50, 0x72, + 0x1e, 0x65, 0xc5, 0xd4, 0x98, 0x46, 0xf6, 0xac, 0x5a, 0xb8, 0xa3, 0xbe, + 0xa6, 0x07, 0x94, 0x4a, 0x06, 0xa5, 0x59, 0x15, 0xdc, 0x65, 0xcb, 0xdb, + 0x57, 0xe6, 0x27, 0x99, 0xfb, 0xe3, 0x35, 0xf6, 0x8b, 0x7a, 0x83, 0xd2, + 0x2a, 0xb1, 0x41, 0xcd, 0xc0, 0xd7, 0xfc, 0x33, 0xaa, 0xe2, 0xfd, 0x96, + 0xa2, 0xcd, 0xb0, 0x5d, +}; +static const struct drbg_kat_pr_true kat4165_t = { + 9, kat4165_entropyin, kat4165_nonce, kat4165_persstr, + kat4165_entropyinpr1, kat4165_addinpr1, kat4165_entropyinpr2, + kat4165_addinpr2, kat4165_retbits +}; +static const struct drbg_kat kat4165 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4165_t +}; + +static const unsigned char kat4166_entropyin[] = { + 0x72, 0x88, 0x09, 0xe9, 0x6c, 0x66, 0xe3, 0x74, 0x10, 0xc3, 0x60, 0x86, + 0x78, 0xa2, 0x59, 0xc8, 0x53, 0x0a, 0xc2, 0x72, 0x89, 0x1d, 0x1a, 0x89, + 0x60, 0x1d, 0x7a, 0x4d, 0xef, 0xe2, 0x85, 0x46, 0x05, 0x23, 0x03, 0x4e, + 0xcb, 0xbb, 0x75, 0x12, 0x43, 0xf5, 0x55, 0x56, 0xc2, 0x0f, 0xd1, 0xc4, +}; +static const unsigned char kat4166_nonce[] = {0}; +static const unsigned char kat4166_persstr[] = {0}; +static const unsigned char kat4166_entropyinpr1[] = { + 0xf8, 0x19, 0x79, 0x79, 0x1c, 0xcf, 0x2e, 0x3d, 0x17, 0x82, 0xaa, 0xd9, + 0x0d, 0xf5, 0x49, 0xdd, 0xe5, 0xdc, 0x02, 0xe4, 0x29, 0x1b, 0xa0, 0x9f, + 0x9f, 0xe9, 0x7b, 0x32, 0x14, 0xcb, 0xc1, 0xda, 0x28, 0x7f, 0x32, 0x0c, + 0xa3, 0x69, 0x78, 0x90, 0x8b, 0xf7, 0xce, 0x16, 0x01, 0x3a, 0x0e, 0xbd, +}; +static const unsigned char kat4166_addinpr1[] = { + 0x79, 0x5f, 0xd4, 0x22, 0xa9, 0xaf, 0x77, 0xcc, 0xa1, 0xfe, 0x5a, 0x81, + 0x0a, 0x3a, 0x28, 0x3b, 0x89, 0xcd, 0x82, 0x4a, 0x54, 0x87, 0xdf, 0x35, + 0xce, 0x9f, 0x8e, 0x62, 0xfa, 0x86, 0x40, 0xab, 0x27, 0xe0, 0x6a, 0xf8, + 0xdc, 0xb2, 0xa7, 0x18, 0x23, 0x0d, 0x7e, 0x97, 0xbc, 0x09, 0xf0, 0x33, +}; +static const unsigned char kat4166_entropyinpr2[] = { + 0xa5, 0xd2, 0x8e, 0xd2, 0xc9, 0xe4, 0x96, 0x2b, 0xb5, 0xaa, 0x57, 0x69, + 0x45, 0xb8, 0xe8, 0x9d, 0xdb, 0xfa, 0xe4, 0x97, 0x9c, 0x16, 0xe3, 0xe3, + 0x76, 0x5d, 0xa7, 0x13, 0xc2, 0x87, 0xf3, 0xad, 0x69, 0xe1, 0x8c, 0x61, + 0x3d, 0xf2, 0x49, 0xec, 0x75, 0x6b, 0xb3, 0xfd, 0x27, 0x87, 0xae, 0x36, +}; +static const unsigned char kat4166_addinpr2[] = { + 0x31, 0x32, 0xd0, 0x25, 0xf5, 0x24, 0x66, 0xd2, 0x7e, 0x38, 0x60, 0x2e, + 0xe8, 0x3d, 0x11, 0xdb, 0xc4, 0xfb, 0xa5, 0x5b, 0x32, 0x32, 0xaa, 0xf9, + 0x5c, 0xf4, 0x78, 0x90, 0x1c, 0xbb, 0x71, 0x5f, 0x90, 0x03, 0x23, 0x39, + 0x15, 0x48, 0xdc, 0xd9, 0x15, 0xdc, 0x6a, 0xd0, 0xc7, 0x6e, 0xfc, 0x03, +}; +static const unsigned char kat4166_retbits[] = { + 0x2a, 0x0e, 0xd8, 0xc3, 0x79, 0x85, 0x12, 0xf4, 0xd2, 0x8a, 0x00, 0x11, + 0x5e, 0xb5, 0x8c, 0x77, 0xbf, 0x38, 0xe5, 0xaa, 0x8f, 0x68, 0x5b, 0x19, + 0x56, 0x99, 0xa6, 0x66, 0x19, 0xaf, 0xa2, 0x58, 0x26, 0x45, 0xe6, 0xbf, + 0xbb, 0xe2, 0x0e, 0x57, 0xa4, 0xb7, 0x2b, 0xe3, 0x5f, 0x4b, 0xa2, 0x2c, + 0x75, 0xb0, 0x78, 0x1a, 0x10, 0xc6, 0x7f, 0xac, 0xfb, 0x92, 0xd8, 0x44, + 0x59, 0xf2, 0x2f, 0xc4, +}; +static const struct drbg_kat_pr_true kat4166_t = { + 10, kat4166_entropyin, kat4166_nonce, kat4166_persstr, + kat4166_entropyinpr1, kat4166_addinpr1, kat4166_entropyinpr2, + kat4166_addinpr2, kat4166_retbits +}; +static const struct drbg_kat kat4166 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4166_t +}; + +static const unsigned char kat4167_entropyin[] = { + 0x2d, 0x66, 0x78, 0xdb, 0x9e, 0x85, 0x4e, 0xc4, 0x62, 0x79, 0x97, 0x00, + 0x26, 0x54, 0xd5, 0x3e, 0x88, 0x92, 0xe8, 0xdb, 0x44, 0x1b, 0x57, 0x89, + 0x89, 0x8d, 0x7f, 0x42, 0x9a, 0x82, 0x52, 0x49, 0x89, 0xfe, 0xe5, 0x93, + 0x3f, 0x22, 0x43, 0x7b, 0x79, 0x97, 0x5f, 0xc5, 0x40, 0xf8, 0x2f, 0xc4, +}; +static const unsigned char kat4167_nonce[] = {0}; +static const unsigned char kat4167_persstr[] = {0}; +static const unsigned char kat4167_entropyinpr1[] = { + 0xc7, 0x6c, 0xa7, 0x53, 0xdc, 0x96, 0x2e, 0x9d, 0xb4, 0x68, 0x25, 0xf9, + 0xbc, 0xe3, 0x03, 0xcd, 0x92, 0x0e, 0x09, 0xb5, 0x15, 0xd5, 0x56, 0x7d, + 0x71, 0x64, 0x7c, 0x33, 0x9e, 0xfb, 0x6b, 0x6e, 0x95, 0x27, 0x5c, 0x98, + 0x89, 0xcd, 0xf3, 0x5e, 0x05, 0xbb, 0x14, 0x03, 0x68, 0xd4, 0xfd, 0x9b, +}; +static const unsigned char kat4167_addinpr1[] = { + 0xb1, 0x57, 0xf0, 0xae, 0xe3, 0x39, 0x7d, 0x0b, 0x88, 0x4f, 0xa0, 0xb7, + 0x6d, 0x36, 0xb8, 0xe4, 0x30, 0x76, 0x92, 0x1e, 0x1c, 0xf2, 0xd4, 0x88, + 0xb8, 0x4f, 0x0f, 0x4a, 0x9d, 0x41, 0x79, 0x0f, 0xcf, 0x01, 0x08, 0x94, + 0x56, 0xb5, 0x5f, 0x48, 0x82, 0x8c, 0x2c, 0xc3, 0xb1, 0x17, 0x26, 0x73, +}; +static const unsigned char kat4167_entropyinpr2[] = { + 0xc5, 0xe0, 0x4e, 0x7b, 0x53, 0x19, 0xe6, 0xd4, 0x00, 0x40, 0x27, 0xab, + 0xf9, 0xee, 0x0a, 0x57, 0x30, 0x9c, 0xb2, 0x2c, 0xe3, 0xd9, 0xd5, 0x86, + 0xc5, 0xad, 0x85, 0xf2, 0xe7, 0x74, 0xc7, 0x5a, 0x86, 0xca, 0xab, 0xc1, + 0x79, 0x31, 0x8e, 0x6c, 0x92, 0xfc, 0x5d, 0x23, 0xe2, 0x31, 0x3b, 0xc2, +}; +static const unsigned char kat4167_addinpr2[] = { + 0x55, 0xcf, 0xe7, 0x22, 0x3c, 0x6c, 0x66, 0x6d, 0x90, 0x7f, 0x19, 0xab, + 0xca, 0x73, 0xda, 0x1a, 0xfb, 0x51, 0x61, 0x83, 0x28, 0x3a, 0x4f, 0x53, + 0xe0, 0x46, 0x5b, 0xe6, 0x99, 0x24, 0x87, 0x6f, 0x60, 0x2b, 0x99, 0x13, + 0x89, 0xc7, 0xf9, 0xe4, 0xef, 0x26, 0xe0, 0x38, 0xd8, 0x0b, 0x31, 0xde, +}; +static const unsigned char kat4167_retbits[] = { + 0x4d, 0x0b, 0x4f, 0xcb, 0x6b, 0x2f, 0xcf, 0xb2, 0x3a, 0xee, 0xae, 0x6a, + 0xe5, 0x13, 0x5e, 0xe2, 0x35, 0x15, 0x5a, 0x26, 0xfd, 0xd6, 0x7a, 0x84, + 0xe2, 0xa6, 0xca, 0x49, 0xd8, 0xbf, 0x3f, 0xa6, 0x14, 0x52, 0xba, 0x32, + 0xa3, 0x9b, 0xfe, 0x0f, 0x37, 0x9a, 0x5b, 0x92, 0xc5, 0xe4, 0x16, 0xe4, + 0x2c, 0xdf, 0x4c, 0x47, 0xb2, 0x4f, 0xe6, 0xae, 0xd3, 0xb8, 0x17, 0x45, + 0x41, 0x1a, 0x4d, 0xff, +}; +static const struct drbg_kat_pr_true kat4167_t = { + 11, kat4167_entropyin, kat4167_nonce, kat4167_persstr, + kat4167_entropyinpr1, kat4167_addinpr1, kat4167_entropyinpr2, + kat4167_addinpr2, kat4167_retbits +}; +static const struct drbg_kat kat4167 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4167_t +}; + +static const unsigned char kat4168_entropyin[] = { + 0x53, 0x0b, 0x13, 0x6b, 0xfa, 0xb4, 0xa3, 0xf1, 0x63, 0x8a, 0x97, 0x6d, + 0xd4, 0xeb, 0xf9, 0x35, 0xf1, 0xc7, 0x25, 0xae, 0x30, 0xbf, 0xba, 0x5c, + 0x5a, 0xb4, 0x94, 0xf2, 0xf1, 0x0f, 0x52, 0xe5, 0xba, 0xce, 0x98, 0x59, + 0x11, 0xd2, 0xde, 0x4b, 0x12, 0xa4, 0xf6, 0xaf, 0x36, 0xe4, 0x35, 0x49, +}; +static const unsigned char kat4168_nonce[] = {0}; +static const unsigned char kat4168_persstr[] = {0}; +static const unsigned char kat4168_entropyinpr1[] = { + 0x73, 0x1d, 0x64, 0xe8, 0x3c, 0xc9, 0x01, 0x4a, 0xf0, 0x5f, 0x69, 0x1d, + 0x74, 0x7d, 0x3e, 0xcb, 0xce, 0xfb, 0x6a, 0xb9, 0xeb, 0x3a, 0xde, 0x76, + 0x09, 0x73, 0xb0, 0xbf, 0x9a, 0xb7, 0x00, 0xfa, 0x2c, 0x3c, 0x02, 0xcd, + 0x83, 0xae, 0xb9, 0x4b, 0xb7, 0xd0, 0xb2, 0x96, 0xe4, 0x0c, 0x79, 0xb2, +}; +static const unsigned char kat4168_addinpr1[] = { + 0x0f, 0x2d, 0x38, 0x2e, 0x60, 0xb2, 0x37, 0x72, 0x7d, 0x97, 0x11, 0x08, + 0xa0, 0x5b, 0x46, 0x21, 0xfd, 0x84, 0x2e, 0x33, 0x67, 0x44, 0x7d, 0x05, + 0xe9, 0x0d, 0x8f, 0x93, 0x53, 0x47, 0xdf, 0x8f, 0xec, 0xbd, 0xce, 0xda, + 0xc7, 0xb0, 0x00, 0xc5, 0x89, 0xf0, 0xd2, 0x1e, 0x42, 0x99, 0x5b, 0x38, +}; +static const unsigned char kat4168_entropyinpr2[] = { + 0xdd, 0x58, 0x1a, 0x72, 0x11, 0x16, 0x7a, 0xad, 0x0c, 0x3e, 0x57, 0xa5, + 0x46, 0xda, 0x27, 0x4c, 0xa8, 0xd2, 0xf6, 0x6f, 0x22, 0xc8, 0xcd, 0x5d, + 0xd9, 0x37, 0xfa, 0xb4, 0xde, 0xb8, 0xd3, 0xea, 0xdc, 0x10, 0x08, 0x09, + 0x97, 0x84, 0xac, 0x95, 0x55, 0x15, 0x1d, 0xd7, 0x45, 0x45, 0x0d, 0xe1, +}; +static const unsigned char kat4168_addinpr2[] = { + 0x48, 0xff, 0x7f, 0x40, 0xde, 0xa3, 0x09, 0x9d, 0x2d, 0x7f, 0x00, 0x96, + 0x2d, 0xb0, 0xbf, 0x77, 0xf9, 0x7f, 0x8b, 0x3b, 0x1a, 0x0f, 0x63, 0xc3, + 0x62, 0x38, 0x37, 0xe1, 0xd9, 0xd2, 0x45, 0x94, 0x31, 0xad, 0x83, 0x7a, + 0x3d, 0xed, 0x68, 0xfc, 0x61, 0xc2, 0x7c, 0xa8, 0x40, 0x2d, 0x50, 0x80, +}; +static const unsigned char kat4168_retbits[] = { + 0x8c, 0x24, 0x79, 0x41, 0x11, 0x06, 0x70, 0x58, 0x58, 0xe9, 0xcf, 0x7e, + 0x26, 0x2c, 0x4d, 0x1e, 0x11, 0x61, 0x47, 0xfe, 0xd3, 0xce, 0x34, 0xc6, + 0xb7, 0xe2, 0x7a, 0xbb, 0x15, 0xad, 0x47, 0x26, 0xcf, 0x2c, 0x0c, 0x05, + 0xff, 0xef, 0x0a, 0x1d, 0xb9, 0x7c, 0xc8, 0x42, 0x4e, 0x38, 0x59, 0x77, + 0x78, 0xa5, 0xdb, 0x71, 0x4e, 0x42, 0x48, 0x4f, 0xcd, 0x46, 0x71, 0xf6, + 0x6b, 0x25, 0x59, 0xf9, +}; +static const struct drbg_kat_pr_true kat4168_t = { + 12, kat4168_entropyin, kat4168_nonce, kat4168_persstr, + kat4168_entropyinpr1, kat4168_addinpr1, kat4168_entropyinpr2, + kat4168_addinpr2, kat4168_retbits +}; +static const struct drbg_kat kat4168 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4168_t +}; + +static const unsigned char kat4169_entropyin[] = { + 0x23, 0xcb, 0x80, 0xd0, 0xa5, 0x3e, 0xf2, 0x60, 0xbb, 0x9e, 0xa1, 0x56, + 0xbf, 0xa8, 0x1e, 0x36, 0x99, 0x53, 0x21, 0x2c, 0x15, 0xf6, 0xb7, 0xcf, + 0x19, 0xa8, 0x2d, 0x7f, 0xf8, 0x43, 0x7d, 0x82, 0x8a, 0x97, 0xbe, 0x69, + 0xaa, 0x4b, 0x28, 0xb3, 0x07, 0x48, 0x99, 0xbf, 0xf2, 0x66, 0x4d, 0x3f, +}; +static const unsigned char kat4169_nonce[] = {0}; +static const unsigned char kat4169_persstr[] = {0}; +static const unsigned char kat4169_entropyinpr1[] = { + 0xde, 0x17, 0x6f, 0xc2, 0x86, 0x80, 0xed, 0xe7, 0x73, 0x47, 0x45, 0xef, + 0x54, 0x9e, 0xa5, 0x11, 0x79, 0xa7, 0xbe, 0xc1, 0xda, 0x8a, 0xde, 0x1c, + 0x56, 0xae, 0x4c, 0x7a, 0xec, 0xc0, 0x2a, 0x9c, 0x1a, 0x64, 0x8a, 0x3c, + 0x86, 0x2f, 0xfc, 0x61, 0x52, 0xf3, 0x90, 0x55, 0xeb, 0x9b, 0x25, 0xf6, +}; +static const unsigned char kat4169_addinpr1[] = { + 0xbe, 0x5f, 0x07, 0x22, 0xaa, 0x6b, 0xa5, 0x33, 0x2b, 0x7e, 0x27, 0x3b, + 0xe3, 0xb2, 0xfb, 0xf5, 0x57, 0x1e, 0xd7, 0x46, 0xff, 0xff, 0x47, 0xdb, + 0xf7, 0x45, 0xb0, 0x71, 0x9a, 0x8d, 0x77, 0xea, 0x69, 0xaf, 0xdb, 0xbc, + 0xe6, 0x7e, 0xa9, 0xbe, 0xcf, 0x56, 0xdb, 0x6d, 0x38, 0x05, 0x9e, 0x64, +}; +static const unsigned char kat4169_entropyinpr2[] = { + 0x45, 0x77, 0x3c, 0xfb, 0x49, 0x97, 0xc1, 0xd9, 0xe0, 0x3e, 0xa8, 0xf1, + 0x01, 0xd9, 0xc3, 0x97, 0x67, 0x36, 0xbd, 0x1a, 0x42, 0xec, 0xb2, 0x20, + 0x03, 0x76, 0x6b, 0xe8, 0xbe, 0x8f, 0x0b, 0x84, 0xd8, 0x95, 0x19, 0x1e, + 0x43, 0x43, 0xf2, 0xe2, 0xf2, 0x2f, 0xef, 0x59, 0xf2, 0x77, 0xda, 0x93, +}; +static const unsigned char kat4169_addinpr2[] = { + 0x91, 0x49, 0x36, 0x72, 0xeb, 0xe8, 0x13, 0x02, 0x5b, 0x7a, 0xbe, 0xec, + 0x25, 0x83, 0xd4, 0x5f, 0xbe, 0x40, 0x18, 0x0d, 0x1e, 0xf6, 0x29, 0xc0, + 0x87, 0xa3, 0x82, 0x30, 0xa7, 0xa7, 0x9b, 0xa7, 0x02, 0x66, 0x99, 0x12, + 0xc9, 0x53, 0x60, 0xa2, 0xa7, 0x68, 0x09, 0x0c, 0xe3, 0xf2, 0xd5, 0xd3, +}; +static const unsigned char kat4169_retbits[] = { + 0x45, 0x7d, 0x76, 0x0e, 0x04, 0xac, 0xc5, 0x20, 0xb3, 0x40, 0x76, 0x7a, + 0x18, 0x6d, 0xdc, 0x44, 0xad, 0x1c, 0x9b, 0x1c, 0xf1, 0x24, 0xb8, 0x00, + 0xe7, 0xbd, 0xe2, 0xd6, 0xc5, 0x8d, 0x19, 0x23, 0xdb, 0xd1, 0x5a, 0xc9, + 0x0f, 0xd2, 0x91, 0x28, 0x3e, 0x15, 0x36, 0x58, 0xb6, 0x92, 0x55, 0x5e, + 0xf2, 0x51, 0x66, 0x89, 0xe4, 0xd0, 0xd0, 0xb0, 0x12, 0x9a, 0x7d, 0x3b, + 0x69, 0x78, 0x36, 0x97, +}; +static const struct drbg_kat_pr_true kat4169_t = { + 13, kat4169_entropyin, kat4169_nonce, kat4169_persstr, + kat4169_entropyinpr1, kat4169_addinpr1, kat4169_entropyinpr2, + kat4169_addinpr2, kat4169_retbits +}; +static const struct drbg_kat kat4169 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4169_t +}; + +static const unsigned char kat4170_entropyin[] = { + 0xcb, 0xa4, 0x4c, 0x72, 0x2e, 0xac, 0x50, 0x08, 0x11, 0x25, 0x26, 0xba, + 0x02, 0x58, 0x1d, 0x78, 0xcb, 0xf7, 0x3a, 0x61, 0x7e, 0xe0, 0x4b, 0xa0, + 0xcd, 0x71, 0x2a, 0x49, 0xf0, 0xf8, 0x47, 0xc2, 0x33, 0x01, 0xb9, 0x35, + 0x80, 0xe2, 0x74, 0x30, 0x94, 0x73, 0xfd, 0xaf, 0xf0, 0x04, 0x11, 0x5b, +}; +static const unsigned char kat4170_nonce[] = {0}; +static const unsigned char kat4170_persstr[] = {0}; +static const unsigned char kat4170_entropyinpr1[] = { + 0xc5, 0xe2, 0x5e, 0xac, 0x09, 0x8a, 0xa9, 0xa1, 0x56, 0x67, 0xbf, 0x30, + 0xbd, 0x7d, 0x79, 0x4b, 0x28, 0xc4, 0x36, 0x5b, 0x01, 0x93, 0xd4, 0x10, + 0xf7, 0xdb, 0x03, 0x79, 0x1b, 0x81, 0xe9, 0x6a, 0xdb, 0x6b, 0x1c, 0x50, + 0xf3, 0x84, 0x39, 0x04, 0xa6, 0x1c, 0xf9, 0x64, 0xfa, 0x67, 0xc6, 0x2e, +}; +static const unsigned char kat4170_addinpr1[] = { + 0x8e, 0xf8, 0x8e, 0x51, 0xa1, 0x5d, 0x2c, 0x43, 0x5d, 0xd5, 0x33, 0xa9, + 0xf4, 0xb6, 0xe6, 0xc7, 0xd5, 0xdd, 0xc3, 0x63, 0x21, 0x18, 0xdc, 0x39, + 0x33, 0x10, 0x4f, 0x3a, 0x87, 0x1b, 0xad, 0x06, 0x4c, 0xb7, 0x41, 0x51, + 0xe1, 0x2e, 0x88, 0xc0, 0x45, 0x9e, 0x7b, 0x7e, 0x03, 0xb6, 0xbb, 0x5f, +}; +static const unsigned char kat4170_entropyinpr2[] = { + 0x94, 0x90, 0x4f, 0xbd, 0xfa, 0xf6, 0xb1, 0xd8, 0x93, 0x1c, 0x15, 0xa3, + 0x72, 0x77, 0x81, 0x4d, 0xca, 0xcc, 0x63, 0x43, 0xd4, 0x8b, 0x80, 0xa1, + 0xc6, 0x24, 0xf8, 0xaa, 0x37, 0x33, 0xe0, 0x5a, 0x52, 0xbf, 0x1f, 0x12, + 0x66, 0xe2, 0xb9, 0x0d, 0xa5, 0xd5, 0x62, 0xd7, 0xff, 0xcb, 0xc2, 0x74, +}; +static const unsigned char kat4170_addinpr2[] = { + 0xe9, 0x7f, 0x7f, 0xc9, 0xe2, 0x87, 0xae, 0x94, 0x7d, 0x3e, 0x93, 0x7d, + 0x60, 0xec, 0xe6, 0x84, 0xf0, 0xc8, 0xdd, 0x9e, 0x13, 0x3c, 0xbd, 0x72, + 0x65, 0xb2, 0xb3, 0xe0, 0x73, 0x98, 0x35, 0x25, 0xc6, 0x1c, 0x7e, 0x4f, + 0x95, 0x0e, 0xce, 0x2a, 0x19, 0x6d, 0xc8, 0xa5, 0x8d, 0x8c, 0x24, 0x2c, +}; +static const unsigned char kat4170_retbits[] = { + 0xef, 0x2f, 0xcb, 0x4a, 0x91, 0x13, 0xe0, 0x62, 0xd6, 0xcd, 0x37, 0xf5, + 0x1a, 0x99, 0x44, 0x64, 0x5c, 0x3c, 0xce, 0x0b, 0x06, 0xe2, 0xd1, 0x1a, + 0x2c, 0x77, 0x8b, 0xdb, 0x55, 0x9a, 0x2f, 0x62, 0x7c, 0x8a, 0x0e, 0x7f, + 0x41, 0x96, 0x60, 0xf4, 0x61, 0x45, 0x60, 0x64, 0xc3, 0x50, 0x8d, 0xf1, + 0xdb, 0x94, 0x5a, 0xf6, 0x08, 0x5a, 0xba, 0xf7, 0x71, 0x9e, 0x86, 0x8a, + 0x91, 0x2d, 0xf8, 0xdd, +}; +static const struct drbg_kat_pr_true kat4170_t = { + 14, kat4170_entropyin, kat4170_nonce, kat4170_persstr, + kat4170_entropyinpr1, kat4170_addinpr1, kat4170_entropyinpr2, + kat4170_addinpr2, kat4170_retbits +}; +static const struct drbg_kat kat4170 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4170_t +}; + +static const unsigned char kat4171_entropyin[] = { + 0x45, 0xbc, 0x62, 0x2b, 0xd4, 0xfd, 0x4c, 0x47, 0x19, 0x17, 0x54, 0x44, + 0x9e, 0x24, 0x8b, 0xe7, 0x27, 0x9f, 0xa1, 0x10, 0x15, 0xdf, 0x53, 0x78, + 0xec, 0x46, 0xa1, 0x57, 0xda, 0xbc, 0x36, 0xd1, 0xeb, 0x08, 0xd2, 0xa7, + 0x5c, 0x6b, 0xd0, 0x7e, 0xbf, 0x96, 0x9b, 0x8d, 0xa9, 0xed, 0xcd, 0xfd, +}; +static const unsigned char kat4171_nonce[] = {0}; +static const unsigned char kat4171_persstr[] = { + 0x7b, 0x55, 0x91, 0x0f, 0x78, 0xa4, 0xde, 0x1b, 0xb0, 0xb0, 0xe8, 0xf9, + 0x7d, 0x26, 0xb6, 0xf3, 0xcf, 0x72, 0x98, 0x1b, 0x68, 0xed, 0x4a, 0xe7, + 0xf5, 0xa6, 0xd4, 0x6a, 0xc6, 0x68, 0xfe, 0x35, 0x43, 0x83, 0x7b, 0xa6, + 0xc2, 0x12, 0xf0, 0x81, 0xe5, 0xd4, 0xd5, 0x6e, 0x35, 0xde, 0x19, 0x4e, +}; +static const unsigned char kat4171_entropyinpr1[] = { + 0xc9, 0xd1, 0xfc, 0xa6, 0x06, 0x4b, 0xac, 0x3c, 0x47, 0xd4, 0xdd, 0x34, + 0x70, 0x09, 0x2e, 0x5d, 0xe5, 0x87, 0x3f, 0x14, 0x90, 0x65, 0x6d, 0x79, + 0xda, 0x0d, 0xb9, 0x82, 0x7d, 0x81, 0xa2, 0x2e, 0x2f, 0xf6, 0x3e, 0x19, + 0xe1, 0xee, 0x20, 0x13, 0x66, 0xc4, 0x1c, 0xbf, 0x7a, 0x6b, 0xb8, 0xd8, +}; +static const unsigned char kat4171_addinpr1[] = {0}; +static const unsigned char kat4171_entropyinpr2[] = { + 0x2b, 0x85, 0x64, 0x9b, 0x72, 0x17, 0xe3, 0x02, 0x7a, 0x0c, 0x2d, 0x20, + 0x97, 0xe4, 0x61, 0xd6, 0xc3, 0x9e, 0x46, 0xb9, 0x85, 0x87, 0xf5, 0xc0, + 0xad, 0x72, 0x25, 0x1e, 0x2b, 0x5f, 0xd4, 0x18, 0x5a, 0x10, 0x0e, 0xb7, + 0x8f, 0x93, 0x13, 0x65, 0xfb, 0xe2, 0xd9, 0xdf, 0xd0, 0x0c, 0x71, 0x07, +}; +static const unsigned char kat4171_addinpr2[] = {0}; +static const unsigned char kat4171_retbits[] = { + 0x3c, 0xc5, 0x8f, 0x52, 0x65, 0x0d, 0x64, 0xaf, 0x06, 0xe9, 0x61, 0xdb, + 0x69, 0x79, 0xfc, 0x1e, 0xc7, 0xa8, 0xb3, 0x33, 0x2e, 0x15, 0x48, 0x7f, + 0x83, 0x13, 0x27, 0xe2, 0x0d, 0xe7, 0xcb, 0x83, 0xc0, 0x77, 0xf4, 0x85, + 0xa0, 0x2f, 0xc6, 0x7b, 0x8d, 0xe0, 0xc9, 0xb1, 0x4c, 0x6c, 0xfd, 0xb4, + 0x75, 0xf6, 0xd4, 0x67, 0x2f, 0xee, 0xe5, 0x85, 0x5e, 0x55, 0x65, 0xd5, + 0x71, 0xf1, 0x3f, 0x99, +}; +static const struct drbg_kat_pr_true kat4171_t = { + 0, kat4171_entropyin, kat4171_nonce, kat4171_persstr, + kat4171_entropyinpr1, kat4171_addinpr1, kat4171_entropyinpr2, + kat4171_addinpr2, kat4171_retbits +}; +static const struct drbg_kat kat4171 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4171_t +}; + +static const unsigned char kat4172_entropyin[] = { + 0x8d, 0x08, 0xd6, 0x98, 0x10, 0x24, 0xc7, 0x11, 0xe0, 0x89, 0x0f, 0x18, + 0xb2, 0xd9, 0xfe, 0xe9, 0x19, 0x7f, 0x36, 0x7e, 0x48, 0x9b, 0x1b, 0x0e, + 0x67, 0xaf, 0x8c, 0x24, 0x9c, 0x48, 0x97, 0x75, 0x59, 0x53, 0xc8, 0xc2, + 0x20, 0xed, 0xde, 0xd0, 0x7e, 0x4d, 0xe5, 0xb9, 0x9b, 0x39, 0x0f, 0xd3, +}; +static const unsigned char kat4172_nonce[] = {0}; +static const unsigned char kat4172_persstr[] = { + 0xe6, 0x1b, 0xb8, 0x28, 0xcd, 0x11, 0xe7, 0x11, 0x0b, 0x81, 0x57, 0xfe, + 0xe4, 0xe4, 0x44, 0x34, 0xb8, 0x41, 0xd0, 0xcc, 0x8f, 0xb3, 0xff, 0x00, + 0x34, 0x67, 0x1c, 0x49, 0x11, 0xa9, 0x70, 0x63, 0xa4, 0x8e, 0xea, 0xbd, + 0x8c, 0x59, 0xc3, 0xa7, 0xf0, 0x7e, 0x00, 0xa8, 0x69, 0xc8, 0x73, 0xe5, +}; +static const unsigned char kat4172_entropyinpr1[] = { + 0xd3, 0xa4, 0xa1, 0xc7, 0xce, 0xcf, 0x24, 0xfc, 0x06, 0x9b, 0x6e, 0x05, + 0x62, 0xc9, 0x9c, 0x09, 0xf7, 0xe2, 0x83, 0xa2, 0xe2, 0xa7, 0xe3, 0x9a, + 0x0b, 0x5a, 0x3a, 0x91, 0xb0, 0x12, 0x5a, 0xfd, 0x69, 0xc0, 0x78, 0x4a, + 0xa1, 0x13, 0xdd, 0x69, 0x98, 0xa7, 0xa7, 0x20, 0xb9, 0x73, 0x78, 0x42, +}; +static const unsigned char kat4172_addinpr1[] = {0}; +static const unsigned char kat4172_entropyinpr2[] = { + 0x4a, 0x12, 0x50, 0x48, 0xbe, 0xd1, 0x73, 0x79, 0xbb, 0x78, 0x38, 0xee, + 0xd0, 0x2f, 0xbf, 0x90, 0xcc, 0xb6, 0x03, 0xc1, 0x39, 0xd5, 0x6d, 0x2b, + 0x18, 0x46, 0xe9, 0xd1, 0x94, 0x00, 0x29, 0x53, 0xb6, 0xa9, 0x07, 0x99, + 0xbe, 0x02, 0xe2, 0x8a, 0x17, 0x78, 0xa9, 0xf2, 0xb6, 0xcb, 0x61, 0xfb, +}; +static const unsigned char kat4172_addinpr2[] = {0}; +static const unsigned char kat4172_retbits[] = { + 0x2e, 0x60, 0x22, 0xf7, 0x75, 0xb5, 0x2e, 0x35, 0x25, 0x78, 0x10, 0x79, + 0x67, 0x1c, 0x65, 0xf4, 0x7c, 0x69, 0xce, 0xf1, 0xcd, 0xf7, 0xa9, 0x31, + 0x12, 0xc0, 0x21, 0x72, 0xac, 0x3e, 0xd5, 0xfb, 0xb6, 0x10, 0x8a, 0x15, + 0x1d, 0xde, 0xdf, 0x2e, 0x5d, 0x27, 0xe9, 0x1f, 0x9d, 0x2f, 0x23, 0xd2, + 0xce, 0xb0, 0xff, 0x16, 0x60, 0x2e, 0x1a, 0x9a, 0x5a, 0x5c, 0x58, 0x4a, + 0x65, 0xa6, 0x9d, 0x2b, +}; +static const struct drbg_kat_pr_true kat4172_t = { + 1, kat4172_entropyin, kat4172_nonce, kat4172_persstr, + kat4172_entropyinpr1, kat4172_addinpr1, kat4172_entropyinpr2, + kat4172_addinpr2, kat4172_retbits +}; +static const struct drbg_kat kat4172 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4172_t +}; + +static const unsigned char kat4173_entropyin[] = { + 0x92, 0x57, 0x16, 0x31, 0xcd, 0xb5, 0xbb, 0xf6, 0x91, 0x00, 0xcf, 0x79, + 0xa5, 0xf2, 0xd0, 0xf4, 0xe9, 0x5b, 0x50, 0x80, 0x5a, 0x63, 0xd2, 0x41, + 0x3d, 0x68, 0xdb, 0x7b, 0xbd, 0xb6, 0x91, 0xd8, 0xa4, 0xfb, 0x66, 0x08, + 0x7e, 0x9e, 0xa8, 0x16, 0x0f, 0x02, 0x82, 0x79, 0x94, 0x7a, 0x6f, 0xb0, +}; +static const unsigned char kat4173_nonce[] = {0}; +static const unsigned char kat4173_persstr[] = { + 0x1e, 0x6d, 0x2e, 0x30, 0xc6, 0xe8, 0x36, 0xbc, 0x55, 0xfb, 0x6e, 0x7e, + 0xb3, 0x62, 0x35, 0x36, 0x76, 0x6d, 0x94, 0x64, 0x40, 0x15, 0xc6, 0xa9, + 0xc1, 0x61, 0x9d, 0x6e, 0x3c, 0x13, 0x2a, 0x7d, 0x2b, 0x84, 0xf7, 0x52, + 0x24, 0x05, 0xe5, 0xff, 0x0b, 0x7a, 0x76, 0xed, 0x36, 0x24, 0x7d, 0x97, +}; +static const unsigned char kat4173_entropyinpr1[] = { + 0x8c, 0xa8, 0xdc, 0x94, 0xc2, 0x64, 0xb6, 0xed, 0xa8, 0x87, 0x2d, 0x63, + 0x4c, 0xbe, 0x46, 0x6e, 0x1e, 0x95, 0x50, 0x92, 0x4e, 0xaf, 0x01, 0x41, + 0x15, 0x4a, 0x9a, 0x87, 0x11, 0x75, 0x65, 0x95, 0x36, 0xcb, 0xc4, 0x15, + 0x30, 0x48, 0xd6, 0x55, 0xbe, 0xf6, 0x08, 0x7e, 0x82, 0x7a, 0x99, 0x83, +}; +static const unsigned char kat4173_addinpr1[] = {0}; +static const unsigned char kat4173_entropyinpr2[] = { + 0xc3, 0x60, 0xe4, 0x20, 0x17, 0x17, 0xaa, 0x81, 0xf6, 0xbc, 0x52, 0x41, + 0xec, 0x07, 0xdd, 0x4b, 0xa2, 0x64, 0x8d, 0x4e, 0x8b, 0x26, 0x70, 0x4e, + 0x94, 0xd7, 0x95, 0xdb, 0x64, 0x12, 0x6c, 0x08, 0x32, 0x54, 0xff, 0xf5, + 0x7d, 0xc6, 0xba, 0x13, 0x63, 0x6c, 0xa4, 0xf0, 0x13, 0x34, 0x9a, 0x0c, +}; +static const unsigned char kat4173_addinpr2[] = {0}; +static const unsigned char kat4173_retbits[] = { + 0x41, 0x3f, 0x1b, 0xea, 0x6d, 0xa6, 0x40, 0x15, 0x28, 0x59, 0x12, 0x45, + 0x89, 0x38, 0x96, 0xca, 0xa6, 0x12, 0xc3, 0x0f, 0x38, 0x85, 0x49, 0x7d, + 0x9a, 0x54, 0xe2, 0xc1, 0xd8, 0x0b, 0x7b, 0xfc, 0xf3, 0x51, 0xb0, 0x06, + 0x04, 0x32, 0x9f, 0x72, 0x48, 0xc1, 0xf5, 0x35, 0x05, 0x23, 0x5b, 0x03, + 0x92, 0x8b, 0xaa, 0xce, 0x2e, 0xc9, 0x6e, 0xa9, 0x1d, 0x6b, 0x85, 0xb5, + 0x3a, 0x1d, 0xb4, 0x1c, +}; +static const struct drbg_kat_pr_true kat4173_t = { + 2, kat4173_entropyin, kat4173_nonce, kat4173_persstr, + kat4173_entropyinpr1, kat4173_addinpr1, kat4173_entropyinpr2, + kat4173_addinpr2, kat4173_retbits +}; +static const struct drbg_kat kat4173 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4173_t +}; + +static const unsigned char kat4174_entropyin[] = { + 0x0f, 0x84, 0xbb, 0xb0, 0xab, 0x2d, 0x2c, 0x4b, 0xc6, 0x3b, 0x76, 0x53, + 0x36, 0xc9, 0x50, 0xe2, 0x86, 0x68, 0x39, 0x74, 0x57, 0xda, 0x2a, 0x50, + 0x90, 0x74, 0x63, 0xc8, 0xb0, 0x03, 0x70, 0x61, 0x65, 0x21, 0xba, 0xf9, + 0xf7, 0x06, 0xf8, 0xdc, 0x2b, 0x2c, 0x68, 0xc9, 0x80, 0x75, 0x65, 0x09, +}; +static const unsigned char kat4174_nonce[] = {0}; +static const unsigned char kat4174_persstr[] = { + 0xd6, 0x0a, 0x73, 0x30, 0x95, 0x99, 0x5d, 0x9b, 0x29, 0xc8, 0x14, 0x38, + 0x6e, 0x0e, 0x20, 0x6d, 0x4e, 0xce, 0xc1, 0x65, 0xde, 0x3a, 0xe6, 0x6a, + 0xe2, 0x50, 0xb5, 0xb6, 0x40, 0x9e, 0x5c, 0xae, 0x42, 0x28, 0xfc, 0xd9, + 0xbe, 0x0e, 0x68, 0x03, 0xec, 0x95, 0xfc, 0x6c, 0x43, 0x8d, 0xba, 0xe3, +}; +static const unsigned char kat4174_entropyinpr1[] = { + 0x55, 0x2f, 0x7f, 0xa0, 0x33, 0x86, 0x5e, 0x49, 0x57, 0x18, 0xe6, 0xb1, + 0x8d, 0x92, 0xb8, 0x71, 0x97, 0xc3, 0x6a, 0x8c, 0x69, 0x9d, 0x73, 0x3a, + 0xe1, 0xab, 0x3b, 0xa9, 0xca, 0xe3, 0x29, 0x8d, 0xa3, 0xd9, 0xbf, 0x9b, + 0x08, 0xe4, 0xa2, 0xfd, 0x92, 0x54, 0x81, 0xd1, 0x2b, 0xdc, 0x15, 0x7e, +}; +static const unsigned char kat4174_addinpr1[] = {0}; +static const unsigned char kat4174_entropyinpr2[] = { + 0xc8, 0xe8, 0x5a, 0xfe, 0x35, 0x84, 0xf5, 0x74, 0x1f, 0x92, 0x38, 0xab, + 0xac, 0xf5, 0x70, 0x5d, 0x5b, 0xaf, 0xcd, 0x52, 0x4e, 0x06, 0xca, 0x40, + 0x63, 0x9b, 0x81, 0x8b, 0x44, 0xbc, 0x5c, 0xce, 0x29, 0xf3, 0xf3, 0x4c, + 0x6a, 0x33, 0x4f, 0x71, 0x08, 0xd8, 0x20, 0x6a, 0x6c, 0xb6, 0xaa, 0xbe, +}; +static const unsigned char kat4174_addinpr2[] = {0}; +static const unsigned char kat4174_retbits[] = { + 0x1d, 0x60, 0xb5, 0xda, 0xd2, 0xdd, 0x88, 0xe8, 0x54, 0x73, 0x5c, 0x2b, + 0xbb, 0xd8, 0x59, 0x11, 0xd3, 0xdb, 0xc5, 0xf7, 0x30, 0xb4, 0x3b, 0xe3, + 0x98, 0x8b, 0x06, 0xb6, 0x9e, 0xd9, 0xf0, 0x34, 0xcf, 0x80, 0x41, 0xac, + 0xf7, 0xe4, 0x71, 0x2b, 0x01, 0x99, 0x13, 0x83, 0xb1, 0xae, 0x8e, 0x7f, + 0x86, 0xe4, 0xa0, 0xe0, 0xf0, 0x4f, 0x43, 0x31, 0xb5, 0x6a, 0x05, 0x2b, + 0x80, 0x22, 0x69, 0x63, +}; +static const struct drbg_kat_pr_true kat4174_t = { + 3, kat4174_entropyin, kat4174_nonce, kat4174_persstr, + kat4174_entropyinpr1, kat4174_addinpr1, kat4174_entropyinpr2, + kat4174_addinpr2, kat4174_retbits +}; +static const struct drbg_kat kat4174 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4174_t +}; + +static const unsigned char kat4175_entropyin[] = { + 0x7d, 0xe6, 0xed, 0x34, 0xeb, 0x9f, 0x99, 0x17, 0x0b, 0x83, 0xe7, 0xc2, + 0xc9, 0xd0, 0xfe, 0xdc, 0xc7, 0x40, 0x0f, 0xc3, 0x78, 0x5b, 0x3d, 0x95, + 0xe9, 0xa3, 0xb6, 0x6f, 0x23, 0xa5, 0xd9, 0x04, 0xef, 0x7b, 0xb6, 0xbf, + 0x55, 0x79, 0x49, 0xe4, 0x14, 0xa7, 0x4d, 0x08, 0x64, 0x1d, 0x0a, 0xe5, +}; +static const unsigned char kat4175_nonce[] = {0}; +static const unsigned char kat4175_persstr[] = { + 0xb4, 0xe6, 0xff, 0x0f, 0x80, 0xf1, 0x94, 0xda, 0x05, 0xdd, 0xcd, 0x11, + 0x63, 0x27, 0x34, 0x08, 0xfa, 0x79, 0x67, 0xfb, 0xa6, 0xcc, 0x61, 0xd5, + 0xc6, 0xc4, 0x74, 0x80, 0x7b, 0x9c, 0xfd, 0x6d, 0x9c, 0xef, 0x43, 0x54, + 0x65, 0x62, 0xeb, 0x29, 0x42, 0xab, 0x95, 0xa2, 0xf6, 0x80, 0xc3, 0x21, +}; +static const unsigned char kat4175_entropyinpr1[] = { + 0xdf, 0x46, 0xcc, 0x6a, 0xbc, 0xc8, 0x7b, 0xdf, 0x1f, 0x9d, 0x7c, 0x5d, + 0xb7, 0x9d, 0x83, 0x6d, 0xb1, 0xe1, 0x81, 0x9a, 0x7d, 0x38, 0xe2, 0xae, + 0xf0, 0x29, 0xfc, 0x43, 0x29, 0x27, 0xca, 0x12, 0x55, 0x7c, 0x56, 0x60, + 0x0c, 0x5d, 0x36, 0x62, 0x7d, 0x74, 0xdf, 0x7a, 0xce, 0x71, 0x7a, 0x7c, +}; +static const unsigned char kat4175_addinpr1[] = {0}; +static const unsigned char kat4175_entropyinpr2[] = { + 0xbe, 0x56, 0xa8, 0x05, 0x09, 0xcf, 0xda, 0x36, 0xac, 0x0f, 0x8f, 0x77, + 0xff, 0xfc, 0x0a, 0x64, 0xac, 0x4f, 0x6b, 0x03, 0xda, 0xf0, 0x07, 0x35, + 0xbf, 0x6c, 0x32, 0x56, 0xdd, 0x2b, 0xea, 0xb1, 0x84, 0x4f, 0xf4, 0x61, + 0x79, 0x3d, 0xe4, 0x9c, 0x01, 0xf1, 0x4b, 0x1e, 0xa1, 0x79, 0xd5, 0xaf, +}; +static const unsigned char kat4175_addinpr2[] = {0}; +static const unsigned char kat4175_retbits[] = { + 0x74, 0xac, 0x73, 0x87, 0xea, 0x35, 0x20, 0xcf, 0xae, 0xad, 0x45, 0x5c, + 0x43, 0x12, 0xc9, 0xfa, 0x7d, 0x4d, 0xc0, 0xf5, 0x03, 0x73, 0x92, 0x70, + 0x04, 0xbf, 0xd2, 0xc8, 0x4a, 0x92, 0xb4, 0x73, 0x00, 0x95, 0x20, 0xc3, + 0x58, 0xf6, 0xd1, 0xd6, 0xce, 0xcd, 0xf9, 0x2d, 0x01, 0xa8, 0xa5, 0xa4, + 0xea, 0xd2, 0xfb, 0xd4, 0x2d, 0x8f, 0xcf, 0xcb, 0x7f, 0xfd, 0xd5, 0x69, + 0x57, 0x03, 0x3c, 0xc7, +}; +static const struct drbg_kat_pr_true kat4175_t = { + 4, kat4175_entropyin, kat4175_nonce, kat4175_persstr, + kat4175_entropyinpr1, kat4175_addinpr1, kat4175_entropyinpr2, + kat4175_addinpr2, kat4175_retbits +}; +static const struct drbg_kat kat4175 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4175_t +}; + +static const unsigned char kat4176_entropyin[] = { + 0x47, 0xde, 0x65, 0x9a, 0xdb, 0x96, 0x2c, 0xd1, 0x60, 0xa5, 0xf8, 0xcf, + 0xb4, 0x55, 0x12, 0xb3, 0xc1, 0xc8, 0xcf, 0x08, 0x8b, 0xd5, 0xca, 0x42, + 0xe4, 0x36, 0x9a, 0x34, 0x6c, 0x57, 0x82, 0x94, 0x47, 0xb1, 0xe2, 0xf0, + 0x86, 0x36, 0xa5, 0x18, 0xb2, 0xeb, 0xf0, 0xd5, 0xff, 0xcd, 0x57, 0x79, +}; +static const unsigned char kat4176_nonce[] = {0}; +static const unsigned char kat4176_persstr[] = { + 0xbb, 0xe5, 0xa0, 0xac, 0x95, 0xe1, 0x2f, 0x4c, 0xc5, 0x17, 0x83, 0x95, + 0x3e, 0x41, 0x48, 0x7f, 0xcf, 0xf7, 0x8e, 0x45, 0x07, 0xbf, 0x8c, 0x4f, + 0xe7, 0x71, 0x59, 0x06, 0xf8, 0xce, 0xab, 0xce, 0xe2, 0x84, 0x74, 0x76, + 0x95, 0xf4, 0x84, 0xdc, 0x70, 0xac, 0x30, 0x4a, 0x82, 0x2f, 0xbd, 0x15, +}; +static const unsigned char kat4176_entropyinpr1[] = { + 0xc2, 0x09, 0xe6, 0xf9, 0x11, 0x8f, 0x3a, 0x83, 0x9c, 0xab, 0x0d, 0x8f, + 0xb6, 0x2a, 0x73, 0xfe, 0x9d, 0x5f, 0x94, 0xde, 0x68, 0x5a, 0x81, 0x9c, + 0x23, 0x51, 0x2a, 0x1e, 0xce, 0x92, 0xab, 0xdd, 0x2e, 0x0c, 0x5c, 0x5b, + 0x83, 0x65, 0xee, 0xc5, 0x43, 0x72, 0x13, 0x3e, 0x2f, 0x75, 0xef, 0x9d, +}; +static const unsigned char kat4176_addinpr1[] = {0}; +static const unsigned char kat4176_entropyinpr2[] = { + 0xed, 0xb4, 0x22, 0x5b, 0x9c, 0xfe, 0x1f, 0x37, 0x8b, 0xd4, 0x3b, 0xec, + 0x79, 0xd5, 0x09, 0xee, 0x35, 0xeb, 0xfb, 0xf5, 0xdd, 0xbd, 0x15, 0x54, + 0xe7, 0x61, 0xae, 0xdb, 0x38, 0x99, 0xde, 0x12, 0x34, 0xcd, 0x9a, 0xa4, + 0x7f, 0xfa, 0xf9, 0x5e, 0x13, 0x2c, 0x45, 0xe6, 0x12, 0x6a, 0xa6, 0x62, +}; +static const unsigned char kat4176_addinpr2[] = {0}; +static const unsigned char kat4176_retbits[] = { + 0x76, 0x43, 0x51, 0x04, 0xac, 0x69, 0x8d, 0x1c, 0x3e, 0x39, 0x97, 0xc7, + 0x2a, 0x43, 0xa0, 0x67, 0x41, 0x01, 0x8c, 0xd4, 0x7a, 0x0d, 0x6a, 0x8f, + 0xaa, 0x6b, 0x10, 0x7d, 0x0c, 0x3a, 0x53, 0x7d, 0x49, 0x10, 0x9d, 0x1b, + 0x3e, 0x37, 0x5d, 0x10, 0x44, 0x8f, 0x2b, 0xa0, 0x53, 0xbd, 0xcf, 0xc9, + 0x7b, 0x97, 0x2a, 0x99, 0x58, 0xd0, 0x64, 0x0f, 0x55, 0x7d, 0xf0, 0xf6, + 0xb8, 0x2d, 0x12, 0xa2, +}; +static const struct drbg_kat_pr_true kat4176_t = { + 5, kat4176_entropyin, kat4176_nonce, kat4176_persstr, + kat4176_entropyinpr1, kat4176_addinpr1, kat4176_entropyinpr2, + kat4176_addinpr2, kat4176_retbits +}; +static const struct drbg_kat kat4176 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4176_t +}; + +static const unsigned char kat4177_entropyin[] = { + 0xc0, 0xa6, 0xc2, 0x3d, 0xcf, 0xa1, 0xda, 0xbe, 0x7e, 0x73, 0x8f, 0x1d, + 0x38, 0x14, 0x38, 0x83, 0x59, 0x69, 0x91, 0x7f, 0xe5, 0x0d, 0xdd, 0xd3, + 0xff, 0x95, 0x58, 0x8e, 0x57, 0x1d, 0x39, 0xe7, 0x20, 0xce, 0x89, 0xb4, + 0xfd, 0x6a, 0x1f, 0xe1, 0x33, 0x7e, 0x5f, 0xda, 0x56, 0xf4, 0x42, 0xf9, +}; +static const unsigned char kat4177_nonce[] = {0}; +static const unsigned char kat4177_persstr[] = { + 0xba, 0xca, 0xa2, 0x50, 0x4e, 0x26, 0xd5, 0xeb, 0xaf, 0x6d, 0x90, 0x89, + 0xb6, 0xba, 0xac, 0x77, 0xa4, 0x44, 0xd2, 0x11, 0x7d, 0x9d, 0x49, 0xdf, + 0x8f, 0x7f, 0x3b, 0x2e, 0x0d, 0x56, 0x7f, 0xba, 0x07, 0x63, 0x5e, 0x67, + 0x0c, 0x27, 0x05, 0x37, 0x8c, 0xce, 0x33, 0x0b, 0xba, 0x40, 0x60, 0xdf, +}; +static const unsigned char kat4177_entropyinpr1[] = { + 0xcd, 0x1e, 0x9b, 0xba, 0xa3, 0x1a, 0xb9, 0x61, 0x7a, 0x1b, 0xcf, 0xe6, + 0xae, 0x4e, 0x3a, 0xad, 0xd6, 0x06, 0x61, 0xf6, 0x88, 0x2b, 0xe7, 0x2e, + 0x4b, 0xba, 0x4d, 0x62, 0x0c, 0x2b, 0x37, 0x2c, 0xc1, 0x75, 0x85, 0x7f, + 0x1b, 0xfb, 0xd6, 0x8e, 0x6a, 0x17, 0xa0, 0x3e, 0xd6, 0xa9, 0x34, 0x7a, +}; +static const unsigned char kat4177_addinpr1[] = {0}; +static const unsigned char kat4177_entropyinpr2[] = { + 0x95, 0x9e, 0x9b, 0xef, 0xd3, 0x76, 0x56, 0xbe, 0xeb, 0xfe, 0xf2, 0x05, + 0x9b, 0x8c, 0xe5, 0x95, 0x61, 0xed, 0x32, 0xb7, 0x1f, 0x45, 0xdf, 0x37, + 0x8a, 0xda, 0x24, 0xb0, 0x0f, 0xeb, 0x30, 0x5f, 0xb6, 0x24, 0x23, 0xc3, + 0xc8, 0x69, 0xc7, 0x64, 0xa8, 0x60, 0x37, 0x75, 0xba, 0xce, 0x61, 0xc2, +}; +static const unsigned char kat4177_addinpr2[] = {0}; +static const unsigned char kat4177_retbits[] = { + 0x45, 0xb0, 0x98, 0xda, 0x0a, 0xb2, 0x46, 0xb6, 0xe3, 0x80, 0x91, 0x66, + 0xda, 0x3c, 0x97, 0x03, 0x0b, 0x16, 0x44, 0x76, 0x96, 0x02, 0xe5, 0xb4, + 0x81, 0x19, 0xf8, 0xbf, 0x05, 0x2c, 0xd1, 0x54, 0x78, 0x6f, 0xd0, 0x27, + 0xb2, 0x7a, 0x56, 0xef, 0xf6, 0x54, 0xab, 0x82, 0x6e, 0x33, 0xf7, 0x68, + 0x24, 0x69, 0x86, 0xfb, 0x6a, 0xa2, 0xf1, 0x47, 0xd4, 0x9c, 0xb4, 0x1d, + 0xfc, 0x34, 0xb7, 0xb5, +}; +static const struct drbg_kat_pr_true kat4177_t = { + 6, kat4177_entropyin, kat4177_nonce, kat4177_persstr, + kat4177_entropyinpr1, kat4177_addinpr1, kat4177_entropyinpr2, + kat4177_addinpr2, kat4177_retbits +}; +static const struct drbg_kat kat4177 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4177_t +}; + +static const unsigned char kat4178_entropyin[] = { + 0x83, 0x8f, 0x6f, 0x39, 0x6e, 0x44, 0xff, 0x06, 0x60, 0x97, 0xb7, 0xb3, + 0x8a, 0x1d, 0xf6, 0x7e, 0x0f, 0x36, 0x76, 0x6c, 0xdd, 0x5d, 0x5b, 0x7c, + 0x96, 0xb1, 0x08, 0xde, 0xfb, 0xa1, 0x89, 0x06, 0xde, 0x5e, 0x15, 0xc5, + 0xda, 0xf7, 0xb3, 0xbf, 0xdc, 0x9c, 0x5e, 0xff, 0xd7, 0x64, 0x2f, 0xeb, +}; +static const unsigned char kat4178_nonce[] = {0}; +static const unsigned char kat4178_persstr[] = { + 0xae, 0x69, 0x0a, 0x5f, 0x00, 0xd3, 0x70, 0x7c, 0xd1, 0x77, 0x80, 0x5d, + 0xec, 0xfe, 0x8a, 0x07, 0x2b, 0xf5, 0x64, 0xd2, 0xd7, 0x5b, 0xdc, 0x38, + 0xec, 0x96, 0x4d, 0x58, 0x87, 0x83, 0x99, 0x7c, 0x69, 0x3f, 0x6e, 0x3b, + 0xca, 0x1c, 0x60, 0x1b, 0x97, 0x4c, 0xa5, 0x7e, 0x09, 0x31, 0x22, 0x31, +}; +static const unsigned char kat4178_entropyinpr1[] = { + 0x27, 0x03, 0xe7, 0x81, 0xf9, 0x88, 0x1f, 0x7d, 0xbd, 0xa1, 0x98, 0xa3, + 0xea, 0x64, 0x6f, 0xe8, 0xc8, 0xe8, 0xd1, 0xd2, 0xa3, 0x15, 0x5e, 0xe0, + 0x05, 0xc5, 0x4e, 0xcf, 0xc7, 0xe5, 0xf1, 0x85, 0x3e, 0x23, 0xa1, 0x5b, + 0xae, 0x25, 0x5a, 0x5a, 0xbb, 0xc8, 0x6c, 0xcb, 0xe6, 0x38, 0x9a, 0x8b, +}; +static const unsigned char kat4178_addinpr1[] = {0}; +static const unsigned char kat4178_entropyinpr2[] = { + 0x65, 0xd9, 0x88, 0x23, 0x2a, 0xa8, 0xf7, 0xea, 0x61, 0x17, 0x96, 0xc9, + 0x65, 0xb1, 0xca, 0x40, 0x50, 0x5b, 0x56, 0xfd, 0x4f, 0x69, 0xc7, 0x83, + 0xcf, 0xb8, 0x38, 0x3d, 0xc4, 0x39, 0x59, 0xbd, 0x94, 0x14, 0x0e, 0x29, + 0xe9, 0xf6, 0x18, 0x4f, 0x06, 0x0d, 0xdd, 0x57, 0xff, 0x27, 0x2d, 0x36, +}; +static const unsigned char kat4178_addinpr2[] = {0}; +static const unsigned char kat4178_retbits[] = { + 0xd9, 0x8f, 0xba, 0x08, 0x11, 0xdc, 0x0f, 0x1b, 0xc9, 0x2c, 0x7a, 0xae, + 0x33, 0xfd, 0x71, 0x9b, 0xa8, 0x3f, 0x26, 0x3c, 0xb8, 0x06, 0xa0, 0x52, + 0xc1, 0xd9, 0x89, 0x84, 0xdf, 0xb7, 0x1b, 0x59, 0xd7, 0x42, 0xa0, 0xfc, + 0x8a, 0x92, 0xfa, 0x06, 0x3a, 0x4e, 0x29, 0x3d, 0xc9, 0x98, 0xee, 0x75, + 0x67, 0x80, 0x06, 0x7a, 0x51, 0x99, 0xa8, 0xaf, 0x1d, 0x4b, 0x24, 0x61, + 0xaa, 0x2a, 0xcc, 0x6c, +}; +static const struct drbg_kat_pr_true kat4178_t = { + 7, kat4178_entropyin, kat4178_nonce, kat4178_persstr, + kat4178_entropyinpr1, kat4178_addinpr1, kat4178_entropyinpr2, + kat4178_addinpr2, kat4178_retbits +}; +static const struct drbg_kat kat4178 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4178_t +}; + +static const unsigned char kat4179_entropyin[] = { + 0xd9, 0x24, 0x4b, 0xff, 0x15, 0x02, 0xd5, 0x9d, 0x62, 0x67, 0xc3, 0xfc, + 0x75, 0x24, 0x22, 0x21, 0x83, 0x20, 0x65, 0xda, 0x1e, 0x59, 0xa0, 0xea, + 0x72, 0x81, 0x2b, 0x7a, 0xd6, 0x07, 0xbd, 0x49, 0x8b, 0xf5, 0x5b, 0xc9, + 0xe8, 0x68, 0x81, 0x7b, 0xc1, 0x2e, 0xfc, 0xe6, 0x1b, 0xd2, 0x8b, 0xd8, +}; +static const unsigned char kat4179_nonce[] = {0}; +static const unsigned char kat4179_persstr[] = { + 0xf3, 0x25, 0x1e, 0x3e, 0xd5, 0xfd, 0x1a, 0x0c, 0x3c, 0xac, 0x56, 0x72, + 0x5a, 0xba, 0x5c, 0x1e, 0x8b, 0xbc, 0xb2, 0x85, 0xa4, 0xb0, 0x55, 0x55, + 0xd0, 0x6e, 0x45, 0xbe, 0xbe, 0x65, 0x5a, 0xc2, 0x4b, 0x00, 0x92, 0x7d, + 0xc9, 0x27, 0x8b, 0xf9, 0x39, 0x3a, 0x76, 0x20, 0x33, 0xe6, 0x9f, 0x64, +}; +static const unsigned char kat4179_entropyinpr1[] = { + 0xe8, 0x8c, 0x32, 0xd8, 0xd7, 0xa9, 0x69, 0x47, 0xe4, 0x75, 0x7e, 0x10, + 0xba, 0x3d, 0x4d, 0x88, 0x97, 0x22, 0xbc, 0x1b, 0xcc, 0x9a, 0x49, 0x1b, + 0x21, 0x6a, 0xac, 0xeb, 0x08, 0xe8, 0x32, 0xe1, 0x61, 0xa1, 0x11, 0x1a, + 0x52, 0x48, 0xd9, 0x48, 0x1a, 0xbf, 0x44, 0x44, 0x13, 0x79, 0x52, 0x19, +}; +static const unsigned char kat4179_addinpr1[] = {0}; +static const unsigned char kat4179_entropyinpr2[] = { + 0xbc, 0x44, 0xea, 0x67, 0x7f, 0xba, 0x5a, 0xc0, 0x62, 0x07, 0x68, 0x41, + 0x0c, 0xfa, 0x92, 0x9b, 0xd7, 0x09, 0x69, 0x3c, 0xf1, 0x87, 0x2a, 0xf1, + 0x6e, 0x0e, 0x2f, 0x3c, 0x53, 0x0d, 0x3c, 0xbc, 0x86, 0xe3, 0x8d, 0xc0, + 0x43, 0x6f, 0x95, 0x6d, 0xcf, 0x3c, 0x90, 0xfe, 0x6f, 0x0a, 0x1f, 0x85, +}; +static const unsigned char kat4179_addinpr2[] = {0}; +static const unsigned char kat4179_retbits[] = { + 0xab, 0xc0, 0x56, 0x13, 0x0c, 0xcc, 0x21, 0x17, 0x49, 0x2c, 0xeb, 0xf2, + 0x22, 0xbc, 0x29, 0x94, 0x75, 0x7e, 0xd2, 0x76, 0xa6, 0x52, 0xf4, 0x19, + 0xf4, 0x5e, 0x1f, 0x8f, 0xeb, 0x79, 0x3c, 0x29, 0x0d, 0x66, 0xe2, 0x7a, + 0x30, 0xb6, 0x73, 0x13, 0x86, 0x2d, 0xcb, 0x02, 0xb7, 0x8e, 0xaa, 0x4f, + 0xd3, 0xb8, 0x8a, 0x55, 0xa9, 0xcc, 0x15, 0xd2, 0xf0, 0x40, 0x25, 0x03, + 0x4d, 0xe6, 0xaf, 0x1f, +}; +static const struct drbg_kat_pr_true kat4179_t = { + 8, kat4179_entropyin, kat4179_nonce, kat4179_persstr, + kat4179_entropyinpr1, kat4179_addinpr1, kat4179_entropyinpr2, + kat4179_addinpr2, kat4179_retbits +}; +static const struct drbg_kat kat4179 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4179_t +}; + +static const unsigned char kat4180_entropyin[] = { + 0x5a, 0xcf, 0x21, 0x09, 0x2e, 0x40, 0x20, 0xfd, 0xd1, 0xc0, 0xf7, 0xfd, + 0xbb, 0xa9, 0x6e, 0x8d, 0xd4, 0xb6, 0x0c, 0x5e, 0x3e, 0xd5, 0x7a, 0x8e, + 0x02, 0xbf, 0x74, 0x6e, 0xcb, 0x60, 0xe2, 0xbd, 0xf0, 0x00, 0x96, 0x44, + 0x5a, 0x0d, 0x42, 0x6b, 0x14, 0x00, 0x20, 0x40, 0x1a, 0x88, 0x76, 0x62, +}; +static const unsigned char kat4180_nonce[] = {0}; +static const unsigned char kat4180_persstr[] = { + 0xcb, 0x4c, 0xbe, 0x45, 0xb3, 0x54, 0xfc, 0x73, 0xbd, 0x9e, 0x79, 0x3f, + 0xe2, 0xab, 0x67, 0x12, 0x85, 0x2c, 0x10, 0x9f, 0x1d, 0xac, 0x7c, 0x93, + 0x52, 0x8f, 0x29, 0xea, 0xbe, 0x1a, 0x1e, 0xe8, 0x76, 0xab, 0x8a, 0x1c, + 0x32, 0x33, 0x85, 0x55, 0xd3, 0x55, 0xfe, 0xd7, 0x97, 0x08, 0x41, 0xd0, +}; +static const unsigned char kat4180_entropyinpr1[] = { + 0x2a, 0xa6, 0xe6, 0x1e, 0x14, 0xde, 0xb5, 0xb1, 0xc7, 0x7d, 0x12, 0xa7, + 0x78, 0xf3, 0xdc, 0x50, 0x47, 0x63, 0xf0, 0x7d, 0x5e, 0xd0, 0xf8, 0x58, + 0xc1, 0x91, 0xbe, 0x50, 0xa3, 0x81, 0xd0, 0xc2, 0x83, 0xb0, 0x4a, 0xe2, + 0x1b, 0xf4, 0x9a, 0xc5, 0x7d, 0x78, 0x02, 0x8d, 0xe4, 0xd0, 0x64, 0xf2, +}; +static const unsigned char kat4180_addinpr1[] = {0}; +static const unsigned char kat4180_entropyinpr2[] = { + 0x84, 0xe0, 0x45, 0x9e, 0x43, 0x9a, 0x1d, 0x57, 0x19, 0x32, 0xb8, 0xf0, + 0xdc, 0x4b, 0x25, 0x92, 0x91, 0x12, 0x23, 0xa4, 0x44, 0x9b, 0x18, 0x8b, + 0xd6, 0x69, 0x84, 0xda, 0x37, 0xc0, 0xa4, 0x89, 0x0e, 0x5b, 0x92, 0xcb, + 0x01, 0x1a, 0xa1, 0xa8, 0x99, 0xa9, 0x2f, 0xb6, 0x37, 0x46, 0xa6, 0xb2, +}; +static const unsigned char kat4180_addinpr2[] = {0}; +static const unsigned char kat4180_retbits[] = { + 0x78, 0xc2, 0xea, 0x5a, 0xb4, 0x94, 0x3d, 0x95, 0xd1, 0x1d, 0xcd, 0x40, + 0x03, 0x1e, 0xf2, 0xfd, 0x00, 0xc9, 0x38, 0x04, 0x29, 0x2d, 0xa5, 0x35, + 0x53, 0x8c, 0x71, 0x82, 0x09, 0x9e, 0xe5, 0x42, 0x24, 0xcb, 0xad, 0xbf, + 0x52, 0x92, 0x41, 0x8b, 0x52, 0x3f, 0xab, 0x8f, 0xf1, 0x61, 0xa1, 0x91, + 0xd9, 0xac, 0x6c, 0x1d, 0xeb, 0x80, 0xf3, 0x1c, 0x67, 0x58, 0xb8, 0x80, + 0x5d, 0x85, 0xf1, 0xdd, +}; +static const struct drbg_kat_pr_true kat4180_t = { + 9, kat4180_entropyin, kat4180_nonce, kat4180_persstr, + kat4180_entropyinpr1, kat4180_addinpr1, kat4180_entropyinpr2, + kat4180_addinpr2, kat4180_retbits +}; +static const struct drbg_kat kat4180 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4180_t +}; + +static const unsigned char kat4181_entropyin[] = { + 0x8d, 0xe8, 0xb5, 0xea, 0x57, 0x73, 0xe8, 0x22, 0xc3, 0x8a, 0xea, 0xa3, + 0xa7, 0xaf, 0x9a, 0x8b, 0x99, 0x51, 0x44, 0x21, 0x11, 0x09, 0x55, 0x4c, + 0x84, 0x70, 0x7a, 0x35, 0xdb, 0xce, 0xae, 0xc1, 0x66, 0x87, 0xe6, 0x03, + 0xe1, 0x34, 0xfe, 0x1c, 0x4b, 0xf4, 0x2b, 0xee, 0xd3, 0xf1, 0xb8, 0x83, +}; +static const unsigned char kat4181_nonce[] = {0}; +static const unsigned char kat4181_persstr[] = { + 0x32, 0x02, 0x15, 0x7a, 0x7d, 0xf2, 0x21, 0x99, 0x0b, 0x39, 0x65, 0x1d, + 0xa9, 0x97, 0x41, 0xff, 0xf3, 0x4c, 0x51, 0xe6, 0x11, 0x10, 0xef, 0xde, + 0xe9, 0x81, 0x81, 0x98, 0x7e, 0xd3, 0xa3, 0x24, 0xa1, 0xb4, 0x7f, 0x85, + 0x4c, 0x07, 0xba, 0xe8, 0x10, 0x04, 0x42, 0xf7, 0x12, 0x84, 0x23, 0xc0, +}; +static const unsigned char kat4181_entropyinpr1[] = { + 0x52, 0x27, 0xbd, 0x6b, 0x42, 0x1d, 0x4a, 0xb8, 0xae, 0xb0, 0x2d, 0xba, + 0xf6, 0xe9, 0x9b, 0xe2, 0x7c, 0x85, 0x82, 0xa0, 0x5f, 0xe6, 0x71, 0x86, + 0xab, 0xf0, 0x27, 0xf0, 0xd1, 0xc8, 0x0f, 0xc3, 0x57, 0xf1, 0x2b, 0x91, + 0xcb, 0xdd, 0x5d, 0x6e, 0x9e, 0xab, 0x4c, 0x46, 0x7b, 0x1d, 0xbf, 0x2b, +}; +static const unsigned char kat4181_addinpr1[] = {0}; +static const unsigned char kat4181_entropyinpr2[] = { + 0x3b, 0xc5, 0xc4, 0x24, 0xed, 0x68, 0x7a, 0x1c, 0xbd, 0xb8, 0xf9, 0x2f, + 0xb3, 0x39, 0xd6, 0x6d, 0x28, 0xe6, 0x39, 0x61, 0xdb, 0xb3, 0xe4, 0xd3, + 0xae, 0x2f, 0x7e, 0x29, 0xdb, 0xe3, 0x8d, 0xdb, 0xab, 0x54, 0xee, 0x09, + 0x32, 0xf6, 0x42, 0x26, 0x2c, 0x33, 0xf6, 0x86, 0x16, 0xd7, 0x25, 0x36, +}; +static const unsigned char kat4181_addinpr2[] = {0}; +static const unsigned char kat4181_retbits[] = { + 0xcf, 0xf3, 0x03, 0x30, 0xad, 0xad, 0xf8, 0x91, 0x5f, 0x25, 0xf1, 0xd5, + 0x0c, 0x27, 0xff, 0xe6, 0x02, 0x00, 0x7f, 0xb1, 0xfe, 0x5b, 0x69, 0xec, + 0x0e, 0x48, 0x11, 0x77, 0x5b, 0x89, 0xc0, 0xfc, 0xcd, 0x7d, 0xbf, 0x8a, + 0x18, 0x1c, 0xd7, 0xbf, 0x0d, 0x3a, 0x7d, 0x1d, 0xa1, 0x26, 0xc7, 0x25, + 0x20, 0x09, 0xfb, 0xbc, 0x84, 0x22, 0x93, 0x74, 0xc0, 0x09, 0x1c, 0xd0, + 0x86, 0xb7, 0xde, 0x4e, +}; +static const struct drbg_kat_pr_true kat4181_t = { + 10, kat4181_entropyin, kat4181_nonce, kat4181_persstr, + kat4181_entropyinpr1, kat4181_addinpr1, kat4181_entropyinpr2, + kat4181_addinpr2, kat4181_retbits +}; +static const struct drbg_kat kat4181 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4181_t +}; + +static const unsigned char kat4182_entropyin[] = { + 0x1f, 0x69, 0xcd, 0x5e, 0x19, 0x20, 0x34, 0x43, 0xee, 0x52, 0x12, 0xc6, + 0xf9, 0xd4, 0x47, 0x4f, 0xf8, 0x6a, 0x2c, 0xbc, 0xa0, 0x83, 0x0a, 0xe2, + 0x87, 0x79, 0xa3, 0xb0, 0xfc, 0x14, 0xa8, 0x5f, 0x3c, 0x98, 0x2a, 0xc6, + 0x0d, 0x03, 0x45, 0x7e, 0xed, 0xf8, 0x77, 0x89, 0x2a, 0x0c, 0xc7, 0xad, +}; +static const unsigned char kat4182_nonce[] = {0}; +static const unsigned char kat4182_persstr[] = { + 0x0b, 0x46, 0xbb, 0xb8, 0xae, 0xac, 0xd4, 0x89, 0x4c, 0xee, 0xb0, 0x5d, + 0xf6, 0xe4, 0x5d, 0x91, 0x03, 0xf9, 0x8d, 0x94, 0x84, 0xee, 0x20, 0xc8, + 0x7f, 0x6a, 0x49, 0x4b, 0x97, 0x49, 0x5e, 0x6d, 0x46, 0xe9, 0x97, 0x72, + 0x7d, 0xd1, 0x05, 0x57, 0x5f, 0xd0, 0xa8, 0x4f, 0x24, 0x37, 0x91, 0xf5, +}; +static const unsigned char kat4182_entropyinpr1[] = { + 0x2d, 0xaf, 0x4a, 0x7f, 0x3a, 0x84, 0xee, 0x9b, 0x9a, 0x55, 0x28, 0x47, + 0x26, 0x87, 0x1d, 0xc9, 0x5c, 0x0e, 0x5f, 0x9a, 0x67, 0x9d, 0x4d, 0xfc, + 0xea, 0x9f, 0x7b, 0xd8, 0xb3, 0x20, 0xd0, 0x54, 0xf3, 0x7a, 0xdb, 0xc4, + 0x6e, 0x3e, 0x43, 0x45, 0x0a, 0x78, 0x1c, 0xef, 0x74, 0x0f, 0x80, 0xde, +}; +static const unsigned char kat4182_addinpr1[] = {0}; +static const unsigned char kat4182_entropyinpr2[] = { + 0xd5, 0x05, 0x46, 0x34, 0x83, 0xdf, 0x6d, 0x55, 0xe4, 0xa5, 0x4f, 0xed, + 0x2a, 0x9f, 0xea, 0xaa, 0x0f, 0x46, 0x68, 0x03, 0x6d, 0x58, 0x24, 0x39, + 0xfc, 0x56, 0x41, 0xf7, 0x9b, 0xa1, 0x9a, 0xc0, 0xc4, 0xea, 0x2f, 0x5a, + 0x1c, 0x72, 0xa2, 0xe6, 0x8c, 0x33, 0x41, 0xfc, 0xc7, 0x06, 0xdc, 0xa9, +}; +static const unsigned char kat4182_addinpr2[] = {0}; +static const unsigned char kat4182_retbits[] = { + 0xe3, 0x0b, 0xda, 0x86, 0x2a, 0x30, 0xe7, 0x30, 0xbb, 0xa5, 0xb1, 0x71, + 0xe4, 0xf7, 0x8e, 0x74, 0xdf, 0x8c, 0xfd, 0xab, 0x14, 0x35, 0x61, 0xef, + 0x0e, 0x40, 0x89, 0x2c, 0x31, 0x9b, 0x58, 0xde, 0xee, 0xbb, 0x33, 0x91, + 0x41, 0x24, 0x6c, 0xa7, 0xe9, 0x47, 0xd1, 0xff, 0x11, 0xc7, 0xaf, 0xbf, + 0x1a, 0x85, 0xe6, 0xb1, 0x80, 0x1b, 0xd2, 0x72, 0x42, 0x24, 0xe6, 0xaa, + 0xd3, 0xbb, 0x54, 0xc3, +}; +static const struct drbg_kat_pr_true kat4182_t = { + 11, kat4182_entropyin, kat4182_nonce, kat4182_persstr, + kat4182_entropyinpr1, kat4182_addinpr1, kat4182_entropyinpr2, + kat4182_addinpr2, kat4182_retbits +}; +static const struct drbg_kat kat4182 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4182_t +}; + +static const unsigned char kat4183_entropyin[] = { + 0x3e, 0x3a, 0xf7, 0x3f, 0x01, 0x39, 0x1e, 0x84, 0x98, 0x47, 0x73, 0x0e, + 0x7e, 0xfb, 0xdc, 0xe6, 0xa5, 0x93, 0x5d, 0x48, 0xf5, 0xac, 0x4b, 0x02, + 0x34, 0x5f, 0x6e, 0x58, 0x2b, 0x32, 0xc0, 0xe6, 0xcb, 0x98, 0xf7, 0xe6, + 0xb1, 0xb5, 0x57, 0xcc, 0xbe, 0x2d, 0x8f, 0x50, 0xa1, 0x38, 0x49, 0x98, +}; +static const unsigned char kat4183_nonce[] = {0}; +static const unsigned char kat4183_persstr[] = { + 0xb5, 0x78, 0x96, 0xa8, 0x49, 0x33, 0x6f, 0x68, 0x86, 0x5e, 0xfc, 0xde, + 0xa5, 0x6b, 0xd5, 0xb0, 0x6b, 0x94, 0x2a, 0xb3, 0xf6, 0x26, 0x31, 0xc2, + 0x26, 0x70, 0x16, 0xf5, 0xab, 0xcc, 0xa8, 0xb9, 0xcd, 0xde, 0x77, 0x89, + 0xcc, 0xd4, 0x7f, 0xb1, 0x75, 0x58, 0xf3, 0xad, 0x87, 0xe5, 0xaf, 0xc6, +}; +static const unsigned char kat4183_entropyinpr1[] = { + 0x59, 0xcc, 0x84, 0x71, 0xb3, 0xc8, 0xf6, 0x36, 0xf1, 0x9a, 0xad, 0x5c, + 0xb3, 0x90, 0x6a, 0xbf, 0x43, 0xd6, 0xeb, 0x83, 0xf1, 0x5e, 0x33, 0x57, + 0x8f, 0x13, 0xb1, 0xc5, 0xc3, 0xf4, 0x70, 0x3f, 0x06, 0xf8, 0x94, 0xe1, + 0x80, 0x01, 0x72, 0xd3, 0xc3, 0xe0, 0x90, 0x3f, 0x93, 0xbd, 0x0e, 0x36, +}; +static const unsigned char kat4183_addinpr1[] = {0}; +static const unsigned char kat4183_entropyinpr2[] = { + 0xc9, 0x06, 0xe3, 0xfb, 0xcc, 0x2d, 0xee, 0xdf, 0xe7, 0xe6, 0x6d, 0xba, + 0x67, 0xca, 0x51, 0x0c, 0x4a, 0x6b, 0xc4, 0xb1, 0xf4, 0xbf, 0x73, 0x12, + 0xe7, 0x9a, 0x7a, 0xdb, 0x90, 0xc7, 0xb4, 0xb9, 0xc8, 0x0c, 0x4d, 0x27, + 0x79, 0xb7, 0x24, 0x3c, 0x8a, 0xf1, 0x01, 0x25, 0xf7, 0x46, 0xbc, 0xcd, +}; +static const unsigned char kat4183_addinpr2[] = {0}; +static const unsigned char kat4183_retbits[] = { + 0xe4, 0x17, 0xc2, 0xfa, 0xd0, 0xca, 0xc0, 0x58, 0xd1, 0x9f, 0x36, 0xf7, + 0xad, 0xd6, 0x6a, 0x76, 0xa4, 0xf5, 0xf5, 0x20, 0x85, 0x88, 0x6f, 0x87, + 0x26, 0xb0, 0xec, 0xbc, 0x9b, 0xae, 0xa0, 0xc5, 0x2b, 0xd9, 0xb1, 0x37, + 0x8c, 0x65, 0x05, 0x98, 0xf6, 0xf6, 0x17, 0x03, 0xbb, 0x0d, 0x3a, 0x1d, + 0x73, 0x5e, 0xaf, 0xa5, 0x00, 0xbe, 0x6f, 0xb0, 0x63, 0x7f, 0x20, 0x62, + 0x1d, 0xe0, 0x5e, 0x30, +}; +static const struct drbg_kat_pr_true kat4183_t = { + 12, kat4183_entropyin, kat4183_nonce, kat4183_persstr, + kat4183_entropyinpr1, kat4183_addinpr1, kat4183_entropyinpr2, + kat4183_addinpr2, kat4183_retbits +}; +static const struct drbg_kat kat4183 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4183_t +}; + +static const unsigned char kat4184_entropyin[] = { + 0x5e, 0xf5, 0x81, 0x3d, 0xb2, 0x54, 0x17, 0x16, 0x3e, 0x2d, 0xd8, 0x4f, + 0xd5, 0x7f, 0x7a, 0x37, 0x04, 0xc9, 0x21, 0xe0, 0x04, 0x70, 0x05, 0x60, + 0xd7, 0xa0, 0x2a, 0x34, 0x97, 0x01, 0xf8, 0x3c, 0xa4, 0x51, 0x86, 0xf9, + 0xbe, 0xe2, 0x36, 0x4c, 0x67, 0x9f, 0x67, 0xb0, 0x53, 0xb3, 0x44, 0x76, +}; +static const unsigned char kat4184_nonce[] = {0}; +static const unsigned char kat4184_persstr[] = { + 0x70, 0x1b, 0x85, 0xa2, 0xe4, 0x61, 0xe8, 0xb3, 0x0a, 0x80, 0x15, 0xc5, + 0x39, 0x75, 0x47, 0x43, 0xee, 0xb2, 0x0d, 0x26, 0x78, 0xe9, 0x20, 0xf7, + 0xba, 0x3c, 0xe2, 0xf8, 0x53, 0xed, 0xb0, 0x06, 0xa8, 0xc7, 0xfd, 0xce, + 0x52, 0xde, 0xa9, 0x6e, 0x50, 0xff, 0x6f, 0xab, 0x44, 0x28, 0x4a, 0x4e, +}; +static const unsigned char kat4184_entropyinpr1[] = { + 0x1a, 0x9d, 0x67, 0xbf, 0x14, 0xa2, 0xc5, 0x30, 0x87, 0x51, 0xba, 0xd5, + 0x6f, 0x98, 0x14, 0x66, 0x54, 0xa2, 0x11, 0x4c, 0x0e, 0xd2, 0x97, 0x53, + 0xa3, 0x5f, 0xc3, 0x39, 0x3b, 0xe6, 0x12, 0xdd, 0xc9, 0x4f, 0x28, 0x35, + 0xb3, 0x51, 0xe4, 0x38, 0x90, 0x5c, 0x46, 0x57, 0xc5, 0x4c, 0x1f, 0x87, +}; +static const unsigned char kat4184_addinpr1[] = {0}; +static const unsigned char kat4184_entropyinpr2[] = { + 0xea, 0x4b, 0x31, 0xad, 0xcf, 0xd4, 0x63, 0x9c, 0x92, 0x82, 0x93, 0xdb, + 0xc0, 0x22, 0x23, 0xab, 0xf2, 0x6e, 0xcc, 0x05, 0x2a, 0x4a, 0x23, 0xed, + 0xa4, 0x45, 0x68, 0xde, 0xae, 0x57, 0x7e, 0x3f, 0xe5, 0xb9, 0xe6, 0x71, + 0xae, 0x44, 0xb4, 0x82, 0x76, 0xec, 0x39, 0x2c, 0x81, 0x70, 0x7a, 0xa8, +}; +static const unsigned char kat4184_addinpr2[] = {0}; +static const unsigned char kat4184_retbits[] = { + 0x77, 0x61, 0x1c, 0xf2, 0x93, 0xc7, 0xc8, 0x57, 0x2d, 0x4a, 0x75, 0x8c, + 0xf0, 0x2e, 0xee, 0xc6, 0xab, 0x0c, 0x8a, 0x23, 0xff, 0x17, 0x81, 0xcb, + 0xc6, 0xff, 0x10, 0x3b, 0x93, 0x48, 0xf1, 0x2d, 0xc4, 0xb3, 0x30, 0x96, + 0x30, 0x5d, 0xfe, 0x6d, 0x1d, 0x6c, 0x77, 0xdf, 0x86, 0x37, 0x74, 0x94, + 0x73, 0xb1, 0xd9, 0xf8, 0xdb, 0x79, 0x99, 0xeb, 0x45, 0x95, 0xcb, 0x71, + 0x4d, 0x91, 0x56, 0x7a, +}; +static const struct drbg_kat_pr_true kat4184_t = { + 13, kat4184_entropyin, kat4184_nonce, kat4184_persstr, + kat4184_entropyinpr1, kat4184_addinpr1, kat4184_entropyinpr2, + kat4184_addinpr2, kat4184_retbits +}; +static const struct drbg_kat kat4184 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4184_t +}; + +static const unsigned char kat4185_entropyin[] = { + 0xaf, 0xe8, 0x93, 0x39, 0xe7, 0x61, 0x5d, 0xe2, 0x57, 0xf3, 0x28, 0xa2, + 0x41, 0x28, 0x7b, 0x3b, 0xf3, 0xc8, 0xb5, 0x59, 0xab, 0x18, 0x2a, 0xf4, + 0x55, 0x79, 0x89, 0xcd, 0xca, 0xb2, 0x56, 0x76, 0x05, 0x6f, 0x84, 0xfd, + 0xdd, 0x55, 0xf4, 0xc3, 0x66, 0x30, 0x4f, 0xfe, 0x22, 0x28, 0x06, 0x71, +}; +static const unsigned char kat4185_nonce[] = {0}; +static const unsigned char kat4185_persstr[] = { + 0x62, 0x40, 0xd0, 0xea, 0x30, 0x08, 0xa9, 0xb5, 0x91, 0x53, 0xd3, 0x69, + 0x7c, 0xdc, 0xbd, 0x5e, 0x72, 0xa2, 0x82, 0xe6, 0xc9, 0xd4, 0xa2, 0x6b, + 0x42, 0x63, 0x21, 0x00, 0x50, 0xbb, 0xbc, 0x63, 0xab, 0x1f, 0xbc, 0x5b, + 0x16, 0xaa, 0x0d, 0xf4, 0x27, 0x84, 0xc9, 0x6a, 0xda, 0x6d, 0x6b, 0xdf, +}; +static const unsigned char kat4185_entropyinpr1[] = { + 0xc4, 0x36, 0xb7, 0x3a, 0xae, 0x53, 0x2f, 0xfb, 0x95, 0x0c, 0x6e, 0xd8, + 0x37, 0x53, 0xaa, 0x6d, 0xf0, 0x57, 0x1f, 0x11, 0xfd, 0x8e, 0x0a, 0xda, + 0xf3, 0x5b, 0xfa, 0xbc, 0x96, 0xcd, 0xa5, 0x75, 0x30, 0x5c, 0x24, 0x0d, + 0x8e, 0xb8, 0xb3, 0xb0, 0x01, 0x19, 0x1d, 0xab, 0x8e, 0xde, 0x87, 0xea, +}; +static const unsigned char kat4185_addinpr1[] = {0}; +static const unsigned char kat4185_entropyinpr2[] = { + 0xd3, 0xed, 0x76, 0x71, 0xeb, 0x3c, 0x2e, 0x0c, 0x11, 0x5e, 0xc9, 0xd6, + 0xd6, 0x84, 0x96, 0x4d, 0x39, 0x53, 0x3d, 0x76, 0x74, 0x13, 0xb6, 0x3e, + 0x0b, 0xf7, 0xc9, 0x56, 0xb4, 0x72, 0x05, 0xf8, 0xd5, 0x00, 0x1a, 0x96, + 0x50, 0xe7, 0xa1, 0xc7, 0x38, 0x1f, 0x11, 0x0c, 0x9e, 0xcf, 0xe9, 0x2c, +}; +static const unsigned char kat4185_addinpr2[] = {0}; +static const unsigned char kat4185_retbits[] = { + 0xf9, 0x9b, 0x7d, 0x88, 0xcc, 0xfe, 0x1c, 0x84, 0xc9, 0x94, 0x9c, 0x35, + 0x48, 0x63, 0x0e, 0xa2, 0xa9, 0xec, 0x03, 0x35, 0x43, 0xc6, 0x93, 0xc5, + 0xbf, 0x72, 0xa8, 0x2f, 0x40, 0x4c, 0x5e, 0xec, 0x5b, 0x2a, 0x09, 0xaf, + 0xb6, 0xc9, 0x5f, 0x10, 0xb4, 0x8f, 0xe4, 0x60, 0x80, 0x92, 0xe7, 0x21, + 0x32, 0x85, 0xaf, 0x83, 0xba, 0x13, 0x04, 0xac, 0xfe, 0xf8, 0x46, 0x06, + 0x0a, 0x1c, 0xf8, 0x60, +}; +static const struct drbg_kat_pr_true kat4185_t = { + 14, kat4185_entropyin, kat4185_nonce, kat4185_persstr, + kat4185_entropyinpr1, kat4185_addinpr1, kat4185_entropyinpr2, + kat4185_addinpr2, kat4185_retbits +}; +static const struct drbg_kat kat4185 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4185_t +}; + +static const unsigned char kat4186_entropyin[] = { + 0x0c, 0xc5, 0x9e, 0x38, 0x84, 0x53, 0x5f, 0xc2, 0xb7, 0xc3, 0x96, 0x8a, + 0x06, 0x3d, 0x5f, 0x20, 0x7c, 0x82, 0xa1, 0x11, 0x13, 0xe7, 0x40, 0xbd, + 0x72, 0xa7, 0xc9, 0xc8, 0x59, 0x22, 0xf6, 0x4d, 0x85, 0x55, 0x42, 0xc3, + 0x0a, 0x31, 0xe4, 0x45, 0x78, 0x88, 0x4c, 0x16, 0xf5, 0xf4, 0xe9, 0xda, +}; +static const unsigned char kat4186_nonce[] = {0}; +static const unsigned char kat4186_persstr[] = { + 0xed, 0xe7, 0xfe, 0x11, 0x12, 0x2d, 0x4f, 0xaa, 0xc0, 0x9a, 0xdb, 0xf3, + 0x36, 0x50, 0x72, 0x5e, 0x01, 0x99, 0x07, 0x27, 0xe4, 0x30, 0x9f, 0x92, + 0xe8, 0xba, 0xd8, 0xb2, 0x56, 0x2c, 0x44, 0x23, 0x68, 0x3b, 0xa1, 0xa6, + 0xca, 0x2a, 0x58, 0xdb, 0x08, 0x66, 0x34, 0xc9, 0xb5, 0xe5, 0x94, 0xda, +}; +static const unsigned char kat4186_entropyinpr1[] = { + 0xef, 0x92, 0x30, 0xa5, 0xc0, 0x08, 0xe8, 0x5e, 0x74, 0x1c, 0x6c, 0xd7, + 0xd7, 0xa3, 0x38, 0xed, 0x64, 0x3d, 0x6f, 0x39, 0x19, 0x0c, 0x6b, 0x2e, + 0xb7, 0xb0, 0xba, 0x56, 0x3d, 0x2b, 0xbc, 0x2b, 0x79, 0x71, 0xbd, 0xdb, + 0x54, 0xea, 0x0b, 0x85, 0x00, 0x0a, 0x85, 0x1a, 0x76, 0x68, 0x6f, 0x52, +}; +static const unsigned char kat4186_addinpr1[] = { + 0xcd, 0xfd, 0xc1, 0x60, 0xa8, 0xdd, 0x9a, 0x86, 0xc8, 0x6e, 0x86, 0xbb, + 0xef, 0x09, 0xca, 0x0d, 0x32, 0x36, 0x51, 0x9a, 0x20, 0x6f, 0xb9, 0x9e, + 0x01, 0x5c, 0x49, 0x1b, 0x1b, 0xf6, 0xb0, 0xa8, 0xf2, 0x9a, 0xd1, 0xd9, + 0x1c, 0xfb, 0xf0, 0x46, 0x30, 0x4d, 0x2b, 0xa3, 0xde, 0x21, 0xe1, 0xb6, +}; +static const unsigned char kat4186_entropyinpr2[] = { + 0x81, 0xe8, 0xd6, 0xfc, 0xa2, 0x1e, 0xe1, 0xeb, 0xf0, 0xb5, 0x85, 0x42, + 0xb3, 0x46, 0xa3, 0x11, 0xa4, 0x20, 0x52, 0xfb, 0x8c, 0x8f, 0x0f, 0x91, + 0x66, 0x15, 0xfc, 0x2e, 0xfc, 0xed, 0x80, 0x93, 0x1d, 0xaf, 0xd1, 0xe5, + 0xf2, 0xfd, 0xc2, 0x71, 0x99, 0x09, 0x1e, 0x12, 0x1b, 0x4c, 0x1e, 0x47, +}; +static const unsigned char kat4186_addinpr2[] = { + 0x50, 0x2d, 0x6d, 0xb7, 0x99, 0x02, 0xb2, 0x41, 0xe0, 0x20, 0x2c, 0xb7, + 0x12, 0x9a, 0x67, 0x45, 0xe9, 0x69, 0xf6, 0xb7, 0x82, 0x62, 0x33, 0x95, + 0x7c, 0x1f, 0x7a, 0xa7, 0x4d, 0x15, 0xeb, 0x88, 0x22, 0x84, 0x82, 0x18, + 0x15, 0x0d, 0x05, 0x9e, 0xd1, 0x49, 0x9e, 0x0e, 0xc3, 0xf7, 0x6f, 0xb9, +}; +static const unsigned char kat4186_retbits[] = { + 0x0f, 0x4d, 0xc9, 0x08, 0x97, 0x73, 0x6e, 0xa1, 0xc7, 0x1c, 0xda, 0x98, + 0xc9, 0xe4, 0x16, 0xdc, 0x8d, 0x3d, 0xf1, 0x97, 0x79, 0xb7, 0x0e, 0xf2, + 0x2f, 0x92, 0x99, 0x6b, 0x96, 0xcc, 0xf4, 0xf4, 0x20, 0xa6, 0x75, 0x45, + 0x03, 0xf4, 0x8c, 0x93, 0x27, 0xed, 0x02, 0xb0, 0x47, 0xbb, 0xd1, 0xcd, + 0x68, 0xbb, 0x82, 0xfc, 0xfa, 0x04, 0xa6, 0x47, 0x00, 0x98, 0x74, 0xcf, + 0xa6, 0x3a, 0xe1, 0xb4, +}; +static const struct drbg_kat_pr_true kat4186_t = { + 0, kat4186_entropyin, kat4186_nonce, kat4186_persstr, + kat4186_entropyinpr1, kat4186_addinpr1, kat4186_entropyinpr2, + kat4186_addinpr2, kat4186_retbits +}; +static const struct drbg_kat kat4186 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4186_t +}; + +static const unsigned char kat4187_entropyin[] = { + 0x82, 0xa0, 0xe1, 0x86, 0xda, 0xcc, 0x12, 0x30, 0xea, 0x7e, 0x71, 0x04, + 0x14, 0xa2, 0x5c, 0x0d, 0x6e, 0x6a, 0x67, 0x86, 0x1e, 0xbb, 0x2b, 0xa7, + 0x32, 0xab, 0x2c, 0xeb, 0x4a, 0x77, 0xe6, 0x94, 0xc0, 0xc0, 0x05, 0x63, + 0xd8, 0x41, 0x4f, 0xc4, 0xd7, 0x73, 0xcd, 0x41, 0x14, 0xf2, 0x77, 0xd0, +}; +static const unsigned char kat4187_nonce[] = {0}; +static const unsigned char kat4187_persstr[] = { + 0x84, 0x1b, 0xc3, 0x4d, 0xe2, 0xed, 0x87, 0x99, 0x4a, 0x6d, 0x58, 0xe0, + 0x77, 0x0c, 0xac, 0x79, 0x64, 0xc6, 0x11, 0x62, 0xf6, 0x24, 0xad, 0xd4, + 0xb6, 0xb3, 0x09, 0x20, 0x91, 0xfb, 0xe3, 0x2a, 0x7d, 0x27, 0x5c, 0x7b, + 0xd5, 0x74, 0xa3, 0x44, 0x90, 0xaf, 0x98, 0xa9, 0xf6, 0x49, 0xb3, 0x84, +}; +static const unsigned char kat4187_entropyinpr1[] = { + 0x83, 0x6a, 0x47, 0x81, 0x34, 0x9d, 0xb2, 0xfa, 0x4c, 0x57, 0xd1, 0xae, + 0x93, 0x03, 0x72, 0xfd, 0xe3, 0x94, 0x89, 0x0b, 0xcc, 0x2c, 0x40, 0x52, + 0xea, 0xef, 0x37, 0xcc, 0x7c, 0xf9, 0xcf, 0xda, 0x5d, 0x18, 0x36, 0x90, + 0x1b, 0x83, 0xf3, 0x64, 0x4e, 0x73, 0x27, 0x0c, 0xe5, 0x00, 0x50, 0x91, +}; +static const unsigned char kat4187_addinpr1[] = { + 0x48, 0xbd, 0x2e, 0x65, 0x5a, 0xbf, 0x5d, 0x85, 0x89, 0xd7, 0xa6, 0x01, + 0xa0, 0xb0, 0xca, 0xe4, 0xe3, 0xb7, 0x34, 0x1b, 0xda, 0x7b, 0xac, 0x7b, + 0xf7, 0x2b, 0x3b, 0xf2, 0x48, 0xf2, 0x27, 0x18, 0x75, 0xfb, 0xf6, 0x33, + 0x9b, 0xf3, 0x9e, 0x08, 0x83, 0x6c, 0xc8, 0x6d, 0x3f, 0x1e, 0xe2, 0x7e, +}; +static const unsigned char kat4187_entropyinpr2[] = { + 0x58, 0x56, 0x03, 0x42, 0x8e, 0xaf, 0x98, 0x54, 0x9e, 0xc5, 0xf8, 0x50, + 0xfe, 0x92, 0x36, 0x5d, 0x62, 0xec, 0x91, 0x90, 0x24, 0x42, 0x35, 0x2d, + 0x32, 0xb2, 0x75, 0xdb, 0xf6, 0xc8, 0x2d, 0x5c, 0xd2, 0x5d, 0xe9, 0xdc, + 0x0b, 0xe5, 0x2c, 0xaf, 0x8d, 0x24, 0x49, 0x86, 0xda, 0x58, 0x72, 0x2b, +}; +static const unsigned char kat4187_addinpr2[] = { + 0x28, 0xa2, 0x90, 0xd0, 0xed, 0x1e, 0xf7, 0x10, 0x10, 0x70, 0x04, 0xe7, + 0x28, 0x8e, 0x1d, 0x9e, 0xaf, 0x44, 0x9e, 0x6f, 0x8f, 0x01, 0x7e, 0x33, + 0xdc, 0xc3, 0xb5, 0x5e, 0xad, 0x1a, 0x11, 0x81, 0xe4, 0x41, 0xe9, 0x37, + 0x67, 0x13, 0x47, 0xe1, 0x13, 0x6f, 0xe5, 0x54, 0xb8, 0xb4, 0x2f, 0xaa, +}; +static const unsigned char kat4187_retbits[] = { + 0xeb, 0xb4, 0xbc, 0x6e, 0xf1, 0x30, 0xd7, 0x42, 0x83, 0xc6, 0x4f, 0x77, + 0xba, 0x72, 0x78, 0x70, 0x0f, 0xd9, 0x55, 0x22, 0xe0, 0xad, 0x9f, 0xc0, + 0x22, 0xa5, 0xc6, 0x2a, 0x34, 0x13, 0x66, 0x99, 0x93, 0xff, 0xd1, 0x16, + 0x2a, 0xfb, 0xdd, 0xab, 0x5f, 0x87, 0x29, 0x12, 0x03, 0x11, 0x93, 0xca, + 0xbb, 0x55, 0x5d, 0xf4, 0xf4, 0x62, 0x22, 0x13, 0x39, 0xb1, 0x96, 0x17, + 0xea, 0x99, 0x0e, 0xc2, +}; +static const struct drbg_kat_pr_true kat4187_t = { + 1, kat4187_entropyin, kat4187_nonce, kat4187_persstr, + kat4187_entropyinpr1, kat4187_addinpr1, kat4187_entropyinpr2, + kat4187_addinpr2, kat4187_retbits +}; +static const struct drbg_kat kat4187 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4187_t +}; + +static const unsigned char kat4188_entropyin[] = { + 0xb3, 0x0a, 0x5e, 0x92, 0x8a, 0xd4, 0x89, 0x94, 0x2a, 0x45, 0x56, 0x06, + 0x52, 0x7b, 0xed, 0xe7, 0xa9, 0x8a, 0x32, 0x6c, 0x5b, 0xde, 0x09, 0xa7, + 0xe3, 0x1e, 0x31, 0xb7, 0x25, 0x7f, 0x18, 0x52, 0xf5, 0xdc, 0xa0, 0x74, + 0x79, 0xee, 0x3f, 0x57, 0x02, 0x8d, 0x6e, 0x11, 0x26, 0xf4, 0x32, 0x81, +}; +static const unsigned char kat4188_nonce[] = {0}; +static const unsigned char kat4188_persstr[] = { + 0xe1, 0x12, 0xce, 0x7e, 0x55, 0x92, 0xe9, 0xcb, 0xe8, 0x97, 0x96, 0xa5, + 0x6b, 0xff, 0x26, 0xe9, 0x4a, 0x70, 0x9c, 0x59, 0x24, 0xc1, 0x9c, 0xd1, + 0x59, 0xab, 0x50, 0xa5, 0x86, 0xf9, 0x95, 0x32, 0x31, 0xf3, 0x0f, 0xd7, + 0x58, 0x89, 0x45, 0x83, 0xfd, 0x2b, 0x4a, 0x5b, 0x74, 0x13, 0x1b, 0x68, +}; +static const unsigned char kat4188_entropyinpr1[] = { + 0x5b, 0x9a, 0xaa, 0x2e, 0x80, 0x6d, 0x36, 0xb9, 0x67, 0x84, 0x52, 0xc5, + 0x79, 0xc7, 0x16, 0x80, 0x2f, 0x87, 0x5f, 0xa7, 0xbc, 0xd9, 0x3b, 0x72, + 0xfa, 0xfa, 0xa1, 0xde, 0x0d, 0x8d, 0x92, 0x0e, 0x45, 0xed, 0x0e, 0x79, + 0x0f, 0x2d, 0xdf, 0x48, 0x8b, 0x5c, 0xa2, 0xc4, 0x39, 0x21, 0x53, 0xc0, +}; +static const unsigned char kat4188_addinpr1[] = { + 0x49, 0xf3, 0x88, 0xf5, 0xc4, 0x3b, 0xe2, 0x14, 0x6c, 0x42, 0x16, 0x35, + 0x83, 0x06, 0x3e, 0x38, 0xea, 0x4f, 0x03, 0xe1, 0x20, 0x57, 0xb9, 0x5a, + 0x49, 0xec, 0x03, 0x02, 0x0b, 0x12, 0x7f, 0xf8, 0x84, 0xba, 0x4c, 0xdc, + 0x5d, 0x98, 0xcc, 0x18, 0xa6, 0x7e, 0xe1, 0x4b, 0x0e, 0xac, 0xd3, 0x73, +}; +static const unsigned char kat4188_entropyinpr2[] = { + 0xc2, 0x57, 0x14, 0xbb, 0xbf, 0x4d, 0xf7, 0xb3, 0x82, 0xfa, 0xf7, 0x4e, + 0x98, 0x95, 0x72, 0x9d, 0x9b, 0x80, 0xe6, 0x35, 0x75, 0xd2, 0xb1, 0x0d, + 0x03, 0x33, 0x5c, 0x28, 0xf3, 0x0f, 0x15, 0xd1, 0xee, 0x9a, 0x18, 0x38, + 0x53, 0xc3, 0x06, 0xf8, 0x77, 0x07, 0x37, 0x9d, 0xe4, 0xdf, 0x5a, 0xf6, +}; +static const unsigned char kat4188_addinpr2[] = { + 0x0c, 0xb5, 0x30, 0xe6, 0x5f, 0x4b, 0x7c, 0xaa, 0xea, 0x79, 0x4d, 0x59, + 0xee, 0xf6, 0xc7, 0x28, 0x95, 0x01, 0x25, 0xa0, 0x15, 0xaa, 0xb4, 0x86, + 0x68, 0x12, 0x86, 0x27, 0x2b, 0x56, 0xab, 0x7d, 0x64, 0x47, 0xe6, 0x63, + 0x51, 0x67, 0xd1, 0xf3, 0x63, 0xc5, 0xe8, 0x78, 0x76, 0x79, 0x25, 0x6e, +}; +static const unsigned char kat4188_retbits[] = { + 0x69, 0x3d, 0x43, 0xa2, 0x1d, 0x4d, 0x12, 0x32, 0xd3, 0x6c, 0xc0, 0x35, + 0x56, 0x75, 0x88, 0x6c, 0x86, 0x8c, 0x58, 0x5c, 0x4b, 0xe4, 0x50, 0xa3, + 0x64, 0x66, 0x2e, 0xd3, 0x96, 0xa0, 0xea, 0xb4, 0x37, 0xde, 0x0f, 0xa1, + 0x8f, 0x6d, 0x9a, 0xf6, 0x58, 0x50, 0x1c, 0x0c, 0x16, 0xc5, 0x00, 0x92, + 0x6f, 0xdd, 0x61, 0x74, 0xe7, 0x77, 0xf6, 0x12, 0x90, 0x15, 0xf6, 0xc0, + 0xbf, 0x5c, 0x3d, 0x27, +}; +static const struct drbg_kat_pr_true kat4188_t = { + 2, kat4188_entropyin, kat4188_nonce, kat4188_persstr, + kat4188_entropyinpr1, kat4188_addinpr1, kat4188_entropyinpr2, + kat4188_addinpr2, kat4188_retbits +}; +static const struct drbg_kat kat4188 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4188_t +}; + +static const unsigned char kat4189_entropyin[] = { + 0x84, 0xd6, 0x53, 0x6b, 0xfe, 0xc4, 0xd0, 0x90, 0x85, 0xb1, 0x04, 0xf4, + 0x52, 0x9b, 0x31, 0xe6, 0xa4, 0xaf, 0x81, 0xb1, 0xef, 0x59, 0x3b, 0x83, + 0x60, 0x1e, 0x24, 0xa2, 0x46, 0x0f, 0x07, 0x79, 0xd6, 0xf5, 0x72, 0x96, + 0x40, 0xb7, 0xc1, 0x45, 0x78, 0x49, 0xf6, 0x7a, 0xb3, 0xcc, 0x9a, 0x96, +}; +static const unsigned char kat4189_nonce[] = {0}; +static const unsigned char kat4189_persstr[] = { + 0xa4, 0x63, 0xaf, 0xef, 0x96, 0x8a, 0xa5, 0xf4, 0xd1, 0xb0, 0xb6, 0x5c, + 0xbf, 0xfb, 0xdf, 0xf0, 0x7a, 0x13, 0x29, 0xb0, 0x6c, 0x4a, 0xdb, 0xa2, + 0x10, 0x2b, 0x96, 0xfa, 0x06, 0x1f, 0x0d, 0xa1, 0x0d, 0x37, 0x54, 0xe0, + 0xd8, 0xc0, 0x8e, 0x78, 0xe2, 0x71, 0xa9, 0x0a, 0x83, 0xdb, 0xbf, 0xc9, +}; +static const unsigned char kat4189_entropyinpr1[] = { + 0x16, 0x3f, 0xfd, 0x35, 0x22, 0x2e, 0x66, 0xe1, 0x2c, 0x92, 0x05, 0x9f, + 0x7a, 0xc3, 0x85, 0xe5, 0x18, 0xa2, 0xe3, 0x6b, 0xe5, 0x68, 0xdd, 0xab, + 0xe0, 0x62, 0x4d, 0x63, 0x32, 0xa7, 0x51, 0x7b, 0x0f, 0x4d, 0x10, 0x7d, + 0x03, 0xbf, 0xf0, 0x50, 0x13, 0xd8, 0xb3, 0x91, 0xe8, 0xfb, 0x23, 0xe0, +}; +static const unsigned char kat4189_addinpr1[] = { + 0x3f, 0x1c, 0x5d, 0xae, 0x98, 0xa2, 0x49, 0x1b, 0x05, 0xf4, 0x15, 0x70, + 0x01, 0x3d, 0x79, 0x1d, 0x65, 0x57, 0x23, 0xc8, 0x97, 0xf0, 0xc1, 0x5d, + 0xb1, 0x41, 0xf9, 0x5b, 0x3a, 0x93, 0x92, 0x52, 0x91, 0x4a, 0x95, 0xa3, + 0xc0, 0xa1, 0x59, 0x56, 0x54, 0x65, 0xe7, 0x55, 0xa1, 0xd6, 0xbf, 0x20, +}; +static const unsigned char kat4189_entropyinpr2[] = { + 0xc2, 0x7c, 0x6a, 0x23, 0xb8, 0x41, 0xdd, 0xd5, 0xb1, 0x60, 0x36, 0xf0, + 0xce, 0x74, 0x9f, 0x55, 0x51, 0x13, 0xf6, 0xdc, 0x87, 0x9f, 0xce, 0x94, + 0x00, 0x44, 0x84, 0x23, 0xf0, 0x2f, 0x5f, 0xc7, 0xfb, 0xf5, 0x67, 0x7a, + 0x3f, 0x22, 0x93, 0xb3, 0x05, 0x6a, 0x4e, 0x3b, 0xc4, 0x8a, 0xd9, 0xaa, +}; +static const unsigned char kat4189_addinpr2[] = { + 0xa9, 0x78, 0xd7, 0x73, 0x9d, 0xac, 0x7f, 0xa6, 0x83, 0x11, 0x30, 0x23, + 0xbe, 0x1d, 0x97, 0xd3, 0x3f, 0x82, 0x22, 0xbe, 0xfb, 0x74, 0x93, 0x45, + 0x3f, 0xc4, 0xad, 0xbe, 0xe9, 0x77, 0x71, 0x21, 0x3b, 0xb5, 0x99, 0x9f, + 0x92, 0xd4, 0x4a, 0x41, 0x77, 0x1b, 0x43, 0xaf, 0x51, 0xeb, 0x9a, 0x2a, +}; +static const unsigned char kat4189_retbits[] = { + 0x6a, 0x1e, 0x7d, 0x40, 0xf4, 0x5a, 0xda, 0x57, 0xed, 0x82, 0x5d, 0x8a, + 0x74, 0xf8, 0x79, 0x20, 0x60, 0xee, 0x69, 0x06, 0x97, 0x46, 0xd5, 0xc5, + 0xe8, 0x09, 0x6a, 0x5b, 0x0c, 0x7f, 0xf9, 0x6e, 0xdd, 0x03, 0x4c, 0xc0, + 0x8f, 0x2b, 0x46, 0x6d, 0x6f, 0xb4, 0x25, 0x82, 0x21, 0xf6, 0x99, 0x84, + 0x85, 0x52, 0xfa, 0x1b, 0x97, 0xad, 0x2c, 0xa2, 0xcd, 0x99, 0x40, 0xd6, + 0xca, 0x76, 0x92, 0xc6, +}; +static const struct drbg_kat_pr_true kat4189_t = { + 3, kat4189_entropyin, kat4189_nonce, kat4189_persstr, + kat4189_entropyinpr1, kat4189_addinpr1, kat4189_entropyinpr2, + kat4189_addinpr2, kat4189_retbits +}; +static const struct drbg_kat kat4189 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4189_t +}; + +static const unsigned char kat4190_entropyin[] = { + 0xc4, 0xe0, 0x54, 0x97, 0xff, 0xb4, 0x78, 0xfa, 0x71, 0x44, 0x89, 0xb7, + 0xf6, 0x8a, 0xd4, 0x10, 0xb6, 0x2e, 0xa8, 0x23, 0xd2, 0xbf, 0x06, 0x80, + 0xdb, 0xd6, 0x36, 0xc0, 0x2f, 0x79, 0x2b, 0xf3, 0x83, 0x4d, 0xe2, 0x7c, + 0x1e, 0xa8, 0x5b, 0xbb, 0x1b, 0x9a, 0x7c, 0xc7, 0x41, 0xf0, 0xc8, 0xca, +}; +static const unsigned char kat4190_nonce[] = {0}; +static const unsigned char kat4190_persstr[] = { + 0x91, 0xb6, 0xa2, 0xcd, 0xd9, 0xbd, 0xa4, 0x1e, 0xa5, 0x57, 0xe2, 0xb2, + 0x42, 0xf7, 0x68, 0xed, 0x84, 0xa8, 0xc8, 0x20, 0x02, 0xa0, 0x8d, 0xe2, + 0x14, 0x93, 0x4d, 0xb4, 0x82, 0x75, 0x39, 0x3d, 0x08, 0xc4, 0x6d, 0xfc, + 0xdb, 0x4e, 0xc9, 0xd9, 0xf5, 0x82, 0xc6, 0xbb, 0xda, 0x32, 0x16, 0x69, +}; +static const unsigned char kat4190_entropyinpr1[] = { + 0xa5, 0xfd, 0x73, 0x34, 0x3e, 0x0e, 0x9c, 0x87, 0xcc, 0x9d, 0x39, 0xb0, + 0x89, 0x12, 0x05, 0xd4, 0xed, 0xf9, 0x3c, 0xda, 0x0c, 0x7c, 0x8e, 0x76, + 0x41, 0xf7, 0x2b, 0x9d, 0x17, 0xda, 0xea, 0xda, 0x40, 0x6a, 0x20, 0xb5, + 0x4f, 0x56, 0x77, 0x23, 0xb7, 0x53, 0xe9, 0x57, 0x29, 0x8d, 0xa8, 0x32, +}; +static const unsigned char kat4190_addinpr1[] = { + 0x1e, 0xc2, 0x38, 0xcd, 0x11, 0x06, 0x73, 0x76, 0x7a, 0x28, 0xbf, 0xdf, + 0x63, 0xf5, 0x46, 0xa6, 0xcc, 0xe5, 0x3e, 0x92, 0x28, 0xaa, 0x6b, 0x4a, + 0x01, 0x21, 0x87, 0xa4, 0xe8, 0x4d, 0x63, 0x69, 0x91, 0xf1, 0x78, 0x0d, + 0xb3, 0x14, 0xc5, 0x8c, 0xdd, 0x69, 0x08, 0x7f, 0x6e, 0xec, 0x87, 0x60, +}; +static const unsigned char kat4190_entropyinpr2[] = { + 0x4d, 0x8d, 0xeb, 0xd2, 0x33, 0x07, 0x91, 0xc6, 0x6a, 0xf1, 0xd3, 0x75, + 0x61, 0x02, 0x64, 0x4d, 0x5f, 0x3a, 0x2d, 0xb9, 0xbd, 0x7f, 0x6c, 0x11, + 0xba, 0xeb, 0x59, 0x12, 0x73, 0xdb, 0x43, 0xcf, 0x8c, 0x29, 0xed, 0x0c, + 0x51, 0x48, 0x65, 0x15, 0x9e, 0x58, 0x7c, 0xa9, 0x11, 0x75, 0xae, 0xcc, +}; +static const unsigned char kat4190_addinpr2[] = { + 0x96, 0x4f, 0x96, 0x4a, 0x02, 0x3c, 0x81, 0x62, 0x22, 0xeb, 0xb8, 0x03, + 0x09, 0x7b, 0xd7, 0x4a, 0xd6, 0xf2, 0xed, 0x2c, 0xb0, 0x42, 0x65, 0x0c, + 0x5f, 0x30, 0xdf, 0xe5, 0xd2, 0xe2, 0x12, 0x99, 0x03, 0x2e, 0x90, 0xfd, + 0xe7, 0x0c, 0x4a, 0x70, 0x17, 0xeb, 0xa7, 0x35, 0x2f, 0x8f, 0xb6, 0xc7, +}; +static const unsigned char kat4190_retbits[] = { + 0xe6, 0x1b, 0x29, 0xd1, 0x8e, 0x84, 0x18, 0x1e, 0x77, 0xcd, 0x80, 0xdc, + 0xe9, 0xd4, 0x0c, 0xb2, 0x40, 0x89, 0xd2, 0x31, 0x7d, 0x64, 0xbe, 0x7a, + 0xaa, 0x02, 0x61, 0x65, 0x57, 0x95, 0x64, 0xaa, 0x44, 0xe8, 0xf4, 0x7f, + 0xf8, 0x24, 0xdc, 0x5f, 0x26, 0x1c, 0x61, 0x94, 0xac, 0xb2, 0x99, 0xed, + 0xad, 0xc0, 0xad, 0x29, 0x76, 0x7a, 0x35, 0xe0, 0x99, 0xd4, 0x99, 0xf7, + 0x62, 0xe7, 0xc9, 0x13, +}; +static const struct drbg_kat_pr_true kat4190_t = { + 4, kat4190_entropyin, kat4190_nonce, kat4190_persstr, + kat4190_entropyinpr1, kat4190_addinpr1, kat4190_entropyinpr2, + kat4190_addinpr2, kat4190_retbits +}; +static const struct drbg_kat kat4190 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4190_t +}; + +static const unsigned char kat4191_entropyin[] = { + 0xbe, 0x8f, 0xae, 0xa8, 0x7b, 0x75, 0x4c, 0xeb, 0x69, 0x2e, 0x53, 0xcf, + 0x87, 0x1e, 0x79, 0xf3, 0x35, 0xe0, 0x47, 0xf3, 0x1e, 0x08, 0x93, 0x59, + 0x89, 0xdd, 0x4d, 0x38, 0xd0, 0xaf, 0x9c, 0x31, 0xd5, 0xbd, 0xa0, 0x49, + 0xa9, 0x0b, 0x70, 0x5f, 0x51, 0xdc, 0x12, 0xbd, 0xbe, 0xa7, 0x89, 0x36, +}; +static const unsigned char kat4191_nonce[] = {0}; +static const unsigned char kat4191_persstr[] = { + 0x3d, 0x26, 0x14, 0x40, 0x7b, 0xc7, 0xd0, 0xb5, 0xe9, 0x3a, 0x8a, 0xd1, + 0xc4, 0xc6, 0x70, 0xfc, 0x23, 0x9f, 0x47, 0x38, 0x97, 0xe6, 0x72, 0x56, + 0x91, 0xef, 0x4b, 0x10, 0xd0, 0x47, 0xc2, 0x43, 0xc3, 0x2d, 0xcb, 0x28, + 0xd6, 0x2a, 0x89, 0xd4, 0xca, 0xc0, 0x1a, 0xec, 0x4d, 0x28, 0x5f, 0x95, +}; +static const unsigned char kat4191_entropyinpr1[] = { + 0x60, 0x18, 0x9e, 0x52, 0xab, 0x5b, 0x98, 0x55, 0x87, 0x93, 0xa7, 0x53, + 0xc8, 0xc8, 0xf3, 0x60, 0x12, 0x26, 0x19, 0x54, 0xb2, 0x1e, 0xed, 0x99, + 0x65, 0x12, 0xfa, 0xba, 0x0c, 0x61, 0x53, 0x25, 0x8a, 0xd0, 0xbc, 0x68, + 0x44, 0x13, 0x73, 0xf1, 0x75, 0xdf, 0x05, 0x9e, 0x62, 0xcb, 0xe4, 0x66, +}; +static const unsigned char kat4191_addinpr1[] = { + 0xac, 0x98, 0x42, 0x5e, 0xd1, 0xd2, 0x81, 0xb9, 0xf4, 0x8d, 0xfd, 0x1c, + 0x73, 0x69, 0x3e, 0x23, 0x6a, 0x46, 0xe1, 0x23, 0xea, 0xff, 0x21, 0x17, + 0xd0, 0x39, 0xfa, 0x73, 0x7f, 0x4d, 0xb6, 0xe0, 0x64, 0x94, 0x13, 0xed, + 0x97, 0x8f, 0x68, 0xbf, 0x25, 0x6b, 0xa7, 0x34, 0x49, 0x94, 0xd5, 0xc0, +}; +static const unsigned char kat4191_entropyinpr2[] = { + 0x4b, 0xb9, 0xc4, 0x08, 0x2a, 0x72, 0x83, 0xe2, 0x78, 0xd9, 0xf7, 0x94, + 0x18, 0x9a, 0x4f, 0xde, 0xe4, 0xc8, 0x99, 0xc3, 0x73, 0x63, 0x18, 0xb1, + 0xf2, 0x0f, 0x07, 0x40, 0xec, 0x85, 0x3e, 0xba, 0x6e, 0x46, 0xe0, 0xa3, + 0x95, 0x5d, 0xbc, 0x06, 0x6f, 0x54, 0x48, 0x59, 0xa2, 0xc3, 0x49, 0xb3, +}; +static const unsigned char kat4191_addinpr2[] = { + 0x36, 0xdf, 0x34, 0xd1, 0xad, 0x31, 0x01, 0x0e, 0x66, 0xba, 0xc0, 0x49, + 0x27, 0x9a, 0xda, 0x80, 0x55, 0x24, 0xf2, 0x14, 0x32, 0x66, 0x9b, 0xbb, + 0x39, 0x21, 0xa1, 0xd8, 0x6d, 0x48, 0x27, 0x14, 0xf3, 0x77, 0xdb, 0x8a, + 0xe0, 0x92, 0x3a, 0x1a, 0x49, 0xce, 0x92, 0x00, 0x8c, 0xfb, 0xfa, 0x5f, +}; +static const unsigned char kat4191_retbits[] = { + 0x9f, 0x2b, 0xe6, 0xf0, 0x06, 0xaf, 0x6c, 0x50, 0x0a, 0xa3, 0xbc, 0x82, + 0x2a, 0x95, 0xb1, 0x3b, 0x28, 0x6c, 0x55, 0xcb, 0xdf, 0x4f, 0x0a, 0x26, + 0x27, 0x4d, 0x36, 0xbd, 0x1d, 0x2f, 0xf1, 0xb2, 0xd6, 0x96, 0xb6, 0xa8, + 0x73, 0x59, 0x50, 0xfb, 0xa0, 0x1f, 0x4b, 0x88, 0xe5, 0xac, 0x7f, 0x01, + 0xd5, 0xa3, 0xf9, 0x1b, 0x1c, 0xf0, 0xb5, 0x9a, 0x26, 0xed, 0x50, 0x5f, + 0xe0, 0xb1, 0xd6, 0x06, +}; +static const struct drbg_kat_pr_true kat4191_t = { + 5, kat4191_entropyin, kat4191_nonce, kat4191_persstr, + kat4191_entropyinpr1, kat4191_addinpr1, kat4191_entropyinpr2, + kat4191_addinpr2, kat4191_retbits +}; +static const struct drbg_kat kat4191 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4191_t +}; + +static const unsigned char kat4192_entropyin[] = { + 0x61, 0x11, 0x43, 0x35, 0xae, 0xbc, 0xc3, 0x63, 0x84, 0xe5, 0xd1, 0x38, + 0x42, 0x7a, 0xa4, 0xdc, 0xdc, 0xb0, 0x14, 0x5b, 0x9c, 0x69, 0xc5, 0x81, + 0x96, 0xbd, 0x31, 0x7b, 0x9a, 0x6f, 0x9e, 0x10, 0x83, 0x2e, 0x31, 0xa2, + 0xb6, 0x61, 0xe0, 0x4e, 0xdc, 0x49, 0xc6, 0xb0, 0x8a, 0xc0, 0xd2, 0x17, +}; +static const unsigned char kat4192_nonce[] = {0}; +static const unsigned char kat4192_persstr[] = { + 0xd7, 0x77, 0x23, 0x6d, 0x2f, 0x46, 0x36, 0x0b, 0xb7, 0x79, 0xc8, 0x24, + 0x98, 0xe8, 0x59, 0xd1, 0xaa, 0x29, 0x02, 0xb6, 0x7c, 0x9c, 0x01, 0x46, + 0x28, 0xc5, 0xa4, 0x17, 0x8e, 0xe7, 0x70, 0x6e, 0x7c, 0x60, 0x5b, 0x03, + 0xe4, 0x56, 0xe1, 0xf7, 0xe5, 0xc6, 0x16, 0xe6, 0xf7, 0x8b, 0x98, 0xa7, +}; +static const unsigned char kat4192_entropyinpr1[] = { + 0x87, 0x3d, 0x0c, 0xec, 0xf1, 0x2c, 0x64, 0x6c, 0x0d, 0x8b, 0x4e, 0x94, + 0x2a, 0xd7, 0xe4, 0x29, 0x35, 0xe1, 0xb9, 0xee, 0xf0, 0x67, 0x30, 0x1d, + 0x3b, 0x79, 0xf2, 0x0a, 0x48, 0xc5, 0xab, 0xa4, 0xf2, 0x2c, 0xaf, 0xf6, + 0xce, 0x0b, 0xcb, 0x0b, 0x49, 0xfc, 0xfe, 0x32, 0x6d, 0xe3, 0x9c, 0x57, +}; +static const unsigned char kat4192_addinpr1[] = { + 0x74, 0xe3, 0x91, 0x6a, 0x67, 0xc1, 0x04, 0xfe, 0xe0, 0xc9, 0x96, 0xcc, + 0xe1, 0x46, 0x8c, 0xb6, 0x0c, 0xcf, 0xfd, 0x33, 0xfb, 0x4a, 0x20, 0x30, + 0xcc, 0xba, 0xb1, 0x3b, 0x78, 0x4a, 0xd0, 0xf9, 0xf5, 0x16, 0x90, 0x05, + 0xec, 0xb4, 0x0d, 0x72, 0xcd, 0xbc, 0xd3, 0xb6, 0x5a, 0x2b, 0xa4, 0xcf, +}; +static const unsigned char kat4192_entropyinpr2[] = { + 0xe6, 0x09, 0x39, 0x1f, 0x0d, 0x74, 0x0f, 0xb5, 0xa0, 0xf1, 0xd4, 0x28, + 0x88, 0x38, 0x49, 0x26, 0xdb, 0x15, 0xe8, 0x34, 0xa2, 0x65, 0x4b, 0x36, + 0x81, 0x0b, 0xf5, 0x8a, 0x29, 0x34, 0xe0, 0x6d, 0x4f, 0x87, 0xa8, 0x7d, + 0x8e, 0x6d, 0xee, 0x98, 0x3e, 0x73, 0x3c, 0x34, 0xf3, 0xe4, 0x49, 0xf4, +}; +static const unsigned char kat4192_addinpr2[] = { + 0x13, 0xcb, 0xf6, 0x88, 0xf4, 0x62, 0xf8, 0xe9, 0xa8, 0x43, 0x7b, 0x17, + 0x42, 0x94, 0x3c, 0xb4, 0x47, 0x5f, 0x00, 0x0d, 0x29, 0xe5, 0x32, 0x63, + 0x66, 0x54, 0xee, 0x1d, 0xb2, 0xa5, 0x3a, 0x9f, 0xde, 0xd6, 0xda, 0x8d, + 0x20, 0x24, 0x02, 0x03, 0xb2, 0xf8, 0x74, 0xe4, 0xd1, 0xa9, 0x28, 0x3c, +}; +static const unsigned char kat4192_retbits[] = { + 0x20, 0xf3, 0x01, 0xc0, 0xfd, 0x19, 0x5f, 0xfb, 0x29, 0x5d, 0x99, 0xa3, + 0x3c, 0x8e, 0x70, 0x24, 0x29, 0xbf, 0xde, 0x14, 0x0c, 0xf1, 0xc8, 0xfd, + 0xa1, 0xba, 0x58, 0x81, 0xe0, 0x2a, 0x34, 0xe7, 0x66, 0xd9, 0xe2, 0xc0, + 0xa5, 0x00, 0x9b, 0xb1, 0x2f, 0x7d, 0x03, 0x11, 0x57, 0x1c, 0xc6, 0xe4, + 0x29, 0x84, 0xc0, 0xa9, 0x4f, 0x98, 0x4a, 0x7d, 0xc2, 0xd5, 0x97, 0xed, + 0x7a, 0x9e, 0x0d, 0x53, +}; +static const struct drbg_kat_pr_true kat4192_t = { + 6, kat4192_entropyin, kat4192_nonce, kat4192_persstr, + kat4192_entropyinpr1, kat4192_addinpr1, kat4192_entropyinpr2, + kat4192_addinpr2, kat4192_retbits +}; +static const struct drbg_kat kat4192 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4192_t +}; + +static const unsigned char kat4193_entropyin[] = { + 0x22, 0x5d, 0x9c, 0x79, 0xe5, 0x23, 0xbd, 0xd0, 0x0e, 0x8c, 0x00, 0x68, + 0x14, 0x9d, 0x02, 0x9e, 0x60, 0xaa, 0xe0, 0x69, 0x8f, 0xf0, 0x70, 0xb3, + 0xf2, 0xf4, 0x10, 0x67, 0xc7, 0x7b, 0x1e, 0x39, 0xca, 0x42, 0x53, 0x37, + 0x20, 0x46, 0x83, 0xc4, 0x1a, 0x9d, 0xdd, 0xd3, 0x41, 0x1a, 0x17, 0xe2, +}; +static const unsigned char kat4193_nonce[] = {0}; +static const unsigned char kat4193_persstr[] = { + 0xe5, 0xf2, 0x04, 0x67, 0xce, 0x53, 0x66, 0xc9, 0xbf, 0xae, 0x26, 0x64, + 0xc4, 0x19, 0x25, 0xaf, 0xa3, 0x35, 0x4a, 0x7d, 0x2a, 0xf7, 0x67, 0x9e, + 0x6f, 0xd6, 0xc5, 0x30, 0xd6, 0xb2, 0xfa, 0x4c, 0xd1, 0xcb, 0x1c, 0x29, + 0xc6, 0xc4, 0xa5, 0xf0, 0xc0, 0x45, 0xea, 0x7a, 0x6f, 0x9a, 0x3f, 0x42, +}; +static const unsigned char kat4193_entropyinpr1[] = { + 0x5b, 0x75, 0x6a, 0x6e, 0x48, 0xe6, 0x59, 0x68, 0x18, 0xb1, 0x17, 0x15, + 0xcb, 0x4f, 0x0b, 0x86, 0xd5, 0xb6, 0xcd, 0x4b, 0xf2, 0xcb, 0x13, 0xf7, + 0xab, 0x5b, 0xc4, 0x6f, 0x04, 0xfa, 0xab, 0x9d, 0x76, 0xd9, 0xd6, 0x8d, + 0xf0, 0x06, 0x13, 0x9e, 0xaa, 0x54, 0x6e, 0x79, 0x61, 0x0d, 0x66, 0x56, +}; +static const unsigned char kat4193_addinpr1[] = { + 0x05, 0x55, 0x39, 0x45, 0x02, 0xb2, 0x81, 0x6e, 0x18, 0xc9, 0x12, 0x2a, + 0xa4, 0xd2, 0xb3, 0xf8, 0x8f, 0xfd, 0x21, 0xbb, 0x1c, 0xf8, 0x10, 0x6a, + 0x06, 0x52, 0xeb, 0xa2, 0x71, 0xa7, 0xf6, 0x68, 0x50, 0xfd, 0xb0, 0x45, + 0x9a, 0xbc, 0xd2, 0xbe, 0x7b, 0xff, 0x85, 0x53, 0x61, 0x70, 0x49, 0x74, +}; +static const unsigned char kat4193_entropyinpr2[] = { + 0x1b, 0x9a, 0x50, 0x5d, 0x1d, 0xcc, 0x4b, 0xea, 0xd7, 0xb9, 0xef, 0x94, + 0xc2, 0x11, 0x8b, 0x15, 0xff, 0x6f, 0x82, 0x71, 0xc5, 0x49, 0xb9, 0x99, + 0xd4, 0xf2, 0x29, 0x7f, 0xf9, 0x73, 0x18, 0x1e, 0x4d, 0xc8, 0x14, 0x8b, + 0xa2, 0x4c, 0xb4, 0xaa, 0x41, 0x33, 0x8e, 0x48, 0xe2, 0x87, 0xdd, 0x45, +}; +static const unsigned char kat4193_addinpr2[] = { + 0xa6, 0xef, 0xcd, 0x20, 0xc0, 0x08, 0xd3, 0xba, 0x7b, 0x32, 0x2c, 0xe4, + 0x88, 0x58, 0xb9, 0x46, 0xdd, 0x4a, 0x5a, 0x36, 0x91, 0xd5, 0xe3, 0x8b, + 0xfd, 0xaa, 0x56, 0x44, 0x2a, 0xac, 0x0c, 0xd7, 0x88, 0x6c, 0x31, 0x3a, + 0x82, 0x9a, 0x8f, 0xb5, 0x6f, 0x70, 0xa4, 0x4d, 0x4f, 0x83, 0x5d, 0x7b, +}; +static const unsigned char kat4193_retbits[] = { + 0x1f, 0x86, 0x66, 0x10, 0xdd, 0x2b, 0x16, 0xf0, 0x56, 0x94, 0xf3, 0x99, + 0xee, 0x8a, 0x3c, 0x86, 0x7c, 0x5c, 0x7e, 0x76, 0x61, 0xad, 0xf1, 0xf4, + 0x5b, 0xeb, 0x90, 0x95, 0xc4, 0x30, 0xa1, 0x5c, 0xcf, 0x04, 0x3f, 0xfd, + 0x99, 0x54, 0x7c, 0x08, 0x74, 0x2f, 0x78, 0x6d, 0xaa, 0x95, 0xb8, 0xfb, + 0x6d, 0xac, 0xc3, 0x87, 0xd8, 0xba, 0x55, 0xf6, 0x6a, 0x8c, 0x6c, 0xe7, + 0x43, 0x79, 0x63, 0xbf, +}; +static const struct drbg_kat_pr_true kat4193_t = { + 7, kat4193_entropyin, kat4193_nonce, kat4193_persstr, + kat4193_entropyinpr1, kat4193_addinpr1, kat4193_entropyinpr2, + kat4193_addinpr2, kat4193_retbits +}; +static const struct drbg_kat kat4193 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4193_t +}; + +static const unsigned char kat4194_entropyin[] = { + 0x02, 0xc1, 0x6a, 0x91, 0x31, 0xe9, 0x4b, 0x54, 0xe3, 0xc3, 0xfa, 0x3d, + 0x0a, 0xde, 0x4e, 0xc0, 0x48, 0xbe, 0xc0, 0x4b, 0x88, 0x9b, 0x0e, 0x7b, + 0xe8, 0x0c, 0x98, 0x8f, 0x6f, 0xdd, 0x99, 0x93, 0x71, 0xcd, 0x06, 0xba, + 0x63, 0xac, 0x19, 0x45, 0x80, 0xeb, 0x49, 0x07, 0xff, 0x23, 0x23, 0xd9, +}; +static const unsigned char kat4194_nonce[] = {0}; +static const unsigned char kat4194_persstr[] = { + 0x44, 0xec, 0x0b, 0x63, 0x3c, 0x94, 0x45, 0xb1, 0xba, 0xb8, 0xbd, 0x77, + 0xfa, 0x5b, 0x78, 0x60, 0x6e, 0xa4, 0xf4, 0xb1, 0x59, 0x2e, 0xfe, 0xb0, + 0xed, 0xbd, 0x80, 0x4a, 0xfb, 0x3a, 0xa4, 0xf4, 0x5f, 0xab, 0x26, 0x0f, + 0x58, 0x38, 0x5e, 0xb4, 0x41, 0xbf, 0x32, 0x32, 0x70, 0x6e, 0xfc, 0x07, +}; +static const unsigned char kat4194_entropyinpr1[] = { + 0x0a, 0x5c, 0xf8, 0x56, 0xed, 0xce, 0x7f, 0x73, 0xbc, 0x1a, 0x28, 0x7e, + 0x1d, 0xd4, 0x96, 0x4d, 0x9c, 0x75, 0x35, 0x99, 0x3a, 0xad, 0xc0, 0x61, + 0x24, 0xc8, 0x70, 0x67, 0x3c, 0xf9, 0xa2, 0x4f, 0xc9, 0x71, 0x2d, 0x5d, + 0x0c, 0x9e, 0x0e, 0x53, 0xaf, 0xee, 0x47, 0x23, 0xd4, 0xec, 0xac, 0xef, +}; +static const unsigned char kat4194_addinpr1[] = { + 0x70, 0x07, 0x76, 0x00, 0x13, 0x1a, 0xa1, 0x16, 0xb3, 0xf6, 0xe8, 0x01, + 0xf4, 0x2f, 0xfb, 0xb5, 0x3a, 0x32, 0x53, 0xcb, 0x10, 0x4a, 0xb5, 0xc1, + 0x09, 0x88, 0xfe, 0xb0, 0x09, 0xb6, 0x4f, 0xac, 0x88, 0xd4, 0xa3, 0x85, + 0xd9, 0xb6, 0xc0, 0x43, 0x91, 0x02, 0x51, 0x84, 0x32, 0x73, 0xca, 0x97, +}; +static const unsigned char kat4194_entropyinpr2[] = { + 0xd4, 0x76, 0x40, 0x94, 0x07, 0x2f, 0x19, 0xc5, 0xd0, 0xad, 0x86, 0x68, + 0x28, 0x04, 0xa3, 0x63, 0xb1, 0x12, 0xe6, 0x1d, 0x06, 0x12, 0xc4, 0x3a, + 0x61, 0x28, 0xb3, 0x52, 0xc5, 0x42, 0x2b, 0xec, 0xd2, 0x3d, 0x6c, 0x89, + 0x24, 0xbe, 0x3f, 0x84, 0x21, 0x97, 0xda, 0x46, 0xfc, 0x63, 0x71, 0x87, +}; +static const unsigned char kat4194_addinpr2[] = { + 0xde, 0x61, 0x35, 0x4e, 0x2f, 0x6a, 0x67, 0xc7, 0x31, 0xc1, 0xf6, 0xaf, + 0x74, 0x05, 0x47, 0xbc, 0x1b, 0xa3, 0x3c, 0xd3, 0x51, 0x19, 0x56, 0x01, + 0xde, 0x0c, 0x8b, 0x3e, 0x20, 0xdd, 0x8e, 0xf1, 0x31, 0x00, 0x74, 0x01, + 0xf6, 0x05, 0xc2, 0x9f, 0x07, 0xc3, 0xe4, 0x6e, 0x37, 0x5c, 0x1b, 0xa3, +}; +static const unsigned char kat4194_retbits[] = { + 0x77, 0x9d, 0xa8, 0xdb, 0x95, 0x8b, 0xa4, 0x8e, 0x26, 0x67, 0x20, 0x52, + 0xd3, 0x24, 0x0a, 0x0f, 0x9c, 0x0f, 0x10, 0x34, 0xd3, 0xb6, 0x0a, 0x8a, + 0xfb, 0x6b, 0x87, 0xd1, 0x8f, 0x6e, 0x85, 0xee, 0xf8, 0x75, 0x3e, 0xaf, + 0xb0, 0xa0, 0x54, 0xea, 0xa0, 0xfd, 0x58, 0x8f, 0x9b, 0x21, 0x08, 0x63, + 0x1f, 0x88, 0x3b, 0x86, 0xdd, 0x36, 0xf4, 0x27, 0x48, 0xbc, 0x6d, 0xa2, + 0xf6, 0x8f, 0xac, 0xe5, +}; +static const struct drbg_kat_pr_true kat4194_t = { + 8, kat4194_entropyin, kat4194_nonce, kat4194_persstr, + kat4194_entropyinpr1, kat4194_addinpr1, kat4194_entropyinpr2, + kat4194_addinpr2, kat4194_retbits +}; +static const struct drbg_kat kat4194 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4194_t +}; + +static const unsigned char kat4195_entropyin[] = { + 0x17, 0x14, 0xb2, 0xa5, 0xac, 0x2f, 0xf3, 0x34, 0xbe, 0x79, 0x9c, 0x11, + 0xd0, 0xa5, 0x8d, 0xa5, 0xf0, 0x52, 0x22, 0x75, 0xf5, 0x36, 0x8b, 0x1d, + 0xf7, 0xb6, 0x04, 0x55, 0xa0, 0x85, 0x6c, 0x56, 0x9d, 0xe1, 0x80, 0x2f, + 0x6a, 0xb9, 0x3e, 0xdf, 0xa8, 0x11, 0x3d, 0x8b, 0x69, 0x72, 0x20, 0x92, +}; +static const unsigned char kat4195_nonce[] = {0}; +static const unsigned char kat4195_persstr[] = { + 0xfd, 0x5a, 0xe2, 0x08, 0x72, 0xe3, 0xff, 0x5d, 0x77, 0x07, 0xee, 0x47, + 0xc5, 0x0c, 0x46, 0x4e, 0x8d, 0x2a, 0xdd, 0x8f, 0xbb, 0x8b, 0xdd, 0x86, + 0xfa, 0xa9, 0x61, 0x1f, 0x83, 0xa5, 0xaf, 0xed, 0xfd, 0xc7, 0xe3, 0x06, + 0xf4, 0x5a, 0x13, 0xcf, 0x84, 0x30, 0x42, 0xd5, 0xcf, 0xc7, 0xd4, 0xf4, +}; +static const unsigned char kat4195_entropyinpr1[] = { + 0x12, 0xf2, 0x15, 0x85, 0x57, 0xef, 0x00, 0x22, 0x8f, 0x0e, 0xf0, 0x81, + 0x1c, 0xa7, 0x76, 0x10, 0x44, 0x98, 0x02, 0xe6, 0x65, 0x18, 0x10, 0xbe, + 0x82, 0x76, 0x36, 0x98, 0x2d, 0xec, 0x48, 0xb0, 0x7b, 0xd8, 0x0e, 0x1f, + 0x4f, 0xf0, 0x61, 0x07, 0xb8, 0x6e, 0x57, 0xfa, 0x23, 0x08, 0xdf, 0x81, +}; +static const unsigned char kat4195_addinpr1[] = { + 0x3d, 0x44, 0x20, 0x2a, 0xc4, 0x7e, 0xcd, 0x11, 0x67, 0x25, 0x31, 0x86, + 0x44, 0x4b, 0x86, 0xdd, 0x7e, 0x1f, 0x2e, 0x05, 0x6c, 0x1e, 0xdd, 0x28, + 0xe9, 0x9e, 0xc1, 0x07, 0xbd, 0x8a, 0xb1, 0x8c, 0x30, 0x20, 0x5f, 0x9e, + 0xa8, 0x26, 0xa8, 0xfe, 0x1e, 0xde, 0xa2, 0xa1, 0xba, 0x31, 0xeb, 0xa3, +}; +static const unsigned char kat4195_entropyinpr2[] = { + 0x4c, 0xea, 0x17, 0x14, 0xc0, 0x06, 0xcc, 0x73, 0x3d, 0x90, 0xf7, 0xf8, + 0x83, 0x54, 0x6f, 0x2d, 0x56, 0x2b, 0xa0, 0x97, 0xc3, 0x94, 0xa7, 0x76, + 0x62, 0xfb, 0x38, 0xaf, 0x4d, 0x6d, 0xf5, 0x19, 0x38, 0xa2, 0x21, 0xf5, + 0xfe, 0x21, 0xbb, 0x18, 0x1b, 0x38, 0x57, 0x59, 0x2d, 0xae, 0x40, 0x5d, +}; +static const unsigned char kat4195_addinpr2[] = { + 0xaa, 0xe5, 0xaf, 0x80, 0x63, 0x7e, 0xd0, 0xf3, 0x8d, 0xd6, 0x24, 0x3f, + 0xda, 0x51, 0x97, 0xb1, 0x09, 0x4c, 0xda, 0x77, 0xf6, 0x6a, 0xe5, 0xd2, + 0x7d, 0x33, 0x65, 0xd3, 0x34, 0x0d, 0xbb, 0xcf, 0xe3, 0xb3, 0x26, 0x40, + 0xd6, 0x8c, 0x13, 0x27, 0x74, 0x98, 0x75, 0x87, 0x7f, 0xfb, 0x19, 0x0b, +}; +static const unsigned char kat4195_retbits[] = { + 0x20, 0xf1, 0xab, 0x1c, 0xf8, 0xb1, 0x48, 0x5d, 0xce, 0x9a, 0x6f, 0x44, + 0x95, 0x74, 0x19, 0xef, 0xd2, 0x17, 0xff, 0x24, 0xf6, 0x6e, 0x8d, 0xce, + 0xdd, 0xa7, 0x27, 0x00, 0xde, 0xf4, 0xfc, 0xbf, 0x75, 0x75, 0x15, 0x39, + 0x57, 0xa0, 0xb7, 0x2f, 0x8e, 0x4a, 0x0b, 0xd0, 0xd1, 0xf5, 0x4c, 0xe4, + 0xe1, 0x32, 0xc2, 0xc8, 0xf7, 0x57, 0x60, 0xc8, 0x5d, 0xf6, 0x90, 0x2d, + 0x9f, 0x68, 0xd2, 0x0a, +}; +static const struct drbg_kat_pr_true kat4195_t = { + 9, kat4195_entropyin, kat4195_nonce, kat4195_persstr, + kat4195_entropyinpr1, kat4195_addinpr1, kat4195_entropyinpr2, + kat4195_addinpr2, kat4195_retbits +}; +static const struct drbg_kat kat4195 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4195_t +}; + +static const unsigned char kat4196_entropyin[] = { + 0x8c, 0x33, 0x95, 0xfe, 0x3b, 0xb4, 0xf9, 0xf1, 0xa7, 0x34, 0xab, 0x19, + 0x78, 0xf5, 0x55, 0x8a, 0x9b, 0xc9, 0xfe, 0x37, 0xb4, 0xf1, 0x0f, 0x6e, + 0x03, 0x8e, 0x8c, 0x7a, 0x9a, 0xc3, 0xd5, 0x7f, 0xba, 0xb8, 0x38, 0xdb, + 0xab, 0x44, 0x31, 0x46, 0x90, 0x0c, 0x21, 0xae, 0x5a, 0x50, 0x28, 0xd6, +}; +static const unsigned char kat4196_nonce[] = {0}; +static const unsigned char kat4196_persstr[] = { + 0x41, 0x51, 0x16, 0xcb, 0x46, 0x2b, 0xd9, 0xda, 0x97, 0x54, 0x20, 0x1c, + 0xf9, 0x73, 0xfe, 0xec, 0x65, 0x0e, 0xee, 0xd3, 0x63, 0xab, 0x69, 0x48, + 0xc1, 0x4f, 0xbb, 0x47, 0xa4, 0x27, 0xab, 0xb6, 0xd8, 0xe8, 0x77, 0x90, + 0x8a, 0xa2, 0x04, 0xac, 0x1f, 0x4d, 0xad, 0xa2, 0x29, 0x55, 0xda, 0x76, +}; +static const unsigned char kat4196_entropyinpr1[] = { + 0x34, 0xea, 0xd7, 0xc1, 0x95, 0xf3, 0x18, 0x52, 0xee, 0x64, 0xad, 0xed, + 0x13, 0x0c, 0xa8, 0xb7, 0x32, 0xc9, 0x32, 0x23, 0x54, 0xd3, 0x6d, 0x90, + 0x18, 0xd4, 0xd6, 0x2b, 0xd1, 0x62, 0xe2, 0xa6, 0x2f, 0x7a, 0x97, 0x07, + 0x00, 0xdd, 0xb8, 0xe1, 0x1c, 0x0a, 0xef, 0x34, 0xa9, 0x71, 0x5d, 0xb8, +}; +static const unsigned char kat4196_addinpr1[] = { + 0x01, 0xfb, 0xf4, 0x13, 0x09, 0x7f, 0x7d, 0x9c, 0x70, 0xfa, 0xa7, 0xa0, + 0x2a, 0x85, 0x3c, 0xbe, 0x94, 0xd0, 0xb5, 0x6d, 0x49, 0x26, 0x56, 0xb7, + 0xed, 0x4d, 0xc6, 0xb0, 0x53, 0x25, 0x55, 0x95, 0x76, 0xe8, 0x01, 0x49, + 0xd8, 0xca, 0xd9, 0x81, 0x4f, 0xa7, 0x66, 0x59, 0xe0, 0x65, 0x79, 0x63, +}; +static const unsigned char kat4196_entropyinpr2[] = { + 0x8c, 0x46, 0xd9, 0x71, 0xdf, 0x47, 0x38, 0xb8, 0xfe, 0xd6, 0x87, 0x3f, + 0x26, 0xb1, 0xf8, 0x6f, 0x83, 0xc5, 0x9a, 0xb5, 0xd0, 0xc6, 0xb1, 0xee, + 0x86, 0x62, 0xaa, 0xd2, 0x11, 0x2b, 0x51, 0x9c, 0x20, 0x11, 0x81, 0x58, + 0x34, 0x3f, 0x86, 0xb9, 0x19, 0x9d, 0xb2, 0x4f, 0x0d, 0x41, 0x19, 0xa4, +}; +static const unsigned char kat4196_addinpr2[] = { + 0xae, 0x1a, 0xc4, 0x1b, 0x33, 0x77, 0xa8, 0x65, 0x1f, 0xb9, 0x32, 0xbf, + 0xe8, 0x6b, 0xd9, 0x68, 0xac, 0x87, 0xbe, 0x18, 0x3f, 0xcd, 0xb0, 0x77, + 0xc2, 0x42, 0xa6, 0xf8, 0x22, 0xba, 0xe3, 0x25, 0x4b, 0x40, 0xda, 0xfa, + 0x61, 0x0f, 0xc7, 0xec, 0xa6, 0x80, 0xe1, 0xd2, 0xc0, 0x48, 0x07, 0x05, +}; +static const unsigned char kat4196_retbits[] = { + 0x17, 0xf8, 0xc9, 0x97, 0x7c, 0x00, 0xff, 0xc7, 0x25, 0x55, 0xb5, 0x9c, + 0x25, 0x59, 0xcc, 0xf8, 0xaa, 0xbe, 0xfe, 0xaf, 0xde, 0x4c, 0x17, 0x86, + 0x31, 0xee, 0x7b, 0x27, 0x3a, 0xb5, 0xf7, 0xc7, 0x8b, 0xcd, 0x32, 0x7a, + 0xb8, 0xcd, 0xc5, 0xb1, 0xba, 0xcd, 0x61, 0x4f, 0xe2, 0xf2, 0x80, 0x1b, + 0x4f, 0x31, 0x3d, 0x71, 0xc3, 0xf9, 0x25, 0x2f, 0xbc, 0x2e, 0xfe, 0xdc, + 0xb0, 0xf2, 0xe2, 0xd3, +}; +static const struct drbg_kat_pr_true kat4196_t = { + 10, kat4196_entropyin, kat4196_nonce, kat4196_persstr, + kat4196_entropyinpr1, kat4196_addinpr1, kat4196_entropyinpr2, + kat4196_addinpr2, kat4196_retbits +}; +static const struct drbg_kat kat4196 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4196_t +}; + +static const unsigned char kat4197_entropyin[] = { + 0x25, 0x3e, 0x90, 0x0f, 0x26, 0xa0, 0x92, 0x3f, 0xce, 0x00, 0x63, 0x5b, + 0x54, 0x1c, 0x4c, 0xa0, 0x58, 0x76, 0xa3, 0x77, 0x45, 0x0f, 0x34, 0x20, + 0xba, 0x6f, 0x55, 0x2d, 0x24, 0x5a, 0x96, 0x33, 0x4b, 0x5b, 0x0f, 0x67, + 0xf4, 0x25, 0x1a, 0xb4, 0x02, 0x55, 0xea, 0x4d, 0x18, 0x31, 0x2b, 0x94, +}; +static const unsigned char kat4197_nonce[] = {0}; +static const unsigned char kat4197_persstr[] = { + 0x8b, 0x3e, 0x45, 0xf7, 0x71, 0x28, 0xd8, 0xa7, 0x7f, 0x4b, 0xd5, 0x61, + 0x36, 0xb0, 0xda, 0xc5, 0xb4, 0x53, 0x2a, 0xa4, 0x32, 0x75, 0x8f, 0x70, + 0xd9, 0x65, 0xfb, 0x39, 0x65, 0x3b, 0x14, 0xc3, 0x5c, 0x09, 0x60, 0x05, + 0xc9, 0x29, 0x6b, 0x9a, 0x2c, 0x7e, 0xf8, 0x48, 0x96, 0x43, 0xcc, 0x76, +}; +static const unsigned char kat4197_entropyinpr1[] = { + 0x93, 0x1f, 0xcc, 0x33, 0xf2, 0xc1, 0x4d, 0x53, 0x86, 0x2b, 0x71, 0xc2, + 0x28, 0xa6, 0x2a, 0x13, 0x41, 0x82, 0xe1, 0x39, 0xc6, 0xfc, 0x46, 0x7d, + 0x35, 0x8d, 0x52, 0x6a, 0x15, 0x33, 0x2e, 0xe6, 0x74, 0xdd, 0x92, 0xf6, + 0xbd, 0x3b, 0xa8, 0xbc, 0x23, 0x41, 0x4d, 0x2c, 0x9e, 0x51, 0xac, 0xd8, +}; +static const unsigned char kat4197_addinpr1[] = { + 0x15, 0x93, 0x4d, 0x26, 0xa5, 0x87, 0x72, 0x06, 0x95, 0xae, 0xb6, 0xff, + 0xf1, 0x66, 0x72, 0x28, 0x2e, 0x60, 0x4d, 0xe5, 0x9a, 0x29, 0x21, 0xf7, + 0x14, 0x99, 0x1f, 0xa4, 0x28, 0x77, 0x33, 0xd1, 0x9a, 0x04, 0x56, 0xdc, + 0x61, 0xb4, 0x17, 0xfe, 0x8d, 0x29, 0xd8, 0x34, 0x9e, 0x2b, 0x1e, 0xb7, +}; +static const unsigned char kat4197_entropyinpr2[] = { + 0x29, 0x3e, 0x57, 0x97, 0x3e, 0xe8, 0x4e, 0xad, 0x21, 0x6b, 0x02, 0xd1, + 0x7c, 0x6f, 0xc0, 0x74, 0xa9, 0x7d, 0xff, 0x7d, 0xe3, 0x56, 0x16, 0x64, + 0x9b, 0x9b, 0x5f, 0xf3, 0xf9, 0x5c, 0x05, 0x09, 0xd4, 0x8e, 0xf0, 0x02, + 0x94, 0x3c, 0x45, 0x33, 0x94, 0x99, 0x7f, 0x02, 0x1e, 0xe7, 0xc9, 0x30, +}; +static const unsigned char kat4197_addinpr2[] = { + 0x2f, 0x0b, 0xa5, 0x40, 0x7d, 0x39, 0x51, 0x25, 0x45, 0xc4, 0x8f, 0xbc, + 0x1e, 0x34, 0x5a, 0xf2, 0x6d, 0x35, 0x60, 0x5b, 0xe2, 0x8f, 0x46, 0xd0, + 0xbc, 0xe6, 0x4d, 0x98, 0xc8, 0xdb, 0x72, 0x3b, 0xe2, 0xbd, 0x4a, 0xa0, + 0x88, 0x0f, 0x2b, 0x8f, 0xc5, 0xc1, 0xe3, 0x59, 0x71, 0x40, 0x58, 0xd9, +}; +static const unsigned char kat4197_retbits[] = { + 0xa9, 0x57, 0x8c, 0x2f, 0x26, 0xe9, 0xbc, 0xc6, 0x87, 0xe0, 0xfc, 0x7a, + 0x7f, 0x13, 0x5a, 0xda, 0x10, 0x9f, 0xfb, 0x64, 0x2a, 0x7c, 0x9e, 0x9d, + 0x39, 0x35, 0x52, 0xde, 0xcc, 0xcd, 0x3d, 0xfb, 0x72, 0x5f, 0xe7, 0x92, + 0x30, 0x4e, 0x8a, 0x11, 0x62, 0x11, 0xd3, 0xd5, 0x05, 0x65, 0xb6, 0xfe, + 0xc5, 0x65, 0x6e, 0xc3, 0x15, 0x8d, 0xb5, 0xf5, 0x16, 0x4e, 0xf2, 0xf5, + 0x85, 0x13, 0xd4, 0x12, +}; +static const struct drbg_kat_pr_true kat4197_t = { + 11, kat4197_entropyin, kat4197_nonce, kat4197_persstr, + kat4197_entropyinpr1, kat4197_addinpr1, kat4197_entropyinpr2, + kat4197_addinpr2, kat4197_retbits +}; +static const struct drbg_kat kat4197 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4197_t +}; + +static const unsigned char kat4198_entropyin[] = { + 0xc4, 0xb6, 0x07, 0x8d, 0xd2, 0x8f, 0x9f, 0x35, 0xf1, 0x3e, 0xcf, 0x61, + 0x6a, 0x50, 0x77, 0x71, 0x40, 0xa8, 0x10, 0x4b, 0xe2, 0x01, 0x50, 0x2e, + 0x4d, 0x71, 0x77, 0xed, 0x72, 0xcb, 0x99, 0x5c, 0xe5, 0xd5, 0x6b, 0x25, + 0x93, 0x58, 0x2b, 0x92, 0x6d, 0x09, 0xb9, 0x0a, 0x3c, 0x90, 0x4c, 0x73, +}; +static const unsigned char kat4198_nonce[] = {0}; +static const unsigned char kat4198_persstr[] = { + 0x47, 0xa8, 0x9c, 0xef, 0x4b, 0x84, 0x26, 0xbe, 0x9f, 0x7f, 0x8b, 0xd9, + 0x63, 0x5c, 0x84, 0xbd, 0xba, 0x28, 0x83, 0x1c, 0x67, 0xac, 0xec, 0x41, + 0xef, 0xcf, 0x72, 0x5b, 0x8a, 0x04, 0xe8, 0xc5, 0x4d, 0x10, 0xb6, 0x12, + 0x28, 0xb5, 0x23, 0x4a, 0x33, 0x04, 0xb0, 0x2b, 0xb7, 0x0a, 0x4e, 0x7f, +}; +static const unsigned char kat4198_entropyinpr1[] = { + 0x06, 0x07, 0x03, 0xff, 0x30, 0xd4, 0xee, 0x8c, 0xc5, 0xd6, 0x14, 0xdc, + 0x79, 0x6d, 0x3c, 0xab, 0xba, 0xbe, 0x4c, 0xe2, 0xf6, 0xfa, 0x8d, 0x03, + 0xf9, 0x0b, 0x7f, 0xfe, 0xc6, 0x2e, 0xb9, 0x78, 0xab, 0xd0, 0x97, 0x3e, + 0xed, 0x32, 0xcf, 0x99, 0xf6, 0x1c, 0xbc, 0x79, 0xff, 0xd4, 0x66, 0x29, +}; +static const unsigned char kat4198_addinpr1[] = { + 0x19, 0x5a, 0xa7, 0xc8, 0xc5, 0xf1, 0x2c, 0x42, 0x21, 0xa8, 0x81, 0xfd, + 0x4e, 0x8c, 0xad, 0xc5, 0x6a, 0x77, 0xb9, 0x08, 0xf2, 0x15, 0x30, 0x3d, + 0x7c, 0x0d, 0x07, 0xf6, 0xce, 0xa9, 0x05, 0x60, 0x98, 0x27, 0x37, 0xed, + 0x7b, 0xbf, 0x43, 0x4e, 0x40, 0x76, 0x91, 0xcf, 0x09, 0x29, 0x33, 0x02, +}; +static const unsigned char kat4198_entropyinpr2[] = { + 0xce, 0x05, 0x6e, 0x0c, 0x5b, 0x99, 0xbb, 0x95, 0x3e, 0xed, 0xcc, 0xd5, + 0x73, 0x29, 0xb3, 0x4a, 0x9a, 0xea, 0xdc, 0xcd, 0x22, 0xef, 0x98, 0x07, + 0xf5, 0xc2, 0x98, 0xc0, 0x22, 0x40, 0xfb, 0x8f, 0xcb, 0x0e, 0xa6, 0x21, + 0x59, 0xe2, 0x67, 0x39, 0xf4, 0x37, 0x4f, 0xac, 0x25, 0xb5, 0x61, 0x44, +}; +static const unsigned char kat4198_addinpr2[] = { + 0x8f, 0x3f, 0xe6, 0x6d, 0x61, 0xc3, 0x6e, 0x93, 0xc5, 0x66, 0x28, 0x4f, + 0xda, 0xbe, 0x59, 0x6d, 0x4f, 0xbd, 0x95, 0x8b, 0x6d, 0x17, 0x7a, 0x7d, + 0x5e, 0xf4, 0xd7, 0xd3, 0x5a, 0x6f, 0x15, 0x09, 0xc7, 0xd9, 0xcd, 0xf0, + 0xc4, 0xb3, 0x92, 0x78, 0x08, 0x15, 0x1a, 0x98, 0x7b, 0x97, 0x58, 0x2f, +}; +static const unsigned char kat4198_retbits[] = { + 0x7b, 0xf9, 0x11, 0xe5, 0xa1, 0x22, 0x9e, 0xf4, 0x07, 0xa5, 0xcb, 0x93, + 0x51, 0x97, 0xa4, 0xa5, 0xac, 0xa5, 0xec, 0xba, 0x3c, 0xf5, 0x71, 0x41, + 0x45, 0xe7, 0x44, 0x16, 0x78, 0x09, 0xca, 0x48, 0xff, 0x0e, 0xfc, 0x06, + 0x57, 0xe2, 0x48, 0x6f, 0x87, 0x63, 0x42, 0x49, 0x63, 0xf6, 0x64, 0x9b, + 0x3e, 0xe7, 0x85, 0x5e, 0x36, 0xfd, 0xc1, 0x44, 0x8e, 0x83, 0xc7, 0xac, + 0xa6, 0xde, 0xbf, 0x0b, +}; +static const struct drbg_kat_pr_true kat4198_t = { + 12, kat4198_entropyin, kat4198_nonce, kat4198_persstr, + kat4198_entropyinpr1, kat4198_addinpr1, kat4198_entropyinpr2, + kat4198_addinpr2, kat4198_retbits +}; +static const struct drbg_kat kat4198 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4198_t +}; + +static const unsigned char kat4199_entropyin[] = { + 0x9f, 0x20, 0xca, 0xc7, 0xb5, 0x7b, 0x14, 0xc7, 0x5f, 0x1b, 0x49, 0x83, + 0xdf, 0x77, 0xce, 0x10, 0x13, 0xe8, 0x7a, 0x1a, 0x3d, 0x17, 0xf9, 0x67, + 0x4f, 0xbc, 0x39, 0x1f, 0xaf, 0xc0, 0x04, 0x88, 0x43, 0xc5, 0xf2, 0xcd, + 0x80, 0x82, 0x03, 0xab, 0x66, 0x83, 0x2a, 0xda, 0x22, 0x86, 0xcd, 0x41, +}; +static const unsigned char kat4199_nonce[] = {0}; +static const unsigned char kat4199_persstr[] = { + 0xf1, 0xd9, 0x93, 0x45, 0xb9, 0x53, 0x29, 0x80, 0xa4, 0xbe, 0x2e, 0xe0, + 0x83, 0x61, 0xc4, 0xa5, 0x6b, 0x6f, 0x83, 0x3a, 0x57, 0x95, 0x2c, 0x58, + 0x84, 0x2e, 0xd3, 0x68, 0x33, 0x26, 0xda, 0x60, 0xec, 0xe0, 0xb5, 0x0f, + 0x2f, 0x3f, 0xb1, 0xa4, 0xd4, 0x98, 0x71, 0xce, 0x15, 0x5d, 0x3b, 0x1a, +}; +static const unsigned char kat4199_entropyinpr1[] = { + 0x3e, 0xef, 0x39, 0x84, 0x7d, 0xe6, 0x73, 0x28, 0xdb, 0x09, 0xf9, 0xf6, + 0xa7, 0x82, 0x99, 0xbf, 0x24, 0x69, 0x0c, 0x0f, 0xc6, 0x65, 0x9c, 0x5f, + 0xd6, 0xc7, 0x9e, 0xc4, 0xb4, 0x9d, 0x7c, 0xb4, 0x13, 0x23, 0x43, 0x8e, + 0x60, 0xcb, 0xd2, 0x73, 0xd8, 0x3f, 0x60, 0x1e, 0x68, 0x98, 0x41, 0x4f, +}; +static const unsigned char kat4199_addinpr1[] = { + 0xcd, 0xf4, 0xc1, 0x61, 0x52, 0xf0, 0x4a, 0xaf, 0x84, 0x9b, 0x40, 0x62, + 0xd7, 0x24, 0xc4, 0x47, 0x73, 0xa9, 0xd9, 0xce, 0xc9, 0x27, 0x5b, 0x7f, + 0x7e, 0x82, 0xc3, 0xac, 0x74, 0x47, 0x60, 0x9c, 0x14, 0xae, 0xe1, 0x9e, + 0xbc, 0xd5, 0xfe, 0x6c, 0x66, 0x19, 0x0a, 0x43, 0x76, 0xf2, 0xad, 0x34, +}; +static const unsigned char kat4199_entropyinpr2[] = { + 0xf3, 0x7c, 0xec, 0xc4, 0x8c, 0x4c, 0x0c, 0xb9, 0xae, 0x59, 0xdf, 0xf4, + 0x8f, 0xd4, 0x91, 0xc3, 0xf2, 0xa4, 0x5c, 0x04, 0x52, 0x25, 0x43, 0x76, + 0x75, 0x7e, 0xed, 0x44, 0x12, 0x74, 0x71, 0xf9, 0xd6, 0x30, 0xba, 0x7b, + 0xfc, 0xd2, 0xaf, 0x86, 0xa8, 0x2e, 0x7e, 0x16, 0x0d, 0x38, 0xe2, 0x37, +}; +static const unsigned char kat4199_addinpr2[] = { + 0x05, 0xbc, 0xad, 0xbb, 0x4f, 0x06, 0x16, 0xd7, 0x71, 0xcc, 0x9c, 0xa4, + 0xf0, 0xa8, 0xdd, 0xe6, 0xbd, 0x87, 0xa0, 0x17, 0x2a, 0x23, 0x93, 0x66, + 0x7d, 0xf7, 0x6d, 0x93, 0xe4, 0x99, 0xd0, 0x78, 0x69, 0xfb, 0xfc, 0x06, + 0x48, 0xa2, 0x24, 0x69, 0x41, 0x48, 0x93, 0xc1, 0xa0, 0x8d, 0x28, 0xe0, +}; +static const unsigned char kat4199_retbits[] = { + 0x41, 0xc2, 0xfe, 0xf4, 0xb8, 0x73, 0x68, 0x89, 0xbb, 0x42, 0x0c, 0xc3, + 0x64, 0x85, 0xde, 0xc0, 0x6d, 0x10, 0x7f, 0x06, 0x47, 0x24, 0x8e, 0x5d, + 0x99, 0x05, 0xf8, 0xa2, 0xb3, 0x0c, 0x5a, 0x97, 0xe6, 0x07, 0xee, 0x42, + 0x65, 0xe5, 0xe7, 0x71, 0x37, 0xf4, 0xb4, 0xab, 0x39, 0x9f, 0xe8, 0x4d, + 0x54, 0x6c, 0x38, 0x99, 0x81, 0x4a, 0x6e, 0x7b, 0x1b, 0x1c, 0x2b, 0xc5, + 0xed, 0xf1, 0x6a, 0x3f, +}; +static const struct drbg_kat_pr_true kat4199_t = { + 13, kat4199_entropyin, kat4199_nonce, kat4199_persstr, + kat4199_entropyinpr1, kat4199_addinpr1, kat4199_entropyinpr2, + kat4199_addinpr2, kat4199_retbits +}; +static const struct drbg_kat kat4199 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4199_t +}; + +static const unsigned char kat4200_entropyin[] = { + 0xc4, 0xce, 0xd6, 0x22, 0x73, 0x95, 0xfc, 0xa3, 0x55, 0x4e, 0x92, 0x14, + 0x3a, 0x53, 0x0b, 0xd1, 0x2d, 0xf5, 0x19, 0x64, 0xeb, 0xdd, 0xf9, 0x4b, + 0xfb, 0x02, 0x19, 0xcb, 0xcc, 0x00, 0xc9, 0x66, 0xa9, 0x65, 0xf8, 0xcf, + 0x08, 0xc4, 0x44, 0x98, 0xdf, 0xd6, 0x79, 0x10, 0xff, 0x3b, 0xba, 0xf2, +}; +static const unsigned char kat4200_nonce[] = {0}; +static const unsigned char kat4200_persstr[] = { + 0x75, 0x98, 0x43, 0x05, 0xc2, 0x73, 0x24, 0xdf, 0x11, 0x6f, 0x95, 0x16, + 0x00, 0xa0, 0x29, 0xd2, 0x62, 0x68, 0xbd, 0x0d, 0x21, 0x50, 0x20, 0x86, + 0xec, 0xdd, 0xe7, 0xc6, 0x88, 0xe9, 0xf7, 0x2e, 0x44, 0xe7, 0xd3, 0xb3, + 0x4d, 0x89, 0x73, 0x1f, 0xbe, 0xe6, 0xbe, 0x4a, 0xff, 0xc3, 0x24, 0x51, +}; +static const unsigned char kat4200_entropyinpr1[] = { + 0x35, 0x3a, 0x6f, 0x81, 0x6b, 0x73, 0xac, 0xe3, 0x85, 0x88, 0x90, 0x30, + 0x3b, 0x51, 0x57, 0x9f, 0xc4, 0xc2, 0xfd, 0xe4, 0x03, 0xbd, 0x9a, 0xf5, + 0x05, 0xfd, 0xcc, 0x1b, 0xfc, 0x25, 0x41, 0x64, 0x8c, 0xa7, 0xf2, 0xa0, + 0xd2, 0x99, 0x43, 0x48, 0xda, 0x0c, 0xd9, 0x8c, 0xe4, 0xa5, 0x86, 0x14, +}; +static const unsigned char kat4200_addinpr1[] = { + 0x86, 0x76, 0x13, 0x8f, 0x1d, 0x19, 0x50, 0x28, 0x32, 0x0e, 0xfd, 0xc0, + 0x78, 0xce, 0x5c, 0xba, 0xdd, 0x94, 0xb9, 0x43, 0x18, 0x10, 0x1c, 0x17, + 0x57, 0x6d, 0x3f, 0xb5, 0xa6, 0x32, 0x6c, 0xae, 0x94, 0x0a, 0xd9, 0xfd, + 0x48, 0x14, 0x20, 0xb1, 0x25, 0x03, 0x3a, 0xe0, 0xa9, 0x16, 0x0c, 0x90, +}; +static const unsigned char kat4200_entropyinpr2[] = { + 0xae, 0xc9, 0x0f, 0x26, 0xf7, 0xc7, 0x85, 0x3f, 0x39, 0x17, 0xde, 0x51, + 0x6f, 0x1e, 0xe0, 0xf8, 0x5a, 0x0f, 0x3d, 0x0e, 0xb4, 0x96, 0x7f, 0x6d, + 0x26, 0x94, 0x55, 0x2a, 0x93, 0xa2, 0x5c, 0xa7, 0xfb, 0xdb, 0x45, 0x54, + 0xde, 0x8a, 0xcc, 0x0e, 0x60, 0xaf, 0x0c, 0x5b, 0x08, 0x29, 0xcb, 0x9a, +}; +static const unsigned char kat4200_addinpr2[] = { + 0x58, 0xa9, 0x8d, 0x14, 0x62, 0x5f, 0x59, 0xf7, 0xad, 0xf6, 0xa7, 0x03, + 0xb2, 0xe1, 0xee, 0x21, 0xfb, 0x83, 0xf2, 0x2f, 0x36, 0x94, 0xf7, 0xf0, + 0x65, 0x48, 0xc8, 0x58, 0x04, 0x26, 0x97, 0xd9, 0xca, 0x1a, 0x66, 0x6a, + 0xe1, 0xbd, 0xcf, 0xa7, 0xa2, 0xf5, 0x5c, 0xb1, 0x29, 0x46, 0xb7, 0xb8, +}; +static const unsigned char kat4200_retbits[] = { + 0x18, 0xd3, 0xf2, 0x39, 0x6f, 0xa9, 0x2b, 0x0b, 0x9e, 0x6b, 0xc7, 0xa5, + 0xc0, 0xf9, 0xf8, 0xe1, 0x08, 0x57, 0xc0, 0x06, 0x3b, 0x4f, 0xdd, 0x8e, + 0xe7, 0x6d, 0x12, 0xe1, 0x20, 0x5e, 0xb5, 0xe4, 0xfb, 0xe1, 0xb0, 0x7f, + 0xfc, 0x0e, 0xc5, 0x04, 0x5e, 0xaa, 0xad, 0x60, 0x8a, 0x55, 0x8d, 0x11, + 0x07, 0xf9, 0x31, 0xc0, 0x29, 0x03, 0x92, 0x16, 0x6b, 0xed, 0x2d, 0x09, + 0x84, 0x98, 0x80, 0xa5, +}; +static const struct drbg_kat_pr_true kat4200_t = { + 14, kat4200_entropyin, kat4200_nonce, kat4200_persstr, + kat4200_entropyinpr1, kat4200_addinpr1, kat4200_entropyinpr2, + kat4200_addinpr2, kat4200_retbits +}; +static const struct drbg_kat kat4200 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4200_t +}; + +static const unsigned char kat4201_entropyin[] = { + 0xa9, 0x8e, 0x4c, 0xcd, 0x7e, 0x7d, 0x4a, 0x90, 0x5a, 0xf5, 0xa5, 0x7c, + 0xec, 0x1e, 0x72, 0x93, 0x68, 0x23, 0xbe, 0x81, 0x9b, 0x7c, 0xa3, 0x62, + 0xd0, 0x24, 0x2f, 0x9a, 0xf3, 0x3c, 0x29, 0x06, 0xae, 0xed, 0xba, 0x7e, + 0x7e, 0x2a, 0x9d, 0x0c, 0xf0, 0xfd, 0x4a, 0xe3, 0x9b, 0x7c, 0x13, 0x09, +}; +static const unsigned char kat4201_nonce[] = {0}; +static const unsigned char kat4201_persstr[] = {0}; +static const unsigned char kat4201_entropyinpr1[] = { + 0xa7, 0x54, 0xb1, 0x26, 0x41, 0xfc, 0x2b, 0xbc, 0x64, 0x9e, 0x68, 0xd3, + 0x1d, 0x44, 0x10, 0x08, 0xef, 0xa7, 0xdf, 0x99, 0xa2, 0xbe, 0xb7, 0x72, + 0xbf, 0xbe, 0xeb, 0xa1, 0x0d, 0xbc, 0x0b, 0xc2, 0x5a, 0xd4, 0xb5, 0x51, + 0xb2, 0xb7, 0xa1, 0x57, 0x49, 0xbd, 0x08, 0x06, 0x76, 0xf7, 0x46, 0x25, +}; +static const unsigned char kat4201_addinpr1[] = {0}; +static const unsigned char kat4201_entropyinpr2[] = { + 0xd5, 0xa5, 0xf0, 0x65, 0xb4, 0xf5, 0x56, 0xd0, 0x5a, 0x09, 0x0f, 0xaf, + 0x45, 0x36, 0xba, 0x88, 0x86, 0x35, 0x8b, 0x4c, 0xd6, 0xdc, 0xaa, 0xc2, + 0xad, 0x9b, 0x24, 0x9d, 0x83, 0xce, 0x8f, 0xb5, 0xa9, 0x1d, 0x9f, 0x1f, + 0x5f, 0xda, 0x62, 0xec, 0x35, 0x20, 0x51, 0x52, 0xc8, 0x5d, 0x8c, 0xb1, +}; +static const unsigned char kat4201_addinpr2[] = {0}; +static const unsigned char kat4201_retbits[] = { + 0x80, 0x0e, 0xf3, 0xf1, 0x77, 0x28, 0xf1, 0x0b, 0x42, 0x01, 0xe1, 0x6a, + 0xa9, 0xc3, 0x26, 0x4f, 0xbc, 0x45, 0xac, 0xc8, 0xf0, 0x14, 0x34, 0xcc, + 0x0c, 0xb0, 0xe4, 0x1e, 0x89, 0x54, 0xee, 0x20, 0xd8, 0x09, 0x9a, 0x4c, + 0x3b, 0x4f, 0x5d, 0xc9, 0x95, 0xbd, 0xe0, 0xb3, 0x45, 0x26, 0x37, 0xe7, + 0x63, 0x97, 0x76, 0x8e, 0xfe, 0x17, 0xbc, 0x7a, 0xc8, 0xb4, 0x8d, 0x1f, + 0xf7, 0xe2, 0xc7, 0x0e, +}; +static const struct drbg_kat_pr_true kat4201_t = { + 0, kat4201_entropyin, kat4201_nonce, kat4201_persstr, + kat4201_entropyinpr1, kat4201_addinpr1, kat4201_entropyinpr2, + kat4201_addinpr2, kat4201_retbits +}; +static const struct drbg_kat kat4201 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4201_t +}; + +static const unsigned char kat4202_entropyin[] = { + 0xb9, 0xa6, 0x2e, 0x8d, 0x41, 0x7b, 0xf6, 0xc7, 0x2b, 0x7e, 0xce, 0xba, + 0x1b, 0x28, 0x4e, 0x98, 0x78, 0xb2, 0x8c, 0xba, 0xe7, 0xa3, 0xe0, 0x02, + 0xc2, 0x36, 0x22, 0x5b, 0x0c, 0x36, 0x45, 0x69, 0x11, 0xca, 0xb1, 0xd3, + 0xda, 0xc4, 0x6b, 0x27, 0x84, 0x6c, 0x61, 0x7e, 0xfe, 0x2d, 0x59, 0x63, +}; +static const unsigned char kat4202_nonce[] = {0}; +static const unsigned char kat4202_persstr[] = {0}; +static const unsigned char kat4202_entropyinpr1[] = { + 0x9b, 0x32, 0xde, 0x98, 0xea, 0x48, 0xd0, 0xec, 0xb3, 0x9d, 0x14, 0xa6, + 0x5b, 0x16, 0x1d, 0x79, 0x29, 0x1c, 0x1a, 0x27, 0x69, 0x48, 0x7c, 0x8c, + 0xbb, 0x86, 0x31, 0x21, 0x7d, 0x6b, 0x65, 0x11, 0xde, 0x51, 0xf7, 0xeb, + 0x23, 0x03, 0x81, 0xe4, 0x50, 0x3c, 0x62, 0x69, 0x39, 0xee, 0x35, 0xa6, +}; +static const unsigned char kat4202_addinpr1[] = {0}; +static const unsigned char kat4202_entropyinpr2[] = { + 0x50, 0xbf, 0xee, 0xbb, 0x79, 0x7f, 0x64, 0x9b, 0x65, 0x65, 0x4a, 0x3e, + 0xb4, 0xc1, 0xad, 0x14, 0x57, 0xd9, 0xc4, 0x7d, 0x28, 0x18, 0xe2, 0xfe, + 0xdd, 0x98, 0x6e, 0xc1, 0xa7, 0x00, 0xb3, 0x19, 0x00, 0xe2, 0xde, 0xf7, + 0x98, 0x33, 0xac, 0x34, 0x43, 0x80, 0xda, 0x87, 0xa0, 0xc2, 0xb1, 0x5e, +}; +static const unsigned char kat4202_addinpr2[] = {0}; +static const unsigned char kat4202_retbits[] = { + 0x0c, 0x08, 0x5b, 0xb7, 0x97, 0x9c, 0x75, 0x69, 0x96, 0x40, 0xe5, 0x25, + 0xa2, 0xc5, 0x70, 0x10, 0xe6, 0xd9, 0x91, 0x72, 0x52, 0x9b, 0x05, 0x8f, + 0x9d, 0x44, 0x00, 0x8e, 0x04, 0xf7, 0x3b, 0x34, 0x04, 0xc8, 0x03, 0x2b, + 0x48, 0x06, 0xac, 0x3b, 0xd6, 0x0d, 0xf2, 0xda, 0x50, 0x55, 0xd7, 0x36, + 0x21, 0xdd, 0x11, 0x2a, 0x77, 0x44, 0x28, 0xf3, 0x28, 0xd6, 0xd1, 0x63, + 0xdd, 0xad, 0x19, 0x9d, +}; +static const struct drbg_kat_pr_true kat4202_t = { + 1, kat4202_entropyin, kat4202_nonce, kat4202_persstr, + kat4202_entropyinpr1, kat4202_addinpr1, kat4202_entropyinpr2, + kat4202_addinpr2, kat4202_retbits +}; +static const struct drbg_kat kat4202 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4202_t +}; + +static const unsigned char kat4203_entropyin[] = { + 0xd8, 0xc6, 0x67, 0x6e, 0x89, 0x6b, 0xc8, 0x8b, 0x8c, 0xcb, 0x0f, 0x32, + 0x57, 0x8d, 0xc0, 0xd8, 0x08, 0x7c, 0xd7, 0xd3, 0xe5, 0x21, 0x64, 0xb1, + 0xe7, 0x0d, 0xf4, 0xea, 0xea, 0xf8, 0xfc, 0x42, 0x42, 0xb4, 0x3e, 0x47, + 0xdf, 0x64, 0x0a, 0x21, 0x08, 0xf8, 0xcd, 0x6f, 0xc7, 0x0d, 0xc2, 0x75, +}; +static const unsigned char kat4203_nonce[] = {0}; +static const unsigned char kat4203_persstr[] = {0}; +static const unsigned char kat4203_entropyinpr1[] = { + 0xc0, 0x0f, 0x59, 0x2c, 0xfb, 0x03, 0xaf, 0xf7, 0xc4, 0x95, 0x93, 0x16, + 0x0a, 0x88, 0x0b, 0xba, 0x74, 0x59, 0x81, 0xc1, 0x3f, 0xc5, 0x26, 0xb9, + 0x7b, 0xfc, 0x71, 0x35, 0xa4, 0x10, 0xa8, 0x47, 0x6d, 0x02, 0xa7, 0x57, + 0x41, 0xb8, 0x04, 0xee, 0x35, 0x02, 0xf8, 0x6d, 0xbb, 0x12, 0xd5, 0x51, +}; +static const unsigned char kat4203_addinpr1[] = {0}; +static const unsigned char kat4203_entropyinpr2[] = { + 0x95, 0xb8, 0x67, 0x36, 0x6c, 0x08, 0xa9, 0xf6, 0x6a, 0xf7, 0x13, 0x8b, + 0x8d, 0x29, 0x40, 0x3f, 0x04, 0x91, 0xfa, 0x81, 0x45, 0xd0, 0x87, 0x87, + 0x17, 0x0a, 0x88, 0xb3, 0x00, 0x45, 0xaa, 0xfe, 0x06, 0x0e, 0x61, 0x56, + 0x10, 0x0a, 0x97, 0xea, 0x3f, 0xce, 0xa8, 0x12, 0x27, 0x13, 0xd6, 0x85, +}; +static const unsigned char kat4203_addinpr2[] = {0}; +static const unsigned char kat4203_retbits[] = { + 0x56, 0xf2, 0xe0, 0x37, 0x2c, 0x39, 0xf0, 0x74, 0xc5, 0x78, 0x14, 0x13, + 0xf5, 0xe1, 0xe8, 0x20, 0x84, 0x4f, 0x5a, 0x77, 0xae, 0x72, 0x6e, 0x77, + 0xcb, 0x7b, 0x65, 0x9b, 0x37, 0xf5, 0xc0, 0xb8, 0xee, 0x7b, 0x32, 0xcf, + 0xb0, 0xb2, 0x7c, 0xdf, 0xe6, 0xbd, 0xa3, 0xa5, 0x6d, 0x5f, 0x13, 0xe9, + 0xc3, 0xd6, 0xc5, 0x84, 0x47, 0x0d, 0x44, 0xf0, 0x99, 0x62, 0xbe, 0x21, + 0x90, 0xbc, 0x70, 0x54, +}; +static const struct drbg_kat_pr_true kat4203_t = { + 2, kat4203_entropyin, kat4203_nonce, kat4203_persstr, + kat4203_entropyinpr1, kat4203_addinpr1, kat4203_entropyinpr2, + kat4203_addinpr2, kat4203_retbits +}; +static const struct drbg_kat kat4203 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4203_t +}; + +static const unsigned char kat4204_entropyin[] = { + 0xa0, 0xc0, 0xb1, 0x1c, 0x88, 0x07, 0xa7, 0xd1, 0x97, 0xdc, 0xcd, 0x15, + 0x9f, 0x3d, 0x2a, 0xf3, 0x3e, 0x27, 0x90, 0xae, 0xb0, 0xd5, 0x32, 0x31, + 0x06, 0xdb, 0x52, 0x64, 0x01, 0x48, 0xef, 0xa3, 0xe6, 0x3e, 0x91, 0xcf, + 0x5a, 0xbd, 0x3b, 0xde, 0xdb, 0xce, 0x1d, 0x7b, 0x5e, 0x32, 0x55, 0xe1, +}; +static const unsigned char kat4204_nonce[] = {0}; +static const unsigned char kat4204_persstr[] = {0}; +static const unsigned char kat4204_entropyinpr1[] = { + 0xc7, 0xcc, 0xe4, 0x56, 0x36, 0x53, 0x2d, 0xc3, 0xd0, 0x25, 0x96, 0x91, + 0xda, 0x45, 0x93, 0xe6, 0x92, 0xf4, 0x44, 0x01, 0xe1, 0x3e, 0xfb, 0x39, + 0x8a, 0x00, 0xc2, 0x85, 0x37, 0x30, 0xa3, 0xb2, 0xb9, 0x24, 0x8e, 0x60, + 0xbe, 0x3e, 0xaa, 0xff, 0x72, 0xf0, 0x93, 0xaf, 0x73, 0x1c, 0x50, 0xcd, +}; +static const unsigned char kat4204_addinpr1[] = {0}; +static const unsigned char kat4204_entropyinpr2[] = { + 0x0c, 0xfc, 0x99, 0x6e, 0x46, 0x5f, 0x59, 0x7d, 0x09, 0xa3, 0x5f, 0x25, + 0x0d, 0x1e, 0xb8, 0xef, 0xc0, 0xc0, 0xf5, 0x80, 0x8d, 0x67, 0x44, 0x70, + 0x99, 0x51, 0xa9, 0x81, 0x15, 0x03, 0x84, 0x59, 0x96, 0x3b, 0x42, 0x23, + 0x41, 0x71, 0x6d, 0x1b, 0x34, 0xe9, 0x54, 0x89, 0xfc, 0x83, 0xa9, 0xd7, +}; +static const unsigned char kat4204_addinpr2[] = {0}; +static const unsigned char kat4204_retbits[] = { + 0xdd, 0x0d, 0xe1, 0xf2, 0xf8, 0xa2, 0x9d, 0xb1, 0xbd, 0xe9, 0x6a, 0x67, + 0xb0, 0xce, 0x6e, 0x2d, 0xc1, 0xe1, 0x2c, 0x21, 0x20, 0x46, 0x2c, 0xa7, + 0xfe, 0x03, 0x99, 0x56, 0x45, 0xce, 0x9f, 0xd1, 0xdd, 0x7c, 0xaf, 0x40, + 0x04, 0x76, 0x6e, 0xce, 0xb8, 0xfb, 0x8f, 0x90, 0x1d, 0x59, 0x5d, 0x6a, + 0x6a, 0x9c, 0xb2, 0x13, 0x93, 0x06, 0xe1, 0xa7, 0xb0, 0x4d, 0x4f, 0x6c, + 0x4e, 0x5a, 0x5f, 0x46, +}; +static const struct drbg_kat_pr_true kat4204_t = { + 3, kat4204_entropyin, kat4204_nonce, kat4204_persstr, + kat4204_entropyinpr1, kat4204_addinpr1, kat4204_entropyinpr2, + kat4204_addinpr2, kat4204_retbits +}; +static const struct drbg_kat kat4204 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4204_t +}; + +static const unsigned char kat4205_entropyin[] = { + 0xee, 0x8c, 0xa5, 0xde, 0x03, 0x6c, 0x21, 0x20, 0xb2, 0x14, 0x0c, 0x68, + 0xc5, 0xad, 0xff, 0xc7, 0x02, 0xde, 0x4e, 0xad, 0x91, 0x9b, 0x6b, 0x57, + 0x4a, 0x87, 0x14, 0x92, 0xee, 0xb9, 0xc7, 0x90, 0x68, 0xb6, 0x95, 0x1d, + 0x0d, 0xdd, 0x73, 0x3d, 0xc7, 0x42, 0x4c, 0xeb, 0xc5, 0xc3, 0xef, 0xa2, +}; +static const unsigned char kat4205_nonce[] = {0}; +static const unsigned char kat4205_persstr[] = {0}; +static const unsigned char kat4205_entropyinpr1[] = { + 0x9c, 0xb9, 0x1c, 0xce, 0x0a, 0x38, 0x18, 0x91, 0x74, 0xf6, 0x30, 0x0e, + 0x94, 0x1d, 0x51, 0x04, 0x8a, 0x1a, 0x11, 0x5c, 0x83, 0xe7, 0xab, 0xec, + 0xbb, 0x85, 0xb5, 0x0d, 0x7a, 0x53, 0xdd, 0x2d, 0x0a, 0x6b, 0x37, 0xf3, + 0x7f, 0xc9, 0x02, 0xd4, 0xd4, 0xb3, 0xa5, 0x9a, 0xd6, 0xc3, 0x5c, 0x79, +}; +static const unsigned char kat4205_addinpr1[] = {0}; +static const unsigned char kat4205_entropyinpr2[] = { + 0x2b, 0xa4, 0x07, 0x48, 0x4b, 0x1a, 0xad, 0x03, 0x20, 0x1a, 0x57, 0x73, + 0x11, 0x09, 0x5b, 0xac, 0x9b, 0x69, 0xa6, 0x3b, 0x2c, 0xb7, 0x81, 0x4c, + 0xe3, 0xe4, 0x3d, 0xa3, 0x17, 0x13, 0x81, 0x4a, 0xff, 0x70, 0x8a, 0x3c, + 0x4e, 0x46, 0x8c, 0x3d, 0x65, 0x55, 0xdb, 0x3e, 0xed, 0x5d, 0xb2, 0x23, +}; +static const unsigned char kat4205_addinpr2[] = {0}; +static const unsigned char kat4205_retbits[] = { + 0x99, 0x11, 0x82, 0x81, 0x19, 0x17, 0xed, 0xa9, 0x0c, 0xf6, 0x4a, 0x02, + 0x43, 0xe8, 0x3b, 0xa8, 0x3e, 0x6d, 0xaf, 0xf1, 0x62, 0x2b, 0x12, 0x2e, + 0x58, 0x51, 0xa1, 0x00, 0x8c, 0x37, 0xbb, 0xe7, 0xf8, 0x55, 0x93, 0xa1, + 0x6a, 0x05, 0xdd, 0x10, 0xa3, 0xfd, 0x9a, 0x10, 0xf0, 0x76, 0x5c, 0xcb, + 0x94, 0x18, 0x69, 0x9a, 0x74, 0xa2, 0xf9, 0x67, 0xd3, 0xbf, 0xe4, 0x4d, + 0x38, 0x03, 0xc9, 0xd3, +}; +static const struct drbg_kat_pr_true kat4205_t = { + 4, kat4205_entropyin, kat4205_nonce, kat4205_persstr, + kat4205_entropyinpr1, kat4205_addinpr1, kat4205_entropyinpr2, + kat4205_addinpr2, kat4205_retbits +}; +static const struct drbg_kat kat4205 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4205_t +}; + +static const unsigned char kat4206_entropyin[] = { + 0x07, 0xf7, 0x56, 0xf7, 0x6b, 0x86, 0xdc, 0x7e, 0xcb, 0x37, 0x1a, 0xb2, + 0x38, 0xd1, 0xc5, 0x5e, 0x0b, 0xe6, 0x67, 0x31, 0x3f, 0xfd, 0xad, 0x36, + 0x65, 0x79, 0xfc, 0x0c, 0x4a, 0x69, 0x64, 0xb9, 0xc3, 0x1a, 0x25, 0xdb, + 0xbc, 0xfd, 0x46, 0x3f, 0x17, 0x80, 0x8e, 0x52, 0xf6, 0xf0, 0x35, 0xa2, +}; +static const unsigned char kat4206_nonce[] = {0}; +static const unsigned char kat4206_persstr[] = {0}; +static const unsigned char kat4206_entropyinpr1[] = { + 0xc3, 0x21, 0xb3, 0x15, 0x7d, 0xa5, 0xa9, 0x46, 0xd3, 0xac, 0x88, 0xba, + 0xea, 0xe0, 0x3a, 0x95, 0x25, 0xf4, 0xb2, 0x2d, 0xea, 0xd4, 0x29, 0xee, + 0xa0, 0x3a, 0x0b, 0x99, 0x82, 0xbc, 0xfe, 0x15, 0xb9, 0x5b, 0x27, 0x4d, + 0x43, 0x17, 0x22, 0xf9, 0xe9, 0x0c, 0xc5, 0x05, 0x0c, 0xb4, 0x8a, 0x31, +}; +static const unsigned char kat4206_addinpr1[] = {0}; +static const unsigned char kat4206_entropyinpr2[] = { + 0x13, 0x9e, 0x70, 0x5f, 0x72, 0xb8, 0x2a, 0xed, 0xe8, 0x94, 0xcd, 0xc7, + 0x8f, 0xe9, 0x53, 0x85, 0x1a, 0xc4, 0x8c, 0x17, 0x8f, 0xe9, 0x21, 0xd7, + 0xb8, 0xf0, 0xbe, 0x51, 0xe5, 0x52, 0x56, 0x7e, 0x1c, 0x34, 0x52, 0xa4, + 0xba, 0xca, 0x69, 0xb7, 0x7f, 0xdd, 0xb8, 0x91, 0x4d, 0xea, 0xd1, 0xd6, +}; +static const unsigned char kat4206_addinpr2[] = {0}; +static const unsigned char kat4206_retbits[] = { + 0xe1, 0x66, 0x3a, 0x94, 0x19, 0x40, 0xdc, 0x45, 0x0d, 0x97, 0xca, 0xa6, + 0x84, 0x18, 0x14, 0x30, 0x24, 0x7b, 0x36, 0x9e, 0x80, 0x8a, 0x50, 0xde, + 0x38, 0x77, 0xd7, 0xf4, 0xa5, 0x33, 0x17, 0xc1, 0x1d, 0x5d, 0xbc, 0xdb, + 0xaf, 0xa3, 0x6c, 0x8c, 0xe6, 0x4b, 0x89, 0x3b, 0x77, 0xba, 0xdf, 0xe2, + 0x32, 0xc5, 0xa8, 0x05, 0x60, 0x95, 0x16, 0x50, 0xbd, 0xcb, 0x68, 0xd3, + 0xb0, 0x5c, 0x4b, 0x5e, +}; +static const struct drbg_kat_pr_true kat4206_t = { + 5, kat4206_entropyin, kat4206_nonce, kat4206_persstr, + kat4206_entropyinpr1, kat4206_addinpr1, kat4206_entropyinpr2, + kat4206_addinpr2, kat4206_retbits +}; +static const struct drbg_kat kat4206 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4206_t +}; + +static const unsigned char kat4207_entropyin[] = { + 0xcf, 0xd3, 0x0c, 0xc3, 0x7d, 0xb1, 0x30, 0xfb, 0x6d, 0x33, 0xa8, 0x5b, + 0xe2, 0x94, 0xeb, 0xa4, 0x39, 0xb0, 0x96, 0x86, 0xbc, 0xda, 0x89, 0xe3, + 0x37, 0x94, 0x41, 0x89, 0x83, 0xca, 0x18, 0x10, 0x89, 0x0a, 0xb6, 0x8f, + 0xf8, 0x93, 0xd5, 0xf0, 0x34, 0x84, 0x12, 0x1d, 0xaa, 0x36, 0xa6, 0xa0, +}; +static const unsigned char kat4207_nonce[] = {0}; +static const unsigned char kat4207_persstr[] = {0}; +static const unsigned char kat4207_entropyinpr1[] = { + 0x0c, 0x1a, 0x41, 0x54, 0x74, 0x91, 0xef, 0xd2, 0x3f, 0x30, 0x0c, 0x6e, + 0x85, 0x48, 0xae, 0x5b, 0x09, 0x3d, 0x1f, 0xbf, 0xa3, 0x09, 0x21, 0x50, + 0x46, 0x2e, 0xd2, 0xfc, 0x2f, 0x3d, 0x4a, 0xad, 0x9a, 0x84, 0x4a, 0xec, + 0x54, 0x8d, 0x34, 0x19, 0xfb, 0xa8, 0x6f, 0xb1, 0xcf, 0xcb, 0x87, 0x46, +}; +static const unsigned char kat4207_addinpr1[] = {0}; +static const unsigned char kat4207_entropyinpr2[] = { + 0x75, 0x05, 0xbf, 0x63, 0xba, 0xc9, 0x83, 0xe8, 0x91, 0xa6, 0xd7, 0x0d, + 0xc4, 0x1b, 0xff, 0xcb, 0xf2, 0x32, 0xf6, 0x57, 0xce, 0x63, 0x05, 0x8d, + 0x27, 0x54, 0x14, 0x40, 0x70, 0xc8, 0xde, 0xf6, 0xd1, 0xc4, 0x09, 0xea, + 0xeb, 0xf2, 0x17, 0x06, 0xfb, 0x23, 0x95, 0x97, 0x61, 0x1e, 0xbd, 0x8d, +}; +static const unsigned char kat4207_addinpr2[] = {0}; +static const unsigned char kat4207_retbits[] = { + 0x10, 0x67, 0xf3, 0x52, 0xb3, 0x8f, 0x8a, 0xb2, 0xc6, 0x8a, 0x1d, 0x0c, + 0xe3, 0x52, 0x90, 0xe1, 0x38, 0x50, 0x56, 0x16, 0xdd, 0x14, 0xa1, 0x9c, + 0x83, 0xbb, 0x39, 0x76, 0x00, 0x44, 0x00, 0x65, 0x9e, 0xc8, 0xa1, 0x4f, + 0x6c, 0xab, 0x8c, 0x15, 0xe1, 0x79, 0x41, 0x13, 0x94, 0x45, 0xc1, 0x12, + 0xd6, 0x3e, 0x2c, 0x1a, 0x0c, 0x92, 0x36, 0x06, 0xdd, 0x1c, 0x22, 0x05, + 0x95, 0x4a, 0xe6, 0x27, +}; +static const struct drbg_kat_pr_true kat4207_t = { + 6, kat4207_entropyin, kat4207_nonce, kat4207_persstr, + kat4207_entropyinpr1, kat4207_addinpr1, kat4207_entropyinpr2, + kat4207_addinpr2, kat4207_retbits +}; +static const struct drbg_kat kat4207 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4207_t +}; + +static const unsigned char kat4208_entropyin[] = { + 0x6d, 0xe8, 0xa0, 0x3c, 0xb5, 0x26, 0x58, 0xb3, 0x0d, 0x89, 0x08, 0x14, + 0xba, 0xe5, 0xe1, 0xec, 0x17, 0x79, 0xca, 0x11, 0x57, 0x66, 0xe5, 0x71, + 0x72, 0x46, 0x34, 0xef, 0x78, 0x58, 0x97, 0xb2, 0xcb, 0x81, 0x12, 0x0d, + 0xef, 0x1d, 0x3d, 0x74, 0xce, 0xb3, 0xdc, 0xdc, 0xbc, 0xe5, 0x25, 0x14, +}; +static const unsigned char kat4208_nonce[] = {0}; +static const unsigned char kat4208_persstr[] = {0}; +static const unsigned char kat4208_entropyinpr1[] = { + 0x59, 0x9d, 0x69, 0x67, 0x7f, 0x8d, 0xdf, 0x59, 0xbb, 0x1a, 0xbf, 0xbb, + 0x06, 0x10, 0x7c, 0x2d, 0xc8, 0xca, 0x41, 0x54, 0x57, 0x75, 0x37, 0xa9, + 0xf2, 0xd2, 0xd9, 0xa8, 0xd9, 0xde, 0x31, 0x65, 0x26, 0xdd, 0x52, 0xbb, + 0xf2, 0x54, 0x59, 0x49, 0x19, 0xf6, 0xae, 0xfa, 0xaf, 0x90, 0x4f, 0xe7, +}; +static const unsigned char kat4208_addinpr1[] = {0}; +static const unsigned char kat4208_entropyinpr2[] = { + 0x75, 0xcd, 0x48, 0xdc, 0x32, 0xf1, 0xec, 0xe7, 0x23, 0x47, 0x21, 0x96, + 0x93, 0x50, 0xa6, 0xbd, 0x16, 0x8f, 0x2a, 0xb9, 0xf9, 0x0c, 0x3a, 0x68, + 0xec, 0x83, 0x32, 0x54, 0x6c, 0xb4, 0x68, 0x5e, 0x0f, 0xdd, 0xf1, 0x13, + 0x63, 0x10, 0xa3, 0x22, 0x4b, 0x8f, 0x5a, 0x29, 0x83, 0xef, 0x88, 0x16, +}; +static const unsigned char kat4208_addinpr2[] = {0}; +static const unsigned char kat4208_retbits[] = { + 0x02, 0x68, 0x55, 0x7a, 0xe5, 0x76, 0x59, 0x91, 0x5e, 0x34, 0x79, 0xa6, + 0xde, 0xa0, 0xff, 0x5d, 0xa2, 0xd8, 0x20, 0x09, 0x05, 0x22, 0x5d, 0xcf, + 0x16, 0x85, 0x2f, 0x5c, 0x10, 0x2c, 0x03, 0x6c, 0xa6, 0x8e, 0x7f, 0xc2, + 0x98, 0xb1, 0x98, 0x05, 0x67, 0x22, 0xc1, 0xf7, 0xb1, 0x47, 0x96, 0xba, + 0x6a, 0xfe, 0x40, 0x9b, 0x86, 0x51, 0x5b, 0x8c, 0x17, 0x71, 0x40, 0x0e, + 0xeb, 0x56, 0xa2, 0xc3, +}; +static const struct drbg_kat_pr_true kat4208_t = { + 7, kat4208_entropyin, kat4208_nonce, kat4208_persstr, + kat4208_entropyinpr1, kat4208_addinpr1, kat4208_entropyinpr2, + kat4208_addinpr2, kat4208_retbits +}; +static const struct drbg_kat kat4208 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4208_t +}; + +static const unsigned char kat4209_entropyin[] = { + 0x03, 0xdf, 0x67, 0x70, 0x86, 0x15, 0xcf, 0xbb, 0x22, 0xec, 0xb4, 0xce, + 0x79, 0x05, 0x68, 0xac, 0x52, 0x45, 0xff, 0x89, 0x75, 0xca, 0x1b, 0x4a, + 0x75, 0x5e, 0x9c, 0x23, 0xe2, 0x0e, 0x03, 0x67, 0x36, 0x34, 0x02, 0xd3, + 0x81, 0x3f, 0xdd, 0x89, 0x34, 0xd3, 0x83, 0xc1, 0x3c, 0xa9, 0x50, 0x89, +}; +static const unsigned char kat4209_nonce[] = {0}; +static const unsigned char kat4209_persstr[] = {0}; +static const unsigned char kat4209_entropyinpr1[] = { + 0x4a, 0xce, 0x10, 0xf0, 0xb9, 0xb2, 0xe1, 0xfb, 0xb7, 0x16, 0xe1, 0xe7, + 0x5e, 0x69, 0x3c, 0x63, 0xc0, 0x8e, 0x5c, 0x72, 0x73, 0x14, 0xd0, 0xae, + 0x43, 0xca, 0x40, 0x20, 0x11, 0x6c, 0xd0, 0x49, 0x69, 0x03, 0xa4, 0x9f, + 0xd0, 0x1a, 0xdd, 0x3a, 0xe0, 0x29, 0x56, 0x3d, 0xcb, 0xd0, 0xa6, 0x15, +}; +static const unsigned char kat4209_addinpr1[] = {0}; +static const unsigned char kat4209_entropyinpr2[] = { + 0x14, 0x4e, 0x1f, 0xbc, 0x39, 0x2e, 0x9b, 0x1c, 0x60, 0x4f, 0x99, 0x26, + 0x4e, 0xfe, 0x07, 0xaf, 0x70, 0xa0, 0x31, 0xbd, 0x30, 0xd9, 0xf4, 0xdb, + 0xc9, 0x52, 0x61, 0xbe, 0xbf, 0x83, 0xef, 0xe4, 0x25, 0xcc, 0x25, 0x49, + 0x7b, 0xba, 0xd2, 0x44, 0x39, 0xf1, 0x6a, 0xd8, 0xf6, 0xf4, 0xa7, 0xdc, +}; +static const unsigned char kat4209_addinpr2[] = {0}; +static const unsigned char kat4209_retbits[] = { + 0xdd, 0x03, 0xca, 0xdf, 0xee, 0xdb, 0x08, 0xeb, 0x70, 0xd8, 0xab, 0xaa, + 0x59, 0xec, 0x46, 0x3e, 0xbc, 0x57, 0x3f, 0x08, 0x14, 0x83, 0x82, 0xfd, + 0xc7, 0x7e, 0xc2, 0x33, 0x78, 0x5a, 0x71, 0x13, 0xcc, 0x9b, 0x74, 0xc0, + 0x3b, 0xbc, 0x1d, 0xda, 0x4e, 0x04, 0xb1, 0x2f, 0x4e, 0x94, 0xc0, 0x67, + 0xc2, 0x48, 0xd5, 0x1b, 0x8e, 0x93, 0x10, 0x8c, 0xf6, 0xdf, 0x37, 0xc1, + 0x76, 0xde, 0x93, 0x38, +}; +static const struct drbg_kat_pr_true kat4209_t = { + 8, kat4209_entropyin, kat4209_nonce, kat4209_persstr, + kat4209_entropyinpr1, kat4209_addinpr1, kat4209_entropyinpr2, + kat4209_addinpr2, kat4209_retbits +}; +static const struct drbg_kat kat4209 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4209_t +}; + +static const unsigned char kat4210_entropyin[] = { + 0x6e, 0xf5, 0x2c, 0x1d, 0x2a, 0x8a, 0xf0, 0xd9, 0x81, 0x0d, 0x31, 0x4d, + 0x62, 0x52, 0x67, 0xa5, 0x34, 0x03, 0xb2, 0xfb, 0xb6, 0xf0, 0xd8, 0x75, + 0x86, 0x42, 0xc2, 0x77, 0xea, 0xdc, 0xaf, 0x43, 0x81, 0x47, 0xe6, 0x0f, + 0x59, 0x53, 0xc4, 0x82, 0x7e, 0x08, 0x3d, 0x60, 0xbf, 0x6e, 0x24, 0x6c, +}; +static const unsigned char kat4210_nonce[] = {0}; +static const unsigned char kat4210_persstr[] = {0}; +static const unsigned char kat4210_entropyinpr1[] = { + 0x59, 0xde, 0x78, 0x70, 0xfb, 0x5e, 0xb2, 0x19, 0x61, 0x01, 0x18, 0x4f, + 0xe5, 0xdc, 0xa8, 0x3c, 0x02, 0xf3, 0x32, 0x7c, 0x63, 0x73, 0xbb, 0xd2, + 0x42, 0x82, 0xbd, 0x38, 0xc0, 0xd3, 0xa7, 0x5a, 0x7f, 0x8f, 0x9c, 0xe8, + 0xf3, 0x2e, 0x38, 0xcb, 0x2e, 0x6a, 0xb4, 0xd5, 0xe1, 0x57, 0x79, 0x27, +}; +static const unsigned char kat4210_addinpr1[] = {0}; +static const unsigned char kat4210_entropyinpr2[] = { + 0x60, 0xd0, 0x0a, 0xf7, 0x4f, 0xc2, 0xca, 0xa0, 0xdc, 0xae, 0x77, 0xab, + 0x3c, 0x1b, 0x84, 0xa9, 0x2e, 0x8c, 0x98, 0xb3, 0x1b, 0x3a, 0xeb, 0x4a, + 0xcd, 0xb0, 0x05, 0x56, 0x29, 0x65, 0x27, 0x81, 0xfc, 0xc1, 0x2f, 0x9a, + 0x64, 0x9f, 0x8e, 0xb6, 0x93, 0xfd, 0x20, 0x67, 0xc2, 0xbd, 0x84, 0x89, +}; +static const unsigned char kat4210_addinpr2[] = {0}; +static const unsigned char kat4210_retbits[] = { + 0x38, 0xb6, 0xa5, 0x63, 0xd9, 0x50, 0x13, 0x06, 0xea, 0x8b, 0xfd, 0x85, + 0x89, 0x62, 0x04, 0xaf, 0x42, 0xdf, 0xfc, 0xeb, 0xf8, 0x05, 0x00, 0xde, + 0x6a, 0x92, 0x66, 0x0b, 0x3f, 0xfc, 0x9d, 0x14, 0xda, 0x9e, 0x9a, 0x36, + 0xd7, 0x85, 0x9e, 0xcf, 0xf5, 0x51, 0xd8, 0x1a, 0x3e, 0x25, 0xec, 0x8f, + 0x20, 0xfc, 0xb3, 0x65, 0x2e, 0x83, 0xa9, 0x91, 0xa5, 0xf4, 0x92, 0x85, + 0xf1, 0x57, 0x18, 0xc2, +}; +static const struct drbg_kat_pr_true kat4210_t = { + 9, kat4210_entropyin, kat4210_nonce, kat4210_persstr, + kat4210_entropyinpr1, kat4210_addinpr1, kat4210_entropyinpr2, + kat4210_addinpr2, kat4210_retbits +}; +static const struct drbg_kat kat4210 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4210_t +}; + +static const unsigned char kat4211_entropyin[] = { + 0xbb, 0x62, 0x3a, 0x2f, 0x9f, 0xc1, 0xc3, 0x0c, 0xcd, 0xdb, 0xab, 0x9a, + 0x65, 0x46, 0x50, 0x81, 0xb9, 0x0f, 0x20, 0x1d, 0x12, 0x1d, 0x57, 0xed, + 0x1b, 0x3d, 0x4c, 0x17, 0xad, 0xdf, 0xd3, 0x51, 0x16, 0x0e, 0x4a, 0x64, + 0xce, 0x40, 0xf4, 0xc1, 0x03, 0xb6, 0x63, 0xde, 0xc0, 0x8d, 0xac, 0x09, +}; +static const unsigned char kat4211_nonce[] = {0}; +static const unsigned char kat4211_persstr[] = {0}; +static const unsigned char kat4211_entropyinpr1[] = { + 0xf8, 0x55, 0x59, 0xe9, 0x98, 0x63, 0x4a, 0x1b, 0xe0, 0xb7, 0xd7, 0x44, + 0x12, 0xef, 0x43, 0xb1, 0x9e, 0x40, 0x69, 0x74, 0xa1, 0x2d, 0x14, 0xa0, + 0x23, 0xca, 0x54, 0xd5, 0x9c, 0xa1, 0x6e, 0x62, 0xe0, 0x6c, 0x26, 0x8b, + 0xc0, 0x93, 0x59, 0xcb, 0xd9, 0x7a, 0x95, 0x05, 0xe8, 0xd1, 0x15, 0xa8, +}; +static const unsigned char kat4211_addinpr1[] = {0}; +static const unsigned char kat4211_entropyinpr2[] = { + 0x65, 0x60, 0xeb, 0xfe, 0x6f, 0x49, 0x9b, 0xaf, 0x9e, 0x98, 0xed, 0xdf, + 0xb1, 0x87, 0xd3, 0x4a, 0x8a, 0x3a, 0xba, 0xfe, 0xbd, 0x54, 0x18, 0x1c, + 0xd1, 0x01, 0xf0, 0x3a, 0x51, 0x84, 0x24, 0x96, 0x0d, 0xd4, 0x5d, 0x40, + 0x0a, 0x37, 0x7d, 0x66, 0x7c, 0x02, 0xb8, 0xf6, 0x00, 0x4a, 0x27, 0x4d, +}; +static const unsigned char kat4211_addinpr2[] = {0}; +static const unsigned char kat4211_retbits[] = { + 0xaf, 0xd2, 0x81, 0x14, 0x1c, 0x7c, 0x49, 0x42, 0x45, 0x34, 0x77, 0xd9, + 0xf9, 0xff, 0x78, 0x02, 0x50, 0xcc, 0x32, 0xcc, 0xda, 0x93, 0x54, 0x15, + 0x2c, 0xb6, 0x50, 0x2e, 0x49, 0xb1, 0xe0, 0xe2, 0xb3, 0x19, 0x65, 0xc9, + 0x39, 0xe7, 0x6b, 0x02, 0x92, 0x21, 0x93, 0x58, 0x2e, 0x35, 0x3d, 0xcf, + 0xe0, 0x9e, 0x46, 0x29, 0xa3, 0xfe, 0xbe, 0x40, 0x12, 0xca, 0x39, 0x08, + 0x79, 0x8a, 0x20, 0xd9, +}; +static const struct drbg_kat_pr_true kat4211_t = { + 10, kat4211_entropyin, kat4211_nonce, kat4211_persstr, + kat4211_entropyinpr1, kat4211_addinpr1, kat4211_entropyinpr2, + kat4211_addinpr2, kat4211_retbits +}; +static const struct drbg_kat kat4211 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4211_t +}; + +static const unsigned char kat4212_entropyin[] = { + 0x1a, 0xfa, 0x92, 0xb7, 0x9f, 0x80, 0xcb, 0x70, 0x87, 0xb3, 0x05, 0x79, + 0xf1, 0x86, 0x52, 0xeb, 0x52, 0x04, 0x03, 0x98, 0x29, 0x6e, 0xbc, 0xbf, + 0x0b, 0x73, 0x0f, 0x29, 0x8f, 0x1a, 0xc8, 0x37, 0x49, 0x52, 0x3f, 0xcc, + 0x87, 0x4c, 0x07, 0x61, 0xa2, 0xbd, 0x39, 0x03, 0x2d, 0x1d, 0x0f, 0xf2, +}; +static const unsigned char kat4212_nonce[] = {0}; +static const unsigned char kat4212_persstr[] = {0}; +static const unsigned char kat4212_entropyinpr1[] = { + 0x0a, 0x90, 0xcd, 0xe5, 0x3e, 0x8e, 0x99, 0x57, 0xa4, 0x33, 0x2d, 0x86, + 0x54, 0xe7, 0xd4, 0x97, 0x4e, 0x5a, 0xca, 0xd0, 0x16, 0x30, 0x8c, 0x4b, + 0x2b, 0x97, 0x29, 0x4f, 0xdd, 0xbd, 0xce, 0xf5, 0x2e, 0xeb, 0x13, 0x8f, + 0x4a, 0xea, 0x8f, 0xc8, 0x87, 0x31, 0xd4, 0x1d, 0x2d, 0x90, 0xed, 0xb0, +}; +static const unsigned char kat4212_addinpr1[] = {0}; +static const unsigned char kat4212_entropyinpr2[] = { + 0xc7, 0xa4, 0x1f, 0xec, 0xb6, 0xdd, 0x8d, 0x2f, 0x52, 0xfd, 0xb1, 0x7f, + 0x1d, 0x36, 0x8e, 0x38, 0x4b, 0x2c, 0x0d, 0x66, 0x69, 0xdf, 0x40, 0x32, + 0xb0, 0x3f, 0xbe, 0xc3, 0x8f, 0x8c, 0xf5, 0x73, 0xb8, 0xc5, 0x44, 0x3a, + 0x62, 0xe0, 0x4c, 0x7a, 0xaa, 0xbf, 0x86, 0x59, 0xb2, 0xa5, 0x5f, 0xf8, +}; +static const unsigned char kat4212_addinpr2[] = {0}; +static const unsigned char kat4212_retbits[] = { + 0x7f, 0xe4, 0x11, 0x70, 0xd1, 0xe4, 0x40, 0x96, 0x93, 0x78, 0xfa, 0xd5, + 0xc9, 0xbb, 0x0e, 0x7b, 0x82, 0xb9, 0xfc, 0x5f, 0x7a, 0x27, 0x0f, 0x93, + 0xfc, 0x4f, 0x29, 0xc2, 0xc7, 0x04, 0x06, 0x18, 0xbd, 0x31, 0xb2, 0x15, + 0xe8, 0x7f, 0x2d, 0xe4, 0x83, 0x17, 0x2f, 0x87, 0xe9, 0x48, 0x42, 0xfe, + 0x41, 0x39, 0x12, 0x00, 0xd1, 0x83, 0x1c, 0xeb, 0x1a, 0xb6, 0xdb, 0xc6, + 0x1f, 0xc2, 0xcf, 0xd6, +}; +static const struct drbg_kat_pr_true kat4212_t = { + 11, kat4212_entropyin, kat4212_nonce, kat4212_persstr, + kat4212_entropyinpr1, kat4212_addinpr1, kat4212_entropyinpr2, + kat4212_addinpr2, kat4212_retbits +}; +static const struct drbg_kat kat4212 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4212_t +}; + +static const unsigned char kat4213_entropyin[] = { + 0xd3, 0x41, 0x85, 0xa9, 0x6f, 0x30, 0xca, 0x80, 0x67, 0x97, 0x0f, 0x89, + 0x5d, 0x8e, 0x0d, 0x04, 0xed, 0x25, 0xc5, 0x54, 0x86, 0xf4, 0xc9, 0xea, + 0x35, 0xd3, 0x28, 0xde, 0x49, 0xfe, 0x81, 0xe7, 0x72, 0x33, 0x44, 0x45, + 0xf2, 0xac, 0x37, 0x6c, 0x53, 0x03, 0x6f, 0x2f, 0xe6, 0x2c, 0x70, 0x0f, +}; +static const unsigned char kat4213_nonce[] = {0}; +static const unsigned char kat4213_persstr[] = {0}; +static const unsigned char kat4213_entropyinpr1[] = { + 0xe2, 0xb6, 0xe3, 0x76, 0x24, 0xbf, 0xb3, 0xc9, 0x28, 0xa2, 0x9b, 0x4a, + 0x0e, 0x47, 0x97, 0xd0, 0x52, 0x67, 0xc2, 0x63, 0xcb, 0xda, 0x6c, 0x4f, + 0x65, 0x23, 0xac, 0x60, 0xec, 0x7c, 0xd6, 0xa0, 0x1d, 0x9b, 0x1f, 0xc8, + 0x3d, 0x47, 0x55, 0x84, 0x38, 0xf8, 0xb5, 0xce, 0x60, 0x15, 0xff, 0x24, +}; +static const unsigned char kat4213_addinpr1[] = {0}; +static const unsigned char kat4213_entropyinpr2[] = { + 0xaf, 0xa5, 0xa7, 0xbf, 0xbc, 0x64, 0x8f, 0x7a, 0xa7, 0xeb, 0xa3, 0x5f, + 0x73, 0xce, 0xb5, 0xf3, 0x2f, 0xe4, 0x81, 0x0a, 0x76, 0x5b, 0x89, 0x6b, + 0x9f, 0x93, 0x82, 0xec, 0xee, 0xd8, 0xf9, 0xfa, 0xc7, 0x9c, 0x80, 0x74, + 0x26, 0x88, 0x25, 0xff, 0x88, 0x53, 0xb4, 0x61, 0x98, 0x18, 0x65, 0x03, +}; +static const unsigned char kat4213_addinpr2[] = {0}; +static const unsigned char kat4213_retbits[] = { + 0xfc, 0xca, 0x7e, 0x16, 0xa7, 0xbd, 0x24, 0x4e, 0xdd, 0x20, 0xaa, 0xbe, + 0xd0, 0x19, 0x74, 0xbe, 0x77, 0xd3, 0x51, 0xa2, 0x80, 0x51, 0xe1, 0x87, + 0x4c, 0xe7, 0xfc, 0x4b, 0x39, 0xa5, 0x25, 0x95, 0x95, 0xf3, 0x6f, 0xbf, + 0x9b, 0xfe, 0x2f, 0x87, 0x52, 0x12, 0x52, 0xab, 0xed, 0xb6, 0xa3, 0xcb, + 0xff, 0xfd, 0xe2, 0x37, 0xc1, 0x2a, 0x63, 0x1d, 0xaf, 0x38, 0x04, 0x74, + 0x56, 0x95, 0x06, 0x7b, +}; +static const struct drbg_kat_pr_true kat4213_t = { + 12, kat4213_entropyin, kat4213_nonce, kat4213_persstr, + kat4213_entropyinpr1, kat4213_addinpr1, kat4213_entropyinpr2, + kat4213_addinpr2, kat4213_retbits +}; +static const struct drbg_kat kat4213 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4213_t +}; + +static const unsigned char kat4214_entropyin[] = { + 0x15, 0xa7, 0xf6, 0x29, 0x89, 0x50, 0xb7, 0xa4, 0xd4, 0xdd, 0x1a, 0x3e, + 0xe3, 0xf6, 0x01, 0xad, 0x6c, 0x92, 0xc6, 0xbf, 0x65, 0xb6, 0x6d, 0x80, + 0xe7, 0x4e, 0xa0, 0x0d, 0x45, 0xea, 0xf7, 0xc6, 0xb7, 0xcf, 0xb4, 0x06, + 0xfc, 0x24, 0xc0, 0xfb, 0x74, 0x69, 0x76, 0x4c, 0xcf, 0xac, 0xca, 0x7c, +}; +static const unsigned char kat4214_nonce[] = {0}; +static const unsigned char kat4214_persstr[] = {0}; +static const unsigned char kat4214_entropyinpr1[] = { + 0x6b, 0x7f, 0x56, 0x0f, 0x76, 0x84, 0xda, 0x3a, 0xc2, 0x48, 0xcf, 0x5d, + 0xc6, 0x58, 0xc1, 0x82, 0x05, 0xe9, 0x7e, 0x02, 0x48, 0x68, 0x68, 0x02, + 0x47, 0x03, 0x18, 0x0b, 0xa1, 0xd4, 0x73, 0xa7, 0x1c, 0xa2, 0xe0, 0x2f, + 0xed, 0xbd, 0xae, 0x12, 0xfa, 0x2f, 0x30, 0x40, 0xd7, 0x84, 0x90, 0x62, +}; +static const unsigned char kat4214_addinpr1[] = {0}; +static const unsigned char kat4214_entropyinpr2[] = { + 0xdc, 0xbd, 0xe6, 0xe2, 0xd1, 0xb1, 0x97, 0x4e, 0x89, 0x5b, 0x54, 0x0f, + 0xd2, 0x07, 0x78, 0xa2, 0x66, 0x8a, 0xca, 0x9b, 0x56, 0x34, 0x26, 0x6f, + 0x32, 0xe3, 0x93, 0x5b, 0x78, 0x3d, 0xa9, 0x1b, 0xcd, 0x6d, 0x45, 0xb0, + 0x86, 0x4c, 0x1a, 0xf9, 0x8e, 0xef, 0xa9, 0x45, 0xd6, 0xab, 0x15, 0x4d, +}; +static const unsigned char kat4214_addinpr2[] = {0}; +static const unsigned char kat4214_retbits[] = { + 0x2a, 0x26, 0x49, 0x6a, 0xb8, 0x69, 0x2b, 0x33, 0x5d, 0x9e, 0xa3, 0x7f, + 0x4d, 0xaa, 0x96, 0xa4, 0xf3, 0x60, 0xd0, 0x58, 0x37, 0xcf, 0xf9, 0x9e, + 0xcd, 0x93, 0x99, 0xab, 0xeb, 0x2e, 0x5f, 0x69, 0xed, 0xe5, 0x16, 0x30, + 0xcb, 0x16, 0xd6, 0x28, 0x7c, 0x51, 0x83, 0x57, 0x55, 0xa3, 0x1e, 0xb6, + 0xff, 0x6b, 0x8c, 0x49, 0xc3, 0xe8, 0x94, 0x42, 0xe5, 0xdf, 0x1f, 0xb4, + 0x08, 0xb1, 0x15, 0x70, +}; +static const struct drbg_kat_pr_true kat4214_t = { + 13, kat4214_entropyin, kat4214_nonce, kat4214_persstr, + kat4214_entropyinpr1, kat4214_addinpr1, kat4214_entropyinpr2, + kat4214_addinpr2, kat4214_retbits +}; +static const struct drbg_kat kat4214 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4214_t +}; + +static const unsigned char kat4215_entropyin[] = { + 0x5a, 0x0b, 0x8e, 0x20, 0x7b, 0x55, 0xde, 0xdb, 0x2e, 0x7c, 0x3b, 0x62, + 0xbe, 0x91, 0xb4, 0xdf, 0xcc, 0x3c, 0x42, 0x25, 0x5d, 0xac, 0x29, 0x3e, + 0xd8, 0xa9, 0x3b, 0xc0, 0x18, 0x04, 0x71, 0x40, 0x11, 0x62, 0xf8, 0x33, + 0x7d, 0xc0, 0x0d, 0x6b, 0x10, 0xee, 0x03, 0x5f, 0x2f, 0x3f, 0x31, 0xf1, +}; +static const unsigned char kat4215_nonce[] = {0}; +static const unsigned char kat4215_persstr[] = {0}; +static const unsigned char kat4215_entropyinpr1[] = { + 0x1e, 0x51, 0x91, 0xf1, 0x8e, 0x3c, 0x04, 0x9b, 0x3a, 0xa3, 0x04, 0x60, + 0x4a, 0x42, 0xb1, 0x3e, 0x87, 0xb6, 0x1a, 0xb8, 0x08, 0xa1, 0xf2, 0x49, + 0xd6, 0x70, 0xa1, 0x5f, 0x21, 0x86, 0x24, 0x84, 0x59, 0x9e, 0x53, 0x13, + 0xe3, 0x74, 0x43, 0xaa, 0x06, 0xcc, 0x80, 0xd4, 0xdf, 0x78, 0x88, 0xa2, +}; +static const unsigned char kat4215_addinpr1[] = {0}; +static const unsigned char kat4215_entropyinpr2[] = { + 0xa0, 0x44, 0x35, 0xfa, 0xb8, 0xcf, 0xfa, 0xae, 0xf3, 0x4f, 0x67, 0x38, + 0xf2, 0x68, 0x2a, 0xde, 0xf4, 0x79, 0x0e, 0x8e, 0x26, 0x55, 0xd5, 0x94, + 0x3b, 0xd5, 0x37, 0x00, 0x09, 0xed, 0xe9, 0x9a, 0x6d, 0xa3, 0xc9, 0xca, + 0x4d, 0xc7, 0x10, 0x5a, 0x13, 0x52, 0xf9, 0xbd, 0x29, 0x5b, 0xe4, 0x19, +}; +static const unsigned char kat4215_addinpr2[] = {0}; +static const unsigned char kat4215_retbits[] = { + 0x31, 0xb0, 0x23, 0x44, 0x31, 0xf4, 0xff, 0x22, 0xf0, 0xc1, 0xf5, 0xc2, + 0x20, 0xa5, 0x89, 0x0c, 0x7e, 0xfa, 0xbc, 0x06, 0x97, 0x43, 0x57, 0xa1, + 0xab, 0x8a, 0x79, 0xd1, 0xca, 0xa6, 0x6b, 0x46, 0xb6, 0x2f, 0x0b, 0x5a, + 0x5b, 0x0d, 0x80, 0x10, 0x92, 0x3d, 0xd8, 0x6c, 0xed, 0x2f, 0x03, 0x9e, + 0xff, 0xa2, 0x03, 0x16, 0x19, 0xaa, 0xfb, 0xb3, 0xd7, 0xdc, 0x93, 0x62, + 0xef, 0x04, 0xbd, 0xf3, +}; +static const struct drbg_kat_pr_true kat4215_t = { + 14, kat4215_entropyin, kat4215_nonce, kat4215_persstr, + kat4215_entropyinpr1, kat4215_addinpr1, kat4215_entropyinpr2, + kat4215_addinpr2, kat4215_retbits +}; +static const struct drbg_kat kat4215 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4215_t +}; + +static const unsigned char kat4216_entropyin[] = { + 0x88, 0x40, 0xdc, 0x37, 0xe1, 0x39, 0x89, 0xf5, 0xe0, 0x78, 0xd8, 0xf2, + 0xa2, 0x30, 0x71, 0xed, 0x0a, 0x66, 0x59, 0x54, 0xab, 0xe9, 0x07, 0x97, + 0x98, 0x94, 0xbb, 0xea, 0x43, 0xd4, 0x9d, 0x93, 0x9f, 0xb0, 0xf9, 0xb7, + 0xfa, 0x91, 0x72, 0xb6, 0x71, 0xce, 0xad, 0x56, 0xce, 0x16, 0xfc, 0xe5, +}; +static const unsigned char kat4216_nonce[] = {0}; +static const unsigned char kat4216_persstr[] = {0}; +static const unsigned char kat4216_entropyinpr1[] = { + 0x14, 0x7e, 0x44, 0xb2, 0xe0, 0x34, 0x48, 0x6f, 0xac, 0xeb, 0xb0, 0x67, + 0xe6, 0xfd, 0xd7, 0xfd, 0x36, 0xbb, 0x86, 0xaf, 0x6f, 0xfd, 0xdd, 0xe2, + 0xef, 0xf0, 0x81, 0xab, 0x8b, 0x8f, 0x08, 0xe1, 0x36, 0x37, 0x78, 0x07, + 0xdb, 0x26, 0x36, 0xeb, 0x3a, 0xaa, 0x3f, 0xa8, 0xac, 0x0c, 0x0d, 0x04, +}; +static const unsigned char kat4216_addinpr1[] = { + 0x4a, 0x04, 0xa2, 0x1f, 0xc0, 0xf2, 0xb8, 0xa3, 0x2d, 0x69, 0x56, 0xff, + 0x95, 0x5d, 0x2f, 0x2e, 0xa5, 0x4a, 0x36, 0xd3, 0x7f, 0x0b, 0x92, 0x7a, + 0x46, 0x16, 0x5a, 0xff, 0xcc, 0xc6, 0x84, 0x27, 0xa9, 0x1c, 0x07, 0x66, + 0x56, 0x86, 0x95, 0x47, 0x4c, 0xe7, 0x83, 0xfe, 0xfd, 0xf2, 0x4c, 0xc8, +}; +static const unsigned char kat4216_entropyinpr2[] = { + 0xbb, 0x43, 0x82, 0x0b, 0x3f, 0x4a, 0xa1, 0xff, 0xeb, 0x0f, 0xe5, 0x51, + 0x26, 0xe0, 0x69, 0xf1, 0x7f, 0xbc, 0xd0, 0xd5, 0xa8, 0x30, 0x7b, 0xba, + 0x60, 0x55, 0x2f, 0x0e, 0x40, 0x89, 0xa7, 0x28, 0x33, 0xf2, 0x1c, 0x34, + 0x1e, 0x09, 0x12, 0x93, 0x95, 0x85, 0xa6, 0x43, 0xbb, 0x93, 0x8f, 0xef, +}; +static const unsigned char kat4216_addinpr2[] = { + 0x91, 0xef, 0x75, 0x10, 0x04, 0x5d, 0x2c, 0x9a, 0x95, 0xec, 0x16, 0x98, + 0xce, 0xa9, 0x3a, 0x63, 0xcb, 0xdb, 0xc9, 0xb2, 0x3d, 0x2f, 0xc4, 0xbc, + 0x84, 0x08, 0x38, 0x0d, 0xe7, 0xec, 0xf4, 0x47, 0x8e, 0x85, 0x2c, 0x30, + 0xb5, 0x3a, 0x6f, 0x61, 0xe3, 0x34, 0xdb, 0xc1, 0x04, 0x0c, 0x21, 0x3a, +}; +static const unsigned char kat4216_retbits[] = { + 0x25, 0x02, 0x7b, 0x15, 0xa3, 0x46, 0xae, 0xd2, 0x3a, 0x05, 0xc6, 0x87, + 0x98, 0x32, 0xb2, 0x5b, 0xcc, 0xa7, 0x3a, 0x80, 0x41, 0x18, 0x58, 0x25, + 0xfc, 0x81, 0x37, 0xc5, 0xbe, 0x64, 0x59, 0x33, 0xda, 0xde, 0xf1, 0x11, + 0xc0, 0x90, 0xc2, 0x40, 0x9c, 0x1e, 0x68, 0x68, 0x5a, 0xac, 0x21, 0x28, + 0x1e, 0x37, 0xea, 0x4e, 0x59, 0x23, 0x62, 0x82, 0x56, 0xd0, 0x59, 0xe8, + 0xec, 0xeb, 0x82, 0xbb, +}; +static const struct drbg_kat_pr_true kat4216_t = { + 0, kat4216_entropyin, kat4216_nonce, kat4216_persstr, + kat4216_entropyinpr1, kat4216_addinpr1, kat4216_entropyinpr2, + kat4216_addinpr2, kat4216_retbits +}; +static const struct drbg_kat kat4216 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4216_t +}; + +static const unsigned char kat4217_entropyin[] = { + 0xeb, 0x68, 0xdf, 0x19, 0xfa, 0x21, 0xc7, 0xa5, 0xea, 0xa0, 0x40, 0x72, + 0xa2, 0xd9, 0xfa, 0xc3, 0x05, 0x87, 0xf6, 0x36, 0x77, 0xbd, 0xa4, 0x50, + 0x00, 0x09, 0x60, 0xfe, 0x6e, 0x22, 0xf0, 0x37, 0x32, 0xca, 0xf2, 0x08, + 0x66, 0x11, 0x85, 0xad, 0x2a, 0xf4, 0xf6, 0x42, 0x99, 0xcb, 0x33, 0x31, +}; +static const unsigned char kat4217_nonce[] = {0}; +static const unsigned char kat4217_persstr[] = {0}; +static const unsigned char kat4217_entropyinpr1[] = { + 0x74, 0x6c, 0x45, 0x3d, 0xc7, 0x93, 0x20, 0xdb, 0xb5, 0x65, 0x41, 0x4b, + 0x2a, 0x35, 0x48, 0xa4, 0xd1, 0x6f, 0xb5, 0x94, 0x82, 0xa3, 0xaa, 0xc7, + 0xfd, 0x1b, 0x64, 0xb3, 0x9f, 0xa3, 0x89, 0x3d, 0xfe, 0x66, 0x35, 0xa0, + 0xb8, 0x90, 0xc2, 0x3a, 0xb9, 0xd6, 0x1c, 0x44, 0x86, 0xf0, 0x0f, 0x82, +}; +static const unsigned char kat4217_addinpr1[] = { + 0xe1, 0x32, 0x2e, 0xf6, 0xa0, 0x6e, 0x84, 0x12, 0x07, 0x7a, 0x3d, 0xc4, + 0x33, 0xd8, 0xc1, 0x91, 0xe1, 0x20, 0xc0, 0xee, 0x8a, 0xd3, 0x44, 0xac, + 0x22, 0x62, 0x43, 0x05, 0x01, 0x31, 0xd9, 0xb1, 0x85, 0xf7, 0xea, 0x69, + 0xd3, 0x0a, 0x27, 0xd2, 0x0d, 0x73, 0x89, 0x69, 0x8c, 0xa4, 0xb1, 0x4a, +}; +static const unsigned char kat4217_entropyinpr2[] = { + 0xb3, 0x6c, 0x9e, 0x30, 0xdb, 0xd3, 0x9a, 0x0b, 0xcf, 0x2d, 0x3f, 0x32, + 0x7e, 0xdb, 0x51, 0x79, 0x05, 0x7d, 0x85, 0x68, 0x16, 0x67, 0x76, 0x8d, + 0xac, 0x6e, 0x0b, 0xd9, 0xcc, 0xa4, 0x78, 0x95, 0x65, 0xd6, 0x72, 0x4f, + 0x19, 0xd3, 0x8b, 0x23, 0xf0, 0xcf, 0xc2, 0xe7, 0x38, 0x35, 0x72, 0x48, +}; +static const unsigned char kat4217_addinpr2[] = { + 0x13, 0x0a, 0xe4, 0x11, 0x3e, 0x31, 0xa9, 0x6c, 0xde, 0x97, 0xe2, 0xac, + 0xd1, 0xab, 0x8e, 0xd4, 0x2a, 0x4e, 0x55, 0xce, 0x65, 0x52, 0xd5, 0x61, + 0xfe, 0xc1, 0x6c, 0x33, 0xdd, 0x90, 0x3f, 0xda, 0x23, 0x98, 0x3a, 0x82, + 0x00, 0x8c, 0x6e, 0x7f, 0xe4, 0x7a, 0x5e, 0x1c, 0x97, 0x73, 0x7b, 0xf5, +}; +static const unsigned char kat4217_retbits[] = { + 0x99, 0xde, 0x1f, 0x10, 0x9f, 0x49, 0xc2, 0x8c, 0x55, 0xcd, 0x28, 0xc4, + 0xf9, 0xb7, 0x77, 0x20, 0xaa, 0x44, 0x6c, 0xe7, 0xec, 0x72, 0x46, 0xfe, + 0x96, 0xa5, 0x81, 0x9e, 0x15, 0xfd, 0xdd, 0xe7, 0x3f, 0x6c, 0x7f, 0xcc, + 0x95, 0xd5, 0x43, 0xb7, 0x03, 0xea, 0x56, 0xe6, 0x1b, 0x10, 0xf3, 0x63, + 0xee, 0xf8, 0xbf, 0x6b, 0x3a, 0x86, 0x59, 0x01, 0x3b, 0x56, 0x1f, 0xa4, + 0xab, 0xb6, 0xd4, 0xbb, +}; +static const struct drbg_kat_pr_true kat4217_t = { + 1, kat4217_entropyin, kat4217_nonce, kat4217_persstr, + kat4217_entropyinpr1, kat4217_addinpr1, kat4217_entropyinpr2, + kat4217_addinpr2, kat4217_retbits +}; +static const struct drbg_kat kat4217 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4217_t +}; + +static const unsigned char kat4218_entropyin[] = { + 0x1a, 0xb8, 0x74, 0xe6, 0x5e, 0xba, 0xe4, 0x92, 0xf3, 0x7b, 0xc4, 0xd9, + 0x8b, 0x4d, 0x49, 0xcd, 0x1b, 0x72, 0xcf, 0x01, 0xc8, 0xad, 0x3c, 0x22, + 0xa6, 0xeb, 0x9e, 0xa0, 0xc7, 0x86, 0x33, 0xa8, 0x2c, 0x6a, 0xa2, 0x0f, + 0xba, 0x2b, 0x25, 0x3e, 0x72, 0x82, 0xed, 0xd1, 0xf7, 0xe1, 0x88, 0xff, +}; +static const unsigned char kat4218_nonce[] = {0}; +static const unsigned char kat4218_persstr[] = {0}; +static const unsigned char kat4218_entropyinpr1[] = { + 0x83, 0xf4, 0xa2, 0x36, 0x06, 0x98, 0x6b, 0x63, 0x66, 0xf5, 0xd2, 0x3e, + 0x9d, 0x22, 0x70, 0x9e, 0xc0, 0x77, 0xe0, 0x04, 0x40, 0x83, 0x5c, 0xf9, + 0x6a, 0xdf, 0x29, 0xca, 0x90, 0x22, 0xe0, 0x1f, 0x3e, 0x9e, 0xf3, 0x98, + 0x83, 0x4e, 0x4b, 0xab, 0x35, 0xd7, 0x98, 0xb6, 0x52, 0xd1, 0x69, 0xc6, +}; +static const unsigned char kat4218_addinpr1[] = { + 0x9d, 0x76, 0x90, 0xe0, 0xac, 0xd4, 0x6a, 0xcd, 0x29, 0x4b, 0x89, 0xab, + 0xd9, 0x7e, 0x63, 0xed, 0xb2, 0x74, 0xa7, 0x24, 0xb0, 0x47, 0xda, 0x60, + 0x7d, 0x63, 0x51, 0x87, 0xb2, 0x13, 0x06, 0x65, 0x89, 0xe5, 0x29, 0x35, + 0x02, 0x2e, 0x92, 0x8f, 0xab, 0xd3, 0x92, 0x7d, 0xdb, 0xea, 0x74, 0xb0, +}; +static const unsigned char kat4218_entropyinpr2[] = { + 0x45, 0xc0, 0x9d, 0xd0, 0xe5, 0xaf, 0x16, 0x1c, 0xa1, 0x00, 0x72, 0x7f, + 0x74, 0x12, 0xee, 0x7e, 0x50, 0x01, 0x87, 0xdf, 0x23, 0x71, 0x87, 0x0c, + 0xa0, 0x79, 0xef, 0x1e, 0x1a, 0x30, 0xbb, 0x2c, 0x64, 0x9e, 0x63, 0xbf, + 0x68, 0x4b, 0x10, 0xb1, 0xb6, 0xde, 0x06, 0x30, 0x8a, 0xca, 0x48, 0xaf, +}; +static const unsigned char kat4218_addinpr2[] = { + 0x2c, 0x08, 0xa6, 0x74, 0x16, 0x88, 0xb7, 0xd1, 0xc9, 0x89, 0xc7, 0x78, + 0xc3, 0x0f, 0xbd, 0xc4, 0x4b, 0xe8, 0x8a, 0x4a, 0x48, 0x23, 0xd7, 0x4f, + 0x80, 0x39, 0xed, 0x1b, 0xac, 0x9a, 0x90, 0xff, 0x50, 0x62, 0xbb, 0x7e, + 0x39, 0xee, 0xd4, 0x11, 0xd8, 0xa1, 0x8f, 0xcc, 0xc3, 0xf3, 0x4f, 0x6b, +}; +static const unsigned char kat4218_retbits[] = { + 0x7b, 0x83, 0x5f, 0x8a, 0x8c, 0xc6, 0xe9, 0xe6, 0xbd, 0xa1, 0xcb, 0x55, + 0x7f, 0x12, 0xd8, 0xf3, 0xac, 0xfa, 0x59, 0xd8, 0x80, 0x24, 0xb6, 0x4a, + 0xd2, 0x3b, 0x49, 0x06, 0x49, 0x2c, 0xd3, 0x08, 0xdc, 0x82, 0xc0, 0x13, + 0xb8, 0xbb, 0xdb, 0xd1, 0x01, 0x5e, 0xe5, 0x14, 0x47, 0x2a, 0xc8, 0x14, + 0x85, 0x0f, 0xf6, 0x0a, 0x48, 0x21, 0xcc, 0xf4, 0xa9, 0x1b, 0xf4, 0x9d, + 0xf4, 0xde, 0xda, 0x68, +}; +static const struct drbg_kat_pr_true kat4218_t = { + 2, kat4218_entropyin, kat4218_nonce, kat4218_persstr, + kat4218_entropyinpr1, kat4218_addinpr1, kat4218_entropyinpr2, + kat4218_addinpr2, kat4218_retbits +}; +static const struct drbg_kat kat4218 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4218_t +}; + +static const unsigned char kat4219_entropyin[] = { + 0x7f, 0x74, 0xe7, 0x39, 0x5e, 0xf4, 0xee, 0xb0, 0xfa, 0x65, 0xd6, 0x23, + 0xbb, 0xdd, 0xaa, 0xd0, 0xc4, 0xba, 0x1d, 0xc8, 0x30, 0x09, 0xed, 0x08, + 0xb9, 0xb0, 0x65, 0x85, 0x97, 0x9e, 0x9f, 0x87, 0x35, 0x7a, 0x09, 0x9a, + 0x4e, 0xbd, 0x19, 0x78, 0x0e, 0x22, 0x18, 0x12, 0x77, 0x28, 0xae, 0xd1, +}; +static const unsigned char kat4219_nonce[] = {0}; +static const unsigned char kat4219_persstr[] = {0}; +static const unsigned char kat4219_entropyinpr1[] = { + 0x2b, 0xc6, 0xf9, 0x60, 0x2e, 0x10, 0xc8, 0x9d, 0x31, 0xa7, 0xa7, 0x11, + 0x70, 0xf8, 0x17, 0x99, 0x6b, 0x84, 0xbe, 0x5d, 0xbe, 0xdb, 0x69, 0xc8, + 0x30, 0x8f, 0x35, 0xdf, 0x61, 0xd2, 0x3a, 0xcb, 0x9c, 0x1d, 0xe4, 0xa2, + 0x46, 0xd4, 0xf5, 0xb6, 0x72, 0xda, 0xb9, 0x3e, 0xb9, 0x53, 0x38, 0xbf, +}; +static const unsigned char kat4219_addinpr1[] = { + 0xda, 0x55, 0xe4, 0x34, 0x57, 0x99, 0xa4, 0xf0, 0x39, 0x6a, 0x7c, 0x3c, + 0xd8, 0xf6, 0x1d, 0x1f, 0xf7, 0xff, 0xa7, 0x35, 0x8f, 0x83, 0x4b, 0x8a, + 0xac, 0x27, 0xb5, 0x2c, 0x7e, 0xf3, 0x9d, 0x15, 0xc0, 0x57, 0x9f, 0x29, + 0x8f, 0x7c, 0xdb, 0x47, 0x47, 0xe9, 0xfd, 0x83, 0xa4, 0xb9, 0x2c, 0xd2, +}; +static const unsigned char kat4219_entropyinpr2[] = { + 0x59, 0x7f, 0xe2, 0x1d, 0xe1, 0xc3, 0x0b, 0xe4, 0x55, 0x32, 0xd2, 0x56, + 0xf3, 0x35, 0x3d, 0xde, 0xa1, 0xba, 0x05, 0x74, 0xb2, 0x0a, 0x8f, 0xd5, + 0x42, 0x2c, 0x1d, 0x81, 0x90, 0x53, 0xfa, 0xdd, 0x4e, 0xe8, 0x87, 0xa5, + 0x6d, 0x37, 0x50, 0x68, 0x2b, 0xd8, 0xcb, 0xb2, 0x1b, 0xe8, 0xa5, 0xf6, +}; +static const unsigned char kat4219_addinpr2[] = { + 0x9b, 0x3c, 0x12, 0x3d, 0xec, 0x44, 0x02, 0xe9, 0x73, 0xe1, 0xea, 0x0b, + 0x9b, 0x12, 0x31, 0x1a, 0x91, 0xd1, 0x20, 0x80, 0x74, 0xef, 0xd4, 0x5b, + 0x2b, 0xae, 0x3f, 0x28, 0x6b, 0x9e, 0x9d, 0x51, 0x62, 0xbb, 0x3a, 0xb5, + 0xfc, 0xe4, 0xee, 0xce, 0xbc, 0x57, 0x8e, 0x58, 0xf3, 0x42, 0x2a, 0x03, +}; +static const unsigned char kat4219_retbits[] = { + 0x88, 0xa5, 0x59, 0x6f, 0x7b, 0x93, 0x93, 0x2a, 0x59, 0xc3, 0x8a, 0x4f, + 0x51, 0xfa, 0x2d, 0x58, 0xf1, 0x44, 0x4f, 0x41, 0x2e, 0x67, 0x55, 0x2c, + 0xe0, 0x37, 0xb9, 0xd5, 0xe1, 0x17, 0x70, 0x66, 0xfa, 0xb7, 0xd9, 0xb2, + 0x16, 0x24, 0xf2, 0x2b, 0xd6, 0x2b, 0x30, 0x10, 0x33, 0x06, 0x61, 0xc7, + 0xd5, 0x4f, 0xbf, 0x89, 0x49, 0xe7, 0xf0, 0x43, 0x57, 0x50, 0x26, 0x2c, + 0x81, 0x04, 0x3f, 0x1c, +}; +static const struct drbg_kat_pr_true kat4219_t = { + 3, kat4219_entropyin, kat4219_nonce, kat4219_persstr, + kat4219_entropyinpr1, kat4219_addinpr1, kat4219_entropyinpr2, + kat4219_addinpr2, kat4219_retbits +}; +static const struct drbg_kat kat4219 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4219_t +}; + +static const unsigned char kat4220_entropyin[] = { + 0x04, 0x20, 0xff, 0x57, 0xea, 0xfa, 0xeb, 0xde, 0xaf, 0xcf, 0x94, 0x59, + 0xb2, 0xdd, 0x26, 0x33, 0xd7, 0x44, 0x10, 0xb0, 0xd9, 0x86, 0xd8, 0xaf, + 0xb4, 0xea, 0x19, 0x56, 0x9e, 0xa8, 0x50, 0x4b, 0xd5, 0xbe, 0xac, 0xc1, + 0x77, 0x02, 0x95, 0x44, 0x02, 0xad, 0xe5, 0xf3, 0x56, 0x75, 0xfb, 0x7b, +}; +static const unsigned char kat4220_nonce[] = {0}; +static const unsigned char kat4220_persstr[] = {0}; +static const unsigned char kat4220_entropyinpr1[] = { + 0x0b, 0xe9, 0x79, 0xde, 0x4a, 0x34, 0x8a, 0x98, 0x8b, 0x23, 0x23, 0xa5, + 0x87, 0x4e, 0x3e, 0x1d, 0x13, 0x5b, 0xfc, 0x35, 0x52, 0xa2, 0xb8, 0x4e, + 0xbf, 0x89, 0x26, 0x17, 0x61, 0xa2, 0xbf, 0xf8, 0xd1, 0x84, 0x92, 0x29, + 0x78, 0xe3, 0x1a, 0x0f, 0x66, 0x44, 0x28, 0x28, 0xa7, 0x69, 0xd6, 0xe9, +}; +static const unsigned char kat4220_addinpr1[] = { + 0x7a, 0xdd, 0x2a, 0x00, 0x11, 0x5a, 0xd8, 0x72, 0x48, 0x74, 0x7e, 0x9e, + 0x66, 0x88, 0x74, 0x20, 0x7f, 0xba, 0xce, 0x9a, 0x41, 0x96, 0x18, 0x4e, + 0x7d, 0x35, 0x83, 0xd2, 0x25, 0xc1, 0x2b, 0x5a, 0x72, 0x27, 0x80, 0xa6, + 0xb6, 0xb5, 0x27, 0x51, 0xcb, 0x2d, 0x30, 0xe7, 0x93, 0x7a, 0xf7, 0x28, +}; +static const unsigned char kat4220_entropyinpr2[] = { + 0x28, 0xe2, 0x18, 0xfe, 0xbd, 0x7e, 0xc5, 0x2f, 0x75, 0xb9, 0xa2, 0xad, + 0x5a, 0x0c, 0x5b, 0x40, 0x94, 0x8c, 0xef, 0x3b, 0xa0, 0x0f, 0x9c, 0x19, + 0x92, 0xc9, 0x64, 0x58, 0x22, 0xef, 0xf8, 0x91, 0xf2, 0xba, 0x54, 0xdd, + 0x87, 0xa1, 0x1c, 0x51, 0x8e, 0xb7, 0x02, 0x72, 0xce, 0x9c, 0xf6, 0x4e, +}; +static const unsigned char kat4220_addinpr2[] = { + 0x68, 0xa0, 0xad, 0x06, 0x11, 0xc9, 0x14, 0x5d, 0x4d, 0xa5, 0xe6, 0xf3, + 0x66, 0x85, 0x66, 0x5f, 0x3f, 0xf5, 0x3b, 0x70, 0xf4, 0x3a, 0x09, 0x4c, + 0x61, 0x3c, 0x31, 0xf5, 0x33, 0x35, 0xd8, 0xbd, 0x77, 0xe6, 0x07, 0x72, + 0x82, 0x37, 0xfe, 0xe6, 0x2f, 0xe6, 0x90, 0xa2, 0x68, 0x34, 0x89, 0x5b, +}; +static const unsigned char kat4220_retbits[] = { + 0xff, 0x84, 0xca, 0x74, 0x06, 0xb8, 0xf3, 0xff, 0x4d, 0x21, 0xc2, 0xc3, + 0x2b, 0xd1, 0x81, 0xa3, 0x5f, 0x7c, 0x11, 0x87, 0xb9, 0xa3, 0xd9, 0x5e, + 0x93, 0xf7, 0xfc, 0xdd, 0x0c, 0x11, 0x77, 0x3c, 0xd1, 0x7e, 0xf7, 0x5b, + 0x6b, 0xb5, 0xae, 0x85, 0x0e, 0x58, 0x56, 0x05, 0x0d, 0x4e, 0x26, 0x7c, + 0x78, 0x4b, 0x6b, 0x7c, 0xc8, 0xa0, 0xf3, 0x75, 0x1a, 0xa4, 0x20, 0x5d, + 0x70, 0xbf, 0x2a, 0x23, +}; +static const struct drbg_kat_pr_true kat4220_t = { + 4, kat4220_entropyin, kat4220_nonce, kat4220_persstr, + kat4220_entropyinpr1, kat4220_addinpr1, kat4220_entropyinpr2, + kat4220_addinpr2, kat4220_retbits +}; +static const struct drbg_kat kat4220 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4220_t +}; + +static const unsigned char kat4221_entropyin[] = { + 0x05, 0xeb, 0xbc, 0xc9, 0x62, 0x1c, 0xad, 0x62, 0xa7, 0x75, 0x8f, 0x99, + 0xa2, 0xf1, 0xaa, 0xad, 0x3e, 0xcc, 0xe9, 0x84, 0x35, 0xc6, 0x04, 0x68, + 0xf2, 0xe5, 0x94, 0xad, 0xdc, 0x7c, 0x4d, 0xcb, 0xa7, 0x4f, 0xa0, 0xee, + 0xed, 0xf3, 0xa3, 0xd5, 0xf6, 0x18, 0x46, 0x49, 0x53, 0xc0, 0x9f, 0x5f, +}; +static const unsigned char kat4221_nonce[] = {0}; +static const unsigned char kat4221_persstr[] = {0}; +static const unsigned char kat4221_entropyinpr1[] = { + 0x64, 0x6a, 0xc4, 0x9b, 0x7c, 0xd9, 0xb6, 0x97, 0x31, 0xa3, 0xff, 0xeb, + 0x97, 0x40, 0x65, 0xa7, 0xf4, 0x8b, 0x22, 0x09, 0x9b, 0xd0, 0x72, 0x94, + 0xcf, 0x00, 0x91, 0x95, 0x70, 0x93, 0x0f, 0x6c, 0x47, 0x4a, 0x23, 0x0c, + 0x43, 0xe6, 0x0a, 0x63, 0x71, 0xbb, 0xa1, 0x91, 0x20, 0x83, 0x59, 0x87, +}; +static const unsigned char kat4221_addinpr1[] = { + 0xa9, 0x97, 0x76, 0xb0, 0x75, 0x42, 0x2d, 0xca, 0xe6, 0x72, 0xbd, 0xd8, + 0x6c, 0x65, 0x08, 0xf9, 0x5b, 0xd7, 0xce, 0x92, 0x8b, 0x0d, 0x52, 0x13, + 0x8d, 0xf4, 0x46, 0xe9, 0xf9, 0xf5, 0x07, 0x98, 0xfd, 0x04, 0x0e, 0x6d, + 0x1a, 0x8c, 0x13, 0x1c, 0x4b, 0xc8, 0x5e, 0xd3, 0x99, 0x82, 0xf6, 0xe5, +}; +static const unsigned char kat4221_entropyinpr2[] = { + 0xdf, 0xd8, 0xc4, 0xac, 0x10, 0x44, 0xe9, 0xf8, 0xe4, 0x1e, 0x89, 0x0a, + 0x3a, 0x0e, 0xac, 0x01, 0x14, 0x4f, 0x58, 0xe7, 0xe8, 0xcb, 0xfb, 0xf8, + 0x21, 0x38, 0xad, 0x16, 0x52, 0xa3, 0x0a, 0xb5, 0xbb, 0x9f, 0x2a, 0x25, + 0x92, 0x08, 0xd9, 0xa5, 0x51, 0xf0, 0xc1, 0x1f, 0x7c, 0x1d, 0xb6, 0x46, +}; +static const unsigned char kat4221_addinpr2[] = { + 0x97, 0x2a, 0xb0, 0xe6, 0x84, 0xdd, 0xf4, 0xed, 0xf2, 0x03, 0x6c, 0x36, + 0x6f, 0xc9, 0x34, 0x63, 0xec, 0xd9, 0xee, 0x39, 0x4e, 0xb8, 0xe9, 0x90, + 0x7c, 0x1b, 0x36, 0x47, 0x3c, 0xea, 0xe2, 0x77, 0x59, 0x2c, 0x22, 0x9a, + 0xa1, 0x28, 0x7d, 0xf3, 0x70, 0x6f, 0x0e, 0x22, 0x58, 0xdc, 0x18, 0x9f, +}; +static const unsigned char kat4221_retbits[] = { + 0x65, 0xd2, 0x2d, 0x6e, 0xbd, 0xe9, 0x6c, 0xe0, 0x3e, 0x51, 0xce, 0x0e, + 0xc6, 0xc6, 0x04, 0x7c, 0x9e, 0x1f, 0x23, 0x2c, 0xc2, 0x6b, 0x86, 0x11, + 0xf5, 0x1e, 0xa2, 0xbf, 0x9e, 0x21, 0x24, 0xcc, 0x63, 0x0e, 0x8b, 0xc7, + 0x82, 0x96, 0xdb, 0x44, 0x65, 0x93, 0x3b, 0xb7, 0xfa, 0x74, 0x2f, 0xa8, + 0x9d, 0x2d, 0x83, 0xbf, 0x52, 0x22, 0x42, 0x84, 0x2b, 0x57, 0x3f, 0x72, + 0xe8, 0x2c, 0x8b, 0x5c, +}; +static const struct drbg_kat_pr_true kat4221_t = { + 5, kat4221_entropyin, kat4221_nonce, kat4221_persstr, + kat4221_entropyinpr1, kat4221_addinpr1, kat4221_entropyinpr2, + kat4221_addinpr2, kat4221_retbits +}; +static const struct drbg_kat kat4221 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4221_t +}; + +static const unsigned char kat4222_entropyin[] = { + 0x11, 0x63, 0x75, 0xa1, 0x6f, 0x87, 0x76, 0x7d, 0x23, 0xa6, 0xc4, 0x6c, + 0x21, 0xe3, 0x99, 0x5b, 0x6f, 0x09, 0x25, 0xcd, 0x93, 0xce, 0xa8, 0x3a, + 0x2e, 0x98, 0x23, 0x77, 0xc3, 0x79, 0x9a, 0xc0, 0x31, 0x69, 0x25, 0x1e, + 0xd0, 0x17, 0x77, 0x68, 0x20, 0x04, 0x22, 0x84, 0xf8, 0xb8, 0xc5, 0xe7, +}; +static const unsigned char kat4222_nonce[] = {0}; +static const unsigned char kat4222_persstr[] = {0}; +static const unsigned char kat4222_entropyinpr1[] = { + 0x24, 0xc2, 0xa7, 0x35, 0x60, 0xa7, 0x5b, 0x58, 0xee, 0xba, 0x0f, 0x63, + 0x61, 0x53, 0x26, 0x78, 0x10, 0xac, 0xb5, 0x15, 0xf7, 0xe8, 0xfe, 0xe0, + 0x25, 0x50, 0xf8, 0x4c, 0x5b, 0x7b, 0x9c, 0x9d, 0x2b, 0x7a, 0x47, 0x82, + 0x70, 0xf0, 0xfa, 0x63, 0x0f, 0xca, 0xf7, 0xdb, 0x55, 0x52, 0x6e, 0xa0, +}; +static const unsigned char kat4222_addinpr1[] = { + 0x01, 0x77, 0x56, 0x8f, 0xe9, 0xa1, 0x2c, 0x23, 0xd4, 0xd6, 0xd5, 0x66, + 0x59, 0xd9, 0x77, 0x17, 0x0c, 0xa6, 0x8c, 0x79, 0x15, 0x89, 0x31, 0x0f, + 0xa2, 0x78, 0x16, 0xf3, 0xd4, 0x31, 0x56, 0x78, 0xbb, 0x1a, 0xd0, 0xfb, + 0x67, 0x3b, 0x23, 0x52, 0xab, 0xb4, 0x60, 0x7a, 0xd5, 0xb1, 0xd7, 0xe2, +}; +static const unsigned char kat4222_entropyinpr2[] = { + 0x8e, 0x83, 0x8e, 0xb3, 0xfc, 0x75, 0x90, 0x64, 0xac, 0x14, 0x47, 0xfe, + 0xc4, 0x7f, 0x9f, 0xbf, 0x4a, 0xd0, 0x68, 0x71, 0x42, 0x2b, 0x29, 0x7e, + 0x38, 0x14, 0x3c, 0x99, 0xd0, 0xa4, 0xfc, 0x99, 0x88, 0x55, 0xf3, 0xfb, + 0x77, 0x5d, 0x06, 0x20, 0x93, 0x37, 0x03, 0x98, 0xe2, 0xb7, 0x32, 0x3c, +}; +static const unsigned char kat4222_addinpr2[] = { + 0xa7, 0x30, 0x06, 0xe7, 0x92, 0x1b, 0x82, 0x57, 0xf7, 0xeb, 0x1a, 0x44, + 0xe9, 0xb9, 0xf8, 0x81, 0xed, 0xe7, 0xf0, 0xc8, 0x60, 0x7c, 0x83, 0x62, + 0xd4, 0x82, 0xe6, 0xdb, 0x9a, 0x7b, 0xe1, 0x0d, 0x2e, 0x72, 0x40, 0xe8, + 0x24, 0x88, 0xfb, 0xd2, 0x1f, 0x24, 0x70, 0x05, 0xf8, 0x88, 0x2a, 0x0e, +}; +static const unsigned char kat4222_retbits[] = { + 0x23, 0xed, 0x3b, 0xc4, 0x1d, 0x71, 0xf8, 0x9e, 0x15, 0xac, 0x91, 0xd4, + 0xe9, 0x9b, 0x8b, 0x3f, 0x28, 0x65, 0x9d, 0xcf, 0x09, 0x33, 0x45, 0x4b, + 0xdf, 0x4c, 0xbf, 0xb9, 0x11, 0x30, 0x56, 0x8b, 0x21, 0x36, 0xf9, 0x22, + 0x63, 0xf9, 0x54, 0x3b, 0x1c, 0xc3, 0x9f, 0xf4, 0x09, 0x85, 0xa4, 0x1a, + 0x15, 0x99, 0x8c, 0x81, 0xe2, 0xe2, 0x80, 0x9b, 0x57, 0x6d, 0x19, 0xb6, + 0x96, 0x42, 0xdb, 0x73, +}; +static const struct drbg_kat_pr_true kat4222_t = { + 6, kat4222_entropyin, kat4222_nonce, kat4222_persstr, + kat4222_entropyinpr1, kat4222_addinpr1, kat4222_entropyinpr2, + kat4222_addinpr2, kat4222_retbits +}; +static const struct drbg_kat kat4222 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4222_t +}; + +static const unsigned char kat4223_entropyin[] = { + 0xdd, 0xce, 0xd0, 0xae, 0x9a, 0x9c, 0xcf, 0xac, 0xf6, 0xc6, 0x34, 0xc1, + 0xa4, 0x56, 0xb1, 0x37, 0x22, 0x67, 0xe7, 0x1f, 0x7b, 0xb6, 0xc2, 0x98, + 0xe2, 0x1a, 0x08, 0x8f, 0x67, 0x5d, 0xcb, 0x03, 0xec, 0x74, 0x7c, 0x83, + 0xdd, 0x3a, 0xac, 0x74, 0xdf, 0xf2, 0xfd, 0x2a, 0xb0, 0x94, 0x9b, 0xb1, +}; +static const unsigned char kat4223_nonce[] = {0}; +static const unsigned char kat4223_persstr[] = {0}; +static const unsigned char kat4223_entropyinpr1[] = { + 0x82, 0x36, 0x3d, 0x9c, 0xd9, 0x89, 0xc2, 0x20, 0xe2, 0x4e, 0xbb, 0xfa, + 0x61, 0x58, 0x37, 0x9c, 0x21, 0xe9, 0xac, 0x61, 0x48, 0x97, 0x15, 0xbf, + 0xd6, 0x2e, 0xa6, 0xe6, 0x99, 0xf4, 0x89, 0xc3, 0x22, 0xa9, 0x22, 0xc3, + 0xa8, 0xec, 0xa6, 0x7c, 0x33, 0xbb, 0x1f, 0x49, 0xba, 0x3e, 0x11, 0x20, +}; +static const unsigned char kat4223_addinpr1[] = { + 0x79, 0xdb, 0x8e, 0x87, 0x31, 0xa7, 0x97, 0xd5, 0x41, 0x2f, 0x9e, 0xd7, + 0xca, 0xad, 0xa0, 0xb0, 0xbf, 0x78, 0x29, 0x8d, 0x76, 0x0e, 0x26, 0x86, + 0x93, 0xc5, 0xa5, 0x94, 0xdc, 0x52, 0xd8, 0x8e, 0x1d, 0xb8, 0x86, 0x9a, + 0x1f, 0xea, 0xca, 0x90, 0xb9, 0xde, 0x4e, 0x3e, 0xae, 0x97, 0xf9, 0xc8, +}; +static const unsigned char kat4223_entropyinpr2[] = { + 0x1c, 0x30, 0x7d, 0x61, 0x6d, 0xa4, 0xa4, 0x57, 0xbb, 0x36, 0xe1, 0x6d, + 0x3f, 0x94, 0x87, 0x6a, 0x94, 0x47, 0x90, 0xcf, 0x11, 0x6d, 0x37, 0x9c, + 0xad, 0xd9, 0x62, 0xce, 0x2a, 0x6b, 0xf2, 0xdc, 0x2e, 0x24, 0xd8, 0xde, + 0xc5, 0x0c, 0xa6, 0x68, 0x59, 0x62, 0xc2, 0x65, 0xec, 0x22, 0x94, 0x1b, +}; +static const unsigned char kat4223_addinpr2[] = { + 0xec, 0x27, 0xac, 0x86, 0x33, 0x55, 0x21, 0xeb, 0xb4, 0xce, 0x10, 0x9c, + 0xb7, 0x02, 0x08, 0xb1, 0xbe, 0x87, 0x58, 0x49, 0x60, 0xfd, 0x09, 0xa9, + 0xd9, 0x19, 0x06, 0x7b, 0x7b, 0x35, 0x0f, 0xcb, 0x91, 0xbe, 0xfe, 0x48, + 0x0d, 0x63, 0x23, 0x8c, 0x3d, 0x17, 0x91, 0x18, 0xea, 0xca, 0x13, 0x06, +}; +static const unsigned char kat4223_retbits[] = { + 0x98, 0xcd, 0xc7, 0x0b, 0x59, 0xe0, 0x2f, 0x75, 0xcf, 0xd1, 0xab, 0xee, + 0x1b, 0xac, 0x63, 0x6f, 0xfe, 0xa6, 0xb3, 0xe8, 0xa2, 0x2b, 0x4d, 0xb5, + 0x73, 0xb0, 0x4b, 0x2f, 0xbc, 0xd8, 0x17, 0x05, 0x08, 0x74, 0xca, 0x37, + 0x4f, 0xe2, 0x86, 0xde, 0x84, 0xc2, 0x11, 0xce, 0x04, 0x7e, 0x8e, 0x07, + 0x0a, 0x21, 0xd8, 0xcd, 0xfe, 0xa8, 0x4f, 0xfc, 0x70, 0x8a, 0x6a, 0xc2, + 0xe5, 0x4b, 0x00, 0xc4, +}; +static const struct drbg_kat_pr_true kat4223_t = { + 7, kat4223_entropyin, kat4223_nonce, kat4223_persstr, + kat4223_entropyinpr1, kat4223_addinpr1, kat4223_entropyinpr2, + kat4223_addinpr2, kat4223_retbits +}; +static const struct drbg_kat kat4223 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4223_t +}; + +static const unsigned char kat4224_entropyin[] = { + 0x6b, 0x18, 0x17, 0xb9, 0x3c, 0xc8, 0x51, 0x54, 0xe5, 0x5e, 0x85, 0x6b, + 0x1a, 0xab, 0x06, 0x7a, 0xb6, 0xe6, 0x68, 0xdd, 0xfb, 0x30, 0x75, 0x90, + 0xb2, 0x56, 0x3e, 0xc5, 0x9e, 0x17, 0x9f, 0xf8, 0xa6, 0x1c, 0x9a, 0x21, + 0xa8, 0x33, 0x0f, 0x01, 0xdc, 0xa3, 0xd0, 0xbb, 0xb2, 0xa0, 0x69, 0x8c, +}; +static const unsigned char kat4224_nonce[] = {0}; +static const unsigned char kat4224_persstr[] = {0}; +static const unsigned char kat4224_entropyinpr1[] = { + 0xf0, 0x7e, 0x7b, 0x4f, 0x72, 0xdf, 0xa2, 0x2b, 0x31, 0xc1, 0x44, 0xb6, + 0x70, 0x56, 0x55, 0x5d, 0x49, 0xc9, 0xf0, 0xc7, 0x0a, 0x80, 0x9c, 0xd9, + 0x66, 0x9b, 0x18, 0x1f, 0x0b, 0xd7, 0x93, 0xb0, 0x2b, 0x8d, 0xf7, 0x27, + 0x8e, 0xe8, 0xd6, 0x95, 0x43, 0x08, 0xe2, 0xbc, 0x73, 0x43, 0x08, 0xc3, +}; +static const unsigned char kat4224_addinpr1[] = { + 0x11, 0x80, 0x42, 0x24, 0x33, 0x86, 0x80, 0x6c, 0xea, 0x3f, 0x82, 0x61, + 0x3a, 0x34, 0x23, 0x19, 0x46, 0x4b, 0x90, 0x35, 0x98, 0x76, 0xd7, 0x4c, + 0x90, 0x12, 0xa2, 0x70, 0xb4, 0xed, 0x68, 0xa5, 0x95, 0x7d, 0x1d, 0x39, + 0xd0, 0xf4, 0x59, 0x85, 0xd2, 0x7b, 0x70, 0x98, 0x12, 0x2e, 0xc8, 0x19, +}; +static const unsigned char kat4224_entropyinpr2[] = { + 0x68, 0x25, 0xa3, 0x5d, 0x81, 0x20, 0x9a, 0xb3, 0xeb, 0xa1, 0xa7, 0xbd, + 0x81, 0x74, 0xdd, 0xde, 0xe6, 0xc8, 0x8f, 0x8c, 0x08, 0xb8, 0x4f, 0x3e, + 0xca, 0xa3, 0xdc, 0x31, 0xe1, 0x0d, 0x9f, 0xfe, 0xf6, 0x52, 0x81, 0xfa, + 0xbd, 0x5c, 0x72, 0xf1, 0x18, 0xaf, 0x84, 0xc9, 0xde, 0x67, 0x0f, 0x9b, +}; +static const unsigned char kat4224_addinpr2[] = { + 0xa4, 0xcc, 0xcf, 0x42, 0x43, 0xab, 0x34, 0x98, 0xf9, 0x8a, 0x2c, 0xf8, + 0xd8, 0x05, 0x04, 0xa0, 0xf1, 0x44, 0xee, 0xf0, 0x01, 0x9c, 0x1e, 0x24, + 0x1a, 0x26, 0xb3, 0xd7, 0x46, 0xce, 0x58, 0xe2, 0x90, 0x03, 0xa8, 0x6a, + 0x98, 0x0e, 0xef, 0x85, 0xe3, 0xd5, 0x52, 0x03, 0x19, 0x0e, 0x17, 0x0f, +}; +static const unsigned char kat4224_retbits[] = { + 0xf8, 0xf2, 0xa1, 0xae, 0x6a, 0x83, 0x23, 0x33, 0xf2, 0xc4, 0xbc, 0x79, + 0xb8, 0x56, 0xbe, 0x49, 0x1c, 0x2a, 0xe7, 0x2f, 0x7b, 0x3d, 0x8e, 0x9e, + 0xae, 0x1a, 0x4c, 0x1a, 0xc3, 0xa8, 0xd6, 0x90, 0xb5, 0xc4, 0xb3, 0x23, + 0x04, 0xaf, 0x09, 0xe5, 0x04, 0x3e, 0xac, 0x8f, 0xb2, 0x4f, 0xc4, 0xb7, + 0x6a, 0x99, 0x3e, 0x98, 0xdb, 0xa0, 0x18, 0x20, 0xf0, 0x8c, 0xe4, 0x8d, + 0xf4, 0x3c, 0xcb, 0xf2, +}; +static const struct drbg_kat_pr_true kat4224_t = { + 8, kat4224_entropyin, kat4224_nonce, kat4224_persstr, + kat4224_entropyinpr1, kat4224_addinpr1, kat4224_entropyinpr2, + kat4224_addinpr2, kat4224_retbits +}; +static const struct drbg_kat kat4224 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4224_t +}; + +static const unsigned char kat4225_entropyin[] = { + 0x4d, 0x6d, 0x65, 0x99, 0xec, 0x22, 0x36, 0xd2, 0xa3, 0xe3, 0xfd, 0xfe, + 0xda, 0x7c, 0x6d, 0x0a, 0xc4, 0xb5, 0x28, 0x72, 0xbe, 0x3f, 0x71, 0xfe, + 0x05, 0xaf, 0xbd, 0x22, 0xdd, 0x7b, 0x08, 0x65, 0x0f, 0xe0, 0x1e, 0x02, + 0x77, 0x0b, 0x54, 0x55, 0xac, 0x83, 0x97, 0x72, 0xd8, 0x19, 0x93, 0x6d, +}; +static const unsigned char kat4225_nonce[] = {0}; +static const unsigned char kat4225_persstr[] = {0}; +static const unsigned char kat4225_entropyinpr1[] = { + 0x8b, 0x4c, 0x7e, 0xa9, 0x9b, 0x25, 0x1b, 0x8f, 0x8a, 0x85, 0x6e, 0x00, + 0x98, 0xd0, 0xd5, 0x76, 0xf5, 0xc3, 0x94, 0x62, 0x96, 0x76, 0x36, 0x05, + 0x59, 0xaf, 0x83, 0x05, 0x69, 0x11, 0x26, 0x14, 0x15, 0x9a, 0xbf, 0x6d, + 0xc5, 0x45, 0x1a, 0x66, 0xaf, 0x50, 0x5b, 0x10, 0x09, 0x7f, 0x1d, 0x83, +}; +static const unsigned char kat4225_addinpr1[] = { + 0xe7, 0x45, 0x27, 0x2e, 0x39, 0xa9, 0x4a, 0x2d, 0x5e, 0x78, 0x0c, 0x7c, + 0x89, 0x4b, 0xba, 0x3a, 0xec, 0x21, 0xff, 0xa5, 0xfe, 0x25, 0xae, 0xa5, + 0xc0, 0x3a, 0x39, 0xed, 0x61, 0x83, 0xed, 0x73, 0xf9, 0x9d, 0xf3, 0x91, + 0x0b, 0xf5, 0x03, 0x20, 0xe9, 0x6a, 0xaf, 0x23, 0xdb, 0x42, 0x8d, 0xd1, +}; +static const unsigned char kat4225_entropyinpr2[] = { + 0x39, 0xfa, 0x4d, 0x42, 0x19, 0xf3, 0xcf, 0xb1, 0xbc, 0x0d, 0x56, 0x8d, + 0xac, 0xae, 0x55, 0x22, 0x3c, 0xc1, 0x4e, 0x99, 0xb1, 0xe0, 0x23, 0x2b, + 0x1e, 0x14, 0x23, 0x0d, 0x3d, 0x0f, 0x44, 0x02, 0x42, 0x18, 0xdc, 0xb1, + 0x9c, 0xba, 0x99, 0x32, 0x8f, 0xf3, 0x38, 0x80, 0x3d, 0x95, 0x60, 0x8f, +}; +static const unsigned char kat4225_addinpr2[] = { + 0xfd, 0xd5, 0x07, 0x89, 0x54, 0xad, 0xe4, 0x47, 0xda, 0x52, 0xc0, 0x9d, + 0xe9, 0x51, 0xe7, 0x64, 0x18, 0x79, 0xed, 0xe1, 0xbc, 0xb8, 0xc9, 0x01, + 0x89, 0x0b, 0x1e, 0x48, 0xd3, 0xf8, 0xb1, 0x44, 0x8d, 0xfc, 0x70, 0xc4, + 0xf7, 0xf5, 0x07, 0x33, 0xc0, 0x00, 0x7d, 0x82, 0xb3, 0x10, 0x8a, 0xb6, +}; +static const unsigned char kat4225_retbits[] = { + 0xed, 0xe3, 0x96, 0xce, 0x2f, 0x56, 0xfc, 0x2d, 0x79, 0x72, 0x76, 0xdd, + 0x80, 0x7a, 0x4c, 0x19, 0x17, 0x18, 0x0a, 0x31, 0x4b, 0x18, 0x34, 0xa3, + 0x0b, 0x86, 0xb6, 0xa7, 0xb9, 0x7e, 0x7c, 0x6b, 0x29, 0x38, 0xfc, 0xd3, + 0x9b, 0x10, 0x70, 0xc4, 0xcc, 0x51, 0xb9, 0x75, 0x04, 0x1c, 0xf3, 0x7b, + 0xd5, 0xe6, 0x77, 0x20, 0x33, 0x41, 0x7b, 0x6d, 0xbd, 0xfd, 0x47, 0x38, + 0x3c, 0x0a, 0xc5, 0xf4, +}; +static const struct drbg_kat_pr_true kat4225_t = { + 9, kat4225_entropyin, kat4225_nonce, kat4225_persstr, + kat4225_entropyinpr1, kat4225_addinpr1, kat4225_entropyinpr2, + kat4225_addinpr2, kat4225_retbits +}; +static const struct drbg_kat kat4225 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4225_t +}; + +static const unsigned char kat4226_entropyin[] = { + 0xc7, 0xbb, 0x20, 0x7d, 0xde, 0x0b, 0x74, 0x33, 0x03, 0x83, 0xa1, 0xfa, + 0xbb, 0xa1, 0x41, 0x96, 0xba, 0xff, 0xa7, 0xbe, 0xb9, 0x68, 0x8e, 0x43, + 0xe8, 0xb9, 0xa2, 0x99, 0x6f, 0xa6, 0x9f, 0xe3, 0x68, 0x96, 0xb5, 0x2f, + 0xdd, 0xd6, 0x27, 0x04, 0x02, 0x60, 0xa9, 0x6a, 0x25, 0x1d, 0xbb, 0x91, +}; +static const unsigned char kat4226_nonce[] = {0}; +static const unsigned char kat4226_persstr[] = {0}; +static const unsigned char kat4226_entropyinpr1[] = { + 0x62, 0xf7, 0x0e, 0x58, 0xe1, 0x32, 0x11, 0xe3, 0x43, 0xb2, 0xf6, 0x57, + 0x2b, 0x69, 0x68, 0xc0, 0x4d, 0x9e, 0xe6, 0x8c, 0xab, 0x7f, 0xa7, 0x3d, + 0xd3, 0x98, 0xaf, 0x8d, 0x7a, 0xd4, 0x54, 0x8a, 0x47, 0xf2, 0xe2, 0xfd, + 0xf2, 0x60, 0x52, 0xe3, 0x16, 0x2b, 0x45, 0x3e, 0x2e, 0x94, 0x22, 0x4c, +}; +static const unsigned char kat4226_addinpr1[] = { + 0xad, 0x0f, 0x47, 0x22, 0xe6, 0x75, 0x06, 0xab, 0x51, 0x3a, 0x71, 0x79, + 0xd9, 0xa2, 0x96, 0x1e, 0x92, 0x74, 0xe8, 0xed, 0x05, 0x9d, 0x5a, 0x3a, + 0xfc, 0xe8, 0xcc, 0xa5, 0xa3, 0x85, 0x8e, 0x8e, 0x4e, 0x2c, 0xb9, 0xc8, + 0xe7, 0x0c, 0x16, 0x48, 0x96, 0x18, 0x15, 0xc9, 0xeb, 0x36, 0x98, 0x20, +}; +static const unsigned char kat4226_entropyinpr2[] = { + 0x88, 0xba, 0x1b, 0xa8, 0xd9, 0x68, 0xda, 0xc6, 0xdb, 0xdc, 0x2a, 0x67, + 0xb0, 0xa6, 0x54, 0x0f, 0xbd, 0xbf, 0x7a, 0xd5, 0x25, 0x7e, 0xa2, 0x63, + 0x52, 0xab, 0x4e, 0xd5, 0xd4, 0x9d, 0xd1, 0x8c, 0x46, 0x95, 0x52, 0xef, + 0x8d, 0x29, 0x7b, 0xec, 0xe4, 0xea, 0x6f, 0xb6, 0x26, 0xbb, 0x50, 0x85, +}; +static const unsigned char kat4226_addinpr2[] = { + 0xeb, 0xe9, 0xb7, 0xf3, 0x43, 0xe9, 0x3f, 0x63, 0x3e, 0x41, 0x06, 0xc1, + 0x71, 0x63, 0x8f, 0xc7, 0xe9, 0x8f, 0x4b, 0x0f, 0x50, 0x98, 0x41, 0x53, + 0x32, 0xf8, 0x45, 0x40, 0x9f, 0x46, 0xac, 0x35, 0x2b, 0x1b, 0x90, 0x82, + 0x15, 0x5f, 0x68, 0x6c, 0x4b, 0x2c, 0x77, 0x6c, 0xe6, 0x0b, 0x57, 0x5d, +}; +static const unsigned char kat4226_retbits[] = { + 0x75, 0xec, 0xb6, 0x43, 0x2c, 0x5b, 0xde, 0x9e, 0xfd, 0x90, 0xa9, 0x13, + 0xed, 0x6c, 0x4f, 0xa8, 0x63, 0x7a, 0x54, 0x1b, 0xe3, 0x2b, 0x8d, 0x44, + 0xcc, 0xe6, 0x62, 0xcf, 0x0a, 0x53, 0xb4, 0x6a, 0x19, 0x68, 0x4b, 0x88, + 0xb1, 0x6e, 0x35, 0xb3, 0xeb, 0x1a, 0xd3, 0x70, 0x20, 0xed, 0xa4, 0x85, + 0x0b, 0x92, 0xb9, 0x13, 0xd0, 0x2a, 0x40, 0xd0, 0x4d, 0xc4, 0x60, 0x46, + 0xd2, 0x72, 0xa0, 0x45, +}; +static const struct drbg_kat_pr_true kat4226_t = { + 10, kat4226_entropyin, kat4226_nonce, kat4226_persstr, + kat4226_entropyinpr1, kat4226_addinpr1, kat4226_entropyinpr2, + kat4226_addinpr2, kat4226_retbits +}; +static const struct drbg_kat kat4226 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4226_t +}; + +static const unsigned char kat4227_entropyin[] = { + 0xe0, 0x7e, 0x5a, 0x3f, 0x1c, 0xf5, 0xf7, 0x5c, 0x93, 0xa7, 0x4e, 0x76, + 0x69, 0xd6, 0xa2, 0x57, 0xd7, 0x1a, 0x99, 0xc2, 0x4a, 0xe3, 0x2e, 0x95, + 0xab, 0xe6, 0x04, 0x67, 0xc7, 0x39, 0x26, 0x74, 0x30, 0xf7, 0x27, 0xf0, + 0xf0, 0xd9, 0xdc, 0x58, 0xb3, 0xa8, 0xb4, 0x91, 0x8e, 0xdf, 0xa9, 0xf3, +}; +static const unsigned char kat4227_nonce[] = {0}; +static const unsigned char kat4227_persstr[] = {0}; +static const unsigned char kat4227_entropyinpr1[] = { + 0x8d, 0xd0, 0x54, 0x18, 0x47, 0xae, 0x27, 0x47, 0x9a, 0x33, 0x1f, 0x6c, + 0x6b, 0xa4, 0xdc, 0xe7, 0x97, 0xb2, 0x34, 0x06, 0x50, 0x56, 0xed, 0xc3, + 0xbe, 0xbc, 0xc2, 0xc7, 0xfd, 0x2f, 0x3a, 0x57, 0xc8, 0x3a, 0x6d, 0xdf, + 0x15, 0xd4, 0x3d, 0x5d, 0xb0, 0x6d, 0x7e, 0x78, 0xfa, 0x09, 0xfd, 0x0e, +}; +static const unsigned char kat4227_addinpr1[] = { + 0x40, 0x79, 0xfa, 0x82, 0x6e, 0x52, 0x11, 0x2a, 0x97, 0xd9, 0x9d, 0x69, + 0xbc, 0xa6, 0x15, 0xf6, 0x69, 0xa2, 0x9d, 0xb9, 0xb3, 0x42, 0xa5, 0xb3, + 0x10, 0x39, 0xd0, 0xf1, 0xe8, 0xfb, 0xf2, 0x0d, 0xd8, 0xb8, 0xec, 0xef, + 0x44, 0x56, 0xd9, 0xd2, 0x8e, 0x6d, 0xb8, 0xca, 0x0f, 0xe9, 0xd7, 0x7b, +}; +static const unsigned char kat4227_entropyinpr2[] = { + 0x7f, 0x64, 0xba, 0xd8, 0x26, 0x8e, 0x5e, 0x0a, 0xe3, 0x47, 0x38, 0x50, + 0xaa, 0x5f, 0xee, 0x43, 0x5c, 0xb6, 0x81, 0x46, 0xda, 0x97, 0x26, 0xe4, + 0x81, 0x1d, 0xde, 0x0b, 0xda, 0x3e, 0x1d, 0xa9, 0x97, 0xc0, 0x17, 0x62, + 0xc4, 0x8e, 0x27, 0xe7, 0x54, 0xda, 0xf4, 0xc1, 0x95, 0xce, 0x84, 0x48, +}; +static const unsigned char kat4227_addinpr2[] = { + 0xb9, 0xed, 0x51, 0x1c, 0x9c, 0x92, 0x1c, 0xfc, 0xea, 0x7a, 0x13, 0xa1, + 0x87, 0x25, 0x8e, 0x3b, 0x71, 0xb7, 0x35, 0xad, 0x6c, 0x24, 0xf4, 0x0e, + 0xf2, 0x94, 0x88, 0x1e, 0xba, 0x11, 0xc1, 0x6f, 0xed, 0x3a, 0x8e, 0x00, + 0x29, 0x89, 0x2b, 0x36, 0x70, 0x1b, 0x4d, 0x64, 0xe1, 0x7a, 0x29, 0x65, +}; +static const unsigned char kat4227_retbits[] = { + 0xf1, 0xb9, 0xbf, 0x97, 0x5a, 0x3f, 0x1e, 0xcd, 0x93, 0xb6, 0xc9, 0xb7, + 0x51, 0x65, 0x38, 0x20, 0x5a, 0x3a, 0x56, 0x7d, 0xca, 0x5a, 0xba, 0xb0, + 0x3e, 0x44, 0xcc, 0xb0, 0x1a, 0x34, 0x28, 0x94, 0x72, 0x91, 0x38, 0xcb, + 0x6b, 0x9b, 0x0a, 0x49, 0xe2, 0xc2, 0x1f, 0xc6, 0x76, 0xea, 0x3c, 0x74, + 0xc4, 0x69, 0xd6, 0xc9, 0x3d, 0x34, 0x37, 0x69, 0x3d, 0x3d, 0x57, 0x46, + 0x6e, 0xf3, 0x81, 0x74, +}; +static const struct drbg_kat_pr_true kat4227_t = { + 11, kat4227_entropyin, kat4227_nonce, kat4227_persstr, + kat4227_entropyinpr1, kat4227_addinpr1, kat4227_entropyinpr2, + kat4227_addinpr2, kat4227_retbits +}; +static const struct drbg_kat kat4227 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4227_t +}; + +static const unsigned char kat4228_entropyin[] = { + 0x58, 0xda, 0xf9, 0x3b, 0x28, 0x80, 0x85, 0xfc, 0xe9, 0x1c, 0x60, 0x4a, + 0xf9, 0x12, 0x8e, 0x3f, 0xb1, 0xf3, 0xee, 0x06, 0xec, 0x7a, 0x15, 0x9d, + 0x8b, 0xa0, 0x72, 0xd9, 0x01, 0xfe, 0x0b, 0xa4, 0x0c, 0x1a, 0x90, 0xf3, + 0x15, 0xe0, 0xde, 0x53, 0x2e, 0x83, 0xc0, 0xf0, 0xaf, 0xa1, 0x00, 0x14, +}; +static const unsigned char kat4228_nonce[] = {0}; +static const unsigned char kat4228_persstr[] = {0}; +static const unsigned char kat4228_entropyinpr1[] = { + 0xf6, 0x1f, 0xa2, 0xf3, 0x40, 0x36, 0x72, 0x48, 0x91, 0x75, 0x8d, 0x52, + 0x6f, 0x50, 0xb8, 0x02, 0x18, 0x0f, 0x98, 0xd8, 0x4c, 0x11, 0xf2, 0x42, + 0x5c, 0x8e, 0x7d, 0x6c, 0xfc, 0xd9, 0xbb, 0xe9, 0x56, 0xa1, 0xbb, 0x22, + 0x55, 0x46, 0xd5, 0x40, 0x9d, 0xd6, 0xcd, 0x9d, 0x1c, 0x74, 0xd3, 0x5a, +}; +static const unsigned char kat4228_addinpr1[] = { + 0xcc, 0x3a, 0x58, 0x6c, 0xe4, 0x76, 0xfa, 0x37, 0x1c, 0x2f, 0x60, 0x30, + 0xa1, 0x86, 0x60, 0xe0, 0x27, 0xcc, 0xf5, 0x94, 0x4b, 0xc3, 0x00, 0x48, + 0xb0, 0x54, 0xd8, 0x57, 0xfc, 0x9d, 0x05, 0x6e, 0x4d, 0x7a, 0xce, 0x22, + 0x29, 0xc5, 0xda, 0x92, 0xf6, 0x29, 0x3e, 0xdc, 0x98, 0xe5, 0x7a, 0xab, +}; +static const unsigned char kat4228_entropyinpr2[] = { + 0xd7, 0xf7, 0x7b, 0xd1, 0x4b, 0x76, 0x98, 0xad, 0x6d, 0x88, 0x98, 0x07, + 0xf0, 0x2f, 0x2f, 0x2f, 0x7b, 0x06, 0x4b, 0x15, 0x5b, 0x6b, 0x3e, 0xc2, + 0x82, 0x0b, 0xaf, 0x3b, 0x8b, 0x6f, 0x38, 0x70, 0x72, 0xcc, 0x6c, 0x7d, + 0xcf, 0xd5, 0x54, 0xd0, 0xac, 0x97, 0xbd, 0x6c, 0x6c, 0x87, 0x97, 0x1d, +}; +static const unsigned char kat4228_addinpr2[] = { + 0x89, 0xb0, 0x71, 0x37, 0x88, 0x26, 0x01, 0xe5, 0x0a, 0x7c, 0x06, 0x37, + 0x12, 0x47, 0x9b, 0x19, 0xb2, 0x01, 0x54, 0xeb, 0x5f, 0x71, 0xd8, 0xb5, + 0x09, 0xb0, 0x87, 0x8b, 0xc5, 0x89, 0x53, 0x61, 0x64, 0xc3, 0xdf, 0xfc, + 0x77, 0x3b, 0xfb, 0x1c, 0x18, 0x56, 0xd6, 0xde, 0xf3, 0x19, 0x61, 0xb1, +}; +static const unsigned char kat4228_retbits[] = { + 0x8d, 0xbe, 0xee, 0x09, 0x95, 0x85, 0x18, 0x0b, 0x03, 0xba, 0xe1, 0x57, + 0x06, 0xde, 0xf3, 0x93, 0xb9, 0xb3, 0x1d, 0x56, 0x92, 0x70, 0x2e, 0xce, + 0x6c, 0xae, 0x4c, 0xe8, 0xf4, 0x4f, 0x8f, 0xcf, 0xfc, 0xa4, 0x74, 0x3a, + 0x0e, 0xe9, 0x8f, 0xe3, 0xc5, 0xf9, 0x23, 0x3c, 0xe1, 0x7e, 0xb4, 0x25, + 0x72, 0xb0, 0x4c, 0x36, 0x85, 0xe0, 0xee, 0x0d, 0xf5, 0x60, 0x33, 0xc8, + 0xd0, 0xff, 0xf6, 0x3a, +}; +static const struct drbg_kat_pr_true kat4228_t = { + 12, kat4228_entropyin, kat4228_nonce, kat4228_persstr, + kat4228_entropyinpr1, kat4228_addinpr1, kat4228_entropyinpr2, + kat4228_addinpr2, kat4228_retbits +}; +static const struct drbg_kat kat4228 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4228_t +}; + +static const unsigned char kat4229_entropyin[] = { + 0x49, 0x29, 0xfe, 0x3c, 0xcf, 0x07, 0xf2, 0x60, 0xd2, 0x8d, 0xe7, 0x36, + 0x9d, 0x65, 0xf1, 0x63, 0xc8, 0xfe, 0xde, 0x9c, 0xb5, 0x0b, 0x51, 0x35, + 0x9a, 0x55, 0x89, 0xa9, 0xc4, 0xee, 0xf0, 0x91, 0x05, 0x9b, 0x12, 0x9d, + 0x41, 0x14, 0x39, 0x4f, 0xef, 0xb3, 0xb0, 0xd4, 0x6d, 0xb9, 0xdf, 0x51, +}; +static const unsigned char kat4229_nonce[] = {0}; +static const unsigned char kat4229_persstr[] = {0}; +static const unsigned char kat4229_entropyinpr1[] = { + 0xe9, 0xc9, 0xdb, 0x75, 0xeb, 0x63, 0xe4, 0xbb, 0x6d, 0x9c, 0x3e, 0x26, + 0xe8, 0x92, 0xcb, 0x8d, 0xf0, 0x76, 0xd7, 0x94, 0xff, 0x6b, 0xd0, 0x76, + 0x46, 0x26, 0x43, 0x2d, 0xc9, 0xed, 0xbe, 0x22, 0xe1, 0xad, 0xdd, 0x43, + 0x90, 0x64, 0x1f, 0xba, 0x4b, 0xaf, 0x8f, 0xee, 0x18, 0xb3, 0x72, 0x96, +}; +static const unsigned char kat4229_addinpr1[] = { + 0xec, 0x66, 0xa9, 0x9b, 0x91, 0xb2, 0x98, 0xce, 0xba, 0x1d, 0xc6, 0xaf, + 0x63, 0x42, 0x8e, 0x42, 0x73, 0xc4, 0x24, 0xbb, 0x93, 0xbb, 0xbd, 0xea, + 0x59, 0xd2, 0x47, 0x72, 0xa2, 0xe0, 0x26, 0xcd, 0x10, 0xfa, 0xdb, 0xd2, + 0xaf, 0xf8, 0x8c, 0x05, 0x76, 0xae, 0x23, 0x17, 0x68, 0xfa, 0x34, 0x45, +}; +static const unsigned char kat4229_entropyinpr2[] = { + 0x22, 0xec, 0x20, 0x6c, 0x5e, 0x08, 0xce, 0x23, 0x33, 0x0f, 0xf9, 0x6d, + 0x97, 0x1c, 0xfa, 0x54, 0xc3, 0xe8, 0xa5, 0xd7, 0x00, 0x46, 0x3e, 0x9e, + 0x12, 0xb4, 0x18, 0xd7, 0x2b, 0x06, 0xa6, 0x26, 0x35, 0x8a, 0xa9, 0xb8, + 0x2c, 0x64, 0xa5, 0xde, 0xb6, 0x35, 0xf2, 0xb5, 0xda, 0x35, 0x4c, 0x09, +}; +static const unsigned char kat4229_addinpr2[] = { + 0x2a, 0x56, 0xa4, 0x36, 0xf0, 0xc9, 0xd6, 0x77, 0x88, 0xd0, 0xeb, 0xbc, + 0x4c, 0x8a, 0x55, 0x79, 0x12, 0xd6, 0xdb, 0x43, 0x72, 0xe9, 0xbf, 0xda, + 0x0e, 0x12, 0xaa, 0x5b, 0x68, 0xa4, 0x0f, 0x18, 0x9d, 0x9a, 0x81, 0xdd, + 0x6d, 0xb7, 0xa6, 0x96, 0xfb, 0x5c, 0x18, 0x60, 0xe1, 0xb3, 0xbf, 0xb1, +}; +static const unsigned char kat4229_retbits[] = { + 0x9c, 0x01, 0xa7, 0xd2, 0x95, 0xf6, 0x24, 0xfd, 0xf3, 0x2d, 0xb8, 0x0d, + 0xea, 0xd0, 0x09, 0x69, 0x24, 0xb8, 0x0d, 0xfe, 0x3b, 0x7b, 0x11, 0x94, + 0x66, 0x54, 0x6d, 0x87, 0x93, 0x1b, 0x7d, 0x2f, 0x0a, 0xcc, 0x36, 0x03, + 0x13, 0xbc, 0x38, 0xb7, 0xf0, 0x8f, 0x59, 0x0b, 0x0e, 0xd3, 0xdb, 0xa3, + 0x39, 0xc0, 0xb6, 0x9a, 0x35, 0x44, 0x70, 0xea, 0xf8, 0x19, 0xd9, 0xcf, + 0x0f, 0x31, 0x8f, 0x1a, +}; +static const struct drbg_kat_pr_true kat4229_t = { + 13, kat4229_entropyin, kat4229_nonce, kat4229_persstr, + kat4229_entropyinpr1, kat4229_addinpr1, kat4229_entropyinpr2, + kat4229_addinpr2, kat4229_retbits +}; +static const struct drbg_kat kat4229 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4229_t +}; + +static const unsigned char kat4230_entropyin[] = { + 0x69, 0xf7, 0xe3, 0x24, 0xec, 0xf5, 0xbd, 0x85, 0xaf, 0x9e, 0xcc, 0xd1, + 0x52, 0xd7, 0xd2, 0x61, 0x99, 0xae, 0x4d, 0x19, 0xd2, 0x9a, 0xd8, 0x4d, + 0x3f, 0x75, 0xe2, 0x7e, 0x0d, 0x4b, 0xe0, 0xac, 0x01, 0xf2, 0xf1, 0xdb, + 0xfe, 0xc6, 0xda, 0x1c, 0x00, 0x1d, 0x1d, 0xdd, 0xfd, 0xa2, 0xd5, 0x82, +}; +static const unsigned char kat4230_nonce[] = {0}; +static const unsigned char kat4230_persstr[] = {0}; +static const unsigned char kat4230_entropyinpr1[] = { + 0x35, 0xe2, 0x34, 0x58, 0x9f, 0x09, 0x3e, 0xec, 0x80, 0xe8, 0x89, 0x5f, + 0x15, 0xd4, 0x16, 0x29, 0xa7, 0x7b, 0xdc, 0x2c, 0x06, 0x7d, 0x83, 0x6c, + 0x0c, 0xb8, 0x2e, 0xd1, 0x8c, 0x6b, 0x8b, 0x4f, 0x12, 0x98, 0xf0, 0x28, + 0x7b, 0x19, 0x0d, 0x10, 0x19, 0x2d, 0x32, 0xcd, 0x62, 0xfa, 0x62, 0x27, +}; +static const unsigned char kat4230_addinpr1[] = { + 0x7c, 0x30, 0x0a, 0x1c, 0x9f, 0xfd, 0x8a, 0x63, 0x8a, 0xef, 0x6f, 0x62, + 0xc6, 0x63, 0xaa, 0x7f, 0x59, 0x22, 0xb0, 0x8e, 0x9f, 0xb8, 0xcb, 0x30, + 0x64, 0x29, 0x10, 0x84, 0x07, 0x55, 0x71, 0x1c, 0x70, 0xd8, 0x37, 0x15, + 0xfa, 0xba, 0x86, 0x41, 0x2f, 0x62, 0x1b, 0xbe, 0x98, 0x3a, 0xb0, 0x0b, +}; +static const unsigned char kat4230_entropyinpr2[] = { + 0xff, 0xd6, 0xfd, 0x30, 0x31, 0x39, 0x7d, 0x33, 0xe3, 0x82, 0xf4, 0x0b, + 0x63, 0x38, 0xe7, 0xe3, 0x64, 0x0b, 0x9b, 0x35, 0x80, 0x0d, 0x89, 0x05, + 0x81, 0xfa, 0xd4, 0x78, 0x43, 0x66, 0xa1, 0x53, 0x3f, 0x38, 0x39, 0x8f, + 0x25, 0x5d, 0xc3, 0x16, 0xbd, 0xe2, 0x22, 0x85, 0x07, 0x94, 0xe4, 0x6a, +}; +static const unsigned char kat4230_addinpr2[] = { + 0xb1, 0xe3, 0xc7, 0x70, 0xad, 0xbc, 0x77, 0x2d, 0x94, 0xed, 0xef, 0x61, + 0x88, 0xd0, 0xf0, 0x7e, 0xa1, 0xc2, 0x5f, 0xb4, 0x1d, 0xd2, 0x0e, 0xef, + 0xb5, 0x52, 0xde, 0xad, 0x33, 0xdc, 0x47, 0xf6, 0x2e, 0x99, 0xa1, 0x73, + 0x6e, 0xb4, 0x3f, 0xa1, 0x11, 0xe1, 0xc0, 0x4e, 0x0a, 0xad, 0x78, 0xbc, +}; +static const unsigned char kat4230_retbits[] = { + 0x82, 0x6d, 0xc7, 0xb1, 0xc3, 0x9f, 0xb4, 0x95, 0x5f, 0x61, 0x4f, 0xab, + 0x27, 0x69, 0x7e, 0xd5, 0xfa, 0x1e, 0xd8, 0x68, 0x6c, 0x70, 0x1e, 0xf5, + 0xe0, 0x37, 0x76, 0xa8, 0x14, 0xbb, 0xcd, 0xf9, 0xaf, 0xe4, 0x93, 0x43, + 0xcb, 0x53, 0x94, 0x42, 0x41, 0xc3, 0x0b, 0x20, 0x1b, 0xe6, 0xd1, 0x81, + 0xed, 0xd2, 0x0d, 0x55, 0xfe, 0x03, 0x74, 0xa4, 0x3d, 0x68, 0x20, 0x5d, + 0x8e, 0xf7, 0x58, 0xff, +}; +static const struct drbg_kat_pr_true kat4230_t = { + 14, kat4230_entropyin, kat4230_nonce, kat4230_persstr, + kat4230_entropyinpr1, kat4230_addinpr1, kat4230_entropyinpr2, + kat4230_addinpr2, kat4230_retbits +}; +static const struct drbg_kat kat4230 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4230_t +}; + +static const unsigned char kat4231_entropyin[] = { + 0x87, 0x54, 0x68, 0x8f, 0x2a, 0xfa, 0x71, 0x1e, 0x12, 0xae, 0x65, 0xb6, + 0xa4, 0xc5, 0xe7, 0xa5, 0x1e, 0x5f, 0xfe, 0xcf, 0xef, 0xb2, 0x34, 0x79, + 0x08, 0xab, 0x19, 0x11, 0xbb, 0x37, 0xb1, 0xf1, 0xe1, 0x5f, 0x12, 0xc8, + 0x94, 0x8c, 0xba, 0x3b, 0x7c, 0x76, 0xf0, 0x0c, 0x74, 0x2f, 0x74, 0xae, +}; +static const unsigned char kat4231_nonce[] = {0}; +static const unsigned char kat4231_persstr[] = { + 0x6f, 0x11, 0xce, 0x50, 0x1e, 0x74, 0x18, 0x17, 0xbf, 0x70, 0xf4, 0x72, + 0xc8, 0xeb, 0x57, 0x07, 0x2a, 0x08, 0xdb, 0x0b, 0x10, 0xdf, 0x75, 0x98, + 0xa5, 0x69, 0x75, 0x7d, 0xc8, 0x2c, 0xed, 0xa5, 0xd8, 0xce, 0x1d, 0xb8, + 0xd5, 0x8c, 0xf4, 0xb2, 0x46, 0xa7, 0x7d, 0xdc, 0x62, 0xc8, 0xf0, 0xd7, +}; +static const unsigned char kat4231_entropyinpr1[] = { + 0x14, 0x86, 0xe8, 0x2b, 0x9f, 0xa8, 0x89, 0x75, 0x81, 0x7e, 0x47, 0x34, + 0x22, 0x09, 0xba, 0xa7, 0x3e, 0x6e, 0x5b, 0xb0, 0x1f, 0xa8, 0xe0, 0x73, + 0x37, 0x44, 0x3b, 0x64, 0x5b, 0x1f, 0x74, 0xba, 0x94, 0xa7, 0xfd, 0x3d, + 0x78, 0xd5, 0x67, 0x41, 0xb1, 0x4f, 0xf5, 0x9e, 0xc4, 0xa1, 0x93, 0xc4, +}; +static const unsigned char kat4231_addinpr1[] = {0}; +static const unsigned char kat4231_entropyinpr2[] = { + 0x97, 0x7f, 0x62, 0x91, 0x3f, 0xf7, 0x75, 0x5d, 0xf2, 0x2f, 0xa6, 0xdc, + 0xe0, 0x63, 0x66, 0xf6, 0xf7, 0xc6, 0x6e, 0xe9, 0x70, 0x05, 0x65, 0xab, + 0x05, 0x6e, 0xed, 0x91, 0x06, 0x4b, 0xfe, 0xd8, 0x15, 0xbf, 0xc0, 0xc9, + 0xf4, 0x64, 0xce, 0x97, 0x80, 0x02, 0x5c, 0x70, 0xdd, 0xaf, 0x8c, 0x85, +}; +static const unsigned char kat4231_addinpr2[] = {0}; +static const unsigned char kat4231_retbits[] = { + 0xc7, 0x63, 0xa4, 0x7f, 0xdd, 0xd5, 0x84, 0xd0, 0x81, 0x0e, 0x1f, 0xbf, + 0x09, 0x92, 0x09, 0xc2, 0xcf, 0x5c, 0xfb, 0xd0, 0x14, 0x81, 0x51, 0xb9, + 0x95, 0x05, 0xb3, 0xb8, 0x62, 0x44, 0x97, 0xdf, 0x32, 0xc0, 0x2b, 0x56, + 0xba, 0xe3, 0x38, 0xcb, 0x15, 0xcb, 0x7c, 0x5a, 0xde, 0x19, 0x7d, 0x77, + 0x64, 0x3b, 0x67, 0xec, 0x06, 0xc3, 0x28, 0x07, 0x22, 0x62, 0x7b, 0xe3, + 0x70, 0x2a, 0xe4, 0x65, +}; +static const struct drbg_kat_pr_true kat4231_t = { + 0, kat4231_entropyin, kat4231_nonce, kat4231_persstr, + kat4231_entropyinpr1, kat4231_addinpr1, kat4231_entropyinpr2, + kat4231_addinpr2, kat4231_retbits +}; +static const struct drbg_kat kat4231 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4231_t +}; + +static const unsigned char kat4232_entropyin[] = { + 0x94, 0x6c, 0xa2, 0x27, 0x6b, 0x14, 0xa1, 0x2e, 0x3f, 0xec, 0x37, 0xa3, + 0xb0, 0x98, 0x6e, 0xda, 0x88, 0x07, 0x6b, 0xe0, 0x1a, 0x76, 0x95, 0x46, + 0x76, 0x03, 0xcd, 0xe3, 0xd2, 0x12, 0x0f, 0x6c, 0x98, 0x48, 0x3b, 0xf8, + 0xe7, 0xe2, 0x8a, 0xac, 0xd3, 0x54, 0xde, 0x8f, 0xd0, 0x68, 0xa5, 0x9a, +}; +static const unsigned char kat4232_nonce[] = {0}; +static const unsigned char kat4232_persstr[] = { + 0xc3, 0x79, 0xd1, 0x6e, 0xca, 0xef, 0x5c, 0x8b, 0xf8, 0xd8, 0xa5, 0x2a, + 0x0e, 0x43, 0x8e, 0x69, 0xf6, 0x8f, 0xbc, 0xdc, 0x43, 0xf4, 0x89, 0x12, + 0xea, 0x32, 0x19, 0x06, 0xfc, 0x1a, 0x42, 0x7e, 0xcd, 0xe9, 0x56, 0x91, + 0x1b, 0x87, 0x44, 0x5c, 0x70, 0x3c, 0x78, 0x3f, 0xc4, 0x1f, 0x43, 0xd1, +}; +static const unsigned char kat4232_entropyinpr1[] = { + 0x4d, 0xec, 0x4c, 0x9a, 0xcc, 0x06, 0xbe, 0x7a, 0xc2, 0x73, 0x68, 0x17, + 0x91, 0x48, 0x04, 0xcc, 0x8b, 0x91, 0xb8, 0xc9, 0x8d, 0xb3, 0x9a, 0xf6, + 0xe4, 0x1f, 0x39, 0x8c, 0xa1, 0x96, 0xc2, 0xff, 0x81, 0x30, 0x40, 0xad, + 0xef, 0xef, 0x39, 0x60, 0x0a, 0xba, 0x67, 0xc9, 0x89, 0x64, 0x38, 0x58, +}; +static const unsigned char kat4232_addinpr1[] = {0}; +static const unsigned char kat4232_entropyinpr2[] = { + 0xe0, 0x4a, 0x72, 0x34, 0x92, 0xbc, 0xe4, 0x0c, 0xd4, 0x53, 0xb3, 0x22, + 0x8f, 0x95, 0xd8, 0x86, 0xe9, 0xdc, 0x89, 0x7d, 0xea, 0xce, 0xfd, 0x2f, + 0x8b, 0x5a, 0xdd, 0xd7, 0x2b, 0xc1, 0x9c, 0xd5, 0x1c, 0xce, 0x24, 0xac, + 0xbb, 0xac, 0x04, 0xd9, 0xd3, 0x13, 0xaf, 0x2a, 0xe7, 0x6a, 0x1f, 0x48, +}; +static const unsigned char kat4232_addinpr2[] = {0}; +static const unsigned char kat4232_retbits[] = { + 0xd3, 0x8c, 0xb0, 0x9e, 0xf4, 0xba, 0x80, 0x61, 0xa2, 0x3a, 0x07, 0x82, + 0x2e, 0x8c, 0x1d, 0x2d, 0xf6, 0x40, 0xed, 0x67, 0x23, 0x95, 0x7c, 0xaa, + 0xf7, 0xef, 0xf4, 0x37, 0x29, 0x18, 0xb2, 0x77, 0x10, 0x74, 0x68, 0x8b, + 0x16, 0x77, 0xf4, 0x09, 0x0c, 0x5d, 0x4f, 0xe4, 0xb4, 0x36, 0xea, 0x94, + 0x15, 0x1a, 0x9e, 0x6b, 0xa7, 0x50, 0xd2, 0x2c, 0x73, 0x4e, 0x55, 0xb5, + 0x9f, 0x90, 0x11, 0x3c, +}; +static const struct drbg_kat_pr_true kat4232_t = { + 1, kat4232_entropyin, kat4232_nonce, kat4232_persstr, + kat4232_entropyinpr1, kat4232_addinpr1, kat4232_entropyinpr2, + kat4232_addinpr2, kat4232_retbits +}; +static const struct drbg_kat kat4232 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4232_t +}; + +static const unsigned char kat4233_entropyin[] = { + 0xba, 0x0b, 0xa4, 0x10, 0x59, 0x24, 0xfa, 0x7f, 0xf2, 0xa4, 0x19, 0x69, + 0x30, 0x75, 0x1a, 0x9c, 0xd7, 0x42, 0xdf, 0xb4, 0xed, 0x6d, 0x0c, 0xcb, + 0x2e, 0xa7, 0x94, 0x4f, 0xc4, 0xdf, 0x3c, 0x31, 0xdc, 0xc0, 0xcc, 0xab, + 0xf6, 0x2f, 0x74, 0x5f, 0x6d, 0x4a, 0x9b, 0xdc, 0x82, 0x65, 0xca, 0xc7, +}; +static const unsigned char kat4233_nonce[] = {0}; +static const unsigned char kat4233_persstr[] = { + 0x10, 0xdf, 0x13, 0x43, 0xaa, 0x82, 0xeb, 0x96, 0x50, 0x87, 0x65, 0x9e, + 0x34, 0x15, 0x14, 0xfd, 0x53, 0x18, 0x62, 0x18, 0x1b, 0x54, 0x4b, 0x0f, + 0x1b, 0x2f, 0x8c, 0x54, 0xb5, 0xd7, 0x78, 0x25, 0xfb, 0x17, 0x71, 0xd4, + 0x2a, 0x34, 0x70, 0x39, 0x07, 0x12, 0xcd, 0x55, 0xa4, 0xa8, 0xd0, 0x15, +}; +static const unsigned char kat4233_entropyinpr1[] = { + 0xe2, 0x90, 0x7d, 0xd7, 0x3c, 0xed, 0xba, 0x98, 0x3a, 0xf3, 0xe1, 0xf3, + 0x5c, 0x03, 0x15, 0xdc, 0x38, 0x3b, 0x61, 0x35, 0x0d, 0xc8, 0xa2, 0x58, + 0x56, 0x95, 0x66, 0xbd, 0x41, 0x33, 0x7c, 0x46, 0x0d, 0x69, 0xb4, 0x3c, + 0xc4, 0x84, 0xef, 0xc6, 0x78, 0x30, 0xd7, 0x49, 0x21, 0x9f, 0x0f, 0x5f, +}; +static const unsigned char kat4233_addinpr1[] = {0}; +static const unsigned char kat4233_entropyinpr2[] = { + 0x2e, 0x9b, 0xca, 0x5e, 0x90, 0x41, 0x7c, 0x99, 0x3c, 0x1b, 0x88, 0xc0, + 0x11, 0x31, 0x60, 0x27, 0xd5, 0xb1, 0x13, 0x6f, 0xf1, 0xf8, 0x9f, 0xf8, + 0xd4, 0x81, 0xa5, 0x54, 0x31, 0xfb, 0x82, 0x1f, 0x49, 0xb2, 0x3c, 0xd8, + 0x0c, 0xd2, 0xea, 0x28, 0x3a, 0x16, 0xf2, 0xdd, 0xf9, 0x9a, 0x42, 0x3c, +}; +static const unsigned char kat4233_addinpr2[] = {0}; +static const unsigned char kat4233_retbits[] = { + 0xa4, 0x1c, 0xb4, 0x62, 0x4f, 0x02, 0x10, 0x47, 0xe6, 0xc8, 0x45, 0x88, + 0xcf, 0x8c, 0xec, 0xd7, 0xeb, 0xa1, 0xf2, 0x79, 0x40, 0x06, 0x95, 0xfb, + 0xe1, 0xea, 0x35, 0x42, 0xd2, 0x22, 0x9c, 0xee, 0xe4, 0xaa, 0xc2, 0x60, + 0x74, 0x9c, 0x77, 0x10, 0x3e, 0x42, 0x43, 0x58, 0x30, 0x12, 0x8a, 0xd2, + 0x3c, 0xed, 0xd7, 0xe5, 0xea, 0xe7, 0x86, 0xbb, 0x85, 0xc9, 0xb2, 0x8f, + 0xda, 0x4e, 0xcf, 0xd7, +}; +static const struct drbg_kat_pr_true kat4233_t = { + 2, kat4233_entropyin, kat4233_nonce, kat4233_persstr, + kat4233_entropyinpr1, kat4233_addinpr1, kat4233_entropyinpr2, + kat4233_addinpr2, kat4233_retbits +}; +static const struct drbg_kat kat4233 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4233_t +}; + +static const unsigned char kat4234_entropyin[] = { + 0x47, 0x77, 0x4d, 0x94, 0x57, 0xce, 0x21, 0xed, 0x3e, 0xc5, 0xc6, 0xd3, + 0x05, 0x9b, 0xf1, 0x19, 0x51, 0xea, 0x02, 0xaa, 0x3e, 0x9f, 0xb3, 0x30, + 0xa1, 0x4f, 0x11, 0xa4, 0xc4, 0xa4, 0x14, 0xae, 0x04, 0xdc, 0x4c, 0x71, + 0x5b, 0xd3, 0xa3, 0xa5, 0x1c, 0x2e, 0x20, 0x3c, 0x34, 0xa0, 0xd0, 0xcb, +}; +static const unsigned char kat4234_nonce[] = {0}; +static const unsigned char kat4234_persstr[] = { + 0x1c, 0x6b, 0xcd, 0xd1, 0xb4, 0xec, 0x24, 0x23, 0xb0, 0x7b, 0xb3, 0xec, + 0xec, 0xab, 0x20, 0x96, 0x02, 0x5b, 0xa0, 0xaa, 0x35, 0x99, 0x9e, 0xec, + 0x40, 0x18, 0xd7, 0xae, 0xcf, 0xd6, 0x97, 0xdd, 0xe5, 0xd8, 0xf2, 0x61, + 0xcb, 0x5d, 0x2e, 0xb6, 0xff, 0xad, 0x39, 0x2d, 0xbd, 0x53, 0xc6, 0x9e, +}; +static const unsigned char kat4234_entropyinpr1[] = { + 0xdb, 0xba, 0x3e, 0x6b, 0x68, 0x72, 0x8c, 0xc8, 0xb9, 0x1c, 0x9c, 0x01, + 0x5b, 0xdb, 0x68, 0x36, 0xde, 0xaa, 0x91, 0x75, 0x1c, 0x4b, 0xec, 0xa3, + 0x9b, 0x50, 0xcd, 0x86, 0xa4, 0x61, 0x1f, 0x85, 0xd6, 0xc8, 0x56, 0x6f, + 0xe1, 0x73, 0xfe, 0xe9, 0x11, 0x5c, 0x57, 0x57, 0xbc, 0xb8, 0xfb, 0xa5, +}; +static const unsigned char kat4234_addinpr1[] = {0}; +static const unsigned char kat4234_entropyinpr2[] = { + 0x00, 0xbd, 0x93, 0x09, 0x9a, 0x12, 0xc6, 0xf1, 0x88, 0xde, 0x02, 0x87, + 0x09, 0x61, 0x2a, 0x02, 0x50, 0xa5, 0x5c, 0xf0, 0x1a, 0xe1, 0xab, 0xe7, + 0xba, 0x77, 0x90, 0x07, 0x9b, 0xdb, 0xd7, 0x38, 0x15, 0xbe, 0x05, 0x5c, + 0xa3, 0x37, 0x02, 0x28, 0x9a, 0xfd, 0xd6, 0xab, 0x7e, 0x36, 0x82, 0x7e, +}; +static const unsigned char kat4234_addinpr2[] = {0}; +static const unsigned char kat4234_retbits[] = { + 0x62, 0xcc, 0x13, 0x66, 0x83, 0xf3, 0xfa, 0x31, 0x3f, 0x19, 0xd2, 0x3e, + 0x7c, 0xb3, 0xa2, 0xf3, 0xd2, 0x6c, 0xa6, 0x97, 0x19, 0x5e, 0x08, 0x29, + 0xee, 0x74, 0x79, 0x35, 0x1a, 0xce, 0x5a, 0xc5, 0xde, 0xd2, 0x0d, 0xc7, + 0x33, 0x2d, 0x34, 0x86, 0x41, 0x9e, 0x56, 0x2a, 0xee, 0x1d, 0x5d, 0xa8, + 0x64, 0x7a, 0xe8, 0x35, 0x81, 0x0d, 0xfb, 0xf7, 0x7b, 0xa4, 0xad, 0xa1, + 0xd5, 0xe3, 0x10, 0x14, +}; +static const struct drbg_kat_pr_true kat4234_t = { + 3, kat4234_entropyin, kat4234_nonce, kat4234_persstr, + kat4234_entropyinpr1, kat4234_addinpr1, kat4234_entropyinpr2, + kat4234_addinpr2, kat4234_retbits +}; +static const struct drbg_kat kat4234 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4234_t +}; + +static const unsigned char kat4235_entropyin[] = { + 0x79, 0xdc, 0xb3, 0xdc, 0x67, 0xc7, 0x71, 0xbb, 0xdf, 0xcd, 0x9a, 0x2c, + 0xc7, 0x6f, 0x79, 0x6e, 0x2d, 0x2c, 0xbd, 0xa5, 0x58, 0xd7, 0xa4, 0xec, + 0x32, 0x83, 0x2c, 0xc3, 0xa8, 0x61, 0x39, 0x5e, 0x3c, 0x47, 0xfd, 0xa0, + 0xca, 0x58, 0x40, 0x15, 0xf8, 0xa3, 0xb6, 0x6d, 0x95, 0x92, 0x9b, 0x00, +}; +static const unsigned char kat4235_nonce[] = {0}; +static const unsigned char kat4235_persstr[] = { + 0xb0, 0x05, 0x14, 0x37, 0x6f, 0x68, 0xa0, 0x95, 0x99, 0x13, 0x37, 0x0f, + 0x46, 0x57, 0x06, 0x02, 0x53, 0x4d, 0x34, 0x9b, 0xc7, 0x09, 0x16, 0x4c, + 0xcf, 0xd0, 0xa2, 0xd6, 0x9c, 0x1d, 0xc4, 0x15, 0xa0, 0x43, 0x75, 0x68, + 0x2b, 0xd2, 0x2a, 0x6e, 0xc3, 0x29, 0x46, 0xec, 0xd5, 0xae, 0x7a, 0x6d, +}; +static const unsigned char kat4235_entropyinpr1[] = { + 0xa4, 0x95, 0xbd, 0x95, 0x3c, 0xb0, 0xd8, 0x0a, 0x34, 0x53, 0x4b, 0xef, + 0x91, 0x6b, 0x0a, 0x80, 0xe5, 0x3b, 0x45, 0x64, 0x3f, 0xb1, 0xe3, 0x27, + 0xcb, 0xa0, 0x27, 0x77, 0x71, 0x96, 0x75, 0x40, 0x22, 0xaf, 0xf3, 0x6c, + 0x06, 0xb1, 0xf6, 0x6a, 0x3e, 0x28, 0x65, 0x5b, 0xad, 0x37, 0x1d, 0x76, +}; +static const unsigned char kat4235_addinpr1[] = {0}; +static const unsigned char kat4235_entropyinpr2[] = { + 0x7f, 0x73, 0x87, 0x73, 0xe8, 0x1a, 0x97, 0xf4, 0x13, 0xdc, 0xab, 0x60, + 0x73, 0x56, 0x50, 0x76, 0xdb, 0xc1, 0xc4, 0xdc, 0x11, 0x0a, 0xbd, 0xcd, + 0x9c, 0xb4, 0xa2, 0x0d, 0xa8, 0x24, 0xfc, 0xb1, 0x3b, 0xf8, 0x8d, 0xbd, + 0x51, 0xdf, 0xf4, 0xe3, 0xce, 0xa3, 0xbb, 0x1c, 0x99, 0xd3, 0x77, 0x4c, +}; +static const unsigned char kat4235_addinpr2[] = {0}; +static const unsigned char kat4235_retbits[] = { + 0x1f, 0x2d, 0xe1, 0x55, 0xa9, 0xa8, 0x7e, 0xb9, 0xf7, 0x90, 0x43, 0x08, + 0xe7, 0x00, 0xb7, 0x84, 0x51, 0x37, 0x7e, 0x93, 0x3a, 0x92, 0x75, 0xd1, + 0x2d, 0x36, 0x67, 0xd4, 0x02, 0xc6, 0x94, 0x59, 0x95, 0xee, 0x95, 0xa0, + 0x66, 0xc2, 0x9c, 0x0f, 0x75, 0xe9, 0xad, 0xdc, 0xf1, 0xa3, 0x56, 0x2c, + 0xc9, 0x35, 0x5d, 0x31, 0x8c, 0xba, 0xa0, 0xfe, 0xd5, 0x2b, 0x4c, 0xf9, + 0xcf, 0x7b, 0xa1, 0x30, +}; +static const struct drbg_kat_pr_true kat4235_t = { + 4, kat4235_entropyin, kat4235_nonce, kat4235_persstr, + kat4235_entropyinpr1, kat4235_addinpr1, kat4235_entropyinpr2, + kat4235_addinpr2, kat4235_retbits +}; +static const struct drbg_kat kat4235 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4235_t +}; + +static const unsigned char kat4236_entropyin[] = { + 0xc1, 0x17, 0xb1, 0x13, 0xc6, 0x22, 0xe1, 0xd7, 0xb0, 0xa1, 0x03, 0xee, + 0x27, 0xa7, 0xe4, 0x37, 0x8b, 0x41, 0x29, 0x22, 0x7f, 0xd7, 0x42, 0xb9, + 0x67, 0xbe, 0x5c, 0x4a, 0x03, 0x77, 0xa8, 0x00, 0x21, 0x66, 0x7b, 0xa0, + 0x86, 0x83, 0x38, 0xff, 0xc0, 0x1a, 0x91, 0x30, 0x82, 0x61, 0x97, 0xec, +}; +static const unsigned char kat4236_nonce[] = {0}; +static const unsigned char kat4236_persstr[] = { + 0xb9, 0x65, 0x79, 0x22, 0x7c, 0xed, 0x48, 0x52, 0x82, 0x84, 0x4e, 0xf2, + 0x72, 0xef, 0x1a, 0x55, 0x71, 0x28, 0x95, 0x24, 0x63, 0x71, 0x53, 0xfd, + 0x88, 0x07, 0x0d, 0xed, 0xb6, 0x50, 0x52, 0x1a, 0x38, 0x31, 0x55, 0xe2, + 0x37, 0x75, 0x18, 0xe5, 0xf0, 0x9d, 0x97, 0x05, 0x60, 0x4d, 0x64, 0x07, +}; +static const unsigned char kat4236_entropyinpr1[] = { + 0x15, 0x9a, 0x81, 0x7c, 0xa5, 0x2b, 0xd8, 0x67, 0x2b, 0x4f, 0x76, 0x76, + 0xa6, 0xd9, 0x4a, 0x6d, 0x36, 0xa0, 0x88, 0x65, 0x72, 0x56, 0xfd, 0x8e, + 0x9a, 0x77, 0x05, 0x3d, 0x65, 0xf3, 0xe0, 0x4f, 0x9a, 0xab, 0xd2, 0x8e, + 0x80, 0x87, 0xf6, 0x1c, 0x82, 0x77, 0x98, 0xbf, 0x4a, 0x78, 0xb0, 0x52, +}; +static const unsigned char kat4236_addinpr1[] = {0}; +static const unsigned char kat4236_entropyinpr2[] = { + 0x6d, 0xfb, 0xdc, 0x58, 0x07, 0x77, 0x97, 0xce, 0x8e, 0x2c, 0xe7, 0xda, + 0x56, 0xc0, 0x79, 0xe2, 0x63, 0xac, 0x83, 0xe2, 0x54, 0x98, 0x66, 0xb7, + 0x12, 0xc8, 0x28, 0x8c, 0xff, 0x81, 0x65, 0x1e, 0xfc, 0xa5, 0x43, 0xc9, + 0x2c, 0x34, 0x76, 0x34, 0xb1, 0xd7, 0x6d, 0x52, 0x31, 0xeb, 0xe4, 0xd3, +}; +static const unsigned char kat4236_addinpr2[] = {0}; +static const unsigned char kat4236_retbits[] = { + 0x43, 0xd6, 0x74, 0x2d, 0x0d, 0x87, 0xa8, 0xa3, 0x56, 0xc7, 0x5b, 0xa1, + 0xa0, 0x1c, 0xed, 0xc7, 0xae, 0x60, 0x9a, 0xe6, 0x2b, 0x19, 0x49, 0x67, + 0xbf, 0x16, 0xb8, 0x00, 0xfb, 0x66, 0x1e, 0x53, 0x9d, 0xfb, 0x99, 0x46, + 0x7b, 0x3e, 0xd6, 0x4d, 0x0e, 0xdc, 0x1c, 0xe8, 0x5c, 0xd0, 0x74, 0x8e, + 0x91, 0x53, 0x99, 0xd8, 0x22, 0xcb, 0x96, 0xed, 0x09, 0xe6, 0xb0, 0x41, + 0xb4, 0x57, 0x88, 0xce, +}; +static const struct drbg_kat_pr_true kat4236_t = { + 5, kat4236_entropyin, kat4236_nonce, kat4236_persstr, + kat4236_entropyinpr1, kat4236_addinpr1, kat4236_entropyinpr2, + kat4236_addinpr2, kat4236_retbits +}; +static const struct drbg_kat kat4236 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4236_t +}; + +static const unsigned char kat4237_entropyin[] = { + 0xe4, 0xa3, 0xf1, 0x83, 0xce, 0xda, 0x04, 0xe8, 0xb4, 0xfd, 0x0d, 0xd0, + 0x63, 0x98, 0xc3, 0x92, 0x7c, 0xa9, 0x50, 0x15, 0x26, 0x04, 0x4c, 0x6f, + 0xb5, 0x2e, 0x73, 0x06, 0x43, 0xd0, 0x6d, 0xd0, 0x60, 0x59, 0x53, 0xc5, + 0xa0, 0x49, 0x5a, 0xd2, 0x29, 0x2d, 0xdf, 0x6e, 0x1a, 0x36, 0x49, 0xb0, +}; +static const unsigned char kat4237_nonce[] = {0}; +static const unsigned char kat4237_persstr[] = { + 0xb6, 0x4c, 0x4a, 0x06, 0xea, 0x5b, 0xfe, 0x33, 0x42, 0x29, 0xd7, 0x98, + 0x91, 0x28, 0x42, 0x61, 0xfe, 0xa8, 0x05, 0x66, 0x1b, 0xef, 0x91, 0x32, + 0x44, 0x9a, 0x08, 0xc9, 0xd8, 0x48, 0x09, 0x12, 0x21, 0x75, 0x3c, 0x05, + 0x6e, 0x86, 0x24, 0x8c, 0x0f, 0xce, 0x18, 0x3a, 0x5b, 0x71, 0xf8, 0x1a, +}; +static const unsigned char kat4237_entropyinpr1[] = { + 0x72, 0xdd, 0x27, 0xb9, 0xdc, 0xf3, 0xdc, 0x6c, 0x18, 0xc6, 0xb2, 0x88, + 0xd8, 0x78, 0x8f, 0xb8, 0x7a, 0xae, 0x0b, 0x49, 0x71, 0xed, 0x78, 0xa5, + 0x2e, 0xe3, 0x49, 0x83, 0xfa, 0x29, 0x6a, 0xaa, 0x67, 0xe1, 0x9e, 0x3b, + 0xf4, 0x57, 0x22, 0xea, 0xf7, 0xdf, 0x17, 0xa7, 0x6f, 0x8c, 0x5d, 0x61, +}; +static const unsigned char kat4237_addinpr1[] = {0}; +static const unsigned char kat4237_entropyinpr2[] = { + 0x20, 0x16, 0x9d, 0x7c, 0xa0, 0xc6, 0x02, 0xa4, 0x32, 0xfe, 0xcd, 0x65, + 0xe3, 0x67, 0xa7, 0x40, 0xe0, 0xa5, 0x4c, 0x9e, 0x91, 0x91, 0x10, 0x77, + 0x6d, 0xc8, 0x8e, 0x18, 0xdf, 0x5c, 0x87, 0x10, 0x73, 0xf1, 0xe2, 0x4f, + 0x10, 0xb9, 0xa8, 0x5b, 0x6d, 0x56, 0x02, 0x3a, 0xcd, 0x7b, 0x6a, 0x48, +}; +static const unsigned char kat4237_addinpr2[] = {0}; +static const unsigned char kat4237_retbits[] = { + 0xb2, 0xfe, 0xa7, 0x4f, 0x85, 0x72, 0x1e, 0x90, 0xac, 0x7e, 0x50, 0x49, + 0x9e, 0x5c, 0xea, 0xbb, 0x25, 0x25, 0xff, 0x82, 0xfe, 0xeb, 0xd4, 0xc7, + 0xa8, 0xe6, 0x57, 0x44, 0x7d, 0x31, 0x81, 0x24, 0x17, 0x7d, 0xa6, 0xfd, + 0x22, 0x03, 0x78, 0xde, 0xcd, 0xc5, 0x10, 0x90, 0x7b, 0x32, 0xbc, 0xd9, + 0x8b, 0x67, 0xd4, 0xf6, 0x0a, 0xe7, 0xa8, 0xb2, 0x95, 0x85, 0xe3, 0x94, + 0xc6, 0x1c, 0xbd, 0x9b, +}; +static const struct drbg_kat_pr_true kat4237_t = { + 6, kat4237_entropyin, kat4237_nonce, kat4237_persstr, + kat4237_entropyinpr1, kat4237_addinpr1, kat4237_entropyinpr2, + kat4237_addinpr2, kat4237_retbits +}; +static const struct drbg_kat kat4237 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4237_t +}; + +static const unsigned char kat4238_entropyin[] = { + 0x33, 0xe3, 0x7d, 0x78, 0x30, 0xdb, 0xbc, 0x42, 0x2d, 0x5a, 0xdc, 0x8f, + 0x22, 0xac, 0xf4, 0x20, 0xc6, 0x45, 0xd2, 0x9e, 0xde, 0x81, 0xe1, 0xbc, + 0x0d, 0xc3, 0x17, 0xf9, 0xc3, 0xbc, 0x85, 0xc4, 0xe4, 0x9f, 0xec, 0x7a, + 0xb1, 0x28, 0x59, 0x20, 0xe4, 0x00, 0x5d, 0x8a, 0x11, 0x98, 0xb8, 0x5d, +}; +static const unsigned char kat4238_nonce[] = {0}; +static const unsigned char kat4238_persstr[] = { + 0x4e, 0xd9, 0x8a, 0xa5, 0x24, 0xd9, 0xf7, 0xe0, 0x3e, 0xc0, 0xeb, 0xc1, + 0x49, 0x1c, 0xad, 0x20, 0xce, 0x28, 0x3c, 0xd0, 0x0f, 0x41, 0x88, 0x91, + 0x0a, 0x09, 0x1d, 0x70, 0x1b, 0x24, 0x4c, 0xf5, 0x2e, 0x1d, 0x6d, 0x15, + 0xc9, 0x8f, 0xb8, 0x08, 0x93, 0x97, 0xa1, 0x6e, 0x0a, 0xea, 0xed, 0xf3, +}; +static const unsigned char kat4238_entropyinpr1[] = { + 0x9b, 0x0d, 0x1c, 0xa6, 0xe2, 0xbb, 0x51, 0xfa, 0x6d, 0x7f, 0xc5, 0xc4, + 0xc6, 0x45, 0x6f, 0xe9, 0x95, 0xda, 0x40, 0x0e, 0xc9, 0xb2, 0xbf, 0x7e, + 0x65, 0x6d, 0x77, 0xe1, 0xf9, 0x72, 0x06, 0x47, 0x82, 0x4a, 0x76, 0x9e, + 0xc9, 0xa2, 0xd8, 0xfa, 0x57, 0x84, 0x12, 0xc8, 0xe8, 0xeb, 0x55, 0x83, +}; +static const unsigned char kat4238_addinpr1[] = {0}; +static const unsigned char kat4238_entropyinpr2[] = { + 0x34, 0x19, 0x78, 0xb5, 0x53, 0xfa, 0x9b, 0xcd, 0x09, 0x4a, 0x87, 0x8c, + 0x2b, 0xdc, 0x64, 0x69, 0xfe, 0x30, 0x5b, 0x08, 0xa7, 0x38, 0xbc, 0x3e, + 0x00, 0xc6, 0x43, 0x9d, 0x78, 0x3e, 0x42, 0x0e, 0xd9, 0x8b, 0xf5, 0xf2, + 0xe9, 0xca, 0xeb, 0x49, 0x4a, 0x4e, 0x6e, 0x05, 0x8f, 0x4e, 0xf7, 0x93, +}; +static const unsigned char kat4238_addinpr2[] = {0}; +static const unsigned char kat4238_retbits[] = { + 0xee, 0x82, 0x33, 0xf7, 0xe5, 0xbd, 0x96, 0x66, 0x65, 0xc6, 0xcb, 0xa0, + 0x96, 0xd5, 0xac, 0x88, 0x91, 0xf7, 0xf7, 0x17, 0xe7, 0xcf, 0xba, 0x48, + 0xb4, 0x94, 0x3b, 0x2c, 0xa4, 0xd5, 0x69, 0xa2, 0x95, 0x05, 0x8c, 0x94, + 0x5b, 0xec, 0x3e, 0xe6, 0xac, 0x8a, 0xdd, 0x83, 0xd1, 0xc0, 0x1f, 0x0f, + 0x63, 0xfd, 0x92, 0xb8, 0xf8, 0x6c, 0x4c, 0x0a, 0xde, 0x92, 0x73, 0xd6, + 0xd9, 0x1b, 0x7b, 0xdc, +}; +static const struct drbg_kat_pr_true kat4238_t = { + 7, kat4238_entropyin, kat4238_nonce, kat4238_persstr, + kat4238_entropyinpr1, kat4238_addinpr1, kat4238_entropyinpr2, + kat4238_addinpr2, kat4238_retbits +}; +static const struct drbg_kat kat4238 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4238_t +}; + +static const unsigned char kat4239_entropyin[] = { + 0x9b, 0x4d, 0x85, 0xbc, 0x90, 0xb2, 0xdb, 0xec, 0x32, 0x89, 0xb2, 0x6c, + 0x88, 0x4e, 0x9f, 0x62, 0xd1, 0x54, 0xf8, 0xfb, 0x3a, 0x14, 0x8e, 0x3a, + 0xa2, 0xba, 0x78, 0x83, 0xe3, 0x98, 0xd2, 0xb9, 0xb3, 0x34, 0xc6, 0x91, + 0xdf, 0xf8, 0x3c, 0xaa, 0x1d, 0x1c, 0xa1, 0x83, 0xa0, 0xda, 0x5b, 0x55, +}; +static const unsigned char kat4239_nonce[] = {0}; +static const unsigned char kat4239_persstr[] = { + 0x1e, 0x06, 0x5e, 0x67, 0x9d, 0x0b, 0xf9, 0x65, 0x34, 0x86, 0xaf, 0xbf, + 0x6b, 0xe2, 0x05, 0x67, 0xaf, 0xfd, 0xf0, 0xb7, 0xc2, 0xdb, 0xb8, 0x8e, + 0x38, 0x57, 0xa2, 0x7d, 0x82, 0x53, 0xca, 0x81, 0xd5, 0x16, 0x0d, 0x0a, + 0xaf, 0x26, 0x1d, 0x5c, 0xfd, 0x20, 0x3b, 0x07, 0xf8, 0x0f, 0x7f, 0x29, +}; +static const unsigned char kat4239_entropyinpr1[] = { + 0xd3, 0x74, 0x34, 0xfe, 0x63, 0x47, 0x9b, 0xe3, 0x11, 0x9a, 0x66, 0xb8, + 0x92, 0x71, 0x91, 0x29, 0x68, 0x6f, 0xdb, 0x95, 0x5d, 0xe3, 0xf4, 0x57, + 0x6e, 0x77, 0xef, 0x18, 0xed, 0xde, 0x48, 0xa4, 0x88, 0x22, 0xb5, 0x7b, + 0xd9, 0x31, 0x33, 0x4f, 0x16, 0x18, 0x3a, 0xdf, 0x99, 0xb0, 0x98, 0xf7, +}; +static const unsigned char kat4239_addinpr1[] = {0}; +static const unsigned char kat4239_entropyinpr2[] = { + 0x2e, 0x6c, 0x97, 0x77, 0x19, 0x4a, 0x08, 0x22, 0x24, 0x9b, 0x39, 0xa4, + 0x3e, 0x5b, 0x9b, 0x9f, 0x11, 0x2a, 0x2d, 0xe3, 0x4d, 0x82, 0x11, 0xfe, + 0x71, 0x2b, 0xb5, 0xfb, 0x36, 0x36, 0xbc, 0xf9, 0x54, 0xe9, 0xa9, 0x6e, + 0xf5, 0x0f, 0x47, 0x76, 0x1b, 0x85, 0x12, 0xdb, 0x23, 0x47, 0x87, 0xbd, +}; +static const unsigned char kat4239_addinpr2[] = {0}; +static const unsigned char kat4239_retbits[] = { + 0x35, 0xa2, 0x35, 0xc6, 0xa3, 0x73, 0xe6, 0x06, 0x74, 0x79, 0x38, 0xc2, + 0x9b, 0x49, 0x1a, 0xaa, 0xab, 0xaf, 0x9b, 0xcb, 0x32, 0xfc, 0x3d, 0x8f, + 0x32, 0x7a, 0x7c, 0x54, 0xa1, 0xd0, 0x45, 0x36, 0x0b, 0x5b, 0x2d, 0x80, + 0x31, 0x1e, 0x50, 0x31, 0x91, 0xda, 0x52, 0x1f, 0x7f, 0x77, 0x44, 0x86, + 0xdc, 0x52, 0x16, 0x24, 0x2f, 0xc1, 0x68, 0x46, 0x84, 0x45, 0xc8, 0x2a, + 0x4b, 0x97, 0xd1, 0x58, +}; +static const struct drbg_kat_pr_true kat4239_t = { + 8, kat4239_entropyin, kat4239_nonce, kat4239_persstr, + kat4239_entropyinpr1, kat4239_addinpr1, kat4239_entropyinpr2, + kat4239_addinpr2, kat4239_retbits +}; +static const struct drbg_kat kat4239 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4239_t +}; + +static const unsigned char kat4240_entropyin[] = { + 0xa7, 0xf9, 0xe0, 0x49, 0x63, 0x31, 0x22, 0x2c, 0x7d, 0xfe, 0xed, 0x3d, + 0x29, 0xf3, 0x4e, 0xbb, 0x0f, 0x5e, 0x98, 0xb2, 0x0b, 0xa7, 0xa5, 0x6b, + 0x3f, 0xc6, 0x7d, 0x56, 0x52, 0x5f, 0x92, 0x13, 0xc7, 0xac, 0x91, 0x0c, + 0x83, 0xfd, 0xe8, 0x31, 0xed, 0x05, 0x9d, 0xe8, 0x2d, 0xa6, 0x16, 0x36, +}; +static const unsigned char kat4240_nonce[] = {0}; +static const unsigned char kat4240_persstr[] = { + 0xce, 0x40, 0x11, 0x47, 0x53, 0x08, 0x89, 0x65, 0xa9, 0x1b, 0x59, 0x45, + 0x8f, 0xfb, 0xab, 0x03, 0xdf, 0x50, 0xd3, 0xae, 0x72, 0x4f, 0x7c, 0x01, + 0x59, 0x18, 0x87, 0x64, 0x18, 0xc3, 0xad, 0xee, 0xdf, 0x4b, 0x28, 0xc5, + 0x3e, 0x3a, 0x4b, 0xfd, 0xaf, 0xbf, 0xaf, 0xda, 0xa7, 0x6b, 0xbe, 0xde, +}; +static const unsigned char kat4240_entropyinpr1[] = { + 0x10, 0x48, 0x2d, 0x23, 0x85, 0x97, 0xaf, 0x71, 0x31, 0x33, 0xe7, 0xe8, + 0x0b, 0xea, 0x0d, 0xf2, 0xe7, 0x5a, 0x95, 0x82, 0xd0, 0xe9, 0x4d, 0x09, + 0x41, 0x4d, 0x20, 0xf4, 0x55, 0xd4, 0x3d, 0xef, 0x9b, 0xf5, 0xa2, 0xd1, + 0xcd, 0xcf, 0xc1, 0xd2, 0x56, 0x5e, 0xba, 0xf7, 0xaf, 0xfd, 0xdc, 0x98, +}; +static const unsigned char kat4240_addinpr1[] = {0}; +static const unsigned char kat4240_entropyinpr2[] = { + 0x53, 0x52, 0xfa, 0xe3, 0xef, 0x83, 0x79, 0xe5, 0x66, 0x73, 0xdc, 0xef, + 0xb2, 0x22, 0x34, 0x6d, 0xbd, 0xaf, 0x0c, 0x85, 0x11, 0x75, 0x64, 0xd1, + 0x62, 0x1e, 0xbd, 0x9b, 0x1e, 0x87, 0xa1, 0x0e, 0x7c, 0xc7, 0x32, 0xe7, + 0x47, 0x5d, 0x18, 0x42, 0xca, 0x9b, 0x4b, 0x5a, 0x3c, 0xf1, 0xbc, 0x66, +}; +static const unsigned char kat4240_addinpr2[] = {0}; +static const unsigned char kat4240_retbits[] = { + 0x82, 0xc8, 0xc1, 0xcb, 0x19, 0xe9, 0x2d, 0x9d, 0x62, 0xd6, 0xa9, 0xab, + 0x91, 0x00, 0x34, 0x59, 0xe3, 0x09, 0xa2, 0x64, 0xe6, 0x71, 0x8a, 0x4e, + 0xc0, 0x5e, 0xbb, 0xe9, 0xf2, 0x1c, 0xad, 0x01, 0xca, 0x99, 0xd1, 0xc9, + 0xb1, 0xa3, 0x5e, 0x9d, 0x38, 0x5e, 0x03, 0xfb, 0xa5, 0x96, 0x22, 0x43, + 0x73, 0x68, 0xb7, 0x48, 0xea, 0x62, 0x91, 0x49, 0xd5, 0x0f, 0x9c, 0x6f, + 0x48, 0x19, 0x40, 0xfb, +}; +static const struct drbg_kat_pr_true kat4240_t = { + 9, kat4240_entropyin, kat4240_nonce, kat4240_persstr, + kat4240_entropyinpr1, kat4240_addinpr1, kat4240_entropyinpr2, + kat4240_addinpr2, kat4240_retbits +}; +static const struct drbg_kat kat4240 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4240_t +}; + +static const unsigned char kat4241_entropyin[] = { + 0x21, 0xf1, 0xb6, 0x92, 0xb8, 0x83, 0x20, 0xc1, 0x16, 0xaf, 0xe5, 0x82, + 0x60, 0x37, 0x36, 0xd4, 0xcb, 0xf9, 0x05, 0xfd, 0xc4, 0x38, 0xd2, 0xba, + 0x92, 0x86, 0xfa, 0x7a, 0x8f, 0x27, 0x4e, 0x52, 0xba, 0x7c, 0x49, 0x5a, + 0x4f, 0xcb, 0x35, 0x86, 0x78, 0xd9, 0x04, 0x2d, 0xd7, 0x76, 0xb0, 0x29, +}; +static const unsigned char kat4241_nonce[] = {0}; +static const unsigned char kat4241_persstr[] = { + 0xec, 0x29, 0xd7, 0x72, 0x91, 0x69, 0x5f, 0x9a, 0x52, 0x99, 0x0b, 0x7c, + 0x54, 0x44, 0xa7, 0x3f, 0x50, 0xfb, 0x8e, 0x3b, 0x2c, 0xfc, 0x19, 0xb0, + 0x4e, 0xa2, 0xb0, 0xeb, 0x18, 0xca, 0xa2, 0x88, 0x22, 0xc9, 0x0c, 0x7f, + 0x8d, 0x89, 0xb0, 0xec, 0x11, 0x47, 0x46, 0xa6, 0x5c, 0xc1, 0xa9, 0xd7, +}; +static const unsigned char kat4241_entropyinpr1[] = { + 0x3e, 0xfc, 0x69, 0x84, 0xb4, 0xfd, 0xf7, 0x0c, 0x7a, 0xfa, 0x67, 0x30, + 0xdd, 0xe7, 0x38, 0x61, 0x06, 0xc7, 0xa6, 0xcf, 0xba, 0x3f, 0x90, 0x87, + 0xbf, 0xb3, 0x0e, 0x7d, 0x34, 0x0a, 0xf8, 0x03, 0xfc, 0x33, 0x13, 0x1a, + 0x82, 0x57, 0x73, 0x08, 0xb3, 0xa5, 0x74, 0x6b, 0x25, 0xb4, 0x46, 0x19, +}; +static const unsigned char kat4241_addinpr1[] = {0}; +static const unsigned char kat4241_entropyinpr2[] = { + 0x35, 0x7e, 0xf0, 0xf1, 0x12, 0xe2, 0xdf, 0x85, 0xca, 0x17, 0xd9, 0x21, + 0x1e, 0xc0, 0xf5, 0xc8, 0xc3, 0xda, 0xa8, 0xe4, 0x22, 0x46, 0xa3, 0xc7, + 0xc8, 0x23, 0x93, 0x4d, 0x76, 0xc1, 0xfa, 0x88, 0xcd, 0x55, 0x6c, 0x1b, + 0x70, 0xe6, 0xf3, 0x2c, 0xe8, 0x6b, 0xe8, 0x9e, 0xa5, 0x8e, 0x36, 0xce, +}; +static const unsigned char kat4241_addinpr2[] = {0}; +static const unsigned char kat4241_retbits[] = { + 0x4c, 0xf1, 0x66, 0x47, 0x3f, 0xb9, 0x75, 0xab, 0xec, 0xb6, 0x0f, 0xb4, + 0x94, 0xa5, 0xfa, 0x5b, 0xef, 0xcd, 0x48, 0xc6, 0x56, 0x22, 0xdb, 0xf0, + 0x62, 0x83, 0x3c, 0x25, 0x04, 0x47, 0x6b, 0x8e, 0x6a, 0x50, 0xb2, 0x66, + 0x5b, 0x6c, 0x0a, 0xa5, 0xc5, 0x2f, 0x55, 0x4a, 0x8a, 0x4f, 0x3f, 0x5e, + 0x4e, 0x52, 0x67, 0x17, 0x91, 0x72, 0x82, 0xf3, 0x89, 0x62, 0xd7, 0xdd, + 0x40, 0x12, 0x06, 0x64, +}; +static const struct drbg_kat_pr_true kat4241_t = { + 10, kat4241_entropyin, kat4241_nonce, kat4241_persstr, + kat4241_entropyinpr1, kat4241_addinpr1, kat4241_entropyinpr2, + kat4241_addinpr2, kat4241_retbits +}; +static const struct drbg_kat kat4241 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4241_t +}; + +static const unsigned char kat4242_entropyin[] = { + 0x82, 0xde, 0xc2, 0x56, 0x9f, 0x6c, 0x43, 0x08, 0x5f, 0xc6, 0xec, 0xb6, + 0x96, 0x7c, 0xfe, 0x49, 0x7c, 0x89, 0xfd, 0x00, 0x41, 0xc3, 0x87, 0xc6, + 0x82, 0xb9, 0x83, 0x28, 0x00, 0x32, 0xf3, 0xe5, 0x61, 0xe4, 0x3f, 0x70, + 0x98, 0x77, 0x1b, 0xcd, 0x3c, 0x59, 0x8e, 0xf9, 0xb7, 0x23, 0xd7, 0xf2, +}; +static const unsigned char kat4242_nonce[] = {0}; +static const unsigned char kat4242_persstr[] = { + 0xb0, 0x97, 0x18, 0x4d, 0x44, 0x6f, 0x80, 0xdb, 0xdd, 0x33, 0x35, 0x37, + 0x8b, 0x3f, 0xb0, 0xa5, 0x5d, 0xc8, 0xda, 0x9b, 0x79, 0xe0, 0x2d, 0xfe, + 0x46, 0x43, 0xc5, 0x36, 0x92, 0x10, 0x90, 0x80, 0x33, 0x18, 0x31, 0xf4, + 0x03, 0xb5, 0xc0, 0x8e, 0x0c, 0x55, 0xe1, 0xcd, 0x19, 0x88, 0x35, 0x26, +}; +static const unsigned char kat4242_entropyinpr1[] = { + 0xcf, 0xcd, 0xdb, 0x27, 0x4f, 0x2e, 0x46, 0x93, 0xd4, 0x69, 0x4a, 0x24, + 0x11, 0x4a, 0x74, 0x31, 0xbe, 0xe6, 0x96, 0xf9, 0x45, 0x1b, 0x68, 0x5a, + 0x60, 0x5a, 0xe6, 0xcf, 0x0d, 0xa6, 0x95, 0xb0, 0xda, 0x17, 0x1d, 0x70, + 0x4f, 0xde, 0x77, 0x64, 0x4a, 0x22, 0x77, 0xca, 0x93, 0x50, 0xf8, 0xd5, +}; +static const unsigned char kat4242_addinpr1[] = {0}; +static const unsigned char kat4242_entropyinpr2[] = { + 0x42, 0x54, 0x4c, 0xe3, 0x19, 0x93, 0x30, 0xf0, 0x6c, 0x2f, 0xc7, 0xda, + 0x7a, 0xac, 0xdb, 0x57, 0xa1, 0x65, 0x14, 0x51, 0x70, 0x9f, 0x5d, 0xa0, + 0x39, 0x85, 0x22, 0xc2, 0xe6, 0x20, 0x1c, 0xa5, 0xd6, 0x3b, 0xdb, 0x18, + 0xde, 0x59, 0xb4, 0x47, 0x73, 0xa1, 0xd9, 0x24, 0xae, 0x46, 0x72, 0x55, +}; +static const unsigned char kat4242_addinpr2[] = {0}; +static const unsigned char kat4242_retbits[] = { + 0x3f, 0x02, 0x9e, 0x22, 0xb1, 0xa3, 0x53, 0x80, 0x46, 0x11, 0xf5, 0xa0, + 0xf7, 0x06, 0xf4, 0x10, 0xd9, 0x3d, 0x78, 0x58, 0x8f, 0xa5, 0x3a, 0x6a, + 0x29, 0xfd, 0xb8, 0xcd, 0xc8, 0x47, 0x95, 0xba, 0xf4, 0xde, 0xa7, 0x1d, + 0xea, 0x19, 0x6d, 0xb4, 0xb9, 0xbc, 0x47, 0x25, 0x7b, 0x59, 0xca, 0x95, + 0x4a, 0x6d, 0xe2, 0x30, 0xe8, 0xdf, 0xd1, 0x8b, 0x47, 0x91, 0xb3, 0xfd, + 0xa5, 0xb9, 0xa5, 0xdc, +}; +static const struct drbg_kat_pr_true kat4242_t = { + 11, kat4242_entropyin, kat4242_nonce, kat4242_persstr, + kat4242_entropyinpr1, kat4242_addinpr1, kat4242_entropyinpr2, + kat4242_addinpr2, kat4242_retbits +}; +static const struct drbg_kat kat4242 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4242_t +}; + +static const unsigned char kat4243_entropyin[] = { + 0x5b, 0xf2, 0x33, 0x2a, 0x91, 0xd8, 0xd8, 0x7f, 0x35, 0x34, 0x33, 0x0f, + 0x46, 0x61, 0x04, 0xd8, 0xf4, 0x9f, 0xb2, 0x70, 0x47, 0x35, 0x41, 0x30, + 0x63, 0x7f, 0x20, 0x42, 0x58, 0x4a, 0x38, 0x9e, 0xcb, 0x4c, 0xcf, 0x3f, + 0xd9, 0x54, 0x5f, 0x11, 0x23, 0xab, 0x6a, 0xa9, 0xab, 0xe2, 0x1e, 0x22, +}; +static const unsigned char kat4243_nonce[] = {0}; +static const unsigned char kat4243_persstr[] = { + 0xcc, 0x3c, 0xad, 0xe1, 0xf3, 0x97, 0x9e, 0x5c, 0x6b, 0x4c, 0x92, 0x03, + 0x0c, 0x7c, 0x21, 0x6c, 0x91, 0xd9, 0xc1, 0x1d, 0x95, 0x8b, 0x4c, 0xc9, + 0x4a, 0x63, 0xcc, 0xb6, 0x97, 0xa3, 0x87, 0x31, 0x21, 0xcb, 0x4c, 0x2d, + 0xc8, 0xd8, 0xc8, 0x45, 0xaa, 0x94, 0xa0, 0x3f, 0x50, 0x4c, 0x19, 0x83, +}; +static const unsigned char kat4243_entropyinpr1[] = { + 0x28, 0x78, 0xe8, 0x24, 0xd4, 0x73, 0x14, 0x00, 0x67, 0x43, 0x61, 0xa4, + 0xac, 0x3a, 0x46, 0xab, 0x68, 0xae, 0x35, 0xd2, 0xa9, 0x33, 0x6a, 0xf8, + 0x3f, 0x8e, 0x4c, 0xb1, 0xd0, 0xf0, 0xb7, 0x9a, 0x38, 0x29, 0xf4, 0x4c, + 0x20, 0x72, 0xe5, 0x33, 0x6a, 0x86, 0x2d, 0xa8, 0x10, 0x9c, 0x57, 0x99, +}; +static const unsigned char kat4243_addinpr1[] = {0}; +static const unsigned char kat4243_entropyinpr2[] = { + 0x06, 0x17, 0xb1, 0x5f, 0x8d, 0x04, 0x5f, 0x48, 0xc4, 0x47, 0x0d, 0x84, + 0x74, 0x90, 0xd1, 0x8f, 0x36, 0x85, 0xaf, 0x6b, 0x1f, 0xb5, 0xea, 0x55, + 0x1b, 0x31, 0x8b, 0x8b, 0x98, 0xfa, 0x80, 0x3c, 0x05, 0x00, 0xec, 0x74, + 0x93, 0xe3, 0xae, 0x0a, 0x7c, 0xb9, 0x81, 0xd1, 0x2e, 0xd0, 0x1c, 0x98, +}; +static const unsigned char kat4243_addinpr2[] = {0}; +static const unsigned char kat4243_retbits[] = { + 0x33, 0x85, 0xa9, 0x12, 0x69, 0x55, 0x13, 0x5b, 0x44, 0xc6, 0x71, 0x96, + 0xc0, 0x14, 0xb2, 0xc9, 0x49, 0x18, 0x65, 0x71, 0x36, 0xba, 0x23, 0x86, + 0x51, 0xb5, 0x1f, 0x20, 0xf1, 0x11, 0xf5, 0x0f, 0x78, 0xc7, 0xc9, 0x81, + 0xe9, 0x27, 0x0b, 0xf0, 0x40, 0x42, 0x02, 0x82, 0x95, 0x43, 0xf3, 0x79, + 0x21, 0x1d, 0x14, 0xa1, 0x46, 0x6c, 0xa4, 0x23, 0xef, 0x9c, 0x1f, 0x7a, + 0x79, 0x94, 0x33, 0x84, +}; +static const struct drbg_kat_pr_true kat4243_t = { + 12, kat4243_entropyin, kat4243_nonce, kat4243_persstr, + kat4243_entropyinpr1, kat4243_addinpr1, kat4243_entropyinpr2, + kat4243_addinpr2, kat4243_retbits +}; +static const struct drbg_kat kat4243 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4243_t +}; + +static const unsigned char kat4244_entropyin[] = { + 0xac, 0x84, 0xb5, 0xef, 0xb9, 0x15, 0x76, 0x99, 0x3f, 0xf0, 0xb9, 0x07, + 0x34, 0x81, 0x2a, 0x1a, 0xf5, 0x2b, 0x64, 0x1d, 0x55, 0xb9, 0x3c, 0x57, + 0x78, 0xc9, 0xc2, 0xaf, 0x16, 0x40, 0x35, 0x90, 0x74, 0xf0, 0x93, 0x91, + 0xff, 0xfd, 0xe1, 0x78, 0xbd, 0x86, 0xe3, 0xa9, 0xf5, 0x91, 0x74, 0x11, +}; +static const unsigned char kat4244_nonce[] = {0}; +static const unsigned char kat4244_persstr[] = { + 0x35, 0x7d, 0x8f, 0xaa, 0x62, 0xa3, 0xf1, 0x7e, 0x2f, 0xe7, 0xae, 0x2c, + 0x68, 0x32, 0xb7, 0xbd, 0x10, 0x21, 0x8f, 0x54, 0xaf, 0xc1, 0x0f, 0x9b, + 0x80, 0x7a, 0x3c, 0x06, 0x3d, 0x78, 0xa2, 0x9d, 0x39, 0xd0, 0xf3, 0x3f, + 0x22, 0x26, 0x34, 0x18, 0xe3, 0x19, 0xba, 0xdb, 0xd8, 0x6f, 0x72, 0x2c, +}; +static const unsigned char kat4244_entropyinpr1[] = { + 0x46, 0xcb, 0x61, 0x8d, 0x2a, 0x74, 0xef, 0xdc, 0x96, 0xc3, 0xae, 0xc3, + 0x63, 0x2b, 0x1c, 0xe3, 0x4a, 0x95, 0xf4, 0x63, 0x76, 0x2e, 0xfe, 0x69, + 0xff, 0xda, 0xc2, 0xc7, 0x98, 0x9c, 0x97, 0x78, 0xce, 0x01, 0x39, 0x73, + 0x18, 0x19, 0x77, 0x64, 0xc3, 0x64, 0x27, 0xce, 0x4c, 0x2f, 0x32, 0x14, +}; +static const unsigned char kat4244_addinpr1[] = {0}; +static const unsigned char kat4244_entropyinpr2[] = { + 0xa2, 0xc4, 0x9a, 0x27, 0x0f, 0xe0, 0x9f, 0x23, 0x63, 0x53, 0x0b, 0x8c, + 0xbd, 0x56, 0xb5, 0x81, 0x07, 0xda, 0xed, 0xb7, 0xe0, 0x79, 0x29, 0xc5, + 0xcb, 0x83, 0xf9, 0x2d, 0x5c, 0x8d, 0x3f, 0xff, 0xbf, 0xdf, 0x2e, 0xf8, + 0x81, 0x97, 0x4d, 0x5a, 0xab, 0x93, 0x8c, 0x92, 0x7f, 0xfa, 0x19, 0x1f, +}; +static const unsigned char kat4244_addinpr2[] = {0}; +static const unsigned char kat4244_retbits[] = { + 0x75, 0x9b, 0x3d, 0x8d, 0x09, 0x36, 0x57, 0x4d, 0x5a, 0x72, 0xcb, 0x39, + 0xfa, 0x55, 0x4c, 0x12, 0xcf, 0xe0, 0x79, 0xc2, 0x40, 0x53, 0x90, 0x2e, + 0xcf, 0x25, 0x49, 0xd3, 0x1f, 0x5f, 0x0b, 0xc1, 0x72, 0x49, 0x78, 0x9b, + 0xc1, 0x2d, 0x06, 0xb8, 0x34, 0x54, 0xfe, 0x30, 0x8d, 0x2c, 0x3b, 0xd9, + 0x5d, 0xda, 0xf6, 0x96, 0x71, 0x3c, 0x24, 0xb9, 0x63, 0xf3, 0xcb, 0x8d, + 0x48, 0x78, 0xc6, 0x5d, +}; +static const struct drbg_kat_pr_true kat4244_t = { + 13, kat4244_entropyin, kat4244_nonce, kat4244_persstr, + kat4244_entropyinpr1, kat4244_addinpr1, kat4244_entropyinpr2, + kat4244_addinpr2, kat4244_retbits +}; +static const struct drbg_kat kat4244 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4244_t +}; + +static const unsigned char kat4245_entropyin[] = { + 0x50, 0xf4, 0x11, 0xd6, 0xb8, 0xa7, 0x37, 0x2e, 0x03, 0x47, 0xba, 0x97, + 0xc7, 0xdc, 0x1f, 0xfe, 0xe0, 0xd1, 0xa6, 0x6c, 0xea, 0x66, 0xcb, 0x15, + 0x82, 0xd5, 0xf9, 0x75, 0x3c, 0x09, 0xe2, 0x5c, 0x00, 0x27, 0x69, 0xa0, + 0xe6, 0x06, 0xcb, 0xda, 0x10, 0xd0, 0x62, 0x3b, 0x92, 0x1a, 0x9e, 0x7d, +}; +static const unsigned char kat4245_nonce[] = {0}; +static const unsigned char kat4245_persstr[] = { + 0x88, 0xe9, 0xcd, 0x41, 0x9d, 0xac, 0x6e, 0xc0, 0xf1, 0xb1, 0xe3, 0x2e, + 0x71, 0x26, 0x7e, 0x37, 0xac, 0x03, 0x8a, 0xdf, 0xbe, 0x18, 0xbc, 0xeb, + 0x50, 0x28, 0x56, 0x44, 0xb2, 0x96, 0x36, 0xad, 0x06, 0xd8, 0x5d, 0x7a, + 0x6f, 0x49, 0x78, 0x15, 0xcc, 0x6b, 0xe4, 0x3b, 0x03, 0x2c, 0x9c, 0x63, +}; +static const unsigned char kat4245_entropyinpr1[] = { + 0x83, 0xac, 0xc7, 0xbc, 0x2f, 0x89, 0xde, 0x95, 0xc8, 0x4a, 0x44, 0x50, + 0xd5, 0x09, 0xe7, 0xde, 0x35, 0x12, 0xad, 0x83, 0x9f, 0x83, 0x2b, 0xa0, + 0xbe, 0x8c, 0x06, 0xf3, 0x6d, 0x71, 0xe7, 0x66, 0xd2, 0x0c, 0xf6, 0x8d, + 0xba, 0xda, 0x3d, 0xba, 0x0b, 0x37, 0x99, 0x9c, 0x10, 0x83, 0xfa, 0xac, +}; +static const unsigned char kat4245_addinpr1[] = {0}; +static const unsigned char kat4245_entropyinpr2[] = { + 0x95, 0xa2, 0x6a, 0x2f, 0x94, 0x6c, 0x03, 0xf5, 0x10, 0x12, 0xbc, 0x6c, + 0xda, 0x07, 0x97, 0xaf, 0x89, 0xa8, 0x50, 0x03, 0x94, 0xcc, 0x7f, 0x11, + 0x86, 0x6a, 0x86, 0x16, 0x08, 0xeb, 0x97, 0xfc, 0xd2, 0xe3, 0x7d, 0xf3, + 0xf6, 0x81, 0xdc, 0x3c, 0x1b, 0x3f, 0x48, 0xbd, 0xea, 0xe1, 0x19, 0xcd, +}; +static const unsigned char kat4245_addinpr2[] = {0}; +static const unsigned char kat4245_retbits[] = { + 0xa7, 0xb6, 0xc0, 0xc8, 0xbe, 0xbd, 0x7e, 0xca, 0x93, 0x57, 0xa2, 0xbe, + 0x02, 0x06, 0x3a, 0x60, 0x3c, 0x10, 0x3d, 0x68, 0xa7, 0x93, 0xe7, 0x92, + 0x49, 0x7e, 0xcf, 0x66, 0x59, 0x28, 0x35, 0xf1, 0xf9, 0x60, 0x7d, 0xae, + 0x7b, 0x98, 0xbe, 0x10, 0x49, 0x51, 0x4e, 0xc5, 0xea, 0x4c, 0xdd, 0x0b, + 0x41, 0xd5, 0xcb, 0xf9, 0x86, 0xa3, 0xa0, 0x43, 0x14, 0x51, 0x5b, 0x34, + 0x1f, 0x09, 0x24, 0xab, +}; +static const struct drbg_kat_pr_true kat4245_t = { + 14, kat4245_entropyin, kat4245_nonce, kat4245_persstr, + kat4245_entropyinpr1, kat4245_addinpr1, kat4245_entropyinpr2, + kat4245_addinpr2, kat4245_retbits +}; +static const struct drbg_kat kat4245 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4245_t +}; + +static const unsigned char kat4246_entropyin[] = { + 0x1a, 0x14, 0x18, 0x04, 0x50, 0x42, 0x2b, 0x6d, 0x0e, 0x93, 0xb8, 0x25, + 0x51, 0x80, 0x82, 0x12, 0xd8, 0x30, 0x8b, 0xc7, 0x54, 0xd4, 0x75, 0x31, + 0x66, 0x42, 0xdf, 0x73, 0xf9, 0xba, 0x40, 0xae, 0x66, 0x6e, 0x1f, 0x60, + 0xf1, 0x3a, 0xbe, 0x7c, 0xab, 0xd7, 0x07, 0x43, 0xd8, 0x92, 0xbd, 0x1d, +}; +static const unsigned char kat4246_nonce[] = {0}; +static const unsigned char kat4246_persstr[] = { + 0x91, 0xb7, 0x7d, 0x48, 0x92, 0xee, 0xac, 0xf6, 0xe2, 0xe8, 0xb0, 0x0a, + 0xec, 0xd4, 0xa3, 0xdb, 0x71, 0x83, 0x1d, 0x07, 0xec, 0xb4, 0x6f, 0x91, + 0x2d, 0xc8, 0x55, 0x00, 0x8b, 0x79, 0xd9, 0xaa, 0x33, 0x12, 0x9b, 0xaa, + 0xb9, 0x0a, 0xb1, 0x4a, 0x67, 0x83, 0x71, 0x0b, 0xc7, 0xa0, 0x22, 0x2a, +}; +static const unsigned char kat4246_entropyinpr1[] = { + 0x2e, 0xb5, 0xcd, 0x19, 0x6c, 0xe8, 0xa5, 0xf9, 0xde, 0x59, 0x5c, 0x17, + 0xbd, 0x2b, 0x13, 0xfc, 0x30, 0xd6, 0xa6, 0x8d, 0x5e, 0x61, 0xd4, 0xac, + 0x06, 0x61, 0x28, 0xa7, 0xec, 0x55, 0x7c, 0xab, 0x05, 0x9a, 0x65, 0x18, + 0x5d, 0x13, 0xb8, 0xd1, 0x60, 0x60, 0x1a, 0xe8, 0xcc, 0x8e, 0x9d, 0x0e, +}; +static const unsigned char kat4246_addinpr1[] = { + 0x04, 0x23, 0xf8, 0x6e, 0xeb, 0x37, 0xdf, 0xa5, 0x50, 0x46, 0x6a, 0x21, + 0x45, 0xfe, 0x39, 0xfc, 0x65, 0xfa, 0xb8, 0x2c, 0xd7, 0x96, 0x1d, 0x73, + 0xc9, 0x99, 0xa4, 0xa2, 0x03, 0x9b, 0x1e, 0x51, 0x21, 0x6a, 0xf4, 0xb2, + 0x6d, 0x28, 0xa3, 0xaa, 0x28, 0xc0, 0xcb, 0xb1, 0x0b, 0xc3, 0x80, 0x6b, +}; +static const unsigned char kat4246_entropyinpr2[] = { + 0xaa, 0x96, 0xcd, 0x7b, 0xb4, 0x3b, 0x47, 0xa1, 0xc2, 0x55, 0x8d, 0xc4, + 0x1e, 0xef, 0x42, 0xae, 0x62, 0xb7, 0xc1, 0x36, 0xb4, 0x0e, 0xd2, 0xda, + 0x1e, 0x62, 0x1a, 0x68, 0xc8, 0x73, 0x4c, 0x28, 0x88, 0x90, 0xdb, 0xb9, + 0x43, 0xda, 0xdc, 0x7d, 0x7f, 0x56, 0x4e, 0xf2, 0xde, 0x31, 0x0e, 0xb2, +}; +static const unsigned char kat4246_addinpr2[] = { + 0x70, 0x01, 0x5c, 0xd3, 0xa7, 0x6c, 0x6f, 0x85, 0xd2, 0x55, 0x30, 0x46, + 0xc4, 0x7a, 0xf6, 0x87, 0xd7, 0x28, 0xf3, 0xc6, 0x4e, 0xe4, 0xd3, 0x1e, + 0x5a, 0xa8, 0xd7, 0x5a, 0x77, 0xe9, 0x12, 0x9b, 0xb7, 0x75, 0x56, 0x0c, + 0xc1, 0x85, 0xf5, 0x69, 0x13, 0xd5, 0xa0, 0x4f, 0x23, 0x31, 0x16, 0xff, +}; +static const unsigned char kat4246_retbits[] = { + 0x0a, 0x4f, 0x4e, 0xa0, 0x35, 0x97, 0x5e, 0x1e, 0x32, 0xc7, 0xa7, 0xa0, + 0x1f, 0x81, 0xcc, 0xa3, 0x26, 0xa1, 0xfe, 0x01, 0x49, 0x1e, 0x83, 0x0e, + 0xa2, 0xc1, 0xe5, 0x57, 0xc3, 0x74, 0xe9, 0x0d, 0x8b, 0xcc, 0xb7, 0xd9, + 0x7f, 0x23, 0x89, 0x69, 0xd1, 0x16, 0xad, 0x04, 0xca, 0xd9, 0xf8, 0x14, + 0x2f, 0x90, 0xdf, 0x5c, 0xe4, 0xe7, 0x06, 0x7e, 0x0f, 0x3a, 0x7d, 0x66, + 0x78, 0xee, 0x9f, 0x6f, +}; +static const struct drbg_kat_pr_true kat4246_t = { + 0, kat4246_entropyin, kat4246_nonce, kat4246_persstr, + kat4246_entropyinpr1, kat4246_addinpr1, kat4246_entropyinpr2, + kat4246_addinpr2, kat4246_retbits +}; +static const struct drbg_kat kat4246 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4246_t +}; + +static const unsigned char kat4247_entropyin[] = { + 0xd9, 0x60, 0x09, 0x4f, 0xcd, 0xab, 0xac, 0x3b, 0xce, 0xa6, 0x3a, 0x8d, + 0xf8, 0x12, 0x7a, 0x9b, 0x06, 0x19, 0x77, 0xfa, 0x05, 0xe5, 0xf5, 0x41, + 0x67, 0xa1, 0x97, 0x19, 0x83, 0x55, 0x4b, 0x68, 0xfc, 0x10, 0x6f, 0xea, + 0xfa, 0xfe, 0x43, 0xf5, 0x19, 0x30, 0x44, 0x75, 0xaa, 0x0e, 0xdb, 0xe8, +}; +static const unsigned char kat4247_nonce[] = {0}; +static const unsigned char kat4247_persstr[] = { + 0x74, 0x19, 0x96, 0xf8, 0xfb, 0x1e, 0x6b, 0xc0, 0xbc, 0x11, 0x14, 0x7d, + 0x97, 0x76, 0x6c, 0xf1, 0x04, 0xb8, 0xf1, 0x17, 0x58, 0xbc, 0x21, 0x6c, + 0xfa, 0x46, 0x64, 0x8a, 0x32, 0xe3, 0x27, 0x87, 0x42, 0x36, 0x2f, 0x33, + 0x75, 0x75, 0x5c, 0xe1, 0x0c, 0xf9, 0x46, 0x0f, 0x7d, 0x3d, 0x59, 0x37, +}; +static const unsigned char kat4247_entropyinpr1[] = { + 0x4f, 0xb2, 0xc5, 0x8d, 0x33, 0xf0, 0x7d, 0xe4, 0xc4, 0x6b, 0x40, 0xb1, + 0x42, 0x91, 0x39, 0x75, 0x76, 0xf1, 0x6c, 0x63, 0x1e, 0x6b, 0xc3, 0xd2, + 0xbb, 0xb2, 0x13, 0x24, 0x29, 0x39, 0x69, 0x54, 0x7c, 0xc0, 0x5e, 0xb5, + 0x39, 0x0e, 0x8a, 0x46, 0xcf, 0x37, 0x61, 0xb9, 0x3d, 0x87, 0x8a, 0xf9, +}; +static const unsigned char kat4247_addinpr1[] = { + 0x67, 0x4e, 0xd4, 0x17, 0x1d, 0xb1, 0x0d, 0x6e, 0xfa, 0x45, 0x2d, 0x0a, + 0xed, 0x6f, 0x7d, 0xd6, 0x3a, 0x5c, 0x2f, 0x18, 0x34, 0xfb, 0xf7, 0x6b, + 0xd0, 0xe5, 0xe4, 0x0e, 0x4a, 0x9d, 0x38, 0xbb, 0x3f, 0x77, 0xa7, 0xcc, + 0x8a, 0xb3, 0x6e, 0xee, 0x78, 0x17, 0xa0, 0x11, 0xd3, 0x1e, 0x03, 0xec, +}; +static const unsigned char kat4247_entropyinpr2[] = { + 0xf0, 0x28, 0x21, 0x41, 0xbe, 0xfd, 0x06, 0x88, 0x51, 0xde, 0x41, 0x55, + 0x25, 0xd0, 0x63, 0xf0, 0x19, 0x4f, 0xa6, 0xb1, 0x84, 0xa2, 0xbc, 0x20, + 0x7e, 0xae, 0x07, 0x0c, 0xe2, 0x6c, 0xdf, 0x71, 0x40, 0x7e, 0x54, 0xf1, + 0x9c, 0x18, 0x39, 0x5f, 0x61, 0x81, 0x78, 0xe9, 0x13, 0xa1, 0xeb, 0xd0, +}; +static const unsigned char kat4247_addinpr2[] = { + 0x23, 0x71, 0xd1, 0x41, 0x92, 0xed, 0x93, 0x4c, 0xbf, 0xfc, 0x32, 0xea, + 0x38, 0x22, 0x05, 0x7e, 0x31, 0xf6, 0x91, 0x56, 0x93, 0xac, 0x8f, 0x48, + 0x0b, 0x1a, 0x8e, 0xe2, 0x02, 0xf0, 0x83, 0xca, 0xbb, 0x71, 0x48, 0xfc, + 0xc7, 0x04, 0x9b, 0x95, 0xd1, 0xe6, 0xe6, 0xf7, 0x81, 0x00, 0xfb, 0xc2, +}; +static const unsigned char kat4247_retbits[] = { + 0x1d, 0xf9, 0xc3, 0x94, 0xd6, 0xef, 0x12, 0xcb, 0x7d, 0x96, 0x7b, 0x19, + 0xc6, 0xfc, 0x7d, 0x58, 0x0b, 0xbb, 0xcb, 0xdb, 0xa0, 0xc4, 0x98, 0x2b, + 0xf3, 0x34, 0x36, 0x70, 0x7c, 0x49, 0xc1, 0x33, 0xb2, 0xb3, 0x69, 0x93, + 0xdd, 0x52, 0xc1, 0xa0, 0x93, 0x2d, 0xf4, 0xca, 0xd0, 0xdd, 0x15, 0x1d, + 0x17, 0x9e, 0xc2, 0xe3, 0x8b, 0xd9, 0xd6, 0xfa, 0x0b, 0x9e, 0x84, 0x4c, + 0x20, 0xd1, 0xbf, 0x6e, +}; +static const struct drbg_kat_pr_true kat4247_t = { + 1, kat4247_entropyin, kat4247_nonce, kat4247_persstr, + kat4247_entropyinpr1, kat4247_addinpr1, kat4247_entropyinpr2, + kat4247_addinpr2, kat4247_retbits +}; +static const struct drbg_kat kat4247 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4247_t +}; + +static const unsigned char kat4248_entropyin[] = { + 0xd9, 0x4b, 0xc2, 0x0a, 0x41, 0xc8, 0x16, 0x20, 0xb6, 0xcb, 0x2e, 0x46, + 0x5a, 0xb0, 0xf3, 0x77, 0xd7, 0x4b, 0xa2, 0x27, 0xb2, 0xd1, 0xe7, 0x49, + 0x83, 0x4b, 0xe5, 0xbb, 0xfb, 0x73, 0x2d, 0x15, 0xe7, 0x60, 0x3c, 0x7d, + 0x6b, 0xfd, 0xe4, 0x33, 0x33, 0x0f, 0x72, 0x13, 0xe4, 0xef, 0x39, 0x1b, +}; +static const unsigned char kat4248_nonce[] = {0}; +static const unsigned char kat4248_persstr[] = { + 0xa1, 0x1f, 0x42, 0xfb, 0xd3, 0x5f, 0x23, 0x5a, 0x47, 0xe0, 0xb6, 0xe8, + 0x5e, 0xa0, 0x98, 0xd2, 0x0e, 0x11, 0x39, 0x9e, 0xf1, 0x97, 0xc6, 0x21, + 0x7f, 0xe8, 0x21, 0x9d, 0x56, 0xef, 0xb3, 0x0a, 0x2f, 0x89, 0x43, 0x48, + 0x39, 0x4b, 0x59, 0x66, 0x78, 0x38, 0xa9, 0x95, 0x9b, 0x0d, 0x1c, 0x53, +}; +static const unsigned char kat4248_entropyinpr1[] = { + 0x5a, 0xcf, 0xdb, 0x10, 0xbe, 0x57, 0x99, 0x5f, 0xda, 0x42, 0xf1, 0xfc, + 0xd5, 0xd4, 0x11, 0x04, 0x79, 0x7a, 0xc4, 0xaf, 0xd0, 0xf5, 0x73, 0x90, + 0x86, 0xe7, 0xc1, 0x3a, 0x11, 0x51, 0xbf, 0x0f, 0xe2, 0x7c, 0x19, 0x3e, + 0xeb, 0x89, 0x7d, 0xcf, 0x11, 0xbb, 0xfb, 0x52, 0xc8, 0x3c, 0x29, 0x78, +}; +static const unsigned char kat4248_addinpr1[] = { + 0x72, 0x46, 0xe2, 0x9c, 0x80, 0xb4, 0x92, 0x14, 0x88, 0xc9, 0x32, 0xc2, + 0x5b, 0xa4, 0xd4, 0xb8, 0xab, 0xd7, 0x27, 0xab, 0x48, 0xa2, 0xc9, 0xbd, + 0xf7, 0xdf, 0x5d, 0x71, 0xcb, 0x75, 0xc9, 0x6c, 0xe2, 0x6d, 0x5c, 0xed, + 0x5c, 0xc9, 0xb2, 0xab, 0x9e, 0x05, 0xa4, 0x49, 0x90, 0x7b, 0x0a, 0xa8, +}; +static const unsigned char kat4248_entropyinpr2[] = { + 0xf0, 0x4e, 0xa5, 0x2c, 0x36, 0xc4, 0x4f, 0x08, 0x51, 0x7c, 0x37, 0xf0, + 0x6d, 0x45, 0x07, 0xa6, 0x97, 0xc5, 0x05, 0x91, 0x3d, 0xd6, 0xd4, 0xe0, + 0x18, 0xd3, 0x24, 0x90, 0x8c, 0x4b, 0x41, 0x26, 0xe0, 0x84, 0x7e, 0x1e, + 0x89, 0x0c, 0xf1, 0x48, 0x9b, 0xb2, 0xef, 0x25, 0xd0, 0x03, 0x41, 0x47, +}; +static const unsigned char kat4248_addinpr2[] = { + 0x25, 0x1c, 0xfc, 0xe3, 0xda, 0x6a, 0x3b, 0x2b, 0xe5, 0x81, 0x45, 0xd8, + 0x5d, 0x64, 0x67, 0xfe, 0xdf, 0x9c, 0x20, 0x59, 0xe8, 0x66, 0x54, 0xc0, + 0x60, 0x5f, 0x03, 0x69, 0xa7, 0xf8, 0x38, 0x31, 0x04, 0x95, 0x96, 0xaf, + 0x6d, 0x9a, 0xfd, 0x17, 0xa3, 0x39, 0xcb, 0x73, 0x4d, 0xdc, 0x9c, 0x78, +}; +static const unsigned char kat4248_retbits[] = { + 0xb8, 0x94, 0xde, 0xc6, 0x6b, 0xc2, 0x0d, 0x7f, 0x97, 0xbf, 0xd8, 0xa9, + 0x4a, 0x17, 0x2f, 0x57, 0x84, 0x31, 0x6f, 0x18, 0x40, 0x89, 0x4a, 0xd5, + 0x32, 0xff, 0x43, 0xef, 0xf8, 0x8c, 0x79, 0xa4, 0x1f, 0x0c, 0xea, 0x61, + 0xe1, 0x13, 0xc1, 0x32, 0x95, 0x29, 0x3a, 0x6e, 0xe1, 0x79, 0xdc, 0xb2, + 0x2f, 0xbc, 0x1f, 0xc8, 0x39, 0x7f, 0x3f, 0xff, 0xb3, 0x1e, 0x7a, 0x84, + 0xc9, 0x11, 0xc2, 0xa6, +}; +static const struct drbg_kat_pr_true kat4248_t = { + 2, kat4248_entropyin, kat4248_nonce, kat4248_persstr, + kat4248_entropyinpr1, kat4248_addinpr1, kat4248_entropyinpr2, + kat4248_addinpr2, kat4248_retbits +}; +static const struct drbg_kat kat4248 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4248_t +}; + +static const unsigned char kat4249_entropyin[] = { + 0x90, 0x05, 0x2c, 0x67, 0x3c, 0xee, 0x96, 0x77, 0x05, 0x86, 0x21, 0x24, + 0x2d, 0x08, 0xde, 0x86, 0x46, 0xb1, 0x6f, 0xdc, 0x1d, 0x77, 0x73, 0x7b, + 0x6e, 0x01, 0x79, 0x26, 0xb4, 0x22, 0xdd, 0xb9, 0xc3, 0x83, 0x84, 0x6d, + 0xb8, 0x7d, 0xde, 0x0d, 0xdf, 0xd0, 0xd7, 0x0b, 0xd5, 0x54, 0x7e, 0x60, +}; +static const unsigned char kat4249_nonce[] = {0}; +static const unsigned char kat4249_persstr[] = { + 0xb3, 0x48, 0xf3, 0x7a, 0x3f, 0x07, 0x3f, 0xa2, 0xf9, 0x59, 0x32, 0x92, + 0x9e, 0xd9, 0x34, 0x0a, 0x24, 0xe5, 0x81, 0xf3, 0x50, 0x91, 0x4a, 0x9c, + 0x83, 0xa2, 0x41, 0x34, 0x52, 0x5d, 0x70, 0xc0, 0x88, 0xae, 0x1f, 0x75, + 0xb7, 0x0b, 0x6c, 0xcc, 0x1e, 0x53, 0x60, 0xd0, 0xda, 0x07, 0x52, 0xac, +}; +static const unsigned char kat4249_entropyinpr1[] = { + 0x21, 0x61, 0xd5, 0xba, 0xb5, 0x5c, 0x74, 0x29, 0x75, 0x66, 0xa3, 0x98, + 0xfe, 0x71, 0x5c, 0x8c, 0x8e, 0x8e, 0x43, 0xce, 0x2b, 0x71, 0xa4, 0x9d, + 0x38, 0x00, 0xf4, 0xe6, 0xf7, 0x51, 0x3a, 0x0a, 0xd4, 0x74, 0xeb, 0x1a, + 0xf8, 0x41, 0xd5, 0xcd, 0x69, 0x90, 0xb9, 0x47, 0x0d, 0xca, 0x57, 0x43, +}; +static const unsigned char kat4249_addinpr1[] = { + 0xa9, 0xbb, 0x39, 0x5e, 0xf6, 0x9e, 0x9f, 0x02, 0x50, 0x65, 0xca, 0xca, + 0x0a, 0xf7, 0x84, 0x22, 0xed, 0x29, 0x86, 0xe4, 0xe9, 0x75, 0xd2, 0xea, + 0xc5, 0xac, 0xed, 0xa3, 0x61, 0xa0, 0x88, 0x8f, 0x1d, 0xed, 0xe1, 0xe5, + 0x4a, 0x23, 0x56, 0x4d, 0x25, 0x45, 0x6d, 0xb1, 0x8e, 0xa1, 0x08, 0x5b, +}; +static const unsigned char kat4249_entropyinpr2[] = { + 0x72, 0xae, 0x29, 0x90, 0x3b, 0xf0, 0x73, 0x1a, 0x3d, 0x41, 0xa3, 0x9e, + 0x63, 0xfc, 0x7a, 0x57, 0x1e, 0xa9, 0x9c, 0xd6, 0x79, 0xa9, 0x04, 0xf6, + 0x0d, 0xd3, 0x57, 0x28, 0xd1, 0x41, 0xc3, 0x38, 0x5d, 0xff, 0x09, 0x65, + 0xe1, 0xa5, 0x6c, 0xd5, 0x7b, 0x71, 0x90, 0xc0, 0x11, 0x2b, 0x70, 0xbe, +}; +static const unsigned char kat4249_addinpr2[] = { + 0x4e, 0x0c, 0x5e, 0x9e, 0x5e, 0xab, 0x36, 0xfe, 0x78, 0xd4, 0x2c, 0x05, + 0x8e, 0xf4, 0xde, 0xba, 0x19, 0xa9, 0x4f, 0x87, 0x02, 0xbc, 0xee, 0xb6, + 0x63, 0x07, 0x5a, 0x7d, 0x84, 0x06, 0x9c, 0x50, 0xeb, 0x23, 0x97, 0x6e, + 0x05, 0xb7, 0xda, 0x7c, 0x7f, 0x55, 0xfd, 0x72, 0x73, 0x89, 0x39, 0x7f, +}; +static const unsigned char kat4249_retbits[] = { + 0x9b, 0xf4, 0x96, 0x83, 0x31, 0x96, 0x64, 0xb0, 0x03, 0xf2, 0x60, 0x28, + 0xbb, 0xc7, 0x2b, 0x3d, 0xc6, 0x07, 0xd8, 0xa3, 0x08, 0x8a, 0xa7, 0x8d, + 0xd8, 0xdc, 0x23, 0x8f, 0xeb, 0x79, 0x43, 0x3b, 0x83, 0xf1, 0xc9, 0xae, + 0x11, 0x90, 0xc2, 0x70, 0xab, 0x43, 0xa3, 0x9d, 0x1a, 0xd3, 0x42, 0x2a, + 0x80, 0x04, 0xa8, 0x03, 0x3c, 0x58, 0xf8, 0x44, 0x67, 0xc0, 0x28, 0xae, + 0xb8, 0xea, 0xba, 0x19, +}; +static const struct drbg_kat_pr_true kat4249_t = { + 3, kat4249_entropyin, kat4249_nonce, kat4249_persstr, + kat4249_entropyinpr1, kat4249_addinpr1, kat4249_entropyinpr2, + kat4249_addinpr2, kat4249_retbits +}; +static const struct drbg_kat kat4249 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4249_t +}; + +static const unsigned char kat4250_entropyin[] = { + 0x69, 0x3c, 0x3d, 0x21, 0xcc, 0x3d, 0x38, 0x68, 0x4c, 0x1e, 0x52, 0xfe, + 0xb2, 0x4c, 0x84, 0xd5, 0x44, 0x4b, 0x3f, 0xba, 0xb5, 0x69, 0xa0, 0x74, + 0xd8, 0xe2, 0x55, 0x61, 0xe0, 0x79, 0xeb, 0x73, 0xc1, 0x92, 0xe1, 0xac, + 0xb6, 0x2b, 0x8d, 0xcf, 0xf5, 0x37, 0x01, 0x39, 0xa4, 0xaf, 0x2f, 0x14, +}; +static const unsigned char kat4250_nonce[] = {0}; +static const unsigned char kat4250_persstr[] = { + 0x9c, 0x1a, 0x13, 0x13, 0xfb, 0x5a, 0x06, 0x48, 0xb5, 0x85, 0x27, 0xac, + 0x2d, 0xd5, 0x07, 0x9c, 0x47, 0x09, 0x68, 0x45, 0x60, 0x2f, 0x48, 0xae, + 0x3d, 0x04, 0xf6, 0x68, 0xe2, 0x7b, 0x94, 0xb4, 0x4f, 0xfc, 0x74, 0xe4, + 0xcd, 0x77, 0xd3, 0x70, 0xc2, 0x04, 0xf0, 0xe6, 0xf8, 0x70, 0x47, 0xb7, +}; +static const unsigned char kat4250_entropyinpr1[] = { + 0x4a, 0x61, 0x97, 0xcc, 0xae, 0x24, 0xed, 0x98, 0x93, 0x26, 0x02, 0x37, + 0x61, 0x74, 0xb2, 0x23, 0x5b, 0xcd, 0x10, 0xf6, 0xb4, 0xf8, 0x86, 0xe3, + 0xd6, 0xd2, 0xd6, 0xec, 0x53, 0x35, 0xb3, 0xd7, 0x09, 0x6c, 0x75, 0xe1, + 0x8a, 0x18, 0x65, 0x7e, 0x3e, 0x14, 0x32, 0xd1, 0x7e, 0xb5, 0x99, 0xc7, +}; +static const unsigned char kat4250_addinpr1[] = { + 0x40, 0x10, 0x6b, 0xd9, 0x95, 0x3a, 0x55, 0xce, 0xc4, 0x0f, 0x6a, 0xbc, + 0x9f, 0x75, 0xb8, 0xf4, 0x1b, 0x50, 0xf0, 0xdf, 0xfb, 0xa5, 0x17, 0xa4, + 0x55, 0xec, 0xd6, 0x05, 0xc3, 0xd3, 0x99, 0x03, 0xc3, 0x59, 0xd2, 0xaa, + 0xeb, 0x41, 0x7f, 0xb0, 0x07, 0xe8, 0xd4, 0x51, 0x02, 0x84, 0x44, 0xb3, +}; +static const unsigned char kat4250_entropyinpr2[] = { + 0x96, 0xe0, 0x4a, 0xf5, 0xe2, 0x44, 0x15, 0x84, 0x58, 0xba, 0xcc, 0xe4, + 0x45, 0xb3, 0x99, 0xb4, 0x7e, 0x73, 0x5c, 0x14, 0x1f, 0xc1, 0xd5, 0xe5, + 0xb2, 0xde, 0xa0, 0x49, 0xd8, 0xea, 0x05, 0x4e, 0xc7, 0xe1, 0xb6, 0xed, + 0x03, 0x4b, 0x26, 0xd0, 0xb0, 0xde, 0x20, 0xb9, 0x1f, 0xd3, 0x2c, 0x4a, +}; +static const unsigned char kat4250_addinpr2[] = { + 0x5f, 0xff, 0xe4, 0xb6, 0x5f, 0x76, 0x2e, 0xfd, 0xe7, 0xa4, 0x39, 0x6f, + 0x29, 0x94, 0xe8, 0x4f, 0xc9, 0x90, 0x59, 0x92, 0xf1, 0x0d, 0x3a, 0xdd, + 0x5e, 0x32, 0x02, 0x31, 0xbe, 0xc0, 0xec, 0x6b, 0xd5, 0x0e, 0x27, 0xd2, + 0x49, 0x8d, 0x9f, 0x44, 0x3f, 0x16, 0x4d, 0x7c, 0xd6, 0x8f, 0xe6, 0xa4, +}; +static const unsigned char kat4250_retbits[] = { + 0x43, 0xea, 0x89, 0x7c, 0xf1, 0x11, 0xe8, 0xc5, 0xc5, 0x8a, 0x55, 0x3a, + 0x23, 0x18, 0x90, 0xfd, 0x91, 0x34, 0x01, 0xbe, 0xbc, 0xe2, 0xed, 0xc7, + 0x6a, 0xfe, 0x97, 0xce, 0xdc, 0x68, 0x06, 0xf6, 0x01, 0x3d, 0x57, 0xe8, + 0xe6, 0xa7, 0x9a, 0x93, 0x0a, 0x2e, 0x94, 0xc2, 0x59, 0x0a, 0x5c, 0xf5, + 0x7d, 0x9b, 0x7d, 0x2b, 0x86, 0xfe, 0xc8, 0xd6, 0xf4, 0x69, 0x2c, 0xd6, + 0x22, 0xdb, 0x99, 0xdd, +}; +static const struct drbg_kat_pr_true kat4250_t = { + 4, kat4250_entropyin, kat4250_nonce, kat4250_persstr, + kat4250_entropyinpr1, kat4250_addinpr1, kat4250_entropyinpr2, + kat4250_addinpr2, kat4250_retbits +}; +static const struct drbg_kat kat4250 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4250_t +}; + +static const unsigned char kat4251_entropyin[] = { + 0x8a, 0x0b, 0xf5, 0x80, 0x72, 0xae, 0xb8, 0xa3, 0x75, 0x23, 0x7a, 0x29, + 0xa0, 0xe3, 0xf7, 0x8a, 0x56, 0x2d, 0x78, 0x2a, 0x5e, 0xd3, 0x83, 0x32, + 0x1d, 0x65, 0xa3, 0xa8, 0xf9, 0x3f, 0x50, 0x1d, 0x70, 0x1e, 0x71, 0x69, + 0x4e, 0x79, 0xfa, 0x19, 0xd7, 0xe7, 0x4a, 0x2f, 0x64, 0xd5, 0xcf, 0xc8, +}; +static const unsigned char kat4251_nonce[] = {0}; +static const unsigned char kat4251_persstr[] = { + 0x83, 0x06, 0x79, 0x99, 0x8e, 0x19, 0x55, 0x55, 0xba, 0x07, 0xc7, 0xd1, + 0xc7, 0x0c, 0x92, 0xe0, 0x65, 0xfc, 0xa2, 0x6e, 0x15, 0x6d, 0x69, 0x42, + 0x04, 0x6a, 0x27, 0x09, 0x73, 0x35, 0xf6, 0x9f, 0xf0, 0x43, 0x9b, 0xc6, + 0x1e, 0x89, 0x34, 0x99, 0x96, 0xc9, 0xe3, 0xa1, 0x98, 0x15, 0x53, 0xd3, +}; +static const unsigned char kat4251_entropyinpr1[] = { + 0x16, 0xad, 0x3e, 0x4f, 0x8d, 0x8a, 0x63, 0x71, 0x6d, 0xfe, 0xde, 0x56, + 0x27, 0x62, 0xe7, 0x70, 0xd9, 0x66, 0x25, 0x47, 0x7b, 0xcc, 0x87, 0xd4, + 0xcb, 0xc0, 0x69, 0x34, 0x5d, 0xe9, 0xdf, 0x5d, 0x74, 0xf4, 0x58, 0xd7, + 0x60, 0x29, 0x2c, 0x20, 0x1d, 0xb6, 0x5e, 0xd6, 0xe4, 0x63, 0x75, 0x19, +}; +static const unsigned char kat4251_addinpr1[] = { + 0xa1, 0x68, 0xe1, 0x28, 0xc6, 0xee, 0x0b, 0x99, 0xae, 0x80, 0x5e, 0xc0, + 0xe5, 0x9d, 0x0b, 0x22, 0xe8, 0x9c, 0xde, 0x18, 0x8e, 0x94, 0x56, 0xa5, + 0xde, 0xd3, 0xbb, 0xac, 0x3f, 0x8c, 0x55, 0x55, 0x9c, 0x47, 0xb2, 0x5a, + 0x6b, 0x61, 0x36, 0x28, 0xa3, 0xf2, 0x4d, 0xe8, 0xf5, 0x0e, 0x40, 0xf1, +}; +static const unsigned char kat4251_entropyinpr2[] = { + 0x4b, 0xac, 0xc3, 0x00, 0xec, 0x2a, 0xe6, 0xfe, 0x44, 0x57, 0x15, 0xef, + 0xf2, 0x8d, 0xe6, 0x81, 0xe1, 0x6f, 0x63, 0xf1, 0x84, 0x81, 0xaf, 0x43, + 0x36, 0x69, 0xcf, 0xd2, 0xe0, 0x53, 0x4e, 0xa4, 0x74, 0x7e, 0x7b, 0x0c, + 0xfc, 0x3f, 0x72, 0x7e, 0x19, 0x38, 0xab, 0xf2, 0x77, 0x1f, 0xab, 0x69, +}; +static const unsigned char kat4251_addinpr2[] = { + 0xfd, 0x42, 0x5d, 0xbd, 0x14, 0xf3, 0x8a, 0x30, 0xc6, 0x51, 0x0d, 0x30, + 0x8b, 0x07, 0x1a, 0x4e, 0x14, 0x42, 0x59, 0x66, 0xbf, 0xf6, 0xc2, 0xc8, + 0xf0, 0x47, 0xae, 0x4b, 0xe7, 0x29, 0xb7, 0x40, 0x56, 0x17, 0x13, 0x18, + 0x96, 0xf3, 0x53, 0x67, 0x4e, 0x6d, 0x09, 0x2d, 0x5e, 0x2b, 0x74, 0xc1, +}; +static const unsigned char kat4251_retbits[] = { + 0x2c, 0xc0, 0x99, 0x32, 0xca, 0x24, 0xdd, 0x7c, 0x41, 0x9f, 0x37, 0x4c, + 0xc3, 0x62, 0x16, 0x39, 0x0d, 0x93, 0x87, 0x9d, 0x85, 0xdd, 0x96, 0x2a, + 0x5a, 0x21, 0x23, 0x6e, 0x23, 0x1c, 0x4e, 0xc1, 0x6e, 0x44, 0xec, 0xdb, + 0xf2, 0xd4, 0x4f, 0x3f, 0xaa, 0xc7, 0x5c, 0x49, 0x4c, 0x03, 0x9a, 0x38, + 0x4d, 0x06, 0x9d, 0xf4, 0xe1, 0xe9, 0x3b, 0x3a, 0xf2, 0x04, 0x60, 0xac, + 0x66, 0x52, 0x5f, 0xd0, +}; +static const struct drbg_kat_pr_true kat4251_t = { + 5, kat4251_entropyin, kat4251_nonce, kat4251_persstr, + kat4251_entropyinpr1, kat4251_addinpr1, kat4251_entropyinpr2, + kat4251_addinpr2, kat4251_retbits +}; +static const struct drbg_kat kat4251 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4251_t +}; + +static const unsigned char kat4252_entropyin[] = { + 0xa6, 0x35, 0x8c, 0x87, 0x62, 0x1e, 0x63, 0xda, 0xe3, 0xac, 0x3f, 0x95, + 0x3d, 0xb0, 0xcc, 0xb9, 0xdb, 0xc1, 0xd0, 0x46, 0xc9, 0x9c, 0x7d, 0xd0, + 0x7e, 0xf9, 0x1c, 0x6c, 0x2f, 0xd2, 0x30, 0xa9, 0xf1, 0xbc, 0xa5, 0xfc, + 0x28, 0x66, 0x01, 0x60, 0x85, 0xc2, 0x6c, 0xcb, 0x5b, 0x28, 0x71, 0x5a, +}; +static const unsigned char kat4252_nonce[] = {0}; +static const unsigned char kat4252_persstr[] = { + 0x10, 0x74, 0xe6, 0xeb, 0x18, 0x7d, 0x40, 0x86, 0x12, 0x97, 0xd9, 0xe5, + 0xc0, 0xb3, 0xb4, 0x9d, 0x66, 0xc8, 0xd6, 0x9e, 0x95, 0xda, 0x89, 0x6b, + 0x67, 0x9e, 0xe9, 0x24, 0x61, 0x42, 0xfb, 0xf4, 0x8c, 0x35, 0xb1, 0xd7, + 0xe7, 0x39, 0x31, 0xed, 0x0b, 0x6e, 0x2a, 0x3b, 0x69, 0x67, 0xe8, 0x00, +}; +static const unsigned char kat4252_entropyinpr1[] = { + 0x13, 0x1c, 0x19, 0x4e, 0xe4, 0xa3, 0xbb, 0xa4, 0x8d, 0xed, 0xd5, 0xb8, + 0x3b, 0xfc, 0x82, 0xd1, 0x72, 0xdb, 0x75, 0xe2, 0x19, 0x8e, 0x76, 0xc7, + 0x28, 0xe0, 0x4f, 0xc8, 0xab, 0x32, 0x3c, 0xed, 0xa2, 0xc3, 0x2d, 0x44, + 0x78, 0x53, 0xf6, 0xbf, 0x77, 0x77, 0xd5, 0x59, 0xd3, 0x35, 0x04, 0xbd, +}; +static const unsigned char kat4252_addinpr1[] = { + 0x19, 0x04, 0xc3, 0xc9, 0x39, 0x5f, 0x42, 0x42, 0x24, 0x98, 0x9e, 0x8a, + 0x31, 0x83, 0xc9, 0x0d, 0xba, 0xf9, 0x73, 0x5f, 0xc5, 0x22, 0xfe, 0x4e, + 0x44, 0x5c, 0xa4, 0xd5, 0x90, 0xd2, 0x53, 0xed, 0xc4, 0x7b, 0x21, 0xa1, + 0x4b, 0xf6, 0x30, 0xa7, 0x63, 0x75, 0x9e, 0xf7, 0x6f, 0xbe, 0x66, 0x15, +}; +static const unsigned char kat4252_entropyinpr2[] = { + 0xe0, 0x39, 0x7d, 0xd2, 0x33, 0x74, 0x5d, 0x71, 0x92, 0x46, 0x7d, 0x92, + 0x5f, 0x58, 0x2e, 0xc8, 0x8e, 0x80, 0x88, 0x0f, 0x2d, 0x96, 0x6f, 0x6a, + 0x40, 0x89, 0x2e, 0xe6, 0x7a, 0x90, 0x78, 0x91, 0x47, 0xe3, 0xdc, 0x7e, + 0xe9, 0x0c, 0x02, 0x7c, 0x2b, 0xfa, 0x3e, 0x9b, 0x69, 0xb0, 0xd7, 0x0c, +}; +static const unsigned char kat4252_addinpr2[] = { + 0x8b, 0x3a, 0xf5, 0xb4, 0xd4, 0xdc, 0x9b, 0xfb, 0x24, 0x5c, 0xeb, 0x92, + 0xd6, 0xa8, 0x44, 0x9c, 0x37, 0xaa, 0x6f, 0xdf, 0x46, 0x1d, 0x0a, 0x90, + 0xd2, 0x54, 0x62, 0xa8, 0x66, 0xac, 0x3e, 0x33, 0xf5, 0x64, 0xb8, 0x83, + 0xa5, 0x8f, 0x0d, 0x12, 0x15, 0x2b, 0x42, 0x35, 0x9e, 0x94, 0x40, 0x8d, +}; +static const unsigned char kat4252_retbits[] = { + 0xe8, 0x60, 0x9c, 0xd9, 0x3c, 0x5d, 0xfb, 0x11, 0x71, 0x11, 0x52, 0x8f, + 0xfb, 0xdf, 0x0e, 0x67, 0xf4, 0x74, 0x99, 0x4e, 0xf9, 0x16, 0x1c, 0xf7, + 0xf8, 0x44, 0x9c, 0xa3, 0xc5, 0x9c, 0x8b, 0x5c, 0x2d, 0x5f, 0xe5, 0xea, + 0x70, 0x40, 0x58, 0x7f, 0x36, 0xc8, 0x5d, 0x23, 0x4b, 0x4c, 0x8c, 0xa7, + 0xa7, 0x2e, 0xf7, 0xcc, 0xbb, 0x6c, 0xe8, 0x7c, 0xcf, 0x15, 0xc4, 0x4c, + 0xb2, 0x34, 0x5b, 0xb4, +}; +static const struct drbg_kat_pr_true kat4252_t = { + 6, kat4252_entropyin, kat4252_nonce, kat4252_persstr, + kat4252_entropyinpr1, kat4252_addinpr1, kat4252_entropyinpr2, + kat4252_addinpr2, kat4252_retbits +}; +static const struct drbg_kat kat4252 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4252_t +}; + +static const unsigned char kat4253_entropyin[] = { + 0x03, 0x39, 0x3b, 0x09, 0x3e, 0x1e, 0xe6, 0xed, 0xc0, 0xd5, 0x3a, 0xdc, + 0x56, 0x9e, 0x94, 0x17, 0xd4, 0xac, 0x42, 0x36, 0x35, 0x67, 0x1e, 0xf3, + 0x63, 0xe3, 0x65, 0xb1, 0xc7, 0xc1, 0x28, 0xb1, 0xf4, 0x43, 0x33, 0x8d, + 0x8f, 0x6a, 0xa2, 0x54, 0x2e, 0xed, 0xce, 0xb9, 0x01, 0xe2, 0x98, 0xd6, +}; +static const unsigned char kat4253_nonce[] = {0}; +static const unsigned char kat4253_persstr[] = { + 0x43, 0x0a, 0x7b, 0x2f, 0x49, 0xc9, 0x3d, 0x47, 0xfa, 0xa2, 0xc5, 0x0d, + 0xf7, 0x3e, 0xa4, 0x0c, 0x31, 0x8e, 0x81, 0x79, 0xe1, 0xcd, 0x61, 0xca, + 0x2b, 0x59, 0x82, 0x0d, 0x1c, 0x8b, 0x6a, 0xfe, 0xa9, 0x1d, 0x49, 0x12, + 0x94, 0x53, 0x37, 0x57, 0x64, 0x66, 0xb8, 0xa2, 0x0d, 0x5d, 0xd9, 0x2c, +}; +static const unsigned char kat4253_entropyinpr1[] = { + 0x38, 0x7f, 0xd6, 0x56, 0xea, 0x9b, 0x0d, 0x4f, 0xea, 0x5e, 0x25, 0x1c, + 0x0d, 0x8f, 0x49, 0xef, 0xfb, 0x05, 0xb9, 0x5a, 0xcc, 0x02, 0xf4, 0x1b, + 0xbb, 0x3e, 0x83, 0xd0, 0x0b, 0xf7, 0x01, 0x33, 0xba, 0x47, 0xcf, 0xb6, + 0x09, 0xf6, 0x8d, 0x17, 0x46, 0x5f, 0xfe, 0xce, 0xdb, 0x46, 0x50, 0x8e, +}; +static const unsigned char kat4253_addinpr1[] = { + 0xc0, 0xd2, 0xf2, 0x2c, 0x69, 0x34, 0xca, 0x8c, 0xba, 0x67, 0xd1, 0xe3, + 0xfb, 0x54, 0x56, 0x41, 0x32, 0x02, 0xa3, 0xfe, 0x5f, 0x1e, 0x62, 0x64, + 0xaf, 0xc2, 0x8c, 0x48, 0x89, 0x48, 0xf4, 0x9e, 0xa6, 0x43, 0x88, 0x21, + 0x47, 0x32, 0x6e, 0xf8, 0x5b, 0x3d, 0xfa, 0x72, 0x92, 0x95, 0x2f, 0x15, +}; +static const unsigned char kat4253_entropyinpr2[] = { + 0xa0, 0xb4, 0x3b, 0xff, 0xba, 0x67, 0x08, 0x91, 0x90, 0x02, 0xab, 0x0a, + 0x33, 0x8f, 0x05, 0xbe, 0x44, 0x85, 0x8f, 0xc5, 0x20, 0x1d, 0x54, 0xb9, + 0x9b, 0x53, 0x9c, 0x22, 0x40, 0x31, 0x6d, 0xd3, 0xbc, 0x06, 0xcf, 0x40, + 0x10, 0xdd, 0x4c, 0x6e, 0xef, 0x2c, 0x2d, 0x5e, 0x3b, 0xfb, 0x30, 0x58, +}; +static const unsigned char kat4253_addinpr2[] = { + 0xf0, 0xbf, 0x5f, 0x12, 0xe1, 0x88, 0xac, 0x6a, 0x8e, 0x7b, 0x16, 0xba, + 0xcd, 0x71, 0x04, 0x2b, 0x9c, 0x98, 0x5b, 0x37, 0x67, 0xc7, 0x35, 0x63, + 0xd9, 0x12, 0xfa, 0x26, 0x3d, 0x2d, 0xc0, 0x97, 0xdd, 0xab, 0xb5, 0x6e, + 0x76, 0x70, 0x81, 0xa8, 0x08, 0xef, 0x5b, 0x57, 0x71, 0x5f, 0xe0, 0x86, +}; +static const unsigned char kat4253_retbits[] = { + 0x9b, 0x89, 0x21, 0x2f, 0x5e, 0xbb, 0xb8, 0x1e, 0xda, 0x3a, 0x5e, 0x26, + 0xb9, 0x3f, 0x79, 0xfa, 0x96, 0xc1, 0xa9, 0x0a, 0xc5, 0xac, 0x35, 0xd1, + 0x89, 0x0b, 0x76, 0xf2, 0xa5, 0xa9, 0xdf, 0xa9, 0x84, 0x3d, 0x61, 0x32, + 0x49, 0x7e, 0xcb, 0xdf, 0x48, 0xd7, 0x1e, 0x17, 0xde, 0x05, 0xc8, 0xb3, + 0x96, 0xe6, 0xc7, 0x1b, 0x82, 0x2f, 0x53, 0x0a, 0x5e, 0x6d, 0xe2, 0x15, + 0xbb, 0x08, 0xf3, 0x1d, +}; +static const struct drbg_kat_pr_true kat4253_t = { + 7, kat4253_entropyin, kat4253_nonce, kat4253_persstr, + kat4253_entropyinpr1, kat4253_addinpr1, kat4253_entropyinpr2, + kat4253_addinpr2, kat4253_retbits +}; +static const struct drbg_kat kat4253 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4253_t +}; + +static const unsigned char kat4254_entropyin[] = { + 0x58, 0xa1, 0x96, 0x66, 0xb7, 0xba, 0xea, 0x18, 0xaf, 0xfe, 0x53, 0x4a, + 0x3a, 0xa3, 0xd7, 0xd5, 0x2e, 0x60, 0x5d, 0x5e, 0xf5, 0x90, 0x17, 0xfd, + 0xf9, 0xcb, 0x36, 0xb8, 0x2f, 0x77, 0xf7, 0xf1, 0x1b, 0x52, 0x7d, 0xe2, + 0xd8, 0xff, 0xa1, 0xcf, 0xd9, 0x01, 0x01, 0x7c, 0xea, 0x67, 0x10, 0x7f, +}; +static const unsigned char kat4254_nonce[] = {0}; +static const unsigned char kat4254_persstr[] = { + 0xfe, 0x30, 0x3b, 0x77, 0xb5, 0x33, 0x17, 0xae, 0xca, 0x61, 0x92, 0xa1, + 0x8c, 0x3d, 0x1a, 0xde, 0x20, 0x04, 0x17, 0x5c, 0xa6, 0xef, 0xb2, 0x75, + 0x91, 0x53, 0x06, 0x79, 0xa1, 0xeb, 0xbd, 0x5d, 0xa7, 0x70, 0x61, 0xc2, + 0xa0, 0x90, 0xa7, 0xdc, 0xb6, 0x1e, 0x64, 0x4f, 0x12, 0x6e, 0xf1, 0x4c, +}; +static const unsigned char kat4254_entropyinpr1[] = { + 0x15, 0xf1, 0xa8, 0xc2, 0x6d, 0xa1, 0x71, 0x14, 0x9e, 0xe5, 0x02, 0x89, + 0xcb, 0xb8, 0x49, 0x9e, 0xc3, 0x79, 0xda, 0xdd, 0x6f, 0x26, 0x9d, 0x23, + 0x25, 0x01, 0x95, 0x12, 0xcc, 0xcb, 0xd2, 0xb0, 0xa9, 0x1e, 0x1c, 0x44, + 0xd9, 0x38, 0x75, 0xbf, 0x64, 0xb6, 0xd3, 0x48, 0x77, 0x78, 0x5a, 0xd5, +}; +static const unsigned char kat4254_addinpr1[] = { + 0x16, 0x6f, 0xde, 0x12, 0xdd, 0x63, 0xa1, 0xcf, 0x86, 0x1d, 0xb0, 0x0e, + 0xba, 0xb1, 0x28, 0x33, 0x33, 0x57, 0x9a, 0xeb, 0x9c, 0xe1, 0xd5, 0x9f, + 0xd3, 0x55, 0x22, 0xeb, 0xc5, 0x9e, 0xec, 0x2b, 0x48, 0x8a, 0xf7, 0x39, + 0x42, 0xa5, 0x5e, 0xbb, 0xa7, 0x20, 0x05, 0x08, 0xd1, 0xc7, 0x6e, 0xee, +}; +static const unsigned char kat4254_entropyinpr2[] = { + 0xe9, 0x3f, 0xb6, 0xe7, 0x8a, 0x07, 0x6c, 0x59, 0x7e, 0x03, 0xb3, 0x45, + 0x13, 0xca, 0x18, 0x80, 0x84, 0x05, 0x1f, 0x07, 0x57, 0x3c, 0xdf, 0xad, + 0x47, 0x43, 0xb6, 0x32, 0x03, 0xb9, 0xf3, 0xcb, 0x6e, 0x33, 0x06, 0x69, + 0x6c, 0x17, 0xc7, 0xd0, 0xcd, 0x86, 0xa2, 0xba, 0xbb, 0x07, 0x24, 0xc3, +}; +static const unsigned char kat4254_addinpr2[] = { + 0xbd, 0x08, 0x7e, 0xd2, 0x3e, 0x1c, 0xca, 0xd0, 0x9a, 0xf9, 0xe3, 0x72, + 0x64, 0xca, 0xfa, 0x63, 0x7d, 0x8c, 0x74, 0x01, 0xce, 0xfa, 0xcd, 0xaf, + 0x1a, 0x78, 0x5f, 0x6f, 0xc6, 0x3f, 0x60, 0x9c, 0x49, 0xbe, 0xc4, 0x92, + 0xbd, 0x67, 0x6e, 0x95, 0x69, 0x2b, 0xd6, 0x59, 0x62, 0x7a, 0xde, 0x6e, +}; +static const unsigned char kat4254_retbits[] = { + 0x7f, 0x59, 0xf2, 0x50, 0xd3, 0xac, 0xcb, 0x4c, 0x46, 0xcd, 0x60, 0xa8, + 0x4c, 0xc4, 0xd7, 0x93, 0x91, 0x26, 0x48, 0x80, 0xa9, 0xa1, 0x7a, 0xa5, + 0x4c, 0xd1, 0xaf, 0x2a, 0x68, 0xb1, 0xde, 0xcf, 0x83, 0xfd, 0x61, 0x9c, + 0x4f, 0x39, 0x28, 0x58, 0x54, 0xbe, 0x3e, 0x00, 0x0c, 0xba, 0x4a, 0x92, + 0xa3, 0x8a, 0x8f, 0x58, 0x13, 0x01, 0x13, 0x7a, 0xae, 0x05, 0x63, 0x0f, + 0x20, 0xbc, 0x71, 0xa4, +}; +static const struct drbg_kat_pr_true kat4254_t = { + 8, kat4254_entropyin, kat4254_nonce, kat4254_persstr, + kat4254_entropyinpr1, kat4254_addinpr1, kat4254_entropyinpr2, + kat4254_addinpr2, kat4254_retbits +}; +static const struct drbg_kat kat4254 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4254_t +}; + +static const unsigned char kat4255_entropyin[] = { + 0xb3, 0xb1, 0xcb, 0x22, 0x84, 0x29, 0x43, 0x62, 0xd2, 0xf8, 0xcf, 0x7e, + 0xe1, 0xc0, 0x72, 0x87, 0x6d, 0x7b, 0x94, 0x1d, 0xb3, 0xb6, 0xe1, 0x51, + 0xc7, 0x2c, 0x11, 0xc2, 0x5a, 0xa6, 0xc0, 0x6b, 0xe8, 0x3a, 0x38, 0x67, + 0xe9, 0xa5, 0x0e, 0xe7, 0xff, 0x5e, 0x71, 0x76, 0xe7, 0xd2, 0x4e, 0x3c, +}; +static const unsigned char kat4255_nonce[] = {0}; +static const unsigned char kat4255_persstr[] = { + 0xa7, 0x9d, 0x06, 0x7f, 0xea, 0xcd, 0x6c, 0xb7, 0x4d, 0x1f, 0x13, 0x3d, + 0xbb, 0x6b, 0xfb, 0xea, 0x38, 0x2b, 0x1e, 0x02, 0xe8, 0x35, 0xe1, 0xf3, + 0x95, 0x3b, 0x3d, 0x2c, 0x28, 0xb4, 0x87, 0x41, 0x68, 0x26, 0x82, 0xbe, + 0x0a, 0x66, 0x4b, 0x9c, 0x3b, 0x6f, 0xef, 0x8a, 0x61, 0x95, 0x79, 0xb8, +}; +static const unsigned char kat4255_entropyinpr1[] = { + 0x76, 0x12, 0x41, 0x75, 0x0b, 0xa9, 0xa8, 0xcf, 0xa8, 0x32, 0x8f, 0x02, + 0xec, 0x32, 0xab, 0x02, 0x5a, 0x97, 0x47, 0x8d, 0xb9, 0x95, 0xf8, 0x42, + 0x7e, 0x44, 0xfd, 0xb7, 0x32, 0x26, 0xa7, 0x05, 0x7b, 0xdd, 0x36, 0x33, + 0x25, 0xce, 0xd3, 0x77, 0x05, 0x74, 0xbd, 0x45, 0x63, 0xf1, 0x76, 0x48, +}; +static const unsigned char kat4255_addinpr1[] = { + 0xe4, 0x4d, 0xfd, 0xad, 0x93, 0xc9, 0xc5, 0x92, 0x50, 0x42, 0xbc, 0x5c, + 0xfb, 0xcb, 0x61, 0x85, 0x41, 0x25, 0x23, 0x84, 0xa3, 0x97, 0x31, 0x20, + 0x27, 0x74, 0xe7, 0x5e, 0xfc, 0x6d, 0x7f, 0x43, 0xfe, 0x54, 0xb4, 0x51, + 0x76, 0x8b, 0xf9, 0x84, 0xbb, 0xd1, 0xad, 0x7c, 0x05, 0x94, 0xa0, 0xec, +}; +static const unsigned char kat4255_entropyinpr2[] = { + 0x62, 0x3e, 0x95, 0x1b, 0x84, 0x05, 0xaa, 0xf8, 0xb7, 0x68, 0x67, 0x89, + 0xe0, 0x13, 0x47, 0x2d, 0x60, 0x93, 0xe8, 0x2f, 0xc3, 0xcc, 0x92, 0x0d, + 0x60, 0x38, 0x64, 0xad, 0x49, 0x0f, 0x07, 0x1b, 0x6a, 0x69, 0x37, 0x5c, + 0xcb, 0x77, 0x12, 0x91, 0x45, 0x82, 0x59, 0x10, 0x88, 0x09, 0xe5, 0xbd, +}; +static const unsigned char kat4255_addinpr2[] = { + 0x4c, 0xbf, 0x9e, 0xcb, 0x04, 0x0d, 0x0d, 0x82, 0x21, 0xf5, 0x6e, 0x9a, + 0xbf, 0x62, 0x3c, 0x02, 0x2c, 0xea, 0xde, 0xd7, 0x2f, 0x20, 0x16, 0x48, + 0x45, 0x53, 0x06, 0x8f, 0x84, 0x22, 0xda, 0xed, 0x37, 0x37, 0x31, 0x0d, + 0x95, 0x1d, 0x9c, 0x24, 0x08, 0x00, 0xa3, 0x6f, 0x91, 0xac, 0xc5, 0x37, +}; +static const unsigned char kat4255_retbits[] = { + 0xf0, 0x8f, 0x1c, 0xe1, 0x9e, 0xc5, 0x76, 0x2b, 0x4f, 0xf4, 0x05, 0x8d, + 0xf7, 0x01, 0x6b, 0xd8, 0x9c, 0x6f, 0x08, 0x82, 0x10, 0x32, 0x7b, 0x19, + 0x48, 0xf7, 0x9b, 0x24, 0x53, 0x98, 0x1c, 0x17, 0x59, 0xd7, 0xc3, 0x70, + 0xf2, 0xf6, 0x24, 0x74, 0x71, 0x1f, 0xf4, 0xef, 0x95, 0x37, 0x67, 0x2e, + 0x99, 0x97, 0x9c, 0x78, 0xb1, 0xe5, 0x79, 0xa5, 0x0b, 0x0e, 0x71, 0x97, + 0x24, 0xce, 0x83, 0xc2, +}; +static const struct drbg_kat_pr_true kat4255_t = { + 9, kat4255_entropyin, kat4255_nonce, kat4255_persstr, + kat4255_entropyinpr1, kat4255_addinpr1, kat4255_entropyinpr2, + kat4255_addinpr2, kat4255_retbits +}; +static const struct drbg_kat kat4255 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4255_t +}; + +static const unsigned char kat4256_entropyin[] = { + 0x4e, 0xca, 0xda, 0xb4, 0x00, 0x09, 0x61, 0xd1, 0x49, 0x00, 0x13, 0x75, + 0x56, 0x98, 0x2a, 0x81, 0xd4, 0x70, 0x89, 0x72, 0x13, 0xa6, 0xd8, 0xaf, + 0x1f, 0xf9, 0x2e, 0x47, 0xc9, 0xf0, 0xcd, 0x10, 0xdd, 0x56, 0x8f, 0x86, + 0x5b, 0x08, 0xbb, 0x89, 0x6b, 0x80, 0xa9, 0x14, 0x51, 0x21, 0xab, 0xf9, +}; +static const unsigned char kat4256_nonce[] = {0}; +static const unsigned char kat4256_persstr[] = { + 0x00, 0x13, 0xe6, 0x9a, 0xc5, 0x47, 0x8f, 0xc9, 0x27, 0x79, 0x5f, 0xb7, + 0x0f, 0x8d, 0x60, 0x00, 0xaf, 0xed, 0x4a, 0x0e, 0x4d, 0x2d, 0x82, 0x6a, + 0x37, 0x15, 0x99, 0x0e, 0x3a, 0xb4, 0xad, 0x2b, 0xef, 0xb4, 0x42, 0x5f, + 0x57, 0xef, 0xf8, 0x21, 0x94, 0xfc, 0xe6, 0x5a, 0xbd, 0x6d, 0x6c, 0x1a, +}; +static const unsigned char kat4256_entropyinpr1[] = { + 0x3b, 0x50, 0x6d, 0x96, 0xf8, 0x0e, 0xca, 0xd2, 0xee, 0x86, 0xf9, 0xf3, + 0x99, 0x08, 0x31, 0xe4, 0x0b, 0xfa, 0x57, 0x53, 0xc9, 0x12, 0x5c, 0x6a, + 0xbe, 0x36, 0xce, 0x53, 0x44, 0x9e, 0xe3, 0xb1, 0x91, 0x3d, 0xf1, 0x61, + 0x20, 0x56, 0x04, 0x2a, 0x30, 0x4b, 0xf7, 0x32, 0xb9, 0x76, 0x80, 0x80, +}; +static const unsigned char kat4256_addinpr1[] = { + 0xab, 0x03, 0x93, 0x17, 0x6f, 0xb0, 0x12, 0x8e, 0x6d, 0xf6, 0x30, 0x8d, + 0x81, 0x7b, 0x0c, 0x00, 0x7a, 0x95, 0xb4, 0xb8, 0xc8, 0x27, 0x19, 0xef, + 0x75, 0x14, 0xc6, 0x1e, 0x4c, 0x22, 0x2b, 0x36, 0xef, 0x80, 0xfc, 0xf0, + 0xb5, 0x2a, 0x71, 0x10, 0xcb, 0x9c, 0xe1, 0x8d, 0x8a, 0x75, 0x72, 0xab, +}; +static const unsigned char kat4256_entropyinpr2[] = { + 0xbe, 0x5d, 0x50, 0xe0, 0xdb, 0x9a, 0x34, 0x3c, 0x2d, 0xed, 0xbc, 0x55, + 0xb4, 0x3e, 0x29, 0xb8, 0x98, 0xcf, 0x7e, 0xf6, 0x04, 0x41, 0xc9, 0x9a, + 0x06, 0x63, 0x46, 0x67, 0xb6, 0x81, 0x04, 0x90, 0x0c, 0x3a, 0x99, 0xa1, + 0xdc, 0x67, 0x0f, 0x71, 0xa4, 0x65, 0xe7, 0xb7, 0x16, 0xec, 0xa4, 0x3e, +}; +static const unsigned char kat4256_addinpr2[] = { + 0x52, 0x93, 0x4c, 0xe7, 0xb5, 0x9c, 0x85, 0xee, 0xc9, 0x8d, 0x80, 0x46, + 0x28, 0x6a, 0x75, 0x4a, 0x7e, 0x8b, 0xb1, 0x82, 0xd1, 0xbe, 0xc3, 0xb2, + 0x95, 0x8c, 0xa6, 0x92, 0xa6, 0x0e, 0xe9, 0x24, 0xbe, 0xa0, 0xd7, 0x76, + 0x37, 0x95, 0x08, 0xf2, 0x00, 0x5a, 0xfe, 0xc9, 0x46, 0x8a, 0x8c, 0x7d, +}; +static const unsigned char kat4256_retbits[] = { + 0x4f, 0xf5, 0x00, 0x7e, 0x85, 0x9d, 0xe9, 0x22, 0x68, 0xbc, 0x2d, 0xc6, + 0x8f, 0x77, 0x88, 0x7d, 0x4d, 0xc5, 0x4c, 0x7b, 0x28, 0xf5, 0x30, 0x8f, + 0xfa, 0xac, 0x55, 0x3c, 0x57, 0xde, 0x5f, 0x28, 0x98, 0xee, 0xe3, 0x69, + 0x6d, 0x30, 0x04, 0x4d, 0xc1, 0x93, 0x18, 0x32, 0xbd, 0xf3, 0x59, 0x61, + 0xbd, 0xec, 0x10, 0x0b, 0xc9, 0x90, 0x9b, 0x43, 0x24, 0xca, 0x81, 0x39, + 0x8f, 0xef, 0x04, 0xad, +}; +static const struct drbg_kat_pr_true kat4256_t = { + 10, kat4256_entropyin, kat4256_nonce, kat4256_persstr, + kat4256_entropyinpr1, kat4256_addinpr1, kat4256_entropyinpr2, + kat4256_addinpr2, kat4256_retbits +}; +static const struct drbg_kat kat4256 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4256_t +}; + +static const unsigned char kat4257_entropyin[] = { + 0xdb, 0xa3, 0x6d, 0x56, 0xec, 0x5a, 0x52, 0x9d, 0x11, 0x47, 0x6f, 0x0a, + 0x01, 0x19, 0x36, 0x8e, 0xb0, 0x5a, 0x76, 0xe4, 0x09, 0x62, 0xde, 0x67, + 0x97, 0x3a, 0x63, 0x7b, 0xc4, 0xc4, 0xb7, 0xd2, 0x8e, 0x24, 0x3a, 0x10, + 0xca, 0xd6, 0x68, 0x45, 0x81, 0x89, 0xe1, 0x2f, 0xe8, 0xe8, 0xf4, 0xc6, +}; +static const unsigned char kat4257_nonce[] = {0}; +static const unsigned char kat4257_persstr[] = { + 0x45, 0xa8, 0xc6, 0x3d, 0xe2, 0x63, 0xf6, 0x49, 0x8c, 0x54, 0x4a, 0x43, + 0x63, 0xc5, 0x71, 0x8d, 0xbb, 0x06, 0xc4, 0x97, 0xd1, 0x53, 0x7b, 0x26, + 0x4f, 0xd1, 0xaf, 0x48, 0x3d, 0xa0, 0xcc, 0xd5, 0x5a, 0x4e, 0x9f, 0x54, + 0x28, 0x89, 0xa3, 0x46, 0x83, 0x57, 0x7a, 0xb9, 0x3a, 0x2a, 0x69, 0x43, +}; +static const unsigned char kat4257_entropyinpr1[] = { + 0xa8, 0xec, 0x5c, 0xdc, 0xa0, 0x1e, 0x66, 0x50, 0xfd, 0xe4, 0x07, 0x63, + 0xf7, 0x0c, 0xfe, 0x73, 0x64, 0x7d, 0x47, 0x08, 0xbb, 0x33, 0xe1, 0xb1, + 0xad, 0x0f, 0x9c, 0xf6, 0x26, 0x10, 0x5f, 0xe4, 0x5c, 0xd7, 0xa5, 0xeb, + 0x9e, 0x15, 0x7d, 0x83, 0xb1, 0xcd, 0x77, 0x69, 0x49, 0x32, 0x96, 0x88, +}; +static const unsigned char kat4257_addinpr1[] = { + 0xcf, 0x61, 0xf9, 0x16, 0x7d, 0x15, 0x2b, 0xe5, 0xff, 0x20, 0x5f, 0x24, + 0xc7, 0x34, 0xc5, 0xab, 0x2b, 0x12, 0x20, 0xe6, 0x34, 0x4c, 0x98, 0xcf, + 0xaf, 0x70, 0x69, 0xd2, 0x95, 0x44, 0x51, 0xe7, 0x27, 0xad, 0x50, 0x45, + 0x08, 0x06, 0x12, 0x24, 0x8e, 0x3e, 0x7d, 0x4b, 0xac, 0x69, 0x66, 0x88, +}; +static const unsigned char kat4257_entropyinpr2[] = { + 0x1f, 0xba, 0x4d, 0xe2, 0xc0, 0xe8, 0xa2, 0x87, 0x00, 0xd1, 0xf8, 0xb0, + 0x33, 0x3e, 0x36, 0xa6, 0x2c, 0x21, 0xe9, 0x17, 0x07, 0x3a, 0x7a, 0xde, + 0x4b, 0x6b, 0xf0, 0xf5, 0x19, 0x22, 0x66, 0x24, 0x11, 0xd4, 0x72, 0xf9, + 0x45, 0x5f, 0x49, 0x33, 0xa5, 0x63, 0xb2, 0x1c, 0x24, 0x17, 0xc1, 0x1b, +}; +static const unsigned char kat4257_addinpr2[] = { + 0x30, 0xc3, 0xd6, 0x49, 0xb5, 0x61, 0x7f, 0x02, 0xe7, 0xc4, 0xc0, 0xf5, + 0x5e, 0x4a, 0x78, 0xd0, 0xc4, 0x63, 0xab, 0x50, 0x46, 0x6d, 0x82, 0x09, + 0x0e, 0x35, 0xa7, 0xbf, 0x42, 0x12, 0xc7, 0x27, 0xfb, 0xda, 0xa8, 0xdd, + 0xa8, 0xbe, 0x6a, 0x7a, 0x81, 0x7e, 0x52, 0x99, 0xd4, 0x42, 0x62, 0x55, +}; +static const unsigned char kat4257_retbits[] = { + 0x5e, 0xb9, 0x15, 0x38, 0x5c, 0x99, 0x65, 0x4a, 0x2c, 0x53, 0x76, 0x8f, + 0x1e, 0xfc, 0x76, 0xa2, 0x97, 0x42, 0x2b, 0x42, 0x53, 0x7e, 0xd9, 0x7d, + 0x08, 0xd4, 0x74, 0x24, 0x0a, 0xcd, 0xa2, 0xa8, 0xf5, 0x96, 0x8c, 0x25, + 0xee, 0xb2, 0x98, 0xa7, 0xc2, 0xf8, 0xe7, 0xe6, 0xc2, 0xa9, 0x8e, 0x56, + 0x08, 0x3c, 0xff, 0xf4, 0x5e, 0x40, 0x17, 0xe0, 0xae, 0xd7, 0x4d, 0x19, + 0x9b, 0x9f, 0x30, 0x4c, +}; +static const struct drbg_kat_pr_true kat4257_t = { + 11, kat4257_entropyin, kat4257_nonce, kat4257_persstr, + kat4257_entropyinpr1, kat4257_addinpr1, kat4257_entropyinpr2, + kat4257_addinpr2, kat4257_retbits +}; +static const struct drbg_kat kat4257 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4257_t +}; + +static const unsigned char kat4258_entropyin[] = { + 0x11, 0xe9, 0x7d, 0x87, 0xae, 0x28, 0xa7, 0xf2, 0xa8, 0xd3, 0xc0, 0xc6, + 0xe7, 0x24, 0xab, 0x96, 0x4b, 0xfc, 0x7d, 0x4b, 0x57, 0x8f, 0xcd, 0x69, + 0xc7, 0xb3, 0xd6, 0x63, 0x16, 0x4c, 0x56, 0x83, 0xf6, 0xc2, 0xb5, 0xa5, + 0xf4, 0x6e, 0x43, 0x9f, 0x74, 0x71, 0x08, 0xc6, 0x75, 0xdc, 0xdc, 0x86, +}; +static const unsigned char kat4258_nonce[] = {0}; +static const unsigned char kat4258_persstr[] = { + 0x7f, 0x81, 0x64, 0x90, 0x39, 0x61, 0x31, 0xc8, 0x17, 0x12, 0xa3, 0x21, + 0x35, 0xfc, 0x59, 0xa9, 0xa8, 0x60, 0x24, 0xb6, 0x36, 0x68, 0xaa, 0x13, + 0x98, 0xeb, 0x29, 0xb0, 0xdc, 0x0e, 0xfe, 0x4d, 0x46, 0xaf, 0xf0, 0x21, + 0xab, 0x38, 0x66, 0x4f, 0x79, 0x71, 0xef, 0xc5, 0xa6, 0x08, 0x00, 0x5d, +}; +static const unsigned char kat4258_entropyinpr1[] = { + 0x90, 0x42, 0xec, 0xb8, 0x6d, 0x46, 0x7d, 0xbb, 0x96, 0xac, 0xbf, 0xdb, + 0x76, 0x84, 0x0d, 0x5d, 0x86, 0x85, 0x15, 0x8d, 0xc8, 0xd1, 0x80, 0x96, + 0x84, 0x9c, 0x30, 0x1a, 0x9c, 0x8c, 0xbb, 0xbb, 0x94, 0xdc, 0x3d, 0x87, + 0x13, 0xe2, 0x0e, 0x4c, 0xbd, 0x7c, 0xbd, 0x48, 0xb0, 0x44, 0xa5, 0xc9, +}; +static const unsigned char kat4258_addinpr1[] = { + 0x9e, 0x2d, 0x5b, 0x7a, 0xf1, 0x7f, 0xd6, 0xa1, 0x1e, 0x91, 0x97, 0x8b, + 0xed, 0x43, 0x38, 0x01, 0x68, 0xb3, 0x48, 0x1f, 0x2f, 0x3c, 0x5f, 0x95, + 0x15, 0x4f, 0xd1, 0x36, 0xcd, 0x4c, 0x14, 0xce, 0x48, 0x53, 0xc3, 0xfa, + 0xea, 0x9f, 0xbc, 0xf8, 0x9e, 0x67, 0x38, 0x29, 0x62, 0xf9, 0xb2, 0x1b, +}; +static const unsigned char kat4258_entropyinpr2[] = { + 0x73, 0xf3, 0xc8, 0xa1, 0x1c, 0xf2, 0x2f, 0x9e, 0xc3, 0x97, 0x96, 0xa8, + 0xb0, 0xdd, 0xc2, 0xdf, 0x70, 0x87, 0x46, 0x8b, 0xce, 0x2a, 0x59, 0x6d, + 0xd8, 0x5a, 0xa9, 0x49, 0x9c, 0x49, 0x59, 0x96, 0x45, 0xe0, 0xfe, 0x96, + 0x9c, 0xde, 0xdf, 0x92, 0x61, 0x92, 0x11, 0xd5, 0xac, 0xe5, 0x54, 0xf6, +}; +static const unsigned char kat4258_addinpr2[] = { + 0x5c, 0x9b, 0x36, 0x52, 0x5a, 0xcc, 0xba, 0xb8, 0x74, 0x16, 0x36, 0xb4, + 0x2e, 0x53, 0xf5, 0xb3, 0xff, 0xcc, 0x01, 0x5c, 0x90, 0x5b, 0x90, 0x10, + 0xd0, 0x32, 0x87, 0x38, 0x9d, 0x3b, 0x1a, 0x44, 0xac, 0xfb, 0x1c, 0x43, + 0xf2, 0x45, 0xb0, 0x77, 0x98, 0xfa, 0xe3, 0x3d, 0xc0, 0x95, 0x92, 0x15, +}; +static const unsigned char kat4258_retbits[] = { + 0x9b, 0x33, 0x32, 0xb2, 0x6d, 0x4b, 0x66, 0xaa, 0xbf, 0x78, 0x3c, 0xc4, + 0x64, 0xe1, 0x0f, 0x17, 0xee, 0xd0, 0x0e, 0x10, 0xfb, 0x2f, 0xf4, 0xe0, + 0x06, 0x78, 0x45, 0x17, 0xba, 0x6f, 0x36, 0x6f, 0x3a, 0xb3, 0x62, 0xb4, + 0x6a, 0x07, 0xe9, 0xa0, 0x1a, 0x91, 0x38, 0xc0, 0xd7, 0x30, 0xa4, 0x87, + 0x29, 0x2e, 0x67, 0xe2, 0xd6, 0x33, 0x60, 0xd3, 0xc4, 0x92, 0xcc, 0x2b, + 0x2b, 0x9e, 0xf3, 0xed, +}; +static const struct drbg_kat_pr_true kat4258_t = { + 12, kat4258_entropyin, kat4258_nonce, kat4258_persstr, + kat4258_entropyinpr1, kat4258_addinpr1, kat4258_entropyinpr2, + kat4258_addinpr2, kat4258_retbits +}; +static const struct drbg_kat kat4258 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4258_t +}; + +static const unsigned char kat4259_entropyin[] = { + 0xde, 0x5f, 0x34, 0x29, 0xbb, 0x76, 0xfc, 0x13, 0x31, 0x8b, 0xc8, 0x3e, + 0xd5, 0x36, 0xf4, 0xa1, 0x4f, 0x1e, 0x01, 0x06, 0x98, 0x94, 0x72, 0xde, + 0x31, 0xe9, 0xaa, 0x23, 0x42, 0x95, 0x88, 0xd8, 0xf5, 0x14, 0x8c, 0xe5, + 0x4e, 0x55, 0xac, 0x09, 0xd2, 0xbc, 0x3f, 0x3b, 0xd3, 0xed, 0x19, 0xcc, +}; +static const unsigned char kat4259_nonce[] = {0}; +static const unsigned char kat4259_persstr[] = { + 0xaa, 0x57, 0x81, 0x2b, 0x40, 0x98, 0xd1, 0x0b, 0xfa, 0x1f, 0xe1, 0x6b, + 0x1d, 0x4e, 0xdf, 0xd8, 0x13, 0x3e, 0xca, 0xf2, 0x2d, 0xcc, 0x01, 0xb0, + 0xa0, 0x9e, 0x82, 0x78, 0xa4, 0xd4, 0xba, 0x58, 0xe5, 0x85, 0xbd, 0x0c, + 0xfe, 0x38, 0xe8, 0x58, 0x4d, 0xd1, 0x9c, 0x26, 0xa6, 0x5e, 0xc7, 0x2b, +}; +static const unsigned char kat4259_entropyinpr1[] = { + 0x96, 0xa8, 0x9d, 0x66, 0x68, 0xc3, 0xde, 0xf5, 0x03, 0xc9, 0x53, 0xdf, + 0x3d, 0x00, 0x72, 0x9c, 0xd0, 0xde, 0xc2, 0x19, 0x1c, 0x6a, 0x2d, 0x19, + 0xd9, 0x42, 0x0b, 0x00, 0x1e, 0xa4, 0x02, 0x5a, 0xee, 0xce, 0x04, 0xc8, + 0x94, 0x49, 0x7a, 0x6d, 0x5c, 0x16, 0x90, 0x2e, 0xa8, 0x04, 0x24, 0x58, +}; +static const unsigned char kat4259_addinpr1[] = { + 0x62, 0x79, 0xcd, 0x1c, 0xe9, 0x4b, 0x50, 0x14, 0x60, 0x41, 0x01, 0x99, + 0x89, 0x84, 0x7e, 0x00, 0xe1, 0x12, 0xfe, 0xcc, 0x33, 0x49, 0x59, 0x37, + 0x95, 0x69, 0x9c, 0x92, 0xf5, 0x70, 0xe5, 0xa8, 0xd5, 0xd6, 0x4e, 0xfb, + 0x28, 0x66, 0xd4, 0x90, 0xca, 0x15, 0xa9, 0xdd, 0x25, 0xf4, 0x5a, 0x56, +}; +static const unsigned char kat4259_entropyinpr2[] = { + 0x27, 0x18, 0xd5, 0x9d, 0x95, 0x73, 0x93, 0xa6, 0x10, 0xef, 0x7a, 0x9f, + 0x56, 0x4b, 0x59, 0xbe, 0x12, 0x81, 0xb7, 0x32, 0x59, 0x07, 0xc0, 0x57, + 0x4f, 0x19, 0x32, 0x4d, 0x61, 0xcd, 0x68, 0x7a, 0x50, 0xdc, 0x16, 0x58, + 0xde, 0xbd, 0xca, 0x37, 0xcd, 0x76, 0xd4, 0x90, 0xa4, 0x31, 0xae, 0x95, +}; +static const unsigned char kat4259_addinpr2[] = { + 0x48, 0x6e, 0x84, 0x91, 0xbe, 0xad, 0x78, 0x40, 0x50, 0x40, 0x43, 0xd4, + 0xcb, 0x6c, 0xd6, 0x7a, 0x46, 0xaf, 0x40, 0xf4, 0x02, 0x43, 0xa5, 0xef, + 0x10, 0x30, 0xb3, 0x5e, 0x98, 0xc8, 0xe4, 0x70, 0xf6, 0xc2, 0x21, 0x34, + 0x43, 0xbf, 0xbe, 0xc2, 0xc2, 0x22, 0x96, 0xa5, 0xb4, 0x4d, 0x9a, 0xb2, +}; +static const unsigned char kat4259_retbits[] = { + 0xe3, 0xaa, 0x10, 0xd0, 0x85, 0xd6, 0xc9, 0x10, 0xc1, 0x77, 0xfb, 0x22, + 0xba, 0x5e, 0x49, 0xc3, 0xa5, 0xf1, 0x74, 0xb5, 0x6f, 0x07, 0xdf, 0xa5, + 0x8f, 0xd3, 0x15, 0x06, 0x71, 0x85, 0xb5, 0xbe, 0x37, 0xff, 0xbc, 0x2d, + 0x99, 0x3d, 0x39, 0xbc, 0xb2, 0x28, 0xf1, 0x1f, 0x5d, 0xd6, 0x3d, 0x8a, + 0xb9, 0x72, 0x17, 0x44, 0xd9, 0x47, 0x46, 0x93, 0xbd, 0x9b, 0x51, 0x78, + 0x9e, 0xbe, 0x4f, 0x89, +}; +static const struct drbg_kat_pr_true kat4259_t = { + 13, kat4259_entropyin, kat4259_nonce, kat4259_persstr, + kat4259_entropyinpr1, kat4259_addinpr1, kat4259_entropyinpr2, + kat4259_addinpr2, kat4259_retbits +}; +static const struct drbg_kat kat4259 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4259_t +}; + +static const unsigned char kat4260_entropyin[] = { + 0x93, 0x15, 0x15, 0x56, 0x64, 0x07, 0x5b, 0x4b, 0xcf, 0xfe, 0x5d, 0x89, + 0x70, 0xc6, 0xe8, 0xe8, 0xb3, 0xbc, 0x5c, 0x7f, 0xea, 0xfa, 0x7c, 0xc8, + 0x28, 0xa6, 0x85, 0xad, 0x56, 0xcf, 0xc0, 0xd9, 0xad, 0xa0, 0x5e, 0x12, + 0xab, 0x67, 0x69, 0x5b, 0xf2, 0x7f, 0xba, 0x3c, 0xd7, 0xe2, 0xcc, 0x00, +}; +static const unsigned char kat4260_nonce[] = {0}; +static const unsigned char kat4260_persstr[] = { + 0xa6, 0x91, 0xc1, 0x2c, 0xc3, 0x22, 0xe2, 0xc5, 0x3f, 0xfc, 0xd3, 0x2c, + 0x8b, 0x1b, 0xba, 0xa5, 0x43, 0xa8, 0xe6, 0xf9, 0x7b, 0x90, 0xa4, 0x5c, + 0xf7, 0xd7, 0x43, 0xd2, 0x9e, 0xd7, 0xa5, 0x3a, 0xd2, 0x09, 0xe0, 0xf2, + 0x2a, 0xd8, 0xa8, 0x6a, 0x8f, 0xb5, 0x9f, 0x6d, 0xf2, 0x42, 0xae, 0xa6, +}; +static const unsigned char kat4260_entropyinpr1[] = { + 0xca, 0xc1, 0xbd, 0x62, 0xb1, 0xb7, 0x81, 0x02, 0xc1, 0xcd, 0xab, 0x6d, + 0xb5, 0xbd, 0x31, 0xbc, 0x6f, 0x91, 0x3d, 0x7a, 0x91, 0xb0, 0x2d, 0x41, + 0xa8, 0xa0, 0xfe, 0xa4, 0x8c, 0xe2, 0x8c, 0xcf, 0xdd, 0x40, 0x18, 0x13, + 0x02, 0xe7, 0x99, 0x84, 0x35, 0x65, 0x0b, 0x3f, 0x04, 0x3d, 0xf6, 0xa1, +}; +static const unsigned char kat4260_addinpr1[] = { + 0x55, 0x55, 0x45, 0x79, 0x8c, 0xd0, 0x76, 0x45, 0xe7, 0x47, 0x0d, 0x4a, + 0x8d, 0x43, 0xcf, 0xbd, 0x32, 0x28, 0x88, 0x52, 0x32, 0x9a, 0xf2, 0xc7, + 0x6f, 0x2a, 0x7d, 0x2f, 0xd5, 0x3c, 0xc6, 0x3e, 0x43, 0x44, 0xe8, 0x0d, + 0x54, 0x91, 0x7f, 0x4e, 0x9a, 0x4c, 0xd2, 0x1e, 0x60, 0x07, 0x4e, 0x9a, +}; +static const unsigned char kat4260_entropyinpr2[] = { + 0xa5, 0x2c, 0x99, 0xa1, 0x2f, 0x63, 0xc6, 0xae, 0x4b, 0xc1, 0x01, 0xff, + 0x22, 0x1d, 0x7f, 0xd1, 0xb4, 0xdd, 0x79, 0xdf, 0x76, 0xe3, 0x89, 0x92, + 0xba, 0x3f, 0xdf, 0x38, 0x0b, 0xdb, 0xad, 0x5e, 0x6a, 0xa1, 0x5d, 0x0a, + 0xb6, 0x38, 0xe9, 0x08, 0x74, 0xd8, 0x1b, 0xdb, 0x2e, 0x98, 0x3a, 0xba, +}; +static const unsigned char kat4260_addinpr2[] = { + 0xc0, 0xe1, 0x6d, 0x4f, 0xc8, 0x5c, 0xfb, 0x1c, 0x3a, 0x4f, 0x69, 0x80, + 0x60, 0x41, 0xc5, 0xa2, 0x70, 0xd4, 0xaf, 0x74, 0x22, 0x92, 0xdc, 0xeb, + 0xec, 0xcb, 0xa7, 0x5e, 0x1b, 0xa0, 0xbf, 0x74, 0x9c, 0x5e, 0xa6, 0xbc, + 0xcf, 0xbe, 0x0e, 0xdd, 0xc8, 0x39, 0xfa, 0xef, 0xdd, 0xd5, 0x46, 0x3d, +}; +static const unsigned char kat4260_retbits[] = { + 0xe7, 0x28, 0x95, 0x7b, 0x29, 0x25, 0x65, 0xf9, 0x06, 0xde, 0x0c, 0xee, + 0x5b, 0xf9, 0x1f, 0xbe, 0x2e, 0x18, 0x98, 0x57, 0xca, 0x5d, 0x5e, 0xfe, + 0xfb, 0x59, 0x53, 0xa8, 0xe9, 0xf4, 0x66, 0x30, 0x75, 0x6e, 0xa0, 0x1a, + 0xbf, 0x8e, 0x6f, 0xc4, 0x99, 0xbc, 0x8e, 0x2e, 0x5c, 0x29, 0xc6, 0x26, + 0x69, 0xbc, 0x07, 0xcc, 0xfb, 0xdc, 0x79, 0x51, 0x21, 0x5f, 0x8b, 0xa7, + 0xf1, 0xbc, 0x81, 0x5e, +}; +static const struct drbg_kat_pr_true kat4260_t = { + 14, kat4260_entropyin, kat4260_nonce, kat4260_persstr, + kat4260_entropyinpr1, kat4260_addinpr1, kat4260_entropyinpr2, + kat4260_addinpr2, kat4260_retbits +}; +static const struct drbg_kat kat4260 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4260_t +}; + +static const unsigned char kat4261_entropyin[] = { + 0xd9, 0x59, 0x55, 0x48, 0x7e, 0x78, 0x81, 0xb8, 0xaa, 0x88, 0xfe, 0xa0, + 0xe1, 0x10, 0x55, 0xfc, 0xbb, 0xf0, 0x3f, 0x6a, 0xdc, 0xd9, 0x3d, 0x42, + 0x4d, 0x68, 0xcc, 0x43, 0x01, 0xfb, 0x38, 0x7f, 0x14, 0xb8, 0x80, 0x60, + 0x52, 0xc1, 0x9a, 0x6f, 0x33, 0xc0, 0x60, 0x22, 0x7b, 0x96, 0xf9, 0x55, +}; +static const unsigned char kat4261_nonce[] = {0}; +static const unsigned char kat4261_persstr[] = {0}; +static const unsigned char kat4261_entropyinpr1[] = { + 0xf4, 0xeb, 0x95, 0x57, 0x99, 0x1d, 0x97, 0x9c, 0x85, 0x98, 0xda, 0xd1, + 0x19, 0xf7, 0x29, 0x7a, 0x1a, 0x05, 0xe6, 0x3b, 0x0c, 0x30, 0x98, 0x7a, + 0x5b, 0x59, 0xc4, 0x3d, 0x2e, 0x51, 0xbf, 0xbe, 0xb2, 0x5a, 0x02, 0xff, + 0x77, 0x6e, 0xce, 0x92, 0x70, 0x93, 0x0a, 0xc6, 0x1c, 0x81, 0xb2, 0xdc, +}; +static const unsigned char kat4261_addinpr1[] = {0}; +static const unsigned char kat4261_entropyinpr2[] = { + 0x33, 0x2d, 0xe5, 0x8b, 0x15, 0x83, 0x75, 0x74, 0x24, 0x2c, 0x4e, 0x63, + 0x99, 0x17, 0x92, 0xf0, 0x05, 0x30, 0x7d, 0x5e, 0xf6, 0x37, 0x67, 0x0e, + 0x23, 0x00, 0x73, 0x5f, 0x8c, 0xe6, 0x2f, 0x0a, 0x2e, 0x8c, 0x4c, 0xea, + 0x2d, 0xf0, 0x58, 0x8f, 0x7c, 0x35, 0x7c, 0x3b, 0x7f, 0x24, 0xc2, 0xc2, +}; +static const unsigned char kat4261_addinpr2[] = {0}; +static const unsigned char kat4261_retbits[] = { + 0x27, 0x48, 0x7a, 0x3d, 0x3d, 0x6e, 0x93, 0x0f, 0xeb, 0x0b, 0x33, 0x83, + 0x2d, 0xdb, 0x49, 0x14, 0x68, 0x52, 0xfa, 0x41, 0xfd, 0xba, 0x4b, 0x56, + 0x2b, 0xe9, 0x9b, 0xa4, 0xf2, 0x67, 0xf5, 0xcf, 0x9e, 0x47, 0x97, 0x8f, + 0x05, 0x19, 0xce, 0xf6, 0x99, 0x89, 0xc2, 0xef, 0x52, 0x2b, 0x5e, 0xc6, + 0xa7, 0x59, 0x1d, 0xb7, 0x6e, 0xf5, 0xfb, 0x22, 0x00, 0x80, 0xa1, 0xc1, + 0xd6, 0x35, 0x2e, 0xf1, +}; +static const struct drbg_kat_pr_true kat4261_t = { + 0, kat4261_entropyin, kat4261_nonce, kat4261_persstr, + kat4261_entropyinpr1, kat4261_addinpr1, kat4261_entropyinpr2, + kat4261_addinpr2, kat4261_retbits +}; +static const struct drbg_kat kat4261 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4261_t +}; + +static const unsigned char kat4262_entropyin[] = { + 0x3c, 0x5e, 0xd0, 0xd2, 0x4d, 0xfe, 0x7f, 0x93, 0x77, 0x5a, 0x0c, 0x86, + 0x16, 0x8f, 0xbe, 0x95, 0xe4, 0x30, 0xf0, 0x58, 0xf3, 0x9e, 0xac, 0x98, + 0x2e, 0x26, 0x74, 0xca, 0x1c, 0xb2, 0x9a, 0x59, 0xac, 0xbe, 0x7e, 0xff, + 0x55, 0x40, 0x37, 0x52, 0x30, 0x4e, 0xbf, 0x24, 0xcd, 0x9d, 0x79, 0x9b, +}; +static const unsigned char kat4262_nonce[] = {0}; +static const unsigned char kat4262_persstr[] = {0}; +static const unsigned char kat4262_entropyinpr1[] = { + 0x0c, 0xb1, 0x81, 0x42, 0x58, 0xf2, 0xe9, 0x00, 0x46, 0xa5, 0x7c, 0xf2, + 0x60, 0x58, 0x8b, 0xd4, 0x16, 0x59, 0x98, 0x5b, 0x2d, 0x0a, 0xd2, 0x65, + 0x54, 0xaf, 0xbd, 0xba, 0x2c, 0xb9, 0x88, 0xb8, 0x63, 0x26, 0x7c, 0x54, + 0xa5, 0xe1, 0x86, 0xb6, 0x67, 0xdc, 0x8d, 0x35, 0xc5, 0x9a, 0x9e, 0x92, +}; +static const unsigned char kat4262_addinpr1[] = {0}; +static const unsigned char kat4262_entropyinpr2[] = { + 0x36, 0x62, 0x4b, 0xe5, 0x5f, 0x0b, 0x7b, 0x17, 0x96, 0x9e, 0x26, 0x1d, + 0x34, 0x33, 0xbe, 0x03, 0xd8, 0x9d, 0x7a, 0x72, 0xaa, 0x5e, 0xb8, 0x53, + 0x4b, 0x70, 0x2c, 0xdb, 0x13, 0x7a, 0x46, 0x46, 0x77, 0x6a, 0x5c, 0xc3, + 0x8e, 0xd0, 0xc7, 0xd3, 0x3c, 0x82, 0x3a, 0xf5, 0x1b, 0x67, 0x8b, 0x37, +}; +static const unsigned char kat4262_addinpr2[] = {0}; +static const unsigned char kat4262_retbits[] = { + 0x5e, 0x99, 0x1f, 0x97, 0x53, 0xba, 0xc9, 0xeb, 0xe8, 0x05, 0x12, 0xcf, + 0x2d, 0x3e, 0x01, 0x6d, 0xdd, 0x93, 0x6c, 0x6c, 0xfe, 0x2b, 0x8b, 0x8e, + 0x7a, 0xa3, 0x2d, 0x0c, 0xa6, 0xab, 0x88, 0x59, 0xa6, 0x63, 0x6d, 0xd3, + 0x40, 0xe7, 0xfd, 0x0f, 0xe7, 0x2f, 0x24, 0x59, 0xb3, 0xe2, 0xf5, 0x66, + 0x7e, 0xcd, 0xa1, 0x96, 0x4a, 0xd1, 0x4b, 0x22, 0x19, 0xad, 0x36, 0x23, + 0x6a, 0x19, 0x17, 0x64, +}; +static const struct drbg_kat_pr_true kat4262_t = { + 1, kat4262_entropyin, kat4262_nonce, kat4262_persstr, + kat4262_entropyinpr1, kat4262_addinpr1, kat4262_entropyinpr2, + kat4262_addinpr2, kat4262_retbits +}; +static const struct drbg_kat kat4262 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4262_t +}; + +static const unsigned char kat4263_entropyin[] = { + 0xb0, 0x26, 0x0e, 0x71, 0xe1, 0x3b, 0xb5, 0x74, 0x89, 0xda, 0x60, 0xcf, + 0xbe, 0x28, 0x42, 0x74, 0x38, 0x9f, 0x64, 0x6f, 0xe7, 0x3c, 0x9d, 0x34, + 0xbc, 0x7a, 0x9e, 0x77, 0x15, 0x97, 0xd7, 0x20, 0xa6, 0x08, 0x2c, 0x4d, + 0x33, 0x2e, 0x8a, 0x4d, 0x89, 0x5b, 0xed, 0x37, 0x62, 0x71, 0xb9, 0x5c, +}; +static const unsigned char kat4263_nonce[] = {0}; +static const unsigned char kat4263_persstr[] = {0}; +static const unsigned char kat4263_entropyinpr1[] = { + 0x1e, 0xde, 0x96, 0xad, 0x12, 0x9f, 0xe8, 0xf9, 0x57, 0x3d, 0x80, 0x00, + 0x73, 0xaf, 0x27, 0xa1, 0x75, 0xee, 0x8e, 0xd3, 0x94, 0x92, 0x4f, 0x48, + 0xa6, 0xd1, 0xb4, 0xe7, 0x64, 0xfa, 0xf9, 0x01, 0xf8, 0xf7, 0xcd, 0xa4, + 0xb2, 0xbd, 0x68, 0x25, 0x4a, 0x05, 0x2b, 0x84, 0x22, 0x5c, 0x55, 0x1a, +}; +static const unsigned char kat4263_addinpr1[] = {0}; +static const unsigned char kat4263_entropyinpr2[] = { + 0xfe, 0x4f, 0x28, 0xbe, 0x8a, 0x08, 0x1d, 0xb7, 0x8a, 0x7b, 0x9a, 0x10, + 0x15, 0x68, 0xec, 0x32, 0x2b, 0xa6, 0xaf, 0x36, 0xb1, 0x42, 0xa9, 0x80, + 0x1d, 0xa0, 0x80, 0x31, 0x4d, 0x3a, 0x37, 0x91, 0xef, 0xc2, 0x2b, 0x66, + 0x3a, 0x0f, 0x20, 0x83, 0x88, 0x9c, 0xb1, 0xd8, 0xc8, 0xb2, 0x8d, 0x40, +}; +static const unsigned char kat4263_addinpr2[] = {0}; +static const unsigned char kat4263_retbits[] = { + 0xcd, 0x70, 0xac, 0x41, 0xb8, 0xc3, 0xd9, 0x25, 0x4d, 0xc6, 0xd7, 0x16, + 0xeb, 0xd5, 0x2a, 0x26, 0x75, 0xad, 0x56, 0xb9, 0xde, 0xc5, 0x1b, 0xc1, + 0xf3, 0xd1, 0x08, 0x70, 0x9e, 0x82, 0x8a, 0x99, 0xfa, 0x63, 0x42, 0xad, + 0xda, 0x75, 0x50, 0x5b, 0x30, 0x48, 0xa3, 0x65, 0x81, 0xb0, 0xa9, 0xc2, + 0xee, 0x02, 0x8d, 0x23, 0x25, 0xb2, 0xbd, 0x03, 0x02, 0x93, 0x03, 0x1b, + 0x44, 0x6a, 0xd3, 0x51, +}; +static const struct drbg_kat_pr_true kat4263_t = { + 2, kat4263_entropyin, kat4263_nonce, kat4263_persstr, + kat4263_entropyinpr1, kat4263_addinpr1, kat4263_entropyinpr2, + kat4263_addinpr2, kat4263_retbits +}; +static const struct drbg_kat kat4263 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4263_t +}; + +static const unsigned char kat4264_entropyin[] = { + 0x40, 0xc9, 0x29, 0x8e, 0x34, 0x7d, 0x8f, 0xa0, 0xa5, 0x92, 0x13, 0xf5, + 0x7f, 0xc5, 0x0c, 0x93, 0xe7, 0x94, 0xa1, 0xef, 0x76, 0xca, 0x19, 0x93, + 0x32, 0x37, 0xe2, 0xd9, 0x46, 0x0e, 0xd3, 0x31, 0xdf, 0xe7, 0x60, 0x71, + 0x37, 0x3d, 0xdb, 0xa5, 0x57, 0x25, 0xa4, 0x2d, 0xd0, 0x65, 0x17, 0x87, +}; +static const unsigned char kat4264_nonce[] = {0}; +static const unsigned char kat4264_persstr[] = {0}; +static const unsigned char kat4264_entropyinpr1[] = { + 0x0c, 0x5a, 0x6b, 0xe5, 0x75, 0x9c, 0xda, 0x7c, 0xfe, 0x29, 0xe6, 0x41, + 0xd5, 0xce, 0x6b, 0x87, 0xe3, 0x9b, 0x2e, 0x04, 0x21, 0x93, 0xa0, 0xf6, + 0xcc, 0x09, 0x38, 0x47, 0xc5, 0xfe, 0xcc, 0x3a, 0x3a, 0x9a, 0x5d, 0xdf, + 0xa6, 0x95, 0xc4, 0x8c, 0xad, 0x2b, 0x48, 0xfa, 0x75, 0x3d, 0x23, 0xa1, +}; +static const unsigned char kat4264_addinpr1[] = {0}; +static const unsigned char kat4264_entropyinpr2[] = { + 0x7d, 0x09, 0x5b, 0x25, 0x8f, 0xcc, 0x77, 0x7b, 0x20, 0x8a, 0x06, 0xfd, + 0x72, 0x11, 0xe1, 0xb5, 0x87, 0xb4, 0x9e, 0x05, 0x75, 0xba, 0xc8, 0x61, + 0x10, 0x15, 0x9c, 0xf3, 0xbb, 0xf4, 0x4b, 0xff, 0x77, 0x17, 0x3c, 0xbd, + 0x21, 0x6b, 0x22, 0xba, 0x6d, 0xcf, 0x45, 0xe4, 0xd9, 0x49, 0x0e, 0xcb, +}; +static const unsigned char kat4264_addinpr2[] = {0}; +static const unsigned char kat4264_retbits[] = { + 0x3e, 0x7c, 0xd4, 0x8f, 0x6e, 0x44, 0x09, 0x50, 0x13, 0x1e, 0x4d, 0xaf, + 0x32, 0x30, 0xa9, 0x6d, 0x84, 0xf5, 0xc1, 0xf4, 0xd5, 0x0f, 0x47, 0x3a, + 0xdf, 0x36, 0x0e, 0x28, 0xe7, 0x6c, 0xd8, 0x1c, 0x58, 0xa2, 0x53, 0xe6, + 0x68, 0xdd, 0x64, 0x26, 0xf7, 0xae, 0x63, 0x82, 0xce, 0xaf, 0xf2, 0x01, + 0xf5, 0x29, 0xc0, 0xaa, 0x20, 0x02, 0x25, 0x2b, 0xff, 0x49, 0xfa, 0x02, + 0xf0, 0x3b, 0xcf, 0x00, +}; +static const struct drbg_kat_pr_true kat4264_t = { + 3, kat4264_entropyin, kat4264_nonce, kat4264_persstr, + kat4264_entropyinpr1, kat4264_addinpr1, kat4264_entropyinpr2, + kat4264_addinpr2, kat4264_retbits +}; +static const struct drbg_kat kat4264 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4264_t +}; + +static const unsigned char kat4265_entropyin[] = { + 0xc0, 0x36, 0xe8, 0xf5, 0x11, 0x2a, 0xf5, 0xb9, 0x48, 0xb1, 0x9d, 0x7e, + 0xa9, 0x27, 0x89, 0x9b, 0x00, 0x9d, 0x46, 0xad, 0x37, 0x8b, 0x07, 0x5b, + 0x6d, 0x5c, 0x13, 0xd5, 0xb4, 0xf9, 0x34, 0xd7, 0xb3, 0x2c, 0x18, 0xfb, + 0x67, 0x2b, 0x38, 0x59, 0xb9, 0x5d, 0x88, 0xa8, 0xf9, 0x95, 0x89, 0x2b, +}; +static const unsigned char kat4265_nonce[] = {0}; +static const unsigned char kat4265_persstr[] = {0}; +static const unsigned char kat4265_entropyinpr1[] = { + 0x88, 0x37, 0x96, 0x23, 0x56, 0x58, 0xbe, 0xdc, 0x45, 0x75, 0xc2, 0x95, + 0x90, 0xc2, 0x6d, 0x41, 0x62, 0x67, 0x20, 0x16, 0x75, 0x39, 0xe9, 0x40, + 0x8a, 0x7d, 0x8f, 0x88, 0x3c, 0x06, 0x6e, 0x80, 0x03, 0x70, 0x59, 0x25, + 0x25, 0xd0, 0xe2, 0xfe, 0x61, 0x5e, 0x44, 0xd9, 0xce, 0x40, 0xdb, 0xa3, +}; +static const unsigned char kat4265_addinpr1[] = {0}; +static const unsigned char kat4265_entropyinpr2[] = { + 0x8e, 0x0a, 0xe3, 0x39, 0x5a, 0xd9, 0x47, 0xa7, 0x9a, 0x96, 0x75, 0x8a, + 0x16, 0xfa, 0x2a, 0x09, 0x96, 0xea, 0x2c, 0xd4, 0xa6, 0xa1, 0xaf, 0x5c, + 0x36, 0x7f, 0x2c, 0x1a, 0xa4, 0x83, 0x91, 0x1a, 0x20, 0x13, 0xa4, 0x6a, + 0x53, 0xdb, 0x41, 0xba, 0x3f, 0x6d, 0x41, 0xb1, 0x5d, 0x2e, 0x50, 0x6f, +}; +static const unsigned char kat4265_addinpr2[] = {0}; +static const unsigned char kat4265_retbits[] = { + 0x89, 0xf1, 0x3e, 0x88, 0xfa, 0x0c, 0xfe, 0xce, 0x3c, 0x72, 0x4d, 0x96, + 0x93, 0xda, 0xa0, 0x6e, 0x3e, 0x92, 0x8d, 0xc3, 0x6b, 0xfc, 0xcc, 0x3e, + 0x0e, 0xe1, 0x9c, 0x90, 0x57, 0xe8, 0xb3, 0x21, 0xf0, 0xd9, 0xad, 0x2e, + 0x20, 0x1a, 0xb0, 0x74, 0x5c, 0x5a, 0x59, 0x98, 0xf0, 0x70, 0x3e, 0x0d, + 0x05, 0xff, 0x35, 0xdb, 0x4a, 0x58, 0xbf, 0x4a, 0x87, 0x4d, 0xca, 0xbf, + 0x19, 0x9a, 0x8b, 0xa9, +}; +static const struct drbg_kat_pr_true kat4265_t = { + 4, kat4265_entropyin, kat4265_nonce, kat4265_persstr, + kat4265_entropyinpr1, kat4265_addinpr1, kat4265_entropyinpr2, + kat4265_addinpr2, kat4265_retbits +}; +static const struct drbg_kat kat4265 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4265_t +}; + +static const unsigned char kat4266_entropyin[] = { + 0xaf, 0xb7, 0xe9, 0xb1, 0x82, 0xab, 0xb2, 0x50, 0xa6, 0x43, 0x57, 0x58, + 0xfa, 0x6a, 0x24, 0x65, 0x60, 0x4e, 0x82, 0xa0, 0x03, 0x05, 0xc1, 0x57, + 0xac, 0xc1, 0xdb, 0x3d, 0x38, 0xc6, 0x94, 0x68, 0x0f, 0xdd, 0x66, 0x1f, + 0xb1, 0x93, 0x3e, 0x7c, 0xbe, 0x14, 0xb3, 0x99, 0xec, 0xbb, 0xc0, 0x4b, +}; +static const unsigned char kat4266_nonce[] = {0}; +static const unsigned char kat4266_persstr[] = {0}; +static const unsigned char kat4266_entropyinpr1[] = { + 0xd6, 0x8b, 0xbc, 0xce, 0x22, 0xd7, 0xd0, 0x20, 0xe0, 0x9a, 0x08, 0xac, + 0x8e, 0xa8, 0x93, 0x08, 0xfb, 0xbb, 0x5b, 0xee, 0x95, 0xf7, 0xa8, 0xbd, + 0x0a, 0x1c, 0x71, 0x23, 0x50, 0x7e, 0x9c, 0xc6, 0xdd, 0xf9, 0x68, 0x6d, + 0xd8, 0x4d, 0xd2, 0xec, 0xc1, 0x1f, 0xcb, 0x18, 0x10, 0xdf, 0xca, 0x31, +}; +static const unsigned char kat4266_addinpr1[] = {0}; +static const unsigned char kat4266_entropyinpr2[] = { + 0xbc, 0xc4, 0xe3, 0x6a, 0x2b, 0x5d, 0xf5, 0x49, 0xb7, 0x2a, 0x31, 0x10, + 0xdb, 0xbb, 0x9f, 0xf8, 0xed, 0x6c, 0xe9, 0x4f, 0x4a, 0x90, 0x4c, 0x29, + 0x39, 0x58, 0x59, 0x02, 0x23, 0x85, 0xbf, 0x1b, 0xd5, 0x82, 0x85, 0xeb, + 0xa0, 0x73, 0xf0, 0xb4, 0x44, 0x9d, 0x4e, 0xc3, 0x40, 0xca, 0xed, 0x28, +}; +static const unsigned char kat4266_addinpr2[] = {0}; +static const unsigned char kat4266_retbits[] = { + 0xe6, 0x1e, 0x93, 0x67, 0x03, 0x83, 0x48, 0x3a, 0x56, 0x35, 0xde, 0xb9, + 0xa5, 0x4e, 0xc5, 0x79, 0xbe, 0xef, 0xa8, 0x72, 0x82, 0xae, 0x8a, 0xe5, + 0x1d, 0x99, 0xe2, 0x09, 0x90, 0xed, 0x15, 0x7b, 0x0c, 0x5f, 0xaf, 0x1d, + 0xa1, 0xde, 0x4a, 0x3a, 0xe3, 0x5a, 0x11, 0x71, 0x0f, 0x52, 0x7c, 0xba, + 0x4c, 0x9a, 0xcc, 0x1a, 0x5b, 0xb0, 0xb6, 0xdf, 0x19, 0x5b, 0x3d, 0x6c, + 0x05, 0x3b, 0x78, 0x3b, +}; +static const struct drbg_kat_pr_true kat4266_t = { + 5, kat4266_entropyin, kat4266_nonce, kat4266_persstr, + kat4266_entropyinpr1, kat4266_addinpr1, kat4266_entropyinpr2, + kat4266_addinpr2, kat4266_retbits +}; +static const struct drbg_kat kat4266 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4266_t +}; + +static const unsigned char kat4267_entropyin[] = { + 0x4c, 0x13, 0xdc, 0x39, 0x39, 0x2d, 0xf5, 0xaa, 0x4f, 0xdd, 0x0e, 0x95, + 0x22, 0x2d, 0x85, 0x0a, 0x53, 0x93, 0x49, 0xc4, 0xa0, 0x1d, 0xd2, 0xa9, + 0x82, 0x61, 0x1f, 0x77, 0x2e, 0x60, 0x89, 0xe4, 0x7a, 0x81, 0x2c, 0xb0, + 0x88, 0x0c, 0xee, 0xe9, 0x9d, 0xb0, 0x82, 0x80, 0x04, 0x21, 0xbc, 0xbb, +}; +static const unsigned char kat4267_nonce[] = {0}; +static const unsigned char kat4267_persstr[] = {0}; +static const unsigned char kat4267_entropyinpr1[] = { + 0xd9, 0xcc, 0x83, 0x85, 0x81, 0x41, 0x31, 0xab, 0x94, 0xa2, 0x9a, 0xd8, + 0x45, 0x89, 0xc3, 0xfc, 0xd5, 0xa7, 0xe4, 0x64, 0x56, 0xcd, 0x9d, 0xa2, + 0x25, 0x5a, 0x43, 0x63, 0x0c, 0x95, 0xc7, 0x69, 0x1d, 0xe0, 0x2d, 0x8a, + 0x99, 0x0d, 0x06, 0x87, 0x63, 0xe7, 0xa9, 0x96, 0x60, 0xd2, 0xdc, 0x0c, +}; +static const unsigned char kat4267_addinpr1[] = {0}; +static const unsigned char kat4267_entropyinpr2[] = { + 0xa5, 0xec, 0x6d, 0xef, 0x28, 0x8d, 0x07, 0x39, 0x9c, 0x49, 0x33, 0x9f, + 0x52, 0x0c, 0xb5, 0x01, 0x40, 0xe0, 0x0b, 0xa1, 0x39, 0x68, 0xa7, 0xe2, + 0x6c, 0x9a, 0xe2, 0xa3, 0x5d, 0xe2, 0x76, 0xff, 0x44, 0x19, 0x94, 0x4f, + 0x66, 0x0f, 0x8e, 0x35, 0x69, 0xb1, 0x19, 0xb2, 0x2c, 0x97, 0x28, 0x17, +}; +static const unsigned char kat4267_addinpr2[] = {0}; +static const unsigned char kat4267_retbits[] = { + 0xe0, 0x25, 0xaa, 0xaa, 0xe2, 0xb3, 0x89, 0xac, 0x1e, 0x6e, 0xd3, 0x85, + 0xe1, 0xf8, 0xbf, 0xf7, 0x2d, 0xd6, 0xeb, 0xdd, 0xf9, 0x3e, 0x7a, 0x96, + 0x25, 0xa7, 0xa1, 0x03, 0xdb, 0x83, 0xc4, 0xd4, 0x97, 0xed, 0x8d, 0xd0, + 0x9e, 0xe9, 0x3c, 0x4f, 0xa5, 0x7b, 0xd7, 0xd9, 0x58, 0x6b, 0x69, 0x65, + 0x78, 0x49, 0xaf, 0x7d, 0x72, 0xbf, 0xc4, 0x4f, 0xd1, 0x65, 0xe4, 0xb5, + 0x4e, 0xb1, 0x69, 0x85, +}; +static const struct drbg_kat_pr_true kat4267_t = { + 6, kat4267_entropyin, kat4267_nonce, kat4267_persstr, + kat4267_entropyinpr1, kat4267_addinpr1, kat4267_entropyinpr2, + kat4267_addinpr2, kat4267_retbits +}; +static const struct drbg_kat kat4267 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4267_t +}; + +static const unsigned char kat4268_entropyin[] = { + 0x5f, 0x3e, 0xe8, 0x0d, 0xe8, 0xcb, 0xd8, 0xc3, 0xb9, 0x6b, 0x81, 0x4b, + 0x5e, 0x56, 0xdf, 0x17, 0xcc, 0x02, 0xc7, 0x26, 0xc4, 0x08, 0x46, 0xc1, + 0x20, 0x03, 0xc6, 0x96, 0x9f, 0x58, 0xb3, 0x43, 0x4e, 0xcc, 0x4f, 0xa6, + 0xdc, 0x02, 0xc9, 0x1f, 0xe6, 0xcb, 0x4e, 0x90, 0x55, 0x43, 0xa0, 0x26, +}; +static const unsigned char kat4268_nonce[] = {0}; +static const unsigned char kat4268_persstr[] = {0}; +static const unsigned char kat4268_entropyinpr1[] = { + 0xa1, 0x8d, 0x63, 0xf1, 0x4f, 0x20, 0xad, 0xf2, 0x34, 0xd6, 0x1b, 0x4f, + 0x5d, 0x6d, 0x49, 0xb9, 0xc2, 0x9a, 0x3e, 0x03, 0xae, 0x4c, 0xf7, 0xe9, + 0x4c, 0x73, 0x4b, 0xc4, 0x08, 0x79, 0x84, 0xf8, 0x25, 0xed, 0x83, 0x29, + 0x3f, 0x66, 0x08, 0xd6, 0x9b, 0x26, 0x42, 0x3b, 0xd5, 0x52, 0xd9, 0xe5, +}; +static const unsigned char kat4268_addinpr1[] = {0}; +static const unsigned char kat4268_entropyinpr2[] = { + 0x22, 0xb7, 0xa4, 0xe3, 0xe8, 0x22, 0xaa, 0x3a, 0xcb, 0x90, 0x02, 0x85, + 0x48, 0xa1, 0x77, 0xef, 0xa2, 0x84, 0xe5, 0xf0, 0x9e, 0xd3, 0x23, 0xeb, + 0x93, 0x12, 0x55, 0x12, 0x9f, 0x71, 0x43, 0xb0, 0x99, 0xd1, 0x23, 0x8a, + 0x75, 0xb4, 0xb3, 0x0b, 0x4a, 0x47, 0xd0, 0xf4, 0xf5, 0xdb, 0x6f, 0x1c, +}; +static const unsigned char kat4268_addinpr2[] = {0}; +static const unsigned char kat4268_retbits[] = { + 0xaa, 0x58, 0x4e, 0x4e, 0x41, 0xf0, 0x2a, 0xec, 0x12, 0x46, 0x47, 0xb8, + 0x45, 0xe4, 0x4a, 0x3e, 0x23, 0x81, 0xd4, 0xdf, 0xf1, 0x1a, 0xe7, 0x05, + 0xde, 0x94, 0x81, 0xc3, 0xbc, 0x28, 0xfb, 0xb7, 0xd0, 0xcc, 0x52, 0x32, + 0xcb, 0x9a, 0x80, 0xd1, 0x55, 0x6f, 0x24, 0xbc, 0x25, 0xe1, 0x2e, 0x05, + 0x4c, 0xcd, 0xdb, 0xab, 0x15, 0xbd, 0xa1, 0x16, 0x52, 0x5d, 0xe3, 0x80, + 0xe8, 0xc2, 0xb8, 0x6c, +}; +static const struct drbg_kat_pr_true kat4268_t = { + 7, kat4268_entropyin, kat4268_nonce, kat4268_persstr, + kat4268_entropyinpr1, kat4268_addinpr1, kat4268_entropyinpr2, + kat4268_addinpr2, kat4268_retbits +}; +static const struct drbg_kat kat4268 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4268_t +}; + +static const unsigned char kat4269_entropyin[] = { + 0x5d, 0x45, 0xb6, 0x96, 0x51, 0x38, 0xde, 0xd7, 0xae, 0xea, 0x9f, 0xaf, + 0x03, 0x5d, 0x02, 0x90, 0x06, 0x52, 0xce, 0x21, 0xcc, 0x84, 0xe5, 0x52, + 0x43, 0xba, 0xc2, 0x25, 0xc8, 0xfa, 0xd3, 0x5e, 0xb4, 0xd7, 0x33, 0xf6, + 0xaa, 0x30, 0xc7, 0xed, 0x35, 0x44, 0xf0, 0x85, 0xb9, 0x21, 0x7a, 0x20, +}; +static const unsigned char kat4269_nonce[] = {0}; +static const unsigned char kat4269_persstr[] = {0}; +static const unsigned char kat4269_entropyinpr1[] = { + 0x4f, 0x5a, 0x28, 0x26, 0xe5, 0xb1, 0x85, 0x2f, 0xa2, 0xe5, 0xf8, 0x1c, + 0x70, 0x60, 0xf7, 0xb5, 0x13, 0xb5, 0x78, 0xae, 0xb5, 0x42, 0xcc, 0xa8, + 0xa9, 0x19, 0x77, 0x93, 0x69, 0xdc, 0xeb, 0xb1, 0x3d, 0xa5, 0x23, 0x4c, + 0xc8, 0x3a, 0x69, 0xa5, 0x57, 0xd3, 0x7f, 0xe1, 0xfe, 0xc5, 0x2e, 0x25, +}; +static const unsigned char kat4269_addinpr1[] = {0}; +static const unsigned char kat4269_entropyinpr2[] = { + 0x83, 0x9d, 0x5e, 0x4a, 0x33, 0xd0, 0x07, 0xd2, 0x6b, 0x32, 0x2d, 0xd3, + 0x70, 0xd2, 0xe0, 0xd4, 0x50, 0x73, 0xb9, 0xda, 0x1b, 0x56, 0xca, 0xbb, + 0xc9, 0xeb, 0x1f, 0x79, 0xc5, 0x17, 0xba, 0x4e, 0x3b, 0x2e, 0x90, 0x05, + 0x41, 0x02, 0x9c, 0x9f, 0x3c, 0xaa, 0x5b, 0x6f, 0x8d, 0x38, 0xa5, 0x40, +}; +static const unsigned char kat4269_addinpr2[] = {0}; +static const unsigned char kat4269_retbits[] = { + 0xae, 0x05, 0x11, 0xf3, 0xf6, 0x00, 0x10, 0x6f, 0xa6, 0xa8, 0x8f, 0x1b, + 0xec, 0xda, 0xc0, 0x8c, 0x59, 0xd7, 0xd3, 0x2e, 0x96, 0x26, 0x18, 0xd0, + 0xb7, 0x94, 0xba, 0x13, 0x28, 0x82, 0x57, 0x40, 0xc3, 0x3f, 0x80, 0xeb, + 0x57, 0x64, 0xf8, 0x4e, 0x8c, 0x18, 0x01, 0x42, 0x28, 0x34, 0xdc, 0xcb, + 0xc0, 0x4c, 0x0a, 0x5e, 0x85, 0xea, 0xe7, 0x03, 0x06, 0x03, 0xed, 0x53, + 0x40, 0xd9, 0xf7, 0x3f, +}; +static const struct drbg_kat_pr_true kat4269_t = { + 8, kat4269_entropyin, kat4269_nonce, kat4269_persstr, + kat4269_entropyinpr1, kat4269_addinpr1, kat4269_entropyinpr2, + kat4269_addinpr2, kat4269_retbits +}; +static const struct drbg_kat kat4269 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4269_t +}; + +static const unsigned char kat4270_entropyin[] = { + 0x40, 0xb9, 0x0c, 0x3d, 0x81, 0x4b, 0x25, 0x6f, 0xdd, 0x99, 0xc5, 0xce, + 0x2e, 0xeb, 0x37, 0x62, 0x48, 0xab, 0xa2, 0x9a, 0x87, 0xe5, 0x53, 0xd6, + 0x3e, 0x4c, 0xf0, 0xdc, 0xbf, 0xc2, 0x65, 0xd9, 0x30, 0xc5, 0x65, 0xe3, + 0x4f, 0x96, 0x7e, 0xb2, 0xea, 0xbb, 0xd6, 0xc4, 0x4b, 0xbc, 0xa5, 0xf3, +}; +static const unsigned char kat4270_nonce[] = {0}; +static const unsigned char kat4270_persstr[] = {0}; +static const unsigned char kat4270_entropyinpr1[] = { + 0x97, 0x4d, 0xb6, 0x1e, 0xfa, 0x36, 0xa1, 0xab, 0x6a, 0x60, 0x03, 0xee, + 0xdf, 0xf8, 0xee, 0xbb, 0x32, 0xbf, 0x21, 0x1c, 0x66, 0xf6, 0xb2, 0x50, + 0x4c, 0xa2, 0x91, 0xc7, 0xf1, 0xec, 0xc3, 0xe9, 0x6d, 0xb5, 0x13, 0x47, + 0xf5, 0x4e, 0xd5, 0xa6, 0x9f, 0x53, 0x0e, 0x6b, 0x6d, 0xa9, 0x5a, 0xdb, +}; +static const unsigned char kat4270_addinpr1[] = {0}; +static const unsigned char kat4270_entropyinpr2[] = { + 0x36, 0x31, 0xec, 0x5e, 0x08, 0x38, 0x4e, 0xa5, 0xf6, 0x0c, 0x5a, 0xe5, + 0xde, 0x95, 0xba, 0xe2, 0xcb, 0x22, 0x80, 0xe0, 0xfa, 0xc0, 0x82, 0x3b, + 0x49, 0xcd, 0x74, 0xd5, 0xf3, 0xdd, 0xb8, 0x80, 0x2e, 0xd8, 0x84, 0xfb, + 0x64, 0x27, 0x77, 0xd9, 0xce, 0xbf, 0xb4, 0xfd, 0xab, 0xa6, 0xbc, 0x00, +}; +static const unsigned char kat4270_addinpr2[] = {0}; +static const unsigned char kat4270_retbits[] = { + 0x94, 0xa2, 0x7e, 0x44, 0x3a, 0x83, 0x7d, 0x43, 0x77, 0x1b, 0xc3, 0xf0, + 0xcd, 0x32, 0x8a, 0x52, 0x61, 0x0f, 0xc7, 0x19, 0x4b, 0xe8, 0xf0, 0xee, + 0xa2, 0x02, 0x4b, 0x88, 0xbb, 0x10, 0xb3, 0x3f, 0x1b, 0x88, 0xa1, 0xc3, + 0x3d, 0x01, 0x96, 0x6d, 0xd6, 0x45, 0x94, 0x0a, 0x95, 0xdc, 0x39, 0x42, + 0xb5, 0x2d, 0x97, 0x84, 0x7a, 0xc6, 0x7e, 0x4e, 0x66, 0x52, 0xba, 0x9d, + 0x0d, 0x77, 0x8a, 0x52, +}; +static const struct drbg_kat_pr_true kat4270_t = { + 9, kat4270_entropyin, kat4270_nonce, kat4270_persstr, + kat4270_entropyinpr1, kat4270_addinpr1, kat4270_entropyinpr2, + kat4270_addinpr2, kat4270_retbits +}; +static const struct drbg_kat kat4270 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4270_t +}; + +static const unsigned char kat4271_entropyin[] = { + 0xcd, 0x7d, 0x71, 0x82, 0x2d, 0x45, 0x0e, 0x60, 0x4b, 0x1c, 0x3e, 0x8b, + 0x9d, 0x77, 0xa2, 0xae, 0x71, 0x9e, 0xdd, 0xa7, 0x75, 0xbf, 0xcf, 0x8d, + 0x99, 0xc2, 0xf0, 0x37, 0xd6, 0x67, 0x9c, 0x9a, 0x78, 0x95, 0x86, 0xd3, + 0x67, 0x9d, 0xc8, 0xff, 0xde, 0x43, 0xf1, 0x8f, 0xa2, 0xce, 0xb0, 0xd2, +}; +static const unsigned char kat4271_nonce[] = {0}; +static const unsigned char kat4271_persstr[] = {0}; +static const unsigned char kat4271_entropyinpr1[] = { + 0xb2, 0xb2, 0x93, 0x55, 0xbd, 0xcc, 0x1c, 0x7c, 0x70, 0xcd, 0xdf, 0x0b, + 0xb3, 0x39, 0xfb, 0x69, 0x27, 0xc7, 0x0a, 0x5f, 0x0e, 0x06, 0x7b, 0x23, + 0x59, 0xfd, 0x13, 0x5f, 0xa5, 0x5f, 0xd0, 0x29, 0xfd, 0x65, 0x8e, 0x23, + 0xca, 0xf1, 0x57, 0x2f, 0x61, 0xb7, 0x51, 0xe4, 0xb9, 0xf7, 0x00, 0x11, +}; +static const unsigned char kat4271_addinpr1[] = {0}; +static const unsigned char kat4271_entropyinpr2[] = { + 0x11, 0xd3, 0x59, 0x09, 0x8f, 0xa7, 0xcc, 0xb7, 0x5d, 0xec, 0xc1, 0xbb, + 0xaa, 0x7d, 0xb0, 0x7d, 0x91, 0xea, 0x15, 0xdc, 0x7b, 0xdc, 0x60, 0x9e, + 0x03, 0x2c, 0x3f, 0x20, 0x22, 0xda, 0xff, 0x83, 0x57, 0x3e, 0xe7, 0x29, + 0x5b, 0x6e, 0x54, 0x84, 0x97, 0xf8, 0x91, 0x23, 0xb8, 0xcb, 0xa3, 0x83, +}; +static const unsigned char kat4271_addinpr2[] = {0}; +static const unsigned char kat4271_retbits[] = { + 0x33, 0xac, 0xa7, 0x7b, 0x2e, 0xee, 0x07, 0xb1, 0xd0, 0x99, 0x78, 0x4d, + 0xc7, 0xf6, 0x55, 0x7a, 0xe4, 0xa3, 0xa5, 0x1c, 0xdd, 0x63, 0xc9, 0x2e, + 0x54, 0x76, 0x2e, 0xb1, 0x41, 0xe0, 0x9c, 0xab, 0xdd, 0x0f, 0xa0, 0x95, + 0x4e, 0x27, 0x18, 0x53, 0x74, 0x61, 0x50, 0x2a, 0x62, 0x9d, 0xb6, 0x39, + 0xbe, 0x65, 0x08, 0xfe, 0x89, 0x04, 0x5e, 0x32, 0x31, 0x11, 0x1e, 0x66, + 0x85, 0xb1, 0xb1, 0xf1, +}; +static const struct drbg_kat_pr_true kat4271_t = { + 10, kat4271_entropyin, kat4271_nonce, kat4271_persstr, + kat4271_entropyinpr1, kat4271_addinpr1, kat4271_entropyinpr2, + kat4271_addinpr2, kat4271_retbits +}; +static const struct drbg_kat kat4271 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4271_t +}; + +static const unsigned char kat4272_entropyin[] = { + 0xa3, 0x06, 0x02, 0xe6, 0x82, 0x3f, 0x26, 0x2f, 0xe5, 0xeb, 0x55, 0x7c, + 0x04, 0x6e, 0x99, 0xd9, 0x1c, 0xed, 0xf2, 0x85, 0x0e, 0x8a, 0x5b, 0xd4, + 0x5a, 0xf6, 0xf2, 0x06, 0x45, 0x0b, 0xac, 0xf6, 0xda, 0x8f, 0x66, 0x8f, + 0x1b, 0xda, 0x91, 0xea, 0xa3, 0xdb, 0x8f, 0x91, 0x25, 0x3f, 0x91, 0xbb, +}; +static const unsigned char kat4272_nonce[] = {0}; +static const unsigned char kat4272_persstr[] = {0}; +static const unsigned char kat4272_entropyinpr1[] = { + 0x73, 0xa8, 0x23, 0x9d, 0x83, 0x79, 0x31, 0x19, 0x98, 0xd4, 0xb6, 0x28, + 0xd5, 0xb5, 0xd0, 0xdf, 0x04, 0x00, 0x32, 0x8c, 0xff, 0xb1, 0x24, 0xc1, + 0x7f, 0xb5, 0xfa, 0x1a, 0x01, 0xfc, 0x74, 0x4a, 0xdd, 0x87, 0xce, 0x25, + 0x0c, 0x0f, 0x08, 0x94, 0xf6, 0xfd, 0xe7, 0x78, 0xe4, 0xb7, 0xdc, 0x1a, +}; +static const unsigned char kat4272_addinpr1[] = {0}; +static const unsigned char kat4272_entropyinpr2[] = { + 0x26, 0xa2, 0xcc, 0x7c, 0x29, 0x98, 0x7f, 0x8f, 0x79, 0x2b, 0x29, 0xc0, + 0xc6, 0x1b, 0x3e, 0xde, 0xf9, 0x94, 0xbb, 0x9b, 0x0a, 0xcb, 0x12, 0x82, + 0xa9, 0xfc, 0x03, 0xa5, 0x4c, 0x11, 0x4b, 0x05, 0x59, 0x89, 0x4c, 0xf2, + 0xaa, 0x25, 0xf4, 0x0c, 0x3d, 0xdd, 0x06, 0x6d, 0x80, 0x48, 0xda, 0x28, +}; +static const unsigned char kat4272_addinpr2[] = {0}; +static const unsigned char kat4272_retbits[] = { + 0xd4, 0xec, 0x8d, 0x80, 0x51, 0xf4, 0x42, 0x85, 0xc0, 0x13, 0x80, 0x19, + 0xd6, 0xac, 0xdc, 0x29, 0x58, 0x4f, 0x46, 0x7b, 0x90, 0x74, 0xac, 0x98, + 0x03, 0x1d, 0x68, 0xe0, 0x18, 0xcb, 0xcf, 0xb4, 0x8f, 0x74, 0xc8, 0x43, + 0x50, 0x59, 0xc2, 0x94, 0x59, 0xfc, 0xd8, 0x1a, 0xed, 0x04, 0x76, 0x9a, + 0x5c, 0x68, 0x1b, 0x2b, 0xe4, 0xb8, 0x69, 0x0c, 0xa2, 0x9c, 0x74, 0x3a, + 0x47, 0x89, 0x87, 0x14, +}; +static const struct drbg_kat_pr_true kat4272_t = { + 11, kat4272_entropyin, kat4272_nonce, kat4272_persstr, + kat4272_entropyinpr1, kat4272_addinpr1, kat4272_entropyinpr2, + kat4272_addinpr2, kat4272_retbits +}; +static const struct drbg_kat kat4272 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4272_t +}; + +static const unsigned char kat4273_entropyin[] = { + 0x92, 0xf0, 0x7f, 0x2e, 0xe3, 0xec, 0xfc, 0x8d, 0x39, 0xd6, 0xa2, 0x54, + 0xc2, 0x5c, 0x94, 0x11, 0x20, 0x45, 0xd6, 0xdf, 0x47, 0x8c, 0xe7, 0xe9, + 0x7a, 0x88, 0x5c, 0xcb, 0xf4, 0x70, 0x81, 0xe7, 0xbd, 0x1a, 0x47, 0x57, + 0x01, 0x7a, 0xbf, 0xd2, 0xc2, 0x13, 0xb0, 0x74, 0x8f, 0xc5, 0x5e, 0x56, +}; +static const unsigned char kat4273_nonce[] = {0}; +static const unsigned char kat4273_persstr[] = {0}; +static const unsigned char kat4273_entropyinpr1[] = { + 0x5c, 0x05, 0x31, 0xed, 0x53, 0xff, 0x4c, 0x86, 0xd0, 0xcc, 0x83, 0x4f, + 0x69, 0x7e, 0x53, 0x66, 0xf7, 0x0e, 0x40, 0x27, 0x23, 0xb6, 0xdc, 0x79, + 0xc4, 0x26, 0xd7, 0x37, 0xd6, 0xc0, 0xaf, 0x53, 0xb8, 0xdb, 0x25, 0xfe, + 0x65, 0x68, 0xec, 0xd1, 0x9a, 0x88, 0xe6, 0xb6, 0xc0, 0xe6, 0x82, 0x00, +}; +static const unsigned char kat4273_addinpr1[] = {0}; +static const unsigned char kat4273_entropyinpr2[] = { + 0xfe, 0xc9, 0xe0, 0x3f, 0x1f, 0x33, 0x6f, 0x6e, 0x29, 0x47, 0xa6, 0x2d, + 0xd5, 0x1c, 0x6e, 0xa5, 0xf4, 0x33, 0x9b, 0x36, 0xbc, 0x40, 0x82, 0x68, + 0x34, 0x0f, 0xa3, 0x45, 0xc5, 0x7e, 0xf2, 0x30, 0x73, 0x29, 0xba, 0xbf, + 0x70, 0x15, 0x88, 0xcd, 0x0e, 0x1d, 0x7f, 0xc3, 0xbc, 0xd0, 0x3c, 0x6f, +}; +static const unsigned char kat4273_addinpr2[] = {0}; +static const unsigned char kat4273_retbits[] = { + 0xbe, 0x81, 0xbf, 0xc3, 0x00, 0xd5, 0x40, 0xc9, 0x4d, 0xc7, 0x87, 0x31, + 0x95, 0x44, 0xa1, 0xaf, 0x36, 0xec, 0xd5, 0x95, 0x66, 0xb1, 0x99, 0x1d, + 0x8a, 0x06, 0xbc, 0x13, 0xec, 0xb6, 0x83, 0x2a, 0x6e, 0xd8, 0x30, 0x81, + 0x68, 0xf1, 0x0a, 0xbb, 0xc5, 0xc8, 0x07, 0xb6, 0x24, 0xef, 0xf9, 0x24, + 0xa9, 0x38, 0xea, 0xb7, 0xfe, 0xe2, 0x53, 0x72, 0x4f, 0x3c, 0x0e, 0xe4, + 0x79, 0xff, 0xf9, 0x44, +}; +static const struct drbg_kat_pr_true kat4273_t = { + 12, kat4273_entropyin, kat4273_nonce, kat4273_persstr, + kat4273_entropyinpr1, kat4273_addinpr1, kat4273_entropyinpr2, + kat4273_addinpr2, kat4273_retbits +}; +static const struct drbg_kat kat4273 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4273_t +}; + +static const unsigned char kat4274_entropyin[] = { + 0xf6, 0xf5, 0x5c, 0xc1, 0x29, 0x90, 0x68, 0xcf, 0x74, 0x69, 0x60, 0x52, + 0xa7, 0x84, 0x44, 0xb5, 0x29, 0x86, 0x72, 0xcb, 0xaa, 0x63, 0xc0, 0xb9, + 0x12, 0x15, 0x52, 0xe4, 0x67, 0xe5, 0xd5, 0x66, 0xec, 0xe3, 0x3e, 0x5f, + 0x92, 0x23, 0x55, 0x8f, 0xe7, 0xb3, 0x87, 0x78, 0xcb, 0x70, 0xe8, 0xe5, +}; +static const unsigned char kat4274_nonce[] = {0}; +static const unsigned char kat4274_persstr[] = {0}; +static const unsigned char kat4274_entropyinpr1[] = { + 0x0a, 0xa7, 0xb0, 0x33, 0xa5, 0x32, 0xf1, 0x3b, 0xf7, 0x95, 0x1a, 0x45, + 0x70, 0x40, 0x8d, 0x37, 0x15, 0xc3, 0x25, 0xa5, 0x25, 0x64, 0x74, 0x7d, + 0xc7, 0xd2, 0xa7, 0xb4, 0xde, 0x0d, 0xe6, 0xe6, 0xaa, 0xfa, 0xf4, 0xf4, + 0xbc, 0x7d, 0x91, 0xc6, 0x2f, 0x51, 0xdb, 0x1a, 0xf4, 0x5d, 0xde, 0x36, +}; +static const unsigned char kat4274_addinpr1[] = {0}; +static const unsigned char kat4274_entropyinpr2[] = { + 0xa7, 0x9b, 0xfd, 0xc2, 0x4d, 0x9d, 0xf8, 0xce, 0x39, 0x44, 0xdd, 0x41, + 0x3e, 0xdb, 0x61, 0x0b, 0xda, 0x64, 0x57, 0x83, 0x0b, 0xfb, 0x8c, 0xb0, + 0x76, 0xcb, 0x2b, 0x89, 0xbb, 0xb8, 0xc1, 0xab, 0xf2, 0x9e, 0x2f, 0x3a, + 0x2e, 0xad, 0x4e, 0x1e, 0x60, 0xcd, 0x07, 0xb4, 0x98, 0xd9, 0x0e, 0x08, +}; +static const unsigned char kat4274_addinpr2[] = {0}; +static const unsigned char kat4274_retbits[] = { + 0x04, 0xb9, 0x2e, 0xe2, 0xd0, 0x9e, 0xd0, 0xf5, 0x88, 0x49, 0x03, 0x24, + 0xee, 0xac, 0x4a, 0x20, 0x35, 0x1f, 0xf9, 0x10, 0x95, 0x2a, 0x8d, 0xd9, + 0xd2, 0xad, 0xcb, 0x99, 0x3a, 0xa7, 0x57, 0x34, 0x69, 0x48, 0x36, 0xf9, + 0xff, 0x9d, 0xf0, 0x07, 0x3e, 0x8c, 0xd3, 0x1a, 0xff, 0x91, 0xf0, 0x5d, + 0xbf, 0x34, 0xd4, 0xaf, 0x0e, 0xd3, 0x5f, 0x97, 0xac, 0x1e, 0xb5, 0x83, + 0x7f, 0x8f, 0x71, 0x86, +}; +static const struct drbg_kat_pr_true kat4274_t = { + 13, kat4274_entropyin, kat4274_nonce, kat4274_persstr, + kat4274_entropyinpr1, kat4274_addinpr1, kat4274_entropyinpr2, + kat4274_addinpr2, kat4274_retbits +}; +static const struct drbg_kat kat4274 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4274_t +}; + +static const unsigned char kat4275_entropyin[] = { + 0x4a, 0x00, 0xfb, 0x6b, 0x1e, 0x58, 0x63, 0x53, 0x9c, 0x87, 0x17, 0xd3, + 0xc6, 0x39, 0xc7, 0xba, 0xfa, 0x81, 0xac, 0x37, 0x40, 0x8a, 0x5a, 0xe3, + 0xe8, 0x7a, 0x79, 0x7e, 0x86, 0xde, 0x90, 0xa3, 0x0f, 0x74, 0xd3, 0x4e, + 0xaa, 0xc9, 0xbb, 0x80, 0xfc, 0x6a, 0xcc, 0xf7, 0x62, 0xe9, 0x92, 0x22, +}; +static const unsigned char kat4275_nonce[] = {0}; +static const unsigned char kat4275_persstr[] = {0}; +static const unsigned char kat4275_entropyinpr1[] = { + 0xcd, 0x66, 0xeb, 0xf0, 0x8c, 0x99, 0xf9, 0xc0, 0x4c, 0x1e, 0xff, 0xc0, + 0x78, 0x71, 0x7b, 0x4f, 0x24, 0x42, 0x2f, 0x11, 0x15, 0x91, 0xa0, 0xda, + 0xd2, 0xac, 0x93, 0x71, 0xd3, 0xa7, 0xc1, 0xcb, 0x3d, 0xbf, 0x66, 0x4a, + 0xd4, 0x4c, 0xa2, 0xb0, 0x8c, 0x83, 0x23, 0x97, 0x47, 0xa1, 0x48, 0xfd, +}; +static const unsigned char kat4275_addinpr1[] = {0}; +static const unsigned char kat4275_entropyinpr2[] = { + 0x60, 0xc6, 0xf9, 0xf0, 0x7f, 0x75, 0xf1, 0xa8, 0x01, 0x88, 0xb3, 0x2d, + 0x07, 0xc2, 0x89, 0x58, 0x72, 0xc4, 0xe8, 0xb9, 0x2a, 0x19, 0xac, 0x6c, + 0x2a, 0x29, 0xbc, 0x80, 0x7f, 0x99, 0xfb, 0x4a, 0xf7, 0x5b, 0x6a, 0xed, + 0x8e, 0x6f, 0x75, 0xc9, 0xa6, 0xb1, 0x55, 0x9b, 0x48, 0xf1, 0x28, 0xe9, +}; +static const unsigned char kat4275_addinpr2[] = {0}; +static const unsigned char kat4275_retbits[] = { + 0x2d, 0x20, 0x70, 0x9e, 0xa0, 0xff, 0x7a, 0x62, 0x4e, 0xa1, 0xe3, 0x7d, + 0x80, 0xc6, 0x5c, 0x25, 0xea, 0xed, 0x85, 0xaf, 0x45, 0xef, 0x1a, 0x09, + 0x2e, 0xa7, 0xb9, 0x7c, 0x49, 0xc9, 0x12, 0xa0, 0xf0, 0xfc, 0x62, 0xd2, + 0x9f, 0xf4, 0xe4, 0x18, 0x2c, 0x6b, 0xb1, 0x26, 0x76, 0xca, 0xb3, 0x71, + 0x1c, 0x2b, 0x8d, 0xb2, 0x65, 0xcd, 0x9f, 0x81, 0x56, 0x9a, 0x30, 0x0b, + 0x99, 0xfa, 0xc4, 0x3e, +}; +static const struct drbg_kat_pr_true kat4275_t = { + 14, kat4275_entropyin, kat4275_nonce, kat4275_persstr, + kat4275_entropyinpr1, kat4275_addinpr1, kat4275_entropyinpr2, + kat4275_addinpr2, kat4275_retbits +}; +static const struct drbg_kat kat4275 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 0, 64, &kat4275_t +}; + +static const unsigned char kat4276_entropyin[] = { + 0x93, 0xe6, 0xd2, 0x8f, 0xb5, 0x76, 0xba, 0x5b, 0x81, 0x6a, 0x5f, 0x42, + 0xa7, 0xce, 0x8d, 0x19, 0x46, 0x5d, 0x47, 0xaa, 0xbc, 0x94, 0xa7, 0xb7, + 0x7c, 0x71, 0xe2, 0x9d, 0x95, 0xf3, 0xa5, 0x10, 0xc1, 0xc7, 0x62, 0xff, + 0xbd, 0x29, 0xfc, 0x20, 0x0c, 0xb6, 0x80, 0x52, 0x9d, 0x3c, 0x8f, 0xd4, +}; +static const unsigned char kat4276_nonce[] = {0}; +static const unsigned char kat4276_persstr[] = {0}; +static const unsigned char kat4276_entropyinpr1[] = { + 0x9e, 0xdd, 0xbc, 0xec, 0x30, 0x1b, 0x2f, 0xb9, 0xcf, 0x57, 0xef, 0xcc, + 0x58, 0x1e, 0xf7, 0x76, 0xfc, 0xd2, 0x64, 0x03, 0xd0, 0xa9, 0xb6, 0x4f, + 0x20, 0x5f, 0x6a, 0x9f, 0x60, 0xb7, 0x63, 0xd2, 0x99, 0x9a, 0x5a, 0x99, + 0x36, 0x74, 0xfa, 0x66, 0x4b, 0xb2, 0xaf, 0x5f, 0x8d, 0xde, 0xa1, 0xd7, +}; +static const unsigned char kat4276_addinpr1[] = { + 0xa0, 0x00, 0xa7, 0x5a, 0x90, 0x32, 0x6e, 0x9f, 0x94, 0xe3, 0xc8, 0x94, + 0x54, 0x8b, 0xac, 0xab, 0x5d, 0x9e, 0x69, 0xde, 0xc8, 0xe6, 0x09, 0x92, + 0xe1, 0x97, 0x46, 0x0f, 0x9c, 0x5a, 0xa2, 0xa6, 0x9a, 0xc8, 0xd8, 0x13, + 0x30, 0x23, 0x0b, 0x90, 0xb3, 0xa9, 0x0f, 0xbf, 0xac, 0x6d, 0x13, 0xa1, +}; +static const unsigned char kat4276_entropyinpr2[] = { + 0x4c, 0x26, 0xcb, 0xe4, 0x40, 0xd4, 0x84, 0x14, 0xca, 0x4d, 0xc4, 0x03, + 0x21, 0x37, 0x66, 0x46, 0xe4, 0x2f, 0xa4, 0x13, 0x9a, 0x4b, 0x1e, 0xaa, + 0xe3, 0xac, 0xd9, 0xf7, 0xdc, 0xa0, 0x94, 0xbc, 0xcd, 0x3f, 0xe1, 0x87, + 0x9f, 0xc4, 0xbe, 0x22, 0xe6, 0xdc, 0x25, 0xd9, 0x0f, 0x48, 0x19, 0x90, +}; +static const unsigned char kat4276_addinpr2[] = { + 0x4a, 0x67, 0x1c, 0x94, 0xbb, 0x87, 0x7b, 0xdb, 0x38, 0x6e, 0xbf, 0x5d, + 0x8f, 0x29, 0xb6, 0x06, 0x7c, 0x79, 0xc5, 0x6a, 0x28, 0x0c, 0x33, 0x4a, + 0xd2, 0x04, 0x49, 0x0d, 0x39, 0x27, 0xc0, 0x98, 0x66, 0xbf, 0x94, 0x9a, + 0x8d, 0x2d, 0x8c, 0x17, 0x8b, 0xe7, 0x51, 0x85, 0x4a, 0x6a, 0x7a, 0x8c, +}; +static const unsigned char kat4276_retbits[] = { + 0x72, 0x60, 0x9d, 0xdc, 0x26, 0x10, 0x19, 0xc1, 0xeb, 0x92, 0x7b, 0x81, + 0x3a, 0x91, 0x52, 0x44, 0x8e, 0x88, 0xf2, 0xfe, 0xcd, 0x7b, 0xb3, 0x32, + 0x80, 0x63, 0x7c, 0x4e, 0x32, 0xff, 0x4c, 0x1d, 0xd4, 0xa6, 0x65, 0xa6, + 0x97, 0xa1, 0x74, 0xf6, 0x71, 0x7e, 0xca, 0x30, 0x98, 0x1b, 0x70, 0xe0, + 0x43, 0xea, 0x28, 0x6d, 0xc4, 0x53, 0x01, 0x4d, 0x15, 0x38, 0x9e, 0xcf, + 0x7c, 0x80, 0xe5, 0xb3, +}; +static const struct drbg_kat_pr_true kat4276_t = { + 0, kat4276_entropyin, kat4276_nonce, kat4276_persstr, + kat4276_entropyinpr1, kat4276_addinpr1, kat4276_entropyinpr2, + kat4276_addinpr2, kat4276_retbits +}; +static const struct drbg_kat kat4276 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4276_t +}; + +static const unsigned char kat4277_entropyin[] = { + 0x8b, 0x95, 0x99, 0x03, 0xda, 0x42, 0x5d, 0x7b, 0x6f, 0xd2, 0x0a, 0x3b, + 0x58, 0x77, 0x3d, 0x3a, 0x69, 0x11, 0x68, 0xc7, 0x65, 0xe0, 0x31, 0x77, + 0x6e, 0x8d, 0x4f, 0x01, 0x72, 0x08, 0xe1, 0xfc, 0x51, 0x10, 0xe5, 0xd8, + 0x66, 0x7d, 0xba, 0x0a, 0xf4, 0x0a, 0x10, 0x64, 0x1f, 0x95, 0xf5, 0x5c, +}; +static const unsigned char kat4277_nonce[] = {0}; +static const unsigned char kat4277_persstr[] = {0}; +static const unsigned char kat4277_entropyinpr1[] = { + 0x97, 0xf3, 0xdf, 0x25, 0x4d, 0x0d, 0xe1, 0x00, 0x5f, 0xfe, 0xee, 0xf0, + 0x6a, 0xbb, 0xad, 0xee, 0x5f, 0xf8, 0x7f, 0x16, 0x19, 0xf7, 0x4a, 0xb2, + 0x71, 0xba, 0x3d, 0x35, 0xda, 0x3e, 0x3e, 0xde, 0xcc, 0xe5, 0x7c, 0x6e, + 0xe5, 0x65, 0x47, 0x84, 0x50, 0xac, 0xfa, 0xeb, 0xb8, 0x9f, 0x3a, 0xe3, +}; +static const unsigned char kat4277_addinpr1[] = { + 0x1b, 0xe3, 0xe0, 0x2b, 0x0a, 0x53, 0xf4, 0xc5, 0x0a, 0x5e, 0x2f, 0x48, + 0xf7, 0x53, 0x37, 0x14, 0xf8, 0x26, 0xdc, 0xb1, 0x6d, 0x11, 0x9f, 0xdc, + 0x70, 0xb9, 0x10, 0x58, 0x4b, 0x65, 0x4f, 0xd8, 0xd4, 0x1b, 0xfc, 0xc7, + 0xa6, 0x06, 0x0b, 0x38, 0x08, 0x94, 0x66, 0xbb, 0x3f, 0xe3, 0x4e, 0xa2, +}; +static const unsigned char kat4277_entropyinpr2[] = { + 0xf4, 0xa2, 0x40, 0x99, 0xc1, 0x85, 0x98, 0x07, 0x9d, 0xce, 0xe0, 0x20, + 0xc0, 0xef, 0x54, 0x48, 0xfc, 0x0f, 0x30, 0x60, 0x22, 0xae, 0xc8, 0xe8, + 0x1b, 0x1d, 0x87, 0x74, 0xc2, 0x73, 0xbd, 0x9a, 0xb5, 0x25, 0x03, 0x5b, + 0xed, 0x01, 0xd3, 0xce, 0x01, 0x97, 0xbd, 0xc4, 0x86, 0x98, 0x1e, 0x5d, +}; +static const unsigned char kat4277_addinpr2[] = { + 0x0c, 0xb1, 0xd5, 0x22, 0xf2, 0x9a, 0x13, 0xd5, 0x71, 0x49, 0x17, 0xd6, + 0x45, 0x67, 0xb4, 0xe3, 0xb1, 0x6e, 0xdb, 0xfa, 0xc4, 0xd8, 0x74, 0x8e, + 0x6f, 0x24, 0x26, 0x03, 0x1f, 0x3e, 0x3c, 0x73, 0xab, 0xa6, 0x55, 0xbc, + 0x3e, 0x61, 0xfe, 0x2f, 0x91, 0x34, 0x78, 0x7a, 0x99, 0x3d, 0x88, 0x19, +}; +static const unsigned char kat4277_retbits[] = { + 0x94, 0xa4, 0x3f, 0x51, 0x3a, 0xa6, 0xe5, 0x3b, 0x2b, 0xd0, 0x86, 0xb8, + 0x80, 0xd1, 0x88, 0x4d, 0x1c, 0x59, 0x2e, 0x24, 0xa6, 0x4c, 0x98, 0xe1, + 0x2e, 0x89, 0xb2, 0x09, 0xf1, 0x53, 0xeb, 0x5d, 0x34, 0x79, 0x9d, 0x32, + 0x34, 0xaa, 0xfb, 0xfc, 0x99, 0xf9, 0x47, 0x88, 0x82, 0x0d, 0x30, 0x5f, + 0x30, 0xda, 0xaf, 0x79, 0x43, 0x66, 0x9d, 0xa1, 0x72, 0x6c, 0xa6, 0xd7, + 0x33, 0x0a, 0x7c, 0x21, +}; +static const struct drbg_kat_pr_true kat4277_t = { + 1, kat4277_entropyin, kat4277_nonce, kat4277_persstr, + kat4277_entropyinpr1, kat4277_addinpr1, kat4277_entropyinpr2, + kat4277_addinpr2, kat4277_retbits +}; +static const struct drbg_kat kat4277 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4277_t +}; + +static const unsigned char kat4278_entropyin[] = { + 0x47, 0xec, 0x21, 0x75, 0xf4, 0xc8, 0x9f, 0x51, 0x39, 0x35, 0x4d, 0x92, + 0x91, 0x48, 0x8e, 0x54, 0x3b, 0xfa, 0xf2, 0x23, 0x60, 0x66, 0xe3, 0x04, + 0x1d, 0xab, 0x42, 0xe2, 0x85, 0x45, 0xa3, 0xa7, 0xb3, 0xc8, 0xa1, 0x00, + 0x97, 0x7e, 0x94, 0x1f, 0xf8, 0x8c, 0xaa, 0x19, 0x95, 0x35, 0xd6, 0x51, +}; +static const unsigned char kat4278_nonce[] = {0}; +static const unsigned char kat4278_persstr[] = {0}; +static const unsigned char kat4278_entropyinpr1[] = { + 0x51, 0x09, 0xe5, 0xdc, 0x6e, 0xb9, 0x77, 0x58, 0x47, 0x5b, 0x31, 0x1a, + 0xf2, 0x74, 0x54, 0xdf, 0xcd, 0x57, 0x3f, 0x19, 0x21, 0x45, 0xef, 0x5a, + 0x3a, 0xbd, 0x4f, 0x37, 0xee, 0x25, 0x8b, 0x71, 0xe6, 0xf7, 0x0a, 0x4e, + 0x99, 0xb3, 0xd8, 0xb9, 0xd9, 0x22, 0xcc, 0x05, 0x7e, 0x6a, 0xcd, 0x23, +}; +static const unsigned char kat4278_addinpr1[] = { + 0x5b, 0xae, 0x2b, 0x9b, 0x60, 0xb6, 0x4f, 0xf6, 0xe1, 0xe9, 0xa0, 0x75, + 0xaa, 0x62, 0x8e, 0xa1, 0x50, 0xff, 0xda, 0xd5, 0x5e, 0xca, 0x43, 0xe5, + 0xfc, 0x1f, 0x37, 0xba, 0x64, 0x5c, 0xad, 0x6a, 0x0e, 0xa6, 0x9a, 0x28, + 0x84, 0xd6, 0xfc, 0xa3, 0xd1, 0x4e, 0x37, 0x5b, 0xe1, 0x06, 0x53, 0xd3, +}; +static const unsigned char kat4278_entropyinpr2[] = { + 0xdd, 0x86, 0x89, 0x9f, 0x8d, 0xbf, 0xef, 0xa8, 0xdf, 0xe5, 0xbf, 0x82, + 0x47, 0x0f, 0x88, 0xac, 0x86, 0xb6, 0x9a, 0x5f, 0xe8, 0x59, 0x76, 0xdd, + 0x0d, 0x0f, 0x52, 0x0c, 0xd6, 0x64, 0x73, 0x3c, 0xfa, 0x38, 0x77, 0xb8, + 0xee, 0x17, 0x42, 0xa6, 0xae, 0x2e, 0xdd, 0x21, 0xf5, 0x72, 0x51, 0x02, +}; +static const unsigned char kat4278_addinpr2[] = { + 0xe8, 0xae, 0x05, 0xc5, 0x25, 0x11, 0x3d, 0xa8, 0xd8, 0x26, 0x60, 0xde, + 0x3d, 0x5c, 0x57, 0xe1, 0x15, 0xdb, 0xd3, 0x6c, 0x45, 0x6a, 0x7e, 0xcc, + 0x70, 0x4b, 0x17, 0x07, 0xc0, 0x29, 0xe8, 0xa3, 0x48, 0x6f, 0xea, 0x29, + 0xe9, 0xef, 0x9b, 0x97, 0xc5, 0x89, 0xea, 0x7b, 0x1a, 0xcd, 0x6c, 0x1d, +}; +static const unsigned char kat4278_retbits[] = { + 0x93, 0xf1, 0xa0, 0xf2, 0x94, 0x97, 0x48, 0xaf, 0x4a, 0x0e, 0x03, 0x75, + 0x15, 0x52, 0x9b, 0x21, 0x21, 0x3e, 0x09, 0xc8, 0xb4, 0x45, 0xac, 0xa0, + 0x27, 0x9c, 0xd1, 0xb2, 0x0d, 0xa9, 0x05, 0x02, 0x2e, 0x87, 0x05, 0x59, + 0x44, 0x80, 0x8a, 0x63, 0x51, 0xaa, 0x09, 0xca, 0xec, 0xa2, 0x26, 0x3e, + 0x22, 0x2e, 0xf2, 0x97, 0x7d, 0xbc, 0xc9, 0x4d, 0xeb, 0x52, 0x24, 0x9e, + 0xa7, 0x59, 0xc5, 0x2a, +}; +static const struct drbg_kat_pr_true kat4278_t = { + 2, kat4278_entropyin, kat4278_nonce, kat4278_persstr, + kat4278_entropyinpr1, kat4278_addinpr1, kat4278_entropyinpr2, + kat4278_addinpr2, kat4278_retbits +}; +static const struct drbg_kat kat4278 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4278_t +}; + +static const unsigned char kat4279_entropyin[] = { + 0x43, 0x4b, 0xf4, 0x6e, 0xaa, 0x21, 0xd0, 0xc1, 0x4a, 0x14, 0xad, 0x59, + 0xa4, 0x77, 0x56, 0xa8, 0xfd, 0xdb, 0xaa, 0x7d, 0xda, 0x32, 0xdc, 0x85, + 0x34, 0x89, 0xee, 0xe8, 0x13, 0xdd, 0x4e, 0x23, 0xe9, 0xe6, 0x5d, 0xb4, + 0x16, 0x2c, 0x61, 0x8b, 0x04, 0xae, 0xe7, 0x93, 0x63, 0x1c, 0x14, 0x32, +}; +static const unsigned char kat4279_nonce[] = {0}; +static const unsigned char kat4279_persstr[] = {0}; +static const unsigned char kat4279_entropyinpr1[] = { + 0xd9, 0x6b, 0x6a, 0x0b, 0xbf, 0xac, 0x34, 0x0b, 0x3e, 0x99, 0x54, 0x72, + 0xf2, 0x9f, 0x91, 0x20, 0xe1, 0xf1, 0x72, 0x04, 0x10, 0x11, 0xe2, 0xaf, + 0x1f, 0xe4, 0x63, 0xf2, 0x5b, 0x34, 0x67, 0x1b, 0x08, 0xdc, 0xb8, 0x14, + 0xd5, 0x9a, 0x9f, 0xac, 0x56, 0x9c, 0x50, 0xc0, 0xf5, 0xb5, 0xd3, 0x15, +}; +static const unsigned char kat4279_addinpr1[] = { + 0x6f, 0xd3, 0x50, 0x49, 0xd8, 0x90, 0x5a, 0x16, 0x4e, 0xec, 0x42, 0x66, + 0xe0, 0x01, 0x8f, 0x2a, 0xef, 0xf0, 0xb9, 0x50, 0x72, 0x5d, 0xd8, 0x83, + 0xce, 0xf0, 0xf1, 0x5b, 0xb4, 0x97, 0xf9, 0x26, 0xa0, 0x2c, 0x18, 0x1d, + 0xe5, 0x4a, 0x8f, 0xd8, 0x76, 0x51, 0x86, 0x7c, 0xad, 0x1a, 0x28, 0x37, +}; +static const unsigned char kat4279_entropyinpr2[] = { + 0x51, 0x49, 0x0b, 0xbf, 0x6c, 0xc4, 0xdb, 0x8f, 0xd8, 0xe4, 0x0f, 0x77, + 0x51, 0x60, 0xbc, 0x44, 0x70, 0xc4, 0x5c, 0x83, 0x94, 0x59, 0xda, 0xb1, + 0xf7, 0x65, 0x4a, 0x99, 0x5b, 0xa7, 0xd7, 0x1f, 0x54, 0x28, 0x94, 0xc9, + 0xb4, 0xb6, 0x95, 0x94, 0x90, 0x02, 0x3a, 0x87, 0x15, 0x81, 0x99, 0xe4, +}; +static const unsigned char kat4279_addinpr2[] = { + 0x1a, 0xe5, 0x0c, 0x2f, 0xb8, 0x05, 0x75, 0xff, 0xf8, 0xbd, 0x2a, 0x88, + 0xe8, 0xe0, 0xfa, 0xa3, 0x90, 0x63, 0x44, 0x66, 0x9c, 0x20, 0x45, 0x36, + 0x6b, 0x64, 0x5c, 0x3d, 0x6a, 0xfc, 0x26, 0x6d, 0xc9, 0x63, 0x87, 0xf2, + 0xe7, 0x06, 0x8f, 0x02, 0xe3, 0x82, 0x1b, 0x79, 0xec, 0x6c, 0x2e, 0x94, +}; +static const unsigned char kat4279_retbits[] = { + 0xcf, 0x3c, 0x63, 0xf9, 0xe4, 0x53, 0x54, 0x4f, 0x03, 0x26, 0xa9, 0x26, + 0xd7, 0xf2, 0x69, 0x70, 0x41, 0x32, 0x0d, 0x49, 0x43, 0x3a, 0x6a, 0xd9, + 0x18, 0x4d, 0x13, 0x27, 0xbe, 0x4c, 0xb6, 0x17, 0x0b, 0x65, 0xe3, 0xdb, + 0x08, 0x5c, 0xee, 0x87, 0x12, 0xb4, 0x38, 0x75, 0xa1, 0x85, 0xd1, 0xe4, + 0x61, 0xa6, 0xa4, 0x63, 0xac, 0x32, 0x31, 0x89, 0x79, 0xa2, 0xfe, 0x56, + 0x4b, 0x38, 0x6c, 0x0a, +}; +static const struct drbg_kat_pr_true kat4279_t = { + 3, kat4279_entropyin, kat4279_nonce, kat4279_persstr, + kat4279_entropyinpr1, kat4279_addinpr1, kat4279_entropyinpr2, + kat4279_addinpr2, kat4279_retbits +}; +static const struct drbg_kat kat4279 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4279_t +}; + +static const unsigned char kat4280_entropyin[] = { + 0x45, 0x52, 0x1c, 0x7b, 0x48, 0x90, 0xa4, 0x33, 0xcc, 0xfd, 0xd6, 0xd1, + 0x52, 0xec, 0xba, 0x50, 0xe5, 0xf1, 0x32, 0xef, 0xa0, 0x36, 0x5f, 0xe2, + 0x87, 0xaf, 0xf0, 0xea, 0x38, 0x20, 0x99, 0x71, 0xa2, 0xb2, 0x84, 0x0a, + 0xff, 0xd4, 0xcb, 0x4e, 0x44, 0x0f, 0x59, 0x2f, 0x71, 0x17, 0x24, 0xae, +}; +static const unsigned char kat4280_nonce[] = {0}; +static const unsigned char kat4280_persstr[] = {0}; +static const unsigned char kat4280_entropyinpr1[] = { + 0x14, 0xe9, 0xde, 0x9a, 0x39, 0x21, 0x6e, 0xa8, 0xb3, 0xbe, 0xb5, 0x17, + 0x5b, 0xb7, 0xdc, 0x2e, 0xab, 0xc7, 0x9d, 0x5b, 0x19, 0x31, 0x14, 0x59, + 0xb0, 0x3d, 0x84, 0xc1, 0x86, 0x75, 0x67, 0xa5, 0x4c, 0x57, 0xd1, 0xd5, + 0xba, 0x5f, 0xbc, 0xa2, 0xb3, 0xeb, 0x3d, 0xe7, 0x3d, 0x2b, 0xe4, 0x3e, +}; +static const unsigned char kat4280_addinpr1[] = { + 0x2e, 0x60, 0x25, 0x9c, 0xa1, 0xc4, 0x9d, 0xce, 0x14, 0xc7, 0xe3, 0x1f, + 0x7d, 0xe9, 0x5e, 0x25, 0xf6, 0xfd, 0x49, 0xfa, 0x10, 0x0e, 0x32, 0x5b, + 0x1e, 0xf0, 0xf0, 0xed, 0x72, 0xf7, 0xc0, 0x1e, 0x4d, 0x13, 0x72, 0xf6, + 0xab, 0x0d, 0x87, 0xfb, 0x45, 0xcd, 0x59, 0x49, 0xa4, 0x93, 0xa7, 0x9b, +}; +static const unsigned char kat4280_entropyinpr2[] = { + 0x6a, 0x2f, 0x83, 0x9f, 0x86, 0xd1, 0x6a, 0x06, 0x13, 0xb7, 0x7e, 0x71, + 0x0f, 0x44, 0x4d, 0x96, 0x39, 0x1f, 0x9e, 0xf4, 0x89, 0x4e, 0x29, 0xa8, + 0xd2, 0x37, 0xee, 0xa5, 0x3c, 0xe2, 0x9a, 0x2d, 0xbf, 0xcb, 0x6d, 0x4f, + 0x26, 0x77, 0x62, 0x27, 0x99, 0x65, 0xab, 0x21, 0xc9, 0x3a, 0xa8, 0x55, +}; +static const unsigned char kat4280_addinpr2[] = { + 0x13, 0x66, 0x65, 0xeb, 0x10, 0x86, 0x3d, 0xc7, 0xc3, 0xc2, 0x30, 0x01, + 0x25, 0x84, 0x34, 0xff, 0x7a, 0x1a, 0xab, 0xd8, 0x76, 0xe2, 0x98, 0x93, + 0x0d, 0x6f, 0xc6, 0xb0, 0x5f, 0xf0, 0x4f, 0xce, 0xe3, 0xf0, 0x77, 0x3b, + 0xf4, 0x02, 0xb0, 0x98, 0x71, 0x60, 0x06, 0x2c, 0x1a, 0xb9, 0x0b, 0x95, +}; +static const unsigned char kat4280_retbits[] = { + 0x86, 0xe6, 0x6f, 0x97, 0xc0, 0x56, 0xc1, 0xec, 0xc4, 0x72, 0xb9, 0xb9, + 0x4b, 0x34, 0x74, 0xb8, 0x36, 0x64, 0xa4, 0xaf, 0xe1, 0x77, 0x86, 0x02, + 0xd0, 0xac, 0x05, 0x00, 0x79, 0x94, 0x97, 0x0a, 0x85, 0xa2, 0x9d, 0xd4, + 0xa8, 0x07, 0xab, 0x17, 0x13, 0x0b, 0xc4, 0x9b, 0x9f, 0x11, 0xee, 0x6f, + 0xa7, 0x84, 0xab, 0x1d, 0xc1, 0xe6, 0x4b, 0x15, 0xda, 0x8a, 0xe7, 0xa5, + 0x9d, 0xe9, 0x11, 0x73, +}; +static const struct drbg_kat_pr_true kat4280_t = { + 4, kat4280_entropyin, kat4280_nonce, kat4280_persstr, + kat4280_entropyinpr1, kat4280_addinpr1, kat4280_entropyinpr2, + kat4280_addinpr2, kat4280_retbits +}; +static const struct drbg_kat kat4280 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4280_t +}; + +static const unsigned char kat4281_entropyin[] = { + 0xbd, 0x3f, 0x6e, 0xa9, 0x94, 0xf7, 0x48, 0xf0, 0x4d, 0x32, 0xcb, 0xe7, + 0xc0, 0x9a, 0xc6, 0x8b, 0xeb, 0x72, 0xd7, 0xe1, 0x68, 0xa1, 0x99, 0x5a, + 0x4d, 0x34, 0x25, 0x8a, 0x61, 0x61, 0x6b, 0x5e, 0x10, 0xa2, 0xc4, 0x2d, + 0xaa, 0xb3, 0xa7, 0x7d, 0x18, 0xcd, 0x35, 0x4d, 0x89, 0x0f, 0x8f, 0x1e, +}; +static const unsigned char kat4281_nonce[] = {0}; +static const unsigned char kat4281_persstr[] = {0}; +static const unsigned char kat4281_entropyinpr1[] = { + 0x46, 0xb0, 0xb2, 0x4c, 0x25, 0x72, 0x67, 0x12, 0x1a, 0xf1, 0x56, 0x14, + 0x8d, 0x08, 0x98, 0x03, 0x79, 0x1b, 0xcd, 0xad, 0xc3, 0xcb, 0x6b, 0x48, + 0x6b, 0x11, 0xe7, 0xc5, 0x9d, 0x8d, 0xbe, 0x37, 0x4c, 0x37, 0xc2, 0xae, + 0xd5, 0x21, 0x0e, 0x7d, 0x3f, 0xcb, 0x02, 0xe7, 0x5c, 0x84, 0xed, 0x07, +}; +static const unsigned char kat4281_addinpr1[] = { + 0x19, 0x3d, 0x29, 0x61, 0x65, 0x4f, 0x8d, 0x29, 0xed, 0x50, 0xd7, 0xc4, + 0xef, 0x10, 0x6f, 0x43, 0x69, 0xbd, 0xa2, 0xe1, 0x8b, 0x11, 0xb3, 0x02, + 0x78, 0xb5, 0x60, 0x0c, 0x2b, 0xf1, 0x78, 0x47, 0x77, 0xe5, 0x90, 0xe7, + 0x5a, 0xa0, 0xb5, 0xb1, 0x1f, 0xc9, 0xa5, 0x74, 0xe7, 0xe9, 0x75, 0xec, +}; +static const unsigned char kat4281_entropyinpr2[] = { + 0xa2, 0x45, 0xfe, 0xf4, 0xc8, 0xf6, 0x31, 0xe3, 0x20, 0xa6, 0x77, 0x30, + 0x32, 0x5d, 0xbf, 0x3b, 0x0d, 0x7e, 0xd2, 0x1f, 0x1b, 0xa9, 0x4f, 0xd4, + 0x55, 0x9e, 0x55, 0xcb, 0x8a, 0x31, 0x58, 0xec, 0xf6, 0x7a, 0x3a, 0x58, + 0xd4, 0x0b, 0x1b, 0x6d, 0x43, 0x84, 0x2a, 0x15, 0xd3, 0x37, 0x19, 0xf9, +}; +static const unsigned char kat4281_addinpr2[] = { + 0x56, 0xf2, 0xc0, 0x7c, 0x15, 0x24, 0x93, 0xa2, 0x5d, 0x58, 0x02, 0x82, + 0x07, 0xb7, 0x48, 0xf2, 0x06, 0x29, 0x4f, 0x91, 0x9e, 0xda, 0x32, 0x75, + 0x2f, 0xa3, 0x9f, 0x2c, 0xce, 0xb5, 0x15, 0x25, 0x33, 0xae, 0xec, 0x98, + 0x74, 0xad, 0x60, 0xef, 0x8b, 0xdb, 0x0c, 0xdf, 0xc2, 0x2d, 0x93, 0x21, +}; +static const unsigned char kat4281_retbits[] = { + 0x05, 0x5f, 0x58, 0xaf, 0xa1, 0xf0, 0xd6, 0x75, 0x5d, 0x01, 0x3c, 0x3c, + 0xb9, 0xbe, 0xef, 0xd5, 0x08, 0x20, 0x67, 0x72, 0x28, 0x74, 0xee, 0x2f, + 0x7b, 0x73, 0x9f, 0xa4, 0x60, 0x8a, 0x67, 0x9e, 0xc1, 0x24, 0xf8, 0x98, + 0x76, 0xb3, 0xd4, 0x45, 0xac, 0xbf, 0x50, 0xe8, 0x06, 0x41, 0x5a, 0xff, + 0x95, 0xa5, 0xab, 0x06, 0xa3, 0x45, 0xa8, 0x66, 0xa4, 0x26, 0xd5, 0x13, + 0x10, 0xf0, 0xcc, 0x8a, +}; +static const struct drbg_kat_pr_true kat4281_t = { + 5, kat4281_entropyin, kat4281_nonce, kat4281_persstr, + kat4281_entropyinpr1, kat4281_addinpr1, kat4281_entropyinpr2, + kat4281_addinpr2, kat4281_retbits +}; +static const struct drbg_kat kat4281 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4281_t +}; + +static const unsigned char kat4282_entropyin[] = { + 0x08, 0x55, 0x1c, 0x18, 0xc6, 0xcd, 0x79, 0x5a, 0xbd, 0x89, 0x18, 0x47, + 0xcb, 0x91, 0x7d, 0x10, 0xc0, 0x94, 0xc3, 0x73, 0x4a, 0xe6, 0x73, 0xf8, + 0x7f, 0xb0, 0x95, 0x7d, 0x95, 0x3d, 0xa6, 0x1f, 0x5b, 0x1e, 0x6c, 0xd4, + 0x83, 0x5e, 0x98, 0x84, 0x53, 0xc4, 0x73, 0x1c, 0x9f, 0xaf, 0x14, 0xa5, +}; +static const unsigned char kat4282_nonce[] = {0}; +static const unsigned char kat4282_persstr[] = {0}; +static const unsigned char kat4282_entropyinpr1[] = { + 0x8c, 0xf2, 0x21, 0xad, 0x9e, 0xe8, 0x51, 0xb3, 0x74, 0x17, 0x2d, 0xd6, + 0x33, 0xde, 0x61, 0x6e, 0x06, 0x49, 0x91, 0xae, 0xab, 0xd7, 0x7a, 0xae, + 0xda, 0x50, 0xf1, 0xba, 0x29, 0x9b, 0xb4, 0x74, 0xd8, 0xc2, 0xa4, 0xde, + 0xc4, 0x53, 0x56, 0xd8, 0x44, 0x27, 0xe6, 0xc8, 0x34, 0x54, 0xab, 0x95, +}; +static const unsigned char kat4282_addinpr1[] = { + 0xbe, 0x86, 0xfd, 0x4f, 0xbf, 0x5a, 0x23, 0x45, 0xb8, 0xf5, 0xeb, 0x10, + 0x7c, 0xa6, 0x4e, 0x0b, 0x67, 0x55, 0xa2, 0x51, 0x26, 0x38, 0x3d, 0xe4, + 0x74, 0x35, 0x6d, 0xcc, 0xa1, 0x72, 0xcb, 0x06, 0x0b, 0x99, 0x82, 0x36, + 0x67, 0x2b, 0xe8, 0xd7, 0xe5, 0xc3, 0x31, 0x26, 0x94, 0xb8, 0xad, 0x85, +}; +static const unsigned char kat4282_entropyinpr2[] = { + 0xa0, 0x66, 0x8f, 0xe1, 0xc5, 0xda, 0x6b, 0x19, 0x17, 0x1a, 0x82, 0x85, + 0x27, 0x6b, 0x45, 0xcc, 0x83, 0xb3, 0xb2, 0x3a, 0x33, 0x57, 0xfb, 0x64, + 0x26, 0x84, 0xb3, 0xee, 0xaa, 0xe1, 0x09, 0xb3, 0x58, 0x6b, 0x74, 0x8b, + 0xb8, 0xbb, 0xee, 0xb7, 0x33, 0x3c, 0x7b, 0x37, 0x51, 0x20, 0x8e, 0x1c, +}; +static const unsigned char kat4282_addinpr2[] = { + 0x5d, 0x6b, 0xe1, 0x1e, 0xd1, 0x75, 0x58, 0x4b, 0x48, 0x0f, 0xff, 0x76, + 0x34, 0x75, 0xc5, 0x70, 0x12, 0x6b, 0xa9, 0xfa, 0x57, 0xa2, 0x4d, 0x11, + 0xce, 0xa8, 0xd3, 0xb0, 0xbe, 0xb3, 0x65, 0xbc, 0x51, 0x4c, 0xce, 0x37, + 0x58, 0x2d, 0x44, 0xc6, 0xa5, 0x15, 0xdc, 0x4e, 0x77, 0xbb, 0xdc, 0x09, +}; +static const unsigned char kat4282_retbits[] = { + 0xd4, 0x50, 0x1f, 0x95, 0xba, 0xb4, 0x5a, 0xb1, 0xc2, 0xb3, 0xea, 0x60, + 0x24, 0x09, 0x06, 0xa5, 0xa7, 0xc3, 0xa8, 0x5d, 0xd9, 0x9c, 0x45, 0x7a, + 0x0c, 0xcb, 0x9c, 0xd8, 0x7c, 0x87, 0x91, 0xfd, 0x36, 0xac, 0xf7, 0xaf, + 0x38, 0x2c, 0xf3, 0x96, 0x96, 0x7d, 0x7c, 0x7e, 0x17, 0xe6, 0xf7, 0x86, + 0x44, 0x6f, 0xca, 0x44, 0xd8, 0x5d, 0x16, 0x98, 0xef, 0xc0, 0xce, 0xa9, + 0x5a, 0xdd, 0x29, 0x36, +}; +static const struct drbg_kat_pr_true kat4282_t = { + 6, kat4282_entropyin, kat4282_nonce, kat4282_persstr, + kat4282_entropyinpr1, kat4282_addinpr1, kat4282_entropyinpr2, + kat4282_addinpr2, kat4282_retbits +}; +static const struct drbg_kat kat4282 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4282_t +}; + +static const unsigned char kat4283_entropyin[] = { + 0xc1, 0x3f, 0xaa, 0x09, 0x80, 0xc9, 0x36, 0xf7, 0x74, 0xf2, 0x7e, 0x74, + 0xe0, 0x3f, 0xf8, 0xc5, 0x09, 0x8b, 0x38, 0x67, 0x46, 0x01, 0x60, 0xa7, + 0xb6, 0x8a, 0x32, 0xd6, 0xb3, 0xfd, 0xf1, 0x76, 0x56, 0xd8, 0x9a, 0xa9, + 0x94, 0xe3, 0xf1, 0x51, 0x76, 0xdd, 0xa8, 0xd2, 0x3c, 0xa2, 0x1f, 0x55, +}; +static const unsigned char kat4283_nonce[] = {0}; +static const unsigned char kat4283_persstr[] = {0}; +static const unsigned char kat4283_entropyinpr1[] = { + 0x43, 0x33, 0x5f, 0xc7, 0xd4, 0x32, 0xbd, 0x49, 0x04, 0xfe, 0x35, 0x28, + 0x0f, 0xe6, 0x61, 0x72, 0xe5, 0x27, 0x99, 0x44, 0xe3, 0x1d, 0x38, 0xba, + 0x64, 0x7a, 0x99, 0x8a, 0x23, 0x2b, 0xa2, 0x5a, 0x62, 0x58, 0x05, 0xa0, + 0x92, 0x00, 0x58, 0x47, 0xae, 0x3b, 0x7e, 0xe4, 0x66, 0x96, 0xc6, 0xee, +}; +static const unsigned char kat4283_addinpr1[] = { + 0x77, 0x95, 0x4e, 0x74, 0x04, 0xcf, 0x5b, 0xdb, 0xeb, 0xf4, 0x42, 0x9e, + 0x43, 0xf6, 0x38, 0x5e, 0x3e, 0x77, 0xaa, 0xd0, 0x64, 0x16, 0x31, 0xaf, + 0x3e, 0xe1, 0x2f, 0xbd, 0xc0, 0xf4, 0xa7, 0x48, 0x57, 0x30, 0x2c, 0x80, + 0x5a, 0xcc, 0xa1, 0xc5, 0x56, 0xc3, 0x20, 0xd6, 0xca, 0xa0, 0xcb, 0x2e, +}; +static const unsigned char kat4283_entropyinpr2[] = { + 0xba, 0x19, 0x25, 0x2c, 0xf5, 0xff, 0x90, 0x17, 0x91, 0x86, 0xe9, 0xaa, + 0x1d, 0x08, 0x96, 0x9e, 0x8e, 0x79, 0xe5, 0xa6, 0x1c, 0x54, 0xb9, 0x07, + 0xc9, 0x16, 0x34, 0x69, 0x4b, 0x06, 0xc7, 0x3c, 0x62, 0xaf, 0xe8, 0x37, + 0x6a, 0xa9, 0xf3, 0x99, 0x38, 0x21, 0xba, 0xd5, 0x76, 0xf5, 0x9d, 0x9e, +}; +static const unsigned char kat4283_addinpr2[] = { + 0xb7, 0x7e, 0x35, 0xb4, 0x1c, 0xa8, 0xc0, 0x6a, 0xae, 0x16, 0x4e, 0xb2, + 0xfd, 0x75, 0x1b, 0x4d, 0x0b, 0x0a, 0x8e, 0xf2, 0x9e, 0xd0, 0x7c, 0x71, + 0xb6, 0xf7, 0xab, 0x5e, 0xe1, 0x6d, 0x67, 0xff, 0x02, 0x56, 0xf7, 0x4d, + 0xd9, 0x5c, 0x78, 0x9c, 0xb5, 0x38, 0x2c, 0x03, 0x01, 0xe2, 0xd6, 0xa8, +}; +static const unsigned char kat4283_retbits[] = { + 0x18, 0x27, 0xb8, 0xd2, 0xae, 0x59, 0xdb, 0x2d, 0x9f, 0x4b, 0xe5, 0x14, + 0x17, 0x82, 0x6e, 0xa7, 0x83, 0x36, 0x23, 0x8a, 0x7f, 0x0c, 0xbb, 0xc8, + 0x04, 0x8f, 0x2d, 0xa3, 0x93, 0x24, 0x44, 0xa2, 0x0a, 0x3e, 0x17, 0xf5, + 0x6a, 0x34, 0xef, 0x72, 0x72, 0x77, 0x32, 0x15, 0x0c, 0x81, 0xf4, 0xc5, + 0xa9, 0x65, 0x33, 0xe3, 0xfb, 0x87, 0x2b, 0xe8, 0x7e, 0x0b, 0x8b, 0x85, + 0x0d, 0xc8, 0x5e, 0x1c, +}; +static const struct drbg_kat_pr_true kat4283_t = { + 7, kat4283_entropyin, kat4283_nonce, kat4283_persstr, + kat4283_entropyinpr1, kat4283_addinpr1, kat4283_entropyinpr2, + kat4283_addinpr2, kat4283_retbits +}; +static const struct drbg_kat kat4283 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4283_t +}; + +static const unsigned char kat4284_entropyin[] = { + 0xb6, 0x55, 0xcc, 0x6a, 0x23, 0xe5, 0x09, 0x20, 0x27, 0x85, 0x25, 0x95, + 0xb1, 0xa9, 0x36, 0x83, 0x1d, 0x96, 0x0a, 0x2b, 0x7f, 0xc9, 0xc1, 0x03, + 0x8c, 0xb7, 0x04, 0x8b, 0x88, 0x8b, 0xbf, 0x72, 0xba, 0x06, 0x70, 0x89, + 0x34, 0x92, 0x45, 0x82, 0xca, 0x49, 0xd1, 0xe7, 0xa8, 0xf1, 0x95, 0x04, +}; +static const unsigned char kat4284_nonce[] = {0}; +static const unsigned char kat4284_persstr[] = {0}; +static const unsigned char kat4284_entropyinpr1[] = { + 0x3d, 0x0d, 0xab, 0x5d, 0x34, 0x16, 0xcd, 0x8b, 0x3b, 0xb5, 0x65, 0x61, + 0x7a, 0xd0, 0x52, 0x5e, 0x7e, 0xea, 0x2d, 0x8d, 0x81, 0xeb, 0x2f, 0x08, + 0xe1, 0xdc, 0xea, 0xd8, 0x10, 0x90, 0x4e, 0xa8, 0x86, 0xaa, 0xe2, 0x33, + 0x14, 0xe2, 0xe5, 0x6f, 0xc1, 0x84, 0xf2, 0x71, 0x5c, 0xc8, 0x05, 0xe9, +}; +static const unsigned char kat4284_addinpr1[] = { + 0xb3, 0x34, 0x20, 0x61, 0x12, 0xbe, 0x7d, 0x8e, 0x06, 0xee, 0xf7, 0x79, + 0xd3, 0xab, 0xbe, 0xf7, 0x0b, 0xbf, 0xb6, 0x2a, 0xa1, 0x68, 0x7c, 0x93, + 0xee, 0x59, 0x11, 0x25, 0xc9, 0x31, 0x2f, 0x6a, 0xf6, 0x38, 0x9b, 0xe4, + 0xe2, 0xfb, 0x78, 0x33, 0x5d, 0x1b, 0xc0, 0x53, 0x56, 0x9f, 0xc7, 0x68, +}; +static const unsigned char kat4284_entropyinpr2[] = { + 0x6a, 0x80, 0x36, 0x75, 0x67, 0x60, 0x95, 0xa5, 0x7e, 0x08, 0x4d, 0x81, + 0xd7, 0x74, 0xd7, 0x8d, 0x51, 0x66, 0x41, 0x16, 0x53, 0x43, 0xdc, 0x8f, + 0xb8, 0x07, 0x31, 0x14, 0x4d, 0x75, 0x83, 0xe1, 0x6f, 0xa5, 0x48, 0x21, + 0xea, 0x5b, 0xdd, 0xdb, 0x38, 0x64, 0x59, 0xd3, 0x6a, 0xfb, 0x16, 0xe1, +}; +static const unsigned char kat4284_addinpr2[] = { + 0xb4, 0xd7, 0x40, 0xdd, 0xa6, 0x16, 0x13, 0xef, 0x19, 0x5f, 0xe8, 0xf8, + 0x74, 0x50, 0x79, 0xf5, 0xce, 0x1e, 0xe7, 0xb4, 0xbf, 0x1b, 0xbb, 0x1e, + 0x25, 0xd9, 0xf7, 0x52, 0xf2, 0x71, 0xef, 0xe8, 0x3e, 0xdc, 0x1f, 0xc7, + 0xce, 0x4c, 0xcc, 0xfc, 0xfb, 0xbd, 0xfe, 0x85, 0xd7, 0x66, 0xe5, 0x9b, +}; +static const unsigned char kat4284_retbits[] = { + 0x43, 0x52, 0x01, 0xc9, 0x27, 0xfe, 0xdd, 0xa6, 0x74, 0x5c, 0x7d, 0x4b, + 0x8b, 0x3e, 0xf9, 0x7b, 0xa4, 0x91, 0x60, 0xff, 0xf2, 0xdf, 0xa5, 0x6a, + 0xb8, 0xf5, 0x00, 0xfb, 0x91, 0x3c, 0x5d, 0x34, 0xfc, 0xe8, 0x33, 0x17, + 0xba, 0x60, 0x58, 0x6c, 0x30, 0xd7, 0x38, 0x0b, 0xab, 0x9a, 0x05, 0x0d, + 0x0e, 0x11, 0x1f, 0x0b, 0x38, 0x1f, 0x88, 0x09, 0x8b, 0x98, 0x0c, 0xfa, + 0xc0, 0x9d, 0x73, 0x75, +}; +static const struct drbg_kat_pr_true kat4284_t = { + 8, kat4284_entropyin, kat4284_nonce, kat4284_persstr, + kat4284_entropyinpr1, kat4284_addinpr1, kat4284_entropyinpr2, + kat4284_addinpr2, kat4284_retbits +}; +static const struct drbg_kat kat4284 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4284_t +}; + +static const unsigned char kat4285_entropyin[] = { + 0xad, 0xe9, 0x82, 0xb1, 0x13, 0x76, 0x9a, 0x15, 0x46, 0x57, 0x11, 0xcf, + 0x71, 0x26, 0x3d, 0xc8, 0x53, 0x9d, 0x75, 0xd4, 0x4d, 0x5d, 0x01, 0xc8, + 0xe1, 0xc6, 0xb6, 0xf3, 0xca, 0x0b, 0xb4, 0x29, 0xd2, 0x8a, 0x3d, 0xd0, + 0x23, 0x2c, 0xa4, 0xb5, 0x2a, 0x7f, 0x78, 0xb8, 0x1a, 0x39, 0x58, 0x5f, +}; +static const unsigned char kat4285_nonce[] = {0}; +static const unsigned char kat4285_persstr[] = {0}; +static const unsigned char kat4285_entropyinpr1[] = { + 0xfd, 0x17, 0x95, 0x31, 0x5d, 0x41, 0x62, 0x61, 0xf0, 0x43, 0x24, 0xba, + 0x0e, 0xaa, 0xac, 0x2f, 0xd8, 0x36, 0x12, 0x5e, 0x78, 0x61, 0x18, 0xbd, + 0x4a, 0xd4, 0x85, 0x7d, 0xab, 0xc8, 0xa5, 0x10, 0x09, 0x4a, 0x48, 0xdb, + 0x1f, 0xec, 0x1c, 0xfd, 0xef, 0x90, 0x98, 0x07, 0xe1, 0x2d, 0x6a, 0xbf, +}; +static const unsigned char kat4285_addinpr1[] = { + 0xd6, 0xfd, 0x18, 0x0e, 0x56, 0x56, 0x2a, 0x41, 0x6f, 0x1b, 0xd0, 0x0e, + 0x39, 0x23, 0xd9, 0x3d, 0xb9, 0xf4, 0x15, 0x4e, 0x2b, 0x58, 0xe5, 0x7c, + 0x6e, 0x83, 0x36, 0x44, 0x5d, 0xf3, 0xfe, 0x68, 0x26, 0x51, 0xba, 0xec, + 0xd8, 0x43, 0x7f, 0xce, 0x06, 0x7a, 0x46, 0x7b, 0x44, 0x8b, 0xe2, 0x38, +}; +static const unsigned char kat4285_entropyinpr2[] = { + 0x49, 0xae, 0x3e, 0x32, 0x3a, 0x72, 0xac, 0xf2, 0x49, 0x48, 0xd8, 0x52, + 0x84, 0x36, 0x19, 0xb5, 0xcc, 0xa9, 0x98, 0x8a, 0x61, 0x1c, 0x90, 0xbb, + 0xa2, 0x3f, 0xf4, 0xae, 0xef, 0xec, 0x49, 0xf2, 0xb5, 0xc9, 0x7c, 0x7d, + 0xb7, 0x28, 0x1a, 0xa3, 0x92, 0xa4, 0x0e, 0x2d, 0x04, 0x88, 0x73, 0xdc, +}; +static const unsigned char kat4285_addinpr2[] = { + 0x87, 0x53, 0x50, 0x6f, 0x14, 0xd6, 0xda, 0x4a, 0x8f, 0xa7, 0x13, 0x3c, + 0x92, 0x0c, 0xfe, 0x5a, 0x67, 0xc4, 0xdc, 0x37, 0x53, 0xa2, 0x85, 0xd7, + 0x61, 0xbe, 0xee, 0x41, 0xf6, 0x3a, 0x46, 0x86, 0x40, 0xd2, 0x81, 0x0a, + 0x37, 0xd9, 0x52, 0xa6, 0x63, 0x3b, 0xbe, 0x8c, 0xad, 0x02, 0x64, 0x03, +}; +static const unsigned char kat4285_retbits[] = { + 0x32, 0x43, 0xe6, 0x44, 0xfc, 0xc6, 0xaf, 0xf6, 0x93, 0x3e, 0x12, 0x95, + 0x86, 0x7f, 0xe6, 0x64, 0x40, 0x17, 0x50, 0xc1, 0x2d, 0xa6, 0x0a, 0xb5, + 0x24, 0xc1, 0x5c, 0x3f, 0xc4, 0xe6, 0x01, 0x74, 0xa2, 0x7b, 0xff, 0xd4, + 0xb5, 0x51, 0x77, 0xf1, 0xd5, 0x6e, 0xbc, 0x7c, 0xb0, 0x92, 0xff, 0x42, + 0xe8, 0x0e, 0x5b, 0x52, 0xc9, 0xcb, 0xc5, 0xd7, 0x0d, 0xee, 0x69, 0x9d, + 0x77, 0x27, 0x96, 0x10, +}; +static const struct drbg_kat_pr_true kat4285_t = { + 9, kat4285_entropyin, kat4285_nonce, kat4285_persstr, + kat4285_entropyinpr1, kat4285_addinpr1, kat4285_entropyinpr2, + kat4285_addinpr2, kat4285_retbits +}; +static const struct drbg_kat kat4285 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4285_t +}; + +static const unsigned char kat4286_entropyin[] = { + 0xf4, 0x7f, 0x2f, 0xdf, 0xc9, 0x18, 0xfc, 0xb9, 0x7f, 0x43, 0x27, 0x21, + 0xf2, 0xc8, 0x11, 0x0a, 0xaf, 0xa5, 0x3b, 0x54, 0x75, 0xaf, 0x79, 0xd1, + 0x98, 0xe1, 0xcd, 0xe9, 0xe2, 0xf5, 0x4e, 0xf4, 0xf2, 0x24, 0xd2, 0xa3, + 0xbb, 0x17, 0x06, 0xef, 0x6f, 0x55, 0xc5, 0xae, 0x03, 0x20, 0xb6, 0x42, +}; +static const unsigned char kat4286_nonce[] = {0}; +static const unsigned char kat4286_persstr[] = {0}; +static const unsigned char kat4286_entropyinpr1[] = { + 0x8b, 0xb7, 0x8d, 0x09, 0x2e, 0x84, 0x3d, 0xe9, 0xd1, 0x37, 0x82, 0x4e, + 0xb6, 0xdf, 0x04, 0xa7, 0x31, 0x0d, 0x52, 0x05, 0x00, 0x28, 0x99, 0xbd, + 0x68, 0x85, 0x02, 0xe5, 0xc0, 0xb0, 0x57, 0xda, 0xb9, 0x29, 0xc4, 0x20, + 0xe5, 0x91, 0x7c, 0x55, 0xd8, 0x62, 0xa0, 0x43, 0xe3, 0x2a, 0xec, 0x0b, +}; +static const unsigned char kat4286_addinpr1[] = { + 0xe2, 0x4e, 0x60, 0x9c, 0xf1, 0x87, 0x62, 0xfc, 0xff, 0x59, 0x08, 0x42, + 0xb2, 0x86, 0xb9, 0xc1, 0x34, 0x14, 0x40, 0x36, 0xd8, 0x4f, 0x0c, 0x35, + 0x2e, 0x16, 0xa0, 0x0b, 0xb0, 0xf2, 0x24, 0x3d, 0x7a, 0x41, 0x82, 0xa5, + 0x8d, 0x93, 0x07, 0x4f, 0x49, 0x79, 0x69, 0x4d, 0x49, 0xdd, 0x46, 0xd0, +}; +static const unsigned char kat4286_entropyinpr2[] = { + 0x19, 0x95, 0x66, 0x84, 0xb9, 0xcf, 0x99, 0x36, 0x98, 0xed, 0x43, 0xf0, + 0x4c, 0x88, 0xcb, 0x08, 0x9d, 0x5a, 0x1e, 0x5b, 0x99, 0x8d, 0x97, 0x19, + 0xd6, 0x77, 0x4a, 0xb0, 0x44, 0xef, 0x54, 0x2f, 0xda, 0x20, 0x89, 0x17, + 0x44, 0xcb, 0xa0, 0xe2, 0x47, 0xcd, 0xcb, 0xa5, 0x53, 0xdf, 0xb5, 0xf9, +}; +static const unsigned char kat4286_addinpr2[] = { + 0x2b, 0xdf, 0xb7, 0x27, 0x39, 0xc5, 0x16, 0x70, 0x4b, 0x5a, 0x91, 0x2b, + 0xea, 0xc3, 0x62, 0xa2, 0x9c, 0xcf, 0xce, 0x78, 0x46, 0x98, 0x9a, 0x7f, + 0xcc, 0x3c, 0x38, 0x1d, 0x20, 0x01, 0x1e, 0x89, 0x18, 0xd6, 0xf5, 0x0e, + 0xa7, 0x43, 0x3b, 0xa8, 0x34, 0xca, 0xea, 0x4b, 0xc0, 0x16, 0x54, 0xfb, +}; +static const unsigned char kat4286_retbits[] = { + 0xb4, 0x54, 0x38, 0x31, 0x74, 0x52, 0xc7, 0xf0, 0x43, 0x70, 0x5c, 0xd5, + 0x40, 0xe4, 0x9a, 0xfb, 0xf0, 0xfd, 0xb2, 0x13, 0xe7, 0x0c, 0x7a, 0x78, + 0x17, 0x47, 0x31, 0x18, 0x38, 0x77, 0x23, 0x10, 0x87, 0xf2, 0x72, 0x74, + 0x2f, 0xd6, 0x65, 0x8c, 0x51, 0x8c, 0x01, 0x01, 0xa0, 0xe6, 0xee, 0xaf, + 0xc9, 0xe0, 0x8a, 0x62, 0x7b, 0xe1, 0x36, 0x90, 0x48, 0x9d, 0x07, 0x07, + 0x32, 0xa9, 0xb0, 0xd0, +}; +static const struct drbg_kat_pr_true kat4286_t = { + 10, kat4286_entropyin, kat4286_nonce, kat4286_persstr, + kat4286_entropyinpr1, kat4286_addinpr1, kat4286_entropyinpr2, + kat4286_addinpr2, kat4286_retbits +}; +static const struct drbg_kat kat4286 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4286_t +}; + +static const unsigned char kat4287_entropyin[] = { + 0x9b, 0xdc, 0x52, 0xc7, 0x36, 0xc0, 0x51, 0x8d, 0x6b, 0xa3, 0x6e, 0x6b, + 0xbc, 0x0b, 0x63, 0xd4, 0x9c, 0xcb, 0x61, 0x71, 0xb5, 0x7d, 0xa0, 0xcb, + 0x13, 0x71, 0xc7, 0xff, 0xe2, 0x03, 0x27, 0x7e, 0x36, 0x3b, 0x95, 0xb0, + 0xcc, 0x05, 0xb8, 0x87, 0x3f, 0x2b, 0x80, 0x4d, 0xdd, 0x95, 0x07, 0xc2, +}; +static const unsigned char kat4287_nonce[] = {0}; +static const unsigned char kat4287_persstr[] = {0}; +static const unsigned char kat4287_entropyinpr1[] = { + 0x10, 0x04, 0x53, 0xf6, 0xd6, 0x36, 0xc6, 0xc4, 0x4d, 0x72, 0x1a, 0xa6, + 0x21, 0x6f, 0x00, 0x4e, 0xfd, 0x88, 0x34, 0xed, 0x74, 0xf0, 0xe3, 0x08, + 0xd1, 0x74, 0x61, 0x7b, 0xc6, 0x66, 0xe8, 0x35, 0x46, 0xcd, 0x8f, 0x6c, + 0x8a, 0x73, 0x12, 0x85, 0x8a, 0x04, 0xc5, 0x81, 0x08, 0x8e, 0x75, 0x3c, +}; +static const unsigned char kat4287_addinpr1[] = { + 0x6e, 0x79, 0x6d, 0x36, 0xdf, 0x6d, 0x9f, 0x6b, 0x09, 0xba, 0x3e, 0xa7, + 0xce, 0x89, 0xaa, 0xcf, 0x02, 0x28, 0x14, 0xf4, 0xa7, 0xc8, 0x55, 0xa7, + 0x92, 0x0b, 0xb6, 0xf2, 0xb9, 0xb0, 0x59, 0x2d, 0x4b, 0xeb, 0xb3, 0xb5, + 0x29, 0x40, 0x8d, 0x05, 0x0e, 0xb6, 0x74, 0xaa, 0x7e, 0x85, 0xa8, 0xd8, +}; +static const unsigned char kat4287_entropyinpr2[] = { + 0x08, 0x8d, 0x05, 0x76, 0x55, 0xdd, 0x9e, 0x4a, 0x92, 0x7e, 0xc9, 0x01, + 0xac, 0xa3, 0xa7, 0x53, 0xf0, 0x1b, 0xb4, 0xa5, 0xd1, 0xa3, 0xd9, 0x6a, + 0xad, 0x04, 0xec, 0xc9, 0x36, 0x70, 0x94, 0xb5, 0xfd, 0x68, 0x78, 0xa1, + 0x29, 0xd7, 0x32, 0x20, 0x47, 0xb2, 0xbd, 0xce, 0xc6, 0x1c, 0x91, 0xad, +}; +static const unsigned char kat4287_addinpr2[] = { + 0x57, 0x3a, 0xad, 0x63, 0xc3, 0xad, 0x08, 0xc5, 0xd7, 0x7b, 0xa7, 0x95, + 0xa8, 0xa7, 0x27, 0x86, 0xe4, 0x55, 0xfa, 0x72, 0x3e, 0x79, 0x88, 0x84, + 0x73, 0x43, 0x57, 0xe8, 0xf1, 0xda, 0x9f, 0xfb, 0x2d, 0x61, 0x2e, 0xa0, + 0x04, 0x4e, 0x6f, 0xc3, 0xad, 0xa4, 0x8d, 0xae, 0x1f, 0x21, 0xf4, 0x1c, +}; +static const unsigned char kat4287_retbits[] = { + 0xb3, 0x28, 0x24, 0x79, 0xd2, 0xde, 0xfa, 0x6d, 0x62, 0x92, 0x90, 0x22, + 0x68, 0x22, 0xf4, 0xcf, 0xa7, 0x3b, 0xd0, 0x44, 0xad, 0xdb, 0xef, 0xde, + 0x05, 0x52, 0xf2, 0x03, 0xfc, 0x8b, 0x39, 0x36, 0xec, 0x31, 0x8d, 0x33, + 0xf5, 0x04, 0xbc, 0xc5, 0xff, 0x37, 0x58, 0x97, 0x8b, 0x1d, 0x28, 0x05, + 0x67, 0x45, 0x9a, 0xf5, 0x07, 0x8d, 0xff, 0x40, 0xf7, 0x44, 0xee, 0x96, + 0xfe, 0x86, 0xd4, 0x78, +}; +static const struct drbg_kat_pr_true kat4287_t = { + 11, kat4287_entropyin, kat4287_nonce, kat4287_persstr, + kat4287_entropyinpr1, kat4287_addinpr1, kat4287_entropyinpr2, + kat4287_addinpr2, kat4287_retbits +}; +static const struct drbg_kat kat4287 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4287_t +}; + +static const unsigned char kat4288_entropyin[] = { + 0xaa, 0xd1, 0xea, 0x87, 0xc4, 0x81, 0x3f, 0xb7, 0xfc, 0xd1, 0x8e, 0x4a, + 0x6c, 0x9b, 0xc0, 0x20, 0x7d, 0xa0, 0xbf, 0x14, 0x72, 0xb9, 0xc0, 0xc2, + 0xdf, 0x03, 0x35, 0x23, 0x3c, 0x65, 0x94, 0xcb, 0x23, 0x87, 0xd5, 0xb9, + 0xc7, 0x8d, 0xd7, 0x70, 0x41, 0x94, 0x84, 0x9b, 0x95, 0x2f, 0xf4, 0xde, +}; +static const unsigned char kat4288_nonce[] = {0}; +static const unsigned char kat4288_persstr[] = {0}; +static const unsigned char kat4288_entropyinpr1[] = { + 0xb0, 0xca, 0xc0, 0x48, 0x86, 0xa8, 0x57, 0xed, 0xa8, 0x37, 0xfa, 0xb1, + 0xb2, 0x56, 0xd0, 0x89, 0xa7, 0x7b, 0x6e, 0x79, 0x0b, 0x6c, 0x5c, 0x10, + 0xbc, 0xc1, 0x33, 0xac, 0x25, 0x64, 0x58, 0xa3, 0x95, 0x82, 0x46, 0xda, + 0x25, 0x89, 0x00, 0x2c, 0x57, 0xbe, 0x44, 0x33, 0xc6, 0x00, 0x45, 0xb3, +}; +static const unsigned char kat4288_addinpr1[] = { + 0x0e, 0x75, 0x0c, 0x1c, 0xa7, 0x4b, 0x4a, 0xce, 0xaa, 0x3d, 0x29, 0x5c, + 0x83, 0x33, 0x39, 0x5f, 0xae, 0xa0, 0xf8, 0x46, 0x3d, 0xc8, 0x51, 0xa6, + 0x1b, 0x7b, 0x16, 0xfc, 0xa8, 0x9c, 0x5b, 0x27, 0xcf, 0x21, 0x47, 0x58, + 0x7e, 0xfc, 0x73, 0x08, 0x9f, 0x97, 0x8d, 0xed, 0xe6, 0xe0, 0xa0, 0x8a, +}; +static const unsigned char kat4288_entropyinpr2[] = { + 0x59, 0xde, 0x12, 0x2a, 0x53, 0xb4, 0xc3, 0xdd, 0x78, 0x77, 0x4c, 0x7a, + 0xe5, 0x20, 0x13, 0xfc, 0x74, 0x16, 0xeb, 0xc6, 0x34, 0x9e, 0x5a, 0xee, + 0x12, 0xff, 0x74, 0x55, 0x3d, 0xf2, 0x31, 0x18, 0xf7, 0x71, 0x01, 0xdd, + 0x30, 0xf3, 0xdc, 0x56, 0x7d, 0x9a, 0x29, 0xe4, 0xaf, 0x1e, 0x0b, 0x68, +}; +static const unsigned char kat4288_addinpr2[] = { + 0x98, 0xc5, 0xb9, 0x8c, 0x16, 0xc4, 0x3c, 0xcc, 0x19, 0x24, 0xd2, 0x37, + 0xb4, 0x5a, 0x4b, 0x82, 0x69, 0xa4, 0x3b, 0x2d, 0xf4, 0x7d, 0x73, 0x56, + 0x0b, 0x8b, 0xb8, 0x48, 0x7a, 0x1a, 0xc7, 0x7a, 0x63, 0x15, 0x29, 0xa8, + 0x61, 0xb7, 0x3e, 0x8d, 0xf3, 0x7a, 0xcf, 0x24, 0x36, 0x8a, 0x65, 0x5e, +}; +static const unsigned char kat4288_retbits[] = { + 0xe4, 0x87, 0x12, 0xfd, 0xfa, 0x9e, 0x44, 0xd3, 0x83, 0xa2, 0x66, 0x82, + 0x11, 0x8d, 0xdc, 0x09, 0x6f, 0xcd, 0x1b, 0x63, 0x07, 0x5a, 0x33, 0x23, + 0xd6, 0xf5, 0x87, 0x76, 0x13, 0x71, 0x63, 0x3e, 0x69, 0x22, 0x09, 0xb2, + 0x7c, 0xf7, 0xd9, 0xda, 0x91, 0x7d, 0xd1, 0x5b, 0xdf, 0x56, 0x03, 0x60, + 0xc9, 0x85, 0x6d, 0xa6, 0x82, 0x2e, 0xbc, 0xf6, 0xa0, 0xb6, 0x89, 0x2a, + 0x14, 0x54, 0xd2, 0xb7, +}; +static const struct drbg_kat_pr_true kat4288_t = { + 12, kat4288_entropyin, kat4288_nonce, kat4288_persstr, + kat4288_entropyinpr1, kat4288_addinpr1, kat4288_entropyinpr2, + kat4288_addinpr2, kat4288_retbits +}; +static const struct drbg_kat kat4288 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4288_t +}; + +static const unsigned char kat4289_entropyin[] = { + 0xca, 0xe1, 0x80, 0x0a, 0x14, 0x71, 0x91, 0x37, 0xde, 0x13, 0xce, 0x82, + 0xcf, 0x37, 0xc5, 0xa1, 0x54, 0x8f, 0x7f, 0xb1, 0x49, 0xdc, 0x57, 0xa1, + 0x95, 0x2c, 0x8f, 0x1f, 0xcd, 0x29, 0xec, 0x2d, 0xcb, 0x16, 0x77, 0x14, + 0xb0, 0x6a, 0x31, 0x39, 0x09, 0x8c, 0xf3, 0xf9, 0xe2, 0xe8, 0x7f, 0x1d, +}; +static const unsigned char kat4289_nonce[] = {0}; +static const unsigned char kat4289_persstr[] = {0}; +static const unsigned char kat4289_entropyinpr1[] = { + 0xee, 0xf4, 0x6a, 0x29, 0x3a, 0x48, 0xdb, 0x99, 0xd5, 0x6f, 0x0e, 0xff, + 0x12, 0x8e, 0x56, 0x7e, 0x8d, 0x32, 0xeb, 0x4e, 0x14, 0x5f, 0x85, 0x3f, + 0x5a, 0x40, 0xd3, 0x67, 0x55, 0xca, 0xcc, 0xae, 0x08, 0xd2, 0x28, 0x9a, + 0xa8, 0xca, 0xf8, 0x26, 0xdd, 0x44, 0x2a, 0x71, 0xeb, 0x84, 0x60, 0xb6, +}; +static const unsigned char kat4289_addinpr1[] = { + 0x47, 0xf8, 0xf0, 0x08, 0x15, 0xab, 0xe4, 0x55, 0x54, 0x67, 0x79, 0x86, + 0x8d, 0x03, 0x3e, 0xed, 0x33, 0xc3, 0xf4, 0xc1, 0xf9, 0x7e, 0x08, 0x64, + 0xf1, 0x61, 0xc1, 0xa2, 0x1c, 0x96, 0x42, 0x3c, 0xf5, 0xc9, 0x49, 0x25, + 0x81, 0xcf, 0x06, 0x27, 0xba, 0x74, 0xd7, 0xcb, 0x71, 0x95, 0x16, 0x7d, +}; +static const unsigned char kat4289_entropyinpr2[] = { + 0xe2, 0xe6, 0x1e, 0x0c, 0xb0, 0xae, 0x58, 0xe4, 0x8b, 0x17, 0x89, 0x8d, + 0x81, 0xa6, 0x97, 0x19, 0x95, 0x3e, 0x86, 0x34, 0x83, 0xe6, 0xee, 0x3d, + 0x96, 0xa5, 0x75, 0xb2, 0x16, 0xc9, 0x43, 0xfc, 0x90, 0xd3, 0x00, 0xbe, + 0x87, 0x33, 0x8d, 0x3c, 0xc6, 0x53, 0x87, 0x30, 0x1f, 0xa9, 0xf3, 0x4a, +}; +static const unsigned char kat4289_addinpr2[] = { + 0xf6, 0xe3, 0x02, 0xe9, 0xeb, 0xd0, 0x5e, 0xcb, 0x61, 0xeb, 0x52, 0x24, + 0x64, 0xe0, 0x2d, 0x13, 0x9b, 0x07, 0x67, 0x25, 0xce, 0xfd, 0xde, 0x59, + 0xf1, 0x62, 0x12, 0x01, 0xa8, 0x0e, 0xef, 0xef, 0x1b, 0xf3, 0xfa, 0x5d, + 0x65, 0x5e, 0xca, 0x75, 0x5d, 0xf3, 0x1e, 0x0e, 0xab, 0x49, 0x64, 0x1f, +}; +static const unsigned char kat4289_retbits[] = { + 0x0d, 0x8d, 0x79, 0x67, 0x6b, 0xff, 0x41, 0xad, 0xf2, 0xeb, 0x63, 0x3d, + 0x08, 0x25, 0x14, 0xb4, 0x5c, 0x7e, 0x07, 0xb3, 0xe8, 0xb7, 0x2b, 0xa8, + 0xaf, 0x64, 0xf2, 0xbe, 0x64, 0xf1, 0x70, 0xa2, 0x86, 0xe3, 0x0d, 0xe8, + 0xa5, 0x3a, 0x9f, 0x22, 0xd4, 0x2e, 0x71, 0x18, 0x52, 0x43, 0x68, 0x04, + 0xe2, 0xf0, 0xd9, 0x0e, 0x97, 0x4b, 0x96, 0x34, 0x9e, 0x2c, 0x63, 0x0f, + 0x13, 0xce, 0xc6, 0x66, +}; +static const struct drbg_kat_pr_true kat4289_t = { + 13, kat4289_entropyin, kat4289_nonce, kat4289_persstr, + kat4289_entropyinpr1, kat4289_addinpr1, kat4289_entropyinpr2, + kat4289_addinpr2, kat4289_retbits +}; +static const struct drbg_kat kat4289 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4289_t +}; + +static const unsigned char kat4290_entropyin[] = { + 0x67, 0x6d, 0xd0, 0x00, 0xba, 0x12, 0xbc, 0xc4, 0x1c, 0xae, 0xf7, 0x44, + 0x22, 0xde, 0x16, 0xff, 0x6a, 0x5d, 0x02, 0xe8, 0x99, 0xd9, 0x3d, 0xd7, + 0x57, 0xaa, 0x23, 0xd8, 0x77, 0xa4, 0x07, 0x12, 0xc1, 0x16, 0x8c, 0x30, + 0xc3, 0x18, 0xdc, 0x61, 0xc4, 0x5d, 0x77, 0x5e, 0x26, 0x89, 0xd3, 0xc4, +}; +static const unsigned char kat4290_nonce[] = {0}; +static const unsigned char kat4290_persstr[] = {0}; +static const unsigned char kat4290_entropyinpr1[] = { + 0xcc, 0xb3, 0xf0, 0xe7, 0x11, 0x5f, 0xb7, 0x22, 0x88, 0xf3, 0x8b, 0xea, + 0x76, 0x72, 0xbd, 0x19, 0xb4, 0xdf, 0x06, 0xa6, 0xca, 0xfc, 0x59, 0xa4, + 0x97, 0xc7, 0xe3, 0xbb, 0x5e, 0x7e, 0x45, 0xc8, 0xcb, 0xce, 0xbf, 0x09, + 0x66, 0x16, 0x1c, 0x96, 0xc0, 0x0a, 0xed, 0xb7, 0xa0, 0x27, 0x73, 0x86, +}; +static const unsigned char kat4290_addinpr1[] = { + 0x6a, 0x5c, 0x30, 0xc8, 0x7f, 0xac, 0x76, 0x8e, 0x99, 0x37, 0x8a, 0x73, + 0x7d, 0x47, 0x86, 0x3a, 0xc5, 0x83, 0xdc, 0x54, 0x15, 0xb1, 0x31, 0x92, + 0x33, 0xaa, 0xba, 0x79, 0x0f, 0x21, 0x88, 0x21, 0x8f, 0x5b, 0x5b, 0x66, + 0xa5, 0x93, 0x2e, 0xae, 0x31, 0x5c, 0xaa, 0x23, 0x61, 0xb1, 0x5c, 0x2e, +}; +static const unsigned char kat4290_entropyinpr2[] = { + 0xca, 0x50, 0x99, 0x74, 0x9a, 0xa7, 0xf1, 0x95, 0xe0, 0xfd, 0xe5, 0x26, + 0x2c, 0x56, 0xad, 0x35, 0xc1, 0xd5, 0x20, 0x69, 0x00, 0x1f, 0xbb, 0x65, + 0x80, 0xd4, 0x78, 0xf5, 0x0d, 0x1d, 0x69, 0xf6, 0x94, 0x1d, 0x7e, 0xa4, + 0xfa, 0x66, 0xe4, 0x74, 0x1c, 0xad, 0x70, 0x1a, 0x67, 0xf9, 0x29, 0x33, +}; +static const unsigned char kat4290_addinpr2[] = { + 0xdb, 0xe9, 0x1f, 0xfe, 0x3b, 0xfb, 0x71, 0x9b, 0xeb, 0xbb, 0x0e, 0x3b, + 0xb6, 0x0a, 0xa9, 0x07, 0xca, 0x6e, 0x04, 0x11, 0xc0, 0x5a, 0x7d, 0xed, + 0x76, 0x66, 0x74, 0xcd, 0x4d, 0x2b, 0x02, 0x4d, 0xad, 0xe1, 0xdd, 0x3b, + 0xab, 0x8e, 0x92, 0xb8, 0x1d, 0x40, 0xfb, 0x00, 0x7a, 0xb9, 0xa8, 0x1f, +}; +static const unsigned char kat4290_retbits[] = { + 0xa1, 0x35, 0x64, 0x1f, 0x33, 0xe2, 0xaa, 0x59, 0x75, 0xa3, 0xbe, 0x70, + 0xb0, 0x5e, 0x0b, 0x8c, 0x48, 0x37, 0x2e, 0xf7, 0xc6, 0x76, 0x8e, 0xed, + 0x8e, 0x6c, 0x2b, 0x4e, 0x91, 0xd9, 0x15, 0x3e, 0xea, 0xd2, 0x17, 0xea, + 0x47, 0xbf, 0x96, 0xb1, 0x41, 0x2a, 0xf4, 0xe0, 0x8c, 0x31, 0x14, 0xd2, + 0xc8, 0x5f, 0x2e, 0x29, 0xfb, 0xe9, 0x3c, 0x26, 0x01, 0x46, 0x77, 0xbd, + 0x14, 0x26, 0x6e, 0xcf, +}; +static const struct drbg_kat_pr_true kat4290_t = { + 14, kat4290_entropyin, kat4290_nonce, kat4290_persstr, + kat4290_entropyinpr1, kat4290_addinpr1, kat4290_entropyinpr2, + kat4290_addinpr2, kat4290_retbits +}; +static const struct drbg_kat kat4290 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 0, 48, 64, &kat4290_t +}; + +static const unsigned char kat4291_entropyin[] = { + 0x11, 0xb3, 0x24, 0x41, 0xb5, 0x80, 0x03, 0x47, 0x34, 0x7e, 0xd8, 0xba, + 0x1d, 0x0b, 0x81, 0xa8, 0x81, 0x0a, 0x9b, 0x7e, 0xb4, 0x14, 0xb1, 0x5d, + 0x27, 0x78, 0x1a, 0x99, 0x8f, 0x9c, 0xcc, 0x4b, 0xcc, 0xc8, 0x4a, 0xae, + 0x7e, 0xda, 0xa3, 0x82, 0x50, 0x2a, 0x0e, 0x59, 0x76, 0xbf, 0xd7, 0x80, +}; +static const unsigned char kat4291_nonce[] = {0}; +static const unsigned char kat4291_persstr[] = { + 0x7c, 0x91, 0x05, 0xda, 0xba, 0xc2, 0xa1, 0xa5, 0xca, 0xc8, 0x22, 0x7f, + 0x46, 0x70, 0xe4, 0x64, 0x00, 0x9f, 0x6a, 0xbe, 0x9a, 0x8a, 0xd6, 0xe1, + 0x6c, 0x87, 0xc2, 0x28, 0xbc, 0x8b, 0x70, 0xeb, 0x4e, 0x54, 0x4f, 0x64, + 0x3a, 0x27, 0xc7, 0x07, 0x1e, 0xb4, 0xee, 0xfe, 0x32, 0x6c, 0x30, 0x2c, +}; +static const unsigned char kat4291_entropyinpr1[] = { + 0x57, 0xeb, 0x8e, 0x25, 0x99, 0x2d, 0xbd, 0xc3, 0xfc, 0x10, 0x6a, 0x79, + 0x01, 0x68, 0xce, 0x67, 0x55, 0x27, 0x07, 0xa1, 0xd7, 0x2e, 0x82, 0x13, + 0xf5, 0x8a, 0xb7, 0x08, 0x5a, 0x92, 0x0d, 0x3a, 0xc9, 0xe4, 0x82, 0x58, + 0x40, 0x99, 0x55, 0x67, 0x3d, 0x07, 0x46, 0x4b, 0x26, 0x83, 0xdd, 0xb2, +}; +static const unsigned char kat4291_addinpr1[] = {0}; +static const unsigned char kat4291_entropyinpr2[] = { + 0xf4, 0x52, 0xa2, 0x34, 0xce, 0x66, 0x98, 0x85, 0xf3, 0xa2, 0x4e, 0xf6, + 0xc8, 0xa8, 0xa2, 0x15, 0x69, 0x0b, 0xba, 0xf5, 0xbb, 0x6c, 0x90, 0xf1, + 0xe9, 0x72, 0x53, 0x47, 0xf9, 0x87, 0x29, 0xa3, 0x39, 0x1f, 0x88, 0xd9, + 0xe8, 0x2b, 0xf2, 0x9e, 0x18, 0xf4, 0x25, 0x7d, 0x86, 0x5d, 0x10, 0xcf, +}; +static const unsigned char kat4291_addinpr2[] = {0}; +static const unsigned char kat4291_retbits[] = { + 0xe6, 0x4b, 0x1d, 0x53, 0x8e, 0x87, 0x93, 0xd4, 0xba, 0x07, 0x34, 0xa8, + 0x34, 0x90, 0x51, 0xdc, 0xd8, 0xee, 0x1d, 0x68, 0xf0, 0x10, 0x96, 0xbc, + 0xc9, 0x75, 0x21, 0x50, 0x8c, 0x8f, 0x41, 0x7d, 0xbf, 0xff, 0x25, 0x48, + 0xf5, 0xd9, 0x8d, 0x9d, 0x00, 0x2c, 0x3a, 0x8a, 0x64, 0x0b, 0x5e, 0x26, + 0x53, 0x3e, 0xae, 0xc0, 0x74, 0xd6, 0xf3, 0xfb, 0xa8, 0x8c, 0xb9, 0x8f, + 0xb1, 0xa4, 0x0c, 0x47, +}; +static const struct drbg_kat_pr_true kat4291_t = { + 0, kat4291_entropyin, kat4291_nonce, kat4291_persstr, + kat4291_entropyinpr1, kat4291_addinpr1, kat4291_entropyinpr2, + kat4291_addinpr2, kat4291_retbits +}; +static const struct drbg_kat kat4291 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4291_t +}; + +static const unsigned char kat4292_entropyin[] = { + 0xc3, 0xa6, 0xa1, 0x91, 0xd8, 0x8f, 0xe1, 0x84, 0xf3, 0x5f, 0xad, 0xc0, + 0xc7, 0x05, 0xc8, 0x0c, 0xa6, 0x10, 0xf9, 0xf9, 0x7f, 0x3a, 0x27, 0x8f, + 0x3e, 0x14, 0x23, 0x47, 0x19, 0x25, 0x96, 0x8c, 0xec, 0x2d, 0x56, 0x5c, + 0xb9, 0x21, 0xc9, 0xa5, 0xae, 0xda, 0xba, 0xbe, 0xde, 0x7f, 0xee, 0xff, +}; +static const unsigned char kat4292_nonce[] = {0}; +static const unsigned char kat4292_persstr[] = { + 0xc9, 0x96, 0x40, 0x3d, 0x3d, 0xf3, 0x66, 0x7d, 0x97, 0x0b, 0x0b, 0xd3, + 0x9d, 0x4c, 0xdb, 0xcd, 0xfa, 0x80, 0x97, 0xde, 0xd8, 0x7e, 0xa9, 0xc0, + 0x5b, 0x68, 0x76, 0x37, 0x10, 0xdc, 0xec, 0xb5, 0x84, 0x08, 0x2f, 0x37, + 0xcf, 0x1d, 0x4e, 0xc7, 0x9b, 0xce, 0x9a, 0x1a, 0xcb, 0x90, 0x10, 0xee, +}; +static const unsigned char kat4292_entropyinpr1[] = { + 0x49, 0xca, 0x85, 0x1a, 0x07, 0x6d, 0x69, 0xf4, 0x2b, 0x26, 0x31, 0x58, + 0xc8, 0x88, 0x41, 0x8f, 0x89, 0xe6, 0xe2, 0x40, 0x08, 0x14, 0xaa, 0x04, + 0x93, 0x85, 0x4d, 0xa3, 0x40, 0xdd, 0x6c, 0x56, 0x27, 0xad, 0x0a, 0x2e, + 0x2c, 0x92, 0x1b, 0xec, 0xa9, 0x1f, 0x2a, 0x1e, 0x16, 0xf3, 0x5f, 0x05, +}; +static const unsigned char kat4292_addinpr1[] = {0}; +static const unsigned char kat4292_entropyinpr2[] = { + 0x19, 0x21, 0x87, 0xf4, 0xf0, 0x8a, 0xda, 0x51, 0x6c, 0x69, 0xf7, 0xde, + 0xa3, 0x1d, 0x97, 0x5e, 0x42, 0x5c, 0x63, 0x22, 0x80, 0x04, 0xe4, 0xe1, + 0xb2, 0x76, 0x5f, 0x99, 0xf7, 0x7d, 0xb5, 0xce, 0x1a, 0xb7, 0x5c, 0x06, + 0x36, 0xcb, 0x01, 0x79, 0x1e, 0x26, 0x85, 0xdd, 0xbb, 0x1f, 0xb3, 0x19, +}; +static const unsigned char kat4292_addinpr2[] = {0}; +static const unsigned char kat4292_retbits[] = { + 0xb2, 0x41, 0x1f, 0xd6, 0xb5, 0xb8, 0xe2, 0x71, 0x57, 0x48, 0x53, 0xfd, + 0x7e, 0x82, 0x08, 0x7e, 0x2d, 0x8a, 0x3c, 0x4f, 0xf1, 0xfa, 0x79, 0x68, + 0x99, 0x77, 0x0c, 0xbf, 0x27, 0x91, 0xb6, 0xc7, 0x28, 0x58, 0x17, 0xac, + 0x54, 0x84, 0xec, 0x59, 0x46, 0xa0, 0x39, 0x04, 0xd0, 0x41, 0x11, 0xc3, + 0x99, 0x75, 0xf1, 0xc2, 0xdf, 0x3c, 0x80, 0x62, 0x8b, 0xc8, 0xf2, 0xee, + 0xe7, 0xf2, 0xa2, 0xe5, +}; +static const struct drbg_kat_pr_true kat4292_t = { + 1, kat4292_entropyin, kat4292_nonce, kat4292_persstr, + kat4292_entropyinpr1, kat4292_addinpr1, kat4292_entropyinpr2, + kat4292_addinpr2, kat4292_retbits +}; +static const struct drbg_kat kat4292 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4292_t +}; + +static const unsigned char kat4293_entropyin[] = { + 0x16, 0x55, 0xda, 0x2c, 0xdd, 0x0a, 0xa3, 0xd9, 0x5c, 0x59, 0x06, 0xbb, + 0xeb, 0x2d, 0x9b, 0xcf, 0xb2, 0x9d, 0xb0, 0x85, 0x26, 0x5b, 0xd6, 0x59, + 0x06, 0x85, 0x43, 0x50, 0xa9, 0x6f, 0xd1, 0x9e, 0x9d, 0x78, 0x3e, 0x5f, + 0xaa, 0xf1, 0xfa, 0xbf, 0x1d, 0x15, 0xa3, 0x6a, 0x4e, 0x28, 0xa3, 0xe6, +}; +static const unsigned char kat4293_nonce[] = {0}; +static const unsigned char kat4293_persstr[] = { + 0xdd, 0x02, 0xc2, 0x9e, 0x91, 0xfb, 0x7f, 0x1c, 0x1f, 0x79, 0x90, 0x7e, + 0x57, 0xde, 0x14, 0xca, 0x3d, 0x0b, 0x43, 0xb0, 0x25, 0x25, 0x20, 0x0f, + 0x91, 0xb7, 0xce, 0x08, 0x1c, 0xd9, 0x37, 0xec, 0x7f, 0x15, 0x2c, 0xd1, + 0xc7, 0x64, 0x45, 0x67, 0x2b, 0x1b, 0x9e, 0xb4, 0x36, 0x0b, 0xd2, 0x59, +}; +static const unsigned char kat4293_entropyinpr1[] = { + 0x9f, 0xd8, 0x0e, 0xf5, 0xe5, 0xc7, 0xee, 0x6b, 0x69, 0x52, 0x8e, 0x2a, + 0x7b, 0x15, 0x2e, 0xf3, 0x11, 0x61, 0x69, 0x7e, 0x78, 0x09, 0x16, 0x6e, + 0xd4, 0x82, 0x66, 0x1f, 0x6b, 0x65, 0x91, 0x93, 0xd9, 0x55, 0xbc, 0x51, + 0xd6, 0x69, 0xa5, 0xca, 0xdf, 0xcd, 0xc1, 0x96, 0xee, 0x60, 0x23, 0x64, +}; +static const unsigned char kat4293_addinpr1[] = {0}; +static const unsigned char kat4293_entropyinpr2[] = { + 0x9b, 0x60, 0x13, 0xa6, 0x4e, 0xa1, 0x6b, 0x6f, 0x75, 0x53, 0x68, 0xdb, + 0x24, 0x1a, 0x8f, 0x41, 0xc7, 0xdd, 0x89, 0xce, 0x5f, 0x86, 0x96, 0x84, + 0x3f, 0xed, 0x7b, 0xcc, 0xcf, 0x88, 0xc5, 0x8f, 0x9e, 0x77, 0x5c, 0x63, + 0xcf, 0x30, 0xb2, 0xc2, 0x48, 0xee, 0x68, 0xd5, 0x6d, 0x49, 0x10, 0xa1, +}; +static const unsigned char kat4293_addinpr2[] = {0}; +static const unsigned char kat4293_retbits[] = { + 0xe6, 0xff, 0xf1, 0xde, 0xb8, 0xb9, 0xa8, 0x67, 0x95, 0xcd, 0x96, 0xfd, + 0xb5, 0xdb, 0x3d, 0xb0, 0x13, 0x30, 0xee, 0xa6, 0xa4, 0xc4, 0x04, 0xa6, + 0xad, 0xd9, 0xab, 0x01, 0x81, 0x1e, 0xa9, 0x2f, 0xe3, 0x66, 0xe9, 0xc0, + 0x9c, 0x84, 0x53, 0x0e, 0x75, 0x5b, 0x67, 0x68, 0xdb, 0xa3, 0x77, 0xcd, + 0x10, 0x97, 0x4a, 0x46, 0xf0, 0xaa, 0xad, 0xbf, 0x77, 0x0f, 0x95, 0xe8, + 0xae, 0x33, 0x4b, 0xf9, +}; +static const struct drbg_kat_pr_true kat4293_t = { + 2, kat4293_entropyin, kat4293_nonce, kat4293_persstr, + kat4293_entropyinpr1, kat4293_addinpr1, kat4293_entropyinpr2, + kat4293_addinpr2, kat4293_retbits +}; +static const struct drbg_kat kat4293 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4293_t +}; + +static const unsigned char kat4294_entropyin[] = { + 0xb3, 0x43, 0x4a, 0x6e, 0xbd, 0xff, 0xe5, 0x81, 0xf2, 0x7e, 0xf7, 0x6b, + 0x7c, 0xb4, 0xad, 0x31, 0x05, 0x47, 0x55, 0xeb, 0x73, 0xce, 0xa5, 0xc6, + 0xe5, 0x84, 0xce, 0x17, 0xa2, 0x69, 0x86, 0x8f, 0x1e, 0x7b, 0x0c, 0x8b, + 0xb5, 0x16, 0xa9, 0x34, 0x38, 0x0c, 0x96, 0x67, 0xc4, 0x29, 0x7e, 0xb2, +}; +static const unsigned char kat4294_nonce[] = {0}; +static const unsigned char kat4294_persstr[] = { + 0x81, 0xf8, 0x6a, 0x4e, 0xd6, 0x5b, 0x65, 0xb4, 0x1c, 0xc9, 0xc6, 0xdb, + 0xd8, 0x3a, 0x5e, 0xf4, 0x1f, 0x4d, 0xd8, 0xd5, 0xaa, 0xad, 0x55, 0xb7, + 0xdc, 0x82, 0xe8, 0x75, 0xc1, 0xbe, 0x53, 0x78, 0x80, 0xe0, 0x2b, 0x29, + 0xd9, 0x81, 0x1f, 0xee, 0x88, 0x5b, 0xe8, 0x9f, 0xff, 0x7e, 0x29, 0xec, +}; +static const unsigned char kat4294_entropyinpr1[] = { + 0x78, 0x54, 0x0a, 0xa8, 0x36, 0x56, 0x5f, 0x5a, 0x36, 0x93, 0xff, 0xfd, + 0x91, 0xd0, 0x65, 0xe9, 0xb7, 0x2e, 0xf4, 0xd0, 0x6d, 0xf9, 0xad, 0xb7, + 0x89, 0xbd, 0x9c, 0x3a, 0x80, 0x0d, 0x82, 0xfc, 0xc7, 0x7a, 0x80, 0x3c, + 0x0f, 0xc8, 0x1a, 0xb2, 0x4f, 0x01, 0x18, 0x74, 0xe0, 0x40, 0x51, 0x9f, +}; +static const unsigned char kat4294_addinpr1[] = {0}; +static const unsigned char kat4294_entropyinpr2[] = { + 0xda, 0xd2, 0xd8, 0x02, 0xe5, 0xbb, 0x22, 0xf4, 0x9f, 0x60, 0x33, 0x65, + 0xe2, 0x06, 0x80, 0x00, 0x63, 0xeb, 0x0b, 0x5e, 0x3f, 0x14, 0xd3, 0x08, + 0x12, 0x71, 0xd0, 0x2a, 0x8c, 0xda, 0x03, 0xac, 0x24, 0xd0, 0x3d, 0x80, + 0x5a, 0x7c, 0xf8, 0x17, 0x3f, 0xdf, 0x12, 0xa8, 0x4f, 0x21, 0xd5, 0x10, +}; +static const unsigned char kat4294_addinpr2[] = {0}; +static const unsigned char kat4294_retbits[] = { + 0x87, 0x92, 0x3f, 0x78, 0x58, 0x65, 0x24, 0x85, 0x30, 0x99, 0xcf, 0x30, + 0x3d, 0x66, 0xf5, 0xd5, 0x43, 0xcb, 0x48, 0xaf, 0x68, 0xac, 0xd9, 0xe7, + 0xd4, 0x3f, 0x29, 0xd7, 0xee, 0x9b, 0xa5, 0x7f, 0xc2, 0x8b, 0xd9, 0x82, + 0xf6, 0xfb, 0x87, 0xc8, 0xe0, 0x22, 0xfc, 0x3c, 0x41, 0xcf, 0x90, 0x19, + 0xbd, 0xf3, 0xb8, 0xda, 0x6c, 0x50, 0x88, 0xf2, 0x68, 0xa4, 0x1a, 0x4a, + 0xfe, 0x54, 0x50, 0x09, +}; +static const struct drbg_kat_pr_true kat4294_t = { + 3, kat4294_entropyin, kat4294_nonce, kat4294_persstr, + kat4294_entropyinpr1, kat4294_addinpr1, kat4294_entropyinpr2, + kat4294_addinpr2, kat4294_retbits +}; +static const struct drbg_kat kat4294 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4294_t +}; + +static const unsigned char kat4295_entropyin[] = { + 0x0f, 0xd4, 0x0a, 0x3a, 0x74, 0x0c, 0xd9, 0xab, 0x09, 0x57, 0x3d, 0x73, + 0x2c, 0x13, 0xe3, 0x10, 0xc3, 0x5e, 0x98, 0x33, 0x5c, 0xef, 0x71, 0xe2, + 0xfb, 0x05, 0x94, 0x39, 0x30, 0xa9, 0x57, 0x41, 0x89, 0x82, 0x23, 0x03, + 0x4f, 0x6c, 0x78, 0x7e, 0xa8, 0xf1, 0xbe, 0xb4, 0x7b, 0x0a, 0x9b, 0x6a, +}; +static const unsigned char kat4295_nonce[] = {0}; +static const unsigned char kat4295_persstr[] = { + 0x80, 0x51, 0x34, 0xd7, 0xec, 0x1a, 0x6b, 0x22, 0x43, 0xb3, 0xf0, 0x39, + 0x2b, 0xde, 0xee, 0x7d, 0xb7, 0xf7, 0x96, 0x64, 0xeb, 0x43, 0xc4, 0x1a, + 0x7b, 0x70, 0xd5, 0xc9, 0xd1, 0x01, 0x7e, 0xa5, 0x51, 0x93, 0x77, 0x1d, + 0x9d, 0xfb, 0x5e, 0xcd, 0x82, 0xb6, 0xaf, 0x0f, 0xb4, 0x25, 0xef, 0x0d, +}; +static const unsigned char kat4295_entropyinpr1[] = { + 0x7e, 0x56, 0x35, 0x24, 0xdd, 0xaf, 0x24, 0x2f, 0xfa, 0xf1, 0xf6, 0xa0, + 0x7b, 0xf3, 0xd7, 0xf8, 0x05, 0xc6, 0xe9, 0x67, 0x97, 0x7e, 0x22, 0xce, + 0xdc, 0xc2, 0x7f, 0xcb, 0x96, 0x15, 0x28, 0x2c, 0x72, 0xc5, 0x90, 0x6c, + 0x2f, 0x43, 0x50, 0xe1, 0x2e, 0x60, 0xa5, 0xa7, 0x54, 0xb2, 0xcb, 0xd5, +}; +static const unsigned char kat4295_addinpr1[] = {0}; +static const unsigned char kat4295_entropyinpr2[] = { + 0x95, 0x2d, 0xcf, 0xd7, 0x0f, 0x95, 0xf8, 0xa2, 0x2e, 0xb7, 0xc9, 0xd2, + 0x99, 0x51, 0xa9, 0x37, 0xe9, 0x9a, 0xc9, 0xfb, 0x2b, 0x30, 0xc9, 0xce, + 0x0e, 0x05, 0xc1, 0x94, 0x89, 0x65, 0x6a, 0x7b, 0x09, 0x01, 0x2b, 0x2c, + 0xca, 0x06, 0xa5, 0x1d, 0x40, 0xef, 0x2c, 0x25, 0x5f, 0x6c, 0xab, 0xcd, +}; +static const unsigned char kat4295_addinpr2[] = {0}; +static const unsigned char kat4295_retbits[] = { + 0xb3, 0xbc, 0xa0, 0x9d, 0x48, 0x1e, 0x7d, 0x11, 0x2c, 0xe5, 0x83, 0x26, + 0x4a, 0x1c, 0xe2, 0x68, 0x26, 0xe3, 0x39, 0xf7, 0xd4, 0xbb, 0x86, 0x10, + 0x6a, 0x65, 0x1a, 0xf5, 0x39, 0x97, 0x52, 0x27, 0x10, 0xff, 0xb9, 0x71, + 0x96, 0xef, 0x2d, 0xd3, 0x9e, 0x8d, 0xdd, 0xf9, 0x9d, 0x56, 0x5c, 0x16, + 0x62, 0x67, 0x4c, 0x82, 0x37, 0x0a, 0x10, 0x46, 0x29, 0x77, 0x2c, 0xa2, + 0xc5, 0x41, 0x4d, 0x5e, +}; +static const struct drbg_kat_pr_true kat4295_t = { + 4, kat4295_entropyin, kat4295_nonce, kat4295_persstr, + kat4295_entropyinpr1, kat4295_addinpr1, kat4295_entropyinpr2, + kat4295_addinpr2, kat4295_retbits +}; +static const struct drbg_kat kat4295 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4295_t +}; + +static const unsigned char kat4296_entropyin[] = { + 0x2e, 0xbf, 0xf3, 0x42, 0xae, 0xf5, 0xea, 0xc5, 0x04, 0xf0, 0xbb, 0x9d, + 0x22, 0x26, 0x07, 0x48, 0x30, 0xcd, 0x1b, 0xa2, 0x48, 0xee, 0xcf, 0xf0, + 0x58, 0x2c, 0xb8, 0x6c, 0xe8, 0xf7, 0x66, 0x16, 0x8d, 0x69, 0xae, 0x20, + 0xc6, 0x9d, 0x1d, 0xfc, 0x02, 0x3b, 0x60, 0x09, 0x89, 0x8c, 0xd2, 0x8c, +}; +static const unsigned char kat4296_nonce[] = {0}; +static const unsigned char kat4296_persstr[] = { + 0x0c, 0xa9, 0xca, 0xed, 0x2b, 0xe8, 0x4f, 0xe3, 0x44, 0x3d, 0x06, 0xd6, + 0x58, 0xde, 0x31, 0x93, 0xf9, 0x23, 0x48, 0x50, 0x1d, 0x14, 0x64, 0xc4, + 0x78, 0xf1, 0x3d, 0x5b, 0x11, 0x80, 0x01, 0x9f, 0xc2, 0xee, 0x6d, 0x21, + 0x90, 0xb6, 0x6f, 0x9e, 0x85, 0xc0, 0x17, 0xb8, 0xb5, 0x5a, 0x60, 0xa5, +}; +static const unsigned char kat4296_entropyinpr1[] = { + 0x87, 0x11, 0x22, 0x34, 0x46, 0xf4, 0x74, 0xbb, 0x06, 0xf3, 0xba, 0x2b, + 0xd6, 0xe4, 0xa2, 0xd3, 0xf1, 0x3b, 0x04, 0x80, 0x0a, 0x17, 0xac, 0x04, + 0xcf, 0x7c, 0x07, 0x75, 0xe3, 0xa5, 0x96, 0xd6, 0xc7, 0xa3, 0x02, 0x37, + 0x27, 0x22, 0xc0, 0xac, 0xe8, 0x57, 0xa1, 0x31, 0x71, 0xcb, 0x88, 0x79, +}; +static const unsigned char kat4296_addinpr1[] = {0}; +static const unsigned char kat4296_entropyinpr2[] = { + 0x7d, 0x57, 0xe6, 0x7c, 0x65, 0x7d, 0x05, 0xdb, 0x4f, 0x42, 0x4d, 0x7b, + 0x29, 0xb1, 0xf8, 0x4e, 0x0e, 0xfe, 0xad, 0xa9, 0x06, 0xf0, 0x15, 0x30, + 0x78, 0xe8, 0x3c, 0x5c, 0xbd, 0x55, 0x21, 0x65, 0x59, 0x78, 0x05, 0xf1, + 0x07, 0x15, 0x93, 0x23, 0xe5, 0x8a, 0xc5, 0x81, 0x6b, 0x28, 0x7d, 0x15, +}; +static const unsigned char kat4296_addinpr2[] = {0}; +static const unsigned char kat4296_retbits[] = { + 0x7f, 0x30, 0x5f, 0xba, 0xc9, 0x11, 0x45, 0xa8, 0x40, 0x20, 0x5b, 0xe1, + 0x8a, 0x98, 0x2e, 0x78, 0x80, 0x57, 0x51, 0x22, 0xfd, 0x43, 0x8c, 0x84, + 0x81, 0x0b, 0x14, 0xf1, 0x26, 0x97, 0xbf, 0x92, 0x74, 0x22, 0x20, 0x02, + 0x9c, 0x1c, 0x36, 0x17, 0x8a, 0x66, 0x69, 0xe4, 0x80, 0xbc, 0x79, 0x04, + 0x4b, 0xce, 0x8b, 0xd4, 0x50, 0x57, 0x4d, 0x6b, 0xaf, 0x18, 0x5f, 0x01, + 0xe5, 0xc7, 0xee, 0xb2, +}; +static const struct drbg_kat_pr_true kat4296_t = { + 5, kat4296_entropyin, kat4296_nonce, kat4296_persstr, + kat4296_entropyinpr1, kat4296_addinpr1, kat4296_entropyinpr2, + kat4296_addinpr2, kat4296_retbits +}; +static const struct drbg_kat kat4296 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4296_t +}; + +static const unsigned char kat4297_entropyin[] = { + 0x2a, 0x3c, 0x27, 0xfa, 0xa5, 0x45, 0x83, 0xee, 0x6f, 0x3c, 0x24, 0x81, + 0x3a, 0xd6, 0xe1, 0x24, 0xfc, 0x32, 0xa4, 0xc3, 0x07, 0xe3, 0x35, 0xbb, + 0xa6, 0xf3, 0x4c, 0x8d, 0x66, 0xde, 0x04, 0x35, 0x92, 0xe7, 0x98, 0xb4, + 0x38, 0x9e, 0x9a, 0x75, 0x3b, 0x74, 0x9b, 0x75, 0xa3, 0x44, 0x1a, 0x97, +}; +static const unsigned char kat4297_nonce[] = {0}; +static const unsigned char kat4297_persstr[] = { + 0x4e, 0xaf, 0x68, 0x42, 0x05, 0x9d, 0x1c, 0x70, 0x3a, 0xad, 0x56, 0x06, + 0xe2, 0xd3, 0xe7, 0xbb, 0x61, 0x8b, 0x04, 0xc2, 0xca, 0xc4, 0xc5, 0x9b, + 0x44, 0x26, 0x78, 0xb1, 0x0e, 0x69, 0x21, 0xb1, 0x6b, 0x3c, 0x84, 0x30, + 0xa8, 0xd3, 0xff, 0x99, 0x54, 0x93, 0xf1, 0xe5, 0x1c, 0x7b, 0x42, 0xb5, +}; +static const unsigned char kat4297_entropyinpr1[] = { + 0xda, 0x0c, 0x67, 0x28, 0x4a, 0x0f, 0x0a, 0x9b, 0x12, 0xc9, 0xa8, 0xd9, + 0xcf, 0x93, 0x43, 0x75, 0xbc, 0xec, 0x05, 0xc8, 0xac, 0x68, 0x35, 0xa3, + 0x7f, 0x17, 0x9b, 0x76, 0xcd, 0xa8, 0x91, 0xbc, 0x48, 0xfe, 0x0c, 0xde, + 0x82, 0xb6, 0x73, 0xd2, 0xba, 0x9a, 0xef, 0x3d, 0x90, 0x27, 0x0d, 0x2e, +}; +static const unsigned char kat4297_addinpr1[] = {0}; +static const unsigned char kat4297_entropyinpr2[] = { + 0x83, 0x5b, 0x75, 0x29, 0x46, 0x00, 0xa3, 0xc6, 0xd2, 0xb0, 0xac, 0x46, + 0x3f, 0xc6, 0x6c, 0xba, 0x57, 0x3d, 0x63, 0x17, 0x70, 0x3a, 0xfa, 0x75, + 0x88, 0x90, 0x38, 0xae, 0x6d, 0x14, 0x0d, 0xac, 0xf8, 0x20, 0x83, 0x69, + 0x94, 0x6d, 0xf9, 0x55, 0x4e, 0x6f, 0xf4, 0x27, 0xb0, 0xf7, 0xdd, 0xf8, +}; +static const unsigned char kat4297_addinpr2[] = {0}; +static const unsigned char kat4297_retbits[] = { + 0xb8, 0x69, 0x18, 0xec, 0x64, 0x51, 0x8e, 0x68, 0xd4, 0xa2, 0x83, 0xab, + 0x15, 0x19, 0xec, 0xfe, 0x99, 0xfc, 0x12, 0x83, 0xb5, 0xfa, 0xd7, 0x9b, + 0x24, 0x69, 0x42, 0xcd, 0xc0, 0xc9, 0xb4, 0x3d, 0xea, 0xb9, 0x40, 0x9a, + 0x28, 0x67, 0xa4, 0x16, 0xb7, 0x49, 0xec, 0x80, 0xe7, 0xba, 0xc2, 0x5e, + 0x84, 0x70, 0x45, 0x44, 0x47, 0xab, 0xba, 0x9a, 0x81, 0x6c, 0x61, 0xce, + 0xed, 0x83, 0x05, 0x26, +}; +static const struct drbg_kat_pr_true kat4297_t = { + 6, kat4297_entropyin, kat4297_nonce, kat4297_persstr, + kat4297_entropyinpr1, kat4297_addinpr1, kat4297_entropyinpr2, + kat4297_addinpr2, kat4297_retbits +}; +static const struct drbg_kat kat4297 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4297_t +}; + +static const unsigned char kat4298_entropyin[] = { + 0x8c, 0xc1, 0xfe, 0x7b, 0x81, 0xca, 0xa3, 0x5c, 0x1c, 0xd5, 0xc5, 0x78, + 0x6d, 0xe5, 0x0d, 0x7e, 0xa3, 0xf7, 0x64, 0x15, 0xfb, 0x2f, 0xb8, 0xed, + 0x07, 0x21, 0x65, 0xc2, 0x41, 0xc1, 0x34, 0x71, 0xfa, 0x7d, 0x5d, 0x3b, + 0x56, 0x17, 0x16, 0xfb, 0xc4, 0xf8, 0x60, 0x45, 0xc6, 0xfb, 0x49, 0x8f, +}; +static const unsigned char kat4298_nonce[] = {0}; +static const unsigned char kat4298_persstr[] = { + 0x10, 0xbe, 0xc5, 0xf7, 0x24, 0x5b, 0xdb, 0xaa, 0x8e, 0x25, 0xf6, 0xd3, + 0x30, 0x71, 0x7a, 0x3f, 0xf9, 0x9b, 0x37, 0x4c, 0x83, 0x07, 0x1d, 0xf8, + 0x2e, 0x9e, 0x94, 0x22, 0x08, 0xa8, 0xdb, 0x74, 0xb4, 0x80, 0x76, 0x80, + 0xc8, 0x8a, 0x5f, 0xe7, 0x1c, 0xff, 0x72, 0xaf, 0x43, 0xc7, 0x91, 0xb8, +}; +static const unsigned char kat4298_entropyinpr1[] = { + 0xf7, 0xb1, 0x00, 0xc5, 0x69, 0x5b, 0x9d, 0x41, 0xe6, 0x20, 0xaa, 0x5a, + 0x7a, 0x7c, 0xca, 0x07, 0xbb, 0x13, 0xd3, 0x24, 0x47, 0xdb, 0xf0, 0x4d, + 0x82, 0x8e, 0x16, 0xe4, 0x3b, 0xef, 0x1e, 0xbe, 0xf7, 0xd0, 0x0a, 0xb4, + 0x37, 0x3b, 0x4c, 0x8f, 0x20, 0xe4, 0xbf, 0xfb, 0x61, 0x88, 0x8d, 0xb9, +}; +static const unsigned char kat4298_addinpr1[] = {0}; +static const unsigned char kat4298_entropyinpr2[] = { + 0xf5, 0xb6, 0xd8, 0xce, 0x7d, 0x22, 0x90, 0xe2, 0x06, 0xb2, 0x99, 0xd6, + 0x59, 0xa6, 0xf1, 0xa6, 0x4e, 0xf8, 0x47, 0xec, 0x9b, 0x2b, 0x5f, 0x29, + 0xc6, 0x93, 0x1b, 0xa7, 0x4f, 0xf2, 0xe2, 0x69, 0x72, 0xda, 0x4a, 0x1b, + 0x43, 0xb1, 0xae, 0xee, 0x94, 0xcd, 0xf1, 0xb2, 0x11, 0x49, 0x04, 0x64, +}; +static const unsigned char kat4298_addinpr2[] = {0}; +static const unsigned char kat4298_retbits[] = { + 0xbc, 0x22, 0x55, 0x2a, 0x9f, 0x89, 0x10, 0x9b, 0xe2, 0x1e, 0x0b, 0x7a, + 0x6b, 0x92, 0x69, 0x04, 0xa5, 0x78, 0x9c, 0xde, 0xb4, 0xb4, 0x26, 0x6b, + 0xd7, 0x53, 0x7c, 0x05, 0xd6, 0x56, 0x1b, 0xae, 0x80, 0x9e, 0xc4, 0x78, + 0x03, 0xd6, 0x63, 0xba, 0x48, 0x46, 0xd2, 0x28, 0x3c, 0xf5, 0x31, 0x3d, + 0xef, 0xf9, 0x05, 0x51, 0xcd, 0x1d, 0xae, 0xf3, 0xf9, 0xcb, 0x0e, 0x7f, + 0xd9, 0x36, 0x0d, 0x83, +}; +static const struct drbg_kat_pr_true kat4298_t = { + 7, kat4298_entropyin, kat4298_nonce, kat4298_persstr, + kat4298_entropyinpr1, kat4298_addinpr1, kat4298_entropyinpr2, + kat4298_addinpr2, kat4298_retbits +}; +static const struct drbg_kat kat4298 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4298_t +}; + +static const unsigned char kat4299_entropyin[] = { + 0x06, 0x0f, 0x8a, 0x56, 0xc5, 0x13, 0x8b, 0x71, 0x9f, 0x98, 0xd2, 0xca, + 0x3e, 0x25, 0x86, 0x6b, 0x23, 0xf1, 0x94, 0xbe, 0x2b, 0xc6, 0x9f, 0xbc, + 0x8b, 0x46, 0x75, 0x5f, 0x27, 0x02, 0x18, 0x72, 0x4d, 0xe0, 0x22, 0x18, + 0xa4, 0xd7, 0xd7, 0x6e, 0xd4, 0xa0, 0x5f, 0x80, 0x6c, 0xca, 0xad, 0x0b, +}; +static const unsigned char kat4299_nonce[] = {0}; +static const unsigned char kat4299_persstr[] = { + 0x98, 0x0d, 0x41, 0xad, 0xa5, 0x6e, 0x74, 0x75, 0xee, 0xff, 0xc6, 0x2c, + 0xce, 0x6c, 0x0e, 0x8f, 0x2c, 0x16, 0x19, 0x37, 0xfa, 0x58, 0x67, 0x7e, + 0xd6, 0xd3, 0xd9, 0x6b, 0x08, 0x63, 0x3c, 0x2c, 0xf6, 0x67, 0xe1, 0x92, + 0x73, 0x3d, 0x97, 0x13, 0x85, 0x11, 0x09, 0xdc, 0xf1, 0x36, 0x6c, 0x01, +}; +static const unsigned char kat4299_entropyinpr1[] = { + 0xdc, 0x66, 0xae, 0x4f, 0xda, 0xa6, 0x6a, 0x1b, 0xca, 0x4c, 0x98, 0x30, + 0x04, 0x85, 0x3e, 0x7c, 0x08, 0x07, 0x5c, 0x5f, 0xca, 0xdc, 0xc8, 0x75, + 0x63, 0xad, 0x2a, 0xe9, 0xc6, 0x25, 0x32, 0x43, 0x94, 0x60, 0xf9, 0x58, + 0xe4, 0x4a, 0x6f, 0x9b, 0x0b, 0x80, 0x11, 0xa9, 0x60, 0xad, 0xcf, 0xd1, +}; +static const unsigned char kat4299_addinpr1[] = {0}; +static const unsigned char kat4299_entropyinpr2[] = { + 0x95, 0x10, 0xe7, 0x4d, 0x12, 0xf8, 0xa1, 0xb1, 0x1c, 0x54, 0x4c, 0xbc, + 0x4d, 0xa1, 0x80, 0x3f, 0x19, 0x47, 0xf7, 0x31, 0x11, 0x10, 0x18, 0x4f, + 0x66, 0x7f, 0x58, 0xe1, 0x53, 0xdb, 0x3f, 0xde, 0x87, 0xfb, 0x5d, 0x77, + 0xaa, 0x99, 0xdd, 0x27, 0x27, 0x83, 0xb3, 0x8b, 0x9f, 0xa9, 0xa8, 0x91, +}; +static const unsigned char kat4299_addinpr2[] = {0}; +static const unsigned char kat4299_retbits[] = { + 0xc0, 0x50, 0x6d, 0xeb, 0xc2, 0x8c, 0x7c, 0x81, 0x72, 0xd3, 0x21, 0xa3, + 0xd7, 0xd6, 0xe9, 0xec, 0xa4, 0xac, 0xb9, 0x6c, 0xaa, 0x41, 0xa5, 0x43, + 0x7a, 0xcf, 0x48, 0xc1, 0x40, 0x10, 0x22, 0xd1, 0x4e, 0x19, 0xab, 0xe6, + 0x48, 0x35, 0x7a, 0x81, 0x5d, 0xf8, 0x71, 0x61, 0x6d, 0x0c, 0x60, 0xe7, + 0x69, 0x8b, 0x01, 0x89, 0xfc, 0x6c, 0x2d, 0xf6, 0x9f, 0xf0, 0x9f, 0x9d, + 0x63, 0x85, 0x72, 0x16, +}; +static const struct drbg_kat_pr_true kat4299_t = { + 8, kat4299_entropyin, kat4299_nonce, kat4299_persstr, + kat4299_entropyinpr1, kat4299_addinpr1, kat4299_entropyinpr2, + kat4299_addinpr2, kat4299_retbits +}; +static const struct drbg_kat kat4299 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4299_t +}; + +static const unsigned char kat4300_entropyin[] = { + 0x46, 0xf5, 0xe2, 0x33, 0x03, 0xbd, 0x0a, 0xa0, 0x98, 0x84, 0x43, 0xf0, + 0x3b, 0xec, 0xd4, 0x03, 0xdc, 0x05, 0x9b, 0x10, 0x5b, 0x2f, 0x4a, 0x06, + 0xdf, 0xc1, 0xae, 0xba, 0x34, 0xb1, 0x1b, 0xcc, 0xc9, 0x76, 0xa8, 0xdf, + 0x37, 0xb9, 0xf1, 0xe5, 0x2e, 0x8e, 0x5e, 0xfd, 0xfb, 0x04, 0x71, 0x1b, +}; +static const unsigned char kat4300_nonce[] = {0}; +static const unsigned char kat4300_persstr[] = { + 0xfa, 0xa1, 0x6e, 0xbc, 0x9c, 0x16, 0xea, 0xca, 0x52, 0x6e, 0xb2, 0xa5, + 0x1e, 0xa2, 0x9d, 0x6d, 0x8c, 0xeb, 0x73, 0x9a, 0xe0, 0xad, 0x6b, 0x4c, + 0x48, 0x27, 0x66, 0x03, 0x55, 0x7b, 0xf0, 0x2f, 0xac, 0x8e, 0x65, 0xc8, + 0x8f, 0x72, 0x77, 0x1e, 0xe4, 0x4b, 0x2c, 0x96, 0x74, 0x28, 0x3c, 0x3a, +}; +static const unsigned char kat4300_entropyinpr1[] = { + 0x51, 0xbf, 0x8f, 0x5d, 0xcc, 0xaf, 0x17, 0xaf, 0x2a, 0x72, 0xe4, 0xae, + 0x06, 0x23, 0xaf, 0x4a, 0x80, 0x2d, 0x77, 0x2e, 0xeb, 0x56, 0xbd, 0xb7, + 0xb2, 0x0d, 0xba, 0x83, 0x9e, 0xc2, 0x38, 0x58, 0xfd, 0xbd, 0x83, 0xd3, + 0x15, 0xc3, 0x21, 0xba, 0x1e, 0x15, 0x7b, 0x75, 0xfd, 0x2d, 0x38, 0x8e, +}; +static const unsigned char kat4300_addinpr1[] = {0}; +static const unsigned char kat4300_entropyinpr2[] = { + 0xc4, 0x08, 0xb8, 0xad, 0x63, 0xdc, 0x65, 0x77, 0x91, 0x52, 0xed, 0x79, + 0xea, 0xc4, 0x28, 0x2e, 0x26, 0xb8, 0xa1, 0x94, 0xf3, 0xc6, 0xae, 0xad, + 0x7e, 0x4b, 0x36, 0xc3, 0x98, 0x8c, 0xb3, 0x18, 0xc7, 0x98, 0x2b, 0x7c, + 0x15, 0x44, 0x4e, 0x82, 0x7f, 0x8e, 0x1e, 0xbe, 0x4a, 0xf9, 0xde, 0x9e, +}; +static const unsigned char kat4300_addinpr2[] = {0}; +static const unsigned char kat4300_retbits[] = { + 0x2b, 0x78, 0x21, 0x3f, 0x52, 0xdb, 0x9f, 0x63, 0x56, 0x03, 0xee, 0x17, + 0xed, 0x2f, 0xa2, 0x34, 0x54, 0xa9, 0x4e, 0xf2, 0xc5, 0xcf, 0xa2, 0x25, + 0xa8, 0x10, 0x53, 0x0a, 0xc8, 0x63, 0x13, 0x09, 0x79, 0xfd, 0x46, 0x46, + 0x09, 0x42, 0xe0, 0x66, 0x3c, 0xd6, 0x2c, 0x20, 0x8c, 0xd2, 0x41, 0x60, + 0x0e, 0x0c, 0xc3, 0xac, 0x0f, 0xcf, 0xf5, 0xf4, 0xf1, 0x26, 0x81, 0x32, + 0xea, 0x55, 0xf8, 0xc6, +}; +static const struct drbg_kat_pr_true kat4300_t = { + 9, kat4300_entropyin, kat4300_nonce, kat4300_persstr, + kat4300_entropyinpr1, kat4300_addinpr1, kat4300_entropyinpr2, + kat4300_addinpr2, kat4300_retbits +}; +static const struct drbg_kat kat4300 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4300_t +}; + +static const unsigned char kat4301_entropyin[] = { + 0xc3, 0x55, 0xfb, 0x1f, 0xed, 0xbd, 0xae, 0x30, 0x02, 0x42, 0x57, 0x2c, + 0xa8, 0x61, 0x14, 0xa1, 0xbc, 0x36, 0x8f, 0x6a, 0xf7, 0x41, 0xeb, 0x2e, + 0x18, 0xdf, 0xfb, 0xfd, 0x42, 0x39, 0x11, 0x58, 0x14, 0xf2, 0x63, 0xc3, + 0xfe, 0xfa, 0xd0, 0x27, 0x20, 0x57, 0x62, 0x9d, 0x0c, 0x98, 0x17, 0xb4, +}; +static const unsigned char kat4301_nonce[] = {0}; +static const unsigned char kat4301_persstr[] = { + 0x1d, 0x61, 0x53, 0xbd, 0xa4, 0xf5, 0x03, 0x0f, 0x41, 0x6d, 0x59, 0xc1, + 0x5a, 0x6f, 0x3f, 0x7f, 0x63, 0x00, 0x09, 0x84, 0xec, 0xfc, 0xbc, 0xc7, + 0x09, 0xaa, 0x7c, 0x0f, 0xdd, 0xa4, 0x24, 0x56, 0x4e, 0x0d, 0x82, 0x6a, + 0x5c, 0xa7, 0x3c, 0x9f, 0x08, 0xe8, 0x29, 0x63, 0xb4, 0x99, 0x60, 0x54, +}; +static const unsigned char kat4301_entropyinpr1[] = { + 0xb6, 0x90, 0x54, 0x4d, 0xbe, 0xdc, 0x86, 0xd0, 0x8f, 0x5b, 0x1d, 0x56, + 0x4a, 0x43, 0xbd, 0xcb, 0xb0, 0x42, 0xd9, 0xf7, 0x35, 0xdd, 0xd3, 0x71, + 0x59, 0xd0, 0x05, 0x18, 0xc6, 0x52, 0xc8, 0xd2, 0x54, 0x59, 0x58, 0x3c, + 0x82, 0xa6, 0x86, 0x14, 0xac, 0x67, 0xee, 0x6d, 0x7f, 0xa6, 0x0d, 0x59, +}; +static const unsigned char kat4301_addinpr1[] = {0}; +static const unsigned char kat4301_entropyinpr2[] = { + 0x87, 0x97, 0x8d, 0x77, 0x5b, 0xd0, 0x7c, 0x4e, 0x01, 0xce, 0xb7, 0xa2, + 0x6e, 0xc9, 0x2f, 0x18, 0x74, 0x46, 0xd6, 0x23, 0x4f, 0x83, 0x11, 0x80, + 0x69, 0xa8, 0xfb, 0xa6, 0xea, 0x15, 0x02, 0x26, 0xd8, 0x2f, 0xba, 0x38, + 0xa5, 0x82, 0xa9, 0x91, 0xaf, 0x7d, 0x2a, 0xce, 0x5b, 0x71, 0x40, 0xe2, +}; +static const unsigned char kat4301_addinpr2[] = {0}; +static const unsigned char kat4301_retbits[] = { + 0xa9, 0x98, 0xc5, 0x49, 0xc7, 0x0b, 0x31, 0x82, 0xbd, 0xf2, 0x25, 0x3b, + 0x0e, 0xaa, 0xc2, 0x8a, 0x5e, 0x9e, 0x8b, 0x5d, 0x85, 0x69, 0x79, 0xb8, + 0x43, 0x06, 0x30, 0x4e, 0x1c, 0x69, 0x2c, 0x6a, 0x86, 0xd9, 0x08, 0x8f, + 0x4a, 0x53, 0x9c, 0xcc, 0x4d, 0x97, 0x9c, 0x53, 0x8f, 0x80, 0x99, 0xca, + 0x41, 0x6e, 0x0c, 0x2b, 0xe0, 0xe7, 0xed, 0x86, 0xcd, 0x8c, 0x63, 0xcb, + 0x84, 0xbd, 0x0d, 0x06, +}; +static const struct drbg_kat_pr_true kat4301_t = { + 10, kat4301_entropyin, kat4301_nonce, kat4301_persstr, + kat4301_entropyinpr1, kat4301_addinpr1, kat4301_entropyinpr2, + kat4301_addinpr2, kat4301_retbits +}; +static const struct drbg_kat kat4301 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4301_t +}; + +static const unsigned char kat4302_entropyin[] = { + 0xed, 0xd6, 0x1c, 0x76, 0x92, 0x52, 0xce, 0x8b, 0xc4, 0xed, 0x1d, 0x1a, + 0xa9, 0xea, 0x47, 0xc6, 0xfd, 0x87, 0x99, 0x73, 0x3e, 0x44, 0x00, 0xf7, + 0xdb, 0x75, 0xb6, 0x39, 0xd6, 0x44, 0x36, 0x5b, 0x1d, 0x2d, 0x06, 0xf4, + 0x19, 0x80, 0x9d, 0xc0, 0x17, 0x9f, 0x84, 0xc3, 0x4b, 0xc9, 0xa9, 0x57, +}; +static const unsigned char kat4302_nonce[] = {0}; +static const unsigned char kat4302_persstr[] = { + 0x2e, 0xe1, 0x8e, 0xd0, 0xd5, 0x33, 0xe9, 0x42, 0x75, 0xb9, 0x81, 0x7c, + 0xb3, 0xe3, 0x65, 0xde, 0xe1, 0x6e, 0x05, 0x56, 0x0d, 0x98, 0x83, 0x84, + 0x03, 0x2e, 0xc4, 0x2e, 0xbb, 0x19, 0xc7, 0xce, 0x26, 0x9b, 0x14, 0xbe, + 0x8f, 0xdb, 0xec, 0x1a, 0x65, 0x09, 0x6f, 0x8d, 0xaa, 0x92, 0xb8, 0x0b, +}; +static const unsigned char kat4302_entropyinpr1[] = { + 0x7a, 0x17, 0xf8, 0x7b, 0x47, 0xc0, 0x66, 0x1b, 0x54, 0xf4, 0x40, 0x8c, + 0xed, 0x12, 0x94, 0x37, 0x40, 0x8b, 0xed, 0x98, 0x0b, 0x45, 0x18, 0xa6, + 0xad, 0xae, 0x87, 0x03, 0x1e, 0x3a, 0x76, 0x76, 0x35, 0x11, 0xbe, 0x79, + 0xf4, 0xbb, 0xf1, 0x25, 0xe7, 0xe2, 0x79, 0x4c, 0xc2, 0xac, 0x7f, 0x4f, +}; +static const unsigned char kat4302_addinpr1[] = {0}; +static const unsigned char kat4302_entropyinpr2[] = { + 0xa6, 0x2c, 0x44, 0x49, 0x4a, 0x9a, 0x7d, 0x2e, 0x39, 0x85, 0x19, 0x66, + 0xe8, 0xe4, 0x36, 0x26, 0xfd, 0x62, 0xd1, 0xec, 0x2b, 0xa7, 0xb9, 0x04, + 0x8d, 0xbe, 0xde, 0x23, 0x94, 0xe2, 0x38, 0x2f, 0xa9, 0xd2, 0xa4, 0xc4, + 0xed, 0x7c, 0x49, 0x61, 0x5b, 0x5f, 0xa5, 0x01, 0xd9, 0xc9, 0x64, 0x8d, +}; +static const unsigned char kat4302_addinpr2[] = {0}; +static const unsigned char kat4302_retbits[] = { + 0x36, 0xf5, 0x6b, 0x86, 0x26, 0x7a, 0x78, 0x3f, 0xc9, 0xd3, 0xb5, 0xe6, + 0x6c, 0x0b, 0x4f, 0x15, 0x5b, 0x11, 0x52, 0xc5, 0x0b, 0xfa, 0x0d, 0x39, + 0xe5, 0x4b, 0xa9, 0x83, 0x75, 0x97, 0x09, 0x4e, 0xd8, 0xef, 0xfc, 0x80, + 0x52, 0xe3, 0x8a, 0xe4, 0xb6, 0x92, 0x9f, 0x71, 0x87, 0x00, 0x4b, 0xeb, + 0x30, 0xb5, 0x83, 0xd4, 0x7b, 0x89, 0x2c, 0xbd, 0xac, 0x8e, 0x27, 0x99, + 0x55, 0x47, 0xdf, 0xcb, +}; +static const struct drbg_kat_pr_true kat4302_t = { + 11, kat4302_entropyin, kat4302_nonce, kat4302_persstr, + kat4302_entropyinpr1, kat4302_addinpr1, kat4302_entropyinpr2, + kat4302_addinpr2, kat4302_retbits +}; +static const struct drbg_kat kat4302 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4302_t +}; + +static const unsigned char kat4303_entropyin[] = { + 0xb1, 0x49, 0x2c, 0xf3, 0x03, 0x6b, 0xf4, 0x2e, 0x20, 0x19, 0x46, 0x6d, + 0x81, 0x80, 0x92, 0x52, 0x8a, 0x24, 0x78, 0x51, 0xd3, 0x08, 0x04, 0x14, + 0x69, 0x9b, 0x94, 0x2d, 0x67, 0xea, 0x79, 0x5f, 0x85, 0x06, 0x86, 0x65, + 0x75, 0x4f, 0xe3, 0x5e, 0x7b, 0x04, 0x06, 0xd5, 0x4e, 0x69, 0x41, 0x68, +}; +static const unsigned char kat4303_nonce[] = {0}; +static const unsigned char kat4303_persstr[] = { + 0xce, 0xae, 0xc0, 0x8a, 0x19, 0xf8, 0x2a, 0xc6, 0x1f, 0x57, 0x1a, 0x48, + 0xcc, 0x48, 0xdb, 0x10, 0xe1, 0x9b, 0x2e, 0xf1, 0x5a, 0x91, 0xe0, 0x74, + 0xf5, 0x45, 0xf8, 0x05, 0x55, 0x91, 0x4e, 0x4b, 0x14, 0x64, 0x06, 0xca, + 0xd8, 0x11, 0x24, 0xbc, 0x6b, 0xd5, 0x50, 0xf4, 0xe4, 0x74, 0x80, 0xe5, +}; +static const unsigned char kat4303_entropyinpr1[] = { + 0x01, 0x2a, 0xca, 0x64, 0xe0, 0x27, 0x00, 0x10, 0x1b, 0x45, 0x36, 0x81, + 0xe2, 0x56, 0xe3, 0xab, 0x86, 0xa4, 0xa6, 0xea, 0x64, 0x76, 0x4f, 0x92, + 0x0c, 0xe1, 0xdf, 0xb7, 0x04, 0x05, 0x20, 0x0d, 0x03, 0x37, 0x86, 0x0d, + 0x8f, 0xdd, 0xbb, 0x8f, 0x74, 0x83, 0x7e, 0x57, 0xd8, 0xf4, 0x73, 0xa5, +}; +static const unsigned char kat4303_addinpr1[] = {0}; +static const unsigned char kat4303_entropyinpr2[] = { + 0x88, 0xa8, 0xf0, 0xc3, 0xb8, 0x2b, 0x25, 0xa2, 0xdb, 0x28, 0x0b, 0x0e, + 0x8f, 0x80, 0x65, 0x6b, 0x3e, 0x49, 0x93, 0xb8, 0x93, 0xba, 0x80, 0x20, + 0x00, 0xb8, 0xcd, 0x92, 0xdf, 0x1d, 0x05, 0x42, 0xc8, 0x76, 0xcc, 0x8d, + 0x3c, 0x91, 0x79, 0x83, 0xdc, 0xab, 0x6f, 0xbf, 0xeb, 0x1b, 0x2b, 0xff, +}; +static const unsigned char kat4303_addinpr2[] = {0}; +static const unsigned char kat4303_retbits[] = { + 0x9e, 0x7f, 0xe5, 0x3c, 0xde, 0xbe, 0xc6, 0xdc, 0xbd, 0xce, 0xa9, 0xef, + 0xef, 0x1e, 0xea, 0x2e, 0x7b, 0x74, 0x5e, 0x50, 0x34, 0xec, 0x1d, 0xa4, + 0xe0, 0x84, 0x4d, 0x64, 0xec, 0x4a, 0xdb, 0x5c, 0x29, 0xc1, 0xe2, 0x2f, + 0xa6, 0x30, 0x5f, 0x45, 0xa8, 0xe1, 0x44, 0xf2, 0xaf, 0x0d, 0xdc, 0xab, + 0x4f, 0xef, 0xc9, 0x09, 0x3c, 0x0e, 0xc4, 0xd4, 0xb2, 0x05, 0x51, 0x50, + 0xaa, 0x72, 0x6f, 0x83, +}; +static const struct drbg_kat_pr_true kat4303_t = { + 12, kat4303_entropyin, kat4303_nonce, kat4303_persstr, + kat4303_entropyinpr1, kat4303_addinpr1, kat4303_entropyinpr2, + kat4303_addinpr2, kat4303_retbits +}; +static const struct drbg_kat kat4303 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4303_t +}; + +static const unsigned char kat4304_entropyin[] = { + 0x5c, 0x99, 0x49, 0xd7, 0xc5, 0x40, 0x60, 0xbf, 0xf7, 0x33, 0xe5, 0x17, + 0xe5, 0x5a, 0x69, 0xa2, 0x7b, 0x17, 0x48, 0x0b, 0xf8, 0x54, 0x9c, 0x39, + 0x00, 0xde, 0xbd, 0x80, 0x34, 0xff, 0x2d, 0x34, 0x50, 0x9f, 0x15, 0x60, + 0x67, 0xa1, 0x05, 0x15, 0x59, 0x8a, 0x9b, 0x3a, 0x88, 0xb9, 0xe3, 0xc9, +}; +static const unsigned char kat4304_nonce[] = {0}; +static const unsigned char kat4304_persstr[] = { + 0x09, 0x06, 0x50, 0x2d, 0xd6, 0xf7, 0x37, 0xce, 0x49, 0x75, 0x3b, 0x67, + 0xa5, 0x44, 0x32, 0x8f, 0x21, 0x6e, 0x59, 0xe0, 0xad, 0x38, 0x25, 0x68, + 0x78, 0xf5, 0x56, 0xf7, 0xdd, 0x9b, 0x8c, 0x5f, 0x2d, 0xd5, 0x21, 0xcd, + 0x57, 0xa4, 0x65, 0x86, 0x7f, 0x86, 0x14, 0x38, 0x03, 0x7e, 0x25, 0x27, +}; +static const unsigned char kat4304_entropyinpr1[] = { + 0x6f, 0xc9, 0xbd, 0xfa, 0xe7, 0xf0, 0xa2, 0x0d, 0x8d, 0x86, 0x85, 0xe1, + 0xc8, 0x27, 0xef, 0x35, 0x34, 0x46, 0x3f, 0x96, 0x52, 0xff, 0xd3, 0x60, + 0x78, 0x23, 0xa9, 0x01, 0x65, 0x30, 0x94, 0xa6, 0xac, 0xfd, 0x69, 0xaf, + 0xcf, 0x0a, 0xcf, 0xc5, 0x41, 0xfa, 0x4f, 0xb5, 0x9b, 0x15, 0xbd, 0x60, +}; +static const unsigned char kat4304_addinpr1[] = {0}; +static const unsigned char kat4304_entropyinpr2[] = { + 0xf6, 0xc9, 0x94, 0x27, 0x16, 0xe1, 0x68, 0xce, 0xb1, 0x98, 0xfd, 0xe6, + 0x80, 0xd8, 0x58, 0x24, 0xd7, 0x84, 0x55, 0x3d, 0x84, 0x18, 0x3c, 0xcb, + 0x79, 0x21, 0x84, 0x3f, 0xe7, 0xe9, 0x86, 0x9c, 0x27, 0x9d, 0xc5, 0x7b, + 0xfa, 0x65, 0x0d, 0x12, 0xb5, 0x2e, 0x2d, 0x82, 0x44, 0xfc, 0x38, 0xd9, +}; +static const unsigned char kat4304_addinpr2[] = {0}; +static const unsigned char kat4304_retbits[] = { + 0x5e, 0x31, 0x39, 0x4e, 0xf7, 0xba, 0x43, 0x90, 0xad, 0xf1, 0x01, 0x12, + 0xb1, 0x91, 0x96, 0xef, 0xab, 0xbb, 0x80, 0x45, 0xfc, 0xca, 0xb2, 0x58, + 0xf0, 0x35, 0xde, 0x14, 0xc3, 0xc7, 0xe4, 0xad, 0x7f, 0x32, 0xc6, 0xec, + 0x1c, 0x94, 0x68, 0x10, 0x62, 0x35, 0xf5, 0x8a, 0xab, 0x6a, 0x81, 0xda, + 0xa7, 0x5d, 0xb1, 0x89, 0xfd, 0x29, 0xd0, 0x93, 0x87, 0x82, 0xf3, 0x27, + 0x59, 0xf4, 0x19, 0xd3, +}; +static const struct drbg_kat_pr_true kat4304_t = { + 13, kat4304_entropyin, kat4304_nonce, kat4304_persstr, + kat4304_entropyinpr1, kat4304_addinpr1, kat4304_entropyinpr2, + kat4304_addinpr2, kat4304_retbits +}; +static const struct drbg_kat kat4304 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4304_t +}; + +static const unsigned char kat4305_entropyin[] = { + 0x84, 0xee, 0x83, 0x85, 0xc8, 0x0c, 0x0f, 0xa6, 0x23, 0x66, 0x2d, 0x21, + 0x08, 0xe7, 0x8b, 0x97, 0x4b, 0xd4, 0x69, 0xac, 0x23, 0x89, 0xd2, 0x01, + 0xdf, 0x2b, 0x67, 0x5a, 0xc7, 0xe6, 0xc6, 0x14, 0x2b, 0xfa, 0x35, 0xa1, + 0x62, 0xf2, 0x23, 0x2c, 0x56, 0xe5, 0xa1, 0x11, 0xa3, 0x4f, 0x5c, 0x57, +}; +static const unsigned char kat4305_nonce[] = {0}; +static const unsigned char kat4305_persstr[] = { + 0x9e, 0x85, 0xb8, 0x92, 0x70, 0x70, 0xe5, 0xa2, 0x7b, 0xfd, 0x63, 0x38, + 0x45, 0x83, 0x18, 0x3e, 0xa1, 0x46, 0xd8, 0x58, 0x64, 0x14, 0xad, 0x89, + 0xd3, 0x00, 0xde, 0xdd, 0xb1, 0xdd, 0xd1, 0xd4, 0x61, 0xb0, 0x18, 0x4d, + 0xac, 0xe4, 0x29, 0x02, 0x04, 0x42, 0x2b, 0xc6, 0x4f, 0xca, 0x95, 0xbf, +}; +static const unsigned char kat4305_entropyinpr1[] = { + 0xc3, 0x44, 0x42, 0x61, 0x96, 0x23, 0x86, 0xb5, 0x7d, 0x6c, 0x5f, 0x12, + 0x5d, 0xc3, 0x04, 0x36, 0x78, 0xaf, 0xe1, 0x96, 0x2d, 0x55, 0xd9, 0xe6, + 0x20, 0x4f, 0xba, 0x22, 0x9e, 0x78, 0x1f, 0xd0, 0x63, 0x6d, 0x07, 0xfe, + 0x6a, 0x05, 0x2e, 0xd6, 0x8f, 0xe2, 0x7e, 0x2c, 0x60, 0x1c, 0x01, 0xa4, +}; +static const unsigned char kat4305_addinpr1[] = {0}; +static const unsigned char kat4305_entropyinpr2[] = { + 0x1f, 0xd8, 0x95, 0x06, 0x8a, 0xec, 0x8d, 0xf2, 0x68, 0x47, 0x84, 0x00, + 0x79, 0x49, 0xe0, 0x37, 0x05, 0x78, 0x67, 0x6c, 0x65, 0x37, 0xa0, 0x9d, + 0xd9, 0x05, 0x67, 0xb9, 0x5f, 0x61, 0x38, 0x80, 0x9e, 0x70, 0xbc, 0xc9, + 0xfc, 0x9e, 0xfc, 0x03, 0xdf, 0xd8, 0x3f, 0x03, 0x67, 0x78, 0x4b, 0xde, +}; +static const unsigned char kat4305_addinpr2[] = {0}; +static const unsigned char kat4305_retbits[] = { + 0x89, 0x4f, 0x3b, 0xc0, 0xfc, 0xbd, 0xb7, 0x6b, 0x01, 0xdf, 0x80, 0xf0, + 0x5d, 0x0c, 0xa6, 0x36, 0xbd, 0x51, 0x43, 0x8f, 0x5e, 0xe2, 0x82, 0x50, + 0xf2, 0x7e, 0x8e, 0x47, 0x96, 0x8c, 0x9c, 0x86, 0xa8, 0x47, 0x97, 0x00, + 0x90, 0xd5, 0x1b, 0x0a, 0x60, 0x98, 0x4e, 0xbb, 0x50, 0x79, 0x01, 0x7a, + 0x5c, 0x5b, 0xac, 0x39, 0x4e, 0x96, 0x44, 0xbe, 0xfc, 0x56, 0x6e, 0xdd, + 0x47, 0x68, 0xd9, 0x19, +}; +static const struct drbg_kat_pr_true kat4305_t = { + 14, kat4305_entropyin, kat4305_nonce, kat4305_persstr, + kat4305_entropyinpr1, kat4305_addinpr1, kat4305_entropyinpr2, + kat4305_addinpr2, kat4305_retbits +}; +static const struct drbg_kat kat4305 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 0, 64, &kat4305_t +}; + +static const unsigned char kat4306_entropyin[] = { + 0xd1, 0x02, 0x23, 0x69, 0x87, 0xb3, 0x56, 0x2b, 0x63, 0x1c, 0x79, 0x15, + 0xb1, 0x92, 0x58, 0xc0, 0x19, 0xcd, 0x16, 0x52, 0x17, 0xb3, 0xf6, 0xda, + 0x30, 0xf7, 0x1e, 0x40, 0x9c, 0xe2, 0xad, 0x2f, 0x7a, 0xc8, 0xb6, 0xde, + 0x86, 0x69, 0x6e, 0xd2, 0x7b, 0xc0, 0x25, 0x17, 0x01, 0xa4, 0xe2, 0x20, +}; +static const unsigned char kat4306_nonce[] = {0}; +static const unsigned char kat4306_persstr[] = { + 0x0d, 0x76, 0xf1, 0x0e, 0x4b, 0x15, 0x26, 0x3d, 0xee, 0x96, 0xa2, 0x88, + 0x4f, 0x3e, 0xb3, 0x8b, 0x6a, 0x9c, 0xba, 0x0c, 0x37, 0x2d, 0x75, 0x4a, + 0xdf, 0xf9, 0x2c, 0xbc, 0xd5, 0xf9, 0x78, 0x4c, 0xbe, 0x37, 0x1d, 0xce, + 0xd8, 0x33, 0xfd, 0x76, 0xe4, 0x33, 0xc8, 0xe6, 0x1f, 0xe5, 0x46, 0x79, +}; +static const unsigned char kat4306_entropyinpr1[] = { + 0xce, 0x72, 0x8d, 0x3f, 0xdf, 0x9c, 0xa9, 0x16, 0x9b, 0xb0, 0x9d, 0x07, + 0x70, 0x75, 0x37, 0x04, 0x83, 0x0b, 0x7a, 0x74, 0x22, 0x5a, 0xd6, 0xb0, + 0x91, 0x74, 0xbb, 0xfd, 0x0c, 0xec, 0xfc, 0x69, 0x38, 0xd0, 0x86, 0x7e, + 0xf6, 0x29, 0x0c, 0x59, 0x49, 0xe9, 0xf6, 0x7f, 0x96, 0x72, 0x7d, 0x66, +}; +static const unsigned char kat4306_addinpr1[] = { + 0xd3, 0xe5, 0xec, 0x40, 0x2d, 0xbd, 0x70, 0xd5, 0x3b, 0x87, 0x52, 0xeb, + 0xb6, 0x93, 0xee, 0xe7, 0xf9, 0xbd, 0x91, 0xb8, 0x4c, 0x21, 0xcb, 0x48, + 0x68, 0x12, 0x52, 0x4d, 0x5d, 0xec, 0x45, 0xd6, 0xd9, 0xd6, 0xa3, 0x69, + 0x55, 0x84, 0x0b, 0xa7, 0xb9, 0x75, 0x4c, 0xaf, 0x83, 0x4a, 0x9a, 0xd4, +}; +static const unsigned char kat4306_entropyinpr2[] = { + 0x6e, 0x86, 0x43, 0x5f, 0xc3, 0x9e, 0x96, 0xee, 0x9d, 0xaf, 0xef, 0x7a, + 0x45, 0xa7, 0x3e, 0x28, 0xf5, 0x59, 0x4a, 0xbc, 0x87, 0xe8, 0x8a, 0x44, + 0xc0, 0x34, 0x86, 0x29, 0xa6, 0x79, 0x97, 0x2f, 0x32, 0x21, 0x64, 0xce, + 0x2b, 0x19, 0x1b, 0x29, 0xa9, 0xd2, 0x14, 0x55, 0xd7, 0x31, 0x0c, 0x4d, +}; +static const unsigned char kat4306_addinpr2[] = { + 0x1a, 0x9f, 0xe5, 0x52, 0xc1, 0xa2, 0x99, 0xf1, 0x4d, 0xac, 0x88, 0x9a, + 0xcd, 0x3f, 0x6d, 0x02, 0xc6, 0xb5, 0x81, 0xcc, 0x58, 0x02, 0x4f, 0x07, + 0xc4, 0x9d, 0x6e, 0x67, 0xcc, 0xb7, 0x47, 0x20, 0x44, 0xae, 0x5e, 0x30, + 0x4c, 0xdc, 0xf6, 0x23, 0xe4, 0x67, 0x7d, 0x13, 0xec, 0xda, 0x89, 0x2a, +}; +static const unsigned char kat4306_retbits[] = { + 0xe2, 0x0b, 0x30, 0xf4, 0x96, 0xae, 0x9d, 0xef, 0x70, 0x20, 0x74, 0x7e, + 0xe5, 0x34, 0x8b, 0x4a, 0x53, 0x1a, 0x6b, 0xa1, 0xb6, 0x2e, 0x74, 0x3f, + 0x31, 0xa7, 0xd3, 0xd3, 0xca, 0x81, 0x60, 0x81, 0x9f, 0x57, 0xd6, 0xe1, + 0x4f, 0x52, 0xfe, 0xde, 0x07, 0x14, 0xa9, 0xe3, 0xbb, 0x71, 0x88, 0x7c, + 0x3b, 0x50, 0xaa, 0xcd, 0xf5, 0x30, 0x60, 0xb3, 0x00, 0x03, 0x09, 0x2e, + 0x97, 0x76, 0x87, 0x01, +}; +static const struct drbg_kat_pr_true kat4306_t = { + 0, kat4306_entropyin, kat4306_nonce, kat4306_persstr, + kat4306_entropyinpr1, kat4306_addinpr1, kat4306_entropyinpr2, + kat4306_addinpr2, kat4306_retbits +}; +static const struct drbg_kat kat4306 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4306_t +}; + +static const unsigned char kat4307_entropyin[] = { + 0x4f, 0x43, 0x49, 0x9c, 0x07, 0x5d, 0xa8, 0x13, 0x43, 0x1f, 0x6c, 0x18, + 0x35, 0x5b, 0xe4, 0x1a, 0x3c, 0x76, 0xa1, 0xf4, 0x5c, 0x30, 0x1c, 0x83, + 0xd7, 0xf9, 0xe2, 0x54, 0x78, 0x56, 0x7d, 0x9e, 0x23, 0xbb, 0x7b, 0xf8, + 0xe0, 0x1e, 0x75, 0x98, 0xa6, 0xba, 0x09, 0x23, 0x52, 0x58, 0x2d, 0x97, +}; +static const unsigned char kat4307_nonce[] = {0}; +static const unsigned char kat4307_persstr[] = { + 0xf4, 0xf5, 0xf7, 0xdb, 0xe8, 0x49, 0xfb, 0xdb, 0xcc, 0x1b, 0x3f, 0x57, + 0x3a, 0xd1, 0x95, 0x1f, 0xed, 0xb0, 0x1d, 0xa0, 0xd6, 0x13, 0x37, 0xff, + 0x0c, 0xa5, 0xd8, 0xaf, 0xe2, 0xc3, 0x80, 0xd3, 0xd5, 0x49, 0x91, 0x69, + 0x96, 0x3b, 0x73, 0x5d, 0x03, 0x15, 0x95, 0x04, 0xf0, 0xa0, 0x32, 0x81, +}; +static const unsigned char kat4307_entropyinpr1[] = { + 0xb7, 0x18, 0x56, 0x3a, 0xa7, 0x38, 0x67, 0x5c, 0x24, 0xa5, 0x8f, 0x01, + 0x17, 0xe0, 0x60, 0x7c, 0xf1, 0x56, 0x87, 0xcc, 0x7f, 0x26, 0x57, 0xe5, + 0x61, 0x39, 0xd6, 0x73, 0x62, 0xe3, 0x31, 0x49, 0x97, 0x18, 0x10, 0xe5, + 0x55, 0x34, 0x98, 0x8c, 0x9e, 0x92, 0x3c, 0x55, 0x87, 0x13, 0x65, 0xdc, +}; +static const unsigned char kat4307_addinpr1[] = { + 0xa2, 0x72, 0x86, 0xc9, 0xbe, 0xc1, 0x28, 0x35, 0xc5, 0x2b, 0x70, 0x2b, + 0x3b, 0x65, 0x4c, 0x90, 0xc8, 0x0e, 0x01, 0xe6, 0xd5, 0xf8, 0x4b, 0xb8, + 0x0c, 0xf0, 0xb4, 0x6d, 0x1e, 0x3d, 0xc6, 0x0c, 0x03, 0x8c, 0x10, 0x5c, + 0xa3, 0x0e, 0x1a, 0x94, 0xeb, 0x73, 0x3b, 0x00, 0x4c, 0x76, 0xec, 0x4f, +}; +static const unsigned char kat4307_entropyinpr2[] = { + 0x35, 0xfe, 0x74, 0x10, 0xdf, 0xe6, 0x5c, 0x6f, 0xde, 0x71, 0x15, 0xfa, + 0xf2, 0x03, 0xe0, 0x10, 0x56, 0x33, 0x13, 0x32, 0x07, 0xc8, 0xaf, 0xf2, + 0x9c, 0xc8, 0x57, 0x80, 0xf7, 0x49, 0x99, 0x9f, 0xc5, 0x65, 0x59, 0xa9, + 0x56, 0xc2, 0x8c, 0xc3, 0xae, 0x2a, 0x4d, 0x54, 0xca, 0x49, 0xbe, 0x32, +}; +static const unsigned char kat4307_addinpr2[] = { + 0x3e, 0x25, 0x77, 0x5d, 0x56, 0xa1, 0x56, 0xd8, 0x6a, 0x20, 0xf8, 0xfa, + 0xa7, 0x7b, 0x1c, 0xa3, 0x32, 0x58, 0xf9, 0xa1, 0x2c, 0x10, 0x74, 0x8c, + 0x1f, 0x36, 0x3d, 0x5f, 0x7b, 0x10, 0xa6, 0x81, 0xdf, 0x65, 0x38, 0xd9, + 0xf6, 0x15, 0xc6, 0x3c, 0xd2, 0xc9, 0x7e, 0x1b, 0x6e, 0xe8, 0x2e, 0x7a, +}; +static const unsigned char kat4307_retbits[] = { + 0xf7, 0x63, 0xd0, 0x01, 0x55, 0x78, 0x49, 0x27, 0x83, 0x7c, 0xfd, 0x3d, + 0x54, 0x74, 0x0f, 0x48, 0x39, 0x8e, 0xc8, 0xec, 0xae, 0x66, 0x4b, 0x16, + 0x0d, 0x07, 0x8e, 0x81, 0xec, 0x6b, 0x02, 0xc6, 0x52, 0x83, 0xbe, 0x80, + 0x7a, 0x8e, 0x08, 0x7f, 0x5d, 0x36, 0x00, 0x23, 0x3a, 0x52, 0xcc, 0xba, + 0xa5, 0x93, 0x20, 0x39, 0x25, 0x42, 0x7e, 0xab, 0x16, 0xf4, 0x34, 0xd7, + 0x37, 0xbc, 0x6c, 0x48, +}; +static const struct drbg_kat_pr_true kat4307_t = { + 1, kat4307_entropyin, kat4307_nonce, kat4307_persstr, + kat4307_entropyinpr1, kat4307_addinpr1, kat4307_entropyinpr2, + kat4307_addinpr2, kat4307_retbits +}; +static const struct drbg_kat kat4307 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4307_t +}; + +static const unsigned char kat4308_entropyin[] = { + 0x15, 0xc9, 0xd9, 0x23, 0xb9, 0x37, 0x1e, 0x58, 0x5c, 0x81, 0x6e, 0xe4, + 0xa2, 0x03, 0xb9, 0xec, 0x93, 0xa1, 0x6f, 0x0f, 0x25, 0x25, 0x47, 0x4a, + 0x30, 0x2f, 0x50, 0x7c, 0xa0, 0xd6, 0xea, 0xa4, 0xbe, 0x94, 0x5f, 0x0c, + 0x88, 0x4d, 0x12, 0xac, 0x89, 0x3b, 0x8a, 0xfd, 0x44, 0x62, 0x46, 0xa4, +}; +static const unsigned char kat4308_nonce[] = {0}; +static const unsigned char kat4308_persstr[] = { + 0x54, 0x5b, 0x32, 0x69, 0x2a, 0xa6, 0x46, 0x40, 0xa7, 0x9f, 0xac, 0x5c, + 0xe3, 0xb0, 0x2a, 0x02, 0x03, 0x71, 0x1a, 0xf0, 0xe8, 0xfc, 0xe4, 0x5d, + 0x4a, 0xf2, 0x1f, 0x94, 0x99, 0xdb, 0xa9, 0xbf, 0x03, 0xf3, 0x0e, 0x03, + 0x5a, 0xcb, 0xa8, 0x16, 0xde, 0xfc, 0xc6, 0xf5, 0x0c, 0x0d, 0xa7, 0x2d, +}; +static const unsigned char kat4308_entropyinpr1[] = { + 0xf0, 0x22, 0x56, 0x0f, 0x3b, 0xb3, 0xaa, 0x16, 0x72, 0x52, 0x31, 0x6c, + 0xdd, 0xc7, 0x70, 0x35, 0x23, 0x4f, 0xc1, 0xd1, 0x71, 0x89, 0x44, 0xd4, + 0x17, 0xbe, 0xcd, 0x40, 0x57, 0x1b, 0xf2, 0x07, 0x5b, 0x9f, 0x39, 0xc9, + 0x36, 0x56, 0xd3, 0x88, 0x04, 0x2c, 0x6c, 0x0f, 0x34, 0x78, 0x47, 0x79, +}; +static const unsigned char kat4308_addinpr1[] = { + 0x67, 0x4a, 0x45, 0xa1, 0x1c, 0x29, 0xd7, 0x3d, 0x35, 0x61, 0x80, 0xee, + 0x98, 0x3b, 0x34, 0xcb, 0xbb, 0x06, 0x08, 0xa6, 0xce, 0xbd, 0xde, 0xb3, + 0x37, 0xd6, 0xa5, 0xf7, 0x19, 0x34, 0xe1, 0xf2, 0xeb, 0x51, 0xf0, 0x80, + 0x66, 0x12, 0xd1, 0xf1, 0xc7, 0x1b, 0x93, 0xa8, 0x19, 0x25, 0xd8, 0x21, +}; +static const unsigned char kat4308_entropyinpr2[] = { + 0x7e, 0x4f, 0x97, 0x3d, 0x64, 0x37, 0x8b, 0x21, 0x91, 0x62, 0xde, 0x5c, + 0xcb, 0x28, 0x43, 0x6b, 0x81, 0x79, 0x17, 0xf9, 0xd4, 0x7c, 0x76, 0x86, + 0x02, 0xcd, 0x90, 0x1c, 0x23, 0xa1, 0x7d, 0x66, 0x49, 0xc6, 0x83, 0x0f, + 0xf6, 0x2e, 0x3e, 0xdc, 0x57, 0x71, 0x85, 0x3e, 0xde, 0xe6, 0x9a, 0xb5, +}; +static const unsigned char kat4308_addinpr2[] = { + 0xc4, 0x6e, 0x29, 0x62, 0x67, 0x14, 0x53, 0x2b, 0xf5, 0xc6, 0x5f, 0x65, + 0xeb, 0xb5, 0xaf, 0x38, 0xf1, 0x07, 0x35, 0x92, 0x0b, 0xc0, 0xf0, 0x22, + 0x12, 0x21, 0x45, 0xd3, 0x3c, 0x84, 0xd8, 0x80, 0x56, 0xfd, 0x26, 0xd9, + 0x6d, 0xcc, 0x1b, 0x69, 0xef, 0xbf, 0x2a, 0x7a, 0xe7, 0x36, 0x0c, 0x24, +}; +static const unsigned char kat4308_retbits[] = { + 0x9d, 0xf1, 0x64, 0xfb, 0x08, 0xb8, 0x57, 0x94, 0xd2, 0xea, 0xe9, 0x2a, + 0x03, 0x99, 0x54, 0xc3, 0x7a, 0x9c, 0x41, 0x2e, 0x22, 0x4a, 0x24, 0x26, + 0x81, 0xfa, 0x4a, 0x70, 0x69, 0x4b, 0xbc, 0xd5, 0xff, 0x9d, 0x10, 0xb5, + 0x5d, 0x0f, 0x5a, 0x06, 0xdc, 0xdc, 0xde, 0xad, 0x90, 0xf3, 0x4a, 0x65, + 0xa2, 0xd0, 0xc9, 0x7b, 0x1e, 0x21, 0xda, 0x12, 0x90, 0xcd, 0x20, 0x8a, + 0x33, 0x27, 0x11, 0x1b, +}; +static const struct drbg_kat_pr_true kat4308_t = { + 2, kat4308_entropyin, kat4308_nonce, kat4308_persstr, + kat4308_entropyinpr1, kat4308_addinpr1, kat4308_entropyinpr2, + kat4308_addinpr2, kat4308_retbits +}; +static const struct drbg_kat kat4308 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4308_t +}; + +static const unsigned char kat4309_entropyin[] = { + 0x03, 0xe7, 0xdf, 0xaf, 0x67, 0x09, 0xc6, 0x81, 0x88, 0x46, 0x90, 0x33, + 0xb4, 0x18, 0xd3, 0x9f, 0x90, 0x89, 0xd5, 0xaf, 0x55, 0x72, 0xfc, 0xcd, + 0xb3, 0x15, 0xf7, 0x35, 0x01, 0xf3, 0xcd, 0x89, 0x97, 0x97, 0xf3, 0x92, + 0xe9, 0x4a, 0x51, 0x83, 0x5b, 0xa8, 0x5a, 0x17, 0xc2, 0xa6, 0x76, 0x35, +}; +static const unsigned char kat4309_nonce[] = {0}; +static const unsigned char kat4309_persstr[] = { + 0x11, 0x0f, 0xc1, 0xae, 0x4f, 0xbc, 0x7d, 0xff, 0x71, 0x8b, 0xc0, 0x02, + 0x52, 0x17, 0xcb, 0xce, 0x60, 0x63, 0x16, 0xa1, 0x8a, 0xc0, 0x29, 0x57, + 0x64, 0x42, 0xfb, 0xb9, 0x4e, 0x12, 0xf9, 0xeb, 0x46, 0x45, 0x45, 0x4a, + 0xf0, 0x1e, 0x1b, 0xa2, 0xed, 0xb4, 0xf0, 0x43, 0x84, 0xdb, 0x9c, 0x2e, +}; +static const unsigned char kat4309_entropyinpr1[] = { + 0xb0, 0x40, 0x49, 0x74, 0x93, 0xa0, 0x08, 0xd2, 0x5a, 0x09, 0x24, 0xd9, + 0xaa, 0x18, 0x93, 0x17, 0x47, 0x39, 0x5c, 0xfb, 0x65, 0x54, 0xea, 0xd0, + 0x55, 0xaa, 0x80, 0xfc, 0x87, 0x62, 0x9f, 0xd2, 0xbc, 0x16, 0x2c, 0xa5, + 0x73, 0x0c, 0x73, 0x17, 0x1f, 0xd3, 0x8b, 0x7b, 0xd7, 0xa4, 0x4e, 0x19, +}; +static const unsigned char kat4309_addinpr1[] = { + 0x4e, 0x1e, 0x98, 0x8a, 0x66, 0xe0, 0x41, 0x50, 0x4e, 0x46, 0x5f, 0x6c, + 0xf0, 0x55, 0xfd, 0x7a, 0x34, 0xb6, 0x89, 0xf6, 0x4f, 0x48, 0xc0, 0xdf, + 0x04, 0xd2, 0xff, 0x7f, 0xd2, 0x5e, 0xd8, 0xdf, 0xa7, 0xfc, 0xa3, 0xd9, + 0x62, 0xda, 0x1e, 0x7d, 0xbf, 0x1a, 0x4e, 0xdd, 0xa7, 0x98, 0x54, 0x66, +}; +static const unsigned char kat4309_entropyinpr2[] = { + 0xf9, 0xc8, 0xae, 0xa3, 0x50, 0x61, 0x46, 0x8f, 0x83, 0x6b, 0x1e, 0xb4, + 0xf9, 0x7d, 0x92, 0x20, 0x57, 0x7f, 0xbd, 0xf8, 0x61, 0x94, 0xa9, 0x92, + 0x14, 0x18, 0x6c, 0xc5, 0x92, 0x50, 0xed, 0xb3, 0xff, 0xef, 0xeb, 0xb2, + 0x5f, 0xef, 0x8f, 0x50, 0x68, 0x26, 0x5a, 0xb6, 0x78, 0xb1, 0x80, 0x36, +}; +static const unsigned char kat4309_addinpr2[] = { + 0x96, 0xf1, 0x0d, 0xce, 0x1f, 0xf8, 0xd8, 0xe0, 0xc9, 0x92, 0xe1, 0xf3, + 0xea, 0x03, 0x44, 0x86, 0xf8, 0x90, 0x8d, 0xf4, 0xe1, 0xd4, 0xb9, 0xf3, + 0x5b, 0xd4, 0xed, 0x6f, 0x91, 0xa0, 0xde, 0xda, 0x7a, 0x5b, 0x23, 0x8e, + 0xe0, 0xb6, 0xc7, 0x83, 0xf7, 0xf1, 0x01, 0xcf, 0xaf, 0xad, 0x79, 0x86, +}; +static const unsigned char kat4309_retbits[] = { + 0xac, 0xfc, 0x84, 0xfd, 0x40, 0x83, 0x7e, 0xc9, 0x4c, 0x4d, 0x37, 0x65, + 0x6e, 0x65, 0xd5, 0x16, 0xc0, 0xab, 0x45, 0xa7, 0xa4, 0x48, 0x56, 0x78, + 0xf3, 0x0e, 0x51, 0xaa, 0x08, 0x52, 0x0c, 0xfa, 0xca, 0x31, 0xd7, 0x86, + 0xba, 0xc0, 0xf3, 0xdd, 0x3f, 0x15, 0xc7, 0xc5, 0x20, 0x8e, 0xd1, 0x44, + 0x73, 0xc4, 0x72, 0xb5, 0x37, 0xe3, 0x66, 0x2e, 0x20, 0xd8, 0xca, 0x9e, + 0xd7, 0x7d, 0x4b, 0xaa, +}; +static const struct drbg_kat_pr_true kat4309_t = { + 3, kat4309_entropyin, kat4309_nonce, kat4309_persstr, + kat4309_entropyinpr1, kat4309_addinpr1, kat4309_entropyinpr2, + kat4309_addinpr2, kat4309_retbits +}; +static const struct drbg_kat kat4309 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4309_t +}; + +static const unsigned char kat4310_entropyin[] = { + 0x74, 0xd1, 0x01, 0x9b, 0x4d, 0x8d, 0x76, 0x75, 0x4b, 0x9b, 0x57, 0xab, + 0x96, 0x09, 0x7b, 0xa8, 0x2e, 0x40, 0x46, 0xb3, 0x57, 0x2d, 0x8d, 0xd3, + 0xc1, 0x49, 0x8c, 0x47, 0x2b, 0x5e, 0x8d, 0x08, 0x05, 0x0e, 0xd7, 0xed, + 0xfb, 0x3a, 0xfa, 0xc2, 0x9e, 0xc0, 0x98, 0x38, 0x81, 0x62, 0xa7, 0xe4, +}; +static const unsigned char kat4310_nonce[] = {0}; +static const unsigned char kat4310_persstr[] = { + 0x6e, 0x3d, 0xd8, 0x2c, 0xf1, 0x28, 0x87, 0xa6, 0x17, 0x05, 0x14, 0xa6, + 0x73, 0x7a, 0xb2, 0xa6, 0x01, 0xd6, 0xb1, 0x7e, 0x57, 0x64, 0x75, 0x49, + 0xad, 0x5a, 0x49, 0xe6, 0xb2, 0x32, 0x89, 0x50, 0x9e, 0x09, 0x4d, 0x7c, + 0x61, 0xa8, 0x58, 0xdf, 0x26, 0xec, 0xc7, 0x5d, 0x7c, 0x61, 0x11, 0x5b, +}; +static const unsigned char kat4310_entropyinpr1[] = { + 0x06, 0x89, 0x72, 0x1b, 0x78, 0x43, 0x17, 0x49, 0x55, 0xc9, 0xaf, 0xeb, + 0xd7, 0x41, 0xa5, 0x7a, 0x60, 0x0c, 0xf6, 0xe7, 0x0a, 0x28, 0x80, 0x42, + 0x25, 0x25, 0xfa, 0x16, 0xd3, 0x44, 0xc6, 0xd7, 0x18, 0x81, 0x83, 0xc2, + 0xfb, 0xd6, 0x48, 0x86, 0x92, 0xe1, 0x9f, 0x0b, 0x6a, 0x95, 0xeb, 0x59, +}; +static const unsigned char kat4310_addinpr1[] = { + 0x33, 0x46, 0xf0, 0xc0, 0xea, 0xdb, 0x16, 0x6b, 0x15, 0x4a, 0xb1, 0xd9, + 0xe1, 0x66, 0x58, 0x67, 0xd2, 0x78, 0x4e, 0xc5, 0xd9, 0xef, 0x18, 0x43, + 0xb7, 0x18, 0xc3, 0xb5, 0xa1, 0xe0, 0x24, 0x01, 0xeb, 0xdb, 0xb3, 0x06, + 0xa4, 0x0e, 0x00, 0x2a, 0xbc, 0x39, 0xe9, 0x42, 0x8a, 0xe4, 0x8b, 0x83, +}; +static const unsigned char kat4310_entropyinpr2[] = { + 0x1e, 0x26, 0x17, 0x39, 0x11, 0x0b, 0x9b, 0x97, 0x08, 0xe0, 0x63, 0x7d, + 0x90, 0x97, 0xb5, 0xab, 0x34, 0xaa, 0xe8, 0x8b, 0x14, 0xa9, 0xde, 0x53, + 0x55, 0x26, 0xb9, 0x38, 0x4a, 0x24, 0xa5, 0x43, 0x3d, 0xc4, 0x34, 0xf3, + 0xa8, 0x97, 0x84, 0x7a, 0x3b, 0x77, 0x02, 0x18, 0x76, 0x0a, 0x98, 0x10, +}; +static const unsigned char kat4310_addinpr2[] = { + 0x08, 0xc2, 0x20, 0xe7, 0x85, 0xbd, 0xa0, 0x80, 0xf1, 0x6a, 0x1b, 0xbf, + 0x26, 0xa7, 0x90, 0x03, 0xa8, 0x14, 0x6d, 0x6f, 0xd5, 0xea, 0x63, 0xc4, + 0x28, 0xa4, 0x4b, 0xc5, 0x81, 0x6c, 0x72, 0xbc, 0xb9, 0x3b, 0x94, 0x64, + 0xb9, 0xd2, 0xd1, 0x6f, 0x21, 0x22, 0xc4, 0xe9, 0x92, 0x0c, 0xa0, 0x73, +}; +static const unsigned char kat4310_retbits[] = { + 0x57, 0x57, 0x65, 0x51, 0x85, 0x51, 0xe0, 0xac, 0x40, 0xdb, 0x70, 0x56, + 0x72, 0x65, 0xf0, 0x1c, 0x90, 0xf9, 0xd8, 0x02, 0xdc, 0x40, 0x84, 0x9a, + 0x7c, 0x24, 0x3b, 0x98, 0x78, 0x82, 0x28, 0x4f, 0x85, 0xe5, 0x94, 0x28, + 0x21, 0xb5, 0x51, 0x92, 0x3c, 0xf3, 0xf8, 0xa9, 0x91, 0xe1, 0x10, 0x7c, + 0x59, 0x78, 0xa5, 0x70, 0xf5, 0x1c, 0xd6, 0x53, 0x2c, 0x27, 0xc1, 0x25, + 0x99, 0x06, 0x8d, 0xd4, +}; +static const struct drbg_kat_pr_true kat4310_t = { + 4, kat4310_entropyin, kat4310_nonce, kat4310_persstr, + kat4310_entropyinpr1, kat4310_addinpr1, kat4310_entropyinpr2, + kat4310_addinpr2, kat4310_retbits +}; +static const struct drbg_kat kat4310 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4310_t +}; + +static const unsigned char kat4311_entropyin[] = { + 0x8f, 0x0b, 0x90, 0x46, 0x55, 0x95, 0x1a, 0x0f, 0xad, 0x5a, 0x01, 0x4b, + 0x01, 0x8d, 0x9d, 0x1f, 0x78, 0xaf, 0xa1, 0x3d, 0x50, 0x4b, 0x4c, 0xec, + 0x55, 0x9d, 0x35, 0x32, 0x0c, 0x13, 0x60, 0xdd, 0x5b, 0x4e, 0x2e, 0x67, + 0xd3, 0xed, 0x23, 0xf6, 0xb1, 0x29, 0x7b, 0xde, 0x8d, 0x1d, 0x98, 0x71, +}; +static const unsigned char kat4311_nonce[] = {0}; +static const unsigned char kat4311_persstr[] = { + 0xb7, 0x8b, 0x65, 0xb6, 0x6c, 0x61, 0x03, 0x67, 0x84, 0x46, 0x03, 0x2d, + 0xb3, 0xb3, 0x14, 0x52, 0xf7, 0xa6, 0x63, 0x88, 0x4e, 0xfe, 0x66, 0x10, + 0xa4, 0xba, 0xfd, 0x5f, 0x8a, 0x6d, 0x35, 0xd3, 0x3c, 0x41, 0x69, 0xf2, + 0x4d, 0x79, 0xaf, 0x17, 0xd8, 0x80, 0xe3, 0xb4, 0xcf, 0x95, 0xaa, 0xa5, +}; +static const unsigned char kat4311_entropyinpr1[] = { + 0x2d, 0x83, 0x8a, 0x98, 0xf8, 0x93, 0xf3, 0x4e, 0x73, 0xdc, 0xf0, 0xaf, + 0x1d, 0x2f, 0xf5, 0x80, 0xef, 0xc4, 0xc0, 0xed, 0x66, 0x1e, 0xb2, 0xa8, + 0x2c, 0xf1, 0x84, 0xeb, 0xc3, 0x6c, 0x3d, 0x9a, 0x6a, 0xd5, 0x36, 0x36, + 0x14, 0x44, 0x63, 0x63, 0x57, 0x1c, 0x70, 0x5e, 0xff, 0x09, 0x3a, 0x5f, +}; +static const unsigned char kat4311_addinpr1[] = { + 0x3e, 0x76, 0x0e, 0x8d, 0xba, 0x84, 0x2b, 0x59, 0xdb, 0xb9, 0x07, 0xfd, + 0x12, 0x27, 0x45, 0x14, 0x5c, 0xea, 0x52, 0xfa, 0xe5, 0xdb, 0xb5, 0x9a, + 0x8a, 0x16, 0xed, 0x2f, 0x7d, 0xd2, 0xa2, 0x92, 0x7a, 0xc9, 0x82, 0x82, + 0x52, 0x38, 0x1c, 0x97, 0xfd, 0x93, 0x1e, 0x72, 0xcd, 0x02, 0x05, 0xfc, +}; +static const unsigned char kat4311_entropyinpr2[] = { + 0xb3, 0xa7, 0x1b, 0x8e, 0xa6, 0x88, 0xfe, 0x94, 0x0e, 0xf2, 0x61, 0x2b, + 0x9e, 0x59, 0xc7, 0x99, 0xd7, 0xdb, 0x23, 0x4a, 0x78, 0xb5, 0x48, 0xd6, + 0xe9, 0x61, 0x77, 0x81, 0x4b, 0xe9, 0x41, 0xc2, 0x76, 0x02, 0xb6, 0x43, + 0xa2, 0x2b, 0x46, 0x65, 0xd4, 0x32, 0xad, 0x97, 0x04, 0xd5, 0xa1, 0xaf, +}; +static const unsigned char kat4311_addinpr2[] = { + 0xbd, 0xde, 0x90, 0x43, 0x9c, 0xb0, 0x11, 0x2a, 0x68, 0x94, 0x3c, 0x5e, + 0x23, 0xfc, 0x92, 0x82, 0x53, 0x4e, 0x20, 0x40, 0x54, 0x3e, 0x73, 0x8b, + 0xdd, 0x51, 0x3e, 0x59, 0x10, 0xac, 0x86, 0xe7, 0xa5, 0xd3, 0x0d, 0xde, + 0xee, 0xcd, 0xdc, 0x38, 0xd1, 0xb7, 0xb9, 0x01, 0x21, 0xcb, 0x21, 0x35, +}; +static const unsigned char kat4311_retbits[] = { + 0x24, 0xbb, 0x14, 0x55, 0x2f, 0xd5, 0x5b, 0x8a, 0x8d, 0x31, 0x06, 0x6e, + 0x97, 0x4e, 0x9b, 0xfb, 0xba, 0x35, 0x1f, 0x85, 0x28, 0xda, 0x5b, 0xef, + 0xe0, 0x96, 0xbf, 0xb7, 0x72, 0xeb, 0x28, 0x79, 0x00, 0xfb, 0xf7, 0x15, + 0x68, 0x69, 0x7e, 0x1d, 0xd2, 0xde, 0x8f, 0x94, 0x51, 0xec, 0xd6, 0xa7, + 0xe7, 0x0f, 0x14, 0x0e, 0x56, 0xaf, 0x6e, 0x36, 0xf7, 0x7c, 0x25, 0x6d, + 0xc0, 0x58, 0x2c, 0xf8, +}; +static const struct drbg_kat_pr_true kat4311_t = { + 5, kat4311_entropyin, kat4311_nonce, kat4311_persstr, + kat4311_entropyinpr1, kat4311_addinpr1, kat4311_entropyinpr2, + kat4311_addinpr2, kat4311_retbits +}; +static const struct drbg_kat kat4311 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4311_t +}; + +static const unsigned char kat4312_entropyin[] = { + 0xbd, 0x21, 0x3a, 0x2e, 0x83, 0xd3, 0xf4, 0x1e, 0x85, 0x2d, 0xcc, 0xf3, + 0x94, 0xc6, 0x92, 0x0e, 0x15, 0xf3, 0xc2, 0x2c, 0x76, 0x1b, 0x5c, 0xc7, + 0x05, 0x71, 0xec, 0x06, 0x11, 0x46, 0x64, 0x3d, 0x9f, 0x63, 0xc0, 0x6d, + 0x76, 0x98, 0xbc, 0xc3, 0x09, 0xf6, 0x61, 0x8f, 0xca, 0xe4, 0xd8, 0x02, +}; +static const unsigned char kat4312_nonce[] = {0}; +static const unsigned char kat4312_persstr[] = { + 0x0a, 0xb1, 0x6f, 0x1d, 0xb7, 0xc5, 0x33, 0xb4, 0xbe, 0xa2, 0xf1, 0xb9, + 0xd9, 0x2f, 0xc1, 0x43, 0xf0, 0x1d, 0x78, 0x56, 0x52, 0x7f, 0xff, 0xe4, + 0x86, 0xcf, 0x80, 0x13, 0x5c, 0x6d, 0xc4, 0x97, 0xf6, 0x0c, 0x14, 0xef, + 0xe2, 0xc1, 0x50, 0x11, 0x16, 0x21, 0x38, 0xaf, 0xe5, 0xd2, 0x11, 0x3a, +}; +static const unsigned char kat4312_entropyinpr1[] = { + 0x0d, 0x92, 0xba, 0x73, 0xd2, 0xd6, 0x93, 0x07, 0xbc, 0x6e, 0x05, 0x3e, + 0xf9, 0x2f, 0xed, 0x43, 0x20, 0x9f, 0xc1, 0xc7, 0xe4, 0xeb, 0x5f, 0x93, + 0x13, 0xae, 0x91, 0xa6, 0xd0, 0x7e, 0x24, 0x37, 0x9e, 0x03, 0x08, 0x08, + 0x79, 0x80, 0xf6, 0x95, 0xbe, 0x20, 0x1e, 0x1d, 0xf0, 0xe5, 0xc9, 0x94, +}; +static const unsigned char kat4312_addinpr1[] = { + 0xc5, 0x66, 0xb2, 0xc3, 0xd6, 0x0a, 0x76, 0xd5, 0x55, 0xd6, 0x51, 0x5e, + 0x7e, 0x96, 0x45, 0x23, 0xe6, 0x8f, 0x72, 0x27, 0x2e, 0x77, 0x8a, 0x58, + 0x02, 0x6d, 0x94, 0x29, 0x78, 0xbd, 0xf5, 0xc4, 0x6d, 0xf6, 0xde, 0xca, + 0xc8, 0x27, 0x1f, 0xe3, 0x2c, 0x40, 0x00, 0x00, 0x30, 0x31, 0xd4, 0x50, +}; +static const unsigned char kat4312_entropyinpr2[] = { + 0xaf, 0x24, 0x68, 0xe5, 0x63, 0x9f, 0xea, 0x72, 0x9b, 0xb2, 0xfc, 0x79, + 0x95, 0xa5, 0xce, 0x92, 0xff, 0xc0, 0x45, 0x50, 0xe7, 0xe6, 0x04, 0xb9, + 0xfa, 0xd1, 0xe0, 0x69, 0xf1, 0x97, 0x7a, 0xff, 0x5b, 0x1a, 0x37, 0x1e, + 0x6c, 0x80, 0x96, 0x54, 0x8a, 0x03, 0xc5, 0x21, 0x0e, 0xba, 0xe6, 0x02, +}; +static const unsigned char kat4312_addinpr2[] = { + 0xc6, 0xaa, 0x59, 0xd6, 0x47, 0x3d, 0xcf, 0xdb, 0x35, 0x8e, 0xf2, 0x2f, + 0xc5, 0x29, 0xc9, 0xe8, 0xa3, 0x31, 0xd3, 0xba, 0x8f, 0x53, 0x56, 0x68, + 0xe5, 0xc7, 0xeb, 0x87, 0x67, 0x53, 0x8b, 0x4e, 0xe4, 0xba, 0x50, 0xd2, + 0x57, 0x79, 0xc5, 0xda, 0xc1, 0xef, 0xe6, 0x47, 0xf3, 0xdf, 0x92, 0x8e, +}; +static const unsigned char kat4312_retbits[] = { + 0x9f, 0x18, 0xf1, 0xdf, 0x7f, 0xf3, 0xcb, 0x47, 0xc6, 0xe5, 0x26, 0x60, + 0xaf, 0x2e, 0x5c, 0xaa, 0x7b, 0xd4, 0x4c, 0xfc, 0x33, 0xaa, 0x92, 0xc5, + 0x58, 0xbc, 0x03, 0x5a, 0x6b, 0x34, 0x66, 0xb6, 0xfb, 0x83, 0x5f, 0x8d, + 0x15, 0xd9, 0x6d, 0xa0, 0xb6, 0x6f, 0xdf, 0xfb, 0x4b, 0x6c, 0x26, 0xc0, + 0x48, 0x13, 0x55, 0xf1, 0x35, 0x84, 0xe3, 0xb4, 0xe4, 0x2d, 0x11, 0xbc, + 0x37, 0x27, 0x19, 0x21, +}; +static const struct drbg_kat_pr_true kat4312_t = { + 6, kat4312_entropyin, kat4312_nonce, kat4312_persstr, + kat4312_entropyinpr1, kat4312_addinpr1, kat4312_entropyinpr2, + kat4312_addinpr2, kat4312_retbits +}; +static const struct drbg_kat kat4312 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4312_t +}; + +static const unsigned char kat4313_entropyin[] = { + 0xc4, 0xd2, 0xf3, 0x50, 0xa4, 0xf2, 0xa7, 0x89, 0xc6, 0x01, 0x56, 0x59, + 0xb6, 0xc0, 0x2a, 0x12, 0xcd, 0x09, 0x34, 0x30, 0xa9, 0x56, 0x2b, 0x97, + 0xb0, 0x6d, 0x95, 0x00, 0xe0, 0x19, 0xfe, 0x0a, 0xae, 0xb8, 0x79, 0x58, + 0x3f, 0x8b, 0x58, 0xbd, 0x6e, 0xca, 0xd5, 0x21, 0xd2, 0x7d, 0x1c, 0xa1, +}; +static const unsigned char kat4313_nonce[] = {0}; +static const unsigned char kat4313_persstr[] = { + 0xc5, 0x66, 0xca, 0xe3, 0xd5, 0x47, 0x4e, 0xca, 0x06, 0xa0, 0x77, 0x51, + 0x54, 0x40, 0x93, 0xe2, 0x22, 0x4a, 0x73, 0x20, 0x59, 0x2e, 0xbb, 0x55, + 0x60, 0x6c, 0x73, 0xf7, 0x85, 0xf3, 0x95, 0x0f, 0xab, 0x2e, 0x03, 0x95, + 0xb0, 0x21, 0xf0, 0x26, 0x0d, 0xf5, 0xf5, 0x11, 0x2b, 0x3d, 0x56, 0x8a, +}; +static const unsigned char kat4313_entropyinpr1[] = { + 0x6c, 0x50, 0x04, 0x85, 0xe2, 0x2f, 0x76, 0xfe, 0x2d, 0x2c, 0x1f, 0xcf, + 0xa2, 0x6f, 0x82, 0x3a, 0x3d, 0x96, 0xf2, 0x85, 0x1f, 0x2d, 0xe2, 0x16, + 0xe8, 0x49, 0x23, 0xca, 0x6a, 0x81, 0xc1, 0xb7, 0xff, 0x5f, 0x39, 0xd4, + 0x38, 0xb0, 0x9b, 0xbc, 0xc1, 0xf7, 0xbe, 0xe5, 0x3a, 0x8f, 0x65, 0x40, +}; +static const unsigned char kat4313_addinpr1[] = { + 0x44, 0xea, 0x34, 0xf3, 0xa8, 0x3d, 0x35, 0xa1, 0xa1, 0xdf, 0x84, 0x32, + 0xdc, 0x00, 0xea, 0x17, 0x06, 0xee, 0x7f, 0xe7, 0xd1, 0x18, 0x15, 0x49, + 0x44, 0xda, 0x8b, 0x85, 0x0d, 0xb1, 0xa6, 0x8f, 0xd9, 0x6f, 0x39, 0x60, + 0x04, 0x28, 0xca, 0x9b, 0x73, 0x33, 0xc4, 0x68, 0x2f, 0x41, 0x54, 0x7b, +}; +static const unsigned char kat4313_entropyinpr2[] = { + 0x8a, 0x3f, 0xa7, 0x86, 0x1e, 0x35, 0xff, 0x9e, 0x12, 0x93, 0x46, 0xfa, + 0xb3, 0x48, 0x6d, 0x8c, 0x2c, 0x9e, 0x1e, 0x79, 0x31, 0xda, 0x36, 0x03, + 0xd3, 0x89, 0x8b, 0x12, 0x11, 0x6a, 0x3a, 0x76, 0xc5, 0x69, 0xa7, 0x90, + 0x17, 0x57, 0x0b, 0xea, 0x10, 0x05, 0x4e, 0x71, 0xcc, 0xdf, 0x88, 0xb7, +}; +static const unsigned char kat4313_addinpr2[] = { + 0x36, 0x56, 0x5e, 0xcb, 0xaa, 0x75, 0x5c, 0x0e, 0x78, 0xd9, 0x0a, 0x60, + 0x2c, 0x9a, 0xe1, 0x30, 0x3f, 0xe0, 0x7f, 0x36, 0xf6, 0xc1, 0xb1, 0x0b, + 0x62, 0x50, 0x21, 0xf3, 0x79, 0x8d, 0xd9, 0xa1, 0xc9, 0xa2, 0x10, 0xeb, + 0x2e, 0x33, 0x67, 0xfc, 0x6a, 0xbe, 0xc7, 0x21, 0xd8, 0x3a, 0x41, 0x2d, +}; +static const unsigned char kat4313_retbits[] = { + 0xf2, 0xa1, 0xb2, 0x84, 0xa2, 0x17, 0x16, 0xaf, 0xae, 0x69, 0x21, 0xdc, + 0x85, 0xdd, 0xcd, 0x3c, 0xe3, 0x27, 0xce, 0x5f, 0xa8, 0x11, 0x29, 0xf6, + 0xb4, 0x1e, 0x23, 0xfc, 0x43, 0x5b, 0xa7, 0x65, 0x9a, 0x9b, 0x21, 0x61, + 0x5d, 0x51, 0xdd, 0x43, 0x6c, 0x78, 0xad, 0xe4, 0x27, 0x0a, 0xcd, 0x8b, + 0x06, 0xcd, 0xf3, 0xc8, 0x39, 0xc1, 0xce, 0x05, 0x20, 0x7b, 0x8a, 0x8c, + 0x66, 0xa1, 0xe6, 0xdb, +}; +static const struct drbg_kat_pr_true kat4313_t = { + 7, kat4313_entropyin, kat4313_nonce, kat4313_persstr, + kat4313_entropyinpr1, kat4313_addinpr1, kat4313_entropyinpr2, + kat4313_addinpr2, kat4313_retbits +}; +static const struct drbg_kat kat4313 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4313_t +}; + +static const unsigned char kat4314_entropyin[] = { + 0x89, 0xf5, 0x83, 0x7e, 0xa2, 0xec, 0x6c, 0x11, 0x68, 0x20, 0x16, 0xfb, + 0x00, 0xbd, 0x26, 0xab, 0x50, 0x01, 0x7a, 0xf3, 0x71, 0xe5, 0xd4, 0x6d, + 0x34, 0x23, 0xf2, 0x63, 0x92, 0x97, 0x99, 0x4d, 0x39, 0x09, 0x9e, 0x96, + 0x02, 0xea, 0xc9, 0x5d, 0x03, 0x49, 0xca, 0x70, 0x98, 0xa1, 0x4f, 0x0d, +}; +static const unsigned char kat4314_nonce[] = {0}; +static const unsigned char kat4314_persstr[] = { + 0x47, 0xe7, 0xd6, 0x39, 0x9a, 0xe2, 0x0b, 0x93, 0x40, 0x46, 0x06, 0x12, + 0x4c, 0x98, 0x03, 0x7c, 0x31, 0x30, 0x43, 0x35, 0x97, 0x7a, 0x92, 0xd2, + 0x52, 0x62, 0x71, 0x5f, 0x34, 0x9f, 0x05, 0xbb, 0xdd, 0x44, 0x26, 0x17, + 0xba, 0x2b, 0xb0, 0xf3, 0x86, 0x04, 0x54, 0x35, 0x81, 0xd9, 0x0e, 0xaa, +}; +static const unsigned char kat4314_entropyinpr1[] = { + 0x78, 0x75, 0x37, 0x65, 0x50, 0xc6, 0xe0, 0x88, 0x2f, 0xc9, 0x50, 0x5b, + 0x0e, 0x90, 0x5a, 0x99, 0xa8, 0xd6, 0xc3, 0x40, 0xd1, 0x19, 0x27, 0x98, + 0xaf, 0xe3, 0x3f, 0x31, 0xe7, 0x93, 0xde, 0x12, 0x89, 0x48, 0x72, 0x72, + 0xe9, 0x89, 0x15, 0x99, 0xfe, 0xe5, 0xca, 0xba, 0x3a, 0x70, 0x48, 0x34, +}; +static const unsigned char kat4314_addinpr1[] = { + 0x4c, 0xe3, 0x60, 0xd6, 0x83, 0x51, 0x12, 0x30, 0x57, 0x12, 0xfc, 0x20, + 0xd5, 0x2d, 0xc6, 0xd3, 0x0e, 0x32, 0x25, 0xd6, 0x2e, 0x35, 0xa4, 0xb5, + 0xaa, 0x31, 0x87, 0xea, 0xa7, 0x10, 0x4b, 0xac, 0x81, 0x67, 0x75, 0x75, + 0x0d, 0x6b, 0xe0, 0x70, 0x30, 0x5d, 0xed, 0x17, 0x32, 0xf3, 0x4e, 0x4b, +}; +static const unsigned char kat4314_entropyinpr2[] = { + 0x59, 0x4b, 0xe9, 0xed, 0xcc, 0x63, 0x24, 0xc2, 0x89, 0x16, 0x17, 0x21, + 0xfb, 0xda, 0xc2, 0x52, 0xdd, 0x2f, 0x0b, 0xd2, 0xb6, 0xb8, 0x36, 0xf7, + 0x68, 0x35, 0x8b, 0xd0, 0x91, 0x4d, 0x38, 0xb4, 0xab, 0x40, 0x24, 0x6e, + 0xc1, 0xb5, 0xee, 0x94, 0xe5, 0x90, 0x38, 0x45, 0x75, 0xec, 0x80, 0x87, +}; +static const unsigned char kat4314_addinpr2[] = { + 0x98, 0x06, 0x3a, 0xe8, 0xf1, 0xe5, 0x6a, 0x8c, 0xea, 0x17, 0x7f, 0x45, + 0x16, 0x77, 0x21, 0x4a, 0x7f, 0x41, 0x95, 0xd6, 0x20, 0x5f, 0x22, 0x0f, + 0x0d, 0xee, 0x8e, 0x84, 0x34, 0x51, 0x73, 0x5f, 0x6e, 0xbd, 0x94, 0xff, + 0x56, 0x1b, 0x09, 0xdd, 0x46, 0x3d, 0xba, 0x32, 0xde, 0x32, 0x54, 0x75, +}; +static const unsigned char kat4314_retbits[] = { + 0x41, 0x5b, 0x18, 0xd5, 0x89, 0xe9, 0xfe, 0x68, 0x47, 0x3e, 0xfd, 0x2a, + 0x1a, 0x70, 0x06, 0xd8, 0x5e, 0x8e, 0xc6, 0xc0, 0x39, 0xe4, 0x5d, 0xa9, + 0xcc, 0x3d, 0x84, 0x8e, 0x2b, 0x3e, 0xd9, 0x09, 0x04, 0x4a, 0x55, 0xd5, + 0x7d, 0x46, 0xe1, 0x53, 0x63, 0x60, 0x09, 0x15, 0x08, 0x9d, 0x0a, 0xa2, + 0x25, 0x16, 0x88, 0x95, 0xa2, 0xa7, 0x1a, 0xa9, 0xf5, 0xa8, 0xfa, 0x91, + 0x32, 0x1b, 0x96, 0x0f, +}; +static const struct drbg_kat_pr_true kat4314_t = { + 8, kat4314_entropyin, kat4314_nonce, kat4314_persstr, + kat4314_entropyinpr1, kat4314_addinpr1, kat4314_entropyinpr2, + kat4314_addinpr2, kat4314_retbits +}; +static const struct drbg_kat kat4314 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4314_t +}; + +static const unsigned char kat4315_entropyin[] = { + 0x90, 0x91, 0xe7, 0x24, 0xf6, 0x5e, 0x07, 0xd1, 0x17, 0x8c, 0xee, 0x5a, + 0x18, 0xfa, 0xed, 0x55, 0xdb, 0x1c, 0xb6, 0x4f, 0x53, 0x4b, 0x5f, 0xaa, + 0xf0, 0x19, 0xb8, 0x9d, 0x92, 0xcb, 0x08, 0xfc, 0x49, 0x9c, 0xbd, 0xee, + 0xf0, 0x5f, 0xda, 0xcf, 0x51, 0xdc, 0x01, 0x84, 0x58, 0x98, 0xf3, 0x65, +}; +static const unsigned char kat4315_nonce[] = {0}; +static const unsigned char kat4315_persstr[] = { + 0xa1, 0xc3, 0x81, 0xa3, 0x6c, 0xe0, 0xa8, 0x37, 0xc7, 0x4d, 0x33, 0xe4, + 0x16, 0x32, 0xae, 0xcc, 0xa2, 0xec, 0x14, 0xea, 0x28, 0xa0, 0xc1, 0x53, + 0xf9, 0xde, 0xcc, 0x47, 0xe3, 0xf9, 0x77, 0xcb, 0x34, 0x95, 0x2e, 0xd3, + 0xe6, 0x43, 0xc8, 0x7b, 0xcd, 0xdf, 0x32, 0xf1, 0xa1, 0x17, 0x32, 0x6f, +}; +static const unsigned char kat4315_entropyinpr1[] = { + 0x77, 0x7e, 0x58, 0xa9, 0x72, 0x73, 0x99, 0x8b, 0x60, 0x03, 0x68, 0xa8, + 0x3a, 0x91, 0xef, 0x4b, 0xeb, 0x5d, 0x4c, 0xb2, 0xc5, 0x8b, 0x4e, 0x01, + 0xb0, 0x1a, 0x74, 0x45, 0x2e, 0xc2, 0xb2, 0x82, 0xb6, 0x1e, 0x93, 0x89, + 0x83, 0x77, 0xeb, 0x20, 0xf3, 0x35, 0xe8, 0x86, 0x74, 0xca, 0x8a, 0x3c, +}; +static const unsigned char kat4315_addinpr1[] = { + 0x23, 0xcb, 0x47, 0xc2, 0xc2, 0xa2, 0xce, 0x80, 0x58, 0x98, 0x75, 0x19, + 0x80, 0xd9, 0x54, 0x5e, 0x3a, 0x7e, 0x67, 0x80, 0xc9, 0xd3, 0x28, 0x8b, + 0xe0, 0xcc, 0x75, 0xd1, 0xc7, 0xa9, 0x53, 0xe6, 0x04, 0x4a, 0x15, 0xba, + 0x1a, 0xdc, 0xec, 0xea, 0x2a, 0x1e, 0x17, 0x48, 0xbb, 0xc5, 0xe9, 0x48, +}; +static const unsigned char kat4315_entropyinpr2[] = { + 0x55, 0x78, 0x4a, 0xcf, 0x5a, 0xc2, 0xf8, 0xfe, 0x0c, 0x85, 0xf1, 0xc5, + 0xd7, 0xff, 0xea, 0x80, 0x9e, 0xca, 0x75, 0x0d, 0x4c, 0x66, 0x1b, 0xc9, + 0x73, 0x21, 0xb3, 0x94, 0xd6, 0xff, 0xcd, 0x74, 0x27, 0xf0, 0x74, 0xf4, + 0x28, 0xc3, 0x86, 0x24, 0x32, 0x63, 0x63, 0xa8, 0x01, 0xea, 0x02, 0xcd, +}; +static const unsigned char kat4315_addinpr2[] = { + 0x13, 0x65, 0x8c, 0xe4, 0xf9, 0x1d, 0x31, 0xb7, 0x55, 0x13, 0xac, 0xc2, + 0x5b, 0x8b, 0x57, 0xd9, 0xc6, 0xdf, 0x39, 0xbf, 0xd7, 0xc2, 0x5b, 0x9d, + 0x27, 0x81, 0xb7, 0x13, 0x2d, 0xbc, 0x0d, 0x39, 0xf2, 0x0a, 0xd5, 0x25, + 0x40, 0x4f, 0xb7, 0xeb, 0x15, 0x74, 0x8c, 0x86, 0x84, 0x38, 0xef, 0x3f, +}; +static const unsigned char kat4315_retbits[] = { + 0x28, 0xe4, 0xce, 0x4a, 0xd7, 0x53, 0x43, 0x6b, 0x13, 0x44, 0x78, 0x1d, + 0x65, 0x59, 0xd4, 0xe0, 0x4c, 0x58, 0x93, 0x88, 0xc6, 0xf4, 0xea, 0xa0, + 0x06, 0xdd, 0x0a, 0x0a, 0xd0, 0xa3, 0x6f, 0xee, 0xe9, 0x85, 0xd7, 0xec, + 0x37, 0x6e, 0xac, 0x4d, 0xfa, 0x9f, 0x80, 0x44, 0xca, 0x32, 0xa5, 0x9e, + 0xb6, 0xc1, 0x65, 0xac, 0x21, 0x51, 0x09, 0x56, 0x85, 0x42, 0x40, 0xb4, + 0xfb, 0x50, 0xa9, 0x88, +}; +static const struct drbg_kat_pr_true kat4315_t = { + 9, kat4315_entropyin, kat4315_nonce, kat4315_persstr, + kat4315_entropyinpr1, kat4315_addinpr1, kat4315_entropyinpr2, + kat4315_addinpr2, kat4315_retbits +}; +static const struct drbg_kat kat4315 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4315_t +}; + +static const unsigned char kat4316_entropyin[] = { + 0x90, 0x64, 0xd7, 0x26, 0xc2, 0x45, 0x5c, 0x2f, 0xf0, 0x3c, 0x84, 0x2e, + 0x7e, 0xe4, 0x8d, 0xe2, 0x46, 0x3e, 0xe0, 0x0c, 0xe9, 0x7e, 0x31, 0x76, + 0x6f, 0x41, 0xb3, 0xc5, 0x1a, 0x6a, 0x73, 0x55, 0x9f, 0x60, 0xe2, 0xef, + 0x21, 0x12, 0xbd, 0xf5, 0x58, 0xc4, 0xca, 0x33, 0x25, 0xc1, 0xe6, 0x50, +}; +static const unsigned char kat4316_nonce[] = {0}; +static const unsigned char kat4316_persstr[] = { + 0x45, 0x69, 0x6a, 0x91, 0xe7, 0x9c, 0x49, 0xa6, 0x53, 0x0c, 0x9d, 0xb1, + 0x9d, 0x06, 0x80, 0x5b, 0xbb, 0x21, 0xc4, 0xa3, 0x30, 0xab, 0xb5, 0x91, + 0xca, 0xe8, 0x0f, 0xb9, 0x8c, 0xdf, 0x01, 0x15, 0x0c, 0x24, 0x47, 0x71, + 0xee, 0x45, 0x88, 0xab, 0xba, 0xdd, 0xd7, 0xfd, 0x91, 0xd6, 0xd6, 0x9d, +}; +static const unsigned char kat4316_entropyinpr1[] = { + 0xbd, 0xbb, 0xad, 0xb3, 0x34, 0xd2, 0x7c, 0xf1, 0x49, 0x39, 0x3c, 0x6c, + 0x57, 0x47, 0xf3, 0xb3, 0x8e, 0xd8, 0xca, 0x41, 0x57, 0x2e, 0xff, 0xfd, + 0x2f, 0x24, 0x1f, 0x8d, 0x68, 0xa5, 0x18, 0xc3, 0x8f, 0xa6, 0x9c, 0x2a, + 0x3f, 0x53, 0xf2, 0xe6, 0xb2, 0x89, 0xb5, 0xab, 0x61, 0x33, 0xa2, 0xd8, +}; +static const unsigned char kat4316_addinpr1[] = { + 0x6f, 0x1c, 0x7e, 0xe9, 0xa8, 0x4d, 0x5d, 0x23, 0x8f, 0xef, 0x80, 0x6c, + 0xab, 0x76, 0x5a, 0xa5, 0x73, 0x97, 0xd0, 0xa9, 0x84, 0x31, 0xc3, 0x0e, + 0xfd, 0x05, 0xe9, 0x57, 0x94, 0x4c, 0x6a, 0xf5, 0x93, 0xca, 0x74, 0xab, + 0xb9, 0xd6, 0x5b, 0x58, 0xd5, 0x67, 0xd6, 0x34, 0xab, 0x8c, 0xa0, 0x33, +}; +static const unsigned char kat4316_entropyinpr2[] = { + 0x30, 0x58, 0x5b, 0xae, 0xd3, 0xca, 0x02, 0x3f, 0xd2, 0x20, 0x3a, 0x58, + 0x35, 0x4f, 0xe9, 0xd5, 0x5b, 0xc8, 0x53, 0x3f, 0x39, 0xdb, 0xe3, 0x7a, + 0x74, 0xf4, 0x3a, 0x01, 0xe5, 0xf0, 0x93, 0xa7, 0xd9, 0x52, 0x24, 0x2e, + 0x8a, 0x20, 0xaf, 0x3a, 0xb6, 0xf5, 0xa8, 0x84, 0x45, 0xdb, 0xd9, 0x44, +}; +static const unsigned char kat4316_addinpr2[] = { + 0x30, 0x25, 0xd1, 0xdd, 0x9e, 0x8b, 0x89, 0x72, 0xba, 0x7d, 0x51, 0xb2, + 0x09, 0xa7, 0xea, 0x38, 0xa9, 0x82, 0xbc, 0xe7, 0xa2, 0xe5, 0x90, 0x76, + 0x49, 0x63, 0x80, 0xfd, 0xe4, 0x97, 0x2d, 0x5a, 0x07, 0x47, 0x1b, 0xa7, + 0x70, 0x42, 0x05, 0xc4, 0xc0, 0x31, 0xd8, 0xe0, 0x41, 0x57, 0x5f, 0xac, +}; +static const unsigned char kat4316_retbits[] = { + 0x47, 0xd5, 0x41, 0x6e, 0x0e, 0x21, 0xb9, 0xbc, 0x9d, 0x4a, 0x69, 0x0a, + 0xc1, 0x93, 0x19, 0xb5, 0xf4, 0x5a, 0x23, 0x1c, 0x36, 0x64, 0xb7, 0x04, + 0xd5, 0xf4, 0x8d, 0x82, 0xd4, 0x7e, 0xf5, 0x9c, 0xd2, 0xc2, 0x81, 0xb7, + 0x89, 0xd7, 0x13, 0x4c, 0x2a, 0x2a, 0x97, 0xf4, 0x5f, 0x5f, 0x84, 0xbf, + 0xe1, 0xec, 0x4f, 0x12, 0x84, 0xaa, 0x8e, 0x02, 0x87, 0x98, 0x86, 0xdc, + 0xd2, 0xea, 0x55, 0x81, +}; +static const struct drbg_kat_pr_true kat4316_t = { + 10, kat4316_entropyin, kat4316_nonce, kat4316_persstr, + kat4316_entropyinpr1, kat4316_addinpr1, kat4316_entropyinpr2, + kat4316_addinpr2, kat4316_retbits +}; +static const struct drbg_kat kat4316 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4316_t +}; + +static const unsigned char kat4317_entropyin[] = { + 0x0d, 0xdd, 0x70, 0xf8, 0x96, 0x8c, 0x35, 0x9a, 0xff, 0xa0, 0xe4, 0xba, + 0x9c, 0x6f, 0x22, 0x9b, 0x35, 0x35, 0x5e, 0x09, 0x1a, 0xae, 0xf3, 0x9f, + 0x1a, 0x7c, 0x99, 0x7c, 0xb9, 0x81, 0x94, 0x38, 0x63, 0x34, 0x32, 0xac, + 0x01, 0x66, 0x2f, 0xbd, 0x59, 0x01, 0x7d, 0xfc, 0xd0, 0x2b, 0x1f, 0x65, +}; +static const unsigned char kat4317_nonce[] = {0}; +static const unsigned char kat4317_persstr[] = { + 0xdb, 0x86, 0xbc, 0x6b, 0xdd, 0x84, 0xc3, 0xf6, 0xcb, 0xc1, 0xea, 0xc5, + 0x2d, 0xda, 0x93, 0x0c, 0xb8, 0x50, 0x4e, 0x89, 0x40, 0xf0, 0xdb, 0x5b, + 0x01, 0x23, 0x39, 0x1a, 0xb4, 0x21, 0xd1, 0x6d, 0xc5, 0x5f, 0x47, 0xf6, + 0x42, 0x2c, 0x28, 0x0b, 0x77, 0x23, 0x90, 0x3c, 0x29, 0x60, 0x46, 0x70, +}; +static const unsigned char kat4317_entropyinpr1[] = { + 0x70, 0x64, 0xeb, 0x18, 0x0e, 0x86, 0xba, 0x63, 0x1c, 0x24, 0xcc, 0xbd, + 0x63, 0x2b, 0xfe, 0xc8, 0x69, 0xcd, 0xf0, 0xa0, 0xb7, 0xaa, 0xe3, 0xe6, + 0x85, 0xa3, 0x3e, 0xb8, 0x08, 0x93, 0x5d, 0x25, 0x8b, 0xc7, 0xe6, 0x9f, + 0xa7, 0xf1, 0x57, 0xeb, 0x6c, 0x97, 0x47, 0x4e, 0x85, 0x88, 0x41, 0xdd, +}; +static const unsigned char kat4317_addinpr1[] = { + 0x79, 0x79, 0x33, 0x80, 0x11, 0x14, 0xb3, 0x69, 0xb4, 0xa3, 0x6b, 0x36, + 0xcf, 0x84, 0x70, 0xda, 0xb2, 0xd4, 0xc0, 0x00, 0xc6, 0x3f, 0x86, 0x06, + 0xba, 0x7a, 0x14, 0x85, 0x77, 0x5f, 0x9d, 0x77, 0x0f, 0x37, 0x3c, 0x1b, + 0x2a, 0xe1, 0xe2, 0x0b, 0xa1, 0x4c, 0x1b, 0xf5, 0x75, 0xd0, 0xd8, 0xf2, +}; +static const unsigned char kat4317_entropyinpr2[] = { + 0xa2, 0xe4, 0x88, 0x43, 0xd5, 0x9a, 0xbf, 0xa3, 0x32, 0xf9, 0x9f, 0x8f, + 0x24, 0x50, 0xe8, 0xe7, 0x26, 0x5e, 0xa0, 0x08, 0xe7, 0xa7, 0x5c, 0x99, + 0x05, 0x1a, 0xd6, 0x5f, 0xcd, 0x38, 0xed, 0x95, 0xa2, 0x03, 0xa7, 0xc7, + 0x03, 0x12, 0xe0, 0x09, 0xbf, 0xa1, 0xa9, 0x34, 0x79, 0xa2, 0xaf, 0x3a, +}; +static const unsigned char kat4317_addinpr2[] = { + 0x70, 0x98, 0xea, 0xe9, 0x8b, 0x98, 0x34, 0x5f, 0x67, 0x54, 0xc9, 0xfb, + 0x48, 0x6a, 0xcd, 0x1b, 0x7a, 0xe0, 0x20, 0x70, 0x19, 0x72, 0x5f, 0xdf, + 0xeb, 0x89, 0xe0, 0x5e, 0x7f, 0xa9, 0x0d, 0x15, 0xcb, 0x79, 0xb5, 0x45, + 0xaa, 0x99, 0x5a, 0xce, 0xdb, 0xa4, 0x2b, 0x6d, 0xf5, 0xa1, 0xc8, 0x90, +}; +static const unsigned char kat4317_retbits[] = { + 0xdf, 0xc7, 0x66, 0x0a, 0xca, 0x6c, 0x7b, 0x99, 0x58, 0x44, 0x98, 0x5f, + 0xc4, 0x00, 0xf4, 0x83, 0x0a, 0x02, 0xc4, 0xdc, 0x51, 0x81, 0xd4, 0xa0, + 0x64, 0xe3, 0x37, 0x34, 0xc2, 0x87, 0x85, 0x39, 0x81, 0x3e, 0xe1, 0x82, + 0xdc, 0x7a, 0x4f, 0xef, 0x1d, 0x94, 0x62, 0xdc, 0xe1, 0x9e, 0x01, 0x2b, + 0x3d, 0x5c, 0x97, 0x1e, 0xa1, 0x75, 0x1d, 0x56, 0xed, 0x35, 0x9d, 0x70, + 0x6a, 0xe3, 0xa3, 0x69, +}; +static const struct drbg_kat_pr_true kat4317_t = { + 11, kat4317_entropyin, kat4317_nonce, kat4317_persstr, + kat4317_entropyinpr1, kat4317_addinpr1, kat4317_entropyinpr2, + kat4317_addinpr2, kat4317_retbits +}; +static const struct drbg_kat kat4317 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4317_t +}; + +static const unsigned char kat4318_entropyin[] = { + 0xb4, 0x02, 0xc6, 0xe8, 0x20, 0x4e, 0xce, 0xed, 0x81, 0xec, 0x53, 0x46, + 0x8e, 0xae, 0x4b, 0x25, 0xcc, 0xf6, 0xcf, 0xc3, 0xe3, 0xeb, 0xe0, 0xe5, + 0x9b, 0x87, 0xcc, 0x07, 0x52, 0x03, 0xef, 0xad, 0xb7, 0xe9, 0x81, 0x12, + 0xc5, 0xdf, 0xc2, 0xcd, 0xb7, 0xe5, 0x5f, 0xa5, 0x7b, 0x09, 0x95, 0xd4, +}; +static const unsigned char kat4318_nonce[] = {0}; +static const unsigned char kat4318_persstr[] = { + 0xfa, 0x2e, 0x8c, 0x7a, 0xe9, 0x54, 0x94, 0x45, 0x57, 0xb3, 0xcd, 0xea, + 0x7b, 0x39, 0x6c, 0x96, 0x20, 0x30, 0x3a, 0x5d, 0x5f, 0x74, 0x9d, 0x22, + 0xaf, 0x03, 0x81, 0x5d, 0x88, 0xe7, 0x48, 0xb1, 0x56, 0x52, 0x11, 0xf6, + 0xae, 0x7b, 0x0c, 0x85, 0xc8, 0x4b, 0xdb, 0x0b, 0x72, 0x40, 0x5e, 0x5b, +}; +static const unsigned char kat4318_entropyinpr1[] = { + 0xd9, 0x54, 0x11, 0x03, 0x11, 0x0d, 0xf3, 0xa6, 0xd2, 0x85, 0x2c, 0x76, + 0x8c, 0x1b, 0x31, 0x2d, 0x2c, 0xd4, 0xe5, 0x11, 0xb3, 0x1b, 0xc7, 0x70, + 0xb7, 0xc1, 0x1f, 0x2b, 0xad, 0x3f, 0x82, 0xe8, 0x95, 0xd5, 0xc2, 0x8c, + 0xc6, 0x8b, 0xf8, 0xb0, 0xcb, 0x9f, 0x19, 0x1a, 0x93, 0xba, 0x2e, 0x9c, +}; +static const unsigned char kat4318_addinpr1[] = { + 0x37, 0x43, 0x25, 0x94, 0x93, 0xfa, 0xfc, 0xa8, 0x38, 0xf3, 0xdf, 0x52, + 0x7d, 0x75, 0xad, 0xe8, 0x3a, 0x0f, 0xbd, 0x6a, 0x6c, 0x1f, 0x79, 0xe2, + 0xf1, 0x40, 0xb0, 0xad, 0xad, 0x9b, 0x42, 0x5e, 0x02, 0xef, 0x80, 0x4a, + 0xdb, 0x84, 0x51, 0x7f, 0x99, 0x36, 0xcb, 0xbe, 0x67, 0x0f, 0x4f, 0xec, +}; +static const unsigned char kat4318_entropyinpr2[] = { + 0x41, 0x7b, 0xfb, 0x46, 0x0c, 0x4e, 0xa3, 0xcd, 0x8a, 0x9e, 0x35, 0x09, + 0x85, 0xab, 0x04, 0xef, 0xfe, 0x9c, 0xef, 0xb5, 0x9c, 0x6e, 0x61, 0x94, + 0xb7, 0x9d, 0x25, 0x2e, 0xea, 0x00, 0x88, 0xd4, 0xd0, 0x7f, 0x9e, 0x5c, + 0x74, 0xca, 0xa3, 0xa3, 0x34, 0xa7, 0x9e, 0x90, 0xad, 0x01, 0xe3, 0x3f, +}; +static const unsigned char kat4318_addinpr2[] = { + 0x9f, 0x90, 0xc6, 0xdb, 0x02, 0x8e, 0x49, 0xea, 0xc2, 0x0b, 0x0c, 0xc2, + 0xdb, 0x9c, 0xe1, 0x0e, 0x41, 0x36, 0x62, 0x1a, 0x8e, 0xbe, 0x26, 0x95, + 0x4e, 0x77, 0xea, 0xcd, 0x08, 0x2c, 0x46, 0x7f, 0x08, 0xdd, 0xfe, 0x31, + 0x3b, 0xce, 0x0b, 0x11, 0x7d, 0x36, 0x95, 0xc3, 0x60, 0x99, 0x95, 0xee, +}; +static const unsigned char kat4318_retbits[] = { + 0xfc, 0xf2, 0xc7, 0x3d, 0xfb, 0x68, 0x49, 0xdf, 0x7f, 0x0a, 0xab, 0xaf, + 0x41, 0xcd, 0x8f, 0x19, 0x7a, 0xde, 0x73, 0xf6, 0x40, 0x65, 0x6e, 0x5e, + 0x31, 0x00, 0x90, 0xd1, 0x3b, 0x58, 0xce, 0x24, 0x6c, 0x5b, 0xf0, 0xa2, + 0xfc, 0xb9, 0xec, 0x8e, 0xc1, 0xce, 0x52, 0x50, 0xee, 0xc3, 0x4a, 0x39, + 0x0d, 0x06, 0x17, 0x9e, 0x89, 0xb2, 0x52, 0xd7, 0x57, 0x4c, 0x5a, 0x8a, + 0x52, 0x8a, 0x3a, 0x45, +}; +static const struct drbg_kat_pr_true kat4318_t = { + 12, kat4318_entropyin, kat4318_nonce, kat4318_persstr, + kat4318_entropyinpr1, kat4318_addinpr1, kat4318_entropyinpr2, + kat4318_addinpr2, kat4318_retbits +}; +static const struct drbg_kat kat4318 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4318_t +}; + +static const unsigned char kat4319_entropyin[] = { + 0xd8, 0x2f, 0x8d, 0x6a, 0x96, 0xfa, 0x88, 0xc4, 0xf7, 0x36, 0x62, 0x26, + 0x91, 0xf9, 0x66, 0x60, 0x6a, 0xf4, 0x19, 0x3d, 0x8e, 0x09, 0xa7, 0xcb, + 0x80, 0xcc, 0x3a, 0x5a, 0x94, 0x36, 0x97, 0x19, 0x4c, 0xca, 0xea, 0x0f, + 0x83, 0x26, 0xff, 0x4e, 0x6f, 0xaf, 0xcf, 0xcc, 0x6d, 0xf2, 0x0d, 0x15, +}; +static const unsigned char kat4319_nonce[] = {0}; +static const unsigned char kat4319_persstr[] = { + 0x35, 0xf2, 0x25, 0x6c, 0x8b, 0x1a, 0x18, 0x65, 0x9f, 0xcb, 0xf7, 0x37, + 0x8a, 0x8f, 0x8f, 0x2f, 0xd3, 0xae, 0x20, 0x81, 0x87, 0xe1, 0xf6, 0xb8, + 0xf9, 0x98, 0xe9, 0x82, 0x40, 0x7a, 0xab, 0x6a, 0x12, 0xb2, 0xb7, 0xbb, + 0x6a, 0x6e, 0xb3, 0x7e, 0x77, 0x88, 0xf6, 0x50, 0x67, 0x9d, 0x61, 0xcb, +}; +static const unsigned char kat4319_entropyinpr1[] = { + 0xaf, 0x13, 0xfc, 0x68, 0x12, 0xb0, 0x98, 0x32, 0xf2, 0x8b, 0x54, 0xd6, + 0x69, 0x43, 0x25, 0x51, 0xb7, 0xa2, 0xb0, 0xb9, 0x83, 0x67, 0xb6, 0x61, + 0x60, 0x01, 0xbb, 0xed, 0x2b, 0x1f, 0x91, 0x97, 0x61, 0x2d, 0x11, 0xb0, + 0x15, 0x69, 0x8e, 0x06, 0x1d, 0x70, 0x1e, 0xd9, 0x5f, 0x31, 0xab, 0x8f, +}; +static const unsigned char kat4319_addinpr1[] = { + 0xf7, 0x31, 0x74, 0x06, 0x93, 0x98, 0xdd, 0xd8, 0xc2, 0x6e, 0x4c, 0x69, + 0x05, 0xc7, 0x0d, 0x09, 0xeb, 0x2c, 0x6b, 0xa9, 0x5c, 0xda, 0x87, 0x90, + 0x88, 0xea, 0xc2, 0x72, 0x5c, 0xc2, 0x0d, 0xdb, 0xa4, 0xb4, 0x23, 0xe0, + 0xff, 0x51, 0xa0, 0xf5, 0x12, 0xdd, 0xad, 0xb9, 0x16, 0xec, 0x60, 0x62, +}; +static const unsigned char kat4319_entropyinpr2[] = { + 0xcc, 0xe4, 0x4c, 0x6d, 0x3c, 0x45, 0x74, 0xf4, 0x87, 0x64, 0x53, 0x20, + 0x56, 0x79, 0xf0, 0xc2, 0x76, 0x84, 0x72, 0xa9, 0x47, 0x78, 0xec, 0x4f, + 0x03, 0x85, 0x1e, 0x36, 0x9a, 0x62, 0x33, 0x8c, 0x85, 0x20, 0xcc, 0x53, + 0xf3, 0x16, 0x30, 0xf6, 0x62, 0x87, 0x9d, 0x70, 0xd6, 0xe9, 0x3f, 0x74, +}; +static const unsigned char kat4319_addinpr2[] = { + 0x58, 0x72, 0xb2, 0xab, 0x09, 0xe8, 0x37, 0x20, 0x04, 0x25, 0x3a, 0xa2, + 0x9b, 0xf5, 0xca, 0x82, 0x0b, 0xc8, 0x5c, 0x2a, 0x01, 0xcf, 0x31, 0x72, + 0x15, 0xfc, 0x97, 0xba, 0xdf, 0x81, 0x4f, 0xbe, 0xe3, 0xe0, 0x26, 0xd3, + 0xd3, 0xa5, 0x24, 0xad, 0xe8, 0x8c, 0xf9, 0x72, 0x08, 0x36, 0x69, 0x47, +}; +static const unsigned char kat4319_retbits[] = { + 0x9a, 0x19, 0xf4, 0x2e, 0xfe, 0xdf, 0x09, 0xef, 0x0f, 0xdd, 0x24, 0xe7, + 0x21, 0x8f, 0xb5, 0xd5, 0xe7, 0xac, 0xcd, 0x7a, 0x36, 0x42, 0xb3, 0x6a, + 0x84, 0x10, 0x00, 0x3a, 0x49, 0x38, 0x55, 0x48, 0xc1, 0xc7, 0x2e, 0x6f, + 0xeb, 0x0e, 0x30, 0x5e, 0x9c, 0x2a, 0x3f, 0x35, 0x29, 0xf8, 0x11, 0x0e, + 0x08, 0x4f, 0x02, 0x80, 0x8d, 0xf1, 0xe0, 0x87, 0x4b, 0x10, 0xdd, 0xe2, + 0xf0, 0xa9, 0x2f, 0x52, +}; +static const struct drbg_kat_pr_true kat4319_t = { + 13, kat4319_entropyin, kat4319_nonce, kat4319_persstr, + kat4319_entropyinpr1, kat4319_addinpr1, kat4319_entropyinpr2, + kat4319_addinpr2, kat4319_retbits +}; +static const struct drbg_kat kat4319 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4319_t +}; + +static const unsigned char kat4320_entropyin[] = { + 0x5a, 0x6e, 0x33, 0xd1, 0x56, 0x67, 0x27, 0x28, 0x14, 0xb1, 0xb8, 0x3e, + 0x37, 0x24, 0xf9, 0x95, 0xaf, 0x0f, 0xb0, 0x5c, 0x24, 0x72, 0x03, 0xc3, + 0x4a, 0x07, 0xa6, 0x74, 0x36, 0xe7, 0xde, 0xdc, 0xd7, 0x17, 0xa2, 0x4c, + 0xa4, 0xa9, 0xd9, 0xf9, 0xd4, 0x7a, 0x6b, 0x6b, 0x84, 0xb6, 0x3b, 0x88, +}; +static const unsigned char kat4320_nonce[] = {0}; +static const unsigned char kat4320_persstr[] = { + 0xf3, 0xfe, 0x7a, 0xd7, 0xd0, 0xd6, 0xb8, 0x60, 0x93, 0x12, 0xf0, 0x49, + 0xf7, 0x5a, 0x2e, 0x9c, 0xe6, 0x43, 0xc9, 0x35, 0xd8, 0x2a, 0xce, 0x41, + 0xdb, 0xa5, 0xb0, 0xc1, 0xc9, 0x85, 0x68, 0x43, 0x28, 0xfe, 0x31, 0xc4, + 0xe7, 0x7d, 0xb6, 0x0f, 0x25, 0x14, 0x38, 0xed, 0x74, 0x83, 0xef, 0x19, +}; +static const unsigned char kat4320_entropyinpr1[] = { + 0xb4, 0xe1, 0x56, 0xfe, 0x5a, 0x63, 0x56, 0xcf, 0xcb, 0x2c, 0xbb, 0x79, + 0xa1, 0x81, 0xe4, 0x0a, 0x1d, 0x8f, 0xd0, 0xe1, 0x0f, 0xc4, 0x77, 0x58, + 0x93, 0xb8, 0x51, 0x32, 0xed, 0xe0, 0xca, 0x22, 0x26, 0x8e, 0xad, 0x5a, + 0x40, 0xb6, 0xde, 0x69, 0x84, 0xce, 0xe2, 0xfc, 0xa6, 0x2f, 0xdb, 0xee, +}; +static const unsigned char kat4320_addinpr1[] = { + 0x56, 0x1d, 0x2a, 0x23, 0x52, 0xab, 0x0e, 0x73, 0xf3, 0xec, 0x11, 0x35, + 0xe4, 0xf2, 0xdd, 0x22, 0x6d, 0x5f, 0x3e, 0x4b, 0xc3, 0xc4, 0xd8, 0xc4, + 0x6d, 0xe8, 0x66, 0x44, 0x65, 0x99, 0x44, 0x6d, 0x0f, 0x15, 0x8b, 0xda, + 0x30, 0xc3, 0xee, 0xc2, 0x03, 0x3d, 0xbe, 0x09, 0x92, 0x4c, 0x94, 0xb1, +}; +static const unsigned char kat4320_entropyinpr2[] = { + 0xd0, 0x04, 0xfa, 0x7a, 0xe5, 0x59, 0x65, 0x6f, 0x6a, 0x8f, 0x85, 0x25, + 0xc6, 0xe5, 0x5d, 0x24, 0x5c, 0x8d, 0x7f, 0x58, 0x0c, 0xfe, 0x63, 0xba, + 0x84, 0x57, 0x5c, 0x5b, 0x6e, 0xf8, 0xbb, 0xf6, 0x13, 0x0f, 0xda, 0x8f, + 0x01, 0xfd, 0x87, 0x30, 0x79, 0x23, 0xe0, 0x63, 0x9a, 0x23, 0xf4, 0xe8, +}; +static const unsigned char kat4320_addinpr2[] = { + 0x1f, 0xc6, 0x76, 0x04, 0x93, 0x0d, 0xec, 0xe4, 0x93, 0x7f, 0x2b, 0x01, + 0xaa, 0x4c, 0x44, 0xeb, 0x63, 0x70, 0xa5, 0xfb, 0xe1, 0xe1, 0x68, 0xa8, + 0x4c, 0x26, 0xfa, 0x3c, 0x6d, 0xd0, 0xfd, 0xa4, 0xe2, 0x07, 0x16, 0x96, + 0xe3, 0x24, 0x6d, 0x34, 0x85, 0xf4, 0xd5, 0xf1, 0x9c, 0x6b, 0x18, 0x53, +}; +static const unsigned char kat4320_retbits[] = { + 0x65, 0xfa, 0x1b, 0x5c, 0xd3, 0xbc, 0x6f, 0x0a, 0x6a, 0x89, 0x90, 0x14, + 0xf8, 0xdd, 0x94, 0xc6, 0x24, 0xcb, 0xd6, 0xde, 0xef, 0xa5, 0x0b, 0x3f, + 0x65, 0xa1, 0x06, 0x7a, 0x1a, 0xfb, 0x95, 0x2f, 0x13, 0x4f, 0xf7, 0x33, + 0x35, 0x81, 0x84, 0x33, 0x52, 0x60, 0xd2, 0x85, 0xc1, 0x76, 0x71, 0x8f, + 0xcc, 0x58, 0xf0, 0xd2, 0x82, 0xa2, 0x48, 0x11, 0xb8, 0x60, 0x8f, 0x3d, + 0x75, 0x3d, 0xe0, 0x68, +}; +static const struct drbg_kat_pr_true kat4320_t = { + 14, kat4320_entropyin, kat4320_nonce, kat4320_persstr, + kat4320_entropyinpr1, kat4320_addinpr1, kat4320_entropyinpr2, + kat4320_addinpr2, kat4320_retbits +}; +static const struct drbg_kat kat4320 = { + PR_TRUE, NO_DF, NID_aes_256_ctr, 48, 0, 48, 48, 64, &kat4320_t +}; + +const struct drbg_kat *drbg_test[] = { + &kat1, &kat2, &kat3, &kat4, &kat5, &kat6, &kat7, + &kat8, &kat9, &kat10, &kat11, &kat12, &kat13, &kat14, + &kat15, &kat16, &kat17, &kat18, &kat19, &kat20, &kat21, + &kat22, &kat23, &kat24, &kat25, &kat26, &kat27, &kat28, + &kat29, &kat30, &kat31, &kat32, &kat33, &kat34, &kat35, + &kat36, &kat37, &kat38, &kat39, &kat40, &kat41, &kat42, + &kat43, &kat44, &kat45, &kat46, &kat47, &kat48, &kat49, + &kat50, &kat51, &kat52, &kat53, &kat54, &kat55, &kat56, + &kat57, &kat58, &kat59, &kat60, &kat61, &kat62, &kat63, + &kat64, &kat65, &kat66, &kat67, &kat68, &kat69, &kat70, + &kat71, &kat72, &kat73, &kat74, &kat75, &kat76, &kat77, + &kat78, &kat79, &kat80, &kat81, &kat82, &kat83, &kat84, + &kat85, &kat86, &kat87, &kat88, &kat89, &kat90, &kat91, + &kat92, &kat93, &kat94, &kat95, &kat96, &kat97, &kat98, + &kat99, &kat100, &kat101, &kat102, &kat103, &kat104, &kat105, + &kat106, &kat107, &kat108, &kat109, &kat110, &kat111, &kat112, + &kat113, &kat114, &kat115, &kat116, &kat117, &kat118, &kat119, + &kat120, &kat121, &kat122, &kat123, &kat124, &kat125, &kat126, + &kat127, &kat128, &kat129, &kat130, &kat131, &kat132, &kat133, + &kat134, &kat135, &kat136, &kat137, &kat138, &kat139, &kat140, + &kat141, &kat142, &kat143, &kat144, &kat145, &kat146, &kat147, + &kat148, &kat149, &kat150, &kat151, &kat152, &kat153, &kat154, + &kat155, &kat156, &kat157, &kat158, &kat159, &kat160, &kat161, + &kat162, &kat163, &kat164, &kat165, &kat166, &kat167, &kat168, + &kat169, &kat170, &kat171, &kat172, &kat173, &kat174, &kat175, + &kat176, &kat177, &kat178, &kat179, &kat180, &kat181, &kat182, + &kat183, &kat184, &kat185, &kat186, &kat187, &kat188, &kat189, + &kat190, &kat191, &kat192, &kat193, &kat194, &kat195, &kat196, + &kat197, &kat198, &kat199, &kat200, &kat201, &kat202, &kat203, + &kat204, &kat205, &kat206, &kat207, &kat208, &kat209, &kat210, + &kat211, &kat212, &kat213, &kat214, &kat215, &kat216, &kat217, + &kat218, &kat219, &kat220, &kat221, &kat222, &kat223, &kat224, + &kat225, &kat226, &kat227, &kat228, &kat229, &kat230, &kat231, + &kat232, &kat233, &kat234, &kat235, &kat236, &kat237, &kat238, + &kat239, &kat240, &kat241, &kat242, &kat243, &kat244, &kat245, + &kat246, &kat247, &kat248, &kat249, &kat250, &kat251, &kat252, + &kat253, &kat254, &kat255, &kat256, &kat257, &kat258, &kat259, + &kat260, &kat261, &kat262, &kat263, &kat264, &kat265, &kat266, + &kat267, &kat268, &kat269, &kat270, &kat271, &kat272, &kat273, + &kat274, &kat275, &kat276, &kat277, &kat278, &kat279, &kat280, + &kat281, &kat282, &kat283, &kat284, &kat285, &kat286, &kat287, + &kat288, &kat289, &kat290, &kat291, &kat292, &kat293, &kat294, + &kat295, &kat296, &kat297, &kat298, &kat299, &kat300, &kat301, + &kat302, &kat303, &kat304, &kat305, &kat306, &kat307, &kat308, + &kat309, &kat310, &kat311, &kat312, &kat313, &kat314, &kat315, + &kat316, &kat317, &kat318, &kat319, &kat320, &kat321, &kat322, + &kat323, &kat324, &kat325, &kat326, &kat327, &kat328, &kat329, + &kat330, &kat331, &kat332, &kat333, &kat334, &kat335, &kat336, + &kat337, &kat338, &kat339, &kat340, &kat341, &kat342, &kat343, + &kat344, &kat345, &kat346, &kat347, &kat348, &kat349, &kat350, + &kat351, &kat352, &kat353, &kat354, &kat355, &kat356, &kat357, + &kat358, &kat359, &kat360, &kat361, &kat362, &kat363, &kat364, + &kat365, &kat366, &kat367, &kat368, &kat369, &kat370, &kat371, + &kat372, &kat373, &kat374, &kat375, &kat376, &kat377, &kat378, + &kat379, &kat380, &kat381, &kat382, &kat383, &kat384, &kat385, + &kat386, &kat387, &kat388, &kat389, &kat390, &kat391, &kat392, + &kat393, &kat394, &kat395, &kat396, &kat397, &kat398, &kat399, + &kat400, &kat401, &kat402, &kat403, &kat404, &kat405, &kat406, + &kat407, &kat408, &kat409, &kat410, &kat411, &kat412, &kat413, + &kat414, &kat415, &kat416, &kat417, &kat418, &kat419, &kat420, + &kat421, &kat422, &kat423, &kat424, &kat425, &kat426, &kat427, + &kat428, &kat429, &kat430, &kat431, &kat432, &kat433, &kat434, + &kat435, &kat436, &kat437, &kat438, &kat439, &kat440, &kat441, + &kat442, &kat443, &kat444, &kat445, &kat446, &kat447, &kat448, + &kat449, &kat450, &kat451, &kat452, &kat453, &kat454, &kat455, + &kat456, &kat457, &kat458, &kat459, &kat460, &kat461, &kat462, + &kat463, &kat464, &kat465, &kat466, &kat467, &kat468, &kat469, + &kat470, &kat471, &kat472, &kat473, &kat474, &kat475, &kat476, + &kat477, &kat478, &kat479, &kat480, &kat481, &kat482, &kat483, + &kat484, &kat485, &kat486, &kat487, &kat488, &kat489, &kat490, + &kat491, &kat492, &kat493, &kat494, &kat495, &kat496, &kat497, + &kat498, &kat499, &kat500, &kat501, &kat502, &kat503, &kat504, + &kat505, &kat506, &kat507, &kat508, &kat509, &kat510, &kat511, + &kat512, &kat513, &kat514, &kat515, &kat516, &kat517, &kat518, + &kat519, &kat520, &kat521, &kat522, &kat523, &kat524, &kat525, + &kat526, &kat527, &kat528, &kat529, &kat530, &kat531, &kat532, + &kat533, &kat534, &kat535, &kat536, &kat537, &kat538, &kat539, + &kat540, &kat541, &kat542, &kat543, &kat544, &kat545, &kat546, + &kat547, &kat548, &kat549, &kat550, &kat551, &kat552, &kat553, + &kat554, &kat555, &kat556, &kat557, &kat558, &kat559, &kat560, + &kat561, &kat562, &kat563, &kat564, &kat565, &kat566, &kat567, + &kat568, &kat569, &kat570, &kat571, &kat572, &kat573, &kat574, + &kat575, &kat576, &kat577, &kat578, &kat579, &kat580, &kat581, + &kat582, &kat583, &kat584, &kat585, &kat586, &kat587, &kat588, + &kat589, &kat590, &kat591, &kat592, &kat593, &kat594, &kat595, + &kat596, &kat597, &kat598, &kat599, &kat600, &kat601, &kat602, + &kat603, &kat604, &kat605, &kat606, &kat607, &kat608, &kat609, + &kat610, &kat611, &kat612, &kat613, &kat614, &kat615, &kat616, + &kat617, &kat618, &kat619, &kat620, &kat621, &kat622, &kat623, + &kat624, &kat625, &kat626, &kat627, &kat628, &kat629, &kat630, + &kat631, &kat632, &kat633, &kat634, &kat635, &kat636, &kat637, + &kat638, &kat639, &kat640, &kat641, &kat642, &kat643, &kat644, + &kat645, &kat646, &kat647, &kat648, &kat649, &kat650, &kat651, + &kat652, &kat653, &kat654, &kat655, &kat656, &kat657, &kat658, + &kat659, &kat660, &kat661, &kat662, &kat663, &kat664, &kat665, + &kat666, &kat667, &kat668, &kat669, &kat670, &kat671, &kat672, + &kat673, &kat674, &kat675, &kat676, &kat677, &kat678, &kat679, + &kat680, &kat681, &kat682, &kat683, &kat684, &kat685, &kat686, + &kat687, &kat688, &kat689, &kat690, &kat691, &kat692, &kat693, + &kat694, &kat695, &kat696, &kat697, &kat698, &kat699, &kat700, + &kat701, &kat702, &kat703, &kat704, &kat705, &kat706, &kat707, + &kat708, &kat709, &kat710, &kat711, &kat712, &kat713, &kat714, + &kat715, &kat716, &kat717, &kat718, &kat719, &kat720, &kat721, + &kat722, &kat723, &kat724, &kat725, &kat726, &kat727, &kat728, + &kat729, &kat730, &kat731, &kat732, &kat733, &kat734, &kat735, + &kat736, &kat737, &kat738, &kat739, &kat740, &kat741, &kat742, + &kat743, &kat744, &kat745, &kat746, &kat747, &kat748, &kat749, + &kat750, &kat751, &kat752, &kat753, &kat754, &kat755, &kat756, + &kat757, &kat758, &kat759, &kat760, &kat761, &kat762, &kat763, + &kat764, &kat765, &kat766, &kat767, &kat768, &kat769, &kat770, + &kat771, &kat772, &kat773, &kat774, &kat775, &kat776, &kat777, + &kat778, &kat779, &kat780, &kat781, &kat782, &kat783, &kat784, + &kat785, &kat786, &kat787, &kat788, &kat789, &kat790, &kat791, + &kat792, &kat793, &kat794, &kat795, &kat796, &kat797, &kat798, + &kat799, &kat800, &kat801, &kat802, &kat803, &kat804, &kat805, + &kat806, &kat807, &kat808, &kat809, &kat810, &kat811, &kat812, + &kat813, &kat814, &kat815, &kat816, &kat817, &kat818, &kat819, + &kat820, &kat821, &kat822, &kat823, &kat824, &kat825, &kat826, + &kat827, &kat828, &kat829, &kat830, &kat831, &kat832, &kat833, + &kat834, &kat835, &kat836, &kat837, &kat838, &kat839, &kat840, + &kat841, &kat842, &kat843, &kat844, &kat845, &kat846, &kat847, + &kat848, &kat849, &kat850, &kat851, &kat852, &kat853, &kat854, + &kat855, &kat856, &kat857, &kat858, &kat859, &kat860, &kat861, + &kat862, &kat863, &kat864, &kat865, &kat866, &kat867, &kat868, + &kat869, &kat870, &kat871, &kat872, &kat873, &kat874, &kat875, + &kat876, &kat877, &kat878, &kat879, &kat880, &kat881, &kat882, + &kat883, &kat884, &kat885, &kat886, &kat887, &kat888, &kat889, + &kat890, &kat891, &kat892, &kat893, &kat894, &kat895, &kat896, + &kat897, &kat898, &kat899, &kat900, &kat901, &kat902, &kat903, + &kat904, &kat905, &kat906, &kat907, &kat908, &kat909, &kat910, + &kat911, &kat912, &kat913, &kat914, &kat915, &kat916, &kat917, + &kat918, &kat919, &kat920, &kat921, &kat922, &kat923, &kat924, + &kat925, &kat926, &kat927, &kat928, &kat929, &kat930, &kat931, + &kat932, &kat933, &kat934, &kat935, &kat936, &kat937, &kat938, + &kat939, &kat940, &kat941, &kat942, &kat943, &kat944, &kat945, + &kat946, &kat947, &kat948, &kat949, &kat950, &kat951, &kat952, + &kat953, &kat954, &kat955, &kat956, &kat957, &kat958, &kat959, + &kat960, &kat961, &kat962, &kat963, &kat964, &kat965, &kat966, + &kat967, &kat968, &kat969, &kat970, &kat971, &kat972, &kat973, + &kat974, &kat975, &kat976, &kat977, &kat978, &kat979, &kat980, + &kat981, &kat982, &kat983, &kat984, &kat985, &kat986, &kat987, + &kat988, &kat989, &kat990, &kat991, &kat992, &kat993, &kat994, + &kat995, &kat996, &kat997, &kat998, &kat999, &kat1000, &kat1001, + &kat1002, &kat1003, &kat1004, &kat1005, &kat1006, &kat1007, &kat1008, + &kat1009, &kat1010, &kat1011, &kat1012, &kat1013, &kat1014, &kat1015, + &kat1016, &kat1017, &kat1018, &kat1019, &kat1020, &kat1021, &kat1022, + &kat1023, &kat1024, &kat1025, &kat1026, &kat1027, &kat1028, &kat1029, + &kat1030, &kat1031, &kat1032, &kat1033, &kat1034, &kat1035, &kat1036, + &kat1037, &kat1038, &kat1039, &kat1040, &kat1041, &kat1042, &kat1043, + &kat1044, &kat1045, &kat1046, &kat1047, &kat1048, &kat1049, &kat1050, + &kat1051, &kat1052, &kat1053, &kat1054, &kat1055, &kat1056, &kat1057, + &kat1058, &kat1059, &kat1060, &kat1061, &kat1062, &kat1063, &kat1064, + &kat1065, &kat1066, &kat1067, &kat1068, &kat1069, &kat1070, &kat1071, + &kat1072, &kat1073, &kat1074, &kat1075, &kat1076, &kat1077, &kat1078, + &kat1079, &kat1080, &kat1081, &kat1082, &kat1083, &kat1084, &kat1085, + &kat1086, &kat1087, &kat1088, &kat1089, &kat1090, &kat1091, &kat1092, + &kat1093, &kat1094, &kat1095, &kat1096, &kat1097, &kat1098, &kat1099, + &kat1100, &kat1101, &kat1102, &kat1103, &kat1104, &kat1105, &kat1106, + &kat1107, &kat1108, &kat1109, &kat1110, &kat1111, &kat1112, &kat1113, + &kat1114, &kat1115, &kat1116, &kat1117, &kat1118, &kat1119, &kat1120, + &kat1121, &kat1122, &kat1123, &kat1124, &kat1125, &kat1126, &kat1127, + &kat1128, &kat1129, &kat1130, &kat1131, &kat1132, &kat1133, &kat1134, + &kat1135, &kat1136, &kat1137, &kat1138, &kat1139, &kat1140, &kat1141, + &kat1142, &kat1143, &kat1144, &kat1145, &kat1146, &kat1147, &kat1148, + &kat1149, &kat1150, &kat1151, &kat1152, &kat1153, &kat1154, &kat1155, + &kat1156, &kat1157, &kat1158, &kat1159, &kat1160, &kat1161, &kat1162, + &kat1163, &kat1164, &kat1165, &kat1166, &kat1167, &kat1168, &kat1169, + &kat1170, &kat1171, &kat1172, &kat1173, &kat1174, &kat1175, &kat1176, + &kat1177, &kat1178, &kat1179, &kat1180, &kat1181, &kat1182, &kat1183, + &kat1184, &kat1185, &kat1186, &kat1187, &kat1188, &kat1189, &kat1190, + &kat1191, &kat1192, &kat1193, &kat1194, &kat1195, &kat1196, &kat1197, + &kat1198, &kat1199, &kat1200, &kat1201, &kat1202, &kat1203, &kat1204, + &kat1205, &kat1206, &kat1207, &kat1208, &kat1209, &kat1210, &kat1211, + &kat1212, &kat1213, &kat1214, &kat1215, &kat1216, &kat1217, &kat1218, + &kat1219, &kat1220, &kat1221, &kat1222, &kat1223, &kat1224, &kat1225, + &kat1226, &kat1227, &kat1228, &kat1229, &kat1230, &kat1231, &kat1232, + &kat1233, &kat1234, &kat1235, &kat1236, &kat1237, &kat1238, &kat1239, + &kat1240, &kat1241, &kat1242, &kat1243, &kat1244, &kat1245, &kat1246, + &kat1247, &kat1248, &kat1249, &kat1250, &kat1251, &kat1252, &kat1253, + &kat1254, &kat1255, &kat1256, &kat1257, &kat1258, &kat1259, &kat1260, + &kat1261, &kat1262, &kat1263, &kat1264, &kat1265, &kat1266, &kat1267, + &kat1268, &kat1269, &kat1270, &kat1271, &kat1272, &kat1273, &kat1274, + &kat1275, &kat1276, &kat1277, &kat1278, &kat1279, &kat1280, &kat1281, + &kat1282, &kat1283, &kat1284, &kat1285, &kat1286, &kat1287, &kat1288, + &kat1289, &kat1290, &kat1291, &kat1292, &kat1293, &kat1294, &kat1295, + &kat1296, &kat1297, &kat1298, &kat1299, &kat1300, &kat1301, &kat1302, + &kat1303, &kat1304, &kat1305, &kat1306, &kat1307, &kat1308, &kat1309, + &kat1310, &kat1311, &kat1312, &kat1313, &kat1314, &kat1315, &kat1316, + &kat1317, &kat1318, &kat1319, &kat1320, &kat1321, &kat1322, &kat1323, + &kat1324, &kat1325, &kat1326, &kat1327, &kat1328, &kat1329, &kat1330, + &kat1331, &kat1332, &kat1333, &kat1334, &kat1335, &kat1336, &kat1337, + &kat1338, &kat1339, &kat1340, &kat1341, &kat1342, &kat1343, &kat1344, + &kat1345, &kat1346, &kat1347, &kat1348, &kat1349, &kat1350, &kat1351, + &kat1352, &kat1353, &kat1354, &kat1355, &kat1356, &kat1357, &kat1358, + &kat1359, &kat1360, &kat1361, &kat1362, &kat1363, &kat1364, &kat1365, + &kat1366, &kat1367, &kat1368, &kat1369, &kat1370, &kat1371, &kat1372, + &kat1373, &kat1374, &kat1375, &kat1376, &kat1377, &kat1378, &kat1379, + &kat1380, &kat1381, &kat1382, &kat1383, &kat1384, &kat1385, &kat1386, + &kat1387, &kat1388, &kat1389, &kat1390, &kat1391, &kat1392, &kat1393, + &kat1394, &kat1395, &kat1396, &kat1397, &kat1398, &kat1399, &kat1400, + &kat1401, &kat1402, &kat1403, &kat1404, &kat1405, &kat1406, &kat1407, + &kat1408, &kat1409, &kat1410, &kat1411, &kat1412, &kat1413, &kat1414, + &kat1415, &kat1416, &kat1417, &kat1418, &kat1419, &kat1420, &kat1421, + &kat1422, &kat1423, &kat1424, &kat1425, &kat1426, &kat1427, &kat1428, + &kat1429, &kat1430, &kat1431, &kat1432, &kat1433, &kat1434, &kat1435, + &kat1436, &kat1437, &kat1438, &kat1439, &kat1440, &kat1441, &kat1442, + &kat1443, &kat1444, &kat1445, &kat1446, &kat1447, &kat1448, &kat1449, + &kat1450, &kat1451, &kat1452, &kat1453, &kat1454, &kat1455, &kat1456, + &kat1457, &kat1458, &kat1459, &kat1460, &kat1461, &kat1462, &kat1463, + &kat1464, &kat1465, &kat1466, &kat1467, &kat1468, &kat1469, &kat1470, + &kat1471, &kat1472, &kat1473, &kat1474, &kat1475, &kat1476, &kat1477, + &kat1478, &kat1479, &kat1480, &kat1481, &kat1482, &kat1483, &kat1484, + &kat1485, &kat1486, &kat1487, &kat1488, &kat1489, &kat1490, &kat1491, + &kat1492, &kat1493, &kat1494, &kat1495, &kat1496, &kat1497, &kat1498, + &kat1499, &kat1500, &kat1501, &kat1502, &kat1503, &kat1504, &kat1505, + &kat1506, &kat1507, &kat1508, &kat1509, &kat1510, &kat1511, &kat1512, + &kat1513, &kat1514, &kat1515, &kat1516, &kat1517, &kat1518, &kat1519, + &kat1520, &kat1521, &kat1522, &kat1523, &kat1524, &kat1525, &kat1526, + &kat1527, &kat1528, &kat1529, &kat1530, &kat1531, &kat1532, &kat1533, + &kat1534, &kat1535, &kat1536, &kat1537, &kat1538, &kat1539, &kat1540, + &kat1541, &kat1542, &kat1543, &kat1544, &kat1545, &kat1546, &kat1547, + &kat1548, &kat1549, &kat1550, &kat1551, &kat1552, &kat1553, &kat1554, + &kat1555, &kat1556, &kat1557, &kat1558, &kat1559, &kat1560, &kat1561, + &kat1562, &kat1563, &kat1564, &kat1565, &kat1566, &kat1567, &kat1568, + &kat1569, &kat1570, &kat1571, &kat1572, &kat1573, &kat1574, &kat1575, + &kat1576, &kat1577, &kat1578, &kat1579, &kat1580, &kat1581, &kat1582, + &kat1583, &kat1584, &kat1585, &kat1586, &kat1587, &kat1588, &kat1589, + &kat1590, &kat1591, &kat1592, &kat1593, &kat1594, &kat1595, &kat1596, + &kat1597, &kat1598, &kat1599, &kat1600, &kat1601, &kat1602, &kat1603, + &kat1604, &kat1605, &kat1606, &kat1607, &kat1608, &kat1609, &kat1610, + &kat1611, &kat1612, &kat1613, &kat1614, &kat1615, &kat1616, &kat1617, + &kat1618, &kat1619, &kat1620, &kat1621, &kat1622, &kat1623, &kat1624, + &kat1625, &kat1626, &kat1627, &kat1628, &kat1629, &kat1630, &kat1631, + &kat1632, &kat1633, &kat1634, &kat1635, &kat1636, &kat1637, &kat1638, + &kat1639, &kat1640, &kat1641, &kat1642, &kat1643, &kat1644, &kat1645, + &kat1646, &kat1647, &kat1648, &kat1649, &kat1650, &kat1651, &kat1652, + &kat1653, &kat1654, &kat1655, &kat1656, &kat1657, &kat1658, &kat1659, + &kat1660, &kat1661, &kat1662, &kat1663, &kat1664, &kat1665, &kat1666, + &kat1667, &kat1668, &kat1669, &kat1670, &kat1671, &kat1672, &kat1673, + &kat1674, &kat1675, &kat1676, &kat1677, &kat1678, &kat1679, &kat1680, + &kat1681, &kat1682, &kat1683, &kat1684, &kat1685, &kat1686, &kat1687, + &kat1688, &kat1689, &kat1690, &kat1691, &kat1692, &kat1693, &kat1694, + &kat1695, &kat1696, &kat1697, &kat1698, &kat1699, &kat1700, &kat1701, + &kat1702, &kat1703, &kat1704, &kat1705, &kat1706, &kat1707, &kat1708, + &kat1709, &kat1710, &kat1711, &kat1712, &kat1713, &kat1714, &kat1715, + &kat1716, &kat1717, &kat1718, &kat1719, &kat1720, &kat1721, &kat1722, + &kat1723, &kat1724, &kat1725, &kat1726, &kat1727, &kat1728, &kat1729, + &kat1730, &kat1731, &kat1732, &kat1733, &kat1734, &kat1735, &kat1736, + &kat1737, &kat1738, &kat1739, &kat1740, &kat1741, &kat1742, &kat1743, + &kat1744, &kat1745, &kat1746, &kat1747, &kat1748, &kat1749, &kat1750, + &kat1751, &kat1752, &kat1753, &kat1754, &kat1755, &kat1756, &kat1757, + &kat1758, &kat1759, &kat1760, &kat1761, &kat1762, &kat1763, &kat1764, + &kat1765, &kat1766, &kat1767, &kat1768, &kat1769, &kat1770, &kat1771, + &kat1772, &kat1773, &kat1774, &kat1775, &kat1776, &kat1777, &kat1778, + &kat1779, &kat1780, &kat1781, &kat1782, &kat1783, &kat1784, &kat1785, + &kat1786, &kat1787, &kat1788, &kat1789, &kat1790, &kat1791, &kat1792, + &kat1793, &kat1794, &kat1795, &kat1796, &kat1797, &kat1798, &kat1799, + &kat1800, &kat1801, &kat1802, &kat1803, &kat1804, &kat1805, &kat1806, + &kat1807, &kat1808, &kat1809, &kat1810, &kat1811, &kat1812, &kat1813, + &kat1814, &kat1815, &kat1816, &kat1817, &kat1818, &kat1819, &kat1820, + &kat1821, &kat1822, &kat1823, &kat1824, &kat1825, &kat1826, &kat1827, + &kat1828, &kat1829, &kat1830, &kat1831, &kat1832, &kat1833, &kat1834, + &kat1835, &kat1836, &kat1837, &kat1838, &kat1839, &kat1840, &kat1841, + &kat1842, &kat1843, &kat1844, &kat1845, &kat1846, &kat1847, &kat1848, + &kat1849, &kat1850, &kat1851, &kat1852, &kat1853, &kat1854, &kat1855, + &kat1856, &kat1857, &kat1858, &kat1859, &kat1860, &kat1861, &kat1862, + &kat1863, &kat1864, &kat1865, &kat1866, &kat1867, &kat1868, &kat1869, + &kat1870, &kat1871, &kat1872, &kat1873, &kat1874, &kat1875, &kat1876, + &kat1877, &kat1878, &kat1879, &kat1880, &kat1881, &kat1882, &kat1883, + &kat1884, &kat1885, &kat1886, &kat1887, &kat1888, &kat1889, &kat1890, + &kat1891, &kat1892, &kat1893, &kat1894, &kat1895, &kat1896, &kat1897, + &kat1898, &kat1899, &kat1900, &kat1901, &kat1902, &kat1903, &kat1904, + &kat1905, &kat1906, &kat1907, &kat1908, &kat1909, &kat1910, &kat1911, + &kat1912, &kat1913, &kat1914, &kat1915, &kat1916, &kat1917, &kat1918, + &kat1919, &kat1920, &kat1921, &kat1922, &kat1923, &kat1924, &kat1925, + &kat1926, &kat1927, &kat1928, &kat1929, &kat1930, &kat1931, &kat1932, + &kat1933, &kat1934, &kat1935, &kat1936, &kat1937, &kat1938, &kat1939, + &kat1940, &kat1941, &kat1942, &kat1943, &kat1944, &kat1945, &kat1946, + &kat1947, &kat1948, &kat1949, &kat1950, &kat1951, &kat1952, &kat1953, + &kat1954, &kat1955, &kat1956, &kat1957, &kat1958, &kat1959, &kat1960, + &kat1961, &kat1962, &kat1963, &kat1964, &kat1965, &kat1966, &kat1967, + &kat1968, &kat1969, &kat1970, &kat1971, &kat1972, &kat1973, &kat1974, + &kat1975, &kat1976, &kat1977, &kat1978, &kat1979, &kat1980, &kat1981, + &kat1982, &kat1983, &kat1984, &kat1985, &kat1986, &kat1987, &kat1988, + &kat1989, &kat1990, &kat1991, &kat1992, &kat1993, &kat1994, &kat1995, + &kat1996, &kat1997, &kat1998, &kat1999, &kat2000, &kat2001, &kat2002, + &kat2003, &kat2004, &kat2005, &kat2006, &kat2007, &kat2008, &kat2009, + &kat2010, &kat2011, &kat2012, &kat2013, &kat2014, &kat2015, &kat2016, + &kat2017, &kat2018, &kat2019, &kat2020, &kat2021, &kat2022, &kat2023, + &kat2024, &kat2025, &kat2026, &kat2027, &kat2028, &kat2029, &kat2030, + &kat2031, &kat2032, &kat2033, &kat2034, &kat2035, &kat2036, &kat2037, + &kat2038, &kat2039, &kat2040, &kat2041, &kat2042, &kat2043, &kat2044, + &kat2045, &kat2046, &kat2047, &kat2048, &kat2049, &kat2050, &kat2051, + &kat2052, &kat2053, &kat2054, &kat2055, &kat2056, &kat2057, &kat2058, + &kat2059, &kat2060, &kat2061, &kat2062, &kat2063, &kat2064, &kat2065, + &kat2066, &kat2067, &kat2068, &kat2069, &kat2070, &kat2071, &kat2072, + &kat2073, &kat2074, &kat2075, &kat2076, &kat2077, &kat2078, &kat2079, + &kat2080, &kat2081, &kat2082, &kat2083, &kat2084, &kat2085, &kat2086, + &kat2087, &kat2088, &kat2089, &kat2090, &kat2091, &kat2092, &kat2093, + &kat2094, &kat2095, &kat2096, &kat2097, &kat2098, &kat2099, &kat2100, + &kat2101, &kat2102, &kat2103, &kat2104, &kat2105, &kat2106, &kat2107, + &kat2108, &kat2109, &kat2110, &kat2111, &kat2112, &kat2113, &kat2114, + &kat2115, &kat2116, &kat2117, &kat2118, &kat2119, &kat2120, &kat2121, + &kat2122, &kat2123, &kat2124, &kat2125, &kat2126, &kat2127, &kat2128, + &kat2129, &kat2130, &kat2131, &kat2132, &kat2133, &kat2134, &kat2135, + &kat2136, &kat2137, &kat2138, &kat2139, &kat2140, &kat2141, &kat2142, + &kat2143, &kat2144, &kat2145, &kat2146, &kat2147, &kat2148, &kat2149, + &kat2150, &kat2151, &kat2152, &kat2153, &kat2154, &kat2155, &kat2156, + &kat2157, &kat2158, &kat2159, &kat2160, &kat2161, &kat2162, &kat2163, + &kat2164, &kat2165, &kat2166, &kat2167, &kat2168, &kat2169, &kat2170, + &kat2171, &kat2172, &kat2173, &kat2174, &kat2175, &kat2176, &kat2177, + &kat2178, &kat2179, &kat2180, &kat2181, &kat2182, &kat2183, &kat2184, + &kat2185, &kat2186, &kat2187, &kat2188, &kat2189, &kat2190, &kat2191, + &kat2192, &kat2193, &kat2194, &kat2195, &kat2196, &kat2197, &kat2198, + &kat2199, &kat2200, &kat2201, &kat2202, &kat2203, &kat2204, &kat2205, + &kat2206, &kat2207, &kat2208, &kat2209, &kat2210, &kat2211, &kat2212, + &kat2213, &kat2214, &kat2215, &kat2216, &kat2217, &kat2218, &kat2219, + &kat2220, &kat2221, &kat2222, &kat2223, &kat2224, &kat2225, &kat2226, + &kat2227, &kat2228, &kat2229, &kat2230, &kat2231, &kat2232, &kat2233, + &kat2234, &kat2235, &kat2236, &kat2237, &kat2238, &kat2239, &kat2240, + &kat2241, &kat2242, &kat2243, &kat2244, &kat2245, &kat2246, &kat2247, + &kat2248, &kat2249, &kat2250, &kat2251, &kat2252, &kat2253, &kat2254, + &kat2255, &kat2256, &kat2257, &kat2258, &kat2259, &kat2260, &kat2261, + &kat2262, &kat2263, &kat2264, &kat2265, &kat2266, &kat2267, &kat2268, + &kat2269, &kat2270, &kat2271, &kat2272, &kat2273, &kat2274, &kat2275, + &kat2276, &kat2277, &kat2278, &kat2279, &kat2280, &kat2281, &kat2282, + &kat2283, &kat2284, &kat2285, &kat2286, &kat2287, &kat2288, &kat2289, + &kat2290, &kat2291, &kat2292, &kat2293, &kat2294, &kat2295, &kat2296, + &kat2297, &kat2298, &kat2299, &kat2300, &kat2301, &kat2302, &kat2303, + &kat2304, &kat2305, &kat2306, &kat2307, &kat2308, &kat2309, &kat2310, + &kat2311, &kat2312, &kat2313, &kat2314, &kat2315, &kat2316, &kat2317, + &kat2318, &kat2319, &kat2320, &kat2321, &kat2322, &kat2323, &kat2324, + &kat2325, &kat2326, &kat2327, &kat2328, &kat2329, &kat2330, &kat2331, + &kat2332, &kat2333, &kat2334, &kat2335, &kat2336, &kat2337, &kat2338, + &kat2339, &kat2340, &kat2341, &kat2342, &kat2343, &kat2344, &kat2345, + &kat2346, &kat2347, &kat2348, &kat2349, &kat2350, &kat2351, &kat2352, + &kat2353, &kat2354, &kat2355, &kat2356, &kat2357, &kat2358, &kat2359, + &kat2360, &kat2361, &kat2362, &kat2363, &kat2364, &kat2365, &kat2366, + &kat2367, &kat2368, &kat2369, &kat2370, &kat2371, &kat2372, &kat2373, + &kat2374, &kat2375, &kat2376, &kat2377, &kat2378, &kat2379, &kat2380, + &kat2381, &kat2382, &kat2383, &kat2384, &kat2385, &kat2386, &kat2387, + &kat2388, &kat2389, &kat2390, &kat2391, &kat2392, &kat2393, &kat2394, + &kat2395, &kat2396, &kat2397, &kat2398, &kat2399, &kat2400, &kat2401, + &kat2402, &kat2403, &kat2404, &kat2405, &kat2406, &kat2407, &kat2408, + &kat2409, &kat2410, &kat2411, &kat2412, &kat2413, &kat2414, &kat2415, + &kat2416, &kat2417, &kat2418, &kat2419, &kat2420, &kat2421, &kat2422, + &kat2423, &kat2424, &kat2425, &kat2426, &kat2427, &kat2428, &kat2429, + &kat2430, &kat2431, &kat2432, &kat2433, &kat2434, &kat2435, &kat2436, + &kat2437, &kat2438, &kat2439, &kat2440, &kat2441, &kat2442, &kat2443, + &kat2444, &kat2445, &kat2446, &kat2447, &kat2448, &kat2449, &kat2450, + &kat2451, &kat2452, &kat2453, &kat2454, &kat2455, &kat2456, &kat2457, + &kat2458, &kat2459, &kat2460, &kat2461, &kat2462, &kat2463, &kat2464, + &kat2465, &kat2466, &kat2467, &kat2468, &kat2469, &kat2470, &kat2471, + &kat2472, &kat2473, &kat2474, &kat2475, &kat2476, &kat2477, &kat2478, + &kat2479, &kat2480, &kat2481, &kat2482, &kat2483, &kat2484, &kat2485, + &kat2486, &kat2487, &kat2488, &kat2489, &kat2490, &kat2491, &kat2492, + &kat2493, &kat2494, &kat2495, &kat2496, &kat2497, &kat2498, &kat2499, + &kat2500, &kat2501, &kat2502, &kat2503, &kat2504, &kat2505, &kat2506, + &kat2507, &kat2508, &kat2509, &kat2510, &kat2511, &kat2512, &kat2513, + &kat2514, &kat2515, &kat2516, &kat2517, &kat2518, &kat2519, &kat2520, + &kat2521, &kat2522, &kat2523, &kat2524, &kat2525, &kat2526, &kat2527, + &kat2528, &kat2529, &kat2530, &kat2531, &kat2532, &kat2533, &kat2534, + &kat2535, &kat2536, &kat2537, &kat2538, &kat2539, &kat2540, &kat2541, + &kat2542, &kat2543, &kat2544, &kat2545, &kat2546, &kat2547, &kat2548, + &kat2549, &kat2550, &kat2551, &kat2552, &kat2553, &kat2554, &kat2555, + &kat2556, &kat2557, &kat2558, &kat2559, &kat2560, &kat2561, &kat2562, + &kat2563, &kat2564, &kat2565, &kat2566, &kat2567, &kat2568, &kat2569, + &kat2570, &kat2571, &kat2572, &kat2573, &kat2574, &kat2575, &kat2576, + &kat2577, &kat2578, &kat2579, &kat2580, &kat2581, &kat2582, &kat2583, + &kat2584, &kat2585, &kat2586, &kat2587, &kat2588, &kat2589, &kat2590, + &kat2591, &kat2592, &kat2593, &kat2594, &kat2595, &kat2596, &kat2597, + &kat2598, &kat2599, &kat2600, &kat2601, &kat2602, &kat2603, &kat2604, + &kat2605, &kat2606, &kat2607, &kat2608, &kat2609, &kat2610, &kat2611, + &kat2612, &kat2613, &kat2614, &kat2615, &kat2616, &kat2617, &kat2618, + &kat2619, &kat2620, &kat2621, &kat2622, &kat2623, &kat2624, &kat2625, + &kat2626, &kat2627, &kat2628, &kat2629, &kat2630, &kat2631, &kat2632, + &kat2633, &kat2634, &kat2635, &kat2636, &kat2637, &kat2638, &kat2639, + &kat2640, &kat2641, &kat2642, &kat2643, &kat2644, &kat2645, &kat2646, + &kat2647, &kat2648, &kat2649, &kat2650, &kat2651, &kat2652, &kat2653, + &kat2654, &kat2655, &kat2656, &kat2657, &kat2658, &kat2659, &kat2660, + &kat2661, &kat2662, &kat2663, &kat2664, &kat2665, &kat2666, &kat2667, + &kat2668, &kat2669, &kat2670, &kat2671, &kat2672, &kat2673, &kat2674, + &kat2675, &kat2676, &kat2677, &kat2678, &kat2679, &kat2680, &kat2681, + &kat2682, &kat2683, &kat2684, &kat2685, &kat2686, &kat2687, &kat2688, + &kat2689, &kat2690, &kat2691, &kat2692, &kat2693, &kat2694, &kat2695, + &kat2696, &kat2697, &kat2698, &kat2699, &kat2700, &kat2701, &kat2702, + &kat2703, &kat2704, &kat2705, &kat2706, &kat2707, &kat2708, &kat2709, + &kat2710, &kat2711, &kat2712, &kat2713, &kat2714, &kat2715, &kat2716, + &kat2717, &kat2718, &kat2719, &kat2720, &kat2721, &kat2722, &kat2723, + &kat2724, &kat2725, &kat2726, &kat2727, &kat2728, &kat2729, &kat2730, + &kat2731, &kat2732, &kat2733, &kat2734, &kat2735, &kat2736, &kat2737, + &kat2738, &kat2739, &kat2740, &kat2741, &kat2742, &kat2743, &kat2744, + &kat2745, &kat2746, &kat2747, &kat2748, &kat2749, &kat2750, &kat2751, + &kat2752, &kat2753, &kat2754, &kat2755, &kat2756, &kat2757, &kat2758, + &kat2759, &kat2760, &kat2761, &kat2762, &kat2763, &kat2764, &kat2765, + &kat2766, &kat2767, &kat2768, &kat2769, &kat2770, &kat2771, &kat2772, + &kat2773, &kat2774, &kat2775, &kat2776, &kat2777, &kat2778, &kat2779, + &kat2780, &kat2781, &kat2782, &kat2783, &kat2784, &kat2785, &kat2786, + &kat2787, &kat2788, &kat2789, &kat2790, &kat2791, &kat2792, &kat2793, + &kat2794, &kat2795, &kat2796, &kat2797, &kat2798, &kat2799, &kat2800, + &kat2801, &kat2802, &kat2803, &kat2804, &kat2805, &kat2806, &kat2807, + &kat2808, &kat2809, &kat2810, &kat2811, &kat2812, &kat2813, &kat2814, + &kat2815, &kat2816, &kat2817, &kat2818, &kat2819, &kat2820, &kat2821, + &kat2822, &kat2823, &kat2824, &kat2825, &kat2826, &kat2827, &kat2828, + &kat2829, &kat2830, &kat2831, &kat2832, &kat2833, &kat2834, &kat2835, + &kat2836, &kat2837, &kat2838, &kat2839, &kat2840, &kat2841, &kat2842, + &kat2843, &kat2844, &kat2845, &kat2846, &kat2847, &kat2848, &kat2849, + &kat2850, &kat2851, &kat2852, &kat2853, &kat2854, &kat2855, &kat2856, + &kat2857, &kat2858, &kat2859, &kat2860, &kat2861, &kat2862, &kat2863, + &kat2864, &kat2865, &kat2866, &kat2867, &kat2868, &kat2869, &kat2870, + &kat2871, &kat2872, &kat2873, &kat2874, &kat2875, &kat2876, &kat2877, + &kat2878, &kat2879, &kat2880, &kat2881, &kat2882, &kat2883, &kat2884, + &kat2885, &kat2886, &kat2887, &kat2888, &kat2889, &kat2890, &kat2891, + &kat2892, &kat2893, &kat2894, &kat2895, &kat2896, &kat2897, &kat2898, + &kat2899, &kat2900, &kat2901, &kat2902, &kat2903, &kat2904, &kat2905, + &kat2906, &kat2907, &kat2908, &kat2909, &kat2910, &kat2911, &kat2912, + &kat2913, &kat2914, &kat2915, &kat2916, &kat2917, &kat2918, &kat2919, + &kat2920, &kat2921, &kat2922, &kat2923, &kat2924, &kat2925, &kat2926, + &kat2927, &kat2928, &kat2929, &kat2930, &kat2931, &kat2932, &kat2933, + &kat2934, &kat2935, &kat2936, &kat2937, &kat2938, &kat2939, &kat2940, + &kat2941, &kat2942, &kat2943, &kat2944, &kat2945, &kat2946, &kat2947, + &kat2948, &kat2949, &kat2950, &kat2951, &kat2952, &kat2953, &kat2954, + &kat2955, &kat2956, &kat2957, &kat2958, &kat2959, &kat2960, &kat2961, + &kat2962, &kat2963, &kat2964, &kat2965, &kat2966, &kat2967, &kat2968, + &kat2969, &kat2970, &kat2971, &kat2972, &kat2973, &kat2974, &kat2975, + &kat2976, &kat2977, &kat2978, &kat2979, &kat2980, &kat2981, &kat2982, + &kat2983, &kat2984, &kat2985, &kat2986, &kat2987, &kat2988, &kat2989, + &kat2990, &kat2991, &kat2992, &kat2993, &kat2994, &kat2995, &kat2996, + &kat2997, &kat2998, &kat2999, &kat3000, &kat3001, &kat3002, &kat3003, + &kat3004, &kat3005, &kat3006, &kat3007, &kat3008, &kat3009, &kat3010, + &kat3011, &kat3012, &kat3013, &kat3014, &kat3015, &kat3016, &kat3017, + &kat3018, &kat3019, &kat3020, &kat3021, &kat3022, &kat3023, &kat3024, + &kat3025, &kat3026, &kat3027, &kat3028, &kat3029, &kat3030, &kat3031, + &kat3032, &kat3033, &kat3034, &kat3035, &kat3036, &kat3037, &kat3038, + &kat3039, &kat3040, &kat3041, &kat3042, &kat3043, &kat3044, &kat3045, + &kat3046, &kat3047, &kat3048, &kat3049, &kat3050, &kat3051, &kat3052, + &kat3053, &kat3054, &kat3055, &kat3056, &kat3057, &kat3058, &kat3059, + &kat3060, &kat3061, &kat3062, &kat3063, &kat3064, &kat3065, &kat3066, + &kat3067, &kat3068, &kat3069, &kat3070, &kat3071, &kat3072, &kat3073, + &kat3074, &kat3075, &kat3076, &kat3077, &kat3078, &kat3079, &kat3080, + &kat3081, &kat3082, &kat3083, &kat3084, &kat3085, &kat3086, &kat3087, + &kat3088, &kat3089, &kat3090, &kat3091, &kat3092, &kat3093, &kat3094, + &kat3095, &kat3096, &kat3097, &kat3098, &kat3099, &kat3100, &kat3101, + &kat3102, &kat3103, &kat3104, &kat3105, &kat3106, &kat3107, &kat3108, + &kat3109, &kat3110, &kat3111, &kat3112, &kat3113, &kat3114, &kat3115, + &kat3116, &kat3117, &kat3118, &kat3119, &kat3120, &kat3121, &kat3122, + &kat3123, &kat3124, &kat3125, &kat3126, &kat3127, &kat3128, &kat3129, + &kat3130, &kat3131, &kat3132, &kat3133, &kat3134, &kat3135, &kat3136, + &kat3137, &kat3138, &kat3139, &kat3140, &kat3141, &kat3142, &kat3143, + &kat3144, &kat3145, &kat3146, &kat3147, &kat3148, &kat3149, &kat3150, + &kat3151, &kat3152, &kat3153, &kat3154, &kat3155, &kat3156, &kat3157, + &kat3158, &kat3159, &kat3160, &kat3161, &kat3162, &kat3163, &kat3164, + &kat3165, &kat3166, &kat3167, &kat3168, &kat3169, &kat3170, &kat3171, + &kat3172, &kat3173, &kat3174, &kat3175, &kat3176, &kat3177, &kat3178, + &kat3179, &kat3180, &kat3181, &kat3182, &kat3183, &kat3184, &kat3185, + &kat3186, &kat3187, &kat3188, &kat3189, &kat3190, &kat3191, &kat3192, + &kat3193, &kat3194, &kat3195, &kat3196, &kat3197, &kat3198, &kat3199, + &kat3200, &kat3201, &kat3202, &kat3203, &kat3204, &kat3205, &kat3206, + &kat3207, &kat3208, &kat3209, &kat3210, &kat3211, &kat3212, &kat3213, + &kat3214, &kat3215, &kat3216, &kat3217, &kat3218, &kat3219, &kat3220, + &kat3221, &kat3222, &kat3223, &kat3224, &kat3225, &kat3226, &kat3227, + &kat3228, &kat3229, &kat3230, &kat3231, &kat3232, &kat3233, &kat3234, + &kat3235, &kat3236, &kat3237, &kat3238, &kat3239, &kat3240, &kat3241, + &kat3242, &kat3243, &kat3244, &kat3245, &kat3246, &kat3247, &kat3248, + &kat3249, &kat3250, &kat3251, &kat3252, &kat3253, &kat3254, &kat3255, + &kat3256, &kat3257, &kat3258, &kat3259, &kat3260, &kat3261, &kat3262, + &kat3263, &kat3264, &kat3265, &kat3266, &kat3267, &kat3268, &kat3269, + &kat3270, &kat3271, &kat3272, &kat3273, &kat3274, &kat3275, &kat3276, + &kat3277, &kat3278, &kat3279, &kat3280, &kat3281, &kat3282, &kat3283, + &kat3284, &kat3285, &kat3286, &kat3287, &kat3288, &kat3289, &kat3290, + &kat3291, &kat3292, &kat3293, &kat3294, &kat3295, &kat3296, &kat3297, + &kat3298, &kat3299, &kat3300, &kat3301, &kat3302, &kat3303, &kat3304, + &kat3305, &kat3306, &kat3307, &kat3308, &kat3309, &kat3310, &kat3311, + &kat3312, &kat3313, &kat3314, &kat3315, &kat3316, &kat3317, &kat3318, + &kat3319, &kat3320, &kat3321, &kat3322, &kat3323, &kat3324, &kat3325, + &kat3326, &kat3327, &kat3328, &kat3329, &kat3330, &kat3331, &kat3332, + &kat3333, &kat3334, &kat3335, &kat3336, &kat3337, &kat3338, &kat3339, + &kat3340, &kat3341, &kat3342, &kat3343, &kat3344, &kat3345, &kat3346, + &kat3347, &kat3348, &kat3349, &kat3350, &kat3351, &kat3352, &kat3353, + &kat3354, &kat3355, &kat3356, &kat3357, &kat3358, &kat3359, &kat3360, + &kat3361, &kat3362, &kat3363, &kat3364, &kat3365, &kat3366, &kat3367, + &kat3368, &kat3369, &kat3370, &kat3371, &kat3372, &kat3373, &kat3374, + &kat3375, &kat3376, &kat3377, &kat3378, &kat3379, &kat3380, &kat3381, + &kat3382, &kat3383, &kat3384, &kat3385, &kat3386, &kat3387, &kat3388, + &kat3389, &kat3390, &kat3391, &kat3392, &kat3393, &kat3394, &kat3395, + &kat3396, &kat3397, &kat3398, &kat3399, &kat3400, &kat3401, &kat3402, + &kat3403, &kat3404, &kat3405, &kat3406, &kat3407, &kat3408, &kat3409, + &kat3410, &kat3411, &kat3412, &kat3413, &kat3414, &kat3415, &kat3416, + &kat3417, &kat3418, &kat3419, &kat3420, &kat3421, &kat3422, &kat3423, + &kat3424, &kat3425, &kat3426, &kat3427, &kat3428, &kat3429, &kat3430, + &kat3431, &kat3432, &kat3433, &kat3434, &kat3435, &kat3436, &kat3437, + &kat3438, &kat3439, &kat3440, &kat3441, &kat3442, &kat3443, &kat3444, + &kat3445, &kat3446, &kat3447, &kat3448, &kat3449, &kat3450, &kat3451, + &kat3452, &kat3453, &kat3454, &kat3455, &kat3456, &kat3457, &kat3458, + &kat3459, &kat3460, &kat3461, &kat3462, &kat3463, &kat3464, &kat3465, + &kat3466, &kat3467, &kat3468, &kat3469, &kat3470, &kat3471, &kat3472, + &kat3473, &kat3474, &kat3475, &kat3476, &kat3477, &kat3478, &kat3479, + &kat3480, &kat3481, &kat3482, &kat3483, &kat3484, &kat3485, &kat3486, + &kat3487, &kat3488, &kat3489, &kat3490, &kat3491, &kat3492, &kat3493, + &kat3494, &kat3495, &kat3496, &kat3497, &kat3498, &kat3499, &kat3500, + &kat3501, &kat3502, &kat3503, &kat3504, &kat3505, &kat3506, &kat3507, + &kat3508, &kat3509, &kat3510, &kat3511, &kat3512, &kat3513, &kat3514, + &kat3515, &kat3516, &kat3517, &kat3518, &kat3519, &kat3520, &kat3521, + &kat3522, &kat3523, &kat3524, &kat3525, &kat3526, &kat3527, &kat3528, + &kat3529, &kat3530, &kat3531, &kat3532, &kat3533, &kat3534, &kat3535, + &kat3536, &kat3537, &kat3538, &kat3539, &kat3540, &kat3541, &kat3542, + &kat3543, &kat3544, &kat3545, &kat3546, &kat3547, &kat3548, &kat3549, + &kat3550, &kat3551, &kat3552, &kat3553, &kat3554, &kat3555, &kat3556, + &kat3557, &kat3558, &kat3559, &kat3560, &kat3561, &kat3562, &kat3563, + &kat3564, &kat3565, &kat3566, &kat3567, &kat3568, &kat3569, &kat3570, + &kat3571, &kat3572, &kat3573, &kat3574, &kat3575, &kat3576, &kat3577, + &kat3578, &kat3579, &kat3580, &kat3581, &kat3582, &kat3583, &kat3584, + &kat3585, &kat3586, &kat3587, &kat3588, &kat3589, &kat3590, &kat3591, + &kat3592, &kat3593, &kat3594, &kat3595, &kat3596, &kat3597, &kat3598, + &kat3599, &kat3600, &kat3601, &kat3602, &kat3603, &kat3604, &kat3605, + &kat3606, &kat3607, &kat3608, &kat3609, &kat3610, &kat3611, &kat3612, + &kat3613, &kat3614, &kat3615, &kat3616, &kat3617, &kat3618, &kat3619, + &kat3620, &kat3621, &kat3622, &kat3623, &kat3624, &kat3625, &kat3626, + &kat3627, &kat3628, &kat3629, &kat3630, &kat3631, &kat3632, &kat3633, + &kat3634, &kat3635, &kat3636, &kat3637, &kat3638, &kat3639, &kat3640, + &kat3641, &kat3642, &kat3643, &kat3644, &kat3645, &kat3646, &kat3647, + &kat3648, &kat3649, &kat3650, &kat3651, &kat3652, &kat3653, &kat3654, + &kat3655, &kat3656, &kat3657, &kat3658, &kat3659, &kat3660, &kat3661, + &kat3662, &kat3663, &kat3664, &kat3665, &kat3666, &kat3667, &kat3668, + &kat3669, &kat3670, &kat3671, &kat3672, &kat3673, &kat3674, &kat3675, + &kat3676, &kat3677, &kat3678, &kat3679, &kat3680, &kat3681, &kat3682, + &kat3683, &kat3684, &kat3685, &kat3686, &kat3687, &kat3688, &kat3689, + &kat3690, &kat3691, &kat3692, &kat3693, &kat3694, &kat3695, &kat3696, + &kat3697, &kat3698, &kat3699, &kat3700, &kat3701, &kat3702, &kat3703, + &kat3704, &kat3705, &kat3706, &kat3707, &kat3708, &kat3709, &kat3710, + &kat3711, &kat3712, &kat3713, &kat3714, &kat3715, &kat3716, &kat3717, + &kat3718, &kat3719, &kat3720, &kat3721, &kat3722, &kat3723, &kat3724, + &kat3725, &kat3726, &kat3727, &kat3728, &kat3729, &kat3730, &kat3731, + &kat3732, &kat3733, &kat3734, &kat3735, &kat3736, &kat3737, &kat3738, + &kat3739, &kat3740, &kat3741, &kat3742, &kat3743, &kat3744, &kat3745, + &kat3746, &kat3747, &kat3748, &kat3749, &kat3750, &kat3751, &kat3752, + &kat3753, &kat3754, &kat3755, &kat3756, &kat3757, &kat3758, &kat3759, + &kat3760, &kat3761, &kat3762, &kat3763, &kat3764, &kat3765, &kat3766, + &kat3767, &kat3768, &kat3769, &kat3770, &kat3771, &kat3772, &kat3773, + &kat3774, &kat3775, &kat3776, &kat3777, &kat3778, &kat3779, &kat3780, + &kat3781, &kat3782, &kat3783, &kat3784, &kat3785, &kat3786, &kat3787, + &kat3788, &kat3789, &kat3790, &kat3791, &kat3792, &kat3793, &kat3794, + &kat3795, &kat3796, &kat3797, &kat3798, &kat3799, &kat3800, &kat3801, + &kat3802, &kat3803, &kat3804, &kat3805, &kat3806, &kat3807, &kat3808, + &kat3809, &kat3810, &kat3811, &kat3812, &kat3813, &kat3814, &kat3815, + &kat3816, &kat3817, &kat3818, &kat3819, &kat3820, &kat3821, &kat3822, + &kat3823, &kat3824, &kat3825, &kat3826, &kat3827, &kat3828, &kat3829, + &kat3830, &kat3831, &kat3832, &kat3833, &kat3834, &kat3835, &kat3836, + &kat3837, &kat3838, &kat3839, &kat3840, &kat3841, &kat3842, &kat3843, + &kat3844, &kat3845, &kat3846, &kat3847, &kat3848, &kat3849, &kat3850, + &kat3851, &kat3852, &kat3853, &kat3854, &kat3855, &kat3856, &kat3857, + &kat3858, &kat3859, &kat3860, &kat3861, &kat3862, &kat3863, &kat3864, + &kat3865, &kat3866, &kat3867, &kat3868, &kat3869, &kat3870, &kat3871, + &kat3872, &kat3873, &kat3874, &kat3875, &kat3876, &kat3877, &kat3878, + &kat3879, &kat3880, &kat3881, &kat3882, &kat3883, &kat3884, &kat3885, + &kat3886, &kat3887, &kat3888, &kat3889, &kat3890, &kat3891, &kat3892, + &kat3893, &kat3894, &kat3895, &kat3896, &kat3897, &kat3898, &kat3899, + &kat3900, &kat3901, &kat3902, &kat3903, &kat3904, &kat3905, &kat3906, + &kat3907, &kat3908, &kat3909, &kat3910, &kat3911, &kat3912, &kat3913, + &kat3914, &kat3915, &kat3916, &kat3917, &kat3918, &kat3919, &kat3920, + &kat3921, &kat3922, &kat3923, &kat3924, &kat3925, &kat3926, &kat3927, + &kat3928, &kat3929, &kat3930, &kat3931, &kat3932, &kat3933, &kat3934, + &kat3935, &kat3936, &kat3937, &kat3938, &kat3939, &kat3940, &kat3941, + &kat3942, &kat3943, &kat3944, &kat3945, &kat3946, &kat3947, &kat3948, + &kat3949, &kat3950, &kat3951, &kat3952, &kat3953, &kat3954, &kat3955, + &kat3956, &kat3957, &kat3958, &kat3959, &kat3960, &kat3961, &kat3962, + &kat3963, &kat3964, &kat3965, &kat3966, &kat3967, &kat3968, &kat3969, + &kat3970, &kat3971, &kat3972, &kat3973, &kat3974, &kat3975, &kat3976, + &kat3977, &kat3978, &kat3979, &kat3980, &kat3981, &kat3982, &kat3983, + &kat3984, &kat3985, &kat3986, &kat3987, &kat3988, &kat3989, &kat3990, + &kat3991, &kat3992, &kat3993, &kat3994, &kat3995, &kat3996, &kat3997, + &kat3998, &kat3999, &kat4000, &kat4001, &kat4002, &kat4003, &kat4004, + &kat4005, &kat4006, &kat4007, &kat4008, &kat4009, &kat4010, &kat4011, + &kat4012, &kat4013, &kat4014, &kat4015, &kat4016, &kat4017, &kat4018, + &kat4019, &kat4020, &kat4021, &kat4022, &kat4023, &kat4024, &kat4025, + &kat4026, &kat4027, &kat4028, &kat4029, &kat4030, &kat4031, &kat4032, + &kat4033, &kat4034, &kat4035, &kat4036, &kat4037, &kat4038, &kat4039, + &kat4040, &kat4041, &kat4042, &kat4043, &kat4044, &kat4045, &kat4046, + &kat4047, &kat4048, &kat4049, &kat4050, &kat4051, &kat4052, &kat4053, + &kat4054, &kat4055, &kat4056, &kat4057, &kat4058, &kat4059, &kat4060, + &kat4061, &kat4062, &kat4063, &kat4064, &kat4065, &kat4066, &kat4067, + &kat4068, &kat4069, &kat4070, &kat4071, &kat4072, &kat4073, &kat4074, + &kat4075, &kat4076, &kat4077, &kat4078, &kat4079, &kat4080, &kat4081, + &kat4082, &kat4083, &kat4084, &kat4085, &kat4086, &kat4087, &kat4088, + &kat4089, &kat4090, &kat4091, &kat4092, &kat4093, &kat4094, &kat4095, + &kat4096, &kat4097, &kat4098, &kat4099, &kat4100, &kat4101, &kat4102, + &kat4103, &kat4104, &kat4105, &kat4106, &kat4107, &kat4108, &kat4109, + &kat4110, &kat4111, &kat4112, &kat4113, &kat4114, &kat4115, &kat4116, + &kat4117, &kat4118, &kat4119, &kat4120, &kat4121, &kat4122, &kat4123, + &kat4124, &kat4125, &kat4126, &kat4127, &kat4128, &kat4129, &kat4130, + &kat4131, &kat4132, &kat4133, &kat4134, &kat4135, &kat4136, &kat4137, + &kat4138, &kat4139, &kat4140, &kat4141, &kat4142, &kat4143, &kat4144, + &kat4145, &kat4146, &kat4147, &kat4148, &kat4149, &kat4150, &kat4151, + &kat4152, &kat4153, &kat4154, &kat4155, &kat4156, &kat4157, &kat4158, + &kat4159, &kat4160, &kat4161, &kat4162, &kat4163, &kat4164, &kat4165, + &kat4166, &kat4167, &kat4168, &kat4169, &kat4170, &kat4171, &kat4172, + &kat4173, &kat4174, &kat4175, &kat4176, &kat4177, &kat4178, &kat4179, + &kat4180, &kat4181, &kat4182, &kat4183, &kat4184, &kat4185, &kat4186, + &kat4187, &kat4188, &kat4189, &kat4190, &kat4191, &kat4192, &kat4193, + &kat4194, &kat4195, &kat4196, &kat4197, &kat4198, &kat4199, &kat4200, + &kat4201, &kat4202, &kat4203, &kat4204, &kat4205, &kat4206, &kat4207, + &kat4208, &kat4209, &kat4210, &kat4211, &kat4212, &kat4213, &kat4214, + &kat4215, &kat4216, &kat4217, &kat4218, &kat4219, &kat4220, &kat4221, + &kat4222, &kat4223, &kat4224, &kat4225, &kat4226, &kat4227, &kat4228, + &kat4229, &kat4230, &kat4231, &kat4232, &kat4233, &kat4234, &kat4235, + &kat4236, &kat4237, &kat4238, &kat4239, &kat4240, &kat4241, &kat4242, + &kat4243, &kat4244, &kat4245, &kat4246, &kat4247, &kat4248, &kat4249, + &kat4250, &kat4251, &kat4252, &kat4253, &kat4254, &kat4255, &kat4256, + &kat4257, &kat4258, &kat4259, &kat4260, &kat4261, &kat4262, &kat4263, + &kat4264, &kat4265, &kat4266, &kat4267, &kat4268, &kat4269, &kat4270, + &kat4271, &kat4272, &kat4273, &kat4274, &kat4275, &kat4276, &kat4277, + &kat4278, &kat4279, &kat4280, &kat4281, &kat4282, &kat4283, &kat4284, + &kat4285, &kat4286, &kat4287, &kat4288, &kat4289, &kat4290, &kat4291, + &kat4292, &kat4293, &kat4294, &kat4295, &kat4296, &kat4297, &kat4298, + &kat4299, &kat4300, &kat4301, &kat4302, &kat4303, &kat4304, &kat4305, + &kat4306, &kat4307, &kat4308, &kat4309, &kat4310, &kat4311, &kat4312, + &kat4313, &kat4314, &kat4315, &kat4316, &kat4317, &kat4318, &kat4319, + &kat4320, +}; + +const size_t drbg_test_nelem = OSSL_NELEM(drbg_test); diff --git a/deps/openssl/openssl/test/drbg_cavs_data.h b/deps/openssl/openssl/test/drbg_cavs_data.h index d673375619d3d5..c04b01298dc771 100644 --- a/deps/openssl/openssl/test/drbg_cavs_data.h +++ b/deps/openssl/openssl/test/drbg_cavs_data.h @@ -13,8 +13,8 @@ #include -#ifndef DRBG_CAVS_DATA_H -# define DRBG_CAVS_DATA_H +#ifndef OSSL_TEST_DRBG_CAVS_DATA_H +# define OSSL_TEST_DRBG_CAVS_DATA_H enum drbg_kat_type { NO_RESEED, diff --git a/deps/openssl/openssl/test/drbg_cavs_test.c b/deps/openssl/openssl/test/drbg_cavs_test.c new file mode 100644 index 00000000000000..4573e2b0b796d5 --- /dev/null +++ b/deps/openssl/openssl/test/drbg_cavs_test.c @@ -0,0 +1,278 @@ +/* + * Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include "internal/nelem.h" +#include +#include +#include +#include +#include +#include +#include "../crypto/rand/rand_local.h" + +#include "testutil.h" +#include "drbg_cavs_data.h" + +static int app_data_index; + +typedef struct test_ctx_st { + const unsigned char *entropy; + size_t entropylen; + int entropycnt; + const unsigned char *nonce; + size_t noncelen; + int noncecnt; +} TEST_CTX; + +static size_t kat_entropy(RAND_DRBG *drbg, unsigned char **pout, + int entropy, size_t min_len, size_t max_len, + int prediction_resistance) +{ + TEST_CTX *t = (TEST_CTX *)RAND_DRBG_get_ex_data(drbg, app_data_index); + + t->entropycnt++; + *pout = (unsigned char *)t->entropy; + return t->entropylen; +} + +static size_t kat_nonce(RAND_DRBG *drbg, unsigned char **pout, + int entropy, size_t min_len, size_t max_len) +{ + TEST_CTX *t = (TEST_CTX *)RAND_DRBG_get_ex_data(drbg, app_data_index); + + t->noncecnt++; + *pout = (unsigned char *)t->nonce; + return t->noncelen; +} + +/* + * Do a single NO_RESEED KAT: + * + * Instantiate + * Generate Random Bits (pr=false) + * Generate Random Bits (pr=false) + * Uninstantiate + * + * Return 0 on failure. + */ +static int single_kat_no_reseed(const struct drbg_kat *td) +{ + struct drbg_kat_no_reseed *data = (struct drbg_kat_no_reseed *)td->t; + RAND_DRBG *drbg = NULL; + unsigned char *buff = NULL; + unsigned int flags = 0; + int failures = 0; + TEST_CTX t; + + if (td->df != USE_DF) + flags |= RAND_DRBG_FLAG_CTR_NO_DF; + + if (!TEST_ptr(drbg = RAND_DRBG_new(td->nid, flags, NULL))) + return 0; + + if (!TEST_true(RAND_DRBG_set_callbacks(drbg, kat_entropy, NULL, + kat_nonce, NULL))) { + failures++; + goto err; + } + memset(&t, 0, sizeof(t)); + t.entropy = data->entropyin; + t.entropylen = td->entropyinlen; + t.nonce = data->nonce; + t.noncelen = td->noncelen; + RAND_DRBG_set_ex_data(drbg, app_data_index, &t); + + buff = OPENSSL_malloc(td->retbyteslen); + if (buff == NULL) + goto err; + + if (!TEST_true(RAND_DRBG_instantiate(drbg, data->persstr, td->persstrlen)) + || !TEST_true(RAND_DRBG_generate(drbg, buff, td->retbyteslen, 0, + data->addin1, td->addinlen)) + || !TEST_true(RAND_DRBG_generate(drbg, buff, td->retbyteslen, 0, + data->addin2, td->addinlen)) + || !TEST_true(RAND_DRBG_uninstantiate(drbg)) + || !TEST_mem_eq(data->retbytes, td->retbyteslen, buff, + td->retbyteslen)) + failures++; + +err: + OPENSSL_free(buff); + RAND_DRBG_uninstantiate(drbg); + RAND_DRBG_free(drbg); + return failures == 0; +} + +/*- + * Do a single PR_FALSE KAT: + * + * Instantiate + * Reseed + * Generate Random Bits (pr=false) + * Generate Random Bits (pr=false) + * Uninstantiate + * + * Return 0 on failure. + */ +static int single_kat_pr_false(const struct drbg_kat *td) +{ + struct drbg_kat_pr_false *data = (struct drbg_kat_pr_false *)td->t; + RAND_DRBG *drbg = NULL; + unsigned char *buff = NULL; + unsigned int flags = 0; + int failures = 0; + TEST_CTX t; + + if (td->df != USE_DF) + flags |= RAND_DRBG_FLAG_CTR_NO_DF; + + if (!TEST_ptr(drbg = RAND_DRBG_new(td->nid, flags, NULL))) + return 0; + + if (!TEST_true(RAND_DRBG_set_callbacks(drbg, kat_entropy, NULL, + kat_nonce, NULL))) { + failures++; + goto err; + } + memset(&t, 0, sizeof(t)); + t.entropy = data->entropyin; + t.entropylen = td->entropyinlen; + t.nonce = data->nonce; + t.noncelen = td->noncelen; + RAND_DRBG_set_ex_data(drbg, app_data_index, &t); + + buff = OPENSSL_malloc(td->retbyteslen); + if (buff == NULL) + goto err; + + if (!TEST_true(RAND_DRBG_instantiate(drbg, data->persstr, td->persstrlen))) + failures++; + + t.entropy = data->entropyinreseed; + t.entropylen = td->entropyinlen; + + if (!TEST_true(RAND_DRBG_reseed(drbg, data->addinreseed, td->addinlen, 0)) + || !TEST_true(RAND_DRBG_generate(drbg, buff, td->retbyteslen, 0, + data->addin1, td->addinlen)) + || !TEST_true(RAND_DRBG_generate(drbg, buff, td->retbyteslen, 0, + data->addin2, td->addinlen)) + || !TEST_true(RAND_DRBG_uninstantiate(drbg)) + || !TEST_mem_eq(data->retbytes, td->retbyteslen, buff, + td->retbyteslen)) + failures++; + +err: + OPENSSL_free(buff); + RAND_DRBG_uninstantiate(drbg); + RAND_DRBG_free(drbg); + return failures == 0; +} + +/*- + * Do a single PR_TRUE KAT: + * + * Instantiate + * Generate Random Bits (pr=true) + * Generate Random Bits (pr=true) + * Uninstantiate + * + * Return 0 on failure. + */ +static int single_kat_pr_true(const struct drbg_kat *td) +{ + struct drbg_kat_pr_true *data = (struct drbg_kat_pr_true *)td->t; + RAND_DRBG *drbg = NULL; + unsigned char *buff = NULL; + unsigned int flags = 0; + int failures = 0; + TEST_CTX t; + + if (td->df != USE_DF) + flags |= RAND_DRBG_FLAG_CTR_NO_DF; + + if (!TEST_ptr(drbg = RAND_DRBG_new(td->nid, flags, NULL))) + return 0; + + if (!TEST_true(RAND_DRBG_set_callbacks(drbg, kat_entropy, NULL, + kat_nonce, NULL))) { + failures++; + goto err; + } + memset(&t, 0, sizeof(t)); + t.nonce = data->nonce; + t.noncelen = td->noncelen; + t.entropy = data->entropyin; + t.entropylen = td->entropyinlen; + RAND_DRBG_set_ex_data(drbg, app_data_index, &t); + + buff = OPENSSL_malloc(td->retbyteslen); + if (buff == NULL) + goto err; + + if (!TEST_true(RAND_DRBG_instantiate(drbg, data->persstr, td->persstrlen))) + failures++; + + t.entropy = data->entropyinpr1; + t.entropylen = td->entropyinlen; + + if (!TEST_true(RAND_DRBG_generate(drbg, buff, td->retbyteslen, 1, + data->addin1, td->addinlen))) + failures++; + + t.entropy = data->entropyinpr2; + t.entropylen = td->entropyinlen; + + if (!TEST_true(RAND_DRBG_generate(drbg, buff, td->retbyteslen, 1, + data->addin2, td->addinlen)) + || !TEST_true(RAND_DRBG_uninstantiate(drbg)) + || !TEST_mem_eq(data->retbytes, td->retbyteslen, buff, + td->retbyteslen)) + failures++; + +err: + OPENSSL_free(buff); + RAND_DRBG_uninstantiate(drbg); + RAND_DRBG_free(drbg); + return failures == 0; +} + +static int test_cavs_kats(int i) +{ + const struct drbg_kat *td = drbg_test[i]; + int rv = 0; + + switch (td->type) { + case NO_RESEED: + if (!single_kat_no_reseed(td)) + goto err; + break; + case PR_FALSE: + if (!single_kat_pr_false(td)) + goto err; + break; + case PR_TRUE: + if (!single_kat_pr_true(td)) + goto err; + break; + default: /* cant happen */ + goto err; + } + rv = 1; +err: + return rv; +} + +int setup_tests(void) +{ + app_data_index = RAND_DRBG_get_ex_new_index(0L, NULL, NULL, NULL, NULL); + + ADD_ALL_TESTS(test_cavs_kats, drbg_test_nelem); + return 1; +} diff --git a/deps/openssl/openssl/test/drbgtest.c b/deps/openssl/openssl/test/drbgtest.c new file mode 100644 index 00000000000000..2aff4aaf030d13 --- /dev/null +++ b/deps/openssl/openssl/test/drbgtest.c @@ -0,0 +1,1029 @@ +/* + * Copyright 2011-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include "internal/nelem.h" +#include +#include +#include +#include +#include +#include +#include "../crypto/rand/rand_local.h" +#include "../include/crypto/rand.h" + +#if defined(_WIN32) +# include +#endif + + +#if defined(OPENSSL_SYS_UNIX) +# include +# include +# include +#endif + +#include "testutil.h" +#include "drbgtest.h" + +typedef struct drbg_selftest_data_st { + int post; + int nid; + unsigned int flags; + + /* KAT data for no PR */ + const unsigned char *entropy; + size_t entropylen; + const unsigned char *nonce; + size_t noncelen; + const unsigned char *pers; + size_t perslen; + const unsigned char *adin; + size_t adinlen; + const unsigned char *entropyreseed; + size_t entropyreseedlen; + const unsigned char *adinreseed; + size_t adinreseedlen; + const unsigned char *adin2; + size_t adin2len; + const unsigned char *expected; + size_t exlen; + const unsigned char *kat2; + size_t kat2len; + + /* KAT data for PR */ + const unsigned char *entropy_pr; + size_t entropylen_pr; + const unsigned char *nonce_pr; + size_t noncelen_pr; + const unsigned char *pers_pr; + size_t perslen_pr; + const unsigned char *adin_pr; + size_t adinlen_pr; + const unsigned char *entropypr_pr; + size_t entropyprlen_pr; + const unsigned char *ading_pr; + size_t adinglen_pr; + const unsigned char *entropyg_pr; + size_t entropyglen_pr; + const unsigned char *kat_pr; + size_t katlen_pr; + const unsigned char *kat2_pr; + size_t kat2len_pr; +} DRBG_SELFTEST_DATA; + +#define make_drbg_test_data(nid, flag, pr, post) {\ + post, nid, flag, \ + pr##_entropyinput, sizeof(pr##_entropyinput), \ + pr##_nonce, sizeof(pr##_nonce), \ + pr##_personalizationstring, sizeof(pr##_personalizationstring), \ + pr##_additionalinput, sizeof(pr##_additionalinput), \ + pr##_entropyinputreseed, sizeof(pr##_entropyinputreseed), \ + pr##_additionalinputreseed, sizeof(pr##_additionalinputreseed), \ + pr##_additionalinput2, sizeof(pr##_additionalinput2), \ + pr##_int_returnedbits, sizeof(pr##_int_returnedbits), \ + pr##_returnedbits, sizeof(pr##_returnedbits), \ + pr##_pr_entropyinput, sizeof(pr##_pr_entropyinput), \ + pr##_pr_nonce, sizeof(pr##_pr_nonce), \ + pr##_pr_personalizationstring, sizeof(pr##_pr_personalizationstring), \ + pr##_pr_additionalinput, sizeof(pr##_pr_additionalinput), \ + pr##_pr_entropyinputpr, sizeof(pr##_pr_entropyinputpr), \ + pr##_pr_additionalinput2, sizeof(pr##_pr_additionalinput2), \ + pr##_pr_entropyinputpr2, sizeof(pr##_pr_entropyinputpr2), \ + pr##_pr_int_returnedbits, sizeof(pr##_pr_int_returnedbits), \ + pr##_pr_returnedbits, sizeof(pr##_pr_returnedbits) \ + } + +#define make_drbg_test_data_use_df(nid, pr, p) \ + make_drbg_test_data(nid, 0, pr, p) + +#define make_drbg_test_data_no_df(nid, pr, p) \ + make_drbg_test_data(nid, RAND_DRBG_FLAG_CTR_NO_DF, pr, p) + +static DRBG_SELFTEST_DATA drbg_test[] = { + make_drbg_test_data_no_df (NID_aes_128_ctr, aes_128_no_df, 0), + make_drbg_test_data_no_df (NID_aes_192_ctr, aes_192_no_df, 0), + make_drbg_test_data_no_df (NID_aes_256_ctr, aes_256_no_df, 1), + make_drbg_test_data_use_df(NID_aes_128_ctr, aes_128_use_df, 0), + make_drbg_test_data_use_df(NID_aes_192_ctr, aes_192_use_df, 0), + make_drbg_test_data_use_df(NID_aes_256_ctr, aes_256_use_df, 1), +}; + +static int app_data_index; + +/* + * Test context data, attached as EXDATA to the RAND_DRBG + */ +typedef struct test_ctx_st { + const unsigned char *entropy; + size_t entropylen; + int entropycnt; + const unsigned char *nonce; + size_t noncelen; + int noncecnt; +} TEST_CTX; + +static size_t kat_entropy(RAND_DRBG *drbg, unsigned char **pout, + int entropy, size_t min_len, size_t max_len, + int prediction_resistance) +{ + TEST_CTX *t = (TEST_CTX *)RAND_DRBG_get_ex_data(drbg, app_data_index); + + t->entropycnt++; + *pout = (unsigned char *)t->entropy; + return t->entropylen; +} + +static size_t kat_nonce(RAND_DRBG *drbg, unsigned char **pout, + int entropy, size_t min_len, size_t max_len) +{ + TEST_CTX *t = (TEST_CTX *)RAND_DRBG_get_ex_data(drbg, app_data_index); + + t->noncecnt++; + *pout = (unsigned char *)t->nonce; + return t->noncelen; +} + +static int uninstantiate(RAND_DRBG *drbg) +{ + int ret = drbg == NULL ? 1 : RAND_DRBG_uninstantiate(drbg); + + ERR_clear_error(); + return ret; +} + +/* + * Do a single KAT test. Return 0 on failure. + */ +static int single_kat(DRBG_SELFTEST_DATA *td) +{ + RAND_DRBG *drbg = NULL; + TEST_CTX t; + int failures = 0; + unsigned char buff[1024]; + + /* + * Test without PR: Instantiate DRBG with test entropy, nonce and + * personalisation string. + */ + if (!TEST_ptr(drbg = RAND_DRBG_new(td->nid, td->flags, NULL))) + return 0; + if (!TEST_true(RAND_DRBG_set_callbacks(drbg, kat_entropy, NULL, + kat_nonce, NULL))) { + failures++; + goto err; + } + memset(&t, 0, sizeof(t)); + t.entropy = td->entropy; + t.entropylen = td->entropylen; + t.nonce = td->nonce; + t.noncelen = td->noncelen; + RAND_DRBG_set_ex_data(drbg, app_data_index, &t); + + if (!TEST_true(RAND_DRBG_instantiate(drbg, td->pers, td->perslen)) + || !TEST_true(RAND_DRBG_generate(drbg, buff, td->exlen, 0, + td->adin, td->adinlen)) + || !TEST_mem_eq(td->expected, td->exlen, buff, td->exlen)) + failures++; + + /* Reseed DRBG with test entropy and additional input */ + t.entropy = td->entropyreseed; + t.entropylen = td->entropyreseedlen; + if (!TEST_true(RAND_DRBG_reseed(drbg, td->adinreseed, td->adinreseedlen, 0) + || !TEST_true(RAND_DRBG_generate(drbg, buff, td->kat2len, 0, + td->adin2, td->adin2len)) + || !TEST_mem_eq(td->kat2, td->kat2len, buff, td->kat2len))) + failures++; + uninstantiate(drbg); + + /* + * Now test with PR: Instantiate DRBG with test entropy, nonce and + * personalisation string. + */ + if (!TEST_true(RAND_DRBG_set(drbg, td->nid, td->flags)) + || !TEST_true(RAND_DRBG_set_callbacks(drbg, kat_entropy, NULL, + kat_nonce, NULL))) + failures++; + RAND_DRBG_set_ex_data(drbg, app_data_index, &t); + t.entropy = td->entropy_pr; + t.entropylen = td->entropylen_pr; + t.nonce = td->nonce_pr; + t.noncelen = td->noncelen_pr; + t.entropycnt = 0; + t.noncecnt = 0; + if (!TEST_true(RAND_DRBG_instantiate(drbg, td->pers_pr, td->perslen_pr))) + failures++; + + /* + * Now generate with PR: we need to supply entropy as this will + * perform a reseed operation. + */ + t.entropy = td->entropypr_pr; + t.entropylen = td->entropyprlen_pr; + if (!TEST_true(RAND_DRBG_generate(drbg, buff, td->katlen_pr, 1, + td->adin_pr, td->adinlen_pr)) + || !TEST_mem_eq(td->kat_pr, td->katlen_pr, buff, td->katlen_pr)) + failures++; + + /* + * Now generate again with PR: supply new entropy again. + */ + t.entropy = td->entropyg_pr; + t.entropylen = td->entropyglen_pr; + + if (!TEST_true(RAND_DRBG_generate(drbg, buff, td->kat2len_pr, 1, + td->ading_pr, td->adinglen_pr)) + || !TEST_mem_eq(td->kat2_pr, td->kat2len_pr, + buff, td->kat2len_pr)) + failures++; + +err: + uninstantiate(drbg); + RAND_DRBG_free(drbg); + return failures == 0; +} + +/* + * Initialise a DRBG based on selftest data + */ +static int init(RAND_DRBG *drbg, DRBG_SELFTEST_DATA *td, TEST_CTX *t) +{ + if (!TEST_true(RAND_DRBG_set(drbg, td->nid, td->flags)) + || !TEST_true(RAND_DRBG_set_callbacks(drbg, kat_entropy, NULL, + kat_nonce, NULL))) + return 0; + RAND_DRBG_set_ex_data(drbg, app_data_index, t); + t->entropy = td->entropy; + t->entropylen = td->entropylen; + t->nonce = td->nonce; + t->noncelen = td->noncelen; + t->entropycnt = 0; + t->noncecnt = 0; + return 1; +} + +/* + * Initialise and instantiate DRBG based on selftest data + */ +static int instantiate(RAND_DRBG *drbg, DRBG_SELFTEST_DATA *td, + TEST_CTX *t) +{ + if (!TEST_true(init(drbg, td, t)) + || !TEST_true(RAND_DRBG_instantiate(drbg, td->pers, td->perslen))) + return 0; + return 1; +} + +/* + * Perform extensive error checking as required by SP800-90. + * Induce several failure modes and check an error condition is set. + */ +static int error_check(DRBG_SELFTEST_DATA *td) +{ + static char zero[sizeof(RAND_DRBG)]; + RAND_DRBG *drbg = NULL; + TEST_CTX t; + unsigned char buff[1024]; + unsigned int reseed_counter_tmp; + int ret = 0; + + if (!TEST_ptr(drbg = RAND_DRBG_new(0, 0, NULL))) + goto err; + + /* + * Personalisation string tests + */ + + /* Test detection of too large personalisation string */ + if (!init(drbg, td, &t) + || RAND_DRBG_instantiate(drbg, td->pers, drbg->max_perslen + 1) > 0) + goto err; + + /* + * Entropy source tests + */ + + /* Test entropy source failure detection: i.e. returns no data */ + t.entropylen = 0; + if (TEST_int_le(RAND_DRBG_instantiate(drbg, td->pers, td->perslen), 0)) + goto err; + + /* Try to generate output from uninstantiated DRBG */ + if (!TEST_false(RAND_DRBG_generate(drbg, buff, td->exlen, 0, + td->adin, td->adinlen)) + || !uninstantiate(drbg)) + goto err; + + /* Test insufficient entropy */ + t.entropylen = drbg->min_entropylen - 1; + if (!init(drbg, td, &t) + || RAND_DRBG_instantiate(drbg, td->pers, td->perslen) > 0 + || !uninstantiate(drbg)) + goto err; + + /* Test too much entropy */ + t.entropylen = drbg->max_entropylen + 1; + if (!init(drbg, td, &t) + || RAND_DRBG_instantiate(drbg, td->pers, td->perslen) > 0 + || !uninstantiate(drbg)) + goto err; + + /* + * Nonce tests + */ + + /* Test too small nonce */ + if (drbg->min_noncelen) { + t.noncelen = drbg->min_noncelen - 1; + if (!init(drbg, td, &t) + || RAND_DRBG_instantiate(drbg, td->pers, td->perslen) > 0 + || !uninstantiate(drbg)) + goto err; + } + + /* Test too large nonce */ + if (drbg->max_noncelen) { + t.noncelen = drbg->max_noncelen + 1; + if (!init(drbg, td, &t) + || RAND_DRBG_instantiate(drbg, td->pers, td->perslen) > 0 + || !uninstantiate(drbg)) + goto err; + } + + /* Instantiate with valid data, Check generation is now OK */ + if (!instantiate(drbg, td, &t) + || !TEST_true(RAND_DRBG_generate(drbg, buff, td->exlen, 0, + td->adin, td->adinlen))) + goto err; + + /* Request too much data for one request */ + if (!TEST_false(RAND_DRBG_generate(drbg, buff, drbg->max_request + 1, 0, + td->adin, td->adinlen))) + goto err; + + /* Try too large additional input */ + if (!TEST_false(RAND_DRBG_generate(drbg, buff, td->exlen, 0, + td->adin, drbg->max_adinlen + 1))) + goto err; + + /* + * Check prediction resistance request fails if entropy source + * failure. + */ + t.entropylen = 0; + if (TEST_false(RAND_DRBG_generate(drbg, buff, td->exlen, 1, + td->adin, td->adinlen)) + || !uninstantiate(drbg)) + goto err; + + /* Instantiate again with valid data */ + if (!instantiate(drbg, td, &t)) + goto err; + reseed_counter_tmp = drbg->reseed_gen_counter; + drbg->reseed_gen_counter = drbg->reseed_interval; + + /* Generate output and check entropy has been requested for reseed */ + t.entropycnt = 0; + if (!TEST_true(RAND_DRBG_generate(drbg, buff, td->exlen, 0, + td->adin, td->adinlen)) + || !TEST_int_eq(t.entropycnt, 1) + || !TEST_int_eq(drbg->reseed_gen_counter, reseed_counter_tmp + 1) + || !uninstantiate(drbg)) + goto err; + + /* + * Check prediction resistance request fails if entropy source + * failure. + */ + t.entropylen = 0; + if (!TEST_false(RAND_DRBG_generate(drbg, buff, td->exlen, 1, + td->adin, td->adinlen)) + || !uninstantiate(drbg)) + goto err; + + /* Test reseed counter works */ + if (!instantiate(drbg, td, &t)) + goto err; + reseed_counter_tmp = drbg->reseed_gen_counter; + drbg->reseed_gen_counter = drbg->reseed_interval; + + /* Generate output and check entropy has been requested for reseed */ + t.entropycnt = 0; + if (!TEST_true(RAND_DRBG_generate(drbg, buff, td->exlen, 0, + td->adin, td->adinlen)) + || !TEST_int_eq(t.entropycnt, 1) + || !TEST_int_eq(drbg->reseed_gen_counter, reseed_counter_tmp + 1) + || !uninstantiate(drbg)) + goto err; + + /* + * Explicit reseed tests + */ + + /* Test explicit reseed with too large additional input */ + if (!instantiate(drbg, td, &t) + || RAND_DRBG_reseed(drbg, td->adin, drbg->max_adinlen + 1, 0) > 0) + goto err; + + /* Test explicit reseed with entropy source failure */ + t.entropylen = 0; + if (!TEST_int_le(RAND_DRBG_reseed(drbg, td->adin, td->adinlen, 0), 0) + || !uninstantiate(drbg)) + goto err; + + /* Test explicit reseed with too much entropy */ + if (!instantiate(drbg, td, &t)) + goto err; + t.entropylen = drbg->max_entropylen + 1; + if (!TEST_int_le(RAND_DRBG_reseed(drbg, td->adin, td->adinlen, 0), 0) + || !uninstantiate(drbg)) + goto err; + + /* Test explicit reseed with too little entropy */ + if (!instantiate(drbg, td, &t)) + goto err; + t.entropylen = drbg->min_entropylen - 1; + if (!TEST_int_le(RAND_DRBG_reseed(drbg, td->adin, td->adinlen, 0), 0) + || !uninstantiate(drbg)) + goto err; + + /* Standard says we have to check uninstantiate really zeroes */ + if (!TEST_mem_eq(zero, sizeof(drbg->data), &drbg->data, sizeof(drbg->data))) + goto err; + + ret = 1; + +err: + uninstantiate(drbg); + RAND_DRBG_free(drbg); + return ret; +} + +static int test_kats(int i) +{ + DRBG_SELFTEST_DATA *td = &drbg_test[i]; + int rv = 0; + + if (!single_kat(td)) + goto err; + rv = 1; + +err: + return rv; +} + +static int test_error_checks(int i) +{ + DRBG_SELFTEST_DATA *td = &drbg_test[i]; + int rv = 0; + + if (error_check(td)) + goto err; + rv = 1; + +err: + return rv; +} + +/* + * Hook context data, attached as EXDATA to the RAND_DRBG + */ +typedef struct hook_ctx_st { + RAND_DRBG *drbg; + /* + * Currently, all DRBGs use the same get_entropy() callback. + * The tests however, don't assume this and store + * the original callback for every DRBG separately. + */ + RAND_DRBG_get_entropy_fn get_entropy; + /* forces a failure of the get_entropy() call if nonzero */ + int fail; + /* counts successful reseeds */ + int reseed_count; +} HOOK_CTX; + +static HOOK_CTX master_ctx, public_ctx, private_ctx; + +static HOOK_CTX *get_hook_ctx(RAND_DRBG *drbg) +{ + return (HOOK_CTX *)RAND_DRBG_get_ex_data(drbg, app_data_index); +} + +/* Intercepts and counts calls to the get_entropy() callback */ +static size_t get_entropy_hook(RAND_DRBG *drbg, unsigned char **pout, + int entropy, size_t min_len, size_t max_len, + int prediction_resistance) +{ + size_t ret; + HOOK_CTX *ctx = get_hook_ctx(drbg); + + if (ctx->fail != 0) + return 0; + + ret = ctx->get_entropy(drbg, pout, entropy, min_len, max_len, + prediction_resistance); + + if (ret != 0) + ctx->reseed_count++; + return ret; +} + +/* Installs a hook for the get_entropy() callback of the given drbg */ +static void hook_drbg(RAND_DRBG *drbg, HOOK_CTX *ctx) +{ + memset(ctx, 0, sizeof(*ctx)); + ctx->drbg = drbg; + ctx->get_entropy = drbg->get_entropy; + drbg->get_entropy = get_entropy_hook; + RAND_DRBG_set_ex_data(drbg, app_data_index, ctx); +} + +/* Installs the hook for the get_entropy() callback of the given drbg */ +static void unhook_drbg(RAND_DRBG *drbg) +{ + HOOK_CTX *ctx = get_hook_ctx(drbg); + + drbg->get_entropy = ctx->get_entropy; + CRYPTO_free_ex_data(CRYPTO_EX_INDEX_DRBG, drbg, &drbg->ex_data); +} + +/* Resets the given hook context */ +static void reset_hook_ctx(HOOK_CTX *ctx) +{ + ctx->fail = 0; + ctx->reseed_count = 0; +} + +/* Resets all drbg hook contexts */ +static void reset_drbg_hook_ctx(void) +{ + reset_hook_ctx(&master_ctx); + reset_hook_ctx(&public_ctx); + reset_hook_ctx(&private_ctx); +} + +/* + * Generates random output using RAND_bytes() and RAND_priv_bytes() + * and checks whether the three shared DRBGs were reseeded as + * expected. + * + * |expect_success|: expected outcome (as reported by RAND_status()) + * |master|, |public|, |private|: pointers to the three shared DRBGs + * |expect_xxx_reseed| = + * 1: it is expected that the specified DRBG is reseeded + * 0: it is expected that the specified DRBG is not reseeded + * -1: don't check whether the specified DRBG was reseeded or not + * |reseed_time|: if nonzero, used instead of time(NULL) to set the + * |before_reseed| time. + */ +static int test_drbg_reseed(int expect_success, + RAND_DRBG *master, + RAND_DRBG *public, + RAND_DRBG *private, + int expect_master_reseed, + int expect_public_reseed, + int expect_private_reseed, + time_t reseed_time + ) +{ + unsigned char buf[32]; + time_t before_reseed, after_reseed; + int expected_state = (expect_success ? DRBG_READY : DRBG_ERROR); + + /* + * step 1: check preconditions + */ + + /* Test whether seed propagation is enabled */ + if (!TEST_int_ne(master->reseed_prop_counter, 0) + || !TEST_int_ne(public->reseed_prop_counter, 0) + || !TEST_int_ne(private->reseed_prop_counter, 0)) + return 0; + + /* Check whether the master DRBG's reseed counter is the largest one */ + if (!TEST_int_le(public->reseed_prop_counter, master->reseed_prop_counter) + || !TEST_int_le(private->reseed_prop_counter, master->reseed_prop_counter)) + return 0; + + /* + * step 2: generate random output + */ + + if (reseed_time == 0) + reseed_time = time(NULL); + + /* Generate random output from the public and private DRBG */ + before_reseed = expect_master_reseed == 1 ? reseed_time : 0; + if (!TEST_int_eq(RAND_bytes(buf, sizeof(buf)), expect_success) + || !TEST_int_eq(RAND_priv_bytes(buf, sizeof(buf)), expect_success)) + return 0; + after_reseed = time(NULL); + + + /* + * step 3: check postconditions + */ + + /* Test whether reseeding succeeded as expected */ + if (!TEST_int_eq(master->state, expected_state) + || !TEST_int_eq(public->state, expected_state) + || !TEST_int_eq(private->state, expected_state)) + return 0; + + if (expect_master_reseed >= 0) { + /* Test whether master DRBG was reseeded as expected */ + if (!TEST_int_eq(master_ctx.reseed_count, expect_master_reseed)) + return 0; + } + + if (expect_public_reseed >= 0) { + /* Test whether public DRBG was reseeded as expected */ + if (!TEST_int_eq(public_ctx.reseed_count, expect_public_reseed)) + return 0; + } + + if (expect_private_reseed >= 0) { + /* Test whether public DRBG was reseeded as expected */ + if (!TEST_int_eq(private_ctx.reseed_count, expect_private_reseed)) + return 0; + } + + if (expect_success == 1) { + /* Test whether all three reseed counters are synchronized */ + if (!TEST_int_eq(public->reseed_prop_counter, master->reseed_prop_counter) + || !TEST_int_eq(private->reseed_prop_counter, master->reseed_prop_counter)) + return 0; + + /* Test whether reseed time of master DRBG is set correctly */ + if (!TEST_time_t_le(before_reseed, master->reseed_time) + || !TEST_time_t_le(master->reseed_time, after_reseed)) + return 0; + + /* Test whether reseed times of child DRBGs are synchronized with master */ + if (!TEST_time_t_ge(public->reseed_time, master->reseed_time) + || !TEST_time_t_ge(private->reseed_time, master->reseed_time)) + return 0; + } else { + ERR_clear_error(); + } + + return 1; +} + + +#if defined(OPENSSL_SYS_UNIX) +/* + * Test whether master, public and private DRBG are reseeded after + * forking the process. + */ +static int test_drbg_reseed_after_fork(RAND_DRBG *master, + RAND_DRBG *public, + RAND_DRBG *private) +{ + pid_t pid; + int status=0; + + pid = fork(); + if (!TEST_int_ge(pid, 0)) + return 0; + + if (pid > 0) { + /* I'm the parent; wait for the child and check its exit code */ + return TEST_int_eq(waitpid(pid, &status, 0), pid) && TEST_int_eq(status, 0); + } + + /* I'm the child; check whether all three DRBGs reseed. */ + if (!TEST_true(test_drbg_reseed(1, master, public, private, 1, 1, 1, 0))) + status = 1; + + /* Remove hooks */ + unhook_drbg(master); + unhook_drbg(public); + unhook_drbg(private); + exit(status); +} +#endif + +/* + * Test whether the default rand_method (RAND_OpenSSL()) is + * setup correctly, in particular whether reseeding works + * as designed. + */ +static int test_rand_drbg_reseed(void) +{ + RAND_DRBG *master, *public, *private; + unsigned char rand_add_buf[256]; + int rv=0; + time_t before_reseed; + + /* Check whether RAND_OpenSSL() is the default method */ + if (!TEST_ptr_eq(RAND_get_rand_method(), RAND_OpenSSL())) + return 0; + + /* All three DRBGs should be non-null */ + if (!TEST_ptr(master = RAND_DRBG_get0_master()) + || !TEST_ptr(public = RAND_DRBG_get0_public()) + || !TEST_ptr(private = RAND_DRBG_get0_private())) + return 0; + + /* There should be three distinct DRBGs, two of them chained to master */ + if (!TEST_ptr_ne(public, private) + || !TEST_ptr_ne(public, master) + || !TEST_ptr_ne(private, master) + || !TEST_ptr_eq(public->parent, master) + || !TEST_ptr_eq(private->parent, master)) + return 0; + + /* uninstantiate the three global DRBGs */ + RAND_DRBG_uninstantiate(private); + RAND_DRBG_uninstantiate(public); + RAND_DRBG_uninstantiate(master); + + + /* Install hooks for the following tests */ + hook_drbg(master, &master_ctx); + hook_drbg(public, &public_ctx); + hook_drbg(private, &private_ctx); + + + /* + * Test initial seeding of shared DRBGs + */ + if (!TEST_true(test_drbg_reseed(1, master, public, private, 1, 1, 1, 0))) + goto error; + reset_drbg_hook_ctx(); + + + /* + * Test initial state of shared DRBGs + */ + if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 0, 0, 0))) + goto error; + reset_drbg_hook_ctx(); + + /* + * Test whether the public and private DRBG are both reseeded when their + * reseed counters differ from the master's reseed counter. + */ + master->reseed_prop_counter++; + if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 1, 1, 0))) + goto error; + reset_drbg_hook_ctx(); + + /* + * Test whether the public DRBG is reseeded when its reseed counter differs + * from the master's reseed counter. + */ + master->reseed_prop_counter++; + private->reseed_prop_counter++; + if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 1, 0, 0))) + goto error; + reset_drbg_hook_ctx(); + + /* + * Test whether the private DRBG is reseeded when its reseed counter differs + * from the master's reseed counter. + */ + master->reseed_prop_counter++; + public->reseed_prop_counter++; + if (!TEST_true(test_drbg_reseed(1, master, public, private, 0, 0, 1, 0))) + goto error; + reset_drbg_hook_ctx(); + +#if defined(OPENSSL_SYS_UNIX) + if (!TEST_true(test_drbg_reseed_after_fork(master, public, private))) + goto error; +#endif + + /* fill 'randomness' buffer with some arbitrary data */ + memset(rand_add_buf, 'r', sizeof(rand_add_buf)); + + /* + * Test whether all three DRBGs are reseeded by RAND_add(). + * The before_reseed time has to be measured here and passed into the + * test_drbg_reseed() test, because the master DRBG gets already reseeded + * in RAND_add(), whence the check for the condition + * before_reseed <= master->reseed_time will fail if the time value happens + * to increase between the RAND_add() and the test_drbg_reseed() call. + */ + before_reseed = time(NULL); + RAND_add(rand_add_buf, sizeof(rand_add_buf), sizeof(rand_add_buf)); + if (!TEST_true(test_drbg_reseed(1, master, public, private, 1, 1, 1, + before_reseed))) + goto error; + reset_drbg_hook_ctx(); + + + /* + * Test whether none of the DRBGs is reseed if the master fails to reseed + */ + master_ctx.fail = 1; + master->reseed_prop_counter++; + RAND_add(rand_add_buf, sizeof(rand_add_buf), sizeof(rand_add_buf)); + if (!TEST_true(test_drbg_reseed(0, master, public, private, 0, 0, 0, 0))) + goto error; + reset_drbg_hook_ctx(); + + rv = 1; + +error: + /* Remove hooks */ + unhook_drbg(master); + unhook_drbg(public); + unhook_drbg(private); + + return rv; +} + +#if defined(OPENSSL_THREADS) +static int multi_thread_rand_bytes_succeeded = 1; +static int multi_thread_rand_priv_bytes_succeeded = 1; + +static void run_multi_thread_test(void) +{ + unsigned char buf[256]; + time_t start = time(NULL); + RAND_DRBG *public = NULL, *private = NULL; + + if (!TEST_ptr(public = RAND_DRBG_get0_public()) + || !TEST_ptr(private = RAND_DRBG_get0_private())) { + multi_thread_rand_bytes_succeeded = 0; + return; + } + RAND_DRBG_set_reseed_time_interval(private, 1); + RAND_DRBG_set_reseed_time_interval(public, 1); + + do { + if (RAND_bytes(buf, sizeof(buf)) <= 0) + multi_thread_rand_bytes_succeeded = 0; + if (RAND_priv_bytes(buf, sizeof(buf)) <= 0) + multi_thread_rand_priv_bytes_succeeded = 0; + } + while(time(NULL) - start < 5); +} + +# if defined(OPENSSL_SYS_WINDOWS) + +typedef HANDLE thread_t; + +static DWORD WINAPI thread_run(LPVOID arg) +{ + run_multi_thread_test(); + /* + * Because we're linking with a static library, we must stop each + * thread explicitly, or so says OPENSSL_thread_stop(3) + */ + OPENSSL_thread_stop(); + return 0; +} + +static int run_thread(thread_t *t) +{ + *t = CreateThread(NULL, 0, thread_run, NULL, 0, NULL); + return *t != NULL; +} + +static int wait_for_thread(thread_t thread) +{ + return WaitForSingleObject(thread, INFINITE) == 0; +} + +# else + +typedef pthread_t thread_t; + +static void *thread_run(void *arg) +{ + run_multi_thread_test(); + /* + * Because we're linking with a static library, we must stop each + * thread explicitly, or so says OPENSSL_thread_stop(3) + */ + OPENSSL_thread_stop(); + return NULL; +} + +static int run_thread(thread_t *t) +{ + return pthread_create(t, NULL, thread_run, NULL) == 0; +} + +static int wait_for_thread(thread_t thread) +{ + return pthread_join(thread, NULL) == 0; +} + +# endif + +/* + * The main thread will also run the test, so we'll have THREADS+1 parallel + * tests running + */ +# define THREADS 3 + +static int test_multi_thread(void) +{ + thread_t t[THREADS]; + int i; + + for (i = 0; i < THREADS; i++) + run_thread(&t[i]); + run_multi_thread_test(); + for (i = 0; i < THREADS; i++) + wait_for_thread(t[i]); + + if (!TEST_true(multi_thread_rand_bytes_succeeded)) + return 0; + if (!TEST_true(multi_thread_rand_priv_bytes_succeeded)) + return 0; + + return 1; +} +#endif + +/* + * Test that instantiation with RAND_seed() works as expected + * + * If no os entropy source is available then RAND_seed(buffer, bufsize) + * is expected to succeed if and only if the buffer length is at least + * rand_drbg_seedlen(master) bytes. + * + * If an os entropy source is available then RAND_seed(buffer, bufsize) + * is expected to succeed always. + */ +static int test_rand_seed(void) +{ + RAND_DRBG *master = NULL; + unsigned char rand_buf[256]; + size_t rand_buflen; + size_t required_seed_buflen = 0; + + if (!TEST_ptr(master = RAND_DRBG_get0_master())) + return 0; + +#ifdef OPENSSL_RAND_SEED_NONE + required_seed_buflen = rand_drbg_seedlen(master); +#endif + + memset(rand_buf, 0xCD, sizeof(rand_buf)); + + for ( rand_buflen = 256 ; rand_buflen > 0 ; --rand_buflen ) { + RAND_DRBG_uninstantiate(master); + RAND_seed(rand_buf, rand_buflen); + + if (!TEST_int_eq(RAND_status(), + (rand_buflen >= required_seed_buflen))) + return 0; + } + + return 1; +} + +/* + * Test that adding additional data with RAND_add() works as expected + * when the master DRBG is instantiated (and below its reseed limit). + * + * This should succeed regardless of whether an os entropy source is + * available or not. + */ +static int test_rand_add(void) +{ + unsigned char rand_buf[256]; + size_t rand_buflen; + + memset(rand_buf, 0xCD, sizeof(rand_buf)); + + /* make sure it's instantiated */ + RAND_seed(rand_buf, sizeof(rand_buf)); + if (!TEST_true(RAND_status())) + return 0; + + for ( rand_buflen = 256 ; rand_buflen > 0 ; --rand_buflen ) { + RAND_add(rand_buf, rand_buflen, 0.0); + if (!TEST_true(RAND_status())) + return 0; + } + + return 1; +} + +int setup_tests(void) +{ + app_data_index = RAND_DRBG_get_ex_new_index(0L, NULL, NULL, NULL, NULL); + + ADD_ALL_TESTS(test_kats, OSSL_NELEM(drbg_test)); + ADD_ALL_TESTS(test_error_checks, OSSL_NELEM(drbg_test)); + ADD_TEST(test_rand_drbg_reseed); + ADD_TEST(test_rand_seed); + ADD_TEST(test_rand_add); +#if defined(OPENSSL_THREADS) + ADD_TEST(test_multi_thread); +#endif + return 1; +} diff --git a/deps/openssl/openssl/test/dsa_no_digest_size_test.c b/deps/openssl/openssl/test/dsa_no_digest_size_test.c new file mode 100644 index 00000000000000..b107635e87cc14 --- /dev/null +++ b/deps/openssl/openssl/test/dsa_no_digest_size_test.c @@ -0,0 +1,244 @@ +/* + * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include + +#include "testutil.h" + +#include +#include +#include + +#ifndef OPENSSL_NO_DSA +#include + +static DSA *dsakey; + +/* + * These parameters are from test/recipes/04-test_pem_data/dsaparam.pem, + * converted using dsaparam -C + */ +static DSA *load_dsa_params(void) +{ + static unsigned char dsap_2048[] = { + 0xAE, 0x35, 0x7D, 0x4E, 0x1D, 0x96, 0xE2, 0x9F, 0x00, 0x96, + 0x60, 0x5A, 0x6E, 0x4D, 0x07, 0x8D, 0xA5, 0x7C, 0xBC, 0xF9, + 0xAD, 0xD7, 0x9F, 0xD5, 0xE9, 0xEE, 0xA6, 0x33, 0x51, 0xDE, + 0x7B, 0x72, 0xD2, 0x75, 0xAA, 0x71, 0x77, 0xF1, 0x63, 0xFB, + 0xB6, 0xEC, 0x5A, 0xBA, 0x0D, 0x72, 0xA2, 0x1A, 0x1C, 0x64, + 0xB8, 0xE5, 0x89, 0x09, 0x6D, 0xC9, 0x6F, 0x0B, 0x7F, 0xD2, + 0xCE, 0x9F, 0xEF, 0x87, 0x5A, 0xB6, 0x67, 0x2F, 0xEF, 0xEE, + 0xEB, 0x59, 0xF5, 0x5E, 0xFF, 0xA8, 0x28, 0x84, 0x9E, 0x5B, + 0x37, 0x09, 0x11, 0x80, 0x7C, 0x08, 0x5C, 0xD5, 0xE1, 0x48, + 0x4B, 0xD2, 0x68, 0xFB, 0x3F, 0x9F, 0x2B, 0x6B, 0x6C, 0x0D, + 0x48, 0x1B, 0x1A, 0x80, 0xC2, 0xEB, 0x11, 0x1B, 0x37, 0x79, + 0xD6, 0x8C, 0x8B, 0x72, 0x3E, 0x67, 0xA5, 0x05, 0x0E, 0x41, + 0x8A, 0x9E, 0x35, 0x50, 0xB4, 0xD2, 0x40, 0x27, 0x6B, 0xFD, + 0xE0, 0x64, 0x6B, 0x5B, 0x38, 0x42, 0x94, 0xB5, 0x49, 0xDA, + 0xEF, 0x6E, 0x78, 0x37, 0xCD, 0x30, 0x89, 0xC3, 0x45, 0x50, + 0x7B, 0x9C, 0x8C, 0xE7, 0x1C, 0x98, 0x70, 0x71, 0x5D, 0x79, + 0x5F, 0xEF, 0xE8, 0x94, 0x85, 0x53, 0x3E, 0xEF, 0xA3, 0x2C, + 0xCE, 0x1A, 0xAB, 0x7D, 0xD6, 0x5E, 0x14, 0xCD, 0x51, 0x54, + 0x89, 0x9D, 0x77, 0xE4, 0xF8, 0x22, 0xF0, 0x35, 0x10, 0x75, + 0x05, 0x71, 0x51, 0x4F, 0x8C, 0x4C, 0x5C, 0x0D, 0x2C, 0x2C, + 0xBE, 0x6C, 0x34, 0xEE, 0x12, 0x82, 0x87, 0x03, 0x19, 0x06, + 0x12, 0xA8, 0xAA, 0xF4, 0x0D, 0x3C, 0x49, 0xCC, 0x70, 0x5A, + 0xD8, 0x32, 0xEE, 0x32, 0x50, 0x85, 0x70, 0xE8, 0x18, 0xFD, + 0x74, 0x80, 0x53, 0x32, 0x57, 0xEE, 0x50, 0xC9, 0xAE, 0xEB, + 0xAE, 0xB6, 0x22, 0x32, 0x16, 0x6B, 0x8C, 0x59, 0xDA, 0xEE, + 0x1D, 0x33, 0xDF, 0x4C, 0xA2, 0x3D + }; + static unsigned char dsaq_2048[] = { + 0xAD, 0x2D, 0x6E, 0x17, 0xB0, 0xF3, 0xEB, 0xC7, 0xB8, 0xEE, + 0x95, 0x78, 0xF2, 0x17, 0xF5, 0x33, 0x01, 0x67, 0xBC, 0xDE, + 0x93, 0xFF, 0xEE, 0x40, 0xE8, 0x7F, 0xF1, 0x93, 0x6D, 0x4B, + 0x87, 0x13 + }; + static unsigned char dsag_2048[] = { + 0x66, 0x6F, 0xDA, 0x63, 0xA5, 0x8E, 0xD2, 0x4C, 0xD5, 0x45, + 0x2D, 0x76, 0x5D, 0x5F, 0xCD, 0x4A, 0xB4, 0x1A, 0x42, 0x35, + 0x86, 0x3A, 0x6F, 0xA9, 0xFA, 0x27, 0xAB, 0xDE, 0x03, 0x21, + 0x36, 0x0A, 0x07, 0x29, 0xC9, 0x2F, 0x6D, 0x49, 0xA8, 0xF7, + 0xC6, 0xF4, 0x92, 0xD7, 0x73, 0xC1, 0xD8, 0x76, 0x0E, 0x61, + 0xA7, 0x0B, 0x6E, 0x96, 0xB8, 0xC8, 0xCB, 0x38, 0x35, 0x12, + 0x20, 0x79, 0xA5, 0x08, 0x28, 0x35, 0x5C, 0xBC, 0x52, 0x16, + 0xAF, 0x52, 0xBA, 0x0F, 0xC3, 0xB1, 0x63, 0x12, 0x27, 0x0B, + 0x74, 0xA4, 0x47, 0x43, 0xD6, 0x30, 0xB8, 0x9C, 0x2E, 0x40, + 0x14, 0xCD, 0x99, 0x7F, 0xE8, 0x8E, 0x37, 0xB0, 0xA9, 0x3F, + 0x54, 0xE9, 0x66, 0x22, 0x61, 0x4C, 0xF8, 0x49, 0x03, 0x57, + 0x14, 0x32, 0x1D, 0x37, 0x3D, 0xE2, 0x92, 0xF8, 0x8E, 0xA0, + 0x6A, 0x66, 0x63, 0xF0, 0xB0, 0x6E, 0x07, 0x2B, 0x3D, 0xBF, + 0xD0, 0x84, 0x6A, 0xAA, 0x1F, 0x30, 0x77, 0x65, 0xE5, 0xFC, + 0xF5, 0xEC, 0x55, 0xCE, 0x73, 0xDB, 0xBE, 0xA7, 0x8D, 0x3A, + 0x9F, 0x7A, 0xED, 0x4F, 0xAF, 0xA2, 0x80, 0x4C, 0x30, 0x9E, + 0x28, 0x49, 0x65, 0x40, 0xF0, 0x03, 0x45, 0x56, 0x99, 0xA2, + 0x93, 0x1B, 0x9C, 0x46, 0xDE, 0xBD, 0xA8, 0xAB, 0x5F, 0x90, + 0x3F, 0xB7, 0x3F, 0xD4, 0x6F, 0x8D, 0x5A, 0x30, 0xE1, 0xD4, + 0x63, 0x3A, 0x6A, 0x7C, 0x8F, 0x24, 0xFC, 0xD9, 0x14, 0x28, + 0x09, 0xE4, 0x84, 0x4E, 0x17, 0x43, 0x56, 0xB8, 0xD4, 0x4B, + 0xA2, 0x29, 0x45, 0xD3, 0x13, 0xF0, 0xC2, 0x76, 0x9B, 0x01, + 0xA0, 0x80, 0x6E, 0x93, 0x63, 0x5E, 0x87, 0x24, 0x20, 0x2A, + 0xFF, 0xBB, 0x9F, 0xA8, 0x99, 0x6C, 0xA7, 0x9A, 0x00, 0xB9, + 0x7D, 0xDA, 0x66, 0xC9, 0xC0, 0x72, 0x72, 0x22, 0x0F, 0x1A, + 0xCC, 0x23, 0xD9, 0xB7, 0x5F, 0x1B + }; + DSA *dsa = DSA_new(); + BIGNUM *p, *q, *g; + + if (dsa == NULL) + return NULL; + if (!DSA_set0_pqg(dsa, p = BN_bin2bn(dsap_2048, sizeof(dsap_2048), NULL), + q = BN_bin2bn(dsaq_2048, sizeof(dsaq_2048), NULL), + g = BN_bin2bn(dsag_2048, sizeof(dsag_2048), NULL))) { + DSA_free(dsa); + BN_free(p); + BN_free(q); + BN_free(g); + return NULL; + } + return dsa; +} + +static int genkeys(void) +{ + if (!TEST_ptr(dsakey = load_dsa_params())) + return 0; + + if (!TEST_int_eq(DSA_generate_key(dsakey), 1)) + return 0; + + return 1; +} + +static int sign_and_verify(int len) +{ + /* + * Per FIPS 186-4, the hash is recommended to be the same length as q. + * If the hash is longer than q, the leftmost N bits are used; if the hash + * is shorter, then we left-pad (see appendix C.2.1). + */ + size_t sigLength; + int digestlen = BN_num_bytes(DSA_get0_q(dsakey)); + int ok = 0; + + unsigned char *dataToSign = OPENSSL_malloc(len); + unsigned char *paddedData = OPENSSL_malloc(digestlen); + unsigned char *signature = NULL; + EVP_PKEY_CTX *ctx = NULL; + EVP_PKEY *pkey = NULL; + + if (!TEST_ptr(dataToSign) || + !TEST_ptr(paddedData) || + !TEST_int_eq(RAND_bytes(dataToSign, len), 1)) + goto end; + + memset(paddedData, 0, digestlen); + if (len > digestlen) + memcpy(paddedData, dataToSign, digestlen); + else + memcpy(paddedData + digestlen - len, dataToSign, len); + + if (!TEST_ptr(pkey = EVP_PKEY_new())) + goto end; + EVP_PKEY_set1_DSA(pkey, dsakey); + + if (!TEST_ptr(ctx = EVP_PKEY_CTX_new(pkey, NULL))) + goto end; + if (!TEST_int_eq(EVP_PKEY_sign_init(ctx), 1)) + goto end; + + if (EVP_PKEY_sign(ctx, NULL, &sigLength, dataToSign, len) != 1) { + TEST_error("Failed to get signature length, len=%d", len); + goto end; + } + + if (!TEST_ptr(signature = OPENSSL_malloc(sigLength))) + goto end; + + if (EVP_PKEY_sign(ctx, signature, &sigLength, dataToSign, len) != 1) { + TEST_error("Failed to sign, len=%d", len); + goto end; + } + + /* Check that the signature is okay via the EVP interface */ + if (!TEST_int_eq(EVP_PKEY_verify_init(ctx), 1)) + goto end; + + /* ... using the same data we just signed */ + if (EVP_PKEY_verify(ctx, signature, sigLength, dataToSign, len) != 1) { + TEST_error("EVP verify with unpadded length %d failed\n", len); + goto end; + } + + /* ... padding/truncating the data to the appropriate digest size */ + if (EVP_PKEY_verify(ctx, signature, sigLength, paddedData, digestlen) != 1) { + TEST_error("EVP verify with length %d failed\n", len); + goto end; + } + + /* Verify again using the raw DSA interface */ + if (DSA_verify(0, dataToSign, len, signature, sigLength, dsakey) != 1) { + TEST_error("Verification with unpadded data failed, len=%d", len); + goto end; + } + + if (DSA_verify(0, paddedData, digestlen, signature, sigLength, dsakey) != 1) { + TEST_error("verify with length %d failed\n", len); + goto end; + } + + ok = 1; +end: + EVP_PKEY_CTX_free(ctx); + EVP_PKEY_free(pkey); + + OPENSSL_free(signature); + OPENSSL_free(paddedData); + OPENSSL_free(dataToSign); + + return ok; +} + +static int dsa_exact_size_test(void) { + /* + * For a 2048-bit p, q should be either 224 or 256 bits per the table in + * FIPS 186-4 4.2. + */ + + return sign_and_verify(224 / 8) && sign_and_verify(256 / 8); +} + +static int dsa_small_digest_test(void) { + return sign_and_verify(16) && sign_and_verify(1); +} + +static int dsa_large_digest_test(void) { + return sign_and_verify(33) && sign_and_verify(64); +} + +void cleanup_tests(void) +{ + DSA_free(dsakey); +} + +#endif /* OPENSSL_NO_DSA */ + +int setup_tests(void) +{ +#ifndef OPENSSL_NO_DSA + if (!genkeys()) + return 0; + + ADD_TEST(dsa_exact_size_test); + ADD_TEST(dsa_small_digest_test); + ADD_TEST(dsa_large_digest_test); +#endif + return 1; +} diff --git a/deps/openssl/openssl/test/dtls_mtu_test.c b/deps/openssl/openssl/test/dtls_mtu_test.c new file mode 100644 index 00000000000000..f20edf02d2f5dd --- /dev/null +++ b/deps/openssl/openssl/test/dtls_mtu_test.c @@ -0,0 +1,196 @@ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include + +#include +#include +#include + +#include "ssltestlib.h" +#include "testutil.h" + +/* for SSL_READ_ETM() */ +#include "../ssl/ssl_local.h" + +static int debug = 0; + +static unsigned int clnt_psk_callback(SSL *ssl, const char *hint, + char *ident, unsigned int max_ident_len, + unsigned char *psk, + unsigned int max_psk_len) +{ + BIO_snprintf(ident, max_ident_len, "psk"); + + if (max_psk_len > 20) + max_psk_len = 20; + memset(psk, 0x5a, max_psk_len); + + return max_psk_len; +} + +static unsigned int srvr_psk_callback(SSL *ssl, const char *identity, + unsigned char *psk, + unsigned int max_psk_len) +{ + if (max_psk_len > 20) + max_psk_len = 20; + memset(psk, 0x5a, max_psk_len); + return max_psk_len; +} + +static int mtu_test(SSL_CTX *ctx, const char *cs, int no_etm) +{ + SSL *srvr_ssl = NULL, *clnt_ssl = NULL; + BIO *sc_bio = NULL; + int i; + size_t s; + size_t mtus[30]; + unsigned char buf[600]; + int rv = 0; + + memset(buf, 0x5a, sizeof(buf)); + + if (!TEST_true(create_ssl_objects(ctx, ctx, &srvr_ssl, &clnt_ssl, + NULL, NULL))) + goto end; + + if (no_etm) + SSL_set_options(srvr_ssl, SSL_OP_NO_ENCRYPT_THEN_MAC); + + if (!TEST_true(SSL_set_cipher_list(srvr_ssl, cs)) + || !TEST_true(SSL_set_cipher_list(clnt_ssl, cs)) + || !TEST_ptr(sc_bio = SSL_get_rbio(srvr_ssl)) + || !TEST_true(create_ssl_connection(clnt_ssl, srvr_ssl, + SSL_ERROR_NONE))) + goto end; + + if (debug) + TEST_info("Channel established"); + + /* For record MTU values between 500 and 539, call DTLS_get_data_mtu() + * to query the payload MTU which will fit. */ + for (i = 0; i < 30; i++) { + SSL_set_mtu(clnt_ssl, 500 + i); + mtus[i] = DTLS_get_data_mtu(clnt_ssl); + if (debug) + TEST_info("%s%s MTU for record mtu %d = %lu", + cs, no_etm ? "-noEtM" : "", + 500 + i, (unsigned long)mtus[i]); + if (!TEST_size_t_ne(mtus[i], 0)) { + TEST_info("Cipher %s MTU %d", cs, 500 + i); + goto end; + } + } + + /* Now get out of the way */ + SSL_set_mtu(clnt_ssl, 1000); + + /* + * Now for all values in the range of payload MTUs, send a payload of + * that size and see what actual record size we end up with. + */ + for (s = mtus[0]; s <= mtus[29]; s++) { + size_t reclen; + + if (!TEST_int_eq(SSL_write(clnt_ssl, buf, s), (int)s)) + goto end; + reclen = BIO_read(sc_bio, buf, sizeof(buf)); + if (debug) + TEST_info("record %zu for payload %zu", reclen, s); + + for (i = 0; i < 30; i++) { + /* DTLS_get_data_mtu() with record MTU 500+i returned mtus[i] ... */ + + if (!TEST_false(s <= mtus[i] && reclen > (size_t)(500 + i))) { + /* + * We sent a packet smaller than or equal to mtus[j] and + * that made a record *larger* than the record MTU 500+j! + */ + TEST_error("%s: s=%lu, mtus[i]=%lu, reclen=%lu, i=%d", + cs, (unsigned long)s, (unsigned long)mtus[i], + (unsigned long)reclen, 500 + i); + goto end; + } + if (!TEST_false(s > mtus[i] && reclen <= (size_t)(500 + i))) { + /* + * We sent a *larger* packet than mtus[i] and that *still* + * fits within the record MTU 500+i, so DTLS_get_data_mtu() + * was overly pessimistic. + */ + TEST_error("%s: s=%lu, mtus[i]=%lu, reclen=%lu, i=%d", + cs, (unsigned long)s, (unsigned long)mtus[i], + (unsigned long)reclen, 500 + i); + goto end; + } + } + } + rv = 1; + if (SSL_READ_ETM(clnt_ssl)) + rv = 2; + end: + SSL_free(clnt_ssl); + SSL_free(srvr_ssl); + return rv; +} + +static int run_mtu_tests(void) +{ + SSL_CTX *ctx = NULL; + STACK_OF(SSL_CIPHER) *ciphers; + int i, ret = 0; + + if (!TEST_ptr(ctx = SSL_CTX_new(DTLS_method()))) + goto end; + + SSL_CTX_set_psk_server_callback(ctx, srvr_psk_callback); + SSL_CTX_set_psk_client_callback(ctx, clnt_psk_callback); + SSL_CTX_set_security_level(ctx, 0); + + /* + * We only care about iterating over each enc/mac; we don't want to + * repeat the test for each auth/kx variant. So keep life simple and + * only do (non-DH) PSK. + */ + if (!TEST_true(SSL_CTX_set_cipher_list(ctx, "PSK"))) + goto end; + + ciphers = SSL_CTX_get_ciphers(ctx); + for (i = 0; i < sk_SSL_CIPHER_num(ciphers); i++) { + const SSL_CIPHER *cipher = sk_SSL_CIPHER_value(ciphers, i); + const char *cipher_name = SSL_CIPHER_get_name(cipher); + + /* As noted above, only one test for each enc/mac variant. */ + if (strncmp(cipher_name, "PSK-", 4) != 0) + continue; + + if (!TEST_int_gt(ret = mtu_test(ctx, cipher_name, 0), 0)) + break; + TEST_info("%s OK", cipher_name); + if (ret == 1) + continue; + + /* mtu_test() returns 2 if it used Encrypt-then-MAC */ + if (!TEST_int_gt(ret = mtu_test(ctx, cipher_name, 1), 0)) + break; + TEST_info("%s without EtM OK", cipher_name); + } + + end: + SSL_CTX_free(ctx); + bio_s_mempacket_test_free(); + return ret; +} + +int setup_tests(void) +{ + ADD_TEST(run_mtu_tests); + return 1; +} diff --git a/deps/openssl/openssl/test/dtlstest.c b/deps/openssl/openssl/test/dtlstest.c index ab4d4c15c08024..1d7b105fb6ac55 100644 --- a/deps/openssl/openssl/test/dtlstest.c +++ b/deps/openssl/openssl/test/dtlstest.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -122,7 +122,7 @@ static int test_dtls_unprocessed(int testidx) #define CLI_TO_SRV_EPOCH_0_RECS 3 #define CLI_TO_SRV_EPOCH_1_RECS 1 #if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) -# define SRV_TO_CLI_EPOCH_0_RECS 12 +# define SRV_TO_CLI_EPOCH_0_RECS 10 #else /* * In this case we have no ServerKeyExchange message, because we don't have diff --git a/deps/openssl/openssl/test/ec_internal_test.c b/deps/openssl/openssl/test/ec_internal_test.c new file mode 100644 index 00000000000000..4b849312be7820 --- /dev/null +++ b/deps/openssl/openssl/test/ec_internal_test.c @@ -0,0 +1,205 @@ +/* + * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "internal/nelem.h" +#include "testutil.h" +#include +#include "ec_local.h" +#include + +static size_t crv_len = 0; +static EC_builtin_curve *curves = NULL; + +/* sanity checks field_inv function pointer in EC_METHOD */ +static int group_field_tests(const EC_GROUP *group, BN_CTX *ctx) +{ + BIGNUM *a = NULL, *b = NULL, *c = NULL; + int ret = 0; + + if (group->meth->field_inv == NULL || group->meth->field_mul == NULL) + return 1; + + BN_CTX_start(ctx); + a = BN_CTX_get(ctx); + b = BN_CTX_get(ctx); + if (!TEST_ptr(c = BN_CTX_get(ctx)) + /* 1/1 = 1 */ + || !TEST_true(group->meth->field_inv(group, b, BN_value_one(), ctx)) + || !TEST_true(BN_is_one(b)) + /* (1/a)*a = 1 */ + || !TEST_true(BN_pseudo_rand(a, BN_num_bits(group->field) - 1, + BN_RAND_TOP_ONE, BN_RAND_BOTTOM_ANY)) + || !TEST_true(group->meth->field_inv(group, b, a, ctx)) + || (group->meth->field_encode && + !TEST_true(group->meth->field_encode(group, a, a, ctx))) + || (group->meth->field_encode && + !TEST_true(group->meth->field_encode(group, b, b, ctx))) + || !TEST_true(group->meth->field_mul(group, c, a, b, ctx)) + || (group->meth->field_decode && + !TEST_true(group->meth->field_decode(group, c, c, ctx))) + || !TEST_true(BN_is_one(c))) + goto err; + + /* 1/0 = error */ + BN_zero(a); + if (!TEST_false(group->meth->field_inv(group, b, a, ctx)) + || !TEST_true(ERR_GET_LIB(ERR_peek_last_error()) == ERR_LIB_EC) + || !TEST_true(ERR_GET_REASON(ERR_peek_last_error()) == + EC_R_CANNOT_INVERT) + /* 1/p = error */ + || !TEST_false(group->meth->field_inv(group, b, group->field, ctx)) + || !TEST_true(ERR_GET_LIB(ERR_peek_last_error()) == ERR_LIB_EC) + || !TEST_true(ERR_GET_REASON(ERR_peek_last_error()) == + EC_R_CANNOT_INVERT)) + goto err; + + ERR_clear_error(); + ret = 1; + err: + BN_CTX_end(ctx); + return ret; +} + +/* wrapper for group_field_tests for explicit curve params and EC_METHOD */ +static int field_tests(const EC_METHOD *meth, const unsigned char *params, + int len) +{ + BN_CTX *ctx = NULL; + BIGNUM *p = NULL, *a = NULL, *b = NULL; + EC_GROUP *group = NULL; + int ret = 0; + + if (!TEST_ptr(ctx = BN_CTX_new())) + return 0; + + BN_CTX_start(ctx); + p = BN_CTX_get(ctx); + a = BN_CTX_get(ctx); + if (!TEST_ptr(b = BN_CTX_get(ctx)) + || !TEST_ptr(group = EC_GROUP_new(meth)) + || !TEST_true(BN_bin2bn(params, len, p)) + || !TEST_true(BN_bin2bn(params + len, len, a)) + || !TEST_true(BN_bin2bn(params + 2 * len, len, b)) + || !TEST_true(EC_GROUP_set_curve(group, p, a, b, ctx)) + || !group_field_tests(group, ctx)) + goto err; + ret = 1; + + err: + BN_CTX_end(ctx); + BN_CTX_free(ctx); + if (group != NULL) + EC_GROUP_free(group); + return ret; +} + +/* NIST prime curve P-256 */ +static const unsigned char params_p256[] = { + /* p */ + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + /* a */ + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, + /* b */ + 0x5A, 0xC6, 0x35, 0xD8, 0xAA, 0x3A, 0x93, 0xE7, 0xB3, 0xEB, 0xBD, 0x55, + 0x76, 0x98, 0x86, 0xBC, 0x65, 0x1D, 0x06, 0xB0, 0xCC, 0x53, 0xB0, 0xF6, + 0x3B, 0xCE, 0x3C, 0x3E, 0x27, 0xD2, 0x60, 0x4B +}; + +#ifndef OPENSSL_NO_EC2M +/* NIST binary curve B-283 */ +static const unsigned char params_b283[] = { + /* p */ + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xA1, + /* a */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + /* b */ + 0x02, 0x7B, 0x68, 0x0A, 0xC8, 0xB8, 0x59, 0x6D, 0xA5, 0xA4, 0xAF, 0x8A, + 0x19, 0xA0, 0x30, 0x3F, 0xCA, 0x97, 0xFD, 0x76, 0x45, 0x30, 0x9F, 0xA2, + 0xA5, 0x81, 0x48, 0x5A, 0xF6, 0x26, 0x3E, 0x31, 0x3B, 0x79, 0xA2, 0xF5 +}; +#endif + +/* test EC_GFp_simple_method directly */ +static int field_tests_ecp_simple(void) +{ + TEST_info("Testing EC_GFp_simple_method()\n"); + return field_tests(EC_GFp_simple_method(), params_p256, + sizeof(params_p256) / 3); +} + +/* test EC_GFp_mont_method directly */ +static int field_tests_ecp_mont(void) +{ + TEST_info("Testing EC_GFp_mont_method()\n"); + return field_tests(EC_GFp_mont_method(), params_p256, + sizeof(params_p256) / 3); +} + +#ifndef OPENSSL_NO_EC2M +/* test EC_GF2m_simple_method directly */ +static int field_tests_ec2_simple(void) +{ + TEST_info("Testing EC_GF2m_simple_method()\n"); + return field_tests(EC_GF2m_simple_method(), params_b283, + sizeof(params_b283) / 3); +} +#endif + +/* test default method for a named curve */ +static int field_tests_default(int n) +{ + BN_CTX *ctx = NULL; + EC_GROUP *group = NULL; + int nid = curves[n].nid; + int ret = 0; + + TEST_info("Testing curve %s\n", OBJ_nid2sn(nid)); + + if (!TEST_ptr(group = EC_GROUP_new_by_curve_name(nid)) + || !TEST_ptr(ctx = BN_CTX_new()) + || !group_field_tests(group, ctx)) + goto err; + + ret = 1; + err: + if (group != NULL) + EC_GROUP_free(group); + if (ctx != NULL) + BN_CTX_free(ctx); + return ret; +} + +int setup_tests(void) +{ + crv_len = EC_get_builtin_curves(NULL, 0); + if (!TEST_ptr(curves = OPENSSL_malloc(sizeof(*curves) * crv_len)) + || !TEST_true(EC_get_builtin_curves(curves, crv_len))) + return 0; + + ADD_TEST(field_tests_ecp_simple); + ADD_TEST(field_tests_ecp_mont); +#ifndef OPENSSL_NO_EC2M + ADD_TEST(field_tests_ec2_simple); +#endif + ADD_ALL_TESTS(field_tests_default, crv_len); + return 1; +} + +void cleanup_tests(void) +{ + OPENSSL_free(curves); +} diff --git a/deps/openssl/openssl/test/ecdsatest.h b/deps/openssl/openssl/test/ecdsatest.h index 216e66e277e7c7..63fe31902582f7 100644 --- a/deps/openssl/openssl/test/ecdsatest.h +++ b/deps/openssl/openssl/test/ecdsatest.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef ECDSATEST_CAVS_H -# define ECDSATEST_CAVS_H +#ifndef OSSL_TEST_ECDSATEST_H +# define OSSL_TEST_ECDSATEST_H /*- * NIST CAVP ECDSA KATs: @@ -10211,4 +10211,4 @@ static const ecdsa_cavs_kat_t ecdsa_cavs_kats[] = { "1c8c4343a8ecbf7c4d4e48f7d76d5658bc027c77086ec8b10097deb307d6"} # endif /* OPENSSL_NO_EC2M */ }; -#endif /* ECDSATEST_CAVS_H */ +#endif /* OSSL_TEST_ECDSATEST_H */ diff --git a/deps/openssl/openssl/test/ecstresstest.c b/deps/openssl/openssl/test/ecstresstest.c new file mode 100644 index 00000000000000..4f05d237ba5d3e --- /dev/null +++ b/deps/openssl/openssl/test/ecstresstest.c @@ -0,0 +1,149 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL licenses, (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.openssl.org/source/license.html + * or in the file LICENSE in the source distribution. + */ + +#include "internal/nelem.h" +#include "testutil.h" + +#include +#include +#include +#include + +#define NUM_REPEATS "1000000" + +static int64_t num_repeats; +static int print_mode = 0; + +#ifndef OPENSSL_NO_EC +# include +# include +# include +# include +# include +# include +# include + +static const char *kP256DefaultResult = + "A1E24B223B8E81BC1FFF99BAFB909EDB895FACDE7D6DA5EF5E7B3255FB378E0F"; + +/* + * Perform a deterministic walk on the curve, by starting from |point| and + * using the X-coordinate of the previous point as the next scalar for + * point multiplication. + * Returns the X-coordinate of the end result or NULL on error. + */ +static BIGNUM *walk_curve(const EC_GROUP *group, EC_POINT *point, int64_t num) +{ + BIGNUM *scalar = NULL; + int64_t i; + + if (!TEST_ptr(scalar = BN_new()) + || !TEST_true(EC_POINT_get_affine_coordinates(group, point, scalar, + NULL, NULL))) + goto err; + + for (i = 0; i < num; i++) { + if (!TEST_true(EC_POINT_mul(group, point, NULL, point, scalar, NULL)) + || !TEST_true(EC_POINT_get_affine_coordinates(group, point, + scalar, + NULL, NULL))) + goto err; + } + return scalar; + +err: + BN_free(scalar); + return NULL; +} + +static int test_curve(void) +{ + EC_GROUP *group = NULL; + EC_POINT *point = NULL; + BIGNUM *result = NULL, *expected_result = NULL; + int ret = 0; + + /* + * We currently hard-code P-256, though adaptation to other curves. + * would be straightforward. + */ + if (!TEST_ptr(group = EC_GROUP_new_by_curve_name(NID_X9_62_prime256v1)) + || !TEST_ptr(point = EC_POINT_dup(EC_GROUP_get0_generator(group), + group)) + || !TEST_ptr(result = walk_curve(group, point, num_repeats))) + return 0; + + if (print_mode) { + BN_print(bio_out, result); + BIO_printf(bio_out, "\n"); + ret = 1; + } else { + if (!TEST_true(BN_hex2bn(&expected_result, kP256DefaultResult)) + || !TEST_ptr(expected_result) + || !TEST_BN_eq(result, expected_result)) + goto err; + ret = 1; + } + +err: + EC_GROUP_free(group); + EC_POINT_free(point); + BN_free(result); + BN_free(expected_result); + return ret; +} +#endif + +static int atoi64(const char *in, int64_t *result) +{ + int64_t ret = 0; + + for ( ; *in != '\0'; in++) { + char c = *in; + + if (!isdigit((unsigned char)c)) + return 0; + ret *= 10; + ret += (c - '0'); + } + *result = ret; + return 1; +} + +/* + * Stress test the curve. If the '-num' argument is given, runs the loop + * |num| times and prints the resulting X-coordinate. Otherwise runs the test + * the default number of times and compares against the expected result. + */ +int setup_tests(void) +{ + const char *p; + + if (!atoi64(NUM_REPEATS, &num_repeats)) { + TEST_error("Cannot parse " NUM_REPEATS); + return 0; + } + /* + * TODO(openssl-team): code under test/ should be able to reuse the option + * parsing framework currently in apps/. + */ + p = test_get_option_argument("-num"); + if (p != NULL) { + if (!atoi64(p, &num_repeats) + || num_repeats < 0) + return 0; + print_mode = 1; + } + +#ifndef OPENSSL_NO_EC + ADD_TEST(test_curve); +#endif + return 1; +} diff --git a/deps/openssl/openssl/test/ectest.c b/deps/openssl/openssl/test/ectest.c index 136dc741ebfebc..5c01cc95dde94a 100644 --- a/deps/openssl/openssl/test/ectest.c +++ b/deps/openssl/openssl/test/ectest.c @@ -1999,7 +1999,107 @@ static int cardinality_test(int n) BN_CTX_free(ctx); return ret; } -#endif + +/* + * Helper for ec_point_hex2point_test + * + * Self-tests EC_POINT_point2hex() against EC_POINT_hex2point() for the given + * (group,P) pair. + * + * If P is NULL use point at infinity. + */ +static ossl_inline +int ec_point_hex2point_test_helper(const EC_GROUP *group, const EC_POINT *P, + point_conversion_form_t form, + BN_CTX *bnctx) +{ + int ret = 0; + EC_POINT *Q = NULL, *Pinf = NULL; + char *hex = NULL; + + if (P == NULL) { + /* If P is NULL use point at infinity. */ + if (!TEST_ptr(Pinf = EC_POINT_new(group)) + || !TEST_true(EC_POINT_set_to_infinity(group, Pinf))) + goto err; + P = Pinf; + } + + if (!TEST_ptr(hex = EC_POINT_point2hex(group, P, form, bnctx)) + || !TEST_ptr(Q = EC_POINT_hex2point(group, hex, NULL, bnctx)) + || !TEST_int_eq(0, EC_POINT_cmp(group, Q, P, bnctx))) + goto err; + + /* + * The next check is most likely superfluous, as EC_POINT_cmp should already + * cover this. + * Nonetheless it increases the test coverage for EC_POINT_is_at_infinity, + * so we include it anyway! + */ + if (Pinf != NULL + && !TEST_true(EC_POINT_is_at_infinity(group, Q))) + goto err; + + ret = 1; + + err: + EC_POINT_free(Pinf); + OPENSSL_free(hex); + EC_POINT_free(Q); + + return ret; +} + +/* + * This test self-validates EC_POINT_hex2point() and EC_POINT_point2hex() + */ +static int ec_point_hex2point_test(int id) +{ + int ret = 0, nid; + EC_GROUP *group = NULL; + const EC_POINT *G = NULL; + EC_POINT *P = NULL; + BN_CTX * bnctx = NULL; + + /* Do some setup */ + nid = curves[id].nid; + if (!TEST_ptr(bnctx = BN_CTX_new()) + || !TEST_ptr(group = EC_GROUP_new_by_curve_name(nid)) + || !TEST_ptr(G = EC_GROUP_get0_generator(group)) + || !TEST_ptr(P = EC_POINT_dup(G, group))) + goto err; + + if (!TEST_true(ec_point_hex2point_test_helper(group, P, + POINT_CONVERSION_COMPRESSED, + bnctx)) + || !TEST_true(ec_point_hex2point_test_helper(group, NULL, + POINT_CONVERSION_COMPRESSED, + bnctx)) + || !TEST_true(ec_point_hex2point_test_helper(group, P, + POINT_CONVERSION_UNCOMPRESSED, + bnctx)) + || !TEST_true(ec_point_hex2point_test_helper(group, NULL, + POINT_CONVERSION_UNCOMPRESSED, + bnctx)) + || !TEST_true(ec_point_hex2point_test_helper(group, P, + POINT_CONVERSION_HYBRID, + bnctx)) + || !TEST_true(ec_point_hex2point_test_helper(group, NULL, + POINT_CONVERSION_HYBRID, + bnctx))) + goto err; + + ret = 1; + + err: + EC_POINT_free(P); + EC_GROUP_free(group); + BN_CTX_free(bnctx); + + return ret; +} + +#endif /* OPENSSL_NO_EC */ int setup_tests(void) { @@ -2025,6 +2125,7 @@ int setup_tests(void) ADD_ALL_TESTS(internal_curve_test_method, crv_len); ADD_ALL_TESTS(check_named_curve_from_ecparameters, crv_len); + ADD_ALL_TESTS(ec_point_hex2point_test, crv_len); #endif /* OPENSSL_NO_EC */ return 1; } diff --git a/deps/openssl/openssl/test/evp_extra_test.c b/deps/openssl/openssl/test/evp_extra_test.c index 3ae6408f0967b5..a74f6332ac9cba 100644 --- a/deps/openssl/openssl/test/evp_extra_test.c +++ b/deps/openssl/openssl/test/evp_extra_test.c @@ -18,9 +18,10 @@ #include #include #include +#include #include "testutil.h" #include "internal/nelem.h" -#include "internal/evp_int.h" +#include "crypto/evp.h" /* * kExampleRSAKeyDER is an RSA private key in ASN.1, DER format. Of course, you @@ -1069,6 +1070,109 @@ static int test_X509_PUBKEY_inplace(void) } #endif +#if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) +static int test_decrypt_null_chunks(void) +{ + EVP_CIPHER_CTX* ctx = NULL; + const unsigned char key[32] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, + 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1 + }; + unsigned char iv[12] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b + }; + unsigned char msg[] = "It was the best of times, it was the worst of times"; + unsigned char ciphertext[80]; + unsigned char plaintext[80]; + /* We initialise tmp to a non zero value on purpose */ + int ctlen, ptlen, tmp = 99; + int ret = 0; + const int enc_offset = 10, dec_offset = 20; + + if (!TEST_ptr(ctx = EVP_CIPHER_CTX_new()) + || !TEST_true(EVP_EncryptInit_ex(ctx, EVP_chacha20_poly1305(), NULL, + key, iv)) + || !TEST_true(EVP_EncryptUpdate(ctx, ciphertext, &ctlen, msg, + enc_offset)) + /* Deliberate add a zero length update */ + || !TEST_true(EVP_EncryptUpdate(ctx, ciphertext + ctlen, &tmp, NULL, + 0)) + || !TEST_int_eq(tmp, 0) + || !TEST_true(EVP_EncryptUpdate(ctx, ciphertext + ctlen, &tmp, + msg + enc_offset, + sizeof(msg) - enc_offset)) + || !TEST_int_eq(ctlen += tmp, sizeof(msg)) + || !TEST_true(EVP_EncryptFinal(ctx, ciphertext + ctlen, &tmp)) + || !TEST_int_eq(tmp, 0)) + goto err; + + /* Deliberately initialise tmp to a non zero value */ + tmp = 99; + if (!TEST_true(EVP_DecryptInit_ex(ctx, EVP_chacha20_poly1305(), NULL, key, + iv)) + || !TEST_true(EVP_DecryptUpdate(ctx, plaintext, &ptlen, ciphertext, + dec_offset)) + /* + * Deliberately add a zero length update. We also deliberately do + * this at a different offset than for encryption. + */ + || !TEST_true(EVP_DecryptUpdate(ctx, plaintext + ptlen, &tmp, NULL, + 0)) + || !TEST_int_eq(tmp, 0) + || !TEST_true(EVP_DecryptUpdate(ctx, plaintext + ptlen, &tmp, + ciphertext + dec_offset, + ctlen - dec_offset)) + || !TEST_int_eq(ptlen += tmp, sizeof(msg)) + || !TEST_true(EVP_DecryptFinal(ctx, plaintext + ptlen, &tmp)) + || !TEST_int_eq(tmp, 0) + || !TEST_mem_eq(msg, sizeof(msg), plaintext, ptlen)) + goto err; + + ret = 1; + err: + EVP_CIPHER_CTX_free(ctx); + return ret; +} +#endif /* !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) */ + +#ifndef OPENSSL_NO_DH +static int test_EVP_PKEY_set1_DH(void) +{ + DH *x942dh, *pkcs3dh; + EVP_PKEY *pkey1, *pkey2; + int ret = 0; + + x942dh = DH_get_2048_256(); + pkcs3dh = DH_new_by_nid(NID_ffdhe2048); + pkey1 = EVP_PKEY_new(); + pkey2 = EVP_PKEY_new(); + if (!TEST_ptr(x942dh) + || !TEST_ptr(pkcs3dh) + || !TEST_ptr(pkey1) + || !TEST_ptr(pkey2)) + goto err; + + if(!TEST_true(EVP_PKEY_set1_DH(pkey1, x942dh)) + || !TEST_int_eq(EVP_PKEY_id(pkey1), EVP_PKEY_DHX)) + goto err; + + + if(!TEST_true(EVP_PKEY_set1_DH(pkey2, pkcs3dh)) + || !TEST_int_eq(EVP_PKEY_id(pkey2), EVP_PKEY_DH)) + goto err; + + ret = 1; + err: + EVP_PKEY_free(pkey1); + EVP_PKEY_free(pkey2); + DH_free(x942dh); + DH_free(pkcs3dh); + + return ret; +} +#endif + int setup_tests(void) { ADD_TEST(test_EVP_DigestSignInit); @@ -1098,5 +1202,12 @@ int setup_tests(void) ADD_ALL_TESTS(test_invalide_ec_char2_pub_range_decode, OSSL_NELEM(ec_der_pub_keys)); #endif +#if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) + ADD_TEST(test_decrypt_null_chunks); +#endif +#ifndef OPENSSL_NO_DH + ADD_TEST(test_EVP_PKEY_set1_DH); +#endif + return 1; } diff --git a/deps/openssl/openssl/test/gosttest.c b/deps/openssl/openssl/test/gosttest.c new file mode 100644 index 00000000000000..1a31a3396294c4 --- /dev/null +++ b/deps/openssl/openssl/test/gosttest.c @@ -0,0 +1,91 @@ +/* + * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "ssltestlib.h" +#include "testutil.h" +#include "internal/nelem.h" + +static char *cert1 = NULL; +static char *privkey1 = NULL; +static char *cert2 = NULL; +static char *privkey2 = NULL; + +static struct { + char *cipher; + int expected_prot; + int certnum; +} ciphers[] = { + /* Server doesn't have a cert with appropriate sig algs - should fail */ + {"AES128-SHA", 0, 0}, + /* Server doesn't have a TLSv1.3 capable cert - should use TLSv1.2 */ + {"GOST2012-GOST8912-GOST8912", TLS1_2_VERSION, 0}, + /* Server doesn't have a TLSv1.3 capable cert - should use TLSv1.2 */ + {"GOST2012-GOST8912-GOST8912", TLS1_2_VERSION, 1}, + /* Server doesn't have a TLSv1.3 capable cert - should use TLSv1.2 */ + {"GOST2001-GOST89-GOST89", TLS1_2_VERSION, 0}, +}; + +/* Test that we never negotiate TLSv1.3 if using GOST */ +static int test_tls13(int idx) +{ + SSL_CTX *cctx = NULL, *sctx = NULL; + SSL *clientssl = NULL, *serverssl = NULL; + int testresult = 0; + + if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + TLS_client_method(), + TLS1_VERSION, + TLS_MAX_VERSION, + &sctx, &cctx, + ciphers[idx].certnum == 0 ? cert1 + : cert2, + ciphers[idx].certnum == 0 ? privkey1 + : privkey2))) + goto end; + + if (!TEST_true(SSL_CTX_set_cipher_list(cctx, ciphers[idx].cipher)) + || !TEST_true(SSL_CTX_set_cipher_list(sctx, ciphers[idx].cipher)) + || !TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, + NULL, NULL))) + goto end; + + if (ciphers[idx].expected_prot == 0) { + if (!TEST_false(create_ssl_connection(serverssl, clientssl, + SSL_ERROR_NONE))) + goto end; + } else { + if (!TEST_true(create_ssl_connection(serverssl, clientssl, + SSL_ERROR_NONE)) + || !TEST_int_eq(SSL_version(clientssl), + ciphers[idx].expected_prot)) + goto end; + } + + testresult = 1; + + end: + SSL_free(serverssl); + SSL_free(clientssl); + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + + return testresult; +} + +int setup_tests(void) +{ + if (!TEST_ptr(cert1 = test_get_argument(0)) + || !TEST_ptr(privkey1 = test_get_argument(1)) + || !TEST_ptr(cert2 = test_get_argument(2)) + || !TEST_ptr(privkey2 = test_get_argument(3))) + return 0; + + ADD_ALL_TESTS(test_tls13, OSSL_NELEM(ciphers)); + return 1; +} diff --git a/deps/openssl/openssl/test/handshake_helper.c b/deps/openssl/openssl/test/handshake_helper.c index 27ff794014d7c0..1742004b5b8069 100644 --- a/deps/openssl/openssl/test/handshake_helper.c +++ b/deps/openssl/openssl/test/handshake_helper.c @@ -16,7 +16,7 @@ #include #endif -#include "../ssl/ssl_locl.h" +#include "../ssl/ssl_local.h" #include "internal/sockets.h" #include "internal/nelem.h" #include "handshake_helper.h" diff --git a/deps/openssl/openssl/test/handshake_helper.h b/deps/openssl/openssl/test/handshake_helper.h index ab6446a490bbc6..96406dd93e4499 100644 --- a/deps/openssl/openssl/test/handshake_helper.h +++ b/deps/openssl/openssl/test/handshake_helper.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_HANDSHAKE_HELPER_H -#define HEADER_HANDSHAKE_HELPER_H +#ifndef OSSL_TEST_HANDSHAKE_HELPER_H +#define OSSL_TEST_HANDSHAKE_HELPER_H #include "ssl_test_ctx.h" @@ -78,4 +78,4 @@ HANDSHAKE_RESULT *do_handshake(SSL_CTX *server_ctx, SSL_CTX *server2_ctx, SSL_CTX *resume_client_ctx, const SSL_TEST_CTX *test_ctx); -#endif /* HEADER_HANDSHAKE_HELPER_H */ +#endif /* OSSL_TEST_HANDSHAKE_HELPER_H */ diff --git a/deps/openssl/openssl/test/hmactest.c b/deps/openssl/openssl/test/hmactest.c index ca775773a6e6b7..39955497a5803b 100644 --- a/deps/openssl/openssl/test/hmactest.c +++ b/deps/openssl/openssl/test/hmactest.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -173,6 +173,27 @@ static int test_hmac_run(void) if (!TEST_str_eq(p, (char *)test[6].digest)) goto err; + /* Test reusing a key */ + if (!TEST_true(HMAC_Init_ex(ctx, NULL, 0, NULL, NULL)) + || !TEST_true(HMAC_Update(ctx, test[6].data, test[6].data_len)) + || !TEST_true(HMAC_Final(ctx, buf, &len))) + goto err; + p = pt(buf, len); + if (!TEST_str_eq(p, (char *)test[6].digest)) + goto err; + + /* + * Test reusing a key where the digest is provided again but is the same as + * last time + */ + if (!TEST_true(HMAC_Init_ex(ctx, NULL, 0, EVP_sha256(), NULL)) + || !TEST_true(HMAC_Update(ctx, test[6].data, test[6].data_len)) + || !TEST_true(HMAC_Final(ctx, buf, &len))) + goto err; + p = pt(buf, len); + if (!TEST_str_eq(p, (char *)test[6].digest)) + goto err; + ret = 1; err: HMAC_CTX_free(ctx); diff --git a/deps/openssl/openssl/test/lhash_test.c b/deps/openssl/openssl/test/lhash_test.c new file mode 100644 index 00000000000000..162286b7cdd615 --- /dev/null +++ b/deps/openssl/openssl/test/lhash_test.c @@ -0,0 +1,228 @@ +/* + * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include + +#include +#include +#include +#include + +#include "internal/nelem.h" +#include "testutil.h" + +/* + * The macros below generate unused functions which error out one of the clang + * builds. We disable this check here. + */ +#ifdef __clang__ +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +DEFINE_LHASH_OF(int); + +static int int_tests[] = { 65537, 13, 1, 3, -5, 6, 7, 4, -10, -12, -14, 22, 9, + -17, 16, 17, -23, 35, 37, 173, 11 }; +static const unsigned int n_int_tests = OSSL_NELEM(int_tests); +static short int_found[OSSL_NELEM(int_tests)]; + +static unsigned long int int_hash(const int *p) +{ + return 3 & *p; /* To force collisions */ +} + +static int int_cmp(const int *p, const int *q) +{ + return *p != *q; +} + +static int int_find(int n) +{ + unsigned int i; + + for (i = 0; i < n_int_tests; i++) + if (int_tests[i] == n) + return i; + return -1; +} + +static void int_doall(int *v) +{ + int_found[int_find(*v)]++; +} + +static void int_doall_arg(int *p, short *f) +{ + f[int_find(*p)]++; +} + +IMPLEMENT_LHASH_DOALL_ARG(int, short); + +static int test_int_lhash(void) +{ + static struct { + int data; + int null; + } dels[] = { + { 65537, 0 }, + { 173, 0 }, + { 999, 1 }, + { 37, 0 }, + { 1, 0 }, + { 34, 1 } + }; + const unsigned int n_dels = OSSL_NELEM(dels); + LHASH_OF(int) *h = lh_int_new(&int_hash, &int_cmp); + unsigned int i; + int testresult = 0, j, *p; + + if (!TEST_ptr(h)) + goto end; + + /* insert */ + for (i = 0; i < n_int_tests; i++) + if (!TEST_ptr_null(lh_int_insert(h, int_tests + i))) { + TEST_info("int insert %d", i); + goto end; + } + + /* num_items */ + if (!TEST_int_eq(lh_int_num_items(h), n_int_tests)) + goto end; + + /* retrieve */ + for (i = 0; i < n_int_tests; i++) + if (!TEST_int_eq(*lh_int_retrieve(h, int_tests + i), int_tests[i])) { + TEST_info("lhash int retrieve value %d", i); + goto end; + } + for (i = 0; i < n_int_tests; i++) + if (!TEST_ptr_eq(lh_int_retrieve(h, int_tests + i), int_tests + i)) { + TEST_info("lhash int retrieve address %d", i); + goto end; + } + j = 1; + if (!TEST_ptr_eq(lh_int_retrieve(h, &j), int_tests + 2)) + goto end; + + /* replace */ + j = 13; + if (!TEST_ptr(p = lh_int_insert(h, &j))) + goto end; + if (!TEST_ptr_eq(p, int_tests + 1)) + goto end; + if (!TEST_ptr_eq(lh_int_retrieve(h, int_tests + 1), &j)) + goto end; + + /* do_all */ + memset(int_found, 0, sizeof(int_found)); + lh_int_doall(h, &int_doall); + for (i = 0; i < n_int_tests; i++) + if (!TEST_int_eq(int_found[i], 1)) { + TEST_info("lhash int doall %d", i); + goto end; + } + + /* do_all_arg */ + memset(int_found, 0, sizeof(int_found)); + lh_int_doall_short(h, int_doall_arg, int_found); + for (i = 0; i < n_int_tests; i++) + if (!TEST_int_eq(int_found[i], 1)) { + TEST_info("lhash int doall arg %d", i); + goto end; + } + + /* delete */ + for (i = 0; i < n_dels; i++) { + const int b = lh_int_delete(h, &dels[i].data) == NULL; + if (!TEST_int_eq(b ^ dels[i].null, 0)) { + TEST_info("lhash int delete %d", i); + goto end; + } + } + + /* error */ + if (!TEST_int_eq(lh_int_error(h), 0)) + goto end; + + testresult = 1; +end: + lh_int_free(h); + return testresult; +} + +static unsigned long int stress_hash(const int *p) +{ + return *p; +} + +static int test_stress(void) +{ + LHASH_OF(int) *h = lh_int_new(&stress_hash, &int_cmp); + const unsigned int n = 2500000; + unsigned int i; + int testresult = 0, *p; + + if (!TEST_ptr(h)) + goto end; + + /* insert */ + for (i = 0; i < n; i++) { + p = OPENSSL_malloc(sizeof(i)); + if (!TEST_ptr(p)) { + TEST_info("lhash stress out of memory %d", i); + goto end; + } + *p = 3 * i + 1; + lh_int_insert(h, p); + } + + /* num_items */ + if (!TEST_int_eq(lh_int_num_items(h), n)) + goto end; + + TEST_info("hash full statistics:"); + OPENSSL_LH_stats_bio((OPENSSL_LHASH *)h, bio_err); + TEST_note("hash full node usage:"); + OPENSSL_LH_node_usage_stats_bio((OPENSSL_LHASH *)h, bio_err); + + /* delete in a different order */ + for (i = 0; i < n; i++) { + const int j = (7 * i + 4) % n * 3 + 1; + + if (!TEST_ptr(p = lh_int_delete(h, &j))) { + TEST_info("lhash stress delete %d\n", i); + goto end; + } + if (!TEST_int_eq(*p, j)) { + TEST_info("lhash stress bad value %d", i); + goto end; + } + OPENSSL_free(p); + } + + TEST_info("hash empty statistics:"); + OPENSSL_LH_stats_bio((OPENSSL_LHASH *)h, bio_err); + TEST_note("hash empty node usage:"); + OPENSSL_LH_node_usage_stats_bio((OPENSSL_LHASH *)h, bio_err); + + testresult = 1; +end: + lh_int_free(h); + return testresult; +} + +int setup_tests(void) +{ + ADD_TEST(test_int_lhash); + ADD_TEST(test_stress); + return 1; +} diff --git a/deps/openssl/openssl/test/mdc2_internal_test.c b/deps/openssl/openssl/test/mdc2_internal_test.c new file mode 100644 index 00000000000000..01e30fdd91fbf2 --- /dev/null +++ b/deps/openssl/openssl/test/mdc2_internal_test.c @@ -0,0 +1,71 @@ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* Internal tests for the mdc2 module */ + +#include +#include + +#include +#include "testutil.h" +#include "internal/nelem.h" + +typedef struct { + const char *input; + const unsigned char expected[MDC2_DIGEST_LENGTH]; +} TESTDATA; + + +/********************************************************************** + * + * Test driver + * + ***/ + +static TESTDATA tests[] = { + { + "Now is the time for all ", + { + 0x42, 0xE5, 0x0C, 0xD2, 0x24, 0xBA, 0xCE, 0xBA, + 0x76, 0x0B, 0xDD, 0x2B, 0xD4, 0x09, 0x28, 0x1A + } + } +}; + +/********************************************************************** + * + * Test of mdc2 internal functions + * + ***/ + +static int test_mdc2(int idx) +{ + unsigned char md[MDC2_DIGEST_LENGTH]; + MDC2_CTX c; + const TESTDATA testdata = tests[idx]; + + MDC2_Init(&c); + MDC2_Update(&c, (const unsigned char *)testdata.input, + strlen(testdata.input)); + MDC2_Final(&(md[0]), &c); + + if (!TEST_mem_eq(testdata.expected, MDC2_DIGEST_LENGTH, + md, MDC2_DIGEST_LENGTH)) { + TEST_info("mdc2 test %d: unexpected output", idx); + return 0; + } + + return 1; +} + +int setup_tests(void) +{ + ADD_ALL_TESTS(test_mdc2, OSSL_NELEM(tests)); + return 1; +} diff --git a/deps/openssl/openssl/test/modes_internal_test.c b/deps/openssl/openssl/test/modes_internal_test.c new file mode 100644 index 00000000000000..a0fa86e6238c1f --- /dev/null +++ b/deps/openssl/openssl/test/modes_internal_test.c @@ -0,0 +1,892 @@ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* Internal tests for the modes module */ + +#include +#include + +#include +#include +#include "../crypto/modes/modes_local.h" +#include "testutil.h" +#include "internal/nelem.h" + +typedef struct { + size_t size; + const unsigned char *data; +} SIZED_DATA; + +/********************************************************************** + * + * Test of cts128 + * + ***/ + +/* cts128 test vectors from RFC 3962 */ +static const unsigned char cts128_test_key[16] = "chicken teriyaki"; +static const unsigned char cts128_test_input[64] = + "I would like the" " General Gau's C" + "hicken, please, " "and wonton soup."; +static const unsigned char cts128_test_iv[] = + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + +static const unsigned char vector_17[17] = { + 0xc6, 0x35, 0x35, 0x68, 0xf2, 0xbf, 0x8c, 0xb4, + 0xd8, 0xa5, 0x80, 0x36, 0x2d, 0xa7, 0xff, 0x7f, + 0x97 +}; + +static const unsigned char vector_31[31] = { + 0xfc, 0x00, 0x78, 0x3e, 0x0e, 0xfd, 0xb2, 0xc1, + 0xd4, 0x45, 0xd4, 0xc8, 0xef, 0xf7, 0xed, 0x22, + 0x97, 0x68, 0x72, 0x68, 0xd6, 0xec, 0xcc, 0xc0, + 0xc0, 0x7b, 0x25, 0xe2, 0x5e, 0xcf, 0xe5 +}; + +static const unsigned char vector_32[32] = { + 0x39, 0x31, 0x25, 0x23, 0xa7, 0x86, 0x62, 0xd5, + 0xbe, 0x7f, 0xcb, 0xcc, 0x98, 0xeb, 0xf5, 0xa8, + 0x97, 0x68, 0x72, 0x68, 0xd6, 0xec, 0xcc, 0xc0, + 0xc0, 0x7b, 0x25, 0xe2, 0x5e, 0xcf, 0xe5, 0x84 +}; + +static const unsigned char vector_47[47] = { + 0x97, 0x68, 0x72, 0x68, 0xd6, 0xec, 0xcc, 0xc0, + 0xc0, 0x7b, 0x25, 0xe2, 0x5e, 0xcf, 0xe5, 0x84, + 0xb3, 0xff, 0xfd, 0x94, 0x0c, 0x16, 0xa1, 0x8c, + 0x1b, 0x55, 0x49, 0xd2, 0xf8, 0x38, 0x02, 0x9e, + 0x39, 0x31, 0x25, 0x23, 0xa7, 0x86, 0x62, 0xd5, + 0xbe, 0x7f, 0xcb, 0xcc, 0x98, 0xeb, 0xf5 +}; + +static const unsigned char vector_48[48] = { + 0x97, 0x68, 0x72, 0x68, 0xd6, 0xec, 0xcc, 0xc0, + 0xc0, 0x7b, 0x25, 0xe2, 0x5e, 0xcf, 0xe5, 0x84, + 0x9d, 0xad, 0x8b, 0xbb, 0x96, 0xc4, 0xcd, 0xc0, + 0x3b, 0xc1, 0x03, 0xe1, 0xa1, 0x94, 0xbb, 0xd8, + 0x39, 0x31, 0x25, 0x23, 0xa7, 0x86, 0x62, 0xd5, + 0xbe, 0x7f, 0xcb, 0xcc, 0x98, 0xeb, 0xf5, 0xa8 +}; + +static const unsigned char vector_64[64] = { + 0x97, 0x68, 0x72, 0x68, 0xd6, 0xec, 0xcc, 0xc0, + 0xc0, 0x7b, 0x25, 0xe2, 0x5e, 0xcf, 0xe5, 0x84, + 0x39, 0x31, 0x25, 0x23, 0xa7, 0x86, 0x62, 0xd5, + 0xbe, 0x7f, 0xcb, 0xcc, 0x98, 0xeb, 0xf5, 0xa8, + 0x48, 0x07, 0xef, 0xe8, 0x36, 0xee, 0x89, 0xa5, + 0x26, 0x73, 0x0d, 0xbc, 0x2f, 0x7b, 0xc8, 0x40, + 0x9d, 0xad, 0x8b, 0xbb, 0x96, 0xc4, 0xcd, 0xc0, + 0x3b, 0xc1, 0x03, 0xe1, 0xa1, 0x94, 0xbb, 0xd8 +}; + +#define CTS128_TEST_VECTOR(len) \ + { \ + sizeof(vector_##len), vector_##len \ + } +static const SIZED_DATA aes_cts128_vectors[] = { + CTS128_TEST_VECTOR(17), + CTS128_TEST_VECTOR(31), + CTS128_TEST_VECTOR(32), + CTS128_TEST_VECTOR(47), + CTS128_TEST_VECTOR(48), + CTS128_TEST_VECTOR(64), +}; + +static AES_KEY *cts128_encrypt_key_schedule(void) +{ + static int init_key = 1; + static AES_KEY ks; + + if (init_key) { + AES_set_encrypt_key(cts128_test_key, 128, &ks); + init_key = 0; + } + return &ks; +} + +static AES_KEY *cts128_decrypt_key_schedule(void) +{ + static int init_key = 1; + static AES_KEY ks; + + if (init_key) { + AES_set_decrypt_key(cts128_test_key, 128, &ks); + init_key = 0; + } + return &ks; +} + +typedef struct { + const char *case_name; + size_t (*last_blocks_correction)(const unsigned char *in, + unsigned char *out, size_t len); + size_t (*encrypt_block)(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], + block128_f block); + size_t (*encrypt_stream)(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); + size_t (*decrypt_block)(const unsigned char *in, + unsigned char *out, size_t len, + const void *key, unsigned char ivec[16], + block128_f block); + size_t (*decrypt_stream)(const unsigned char *in, unsigned char *out, + size_t len, const void *key, + unsigned char ivec[16], cbc128_f cbc); +} CTS128_FIXTURE; + +static size_t last_blocks_correction(const unsigned char *in, + unsigned char *out, size_t len) +{ + size_t tail; + + memcpy(out, in, len); + if ((tail = len % 16) == 0) + tail = 16; + tail += 16; + + return tail; +} + +static size_t last_blocks_correction_nist(const unsigned char *in, + unsigned char *out, size_t len) +{ + size_t tail; + + if ((tail = len % 16) == 0) + tail = 16; + len -= 16 + tail; + memcpy(out, in, len); + /* flip two last blocks */ + memcpy(out + len, in + len + 16, tail); + memcpy(out + len + tail, in + len, 16); + len += 16 + tail; + tail = 16; + + return tail; +} + +static int execute_cts128(const CTS128_FIXTURE *fixture, int num) +{ + const unsigned char *test_iv = cts128_test_iv; + size_t test_iv_len = sizeof(cts128_test_iv); + const unsigned char *orig_vector = aes_cts128_vectors[num].data; + size_t len = aes_cts128_vectors[num].size; + const unsigned char *test_input = cts128_test_input; + const AES_KEY *encrypt_key_schedule = cts128_encrypt_key_schedule(); + const AES_KEY *decrypt_key_schedule = cts128_decrypt_key_schedule(); + unsigned char iv[16]; + /* The largest test inputs are = 64 bytes. */ + unsigned char cleartext[64], ciphertext[64], vector[64]; + size_t tail, size; + + TEST_info("%s_vector_%lu", fixture->case_name, (unsigned long)len); + + tail = fixture->last_blocks_correction(orig_vector, vector, len); + + /* test block-based encryption */ + memcpy(iv, test_iv, test_iv_len); + if (!TEST_size_t_eq(fixture->encrypt_block(test_input, ciphertext, len, + encrypt_key_schedule, iv, + (block128_f)AES_encrypt), len) + || !TEST_mem_eq(ciphertext, len, vector, len) + || !TEST_mem_eq(iv, sizeof(iv), vector + len - tail, sizeof(iv))) + return 0; + + /* test block-based decryption */ + memcpy(iv, test_iv, test_iv_len); + size = fixture->decrypt_block(ciphertext, cleartext, len, + decrypt_key_schedule, iv, + (block128_f)AES_decrypt); + if (!TEST_true(len == size || len + 16 == size) + || !TEST_mem_eq(cleartext, len, test_input, len) + || !TEST_mem_eq(iv, sizeof(iv), vector + len - tail, sizeof(iv))) + return 0; + + /* test streamed encryption */ + memcpy(iv, test_iv, test_iv_len); + if (!TEST_size_t_eq(fixture->encrypt_stream(test_input, ciphertext, len, + encrypt_key_schedule, iv, + (cbc128_f) AES_cbc_encrypt), + len) + || !TEST_mem_eq(ciphertext, len, vector, len) + || !TEST_mem_eq(iv, sizeof(iv), vector + len - tail, sizeof(iv))) + return 0; + + /* test streamed decryption */ + memcpy(iv, test_iv, test_iv_len); + if (!TEST_size_t_eq(fixture->decrypt_stream(ciphertext, cleartext, len, + decrypt_key_schedule, iv, + (cbc128_f)AES_cbc_encrypt), + len) + || !TEST_mem_eq(cleartext, len, test_input, len) + || !TEST_mem_eq(iv, sizeof(iv), vector + len - tail, sizeof(iv))) + return 0; + + return 1; +} + +static int test_aes_cts128(int idx) +{ + static const CTS128_FIXTURE fixture_cts128 = { + "aes_cts128", last_blocks_correction, + CRYPTO_cts128_encrypt_block, CRYPTO_cts128_encrypt, + CRYPTO_cts128_decrypt_block, CRYPTO_cts128_decrypt + }; + + return execute_cts128(&fixture_cts128, idx); +} + +static int test_aes_cts128_nist(int idx) +{ + static const CTS128_FIXTURE fixture_cts128_nist = { + "aes_cts128_nist", last_blocks_correction_nist, + CRYPTO_nistcts128_encrypt_block, CRYPTO_nistcts128_encrypt, + CRYPTO_nistcts128_decrypt_block, CRYPTO_nistcts128_decrypt + }; + + return execute_cts128(&fixture_cts128_nist, idx); +} + +/* + * + * Test of gcm128 + * + */ + +/* Test Case 1 */ +static const u8 K1[16], P1[] = { 0 }, A1[] = { 0 }, IV1[12], C1[] = { 0 }; +static const u8 T1[] = { + 0x58, 0xe2, 0xfc, 0xce, 0xfa, 0x7e, 0x30, 0x61, + 0x36, 0x7f, 0x1d, 0x57, 0xa4, 0xe7, 0x45, 0x5a +}; + +/* Test Case 2 */ +# define K2 K1 +# define A2 A1 +# define IV2 IV1 +static const u8 P2[16]; +static const u8 C2[] = { + 0x03, 0x88, 0xda, 0xce, 0x60, 0xb6, 0xa3, 0x92, + 0xf3, 0x28, 0xc2, 0xb9, 0x71, 0xb2, 0xfe, 0x78 +}; + +static const u8 T2[] = { + 0xab, 0x6e, 0x47, 0xd4, 0x2c, 0xec, 0x13, 0xbd, + 0xf5, 0x3a, 0x67, 0xb2, 0x12, 0x57, 0xbd, 0xdf +}; + +/* Test Case 3 */ +# define A3 A2 +static const u8 K3[] = { + 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, + 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 +}; + +static const u8 P3[] = { + 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, + 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, + 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, + 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, + 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, + 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, + 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, + 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 +}; + +static const u8 IV3[] = { + 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, + 0xde, 0xca, 0xf8, 0x88 +}; + +static const u8 C3[] = { + 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24, + 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c, + 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0, + 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e, + 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c, + 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05, + 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97, + 0x3d, 0x58, 0xe0, 0x91, 0x47, 0x3f, 0x59, 0x85 +}; + +static const u8 T3[] = { + 0x4d, 0x5c, 0x2a, 0xf3, 0x27, 0xcd, 0x64, 0xa6, + 0x2c, 0xf3, 0x5a, 0xbd, 0x2b, 0xa6, 0xfa, 0xb4 +}; + +/* Test Case 4 */ +# define K4 K3 +# define IV4 IV3 +static const u8 P4[] = { + 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, + 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, + 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, + 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, + 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, + 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, + 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, + 0xba, 0x63, 0x7b, 0x39 +}; + +static const u8 A4[] = { + 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, + 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, + 0xab, 0xad, 0xda, 0xd2 +}; + +static const u8 C4[] = { + 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24, + 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c, + 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0, + 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e, + 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c, + 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05, + 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97, + 0x3d, 0x58, 0xe0, 0x91 +}; + +static const u8 T4[] = { + 0x5b, 0xc9, 0x4f, 0xbc, 0x32, 0x21, 0xa5, 0xdb, + 0x94, 0xfa, 0xe9, 0x5a, 0xe7, 0x12, 0x1a, 0x47 +}; + +/* Test Case 5 */ +# define K5 K4 +# define P5 P4 +# define A5 A4 +static const u8 IV5[] = { + 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad +}; + +static const u8 C5[] = { + 0x61, 0x35, 0x3b, 0x4c, 0x28, 0x06, 0x93, 0x4a, + 0x77, 0x7f, 0xf5, 0x1f, 0xa2, 0x2a, 0x47, 0x55, + 0x69, 0x9b, 0x2a, 0x71, 0x4f, 0xcd, 0xc6, 0xf8, + 0x37, 0x66, 0xe5, 0xf9, 0x7b, 0x6c, 0x74, 0x23, + 0x73, 0x80, 0x69, 0x00, 0xe4, 0x9f, 0x24, 0xb2, + 0x2b, 0x09, 0x75, 0x44, 0xd4, 0x89, 0x6b, 0x42, + 0x49, 0x89, 0xb5, 0xe1, 0xeb, 0xac, 0x0f, 0x07, + 0xc2, 0x3f, 0x45, 0x98 +}; + +static const u8 T5[] = { + 0x36, 0x12, 0xd2, 0xe7, 0x9e, 0x3b, 0x07, 0x85, + 0x56, 0x1b, 0xe1, 0x4a, 0xac, 0xa2, 0xfc, 0xcb +}; + +/* Test Case 6 */ +# define K6 K5 +# define P6 P5 +# define A6 A5 +static const u8 IV6[] = { + 0x93, 0x13, 0x22, 0x5d, 0xf8, 0x84, 0x06, 0xe5, + 0x55, 0x90, 0x9c, 0x5a, 0xff, 0x52, 0x69, 0xaa, + 0x6a, 0x7a, 0x95, 0x38, 0x53, 0x4f, 0x7d, 0xa1, + 0xe4, 0xc3, 0x03, 0xd2, 0xa3, 0x18, 0xa7, 0x28, + 0xc3, 0xc0, 0xc9, 0x51, 0x56, 0x80, 0x95, 0x39, + 0xfc, 0xf0, 0xe2, 0x42, 0x9a, 0x6b, 0x52, 0x54, + 0x16, 0xae, 0xdb, 0xf5, 0xa0, 0xde, 0x6a, 0x57, + 0xa6, 0x37, 0xb3, 0x9b +}; + +static const u8 C6[] = { + 0x8c, 0xe2, 0x49, 0x98, 0x62, 0x56, 0x15, 0xb6, + 0x03, 0xa0, 0x33, 0xac, 0xa1, 0x3f, 0xb8, 0x94, + 0xbe, 0x91, 0x12, 0xa5, 0xc3, 0xa2, 0x11, 0xa8, + 0xba, 0x26, 0x2a, 0x3c, 0xca, 0x7e, 0x2c, 0xa7, + 0x01, 0xe4, 0xa9, 0xa4, 0xfb, 0xa4, 0x3c, 0x90, + 0xcc, 0xdc, 0xb2, 0x81, 0xd4, 0x8c, 0x7c, 0x6f, + 0xd6, 0x28, 0x75, 0xd2, 0xac, 0xa4, 0x17, 0x03, + 0x4c, 0x34, 0xae, 0xe5 +}; + +static const u8 T6[] = { + 0x61, 0x9c, 0xc5, 0xae, 0xff, 0xfe, 0x0b, 0xfa, + 0x46, 0x2a, 0xf4, 0x3c, 0x16, 0x99, 0xd0, 0x50 +}; + +/* Test Case 7 */ +static const u8 K7[24], P7[] = { 0 }, A7[] = { 0 }, IV7[12], C7[] = { 0 }; +static const u8 T7[] = { + 0xcd, 0x33, 0xb2, 0x8a, 0xc7, 0x73, 0xf7, 0x4b, + 0xa0, 0x0e, 0xd1, 0xf3, 0x12, 0x57, 0x24, 0x35 +}; + +/* Test Case 8 */ +# define K8 K7 +# define IV8 IV7 +# define A8 A7 +static const u8 P8[16]; +static const u8 C8[] = { + 0x98, 0xe7, 0x24, 0x7c, 0x07, 0xf0, 0xfe, 0x41, + 0x1c, 0x26, 0x7e, 0x43, 0x84, 0xb0, 0xf6, 0x00 +}; + +static const u8 T8[] = { + 0x2f, 0xf5, 0x8d, 0x80, 0x03, 0x39, 0x27, 0xab, + 0x8e, 0xf4, 0xd4, 0x58, 0x75, 0x14, 0xf0, 0xfb +}; + +/* Test Case 9 */ +# define A9 A8 +static const u8 K9[] = { + 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, + 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08, + 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c +}; + +static const u8 P9[] = { + 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, + 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, + 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, + 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, + 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, + 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, + 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, + 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 +}; + +static const u8 IV9[] = { + 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, + 0xde, 0xca, 0xf8, 0x88 +}; + +static const u8 C9[] = { + 0x39, 0x80, 0xca, 0x0b, 0x3c, 0x00, 0xe8, 0x41, + 0xeb, 0x06, 0xfa, 0xc4, 0x87, 0x2a, 0x27, 0x57, + 0x85, 0x9e, 0x1c, 0xea, 0xa6, 0xef, 0xd9, 0x84, + 0x62, 0x85, 0x93, 0xb4, 0x0c, 0xa1, 0xe1, 0x9c, + 0x7d, 0x77, 0x3d, 0x00, 0xc1, 0x44, 0xc5, 0x25, + 0xac, 0x61, 0x9d, 0x18, 0xc8, 0x4a, 0x3f, 0x47, + 0x18, 0xe2, 0x44, 0x8b, 0x2f, 0xe3, 0x24, 0xd9, + 0xcc, 0xda, 0x27, 0x10, 0xac, 0xad, 0xe2, 0x56 +}; + +static const u8 T9[] = { + 0x99, 0x24, 0xa7, 0xc8, 0x58, 0x73, 0x36, 0xbf, + 0xb1, 0x18, 0x02, 0x4d, 0xb8, 0x67, 0x4a, 0x14 +}; + +/* Test Case 10 */ +# define K10 K9 +# define IV10 IV9 +static const u8 P10[] = { + 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, + 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, + 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, + 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, + 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, + 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, + 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, + 0xba, 0x63, 0x7b, 0x39 +}; + +static const u8 A10[] = { + 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, + 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, + 0xab, 0xad, 0xda, 0xd2 +}; + +static const u8 C10[] = { + 0x39, 0x80, 0xca, 0x0b, 0x3c, 0x00, 0xe8, 0x41, + 0xeb, 0x06, 0xfa, 0xc4, 0x87, 0x2a, 0x27, 0x57, + 0x85, 0x9e, 0x1c, 0xea, 0xa6, 0xef, 0xd9, 0x84, + 0x62, 0x85, 0x93, 0xb4, 0x0c, 0xa1, 0xe1, 0x9c, + 0x7d, 0x77, 0x3d, 0x00, 0xc1, 0x44, 0xc5, 0x25, + 0xac, 0x61, 0x9d, 0x18, 0xc8, 0x4a, 0x3f, 0x47, + 0x18, 0xe2, 0x44, 0x8b, 0x2f, 0xe3, 0x24, 0xd9, + 0xcc, 0xda, 0x27, 0x10 +}; + +static const u8 T10[] = { + 0x25, 0x19, 0x49, 0x8e, 0x80, 0xf1, 0x47, 0x8f, + 0x37, 0xba, 0x55, 0xbd, 0x6d, 0x27, 0x61, 0x8c +}; + +/* Test Case 11 */ +# define K11 K10 +# define P11 P10 +# define A11 A10 +static const u8 IV11[] = { 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad }; + +static const u8 C11[] = { + 0x0f, 0x10, 0xf5, 0x99, 0xae, 0x14, 0xa1, 0x54, + 0xed, 0x24, 0xb3, 0x6e, 0x25, 0x32, 0x4d, 0xb8, + 0xc5, 0x66, 0x63, 0x2e, 0xf2, 0xbb, 0xb3, 0x4f, + 0x83, 0x47, 0x28, 0x0f, 0xc4, 0x50, 0x70, 0x57, + 0xfd, 0xdc, 0x29, 0xdf, 0x9a, 0x47, 0x1f, 0x75, + 0xc6, 0x65, 0x41, 0xd4, 0xd4, 0xda, 0xd1, 0xc9, + 0xe9, 0x3a, 0x19, 0xa5, 0x8e, 0x8b, 0x47, 0x3f, + 0xa0, 0xf0, 0x62, 0xf7 +}; + +static const u8 T11[] = { + 0x65, 0xdc, 0xc5, 0x7f, 0xcf, 0x62, 0x3a, 0x24, + 0x09, 0x4f, 0xcc, 0xa4, 0x0d, 0x35, 0x33, 0xf8 +}; + +/* Test Case 12 */ +# define K12 K11 +# define P12 P11 +# define A12 A11 +static const u8 IV12[] = { + 0x93, 0x13, 0x22, 0x5d, 0xf8, 0x84, 0x06, 0xe5, + 0x55, 0x90, 0x9c, 0x5a, 0xff, 0x52, 0x69, 0xaa, + 0x6a, 0x7a, 0x95, 0x38, 0x53, 0x4f, 0x7d, 0xa1, + 0xe4, 0xc3, 0x03, 0xd2, 0xa3, 0x18, 0xa7, 0x28, + 0xc3, 0xc0, 0xc9, 0x51, 0x56, 0x80, 0x95, 0x39, + 0xfc, 0xf0, 0xe2, 0x42, 0x9a, 0x6b, 0x52, 0x54, + 0x16, 0xae, 0xdb, 0xf5, 0xa0, 0xde, 0x6a, 0x57, + 0xa6, 0x37, 0xb3, 0x9b +}; + +static const u8 C12[] = { + 0xd2, 0x7e, 0x88, 0x68, 0x1c, 0xe3, 0x24, 0x3c, + 0x48, 0x30, 0x16, 0x5a, 0x8f, 0xdc, 0xf9, 0xff, + 0x1d, 0xe9, 0xa1, 0xd8, 0xe6, 0xb4, 0x47, 0xef, + 0x6e, 0xf7, 0xb7, 0x98, 0x28, 0x66, 0x6e, 0x45, + 0x81, 0xe7, 0x90, 0x12, 0xaf, 0x34, 0xdd, 0xd9, + 0xe2, 0xf0, 0x37, 0x58, 0x9b, 0x29, 0x2d, 0xb3, + 0xe6, 0x7c, 0x03, 0x67, 0x45, 0xfa, 0x22, 0xe7, + 0xe9, 0xb7, 0x37, 0x3b +}; + +static const u8 T12[] = { + 0xdc, 0xf5, 0x66, 0xff, 0x29, 0x1c, 0x25, 0xbb, + 0xb8, 0x56, 0x8f, 0xc3, 0xd3, 0x76, 0xa6, 0xd9 +}; + +/* Test Case 13 */ +static const u8 K13[32], P13[] = { 0 }, A13[] = { 0 }, IV13[12], C13[] = { 0 }; +static const u8 T13[] = { + 0x53, 0x0f, 0x8a, 0xfb, 0xc7, 0x45, 0x36, 0xb9, + 0xa9, 0x63, 0xb4, 0xf1, 0xc4, 0xcb, 0x73, 0x8b +}; + +/* Test Case 14 */ +# define K14 K13 +# define A14 A13 +static const u8 P14[16], IV14[12]; +static const u8 C14[] = { + 0xce, 0xa7, 0x40, 0x3d, 0x4d, 0x60, 0x6b, 0x6e, + 0x07, 0x4e, 0xc5, 0xd3, 0xba, 0xf3, 0x9d, 0x18 +}; + +static const u8 T14[] = { + 0xd0, 0xd1, 0xc8, 0xa7, 0x99, 0x99, 0x6b, 0xf0, + 0x26, 0x5b, 0x98, 0xb5, 0xd4, 0x8a, 0xb9, 0x19 +}; + +/* Test Case 15 */ +# define A15 A14 +static const u8 K15[] = { + 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, + 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08, + 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, + 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 +}; + +static const u8 P15[] = { + 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, + 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, + 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, + 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, + 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, + 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, + 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, + 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 +}; + +static const u8 IV15[] = { + 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, + 0xde, 0xca, 0xf8, 0x88 +}; + +static const u8 C15[] = { + 0x52, 0x2d, 0xc1, 0xf0, 0x99, 0x56, 0x7d, 0x07, + 0xf4, 0x7f, 0x37, 0xa3, 0x2a, 0x84, 0x42, 0x7d, + 0x64, 0x3a, 0x8c, 0xdc, 0xbf, 0xe5, 0xc0, 0xc9, + 0x75, 0x98, 0xa2, 0xbd, 0x25, 0x55, 0xd1, 0xaa, + 0x8c, 0xb0, 0x8e, 0x48, 0x59, 0x0d, 0xbb, 0x3d, + 0xa7, 0xb0, 0x8b, 0x10, 0x56, 0x82, 0x88, 0x38, + 0xc5, 0xf6, 0x1e, 0x63, 0x93, 0xba, 0x7a, 0x0a, + 0xbc, 0xc9, 0xf6, 0x62, 0x89, 0x80, 0x15, 0xad +}; + +static const u8 T15[] = { + 0xb0, 0x94, 0xda, 0xc5, 0xd9, 0x34, 0x71, 0xbd, + 0xec, 0x1a, 0x50, 0x22, 0x70, 0xe3, 0xcc, 0x6c +}; + +/* Test Case 16 */ +# define K16 K15 +# define IV16 IV15 +static const u8 P16[] = { + 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, + 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, + 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, + 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, + 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, + 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, + 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, + 0xba, 0x63, 0x7b, 0x39 +}; + +static const u8 A16[] = { + 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, + 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, + 0xab, 0xad, 0xda, 0xd2 +}; + +static const u8 C16[] = { + 0x52, 0x2d, 0xc1, 0xf0, 0x99, 0x56, 0x7d, 0x07, + 0xf4, 0x7f, 0x37, 0xa3, 0x2a, 0x84, 0x42, 0x7d, + 0x64, 0x3a, 0x8c, 0xdc, 0xbf, 0xe5, 0xc0, 0xc9, + 0x75, 0x98, 0xa2, 0xbd, 0x25, 0x55, 0xd1, 0xaa, + 0x8c, 0xb0, 0x8e, 0x48, 0x59, 0x0d, 0xbb, 0x3d, + 0xa7, 0xb0, 0x8b, 0x10, 0x56, 0x82, 0x88, 0x38, + 0xc5, 0xf6, 0x1e, 0x63, 0x93, 0xba, 0x7a, 0x0a, + 0xbc, 0xc9, 0xf6, 0x62 +}; + +static const u8 T16[] = { + 0x76, 0xfc, 0x6e, 0xce, 0x0f, 0x4e, 0x17, 0x68, + 0xcd, 0xdf, 0x88, 0x53, 0xbb, 0x2d, 0x55, 0x1b +}; + +/* Test Case 17 */ +# define K17 K16 +# define P17 P16 +# define A17 A16 +static const u8 IV17[] = { 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad }; + +static const u8 C17[] = { + 0xc3, 0x76, 0x2d, 0xf1, 0xca, 0x78, 0x7d, 0x32, + 0xae, 0x47, 0xc1, 0x3b, 0xf1, 0x98, 0x44, 0xcb, + 0xaf, 0x1a, 0xe1, 0x4d, 0x0b, 0x97, 0x6a, 0xfa, + 0xc5, 0x2f, 0xf7, 0xd7, 0x9b, 0xba, 0x9d, 0xe0, + 0xfe, 0xb5, 0x82, 0xd3, 0x39, 0x34, 0xa4, 0xf0, + 0x95, 0x4c, 0xc2, 0x36, 0x3b, 0xc7, 0x3f, 0x78, + 0x62, 0xac, 0x43, 0x0e, 0x64, 0xab, 0xe4, 0x99, + 0xf4, 0x7c, 0x9b, 0x1f +}; + +static const u8 T17[] = { + 0x3a, 0x33, 0x7d, 0xbf, 0x46, 0xa7, 0x92, 0xc4, + 0x5e, 0x45, 0x49, 0x13, 0xfe, 0x2e, 0xa8, 0xf2 +}; + +/* Test Case 18 */ +# define K18 K17 +# define P18 P17 +# define A18 A17 +static const u8 IV18[] = { + 0x93, 0x13, 0x22, 0x5d, 0xf8, 0x84, 0x06, 0xe5, + 0x55, 0x90, 0x9c, 0x5a, 0xff, 0x52, 0x69, 0xaa, + 0x6a, 0x7a, 0x95, 0x38, 0x53, 0x4f, 0x7d, 0xa1, + 0xe4, 0xc3, 0x03, 0xd2, 0xa3, 0x18, 0xa7, 0x28, + 0xc3, 0xc0, 0xc9, 0x51, 0x56, 0x80, 0x95, 0x39, + 0xfc, 0xf0, 0xe2, 0x42, 0x9a, 0x6b, 0x52, 0x54, + 0x16, 0xae, 0xdb, 0xf5, 0xa0, 0xde, 0x6a, 0x57, + 0xa6, 0x37, 0xb3, 0x9b +}; + +static const u8 C18[] = { + 0x5a, 0x8d, 0xef, 0x2f, 0x0c, 0x9e, 0x53, 0xf1, + 0xf7, 0x5d, 0x78, 0x53, 0x65, 0x9e, 0x2a, 0x20, + 0xee, 0xb2, 0xb2, 0x2a, 0xaf, 0xde, 0x64, 0x19, + 0xa0, 0x58, 0xab, 0x4f, 0x6f, 0x74, 0x6b, 0xf4, + 0x0f, 0xc0, 0xc3, 0xb7, 0x80, 0xf2, 0x44, 0x45, + 0x2d, 0xa3, 0xeb, 0xf1, 0xc5, 0xd8, 0x2c, 0xde, + 0xa2, 0x41, 0x89, 0x97, 0x20, 0x0e, 0xf8, 0x2e, + 0x44, 0xae, 0x7e, 0x3f +}; + +static const u8 T18[] = { + 0xa4, 0x4a, 0x82, 0x66, 0xee, 0x1c, 0x8e, 0xb0, + 0xc8, 0xb5, 0xd4, 0xcf, 0x5a, 0xe9, 0xf1, 0x9a +}; + +/* Test Case 19 */ +# define K19 K1 +# define P19 P1 +# define IV19 IV1 +# define C19 C1 +static const u8 A19[] = { + 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, + 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, + 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, + 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, + 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, + 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, + 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, + 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, + 0x52, 0x2d, 0xc1, 0xf0, 0x99, 0x56, 0x7d, 0x07, + 0xf4, 0x7f, 0x37, 0xa3, 0x2a, 0x84, 0x42, 0x7d, + 0x64, 0x3a, 0x8c, 0xdc, 0xbf, 0xe5, 0xc0, 0xc9, + 0x75, 0x98, 0xa2, 0xbd, 0x25, 0x55, 0xd1, 0xaa, + 0x8c, 0xb0, 0x8e, 0x48, 0x59, 0x0d, 0xbb, 0x3d, + 0xa7, 0xb0, 0x8b, 0x10, 0x56, 0x82, 0x88, 0x38, + 0xc5, 0xf6, 0x1e, 0x63, 0x93, 0xba, 0x7a, 0x0a, + 0xbc, 0xc9, 0xf6, 0x62, 0x89, 0x80, 0x15, 0xad +}; + +static const u8 T19[] = { + 0x5f, 0xea, 0x79, 0x3a, 0x2d, 0x6f, 0x97, 0x4d, + 0x37, 0xe6, 0x8e, 0x0c, 0xb8, 0xff, 0x94, 0x92 +}; + +/* Test Case 20 */ +# define K20 K1 +# define A20 A1 +/* this results in 0xff in counter LSB */ +static const u8 IV20[64] = { 0xff, 0xff, 0xff, 0xff }; + +static const u8 P20[288]; +static const u8 C20[] = { + 0x56, 0xb3, 0x37, 0x3c, 0xa9, 0xef, 0x6e, 0x4a, + 0x2b, 0x64, 0xfe, 0x1e, 0x9a, 0x17, 0xb6, 0x14, + 0x25, 0xf1, 0x0d, 0x47, 0xa7, 0x5a, 0x5f, 0xce, + 0x13, 0xef, 0xc6, 0xbc, 0x78, 0x4a, 0xf2, 0x4f, + 0x41, 0x41, 0xbd, 0xd4, 0x8c, 0xf7, 0xc7, 0x70, + 0x88, 0x7a, 0xfd, 0x57, 0x3c, 0xca, 0x54, 0x18, + 0xa9, 0xae, 0xff, 0xcd, 0x7c, 0x5c, 0xed, 0xdf, + 0xc6, 0xa7, 0x83, 0x97, 0xb9, 0xa8, 0x5b, 0x49, + 0x9d, 0xa5, 0x58, 0x25, 0x72, 0x67, 0xca, 0xab, + 0x2a, 0xd0, 0xb2, 0x3c, 0xa4, 0x76, 0xa5, 0x3c, + 0xb1, 0x7f, 0xb4, 0x1c, 0x4b, 0x8b, 0x47, 0x5c, + 0xb4, 0xf3, 0xf7, 0x16, 0x50, 0x94, 0xc2, 0x29, + 0xc9, 0xe8, 0xc4, 0xdc, 0x0a, 0x2a, 0x5f, 0xf1, + 0x90, 0x3e, 0x50, 0x15, 0x11, 0x22, 0x13, 0x76, + 0xa1, 0xcd, 0xb8, 0x36, 0x4c, 0x50, 0x61, 0xa2, + 0x0c, 0xae, 0x74, 0xbc, 0x4a, 0xcd, 0x76, 0xce, + 0xb0, 0xab, 0xc9, 0xfd, 0x32, 0x17, 0xef, 0x9f, + 0x8c, 0x90, 0xbe, 0x40, 0x2d, 0xdf, 0x6d, 0x86, + 0x97, 0xf4, 0xf8, 0x80, 0xdf, 0xf1, 0x5b, 0xfb, + 0x7a, 0x6b, 0x28, 0x24, 0x1e, 0xc8, 0xfe, 0x18, + 0x3c, 0x2d, 0x59, 0xe3, 0xf9, 0xdf, 0xff, 0x65, + 0x3c, 0x71, 0x26, 0xf0, 0xac, 0xb9, 0xe6, 0x42, + 0x11, 0xf4, 0x2b, 0xae, 0x12, 0xaf, 0x46, 0x2b, + 0x10, 0x70, 0xbe, 0xf1, 0xab, 0x5e, 0x36, 0x06, + 0x87, 0x2c, 0xa1, 0x0d, 0xee, 0x15, 0xb3, 0x24, + 0x9b, 0x1a, 0x1b, 0x95, 0x8f, 0x23, 0x13, 0x4c, + 0x4b, 0xcc, 0xb7, 0xd0, 0x32, 0x00, 0xbc, 0xe4, + 0x20, 0xa2, 0xf8, 0xeb, 0x66, 0xdc, 0xf3, 0x64, + 0x4d, 0x14, 0x23, 0xc1, 0xb5, 0x69, 0x90, 0x03, + 0xc1, 0x3e, 0xce, 0xf4, 0xbf, 0x38, 0xa3, 0xb6, + 0x0e, 0xed, 0xc3, 0x40, 0x33, 0xba, 0xc1, 0x90, + 0x27, 0x83, 0xdc, 0x6d, 0x89, 0xe2, 0xe7, 0x74, + 0x18, 0x8a, 0x43, 0x9c, 0x7e, 0xbc, 0xc0, 0x67, + 0x2d, 0xbd, 0xa4, 0xdd, 0xcf, 0xb2, 0x79, 0x46, + 0x13, 0xb0, 0xbe, 0x41, 0x31, 0x5e, 0xf7, 0x78, + 0x70, 0x8a, 0x70, 0xee, 0x7d, 0x75, 0x16, 0x5c +}; + +static const u8 T20[] = { + 0x8b, 0x30, 0x7f, 0x6b, 0x33, 0x28, 0x6d, 0x0a, + 0xb0, 0x26, 0xa9, 0xed, 0x3f, 0xe1, 0xe8, 0x5f +}; + +#define GCM128_TEST_VECTOR(n) \ + { \ + {sizeof(K##n), K##n}, \ + {sizeof(IV##n), IV##n}, \ + {sizeof(A##n), A##n}, \ + {sizeof(P##n), P##n}, \ + {sizeof(C##n), C##n}, \ + {sizeof(T##n), T##n} \ + } +static struct gcm128_data { + const SIZED_DATA K; + const SIZED_DATA IV; + const SIZED_DATA A; + const SIZED_DATA P; + const SIZED_DATA C; + const SIZED_DATA T; +} gcm128_vectors[] = { + GCM128_TEST_VECTOR(1), + GCM128_TEST_VECTOR(2), + GCM128_TEST_VECTOR(3), + GCM128_TEST_VECTOR(4), + GCM128_TEST_VECTOR(5), + GCM128_TEST_VECTOR(6), + GCM128_TEST_VECTOR(7), + GCM128_TEST_VECTOR(8), + GCM128_TEST_VECTOR(9), + GCM128_TEST_VECTOR(10), + GCM128_TEST_VECTOR(11), + GCM128_TEST_VECTOR(12), + GCM128_TEST_VECTOR(13), + GCM128_TEST_VECTOR(14), + GCM128_TEST_VECTOR(15), + GCM128_TEST_VECTOR(16), + GCM128_TEST_VECTOR(17), + GCM128_TEST_VECTOR(18), + GCM128_TEST_VECTOR(19), + GCM128_TEST_VECTOR(20) +}; + +static int test_gcm128(int idx) +{ + unsigned char out[512]; + SIZED_DATA K = gcm128_vectors[idx].K; + SIZED_DATA IV = gcm128_vectors[idx].IV; + SIZED_DATA A = gcm128_vectors[idx].A; + SIZED_DATA P = gcm128_vectors[idx].P; + SIZED_DATA C = gcm128_vectors[idx].C; + SIZED_DATA T = gcm128_vectors[idx].T; + GCM128_CONTEXT ctx; + AES_KEY key; + + /* Size 1 inputs are special-cased to signal NULL. */ + if (A.size == 1) + A.data = NULL; + if (P.size == 1) + P.data = NULL; + if (C.size == 1) + C.data = NULL; + + AES_set_encrypt_key(K.data, K.size * 8, &key); + + CRYPTO_gcm128_init(&ctx, &key, (block128_f)AES_encrypt); + CRYPTO_gcm128_setiv(&ctx, IV.data, IV.size); + memset(out, 0, P.size); + if (A.data != NULL) + CRYPTO_gcm128_aad(&ctx, A.data, A.size); + if (P.data != NULL) + CRYPTO_gcm128_encrypt( &ctx, P.data, out, P.size); + if (!TEST_false(CRYPTO_gcm128_finish(&ctx, T.data, 16)) + || (C.data != NULL + && !TEST_mem_eq(out, P.size, C.data, P.size))) + return 0; + + CRYPTO_gcm128_setiv(&ctx, IV.data, IV.size); + memset(out, 0, P.size); + if (A.data != NULL) + CRYPTO_gcm128_aad(&ctx, A.data, A.size); + if (C.data != NULL) + CRYPTO_gcm128_decrypt(&ctx, C.data, out, P.size); + if (!TEST_false(CRYPTO_gcm128_finish(&ctx, T.data, 16)) + || (P.data != NULL + && !TEST_mem_eq(out, P.size, P.data, P.size))) + return 0; + + return 1; +} + +int setup_tests(void) +{ + ADD_ALL_TESTS(test_aes_cts128, OSSL_NELEM(aes_cts128_vectors)); + ADD_ALL_TESTS(test_aes_cts128_nist, OSSL_NELEM(aes_cts128_vectors)); + ADD_ALL_TESTS(test_gcm128, OSSL_NELEM(gcm128_vectors)); + return 1; +} diff --git a/deps/openssl/openssl/test/ossl_shim/async_bio.h b/deps/openssl/openssl/test/ossl_shim/async_bio.h index bb24eadbbf249c..c09e236aefa3cd 100644 --- a/deps/openssl/openssl/test/ossl_shim/async_bio.h +++ b/deps/openssl/openssl/test/ossl_shim/async_bio.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_ASYNC_BIO -#define HEADER_ASYNC_BIO +#ifndef OSSL_TEST_SHIM_ASYNC_BIO_H +#define OSSL_TEST_SHIM_ASYNC_BIO_H #include #include @@ -36,4 +36,4 @@ void AsyncBioAllowWrite(BIO *bio, size_t count); void AsyncBioEnforceWriteQuota(BIO *bio, bool enforce); -#endif // HEADER_ASYNC_BIO +#endif // OSSL_TEST_SHIM_ASYNC_BIO_H diff --git a/deps/openssl/openssl/test/ossl_shim/include/openssl/base.h b/deps/openssl/openssl/test/ossl_shim/include/openssl/base.h index f725cd9d45c7f3..a8d47b86aeef6d 100644 --- a/deps/openssl/openssl/test/ossl_shim/include/openssl/base.h +++ b/deps/openssl/openssl/test/ossl_shim/include/openssl/base.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_HEADER_BASE_H -#define OPENSSL_HEADER_BASE_H +#ifndef OSSL_TEST_SHIM_INCLUDE_OPENSSL_BASE_H +#define OSSL_TEST_SHIM_INCLUDE_OPENSSL_BASE_H /* Needed for BORINGSSL_MAKE_DELETER */ # include @@ -108,4 +108,4 @@ BORINGSSL_MAKE_DELETER(SSL_SESSION, SSL_SESSION_free) } /* extern C++ */ -#endif /* OPENSSL_HEADER_BASE_H */ +#endif /* OSSL_TEST_SHIM_INCLUDE_OPENSSL_BASE_H */ diff --git a/deps/openssl/openssl/test/ossl_shim/packeted_bio.h b/deps/openssl/openssl/test/ossl_shim/packeted_bio.h index 436cf9082f349e..895bd37952d374 100644 --- a/deps/openssl/openssl/test/ossl_shim/packeted_bio.h +++ b/deps/openssl/openssl/test/ossl_shim/packeted_bio.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_PACKETED_BIO -#define HEADER_PACKETED_BIO +#ifndef OSSL_TEST_SHIM_PACKETED_BIO_H +#define OSSL_TEST_SHIM_PACKETED_BIO_H #include #include @@ -32,4 +32,4 @@ timeval PacketedBioGetClock(const BIO *bio); bool PacketedBioAdvanceClock(BIO *bio); -#endif // HEADER_PACKETED_BIO +#endif // OSSL_TEST_SHIM_PACKETED_BIO_H diff --git a/deps/openssl/openssl/test/ossl_shim/test_config.h b/deps/openssl/openssl/test/ossl_shim/test_config.h index b4efa455aebcfa..f95475a42e1304 100644 --- a/deps/openssl/openssl/test/ossl_shim/test_config.h +++ b/deps/openssl/openssl/test/ossl_shim/test_config.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_TEST_CONFIG -#define HEADER_TEST_CONFIG +#ifndef OSSL_TEST_SHIM_TEST_CONFIG_H +#define OSSL_TEST_SHIM_TEST_CONFIG_H #include #include @@ -85,4 +85,4 @@ struct TestConfig { bool ParseConfig(int argc, char **argv, TestConfig *out_config); -#endif // HEADER_TEST_CONFIG +#endif // OSSL_TEST_SHIM_TEST_CONFIG_H diff --git a/deps/openssl/openssl/test/packettest.c b/deps/openssl/openssl/test/packettest.c index e58d8d8bcfaa47..6c82d04414c3d2 100644 --- a/deps/openssl/openssl/test/packettest.c +++ b/deps/openssl/openssl/test/packettest.c @@ -7,7 +7,7 @@ * https://www.openssl.org/source/license.html */ -#include "../ssl/packet_locl.h" +#include "../ssl/packet_local.h" #include "testutil.h" #define BUF_LEN 255 diff --git a/deps/openssl/openssl/test/pemtest.c b/deps/openssl/openssl/test/pemtest.c new file mode 100644 index 00000000000000..3203d976be7683 --- /dev/null +++ b/deps/openssl/openssl/test/pemtest.c @@ -0,0 +1,91 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include +#include + +#include "testutil.h" +#include "internal/nelem.h" + +typedef struct { + const char *raw; + const char *encoded; +} TESTDATA; + +static TESTDATA b64_pem_data[] = { + { "hello world", + "aGVsbG8gd29ybGQ=" }, + { "a very ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong input", + "YSB2ZXJ5IG9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29uZyBpbnB1dA==" } +}; + +static const char *pemtype = "PEMTESTDATA"; + +static int test_b64(int idx) +{ + BIO *b = BIO_new(BIO_s_mem()); + char *name = NULL, *header = NULL; + unsigned char *data = NULL; + long len; + int ret = 0; + const char *raw = b64_pem_data[idx].raw; + const char *encoded = b64_pem_data[idx].encoded; + + if (!TEST_ptr(b) + || !TEST_true(BIO_printf(b, "-----BEGIN %s-----\n", pemtype)) + || !TEST_true(BIO_printf(b, "%s\n", encoded)) + || !TEST_true(BIO_printf(b, "-----END %s-----\n", pemtype)) + || !TEST_true(PEM_read_bio_ex(b, &name, &header, &data, &len, + PEM_FLAG_ONLY_B64))) + goto err; + if (!TEST_int_eq(memcmp(pemtype, name, strlen(pemtype)), 0) + || !TEST_int_eq(len, strlen(raw)) + || !TEST_int_eq(memcmp(data, raw, strlen(raw)), 0)) + goto err; + ret = 1; + err: + BIO_free(b); + OPENSSL_free(name); + OPENSSL_free(header); + OPENSSL_free(data); + return ret; +} + +static int test_invalid(void) +{ + BIO *b = BIO_new(BIO_s_mem()); + char *name = NULL, *header = NULL; + unsigned char *data = NULL; + long len; + const char *encoded = b64_pem_data[0].encoded; + + if (!TEST_ptr(b) + || !TEST_true(BIO_printf(b, "-----BEGIN %s-----\n", pemtype)) + || !TEST_true(BIO_printf(b, "%c%s\n", '\t', encoded)) + || !TEST_true(BIO_printf(b, "-----END %s-----\n", pemtype)) + /* Expected to fail due to non-base64 character */ + || TEST_true(PEM_read_bio_ex(b, &name, &header, &data, &len, + PEM_FLAG_ONLY_B64))) { + BIO_free(b); + return 0; + } + BIO_free(b); + OPENSSL_free(name); + OPENSSL_free(header); + OPENSSL_free(data); + return 1; +} + +int setup_tests(void) +{ + ADD_ALL_TESTS(test_b64, OSSL_NELEM(b64_pem_data)); + ADD_TEST(test_invalid); + return 1; +} diff --git a/deps/openssl/openssl/test/pkey_meth_kdf_test.c b/deps/openssl/openssl/test/pkey_meth_kdf_test.c new file mode 100644 index 00000000000000..f2abcf3ede5100 --- /dev/null +++ b/deps/openssl/openssl/test/pkey_meth_kdf_test.c @@ -0,0 +1,181 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* Tests of the EVP_PKEY_CTX_set_* macro family */ + +#include +#include + +#include +#include +#include "testutil.h" + +static int test_kdf_tls1_prf(void) +{ + EVP_PKEY_CTX *pctx; + unsigned char out[16]; + size_t outlen = sizeof(out); + pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_TLS1_PRF, NULL); + + if (EVP_PKEY_derive_init(pctx) <= 0) { + TEST_error("EVP_PKEY_derive_init"); + return 0; + } + if (EVP_PKEY_CTX_set_tls1_prf_md(pctx, EVP_sha256()) <= 0) { + TEST_error("EVP_PKEY_CTX_set_tls1_prf_md"); + return 0; + } + if (EVP_PKEY_CTX_set1_tls1_prf_secret(pctx, "secret", 6) <= 0) { + TEST_error("EVP_PKEY_CTX_set1_tls1_prf_secret"); + return 0; + } + if (EVP_PKEY_CTX_add1_tls1_prf_seed(pctx, "seed", 4) <= 0) { + TEST_error("EVP_PKEY_CTX_add1_tls1_prf_seed"); + return 0; + } + if (EVP_PKEY_derive(pctx, out, &outlen) <= 0) { + TEST_error("EVP_PKEY_derive"); + return 0; + } + + { + const unsigned char expected[sizeof(out)] = { + 0x8e, 0x4d, 0x93, 0x25, 0x30, 0xd7, 0x65, 0xa0, + 0xaa, 0xe9, 0x74, 0xc3, 0x04, 0x73, 0x5e, 0xcc + }; + if (!TEST_mem_eq(out, sizeof(out), expected, sizeof(expected))) { + return 0; + } + } + EVP_PKEY_CTX_free(pctx); + return 1; +} + +static int test_kdf_hkdf(void) +{ + EVP_PKEY_CTX *pctx; + unsigned char out[10]; + size_t outlen = sizeof(out); + pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_HKDF, NULL); + + if (EVP_PKEY_derive_init(pctx) <= 0) { + TEST_error("EVP_PKEY_derive_init"); + return 0; + } + if (EVP_PKEY_CTX_set_hkdf_md(pctx, EVP_sha256()) <= 0) { + TEST_error("EVP_PKEY_CTX_set_hkdf_md"); + return 0; + } + if (EVP_PKEY_CTX_set1_hkdf_salt(pctx, "salt", 4) <= 0) { + TEST_error("EVP_PKEY_CTX_set1_hkdf_salt"); + return 0; + } + if (EVP_PKEY_CTX_set1_hkdf_key(pctx, "secret", 6) <= 0) { + TEST_error("EVP_PKEY_CTX_set1_hkdf_key"); + return 0; + } + if (EVP_PKEY_CTX_add1_hkdf_info(pctx, "label", 5) <= 0) { + TEST_error("EVP_PKEY_CTX_set1_hkdf_info"); + return 0; + } + if (EVP_PKEY_derive(pctx, out, &outlen) <= 0) { + TEST_error("EVP_PKEY_derive"); + return 0; + } + + { + const unsigned char expected[sizeof(out)] = { + 0x2a, 0xc4, 0x36, 0x9f, 0x52, 0x59, 0x96, 0xf8, 0xde, 0x13 + }; + if (!TEST_mem_eq(out, sizeof(out), expected, sizeof(expected))) { + return 0; + } + } + EVP_PKEY_CTX_free(pctx); + return 1; +} + +#ifndef OPENSSL_NO_SCRYPT +static int test_kdf_scrypt(void) +{ + EVP_PKEY_CTX *pctx; + unsigned char out[64]; + size_t outlen = sizeof(out); + pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_SCRYPT, NULL); + + if (EVP_PKEY_derive_init(pctx) <= 0) { + TEST_error("EVP_PKEY_derive_init"); + return 0; + } + if (EVP_PKEY_CTX_set1_pbe_pass(pctx, "password", 8) <= 0) { + TEST_error("EVP_PKEY_CTX_set1_pbe_pass"); + return 0; + } + if (EVP_PKEY_CTX_set1_scrypt_salt(pctx, "NaCl", 4) <= 0) { + TEST_error("EVP_PKEY_CTX_set1_scrypt_salt"); + return 0; + } + if (EVP_PKEY_CTX_set_scrypt_N(pctx, 1024) <= 0) { + TEST_error("EVP_PKEY_CTX_set_scrypt_N"); + return 0; + } + if (EVP_PKEY_CTX_set_scrypt_r(pctx, 8) <= 0) { + TEST_error("EVP_PKEY_CTX_set_scrypt_r"); + return 0; + } + if (EVP_PKEY_CTX_set_scrypt_p(pctx, 16) <= 0) { + TEST_error("EVP_PKEY_CTX_set_scrypt_p"); + return 0; + } + if (EVP_PKEY_CTX_set_scrypt_maxmem_bytes(pctx, 16) <= 0) { + TEST_error("EVP_PKEY_CTX_set_maxmem_bytes"); + return 0; + } + if (EVP_PKEY_derive(pctx, out, &outlen) > 0) { + TEST_error("EVP_PKEY_derive should have failed"); + return 0; + } + if (EVP_PKEY_CTX_set_scrypt_maxmem_bytes(pctx, 10 * 1024 * 1024) <= 0) { + TEST_error("EVP_PKEY_CTX_set_maxmem_bytes"); + return 0; + } + if (EVP_PKEY_derive(pctx, out, &outlen) <= 0) { + TEST_error("EVP_PKEY_derive"); + return 0; + } + + { + const unsigned char expected[sizeof(out)] = { + 0xfd, 0xba, 0xbe, 0x1c, 0x9d, 0x34, 0x72, 0x00, + 0x78, 0x56, 0xe7, 0x19, 0x0d, 0x01, 0xe9, 0xfe, + 0x7c, 0x6a, 0xd7, 0xcb, 0xc8, 0x23, 0x78, 0x30, + 0xe7, 0x73, 0x76, 0x63, 0x4b, 0x37, 0x31, 0x62, + 0x2e, 0xaf, 0x30, 0xd9, 0x2e, 0x22, 0xa3, 0x88, + 0x6f, 0xf1, 0x09, 0x27, 0x9d, 0x98, 0x30, 0xda, + 0xc7, 0x27, 0xaf, 0xb9, 0x4a, 0x83, 0xee, 0x6d, + 0x83, 0x60, 0xcb, 0xdf, 0xa2, 0xcc, 0x06, 0x40 + }; + if (!TEST_mem_eq(out, sizeof(out), expected, sizeof(expected))) { + return 0; + } + } + EVP_PKEY_CTX_free(pctx); + return 1; +} +#endif + +int setup_tests(void) +{ + ADD_TEST(test_kdf_tls1_prf); + ADD_TEST(test_kdf_hkdf); +#ifndef OPENSSL_NO_SCRYPT + ADD_TEST(test_kdf_scrypt); +#endif + return 1; +} diff --git a/deps/openssl/openssl/test/pkey_meth_test.c b/deps/openssl/openssl/test/pkey_meth_test.c new file mode 100644 index 00000000000000..76537d7c1772a0 --- /dev/null +++ b/deps/openssl/openssl/test/pkey_meth_test.c @@ -0,0 +1,83 @@ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* Internal tests for EVP_PKEY method ordering */ + +#include +#include + +#include +#include "testutil.h" + +/* Test of EVP_PKEY_ASN1_METHOD ordering */ +static int test_asn1_meths(void) +{ + int i; + int prev = -1; + int good = 1; + int pkey_id; + const EVP_PKEY_ASN1_METHOD *ameth; + + for (i = 0; i < EVP_PKEY_asn1_get_count(); i++) { + ameth = EVP_PKEY_asn1_get0(i); + EVP_PKEY_asn1_get0_info(&pkey_id, NULL, NULL, NULL, NULL, ameth); + if (pkey_id < prev) + good = 0; + prev = pkey_id; + + } + if (!good) { + TEST_error("EVP_PKEY_ASN1_METHOD table out of order"); + for (i = 0; i < EVP_PKEY_asn1_get_count(); i++) { + const char *info; + + ameth = EVP_PKEY_asn1_get0(i); + EVP_PKEY_asn1_get0_info(&pkey_id, NULL, NULL, &info, NULL, ameth); + if (info == NULL) + info = ""; + TEST_note("%d : %s : %s", pkey_id, OBJ_nid2ln(pkey_id), info); + } + } + return good; +} + +/* Test of EVP_PKEY_METHOD ordering */ +static int test_pkey_meths(void) +{ + size_t i; + int prev = -1; + int good = 1; + int pkey_id; + const EVP_PKEY_METHOD *pmeth; + + for (i = 0; i < EVP_PKEY_meth_get_count(); i++) { + pmeth = EVP_PKEY_meth_get0(i); + EVP_PKEY_meth_get0_info(&pkey_id, NULL, pmeth); + if (pkey_id < prev) + good = 0; + prev = pkey_id; + + } + if (!good) { + TEST_error("EVP_PKEY_METHOD table out of order"); + for (i = 0; i < EVP_PKEY_meth_get_count(); i++) { + pmeth = EVP_PKEY_meth_get0(i); + EVP_PKEY_meth_get0_info(&pkey_id, NULL, pmeth); + TEST_note("%d : %s", pkey_id, OBJ_nid2ln(pkey_id)); + } + } + return good; +} + +int setup_tests(void) +{ + ADD_TEST(test_asn1_meths); + ADD_TEST(test_pkey_meths); + return 1; +} diff --git a/deps/openssl/openssl/test/poly1305_internal_test.c b/deps/openssl/openssl/test/poly1305_internal_test.c new file mode 100644 index 00000000000000..2b6a529baaab4f --- /dev/null +++ b/deps/openssl/openssl/test/poly1305_internal_test.c @@ -0,0 +1,1576 @@ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* Internal tests for the poly1305 module */ + +#include +#include + +#include "testutil.h" +#include "crypto/poly1305.h" +#include "../crypto/poly1305/poly1305_local.h" +#include "internal/nelem.h" + +typedef struct { + size_t size; + const unsigned char data[1024]; +} SIZED_DATA; + +typedef struct { + SIZED_DATA input; + SIZED_DATA key; + SIZED_DATA expected; +} TESTDATA; + +/********************************************************************** + * + * Test of poly1305 internal functions + * + ***/ + +static TESTDATA tests[] = { + /* + * RFC7539 + */ + { + { + 34, + { + 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x69, 0x63, 0x20, 0x46, 0x6f, + 0x72, 0x75, 0x6d, 0x20, 0x52, 0x65, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x20, 0x47, 0x72, 0x6f, + + 0x75, 0x70 + } + }, + { + 32, + { + 0x85, 0xd6, 0xbe, 0x78, 0x57, 0x55, 0x6d, 0x33, + 0x7f, 0x44, 0x52, 0xfe, 0x42, 0xd5, 0x06, 0xa8, + 0x01, 0x03, 0x80, 0x8a, 0xfb, 0x0d, 0xb2, 0xfd, + 0x4a, 0xbf, 0xf6, 0xaf, 0x41, 0x49, 0xf5, 0x1b + } + }, + { + 16, + { + 0xa8, 0x06, 0x1d, 0xc1, 0x30, 0x51, 0x36, 0xc6, + 0xc2, 0x2b, 0x8b, 0xaf, 0x0c, 0x01, 0x27, 0xa9 + } + } + }, + /* + * test vectors from "The Poly1305-AES message-authentication code" + */ + { + { + 2, + { + 0xf3, 0xf6 + } + }, + { + 32, + { + 0x85, 0x1f, 0xc4, 0x0c, 0x34, 0x67, 0xac, 0x0b, + 0xe0, 0x5c, 0xc2, 0x04, 0x04, 0xf3, 0xf7, 0x00, + 0x58, 0x0b, 0x3b, 0x0f, 0x94, 0x47, 0xbb, 0x1e, + 0x69, 0xd0, 0x95, 0xb5, 0x92, 0x8b, 0x6d, 0xbc + } + }, + { + 16, + { + 0xf4, 0xc6, 0x33, 0xc3, 0x04, 0x4f, 0xc1, 0x45, + 0xf8, 0x4f, 0x33, 0x5c, 0xb8, 0x19, 0x53, 0xde + } + } + }, + { + { + 0, + { + 0 + } + }, + { + 32, + { + 0xa0, 0xf3, 0x08, 0x00, 0x00, 0xf4, 0x64, 0x00, + 0xd0, 0xc7, 0xe9, 0x07, 0x6c, 0x83, 0x44, 0x03, + 0xdd, 0x3f, 0xab, 0x22, 0x51, 0xf1, 0x1a, 0xc7, + 0x59, 0xf0, 0x88, 0x71, 0x29, 0xcc, 0x2e, 0xe7 + } + }, + { + 16, + { + 0xdd, 0x3f, 0xab, 0x22, 0x51, 0xf1, 0x1a, 0xc7, + 0x59, 0xf0, 0x88, 0x71, 0x29, 0xcc, 0x2e, 0xe7 + } + } + }, + { + { + 32, + { + 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8, + 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24, + 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb, + 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36 + } + }, + { + 32, + { + 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09, + 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08, + 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88, + 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef + } + }, + { + 16, + { + 0x0e, 0xe1, 0xc1, 0x6b, 0xb7, 0x3f, 0x0f, 0x4f, + 0xd1, 0x98, 0x81, 0x75, 0x3c, 0x01, 0xcd, 0xbe + } + } + }, + { + { + 63, + { + 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34, + 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1, + 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81, + 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0, + + 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2, + 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67, + 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61, + 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9 + } + }, + { + 32, + { + 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c, + 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07, + 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1, + 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57 + } + }, + { + 16, + { + 0x51, 0x54, 0xad, 0x0d, 0x2c, 0xb2, 0x6e, 0x01, + 0x27, 0x4f, 0xc5, 0x11, 0x48, 0x49, 0x1f, 0x1b + } + }, + }, + /* + * self-generated vectors exercise "significant" lengths, such that + * are handled by different code paths + */ + { + { + 64, + { + 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34, + 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1, + 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81, + 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0, + + 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2, + 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67, + 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61, + 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf + } + }, + { + 32, + { + 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c, + 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07, + 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1, + 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57 + } + }, + { + 16, + { + 0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37, + 0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66 + } + }, + }, + { + { + 48, + { + 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34, + 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1, + 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81, + 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0, + + 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2, + 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67 + } + }, + { + 32, + { + 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c, + 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07, + 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1, + 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57 + + } + }, + { + 16, + { + 0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2, + 0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61 + } + }, + }, + { + { + 96, + { + 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34, + 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1, + 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81, + 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0, + + 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2, + 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67, + 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61, + 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf, + + 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8, + 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24, + 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb, + 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36 + } + }, + { + 32, + { + 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c, + 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07, + 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1, + 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57 + } + }, + { + 16, + { + 0xbb, 0xb6, 0x13, 0xb2, 0xb6, 0xd7, 0x53, 0xba, + 0x07, 0x39, 0x5b, 0x91, 0x6a, 0xae, 0xce, 0x15 + } + }, + }, + { + { + 112, + { + 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34, + 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1, + 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81, + 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0, + + 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2, + 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67, + 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61, + 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf, + + 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09, + 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08, + 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88, + 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef, + + 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8, + 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24 + } + }, + { + 32, + { + 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c, + 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07, + 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1, + 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57 + } + }, + { + 16, + { + 0xc7, 0x94, 0xd7, 0x05, 0x7d, 0x17, 0x78, 0xc4, + 0xbb, 0xee, 0x0a, 0x39, 0xb3, 0xd9, 0x73, 0x42 + } + }, + }, + { + { + 128, + { + 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34, + 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1, + 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81, + 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0, + + 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2, + 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67, + 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61, + 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf, + + 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09, + 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08, + 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88, + 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef, + + 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8, + 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24, + 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb, + 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36 + } + }, + { + 32, + { + 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c, + 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07, + 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1, + 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57 + } + }, + { + 16, + { + 0xff, 0xbc, 0xb9, 0xb3, 0x71, 0x42, 0x31, 0x52, + 0xd7, 0xfc, 0xa5, 0xad, 0x04, 0x2f, 0xba, 0xa9 + } + }, + }, + { + { + 144, + { + 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34, + 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1, + 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81, + 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0, + + 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2, + 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67, + 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61, + 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf, + + 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09, + 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08, + 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88, + 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef, + + 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8, + 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24, + 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb, + 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36, + + 0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37, + 0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66 + } + }, + { + 32, + { + 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c, + 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07, + 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1, + 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57 + } + }, + { + 16, + { + 0x06, 0x9e, 0xd6, 0xb8, 0xef, 0x0f, 0x20, 0x7b, + 0x3e, 0x24, 0x3b, 0xb1, 0x01, 0x9f, 0xe6, 0x32 + } + }, + }, + { + { + 160, + { + 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34, + 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1, + 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81, + 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0, + + 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2, + 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67, + 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61, + 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf, + + 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09, + 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08, + 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88, + 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef, + + 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8, + 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24, + 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb, + 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36, + + 0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37, + 0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66, + 0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2, + 0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61 + } + }, + { + 32, + { + 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c, + 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07, + 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1, + 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57 + } + }, + { + 16, + { + 0xcc, 0xa3, 0x39, 0xd9, 0xa4, 0x5f, 0xa2, 0x36, + 0x8c, 0x2c, 0x68, 0xb3, 0xa4, 0x17, 0x91, 0x33 + } + }, + }, + { + { + 288, + { + 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34, + 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1, + 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81, + 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0, + + 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2, + 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67, + 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61, + 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf, + + 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09, + 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08, + 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88, + 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef, + + 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8, + 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24, + 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb, + 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36, + + 0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37, + 0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66, + 0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2, + 0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61, + + 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34, + 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1, + 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81, + 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0, + + 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2, + 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67, + 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61, + 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf, + + 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09, + 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08, + 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88, + 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef, + + 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8, + 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24, + 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb, + 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36 + } + }, + { + 32, + { + 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c, + 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07, + 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1, + 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57 + } + }, + { + 16, + { + 0x53, 0xf6, 0xe8, 0x28, 0xa2, 0xf0, 0xfe, 0x0e, + 0xe8, 0x15, 0xbf, 0x0b, 0xd5, 0x84, 0x1a, 0x34 + } + }, + }, + { + { + 320, + { + 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34, + 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1, + 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81, + 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0, + + 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2, + 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67, + 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61, + 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf, + + 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09, + 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08, + 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88, + 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef, + + 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8, + 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24, + 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb, + 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36, + + 0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37, + 0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66, + 0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2, + 0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61, + + 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34, + 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1, + 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81, + 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0, + + 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2, + 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67, + 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61, + 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf, + + 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09, + 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08, + 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88, + 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef, + + 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8, + 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24, + 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb, + 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36, + + 0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37, + 0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66, + 0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2, + 0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61 + } + }, + { + 32, + { + 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c, + 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07, + 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1, + 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57 + } + }, + { + 16, + { + 0xb8, 0x46, 0xd4, 0x4e, 0x9b, 0xbd, 0x53, 0xce, + 0xdf, 0xfb, 0xfb, 0xb6, 0xb7, 0xfa, 0x49, 0x33 + } + }, + }, + /* + * 4th power of the key spills to 131th bit in SIMD key setup + */ + { + { + 256, + { + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + } + }, + { + 32, + { + 0xad, 0x62, 0x81, 0x07, 0xe8, 0x35, 0x1d, 0x0f, + 0x2c, 0x23, 0x1a, 0x05, 0xdc, 0x4a, 0x41, 0x06, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + { + 16, + { + 0x07, 0x14, 0x5a, 0x4c, 0x02, 0xfe, 0x5f, 0xa3, + 0x20, 0x36, 0xde, 0x68, 0xfa, 0xbe, 0x90, 0x66 + } + }, + }, + /* + * poly1305_ieee754.c failed this in final stage + */ + { + { + 252, + { + 0x84, 0x23, 0x64, 0xe1, 0x56, 0x33, 0x6c, 0x09, + 0x98, 0xb9, 0x33, 0xa6, 0x23, 0x77, 0x26, 0x18, + 0x0d, 0x9e, 0x3f, 0xdc, 0xbd, 0xe4, 0xcd, 0x5d, + 0x17, 0x08, 0x0f, 0xc3, 0xbe, 0xb4, 0x96, 0x14, + + 0xd7, 0x12, 0x2c, 0x03, 0x74, 0x63, 0xff, 0x10, + 0x4d, 0x73, 0xf1, 0x9c, 0x12, 0x70, 0x46, 0x28, + 0xd4, 0x17, 0xc4, 0xc5, 0x4a, 0x3f, 0xe3, 0x0d, + 0x3c, 0x3d, 0x77, 0x14, 0x38, 0x2d, 0x43, 0xb0, + + 0x38, 0x2a, 0x50, 0xa5, 0xde, 0xe5, 0x4b, 0xe8, + 0x44, 0xb0, 0x76, 0xe8, 0xdf, 0x88, 0x20, 0x1a, + 0x1c, 0xd4, 0x3b, 0x90, 0xeb, 0x21, 0x64, 0x3f, + 0xa9, 0x6f, 0x39, 0xb5, 0x18, 0xaa, 0x83, 0x40, + + 0xc9, 0x42, 0xff, 0x3c, 0x31, 0xba, 0xf7, 0xc9, + 0xbd, 0xbf, 0x0f, 0x31, 0xae, 0x3f, 0xa0, 0x96, + 0xbf, 0x8c, 0x63, 0x03, 0x06, 0x09, 0x82, 0x9f, + 0xe7, 0x2e, 0x17, 0x98, 0x24, 0x89, 0x0b, 0xc8, + + 0xe0, 0x8c, 0x31, 0x5c, 0x1c, 0xce, 0x2a, 0x83, + 0x14, 0x4d, 0xbb, 0xff, 0x09, 0xf7, 0x4e, 0x3e, + 0xfc, 0x77, 0x0b, 0x54, 0xd0, 0x98, 0x4a, 0x8f, + 0x19, 0xb1, 0x47, 0x19, 0xe6, 0x36, 0x35, 0x64, + + 0x1d, 0x6b, 0x1e, 0xed, 0xf6, 0x3e, 0xfb, 0xf0, + 0x80, 0xe1, 0x78, 0x3d, 0x32, 0x44, 0x54, 0x12, + 0x11, 0x4c, 0x20, 0xde, 0x0b, 0x83, 0x7a, 0x0d, + 0xfa, 0x33, 0xd6, 0xb8, 0x28, 0x25, 0xff, 0xf4, + + 0x4c, 0x9a, 0x70, 0xea, 0x54, 0xce, 0x47, 0xf0, + 0x7d, 0xf6, 0x98, 0xe6, 0xb0, 0x33, 0x23, 0xb5, + 0x30, 0x79, 0x36, 0x4a, 0x5f, 0xc3, 0xe9, 0xdd, + 0x03, 0x43, 0x92, 0xbd, 0xde, 0x86, 0xdc, 0xcd, + + 0xda, 0x94, 0x32, 0x1c, 0x5e, 0x44, 0x06, 0x04, + 0x89, 0x33, 0x6c, 0xb6, 0x5b, 0xf3, 0x98, 0x9c, + 0x36, 0xf7, 0x28, 0x2c, 0x2f, 0x5d, 0x2b, 0x88, + 0x2c, 0x17, 0x1e, 0x74 + } + }, + { + 32, + { + 0x95, 0xd5, 0xc0, 0x05, 0x50, 0x3e, 0x51, 0x0d, + 0x8c, 0xd0, 0xaa, 0x07, 0x2c, 0x4a, 0x4d, 0x06, + 0x6e, 0xab, 0xc5, 0x2d, 0x11, 0x65, 0x3d, 0xf4, + 0x7f, 0xbf, 0x63, 0xab, 0x19, 0x8b, 0xcc, 0x26 + } + }, + { + 16, + { + 0xf2, 0x48, 0x31, 0x2e, 0x57, 0x8d, 0x9d, 0x58, + 0xf8, 0xb7, 0xbb, 0x4d, 0x19, 0x10, 0x54, 0x31 + } + }, + }, + /* + * AVX2 in poly1305-x86.pl failed this with 176+32 split + */ + { + { + 208, + { + 0x24, 0x8a, 0xc3, 0x10, 0x85, 0xb6, 0xc2, 0xad, + 0xaa, 0xa3, 0x82, 0x59, 0xa0, 0xd7, 0x19, 0x2c, + 0x5c, 0x35, 0xd1, 0xbb, 0x4e, 0xf3, 0x9a, 0xd9, + 0x4c, 0x38, 0xd1, 0xc8, 0x24, 0x79, 0xe2, 0xdd, + + 0x21, 0x59, 0xa0, 0x77, 0x02, 0x4b, 0x05, 0x89, + 0xbc, 0x8a, 0x20, 0x10, 0x1b, 0x50, 0x6f, 0x0a, + 0x1a, 0xd0, 0xbb, 0xab, 0x76, 0xe8, 0x3a, 0x83, + 0xf1, 0xb9, 0x4b, 0xe6, 0xbe, 0xae, 0x74, 0xe8, + + 0x74, 0xca, 0xb6, 0x92, 0xc5, 0x96, 0x3a, 0x75, + 0x43, 0x6b, 0x77, 0x61, 0x21, 0xec, 0x9f, 0x62, + 0x39, 0x9a, 0x3e, 0x66, 0xb2, 0xd2, 0x27, 0x07, + 0xda, 0xe8, 0x19, 0x33, 0xb6, 0x27, 0x7f, 0x3c, + + 0x85, 0x16, 0xbc, 0xbe, 0x26, 0xdb, 0xbd, 0x86, + 0xf3, 0x73, 0x10, 0x3d, 0x7c, 0xf4, 0xca, 0xd1, + 0x88, 0x8c, 0x95, 0x21, 0x18, 0xfb, 0xfb, 0xd0, + 0xd7, 0xb4, 0xbe, 0xdc, 0x4a, 0xe4, 0x93, 0x6a, + + 0xff, 0x91, 0x15, 0x7e, 0x7a, 0xa4, 0x7c, 0x54, + 0x44, 0x2e, 0xa7, 0x8d, 0x6a, 0xc2, 0x51, 0xd3, + 0x24, 0xa0, 0xfb, 0xe4, 0x9d, 0x89, 0xcc, 0x35, + 0x21, 0xb6, 0x6d, 0x16, 0xe9, 0xc6, 0x6a, 0x37, + + 0x09, 0x89, 0x4e, 0x4e, 0xb0, 0xa4, 0xee, 0xdc, + 0x4a, 0xe1, 0x94, 0x68, 0xe6, 0x6b, 0x81, 0xf2, + + 0x71, 0x35, 0x1b, 0x1d, 0x92, 0x1e, 0xa5, 0x51, + 0x04, 0x7a, 0xbc, 0xc6, 0xb8, 0x7a, 0x90, 0x1f, + 0xde, 0x7d, 0xb7, 0x9f, 0xa1, 0x81, 0x8c, 0x11, + 0x33, 0x6d, 0xbc, 0x07, 0x24, 0x4a, 0x40, 0xeb + } + }, + { + 32, + { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + { + 16, + { + 0xbc, 0x93, 0x9b, 0xc5, 0x28, 0x14, 0x80, 0xfa, + 0x99, 0xc6, 0xd6, 0x8c, 0x25, 0x8e, 0xc4, 0x2f + } + }, + }, + /* + * test vectors from Google + */ + { + { + 0, + { + 0x00, + } + }, + { + 32, + { + 0xc8, 0xaf, 0xaa, 0xc3, 0x31, 0xee, 0x37, 0x2c, + 0xd6, 0x08, 0x2d, 0xe1, 0x34, 0x94, 0x3b, 0x17, + 0x47, 0x10, 0x13, 0x0e, 0x9f, 0x6f, 0xea, 0x8d, + 0x72, 0x29, 0x38, 0x50, 0xa6, 0x67, 0xd8, 0x6c + } + }, + { + 16, + { + 0x47, 0x10, 0x13, 0x0e, 0x9f, 0x6f, 0xea, 0x8d, + 0x72, 0x29, 0x38, 0x50, 0xa6, 0x67, 0xd8, 0x6c + } + }, + }, + { + { + 12, + { + 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, + 0x72, 0x6c, 0x64, 0x21 + } + }, + { + 32, + { + 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, + 0x33, 0x32, 0x2d, 0x62, 0x79, 0x74, 0x65, 0x20, + 0x6b, 0x65, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x50, 0x6f, 0x6c, 0x79, 0x31, 0x33, 0x30, 0x35 + } + }, + { + 16, + { + 0xa6, 0xf7, 0x45, 0x00, 0x8f, 0x81, 0xc9, 0x16, + 0xa2, 0x0d, 0xcc, 0x74, 0xee, 0xf2, 0xb2, 0xf0 + } + }, + }, + { + { + 32, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + { + 32, + { + 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, + 0x33, 0x32, 0x2d, 0x62, 0x79, 0x74, 0x65, 0x20, + 0x6b, 0x65, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x50, 0x6f, 0x6c, 0x79, 0x31, 0x33, 0x30, 0x35 + } + }, + { + 16, + { + 0x49, 0xec, 0x78, 0x09, 0x0e, 0x48, 0x1e, 0xc6, + 0xc2, 0x6b, 0x33, 0xb9, 0x1c, 0xcc, 0x03, 0x07 + } + }, + }, + { + { + 128, + { + 0x89, 0xda, 0xb8, 0x0b, 0x77, 0x17, 0xc1, 0xdb, + 0x5d, 0xb4, 0x37, 0x86, 0x0a, 0x3f, 0x70, 0x21, + 0x8e, 0x93, 0xe1, 0xb8, 0xf4, 0x61, 0xfb, 0x67, + 0x7f, 0x16, 0xf3, 0x5f, 0x6f, 0x87, 0xe2, 0xa9, + + 0x1c, 0x99, 0xbc, 0x3a, 0x47, 0xac, 0xe4, 0x76, + 0x40, 0xcc, 0x95, 0xc3, 0x45, 0xbe, 0x5e, 0xcc, + 0xa5, 0xa3, 0x52, 0x3c, 0x35, 0xcc, 0x01, 0x89, + 0x3a, 0xf0, 0xb6, 0x4a, 0x62, 0x03, 0x34, 0x27, + + 0x03, 0x72, 0xec, 0x12, 0x48, 0x2d, 0x1b, 0x1e, + 0x36, 0x35, 0x61, 0x69, 0x8a, 0x57, 0x8b, 0x35, + 0x98, 0x03, 0x49, 0x5b, 0xb4, 0xe2, 0xef, 0x19, + 0x30, 0xb1, 0x7a, 0x51, 0x90, 0xb5, 0x80, 0xf1, + + 0x41, 0x30, 0x0d, 0xf3, 0x0a, 0xdb, 0xec, 0xa2, + 0x8f, 0x64, 0x27, 0xa8, 0xbc, 0x1a, 0x99, 0x9f, + 0xd5, 0x1c, 0x55, 0x4a, 0x01, 0x7d, 0x09, 0x5d, + 0x8c, 0x3e, 0x31, 0x27, 0xda, 0xf9, 0xf5, 0x95 + } + }, + { + 32, + { + 0x2d, 0x77, 0x3b, 0xe3, 0x7a, 0xdb, 0x1e, 0x4d, + 0x68, 0x3b, 0xf0, 0x07, 0x5e, 0x79, 0xc4, 0xee, + 0x03, 0x79, 0x18, 0x53, 0x5a, 0x7f, 0x99, 0xcc, + 0xb7, 0x04, 0x0f, 0xb5, 0xf5, 0xf4, 0x3a, 0xea + } + }, + { + 16, + { + 0xc8, 0x5d, 0x15, 0xed, 0x44, 0xc3, 0x78, 0xd6, + 0xb0, 0x0e, 0x23, 0x06, 0x4c, 0x7b, 0xcd, 0x51 + } + }, + }, + { + { + 528, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, + 0x17, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, + + 0x06, 0xdb, 0x1f, 0x1f, 0x36, 0x8d, 0x69, 0x6a, + 0x81, 0x0a, 0x34, 0x9c, 0x0c, 0x71, 0x4c, 0x9a, + 0x5e, 0x78, 0x50, 0xc2, 0x40, 0x7d, 0x72, 0x1a, + 0xcd, 0xed, 0x95, 0xe0, 0x18, 0xd7, 0xa8, 0x52, + + 0x66, 0xa6, 0xe1, 0x28, 0x9c, 0xdb, 0x4a, 0xeb, + 0x18, 0xda, 0x5a, 0xc8, 0xa2, 0xb0, 0x02, 0x6d, + 0x24, 0xa5, 0x9a, 0xd4, 0x85, 0x22, 0x7f, 0x3e, + 0xae, 0xdb, 0xb2, 0xe7, 0xe3, 0x5e, 0x1c, 0x66, + + 0xcd, 0x60, 0xf9, 0xab, 0xf7, 0x16, 0xdc, 0xc9, + 0xac, 0x42, 0x68, 0x2d, 0xd7, 0xda, 0xb2, 0x87, + 0xa7, 0x02, 0x4c, 0x4e, 0xef, 0xc3, 0x21, 0xcc, + 0x05, 0x74, 0xe1, 0x67, 0x93, 0xe3, 0x7c, 0xec, + + 0x03, 0xc5, 0xbd, 0xa4, 0x2b, 0x54, 0xc1, 0x14, + 0xa8, 0x0b, 0x57, 0xaf, 0x26, 0x41, 0x6c, 0x7b, + 0xe7, 0x42, 0x00, 0x5e, 0x20, 0x85, 0x5c, 0x73, + 0xe2, 0x1d, 0xc8, 0xe2, 0xed, 0xc9, 0xd4, 0x35, + + 0xcb, 0x6f, 0x60, 0x59, 0x28, 0x00, 0x11, 0xc2, + 0x70, 0xb7, 0x15, 0x70, 0x05, 0x1c, 0x1c, 0x9b, + 0x30, 0x52, 0x12, 0x66, 0x20, 0xbc, 0x1e, 0x27, + 0x30, 0xfa, 0x06, 0x6c, 0x7a, 0x50, 0x9d, 0x53, + + 0xc6, 0x0e, 0x5a, 0xe1, 0xb4, 0x0a, 0xa6, 0xe3, + 0x9e, 0x49, 0x66, 0x92, 0x28, 0xc9, 0x0e, 0xec, + 0xb4, 0xa5, 0x0d, 0xb3, 0x2a, 0x50, 0xbc, 0x49, + 0xe9, 0x0b, 0x4f, 0x4b, 0x35, 0x9a, 0x1d, 0xfd, + + 0x11, 0x74, 0x9c, 0xd3, 0x86, 0x7f, 0xcf, 0x2f, + 0xb7, 0xbb, 0x6c, 0xd4, 0x73, 0x8f, 0x6a, 0x4a, + 0xd6, 0xf7, 0xca, 0x50, 0x58, 0xf7, 0x61, 0x88, + 0x45, 0xaf, 0x9f, 0x02, 0x0f, 0x6c, 0x3b, 0x96, + + 0x7b, 0x8f, 0x4c, 0xd4, 0xa9, 0x1e, 0x28, 0x13, + 0xb5, 0x07, 0xae, 0x66, 0xf2, 0xd3, 0x5c, 0x18, + 0x28, 0x4f, 0x72, 0x92, 0x18, 0x60, 0x62, 0xe1, + 0x0f, 0xd5, 0x51, 0x0d, 0x18, 0x77, 0x53, 0x51, + + 0xef, 0x33, 0x4e, 0x76, 0x34, 0xab, 0x47, 0x43, + 0xf5, 0xb6, 0x8f, 0x49, 0xad, 0xca, 0xb3, 0x84, + 0xd3, 0xfd, 0x75, 0xf7, 0x39, 0x0f, 0x40, 0x06, + 0xef, 0x2a, 0x29, 0x5c, 0x8c, 0x7a, 0x07, 0x6a, + + 0xd5, 0x45, 0x46, 0xcd, 0x25, 0xd2, 0x10, 0x7f, + 0xbe, 0x14, 0x36, 0xc8, 0x40, 0x92, 0x4a, 0xae, + 0xbe, 0x5b, 0x37, 0x08, 0x93, 0xcd, 0x63, 0xd1, + 0x32, 0x5b, 0x86, 0x16, 0xfc, 0x48, 0x10, 0x88, + + 0x6b, 0xc1, 0x52, 0xc5, 0x32, 0x21, 0xb6, 0xdf, + 0x37, 0x31, 0x19, 0x39, 0x32, 0x55, 0xee, 0x72, + 0xbc, 0xaa, 0x88, 0x01, 0x74, 0xf1, 0x71, 0x7f, + 0x91, 0x84, 0xfa, 0x91, 0x64, 0x6f, 0x17, 0xa2, + + 0x4a, 0xc5, 0x5d, 0x16, 0xbf, 0xdd, 0xca, 0x95, + 0x81, 0xa9, 0x2e, 0xda, 0x47, 0x92, 0x01, 0xf0, + 0xed, 0xbf, 0x63, 0x36, 0x00, 0xd6, 0x06, 0x6d, + 0x1a, 0xb3, 0x6d, 0x5d, 0x24, 0x15, 0xd7, 0x13, + + 0x51, 0xbb, 0xcd, 0x60, 0x8a, 0x25, 0x10, 0x8d, + 0x25, 0x64, 0x19, 0x92, 0xc1, 0xf2, 0x6c, 0x53, + 0x1c, 0xf9, 0xf9, 0x02, 0x03, 0xbc, 0x4c, 0xc1, + 0x9f, 0x59, 0x27, 0xd8, 0x34, 0xb0, 0xa4, 0x71, + + 0x16, 0xd3, 0x88, 0x4b, 0xbb, 0x16, 0x4b, 0x8e, + 0xc8, 0x83, 0xd1, 0xac, 0x83, 0x2e, 0x56, 0xb3, + 0x91, 0x8a, 0x98, 0x60, 0x1a, 0x08, 0xd1, 0x71, + 0x88, 0x15, 0x41, 0xd5, 0x94, 0xdb, 0x39, 0x9c, + + 0x6a, 0xe6, 0x15, 0x12, 0x21, 0x74, 0x5a, 0xec, + 0x81, 0x4c, 0x45, 0xb0, 0xb0, 0x5b, 0x56, 0x54, + 0x36, 0xfd, 0x6f, 0x13, 0x7a, 0xa1, 0x0a, 0x0c, + 0x0b, 0x64, 0x37, 0x61, 0xdb, 0xd6, 0xf9, 0xa9, + + 0xdc, 0xb9, 0x9b, 0x1a, 0x6e, 0x69, 0x08, 0x54, + 0xce, 0x07, 0x69, 0xcd, 0xe3, 0x97, 0x61, 0xd8, + 0x2f, 0xcd, 0xec, 0x15, 0xf0, 0xd9, 0x2d, 0x7d, + 0x8e, 0x94, 0xad, 0xe8, 0xeb, 0x83, 0xfb, 0xe0 + } + }, + { + 32, + { + 0x99, 0xe5, 0x82, 0x2d, 0xd4, 0x17, 0x3c, 0x99, + 0x5e, 0x3d, 0xae, 0x0d, 0xde, 0xfb, 0x97, 0x74, + 0x3f, 0xde, 0x3b, 0x08, 0x01, 0x34, 0xb3, 0x9f, + 0x76, 0xe9, 0xbf, 0x8d, 0x0e, 0x88, 0xd5, 0x46 + } + }, + { + 16, + { + 0x26, 0x37, 0x40, 0x8f, 0xe1, 0x30, 0x86, 0xea, + 0x73, 0xf9, 0x71, 0xe3, 0x42, 0x5e, 0x28, 0x20 + } + }, + }, + /* + * test vectors from Hanno Böck + */ + { + { + 257, + { + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0x80, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xce, 0xcc, 0xcc, 0xcc, + + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc5, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xe3, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + + 0xcc, 0xcc, 0xcc, 0xcc, 0xac, 0xcc, 0xcc, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xe6, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x00, 0x00, 0x00, + 0xaf, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, + + 0xcc, 0xcc, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x71, 0x92, 0x05, 0xa8, 0x52, 0x1d, + + 0xfc + } + }, + { + 32, + { + 0x7f, 0x1b, 0x02, 0x64, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc + } + }, + { + 16, + { + 0x85, 0x59, 0xb8, 0x76, 0xec, 0xee, 0xd6, 0x6e, + 0xb3, 0x77, 0x98, 0xc0, 0x45, 0x7b, 0xaf, 0xf9 + } + }, + }, + { + { + 39, + { + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, + 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x64 + } + }, + { + 32, + { + 0xe0, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa + } + }, + { + 16, + { + 0x00, 0xbd, 0x12, 0x58, 0x97, 0x8e, 0x20, 0x54, + 0x44, 0xc9, 0xaa, 0xaa, 0x82, 0x00, 0x6f, 0xed + } + }, + }, + { + { + 2, + { + 0x02, 0xfc + } + }, + { + 32, + { + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c + } + }, + { + 16, + { + 0x06, 0x12, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c + } + }, + }, + { + { + 415, + { + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7a, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + + 0x7b, 0x7b, 0x5c, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x6e, 0x7b, 0x00, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7a, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x5c, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, + + 0x7b, 0x6e, 0x7b, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x00, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0xef, 0xff, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x64, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, + + 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x00, 0xef, 0xff, 0x00, 0x09, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7a, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + + 0x00, 0x09, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc + } + }, + { + 32, + { + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7b, 0x7b + } + }, + { + 16, + { + 0x33, 0x20, 0x5b, 0xbf, 0x9e, 0x9f, 0x8f, 0x72, + 0x12, 0xab, 0x9e, 0x2a, 0xb9, 0xb7, 0xe4, 0xa5 + } + }, + }, + { + { + 118, + { + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0xff, 0xff, 0xff, 0xe9, + 0xe9, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, + 0xac, 0xac, 0xac, 0xac, 0x00, 0x00, 0xac, 0xac, + + 0xec, 0x01, 0x00, 0xac, 0xac, 0xac, 0x2c, 0xac, + 0xa2, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, + 0xac, 0xac, 0xac, 0xac, 0x64, 0xf2 + } + }, + { + 32, + { + 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x7f, + 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xcf, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77 + } + }, + { + 16, + { + 0x02, 0xee, 0x7c, 0x8c, 0x54, 0x6d, 0xde, 0xb1, + 0xa4, 0x67, 0xe4, 0xc3, 0x98, 0x11, 0x58, 0xb9 + } + }, + }, + /* + * test vectors from Andrew Moon + */ + { /* nacl */ + { + 131, + { + 0x8e, 0x99, 0x3b, 0x9f, 0x48, 0x68, 0x12, 0x73, + 0xc2, 0x96, 0x50, 0xba, 0x32, 0xfc, 0x76, 0xce, + 0x48, 0x33, 0x2e, 0xa7, 0x16, 0x4d, 0x96, 0xa4, + 0x47, 0x6f, 0xb8, 0xc5, 0x31, 0xa1, 0x18, 0x6a, + + 0xc0, 0xdf, 0xc1, 0x7c, 0x98, 0xdc, 0xe8, 0x7b, + 0x4d, 0xa7, 0xf0, 0x11, 0xec, 0x48, 0xc9, 0x72, + 0x71, 0xd2, 0xc2, 0x0f, 0x9b, 0x92, 0x8f, 0xe2, + 0x27, 0x0d, 0x6f, 0xb8, 0x63, 0xd5, 0x17, 0x38, + + 0xb4, 0x8e, 0xee, 0xe3, 0x14, 0xa7, 0xcc, 0x8a, + 0xb9, 0x32, 0x16, 0x45, 0x48, 0xe5, 0x26, 0xae, + 0x90, 0x22, 0x43, 0x68, 0x51, 0x7a, 0xcf, 0xea, + 0xbd, 0x6b, 0xb3, 0x73, 0x2b, 0xc0, 0xe9, 0xda, + + 0x99, 0x83, 0x2b, 0x61, 0xca, 0x01, 0xb6, 0xde, + 0x56, 0x24, 0x4a, 0x9e, 0x88, 0xd5, 0xf9, 0xb3, + 0x79, 0x73, 0xf6, 0x22, 0xa4, 0x3d, 0x14, 0xa6, + 0x59, 0x9b, 0x1f, 0x65, 0x4c, 0xb4, 0x5a, 0x74, + + 0xe3, 0x55, 0xa5 + } + }, + { + 32, + { + 0xee, 0xa6, 0xa7, 0x25, 0x1c, 0x1e, 0x72, 0x91, + 0x6d, 0x11, 0xc2, 0xcb, 0x21, 0x4d, 0x3c, 0x25, + 0x25, 0x39, 0x12, 0x1d, 0x8e, 0x23, 0x4e, 0x65, + 0x2d, 0x65, 0x1f, 0xa4, 0xc8, 0xcf, 0xf8, 0x80 + } + }, + { + 16, + { + 0xf3, 0xff, 0xc7, 0x70, 0x3f, 0x94, 0x00, 0xe5, + 0x2a, 0x7d, 0xfb, 0x4b, 0x3d, 0x33, 0x05, 0xd9 + } + }, + }, + { /* wrap 2^130-5 */ + { + 16, + { + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + } + }, + { + 32, + { + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + { + 16, + { + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + }, + { /* wrap 2^128 */ + { + 16, + { + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + { + 32, + { + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + } + }, + { + 16, + { + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + }, + { /* limb carry */ + { + 48, + { + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + + 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + { + 32, + { + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + { + 16, + { + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + }, + { /* 2^130-5 */ + { + 48, + { + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfb, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + } + }, + { + 32, + { + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + { + 16, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + } + }, + }, + { /* 2^130-6 */ + { + 16, + { + 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + } + }, + { + 32, + { + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + { + 16, + { + 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + } + }, + }, + { /* 5*H+L reduction intermediate */ + { + 64, + { + 0xe3, 0x35, 0x94, 0xd7, 0x50, 0x5e, 0x43, 0xb9, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x33, 0x94, 0xd7, 0x50, 0x5e, 0x43, 0x79, 0xcd, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + { + 32, + { + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + { + 16, + { + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + }, + { /* 5*H+L reduction final */ + { + 48, + { + 0xe3, 0x35, 0x94, 0xd7, 0x50, 0x5e, 0x43, 0xb9, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x33, 0x94, 0xd7, 0x50, 0x5e, 0x43, 0x79, 0xcd, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + } + }, + { + 32, + { + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + }, + { + 16, + { + 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + } + } + } +}; + +static int test_poly1305(int idx) +{ + POLY1305 poly1305; + const TESTDATA test = tests[idx]; + const unsigned char *in = test.input.data; + size_t inlen = test.input.size; + const unsigned char *key = test.key.data; + const unsigned char *expected = test.expected.data; + size_t expectedlen = test.expected.size; + unsigned char out[16]; + + if (!TEST_size_t_eq(expectedlen, sizeof(out))) + return 0; + + Poly1305_Init(&poly1305, key); + Poly1305_Update(&poly1305, in, inlen); + Poly1305_Final(&poly1305, out); + + if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) { + TEST_info("Poly1305 test #%d failed.", idx); + return 0; + } + + if (inlen > 16) { + Poly1305_Init(&poly1305, key); + Poly1305_Update(&poly1305, in, 1); + Poly1305_Update(&poly1305, in+1, inlen-1); + Poly1305_Final(&poly1305, out); + + if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) { + TEST_info("Poly1305 test #%d/1+(N-1) failed.", idx); + return 0; + } + } + + if (inlen > 32) { + size_t half = inlen / 2; + + Poly1305_Init(&poly1305, key); + Poly1305_Update(&poly1305, in, half); + Poly1305_Update(&poly1305, in+half, inlen-half); + Poly1305_Final(&poly1305, out); + + if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) { + TEST_info("Poly1305 test #%d/2 failed.", idx); + return 0; + } + + for (half = 16; half < inlen; half += 16) { + Poly1305_Init(&poly1305, key); + Poly1305_Update(&poly1305, in, half); + Poly1305_Update(&poly1305, in+half, inlen-half); + Poly1305_Final(&poly1305, out); + + if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) { + TEST_info("Poly1305 test #%d/%zu+%zu failed.", + idx, half, inlen-half); + return 0; + } + } + } + + return 1; +} + +int setup_tests(void) +{ + ADD_ALL_TESTS(test_poly1305, OSSL_NELEM(tests)); + return 1; +} diff --git a/deps/openssl/openssl/test/rdrand_sanitytest.c b/deps/openssl/openssl/test/rdrand_sanitytest.c new file mode 100644 index 00000000000000..906752a619d30c --- /dev/null +++ b/deps/openssl/openssl/test/rdrand_sanitytest.c @@ -0,0 +1,126 @@ +/* + * Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include +#include +#include "testutil.h" +#include + +#if (defined(__i386) || defined(__i386__) || defined(_M_IX86) || \ + defined(__x86_64) || defined(__x86_64__) || \ + defined(_M_AMD64) || defined (_M_X64)) && defined(OPENSSL_CPUID_OBJ) + +size_t OPENSSL_ia32_rdrand_bytes(unsigned char *buf, size_t len); +size_t OPENSSL_ia32_rdseed_bytes(unsigned char *buf, size_t len); + +void OPENSSL_cpuid_setup(void); + +extern unsigned int OPENSSL_ia32cap_P[4]; + +static int sanity_check_bytes(size_t (*rng)(unsigned char *, size_t), + int rounds, int min_failures, int max_retries, int max_zero_words) +{ + int testresult = 0; + unsigned char prior[31] = {0}, buf[31] = {0}, check[7]; + int failures = 0, zero_words = 0; + + int i; + for (i = 0; i < rounds; i++) { + size_t generated = 0; + + int retry; + for (retry = 0; retry < max_retries; retry++) { + generated = rng(buf, sizeof(buf)); + if (generated == sizeof(buf)) + break; + failures++; + } + + /*- + * Verify that we don't have too many unexpected runs of zeroes, + * implying that we might be accidentally using the 32-bit RDRAND + * instead of the 64-bit one on 64-bit systems. + */ + size_t j; + for (j = 0; j < sizeof(buf) - 1; j++) { + if (buf[j] == 0 && buf[j+1] == 0) { + zero_words++; + } + } + + if (!TEST_int_eq(generated, sizeof(buf))) + goto end; + if (!TEST_false(!memcmp(prior, buf, sizeof(buf)))) + goto end; + + /* Verify that the last 7 bytes of buf aren't all the same value */ + unsigned char *tail = &buf[sizeof(buf) - sizeof(check)]; + memset(check, tail[0], 7); + if (!TEST_false(!memcmp(check, tail, sizeof(check)))) + goto end; + + /* Save the result and make sure it's different next time */ + memcpy(prior, buf, sizeof(buf)); + } + + if (!TEST_int_le(zero_words, max_zero_words)) + goto end; + + if (!TEST_int_ge(failures, min_failures)) + goto end; + + testresult = 1; +end: + return testresult; +} + +static int sanity_check_rdrand_bytes(void) +{ + return sanity_check_bytes(OPENSSL_ia32_rdrand_bytes, 1000, 0, 10, 10); +} + +static int sanity_check_rdseed_bytes(void) +{ + /*- + * RDSEED may take many retries to succeed; note that this is effectively + * multiplied by the 8x retry loop in asm, and failure probabilities are + * increased by the fact that we need either 4 or 8 samples depending on + * the platform. + */ + return sanity_check_bytes(OPENSSL_ia32_rdseed_bytes, 1000, 1, 10000, 10); +} + +int setup_tests(void) +{ + OPENSSL_cpuid_setup(); + + int have_rdseed = (OPENSSL_ia32cap_P[2] & (1 << 18)) != 0; + int have_rdrand = (OPENSSL_ia32cap_P[1] & (1 << (62 - 32))) != 0; + + if (have_rdrand) { + ADD_TEST(sanity_check_rdrand_bytes); + } + + if (have_rdseed) { + ADD_TEST(sanity_check_rdseed_bytes); + } + + return 1; +} + + +#else + +int setup_tests(void) +{ + return 1; +} + +#endif diff --git a/deps/openssl/openssl/test/recipes/10-test_bn.t b/deps/openssl/openssl/test/recipes/10-test_bn.t index a663009ce93769..4e38c8f8b422c8 100644 --- a/deps/openssl/openssl/test/recipes/10-test_bn.t +++ b/deps/openssl/openssl/test/recipes/10-test_bn.t @@ -16,9 +16,8 @@ use OpenSSL::Test qw/:DEFAULT data_file/; setup("test_bn"); -my @files = ( - "bnexp.txt", "bnmod.txt", "bnmul.txt", "bnshift.txt", "bnsum.txt" - ); +my @files = qw( bnexp.txt bnmod.txt bnmul.txt bnshift.txt bnsum.txt bngcd.txt ); + plan tests => 1 + scalar(@files); foreach my $f ( @files ) { diff --git a/deps/openssl/openssl/test/recipes/10-test_bn_data/bngcd.txt b/deps/openssl/openssl/test/recipes/10-test_bn_data/bngcd.txt new file mode 100644 index 00000000000000..ea19336b5dcd8c --- /dev/null +++ b/deps/openssl/openssl/test/recipes/10-test_bn_data/bngcd.txt @@ -0,0 +1,17179 @@ +# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the Apache License 2.0 (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + +# GCD tests. +# +# These test vectors satisfy gcd(A, B) = GCD. +# They were generated with sage, independent of OpenSSL. + +A = 0 +B = 0 +GCD = 0 + +# gcd(1,0) = 1 +A = 1 +B = 0 +GCD = 1 + +# gcd(1,1) = 1 +A = 1 +B = 1 +GCD = 1 + +# gcd(0,a) = a +A = 0 +B = 70030ffeeea3deaea19387f4f1d0f460a6954a2a9cb98290602ac09036143ef8eb9692f3eac22961811083e073ee0be1506c24d7b0d4eb0089406758828f7c99dc01692846f88aafb58b2d56a6dd1157b781eeaf807d59496aac6ca754f8830b743ea938ce16cbe03c8fd8675c78ba2420d502f2227a9bbe3979865cd154cbb2 +GCD = 70030ffeeea3deaea19387f4f1d0f460a6954a2a9cb98290602ac09036143ef8eb9692f3eac22961811083e073ee0be1506c24d7b0d4eb0089406758828f7c99dc01692846f88aafb58b2d56a6dd1157b781eeaf807d59496aac6ca754f8830b743ea938ce16cbe03c8fd8675c78ba2420d502f2227a9bbe3979865cd154cbb2 + +# gcd(-a,0) = |a| +A = -231f16458c487346cf50a17beec83632f25d19abeea1097c746533cd3e35207b7efd75dc3e9c663a64b6861e88579dad08649f107a13edf2ad43d0056f9240ad2a08c4aba20f05cc4aad23eb47e77cc8031df5b1c735b55103e164ca6c07bd040e12616df28064e5895a8903a26dfde7e88229a8d29fc4cb77711bf81bd04db9 +B = 0 +GCD = 231f16458c487346cf50a17beec83632f25d19abeea1097c746533cd3e35207b7efd75dc3e9c663a64b6861e88579dad08649f107a13edf2ad43d0056f9240ad2a08c4aba20f05cc4aad23eb47e77cc8031df5b1c735b55103e164ca6c07bd040e12616df28064e5895a8903a26dfde7e88229a8d29fc4cb77711bf81bd04db9 + +# for even i, test: +# gcd(2**i - 1, 2**(i/2) - 1) = 2**(i/2) - 1 +# gcd(2**i - 1, 2**(i/2) + 1) = 2**(i/2) + 1 +A = f +B = 3 +GCD = 3 + +A = f +B = 5 +GCD = 5 + +A = 3f +B = 7 +GCD = 7 + +A = 3f +B = 9 +GCD = 9 + +A = ff +B = f +GCD = f + +A = ff +B = 11 +GCD = 11 + +A = 3ff +B = 1f +GCD = 1f + +A = 3ff +B = 21 +GCD = 21 + +A = fff +B = 3f +GCD = 3f + +A = fff +B = 41 +GCD = 41 + +A = 3fff +B = 7f +GCD = 7f + +A = 3fff +B = 81 +GCD = 81 + +A = ffff +B = ff +GCD = ff + +A = ffff +B = 101 +GCD = 101 + +A = 3ffff +B = 1ff +GCD = 1ff + +A = 3ffff +B = 201 +GCD = 201 + +A = fffff +B = 3ff +GCD = 3ff + +A = fffff +B = 401 +GCD = 401 + +A = 3fffff +B = 7ff +GCD = 7ff + +A = 3fffff +B = 801 +GCD = 801 + +A = ffffff +B = fff +GCD = fff + +A = ffffff +B = 1001 +GCD = 1001 + +A = 3ffffff +B = 1fff +GCD = 1fff + +A = 3ffffff +B = 2001 +GCD = 2001 + +A = fffffff +B = 3fff +GCD = 3fff + +A = fffffff +B = 4001 +GCD = 4001 + +A = 3fffffff +B = 7fff +GCD = 7fff + +A = 3fffffff +B = 8001 +GCD = 8001 + +A = ffffffff +B = ffff +GCD = ffff + +A = ffffffff +B = 10001 +GCD = 10001 + +A = 3ffffffff +B = 1ffff +GCD = 1ffff + +A = 3ffffffff +B = 20001 +GCD = 20001 + +A = fffffffff +B = 3ffff +GCD = 3ffff + +A = fffffffff +B = 40001 +GCD = 40001 + +A = 3fffffffff +B = 7ffff +GCD = 7ffff + +A = 3fffffffff +B = 80001 +GCD = 80001 + +A = ffffffffff +B = fffff +GCD = fffff + +A = ffffffffff +B = 100001 +GCD = 100001 + +A = 3ffffffffff +B = 1fffff +GCD = 1fffff + +A = 3ffffffffff +B = 200001 +GCD = 200001 + +A = fffffffffff +B = 3fffff +GCD = 3fffff + +A = fffffffffff +B = 400001 +GCD = 400001 + +A = 3fffffffffff +B = 7fffff +GCD = 7fffff + +A = 3fffffffffff +B = 800001 +GCD = 800001 + +A = ffffffffffff +B = ffffff +GCD = ffffff + +A = ffffffffffff +B = 1000001 +GCD = 1000001 + +A = 3ffffffffffff +B = 1ffffff +GCD = 1ffffff + +A = 3ffffffffffff +B = 2000001 +GCD = 2000001 + +A = fffffffffffff +B = 3ffffff +GCD = 3ffffff + +A = fffffffffffff +B = 4000001 +GCD = 4000001 + +A = 3fffffffffffff +B = 7ffffff +GCD = 7ffffff + +A = 3fffffffffffff +B = 8000001 +GCD = 8000001 + +A = ffffffffffffff +B = fffffff +GCD = fffffff + +A = ffffffffffffff +B = 10000001 +GCD = 10000001 + +A = 3ffffffffffffff +B = 1fffffff +GCD = 1fffffff + +A = 3ffffffffffffff +B = 20000001 +GCD = 20000001 + +A = fffffffffffffff +B = 3fffffff +GCD = 3fffffff + +A = fffffffffffffff +B = 40000001 +GCD = 40000001 + +A = 3fffffffffffffff +B = 7fffffff +GCD = 7fffffff + +A = 3fffffffffffffff +B = 80000001 +GCD = 80000001 + +A = ffffffffffffffff +B = ffffffff +GCD = ffffffff + +A = ffffffffffffffff +B = 100000001 +GCD = 100000001 + +A = 3ffffffffffffffff +B = 1ffffffff +GCD = 1ffffffff + +A = 3ffffffffffffffff +B = 200000001 +GCD = 200000001 + +A = fffffffffffffffff +B = 3ffffffff +GCD = 3ffffffff + +A = fffffffffffffffff +B = 400000001 +GCD = 400000001 + +A = 3fffffffffffffffff +B = 7ffffffff +GCD = 7ffffffff + +A = 3fffffffffffffffff +B = 800000001 +GCD = 800000001 + +A = ffffffffffffffffff +B = fffffffff +GCD = fffffffff + +A = ffffffffffffffffff +B = 1000000001 +GCD = 1000000001 + +A = 3ffffffffffffffffff +B = 1fffffffff +GCD = 1fffffffff + +A = 3ffffffffffffffffff +B = 2000000001 +GCD = 2000000001 + +A = fffffffffffffffffff +B = 3fffffffff +GCD = 3fffffffff + +A = fffffffffffffffffff +B = 4000000001 +GCD = 4000000001 + +A = 3fffffffffffffffffff +B = 7fffffffff +GCD = 7fffffffff + +A = 3fffffffffffffffffff +B = 8000000001 +GCD = 8000000001 + +A = ffffffffffffffffffff +B = ffffffffff +GCD = ffffffffff + +A = ffffffffffffffffffff +B = 10000000001 +GCD = 10000000001 + +A = 3ffffffffffffffffffff +B = 1ffffffffff +GCD = 1ffffffffff + +A = 3ffffffffffffffffffff +B = 20000000001 +GCD = 20000000001 + +A = fffffffffffffffffffff +B = 3ffffffffff +GCD = 3ffffffffff + +A = fffffffffffffffffffff +B = 40000000001 +GCD = 40000000001 + +A = 3fffffffffffffffffffff +B = 7ffffffffff +GCD = 7ffffffffff + +A = 3fffffffffffffffffffff +B = 80000000001 +GCD = 80000000001 + +A = ffffffffffffffffffffff +B = fffffffffff +GCD = fffffffffff + +A = ffffffffffffffffffffff +B = 100000000001 +GCD = 100000000001 + +A = 3ffffffffffffffffffffff +B = 1fffffffffff +GCD = 1fffffffffff + +A = 3ffffffffffffffffffffff +B = 200000000001 +GCD = 200000000001 + +A = fffffffffffffffffffffff +B = 3fffffffffff +GCD = 3fffffffffff + +A = fffffffffffffffffffffff +B = 400000000001 +GCD = 400000000001 + +A = 3fffffffffffffffffffffff +B = 7fffffffffff +GCD = 7fffffffffff + +A = 3fffffffffffffffffffffff +B = 800000000001 +GCD = 800000000001 + +A = ffffffffffffffffffffffff +B = ffffffffffff +GCD = ffffffffffff + +A = ffffffffffffffffffffffff +B = 1000000000001 +GCD = 1000000000001 + +A = 3ffffffffffffffffffffffff +B = 1ffffffffffff +GCD = 1ffffffffffff + +A = 3ffffffffffffffffffffffff +B = 2000000000001 +GCD = 2000000000001 + +A = fffffffffffffffffffffffff +B = 3ffffffffffff +GCD = 3ffffffffffff + +A = fffffffffffffffffffffffff +B = 4000000000001 +GCD = 4000000000001 + +A = 3fffffffffffffffffffffffff +B = 7ffffffffffff +GCD = 7ffffffffffff + +A = 3fffffffffffffffffffffffff +B = 8000000000001 +GCD = 8000000000001 + +A = ffffffffffffffffffffffffff +B = fffffffffffff +GCD = fffffffffffff + +A = ffffffffffffffffffffffffff +B = 10000000000001 +GCD = 10000000000001 + +A = 3ffffffffffffffffffffffffff +B = 1fffffffffffff +GCD = 1fffffffffffff + +A = 3ffffffffffffffffffffffffff +B = 20000000000001 +GCD = 20000000000001 + +A = fffffffffffffffffffffffffff +B = 3fffffffffffff +GCD = 3fffffffffffff + +A = fffffffffffffffffffffffffff +B = 40000000000001 +GCD = 40000000000001 + +A = 3fffffffffffffffffffffffffff +B = 7fffffffffffff +GCD = 7fffffffffffff + +A = 3fffffffffffffffffffffffffff +B = 80000000000001 +GCD = 80000000000001 + +A = ffffffffffffffffffffffffffff +B = ffffffffffffff +GCD = ffffffffffffff + +A = ffffffffffffffffffffffffffff +B = 100000000000001 +GCD = 100000000000001 + +A = 3ffffffffffffffffffffffffffff +B = 1ffffffffffffff +GCD = 1ffffffffffffff + +A = 3ffffffffffffffffffffffffffff +B = 200000000000001 +GCD = 200000000000001 + +A = fffffffffffffffffffffffffffff +B = 3ffffffffffffff +GCD = 3ffffffffffffff + +A = fffffffffffffffffffffffffffff +B = 400000000000001 +GCD = 400000000000001 + +A = 3fffffffffffffffffffffffffffff +B = 7ffffffffffffff +GCD = 7ffffffffffffff + +A = 3fffffffffffffffffffffffffffff +B = 800000000000001 +GCD = 800000000000001 + +A = ffffffffffffffffffffffffffffff +B = fffffffffffffff +GCD = fffffffffffffff + +A = ffffffffffffffffffffffffffffff +B = 1000000000000001 +GCD = 1000000000000001 + +A = 3ffffffffffffffffffffffffffffff +B = 1fffffffffffffff +GCD = 1fffffffffffffff + +A = 3ffffffffffffffffffffffffffffff +B = 2000000000000001 +GCD = 2000000000000001 + +A = fffffffffffffffffffffffffffffff +B = 3fffffffffffffff +GCD = 3fffffffffffffff + +A = fffffffffffffffffffffffffffffff +B = 4000000000000001 +GCD = 4000000000000001 + +A = 3fffffffffffffffffffffffffffffff +B = 7fffffffffffffff +GCD = 7fffffffffffffff + +A = 3fffffffffffffffffffffffffffffff +B = 8000000000000001 +GCD = 8000000000000001 + +A = ffffffffffffffffffffffffffffffff +B = ffffffffffffffff +GCD = ffffffffffffffff + +A = ffffffffffffffffffffffffffffffff +B = 10000000000000001 +GCD = 10000000000000001 + +A = 3ffffffffffffffffffffffffffffffff +B = 1ffffffffffffffff +GCD = 1ffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffff +B = 20000000000000001 +GCD = 20000000000000001 + +A = fffffffffffffffffffffffffffffffff +B = 3ffffffffffffffff +GCD = 3ffffffffffffffff + +A = fffffffffffffffffffffffffffffffff +B = 40000000000000001 +GCD = 40000000000000001 + +A = 3fffffffffffffffffffffffffffffffff +B = 7ffffffffffffffff +GCD = 7ffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffff +B = 80000000000000001 +GCD = 80000000000000001 + +A = ffffffffffffffffffffffffffffffffff +B = fffffffffffffffff +GCD = fffffffffffffffff + +A = ffffffffffffffffffffffffffffffffff +B = 100000000000000001 +GCD = 100000000000000001 + +A = 3ffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffff +GCD = 1fffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffff +B = 200000000000000001 +GCD = 200000000000000001 + +A = fffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffff +GCD = 3fffffffffffffffff + +A = fffffffffffffffffffffffffffffffffff +B = 400000000000000001 +GCD = 400000000000000001 + +A = 3fffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffff +GCD = 7fffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffff +B = 800000000000000001 +GCD = 800000000000000001 + +A = ffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffff +GCD = ffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffff +B = 1000000000000000001 +GCD = 1000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffff +GCD = 1ffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffff +B = 2000000000000000001 +GCD = 2000000000000000001 + +A = fffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffff +GCD = 3ffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffff +B = 4000000000000000001 +GCD = 4000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffff +GCD = 7ffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffff +B = 8000000000000000001 +GCD = 8000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffff +GCD = fffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffff +B = 10000000000000000001 +GCD = 10000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffff +GCD = 1fffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffff +B = 20000000000000000001 +GCD = 20000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffff +GCD = 3fffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffff +B = 40000000000000000001 +GCD = 40000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffff +GCD = 7fffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffff +B = 80000000000000000001 +GCD = 80000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffff +GCD = ffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000001 +GCD = 100000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffff +GCD = 1ffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000001 +GCD = 200000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffff +GCD = 3ffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000001 +GCD = 400000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffff +GCD = 7ffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000001 +GCD = 800000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffff +GCD = fffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000001 +GCD = 1000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffff +GCD = 1fffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000001 +GCD = 2000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffff +GCD = 3fffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000001 +GCD = 4000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffff +GCD = 7fffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000001 +GCD = 8000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffff +GCD = ffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000001 +GCD = 10000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffff +GCD = 1ffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000001 +GCD = 20000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffff +GCD = 3ffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000001 +GCD = 40000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffff +GCD = 7ffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000001 +GCD = 80000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffff +GCD = fffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000001 +GCD = 100000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffff +GCD = 1fffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000001 +GCD = 200000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffff +GCD = 3fffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000001 +GCD = 400000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffff +GCD = 7fffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000001 +GCD = 800000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffff +GCD = ffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000001 +GCD = 1000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000001 +GCD = 2000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000001 +GCD = 4000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000001 +GCD = 8000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffff +GCD = fffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000001 +GCD = 10000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000001 +GCD = 20000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000001 +GCD = 40000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000001 +GCD = 80000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000001 +GCD = 100000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000001 +GCD = 200000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000001 +GCD = 400000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000001 +GCD = 800000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000001 +GCD = 1000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000001 +GCD = 2000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000001 +GCD = 4000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000001 +GCD = 8000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000001 +GCD = 10000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000001 +GCD = 20000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000001 +GCD = 40000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000001 +GCD = 80000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000001 +GCD = 100000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000001 +GCD = 200000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000001 +GCD = 400000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000001 +GCD = 800000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000001 +GCD = 1000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000001 +GCD = 2000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000001 +GCD = 4000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000001 +GCD = 8000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000001 +GCD = 10000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000001 +GCD = 20000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000001 +GCD = 40000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000001 +GCD = 80000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000001 +GCD = 100000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000001 +GCD = 200000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000001 +GCD = 400000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000001 +GCD = 800000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000001 +GCD = 1000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000001 +GCD = 2000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000001 +GCD = 4000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000001 +GCD = 8000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000001 +GCD = 10000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000001 +GCD = 20000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000001 +GCD = 40000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000001 +GCD = 80000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000001 +GCD = 100000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000001 +GCD = 200000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000001 +GCD = 400000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000001 +GCD = 800000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +GCD = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + +A = 3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +B = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 + +# random KATs +A = -1 +B = -1 +GCD = 1 + +A = -e9 +B = -122 +GCD = 1 + +A = a991 +B = 9c91 +GCD = 1 + +A = aee38e +B = -ef35d4 +GCD = 12 + +A = 11fac5874 +B = -13a37ad53 +GCD = 1 + +A = -30ba5f2ee8 +B = -15935eabc59 +GCD = 1 + +A = c85702ba3795 +B = -4646d650b41 +GCD = 1 + +A = -1804fb46dd79d30 +B = -8d3ebf6a5c5c36 +GCD = 16 + +A = e0d6ca65ea05ea62 +B = -93acbd36ca94622e +GCD = 2 + +A = 15ad06885f13cffb323 +B = 17f0004c657a8977d75 +GCD = 1 + +A = e7ff96cec9c080a4ce76 +B = -18dc55650afa9072683fd +GCD = 3 + +A = 1f04b96580d11dca1a42066 +B = f39f140e2a29fc19c6368e +GCD = 2 + +A = 1839733c9c52eef9beb64d92e +B = -70bb38f2d70b9bfb6d764371 +GCD = 1 + +A = 157393bc256b25c0a1d107c270b +B = 171a32af49c010663708c8e4dd6 +GCD = 1 + +A = -15c0ac453e8b47c0a8da6a95c6d1c +B = 1fcded9fb7ea85e696b675dedfe3c +GCD = 4 + +A = -4f4db668e2b044ee972eec62b06264 +B = -be55936205e72ebb3e0543b8d83628 +GCD = c + +A = a8de6c3578a1f2fb69adfdb7cd687eb4 +B = -1371dea9653f87dafa5512b89b2691b4c +GCD = 4 + +A = -188f12124f8209f97ae82183cdf31586244 +B = 21943e5fc78521801b7adc83d3ff634eca +GCD = 2 + +A = -1e420c37d2a409a1343bb17987d3e94af10e9 +B = d5cd4728f9272d5127dc104340ac89cf1eec +GCD = 1 + +A = -1e760bd24fda671fb720885de3256b4d55795f5 +B = -1c6711aff275b54c644371b1aeb6f463006f06 +GCD = 1 + +A = 2894fbe326e1dc1a2822fd8d262f85fb667ba633 +B = 179f9449f643787ff96fc064da43cd5da2a72a35e +GCD = 1 + +A = eadf17a11a74869d40d124c748aa39961f53e83165 +B = 1b428b0c3b619f2001fe8290e8e3849c765b06d3a7c +GCD = 1 + +A = -1f8596327f7e3f97be2317163c6452b376bb604845ca1 +B = -1e0c736e66846f8d2b8c785c00db9a586fc5317d0e66d +GCD = 1 + +A = -1601684fb83ed9e1d8ffe6b0cfbd98d21a19aaf4da369d8 +B = -c1a63d561ff82329a03c2a49fea26d950a0f58fee95afd +GCD = 1 + +A = 1375f0dac727bcd1fe8d4b1d1dd563f236dcc58e1a36fbdfd +B = a96ba42e882a321930399b7788e0fec9a8f76f44b5432a00 +GCD = 1 + +A = -1f97ab20b489a029b542fcdd8cb0d057b86e4e34fa3cca7585e +B = -9bc7742a043afce9a631bac56cd2e319850cc7f73efe3c0a5b +GCD = 1 + +A = -9a25f52b7931435209611f2ad2e234f4582bdc42712765a9318e +B = -1284cf183b2ec1b4dfec71a6a91705f5df295c95b28aeccd247e +GCD = 2 + +A = -1809511b69429a5f991744ecd94091c0e56d7777b4a742ba9785f7a +B = 17b9cb217832e39c4933fe0581369a767a08104d5bebea2895beb6e +GCD = 2 + +A = -72334f3e1d30b6bad9557d9f71d4da5de7d70309cb0a723c347e6e12 +B = -1930a381a580375b7de06f0fc9d201326852efa287ad8cf32c17e06bb +GCD = 1 + +A = 45d3a8d17d00d181ea1b116f235a98ce63291e9aaa90b41e1a24ad0156 +B = -1d7568b87de073113c8ac7bb800234cb263d67c00e7b4743b297d2e8aa8 +GCD = 2 + +A = 80ccfa8098eae998bdb17dbea961082c8cd102e92973346238e0c92dda04 +B = dff995ba1133f96e2f35b73bd22626e804b012901ad068316fe84e3c3f6e +GCD = 2 + +A = 1dcb28bd5126103759315cf41afec22d1a687ec010b60bd9b316226ebb2a1ea +B = 9103b9f322cc8ba52c7e28a2d4c56bb61c59c92caa033030a575b0c32aeccb +GCD = 1 + +A = 143cc2cc2998897aab5bfd934b96551cc1fd390df3a27d39b4e6b7318e7b2ef4d +B = 13b18e4776bb567f0908a670ee611ad402ffcd38f3de3c04d7a8a55b783811817 +GCD = 1 + +A = -14c3c0af075bc68f7b3736141718d8892df43034d13416d84801cc6a0f5e3755bc6 +B = -d28486b18e2da1e97f1437c701e1856a683f0649541de1379bd3efb60b959b4497 +GCD = 1 + +A = 453270f4a4ece4f6f1715159ce1c79d903923afb61b270c2784752d6ce57b39e0a71 +B = 935c04ebd73f4ba27ee5d538d77ee1ac0a1763b4c06b0f455878ce685409e27f224a +GCD = 1 + +A = 1f641676b547c76f4f25bd7b51000be79b301843ad54936f4cf234e772807f6984b400f +B = -90450f1b6cd63d8d267d610045739be18a9ec4bbf8f6023ae373cf32366b8e6e406f37 +GCD = 1 + +A = -64b0f11ad58106c02ec6a75bab4c527f8e524d61af3a1a55d4917e0023fa5528259a85a8 +B = 4771313a91911c0bf608f053dce02c3a710b6af607b7af950a125e2726feeceb77881e1a +GCD = 2 + +A = 1fcedacaf7e1bf8127b4c3023a31c4ea77728aa5162117f7b49f5d79ec65f614b78839b585 +B = 1506a9f996301e4b442a553e957aee1064b13dbb3d1835e9404c40b66845f897e5b8471ec7b +GCD = 1 + +A = -1b8e8aaeb9f4fd373c91a6e16d95bcc3597acbf3ef96d9863c128fd804fd3914ef66119c47c83 +B = -e2e25f6ecde0bfd2f7d0baa4d4a4e44324897ee9ff8e4578fbc6fa26d60660e5618b7bf787f6 +GCD = 1 + +A = -335c87c3429ff3c97fa7cd2ba7cee0be9eca938b5efcc176f6d997cf4daee639d72d3b468c76fe +B = -1369edb1cd98b3ec3d5a5ff91213df595848938f50f7c72b5579c62b7577d43fe2d67da2d23570c +GCD = 62 + +A = 595e6ff3fe0be024d58d9906ec9655560fe6caf83b10ef5b057565d25cb84603d0ef1942f2de68e0 +B = -123a4ef2b10b3a5af116e04d520440f80a3d69288f15bfe567a9df5f392808de829fdb2a310a7c54 +GCD = 4 + +A = 1b38edb12c4a5a1fd60fdef562b9c1afbbe4b3c9653353bb5d409959bebde80f70118cb5fe231ce2281 +B = d795459901e5632813ee9c41c62629546a30c9c3aa8547bc1dc1b3308b7f72290962c07d6737eca08e +GCD = 1 + +A = -155f92cc303ac4964be78e178d4d9c331981405cf8bfa5c4fd388790ae3ac97ba4ec4ce2fa09d521f4e61 +B = 1c037e98e141acc316573d409b6d3b2b80152b3c99d83ece7ee595fe5a819f21544e63f2691d4e83449b0 +GCD = 1 + +A = 8ee6db77234a82b5ab5ffd56f3252dbd5c3b85fd6226c4889eab86021fa295e223cec5bfa2920fa222f2ec +B = 1fdd2fdc9456c648e5c0f71eea76376cb5fc2df0cb807714746f7ad8ffd1d765463a6da88b84c5d755dc18d +GCD = 1 + +A = 1326ca90f69200645488c325424c5cabb3b0a399d763ab7c8db84a05738ef94ed69a38c47353fbbc6d87df2cf +B = 184e654bfdb1ebe9edcb700337e16054f7532f09b28aa588c22ec3eae40f59fe5515bd0158e562b79c472b811 +GCD = 1 + +A = -1b8282f1d39ade651917fb348de3b0fec54f9af03fc1b25bbbb791762bc3708d6d6d375d6ad55efd24a83d65e93 +B = 2e004f8cc320892c61972596ace48b4e969b439eeff1b4d518ee3e70c40bb1294750ec31acca190912ba43803 +GCD = 3 + +A = d0005d09b37a3d076f7dd28df6b2ed7f8025b13fc8e5594f90ecb65c56938fc2a45d71d7b741f04e5b9a674c2cc1 +B = 17478ff17cdd349bc5d37f5dc52106542139d5d61bccdd0d5bc233ac8e9cf54ddee1ba7c86822fd175209cca97fab +GCD = 1 + +A = 16449bbff3f02e684558cb401cbb885c2bd3f340d1f04e25dbfb1bd4d3d2c754019109386f05727a9ab643f4f6d256e +B = 2fab68d37b6b5d04c8bad87660ff3623dec88d1f12c0331a161d9294e3506f107939b3d4112b02098ae3858b35f638 +GCD = 2 + +A = 4969b50d1cb296de0575d6c4aabc96a7af93feef5a9b1a45b5fe47466d884eeaacbead767ac085cfd0ebaaa300d17b2e +B = -14cd23e34c8ecec92f5b03dc7b23374566ecd5981d368a8421c7f40e0b2c64bc710690feccd6be52028af985103e9260d +GCD = 3 + +A = -1e147a7d54c2e3175d29ddfb4da1fd04f3235bedfad0bf6dfb86bd36335e214d8c40fe968d42ad3ce6383e22b18dffd20ea +B = e50a4e27df90f5f29fa0f4c33a7b3e0b194aee3d1dcb22c0cbd50640546c9248729904e9b7bb96f7e3e9c42edeadf2e7df +GCD = 1 + +A = -4fc9395d1de5a27737807b3324a95c542eb13f76fc9c02e5437e9502c1f8eb78a678c64d2fb66d529779299d4b19224a1324 +B = -1e0ee0eab241ab56a2548c98fc0cce9b4d301bccb5d8ca726cf3bc76b76f8e9d256c60361d2083947df784ffdbcd764e89273 +GCD = 1 + +A = 8e13879d78637b80f874ff12889a7429703e9457a1ea592f623363b4886d55dad202064d308d1cba1d66cb3c4eeb7821174ceb +B = -1829ff03ec9313562088b8c9c62cf2a102b81800192d55bdbe00d632e05c952773251f775902a7364e0c578adeea635240855d0 +GCD = 1 + +A = 744c17672b4fb3cade089b2cbce0e508bd632b6d558c1d0cdf9744ab49596051884895f44f348840d1ded9aace7984d76cb76c2b +B = db0fc616f3da7665f4475f992e665cf5e50df858dd74e7038dbc484839edaaa5c932d2e74bd48c5ad5cf329e37b7094e65da1a0 +GCD = 1 + +A = -f7e708a624b8a7e892d9e4e3b6749a52244025c60d5cb91efa8bf3173a167af9adff2ff15cd15eb099346fabd51435e9d448aab243 +B = -187a5538713ed86be39629eee68dbf708f05f980b7c8ab8c083faf67fcdb19219b196a1f54d782c922e1c045646f7e65ed2e4c19013 +GCD = 1 + +A = af952df8a3f4a23bba59f89a4a8d831018b439aa7ba275ac728a34383cc1cabbbbc29b85341e8c8fd7de4ee59ff4a5929a4a1f621841 +B = e89cbcd3fb82682cd2710940b1135ce5b3e96a9313dea51c97a39db8a6baddcef27c5158261802aa516abb45b3af67f65550284dcdf8 +GCD = 1 + +A = 65e38d0c1b6ae3147288af950370215e9ab97a73f5620f4494bbe3727ab930889e1289f28a2f1f99592116dad19e4accfe14922ba67467 +B = 430b97e4d97b1897a823d716b8ee087cb4d591b5ca15121450d55d988fe65d53e13451a5ba010e8ef382b28ecbbe7ecabb34de61fa008 +GCD = 1 + +A = a84023af42f1d1f81abec3f39fd7a85319d25a6a14bb3b5b48f699cab506c5aa701754bd68aec40214eb7bded5bc3d502d4cfd970d17ed02 +B = 1997f443a82913a6ff5f0f50739a1b5fffe3fa4ae68b46e28f4e9e124f80efc75c345182cd93c86e79fa57f78a902fccd7d6c6c2646c98644 +GCD = 12 + +A = 144f099dcc5d0cc0307d510cfaf2b2d4d5cc89e85afe269690ab1094fe5734b1e1a9018583ffa7cdc172b02740002669bafa6fb172a35e7ca26 +B = 18d743f978c4ede6b840d5cf194584fb5d20957bae0f74e877f364a464f0f39729b81e48dbfcf4e1c954d9f7cad60a663947b2f1792f1870cb3 +GCD = 1 + +A = e6b25ce1ce3b44ac6362793a743d43f2fd7a6c584bf9522c65cd2768446cdb5a980cbca31d2cc90ca354aa21dae34ea13407f3519c07ebde3106 +B = 16f4475cea77b5debeb310d35a9b057e6bfc4bc7edbb4691bd97a8124e9b07605420d358c98435f7ab522559d7ebc271fa72f1c46c2b1a7cba71e +GCD = a + +A = -146a72ffff0699d3e6b78cc3a2953b679f4ef60a191b71c55c2534cb2df65d7ee880b095e9233fa763c7ebe136580153676c45b10471f8765b9facf +B = 1d39f16825125ef77d02c662b4743c387941021b7fe13a19cc1caa57275e885d0bfdb92c00ae447c707c62c99d9dcfae1f8e38576829be6ddf02c48 +GCD = 1 + +A = -18cfca9d12d66050fe7487725037b144328c17d0970d1a357e3b6309b4011ae23b496cce3f5e01bdc40dff57379e7ab5479e2f8c4da8acf6905551aa1 +B = 7a33f9b10a683ae6577fbd665dc695679cc9f13d5b55c6340ef4ba8682091f39e5b32fb0d7b49e92cb6344b379f71f022fa6d0d14cf043af352ab3eb +GCD = 1 + +A = 1308073b625424e7256155e552c7360479c8daf15dbf28b58ce1a32e71f23391724ca434dcfb8d943f6b1c2605283120b681dcb6fa7e32acacbbb096116 +B = 1368952d59b7beab2529615ed13a82114238d6970ab01f647ad74db8775517832c78b561179ccd9b7d942a0e95ee60b73a2b2da65d15a65d4780251e5ed +GCD = 1 + +A = 19e0429f04f48ddbde5c799eb68fc42f16c87e7ad846ec23ca067f6a2646d2439c56fcac63f945ea4e46735ca8aa9861f0f2ae60bf15d0d2b763d4bea4cb8 +B = e92ac7c91d3df4339a4ecf2e7eb7bba54ccf5713550f7be0ce1e88dffc9b9b1f798c96dc8df474d0bd2398620db3fedd6781c803dc58e37aeacbc37f2b11 +GCD = 3 + +A = -d0574568670990b9006ef9d88fa6a2910b3d4368ba9f9ae1156df24a08f2785a9b95413c8ffea0ca3fc6d2819753f7504af98908299c423a538638adebca38 +B = 1a47702f41a8d8b06beed8c1274249ba4d1894f23d643e334a7cbb467c564c34487abe3d4e10a5ea413d86bf69b3d3d39bd8f41124fb2e2c75ab232b2dbeb9d +GCD = 5 + +A = 17472527c16c791804743e11eac47f9cde83d38afaaf015cab6b1977730d817f080e4ab864852a1bebef756c3280f010ce83bb247b9ea9854eb6c273c4495bf66 +B = ce282ec890884d87c803432eca66ae10b1381d77afde9394757e40dea8ead57a84ffa155c50d6da8742422f0ee42e056b6b9a698916dcbfd8a8c62b536792aa5 +GCD = 1 + +A = -10bae6fe741604054f4801ccf4d310c10a24bad458d2bb9e536ac071b994326ce4dded82c19c73a82c75488ead4b4ca21abcec77fb208c90ee461bf27085a57ae45 +B = 1a5b9c18e755870012147afe400f974c1ac17ac5921171d3d9a4c310a5c0d433e2afd1a2077106220a0b7324ed169c4371a23f8f7334969a6108c888819c897efad +GCD = 1 + +A = -1b881dda84158e8b75ae4caefa5b58182acbaf10b121d5b987a4e9cbddcab844ad579b33f840859f03e4e9d9d45715df06a4a84f72c3b14b0cd7919955da3b5d9e4d2 +B = 17b67dd4fbc0f03dba4c5ce29b57d3ccd3b591fe72c6b9419f0cd4e2aa0a752e009f596bfa5eea0ed564543e5b1f2f8554823248f3163fb142bcf4df93bcecdc03ef9 +GCD = 13 + +A = 68692ec39565ec8b666eb15e4aa878ebe4ab71302b9a88f412d759767504f93d420827dd20d5b9a61d3f0f6b34fb2b7d9290a31b66866695d7ba9a2e841122a25f6e40 +B = 1bdd40ee550fc1521309d51528fd00d1b44b79a3f592e576b44a72ce835016d140aaf690cd7d0cae330d81e5cadd8ce4c42ba04e9e1dad875fd8ca7cb86bc339a3bbf5d +GCD = 5 + +A = -b789b091157cf3ebf83eccc253948c80fc5eb6115b91c6b748222aefcac64f253f15254968220d1b2920c601d6b958c048fbf5785f36a0019ec3d914cfdc1bf602ae958 +B = 63e7831ece851cf35b876ed6306cbccf0eecfbcb0061cfafd7299b49b92e7ab6575691a469b971358317debc3aeeb94b0473266ff71e4f04c85d940699de6106ab9788e0 +GCD = 8 + +A = 14a723c68069b43cad6a293259204444b8003896d1773d0c231178e301d9441a82c088657e4015d09f24da93f3d875ede31f40f2c3e499ee8b3d17b1987c6925a1ab01389d7 +B = fd3e117df477741462b13253420e116370277ac2057ebaf74159ad2e661d833686d7dd0bf12f1932de367b4daef6995db0ac7dcae12f3a1aa5cdd5fc7233fad25ccd0b7f35 +GCD = 1 + +A = f00a97e17eace2dfbdf29081a798cb9df9d47fad119921b4d17469adcb2f65bc5ae8003b1734ac9f2e66310b3191c99e2ea20f51ac8944ea4c3a4c03f47170a7d34672cac622 +B = 5dd290b928e8acb0423f56526f4064d68165518b250cc77b71f0b10c9e9d78953a4936f8dfef579ebdd69e94985dbacc50d89a74b032cbbf8570154f5e7961c530ae924a61f3 +GCD = 3 + +A = -2c19e437e1dd0eaa6ef2810e7940e1dfc00b93a94b0698d8403824cc96c38b7709ce158b113df830321e1cf7bc01d5417244d1a00801b983794e523f8e9478bb142f1740ec35f8 +B = e46307358b999c6a166c82f5f7883fa2499833e12f4a9bfa5bd095684751fbf8eed10c7cff6b01d47da3caa8be0123005f9d5fd418071369f6a3ed1d6f79c9176ba33c137f1a7f +GCD = 5 + +A = -1ba5e202200eb9e7323b325ba3edbfd42682d4436e4ac17de47a07a2e974c37edf68d5cb6eefc11560a5feb1e462dfbb3506efe6166b5527c5ace949bd34ecaeb4059d5ddf6a2acc4 +B = 1f180b6334ee7a453779a360ad011ac34f00eca053d94aced8ec69c2f868655578717917ce46f903b498b8a74e4fd9540b8c83e7668d9c2d5331a1a8b4a8be7fc1eaa878a7a8d0e7c +GCD = 4 + +A = -1c336e766b6012c270dd2c39cb01ca144ea30c905997e1db3e8ac10484f6f47dd124671d62f0dd3e7e301195f7f44661af47b3c30bc40c3fbcfb10ca43d64b4fbfc00dcc9689c955945 +B = 119fcbaa4b1d7f4a044dee464425c148c0a56dc0efc6e9a7c9d698c974535497000e6e900ad1cac61fe0c05edc705bc13d053a5f4e09ab733b1f7ce291f835c9a1c63ca4ba942a53c98 +GCD = 1 + +A = 1d98bf3a71b81114b19923c433f6ee23ef76f0e00bae5f93541040646103430e28fbf778a537a3e310348126049d8847df6110889d623df5e10b5377cc2491e9ba7cac3e16d7dca7bca4e +B = -2f3a8298c2d14f45cc22d7f61860b13e4ef909569d1c060f229702fbc45a92a3332ef699fa45f07bc7fae4213920be0731fae62918b05031764749dbbe98614b2d47f9b3476b6029b737 +GCD = 7 + +A = 188940390dea60de153bcbcb03aa4d3757e9226da394f2d27224f68b067986cdfdc0ea0ea05941f9a38db68fdd26bfa40a4ca69f3fb55ad3ef7a54f41c43547457f59f3a5efc056346d5057 +B = -1c3b8fc51bace9ec1cc95ed06a72b66101e246387c6c67c8b24f60b366e1351ded4ac2e6bb9ac787ff511f9b5c4316001d4b6d8c0cac831ad1c7bf9b53e504bfa12366ee06536f5b14f4ee +GCD = 1 + +A = 17b87983b5c88cc7c1b349fc1a93cc7142333363db67a21bbfc4f9bfc963045c47651039c069d5908787c6944820a8081d7224c3d3ca59c04a311e458452897a9e41f137834c21c5eb7f75378 +B = -15a7a339a4a0cd99540f3387ecef5796c8138c715017477b870718bfc2d84b54947b282e4aae25b8bda01b62598bb43e6fd7d0390a7ccc53c22d4dd0d1e6277e351a93fb09e1a3dadbe2c0072 +GCD = 2 + +A = -1ff3728d4381168a8939ca71b3274288fdf6c3f7fe7e648eb353888463bd456f7a4af2a78b3069bdfa6dd05f9bc795bba29bf879d8ecffa7c60ecb300f465368dc261ac337a2aa516e634f7ef7 +B = -3566c80416f729f4630fa19d45552f1388a42e34bc4f085b3a228b4a1d21e8d64b7f8002efd9c462860f1792448c7df3b6fb6387c5a9f81a3853ae0b4df4bcee54ee093bc904c4c8cb905a993b +GCD = 1 + +A = -f86ceadcc60272df13bd98d6ac375821dfaf9ad8f663f65aeabae09d11cccaf87d69ef9f39da40c649ec38bf158578d72e8013868bea2a1a34635184237af7b8cd18af3735ecffff67a066566f79 +B = d8ae668e6ec63b22fca2d0dc48579cc6d64bd321f618a367d87ff161b7a17f00d2795bab9ae68a1c93b9ed750133254ab12724a5c6c315f6ad6701456c33b2e0fa337d8dbc93cb4a18e4014afb2f +GCD = 1 + +A = 1e61a136590b6e980e54135800b52a0823beac18d98205aa1438b1aa3b755f13e3c8aa921ba47319040176a3d8951a842978b0bd8f4d80da92d1551f4feaf71164196dbd9ad0f81c155cdf9402e84a9 +B = -c6e5ba1cb842d572cf5875e3f6565208d2091e491447dd4a090dc0de80c00b29567bcb831b83bf610ad2b5cf1f2ab9aed47836b036711b43c5d0ebbc48d876a61e02be1dec4e89e677dd808388f674 +GCD = 1 + +A = -1f2c93caccde7852e99e65d0b73fd82318041bd225aeeb6f80b21c90d055eaa0607f042dbd9b66960e0ccbeeca32a23a8fd19518f5146e7aa6dd02a0946a3eeecd5f5f000ee9ead8874503624fe965d83 +B = b0aa22dfb0cd46d1462aa02933c65ab242d274fd7271a555762205f1c791821b5aabe781d3ebf932eb8f264d8604e9c14cb4f3b71527593a0658e4a00ea1b7688634677e5effb0b112a7426332dcd2ee +GCD = 1 + +A = -1ece1a5ea104db93ce3159622fb40a5c37ae8e427641f7a972892d564aa3332739a60f4ab34e757d460bc5850e766c86d70c77c05d8b8d454dd66fa1e691406bad49a8046b01970848fae8ecd8e343d2f60 +B = 934ccda0b23ccba867a230fa187447289f784f98faffe952f686f40da20a319ccf8f134c111a93ecb31f8c2dbbb644420a50d3c472ed37c7393197a65cfce72a938f317360bca5a930dd2ff196522dcf4b +GCD = 1 + +A = 1f8446db527a96e2244e1956d36c00c5c90823512575b79b39971de168f1a6096b4cf705f441b6c419d696c41db8b67f87847fa8333cb9bdcce9958b241328c9437125c2bd983324ef8bed0e7ca202c203cbf +B = 16f9bd5fbf45d95934429f912b2eea8b346633cf09127be615232e999ec111e73848578b412c42098917d334c9897116c3bf4607b4c8110bfb01a14e8f928ea29d4065101885177676b84438039d6cef0e164 +GCD = 1 + +A = 1de739d426f8065659d826324e172186a72d89269fb3a1699d62e3d7a2cb096cc89a23de0b762e8d04ff04308ed0317b11b792cfc4030547c1b2c28dcb0b71feefd1519af3d33b199ad6d2d88047047af179801 +B = -139d796fb7325f9633c2069b568a211d6b2843e11646d2ed3689bc44e03e2f30f604f51b5352edaf85032215f5d00188c31fab2aea7edd0b62dbea241ff91e436a075ebfc38fc2887ee0d116137ba586b2d66b1 +GCD = 1 + +A = 17e6e6d3eefab6ae7c054226765e57940a06ccd9759594a50d322804c1f04ee2db2cc726afe26a5880eae2d3de02b9c3fa18129861b4dfe83a7f945f80843f35cf44b77b72bccb62621cc76ab4e1145671cf4e1fb +B = -16f61bdeab1cd4fb7c477eadd4a0f14c23bdf8d1f97c297c0576e1e6b9f554bee42dc68535d8d5d4166b906adea41ede1e562d08064beb6e8d01cb48b81eb02880237c4bd78153fadb293747370d284f319a3fede +GCD = 1 + +A = 9720f247b2290a3ddf543340c6ac23654cf075fe957c131af99a28844bc5c5c2b9f3cfe1d8d68dbecdfa7086b889a493ddb409e0b363793753a5ff624cdb4f93e89cc39e7f71128469218907e853b026b03128260c +B = -beab5b719dcedd902a7fee587de6dfac9aa291d8548c350e628b824e08d20ebf45bbf502cc3c5c6f17143ad8be1577578863b7fc648225bb59f03ac32819a381952e2fa90ca3d6b154cc82b80858b7fd12bc972c0f +GCD = 1 + +A = -1f47a70253ece49019932a4bc36fa2e249343bad2a1b93b0f1343ff5887bc261465ff81ddc1223c4692d0a58ef0e5561221ec2d9ee6436194d5a90659af8e58cd411bfc47b1b1584ce8032f3939b4fb16c87516c620f6 +B = 1dd2bb04a9d252dd81d985556a285e2a16132f95a17392388f52bb2e5b2793d476db06426479a1d330141198d00457728e96d2a676ab0d186ed44990c548559c1576a2eea8db4688818777b898ecd8b8eb0c035f8108d +GCD = 1 + +A = 131ca0dbb4eccd76f3985b15fd623877feafd86f2b1c5c6f6c5d65a4fafbe25c168e633a81a9687f8625767927036b57ef7aa1830169dfe4661e534c72c5863b26ef4c7331d36ff98cd3d31c65f60a123dd7750bd120bbe +B = 143a3bc7729aa158fdabfb8fcd7e420f5e0a506e09455645f2fcbf3caa29b023536df12667d569382c1c3aef94f332423a8ba46b8976bda06d077e9a4355ee41d70a7f8d1e9f10f41b724435e11ed2f32c640afd96e20a5 +GCD = 1 + +A = 1b9e7f32245d67206cfc158b05701523cab7178eeb22ab828e65ee6b8cdab4ec70dc3c132fe71942e3e8443f813de8de7bfde4bd3c19c1d0cd9b8cb288a56a7c59229cdfe6142724a5c4915b6e45e07439fe4aa5c1ab75074 +B = -8b264b200be85f0df34c774a95330d8b4c3e4cc6272bcef2e4fb5534abc99f07588258781676b1a9894b37928ae0feca903ba3336ab532930f2b5f0982c0288faa02d6cc613711d0aa302d7ec7d8652789cb597d3a137ac0 +GCD = 4 + +A = 7ffda115ed00ec00cbdd3db181fb544168fe8d7b3738c4bbe6d43940d806ab5b6000abba31874954cb0156d969ba61f8cc1ea1eb339ac787c285e1800728c71fd6d762a8724691419808379a5946b15ac5e3a50761a1a610b7 +B = d86a6c78030f585e02890588388cbc033f1aa01b7c6bd777ddf13d4f39b7c6417c480d9b5b6c05bc7c1e5881a7fbde0af614099f4ea77205ac335de0a931f9e172d626d86cd2592662a7347220fb70027d00aa3739eb2d4033 +GCD = 1 + +A = -195b1e890246f1474a735bc881350367dc24dd5029ccc32130add6cb9c0cbee5984c95c5a0ee9dd3bfac814424e24322b62ea995f6bdb82b1558f0052edb830af5a6bc57e5887d671cb6d29ff71157378f6dbc5d1543aba4e8560 +B = 240d197ebdd352432661a8b299dea9987747d46daee9e83fa04e7aa5caa54c37430fb4dc7e011ee0d85273910e517089898029c328a676b95eaead4284628ff34690adbbf4f180f4c51ea9365de02fe759ee91c2110200d1e261 +GCD = 1 + +A = 1f450515a64fe303b37e2b5e29526e427eb940a31ceec2e9025e668794aebd10e355c9a3df9f0126bc4003e5acefc321811e910c9e3420dca3483914d4868f80ac2ca6c069cf1cd7afefa10de51e19a46622ca936883ada39a3cee3 +B = -7fb7ce1bbd8bed6c8197dd7f3f87c0db2c2bb660f4d044fc5ec425a2dbc7a32e1b882cbd735439359499e21124aa1cdb833bc9ad2583a37f961aaec7b811a9d41e0f3716f76bd5aa82223290ed5ea6b296dea976768d81c0165964 +GCD = 1 + +A = -1d4c92758a0442547ebda5989a829f649e7d9b07e35d468d3701ba9bd72185d44bc32af11a3014d1ea3d334671f96bfaa285a942c4c0389b5d15bb2b2854bc0975536feea1fc88d827c6833f4d72edd84f4bc931c41f4049f1a69983a +B = 2c70638a67acd4636028a8c9245d68e2866688b35c85bcb62c5ee970c9580a23d9baa4be36f0ac0d4b7c3b2dbaf3037da13590c0487e2c0615894a26288d598968e4c4e8318f60ee78b496dcb213b4f27d906d3070fb222f7d5facbd +GCD = 1 + +A = dfa8e7c654bc1859cd62685a5d01892744fb5e0d5c751be4464833a9d125236b1c74635832d43352c5d3e6370cec200fefab9e2379156506e3bfdef641971b7bfaa76248cb1785d8d096c87f36d18b8465d7e01e167825079b9fc82f93 +B = 2aaf7caeed892768e9ee5fa5e5c545a1a9f6765f23814c65aa175ff46edfc9ccfe7d4fe3c048ab69b8bb7934937c36348535b9530dad20e7375474fd465a16301cfe8c19ef49e6f3e84dc13cea97ac9e0614c64808e2431cb261f440bb +GCD = 1 + +A = fb48d53863a542e2b3f312c9eb5d4c1645beff51aca1e6333f5d4aafa9b530d1ebc68127c911f08c029a0a81d80beb4b184420c2427cfae9754629532d14e04b0d65701fea5b4a618471ad2c85f1acc66eddb4d5e856d960ee329f22c235 +B = -15164ba1f25a99e064cbb380e64f10134e1210ef97ef9a356bfe9c7d49e2c7a973f9926abd603d6ad95c54062e420b1740fa6b99e5538d118dd8c8b70e4941defe4a8174d5e450019fa5a2343309cf8b5e3d7451a7556c239216d27ae4a43 +GCD = 1 + +A = -19293e4a1cbf995b3fcd9f8958b1225d5b91e1e97d44433868bdb418d7302c33b0471c3e90dc1ee9243f4d4e0a14965baccd2d710b96f47c1ceb9f7acd767fc3e343001ea7deb74203b71b5aa016e3f65521f7a784afb1e9e4c8bc66967d1ad +B = 1371e2b1544befe4b445c8a08fdebcd80b6aa7457c4bff362bdc3860f4cad1220969fdae3e0ded976bee00723545348bc890a7f983184cd7403b37a1677039b47a9c7d88f44829404bf81ea3d00ca195f66d798443969b42c272ff1c053d3f +GCD = 1 + +A = -1111d3fd9856b58585345d515e04ed0fe6aab671da3bc8ea033baf7dfde3ac66ac6d532d6f1ebc1968a28afbed56324ae8e7079437cbd4cc6d274c4cd04ad828b1365012b4ac45ed5d8ff6dc829cdc0dc28fbe7892cc4e02cd51d613084fc282b +B = -1cb3c8c28f4e91ca61b515f06010c4d62f41ea3bb46a6958919f5726ce66b5bab4e139f5af1b9bccf8e4d89d3c328ffc01b81ba513cac4dc452e30b6e2866eed0fb9f35c80d00259b949fb9f5ce18ccf18de63b7ad00482b25551e5bd674dff5e +GCD = 1 + +A = 195670341878824e78dbcd7a9bbdf01d7d54e01cfa117f739ab817058ad46dd5dac32470badf593199e18435430480e2fee254b3366d304b6836caa0dac60f72bd253d1609c552c2ba17344f0cb31b04af26892beef7d8b6f3ce13ffd98a9f46883 +B = -c4f0453103a641d9ed6f43d346a46d13f27db35d1c59e8c2b41dcef25d2973606b661bb1146a67605dac9d6c6206ad088e03e7f4fcc9b87359016d65c8cea153ea38c9d05f14f4d8bfebf6a8581f1a8d795180dcbfc1e6f4d6632196a2a160f59c +GCD = 1 + +A = -1d79245983fa01e4d163aff7ce0af8f4e7c6163f72b9742bee42d32649e1301902407ea0ad95f4257c606d23322c8e7d40cc85c414f7ba8e1261e17cb11cd31e41c1cedf62f8dc3598197c4e360c9db2de4b61907f08190c6e366d5367d22f1ef954 +B = 1d9b83afae0a98265e6db4d0d1ad6a3347365ac638a67422215bc55df542aa453696dd2d204b88881a327d6c9a94857ff791abc1c93af7433a4c454e2ca5bbc501e7c97d12032aea304c451bf60df7c09ab1d0fbf36d0c0f78fb68d8789fa33b6c7fa +GCD = 2 + +A = 799e777775d7394f7a77c6db8e4529df86e558329770e19f3e6a0c3265f977ab9136d17189fc03b4f9bfc15542f043bf36bd23b4ac5f588fbc3397d8a07e4fd0637555c048f0b409dc95144e043ae7eb3f7237220b4e69ea9e9504c5abe51f8c59a5af +B = -19ea3656e1da17cc2f354c7041dda3f6bb851ac01796d1eb1cf5af31860a06b2293b4aa37d8bab04ff4536f6aeea6832fb43e4fc53d9d1b23b9af9740c3b95a8ab617b5c2e001dd28d4510e6a5365031935b130de2d966f38fe88ec2262d4f5ced94252 +GCD = 1 + +A = 1310e5826ac225e8b87d9522cbbad948409dd85504c259432ea240107c71966abed2f99d171143d1fe40a72b2bb04e40b60eacd3991599870e6a9895e1c13fbdad65bf1f65e80cefd5106d1f5801f9a0a0b69c9ddbf5296023b5293a4bca25794eac6a85d +B = -b0ab1e364364263b095716435b5707d8df942a74cbedffb7a8c7839866a3cbc9d7e7ebc7bd595de37e3eae9b911c7b32c4f89f97914da0c34734ce14f6c3a044c29121abc8a2cf4c66c97add14ff7abc6948bae778ad8e2312c88811fed28d99fd7892fe +GCD = 1 + +A = -38e054e10212393c1e06b81ea801e5e3f9deb19f04a0d1859eabd710e6a8d84127aa983013a617df35b2490fc1138a03f8086250bfd3c10caea0e135f305243518e68f121f655adbc2e9150a8786534b2f1bb8041ca6507934892e9ff80eb6c48bfe2631b0 +B = b02ad650b74479c61cd2c3e30a752764532ddd364ea6971b81a4ff59eaa31f075291f2efa81ea898ef97bbfcd526c54f76a1b3efa9944bf97fc051cb9bd16a7a92c1841a93c565a720c4a12c36fe24869692e88f5760a6fb08065f1a3dbc9e86069733148e +GCD = 2 + +A = 10294a7bef1935e40e5d5a169118fae2dfee679dd25e71e35f9b265adb49818cbd56740d5f91657300467c7f0cce26b1b5f7c9b5f37ae8bac26c07721ae24adb06de97c1d3befd4a162141bf45c90187a1a4c662167b7927cf7e7f016b8556556ba2b40fd2e1c +B = 1c7889e668fbb811a850d939a8d967d910b670ef4937a5aee3c0c8ac0255dab86be09bb5c65e2c08932a949dfba40298345cb4ba26ff9c69dfd39c1674c784e5498947a96421deb07ad293448809a9ca4bc1f35620069ca1d3b3b31126ee27739eba6147df8 +GCD = 4 + +A = 193093f8ff4eeeecf48441b80ea2d337dce52077eaa3044fa89638a72cb9362d1b6603251fe2794233ec0afa3df79f8816ebb6c525f5f4870f9ab2379ea5e6ae5cb79bbd4a3cca46f35b5c9dd7c2b4b31624da200c1ad5f8e44447d66048a964d69cad9599bc710 +B = 1dbbb0a1a452b0c5416ea19b76984d4faa77a040e3f45694523ad18fa0554a3ac0613158177eb3c5b88a6bd757dd00f2cc7b53641828f50790fc66f5af17b74d068a4a8c398877d176f7856342051854c77e6d0b197a18dfe98bbd4a3008451f9674785a362b1df +GCD = 1 + +A = -adf652d2278ac55fc954b53f5d1ad856912ee4c727eb36a40739803d7fe32437a67aaa0a59cc8394ea84eb096a11956dc611a6fb0d846ac7ec107d5e08e092fc98f34094040845dce29730348500284feca0dd0bf723da6c1a9a79409b3310be848e7b88b11ac3b +B = 27fa57c1c92a3a60d9708160a8996db66fe590f75ed0fb00c2d6243ff151e9d9dc7eccbf46953a6b0f7b44ae1199b8c61237d1c7410ed413b5fe6b61b5a628e8a387a77e0c59ea4354f9a61db2df57227a9b4acc869d856b849cb20042485034eaf20f9e33e42312 +GCD = 3 + +A = -14c7d5b904755b8f4d20b0e23b6367aeb453e637b3b5583fcc131938e3a10527f9db281cfb61fa718fec45a1beb19274757ce6ad482caddb80426f63842371ea328102f57d5221fd89324b82e2d091350a0ce628877611d2d16e9674f003199f0368a2beb092e68b181 +B = -1701edb25940b44dfecda504eaa7d092857f46a7da0687ba606388189bb355b6ca8f1a80617eb883faec51709d5ccf63474be8e6af008ad7296a69f47d6a99ee274d420685530e521a4186d327829f0b2be15e6816f22c1ed3f8e5e195e6181d9e76378c0b02e49a670 +GCD = 1 + +A = -11fe62efdd49137f4171fd1cf7e05d571bc83ecf88e4f25d548aa6d48ac468a1056cfb47f83f1851c5aa5bf37860307bdc4ae21e5641c830eeca0efc1d952352c6da051f2a39931d78e6eb9cabe6694a7b3546085965bb1c8b1911af911faa85d726cdf7995812ed8b4f9 +B = -1e18be71d63252d88a9ba24a4b496307d4ebb799dc8d7d51f0d5bf8c25df4809a06bf5de7ca330c380f4e3e32605340070cc24614ce8c403fb40dbf1a1bfee996121b352acba9b98420b5f34d9cb1e04f75304908fdf23d57ded0e8e3e1cbfdc11c8f37b40b5739393672 +GCD = 1 + +A = 1e26106a038f96fefa81499b8c071f950f01173fd855cfcffe8efac710846fc4c8acc3176ec63b16720c2bf8aa2f8ae41084e3808824f9c87f8af8b131928d81bfcb203873cabca842c63e5b572f007adc1f21462498c32205ab9a6609a5669b47ceec49c155c874ccc3ba7 +B = -301ca6ea04efce6b833130e716a3c7d33de943c8751bd1b6743247c7b278c2419c8f88346b6dce45c67b3a6248f8114e978fd982f1096f4a49d99037a18e1cdf51546b18f703cb342a6c7511323b25e0da5120703b27605513cdc934026f86a8390ea3cb2a809820245a5d +GCD = 1 + +A = -1235c5a143af75f8ee43a9ae17b3422c29732581d99af2cf7caebc8534e0c9083ee532c9e5357b663e5d0895b8d06ba34521dc4f27582e94c20f6fc1bec19a81a5c0e6f3db249132000fe8530676ee7f6104d9440192acfc43a2bd15be5af4e1c702fcecd3f365f81befdb68f +B = -c59787911815bbc53dbd825493b8114bb6925cf35d5ad5572be33db2134cff7030bfe1b1544fd9c842178c1d8a80a06ed23feb08605425bf8788503a8ab43fcd03737993b41bcf84eee4bfa6d09e753314fad68f7d78ab8c30943e0e4fd8f552126d69d53475851ad79de556 +GCD = 1 + +A = 3984340a1a2282fc4f08d749f6acf3c49d69be244609d0965ca430dace8147b5c07dec0a2691cbf96c945fca9447de446b9f7e45f328903daf574b7fca299742d4b3c632bd48cc32ee3db771459acb73fda9277c746f4ff5c08161cd1336c4d2a1392b676886b098889715032d +B = 14569bacb60b94aff13c409f7c045bc2a40f6e7202a61ff7ad367c23aed1f13849b9e67462ca9d4464c8b200ebb5b06d7151047792ab9aa5b043a67883f2d32cc9983004b0e7df001cbfe1fb30da2e81164c27590a4b3946d9a0f529d1803e314d095da05d9732ebfa6e1e74cfc +GCD = 1 + +A = -9cc3c8b4daa1042936979deee5a67644d69565aa1acf2ae7b017172e28c01be4df5af1bd30cebd029153f49891fbfaa35f1ff7797478223598d1203da831290b41a31914c20f5d1a636ee142ca61521b3be2bc5ef09992c56722ff282dccbdbf7ec30457625b31f873b1e4353460 +B = -b3bdc786eda280a4f65920f842303f33434da1f7f010f22f0d019daa3b4228fcbd7d1cacab23b414b4ca50a24106fd779eace714b765993fcbaf154ad863e448bd7edb119bfdefacec961a2eb2d95875b5e24cc3678facbf28250d34cd199bd76a1faf2ce777c14dea56b9841bd7 +GCD = 1 + +A = -f4d600ca23119a9bf6b42b7ae208c12493fff374f899bafb351bffab0fa299892e17377343b4a2a6e2d697266f4acb7f1b1a463b508c98ff60b5a5ca4314b4a70f65011c745bff7a02e0839427eaebf8b420a32d66d11adcf3612655cf46d5246ea4aa1250305c87f476ed61d5cd7a +B = -122a8d2b5fbca94051404e1e454ce748febc63620003c5c7eb6d7685f0a6ee80d68c64c1e873c653c6ec832581d6f6e3b3c7bef6ee176ac2246a032334b9998627e704f36e959c28ed744f7e89981721e986fcbfca1bb79656eda9608c3194ea5badb6abe7fa27e01a491542deaa9e3 +GCD = 1 + +A = -12814a364322a7beee32fa9d170d8ff2d6037a43c2d1a37f3d9a8b1fa5cef44194d4255d693355fcf7d6d9750e000bb3374f139f0731564e426a3e67c3577eba178bdd3a8d2d1145c7b2a260fb28ad8dea6381af89cb39e23a68b7ac0d891be092251613d049bf7ab479d1dba3de0e507 +B = 1539c5e522e924f07ba6be9f60db8a2db2c78e3b84585ac17a13042877ac2d027cbaa88e9f45c758f35df06308da1d2626dd6be9ed3abb102295df3cbeacc6b2adcc739c772a3a9c9320e79316ab7db6c32310869aeff56d1bfd0fe0d9d316e1f06eedfe987b56dd3016ebe4d3e280039 +GCD = 1 + +A = 1538a9f244f81fd697238c252cb3bef4221e525bd915e27fc865674a8b24b25235b6c731c8af6ff1b8f32d818058e3b50c59929517bd728e1f76fb7d320a9b1a4e90cd7e2946eda39342441932c153f72d18fd73ee431dddd62e925916e7e6c4d835a919a371351c4fc0e182b86621a94bf +B = e127c6009413c8eff6ea59c73b1067d26c1ce42b5a3336b9fa85a4f57724a37734c18d028f2d669baa7d613153fdaf0e482759622c38dcc6aecb2838c577d5b12dc42b8a143dcbec33de26369ed59709410f7cf2cde4b0bd89167f5574fd606019d1bdb3581ba35d004a55bca651bc7b43 +GCD = 1 + +A = 1079904a6aa766e7147e5ea77b46d82825d452e657b39aef739ee1f3d4c3276cedb11e551f4e82f7a6f9e57b72a61e82ab37a15967435a63499336a0c7751db2ebfb83d4244fa1165175c8535b9900ab015c645b674f7347c99ba63a9a163657c37cd62cb49cd3ec9213e59ce4fff1834716e +B = 199d3d0b3b117127fa5ba38d7f82b35db7298f75c449ea8b2de1064e22d1ebf42cfe550c16b0e5a706826811b60d71e1dd05519aae7ac82fdb93f5618b6c0c0287d6089cdb8ef6dcb48e0f55495764163d488140f508f44240c9e2d591201359c316fef38fda4e8b231cc35e3b94b38d4b0a1 +GCD = 1 + +A = -16b5167c502df1df3ec2d91cc247b9b31e326956032cb1b7cfa885018cfac1c42621a1618ea396e6e64bc8b36425a134b2605dbbd058b0ba56ef4b8de60db35dd1816dcdc13246cd222b601257c8074e21777fd2cf3a9f46abbd1072f2d2645d89cc5fb9deb801950fd2106576c900006ff734f +B = -1d13fff4b34c8cd55aa288fed39984e6c6039e97ee645fd5a2b73ad24c2c691b62c9e3dc467397310e5d5e745ed5a844bf8b32e49042e0e86266ae76a4719c521d08e40297ad4018da5c0a3247e1806f600877d039fd7701c1eb8c47496541ffb866d4dca1a396940c3bdbd747f51db24f5b686 +GCD = 1 + +A = 1878cbd0524042789e86edcdc8c33eef67054ae306a259d4c6694d1d53e1955071d100ede14f98082b0e0b3889a003a67971d93dcc8dbac6e7ab2d18374af676b37b63df40b1f946be8d6fd3c14674d126824eb1863a1835d15c7fb44e743f036043beedd9bcccc1923d5f896c18635c401965bba +B = -1bec905d0c60dccad4532b0ce71db2e99659fa111f3bcaa53014bf14ee7013529f731688e09b7eaf07cffe0c4a80543f55943bab6490eff978b60fc27a032748821704314599c94bf7771588631f01ff4a18acaa61a8d6396efbc4bc16290ee7fa84eb41c16a83f7227afd362c0079937bd3870aa +GCD = 2 + +A = 1b5859b59da58a2da71faca1a38837689d2a654869396e6644c8c7608354e755caad3317300d106d3cc3d1e1beec59db994345c847edc5c8f38da278553bbd81f7dc862069ad3a4601c96b8624db0657b1b7688e5b1d1886e547766b980fe14f4830277435c213922a7c6dd8313e724aa3aff19f04c +B = 1e1faa796c2cfacd1e1df1803c8404c707111ca682181a69fe1fd5d5a1265d786991185826d6d8325890afeea0a7c8cd75bf9282c183e60d7c8e2af87567ead0bcc357fccad1726c112db0812e255825d7f27533df1e05520ae9db084bc1d51332e00c3a36dd143e2bfb0a0f01eafe10b8cabbaa8c6 +GCD = 6 + +A = 94a49f1fc933b6fa4ce049dca65bba377aa28279f3faf8396abc2bb4b8973aaa3e41cdf6786b2b916fc788ff918c02cca1ba9486da57e5a07a68b104f70d240018fbaaa7924a61da6bfbc2f03ee2b32b19000635a62b67049b5fb922c6dec2f4451a02873a57d68fe27f37d4f8068305810b1a8aa238 +B = -1c34702e8fea24f032904aeb6f78a37cac87017cfc781a46b477b5fc35a82e5c37e3fde3aaa813a037ac8724d9153ef7b2d361dc5a1922e8b20d7f31a45c6ad66287ecad59b296c5a851d6f99fe94b3a60f08c7561c7eb1903eacbb1e773945d24b7a2e317caf77b0d523d114d1375cdd06e863fd7577 +GCD = 1 + +A = -1f1ccca5533c2121ba01e3b30ac867352d401a256c29e05c9624f31f9527758e8c5b1dfa6cea3556bb738c70c18171bbe3f5245ebebd6ab6185c9795383060cd2b4212eb337b45181e7fff2570458d7013d74836784521240bf7a0fafe3c0762b94b9adb3f57c13611f9707369da300a36d459a05385b90 +B = -b06ade579cb5262e1341c317cb139ccd1757455a413b8dce25cf4e2cae6038bd0b8600d8bb79bac469b0403331f4ceed563041caa844dc7f7ec758f09b4191ed12170f5e3649e9417d346eb0618ba068c26888b9d5a45c76852afefe825940ca0a208e028a5f023c864b4304ffb47f99148bb9d2885c73 +GCD = 1 + +A = -167c33e1738a2d4a1c2f29a1f1a14748a4c3064e44987cff5f0bdea5322d340aff91d4061311be0b92e70b1303debc9f6f2576e91e9823db7aa90738d9695cb9efe9da700db2d7844bc3a3f8ea8591b76714c3779d8ba29998b9596d04377f140aca8e714f0aa3173e92e8f7ac129d4b83c762dbe82154cae +B = -1b9134739ec8af81a5007128d71e22fcded3040d414dcf844cd385bb3cb61648c63338d3c708afca2d8f32a82a6199acb8f9a60dbea4e3cd85b929829eb2e2c4c1800f2672a20194bfc35887cf96db94375e079f449b28a1c06198b74a8aa5b11d172b2bb91e6139ca077e7e9d5d79519aa836132df381b4d +GCD = 1 + +A = 939694bfe167dadfaef933887f49baef88bc9851ca5e977e395e7f493988ba1b3c276101111843ec153b15db6c2148e9ac60ed5f06d3349cb694b04137c2cbd71cb331a5b5ab4a90f8f4ae9290d69d3ca0d8981b530875b6d7d9db9c8ba09a3c066546116a7dac8a34c0ae4d5dcff4058ddbf1b24c938bbd5 +B = 188e2fcfa16300eabf7550e7bb493fb53b92442da890ce10fc4ba493103efd6afd5bb06ea1b0658da0079fe5b9aaf0c787eac6413a50cc687b691b5431c878c194a88902f81f532990acaf715f6163a7038739a220c115f75c44f75abef3e74759b664379c282caeb9b9b721acf7dee2e91a45e0ecb798dba89 +GCD = 1 + +A = 1ace227a0cbf863cbd6f6cfb62145383516cd36d819ca9506f9098ae53fb943a9080f8450ca21a5daf083924b9370dfc7212608d19cb7ef359dc23618a9480ff47e5a3f4b811980dc5fa1165b0f1aec88d28a1eda55edd694cfbb114548166c02e26922e5f52dc2ce83af42258897dd6c0b09ad691698e4bf45b +B = 1b9b335bb6d9dccb2f2ba12ffd92308bb7824410950e3643f70d32ba0a2273540c02b18256f14bd37e2ddbc6e5525e201ec9bb82248464f0f3167664b1ae729f0c29f1c74dd9d68da6a8a5b3042b3a9969b7e10c95b1bbf1cfac98b77314adb68368ffcf7f6aea762e736979bfa98296c96f15878a0d7bbbee785 +GCD = 1 + +A = 12f64c4ea9154b8f80755d20c76288dc3ce8edbe5ed0c3d1d57f29fac2582410a563382955b8060ec9db7642ea7ae03579d748b4b5c28da9c52655e17275734619586ec9fca406ecc58997a338a9e13b6706074549fa7850e3ba67013fa7aab8177da734f08521af8d475625330bc1d5097d2df45215fb9c29f71c +B = -9e6e781ac14f805a6063b79262c666edecc4f63e8ba7fe13ac13aca681711e2b44a3d282061dc2e5e24b908978fa878ae0ae0f950d98fcc47063a7b1425cdc8f9e3640b32730c66adf484633d0392171264dd6f47fb37aa6f7cda4cd77cd7e2e798a901753adde37211af119809e69aead821cb76fff71e897e630 +GCD = 4 + +A = 12761b7101002f4559b00ba7687c76abb7570c0404e993c6e88535a71f95e195cbe985f76965c84c0382790b3213d00a352764c41742864aebf46c7907d2426df91775b360fe5141ea80def72368151551b6e06b7fdba5d5ec9a84f36fd62ea8a234ebc3247d7485ae29ed106aadc87a54398e91acf6174c7c4108e6c +B = d59e9d7560f97d3c36ac6921b33af72fb9f42a241852c29900bc27d8e2be791ba33fd847ac1dbeded097c3684d08d868e6a750f62c036fa01c3772c05c8b5a9f46831dcfcd5047ccd35cfc20e404ba676266c7bff764b0b84485c2de9ab4faff880b189c42b0ce53e78ac3c19d09b056bd14f9387cb125c8dff2d42d +GCD = 1 + +A = -a357e493a884ee4d99b45450896404caa2f006ded907335b2b840bba78a04a75a856ea128770c0b7aab27eb56744d7d1accb7861aab23e9805b2ad712eeab69aa26c8f0a1497c5d9da0ac8ec5e3c36ea060574caa3b7cd5c108fb590db671897c58f5f26c78f24e29f054b1bcfe3e345efa0bde0d9d25c3dbeee6c7e15 +B = 3b171c506a7595480490b308d5295848c9a198d51b74042ea5fa9dd3cb40b865516f2762e889fe268655f629984577ceacb913949f73c4e2d8448001979843d04a2f7f43426dedc4a0ba26943bcf33bac63931627b2490ee304123f5e3ff49f07b13c65bc0fbf5ce2bb675e16209efdc5d648435aeee8663ce4b799ab8 +GCD = 1 + +A = 878d367075d5bbc764d3169441ca9bc06567b372848efa2c763c406f6082288e7b155023127914eb167ba822ce1fb4f77c6d0f4c8211c9d91ebada13599765b708d0c03f25ef7b3aaa5147274357fd6f9589a0c1ca2e0adbfbb8cd37fa1f283f356bd2754e4dca86d7a7b59cefc84392f3f39da132aadc21e621393eea8c +B = 286fa28479f863ba0655ec460acaeca416a5213a5cbf7c16982efd5a35d03cd222044b2c8515d6b97656977ccff126b6213bca344dee2cbf567c8611fd648d062076317b5b89cc37f754ef1ecfe0cc1b64a826a3dd79b3d030d816155db88164e6c1d20ad81afdd796f6c12b9c10a42ce683d116ff3284ec53ee74523611 +GCD = 1 + +A = -1b0f16d548eff49f6c89f73a9611ec14035a84d05af4812fbb2eba5db27354bf7e6c517d1e2ca3a71bb076020e89fe060dab0290c37f9faf1daa5dbee056e9778c87039378ad926c178c4f5f240b1eebf20ce1abd61689305ba2fa46800a8ffd89115f27977e7310dced082db1dcdccb359d55aaa6b99125b74bcc3b1363684 +B = 1546179c7ef3bdbd9d122d7d53746057a4749b6796eba332006854f340ceb86ca47fd221c6b17feca8725de22169e08a9c60b6af4c83a3fab9314a5de6874d1c0579bb93b650251d1407f957f8e05109dfe77603c04c3da92a40d2dcb2f1fbbb9a335832653965c3e14a579c62bdb9c3ae179bb6230229caa7d01383620f2e7 +GCD = 1 + +A = -9477943e646e890512b975233d5c2b6f30295850fc605fe4b5fd3ebf97e99ec33cb3ba8dc06f2b13d1d3795d4de9003abc1c72204b27a1b77fb643724e8a20c79c93c930556a72038848d24be395eabc4901b076f645825cf7cd8372e6543afdd85d6f2947e42372ef897b15c4a8376929ceaf383def428f748d4f40dfc0ee6f +B = -62089c0c1792712323c027efded0c6f9106f9f298e6ecda72795bd5dc430e41347e84a1bbf266b00ca58008a8b86564cabfd7f45b5b9cd0a7d16c41f627e43ab12a6100060ac5f059854ace166c28eff20af72f6359c26008863f0ac09fb85583a173bf487f7304be48c5129777169783620f7790d0da6044be47c290044ab9a +GCD = 1 + +A = -6caccf36a233543e132092e2ea688fa1d46510f190d4f6c9410e2d2a0299f63aa28609c57093f43cf67bf816cc87f8fac3d7f14cfad70b815a42f9980035b38b18d93576595dffcf7f7732303662d091bbaffd3fb56b97204b265e06455e28c040d7b47b22b71b2d489af5ed892f1cc968f6f8567c5dc2eeca6cd3f79369f24b +B = -38f7ec4ff7e5a9557bd0b88d436e684f6ecb99550b0efa916a6ecfe1320e5adac4d7c4efb57d05163b22584c705b5b143c4cf3e253f1f3a05ed2c1505abe8fed982e8e19aee09c93160109d7008ed6dc9d41b243736a0aca8913ced6cec18cefc9674d0edcfe2dcfdc81eeb2820ae8d4aa813ee7c2183c5539f58796774f2fc5 +GCD = 3 + +A = bd5d7c2ed417b2875e083725a902fb1a3e260cc68fc7f6c9ae750045f1e69301da60e054119696eb185f218ffe04a19d3faa6230b582e46a4481b6bd1c3a6c900980e0fda0c18338b7ec5f55a2686821da6a0ed5bd4b90cfd2548ed7921b71e6d393e4d39be4e7355c97becb125f1bd7c614400ecc8cd8c305ffc2f887bbe779 +B = 7017b20ff6fbce259291b53a91c09ece87a7834af86cb5dd3249b71ebbe462148a81ac3e653eff29fd544d729be28977384d334c8863f64ad9c2276b20030c87faa2f693e71036753c7e8b98aa27f8daf4399dd83a84a5abe2db8e04cf06b0606adfd321b76459777e265a036b6c59782d097836ee24a75b3cd3bf59d400eaa5 +GCD = 1 + +A = e33fe12dec47ad538509af5ea67a506814e787b475a4c9e809197c99afd80de66a1f68bfc177f86e8a409305fc9df40ffaed8740e63c5b6fb67b5960ff0444e91e661213e0a62728c37589ce834196bae6ddd6ee53607e41633d70af624731161ea7ac9fedb70b21688075fc0d6a3082b82a1a991b87f1cf3203bbbc3f7bc762 +B = -cfe76cfae757cedd8ca9186077b7fadca17250ce655e5b4af4f30ed872135b47a03ce3876e2850f90e1ce207459f31669eedaec4ebd4a0cb9ace3ea3b9687984388dc2bf298617d7ce6668566c5aaa030eefeb5c5f5665ef1a1c7ba23356167e5b76a2f79564020bbc263fa0f734c6f8913e4ad507aae1f65e3311c7bd7074b0 +GCD = 2 + +A = -756d0a0ff13b141172ebb82ed364f9a35d1022efbe41b1d0508443a8da55b7c49ae9ed5f804a22752e5629c61a58a9fc466625afee42c09f7a0fdfb520f43d762f1ae069bc4d93a8a869b78cf22f62ccc44e7af6884ca642e048665ba4fb13746dc887939db27c99944c3ced118828c3543e1f04b765e293258abbe0f486f044 +B = ed412544d4eec6ba5986a3b4dc091a5a29226e2a3f0f72296474024054fd3edfe2ab0afc23a4d967220820fff3b7cf0d8251166a76836264416362d0f5c30465d6cfd9c6f1b9af3f7707294ba521971b5e8a9d315010177daedf5851f564d3e47655269bbcf41f0d820ebf9fab8e54e3f7bb96fb5e4a0554fbdec2b52599e275 +GCD = 1 + +A = -c199bc6851a15c193972f46d4f7ac5e1321fc3a53df1a5559f8450d3d1ccda5fb597ea57409f62b49c89b607694c5b6c699c1190041e0c59d622ea13445f2d0b47520472317c163bbef1be889de648339f7b042bfbd7605ed23ae35cd58d59aed632d1445421746ffeff50cb80445106eea241180abde98c3b3c0054a6392e46 +B = -5f01ec6db256e8ff8b6aba1947ecf18c2f2c8d56964aff26456a6b3b438fd273037f7c82241b00796e0a21505cf82044c7545b0e152c436596d26de7c373015a19e25d334b16486abc43ca4251809d09d70c246887d00efb5a1068fc19f90b725c56333714a06c1d04a45bb42b6a81a69c8af6e10dbbf79b53d9d36b4c4a58bf +GCD = 1 + +A = d031613a925e8c33edddda72237f08e3dd38a827368823664cefad36c7bfddc8e2d7d7c768d55d5058e1c1e43d7cc612c441d7e974cf638252e2e7911c1225a03fb7565571fb1e33bd31c0652e4148cd6efbd51b10e8caa28714ee6cab9138c4f0745ea27bd101b01642dfca88de7d22185c1b8ae8303873389d4e6ebd0e83f4 +B = 289dd5fc0aedd8edf9fc7c8790e87c8f7dfba39cc652526e57d6f4c54e34080f9423e74737c0106c40265f8d588a2fe3c4a2d8fb9a2a750240b68b49c3fccf444cd82166656e43c4ddd5956d961c0da0a82b24bf02d27438ee72ea694d50d48689949b8373499c79f99e126d2068aa0b39879cbc6fea9165331da3ad4eef5037 +GCD = 1 + +A = -55963bda34f328b534120ca4bd3b65deff696e4f3f0fa3849d8c38c5f011dfe3ab2965af91ad87b92e5bfb5e129af532363ae5da50c625b0d64688ec708a483c8f5f1e100fb5d4efd1ac82f431cf9faca2c63864050c642bbfd6e77c0cf5c93ea391272ef66ce806b58576459474697e35485f85b7c1426c0dfa1506b011d8f7 +B = d246117e7ae43d6d8957707a4e86e184643420ea755ef8bbbc98a724b3e8b0197c235b91d2d3701c0ed80420ead84a68f7fc8fe14986e4b2ca89e6cc5235aba8c8916e5752e724418b9a9fb4e16ce9f04c47328af66d8b4ebe384498aac1e81bd993694e9ba66df262e22c6bb66514dbd163d9811adda2a966094dbe98ab0ba3 +GCD = 1 + +A = -ddb882195f29bafbff1c87925f8dfa8dc51df7799aade28b7e8860c374fccb1491fcbdbabe6c378e1e603d26cf728afb49a332bff65bae40a90f148e611728161212503724fb917481c25c5b869b0b0d6d65f7635a98946ccdc5f74803890ba51a33594b64ec32128e2cd16df93cadf3ca720cd6712db44718c60af59ac34f10 +B = 4927bdf37163fd73c8353ede48248d63c90d7b274d3eb5b24d8bebe295e14ab6dd885b6bd2b90c74b04660435d6f9de29520bcfca89f7a336fb3943e6abe8139db76abeacba8c432051f0227db91f1ca891994126a371cbaa60554389b2763ba191c47ff16b93810f5512c3cc3067cc439834200bb4cbcc927f961f98394f5ed +GCD = 1 + +A = -f6f73171e7043d30a6b1ac1492835f49bf0e7fcda58fa949d296be8bd336a8576771265d1d0de02b2b66f0ff4379b149bb3f1cea1841f37b6b0ede0dd910a44b327fbea556080b3efe7200beb50fc157bcecf0c69f58087358134569a997d2d3eda22ce16fe5a1e0a341140914f72c5d473ba0a4efdffe67edf86ca6b83a4f9e +B = f08ac097be5e56dc27875f6823faed994c1b2364c9b02aef1d4acc3b1a7027589d9504df3f214825cee2bb0a80065de3b960a4b9ac15e7449917e3e1a8048babf7b1c762d259397923599fc954d66bce3ac24b11be318cc939384536861633bbc8c1720ef4f82d979c24b9d43d058ce12cdcd8bf6ff37c1dde4d8e2e3e433068 +GCD = 2 + +A = 70f1c11cf262d61f1526cbfb8ab7e13b8e1955ee345f644243dde102a8dccfc9d8a1677b85221cb3ceda2a52e497fb00a3dee9734ceda4c4e0e317808498a7e515f80fa9a13007c210c7be8b795c695716549ab4d523050c256139d0e37f37f49a8434e1415c6385fc4727eefcc62a9e47d3897cc99cb830d74750216e15d643 +B = d82855f451b9dc67c65655decf728764ee0c8cd37cea5d0fb17b5093776ba6bbad68d363de994ef484c7c9d119eb00adc9c5b4e6e2ee4ab721989d969dd2b6f5ecb7087f17d58f0c715625410dac2245a482bba7cdb44a4472c354e2ee0b62f48b5786002d21212f44b58225ed8422456e18f292f6184587cc11c0a6c3d32bd6 +GCD = d + +A = 3769a82693775d539dc3a85be4a645477f512b31f15e21488507e1c3e58b04310f013de661072c5cd8b86e22dfc45c878af4747b6e84d15561e82dffab77f2404aba54387dc4cf5739dc8b43b961a844ad175d08b2fff50c78ef1d960fc50d482dfeac6bf293b376a7c34564f17f858083499d5fa77069d4c3f09fd669eca6e1 +B = d408ddf12c29827b76183b55af124b4fbe6df4a28c7182dab2f8fdfd88404100c16587ac701357c03da9d2fd23c5cb521ee9a2213af3c3ce8bc80492b2904e1ee2ff5a25b042845307e561e5ddcf17ce48b91fe0c0555ce9be4cfcec2a141e11aeb233e8328d853bb414d4f25b8859b7111f3e8897bc7a7e48915e384708578d +GCD = 3 + +A = -9aed513c9b54e793cb9f4f609989cc0c807d3a92c2599de08b5dabb84ab76678740427fdd516a5b065cc5ea48223b187132854320a9f8c6175df4f1e47ad4d6a7c5d83a940c6b7a35acd6d47b286cf3eae563380b6c9f858379965ef66768c372df9c4f0ddcfb1852480cf5b5bb49c8dcf2c7f2862230d32d1621a31903da26b +B = -b59b3f89c21bef97624fa6d4a9aab2d73058060f5a85845ececedc684f6356991845ec3b2efafe766241464b0aea882707c7fb09bcd41dd0f29ae5ec6307aad950e03d6a61d65b44e51f0b95dfbcef9004c9704edd2965685b58ec3e14338c542cd6159c07082bd6745730a0b48177fb1fbf34d0f126427eb5f669f105caae91 +GCD = 1 + +A = ff5402a7e3cdf18beefde98b874aaa0f63a320018b2cc476d9da21f0bb0660245f12b8323fd3f216bf923329038a2b79cf81e105ea811cdeb37b324ad87b7b25d7c62d1a33feea288e98af7886f6ec118fd5dc30eef8027e746573adbf99c4de1c4e4422a96e824921d14be5ca3d2e259e57303ec30df721b799af2f16979b6c +B = 11cc449131049142ac79a1758bddf434ca2079e060c621c9ca7bcb355df93303305dba62cda7a9187ec24ea6a8c6c7d099d6237d8e251f84d9d9fb6661b71b3b6bb8641f2e19892526bae5085039f7873650f087d933f2f41c80eec34cc8f0a14c39552263d0e25165c09bfe63625ca89aadf08ae18984ab93b7fa1bee1e86ca +GCD = 2 + +A = 5e44cac87597648bfb5fa4e02567adbbe189e4e7ff8fd6177cc13bf05f107c25ffef9ca6a84db7f2808fa463c4c1e05a83b0a3345af8622c5795b0b9d3dcf569bf277da70f90238cba04926f9e892b162433b40e7fe8329bffa2ddb06ab24c34de42fd57209e0e60763fcc13964dadb28dae00038b365a1fd6c8de8498826aef +B = 55fcadd42af7356651963ebcab519de6a2a9c95cf44b362882f61a0c2c3b45b30f0b36c0b1919bff845e6252203e9930cab4bb39ca521e03092f2462fac2e5047fd3536654b8deef12d747260de226bdbb79eacaaa1eff609648c4abfe9850181ae6789f01a9c9e798af5afd79f82e479455b6fdfa2bb8a41c18e392bfbe833a +GCD = 1 + +A = -65f9e5726db37028eee2330e4171252bc08c7da46904936d016d26d67e6765ebcf811e903df6924aa84c1ec6ed583a2c169476b439cae7a008c1b08b5d5ae3280662504fee3dbfb9203cefea31f8efbe39d0958dbe53c522aaa57334c5af2217df352b84d55f788cc179ffac3bcd2bf914ebd62821c6dfed81daf034c9e636c9 +B = 21c3e3f338d121394144a2084a0b1b4e47f50421658e9d3e42c8b3204db2c4f4a26999dce0e91e3318ba764e599a8a3ce7d799834b1d4158d2172e85a837c2d684e27cd350e4efee98a8bf844204d6a27a21e1cfe77dbbdcaab05db88b0d42b902c67e4e99ea8b3f3b6285773213a901b245e9d2757b60347c30413a0252f64 +GCD = 1 + +A = 9c55e770567f5523c8c34a40db5c99a65a18cfebf01c408ccd1a14fc449db21c70e1a59ff7e8045b4848cd9072061a8b9a0b0e82b12ac3ce2fb240a3a2f130a56d9a08123cd700ad2ef6a5d540f5088c3fa78eec9e1fd6b440967b9b6f4e29449ce1c2943de4215683e1699c286b1001ccd7ad04984f1dc941732794fdc5d108 +B = ca1d8c8831ae7583627ea61fb6e7df1d2a83c415fcd350995c791d8bd0b53407d65034cae16f498e215fee81b38d5de7b8cea3f1f937eae45eddf4afffbc5969d7dd9e405578fd7d37e36f4cf082ebe8435c5d01f80bec534a43965aa9841dc71866556d7e1415350716fa7575f4a9299ad2746171976e2ff0d2eb26a011d64d +GCD = 1 + +A = -82145818e887333c10d64163b49a55a7b3d5755fe499e7ba2f4bf23ba81b20ba8fa07030f2c6e7a3aee019b62dca63114b4f601f09f0120537661dfcd9db012b8ec7c3bf02da8c78eb3a696a63ec265ca09e9da390b6c82505de27a87a062d47a8483cc70408fd559b97f93e84546db4306fd354eebd4fdf19cdbd9b2ec252de +B = -cb7e2c35be308b92c84cb442ae7a04f57135df7b86eed2e6414dcecf917a1644e3e13b1c348f6e13a30e00f75b1aa8395bfb771c7f577e03a0141975b1842a128f08eb3b2826f43a9c1c9f3934d279c38107dc8c4cb06c5e3fb94b869bf7616277639415196c2a5f0025a2f20237e12091658a838cff6719a45950a07a5d325a +GCD = 2 + +A = -a3a579bd080a8dacc7c8b4c338659ae633de7cb248b911d8f9a699e715756864d8be436184abe827005145102db9ed9fac3f769cbbc50db74ab30dda96ab54468d077b62733bb4808d88a2ff8128b50a7942edafde008d0088ff73dbb9d0b457975baa04f9d0344a2447a76414e3c3d4b450499acad3d507b28216722598704d +B = 5c89960d45ea9507a3251911e9a6a44a431565b976396eadd21d310d4fda77f6bf236e71155aba05862a3135d713c734c3400653750c5d055e3656b57e0d098990824f87cd180753483c5bffb92e7f481506a329e2cf88474d57d6d61eb9aee91cd4b31141b24c4e9ba3e44f9e4c705e8504409f94ff60e18334c97754964602 +GCD = f + +A = -34f6460c9f7cdeef668460bb0b25c53bf4583d184d598bbdf3ffbb23016fc47ab5bcb68004bae8c29b7d1352f8bc44ab2dd247efc60792813eaf577dedbb2df88578f6ead9c72146be9120fdd8bc3914ce4eb40259ddf76ef449a1980b531d013dbd70b076ecb5967fc18e7b16b69e294976e0c5cf8e08da6a555d1c5a348d50 +B = -93914aee0405920bb43a1656451777b0b29d18988696120c8355dea64a0c68da342b652263764f9466beb5eb9e6a971d7d00b1957e0160b9ed73204d7c6d36d9098ebe918dea46a07ef55405ea09395d503c6dd013d48e096fdcad8fbe285c16f20f44925d16c4bf51bc1ce41aa3fa242e2668cfb62df5500c7e8f5a5733b2f0 +GCD = 10 + +A = -c68ab09f465fb56a2ffdfd157708b343e584f095bbfb09c74b50af7885959d001aca824a7aa1dfb5842342ff907781ae622d6818325d88dc87e26d4d4b21ed27c90a00a425f6977dfa4607774c92138da94a911d4442778ed39405fa33cf37cd5a1d985843dc15a2e3dbbe7338f43a5ed9c925a6a4df6820afdf8db4036472ed +B = 5f88ed05689915d77c0ff4603ebdd8cca4402803d6520adead85a11eb2cb2363917644c7129fe8c6f900de95bbfc3efdf44f8c06ec38f14f627f18c7d15c5c7832b544ae9524bba75df7c92e51e027f447de29e37a6e97ecd6e61859de03dd2bf9177254e79702e53ccab7e8f98deb75829f6f996d4e828bdb2cf345d9c076b9 +GCD = 3 + +A = f2a1e80f723edc6024afaa3212f6fea834c6954d58b3b53687123d22a32ca933f00b23ec35b29acf208f5a1df459fbeb05d993ad5ec147a7212dbf99601a4e70033fc268c75c1371cbd0e91b4b67fdd0db37f82ae69b64921b6249436b64c2a0ae0717219b202d628722008d4cfa4329a15f95cb552e54edf534b18506ef5732 +B = -36ab5aaf4d66f9a577b141faed35455392464f55346ba2611a45ab90b6cbd1f19af2ae713be4c149759bdf7575834850f5ada15cf15dda3175c6878ed210a822e459ecb3bedca1b50bd8085308e96c8f3c8c90242e5e9fb976bebce004610ee4ba24067c0d31c6ec2a33b2fa0d73df805ceae3ff51fc30be498c5cf66123973e +GCD = 2 + +A = 7ddf6a76ee91ad09346a9caad7187a3a2e2e5e3019a517f197412a653c6e0569536b1eaef5b8bc17453eb6d304a4278e84e397d8b8739230b7a7985eab7481cf56e9a7442db229da14d09009a11e80130722cacecfb4186318777fd017d834a68f9f231b0ce895a59a0b37e7086657a70091ec864b15a1f5f5aea40a0d271a74 +B = -ac7ce8a90f6a5d64458f99b9791a174e45a450e5ae5063dde007ef5d6bbc4b9c82dac6433fe3e267e8c0156aebe28b6c1406bfd52488f6c07f00e100420bac2b360a203dde3a105b19d70ff7a771eadd2f72af09658265d652d3c1107bbf37dc710c44f368cbc9ab1436760dd0160602bab5d609e78298aa64da24675c2af3ce +GCD = 2 + +A = e1aa7194ebc4a4a97d498f88b4240970903f1e3fc617477efef582f604eb12dee73e71d29300b802afdcadeb98b26c4a73edc9dc3938801c8f1b85f7079d15e1f89ba011fffc06e7f208fcfd60a9a1b3237bf537c7fb7b7d4ea6bfe260630c73a90d98189ced91e4845eb0fefc5970161e87947dc102e24731e5ab91e60551cd +B = 55ba462127b24e612807dcab3e19411e197f67d57c3adc76266b4dea2eccf80c22b3a66fb100338cf3b03870d5801576c48d668ecbcc832465f8d9b1227e98a941458ad30e05c89a5682ef004e4091c1a13ebe7b3617539490e98fc96a26ea8eb433f02bfff96bcd79a5ff52a8e7d04566d5fb4ac0deee3519770b273f9e5587 +GCD = 1 + +A = b1406338c3be11cf67a8613b8149e0204e3509073a3ca0fddc0cf3df3df5307befe6aeca29c653505eb9e1f9a658b2f1d8fe46b97a33a417f31b4faad0ae841c7181fc74a70ab91dc6f6e877d4e75b7ce12585f5602d07882afd74b899ffc86c0d27a62e20c8026500b0ba6832ee3d870f20b33cb8bf54adffcf743cb67a1eaf +B = -9c1f7ce47c1256e9a5bf89a6c86619b88bebd3fe28be55a4401b0d68c864182f358576a47712466d9ac106f10c52030b67217879c913ba19472e5e424d00091a0d7d8668d09e832131d5e8f502646a5c332fe1f6fed7cee86193f68dadd1f42f9aea761c9598563a613e1488ce87b165c879cb99a64f46e691cb7329b341e90c +GCD = 1 + +A = 5a5b9982b6af5f2e4c7414150b503fbd22d00efd6a9b7eff48964ba147b8132a80e7e6207b6961b946f32cecdaf83baa78a7dddfa3d175fa594b90d2fc2abc53bf4ee3412a4fc72edd2351f2ede9b41cc97dcfb68d1648c6c6e6d3257e5efc36493c9f02ab7716692442b2670de89084a4c7a9475e4347529cfc4bbc3b8b4500 +B = -49991a89c2d0f7a5de081c22fcd49346530b0f319795146d721fadca7d015f0d524eeec770a7b9888ecb41d48650bef3256edcb22ac77725f96f1b797cfbe8970f65a93718bde7ff948df33408a9e46eaaf03e8fd009ee0bc34a189e43dfaf7a03c06a6e11db25e4110dfcd1bee6b493f7de40f6b0e0c0ef341a243c8edbf905 +GCD = 1 + +A = -e7484deda086ff745db70a1655aa72ff6537571440092d73b017364f46b5337ebbe8f7a0afed55242e82bd7f0b14559305a6d88f28286c99c27ee5e32daae2db8b3d6ad9dc246ef55c830ad646c58fb44c23682b33abb94e477bbf939e8bb27a4e2f1e27482c30fc7db46bfabe2208c9e89bb40fec3dc24c83f7da3c3d3b6d96 +B = -b9ef8ea30cab0a42c19bed201708a07bbc10509220603aa09d4cea6386280aa6f2548020dfca2e0d0651ba2ef75dfd6fca95876e597a5d8cb102bf9ec6e36cf962d4a29b0531862fd8edccd3c996889c4edd8801dfa3620c9f3488c770320f6e288de3ed763b6223500ebd42099b7b5ecd86ce55ded4c8386c497a0211c4dc83 +GCD = 1 + +A = db952637b7704ffadafc51db2d418d6727e4da720160b1abb3c73cf3d11d95856761ed7cd490f8b5dde0f8eeab5d71a007223ab33d72596d50d3f660922fec44565da2779990b9b84382645c12fe80c84d7769db36403a6704f899fc2b7474ab784b6eb1dcb19b775d8eff02d225254eebbff9ae67015141e944796069f336fa +B = 54d5ad2f79175143565445539d8f95a1776012af72784a9769a1d8ec9653367c5e8290e0a2990b7460de28a47768e3ce5930caab841fe19b369879f912804b66ec0794f0471265dac2c59439a3c04c35e6e3b989753fc10b7c536bf114ce49f9d43757ce152baabf2ef2553715c3c637886720d138bb8b59e71ed28d0c61a02b +GCD = 1 + +A = -541a341827715392d101b245955096cd5ff54393edb51c90815216c7be8eb6cfbc4f6363587400a7137d5f4ce5f2131e9b86eb9e0ba895b3f0d699bc4c3136d2dfc027deb67682e42cccb2cd58a9353f32469d4e9058087b06905ca17fe5a38111a4f3a43b0ca8ca4e2507aecc77aabc85fe5b477336ca305e049705ee36dfd9 +B = 9e37e6be12098f93cce777141a311509152f47567cf7b5719919511f752acfcd0275b0715df4f81706a7c93ddbed319c5dbf65fa19fb35e16a850bf77cb8fe55ad72e7d288f33d57e695c17e89f7e835b57106baac75be4b22e9ec81b5410278c9d4cd3a860ff89316583c9d8e0291ab77a58942427df6a4f42082341cf8da04 +GCD = 1 + +A = -db9f0aef07e018d88d03a0cbf06e87f827b793e8e69c5384e6ba77bad80c81465be214b1388f7746ac7e4b038f44842ccf017ae12e5e989eef94c5a005a0f165bf3b3c63f27e7e152fc1a5b880d73996da28f00b5b74deca2bacad56a046e29300c0325b9f068f942e6b7ca45a17acbcc97104562049fac42f03ea6694260c57 +B = -f97a2c761901b15e9e8b1a3ddd2fbbe37bb3d3ce1809d88ccfbbd632bbf2795fa660eb35c733c919444cd4b23d11a8625b073899086e58ffd074281bbfcc4a9c6f7e8fa9d438cb6856fe8f7007d6bc599c7d31e37bccb33fb72cbbdad6eab7b7ca6791f2f87b38553aa34b6f40f91a74d0d76128f04f5fcf730819722a427853 +GCD = 1 + +A = 92e8f0210ec436e404a353e31b6e6d521758e7176bef0bd97d5e18ce0f7e53e8cda9d0ebdc642cc6f98343fd42f1257332e3f43c640bb17a4627c606bcc4f1a185743c2d8b0f2ac2744403a36226ca32dd91a2bbafc4151e12f0f528046ff5530a5fc0a8f3b5be51a2f4916bec6a2fa9ef7e006102886b2491ed531f362a196f +B = -2dfa59607d7803576f80f7a1229cfbe646b60a3c9e802041560a1eb666289b3fc2dd1449adbd0c9ec4007977e1973ab6fe81f12099724d5574fb6d3eb4151e9a165fde6d0d8e9b177ef7e1c9961b7af5b7478ade5a3956052070cee6d0a86556ca0533a5fbbfc5202f77f09ef3f2fa0f635bd9d800115cceb29530a9ae188640 +GCD = 1 + +A = -f9907d01ce6987ee8f322646fffc324909f62ef1c19697f4f0b4ee1c024c2e9708d5df31747783c1a0240034a22e8986f24b34d2df70e5ba75fae03d30682c093f351741639927da0357ffb303bc240fead312a152a5cd830e16301a820a8818fc83e1ffd8d698478a6668035f6a971180564368239db6574f2ce3a7069b4bdf +B = -1054e20b0f4c034e0afb49af0775fa038130b8146ba8b83754f3fc5be81e08742bcc148b6bdde6fe7a779e484e75c7d7b30bd3cd77e8a5eef8c90ec3dd6f19548f326383d4c807a0a3e51c2eb5e1d9a906cd475815999b46b61e9af17eb37f39caf16a963910bee778923bbd3241936ac0aa0de5532624553aa9d0540afca656 +GCD = 1 + +A = -acbe447391e96e280ca05a19ca95a07754bac7633b44c3b9bbc4727633feb83f7aa99ce22d43ddc25d4a7c3311afcd9c072f527ceb12315b38da52538089ab9b02893a0f07231b37a8fd1ed1560f4bb57da0fd4e760f5f5bd34b6d13f013f5d73e6744111ed2be31515b92db3f016829a640fee1b574d24abb618f0da7db697d +B = -90d228694275cf10d180a6da81a5451e2f2c49c7bcfb505894ff65e91db1d938036bcd44542d2033b4c86a85f9fa3d792a5d0d13d522c61326514793159ecf15013b15a79832f258872f5a454289e1d4768e07a5b33f0a31741a49607d0f7f766b7b7748890de31bcda74b1ea8ad20e42daab8d9385bbcd583217d7184387ea3 +GCD = 1 + +A = d63dc3c811f1873f1583645dd6f196e3949128a314f19a3a6f61ce4034d72636c60d3e6789ec3f1c99a0c55aec8db58e2a56bc609c6cf75ea188ae51503623ab999494c85b78da10f45abf90874e993b8189d5dff711913a205c773c343dc290fac2f674494742b7f0411a94dc1e282f86872f2661953c5d87cba160c0823cf3 +B = cb2e71b2d5bcf60e08b53805645ab23942937d610adead1daf2169b1a73866ca8a00ad52a5caaccc2fc785c549a6d7b1d69abfe0ba2548b6d039e0fb4775f09afb439a6ccc3b043727f977fc6381f09a034f557dd662e20672419d00921c0286d52f11ec7152a64abae1dc7015a2b96d8411461adf101779b707b9a500648b94 +GCD = 1 + +A = 125422c4df20f12576bc8aa7c8a0fbf94a005eb933907e8293559023ebdf1692e80594d05165630311b2b9c1265300deda5dacb980bb3d3b4819852a1978ee49f46b1a0665252b51b74cb7b40e41c15d204cf768639c6c468c28a17dbf1503f187125a95d17f088e85ffec1aa8b4d6aa94b93a7655991591066696f83b9c374e +B = -1c01543774f54e9758475361e112f9ab5c871b57a79fbaa070d9a23d05861e89dbc0c244b254b366c13efb600e0a19cad416b9e172d3fe213e55ed125d4a56202ccb36535fc709f2195ec6e10ec38cbc412984e8debd825d082bb8d93d7f81fe024379f2b7e84a2b7e2a5bc9b726c4f03d45c730112fbbe3f0c38884314767de +GCD = 13a + +A = -b7085eb4ec0877f7c275203307471342dd75face1264aa790c000455dccd01f257fe51916fcc87db24cd866333d2993cb1085a1e845c5745680e7c9a075cfcf80ab135dc25b3119ee0bb8eb903293f6366155157754464a0430573f240593f43a38c3e1045e1714a69b749094138a21e76d7e3a66fe98656dd0973a87e52e2c4 +B = ec2ab74f638e649b2c0bd11f165f7d148290a15549a5b92548fdf66779af5f4afa561105969a31cdc3c8019b8923982da9ca564f1bc6233fed708c80693f5c8b377a31c8cfcf8d61c75557bda9d7641ac21e7b86394bc9c719c9634fa2731febabdc0eb41cda6dd8ba558ce368cbbe6cada99e5422f4b1bb7a17cfc5d6bf0d8a +GCD = 2 + +A = -29b85f1f9265e9d3871f4f9e8aeb11bb44d3f67b4cb9fb1f123dd2ffb629d55af52d46a0584b0e55a7ff63c578677457c8316587b44eb397d72f51cce3211b6b1058cb4d395783f4feee48c0b992894527f2c82769325b32ca4d88ff06cc6a004b5377d78b204ddc4ed833f3a875bc37e9d60b719c76cfec6634fb0a071a5d51 +B = -d7277f4649e576713e20395cd81ca9e0be8f413a677bc7189424688d8facd220c8927c529fddafa7d1966a4e69b4c6dbfa2dd42d3e883b922bf381634f19c44e8059f70b35cbba226c650c51d5a224352baffccb20a948bbd5ccf2600746bde6b4cb12be91edf2f8a3d0c5d0e68894bea5619b530e24697dce6df590326746b7 +GCD = 1 + +A = -269f7f6e86e202d21b32584f7fee0276a09d7df3f82aa5fea773d9f778fe3df405d296f37ae3dc4f36eaa954a5677e2bc1a18e9849e98e08fa6d8b052ad34d40fd25809b09c62acd423066b4a2a726fae7568ef10351fa99f267342f0a8b8ee45ccf09226082a1d68ed1de412646fe7a7906fbec7ac49bb776d7f8587b62c395 +B = -3a756ee81e6374fb9b4d6f411194773bc2c34afaa09a882555931470173c2f08756fa183218f7655e5acd5f1f8b42ac4bb2b7e4dee726f3883602423ea79bbcf50cce383a66d797af682e791705defd57537d1e0bae240e93097ef6b6f3d2cd2c534bfd3386bc3af93c1caf8a9d17b83385694c9dd238cb76e0563961bd828b2 +GCD = 1 + +A = -a9887b259ede2f47e9195370185fa7ce9b0b03dc9c612d3f9cc7d553fcbdf109de2b3ee7fc0a6273c84f657271ceb8dd3fc2789b9ee3327a7fdcaf3140ea1a5f9eadc790f1740cb3ef5cd00462522738aaedb2fd5426bae6d9fb0a4151d5e927838a5aca027dad070f75fc4d523b7080d9d56740bf5d8d9b3cc6152177c3f0bf +B = -2a7e77778f38491f2ff1cf31e9d2024f1afa0edb75348ce6d9ba21cc081523d4bd609c699455d5036f65d2b3239f7ded4500489ac0f05f2b2ae244876582a3eca3c37766cdef1b806032692ca685de474e6c0aace771486fe3a8c35249113996e006d572a8de579a7e2fa056b2bc1ba9c8dd336fa9c05a4227854aed33b8bc31 +GCD = 1 + +A = f2518026f344e9ad46a65e0c0382bd6a75f1b1adb98076780663e3efa736fd9629529c83f62cc72245e274f3f4328bf36a39edf740e082f78e030b88aa69e42af9c21e06fd58150efbcdda0693019c9f92902917a3b796094c3f1e6725e933b57d38b3be8015dd7a1d293270fbf4e1c11ab7519cf817b3333f3fd6c4cbfd63aa +B = 844ed502eebba7ead23859c38d0fcdf6641abba60ebed453b8ee68be67f84ad8b019d16fb2a1681d305bf11dfde9f5119f1e67af891e46ba00e9741af0546395be72ac6d96edebbb93d29956ace4b6da3a4a2773b825afe28e55e129707f42ebbfb36825ff30986abad47a6bcc919af81c70511f816afc3d203b4df48909b650 +GCD = 2 + +A = -331c7a990370840722a14c9900a512ff6c454eb37890ad6d59dc897258ca668682e563f753e5e6a1121381f2e239e8d9eeb5867c2b89eb6b7e2f58632ad94d66c29b79b980670dff642cadb62781ef36e97631da48278120c534026e15a1f01a2369cafe0cfd47588ec5c3a55cb88fc0d60ffc0af2c0caaeb37e83322816bf09 +B = -d29a675ebb1e842fe43988371ec9fcc0cb6c03c213cced7c58f0b5a3d742820be36db4a7769a7d9ce3d30d3d638b20e777d8f026efefa64ba05e9beaa70e031394b71ca51fed694d6eb36891b5843ff56e9a34cd6760c9d34cdee25db33fffe861e69368498946db5758e95d14ce34c41807f44e629b31d7fca44d2e19a8af39 +GCD = 1 + +A = -731f7189bdec6588c949aad1ba5584a0230eabc2c6b5f21ea37f8bfb05295c599df6090570e2eb17c443d53da696708b5c70cd6b7d8fb087e7d44ccead85c7986f6120ddda45f851cea93e0405bf54e5e182dabf30033f1e86754cb59c82a7f3402ed8a890be867e8d935f6c4a7df7ea9ed1a5a36016320e78ab830e902c9c8f +B = cbb25e36feb44b74ed083842f0dfda97df7c8e869c470eff5ad69fcc1660ada9eef10f2f175ed83664dabd70285fd25efe67ad21b9ffe1a7ad51e38899a0b518e312b84056ad6756883f74bf7f55beb1929551bdb9536670a71d61b94a44f244dd1ad88ccde4f3e63c9d971517846f44e29788bf5acefe6c2e8b8418e4d17ff9 +GCD = 1 + +A = -4d1121e7c0e22c10ecd9506d5cf39fb320ed8c606179a4a1d11c313eafa4ee726d22bbd5f7d3fbc889a55be8a20a0c1a16d26e9768df894124f2219fde34d406db30e25b71796dde1128f77461e0c324f2c05b79cfeaa1d5d4b40838a4e8ff4b7b47f300f77c32056841fa44774d9d6d68c566216cbeec3946cec1a0a3b3ca8 +B = -f3cffd8a72118a4c28389a9ab2b98fb687c445eccf7d74ed1f8f1e06b04d9288c493e73f04df6d8cbf18db95b26f44be721e4414714644c32de8a6da8200448a83ffeb52a624bb11c51458ef69016a20b43085fa8739a5f86da3120aff4985ff086857014dcc9c07e03775842345240af95752d929388d364cee5edab3882819 +GCD = 1 + +A = 2616b3d49f58e60346539c83cfa58776bb7c3ee25c275d403da500b21f7256d3d4e08f8de77a7d6589c2bc78ced2d8b39e0ee958e4fed9343997b0c77172ad40d290a84c127f1cbf2de13dc24e08a22f287e242ca464e3e67f3f569cd7c317cb7cd8de44d0cf9f5e6d9b6125169722ec8f68ac04cc5cf6b9b7ed9f634ac9091 +B = -15969bc04e5096c938f053682d225a7ee7f9c71379df51c2f57cca68194b59ac71098fb8d3234c3687292b45da7e63b0259cc15b5cde509e89d2260694f85c788c4b2951390acb3c1595c637bfb46535fef18f56db6623dec727f270e2a9e51936d1ac8db7cab76338b3b50d116e8f9722e4c6f69a068c2ef8260c2d88c2e55c +GCD = 7 + +A = f665b4d25d8dbee0ab39080c4135270aa21b5d0d04076faf50456fc5b198c0e4599d323d3774b361765817c0279898da833ea235488ce0405fe727cf2a70537d693c5ccc748a370b68491521cb2911bd9e8b5da0bdf08c65843022e71d12292c246a48366c9014187fd82c4619af5ece902267741157f65dcd6d16d4c1a2825 +B = -75d7e8a968302d160115f3da5cc61e443e40ab10a80a1356428de256bfe22ef03302754a35f50dfa54f01646044fc195542ea4302e037c0514ef66f157e9e1a3026a559edb6f74ecffd71112483deeb2576a6be36439ca2bc496667258ee640d7c9f4c81e42c5c337326abb94884cd3b448ddaa2c0d1bc8e2cc5a36cd3c3b867 +GCD = 1 + +A = 8c6ea052ea27830bb4d6edd1ac608efdf1ef0fc3721c073fa47aaab2a9aae124e70263e16638bc6fe32140c90003ba1c61a0adc083fbb2ec6d542108f226f83b69752666dc92638b90ed8884fefcd98dd809e259a360b3d7410b4c3f131a2c0b1ee2ed62c118009eebf4011a84f4b69d29a80cc49fa4eac22dfd125ece45b251 +B = -6e0d94812db085482960a2345696853e58469df6d8c423e8a822df40b5867b437b6d5d4c493b212132e0b089c1a1221d941c65ced8bbe82bb3c00a1e620dfd3456a64b95988e46237613b6ad736ecfb68d3e16c77ea1efe68af8d192dd9ec07f91bad4736b4e89347756c9ab7edd9f2b0b6765e723f1239b7db1c1bb2779e6d4 +GCD = 1 + +A = 7e511584681b9bd09d29705f8f722fb83a94d914e7388979606ce99e1d8a6cd55a6b76f8eba238b05f9c5b7f35be534817c3934ec792080dd71f89548211d30280f20bc2034384902606470b9ad60b1a3e133503e0f67d5e30fac447f7b15aab94d2fdf33a575573975905e8a62127a35c820b9f00297e9e2ef5ba015aec64a0 +B = -3ccff0ead3639f375625d4c79196e4e4c3db30970499cf3f62ae0064ea43e9302440454e5d8b974a41f7a90163f1c01dc14489e8023856990b152e05ce2e301e33d5104c90faf09b1edbee5d87ed835c76ec302ec8d22a43bb6d1e28061a18be7752785420a8982d3d4d0f9a31a3d27e0e9ac86b12a628b74c0d830b1aec85d0 +GCD = 10 + +A = f60d47cc5233fbdce987536ca2686e23ad5bbd1309a911b565a95d467ba756bd91bd1976844272581dfded42f9380cf3be29a19eb6b78172e5a4264578b9466c3a04499ab8f84f817b4e5a287b91d1621df8cad01d291ad14f93b3e33d7a8d54f6d2fe0db966a4ecbf06ece7af95487bc1bdc65b4314d333586027137969527f +B = 24fa64544f165b1e9d5ae66e597cc2e1da96090c3ff7b183922f161aca617acff7b4069dc0086f47cfa392fa861f1e34d0f4192e18ca5167f647cf55521a97dcb5010c077f41053035deddd2bd36d6b13b8bbdb771748187bfb71a45d4fd6b3c2890db6b52fe6617b945ba9e67866daeb07e536946defc0d17565bd866e5c054 +GCD = 1 + +A = fdd7ac0c47888486c4b66d071d1a6e71a3b05bd869d57c145005d77a716bc9aa0c6eeffa143149b7a2d811f7e23f7c6288c4e791538e58b10c3d2b4ac8388d41ad5811d51ec8eee49ba3d66fffc683ad7fb397f39cfb6d387e7ed515775e43a004a9aaadfa9cf48c176af7af194c40d80b10919b3c7a56c14bf000528521c9df +B = 5230bd51b8d7fbd6e59118e74087b4f8c3276bbc4ba969d5177b9e7e0819f396805dc6ea27ae46bcd84a76f885f9f0bd2ca30e9406bfdee2add7d7d6df07d0dc92553b699c485c024a8bc801fbc6da38f638680d8481b7ecf30b331f1eb84ca5e62044f5f4016a80858d8509f760bd7ab2759f3a082ceff15a31a3b229e81e45 +GCD = 1 + +A = ea3d6fa16c9bab8a046418c590653e2f4702f7e6786c8abadd9af39b277c3176019a7ce4c4c34ed0981d40e9d7b255d5ab4f5d5d143f1339056b860bcb0d81109a818a3830b583f1e81f69b8733607b529a6b98db8ca02e91caa3726cb7531c895ee70bb1b955561cf36f47d9d70907839990cd63db1b4f141879fbb651e605 +B = 7dc4f9578148627746bed3b58209dfdc70352e66ea15bee8c25ff6b9d63b9546df5dad862e2b852d4275bd89d76779bcfb15037a70cd3fa4587f93ae00e2df7d46963cfe378da3ef591fb85178feef5f14a9bf0c151a91f1c4027c6a4b64169ec2164ec5a75d080b1dc3b93fc0ea6c3560cd4d65911919562e6e57aa8047d2 +GCD = 1 + +A = becdd98079097d92ad6c1a3cc710d15bc504fef0c2b94fc2db76f046f7929d3f7b8c7f5b5c716bb13624f6971b0cdf4a9eb92e6a8ed9b4d67d12a3f16d21bdd9dfa7524a313962562fce2a75c120cd7f891f00bac63cd1f2bff4b4ca2898e25af28d6707a1736abc38025eb2c165f5d652fb589c0f8892e38550174f0ab37ce0 +B = be6ea38ef2cdc9e3f32b824806c6499012b3d2458869879659e27dd229f378b0cbaf8c2d7728143d8a75a080cec0059515d2446bb47d1c74a53fabaca5e922dc78e31c15bc0a667351fa7349cc305d9c734f7f45e86991b6a739f9442aeca3ba6ce5daad23b3567fedf7eddeec804141ca1a08121dc2af1b6d86f7059ca035d7 +GCD = 1 + +A = ee263ee7997be5793160a715a52f7a6fa80ada06c3cd5f7430706aeb8dd6a3cd3c9b00c8b881ec2cecb0bd6c786dc13fa2f8cdf876376d3d753574b891b01394a5051fdfed5bf319872c303b8077d6fe74e68bdbae86beed1422bbd6cefab10a0f2aa6cd0ed54e6c2e463b5949f14b22185de87760dfce1d58ced45d5dfa9661 +B = f79ccfa144fcdab12f48015030608b3d0975f958fc4a706b8ad8388c5d81ea7f2b8225effe77fe44c79aea7a069fdc02554a205177a6ae2d9088c4e2a09393142d3a0d0e8fe2b87887c2feea4e86068f9672800f7b410c4752f13e33d028aa2ba6666d8e90f0c457bc1d8b4a17469278df25d5957833c83b410bc745c766c326 +GCD = 7 + +A = -88c7db25489aac465d59fe9a5fb6f8505da0aa910573347d6050e3dadd0faec3f0f70d684ec05f8bf5d47c1a5c808c7bdf791dc30d67ff207a3feb452b3dd185eadaa36eedc5c30d146507d4a8ae3d11c357e54d6639aae4e1d9fb63476b972c9b5e622e797f22270570580b948f238685b84b7a05583266acc0660a2ebb9c09 +B = 9ce8bd067b47223bbcfac7e30a825eadd93b66981c7128d2af314fbf349a2f1565b06c78f1647fd98021b02e4c918a63d8fd078d7fd8561a7a455fb2fca54f550de365451f8457ed438e8b2f147d3fff8c713c42ca3402f5cb886dd1d945aa3e75c988dbda45b635b5177348fcd13641d7826bd341b1ee60de14779e06dc90e +GCD = 1 + +A = -6f8fa03b531890b883642bc43d866819780f3d1224aa5e978b9c488b0229d822d5c674d57997fa61a8baccb0bb195d5bf7032f16bd980348295081a5c2221fab862127d3c795b78fda305bf246ea8ccf0527a5351a2eef4e1d478a40dee7a6fec18ccbbea53477c2567f6748b2cbbf2384d628e17c9e920599cc031afef64b13 +B = 76b96251244dcd2b686fcd5d3461ee178e130a4299cfb16d184384442ad91fff5f95be7f65456d906045c3e39fe6aecc030ab944400f44511d9a8ff23d61dafa9714c66d22dd17fe98565bfe156bdc2d4cd3afa9c559163f71b736385f32a512fda979abe8fe642ab9cb121f8d5fe515b79c487c580dc8fdb62e512a5a54690 +GCD = 1 + +A = -586fce64c6b5c25a93c8150d4f63022db044286130000ffb6b91b0b91bfc0472eaa5de3b4183b4c9017439327db990fefd1dd846bccccdb0122459b423de029edf26c02f69a6ba628dcde89a59a855eccd31f686a7d095125678d03428fae3ba1fae4f2c6ae3bf3bd6cbcb8586287a22f1d974a58fd4f77befb91be133c8dde9 +B = -e007d70c8c1bdbe3fea07a5212a1302296b25aca3082fe1f2f89863d3c410ac84bfd1ca443d45ed4596f778d1a980c18fb9df65b02221a888a5cf0f491a726b29bb94e9e281f9ed5d3f09894f47e6c1506e3ea60c41dfb684ee24f8b7d11820273d270b6ac2806aaaf43790bec020aa3c3f284003fd77b0eaa93502ae3672927 +GCD = 3 + +A = -4a6bbbe091afdc8fc981b80a24502e5c278a97e71867a617af987b33e9db7dc24befd9534b95f5d38293e438ad711bc25292ca2addde293a47ace50c7b4b625f56cda9251574007a8e505e120e11c9b33ac00a9beb61cbcf5c35bc8dd67957509d9822be52ca1eac5360efe8822befdac45b90bb4b81def0b009091373dc1a4c +B = 8c18f6202bc786f45563dd3820e17024bad5f0f7db57c49a0384f06e27fe939e6aa27a1213e013fd02a2347a678d554e349d5430df3474ee9494b8add34df811e09b55a275e9e770beebb9fa74c339dece5bcc83c28c35ab8e266ba4f922a21a3d8ae679c9957c45326d9d478eec1ae1662024caeb0e2b42c5c5980187819d22 +GCD = 2 + +A = 8ace66a3caac6f8739d620c0d30ddde62d0a7404603f3a00a8cecdcaaca41883bdfb66bea0ee114653ade55b7cd0c99df6e0224b0e2c2375607bb432cf568f690823d7ac3223c30fba334590f214e6f7b97835d34a1ab2f9358bea39eb874b68016fe22f2b9e7498a98a85d73af5cebec080f8332055fb8fd71efd47b54809df +B = -a3be0a142ddd03b2ebc4e0be41ca274d3728ff55ca24ec52c511ac69b613f4f79f13ac56e851fb6e5ff2ab377606a6e92ab9424797fcce761aa86129d7a7307c0b9b382e841e392919bb40a553f880a19a0308bc87f4a7779a613daec10f4e21184bf09348e8bba1ed2d3ec071e61f71fd0029d5be0d754771fb8ee9b935d183 +GCD = 1 + +A = -ef169664cb3832164098e5ff6245ef3108d2345b35c4f4bb84a61c8ee50011e1afb546025697b9e465802aaec737a0e0924de165d6bac7c6eb5b0f784b39db787c807de3ec8307b8a2e09317fd7b5bb5233f08b8e937685d9e28a2471e64ec1c9c4aa37b95225322f726649baee74281d15865f37a6c4ed98958fae347e084d0 +B = -9c8f59a568e6f7a8a6ce1f929c384a8d4b50f2911edec5947a295624db894608c7eab9718568c3331fcd9386b808a4a0317ad7235b9d9621441f25a14a77ff4cf34a39b19229dcd567b93de080e0ca5f07bd80cf4ecd21d977e4155174173900ee7623f884127422a50d07751c2e0e86c2cfd8e559d3ac39a26185fc27bba81b +GCD = 1 + +A = a757fd1000add34d9fea80c97bb42033b6379a7145872a8b53378b50b008b9f9606eeabd49a6bdf569193826f939c308a8de666ee3590dfa68c4067baca2520bdea3507ee2e6ca9278de9ad1c06d14e93a1e4fdb83336f0b492dff110ff09f4ce792df83198787b863dbfdb6b55f7683c407e902b2c5030dca9f018e6de58317 +B = -aa4453270d7de2c15d0014f2b5ce3a20a6a94e4be615c2612f234691ff65652411549c7ee2059bb3f7bd38578bf946b24bce9bba9f2a11e1311c9d18cffcc0cddf97b3d96fa7493da0a19732f0a448d26ed96ae6c0eb0ca8a97d0d73d5cd960e5ea6bc9898e75b7034a4e7bf8b1dc5f8cc971cee2348ae56980e2a6af070b82d +GCD = 5 + +A = -3936005e48e2e5751c1d58e5aa27cea790aa37d7d1673a8c276d4b9fadb72745a7cd4e707e3e191dbfa9daa7c70c822f12adec3a881be0316da3dda3c4b023c83d60753ac8e80e3ae8cb8d496c1679c6ba22f3255f1c92fc82130a19a299e01843614d2e18286feb34b1e1ee5348b7f02f33dc95911ea823f9c4fe214d9e3f84 +B = -9c89c45a6f1433296800f17198c4b5f8289347a9d83979c8bbd8b25c510195d749ef038bad3e7e72c4a1462fd48ef576d2edbad0cb5f2e216ed334d0c28fdab2c9f7547a7fea358527c262448c000cb54c36bacf462d0bd4e9e3f351eb5aad6581be1827a6993bef936be9241a022026a587ce6ec9f04c599481936d68277c8b +GCD = 1 + +A = b2644a071759709d5ce0a75f3e131ac45aaafebc56a18150cd1840624b8b376cfabcd089b3e12d53e509545fe99d2f56f54b6c47ea1f5ff6123549854cf54bb88d7faa65079d0c41bf92241895f79b4fdabf0a20607b8a80259d49b19f8b3f72bac6a9a65e41ede7e544d644b2222a3290d4bbdedd3c44042258dfcd74992e75 +B = -9b0abb3cc92c14a2c421b13f2ccca25e76cb150128c00d5434b07e0446e5e76ea51355d327ccaca63775c204d0b80da9be66abe9ff04712993a11f1dfdf046b1892b55d8b692b874a4a699188e82b7f6a5226a2e2d522ab560f4790509467a394d56c8300eeef19fb84b93e0fb1618fa97eae99a2bd5999664089875d44a9c4 +GCD = 5 + +A = -36faa2d37ca1461c0c7919635bfeba03e463d86ab6383bab074c3d4ccc8ff58ab2396bdf1f5eae19f4e271aeaf0b62f1892ec9eebef8d1727e509c18de87ab1a274bf1ab2307a9fd6948673fb4cc8cbc0f0faac3eb5f2c9448dd12e1c4ae3e28836289a858df5457899749cd12ff98909f39649bbe80300ecb022f1347ad09f2 +B = -3d6a8d671af688942f631223cb8b5fad99d5676ab9d2d9e8c36fe1d2907e44163faec6d12fc34d436e1d22bc2988152ed01f440fbdb2547bbf0febe861ea312458db342f0f8c4085bad13ffb3fcf8580573306d9045ac09ff4f65ed2eb31f55c134fca21d9e45fe922906aefca1e3f9574be1eca72bb75cc6eb1ca6aa1531514 +GCD = 2 + +A = -712c4b770532abe82e0c34b78feca3b65d25d7154e69663d1bc4a3087cf109c1daa84519134e17bda04b77889f1e01342b2c62ae00ed65f87d1a82686ae9944a55a884ec26ef0bbffe89f446c4074f9e074d69eb2628a4479dd4c868aeba976ac95b0db3b615976fa779d10fbb651dccf164c04723f372a91c6d40d7ef2419af +B = -37f489a682f08f94615c40207d6fb8a4ee0b93709427cf6cc078bb8cfba60d95628f70e88d2798726ea9d3d6ba8f00f29b4cd34398a650e2b5b5620f4b4693e2600310e91005db720a7b6f2b8fbb3b28a542cee58f1b2acb8c43a7607c1c0d944a0f675304995c3a761b6c5b3e2faf9af756affa32e499999236df6eb9785da4 +GCD = 1 + +A = 4c9f2babe4428ac58e191c98a91f12240f4e682b0866a21756cbb4f6c8feecf4e9e1b0a9e04b1298474c8fa4910197b81972126110b07799f70f0c589a4be7c32f1a285386eb861d23e9c2a7ac35d26d95374438aa8c26700f6673157e6fae40a5f1d48b897a5c38e1fd31d2694aa82025afa747c8f05d422fd37044fafecf22 +B = d53d378df9e232a8c2027b6a292b68621756d4a58af602ac4d9806d5611b3b2177cdd436fee7acf3becbdf733e3de229c8a0e997ea77e7be225fbe6ece7a240255bed4d6ec2035defe1f8f3f7dba416e4521b962806e9653a5d5024dabf0515f0c5723313be1447b0ae2daa3c57d56a23967b3667951f6d3531c57a9b14e0311 +GCD = 1 + +A = 36e12557c58d0f31c2b8f263daf1495ff8781663c4100e1d379bcff380e1bb0f5a7b8f846371232dabb7af0d125f55c3f17a85df6c667274eb03268c3e2d8e1d5630aecbe12fbd5263f4a05a577c73914de8b54b38cfc03b3a252c7475982851a8989e2fe13250df59b0d085482f9788ffe0061468ee752cebc0ab024f4efce8 +B = -369c2c45787d4761f5c1eed121292f1a36f591fbdc44259002413a81b21da3b75c7505f61ebd061a0ec70bc21cdb18fac7e9262f48b94cbf34c6f9cde2a49dcbf31b2925dadfd688bb990d5b38e5d8c21eeccdd46f94ec82e2ab51fe053f829ab682a6a81eddb2a1bcfba0da8e052954e5757bb20f1959f614cbfffc2e0a0408 +GCD = 8 + +A = f9de4ff75601ed4403ef42683bf28b12ef9580b0d17a26be539856cce68d65157ecc1bacac58c0f56902adf8cfc8bb123a4c8d9b9842ecfd42219794127d2d225e26c6b7c1ea6449bffc1f04657fb7ae89110d2c735c416790aa0a1c79b2ec082570111a52675df471c92ca246667a024d94946b564f3e6d5ab26a315bbdacb +B = -21c901305699f787c2a1cd350b48a6af69e00203be480abcda412b0f04ec7a0d8e3033a5c3a06fe4a84c98f285685340cc3994d7de0e2988cef9a3107b322590af11b6b195846759f84216f74fa7d4f4e4b24862e390d6c79decfd14bbd20a4a7a4f0be8086abf23b5c9693274ce1ba5f21d8492b2a41bab277ffa0bc64a8d45 +GCD = 1 + +A = c609b314fe68253016b123ecf683ddd1d2b7ce7f74cf94d55a352c87a14af98ba45ff8b7facaeacf46f4553cc2cb1cf6df4994d71ad8cfb42aecd8f4c39ab63f1eb9f902fcb5a3c06842595fd29908c517384377717cb9d2ef5634784d56cd45793a79675a5bbe7488b948e6b23c68e4b4d64d5ee42d62924cab5e3bf2ed8f63 +B = -b994ffcdb10fe09f1016a6fd3f01fc95a67d7b6f0d4912e0a13d83fcdefe7eb09f595ef412ec27a51bc31162e7d7895a4fb2df0678623d41e8bcfd48af11a0826c550994ed5bf99a98906e2e5122167ca81437ee1adad8fc39e788e5f1e235bf4b8bb339bb734db649469708b664aa1ad23b695d5c2fb3c653a75e0741ad0a9c +GCD = 1 + +A = -622458091a88b3cda0d712b9467753d67cc73893539188e5b70f139b0efd7b0576d2dcd432d79ca7807949de70e7845d35207b9316fa88feb97bf46068101dbf376b8dad46250f81227ff1162536d92e5dd7a24190cb9ffaf75bfaef468a329d003ec7b5a3df084dcbdfd043a782fbc5e6f524151968c645cd391adeacb4bce4 +B = 90ac0c595156d0efc2065153c04c36973ea281c937b9f07a365458996f6140125721cfa4d110a99665a19462718dd5aab8352732df3b3b1ea12f037512047a255c5478a7442313e1d1bee1a8a51b8123d8bce2e3d24af7c6b036e4bae872e983ae32c6ee555240cdcbe1b0de332f27785775e9e2707aad1e92b8ac8e0b09f7ef +GCD = 1 + +A = cfdf67331ceab5929d01231db019db73e4a8c8eaa74e8c238286ec9011a26fd94412493d45916692cf4da5a0af56c32892981ba8ff3a9cb982d3bc18b9b21d8a24a96089272bffb23663b5953ca213f2d6b1709ed875ece09a3e8f93fd3052b5c6cbc1f4750beeccba88b645348b6ba9ddec1850f1678e898bbb8c5568eec514 +B = 65c0ed69d499f9dd0526fb1651d0d0a5f6b034c6a0521b4cc855c1dc1b0901c9ef0308c44309c98b61a6a6ffc1e5c2709ab96a9046fa706a23fc55ce5c7bf26f11f31d40ef2be41e05d126d47a005e22c5689619da6676ebb5ace6256f84c3c8705812d91c3bfcaad090e2dda61f0e313697e8ca980663ed4f3db12e347307c9 +GCD = 1 + +A = -446cd6ae72eb4ec610628fe06f993006505a5fd55cb9b3d03220c3dfc787c58497b54d7d67853355f937cd007b60b0db9e29d9b7437bf40f9f2dea504acaaf59081df03e06aa8ccf4dc96bcb8e1b7d9a02dbeaa242231f3ec2398f00ec939e50ca1f7a49327359b38fd9753ab128afb89024d2e7458ddd756ca1ca3c7c2c157d +B = 702c4ddd30f22b192700493d415e840ed084e4eea8b06d9f030a3a13dc826930fa149456c2a07a3045e9e6adbbed5481fec5f69048778552ad8634b4c7695f1566cccb00a87bcb9c37d3262fabe85c4b4b08617c8b3c197e8284cf5b9d1b2b31469c58e5ce627c971125721113a4458bc88b8f722aaba7e1c4468fee55f66223 +GCD = 1 + +A = -f25b9adeabc18c00087c3d9ac1ba29bd9f456179f19439abc6b79dc6d4e7bf0099228bd6528102d58f422dd9cec38a53efddf947c65b9f1082f755c9885a5ff3cc51fb3ef01d324720f322925dc486096a436d183937ec796e6ffdf06ae8dab810d2a6ab82f22ecc3eff597abbbbf0f2c85eb6da4f19ae0f97fe79848ac9b1c4 +B = -c26ab8e23136c8472c223085b77d96e069509be8c46b6ea1d280c8dc149d5bf53403661a3fc62a26282299a6a95de99620346831d3708b9e54ac4516a3bbb7ee63120eabe34ac22a2e021bef9affb3fdbb0bad54ce4758a72f861fcc8e6dd76678bc1e065e486540060f45fd7421d20afcb773ee60be274f4799f15d2ffb17f5 +GCD = 1 + +A = 9f86c812fba442b45835c1917d6d016fd1f2e42f99ac6247710062e7fb518f3b934ae53194056e2f96d5c6ef7743c018edd670fb8197075da89acd24fff142abf3dd7ed108a2b313fc256b92d0d70097523e2b04e9a5e0973eb47577b38f00435e959370ad27c606996810c342236541beec7fec87c4c223f911ee5cb17e7ad5 +B = -ecb9187dc6b65835da358c0c754038f01e8ce809c97a4abeddebd64140701efc49cb28d15ff12bb9a600e5ec53a1c6e0c60f19053199cb13735ea89d70d07bfb2a3b8b7e02276fa3d47128640bb8587194aa561202c2cf42dc1786c5e01eaae83f528ef05646fc2fffe3d6441c52685fb5b28ad3a2a7e4510249e48ac217fac +GCD = 1 + +A = 41a2b641be79fa1b0151e2e53fe9f6d8e5fd639560469ae5ebcbe99d03503e39373d9268d66bd409f8e2c11273a01b21845f62a2c9868580ae6c438ff652af751c3c566ee81b68f04c59596739e379314c2cda2301c750305d475bfc3f53d3eee42ec44ad5c379e07f78ba6a51bed45046e6c41948640777d6fff0dc0c28385d +B = 8f587b1ed591f3ac3b933e9b3f9075179ed0ac2b03b68453f9c4b1609accf1c5fafc1e8f557b8ee2fe22b448e84383a827c543c9bc797be1be63f12e010dd920e51ea90c9a4e37052b4323d3e3359e7e9389e6ddea8d473d56a43a4cc35ac271f194f433532ba2224fffefefebb0d119b51d5edb1e0c9cd9aff638fff1cfc1c2 +GCD = 3 + +A = 293e308448427a12bc1772677114178effcfd956bb5d1ba9b922ee4c2ceb16b288530f590a0c33bdf25f4f6cd1a248a036416ebabfe9308b3dac099ff08bf69c0cb0e605c2550ce22739cd9982ba2d0ec3e130f9ae8fd58cc51ce22eead7307b7e3893769d6d5d39613cbd93a9681c3c75996400a1a92d7342e0fa36aa25c155 +B = 48bb591fe3a0c1fd8a0c59cdaf40002ff1d6c4656231572f9db0d98ecbf188633f8a71e0f74080b8dd77c87682f1052f801ff7cadf96565592eeb5bb7ae2c0886d7c2d66076a3ec1188e0bc4c432d5455ea96a6f594a696f0ebc653996832d7026e20c8823586283c6e653a93331015ec30adb729d370abca86476046d022f32 +GCD = 1 + +A = ce29b2c76a641325a6af0cfaf93c18aabb3d474492cb11f2e05f0d22d84d794743ed6c6ca849740d17fe860db021bc75912a2449a8ce05d547bdf9a28d00dd5ef51cd529137a6f01ca8df3a09c4a3051b189b953a47fed4144c0361748ebdecba64e9e2503810ac8b67b919255d335bab5774d0ab9c0fe9410d43ca50f7e2c1a +B = 4c3838c0b0163aaecccb2c3da074706220251492da156e040be2582a4824f389b5c6f04a326171e751aa52e9b594b6e6c4a75d919fcba7d540f96d7829302ddaf1bbe7c88715ecbf1db69fb78fe83795925fb9cd9b33e0102427d11cf701aab0ea634e4bef64d3fb09163dbfb60758967b5bf8526248db8409a64cbc180b3f24 +GCD = 2 + +A = e3db115dc52436e29742b36bedf792a49e109027656d5f4f91907ae46e733af311c55955d1d11f3a84652cc924914438fe264b7cbc0b59b578abb22133d1b04b7245d9759b7053f8bdcc88c153101257b48c82b80e142460bef44c53468d01c7ab5aecf858cadc260a86798f52c3e6124e15d174060effec8378a9d0919d4195 +B = -a29270d84dce9c86f3e984b9cc64a4b2f9a81b730e096213aa9bcab5c860a11bcc6dd9d5b704b66216f6d2b592923bd3e2a38e45343f056c454691bad5cac60567988a06b37b1c2d0a13c7499d6ba06d35d55dfc55b10f7a57f5c4454084f615a9efbcf50d4f0168594ea1611fa4743507ab74c2790e3e93ae7f241c9e4dfac6 +GCD = 1 + +A = 68705aca194a1c14067ff1e7edfca3bab113a9010d0d8e160099158059939e2eeaa219f854c20bd7616678be2d8bc823a8e76d411e02d3a19ad73c4f573f7146edfe86198ede377a77dc2ce409cb13fe8579b9576e83d7a2b36aed2acdc6ebbe8b298863c07e715c2b1a08fd8ccaea9996408214e59d751cd3d5be6151e8de86 +B = a335c8f59a8de3e76d3069a12393e7265ce88906595022395aef8c95aa5c376395affe55dfbca98e486c4a076715d971bc1407fb3bd66ca7b17a85a4e9a576ee0b3e0b1e21eeee1075ef98d8c9f02aae5cd2710e4f9c6b34f356b4cdec3079defcefb9b959154af09cd084eca6747f71c27ef620df564e53d4979658dd467daa +GCD = 2 + +A = ef3db775502b10227df44494c88a3bc0a16cddbc3cb9cedfcf803b327ce6f1885f2baa253d8e2fd2e2e0d19a1c66aafcbc8d9cb6be72d2669e9ea6f15290336bba5e907d5a21c429bdd9b71321989ebbc3e69241afa842fed3999bdd8801a6970c2cf88461d2f26245864fe8efe07f6df8eae87896e06d82daf1264fe86c30 +B = -7e7d5236ff38b82b0d9daa6bb46f3734eb89420a1dad401d2f827eb617f6b1df22f8130631b27301c3b5d368f36a4011127b49b36d2c6f40761de4c48ebaa8e3cb31e418b8d8f4641bb74dc970addd1d915ba8b5b590c4689ee50a17ee854089135a30b61aefe55b2cda7832ff4db48faa526db20ee33f4e446e8250984cec58 +GCD = 8 + +A = 8e20eb25451d35c3df5b9fd6b02f5cfbc354c4a9f3fc497daa9b13f99bbf710fac1fd0190ba8970dc527f12de3471eeedc6fe09768ce1f8aebc7db6af9a602219b466416e5332b224813d7c98f9ec93061a1b1068fc539c99f0f7053f56e5e518e17ea72069bbf9d45433e7c3f1d36bc51e9c75ed82c547f8ef25f4cea427256 +B = 8ea1a51d0b934fd8eafc5c8c086fd063cf535508897a58502b094eeb0dcfc1f1e2fb441c77ef5110a68e1ef7d439f862be2cbc9f34c05d4ffeccd0276915bceef3bd7939a8fcf170b4769797d4f0f0cdb59667b3831e3769fc1546d17c5e40865af2db0267b3c4459469bac401be53a66432104f944bc45aca942837fcd96a79 +GCD = 1 + +A = -88415b7af7366fc9276af133f99664f53c1d3148f76f383ef26ceeeed5cbe2af67fd4585bbb4a50fa2d300306273dfb0d286e089dbe594114729ff3b8c882584a3aac44c574de29aefd99bb55b51a6564054cd17f3d3cff5986b6d3371c09272a346feb83abf175169e9b6037f1d73985d67cbace64047fb022bd3dc1c0286e +B = 3714e6ba7c0f40e3e0f6094a7c6249a348b6e7136e62b5628c5836b3ac992537b32107b3e030c35f58c1a26f18e4162649086f964cca81d86b285dba0c0589218c6bd4b146ae39a2e0a13b13c9ac6398864d773793c17c7da79af99f0bf041316fa52bf144bd1b2ac05d5d10361a26e958894c5993434980793fe8a3c2711177 +GCD = 1 + +A = -8838d92feb6e074703bf74e06da5d8126e8825829ca69f2dd6ee927aff1dc4e5bfcda527cd5580b70f93d4941b072a982e7c8d82cbe7cd835d251b4a933389ceb23488d0701309e461047532b1be5582e3452e9fc9f1dc13fa524cca55a07475c7f066460b1d15ffc460b1d05e9369a3c58441c47e3e6410a45d784bc50a2d25 +B = d60720d0064eefb830e29068116dc7a7998d1b4994fd8263ba71038f20bc0833e4fb84e910ab5038d0028a1047b5f52862f3a68285638555e5a832ea452332f59af9a65f4c23a708957a971ba99213c02c68d49c93d359a172ba322991a96644fa3a565864efb6f918f58ea9274bd7c323197c4b1f42534b2a463a713dc3e30d +GCD = 1 + +A = -7ec8fbb84c65f5984f09336f539ac478469007c2adad8298fc2ec0ab01e666a1fd16fd8ecfa4c5b599a814124c9101bb399bd4fa8e79c43ad6f4b03275610e7742eae7a84f4307b90fdf8e07d8b66dcce539363d290ae6108127e1e2edf3ab7363785b7c6302a97ab7e3cb4b9f8f238a876138aec4ee85d28323f0a5ed569895 +B = cab41f81103882d4fca8d8fd1fde614714a75f6679709e0d40a1d4c91457b1d5ca423b683497a40d1a34575bfb5d9693e6d6cd12d1a4c318a7bf5c74536afa8579851868b0e6fca83490b51510c7c34f67444a0ddfaebe17f0e71d0ac81a62b540ae92732217f00328398b998caae43d814bc96890ea34ccbfb08e01871af032 +GCD = 1 + +A = -c53b352d778e0d58b7ddb5078252c63a1b00102aefb8747616cc4ea2ce7f251a2a462c19a27c4e4c22e3c8201b4ab47a134b2522fe1e8a74875218a8e00d3ab7b01184fd28d8303ec91e00ce4ca5eb2f53f92624f755d5af462ea78f22929326fc2e256355a04628593fdaaedbf3d4d37dbde52402d069e82321e35c7d207a9e +B = -17e17759929d0c4cb6340adf3366c3a3428869030a30aa7ac0e6d9fccf28db759802e428e306ace4650ca7b3b852f57c76f8141f0d613da42854380307c740ef45c349efab065b1dc242542549d563228c96bae39f9b9740a552488cd5e5c0e97791e803fbbf5ae0311b69080b3e1dd5cb4746ffe88a56428f932edbf6d65000 +GCD = 2 + +A = -fad714585a9eaafaa41673c097fefc2be2a86023a4cf0b9434f04b162e3483940ba51c6dfcebb20c8297b40747ca43a6812ef6d5cfa1f25babb2d70be10fce00c96f2104e196ff17b4323677ad68b1e3b6c2c48862c1d847055a875bae92a2e5048ac7fcb6b541e2ed7ce445933637361b07f56476c7b678ea89e584122d89cd +B = f08499f81ebdd02ce09ad4017a8a812c45fc90740beb4554001ac94f26fb16d29fd480181b5c56ccff243641404c214c21a9e40e6bb8f0e772b510c35ea6643cc1e4743929d8c31337530f10e75e2574c951479b0dbd3b14c74b335ee52a5c95edacf7e2e66b31972e4390b5bd024ea1364042f587f67e33718bc382dcf2c272 +GCD = 1 + +A = -9002d61ef0fce955f86b86ea536c9c229f231982066870ac4aa5ff171ccba06c348f0a69a2664a77c15aee435cf9f68d9739e05b2361621b554b5776ba27b318d1aa08e74d0e37215a7f5b41e087dc829159a4e981ef24c9c840e964467fdb377137161edaa973016f5065a63406eacc8005f597e5682a6c992ff5182f88e00b +B = -c346d1060e6565759884b97667c721eedc9f9ab33dfbbd0786ef718975d018036491c39437c4fd118106afeed1e71120130f36b88f3b3617965101cc4135edeb5889471de4534a5ea6cee903c0c15cd05075a6afba6d9c32e35a64beb8a6e71edd2191a8ac3ca2d3c5bc3052cdb3cf100ed0d204b1ec6b96ee2eee332977ee13 +GCD = 1 + +A = -af58d877f64be3057544f5b0776f607fea0e7c70bff5e6a6dc50ab74eeb9e5d1633ba8223bf0f736d648414bf79ff88602179d0485a0393e61c861024d68bc4199cbfc4d8606171007694a5ab143d437596afc7e0acee003572894ab5c001c97e8875304d1091ad3caa6e6972d19aea9f56513f094884dbdb66c78c087e5623e +B = c755d5bf3bfa7a76018b546a6f6e0a5362e814a24ac1bb357cafa4a755af652a8501dd32da6e4b9094c332597d9b7c4645fe611fff3603af09b8f46fd1333f499f2005227f50421c0522b1f8740db2c99981d2074da45da96df90abefbe8352dab79f16c6517b3b91fa2e1cddb2724fc9a5725b4b1f9180b2d4cc5699e84ef28 +GCD = 2 + +A = a7a1384cd960e5b6bf2c38a1426f29dc375d71679a47a82c24ea9273019d0703c36578c278db2589338187603a7223ce88a66c255dbda01182eac3ef822db7753442ce6bb9850e3fadc1e56c6ca8d4088df110a8c265ede7ff1905ef67ea22179accba4415bc767d84bc6c698b570301170e30f34e3e05a96b9d08bb586756bb +B = 3de72605eb4cdc5661296da8ad8c2b01cca8501ce27e88f79d3f1c167750232e67d96071ff87d22f3271e8322c25dc13075d17512646cf47a052a65fa23cab88e979a913c5da3a18f4c271c9a36704396a523366747f4ec19700b19ba0d93dbfcdac07c861c264aa6ef86dd4ec52959781cdcd49ab9eda5bebfad52797b6cb03 +GCD = 1 + +A = 5a6b2996b36728bb3ddd2434b437221563431b8bbe8064edd928fb7bb3e8801289f9cc6eb21a29f93e60b60d230eaea10a779a29d0012778f3062a2cf7e784f3a90335baf280ca5b7bf13b79bdd9af79b7406aa3d6e67ada7acaae7e368436be287dbba7c836997311d9dcc299d50ee7d5ed7079c81629f5de94b658ae201d66 +B = -a2ee1abb1f1afbb77a5221bd2b9e40a673d4af94c8645ee93040d5d8c22bbcb706fe2ac8f93f3a9e4023b1efa3e042f45dfb66a3b870093b758f420f098f4d30cb3dc3d9a0eb0b5a3be94806bf67f6be765ea942d7e7cb81d9006701bd7df79e150380eedefcf64a288764c520746e3c551aa330b7728d38ced63405f45f9d5a +GCD = a + +A = 56c31f5c365fa85f77425798ec6dec5427cb977810132bc981ac7850e6beb92155db0d1cec9310de3595839b38fc0110e4fffd893491940cd5c97b27f5c4fc74395f41f16f3c253e5a1e16a1afafc830afff0dcc32ad5fb6e7d9839289b84a52e83abd1f0059a24f3384095639779bdfb43f8fb07e00677681e8da7b1f4069cb +B = -1fced12e2dc5d274a643fc6564f8519d0660319f233b11217a0e4afa3defd37ace2c52366cb54157e22ad90baadf3f7816c27fa5bc64fc8488ddb0a6094e2cbaaa33d1042732240bc16ed1f52c0cbed980833c0bf3a17a23c40cdba93cdbeeb3de5408bd5ca83fdbe429dda40ac400a773099f5c23b557396df242b108755393 +GCD = 3 + +A = -6449a272693920f5f5314a1dcd4f5024d563ddcba9b0c6792b5fa9af022531fab83ccd53f84e051407b916dfe63d14d886fdf2b678cf0b3cdb1842a4add6d3f3e5b4778242552b1f56835837023889376f8408bd5c5253a2179d6c6baab9a20a7dafc4984d866554527ff759dd07a7b43dbea15710af4395c55a3fe8eb50defb +B = 8f5428adff69f073b36fdc029c97235139ff73165ca54ecdb64e5ce0b184928820280efc568a58027af679816e0b76ba3b2994048ef41f85f067b3274ba53aab9bb832ad6c2a5e9e9cc9f38451f2652047a3160f2d058f24e9534589d8854a1b5a69d05abd7aec914ca8a840ce50e83e3436b983ab9417c7bbdd91e0f8f53a1f +GCD = 1 + +A = 56769910f83bbbcc7d1b084886925ab19de23bea05ef03a6df1e5bde64f636f71f379b51d5bb550466bafa2141c60c28e3030334b66bdf36e10e7b04ad4941bdcaee06832cc3cf29bd4e1ac3e1b4d3e6f90861dbd692ab90ed6bea34eace1e288a157bb7f7bacf16a28e65de0b2155593d5cb249315e391fcbf03c0e5e0255e9 +B = -f3f2a9e3e20f3685a5c0498e90e0bcf8f6d21f9f0770b389e4a0aeb6884233f8608f0e1e89b5f88ca5bf82eb3fa2905d41fd7b2e77b8a14794230fe5503544f72b34836786aae1093806575c9815d3bf48b156a32c1f4133c7af111d6a8aa6a82d0af3c1d8812ef95784c739ada1d3817cf455572c6bf97ea4156eaaa91abe7f +GCD = 1 + +A = 597f0f07fb775416fd2ac373adc1f535a73e683592209c5730c552e4245b1014bfd57aec664c3615aee83322da08157a8b9844bbf1febabdb641609c9ec30e75886d8d35cddee470dd11c2d28cac824a9a4afe67cd70b447d79bafc72e9f3d03e16e8a4a79d1f64f03afc76d18a7ab311d84fb39f9f8eefc01341c7bccded8d8 +B = -b8f58a904eeca1290ba928fec61954d25d74b6085a2579f0f28db13b8da45b5f47e97dfb945be9ac7abfc16ac840193e1246dd8b336846687ac160cb8fee0bb5be52b08560ef17d0ec60830ecfc6612267523a21e63920ace919f157057f8a818c7998bec96fd23def2b7eb7a3306fa05491cedda916048b9f6f6a8e9b8b49b8 +GCD = 8 + +A = -4e4ed189f9fa439ab2ba8aebecf8686fa3ecd3363299be220f768324da1da45bd4b546b332819d7e737c6ccb2ae67b62aab35a7b51951ccca610c5e500ba82d71e4c27e8889c14a2027ca435fb2d659816ef1b14d825640e2883bf4042651b64a9ab52dbfc1b1e4e9c2245592509a704af25548441c58c6ac1215e374b751554 +B = -6913ac48a89202c3cbe2c8b49a8111f647c94027131e9afdc6a89e7eda92277a48a9b3e54ce84e9e960974bd6fdd56e975d4ad6929bd2ac6f5d2f940ba386601bf4396c6518592793626eba7bbd69c750b62066ba24c14791482cd85585b3dd6cff05fb886812a6ad04a885648b84a7bc797c037c3bff824ae70ee549da439c3 +GCD = 1 + +A = d30a756c61c77555743af4495300e4e6d238fd301120d90d56f51f35ec9b8b8d1011e73697147706cb1889f08e967addc7a5f413354d5dcdd687637b05e2fefbc702f4b845981a32102613cbce1eaf8c9436698cccdc0196f7a96f10fd16720e0b74fe0eee502306e853f390947ddca4bed09ee113a71c3a24b9b5214a5cfd8 +B = f63b6015c911a67e83cf82240382f0e2d0a256963a272cb660223b21ee2e7df5d01996891703f28621e174d46bb8555716696d077b276245eb794fd74c828f5e36a15aa531ad3277ba431bbe8407df764b84dc49570126769a273793c8767552d599058b267ce84b66ec253d7858f6cdbf9e370ad6705b58f1bb4959a684cebd +GCD = 1 + +A = -c15c041370465e4a08caccb78b8b41d0f43d5733db1353b9731498b585fd7bea844bd554200299e188397527589cf0698eff4d2c51c9c317475f8b46e8604ac265cd602af23127698b8140e57698642e18ecc1920ca29a94a9ccd6bc3ce51a3c91c88af16bdfaba141b65e04389018e64636a4dc2b15cc7f338025d76dd87139 +B = e5f7b0c94ab73465ab4cf4c44e5cee16d385b4a1d59aa56f5242c84e5dcd6930d82bcbf187c72914cf60f825e34e59f57769eb706c6ff8e6e2f054fdc28e0d37c4fe7b1fa7b30458fe9ef0667af0a4041771cdd39310c1db2b79bb05bb448a369393fea7aaa05d304d6fb0bdaba6452a32e4a2c37009bc1b7f6a39f5e81c594b +GCD = 1 + +A = -651387ccbeeaddebf4aeb2738580b7cd0b7ffc6327b892bf8eb18b7a5ef497add11e39d77c06bc58164eff68f1490d0cc86c1704688841d3ee317c3a0d4e2f620a15d03b0dbe2f0c72a685e318a2f65a82ecec37982d45a69ffaa3b88efa3ab9069af410c16c051448c91c70b7d51e0411ecdf8ed61cda37aa73228400c4ca57 +B = -a46a61c66f1bfda295bc7532d738c34f2c036693c36cc5abc78b5a995ef3ab607e3567175b267e9df3da7498ccde152d260b4843dbaee33f801913f4c1e4b3e11b26885f07c8e979036ee114a9891764121bb7ac16ab430ec69c90acb02ade4f1268e5a2d9153671d73b7a85288a2128cd996f271eb0c797c7177a694d263a9c +GCD = 1 + +A = -8f8f2796f50c933d285b375902daef82016b3ff9026f7f29f8bab182e389d596c50f1ea4dbc81b3c8e1628c22fa14dd05ddbf01c423e4c4316e8df7950789ef689bbc07df303261f615b6e14439e767f36c0b03532ce0d434ba3c8c710f1d82ed640fc29e12a81c9e296d820e8e15939578021ed764e63461c11d36a5ef95d06 +B = f580460776c0734ce1235fe588e6cbfbaf02796c168bae6123a3949635e7921225951a44edd7dc7bdb03b5b58cbcf09e13ecf551a8e8c9adc861907a141741c345001a1fc426c4bb44fb2eed20fc7a9fe4df89b0e4c6c243574295abea72418b3e355ead386d0a879c402ea9c9de436558ef19c0df933f5f144864a3cdc236a +GCD = 2 + +A = 537ad39fc0c1910ed2a9986119aafe18d391fcfe045b90c45332c28eb8e32e7208c7e7531878455070a4e127bc97c5a1cd849e419f26387436306ce27331e9537253672bf1b66c171946008ed4b263da308343376842f0162bc728143c9aa4768dc89d3fc9b966a5bf44ff5b3638913d8ad299dbd65e7b64c8803b07f00c8ef7 +B = -cdfc498c772846431e47ad9ada196bfdcdf9d3c13ff1f45dd5dccc22d99d66d7dd2641db228c8c0e9ae4c8a2746c7de8e2b54031cfa49e3f8f267e992f4daa9b9134a2f59a2bfb3833a37df0771e7f842f16c651674772474193ccc190cf5c43d966b6628d0b1bbf18b1ff7e7ffe43fd3acf5a89a9192b3407fbbd7d42e47977 +GCD = 1 + +A = 8231d42ab0bedba1be0dbe324687887f5315da824a1a305544e96f79386fb2ff2d5ada46cee48a3a807bb0694d560cbef9075b0bd100b425105c6806d4edce46245f665f4b10296d7cdf050d1b0d72c3c78b0342ff65e83d7f5ea009e2e0ee2e6435589157ea7b20e3b06e56403dfc01252fc96781b3adbb2945a0b8c8ad9f53 +B = -9daf6408da191228588b602f6415023d2c87bda4c0ada5d2c4ea6becbe1821b32c47c30a572de5e8062db0ab79353773c2653acacf11fbae6208cab76b32b617a03698bbd5e5507efff99b45c92b0b0a7d711b33c08f9f2b152728ee9923b66a66e975ccbf1f7e47cabdc6fa2a0c9b4586b5d7f1d637bbac86d3c77ffa026b20 +GCD = 17 + +A = -e4f6d805ce00095e90efa2be79ec696ebb3d96571ace17d324bd40df2000613850fe7d84ade95554011d20c5bd68005829a424c8cacba19a95c103f418a3e591fbd2373b27c4b4d783dae73e49c5ab9cdaebe4cae03d59312be770f1194f20471e7a827f0f2b6ad3b58745fe028a4b07bda1baf921543a0d42eef5e12d9a9451 +B = -a3e22d08c1376041d77aaa96e13f7b3c0d56ca03f31fcb8ffc1488fbb0fbec1df6aa037f4ab38f4c0e9f5cff9b03e26960c59d4a129a3fe6e843930ddfed306bc682bd3aa339772796af03f4ced712f3e2cee42014400d9ae489bff652ed17fba4bfbf8ce878844f53ed0b2ddb8bca0b65e430cf8c56986e894daeda72413392 +GCD = 1 + +A = fae2388a30cad3c7e3b8a62dabb36b368c9f17cd435c382eba3f67aa099f09e2e57beaebde41076f92edc26deba0fc29cacf23b1281c2022f8827029d5f49588ca023c681f59e46d81cf29173eab78f379a8039292900444fbc7053b91cbe261cede83899b644256f44b2ff67fc94347f997be18d22be4505977bf71609d8c99 +B = 6c693c8fde5c8db701685ff0c4432efdec803fbbb092d2b3fafecde614754433a79b24d2176f69b31f04cb8a732137663bbaeeaa1f7907d5d838643fa7d257f3e801565cc90bb4aa9dfb17434f06f66972b04695e51c759a494bb91de0310621bd8ee22843b0d7598afbeef526c3cab503a059b727cd8e73eb5ae1a0efb13fe6 +GCD = 1 + +A = -cab880fd1d9a277033a0b75d7f622e39a97b02cb21187ceadf0a1182e803d5480d00b991507ed14a67ed29a6d9846df8bb8f9a810f47364a84f8ba0775b7989dae071765ce68630bbfe15ebe0a9f0943ff799b31813c5876c3b6326a9cfc0facb79ea744468545c64d8e69ad40314d6145300c1a0ed7e31752d210b3aa3ed96a +B = 6a5ae64e8ebce1565aa6b1f5b7552bfc57f546a5b7e30455affd28937f0ef1df1d033acb141db66b1e3b9bb11fadc685066c5bc08477a259246821e2ca3c3c91477dc251076267c4b34b48cf92d7dfe527f353471b97c81dcdd9a5e8b1f96f0fea1b5c64bbf2f81aafd249707c1253dca6f9ce585b2a7f7ab4dd537c5be3fa5 +GCD = 1 + +A = -847868c03353406e954996143fb4bcbfc316b0d0228f91c6672ce59ffbc924d9cd10e657cbc1ac96f2533fb916a17d94d03b921dbf5266e8f8ed5c83c6fb9088ab84e0d09e35a59987e7718722c360d6cec26fa5067828237f03bdcbfe1be1aadf5877d646bbce112c4c57a7a26abd66e8239a83800a6b56042da5ee3333b7bb +B = 88d24a64f3cab2699b3e3f436d0aacf75ef5efc3cc469897e4a9ce779c68510fa5f84bf452a2c70c750ee37e7128cc28f94aa7ea4101b5db7bfe13bfb9c1d477ced4791056746aefaa30b4c93bb732c95572a0295d5b6c69afb500e0e1e2706c16b400cf963ea5998c8a825cc8905d63977b90432266030377fffd5750dfbc25 +GCD = 1 + +A = -797ad41029e0da0f2ea54eb949b477878104f2d2c49e0b9326d39f25e9c7b4dbfa060573d67d355fdc46a9cf9d0a3c219939d8d241e7fe2b73cb2b31b8db3371767e67e333ce388620aaac2cb0ff5fe6cdd4b213d44ca6060e7713334cd833371e33e431c00ea3c4fb2217508d56698cde1766a21d5210c18a4b9929127ff1c3 +B = -ac6a8d9f8d3ec2ee29a66ec531dad42fc625fb91344ef5d2d4a289ebd3016d7da5cf1b3dce9124b9dd5e94d89d38ca1132c02cff9b6ed690d5979103154ea7d86ed9a361dda3b069f4a09130657d0a12e1fdda3f269945c9e9c511ec3b51edf1e65e38a9fa726af1b8a003f94978f5e1e7f905138b122f544766a3c4c5a74ab5 +GCD = 7 + +A = -4fdfe88d116580526027975ff76568db661ccd5584927a22d120f845683eda279f7f06b24c62c7a3e1707bc67187619e444e0a9551c76e31de27c6d304a3f5dd55c092845b4e2542e54c40af56dd94affc2a3ac70eec42f7e76d44e9b6b1ff7842f7510087fc6b48ad66a5820524f362c44d91c4ebad2a41c5537c64cd9d575f +B = -e11927492b6d39e92b1d90eeeeab66bd40437d6edace4be32cab78dd0bd42d77ddfa7a3a8f05e46aeec245b91131dc553256396579144fa5ecfa78c1e3ecfbd6ecaaaa40a912aa6fd7115f2517d7288788655c7913c7bcdb943a4a53939b1206611398eb6c359f60d0cda4aa2281401152622b98b2a8c1c506684c06f5d9109a +GCD = 3 + +A = -ad9a4a185754428770f6fb5f19daa979ff4ab1c0b2a04742cbdf2cea4be6a8ab7cf9205c461753f0e56bec314ff41eb6e681e56647a486fcf4d23e6140d5b841d5c62fa329d32b71b48a9fb558a180972a4de7be4f3ba83dc9c8649602c5529e3e3d46703092bc9a84d21ec0af7463b87d343651a63e4a34e63889fa7faac6a7 +B = -d76d738de8b47601e139667b36b52e40b425fe45cf28baa2156e8c93e8416d1425c99607efe2e97ac3a55431a1e3e611bec103f81983712e506dc33b65b9c101d3e662a32acb15ab5c421e1b8d2ae9fb81c4ef834d0d3dd53537a72e3ea94c3d70ab496fce31555077152960006e688771730aabd49e1891fa1a7abaf265721d +GCD = 1 + +A = ac83070c4d50c5bc45fb5511030770c99937f52f690b1c49871fbbeb71f31a4d0ae2ad43f1c7881a9472338d66c074875a2a2de4558a97f177da656a971c2968473c94b9f3299a7f4bf0de3b25e1cfe2a77a6cff91db65c98191027b59981a9d28408721f2fbff06e4023824ac5633db748049e52293f5cf91c2334b710eb7b0 +B = b1dafddfcd515fc86b29f138ba67f7370e729bbdab2c7c376a00ca9a8025c75e686f9cc6d5bad85ed6e9fefc670a5d48cb8f974d61f86ceecfc2fcd1ab4e1f96c74448541f8a59166c16b94df5a0b70b91c924ba587b71feead48ade625a5bbba996cdf326a2447d0dacf78bb273740e29aa230876c07ced7d9bc26fd51a955f +GCD = 1 + +A = ae247d4192f3a4b8b47a16d3864c2fbe49c5e7649ae2a184ac07726d85e0655860901200851bc38896ac68fae2f458dd407418b1382ff6c54fde4ffc25d52c7e0aed16140ab5bbac4ee3c098900d2f844a5fe5f14cc011f275701804d4ed65aff3adfb0e94f1c4b6154a4c3fb6003446b7a86ef71e196a6516cf05a93f195f77 +B = 5f0115ff2a4e71e3d6e78fcc7811e3e45f645cdcce2d384529f9e61397f527ccb17372f38881b485480de01091f9fcd2c552f9eef9b0880d7ec6357b4c1deaa40de9d501a0901e7f7165bd1b207d684f7873ad500aedfada464b2a8a3fc06e24c857e1ab41829274138c98fc28575b2f8270bc8f6145441e80d6f0d0c6637859 +GCD = 1 + +A = -1c07bcdf9d2c645b8898d9304d9d0fed8289ad52ac993811218755cd2046dd374530588e8d89941e069cea4bafa695bc97c72029f6a8656ac164f26a42fcfe267e73cbd377a54cb97a716680374cdf3ffe246b4019f33784aea178c05d3e767a68572e8eed84fef6a6bdd3489ed542b25beae08b95380e5aa885b3c59829acb0 +B = -dbdcef7539b68c55b20fb50689c2aadb202b77b70597f14c4e21e24d79ca682c3ed0e1a7b3afea0edd6720deab786da11ab0f24e0402b1e3ee0261ca92ee3224affee837f60b8c95a5103cac40cc5fc6865a17804aefb3c89d403459f113f118857067b0d3a9df0a69780b3223178ec30f8963906b7941ecb515dcfb97e8826e +GCD = 2 + +A = -baddda78c2d2ba19eb82a3850eab8913085b31582a2832249eb6c287362e4c1a47793a03d879d479461f334ba3ae521530d493e0f3a47cff732178bac5e37b452ffa2f8376df8f82cfd3dc53e0648bbe2b7b357962712c0beffa061aed5741f8a51ff79c2275ade6b9c8f168a1f1a13c124843ec35349b9997a4fd144a030907 +B = -4636d310a5c1c442e3821a7cbba1d814a8a2ce7a97faeb79c7a540c57717b91bcb833cd72a8b5d5cfd0028baf655e3bd6315fc580841d26a1b0018d7f4121b2289979ca41b19791e867cb543bc8f9521bd4ee1b277940c9077afc1d467982e3bb03c9089611f02745199df542d5506b2d9a7131fd09685730685ba75ba695268 +GCD = 1 + +A = 46baa49c2f7728048d9f5364575b62b2f63b7b10155cd73d7c5526996760603634e50221af5eb57b8025d93771dbc180d6d1eebda2b2b0a25b9755e1c401aca364e9a1e740e3d4b4bd14fb104d450c610dfbfdb11fcc0811d80846cb3b7e19c9c63474737e971e31dd55b6d24615d0c05a51e3efccb3c2dfe36f5b9438acf967 +B = -345016d699e4a527ff4e41f7b39bc28ed4f3a0b3683ae41027ca922610df60287bd05fd7010a5a0e3fcc393e8989b4274089e506b747cdee159fd9c2de53fd892dfff8f5c30b985c980568bb0d5db08a452a510acddddc3d69f1ed094e3dfa17155817c8854a2489d6f575a002375fb09465822932664913ea1bf4b642e0ddc7 +GCD = 1 + +A = 523d9a78bb927c32264f235207e29d7cc7afbf3257c74421d1d29cd30e2868cca064ba01d256a04a2b6e36d8b9ecf8c4a08a966a9d3adf4404c3f4c780a39d539efb9699626f24fab7042aba81bb8d6a6b49ca08e0644efe3f3310e7ef582cbdffd6b33f873b9fdef3406d06278049458d2d600d47f3cbbcb909be2813f017f7 +B = -e323d7fed66a1c7067696ec71cc338c8eef4273988ca844ef32b2d699a281b795765b31c7eb9fc613567a8e369438892350a6c8dcc2c3031047edb1d09b12534099e3339a73676a225f3afb7fb9fa3f07f928abe09c01a9aa1f657226655935f30e8645c62476f75ce1f61ed3b7ccf0d1091b6e51a2b2a7ee2756a64b23b0a7a +GCD = 1 + +A = -65af147cba476771db1e57a7b371a81fe1eff3735c2beea08095e1900e23f7cb03ca9ec3482e8c09f5f82c5db5c787133df367687744e207c4e022463e474a48cd9c04a9781c1f70dfce111d2d7707b7fbf221e9dea7d873bb6ffcf53f336446ab03276e5a5e077bb61a89e3e789de2dc275dccbe56225851953a83f08d01e67 +B = 62a1cb36bd8be8f8f9158a598c93a34c1c4fd845cfc44c1c328e19260d855da650d01cc0f3ccc398fb8845ef488c588738775c1a1f7c8ab546f11e33724f590891a987d554bb6f349ac246a7d15a30157eadaae4556fa97fb038a74c0c67f0c4bb6236852838963dd1237ea5479b73a37fbba2b6baef816d3cecb75736155ee1 +GCD = 5 + +A = -d58ab10de058b1c1807e694fb50834e4120c903660155dd34ec6c6138367cc5a93755f04e611e993194fa4f400a9eaeec637a184773a4e17564979eb47f1c34888a6ff6e2b2ccfb1451e89d8b622f82c8ee28152b9bc5905ebef33aacc9d20be76205f6c301ff68ffc93b1a6ac6a27ab5011bb0b8b41060011a70d2c40704ccf +B = -db517c29a3977052e2a0cf6804ab1525f7b5fcf1edf40c1cf526756530e6c1079e594cb604e67ff387cf30098fc3c51e202c257387f19d8f1478ee9e2e9a69a50cc3361e4478fe3740cd6aaa221c8ea0f87f7252840a61e0289844d3c84f9f7a8c3c880283e8a22ad2bc2a9ae96547706b1e33c8c020e222e2707d4507ade472 +GCD = 1 + +A = -7e18b8dbca30e7dc908e2acea77629c16739d2ed248ffca6cf89b0ec29fa910eb30109e314057bb1e7c3ad4655626ab7c3d8f6e1febe092e24d0f86d78b8e2ee953f7b46be1ebc5b5c72729ae2804d73cb84f02af042dfafaaed3fb9ce280549b278557ac502d6309ddc1ca8976b90416bd785547210c78d03f62b19060858da +B = ce9b6409cce54edea5bd5c90732dff0347fbe948c75be56f4f636c5269ecd72be8fd269a1d35d0ed3f3d2d2069524f7dd24fe97f3233a2fa19d373e718896789e5423ad9043f801274e66978c2796d190e1fce24f3846711fea654326dd381314ca031bf41fe1d26ae73bc207128bcf67e380108ec09dd67c4a6b9b7a227ef08 +GCD = 26 + +A = -c19a98626ed1ad7c06df22a846d15e0de0cc5cfb5fb2034fbcc05a42f2e5fb75b8ea200ed7a797fdeb50fbac99db28328e0e9bc621f0fe1f80adeee80ecc9ccd8fab9c3e68e871373ce4d271e7b0a2e106caee1226df33fe525e7e419f07a0c003114639a955007739b7ef399f9cc95974789c0aa364653ced2bf82cb4ca55 +B = e282d29832833a086fbbe98f43f257b401ef1aef702ae69da86a16dd148c7f1ad5e9ba5cba2efe61624e4388a275bd91603d64f841f2db1e957f012f08bafb448d45990edb35e9b45a35898a056f29ae9b8df98e276d5896acc3e0170ccf56f61f28d046ce6d80337706b9bff482cf1f50af881be29ad55144c61e50f60ceaf7 +GCD = f + +A = 1ba81942b49375a5dfc0cf3bd2767b333183b0b537432b937b939f792fc73694defce7c9f45b5359a8e096e296fa5cb6806d2dfe16fd0e2c1c3017b6bb8fe1cd42768db5dffe0be6b1a4bf4b3825db1f12792ae78c38fd3356d97dd668693b29a4f8508c7d791a754dfa64aa512afffdd8cb8d39fefbe4e1aa411040ee6ae64e +B = 55699d1411df1e559260770362f47c9c717ac59fee03a4e9daac5d35bcb1d8da656b794dbc1c3adf9102d9edaa994281dcac2cb6a1feac8085c15aadfa95ffc2eee95850ef3b449ad430ba1f12eb7d2844c58a9fc40d356b2d0e85a76abc83ad7ac7360d4c4bf8575ce83a0a6efd1ed07276b04202a0e378c1952d4c05f0e9f +GCD = 1 + +A = 6b1c440daba7b4ff5842a695212129e0f22d652c4f1320afd6260c86a1fbea8d9da9b595029b5031f599fe605f6e45c8ee085be45213d93354a7a9f1063218f6eba3cc1928d4bad9c58e3b29907e3f33d859354dc35bd2052bfb1f73b388031389a1d52e0d7012fef9c16fab753b8a37a18ac0e1dada19e4a18ceeb9580d63f9 +B = -38eb0946cef6fb3501cef13845cc1e41b5b29db4d522d6e750cabaeb196b77812801ce973ae94a6226b76487f8fb4f7c73e4e4f7858eb923460604046687295a0cc829d34106acc100d88ffae5efbc957cd870426d5dc7dfa7270c6cbea6d7465b07118200ade49d25a5b73974202f28d49df55c724616b431486a8ac686e978 +GCD = 1 + +A = b7bbe000c2b7b01940c9c800c485940db7e118f9e9a8b4cd509224dff6a6109df506921c01cedf12e3a7e94d0a6ad4b26c4b2da406649bbc49733fce0cf83e9bd3ab3fbc61c05224e4fad7f9ce9faed8ed8c810ec83d20622b50e3cb25c9da8edc281037e9683c3be507cec88316229a5572e9fe51392caf8d20a3e19f513497 +B = ab3cca133393ab6f04c981f63769a99cc584b441a07cddce030ae7d8c29be2ecf438840dba17c7257c598ed9362b3a6ae6825571b6c2371e3ca9ffdb46eb0928e8aeded6724c182434e7a6b1c9e785f8d0b2379d2b065dcf520b7d039f58036a15e494011083d7716e87b87027cd06511ceff22c89aba346544d131d459ad4d1 +GCD = 1 + +A = -3a7671fb793fe4f8860dd6f1f62b2f2e3eb76782030c8ef58d1daff67b500db263b04c93434a6cef6c0c8717f7a1f0b9834d684cb5ff08827811cdd85d2dee649c6d5503dbaabd13b431c79a1da009d3f872dde56593b952b09f38b2d31ed4ae2d552b6899b88633cd25c2b786fb2946882639621f6daf947e3c0dfe962bfda4 +B = 8df16704d43d7a8cf3dfcc4990112db53f1347a0ba589bd521d57020b1e4c32acd0ab1fd5015bd17d68b98f973800f1a5af0cbecad12f3c8e94f0569f7b068843bd09da9c462c120925ab8e0f60569876e0ee4dc089c1b26a8813caec057f0cb153371497fed5fbfb88494509118d7c24b18276e7c863cbfb19e837bd28f09d5 +GCD = 1 + +A = f699efd4f6602bf7a6ad35145d8378be44215098ce9303084d153381281a2d2d01c7704eb430eedeaa9d80979f4728cbdb69aa6a39f6d82d79480260d848faa76cc3969907bf77c4b95903c67e9f3a41c8b84f3f84d1264fb7a96bd0602fb327eb1ae8b83c49468839d44516a40d6b17f8bb7b721e756dd94112199418b91db3 +B = 68ecbb6460d11e9937b1ae0622d2598c801c77b349cf27d69fd4bc56b6eb7278195ce9d4f10458dd6b23695127200372d9eaec0b86630916ed52da914070ea177ae37ac31e8cc9096495a2221a27412b75e6deac4ccfb34d8197798272b1c31a1c8f120a94b8d7f6fb746259810f74a97bd40116fc0c33b324c2b75b58450eb1 +GCD = 1 + +A = -eb2f190429e4b06cb8f0d2dfbff6c1f9070b7eae8a124aaa3fae7e5f9d7f08dad78c0c64fe6c7548b87d56c75bb77825db8ed0487825cdf526eced4454d0c643428298034e908a8d85dcf42a80c35834c153c7036aca7d7c6b56f022e976a37dbedf0112aefd5ae6db580be2ec8c81a0fe41e7d3c2201a784427374d187209f9 +B = -4a94e4ab9d10647c27893ce721b326c91fa18ee518deb6b52beaa83e60ac88ae6d7f01adb1c5b11099c014ec9bca3fbedbac7342ab039b35c26b2b037d2598f5331e49c02ed9a75217f81bbe7f83ab984c0cf1658fe4e7c92941fc931b7d033104a090280e81df6116b20315bb52e6be2efe7c28442458bb138ba49ab23f3386 +GCD = 1 + +A = 5cf919191e7ce00c2f65e95ee0caea264132d72e45bea8b5b60dd80c346652d3fa8842d02154375e32a59fce2beca66334b5b48deff06ecc5e042c1d7996d36c964e1e21fd70db4ec41e359cfbba081835a726bf5f376f2f3c586765f34b8291ff92ba84f10a41dddf1ab7da9fe28e11176158836e5566ca81e991f2b23ae620 +B = dee4170410d1cbab945a5ab63d5c92de054d3896aac9d711bdc7100a6bc069ae2fcb4ab1bb6880da239cd69df3c8a1c9eb0431393f5b53374fe140c5c71628ee5d66124efa4b7006cd8264362dd75ccb04899d63bee78ab9ca7ff09b8dba43acb1df1c4476120ec837c0d3aa2fbc5b84c356e14a2be3e90d360363888558f39 +GCD = 1 + +A = 915743d518c5b65a1b34b0b5280aedf5efd89efbbc6ed35df99e05365a183891a90a5d7d32f4e1573db2d9dff242bc9a4868d6562b3475e2bf1b5c78b998774023a8d1e7577757784703fefc22e6f70a40aa81ca7eef8ab8b0eb169fe9021f3a9cedcca76725a4b978eeca820965fba42f5db0b4f8167ec6b60d18af55cd8d58 +B = 24be1aa4114edbf7a8c69111d2371558ef441316cddee4b76622a611c2dffc76754d967d49b0b2afc14106c38c807c0734145d8fdba17b03010d696e3ee8d5c19b09eb924a0c025d21168a9033d60e185cb288a06b8164332fa34027612214fc7fbaf1c32d0852305753b5593b9a4c232a746cbf94552659bae327e86ddad9ba +GCD = 2 + +A = c2c0b86663a66945321c3fde8ad5061f0a141f876850595c36d0ec2a051a459303d3056180b97308416116a8f810afab6a2b77e02b016251e0010a0520d4f31b360945ec71d984b8600a2f7e27d0c37125440b4f537de469c2b18e811d6eb63cce609b392ca4b3a49b2bd74c2badf748e574cfc0a0b2298e374e58ae8fd0d9ae +B = -a8299dcab5e527b8300425b251ca07a0fa2cad85eb8c5b9832a13b8266c8484c41bd5e62396d5b75dae7125fd82125a89c706217bd32a014908ab36d8045cba667407717dbd853c7ae0286788715ad909e6340cde365fc4abbfe9456f901b980441f7794279fab6534504e17ba1fc10172ec4d9e6dfedb1b5c0d981e42c1efd3 +GCD = 1 + +A = -558312feb60f77144171508b358b8fd4d962387d9fc6c24a3760df8fc631e24174d8d9be376ccd395833820fe3492ea37e48c2036e099595c850ffc31bea2f7824e67101552360f200084c425c7499971156a851e5c7f36386d3103dc9987257f9322a6fee94b2ab45330c2e654964c5a3c3d8a14a24ba787af4cfe2dd44273 +B = -cfa1dec0499709a51f57c0f4231761363d18919c92dfaa950085492b76ebc4bb8ec7398a78416e11a9894713621cc4076725756c5c143bc64c03c31c5ca8713804e89503b9ffe477ab3d9c9842d72d93f78636f6fda43ae396ddbc4ad01a61e50d0c39ff922ee0c8f9237c522a1f0af73ae699734b4adc24663f5d3479612b0f +GCD = 1 + +A = 24b50ac79018938e673892d1bbb2458b8bf97ddff749c7d2f25c7d7689dd18189c879611b6406dc2f9a9c6cbde9d3d4ccb1930c599fa1063937325d219524b97d2afadf01d5e983d8c8cae43aa62b07c90653549e34e221d70c7c32b404274145153adea759f2db704b510de1a8e8574db95e768a2bbc828578399c7b7555b99 +B = -c17aca09336b02e6b99841cfadbb530bb3668370c30b0af1fd3df5254a2287df44a0d952395648432aa60c4e3a9bad26b14c6c32b50f5bf3da39bb4d2f3de6309d75262080deb9e52ad0d6e690e51a0cc30c131010912bf45952ad7155d271f9f50198a37e283be0797fa5d4aa446b2e05eddc5ac7e5cc24e4d3a27c0ad5181e +GCD = 3 + +A = 219358bf26de14de7a281db1c579d17c1385945739d9160ad92078e108c9b177029f6a6bda96a747cc9edcf00ac1fe05c709c4676710756109e834d5975f3818aaba48e142953da8ab5bee5411af26c41f4f59159c4fe7737015729bb1f64d07e9f883e445c1e44636b26872039990bb0135bc07457ed95ad88c65c33b38b022 +B = -4c8a5ad09afdfe6c86d9f1ceb1d63bd42df742c2170ed60386be9e936ff4fc3ff358e444c975d77eac51e112daef11c0106b95856fac4980840206f290f3ff8d869ff82d11d111710d8bafde4c845e2dce269b6dc1ac61b46d6862a094b9434647e5847003e17ad3b687083871fe1f49c400b2fd83306ace5a6c0a9e2c907e21 +GCD = 5 + +A = f6f8439fcf3abeea0ea57a71bcc7b14b1d977baf4725362e55e48cbdbc79f7cf62881d9a3bc6976ff639a7148ed023935a7dbec412db76fa4ee4da47b715454dcf1316ddd21886ec983f58c9ceca40c55a5980a1958a249bdb0c8920e37cf5aa76f9df2206962b68c4379f9943de8b973990b6face5e94f169edf058309fca8c +B = -f16353a82dc0880c8e7600b87cb8496425b7e116726dbfafe06bd92acd069e74e08afdabcd69092e0715a583034f4a2d70cb2e2b1f3584cebaca113d233d28997425931f371f5cbda04313df3cfb20f8f896c18bf157605a05ee9f47022f8ebe6078bd24b78f9df15f293af4f524bd558997e6d2ce137e641508c7aeb3fd728f +GCD = 1 + +A = -e9927ec088b4dee2b3b147670b6b6e7adb582faebadaa8eb3f6c2653fe7d2d61a0ae5c09479de746ff8b9ba16ef70e9472e01399ff87694584b2146d663ad6921a3f7a3b636b4ed70c166280016203591e68133c243da1d8aeed40e6fff7da11ea84ac04f7663ca1d9f85f342f7bedadaaf4aab167836d571c56a73de35f1bb5 +B = -6bddcd7258d73fc1dc525ca6838dd6b0767998e11f9eda2e379ca4ef315242f4b726b3d6ff700a164e9f87d4d2a910453c838f529c5ed3e762f8d1581d2c3259322290f43e990c3122612e41824c375c7ad6c743c7899b035e43b34e4f375855187ae3ad3c477f96a7610403b92be34be1421d84c88aabe9d99d11ba5a5530b6 +GCD = 1 + +A = -f150dd297f1ece05d8a2d67636737d2d80626aaa0571de64fab56fceeb8f297625d1c0c46cd2270eb2da105e529ddbdc56228af7b65cd2ecf166b848768be6c9bd7da502ee88fff28052362a6696608dfff05a8f21c087f0cadae4b1b2e14ca98089000f78f5dc0dde8c00858bfdb9a08fc5c52763418aaecde78f362c796a9e +B = -c14c3208100dd43ad41dafc6a2e5b8451484b54bb30a49489239b2aed80c954a1c9cf78591c5ea4ba8d54ff2ebadd86d7dd6bf3e7d19adb4e6b0427d221e86b70b902ff6765c91ce575a1c6266a6e23e85e728a08798fa8a5a5589389b03f66d9ecba5b59569237f71ef7991be340805f4bb04f4a2191ec2d3022c550be0b71a +GCD = a + +A = -a2a491e9040953e5ad41a12c383623debf2d085cb7b11e99e1618d17c393ce17c0336cf60214ecfc96b18ead55daca28caab9c6ab38e90c1d73ab354298cfc2b6f89613f5d85ec6a88a8f5fbc791df9a60ebb81c564e5a133d3120725b7da543b0e1a7087d59df0179f5f4f315074253717e8140239d95eeb52c7c096c723199 +B = 6106a637f288c73e88fce3d93340096b03c76f95bed973a434882a1b07f64606922c2b01a2b30a6f27375b30b00ddecb2aa939383c8df0832cafac0938351286fda0fef558d9a706fe7451d11255859c984b37b8eedc43fc597d969a72756ac1faf3bbb478f17c6fb5b4dab0e398e0ca6a7b9e152e17e01f6ead8c7fa4f19e86 +GCD = 1 + +A = -9670618aed5148ea24541bebed25ffb79681f909715c72622cf7c73401154f54f15ef6f1100529fdc1f8716ee66f6bd9744fcafc05db87f51e20428cf65832e3e008ad9cf2ee313d3896344188f4a0a2b569d34534d74e02a550f3531da78a15904414e384a3f564d1ab92046198b70348e958090c09f23054a5a5e8feb45d21 +B = -803ebc2bbb62d9ad33317a89d891a140d4a62913fc0f13b4f9b37cf7178d2f5d201ee1f9a13d682f1e2627bcf379cbead3321951e38efb39fca9bfcfe3729192535e1424cc4d0744373a72887fc06e8221f6232ba9b7243feac70aa97a32ef93aeb2293ab933d103eab2917de36aebf8184550984f8cc9fc9cd660f8b1bfdc5b +GCD = 1 + +A = 7f7730bbbac5c500ebef32d68a3c12fb94387f8ec962acd85c6ced74709362061d3334b545b891b200f1c615069c666acea78b293ceb1d32cfe846911cccd980e5a25bd49e767a63616bc7d6df7523ed30a9bd8cf807c59cfb75d5ec296f78a8af99f156a61cdeb70da0d7691ff6824dee195b447f04a424ed0aeeb5bbd60761 +B = 27c093cf983b9c55b17dcb8561f85da15cf34261992f7eb07d61d53c1db5d697a6de52629a90628865bf3dd0b80af571ded7eb9c5a569505dbd4f899697abe5d9675bfa7f5e8d460cb9afd9a40b5f28ea0a0c4d655da45f6246d1431c18084d5513b4e1563b138bdcbaf738968b366114b3b58b1c14f4b7f0ee6fbbe5bf55b6c +GCD = 3 + +A = 17a86b2dca7cb017dacb7934122177bc14a3f93ddfdf4b0542dd55ae4aee052a60f4f5a80dfbbb13ce17cf3ba2296dbfd205c2b72b497c3611bdfc0b8657efa10d1ad559d6a6d7a7b7b159fbb993ba9b9a6b10b1ad4320e175bccfeef4c51e79eb133239a85be5251fe1ef544820d8b1e50c8f47f13009c267e13b550b87264a +B = eae25e90df4e0e9aa81c72d6b11cb17b43a36c9bb544d12236ea42bcb681ff8f6a96e574cf43fd4d7eb8e98a10b78cf3c7c173470965a2b188b3d20181c24f555a692dc19ac0ec4d68cd9f3763c9d467a6f0bfdac1bb90dd4bd264fe61d6e67ac75a4a46da09c23087d6bfe1967db5c71801581f74bcd983052345f63273e541 +GCD = 1 + +A = -290afffa7c9f4035dd982a856b2173887f96cf6cc273e5372cf10d4024ff4309bcaa17e1871d354e275c9a54bf0739b4a3b6369f7806651f949b9fa5c0f5a838c5098dca2d9f52ae387222541b1b4cea8a35098f2ee8ac7bc79465d19600706e0ff555e7055770b4dae1f9ff3b1c1fbc3080084d6542ac065099f1dd5ef945ee +B = -9d6156e9541dcf6e71b769cc04cd6919e6daa48577bf2f5e433f98420ae8cc8ac7caa2c7167e646f6c3725a250b14a123fe6c3e50ca16361eedc2109290ca924d2bb8c631cc7567b870b5896e2a9155983a33a5b686deb86eec118147ec0e84e3214a61cf8cd4f394b8879d56cad4fcfd34799bcec954972d1128f0a0732e279 +GCD = 1 + +A = a587028f54f34472345942f4442f9082f22ff0851dfb06f8b450507f3d50d3cc9dcf356526970a0b945cb87964c87355e4fef9a3e0af7c2184dc929554942fa36e338831829c154a4e3a92451068c797e92ced73a1f1d5719863ff6f2b240f26933232adb514433a52c1f90a414ac1d177f50aad6672913b836fd5213fc73925 +B = ef12b0200d540159c923f152e64aaa59a8af6227cf3883f75a6f0b377438771c49891ddc4859122480c6f6f1dfd7806aabb44f0978f62f76dce3a3ef033a0bdc3ac7f6e27ae2ac0d7a881f369da1907a5627bfb1e20e25cecb4bbe75d97acc528507f7a5c8104bfa6fd7d0720ba4355d101e91658f8b65c5af90867397765ef3 +GCD = 1 + +A = 5969fcaea1ea024f5310dbfaa8a441e4ce84351eaa6be8dc4f13513681b2e6c3a224fb8f7bf7a2bf41b7843fad0626f21b07d45ab6abcbff554acb2fb2e4ec8527a93de44fb89781495f557b17b671b1d29d313cb4f83b418b19201e57c821d0e9736a30512895c69f790a719820ae161acc1932aa562f03109c64ea2e489c7c +B = -fc1725597839d78f679b4303dd499b8c72dd44e438bf894517aca5625d8a65920b24b4083caba2980fc4ec4832bcafa60f5847bd23551da6f7185120d4daf6a459221dc3b51f191550ff4e4f3f98fa7c3ccaac897f4de5277e33cf082332d83c58224105d0e734c0d5cbd889c16afce9842c3f57a765333f5365cbd0619bd7ad +GCD = 1 + +A = -5c7615d07e8d7705a409672af2d017d4c3e722fc196a7cc38e14d33b54b6352e5610b31dc49685ab4dc8a6d212fc22683cbde6da3d4bd2077cf85199fc5b0a917060d9706438e6f51d10d3a4f93590679111ceca9c8b0bbbbd9b11a61e0f4ea060d8e78973789cefc04cca2edc82033426761dc8b69d9d63ce2a1bb1f89aae64 +B = -ca8d899889f95f9e7540453465f532de8509c4be96a5180649a13031ee3cbbba82a3836d62e2bf4957b4eb24f72d3791efc3dc6924f6ad1638e4fa98574bb139fcf313390ec5069b7dc870b0c4b91efc59a3c5e753c84938eb3a11220778090f122eb7a80b72434f9f72f9c4efb62fe5f8ffc62bd4479e73ea4de411cb4ca2f1 +GCD = 1 + +A = b228a5dbc8f0fd6813d3e2e0ca3faf737a16da9de30136baa25ece4d18efff8aa8f058b622932ae86b7dc3834d4c5a13bb743af4d9a6cf930abe093a3c13121ba884ffa8ed432bf5530a32f35c74c59988dedf597f92215e77e688b86f8830d3b1718ec1fe98e127243ce0eb8635e5c67ef5298fbe626e5103801d203e5ea68d +B = 5e8edba6ad295a9ef6de64e83c0a2912f823a26e0ffd29b2bb35ce15d96f26c5fd7d9d458add5ae4fb322ede40be5fa80a3813bdf51c531476e8eca0e510cba764708b22efdbee1c593ba9bd172db351a9e469bc63494acfe4265b59f298a5e7ee943421bdefbccfbc50beb3a4f0534276c54b9f92ce9b1a81549cf0a752f86f +GCD = 1 + +A = daaa9df87752053815d2869858a9d90d78c0042797e09bf1efe128e105b8ca1dbd2549fce28d301ac3c207c5115bdaea8491bf9bb618a7a0c1c5dbde5b42f67a5bd7a4e041af156ae8b93bd5b01204322e0c9ec0eede44a4e2652d094805af06fcb2657cbf725548656ee5e943621ae9516a0f4018933003d6b5e60127c00802 +B = -9ba0ad4321b1bcc6dcbf4fb95486263c2d9f91e1d997216538c6f29c687fcaab2d31f8b948d2fba1d932c613c8d373cf2bdbfcc8a7dd08652d1c3cdba9c01f8bdb19534b1194689c361aa69ee8cd735a1e181eaca31750415e965c0f449e1866d3eab00c07590c5854639df4c425e8fda3e97c9d845f0d36a57f46486b1bfb41 +GCD = 1 + +A = 8ce527e4f770ddc7717e4912de5549c578841c58f0e4b1976f7aca919aac653d5f1a204c11adb28a208d25c01c630d04181ade823140ddd43912225792ea7f3d902d9b2f1ee76bd29711a767cca7c4dea535b11384e70f3c5bc86371aede57e1868274fe971f662977fe3ea7271bdd296482b2b76e641b59aed3aea4ab04e994 +B = -e4eeda96e60840ef8a2647b16f84ebeeb3409029385674c276903c72362a2cd2d55480df6352fb67e63ada4580e31f3bb9ab711ab3b7288c968c6f9c06dc8f3cc7f9fa6383f90ddb82ffba8bc9ae0d05c12b7dbbbb472b4ac19d0f8b3b55ebdde325d80bd2c793fb47e4162d6b8ec1a5aa9851b169782ad4cd7d29b9ffdb7733 +GCD = 1 + +A = 4f7483ef99d00c8f779d107e62c0898c8ca09860f2a615c9b6ed56a14046175e259cb076560b27aaccd24049b284ab75ba85164bf16b96e02b6415186fa50d33d8335f85026261c6876a45d5deb91a3dd619944a6027fdfc7fb6b52ced11efeca79ab7443f9f9c43b34237fa7c4a7dbb7d1bdf91691558e4a108e7b6633a1237 +B = -ddf27c43f25b08b9bc961c16bb5869b4698c6caf09289c41ca2caa4d7128d5123ab5badeb19c5b0387e3ba9151c5a34767cd9b98ac253901a83301ea86bdc9c6eccc9e844e0a5a62e623470e296f16c563088e512dab76d4de55b640d44cac67d091675958e5cfe950544fd463bb7b2b94a2cc314a5364792c5ae185310e6fd9 +GCD = 7 + +A = e1eda05210f39acff8e3a55f0b364e9800c94139a18651f263ca80cb1e2cd9b98f1ca7b13bd74d7d300b43bb4ab60e47476640735caddd9b1084576453089b4fa15d76a91a6e04b5fba37573d431ba208f5da3f5bc247caab959cbb1b8de7e33782f5100bdfb27449d0c7d1e4152b411c85dfc4c1ccf915ab0bccebaa05f4181 +B = 409fa219d89403a4c0bd7006a89a729e94745cb5f5c3ad966fa42054af36ea90d67edc26aa83ff7539f45fcfb34879ed4c5c2b91ef0edf290cd5c71a72ee749f319d0433a1b7f3b918d60c8530282599f205490791b36f157716e24cb8e908ac19d1b0ff9da35bf8bcf886d4ef032de77626390d8a02d62d99fb901a2ecd4aab +GCD = 1 + +A = -52bfce0d65cb325ff4f39608d61eee613e6ef5359bd64203811b2d417c108af3d7b8d024df882f9dffc4bf4104689bb4d8c9f31846731c883de404e23c5f8d5adb5f86c3a6d1a658e577f0bbce73001ffc35816dbeec761204eb15fdcbc2cf23483eb86c6b9e8437190ea25e0a38a7e80109828d357e0528dc8e393d4327d22f +B = 34e064103d80cce850df60680f73c4944176ce061e47d1a4e44876ab01d76a089a9adc54de98ad9ece04d88c6b3af4a8460b2d676cf4ea96b2e245973d981112ce034f42500a30d9de3454012ab34bcc5f0d5245dba2b26fab2ea463f6f2a5aa0f0cfb2feb1f685eb220d6e07fbb30749a9350b30972622e28567fcecd4476f9 +GCD = 1 + +A = ddef3849107b4d977d64bbca913979ed7ef5df6c6efdd9c3d72c99d29f45b07924b045b6cb4c793a5e25f8463e133e1d7468575a020491d15bc9b9b9b7558dc0407b58cbe5ef05055a7847d21a02b9294dbc60dec0b8e3dcddd5373c887a84c9350b2d5c6d8302418bfb4fa298c4e10ff770deab9bbe42683c66851f596749d6 +B = -a3c801853e4a2343936633546e4467d422e70e2c6e441c30b2573d2d18d38fb2daa2fe8bb618c5a0347795578629c1594d261c7ff99f5a2dbf3471a3d87f4bbb97e42dc606522f04df941dfc18afeb3cf10d1eab9fbf53c5df03ef9c52b392fce4639662e2f7d64e46e29e27dc044f9a7452844f1cf3530256a08a49c57afb68 +GCD = 6 + +A = 6a11eba63ec3cc03182a5deb2cdb3c28ca38c77f15e872b7da67d7f92bf39cc25b229dc6d0df32b41917395b3e3fa5d6a8f507a52c0e552f7d6331ec9808e60bac7cd76f6ba9063a268e73cef4181c025c796b370bdebae04361d86b11cdca768bdba161bb22b40e753f1f17fe3371caf442d862e1046c079e8abf0dd76cca19 +B = 6b548fc229f4e6948a4501e5a0c9ad28a10e5ba3db8b52d300c8fd88f3ee736f84dd7d4eb238fc07d92482eced7f972a94c6a8181934975d924ca7294e39afa9edcae2e14811c676f4d00aee7fc8da8b0a5cae07850a5506cb7f92dd927f62b0bf054a9ddf7eb21d33e59b25fb981592d8e9ca8f7edb9afc75ba2deda519a89d +GCD = 1 + +A = 85b61531f5450b92f78aa7a508af38d8742faf288984dd38390d4a0bc65c10c57cfe7121d9cb027ac57c3a8cbe7a4427ffc02e9cc0e492a0cb085d4e47007beebeb99e1c42b832ddc5f823edf232f750a847477c57718dc4bcfc7a42bc3f9487fe37dd1abd3b929c40854e6b7011ff861d6ba0fd38d6273183eb151fa4cb2ae5 +B = 91b3c92fb7ad42b8c51de1378eba3c6352eea245c87ae377587c8049880470ed09d55f8f32c381216104683ea7bc9b29d98d80927330aeac72ec55f7de1f8e5e4de650ce16eb20b2140c8904f6c062598e045a199d606987871c18987cf6759a56900b484f94a842b0071d830005987d8416d38d0a9023aea8fc90534fafae4e +GCD = 1 + +A = -7a0c0824694e5437bae51697b12e3ab3d61ea73bcd8f74334c9dd03a36469b457eb0fa39e60a37456e9c1d1791b21da8b63f0b66f4a6182b5f26db5185357742375a25f34e15318647f92618917ec33296a0bd2937e3a16dbb70d6ae925cbedb9918c6d500df98274b312876a08f8dc78609626d774292922c5eb6879278f2d +B = -fa1e7d2d1a01ce735f902c862dcd34a95f346ceec4afb6fb8db9cd33d542938da9a4a6e152c7ff456fac3cdb2ba05fb75f84dc2e40ac464a36af489239ca6666c919a36b50a62ea1098b4938b6294fdb2978627b07febaa2e331cf27ae287f0c6587f94e5d962dcc54a8ca251c212651e942993839e66ed73d29cfd869d1bbd3 +GCD = 1f + +A = -df03041c6b4ed7e36cf098873364bd1ae65c1df89e2c49be706c2869f951a5ff78cd757e2d820f0f803e5681d3563448729938ef42e7d85ecba7876f492a8689fe1a6c1f56f1ab9a5757727695a39242eaa726bccc2eaae2ce7f8f7a3c58737fb3faeb6da259af95a916d2213e8cf2d782cd9a036712d07c99956c4c46144a40 +B = -daf1d8ef715d2bd63e453f49d83d134d73463f5d795a7d4171e4a534dd903f17febde26f1c830b8c52419bd70c8536358c2078de466b585e188abb6c46652bd78cf6e4cba6d2bb17ee69a346182a0630d2711fc529beac3f1b41eb06d890a5256ce02d2f136722a21bbc77a992834b56c7ab662fe1d9bdbe7483af776a39b6f1 +GCD = 1 + +A = c2dc29d39cb9410a74fbdf4a10ce7ffbffae61892a5947dd1ae3cdcdaafd90001c802bbda712b6e790c88b83c538bbe2965caf597458e5d5adceca705ecf3bb08a75a79c7241b26fa3a64db04460392503222f9b6f7731c83f7a24d939e4fd66d83bfaca198d3baf5a22ff8e87decca01eaa3565dc2d2dac803697c1e9d08597 +B = -7754041afea6e47febf1327b337e7ae40199626827b4c84c279b983dbee675af2c3a0e49e75164fb54f8a56e541cd5154615e6bddbcf2658e2ccd304f24e60bd6a45b1cadc5f6a52ff8639cc2613fbed749664ea5c38cc0c37b4600ac92553c2330ef7d017f7ffc8e98faa40c0abad92e0ca88deb169e2f568450a24ee7a597b +GCD = 1 + +A = -a0c69dd5594eef70ac837631f479a9e1fdd6c70461ca18eeb2a2060d7c92b1c85d8684220948f69084aed8e9efde1d83b6953be5cd2f54f48121458975c94c286688816c425180941fe4daa02eed4a289e33d9d01a05e5b850931bb781d46c688f43ef473fb05985d8b86bb5d4e1ea91b3fb21945cd51c712c80e6eb3cc8485a +B = b7e13a29f6d28caf672d386809e952c04a1aefdd8bd97ab187c80c4ae78c0425199e47eb84e108047b962def2f1b2957fee52a411305945421d3d44b0753774f63be4e2bce6a2cf3c962099c1d498c1d689af4606c0383b965bad058cfe846dd06f0b0cf4a71b972e032deb57986dbb942cc88a959d05cca370203c34a306f19 +GCD = 1 + +A = -77c5273d0cde3d14944b7ad58f1d923ac53cf9ab0abfdc1338fd751b50908f56a2a6b90b9144805d4049f807f4f4ae836b7759e5091dbd7f39188700ea707d11c6b027a1f0120e3e54beca4a5145bd1befbe9f8f6aad41d41a0160f87579c8c79ffe3b280ab82502b9cc46715d81a06838294b360855e38db7755ad506b0a303 +B = -ed49cd8c1448a03e23dc954d065003556cf105b593e5c6786c78b9b7c578d574dc8ef456efa0ba8f5ca63a52f42e09fd04c1c49b401a585d6ff72d9565ca7d6e2ab70b12c27b08b36c3a5c020d44177e71907f9cf2ef6f5c6307f434c2f63170f74cc52b1c15c59a9f31a7eef8273edf6a621506789ffe2dce9cadb1d1128850 +GCD = 1 + +A = -22dafea395294540fd1d8d1ea441ff96db011ed2f25b065ae237558cb48c40e60cde2629fac19ca14f6a813e83861c7b8e39eb5aea1cdfdb255fba5139dfc569f0644e529ce294640fbbd596588160b9b7812abca6a0aa3dde8e3dea982342c583cfa589be8d0af09de158d471cf1b68c89117ee51df2cac1010b837db05bebb +B = -8b9315bbb60d86d23af0268ded41e7e56c5054af37255727d10a5bf985cdfe8f76575f25b9bd0259aeb8862aae8bd01380898efe2a3ec966bfc814c0e5d7cce720ee3372905a84185e59cbf386e8acf835a5c82915412833b32e08be47852ccb87336f4d4b797733a9d3f3423cd6ae00f6d47b11608f532222a3eecc8167c231 +GCD = 1 + +A = -1efb3f796250b1dca388818d66b58e0c673d8e91433e75947bf911a5055b863e67e8092cd25bd83c6f321c37e781c3a74515166420b14c92f6a4f4d34ed9b720cee54851c824974a6b72ef2bebe159515f128c99ceae1611a5b67285022a832809d208ad42ee7f7e612880cbf3b93e5d67b331ec778ba38764c44e089a3206d2 +B = 2eeb33d29fc7eb0b2f7a1ed0fcff41c2e7c92455a7eaf72ba5008ee7a72ff0dbe21e116c900a7ceb172008f089b0b3e2d1dcbd01b078a6b2cd73c9a483bb038e2101735724201ee57156b8455f023e24e5692ae5e15649e361f19b3295d1aeb0ac8208292261b76ffbb3e11398037f18ace39981fdda814306692565ac2e2a1a +GCD = 2 + +A = -6386c2da9064c3cfe7d34173ccced22aeb2d3cfb2fcda0102859b925f2a882c6465f9b06a253868c254ccfcdb857e77170a951e6232d05967c019ee6ba4fc13cec53fd2c8226aa237d122d745d8d28a26f586fd687848bb3fc62c6702db601e5edf9237afab3acd7f90c146f2c1bee57281da808402f2a45ebdc7aa0a184ccd7 +B = -4285b7c728a18cbffada168ffeb5b5709df4610ec97bcd60d8228cb3843ccf538fe542aacce135e5e813b2a0d14374bc4054e2d11b9ae1b5ae5d59452eac6f16361e41e07481fb754bc3c07050b8601bdaf8beecd47aee0d8548d99ab11fcb3a0f22f435eee7b558c12bf6d8c0497d8788f279730fdffed9c1d4e4979c6b9956 +GCD = 1 + +A = 31376114c9db98be5b1a9fdeb784f31ba28b61142d9ed2f293a0eff0ad64af1019c757f4254983629e3b8e1e6acd7f0e36b77e04a979ae1e37ace4882d3d7526eeb13169838f1ed569ac5eb8c0852b14c9a5a1a6ef8412573c0fc197b32604a8198c0cb08237e47460f360f9a7cfc0ce8b00a9da5edb08e09c72d7e26ed62579 +B = -88873925a5fe8b2d26aca918a08cd118d67c0b7d0f2bcd70ca6fb0ed9079289443bf21cf60a9c70f9879dabbbf76384c3533e01005b2c2a1e2057d87764751ba3ef56aa4eef8de7efe9b1d66a9fb392585756ab1d5bc3bd7cb1f54b0babe334c5d3e5cd6ecf5668a3baed7e273016d31d3cebbc9986633599b1065d7d0725e8c +GCD = 1 + +A = 28995270792d3997cb00832c89813bda71d0909df2a08d96999d4e5f4142cc5968204d5245f23838bcb865345ccef36af771271f734c5957435abe68f6e0408a529b52bd794377b4d386b638edad75ff43c9b885cd7fb144da38914d5224af2fc5b2cb9a9f81ba6c458e0eafd3ff79e5630d197a744065e7ee6f9f2cb0b7d813 +B = -fbc89910e2260df6c8187f4de25b38647ac421437cbdf1016bdf8a2196e528b26aeafbd265b9d26d3ee0d126e81c46f4167292404b26c7c725bb09e737ca2f2d548a78b48f720fcb14ff8450ed9a60061746078226aa6462cd0a7f19e817c19c4eb329328c1171a62526ce70e6bd177b3e650395d70cb71e93c842ee8fe44266 +GCD = 1 + +A = 5720275ab014e106122249d54b704a9bb8ec2d0789938610a50ec8491f6782aff3f87c27741955f046b6adddb3f34935f49c775067de5658b37129860ffa515e9fba3c4669da726ef5b171f99a3fc7e292c936d81c2b088297c90f5b37da8d826e8562648249fb36af81a7f135312d37fc336a427a37311a6b9f654da58cf8db +B = d02b7bc045fffc3f6f084e71432df357477ddc914a78b24d8cab1f5b08522fd3badc9f0e7bb47e2eee4a00eb27a592d7c1dc70d1532d1ddba9c63352b46a17fb9c8dd7cdd894d9c9c212858ab0ea878e703d403613de189f3ebca37b1a9cd9ede086538e9dd6192f4b07cb74fe4fd5d79de7164343a38abf39f51ddf1ffa81e0 +GCD = 9 + +A = 58395882946f2a4afb7c07225eea7658def0ad1b9204954747b099b221cc8c2631e344840cee358edd1b9c33ad7c694ba7a2ff4d9cb1d89f5413bc8fc2dfdb39fa04a1e7af2381673993e99cb86c86a75addfeadc9a86076ddbf45e28877dcba9b695e72bf4993258109bc7981388ea441f00b88210fc17533882dfeb9a481d8 +B = -d089cff57827f8408d61b4b32e5a337d9b9e363dd145943af0de7a60b911850aa86ff0a28de1a5d3b15d7881f737aa0f933289ad3951bc5c984a2ff9cc55e112c607d9608eabda8826171464deb39fa93ee0fb317464ca6fc03dc72d2beafa5cf83f72ba22f6672303b134c2ba1af337fbc215ef0a8e9a2c3e50308b11b487d0 +GCD = 18 + +A = a62185dde2ea6f61bd547596a966f2109b17fc84984e6030326ab6a3163f20bf31f7e29b49e19c1dfbe1d8d2a66e37c00fdd27f601e4977349d5df4e5ebe726b840c521b680540c1d42aa31bad3c56524cbb7892063e10b292cbcbd9795ec38815c50217265afa14304dfae3cc21ef05b654c0733e575d45d33e6c6b7206f010 +B = -d1146b0e499b53bbbd54e009996b5dfe41fff6bbecc74015406f0b5777020418c7f8a58ea5f8881da990981b5384af93d51656e05a2d50f0c23b0fa4a333a92fff2e8450a7fa65e01dcf5325398c359f34dc799a4bc55f8db538529ae6f0aeac86ceeb3d3f00be43ef5e567695cc3c0e27c652407533bdc40995e8ebc23aef02 +GCD = 2 + +A = -19bb5de4aa684dfd95b64a2efd0a76b82525d6768bb0a1e0b3311e06e694e3f7c3b9dfe92f0fd4ce859525fc9a00655558773efa134b63dbc6246c2deb8ce1a73dc034033c61ef17a91dee0d22155713084cd9d66b9727a842a4bae96a029ea3d212ba4a6fa3227cb267b176b7ada465a2b1a2bfbf310871e537e51cabbf0f +B = -e11c5295664395f0404b184fd16e7fe6123e2b14e5fc8a017cfbc2c712795ad08d43457a176b1042e2d679b36de4aeb89e0de93a1522bd3b2bd44b631f2c756974e11442be01eab03564e8368164c4fe9e1f5a026545433687ff44b760be40755032cbfbcfd5b66000e5fb886b9d7889c4bb4515fd3587ddf4d186cbd33a8e1e +GCD = 1 + +A = -ce06721af0f66ff8a3df8ab2fe46ad49a61f7444f5c2bc55cc651086e5279bee32ba2b5bb3276e83200d8c994d00a36c5901945b11a17c62dc82bbd9a5c7787536d8643a8a7b1d64efee2206f02a7354b185f4c7793b23bf9dada8984396c76da219a0e5d746f15d2fc732e3f13faee869d941d3f4b1c3b61189deb786f73099 +B = cc436e5f3db0da416928a58a03f91038c1ab8fbe79591f8e5a83bd8186a9fecdd505fda88a297c14e7260f7735dec7cdefbaf8133037d70a75416589edb13ca35d8acf7f81c2c4b1bbcf6572c07ea69c6e6868d2e3fa283a191811f6ea180432a8fd7ca9fd6278b145df4cf69afd15637bcc9124094d9df7c90b7be52e5f274f +GCD = 1 + +A = -229b42807581eaebcd2c60a39a22236e7a173930e02c37187176664f390461e0be5d9081dc87cb587b415714c3afb0d7867f2e0c2e8675b21e7c0001d1a6452737befcdc3697fd544d69a893ee8574887726d92dd75671167f064107c8700fbe2ad868fdd0271697709f18c20a00539dffdc40584831fdc4ce4425874a7881c +B = 2cfe0ca4335bbcaecf265dc46cbf3ad927e05a878ce3548cef3c601642ec54d5b382f9e78d5fbf4a97a54e244c7ec0120291855d319cb57086c5f30930d816aeee46f60d356e2d14f587af6ee8c3599553f8b9162dd16f1799637798cb8561b36102a2692db2b1f3f6041c46db8a20a875968845eb445568679148707290b00b +GCD = 1 + +A = -64fc5e360d4e3d24bfb31d5ba75455aa4d7a20c090ebff452121462125bf587d76a3c4329578048964a419256ca61a76e8b45e343d8a026e99d0666a3891238e5a9a51da039f7a797895e1418c9b0839c26e78c816e1666888cb3c9a8457f602e1b66e631992639f44830907c63e0b35bb9cd85c87804fe3cd7700e506cf0b64 +B = -95212acf0d73ea524da4679f663ce3099fd570f9118f30cfa0363d088ebfa768812f0079cceb8f51070e07e69062613f66a0ff3bc86ed2508e02a1714327a547069a87afa10856e5491f2bcb6e3fc82155fd198ae7ac34f76d5917a0922b83d8ad581d0b76c1b7ae6a0b0702442da647c655a09833a8bd28aa89c90a414a9d16 +GCD = 2 + +A = e4131db5487d8d350cb0e927462fe9f6f43564736737f92c245e43fc9d2fc2030fac4d319588150069b61b0c70b34501bfcfc6da6df5b93e84a977d5c5449d051eec2b0c69269c9216946ff6af96e79a824f6d2f37251b402cf3dd2f060d2dac0ba2245c6a0537ad160183e76bc6e694700b1fef703ee546722c462ede23deb9 +B = -84613155c850ebb3235fe00ee513ba33ec1e58ef146b729aeecafa9714b591b57f0d62258d1cf41d6ba5ca2af77726e3b6a5a6fb528620f33cc495ca6ee2683761aa6709333e8c47605bce66a634016a7dec675356443ac57277b3192f164b44768e590907254c705897eddd0c264f8a5ac92c020c059731b3e0f2c834a082c9 +GCD = 3 + +A = 2dd41432ca896911f6095f28b0851b2245f75d24501c5083403455c0a13acb172ad90a2d127849f2fc02f5055aceb460f6789175db522ead8d5efb1bb009edae75564d2ef90b8b585f77fc7cb11ab79cabcf76a068fc14ee80bec60e6ca524816f57703b2d6671ae5a1a2d1e95cd6971f33a81029943c403b9678aab69aa4b2f +B = -d8c70da65df7a5aeb580218933a5d4a9f16c108412dc19360b14cec65543011f5c37c2e32e5821626b0cfb34c6a195740ab23cc93321cc9066f9b7d188bd5377486f0638b40a4aed49340340716dbdcc76f44a093399d2760819d8be4f7e63232f36be4c78a460e42dc620f8c3b3ce3320d1e1dbec7da9b7e889d53e5c572873 +GCD = 1 + +A = 3ee366f91752e139ce9ae8e422acc0444e05ee47754231ba9a0224ce11683c32536689d6826bc5d51559593c1106a273825357f61dd82f8cc8e92b66a20ddcc84299345b603da31866fe8baf43b042505447de6f6dec85ac9397e22887010ab8db03f59c038f98e2dc2e158ca3286be7e88705b6daac344dd14dda542aacf1f9 +B = 9b8e6fcad70b373ba1c536f36d8fb4eaa12e107d8c2542503330b819599ebc2e108f10668d565d39a97e313f28fc32c0241bb12a3bce998e3e78392c48b56ecf7f9e7cfc45bb52142dc4278b63f53a55bfec6569ffedb6dccfb2444caadd26186e4e9f870b0d817ffb8061844a587c73d52a012a147dff70676d5ad57e541209 +GCD = 1 + +A = -e8d9bf2d06ed0e90c06817fac2280b19a3d0dc5793defc150d364ce35a5c047895389e4f5310f4ef0e60a6d4e7f58e806f75d8398edac251304990d8fe2a8d1a5e4807e3d727da89bb61db5290a417c09eb8971070028eb7ea494ac347f73376e34a06efbceda19235c9165aa218471a5c885a1c4c778c1e69e4bbca13806db3 +B = -6616157bae085ab4c87fb1608e24817e8043999b5421bebd1db2b760da062b6ca3fb3435f376f2d094fcb71df1653eb4e4cdca022084a1ba5d87bf0fe88fb118766cd988ecf52c8ea177c5077512f2895eeb98bf914614b7862041e06257a5a480e41abe0e9d6db29eedfd0722a36f01f4e6d3ae92f34006bf00bc50055ba708 +GCD = 1 + +A = -dbc449ca5253b53420a8fe2ed301e37299f811dbf5e550565e74d8177230b229b4d4aaf745b29b206eb984db1b68d11412c9c144beacb351b23be5086c66543189ab577c5886b383ef9903f99c03e1cecfa188a4baa468b3b10ecd937165c9d040d6cd908713f6a1f99cf241ed1127d1a022395a36b937579326ee76900e4c6c +B = f5e38add2508329919c137d0bdfbd353fe9fce70b2d173bf91039a6e52de858e5df35829bb28cf1201a13da91e761cbc972c439c3415e9dc28b0465baa8e34089757e3e0b245abc94268479d4d4c3ea4c32318b2c94163f09883e634e33dbc4231e1b23ed7ae89f6efd53f72e4635d8c06836216d338c82ee5f6ba39e4c45ec7 +GCD = 1 + +A = -6507585db81fe5872b4204d0a36cc34af63e58e04f077733108f435e801d1e40fa24e752421afe3b4c2cfa1852a0040d5674793e9d7871c108dc00b2062e51caf3924c480b884415bee4a55557b9b9dde7e4d090b2a1f4cfa7206da8369976499894e74ccc3482e6ff641af731aa9c38b2b58690050d254c9d6c4197e6d36cad +B = -76f11f9bbb4aede3445775e11899c60ae1595881532b62df256dc45957e7ed59e1f5a2d6f10a235c1468f6167f76690548192846519d6f060a99cbf553709fc30020cbc19f30e7d76fa3bde708ce5bba9cbbe4a9d6b6fff67e6bb6a08d85e8d237c39a707bfb62af0890d1775c29d8f1b4a3f4fc145fcbd72c5c65374a8c49d1 +GCD = 1 + +A = -ba696a5454a099f81bed7b7376f93223720fc2c4af6663197f80c32967e0635d7687dab6ef4885a0f4218d2735d30b1dd8f122d2e7614341255799f587538efe0391e7f29694a3dcb6a1da2c18f775c472d4a4cf3da0b44e2e8fe641551732c88681add226cf69eaff9bf77b944a655fbfc3cebb131f67a13175dd2285eccf87 +B = -4ad9059704e9aaf02d5dda2ced2eda5dfbb09c2c4636d60fb59f6b98a2b2f7679f8ed6d33ffe4117730ed6bffac8cb095253451a34ad9be30854e47efa1ecde722c7809ab8113dbb31cf82288590b19ac873eb682131ac78eef1af33063174e1c3aeb5ada04616303e23f38e3f34cd01c3c7fd1e5eecd49acd469c5edb5f9f7b +GCD = 3 + +A = -e64fa114dc5cad58b777372162a0eb0fb52a8653546313c87b66b97009f9aee1c3a12bfc530907a345b14e355b411b0c623993103cf43a8b700d58c107057075c2dbaecf788dd1ac4a7c374773111c86e73660d10a0e8fde421bb05c8e222b52ea7a4b9b32583f7e280a03868407f3f8ce6cbcf0c7ff85b3b503eda8c8b80612 +B = -9ba4a195088c99e4fd50d27c7e17472629f1f860523edb94b7802cb43266a2c1be703e8bfa4f1a898d968c3d0f3035b6ba2dc8e44bc96780a297abaa7b6431131b773cde95f1e1cf5a762d3f9ef2cfe325e6bfd512fac136e0863b5fc4cbbdd9a09802538c42507f32d82252413cceb1048d085beafcc4775e5769c83f989bc9 +GCD = 1 + +A = 5f87242f516387482d53cee6cf0b57f6cbf5ee7879e73b98d79e1f4967d93e1042ced4ac822a85220a0d8b52b33c3e0405667e9ecc4ca24cd0a7ebf6d5df395958e805ddef68c331c2aced39bdd6a65e0e43e13e2d641bebbe23893780c54ab8b9032e6c345aded119e1dd296e9203507ba3674c89d2e966272f3810e5be7ccb +B = -34433396a87381c918a68b2f1713e84d4f0090eae7eb104cd160e62bf7636fd950204849e1dff8e651ecb09e5bb68f8565c6b48fa77d688f4b98dad46b5be0b9fa9e3ba39f6fc3ea41c8713a14a264081a8fe524802eb173d235334308220e94bfd0f705f6821a79557d0f13e96e44ba109f794d8f6b6c04f4bb25de327e569 +GCD = 1 + +A = 9ea2482ab4cf0d17d35b42f231822689e2c0548ef79d2c8ad50843749b7f909967c4851ef63d62973fca1ff86c7868970b7929dd6aa61c9b7b1a3264a8e1262f918619ea751d508eb34a17561514912ef6add8ba7e4a62567e583c573297576c638f1474b86276a5faf06220fd2ff8c3647c5585767aa4701efcab61882f1f98 +B = dfca32cb9380e8f7c09a5373d0c4eee7c3f43b3845df393ac041def309d5f844df6d972bf05ddd6b1bcfdef27837caf7e3c48632d5f528eb7d01dcff1023597b84ebba422e7e2d80f7ded1f7c288cc2ff8c3efe42badfc8612db2cb0becb895f34123d267c1a3d2d9b4abe88617a7f3f46597b10847dc6385f9dc591be6f1666 +GCD = 2 + +A = dba72cba86404083e73b70bfde6d3c5ddf9392797f08bbbd19ababf69642b0e09cd8a57d7800b9d74ab0168665b56bbc66bd554066337db870c50068d8c11be72bc290b1df01292dc22af695970a18ac8016c2e21d0c72e0981a4d2b7c981d83a7e469bfd97d205b81cc89941c6e7755402406d86967b7f7c7d1eebb5e65083 +B = 9eda382aecbb22b4a1707a4074612eb5a2f986a1ff8c69832f2dd66462c0f48cc1dbe0ad7745c9de125778afa93e609ff22e505c6a13019fcd75ae611d4fc278f554edd63b193722009f2d0c76b497292fe45a7b1b5d9e9fd14a0d7d8288361ef656a3e0a573079f0142ff5ed0a55c1232141fd67bb16ea448bb665683628055 +GCD = 1 + +A = 7622770fb750c8cb80997c6fc2c4763c1fad1cbdb2069bf192c856c8725079c076870101420f4bb3f7a8e45a6606e0d871e3478863576a414cbdc1bdb45b4b241ea1427bee7efa4cd65b207bf0f97720d26c02f689082f62a0da40766629eb5b5968578edb1cb1a4c381dcee484fb0373d195610c8b33d709b48a6d89995906 +B = ef3caa8ca433bdcd85a54a4e9be3049ff3c4119e8d7b0e842991c6ae0ebc5049bb2bf09717563fdc39672d8ba2111695e0f61ef28afb1ddab25b61c45a085f3d7a4972790adc04c66a26090bea81a67931014ce058e853e961b440510d9f59f615dd4f6eff796b4799dc500b2b3fbe4d712723ce2c1fc0d5f098b94d09987480 +GCD = 2 + +A = 9c24e4efb9d54bfb72a16152bb939b8ebffea3817b0161fc1aaeb92abd8d193b42ab50bf363ff56f24f78203008b722f50036844ea43757f1925f8768b2ba53434aa5d03f06542999f2df920a7f9aea4e68510f662355cd9a0f72743891773e51e88b0e4f4a73791fd10be490ccdd9d6e4879a7f93e8ab36d26c7b71eb136c9b +B = 10e87dc04e9e395097b00ff75bbadf213c7c152757570801556fb3f255efde9d1a2f965e7470257d02af73130462a037fe4aed163744cb34adb7fe1a07cab2036785e3a915fb027077f7b9eb66be105c10a33b08d1ba95af296edf845e33520b54862c7e89708df5e31b27c3f022d78823169f6cd616ac8d040c9445c2f8c272 +GCD = 1 + +A = -f37b32714eaeaf89ac225b055f2afaaed57e6bb3f136028bfcd18638da50e9be829bb6cb691f8d872c576e8b853196a9e3ea4034427a2ecb32da7ec5bc4e63ca30339589b886053a006ed8c9eabee1eec392c4cafab1e31d05ff3530849b6f0ba60d26e15a92b4fb62ffcf2182db2084cbc1f38cfe0b1323a75399b57ba493a4 +B = -112f3273fd768ecec46ddfedf589cad3efd5ad34361ecf124cb5ad8101bb89ec78d6ba6c357d518a31e0b674baf795f84765aecbeec09508d6a660e3754266e5006b44a47dd2ebf2d8256b40ccb4f982f4f4c7cbe5b918c02027b87177651a186adef2604a15659683fcf318ae8644373820a4d36a3e46cbd8fe9f78ecd73271 +GCD = 9 + +A = -becb79c951239e2e1b74b37132dd589b0803dfb4b63575ca32c6894f85a083a45ea826183a630dac7e3953e251d8ca073f1bc726fe3ae8f6354a08f81f3a601d6c00e149d26a8beff205c1b6846aa7dd65750eaaff52210da28053a181ea4712767ddc20f024307f4fd54b6d8fbeffca6117cdffbdcd7fa5851b74cb095eab93 +B = -c225f9722aacb0d06a17c8134774d2fb41f0a7ed7c2aa1ce15844c8170bb63a5c3d0343311798cce8378a8682dbb97c0c12d6eaf650a88909f196141b25e07b9656bb5b5291b06243b4d41994f15d3877556e3f3279b2187dbad74832361120328ab470b63858c55a5c29f23396b6bfabfe3dfbb375c8d4976b5832663bc6924 +GCD = 1 + +A = -2fbe6c1020bbd2bb007dc977c809d53e58b05879861d1817db3aafd7762bf9d7429edbd6a98a77ef04fc67e69d5d4d9c835a72298a9b396e778bb8ad20f5c620090e333e3f6f717d943fdf9b0e71dea7ff50836da8d4a6332cbf9cdaaa991eaa1f54f7881d8de7c06c5d0f29206fc83a919c02a6a8a4cbf0bf9d245f5f6fa987 +B = -1c4097c825c37f38bc5bb5455e79479f089315c2bce2594f6cc87cd69a127419ca878cb491eb3096974e2799b0923f3354f5ae642901a5e001fac9073502c2f345c5e7928e1e3de872600473cf1fd5e5098cd6d6d4eba45aa7a19e470c896ac82b118fca177284d35f3d94e9ae399338e344b605bcdd9a7d0961c9dbde86149a +GCD = 1 + +A = 77c22f3e8cc59e6d16fd9fecde834a7fb34232ca43948acfd0276ed2ed7a853810d8f8f26b23b4d92b1bc11ac55d294150f335b66854be580cb2f1701e00d94fbacd6cc8208a13e14f9dfb2f6ff5857f0975901cdf83f434fe96fcb48c79a1ac01bca92a1f258953cd0f4d9827c8c2e356b546951ab82cd23b5e436719663396 +B = b0ddea5e48cde4538afd9d654497d209036c155786b934944223cdff235d67f7d1b3bdc2d17d438ed6e3391d7cdb9498101cb77eb68993d0fc31ae4ee2a1e029337d45d17f2b2a112a7e46d57777a26d1d0c5f16056cbf651b764d3dbf09672bd601dbdf8bb92705dd74499d7bb9484ee08efb884549a30e4e4ce69d6b1a3186 +GCD = 2 + +A = 5eda6669e068a1ba60b72f72c8134be45d11a15fb0d804b0bfe4570054ffc55d70e79a50cc878ca7eaeffb637978f5588b26e86713b3cdfe2a091593ea12566dba239270708dbc8f15e798b1dd831724971dec5eed95175359e1d92e637be58fbbbd70e62e9683055b4c35b978a9f26d59c2cf04f985fecc69fd2d1ba5340191 +B = ed3d33a6444ecbd6f2a5cbb2996e4d0e33a9de4d391935b34fcdf8c5bbe21c4e53f9534080fa991752355c327f2a69b73c71e3b53dae06e6d42ef2df8f5385172661e38f4a59785ae41ed14310827b13378cd623b115db3bd7ec4a20f995f145ae9411a5a05c8d8998b2f4406d7d53f66c4ffa0fd09c201e2740e48fb16d2c33 +GCD = 1 + +A = -8fdd32108f2b9ed4db0987defef367ed4e79897a67bfb1e0874a07b76f7cdb2170f06a76b4c688396cdbec7fdbdc08445f8a2cf9077fb1b3cf557701ed0ecb52871ca56b797c6a146c098ed3b905b0472f5f9eaa728b4665f6087801dbf3fef50a7ec1541b2b4e393a753fb7a1340c52951decf1ac36a92b992c948112e02139 +B = d38a1bfb7bda21ce6016fa808d0d13fd99c2b0beddd69946bcfd107ee58f4ca92d55167aede394fad4eace8db837b2cb1b1d658fb04697042ccecd358723533f3a0c1ad293f4bf63d9458ecec0b88a1f544c48589ab675b27214660243bdefd71cc5119c0f2c00d722ff145ec4eb97a51303c57d7b9dd4de86e7b715cc53c251 +GCD = 1 + +A = 141d3696ae5d9bddcee491423e95edc1417011bdc431cf08bb6c1b5816040e7114c3d893014a431677091b9adbb2beb96e414d1c622d4ae6f16f50402094136678d20e976355ec2d9d1bb6e4da2f53ed42d50d7fff1e5898c1fc18dfc73d5f2498d76a584d685a05ad8bad3d35072f6de8f24ca9b9d8bbe91e386a1d087ed994 +B = -ab89309a3f8d5cd159bdb9605bae55b7b8767540c40372d88368d312bb3f56f0278020601efbdb002c9dd82ac41500d3c6fcbdd0a61ba9b26c6418906407fb6cf9bd31c32a05917fcee3e159c635d56d03036874a836b6b56718a92f87b1c0732115f8bc989dcfa6cfff6fd89e10abc3edcbce1123d3f5a95205305b7baacb6d +GCD = 1 + +A = -eb6d7f4c979a83cb28751238503d9dea46c2003027987008886e3c36a1cf6eee6911dcb770f02e36e66f1f910c71ac359a0a32bc9015844f2cb6b73b1016ba3da4eab3fc97636043e75e6ee8e9a428b58cee71efa018dcc01194d44c47eba3e51836ddffbd963f71d1e05662b797c61bd1e78f8749025b2cdce2b572772e5d0c +B = -6e559ec50ceb01590d5fd485d6db7f3d48c626f9cda8a9d71b808e7dbde671b16607637ca894afc62ae7a9f8c633ff80e8cbb1ad6e090b1e22e2507df844b3a09e36f8023859409a5cc8822a074b8a44ad5b4eb437a7d047601d3d12ae7fda35848375ffd6fc0cab63f3cf7baac905f58a3b4f95e26a2c90199383b2432d4835 +GCD = 1 + +A = f1465dd873ef240dc4335f2bb33d07bf8ae15fe3c94cd7924cd713d00a3429c5064ec235478f797aa1cd24a2934719026d4aacde50c389e06a544bb1e972978a2334c5f8367c36d80f58cce964d52cc83ab714380f3f476d542b40be1c6a53568353508297bba337db8262fe8eb6a821877392bd5beb78ff364bd3492ade2bac +B = -c9ab219eed80b6efbc26962ad411e9d9afa045b1803f536e06d2dbd04e61d2c35ab79975cc00dfacf7be723d7bbf38a6e9535b2c0b477d87388f7d9f1a8747d148a55c729ca8b1212dd19053b45e7ca661fb263cd25a83bb6902c6227a4a6a84dc8cdace1fbc9853c44fec83a553e0bcb0c6cd9e1b5bc3733941de7dc1bb7df7 +GCD = 1 + +A = -a1e8f6bc59299ba9d897da4814d1f001db6e818a550faf6e74edfff1a190fb2cb494fdf596f2b26e605d9887605d290b0d2c3fbbffcffff6785e40ac438eebc185ff84eef0b117268a6236f67b679aed1edda5b1646335249057a8c503ccbaae73962ba48f007c5240e3438762e18859085d1e2c53516b16a19634ed36e9ff99 +B = b4c03a06b61ef97735420d752d4bb654b9771dcf7deb718e9a2c3e144afbd0602e51db737b27b6cc5b563a30a0a0d2b4f6ca105fdbcfe7e4a92b20ad75c09352aa1087caecce52d1630d31acaddf631f94c8a087b97d325dd3da4c707ee571e45bc7067f57d296b351f3f4c1590450541943fea9aa39229e98315df01ab818cc +GCD = 1 + +A = c889e6a57fde763bab859a8da39f6562f34aea39ab9aa78252658eebd35384698d76d7997e034ab41e992074b8292b940830de7249575db91e726008ee46b49a95426d2d9928312c63f236ddfde746d525119bb36e6d9be88a2de2b65dfb1b7bd9ab6b5455a9e86c990496e7f5af49be2fbcec9984a5b07b3a4ced120fc7baac +B = f9914fa1cb14addfd683057b7dc4cd1b0a77ad4a89d6098635ddf2cde544ab0b62c9fcbfbdd80e24cc91c09604ae66c867d3322dfbf7728813242dd18805ea4f16b4925b57ebc3b9ff77e6cc84c8f6903176be75243bcd6a9fc7b2c72fa65a4f1717ea2fbbdea31e9c112be6abca89567754c333d9bb0971e2e394147d37f7a7 +GCD = 1 + +A = 69ad50c29abb11a952ceff86b200ce13e2ed389b188eee0798cb45ac430ede93288fbdf27aade0a22226fc567f60cbb553d660713511b1535ba1a60ad6932a774235395682763d705cc7ee8deb17c0835ca0c68e2c401b28df8132942e3469b0f9b1455bb1a4ca1165f868a0d5d3a95573a174efa15cb258cab439aa25e6b117 +B = 4fc289390ca3760438bbeba3c0643faf9aba231bad37f9dee804afefbdbe405e7474001403fc28d69a131feb19a7dc374966c00fc910ccf08a9bbad00b8d54992d3c6b7b88f7053704b8bbffbdb952ecc9b74ab00fc81487ff145d2c0b114a4d0b3601ecfbf9fdf0c427fe438cd41e0dd4254b41477e17171f2944165c95a764 +GCD = 1 + +A = a6958b10b000af19622c74c60e835b21b364df3fce9f5c3f426ee379c362a55b3f255b54a98f6300188373ba049f91b186d5cce0774b68400f4c5c09184e8d2dbdb4b02608881fffe4d5f9b32c4bb51b9b4799f1458069c3947485e1dc8bb8b04a21b8a824205050b818dcd2c79b7f935864ae7a686574f3a1fc9684cab8672d +B = e12f293ca9f9bfccf620b3035df8e15f2a6c0cd6f708fd0fa5f8e22d5209a85e0f30293d2f9785cb40c685ca576c5f202cd56faf995f362990b49cba88a5ee9c9bdc85946bb228797c424fdc52d52cd9a7818a822aaedaa1b05892aa455f4a311bb86b71222f54da47ac466f957b37fd93c498aedf051a9a2eb44fcdd513cce3 +GCD = 1 + +A = 7e7667d9c324c4b38a6abaa9cf16de74c8831cf96486d563efdfd97ea9fd547e79b10bfc18f05e685ffbbf1784daaad2774f209d745360a45e3285683784ae16408193a2646fc4437f7ad839fd53ad923d1db82c90fd6c7660b7bfe2f9e821b0866d0f6244418dcfe6a477345e54e7aa57cc12d3e6a0ebc96f6e42a953f42e69 +B = 8f7eefd5e9b340e6c31e9550ee8657409267bcccc19cbb2d223c81faee21c7e7c61a5c68daa98ce48c43b655abb5255de29bd3d1136ab7e46fee2a66ca60a231c9e708d568609644e76a4dac5ac5bcb0c7e80a83bc046a8dd3afcc653516ea77ea7ff43e89a2507e75774ef9d17fe62550788548fe7d1345de98849028e2dcf4 +GCD = 1 + +A = -f4aeefb72ce5bc92be21102f9bde324b71b751ca2cba3396b1a0cf50292a7095ab636d1155f25a389ee219b8384c49b27240ba11bc500546fd88ffad5e6b98fe942991dee7f1ec312c1cd7bd2a29e031f1f3e2daf07cae6b9e7ba0f2255c602db347a82ac6ba9e660acc60e88347deca1bc92d8d74c03a9383ad9a4d8df95faa +B = ed96f4f15cc3b6ba18153fa6bbbd603c0d5e7a16506f62a07a68b128705d3d0ca4a234cb8bff6b132efd981069305371e2f9017a35e372431ee0c04c52c519781e90afcce3261f41c52fa7996b3d8d0b7e8008a8d0c753254f69f25637ba6bb666696048c2fd57cabdf85c4e7cc1806b4d5098dc3a1d7a05358b73c59f68c686 +GCD = 2 + +A = ad539ff8790907f93b5d7651a76739c906c2a05a8a91cba1cdc015c0052194c7a00047201982793225bd756cfcff9078550e655ea91a0551a64863b38db92a1a9b670364b2f81f4c531307f3e59216d8cee1c179c5b9ba7b5ecdcdbfe1555b0b90db28ecb444dee04cc19d4376fa969de9661405ffe26b86d862b1985ff24e86 +B = -14dc76cbeb5d0d13cc1fe1a3d7b74ad089d1bc817b8dea5a06f0b10f47636fc7492b5699cc2f4fa1705ef06c4096e2a93924e2c16e0bf934e6f9d84222d46fa6e2c3081dc4aa29746256eecaffa2757b6f2ec06ae21f8d19308d59196fc88ffeb05dc7924627586c44f8e450775efdc85444c86fddb7e61f9799f3854e3f40af +GCD = 1 + +A = 42256a176668c404a39223d36216d2f7e7011d298272759e47636173b18514adc8bab0a1e147b3bb8432e1645544d7e6d2591995e5ca6743cabaaa16183ece7b7e846d786c4fd53708ffdf5b7c3933545690c42e9231693905ef8391f9344af8c85015416baf20d36d2ba91c10d4fabd2ddae51f4d2e9ae8fee40221dc0f321d +B = a01fdb11921bf592401b5735002a4a0c3fcf5496b4d4c51da1948d2fcd5a754f51219d7d82ec312dd330398ac16dda72c15fa4cf4893fc01c647d0e87b8724303c31b2193e1113a2ceb6160fa5b0034426b5e7b16c189abeaf23502920cfa3323a27d86ac2ca026005e8e27f24b036ac1f0796143f97a1bca0505054a27f5a89 +GCD = 1 + +A = ac294fa2025e419ce04a308b040f002ab6e926797de79092371ecebcbe751563d311fda0b0b49e1c8dd83d6bc36c2de915e7333b88393a9731a3ac17a8881e876688255db23147f489cce94aa12424f6564c8fa25fb0d60edcf0e86fc0b59f9e4228cf89a5add863c214f25e3023d60558e9615d21cb797cdcdb1caaccc01fde +B = -f9be3436e80285f1659ccffe8e2a54db6b72d9c547fbb08a9ad92efbea1e6804019bcf3766fdb6fc33ade6d95d8558fb811c0a46422abca2d101b9c8ed7ca7184738543d172c71df379a74a03194b36b760b716577481e7e80f9d8728690a2418c94eec9aa54bf6a1867810ccca4cf3010eb7cde36d840627187c6bc2cc881bd +GCD = 3 + +A = 1bb748bbdf139e00cee6bb12223e1a1e0c8e4ce80f69edfda0df5bf3eef4364f673579790c88790f1d67655bb4b2f6acfc098a747667b396a3f43e47bdc4efb768e025288953226554978035909de2442212f9f5e18403e49295bda1d823d1c03a3128991fb79f44c6536456988d6457fed5b32fd7abb6c738344ba617c62940 +B = f73ab9fd39a618f4b6bebc775a73299a56484751c0bd87dfc322b702dcc1b932eba527bae1f6df286ed9b79d0dd9e577fa2f7eb0508f8c688c43849087a6738c5154fa00cb995b5a681bf32a4a8b74de5c7d24a1b17cf996371b38292471fe176b070acaa2e7d5944d1bcd3fb41f9f7496aa9d12a1da9753351d831d8689786a +GCD = 2 + +A = -62100d0ea245f1c0d4c44c880976dc52a5b56640c266d037c7498527c427caff7cf1ff023c966c996848b198e61655f0bbdb8406fcc55f187d0f96ab1b5ee59e98c98cf066eaba84a40146fd5118bc408f560b57a937c88efcb8be483283178824dfff90f9d03f062aeb31a53a149335692ad9615f4f5591d53f4cc98b03fff9 +B = f9956a7365254b161b2eb8286630889110b3491db671e79debf5c244bfe3aded448b8edbf43f9c1dad3e13d41980cf8dacdb4746419de22f86b2d11d76a1965d8055759bbf2ee1b96470236486359f630a929eb3180b317fc5fe1dbade5532a43a73bfd0ac43b1edbec5290faec53ab2869771d742670655a9be7bcd8971e20e +GCD = 27 + +A = -1a89ce2299d269abcfd05aadab7321cecd718b733ae6140d286005483ebec431cc2fddf1583bcf4050d9b527f8a3dd761d03c9bdab6c70a816d3854261ab553ce6c2b8a8d4106030877881c8da4c522f5c690d2576a9438ddd04f0866f3c63ec559c3c1e1c316d4de2b4422769b233df68622503926e7d0d76af31cd909a79d2 +B = -9bdf5847ada9f010ff2d886d635a0423d94d58529d1de24d97535174ac087d98d784125102961791b9d3b2ebb0d26af8d4c858479c1656b735f5433967a534e9dfc6d4a336bc9868c0b80aeb0a6b2b01dea90b6422bf8701fccb0a6726c2479ba00338b71f350724713d7aebc1bf3f372d4b956643859f55f5e7d46d3c7aedba +GCD = 2 + +A = 8e6cfa0aed843d7716e2430892a7c296ffae5a7b94dd724a53ca5895d258518934f8c57d108a88a194bc69d26c1df574ca4f3bc8322c78570086467f9e7728d8f23e5ef352cd975069ade419a334a1b7b0e607c3cebb4b47d1004618985fc330862240c7adf83bfe8cb956783d43de28f9b5ccc5100875770e46e320f919db3f +B = e90e670b795faa3d3b44374355f087305eb84eef68f395f1985a4dce207547a5c1880d89f2284e3fd312e67ebc9ae09ce48d9f7fc25559935bbff5eda3dbcb23b3265c8f25ab91f4c604f9589d48272709a78cbff7bc693c6095f44b931b422734a1d7751cb2f35687b0656d2e9c25eb8f2e1687a2cde452e4c7e13f380a3320 +GCD = 1 + +A = ea8c5d18a562b2a5059242c12676bca709c309314efa13acd068385637b1bcafaa752ff9d6747fcb028eadc0227436327da6c9ac38cf1c10f49ff599ae149e7fd11e0f87629cb7cfa7ae623a6c902f07974726bedcafc5666ed6c0d4d9be32c36eaeef0eddd81f8f4db807a9dbfb5976c0518393033ba412d7e6c1a717b5dac +B = 86b840c6ea9f7f1e02899a96dfb00f4495ab9a867e98d38f78fc2fe169c50339564056d650a18490e644886e0a82d91ff9f964e807376673377f8811f1b759ba03dd674f701030d731d9e304364ed3593f6b164859fa96f9616848bf8d3f7df114dca6d978221d491892b72064cf64a8d7bfef322419c55e1f5bcfb9895b7fa4 +GCD = 4 + +A = b8f1f9f22d2ad3ff7fd61c2207c2b833ac781b683dd83de59f1ee85d036ca933295e60337ba87ff8034a0abf94dce4741c9842c44765c1576797a11951ae97123c642d2c6e71ff974f5a20c8a57f51292c0e15ab538220719531b810ad8fe3e9c9f2ac9b67e7315b9cb786df65e2e87afd2a05629fd679a9f04f9a65b1dfea1b +B = a974ea619e4ead5de86c2858dccc66b49d7f2edcd33c5ecca22904c6a9c6a804f00516e9098430ad924b12eadab1febb9f59883a84229f19ef22664fd6b47d19e202635aa74ed8827735ce294454aa2ee26e03401430e7c7ff91778c0bcc0b566d25c41d110f8c7b5ec407af3a642c14cdf67ed8279e76805b6031efa946287c +GCD = 1 + +A = 9ab3b52f06efc2caf836ab494759c8e53dba44c50b9b7e9c2e1860b975d2ab8ac865480cc5f7c6d55741b20e3bae945be87298cb42a8b462445d0e9c3273c55d744512037e104a5a16be7209c288601c23edf35fa833502305083208436400bc7c7b592e82e957f05fd6bb98e0769c8eec8352279ac62b269d4ee940b942e825 +B = 73e264200bf4dc4b2885d69351543e921ff914bca9b824546a0fa5fd9b176b20a8bee890b9165d7aa781c7f8217d6ac5d70a07211a20d4b41e0e9ada44d2d0688b76244a6837844acd3330fa69bf72c4abc5cc6b1866c9796d42e8f4fb1929554d50cb77ff55a18bf43fe94e3c2609e27e51ffe5893879a889530b345a81e626 +GCD = 2f + +A = -18f9692bc1adf8abfbb1b811bf4dabd84b07824813451d67edc865faa055049c45ac51f9115f8f2c19297f9baff1c1f4f59c3d59ede9b038dbd5d2955244599f28cf4886751ded5f810240d45fce790f9df593e1f5710945b3ae7893f3cabac41bf0f249e23d468006f13f69888f2850cb49ca7c929c4a786f85c7603c22bdf7 +B = bc64002d4c69f755ed2e0f7b26d55701b5b2fad5e04f60728505e2e2103ca28f0d99182f49d0c76ca882845289330e9db88926bb6989a480474febeb8b3b64aa0a7815ad3e82937732d6cf994667e309c0b508c950b67b22a20454274be3a3c2fb7ac729ecc2b7733e3cc8df24d78c952f1bf51cc0a341cfb04834e784ddb832 +GCD = 1 + +A = -5c75650f4c0290f16f532706a9d56a63b7d3a5e0e942e733552ffd78ead7ba9172e1d5dada5888c16fc0abcdc85e01ec0ae41cbd9fefcd6736aaf0599c0014959989f5c09bc2922ab8dd97db74f8140c624d212574fac14c54cc6b3a13e54493940b33950d913db1e27d418dadd44b69d975086a841f71581bbb2846f04f9dd5 +B = 3b42f714d0ab3e7a3d6149f2d952ae870acd9a43cf55300e5bca92ac5866f34e28e1a79e40ea1794a5bef531817222c39259e595e926cf23812ca311bb3435c7efc8b639c42cb1411fcb979925d8fdb53de0d786d20ddb081e1da1272d89a1db2885f388a8b07950cf0cb5199984b7c70901926637e9d9a56b582792b31fd49c +GCD = 1 + +A = -aa355a852724adcf7a07c2ec7145afdeeeb1937e5835e75d675e45e81cbe7a60d7c2fed68f6a2f95bcf31dcc4bc15e9399318db8896e9b5bf21f7c63eb74207557151e9fd5cdafdf970a108e77b0e6af46eef3a5ebe21f1b73cdd2a863b47363c962422d220749a04aa598b47fd6babb328d1db4446cd1b954f75f73e54a8f86 +B = -98f99e43a024078df5ef11197328e8abdcf551aed887eff045e2c543ee98d2617bdb69160fdea02ad0492ddc4c4d21155db8f4902ab5c9bbc275a7edb61308689affa1f913d33ca2f5d0a556fd336bd6ae2dd20d1959ff78a931744afed715a09845d5f594fe4ebeb4626bd015e9204966277f9e82175689332514606e284509 +GCD = 11 + +A = -4c74192a29f90bbccf0503e2e6ebcbfe3880c6723414ce4d8782f158f7d908e143aee42f123afb2486655d1248d14b6624158361b53a15986a406f457200d904adb99ab446467ae6fb95103c34bf23b664171d625b6c876f67dc5e6e7f1a74af5f6fd14e6d8e09a6465f311a012630da46419d46c09c95887d1ac3878e1424b8 +B = ef29f04bbde0a295308eb4c6e416e91c8236a5eceae5ccd8828a3f276ede45e8a8b76a4cb0fe60c4e08194d20c366b499d2e25a7b9c0b7adc875d36f55702953d98b257458c04ea43d4343bad9664444031a398809aa5d0946b6ff9b2c335e18243adcb6659b542d74968bce28d1d95b1c06f07e17cc1620e79b114db0a3089a +GCD = 2 + +A = 8158ec0bdab042fe15a5f755e090b81f59d8e1f6d1fbb4c11c21aae1c8e494f1ce6795aa8c653e7884c269586be9294599706496edcd66cfda237799df6c546d917fe071a97a88ff1d77509b0e828d8073fb17697c3bc37a057c337812e8c6aa9026306ec40b622d47b94d5602507b1055d54a97ab7d8fc7b06c7066e52b50c5 +B = -a63457087b14920bf1ab9c63d23382defe14ce5b502abd7dcba2b3f7f78f9569cc111b74ba19951d5047947a573017533021da317f901b11c7f2a62876652ceab888000ef51e3d4fab953f1267db1b91c3d7e3b559932f4a83fb369226b9458e9ce57d98171749effa316a379dd3591f5283af15584d72c4da74dbd16f058bf2 +GCD = 1 + +A = -46f241adf0dfdf28907dc97ed2fb1a7d3dbac6bd109cbbf200966e014339317ee150b3bd56fecf4637a3ac368ccb353c7799223580882715262448bd7d9808b700ba10d761a547d9b65659efd3c501891e7b1f5d59486bf9263392e554235c080c0b27ccc6c746a8b6816c7cd2e57df346bd618a6e6167aa790ad50a0024c9c8 +B = -cf63bbe406bdf481e370e5071b1d5e4712a3a625a1dafb439a6c9e8282550bc67a56393bb9e7b8fc9cdf0d377c43559e6e72841b470dcd44efa9bc707b579005acc2481728897c6966432093f8971941ab74fc098d3d20f371d32a4345f44f57349259ba4e59f0e1c67ac1438125c41270c375517ea47a9f745cd9acf8c02b3a +GCD = 2 + +A = -e5aba3ea8c24bd2a084dd957dee72f3e76878b032b7b194e74f42545fea4becb386e77154aab28d940755f6a03fe4061f513ca1657eaf1663eff9878449b987c70ce25686bdb3f2667cc2fe694520365a9f47e7210b5aac817d9d46fe35305932d8262807421166529f3cdfb749f79df73e29ddd1a322d0689532f68b78a492a +B = -27693d6cda42168573773f5fead3ba37c9357a9004f270cbb381c8841af9f5b665db287e08076e92cc7e17cb96bda789fda7ac9828a3f50199b57303e8fe0ea4218c18a435be863f27a0db4ab5361e490f806b25123f4b48d099df9e10fa3bc233a76286edcfabb18c27a0c5dd7d05a69623ebcac8919d0f29f21ada1447445b +GCD = 1 + +A = ed01a476a5396ec18bea640a4e84bb7bd58ab709196da56e2e1b68f78e728e2a57f4f1b07e783c0985839955188174ca213e8ab41159e15d352570a74f716f581137995fcc226c662c2999c1fd136d51ce56e8b1a241e45a49399d3ac6d9d665e11cc0f6c1ce343ddd09fceb16a40fe4ef4bec198a0ddf4c0f8dea0152769bf4 +B = -39412cf40b9991f1693fa22aa2697ea0332dccca7f3c6c91c0bbbc34253e2e3d3bec4684f660933c96d77ac09a5bac970de56a11a36b898d4eef306581c3ed829836b2767a7fbef0a390a3e75658ede2d32244ac3b88d0625cea38a1724e3050cd56f12999545a9583e5262c791c5c9307953b5246a1342064ce8fff5f55886a +GCD = 2 + +A = 45ed2e42cdd46ebd9428b2b16448e3ef9d0a4e62cc24f5db01772d3ddccdaedbb3b326f45641204fa3fe9449a62afafabed9fb46e329bdced67d732b3671df82690fd9176501b4c6703763b02d0726df1d103f6de16f4f1ac11d3ca7479141a8c418d775910ebe2e12d35c3f98be593e077c006d68df2f7566a148d73f89839f +B = d55b0413877f29d4615e01d77d63c648dc0c49e403cff630aeae507839027fcf3b10c6e529d53c0efe0d78ccb7f2eb160c854a0cbb56296481825736bffa81cf4c53a30ee568b76b1d33a43d8cd6f0c5495fc7c1687fe97f0973e7b2cb196b9e1592ec1805ffd3332c887350ca356c12187c4f6a744ee6f01785cf6b4d3fb629 +GCD = 1 + +A = -689cc64b461c27f2ba5e0ee0e92eb1169ad4b4fd5ca342312b9768597174035ff3dc60d45b88b807c9df3f96701bf3691bf207542cd44004613e0fdc6fbe17aa3099d365531f8af11920bed14f10aeb2c8145c325003a4e5d661bd308eb023bdfb2d7073e4da382fafbc17e37bfb381b4e1482a6a9cfef75e89403fd5f5ae822 +B = 8c396d16f8f93fa2588d2fe23e4f9290a6f063ffa8902f5ed331ce8e41844ec7fa39190c28ade85e63ac0f8de14390de4365469ed14846c4983493974d90e9a95e746620eaba9210c8e2dc65cd8b736a0b69db069377d2cb528dede5ab1b8187b3113c6dd29ad30336ccab2640f0db8fd87ca3b5efac7646be0ef282b292ad1f +GCD = 1 + +A = 2c50be7ddeea610c09882c68f159759092d7f59f015c6e7bfb17dd37086c3781d501e2d0b070435d00c830fc925b69e3376858db4b05de2d334c9b85274eb3f73f1dda800b5ac462cf352b15f7ac9999f5fab3d714ec72a589a727db26ed26c68f89cdaebbe1e34f87a7386909f8fe15b07852b6bbc561a578c32d5aae059fe5 +B = -9238dee9e069e1741534521f74f0eaca7bb444da8722189823a4d0f15dc45410beb94fa3de6a8c32d6278464c1f668013ab49298e956f73e62ddfa29b64fa16a7dbeff63353987d0fd541f5bc12cf941001f31842dc3e904f02926062990f552d5ca8b0110ca414bbbe4a4d63df4794768be41024261233834c4e73b6731a995 +GCD = 1 + +A = 5fa96a794101f5988bb9c0f9ef767990676326b06df4e17250d5c343e0ef0b8b47061f5200c2e500086d71210e240d75aae00aa1fa581cf377ecd908a560d8cb63984321a2a1c181e300bba2261d3f74c58464dfc198b2381209f448b38557172e734c00e90ace90834b9c1eb4632c9a841301920a99a107721914f802a0a4d9 +B = -2bd44b1061aa83bd81c67fdf8aefa58613270a82f0807ced4834a5be3d048688d1025e3acd80c8962751df5b3ba928e1b5b0fa1d7b3b07007617854d075e7ddd5b3c8f4b984c2c9c386e2c181754c2e5726b80035a3b2295e1bd1890080d9beccce1db010f0a09865b2812c1e624da804d1294b034b6b5e86d23b23783f8194e +GCD = 1 + +A = b5c8f36365148bf442d254d79aa3f6ab2220198eb38f2991ab5e541e4b6b85ebec48753b979d39c03d8594438bbb1fe0d382b505f05537c43428ea9680cd4f52f60ab6a23b839efb9d7984e425033ce769d58afbc052c7643d4e08c932b9eb4e49349a3976025555caa874ddf02fa22fd4720947a8b143a2f53a9a822b1161d2 +B = b1b9e9a36bb68e300ca0e903246628e77c98d932ee137e6be07d8e29277d3e773e996b1bd54dc6faf4cddd7a291dc84ffc5f86a7d59f86037d25080f3d44078261be7ab55ab4bbdd4828c8c4eb8e9c842e6c089fcd5bddaab276d7aecf51335958a083176f2421a4c5b77c887f90621f8fb43ad6bca5576ae28402cd58f4a1bc +GCD = 2 + +A = -2cc807a3d76dc0860cf497175eca612be4e42167e2200659cc022d2aa8d6838f62771c9bb2c4894bdcc2f13a594877dbc3bba1eecb7d58642f24d30186b2dc334d5c4bb2efd4808d61a7735127e5c51383e430ba547ca8a9e96a4ee73636a86ca9b5762b14b8449ce8609b7fd3be627b0d9747ae3a1fcdbb9e9d1667544fe033 +B = c1ad7129b8c5e39d2d588a9f9a4c15dde7e641e6996ffc4f3efaffec423bda64d0f342c6f992866bac067dff2fce23bab4c761c98c3b2ff4705d503426b84d4ab25bf6ed9646a346739dfa9809cce9ea29f040913e67cd22cdd00d5f6de055da49d1439954402071113a9b72b4dc25c114badd87e05da3cb896457b9d8674a89 +GCD = 1 + +A = -32f71d850eb1eb3fd4377095b5c5a0de35e45243f1862d4d44b0bfa518ce746c9d051f1e9a64a48888c832195b173edb3dd9b8d2672024b4c3b7c70164fc5027fd0363b30b178ce50eb3d1fd29b1d6183a216608d3661f8a893ea8d553f3e3c96e106a7db0db715c9356c6ff14ca5841d149b03dcf8a2881360c332685800dd2 +B = b2b1eb727bc60c5ab24f8a6f3c547ece158b74f5993a9fe005e1c4942effd1b7ed2a1ea6349a310b85d03b555da4044e362b99865afe15a3671748f75cd5294c62de81c055e3bc116580b75bbe616063705d36e6c468418c836c05ddc753f8cb1346f09a69aa5f54d2997e990110317666ed32a509b1be077443e8b742db743b +GCD = 1 + +A = d95a2a9d45147d170debbf4156b55b45af102ee2dccabfc99c8d0fe38828478947431aad87f7ffb084c8652560ab029c70e7a1d0c6d8219bec65dfa4f3b47f62eff44c78e14ae12062713b98ce00d94c0ef459966394d932a3d77cd6ca0a3989c89e3fa5badcec441407088d038196c4afa59593edd209cb0e4b85ad551fa92b +B = 3697cab3f684261e009892cb528727f0a37cddbfaacfd272333b514e362c2a15c486d99bc2224e7ddf51b8d49dac1445b716901bcf6fa7cb5aa12e69d9f718b1c6256d16bc0187f6f0f9163bc32406cdaed25d47758280907bb604323f6e9492649cf52c7f2961958a54ff5fbc57eb91e2018ca3d41f043a3653c8855f3a0247 +GCD = 1 + +A = 24ddb0657d11a2f57859018bf81f29f23d5ba0c62e70798ad802979718eb1d50ab501ee26da2b91b2400fc9d2f8456e579a6450c0f636aa8212f9c225747d2f2232a02517d08334ab96c0aeb0daee71afd40fc47ac11507d12526d056527571fde94c940d600c6ef1428c89cb4344fe2dd04807b12b01f64d41bf78a41aa3820 +B = 4a2bd79379a02605482ebafc3b86b2da2883ff897a5aebbead62cc1bd469bb355a397631314025e78af5983c9a475091f0a237a95b4123daaff1f8a49e8dec76cb1e3d210dd1b88c4b686b9dfbe304a8b813ae62ef3b921b77eb836007c34cee38986f8184e3d5d9f99f0676bb2e3fb5009935e5c61cea295f7478f7d7535fa +GCD = 2 + +A = -74ba1925c0860eb2507bc3d248cca2272763d4f51334fddd21ebbcd41b74626634b34cb697cf48e5d4ac8310e0d6dfa37360990b78dda47bf32e2fdf33755d908fc63bb191278405697bb3cfb7d785b9a50822960a2b7b453f8060c08327e3f723d7825694f84ee122a185538f434ef6962d6d889950dece705ff25f657ac501 +B = -c144a90bbacb1ed0c5a5ded71780324d6dee78456b67585c57f6f86c7c64e9fae64faa1f36896d9be3252b2b3cc5632baebeb3d82f77bd6470be01897eb17e70b49593db7ba4675f802650d7f031d45544c428522780fc6680c50f0a78b342f8c259d0253582398a2f2245db60eff372b3e705e58cc56d9e621b1e3d718bf454 +GCD = 1 + +A = -a4536de10f37ed1ef5a256b7a1fe0bec93350c4cec8d151fd53c566898cd3946a353f187c769b3b7f39abba08edf5a3b5987b56e2780605cf224a759be00328fd99d7eb5c76a6800586e8fd6d3030bd9220198e8278499520afe15c7353adbc403865ae2e33f9d75ed703f333414a374a65ecd6d93a72c55d97b5e0f2f14b40a +B = bc65a4fb99f6edac37bf147b08b8bc9a59988907c719a0064f9d6de1c6cdb8f839809d1ebf744e0a02d02a36c270e879c5a7745fcc85a986ac4dbfd21ea6d2944a239e34af1e8073caf046514ad2fa5032b5c20d8c708d5df47801a076b15d5c1b140620f46a5024b5d9d77cb22eaa557d2db9743445cad2804ae94d97406eb2 +GCD = 6 + +A = -a545c033a325fe399789ce9a7a645743db86936c5e0aa6d16bcde482a66ba29e43c558a883d9153e17cba30e734679b9528d35ee3d75c1efbfce483501c6dd421f4914725de5304439ae86b05070c7d9c3b3a74f69b5e625138bd5cba8b0970e72798a9e2bfe30abcb5384e6981444b009593cffac3c47107afd5a72a2a07621 +B = -d5611d3282e737ce71460fd387cdba554681aaca0840df41814f378cee57e15963c554f17adae711b6a1488f9f4349676e0f2b59a115f43ff3b16f5b02121121a5e29f7e797341579e43b4a13f5a4b672a2868d843c88c2e3114a68dc33fbccc9c0a0234d9ea64fb3fd97e17f1f4f1f73ea757dd21412906cc3dc25ce18d4d44 +GCD = 7 + +A = 6014790ff9839cde9e8140ceab2a5cb198098feb5ad5ee17edd581c4e74cb8758b857f59c91525c40b2d147890ad8f1af8acd339af61eddce824dc0fa735efd3a2c05eeec46776fb306af07683dcc10ddd4921d34cdf9acf9e1ed8f798ca556832cdfa5a366ecd9c8630aa62f5f6f1dbd154e7d6660d11293ba76b5b6b8f74fc +B = -7a82c8643075a3d923de4550ce8718eab9954353b35dfa99f3fe9c8da450338d103274929c6bf0c682b7b1ce3b41998a418d96a4425186fb3efbd256bd0c9edc11e896442d13b3a0a30690cc6de6aa533a55320df2938c04b5bd029a5b308f0ee78a1482495b60daf8823d6503434cbd1c26f776dd088096718a9105304e2492 +GCD = 6 + +A = 2f94d61eaae0b546bf54b558ed624106bba5c4b6150830e30b46ffd1ce324f2c604a8161adafffb09e1e54248ca0d9a0a17b1f50a4874659b7064d8399430a7cd4de3fa1f0dd66f1ea1971581027e5cbf4c46268ed10a878f0e9410b07c940ed20381a86bf77dcb23fd691f76676bb197d6103f25690f802031bf547fb798741 +B = -3c5544370a941a85aea5ae02c70eeb376eb1b0671a0b77ac40d82e2da46c48991a8ef6a65129584949ccaadeefe238b64efc360137addaf5195675978acf980e7184a4757ba246bfe4fb3e8879ad8e6061c0782e398e2af37963f25294ba5c819f8645a330a57c1cb6f9a58d55acc31be9167b9ce8f6f5e0303fb125262612d7 +GCD = 1 + +A = -4786d1607a1c67e35da02e38d639d1b81bdbc3878ba01aacf4a8a9d52b8d4ea23e76dc5677e1e4939fe14d0f98515bc0bf43554fe9f1161c155d005d3e96e543c4ce08d2ed891bc581e33a6dbd9661874a62d70c008f5c3b58fd627a22af20a180737742e815616ec6cd80c53932f6e2aaa73e16aea6d95a86e368f0c726e138 +B = 4ef4dca39afbdc86f8f21c53207e7eb6abe43b1fb044265302aaf9570b3a00ec4ab5e18b3910049a5414f409da839f9fee7240c86cd31839e45e73413f0ad3183bd57c0635e2375d0df0742e3dc1e65d92910cb0a74a693e257e0ec1d19a804954b3f08001c3379002bb798c267cc73f9519d100d129c050cf9ba88436a9cd6 +GCD = 2 + +A = -6e1a665d401db6eeb03978c8495e3a5702c6a48dcee7ebf25711582cf27deaf0403d16c7022a7766024835c92259a6a9878026d91c50cce94ce8975ad0d092a521a197f2975d5a38b9fe48f8b14a247d67f0c6620ebeb11d8702fd298f77ab5a46aa6497e0e3665cb6b889a67139541ad8326097bf4c2e1a47d221856d74bd6b +B = -59a2474909e5e944b00562cfb5745d828b12a5ba2ca17fc3d68bccce25adc39f029fb993e91002b8edeeb6324458e541131b760f1c113162887ecde888597dd6c46961e953e1a541b45d8b852d201ae6bdd172cfd100c00d76a4da200d7b819fa92517914f5f8d6adb96d365e6f1abe944d927043bfc29cd28ca41a4a4810154 +GCD = 1 + +A = -950b093253cb0facacc280d0d0ee3fa0a273411c32009962b7e156e0786cbdc21e4695bed9ada656c513d25dce0f0807f695ca386d89d5434cb5f3a72bda6b8c0e5521d55b395b0f613c1fe77eac265abaefe91126ef7fb70bc7c3a859b0d5bc0aa848bd4455a4b50ec2aedbb1d585ca60e1d5fc28c96db7ce532e07c381bb7a +B = 50f3fb76c9b2098efc136ede4bdbd1a8a4a341361fc0bae9cd12d66e0e64a2d5b5ab407613325dac205e06b645e3a5bc1b60d92c9c3f5367e9026013fc828e9ad4f27b1227b643f880e86c11e2829dfd2d8e619c1dbf497a772cb86f8c63acddf78f9bf460cae7d20416255f3685796887d27a6bc06e49dfa397487397422f8e +GCD = 2 + +A = 5dcc986415f0593b9bae27f6d9bef08249239d0310e3e911fc2eb27d75e0c8e5754eff06e2a864981ff69af3bcefdfe0f990fce0b50385988910993417463afc4f7d408664a817fb7921d2171db32dc7dd10fed62d76cd8fb4f59c91f90b58ff973eafc61aca941c3cd9195e67c0381c4820830a36a2392f9976dc87720e5f9c +B = -ebf3f0a9d7e601b6f7b32d73238e404b01053ef443abe334139b366a927f876f2e5ada10a264a96d993ab73a0b0413d87b5b5f0da0f47d44c317f7dafb1b10abcbdef62fb1e50e4eb6dd4c007b2af3efa398cb0c126920d7527ac14d92afe574208995c62a6a0e57747c52f795b5c14848eb9c6fad9e995ae551e94d6a491930 +GCD = 4 + +A = 113588007c47c8446bb9327edf9927741b49dd860308265b5599c08671828d884036530f50be121ce42701cda05b48fa6fc0c523d11d6ff9ec77103d43216845026265bbd441c5b0291355dcf6a70ad62113ca9737a2bb380a5ffb2af186e497fdaa536a613d66046e1fb6ceadf734f9609c6c04547e018139f871272bff16ed +B = 2ee5821cca2bf68179241aefe900b017822f48a2258dc7430c8aa361cf4bc57185dc14fdcc358d3219243bf2031f170b651a9da15af58172edf783092ae3cee1b1152b9e96faed54e36b47ad7cc09c8a9f67991024cdff3c7f02d2c9884b8d6611cf8eaf594f60637a113a1c558badce1ae038f36539f2321d4bb0150166d203 +GCD = 3 + +A = -f0a5f2f299ff6ecd9ddf7783a146ff16de2c5824046e4817fcdf81f2bf98fb77079523ac29a72441323c0d2f03e6cb1d30507018912935b8d7c744189b938f95d16472838cbb201c3bb13adf06d289102abb45c9897c90530454e1f74e3c6dbb4716c007557ef9dcd2160ec2350fe4defc8d2688a8c23e38faf957bf1fc1e1b9 +B = 998339cc35c2a9c037b87a81a5006f432c1126ba4e730d1ad362bf03895c0a9eb5def7c2dea1c1aaf68ab9c8dc96e82ae7285181d237c5b78a54119e4830809f52668366cdb1ea0ed2813a9d2afdb816b8f5eed82080122effb3fdd126cf1e2da6611b0d08a34184fc7a62421da140be3189d2d6672b8f562be9c83da10aab7b +GCD = 1 + +A = -39f3293480aebc9e9ffb9eacd6a5931519b463deda0cb1f17fdf15bd157bbd4e5298a5a26355473b3ec3df00cc10bde46cefdb5b460e68a08162c95a52d3fa9d3dc0ce86c86e02f490a94198c8b367167feb7cd7e5749c2d8aae5064ce3e89dbaef716db72d6b91a742ae136fbf07dce8180e694a12c976ef028b8f55680cc7f +B = b5ec8f244eb49a949f59226e2d1c2861b5f1730a98c35bd8a17d6b9618619ad5a38d3cea3371979b917e75402535ae3dc27c864957866691dd4378760850f43fc1688612a116d1568bdccacaa2e19a313647fd9e02a749123505ca010c0149837009e1bd7407f930baa68b4c00b5946dd9b2ace8790b0afaa6f7344b86ae27bd +GCD = 1 + +A = f20a84c97750699d43ff9e226de9f6b361deacd8d7097322e940f8642ce072e6bca4169b38b860e7103a38714346293b84488bcd5faa606c64daadd186bcbec1595abdd4a43f1170d19f46ea98b205280abb6d51b959654411093c79cf48f7bd48ac045f22d8cef5470d9ba95beaa64d35ca2a6c8449e3ed68b8e2aa633f62de +B = c33f2010c87dba2b97e3e3a21967fa11e3ccc63093a0e64fa157ea73d9d8b4df08b7252c69751ea52775b16626da8868c31cfd74f4d582688633f8b8557f2cccb80b42f7811c79e4c2ceaeb168c084f5899209b5b79d154941052b43310090da44c4ca540f790c92a4a049ba4c43496dbde310f0575c84e9bb50abcac5f1b917 +GCD = 1 + +A = 6cc1106b17e4d67848326d4ade3646de27d55397a7b22f620c9db48758307db9af9944d4582550724ac5f37fd8060fb2dd45c8fe3eb7f2a179853eb0cb186a459d447af95a9540e1a2a44d91b697d66cce28eadcd61ba38bd5e818e279531c654c4455f775e4ccb5ff8becf4ad64f9a35e8184b539171f602043e6669056a526 +B = e8c79e03e683b83ba549270d76ae3404d8479995c57e2dadd728ca22d0919b64b4ca36ae53c694b45123d68970d9db4f31acdcee16c375010fbc954f27b37aae4c6b3c1d9d9c762f4db1250b056bb20292216e1066dafdea119ed9eb4748d01018d1b0a66bb1fd9f6c9da05cbca502e6ea24567d1f1f72018ba5bb36bcd04503 +GCD = 1 + +A = f1a3e6f4dbcb46a93a87a346e734cbbef90eb5fbe1fbcac34a1d676e12a2f9d20e0815fb519c69b5fcafd0bad7c750aea40a518adfa761572577799e196fd727ec31616d6a230d9c7f9c40d27517672f84d063b958140db929a7cae00201e0e6a8cca516f5df0d749f64ded6cbf80646f8f689fdb87a3d2a316b0fe5cee75375 +B = -50383f56f74b4436b1b06d7c5fa850a2352c21052eb22f1f63c441d6bafdd5f42648568b58ce4bc6a52ad67389e47f1106500f46244c71184b8882a1efb94301a1f4df6ec313ce8acf5b910cb90dab0522c3a1cc3f581767d89a7ced685f7ef04832c839e7d9c05b2e3cf017f98c28637b9e6e3d9cb68b63efaa2d0f863e60e4 +GCD = 1 + +A = cf5874c419c5da8df67fcc5c4e38ad7202fea304e92d222ce9a32240d8c27252b97a750489e6c049696a70e084ad76ed9345bbc400913a7d0a05d399f35d0f89061078341fa071a43b7b2cff7fef6c8665abeae78068914c00d4593e962e294c9e7ba2de84f342332163c72df51fff325f700f37a4624d0a944c851d7ef8d05b +B = -cf7128b22045180dac29ff129d662076c75e8eaae91dfa30d3cccd3ac68f0f5b41075f0dacea37fadbbf9dc6fc15609ae49bc050664a4b8032821adc5803064aed95745d201933989e473abef9dc3eb818ead872ac06be462e5bd00c739bac1f1945edd3208d93650c3802e2ecebafd99f3a57bf1779ddb004f6d5e91c2f0f98 +GCD = 7 + +A = -e9dd0c99e2841cde43c0308e62edae5b900e06c6a5f9ac38df37f26e828a701f2d370fe38ba0c21444807132823e925641014a935bc075228bc2077694a77e3f0293ce91cf21575fba9c134970dbef3952ee278138dc0332fd7f272915b46ca671be36b4210cc18f32a3aa295e4f0f1547a2891be16809d32d51c606da7c9184 +B = b114c128ef14e29829be70f79b5572ff84c62a9f475e962817a735b7b5d9769d7c75feabbb7b60f2fa9d85f7304303f50a5974fa2d77aa1603b2c59d4a1a53a79d511508ed081e1f07bee018b5f124bde2ac4d06d89ded82c3785ee6279f5be4376af498bea796dd8118e2d61c5f413afad65da9b48f050958c15dd5ad6dfae5 +GCD = 3 + +A = -b9c226c716819abbbdbadea4448c67d498c20f48a44c2a0433a8e800cc333477402958c32a56c1d74c37e07a8e59e66b591d6de8ac1f165c995a07ea45aedcbad4b919353d8c18554a4cc016a2fba7f758b98478e0c139a058c847307710f03fed087abd3986b90fbc8a49342d8e3874acf27c5c947cb00fd6c1007a2c5ab6c0 +B = -3853034d982efca21362ace215ad28f524e7b3c82d5a163643729899b56d11863dbfb64f2072b387e7d03e49710a4e51cb09b8c080b7c0bbe1f364c7e654d41653b0a23efc4e9b2195c85791618b9fef7fc6ce841d638b825bb3245acd167181156b490fdbcc47acf1396236e4e9d35b7b634e0ca09f9755df216a86fe868060 +GCD = 20 + +A = -ca848f790211aa3f9c17b1c8d7ccb7a36eca0a150f13a478a6970995f84db7e4bcd59efd11e5f5a523d691a492f2663d45e63a481a4763364e97935c11adac592e5c054fc9e10919e3a0979e671fad9d2a7e2305c9fb65846bc533a15df8ffff933a4d86cd86e76a17d9388b1ec8dd089ddf3bf2765641e43d22f3653bf65ca +B = 6945bfc8baaa501d2affaac88af992cace4371865e95562e491fd53b646d020af185330ad3f86b6fa304891e28b1307758fa0e9e09c2c5a8c129eefaf9fbdac2c970c85a86bc2d2726615289ade108996988bc7e0b5ceb3ad8fe7674fbfe38dbb5b2261bfc6cd78ee422643405a36761612ff4a1f5d654e4ffc0c60e0ee1dccb +GCD = 1 + +A = 181ee8c341b8dcb5d4b4515297c88bd0bc9819e9fa08a87e2c2f0c9b795d34d566996e62dbc315d9917ede71e9e67618c56d297beb910fed8187ce7ed6d419c83bbc7edf0ad7a0701fe61a8556dec2f186d6e7930f7b9bcbc931806e70a21635a2e8052894d33458f2017300e570e402c0110a47a2aae60ffb29c7dd909346cd +B = 2e1018a9e9f35473a0c3011be046281b8202596f508aa12699af8ae8e8fcb3a4c055d0d525db02f7db5a0863147a759d2e6ea13a1639d80587d15a9613326119d5bf778d2a0e1af8b8d8ddd8b44df4cb2fb8a260178f5b9d0ab649b93a70e3d55adc96fde81d6a8050229a908762c62b1169bb179973ac3ed3c048b1f011b5ab +GCD = 1 + +A = -aad18976b5984713d5d264c4ac56be897bf2d70a496619e2bd61885d3bbce349e30aba60eeb1cb5ddd03cb3514d02447f655625a320d8d2fca5b873b4c38f2ebadeb2ad8ef8f496a7e980af0f8c882063e4603392430f8264c3d572aeae97113d418389adb586f00b4092f69d79342cb560da9cf92e094b967c8bd1911babd50 +B = -3331c0ab5c3a6c72fc14864f6e2c05d178ce177bc1a94989095c5fb73d6c583aa62e35a5138d75ac5d20c83b4544401a1808ce7e05d2365b3743b75d184550c7f1d2557e701109b958f2d1f032143de5e5cdfabb16ebdc2fb17645098ecd693399c0fc11dd664efc2c377b958eb8a562d0b34d1ca0bfe86e4ebd98e85ea0cbfb +GCD = 3 + +A = 408b5413fa8d5c237ca6f74452aeaa2dc0fbce1db2d845005e4ae5e73bfa4818ee6a4e1731480418af0e251ed76b9972b756ce2e96f6e390bc2efdba89a2689ac6bcec04296aeeb398e0a3166c89a98a2f14b5935cbb3f91142bb971219ef69305648a99aa042233c3598158bc09ae1474f32f30bfa705ea06fc7bf19be37332 +B = 5082ade7ef9a105e88f4d4f2715f3b6fe8810eef95b1b22e0d9a4de772553751c9c252328063cb48470c417a2be131bdb5e7b409deff69d5f7e9b8ee523d0293780fc7536ad2ec41d3b01d11ef0d3f26ab5ea49efe4ca962c2a1a36f4f92fa0b2165482f466ee3d3bb12ffbb9468a9b437d42b54f10e8f68ea4b1bebd4626796 +GCD = 16 + +A = 2527f3772ef71811694454e161760461a85bbfbcd23f0cb908b3b581546d978885f07f2cebf7174a51143d5da4dad390f316bb8966d930542b76eb307ff06ebe92092bb6a1b5cf9dbc00977f8f1889a53da233ddec5dbf621adfbb6793ec306b9282596320783ae30be15ec22ca1432b77207121c564fb9545db2f4506819d1c +B = -982962815ca355599a96257aabfe04f43c520e3b9e9f16f33803be223208bb602bf61dd2bee6bf206ed86eaf09c65b3d5025cddc4554a5cc194f954d6949b9275ee42bdee6951ad8cbdf69a3aa3ed05bc8c37c436a06e48d0989b8d202a224e9f5880ccb56c38fc989f81629bab118b14200d827b39fd45ad86a3c275fb5ebe +GCD = 2 + +A = -c721e3e207853ce66001c076a1f95045f3347ff90826bfe976d05f10af4aa6dc65af4df82d246fc05462a1d4319e7bdb01edb242184dc191815e833b5bc143c332dfb3b7a9ee49bd7393866988d71972339078f6c65c591cd06feb24ce8d67ffcbbecfe08610e39fc0cbe9e3fa7c2ca79cd4cfdae0493b53361e7a471a3e23 +B = -919876c963c181859fe87695d2875f2d9fb9c17600cd0bf9f23f39a3f0e3dc129e990d4abe576a243a841473578d75746019a29e315596e159f6f0616cfa58b5e1a4ea53f187f42496a5a4bbc2f9a46cfe138387f1596bdaad06e7895780ec07fb05af359c76833cf9989c7c0ed2f5b37c67fe0e6a4fd0f6bb5b6fa54de684d5 +GCD = 3 + +A = 59dddfb46824e489198c6d1b256b87e5ea90184585b479ef6aab716dd6d8e8747ae87344db8ced454e1474ffa662e4627fef10b66d9399cf835d2222731bd069a8ac0dd4eac9146ea421d7ab60680f3fd37d12f74c4c6550b9fc002c3a8b2c8301fba23d40035a76cc61ea95a95ea3efd18c0019ae76b1a6d499f915d0275d5d +B = -b0c96aae71b5627eb00c2b4df9e4c80817ff6148ccdea632e1ade49311df3200481dce42508eb70be7dc90e958011aa00298a0bdffcafdbb06c3a232b45cb16f92a84beb09187c7b38de5da32e9286d7b1abe2a59dcd1b0df7f34baa70501ac41075f4c08d9c06108efd1fa14e6edfb281b4f898c4d0cf0963bc90cad3211271 +GCD = 5 + +A = -226f4f9ab805a21b13c3af0133778c611447a9da0f716e2cd12a47b509dc1ab4893d6f20040ec27b80cdbfc39566477cc0a4b891ea4d793e253b09370361edb58a0b26810cc2ee325591b3cee525aa63b5fca3c6014ce7d684a92f9013df1f14a31de8cceb91cb89fd29479119ddc9b463d33527eb1a3ab800dcbb15bea8526a +B = -1223aedf7add6aa6d300f25f53b84c27657ff045a37ebe991718fa8ab3f5b97544356f5184f03c80d49592a8ff051f0f11b5b1ed2d0016d1f7498a58607ff3b3f95552de42668237ffeb73fac6e7f4d74c58436d1635da85de9c0583928698407cb729d338a7224206dba44ac12c996cdff510e68a38adb439ea3ef3b5a0c471 +GCD = 1 + +A = 9965821b1b2ee6194877c3da96749e7cf7259743662382365b673f1046d84cc719dabb4a98c2af3c4a1406e6f89e848a47be67a4c1c8cc5b36c8c2ad2312d374431697e3a9a0348a261ed2abc676331d798e2dcd14dc03964767c94968bfe2a14d71245123e36389466203a3fb32aa7b9cb251e0a517a27ef60f7cd762882fe6 +B = e079a40bd4075e1c3ab043e919c12e39cd3925bea3eacd8e519ad625b91443fa1a7b7a280f757663e1fd5cc64cdcea0ec5f41e382b3d0949d697f425a26bd2b633c1bbdab2912b99cf8d1b97653844fc8822a7b077d31c6538d8a1e09002745fa492ac04aa7bff09858f5a436232e48e58ac3cde1958dcc4647ff4cf23e25329 +GCD = 1 + +A = dbf7e77ac155d1ef8e653f636cb7dface45b1f04db8666412db2d9ecebf3a5de12ea0884f4c34736dea4600b0aa892ded72505894734e2906a05d1416d684b00753b9c37868b44a8454bb237bf15a7d63826d6a26b761376ad3592134ae78c141bd063b2e55a26c0ba972c2e0b5957782351c4182a8f77d97d5ccbba78ded8c +B = 4858f94908c783045a071e14d217f6c46c1adecf0e279bf556113fcc88802cec30d16f5abd7c8f384da4a327a1193f4ce84b8c937aa44538c7d7cf1fea3c235f11d81417a608daa62d374d38d583ad66a794e19424431c03b71891b7eb2d688fe6131ed9b972cbc0d6111746cf551346ce8eea53a985f00277f4d3bed6297c6 +GCD = 2 + +A = -14bbb77462733e03551d9a0972153048805d0f690f02165db80af21328ee6161622e38a4c9c065243e465f93f9f6da1af68212cdb8515d10a44ca31c01b9c37480fb74e17c054f2c4a7e48ca759490c532457ef79630d9a1d7c5f26347f420ae4d5a8bf884abad3ad783a96154463e2e6b9e0252373807a6fbd4f92f0e4b6f0 +B = 5d6b45d1a99fc1c7c57c8018eceb3a59ea10117a974b549565f9c6535b62b0b411f7caba081e4379c19f482ce4cf6bf716773f31c789da851180ad7cf41031ac4e027fa0fe17ed33078b12b80ec133ab72bfe4c625e5fc6d1d247b094ff1229f2bd1d172a851f53f691921eb61887f6926e6fc2be50b86594312e42804898110 +GCD = 10 + +A = -765feeec7e34c125f82dcd19b472536c6bae3285dead28633c703883c724de4a4bc497f43a1a57e223928520fb9ac262a2c5bd343517b37931b7d451b49798b2975fe8d14e00fb10bcd149e955f347c70b5b8ed0a0fd080ce5224a5250c6584659509e9f25d76c49feb2875293cfa31451037b0c7126af5bc9d0b79c3c5cc9a7 +B = -6c30c4b72d5a52e551dc154f685d1f34d2e5dc11943ab01160ca8c1dc98c54dba776fb7e39e69572f74d7ff1c21831222d8e6657b732fad5c6aae77e87e7a99552489424c6f3b87ca51fdb45f51b523196df8251b71fa9c0a33579571b80ce533bbc385b8ee7a532adf13e66134250138bbfc5bceba9446d53a58740cc005fa3 +GCD = 1f + +A = d1a9567c95f0e09515941b6f0cdd90208410e6b266825a467012c2ee9947b2789b06c06c0adc40e35ad3c2b8118945984caa2d65b03882668c654a8934037ac0043ea053ad58a864d00545d047bd0c69b72c490ca7faead1b9b4eece5e7d2d0dd93a2b4c84cc356f8b398ad546f4dfc1fbd13ea25fcf12eab8738e19e1a70a4c +B = 1678b02461ceb06bd4b29175c1e11671a0e41a2b951605fc034f0e585f459728d124cd51bd5b42048bab31eb513522410daa306f9955bc48a912a45e3c929c54dda1160b992b1feedbe9ae06f9c0753b87d234d941d2541ca8324a904af0f8d4ac9a0f6a2438a866a0ee1fabd182c29dab29abea0754c8ba1adc2ee6595a67d5 +GCD = 1 + +A = -6655101cee19096b61bb71f92fa0ddd3cff5ff0ee1986eb9ddf712b2a91cf520b19d4a9625e03e835452cbb2ee89cf4f2f0e0a849dabf4b40c5040ba276046c0e26d8c402ad11164d707cbcdfd33326111b077ff8d33f3abe703198185bbd1fe67ff9b4d1af3f0168ef1809c246816fe41372117d91950c1468fa797519ac67c +B = -73cf12ed398c635780dc71e5b6b8b35db5edefc42f4a0137701d69d5fff06f5e8bb76366225003c3e363c2adddccea595588db0cbaffde7a88a6c1f5fe4227c0b30436c917f131a3a7243890589bacb81c810c9318d0b26e65af14406ccd9e461470e9a40c1a24de3ebd6ef2b0f906dce3cc7145aad699e01256e6e7218c2a95 +GCD = 13 + +A = 672cd5d88a3b7ab490e57972c336895d12b22fc316020d2fb9abf419603af35eb536f15ea821483612072a45127980b2639fa2b467743b2337611c62bbdde1547ea604a7acd6b55e7c36ecc74164b19d572d63b83281ebaa3cf3901860c8acf2fc09b78f48052a926202712d33bdbaf3e2f8d8b6a38631232b1143b538784218 +B = -ecba4c9220cc47e34e625ded95c032628a27baf61b13fdfa74b9786b718fc64c8491fa9b80316212b65fb15bb9d97259729004bb9095adbb34fd59c0caacc35ea950cb0bc692996098ad31368621e6f1b1846de058294f739f516f126bdd6d8be93e52887d3d4dfa619bd67295080057856e608641e32f833ede9eb98360ac49 +GCD = 1 + +A = a59d98ea45597b8a01b406ab885f9b95bc71003ba785d6cddd1a0a4631695c15acbdfaca6aa2f00501b9b55d795c41eec49a7a42b80950d76deebba132797755a4ab9d05479c859f9718c7cc9e7b520db8f5121d34eee810a29b74044d296541da3ba710222c51acbe926165b83c29f1eb8c022a87bc77e8db6cca00d8517683 +B = d18c7a1b2f314ecf2de6e5e6c31de6f02fe0915194d387cbdca76ea12770c75a663a56a91c23e88835fe527eea82423b455157534d8da85204e18ff6f2512174153962b338712efff3c271ee220de7e0e29cccb2f5d06e7d41986f327805349b4094d8eb8b8314e3f53f6bc40b3ffe2c4385694f1f1a025b0f52303d1353023f +GCD = 1 + +A = 275972ee388bad072fe497034cc7f38d331028ca1b313538c15a0387a6f5dfc37e377efc4e794b5e42c81bc9be9ff350867f079dad090d387dbc6ba9c12a3244ae0fb3df7b0d8c42e918f13f82ab1ff1bf92eea8a3f74e7ec1a81b90b423f93e477760efab431c131a7bc1496989011cfce4e239ce222fa3bb3c35953cdfa328 +B = -773b70cf799c3158457a236490eaee73cfea16d30dd4e35af28e07c6841c2b512991430a909f65d7a198eba0c8408b96dd5b3d1106b5b9baabb3c6531e426e8b6623f7896fce31687e6c0a3c9b2fe598454a3c83d808e692efc9b7cacc480b9d081b352a37298656a6be0c0e5e8e809de08d9a364c8ccde792d48c709738d6bd +GCD = 1 + +A = 50f3a4a3e98386bbed3d3deb76a7ff406c8cbadbfd29d1bf4be6e1856e012cdda9c15dee2eac79199983a36f753d9372c41acb60022d3e67f88883e2b12044bb4ca0baac1cd5a6d2e7c656f5da5a6e0f0969539516d4a938b61b790e5b43a189eb8eee0337e912b4da67f80e41e00d410f9315e802419f9e139b8dcb1a4dc830 +B = a09e8b5cc6f0f713eb27cff04069cbe13cffc6a535903c456c06a721f07ae2b497cc8d03f1ba22b9d4cf59d24574ded090eb4382c4caf84e8b2227bb2a176e7a372dac2836fdcb0389daec0d3cc41e2c6574b0c7661d1b9267e7997def8ce88e03583985f151be7119546f52a1a85a21c2ed149956e759c918e1f7bfd5970a42 +GCD = 2 + +A = 28b56201b1fd7583e9617471b92b0f9caec80f9d312645f63140934eee31221b37ad6bd48e18d9c896c4247c7803ffedfeed4bc26ad4879839e69b38a202df194c0e8ab99ee68c0d4ce5afadc0a1315e552210ab3747aad2c458a24543fb5b9015d380543a9eb4b3fbfb764618fdb9db80869ffbddd75522a04a00e52351e619 +B = dea8a62d414cb8c815a2a505664b87da35882d3a883443ec683ddee00463d74f3c098a2becf5daa928c0a206fe776790603c89725f92d0ea7567a4ea9bb8190861286b0cec9198a088a37821c462a9b52a86dff1075da3460d240193dc4b843e6c5b6ef0dfd85a978b09c3f5f5e832ced400e49b645ee7c2d19764ff79ad89c4 +GCD = 1 + +A = -a2d70c04aa7873f30daffa5065e8edc1ef9040fe395e5f7cf5317286460ecf184009ac6e98a777aee6cc2d06b026dfd32e92311d8cf9f2823ea6c5e358003d834033276633a682138e79257a832bad3a5b0865e5ff4312670db2f3df7fff085bfb04682bf946b48e67ee2e1a4af62a830e78d1df182ca1f6c9d6b51ad81935d2 +B = -54f770b408433cea93181b2ce6d02317e397e7fd2b4941527ee1a02bb447eda4ac556e0ded07c179cbb269c1a9d63885fbb5c49ef6b5991f768161f4602bd3ba6dc7e0935403f8dfee99c3f0d626db7a282225c16ad2725f006bbbaca559800931be938d388fe0ecb00cefb6174ddca426e4635a25f7b64e00c0f19ed17d9013 +GCD = 1 + +A = 9736a7cadc6b84c3976fa42051ba5fb41420ede032e11d75c1d9829996bd3ef61a4f34ab8e9d6ef1e2b011e058c67ecb049b940ffdb180a1aa45165e14954a06a78e0807a144430954122160b3c30488f2787bd1602f1d536d9f206e5265dc13411b6fd86fb7f2481d50bd0789de55261fe8df04d42f5b2d3dfcd6ff928e00dd +B = 14df228d8533515fc27ae4614f30262e939bdf69ea5781382b00cb1162076187af453ac0c62c49b19f56f2c03d125b1836addfe2b5d19f990573d02388ee86962d9632de49739bcb16aef25321f406fab0dbdd9954040962d9c01e3d5f27818559f606293d5626d0457868b5cb6cb29e7300295977e9b2929f597595691e3fa4 +GCD = 1 + +A = -6ac8530e4cae087a08ca3f5f99c2125ad7df963ca4f67bc21a3aede4b5a7e3a851f10ed7018dc8166e7d29e8f9afc11a00f3cbc2b3816e6a424cfd2d4ae2512ead649a3c22cf9e0906037e1186d884bb6479458585cda2fc28197b546a52653b58ef6054bc2111980f414a2288e93a3d98d58de7924c4098c7db7f60477735e +B = -b6001b6bb270892757672f3edc34ebaafa8288a1da76a2780c308e913612f2b95619d103058bc989f22ac74930bf100638fc151202833f22a53cc1965c6b4d840875054dff65af192034e13d2ab496b944b162c841d34048530cfaf68dcd053385538e00dfd2cc361c2420e7e21326ec9862566b3211b4f1b6b0e8765db4e855 +GCD = 1 + +A = 7ad10bcae33469b823206691058f5006831e5f4cf8c899e8e805c296c2d023fc9fa30ae48629c9121a1b7b7baa7869f41952d976d3325c20d78e365eb71ab9799ce4e532f4ef01cd7890e42d9d9f08106f5d318997376bb39bb770bb53df6ac92a5f12161cfeb1b992bb6942ac07e9dc3f09d1dafd9749a5ace44eecf0c2a2cf +B = 8121b391b68864fce85167ea74d7fd00ca5debccaa1af7ffdfc351df9034a5ae46ef7e3fc1bc69cb6ce3d3d09ffb34aa97a4e61ae7b1bec3007b10f2685b8485177e9d458fefa1e669a65266cdde1ff9316fae0044de3c9c5f2975ec3fa401c7b103f044803ca59549390cebcb2789fa69f7437764216230cd6ea8de8e2f3de7 +GCD = 1 + +A = fb162c82917a2526cde13085a3547dbe3386789f38dfe9319005b428ac1a48855a558ac6d5abd3a4f5476ae35f1cb3741fdfc793c97e974239ef5161c33b7ed0644a2df7379d5c6ac4c4a9e8aec886410284d33949d031db8aae609bab887b11a0b43e11ad9318fd4d49e05d5366413aec0a2da7591f06b0f1a9600065c0ca62 +B = -31f66028ce40bd9d2fa06c03f4c6fdff773fdbc2cec0b96708bf713dbfaaab75159ccc7404e2622ead81c4d8143a7dff47d0e03dbb08a1ec7a4c683633a27028ce7ea0ad5681cd323921ee7a858999c85042ddf43656e5dd76601402763d08700017b65886459c0aa6118b6e138b6b33e9449e347c7d0d931e25aed61b3b7b7d +GCD = 1 + +A = 152c0081f69dc3e300b502ac728d860094fe3b7835b0a94193e4d24b565b0e5a0f0bac601d770d2de3bee614d9cae108092bbf9bb5cd49341561d9ed337df3e5dd22318a4fb2e86a4ac40113bdef9cf2ccadb23cda530a40ffa9d31fc272fce3a55f6d65cd21a267001ecc98719c74807043b9ab9105c4ff82f5ad221a95480d +B = 4c39ecf56e2e4aac656aa89eec6b2607acd6a7a707b06d90eff64db77681e4869a21107898330b73daafc3a03c508f0c314d658b74d0b5030602bdeb4146ad158a9441ee120f86b53de8f2668de576f1adc6b426409472591733a0dc323f23562ec3dddd542e34cf43e6698fd1d997162c974d9fa898fcd0f07a0ea883f6972d +GCD = 7 + +A = -1a5c5682a4abc09bcdcd8b0a9b5e01ad9ad199d6fb4fe64d2b3fb87c9e436ff8d240fba52d78f84b2b4587c281c161290a7e6e2810c78ee7221057af32c86df8f397cd081e1d9e69087b8c441580ce17f6e6449e21dce1995faadad23b0284ff4fd80093544decf4183b1ff6ba407f46aeb9bc236c5ae1a5ae5cbedd264b85f9 +B = 4a6437c38007fea68f48ed8e816bc4b8295736bb8513e8a97b6992e113df68fb7dfa891794934552e9401aee6fab2f57c6a090197fb6ce24077764453f32962602fae7ef52a6c9be9046b029fadbf0da5869e3ec7632fe797e14db9f8d2d38b3e1a310de89151d6edb33af69d8af0ffa3128e42419c428ffce1bf42da741d948 +GCD = 1 + +A = -ae54b5651cd7f68978bc22ac1df6e12a0401b44c01364554e5190a47e9b7a7474897723d5438b68122998c08041703d8a4ea6d7b12e34342dcc8672728f907fcee17c0db1c4da54ae89c44c3e7ea07c0f323275fbdc560abf1e6afe94f66cd8c43327c62766cfd68d44981b83ae3a68291eb37d35a871833ebbf1fbba3c66cc4 +B = 9b988e52169bc0b39923ada8603d028e4fea0d6610d978d0da978afa8943af9bbbcbf687a9d44babc490690077d85feaf1061a1fe2e8190622b5464090b655b35f5314bfb0b95dd4644aaafcff093ee5642114ffdbb4d8b6d55bb0a941d6ef838bb15645aa9c379a339df2f8e06ca91e0a2cef3572ad0d2f7b17fcb3e842a6b3 +GCD = 5 + +A = -b82b4a5f9137a069db269e477edf6f5fc306c26839d29a1580f611ee1a0822fca8a45bda22199b8f46873eef8c81d36b6bca0cf122fb7c9c194faaa7935c655f039b5e9174013315f7da8b666d9ec6f2665ccae864a802299ff2313089b54ceb6bfecf9bf731112cbed2b6ff8402c9d8c545e1110c7208616cd44efcb86f0cfb +B = -c20bfd4e6c25282c961079f20fa65abedd3c18748984abae47a939f5acb3322b64335ebfb23c275eabb3d20700ff837f09f8fb97a62448c865a5f5a3659363bcf0ba51a762afbdfcbe0f24e4afb342112c912a79e361a2c75f273ced8dced1138088197a3f9f9624f5c239f6781020ba05e347bd1daa5fca56e320745d69fa3 +GCD = 1 + +A = 1249f09f304ea32e0ce5aef1c661a6b6add1eaed1724f33107c6005bd695385e47ecd3c2f71eb579209a0cea97b9a813f85d19dadf827e8d1544bde457a8b97a7a77c68a57f99c912ee08188d67719efbfe9f4cd0e5108fc22c9ef0faf335b94eb572a4b4131b1b370a97e17b14a69e6dd245d4fea0f2f9da05f926ac69800c2 +B = -cf5e7b49773acb326749ff253c041445250b604c76f435998a61a636efd828d041208883f9c55ba7c005c6ad4af8cff442da0aa0279956a6c381a99db90686a3e7b636e59e2ed84c9935c74ff6460f499e10c597c37604f5af8b5a6d5bbcead2779a2f1393a79d48234c603ec0ade5f22329a18276fb92bf44fc517625adc786 +GCD = 2 + +A = -12dc61ff7bd4e228a844619b16077cb4953ac320a2382a197c4fb700b4b684047369fda957bd57c4990aff262d571c67a2fe7ce0335ba97ac33974ed7c127b6cf4f43cf82d146b0de727c39057b70e16eca92b187a4ca9fa24efa24a4ae2ba62af895b7ec64d568851a9db2aed699a52d5615a86c3a62f2eec1637c02420bc37 +B = 397b906ebcfb54a9ad2dfdd9dea11cd22ff9a2a7a7505c2399c5914b081bfb3ec9f87b88bc2b09f549ff76b9a7ab09a751be9182895536144705cea87b882d3ee0a7243c0e89dc10d4f1f7aff2f67b582bf9c90b461c6c51ee8d8da5655650a5e556a0236abb74fa0981cdb98d5895b751bb9c46350805481d80e0b238c7992e +GCD = 1 + +A = -d44596051e7555297d94b4648c71967019068334fb036929765191011b5c2fc189428fe9146372ca8879ca6e250381b7fc0c9a821d7d33e2ed03bf4aae967c4bf4cc400188ef0848c79605260be1d96ae2d7c77408e18407f7c7cd00710e7d18eb983d42fd0256e939ecd6d1d737401d64e43ce90058bcdcdc9c7f98675b83fc +B = -cbe542096fedc3832aa562aaef311914d6c5900f3337942854c4efb1eb12f93a3e3c58b9f26d26dad191ca25ee4c6f7c9c4cd59929887c365c040038eb20ab54cbfa95818901e919c308805f25b2fe59ec7d097f2e593df3fd8631dc1afd5964cfb042f3aa185fc966044533f15d084907efa1e60c5a509b60d7dc2d5c23a81f +GCD = 1 + +A = 6df3504b7b87167f703e7fd496bd6d19425736674640aef96c21bb6e2231b9f8b02cf344e4bd6dd5d6b5eb4a6ef267fa7b6529971b56fdac8ba3f7a908ebfddc2fc24990e16d3a5a84d184616b4dd17ab41c4b2c8aaab69386803f955d5b3a316111a0982e27082743d55d03c653057cf3a5b1a6c90e3f7c414d19e789a0ad1e +B = 806a8bce02c84c7997a6a87b6afbecc5c44e1e9d0f7bad7a45b082f9fb335519ce14e21001042d29f662bc8eda29f67c780c46f1b3b71ed6954a04d3d50e359f34b849358c2ed72059e0fd77746584cb13eefb260c8ad4563e67c990d9086ddaa68a4d3c32cf55a5cf0bf105fad2a22ac29feb9b515fa99caddc9aed2e015fc3 +GCD = 1 + +A = -f6c4b7cdf00f533ac8237f776749b05ff7de4a59b6caf880eeb649379391c4254fcad5ec15d4215fdf5f0d0fae4135e9d48a2e15a263b3d87b303ec8d661ca09051fd5eea45c0e384da73337cc0d1b08cae551d21148b6de0d6418d0b82dcacea5c5f9271253036ac8fb5803984eef0f7dba388d023f0831d9727cf9ea6c012d +B = cf0f938f35e54bc46633a9c31a118e66727a69b6990e643e6fe530b99e2ce65aab394f138ae2bfb64843ca38fcaaf1f9043e548a944d3b2e199d4fcc9e375fa9af59b9b4bc188028f3cf2f5dfae7e90716eb8c748c438165279d1825f378f4694f5a29e132248ae0b75af135f9d648f72d20b1df9e64709e87bd279f75c570bd +GCD = 35 + +A = 7e08abde3aa9c51a2d331e3215a7c5edfb271ac41d984f75f177f4c5d98d8bc4bc03559df8508042cb771781624e52a04203ae37b350656b6e189c3bf739c2d4969ff09b3bd176f4ce25fc961b8d3ed1a5fb14c24cebdf7fe0872f5ad0150a0faa6099a886c42aff58850fd3895c2155a22db644db77948c44dfe56e374efeb6 +B = -eecceb8c5417e5c6b84cbeec9e3c23b70b976b3a2cee213a9de282cc753d7390547dece964e7c2752655092c731d0e2fc65edf7dcae77c3d9e8d4d207188e60200dab768f0a45b39de5ed3643c3a949440f5260d078454734309879ddf6bb8199ae0dea4b593e3e6a64fc67e40746c69c0742daa46a37fc49515a86fcf9e5d63 +GCD = 1 + +A = 26f5751b949ce3fffce89bf0fadc40a022f85ef0f7303b4855a4590b3c814ec1d504291e3cef1d055a67700b1f7003b017b6a6499f8f02e45ea3e696feb18ee11dd7c2df4f5bf4f93008d6c49bff57337d208176806f134847e3163ab3cba7e1916019a9b8f6f37fde062dda5cb38f1908d34b0a957086350929c3aee52004c1 +B = ae5975d32b09104da4ada12423d84e8b38db6b79f97968b09741f7127a55bf5652bfb740607a6de1238205a082bc20735c245f390bfeab18011ea8ed60a514fce37de604aae1b8ac08484898f698de70d5388238980a50fa9ceaf4e8d93bd07fd1987861e174d9bd802565b17ce4d717f25a9a0bb37e91d5e316514615f802b7 +GCD = 1 + +A = bd8a84158928af45ba021a6c7c3239539f8ffeea2d8b33d23c8770301835f9b13e86332baf8176d099fee024d0e59838fd4fe380eb5198351b9886354bb7ae24f4596afee3587cbce2f432226855ed58f6450938956966a9959ada06fdf8472401b367880f9f7b419706de0f1319a442e6a093cccfaceeae9f178986a986b87d +B = -6c9c70ab6bc3f03b44263a545567391484e1dbdf9280a217ea5fd5f196f7d9b57a4258274ab54cbe3c3fbc92b11d5e558481150de5d53d33f6efb7ec88772b4a52fe50829359099897f8f9473974a792be4eedd07bca38de6336235bfc0441280a5bb63e940313412da6608f8ebfec2e40aeae252d8793899dd936f72c783820 +GCD = 7 + +A = -1b46093736125630aac970a7b45a5ca13cc154f49ddcfe61f09a2818913829f184baf185a9afa044389e1ee00351c07bb6477a65c5ec5095286dd27a4587391278c421a5ba787db4ce0c506079633c8c441ee125ff2054df7bb7a0f7e23b0b575fa5fc4de303bf7cf2f7dd25186a5daedfc3287503b288cf827dc52875fb1b52 +B = -8f9e65ceb82dfb8f9935ef6b080fe47cf19b3cc4997b46e77c605fe8d63c60961dc13d13ea7f6b6713c4b6e98b253c6df6fbff6577682be88df974e1e33eadb992620aff5ab7af2308bfbdf18a9565624ec6d9fb3b5cbe80754adba3feb8166d1feda6ffa4cf042edca49fe00eb95665ee6e9ea58389d03c4ddb50187528aeec +GCD = 2 + +A = 86ba4dc8b626d95aa46d5520ccb51c3a45c95360b8c395614ea09a7200028e9573f66b4faaa0a2ceca8511ee205df8a3f4eca52caf1db785a97ed744de6e002cd4a7d8db3a5b897a72497a1c3794bc49448f3fd5425c8dec658bed51ebe393d0ea35e2d19f8cbf990eaad5e1da896f6d517ebf8f49743d8293626794af7e195f +B = 812eefc8cb684b3db4aa019ca2f08f5c8d930a2be11fef2096120ccdbd9b08ed043995bf70b7381a943a6b9b70d64d3690b75fcc2f0c8b7e143c4f94b72699820ecd7b429e0687a58c7be01b5e9cce8fa643a681f25eaf49240af277fd2cf4673d4de1b4530578d4b1c60b4e243e99312d235b35c3c063bcf2b3eb43408db8d7 +GCD = 1 + +A = -6a0b4cad8f284fe26e746b9729326d02c5ae6586e686b362e386a159bfc39c0d694ed5c5ea1a7f879c086cfe51282d5fc16704c092f20ebf2ff5b969b11e2618cbba0c17ae8e6b189bbfa5e10ae11beceef45b998fb36ffa3fb266923daaf5e1c90ffcf9fac309469bae974e66de336269caaf1d7ef857836ababa9784b849a0 +B = cfde7ad3cfc2f051c0eead4a686b068025ddef5625ddad97c9bec5ea40eba38428fa360524c953a3add4e81da55699a6aa802b0c545f33b70b15bc94e2fdfb83db6d2fecd0d3eb7f662e8f76dd9de464a5ca4d3c84c1e2c3c2ffc386c05d8027de77579acfc4b02020c8c5cce7c5161204f5aed6fa77a7bae012dd4d00e8bd78 +GCD = 8 + +A = -7d532cdbd5d32c1510b4c794b34dba600c55b7c4618fb0f70a4910522b6b3b0764e62900d9bcb92dcdca07b7e64694a3d4dbaceb5f4edd568745f17d8f2113b6dfc631cc50df3bac7a6fa0bde84f27b07c11aff4a23ac7f9b5538343154be92bc129367e6f38b07efea352ef9d19c6538c9ed0bf0617a4164a5e53b57de7127a +B = 4e8a5eb3c193404fb2c6255c70d652106a05c56ff83151d979dc393f2360b9af49e538db08b5d519e0d16480ec95f112d77a70987b9ce618f688f1ff734959a67de03cc15f0c0d27c4b29e61eaf47730d24e1b093e2f66c9774a6306c3e76f7baa2daf43e95fb53c94e787c464c74d0ecdaf1d0a03dc70f32cca4b274e8d6ace +GCD = 2 + +A = -8e2c670baf6c5404785ee3e5a5609c1b75b94bac7948dc0306e52401502549ee563483d732acb356e6fc597df29ff45eb4efb114f3826098f1c405a0e8264771dce5cf63a49db23931b11474bb78cbd4592c7bba846a210260193064363eef5f9c7ea34b9167ba6aba693cbf24b1108accb8e1c0fbe717fbfe1d8cb4e9c09060 +B = 8eadfec28a09c920b35acb8a2f1b7ab25812431878860737c18c96afe11ed5ac55465cbdbed96fdf333f07e0568b7c77aa0de151d31b347314ffda288188a71b7f875716a8989894974f415e37490c591df521d1421cd1e3f32820f23c5eef7d78223066e5d4ef1c8a0ab1900eaa3298c4f194586db0c3153810f5bf81df3cc0 +GCD = 20 + +A = -e810dbe611b08847676ed4478b6e461946e960655e132da494766a5f4daf1d9456697587bed0a5f515aef91700c725f29d2a3522462ea8b069a8a5a0a379b609e91863f7e4df522fc69cd18e4eaedcf97b834a8c7b42b5a53c6628a1b6772f96f6678991d82393b708aea74fbb9916d7b38eae0399720a3dacbdae31189ad1ba +B = 520cc7e7e8c04041f5b6928048461c00c8a185dcf2aa97df309dfeefc4a03792e388417162a64995721b4f5bf5c14120c02fbad64e8e247ae2816780cef5677ff86189bb5e6cb40da330991bcfa5ef0484f11bd0ffa1394923b5a57c6dceb2220a0636d15e2a337066ad0002ec0fdd5bda17ff0c4fcbef400b4e098823fff6a1 +GCD = 1 + +A = 7c185ffd2a9d85e9c1e93d8b587a0fe6f82abc742ef883bc3b9ab6108e998279fa31dee70def428789484f854e4621b4e2e1bfae9853fd8117535042094f252f684a0c01092e6865f5f96cc99c3ea002cfea909da83e37c0182b121ffd3049e6d62b60d6fafb3aded2551b1c92defaa6eabee304de9ab23366713470a0bf9360 +B = -cc8938597fb504a423e967d5c5724dfd2f819b59e9e82efc42809218c7c8e32c7a0db6de1fe3003dc37943598ccf7e4db4fbe8d760633e3a2f307a6e108a9a2d7699be3c074cdfe13054522fa03c89ac862db210ae1a17ef93587ca53cc49956b573c000515b98750c94a590d0aaf2cf1519fad1ec97a61b50686147fe54c7e3 +GCD = 1 + +A = -8667216fec17c48ddbe51724a122cfbf1b55aba17d8917ac2840929a983aaf157dc45f4872a6f7218a4bad4edbb02e7ea616ef14690364d0157d6ecd894827b3b5bc8365df08e838b0db87c2c92b9edfe628cc8734fff5e0dc425a7c82d63408463f754f97a74822e616cbc70724143b0398c845eb6ac61cf254743fb25b20dd +B = 8de5e505dbfe6c0cde94adffbfaa29f097b9d8148572be4be8de40f61303bdec687e2f450cf2cd7c6055bd4271e9b1cfc281de8b142bf2019cb121aaba325f38290b7030616894940ad00363e4ce4b3cead13bfde4fe7dc4062e2d679b44dcf67781f091ef10e0c7a4b2bffc33e0ca14e3e698ebdcbc1ce70d5ffbabec0600f0 +GCD = 1 + +A = 4687222223cc6a0c08f499af5aafd0258ed3c77fae15bdc77571af30227f0a04f1f25376e7b6af961f538c3554646a34c7e3897b88d0e3efc58ec37c75eb95bcb177a5af2a963c267627100f89aa81a8156ac440156fb6015752be253f9ebbe6d6d7e51c570c3554f5222e19079900b7f0f8d64547a53844e266e600d4a3bdaf +B = c49a39e09f1d31553211738c912aedd37757b6b9d1410ff3cc35a4697c84e23ad568bf22b2bbb8246eba878f92d07a6c2499b4b611b5affc0e18054cf95bd6970f11a686bc20c46bebbfbf55281c804262bc9c4bb481cd861ca5429df21e2fb6f115bf40ff86eaa0cedd1911ea889111550f252fe0e6913a569b099c396215c3 +GCD = 1 + +A = 9cb9ce6a26854e1fb55cc94737b8c66cd115b688cf69b478c9f3ada8f032f30f4df96f405b8245a72fafee05214954a94461e9a630c38e7117badf1b1689caf1f21bfd5f75e9f1b89fba56ddfb9e44654e8e6343d79b8d1ba58b4dd3bcdafcfd365cd45d943e4e02215ac1a8aad1ff6ecec68db4c0b3f628e82460da5695407f +B = 148180b8a5c3715380063d6de5d7d2b4923beb1a2d155bb7c03d89a5a3fea32ac2619191c6128eed4afd2d367fbc9f115ccbba19c8ee464fa6282771c66760754ecc8151f3d0685beb5ab553828099304dd5cd07338f3465a2320beb7615ce73ace166bc12891e73bf8194e697f2ec7204707eebd1a28f2d51d35ff6a6fc3e96 +GCD = 1 + +A = -acbf95c6a8ebc77fac5c1e1c9450ec154f3c7bb5e559ec30f83d7bcd27971e90e90f5d543d2be26bc47e4ccc249c97e76045514a9f20ff2d5270c7a5e828c1c85966ed7528c5ef3cfd04dbb3a02662ed0cf08a08d2ec6c9bd5c45604c7d4c5a04c074081a8bccc11e4c168b209fef07d0e6504963b33a75b003caaab8d5b148e +B = -6cd29d135ddf5dbc5e57c51e6a7ee09376d88c97fa0a58cba92f3ff7837afd6a6ec16fdff14e94b4b52b3312ffdb2896960246f231c7b6831693c86cb488573188785766d0b390ba310d8af0ff291bb9ebbc5fe3569e2c94106f4c1112905b5292383b6548f47cc18d85ab48d08d7c84eb90d2dbc23c4c61fc8402bd352e3149 +GCD = 3 + +A = c049c5a822187f0a189c9b679d8fb54e4d504786153f317b89311d8c5f36b64cccc21edaf5a325f5b48bf50f87453ff4362667a0fe66ccdb03eba4285160464cee4ade66d0f7eaef51a0ae7d294ef8119dcee96bba53f4dea1c2fdac6a449b848225a35bf4d14afc330c7457258c2575ee76386579741d9f5c9d5f6e0484e9ae +B = d7b9ecf7a9ade1fc887c37a5dad452a8c6d5b8174b01649effef9b5266bdce523b03186a772c8f7b24845a4d8b059ac9daa4375bbb78fdc1d7ef331c1563f69e62ec39e8df61398d60bba007fe9360233b2514d79919abc7f5dd471f979608a4fff6fa6542c307371706190cf59626110898c4ca0374021ef4593c6d33e4c5f5 +GCD = 1 + +A = -7c7c4f12564cf218a6234f5a8235e4e077e378d647e674ad70fbf675d047aca85d76a140ac995b1a42bfc17c457bbcb87524540d27546439b7e1107ae8f74ae1fd28f062bc772e1236221d494fa4fe4b50878537a867bb494434b042c025e38d8925f404491f604d302a84dc5176c435718b0e0253ef063dcdf726dd1a61e208 +B = -27c25efe47335f04b2b9fe713366e8d34b6174df9d1aeecad1c5ed23ecaca287a7315f2404e7278dbcb5f8c9a116602727a198c777742658ae846d43048b60328df7c53e40190ba5125c4e7b896dcddc306033d7b86e89bbe95b86c5dc0576d0f1698edcde4274a34e46df6f54c542e11cbc55fa6fc0156de6eface2989a50a6 +GCD = 2 + +A = -3a0273166cd9d182a69d4f77bc6c285483de210e864ae6c2e25d252876c65d6be5a809b04e724a7f8ca54438b04c0354c03b9ea0167ecc0ef57d24acd72d5c519d916f41a330238d0ee8c33841434dc5eb4941cde78f23d4c66d514669b8b30d42c1cea637937592a0d521db30a7f06d5f9bde1879783477e54349bd4fe8b18b +B = aac206227045c5d9b12693d052167d65482a95605e22f5b37090ff44471f371595d1a57a937b9fc0d9690355ce790b242bed302d24687428a8da9983175e7e12c2e80f2a4abc893e1532497b366a1e1b277bb1955b4daf642c7da6b77cc729f4fbc2b7955a1d2c0a67d87d82650ac8a10c66d3b7afe4da29aadd3de65de795c8 +GCD = 1 + +A = dcc0cfcb6aa6d5ef15db367eab2f12e45fb38d9c50ae04f8f591eafe9cd8065a896e3dedeb44c47e1819fc0d216faac828b82ce6815edc87672a29590967f0568bb6016e2b42f8cbcae70551449483efe1e7a8df85db38fc623c1c899a8cc65ff97a0f61ef77e4874ea9132b9762ba8736d0efbe9675e188b63e1007ea64bfb9 +B = 47c814a176bfb8f021e42bda6c9e33a5ecb22275a43b62c90fd8933aa7c64545c92b4627ebd872175c99f951aefb931ac9668aedd17c5a0518590f5bf33b47d3f487fe3ec36dbb6c8f93ab5b0167507c4f0e3c9d1459321e4878063cfd9e4249ccda14cf934d8ed365a739b99921aad7250de194d6fa4698f156a01b50bebbee +GCD = 1 + +A = 482f0747a26b07856fcd53041830a5561c66d45dc18ed9c8205c17b1ffb3f1a912f696a16a0fe092d5eb6bde593eaecb2f0e26aa5f2eac21f0eacb14b234834f30fb1e1e59ab12ff6a9b861569222e762d71627b480b75099d021d5e4566a45beac5474903f16bddf0e93aab609e258eab50f2343b79c56e44bdfd1c29ed076b +B = 4f359f7e9dee0c0a1cf3f48090c6ef316f6a15829f1b616f8215fd04413289587f00029b8e9a58aa24e35054991b9c590c389f23764bf21fbc9a3460cae192d5ee2d2de88a5d0e0e042533bdbd9d6175bacfe3a063c211c59950c48838b9987bb0c35fd3423d644894a374a9dad0e88167538ee302a535820204661d999d55a +GCD = 1 + +A = e7998965f59c94163280cd7d68a80eb9a312927e2fd0a58797f396d0f599e4a7086dd001cfad91f0e99fd8289f0e4684d40df0409f00b046dd2016171feffd550eaeb8f6fedbc164a71a5c9babe3e90288352ddab170aa1b03c178cacd205a39e43bce98c53a838c29f98baa93265dea9b1e15e5496f037359826ecb550187a4 +B = b280b894436213be27d51fb5f4c4fd5c3158592653dd62c048203b7c3a5b84d566f56b0a0ab8a69d9e25471edb460a571aa34a8f1b88065448ea15b454acdc8d2f59590f7d3202bfc536d72eb2b2e645e0f22000cf8d8ed246c64a67dbeb836aee2fc8130ed70cde94e95e0e5ce19e07672552d3c0265046b2d673c1219a7840 +GCD = 4 + +A = -741bd1cc129352202b699f301de9699fffe1b2ed1a9a0143414cf822e99d091a880f4c6e67b81cf953fb09c7d04dfa5318aa602769bd01059cb0eb12de36a5e9d982954014c7e032ad0a187c4c6cd7245e75eccbfd247429cac40b8ec0a0fc7d0cc40877eb03726f895170173ad18c6a839997b9f1243fd49ef71071d382fab5 +B = a0e4ba17a442e28aace9cdf6c46b10e0d3aa025acb68fdd27e2630283795a07908ccc941a09feac2379c7c4f994d4ee0a8fc7624783279b7d8c1173c048bfb6b00f51d89a59f907286d6f310814c6ee0e1e9d1e0850ff1e80c0e65e1b4314ceec71f7029681317bab664626c7c1e1b65dd9cfdb6223ba0ae822d9e75b25d5229 +GCD = 3 + +A = -cf991a54c2463042d45433217710faddfdd64dfe7a7e2e2fd4d2eaebf86937747a0ac3c524ba9cc1e1f1a6aa44e3134664e26fc1bdb9023f9dc2501de87eb238052a77cb60341a711d3f2dd4febad04f1c0c983e936765e7ea17bc43b20fdf28db5212935dd696103acf3521999028d55f92da5babf6788fedb15ec5f0257543 +B = 3f487c6207bc5f8eb8ffaed70bdf6750afd31ffd02c8eb04e4a69f32e8e5395b826a626057ad65eeb648e4967c5d3e94039877dd5862168295ec2f4269ee33849bf76c7788377050841e1dac646abf960a8a159fa3153566180f2ffcb30990dc4dd660098573a55a18445f7fb63e995b766d227c241cc3a00cb2a0e82c1778ee +GCD = 1 + +A = -51ae4101818f249a3418700e19f005fe2f69a9a407382a808462aa37b2d8b9728b7debcf7a6438b68e88de78e36ded56f96317631bf097ed3b52a290ee1af994968d26b478c3d8ee6c115b8f082c514b9734ee3db6d499229aab22bdb66c40322387d0c8b73836a6c700ac9054cab2256953e20326c000055cde801a077e5d8d +B = -66537e2cb5ab09d0cd5088ba58dbb4c8b8ddd5eddcf68ca5fd35fa57e94d7d1d8d9aeb6ffa128a807358e6a47fb8cef6a89a16edbd56a73355520b7331fecc1823143f385734314e0ab1f5630fa68c2282904db0e243d67df15be3de7b6a18971a1ca4d0c82606c92fe72de29f0fccdccb11fe992df142e9a0b6fdc66875cb78 +GCD = 1 + +A = -a0e65ac5abbb8946e60c5718e51d5ae27df597411610fb63f2778a5ee4b913a24c48af79f80c4ba343c7b0eb529d0f44f0f660ed94dcd47772dcf53770a132daa4bc1350217629433b223aceab21bba211aed40474e6fc153529323b4af43b4775edac222f356077cc14fe6d8d23dc1b7dc4f89a27c67815851df11b9519b226 +B = 547679d5c75573568a9c799fa97370cb5421cc0371924267ef00603a452582b5dd88a79db6ee2a2aff8e1c1e320bd9d3f75164845b15ceaafd638203583b6d57cbe1d5fa1d992db1c8045926dc229bd2dee5dc1a4ce5584d23ac703c51248c13aaff9c7a27a82f3b86b7c83248157963264b8ad99af86db79ac762ad9c1eeda4 +GCD = 2 + +A = 4ff8f96feaf2bdc5a311b7c604c3867776aadfa7391e14a5ee54854d08ab82bb630c2e77e80575a93fb56e4a37c62d0decd620173e2ab264f08a4ed6ddc7366fe9725ba2c245c5ba46eb7a4e04486fe478fb6c14c4d748e8aba7f4df3c3929ff27697c2307a3b5b4801ea36535f2ceaa5f6010da4e6854b8910c36b718d383ae +B = -d1dbfcdf85713c749665987b31a62c9d29a7ecf6bf367b5952b4fd8b1361580dc487b37290d2eb4713c4cd8388048108ebe31a09ab7a08217d12670018f4d02fa3a79f0717d75990c8a03761751391184ad6f18e5c8e2598b722dc7815aa175cc06738c692eb5652cb839cc07f7e34b7a18110803b0d44bac30c9b0feddf67f8 +GCD = 6 + +A = bcf9ce96c159d304b6b61c873d3b30821571b397f1eff085ec87f224eaf646fa6403db6b422ab6406acef4c3a03a363c69a03cdc2a4d1e549863e8477f8c915c4c93db5fcbae31ce4dfb4f667359d857d73fe8b8d8ecbf5021ce4a762a8cff371e8f172c74d9442c96b203df676ceaadb237643bfd3bb4f18a9eebf8dc37e0d5 +B = -cf0776bccac418b27d95d65121480673de732e76d8ed19127d976e80beb50426123ecd20102b4c3a9757a4fc104a34a620af5a35cd41cc0b77877b4645a5c6856059a98f2d8a771f28ea18650b4e8c96c441822ef9253e039d329f863240ca6605cc153f573761bde7ca782ac7980344c1b15ff6868e94cd64bd8453a8594b3e +GCD = 1 + +A = -ebd18c5a63b0b674299c42de80b6f217c9b84ac9425390ac0c146e1256d2609f5372fad2b128cca554942629f74dd179e5a90c84a884f6e609402e5b26b508986a6dae1701844108023cfaf09325fb3d8aea8e7f93c1bd8c7efbe7fc91e7d86d8eac30a97f404b68e3aa471cf0e0882d7837472b22d14258469c6c286481c548 +B = e1cbd621398f15d83c54175fd8d824775c8457e3aff649ab3b59d8a4a715a588a1abca24d76cd91ce5438f2316970edc50f5170a17a178373179177dc90598bc7c6271791fadf2e23af3f889dc875c5f3933729fbee1f84a2dac36ad6084299d2c66d339837e1c2dbf289e073085c827b178fcc97960533000f2104951435777 +GCD = 3 + +A = -1a451d226934d260b82b691856f6ab490422a27f0fc619506668293f0f99d48601ce6e258ee6825ef2e343d1e1fd1ae3f0f661d2d40bf3c25a382d2f82a5c9af147af05467e2e4bbf6fdc67df5cba086df21945f3dd0b9701a68a456e1954f9499100bcc263a754b415655ec6f47b4de6aaf20af51a13858b02cdfda9d47bfef +B = a251cc8d0d1eb7ff7e2eff9ac36e01ec3d8faf1c8a8004196bb79887edbf14894e9ce019269e04652ad95c454445bee283a4b609787c2ca307ca5c4c1ac37366226f90009991b3ceb08f0a5cdd1002e33e357dac1cff7b1bff1446ac3f9f75d7258d76b25776062ddbf5df44dfba55a257c6a934c6d9e095c08870296d559d6e +GCD = 3 + +A = d593ab06d4321d8fd431c7efee0abecf19955ea34d58675ae54944e1b256762abf06156ddbc24e147fa48dc8f31fc44472594d825bc504415527a6ab9e8350d06d51f08478c74de836d44a361f7e0908e4ff36e718b85fba119db126e8dcb7623270bdb91d81513ac6fc178d1af3535af7dc8a3306319c0548d6093242352568 +B = 4ccb72f21749ea14e64d692853752df499a1edc280eb24be9b0b17871a26c19f0dee7135a048a4c843b70543dcd6cd9a5317928bf27fc741e2e3b2a0465170082d03e08dab3954b711278b68ec73db89d99a2be3d764f3661f645e2557d5cfe0d825cd81ee70c9047d1aa22a3cc054bd7c03fab22a5b990f563db2a8d4782cb9 +GCD = 1 + +A = -ec6e35796b5e8dbe52ef9ab9b728766e21de21835062167fef2b9cb3cfe0b4a5d103631790549e0e7846a7e3421ffd9146fd1a9c84a68954a194cbc5d730016e8d8df95d7e35c2406c6f1cd2b00328e08bb0f853565ecc6bd262cf95a706a526a2120ebca2bf9a8ff2dd8e25fc290ae2f5294574e2c8647b55114b0800a1b16a +B = -db4072e1d4bbc7a46b951e549b1e468cd6cfc4205378ee12db794ad6bfe021dc33bfd665940bd52438964ab986f641c5983e74e23768094355590edccce2c1d90987dedaedf8a9a3840f7004e804971d2607daa97974b03df376acf685af258569de2bf29a517ac0aa9085da74855a0076ad31cde94adc45e6dd794d60193a06 +GCD = 2 + +A = f111f0846dc412346698a07450f2583b73a192b8db4f4d5e63f7d7423d21d5641919f87a5372b60fac786ecc007f5cb407c03e73cbbbe999cab22659ee320862044fb2f33d52d3e7424c12515a87094d1fe26061a0b070de63d55436169646cb0a5742728b161b127ab629cad0d4d74ba66b051e5d9fc3790380d74d582ddd7c +B = -ea1b527f48dfa797dfa650e7c6ffd255f96c37967d9b8327a8c556401aae49103b4d202ab0de26bdcbe638ae0528707f6772ab0c71d34cbf60de735d6fa4b4736bc93edab15055031cfe56a31a5fc8dddbfdd7829b1399c295934269b018ad4f6e2195da8c2da66d964ae376e0683671776058ef88584baf483e63519b2ee299 +GCD = 1 + +A = 7076c80ed4000cd1cb5c3d9b89d1e09b57eab0c701d9b1b754cab6faaac932d745ef0e16f1fe26440e34e826ed8f1b8d181a2598104dea50aede6a7e56c666c0eb9c905c05bb159a97b9339fa4bd888449db2e9fc0e1f82f3f90d36917f5e05e24bc4ecea072e9aac7805e9c7e637a8712e3704e9f64e9ff3bb90bd43a84922f +B = cb9c40f46ab68fbf0d638b0dc394dcb28a51942b88b07b02c282d4ace3d379c49610c0e62f1c8f6a472370955e868d853ca14d1b5ea68fe5cc2fb54708a97e2aa60917fa1925f289bd723da5f9d5e4a7db6bb3ec01ace76d62786fe9476b07fa7408ce54e682fe638ed0d075361178f55280c20776c5f4628c6340b53805a567 +GCD = 1 + +A = -408a0d198daa8008a0050af3ea2f00c44206537d86469f8dacf7af6f9a29870f7ccdcae54816858bb999c66717e592b1fa46dee9d981006a93e0f320bb6d5acc5436c32ea92777ebf2379ae0e7064043134f3cbccaa49fdad9cb5a8ab72608cfa8fd08c6d9528d12f0de14beadd4280471f1f40f2ac1409a274c0462b03526ac +B = -b8a358b213b43650105b9eceaeb821b2f984c595d2085c44289fa911ce0bd36820a6b9b4eb4f834227873afadbc2d21bbded12f9f9d686436ba4f787dcbff32d556f40cfdc6715307e1680de5a8cec62ead4673e3b37128708f396e9671947c7f80b0b2129e0128dd99507b6aed0a160184b6d6fd5726c338f5e9d56c70cb781 +GCD = 1 + +A = -a464435f68a42cb7379060de55bf9a1902f52f3c1a4e918fd8f6b07f255ab9329a58ee56cebd4e793873fb1146973cd0d9f859edc03ebf3a904f46f4b5f4255fdfc81c2b0a80a8e54389c18ca1894ccc16793e93ba98945588c4e50e1a4e0bc790c3ebc1b72f43f2b7197b1c5a407a591acc8fb9c7b71f0399a97d16f88bf51a +B = 4ed0e3711eab5212783a75db0bfbbf36e1010ef9eae5d923ee6ac5fe65c2022f5d3a5932ab545b4fadf8355a0b351fe2c0525d139cdb9bf7df21461d81615acae275c49d4cc5d6f7488b318a051bffd9701852e068010571f553fd0a16d806f3f3648d85de664c88dea6fbff924857808d62d5a1d3511a82f0e8cb2f0304ba0d +GCD = 1 + +A = 6da1881883193493c684e78ab50c8db22bbd20bf526c9076ba6d5daf0a5116a275060698236af798d93a700c01739477ce21c719686514402bc6ce4b6a7a28f0d785a059acb0c08d5d149e78f35bafd718351357f0546f034ca728456b21ecf914e6cd14d27ac8be6db0b1f75a11b018be08aa5005f51e8096f821acc2b6fc10 +B = -5763ff3c2d8d2e39bfa6a952130248076a475320b8c7716827f725f4208db3f21c76b86a5622338223eeca3452910775bda483fef9e5beea46c3e78eca68fa177695bd0cd69f73c804d8ed91553b67083b6aa7b5f7da818b759e8b855ea3b83a2b7a2bf568fec6f017292aeabb1ae0a0b84807a9f692a8689237b0e0cf1fceea +GCD = 2 + +A = -db1d35d213eea304a4d800ea6df6f4a8311849966a0562256d116ede3d01fbc6fcbd2961770d8a40a3435b63ddf832c0ff7c7ea3c44b2c2e0e08fa7e3a38c7075a1eb9f97e23f13422f7ced5bc1d13d8fce5048643be6752db6fc165b6da03a018567fecbcb9eb4e357e7afcfa33251ec20e7858d47028255a85775ac4919609 +B = 43d8372dd5babe95c96c7c4abc33c0e0e264e8b70d6adcfd3c8050f2133ea7e94854b55cd0b2e3351880f5f01987a530d1d3ca4d7dd2aff38b96be31417cc6197d0f83a3f585093533b54069ed1116216d7acb41a24ece014093fb5c11b97b23bd631395e344b8887362c2d44ae37940b1d6916fe0ec52c9c9914e5f87aef9c2 +GCD = f + +A = dcfe5680e6ab4f7e4b60ed760ed07e762776074a33376cf7040227e9153383319ac415cd64392752f8b9a70a83d8a13014b212a0278258da12a2da9a03dad414fd1f225020c2d9e9aceead6bbaddf3c1d7adec9e9243ab3d550e78e769ca5373bf87e856092420225e0b9cb16a56e12357f1eb6a2a8a5b911236ebc8f30004b5 +B = -5255ba927d7b3dc7e5d26c654f20b897cb1d490f1f598de5c6cc09f69a8ef010590f844f5b7c54c658ae15ff5e68fdf19498848a5f17f075fe54a6ae58780eba1a248f95bceecd05724a74fa0e92d7112004796c362a84ccc86c300603a4afef44c6248986e986e3cdb8d9822471b0295b1e82951999eb69ee8734661987c620 +GCD = 1 + +A = -ca7876ae7adfa3af16850aae906c2f8536864a4714d423bcbe27d924a41ec3d39791ed7747ac1fe4f289c02495510285a7e6dcd5eca6b44306e106431a777a498951b442260fc2bd68d092ab56b4f26ef8e58bc0f48c09ae0bcab0282886523f13f2a970089508daaced83587fd39b5eef165cd1bd0ba0ff9a6928734e42675a +B = -3eacc2a2aecfd0c40648b9acf015ad8d8a75f700e8c40dab172f4395e91c8df4c7465b7371bf9d42c0850488f336134265b736149d4fd5088eb19e4f2f87c7b386bb8aaf0a1ab204d7afe03d2cb4ca34d6f0f6f88d911c11f403bcaaf9630da75b270c155bc65234dde727eb71e7e58601e643f4eb1d5a8c2f817e0f60f7b70d +GCD = 1 + +A = f92e1d5690812eb4a2a107a4a395b35681b7a8a183ae0aef2bf57c8da663def73935631700d5c4d13e0bf399747c0dbd1a639b42a0c76aa834cf8c9d8853d6c525296e0c9cce5903c98aefd725143e77d66528dafa10efc2970de0d06af959c9c70863c758932580b6aa2a01bb9c3cb28ff1916d686aa6f582c2a1337590e0bb +B = -58ac2a12249be9e0b9a26741b1e830ded8f1a2375b45f88c1549ae55b9dfd7141ce5476e47a71ec6a1c4ea19d26e29f7dcc60c368729a7497e977c5992cf5dd783a754abcb5507b0b74703c07330866410b5807ec0f7f0b8003353ea01fd8e162b81b9eaa66217a90105a4ad80db46d3a6463ce1c344babbcd881f4d9e5a0b9b +GCD = 1 + +A = 92b89a12f6e7f06a2579a95097992e2a21d089796a7c331cc8b8b559ed8afb6b1de33d380c48ba7c8a4a641a5d2ef69d9bcd8bc710496e9e844e079978f93fe9e0f762199775ebd2d9d555b77fdfbb2f4d02717fc4859a15b6eb9089bee47f3748a3f98a0ec1723b4cd6ba972dd880db71080db11eb2b7aa677b22ad38da0f4c +B = -27839c73bc4d4dfbcde48591297cbd8096cdf3cccb72e51b1df5a835af1f2331a323b47444269dff2107bf6370e80811f1db92ca52e9dbf7d41512563c384783bbb0efad2d56c25d3ba56f351ca8bbcd6db5a82d02b0b71dae250009dd774ced8975bd09789ec5229c5016229fc28cbd06dfbfbef81e020e1cde05f7f1e8a0e7 +GCD = 1 + +A = 34caec1ca4f9e9cac45b2a1b4130968f20a43109db79e5ac72848ce8f6d01aa25c9f350d1c88294c6c2e6f58ea3755f98ab04a4b438709d17e76ad081d15e1335a6e7c63e7bdf52b46919bf86be1eef654f43ed4c857f454ff9641f90a982700cc4710016bd7e666aedfe9bb81b325feca07782a822f13d3e996060fda1c8619 +B = 6221d8eae89e62172409ff48b3a726109b6e0622cc206aa1f5421b3026c671898aa759c973d2cbbd50fe9ed0b06ac736501aee9de45e2dcd49f8491168894e08d87dabddd5a9977c52902d88d94e2c9106f0a8b1d18fdecd7caa60fcdaa20565ed041b4e688612b4e6bb0ee8ec9ced1b28610dbc81ad37ff6b2f492eb482cdcf +GCD = 1 + +A = -ff502eaef742f6cbc13795cb995f91d6596a8fd63eb90a273e78fae0e1d1a46947b8c38dbe87f9eae250bf502bdf3faf06fe8fddfe3e7f1cf230f6b7aa060e8fa2499646d13443a483205afc220767444c5eb40c2b2ef7bf3b17a16eb8253baaf287f118333795dbb23621fb6172df8df2c159169f5e0120c45f46f3d208d8f9 +B = -3ba904be06a57286f6bc4203f9b57f2d76b41e08594841ee17593282f68e3cd8dd2a4740d8fd43afd57653b0381efc36289831cc39ed2620ff316183dd6b13f50347d9cd00339e4e5ea87cb0e445c8cfa8b7924c08bfe0a53875656eb286415cff34c4f213d19ed21cab175e2bcd008343d92f71416703f6946a4ab70cf0ac1d +GCD = 5 + +A = 2e9a15576d2705cd48b66f82cf461814348911cab78e5b5e736ce803c58e546f5c2cdee8423c847e712af7f42ae33da4218decbc343b50d7188e91846044f27dd6c09720d0d5243aa52dfe5346a1882aeb68a13f5ab5ad253bfe82ce65b20c1060fb3aff56adfffda839a16772584513237309f583c3b4e279bd31641ca36fed +B = 42f9ae1c4e870faba371d82704d99b2960573e40bc782044a93e6ef10c8855afeb69c89e43b41172571941b4355ab63f8979505b3ddad2385afa1c920a47dcacd2e974ec230f53b3304921546b350145d7069fac8368f22f98edcc7dc4ba7a9ef618024292e497d58b4421f5795c4e4dced0d963e2a9dbac10c2a9b9cf0c2635 +GCD = 1 + +A = -abfacb184c39fca4044f0fdae54c4bbcb1d82355e86d13e3ec234a756ed118bf3684c1d33d694e390044429b2d7bc2245bbeb33fedbe48a4e9e0eac364f0a80cd021c774c6ae1d1d1906072c9bb8ec179b7122d1c0b00f6d367d57f45ccf5a722e6598b858dabb859dae632225e6021fa80221523e7d482cc1b467e9536b830e +B = -7beae7c1941a50dcaca65c1068366e9b91f78eaa0dee8eea08b2c8d74be37fb984d17c39fc388e949f22520c612db684a8cf2b7c1e6b4068bb76a37ce5bcaf8052346b98bb59d29e017633d5fd27262420682c07892481cb62fc4571f0aac9eeabb755ee06d16e579bbb01593f00b4cfcd50b9d738d648fdc93114d917c8ac79 +GCD = 1 + +A = -bde7be1b0969998361ee9b9f6161e2a2408f9e016484c0781e149998eb168312494afa41dafbfedf035a57dac5bc7402fe111b5dc8fcbe6dd10bf08e254f2652250e3fc7ea1046dd61771d47dbf34e451ba637c57d3f5a991cb0ea840da745d6e30a8aa35521447b44424d89e722e0a60a25820dc56169028122577a3eb23233 +B = dde0f8672eecf6cb5885fd54495432ac26ef19d68df3325d59338367135d1efa4790813f5b03e8ba4f87817675af55afb441705a339aab7262564292edca1de76c949828d533fe89af97fe265236752fe6a2941fe27c6cd695f9145d9d435054264c82796a6d236ffe8f388b4d1abe43b5534e726deeb0552d9d25ff60af9869 +GCD = 1 + +A = -1cd50237000d29ea623c51302896ddc1c63c9d57c5bea95f2821b553ec9b928b052fcefdbd609823ac265aa6a477452016f01cd4093851a07f97b0f003a5bea56dfe99eff04801edf7529945a6650cbc4a3399c9675a36ba3ff41e958359cc8ef1de225bddefc2d5c0548556161d12018e59808d27267dd0b847c05b63a1669a +B = -d40e4142e1f5969ea4f839e1808f9684a2486d352bd2b44505d3b19961dd0614f6c1f79022cdf75fbc356136d9d46e618cb8e8b814c2be55415e162862fa43ee102e3dcf78be3f58bb6196454a985b7dc7b7c80714695063b3b00655f891343b7517285bb9dafd950c4287e51aed8a61eef82d54a0ca0a0203239c5f6b5b147d +GCD = 1 + +A = -6ce0035cc0a2f898e3aaa5dbc03e5798b73dfcd749378f6503095c8df11c8274053ebb3fe0fbd38f9e3d144520dcb4a2c41b001283471a93aa062e52fc6ccaca649b3af3c0bbaeb44542868f6c31e4341fdf29d106439501891ad0e009fe030d2ee1772a89921cb6890130df6cced53bd394bc1fbac767a9e4a42da929934536 +B = -61870b057b88db401b1d34d4724d0624cef0469aae5ec319f29afb4f3bed8ee2d4b8da9bbba1ad8338594d77408de991ddec50dff443a0593b68d541de6b74950e90ba133d6bd59587f3ceef7e73f72298c177d0ef297b2895b2ccb4bf98781ea6d70df2344c3a95e3c48976b1905dca7b68fe9f653d64be9ddfc6c4a01c55df +GCD = 17 + +A = 779f020a5e14b5ff9ebae45799c1b2c6ffde59db1396fb1ad90516a9b7e50b5f98b32f379e47f781d5f8c7a21bf07aa8c6294bd2470f84565ec1dab52740ee009bc20b71bb82c453d628bf9573fbc227d216858a7edbd563181b57c6bbfb575463c6d0199db6e69ba8f36b4455b235be1169e0e81f93c089c81cbb8f74bc9651 +B = -932ed2504702008fcb8e50ae53722439d21e0f14662299a33c72a1b659c76d35514f0c41f265d0f599c61dd15819c97185903277c6b1bc6df8f25b80e56172a5b0b4d03aefbd56748b6536b901cbd4d5ece174791eb2f4656635362db45137103e4e7366d8c5889952968e612e1864ecbf4e5b7beeff2c330f6e33963b468614 +GCD = 1 + +A = a296053f44bbcb543a97f9a333018dbcebf6148738a0f36bc0ffd9e5b2d68b14ac0cf9e1d9e7ccd19de9217c567be1bf17cf4ee6c6af349b5f0307edefc2051a671306b65e6ee3db624e7c86472752790236c3aabe9f060b41883855943596cfbbb42a1bdf13b9d36d017b42439e24fefe1862bf98e434d65855c9f016833cb7 +B = -955f3923c2f49d4a11a841cfc996453981a8bbaa157e482e5d61345a67e594e71ee2cb899c9f734eb36110789c5c65814d2fa1077aa36c4351b2a873a131aabe65a00b8973408000652bb764591630c7c00e1e72eed85e465d1ed40e8fe8612913a8665523e07e80ca42d70f7a459dec9f60ff3af67261c7e4f2222c8eb1d48e +GCD = 1 + +A = -9d54a3e12f3accb2a45fcec3f6b460a074fff1cc770be78aebfb1d694612622f4ce37ef921439b088a2d7350ba0319c9e8a59db1b5cf040d9c09a315c15eed7d76f0677dc055d4946902e28a369f39f8044aaa0d4b41eebd8baf27187a09b6b8ed10e065d24544db6b3d582e1c98d85f96132b0a498abdd6b13ef36e06b80509 +B = a8496c6007f910ffb98c3a0ce1e3cc424cdb06fc4b8bb65c78e62a0f75f24dbd7668e0c20ae4f3dbceae0edae3b11b09506b24550571e9369bc7a5977ca7d6c77a953136e62fb41ba79b328ca095d7c57d6e56a392bab6162c2fdafd168766332fc04c0111d919974a54bdfd49d16e2724a7cd72a6400e40e074c5154ff2e3da +GCD = 1 + +A = -a94636ce5d9a5c1c0bd6c37644616f8fb1a013628aefc96e25c639829c69feac88af74e97b7cb28c56e34ceb642c009b2318b8c31feed8b769e882f519ed19ad7403d82481a8eb0a889081800f4059753977efc77063ce879fd229b0782f71c760b91838591da728ce2dafbe0c00a0b365680604e293f86da837c9c8f05047b0 +B = 503216defde871a1789b7c7a09e49ce0fdcc490df96f9ba84271cae34d6f8df83fea328199dbf4e829ad12cadb98bb45e17be6e20cc1c30e060c663259b4338479e4af65b7b7a9353e82fbf7f3662e7b332885cd363062c0fcd4d20788cda471a56c157d04cd1aaf1681be1b458ca65ede55aa2123b8c7e4e108fa7196601a79 +GCD = 5 + +A = f37e35f0cfd11b54a3f661810012975075bd681b7d62aca0868e35f21ffb336512b0c4e99a6d559a7babd81f3b44bb98f6cbefc2e20a1815613f2aebdf5bf309632547afa3ae5e8d3186f4045d29ec11fca23a0b14a850b31ad161c7a2f8989a83a479217c00b4312abafdeba4de1aa77232b87f3ebb6304c0464a2a50461bef +B = f957d20d84192c92eedd6ea792e2cf53a4935d1c09a85732f409f8dc6f8083ee6fdad0abef4d9c652a88de8550df2fade5fd95ef8bb33cb58018dfe0435cbc6d0c9b29f3e08d2a1d58db44ea82674aa3a05d7590c6e4fa20932dcb3a1881d1b568df8e5f705e8b314969f626f7f66d621aadbd5e552fc8bd0b815b7b9c3992e3 +GCD = 1 + +A = -df57a231085a42bc4190aa29a6b061568703861905ee3f979cead10169db6e27e312721e621e252db304329d318cf5f72498ae3e91f0d5268f2032ae80b1aa358edc919cc19a1a688cbd6ee3ec448b18592a83affe1e4d84e0c680104a4c7b9edfbefca9683e58080deec7f8d71b122c4a13198fd99f3a3ae4249a8e427e68db +B = -e6830d14dec15cb2ea54deb63c6082dfa1647070e9d24a84e8f492ce23de5e1cda94f15854f0221c802ab2e4b540ef6117bf4ec6da6f668546409ee48a7176a523e848a1413a258d339d101cedd5e50abdfdf025f58769144fca8bd8d8e33e61c803a18da1446d1ec07b9b8d4b1a683791e64e2a85f5a4b174a09e62d34bbe3c +GCD = 1 + +A = -8c7d5b7b967ab1422971ffbeb22521137a5522d747c592979487af046bcc8c09a282161806efd4da6dfabd484af68a7f0f1e40afa894cdf2f53b25281d01a49a7efb2fb57ad5df9db4a01a3b24f684cb50388f57af885ebbfbb95d5a4d9871c8b39526f3344773a711e772c91aa55d7130ccb10ac4d9a98665cbeba27d6c6e28 +B = 6cacc8362af07bc36dd7f435f0ca65d53720df1e52b8eddf9c084d212f9a2e34818bd35babfb7043e7ba3c3a9f7bf49ce13c9d25cc40d58c806cb7340b3434e4e3f6b518707382bc8f471e8e45a23b47e4aef8273070bcfc380fe4ba9c259705598ec6de7b880e72be01eed3a9139e6bbf568faaf8b288157df55cb08bf409a8 +GCD = 8 + +A = -4b33b563d997abfbcc574a1b98934a5428d3d2daa232fd588aa84ec9e0f6d29b97f562113422ca004f0e56e0f1879102a94dc5ef816e418dd83bd264dba3e2c2abec323a110924db970e067e0b73bce71d63e1f2110840d10a2ae7b986916fd24b028d7a8321679d4f0e66eb8c783e7dd66a9c13e187ec7bab5305fb894e527c +B = -21591df1a5406e09297e3027b2c332d7046a30470b08f7e8074f513c07bd16f721842ec872e0a384efa247acb6e067a673a148944549a6b01a67fdc705b987aaf760987130438c7ea73df67fd0460e3ffbed0ba23e3474a9b50a2dcb3008bdc357860ece07bce361a36a7ad26cc844ecec3e0369f9e8e35ee0363497886a33a4 +GCD = 4 + +A = e76ad50bbfd97378d3f66ad97df9aa8a7ae3614e3c4f3c6272a9de8fcd5baea049642b21bb59e4b497c723b109f6d3dc3fabf55cd38812afb7b7d9e4a1d4778fbc223d9802e6ac624ef6fc5f3e62ce8159b7c37f34374a3a0598ab6a0d64888bf1caf32ca244f16361d40510ec4418b5e69e4efdba9965c12cf478637952705b +B = -adc2994d3f0ce5d9206bc818702c9cdde9853293d1fbaceb6b5a24272ea900fffa4053a1052d68979d2b20c29fbcf944e9f5be4ff2f51ecd2fe5a96728107096c6914d5f45cf16bcf7044c39cc3c458eb311ed07f94eb8f99efdf1630e0608f78724488b101d39bc4be8f2876b3f9e09390167aedc037f0ce2ce785dba875d57 +GCD = 1 + +A = -a26d58676dfcba352caa8b7faa5aaec7f1785f0fbc1daf679d2aa6e9211a82745291c1690dada45dba1c69678218d4faa1498222548217c58c74d2db40e661dfd406d38406801e1606323abadaa8d13068595dfa578ad57475cd8b3651d43bcf4bcefc689b52dc7b0e435f4a79db12110948ec98ab112c2d6130a8864477ec8 +B = -ef7c6720aadb401d5ed469c27686663a7d1cc6260db0cb32bc98c567b3bcfff2d34e40c350aae332ff4713f80c0dddf6b2e7c099d40bdf5a8219936e048b3e2ff8965678c5ef7b9678a5ba1bdeb85125d05559ed9bcb712e8395563f29557d024972972fe183567dd01857b463639bf3adc69df512955be05c17bd7da23c4b6f +GCD = 1 + +A = df032624bb6ab7476fd8929208f0a3356f459bddabef866b1c37da5c640e236ce34db54f9a5678039cc663dc3674cd2221e2c1083bea754a51faa1f5fd7c9a128e1062bd393f13252c85ae5441b8d89fc1bbfef9a7cbffdc90449df52d6a717c290916b7c143f3f51cb19e68752f0822550e294d161ef60024673b944dd9ae47 +B = -f0882ea223c94de0f7429f7fa58efc81dda38e02eeedf8b6e83ecbc188e6f16a4900c9f5e58e0024ac8a0f5d342cce5f7bccd9e6e92428a0501a6b35fcbac51141b5bf23ccbca35a962f031dcd3c2dfe45198eb6afa41f1ef7db9b5c51062ff1f3fc85bae1b9e4864144220f31327944ef5f9e4921d6cddc9db4d10b9d60cc0d +GCD = 1 + +A = 21c379cd46c1653eea675f05b7de1936ea8c6059f379ba432075447f4193418e6695696c39a402d495ae5ff0ef206f6f8728b5dd15c4bcc99cb8df2f05bf1e3269ab54bf559f893d7de0092fbe49af03b7e2838c9d9893ffbe6200d7e7d4ed9b5ba2ca4e9d74397c7f742a019fb2e3c8111f5566552732f9abcf3a080301b08e +B = -a91705a139ce7019af10fce8e8ddb9bcd3f956ce345cd5d9f5a0c75a164290dfa9e72165d12ef52cc3aadc091eafd873accba9b578a5e4444df0fc704f728beffea0d0da4751d75fe689404d10683baa05438ac2bcb58c2ad9678de6ddfa076a2f235ec0bba35add40999620f668f714f3a198f6d97a920b1e2e37d3b96cffc6 +GCD = 2 + +A = b268ecd0e391a74a5fd3f1b6cd6d2a6c0fa0a8528d2dfb8688e820e0c86314a4f1b69f6fa618db115574a75e3673f1bf7077fa21e34a7f4f5bb08a485aea73ca984d300a941108d1b637e3486778f63a7d88f8873b2a7471c64e9494349c7ca33c74fe6c889f6e515b10207b5bb8800094362e7b5267d72ab3dbc7fd5de0f8b1 +B = 8ba48fe0806812f28c260759db6aea5a1c5b7d76dc6e7e56c1ea1eb4731a0cbf0a2146245642707a93fdfc4eb2016f74478558326781e4be7801e58f4d360de1030c164bec702d8768107e3871f0e586c319c9c464a5cf01ff39bda5e4fa390d7603a04f553eca09baa1b2b540ad4749fdd544e113c5fe66ddd1b2ab5867c6da +GCD = 1 + +A = -81a14d3a351dfb5e769a0fa13ac1ba03adfb44c0e70e859c08515b123304d698f3720c4bb93004dbec54a83b2958e5a1d3c9207e86f2e2980f82383743246db9ea143f28a84ad125ad81f9eeee23f7f89a71532582de802dfa375745899e1cf7e2fb7fe4eab272178a57c6a6518158a348c4638e058f9383fa4d6d099f890004 +B = -e7866f33c29dfb85e07d50fce9f09386a927dacd97bcd535e05c87b460867f9736ca84de2e7b3dee1e8876094ca31a9f3e6888ccaf8691361de6ed22ecacd22ad2025abb804bf082719b9bcdf94e5c107f31201560edf83c194a47ce27ad78640eabbb08f96048c5dca8c957c7f171ed927ddee287d2671b8cfc4b9efcd34d83 +GCD = 35 + +A = f07fa8c1249c09dfa2a5b5c5666a1eef38d98ec5cb95c24954fab3e619a79f07da25ce5ed0763b6b112db9ea41e0a39043d25b696cd505277d759841913896ab492afd1a3fbbeffa646bb09f375d749728d55f9ee8c0c01d38bf1ac5e1e78281c5d9965a214c78a03fc01a8b22ccd0e8395b9b6c23acb6d3d0e03f8ad8523e3d +B = -f7992a5509162338e685c18223f9cab1970c599808940bdf68e036041e89daf4ccaa468863ec034433fad37c19f26758b359563efbbc8b1319e14b1538408d8b86df616bf76994e843d9eee7b4b5122dc10e6dd7509dd596d253cc4165f6a4bb41c06861a824a45f576e413a701921ca4035dba6d0ccb627ff50c5cc14c4b155 +GCD = 1 + +A = -cb8ac44017ba238d4212bb347e8ee1cf66d7c7927e74526abff4a496d552b8a9dba6a2417cd6ac18d619e930859493ee27ca7a4168b82f8cbdc168ce66f150e104239388d2967bf669d098dfd3f7c14b49460c3e6218e3195724996318be3834937a1cd8b4c31d8fa36cc9efac68d430958a705338a3d3a687480680cd622457 +B = -dabf6e2de58d9953d51d5027324d69ebe731d90cbf234bfbe301c3ba64c83c296b318f7bc010de8cb5d97c377a418ece4acf72d447fb282fa74d7c580b689d52945d44a19079f840dda9223ebae08064b5d47d7dfaac5a6e634b19047baac0e3a57dc8412b28a65e21aeb4719d6683eab2c427550c4fa2f4bfcc60f1cff9df1d +GCD = 1 + +A = -65b865036fa8636ed1ef024aec9b06255f736375b54859dcb6555a029e7fa46f9cfc8e8cf511ce86401c59b2d2a407b66eb4b8f40dd7074c9708e036220a72902fd32468977b66381aacadbb4a4ecb4bba23d639587c1f252f4c2f51e4f3632619f2c351c7f7e9793c8db97b92378ab360c1c1051e51df4500512653e55ae46b +B = -981d477aeb1970aa9d1330ac9bf1d1b9ec0966547f62f0d8dd81fca25bc679f160056efd1c4750e6a72b7a0902a1eac992912db780842c1733694d5c42ff4ba4f3a0baa7726fcdf9bb05b12477c0047dbdea40411ca38938cbf3d8188f008dac4a2e9498bb518c0ced1e6a2531ac686cebb871f6574083771270eb67497b7765 +GCD = 1 + +A = 43a372a3985094c0d6affe0ca94b70c12278e9ba2fdc4b7f3b399200214c618c57dddfb7dc87aa4ba948e89d8795fab80554a96fb820bc70a9240ea7805dabd715842c5998ad16436f72027af12a7e3e4af6dc977c25beef3d14d32b060305f388ae54ff34d3dc01f9737f80946764810fa17ac7c4b3edd90a68f189321a0eb6 +B = 14c1f76b12d6e75a50fdb169565ce361518c4e15cfcd888d3883aeafc8d8a5f7602e0d5f87189a056c4ae44ecd918b0f44a0e3ef39d1f5bc4a1454b495c0be36389fe71a069989b7802314d979180917b90e8cfa4f45606c4bc86f7e71f2e7debd81ce5f4ac78714779c433f15cb907174b7a8ee89a695a9fbd79e7cbcc0d527 +GCD = 1 + +A = -38b25215785d328a77623832d51ab84755374962facd5d5e717999e78edfee5c3c2d6de6bfb8eb4c23eec80b98e3093c20ca258e6213e2b7c055ea44f048d51dafe9f802ec505a2ced55d6d80046b9b3212e921959762175c5f09f2020e0679c5f9b13e634dee08268eab05e4320367334ad3d9f4897db5ca7dba0f475b704f2 +B = bf0650c4aef678cac150400e06e7281591f7395dc85333af367addd99be31885757a7663646619b631879a442fa299a78bca076fe8bc0326ed62e4f92b8129c0e65711a0f035933df7bec1f4cd0c45be6559d771b2077f333c0940818461e8c8e394a13e1cb1b6349dd97d99a73460ff476bce30103db89de7f53b3446db38f1 +GCD = 1 + +A = b88fcef1a65c429fc01f8aab9c6ab04696d7c20b747e7622ac1a36a382af92799a6fefa7e395ccd5dd1bf793ee678583f5acc1f733957213d3f9e5faef7f01838ec7949c990eb83407df0c43abc60bc7a5be4821bf914f3cab354aa5289fc1ea9ec4bae896476a2c8cec9910dc7a6c6c0e4d13f1bd30f02bc1660e83d959025c +B = -8fac4a9109d38f3c5e7ba7064c174bd3d09a452cdb201d4b95d328b3c26f507d96b6762284e0cc47afab8cedb2daf382524238d06e59bc5c2754821c97fbbe1fd713b56c2ca201906e8d42572348bedb1eb94734d34ce5709f1b536fa5bee61cf2ff025b7de2cb41b99540ecaacea9ed6f50be8b6369e66978a797aa7d1a0cbd +GCD = 1 + +A = 6d0bed26e9f4889a74fbd6a974a9bec4805b76b74efe8ecb2036712197ecbfcd5c692767d8a53a036e3d744977c00a1cb6515ffd190d856c4a532800cc2c9a7ee58ae7a94e521c4dac3e360d26aa1b75604d13d74c86c600639b69b75778e9b97befd1272270d45fdc1cbeac7dc60e40593dc9fbfd7c41e7058f75cfa76ea15f +B = 71aeccc1b64c8136e8fc38efd268760660593105dd392b27c993b79ede50c74d69f249b3a5510b2b52f2785fa2a74acd2be549c492fe0ab47474e5d33a221c30234b7f3ffe52473a29157b6b56715bc747132e484ddf343a9495761040a09438e9e5c593a8614558070fa34ee0bc092854e4361566f4378fc90718cb0a316e3a +GCD = 3 + +A = -aae79b902e43c29eaf5515ee58a3ec34978b53d2b2f930170de3c722b64caa53faed9c010cf3311bf2370f5de7b23db3f80892a4075ad40c28f17dc576d25910694039d7ae93cca990a81b9440df60805b183810882e3546caf68c606b8b1e4d268db863a6eeff0246f1070b08b4efbeff1d0c2619800ddbb70cfa7555b18937 +B = -418054795ccf579c0ba706461461fccdb9cea4b966e40abbf96c8748eeb95edccbdf79753871be48635b6b63e91649a9a2e19091122cbdbab0a700b56ed31d5f989c6fd33c96b226c53663b331db70c22be07d23004acef438666c007bf3ae1cf68aee5e9d2eba546918f969668d195b54d996719a0f9a780b3283c9a8ee97fd +GCD = 1 + +A = daf8cde04e24e01e9c732c2c829a655763e92c9793ee6d3aa9fa587d80c756430447b3b41840be0073709dc86eeb3853516dcb130dd43657b8af64f1e8674c24a410b2f8f8e13ec59594620ac1a6868698a9235c0976d465fdf64a899eabe4af7d2dbc824730b6a35465a5bf30726f2364c0fc3950c1d7853442576244b6a08c +B = -c1e6213422e3bd2ba3195aeff596ead7d8695717c514766335d999fa8052c8bc440611d34b61e27e020beb3cd5ac3495defd064de1c72dfac99ca6461d79508468ca991fdf487bb4026c8d360decffc01a5b5df36cc90b08bbfe20b8292d48d0f22a289ff38c986f36eefd3eb8fa91031d77b534402374fa8757194f6ecdab87 +GCD = 1 + +A = 1f13ff29f61ef53ba74a584bba2f876faf30c3a48f14801f2670fc8c3a3f12a6e62e9c69751f6046ac25992e4fbf0939a55ec2a375785367bdce907d4b9fc5f51bf3c59a4f8cfcc157c22fd814de1a5adb87b9c022dc93c2fa0bf8722380da01d82f81e3ab90749b6c5b1b76e21b09e1da1900f2aa70e0a9e2f007c2c3ee1c0c +B = 6120a7393e915c22efe5c1349fe12e735f114c16361d84ef3909d35628ec556ad9aaaf010bd71cb54c43c958cbbb3e714c5945076636359272282a92250f1ba4ff21376ef85b574516b1eceb0a3e2aa5cd3ac99df188b4e29916d83a3ec033280e5257aa9bab30071e82cff29abda6ac993d0b7cf8a0c1fe5d598bc3caebbe5a +GCD = 2 + +A = a712ad383a734b4ac4d9c72a932622fbb2fd0e657a0e09306cc50f2307d4d7f488f5b04678913ddaa00d4c17e5e4a79dd4f4ab86dbd0e223f1c05e10445aa7fd7a58d0295efc04bfa5aaf5d6a810d875ffd9fd0abc89cda17a88fe15fd40407f5cbe53bd813b5408068d8a76282bb0156e1765bf7e9c2d4c4c8bfb804d9f5693 +B = 4776f15c7686fba5de4064e7bb75196c5bd92140f7ca3a118ac06bd35a9c730d71b47bff57f4399b746a8164fd392ae94e2111795c7ce714bf3072162d8e079537e17f3a477ca8799532654f07561e5b3916ba21199fa50512e1e3541cffca5729e2f073f23eec876c0a2460b6fb81fd49fd841082e5deddf4f2e7ba7fcbbf82 +GCD = 1 + +A = -c6ff0a22603be09f68237d3efa36c1701333b0196c3dd3d7612584fe9431cb13d5ccf753b0c1b3d35b2e4e59c005fd6621891b5d0c0acf9bd47bd20e15bfae3a37cc76f9024f3149127f750629ee19abf1eac01c2ddf9fd87ad55819c5efbc2f542bde99cd8db9f5be25c24da53ebe3dd28ccb07f2de8f0d11a5ea3cc8be5ec4 +B = -5155e77dfa312d2b21b46604fe2fc3a334d3e3e1a918962e9d0d9cf32f7f58ef942b770cb53a740fa464e293207fa2a3fa1fdabf4bde2f30d173beb37a9c314a1fab9c94e7b1b98558238cf523d9b48d4bb5ca638e7ba0306190632e30b92c0956068ba4e5207e7d280c608b96758d824cd7ac51cc074c8b8e194f6f0918b3dc +GCD = 4 + +A = fd21d30e49a0305fdc6716f6ab7472d933bd7d4d857228a6f5ebe1966eb74f395a474bc12bad45845717656336530c79452b8e62c8b661c80028d3de7d660dc603d6cc7b34e3dc835f5ddc8ee2496df0a55f628926fc2d3c331025da1972c80a142fb43690fff14edba13093b71b3aba5611cc60a85e8c8269305bacbbb9ae5a +B = 317c0d2092a5bd71a77b28bcd59599243a2baa5cd6593d553d7c0f322ca20f9b4adab128e7b7331adfee4afd47f2413ecc210d75994f319a75529f6cbe929ccd2244139401b241dc9f349076c6a07f1b41da7f607b1f94f536d62ee2790efef71500e20f076565d712c2bde1e54a5599975cfe726b47cf5f5a8ce308a58aca41 +GCD = 1 + +A = -a77183cb2c846782bc3c76bd01a48abbbced42256e2469157bbcb0174861bab7658a56125517ab6524940072788912b15a17873d0630c74d0786c7c998d9d6d0ad01c32aa85814a4b6435922b8b9c227d0843ae5dcc1a6487a219793420477ee62319a074f31b4035680bcf7be465b61416cecdb576009f021d648436a62c9a6 +B = 54ad1186b5b7b38611ea9420a9c5acd14f72c5041c989b4f9e1107764da5b664cdc6193d09e24dbfbd69476e56d22ff99d9a9b00ea7602f114164d63d0b10400f53738436353769528827cc5d4a06e6bbf579500ae1340beba7e3df6db3f78d3562571d74a5fb00e6884ee95b5fbebec61c357ac235bcf3114d7a0b757eb0bd3 +GCD = 1 + +A = d12591808a77326c83cd03d4e8014e5bfbbe90096676a7dece3881f1452bbbd9ad22346663a8e9cccc982d91191c16c7ff652d449b11ccc1d9b9c6d65387bf849f8e9fead8f6b60b45309d83f81b444cd24ee1f562ca06632ddffc00310b168c25ed30cbb04e83ed99ef95091100d1e49b5eae1e1bf13193d54a79d6b89da5f2 +B = a4e5a52af81703a4ca71d63be1eb12479c07aa1413bf978ff5390954249523afc71a74893a1400e9382dd8b47b44756f9e374e76393ea3f76ad00c5e14584d67d3af7a8963218313b5870e1a0c16cad9863762ac89b06d667f57845795e4b8384facd661bd5fc1cf00acec90dce8130cb7114dcc1db64a3566d5fffef0758641 +GCD = 1 + +A = f1515cd45bc9110dd40a05bdc25513ea453b89405b42588c8272a59f011d926294cb40f1e14eae8383751cfd7a0f7210dba1ec2b3d8135616db29c1b27dfa57758ad9e0d46bcf3b71faa99482fd394bf1aebbce79d25812a6556b06003424bd76f4ddcec7f1296ceee1a4d70a1a5e13758882d7cd35dd9c9dc753674036b081f +B = 473cf0ba3fd689129f57285191508310684b66cd3c5b5159ee602839bb721169eaa3dea26fc758c71260846a16ed0757a220a3bc262865de0824b3b9f03399cded6194e1229ba5dfd4f0436c75657b7b96cac4cd31f64d62af94373c1dd5a028b88d1f88ace120c0f3a5f22aac0dc2ade9d9c773a72d1bb3e6c7c3f5a804d9e +GCD = 3 + +A = 9151a42861828b4488cc0be096108cc04032973871fc889c0588c7a8de390384ad84836ecdceb2a532dfb200defe5ce66809a7d4ff4d31236042be18216d5bec8530d9bcf9deccd4b57dd81a26bc13390ea840d6facf12491ce7861773ef5a571d410f4758e887eaab61420c350e3f87db7a90626e27aefab24faf3dcfc45aa6 +B = 4505c1520f6852d35dd0f3778eba396ddf5efe730a5f3db1cfd594606fbcc1e97572e9d4cc26be153c5f945892a896070fb70d1e92a4155fbe12c1b17b48f0b9be59f73a1a55f248f119c7f28f5f4ef7782f6736c26836777bbc9234687f36308ed01d635ed5d4806628f5723ef8f09c7645080b4902e8c5eed5a80589ca1f42 +GCD = a + +A = -3d1b41fa04b57c10234693943c4f63c1703acc6059fec1d735beef5a42d80b7b52ea3bb062d86ec2663519ac664ed46148ad591f605422517f68487eceee7a5cbc6f80e9ae47b6ea4f5e1b6393f2dfd4d2a74a791356582117e255f8fe6388cbef75268d214408e0c96ad2da68c91c17a65687f93e72aa75a337a11b5ff62e57 +B = 87dc371fd217bf4a20a1b227da2ebb6d84380df47872f4a303f00a1f5d531ac4513bdead520dbf3dfc03e7631c1f1d7276a6b4877d9ad112f55631287ee1b281da2c5bd648007355e939077573919413d33cfc8ecb2431380c013bfdf05f364a9a5a8a12e08188ad726853df2973b248ce30634c3a8c4c0220fc81c4441e8b0a +GCD = 1 + +A = -7dd56f785f4a548424730a6286300efeecd23642be87da54ff3d492efa629e22467be9b35f324b1f426ce9e8aaccf5ef00a9a3bdc07a94f147e5ce4693ef6a1b1578c6d65435988f95aa979e73b1bd1fa180bf7c927b422a81d6841d51b2388193b69facde06751b54070bdfc6ec49938106188dcabb0d27e41f71907cd55fc5 +B = 676dcc9713c7bc5f48f8623980dc70c8a7416771068c98d92bd9847b7e063ef2140bbb7a47e17f3adb900295a89bb0dda74361c0e281211ac727e5b1051e06373ba4eafdceb6aaddb5ec2ef2413af512e79f31a768c1918624b835dad59220e94eeb506a6840b9149e921d93cb558357f49da6d2fa20050788e6df5df5818004 +GCD = 1 + +A = -c309840459c0490ff8395dea6392fa5ca8285881d7d5d81a604345740d1c9799b687e7d0806a4ebe9b7eeec64fc248099b50af8e18852814bd9dcc74ddb5de462ecba55a9e0abc79beaeaaa1929a48b1d66dbb74f23dbfa73555a6a2c3748edb351ca2f9e2b80659bcc11b61b595265728148f7575e31cb49cb285a5e112c148 +B = -8c4b3fa57df015461a1c22c625d2233f025644da1f0a05565e4fb14e9d380597bd17fcbf18319b069afb59f4b78a7010ba6c967b7fcc164e1e88cfc0813dde04f467990ba4257378fa1ffbcc6a4388ff9d3f4925232fbed09e07ad262e419492eed3e6cf2bf6f648db9bf3548c6df88cc8ac08582abf27982fecc1f08d38e326 +GCD = 2 + +A = -2fc99b46f9ca75ce80c4e2673c8e2d1088ee75fac5b944346d92386f58bda65702bb18bc1ecf384c27c5b8af9f680977900d71191853709c71979eca9a8dee53da55472bf483aeebb4f2440fcde48721b378f94e73c94dbfad2f3f8c91df0a4b1598d348e505034e6f47940d81cd265e4fba8175ea548cce777ab6efcd784dde +B = 7765803dd955c4d3c559425ff1c3aa4201a15014eb8a5fbcd85cad326d26040d66e61e7da9f4de9a56a7dcabc3aba3b993f2c5b90d4c0bbb3c275d8807a37bca9c58aa17877614b8a086c12c0ed3d143cd9c4271864200e128b98cee6da9020979e75453bca9f57c64333df59a214f9897d5c58f327b6bfc13ba15f2611ba0f8 +GCD = 2 + +A = ed8687ab0438c4208d835b83ffbf8d55d5214b2b39d17c419b6e6d07e3798da5c01c9ebc4dcedda314437cd27168a76195e718384bff709ff51aca1821e40016f920092ad51562777c969e72932cf4014c1b25c0878909c94e775ff5653821028c9c9c64f5a538ef2dc0a0d6f004bc909ec54176b1e2e6ae5c8b3c3c2d445150 +B = bd429f988bf8ed8fa53b5832a8a168cf0d58a992d6362a8d95912714a0fb2050ae5f7356a5dc5da97603e73983ce2276b7a7af4d1e91ba4da4dbfa95ba09dfc8c990e639136312c4172692efffcf6ef5030ffc15a9bddc3ed252b21f345f9f2d74fabc424c86330f92f47afb4b8bc934bfd5fb97ca1446efb0e482afc70d9cfd +GCD = 1 + +A = a51054c371b579d89492a0857f4060779ee58fbc1869852e38338a29d1a5a392a2cbc1410167806e6c2346bed7e8ca43cb320c69cb3ad1b564a36a2dcbc7c5d9182a67a8344cabf38111953d6bd7982c570c291e602641fd05434f480323498998b3dee6ead61e0a937bd2bcc0e6b9c580f8b9dcb95a61b1d3cc28518dac1a0 +B = bd5c6d1a4c5f6b5dcac080c571518d107b67aa7ec649122f3d1e9c16db09b746167d21774a8324b8a36f6192414b74d25cd47bc86363a1aa587f1a267a50e65b538d49f668ee923c4790393c94aeb23fbdc7521a7f6b0c0910e4be6ae214800819e6c4a4ee3b3034aaa80b92d5445b6a7061a0c8b0f639077912130e2e3f05f6 +GCD = 2 + +A = -12f5509130eb7500d7a60e8a21fb7df4b83bc2c3b634ba2cc07638db779ab043b228ed91b863353b9f74533d3fa4d0846d445f078e77f441a533c2650f58c586f4e799e489d5086fdb743a56b0cf0cab246c66462a356d98ee9933fe6eeffcc27b51d1da421bb6c6f267a6d6b9a0d53bacdec37253946e31f8c2c2c05e435031 +B = -f9a1feef60b8cad7cc064391b7533fc40dc209bdf8730419635d6140a5e2104adee7f84bb56cbfe61979b2e64a7699d1556a1bb6aa794c123c41dcb4510d181e0cf0a1f6aed0a80e15f5617f9c282af0378206f970bef7f29bacea5f4f3120268d0269251e2d9537d5a1a7b395c7d6cee062fd216cc3c49c17d3d5424d9fd5d8 +GCD = 1 + +A = -713365950ca1d0c2e752f6f77b801fc79a079c360dfea91b2763f887c4a76cfa613ee36aed15c8f3c9fdc6912d840ec92616a304803da1e581621fc04ee43c247df101390388dcd36a4528a500376179b8169916d7cad20bf037450ca406f838235fcbce03986d69c857a1288b57dc1d67f6eb37c2e6ad9f0117dc1615ac8e46 +B = -851a56490fbda7a668501c9890e0ec97c26d151be6342e4aac8747749c874df1ee747a22aa763349e59a7f6421e895432f5bd054dfbfcac7a06c27ac9fa27d71a2dd9abd5a92906020e2be5ab8a055a2e7729a3e099dea080a09ace6d4610b0f4fc2bacbafc8e443bcda7b55d5f264b1459d1dce0b74039e536ddbaee59c037 +GCD = 1 + +A = -a1e5cfb7a0ca45afe7e86a4e4e6021d64ca09bf2820b87c828c0a9bf1878225716bb083abc138f6690c582c39cb1ae0811c4d3225217842d0073b35236de0980d88a4130185a822b87b6036fd7c96e554790afc92315d72533a70517a18d8efea52b86b48eccbbae2d21a418f9154d686c29d4038a42bee17b9bfe1e9fc26ec0 +B = 2573b52de96c92c9135c5836214b07fd67734315a9496221c748f2c3bd52674e8ca70ce29490a3cabf46c82bb19def3f1f244ea1f76ae29a1910251a7be89a7b13b4e0eb81548528c7e84bda9414e767dee4790f43868c54d7945103b939a13da20c0aa81651592bad64b59bbee340b668cd5c90113fc70a7dafbadf7e27fc49 +GCD = 1 + +A = 55b2b0451786487aa2d5ce08330fdbc73d45009a742546c4aaeb1a342c40eba495717cf01edc6b8bf9a5cbc74f6ec349063b39c07344627d35a8edb57e2c3fec531e2051797e3c52a3db21b65ad940d5f9015c33e03d75050f46b1b1961b9d843b936760bc5f83a26de9c7d68aeb1f0db567ff4adfe1ff8ea07caf7fdbba5daa +B = f0bdca936ce3d3b32e23a171ced7edc74dbeb98b8221f24091a50643dbdfab8da843be653b938f317ed5eeb621979e7bb78dc5b3d5e93c830cd21369459a68e3685ec1e96ca6b2d290d49f563691d749df977acb80f3d0a4958c306f8999c653c7a690cf196ff34ae52a715a74ed089de90a45530c5ac919dddd6676ec569d66 +GCD = 2 + +A = -e186af8ac9709acd36e21aedb4c927600a614f58b47fdeec0ee7902e562d99dce69714c6d9a01658dc9d75bda9cf4e5512620a2b8137c747a335022ffe925fed08ee390d3f45c963f594f49a21e235ebe8dc59ffd4e1d41c864a328b8d37b51202380186c0366f74ec008d65f11ca484901e72ca3523e526f16c77e1b9013f30 +B = 595be70c41f6d3380b2dab9181d8c0e975466fd97639dbdbe749a68515a1e4e4752010965fc5459eb0420d1e7637e6b7b5ed312df63a1c50d3d50bf39e0f1909df5628c111cf99f4612e7def00451f9099c05c008e92a0a3cda3de25cdfb8ae3c05a49b558e3f044e0eb337c4c36fdf4d4e088337fab36382333c21074cec29f +GCD = 1 + +A = -9d0a4ad5e8428bec2f6faa247074e846d00c7c442949c3cdee5ce54dceb83205eb82f69c38b46f65eed493bd392f9688ed80e4fdeedb6dd8a2a2139d4b1a61977402802762c209008acd2d3cc3291a0de0f9722f9cc28f1a66cbc02f844f9eb83ea207beeda5583e8f39b85a83cbb96eb0266c6eaf25e8b2c8625728ff53a649 +B = -6eb723b317ac30d3658b8296eaa7e3cd58f2fc9785426f5f88ba987551cca52c1ab20ed1f17a6863fa34b062515ec0bb9b124dbd224b3b6581eed8e3e202fffe16422f62dd4ec41d276e91b9b5e26057d10674087e093f05c34378bce5ed59e1fa2368fccd42b2955e54ef8bc0faa59fd0607bf7e35d39ef790e713ed507e4f0 +GCD = 1 + +A = bebf88341ae86d4b9eb386e189efe8dd88fb7a55e6b10646c3d291fba7d5823d59e7e97a6e995288c8ee8b4b127dd4e9e2e2758ec27f5f608075fdbf16e90d6547be80ce7e97e7f4efabad3475b197caee1470e1ccfcd4f98d401755fa9803aa38cc3ca67f3e2b852272beadf4cb400e9973262ec514545a193d29ea98fae3ec +B = -4f28e7bd738d006cc40c66af464351e3a353f8d8d35d7388180b3996be158ea7e5a58c898b6db659403a3486297d0e33305ca21460b5b5e5ccf1fdb8b861f85b64c5fcd95faa3fa2f964c6460451e0ddb8ff9517eafbbeee1290c9a296b14917f0d8a8dac43818cd05732340662e1298058611138f4a98d99e1cb0668576bec3 +GCD = 1 + +A = -cc8a5eee49715ca0173eccb68e5be3eacd5699b5998bb2659f08378a218f7b5e1e45cb3396733a46c231856bf127eff8fd5029c5f281da37c0af07049feba7b19029da345ad5ff0760eaf8fed5798c03a10e311e2fdf23801e8ccdaabd3481e855b2ee73460c21a6b74eb1b3a5571a70d01f24433c87039222dbd045829fe68b +B = ef908d9cb815fbe02b89154849fd829fa15bd034f46757c2d552193f5bbf75f22926f0d0460172816e52f93e3489b651d5ea146dbc16d42539294d6949c103d5bcf8d802e4d0f5ecbacba1c943e5d08e29b190d1ebd2e725ea3a797a4b7354f1f775a2c6ee3b695c1377e7da40c076a310a6531eb2c65b4de12eb4ff49a1c01 +GCD = 1 + +A = ee25da44d22b969603fb9f287e4a61d52d6cbc118462b826d5bb389a682556ed1ff15fd04e66d03a053f5dd3a1852a0e1d177b7e7abdaf511f465a517b4a1b890eee2dcac330118177e76fdac9ff7921367b9b315c2c8238b364ea190b54656224ec2af0da888739f3ffa5d9dbdd4d76f9af9722331dad933461f2f323c23d15 +B = 33759eb1d7dad9e7098668acf316a6beed01135177852cb3b1f2ad5abf5b64d1817c9119975d6bac74fa5fea20d19ac72e7d74167753e7f191c36ec7c52301a0a17d96ea499ca183a585f640ff27e76320137503400734ac397cabcecbc7850f31a31a04ff562b31ee7c7e3742d4f4650bb9ec5c324b053518ac63716bfef1d7 +GCD = 1 + +A = -e8f9574b884d9a87bbf4d5f694e7f9938a537b6dfa1816feb451b48916d6fa3bd2b1a123d61fd9f673d45b2dc71e633db4c6e8e515b4a76419bfcd5e3a9e81e56b535c78e0477856601cabc940d897bb8d718985c98bd35a4155539192909caa1c1044a154b8465b91c70c9621d0fcb8317be48b12d2f3a7c8a15ab0a40c8d81 +B = b33fc45b073853f4616469588d43f294ee43a07cd5b2f150e4f229dfa8ea403e8ca31f52558d54c61f0466d20b082cc579ed674d96749e9db484eba1658ab6b6fdc1ce61684e5a65e7e6934741d7933321336190877bb185a16216b267b2c52fd874d258c89543452f4bb922a11fbcd5dc9bc04c7e2580169975520833209c91 +GCD = 1 + +A = 691711e53ab60cb76d7af1a47f705b938667078af7a1281c4acd7b00d13caae2f7f125cee919fe6c0a682cce13dac2691722f4f3c887c9f1eb493f07c592e3b0b1ed3cb168cd5f0feaa8052466d057e299f0435167ed9df6ed963e708059bfc1f433a6b8c1a8ea8e4dac62dcd941b00cfac66636a9daa2e865a401bd76e7e208 +B = -7d7f2c632d5cb8277cac8b9cee326ba5dcf63dfd7de20c192f5577b3e40596338bdffac2295c977091b578305479cd6eb52b7382f48e4b33ab4a46fe084694c9705897bd16379c2713b6d6284f5d86c20e37a867b4528c83e0ff6cd86e66e8c40939d0ccd81520cce70446f124b977fd572487a2a5d011cacde11a70b12c75ea +GCD = 2 + +A = -131502a0f0b7daf349b54f10bd806a7638589be94462408e424793ed426fc01c9feae83121272daa70e0912be1022ca436f928d02b2de9af001332f37f76388e46167f52ee302941366d00095fd030326d5eb990de7cde35f0057ab394ff34b23f450c0ad7fa5d83de2719de8ba8f62638be4ffd1cf2800d4b462608aab2e1bf +B = -bbea62f6637917178bf29d7dce9e500d7ef9ce2c042ada06b4a48e80116ac3fd668f03b89605ed3bb3094242251bb2a0d6873eb388019165b261762cbc914c76f9b1ba8f9201246e33f8267e1c7f566758a85839d75ba37dd5689a17d988d69b25ac0ba813483b6d4797a05cc0a6b99d7446108db8d6e1f2e1c1466e3d9921eb +GCD = 1 + +A = 705512bddf2091a984dd345e2ff234dc46fbcd7e8ced866651ad5dfa5e1a4b7b035854bac002a53592f0585e72729872272c62414c5ab03c78dbfff3df957a4c042326576462cf6ca15cedd27e0611190048a7b375d6d0433d0b93580d63e969ae558a8e2591abf1c9d4808b6f4060fb382d028c526aee6a6601aefbcc0bdc02 +B = c47c3f0e969b993314fffa9f130f862bdeef386bcc1ce35bbcd1591c3d9381b8d1a635fe2cd52b6f98f384e896b5a0bd5266c3f6ddd836b0b76533eac987af5b4ba273fec63e9f11be465c69a3be84c1c66141990a7365f223f41c811b2af4a3b058fe62edc9eccf2ae8bb7ce872ac7bc010b86b0baf38130d422487ee241e95 +GCD = 1 + +A = -5f2fa7abd4e3b1f8006b2b1369cce82cfdfba1d839fbe5fda5939fdbd8645b6d64de3b4a980fd19de53df15ea268a1ec78e3e6014637da8df6c9e9bd8b06db939b26c6410c824f77d6ae5617ef70c032d06b33054abe2688114c9951616942dca81b883fc7bc626d1e8e4bb48fad5687c3c4e6211046f947ef8ed44b76d75a04 +B = abfbf22956ffecd9c657bbab651401d0510846500e9e97b77c52caf200ea2580e6d55c3152ec244a765570d32668ffd98dcdfb41dad54865307ba45bdffdcd5db4ec65ee2ca9a30e51cc138ac9557284622b926f87aaf2125fcf03acdbbe12261d33ef9ad92f5e92b0a098591227dfb99e35ae95850ae7ce071a0e727a787c3f +GCD = 1 + +A = -993cd61f974a15571945ef82a549dd58c02e10348b158742406aa9322cbc961c914c2aa3cfd1cbb204c185159110500fd43d4ed8b3889940ef70e6d0ecadba1ea0386a4b192e907c0f9f6087ce3ad179ab30fb16b7cdbfeba1b382f7417415be95560c001c18aa2a9757ec07685cea0261c635496ee83288b460f6fa8ba813d +B = -85e3f76a6ac92e52f08eb6360ef0a39be703fae04658149d05d60a8ece15b399a499d9bfd4b038f4d45bad84480b73be496d571c9ea0febfdfc82afe9ab1fc05a90eaed9fad57c9892e89b489dec6efffded496e9460ee8d93b852c2e6bbcf680affb78035ffe243f912b8dc194cd14aacf25263eaacbc36d64d9dd8c5f3bc14 +GCD = 1 + +A = -b03254fae82386a8bcbad647de09f2de0c95a12bfbe93e3004a3587dc0a83f51f9e93d2b88528e1338df06b5360fc7c78bf1c834e7411ab56f35d429afc7ce8f973dcd5fef80790ec75693c2d387e350b06571744df16b2f66c0e4303ead719a1ad2cdd212348fb3f63e3aa77a5a0cedf31248f04220a471a7f7d2a965cad144 +B = ca67e06d79442a36b7d7f7efd3cead566162d78194aa44ecc55917ec32d391c8cfc771d9c9bd4ab9527d38cfbbd630917d8ab20902297cd08ca68735738a1c731e924eb17234ae509c86fb27fedbed700b871cfd33cbe2d1d785d7aab7c623ab20e1c76d25baae3666b37952c78959ba9ac68e814651d432b9baa6db52cf51c4 +GCD = 4 + +A = -a4748b9be73d26de6329b56d377f5bed53240259cd1aafe5c0a9d671ea4752ae38e21029b2601f0709ff044c4b6b9e3889f934b3a8fb5c102833c0971dc142a9609dd3486ea56e4e1890a1067a8113985fd7512e8bc0c91251fe6b8cb50cd23d2a11d34761bcfdfa593d72406150fe62a29bb51bc32d91c94228565f8943d2d1 +B = ddb9785185ea24fd27bfa25dfc9c07452ebdf4d34523ee15fc3cdd8e7551f4a0f50d6dd671fb75c0ab96e4dc721082dc15fe9ed706c57393d6f23b53cf02d44f12201c3c2d8c3a7df033e7775d2da2a27390889f4521fcac964b510eb7b442f311144d18920fa0e9f6ff606fe2585ff5534a2d49f833dc7e09fbd99a24a6760 +GCD = 1 + +A = ea4519a8212482c2676d24336b4210f66d81b3be2b4bfb3f7ff7d0fd84c84a38e03748d6e3c41fe9c913490b101ca04be999d6841c2c191b3c47edb1a26dd848831e1fd69ed688cffec45571595ef28b7bf7ba521b6a2a3f4b31fc87d4cabe399b817bf22a8658514344d7ce01f434b43bb069ddac3e31612e7209da3e32c5ac +B = -12624f162e4fc5f59db697911e98690559cc5d75a52904f5ee2577639043387f3c67445ef56465311cf2599d86f77444d289db7ea57cb253391570bfa80e53633cacd4474d6185018abb8cd0c17572484b8c632fb6c27a5731cb4e7238d830f55a812491faa97b637257eb9967dcd70ed7c9a32d6261c916a3510655bd79e169 +GCD = 1 + +A = e3a593598d81487852037b3ea30bb6755884ec6d7ae7cdd43215bf640b6179a27c85cefb9e9554cd9cd6ee17d559e2f788e4b32fefd117072ac749ddf28bb05ae8b05b606361a21b923dfc8382de9520d7079a55b5bf7bef939d937174082520a3b5a5bc562fbcdd2aca5a31dc9582c8e18d68dadba711e043edccb5fe04f3cd +B = -729b8646b0052bde7cfcf36d5dd67130988db680b4bd1c4a3f2fd90b370a5f70fe7ce220be8cff784e9fd7d263f090aa71fb7a013b1151aaa3fb220e2e1ff6a51b3481a5954c636fa2f50fabf13d5e899662f695b996715c2e7d0be1f4d3a1759688e16dbf4b02b0c319c639b2eb8f4e3ef20531bc3ea59479bb4773ba30bb92 +GCD = 1 + +A = -29801fe4acc5548e0cae403299735510d5e50f781f7f0461ab843b1bec6db9c1efee3bbc404fbe752bc604298557c2176935b33331cf19af464a80d65824bb59750935e5a92b763ab3394d14e9730849b4d80f4d4c56c6c8f35966f99c3d569f5d4e80ff79b1c19e6b82082e3d591fa1f15a99e40df28f4b74e85ad2358a88e4 +B = bd83d1d1ba6d7fa16279e6b5664d56c5bcaa35b639c53f62818665b48bcb83abb26092881fb919ac6f45e0b1945cbb9f5794ccef9dc42368adc414554313c71d6c36e4cb4f2ddbb3891aeebc34137e8e86496ea291b7fd0886b61e3e3c2612046e0f13273a37c3fd9a6f43ce639761fcce6b827d969e34b3a842cf410903b27e +GCD = 2 + +A = 96f3100a31e2d55b588ddd4a8585babbed9cc64db576b879814354f9fd60b67847cf33684ab53973f6337f89cc324e9787ae49243487cc3bbb5572541f6cf056e02bf1d7d368720455bf614524511aec744f4007e9440acfbc117840194177c5e14950c617f8a9cc3e29ed169c75c6ae3ce57d26cb5a66cb3f0a4ca0686c6d17 +B = -82d1c719dfe6a3f707098cba96416992652580647cb0f13a07d76cd8a6774335399fb2c118ee80cc8eb1746c111843b880b7cd04bc82a36f42bb52d9f93bccd27c83a9822eab6db16e0a8c381c7dcfecf2ef8be73b135304d2c7b20ef40e0c463789e81b4cc8a7e9048b96e694d878403d6b819d6e887e5633b6b60b7494fb34 +GCD = 1 + +A = 198bb55ae906943b5d2cb9ce80eb78a98318d2f5490c7ecb71d905b477cdb28faba8c855d4f4f2726d10cf34ca7f67e196b8c69b48fef0b53b209e7d0a54cb74e7a9c860659be2fabbd2c043cd9d188e841abd4f9e342650e18fc284e6ea77cd994145b0b69e5fa2a0306937d7d3845b1300563f173f265f1f62100e6f107854 +B = -ec5710f22360c2a7272fcb5ba622f8255eb6c28cea75a7d70d70ca7b18e4f75c08a476aa8462a738d64ca89e48a7258ca6b6a8567a5b040ce3b194ba3018c855ce8bd30ddaa4012e40eca71eb3e37e92617201ec4b1d3c006a638c43c5bc50226ba367733561a50a418024534ee32aa49eea5ae6887d1663b9e81b8b516f1628 +GCD = 4 + +A = a52e8e57aaad729701cabf25e471016491ed51af3e2463685a581f0af296926ef65677eda1db9e744c8e5f6852c8a42ff75c9d0ba142b0e4443d9030047321034f861d3f34297902bb8400ec10887842d7a59f9f8030d26feb840e128f724136139eecff7f5a549b25e1693f1b1dc4ce50791c62bc064abd422d4e3ef23ce313 +B = ed05bd5ad870b997169059c301bfd5db8e24ae56489671b12bf0355fd25c3d0cf85888a96680dec5a048c1728b1c0efe1812e3644d76ddcdab04d0b82175a436dcf15229fc4f6590d3ce64c38a8d8f0934ad42b0c854da58501ff72c6930de78dc4f04544f9547cb837d08c53c60b0a10190439e74020c05889ed166cdb4c9b7 +GCD = 1 + +A = b37efa02adc9c60695cf63363717d5c9c3dee6a133a90bf037e9f9f390bd129b3a779d88c2720789b92651524766477fe442e6147c2b72d84d74dc6ef03c204cc700e4a955042cd25e174dbd1cdd08384c30c44dee77f5716ac5da92b5476b5eb1123eaf944863594171098cb78cad9f87593eff2359c1996d81a375ba94f8c1 +B = -cfd3100e357d86156cc763942399bb92fe7ae939a272c7fb1518507581e249da35affc2ad60ba12b2e4ee3d3a71c6aebb1f2ef6001c28f9d0abba7978198f0376bea0f84ec074021e1705251221ec3010fde8a11cd217cb047d9f2d9d781993a7dd2273a32b4d8fd440a0e7145d4d1eba6d1a1268431b9d7ee888698110282bf +GCD = 1 + +A = 21236de4a82e95775e0a1d89bae60aa509b8d3237e43c2fda8b21c527bf1f3cecf400601241c39ba28c48662e8da0e26c7509e7224c7499bc880c63bd9dd5c37e4277660cb480c98c6bdb4ab9d5c2aa68ee6e178824f25b555c0fb3df8bf5fa51e3f5ff7c71418d3863c5cc5000ab4ab390d20ac0e0b5124bd802125d5011081 +B = -5d14a86a082daba957cdc8fb467da35c8485790bb1d3860516daea8b0d3b21faff88e38f0e07c3a9f9cfea72ab403d87b3b9492b4d1ab6bef55c4942f9d5cd6d094f082ba6b127ebc7dd8260203129cee7a50fcb43848a9d43ca9c830bb49c1b07155db8177234b2e1bae5413fd35027207ca74c3ba70446f72ab998341468e0 +GCD = 1 + +A = 72f0e901eb0c525cd292c6715a0375902add862612e9fb274e93fa28793a35536d4ecf6c1491e3a938560775a4a85fd03f2a6d1193482c0c26db067def7c24fa4dc732e6f88191ae9786409f6b47e1891979c6057245bdf4b7bb564762cb155d144f8f9adfa9711d61853c3e6f5e99a001917284ae6311a04610be7a09a36eed +B = be109a52f49bb471dde043923a45d94ebf2d9c3f378af8efc48d7b8b13d48b20b1fcd34651ff0f47f4eddf66412ea4326b1925825badf57904389a2b0416eeb6c471ce76686dafe04b38113486a3b301a20abfb959a42375b3514f619825ee9b8c0d0958f38d6b291a149319175b84a622917463eda11da1dd575e8e8f2c7d60 +GCD = 1 + +A = 801a28b718e67bc608a06c153081eaca69dfe6a519bb83853e6c1375ad739ca6d21a7b711c8e32c78e8dd1c404abdb9d950c6f1ed8d88a4d365ecc361af194242330340e77e4ad8d551ab6c7cad7b2729496513b2415e75c33074b8af33770afa10e668fb7ff464eb588e1c08c9df3e8c9335540b967695d6ee1e77c8cc063cd +B = -c640200cf20216baf64ea4fe7e483493528e691b3fd47a0dd17de0c023493f6b2f027825e8a069a1fc8b7c938a901d1c3303b910ab6c99a70d4116d055c404844eaca03888d73456ccc116932819a4a7eb89084c4bc098e1a4f7615c859df8f8a669e8445f37100b934792d2371b206d34308b7682b63f32cfc16ce1581a83be +GCD = 3 + +A = 75d7695e510de5a18da7a4c7dde88471ee2359aa8c9e91d36ea96e53ce1efb159f387e6274c7af95301eed366d68d09cab8721fdbdc8df19e1ab98f7718dd333a04c48ca78b95fdce657bafed5571391dd9256cc7010e885538390ac1c5572eec5a97ea6f4a628601426ed8b27339eaa4e8fb0d86019405964d03fc0e90f4aff +B = 4ee18dd3b97063c0886948f0ecefe74f2a6791201be4d6ad003333c248567a37af91667f00b8b7e0d81f3a0827d17501db46e7d8805d8055caf17075c8d845d25249de8189edfb9f3a069ebd256e279479b2ed872007b54a4d61d4eb9bf256f767a742c65dcc923c776ebd8925d3e3e4b27b51ea3d3e8fcd1a49318d0dff898c +GCD = 1 + +A = -83faa4548144d45b5b288c4582a0b13dc59625aa3fc345af6a4a651fe9cd85d2e91f8ae69b8bbe59b60bb3487a52ff80e8c5c81531e9f308db158a407bbac0dcc5d777894881f91a165e831151880c46eeb7abed2af51b715495e0359775950821597c3e4f352d2968c9c392b02ee88c90f091e387000e1ab915d11a456b2aca +B = -41637b1bebda55c5c440ba24aa9661938211ba049ad644e5cbb46c12e0aadcb2ffab2c285fba5f560350de24c168d586a455012b1894e960f96c3cc914403bbd611aef7643c8d3d2dbdffe3350b77d600b1dca3895e95120076346ca1449e8b456645e1b32cb2685f96e3a35d8719e43083fd781752ad4bb0300c24557e05941 +GCD = 1 + +A = db477e9b49bc979a2a70e5ae2f90332d0133bce815d096f3f36e84d81829707ce53c1cbbb3cfb74952341dc96ffb26fc678d32daf5ea994ba9f67bad237d4f32708d1257093ec447c75bf4082ed1c6038803721f54a9e4232a52921a0173595bc9d5acd086385d2d6ddcbb99f27bd16b61adbf3f6bb19de5ecb7031632a65edf +B = -e940bf7c06c93a5003e31741e59ec68d5b62ba3f59c4e5b84b154d421efc18314836413d9de25ccba4e19252038e0fd00aabd7219f8a808ef4db48c5ebb7805e7467056f39c661d057c168a78525796c833d865425151851f3c349cb0c269c9d9cc2f4a61316b92cfd355becf21a3649e36d09f3190ecbe64564a8c61b04fd02 +GCD = 1 + +A = ecad43f54394487a8a3cd2b2d653402ecb9160f5c6a64fea3187b895657bcfc67032918c8127f827e464eb23438acee2914f5bf7a91eae71d585ed1a2f6446c113eeb0750cf2283839d6caee0c4e5f21984b3ee092a2b1a3bcd17bd3f48fea94387158041ec46ef8fdeb6b8b77c64e46649c7c13dab159ce04889d009704fc69 +B = 9792f7115c06b3effa9c09ad94bec498daff59a907ad050e4e6b0818cd54d1e7273aad7ec1a06cb902d74299c1b9155d36dcad749caab0239e1dce376469db95037fa171ea3edf088ebdd04fc4471cc460fbc102e269c16a78242030d72d2a07452fb064db088374de708dd5bf21a9f4ccffeb7d8fed526d5f84c4d94c7284d8 +GCD = 1 + +A = 8b398783e2a3b0a49f721682c15c9f7442be5cc75e2145d05e38d7a460e562d21a6ffb794a035ea055bc5b1e1b77ed09e505509164b36e36eeb6123abc9dd9a7fe2b91edb0d1e1000519dd80c6d1659fb627d9cdfcdd0cb31bde85106141babe8bd068c7102a42706d7df5fe0f03ce97b5b2c9c84017646e501a51e067655a1b +B = -d72540b308701c303074094979c08c543b9a8ebb16a56004e696280cbe4df4b69c74963bd9c6fd7bffdb12bb9fa2ae756d198d35cb8ebacce6ac50f8d77ea295d8487d73a5e1edeb26566268bdeb5b698f8572df828790617449f64f7b959357c012b570763bee27872498e9cfbfe2c26084a76afa7066df951ff5cd22c32451 +GCD = 1 + +A = aee9ec9d5348d5a3b6d50df1577aba8623718fb94b024b0723a860dc56438957b15b35f384db7dd06faff838b72e242528e2aead34559d0168449d123246fed18ff0fc7cdee43537923e5dcb7fc85c1c691f1f56216728a3e91554e40d333ad928abdd320eaafd118a77c6e8291b014870ec9e87499ab1878150a9f4619e8c84 +B = -f9cffe32a4d157ffca4897ee22f2eb9138672056eb1647955d3717cb95be322969484ed8a1b24a2bb3dd399209b28b52aa6bcfea77694fd359a929bbf61f383caa114cdc91b5abad97395cc2d4b2fce5a54562190151b1dfed7bc5e7aaacb41d8286da97dc586749db11ed044cbc9c3f075c6e919ecdaafce390882fae8cbe6a +GCD = 2 + +A = e5c203885753bf9449a409617ce544748fdcb757eb5552842715a7026d33b9e7907f5f4f8c19383bd5891d914b4ade451f70914a1dde09ee2167b1feb574f21760197fa3cb78169231e8b5a0e0ad264d4bc0216286c8bbb20dc84c0a55eda92376e941dcd29e7a06efa3f100f94ed33f35b87017b4e8f30b1378c71ff2e62b61 +B = -fb4a169aacf5aeac7549e124ed024d010cbb8c46e3e3ed002b32bd31ccf3ad826fbb2712a2139acf35fd61fecd2125290b0ccfb394e750a393fc31bee32bac7429950686923677724190f85c1a776de7791c3ae6fda17871e8ce3cb97c37a3965cdb9c67288dcdebd8a7e492d0670774a996c76e7138f3d36c431ab3d3e60a33 +GCD = 3 + +A = -9a8e71dc74d5e4a549834af4070397ef98beb1ad463d1ba204210afb048b59c885fdf4837701316746d25cfd53ee15a2be3815982d5d373901390c17f9097886c4c404bcd39702f37246175abb6dc17ce2899c0d85e0e85743d4e6b7889a4805eb80f535a695c37361371037ce88e320ca06e1fd9a204399fe70631584eab0d +B = -1d88dc050c4233b79cb0f911b3cb6b6824c565fb72ae41dfd6c16f1b57d69b95ed4ad38495f2709030ef061ee82d80364952ac72f31d2e0636d034d4bb6c62a6dbf7a5411331fa7ec3a775f24db2bd49f4ca46413a07bd7892ccd934f3ff1c56f6cea7c5d02e97317cc762e802758faab18bd4a3e57da558e35189780bcdb26e +GCD = 1 + +A = 4a2f86a19bbcb564045c7d837378c2f832c7b7f986e7aee15bcab9b5cfe434582220f1caef86ca0f8a5e89b5c1f2ac815da0dee7d33b437d04bf0bb90580e843451e2bef03018d58f58bf54d43835d61433469d75e0afbd68f04b4264229d343af329ecbc1eb9350c250dfdaeb43f85e71c95109834204499d02dac584ac628c +B = -50e606301fe9a9b04d8a753ec7d52b83e8c4987fae8a11b832edbd5ffbc7a6347a1fdd750d7a89d6232e33714936a49ac3b2dab1c117c62c0e3b3fb2ff6b8b2132d02b14bc6455c3ba223184891ad32748a480d40633694829fd4d7bff81057ee043db86f6c1553d50e54654f38ffd9d6fe31cdb51f9bedae30cca6aadec5b41 +GCD = 1 + +A = 5ea350766125f5f270534bdb2c75714c568958f9bfd2827b2f89b9fdf04b79d1185b45b2fc8e43b0c6d80a1a9d431d1013a91179da7002a4b6d226776b2ce23676cce751b9e9b0aba865a9e7bd39fa5fc947b719320377d1c80e0e32a1a65e3da72bea5a3567238f0d1806cccb1d8547f1aade9aa8f7456434a57a5c494a3253 +B = 46e84baf9e32d8605fd7f08697e98dd7e60ac6fa033964d86f6179d0e61514b44218c9e4717554260ef2e1debdc811f4bfebc495ccbdd24d3c2202b517a386b9405a5e7a083f6ea6cb138b6fde94a16563df358b7c331fa34fb7afe9303eb20034d8ed3629a09636132c8be73a16840578c2ff3c2d7a9577c6364ed28e9c26ea +GCD = 1 + +A = a85c7b2bf60a96256fd28a6b581c2f8f4b4c1c5b3ad704413cfd1c29df88932853ca91897a06107519b37bf7e24db2402602abafe09a339e6d8156059e29eccc49f6a7260007c5b57d3e7f3dd1234564f566eb153f4017b3965436d1da369babcf235e15e4153c91ca50dbe884bd5df53a06aadf9ec368b63c1afba90c6b4041 +B = -cae1434ea2c0f91e740b8783898dadc1f708fd9793d09cb3712538a105a9cfb5bfd28ef029d46c4c6aa414b76358359990e42f27b7baeadfbc3d1bd96827b4f37b574e2add0d89cd2d2435f59202e1a62f9824d33bd2008bbeee091ab6db5fdce31df9b3a343c53ccca991eb779b7266edc0d7afcbe21fe6e326ca429f0a9093 +GCD = 1 + +A = -693d485b24874479422a67968a05fb83687ec6a02264c3d62cfeb5880fbfd548a8c8d0fab6dfac3d86c68ca482fb9de3d490384150f0d0c2bc89729294dea923b99493b6823f07368b7436fe0f1a1f6ff96f6430d3ce90d72c7a09758a5c67a754627edb008457a40930ca518d3eec883e0f653097012fbee803f4a8662eaaac +B = 37250a368f1f19afca3b77a2e5e2b18c46fbd2a7c1a588b0c05044aabcd66e990d97624c41037cbd7ad94f1991465b42d208eb235d026bd4fc5510dc178000db7722437ade87d045290d2788dc856a9552efbd7abeb75baa1bccef5ac6f0a87f7e99c23e66916f39bccfd308fdb50e337124d3670e79a80a5e1404c643ad2df +GCD = 1 + +A = 86a573b4f14f768a3c20c25fc7eb01ba2a8f134a9f8e6a805609f2a554861db96d838b5c6b6dc504ee7d54e0b83884eab5d091ce9909c0ef87dc58e0534bfc2ea2fe705633f5897ab7bd601fe3d30c32ae9ba911624b392de3d32c58a1223aa5f8b63d1557e502ff1b49923bbd8bfaf4d0d0317dee7d864f05f8767a54fc12e +B = 51e1571a1bc85c3142342f22af92e5d5bf0f3ebed3ffe327fcb8932219da132c0a43a0fe1e4087bcd57abfd151d071105b714ab148019978d7abb5e31b3210c40d1278e78376fbe31f889d9337e28cdd8213ead71cc5370bffc8c87af20bdc7a223d8cd2348057eb7a3ccec0849098f16598a61d91ce4288fd9439b7bcf9b254 +GCD = 6 + +A = -14971d9f02697a0fc2b1a29690cccf5019176250c7bc1fc0d87f774d0ed9bfc0f26ba9ace3aa35999dced85797317fccd9fb4696318e7e102604ae9b739783d889d737e39d5259d319c7199e992ab32f0c59b589e934cd7656f94a14d1dad9645a1043ee331d8025029655bbbcbba076e693794dc029bc1442e66ef514b1322d +B = -8707c577d7fedaf849c12b11b06e0b88f96f85b36b3913377a5fcd070d1ee6b2ccd384ec86915a27ba802fdf56a0c3eb7602682de9635cbba3eef78b36ae6f6ceb1fce725ea2de8ff7f8f8b17318476e3d58617832f9b32fb70bde3bbdcc121de817daa4c8edec0569c75fa0b5129c09b7dc17de24fc1f53f8dbd18750c13e75 +GCD = 1 + +A = 34c031d312e3b7a0d29e2dc92441221e126dcdb9327b302f6f3ea04e9a3220a9fdb3d0f99ef460976bb5e7f76ce79cf823bbfcaf21659dbe0cd7b0fdd4d0be26491e0ac90830d8e5386be073b2d7a7405ef61edc0eee87da33ea5818fb875ecc63b6a611a07ccabd79e06b19e7a5498bb4ff6e02fb1d522f3ce608bd98e557b +B = 7e6dfb0c4369314b4f74c2a8de20efcfe3076961b6de0ec0151edfe9c3ff56b25689768798ea745f2f5d02d3d3ce0ba995c6e641d0cd3c0f249fc90db4fba2182160d4e53dd3718534da3d4b33f96ba4ed3c3c318c678fd14d9f57b912e36d520389083b285d62254ff55a0e378bc9ad7598ec370dae040c01efdef2c46437f4 +GCD = 1 + +A = -bf225604f96c61c230809bb145212311be18072cb03dac10aceb6f39d43567a894861d78b318d3590390f888c9f041bd48d3040d751d45903e9fdcc2755a4fbe07bd9e48603ee6048f6481542ea857b74c93ed6af56e939c5d20f6d6df80d9f3f194a8532e9e109f7a940ca98b9f37612966491e96c221bb43002246194e4070 +B = 7bd29fc8d3c22f7ae8675ddf42a2b1bc35172cc81e8dbbbbd390b24fe65e8259a4c3b0c738368395bc19821a7c79ebb560a5150a8ddab8717ff1f6d964b0542ce2d19dd2c00d5e81f4fcbc95f61a1a9a6b1d8cf06b4e1b287ebf5319a775e4bf8462da0376cf634573cad7f0efa4f8694614aeac8cef5b0166cca75ce7d76b5d +GCD = 1 + +A = 92f350832dad95c3c7711dd212bf1bfb0486c6747ac659f754291c0839e7d26d31041c592f6f505b1d8a46469aa48c1b03eb223669211b58b226900915be39e001cf032ede5684093e965a90a34dd23a85ed05e5392d3e106090b7259de9105e1f076fd927bdd9ac6b8e385ccd57e7182f41e4ec0f79e32234511172d4b300fe +B = b8a602cfe062667fe5b51b6fd8b9f4a658f19f25d3d5f64b87be86bd1c6ed5b2b74dd92dceb9736348395676eb3cf1df0cf7e4e29b50a5d3d09cf424ab88d79a43adeafbfc845319f8e3297a90ef480139597c688f7a276ff4aa3afb57b0339ff57a27e597fe8ae7f6cc2570d7fca4e20a1a2272a8fb15ea097050c9d9842dd3 +GCD = 5 + +A = 5f230a43ec4b8da17aa115a3e271faedfaf0d79632a8fc6f67a9323711be7f50186fe6c5c0f8d87ad4669a13c54d4756bc5f95d2152e263131c9240708f37a58af890dffcf4010ee09cdfdb0498489a15e80bb50647949751c7c1de1da78e0d59e7202661c64fd075d7e2d720636cd77360c7db00b9fb2fd4a1ed1a46212b7f9 +B = 52d63ac9ba7981032059ef2fa4b3e877ccb00d18abbf057a6c8b4b018fe74acf6bf21e9b5272300e13ee8240c326d358b07a98524b764c1dd8b0016eb6274283337f9e98f66dde6ca0e708d9ddacfbb7a71da2a57da0785945c9560467b4d43f00c36e1519fd990245bcf6c941c4a594798d981552c501c07a1aad47d772e2db +GCD = 1 + +A = 5ba80444d4c01405a7735fbf1d2c24f0cd9711098086edf21affe08bbc24d852e38d701ff99bfa2851cafbc12f797082749fa648bad505a0a252cafc073c79962290795566b09af21a79189f9592a319f41da1d51238a3e3cc189153b1d787c77b43ac33136357984add3b1d80ef532e355cdc7209659ecb0b06dff5eb86e364 +B = 767fd7b87418e986b41fd90005017baada3706400dcfbb8ca98a441ae912c083871fb6df4acd7f366c7f6ed2ec0acb893d3e1f10b05075e710d3fad5776bc5eaf9bea5ed081c8443ff4cd94c500e1b1cb7cc08d0330b1230388f09bfaa0f932099e9415531b1dfaa1ecec78a3c12cbb348457e8b35f7a87d299e716869a8c11c +GCD = 4 + +A = -65c31f8fe18d57923f4aef6d8b70b9494c9a6449a5367572f85023682260e027aff2a2f70c3bd476874c2a40d7a7d70fb94a6f44c42a4985b35decfb430f012795713a7d652c4d56defc04892bd07d06bf4a02734a6789c9773f18105328d43c3cd78600697547d406be89c3a9506ca93299bf036aa144fad0e7c42925e019a5 +B = -b7c5412a323b279e8a2ac399dc5ff3ff11fc538dabc2deb8078b6272dc85027911852e14438d00a3fbec5543e31d16a24edb724cc73a5fae23c473ea21848733afda433affed5c899f4e7a3651c03940c14fd95cd3dd4d7bb64526ee8b78a92f0548d0b1ee2c1961208ef55de4be67d09c1dc5c76a9911a70c675db974a7b5ba +GCD = 1 + +A = b6c7d05d7c95135204634b7fd903b4de3aaf9a05efb3d271804b7f22f4ad07606c2576d0c5c7384b33d976e29783fd8fa87adf51ee9a0b93565f4a0600bb9390d2544dabb3ca8b228cb67abb2368b27bce4d25161a6c9c7dcb59a029b14e094fef1f7cee8582298434dbe6319ceaeeb2f5926febffc998f34e43e6378698f845 +B = d4ad3a0f85f56b26b26e1f7db8a89fab3f019e9664216c8deb9681dc5b189c73b0661df2bd19560055b88cc2a69e5154f947765017254c4048181aa4fd0cfa74241b75838ea3c90596331ee2fd9ac61b30f3f09e1927db5b62345010576af996aea0f598d39917ed02dd6d2d05b941b53f179f598fc9589114ed2aabd9622abb +GCD = 1 + +A = 51812a5c838f7c6f4411d4b684727c2474293bf59caa1ca9cfddd5702f71e90583ea256f06a6008c320b41913846781e9b57ed6e9f5d5b70291b3c73905436a3a298b68fe121673071b40709a37783e1c0cf73d0022ccef9135b04d7fc3d9cc896a35210400dc92fc1c7a8e027c4cc035d362f5164ac26ebe0449dd1f400e787 +B = -91737ba876bf8400cdbe7e2c7d154f3b7d5345774aa8b6aa91b00155ba8c058077a25699c3218545b12f345d6724ea3d05c03bc991f3e03df863a99339c6a172497572fda47272fce472ca8b324cf2254fbb249c5913e3eafb10bb567e117383ebc9371bcd4e4323531ff66272d5edc6acd7d38456663f14623f577698df6a38 +GCD = 1 + +A = b4456585f607e3b73b373099cf1ec781c1dbac06ca40d4cfe08ef102d6f942e7c366016b97b23596dabc11bc636af4ed20ac7988ef48b134ec5bcacc4009214858645869261a5be606e114bec229fb66b972fd68ec5a00ccaa588ccd39b6998af946189ca92bde80ddb2684a7e6303c02e19ab10fa5d7b9f9f141cefc12e7cdc +B = -9871ea620b9ce7df7743c468fc76993ffb86e91add7e127d59eb55d7650b2c2e4fbb7106c7240dd5f063171c58bdcd76d238998f231835c7f1baa6c10617c0e7f7b695d2ca33e5ad5d73a466306ffc71b07e46813bf4ebfc336b9d934cbc35483a0e57c790be33ec5633e7732c8ff0232ca9a8523720eaab653419550e600809 +GCD = 1 + +A = 665a6070fe3af81556cbb9ddc9e2d9a3c2957ea3471c778ec9b0da76614fc8f95313526c304e2b5cdae7cf040920ec10799f04851278810751202c407166dfd728b2aae11c6b15765fec0763da8d7e00f92a91bbd3c0ab26235766f40bdb4c748a664a7dd7b0e274e5a7db6d885c8cd4e2d5f473fad31747cb25f2bc9546fbce +B = da58e2cf0180c0f44be6c165dd10bacff709932410250e6c9b159303bf6738f718e874824cb6cbc1b721567b2b66f63cb4735dd6643896b210e626217e53a130e1446f4b3ab368eaa233292a8e1ec67dc5706bdb77a6288cf68b309cd15fb71936e0eafd4bba427fe6c2372d9c66414e61e42841b8d18918c59955a45244538e +GCD = 2 + +A = ba153380652a5100bd67fe0ffebca423c2372d2acc511ef2b2fa6724baf108a08cdbcf5495b5a1a2c8932bdae6dac6587c6617ca1db43b1dfbe557cd341d51293cb73cf3ec8f8bf3ec4cfb84caafd29c169a4e8222bc1734c7f47868ddcb29627fa5d4f06c20b995a411c73b72891699d666c0e9cddda8228de1b8ead951a3f7 +B = -99c7bc61921a2dc8fb9cf3bca8b359f64c0f2403ac55e12f59693347b75f37fdfa5635909f60439ec05a72dd08372ff44be2fc9b9d67da359011eee2a8aa46cd953b350b736a6f5431510f96a992e717c8d43288c490af0f222ca8f98ee25bb5be58a7472c19cb018893d22aad041b628c536eedba84be36a965d1a16044706e +GCD = 5 + +A = -aee4a3cf9c778b8461146ff2ca1d6e828e5b2027e3a0bfcbc733106f0c6c8c3bf6e9784e5b799d7bb0578750ab304460d6efe7b64e0cc9c9acacbc6a799b40b738d7da1d93c0f018187a3b55522fcb9b00131cce30e332e20e1ecfa6fe54e45720cca00b41d71495f8cf42e9c2a83ee343d9c2c0bb89ef0f185921d40908c5e6 +B = -7e75c75d4f2eea9010dc6effb6f9f2f533cb3590c0c499e21659fe33c6aa6e796065592c5347ccb84eb58ffedfe80a444a381a7de4e077b9b66eb875e6e8e87fb9dc60192bda856c6daae0ee241eb399a1ac46c5d0b8b3bb04952ffdf3f95805080f407d732a8d51f7dcadcb57c456799d02de2232904f1d9661e2a6918e3e6b +GCD = 1 + +A = -b1f8d90061550438c0f0c45d0a892754877472a016d1e63948f934bc48d95a0f2dbdb9401b5fa4a9a4d9c0cbfbd87a72033b81ffc4589401eb49b7e84b6b87e2278a267ad809e8655ac90bf0300b03259d7211cbb2c9a8cc93f01c88a15d950573ce5604db103d8c047a3f4e3592cb859daffbbc845579cc66e71df6a537c713 +B = -eaaf6b7f8c144e671b1c4b9b41b672c77a44dbdacfc17ada74fe2b9c119776765a5919fd74dce0ca105784e00be181bfd70177ad893eccf7228f7cb9673bcf0efe23f72c204c4c2870847a9d0cf4c0f7bc19b43caf58946fc45d4454877ce456aab4258e5e899c352f871e8620a30eb150fdbb286e1c189c0289f49cde003ad6 +GCD = 1 + +A = b3a6883c444a7c53b096414d08db71b228a11b5ce2b4e6caf4b36f36f0ee707b8a3aee2124c1608583c22d56c10fd01d144beb2773c055bbaf73c5f9c28dd1c46561d0358370ce7921be4dfa9ef64e84260595692502a6b9cc472c2535f8a4a8adc79de5c40b23fd0bedbd0f00a52665cccba215079dadb980ec171d13cac575 +B = -2348df8cc06997a5577098d17a2ff610b75f18476e1e4920ce46f500a275bd0c1853cc920eaf6362ea18c6beb632589032897bcadba0140f9379339e21d2a4d0c05e29e453e3c1b1a0857c638bc37596f4b299d30afdb821b74c66d3f6c28c7d3406ed25df52cf62d36146d8f85be1f7b59ea313d292f3871d7bd1af6be9ee58 +GCD = 1 + +A = -6d10b44903090e41284205d3c2092351553adb11988ca5a9de89b1e582e5e368ea51ccbbb3bd92c9ef7d305ae1ade3033e9aac661f758354043592c9fc434334f3e26984e13f3e8afa39b3db8de20eaed2a1b85719363b497c453ebd2c35ab09244aa62eee6a417600e32dea74418ee55bb82fbbdbed647d641f942a85589d04 +B = -a0c68e483e6f9abccb8c2d2bab7fe95ff010ae6c1bf3d99daaaa7e25e540addf66fc9d43811452584103e6ff6f75af2560d0242d179fefabb9bd5d795000764f9e7d151b0fa4a8f7593a6c2439eae8cb09cc0c9cf0d6802c35a39501f21c7edd697ebd2d4d640857631a4bb6b08ff888865fcbf388a4d68c71aaf95420944a81 +GCD = 1 + +A = -8581ca79838842f7b7be22c95f38772e520b4fed76e967d7c522ccd297ba8e26c05e3528c2595e8dac023dbe83a7dbcd08e49346acb8c261ff897fab72fa0c782e7598511ab9c220ac709fe4f05525ffa2db3f13c20daec20de7b49318b68a1bf1f0dc7a107f2abf7eea90a0d87f35f119437b13ce64949f2ed36693acf34d76 +B = -70250f2a5a5ec428fb5b25312187afa01348a3447395a13ecf4227a07265797a31088b086942df4a73d5f929020e8549cc7a597db2227d7f6cfa8a4df6efb7edc11f754336d86b04c074d43321ff56f82578f0d1787d4a16aeb5719a85e248a40b332708018639e3bbe8116f4a5e46fdc66207a28b6b5d8033fa1b92a09fdc77 +GCD = 3 + +A = -c5f1f2c251d601b350066c4c8a0bcf797c0cf2aa5a6d5c943b3f2709e1da155925ea735009a95a0a97e897522a830ddfd183db2018159c12659cdcf08c988605e2c74e06d5b726099d09f83757f94d35d04f38c19b02842f571178a065c96eb00696c3914335886f6daadb9348e7933daa7a88315445ac632682a63bad183925 +B = -300adf27394df6575ad2b0986ff6f87f442ef30c8c451569687c0b0705d89ebdeb9c6cc8b6935874ced54f9055fd4b137e94ca8b2f09c42d17e5ff60683e5d27e61dc75fc9f4bf4b49dad7ca721fb2bef769f58a4ff8d79072e2ed1f410da0d384f5203493729ba8f8af17deb7ad99eaeda9594aaf805c1c6e0323b555484832 +GCD = 3 + +A = 3e4c6ad83c4002619fa76d7912b6423f9808d24c6ec9cb5fb262db790b6dd9b79ef87a9ab2a349a0416210ff951548415761fd181a0c95fd903edf400edfa34d5832b2a33e4769e59bf9d67976175489ff547179ffc4be5206e7544954f6a83df03decfb37a36e2e352af1ca4607a9815489332c2dc035e0c2fe3978777797cf +B = 1fc32d6d0134e17fc482320c1b82fdeed06a0d4b8fc97352f47f456f6c7907793ac9cbd71e648d0e8a952e98a41eab71b3a8867151e0bdfd25685ca001b4d3bc9f1d0af481d43fdcfd0f8b4257ce7bb7eca20cddf59fae7884fd901f563a68a2777a9cfe78155844c927807e62df60e401a8652a617686d593f62d24ea7e2348 +GCD = 1 + +A = -92eb4b85ecfb5e2a77871124a75f48812b9a26caa08975e4459dbadc383c445270335154270fac96b6137dbd09716b0c304c5b2abe16f744951e991d04b123117c05321522f602646f098f4e6d3cf9872cfbd1402859414d208af5a576f8278019b2d521b283e7c984048fd851ae34e62f8cb6037675120478d35e1bcbd6853a +B = 52b5242829c14ab42bf8b8e1bbd855d55d41524832bf3937c91773885d853fc4b9f8823e411b481875d5766894e87e186caf17577eeeb89beb9e77a6ead91e383e1f350d278c80e77a880e232ba5d803f192bd9505ba99dae7f659cf5757dc81bc2d5e682c51f6e77426c3b7dcff0f02e03ccc2a15807a781a1342cb4efd6c56 +GCD = 2 + +A = 7203c851fbbbed75db6773e2f69844a15f501c53522559c6260c4b3f6e2d0ca205d275f9bd976600b19c2dcecf06599ba3885a5f24589b00429a80ca3da4cee54326f23101a3e2eeb62956a3009251123ec2a6fdab76d59d7b58dac7d90bee767eab9a19d0bbe1229ca8c5980da04709293b26fcb06a0b3c26ef1c318a2e1f10 +B = -a3871296b72041485eb2967a3ee023c4430ee4e999d7365a804ee12e936bdb29a5a9595fe83b87cc9d30492462758c065b329d0bcd56708295baf12f2556f6bc6a5e57f1347131113f52d82936fe422ecaf318f9c4ed5e8c17dc55aed006810807ad3d4006dc0d5958aaeae0ce6a7062ee28f72623cd12d5b7f505249c6a7644 +GCD = 4 + +A = -5d15906368a2f08ead6d7ed2c4f6d191dc2c02dcac4f313e601c606d5e7aa3df20dcf3914ba12b6f9f19f8237dd5f9a34dbd0931dcbbd08a87eda2c18f97bb2c9ed7662c62185710c009585b94a603434707ac135e8e85500da0d61979022a9d5f38a38ea9b13a6be9c299cba090953a7260640716d75494a988819ca71ff9b5 +B = d902c554832452469dace6f1715120a439f5d100c0500c9fe3b3f13c431efc5883f60e08ab1b0536f979eaa25fa19536be14c61fd36d45d74aae61f9fcb71fab5ee72c2bd1cf21958733ef57fe7eac6d6eaf2fab19894dc957292207e1a7c82019dcf97091423ff02f097eeabb7da63718f8df88a03c8b2b6d419434cf87243d +GCD = 1 + +A = -6961aded1779f616b02dac22e40adf870e263934006423ad5145fd0e6151cb55d60b84a0fe45c2f1cde563f0c048fcf01e45b596abf62242c4f2ba96a5b9dfbadd0a1322f7455abab6aaa32f148663acf446022bcaa8212ece70da31a65981555a16000eb5170467e9ceafe61181162cc22536512da836f5364c47df1c73257c +B = 7845d10dc62a825a7025e58211fd99363fd508ded7df7b42aaf171d8422d685928673210ef91239ea0c93f7a120b6c4442daac151260fd1fe6bc53bdadfa05d6e04fd79996dc13f06a376b65d3766a051599d94c3f274564d4e239a3143814b250cf559e7e7de3229030941bfaaad55ccd9678e1d1bf919e05f75ac011139746 +GCD = 2 + +A = cc5c02d7a747bb018f8dea32912bd2d4e7f6391336d83590630ee37f25fe1d87ef748c620c0b547ff705e44c0217879072157ca0521992fa0e6a787acae451d7ad61c019e2b179ef75ffe1032005fbcdef531173c68dc67bb1eeaba2f478e688559fd6e8356fd8fe3a1085ac2490a377986e1882cb2d2cf988cd8a82b4abd5ae +B = 46fbd5801b4b0c7af7d6be7a3c559cee008b40100a21fc4e8a5c8352e10de67efb142579cd81dc5118c02739fe83f1f352c8a44d2d11b0f7bb74a128dc9d4a894f6500e3a017b372d71ca871652ab30ddb08aa56034b1c7198f8fa9d30d2530d33ee2d4eaff42d769c3f0b19e5dd428eab536b67c7dea4f649f3d43b3da78288 +GCD = 2 + +A = 2a40d3727a3c1aa736dd976ce7b1fee07fe5bf1be3c9e9e306ce26653bae7db2b4be2497f715372769292af6ce6640e51dc2a34206d4600ae9dc27910a95cb9844f9fa2b356e6528f6ef76df5e99cd0e40bb45dca29f35f8f2289a63f440504ce55151bf25676ca3345b4f27ee680e43b271457a0217453c482d9a77459581e6 +B = ed7feb69ee618be3e273f25b03a6b109c0db8858d4a637811b9e3b626e567cad6ccef5123fb6502d5e83c3009c950e54228332fdce8c28c4cca6b5029effc948299efa8e8479cf8f7c2d30d07624fee7cd2eeeff102adfb98b37b2850c87b005020118b8ddbb1bc9e239dd51f7ba9330f6b8fc9630d298af8e2adf6738ab1f5f +GCD = 1 + +A = d64f98cb4716d4af14d68df3b1e2da6a7eb3ba79dddbb1fabe2fb24c1588e281366b9e90cdd8d7e9a945897b717cf92cc68414b3a955f2e8903c4b7122d26e82e076f23acfd2da0b58e6d00a925a510bb69dbf25ce894ea43e5c05983e31e9f428029036322327f82c3c41e8542e2e904f5c4d9a4180c7144b3468b62101814 +B = 32dc426b9914fa0756e86890118f221ab42f1fc031a6171ab52116f49de8c9b0c38c42685f12e4d61c1ef1e200f1de416db8a08ab2868fbe87bf8cd6a04aaf6a4bc91f2adaa9f82d503ddb38a429b58c83c751142386e018fb4179613d1d27a6a794c501ac5b61ce947a130f5400a7410b0d41f822559e0d114fee6813d91906 +GCD = 2 + +A = 9369bad19bdd480212e01884222a63a171a3558e9f98dce2854f2355a26b052234be13c69a2417e925c418a0ad43b345f6f87a149b830dcc425bfba82b2e9a6d174b8a385fba73f5e584b5dd2c3555660e6afd99735110dc97d40c6bfeebe08c1772f587fb76dff0c711f12d95ffa93fdaf1b3a7db7841d8c444b1ed62e3f225 +B = -cdac35ddf16d4b46f811c5555be1ab672055e1a6f00df8b4886fabf1ce75d8aea23241248c6a3dc51357ba3377539ffeed520d5077e1b521c01c9c2495f937b29a6c482c59f94a95de47bbe7396086cbe1e3a98902546e1397836a89311541421cc5b85ed3ea89d876f40d4ac7699e4fc0a7015dc759c6c28bdddc6fba059dc6 +GCD = 1 + +A = -2756a26dc7b9ecb12cc85a38b34ac41f5cf9f2d7d6c824178fd6d45f7b81123072669e2387e2e4402090a49772f124bc4ba3d3f0e204f4a388f3d6ac093e615ddf664fbcddfba4966c59cbdb6d906d9d981a303c7f65c78ff08aac4e04749375d39b65fd2d8267dc5751a789e3c70008b5df5b4f058cc01295ea214b6c582bf3 +B = -bd6c01cdec77975ca37b6080172e9e4c6395b37c7fa0047b9399316a6298d3e33123f92651f8c551512bd3a558d9781c57dced91b5e6c11f4260412f19efb36027b77c6dd028258b4b263709f7298d489147375119d561db6e9ef1c016a58b44c4aaf12d4af762aca4915af8aedd436f24c079e0274415a03d5e33c7d774cebc +GCD = 1 + +A = b80cc8f87f1bc1b69fadf81525fea5b3bccc081268315a34d78fb981e7b3bbbd4a0b4a2ce1ef3db4456293a0e137a5f0f9ae3be99d8b52b176cb02f99ad6594bc57744975986a8f80b7f0c3a677ec989f339ef91084e08a325b9a06bf5853db35f58d29a4dd2887ab6878f1408f6d7ace796281ef38bf903c6265b0777c0d9bd +B = 2a1432d8bf1883530795fba19041d1d39406479428b21ccb77fb0efd003ad80ca4fa6a350cfd9eb74441bf00af7eb10ac478cdf42c86240694b927d17442289d9593dd863ef576ae27f74289849d4346f2282b39a984540d632403bde1e33defde15b07104ec3bd1a4d007cc8b6fd6d704c1b673a950589ff73cef702121eb5c +GCD = 3 + +A = -8113d81837c3674966857c786a2e3f814d83cd0e04a7d6f715d54855186907ff59b6b00c870c20cd68da2ac0b91be45c979e83764c5a27bddbdfa903336cffb969dfa11b6ef7ee2e8ac64f7748f2e9e51e5f33280934b25015db1b3ab951e963c32ca8f1478a7cbf74cc94903ff9a19ffc01a64b7455e4c90d2debaa2da67fa7 +B = c4f442ba13097a76657a027f26f4699ec1dcf38fdb97e48464252f617b60133d4fc93f916efbc0af49f209591379f478fe64d30b092a5b0f67897513ea014934e55d8bb9ecb781252f624ff18cc334efa9354bdc0492584c1aa93dda5f271965805803beea5c55417d46f434dee349fa229a420d7d96571cb3b86f97959a1aa4 +GCD = 1 + +A = -6b671b78377121922223ccd40b7befeb5b9787081ab0a0e1e3d759a8d7022eb3d4968384db22adeee8375f6deeedbf8f3616458fd6741c2689ad92d5354249cbfcb2a6c2c397c78bd4283cb16cf63837b6c018c883903160e74d0f3700ec6fbad6a1deb3ef9edb3d1a5592081261579dcd3991c4fae6c20ae3606f441a6b5888 +B = 9e7b237d74ddbf157695cd632ab52b06bc23ae8474d973f18bb09377058aaba06de37bc2121d02d1c00c56b366dc5a1767ced4013a90c1ec1f56f93e1ca58bd7da4fb52a83f68c39efe8518558265fa94d90c2c7585b46b7210b750e4f4faf8009ee8f94f6e96e67e958a710f8272532059c115130eb7633617feee090986b91 +GCD = 1 + +A = -21a743ce921b7a2e55ee8d4f26f6f6812aed3a76ad58394ae79cad21737e8585162fe93daad7c69bd1ea316c8dcea617f45f50947477e249b7c3172730921cb596c36a3ce790d1cf0adec21e54eb29a4c4d2e0a5dead6e2b573ef73d34fe1e3be1cabd892b9083e48bfc7d0db4230dc94e4180501ab00da11973c6d48805a349 +B = -b20bd0f1867813bfcb4858c7582eb32381a777fd3d1ceda4d96ae894deefd5cd81361cafa2d5f0f1f53b36df0beeca44feff9cc08f37dc78e2c62eb4a9fdd73e499f6e2b4cf7f46a749079f9eb724526046c74f7b936b3e3a584cb31b6d4adf7e7b48ed63c9a9bb525e3cd0be0b3f6e547048397df724faa8f3f6e78662f6a55 +GCD = 1 + +A = eb1295c8474521287e78b6121f44e25fc59e015d3501979310065035ae42b898db12a8aaf9b4b7ad55eaa9874b98f557e74a6939d1cc1e754be4ca8513b2a411259016522adfa0cc1ae5149dc12ed6749092fbb464e1a3d6a0ca7bc288d37cfdca179ec19409016d8b3b25fd0fbb1a17e05d8d17785ca53ce6cdf047da22b0f2 +B = afc9494b1fa096724b5c66ecc605a13d2df49cac73ca1cca57e13b74b481cab90488c36f89dd7f89062236113ed66a82821b223fcedc7b8e2532b0d54b02f84aae7bc10b51df1b3acad87caae0d2d3f15978e6e5318e829b4066b66fa21580a9b2e1c6009f37fb648ebd399a8f3a1bf310331f8a71714d226ecfd43bff90bda3 +GCD = 31 + +A = 1f5915f9f6c6665a2fe99d6981b1ed6895b97a2a5ae35fe9e0813e8904cfcf5ca80d0a5453457bb019c41af3f89ddca41ac9c90945745de0b5156d8c7c8a74c3b3d60fba6cda67529a733b89923c52c4eb249e2a8a3c8035d24b3ee1b4b34a5ef9a54d5557a61f3282d5ff4c858f7c82db57aeec8895895e0759b8cc4501bce7 +B = 97d1c439de6673591ac769b53d92cffd0e6f25c1b6033071cd9a7cd5e73540d1897008d9814d276502c68367797fc0227ad23863fb013bb791d411b69e84e47b57f4941069af08ef0127cd0ccd7eef32e571138207c4f4f885b8c73004ee3773f908d4a9cb514f045cdb1b19f2737b32c9c11cd786fc387ab8eee6db59f5accd +GCD = 1 + +A = -d0768522dfdb156d91a654206a0b8650e5e7e67917ae31dad09972f99a7702f8e069ec088ead679076ad8f71444b2a4260aa183dedb1d1cfa36c716dd55a44ff0c88a87af218591a7385a7da8162602f410d76060c10e0895cdc48fbde074b9a554d74c4cf80e1990b0fa6326e30bee460ad34ea707fc4a5bb4837d57919242f +B = -8e4cb4a9b6e16c9bb86a7a75f70a1e4fb8e9107079610d2ae47e7a9aa685a502789cda0f4be89bd247bdca0aa132d662891cec443c69ecdcbb3fba09946f45f08f453480779fc98b024b6cbbb0bf2c3b0b14b928774610c0ef47b4a308c9b47edcc55b59a3cc0a519e43472e8377247e79795a8cd554b170fd81e774333a04fc +GCD = 1 + +A = -32e14aa48faa6b475c46b05f6d6c7479979c577ccd50861ee17a24cce662f99e8e2e5250f50dde5cb19a15c7dc53161fcc64feb68881f45f5a0d8253cad6688fb26f1417b309941c21e2e344aafbe727ce3288cfada655f186fd2866ae9f43ce835aa340aa943bd53fc34241287dc2046efc880767de5d6488ec2957542e66b +B = -427f2a22ceb8f2237f7ce0b2084b9792dc94ade6e50793d3329bb47d92acc9e2fd614c40fbff3f01ab5696486470450f11aecd1bd0bb0132f611e636e95621ebcc1110ddc03e506c6b6b0ebd3c707a162651606b393877340a767357e0da6d2e49432eba3ec8f844d659c944c042d0b943132d7d63abe7ed5fe6d820be513cd9 +GCD = 1 + +A = be060325b38818c4b936b38c85e6ed8e9da685524f590160d1b4c12467aec4d43ba1b5d01802fa84c99fc8500934794854a8adb3b3b905741075710b1cd2850e80043ebd4a4f8db732a94dfc946f519c8cf60df393ade40a351912cfd14aae2fb2c9587799aaf2c125049e6f52544cb8adc4dd8776f845d4928d8f20435dbca +B = 71d7e2811660227968f27035dbf3c8462f7dcb5be64a124d4e87bb83b4420da9a931f7c65ba2031462396489d1e279f2e13859f32e5d98c55aef68380cac681cdc93c041a9e0b4f9c5c12f98a271dbe8a9bfe7ff8bd9138c67c04887a2ed8bc5bdf9746fa5af722e5036f70219336c74c9c023f5f8400d87b7caf02f33b3f680 +GCD = 2 + +A = a52a4b4011b009accbd85bf9fe12626fe5da30103b8708ae06707675c7a5ef423c5916c53e346d12c622b039cbf043c0ed5a56a8641890b44ad814d7c38a0903994947ba574756b52301620438068b90a88f57b411108a20759347602f9371089025d5ece4cd0f24314f230d661cb32a6e2826bd332372a9a7a6c871512901c2 +B = -281b72cfc24a8c19d9978add4a2ccc09877f25353337eefb01f02e810291a47472aa84878d236e6f5d8d1327438f4126ea2c78de9988c9c43dc062f79512925bc58035ea9a44550b1149e2cd18d3670979c2f5a97a993baf87bfc97af96b1139341e129be53bd340452e0cf02f478ca99f82f99e8dc15b9be54867fb698a629e +GCD = 6 + +A = 43cfb41db09dc5e81be7236c6dc542735237345fda5988c2cafdf5df170c68c7f3e5601cfd5f3517f5d13cb5eb5b901289fd17148921a725561be723fabb36437c0ab90683fd7d4080f9bdab6e0613f8fb70d0f8044ed2b33e3cd6e3bd27bbda1d665b740664fd6dcc00cd6e4e4519102042ac1eb4452aca5c5fc509b28ab229 +B = -84eec64003a14784c16e4c77a98702674bad1f7d64ba89f62909a2b599d4e6a2d8d4464702ef77e294ec35c07d167e612a9f9591bf8199814b21081c2a8d2d71bbd2ec4f4a4f906d38fc93e4bc6a64240f08ef0f0d098fdb9a40a3e5c5be440dcce2c0d68a01683b162c6556f65a387b1deb058309d02ebea2deca0f129d61f9 +GCD = 1 + +A = -d4c2de2f8db5a71b8ad653fbed51d0978df81f9a21e39f8f4e1b405100cc4fc7d071b94d827ea7a06ff3b557c4810acf003fb2f4354005f055bb481100a30d2e738591218a456c61e9a552977c7cbbdc08e418143ceecc15c35858f8bf5231e76d63653419f79b0a7d7cc7d858b373179cf2dc72205f4d294116709130c62958 +B = 96285e10e53fc744a21f6db9e76446cad0cb24d7053f8fbd5cdb056a3890cdb1120b2a86da75bc2706258d23347955bd3765f34b4f1a16d55e574a7631045604b967e8dd671b7e010207f766ee82773cc59e5ea295c73030fd6a7c5e5a34d794b454419017ce1e790758e3f16a122085b4060def65e04e4d9a1c97c7098f4980 +GCD = 8 + +A = 5a600c3f7e973e7979039b6c6bf1a48cdd6b77744895a3298ff108c5a2664e3a34c92b9dfa628a938b55afa9b61b99a9655d5c0f022c41dc9fe1a4af778cabf553a410b3d6869b2cb5b05cd3c49628135fa9872269a7b5d95617392f4ee5d0e768c0a594af2fc64a8fd367d73d4164c8e923a69610c540175f71657e59f1ea50 +B = 61af413b7ebf7f5402ef6161299551359a17ac11b5880577c6de5ec24e12468d04b1de245670ccdf81f4e6fb7d89dd6a64a48421a0853bd2ca298d4da987b19ebe9c0cbfd4debbfd0b67373018147462beed300a8c69f4832213e393c4e5b56f9a6c643fe757fb61bafac999319336f5eeb0dc72b64084fea8ad00a6a318ac11 +GCD = 1 + +A = -986e5a6afa9b547527fd5a9a0e8146460294e39e0f8820e5f6e9a004fa36a534e9bd7b0989e394e6ce990bd0b11a797548c880126cbb76e967a959b28211a8d91af1c3127a6e7c30e1b8bf35b3a510b9b59ca60ce434d751bdaf3072c34cabc211bff4f49d5ba5a97d927a8c641bc2dc5f69bf6972fd843a9b28eeb1f33c48e +B = -60aa14969ca4971c9fbbe71aa4724e3def8c8359f45ff80d9e266dccbc341b426300aa741163e4228d1a928f2810d51fbd9f11c75fa35517a483bc7c5f37c75a3b8c9f0d38d68dae26ef4c68f7120c927ffb7ef5661dd1496eeb985592bfc1434cf2f12296f5a929e3fc1348c2597ed0f7aebfa191dee009cfa13c9c53dbff31 +GCD = 1 + +A = 4563fd1bfcdcc7ee97924ad79aafdbdc5b7463ccf6a9b28403b2be84a88c40d2260f11920ac4c5c6b44c649e705dd7ef6c806c7bbf26da9485f150132e5144e34fb02d93383e1c25e57652295ba9c1fb47c663e635703fed27a4a8b8998f99b6f99051f8807f6d064a58e57391093ac52508747ff303c33bbe9f56415565d5de +B = -4ebd1938a076106491f44b8fc83779c5cb24c38a25f962f02625908104a81625dd8ba534ad73f39f75d7593fbbbdd31c734181565ff442deb79fe7897b0d072546c5320f0309ed9921c3bd8fdebfda083bb3672e6b9c4c9a9bbd5c802a3e5a13593b7df44b3c165195dfd47defacb11997557c4607086af9ca5174565c70d947 +GCD = 1 + +A = -47a3405acd11f9ec276f5083ab4b685d5d54e0d7124e0be653acf880c7e782453e311493b9a76c681b078fc2a37784d18c82cc72db900ce213019528ec9383e57bf64169f27e11ef605837370b42c05b6a9580c406030bfbf8e224f4fa375e88fd01f1e38bce3890b8052184eecb1e19f25423e1321dd8fefddf3b5c43718865 +B = -8fd3e1c8b9cd38bd07dc58f00ca62cd1a601489819c75e70c12a74d38922cde630495e0feec8a624f8c4f3e0381e136855e7fae6d0c891ea63b86569ab4a9f08c13159c304a7166c5c0e04c88f51f36bfc3813046704d923c8e236f5d2b1f34fc6b6ae9bfbc599f4f8286799058c9e85a95c47e359d09c6f69797b72f1c0f3c7 +GCD = 1 + +A = 97a4c14c32af38be35eb0a2cabaa5bc64d23443cac7aa01ac787994bd11b466be9b931b8162900bb0de32b1d39c7d4cff58573b0e8c78f2dc3aee53c76a6bad44f7c7209b248f65b0cf890ae30f09d518dd7c576c02aecfab1a05194385f70e305c6f61c74f3d372bfc34fe8a9565a7b6b3781f4371ce1577fc1e495683660f5 +B = 99e07c455fcc2b2b37e21ed93d1e0fb9c20cd4ebd117060077d2b51a01bdcf8872956e3fe978fe68fa12493f24da12a7668790d900aef3a8ebf50ca6be0bbe4d804930f423146e6fa09211f949b62df3eb3fd663416d4efe517444fd0f9d198b8d9c28367befd14d3894cc1eada2ed74865b99bbc4d4e28f7307a83539f8f1e1 +GCD = 3 + +A = d6f0b24dd80506bb67b3f0817c442670eccc37978c3abfacdce1a68bfdb12c27c0c7fdd0611b2814180a32d16f3a4c6f8240123b8e33b9fdc6612c9d913ece8865f919e5f569ee0bd87bab6f38cd1a36f2fc593e6aa04eea739642c64d8be542bce5b1235ca49f1df04841a85d30dcc63bd950dfd636a42f3ddc859865092d55 +B = 69daf80faf2b56a66b8de5c7d1fbd9d8f920ddb016fca362237bca0ead515f942f36f5ff423f8904786f5ec3caabb6ebba3e8e1cc5c512a4ee2feae2c4af53f48eaac8b264696ad4a3e7cd5fe15db754fe2a37d9595c1c69ed250ab57d00fd21781c45316e85cf45964c995519bab81d1d5a426a2a2e875781f1e2ba7fb2f9ef +GCD = 1 + +A = -ba0e7d8a3e1fca296442be2497f0dc2fcc2e0dd11e4e1a3777f1bb7c97988a1985976c398b9312e5b633062db11bbc9629bad4346b5106c745886b16d988edeb1d3969b1e8e8da2209211f0b461a6469871c607a22b27ca990f386673186dba3572d899f0be2e9f261a35f6186180e92b3b22506da5641ae6560c1247fb22be8 +B = -4b4a3c7c8def6543c5a2ffa18ae6428e3cfbb376d257edc3c627d07a1672af2df9cb56a99f337d5a1bf8879e4f73d0eaacc05dbe489a97bd530d1818f2574df19ac234ef6a7db007446b3822427a87feccd333bf74fbb67d20cdcc302eb2bf8fbf3faecf2f2f684c6955fe2614026a11a6fd8d175565d8f37a51b2606c17772a +GCD = 6 + +A = 3dc5e185a984e8c25f26f7fdee08a7f4978aefcca5f3922d10224c433081a77b2dfa6b472d46d0bc9da183f285fd6fd820e9d4b5cba705a25f9a4523990b78b1b460c9d5836b0e66f14787da002b0a8ef2a162748c16bd06b1e96672b7681dd7aeb526cc324701378fc7c49ebd350fc32549f4896b06ef396d349d8611cecab4 +B = -fed11fa278ecf793c0eb288ab69222f6332548b2ad222eddff1aa2ebc9531480167144b27556db069e11f7624870aef8b204bc90a5b404e1756ef6ce032bac6e7df1c4df263a2c4b2dc7e473ffd80c2202c939642f8313fa0e6daa8a3f5497c43185d1416b1287c73300bcbd3061296a5f594fab7727ce2f4e56e6bb58600bef +GCD = 1 + +A = 9e5b8c62a06d72d74ffa4d1d33190859c43dfa2bb9737b1ca10dee2ddcc61306df8177d457ad12c8c649aaf20a8eb6bf28956520e734baa74a83197a4297a6ea21c06a73e9b8e444a5c1ecca9752abe524a6aac676e3b58ac8e6a86c17aa261a71544bd490377ace697853bea46946401e927ff9da2c3dad040eb26173bffbfa +B = -7edbd4b029dfc0116910d43f28e948cdd7b2daed3a9e5ba47fbe83af539cea788891fdf4111969de3d6793a1ed5e911756d10bb9e139d308038e463c1693f2b2693e79275473db668a33da016021ae7356f288dc29c61eff7b2c9d26d902a2deeeb192b05a69752e7f6b1f6a4ac72a9d503ffa095ea50790f232fc12535366da +GCD = a + +A = 2ffa021fd6b07c011b79c5cca063270401789fc08ca8981ec05692bc485f022c30986f806173bfdf4ab54f89a804a1b6130c5489d72788b014c4a02e6c2fb506c7e51129035daec4bc0bbfd779fe392742266e34079028be31159da88335675894bba96384c19a886c27ebd70b9e86d01ca934ce3e0563b5fa0752699d81c375 +B = -782ede960fb3ee57e1d603f1d655620f0976f754fb6a1278b52617a25dd55571d02db029368887b7a7c468d6280508832d5a41924ebea3b01b78b090499fefd8ed95a754700dd21c29238f4a3aa776fb60bf7b78fc84577db809cfbf8f4f4f436affd562200a148c861e9723b0c153ff08788adde482f4f85c013c915bfce4fa +GCD = 1 + +A = -891b497ae124ed0122af774d36b7ba3d69d9d1577b941daaf44cd796f03136a858ad5afda36774db4584f97d7958601678642b25f7362fdbe1feabc14e4bd031268f2b91872f8c8823b4584f79c549c067c42de369885db1f55735615fef293e61a65ab3f783fef37b44cf578e2377c0e9328c8da320a19ac9019d9d58c1e810 +B = 4ba26bf83a16f458865e9843dcd7fbe2d6c4e44d6b7382baec33acd58d4dbbed88a1c861d25b6ef0c739bfc11a4281224e9bbfbf4c9e33be1c9e3aa0525a1b4120c2005cc81619825f3ac03fc5e68850b1d5a8153df54d8c070779e79add76f9fa840690f60f847a84663d8c7d0f5caf774138e863f9be777e1ab4968e788bc0 +GCD = 10 + +A = ffec42a9b9a2587936cbde6d09ee8948a2df033258331d44431c597cbf243f4a8e2b7708ddb503cb0d667588688a936d6f8fc399877bc1e3068cfe046914c207ac1e9caeb2710bdd439881d58e8a5799ed657a76a0f117a16602ec0139d3c216209476da52f4fd2e57ced80e2a4eeefce81dfca9a296544358e0bd382c91e342 +B = a76760bdcf7a60a1499ae6cc4397a8b9891510a5f9fd3bc50ea9844ec483a4ccdcdb3928dee163ab3029d44c8e10cbf8ffaa26b26f5ce531f739c5675506e060369d546ae93af0e3066fb8e6844f61ef376fd264f3e591f9323dd83f8e889c86d8e85e5982974b51177579ce23bb0da10b114b8240d2ae2f0711355474113687 +GCD = 1 + +A = 81b04f6d9038e2337a3f3a86e926019805ca5a8ef37da21b14e53a6a2f1b5b8de550ae47bfdf1dde68964e287511d8c98e0e6212ecb13857987ab727f1cbc7662a49d7a232b568aaef8b92f57f2d70ea1566073c222997bd2599457183888a19993afa6f6ac143b13e9ad81f25b10e76b02f60922cc27b711115957727e36404 +B = 6083617c7f3b18801243dc8e90503ce5f232b8756750226a98a05cfad092b0fb058f15e4f8e2d264c13994ab0fd7881c12b7f72767c4e094a01474b4dc2c91210f33777f5acbd6107373abb8342eb258c8e4d6928faa19a69710b650ff56b4184c4f83b4f9404692993025d293fe926a61634358ba99cdb36f84908adb8457bf +GCD = 1 + +A = -b4a8f6306d5de531af7cd48349ddf3c3c502139500edf9f15f2c40973cecacb5e5b80508a56228dd8b9c574cd40729e6b78f71b00f040bad1824721e25b87ae1dfd14201bc76d7d6c3cea60039401254fbeeed29dbe18a876758f862bfc4f3d6d0c57cb56a7eba04fed1da50ab4e0d01cc4fe4b2d5dc2df8a4d1877827eb021e +B = 77d7be21aa9bb385e8dba8674dd0035a0d79bc153a007204d8f3f03ab5d510ee5e0a104f885534453daa40d1d50689fc34f86aadae71bbbbc8e359ee76074edcc56f698aaff48768ab3a12da305c6b4e4211c0e347dc6c9d9c8c41642ccfece0001315afcfa0782269f87388c7ec71d7050934f6d1ae84a868c6aaa7ff1728d8 +GCD = 6 + +A = -6c2884e8b4dd564eadfb853d14d32cf51ac1abc7bcab2f5a8592feee93fe24b623a3cefe7f28234bafecbf2ab9e05801f57f411c318920b5e05f73551c4ed63ab89e4d8eee9da56e51120dc79388c24f096aad5ea9f83386d6bfe4185436a461ccac454cdc968440f78e73d3e9577d3688f0b12945c6cce03a8e60132df88b6 +B = -285a87e39fa8c39929bfa7640607b622354b1ad7f3b962c7fd4105da6e1dca1949fc7fe6f5bf2584503328a390dace046ff4a3f2538f6c9bfdafd5b41d501bf28bdc33b26838df2299cf4fdb2111ee29a6e99313e88ccca187f5fe8415bce389cbf937c2cf03c19005a63e1baf809e9246166445291b40af609cf90d496c86e8 +GCD = 2 + +A = -ab2d0dd7e99ada6a16bb7350ae8410e707d6b1565426111154eb74ba38f8994f2836f84b6a16f0d08c19b5db0398526a40030f8caf21830670ab117590b268069b6ae98fbf71620d1004eb040019bd1277ac4c65b7e190f06a6718536c5d3939b8041cf545a4fe3f4c04b69e0c05e70658b73530ae26f6b886434c5f2697cf1c +B = 99fe9e762d2cbe137244e21812a0f72455618d7b0e2cec511788161a342b7d1b60763442630dd4d02807853ce69388500e195ca6f2b260780d97efc97abaf1db32d0704f9136400707820239d83594cbf562f81a004957643fd103e234d562ced76e64e7ba14877f0e1c6754c61ce3c543c27cf4c554f06131258c90d704052d +GCD = 1 + +A = b844e52b0a0bff6bb5df5030a9adb8d7116af7abf342ae12c5c74c6a829f5ad41ce60213bce565e4e284ba34da67e072d625e84ee9948e4f72947832ce725a80720cee385fbefea27645e2f92e6310cdfe09ad539b876ebd587cf2b8afc8440a112c7de191fa9519f8ba744a041650509e680bcf74780d390126888868f6d75a +B = fd63caa1d98b60aaf8487a3444dad51f3ecf9844195a84104921750ee4a3a2235d3d9224cbf7714446d213577cc93f08ca5a07a5e0876e0e868293d4b3a09f3c32903ae4fb5072e19e5432ea2a6fc90149e385a414af0edd6ae6a2ff4e915a18db10e57a79b65addb961cb39ed858d15ef31a14d9fdb4865933a67922cb576a1 +GCD = 2b + +A = -6796c966e24fdf498832e58e2956464f7ab6f7a6e86dd90d117854e0b38fcba307c097beb638d9719e341c83c1cdd1a353c18f0188fc19acf91a7fffc0747b1c4ab21c2a1259da048198c787cacb69ee6e01b78f8acddf738e40cca7d523ba5d2d8d00d09a95cae0ae4c0b3ddd13348259cc4ca1127462ef59db73fdcddaeab7 +B = -7eca244e64d76899158bfc1f14eff176f8c780a912d0b1e11dac867879166949b77cae31a4aed6645e89f07d5de79e0217e3802862f06841e07c4876331629c31ee2bc4005ba10b7cce1f584f729e231f2d06f8406bd966a5db83b15d004aac68c004206eb3072f442b5e30a69c767de35bf3cb1b8714346c8f7a966b341348f +GCD = 6b + +A = -d7a4868b78e2fd83c8e5f68345e30fde35f742adb0cc05c5c3bc282fc559c7a03699d3f7e3303889a5a9e84bf0a38dcb721b62dea0bade5f5115de62fb89257870d7b3272818c9066af713aff49de1572aeca8164bdb6a070aff3c2ea8da6bd16ce2cfe17032b0153e9ed2e2826ae755127758fd28194bfddc1a198c3ca79c03 +B = dd93e4bcde94b3bdf7db555891725ff05e6e4f4845e417c70c32fac49baa694f41cad1b900d7ede8c80301ac628467fdccf09f21e7cf9df51d4a888cd5dd125e270403f344bc2b3f2916b0293ba465d41c3e6c5e108c360cb2fd034ee7978f3ca8f00250ceeca0c78afae61a3ce2caaa974dae10844d9c2ab0a872bf5a450037 +GCD = 1 + +A = -7411c843ad36f46bcda4091e1b977359e4df4224e174e55a78bcc423d68362a24de62fb83f7a8d3944fc157d6666da9d25470c0b8d00c58e3d76a30418acc0455d76d221fd80a16be58fcd316bdd69b509358b6e822cbe28b857889077fb9c266b2fc5ed4a67c6f9178ba6f3c8c083b8154b2da89b86c5733ae28885ec1df8cf +B = -1fb06e327b0e995e3be632da3cc1e9dd80a9e767866b9aaef5fdc542fe3394e4584e21ff61f211656db4cd4c78d788f46f84ffbda5ee0fa923d9f13d6a8d45b313cabc5326be496723101d802a8f6581fadb719a5c683dea5b223f4c2e38529f433f2fba765070298094c1ff158cbc6d2240e9f7b2516fb3dc9fdc56b879496b +GCD = 1 + +A = 47d4707448896229b676cca6c38c76173c2bdb2c5bb34ed4fb88d54da367905cb0661b9b2ba888e3f1006bb506bcf9459dcd88ee4947525e6d09ec48a335cce9d53c3a2c61a1df175a6c54b88ab91a90b762cc273c72246a5d2fda345d5d35900bb120eb30be948aadfe48f80f21db54b539081c284ce9f589a8332f7bf5f096 +B = 7e71dc426dd4eb2f0eb41bba7a3ea42518852bfad21d9a6325c0b97ac1720dd59261c7636d1ff6ad7b75f11c3aaac76c7f048da473a4dd869b73f26b87679fdc40e4f6f4ee989945501bf6ef2235159f3b7933acfebf295eaed5b37dbef24ae4b6920aea57d9c04182305128c42fcd4e4db9cf22be34349dccdd7b06931c618b +GCD = 1 + +A = -b8f867a5b3f4866ee166b5c443e9107d0e41f75dc3eaf6b4eaa71f7ac0194ee70a1ceaad13eace5b885a791e1c76e9b51c5916a54dde1216cb9a43606179d76bf44f081fbc27273c7d82fc27ef656aeddaaad435d600a6978b238a4ec0f68236efa3796ddcb0c6030765009cbf3510a7c6fc6ca31ba9be540adc8275ffd683d2 +B = 1fbbfb546c1078e405da72ff2e76ef3f9d445ffdc1f593ca3f498d95b12ae62dbbfe2c22830f06233583b63af445cc09a64f9882b9fc3151af3239a910a01ef80129de0fe89cd4dcecdb982604cd0cb95294912ff4cd856ab3092f627bc6842effb8e5440974bf0781c7fd6237dd9f7e5ccfa2a3c04fcaca33f60c3ff5411675 +GCD = 1 + +A = 3403e3153ca94f31e8c4d04285958197c59ccba323dae7c9cac8648d7e0d9ea292744f09befb2951a2ac8b034504e1602c2e1301d6e47ff1ba11a077bc96d7bb4ee5f15155fcf56e4a99661b71e964f533ab7056ea6986317911ec859e99ca31474551851883c2ad6d4df01333ffda8d31bfae10338930541fb14d388f885640 +B = f460857e121aef219f05a8ea2a401aadde30eed3d2d1f928074c87b94f35a052edf8f9ce9379eef26a46eec82eece80f3fd2ad36f4a6d856e119a7ae446a6a23f1e217696be4374a70197a97a34e9027061eeb6b73b5b6c647e655f0f06978b873489d8f1fe872052ed07f92df98453c90367e4dae21e5b7c9bc9c7fe6361bb +GCD = 5 + +A = -1f5c949d8d2459b9f52231635df546c74f73e9db87c6ecc50db920a2d53ff40435f73f4ec8f88f5f5040b066a7e2e60f4db762080cea6670024b43eaaf0843b777440d4773135ad8a6a7eea88ed8cf5f579c4350afc32b79bf433c12079dd8e096a50d673d2d44dd18dc4af2f8bac000b31c07b672dee1d7fdea07a2b998538e +B = 989c554a84e3511cc871e48052fd99080ee510e00e881aebeb1fda7db20d3f478732db7e4498047579dc9eb9ff7cf76480545ab18ed677a677a88b7365e73e067bc21ed9b599d27fa7a1f5c52c113ab363dc567e1cdaadd9fd4d56d86a225946486d752b067e5aad7823dcc497b2ea91b30d547d4485cd5eb8a38246de75235e +GCD = 2 + +A = -ba1c94e13d0e68a62c01583bece2ab2b363c21b3c5dbe912cef358563191a236c4f51886181e3417bdc306c0af8df3652ea66e260ba9939d32bda0b93110a15bb9319e13e91a00adf56289421aece7ea362341173c1b9029ebbdb39a5fc1fc84df0b35efe20fd0e5bd26b7307896c0584bfae81cdef40a2460e420a65cb2f0f8 +B = bd4f2d593568d9b4746dc201416b8f4f9c80fcb51549db798c7fbaf2bafd5faaef75fb9f7e72ea8f2051410d4dfe93f6b046a6da915ba170e6040a26ceebcccf4e1df7011f10852dc56d05b26ecae91ddca1cdb54dabe6ef7ad101437b826071f7da3065b6e034db9406dad4da0b8534728a1aef1f2211821ec93e527ead6330 +GCD = 8 + +A = 9bec3b9e7937d5f0af8f947b3212c5bb7c49fcfb346958ad98aa4b6623ea0477f2b8158358195f32e3a59833772e3f398f24a0afe68dcdd8e2efdc92c4372089cf06b26a6cce98fb8d0a2706227ac5ad1e5a17bc4a37ee75b0dfe069d0b6c291431128e4fe425d72262b92a17bae9ec094d254d6ca0558fca528bc6d87b5da57 +B = -6cf1c0d6c89b90698312a1210d57c45d65a92a8cac77db44fbc1af15832a2aff10ab92f47f7246e76f841b395058e0de3fb6b92c84e3c69a0e78d54317f0779c2a4e124e4826ab717130955cbbbfb99acd80d6971481d62925d05c5896ab843e82aaf866f6e161a301c4735364b10d2d2687ec5fb2142ebef6e66368150b511e +GCD = 1 + +A = -c02f379b14681a8e22ef49f3017f68e9a50c12b6fcf4474e7edbc7219b1a84ee8161430f51d66e92d5f6a04ed4bd3f6a4450c36856aefebc42e78cceb1b287d11959a1b92e046bf471573d9cebfdff3b77147bd5645e3c86d48e8deb5276dd8b5fc76533b90d6203c39bbe3fc3e6011a4c694e8e736e65d8721e7cc9e875a3af +B = -bae310ea9bb9e6a4611560202f47f01a08c7ffac2b64d0fa0e8070974fcafdb0a41a8570d46813097f407d3b57e9a82712b1de72ca861f99b608669d8f59c30b66f225ff9d7a08ba15affd9747e627ac93e67c654273fc2d4522050fa8e78b496030432cef93e7348ab35961489226bae444b5e5038375f25055cf113f03e811 +GCD = 1 + +A = e58cf8c714130a5ea2094e4370a53a2eca7c0fb6bdd1e9aece299278f2136be69c2b61dbc1870d3df7dd0b543e221e32341f6445b0ddeef2a32c33fff7c51b1092ee81342131c4001604a1e5019e968a51ad6017acbadfb20ce0a08dd4d4274685447692463fefd7a68519ec15cf4605a2fce09bf6342bbe1d6fa13c30287ed5 +B = 5aa56776bb3de86cd6feebf730aeb77c42349f3c983fbbe9f17fdfd6a8f600a08555450333175b4f43787877c097c2f69f00f1fb65a06d41231450727ba20502f5c73e37cc5453d0baaa6af8bbb40dbbcb2e29a0b2df58a40203c6a095c3e4b00c483c05646c0b66c9ca757c4e79bad6d4a0af029acaa129bce5162aca5b7e44 +GCD = 1 + +A = -5695bfd8edecc0022124b75e5f3b5b9432574e5cc4957b8a580684e32dfc9cfbcbee2c71e941d96c73ceec0768ec8f326804d0cfcedf1699cd8665dc83764c5b333433a3369e216b03ca831ebee1fb39181d02a663462087cddf7ddf6ed2be224a1fb8f66230a3f9712b0c514581c52f9ccd968e31a10ccd1324dc5dc5fa85f9 +B = -cd7df9372e07dca86f3a8168611a4b0921c030970f029ca3afe3e0501e77e874dc2fb8b6cb50e6d7fa7bd912d6e112b535f2c9b2e0045f335b3bc1f71ddc87751fd36421117d575390184f35f39f57bbd474d910a839c0e30c53f24f7cb2a357e7fc57dfdbeafdefc2df72e7faea75c0e8567f8effcdc45934d6b5daa21624d3 +GCD = 5 + +A = -960954f2604cd4f6687a9910f155ad2e322a5ccd41468ad4c59995a7b8a44c54beb1d7dba4435d5956e5757af287a95360064ac99e3dd3a7038aec5c76e18b79dd2ccdea9a49f77d97e8e5b1efce410bae37672c682956c7ab4656848eb1f11eecb58600d47e3e7e831c0fffb5f20d9276b9f4f287aa1bdc31f62bf8d95d9451 +B = 4208f9518aa2a4bdcc9ca750e46a9b4393fb76e61538585b1503a6c52de8d31c7d24126fd5db04bf00227f22b6a235be39a5c083c343d35914a14b9827b1491e76c47761891305363b195e699b9dfe79d92e1d0899210e505871970e63e7869f4ba07f4205fe22c841268cb5ecd12c7c0d4edf48500a3f91c471c9b1b2b1b711 +GCD = 3 + +A = a3b7cf019351f252a9a7fa2c38325be698f0837ebe9e859a13b87d406210492a498a9c7c0d74e9a4927910cfb99fd09c05d9b1b0e6e1edbac72d99ad36e8c8f1a57781e3da9d494277aafcec17fb7c3328c6c1e7a80ea12f7a7678c8b83a3fc6cc251a1cfb14a460a08853ab67cd2499ea9528301eb81ea9cab59c2f5915e913 +B = -697374ebe8e633cbb1774914898683c883af7e3875357802e9af48a6a4da2a7029426b64489675feefba1ef5bec0c0bd9de07734576a4efd950cbee4a4c851202ba2b0ddd09fa3195ec96ec0aed780f57bb57bfbe6bb48e0afae8dd5b12d2cb819580bc890aa725c6a5f71217224eb486f9121a2d82ef7a491887568669dba0d +GCD = 1 + +A = f1128f3a57db5d0812c1372f6690ca3af699ad2bd9b6956f158a5f78d33c464af85ddf916f2a5464af17ff71f0a22f42ed804d0eae988e971db72ede47c0253d28169113f39356170a1530bb068bbc2e6ecc3931ac70f63881d3fe45cef4372ea03f38552ca3e74f251040721120fef165ef8014f5d647b7d5b02d3c13501cda +B = -915ed34c40035bdfa6727752d3334cfb5863bce5abb7094af232496690922a8f410895fbb827ba34495df84a466c8a924142bc92641f056ee9d12a64054e125128b71a27335f549a90fa11778646d78b11447cd5afb31f1e5a667f9f4d6784a65c30f9cff34f9b5b3656ce419c3fed1defe0638b21bfbdd42b15fc7a7c789715 +GCD = 21 + +A = -587f0a997722c76827b3ed1ed6f1bf1b9b74d6aa94ba5e4c735cf96a42334d9a9812010a6296f9c84bb011a329a2ac738417c8791fb062845e84ec3ae2bf4888e6ef902220929bb5d56c5c82abf995f1493991552065a59d9ed65314c7a2bdaf20d4596e710d2099c3db9c833afed1c4b5d9cba8ae5934fc2a753caeec7e7527 +B = 2d2ff327e05cda44287cde4a9b589bca20f0c5a15031b9d7edc36e5624e750f46612a89bceeba2d4964c02c23f9e42498992a594d43fcf3ed8a999e389cb640105074205d3acf0a072628323a3f3ff96f45d4af6cf84a523bcb83be204846b1b84f738bd9e17a2b1bd1c70b6b294346f6e87d08b91493c48adcba8428929a2ee +GCD = 1 + +A = 58ec55b033a8bbe72f5e27224ccbddb950cf4a1a02d07cd83addecf9b9a174512b5323966c9db4d3ba6e0f6a90d78e24b348d91f717340a3a354b23cb69d236a5a42661b5f3b183f45ecfc3b78791fa2e59797e85cb555a969f1a6c2fceaa8c373f8117bbffa23b9d387504e5dad627c05881a2a7e1d58fc22174a2b8e29ba59 +B = -1c7fdd15c7415163ac22e766424d6685286fb62f3674cdccdabf0f8cb2764788d7c86afdf8b45fbf43295784069e57a48af7d54c9fb13e2cee1a08be7e7bdc5f75dfa947e88b9486041ff7038605b199c2659f80ae684158ffa942cf8bbf9fff50f03947219fd7c8f2e585cbd8a66223a4778b4271ad179e84214e1c66359ba0 +GCD = 1 + +A = -c1d3c2c81bcae8b8bbcca7a04df8cea662ca0cd05f8b2d99ed1361412c3fc54be413e72e926f878b436c6708c41bd67d92a9fa26691f5e9b9f435e42670b295ca02052484c0116e915b10011db67fd6d1c8d28823972b2e3041fcf0d04c02f3ffcf431a3636d508a6cffd1f33da17b6dbbc5c043c3537f43cc17c44b7a5c8ac2 +B = 67e4cb08cd8eea1e9600d7dfc602eddb0401939fa90b6f7cb7ee81e4332fcbc0d68920a15d3ed81c462449bed1aa7160eae70d6f20ed9932656e24fc5735f01732daa4ee460caffacf5237b3d5d9c546f6440cec219119a0ec7612d8cbed4714ee50ce1504b398c96b5a229f6226c8b456af4cc54fff95cd6907281db6eefc5 +GCD = 1 + +A = 41b3860e81a337fc40852b093e727e32084efbec61fbaf59dd28493b197a41224bbf1c15265196537928f181194c3742129822576c1fb5181bc707d81e340cb5bb40ffbdc919d5a418a681118b6f99ac7439fa75f23f35ab0e758e2571dbfcfe4cb3868517d1524b2844626e9308fb1b0430f670d1ee87de76eee5b7a1734fd0 +B = 2854ec0663da374474343a01f74b13d5a0b64d0ea2c3e9af7636dbb8874244541219aa549bee2acd061e05857ee7fcdc1a8ec37d52b731bbc9ef200293956ceecc0846219f97facc3c76b2ed3595fb829c0a6ca0f7f041c8650635ac2da7bf7ac1791e1b250b11874c6ebe5718d7de8f090e5df084078b11c47a7b1d1e5dffca +GCD = 2 + +A = -f8cc8bd8fd5197095148a12e48afce61b0c0b0f1a5985aa376f00f4ac8f5631abb293ef3d90440523f76329e6e51cfa0c0f80e52096f2db67c83b987840bfaafb665eb99cc856c3ee66d4c7ff7e2d27e65e56f6d1b33be2082355f7d3d3a518b919ddd67929e8f41772b7110aa6fd0fd5bcc25387b62b78124505648a0614e06 +B = -2793d055589254302469cc9771bc837fedf08a153c6280cd835789d4b074d1a9c77c9a5e15029e3e7c78b61629fa9414574ea4c074777a3442ad0baea50aede74c9b6ab26852152e70c84c86c76b871fa90707dfcdcf9501a23f7b05d95c3fe43bfac67d3d1b7a2b8ddc817774bdbec2f1cc0e513c4b1792c2006ce510c5726b +GCD = 3 + +A = 9aac4efc5828f646af7002252fd8553ae5b330051502371db87bdc34eefa0f138e55044c7ec531e80b0570ee207656fada2507368a837c7b94051cefaa745f3a301936a2c846e44caf6ec604378d7347b50a860c86a8340a10f728c819ee0cab892fa178c28f9663ccbfb392c109d3179de3387931ca6becbb4d93ccb463ced +B = 6ac4b6ce8d3821dc7e350071efa6212bb685175ec32183d00424bb35d9ce467c442552ace65fc72a1fd8e370fa891a04f565f79eeb0e086a405ddda82fe881918826688b3b3d5143c4c4c325e66ed0a544f533b2b9c513fa2c98ffdb85a384d9d81e83138dcdb7645d7c0e1b9b4dc135314264fb2929b902fa97440ee73997ab +GCD = 1 + +A = a56b5f2d7d23608fac2b494c72ca764ef581482329faba6595e4be73492e41bd0bbb9e0561c328ea10e3bb1a149a877afb937d202e67c51e7613bfb086dec6f27b7b7048899e02fd7f5085dd44f0a873666ae20f74e69a5ff258f2be9bb777f20b9aa402b2e2f5a0ec892341ad0ac5b3f419a8a531012c082686f1bc44d1f6d1 +B = -af73058c3e51b0818f958e6ffaa34c72ed9653c3f9ced0157ca4dafa770d289607d3fad16deca72a2fb295a74388dfe337f8185d3db5954e25445b7056acff777931424710c55ec7d5db3027255b786241f393e09832f1d113b96bac5f0f8be1728f77e8a1c67bea0e50f38c57d2378b3febf0fcfc5bd9bc8e08d5acf5ccbee8 +GCD = 1 + +A = -156dc1415d58bfcb020319fc2d23f9fa44732388569906d59aa9ba1be590bcda14c24e5b10401976df50bd01003656ba1ec51786f45f099fae3c3a54804a864c5ae6291e891e386cf0117ddf06999887f6b63c16dbd397f6bfd23de4628304c77b1c21ef564f3b500ff93a8f85cd5cde00b7628dcecb43a2b286bd36b36af2e8 +B = -30853db6fb940a85214412173501e71466b87b30a0ad917cc7c16a86f64f763a356806c1154f42f22603ccb9e19cbf98caa02d87205e9b3c89d7c0b50645d61e86f8319be5e98727f017f5cd139eee71bd6f43bf63495c3548ac100bb1de9f4190084531b88b57b82208fbea59981eac45802bddb1c2e867eec307e37baba12b +GCD = 1 + +A = -c58a6bb316fd230fd0ad37906892240138879653cadd519d3e80e0841852017d8bf7a5799846f9988c2ebaf0f7393ce92247704f05df022557bde9bc5cee1d37202655ec283057700696f79644f7db62b838d22292fd2d71e4f8b01bbefa9f33e4a20a4d6b88c0774b435d85fb0533d49aa6b3a3e9b644e8a99b69b0fc839032 +B = 413235192140846471e8039312c6c60b8a17d037f0652fc0fa6f7671c01ee197906b023eb90b59a42a4081d8fb8af1dc909208966e297ebb739e103cca336b20ef4ffdafb1ea5eb4e0f19d09297a6cb6ee24221cc1b17a2e78a66605c346b7a4bf69b91258d75aeb1b1715a82249400c499a07f965835139d4090762ca4d7f5d +GCD = 1 + +A = 5c67e06428e845fe7170d0a5227521918ed949ad4887a113395929a2cd70e70e1df88c67de3bc54f2913614f224a259279f2b4afd7ad78d2c26efc3148c6f3b09212f8af2a8973cdd29bb07b9a26b27766100fa75ebdd5a8158612c2b929b6ba972e663128ebe0be86776fa6ed78baa0f342da17c9cb358e1ef2206ff9da33d8 +B = e6b9578994d68bca9fd69875f730313103303a5b81a1599e5af9b0d1bf561f6d6ee21bdba8c85befe37f556bae7be5725cbefb0aa2fd32b3f1281c9236b8329d56a7b19a0a904cd4d2d7976a258af7782953274620d0f29117e0d7b9d91dbdd6f258d97b9e1c0ef6b1950a9933b4f6641d1274b160443e41a70c0106ffb86ca2 +GCD = 2 + +A = -711666619bfbeaf7f5a7ae3b700c210f36a81a7f10c81a1d4b1be83ad08ec6c30d206a1c8ff968d69d0f9e411003f7891ac5ce4263b00bcf4befead45180edc37dac9f3df132c35e8f0c68b8458d11af5c8d6206062bad23dde4ea230e2405c567c50eb93272b9f95e3f6efaae4baafffe844f5768d948f48f60ffd9027f5676 +B = -89a4eb8d2d5310c4b017aedbb5fc5d29532253da5303068619941352950145c993ea10bf3f21a697eb4e3e3130a183625419a29a1b5c15f3687c68a94ce7fde1561992b1369c4948fab8db9f96a0f7c3e3ba2c3474d57a4edd90439ba7692b2e8a3fd6867be22a7e8bedfc69e1c340dae8fef65628c388d62ac97d1dd4e6df74 +GCD = 2 + +A = ffe0a3763d69e6ab5e90c7dc9451a7b91c0caf76bf48f3c0badf73071731b57461ed99edaa289b0e74bbf011804c8f34bb6ce0f104509181f8e6f898fcc6082f8d847a1682d84d6894b44ae6d3568389fd7f8c395f2c04bf083f42002ba1392294b003b61dfc0d1e1980922f8873f7eea038d4f9b6b1f3abb5082786ed144814 +B = b1897f83b3df810c440d75c2fee6b1369dea666fcfa2d5734affe33f6dbd44e5a1c6eaa65b8a75842a692e98139bb1be164a9ada60733b875c4f4c00eb108c5c076240addf65c68a4a01700a99b383e0b110ab8c9bc4fa7563548f19f0cbcac7408b4a734f9aa80f1e5e54942330cc2f6caf849f9c2069724543524e259d92fd +GCD = 1 + +A = 342acf2dac3e71da54c2ca58eb3fd7a45e0a0afb9959991d167baaa17941736b3c4841436f2f9bad425373a4c742041acea65d485664fa5ce67da7438816060578365e52d9d78b70ee92681dadecf384d4923baf4bd80e888914a5f16ec82b2406a4ce00474695468db8bca2a568c53877e4b4a3a51564216292727c1fcb6314 +B = -1276268cfc6cc7564d2e5c20305e28db261b7dc1c2affc8f80a55872fb2975eec68330c186cb053e90cf5b96a3d91812225864740d429a3755f044b4629abd4d6c55a4e3f91d1a395c4d6a47a69be47b14da2261fa6cb5da95f9c4b255f7596a39bed4b3c93d5a795e445f25c4f7f0536ee9c268a98db8ee34756206826fe0e2 +GCD = 2 + +A = -99418137b55f8bf8a7851cceff88c95e3648894d39ff3791f05a3cf98dc5ce7769d97501d2348102372df1728ed81eca845e426d36b0ee26f7f047ba67b876db76a15bb6c3a31eeba06be51d494b87f6ae30907a34742e36b4f1e59810ed50553e11132dc2b450eed437fcb20c5f0b2938a5ae387b60881e2bad6bf124092858 +B = -9c3f99f96ca456fa647b93811a7a93189fbda5016b9440bb7363b2da1c26185a23d5e023a1ec08051b527de6b37028cc0a8b182cef931945b81d73a6cb2d5e986a4fc3cef6f19678b81aa9cdd318153e23f0dd20b138a4dbd28ec8cd9f5281b9b216f17bed831142395e5c2edae45eacbeeabede544c2c9798f7bbd8d9dcffd +GCD = 1 + +A = 8f9c55d58c5bdd33d9384f015e19a1572b54184f436cacee17873a7b2fa5fff8d1939af314ea62dce2bd38439e12533a09aba4701e562650e5d0555dab503ab23eb6d752004a8bc70fefcb0b2d3195389efba2741ff35901727b136c52f1f4d74f03dec04cc6f4a4ff41425b52f87c4dada161858410b18c2879282728bc50f4 +B = ed94fcbb8f6d0019d73240243dacf1e76e9c791daa0c7274d33e07947249c865ebf9943e4f691632fe39d35ac807f4a062705463c8bbac00dcac4f7b517b8339feb035c622be41084edc18cd2456e537590ce526a8583ff38ba28ec14ac2d78c3662c788afdc02162fff51232482bc2a7f44b4cf4e0d5d0966d97f5700f6437b +GCD = 73 + +A = -fc9df267ac76188bb1253754911bbd067b00d6b4af03c6971ba05b938028b635d3c7879f2f501f37071e7ad039557a820d9b452b24e5237c31329d34fbc449304c31c8cef0a357c34b5c20580b36f2c1da0928a6879b655267d026615fc9dc3b457b8dcde594fb632c4c0992740dedf1ca9e5acac32175131a0952a0cceb3d9b +B = -8e606ac0ec08268e625208a9a65a6d4acfc3524f500e6bc8fa620ec46c1d19565250d7122be3a8c2caacdea259c05bddd632092777c8e9d3c0a251cce559521c11840d2711d946b0ecd81dd4a2f32f61bf7b735ff997d5d18378000f1c38310f34d5de31f002d4a0694932c2e9674acb7e81b3bbf4ae16164ae440aabba805a1 +GCD = 1 + +A = a80ed58487234dd9fc427dd327ec6d44bcfda741964184a9a4ecbef537b6f4c3b27450f55a337f187ebbbd3951ab5a189d2556ce9656656f9c94bc8809ec023bf5370a69a153d3ee53e2684e4252400c48c3f7b5c6870092d58754ad0e3488316234f58353be97761be8b31551e8c7de02055f4e773b027797bdf59d2ec7ea40 +B = 3b48b28165af0315bf5599a6ad14bfe657f4e25cb29c1d7fd942c07c5ccc2fa6007019c21297131b70c70b2177e5fab2e35fda6b578ab9710d3e18a89861e0b9042758c75e8231cb4cefefe873310cc140fe1be9b71f14eda93d1b3ba18fdf889fe2419b010310a56877f980960abbf62f71ec3ed842ca1e358af2ca49c1fe78 +GCD = 8 + +A = c0ef4bf8aac609aac78c2d7895702026649a813ae8ec1cdfea00586d28ae8621268f919809553bfda490c1eaff89d939ef579fb498ef11bbbb9ede3949877a4721b40e1345a3f6972c2e2874cee23302675ea85cd7c1c937313311d75e000b181839e0da96b44acb5851f067dc7efdc94260cfac13fec4300873c4f3c5a9fdf9 +B = e64ae7744ad5f564242c4863d878ac4d8c116279c70a8590e3c3b873436e07b170c58c58496bc61b1c1c88e2f1f130292f5343b6a7fbec667b40567433f8f6421bea275fd86890da92ac30cb38897426d0da19146ddf5117ba3ab55c26432e0587615f0b4fabe4833e9a6382e354406ec4826bf64bf868d68d6da862461a516e +GCD = 1 + +A = -871b939490bd400aa629e2772b7f22ef120f86d950f503e8aea4a6241e43225200bbb539ec4459b448d4131497468ba4b5d1fa1c5dad0ed0f9a1134133bfdbe39aa379d33cf7ad57b3c8b7082129f3090c176813d3d2e526ba25ba84299a406214bef04a0ae478d2f457edc10f5484b52dcef7124ce3847e6c756f6347a727d +B = e917c319b1d6ae0dbd657cb4340346be39bebe5211836541bd22638e0ab58e5d60a460676131abcdd07309c3139a430d40d5edf6af558587d3fa16a9f2ac3b4f7c3dff963f5805329ca0b520d1daa96193ac8a777f9cfa46a6677b2353c6fc4d4533407218f37ab81a433d219e9f330054fdd632502e481eade4e6f41979d9d9 +GCD = 1 + +A = 1b37809529b041170bd78579c85f21023afa2b0b6077cf9663ac4fd87dbce5dbbf72a5772daba717f3b9825e4267ca323d0a394f7ff9e489362517543b2bec50e8e17caa64c67ac837b575ca53958424d7532dc74db431bbb710817399e951fe145fac0ed414bb8d74e4829f02a8791bbe274d49027f2d641912861cdf21646f +B = c6fa35432508d1b49c8e5a047289027ef2e343a46f75c437cc7edd6f1d8cd1b732e95e1d05ee56cb62e675aef96cf6d0b9ddaa772249e34df232cb7a48199b38fd49cbb0cc17a836f6e9dca24284722e1aab1350ab220f03403a24b9e71bdad8e78f038d52034f61c52fa8d1d149d7b13a36aee6c4704509bb7c448dc4bdbe52 +GCD = 1 + +A = -dbc538fdcdccc1fe7cb84b1cf5d702bfc7cf161b959184c5282f2cf4431c87128a204ec98cb1b38455d4bc0e4842562e1b7c8e4e5d1425f92f78bd0fcc981ec73d48aa750cd98a0d97ba1ca6e0653725530bc44677c93f2e89bd3fb3b5001a025f9e83561048e4602d31fd1bc08826e9bc0e6492fcc2565e320327a6c150cd49 +B = 63218c14728ea6dc6782f04587d3e0b9c36cbb7877f0755be2c62094e8abcb4cb0366060f9564b2946b5bcb2f32401b99ec7f29220227b997d431291b793e610a45586d66ae2543f75b6fe0d9d39704b0a3773543d919e772d7bd0039497c1d495528d29d97a7f4b42373039778a19b27acf99ece57f7182a28b740da9b443ab +GCD = 1 + +A = -b6c0363fd5205b632b7efe4f888f99ad0f24d3b290be0b79f0fc51d3c11ad30ee6c8e566a2612c2f6b07d91efb3c268cd4d2ed1b816c11d0947f996dedf7f3501f98851fd8dc61f1c2b9f572093656e9a1fb78c7f4de416812be2e06c45b61fa735e005ccfd5f87a4ca9c3416181b954742c09ed3ca2e893a4730e88547d307a +B = -90e1b02be60ff20a16ea0641fc1a19b9ab3401ecacb1a827f6ca5d4476bbab77974e2a8201bf07a12b9527ad4db6661d20bab3b7b7af5528892d32c9102bf3055ef3d08509243fbc1eb8ecdea5ebd02b5b080a6f2bc1fad349b3dc6750f5944084961387e0a282fb3f80868bbb9c336c7a57e3f1118a4f89c333120bde48cc79 +GCD = 1 + +A = b1967b7db0905871ec69ac90d7dcffe67ecd29c9fbb0f2f8b4543742a2382416ea9d527f80e5ceae9af07dc6a836ee26fca58a02d7ea600d6de51bbe22a7c3e4444ff78afe0c19f82a9044cc82225a3b3629005bd6d7a21e459b943dd0994d84109fffd72d14c3b2060f048b5f92c4b8456daf65526b1dca58ad067ddbd9d154 +B = -3543b5c0ddc94f064b3d4f7f65e63552014144f50adba324c009a0005204b3d2a1eccfceacffb0f21325497e12469108bef898c45ba68f0cb50cb456276e87a2377632a64a8e24ddf7f885be40e4f02488c5f6093af42490d5a90679b71415ad29d651f680f494916551082ee1e2c23c9e997c8681b7c39d1340f4fe57de5636 +GCD = a + +A = -1745d1b23d2b993024e718c0ef69993c747af9d9f6c09d7a014728c075ba7514a76360e1bceda5b00018367eb4c2257930daa358afc6c3504a0203f37550a55ac6654572120e7d1e2aeabdb98e2995580d4c2906a09b2207351d2a2a0591ec0bdffe7ef6f3b613b004b635ab4e70e20193aa51477eff01b7f08295592e860d68 +B = -811bef5e7f403d063e89c30e815719c0badddf21e467204c88d7d2d752111ea1d68f3211da12eb36f375a009c3b95b6d722dc650862ce4cfb239aa2656454a8d0d01a5172905778d3feee6e0175b0407657b80cf3454396c0345089ef7a65f0866878943e1e10b941b10f973373aeab633210f796ce3136a3a8230d2da7a1470 +GCD = 8 + +A = -36461c07fb2fbbce73a2b69dff466bdaac04eadd813977b4d2486f8c57246bd1d00eab0880d163039016a8501712a5c5f34def4738477055f7dab27ebcae415ed4bfe34f7388f27e7c0b7f4dff9ccf4765d760f2ebd85dc965d1efa9ad9e913ac1e819ee6b07bea3bd0338a8a2188d8f6ad404938dd5ea002eb60e0830f861ad +B = -404a2327270526cf65ce87fd8c2b5b6caeee39dbd6f329e29737d7aa950c594bb4d08109836a1f4b3ee45f67815da9fd4336d382964fbe07087c60beb709b2c2b99a6ec6674ab11c19b270a852c20b28bce8408051e91c68921c0925f1633fba0f212584c879423d51adf123162dd3892866a115e7383deca05c989384e838aa +GCD = 1 + +A = 27cf16768a0fc66c47b18fbfca79f8cfe704850d39cfeacce0389c41f45e1bb2b6921c758bb7219a1fd33e93a0e990abf736eb358e272c9bf33d33d511e17f7457650f3f2dd67330c2631a0b754a916b40dd021d00e5476adba99bfce8a4faa825a8f3dc950797ec7b85761872bc03c56866746d87526ebd5729f349bc8dc349 +B = -676d85ac2307ef3bbb049b04f3dd80a52c87ed3cb0275f6be0c818f5bbdcc13249a462a1ce7313acba8fc265b6bd6343425b2fcb7d6090a921a2a2b3194e4a7b842d6801683bcb16c7ce3fd7d75501deaefc49d0a219a07cf2af4a5454467e0b24dfbf8cf56eacafa69c78db266910243047c16a162dd6fd8167f3d755838030 +GCD = 3 + +A = -174ebf3591f5a2fa379b3cefb9b7cebcb7639ad8850e267358462b9303ebbab3e62c5731ad3c89331f3e1ff8df8600bcb64d93caf33c775c69deb2ace4556e634dd4058951da7f52173a1beb37ef159443d9a0d65a8ef4bf1c80cfe2c759633f84fabd2c7ad26faeb02607786032eea5c503aa1da0ef7849dcd412abd56045e5 +B = c7050c87f19d7e800e48ec4183c019b2169ce690ead0f489a6020012fe0f4703878fab5b737e1c789890dd92f1d295902beaa1ec921b5719ca5add72d0c9712cca0921e32b978330b5d7fda19afa4cea9502f2e2e0bf361aacacb124e8bcdd361c28e288a7fd11d67eafd8882d785174b428b92decf2c043861f55b851a5435e +GCD = 1 + +A = 10a05dae8781376ff398c34ddf0d3850e318f9de536a5878d7a165df108fb03b0c829615ff47c6f0410647bd4369f5f073f190a5f2ddcb71b20f2b513fef58d41ac90b122e5e6dfd64555a9d2225563aed21e14356c23f3cc3212e6479b8e545289b62bc70dcdbb78a21abc12186394770bd7d0d34493659cf0b5693e7512c38 +B = -19a0090083b5b7efbd0f98d035da7d7bc15246f0d7c91d51b0505ad73c2250cf85ac64267d0c91785b4cb9acd828d1a0bb748136a104089de7d3bd4668a412861de19878547472357e1a0402431252d6df29be8cf5d05a248502e33a85142893e7c47e492c988d5b6c5d8653cb2f683d93b3dedd44a0dd06e635273f8d66e455 +GCD = 1 + +A = 61839d34940c97acb76c21a22693240078ba28deffe1702a19d5a10e7dd2a405b6c59d88001bb271da25274e444df4978c40a560a94e7e80cdf2956db23ab77f6560ebc7950e482d97837dddf15c7a1d8df913c58f98974a8f4a622714c23af0374fec49682907fe4737234f93c38c8fbf90a0111e65c4caa13c1267372a391a +B = 7810d238188ff40418ea2994e0f0f095e699843462cb242799cb00e96e4b2d8d81bbba9d5e3521d24287665eafe957be5bddfefe3f19c5f9d00069049ebd1e586e2b41aa4b975098ff274441b579b0711196c4d581fa9f3e878075f9803d4fa50bd5b404e3f91b3a98713c5f28ae95182e1fde6e9b33bd2f2041b2abc84a084f +GCD = 1 + +A = bc5d1252908108e46370a6e6761e7744f1149af2b12a7a4af8cc88324b88f07450ae12173d6913c94448204c80496bed008864c4b8362b1ffd2858a25fa47d2ddd511d3d330224d4181329dac0e149d161ba081068c991c9a8c65a70eb115525fe6e3b17e4c2786b0268ca454e5f72f39e36f8986a4cfdd64b42a3dd77dde4c6 +B = 83f26aad6b361c2ca5143b11efa70709d19d1fafd99b21f65e31cd71303c50fbf5c6a2d1deb48490d96092bbf63e555544eb865bfa35db8ec4edfcb07bf5e0acb91484c1c6f103068dacefe42b01276f9f5731e5c6f2b67472dace47544ab93920574e6727613af47b99072e3eb1d5a68a1dea6d084432c29d1eca4bc5251ed5 +GCD = 3 + +A = 43cc14a533879f7ab876d003a5e4ff19d5155319911733240d2521512c850c292988a2c69760cbfe8a5bd138f96de7d2f8abe799041f94c917dfb7a750b55cd454d12b21c561181f6ebe15b899511f10628fc54778698a5a4f15bc9378b4e7491ef87261f0a50727249c7e126e21cc20a36321f9fca9669f1058a8bc7896b115 +B = -1a0862d017459bc05010f63d69a30fe93753048e39a3af8be2918b70807160b0056dda9b2463c39083bab5521e7e1c89948586d29a58c545b2adf560a7e4353e609c62adacdeee5cb428623ace09631e7b5122dd129b058959809ec892f78fe315fdf1552943dca104346b50d4de532866657a1e4d829f95bd6b83e6af45ac49 +GCD = 1 + +A = -4ed6004e462fb6082286a72046efb94f9db9b7bbc1a4d1c82db7eca267092625d0325a9e3ad205c01e765b325dd86c4ed0fba4d58c02c0ec7dbdb67ad11b88d4c96fb349ef3058e240b6491948aaeb1023c74f50d3342411dc56c6ce3ce7e84c4cde0c849a197d9f2c58bc97f13939f13553f9fcc6e0929833901679d9e79748 +B = -84fbe26c9e0739e4228a961649dcf8af26d661392008af3e77c4a454a90f4e47ef99c277253f439678f0870142a520fc5a365671790b7eb8b8215410a0fdc95304d1f795c8fed0c41ec208a7e544e98b16cb9268224ebad34124b2d31554320ffaacdc5b3eec2d6a17ecee6adf8657830c63b21ea6b0d9aa05bf95bec0496d78 +GCD = 18 + +A = -80b9486fd7bdac1ebc36c5187e21961bff9196da51b0f551f3746fc05952fb2277463ee44a97d16c0f7a8b02bda7c1739eaae39514cf741361c9b28b11f54cd0fcd198b5cb5208a910de0ef328b17ee2ac2bbcc87cd9f3226e155f4711f933d61b2eceaa2d57f8b07d0c491c399f727ea42297dfa9c4f181ef9a6b746f0200f7 +B = e5f39906f90605bd6de11c13fa9fd113c3f0cb852538b68101fb824ee36f28864b12242136c92bbb191c19259d063ce8205dd101c5400732b82584dbec0e51d2f14f45510c62c5c0ff67089a548c48b66f2d9f18f19628fa2b3e49860d9ce63abd1609ee6cce54cddfb2d77a4c848620fa8e1d1621552c00aae5a31afc529397 +GCD = 3 + +A = -e8f32f3a30a2eb10d994eb5cd0bfc247661b24664d5e2fc352e336b23a5bd394c7a3d482b3b69a6e29a0315bcf9229e85a2fe62dd7e29048547ba47ad65abf56c20f7811483ca98a061ad7273676fe0bb5c839ad477688fbb550d008012a09c1f69f11e94a648c210ecca207d0b4867268219f13f45b5edcb2a8ff7067d9e76c +B = 7a5e98f36054cdeb7498273fbd124659973ec0df401086601c8fdb869785831ac67024c9025e4a80a496c06824758efc37452fac0cef83ff40c36cb0b60078f9daa70d4570375cd0d86d74986536d46834aa7623f9ed64c2d700899d2a9f2a40e2c8f2ad967fb1ae2dc49a7b29a4db3542cee10cf93a6fc6ae8a1b87024a0f20 +GCD = 4 + +A = d1541dc85654fc89ec4ca1de9406a1d3a9b1b87b02b81026131b99991db35edb82f245c7c53bfc6d4a1d28cbc27496f3ed7a90bffdad4abcca70a39cc4adb978811d424db7604b05cd7fad0f513421df67dd5ff94666b60ae73f4c0ac4cfa128b949c04b25dcbb6a2f218a6e2cf4fdc440be4200d36442d5433756eddedaff4f +B = -d4db710b33c51067c22cf349399ad31f43f95cca082856621462a9cd3928f1f9fd09f435e04569702e18fb3afbd71ccf2c4b29541ad36a2106a2a2989b7334029740d07cdbf289ad33f04ce81431e5a401cfbb762a69c2279a2e60a4ab7e39a23802c9b5a2729f0549a5951cd74d7abbcc13b80b6e3bd17a59b291af81f7feef +GCD = 1 + +A = -8ef899beaf850c3c2010f364235bfdd5fd46060991a5c189d1d77024cc01a616265429e414af6ea0cdc3757d3b5e639842f2521a77f43941a4152a8d277c570194d88b15f713429faeb550efc0a1ded4a9c8e50a8b02e52d4b5f5ca069a61b6cd4b65f3201f49f50a91c60fa38860a04d0a1727f5e90f78029ce1d5838b79002 +B = -cf54c2b60bb0c9d95d52a8c5b75af42d2091861f34fccaa7e56e54e0e417def230bba28b0f32fbd9f68ae8f94b3e2a279e2ca87cc432980b0c6e56a66825e01377b8d88ed4e8df6ef615565ad006a5fece2475661cd02ba2120210f0e970a8c7cd2bab5069170a6613f257294ebd914787757b7cc5890ec5041e0e0aaa1c2cbe +GCD = 2 + +A = -60b243ca9b36e6b6fd48323edf6125957cbb16389ea59db94cb990615f9333a64835b1984d4c21386ee83b626d0ce93ad4c2b92d5f43c8693400f7d3be1320bd7ce3fc2ac84ffb0e23b8c283121c75ee1ba85e7dc0c46d8a59b19457b801c429d86e4ba4fbf36c37475eaf12b813018a7f793806a3d5c9561ebd294cef9a8568 +B = 738ef7b58be6b1051adffeca03c058b5a00345bf349d324271c8fc5ae6a320c40f9ee4ebd1e146e078b01d2299c031891e28f0905911aec07dc96a22c776e65e1fc528220e1790c1ef6c734c50c6673a255c4c2e441006619f85a2a79532fc565a3b6ea744fb4a34039c1c396e34a70ec502ac38a7e63ca9adbec823292f7741 +GCD = 1 + +A = -733affaba63caff2a964198169497944099f9003261b051f46e64f4651d3b164ee764bc66b3eed8da29622502c40295d9cf02aad043892f4ffa61e23c4d0274f1fb64e104db53e2574cf6dd0f3f6aea4aba6a74e6775adb14a82fca016d32bf55263fc34cac209d39b86ceb90c7dc2ffd2626514e106bd827191236263c9165a +B = e4ffb3b307dc57a949da31c34f38adf9c613880f52736164fcfc443f7fc77fd7fcb12984ab8d18c16e7bb69847ac80cc3b54f2441866e5769b5b137acde112e808619c2fb23dcac75ea15b0ad06fffd7b2a3f00b50390b005d5dc42992da236c242c0887a0b8f518578b3f50de2a4dde6cff5ad8edddd6590b75c8921ce69ae5 +GCD = 1 + +A = -8c97c1e3b3de021a55e8cec46a29d8d4eb5d6d46067bfbf4daf42fb1dc355fd11bf8b7934fe3e58532e2c3daabf4c4ec11d8450a9e85e826f59d17a049a6446a2d38865634182e4d5338b084a72e30305ed51119495097a19c2bd16c63c185208669b32c72173e911b3ec1d2327591b7060acdaac473e4d8b1b77b16e450d6c9 +B = -3e50e9d30bb5ef2fb3b1d81b5e5a973df2f6bc020fc6ab0ce4393ce5d88151e399a0e888308133315f1f03538c8e0d4c8d75c25fa635f7e68105b531bc40b30c0c2361bd813ebd7a0c8d599f56f5c3a39f829cf850438d3dd0e33e7090d8fef1d1206a98dcb4713a818b1b9eed3872179851ed54f477070f00af38f5ef1d775a +GCD = 1 + +A = -8229f5fa645c9c6801e87025feb3fcf0832db4c07fb42aafa583f965c6dd920c54336a873f6d6404d412c81d3af64671f426c98494557929f4ca24b0a2e5621a35c73574c6e10dbf7ed7f1ba9942d5e8ef6edfe0b7219cea78ec41b24d07ca50857abaffa89c3e9992313bfe8d649758613821496a4be878f9392bb2d60c9ab2 +B = a237b3ae870bec995c99cde0268690a5f23171fa2c847cc2fe348bb9442cbe3345298de3042f1748a9d1cdb2c1eaeebd8d8f6f9bd40c858c60a846d7b3d6d5b85f02a657d6dcd70565e87b36f50bb153a13bd1791038eca8a9b796a6046cce7ede4f654126cbdceb8ef7396f9ef0e065d67d6e1a968a18f414947c36a3c536b0 +GCD = 2 + +A = c6c178aa82e1c2f9f68e8fd33281941348c5099e2adec7486ee5b644916c543305b193a9816c9dc9da8c81f78a02bb0b71ba8c54cbbd9d4ae9cd58e6f667cc00643846fc652e63681af64e59375211e81ee7cf9922e93aac34988417f8f1c87ace781892f8711068161b2efde557d0476bae43de602a47fff059456d92893812 +B = a0f4bc90562601eed2905f4dc02a531b7aeb0bc6ba32df9d763e42aadd46781f6dd92f7fb4ecd1e32fa3bd828d8140f2cfd89c0eb85e03756aba497f81d228199f2f698e2d4f9b53b783c152347215a145744402d89cf21791c2537df76a8ea4ac45775a2ae21ddced0d9bf814e2ae8d75c8efdddf3d115e078c0f1c914ba78a +GCD = 2 + +A = -500005757e01917b74069287273a783792ccf6d9b4e9c7d6044ce13f490053af844f0b01b24455156d5a7030af1d4555f0d9ef12dafc4dd6ca3b64c91eab5e3bd974df5920753cbb5d98adbd61c24199c3396da16c8ea34dbe09713e9888dd82be81b881561a7648ae21a8ef990455bbd6aba81424e99087c47d3c48a06b3320 +B = b3c8b18af39f8828d8fe2c239bc940549e994cba15548ea15ce08026466d0a5c6d1929bb87437412516b57bdd9cefbc442385757035f6b92504edcc6f3f7e717c1e5da27c377d326d66fce8e45cfdaa239b9d812ab7b6fbf0e8844f7ce875b257a0b687d5cd6a6fb800d4e07d354fa13afb27c03816a2ce1713c1b293f4b5c18 +GCD = 8 + +A = a38e1b6cf1b6e1b54531b0f90492791212ad5cc663dae74540899d1e3a1101064d9a0917cbb766e7d78e467088ff3f8537abd747a880e6f270fd906a0344963dc9388cfc3b2446c0ae4a23018f49574bf0665464dc5ea9a3d883fc7980e691e4a41b41dbf15051e5bc65b9bb05638fbd58ac1e4b954b6017afabe2cbda088dfc +B = -b5208d9377d780fdfb819eb1ba06e5bb41b1aa8f9a0454028054007d0392721f6d33c00d2fa59f203a02033a801af5b8bd7e1f01ab94a6a5212b99c9a86fda0c5338762a16c948cb3ccde5b9502eacc7a463dcd4bf42a2cf7bb4f11e40783ec36079ac2f467365bb01e748244761d897342fafa0fa4a1c3a9bd42b524cc35933 +GCD = 1 + +A = -3d16bfff0652d3ffa3724c505b999fe53d2c6cb93c2e1b53c964e87d68c3f9ba4688d968441a6af844a534f8cc7fb5701ba2666d9a0cc5c03b50cd158e39c1aec247a0af8638c1089de26695a1fc3d8b294570a9c7ea649be4726e80a4393f8a753b9e8d03e4a40a3df046c64208c72784ca67e451dbd322b8401d1150ead3a4 +B = -63afe6005395093b7fe182a0054419c5c2f4e3724da3fd3e99c91d6166f73b90442521fb0d9f15f506d5458fa104f4f9921b1745001eee3cc7ce3786e28da529d21e7409844a9e4e9c4726613eeee1cc573c9c8b26ef9a775c2ba03611cfbb9d1089f47426be6b3c0c6a1991a06d051230a25e12c94d6532dba66d8ea7afa540 +GCD = 4 + +A = -5598f5c9e242569279c3e39d7d1aafd068cd314e091419b6752c77aea6518655a44958ff980898642136cb68ff8023efd6139c9aa832867eadc607598b3514b016392ec831abf678ea80a4c845475f180196b4e72d8e56f04f9f7d4616f1194dcff5265dc7b70d399bbf0bc1328ba4311e40c01054d167e568c8c7935a7ddd97 +B = 62521775d4a8548ad2c69d6e8a5e6ee2dbee7eaeefa344979e7fcc275de18dbea1ac9d3e232b7e8e0b6dcc3f467117f6a9767395ce32daac2feef7474349cb2529334e7b1696676f6ced8d0cf4fd7ea3ab32d50742079232419583f239eb68a9069e837f6bf60bf3775552fecb1db529994cb602c30f4ef3fc41b2f11e21d994 +GCD = 1 + +A = 816608444e008059f116f9fcf67df60560f4acb07502804983609ccd9fd92662b8ba78b50eaf836aff2eb3f311a9e96995b3909012503d321d7d0bd72f5d8314afe3c23b4dfe9bd40cb55d2b1c5b7d142404fe2f8609f16c6c3498dc3485c3521309da2cd0dad8fd10fba7ddc90d632e01e4f03924e762025712d192cfd6f412 +B = eeaa92e3ffb212ed9f194689fe3458715e5e43fb0796ffe63033cc5cf3a070c71a31f57e3333e4de9510a8679685ab5afb494b2d61c64f8e10ca89bd75e271d235bf6221913c14fabcd35204e72ae738c43b2d80a7bd7d0aced8d292445a85a90b4afe7b0fb8f12382cc4c3a75d306b66dc61a2cdb49ee52a19150c6462cfe07 +GCD = 1 + +A = 5c90c251515c2c1cdfa38a6b7b9f58ca0f6d31bb868774189cb18edac9de86114e72108d07d09541a651bde54f179ef022d77ab15045fdd65e791e1be31375799d497019c9163d16580f67010344aab3829b2ef93abcaf62be6bfa411f04ccc0968dc42a1cc1ac004fcc3957d91f4a970088d3bb57e6359c80d4b9179b5e5565 +B = 92d8ccc069e840b3fedc5dbb0abd6fae25ee702793f42d9d3dffa73e724aaf52451a525bb5e0c5e3c019904d3577c97ac47561c237dee5550f4ea5daf6fc1fb21bd30583cee44554770dc81e9ab41a64bf7fdcb48eea17af80b348b4b0ca8c90dae675a7e216cd50c05d54ba3c1684d9adc83fb99d1adb99793651185e5a1886 +GCD = 1 + +A = c861db2bb040f3855e42fe369139bf5e8e01f03cacd4e4d120b1fe14cf3e2744efa751a661a882e993360c678fad65782c5245e355d2539b9319a3c54e0bc0bb1f3c2f6dd7af7c206ac4fcfde5daccd5ee4152d23fce78ef8f6c7fa3b475a2bcd3cd9b2b3528b7d6942fad89246fdf51f156f4d64a315655fd02ab817851bd46 +B = 65f2fec5abe10ef65207bcdaac8dde26be064fb559e73e821573416594c8348e48dbec702f5d2cb44f6c3d74da8466bafc5c470fd3bdc8fb1acb9cbc8f7d2236fdbce057fbf4433f02b1e8591e14fb06b66863a48074fcd0d5a1fe55ecc525e59fbcb08f937ba8ccb0905f748894d35e3531a5921c1af9af1ed3293273686007 +GCD = 1 + +A = -4202ba4ee82cdcea8ee6df869fb9444ed38b1037fd137246b138cb8f494b5c361e24d620d8c7e6b269c72c30150b34cfd1d94d912676e3b8d275b91189c0969781e508e478232288c04a0ec7c4405b144d4e83aa639fe0caf6b67cbdef8c2d8ae56d410136c23ebee40acb2ef56e3be8e8d42045e728a07aac76e991032faf1e +B = 95c44b59395040ef34bb977b84eb0b64653bd3236a7c5ff729163909f85ace02990dd4c7d97bf7bec6c72db02c67c66606678f7ed89ad962fee26d76539d7b45b658c613c75ba9dec551e47550494894f4af1f384a27ca0eb7e5501dd5f9ea431f14c83a170c409e6a87f11b636f6f36a7e04c28c3a869d54873e0cdc2bba09 +GCD = 7 + +A = 30db8ba02221849ec72ce02129ddd99f029e35609b432ac840d9af5a7c1ea2abf54b82652486733fb0a4b11bc40ca6498407a3fb5438f5a1c663b722b1b1232c2babfab2b228c309d3893a9ad23e5e77753da94aa6fb5bfb61167529f7a1b5b7d8110abee949b78726e2008e775ee71f94d87a327f897ea2f77951ff33d60cdc +B = -afa0403f5b009663bb639424d9ae0313d004cd2aa148d0e90b0e513eca64c4eeac3f45894ecc31fb39e74f6296abfe9917a77e5c2c3291d7864375e9dbe600603707afdd0d356b8b1e2b23f2423314be614302d27148a56b0a62abe48f52c19b8b1acac98311ddc7db9ac20d8fb296e331fe2d752617ca5c4542dd89c1d8a235 +GCD = 1 + +A = -f84afb555df4a59e9ca24567f9515e0cfe5bdb0978346024b1bd901ccb31e83d2cb3e6ac9f815c4b0cdec3d67063f28bf132f9abeee6c2e0c607463f12206776e344fcf63f18a1ac1f3ba15d10a7df881611cfb60acf97a6f37c577ba1022744862a1c5df18890667590476963db2aa8c40d40d7bd1927f475716f72e8978215 +B = 5a49e2a60f0477745125b1f1b4eb64ba6999cb07d09afbc3a718d66af7804aa0d834e0d654314f6b44cf7c8f354ef695bc363d0580406489d04de1490c98380a6539cf1c145acdbf9877c8e59fb53acd8aecd8a3a8d1509c69899b75319eb252f0f5dbdf544fcb35d333aebd162adccb47533e6657d1f04cf41e7b79aed44069 +GCD = 1 + +A = 3044a938a096cdeb4d3579789fd1a15d44c7ac60438f40bc6efde1229f7aa287908719473ca590105c5c439b0f9b341db95fb7aab7a50a69214d987e1b73bb804bc7a2fb47422a9ca06df3e6e73f0b875d35ca15e31281b100401b739b6ab1bc4657c32f78185e07949186f94776d83032d8b5de744080e9fc98287141a151d +B = -fca7a3eebf0e4bfd851ffcccab2cd802b971d251547b74bb7cb8985cc1d681d67528635109ccbb656139b16bb177cc8c2fcc71f52df44035ca15341cb208643abd78979208a3a9874473d78d7827454df0bb04ea92811afc264f08d28a6d6e5537b042d24459816a35edc3f549481e6ff75c74417f680e273c54d794721fcf8e +GCD = 5 + +A = 454e13f0954930b3ae6e2dfd34c434ed6d29ffbc4488136d1bdca898b220980c2e2c697ac95e8e09f4d5cce2da2494c09db889d2e4ab73e2744d6729059b22fb5d91b9a592839ca84afe0722cbb397c17eeb0c8bc8477592a38892d757ee30256c88f78caef2427b5763be560c6d92b5b944858c9df191dbca884d241743074c +B = a9b93a47d05aacbcf95ab7c94e1b35842ce8d6d9cf3cf163e7634e7181fb8d898bd830c2a450f26ab5bf01861845edc3626422f821da53ec7ec2720d0567b2a114c131b7d94454026e9dedf722fae83045ea7a735856b492aff536ff8826c2392f862b54e28a1b004b1be5925c44ba8a536002fdf6e3a99af04be4484a505b7b +GCD = 3 + +A = -39da7ea5f607693f629305109147bd579c48503ae33261e78fb55821fcb51f7de1a4f11275b8092baef9e4e782235f75638e56c223ce17c5a168709284461bde012f99246e42a90477dbdcf0be39458ddffaaf2266766f0ff9b75c05531b394fa134b3cd9e69fdf38aae23748dd21c969af1b7cd512311ec99b2eee65d4dee3d +B = -505797fc6134c0838b6c76401bd7ba25e107bd2310d0c1cd6396d03fc7bde8c7f847c448b1876969f91363157739c4b16e71f3cd917b3924c9f8f32ace43b231458e77ca8f6e4a716f300b05718cc92e02a48203d8ce12dd8511b8c8f395595fc0691a4fa2962958a55cb46b84e0fe3fc2ec37d5ef1b6b9599cf11edff254ddd +GCD = 1 + +A = a66e1450eeb5e973b2b7d3cc2ef894d252d5aae380ca8bb6b7efd4d79b89827545dc96c4327e19dd918429fb293eb976a8bc74c55548392a1135f40863ed7e7cf3a989d0e9b0a1c9227ca5df20aa5b67506b9f0d5bf29a3ca566355cff7c37fc55eecc95873021b8d81e8136b806231d8300ec1551b153ab6de25910314c8c3e +B = -3d5907a265fe552ffa02fb4fa2b786f8540d46f3e8cc6e0cfd12532a14a0c4b25803cdc1a4ff68950226451662a958f16b158f16476b4bc7074f08ed9846993975b6c70fa10fa64c3c5bd8626297c784534157f120989e53ad8c7dc61fa0742aace310111912165aff92416b03a29b34893efcea6f63419df46f713abe701963 +GCD = 3 + +A = -619b87b3fa88453527005e0568d4a1e69f33072bad4093732d4519af4345d974ca845bdf225012e6c9520c30fa1d4ddd6a4da4e724e32713b134b09b88cba5461dece95e19824e105d75ff6360b319b22c8c8807eaebb118dd1089f1318c386ac6743920025597964e6e9ef5d38dd979d312eadce887030b029cf8fd2bb9f264 +B = -84260bcd7657972590f32e5bebb4fafd5622f9c5c0ea7d14e31d5e040300b04fe17fdc8ce4d33e20ffb11d923b8109d9b2240284b9c929dd99182fd5b9dded803cd2e0df7c5aa0aeaa3a37c4ba755b399cdeec569f21ca541873ee807771bc02a7106fe1bdf6fe2ce84e1a0d8dd67f5f99b4d6328621631d26441257da14b0d4 +GCD = 4 + +A = -7f0fac4bb9bbbcc4a996836bb8d21d4a17a77b17a7aa5078b8948bab72ba707e714fec911988b22f3ccc912fd1b972ee9846a20666479a22a4fe82cc285c13528117004462b44a2a9c60f51aa3dd360e64009abea5fde183d498a00aff0e763d821d1b647cbdf55305be9ca2610a950c1c9b9fc71abf975cb21c208f899bbb6d +B = -111bf64821ca5c6654ae4c11ca1b0f45db3848fa0ceed695046ac4dd46d2370b31c49ee104d98de64fc2392507bc4c73eeb1b721bc90dca88089f856ec584f8c6841ead8700b32c26870704696c3800ed0f0a7c4781f686e48939f7f09807e9dad9bf633b71f7d93ab2b88d35353f9f15ee2b59f126be18469820b6e7288e952 +GCD = 1 + +A = -d73352d32f5009fafec3e83e40550d6bb5d5e55ea5ad4057531a8ac6a5999d10ca2fc0d02399b09eb9cd633728a34cae68eca6cd59d9028c93718aa513ce473574a81dd15f49c78f9c0d143a507619ce9b4aaa8e34f99d427e69ed18d5e019c2ce434d159bcf8ec687ef7a335fee06a9375f074ee49f00c27acdddc7c900c2d4 +B = -51b25820f5bf8d98b397bc5b13bc5dc31bb3bf0240b469da77938e112fb53291750e858f4d6bc9d676b70708aad68d923752255ef6ff9b455a127c3b3323b711764fb8f0678b9b2899dbd60b38742a298e1b0663c5fe96158f9944a904df0b55b59674f3e9a142e5783df01164066842dd07ba7bf5a2fa4f7bc2c93ca96cf7b6 +GCD = 2 + +A = 6153c1de8eb590ee60cac8ec423321caf49ca270e09f2b22fa5cfa725db98c7a7c1bf741866858f097ff5522c1da7bcbfb505a8ef9fbc62b94d1b111f4adf91d7335773d09c79e55932d5de56d334de4249c6df22185e616502520c643a2d4fcce9209287c4405604463c9a95343d55393c9df09d7f96621f01aba3bcbb263fe +B = -fbb6c9d45a7b7f74e680c61099231fd6d66858cf104996eb06322babaf954021366f37b47f0a8b8ac2d1cec7b74123bc975bd2628df9ca4a707b74610e05954187ae765757d166ffc38eb57e5f8d15ead55b9f6e802886410e020b62e1bc9540791f1d87a09f2c6d402bd5ec3402b7605ff61354acd0ef41473f6478fc658f83 +GCD = 1 + +A = -574d2cf9ff62560ecde9af20d6d265abb5b3c96f0a169d23c99ff046f1420300a3efae574742e9c8cc100eb70e2711f4e15fce237d8b6d72ef2ae8b3058ee750013a862eadd720ab8d89a82951b58b82a61d2035adfc109abea315f362a38bde5fa8ecd7d51286ad61241040ede5da5bf539dc777c7e0cfd87146ed54653533f +B = -448f6ae189500de5e85a5a41edc39b9b6c9e1d750c917f843df94d65cbc86eca46ba7f68603c5f7866a351090e9c65a540ad843a19a4350cb65e989e0e0ebca7ca056c97138fac06bebeafdc33dc672587c5e98a0f390645b583434000e1bf56d72752ff6b920653f09be6130c70a69df1c55446ed75aad63dbddbc76327988b +GCD = 1 + +A = -dcfa2f0c71c5d49ba462781a383deb21d22c1b40e95d3f8a97549533abf3c00d9531a1e6f43205d77a723bcfde5ec684b025fdfd182d95db38234c368953e67974fb165322a8903d51b358fbc4c9c03fe80cae5c0a93f4beabc787b8b5a56b90784b7861ab0ec588eca15c666bde4f6d9f838d966a14f8c1fc3b1378d047020 +B = 19a441b933f2b7301a5c87f7b270af630cd4667c7d587d4953e18d33e7c483706507bef68df702e9a6d778a9d3cc84c35a1f058fad8801cbb23f0d3f58e6dc890cf236fa5a9e53961cb89042f07b942cdfd3583a6e4ec6fc88f4937c6189b4dd5c198838fd8977f268de39b6b1ac49f291ba8512ec5ece81f8a57bfd0296aa77 +GCD = 1 + +A = 2bdf5ef23c35d77343a6e5b545ce767178c6691e4bb5544bf4e5b2516a55f167823a1086f7bf8e0ea8a77f05a7aba5265809ea26d5d4b674b7eaee7daf188cb1db6ea09d2ce71f308d1ff0196d3cf6fcec018885127719d1a78ee27713e9c6c680632dc7e7fdb178f226c484a326bf66641d51cbe086dee1e83f42f5cf1fce57 +B = fdd6ecd8f5ecb061a73ee46278831b7290ae9091d0a32b0c47f99c1f7eda9a53f315ca6e9856594e642f2c14e839ff7175202f8da657212a9267db09eb9324e0010c6d72a7a10c50cfcd234b32607501b0b3b9452e68e87399c41e466b759bd08ac1fa8f08d646a008a8a151b49d487c9ac659e37d96a6dab3244c1d686ce14e +GCD = 1 + +A = 18c12b494b0f1916cf8ed47ff8aab286645b3ec752e5969d0a13daf2bee2d10770eeb6247f4e44b789492db476ac11514caff3d49d19cc3ac75d95a07333b9c273b246a08ce424b4d56d406b73a50f08ea2a09b67d3806387c3769efa7fc434a91317782e3b312591b5d25566fb2dd0f3c1bde31b371320613b5acbf13136f88 +B = 7eabc7819faf0d0c01a03c2027cbc938381b3546cb174d45a89af73aae10695a4f4dc820a966249e8c14987dae5bb547cf1025f70ddd7861d71e104d4012e92058ab2621192b1c1e0446eb852a5639821663720cee0ac48391eb2e54fde09aed432334e414e096570f13937f3d20d9b5aa939970d89e6b0130615f020675545c +GCD = 4 + +A = 6200bc875c3d4db509932873eaa4ad935b2a479078bb291132897ef445078ad2da29a94033fd909c477a868b43fc0209e5bb148b45a0638b086fa7e867a48ba00967f5244e2492b929d7eb2d840074eaf138deb3a47a4c1c97450428160e9dd489a48714ae505f73a3af06970110c3a2afd89f8c9c933531867c60969712fc6f +B = -aefb9703388710ec605c6133bf12c0624694748d57b79b0d4ed4f351e02f345c9ff4162b5931c0d4ef36dee9e666cf833523b9ad881b7e1ebf591c5294367fe72d28ec4b92ae20a338854da9c7ff33544d66470bb2072ae86f07257e59d596329a558add940b9ddd9a29ab7dac275d50552de28531eed89e67ae7275a9f082b8 +GCD = 1 + +A = c390d7788498e438568134f52451b10a0bddccba32a0274b4d939a804e8ca1e4e59c58f2b56148a04d7b769e0524627c744f76961c03c85e6f60f219c139065dc143c1c452d99997b6255a270257e83a296fd77f5044812f89ea818c54bfe1b075923286147ba3008ca05d749903b51332a63c3e0c6dbcb8b0c5692ea773e193 +B = 3cb3129974e2d4c6f4cd64475e020c669499501aba17a17b11ea6a51a5bed7f3bef8c880683a219939ec481b28b8865039d1ac2c5985457f28f96bdff900005e27e8e067f72785a5eb4fd657232c1596072ff8b32eda2177d40fe8b65f66accebc474a452c9647e279a8335ba67e2d5e95a706afacfacc04e7a63c0b67bdef66 +GCD = 3 + +A = -87e2ab1bf32647d6f72cfac20a2e4c55c1fcaa20ab76dd1234c6bc3a0a0ba695de6d56c1ef1cc81b500d6430350f23036413c56628e9cf71e62d55135ebaae0e2e7af474a5292dc9254d1eb215126f94f2b74bdb29bf486b4b85d1ccc88da9f792738ed7e8e167e88fff53d871e5204937982984b5d72a51ff89679f9ad54508 +B = 6c13ed0236912c7e5aabf1ae54178a47a9d21ee0c3924dc699107be6867bf376ed6c1d8949f1b5f4611ed539d89459c8c24c642840864ea26cf53409379a3ea7569ae7633eca1b5259104c144362e48becf00bd27bac0162f6d8b0693e8eed04e5606d4715a692273942f2fd8c27586b4453ad31e96eecb0f4b075f1343d49e +GCD = 2 + +A = 62e81a546ab83254c10061e8f8153e1e19e412306fdf3b5bb348fc7620b6813109b3d9ce760fc1907ba1623faae111ce7a0b978a12b3b21798830fc6285ab14448aacf3596dc21cb060bb71bb4fa2cc7ad52ccbd7f83e78f3294b1913628c6b34cea9f72550757297e12b6b8df548f9645804282ee49845494fa0b7ba9a59ad7 +B = 47411a2f25c67809865dbee588cb8533e243bff4413bb01ef1c17875fc3d77c92fed10136039f01113a658c1534593bf18888f34318f6c942dd34e082f0d9094a438ed10ab7eb119d5a2f742685ff1d76aa546f7f55afc9b82d52776e43a88dd9db442187039e4360a1f7544b53e3630c39f681323652e08ebb4706bf5d10802 +GCD = 1 + +A = a67bbf5bb5e2d370f27e98d964ff06d441422f7fa02676db1795de9355dd5cc57f4840abfb9efeb86f052153cb9846b82e6d133bfce07388d598faf1fe598be9ccf4ff74d8e7635031b0bf89e430e75e03be06e0e3f7758d402430ad31c58a873c57c7ed3ec290501e8fdfb6251520d483703d2aa079cd1dd07fe48f41dfba46 +B = b6b795eda9c4d88855db1f32bf6c914b9a259fbf392972f0a78158dd5be4e2df99e13010133b235139e8e1fec87a9668500f15ce2aae170c17760e76f024a468ddc6e40c713916ddec1ae28e18ff3e5382996a953e7f586fcbf18c4e3e14f58b14e95affb79905b763d38b618c6830beced0719b3d0f91073aede8a08b14b36f +GCD = 1 + +A = 60106e517082f29c14931a457aaa583fb9bb429a4153cf74d3a2e42aac8b618e2e64e930e035db9245a89ee1dd2865b2d6570feb8483a7809a174736e17d688fe913280c4ef1273ef44ed797ac9416721f8d17d4be0d5589338f6dcabe05c48b706d754bf7241dad172999a78cfcc27b46cb95f2c1e771843619d3e44fe370f3 +B = b0f3981e6d0a08d26f381b21530e4a35c5e7de444bbe0f4ba48a6a3339529383daaee7373f36a2df0324ef768b0ba9ce800babd233f4fb9e021e4ff06f96f4f4ccb04b6f5683b98dfd060c71264fad4926a2280d49fbb0fabe1c062917cf9adc996a20ec140a6fc253311b2385809bf533e8509efe7f6bfc96f874d688b74fda +GCD = 1 + +A = 49080f966745287e68b82e29bcc54fbc2df5aba1846cd31acaef733ed542b6cbeaff66b7011e28a7875b90543221949f0d9d84554a68ce146553ac1e886da795c19f6118d1d1ea3ed75cc584c1505063404a54fd7eabd3441037b138cbad96fe5729beaf8ad4000f174e0e2ed4a1dface3fb74e35c10fc5eede398de1a76f50d +B = -ee87023b465c59b2a24c7c0c31504bf2c6550ea8aaad3b8b3d20e0fa646786678a2f0a00b534d8a7e300214b31d85171eb053a5404e5d784b13f9af16945d016c2d59dd0c4903c139d581ea546d82b72384108e8f7261b746f67d2e19aa41febf2c53b2ef470410b7044d4df30ce37c15d501d46d7654f969b2c146428175774 +GCD = 1 + +A = -2f2578e32586590c8cde13cef25e1005c0f1583a1e208ed6603390db8ccc71b846297ffd0029c58af2d2882b767bc5be05d514b3a0a3addb09771f881ecf635c5d10117b150745d385f689d7b1ef4096696f1d1d44b0be51cb2a329db0d7fca98b8411b8cb307dbc57011633f59712463426b20c694828710bd37a846b4fe9d9 +B = 829c7ab5dacd008be39a74eff2152102ce10e97aa310a32cd3578d76d5e05800f8023f48d6cd71716a2e0f0933d54b88b3c16d1fcbcfebf786d6a28de7cd0308a73a44be86231b55f5377200023d432c9c04d82c09c20dba866f10998bbfbc62d14fa685f76c1db581939fc5d6812e770b7758befc37ba5e044f2a953e558705 +GCD = e1 + +A = -6ebe34f64732da4e4c6e41ff14dd29b0ad338d2346525c0b2254f8619d40d7cbe9e952c3343117ae0e646cf8e97fd5d2b69f177aa83bcff3804999a95fb5d26f3d94e125fcbe36c0fc62ab20185c433d3cf1cc16234e8176a14209560bc07f24fdf97f9e49e73ff722c4a3bce7db63d63b9f552fad71600f9ad8fca4ba644538 +B = 9e7cc1a655037c6c4e2a519426f9405e1335ef92a54ef5b5926c0d5855ad6b7e8197e21ef3c3c8c0e92d0278f5737a7335099a6fd6e09109bd004745f6ddea7686afdafc6ec495f9b10def94f0c6c716d63596c08d73ea096c6ef7fc8715656c9749dbaab2e31b29f7cceee3690b7e3ca1cd45444f388b6a75f58788d6bce1fd +GCD = 3 + +A = ac5bb94f0cdde0558bba2022dae58d439761fd6cd94446a60ca949405375cf5f5b2b98d986f7d669c49ff343bce792ef9ba87a9b415e70f2a76e926adc970c6f13a854ce5b486f929b4d29bb69f6f2068cb32ce693a23127af06ca8f5b3da0fc8eb1fb3d1136fb22c35c8d93a6228cb1f9ad6387f772a07ce7036377437cdbad +B = aa9cf693451c73a70363ed820aeeb9e54835a27f23a68c25aff34c6c3bb4d21cef73eacb85fecc51bd98f0bdbbb1cd81b8052559da5bb9fe5eaabb46307491d46cc0e60ff83fd0358b100b672789de6317efd7299f9ca65194afc220ffcb1723fcd154920526ad890e55de6b8d597284f712e984fb896a6880f707835be4c910 +GCD = 1 + +A = c53c947d31f4b3424a8ae10636fde67e80b900feb575c7d93b230d827c793e13051a58b3db0773681bece8ab094ba492d8af1abee4a87ccaa237c762af2a09d37088ebe16115dbe2ece992c286aa6fd6eab4e51f90fe4fd34f471ce25ba53b97db5850cee9b1d7749a2a6e0ab99ca0896b37d26caec5ea0a162565787888989e +B = 7b2171cf36fb8900419b63f25b77a67016bf72cd3b140e9f3819fb1bb4a346014a85038739693b7f106ceb3a9dda3c8bafb52091e6c74fce337b5d6d4549f016eecad9278bd51b804e901dcb453c8abab3c617fac8129db06b178bbfdf63970ce4604433a902066c10552b0682bf7c87a27f6429ffd9c362eb7d7ddcb4988fa8 +GCD = 6 + +A = -be8c7b2bf91b752a35a44f1f31d189daee9f1c5b91fd68be66e4e3b775eba0c920e761cdf941133083cc116469ff69400cb0341af694d7bb23a0c1684157ebae9779ec55069a502c535021df1c0db9c22d95fe58c8d96ec8c68c1b0160845567fcb4076010b28ef41d050dabb6686a4be2644b16d26694acd34bf6561651c0ed +B = -91f629dcf66ff63ea7bc22226857b49876eb216fb4fbaba1c253961ac2520c0dfa78518c2cff8022a27d890d8146fd89b2de5ce81b10e9d4fe5ae1d63fb01db53276351be7904694b7ae38c26fc35c37c4a947cbf73bd1dd17b701c3277298c600831a50c367f94d591f05a5aad66e73e2e2da4eefa0160452fd9732013597d +GCD = 1 + +A = -df9ad16c807289807764f63d0027ce58b2cd8d37e8161b8ce8372e26725b01b0e87cae054f611763adb9c5a81adad51821e03833c1c073344295b2e0b1e52aa8824d3e0a3de44f78c7531ad8b291f518f3dbb0e4bda591e18051a97b6a71c390304699d4b69158eef420eca18d4acfd24a933b984bf29664d44cb07182e94f86 +B = 53881209b54e0e2ee9d6f7ee905e8eb9afffe060708d8b721e24cdf7058be3b2661ad02707040af99e1e28c2ba3025ce2b1e37dac2af8c2dded84a5b7e90121893c393c8dcd461f77b542cb6851a7a2d74bcae1847ccc19722b869205315e5f23c80df18a6f40e20b60f926cb66ea32ee5257f12ae6d5a08e56525c8099adbb2 +GCD = 2 + +A = 109957dce99696dc3c46a5bc784623778e3a5336e55b3d5d4bfcc1ea7823606b303b0490b922d1c1c79f7103931ac0148fc96ae0ed28cae06d8d2782df4e1b55d6ed99a8efb9e4f48561038b5b4190cb4d8536c32ba19058bfcc28e372395cb81bb381c4057dbd6b243f6c56063ae0ed3b122a3c7991ef71df93be71aaa21c77 +B = -d362c327be67bf57bfdd7865641fb35e65b7d956decb52fc6f68272ea65caa59a988db0fb0094a3ade660b84e82fe54bc4b2f423b4107a9dffdab699b73c7043b561b7a913331c61057bc4b861476cbf61e6092a4430b846d353d448172d2df7099b93320af3e1940e12d001e66252b5e1dd37d643c2913a6ba791c63f67614a +GCD = 1 + +A = 74bf95ed69a2fa141c60132454bcafcd7129898e9c47517f8a92166f70f5fb8bf04822be8f5d10e7ebeea87caa43df1aeabff75c21ea5f210919e16c89040eeb919da568f91be49c7fecfbde5f220b6e3169996eae8cddc818b06b999c1725ae5ec8097125ccbba12e8173ecff268823618d1179d727b64033d080b07fae693b +B = -5e05bfae1bdc6b323e206083241686ae0dd51247127fb1194c31b0a831e5a0ff90eecf6afb62497e670d28265352d17d230691aea9c5c9aaf4d88e3cf45c8a9e18dad2310357354c6acd7d2028705ab36f92f0af8d6b975a6e10ce2ed991b3cbb01218361d54206a386b2310e49ce1c26c2998e0dcaacab6edb88854a13e5ca9 +GCD = 1 + +A = ad1b5bba8c641e28f2564e6169c8cda845327eb2f3195bc4b1c85849c086d12a03e560eaf2ade0f1a823c9b30073aef5594b06b0aaea40cccd253cb87c752252c1a5387b62be6a42f92b13ca302deb94ae9e214a263572f4df8be343da759257f507e7d095baf792d51f57c4b70614d4f0f46a32ee403cec8599589ffcfdf17f +B = 3c0b273ff69a31a0631713e98421bc68612eb589f5f6381378ebb42462225c62e308400bc06610f941a1dd0a18993c38db541e1ec6cc673406b53bc8804a9f40ca20eb42bd43d2799782807624d81799df7e887b2b996d031a7cc2f8f4905fc88e3342f39d68cca6780de50c7ee9268d3f87477650209d1f2a193244857e5e64 +GCD = 1 + +A = -1765c51d99ec0fd64d6249cb0c8548b59a4e4cc55d35e9eb68fce159d01a035bba9fce5a8d5dcf5f82db7777adfafa598c5753fac278b8f34741cdd4e36baed37d088e0a09b1ba7b6c5794c4e40d677838ce0225be0de200dbcb0b6b5096667f59dab436e1a0342320f2c64630bdc53d069269fb1910c53a2f1ce2d8edf1043d +B = -ecb2d9c6b9e4845c5ccc4ca1bb538c3b1d4b6fd440126bdc7308c6242719ccfd7ebbdfc3dabde158d4aab7858460a37de5a191680da4c94bab9d2a25a6529be585b54efec599d62d3a475ce943a7476c9849a888b6d7a6fad60d1cae786c3cd32dc6bb3fec1bdcb47edf92cf00fa3fb3a3643a1cb3db9496122b1ab88fb239d6 +GCD = 1 + +A = 544e92babdcacabfdca63c6949f88ec4ada3ba0afae53586719acefd5c9246f211e1b46b0cf893fa755945ec2a09a26728b2e35e3c09aecb8407d5d8a01eab121dc006ce18bcef5e3144f64a328a5d1805bcdd5eaff50efd3a124b4ec6632298c121adb712cf0336d6b43ecb5333f918bde61c0a2ee166079b9b193089ceb32f +B = -ec25a3c75d4d7453951c2f08a676c2b32bf9efc321fe0c3114b9284f5edebdcdc991270588bd539edd9679179e8a8112843fb7ee3049042c216f4b57d8c0a6a4d26acc7f65736a6b390975e0a5f21a1a003852aaa8ee5d4b09cba188f2fed5d71fa0fc11ce4fda6c9247b899381c88b416539548bc47b6d28f51312e15e0d186 +GCD = 1 + +A = 8af4d6588f782ff57335ebb4683adcdd2e75dda35f17e0b6f559784cc8e079bc30d78a2777208c9524843e1de365df5c05343781b65ece72b6a0795f1bcd87cf8e2a2c74e42cd7fb302e64813353aa9c08b5db4da96276346d1779f89f16f47dc26fa12e9e2eb96f1aeaf61988f49824982309b3ff88e8ec5616387b5a26c342 +B = -9213f21fc297f638959e6de8608295b055ed5432d2ada370597bb5b0a31a532bb259bb6651510893e1e1817bab8ea939c05b62a6d3d52f7c0048d0d90d9101fe6d639d75f21c22ee4f6336fb9a680f9aea0824cf898fd0577faf65c0d035c9851405255f3cf9fab840089658cdded4a76cc2cfbb40927d05f73cef4fe709b83b +GCD = 1 + +A = -40b9aa04e53a7c697c3f9b597d6995bdb9560e1943e58e976ba3cad7c058991772b989e1425879ed4223b3c9d5be48b9cf79d045305cf9952b6a152d4bac31edccff549e56cf399d1743cce33d7b5a4d777abc2828b015f02035dbf097ff09315304a1eecb45509ce99da5909454a77e8adbc072b1a7440c8f61ae443affb386 +B = -a9af9c0800dddd44f43882bade9fe97a00fece843c319004e5e1d74c70b1075b651be6eb1cad2d685137d2d66f3a5fc0466e17078f13172debc708b6c2300620e29b3f72cb1e95bd47fd67f3e11c822ede6a279ec2aac2ce0758b0da2bd205bb7d4e4b6fb2212f01269c658bc3fd70fad5d95ef82e45c1ab7528aaaf8f0472c7 +GCD = 1 + +A = -9e67377c24b7f6b9afc2245056d1b0246d4fc6e76c612fb1a54c6ca9ec33691de0fe9e8fa1cca3c4d3d45b80eabeaacec3c2281f7ab01fd2f8101a21ce217bbee62aeb5121ebad8d380a42df78432f829c50e18ed4dafbe648fbc1c6d754595a27a19b9e44e737af6b49ab47cd628e48d540f2f24923211a88860fcc3634a6f5 +B = -b35a48b380ef0f9440f2c577b1b774c9474bdde01b21313376412a7d52c6be642c21b6170d9bad7a4ba9d125cbaa9e4a87527fa0e145e8a97633613644afae42a2ab2ca530ddfc2e33632ef0a42e8cb08486555c27bc89b156195e55d3ccaa552d6168eec126485234edbc517c60af81c40847eb834c9640caac7d9e083a9c33 +GCD = 1 + +A = -1dedb6393bcfec75b54d0206539cdeef4bb141bf96d1ecde15a7f9fd82392ed6cb838df37a503646c0e9ce00653e66538f798949f1ceec2abf4cb67a62be4ed8a128221d0017c36f5f204187181937b1e0399801edc2c9101d20bc4484d7a3f7638328b842fe5e2c07487acb9531e15e54510ab42c5878b53b750867cdfa0069 +B = 164741f045a849e2cc4bab01946e57721b49ee7ec01b1ec4728f0918580271fc97bc82183b053c47c60ebd146c1206d2af6be1533113fd9b19c9e1a002941e8c843067022c4c6acf7284dffc8c2aa7f8ffd6d145af0497cd48143593e0be23c628a2a90069d310f7c81d4c398f5a7c88b236584c45eac14d2b4c33c3ab7a09b2 +GCD = 1 + +A = -cbd51213a9b0f3337a4bad0440002cc8aec8a251e2bff581aead81c896ab4f289be102f6b3c5cdb7ff48c2a8b589237adbcc5d3f5e5979bf09428242c47dfefea54b2ae0fa4317eeaa59cedcdd178038c6ee58ff61b1dc944716144de7913d36262775fc83bcdfb01fc751befb0dc0e67c4da2895979521c3b39788fd65be0b2 +B = 627ce2c0a30033724a49f01d9f0e9ddd72e8d6c8699fc227f581f0b44d70f2056690250f2d78d7abe98314903e5b3b16ceccb00512daebcce268d6ec2dc308e2d717055b351141ca9067e59541605079edf26916ed00a29347a7a337145f8bf9aa76d419f4487c2ef8b6bf78fd7501e691dc952031918036593e491cb87137ed +GCD = 1 + +A = -1638b7584c4569de34d87c6f8d034d6df0886a054d5c5642d53f11dbdcba47d36d2e24fa1c5ed0388e1a8ae0edf5237a09ce29637861350a9bb5b3b29d040fdd990008a72f49db40342f566ed246eee87c85664bb72dfb27e8b3cd09b981c31f055638cb574d79be7a473d99b57c491d95d4666d572edc5d667776c9870c656d +B = -4796bcb8d5146f6d61db50f13ae2eabc45db83dc0860dfef2ad5cad4935d97c85c04545677e552a6e904f60b24765cb2e1f1b31ad975c4e244571b31a6dc5e2801815e7385ecbc4b55d96395b60a8b57d3a848f0cedd2438022116c90a5e96de6f6b43b6930359eb4bb7f7f705af8cbc555d5e28d085fddbb8be65033e5fdd71 +GCD = 19 + +A = 18eafe6ee3100b8b79b6da5a4b5d774c3c7f9d93d323ad7a7b3256c163a09ae66ae998428c7afe7c3bc7824910d75e43bcf8a7613a6f67254cc3ef7f0b0e00beef0c68be3f2a64c9796cbec78ba0921e281e7ba36a2f55472345f30dc5e631119bf0779987ad50f38736aedabac6b27e884537a07fac6ac4f7d93bb2521273eb +B = -8e8dd2dfeb32af3d3e94aaddf05add63797c5b481bcb2ddddc3ce26acdc72a5dd5050f2a800fca4ae405f255013d2b95e6e73e8f7d2c5c6c638da8cb6924002f6364e03b9b6fb183954049097d2b40ddb3f9cfa25c07b78e6c5a9cae94424c6009d631e9f4756401adbd4b48270105d9fb31f168e237f2156225a5512e6a1efd +GCD = 1 + +A = -ec8c435e15d86278a926c5c4657da8974a0e53c506ddfc88c3b1baaee0dcb9fb85cb10e21904c88cbab68e11521dd1b31c6caf5bd89568bf9c8e3dd5a333cf23508e443347a3dfc43d9301711e884402715f09570f6a59b1a0d00a75bd0f0e1cdc2db56e046d0c301af95000884b5e77a740ef0624e1b2266bf7cdc90978e027 +B = -3bde46956f72125f03f1cdd9d966c7dd486d96d28d0cb95ca06dd4192330a184806e3be63ca8817ae3ace9ce043bc83e7a5909d4f802ed9385952e2e778902d0d9c9f064a9d1456464783dbbf2ef27ad77e4cd4cb6f45a5f365f29174a4e785ce2728f2c805dff131b0e2fbc62fdf0a33b3ec77547403c2269ba910ba9c39605 +GCD = 1 + +A = bc211d811845832e03d18cbdc470fa61b88e49f129726cbf9b56947cacd655babbf9891ed931bcb4ad30bae0c74ea8f493079e8c7ef32f28ed735192921f42e0e25a74644fa99115b8e5799b9241af4e2c5e6dfdc12426975e2a0d287d47bea84302ba639f17432bb10fd4be41ba5f666a51b51e54e37752521e1fab7c7704f4 +B = 206c5dc07062e2c92bea8fe3e60855895ba69ac90c9ef297d736ec740ab9c4b8bfe657fa6a2e53922481f1ff79aadd12963b8bc31e47fb63176505a516fed3df556dbeeddd224c3b5229cd9532954f1d1539dd249f7cf03e50705f71aa7d11ad6748c8f7a6c559b816a7f41fa51656ad87145a6385c18b02ff6ad8723cfb295f +GCD = 1 + +A = -f119636ead254672d1d9693ca78b83643e4eafbaead76a0f6a35646ce0064461c22ae899ff0a32b63cc9142bc19b1ef7efd4c1576e437f7e1e87bc6661863adb4f30ec72bc6e774d531e6fe7ccee0cd04ea1097dff2f04ea99986f0d6637ba3f6aa52906ef0a92c305a9a414e118837a169bbd5b3832a29507f3d5e8d1361f53 +B = -bdf4bb35662c385ae6e2b063761e53a84a61da4bcc9fa5a5339c1ed517afa4b1b1dbe7f41e5d7cde4864019cdbf9a6c660482dd74380cac666eb240756c462c16a4e8ed69deeec8f8a52783ed6ee1cb9cf3a13b5ee998ffff93e98d4aae93ae7b605557b5d7b509c127ed462a1d529c3d22133e26e04314e5915268f062d1a6e +GCD = 1 + +A = -6eb12dc070c7bd82172e8027e18be401672f0d5302581e678ce450c68d3776fbf785fe5c7d828a9308d9b634d5584844c46699cae03db59ca3c45d1b5510b718d2b9ff50126e86f5b7e4a35ac0662ddd820f4a61866c332fe97b9a720c2995028b1529d20ae6df83057d55ca0c47117c5752e260c1998655d648f7cd00d537bf +B = -d11cf0282527809e9918f3307c2d67aa291bf3525ad42e93968a48d9b8bbbb07fa4c151b9b1abc1201556010ab71756224f95ac70180d475da2db8d43c1bc70279f35aa7e0d470f8a9a49d85b1d652bc710f4df8ed43685522f18555e8370276670d39461edf91480f945014e3495ca921c6853ca8ef3bf7d819339630a40a9d +GCD = 1 + +A = -d4b69a6e5f61860b38dcc92b8ad150e1610af795d6664b433ded41c844f2eec34721cf2b5fc4f8a5cba9f2389fa221f0b43f743ca6e7519b70a43798cdeb05d26077f2aa5dd326782a235b2f27a7ae41753fe5626aaeff1e2ab26a81350046aa855b5f3432cf004d01181796f24dd4dcddebfe9be6d77c52286d149b6fc4d8d1 +B = -31bc2cdd2c3ba67cb8596a29802456fbe2912751091d3497810c5df6c031014d28f52b833794e131f0d41abb8012f8bc6f909907de42398f03363cd37a0db1796ae6771265fd9daa5ecf0d06de9306fb4706c94cd2c08575469c6630f53a1c694c5883e9c7d3beaacb9ea4991eb779b53291de815031a4321ea55229f2b99875 +GCD = 1 + +A = -aef1237d1e3d7c468d16741023ef183fa52d2432794040f9ddfe17b960738760fa70d7c5fff5594436623b15b7a8e3aca55daf6b8581e22c5ed359ea2e0c437b81e59d51da05aaf674e935b4a69abb07571b6452bd76f2658b6885e5ea87afe35a464b347b68148784c7a37f6c9d742afb5fb67fc99d3f195f987f22802684c3 +B = 8146d11b6bd45ed5c86913b34180f462b0bb73a41ff7a96a7e83331194dae5a0fcdef7cec619eb3178b3fe70a1d61ddfbc3c624d4cbddb6f204bdd7e1271260d8080e80e22b87d9b783cce892fbebeb0295e1c61d50b3da7887f4d14f5b2d8df7e9b2a2c7bcb14be98468321ee0b83b5e839d28169c2c5c3dfc52ca631e92a3 +GCD = 1 + +A = 9deaf6a161438426b3de6da68110d899e6307e7a3d5f016f04da2ca3ada69f32baa161f3e151f898bf681eb9ba37faa2649c23ca0d48c6ebe2392e4d813ba509100fef502167d8987edc68beda438c44129c54833907b8833fed81e177a286e530b88e9cd6c09bda88af1c3d5cd612acdf8ba7420dfc6211a870e85fd1b08347 +B = -c1de265bca486c6b43bac6e2482a8d95d8708ec0c0d6099217b9f7e9d9013ee9fc6b5bb55bc088fecd88f315ddabb219fb8edf7a130392fff10d1714243c30737d8cd8ed8f1ec7edcb3c2f2322e02e1fdb807db11f27be86b2cf42c007eb0eba852738c8c0df2796db02c368ca81bacdfc5fe842005fce65afeaefc578b5869d +GCD = 1 + +A = -698f5ecf3dc1f35a56b40813d8b38a765fc908c959d24fbdc3d1d87a59f2e6c446d2e4d3df19b76b4c3602428345de40b927bf8c2bf9e2aad4b9dcc06422d23538ecebc520c27792ea1bc5ae686efeff8c060e4c34122159be37e087951e136d936e524234b1b86b581a88632b60be97d15c2792962a8e0439712074e2e58beb +B = -15352d0ec9fede20325778bd77680b3bae3016f801bc8b9f16d3e9b7b590152995c51c61705830a62f12d105f38f64d1b70ac0c193d03c5cc1944ef70c5e0bace199914d2f944a725c5e10f1850b100f9833dbc90abf87fabfb50c7080b0e97d01aee2e118dd218119a7c6fc1098d64262f54e7cbe2c3c96d1342bea4b826bc4 +GCD = 1 + +A = f29db7c700e22f97207133e8d38f27f6756edde371c81f2ee93c6760db47d76d6b7bca6743a4eec9727a19751b46a314b7eaa0f44325b05519b6ed9fa3b3ad8e9c4749f7e00b26d2d63a1a473396bce96d891fdebf68c9b89725a38458c47a7cd51b42338a1b15cfeb58945db703347e6cad4068b57e0896769044af10b1245f +B = -2009e0b579f8e9274afaeba9a13b49a5b673eb7bdeb7fa6a80aa13aafb83dbdf630fe63330e429b954cacac9001014219232740414880cbaf11442b899c904e8d9cef92940c644c15b89b72d30f930a1fa52f7a2844a7cd24f8831f1922ad185e3c2332e515aeecee86362273bbf02b8c2a2c679e5ab996f7e352f27e6cea2ca +GCD = 1 + +A = a7e3d09900a1b1b8d220cedf76c70a8edb836e223b6fc47139a8709023e8805c2e90041e72f8e60d4a5e51600c48df624e257e166015517f3fcc6f3c652146ae3bfd8cc803e2e37ea5835cfe49e2433ae761d20bc36799e3efa7ce5f85b21741f10ecc54c4c3a1b46f927eed693edf63e0e46eda9fb7d47b18996f0cdc8429e8 +B = fc1e4e45f28cc46e4174bede7aabce0ffe6104a0f4499f8cd3b664d478e628ec2dc9435c12f729c037d9884b16f0b62f5a577536c431a878640c62b63c8871efe46c776ff0891a1ab37303acebdcfdacea92d13ae382eda3cfb015a1e52476a4caef44c57b95b19ff36797f26900b5c99f33b2ba54beade661ef4fd91266c2d2 +GCD = 2 + +A = -c514e6370b6ab52d35746bbbdf5a8827a8aeb913d0e31ea5981b3cfe5ffe9b681b18809bccd98c87452740218bfd2e79922cfdcf95f3116d722504e631e01894d697cd07047deeee8bde99c15e9dcb95c4291e26eb82ceac34e01a9a4bbec158ed58d5fa09f0f97e3135f6732650d5a7f13717aa1e8a29fbe4ca801175528183 +B = -e9a2e0cc170101b34167c20d28bfd78745964210b5f113efe83b4be3dcf5ba26a10c8f723c6563cad462fb273f36515aeb9f43361520e098e88634aa37177066d83563130874ba5dc27ba41968b030621c5ba40b07013db9f58ebca18ec10508f262fb63c2d8da6df1a653b613b2faadc344db28bb9584f7c3b0366e36b17c65 +GCD = 1 + +A = 4976b0d18f434098e97a9f6b8ba43f7d7a233ed341e0935fe051bf63d21e66635a2e16afbfde89da14e84f5ba44930c420b9d6e83e6bff0270c1704c4792f7c330ee69b5faa435ccf0a233306cbc2dca7606b343dbe7f2c0b6cb2d5c072d8f6286f208647642c1a9c08e538f83118ae66dc8033a142be65285bf9e9d07a6816e +B = 3d557ebeba586390616482db869c981aab3edf3de4c7fce05f99f03036f1b550164f8212668b36f40149129759888e12ad315b9fa497104bdcb2d4a8a2dd252127e522925ea1a530b11b41b0559069ddb4eb0a417fb890fe720bebbbad696285ea6d2929e3a3e2d0a8942e78dc20906ad62436008ae9030e913ff8260df84c4a +GCD = 2 + +A = c998e3603ed032713696e8299eed63cc6483bd4e5a44714bfbc28d011745ecebcff75cc14c1d254957bfe6a058282013d0b8553c72bfb2572057353869465861465f14e73ca8c1499eac9fe9eece96d06f288ba1b150986cce21aacbb0dd5d64654c71cd208c38a10ead654e2fd37e6ad8437e713fae84c8050728b8835ed89f +B = -28784b31434074f3a59e143f51ba6f396f91e3241fb913065de8d6b4843702ca7765c44b3730c2407c0185b4754fbe7736f5e1376cc5570e8dba8517eed816805eda098c5e4e3529c88c29eb38ee147328a36450f833040339fdf596e6845f838564ac397c2ce6e2068efc8ad6d325e82646bb08c4862e6b338c79b9f5c07d49 +GCD = 1 + +A = -ac872b02ce59f0bc1b1766cb1a85cba4ce1aa5d4326ef3672047b4be318d95dbf0188dfa2bcc5d08c16087552a3510c9f9947f2d014ae8f1c4ed642cb67a29410fb0a769cb8871b42a4309e7c465b843cfa17d6e79fe33ef59d0056a6d2fc384a485c15e32e90339f3aa216bf0ca84cb56e1faa8a648ceeec6a89d261f91d977 +B = -18e879b7555d0c5c1aa9b1cecbbdc2fc3209f215f7b8a8cf9a3f1514836b4480d4a9c113109bb5478b588c7ecb4d967601049d5a5228444243a01b623cf516208a5aa216c8cea68d5ca5b091ba732ea5eb82d9de7e3645a84d41a1ffa11dd23df148f78440a7cb943b548017e82f7316a5ffbccb31125cdba682e53d22509fc3 +GCD = 1 + +A = a135c563a95890c6adf21c575bf6717bbb6a2481149f3613dc6d6c181e065a0a51561b4d316658dfdcd473873e1dd8b96062a8aa590b4c2ce1a817d3e079c4e6b9b930a5421730e5924936c41a4dc6de3947d88f12bc2fa48910986729bb1ef31cbb154646d40ae7f2ffdc2d7dbde0a6221a8224a3946fe8dfde4f03988c1f43 +B = c85e8ed7bbf6910e4e43d5df972c1367dbf86d5baceb05ac17eaa10c83abfa4de9729e6fcd5795c15888d6783fa7da686687d5d9feefba959e719da0daa5f338c192705a157fdb8c9bbad8b58d36d0571dd9ffe8ba32411a6d796cab0db9a52fe6e2df1d480a2cb3dd8623e9db6a7890ed760243249b6f64ca5c4e73eb621b8d +GCD = 1 + +A = 639e2fba5d576f4dfc61214cdd5afa9f5eeaa932fdd7e95d8dcb1f9c09cbdf7dd6909d394e2d4485558a7d87c007ca72dbf2af1dcefa43b8056c6151c71f9f40e8d24769bbc042002bee339e8addd4181dd4b7b71693120e8c4a3ae3976af8a88bdd19edb85654563e41fb478ece1df2a68d1ed8edb7bb736bfb7cdd3b85c21c +B = 8e57c76667942360df8c9782862619eb959ecb1946fda0dba0edd02b01612f04136de81d1408e579bffd7d61ace9976ba5b4ce45fe53acaaef451b56cf4283bd7d984a4b092ba4c63dbd2b75feb6bbb4491cf14dc9cad1f4bce7bf79757fac2644949bb584b97be06db746f891dbf478598e69547ea2368fd983d03b5f816a98 +GCD = 4 + +A = -538ec7d8441a229e61189eb52f7c7d91202c730864898f527a52498bd1fa63203df7ab6c79295aad17314437b4c2e174040a7b982e36bcc1c8b3b3273e3f1d898ff1ebe863aec0ed9c2658a01563434ae75e8016fccaf60685397961562979b41d68d2c8ba6d110b145b927e18c3a3691ef3b63e8bc2b659817ccf6f381034b0 +B = -f68ed4bb00e45ffe409527a9a27676a158cb238dc73a329fc8a5e0c86f37bb8ba435aa55a77395fd82f8ed5af7988f6951418abd333d17ec3781ecacde86ef4b15890ceb4afacadef0cc30322183a39a1894c76b1f63667221d3ca5c6c31326ce16836a449ae73396968d100c919307cf0574dbc541c7ef47603ce9e29f96885 +GCD = 3 + +A = -611cc8a712dc30062e174b550e214678ec349bef5228cfe60eda8c1b318ddc5a00be36457c897746c9709e85e223089b5bb85fd2a24d04221d1659356ddc1db61cc3d645a563a202656db88eab043a82fd3c2ecfd2e4086cb879dfab9f7bfa1523f0346abe9fb672ac4b139468b67c0cda63dc0ac5c07e2a27bc2c09741276cc +B = e2607ad197a93c925b24d329cace976447c2f577a06a2a826f3345c9535152d32be9b8299fb03bb88f28e39fcbe00cb5b611db5bf69ef669e8a83bff0d7cb4ea9c135d6d4db535ad5b48701b9bee638a6dac8063b569ade1c92fab00e6219541b7e7b80af424a005fe4df9213c2c0ed018de23c88d19945194c33ba628065dc2 +GCD = 1e + +A = -b13ee553e1727723347a0b8ed446d25522bbf8cee992aa762426b9163e4605dc2641d709648f6d7c51fc588311900c1b39189ef71c7b60557c1dcb530a33f1ebc12113d292a935dfc49dd4c55f535a9f9f3d5793808b53316ab8d205c13f4f339b2d4e5e810ff1c67f22fbf7787e896a83d248bbc363735b00b6b29951e75467 +B = 3fe8bfb09e9402afde521909af5a4d329b8c377ac01666ba90ec0fad38c92c5b4b35dc7915713a4fa7f34c69b5aeeeabaa0f0c1435cfcce44b159a8ead0094e77939433cf664a97d98ec5ecfa259b91046f06d0f2a5d39f4fa6b655ddd3a26a50ec68c066ac34153e2b502c05620a610d8a6a5280a9f71fd0ae8176df518ecc5 +GCD = 1 + +A = -419b6c3b67c23b7cb7e53c0ff1d43d5f9e6e8c701808cb2a15eaabd3374fb3d3de2d60850a82bc8f18c79c82125214c0228f4b581da6127d67beb52fd833729b14a584349f0d90cc9f3e5b18feba6ae6ba251ea01b96f79be631608918acbc0e734aab99292d7e1b87402b3e4b15e43d2412e169ba9df8c628a1c18d16101d1 +B = -3927617af93c1bd99199ae39ca78d69cdffdd71568c39630e1574da3d0df4aa8025f06e9eee1dddbbec23b6507d906c0f24bebedcd3a82018dd89db8cbb8a09f7c531610bcf21bc06ff63a8dec7827dbd386475f652676fb94c454f357d6a7eb9eba85bc3f3134b2d6237dadc9586cdb95ef27ea2d29b9f4f21a0e4fae14837d +GCD = 1 + +A = 7e69f56c11bd82f0e20812c9e10d7aedfa4b35cfc3d49dbffdaf0b1cd30c2a2cd1abec82bb129ac814ac9df39b01159708a4d56ba518408f6f370545d2b966dc166348d5bcaf8c272536c1cfacb718ad9760de6a4dcef5f55cea837a6fa709226b0760d56f046e411ef5c46b1e532094666d8fa79f12c34ebc942fda4cd36f08 +B = e258725b87f6e91f0de53e200936a2eb8e7a23c2e01f470dbfcc01c92866db5fc0a1c3174287217769b40f6fec2004703fdf1dc5709178c4a5e7354806af9674e6f4c9406169ed14ae6ba2c1fa55bca7f622ca20852516598a7330ed56e563d83bb3fc652ae542fb3370cb4ab8a8a719f98730a15e32a2951ccb69cbb485db97 +GCD = 1 + +A = -b84640c3490cbd0255fa3944b04fe03453e2f87576256abc29d6740e975358bc4e107284490625f6130265b95e251aaeb6ad5b9339d1ea6e33ad07ddfd32b2725495ae19e4fd63497f89c45254e7d16742f2910b822462dc01660e9ce42a94b8c587934500057474110c5239f719e6184cea4edc27a5794369dcb32e1e852334 +B = -bd89d654257a72a48ef4fe626583f97f59391693bd27ef5654756da297131e13f2d4ebcac1dc5099d89a8476282d2e0c42c8ee4a345d1cc5080fe0796918fefeb2baa0992f3afd05419b1b50a71501ae519f5ae3b13e50456651afe7dd46e2b1f998ce20a6da5d7cba1d9d92ce739f8f32ae30a6b945605c52725ca6dee616cf +GCD = 1 + +A = -d52f37da9fcd540f6560121140a09a18562f4762ce95cab8f17c0384158cb41bb448039d6f4ec62a6e6d2a1941512aa54f33f1863a5e9d23eeea026f0ee486764c379d1612a021b3b87db11eb4e31f462523edf4c2926e4bd7bf9cd68598247663a4944bb8a82cec1c9f88839587db12f1201632b256bd92c950984a5a503a2d +B = 74558224195382da434186436b1dd09a8ebf51db1e2cd7134674ea4d140f8c1493af7f8e78be4b525ea440954e643a5e87adbc7dae0d54ee84a3414606f2852758ad2bebd748245515c4cfde2e9b2cb55461aa43200723b792b731d48919ef87af67e34fd95196825451d2582411538fac8c1f67ca9c85c0585a3145d6079c8f +GCD = 31 + +A = c04e4316bd4bfb9e9c00cac5c22ce19a5f7008380d6812ef185f1a8d3ae406548a5dcf15f739f2e68bb8597796a48d52ee2136f30bb00787ba8bbd784debadb255e91c1757b7e8df939958841c7adc95da4298663fe666bd1848553107274a2ce4d589ac1bba494fcab6594d81ba5472ecb1bdc6e1ce5f4386626f313d4ce5de +B = -1aaf10135159a89433a99fb6ab17aa6df49017bac9296b54f51f2daa01bfef96e01e41d70d4c2f2cc16a95f98a86b9c57040a3dfefa2ade9307a9956f6499e0969d912411b529689c81c77402c4a0cb3da2c1db788c0a350afb8c9081306219cafcab8315110f5d5ecd7a6f0eadad196b42801a33e46188e3b08532f62b2e341 +GCD = 1 + +A = 5793a0c1d4e107b034cf07d12fa365f3fd156c51387afffa3cc3c4eb6325f777620e5f3ad0bd50e1810238c8b6ec6c7a54fff5a3ececb6ddafb1ec70188c678c146b90e22fbd36a8c5900bdaf4f0f11348e9236dd3e8e998310002a73158cee0003abf31d81ecd29b3d349af726d3d19689e5a6fe8cc67e1a9d1a467f59c05fc +B = -6dc7282fd7c06f6e79af08e8118bd117aa313dc176c5aba1a078d29d4e925524b2e96dd2135708108dc20416c5c8d435de41ea20c6e3a8baecc0f7eef6d65f3d28e202e8c1dcde8d3ee9814e3aec2b2056ac90ec267a6295354feed30f40ea86860255c9eeed65c646618e137f2f64e2647bb5c364ee75a3de73166b85674e8b +GCD = 1 + +A = 8ca0257263d88970d9672aba246619baccb1d7d8d1e9f6bcf6048f30da9d5641d8c507d63e96b08e17e7911d0e3d8338a1a4d110d3b6f138662be0d091091add57f80ed8ae2aeee6060e4107885384a4db00b30e01e81ad20aa9d36e9709b879e46da2750b617d59ef12578d1d15bc5f534565cdcdcca27d6ce5f314d6eeb86d +B = -3c73040bd6a6bef52b10db3e3293de21f8ebe5438fa0771869d06faa7a7b113674fd331aad905af028331012b10ff4841ba360a2cc89fe9dd68b787183d0db734fec8ae9d1dc78aed03a39424cf07c2d0d139e95614b258e461951387606f59ddf4840a703602c36ca4c59559f54a53e7137300a938dedbaea5a6209d089a619 +GCD = 1 + +A = 6d700f41de52c707a7ef8692b5a51234c41869aa883b58fa675ae37be3ad81f739b9e62db5a85d48afba5bd72b3e002fa6756129ef99f52f482a646e1c4c9a946ce16a78a706626111c19e4cea52fb5c2473d9729ad40ab8bd874ad6452f28ed8e8cadcda05aa66a5456e6f6ff7116f82294dc9d6f333cec4c5ad7e94893e445 +B = ec2047150a0120ef1949869e055ff76b479e067a7a30b268178fdf4384ad8377a0d0d87e3fb91de288913bdc8ccacd05e2f18fef690623f415f6c4060b7db37310b09b5f500961a94aba6a0f752d81dcffe053e7babd022e7c3f292c2b7b19a1d2b356c202f6334df048c9d282c57eaa00e5037b6bff199554feaf3a20d18a5e +GCD = 3 + +A = -71a685c4c883c22612d50168560a95e6073e948e6973e79081cbb308fac7f0e112a5680713f901b18a87a78950dbbecac5e462d8931437c3504ef5d24442c91c3fa50b5aa157be57f2e9dadf803fee227656991f752b097162fe3ff4c1fa02d8a317bd57747ee202faf935f62dd46348e8b1592a56af9e9f2be07f180bd7233 +B = -537d956a8bfd896a9fbb603dc42470ebb200913e2e46263b5aae8f5bfef88c9a885f9f7a9cb244711f0a09536530b5f9caa80cc2484cc4ac767b65a01c77a39985116fc7ca8a0a1417eb316ff51888bab06331ecb8094b84c904fd42156a9923d7f6e09f7e99a89d1acff3f2ff0ce4bff9086cee2f38e403f7ef2a835323842e +GCD = 5 + +A = -dfce20b74c30e89efe9b9e199607a6dd26c2fcb5dccb9c1f4ca35a9182102851687daa615d35eb59433b583faee613a07eeee0f177c8eed5e26354c1e190223ce00126e96a36e935346fd9100383835238aa93017bf2a4f77ff80771c2f5dcc4f999f3e6aaaad748004aa7bb18933c1de3d8eece5a6473ba27683d176282677 +B = e2dbd07982ff7104129dfee0faadb2536de485eb101d4dabff2140ab2687ab8a4e77a3b26a7bd1daf62f5e9d2d8a0a3da5b0f136cf59cd27b6b458d8834a5b3d3bdf9fcaef0ac9b72352822f41d91518a7e4d52d63f937954994f636259c3ce13c73c7ff86b9ddebb206ae6bf8d2b1e04e16b1af02c48666a6938d80c7813976 +GCD = 3 + +A = -13eda4578a7dfbdfa46d6c64e6ba9c955de15ae21826d6476dd2322aabab0bffa3405d9d07551259ae6bb96aee9689008de3965f918841b19c889d47c568e127fe39fc1b4b6be2ef357a3ccf6aa3ecd594af7e9d40464c814c1078a32cda9f8b37e77dca34aa11ed3f3669487b1b16197f9f7e3ddcf115c08420189036deeb23 +B = 53cdfc1c082d1332cf41b228ff94364a86c917ae50b99ea2ffd55d36fb3543c6dcb34bfd66cf91acabdf5015dfee0bcca38803c6faf236e9f8740ddf1d5f74c221b8774ae80be322a944026fb1c45f9ed7f0eeda8398fe1bbd2ec20a6a120efa63f2663271cdf6ad6c14bb06dd07d46c0267016c60697f92b647027c7b10d9ab +GCD = 1 + +A = c04fa53c0df1cd8754d2d02227675e68c78389c2873f69f4eda790be543aaa67a08a728423b9df14897aa4f6132fc5f645f85f48c572800051903e4a1b035539e24340521245e3126df97df2af049dab72ef33388f480cd6bf5324119bee3b7e23f48cba93e68e7b5123e74127928abf4501814fc0faab549fd6a0a41bb5f566 +B = cc0e8fc19a001965770a1556f34883e8ca343a6d551e4787e33baa52111982149c1f2348e1a657ea609fa2768e3a01c4ea51e0dbda32d36b184477edef1ce1e1a0326af8b402d24e04a5fafffc001a9c1034e5d6e5ec3ac5e21ada821846be0b17da49969e3fd7d941d49906e75bb89ddedf9675ff7590d4371ecb2be98a8e68 +GCD = 2 + +A = -4b7445cc1cb1fcef572e342a8a461102bdd0f6cb0a59e771d7310a6d219674991797448107b9297e98af1b07afeb0395be0181c65f50bcc6683570a7b5e36ec180e0ea074155b80879163493e480aca3196029c9dbbb13b61ccf5420ee76125a61c8017b1a0f9d3543d39ebee85812ec46499f1b7f4ba313fc1c82d9d663a95a +B = -7a6c6f76ba62edd5bff66725b6cf49cf0b00d5875fd435430281c0c4f7cb979643a927962f1a487076cb1d8302c0c930dbea5f870a7d6a519960f8e135870330efc694198afc49d00fbdc024afe5e9da0e30ebb301dd93beb71b440b0201ab45c492fd7a339e29b3faef22f42819e80f161057f03ed02b1cada4f7335c74728a +GCD = 2 + +A = -7915966851a302e4b76bbf48ca4e7456cb5e39fdd050aa4a0b8fb09f89e6c2fed20c6815bb2e14632790d94dd2829762487f117fb9234a9514364cfe2b600f502edb4fca5431661d2f5433d2a734f50fbd60c773a7b356315a5878a9fee3d9d444d7365b833da23f4b0dc5f310ccc3d574954b4a0398dc872c4412bf0b80e7e5 +B = 4b971b22bf6fa2c9144d33835e4beffc4951107231e9bbeeca1f4e3d25f5e75c44205195989470ffbdf2135f22b33ee9f26455c8bf1e11f28a150dd492ad6bf1419fda88048ed3621998ec369649ceb820d99f5391736635d44cee6b06cee5b7bf2e16f92674236b3b65b39ff71e44b12252ae8a38cf2546a4531ec56c085464 +GCD = 1 + +A = -b4653953a6df9866808a1e6d02485952fa8fa5ef70b186d61f4c2d42bdb0323a0610353622f60e6e3ce5b9f39ff3d40962e31b464e1227bdcda945c35d3da2f58899dfeab9e30b7bf50c8b1f677ee5f071a02fb97c941c93781fba49489cbc3339dee3416b7e4c2e434703d5142475f2bb93883de6488b347751c382f4f4029c +B = 2e3363804655cf0b6348baf83da0fcdc2cb97c9178d8b398ae70efe00c1457ade98373a90d1819bc88e7070f733129f6f719bc925b49bc3e0dfe67ab330297b865c842141bda7f5fbf340523c1eafe44e1c83092d14e62006d883796a4c6ebd9cdc62a440627c1b65507441f8b1e94df7e85547def0e0ea7b5dc5e6dabde8adc +GCD = 44 + +A = 1353645bbfda9a372f5c7137b03e589414df9f3f70bfb98b5f10f5a71a3d859af9bfc3e6caaa15e5c9c76af0ea5dd58a4867424296ec0c09e4a6c1886e203ea38abf038608e88fe48ea94a4c8efcd4e58cdfe8558162878dbd354eb72e59df737385ba396a8c1d52228c8b11033573093c99961779c48d3c9ad991d700a6065f +B = -8e3097c84a7ee74acbdb67f5c66071240d0cd1c37377ab8da302ce8b6112dbc8fce40a3d37376774f7261d8f24035c1eb5083287decdf9edffb0da1899fd88c55d1e8bff9341331e599f1a18dc5fb93b6ff988150727ff14e83d50d4772ed47423eaddbfcb052d796b2b6459e895b71b24856d17a4d0a11a312b68f4b9618816 +GCD = 3 + +A = da8931532f23b89081fed3430d3d8f158139c5cae9157eaa800926a8ffa5b6056d17973b25449aa3a8b7cbaa430c9fc890d3b4cd9b5b7ab16b60d1ed988a7bd5a80bcb6843ebda22f4f92ba6a14cd18a4b3c209d7e5eb8767f2c468833b44dc99c0463a38ba085362d50a63a2de53a225c2a18884f3b996a0ecadc58533599a8 +B = -cb6f15d26c0885d8dd9774ff5eb8b0cddcc9887eefb1d3c3b58b81492b7904a295ea3b5ea6b9efc42d88a7229dbabf19fbaa34d3935635699bafb859f5fd620c7e625928e6ba526f45051bca802c599e61102685f193c47def95f7c31837cad8895dbf85ad6eba7fe6872a9e346da18b0db7dba32a6929d2507f0e6b73eb2c89 +GCD = 1 + +A = -9ab625db135647e562b78b028fb7c39678991a2121801ae943a1e04493f8e3086ac6c1881c334ba49fe2ff1e875a983ca38602eeadafd61ac649ef4ec78cfd3c11a6bdbef360fae04fada90d6802292cb90ad0cea6b1d03a83f200a88de82873400fe5eb6ff94a1d6c981a061b1cbb27aea63bd245a680ec44bb5e20f3498b74 +B = -e41eff8c883053e3a009ac93db0e72c495061659291ba567d19b2825149ce68887d898abf73d26058ac2dd9d7dfae7602c590ba619704f7638a9ee011f1a7e257696d504491e10e0a22feff1aea4d68051f9c1cd0372ee336f20ea5f189540990450e18a60bd525b84731e1dc4c004ead9d610758007d25f7538c23434523cd5 +GCD = 1 + +A = -a55e44fa3a49bd55b502bec1041aa0065977c99bde1f07586ba454fdc461641bca4d4c1fcfee771b7e961917ffb1cb68f7deac84e48002568a53a9c9ec5bc861a23193e52ad0599dd1a52d53ba1cfbccf0a854101cad2e85a76861a844f3719134e431b0acd1056719b45634fd6014ed085a67cbb152d219aa80888bb9c8f5cc +B = d0603fd46ccba49ec9d635f0080f9a7f988083348dd4bc584116b2cd87efe25b2e900090e593db8a470c11d0801f53cd3bf1d413d417a403639098798388af0a6f3c3b645e14ef06950dcbfa64518403777f595c87b06caa82bee72853512e96320f54869dc73d06962a9885485746a1969bd971d17f3b191204651df5fd003f +GCD = 1 + +A = -e0761ec774e4ba1f11d7df5a6206b94247f65be9298e5b808162e4d996f6bc5da42093c8453f7d4f9e5a5d10add00a4e823ecf9f032ec418adb1f57775ecc936e18ccd5b4131a26dac7f0679e9784d192aabc027f04c05758efea54204f054fe3f658f8b5293196cfc16fbe4a504d03aa20e4f36a60900765972c6869667f7b6 +B = a57dd9d36cf7cfff4f95eca89b6ed87c86272e71f98512226f0b7c8ca338da4ebbff13b7c42f768ebc7a8671dbb6f17544df6a03f316283aadc6f4686ed3381e77eb27b4a21f87c03313044df7027820aaf3353eba7fb1c6792ff4a5658ceb6ab44455f108c8f22b1ac3d5c3cc33e377f68150943b7291b072106939f99620c3 +GCD = 1 + +A = df31b37cb4ec55dd54cb1b91c8116b1e7eddef50f7d2f74ab29d83e85723eaaeac8e141ebe3fdb8411f60814e186e0a22da9db53449a7063fabecc439412d9fc50056ae47dfa9c9ccf27c656c0e5c7ea3e78792eef32dea79b9a3cfec8e0212cd220f8636f9b0134c6d76edbc7a0fb2e22fbd3d454d8534aba50aa162762bf6f +B = 38109ed7d8a9666f0d7768190868a23bcdf08bf114bc64c29527f7e3e8253fd675d98722f92a9b849f5fc7d53968d1b09a3428119ecf9401c2f7d1c08225201d0424249f9a553197e1b1010f89f2c2037d8dbf136670313c3be87e636e9f322a1a1ea99375f8e988a0bc6ca4c884b42a9047d57a053e4ce29db67aa9f1c01085 +GCD = 1 + +A = 4b7522b0e3d9b1b2e7bcc9f9a602ec5822a40d5696cb8dd88e8cc1b74a3bb7559ec470ab6e2e14e370ab7f22890c0707d07c0019bd91f097558bace0383318497d27e6f2e98d337d52b076b586ae847ec070f82594bd24bd5b7bef17443a5e1f550e4aed7bbfef7197f1a74c809ca1b289503c65822ffe25f85799ca6270caad +B = c12f0559273fc7b71a25998ba1e00a1da9dce1d8ef35e0fc96420cd0f5c0c3a9d1fd7ada87896d2f570d43be3e1788bb150cf1eb27d50d98c600bdbad722b7517046366eb52b3bc2bd89e4c098b100d323da6ff8bbd917273e14d0cf57362e7f94f4ca3f0acb878993230146ce8db6a755019b48a4b7aed135addb6a2d74a984 +GCD = 1 + +A = -f8e741bd10bc64eb911130e05457c0043feca6dc21f0b74f9c53885e3714cf65ef6ad9d199f64c43ab4b89241e675c2369a115faea49f718aa6c51672afda6f4ceea91f94e1c55df38ddcf9ffd3edcced3dd087745dacb60c0b651907c8b40bef0cb68f42c08165e51c915d9c51fc62f9dcd4cda3426f3eaa18d75be0c19d4a7 +B = af1d8918fe0250dc485ea7cb5bcfdd7f3113d46d4cbe25c9a2076e29139303e559c11d3c440011bf754b20780f41b2db031a5992488208b20aded7a5e516daac9c0244fdb5cb5e19016cb6d243eb8fb5edb281cc5f19d22af0a0158ec4e672287dbd19ee97026cab86a74b1415509a7836862858a8ac4952d42bd6027a923eaf +GCD = 1 + +A = 6dad2dc4488f6c0ab132cd6bca27b198edcc735386c2d15683a67622ca8772a476b806be8a5970b4cf64a150c7eac469c17fc8c61ed21ff2fa9eb38645c65b8632e9b4096174f6c8a0060ea48ad21e45a0442ddfe0682baac76f12b5947e99f7505cece284ae8c5b794e187e7e3fc4ddd7cd61b17d82e2d0a51224eff1126014 +B = -51381a511393f164fcdf6b17a5dce22b3e902ea3d4551551ca88e21150a6ad2191dc1f34711da2009a23578c4f6dcf76da370066cddcd4fbe67590adb525010f169087f41352452cfc4fa0ff304afd1119d377d7b3849750062e74c6368436b9de926bdd6174c1e25e1e83d02030fffc7907e6e2ee6a793f8fc6cd8aacbe3769 +GCD = 1 + +A = -44fcf777c30334efebeef67151586b2f337602ca4905e2ddd05b7bd51b24e1510622603af6d17326fe14b476f1bd44b29498f7e4573dae76e3d0acc79876cc4d6fbc1218c99da9514def99f615a5e37e0b95c6849d9b76c3a90249d6ad583ec22bf8801ebecc66fa4513260d5e1b4c65e6744964b0f537ba5891fa44f2ea851e +B = -20bcc244584a8a859a3293bb21ba5ccda6237f2598af0604f0e9c76fb969e6a1a992ec958df35dd0dc8fe37b3516319296359dcb86faeeb6ab9a48257883b6cbe2064a6215d51dae9ae49fe0aa77febb7b39f1f63487a24b5d3b48ff6ee56eb18816f074db12d6393798648c80474d9a31dda251cb7c487f58b08a12b22a9263 +GCD = 5 + +A = -c2202239a2b5b74c8bb04abf42656a1ad2601637441e6f37cf0a0759df08628197f50ac650cd4395d9b5b7bde8bc85c31a5f2dc12a11caea2f3b2b56a95f7d89d9cb5e43c83c4d4c85ccd7b1a74a7f5bea1596880f574bf653f2f8131a9976fb233de02645f1320e47421766f5e396d675e1da9ca9a8de8a587f70f8d7d77ebb +B = -b0075b95e49b4a1457bb911caf8f8bdf2289e5ca47cce4806538cbbbabeec5571f030344b3b8fd3877d562a3ea91d659a4007647d6c92747589b6ad910db0ad116b08a9c046ca77435d8074f2b1f00b18df06101c59d5f83de86fc8c750f2c6a65e21d97436a2d061648339c8336ab936412f77e710a12dea3b133e9c4223de0 +GCD = 1 + +A = 68d8ee04cf030d2566eff7b8d0cd6a0afb53c9d430325d17125010253ae6ab61aa741f296f5c4d58250de272f43885739c20ba3784b72c734a2ce9811a3aa8cd0c6bc3ea38597e1ea39457a9d7d7033ecd39d697739f70421bbbc56c8813c44117553659b0874ce8bf7e327fab86399dbcfd4a4d69da73d70c8b9e92eda660c2 +B = ba9c80adb3b324e3eea0ba07893b48da9e2fe17374a87c1a678783446d4625fbc12ac9a815e057ac7d3e41319aeae93fc2e2eccee7c92bc15c0a13ad5d6fdb057cab8594b922ac4e51c0f861b46249c9a76f7d1b9583e736d35a58b1744a469a9e77ad66ee84c8ac5a071ae4e8449559b3b5a4e52f0a457f41a3edca74d5a8c3 +GCD = 1 + +A = d068b4b23c3e4ff3e0d65487134aade29da80c0765ef74e1b2f2b80b3cdf9d1f650d04959c9f5bacad62b4ccab9744b7b2b9adb15a90d140b3f16fde0976b0c63b6fabf9ca2fa838a736a2545dd6b3d927cd94cdd1d60f7c223c41e457a435381e3ae0593bec0c08a4e6fc3f5deb5f3cc07c501007f7084b75a2a9a49d229996 +B = -5d08bbc1c5082dfb7cd66f7cafe0b22644f1487907e7c4f3b9fd41861f9142d9f0ef41088d019bc0db541b0c40b03a91488e46c1aa3c5becbef3596ad283d21b7ca531e2a2d9d9228ab64c86da9e9aa439f5d49fbcecb0e28e5c0aacd7001c756eb6b75f71e847552a07734afea8ab4ec56d0eb2ab52d4b8cd843018e97bf840 +GCD = 2 + +A = -c99b2f7ca90a10481c0d8c9afcfed463744f7a915a207d4c3a2bf182a1ef0a8792857475804e613411e9d7caf66d62c3cb1673ee654a4270426c738984c204e82b662a22d79e7916cf1075cfcd5f149a0555964a4df879084e12a297a1ebbf7653b7bec92de19388749310243bbd735dd407cda8459a4e5531b9892154764330 +B = 14181d2c758471fa2c1a213df4ef08671d3157f7582f2f4646a66b0b730c1e66bb2120c925b48abf0676b567d2f776e6d257007ab1e46423798728d95961dbcfa2529e53e985d1349b882a5a11395ae35e034cda6738203fb3bf3005c344ad93813a2d5ea49f4ebfa281029c197cef56940af09476d96130d00f9fd00f53baaa +GCD = 2 + +A = -f63cbf5915fbfa0f0e4ddbea7deab610187b6e177ab0b07e89208b9bc7523bc0b8ebf8959824309dfb546d476164288bc8e5519cb77ee7ff321e3fd3a78cae8b9b5918aeeaf09561f1a73923d541972a084af5a0bd8e2cf437980deac2646bed44a194e785ec590e998b2623a3d22f2ee57e847b9175f18b082a639a35cdae04 +B = 72b9e8cca1d38a34091abc8ae9cbf551f981d03f0d6062ca7a047dfc29fbc9846583d5edac6d99cd9e13f12655a4520352344d8e88fb2232b4b63cb82147847b6ae4834c0f6d6dee52b5f892dec5843aea7473e4acdaeb75b86e62b08e29d10b0971b1c5ae6f345ca2f1573aca88aad298b4ff0df5ced6e4c51d76d8c77ae199 +GCD = 1 + +A = 123cf2915d3e2de6a3ee109f3232a4a227fcd05fad8cc15f9717a788c88462fd53f278b72dc87499acf2e3517438be92739e04b20e129f0643bbdf4c7fe4a4982832d1958c7e80985728636ddd4be24b1df902afb53066879df8239004a0872b5760473de85af59931e0f88eb05bfe306395ac941485d6a843d95f9cc211de8 +B = -fb0bab19fced224b475243afa5c308ae32f9d9e0cc7d222611506ec1709f68757a60bfb7a881ca9de80e2e06b4ac8ab9bc95d9532eaf65bb88100ff47d5950831191a5f064e6e65a6561c4e810bdc459a531a7b9abf561612f0ca8c5f94c3e7810630e117b13fb0b443f7216935e855712694e6f6b0a229ca8a867e6ed55ad4b +GCD = 1 + +A = -a5c4c4bab4df869fb46ad8a7a3903360f71f057c1653771ef7b60f21ed31114d2909bbeee54c4c01c65b7544c75e1a8ef56f134a882af12bba61f477d2405a7e7f56bb777297cf5a27c7c3e4630af1c0ae9e8810efcee88e13638b41f130df3683ab0256b95e53fb022e57fa14b3c67bc66d6977ccb6a8dec771c4aee4f866fb +B = -aa14ceb645aa0b3d85557da7b1d43ae4d8e2d819be23d20ab7714848a955a5cd0b318f1844e86917c3f28e19ead03ba5856258e0a699566d302f474708b8a04c98b32e02dce2c19d7c5109605eeb56a0a88451fca376e6021c5011599e1edb9128ea08c746fcdd327d094280f73b0c09eb7d2cc8838830be6b82c4e6a7db2ccb +GCD = 1 + +A = c432f60292d6de79ee4d778572aa840476ee43a257d3c971868dfadfeea03e7d941c41d4911ab0a91316ca326f923f5b64c22d1c2bcad055d2d1baf94611736b6a27e09792d2bcb8405b71852583c498cd72d77fcde6e90010a02e08a9a9a89fb2a0192bb14802585f2a6084709c7d9e02b3d8262cc48521d1dc0f9ad2fa73d5 +B = a8dd3cfbfd8fe648a3793273da8b26e36a3e72aad6aa21c9c5dae89d6e875fb8e910d565020392f6890f7c5c9e266de7e5cf5b3fe071f7c302d2db2633c4975823d4df76abe3377cdd9088b70f63ed39c45decc07e0d00db5786b5a3301988d3a98e4c2c1e711aee755ef51efc98dbd35f82b06475b5377a58ac7d917d57cd99 +GCD = 1 + +A = -ff59beedc1d8bff9a050e66f43d5847245c2488f1a72d031fc05d2c88a7aeb0b161afa0b7007565448d427cc9b14212114950f12a7a85d4fd49869132d932444a109883eabc7f047941c37cd7ba297e5c101ee80ef80f73d7f682d133d9680e52e08a048a4f2451df18938f0316fde5fc6fa4ffab8be8fca298234b83c94da01 +B = 6e09e3c53c00d41adc5d33741ff27ef0cd14aa71369465af8116a072938c16fbecc8c196aaae99ae1189a3ea44558ac1e04df56de714fd331235f6d39faa42c70cee662607afc3c84d7309c231a58da226f9a2d4e40e5a6f72fc966c51aaa70ed32fede5f924230530db6b9c9707a4d6907e3d4a68900fc6156da00159a0bc5a +GCD = 1 + +A = -a0fd24f5c020ba8026c0a25208397908e7bb4843f23ff4a11707533a9e2997e3f7e63eb660516f5c7264613e70942b1336758172623dc698c84c91b1dcfddd16805f59674b73fc408b686b4e9f252b982d4d5d7a2162887d63627f1623b228f9fae8c8165804f6212cc31ad0deb8a2791ab1294a7153966c970fad32553ecf2a +B = 6fb229fe1d4135949b781d9756f8fd6d2318e19722fcfdeb1cd0a1312bd9ff93925db04c4fd73fb40462a431e532a6f4fa4b89932f022eb3c0133dab088fec19865b0b000edfb85d3c0abf8362aaf119a2cbb42cb061adec5b8001af12af505a10308ee92849ea3c51e6af24edb020ad15756081257a70f4be0e85ca829ce2b9 +GCD = 1 + +A = -a593dbe4a20fb1b6bf4cd8e49e20e808274a3e3ea125c7f9cf33dc82cecb44f028bec1a0030b951ef8a9c5d149f803d07bb65aeaee9ec0788dee93745c4f43dda5101622a8290dd17b4720692202353a893e1e9e4c52c5ebcaadaef9ca34d8ec7f3c132767717e7fc19b70cbc0b82ab5f496e4ae2b6dc6d8bf695df055fb8772 +B = -de18e2c611bff98420607daf82b544735a63bf2fa94764cf215dc6ec1f68370a049144a5331e04ea554736686a13098d885249357bb649c2d1b171ad4ca5045a78c9c2f3b4224b09c8f63733f69e1bc13d79fa1f5815cc7972178f910efa41314605a1a3c5224f608796b43b973be88b29b3844258b0d2fbcfd206f30506e2bb +GCD = 1 + +A = -e52da4bc3e5d8f60e2da877d1a0190869162ae1c04669519208d74cfa3683b6097b9a5e5553a775e96ea4d419c0defb3eb499c572e4fe0c394deab2bd4d08cdde4c855decf41222707c16bf6b936fe48d4845d270d5e340bf79360e384c119e2f97923de0e4a44252e39e07d85775ba544090d5aaf7b942cad8dfb9e12c6538a +B = 39827db4e52434a69677be69d675dcf22ff54c4572421d7b75de9168ab051fc8effcea565d2e6850fc22e2c01eeb035c892503d04165da23e29649a196235fb9da768d8391af44061f73a038bbc9c1d62481c7460e9ec5a89bd0d4af2388553d826644c9973c4b73c568baf205c08c918cff87eeba94d47d544972b56c8d74a0 +GCD = 2 + +A = -2658c0f75a35f852bb84f6d24671a7315919fb42215873d9303d004020be0428dacaa398bef0be232f0814842ede603cd7d61d7a06e6fc0df33c738a1f0de2e742bd462c757d1799fbd56f3b59a96adf7b37847d594921a32cce54dad3ea31b1d218c38c9cde8ce515767d9d741b3ac1f99201d330aabffd9d0cab11b8b570eb +B = -39ea3d5a9850d83d73da5fd718611596a2f86afaa757d6f253f14f54a27c8a73ba0ca24f08373e3b8c6b3f0d0916492905b73f764e94ebda60b4d4b79ba93719b74a96d4bab92d4cfd20b38d2b9faa63509d15ca473f8ed7a5b432d31b9afe80c0c198ae9608ab4c787961c4e707c636ff75facc899f204eeb007d4e43bf1e54 +GCD = 1 + +A = 1e9a54cee94fc9f8b860106f323b5093727b0920d963d5965662c09803ab027e6095ea112efc46736b78026c7761ae0c0376fdaacedf002cdcc6fb50858de2b7868d2bf6691efbb83ca61af718f36986536059e92f24beb5cc3a080e27f89323969abf4a4b8ba218cc4c27169dad86d14d675989cbb42fc9ac3dc9a4b636db87 +B = 1a88f27e8921f140ea52808d7d474c7377c3d2748fd3d1f6143fc6ba5b6260398b2bae9342722ab23ee578f15d8deb32a0bb46f13467bbab7c3e22485e6a7e46b59bbba9776ce17e67a15692b8ba92743b562ba02b54e648a3590d98f5df16ff67788b2a9668b8cec119aa9d602587c61b17b555f9591bd27aa5735f7882d039 +GCD = 3 + +A = 69c9cf1c4459f359a3ecd0b0d148ffa8535a4e28f13c0bbe2b61e35af07e27ce6d25258f74cc766b91933eb3d6c562bdf45190b9085475dbe675dd5b60192da7fe915798130a23a296d526d5ba4f26d84be4cb1f67b4d496830c09d178cbc0e38d2349625fda6f02c498bbbb3fdab27781f69bf29526ddaebefe8fb4d71aab12 +B = -f7411bee2e363bccf0dd48729a1e24800f74187f3f0eac4b0bffea717099102f59c526a9a4b32b9b60b28d191a00eba0bf94a8c3a7e9318bf985c8c42d59cd185b0f1d774b80a748f55701aeafb858d7a894c8cecc07877b17753079a1437e7104d7527e569797051d6e23b9dc097795ba16994ec46dbe8f9795d50c7e56dfae +GCD = 2 + +A = -16a0720f665fe6b5b7f20d9830ec2c6dcee247c2ffc3d209635cc780fa1ab08fa36124d8236b25046460fc2fe2418485849eba87adb5c393c473b319b32b0f094376f63b841ae624303ba03557a80e1695b0adf7d23cef1279a1ac3d2452f96128ea18a5d589f477d6d4e63da337ca954f7666d7a05a3c4b8f64ee42a16ca376 +B = -87563ed277ade1af23cfe99685e0ce3c175f8395e6b30348648ac34d85e789a93199ee2c63c0e9901b34bf8acbc8c34795950f9ad0c9bd9d8670feb20b684c544ecc3a9ef65786675ad9282cf2ce10e1e6eb8743d00e70cead41b6ad97bda344c603128f83f1fc99da061ef7f2e7a2a4c14d191e5772efadbe38496b3b10714c +GCD = 2 + +A = 4bf84cd267f0bfe1728bb1dd7c977766efbe0124cb138a74f55afb94118100f13f38c6013fb4c7b057847487b264a0fbef5fefbe04833e061adffa9ee8196023ce6a1c3e073fba41c73df3dcb9afc31e9f957fa70347e309b2ce880a6792d652dfa1a6285b77aad7495bffe1f4851cf9b0fd7a9b65867888226de153eb979b5e +B = -4dd4863a399d3acc18a010578d725233c93058c84b198f3a9dbd1ea5341dc6bca119248ad6848556cad6678befefef66b9b03017d4bb826e594dba1852092faa4ce944329702ca8ee5f4521ed0fe13acf6dc914e5ee8232426b4fceb7f39082e3cee3e7275f7ee24ad296dadf5a2fd85cd6d9424d2004aa28bdfffd14af494a8 +GCD = 2 + +A = -fcf0ce69fa81b5c7f869835c15ee2d264e6cf95946d75f0f040c565efdcd017ce20d0688de57e54390c931888c08d482043a24ea048192a98d96cdf0e9a5c7ee33da19592e5210247e081b1fb206cdc6e28a54ea2dbe63e8bfb9e9c002b891b42c99584c6727879781c3c208897247b3f1dec0d55fe152a2e21e77ea868b2a54 +B = b2c2041c93d8877be57775b6a519507546f6f5f5853d57b08d74f66d0f4c2812130b846c4ee689d604d43b6eb42cf8021648fea0ed42b272dee1cf0f7a4c1be591b160b0d93ed1d3e7cd068b2938af4c2eb9395c3e34e04123252544e46e3f9d20fc6323870fd4bc1692fcb52c754452f8b68dc092bfddb29c43a7dae718ac6b +GCD = 1 + +A = 4c55ce5424f2c9d6d158eb0971014be3f470a70dd526de94fadff2b247abdf5e7f7c605e7546d220438952a6b41e7d1bb3533dd10a35b34ea2c2c78c2df9f8c66eaa9b29a0c51428a7b1bb2fa4ea3330e19270b5f5f56107a72880fa69865b1ccf2ad0d64f827c3e8e91ff68a2454c9ceb376c5e64243a1cff9137ab38ebf18d +B = -41ba6b03e2853b202e23108f333b18c512559ef3bd5ff70b733c15d3168e804fedb8ee49a62b416088a9991e244b75754ac40182e521ab6cf546d75f14ef412c4ac43084890599156ee83064e7c73faf45bbd14bba3f1637522cbd1f05160a8ad03486c23df1ff4e018110168e9f636ee6b380a92c0528797226e1fab15db72e +GCD = 1 + +A = ccc54150481e9f136a54a6619f10b6492ec57993bc4b2d9cff3c6be964f640f57bca911ff7fdbb55ae6feb9c36d3a599722a37a8c86cdbb52a2688c022b58b3ecfc7e1985008853d9d0315dfea05fff1ee465bcb3a89420d2875c1d39c54418f16dac4b40fc6838e642be03dd14f0680535e2444af8f8197a43bd9b579d5cba4 +B = f0053588d2e792dc522c4aaa6926486c92402357c0408b3452857b22dba26ed5378f2e8b5cafa2876ca321d1f22b040bff3b9d34f511285675e1f04d39da0c956e84d9e140d995d81ad7c7774336ac13e64f45308fbf87e956508abc37338aef402450272369a38390aaa6ecbd0d80f7a820b85a282f4eaa3828f316d7f39a14 +GCD = 4 + +A = -571d26ad38cdb460292c46e0cc0b1356b0b5665b1ae8a955e80f7dd4887a9633f0d21ffd0dc6f0ee36c2c7ca1a45d4c6f995d9b60361ee944e908e0558e1beda07e1e9e8e88cacc1673e39919dad79802190117ce99f934f2b0c23848bd1dfd9ee7816be4c403509574a043bba1257485522f766d68cd47bb56b3c5e2ca8a7eb +B = 4af3a2cd3081a3b0c5b386894cb6a40a1075878829ceb8109a8fc47d1f7eb93faddbfa851769d5f1090d591194362e8a685efdc98d421e5780001fd8450033ef77102fe55256b80ee3cfc1c0eb02f55099003d8234b3bd3243ab6da6ae04a7032303fba0f3bb3583fb39d2744f807b03ac680e16cb1eaccfe2f00966a74b9a15 +GCD = 1 + +A = 4ab43d9387e6ae566ed27ae06a1425cf614e740b3431bc0320be21dcbe4c06cb57df34fa652832de2d6bf0d998fb45888a4926de287a7f6d5fb7d6cf544f31acb7a8431028f62583c08640be503b953b2ed39f9a416d4c883bf7b55eceeda63199e73de9dd1d2e4f950d5d01aba94a8aa14a80b25cc48f4c47b6feccaea32a24 +B = -16c55ad418506c69b9f3ebd148c406c93028fb061ef4983b21a758951d50ff8e79f989a4a9925186d527dc3e1b6eae06f1e42b4e07d1c8da988b033b115300d6c95e45076557a08bdb4e7ef90e8428a3ae9f7614a43262a83f9e73bece979a2cc7e27f73caf5ec39ffab0cf29b56fecc1bac9d15e8173fe02ea9ad84d686e460 +GCD = 4 + +A = -90c11c9fbe7d26b1fc3e915bdff70866e890fee81958f9e2d818b79a734e4e049c7adb52f3a743e47880856610711d9d07a1ec722fa5a9a896600ba0a3dced41e1c4ede945c9b98cd10ce7980252a857a55fb979a88a1414d6bea2c3b3e4854cd706179491d43de684914759b389e52921b7b358849cb76ea8aeacfe31440203 +B = -7ebaa8cde1150e22f914d2e1b8102dd13cf6e675dfac7cad948a3fe1760588fca53baba7c82a99e50b012a0bd4bd4ed8e5373d48e43a0c9929760e9aafe1d6e87b78ff34b078256e33e9cecac09e52244652ad94813ab8f72405c265186ff9d0cf3e78de1975455a81a71eddc70c84b78540909b1714d7b05b5a4d1115d471c7 +GCD = 9 + +A = -265358b6f4e45cf818bad085c3ec4eee4611cf1e84d3b29ae14f37b28524d36d08ca644f66b54de177ce8a1f7b07ddd898348849bea4feade555986eef5e3fc34acbe05b910ef15fa4f6cbf6eb25b89f58d78071ad883385a17cdaa3afcec445e71a1afcca7121c5010ad74a0e2a8acc58f1b1927b852ab5937a942d50ff9a1d +B = 33a0e5636d22caa6dc84c83bb21f7993dd804dd4032fd5cc2076e47dbf60a0189352cc83be6a29451eebea3fd033b92612b6969e997ba1c669a9f7f2a9be522a712ab861ece3657ad6c54fc3da21b2cf0581dc322dc327d721c7373682bef98de32b8b9f385ba211ac222d0d88a467d54895e00f1f9e8349487d75537a1ae0af +GCD = 1 + +A = -d37493ce7352d1f8b1b9d47db0411e7607c6b7c81289ff059a95741cb8dc12b03cff4d92092231c5f64e6b7dfe24ddd9e12820ee850d5cdc55dd49c76176b19c589bf67894fdc8f2fd37677bf5d3f0bea2422dd1ec20e1f3b0116702da824d2ebb4d61d6cf1a41b1145c73b4e528b7d4ba25215b8ba808ef75ff280bb47eeb54 +B = -7a978f71b184a07de124b64ca99577485e3b2f30593dab6019b0e9c43f749071bb46356205e0e7a941f35e601365a3d4aefd360d7336f815ce737e293a9c2f3bbfe793756d3f3a2f3b3aeb50c5d2157d1a03022fd26dbed943d0e13f8cd222deb1fb8d6a398d8ce39e61f76874e8df6cf96b77d1486f639dec86be6d96b62201 +GCD = 1 + +A = 54efebc6b00dfb7b78438c5fd3d0ad25370c7363992ac2250922525e4dbd5f306b0f28995af8e75ab81615f10909064967a2d413724d6aecc6d5bfaebeceeba7bc00670e90d66ef48bf666c47fc01cfe3813d90829bcd5a0c635fc6342cb361ca72d00601d6c99d4028c78214739fe29d501575cf7a5566cbcb1f393e8f0d5d6 +B = 99d116d93c4ef3c7e7932b1c732e027256b86acea78c2cc83176b7273032102c634f173ff875ec60a9aafeb5572209eaf75a13b52013fa71132943fafeae00453eb8aeb5aa3207a940d351d051d56a76bb853a589969e501a82a09338a58db50dba58d33bfc233c9e1e29b96bc5160e8638ddff55fe3ca9e0560f9366ee822dd +GCD = 1 + +A = -c1b6275ddbfed8faec4d4d4a097356f51c80f33e6221948c23b3ac1e04860e339b60647ad54dc8594637e935ef26cd6ff5cad45bef840e6eb02dc25fb628b7170f48426273b12b14aecf9584283d3d649678d8530683de873595f77b99ce7c7b7f9affa53a32f8b06533be3ac426d14ee754e0a765d93a83872aef21df4ab3d5 +B = -a9663739cf8ca44afa9fc318b80672c9e2dfe50515e55cf1661393b64dfa5d4c88c1ef0a63d39cb25c0e8ea93096d59d9453adb39ade57062b9c0777d00724fe8bec7a7b939e229f0b486c8c8e5847211b0e674e4ad7f770b95078284197754c0f3bfbe36fd9039d0df6e0c6ca0ee08c0e921f1b3ec8e0cf07f536c5844b0524 +GCD = 1 + +A = -ec30b08a0264800a55d46125103f0124682e34df5ee5162db1503875f5c57cde9ddda23ac0d4fdec41c463c97f6f006a1aecccdbf599e9afba7d89feb3483df3c4926383f4ec9e1158389d8759860a62d142c6678848c41e926eb95ed4258cc760dd8e713836a3efd7da1fb733e131703378f73f1e42c44bf1a6c258dec5297c +B = -7e69a3a067739ee949b17175a1ebc4c0fae3ab6109ed354e68b9cb5996572fade11a36065fc65743d886c0fc7f7322f1e5b8c452c993d4a8b6bee2f14a10e3e27757e86b2c0b6d2c4a862ebc7906be9ea316aa0d70a79dbe3764cd96a7aac9ca1d846f27b634ab5a6c53e82d216d73d08e3c139799178f807c0302d84a42b2cb +GCD = 1 + +A = -9c5251e2677831fcd399b0ed4bea16d773bdc82f28c9df1075ee50e751ee763dcf4f11724b72fed1082d460affbe4480b23d5d9c056cccf256177fa112170f4a781cebb07ccb67d9c58715abbd2b1678f5269b1ec390b032730d6040d2a6641152637377d6e02d0cd2cc0ead56d1d5b50d2583cd0fa0ea5bd39697b510e44172 +B = 4a4c65e59ddc31de1d1c449d338d736e8e3a223575e13904eb51aa8357a90f9284fe6597e1ed4bfe3efbca4c7a6932762556136428c8f005364421858dea66d915a7bb0825e1234e18d8472b9743bcaae7388319dc9aef9037f6b04bf37b1a364a14b794d1d3b8b4928515c23027d0eac67ad2ee0d76ea8456eda2bc09d5a9a9 +GCD = 1 + +A = 5004e6511781d7c0a4833e4e5a5c45db4c695abe6a6e3bfb02841607dc8f228be8a3f18a496eea513e8f1e1a8ed9ba848b643fa75808d05a962c9169f7c2bd5a890a7729218c1eb4badf12cbfa61373bd034c71b94c2f50be70faf917070cd9921911d881658a7be955f358fb3280867cdaeb4b52de69934a4d741a949f9143a +B = 207a7d2e93f97fabcdb84a320878d41b2f79d97b8736ac486ffbca7d261a906a8f16a1f6be417d49df024b84f83ee84015e4113515a8846faf6901972a5c44972e0fd82a18f83bb3279daac2c7868059623889ce1995bdfd530641565c29770221719ea602489fefca922a3335acb3b88306e1b1dba914617f8cb24296348468 +GCD = 2 + +A = 1180638c68dffbd682ba0aec037cb3326d3b9894daa3cfb02cd22f5568c7653c8d33989eb777a1acd6fa0dc7150e9ed73e40f39b9c6f8b51eb0f7e50d84183dab0f164ce14b98be6d933edf7dfaa519669e6121186e39d21357359a9a8d6017b5c57706a6cfc07d31d6b3f105281783342cf135b2e0a521ffa97db383e2436ef +B = 16b577daa236efc24a918a5fdeba337e225c86137abfda1cfce0a07f59171abd151b68dca976a30c5fe516fa08a376a34f77aeceeaa3f4114dffd0957a5e92988568b3eaa25627e5e91561b299287f10f3ff30c33086ba27a9b94efe6955febc72884007e35f3003d70b2649320fa644c92d866433915f4db22db93318d044ec +GCD = 1 + +A = -7b49594c5e44e2eb920072625f4ae7f4572bfa6c6397a76455cb4f7058460bd70bbdd829dbce99ac5a53daab8c50b25436269a1532babd83aaed2f78c6fa4e18f74341d3ae17b0e2ec0870d96df0f7a7064152378ef36ce3c5e02b7022f3183468993ab1aa309f14451ddc02ff2df5e803f4a110ae876462fbd2a328780a30b7 +B = e346503b86bbea8adc538a111859e577090de776d7b6268589f7fd5df46b6ff5e3f52a4c1660b883492399ec45c15cf7092a30812591840f90ac93c49fabc4b42919f3c605217070b0b428b9bcf2d44726e74de487553832fdc842e14bf7a074a48d6e2732fb628ba75b60f400e296f4fe6c6f263f166eec1bd0a79977492d8c +GCD = 1 + +A = 9129392d1731fca0316cc58ec96501921568230569769b13569874b56f9d076fd5a01e4f35f32863dafbb3a882697825380176cf4feb8e660fa4a9121586917f0ed71a2b68cb7608e0389d321589ef9cb324d3e2dd53814042db6238798f672f925379661fbbe339f61670666550cd198a9eab6a5d0df39a3c28438908e18101 +B = 7e20839dc334aa833593fbd59d62e050e6545e5caf0e5f380f329f836b2f98a24dd692425a89dfb4072c64716f43de0ca0256b252bf929b17b61d76f7dca91673063e3c2dcf23f836b7748340168614cdfb60eb486eba92a809efd2f9d61db25e7fa293f27b4dbc1a3c7366679d856878a747d59a0621344a541cd97ce8f0e2a +GCD = 1 + +A = -20c565ee8f7ad4b06efb713d4ae987f9547b303a2f679fa5723683e6a413be1c62e221378e96e15a4ddfc0f8397ab1edea2741ccfbc72860120e95bcebecf13d4c5a9e05a1d48ca97c8939eb73b3a46d2e0848e0e5f5454821538a788aa12034d878a10c6719e7e68497052e4ba17c559513b41448c6fd683f01b237a285c73d +B = -2e4f817928c78c2f9fa5daae4346407437c5c386c500c3cb758afb75b064d89f022b98c8e3a4b9947cc27fbe396ac8d7884ff6e4f33c1641fd28c1f69deffe220b0180cceb5029560c78b2748d418e0d2ddc22194be0bd9163163d95c0574a9d4032086122bf6d106b746dd41d6573ad612bd51472a2c23a344a034e21a3f8e9 +GCD = 1 + +A = -43f97ef65942bd5a04aff5a2ef0c6b42e744185e6cfc01eb434c41db7a30e035fb7bfdd891be1b343d527cb01a3a861d1921f92f2e5e271483051bf1b9838d6df928f807c2e8bab9af2376545b793eaee1ba14e66f97a35a3141cb9063d28105e2595388e91fbdec83d24353c196a99984c4bdadac4f377556162958063fc67c +B = 7d14c95fd913f29e8df9a31ac0a9958abe7e6d59f5d09371dfa4df674287e85740743122018f77ea23d786dc38fe5954c4b39f8170e7b0fcb513cb8813be7c078fd1142664662a5e22b7c548c38fbc2e7eceb1f42d774eda99ce5fe6adf1d25d0de9a74b0db186130a67a8c638f227f7a1cdd36ccc31e28883759184b2693979 +GCD = 1 + +A = -775be0fc4df8f50171bdfc95a5dc848f827bfc58dc101bb1b08c79240eb9de9e0aff378befd46c395abfbadb66a2c7b55767946f457e2851e47f507ad623c18315059b1e59cade01d9aaaa32eb2462be9707a0e825a611ed7fa31102ae7cf6f9e0c589c26909d803a68da529bcdefa3181074ae23c09e16b051b9866b47b4c4b +B = -a3b6cc062228ee98ecf04c67d27e6e608ef259db854667e826fb4d28065d584723da9bf3690240e3f587b7a90e70216af227a793f26669d306a4de8c10d9b564c648f709fd12a2dca20221d9ff576a9398b878a1513f96e11958da940803d28dabf11abb7ff940b6f4fa697605e9c9205d1f858e6062dbc0ac356bea1742bc24 +GCD = 1 + +A = 82a42f94197ce8f002cc7109fb011d4d839acc4d1611cf21d6faac649b94b602cecbeaded96206816c417666c74ab14d4e0cba73adc0005a891eedbbdef97651d486f021edcfb5cca1b5aaf35a91bddb0b2c19615b20201b1fb1106fea844ae722a6836d388846fd2886f45a29bc341039bdfd8f3eccca247495aeb5e37fce1c +B = -f43db37636f5f90d577e81b3a386617db7934b4a3f929e069cb98d71f4db3a786320697efe8e829896178ec352359ee411e2f42b53119297a66355b32b630cad481bfeb37e00254f4458ba006ae2b7381d556fd59808d00619aa902a484405a8547fce6540e78db713e8ab010fe09b0049d0c2254277c4bfc6fc748f3bb5ba0d +GCD = 1 + +A = -fc5ece215c712e69a60dbc15b5ca83ee381141030d155b322fcb23363aeef379b7e272c919af83f9bceb2b6b4324b6eceec94628c7b36bc7d9a3bbccd01c3aa7c0d7d4277c332d2ce8eb079b651f009d8896da4f4e6706ca208ca13664ac930fa707c1339e58aad5047e2b7d34cd7984cb3230546434f18ae2e00bacf2f1de69 +B = 3d1cfe6f55721e46ab0b4a869f354f3eb7b49a76d084f724db604d0f2d0525e7207f65933283cb2feb8131b32fe384a7023bbdda54d331d99626e16d41ece61c9df2256b8802706bf3f49e9eec73ca4a2a77242b238f22d312bd298fe643a6baae9533b8be2a8382b2b26448420644e17fc76c49f1fb47566ade430bedd093e3 +GCD = 1 + +A = -304b9a1db248f1b534112b3a62f4679c4564277047f07494ab42385755841521cec3bddfca8f3c7860b2ec5ef67128f95fcaab7112a32fc332df56f5c26e20cb7b6e338fba11743853733d8b743ee8c9db24f179c1b8e0ccefd190288bd6aadeb6c83142e4820a8546fd15e3127d9b1855fc472afd4878e2925d82c118ea995d +B = -d2d666e855669e676f59ab900e65939bd20833ed8a3510405e74178aebf3fea12630b8c09e208515acd1c199d96c8e3e42993bef315c64bfd0a06a2cad92f9edb04e623146a6cf74aa12b65a90d73d565661c340914a3b34757e89390268b9b8ec2b6753c7c0e0b39ac2071d33ab9ba605924f78229e38417863d008e59ab0e3 +GCD = 1 + +A = 75e9642a674b1dcc66b17f15f3c4f4fcf860337b21804f5afe44d42082aceb17d663252531c8434e0cc197429b491f0cabc346d69b3a0d5b558927a4370a7d615419b85e1c435265e01c99c6fd9c916d47e587abf7df5af8dd4df54d666a7d581897b2f6458c574c64eb2258512ea7823d0f6fca7015dbbf7875a6e2bacba638 +B = -ba871b17116132fd6cf9bab257d2857662148bd3becc8ee12629fff8f64cb11cfd69983ad203872afee3a4d03d847f64e0f827d6ad35b30eff5a9783e1d91a0af415d08a7d6d762e1181efea6f0f9373798967b9d56dc39166d19cf5e4553e8b94d7c9ea252a7cbacf2407a8ac486ea9bf528534b6f95f60f51564fa7062160c +GCD = 4 + +A = 6512d3ab4d01cef3abc407772193535240a5adc152b5cb66a5901afa56ef8423eaf89003da39e32b81115f3f272d48bec5e68c4b4143b3abaa1c721d48b5592a599426893438925d5c41af167c5cfa49bf209b330ebb8a4393ad459c643a976ae6bf394b332def554ba2be6f3fc5dab010692cde549f3c060768f8774d85759f +B = 2e6ffd2e1407754b7fa6ef98309f3b5eabb8e0ef19f25552aa0120c67a47cfc538c31c8ec4fcb47a42a94742be77ac4fbb205c7c6bb2002bc1bb5ba23fd089e98fc09d4459229c84321d813d8a238d1283c3a6a34c068ac481b95b194150dd649d4e35261476a10c36652ff90f2e7eb20ccb65f458dbabb6df398ea81256daf2 +GCD = 1 + +A = -13d2a568f1ac69f569ae28d076c80e6d81c56cd8a5c201e459036481800e2accb339cdcd3680f0a893d7b644fb29e28db25e67cf283637d0bb52065ff88399a13c706740934e9022ec61a180ac31eddfbfc47db9e074a6caf58e9b94420440e1ea731ffe7789a43a4c46ec12972772e077a78e8ecfc2c96f164fe68880c584c4 +B = -22078c08005d8fbc1e8b2321384659d3774a00594b032b89eb144e11e8d1765b1358d4bc6d5a2323378a2da4b48e0ee2babf37e87b587dda73a9d347f26dba4a9567fb91adcc00108485dcd676d0889c0aad00b4c4225d9fcbd0216fbd4ee10c92be9ab175536ce7c15afc1ba983566ab82feee2d93a4406ffcdf1e11af96d1 +GCD = 7 + +A = cd47224e6a25f404048e1b672fd68b342d97a42668f92329810822923b0c499ddff351336b85ab63594e022357166a35284be2723126905e788cc8fc7bb47f5495480ad9a49aeaf913f18c739c4fd00cb85f4b9d6426010f6830cd4e3d8ef7c082a199891824b83d2936202aba14412ef068930f69e18b48c423805d8fce88d5 +B = 4a662b8e37b7467cae23d99c52fc8ec0f998cd064a36c1b5eec049dcd44b36aa960160cd6aadc66ff10178704df95ec4fe5e0c14e468d026ea3a10492c5babd29de256ac06ecc36b82209101fd55650d0abc30b4497830bb2158af15e8b9d54d31b52d7160dac777ce9826633c50618797ad419dd4e769d74656cd0bdf22cbe9 +GCD = 1 + +A = -9c7b998c8753061ee14ee19464ec7cfb075e02c41aed1bb129702f3fd5481bbd195f628e0f0e9f27931cfc107a966b55f537ea010f01ad48357b5643d96bbcf54c37d447c79d0cfd8fd08f70cdc1c97bfa1f515ef4bc10a6eebd3b9bde420966e507c756da2c02673830027bf4d6fedce14377c3fc55e6bc5e809d4f949e4a82 +B = 2255e99e2ab71f27df9deef84ef46e56dd42ffe6e10befc0d32d47fda1f111da546327f09ab1a8ff9f761010cb23ed3ff1388286ef19044f3efc0a43f8150544d88e8359bb07728ac35a1e5e80b697ee3ca120f32f7f7817c2e65ddf914fa6ec5c209a337705ef567a558049fbc4ce1a336264530e2d02562099ec99ed8bada1 +GCD = 1 + +A = -41e4259209ffb0bdfa755f8281b2eb5ee8f16f088091b91c8ddd50995beceaf112445c712f66d13b80bed00acc986ca7ddcb27dda0ac47caac8355e17a67736cc8c0e297f96547b29742f835e42c45e831a58e00ac5c7aca18c8e49df342db914ef0be4954c020c955dbbaf9f3e93e07c01dbcae018eec4e8544ef765a36014b +B = e22e8243f69740f7030666c886853628d4352e6ce9ab11653dafe30127ac4fe86872fcdbca9bde6d4cf36e223154ef85ff43983e46b09d6edcd7a13c3830e80f374a6d08577925eef2e594b47f858d528ad21bf5748508dc83ecf7d3e86817cfe41c8a9214ad1c29fb49598107c275e2e3b2851d485a0bd0962e8ce84341eb6f +GCD = 7 + +A = 3d4d6c213dead6ae9536b0834ad7fff746dc5409d52327b58d65ac2a56dcd892a74c78104b516eb63838e3cf9d29c3cc1d1a1a2154619cdcc9315113d4216e68480dccc48dc986a2eac133ec5443a738ffb9a2e321b9ef4610cbe84877d732c68d801c587212076b8e9b28f1d7c48360b84c17f0ca8240a244b3dd93b16f73f2 +B = -8ab3499ab8a349672d7fc047290271817fc88fe8fd8c717a2b7f5a981e17031ade7d37d33a3ce17b2f8f1d0e522dc7f23c0767e60a31fdc70be1edcefd5bffce598cd7619384e8c0d326790e8ebb2ea511b20d2c6fe9a2f3d1706b3c0abb02711dd210db118018235f9dc6e76b61971b768847706e93723eeb9577b13529f6e6 +GCD = 2 + +A = -f8834743ad62287445644f9f6e1294b4a1c758deff4efdb833c1913961a26c03e098e397532fa83597b813ee64eb8bb9ef783f08776bd885bc1cc19ee07e2d45abd19a3a324b73f83903c5dc8b564b8e257f17e18cef7cbcd5102e7a5d6bb6d89b219f19e6a34aba1d455fb6652de528d42848bcb67cbdbe59e5b336a52a37b2 +B = -dc42c3591ace769b102cc3437536438de4eb2a43bf8a8c274801d0c72a15cfd5c628bd7b47b144a4826ad55d1fb7f5a5cc9adcc295fd4bc02ea2d14302a2d8e0381a255bea31ce43215fada89937c2c7750cb149940f5f1700b0024a9539fb6b6e53c87452cc254d96a08205f6420b7e14edd2ffaec52a774d5ab26d6df1a4ea +GCD = a + +A = 8d0680b4e798e423132ff0375ebd072acd45e0e642e3c127f2c8683558816e1d3b870efabed4f80e82f722b4cfe228e5ad00ac354568213de22114dc05e8c7de18b2befd2d1deb6cbc4e4ee584f9aaf99f8a5e5084a2b0999c51bfe369d05d0d28e5c5989bf266b5caa90d335d2d71f41284010b0e7527e8582567d3acafa885 +B = -7473f060eda17103bc9804528830fd200d276391ed30c4cc665d503c125362f43ae6287ca40a8726382ee2219149570c69588650e61baf1a0fb9af9d3fec41d58f27a15df936fd2dfa4b9a06c1f0a371a24ad127b3b3c52bc5659390c3ac6813305fc852f3a8abe25fcc492ea23d624b5a2873e1143fe8e75a949a5b21e698ba +GCD = 1 + +A = e85b1200fbce33f3504f7a367b01f270ea235cda43c0b656adcb5e3fda544c76ec403151aaff9ee0fa909d8d41c0d9d119f097111843e971da8e8e66c088b12a71464fba781d5c0df5a368971d0b6a00e961b55f6bbf55a4c32aaf9dbf3bfc2c71a3afe3bceec91683e36336dc2d66d9123e3d4b8c870ad8d925372ae716d249 +B = -2682ecd58cf75a3f1a97fd0364a792f3a11da355af5a0104cc814e6d3f21e14e70b761cd4a51a47f7485d8daf1473dc535a21b941aa3e899486dcabb0720a33c1acc0ab4cd1b2db385544aa43cb8860c2d6d7971a9c7238d5f7027387fb088013497384a408fcd9fd2021952940fd492fa02faf10b24ccaf0fdbbcc3687b93f9 +GCD = 1 + +A = 70a970db644a89cb39124b0a890dbca5b0e07e81169a4c8202ad20bff01a46d8003b130e23af84daa919b53f6c17acfba6726a84ea7664289072aff46c5c984e2971152e18d6cc6f52d1171e1f6c5ccea42db0e4b44a8e5ef5aaedf8f3ace469eba2dfbbb19f1843d11f46ab9e20ca085ae4f029c466c519d92eb9b9c78817db +B = -15a56f26bf32de8d92a618853a4ede0ed62b41f6466aed56b79b97847087ca7a43d1b8f366e32d776c49c3b59beba5559c2a38662576fc20b6efb78bf76d2b1408999f0d6a74fcc9306fdd02a9bd6e9e872965c98840340f6f9a80db69ab42698dae341311140749184a2ceb8b58f73c2de7396ddbc0ecdd11ef62f8e1b035f1 +GCD = 3 + +A = -f14b60a87beefa6c57578c08bf63fb803652fdbd687fcd05c215e80882cc76cab77241a9661d4fbe68350c96aedda89a041cacb49dbc0f415efe71153289ffd86b585df721b0269bc550960128dc143a8a779c9b4e729fd29a3ba6274b0f1d6122f05f7baa1171673210be7bb523ef5550a7e0943d61e8c247435666a40dd2d7 +B = -53cab2c18ae5013e477ab1896f728de743bc572cbf1ccea6f423a4eb1e9d7a04a52a1cd61cf1fa9bf9fa87ad22ec4da82531353a36071fd96f1ddf3999b1d0b55a43b810f36a040b0529546ec495a8da1fa174b274ff40cc18b57a43b4efb8e4fcdff42d3553db1891ca533b118bd4bb5228fc2f7cffeaae1ca977087a317e1c +GCD = 1 + +A = -30c47419211671851c1af0996ea97fa48c2c46a619ee126aeee5b12f7dd3b06df1e78eeb8b14b5b82dc24f73e69b65a2baf32476cb1585035ebee4c1fab98486434fc2da9702200cece572bd376f121ce441f901272dd8a9631d957cc418efbdf795a788e0204ca468ad2d81522d449e5dc0ebf345cfb5cf04566b504c4871e4 +B = -2238c5087a800599a40f927fe2dfad2b950001ba0148f4b9bfd4f269c12e637367c873b0bec97977b8f122f6cd7669a9af2ffeb712c7c13c8edb8628c675e44842fa5a1a895ec4f116ef9cfd580318e078d77c6fc18af7eb9c1dd7d8bae7fa9e1f0affd494ab624d1b146569dc920294044716f91a34b5554c2eebee9aae42d +GCD = 1 + +A = -8f5e734316ba03a2dbe3bb1a6d4609af5034312545f958094f055e02d13333e0ea3114e0afe1815af8fd31710467892bb6b82ef478296545f30c554a9c194ce59b423850d9faacca86a8f60554041c4b579c5671609859cb17694e473b447da40f0c33cd1cf89d90f3cde874b9ac3deefe86273dc248d073a7d73ee009677429 +B = a4f326bf0af69ba18bbdf4d38fd5618482135338316674344c5bcf10c29b07562aae8d8aa44563749add52dee2bf58ca7abbe5ed1457368e0c6f27542250f12af5ec948a12d792da40225fc6379aa1b1eec1feae26bda80e8d7170c5c2039f8a8ba9026b81f97df625e5264901ce3febb02fee1080506903a44c286e1dbb02f7 +GCD = 1 + +A = -a40591cdf91de26b487846e0a41541f03a266b07e8efc031a60ee7cece0f86e0284ebcbb57d2fd1aa8b888eae75877af379bfba7ec58326560cddf15bbc469b96b32fe1130a47c21d04fcba347a4f427ad75d07200329b1aac3553bc21e73b6d9e26685995807707ab5ff52c6c3aef00d95e778207c83cd727c3f67716e80064 +B = -8fb67e563344508261c6c8fe8f4ee855fac133c604284d98b0d3043c9ea0e552b48eafec7292045ea248006e98ed8b77d3fbe27f8d5cb1d7933c1d2b9787dc8cd747a706b19a30a57f0d070361f6eb866c70d1deb76abd3d2227e57c260a9bb91cfe2396f5911013960e29c1a48f755e9dc2ef66b2360875396d85311f34e82d +GCD = 1 + +A = 3a5693a85c4f438027458cb30ae5396b690b0ff23347c786ffe7231e60e67e635e104a3b01bcb25ca51a3c604591b37ba494820ebf5dada145f1df3733544e09094a42a97d4989530c0d67ba57ce3a49e75e4986500abe6fbe455611dbf743d6281b5660d7c5ff0274909769c5ecbbc8e5fcef0a35dcdae7a5d8e672cc228328 +B = cc048c716588c40f593d5cdef7a97db2fefb8add52c70d00ef30f9e31d2f2db96cda9b19aebecf0908017782a5a63693ebe60b356c53acfe18d95cb81fa57a50b2a9fbc737fcefb7132c9e1a918ddd8031faaf5ae382a0ca3a7915047fa6703ecec159462d866c67b9b2dec7e1cc24cbdb5dc305c637f64cce54e9c1278cb151 +GCD = 1 + +A = e468320ff548ba7074444dd778253ab277afb9b4432b08690af12b62941746bf7814050ab479d5a0bdca6f5038bf0d881fc66c3b9dce0bcf4f5a2ab36e19342037a3dc43895af88065eeeaa2062385a2746b0c09f91834fb775a5e7aa91755a3407efaa5841e1dc8949dba77c6b9ba7531edc2af0673cc6ced0a9230f4fd969 +B = -fa4b86e63d1d3267f88354bb06d59550891db99419ad40234576dd72e6b1785a76be0d2d3ce7dc5e0abdd2bf01fcdac297a16cb5bb293a84484586eb0d7937ef2a79e6be9a8be96e6875fa9a89fbd51966056400b8ae794accf6af533e433b9092148b6b2139d685bf29ecfe090d6fac137d6378251468715d50c220bdf564ba +GCD = 1 + +A = -91e7b626d52ad3e98ef15b7c5b995614d7c1980acd7276bbb79e51a6799bfbfebbe473e809fa843edc2a4fc5e00a14a7eca5ba71ec233358b8859ee051ae9e68bfdca6b6bd75daec45de9873ad73afef8724711a897eeb40e09e45ef48d7078dc956998ee1ba7ebc8cbaefcc47605af2dfbc5eb780009171cce20bcf95b410cb +B = 99ab8c668d78d3cb3e986daed70b81b4995d1090fbf578349e62c66f5546018dc2d4b2f9f18c0ce478483a2f8dc6e45d807b3aa4bd5b2cd68aa1d156f3b9211c1cbd2faf2c459a54ed3136560c7a7aa2c0dd4da3fd8d8da8ea934b498b5689a3f0efa3b56952b35eb80b42ea384eee53d1f9767d0ebad2900cd149a518fbf8f7 +GCD = 3 + +A = 78a6d44c588df41f522ab06c1779649dc525538f5538e34b1fdec651661254f801f2382580697c49d9ba653c368fc9beef86876252cb411657a386491d32846c898bb648b23cb58d175bac519796f6f8092ad5b0fdd69ca132b129df0ab5ed27b637f6b080cadb6ab5f7cdf0be0ad61acef2b1fb8f70d417ad650daa26d73fd9 +B = -e34154eb0a91bf637a7a3b1f13bc0859d72227db3d7ec1267a6bff10cace80aadcfe86bb0c83d421d9b675868fb59e7b463e4c538df5dac6566b9b1551558e886a41c25f46aa478a70305e547786f966571f22439929b5cc940639d35802155bda1f4b8ff4277ee25035251eeb02ffa3451b81e38c80790a7e099c111850bd83 +GCD = 3 + +A = 277ba648989987c89d0017ef02818f51f8202f2a5177719e8d210224fcb5e1ef3a24ffbc7084fd02fe0bd293bf732215cbf4cecc302b4ad57441ef4a9e17ec3afab8c49ed41de7fcfcac5399d47a7e89b6bfe925d70310277649b8a921b0fb05102c24b0d783f2186049ac8f55f02f94bd7f523e8ec47f79ec4edfcb67458b13 +B = -f240ccbbb4c09e8c019ddd674fbbec2ef862030fe21c0eac295fb2efd6a937ba047b184fd8f495aa57ab633e571ca1f7782e43d8f3662b2779c29d7c4bcee48ade58db47ecc94c1978fbb528ec8cd500bf08ffc28c4e257bb3448110308cf54c0c827264f5fb2cc4570d06fc0dad32e08b0f461d5df0bbb61a7194e1616887ff +GCD = 1 + +A = -25fc2f439faed14765bda423a9705cf3c321ab6265da25e5aebbcb2706c4a97577f0315ef7950108908cf844a7c6f52638814572b0ba1c26b6e0a031ebca0f71175f82348da8e9c80b37117d439c450540396b51cc4f7966d21b4829d6ee59f012114ddb89460858a9d353da1b84ba51df5c8f16fc4fc7418dbabd2335a2c760 +B = f1c6868e1cddfd371550ba9c4f3bc6250b9f46864cddf259370366578140ddfe252e36e82f184fc874f9efda5b4595f39067f04c3854f9578355a4a6ea7a74969529e5c40b12a9d0bd96005bea78f80f425d3ad4554bbabc12917b18dcfcb96ff2aca213bc0b9ade99a2dc81d8c03281e35f5e7d82ffa8e2b4cb771f7972801a +GCD = 2 + +A = -27020155555ae28e969e1f307e8dd0672d3a62122abadf7b5bfce320cdd83495734ecf7893f3611aebcca183e7269946ceed043f956b0d91c6a7b63de37314c8f9fcbf1a6b3b5686aedcb51b89f5db357a75ec4346911b2d565e8cfad9b4d8e56fe026323a599e2fbb046e334d0510528573c04c6b7e245c42d596d0d56e1257 +B = -3cd68fc1d0347e90b16ec92f6ddee506aea48575f3f2a615fb74ec19ef0a22924a5bcadb946cd13f98da0dcff4d5f8a5d5418ab4cf9b6275aac694e70092dc0b3a8f242d8e05901714db864be88c674d3a9331096f9da2ebe0ca350c792e0df9113017a98aee589c16705cc2c4c61e7a43642d9e814ee6c27e86be3a7f40e316 +GCD = 9 + +A = c167d1e88e30299e9ef5c70eb75cbda23149b7d438c69066f321dd16c405369baa196595614ef9ee4d1ddf1982a3218e8eb448a43d4407ce49c3038efbcaca7f04254b885c3786f3e57fe4c8d1b49ec70c7687678211c7d7cc909eb17c9f93fcb8a82413314f7cccea01fd3a23cf8ce75b90bed7f6709e5dbcf0f62527b18d62 +B = 838caf24ad3111a195faff7799f02944d86fba1b473fa3ad7b5bb3a3a4538665370653c460d15dd0ad61f37a0a7a256b9dc15b936157b69a6df393de4a665f87cb4a75c62448f0ffef038ce3433b443e077105ca1598d6da5d192028355284e764fcc49c257c51f17b0561fe33ec4a13b5e28766997cdbc0f5d69538b40cd +GCD = 1 + +A = fa2f6442a580092ed7a3888f2c19145e25e6209581db175c4414ab37d47e0e01c15d52efa851169441b3f678ca896599fdcf0fd24a0bf54afa42d43c1ccdf3930955ea5e7499cd94af363477ed2c1ba09e3615e2c2a0d4c1fd5bba8ab009d173b6bea067d58a97246610877c3a5f9b9343f8abdd937ec59bbbb224dbf9f1f6db +B = -b5c75e19d117f35d14ea948ce0edf3614e8cd7501ce4ad8a85da2baa084c1fb79857e703e2178e6a3ca4d0d5294755a7f420995ba85e435b60f30ade497b472507579ced5d60e58b60af8b452553e9998fe2d15ea1097d637a989d6a057f3b1e172e92fc30a015d6010765c9b3ac365ca558c6e545a2dbfbb460ea2f34d11516 +GCD = 1 + +A = -c29401ee730abc257fd768e9c115d5e5ed1e9bb5ef7c3674b3ae194b89f5217b44c815d3cfb0acb68ba7c14ef3e8c369fdc34a6a61a0776c0caf77d8d97d388c64181d82d79ddffb7fea81f8fcf0debd101acff8cdd0fa18f0a25cd41e2a94d4d2c8065797b88f057aa035bc9d82262f709222e00ae4535ce39c6640e6f000bd +B = fcd76c2119bddd7f4d0b12bf309c2c0d61eb99f04cb74dd211efba3d39c6e2a6769892d2ce4695545e8e47d00ae65d660c6fd475f80cf83f004bd08b7d527246b373bf492aaa192e4f40147d8325e9dc5af966326e62909b37b7b820a56fc236e277d764dc183945c8f2bfe5ea14898cded5a7b4d7727c96dbd51e5baa899c0 +GCD = 3 + +A = 3e39eca99ed7b6278b47b2cbf1cf9a401f3b1696426d469e98db7b5d635189e1cf1e799a63291467bc37757c251a461c3763bd712dcfbae9306d76a58c2d07fad9f080910603d782dc6ac5fc8c56c4cd9ee9dc40226d65aae9543dae3dd400697c8f3335a458db60a02100d8e117097f9a9582759da8693d61fc105b83790915 +B = d9fec1b2060d911af5029d4c395f76b758618ffa87d9778a10578385e655ca711d907c3f61db67a6a07c6911bef7b27620b2a7dded0c70d5da92c31fdc67524ebef05086ed7955a2507bc627bf563f59fa7c36f777680fdaa9d25d369df44e869291196206446499c3b86e4a2c73f8b06a6ee0e25fb271ec64e8877905130108 +GCD = 1 + +A = bd51200da2c3d0770c5728cca3fdaf620f14c5ae882c3d2fc59d34c12313961c7859546501afb8e3772e56f211829d6db907560b663b9e10bdc90804b601f8da641e3c4276e118e29ebaaeb87d8125b4debf937e07a4cb63facca9a1c0ad00f68289840a44f6532c1e1f864d235a9c17db505acb0275e2f2f9b64bf36b616a4 +B = f70ad24ea5364f726c3eec09aa298cac83cd7b2cfd66db17752e4ba390c772e9a30cb1938f5197867ba066734636ecb4089bb8cfd1ca2a889db8ba0ee5b19d614d03b1e9f1001eccb2e0bdd916160c272ba8b989bb7234e441c62b4a14d00bf2196f3634ecbef017f2d6271831db80931324642f6d8fdb6abfbdd7fe67a7172f +GCD = 1 + +A = c49b9eafced537e25f85799ffe36e98da095cc114926606ef3215393d0be949dcf853f00f9d4a56cc3b1fc3280a1d286ea5a185c1f8b439b03b8af825f9df745738abccb8a74f25a504b9c9eb8716dc84dd1b476573b3cb6f47b762f4eee9791a55e4d0d2f3cf7eacf87af65ee6059e2f43b0f743415e13cf8eb33c119a8ed96 +B = -a1f2ec34a2fde73c5bc7b990a064452085797da7bc8ce6856ce93efbb072d944635e9a770d883f9178fcb3ce2a38f34afa55ee6f59a688e7069dec33ee5dc5453a6ca24d17f6f09e754c1a106335dedc947e164bdb843de0f909064487dc283d90a6c9af77394602363209977e74ada675639e1fc25d3fcca80933818b126ce3 +GCD = 1 + +A = 7b779ba7035f4e9f7f83cfcae89deb28294f1ecc88bc188a5d07949a99da2da06ca0cef147c46569ef4dc00923eb6b5bac470c90208fa116a29a1443c7c3bdc2ff2be17c2c76b585222c60f599f261f25678c7610444dd8f6367bef187f82ca8aa283198290e82c020bc5595a18e45d6371c5355402d5d39dd2a5e9ba35e3d0a +B = -4f87c64d76e5778452a41277faccba96d955dbf91ca686a43716e507476b4093e1b159013d4a9b8fd7497b0617be8f21de9cf6127e94d71cd201ad7ee2200f30fc2f383ef1ae7e319c6e7ebcc30d227f20592ba9685af229d394b336f9e1d20e3f05a9c3a90493e7e6b3e20d2efd3b3498829ee3259f2bf03142cd57583fa166 +GCD = 2 + +A = cfe99b0e1f529420242abd47b8c13a56c1e6c492db6ac75b7788999fb69e51fbb00d9c027103e240210b06477f1bf79090d74af5ea44153587ba88c779307c9d855fdc688c422a0fe4202796d4d3b273d2c2d60c0c22d22305db1be15e94748157a4a0331c06c189750f9a9d47244fe36d16138a6497df6d94db70672fc730d +B = -fd8e7d819c4af7f84f57158b9b1f5ce65e595ead9af02393d6900fdf533dc7f9589c619e09c2479afdfa63109984d59406cadec2157b7152a2c50b04211776063be949270ae88d82cf28921fab1ba8020f05db8e15ba85637e1b96ddfb815cc7245250aa6cd8e1c4a2016291b6755fc83e98cd61774cddfc5e1de6c96197367 +GCD = 1 + +A = -c940c1e846b0e625370161f33a37e32c486e9d45cc2e9c38e362a3e77e13122f22641c8aa11d3ca185eeb94b3bc77d5b12bb906875ee06734f848434d7d58d1c666bb8fb8d0546c2d00fd491816643c05616968c7a41a8b7e5b9de21fb7b20e94da9aa896243db5bcb9b53e0a2a9c14fa288754c352f5e78ffb18e73c0029bd0 +B = 69f1a766a98e27ed9d66f3d4fa2a4540d3fc3f4474babe926b735a3e7c084fd176ee5036d61da0bae4a517e37e65e724cecc73d94e79cef82bfba9d72415d10d93dce42bede9e79575ab6ec2b245b54adbec85517ea1243b9fb1c89c24ae62c65ac66f84da789d10ab3ef9a10e43dce60d8bee12e5fe6c4b51294630a6a17a13 +GCD = 1 + +A = -618281bb5de3a32cdf4014834acb9a3de1fa10c5f60484b3f34f06175e5242062cb2f024053c3fd889f7beef0e5a7e3512e67c00744f979cb218b62ed637d1c0a75e56db4f71b09d1c9f75a00311a7fb7af7a7b8fcd02725973eb9ae0094bb9896b741c24f03234b3bf64d333fab7cf3b02895d02017b531461a8bd0555d6863 +B = bd432865f99d5ed5d8acd7dc58cffa98799684ed173afc34ea0e9ef6622f651ef6b7a8aabd45fcacf73b041c48ea04aaf769a1956a2bc7b6c47b9bac121776c0bd4a87e8e98ef3f91d2825370794af1ac22fee25a244ebe4ee7201c7f23065878dbfadd180b740c61ee60d0bb06a1e54d1cbd4378a6725375b53692293a202a3 +GCD = 1 + +A = -b6d08d3b454bb8dcdd5fb576cc1b96a8326ddfa01bb1ff24b41a703ae9aaf860c06d5050b3636880529c2868959e51a2f9992774e32eb11ec877738b36f693ce369b1784ad0197a1b65f607cdd66980f47fd37c97d98a44615f5fe6590d780f89a9ccd0e728974e9bfaebc8f528fbf84a19fdb9c2e2f62a8c3cf338610f44095 +B = 8e47efbbbb4cfa2dd3be53ec2c4c253327c1c0748601e2f3d190ce5e7c1f601ec049a45618338f7ea99b96cc5825b3c429d4c4eb87468f7dd6e87ca42dd230262b618fa414e27dea2f5e0c02f0ac19d0c5312155e2f493f4fb33b2d0c71d489482d9024e36d329cf8c3fefaf1bf45d659ec36b0fa4e919242633fb156c09924 +GCD = 1 + +A = -f7f3ca34f2937ee1f6f73fe4d7c97861f95f2eb44f34c31e47f31f7eee5d4ea9e4b953a109fff0559b934b2f89a4c8e92db958c640c8830b8156febcda82a9985d4b5f5f46971ff256e3cf5e96a5ce634b68a34393bb2a0fb0d5002672440ebb031eb084fbc83ba5fd40b8c9cf2b62f0f30a66c9e6b8f32740eac6ead8943509 +B = 4ef0f9c2209ddf98d89566abf4c573a5abfc94c5dee0704c4b22b0f013a232069afac798fb9a0240713704ac36bfd6c5543ccf8d2bec2ad83d6547faff19804486ba996d0c2f326777053681f8c1695a4163509c3e18a0953991883430dc9741b29aa73766d226cc1f8b05fadc735b84074a5ae52353ec113f264202497a61d2 +GCD = 1 + +A = -3784a23ea6efbeffb28395b11676296c3a3327f647137a06be4a57cd4bee70f064434812c3caac0c7bb98b2ca2e2bde1e66a8026f380719fb8e1467aee380e07d88fa120e1cd826bbcdba6a1c95664f1b1d165543044e5580710d3b754976630af7d5745d39314ca64661ed25706d156c5d5dd0a6d20ccc2708946deac49a61b +B = 7d262be70acad7ec9ca29045bc60fbd9375415c8309836b16dd06c22c5e3c56f563326fc2f77322559cfe63bd2badfc81a14624d0d620eb29a96fd62fa484376c87404df8ddefc49070d6bb63430e57f9a886e62606b2a6e77b6bd3e3f5ae2e73d7f18dfb1673a4c6d79e26ddea8150723cd898a78d8fd90e1ec9f7f10e98ec1 +GCD = 1 + +A = 6fedc24b248cc9ba6c353261f5830d54abecd1159fb2df362c97a79baf8c9b122c5db6858663da286754835885b922d3240cf464c831ee660091cd78ffcbb26eb85ba6a32c2949b4fccaa24546ee8d14dfe982d4c864e9be378a9b4ff4b9da0fde86b018661bdb1cf76722e526d48d868dbc125973847d3c551ad260b81922e6 +B = -a0be9223c793c6857de0250f4288f05e1b6ecb93f802063fbaa2437a92d39975883edbbe4a48ad03ea0eea763ce6b4e1b1e47fe510f3406a47b1c4a84eef9f2267ab6643d4e4005456c62d612a84e0a99ab6766f90b968844b3c3846d93c01561605acf58b90124d91e45f3be5e88376deb304fe196174322e21ea407bf0a56e +GCD = 2 + +A = -619c08b252791873324f07417640b9080db7bfe159ea7c7e8b75080456d5fdc65fb13f9d4ce5fb8e4cb5a9f4f3b1f972b7067d5ced3b57eb88d01943e1a0566619377ecd6ac5562562f0b8e2820753e9c7ab24509bbfffac5a68c41847b5e96016fba3b04168f56311185bee2a118651f1fd0840564b364a981bd094640b9d5e +B = -81b4e28ce0df6cb45f386a9115abb06f0aa4f707b6f550123b62284bb020c3f188f937770c2dcee4e341e47e23ce2905febc3100700ca227fe22d0965b6c64962e1ed38bde3e3299c693a30497a1c0f8e2639a25c6cadb5b34b0320c2b7ffd0e24371a19d7f1057e7f449227ebf2795b36755f988c184bdd83d0893a48d3cd82 +GCD = 2 + +A = -5f7e9a7053dee522ddc0c991502f1aa42f1d9c5e92e775847b96150b9530463f76efcda717e105920ed429c65e1aca990b8e925eec5b3c792afcffdaf4f398a06a0d720b75223ab94ec6bdf922cffe224eea819e14c3632a23c1b92b2fb749f60e05d53c24ee9b4b7c0e72332c9c22822df32ed160a99507165ffc739d1ffe8 +B = 73fa6bd399ac802ce4d9c5700c44e7ba28da2a5698b27fa828c67ace56ee660727f9a3672e05e6f3946be233bf0f406dfc0cbdb141c6d9973138b5ce237eb7aacd78c7fb4498ab1f183ff91fa2dd7d6f44f7052004057460704608f23d27e79fd9be41a05294c88bea241ab7e7b8d934ab419b36d15e71c117e96fbe9835c1bb +GCD = 5 + +A = -542e12adc48143ec459693957b9a61eafb545e4384fb430f8628b9c3d112608f1437ba9e9a62741a0e4a388332993f118bde0e042b7d251004c0b2af51d3a31f42b68f2c124f4dc10da1b3d7c9c958ca4efbcccfeb69378b69d5f0e67fc91094ff14a6a19f566643e03686ef6130afb602dd063d2b95cee41db6242b812da9a1 +B = -d2a9224127ee5ab97ecc17116c598e21a62b0c4cd8b71be3d89984786d3a8a87e3c5d7a7e552f609ab2b26990fed85e95f445ad80cd32c8008df04c1dc3c9d5757900b3ad9e5d5a5409139eeae271215d1f0a7832349d3115ddad3aa33b0555e9dcbb6dc80ae201242868f50c6233196c7740e3a8877bb16b805ea43f4604e21 +GCD = 1 + +A = 478f222b9a864d3cb794885169ef2f6343c4a890d4bc21fd3612efe2b69386a13b126b69ebda353797199350c175939caa31de5d0b01a345cbde438029a5b8b64e6de21cb1957cc236fac64887e1f56137599ef419c302a7b1774f89130a585c90fd0521bce73439ca2b63692656295f3aa82022c24141e98a285d7de6dc48e5 +B = a1edf273b61031f7fcf705963a300b855e3120e574818c2b3f5ec096d0679aba1103551df6ace26461a9eb455fd7114db985a06cdeeccd7ad6b22167581d6830264e28b2561730580b48a8e81ab2d6dcc53f8fda79a4bfb7c69fe20a768ffc943ae62529e142bdfcd148bb4dfdfac808b70eac968e0c8d28a4c1dd1e4eda70fe +GCD = 1 + +A = 5639cf8f671877ba7b681cdca449159cee1f35254d224ba447eb223e7985dd714854ea75c43c8dbc0da297505433ab6e8450f244c43543c27d81a01804617a5307ebd112af15c896b8432707d26f6251a4c362303bfd839db699df07ed79ad6323cd75ce65c58a99fe63d931f4c97ce3e60c77ad1d4490d66e01ca0cd02289c9 +B = -f29c9366b73050baeeab2ab07367396741fee501f0205e8fb2a41dc4bce2fedc86dda9f4043a089b22966cdbe11211889310e700de5f42b09d36e48d827ddd88972169391db1896e6e621fee7c94b72b64dab6a9d35ac2b1c446816e5db9dec770a5ef4923194dabf329a13c87ed3a2eba2f6f2912da9e02ec0ffd1c48950012 +GCD = 11 + +A = -40480842c3c4ef4d5b7f9561d4d21ad617380c67ddc6ae861091ebf36fd2ca8939f11442838b6dc6f3e96503a4ebe3f6f7d96089c5cce5e0342d818edc08184299ce6695a5548149fafb818f224c9d834363f286e39461d491999e122f210def8acfe89d6223ca427802779be936d20ab275880e4cbe8e3f903f50941f36db63 +B = b17d57ddd939d891a688ec98b898ad4e36601f5aba8145005ed906a40606e44a2f21e51dd22d1a15763728c3764922e4f2d80d514cf0f2c3fde727ec2ecb3a015cfafc12531e62136ec10a6ba0aee7726f5241ffab7c6455519d7cf44cdf87944010dd8c0e19509949bc0b66e5df48ce3458c8655448bb42e0843388f2c69f06 +GCD = 1 + +A = 8d98e252f4d11dab689f23e3af245ae5ea4ba545fe2ef2c8b4caaa5e88eddfa1d873e2da792917c05747c68db67d56d023cc228274eef3cfcb76680bdba05e978124533ccba71c9dca8106e113738b6b6ae0b1331389fa9eeb7456cee6531c69214561222549726d0cf15aa5953eb0fafb0a1cb3c33b9cfe55dc74e4a32f67df +B = -31ab94aaec376c4f17c63e7fcffe8bd381d10ec2927334443775dacc0a14ff1c7e7a77e56e868b4f977fac8c3da20b0bdf4a1ccfc0b5b5d78dadd5ea655af91a1a5982cf92ef22f858dd723ddcdc96bfd809d44e7ad7d4f92df95a8207765b3a37234366c9dc362344f7997f2a1596337956723ead10a8627417d9d213ef27b6 +GCD = 1 + +A = -320b45099e6a66688eabede6622d014d890f2a06c6e2830f820b9aeee8435c35e8ea683016a1615ca7d4e604136b968776d044a94a18af819092cc383b07bc9785ed47bfd3d9f73a524ad6829e729fc61ecbc6c48e469b587689f9c96e57a146311dfa4bf92711be0fd69162147b019b968ed4afe8b2c57d64a5df39db013cd3 +B = 92ffa658194707854aafd92140231d6fb3590d414b97a82b2fd43d43695f09814b498f5f6496f64752b2c6796632dca417991fe3b6b9d6beb8feaeb1a56d1e9c45ba38de64a302f10e5d2258b4cb83d2c4dd0b6883e1a8e423655c41df31905cfc6263d7d5e2476904209eb6d18a06db87cd2b8c5e2f774ed897107f7f1e4f5f +GCD = 1 + +A = -5741ed6e0e435d18de08555c70aa54525368172faa6963c567378eddffdcd9520dd889a1b5d4240cc99c9d221a868cae16fe0b908b486f29caa80e8a345654068323f07e60a50cc0088bdc39c4391ba4f6e55215746b7a0abaa182b53beb82f637eaed0de6b482524975b549ec51cfc2132d02f30faa1b4aea3fd1a81264dc7f +B = -a337f261ec03650498f7698a7d2f528ad1968fd530f1977da49693dd8f1afb5192d1f5aedf0d23cba910bf013f1e7af945ab18df8340352f11120216d7bc6fe3c331c7a3f4cdd75179e547be866ca867cab2c32683f679fe06f8d3392961ae5877fd60ddd9d5ce1757c25d4e5108d1f0ea75f8d33436a608ab20ac561deef6f3 +GCD = 1 + +A = -8daa6ab6a98241735c878f1b8c6a001df49795561216f648b0cf9455b1b01ce4644e024cd46d117d8c57796aa46e7a60e8ed51503d3f044b9c071217caad72df3733ce1f1e077aa830cb8f2f2006ab36c83ac1b17f02d631097d177dfb8bd218d6495a86977eb25c6742d98f55b6bdb330c23216d1aaa511d2f177b7671c6def +B = -15f573bfaf3b1f373ed67bea2673d58255c6aad8e3d125109f1820a6370b6d53d940cf1136560bd59d76c77732b570138304d0d0de84f89892770dd4fcf23843315f88f882decf5349b499dc431dfff2967d5de8120ba02566e877b94256880a22bc6ab216002052740d10b1cb4e5c6eaed94e55a25f36daa5a6babfdba1a346 +GCD = 3 + +A = 7c699aa2e2526acb7ee4886483736d4d665ef8337e61fe68773735478a155264970df364965dcd3f3472ead35ab7037c488d114f8316b25afb54c445c803a9cdcbb85bf68fe8d339080f04a232dc1d704cedfb11267a3588983d6747959b7575ed302c4c9a22cd930d28a4326034cb281fc227f600b582092c54b7806d9d7d17 +B = c76516579078a666a4d632bf19a15a47a1d3fb48b03c9834d7fbbb84fac67b4182b3d0521625ff7313aa0f5db0fd7ef5fcdd5c4067d97a947b08d77e8cee7c63611d7cfbd7ada895363402b73b2af6036a3036f6be80268b6c4eb6bd0fc30fde9c6575e9f31d712bca37d947ea2596f0c074cff08b68c1e4e7c62bf0942f5daa +GCD = 11 + +A = -b5d722dc81258b4d6ba87e79bf0ae3f191bf5139848bf113ac779d633db02b4562c6ba0a8d2bdfa46065ef1597d5e3b5be8568a9d0bb78affd75af4f3d275648145e1e6884548380160e36a99d709b123af2cec8c388bf090ad1683182636f969b8956ee7633889dca7cad3aec39a86ec76557a230443af99344e41e3d7f8d7e +B = 3960dc516e526fab4cdab76232384b2a55b516ca9bc8ec1dcf63d06f71a70a572290dca3ac11c0709ca5fb29c19af4f1ae0d2b3b4fb8102a3fa751fd91f720eb7d9d94bb9f12d2a26947e037ee6d31e4455cf597d51e3ec3046c67a482a909b7865e6126d01d6993bd447d6ededc17bb1ef2f90869bcda8a950223a25033b1f1 +GCD = 1 + +A = 538e4164cc0dc77a0db1ce24a591d97dd844596995036c592cbbf942dd7481723f76e5474eed9e21ed5147724bb764ba440fd130014c7362bd9cfcc8315b2bfad71b5238b194b65d96011fecda888e0b4213deed308ec1a36a3274002ddfb6d568c06a02f7900d182b00eee2f190b98dd7dfd1ae1ac1dac5a1812917369083eb +B = 28c94320020b50021c3293320427d61b5e1e3ac44c763987c8637e3ffd826bc1dab1e077d3fcf9a0342849a527674540e2a704ca719583b1b4b0140f9e1bb3b44be8ba91c2577640e328f5797cb8a6b87b4fd572ae64496cc75ab6fdf69903d47919af72663d850b0e9cb0fdce5586b3f8755e26ca72b47066589a233a4058b +GCD = 3 + +A = -d7c9689c86c2c1aacc998ebfe48ed0480a9a0d7500399bc8bf6d29dbcd47d29be4ec52a8a559a042047661f5d08af1eb51f2ab7c12dbf5505eccfa9dac5c8e239de2f49adafd20e861e8ba6366c62a5dccb3a6885fe0eb87df701f969676f7b154f88e3390fa530a261b5d07e336f6587c63cf95ebe6fc6581302e48d641cf24 +B = b905786cbfb32e6b8daf2a58c25f786ff956937def8679f623b32ff3c1ab7e1f1453f192f47bfd76c1ebe513f3158e52d2925bdc710fbd90cfdb34df9c06cc8c277d33e7d9259a2c12e6875893c59d9d95998585996e14f8c30bbae0bf1e226d03eea2dc0d69b302b6129bc9af4e3a44c0d86ad913168de098fbd4fa0700da18 +GCD = 24 + +A = 8a2acba391a75a2b7727d83f4e67631ec10cd74476bee8c882281480f44fea9408e7a1499b46079b045d85af502f2ecedc3e630da538f818db0858fb163c2187b0cf1b1f23c3ae2c273fb9fe668c14b6d9282710992c2d86e288b714a75fec1f329c74a0b0921251d1c47fa95c98df77bb9a5b159507d601e50f7a104afc4a0e +B = d6beb6626cf585023a0a622d8ef5343cad5f57c4e0c2f0fc0c0e7508d49ed9acc0a7f12379f7df61a1f419aaec71193847ead7cfe5a73ed925bcce0097b964d09f9ed0a64bf790a44ebed847415012d809d9f1ed285a5fad05ed66f42221f91a004ccf203dad709de93d0adb1b1d9a5cb275b520a61c1366c849e4912f8c6e58 +GCD = 2 + +A = 4e6dc0bf488cb214ed0f82cff9cd692233e78808e32be2cbbc066cd86ce29171475c4fc784f51b7b29a21d57acdcd1c0d67401860888e14618705fa78577367a0bf904520b979627620ae33045fbc66050e111fe7b53a99e0faf2dae09d4f177879c3874c8a00674295dd35f9a4b25ed1d9139a1425c56e21ac34222bc8011db +B = -98461e6cb7bb527e88cacbb6a37750c0839f9458094522fbce1ab20982aed5f810f65b4575e820e9dcdbce1dc98e031a440378dfd4d820f7cf555cac796822581323e8cabe5731980ccc2d609e13d1c92e5fcedc4bc657b4f6f60f0fdb21eda413e2fe0fab5183d885cc8626e2bb55acb3e4191359461aff4e8a91d1125118fc +GCD = 1 + +A = -ea19f7f26056f11938975558c0dcc901cd500df7c7c359014deb5d537f4c979edc1e176046e1b0fe444adfd70210a78e6953ecdbdec7f368283a7e658e9cc2cdf8e8b14b638fcea285803ba9908dd8b176622cb414ae69c18a8ae12e5693feb397b5bab0788922be9a369c8423a445650429925e5ae3137ce1172bee4a702108 +B = -fbb016ebf67c48f6c4bc33f252a97888f31b80a56be0840ee9e32e704086aa90171a1fd2c65426ea77ef6663abd6bdaad0bbe7096b8a41b2428a2905f40a1e85deacf90ef2ad75c2303265938c3d728f8c18a5b7b6ee3fe33d197407d7bcc8391f41b78b0fcb3404e59b22e3144f6418a61141c21aaacbe9953dbd918f9dcaec +GCD = c + +A = -c168e74a6cfbc43ee11ae04da1580da40f954a3f87247a1e9cadd3468b3aaeb80995b5ee3208a1e85996b895fb242f0ddef185a2d5fc4e7f4a5528852027a14a73b484eedc45f42b2ffac6ec917542b31546f1b6fe167d65e94d9ad38936b5c232ad8ffe9a3ffbcacab9c103829d24c950057b2aa324b549af1486d58255b487 +B = -90b42a0eb01b4903ddfb4a014152fdebfab31ae3e7d92da65633887e780a70f6f152cd155017af87ec2743d58344d30a422d9c7446a0b3f29c9f7925380da19fdae29dd34fc1be901246bd99c90c15fd8fb11704319c779b1ce2b7f8a7ee333e7512344831ef7083ac0129ce0123c0bd4e18f88534cc05287afd1905f000c6ef +GCD = 1 + +A = -79eab93b92fba169951e29a88b60ad572a167ae546ae563037f0e8888286a615204f3c7b3b0a43893917ae208dd33403ae537bdd92249cc756715e8421dad70acb2b67f1a807f0e7f5f5b8bb23f9d83817ebbd8bf5f89d0175eb72928c3715c693e6cac2bdd711e2f1fcf0cce857e050102ef2d011e03d5a153d9e08e8acd629 +B = af6d4c5a9f134c9534476767601f9acde783c89efa3d92d7812907588d524f5c6cb1a90bf28abac8d59d5223f03bcf38451d75fbded9653f522fbb0139df22508e0bd12dbbb6a85dfb3c94d27ab4ad28f91e7c514fd24c88829a1eaa5921279197d37f4f02c639acf2df054845a7fa70d840dc04d119b8a1e34f5a43d83b1e58 +GCD = 1 + +A = dd98fab0bf32676deba2a6445b5b26e042e74b5245dca2eb758ae4ced364d2b2b0b9bfbc80fe83146f0119d1ad96f15ad59f743ce1ebbeab4ddce88da6077d761fbba548223ae8508ab43cb04d6b4d8efac47ccc31dafeaa7524d8ffe287ca2305ba6df9dfb9a6175e0a89543457fd2f7bcd8c10e42602f928b2100009bc4f63 +B = -cef417a8f1468dcff5a7b53b37316e64d8bac3cd517784c732d3170a07fe268e4cfff7362b82f00cfb7616a014c1c7c42a5aa2cd15353ce692e75d1be114167c0f898bb43309f4a82a81a2259bbd0c5b4ebc78069427b4d01e15777d1966cbe01c5c7076fc840c093405bf96432dc4164b7e3f0e3b8ebb561c009f172d965cfb +GCD = 1 + +A = 7f3ea13b447818e00d527e160643649c8e58d5003473d75c5bfbebe2cbb2883d0e32e8793ed8c20241152d2718f0c989c041d4592f1901640a08d4007342fa1aefc0354a4d900c3846a176801d01373999eb7e515a9092168e832cbff4f1caf76fa5f30407d158b10bf47cf058728743c29642e44a5f37b4db66ded9a14ab6b2 +B = 8d035269d413dc066d946e34fc21278c3ad5907e9cb2c9ae693b7565b4978bd4ef527112e2ecdf20e0655b728ea51cf6b2564608f902ff7f03613775f1a36df2008408689b1c05178c36468efadb0383affd69864e3d8f8889ae0b223e1553115d079fddf51e29c5ecdc4abf667023cffb0d98070984f75edea9a27473f3fc2a +GCD = 2 + +A = 2d30345d173fb6ba3f9f9502f5a177bd91d532118f2464ae88ff50e595acca7702f8729a2708e59ef66e557c37c0f950c61cd9ec88e44df24db7d51cced07021235c9c873980fb8ae5da3e876d4c3a12f70b35951d3b1ccb30b9827d6616443e1bf24cf47e17690d2da81454ba36759bcaadd9a0db16e6987fcea8c134e60b28 +B = e38335b08b9c7de3d13c956175d4d1379e46b173d16b5b583a1b880ca32a3316bea9a8fd761418c7f44dc9709aad964787b51ba206ec164d035a4c03a5276090bf8ec275aae641b6d0c6119b3dd441784d745dee0061d4a12e205a13a8404d158f3d857008597bb80e9d567413450b3a2fb5c54dfe0c89a16f9fdb16fb6d0e6c +GCD = 4 + +A = c7584c68d7befc88830468de6708d1f99aeeebc0bd2f06c270236ddd947eaf0816b2c19e18e3f065ba71e6992b9809150afc32920cf744ec87805aa0f743dd78772f1b90187eff89a8689d2dfb76761ebd5fb111b88fb04fdb32e443d8741be49dd7077cb98a2ea9a7fdad1dbecec1062c4b65b15365ef2b6a77bb64c08e9706 +B = -d4b6ad4a44fc414a86106ff6182f3cea4938fb2bc977e134dcf60b7e44d3ccbfb89b21d9c7ab9e0f050f674dbab1cc37277d2b7eff9a3583ea4bd20986cc7f685e4f1031cbc9f61f71938240ad8a98b5d4116b31e774528cdeb9098cd69b014066d27ddecad6f3a6939a633b61628d4085ce1359c9bf06b9b9cc690aa8fa8492 +GCD = 2 + +A = f364b05aeabad28e1002baf8ee7a4b09f5271f8338e07d321a76760051ae7460f72f13569bbbcd994be653e1b248142abca49222dc1f08cd2690de35f02b86833406137e091a14e89c7e9a9d449283527c13d0f2c531280659a00170f2e558c5a37c87dd1430a614ade77e78c4e55919b7138e2880522fa6578b3fafd2223930 +B = 363f28c9944a8e044e418d5b0289a282e4ee4a2de19b0f16001609c36b202b54825a2cec13a7e370bed3ea2f417aa35abd2477918127f3779edbb168bb86e029c7f006753d8ac2bc365cf959b7b9248b5feceec9a6156fbc8a5871259e3b238857ba10b30c98266259d6735a6aa8ef84dc0f4c3ce2afc2032b10cbf33ba71a91 +GCD = 1 + +A = -753dd368a04b19e90657d17040f3402a16b9089858d577ba4f81cd74c6f5ae3262e41ef4328c28e14ecf7d1e896383ff2f9d0eda3bf9e43d063d96d3ab6dd1d298035404d30e100400f2fb92d741cd438d2a9fcf4074c6fde453efa8c2e348cf1b421ba36eda318b957b0a0d4bbe1ce879de0be301d856fa8fa7f510fde826f1 +B = -afc3674cfcb1576dee479d12d3a07e2202931b43748b3a01664b8caffb3523d8af13a1e338400966c5f87e4f234051fcf7395d31fff5e40cf5f1a967f172eafa3899495f77f9bb9239baafa8a79917e01d04dd03bd1939ee56db4fb1b70ad6f669e55f9071fd344eb7139c3754cdc27b5b4a6f741c3cb4b54cceb45a69d9aa16 +GCD = 1 + +A = -56a51db9aa144a698983f98f2eca90cf37a3326b46a8e8cd3bef8a37504575b413778498c74c70aedfb9e039aadfad3aef06fb3ddd4cc3b8a78e76a88a5d97e8a461284179dc105e7e3f8790fb616cb840d9476ed172fa0258c90632f869ed109beb77d8f4b3e1fa4c03945b5aa772eb037c06251113c24065daf55e794e6d6a +B = 7b003c772c0db595145e3ffef7fc2eb2ce2ecf6ae0c8a0d3af11d2e43524d7a3cb70b36decc310f80a7428a5c7fb0976f1659e6e43c7aed643f800085b1b0925479775513ac2a24c407dd8820afaea544a86e51e4a156ddf397e9c5581783ac7b33abc57836127d84cdaae847b32842b9bf99d7ba554d0f34a37bbfe847ad317 +GCD = 1 + +A = -a3d2098694b8c8a27cfb0946b007e21b528a6228a03585a919ca14f37c6b454696be7496f3473345894f56884510724a048958f88a0ef03f5edcce2dffc95579d7afe91fc756466e0b56a4518a724a5dc2283e520f95bf1c0f9d1bfebde2151a3423a356001111295810b530f13fcf8d5b02294dfc06b786adc60c192e63558e +B = -17080aee3412236e396babdccf73459efd7578fdb465df2458aa08c4198bf4c5a99af40eb8964887e14bd6ab0da5b6f11c4a371933b3268c4e74878e702ea8c6daf374f6dbb4787444ca0fdacfae4155b9d3408e6e7d84145a410e115dfe6e734b0dc7b0661efedf04bf6f542980c4c1618c2499a3aacd7d0de2f0ef605b64af +GCD = 1 + +A = 306a0e87294260caed538117fee9ac617a96d316b837249acc519e893ae486449af7bf8222f10d0472ec60aa90d19f8b908a1fc4585b128cc57e6b878d676fac0a1b49e6f9ea685425139fd77ad9f2a09e9f5ba126e4c60c2948493c00dde87d17dda784b39ba2e95bf4103a46b12a7f456f097ffb2fbb59bb5e5ca668301a8d +B = d36c8d9b20cd3a12be94cb277f78f2193f647c406fac01f0a1087e531222298edb76305f0ed327d32cb42fb1dadc678795cb5755eb6a684c35575a89773c8096cf1741e8cf1345141737cc7af2cd5da38fc6d3c517514d19defc16cf6df692c9e9fd8160549bd9279610d65661c88b95b8de9e817fdb5a3ccfa934c6371d77fe +GCD = 39 + +A = -d5be92938f9f1e90f41cfcf1be9ded8ad969ee0f79d2740184be8886f4b3331487e84f9cc2a78e71f62c0dcdca9b7092b5060650eba59554cce56ffadc2f9a9827a0e4df250d23abbf3e887323342b938bd99ecaf44d8afd01211c350d1bd2cee5c21ff43456f3dcb467490fa18ab92aaebe1c3730f2e848379689536b936a28 +B = c51edf7bc148f0ea88cb4b3d112e1f3048a08b9da8c196896535c2e22b22c07e8e5be63f6fa18af23f9f25b7c7e8c9bf3bcb76da94ba82f8affbecac8792e03c5fa2e1624ab999d192a3266c8dfa0fbd53938a6bba729ccdb8e4337a75b6564bda12b4b4b989e470387dd19dae5e9c77666b51f07cd9e28634ef48ad4f4d11d1 +GCD = 5 + +A = -60f96ae88cc77059cfc3cfdf10d82c5969b843d6c76724243c738cc55ef428b4f9d321a480a3fef80caf7707ea10f6b2854f9441a7a77a1c7d8970dc18cfd03c519ef0950e2914198ea89cd188f633d3a68f0d1cf3ab5cbc0bab9feab6a9e57c191b56f67e7540fff882ddd60ac7c18efc550f101e14d4ecd52363dccf9552dc +B = -239a2f67237c916e8b6f9b89ccda703ee26c79211d807f396428f1df8feb0bbb75b64de95e88beadf2a3fa958aaf8e61a1b3f96bb3184b657c7f568ba189b3dc08f07d51e50f7e5117a02c865aae34cb3306f49d571e48d73d7916aaf68862e68c16246c2a0bf0d4ca55769bfa7da8bed66d2c1d2c7e6324a0fbe693935ec773 +GCD = 1 + +A = f49e3092c3ca80d325df2ebea6358f449d47fb27569e1f165976597f003a3e292658d296ef55a3d0b7fe880310fdc5841244390efd4f20910b23862eb3390b42eba8651d9ede27b2c440c3665c7a84d2578cb82a97ab53c49d99d95e6b29762371cb485f6029eb8ccd18430ef904422482d3d2f2721128b9f3f6242d4af92401 +B = -bbd14b4b3fad7eab95114bfcbe44bac79f7055492889f9ab199daded5e2bfb0fe73ba311ac226c0f79a52dc6b0566a51bd5b52a9d2076ead739dc2122e67faaed5358eb049e51ce26adf49dbe06ef80bafdafad83c53c933f67832f2ccdc6dea345feafbc6a9f9d2ab755b35ab691daf8affe2993f8b56f51e292e99f5baab7 +GCD = 1 + +A = -1591b52098b6fb6e18fa9969b06037cd5a5b2cd9f7bc834e2f8f82097a63e30d8de0b81efd973f0d6cc3f62ad14254cdbd087aaad2c051101c99716095f2c3113f046aced142ea90016124b529456ea7708ea49ff81f5f618d3cd49155a4a68b17bbb7f17902c5ed3aea75222c90465911dfdf01342668891443c90fba2a2371 +B = -356c8a4982053aeb6d34b250b0e20dd25cab372ea6d9e98f1f778d2d856f363a26706224d81a720554e4ae831c4d07ec4b73626a50a83467253b1643ee6121df28fd876386a0c582b8065bc62a74850ea962ccb2d777a43a02751762099d60f8993e92deef694f208007bb3577b98b2ef373d2b0eec1a557e47ad24ca561a151 +GCD = 3 + +A = 855c4c2e3875fcef52321f69a0366e4bf91b1258a3b6b3226a3bcf4c2c0a8cfd310c47419d1fb30064d23479a70309c73f916b57966eef448360ea39a7c1b12751ec19b35bca228366e4821dc608065ddb8acc97917d398408d3a734d15e25c8adfa0b966a940670955103a4226d5700b29d113b943c58c3fb0ef0981c0dae2f +B = -52a3a9c73b89185d44016498590922155ab7ec9c9554ba06038fc04e3d4422450ad0bb0557627e46127cfe1a657c41c87a91480fb157e9bcc19d1944346f864cbc5a93864add528142cfcef1c042e61d63c2f8fd12d250c7a0526d413149b29641ee7941c277e211f5518ff572cf5b025b495c3c8df10a4a66af6684aada670c +GCD = 1 + +A = 23dc368c3eb9e042546f6fa10b87e7eb945c69eb5f44f37310b68d97e60d5f7401b69a754159f8ae4dc9ac935cd08a827dd19fb2ea5d70aef9cf20f0e4818c596c2c7a0ab607e4ea8176e3e13ccfb84871c0d0aabeb7de0d130d50be98cf44ba6869c588f08ef466ea8f3da672b6b509ff5ce31030c9a9fc4e4eaa6708771d44 +B = -5b25674c433dbdaa030898dade6bf4fc8894837045f212ce3c06d10a8fcbe1d67c1a31f9bfb1aa84c00380208f3bcaa8f55ba7f2892a39a0c412bce55d08104a73e9e699e61023ccf53a524fb938c9bbe0b83b88466522f1aa8c41e6720d3b016a913ffa7c3d27697300249b7923ed55774c03424ce455519a007c265d898aee +GCD = 2 + +A = e816bd876e1ca98c2e0953a55ec4c5f22a0d6306b26464d5dca8485efd25036a6e5e77273fc215a37a828b80f3016da6086f63192e0962fc80388b0c88ffd3945eb60e5f673407ad18c4e62b7cb5180f8a961765f08c552950d45ba3b63e24939e1eac4c509a3ddcb4ee47446f56cea9706834249710dc47241dd49147f2cadb +B = -babf7052e1977b4e6ef4caf0065ae49375021c3cca77ccb4e12dc62900ff3038e78b823078e964b653efc5b519e26c7cb034719be94a69635c33205ef899e3f994a9f776f294158660a959385620846bc2211455f981f34226720913016992031a51155d4fcfb964f27ff3318209a7c5ce9433e38d803adcd01bdbda5a1df20c +GCD = 1 + +A = 4063fd1e25f259da4aeb111db384426348695a8554818ea9ca54d234e0b19405b30d75cf47b98293d9bfa2660f5ae8ff92bf663b595ba43fb45e59b9c8d89090cd955a97eebcb7c2d72f361c08b228dac2992899b80ce94c61c9426f0d2797808554377aa6f4f94839bca1ec30bd871c4b077952972fdd5624466b22712b606e +B = -b4f93303a614bfe88241df365ae6e2b05c2af23ecb547b45155475d7e329da588db707701ce10eb358a829fbf040e687389cade3881674ac7cd24f3453bba830e97b6196e1df2f9206572cc732b4d21f380a98276ad6f353d28b275de2a8f1b33f2e0565cc0b3e4e5a6502b78b9315ea711a340c517c2e3501a503da1f28b199 +GCD = 1 + +A = -21dd649566da91768470548bd925e11a7c24a9607bb275ed9ddfa34f665fb4246f75b02932d152a05434a5df129ca107b50c353ba303540fa569b93704f0daa212d3b59e9645437119399f4f7d37a1e9cf1e74d626cc0e79eae91d8d487095ed5ef22e0d15a8aef00a6db5f0e50cac13225cfcbe79b13ec05ccf453a4c8106e +B = -c8e9a63718d59605db093a1284dbce0a0e6128f00fab41f86120b526b3569f79af2f9aab1c911d10f270035541a5fe67311d0a63802650e9baf72314426ff42e8784cd15fa49ec347e8511e2aa246371f7bc035ac33b3cfbc8dc76c7d8c390205ddacc4c146ffc189bdba0dab0f31e57efb8156cb48bedcd5e17a2418b687b0f +GCD = 1 + +A = b14b6fa2d09c53234f0594c9be1d1116f7f4457ac2b94d8b484b0e27ef952475528cf0e6d18d3df3b57a07214419150c5186540f94592828ae01051b72f34e9bfdde67c0f57f37286e7a0cbf661c4a8849a82f8e3274b3e1fbaa7e83e4e12a6b97d5e3c1d279976b55fe93318c69d1aedef6ecac5f8f5fbb05d2ff5262dbf8cd +B = -f07562307b893675106cb458cac34e850904533145d58160eb3cf593330969647595881a9dea91d37d6d7d2de8f1783fcf0fc2fc04d59db604d1fc48fc7a2fd41c4b21bb38301baf24b9bfc5b4012fa96088ab3687512a594b6a51d75355f20be8fbf1435e53eb7cefa46f78204eb19a592b5094df9f3f5a9633e85427148b7e +GCD = 1 + +A = de9a0b8674ed240b507261adc010c59a6848a863fd10ceeed6373afabac5fff2e31bacbe1ccad29d10192833c873bd20d4a14df4efa9ffe5ae5ddd16b631a8a385aad345e743d052e9559a461dad52596e4307ea8e277f59f9bfaf330fde27ce1337938f07bc3efcb4048d4b7acdb514b7fe06fc37f4532cfceaa16da49cbc81 +B = 761aea78854bccf7eb0e9442a67a4873759e693c9f7626e49124b27518930e67a700b0be817e801b4a4614351ccd709e4a665a8c0579264151b2419715630c8ca53d6f9ce4f597cc045e69761c01f5429bcc6597b00d0ca92430528dcb3bb56e110466a53b290f1e1f3442efb7e26ac6f59c1aa3dfa7415895332220ee34e95c +GCD = 1 + +A = -ab1162d98a163a84f24e46191f2a43624286fc535f9c5a5a17a4931cb1105bcb618c58a79b788fb7959a649a5cc0d3d10dd990cd0a5afa8059de2abb8acb067466cd25c1e433c6c2fde212c08cdd67b4b32030497397d492a684d94dd55b807a5e63c01a4aa938e8495044739f9710a9de685568ed2a9f59b06e1cb501896282 +B = -a5ec30558efd043ac3e80296306244056d38d792a29f2113be809df1639e883a80cddad293b487bf39a3fe60f0e15b0708230be27c297bf93194836b9b1da04f16fa345a1b898d5e68752c2b031194a4359a424a0b592eb4b07f53137ea20c3436606773b2cbbc945bbe51ed6e838f6df398cf55733aef9c66d9d7910b2afc62 +GCD = 2 + +A = -d2a3fb79378be5427bb771e233f32872f692109d39f4f0d4ae9f831dc7c3b8957bb96d71399f1592545693d24a77bde6efa228694d08fcfdffe3fcbdcdfca2e25aa38adda22d77c95441f0e80ba7773efad08548764fd83172befe3d6f3b73df5a10ca75a13947bb9a93bc20652f7309f7be24493c9af7eaf80c4bca45c8a818 +B = 61b4c66345f0fd8ddb0185767da295baa22d51ee461879ac0b0264fbb09d2d0e59fae902625eb8d7af338fd6e91fca3121c699d5e9e5a20b8992c6295abdd17cc311672ab014a83dfbab26bba482f7997cc39f6e97746c8323dbd4026c7057a67ba248a721ee933441f4f716ad6ac4e834fc5f15c8ba38e5e62690c3faee5591 +GCD = 1 + +A = -1cc11607588bdb98b926f330a8cc449fe85eb876e138b4234d567b3e8dc9a2ff3142181069d0da06919d782e128ee7ce0e2e95dd201c11ed19b8674f82dea6d5d6253f7c705378f0110f6ceff2d72f0f6e8e62c3351ab84164187630db43eb188775207d27f9f11fffbc70185eaa57d1dbee64aabfe8ba8f7c8b653737970ca7 +B = 2410a6aed9afe750b328610f85ad82fe7b93e22d3c57f35f0dd2c449229dfc10ad9713a1b1756c02170dcabf735038e4212bf34f28749487e9b4d1db8715e7803941baf034f7868ca89e76a3fcf16ebe5e3ad87444ab40a2cdc4286c9629798a69f79c807be9c86fbf0b93bdc0728f2a504ee5637a9011965c85578b5187c4ac +GCD = 1 + +A = 961722f18949e64fc2b37ce93b4f10df539f61423fb85f6709e269429eb582a9763406c2466bb499d735dad454726a363c3e54c60d668abfeeb71eef5b636c7ebc047127325ee717d9dd7e95192eafe189344ebb4e19fa543c51d937e9c3adb0fb8986e663840ac377a02bbb9a942ace6c13a78fda252c70cc9bfab4d30b75b9 +B = 65cf045c2ebac15a51f54513153ebbe631419aa7bb0010dee619cf2bed1019812f761cb1ae2195200163d96c1a6eda1a5745a18d1474c351eb680829bb604c8046e5b5ba21d3bb39a1207f3bd14c8da8c0d2538f89dc0311a646ca6faf11b0e1bfd3a21a899890bdfd13ee25238e8161284d7533e51958ea5c5f1d897d9d0236 +GCD = 9 + +A = -62df09338845dc933d45672198acba7616273acfa347c87d0b588aa1fedd909e0939272970d0204b209a6ccbb361d14c1a55ab1396b800b9a34c1135950a055af81821438b8a1a13c64e2015d28870555291d1a812fb25e25c1454d469627bae7d98a5bc4b28e0fc66fc2120933a1f20c24b0506e06595ddf001fcdca2604777 +B = 384d65066ea4300dddb8aec169ef23a2726258b47ff8f52293f959917738103c6dddd0f80b431d99750b22f66cafa7a5813fd71ac9bfb6380fa65da1feda097fd2c4e7786e0a188f89ccd6b24f06ffcd632285f3acc86f0ed2bd8a69f6bc39fa8fcc471dd22c411b6b34e61bd04a288f3b8209683db4485fc2a6b81c55cd154a +GCD = 5 + +A = -857f986de3645f152e0e689ac57034a8b31d51918fcb9a8b3d6cffb6c2529ac4102e9d1bb1210893501e7e305771411fa93b92a459e1406d7c9ef66890a2ec5cec75ff6919bbdc813dccd2d987470ab5f639943b5678be5e6704e1a8bfa3d3b077dad37ecefe34cfa6591b900b9c0add33f8bd282735536f8ec66875f7978190 +B = 16c0adc2d3b86fde6f053d1950b83765a9bdacfc22df0a8bd6c56361c1d24e903e5d4590dfbc64c73ab6333a740055fd9ae97ae476d729f871e0a373c4bc8479f01df5edd7e45a96aebe40b9089e6aeca3e291d87759d5aa371139d4b95ca5ae9e248512c6439288358273a918e0714d5016dd2a7bfa4502082e1022e0c7d92 +GCD = 2 + +A = -1db55d589bda08bd7360140d0ae579a2706937e0d0e4ec84bc0b5906f5dc33a8267ef04eeb3bf99d11446d9a1818d9fa61daec41df466d129f67a38336e05c25de2f7b3034e3039668cfa7bdafd23d0bb81f03ad0fc1bffd152e89011d7399f1a3ed3aa03e1177657d9496d75964d97b13535818e39392ce49f8c604b8efc49a +B = f685a5babe5a5ba3031e643ca5c721abd1fbda6c75997f86a994a4da1c38cfd158462c8951f97cec054c86b3c4b082fcf8d55b864f88ed74bf9abf61f6cd49796a4def9310eae7323d7f642cc3d6b3da45bfd458e082da0ad92f44948f6093563218946a4c65778a4057242a4905b00103af41d5f793eec54c04dbc9c8793fb4 +GCD = 2 + +A = -6cabd38b7f13a98bd4e1962a4766bb29fabda331508ae24bcb63e97d6547fa57fde43b4ec07b6b5dec01a0974a7d3e4c5c2a05191b41910c9df1cc871a71900c9d50d81b0aca3cfc2b5019a151b1e80b7b5d56dcc520de314ab661339238c41c6d70fa5bddbc9387afd6a1c91904fbc7634381b431c0a08395d2dea75bc8d8cc +B = -7b4b05b727311395960b6826c4defd4bdb12bac43ae7e54d631bcada77a61f2c3d10383a0075fe79fd297bab0dc1b03c6820c6bf926fbdc0122d7b9a6c478f20aad3c4bc14bd7a0d68b2bae7d2000a5e1175511e47e363ae2f50d22d417eb2a1f8e61ddbc2d6be596346844e49d893fffa8e95662875b56c0d0becf67301f5d5 +GCD = 1 + +A = -24f968b4d5d3d1122c1f4168be1ef884218c8953ffeb07f0f0905342c4f6c073b99e51ad09f432e9882f259da5cfb3fb3c420cf8c3fd9946f4a9a43e367f4bd958972b6ae4c28e730d9f49b16bf1e70a0d1f0d6b6bd68761c672708008d03540062e6493bd43aee1cb4bb2685489eb224953d0ee2f8922bbd718536b19dad4a8 +B = -43d82a51c59a02f290022f399f275da2e51c8e13c214f04d76aad258970d3ded269475c07ea8153c34503f25ec07742df602ef055305c5acc7efefa6474c205707cb41698c3fe409d25c82fd0bd6431fe94fa1b456123ce77cc5d24c5bd62dfdd9cd07db3576689a26d0cbb095a170c1a37654e4fc334daf5eb98387ec4a2acc +GCD = 4 + +A = 636d11711f36e260069cb73fa0c1b2aeb06dc1eea13bf1ffd60d07a2f362d4fcc910288fc80725ccfd0a93bdb3db13859d8eb06cc49d21f1a4727845113951c52d800030808d55e53c8c9a2880337dc1a3dacb0000e34f0f6b0aa30c16d1223cccf11811145eb37e7994cf7e2ccc88bb240faf25d8de9925f7522f46fb925319 +B = -bcf2d134049cd275476e4b255a3acdf5d84b3419a932ea153a4faa95d1ec5578e2825eca2cd42b0bc62d4553630e2539ac2a11e4cabbd3d212f77438f8ed9a58159c262fc8ac4c5e3574ff23f907f043a431a9c5801f321c845b40214c3ae5edeaed5f4db8fa364b76e0c5ca7a14879f629030ad59759d3c3426088dee036ab5 +GCD = 3 + +A = -6b0efb5649ec830c0f46c9da3973eb8e120a8ba25738c8c2ac9a58d8cb74835941e6cca4ef6086a49261afa28c771583f772a82d4e3acc26bb4f4368c62d4e6f918d49ec463e8849f7e06dd77cac5ce257c45736c789a5102f31401aac9703848e7e728015767bb5f46c5180688b967bbf1326cdbb5a9b8f397e7e169e5870a8 +B = 6c556488a56d178367a48de914f3ab7c695c704894f9506b17661cee6d6afc189562a425c3f21384438a9b5fef4dc3eb1e845911f17c202260274aee1d535cc7e90542cb0ea978b3201d4650bfb623d8dd192360f074a19471970f299ab59b110bc767d9c0bac330f8234ed2f5f17b0a14889e3975047b3f07de8c99ee6fc7ac +GCD = 4 + +A = 88403cb3f6dac3516fd9190978e668b9e76b9180e6759936d0d744547b41326621d9b5e3b80767f33f2e0de301c918faf56f0203f15a2996d86d5d1665548b392cb35ddb1d52fa31fcf376de79daf7486c453809d8addf1d8c9b12185af90e1d7840969bca66673c63061bb89dadf8a11db77a072061e45415456293e5d4ae9f +B = -5aaafa59cc04fab48e18cb7edcccb3e2db5858ed4f2a4b5909c41e6dc813ca44c74c76afaf669d03df8492600120b0eb8fffba9b19e39f8aa6b66e9a34b8506da889f7ee7aea0a37506fdca5953d55730e4a3fa348b3c5ac706604b2b2559340233d7b5135b6e323656c6582e6acb46379a57be8e07d17d79e8710152b28d518 +GCD = 1 + +A = 947dce7834d19fef53447018c986183e1c51c390eb823f12a7364b4d9c328ede24fce7dee0d0b40d9fc5099cd5e6f4550f16ec7066ecc8bcac57b46c7a7e4359773499b0df3c79883cf660d41b72c0da67782f71937b961532c2422e42b8a98647ce985868949abf6b702e3215a77593bb4f6e92db2c0c146008468679a23f93 +B = -784799efa56959587ed3b46901ebd76a5ab7344e3a4e2f69e8ed2ea3b21332e37fd7ee403e2244b411197fe0d95950fa11caa1feadbe145cb538652890bc1bcd526aec7632e19fc05ff403ecdd4ecfd919b7b322b69ff11475767cc5e32fd0c6c2a9fff4f54a474d4ca88f42468932c4a0dc9fcff887159a2adcb7caf253917e +GCD = 1 + +A = -55e4d28b74ec6d553d1b364f4db88164a5f6f88ec359fcc0dc46bc393d5271d4b5b0744a70391df7c26a3f05c65a6786774d7cf27327fd5c63d6cf9fe523ec0abeab7c50ad3a0bc7722f5a981db8a71bd8d662332f96da6cebfcec6c613f6801b0e7e20687330951cb27bca867bd74a77e814d9125400698ab727f044a5e8f5c +B = -9a822fc748950318d69565cefbd036a36d1b80b955fa774d3e129138c14da4199c1a235c0cdedc7b37b7d6f49fb4c50a3bc845380795a1e9925f5c8aec94ccde57a468433205d10005246aa1c4922249e8c27687713e2523db9d4a95cbb5d3ac81eea46e6a0f24fda8c34feae6e4014b6c9f11548c7d560bd3e5dcd7b083dae3 +GCD = 1 + +A = -f3915579101ae26fd8a042b8966e0a4ebb6f450f62e362a6e80c780941ac5435c7a25704ed63af184195f017424e1b9a6d88865950df314d865e2842c4b0484b04c906cd572910d9a2c1166f42f1a836590993bcc0e8a45d60a2d6be0f7cf2e17b11b0be4a7e24e41f92603a8892df8b92617b07d84858cd381f769809fe394e +B = -3af27f228fabfd06ddbd22bc7611933e7741a1d1facdbcc9726315e2f22daab36bb9cff0e2e7fca709c66fef35ff6d2b33fbc3a10de6198a8e9654c53728d6679dafbce191c14a1ace250d96e92b46cee1cbe4e9afc8b10cc8fa17b296c14a7bee1c22182e3b7ec42f092c046fb80168a802f55492fc6a0ce5ba3b70621e4886 +GCD = 2 + +A = -1a9834a5331ff1b7b94ff2b8f5ca2418381763ca987fce6f13c8921741f421ba18e45cf22ab7bae201c3457b0eee8f18c8fbf740d7b6b0c135f0c0f6be70b4f89ee3809c90a1bceea7db85ef93870a2ec238fb27ab4e2ed001b81018bc8c1485e4e75c0a1dab521281422853285b2a142a578196de4c55593890d5328df92551 +B = -4d716c7e05dce86ecc8aa5d44ca078155571752b61d36d97db2d1090bc8cd79310ef60d765a2c1eaebb38191455dd71e133ec8d6a21562cdb1e5ffabb71e95a953bdf849c39fac7aeeacdeaa654ae2fbb9211b915fdd1210bde92a8a468dd959b43fb5cb8928ef388c8a5c1cc864065f0c31f2ef65e405ce9f67783252da1ed8 +GCD = 7 + +A = -bce66a48544d69e2e5c5ce2588cd3693476f7272c67b5eadb2c14be8f9a0bb086261aa2c7bb4cf87be35524e53ff9fb1cec7893024dd1487b12722f5beaf6ffd358a936f6a43944c053d64b73a340f68bfba9ae9f4ebaa1f6fbb6c5b1d1a0f674e5cc34a7612f2d91d2ea26d5f14daf2afc6ba3b85b69b45b693347bf25e1720 +B = -d4e6369c7aef6c4ff6245a801cbcf984b60b6242d3904dadd4021b3b6ff7614102235aa3486c3da1d89f2ded9a1f507a47511805bfb27d31a702fd79251b90e797927a9f1970780ba80f100928f782e9f894100b1992348d64037e869ca522a3f928e43fd8dd69a21af0f7722e36d4f1876ab67a4d63d52741746256f68bfa21 +GCD = 1 + +A = 2f9285d79eaa65235ade7169dd1cde738e9a70eee623115497138d95fc3ba0b7160876eb3baf065d06993e26d82244ba27378da5e5df7b1208df3b49c11b516fd0e28b30b618d09e8fcbeedae1479b848d0332e38a77a8337c9ee0fee0b5136079e527fb4f30851a2c854baf762b5144a9dfa7c91e6deafffe68aadbd8a7187c +B = 2415f627334139d33fce229dda858f790695d936d764ddbe8616d0588885456d41d4f6ee5988ef12bbb196dcfa87172824aca0210ae0d1c86ba429ed9811c2cbde2f8a6da5b27c7a2ec1153d8b59ca4e17b02b9eace9850e3ed1e10c2492d7856b0370241a9178f58786432cc492e9d24ecc7c197de3947b857bf6b8630c8a81 +GCD = 3 + +A = cec5427203cdf62c6a18a25e1989d6c8b5c68eac54757010294c7d3c312a70452840015f22eaba11a9582d01e6f02bbf0477c7fbe8f0e85088ccc6e64df24bba0ef05837ce6394c5a2da76fa18517e5379bfbc007129f6046027d4600ff4ab1ed2201079ffa77741a713df4b21206373c0a00267ecc2d27b7fe6dcd986cfb33e +B = cdf34772ca52dbf46dc9018f74c3162f521dd2615a82604e9f6203345236d2f8d7eba85b0d49f1aeb3f660289899b401f01d56ee1316df385c4aad81d85a0c66d412d88a8e4db2f5579c648619ba25ab0b118428e77a6acbc3b234cc6110df96f467260880ee1d2adedcffd5c2137c2845342741337bddd9182507cfb1b17dfc +GCD = 2 + +A = 2faf9f2f6eac0a10e6b0a14df59a3a13dd9f2b1a19b2064a38eeda0b8c4d70535d5b6d16ee8cfa115079e0d8677c394efb3a963ff67672c4151a1512741efd5fc124947d13d0ec1a34fdeac999b899f75e10451b3f73a2deb3c6b216ccfc67c8f3a4f588f239d97363916587d109ece92240a3db36245a36725d35d6388c01a4 +B = 23bce02f7b7073e037cccce224f479c689c66bfb5d13709ce2b0aa65155fbc27a343bd2c3bfef891b70391629b05ef5bba2bfc5e0363f406dd3902cfa1655129a5423334537ee07e7b929840a8a0966bb5879ede7b8c7acc6e526bd533be5c0271e4a8ec574cb20d6b6c5ba3aba6b77bd7940885ba6eb93023e737a294d5503b +GCD = 3 + +A = a6e08d945a2474842150da5ad2070b2005910429ffbded511f808af86d60cbc076f3850b57da719fbe1885bd7f1afd58125ac9d35276a9ca28e9fecf542fb4d20878ec00e3509046084accbdae052b29e4c573bec72f8a2a0228f93e44e91f233bbaf60d45198a9c2aa0cc77649a2b22ee0bdece8cccf9b87754247599abe0c +B = 1070bdb20f1af7b35dde9e5caed0a216b21c08bddcc01918fac7ccc5edc1a895a1ce0d733af0269db273ddb72debe3998b4af21d198630f5226b03252e0e4447f1ca04f7757d25ae950fc1154c461aa2a38d0740f0c7f821f75da71d7bb20f8aa2c1ce4c53163e030ea3ac74018f7d64e1251844cb0ddaf8d5b7e6c62841b4d2 +GCD = 2 + +A = 2cac3f864ec1ded24bfacc4e148b32695498eeca74015dd20bcbcb22fecc5aa1c3700a65dfe821fd0d9016c3d7fbcf2d85a97f4f32f041d0cee7a524e97390eca65f508f9df01bc41358b296b3ad84fd7f07a56fa6600b9823f983a7abae28f019d25bf2339cc58454a7e5948708cbefddb76366ee67587b2b2ec774660e5162 +B = 4849cf4106e3f6c994dd0f9bde071f78ea7ec4a4ed1574f03a9dfee2afe74b6627dfc7cacde8801cc8e56e5fee245ff6382303b68b3e5ea71425ebd595fc0c4afeefe4941fc68591b6b9ff4247c8e04e7bbeaf518b1b133eaf86e46c7bfd7b4e87cbd750913e3fa07e1576bbd4051de5272ef0e753dac18e17803f6f9687878e +GCD = 6 + +A = -3629f8989e40503db0693db866615af7a0bc134d590ddc326a219e20b02fb658ac1d5ad968ae557c655103c72d2881ea02e4703fad02d6325c50583f10199c80a91c223657694cf56d1fb3e3211a5a2f667e449e953b58ffd286e532297255755448bf5b5facef29c27c545a07ad51078f24315d97db59814a1be211cc357812 +B = 2dd2b61c456ed397ce4cad3cfc11b4b96c14fe4014af610e962e6b7b8a2fdf86bd61ccf5e16fe1ff37d994bf4c47d90badbc366115a3b3a13c5ad5c62d947b446070e2cf729eea8f3c7f5566090aa642dee5cf5326b1bcdaabc62d5b0b35ae984e20960e6ff33fdbe8b2c77c90a7f2de959884dc8cb8a13d6f5af0903593f63e +GCD = 6e + +A = 9497f2226e1214d85f6c1b20012b4e785e0b0f6d8526b4fa47b84c457a599a3bbcdcbb6e7d1b13bab9225449ab2eda5c1706b35de082bb71902aecc2dd7e0231938685c8a7327b344c8836fae10e41c5757b4313e3fa74cfd2f1bbd45e2adcda1de71e8554118d20da0fc253a9552de41dd30230e0a6ebf69d1bd76e4ce1942d +B = -900de7a1a6affe8ff2515f5fa70e0746e298f0bb1cf6d11c86b838fe13d601026655583137ae20bffa5d2431d988d0d627fb8cd18e57798f7fdb3552179fab6ed11b48e70d0ee5a626598af8b719a051bb621751f58303258f556e533702175e967f95d217bce0bf751255f3b0c2914a65b2932c5411ba4f2444546f93af78b0 +GCD = 1 + +A = -532976cd3c8e3fde31abee5c5aa58b0f16b53e23b4e4c9d8024422928c6c7419c18e521c68191535c55d178bfb381487d0f360c5636f92d4f3e9261df7e04ad5cc16ab8544c786d8d1931349d0b85c21ad1e955c0ac79771bbc7b9b53f4a514bb570bbadc1bef54151eb75dc3899e72a04a0f76b583f6cb5b5d3ed9751c18c86 +B = -2347de32a5c1e4ca6329a652172fddee596facc84c873b24d0ac575517ffcc7dfe80974a76b15307c7c0c88894702200b6dd071e2cb1dcce5046a053b0b6187e7b82581adaca73238b689cd869102c874afbd3e5269c98e21512febc40965256241f09c6eb68a4384b9364ac066d824400dd3fe83f4b0ee7f372933942f134bf +GCD = 1 + +A = -e63dc5a55722e9391ffd14fb4472752020562d56c3ab1aa8d7bc071bd0dabd2800507033448b62e2539b6c2bedc8b993fdaf0facff097a897cfbe0995f8beb7a02a2b7b3e41276f6b9b9326b75936ed1b307950a5b7a1222d319a8e1045014718bf7e6d5d6024a92f70302421f4636a493f599b1c5473a91d44bc18d3a18c0ee +B = -63e4441545a8e3e9ec06635a41d6bb9f2058dd8319296c0ba537c872012417f62f61cfb9eac28cfd66d799569330a148ed0c4421a2ae0950fb3c20482b05a747a1c5e2929174c128d69b188b336a6aedd6484b9a3332bfdd07290a11ebc589fa19ffd91c8dee0472e6654ae0d7e437d7160affae650a6694d8486da5b61f0776 +GCD = 6 + +A = 4fa36f85da1ffc4fa6250cf6d019c77bae7e7383de971716adb46ddb77c905d0878a08839cb31589cb651a18f0f14911dcec8f21a8b24c5490b8539ea66c4db701fd6c5b213ac5e8c3cfba14e84f86df32042d7991778df385f608f75b2d047ee971ba7f537327e8bbd89ab48fb9234e0b8099b9ef93ee1875a2d3c59683d197 +B = 6585c622d838f9036f411e2a46a8ad7422f726e502ee4a2f2f0da92264de787c64882dff0f8fbe208a5df0effa4f3e77b63b88a9875ca416b7441dd6ce355f25dbe42ddae5823097bae4164ac15d8efa7c9fa21aafdfa0bb4cb73b48c312ae98db8d434c31b77de08f6b0c6cf1f00c88114337d6b6b38df298a3b67e14747e4f +GCD = 1 + +A = -742bb69c130738fb2cb08e95487a3b53994ad5dc80ea81c0815f0d32dc751be13f5a89bf9f13d2198fb86d7521263cb7678dfeb2667cfaff90c3fc95963c3a7867fefe86a4586d759b849c0a21007a665ec65a9f88d7f9e7eb0ab32cb31a21ae9024ac9b4b63f5a1bcd8cb6932a44f3a9a468e56605d24280ff26dc4b668450b +B = -c617b9f3bc8ea4ecc0920da679a4410611a20f7396b9aff4abbea2d5d444df78b2df1b9070ab7c5e083a4acb936ae78b8833a9e3e9a46ade5a10150c49019c4a20b9275e5c0dbf87746da29c391cfbc214433417c86d2b10a54419f42fa7884c1ebfa381907e6d2ffefa2d968c44bbd8b9cf670909bb994f504fa4425d361ca0 +GCD = 1 + +A = 3c2862d5e5e0fc4eaea2768a88c3b57633952ba234f8b513a752c8de99ea08dce506d46203b7b5c49eb0d8179cac6f23d9de74c632f722c7a518a393c48cfb71e4d20bb231765e89743a2f1bb1a5c1a24915272eb9407fed1c1a06eded3110f7576463b82afde4dbf7a4e066b643dc7824cd8960102d384b6b1e2ba4ec8731d8 +B = -2462a09282fa452d2cb30f9356ecc7ba90189cea0f3091b16ebdd420830eb6fe89b301bd70e89d9f4573b4abab6ff7dc2e16a1556fe6a8d7e9cd79d3692bb7fcd123f7a63cf3edb1b538b5fa2b15e2c4412ec707948ab75c39deb307d972a318fd29adb7c231fa18c1ccc7e4480fcadb0c0bd3aef789c411cf073368c8307f6c +GCD = 4 + +A = -61f5df558c7438fdc0335dc7175c9a59811ae41af43825829007ad1c52cc4820ff4f65cd6fc65f68aa9b52424b67aac2bf25b8ce555d66c80f530267e4844f133df40ab4c0034641b6dac3a26d88df651da94a54aaeff46ad9c4745d475c83e1a04820c4b246c6862822778772881f1978a39c15929f7187461510e3c350ea58 +B = -c5b7b9552a025eb3d994e9c145e6cdbac5ec2cf5dba21c8ece799398ac032cf051f60e828665e8777a7a646add7de115866f01f444a3f0bf1ac795bc2617be8559495b71b998e785f6835b84a36a59909959f8edd4a0a0972f047bca702186cd6839051aa23140fa98874e7b5e2c8555554bdff981eb533cbb7a5dd36420daa +GCD = 2 + +A = 648eec6d8325b0a7374a8c3ab1ddb37fb3c3fff07f7120813187515f4ec3ef56480557c731bd3caaf68c68236b44894300a8249ab5789e4a37725906be8c6d8e3d68e30fd4d83cffecb555ef049ef93ff79907aceaaa3c8bdf1abe09219ed73f4790e750abac9d8e2e97b3a804d401fc5602daef1fe0bc2988c7775ffaa5b3f1 +B = -377d750bff734643261b2ff53c54b7951b1584ce225c1b3fd978213f5105e3394e19f3dc43ab782e74d8928a94c4b24420b6d733f91933ce1905db16725a7d959117b89349a2d18ad18c07851b471924da0995f47c973ba7ca26446db89697dcb97031c7f85fd35c1c86facd91b936f6aecfd0bbdc1e26462d0b148718caf179 +GCD = 1 + +A = e09852d480c6ecd939dac4c0f38977e4fb516ff5b7c2eaa65d5b1b61bd587bcbbd9e2d7d17e488763e9bba2f5d468340a7dda3581c082f325aa9a3a46413e6728aaa3b4d20d56885c5369287530dd5254377324446ba6fc0b6d10949dea78d1163fdf8a46fdecae602c3280e698bd908d7fa9d8a8392571b5d9ddf2906303ff2 +B = f364abe5b51325e989817221d40d486ad6649b094ee9848d0ba7b1fbf1e98f8065860c33fcdd1e40f03d48faff2def9cf27d48be9764c6fdb22139083c57b83ad1ff24dd7ed25321dd320e5ba42246e861e634d5a26d9ce803f09f92037a6ef20f47e51508539c3639da1c1d1edf237816982dfff3c142b012bb59d88f55b6d +GCD = 1 + +A = -8a194b89d328c5b8931d5881c43a70b1c4d79eec0621aeb6fec40a4488de601f267c864929ac642c6679c5f8ef04ef36bbba2715d68d7badcc43e22e1c32cb560eba3f24e314085b36bf75a5d6f9fa3fdc7e5fb0f44d9754df0ca65a9c1efb862538b34f4581d79061bf0d2acec5e5945ed7619b90f740caab115b837eb417db +B = 166431c8f2cad8bda05bb2c126c891902f6d97dce4eb4e4cfa80dffece6bb738816f3ece6f36218c107e46d37f1d3bb58ffcdc182d806ec4d52df0db16a439a935379e738dc476a6c66dd1d7e010d05022a9bededf356a7c31ec953f51001251a20329408a96ff3daf685d0d3f9b2387e7f2c3b03c3669a37d91060e705c98c1 +GCD = 1 + +A = fa19148af661450ee78d90098ad641a9a51660bbdf8a137976468e404b5e6741e7ed937c8d358bdb1269716cfa2a116b54518f19051ca93ae9a1f815f26df6ae718962153e6a42cb46bf963bf9651272ecb37211cc34d086dc8fd58fcbba5df21a62e7ce3a86cfce24109a3d7bae57e12c74127e490d5ed4d0c12c1f6c69b94d +B = -7126e0d273390db965e25cf2e9c48ab5cdc7a621756a60292cd4336e83e20fbf4c8c9307adf54782533a56608490bd54a6eff227d41fc6e994c293c6c9f275b9e9abb8f045edd11228751ae6cdf9b36b60a4571dd5727401b689c07deae87b3d0459bdd703c7c6d5ec8dcf7729b37ea93f8293927a8b7ffc583c760978ad4fec +GCD = 1 + +A = b31c7b9116fae736fd91ab67ed6b212f14d7301741914e48a7420f5b4999cf59e160458ab96475db0c84a5cb07737a8296af83dbe30bb46dc016221db50e8243136e0069f2fa7eb4b99e65d7d85174abd142aef3dbad60896eec6b98c95a5e31bda73b3dd29803bdf87ff63662296f92fb8e4faa34d7828e382641faaedf7d7f +B = -2a5e6b189c70f2d03bc32bd1726b55b4d25e4f0eb9b2f911e6b298fd9aa215e82f429c6ed927cb4de5d26ce671ff0fb62f969ac36d72d6bad9352e2588e32134a2530788df0734dc8550046e9898d5c53b323505dcf13bb4037135a093a15f1d60ba593e1c26c427e496f06f1a29d98c43966fb482b8f751d5bd93ff69233d9a +GCD = 1 + +A = 32242ac9e9c4f069d58f3f8701c37693b336ccc05d709c1071dd417c7355353c24e622d331c894588b701acf005b07318de1d2585fc8acd71915b234c937e8faa8ec29b5b5647863cecd09bccc40cd826a14f6b4a7a70d52fe7220af5a05cec6ad3a3f6be1284584d59412a381520dc6efad2c4cbc7e1b4b28e2541eb2ab5070 +B = e4829a217d2ddb8a5e30fa73f943d029f1ad187d9ecd61c3a38438e9107f82c8708e2f8413ecea9c2070cea54023f32e3b5cf082c3e168befa7539bccea262ded34055e296a4760639822c65025f830f52422b5ddb9b925fddd2c2dacbdfe3ed2dbac9378e921331a0a570b207f0532c682add29d6a4bf04e7b692d1b7296208 +GCD = 8 + +A = 9ee30db91ba625daea6ba8c56bd98be6992d9ba69ec48c81e8fdd8f6be874b0bd7c3c63dad98344dcbac909e780e366d1eccc374e00629ba26ac688223fb6a478f8bbee2068f905ebfb18da1d1dec8243a9cacf3560836a4387dd7ba1d71e7a9cfb50daff55138fe7771d4cb112c307d82b1a9da61bceab8f8f41a237dbd46aa +B = -99e4e2f7a3a7a4879702fdf8fddba531cab30dee44d1b64226efda08947274a53c2b07ec3ce5a6539ecc2c1225f0d88fa3212ff0ab54a9e7c2d3ede3a82ce2a769854ee5f05b1b79fb8373a7a4da58bde0066fa160a00f4071b400d5e4031f2ace0e9c2811d1dbafc022d4e9042e8094fa9b70357f19cb1081880c61a59475a5 +GCD = 17 + +A = 654d547d4e6cff2ffa525545518c0bc07d6a337605de87ea82afa133a59355da855cca627c0fded08c77ba6c47294931475b2676a3a68f9c735f008a2038a45e189b1fa62a28a4a27b8df9bb66d2fe0d78f60eae06ea470f5f808557e009178bc66948e1454b3623a8976f397950c614abadbbb43e777afe96694e57ae73eb0 +B = a6bd8b20e09616a14cbe9f0433e0edc8fae02662e58d1e38e9746f4256db17be7b41e0e32384cb2676002b25ad0948c1ae9817b9971d6579e0a8b239976b7bfb2bb60dffb50aba3971a9178a2bfe368eb7ec739b3789af51db460702ab0f875cceafd51ed9091e547d3b7f7dd71522e143ddc9dede6905fd4c80e4ccf09cb987 +GCD = 1 + +A = 46a9c76e64a99e3f7f97fa30c67952b6c9d5d0056a2a9a099f6e5157b87f84a1dc35376308411cff0f8875a88c28f115210788169937745bbfcd0e2c993929aefe34764e2a03face18ff0e8798f3f78443a9a8bd1b9464c722782ecc0ed347d4553832eda31429aadb516ee32b303d08bf269ad78723b4e67e391cea01ba2266 +B = bb06a0f665c935d6075b97c01e715f01795374f52bfb337651a199852a0e9da0f75f9bdd1a69fa5f48451171d896b5406a0871ed1d9eba06c2811a038b9daccd35849f0280c78d102021e526e4a9bd49397a054ddc1f7f02527a7c86e808e8656846c582ee1ed9eb96516c01cafec2388c73db50d1e1b9f00b7a62512cd62585 +GCD = 1 + +A = cf42c8afeed139d491563a75fff70cfda42e15c93b55115508b27bc5d10fd0883e507142a89bdb95d07e95f5b2c838f30a4ab1ba1ef8cd0ed332d56458ff91d80de696a46409409d07cdbfb031bf65d64284b86f5c49d780cf3781ad38e1f0c50ae19faa115578e4797705c043b088c2df78425bb277607c3af775e24bc5b121 +B = 421969f9943102e4881975a31c5d06315655e711dc5e9dbcc61d2f1318e3c71caff4bf6abd76fbc236b27bbc203ffde8246f9f122b553729ecf83e197e33305abe00f7f8e0f947fad2238b2e2a8f018046c1d4e9098127ccb2b07dba7b85e4591d52da6b17ac1c20889f2c3798ef9b6afd21cd59af891fb3a1f9d925935bb3d7 +GCD = b + +A = -25d3081de644b7c3452fe6b46a5e312297065c1c6ee2831524e17c59b84c8c9b53742793b9de25b9b3cfea51f4439d530accf4b6ce53dfdfde9b1bae3828fa3c50a7f320bc1ad77825ea6c8cf6367bb1fbc9a61ff9d9911980d5cb62dea3cfd5c3d693c4ab6ff140f9844e81af99e065f559ce8932d0e812b48ba1d56beaf9ed +B = -d5cc6be6bed8577194f848363176d17635907c924e1094aba118ccf69e7e458dabd639feebcf9478cd5ff2db365eeea98d71d046ee02d893bf6de41c46d06a5995a79a4f03085a00dd6ae2ede5a830882bec04410f64218008354c4c060714cd6b7f754ad1225b140ecd7c174df46c074417abba0d8817a55ea08719b2e0ac97 +GCD = 1 + +A = -a432c6d0a3673797c838dcf4f33a9455223d131d9de0dd8e8446bd50acf3fe95810ddd18847cc5b8619bc80db6af336cdb3ed7d15c68acc3449acd63f0ff45b4d4514d557cfb800016e5a7d76abdd61078dfb12f765463cbac43f106eb7b33ff00b7d1ea00949ae92671bd4ce9aee2c3e9c6781f605309de4731d7ab9c09076b +B = -bb8c6cf5e36f59285dad4e303de60cfaf9419d7c1cdd9808c7993fd1cc3852d27fcad027bdbecb10c21f6664ddc3d03c0ad41ab9b7cfac0a74ffb89bf8a3330b9fb50635448640a83341a4d421937f62f96b2692e0e5594d809d561f746598d90d5e50dfbffa0520fed9c09f0a965846b74f268dfc8849bec973c7ca2203da40 +GCD = 1 + +A = 68112027785315d5a9846d5a4cb938e952e0abefe520991717457ab258b95893de7f2b930001502b07cc0b091b94ae27cde34e8a714730516f68ca7f5ed304b2a05425c9dbad7bb79fe81400f38c45c1305a497509fa140201c70732bbb1f7adfd010f40ac03e6296f2c641ff2af4911f8031e66fb68c4e04ad3fa14a9079836 +B = -2311d9ba12b6c475467c7fbd02daba863219426453c2a6a5ae96b962df4a526f89742b50a08a992a8f4d985343e5baac745e1d6f692f7cda84e0af8008ce8814df41941ec058d889d979acaa24651e3f2825d437ef98f62628c80817005a61061603f417136ebba4df3c6ef55bba7b9e0868b295b6d4c6bdb32205aa4f8fc75e +GCD = 2 + +A = 49757de67af93c39e02d40787b1233219d7ca51bc9cbe4c93b670903cf002620afae43aff78584843db232f77bb6fddd965e5799089bdfa3fef3409c2051a39a13c676677a08d50c9d0c4f81244c6acf5cec9f06a19ec09bca27953972e2e2eadc46d978bc13558e4cb5636fb3340bbdc61f7f759e743482ef691d4ae9ecdb41 +B = -a5890b9a53f5a64d0a1ab08987085e80b2b9f3b84308d8b5ffeb717c1e327909e4aed2d90437b2a0ecef1aec6835b663299999a09d425f4e132d4ca7823f19b21582f3f57a1c3f83f6920b5b9aecef6b7c2813b89f830bcef1fc039556aac8d68b5f3e0938ebf5bcc55a13911088383913e07567fa86575ca1991c6946817fd2 +GCD = 1 + +A = -5376df749693c55043baba6a3fc403baedaf9264848ddbf8cfe950db37819a38ac901b18670111ba17f341640a621789b5af06d9dfaa02be8370e49ccb5abd135c9ef8f47f5beddfd9ef1f52606292a28db74d4ffa09532a308967679c1979e58bb40a3efe40a9c75bb147b840174cb3d67f1520abb621f0edc87c393feb9132 +B = 7e4ef050ad98132716fd001efc28d3f690bb5a6cbe4c7d1b59b4c80e199099f90f73ed8ca37daf92727305818e1b66e18ef2838e03ea3d11065bf5020f61871fb62877c871bbf31a282c4652665e01913e8a23c8964fee732b4448ee51fbe13efd63df9bde335b8a9c1af3c42a242d551463d0b3875d222d7c6e60b369719a21 +GCD = 1 + +A = -4ce385a9d67b1ff8c17daac37f47f422c2a6514ddbea906552e1876b687dbd32bf76326bccd20793a630dcc2545b1325b75d4fe9386491df8eb45c68bdacc3ddc7236e976fca9cdd99641a037ed551c1652f6153a0d6a0bd6fad2a759d866a6e0028d2c0f6e96bd412a4bbc113bd618089e1defc3cb0dc8124163ed1516a96b7 +B = -b982cfca38bc118cd767ff0484657b33e6cb9a63434cab0775e66f7fd7ead8521264bd5ecfb478e3738d1dc2bc984ec5b4971a5bdbb0852598c7560da34bf3caf7a055f53ea15390ee0540d2fcac693e646fc1f97f9e19322312ee462c390a470eb74dc2afe289299b8bc7d0220e626b31db2b0acd6c188db37c4efe2aab66be +GCD = 3 + +A = -62cd38ceacdaa2b18c07727f75ff52759a9605ea7fa28d51f211f6a2a1d4f3029b53b54e4e15470fbb50c7f332aaee3dd858e27e8a92965acd9a0e5b6001ee1095d66e5044c2ded4337eb21e32f9cc24ddd3f0051635f8484dac118399736bcb356fb7318311686332c892c6832c00b2399bf4e33259375de7d83da4f9b50d67 +B = 83ebe9f4184fe5a331409dbb1713349683506ff6364f20b7424dfe42df4fd476bbc5383e42418e4f764ec5569c4765852940ec7b012ec4db0ad927c8d097145f53d418c2f070f29ea1d943da571cc79ded165473ac62c0e9e526e768793c89ff70cc57730b8bd70755fc9051eabacccce54c252286f7d997c0c5e28316ed4a83 +GCD = 3 + +A = -8dc6ab7bfed5a04cf4beb2e3bc9c702284dce10eec9ec958bf0dab3169b7c6b78c53b587fd200dfa2b0df090ab142b0cd8481cda28f7e75f38ac8da54bc6213414c9585db48a852b2e3e2b0766073024f09f5703a7959879f7f2feccb77ce6d0a11216a529cc31f11a0bf7354324b6438475ba27e79ddb2367bfa6ab9b9c4db0 +B = -f1284c3d18b59d4bc93b5c2206b4c52f3e6d9cec5be41bd70b7f224936e69cc7e358828c98f75f5adaf68cf30ccbaab92b4a941f45677e64658c95f4104e0f0382e4b966026cd4bd7efc6f8a756153e3bdab34c4a8b97e12db9f3881eb14bd0c2c935f1dcb668b7cab771b47594865903b0434a88bc127361d29e457a50916f2 +GCD = 2 + +A = ff315251623d327d939c03e221d6ffb48bf84d27273a8cd66cd0496ebd2a3129a3276d3b37a0ceba7d9c6462f5f8a9e211f86dfb14abedb67f5277bbd7c620157376b4018fbdcfaa6f9700fe02eebcf7b15ab24d1b05f83bf5fdb992b8d0083322e53f07697e8235aecb65104ae7608a010170baf996f5af398d0a53a4051c49 +B = 2623597f80ecce7793b6e339733a5f69c58c577c995cbbdbc1abd75084436e151ae59aaf089d2009022245008baee0ff304b8cac6edfc68c5127281a374fab301e890475723aaed6c68d926f93cab14a0526ba20746f1be937236e69153618b29eb66bec4d9ee3c997e98acb703644ce6475fd6b4bb0650a8c99d697a0f37a73 +GCD = 1 + +A = -b1704c44dccd3d9320a52f68fb111bbf6582c364a8c90ae73f032edeb55a0519c5957715d6e84e29e4a1df69c0d7e87903bd919c7e443c94bf4dde1bb44013390b5ec007b610f1bed3bab1909aea3dd5aba5139a8c09ee6ac56976c9facff3b3cd39880a6c2b5504fef817f44e17980c9ef5f7a8186e9e62e7c9124f65ddae04 +B = -9852c59d799188ce5ce431d68bbcfa66c196ea4b0a4df5d2ea772d0dce3dac278858f5b9006108cef3e296cb3e370179c79ec44337772f2bdc7b3568101f8a2dd3c693a396ca5bc2206889917bba1346f0a7473b936ed5611d77e9d9ea3c28c8a43daff4513e4385608d94ca6d309cfee178d9f4f5b57620cd2d637a4efd905c +GCD = 14 + +A = 3c4415b064d1a9ca2e171def49f94412d8bee09cbb3acdca5250da87952ec224d4ddd779c162ef4848a1c01266527c5423330ba9d8f649b7fc6c76416260419bd30a9f00fc1bb169b25428056b348b90c7c4753d4b7b5db37896cd46c52ea8b558bab805010191e239ccc0ee7d36560c50be58397dcca6b92f1269c6562e933e +B = 3fcece815d5c010417329c3d5085b094a564f712e4c0886750c31567b4309d8bb645201d03289bb4c986357bb3021258d88a5e7ab7e142123f4eac09221d8f20c5ecffc74aed3e8e4bec52837c24993a18249089ba1f182e911cd7b156d4fd59e88d49a42c02b04dcce1e5ce90b466f69d7a43092f1d94b071cec244d867f2 +GCD = 6 + +A = -4c54a942bdf922574de41783f3a1d00ce711d3fcfdbb6b92a0698a0cd8a38029073051064373ce749e6a5da2ebecb0b64f401209e52ab1baee52d845340904fd790cc027392b9d818a9b046ef26a0bdf0bcde7b2c195981fc29f8c057e77baaa9b799266f3334e4fc3415c1f47cda88978362b24da9c2b5aeaf376bf00ae732c +B = -bde86d18485d7edec3a185b9c26be8d6f7b6c2bf8d8d9e720e7ee534a968baa128403faebdaf6f092dde6a439993ec90987fb0d14b9385556c60eb65fa78402b708a62be8060bcacf4f93590b6fc23c4e1e3f2dac1174e233fed12ef81bfe4057cea22b7c8c645bd1e2abd6d166daa2549dd04c97b721a9465c368573fc1f6b9 +GCD = 1 + +A = -2309fcf49841bae5c5c86f55f25c4b6ee00cf5ce08dee7ff3da46000b8dad6736ff9094191e2dd962000f9e64d21acd12ec4ee6355d339edb17016f6130929c342fce7886e7f525413f46ece6dde9931994c392a5478b6ae8e41e04799b1a0934a2e9069bcdca38868a10a3af35e77240310bcfa7962ef128f412448f3b62688 +B = 97d6d24f6a2f2434827cdd8c28b4912851475b3b00f5a7850bacbd6b4a824dcf23671ad8c844e462507d9be9be4e99888911fc2578097707c4b8d4fa3ad472086105418f29a60c31b6ac728c9b50f8cfa957f228df56b64a7ce940bbe87bbf7a9b49a2c4e37115de0648a73b1e2f26f2fcc0ecfbcbfab2157689d99337144629 +GCD = 1 + +A = -8b80fbe4b6be1cc83bd6a26d6d9080234c5b07da67358271df77542f6e8790c043fd721ed52a902634aea3913cfe4b25740869e118c9d8e47ef387fc5aefaceab3d138fed594adeb7501063972617691fc9f40d31592dc3c84c50ec348c495053455c51c1dcd56b86cf3a058786c42a34741e56010faec638e1f3d47ba567796 +B = e4f5db9f0b73629fed55b0ef26653eac5582bdadd059563ef1de89b7c592529000bddfcfdda420aa0d658e934d98e436843bb3ead0fc604993f72ff5c312caf8d5ae054b4f7bfded684655b0230c55618a1e75ac9dae0a66654c349a655a37425e5d862ed3d92377fecfc4b5759166afe654d6dc2c0138379fd2ed6e0ff3073c +GCD = 6 + +A = -25dd341cb3dadb56db0dc8bb2fac2e9de48768448dc2ca90d283649690d60875054bc0c833b537db9de2ea0d93e0a9c8a1e4dece0bb9860bb68cb09e87f8b67efee82d7ebdda3ace99a09fb20b9f978e3c4c163e181c0a21f2b79fb2035bdd7a649810e35b08e728448064ef7f760471038c87a24916bc9e2c79426fb596505b +B = -4724a0a3b175442acd9cac6d9436851b030f815954d22cc9fcd47ae8df7c415c231cdffddbc2dc8694ac29fc84e3c7e0136c1ca97a034f9fd7151051e02c500469d479aff5a4655320985a02225a0c9d3b3fb753536f38be41179d3a185b8e12eaf323cb75ab89ce857fc32f68b22238bd893a1f51aeaa5940c5b775d95a0974 +GCD = 1 + +A = 80241c665a7ed2e7a524ea291c863ca5fad804e9b076a36318fef8ae778d589c81035d991ec0a80374ab5d9885cb2a1380807b460731395155b1e4404b974e48e3a79a2c24f959cfd14baa479401b52ac96be56311556b8777b1f60d73b5dd2a6130cd34f381f7faa3754091183b9d92062ce04c2472aa66232cef266d131dba +B = c57b452005a700815b74b6ad007a5956a9e7b38fbd1e845fab71ba20f70145232483a9f4ad487de1bcc812454384af134a1fb4e5ac5412e99ca9ec38334f4e7cbdd8b1593b2247bcbf3dfdc6d0035aac4d0a9132cac117a3e5e67ff2df09b74343eec9a00e382c6462f77d498773668b04b0f549ece27910ce4b8154acd9be43 +GCD = 1 + +A = -deaacadc27f44cd687d7389db02abb38747fc47234d05f89d9849506090b3a2d03f157d037bd2d94635160fe7a94420d22233a3c4a734f73252b0596b7c1df24e7c00ba112d98102878ddbe78c06dca3d25bc496222fafd73a439a40a0f47e856ea2b81e9d94504a78f1b61b5ad80e67db6e412e8d35d2fb8825bcb9a2485065 +B = -c190f03096fcaea2a441de085c818aa1e2da9a6dfe12a5fa03ddd5724c194b96ff0835c82132400e17925468bf8f57c24b515728f74e5a80915430eba481adee6a486a752e6366d622322f3629611c6c0163ec92c631cff8015e628542d4469a80d291eb651fce648e8e7599cfe129889bcedf3089232c37fb39c4fa721d692a +GCD = 1 + +A = -dc1f8cb9f7bbfa870194b7ffbbde4fd0f1bc91d1f6bb0fbe11d5254ce3c4c8349ee0870533c910444ae83f853d9c0f6cda9b9524a777bf904b831519b3f5ed90a1374b18dd15fb87e55f62b64fe18e327bb3a558b993076b77ab45031a355c76c9c2c44fa6309af0d8efbc28bedf49846cd82686e107faed5ae114ab838827a9 +B = -2a8023a8ee9d2a7b86ea867f0eed181754ba4b77c3456922b248f70dd54d079a7bf3f1901720bd1a81913bd507abcb40d6193b995b27877eae01c9fe562b96bf096357f3f57178dfc5a2d51abe538977682fc8d1cfbd63781b43dc9f8c88848b56d8da6d3ed7a2d5476afeb59f9fd87df055994a3c98207111c18a05baf7f848 +GCD = 1 + +A = -b6404963ee730caea819b2768fcc211e65e8b69dac03261f23832df155d59fe095aca53831b62dac7f8f28ce3fdc23fc6415498ba01323153c566108a8ab9f8508196f24894e7881215028ebb50a1a984dc57c01afdb14ecf1526d3cb58155dce2b115ddc16ab6d22a49b35703668e257b81b9c3922015fa73239f64b2a9e2b +B = 6f3b8d004746f2069870ff11291fd76dcab58ecceef1ce75becd2f0361359b599ea0f8b5ecb210b2816c958a7edddd56cac2e40a6c4c4d88ee13cdc392bd1ef94502591fbe17564d7732a37cbf8cd84ed318d3e3d773b4f69d38165a3eef38fb15f401521feede5aec605c5f5c189b95add893a24e437f79f025f75808732e91 +GCD = 1 + +A = 2c1e039dc7749eecdeda015b186faef593940045ce5da32416a032dc8df85cf03e29ef8f664031b8d91016bc3bf671c9e70de6f4ed616cd2989814376650887300280582fcc65fc83212998352c69651843d797c9d486b1db1d1463872de1bf2596c16233718a3f6bfba1ea08d4166d05dd17a5fcfb4350bb0d08df2752c73c2 +B = -8ccc222a304c32c804507edbc0a2c84e96c9856658149cd86158e81b1df4b989d3f456c24d5d26b04deaf42b1571679e36ba065d547d88a8b915300d63bc07e0e375ef3e36437161db245d15b9973955a027534a999bfa2a2b361dc82998e900918e8880457f41b7bfb4482a4e05cfe253db16c17108d66bdcc17b01d979b769 +GCD = 1 + +A = cbf176a710cd55a804818b61b215ce7bb609831c7182fe5d900504b71ee62d2d73ad2851f8729ce1f244e8b7ef6f937e655adc37de625f34a3ca76d4081a3280dca1fcf6f91f2d8f15511179c881ab4fe56436fd2a63b998edd2d405640a7c114901c29eebb713e599b44e6bc2dd70553d6ad86867c75c3ef2f867c9372d073a +B = 6636f1b74fe94cdcb9aaa132d0d53229a3c2d404af1aa2a14505bf14a495a8ceff5c4ff0271b293d3fb2d120ec8756307c6d11b04d4b0f71a9c68b55e88818454a74fca8b4a9da32ed09f659791dde6938405bf7cd3d1e83464de6bb59752f0962a02c53c83e9c3718f3e39cc962323bd1593eab293427f92c5fed1986c4bb9c +GCD = 2 + +A = -58fce44487aed61dfa6a86099cd21c987434aade86b3e45c5989a19a3d99d302e76bdf506500b9792bb5e9d6d738408d7622aeb544a6891a902f2468427ca3fd02ed126b16fff147cc6225375f1cb0c7b6289ca5bf81600548c9e1a2c132aca000e4486e7583d72281720331f2ba2d6bd0a76935c006a05ce415cea3612366dd +B = d8e9d72f23d2d8b47cda6f4d869dd07379c8f23b31b17e719b794c0547d441e4e82f3c3e1fe8465ff204f8038554b88605be934dcd262401c7fc85faa6674af89a46a82cbd98bd1be814579fdc92a3ad0459009e6936d0d62cc101a78bfbf2bc1ad58c9c08ff764b9ecdde87087b8c718137f7ba52b80bbb776f100d26c88116 +GCD = 1 + +A = 39f19cbd6f6d057db452da95ac4ab52a3ec56b3eda1cb7149521814949bf04629f76d6358dc4602502974ab0c7090eb27cbfca4cdc83417d03fc7c987992c487ff0e82ef13680510ab43a98956dd315350e81d72dee3a280e04056f49a27de6a0cd56a1c728bffb0a48a784e527eca0b08e47b8272aa0a47171c0a6718d3ef2e +B = 73caf7c97b71c669563026dba47ad94f816d3b50f230ad64c5d4a5f8780081c6ced803db0cf7f9309409e77c30709060e97c19c198917d01dfc2bb001f79fa5840dd481fb84bc023a70e8405f4176741055f0c69628c7c581963c4b55ad58c3c95a884c0ad527f28d906ead7f8fb2f4bbf19ac9afc688ae6dac6a424207db36c +GCD = 2 + +A = -ee15e8ae715d4a9128a6a68e1d740d3ec1777279a1fef0b77135a277ed3338976c8d159f1214343e83b7c66d382fd4a6e10f1f0479a0eba7dce759ff5c9d935ac5897c0890a90ae2cbc94db7816cfb97621da2df4222d77b20877a409dbd2323ce7362fde977d70278dfb5bdbeb27e0dc6b2c0c0a03bd538b62c63aa2828d1ce +B = -b39a8782878b900795a3e854d0d24353b7a86fa182ae9c9f028ead664354baf03a7635196f919ec9420f3c3784c491c67170bbf3af853174d3b996d3d06a52a903b7b37359b36b946bf601bbabe4d945c64e44876dd727359d69d988f2c6838a9cb94ef4c4ebbf4da9bb1de27ef94f8bdfeccbcf9c852400a642d8edad031adb +GCD = 1 + +A = -dd4c7f7a119ad97634c818116155e93cd64d40f7e5c4d17e298309f480917530912377df280e87f3a3dce02efbc5324368cc75109eae70918b0d6a83d3142cebf9729421a99d34757b101ae187e6a25e43d527554cf2b86467ba1b222f5ce6deffe8dd11de40dbb94e864456cf397f9902f3fcea5699056f9ee5bf9a276fd40a +B = -5dcef43bd093d11148992d7819bdd3e39ab27a2f97c8a4d1e82a7d64a1986213236fd7140b60ce280285d6f33dcbd61d4326abe96d9ba1cd96d8784c75a60f2ea186fc1543c6a104dc93f619a6bffb5da228bd03c9e71b5554747288b7391b3dfbd267312a9c81ced1b919a18b405c3b40a2ae2ed1d3b23fc8388b05f4e04107 +GCD = 1 + +A = 21e25e87c110dcbc1c88cf83e4fa483522fcfafa811eb3a46126e5b47adbf7bc6e3296fcf973b6277807a8d985dcbed207b920071664338f67a7aa9c27a87b5ad6c08f1ae15161c7c6ac92540649c1d791ae3ad428463732e701074e9d3556da7a381451a87076ac360a3150b45dd14c72770cdfaa5b6d9b7b9905e7de13014a +B = -7026130a40faa7f8b34264359dcc43c05edf43448e3300b9d0bbad0f91c60041a9d65ab1e00d61380be1b1028508e775aed11154ff65c159ff6106fc098cb6138141a13a8dd6ec7c727f0a1658fa867ab81980164e29b9983c143cb0cbe216f9af59384035f59df15871e9a37dc69f4abe9f4babb91e57b1b03ceab3ea71f0d4 +GCD = 2 + +A = 28aeea020d00e8a8bc2b52e292f67167799a53eb8937bc5cffaf12d913bb5d7cc7af9a734b53993bf9412a4e8bbcc8a95d2a00c48981c2c13f23142dc6fe6f4e3535056135f9f11e46f20df0911d8f68eaffe197dd179b97cba93bfcf57c3a8d0c3d0a18afbb357c2c3458858c28e40ebbf6b6a34e936a6852a216cc4e9de8ac +B = a39649af490acc0c517a06b6fdc55c054dbf0b146ea75d0ae95a6966c2fe49c4d02f71cb41cb52943557b2e5d46fb3f070105a2da60b6114de2e18aa480d514c30aa03830482b05a2b46175a1c005bc93661f5b103dc8a027651ad74e05b329476302f38af7f38c3e54e59eb257f0ee1d94adfb37ac981b86e11d5fca3777e20 +GCD = 4 + +A = -add759f78eb0bf1225e75fd1e444e0cf4c5ced5ab44f07ba306f95590ec019674a08547ac37b69f91d7a4b532df58eb79345d29921349d7ff157d191cb760ab8c3d34dd69a2b23ea75d382fa91c46af3a75536f5cc61b7da2dec41cb59d3638bc89adf62c2024d304d748296a0b4df510d82a7cf8b8b78152d2a0b8d147ae9ac +B = 6440316fca0c1a607872f52500af7ae546a0fa8839c18a50d650a16a25b718f6381f25691989369e1905f5416cb2d8b0bc1e06f9d4cb159be4a62db2dc637ff66e171beec9400e690628d5c031f986a3a5c604f5ccdd419e9ce64b29ae59efc4da17cf2ce57df4989f0f4c860c186546037e6f8b91568a2573db7316d8fe0499 +GCD = 1 + +A = -ec6793aec3a80a88d520e1cbf9e0491fc1490b86c91dfea1be7a3bc95c1df0d6805f86c7fbd284072d3ff5813078e728362fc3749810f30507c6bd4e5fa81a59652aec5cb183d09d775e5db809a7403984286eafd9c0f3eb7f6762c87c9cad421760e5bcc91a68542f217fb8b0e51626a35900cce7794bcc57f1ba05c3c85f5e +B = -95b811cca5cdb0de74b07a3fe61b4fb4240b0b6b8ed33c6a57895c57ca992ffa9de3a54bcc7b8859badb4cb2d598bc1d54598179bf246024f2b0d193c45092a6d3b4c9bedb686daec25e865d9b732bfbb5198da003c35d0520bab11b8bfeacb99236db007ff28554dfcb3487b215ef2f4245c270cc1646f046d52f2e4c42084e +GCD = 2 + +A = -bf1e7065f80eb95535baba14d484df406d07d30006546a5adfba8b85c719170416f1d1f511aeb5f2c7a997b82536d90a63bc8becc8695e011f5d48964db8a77cdbd0712274fdabafb11c51dc927657d49d09fd75333cebdd41497d6338ca585527bd5e331ec864c360c8984fb081a01e2b5706e70dc38b1ecde23380a2dab52a +B = 526cf04b0858eba00bb1e50e061277408d8df1cff759b55e31264025bac191f216c412b7944760b16ce8a7ab5c92df288c703184ff8d9d2774882a76072f0cb5868c091d2d1d3631249dbb5cb52ab5094f51c319594ba9485d26091144e1718b4811f21f6271cf3b4122949a1b67076849750d02422aa3c8342e52fe7b2874c4 +GCD = a + +A = 59a2e4b8c8f675e017cb86035f5535eb7a64240277ecd16589ad1a369b9ef2ea793d2e7cb546a319d4d94ee689e79323eafcdbf1a0c87c2101a2ce336405f8d79caa7309cf4cfa6f2de330764ffbf004028fbe5623208872a5ea278cada4b4afb4ff9861ecaf65785679788d81d0f64938e6cd11140431087e5182ddd3b7ce85 +B = -1b1dc27d9a046f43701e96bac5c5060e52355b01131c0ae67c096743870ad0a6e50558595720fe3ff1a804c6e275ada04250e0a60e53078d8cbe39cdb97e3980c591c48f8a07a2fda7bfc5f20991c22e45d8d26ac6338cd59562785a29a7f157c60d9eba7384cb99a1d12afdb83007ea9bae7bb33a54f7a82540a78e6ed981de +GCD = 1 + +A = -c5855145684dda3a6157c7f40276faa5b459a96fa41194b16bca9f7883d3cf30de7b15f302f178b10683cc874f9a26b5c7592c0531025c3d98d3aa13dbd8527e0256db203d2967259cd05c395a697943a8d8ab2866b353d9e026a5079d44a1564838d2d784daec76c507f72c4de9ffe11dc3eecabad0ef009a089936f85ee4c8 +B = d73f67c414a4a2f1929d4bc94000b4de88f26bc44b06288bff6b0ba1bccd72291557cdbac24503cf06c4996fbf6489fda8b2313cfef341388865dfdecd0fba849d43a9763aec60be142ca840cf99042f534798491d43f2d3e7f0d0ded2562f94bf82b9aee6fb9f948bc2a16dc097d9dcc8a3dd3342f5157b71c2b96cdc5d6f10 +GCD = 8 + +A = 1eb6e991c2f63f151fcd868d954cf517ac41af0a3c24f7bfcb6a4a6d8162fe69768a27f8ef7001b9b44cd7708dfdf485cdca104dad9688207f3cad872ba29453d78fefa6c89ad20602678ba6ee50799a8c30cab4b0c07577767448f8a70ab86b0174641140717be570f16f748905b60b65965a275b2d045a18597ec9738f545d +B = -95efaaa084aa7b21d04d821086eb2a0499c13bc541b52dcd3afb0c67b0b2993631beee8d96d99f094a64e176738862f5c2c095b4f5659d028025c1114e75b7b493e863c61b5a1a3d975cbbf2bbd1425eee932a508f6c45ebd5548fb391bee23dfaf1e6977e1d268f381dcb462c048c2d770b28954de2f309cf60df76b9bf03eb +GCD = 1 + +A = e26094b51fceab223e9e4f67f32a38dc4c973316509d290cbd1447410f489ae7ceba0719b38e3ae3003e0ed4b875b09a3bc718a81fd3b979fa2905b51758021d632240362516d48306fffe38acfe357c8f71c472c11d71ff6362e752aba5c4b1daddba2af97c445139223f723a430e6838e3889f622b38fc656ce14e52d1bfe9 +B = b4d080b2d2e99d0a47175e28c9108e90d1abb5abbffcf5f4fdfb13d08cc0e5372f250ac514e1d8defcb00755551c96c9bdf924718290df64ee4dd73cc4758475b4b25dc60a1b71af65b0c9e4e33fa98e753aea82ce5ce2c555e2bf74a555fb0b7f7acebb719c61f2fb757a6a0c421937332c9825ac70d993b034b163860269b +GCD = 1 + +A = 8c7c206d06d653c17e31bafdd2ca010741f918f76ddd2b20f47f3e4e888ab7f953857d112209bcc6ac880d52f5cd3f054cc9fa2ccd61ec67b5094984a99eed6228ecdf38b5f61d965ccb13f7412b8d9c76ebe7cf0eef816af6f66d3202c4b43bed95fb9f25ccc0eb9943469f7af2e07d66576512045fd38ccff0d97041f90099 +B = -3e9d4b1ad14e0a58255fa474b416aed7cccbb967949643dd99c3840da40ee5185f56bb51065972eb904c7fd2be5bc20a582143b19083d3226b77291c31add90c19e29dc7b622d01cbab78a341ff37cd53cf78f5b8dc354425764ab628b7f7417f0ddd55a0dd520bc7aa365a4d7dc30c8b953340549f4fef96a3ee9b0c5a7953b +GCD = 1 + +A = decfe8c4bb814e0dadabfe91e6592be990c548808bf617b79008a9b9148f577f2f0d44cdc0f61a351e15145c70848c8a533d82841215c508c30dc3c0e06005bb111a39f0807f4b3665dc6dfa8ed60be00ce5ccc6181cc55da73a9546172cf6cd41daabd47cfa95e70daef22802dfbd0f2f3f228e8a5b58937e1050e8ddad06e9 +B = e46f4d5ac9d4694c2e5df86cd67814a6742bc1637a5f5460db961f8ca815ff7c010cfea0ec5fdcab593cae6cc390a62012ae56273ea96a64cf7f23e831a63da74e72862399bb55d46b9899f089be38155c03477f958bfc0fadfdb2defd7b93cc95888b8878633930c8eaf2a335adcac45af126fa5cd152b9289882a582338d +GCD = 1 + +A = -108641a52918e3f0bdbd0ba2e35485821aa3b380b0f4c3c38243d17537408aa7e3830aad32c8a1fab51ebb765455a71d0e9c2389cc9ed66ceed519f9c0c6a54fafe05b1397575ecc638f397343a88e226aadbbac0580dc81baff3669211dd867857ca698871e312ec0850e2b2e6c510d9cf691e72143316821b828a1d416ec18 +B = -46c241a009d35d1b5fee0fab2b6b3f368ec1ecbe78cddda786d8e98695059e5d871081fb5dc1e355454790cf5a0de801cb6734c3769fc17346df3d55cac21a84e82d829fc8965bb158efe1cbeb1994298483265660529c9dcee1ff73e8d91a082f7db8869d2504d2ca2eeea5b7b4539b33db24208b4fde855c24314fa5e3f448 +GCD = 8 + +A = 4720ab93840e403322a193d011ca967448fdecff13a5f28766dd52d4ca71a2f7892585636bef4a3e8fa8dd13afaafedfeefbfbd3b1a9790436207461d871b41bfe1a3239f22fe144057b47ff6c53db5342023368dc0769b324884105ec3f70a29ec81e88e7940c12ae2c8ac351b318c4af9245210df9e3b5fff4630796b3bd05 +B = cc4ab82c443279bedf49cbafb288f64b5ad79439d6f1fa4c8e7b545878fd2b154118ffe2f59f01dd4798239512368a155c26e2f47fd4f762428e2acea296ee4dcdde33c1f92509100fbb5bbbe084d229d53f33d3efad26d9da641e67ab536b7a2bc47b64db5469db452410f81e8b7b236c002e58d8cff0c401409317abbdc6e5 +GCD = 1 + +A = -965182269555564514c8ca373da444e119e27e8754aeb60e60a3a3b55fd438d61fcf33b8adc9cd1a459f58b96ba78447d5d2f788c5537009ef083195bd2711c3bae1fb592d7cad11deb56b50ee40130e3fd9e7c8005691c3f289b18c5b40d9ac9f0666f20cb5bff1f395b86d2e8e84c2906b247168c21892cc21a0dcefdbbc00 +B = -bfa9c90eb11f3d7c78d2e51767a281ce6a6b6c5c9692f7629e3978817aeca66afdaf6e063d27e407dfe4130d6b5d8fbd72ad2a2f39a5da1983613cd93d04650244f097351836f7a748d8711c86974a78711d88266cb3c0e5e56558e8d30e3be738fefa6cd20f879a8180c19502beb0aa9592e245e2ffb482e06f9b75ea5a994e +GCD = 2 + +A = -1bc6d0c4da357def16e0ecd8d61a32927e3a3e0f7cd636295f3d190691293481d3e188f2d824214a24537f93594c7205e6aa805e7ebd931bd9678b6e162349f8acae10f2631693dbb17eb9d17c86379b7af68cfaff7f5d55abc78f3038c6930623eef600937a0ea16dd61461962f15b71e6622650d66b973b78e1b9eb0126964 +B = -7dd3936b644bc7108a50a2d4644cc3449415801264b65ae2a2cfe0aaaf78618e4d2404c458a49e9d4b92c566cd648e875c1e71c16c38f205eddfcdba304fc811ebeec2df0ea4d9bef1efe9b0deaa4093961a9d60bbdff781399175385fa970a3fd36b81dd62c03c0d9ced249379f97faf87a0e17868271029a116a0d8a27c2f +GCD = 1 + +A = -609cf5364be77cd9b14bcc5427082d76d8699489b7976661ecb33022cef1b6bb3fd4dc6642f019743159e092edde7f27643183a28f8e7750ed993231a3a89c22990a7f1e9aa48163e62a43129e723e8fc20f93d12bb5104c4538a5e41697211bf2a962e0b9cdd8c2e3f51698a7828b2a3d624a30674d11569ad332936571913f +B = -54cc20a73c9b5ea6bf4f9b53fef33cf5f00095646698254e1f4fe4c9c9ed32c7843d91b2f0e8551c008cc3e3778912be9a033e4aff024e6a90244a1ce63123c84c328655132d47b8aabdbaec09a62f4c78f04e045b87d9cf31592fbd199cf5c976d1db7c4de78110f3ec1595b3c061e6ce4b30c5ac998551eb11c4e1a7220a19 +GCD = 3 + +A = -9278ab3412723ee755f31b5562e01bfaabc5063e0982d5d206e39baf99c3e1737b4a769d5897191c0a2715956412c83f85cdfe541460170b1e6f2247b732b31928320bcf576e7ce7a5918af874e78877044d8791149ccb0290cfd061a6d75785f2681d36819d11fe614b6a2802ee14540e7dfab83bec25c98f5e72055dd7c703 +B = -4aac16fe70310304c3e47153a22066dad0be2cfdbdcb18444acf6c8663972b5c0fbc2c0d8e9bc3ca65490a7d8d3de9b71fd0b2ca744f0b7d5153c968cea9d9908beb6d914b6465ec4af997549851be29589fb3c90ee05d066aec4fb11c7f49309ea1b8624b2d7f07b4dd13b6132af1058b3434c126abcffa06c7ddf5b706796 +GCD = 1 + +A = feb6083cb588971c55d225b3397ec83ca47dc16b9c9852ef6388041cc98c328178bfbb1f01acb5370e7a2788307f13750f51a5089a27eb5c7a0425507410cc8ecddebcd6517be411556325c5bd4787dc400e8014148638ff9b79c1c16fdacbc73f8a2fa3027eb44d9e861639b503fd4bc22548047b7bfb11ba9c94739c318150 +B = -2481f5bea05236fecdf86df84a5a6ebc11540d1ff890126def4a3b4d2f3243ddfbc2e1b92333e64e1925e211ec59908740630c5bc33d80ac0735ab1867d51f6d3fd75d47882c6f638c70e90053d83ed0df56a3a88ed20839ccbcf13dc207389107427acfda235945c4b59a7fcb8f0f16269f1f5fde8b6cabc6babdee7e4925b4 +GCD = 4 + +A = 4d29230b1fbf92c77173d0c58b6bd77f46178c3675da41927217c0e8be65612b0ab8cee4bffce9e9463ce5634f1b06a2769baf331e3d5cffbe45d33c0ab7c7d6804891d3f1ba305aa4e05b56de7a5e5ea7f81d95304deadf974b1a23132ccc5a2bd3c9448bfac6873ae274e5cd13c2e8fc4c93fc2d523f639c6fa49a818550c7 +B = -2af726c1987c192cc61dd4ffe3795dbf798e913054f88e89d85f9070febf1938562cf3e42f18f520f170a776f23827e593dde61de519dabaf2e2311aee22102935c60ed40feb5c07fe595cd568144918ba205cbef87102ef4530b334864a97f3dbd12c34162d4def59a5481236b05a5224ba2a1a44324b874d69deb014b2ffc7 +GCD = b + +A = -dd5614cb4dad71bb4eed045b6a8274c8b95daf78db7b9e7b77996d26f8dc47be1bbdb073145801692e0c26546131ee08e0461f01d9a15d092c189683098b246aab46376552feb1d8dbbe9c57ca86dd67b1942b8220c9dc561b340d569625c17d04a19aa87fd7d3dc925df3751ad641d848349ea15039b37d1bab2ea8eb9230f +B = -dd5fa9909377cf34eb858ad42b67c241488b816f2ef2b3a80c99b49b3b919833002648d7423e55ccc911496925005241e56e2366fd09f5f20c1892a81ebcf6247d7baccb7c1e76d36a68d25e994854ca444c70b235d940a55f84768c3f68336760e6e3315bc89ce4d438733d87c0e04437666d6c28e3a56a5480665a3b781319 +GCD = 1 + +A = -915c11047d21a43b83958f7766e33e1bc7b74c9420c7a2ceeda4327d9a489c78e7c968c71aa30e421981c2569ee4fa4732406981bf19fc0e05793c22106bff5d73f281512710593e69529a2054717e8e3bcc52080f093a97b936f827c5500f0b34adc125f0b43032558f0f8d72560aa9ffa2601cd2fb9915c0c7a7bef529b1c2 +B = 9ddb97d4e9e1b49b0b0e9a7da9c38b6a0e4ba0b75d2da4aa423428cc008c7ac34b32b8332caf632e6a51240d7470c5032ae2b940efd6adf2fae22d9f005ebf5c701706fca7f84740100917fef5c9472f8dc9dfb8e78728fd8481f6c9a4bedd3241cbce55b266a72428643a38aceacc115f51b3328f1158900acd0f3a8c823440 +GCD = 2 + +A = 86612043066c45ae60c979c9b67fa9ae4ee85426b9e32ba7b2e7316df889788c385691c9b24f83de75f3b5ff2b106243720819544ba0653745f22cac59535743cd1d471709834ce7b6fd46b65a3fc7e29f3b384c91de8f8fc6c82d10958b68860c8832fa71d2563245e4adb9f796095297b1652ae6c8ef41ead580750cce1abf +B = -917733cb7b8d867a089f105eec7621da224c139709294486df873114cf494a7a871944f53acc0be462dafcce0426f4fe9259034bf696d4392fce3488c4748f279b8b629fff872aeb2f60905733d33585fe971a048721e2ba4ba910d4fd69b231ca0623d504c2631fe17cecbd8f9a5934f5db095cfdc490ef378632610a15bac +GCD = 1 + +A = a7929e42f128d36dd7818b3ab03dca17519e6c057e3d3bec33832b0ad301c78f8ab8e7b2d07c5b0abc11fa02ef8b57e6821e014c5fa3ef5548295e31a877418768b5620a1b53e38084a4b35e143e2cdb8b76874114dc2b492df26e242203f2a9bffbdcaefa953f94517e3ffcd7e26b36600a67340999b065dcdc11544a1b0065 +B = f4b4ac68aec905b66fc923d96ea9c6ca29fbd892633e363acd507c76d19bedcb70c66b200130f687c4a244a83a8c472f1c0eb5399dc010c26613f037f968205550bed377e81aa73571f91ddb714b3270ef6f52639749890efb68a8a02e82ae414ffabbd302030267a8f556cc1092b08c94b092805a60ccebae506412556ec564 +GCD = 1 + +A = 9a2fa5625026df897b8d3d66dc721cc70cd1740fc1dbefb91bbfe93c099400b67ca41b02d5712fb51ed21c5f3c6450bc0e1eec7fee773d893c110dd67d64da2d4512969ff9e4ad17ae72231a425c3ae547ce1758e33f35d625ab45eddcb53ea832367b7096d44c3578530dfae9d631b8cfb84587b7dab3ea2ecca2874ed76b2 +B = 8b6f058ac42f82e6b1103fe7df1244cd54f686362fdf88d529636b71c60a1c7b612be33b278f429a8bbc00a0905baba66376be1f2fc6a00d09802d7cb08268cb12583c042daa50047c738b2a2c940a6d4beb974695348e7eb7cc7ebcdd4613496e56b305b3caad71d55bfd1bf08493929549d4fbd1e36c1cb5ccae5190241403 +GCD = 1 + +A = 93457720b36d35c89f9317d0a16b0a9fc47f29551a173a075bdba8e575c0d5857ef29934df7ad0da049f09d85e3a55cf5b7cb32ddfc5fdb2700f8dca96941ec9803151f4903173c219b6a46bb4bf92be0aecc7d055821ad8dfa2fc8f5b3b329cc1c86556bc286187f29943f8bd603c2bc87155725ea746f4c2f14cfaf8c849f2 +B = -dae7a6bb1fd38e5e319c164b0e011093a90dd166c80a773381594e74d00f735f0683c0bd5aea1a202b88ef0f687f7d83819a2e8680c39a98aafca159d443d411cd9b62209a69ea21a708d7f80598d9d18e169b2e8b4e50969a474afc9bd8bc5deeb1c00dc59b8a587caa385897117ef00ab76aba589ad1dd0b1882dd1c0fe838 +GCD = 2 + +A = ee29d090e49f432d919a167718a2326c1dc349eb0c440da2b7c2c5f076b63ecaa82e8243c39801ad55e4bb61f4343526ea3f104b726a77d7828b89e497f45f13891e72fffed6292d1397c36084e9f4874ec33138c88271c2f3b5798dd4473d01dd7d671ade1aa089acd55c5c67e9bda517ce483b7ec8a9c3ee07f8d7b2aa90d3 +B = 3a7964d6c34f24b721116517746b50a010581f851175c09ac3925294c11fcf82a6a7dfda5b9a0c8eff004fce8b4137629da9a3a39d8f3cebd4f1882c580c64d205c7d40567a3b23d14fee1c6844c0915df7bab14d3e6c7092e336c364a0054dd4eb973829cf67985fff676cceffeb179847ffca25a904df326e39188f7c802de +GCD = 1 + +A = 8f86e06ea9b5a09439d8a3d1882e43747e43eab412d711dbacfeedc35f0a0164568400bae37a9afd31a41de54e56778658c116c0017eb3b1ba2f1cc36dee7ee20c36b7169fa46abae2113a058868cec9f4df74a93fab7a00a1123d47ecd62e769f7418b74543570e814911f2cc1e4a9cb3a949fad92f3ad1d8dd6ebe12ce32ff +B = -8e24b629a7ac29a0b04b888b8b5d85610136f103012f2a993c986e6ae4ccdb7a5761fe803c08e60007b89c7b3439cbd40fac15ebf482ca5c90338ac30454398423fc227de47291d08009a959d63c266296ca9963a3645c16f705026089196eae7187a7df82831a27ee821b6024e1bb6e8f860b909eedab00dd6362681c4dc83a +GCD = 1 + +A = -d2db5230d1d11cfbcbf401a7bb988408bfa92a169568d9c4226b59cb3c10c72d34e548a5251ece69978580a761b4a982c2151d3408ff33e3ffdca34f111ac025cb712ce4a20ae5e833bf92abe28a02ddc554d2f21e5fbadc2a39fa1db87cda271c3b1ad57af5ec7f3af6f108c4ee07fd445c604e7fa73a7f40f7a2512bf896d3 +B = 6e63e8e2f79c0f96c1b44c14f563d0d1a129d03b5bcff5720d84c28ab2d65d101cefeca7f7376b9c40ba7679f4b02b6fb6e6a1d5b1788051736943ebabc57579652cb26b63e4b50d5b445355a82bab195f4ace074004af856bf3b974a40f50e5fadda3571a914b528249b1ae4ade1d77e791f6fd1f096050cff54d3b714051c +GCD = 1 + +A = fbbe7a65aed45fe825de3d1e42e3417a0f87bef39e1b3cba51243bf320a6bcb91bb5df0eb934e601033945e4388f8af2b2b5fd7a03635e7b8a2d68e2235ae82eff312d25103cd31aafddc8e88ee01346266760414a46de0ca12b164f7e6420c23b084ff28953ae647018ecfaf9fb1f2f0a4dfb48f6fcae372801d9458b369642 +B = 7d0fc73d3ff7f2f0071f61c8a0c75e774ac6e9a46e120aaa5e851f167ee07ce3994dc525945551936276b036d3ccc0063dde1c963516103a4629125a8eaec15e96c5bf6e536aca39b605c51689a5d7b5b82907702b07f598850f25c9118f401d30e554f8ff450fe4693700ba6179e78e7f19c36147a718f6da62377c9565ec74 +GCD = 2 + +A = -5c9885a9a4e82efdba48fe9aa163723cbf05b085981d92ecb9669789e171751cc8c16a8fa33b5ef2dbabab27bcdbdbd80492204ae95bddca7fd282b4238bac3aeecb63c0401661dba005fad19f336ec2bb026414ab68b66d3d0be57d845e45c597cc10b93ef23eaf307c0dc6c96fc95ed99b6325917879f6a47d372cf931aded +B = -56eda4e3fb27ad7d32849038707cb1f9f453169406441f7faf2844edaa161d5d0373dd0dc2b462922ae3aca20165d098f4d123e26d19e55100f4a2186bed4cc34d6dec18c894c3d3beaf1318514ca7debddfa390308286d263a1f03bb44f56305f388bcea1794ee820b6e2c828c607953a466b00b47da8485d27bd85e3df0f1d +GCD = 1 + +A = -ea08bde44d189903f2bb180cd15649d611f8b24f4e1176f51816d9ff2413cc429ac7c043bea266345cb9bc4cdb907bc8e6a8de935ca8618474dc61773eb6093474f9476279492daed490a89b1993c8f88f1ee17a3ece6144d37e5385cbaf9a0790406adafef398c13022b54958559a00bf7ce9306c1eb3233e373d94a3a03878 +B = 23208b8db7f2fca5d86fd000801047e615e222ad327b06b0731b58706df0584e98e3d8c0ad3854bcffaaa85d3fcea5c8f11588c460be69e8c7d860d3fdf3b0ef885a7de5020c239a1b7e07f77ee3afa8d9af88cb7d5c819e8fa35d283f33032a0bb14312b0b82f255b123d0ed7d4918b0fc7c59060815cbce0c8196ff9720baf +GCD = 1 + +A = 40d7af35d73fcd7bb0db090853b0df75e01e5e460e7e2d1d59b5e7ce8f34f95937093385a306ab9e7dc1453728f0969c6f0373973e17cf9c771ffe81236e705d42a76ba20ecbbf0a2f08e5475b826c614a65865029f5812ca0d43c426073169821eca32801c3fb093b79a7b48f10792d59eb5546d5677a04bc58e311e5d60141 +B = 5b669b76c2bea241fb37b23f2e31a81cab2b40c41a48d91686c9877c0b0d4e291ec26334058210e680d0c98aebd4c49807924e2b2f40e5f9ae4ecd098152b1a658b26cd87c77dfa93218e87a172082f2c5b7949bd86574b4b4407c0409415c465767d3fb2ed1865473cff6fcbcd616e4eb928f45b44d80fe767ef760390050c9 +GCD = 1 + +A = 35590707d2c08a43b87d483a322ba5807696ab1412f33069f39857e9543e149c5636003205b22a0ff3bdf2b29f7f4079ca21210c88a29e9617951ac6d0101326e9a18b5bfb3d78b391824e46e669571a5cde0e4c862e8cf80699fd1c9047d05decca517f0ea727465a23dff61b4880acf04672df713cec9120a5a0afef7b8311 +B = -911f1422cc364599a185070ebc291953015acc84eca89c3edc27fd7343aaa39ea299f4fa47b38d4be4ab3075f2f658a36afc5c9ddf205d5a484973c83ebddc7ee2359428ef2315de59a5ad5a606b265f42041644a85b93cbbded4fafaddbd65ea4e549a67423441af317ce5b51072a3daa609cc7b7f3f33ad906441ad1903e5d +GCD = 1 + +A = 55fa1d4d81cabbd6be4418918b5167aeb56ffc9e2c66e01efb928ec1a64db119aea07d16cd819f3ded475035019a3f5c12a9867c6486dbbaef5a07ed3f36748d4419b4040ba6d1965fa1aded4a410cb7c5c739a31a81ea95a0d460bacec055a6f06f8e8bbb70dd4126eb730140eb5b73ef7b7dbdc1a0e0724cbbaccba27c443 +B = -27107265daa7a6708c938d8aa6018e17186fb15e37f7bc4539d5269dee0d111799e0fdc81092f55e83e49c8560269dbf0531af1bfb8ed97754929c21e842f35045bf6769f053d8f0ea68adfced5a70bfe4a705fbd1a2f95487d5a1a8e200e04860b91d05034c7bfa66fe37fa2822f219184b522041ae964c7cb9e6424682e831 +GCD = 1 + +A = -be3f07aa74a66505783d44475fa9cb1a54ed573fe324a644605eb052bd3d180bdddb6894fb478dd6de6da624fae5c59efd628ac4d6909bdbfa24b6ff4f77afdcf35c4022ec6ab0eb16da546c4062a8077f7a008dd24e92431d66ceddee1b9c7a07ef053979f12100fd7aa9f57f943b1af49d74542b6c2bfc000d465e07836513 +B = a042dd9632a9264df8e736267522c60cc23da0f7cc1dfe38dd68f7e1f801fbcccc3a16150bee8758e9295de45e23b8a2dd05093288152b4e55b8a51bc8a7fe1c5f36467b6b26a9e5876088e07c1bb518f114afb107524dd392742ccb64bc3ca21dc30019a61ec7409cdea9bbc65303a5b5a0291f891b48d86991a7625331d45d +GCD = 1 + +A = c5d510419f102fe480275a07e90cea34f791a21c04818994607c51418f148a7d87d8a9bc061131fb13cd521b39ca711358e3a6260e26e0c985af7ede409e93bc8002a349246b97ad43d36e239107256aa6096420f7b1bd902be95f8d4646a908f4db16adc4fb949821267d1b42a760a49d38f45692a657e899b7993d6254217 +B = -ffc32bab6fb45a67800b70a696430fc6658babe4cdd24a42be661ea59b99f68c9dc615da7b622ba993ddd2fea3b7865628f7588fe3c14a2273986d89ae7d8463aec4b7784a0a848564c49dd61dd91dc18aa136bd30aae70c770b11ebadc9260fc0848a6ece5f7025d9f4b850963a08f65944515830b735832c26203395869d27 +GCD = 1 + +A = -66a302abae8e8d22837778086c4a5446a9f153b75982d19cef2fa8f34ebb3f8416da8db43730e83978c918cf757ab68237ecffeb6f1f66379c5a5af9aae7fd25df3951746c2a562816d449996a0468b534b9c6f7c32e7ce6271e97fe75df1629715c72a48ee76f54d10f737040da723b25756a01a3f9f83e541605dd6e711c2b +B = 7862f54384670a8374b931da72d32ef47c97171804cdc227112278e8b128c3e108a2da1e9408eae8124e954ff2bdda0acaa61a7b347fcc8ad48a83e62691ae58a48298e76a9a26703909d24ea7ff04b357d283bfce193b4d613e1d521f38861975e27497c54d9d52c671bca8e56ad517118deebb35828c51b780b7b73ed5fb3f +GCD = 1 + +A = f40a35e114b30eda18d139407068b47f3b521731e023e4bb56efdc78e9f2bfb8bc837e9218326803791dcae3d273eeb2305210c480918888723ff54ed1c7af36e195a3282167bded0c971bd124c5940d10328db029c7f2e7ebb1f8a794a69e630ba53b480d5a3e0afa11710d999be86e3865c09ee628afce19603997e907ed04 +B = d178894ee19ff72043f9901fb9fc14ee3c14fb27c4a672e4030149d05570c11f231b7d6b1baff764e6d8fde86cc1f2984713274aaa15102fb2e13c489652aee46db185826381c8c4956e22811e4e9b86dce4b016d51dec1406f8dfbe17032aae4fafce0806057de5ee00e60a87742476cf6ee59bae42825f7fdfde806ede0e5 +GCD = 1 + +A = -6d2bf7e3b56c003edab5c0a356cd0b46a2b85de63da5de19b86e4e739b3e6a5e180fa2adb56e70a05ed59b9d1cd29b5d243d89ae99767a341aad18cb97d81ecd5c4f0a4ad2dd8e3d39417464700f8cd7486db214591b9f5f9d41e3cd2ca286d2e653c92d75d993f6e37fff343c9470fff6a6a79b5b8badab82a97b374835d973 +B = 13fc8a3a132ecb9746994a95f75827429f73a4342e89d14f67ba7cdb404752055e06fdbf44bd381b815b986d2e621683c869a7031ef5b43c7a38568f100e7a35adc2cb8a5819d95d9ac7c5adb6bb8523283f0fc233ac072778cd526f7c46b3a1df886c7e46dc5c3fc7a768890e7c0e4affe2cdeb4c9fd59706a11323e349aacb +GCD = 1 + +A = 23c2506bf90e469e550aebf406dec7218fce3c95dc067abf5b2526d032d0c35570b9cc42488f802cbd14b5cd50b17b4380b94ae125e98179f2ead85da7dfdd3a06828272a57f144f8e228b91a8d323096108c5eb9287e24073925ad119eac54d23e1df805c85dc87b53dbf907b12270de3bb358b50ad352dc08eed4a35ab3a3c +B = b870fd2a72f1e3059a17417fbfc62ec14331c22fd845015c7a132fd1793910ddf019e04b88eaa27fa04bb71b8a7d65648ece878889607cdd143e140cc50309c5b0b59643262e5a446310c8542b5ad442b5b384b0b044b66be44a8968f5a39aafcebe553914e22965819bc64e5b81babf8423c31b6eac7078c050641a580ddaa1 +GCD = 1 + +A = d98ba781fab893ebc563f70717b1579b9aec15f4ff543125b2321bfa1062ff212a24a6f12a5c9149c9337dcf90dd02055d1340bfe8c2f43367fa956d595e81904c33593d2d2cf99961d1b0c29167d34f3bae2a1edd59f5a8391f9214fea17e797abd3aa22197697e3dbd5880a14da22e1b5a38f2e7c0582944de093a9b02ce91 +B = -85c9a8585f15bf6d22c013a3eecbacd1f7abe74601e6355b41394ceee24af75e93711ae7176d7c09ee6ff6152254f7c459db995f72298184bd8e4654d41ca83c77a1a441fa497770e60c6a4ebf0469c9500386a12e9fb018bc295a7fc197b6b4bd94b352e48ecc939bbbeeafd5baf8ef15826c8957cfd64facb60558899ad536 +GCD = 1 + +A = -1fcf241c0ea8adf4bb4b280ba94d2eacb501ca71036f841daf004a8ae5725babe80ca52bd218220a3efaac09800dc6754db380dda1f1b0647b1571d70cdd5364c89a9f8351dca47109b4f3da34c577f3671825082d2d02df0d86db392dc861387b18fc1a40573a5569c5a2bb04cd2410a487895cb226d78f468d0ddc56730dca +B = -f232f1960071ca338f9798a0d40ebd8b9b42480c8b824ebcdba56950427732cd8eeea8a8ffe10bd704cd09ab41f9f3cf506d2491ba2470cf6e845d9bc9838f4a43f83f48713de57e5590754eb8745254715618e190ccb7dda686fb7c214b0d69b8fa8d5ed64b23d218afb5be68223b9e64631c2f8c0e889e54cae11ea9f173e0 +GCD = 2 + +A = -d73a6808b73654db2d7af9edec52300d1964a6fea675d363060705de7100a904d0cf54823c870b6934f8c1596ac85373813766e36fe2dfa1cc3008e29fd16ea0a353d70946d07a75fa0b9cca2b7886b2a04ceb8db84cc4b29ed8af2fdc63655da982f9c6901c33e8450e9321b716e4f340190a22ed18001c738c6c2b8c7e73f9 +B = 351dd90eb2a8085bec451a725432485f645e4397ceeebcb53d46a165224fe5327ec955548cb9da36f27728f14814aa1c4e5d44f38313b6978cf1cb6ae89f2dbebe58748809da73b03c8b3f35fb847e1b7ce57172586fd7d28b6e94de4015faaad63beace642b023221193148945d3ef2d75dd6e46c554d96d617ac5f2c23c3de +GCD = 1 + +A = 8b273a43a24a73b8583750e5f20a9ee68403d3fdbc5d5cf84726325c468d888e568b8299fab746aca92aa9dbdf547fbd5208aa5b75781582775fb9af329ed090f12c81a28b21641867b584eb1fc433301c980b034fbb13038c86bb9c12da135ce54d9a73d31637f0d2b55000f99d7b730ea1f80be12d61c100d1acf41ee812b9 +B = 5fa5449a098a665d62160bdd0a0f2e3223e745e35ef8b98c316b8c5589146441a352bd6b2a398dd32ff53a6681b48e2da80e099e78df01e23f5368fc8e374bb843fdb403ec103b651ac8ba7ca1a24163f49fd64d5550e18f13365f5d01528a8135e2a8eeb9b862b600a63a4fb6b2bb406b60b97dfa57ffa60aea87785f52f189 +GCD = 5 + +A = c5bb6dbbd1600dd42f9318b40ee906ec90e830586f2189a1e9b5cb3fb3f34369117e7ad75e9919365487ab5cc246d5e54dd49a16622785b60dc5a5fb0905c0d11930b341b10700911f716eb7edf8e27a60e04e59054028eb637341a859925d3537714e126d036852d66a5cafeb5c5e09cde8e62dcce554fa0bcd44a9e8d0417a +B = -eda665a311807c185f4ed6a55aa5b88fc2203c170b7d8a9f1af3de49bcda113869218a0bc99ebc277f74dea776b6a88e4e79f5516b804929e39ce6eac07b0d26e582422b347b8378956a641c950a5cb4f53d9b7c9b830fe10f8496e388e9a15005d4706bd9bb0414b4c828fc462de3023796f408e8d6015c11dd999d0d47d4bd +GCD = 1 + +A = 64e4fa037fa48604a5bc62db8bc35b542946707e500f67f46d54447673acf3b54ce01b1b0bc141a6c6bc2ce8c48cee4d94c3f7d5f272735374cc4fe40103d39c337be1bb97fa90ad5ba8c5459e96f5a1833de2521f987674ea5e7c2c922cca5b37f7f12f0a847c160bf578495d996beff32717451fcbc8758680fab9ddf13ff6 +B = 2cb7a43f80a8c11b29011853c7b981697bf934e8b476668433e0754b7bee52799dae1622513c958c2008f69acc481722c70a1a30bd26a8598e7d9ff9ab62c437fcc3399134e651e0fe2ff811793cab06fb80ee79727a91c00167b82f2c91ac5fc850d7e348e1f9fd9b43a4ba0752f9cb8cd48beca4dab14498faff4e0a21294b +GCD = 1 + +A = -1a18052e2a02e8676b55407d91c3e859d96a0cb155551538a5f22989c52ebb528144216b5f82e43ed722cb057c75a7796c1e1cfa93f8daca2affecd251c53df3bc536d1f3df878f31226e2198cb27451b05d40399ad8748b6b6040f5ceab39f2dbf0b1a0c8f427931f9e87c2e1fb3cfc33c4f3759a3194fb222030b9f30e8e57 +B = -6118ff3b70715c15c2cea688d257e5e791ec872a63509c86e192223b7409ba4d3105487e168392149eed8d7410b982052e65655f6c328e86729eb058fd006eb8af23de42d24de102da1183992edd0ab83007fd0b3b4122ac7a81a9ff20162dfefd00332fdaa1aab941fcdff9a62a8b732734415631185a261975710402c01d90 +GCD = 1 + +A = -819aea41d2314f118f2a35f2918d9bbb91d66071193711df4e147d899f7d2c4922c546dd8ec850c06c42843c8357a6d237349c6b8ab3f37781508a852e67102933334c0869a13d0885edebfb291f1a280aeae31476fc917d9b446cb178cee7831d4248fbf53337d6eb72bcc4a30410e8060266e7fe5a8d6f8fe925413d7f989c +B = 73823d98c1ed2414abdf1057012377c0055282639cb8cef9a9a8bd06b4a453ef0ec72560cb853ece804db8c77f374fdb39d872db6ccf6b5a6e0a5dcb4aca53c199817862f40ed9f04428778ef61ea72fabac2eb788c6fb4074f5ec1adaa7910fcd73ba2b84594a2533157de9e5535bcf2a6a4b81a5922e2d14782aad0ac24337 +GCD = 1 + +A = dcd429b1dd6dfab665e9dfdbe7cbc1e95e67130e6a53127cdf37a8528944227ed8a1650de2098de9ecbd9210ed3c692965f35631214235c5fb58bc4519b8e2802bce00d499796e5d71650359098ad82fea34e06762a72f1fa419340d882b028bee4342295b836375bd6e72bc3efd299340cb3c4908373bdd3760ac2f51163072 +B = c96d1e49011c27f9e66ddc8965f3d2cbbe0b4a0846fe08d0d969093550623804dfe30f5032453ab751dec499ab8dd3f6d5e84ba28b2452ca9e9736bca8738917096b7c1de7f7d5d0b8eac389f479305bffcb50295607b66244f7ffaeef340a8dd94bbcf0398593c9fc34dd86f7a4a3ce8285d245cf2695d2e825df6dab61fea6 +GCD = 6 + +A = -e47a3a8cab43eaeead21d9b42f8e60fd58c244bb6c654559c7ce635e7a7916b953493d849239ff29ae458aee50e3552828831062bd81c14f4bf0e25dfa00ba954d9d1d235e91428beead92b99b2527a728d7ac919b6d3184cf00173eb53c73d4c5891b2897ce5484753ec1ac58393f8ce6891cfa187520686a900746863658f3 +B = -e872e0a28bb17fcf34b13fa4c81da19eb465e81c8201acc77ec1922ba4457b9d9c56c9499a2660479d2669c56fef85b4db6428212cdec7b251c8e6c6696bea9a5ce47b8598c482d56e34fd654bc4d9a292bdcb82150ecf41d76309e7fa275d9d2b31840e3911ae801bcff8039628c4d9d86c22b12b3978dcd4f51c8821e2e1ee +GCD = 1 + +A = a325737a25f0bc388f812d88a061e7e90ff40d1013966f8dc4e98d6798670c221bc264f36cba7c29a0fc2b35062c9d84813844ae987404b611cc8ee76086e0e0db226e4288ad36704bd2dd30169ef00376706e39966e91cca894f68c8126edf2614f3a58c88e02396b5e73fdae0f8e6f1b59f405e1b557d93bfd517f538b0f04 +B = -648ddbad4f339a2054824820900bf35bef95d79ea1b47c3035d9f85889ed2cee5351f0a5acc4251843a6e28d0b7e9e6e8862ae65276d5fa5d42c5db7a3613ce68a6d3b4c78139295234d8f8a506a9e0526b1a2062e6af4019f806f27ed15f50c9455481dfaa6d9ac2878d60b9f54f959019a8fdc2655b6215832d474ae6b74ca +GCD = 2 + +A = -a2628d2c301970dc4cc026f468baeb9524c75e6b42f2c680fd2932bb4eaf85e9fcbe2ce3e0c36c20757102ec59d3b7cd78843086c3d9e2276d24a4b17d8af2b39f401f171996c20d55198ec549147b91b87e2c30ed9dca77f4b6490631b8527fd7b9746b56b23eaa2af9e3b8ab2ba7c3fdd6768e9f397240896b070044cffc95 +B = -90e3fcebfaf863b7f2bf393adeaa764dc4b65082511f723699eb6ae4230b808f94b938706c7ee626d7e53e74d5e50f0df0c21b7f013d23ca636a3e1c5d1e0794d91f5dbe6d33fda87d470a150ef0a3350f232e6b0fc8ddd6c41db47c4e5fcd32269343026b7347dbac9b93c560d4b4962dec2cd9160101d62b1ed0b919537b74 +GCD = 1 + +A = -981e850517d3a94fd1a2c79628489d3e64bdca3b15c0f680a6c2b1de31f35a472248d57e2118507526a0bf25b6573acf9d7acf9477b60ccb0b077cfcaf3a42dc2b1b1f5a34071f3fcce65905f98e754aa90462374100b4c93f381b216ed808abb48ea23fe6402ee3a3fc88118f992effafa2620b17bcc1551819d1dfe6cd55e +B = -33f6f2b67f5804020de6ac81f61392d3dcb492063505b180d62a16a61956b0e07aa575975ff011db7a04b370236f5399f1e07b9f0a54a662b4535030e916be62b595276d5c6cfccff7a8fa243c96d29cabba3de08183d3382978d459278080162519872f245bb9bf13a1290630986ab5a547e1b59655426015e2cb70b61c6887 +GCD = 1 + +A = -88287bd6c8d80f5285b856af1cd02b619aff37fd8673fb12ea26ad3c2d3e646ba92bf68206402698b61bfa583585613db1de5cf910a538239c90024dd82f71c315800946f7ce7785fa1628aa5f6ecbb2f6f75427fb07bd031e4b4e4f5d9c4b21e7d7a6e3e797aeb4106d75fdfa564b62b5011e7e9f159e4ce9e388d0e5c81678 +B = -5d3b18470511a0001449c8b4f4d808e65de40ab2f0cceff3e5cff4e02757c0c057a15abd85473125be29f73bf048941c12c0c0ff0908e336bc2549f5273784158e90a2509f765e8cdd9fdfa70214b680c290869718bfd0d7c151e8728a004255bca8c36032b221bf126198cb0396f28942dbdda55173f1e54bccb0f057c8f84a +GCD = 2 + +A = -e707ca4c7e05331794d2b91e8849877ada09f2321db4da06ef7a47476a47afe389adfee8a27512203a208ef5e33f3cdb0f4b13c0d326fd103836824d6eff00af234a737b86989a35b99d01bd30c92ac8fbdaf8540a66562bbfcd7dd1fdbe1c5c7f00d4a42dc48a4b0e3908d5fb227c0e6e9e9992847de45117bf6757196da929 +B = -998a728d8ad5c87357b678a546f35c5ccc5f8f32bc3152126a6febbbc338a60a0f0831c5d55eaabe3c996e02330be69671e1690aba744e4efa717c5bd4eb3ee6c213947276a84bb0ee119ff259c9740ee097d2245b94ad7191e625afb9f5c85cf6aa45baadf2a5837ca80253e61367a12318c4128fbb8ffbb34aca9679f6a340 +GCD = 1 + +A = 489d0db8b879bc4e2e17b7e4d0ab8fbb1cb326952c18a237a178a1d5cf46a28a53fb12be40dc827b89229d93b6d325c36815665846181eb3fa0e2f00def53ba9752d4f1e4b9771878023a0df23fddfa5a7c68fb1b4133706afec677180b414268c94516b3f76d520e12ce8f9241605043fcb46e8c7993cafe18c623404da40c +B = -54c141f5fd5c3eb3c676320d0f2a556782a566d1e70d7ae1d250befb081ce28341ef8a32eaa7db5c403e7c20b855269fd682510581ff8478f57c9d187575d16fc3b833e6e166a9cc74fcaaa6595016c87e1ae96a80c6f8935cdb6433bfe5fce93c791d0858df626687a9e0bed30233d6ba6770b94ade68a22efc3dafa38cfbf6 +GCD = 2 + +A = -5f2b3e3657e4fd856c207a6a4948ff5ee2011ede8ac0074c46608a08f875f6380e5bcdb1a57ea99ca05e1736ae34304efebcfe34ccfd0297dcb34298363964d854dc70e9882e3646f50266bb6444fac30625041bb75b68d2bcc1bf25c9029f0959a92a940d49ac59082c7a6d4bd2b7d54367d71211c2b5ee0c3559ecbf8bd106 +B = -d0b57739ea96c3bf58c74fc3990e334c77680d7907a97137e708be7bed12dc4d058be1eceea84f50fc60653e73527e2a1fe790813091dd6c65df97e8258a8df63c288f2ddf36538c533567947e275784211e89815475133bfba7863e4e4b635f70b43c47ddfb439363e2812f9f84d7e20bf0346048e7f19a22c649123e5ea393 +GCD = 1 + +A = 70d8319092dd9e7d46a45449912beedae9bd9e38417653e83fbe1d5cb58380df617623006bb82b7ea1580ff49a32f9a97f6ed82d69f1074823deb7548e87d7331e0602041017f75cf9e75f79aa3f8a5e289edb86af95d0d9a2ad3f434f3d3c046e89c8f35b4bb7cf4ced0072524a5de7661d164859719624e147195237f26039 +B = -984b2883f46970ec19ac99a031c104f669a8894a88a980594bddba1b4c40856298b892780bb92131fcbca38aaf6be2c24e965e24e70900e00ef837196ba609542a2898d97f41035099fda3d118e1840b77f1f7e77725fd932caf71b7438283b7ba5f5937099bbe016303abf33297375d68b8649eea7546f5c2ca3d2be6b2c42d +GCD = 1 + +A = -d1562afbb22aa35e4a1e12eef7de39635c6d10f92572cf3a4eb9527eb76323d041ddf58cc22d8ba29a02fba0ca1ff099718699abd6dc66adafa2f3db0ebf337c18ea75a433a4a7be9e318ad76f31608e7d22a5d1b9fad122f067601c89b2bc03a671694b6f8c12cf475f2372ed4bc90d696fb4dae54279d8442239234aea7e46 +B = c51ef6dba8a9c5a036251a9ed6408120e544b8a2c9e360891d85099ef0cddee4eae91b0935de6cb08e04260ef9dc673830dd8c49dfc59d734b171f83579506c884ca5f167cdf57764c4df1d10508b30cc027682159ad772691ec1c39c586b557aca2e0e766943fdb7b7ca75bf6d0327c1ddd03a380c04ec3c12f80ca55bc7752 +GCD = 2 + +A = -d376809df7e77b76db511fa04ff9b418d32ea16cca0f27b89cee5c63d8960ff1920dd69b9b6ebd76f7eaf1e8b7e2abdc81f5ac5cc7bcb7955ca33298f0e49aa68c639150e998136410bd3470195f478d14830000a7acf81ae15d162bf7106782843ceacce675ba3a62441e39722305b396b29c030b3e9db6ed15bcee45fee72 +B = 4f4d97e3936b1845c2fd67135658083a89a214ff9f7d0cc0e46e6faf2ad832de0a069f80ccb4969a930780704b72cd3ad375331438ffa55228597e12849f3f857430e078ead5fa023a77dea27fa776f2b8bb51c717ff9dafbe150accbbbb8ea7ef91110b930e078b16d857abb3d6a1cea3c29b761059006592d3ff2a2200f7ab +GCD = 1 + +A = 491b8c302ea139cf13c1232f3bd8f952f85c2520da2d601177945909bb8bccd950304ba655cccf2db1e196822c0aeae5adcb4e71680f34f5914faab4480a2816b6630d7e7dfe263011e5b6c7c0e6a7f859e0c03a57714cd00a2671897aa7da1cbc7ad295cc1c0f94bd96124e078b59dfa1e38fd19384f20f639eab818e66244d +B = 2b30e10ff02d9464c7813af10d74112108bf320802fd2ebd48aaeca72d9d8554d92dc6a9409b0d645f3c61d1dd07a1b3a5da63a7c24121a3a1c8be82a3d024d86c9e2e72a252b4cb2b4309a316c50d97466498f458b62f652c9aea1d6478e068e66f7e2f7aa9cedec4e715ba636c2a082346288632eaaaf0e165d7e8e1084fb0 +GCD = 1 + +A = 7a1f9eeac0d5a1e063cf102defc67644835003a509ecf4431388d299155e5d16f2654d2c6102f2774d35eb0f6d50e53ed37e57cb4634abbdaebfcfe5f66d65b8579e5cc5c72e1e2d1cbeee8f3db419299ac529a55f8eb94575ce1ec8a248a3d72c0e0c7d311ded04f3fabab61e421638323e79ca6ef5e0cee57e9f32581bb4cd +B = -c44864128b6cf55e3da20fd5363f3f7019fe0e0eabd99b892df01bd185ecb841c7898bdb9b6bc7002e36fbf4ba05235c76f8eddf49bd98fb06a80c4e4bf47f7165226312641f614c15d52fe72c11193f3dd9353976a49563362ef7595b8e4eb048f2f64436e007d3f1f80cc95b56fd731876b9034cb9c30c95a4dc572c7a5919 +GCD = 1 + +A = 7aa4b293d7b884c068f99a5e71d4a53c7bb9a7aae198655602a54280abdfc355ceb625769ff94911fffc76679b1970afc97453d9147309f9887f690b799fc41980b984408cc30c34a53d193fbca5d5fd1a78ab292195260c1c719afe66473c7d8242650bb43b3f21e8d0f6d57eacbc63af19968b7614293e01ae2348c4d767c6 +B = -bfe3405e6845b04ecd7503e3a3041a6b881125de8f5142e3a71f459a471ad5f4e7c5e12c8b58e3f9691ade00013f050a3d094c35a121d7af383c700a8c115201b1f49fd606059867372e610fdfdace08bfa195c38646150a1b1f71e72f4a0a84f0be95185d8f1c2a777bde902f474566ee87393a1d73ae452363af398ca6d0ac +GCD = 5e + +A = 154b0d59c72dc6f70b690c088233ac0e3d93e9c474a722675c2a04d07050c778e0850c6083a6abc9e1b1579a65fdd2a254365bb9ed9685d6b0dff07b792bc04ad35a12c577c41f18a46a446c8f91d0d689ab668f5f228bb3f7f52c9d63221d30b03c4d02d10d63dadbbb10b5bced629f88ebb40dd28ae4961894963bc0152bd +B = -3c885a2244ee49e198d3b751900102f0cbdcb35b0d4a62183443a54929c30a5629954a8ade9f4947c3db81bd6e2b7fe84fd159b41f5315191c1061e9463d2d4cd49dfe343b6103564df3e0e09d74722f3b6bfbd5fc556ec61ffe3fc3b4c5b0a2c1ae6fbe2c070cd9513b78eb025e14e71405e0c616d4c9f30c6c9e8caf8e3559 +GCD = 1 + +A = aedc3dae0bfe44496648449693b32d9e1288864da804f2755b9baf23a35790292f38120b4ab400919e2527cdecb2a0782e8f2abb2c6f167345b61b9bf961b1d4efa29879c1e949dbb698cd757e1eec9d1b8d2f68a3d52712ca528146dc2efbc303ab71bbea8d668e496b13d80f9c97b7b7aa0fcc7c3bb5fbe49fb3ec12ad52d4 +B = -5dce0a5263492badb406a685554f21822da52f6e6ed6c308c95ab33633fc510a61ca25c34488fc5cadbcfdad10ce75fda83571a8a8d18cc8f88d5fca59925c9bbad78d7535c60efed3b501a7f09e64d75cb2471857b11a430d914d9331e0255e7a1e42f167a4917f94dd5dd23f79ee326080c53d4019900b0b4a811aa45bdf12 +GCD = 2 + +A = -53201d3cb5116e1ed891a6a51814371a5e6598af0e8638ca58f3b84b39256b3c72130c6d40b0a7612907522fa43c901cf074212cc05ba2024ba55e8993e2cb565dc26b211300cfb3d2bb4df9ab6746def130bb59e3f60323cfb693657f38ff99c7840694ffc292801c921e7670ca3e221fd727677e14a23f59039243ce11b699 +B = -784fdb52ff6f2562892286cfa38e6d27f975e64d68b1f27d7f4b911d89f41d9605cd33bd3e14b12dab59db6f36e700f8b811c5032bd6e1f48cfefd3e527651145c35eb3cb61c6400a943c44cdabad5affadaff9d8bd5b6f1fdcbc0cfd489ab95e63e212d92245421227c0b97bae9c8def6724dbf80021c1be5fda067cce5e818 +GCD = 1 + +A = 522384feecfa9a7ed6432f8f0c968f7cb4b70dcd64ac92079a676182e1670dd7b5cda1d78b52f0d68fb8eff7a7974a24b6ac2f141456d94607f71366d671d549ad7b22e476c11c32825967d58b149e4fb0d6ef3395062a7006814f6f502f606a714a60ea2a68549b45aa7a2b489479e7234975eb8aa4832b1a5c7ba1eb45e0b4 +B = -66f473cf8daffc708dd2d607aad4302faed9e869c65b32c24538c8ce68ed2ef3e8dbe0113ff9b75a1b94450535b3c38f394dcf6026c7401f9ee5d5d661396ade9d26ab389428d7df8382ba80d79ffc04554419dae5b29a72cc6ad8019b45aa0f239078f4ee8e40087859182538f4808cf90856f5f3dd5f7667f35595ca7cb492 +GCD = a + +A = -9f3a8d7f4c5ca5099be8aeb27ac88bc84a7c54953503db48fb22682097d87effb30d7ab99d20a774f1f56587ea21aaee6b18981027a406adaa2e9044151126545d20d3a676bfe4267d0a0cd76f9abbd18143580db1624febb96458de255c519c817898f53062fd9315bbb0104206b0f3c3664468232984cfef31dbe7b4d92183 +B = d5079ef5b65d765fae1f1494f91bdbc16f746f81b5489d6ba9e90442d1ce4ded8ed3543a2a74b2f96c6c24e343157274809087cc9c09d49f1d40788bd00bf2361fcaa2de41895a4de9da3953983ad9d0fe4c66599ff66543044bca600305a50f199f232e8a7dcb461404bf3eb0793dad42d7d4475ff253257ad4460a8d9fd641 +GCD = 1 + +A = -c29022251da8ea9d1797120a448e8f5c506f7a666153d6f2dd57936ff0d68cb3747b5f9788dccf406e0ca34f6468d78c24506503004d34f297017cd45ed782707ffce61f90a97779b1feaa0b4b527157e8de4557372998183fbc4d49e2d3cc1f33731c8b17a4248073f107fc152d471d96c6430cba0b939ad0a3b2017fef8f95 +B = 167a877ca2c4ecafa18fe4179bb71ef26ca1b50fc2bbf5ed0384e1415c9d7d75ac25d142111e51e3b1496ee00fa916d382304cd525afce6cfd419af212999d761b12846a749476a8c5e7d3a3acb7daa77ec7e4c33e08235e091f6447bf476b2438bbe3f6627089eeb524e5854620e9a3d52f20a6264de93dcfb75ff42e96dc7a +GCD = 1 + +A = -f1b01a508c7a5e1b83cb8c7d9ba74419711dfe32b252f284b83daf391a7560cc9006d35a2549cfc9e4cff464d8d9bea34e9a2879a67435932503a8f37f563074d00afa79071cec2dbc85bd9f2e5cbbdd42c3f2e8ef85312368b46b78329d27649aaf15e73aa2fd7ede847b8d7c4ed7033073a7867d025e1cb92b1f466e1d14c1 +B = -87d7d498ef57cc24e0032c3d05de96f3456cc5a1865128edef73a5578259b564f141edf89513ac601dd93a6c79b7d59c2ecba11f2f81f34d954b6fa0ca81e25ef6ae4b03879bedce03642d4f34bbad67837a997200feb3a37a786cfdacc946dcd8a5d49e7c02284f2ce1904313a54654289f9be672b301b8dbdedc6ba6af1a4f +GCD = 1 + +A = 48a2ca1d093788100b1ccfd7e2efd28a3b4ca2fc68a9803074ca2fde090c16f88cfcf8d21fc0a0b5d967a28c57616717f855e104799ad1f9cce980f6ee5746fabe7bc3cdb216dc9eb5bb809942159592e2da4530b26b1a48676945a9eaf75da4ceb677ddf7d2d9c0d4f40fcedb5c14d84c06bee4630aa608cbe7bc68e95d7bac +B = 6fdebfbf71eea092db63cb3dd013b28a7face1169d6fcbb53d94f185fbc01502435e648a1115d019af6ab9fa0f9d754eb04ef4f47b827ef21cfbf0ed55ad367e340786146b81428a16f27734f8a2439e21d39f8e9fdf28b27e49a5877e26a55ec6762cfd9bf0c82fb1dc95173db2e9f8a5138de70d79304d6c9fdb811567ef43 +GCD = 1 + +A = db659d5c87330bfdfce7cda7e84180787c096ac2adac3f16b8658a1aa1631a5536e96c82038a998fd5d92030c4a7cb4ee65e401461299e9812053888d34c9a1e5faf73bd3dc4e8e92cc818e5a72f29e2f645792a471a480ee644ff5b53d1735137f182b6ce6c13ff3df639261d9285ff700ca12486cdbf8fb1c82d175a0a6c6f +B = -28d58f1ec6190366035cef8a48338f59591deaa7c15c2ac1f1c95ba0f6070b171a1e7ff0f492c503236cf1458bc47fd5575356141e432ad98c7babb5f9c303a585d78aa6b3a995748178906d7ac92ce52f438e01e2643ad5d1079fa80aad66d0a0f912986241390eb341338d3b39adddf4ff69c8988b431262fcae446171d107 +GCD = 1 + +A = -72e471a443703c59a0b501bc06120f32b86835b9ccffbac7bf06de790d407afba8daf6b569429653ed56234d458c73ade9e43eb282d823d371d340871b3d37de1a30351ed86e5370aafb9ec3bd5c94b7500f8158d53f73bd4fcdcd0dd8d3d38cc90217fcad6d25fc4b50f5ccbf00ba50aeb0ef3b2a13de07e32d5c5ddbff9b5d +B = -b1aa46ddfba7df7e6096081cba0270fcdf329ef99e8c0153410cced7e326944063528a3e82f4471cad80a66ae71ba63feebae5ec3a2747612df4a1bf4ac187da956ac6614d1be45ea290e2bc88a2112354640e2d08fc13630fe19da20af2720a810aa4ea51d48e2beacefbd60992d6209604c4ab87ea99a4496d8ea6df537376 +GCD = 3 + +A = f40f9eba98f5a840c6d133f98351f9cc2a9993246d8b848fac591143d4d390fb6775f468409bed0addbb8b7bd97b9df07ae6d7912ff263e37cf611694dcc860cde7256dc80313f811116b187d87256d807628aceec86ccc0c4cfcf155818a75e6bc219c9f7261f22fd3fa5b3ec00587d12e5e35eec527640ea2a2f607358edf6 +B = -54db122a02aaf1e8356cc80a4dd8e40f5f25934f9d2385da7867f9582f49ff4a1c0b396b12136e8325a729e55cd444337897bd7e9b7c2328b60892ae879e2a7a102f1d20b6cda684486b1cfaf72ec410add82ffd2aa3c3f647e6a9e3aee957700de2eb99669468bf8b6a13a703785d0f5597760752b1ce1e97b659cadf1282b2 +GCD = 2 + +A = c2919cc5632e2e2664a81140b59f3f11e0276b73893c359e351755d3b5fbf459078fdc0cdab8aed9799b93965f0624d85e094fca1a1d2042bbb904c4ca6b2e123713320abef0c6802af784d144850e468b04ec2248f438c8eb1cf7e35968aef74c4b7edc191fb4a7bcf33b27cb61e73fd99dd1a31939fddcfe7db0872d891730 +B = -d45c6aea632426bed9beafadcfc2e18fe6efe6a7c6a70b37f2812ecea354d70e8f3552c5fb7ca56e326324265240e59cfe7c595d26167c3dbcc7ed1fd6e5fbabe93ea5ded35a63a61ee962698e5798e28922dca9b252f62800c842915677a2a56989fe8c23986b2182b7d7aa09b13e9504232bd460e6a30207e44323301305ea +GCD = 2 + +A = 288e3ba8025c171a58e1baa1242057e7e40ea2493b5a191db8009dfc9f049b1fc8ca29cc65910d8ce62ae374c4af805e539f65449c89f6b2b682a2d33143941b96b25b21f638ea0d9d95caa534311faededfbdaf71eb65f1744314c41b6e44e697a3d33637ce8077ca382e89137d1da88b395167c11c2e3059ecf2f8eae0b128 +B = ffa3a37f0a81d560285c2cf391189ce07d3ae622e5d46d624bef6e218f14455fa51d796014f933cbd302b62c08b8e4b6908c14e8bea475fd77ff9e91a4d721617a8a9267885326239887275350e41abf437e95f5c59f567ba38cedc6970245d1bf2202e27e61a28859dba4f75796f74c07ccd55d9a0f847bbf28ff3b6985d963 +GCD = 27 + +A = 7ef5b5abbc4d37656e1361be70d2d377733105e8468e52adce96597f449b0766d08996da0b94cab6fbb319ff0292d2f057681337ae4ba8e2288c4d99f1fd3dcc4c87a620d1706647243858f822e7628c8ee6fed2d74fac90c11aab7450645e787520473bbfa4325851c811217ba544b776984bb648deaa97b3f616ff44be7f93 +B = 5c632ecffdab62d2222c0eee1a8b294a5a2113335107422839ce141ff768529424ba7dc7a6f7d5d585a21c2a66af43a38b2e92f924b0b00de00a421fe9a852e06ebcf05b42b5871729404aa70134efb32c637d58593eef07dfd5ffa3bdd3f845b65c7226799b0f8a57cc980e213c5fe3ae50e4335607084288ef0dff127d0029 +GCD = 1 + +A = 140db1546f0baac73208142e1dc6ecba8f85d13e46cfae751a39ff618cb51d359f84639b16157b649abbf060b29d50fa86de5929208bec0c53023bf508389437b46ac304315051b27e65a6e04cdec736392eebccd8fce1cb064206704c1f75351df4f4c9950ba8e5f1bdf9eeea353baee1a5328d992af90692b4f51b0e174227 +B = 2f89690ebfb9ff780b85352071f9b91ff03af4915382cebd1e276700b500210d94c92979fdcf6c31c6499176149dac85422656cc5b8ef675c6ea9521f9f9a0b4278c785f7bb1080530165e660070ee6b7277fd81133a01d1e74382ff9df98e2d93ab653f4f3403734f468ca0c92fe26e0a420dcd7201c51b18a2676474dc11a4 +GCD = 1 + +A = 84084adb6cf02639893aaab4f35c700748396a18d3b112e04aac9e1aa9599de74bc67941dfc4163ea38d5555a6d4f64267db92cd8a4d9e7eaecd26997ca3ba4f8a1fe01ead6a4ff479b73cdf2c3f737020b77ed78df10173fab4c812aed68b8bcc53c56f90bf7bf73961f78a1bd7f756eefee6f4155a6354165ba721152ea72a +B = -7c46a32ab5df788177f4eb44595339c1137d99d953cf6fed96c0236eb132ae35e3c5443247732f3b953a1ef84eb2d2765cfe31138635bd5169c46a0e3ca2e3ed58f8c82918cf1559e042ffcbe0511d64d4f4eccbab15f69309e88d34469dabdada53fafe0b8b93954ad540e03a7d30e770cd4895c8f6d465edec4204c749267f +GCD = 1 + +A = a981fd251483fc2af4fb7af6ab2dffb689485c04d8e129593029a93b215f5ca4766e8fffc7c09e61a07551bfba9c9df8a664f97aa8bdfadc834c4efd27a05109266283f10f6aef075be86cf11c2bc8d4704514f335ea47a2a1bb1704cddd94077796264e56c77004af7d700d58f8d2ea0f9279cb1a25d73819260477cf4ae567 +B = -6ae7fa3301fe3321d330c1f7090be90eb361c4c0a134a5b6f19cff350d7bb0e48a237d42b34a667e947935c329e49c37f44dd7a2e41a1476c0c49f8b71fb4412ccc64707efe1d4a4198215ed68cbb8936a08c11d33b503695a070eb67cff485e0c86358b417fccdd8f93be49cfef57b07667aa7b7ddc1b9d4c52798d5c8f9bc8 +GCD = 1 + +A = -b631f8a7641b5d41b3eb612f279c14202b99a4207b3af5686de3a3b3a06af565dc40f175e7fa55370e450eee70664ddd161e72647986a61f2403fd63e28a6916f59f2ca89d2e7f547a59c41663419f0d4f47c3416084ebc55b0e32a7d9946d596829905535ed5ea96ddff540559e403e89070f76ded127a63356a887908970f +B = 40d83735d70fc67b949d6c9011b424b8610c101e14b6c14e3dcc218cef3ed6b9a6937455df733cf28395a6bbd57b58f1bd6b644d7289c406c02d88a5c90336df76dcdb3915129435a295f8baca607b2d95be6f453cf33f27e54e904fa8efb468d3d3bfe42d205f4d215141bd7a667a081dab56b6bf9ac58a37384960f3d00143 +GCD = 1 + +A = c283bc231037e4382a9cc3dea35145a0a27d81c58d93ebddf41a99a91593e502b85f309c1abe08400fcc242c92a783492d616c9769015770de653108562f7969b164e269112f93ee1eaad4914415790b64b74c4dc3a1c07d183aa9a868de3c8d2f49494e31c5ae8c849ee15786ddc265347cfff8b23b0cc15161f1a91066b4cf +B = 1de4a88e80558a547a0883feecead664c4631b1f59d19b4fe1aa5e61376730dea4cf628ac5347c69978be6464e7916af4008824544a06492fce4356061d654a2f730f9d3cdda8ce520be84c9c5e45be0a59507be7d7fda93ee14b343d8db2be812156c3aba8adfabfb3b002ceff06710c662e0d3c962294fcad438977bf3a43c +GCD = 3 + +A = 839382ff295caf55e6490afe233722d56e9d7658d5fb649723d1e8093bb40941a452e1f6915b808af12abd65f4417184a7bc28dbdbb43bdb87a6b1d79907cebb3f2e88e408ce8ef7f4847d09c5fbf1a99e3d8c36fda1fc2245febd99d9a345f6b547a42d0cc99a5eabf97e4f5276407e990189e671d16f03fa06f75992136f23 +B = 93c2e1c35b426b9a55eb9eaa6d0a519bbb59f8ebca8ac50c0ab37f5d2d56d942ea3866100b8ddaf150601685f9cb178ca7a1e4a6411f92af4065ca58fca5c35e8b1c36b223b874ea3d3360d2d7540a5583c6d7e3da24b3aa24b3c790841b29ef663170e4492fdbb286f58a6173eb4a8d7bbc72ef887d89b36562443b4f2e169e +GCD = 1 + +A = -4a3f82c72925fb805a1dd02a4831fcdb7d0bf1cb0b90f1a97053076b64aafaf9cec3df00f335e25fcbee9f80a80f6ab105db6c80c6b4c9136388c68d20847cf31e402c94946dbf8ef8569917cb7c5eba390cc3e8230398a3386f9c55ce924a108a1d7d42451b1d15268c6241601a58bcc5763d909ded7de1ca6992157bb3e6bf +B = -ce803dd8eaa66bea9122e4886d11e866517fbe2ddbbf4fcea573403b88764dccbc01de1298bab469bd87deaccf4749c93a5ccda073bfeac05e8ee23a98e09c2b9db7dec899496dc86538cb58022307f3ba95d2ba497541c36825ec0725bbea9ff2557f912e9207399b2e2a6eb8d380bf32d6f9b1dd78437066279aa619c01b08 +GCD = 3f + +A = -daea240e1c50452d78975a729483433127094ffe17c1504d20c2d973409065f2f9b04a4671ccbea0ea1246280dc5bd398fcae5a91b11a3b106cb0b04e8ccd0fb2dfd8a1fd5357dbb71b9475f26288cfaa40fce158e523bdb2ab4392d630afbbdc12b0ccd6a22e2db09c2a77c4fcd4637c3efec7d1cc9929c5e952383a17c2ebc +B = 6c6e38391d5c794d7e4104516a24ce0f0ba77d13c8ea294f07ad8f61870f40f587496707e1906d7c8f46a8584e5aa82b0bd16b26b01e5b276fd2cca76f5e8c09bfde3b4628d237dc6ee35ef64e1136fb4e6baf3ef46268c3f4ea21ac5e7683f143ae1c7bb333a7c9e3ec121fdfca6ec8f22e6cfd64d9f68509abc58aded834c5 +GCD = 1 + +A = 21bbda00bd3ffb167fe34e01735d432378a6dd2f896d936e1182e0882f17bccb3b3d964272d2c64c2a7e886fa92413e6c01ecf84db9f29c435f2132b9f0c49587dbe985b18269cebfd72a785c165777e293ad7b32f614dac592e0603c531619313729dcfce5dc210e3250b8bf4646b447741c10f1dd9e495f89c55a6a5c11bdb +B = e303980479317084c56d9bd5a6865b31ab3d1e7675014af88823ca388c915e00046d30f54774f0cd117998d2659de9b04ef7e78898b885012dbd3bd1fbb6f0a608aa47ed8b1328ee3c02feaac84adab461329945b062ec02e690b460ca3b5a0b5063be7a7a0a6634050cbae49091bca19fa229553f412d088c6c1a1ef059bcb8 +GCD = 1 + +A = d35485a01ae17625e5cfdc384f937e4ebf39be59d8143a1d0131bfda73737837d4f59010e72521e9401ea19409d76bb2f0b1881cbfdd515d9d4c1975cfecaa0e259958d5abd2b3237e7da9a76aefd8b4c21bd8349a4d3a1c8a212c980f7984b2b281195f2df08207b99652ab05263e5ef85eb126492918baf4c4d077461ca1e5 +B = -feb136c65beff472a3c83703fdd3959e4c868e63152ae6b1b708e6303e9c0d81b6bba5c9a18b43635161b9cedd55e558069aad4d31e5aeac224ec34f23cca9830f0000e9239eac525b33d00b8c8a7aa90b391a618ecdf104acb30d09ce42cd3836708b05d1f6ddc3f741fbfd7bea55e504ca573bf94af73008cf7f916b97aa5a +GCD = 1 + +A = e6234aee21ea358ed4cc8fe9a1fda68deee6bb7762fa4bf90da04aa9e3c03390e5dd60a5932a3a7e6ad93bf9a6d0f0d79eed7f0cd6a8a714f11a82699aba3e11f953f81dbc592b0a2d2a7de70aa074f592d9b40918c37f02fdb9e7c01e641137bdebb7b3d784a9399ba2c7701de09068e4aeaffa173db361a5e2d573bcacc53f +B = fc8962f424855af7e0c22c9c424fb6c2afa4c35be6d4051f4b9cb3d762d5324bf318fb7ded05755302af37ac5e6aef2184d8178b53b3bb1ba4f0a54f704ea65cdd34550e20e7cc9acafba64c68667e755e6944bb2a01392125f80df14c2fa6a911f3acf4d9b3737312136f2da0eed34109db21c9dea3cf84c56101c4e7ed2e51 +GCD = 1 + +A = -f3d77b8eb4c24a2e28668be112ec8bd8ac8ccb71f324b87ffe5e96f6e13881daed223d44b27adc674ad2f1ce83b09889a8bde32ca4d1c140c7c2e25bf824c5dbfc50458d07b0a7616e1b97c8dd7de5f30e0326352a5a81a564e220ac9f8980c874a223a624c171a683005bf98a7d282e78076a13a47ddb3ae09cd3108b8b946c +B = -89d73a5830fb043739438502b5c5b0b4b31391d13e3e8d926479045d3b55e778e698aa2a593d9936dcdbe3c8213c15b97e34d6fdfcb1bcc42880caa9b4e377438295cb3ffd071f81fb71b13ecaa21da10b04fb0da65b79c363bfcda7e1fd8c3a13a586b8d5a6375dae6c21b5abc433be621cc3d3b462127ac4153032a84be21a +GCD = 2 + +A = -60 +B = 3c +GCD = c + +A = 186 +B = d2 +GCD = 1e + +A = -113 +B = -1b8 +GCD = 37 + +A = -b60 +B = 116b +GCD = 5b + +A = 1fea +B = -ed8 +GCD = be + +A = 1b5c1 +B = -148c5 +GCD = 1d1 + +A = -5a426 +B = -2846a +GCD = 34e + +A = 63800 +B = -94000 +GCD = 800 + +A = -4638a8 +B = -23f256 +GCD = d602 + +A = 355d40 +B = 129f350 +GCD = 47270 + +A = -5ba081e +B = -3a89072 +GCD = 383e + +A = -2014254 +B = -411d534 +GCD = 7004 + +A = -4c1bb1c8 +B = 28eb8bf0 +GCD = 9ac8 + +A = -bcbd0f22 +B = 6b2528ce +GCD = 1544a + +A = 3b3ea5246 +B = 9d812da9 +GCD = 38dd9 + +A = -d341e4963 +B = 897dff148 +GCD = 4bab5 + +A = 1be090b9d +B = 10e7682e15 +GCD = b7695 + +A = f8f4eec48 +B = c1b223b0ea +GCD = 18d0d2 + +A = 38b303e10d9 +B = 37338b5cbd7 +GCD = 22fbd1 + +A = -239480d6150 +B = c9bbdec2573 +GCD = 151fcd7 + +A = -8bfae4efec8 +B = -5cb3b447464e +GCD = c6750a + +A = -17ffbeda3360 +B = -172360f2b88a4 +GCD = 631bb84 + +A = 2db19fdfdde20 +B = 1b45394b87c5e +GCD = 312181a + +A = -4495f0e4e9ffc +B = 9c2cdbe69719f +GCD = 722c331 + +A = -220a630cb9dbe0 +B = -3f6d33017bd27a +GCD = c3a44e6 + +A = ebf8369df6c6c0 +B = -5e060007b69270 +GCD = 1f09ab30 + +A = 7b6f0f808af02c0 +B = -6291d40baef1da4 +GCD = 1b51b9314 + +A = 10763885f54acdb6 +B = 48ad72124b927b2 +GCD = 446be8ee6 + +A = 1a1835261881c618 +B = -489ad34b6f17877c +GCD = 1381450b4 + +A = 501a8657d00fec90 +B = -7d572fe34f1e3f5c +GCD = 14b7465ac + +A = -31d2defd8438d0934 +B = 169de129d42f92a1f +GCD = 2f5f228d7 + +A = -f654ddd0674ac42bd +B = -102942513fe4ff077e +GCD = 53754c93b + +A = 53e625b6193b469bd0 +B = -25339fdb5a2cb8be10 +GCD = 69dbaf98b0 + +A = -e2136db2a4f5c3b648 +B = -a1222b022d7a60e600 +GCD = 379cabe8c8 + +A = 4d46abeebca81ce0b62 +B = 4be4576e8dd4460185a +GCD = 277218eb16 + +A = fcee21b2537f1e316f6 +B = 8152473e34dc6bf3672 +GCD = 7548bd41fec2 + +A = -4b2223e1cb3699148261 +B = -c9d5752eb52f007b89c +GCD = bb2037c85d + +A = 1350d1270c3ebd10c35db +B = 14fc3fdc42f3dcc7e115a +GCD = 1ba06e1280b + +A = 50692071b5ee8a096ff4d +B = 3976ba57d4058bc12dd0c +GCD = 2d5d14ad4e9 + +A = 6a9884789299c2942f1b0 +B = 719653120e442ae6650ce +GCD = 47175a451ce + +A = 72e211d36a45e2f9f2ddda +B = -5e1085e7003ac906d3cdf0 +GCD = e7f966f04b6 + +A = 1c947b448d36d1cfae4982a +B = -6e964fc229dcf41139328 +GCD = 945fc32cf77e + +A = 24fcf278c33bd31b63e3216 +B = -49e65692c65d3aec4f6992e +GCD = 2e7f54c97526 + +A = -75119da40f9986224346a33 +B = a091e0ab5ecfe93c620471d +GCD = 4e41cf47726f + +A = 40b89aea1ebd3cb5f027dcb8 +B = 29a45f4952aa17040c3a34a4 +GCD = 94a2a8cd851c + +A = -df2b6f9d7344fb8f18557e43 +B = -36500a4df1f6a1ace9f0e740 +GCD = 1af85bd617d03 + +A = 3cb73133275e0c9d970f56530 +B = 454f08b3716fae1e8c9520e18 +GCD = 188bbab2af6a58 + +A = 17ed791c30dfb55c98a04aeaa7 +B = 120c7fa76ee6ccdcd5eb13d06d +GCD = 68df2b6f94dc9 + +A = 69e936e19455efb26b03dcc7d0 +B = -5dbcc1a5e9aa7cfd3610c7e2a8 +GCD = d74ad9c7f8aa8 + +A = 5108d073a4f96af8478989b920 +B = 1a457913f0fdb4b6252070728c +GCD = 38d5d2424767b4 + +A = -8f8f62c3e3098f55785870b258 +B = 2d7b6adb4a62419e44660f494bc +GCD = 2a57445ed9455c + +A = -14d2bfa499ee9db45515af917f60 +B = 7b439debbb28643d36c8321c20a +GCD = eb4d745e1ee9ee + +A = -2a757de40c76d46f3a0c689106c3 +B = -48afc1e13db995e04640fdff13f5 +GCD = c200aed70b3c8d + +A = 75cd38babb6944db9278793c44a +B = a0a9e468c75bdd679bcb25244896 +GCD = 276932887bf3992 + +A = 48123cf3d27668329869856ffb16 +B = -2552b4e917da9d397885694d1f896 +GCD = 3ff19116559b08e + +A = 63156f7b59e4bb5caff950cbdca90 +B = 1a87e98e99598237725543cdc0fac4 +GCD = 7c1b98b8b161e4c + +A = 28c3f0e5155df3134fbc202ec5b440 +B = 218e4d504823961c73a752e98ffa14 +GCD = 82f502a9cb94a54 + +A = 66018fbea01eae81b9798cd07cbb80 +B = -7c443a8771b5a18a4459f3b043d040 +GCD = 1c40989249566fc0 + +A = 4a7af2c3f8707c504e065e05b1c80b8 +B = 1ff4e92c21ea284ab39c8d0c3764380 +GCD = c1a41e0f6a1f1b88 + +A = -b3777346ffc00540b7fc277cdeaa120 +B = -1d142b9475c0bcbf157ddef135c6abd8 +GCD = 16b2a3123710d7ab8 + +A = -54fab06a4720b0d095889274d51933a9 +B = -35b2fa44d46cf20e24ef74f5159ac44e +GCD = e96ba48429bf2485 + +A = -36e79bbc0be929b8790f64ccdb9d264a +B = -e1b9be6e7590db6381f7084207711d16 +GCD = 130af4bf2b0ab886a + +A = -2e4ee39b2813741a619d1269c9a5ab874 +B = -334f44bd14e6828f4164e54532062a504 +GCD = a36da43ee906a05e4 + +A = e750698347c58a88587054d34630be800 +B = d40de7a34ae8aec3069438d1049d6a708 +GCD = a2582199696ccd858 + +A = -27392efba0d4a4ebf0f0f9ba498e806c8f +B = 26debce4c2d6c96ef6431473bd9b4a43ea +GCD = 1e67036d83e93d60b9 + +A = -1c4c40c4489f36c958801b7dec347165478 +B = c5a7df972998846db2abf3784bcfe3a805 +GCD = 1ecf5da42030d9927f + +A = 677c6a306c395c0f39529e5d795e6546dd0 +B = -66238cd10f0b9c567e205c82dd070fb61f0 +GCD = 7908f4ee6786542fb0 + +A = -15f3c0bd1182b58d8e243c55a24123d06bbf +B = 886e66cacb7b1725ac4d3770c247d89489c +GCD = 781ba4691294ea97cb + +A = -109d6075209cb53e8164d876dffe810a12e6 +B = 1a78a4bce1ea471a3585fe50cbb7650b3401 +GCD = caeed23752cb0475b5 + +A = 1202067d091ffb7f976698f3f89e09cbddab +B = 1bd41e29f9450ca4d064cb51e67c53e2401fc +GCD = 1ca9a074c9114076b1d + +A = -46df2a3b758f612ab5047193a1de42c43c9d0 +B = -3a50bda4ca03e98fd03437ff2f8a84d73aaaa +GCD = 32776c19a4c5d038ae6 + +A = c307929b88217259158cf2c615804dc6955f6 +B = -44cd179064d7f47b0f12ae52b442e863d9a0 +GCD = 55bacb5c916360ac886 + +A = -28e83c0d17135602e6fe937d754e752f92bc5c +B = -4364326998617e085b6a2cb2c68f579e939b40 +GCD = 928912429b8741a2dcc + +A = ec320e05a24f118bb243855461de4bfac2cc90 +B = 71e9d70cc20bfe0f9789c94f599ed42aa0fc95 +GCD = 1e369b04f74afbd9cef3 + +A = 1ae8d12f2faa8262bc454562953fcaa651545a8 +B = -431ab0d696d3eb7d2dd209d793c81483dc85b74 +GCD = 298f4bee5487a5e31ff4 + +A = -6ba78b017a29c99be57177f0db6e69e6adb50cc +B = -161adb15826f168fd50caedcae729119fa4e43cc +GCD = 6562700e2471a8791b5c + +A = -384bc4f58d6f153c42d794a7008458c51edf9ac +B = 1ddfd41fc2007340874d1ee3b2e98f5dfd353e8a +GCD = 85db7d6c787a79e0094c6 + +A = 28301a390f514d6bede850fa603fd01c5a0b741d +B = -12a7880f4b21e70689f2ccdc4af6b994692f6116e +GCD = 13edc8737b0d454d7a881 + +A = -4afb93a6083083909296418bcd17fe1917c0423b6 +B = -19f5cae77162c6992b48abb66b28af7e1590828e4 +GCD = 3062cf438b1a6020552a6 + +A = 1b01df399f465678baa23632e6f636e6e9995ae978 +B = -33d7e08cd12c7fb51393f4d6529e6b940ed912ff6 +GCD = 1690d80887db5b78ac5e7e + +A = 4e163c74a44bb9366fa1fcbf7f5f3466bf76de0b70 +B = 52ee9fd13a73c74ecea641b8647027c0b70cae3cce +GCD = c95d6705a73e87dfb11e2 + +A = -18da164408d5151d83e04d5a12729011793e21e328e +B = 1ab7d2be06dcfa6fc13972bd8eea00e374e644e9dc6 +GCD = 1c86138b2c3aaf3456294a + +A = 157a8f34bfc93447b2738f99417504e7ae99df675d8 +B = -9e1072f81e35737e956ada541883e55d187bbe700 +GCD = 6cc66684ca87ba0eda4e88 + +A = -730413d5dd18a82f6c9e24de0fd2bab0b6f9abc4c5c +B = 10cadbe97cfb99dca72d5626c7b75fad81c2f4113264 +GCD = e89f52db95f88ba356066c + +A = 213e3442e52fabc81ec6312cf2b3324eeccc536d92d8 +B = -4476713c86e51a0a1a63c5c70cb8d74bc115e1572677 +GCD = 9bf30eab8f99017adf5957 + +A = ae87fd02c6b7bb4cdbdacbec9cc0925ff604559ecd40 +B = -74b6a9328dff01501b1160e51c708d27d1731f960ce0 +GCD = de4c9a887083b1c11affd20 + +A = 24e3a4757c785e98567559d1f444676832c8fb4cf9173 +B = 1ae906ee7a49fcc0239c0d0efdb18161b8cbeb4ff44b6 +GCD = 321e7bdc7bd26256ece00bf + +A = bfaceea21b4b3aeef201c24f7243bef3e896f3476da80 +B = 34966d7a58057e875ae4572bdd7459ded927c2c7b8f20 +GCD = c4ba3ab148294a8e6d47620 + +A = -5bdd783da99a7e245ca551396e093f4c465322e5844757 +B = 59d33cb08a960e4c9a32bb7b8d6b863d5f6d2ce40b8250 +GCD = d3d6a2bc13e9a41307a10bf + +A = -36b5be6ff7a5df0f24c3627304d9fef0b8a79097a7c4c8 +B = -f000375b520dde6f4d09bea91d3cdf6d0380c46f2fbe3a +GCD = 2f2bbaaf28b95e18a84f583a + +A = 710afafd13f2ad4303f6063ccaffe6471a0483185434fc4 +B = 306c5f7848de05605aa30e18280b6476a16db89864e8cd8 +GCD = 1afb372ba598ffd1553677ae4 + +A = -1b9962f376d3d9010d5ab1982723ec281db0de5198afa8c +B = -f59b772cbe13508a130c3af0b5ed5f905054b1bc827f5e4 +GCD = b0b0f6c52ef3c37154c1edf4 + +A = f46660653502988f52f5c5dd41803f6ea0d84e6ec97e810 +B = 2bb7c59422b5dbf6716fbe4ebbdc7022dc4b9dae220c6c20 +GCD = 12927f998fd18a0c976da06b0 + +A = -1544ac242cf18085bde53c7623f058a4be9e74848f0c054e0 +B = 1036957e8f99ca11234ea87465e024542dda2ec01bc0cc840 +GCD = 170e6faaaaee067ee651575a0 + +A = 48e10040e36d3689f808b56e57d66dc229863eb156629b6c0 +B = -31781aba8dcdba4462d0b0d76cedd86e26891ab3df6d18780 +GCD = fe73ee3df95ed8dbed6cb60c0 + +A = -f1ffdd2179159d5574a836051465c918aeb443f34f4beab39 +B = 122d6f913dfc171b7c6dd2c66185a07f61d38b9887db1caea4 +GCD = 41e0e56dce7544c8e606562897 + +A = -2e6ac0b560dc647868c997776eeabded9cfc6333f2b7fc83ac +B = 146b44ad06770ad42a0f04b47351a388de00ea4cc2a9461fde +GCD = cb29dcdb03a8e33fff6929152 + +A = -1390f1c1c2d496fd3776042fb87bbfe8ccd673cc48220e3262a +B = -15c3dbb1d024854be4db2138ab168116b210760ebcae99d0cdc +GCD = 16352e1ead35648e7ff73971ca + +A = 4abac232eade22e553c6eb4d5b6cc04250215ead1c8af15f1ea +B = 245d690f3952b8d5773bd304f743fdd4a902bb056f814338e62 +GCD = 29bc533ba87f0017c45933f64a + +A = 1cce1905ebd7a1a50d1dba965af29a161964433daef467990210 +B = -c258c1b1429322eccc9e57fdebf2018ec8bcbf937577ab60a0 +GCD = 2264d81ab8eb97b41233ea04eb90 + +A = 16feda78c59cc9ab1707decd0970dbc3cbb8445f9b076ac87948 +B = 1cac7d0661010679551cb2fdfc23db05303f8660e5036f8a8637 +GCD = c6da69d30eaf504be7f8ea388b + +A = -891f9eeb3b5acbc7102cefcf4a94b834f1bb4fcf2e5f47a005b2 +B = 14666b1967cd12b44073ba7fdc2eed10a63e5bf2d36cf9589acf3 +GCD = 1903c267fa38ed6b2df075decdd + +A = 48e276e7a4197633d46a896cd1fbd51d85b7ac70ed8fcf277d3bc +B = -424594d2ffe7d44d425e5cdb97e26b3c48f52f401c224a6f69fb8 +GCD = e8196796f47fdc5b8bae54e286c + +A = -4ce149df26eded2015965c0e0277a713a15af9a281e6d24f3ebf1 +B = fee88bb8c116fa6fce83c086835e399123a9624e9fdb27f93e902 +GCD = 5aa90e8c1be239ad94ed9ffaffd + +A = 446a6dd93c81da9bde1a40f88f75227bd0f4d832c0c75c0f0827d5 +B = 3a0a6788e01a5cb9050d7b099db23e540705a8d0b3cf7efce39def +GCD = 98dd9967174f20a3eaceb608419 + +A = -1c573c54bbd96a6daeca8ad08f7c1d5ddc9cfd203c3a5cd7d887eae +B = -e78d1e0c739f5c239fc8c05ccced17235899c6ca080fe619ab304a +GCD = 1f413e9056074460a4c4b1d109aa + +A = -18a1943a102954088a90b0350b68db66564157440bea1b8e4562266 +B = -3b3de5b0847bbfdd3d433b43a260d1fc890d43b50f30ef95fbc24b3 +GCD = 33449e94e1eaf2b7ba235cad97cd + +A = 18a54ff0aad2453a79afd79eeaed1ac3178bd4cd1ac9c5fd8774ce60 +B = 8dc9232a0a1729f1e7ddaea824de9fcad4c0065e9eba1469e55e5b0 +GCD = 6db23e322d6f807c9ac8aeaee550 + +A = 6aa7a289de427771d237fe84355807aeedc56da586108e5c0efa117a +B = -34aa6adcf13c278992a2496747d95ebd7fb0978fe70a19879a7f8f3a +GCD = fa59ae7576a407f0cc6c90970d2e + +A = 14971ed18ba7d1a94dff70cac54f50f0eb1d0b9962ccf8f95ac9124f0 +B = 124ca1338251f6312bb87a181c84cac83e7db24082cc1002b5ad5a439 +GCD = 198d1e2e86808e583f5e08701610d + +A = -26b9cca877235946022af4669b526ec373951e3447eb7d5ace555545d +B = -3428e2f4c4751a204c1c0fcc90ec2cd6f20404b7117f08e12ef7ef814 +GCD = 2778771a4b25f9c0a2a89634755bb + +A = d5e8c7732d8d5ce5b28ae4db0476bedf5d0ef5951fcfe270bbc487c86 +B = e09863c4b9a04887c245137387357fb6570bb112eec5f19c7c4df912a +GCD = 50225f1ebf464370403cd65778c306 + +A = 420e509b0f8d2c7fe49c4a7bf1e570fecd9dfa073fc8cd37f395a06cee +B = 5b481956824e7828a5a0e124dc5b77e1e08cdb563b906601c15205978b +GCD = dea45f684be34846c97e948807b71 + +A = -13d0805f87ac3040a011d5587e2dcc7deaef888e712305e103e3c426f82 +B = -1d06c9c7086cc2a5046caf9037eefdb11feec095a3de1d4de9adba7a8b9 +GCD = 1d18a5461f9bf6bd399d50f98cc4e9 + +A = 43705b3956e56bbdd83b60f5fcf9655efc3c7b675ba2728bb4db1177794 +B = -1637ee6f96e79ede1ab97fd6e7943f424c0f340a58f7ebb11fb6e1dd13c +GCD = 257eb70891655f00a12a58652f8ff4 + +A = -1adfea565faf9f612859be5d997c38448e931da3643c797fd15875660593 +B = -99e4ebee8cb4dbbc7f2cf9b8db62dfc39e3ffeeb629bb56b79d9658270e +GCD = 6c7739624ab895497a5c1e15031a89 + +A = -3bac0f98360e068ea61509b67027db8b5ed9deff3802d3a26b02e1e48e48 +B = 63af576de3b0f715fc8b9e4897a46d68b7d24c01adf9ca5cdbcb3f00fd0a +GCD = d5346e1979317cdc43ed40ff2f0a46 + +A = -4e2912454e3b9ef8f5f70e64e255c7b5d45514dd0261bfc1d3e9d6e198ff +B = -8b2ef5d1398a63fc22b44d1c9959364146787885909d9ae65c4548749f69 +GCD = 1fbeee7e7e619279f5c7c485d43207f + +A = 29301d123239d4cb4a6f849e58493b20bb1e46bac07e44451399eff17ba70 +B = -31eea4ea038d528b2d8793ec97a9c426e41c5dbb6018b0c09be2e6f7b36b0 +GCD = 5ab3487d2e00b2ebb9be6ed84aa20df0 + +A = 46afaa677429aa21f301d151b225f9389c68ee4a260890cfa8a872b72b5fe +B = 1679adde5a60aa24bda71376a0354579620f3a13fd194fece23bacb7a4c9b6 +GCD = 5a18519583b27fb2abc7a4d10750626 + +A = 2fb260963b23665dfba0dd8fb0b7f5f6629eef7c960e75721ff0661a89a002 +B = 3b8c650ebca9fc99009d57a49ff98088550446f566be7377308783dd6d546 +GCD = e385d3223b5fc1ffa244a538dc3108e + +A = -f1bd28c7b6f8134cf6443c193ff73d983fe3a18c5f5ce58deb428f5c6c7498 +B = 542937a86d14d83bcbd62930624070dce93230b769f074776415cb384909e8 +GCD = 3c2d81daa41d0a58c513d44fee26b128 + +A = -59bcb00e6f32df3373988e268d466e06b9827cc455d5506f6143524de2bea1 +B = -22464a4299c48e4ea336b0ce2828b4f48ffe97d7cb7c0a9d9e282bcda8e6736 +GCD = 33d7d0c13d19d12c2450e8d86af98c45 + +A = -51b06e3e977ed94e2184d3899d383f9b6d2c7e8eb3a625034a814a72d0df619 +B = -ec842ec08aefd32f2c1f797c86d40f41fb9483e534f1cc37fb0834ab4ee5442 +GCD = 7d914fa6356c08855ae1f2b64f50fde5 + +A = 2fda06466cd332c4cfdfd159ecdbb32fe63a508d28c7986e8db333d8f3e1e664 +B = 2e4d6e4dc2e60ad07ea26db98085a14c839c24746879c90ed8d8cf66ab5468f9 +GCD = 4a0b745733b83cdc9a94f6b06e589f2e5 + +A = -2255ca5fbd3ccd756513e3d1885af3b06d22a4e7abb72fd876103b4ccfc72216 +B = 681d91c5c012a9372c6991edf3003d6cf8bb0e0608b9349672c80f93a5317429 +GCD = 307368f4350085b9d3572869a6567e9e5 + +A = 503def4d2eecf1e6f851a8ddc9380b3cc3ac66e46667ee0c3f8687abb3134ead8 +B = 48a92023acdac18324e432c25f50c5c619da709cb5b10412ee3f3265897115a50 +GCD = d1f599335eebb84aa19a2e6e4a5c8ce28 + +A = -160e04e27276bbe20fcacee78cf1942e064120b3c0d44f902b2139249ef93aedc7 +B = -10e34b4a835b74e3497c55c06956e41074639168738a23e5491f24df2ec0d1c141 +GCD = 14e2fa17ac3b29e0ad84222283f0697ed1 + +A = 4a3c79f70f46d68c8442a62a487e0fa54dd25d16cf03b907a48c5b352f0771664f +B = -5e55c73e34fcd075825263681b9037414ec73f9cb9862417acf76b474c8b77094c +GCD = c7866e19d6ac563848052fd2b902412f1 + +A = 122e6328908f0fc79e37fb8eefdf29d6a53d3f853bc2262e93be1f8a7f01fd5afe +B = 6f091073889e4b8db7224298a0f16f69fc086b02c6e99fc80d09d47112f06c9c85 +GCD = 10548afed577b8440b579204978d16491f + +A = -4c0aa42cf6b8447cc4912197098379387c8c01a9d2b5c1ddff3b69738d97956daf2 +B = 1102683a5e494615ff1e8f9d2be7469e87fdff0761ed1eccf3129047fccb86b721 +GCD = 2d46776613c8d811b81e3cea6430d84e87 + +A = 1e243b2ca937fef9c4eefa3afdd98ba5a22f8b77f62aaee7c725370f1d19e5f7c500 +B = -73efe730ab094b786236b87d169a536630eb59bf6685ba70b969233a7a69810cd00 +GCD = f6edfe5cdfca81f7569196ef35f8238100 + +A = 4df54eaf7061d5d63dd303a63e1664c93f9fe246d6dea6b3e6f099e2a49974342c50 +B = eb83a62a0bb71d53565ef81cc81186895d48487d386d77afcf19e39dec64044e701 +GCD = ae8facfe0c968dba0ccf354b840110229b + +A = 4ae250b0b705bb71a0fb080b2e652dd9499a3d426732d9a8c291ee504b5639d28214 +B = 734fac7be4899726b5056f4b5f20a91b872b259c61e8a04ef5f6d477c6fe4da1346 +GCD = 11359b62c6e2f9657943b13110059e15caea + +A = 3196454581c2fbd2fc92724caccb8d6e7503817467f190b337e0dfb1f5f8d48f7e044 +B = 1ee50fc646b544d97ac06fdd775bdeb077d73a205a5b84eb9ef05f9ca2558eb315ae1 +GCD = 8610ab99094112e4e3e860a046c0eae1fa1 + +A = 18a43021634ee11eb2ed2d4382850eed6d1088fe057b9315d669454778b976bdbbb2e3 +B = -18d4cd58b158b026dd5c7ba2d9fc88655cf2eb8ad12f140b8718841551f6e0c586cea3 +GCD = 69ca61df8b4e86b35e52d6a13bb0a070e73 + +A = -5a86aea7a57d8832b6c6b7ef935842e12bce7fb730ed253d184859e44e9bd45cd4fee4 +B = -355c8bbe93e163f83152acecce650f9f3941ce888cc0f1d9926cadd3a339fcb4407a84 +GCD = c91b3fde4f08ca8a4173728af195a3b1e7c + +A = -107e5de99404463e8ad8fcb8af83c737d1d26d582f01390e3ab1c1a865970d8228b6488 +B = -18c644d5dcb4d10a8e04046ed1610d8fd4de08735a2932094c7aa9ba116e82ba2928e76 +GCD = 3e7d3538deaf5f1a687a8f73ea8b493f58e6 + +A = -5fe7a36623304438423cc7ccdc85467954f0374fcbe69cc798d4106828e50799ce38ae6 +B = ba95d75a5e8656f500cf09303b4beb88e18d7698a0a81e0faf13525c2902fc959af942 +GCD = 36c38306d6019c1e9676f65080ac9480e782 + +A = -33971ed94e6443381734a8ed2a0a848ddd60aa23f0681736f91ef62fe8347481a804492 +B = -592ef66e68f6dc5ef53ebb6d647d578a67a383414c7d140bfe091199e93e537c8cfef07 +GCD = 5cd86af3e50f365969224beb8c6dfa2002c3 + +A = 36105fd008a760c86158ff4b53e6d61876c6c2fc6e139ffb266f7f4ad980e894394fd9c2 +B = 3b9332665a89fb140bf4149f688bf8a27f724e6021c6968231bccf6292d0bf5cf3b1fa +GCD = a081dc6cdacc79a42514a125234dfc424674e + +A = 13f23783adfc6c3813ad227be1423d07b631b5f663ee340cd6567aef95dd870c6c3f0254 +B = -ba37e4b55cd2de86b030c670966a4138982c6dac29d0b41d47fd2701798cf3a1b716357e +GCD = 193c1005980042f1f075f725ae2093fe0c862 + +A = 3adf066a954791b5069d393ffb546082eb40eee2b077d9e5cea391bde6aa17225d04038e5 +B = 5ef7078626d97edbbfc4f91a85f99e663aa5d8256c898de89f887e1bb37339200728645 +GCD = 20b592800a2b9e5e4d003e1649c798d29f92f + +A = -1915bc6156dbfce1a7f245ecadb10afd6613422f178ff692f85b7c9da81451e0439ff75d18 +B = 1503b6c6ba1a180a4d0e17e2916c4ae422422ed21a08220eeadfb4cee618c29037d58ea5a8 +GCD = 139958287b6aa1db5c226322ed12b6d3dacf78 + +A = -5959fff3629304a16218ab255c20e02bb03f1e53eb1b320b7a572e02833bb485231c545f73 +B = -300b04f5ceccdbe15c9f2ac6512833e163eeacb2fede463bde4e8bd2f8b4d3d88e2b6ee31a +GCD = cacbba40d3c6186745fd977a496b8e4cd2a91 + +A = -1256037784047e3c7dd9aa9456359d74a0c99580fd89bd34675876acd3fbfd4ce870626131e +B = 529135e12eb3b7a0321dcd3477b4ff3d6395d2341511437dc1e8917b641ea0a94f1fca3556 +GCD = 18ccffed86b3bc1e836aa43447831db8c0efe2 + +A = 3d2813b3d9b280a4c03d3db3601964bb35adefb6dcd31e2d27a44a6fca17864d325eee26fde +B = -20f1972ee28233cf4dbadfa5adcd399aee25c8ffe77f1bd969adbc3dc081c033b0ce16511c5 +GCD = 6e664481df3c1f9248e28dd9622424a413b013 + +A = 1629971f08614cbb42410e785d48063802e2564173e8eac978a8d5f02c2fed19f9af85475fec +B = -cb20d96f3826a4bdadbd3763b35dc03b6ac938968eccdbde422bb2d348ce62681b663ec998c +GCD = eb2e218bb74cf554a5fe5ade02e78cfc588f04 + +A = -24e9f690a775d100d99defb230688efae4ec7652c33b8724d4f96f2bf7c0f8b4193aa63093de +B = -20c7981ca7932686f71eca5b2800b0986424e7a8ec3f6e1afb52f1bfcc0e95d24f831cc81416 +GCD = bc687ac30265ca7040bcdde1deca1eb5f25096 + +A = 1d8c9ed1ed1af6f441719718852973096b7272b2814a7bfa6a1363e3f07b1cdb17d7f2c8c503 +B = 109e421661fc6a123fd111ddf55f7d4e4236d339aa2e0b0549229a36ed5ee806f7195c7bc6215 +GCD = 136910e0a9647c85dc04f9cda936f2e438eb3c3 + +A = 1292f188f0c08bb3563e2116f7eb738ccadfd6f02fcb3cfcb617a7e61ef41e94ba7b9a3ac578 +B = 40a9cfbbe61c779eb4b72e5d09bcd9061e0f77d3c5885be65ab42182c8519d8d0827aec5e5047 +GCD = 2a9bc97d63aaea3501e3f1b0f07cdb45140cd11 + +A = a1dcbfa2ad666112a17d65b01a1aeb38b3ecd987e154c453a1624625fb9340a076ca375ce9546 +B = 14a91adfe7a64cbca34b0374c6ff11ecde62154fa140e8eda24ed8539ae1fbb47afcafe23dc569 +GCD = 7d2adaa9139a4fc7a6d72c804123ded5d07a5bf + +A = 65781b766bbb0660f8c0ec78dd8448f3aefdfa2570fbc362efc2f15a903e7b3c29ba4ae994b69 +B = -41b59c298c47be0a4e0fdefdcf76ce2d5ba585f1d213df0abf4b93d295c1a11c49ae473142c8d0 +GCD = 23ad77f235539f36899547c20ba5f3b31d401467 + +A = -10c5531121b0f9a5f4280196c2bbe765ea280f61a243a5bbf29bf5f6b9838299337aa30d69bac0e +B = 10ef8d5bcc77ba1638c8339e5059e6a2fe97d1f2af0499c2c01d2732ba52d3d99ca5a2f8ba47ba +GCD = 2c87b8fa6c5008b7e149aa9edbfcb0865dc4613a + +A = bf96f79b3ff7ffd5b4b02ddf56cdd06d4feb2ba314796cd0ab4855eeb4cc2c6f65df8f0d054590 +B = -3b0cde994a55d36705fb4bb03fe07f8595610a603027854df78e7087124af820f61ad846cbb2840 +GCD = 3089792fa413eecf9209b7fa444b98438f1bd0f0 + +A = -1ada369eadb8c2e586e175de26042ad83a8f6d8e8f63e3d80b05f9ccb2b7b1d868e415c9e6674842 +B = -12bcc5a9bb5bad252b832ca1fdf4f23404b67df872412aea27dfb2bbd6ba568a6b2ecd560ec85049 +GCD = 77acdaa5c92f9f1bc3d29da07fd8f6657026cd99 + +A = -53aa92e0c3679565d691f13c8183b155422d13e255583836b6e1d0f04b79c4b168b25cfb19e77a37 +B = -5e6f97724e9a787d14772355af7f8e0a6fff3b83369ec8c244e3d350543262e7c554926c2bf962fd +GCD = 5c6be609709f5b8370d7fd3cf67a113cd4564915b + +A = a753912c8aae0d791e814ead46107c3141e4e35fe1292c8ccb0a5ddfe920e9e4a21f0e70f4b2bc72 +B = -7240241f78f45efc98c74523c53986c6da7229b423f24abfd3512f89f5dc58ad7a55c7ef38b917c +GCD = 1eca14bfc3e333ca231c3b7e491140d03ea14d012 + +A = 6cc04a74eed0c7765722e6ca29f8a0b2b2bc7d2e85ac3782a87c727dfabc02d575e640c087778b728 +B = -2cfea03bf556a932491a507f96aa914cbf61c179a2b3820a2a2e49d761c965c5bc815994d1697b610 +GCD = 3790682c4276ab8561bf2ce20fa7ee31aecaf8f38 + +A = -72253f3e1b362cd773ed9ca5e308a062acbf1357c920d6a1537a157d1b927aea5fc3c45b047350978 +B = 54ab091f9d0e5d493f0414f699bc7e203224cf9125fcc55a0483af606670e74349a402fd1fdf876a0 +GCD = 43e5171c76f68a8c133bd6b03917a5a67fd706538 + +A = 267c4aee22204ea4cd6feb4a539dd7db4e9ccfe5640aa8a016810b454a9ec3d1bf06c1a63bbeedfde0 +B = -2e08d4a67af7cf209baf33e06c04ddc2a33e27d9856f95ff92a3307ebd69949cb8ac6311b880cd78e0 +GCD = 894b2341dfffa75a6db26e7cf2a06387a22c400060 + +A = 79952c504e7fa3bd735273cad2c642e27fe06b94fddee39bfaed9d418e9f3574f3886fc825e829b23c +B = 13513535014a3fe8e9aff67fee1ad10f636029a0e861151c6b16b3b6dc6147a0ece6fa278299cf04d4c +GCD = 5fae988932ea9cef1b5e2036a686450258ab80dd34 + +A = -1e41753cd6bdeff8541745b6eed07556fb0850de680909bac89c3df987077512831c955ccc8bf4873a8 +B = -363575fb00b8d17f15ce4750333e2c43b357e21e9ba71f5a56c60f6081c0ecf6c2781e2d2e19ea6d720 +GCD = 23b9ec49be337e1b87122a8928bde60b88db8915d8 + +A = 1a0c150d7430a23cc835e3d01bc2e6fa5ea64286fb8f884ee7a950d0158ed4e900345e6fe5b27761374a +B = bf7c788ebeeff2ec198a1837537ea7ea34b3799da04cd2b37b638e0fc4bea92ac1753c25b9be166dbbe +GCD = 793f9064b11103ed1527c3f6bc48086c981a076dde + +A = -6580c63f218b672fe57595745c2ba477064d73be75d6c00278ba4931e6ecf5b127cc6735338080aa71c3 +B = 4b6f7ca1ca7190a3bf11f5ff3b27f926c82b229fb5940af33f92c0e46d8c5aa9e4741f82a86d4608a6bf +GCD = dd231785828eb794328e10606fb81e12647df8c621 + +A = -cc9da1be18fffe6c682c0c804740e73981c5010fbdbb01beab5ec2212136bd602c1f971196ea9883641f +B = c9b4e7c5f764913af6711e6639c72fbeb5444958bd44e7acd422a669e502db8387dbb10f906a3d92a488 +GCD = 12c6593a022fa6cfaeeb3132f985795fc7aec930ea7 + +A = 21fdcf5c6602f088e5cb695b6ab2a7ea8e97efb274c829a350aa993cc6e10332b5490350cc5b0713094da +B = 255349cf969e1e927599069d437efda8a3712b0f31fcd8ed15cf49271741f37751a647edc3dd63902dd82 +GCD = ba4e6766f6ed19f796dbf7015be73c868c869e9377e + +A = 5c7f3f847b12342b82b987d02804dc9799252893a009240d2e158a9bd2ae289b5dceea9ad19a35c40f580 +B = 11d701fc1407a7acbd5539771211933ce9e78db75dba455528ac5996ff7c7fad1251a9d7f75dae616fb680 +GCD = 6fac7e8051f84c3b5de922c50e33907e0dc66c1aa80 + +A = -6bba5cd79bb14c94184fcd351e25fc8feedb77a0bf5923b0ebf75988ad7f977353c1814f2f882ccbe250bc +B = 6e0eee1ec51deafa167cc7446d0cdf8675d903ab3fb0bf1bbbfff9422d69a82194ce353aa142d86d9e5f8f +GCD = e63779a558e7b41b157d3805c8b6088fcdc82eb3a9f + +A = -85f8209a86567a693dedd65c1ded8d5d94ae95336650f545589445062d68c210a235c382f508778bb82d12 +B = -4acfd476665bdfd71864857764b784fdfdce90b639a6e7823711a5ed41e06d09db5101d394ce0c549bb431 +GCD = 19dcc8d7005558e81c57499b933479d21c2ca6902b71 + +A = -2707873a7747ead5abcc6082118078fa544d500bc472c8a908a4e97f04264f937970820d3145bf1d19fda00 +B = -11c97886cfac841ff3b5a75bfcce84c04e076cbfaf7aba9b09d508905ccff5196da54459aaa686fd219d690 +GCD = 20d26819ec5a915caab7efc5bcfdf191f8bd2efc8550 + +A = 7054701496a1a89bdad2a8b956563285d400a22ead98bd91b6094146954da0b10ef144a5d85273b9a1b3738 +B = 1a997268c77427fa51abf229a02948819922c98ae2af2c7e809bc7194420229c372844195dc32cc0d62c0594 +GCD = d83cfe3fc146c35424163d8af62b1520400ab595d20c + +A = -2ac78840f309d76ad80db5be322b61a05860962180f29d9efeb18b5470f0d8842311773c8ef8462af2938b54 +B = 3c2e89dc73201d467f22eb5a927b1ec47d19c1f42c7d84a8650c8dab7f752f71a6953b9784297afba5fbe846 +GCD = da53c6858be7847f60fd8cdea3fba9568147f73c31fa + +A = 75203de87af36826d6f8d721ab8f130b01785628659423de381b3d38b44157e316c0fc762631970cbab8249a +B = -d136743cc99f5a63dcb4a1378b95aebb6db2355062c00a7c6125112a2b5bb37b030acf2890dba1094ccdb7ce +GCD = 11a447c9bba42dbb352ae60e7aef11bfe7ccfca4e170a + +A = -da62eb5663c46a81e290ab358e1625846ab4919a4a5dbaea1a5758fe929a21eca5db6f400e496a1d3a8068ae +B = -25ef945b2823e5e653d0026e84c098abf56cc254749b461e50a98b0ef04af41ca1de0ade55d98c34a06c6301e +GCD = d08cb1b353bc3d41ece972a634c6a0f6256b1fc091732 + +A = -11ea55d281fbc84982279b0e83eca8a1d843cb8eecfa994b5a4bb0628c4b07f2856e0a55ca85e3b8f5763dcaee +B = -17d851f04af3405d40be76c6edd205c72472d24bf4b64614148a64b499289831a1c688b04c3b89fc879cc47918 +GCD = 1dc89dc7ce1b2587d4b3723019d4dea3b28c39233f68786 + +A = -1f9098186e2ac730dacbe0ae273ff5d2e84b1a6937a7865c9edaaba36ed44363fb1e5c6db70bd7167cea004848 +B = 32cc1dd56bbeb6e985fc3f62f4e422fdc6a339154284d546206093d4d8f0ac747966a6173b6e2d98259966edc2 +GCD = cff905834a31af69a90b2bdbfce3c0f5bd2ea2006e33e + +A = -539fc42ef8067519bf74f91215812cd3682e895feffe8e97f014cf8e649999c03f59d3818b887bcd95c558a228 +B = 4bcdaca533de4848ae48e17d75c862a71860ed167cbb7aa5f5e319771cb98a1700f22d03c28e7f5b497513dfc8 +GCD = 107915cdc26bb1457a8b65a4c5ef68b1d99d74689ec198 + +A = 345238bf3bb2eadbe74f169a17c7bff63a098bd21e85d51c88a164741eabc6331edc1cd16cdeffe52feafe7bf7e +B = -26942c82611e486a842366e54f6c32827592fe833dd859c837e6bb27516e960e1be23d6a8539d7e1d7013d0a6c4 +GCD = 205d424e49857c462b875071eae87a65c99f1d37cf9982 + +A = -c9e3ddd95cc1e289d7863a179b44a6f372fc0fd317dc9764c42eaba3290f31430550a984cc3a139236254db3f2c +B = -1aed15c9166cc96d8d2c9f2a0c2067d8c4743154a5bb78442ae8336efd5d96e041ad0d0be45d1238738920c300e8 +GCD = 6be5ae23ef79ec1dcf03948f09f8a775039367584bf35c + +A = 145def3ae36900db349ffdde9e636f50f59754da5107dd8bf6abd002c885ccbdd727c64a280bff0f0ec3ce60c81 +B = 5026b9a0c78bfacb35f0ef7a2cf815e920ee74ed08a7d1e13b33ac18b789c319c22c3dd7ac3f229fe3a7ab2d56e9 +GCD = f29c53708d66a5be6fb6f64913e2b651b6d3b3492acd0f + +A = -16d38f6d87084a3947af97cf4191143fff27c27c03087660106a3a9812b7a0b24a589fbd894a23c5b4c55e6af741c +B = 129a5a1815ccce0a9e2464f9252a58152d6aa82920f9bddc4bcb8becf588e6feed67a04f025b7b2395e0812408c18 +GCD = 1c4b69c3607775a7497f928e3b1dbfb1b0b57be1609054c + +A = 40770565b641268e97fef5cfe1e91c21c25c80cac020c9d23cc7d1d508c0126bd5eec638b34da5c8b9fd12fb05b10 +B = 443966c18fc15502b80bf86e85638b203244077ee13e70993c16d6e98ace1e50548543b736bd776c14b8618ad5a91 +GCD = 2a0e7ceca9b0bbc68cd38628b50faac8a891d0aaa801235 + +A = 753b2c3ab29e927f2771e34da31e5db3775d0f65a9f2696f4802782ebeb326d9c5b17030cf960df1791e2468b8b6 +B = -67a434ff28697a4e660290757602b27a4d2b3b4015b8df5e272864c6388bcc34ef54178dbfb3d430e720f8e466d1b +GCD = 78f2a1e5760a41cf422ab7218b801a23413698f8b5b0397 + +A = -286b0890de2ae79845db79368b2f5b074d9083b2dfc9ac123d22e63a24dab9ad6690f4bf2e26cb188bda8e5f4a23de +B = 6d53b6b7cdddf234b0dd117c9c1f9bfd673bb1cda7931d359f8ce1e95600898438f5bd85441839787a5cb907dd5832 +GCD = 1f8c81a01f2316dc1ea1164df161b3b8f712eb7a23ce822a + +A = 1a763357284ceb368fe9a8e56087b3fd1c2356508e7cbc061c8885e7a5045610cde0c8b5fdde3d6bb8f4f471a3655c +B = -198498012c7cbe6ad15acb6d5d8550a266a9a5f1af731af23d0b1387a96c23ba032e47e463224fc7006320c1b5b130e +GCD = 213247acd8b9f495b766695517558e78a572601bbae637e8a + +A = -151c47f5c8c79774eb97af0dfdf9ed318fdb9b4f54d79296594f9ed156d2f581fd658bd2701e79a4052bc4f19355cc6 +B = 499661fdd595dbc4cba807601ec18b2b2d872233813d832c4d400436efce01d26969983f8a0cd7429874a7191678246 +GCD = 2533450171229c32872dc8ee91419b870340acf177f14242 + +A = -6d343221fa5bf1388c517f7bae0b265bc291b9df8495b186e78e87e6403dadc114202b745cf6864a4a5bf4f5e8377eb +B = 5384f5bbea4325890b2b01ec2b7efd18b50e46335d73cffb2b68a3d89521013073d5518b5843b3c0e0cf72297466614 +GCD = 4000a2508db78b08c335d937598a3a5f3007bd84e07b0ff7 + +A = -19d805952563485e813690d907d9fcd9982b41d72a5a8c6655a41fa48d1dd87d7600e75e581d52460b509a461ec7c154 +B = 4b7c0bdafcf3198e86b869b06e94144de2a1b70d4e04f1556061c1c8d481b96e36d42cdbcc2fbec87242e71a464fe9c9 +GCD = e14b04c72b12cd34361585c3c0e9bcaaee5614a87b8bb7ff + +A = e8018581f5556724c2d85d5749059e8927adb87d9f791cc218b51b547a9aa9c84c5b1e4f59ff70bac41e0bf7f42eba3e +B = -171dc792518a7cf6dccb26e119108fbb9f0919d563c4c33d78c8ab0b4ce9b1052e48cdb008b96d7348c551c8592ae8cf4 +GCD = 3bdb23ceae81fb76d167450cd9865448507b0ae053e554d3e + +A = 3f4e204f801cdaffb8a609e5cbcfff78c717941071a8e03acbc27b45e9d4aeb5fef050896c85588ec1c8a16f928f479c2 +B = 27c6d008f2c65359b1dc1a4b034ffa4b6913da1385bd50720c2844949c70af6e379f8fbd8d7b1abc0d3b273e7a6cb35dc +GCD = 831a3c10761e9a5b13e9d2eb93787e3c70e805358bfb28326 + +A = 1558dd8e52b4a450d135fa59167d6157803cd4da1bd276fb9c8f02c4a95692856ed7f0f61f977764359a0bd31d5bf13f3c +B = -ac9e54f36ed98bf1197b7de094c22ab01f3d692d0637800cb6524adc8ba0ec7f8f2518349f887653c719a274e10c1b966 +GCD = f62d2cdd7599bd724f005c6bced3a26e95cf9f989e8b1d20a + +A = -479eb40ee5130182b94bc01ab422bfcc872db6c900a226f350718586de9f7725f35817454cf25720cfeb4e6abd82788f9a +B = -5508d4d4434cebd8f52319fe9af311cafe1e8b1ca6ee4ebd33b36803d4da56a30de39633c3fa16341f89d92349e8fbb958 +GCD = 15efd7670626a771144651530f20b87a9d81198920ded46a96 + +A = 88d0048b5022fb3e0b20b658b748f930c6aa74b8ec07a79730edb69af5625787017f58b6fd671f5644047e4f9c474b00dd +B = -113a3126fcd16ab8962f30daee939442fbbc0b1d8b36a8b6d4aaf40d08c2fca0e40ec3242d632b756a64defa8df81f20641 +GCD = 54a3d46f93fbc776076987d9bfea8186d1d29589a60c36e9a7 + +A = -1bdc5b8a3404c09a8bc4a2706acd9e4b6f703931a91d099915c522953b6512409e472852c098f21ffa46ec06072137abb8c +B = -19cdfd062e60822f25372dfd9f0fe3a8e70900ed1efe2a9ebd2c7e4a3f9a8f73b5ae6a3ddd1a616022ce2c66836fd5d63a4 +GCD = cba2aa900ce0b370807872cef627cb6f3636b5503646162c44 + +A = 14c8c9e610760694c5c67959786c50241a8f123554d614ef07698e686f84f04349f4244866598c39ffe0b297e4840f0aef4e +B = 7de0d0971de3c2fefb1b1c5f843353deb1d7ab787cab71ec163422da96922c38c00311e89d59b191a3c009badce1424b7f8 +GCD = dabc3eedf6652d65f442dae1df972eac04b623a60ad52fcf8e + +A = 3cd7a3b0de35b8912302d76873868b5e55adc0ed48e18c16adacb9cf32e3abb8473e130f32cf08117a741321aba3c8e209ad +B = 250923c0ae66e1d3119db8a26fea6bff24fa1da2f8fced77ef215ba118df16407515165c6f4957ae7f37942ae4f05d6af123 +GCD = 92b68549280689712ddf5911a87113a38da98181d025b9d8f5 + +A = 3db7f3753e722cde98f0f816d7f486fc22a5f438746bfbdfd6281ab58568238555ebc2381a296af11ac9b58b98d6852b365a +B = -d1e854ab08bc351e69add4668fb373c452aaad30887b70f14ac7c7c159de296b7ecf2faa58a150a220b895b2380ee0936f6c +GCD = 1d00ead564d6fc8d0fb2ef4a025dfda5bd278487c9cb1a6ae7e + +A = -4543d77a51431895adeff40dec120080bd8fa697801b73c5e1034d1310813c16b739cdb51ce6585bafed527d074d58e0a0fbb +B = -1e48df0e1d9432d3c04c6210dfe3d8d2b9e487023d7bb756dbf1cd097c48c04814bfa247fdbc6466a6ee003a144da56afdfe5 +GCD = 2a931574a93c8cee4695a09cb2f28b99111afbc3bea74c4d135 + +A = 8dfa4e53421c11daf4ad243529cedeb2c8b4e0ab68f19adc259476760e1c5e4e8a0821e4b52911438c531d12c57bfd636d940 +B = 1f2658c0a8692ab10cf012b8ce9a3ffc251b37aa6587ae3ef747f8d4cc9c04e5eb899b83deb3ceb93c3385572c0aa3d877f780 +GCD = 7ecab00f8151a74d219b067ede81719c25a0c265c31a7137740 + +A = 3d3767ab5f736946bc457b408c2546deba1657da36a9adcfbaef6fd8caea8f0ebfa7c2f6c5628a453bedbff5abf88a4aa1b6c0 +B = 219b090924b36fa57e2127a3a47563bbb9231c296abc2d5521ff1227fb0ca771e7c053b5e9f571060ca1459affed8951cde14a +GCD = 8fc8bad098e4118abf8709040cd4d5165e683829e7072da5dde + +A = -bf4a5a19a95159d4a8862d1ae61893c714e42632e2f33788000922b4c5d91829f57d08e620b068f19f9b7c315a41be52eccf62 +B = 73e318c13b8803640b258df2cf53f54f0ab0abebe99c5d593c103ab9c0e1e611fe58dc9d8e0496463f4f6e7e3df214aef86d98 +GCD = 18fbb584a28e138a7e129bc954bff84b588044c2842420a50e76 + +A = 4e34092382eb35e7d263b745069008fd18c446327ad915833179008abb4bd3852d71bb648abde0147c2c2f73c3b1b88e03239e +B = -65daaf978c59591cb6a53e938d4116850ba8579cc74bba340511ef8713119e939df7e1ebf34d2f0e443e4d5c0e1ebc94c098e13 +GCD = 37ccb42cb4eae376fcdcf4b453550b21a4e4cf4d6dabfc38c0bd + +A = -b9011701d0c08322f97a831f57f754247a81d4bcb492baf116fdf418d1ab5ec54c15d962053127d7299c8c52d07a3481e30b301 +B = -8a1863ca08e6a2d9d36247047b26201294c36f8d654124603d1cf294fabae963e032aa10534cda7eac6f3c6b3b62dbec7868791 +GCD = 676bca69959743317359428589273f18287d327f338cbeb32547 + +A = 16cc4d9182c42a6b6c839cd2ba010454d3c672b3bbdc3b54e0a9fc793d81dc3e87a3eecab5b1703aee5c62c1c2ff6d45c76917de +B = 5022a9079d66e93e0f6b95dd56ae565f434be101a73de4c55ff2ce11c9449950cee02bf9802170ab582721cb5a9085001f09e322 +GCD = c0c6d7316012448f8a36a5f3d177c832b740ec16d350a8b17796 + +A = -cfb29432f7b6e8ca57bfa645629187784344a45c0b6ab7ff0ab3a33c7d858986587e89a5f2f6e0cdc640c1892309d0e9cd363fa8 +B = 10a03502dcf683ea8edcfb995087c324834796bf6d8652f23e6f672ee0930bb565c7a8860b78e177264b535782b22653a5f2c5e23 +GCD = 133ca4e1201fa1e489ea670c0d538bb399d14370ce00a5f7d7361 + +A = -3273fe450c5a4d13a662665e2b65c7bd6b84be94ca194628817cbcb7a320330fa929d31c0fffdc2f4d1cbf851265591ad6d60abf8 +B = -1abe1b39a3833d4ef3b29c7479b11d503550fa450f4a01502e824338ff496160680b73df032d8b203d58469bbc8cf8ba7aebada62 +GCD = 76e87645b6fd46b767711cc9db0792fbf747ff09753bee7b018bace + +A = cce4ce303bb56f35b0a4a0b1627ab555e0ad5ab8216df6474edfc53a6528126514ced5a620c3f38b0f4801bae834079235cd4dd50 +B = -119a0798fffee9cc2238563e22f18a7a9f504606e7bd8445fed7ffe5aed3ec0bfe1922ececc7a49da978568f78e555bb5672c2c00e +GCD = 554f895adc399ccd3d4eff3c92af8c5eebc7d928eaa653262f8a6 + +A = -f542da8fc3fca1970bd95a0bdfc055a3e4dcf4210c0cb1e924beb544260c5977a209600ec901dfae031442f9a099806a900d3c30 +B = 15f656529a87dc4e8f328c7b9d9cb6a50bafe670d85bf37b69ca5bffb62c4b725d7723af0308959e387c5e3f9047501ec17c2c97ec +GCD = 159f00110db650fa7022913c4be9be5f8db038d21457df67292cfc + +A = -3b914518f964cbc1a2179a9089e822ca5a5a79fda2545adc867674abbd3ed3281ea29c1d235b45123e20aae5b9383d2673f19fc0ba +B = -12b0fc49faa313c83002782c01179de99b1412b57b8a05b9b9bbe38980945c063e533bea34f7ed0d30a1bf7d857f41e9116f0f84880 +GCD = 928695828532755b9fbc6af84f4a9ff75f8ba08b738be1138c7ad6 + +A = -d75c84375ca7d27e9d2b01257603c7c87d35a51174143b3b53668fabd0294d645ba637a04f31ad24a5b19152a6785fa6d1e4e11738 +B = -15ced90b5e836536c57add07d7cfa1b09a1969493ea064b0ddeab1a4fcceb3653bd98aeecbcd56cb72661f5147fd311aacb282d120c +GCD = 61a8fa789fd156be601a41782066210b0cec24dd29691a0a83bed4 + +A = -159b9cc0a3863dfac0ccaa1cc7903a71976b9a29db39e3449f4a17adff7ed1fb44495f64eecfdc40f6c094acd74962e2add4943fc7e0 +B = 10c855361a721dd9732215c66ca8295cbe1b311807c3501dc7cedebd5159665900accf405403c11f3b76f563e9f00b0285a315f44640 +GCD = 635bb3166f93745eae06a1f0b4837afed6156dc9a03f52f79e4260 + +A = 1235a6ee13f28e3fc211e06cde2a30e07024af731c59a29cc1366bd5ccdc1419914508097193fe551a1cdacb94cb48f875f685609a30 +B = 4062e13e531b0f0ab84829f6e292105bf786328dffc60e71533f28390b339af23b0c57f3b09cda3074efd9267b242d7e8b20a6ab3880 +GCD = ab35c7749c37afd1bd42ff0ecf0530e6a5b3bcffc17e07d5b9ceb0 + +A = fbf7dc8e478080932a0a141b2a36ef37f015f5d78ecc0b3f5aba836c8f6f433b092e391fefed68fdbf095808728aa233bd336814ce28 +B = -b329794340178361748277a6cd1138191e5df3ac4e10b1f61faa21574f72db767c3addae3c8b3b36f9e86918e6dba15a308349ff800d +GCD = 15b7aba51d043e81d4833d00ba7d252866edcd7b9d9574c3113eb95 + +A = 22443fd9b5638191f9d51e16f0ce72ded78a31c8caf4791fed8847070afeda7bc212d713a794aa6fbb6488bdc7ba2f3e0858faff2ce5e +B = 5990760a8d54ba970d310d97e21d6b90588741d273010a4b81bcaa463bbc874d4e926768808703735294e8efe4d316abec856db0b0bb4 +GCD = 3a49cd38d520446ee1ea5093efcfb51eabc18eb7aa1ca2a5abc3ca6 + +A = -3364e480f552b00f701193de1dd82e94a997e1401d22a9bade30e9843997495f9b265d33a305634230220af7c1c35ad3e0bebb6ff3569 +B = 131a85a51e1b41f28aa94fab4b35f1349769b61db239aebca57c9d11246fa1263dc4187406aa23ec9da70316b405d1d6d969ec6f90b630 +GCD = 4ea0e98af23428817648851780f0aa6c607bf473cf9573234ac0d3d + +A = 649aa1f5552567c880f06bcb7c794cf3a7b0c625e25be7d7512bc8584efd003e95135086856d57f73a2860687440b6de1acd0c034bcdf6 +B = -19b85bfb1afb006875c1a730fd8df9f51e8bc596aff14b054421f2ff3a7f0aa0efa94961339cf0a4e89890653206058a1a712dd6591faa +GCD = f01f1de7068e1231f256057dd0c109d8f83ea8731195c1f3087b36a + +A = 4019768c40712020adad69bd1b8a4883c500e738175b3a2aa9a47029097cb4bd09b0c0898eb7dc1cc3654e6cb8290deec183044032face +B = 18555037a6818ff4f4f71994e13eae64df48e3ef8291a3e64490e0a628dbe89ac188307c4c4cd781d08b3bf0600bff6641396a129c0d4c +GCD = 3215d8c73b8cab3280e2ca0064820689c076e2811c3f3361074076a2 + +A = 3373f2c105a5eba6339a3b0e3c1eeb6372cb6b1e90fed0b78f9aba3c16cf32134810321697cb5d58ed59251ae813b03a547d42d1fd1158c +B = -300ffe8f4e814569227ee23ade7fab29db2840920bd9cffafabc818eeda9deab45b0adfd3020f4a93a8ab273a6ff0411943086bd2509926 +GCD = 2ff65fb933e30c2a25997c291004dca0c48df55cdca6f32c2d689f2a + +A = -9bc948668558e518d69653e034e5c4c6feb9a16acc99f3332a791faa48c4ca8f39cbbbee34f6320760699bd33554c97c1103bffa752e231 +B = -13745de6c2c9fa492252beb8c83d1969ee623fba21b3d7e3474a2186e30a4f28f5f7075052d8f19694d762c4ff49cb40e6048a2f6b5bf2a9 +GCD = 17552b9afd63a0a99f1a94df9555b6e22e0f96765b97cfe6312aa0f2b + +A = 22b99eb84f08f637b84f80f0ff8c937448cfa9b792820beaa5e283a42545590ba8bcf844bbb0279eb4825147bc5166524d259ab642175680 +B = -22f9f0b193d5595765a4b3710beba70589a24a3f56770274b349472a05a48ba02c0adf06ed4b8650c407ca9cb45775cc183448be4539bb00 +GCD = a13927cc5c5450d6aee173ad5032f488af2a3ea22794ea42e6aa4880 + +A = -10e836ea0c86027feada0d19c73908bd09655285f0a2afe4c6a281f1344ebed130f2a98081e2acd3c5c0e5e6fcc729a52f7c652a5991a00b6 +B = -15d547eb5f30213c6c9ece29048e91e57e4efac3075d474157909ffa1788e427aef39d5e39952fd4ca661605834d0e5d5ab87f2e31931ed46 +GCD = 35fc32ce12e5267a0e367b3395977b1bbb718e9754cd7a9cfa1f496d6 + +A = -660d3e1e6c4786e81c7bfe2e14672244cc915a949a74e5fd81e836d0b5e761edd88448f410daac75e988951ecc3548e0b9973cff77fffa906 +B = e64fb42cf6be4f3254b6d52cd8fdd9618b75f2c2192c8158698209436de33bb5ea391b6d659a0728b54b06fb3b65bc95d99ea9a1b0f0efe7 +GCD = 3bbc4dc6f3cb8078f97c88418af7954de1e4a30ce1303b70d1c32ee87 + +A = -3770dbf23da5fabb8a67bbac768ca53bb0b4f9c6567692467c8c52b89f56178d1c5cc25bcb0ec8167cee916ad8e3b890cf1d63650a85044ad +B = -db61f1213c642a989f83c898e3e4d84ce34fa63ef96f8e719b62772cb8e80fdba8243e9dee3f16e2e7694131e8c25c5419265eea60422e973 +GCD = 6ba743f69174958a228e5260c971854a4a52fc14f83c304c6fbeb789b + +A = -2a65659b013d56e26355f01e62201dd90eb55466c03bf96eeec6cfb963982f0cbcb7c3ec9b451af8e297a30b217664d150ce38255bd4ffb277 +B = -2083732e388f22e6a9f605d182d3929718fbe06f754c39d40be378c8d5cd5a1db05524fc31942fbe4bf2fe39d94d81a0174a1eaed220bd5873 +GCD = a9afbd0e33ff2e7b98cf5f05331909f7b718b36f9a4bf31ae59147157 + +A = 19c2d5d67ea12f2b7f7685463f73c5e62defb7b27aeee0bd02462695e2b408ac624adf5ce716119bc3a0e3e3a8f6ca115bf176f131df3c8b1e6 +B = -5e8713b5f2d2b01bfc102d0e0c25f88236f451961b79fed40d0667fb71f207ff95a3b75044d18f02a93639bafc72358448d46846b879b1c8fa +GCD = 1a8447fd535c9645aad89ac2b790c0d4231bbeb1641273af9994ddfaa2 + +A = -2d1da410c37d40aafcf457ab53629f15e8e24aada4a2d78633949286458df5491667fd59427c0d292ed9704fb10efbe5444f178e657a3fea228 +B = -4570f051785a46938b9db3f0f75858fd81c5edab48a7298e9537847314ca56feea13dcac9b71a5a567f9be748c9403b752f6b4cfbe03f56037c +GCD = 16e6ee8fdf7aa7966069b898fa3a5b8bb9e494a89200a27eb841be4b184 + +A = f80bf37dd6f5c8941d9c269fe80ff8731ae1fb99f45f4240f868d43c24dc8995f0970847a759906b7906fd176a194cf4d1c2d72288718b489bd +B = 105a371338d22b530b68c058b9f30e641ff5cf7663fb28a1ddc5e4e7a6a93f092eea8145a7c9a56d5669a3f42265b1c599ab54590ba1da789e37 +GCD = 2bb36aa6242fae1c6d99f9b32d36f723b1fa8a0f8b1c64cc7f77d404a17 + +A = -544514f654fd9f60dbfe770092045a201aa318647463520f70c9b999dcb719b8bab9282c83bfd4fa9833f3f6ca1a06fbd8436d76c23c3c48f602 +B = 1eb1adc9b8386d872192031ed92a02dacb6c36a1ad965965567eb2fd16917793e1d3d637163cf920fbfba75121920f8d7511de622a0e5e39d84c +GCD = 16531bf534ce1bf9b23463e225fdb3f28f6bc55d1cb6fe9af4e2e26ea62 + +A = 8e2fbcd406c57293d51cddbe10fa33a2d2b21edf9bd0434a9bdcc02c6df1e56284d56924d030b8830450d560223dbde9fb7ef98f603588be81e0 +B = da7d00c8504366804185bc00851a5782e0d99aa1a6b9bf104a1b9d4a8386feabc57469f0e4f95d981dc0183adf9db6c7eea339ddab00664df8c8 +GCD = 29ddde28ae7ec95a9b3e07407fdcb0ec597ab03bed65b2784ec3f597dc8 + +A = 7832045bdeba8a0934ca9f4477b67432f54be4a99227d9d8b41671c228e20369f5851a61bdebc88d8153abb0cee83effcf886eab9e573956e4e16 +B = -214dbfa10b4573d7423f635ec00c68ff20e9f68517aeedee4aa9b57f58499ae55657b0459f3215a070932294faec5d4aa3a0e7d3233ac3df1d8fc +GCD = 44f7f79135a865fee8d94c540740e886ae6965af8a60ba7f558363cdc4f2 + +A = 187b92238dfc9c1179fc485e6dd5ea9b3b8154123fb89fd41996e7ae59cfbe36882661438aca8a0d23c20876c231679060ce87e76481ae9c3dfb88 +B = febbccbb01af358555e22b3e4d02d8512763b853a2f15558199a46b450e4943c79c9e3683e2b7e093e7e72b66fdca956c7ab099ad33d82bda788 +GCD = e8844f9edfef1fc4b0a8f9e18e47a520186378fae7a1ba3c25fcfcd52f8 + +A = -5615c997de67d9b0d8596296ddb43b07af45246b4ce44a346415302faefe7ec5635ba23bb456814f74667f7de106f85b94423519332ca1d43e5971 +B = -45ec83798afa6c1080bb3549e9f867f29dece4ebb09edfc8e2019076c2af4c4657124070c73b51e7df41aada76a06097e19e9a20f5fc6a73bee7d4 +GCD = 7c563eee6cc5a6b259e11206e8df35fb259f280a2de68a594d93660689bb + +A = 11efeb97d25f7fab38d0e36b9c2c25a70f48b357bf4710cfa3eccfa7d9324cde6f86f3bdc508cc23b3f8871c32f0b5221af44faf4bd411ab6475fd1 +B = 175161b7c93a71b2844ff34d2b2b3aacdda47a76896c7c132078efb80983f9a12cd08bc98d71e2cba6c6cf06a84908068fa9ac385cf163f3c0679fc +GCD = 1f91daca6d11233a7361255ee1f84dd89ebb94287a0de01cef08b3ccd4c1 + +A = 3f6c63a6240c783fdd6f86a0631c4128d49665c25fa03b00c137358e34f0f499db355d1b48422412b40dbdf24a7788d15b1878171fb21e1af58078 +B = e82b3f2ef1b02cc840543e67cc4cc7351c4ca1bbaa933b67d7dbdec924f815b6d73f21906f8e7b05b2614e98105d5c4329fe48a5484a368ada155c +GCD = 56a85156dc1a49fc180f75f9fb389616be527a590718d3564a188ac7169c + +A = -b28676e1888399b7225faab2d0592bf24435dbd794bf82cc182eeec5fd6ee01b83efe0ed379847fc452ba2a9264f0ecaa4ec15e35a6fa6dfd51237c +B = 58d52aeee3cd6341d247c92d26360b2147eb5bdafb63a757fdc3c03f5de308cb0d9fb35698e8be4ce919ba5107c5dac6b801ec0397e9a26d941a590 +GCD = ea955035fd3fd8c827095523ce66903b3e181eea3a6a6b3ad023e26e776c + +A = 4b59bf66db0d8e183e53690097de17b048cefa6f956c9d5abb2b9deff2019375336a618a2bef46e0f5538917de46625b44b209e9471f6efb775340da +B = -2e1fc6caad945ab20340ab7bd17b26e214bcb852c995c8a01235adc8ded2dddba5cae806b2b2b2a6778d91b68e26629f18ab85fb017f0c6126198612 +GCD = ebd2978a2d5667594854425d50885fa298a37eb75cf59f24ffd88876e0f2 + +A = 1452cdf9df4cf479480cb771f247a14808685183ac297d87989a4afbeecec255d34b4fdfac188e3a4b3797919f67ee029025902585ea223957220109a +B = 27f16868b878666e9a154964120f3aa91b70164f2f29c1d21ebcfb0fe15839f940d09d7ab3818505a2149753770b211c22af03dfcdac03e357e4dcc0 +GCD = 325dc596026e347ad85b9d829db3ff3d1646256f20c40301c29632ce9c63e + +A = -39379342dc473bc2253a217e53c19a3cc20760c592a1f5a17d8bfb07f043d5c5dd0e6de758cbe2e46cea56ea003ba810d4727f74be628cb4dc9e62f07 +B = -1f8ee483bf73f5ed9d92f35ab4db6af78b12eff98f791e14e6953e3bf60305c6784ea85ae5e6488136060914821a2430520672bfffb1656277ecc4839 +GCD = 6aa576478dd4b6de1396d6d98671416dc691e014eb9c4ea3b82f8156d62ed + +A = ce4b367a98405ffdaea338cf4dee7a788ba1e9a4dcd5a7c995b22d13e10122df5c2f2ee898d3071236805458776dd471bf6934cba95abc513e3e0ea16 +B = -7f47799ad47d1b75bb48b27cd1ed09306cbd4f6ec5c7eb8b47efe3437bbb7b37ab39647d4b6d845dd34742bd670298f0d8806351fee2aa5d0f3a5348a +GCD = 55839b6e1fa2e5d1822c2c6abea819796114c49a8e92afadedff98a40d872 + +A = -59fb45ebd96d6d0bca0c4f0210e610da3caba27549ed5c50645581ceccf4f90a1434f0fcfaf6b400ae4845a308a5e4fb96e5ebc6edb3f62028753bcc02 +B = -51c1740fc914d2d7d96f0c55c1ee0e7e38da7278192d881a2f90d195de6bdad5e0eeae228b5d9c42258578056d60f23b3e8e7990f2b1a5274f6b82c738 +GCD = c102712779abe5875d87989c42227eaa40ce3a655d2e1b74a861e386ea222 + +A = -fd07da97787af8e0bd5357b8c1bc9b6500938676dc042c17e49ba6bcb9817adf585d0c27c63258445570a27bbba502159aa1f6d4426eca19437b6c9690 +B = 917e769f5623cf324ad65cb8a485ce6cdd0ecc20c34a648c5ece0e29d2e5bbebbf68eee9c296bf0db0c18fc355492444ff191d67e1a84d4b5011e856b8 +GCD = 16551e44fd07889edd641acaf2f58e41b986294b824c4da081bcf023374368 + +A = -33230047b31359f319996c2f965e7da69781165ee2e40f7979638667d7e14300bf99587be531dd179f64fae8ad6236ac092ab3fe107333123d192c74ce0 +B = -39d8abd8a8c91ccae3a14f72c8ae7ceb3bb0da758c91218591355ed43ec705396c061313835d894835cde56ff585640abc3679ea7c48a30e5b8c9423dc0 +GCD = 319366f35ea031f160d10e41703842d4b1b2f30f77d7547309776514ba7420 + +A = 6dd03d375ba683681a68c25983ced10c67f8733776d1673f0bb5c0714e08d73d7f21a43e132c78645635d9460cf7a499638f7c9278a6735578ff6c88aac +B = -c102fc49e3fb9a65465d1fae91a65a229d69ebc93a0ca55b49fff91479c26dc39fe50fb1ea8796ee96168e480e12436b274141dfdff2a63356a0cead8b4 +GCD = 1992c8faa77e11bc09a5493918409c76be82e2a3996df8e5251aeed41b59284 + +A = 3d6e324e5b758c2424aa866f50271e36804639a1a884e5c14dd173004c38645f0a1be7913ba7ee169ec2bfe72754e2117322c48f1099f4e24bb5cb85d9d5 +B = -1a705c545c832b21cea0127c7fcd785249198a2cb669a9e468b8b5ff0b377dcdfb79893c15aad2242ceb4e5fed856841a83a6560ea9d538b0734ee6180bf +GCD = 3e905cae3294496daf38abef3b923bc6f30bd1b82ab8d297e20f15534658183 + +A = -3e38036911fd781f5a293eedd1514a04b8fe0a6ea813b985e1f6cb9f67219ce4a3cbff8e2bdb1f935df6056ea96c33df84c5778d64854a0213873b7cff3 +B = 89b72141c05df7424e513e91d93b539cee0eff67bf0c05b3a6b54371da0d567dc2393188a9b8e8776626742dcf44a73417a3efb017b2227316a156040c2c +GCD = 119694be1b1ed11e745519ad3eb9a31e8e43cbe3993694bf3484cd5bb6b5753 + +A = 25a485b78c4e6e1d32a659bfc1bda781bedd0ea14d4d6eb07209d607fd201a3e4c4c25b7c51c952a7388d9970505d88af57f928bed5514558df57ac1beb98 +B = 4eaf58609eead03954b323a16475992264f38554c53732955cc90ff309ff12457734d27286860baa6db8f46655ee4f74fef2a165c2172cc8af4d9a36ad9bc +GCD = 3dc164a3226224f1054be7b340dc0ab766f4ffe0599dc3ecd2d166fcc5998a4 + +A = 1234ee006305884dc928662380b96d0c5160fe382fa352690e2abb7a08e37f3266f798c87e5d9aa8def77455a94eef3eb2782fbb5d0d1fe0d98025905ef18c +B = -cbafe80eaa3830747013758d2eadef1fffdaa6844bd0e66cc979d9d8f3f1777f3faca83b65dc7d5c8ca6e055272aedf5e13fc9b8d6fa16212daa8d98cbcb4 +GCD = 7eb693c6019e37c403e4d9fe55f9c7ae5cb86bb5b4673d77de737c80a54c7bc + +A = -233de6f43625060b93a2d48feb30a546eb14ea5ce90154263d6639f89581a168e73917a82599b9aee74d58fc39ae0c282da264d0c6b57cd7b3d93488cc87c +B = 16bb621a85eae0d1b0ef408ed92a5bafcc95a2ea7630f6084966fe5ab984db5b1183e5927cb29b23ecab67f6acdd5c66ad2527edbcf24ee533730ec4116bf7 +GCD = 26d23ea1d413dadc4423a65d9ebcb207693b94df7b5b758c24cd96c204549deb + +A = 128566a053ab6a683cf3bc0fcd20f44385371b0a2591ae058c8dad8192e75f688416e0b4620bf71ef9c6a43f5b0aa89f6d3b37a9a181a28281e2b07c4ea51b8 +B = bad8822127a17348713c442dc568cc85c1431ed23c49bca02f98c312c77d3a998d2cf45a0b30ccc8b17142af5ad31760ae42a3c059e1a76344da48b4ade410 +GCD = 46a3a91ebec75f0a3970ff30aa247dd643b62914ce4e525d5ca6258edace262a8 + +A = -25d318f5848f8198babaa2fe7fca0888ba3f936ed2f97075788fce7e154009f97d0a4ea8ea91732d91689135d1b9fa83ed0e57ce2cc123d42d099ecf35e6b +B = -41f01924b0f94baf431713ca686ea57580f8932dc6081fd8323b5bab63463e4b94f073fc6f6a6f6d41577fa051fb9f5ef77b4be4d4ee1570a1905f5cad8faf6 +GCD = 318895c677212a08ca1ac28d1c9f22cd29e9ba7e4340eefe75aac405fd55e96b + +A = cf9432ed1d56c3346452d47cbb36895ec7f98e132273efde7d8ec77b9ae65e912aba83c5b70af267802f2a23892515f2d0cebe11a917f712360c80f5aa7660 +B = -13b4dfc2d72e3421f78dc15ddf1ccc1533709122835c2b7cc8b964c168994479c05b9edf1b16e7fd618fbb18fd29c839da73d38063425085d1fdad07c8a66fc0 +GCD = 61b109e7eda91d2c9918c44af0f8d4e54710380d616c74962833ea2eb03707e0 + +A = -342f13177b19497d300f7898e5f948dff17909738b3ef859019927fea1beeacb02659dca2c56a1a84d7da6e06b8f42cf02fd7e4d171024ef645a9e149d19ab98 +B = 3a5fece79f3b089d22b3274b334aa1b4eefa4d60c99cd318d0195edcf70b1ee35bb81780fc1f14fb14c5b1a7194fc59aa2573e6f43ab70af616e53e7bd9e5288 +GCD = 19ebc98e11cd27a6d0888f18db92f14d03046879152c8576db9190c0ac424fe48 + +A = -ed0a6f4ef2b90ab306d67eea63c37df4136578e1df0b585fcbba0f2bf0b7229c7ac0d4fec4dc1ba1c57ef531a3d6aefebf56f2f610517e1bbd09088742af2e36 +B = f637bc9f8830331f6b1035c31f826f39e225931d8d19ae9838ac43223cc82d28e28a21c1d4e75a0c2648ffaf907d3a861af6f74d023ef0b11c6d843caed13d2 +GCD = 1d90604c1d3c66c15ddf83175c87117f94b89c4b96ad06c41baa3600f216914de + +A = -55433233cd172f9543d392f6084a5617f1e6498b27b96e33dbf33586704185f406bdb2ac18ecf5c3ee6f107705f0cb7d914176534fe6314be52d8a5258b861140 +B = 2a3af71b481d1c4a4512af6a6767d6d00fdb6d11656607b4f92c84302f31e6287ddfb27b174d6398f140cb5d72ce246cd5927c7e6bc5886e4e3499f22c8bd71c0 +GCD = c343e6fc91736ba7ce0f38137a88bdc4d6c7d9e3e16dbcfd694334aa6308a3240 + +A = -ed0d31f14127fd4e513b60abe1d66f8c601e81b6833df01eff45c0fcee59729a567baaff29c7ed458a5129c7e3ceb00754d803d14f453a93981003a76eaf2364 +B = -1e70bc5636f0d9467a8b8d2c8d6622d392e2bc68b7a3d952cf6d6e1c12db51417895a74fe5e0121b7f1a17ce88d8edddf3e2a434957d90309b45a2204afe377f8 +GCD = 5b23d4a881b4eb3eabaceac2d70c7c98529c955139a644d92288393d254c3cef4 + +A = -2ae4a14e32ec59b00ee2a645b23b5d6e3eaf4994a3d7d68b64b46990f1faf955f4104a232e5838149608714d08235af9b3fa3ed8bc9863128cde6add41aa9c0f98 +B = 12ecec8bf404396989fa79ed0dd79ca7be1fa690c45f3d293953983679a999ac65d5b3d772d2fcb5b7eeba295e70625b1ef6191e41de62762b55666b1693c042a3 +GCD = f0ec5d66cc8b6b10d77abb58fadffd6f4f8fbe58c7b3f84d1a8caee0bc4fbbf6d + +A = 10f919ffdd8dabf2e18cf94c14634a22ad0be7ad91185ffa6a9983239bb72469a4d52dfe8a278d55ec5d3f11ed57406cfbd4ca2c1ff00e33eb383d673dc4bcc07e2 +B = 1d85eda70abde996add633303e27fd13b0b7d48ff8d28d6b527cf153d51d60614df8376b5dffd26403673fdba09403e63f209b2fc8f56d39021b41fd37d493ee228 +GCD = 3c5c6d6d66aff1221b2fa18f184e66f26240384ecc991efa15ece2c23fc0c12896 + +A = -5ac1bcf25121420198e74192cf1f9ac8bf2c14faaeb37767e44478b7040cd0f9de82e73e01528f3c9d476cb710df631421fcc9548472a82aa243d627bed7c33020 +B = -33328d1923438e9c87d743b081df5f24bf4eaa734ba5b69bbca0d5692e187227c81d5fe0450316e7bb8c435832a8c059f5ebd9afbfc36f3afe3998aa9f62d2e13ce +GCD = 52bd829e4f57d204a7a737772c2abf0281aa225e898f00ddb0ea2cc0ccd2d89116 + +A = -14af0bd5386a411301648f9d01d35b4de32464317ac13357f0ac26758a61972243e3a1c70bff08ed5853d23637f543412d39f1b327f61b8a0289154cf4efa0972442 +B = -107655a4273c37eb86fd7620ec60f8cde6b9480f0a9740d351ba2f910cffc5e5232135ddfdb3c64674a89a2a8412a2c72f54dceda4b2497f6a4e1da926dd4c357c16 +GCD = daa258591cbd5839c8894cf98d54ac67a9bc7333d8580bd2feed09430a11296176 + +A = -4536875469edab4d446a96b93364a7b8d2c3251f254e84fa7f6a9734a50be79382eb024fe7d98816839015e352f489865f8c71f79eca212002c42e962b4de8e9f716 +B = -c1c7fc8c2109dc038548e2399b1a27e25506b1c4953af2bb65f814ab573968556f129cd2c1ad6902f3d6e585d7f8f20d3ae397ebebb030a1d151874bafb353e13ec +GCD = d320551e0a6b177819c429ac6397069c86b8589b800f2ec9abb8e430285bc7c18e + +A = 3c9464bc9e40ab4557409cc04f4aabc99250560ca5daac03ce228e00ccafdef38133668c8582be2560b22afbae0b97b6a8300dccaeabde0e597d421a9482caab627e +B = 1bfa56fa31149462a820b07201a08cce25b20dd47eca88743ae9236cd07f0a2d653e3532a89677e63e09225992c6eda1cbd40e79f7b07cf6af1179cbbee5e97f2f0c +GCD = 1094c869a6360ec6b47c6686a025ddd07203f177a893ef777cb154232a696e869b6 + +A = -17c57ad12e2e9e5d104bab65a762c40b18dcec99612a48f8095f1d103565f479193cd77fd84163ad34f8b4f05b25d8f16e1c55649dcb107cb6178e6c9427607d18d12 +B = 356cf097e12f11b755ad67c3c19f94e435c491b5e350cc7dcfd7f403c99bdae1326758d055dd5deab136c94e17e1dc7b5a475b94b1b300092ea22a80ce36dab1c7514 +GCD = 3f7cb5248e10cbdfdb6647aba7285153e5bdc9e20fe2126b7eedf6b0672ca8fbeaa + +A = -778be9de017539446aa522f00703ecc74580ed6b042dbb416a41c9439dc8f177f9123df209b6923fe527037224d87c71ddc8207ba9545adc5aa37c8e7bf4bb40b1451 +B = -992f46b1cd1dad22fdebf5f6b75b096184557cbec0b7f5fd8d90fa8df5a640dde3716992ed81b1c94f0e5fdabdba05684dd0e5b620e4c59ded9c03fcc0bf3e224a770 +GCD = 633c1ae79ec8d5c650b9bb565d4ad505137227435d3f7dd60af9c59771d5429cb95 + +A = 1d41554a541fabd0fe241f3435891361328889288db187480550a06879add2a4206cc56604da97c5b913036a63728a5476442f433c13ce42718b7ce21c6c863d50aa44 +B = -3d48e135cd06710e8c69f9d249c6457bc584908caa66db4e9d07436f0add7cf0da0ad67abc797d75a37ac839df02ed321463d8c858d03bc69304f310c733cdc09d3358 +GCD = 11d4e55d0e81a25e81aa387d5f02d22d39462bb99bc8ab7943597bddc58317fd38ec + +A = -8455634c818f411dc3eb7bf027ea21569aad9e6552f06e308a4d8e9669bcdfd2feb2f914e1899f61fbaca8fe52aac80f414f7a21424770f1fdd0aca61961dd909579ce +B = -fe5432f3c771084b065d03d5a5776dfadab0b2a3d1d180a0345feeda0d2fadb69a137dbcdd585ef41ecc805f12b6f9e936c983ea25ffd1c471520e14cfb48f85248191 +GCD = 1858ac7a7aa0b2e0423c0dd5f779223036b88c7234eb6a9148bc3032df4c599b8841 + +A = 49dce9eadc368753b29478e1423b8638766749719bcc3898fb6ad0d8aee5d809e7f356d4132c821a0acdede2a563b5a9d5fdfd020e7f82fea2d875730250da3fb60b554 +B = 4975494eaa93eda843db7fb888a6f658100bd0287f3adfacbdeace982abd0ca337839693cc8a817259419828b12cf2540e93ca0731b1627e2dd97ae5c48a7b2b0f94488 +GCD = 630540195d9d523ccf24df7ff9b5010472f8aa8780d2c20cc922dcf4218265fc75a4 + +A = -d29a3206fb085767882b99d6c6deda38573a7e2a0a800841c54d5d243976e4c6a9781c63f990c69b6563e4ca2bda91e3931dd40236eb7c9540c8b653190f6791696b0aa +B = 591a8555617d8bfd3ae9ea04151ae1aa360c559d1b22e8a44dd95d14e4097e59cc0e83ae87ba67604e23ff6a64d9e1ee8e4aabd66caf439c4df1bd96c3bb7c49c242e3c +GCD = 41fb8a80626b259f10881e242a7d605940ebdd903129e27b96e9576c07a42a27d5fa + +A = 3b22d53ff858ad776082cfd170ba82501a35559e76c93b47163fd711f96887b4d94227018ac32a308b99771dc50a93e1c19ae60bfdd611673051ad4ee6789130b67ea4f8 +B = -11d795c6ec29c5f6a0972d77bb5fde0e58fd873cd77634d993087ab5c4e83a5502ef9a2fd9cbf4eaae8670678e5a525b733de5e4ea8006a4d3deda080e00db946441628e +GCD = 17eabfe8bdec99b627bbd1637687510c6023d2917406866a97e61734325ec94693f4e + +A = 3578809697b7f6299a80d653bce567f0ef848bbb70ce9815c821e3d544f81545759d2c662fb8c1d850c91e699caeeecc1d9d7e78969581e57dcd96bfe82ac3fbf2190de6 +B = -25ba0f690067e86d7202aef904198d02de63e42d02ea7bd188cff4ab5e056d4fe600fdc8c88bc1e8b3d69e5090d63dc6e513f7adafee6f104ac55a0a0e4316b663453330 +GCD = 387ce767fa14f3e1cd3930f25204f24fa21b5745a6bb6cb6a9636e3591032b47ea772 + +A = -d6549891f812e60828ffc0b250872dc661b1a224ab49e0eacf8c00367bccbde5ba5d00c5234b11acdb69c68d1f2948dbed33b6a5bec4599fe66a895664c2fe857ec851c0 +B = 27d89e909c13696cecb65df364c885b6103116ec31efbaba0665caa55a1259d89e537bd04d13c8a5b51675360e208815770a64c66f1b635442fe5697ba797d6f9e943a1ca +GCD = 4d226b68b283d0213ef9c111249b2aa21729b144426133d4cb485e94249eb3534ca82 + +A = 106b5b5ae06abc4ff3e191af2eec18dafcd61170473dd3ee64d7b174995f7b6320244e4c82e198ddd8d483c6a5bb610b118182829fbf86ee78235a509f046012ab1d12ff55 +B = 143de6cfbbe172d7b759b282f28464b17766c0ac051b9c588b4bcd9ad170d462278eb3c6cf7e18168fb4c8be6c306ac8decc47e8768908d2dc9ba8a4822d0cb3ab8ca0fe74 +GCD = 686178e74ec3ab68dee87868674f5c2663f46d8ea0960d94c83eba3d7869786307709 + +A = -38953f2c424f21b7b1984c7908938a9e685b2c123831fc7e7f595e99897792a038d0e1d94cd295ead895e7b5b69291737b9556692832c3536fa2b813122f2b3c9802428034 +B = -342220cdf13c19a40bb2afe4d0a1fcc4976f7ef8c6afd8a50ad15c4854918ae8dba140a71dac7236b791a384a6cdce134a71673a7318c91098322d9408178640bb01824bc9 +GCD = afdf4acbd31bc165bf194748ed48a76396f0934960385461fc2bd977285d7110d51a9 + +A = 1605ec15abc0f79cb0d82636376b81cce7d6c4172c63e31421252d86785357bc6d123b188ced34a81d09bdb9aa452c47be44c2084f76f73d8f0b9e089216b22cf1c103bae0a +B = -7cb17b1127fac1fe36218815cd2eab25c3176afe683fa13dc56b420848aeba8f1b6ef5f57af51a565edec386bfa53cdfb8d32e6e1bc56f14facf613e2fe6575b199848cd40 +GCD = 1a1ef87ee5b0610f6b31143911937f282f21e74b86bd683ebc25472159b34429708c7e + +A = -59e89e8f9891b5b7cf139132731b1db0442b52d9493b63069d8603a7e5e741fa8f2adb05541cece22eb18f2c1d85be92724d27025b5aeb123a9e108fde2dcbd42951416f68 +B = 42c27f07252745b4cee71ebe52c82c773660c57aa4a7bcbdab12ddd8977dec8b04be844abd52d1d5040668a09bd49ead568375f5ad66561c296f312aeb1a082d1fe1781787a +GCD = 72cc170721f48c83e6e9108f7c1e0bc72cd81c8d44d5e63df148af05fdea8c74f0feee + +A = d90060ac81e621c82ffa2ce8096a025ee40604c4df2abe2be7fb5938186fcafff01bdc828a58c5a598e9f3dc9ca2ef5541dd5255d75d66f8c775aab103c7a371dec1b8c2c37 +B = -1b629538569d3329094c1ed857de81a530aba3362c786a39b7018163adc2dde5ff823886122c996810fce7724cbb5edbc3223ac30ed832be86dfe4f56228aee4f6af5674f2b +GCD = 79ed2db901e029b59a15260c826e96a3e6c07faa31590c722848ba713fa67df8eebd55 + +A = -31def5097f198ae2fb17a75dd5b950988f4ed2b83558f00f27b77eabe98f4cb47ecc3e7cccdf0fa2f05258bd2fd9795668ce55c16bb4308e958b24b6f101105a3e5903b41b4c +B = 62aff5c234abe59794bf464e5f1d9c702f6e698f62791cf2e8332873914b3e8c70d3df026c9bac7e147014f5383e797797fed2bb8118f938af6fd96efda37bbe8b430475c6a +GCD = 82276595ddd93168e0f0d92b58c0bd53e06f9034bca205a8a6698e118c56f81a4741e2 + +A = 10c90516d3a36d85a2a603fcfbb355638b53bc469bf41be8793fe974b0e6271d78f3ef0b8794f064f0eb19afe52513eedc985555f22ea1810a64ff85fdbe89a303005daecd5e7 +B = -15966c787a26c08abca751dde8f86dad911a9700a98183f6660b6573404f5852a5f75c114f6f54552f22e010d1e10e99b7754c8527717b4c87a4b54194ac9d02281dd1f2f34a7 +GCD = 1f68f6e5c87a4feb57ad18c6a9ab9e115531ff878e0ad319c0b1061b5a83ad72af5af3f + +A = -456e43c4e3b371b8cd10d2d61ea9b858ac07b85688dd4c409833571433b9fe3b133a62557d30b9e9e2ece32e1a1b6bb615ffc2b310a39d454f1320eb816141662818d3bb385d9 +B = -195e597d6dd3140c1d5eedadc031e4527fef05a9c4f41a71dc656fd9fb856f7d0dd0608eb2449cb885b92040935914e779f44f53b375c659992098ea694e747cb15fba85d66a2 +GCD = 2333fa556572c692d6067ec6b77351b427bc9c0754fc34be2db86417857a23f61b5d9ad + +A = b29fe2ff288e931c6b8570a7941325c995a084949879d043d8eac1a57dbb08074595d88e837f4e190148897246e69fcd620fdd8ce7ca89a6afcaca0f7418bcc81eefbd8ba9b65 +B = -e7ba9a1f97460dbbdbe50d9dda776853413a651dfbcd9a0a90df597c4e5db4f1c10e85a79c0a1367fd3fabb217194d14f05acf1970e0a0f607e2d128bea59fd3101a6e276fd51 +GCD = 52ad4c875f1128b0e31ef13793b1bb376d27d0de470603e47ad89ccd08516e5b09a67c3d + +A = 18b7e4c476db1ef45552f206638cc6efeb96e06a3612489a2fa975bf7631fa742cb4f548b2c0e996bf08e4d499a2a73197b343f61ebf36298a5be42968170a03f94215b2057c03 +B = -2b1eed2ed3b6198516d72ffcf0174d5daa253fe449c2aa33ececf9e8d7ad403f1bb1cf04b16dc530b759714e27db09d4c261de4ccaab5d83852010d82c36759cb8cfab49065548 +GCD = 9739486102c6c7ae4627cc8767fdfc14625fa4a350ade34345badd58f428c5576585ce5 + +A = 24d6c9b3c658ed9e3a2953b0777d57a37a6703608e4cb7e2c59f4c45ca287ef569b211dc30f96716cc3457b3694c6301228e2ac0f1149d3f2e403ec6bac420e8751a73c5786a3b +B = ae7154e6dfd32233b96252bb8d9810a7e14f1f3c1e3db698e62e38b8651bc1b807e056992fdc8cb087d64cabf8b392ebc2456270b2763ee9508fe1bfef615388bb7cffe99f9fc7 +GCD = 9fda5651859f8b14f902014bd9041040735e20cdecd618e6a66ed2f23c807ce7c77d5d59 + +A = 4e2cf679e064177b4f8efc7248721cfe252f76713fe0159f0ab7ef39b234813828e73db7152f146584b228befde8767e4daf6be8c45bb149e64dd8234ccaf1aea61438afd11ae48 +B = ed5e1783976dec850f3b89b74ac3ddda78c3eb0b641a79f93239055bdefd50e029041672c05ad4937fc32dd51544fa1857e0583081df6b66ded34714f6b1c9ee7d8935e084a610 +GCD = 19ec6b5e5a1c1cfe588bfca746cff330281a16f075bc4c9f1d95861029e62888775d54e48 + +A = 69264575fc4ada8ef417a44d183203df0b6442292cbcf271f64f4d5a56f4072f6bd50b7ba7980012d4796fb39d5a07439d72770e51e9a3024db91324d3d28ef3546dfab1dbe2c38 +B = 1497ef81ee0e887945357bba106ce890fc2c38625abf569df597cc007c42355b09c0bf3883d3154b361729512ad36190fae3abb6bedd6a35593361e86df5920bbd05d43e234bdc58 +GCD = 3e773f31925e4666610e6b4ead5785dd553087e026d4d7c3cdf9058b0cdfceb517afd6a08 + +A = 31bba84b6ad2237c6f9d6280b7eedf4b5c6befb50ece2d68450c31bb156d593ca18b590ac1c6a996f2484ba62b550d0b1d563d198b6f0e8ad2ab9a5c314efbee4af0d8316c596d4e +B = 2dee795da75d4db6484796d216fb2ba8197af0f96c80a36770d276ab8daace5946c98ef4a6fb882fa8dd2617c9d3e5766806fde07d9f7645f5eef49b1d166462075d7e197154b2ea +GCD = 11dc4efe9ee2878d33758b97bc7aa0438663845ebd0a0fd4b1818a799738f0996a94d14ce + +A = -78d4623ca18af4dc1f6afeae38d1aefabb7fe9c84ba39fdb8680f725f7f49f69474f1cf71e5683caaffbdbf66ddb66b466362fda1b2f6b64d66046db74c66e1f7a56903eda04a +B = 9180b6d5c24de225d67ac5949fb455a3a7504a6580eee29073b5883f367d65b957cb243b16b895e9385e5c2c358d0033183a28e5a5fd0f32c3a2eaaffe2108091c92e459bc503202 +GCD = 2441223b7eb40dc44ba1a8214975a8ca21bc2c4062ba735c16ded0da63a9d32102a42c5e6 + +A = -403ae86522f35dc86e1dca273050020218973d142aeba3e3750535b10316de44e0c61d52eafb09b2f5532259e0fc82343af8df47ff8808ce9de34fc991dea7fc095e894870897e2e7 +B = 28eb27d3a7694a1ad53027196c2f8c9b26963abf519594d29e8f2d275a63f62a0272fd3b46bc5cb3687b8f2c9b93a32aaf0542b6c9168e3b529813b80ca4ac6f0c65479a29d7afb86 +GCD = 363c1cb90394407209515643a2818d01942903e813a0b73636139f70eadff472e14a4e22f + +A = 1bc6517483e57e92a1375f55ec93afe6e0b3294c7aa7f57505adb31a2f40ae373dc35b2c5f0e7c3bc44e0ba2d5c8f76a677731a18eff1552cbefd2897d4c2bf65801040d12f00ec78 +B = -e2bcb37b05602612b3756a880aae851ba32ca2b0043c9da2a1175961a41fd72acfee03aefa6ae78e67dfb210ca8f80dbaa534819e69cdaa411244cf7883f6c42275f2b501d2de9bb0 +GCD = 69eb60f28fe604e4eea78fc93783ac0969b79491a88fd943b66c287abb603d0413df43a08 + +A = -69399414e0ee4338b76b928f0c52ce6e10f3ab65d06bcec7f0acbd8da301e7e11b2e8b3ee3d3e19542f870b2d91d329fa994ac807dbb43c06a498da0860dea4f3e84c192d5eb3a7c1 +B = 19789e9dce980e04c6d488b244c9183303ff3a0161c3ea01fadcaaf1b42bc2c0c2d4e0dc159e79122f78846b2a3d4070b137c47894bf212ce8988b6cd194bff55d624a3cfcca3aa04c +GCD = 8929efec553396a106734507b3e27b8b66292b99ef47f0b0a629cedc017161bf2af037357 + +A = -d3486b411b02d1f803551cca36a013d042a85817b45e1a519e6d790ffe47d1ff70ac54bf64249753f43095daaf72b883b22151c0ce5ec357dc250696723b12e1db2eee8faf492756 +B = -ea5e62401b2c8e77809561599482781e46caf4fe210ac6930ecf06604c8d78b414b360a56e46885ca120e3367e5dd6141f99c82073e8e891efc981d1707bdeeafd51befdca0fc92a5c +GCD = 1f6ee8a486bf730f08fcb731b914ce4aff1b1ab0f14c3220bd00d8c6eed200849a9a6b892a + +A = 3740de51a460599bee0b5bd1ab5f00f21518c5fbed4a944aeeebad8a009386d1f332d015279cc227cd5f6eb0bdc8212ef7ddb41d1de040045355a8055698fd38202df929c5260c35f98 +B = -4a05929c085e16e541172c7e9eb1305b0dc76b7a78d0cea6e1f197820ec95d86cdb3c5b5a618b25f49bca20d4110b8354458bbb5c9c7aad17f49e28642f164b21c8fea27b1a23a0d8a8 +GCD = 21571c25c9007d247a2399cf87685253f187f893e1e56f62051aae733ef94788646899ed2a8 + +A = -bc00c7e60987956be2f4c0db81741c6b33b1f090fa6d71f5f7ea6c7b824dfbc593b49c4ecd591674f44dce089f88201fdd3fda245d9660a44d0fbc922a7835fb27ffc180dec627b346 +B = -d28463ced2d827daf64ac95089b8fc3ca77faf518caef4184b00ecaed0a8c7565878dc7b7d387d7bfbb05ba26fb490c1d4ec0722495902397154d70a781b260592f250540effdc580b2 +GCD = a6b23c0c78493c4857b545d108b4e4153bdb8ff3818d2e7a9834bce524b2ede915a34880ae + +A = 40e97bd2794adaaaf96a77778431c80e985435a91dfaa9557fbceb0d2aa568cbbed449b7fe79b38136b5b31d18458b7482c6ec23f769e449eed2a345ae021b0c34ad395bcca2b528161e +B = d7ce46d5d72a65971a16cbe0ccb42d1536f4e3e9efc04b4b97c8f768d851ace6736e823883229d12b950a58dccf683f2b4f28b991b087d871c5376c174dc30c3296fe3f05e83bd319e7 +GCD = 8ad57139fe71fc8bd3439740470384139be69b6b621ef861541dea10b368a090f001c1c644d + +A = 6cb8b8188dbb02f95a65ce042372a64840c736844854466561c0045b0a1e88695f91ee0900fdce0ea24ea7e26897d39d3a001d182b3385da3af36776c14be39d760e0ae5a8f64af1c7b4 +B = -c31ce19e99f40db83fa040b6ae7e98e23ea6651dd61c0c870e35f500a55e7fece074247278c18c9b90cf22d89d7a75d4d2923c20768cedee77514f65976aa9ad37d75db50a5bc6d2c590 +GCD = 19b168b34ccd1e8e0112bb72937bd092d03feec245f528873859b336fe42b4973e1f5532294 + +A = -8f8894864cddf9c384e42b49a9723957939b3fe54e58a01ebb1b0dd5f8c008c6bb7fd007cff320b06efe407b2b77aed4fd31958e256148d702223e1358467c2658e9e35f00a040c411a +B = -725787378b623a53fbdb5663ab22eb7b5ad93786361764dec8eff6062af2c74119fc22571b84e88320833aa20d81b3b123a16307d0ffe82ddae681623e4d3c4b950245266cef4b00dd658 +GCD = 7ca9ba977fd596140f91a1b8178d09282db3e7afb245c67f6cfcd44c5343b13fa2d5a2b16fe + +A = -135672c5a4985052d791db7a517fb9491029eb60d508e8c0bd3e58a440c0de93c79707661399ccc1456edb39fff5ef10f2f0dd2beb4b9bb68a9b20bf5681029b2a63f4117fb4b474fdf3f3 +B = -18063bde118d96bcc66c868a6f03ba8693fe4509b5a13763f7e6d4b818fbc87b33a7c61e81057b79aa0f8fe128c2a2e44930f94751e6726734edda325c3b87c046bd8f7fde4d99d37f6f05 +GCD = 66159313e37208c2d8372616fc7d259ff7d79e9f429c7b41eeccf1197f0c0e6c9240ad734d1 + +A = -90443b2a7fffaeede1f05e7fe350a3b356817b2b8dd887ee1268957c9cfe522543a6d7b84796cb1cf788e8681199d53ad8b611ddbe6605ec6e9730437dda752c2fe8d32340fe874f2a025 +B = 1bcb30b58f1d36e171eaa83f225c94e10d04758fd1d56aeda422cf97ac45a86d30fe0d4328e27db59c8ed619e49a9393214f63939214592994c815074530899416d89f25d624379cd569cd +GCD = 99ef70d3c6705f8844886bbb12581b26028835e0fc63d9106238b9c278754773b3b12412b9f + +A = -338ceb3926a560bb0265fc4dd4f4e31c23e83fa9239960f108fc7a5c677094a79e43a7343701fbfa025cb0057bb0a6e0b4c96ce608eb88a4cd2c8683dc03aee23856404ecb587b87d7a864 +B = 11950e1b6fbce7740da6cb5e1fdbd85ba2f94c18d261b777684097271d03c23cab39924364aaedc22552cce8874b81ab52556f8702a6d1f45f102d3e936d58be7fa12c383abffbbfd98b1f6 +GCD = 17549b5b5b2e3a5956149c2872289c5a43f65005286243c38050c5e3cecf8e0b5f1ecadeaea2 + +A = 56d7cc72cb3c8e9485ed8aecb28e4e8aadbe2b2442de843be1ed980b7f953bd3c6ab87b13332ad4f0ebfcefb2c4776164c837c5201e903022b3ea1b8f9cd4db69d2c6d478f8e61ac98018e4 +B = -69087128431493852b271b64c2d13f7d50d3596c5956baa739e9825f9d0a81a7d99012b37c93be3e8e9334243d95cf36c4351a99394385923169778c1a188d9ac933353b976e17b19e52c18 +GCD = 6cc0dfbcf02887a74126d85ee735bd56fcdcb7ce1f663403b053f1a0bad7f45cba33062174dc + +A = -103763b67d15ee7896b2db89aeabce477e6044f79529d3852a8fb9957e7bb894a7ce7f593c2ef0b9918a61fe9cd199c21c7407968d1dc06b9f2eb4197054a14e8d372469521a586d91ad99ac +B = -3094b56ff3c61403ac076c43fba6557cf17587a3b72a791e24c45043106b3717cc3f749984d4fdd1e113708d46ad1bf981c7059234533b488af256ad776e39699749a8a7119f4e8140ecace +GCD = 441c03015ce9539b64fd41f34bfa2079909da3db36aa2325b7ad0ae871090326aae811839c12 + +A = -788f815e412fa104b7777a33e6d2cfa9e4cb1958a709773a2e26a7547cce23622c59c2e02a3f93e56de3b0afe919e915c90e75c1498f8af2a468f562352bce10636f15ad2120149668826e50 +B = 2e4c1c8d63e691dd07efd9140354f4902460ca0aa0cff7d92f0a63305c84acbdf07a1692984c36027c105036baeb11a2871e9ddb6b68c96f8700d61fcca17401cc0ea1f71cb5e4fd9fc7f1b8 +GCD = fc40e59bc22676ec833cd8f0eba4d773ab37e2b11783b55a28b5ff82f6e3e0246437f8109b08 + +A = 61fc055c5d2e60711e7bbd4e442b4808bd66a3879b7df2cc8e3cbb9152adfab493fb0e5027ecf80e3b9f1bf11321fc68790687a3215fa5f682dbb395e0d28d089debf364c6a48fc0a53040f0 +B = 10e7df4e9f571537b99b2864e3a4339db511dabb69ce51e145848c8e19901a6bfd66d630e95b35a61498834e6edc971b9248991af9cd631f565f87d404fb39f8f6f8205db5fbb3b1c0c52833a +GCD = 27b6a7061e47e45c2c9c0d18c641ddcf19e625ca774c32b95f19f1e456671aa32071cd904400a + +A = 1345294cc9fbed6be364e3c3df8851525a3f6bf045ad171db5e5013b89316d6ee7cdf7904646a7b1d24a6863cdd8e950ec7921f8bde3cb19a4fe52e255c2dd393e6df85558ccfe0be4fe0d380 +B = -5c9e0c9554026913389e75f4af6e8a558c4dcea26c19259af1d2d3b078d2e13e201dd85e376ed3665968c7e14ee0da002748bcd3a35f90236ec5b03024cb8e5b3c5107a62f6b18ce75ce64e8 +GCD = 281a89a0f3702ca93b9fd0ff34c08ef5e223761f5726ea5a827e952c6b6c316034c73b5f30688 + +A = -4e380e77843ff046af1827015ddbf0b9b7bced42f76ec51ffb577715796891ae48fefd930770e3296421dd4ea4750405b92fb8ec3e606c24bd0e027af8775eb3333efcef768cd7594ca30d11a +B = -fd594abb8ae3fc4fcf752f00a37016b10702b1ace227618c2b340ec2086cea3af35998ecb34960979ef0664241e5c770b256f45f5e4c429b6f14870b519c434b320765786993b40014680c4a +GCD = 191733c89832c80a8bd46d347a791eb92837687275240f3e7a2062c44d1fa03ea61a41cddc7dd26 + +A = -3f24c254338adfda1572ca89ad02a4d5082065ee4b592d3cf24e65c629b4f69e4a78becf76fda65c30c698f036844858ac120b6776973098fdcb880cd27e61cd9559f33b8119bc6eb691056572 +B = -3c3e5d7f9365f1fbc3bd8a0fa171d4ee063d9549c87a2a8bbae955f47bcd1b827a3018e4cb2f0934fa69ed2dad1a4f1ad418c4debb83ed06ac05093c3d5162bdec27411cc2aab89427190aaaf4 +GCD = 17472f7b577d2b479c4386e989954799d40f2dda8c54f325577a538f56f09d4ce2ca9e53c0056e + +A = a55de776b8a4fc34369c6ef0c233417a94a2b2e0cad9a06e6665ef8ad71e812b59890465ea01b4e927f4f4c458012b6a1e7b89a2b6f5ba8716d22547b037c34cdb4471b9d4d20128b3fea7372e +B = -c9f04eb588b439724755d71e95848bc19d7e8ea74c4435d0df8333e61647bc140411124298ad492251a696c66ca9339ef2b1a468e3890cb2c5658c7d7fb34cf493669da6421511810986814007 +GCD = 1c54b2e93095e58d1cfffa70e44e6b2e74ad05be158d15285a1f1c6c17fa1010751187181b9ce7 + +A = -1d941aee517603203dff6d2dfd94e780a1e7c512e41ec7f8b352202ed9c9640416a674a503fe4b4142713a1af14b84f788446bd10caa806b113bcdf7f14982eed3bbc488c0c42a3989e60214552 +B = 2797b8fc55a53a57744818b388ed03a25068c59e63bf93ec0ebae9b314da45176b0324f83ba06406b8a52dea524f24af3b143cb63131f00d0953191307747ac0028c913e47db0fc5a44af9fda88 +GCD = 1418144a5fde082869dbcb7f8e9e22260ba6432f7affa18511c0b5d038553eed8e25941e8608702 + +A = -23e07e809c4c21ed1fe202b63374a9ca956275342c41fa248c9dd0bf5af47bc0cfd05890ce47a62535c2cb9d68a3c3d7c6e9f128577a84772d5f4b86bd5e6c76e37f015274199d5d86bc5a218ea +B = 9255011de765f911a770063cfcdbcb83e6b15dcac04dd968f202af1ff336d349e6874c62174f485c089141a19372ca5cb5e8dc53fba277585c6b39086026b518ccd1288a79b56356ae6b67abca2 +GCD = 49e0b0dcb47cf633e886acbc61368ee07c12667911482a690a58dec15437dd6a3caff7db87f38e + +A = -2e489e90c13b94aa5eb371262c5a06540cb4bca27cf63d09fd97e4519abd2f2fc25faaae09b72a63f7f0330d57d56128a6bf80caf19b39420021312c7f4a62bdee7652e32c988c65274dbded0b56 +B = -2eda51c1af53551bc8e193fed6b71e4fe4519374a41462c69ed028ca3c1f3a6bd72985309c8c3345daab6963fe53c595d4595c8938c30cadb2af8e76620fe03a1a0f798f285bbea9409f81e6ed2a +GCD = 833ad34d73b58fabd1cda79f8e69985813e7124624f6da07d7f097e9991e30a6577a0f94946572 + +A = 7098c102905e6d3617ffcdcfb5c0111b6bbf93eb5783c2a2967a104a4ef6f588534a087453e951586698561f808c2a960046790c98d3585d17679d062edc268878fd4be3eb39a9f414d7692a7f62 +B = 7e4fc8be44ae742fb209e5b571eb0df24cc19127c3d3e305e521b4c978173e029bce150cd0d1f4ded031d9529c96fb0a2c74dffe860b9a1a5ca63c1d350ac74c92f2bd29107d1364f689084979cc +GCD = 1a7544fd32ca4e50f95accfcd4c5fc186148468f9ae08350cff879212e38fffcbd31c417c9f554e + +A = -4021a5a13bacf5e5ccc79246591842a5004137a35c628f92fd98ed897ac12437161c6ecfd0a2ded65cbef3c4582d8ef42d7c2770c469c471148ed6f8697ba066d336baa601d4e9364d032ff1c3d7 +B = -fe3b70405122ebe7c0d36b4467267d9c0deb5e20dfd20f7db8bed22f2eb8dacd126bc2cd659809c7a706996afbd2d7b2b6a47c461283207a1600cb5c65a942ae84d0fb97609c8753269fd2e20d9c +GCD = 2bd4d226bf431f5bfc6b20c29b12ac95a7715dc2586e12741b09ec6fea7a804b7400428425cb081 + +A = -1e5ad39c2fe0213b64aefcb9013bd016f6ce29c275551cb5c377e062c1acc028735a4e69533e4a181b2fb0832e6ce3f73ab135508407122c011fb0188bad8e53b6140171ecb6731c59007c220e504 +B = 18e26e1413d9e67d3ffc44105934505594dd24d270ada1241b0e87ce5bff863a933cd8651ef2cfb773b08b3ada61c6284185e2ca90a7c24e68acbebc6762b6a59bc4daf10eb2ece7e290e6cdb46ce4 +GCD = 4dec65efd6ed794607e938993be3e565de2467e27e1aa37bafe6b24706819fcc593d7b498d50056c + +A = -d9680dcb15ff468668b48e7481752bc62e8457c3b87b015a43385607e4df8da6f4daa9ebbe6f77a4368c573926711d03e4d47573c723b229846770e9fda80b0a9b85ad808df2e0f06c345d1ef5d48 +B = -6b57e3763945ea2bbc1bc6a73de734b2cdf24746f69d1573afe6e2666e3ee9cb2441e758218a293d6ecf8e118c756fd545dc0487dc4efa4bb898edbddcd9ec679bbed32091233aae2b35640b1dcfc8 +GCD = e0dc97a11a3756147ba6dc755d50eda8f840730bbd6a00ef7749f2161311ab6632246fbde9cd8c8 + +A = 978b52b96d783786f63d70c106da9ceecc8e56a326fbec2233d81897d4a0a691a3080d3167ab28002e23ab0795b50a234022ddbff1b3a4e60771c3304fec2bf39cbc185e1f2c07ca94d75f8964f23a +B = 647b8a1791c509803c1ff63c3e78b5e52a785e451f212913e0b11a9627269e51ea95d0305aa176fe87d1132a35629e96105239a0f45956e58b6a40c5d8d1f7a3bab1b8a05d79d1e4252b68ac9a92a5 +GCD = 103692e2d6d62a6c452c95d6067daaa56dad15ffa2765d315a25a3f255322645aed4a89e9dafbedd + +A = c1f0ed4d9b13f63078250707fac8cc061f4d36d2a0e9010d84a0d894c109cefd3cbb3a50a30591656bf4db45f7c092e2d476bdd90bdfec3dfd6fbc089101ff7ecd788b57b8745ebbb80934362398f8 +B = -5781976db214c35cddcc93f4db0a7e614c7e90abfb21951849d417cbf4c16987af67cffab64c49ee1a730603f2bc90867391a7ea8ac9fee952550a07166e82168b7356b1a91074bc807ff0a06228598 +GCD = 2850a44ca85bf7de4ff3bdc347cef8bdca67b1e6853d0b70775e9906ef3cfd994a7bc8a9f42d90a08 + +A = -13fd588777d7f39a082fc06387247ee9470028d4cdadd30885a5ba06bd871668dbe721e5524b3e68e2ec9760802c761e8bc75cba874ed1ddaaf894f8717f4e5b4a47f44ec75bee217383babaf449bd54 +B = -1818e3197077ac329b3b4d53cd98bc99fcb9d4db55fb0bd4798b269109efddace54b3b61deb4fee0b6e7a0b685887cbfe1b1b454a35f66e48d992d906bcb4a3a18387ac3cbf427b6f83bdc5db216f90c +GCD = 639de7eb76ec99a9c4b8adf0127695d9df7516637aaf83ecd126336576ac5e4889b8fad1b79865d4 + +A = -78960d274f09db4bb879808c9b1fbaa58684b1aa0e9d73269396301bb2e1d2c8d195189ada3c35245660b78307c2e7e76787298e950412025357dda00bcd92f4bbb22d61374a0800fcb66e134e41109b +B = -42df0fb0c28989372a84c67fe9220fdc7752cabc7f122d00acb33e34397c5c8ca1d1770511eb656ebeb395e1cd75df1b081d68e37017ef8ee1a55a317f40fcfc17250af1e2c8ceaad708d51bfa6eb3c0 +GCD = fc7e31d2c798cddb8bcc46e3fed48726f9637ab7cf71f3dbe5fa011faa776de1728e734c6ff06ab5 + +A = eadb5e642afe41b70e79397fa90c5bbad4d47b1b0c2f146e5c7f672a71ac03ba06e63b53ceab5d658b2e18475c3cdaf68549321f3f4a1331448ce37af78badd96d201be6474eebebf6ec6852cffb5155 +B = c0576ff2f7ab73ff8c6dbccc99c376a54f88b7079fcdf1769fc03fc3394b5bfdecd694fd954d106a0acc951da806750a0f945d64fb8a3e47e04d4d8813ceeaeb97fc93a9759f2461a4ef83c5bed48c60 +GCD = 12f40d90f061dc0b573379b2645195438691859a12a18f1245a6071b8f3af1d3fd96656ba4558d7c7 + +A = -226cce11f9e926a3560df7438288bbe56bad54f8c91c8578f292288e586dd315829b5b54d58a621044c43fb34cd999ad12e95eaa457bcd3de9884d5c67ca18c18f1c0f17e9d9aacf5e29a9cb807707dce +B = 140150b54a03a165580a780f40f6b34b1b0dcc14016f16253483e273d43234f5bdfd4de155b61d5f992b6e72d4f451f6bb8fe4e3e51ae9a7161fcd455633a4fa6613eabcba1338fe721b5dd8dd656146b +GCD = 2ca53db42218d527d2b256a13f734424180bc120b06a978c4bea6f46e532da58e5cb10d359a311c5f + +A = -13f64964fe8710a8b1200b25c7c91a11de2cad78d7004eb47a2f2a83a832c775815051d7e442a0cb9bb0c16722f1450f47b8d6699595d49f626947665cfbeea0e97bd6e378ffc9eb9e6f32edcc562168f0 +B = -14da89e7867acf9673b8b0f9e4982c24945e93f82e02c9f02845b3b7c231291c6bd468d0d9bd18425daf69783cbcd762a054e7b2a07a06cb23f694e4f73bef316c6c9b620c5491d1e6807ad067e0d7b460 +GCD = 1d7a7e2efcafacb56a38f5b83ecf79419382459d23c7f1c601fdd8c89e36c044d0a8a825462c774ad0 + +A = 32ec6c7cb15c2c24996376dd7f005757845b7882f93700f4b60fb423f6022bfdf7986378a458f7eefbbcd59e83849ae5b7764920516df54092a50e2a8040db9837bfc81aca0922b9709d7358213d94a2a8 +B = 15250ee8d63a714d7a18b67cb7c697c803f29e558ce309c07f29ea81507d5edf626dc8e524bf95a1ab118607bd6829d51319641f6d5544707a7645e17939b5648b72e292710c8b7ab63de32779649b30c8 +GCD = ae15fca840483a5e2680a2bdab52c5551e07e6803e8bd21e69feae3118d98765fac45614bf6844d38 + +A = -1bc676af24215c24fcf65a803d9ee7db799bb9ea986b490c566ca37e1eb5387ddc6cd627e3a72bb23b9e36ad0e6e37a2b6a6d2aacb7391dfea03d3f2426b6cb868be5e03129f0a6423b0328513b8efe9ce5 +B = -17e1c103ea6ba8d089ca3eadd8aafc7c56d002efee3cfc9442db35429e9f2c25625e381de4fd702598acc914d7ec09f295777432352669dbc47a16fd1464ef0a4b2513437c15f9cce07ba4ef0097cf2d2d1 +GCD = 1f21d55c828a2da90a051ca3899c4dfafa8b7c5af6f45daa6d66d5de4e9571012bfe48327395a9574d + +A = -50c5f53a340d0cf0c6a756edb7031dd078f670dde2cd8c2fa7218411b171dc23c99cd26bee86217c8605f5fd719ead965c44ac82d1c3deea21d4594f5d48f8674511663fe2a583b42048e701f250b67d6b5 +B = 50cd63208a37ab931b026b3936e798a0bdf51c4c45dcfaa45131b5879973378be2e73c1e1b8a83aef6abee3ea625c25580745e06ddcf8555fe5640193390f62bbe983d02f0748df876daee08085fe1340 +GCD = 29140f139d73cdd7619651eec490d53274ea6e286ca33965439498ece6c2f4796b89041888fc3d49c9 + +A = 2a225454569c2a65fddba6a46568c8d54ee9c0054e64f1017e42778d131065f429e95badd768ae2d91388afd42ea895607a46c1a18099e7a519a1994d3836ebe0b3d12756c4010fd4903ebd51e4e510f524 +B = 1996542d731b9d6a43c6ff3ce16222c1d2e9e92237adcde1d9296f9a5afbe60bcca76440aab4f6eeb07000be404c89e04ca886d98d3a6a24ba0d02525ff50e1a417b6c2b7593dd636e97b815e7a3d2eff48 +GCD = 48e8a312834ce64f1222121f2c328a2509ac7deef7cea90ca33a973706879b918ea6e624c0c2922c84 + +A = -50ce10f99532af3a053fac575332a2bdb6d5eb4bcc2714086dfa16e1454d962d67f42aa246fb1bc87bd7185665dbda684edb7725c88594a35bbc8b9933af1444be0f89af522b3ccf462e3c14d4e3b1b40128 +B = -5148e5df93a268567c8fc1468df7fbe5c176d43c6285beccd951874f6174be2058b5aa1cdc320e73b21ef19f8288462f1f6048ad59c595fd303b047a576cf116898c348bb17b1e081d199c623c4149013288 +GCD = 63e748b95b57641f7b366a1aeb3c0c8227fbced13124e3691508002c5a330d4e3eb918423d958eb1b58 + +A = -1887ca50d93b18fca7faafe3bc608bb16917d9fed22b6639d652077110e7f87c2078cc4872bb8ff733471c2d59e3405bae30dd708158136c975909b6788615463f693aba2fbb1210f09f960091a26a4fde9f0 +B = -16ed78ecb8cb39d464236898f59c11041fe03498ff62812d89f3a90aeb7e6b8ea964870edb2c8e100d617b6aa60e43047e0540328434c17e6d48e66a6d7733415a65582c09d698d098592ed467764a02bbf68 +GCD = 187027b5115f86bfbd58b347f503668c57b79c2a22fea9473d226cba9d068a49d4410f8a584f5dd7a538 + +A = 4640ef1fc83020f18f2825fc867ffb1fc867dcfad4c48ab18baf8528cd170b7a0189a47c11595c586a28119322663a800062a111cc74ef0402ac877ed6d81cca6025e70c883dbf4bb79209b96eb70707e131 +B = 2a6fd447d5bd8d2a79b3c5f3b252a33fbe98d03e64abafa267c7f30d95f8514cb1d3376665a6ebc857c93ff908d77dcd808e0047f26679fbc6694c8b499111275ec220b8a64add0be99a732c5d5b260ef52a5 +GCD = 296d18aa966f3a7229fad11f7b51498e1a132cfcc4b0a6b1b126d9b1f1ec951733194a152903e02018f7 + +A = -f18f6ff8edddb59fa3a869acca127c178db9ab6f7bf77d9216aee839677f650f0f914d989c5b53b0d8fa847a9a25e735e26b9a296357175e11f002fb4bbb187167c480fbf5cc81c83bb3e73847413c0ce2340 +B = -1cdcd72ba6f09cda94d94dd11ce0532ab0a50f4616cf91dc56a0bd4e0c5b3420502d298280b96538c09cfc31102cf63f3ad0ebd11eb7b988578f02e8e38aa949adc3a5b275e6410e65c518e1754e04012a0780 +GCD = 2c3190c99d7c600b14e0b40fe80022b60eee0c4a5cac6076b75dc3f9e05d08262855d639de8d58823f40 + +A = 43508082b6063dc0949ecfc827e5f1ddfeaf76dc2a30fe78561f626e2b6c5f255f69c0a1ff3a147caa39e13bc7e00c89fa36dd2f2b5d51ae10e0816fe36a4cb52d2c42c9c94c28a41045e8c1dbcc19be43a847 +B = a168064ca805c2a9c40c319a37d3de8ecbceb6fd65b76b07c8f0f6be01ceab562d1b955ff71d970d14eb481d95d47ca15d683d571cbeb879f144dc67f4a5f734819674b865241243ecfa7f7a5684f3f36450d +GCD = b36f69d05297b4731f358351f454766949673f187412905c5b5c5dd209d486edc28c6ab79d6370df4c1 + +A = -3ec96f1259941cc385c5fd71f985d286d0e4cbeef00a35e25e8539ff9a342875a7b5de194dde0250db4646cb047735f4d457941c46784874c819ae6d3c9bd233d95f49029f95018eef2d53eebec7a9213b2046 +B = -bb7af1519143cb6cf9dfa8b2b52ef16a206e601d4da82b3ac4760a024e84c42b9d6701a27a214a3f187cfc2019b9706448448409cc154b15920fdd58786cfa8f8e17eb6c38b945b50b224e709b2289f0e55c3e +GCD = 1457ff49cbea3136c7f2efd1e2ceb09a9105926445056b6f99cc3fb7d21c2e41a484b14a339f67993bc6 + +A = -1055549b0e3a4fd6ed34016975fcc47624a0fcbaed6aa0f4941ec986f6ab070dd3e3440c16a701112690f1340013009870df312c0b128ec28f36581fbc9e7eafadcb768697c19022cc3cc41f00a4a01efc865c8 +B = -1576f648cbe4a93dce7d937bea3bd736b11a15413203d2fb8446aa66511314b60a481c69372765a82165475bc1c83c696c6d3f63d41702bc49a318f2d6403213f3c4d4b4ce6f7a7a312611f30aaebb5706bdff0 +GCD = 44a26f9cd9e7421a16c13c1c145e430807d61f1b6eca9ed9892e2de522206e0cc29569384579a0e43418 + +A = -fa26b98cd90e24b492840b0b5a227257f4f68435f27005f1dfcf22c8cb7f745425975a72e70825cea71699ae7b7775363b79eab1e1d683fb08a8fc81918e9d23c19a23d8fa4e6cdb582f1d85594f8961fc6158d +B = -125c47be35e7658ab5e106d490029e90f6e568884014b8ccd8ec3f4eb9318ad209cd831276f04f4e6207934ec711016f673e59450b1f7e1c40b6eedd6abd844cb23b8ee4ff70a25463e874251344d2fc572a4b76 +GCD = 7114d898bd8f5f5b724be1efa2a9bcf951d7d15f7c38550fec2663a44635b171104e7841c1732cad480f + +A = -5aabb4f5524a2bd63cfebef7917efce47c02926a3f16ce7e02f9c8d606042ff26c9a751d11dde633698280469861f10411316c6428be89964a658dcfab6e57f14aac3544a2048d59a10ea89d183a4275e10bd0c4 +B = ca3ca786433c7e257bcee88493d570d49914d4bf81ea7646a4e1654c227dd116b2529ac8f1b36a4dd9aeab9488c5a266fa0bf9ff071231eb56406d2d588554c73aa684c2dc5ce8c02a0bdb3f050c513d9e4e98c +GCD = c37a5a32e0dff74d5c5d94b89116895602792874c4b58d35d68cd1fcbe5d902f901bbc32d906b4fa469c + +A = 1052c535699a8624e26791242d0cc8ccf1242a9aff9a065365e675e3b979dc68f5cc7dc172a7b0f332a5e4fd9f1660561747127ffe9ae0f25cd03e44c665b2de821558a230a51bfa6083d8e0c49fee7d47726ed8c +B = 91d3b5cfd9585d0933a58076cd2b0d8e628ea9f74508e304d8de2c214dd955d41a993032ce8773b7c41f3d3437b60dd5f3ef5d6daaddc417754e2c3f5aa1f27ebf05ba1a8a4743e7a7d0e12c65505a0ef7d944de +GCD = 20c78a9cd1bd03685b180c1a990c01c5b80af2e3e6ed35a05f3360f72f52c16dce7c9da43e6389e473556 + +A = 5350062a99c4277f68e2b28a27679fcd01aab0365ceebfb422f14e2bce264063d66d04760c524b7734f071c1c2e541bb2811b4d984d31d8671263a76d4c7cd0b09c3a2fdb589ab4c861c10e1cfbf9f4f8db34501 +B = -e2a03db9d8870be9d5628007632987ce53daea454436ff2117588a7699c45ee56aa2ebd229a86920ea0a7799df4ecec76d450100f6e994c58ae609561b3d2009b54edd307d0c182bc7a1993beb6c67a64bde7f14 +GCD = 374ad4ce14735dae535224c71520e76c9fc28c77f64c4d8b89361ed158b44ac8925195d4222b047626ee5 + +A = 153526288c3b2f0a28c1045687e0c62c673bc757f261f8b4c8197ddb6368c855c85477fb8f985bd03356e4b810e37325cdda78c05ba74f2524662f1f4b8067edbc05bd34a413cbb57e299f6f1cc85a2373da8aa4da +B = -7d401b5afaa9262b9a1024ba14b88062419ae5dc686bed09fe9343a914c65325bf5e2fb06d1e1bf47fbfae01706362621a718c5b3da596bfee1affe5c86d1d406334def3362bc43a0d4321bbac6fecbbc43291e03 +GCD = 5eca5a9ad59f03fe20d7e10577d674244126b47018ecbf53519727469f156fbc405036adbe784c876f3c1 + +A = e5cef90304dda6dfef5f20c8bd36c36972e9deba4294043302e7b0b6eda8ef8a672385809adde58b08d1812be0fddc3950c1db5c0e93b2e45cc013172896bdc792d4ccfac813f247b9c491925b07adad49c356a2c +B = -24846228bc1853135fd15536e9d6e921a9e57cf183ce8d1ded7aecf16c9c1ca5cfbf6373fe1f69119d400e145b818e7bf4c04352b255caf8b2f908602500a3dedb1a15735d3ea79d5a569899079df41e54c727aa2d +GCD = 4cf4419991947df086bec5d78e4a30bd4b1d77e07c86ab2f04d9969933ae2043d410c8d17a65a46626b81f + +A = -eba20237df851bd3b286bf07ef825c8328d09352c8cc4dfb7695530ba954435b75a1b823bd4bd9364c230e3222ba256a9c6016b4bfb8b8e15e195643cf2865a2cd208b775559810fd8279490d351c9271d0c2ba550 +B = -1dccc6e01096ac4394001b567cb698be61e7b494fe0a36f891c4d00589c36dacf8b6f26344e6299b3139d5fc3456ded687ca8a858c9b0d70896026bf5f4c9d31412b4fb2a80c915f424371585258aac9d4c24e4fe0 +GCD = 1746dcc748628fa6825ab47d557fd756571fc654f1d15c49683f4493d482862d767567c635f8b7eb5a02d0 + +A = 2499134aba0c05ec1d72ea6ee96b55b93f916e2f33627f9aaa21c8baa5996b419df15fe46fb5e0a5be7e01924a3733c24e193064de749e5a56f36a8c8f873224995bb81995b99a141a2616348cf1b344602b6e1f731 +B = 80a0850fee1232e0d25a8d1277a337c3ce4a5ede9cc7b5556361997d9d3927540b42d9819db2d2bd1a2ccb89ac5da528d81ed3070100b03a51936f49d36ed901fa141b5dcefd3d60833caede7d73a57bfbd686ad00 +GCD = 29e1f8deb7125f1a3c7a28695f716fd263b940c4a0ee950026348b70dfda56f156e349ba1f9df657766c43 + +A = ad881d62206c6472e45b29a26ef710df56d60c756c2aba41482c7716ae46495bab2ecc9bf0d9b5e0bfd402357bc77d584b1acea4181733992c7b65ee690a8389204baf833c93eaffd3927d52b54847911057a577fdc +B = 9a3dcfdc21393152ba6e459ae384d1ff79327f1f4b9a4b01db25184df7604ca5d79fd1ab35eb946883c0bd2814d848dc19813f9d011207b252f6b295edf98a9bb2eac4383abc089a48ca287fb4e4dd61aade05af588 +GCD = 50bd18adedd47d38ad8c02c6fe422af0d36cf4e21c5776db651a6577feb776f78f5a6d3b232af7f6698f6c + +A = 29ae2d5e9a31f8fbf46a562f91a630f9ddf142d0d05d0d70d744ce7bd8990949067841ef1282f0c46a6f8f317ada80520807e79704dbe7905615267c0e5a6b4fa3098287a31ee388d753e9e19262286e5c918fc50f80 +B = -1cc7bd417908e40c67b7ca990f68911b409e92bb9daf4f17fa98277caf4f17e4446c5080345ae8f00222a000025e052ed53050f4771f6e3965e53eba1bc2cf4eb28d7f069185b25077573c32412397248cdaf72aaae4 +GCD = 88652a1c65b4d39a683f9ab787e94f49ffb60bf67aa949269956972dccb865a8f05ac9453bc302516c0554 + +A = -faa87d23dde64ef02fb948ff6b75bc0a4aeaafd9418e71c57505ae5461d4bb8b1aa1b16f0835141b3c393bc9a33b39d4354dbcfb5981ebe5bb25c8f60dc21a6032d8326cf7ba8b790299a301b83ce260de2b72946733 +B = -9dbde9e6faa351a69635d71f19f12a0e6a5141d3733ef3728ec0676625faf252da78badea0b3732ab761392d10e5f4cd43a0068235275dab8bf8e01b3b5c0c3b0ade1104aff4200bf09291dea20028e9b4b501d3ad97 +GCD = 17573323514ca4475885584a2f7b2124a2fd13062f282301575448013abb48f7a87011d806964a310dcf245 + +A = -40acdbb91f8466c598c7b9b43a5df213c1d7e80b2a02db487064769a34f9043f5728206b5046419b40177075db2a9d22431fe33c1b37927a3df053d3dfe07e1ae054509c271b24322605c3e499bb825b914a1786e9dd0 +B = 1daa2cefe34bc1bf2c432a810a965eaba1713bd16e81073d31c3dda7cd6bdb676535c197fa8a3a1688086a7424592cc04dbe5fa8fbb3f7b5f2b75064693dabe72e5f3bf3ebe92df24db2a5340f1de5fbc337ae314687a +GCD = 573777efbe5fd053c604d0bee1dd02a58069e89e58859f65684bd0d6e962d9feeda072a381a04eeac1a4f8a + +A = -67dbcb0ac09bbbfc3b3ba85d2f267a9b1b575e24f654d3c6d7700e35357c8c235c0a2006a2a57e61f26a27b6e75b4a24b52772061e0e597ca1b6dc9e44190c1349984ce086f6583eb94e18871e53ba67a104d8cd1078 +B = -bd07c143d44daf6594ea11a3daa8d4af63d03fd8f645b3767f695b243b6fb7e2a4bbabbf34645a56ef3d3cd4c8d56552fcc71d5e2ca334b52c6c7e49d0915f143bf56f10049f653ab14c33339aa701353378d25db7060 +GCD = 6ec53d40d021d1e5760287408ef6faf8243c224ffd7549067b11c1e761c4fb593b1f73dfc7357fdf686cea8 + +A = 3008861931d6034b0d1f03461c2f6a9d0922ca42ee1815434c0ac6342b405c2ae8ef88fab9652d9cf204f3020e6828dfaf0b8786c206c3917c4e0376dc842557dc6f9b04876cf3d69583b8582ebf83ba97f2a49720ed7c +B = -3ea448c66e456d9a2ef90d0d6de765a03da0d9e35c128773a3ed1411efe9eab8b37c91b77da6faa3403a0623e9b5b3139a1065da51aaa290657d89cd20061deedd92d51bb433d7d058aaa18c9a9b8a00612683e920bfb4 +GCD = 12e919311351b55cbe90f45b82cc2153287b8f5187e73897ff1a9c83f351beb71c7c44d8ce68049a101b443cc + +A = -9a4e84a13e7f72d5cdb49a2c0d1b3945887ad4c6bbbb6a43cd706b78b3d4a1de7b9ff563c3016d4539d1a74af1cb5243972fa9402ef4e4f9ab554e4eabb626258cae8d21b928808d0ec8ba3cfead0dee6b646b8e4761ba +B = d286af35169dab0767bd2fd0f20a237e36af16279ac6406c6be3c854d48650e82381eae198f7a8ab8b2e849e5c17bc6d873ec92da385b3c0001403a80103838cbeac51fa7b4cf8518274c99e71949f8756a7fe37e13aa4 +GCD = 1ed4b6bf7c29917b45a366fb793d183a6137da4b073f5c8e5a5d36110b3a019e283a5c12bcdd192207db9cb6 + +A = 2d34eb938434803d004893f7d8f97fa63f5505fe34a4468a71d0f8f88e840da48e5592ed10f9a85c7d20faa3f1e9c638292949f4a1f3e912703054c392a52f63f270738c93369fc66843e970965583fa03f85253af6dc86 +B = 3fdbbbdec30a0479b799de6673afa51d5a8192d5196851dc05c0a0374e357be0ad021db135af27d19d10dc727e4a028fdcede48605316768666a1bcc2f2e49341f5cc37ed90e13b05fe40c991a2eac996cf4110ceb73d33 +GCD = 2a9a8bfb81c34433756dab82d6c6963d9a5cf8bdb8af1c550eaf507fd5bf62c07006719eee9d655a4df49cd9 + +A = 7f71b9df25a07af8fe3111718d4a793c8febebdcff4e6e2061ca6d832f9327fe4cea56bf7cfbebe21c3015eac801054a439eb0b48eb872819ddbca284e67bfe84108812a32e730a4060722f3a0e645619d1890333000c04 +B = 1573a1e80fd037a90033c15e4ff2c48d4209b2959325245f9d18130f3cc68750a1611b326a0f5521f3afa791ae01f109036e1b4c36b269f2d7a2d939bd9f38b53ffb0e9ff5f1fde1810965742869c35fa634ec75724bf258 +GCD = 683b82f8bced2a7bfa3c7e0fcbce2a865c177ddefc11f65d2b3d7cba13198016eb86e46b4cc0580009b17f3c + +A = 28a39945ca08bdb6614064cce1b8bf688e87da127c186ee7ecd2d171f39595c746c6b59dd9cab8c666c68a4d042164fece4819d815355e6539ea4814ef9b7d59e2c78fbc5b17975c58cd6c8ca93b7d9921798583c73d4d86 +B = -48503c41963820fefb00b166bd05aae1e280b612707f1984d33312b644635de00213a631b70f48fa790757d44dbd04921007e5cb33f1938700c1c156e7ff71a171ae3ff288a5ac19303a457679d49d7328c92ed95d377944 +GCD = 7475b638e1797d8b274fe02223ea4c6e9bfe6a82a7bbd39d022bf70c62d25d5886349ba733741d75e07a1a8b2 + +A = 2013deb59bcabb803bf40ae891eb9c5dbe91732c76485b94d407d5df7abbc81981dc5cbe41e818a78725b103ec9a8f0ff5d42b54ddd3fc24d089a2b56fadad2a46d7e32838b7491779ac47451b3a18d08e9f8ca357e90856 +B = -52583cbc2803db21d0f0bfa3615383163e6735d101ec563a7283af6b44d53ef09dbb1c42c5757e3f87171cc639d69ae2d044731c0b0ae0eaed9eb3862e90273ca2a29f56f2bc7b5a82c6f60e6167fc71fed29236d7ccbd2 +GCD = 1dd7211f6a23ebd4475b1a7be1dd527f78fde2321e02193b19622b608449cb7a082f278c04484da08f7af74b6 + +A = -4964c43b1fe8d88c7eee4201cae0318ececfaa7023a1b0ce3092e6eda98b48905d31d9f9b56a1fb1d274cd1e6e32db82bfdd62d0d7aa45b115070a10de2dce0695e8d011accedd05a3cc33d08a2ed4479218ef9cd931b67 +B = -315b5d4d8f2b4a6496be547ddea160fa0ac8ec9a7169b86d6eebf6bafed78ba14920b324477c714e20bfb4bea0c1e1f696a51afa67268130d402879ebf79cde42ff6de511c7d16beacfdb6de2efbb8aaf2ed14bca8f61ae54 +GCD = 349c9c6c33221af97e24d4c6311cd5a2be1d08822def04b01b2263fe7622112f1f3b8aa2732548cc5f8bb3a9f + +A = 84ec2b3e4ddcd5b98cfce99cb7f8b8edbc1b6aa188bccbff82f4cfe3b4271150472bc96b8223269691e51d77e812957c9ca38661f8e30690bbf377cd4e4afe496b58982889859887a64def7e18e11b1ffa9d971d43953bed7 +B = 63b91f5fe04342ddc46cba2e29da50e839fe08453a33a0563bd8ed2ac745035a9366f965b8f36c6dd96338f53058faa5d88f79e48c518e9c0c3daa545a35a41cd87410bd9399741469cd1903d744ed39de9c05d39a0d32bd4 +GCD = 42776770d683835e30e77d3878bbe32124104a354c69b08d64a70e360c992729120d29ac7824b129d9beaae03 + +A = 26d518965fa9c84e17a0ebcedcdf023c53959117e9e586ed76a3ce7188ed83625fa87f97a0e9927678a3cb02334a23f7bf2b0a34fd079d0e606f918d004bf68ffa6884c69ceef98ae73fed4aeb7f3c840cde199d7cf64bf252 +B = 2176833c6789541d22b3acfca832a67817784b2abb9506f040f4a4fabd4858f00abd6ef1e92706c29a005cc272c2075bcdf310edbc3c01de1103b79b09d4d4f12bf6b969834602300caf903cfde16ac7c5cf449452c4283f79 +GCD = 9a1f9f32707f8675732502401caa5dfc9ee2dc287d5200bfb67db087409f7aeee8bf7c0304f41b544dee12015 + +A = 886d4d5c35d30068625ea91efdb7cc9b038d854f390b340235e80b0b35f0708068eb0c3c6131b05e9559bf676dcaddeae8749cfb22c327bc583d40593c78703bd1ba03ae2712c037c3bead163e12b704361792bbcf9c1a474 +B = 10282958d59d1efe5eb83feec1131ed0eded9ad3c2ab1cf49984b602c5638befb07063dbb79738ab5a795b46a351d2b2683da0a2b5cab99447e37f60670d85030758508d3bc3c77f26abd25202fc6bd966d27b6738f6a016fb5 +GCD = 1221762eca77809976eea5d077facef333256d774b7a09f23513637ea21ecfbe7deefd08e957e9907ecddacf4b + +A = -1f4a3f71cba63fe3820bdbc7bbdff8b162e3de997e90ad939a1540f113d5b1b10d76b356c6d2d626d019eecdd5815bec2005db24d8ee7c3baaff0e344a7ce9c22a207953a67f383b4cdeb2fb7c3e61a438d761e8a8f43d1e48e +B = -455a937aceb14c0b096d6c30c3432a28959a132f8337f288516557fd07e52d8d962046636b69015714c73518f593b6912d0188baf570a237e03c21f00b2653edc4ae3f884d3f954123cb34f17ad9116dda176a7312560d6ab21 +GCD = 2c6dca939e19f8420d9eeed95dcd81f57d0781bf48f5f4d59b84a218e5e78f037fa60c2d9dd5af709358fec2b7 + +A = -2a170c2d3d0fdf6f0f661f35c24f4f69acbef0282cb56c3db9c386b36a4d537e1f7bdf560d27104504d3b0d5cad1d1872b4d97b8fab354fc2553dadc6e08b3dd487f172d41e9c23f2d814443de220ffe4db8cc5f93a3f14be48 +B = -ff06d01a83752146521f2079e17c79140b072be9c3d3df0768ea789b21d0d475de40ba426a4a9088c853b728625b5cdce2359f5a6ac1589763ad80a9a071b1c544ef9ce846dafebfbe3b64c85d9e3c5d96de1d8db2563c47fe2 +GCD = 44169f4c6e34f7b29d4a9f9a0f435c1c6af2cdf7302245a29d72be01d081348c8d8644a274be113fa2730e27fa + +A = 155f7f4d80e7b032db3ef5fc181b93ae5cd6cb905775cdc2f80c1f7c9b32f662599124e20ac8a13034e76da268d3f13a255ca7f3607c7cab9dcdab3abac5fe28f8a4c37338fe221fa33faf62f75919667255b033f3836e5b3566 +B = -4664952dbf5f3160aabea3e59d9520ff4225de7ff7ff00962fdd7c6bb472d3412012c4dc977f697c64e51cf1f23d9674e33309266ca5c40b5acda3a36e5e70b7fb6b6f3c6b7a642eeca031a9e871bf382d746bd1f30a8e694a68 +GCD = 16844896b753ec5fc14bde8316e9e3eeec0b77ad773f0a5f00dab25751d9fbf2c9a05529781f85ef3bf20318032 + +A = -b44b0dfb392bd8531489b6518f6ab1859fd8dc1cd2b9c6f324b5d09b6b393a910a0e761cb63d4fed114876dcde32e1e9eb51813f5cc3bd6e9a95481ca5df7d60a90b36ae9f0132cf4ac6a8c6cd8c06c7ed9610bc8d18447be56 +B = -42a0ec1e35639241b56ce518462366497cfeb2d1a484a950f9009b098fa137e46e8447a78b26881f7dd750dc286e09900c58f3cd76099e9518eaca2d947b312bb2bd250a2126463fdd9b9f2a495be66f25c99b97a1808ca23148 +GCD = 4000283af135a1ad1333d52e2f863dc8cc0247452c461c6c5755eaf93d4b4a12cdebab8976277261e516eeddb3a + +A = -3e9cd5ed9f5f5769d0cd65a3f1c01cb0b306ca607865ab362f6ce3cf05d460d320c3e9cbc7ca1fcd5807c98cfd655632944f01c78a9a29f75e9df0b772e4f1c712c572c89e681de93579ee5fd581e311df5ac6506fca3cb021110 +B = 2b7d630e5ef48c414eac856165c1226efe6d6a81be6969828e3e44f4f0e9377cd7acb722b3d71d7130ef9308bd73f592d5e7f4db445d497da50fb0500e3e270348921ed165bc256044b0ff95ba4aab783afbbda491cac1939c0c0 +GCD = 18524fec60bad39231e2e5511832c3d1fc9806e03389ef6c21a3462d022158b237e1f8de5d1d82f1d65af832a3d0 + +A = -17f7c0f63c5f37371e0b4d23bb67e968a55c65daaece334708b401267ec4ef57c0d4d694ae177105f7484172071232dbca01f18c4c905b4f16a2e5e1deea79f57326f3f39b123ca06ec936c22f1d9f190f82a3de0ea509c5e5a10f +B = 12b8f917f1d967cb5aa9e8728e17ca088a33e6868354352ab2c6ac0a7f05d3657e134bc304deb3ab2fe2151a5cccd61a8c9d315b6da7ff142c268fdaab4fad5c91dfb67db6b1514c4b97b1a1fe82fce4d7fa1b7d630d4e2497a0fb +GCD = 60adea3c9e15f93f75231a866f4114020c8f961f87accf77f540b69b886c3f51f3f001ecd243081e7938a058b31 + +A = -4c2b0d32e1c36e6296aa8dbf925e80f989a3974b46ed648bec4fabcf494c14985e4edc0f0a2fb014a2d7e48e1587ecc51ed09b4d6c98a95385b94d8a4051e5adbff87dd9e55c663c0d4a0dce0c29db83516cf6f5b20dd483a44606 +B = -4f9db15e7e8f83254b3b16ef64f49525ebf9989b769504c3bc77b6f019435e387a6685dd4823f27ae486dbff3396f4ef35d8c9debf442d53f6d0ed6670e4b199ce97b8474a88fb878021876dc89beb3d4e101f0353024b89da2724 +GCD = 1b950d9d476d485d68bc2efb1859af9d3b8bd5a18b8bfd7da170a0b6400a872394e25777f338a6bf7bd1cce7659a + +A = -13ca7f56583fcd0f45f1d1b841c37c414dcae69f8614bbc637ac4ad2b4501531f436961b7e880790ea4bb7f331ad2db31e2524793fac7fbbc9446df1e3cee4d6c6364486afb88be29da297f969709750ba88c3c40ac3c68edbe81ae +B = -12bb7fa8d6daf398f7fd13ab9895e94aa3e8b91a81f897cab24b6aa0553cf2db296fa3bd070fbccbee9916199398b7d4832deb10912498ef4b82bbd9ecd5cf89830990915091ddecfe9de6d769d3b6391293d40690917f880b74e9c +GCD = 2ab6b90336298392e19bb820144c441f4b7f2feb6dde96a70e5e7e87ad3f4d9dd1306e35184d2e125174fa601212 + +A = 1be5400b05c3b6c129bc1ff6554913323fe74cba06107c289618cbc07e0984dbd3ede9b4e43fbf00bb0246a9ae480fe46cbb0a71aaceec8faf375391d86628fbc33ab99ff36b5a6dc0df6aa5eda6325a8f52c42bd3aa52373cdd5f4 +B = 7086d1a975093b0ab5a64e9ec40d2f76e29ea125a1ae48c600ce178bc35701843e03de36a9395b2779fe57fb85a543e970edd58cadf4f6e92c9033bca9dac06d64d62f3471027e65b05b1c119649334877ba9fc4e8ea765a3eb542 +GCD = 37fcec1df7348c917c6beea434bcd45b2a1ce061c6c99aef39b5bb430981ceb91dfe0608fe35f2cc2b25c3370b22 + +A = f8f353b051b550ecec2c0fdca09ffda96dc67b9c8188828d5d950889176eede1caf23bb9279124ed65faa874083a989331d4609385a76094f81e2fe0c3e9633f7e43d7da30f5b566a153c6edf24718903c19348424e8c426247de12 +B = -359189b51aab04c7511d9208656692959f1f995baa51ab1ebcd1468bb50f20df29a9cd7360feb134d157054fca271814a89e79d76166a4a84870c150360005766dc619ea33332b850801a94177c035b9cd989206700231da3c1859c +GCD = b30520c708db9fe43a9c520140ae61ca8dc6b586333f44e4004eef28ac51d7aa93415b9136ce194b75e4bbe5d7aa + +A = a71d0f5f83bcae29b0949ac67671783383dd032ceeb501eba447b6a1382a13e1741e5117c7de63c66b132b035d82df3ed9f03a418feeb8fe073343690b4ba655c6fa8ec5611dca510c056554327dc1307456503ec1d33bdd02a5b42 +B = -6244dd7b23f1e33c407c89c39f0af31e8577a5ad50ac44735521073789faa780c7fb1e644890556d118170bdb463a4c739154fc43647b693a96ed4231f57067b611010fc6a028b9f88704a167957622c6a5204166709adb1517f59c3 +GCD = e42f2bda40c5b833e518360460382598ba653abd85bd2cebb08cbd0f8d9690a5f403bcc3ceba6255e846f735b4cf + +A = 1062ca1b121f45fb4ea09ec5062d30174b043fa14b04ead0dc346bd81e60eae87c6a4a416f16aedb13845a91db112fa7351b29f1a979e423e79cf3fa9eeee32baf19b73714242f84fed3dbfe2708d9b2c876368fa20f09f257ebf62f6 +B = ecd73a16ae56f347e865287412c1722c6bf1d691ab26c7ac73c60fd483817015e325b5c18d1f370ef635ae39b0f504c5172d7bc61628fecb14726b4af5da6de0385cd9a53697382b786f08c51e1e3f161053750dda0338184a24926f +GCD = 1107cf4f5018fed248083ec145d6959d2af23e77d0fd4a1d335eafd2452ef9f2e11da5dae2e4cfb5cba7c2edd8ad3 + +A = 28e9c26e11c84f19e26c9f72cc40b86b4d612bb5bbc8677de54d48d7bc35535c3ee84a8369acbcfe641f85aabf8a539c6a0321cdaf2d104871a9a03e02cc5ac0c72c3ac5e22251ed33d1f76937a6540d3340f9787a1a44ce3f414f66b +B = -30b28f961c2e96c7547973a278d06fce9286e0179a8e047193a9214d3ba27028a483a398698d40edc24bb75cd1bdefc1e57a0e7e15a34429b85d3914085c83d5b9dfa480840a50ac89977aa93c809d0bd8913a2f2b083172f978d9955 +GCD = a8cb1d6827f9bc60d2e7b0532a430bf25d809ee1931aa6e767cd1b5a8056254dbcb54c8f29bb840356b5330576cf1 + +A = -bec4af5bff53a35e8276575aa346b3cd54344fc4e141924c0fcc3714d6dfef3766b39ebfc2327e55c47648d2e335aebd02ae8cefe3c701bb55467530a99abafaf3a7cbc2ff3e5e2693553a01a3bfb3030de9994178f2191d9f26a8a14 +B = 3b1fc9bf2c4faa4573df2ea913e2277dd2101436e1a7a74621aabed4c87a91456c9e52b10af2617f1f68b2ae3ede795c07af61ae2c8241ba7d75e01560bd691d24af95ad1fec89e80fd81abb938b150cfece785d6f76cbd9249f8bd50 +GCD = 1e78ddad371ab2e05f81f5d98ff197d7f886c0371b0d113ccb73abe2c9b18dd3a08f60134de5a638b08791803132cc + +A = -187eb572a45622faf1906e52bc66d24451ed8c16132bd470c0527ac5c26ef3e50241fe2e0b8c162cf187e3351e6ac562e1ae2dd0a4bceaa2ce6dc58b11e601b91d33a098fad4a6b96dc7be83dbc90b60a42cf853f4fb0f500af2efe4d2 +B = -2de57c16b9d8c46bade89d1730a1e332d731c47280a1bc219668f1579dbb07bf0cde72d559da4dcc28c24177740fbc21efa6703c9e277a4fe818f39eaac75c2450724f7db9930b1d460a7f15fcdc32b1ba6f692277d3305cf3a07e663f +GCD = 86172e2a3a6a3c5bcfdaae14f224ef060f19d9f4b2d51167a1e8c23bfeb3cacbff55364fc769ef4cfe64b27b2bc57 + +A = -4b9a74706f873c0e7dc05d45f1e8f7dafa27e121ff954bb9aaf104ed2b4b673765f8008ede0d509e4a337bd6cfe41d8c88d891f608b5441bf9f0b19af45dfe7a6a7030e8a17c24d16fa58dca6567f79ec34b8a7c25f3e66b723143cc0 +B = 43ac404d0f16e69edea0d924746771f35da74ddc85a9cbbb770662753eac2c11555037edce8e510623ae561a638912ce0d7d968a8f6938ee20e730b156311cb5f906d0f2cd080815c15fe6789b0bbee3db720418f2e85c2ca373806a9 +GCD = 1efdf68ee94dff7ece65330df32eea3a737a724299519277ab2b73f3fed7200fe8705d29ddece03f0064037020fa7f + +A = bc6595be248d4ed48eb911e7d6eae643f13a076c34aecd35ab4b19f17401a117bdce2a4f77b5a4b70f9d8fc4e608835d8d82ad5cad6921d01a3f9f618a8c84105f46f2f344ab4dac2a38deef97dadae519c1e3202de9100dee6a153f8e +B = 205615896afe769ba625d60c5a7de672d00776c685f7d284f5d3c828d231017f38fdc72d7492cfbfb8022b07251849b4320c3814850368a9a1e57d8ea6751cc08db1c8724fdb3d325e3d4179ec49767f36e8aefae4a0db43c551a76ea52 +GCD = 69a779bec79fc59f00a03703bcdef4a9ec6bf77846d03530cf786eb5d6ac78b67d99600e8b61ec2d3d9c65551699ae + +A = f07939abace11b47c69e9fa21dd4b024a6299d6d960e5b833a3dc61f1f8c6020ec9c091043162c38575002f4fe44b9215ed98d67bf5e94552de076b7ae28a00812b1f3c0c4dde10c25a0c7f3c4ee1cd12838e454641457d07122fd49a97 +B = -56df35868ee92fd91fa70a89efee7ef71855488f4d6e78b6d298be2572f5a9747213216a41a7cecf061699c6ed106aa713188115fb0b316d91e147dd4cc1da523e1730c49eee73926a8f9f417be8cafffcd7db50f8a01e09a6dd0fdf0dd +GCD = 4fd633cbc3e9d190a659c7041e858627765ac3fc9b289afea7a7f0d3d5e0a64a1039e24105e8f385692db1880c920d + +A = -48c6a705b62ad1fde4bc878db156bb933698a60271f685cf8aebc0758251294a735e18500a125222a4c94bdb29d9ecbfc7c9035cabaeca2021cefb67e8116574105309467475acefe2ca0907dc74c9638383cfdba9a96cfadadbeb75a86c +B = -2e53ec4fdbf83e5a143950c07006ac6fb152f7d99ccaa884ba3e1397f7cfa346d22c8e09964fde376ed601c0b8845b338c595fbf08fe9d082ec409f43ea15d48a35a347959c30e7f08017f3ddab3a581953b2911927f5f2897fe8cc5f62c +GCD = a959e0499771c520193a6ac4693ed620a1ba165efa7ba4b29b7e5f7818c2f4abc0ed1dbf04fa9c4463ab73af6e2cd4 + +A = c2f608d99d0e913b61cc29633b0a9a65276e9d4fbb56e7e1cda792765a8d85464a051c176505cfcfdec9015860b0a0768a6d2f4ffeab5ad0cfad0a071851fa0099ad2c9dec0d52295ec4bff716575edc970f2fc10ce665b2550b9107b840 +B = 1aef2f8a8ed8954350d54082697191f638ab098a18fc5aa135183b75430c94184072c1220484db75c8215c7ed0706867f0a00fb1e2238aaa0abcda47df1f04c1ded288ce15a09e4ab8f734bb832b16b1c3ffeda26a5b6c86fa069d8936000 +GCD = 199d02e025adcc86b5f7ea830740859380c491850304c066fb9ace057b59d3a01d41af7e84d503633f66e6e36116d040 + +A = -70429b7d2ea5eeca53292ffa80d74d73dc08ce01c1e1369fdd683f14ee1f507f6f6c2b7280e85fd5e5d84cf50a5fea1de52c7bc95fce48185a47d43255d94e519e8736f96b5563c976478f1894e690f43551ecb477bfe6ccd0e5ad9977a0 +B = 14904d2a8392a13efe95f3620be8bae324f485f29806e605b4a22d3995a826593af291b34909fa50a227635948d319f26ac21ad1c81a30fe880a6c9e60ecae35e323e48a18518522922f881cb7417777020753d07d6d60116ba3f7a561000 +GCD = 2267912b74db239e19d88ff4ca8eeb73b860e5cbb2631c1df16c3d6ff12b1d6f55c2bd693bedfb8f4ad36b324adbea0 + +A = 7776100db14f0cf58ce1afb8657b72d8f0752db5cc04f50faf2ebf110d93c5744a24044aa8dbc32a0b83a6e90539be8f2a6a7cad132d5033dfdb054d3f7154b5f6050e6673ae99b0f1d801b9f75ba2189402d84b3c11b0d112ec2d667b8c0 +B = 704f03362ac1fe7ef4477f7ad6005f6b718dae79a386508164bf52d47036fbbad0efecefc4328aab3c306ff9bfb44210f246e084eef76dee97b7027379e771e4fb861fb838eacd2c23a2705b877e337defa5d57492a8ab2590ee98b3c6800 +GCD = 4cb8921bb1ed9f93e7d60268cdb1f6bcad4dc4930bbc78867119313164d35a42f8ef169d571402758494240f08a6c40 + +A = 2f490a067678ba320d0c3763601f86df9cc3cd54cb3c80f1cee219a32a9987ad930a4283ff03d4171c89acfb6b90b8c70cb82013181779e631f703d75f822670f1b74fc114721334adecaa06d9453773273dd162403f1ae4aa2cbe93e65c51 +B = -21ab4336c50a8fe382ca29993192af58491a81120b8ae986c38e0454e55c6ea30d02135ff4d82319a7dbb9b2e9d113fc0e7e3449c9920f6544b35ce52f3216625d4090954c30703df50fb38e0e75cb4ecd5ef2e17ced3c27e4e68271b8c73b +GCD = 9cfbdd01f4970c4ba2590e78e2161e64e0ff7947ca86c0b897d92ff8f6b4de5570df504bda6cfa506df523eb66be3f7 + +A = -611c3b6ba26e07b3d37bf994a94ab0abc69a15c9f1b649bb8ed5a4ba4a6c6c686ec72e5664f503d6fe20b10539c8ace71e63904053909ebe045ec84ba639b2228965127ca022a5c6c75815433cb05c2a0e29f05eda3cbc81cdb59fe09fb215 +B = 10fb4231a147ab1bc2a5e82e097b5c62b599420dd1e803e9c09c284e1cb3df653904e1c791a0ec19c6aee376f3297fb6e53e02c0ff85ebd0c63962dd60ed8abae21ab02d8357279dfc7968a99939f12e15bf558ec41a9e4cd12650cebb9b124 +GCD = 18c888131cb1ffc06fe9b0e805215c8f30c72135342102493e8242096698623ea5a5569eea2565b87d33c3b5270fd7bf + +A = 65b9557e5e30d73f22b7974963507687bba687e1c3d5f044e2c41376b3c5999a93262822a052d093c680cdc2a55367e17b40030f54ab63f101dd5a45797c4e10d7277f3afe0363356c30046fb1d6ffe68b52e160474b1b7a9d19d354fd1ffec +B = 5b6930e5790e299e721353aed2d7dde3d729851568ce017504e162b4955cb7e0072bbc68d83e79f136120a0598fc3394abd7518a340f03697bb0498d047bbc4361f37928ec294033789c31859ec7fb15c0dff482c3097cec2ceaf883da13970 +GCD = eaee4f9859aca2f53925dc6b1212591de71a573b07fb4b92165b803c173cb9b0577776b24794054c13dd327949bdb2bc + +A = -af52d8577227f64c4dd76c35ad05c2b6828c59a122794387c20dc9216f6fe5ea9cf9e7fc4ca8e47e2be52e8e8e245b3998f7e03f22cc6267270d386bf4823c8c13468bbcb0ddad017ea993368bde3988d7ad2f5de1590d9870f481b13673cc +B = 9d2d9651b7847f58a7693d41224c6d8360d28e115f8e9ce8f3db541f460f97acf9e1f0f2e72e5956e8b3474e380ee19e58dc528e105547b7edd53fd7ca23992d3085ee1e232ae12570453ef3f0741ba3838a4d0fb5d5a8c249b8de8601c0be6 +GCD = 7817883ee1cde88f0eeb1dd45de78eaace94a27b51d82889e6ada013a5620b2d3a8cd864e34531cb295a3b3fb8791a1e + +A = -2d1639db545b9ed6cce5ac24bd9acac4e3eb8639d6a98cf7a6010dd760caafee22f45f76fafcd33ab906e10f10eea3182279d6219b47768407283fb881381b669e4937caea374d5fed66d22ed91024b4cf57907db816566154cbb8e73190d542 +B = -32e17c2e843f232a911e3a40ec94e5ee3a0af39f179a15c1ab05924a62ae4a4986e0bdee7c80782fa61f8bcdf34f43c69f6c78d94b59200129e1fda6b5758e5a43a3ce6ad1f36f2bfbce2ece7d4f6d1ced2dfe0b6d09422634515fc6729b2924 +GCD = 2a9daaee9085ba42c19f6a22ccd4bbf2844dae3c189cb10abaad899083855a89fd5f03e0fc9a29c173c171ea069e52ec2 + +A = -c1c479bfb428d27fb8d6954d614d47f49527cca253427601c6155f6761051d19a1162cffe12f7ce789c142b29250f6a1adb8342d7822eefdf972385abaef7a9c902c020a311a0e3076f3c3cf9dd262af19760783cc27f61369a5032e59a3db4 +B = -14b799ce82150daf38e7287f45582aed9fcaa7fc515e9f15be128fdc55673d5b87140a21f8f4d88322a9b7a8821435c3fc0d40685b78054fc8c230f59191ab0948ee473c0be9753c7d29698b35dfef2b23def672711b5d7e786c595d9d8c0e8c0 +GCD = 30ad136811b362f9b8b222f0c548b889c6d768675161a8901591c5f7cbf4668532c92fcc827b45db804d508609ecf512c + +A = -9dfe5e74cdd9b5ec226c517dc4d2fdb1f1ca900a6ee86a9b391e45bb9bd6dd0811155ae6287b317177eb3a38eae68d135950cff06c27673778de136c5f831dea56ed8d8894017215de43efd5b6b5e42bb05e30bc4e46e6d647f7fa2ecda800c0 +B = 1d5e6872abb66331000851b33c2763476d8be244ac2e0a05c639260845154cb56a03ca1cd63829eea2101e1070a9f53b28429d715d62c85918b628264aae7c9afa920883708c14fca8e323a7465ebfaa0d0aa2c3fbe542c9cfa6f1a07ebd33280 +GCD = 4d2957af237b577df31fd8d59756896856254ec1f5d1feb7422e5a8fd95dfb4a9211a21dbe2e605e291087e4d1cb3ffc0 + +A = 2336afdde64618b3aa7f34c6f31542762d3c55e8a7dad8b5705390ba7ef61619930fbfc4563bc9b7b6ddc55fdd4ff686a249114a86e1893bb4de0d7dfe2063e99bb806cc948180b8d798ca52b305fb6b71371857d8975d8a45065e25431be4114 +B = 7bb159b33a68c83905028224a106f46622e7256b38591e3ee4201b171f1a945f9ec0e0fb739544093527fab5fd17244fe07158e348f29f9b999c428ed972ffd6569011ebc68f9007b05a677ccc00f001a0079ff3ff0b271d513071e830b59e36e +GCD = b0143de44b85277123fc1331468dcfe2117f4bc55c94a02658b12e48dfaa2710365c5bbd650630134ef1aae30553d582e + +A = 5ec49f56fe8598ae1e816972a3038e5a749370964bf2a21f0d9079863b0b5407eccbe5dce3e92b1de5f096e590edf1df89df3b5ae5b3e4c3aefc9fe9d488a406670c6a41ab764d01e3eda97036dc15287d098e1e3cb808c53d68900b3565d1a02b +B = -2794644fa7d9c5e908708cec66a4d7a091defaa12f2fa714f7a73e0c364c3e28a8df4b4376f54a8d59f69885305038be2ca13847dca01035a1a8bdb32fb71ff42a25f360bcc2a1fe59d7dbb8fd2ca28d5ea5e5fae41a96f351ae9856273744e8ff +GCD = 26196015aacadea54dd1ed0b60bc37a032aa6bf40125917ac14898aa20355b03022ce855e814c32e5178b2d561a7320771 + +A = -581b46edd0b15971e75506fb2040d96c3d396fb0bfd54a1659969495b9ce8ad68a71a98c823e587d97f5ffb4d40bdfc4c962c02af7d04c6912ac8021631d82a0c3e3aca948152c43493fcf2c5fb2caace9f8168f3e6fa8c277794fc2e225d9eed5 +B = -115906ecc3f3058f9061b4a74a65b7720adef86a906f0944eeb042916e8ed6b77e1e98a0fccce8768f9c0c2b34268b61a0a0d7f9b9035c4248136310b9ae246f1bb5dc1caaf568174a5b8744111b793625a02a02229049da46d6fed5b70a9c9bbf0 +GCD = 1b7b7f51e9e1787d361394ac21dc5ea9f8b72efa0a534cd93efc7ff880385c3c25f6e8ddb6b41799e848c864a44fda1807 + +A = -660a270a9cca98128692b269c097542a92a106c75e7775f04224fc13b51e4628d75a00257e9dd5bc4342bfc3a4b781fc70db8553c0965dfaa91e0418e6744d515c0c6f35f09365b6826c9f71beeca315de79aa983153778f70b4e1db4397b9c14d6 +B = 56bc03117abb87d9c4a85098651fd1a3f03729fd659c813c4f7ecb210b937a2b9da3c7a6427748aabae02ea838cd09a2cf8219188822dee3742ae8d5c93ec00465c9f641a8933487d21dd3c4bde44551df130c0cc0a7bb7b2ba5702571d98cf5f29 +GCD = 10af9a9df8bba7e5ed132105c126a9d650b4735839da049bfa036e16df3677a19482daca70cac49d776a7e626b3a917612f + +A = -f5069680be2bc9529260c9d279116d273a97fdac960381d17d7bcfe16ad2afc06f88f625d1a31a58813a14857e74f006c46020c0da12b0d0d225158d15a49c6cf41f5b5890aa861bf4d44c0ce75ea1343e0f29866e7b74b663e34097ccf68395eec +B = 962529257f52161d87ce6d6b0076d3414b660b4234434f8886bf5b044d3b6706207226c0e9f8ff6ec0738d870ead355b00e855ff07baa3bec793b79af8a530b172b4b6e97411a885f2d8ab859dded8b9ea9abc50440f5e7145df4e1e00af72fbc8 +GCD = 4fc34029a1d7df4aea092502b3b4813822efaf2c4c91f9ab716067edfc9e7a200ef307f0942947b8dfe2efb9b0a195557c + +A = 4f5d40c84dc43791f53399250623661528787a609c6b3fb0a1ca8db344446d27071b768191e72ddaa74c049f3b32fbe42e9790887902fe3d93a3eaf2c1d9db2a64090322faad9247922db0e96ef16c99c5a8ce273fb1d13b019c3c5134ffd25b6701 +B = -34d12d06274ed528785d60e56e1c35b27478e907fea092ab4b5bd539202771ade58b23f08507dd54365a3f1be450d5299664915a3191209968f8b87cc048578fce74c6ef755d11f39b90922dde5ae8d0b5fa973a24c7950bfac57ee88b7dffc0a7ef +GCD = a944496417dfb7bdca1384f396bae1d188e7313982aaf4d8d7ddd8c1628b237d0434342a35876a965e95f9ed12de149915 + +A = -d6388ed41cf345a5d4a99275492a6a9210c120f102ef5f07e1ad5da418d23d81ea7d4bffabf279b8644962b620fb85600c6aa10e70b91ad3719131299c53bdbdd6aa90d755c4a014abcbf3f01e21d550428d3dad2f6bde1bd3d4f9b00f5b127ba801 +B = 2ae4d11a437dec66ca7a5379185057dd30a38b157f0782b3be73a2824f66297ae22811c6b8d1716bdf2adad3e2de46690abebe39504be0281f5f36de29bd36166073618027e6ec8576e76654b58f4ad36fd93e2f95601c87af454a1f37ef9eeaf32b +GCD = 12c5077cdd9cf58d1e906ed7d6147b671ed006703bb615c93231dd045366939429ccdee90f45929c5a52d87de6cd9ef9539 + +A = 2e20018e6f49caeca16b018b47accabde275e7e0e6ccf0910382c678a80af882dc4825d59237740223943c4067fa02f587beff484782481f3d10ab0fa907d8fd2d233bb0ce16057db425593f6c52a9b4a0a2a8974b36e89eb0cc22f6e72917422a841 +B = 4948ae142d762489072bd80ffc647fd390b52c85563294985f7a6f1397f3646bbb53a2d6ffe21ae9a9ec12d47b35732db85bcaaf979cca2d08b2bc9d74996633d015059b208567bbea4fefbc5fc566ab13288c01b47167bf43b943daf9edcd43c2a80 +GCD = 2717fc7e8faaf45f7bc651fc00823c6f2410505713a5722bc170814d24ef8a3682e5a2ebd2afbaaea0c84bc5486c0742b11 + +A = -327d55aea1a587e4ef04b8c0157245f845845c4ad0b532493231149eb243c608bd8bee05c743b14a044c7c55514c5d2a5288bf96a574c7a2686460caf1f97a510fedbbad526d4c478ef07e478e54b4ec6ff2ad5bd05c187434aa41a5847c6a9ea62d1 +B = 95960fd2cd83aa48f7b294d2f029e1c2f4c915d91a99d4ec332b453bd9f7fccdb2d46955510afcc9ee497bb8560d7bd8286d76a5dcd69b357e373a960e54522fa9e576254a728511843fe372ec4961367684a147e9ce193a19d845b311e65d6daef2 +GCD = 45e4931dfc4254446bf86dcb3d687f2eb26e35a01be02e80d54106555e8601e4e2136eab350f4e9c3cb904c97c4f66aa93b + +A = 2b97c3baef4aa2dda514142e8139747da67125eab065bf463a35817d6e2e6f7fb947f1c845238e041727802460ec5414a2a7b658b051e366b81a53f7e860ec0fd0e50ff32f6fe1f22cf9dd59fd966a23b23e688e1cdd0558babd9d5e3c30e67db53f40 +B = -3cfd9e9da52a720e2cea1a821e3710157ee6b1c3b2b75871ad63b3d6d1d1897a46c2358c6a256a423afe4c52ae3c6325f0d1d921e4c8d43312e18666c3d430e81d3814f0ec1cb56e42844fe5f6e4e64df5ac54453ddfd327662babbb79df125788b19c +GCD = 144b29fa84dcfe98cd20ca9021a7b551beeccaf9cb6188d193217e5b37b27fc16c27028fb42537e61f64e99435ffa548fdd4 + +A = 1051766a66052f6b8dc88d645b5ca03a98430377b4b72ab65591d751c5757a9b91b9dbdb37094ad2c19550d6cf9af5cd3833d5f69d2448b6f3b3ababe94c19f6a4a57c01bd0e1acae3b32f44afd5e7d29985d624762381112ba8998eb4774de610aa160 +B = d2ecf0aa93e708ac853c8101ee8f0f590971d5c53fe7854b0d443c7f1947c655266766a3b8d6c17f196885b4788431b3df6f0cf76c5ddae4524fc25a411a18ae725054fcd73b634c5487b97eda9e45204c57ddf3ef4e783e888adbeb162e27a2f4b080 +GCD = 3ad165ea0ebe4c834675b9c7c33b6dad0eb27d625097ae7fcaec60d752aa06fe7e9be1dc0acb11d0106a424b150b5f4320e0 + +A = -154f2f847b731646cec8a03643253b8d6c2c6c3225f81ae1b32b6e5be9888a6db719b4d9ad44c0d5b99781510be262052c6187d48569bdbe5ab9c3910904f44f30f8e43839340fec28c51430bfb03d6e6a9873a8a9189fc84ea4aa9c751b33be05e3fa2 +B = -d11e4a70342a88d4c41882bb2d0bb5cc311be50025f6005a44425a1a51e9c1a99615c4dd7e50507e32fc3ca0ab27351dcf9f19c9ee6e21c44784711c84d6b62867e613bd791d8bb6153ab54e38889e0d03a47333eafb43b1509add41ceb22d088af660 +GCD = 31ef02883c4513704a30e2f6183be889f67a80ce84a94cf1158a2a4dbe9bc270e8ac21cf1dba4d494fb99fb360c1b37a2e86 + +A = 95637d7294f9bc9217d2bedd34d088df3ce5c6d55e84bd0ebf6a86200b2837be8fdb686b3f5c35c717574d81d2aa2f66ea3003aa735661f5143968c2bea8f130202783662952fdc676ecf5414653f6dadca22bdf681daccfb24688c533b49f1855c23fc +B = -b41a788caf2de25607529e4981ee9c111acb0f305b27319cfd58f9543fee730217e19123847fcba0b4e34bf48c888e3a907866c66066907d127005e4151d12b7add77852a9d787904a88c4b2f188e5c40620e9e0a866f3bafb61dee67a431e4e69ee402 +GCD = 72024a5650fd974263a5de8d42101c0c0770ebed51f7ec4b452065e023a3cffdb86acd15f13ca55e789204abe44f6d544156 + +A = 2605d50f90ffc219efca5a0b3eae84c3977f8b0c7c3b90f7eb8f27b3d2de3b6387b57abd3efd699ca6776c254806e5a2be5f1f260a10e4e5fe87025bc6fc3f72044fd04e61bcc61ee85157b598fa1b2abb896b82481739b91bac39dcc4345ee92e55ef24 +B = 3cd19af2cf7667ca153ee67e601fab1d660c92756dac7c51b3cbc3e49ee1ce640da8722e0687e9cda38a4bdaaa74583c7bf308279d0329b5ae0d182170958f8aaa73439f5d9c8a7459d3fc75874fe9f084884a66548c7520cafccc9bfdd367b266559584 +GCD = 876fce900ea175fb034d92a1c883370aa4ca3df3ecd133fee3ccdf2e7f5b35ab0754cdce0917110600146639c1a9f862bb64 + +A = f64b7603fd1207e5c325a6728f0a08c32036457ed9b2d70022ddabb38f6fd5ff226cc788c1daacdd1567917058b510e9b4dfce12d842cb5e32209bffe7cd28a6b145d4e29f834f18eaf6d77dc2e7504affd6f56a0b8946cccb274d9d194d226041e9310a +B = 1154be1e8d333fbc45ccefafa94b98e0dff121851af3dd0a8e7cbd0a7ee0d17e39fb2bdf8f9a2999df47f8cd68da787630b60cd23d24bdd4f2c7e3fe0afb61214f7b2942619d9336875a18b6ce2081bb831972f421be15a9974fde93ec347f5e6ef8df016 +GCD = 1fad0c628fdd1b9f098fe53aeb498997bc5984f7bf35ada4e890cd9309613b81c5b7afe331dd3f1e26b24c11ced34099c94de + +A = -351e40a2cdbbec70553e013e0f6f13dd24dcc19b6815329dd5ce63328f4d76809c295fb74608084fec0f66dcfcc7d82ac302764544533fcdd8659961ac5049a3ff317f3222bb46aba1391fbc7a0fc655a3bb81e16b362acdc9ddb152d0bd6babc49df93a8 +B = 5246b50e2f3c835c4b15589ffd2af75a49c6802de112b58ecb2ef6653e8107357c992e943a3f6252db147858e42d2092a9ce9c1a1dfef0782b48faec0ad7e614dfb08e42a40ac1e74ac4525eab4e918ed4c61457f7d5e2ec57abd958fc135f3ec0e6f977f +GCD = 29b7ab484cd02e2c1c3c4a495abe3b104b8bb42b1b20c3411a30c845e2a679e4749f3806f47c6dde03a0ec228d2d46cfbc0d7 + +A = 23590a5ecf117c9786a73d014ee2a31d9930968192d6367875305fa664e7fa3a23f2a720103a62356825f3ca54ee4b5ce9af3723735dbb529191e63e4ef7cd3e795a8c0f53e0ff52f0cb43d1b5f3a08bf951cae5f9c04b793b9d37f3b0c07dc1aa6c0b696 +B = 8c819a7a35ee2e5d47b6fd74a5a0217203890a3415c11170488fd703977ce5d9735d46eba74e141cb2aa5bc8e2d86fcdbdf3a5b4e299203948c587d214827a7329f388a20cfb9e7361b23fe2fd2edde631158f757453b39e087f74d7d77eedcc6e41c6036 +GCD = 430bc8b6324178616c11aa7dd88b440c4820ac849071defc385f4fe41595af29985690ee81fc06e6fac4d5e96a3e56c35ad806 + +A = 52850a344bc14d18a758b47042ba3d2a8340f93612f94735cf212f4fcba92873a2f50f9a5897ed17dac3b41b584435cdfb674d8b902e46c22c361ab95c9125c3d3d2e650cf9326b92103d3fc0024de907561a0e6ecfb7cc2dcdcfe1ad4a08bb1ed9f93d07 +B = -4091831cbbfc028b8d39e56003f1128b143fbb9f662b9f21cf9cfdaaa0f237a0767df5d249b384d9cbeff6d18f6b3547275a30f95dc214d6cbd5a2845c7abec9486c47c555e06eef10db56b5f9f1fcd68bc6d34c5458630fa94aa34417de5ec1872ecba18 +GCD = 92b931c239eb1afa212ce792362bd5318a5fef55543a219f9a6c7050309cbf56ffde5b0d38cb8b0bd9937ab621e617977cccd1 + +A = d7cf5ba09cb8760011b38db1fbbae5702e831643549b393fea88b0166a66b0bb648adbb605051c6dbda8965ff62da60ae2869f3d6280517c5b94cc49244a2d77c0c29c365b7543165f6774d5758aaa4b277ca810788fa00a6fa6b2b9d9f321e651bfd46040 +B = 47ca624b0e6c4e0cb1a874ff8958d07eda4318a21b2f5ba92324d86a5dd303153dcafffcd780156242b814111039ef7d5892b25650328fb305895c3c275a373b3c58eb912ee9dcdcde7e9f68110be97957ff9db4e58856ccc51701a9b7de0b7dc3f37fd910 +GCD = 113f3fe13bc4a628375be0ad05cc6d331c6fa91ae158784bb60168ea87b644c4b5996e916e3262a11e548ef86649597203ead0 + +A = -ad26371e8bb2e5ebe46e4dd365767a8e7ce09176046b2d55eef959e593b17c1540baaf036ceb644dbf377a70e7e4f95cce5fa3e65b2604b02dfc6902582d73ae0ac118708c225dea76c213d8560f9eec160e2e48b960c1b38b9f1ae1d726d8a6c20002690f +B = -146b5a80ecef3db0af23277b8498452ee778f7eab3323da323c7597030d84c0b6173a205b33ef160bb92f7dc1f5d74c502b44c21a5ce8b6564af44867521805fabc3c7a3953b85ec4cc7d4d3ae45a760929ba19a24c70762067af33159006fe16868eb76b8d +GCD = 2c3faf7a6e6911a181341b9a5da00ac41a4c12bd331081aec409f0919af60e6b4913f0157f1a7477be6fbf66165500c267c8d3 + +A = 11414e2ab4abf6e9bd46d32e1447726555ad1fa1e6f169c27e674351e3a778f6ddf55f47fa8c850347a45cbcfbf1911d0e2bdf148a752a1a09395a52fd8ab3214c268cb3ac7bded4fb132573b1cdb0f800e54fad33ded373abccdbf8f48d6357e6539788b640 +B = -9085c12741394e6ec4d255ae74a7efad1017e193786ee6456f8a33c929c34abfd220c09eea0e4352ca1a2d6ea0245728d37b8e803050846364d255d1a9c6bd383ba6a1688aa06e4d66885ecb4d8543bdbc676ba5093e4df92f3fb43f69b71dad783d8014a0 +GCD = 78404ce9ae13cbc329fdc0b307e4bb74027f21b2f885db34aa64136568dab7692c7ba031d2fde8fb0babf2a338b31e3f0681a0 + +A = -497ebeeee15a0776132c177655fe8ac2fc2a76a9e061626980ca3b20ba64d987798ac9b50087634b8632e8806783bf1a4a6aec2d151b5fbb329a8e05986bdb36f90c70f8697081de5fb1f4a3b9329b3753b94e68340575c16ff4f980c8e2a09918d2c9b954b6 +B = 5cf8e34b62528c880dc9c76362af2f813452222190cbfd0ceb3236ad8f00a9a638f148310e82263db84e21eed54251c01bab14b92366a098f32e43d842ac33eeb24dc46da5c7e4def146dd1c6f282f84f3346b7c666fcc6b24f90053f82a091252ed90ea77c1 +GCD = c733511737a6264522a7f4ed76ddabbe4dd09901cd866d31630c0c7b4f62a6cbe425b4b8411a3877a1c5f43c421338d9927935 + +A = 94772a01f39364eea6a231544942189de82aecdc1cb20d984e752880dfe73fc274ef42116e4433426fef89755dbe581fbc264696636674f860da559649db26781c0e8d7fffc3bffa771bb3a9d51158e757f566428d4ec3909e378d55ae63f8ca510fe862a986 +B = f9dbe9a8b1b96ef2178b3ac1c4860c5d809c278aa620111cca122394485caa7d38406d53ec699dc7f740aec2eaa6c2157c53e567dd5d183eef3aec9ebefbccafdda8df71b5b3ce40a4ac48c7aaa6ed3f7197f7f2690ffcea902d63e5189c22e4c72b89c2a2b0 +GCD = 240d217b3c1e749c0baf9f987493734fdb84ca6be82c41c2c120683681bcada315b12239c5c68f56e7153835f8171dcd6aaf596 + +A = 31697f0876d4c2889d2a47f45dee5d39147a9673df50a56f374c0f32592df51b7314bfea73c4dc51a0701c5de3cc6ebee8ccbfd3104881d8cc14b978fd7c3449d3977015f03b6bdb29b0430768268ace8722c12bd353f33b305a94fb54576ad0693852b11618c +B = 370613f25e7588ccf96fe08d99afd26ac6d304979de48e31ae3916745410d65e688db7bb5b874400bab273d0b745ea39703bb5c75452ea8245b4d430556024bbb79632acfd748d7aa4ba60309d9700c720e37063825ee9491675d0720882ccdcea8a0dcce5206 +GCD = 21319b80553e8240201e98dd33eb02cd2cdc83a81c8fb0657c929da5cca4a6a63627a809e65b37c2f116b0688098b5ce6a8402a + +A = -289f13b51b3fe125f795760192631c01f99fbbd14e124087f363c908222425864a750782c855f04c0ea400214f5dd6d8448c134b799a8cf38776d3c5cf70090e8d799b2d75c109f8bb284bc734499e03351e0421f95d604f142c387ecaf68eab7516fdd03d58c +B = -8deda9dd77016fdd20d29033c3c9cb6db1546d631413afba6e95416789ffb457547e8b21c26ca9fd213f9d753891e66ebe9896833024b9a55d0e4381d73ebb62ea2dbe4e068b8157b32ed9cb419c13972f80f845807b21995265e1944556410b8441323fce3b4 +GCD = 5425a4020f886d8d4e86dc5f34242031f0abd5eb08757a6f111cae901c3630a18dfb4390029d88009704f08a3177be20e708114 + +A = -173d7ba64a761f8b717cdad3bfe22e55748c48404ba3fbef96dca11695b8d15e36b654be5b305bf4bc142b0d9d05254e19819805233fbb48b92a82d97fc61dd16327a2dcbab280190af790b7a885f7d49edb90c78bae20c162ffeb8e95be96965795b452a92f04 +B = 45a2e16db55b81605020892145cb89f1cfbcca7cf64c3650549de79eb865e9e8b071647a7ccb7ad234cbc150645b5a9f2db5320e70f85a794f177dbfe998e6d02fbe1dfa4d46146eb41ca56479506d5cf600b008638378e47e64bd3f214677d05298e3ecd76cc +GCD = 28478e46b77c92f4e13936a2a6bf7801560877b5e94fd861b34b53a120c81bd7c0d77bf7da1ec2b9c907f1312862d4128de3a004 + +A = be301fe6317d4ffdb8c632bd4df21c40663c5e3cee79f7ed23c8676ea6c5eb02bbab42541abbee582ff4681285053645032f63126a002ef2238477237b689b81c7f6374e1b969555df12482aab56c6e27c19e4f014e1988bd92fa5b08d5a4a9f8716c8a44a1120 +B = f7bad65b19d9c07631842d57327199b0355848744bfcc2422d14700281ebfdb35535850c2a6d547f23434096753aab03eea132d4d94fc931f2abb5dc4968b237047579624aa2d22e3cf554d6756c33cbd237b09da66d3119122dc855d56dd531fafce15ac697a0 +GCD = 1a6e2fbc6104c0b239a3f7e6a03766e6dd5357148f868373859197f69a7642e876002cd4cd1b4d98782df06274ff812aa651aac20 + +A = -e7d0b110dd122e35af8ed79ae43aa27ef020441ac1388acdebd5b749f27aaf04cdb77fe9c256056a57d038d9eaaeba1219c4bd80cd4810a5228a1d1f02522a2c4165d5c2b6f037c3968f965fe5a76dad1c8821792b5886459dfd4e85ed2ada0d91aa93962b5bf6 +B = f76c3229b089f799480a926a72b690dbccffc855ed037798ad0fc24387985b42c38f7749b2043f4a98e2f08e56893bacdbd32a810de632248ad751f8189e9295dd171820ec3a2e1be166d705727b277318b941b24e09ad7fc15ddf401edec76ee9101bc78e0de0 +GCD = 27db61c8fb818289f8e9f215344b58c74af11a14f914f83284ded8482a15bb8de8a9db38dd34c7405405992844a17ab924d883ea + +A = -e2f3d27203187a3e5cf54b9da1411c6f8c9f957f4e0590db3659f7672f7c30f90c39f882ba3dce6e253d7032e12842304d1512f2f8cf2a50cab5d68bf2b2834dd4cefbe53bdb33163de76b64873e5424045313c56d59b80ddade9054789e982a403bb65578328c6 +B = -4c8174139b7e759bead0961cf4f7a0f0ba9d7cb35e7959b6341b8d5c40bccf457ef1d4aa71e34ffdafbca5de545ac21a616630c06b088f66f813b45b895ed03c09ef0db925b1e591944f516d23e84d674af3b3c8b563aa06968e0b7c12ccb268745229b193e9091 +GCD = 404da3111bd24c9d57f33222db8e3d21d422dc47e5c345fafc4583140117700e9af716d45a439c14f6fdf4100c43334cd907c823 + +A = -2ae801e85fe54a39d7cf57a85a9b587266b13a1a66d0b45f99f6590c27edb66e93ea09de783e0facd674d12451f12e469cdc05cc5504947e0f825f47c56eb9f5a24578a64b2d4969f5e7e58a416ad42eee972583c93e6cff5f7d17a49e7aabb5d3b3067f6674724 +B = 1fb451e42361ecddc973baf000c41627320f97ccc79cf7040000166336842fc8f88492ae0282cd3505dababe1305b28e98b822d61f2b2762e020e990f9c73c02fe05d00ac6a54169f31aecf3de71c2154625e6322b730108b3a0faf3ef8fa9b7846e1fa734fe7d83 +GCD = 175775fe5c314f5472aef5100f5cfd5070d162e208f3aa0dc5881bd0be9d2e2bc2c1a429dba9a87bef0d290fa224f57f3c51421cfb + +A = 19a8e72b0d85b767b86e4fed1a56fa7d8bd12806f74324fba2fa0a401e84bdfae41813840923a87870864c3797d366873966ec9c50b5b74312f76fdb2dc90947334ec2759484815ea3f25aaff304d8e2ec9f9601ec0de922e014e47157bdf8dfae523abf5b7ffa92d +B = 142133075f16db0fc70140604d60f6ad1b381a2e1ba9dd909f49647913849a63046dc796b6211b3d8cc012b81f7ccfcc7c1f34a7a20c758bd9accc6fad1778b205ebe89c6fbc79edbbb52fd2e229b69e9919f219e607e0a183cfe990ae4c33227c5e974c86f46648 +GCD = 1b4502867e44fcc95cb18e6cf7614cfbb7289d627dcf04cb95144222287720dc5a4d6e66a7c67380dfb1bb6e7a134add79d54ef39 + +A = -6a61f23e7ebb4c529feeb351b113ac3bb0c7c7fd143f4dde7f8477a09e1aa56e7df10fdc032c50ed4ea13d94ba17133f3bca3e75b251569567027314c7713d29c1567e26b25e2ada8eeea64cb11027573f815bb07d3e4f020445018bcb5437928d3a74124ab015980 +B = -3d6507d2040b484f2d6831106074dcdf0dd42283400d3ee91c06cd0d2c011e9b45c908ce57e9ba9e9e8f99795db35f6359b538add1a5f9a89cdd8b0a47d60ba52520efd36b7df2e817ceb0af3173ef26d8a1d51e62c3a1d4565a9ec318fb8d64ccd67c9bc7fa91a66 +GCD = 6d88cedf1171d34bd14f314740a17235d5b42ac5d5ab45bdfeeacec79566ac5d02162d2a4318cef45eb0310526d88972f4ece44b2 + +A = db6e6d3f7d5378642962715666261bb12bc444dfaaaaafb4ecfb51e3331bfe7bd0f492a9d52089f0ccd439472f27e9884b0c8f0e6ff0d4d918ab1a97a49961f124b685d760298879015b2c55458eb287efa1a584b4d4494aa87f76a1ed2475831c0e9671649328a1f +B = 545d328c07d7ac5f330e6106aef053cf328c627a6e961fdc8f339243b6b6837e1652c45d711cc63f4f31412d64c5bc743736b5b83fa90f80f9c889454bf3236bd61be290127642c7400e920c4a61d8871f94d44daa12a3ce430c42e396c33293e041df8cdad262d05 +GCD = 219160f378dae36736cd6f2e31f03c0e754e17c90c804e10a7846b0dc83a47cae3a96b4b0fea921fcfaa48ee7171da6e6820f2a9a3 + +A = 488e091d388da72fa2cb0abed3bcd9e6f27ac58e0c90b8438a9bfaad0571dd13a80ae3a7a432d0d0a98d5aa90c39c1d2ac426fe05bfca9cc8ac268404823c085f6ea58014b173ad8b793b2caac7db80881faa32aae16ce6287f7cabf2c04f6b388be9fce99c86c3177 +B = -52b3abe79c9c9788587f864aa0ea25107806ac6645199177e52daf37d9857e8595abb8d7bf50783ba69665daeb70c2dd5b0134e90b6c0f2e378d4e5e40150d1cdddd175e14e2bb3d037b9e2c17d770f5ad99f38084d9f752f2cc829c3283dfacd334aab5f8ebbaefb6 +GCD = 125cb35f34cceff399212789eaba719d0b45538091a3ddcf05c3d15e65fa7bc34fba50b4914c1b9e903e2a9ae8cdb4a0491aace99cf + +A = -181ccf1874f401e08ace42a3228ba457213d53a083b60e1e9a8be244b971cb6680f72ff00de3c9854f0e7e408164711b6f38cbb3496fa3f967e664e125cc17968a1e98392c08017a40642bae1c31cc461660dc2800ad722c3391219eef0780f541ab2883f3b6c703722 +B = -ceb311eae2b8dffe86286065c699a985a2f76d6b1addb5bf452d63c65b205c05a68a66761e94ee7b2df45ccdcd8b3e53d396b4b05d17acd111e3ba2fcdfa7ff7e4f252a613c018c7446f4727be226b7047b40f567ad01ea71701202897ecf2fd1d647d9761374cb0e0 +GCD = 1b542b873375e05818c4aeb64dfea05c8e5597de268442a9736584ac1cda5563f17bf63944f91d75d30e8b2870c14f6c5056509d2a + +A = 4095d03187686b2b9b7c7f6c84eabe070c51d08975ee7eb2686d392ab2c93941e72a0e334d850c1b170b9824b0da68423b153eab9ec0e938d7490e28cf2f1f0fec23d9d15d2aea07986ce24cc96e6bffc59e0e014e17873ca50430a0e98adfcdb985800acea4693e9b9 +B = 3e15f947f151396f3ab5d34b9422d83eff10d64e2398dd16b87d4f2e4b318c24ce96d417e21854dbba2fa2ca8eb9153cbe59e954aea408552c11fc1fd9d8914da9640ed2d7f63b71db529d6da7a2480bf2b694049aa5e45fdb006d20da0743862d7505252f6900716c4 +GCD = 26cfe771d7313fc58ec5b3e371615b9980aa87d146e97e5ba3a331d5dc9e6f87ecb1b904b6c12f0ab3aab542e0a4f695b733dfb0fd + +A = e999572693d3b0a9623f71dd47baa7e17a581aae029c649467a0dff6e8f5cea5374dc9d84a9415146a0f6c3b5fd6a80361efea5d45d00b9ecf13cd6c8e82d2e8edde26ed0de1c63062292fd174f52c49d5eea8575a31f4da7a6384499860420bb1e3f4f9e127d64bb4b +B = -2ef614cf1ef09391cf7c8b884779c2b939f1614afe829521143ea9a1cbc4f82af152c14e3dd9404a4c108c33a74fcdd86f5ed2f5de48064785f9a5615c91dccac85583abffa169a000a5d7a99d15dd6e82dbfc25a3c28334764bd8753b5effe891240e83616431dc5b +GCD = 5c3ae308126e13d2fbd7a2c4edb4f51f6ce9fc344c1663747ac46bc130db84647db2806563e594d5fcb0189eb32197a7136498052d + +A = -5e930ea21a9f8b1ac66514aed615ceec44ff5974e50880790cbe158a47cbb87fc50d7700a101ac56b1a36128c7f2734af94dd1622965c01336b5a004438396f5d3672511fd65f96341f0d773ebf9eb3f2c66f966a8c44aa6f7e91896b26445c3d833fd5806f6fe5039d0 +B = -65e79a04cda2712f2e794e8ad1adeb61eb074b920b452f33b8799e60ceaa6cd87c1e2e06f96c90305e94f04c6e83195dd8f43830e516c7c4b46f5ed2674ffc82c9ae277b4d1294414c1819531b32fdb98a099f47a2919af87247313b9731cdbb8ad071c83125529cfcb0 +GCD = fc3c52b89fcd7e6f49a7e438c9fa46b8a55bb6652e2318f8608c36d52e15a19d6348a8095c7f4db73a9e56a8fdfed9c72084f8e9f0 + +A = -84f13bf6f0d8a29032868ffae98f452edf3527c911ddce819f8b0ec8f114c8081e9e9b1736dd737f9e4d6e3d7b09f7cea0a1cfbda36339ccddb06cbe936d46b73aeb1dc6e0ce92f040d6b02cc9e05f350a55d21b5367514ecb7ca15f51de9622bfd21590804168fd698 +B = -999d27b247b1acfccc7b7b98c65a82169d070527d46f4730531a1164b7e209ff399584510d61112b8b102a8de76eff6aa5b2ff1c83ac5cff7c35b56f3cfb8c5b65012caeda4a01aa23801bc1cea112a5ae9873d1f67d9327323800a694330fedad2ba847933373faa82d +GCD = 19bd3e4990b2ce78e4e44fc252cde231bf9b82796912a294370050c7fc8bd816055929dd272fb86669a488ba21f48fc017729c11cd7 + +A = 40ab8abede551d5ca27e7b0a88c17f2874f30751f1656d1c6ad4a5c7ee000c9d30d6b0452059374c3fd802a802b39ef88596c3ebf51286794e023ab1bf943cedc0d4c1dbcffa0f5988b502edd405908ef951172ac1284cf9269f1c659707f5b9c6c6184b1e83a3fac3903 +B = -1ea9afac1f523ceba17f9353d677a234b95951f2eb5b39e237e2e2da7cc8ad7a329dfb0ed4b6f458ec08bbcad3edae1e8ec6c643cfa7d78e37c47ed17fad01471352fced9a4cd175b00daef6c32055d6fa330d579ba79abf1ad23c2b0b6cf845c16a168422966ad6a9521 +GCD = 742c4908e58b723a29dfcaa3c5120ad4c3ae897b6a409ceca1542e3071431a9f4501b2dca936a55a1ea4c52de022415f5496200d5e1 + +A = -d65e10ea9da6a804efdfb78c2c35bf346f712f8523abf8a64be09d33bcc7048ff875f2dd85e756df59f4cb9d1647ec2e22ac0879b55167eb52368db6b686d9ab1b9f50fc25a51b1a8984b4e56e19ee978665c67bfc3ded2be29cf23497a272d7553f12b193a694a71fc07 +B = -25f0f2de52f719cad71d5e8c49a767279fc07b678cd81d0ee7f6a0259b63075c8cb2749c44cc9aeb222c827fd0e7f500f9cce12b20f8add4a6fddc49ef8069b04b7e9463d8491c40a0d5acdff872d8beb41a8c235c2aa6efc340df105f47d817679faf7b84dcd14bbf9c3 +GCD = 13d763c408389dc6808f678327419c39675d8c3e509822d245704ce2efde4df5ecbca672a8524d20e43609b59ccccc9240d0cc88df99 + +A = eb5d1fe1490a460026441dbb2154bb80b050e28b2261cd08551b1d8214572bbdeb233bbe53db107cd89e36c10fa707bad729135dd34350f1470fa0056b7b3f040eeb2f89b101ca2eb4858189a5d32a1f522bd365e2ed5708eb513343447e42ce4db3f391c457b343f0b9c +B = -275c2bbccf82396177099782b6b792ee766b7863dcfbf2919370c0ab8388639654f39738d22e9a15888787d3fccc4b89e97ea25f1928e30518d5b52c87f37326a808b63fc7d6249bcc565c1d480b618e4cc597392042e7f6b80871b4cdcdefe7eba730abb56b3f672478a6 +GCD = a86abccfd65c2d3948c8c66d37c44503b7c954b4ae6ec8a17bd767e566ed950ec76a915d16275b310bce27e8c7774004e5dbb93e89e + +A = 3d99f894630629dd0eb4daca0bc9dbf6972d6864983f195efce5764acc3b2e56004dd2043a46f13a07e46f789dd9d849714b6d69399ea8a16ca54b3f83b4d00fdb9a590bb3b0ba8426c24503b36ad877715be61ab94eecbdab0e383a5567314600d87f43173f023b6537a9 +B = -93de92a135c29abdfad741da74e7a62f2f3ce7f0f989ead3c9b0ec92686730f22417492508d1cbcfa99e20e055d446fc35d7c0b19ad915400b79001ac7872353c1bd91efc67e57c0a0e1a20779685b36ac0b0c7772ac86c6bf84596472807364d59e8e0f514358c7a7e076 +GCD = 105d443e7aa1a1fe7901d6cba452bf6e7126e22d0e4a8290b0b6fdcd5d004d61139b0a34fd570f18bf42db39ea0520c8e16bc4ab0a0f + +A = 25634b628214a935d3e7fd404872f2c555a995f2bbcc04b6639853a2910cc5923237303da47581d7a6ca8dec026f3a4ed91f5297eeaefe83bfb488b6b6a0e4434b8df6a92b35d1c62b79f12d6568e9b0166bcb3a2022f38c8ae0bafad9beaf482d54ed69f5292335d24ba2a +B = -13a6f891298a63aea3d3b5534f310df9a5aec26cc5585fba4104a9ec2f8b9fbbbf6c0a3475fe41b404d370e720758a299acef1ccf18adc8f0b4f24f96eaf6cf629ce887783107f525eb900cce5255ac7725b20c61a5f504ce3bbd5867f9e0eb20ff9f1cea54bec97726e946 +GCD = 1eb8cdb0ff88ff52c2fb3bf262da3cb089d8d606458c556e6c0071aa5b6c73bfe9ce0e87c601415aa1aa5514c7390b75c3ca446f8c412 + +A = 6bf11ac8a63e61eda3f99c2d3bb0f4b1850f0f8bc61fed33a1cdf9fbe9cdea242b7edb16931f37e13b31b0301973db8195be4684dc59a0fd669d715b05a5305f5d0f3f8d934152ee4ae244a70b93c0ff4edd693de85908a45ea7b27eed119ac3094eec9ab7e33136c15fb +B = f9b63a80daec87ecb5ad2b76b766a5d1d12acaf2580aee55289cfcd74bd9c112df6aed8a5c5289759f4383e91f45936df32ca5c39506b21c7d25dfe5671f7a85e2c23eb0eb169d65d2257ba719db23ae29aae6d67b4b50351257f595c1915b5e928bb083f4afab9e970ebbc +GCD = 668f6697aef26603d17db4fa223e0c162646e5fda615456b827ada62d3d51eb4d48864d795e1b4b6d26187b9b3da633c79fc0699a0f7 + +A = 119a81ec841f0d8bd69eecc1acb4c237bd572eaf8f966c9018f837fd749f9c5f82f48a57c180b0ce634ed91858e056157ef6d1ad8d0a0ec5200b83e400b0d25d52db788e35e7bd6ab967498b075782bc7bba32d171724422c87a013bcb0e39d2d5a803ad899371d3e52322df +B = -41e59655552cb7343616d5e71a557eef92dce58eba99222d0565e24be49eb963190bd67907c4529a1819bda6e50662c717e5705c5b03715ec36aa65a6376849ceeaf18a3041ace1f8855864b9756af48416f71b7467dc9b3bb2e19fe1be639fd4bee32e947d83860d207bc53 +GCD = b43c412d3e3b1c7a7c42b3caf2351500acb33e9f49b56d40d6869edb21d870edcc15799c90b284b2f0b92d126f7f01cacb3955216b45 + +A = -ba162696a00aadde76f476defa27f401a0b1963e7f368acf83f0a707e8b631d91c1abf1a9c8b7af1cf8904001eca9731d43db59ba3ebd7bea7957b2be16eadd0dd73caa85dcff3a55aa747fbc74becb0b7f4b1da30355a3c5de5d7150bc0b2bc14e576e9c4ef1581409e15e8 +B = -e31b40f21cf9db1765a380ee710170531a3c32f8f4e01a5e0a74d5fe3f47bae1a6058b591e69be101f362cdde3a19e53b36ae953eb4eb9875b960659e64de6bdd5d05e800eb64eda772e2766b75297d61d103cf2aa04793df17847873344056e502fec81629c9f59d3c3cfaa +GCD = 566b2a150c92fe5cff53fa13081c60a5768338738ddcdb041f6254ae9701fc95f3f6077d490cb718d8047d497a180a71761a985e7bde2 + +A = 22c0939846a6f38df4f5632d3a534e7eec997883242ac0614d833e5e92feea7e16c95a882137516ba604e8c39843f1998b9e83ab91c875bda4a7015c9b17e79674e851466b97ebc7f307771a4bd64b66dc869ff9b08131dda5f1d11dc81a5f4d0376bce0397dcfc8c2b59b573 +B = 297abf05fe0bb96fb9164a13b0b63d70df175d5224071bf93dd039b13e8144830d52631dd63fa76709da5da5dff517b4ff3e99610415e69e95585da111e926497efd1bf3c3d5ede1a3170abffb5a3825440c627fe8473b74f9655f985599b8ca00f530a5ae44678d29dda6854 +GCD = 24b926de88e2b600d3309a45b549a8086258b5aa0c4b4be2b523f84fac28e79814bdd5a2e4385545a3e0886ed4090adb6dab545147a9f + +A = df1e6af71f3ec05cde41d3741290f422bc5df92e854880c034c523e8d9bbd518664fc8f2a4eab867f0ecd0e605d904a98e2425dc51a20701b5e0413ba88602e992c7567d3836f38d27402d23bfc87fb602b202c2e15ef2724281c677bc57820a04856321f3bbb414c13a83e77 +B = 196442299f7a20f04d1532e2e78de70a46490c24c3cc080575d06199edbb1f0c315efcea19ce068eb75dc9249fd37957c3674a7015f0ec891b70f7eadf7734a91f58fe4df449f028487d74ccee0ace1d60ecb70c7f85a2477727605ee73fcdeccdd470b7ccb455f56c2341f9f1 +GCD = 6ab2c0b52cd70100f646b475efca7701db38134549e1e02f29ce74d36f80112fc95634a2a83b86f722e42f4a0da91611b6c538355e0ed + +A = 33413ba4d0fc7c3078e987f42b271b1f9c7ec0aac62655d8222525a982fc33f3a6c9e8226676ddcdd4e7d500dcf26efbb2298842fcbb57b12a76ea6ff2ab204478fbf64fe90a36ff8232ca8fb2c19ebecf0ff45054c6331b478cb364f837994bc1929efb06600147b220e61254 +B = 2d3859308e7baee210386e3a2b5892ab91b33e5c37217532a63da06f7ee35b18bc320420c1fae42d2bfc2c874a19d7f135373e4e0e0fae1fa5881765c166444d2ae08d7ab1778a1390244b3c87dcebb2b58b0eff1f4e68dcaee5feab491b5cd4eb7544e82f23169766266715ae +GCD = ec8bb0341f02b244ace6db766a7476d995e5a1bc301d0f2b1d850e3c179b3952d84685f000626b856706f489af54065e7e69a6db64a0a + +A = -11d2d9c8031fc9ea2c73d76063265ebfbb0b8d8ab83f485c37747546e65d3ccb109ffb03d92e65b16e2735b4a2dcbe5b2b48e90564bd1fc1e298d5e405308c7ef62535a24b1e4169644c395c9074938c927963ff7efb53fbfbf3c7826c17c17d1a7a07f612348343aa6f734b282 +B = -2ff6aa64fa271f7fa062c486a45fdba3afff8cb8fb5cdd9207556be7dbd1c78fd1973cdc9da00f38af7d28b11f462b487bb080da8507314e6038d3fcb50af67d44493d13fcaeb0a0ab1751bda935b7dfb6be254bb2bf6c40bae715ebb22d302e5136e748fdf4bbf4be5ade6240 +GCD = 467a3efa7658c8dd0b3adf01a5da18939502d17f71d711c75e6de458a4bb53a7179f72caa88b166301216b319d6d7be0c91bfce3a0b6b86 + +A = 1c5df0689b31df95b9c11fabfbbc11ce0df9c36365ad97b887dc36ba450df64cd959f377c94d12cba6abca9c3f2e9557015a276d2bedc26536c7ef35c199b631fa265f1b95ce36abe09d729ae2468c8acd8da0f7223e9a78805fae4bb8a5e7bfbcf88090dc71dc8f377b273b9be +B = -63dc6f8b947723444d1f295fe25f55e0e0fb626be88d5329303c6694547dc4e6582a293172437664ae401e3742fa2c0dbc4842c494cd8b7a7f726ffdfcdfaa59e2cd705e176c27bf3cb1ac70c0f4d18d543142954e4eecfb4b92ef4b644f1bbb1bedf26fa1356c8cdc06dbc366 +GCD = 6f460f3d41c6e84f10944775f81d8fc4f14b14a1d3ece491eb781d5f7e922e19d96568779f8977866264fd8eb3e7209f9bd580dce89f36 + +A = -abb0ff21b635ead4140b48d39df0bad16d7f2b7868ef1f257d47bd28dd162a703b41842cbe56256513850d2ac3c81b5dba11672e15ae6f75680e838071fcdccb9d7401047bd65a79c34cade8f5a21a5bdf0d0b8497091dcc0b6f7059d802bdf4c7e24b534f09ec234c4628487f8 +B = 7f82b461e0c911a23efd31e84491eb7ba7e6b6785b577c397890fa9192270f2c411c89aaa1bb14c14a36506a63eaef75d8c776ba2e5beadce3b9f2a220b2d784d2976679c8b1f5eb4a04bb716b1d00bfc0a8554743fce3f7938d2ea794f72254bfbea51c99592d4fdae708912fc +GCD = 810540d59b7dc454ae9695b09857c20b648dff676452f47dd390f0ad937029142cf9d6099385e92785fabb29c0f3ab03a74dae18e273a4 + +A = -1fbb7bdac932f0bc4de7dc7367f328c6a88899d2575e29b7f3075e4b26678e22fea51482f2f85cafc4e6d6349600d7d5529819c43f99f561e8bad73dc6dde79c80a3f56e2f95937ad77134553da9df81b642e0d80eafef05d15968e614181b92022f04afdf7356398bee31761190 +B = -51b1946ae0768a42470cddd66e74af29b62809620ea04724cd3db4d3c907b16527287252f4abcac7ad3b0fb84e6233174063113b542dc0e952e1bc0546d0e5fa1e09a00972fc5d58f226f6ecdc4671d23c5badf45865ddaa9606e000fed506d2b63390eecba015908586f4e4e750 +GCD = 1ef49f17bb05c77d852ecd3f6eed1ac0a3c339282c399f959ae5f96ddea688daf7941ea033a780a8e5184a5a2f61b2c3766a772ac39d7f0 + +A = 9daf4d175bf52c34ff1400ee9f0d485badd2edcab3500fb080d6c101c3cc315740a8b25c7705681df5f70198ca36fb2b40c06361c5b547ef0e81ffe5f36d9606edbcfa2a0ddc30b8a548e61dbe44cd4a6ddf9b6f1481311f958db289c88d17f334a0f17368db2a2dead43d47424e +B = -d86e0c3cd90211e48e4d2e2a2c11e3eb29adc31615739db79f56e3b8dda00ee099fab849cb83677f3e624fe65b26a8dd2dd71448d0e7194a70e48cc9b2abfaa73260353206b1569408360a166dda68feacfb92e9f47ec1d0a1eb737ce77d9b61cae1bee202cedade8bc70137a8f0 +GCD = 121536ec30d88330c55c573680ee87aa5c6ba1bfa57ecb31c47877f8403f37d82e9453757337c723ba9f10398b4e8405bb5c23b2410eb16 + +A = -3f52d92ce99bf4d01bfe8d8e437c9ba17a4783b99f7db254434baa136cd69f62bf23543285737b1cb2eb25f47e82640a44303c308d0191b129d57e78a968f130920228c8157076f5e7c1b378c8a8d52d9bdd2589d6d6ea34f32615777616e2c92ddc9dd6ff6c9488c4d2116e89a92 +B = a72406b7cfe19e33f19315353e84d52092e77a76db1262fcd3b782812faf40cf302892a96c938aaf03b2dafede08fbd933675d759b38fc5060b9e4d18fc6c0df2048c8ea88c156ee62f929621aa58900d9acaf08acbc11f93ddde681833bb382a9164a5dd6628ff9f4d51c38f4fc +GCD = 23d35279572f58a32bf8c310bfae00fc0a31703f773360784934631ec4d7e45c2fbf183c02db714827b71b5af149b7098b90103337883a6 + +A = -70625f1fe61ca55407c478e469848c2f57b2039ee1a1e39cecad40ae2ebe917e725c42cb59d873518665842267b2a4f270fdb9d8c7998badacae48e8cfd47d030c998ea19a7cdfd2629037aebb6cd8a3d6c9edbfc4d7710db5b91dcae5e34faa6988728fa048275bea4133ce333f +B = -13ed950e9b0b2db27e9536ffb1518687af24258846bdf2da04c0001ca90d9ac8ed89bec4580384fb4cda4efaa66b10446486a281eb4a47e1928a2974038cc26f862b34ce2c5e95503b051852b97c8e74c426c3aee5599b126bce7f9052b468319fc9a5b0f4b6e2f0222599c14e7ae0 +GCD = 6a1a9e6107ff8ab752c26c63cfd8db96a467260ccba0e24bb5105b0038384bd298c9d85feca738f5979be245ff94179952b7d1e440402f7 + +A = 425150f8b168e3ec884aa0d3dd415360bd4b7dc7ad8fa9dc3ba098bcd4b26cfb751c74f65c91d5501d273a9e9727f96e51c93e3be1ca1fab1657c77e1e94ae3d54d5f13b12688e76852d6f6e5142f33ba325d927492e13a777bd804ac4bc55250061dba9d36268f6b8675678cc9aec +B = -31769d01ed4b7660266e3a281f77bdc710942946fe95f88fc0d619367e96c2e0e2ebb374691bf3e101f4ddeaae4830ffc584eb5bc4e188c7740286ccb5e711154dce18544bcf7e2eedee03456b106f01bf06aeaa32c563f5055cbbefd214d9963990774d7c06b8ba7b5d4187cea5fc +GCD = 1e57257d1bb7f7da39a84eb480982e2be899c5cc8695cf1689358d498d2bd1ba5c1b997b73f350b9e57d6fbab2cb604a92016893553fc56f4 + +A = 152064b0457d1f5ce5199ed307f8d6fb2eb786a26f4baec50227ee329542c91931ec9954e9b2b9bfc02d0e94b14496a7f69da4eb4a9ac80d9ff08a03e08ee7769e7af91858d4c91d22ea0958089762994d188429c50ba1c938a79cef47cab55fafb49298ef78f73699dc5e016452eec +B = 14ecee89eec01811ffd32ba7dd8057ebb019dce69578fbbe6a92bb9830b9a8a0ab706b0db5cdd26c73604c120ae2a1cb0ec5da42d6e08cf00ec261987ad6bc5c40a5c452eee68b9c12eb07770a309afa1bf7ef46adf9ff6c7b33a59cfaa12b0e71110e2a8ff390d8a018e8629514af8 +GCD = 228c70cc4c350368fdab7d2c11694d09573ac2f45a51205a69515ac44c457700ec1a6160aea10e3154a0d75ca606dfd36822b18cad603ec8c + +A = 34d488fa70f96c8550f09be15c8183b9042dbddd18e3a5eae1b749c43f686a72a74d822dd632d05d00e245ab255d5acc46b867b1174347db9260e7cf38bddc640bbb2e1ea63384305ac6736c27a8ebdda385a1e77d7f4830d9717c50f41b8eb83b6971788b308f701a18267674647c1 +B = 6342c841eb02448933ac12e4c0a4c947ad1522d5d9690df2f795e983580f24f3757c7f46d62dd199af7cd2b199c518335c8ec60308c1e024831e3c8129a05a8cd462f72291a1036440420a5dfbdace7bee8e901923a6cf72e91e3b2b8a98140488b1153057dc3324cbf800c619501c +GCD = 26d8a5a1b445a70749d544168eceaacbc317f7cc9b6d299530dc84c17c032626645773360d62790cf387b448e854b2fe69396d9febaabba5 + +A = -7d18102a1827dbad01bdd6c7503a2c648eaacae4d59f20fdcb5c4daf9ba50a061b51f2ff2e8892edf8901e7f134a2b41befc218ac3791285f4ad2a71b15151eca7bc0c601964b782aa1ffbd8355a07d1aee65aea46a9ca0effa1347a352510f09307f3d3fb9625de9bf220bb4374931 +B = 13d289867c1c9746429d4d0c76197967677d11574a3d6ae64cea892eb585d6a075f62c67e16ee4eb57831098244fed8796522c9c54bca379d387377b07394a209ac4653024019f37e27aab50a5ed93fc63c1770cde0bcd1e17f07797348a319c08cfe29cb021232a12ff98a7bc437dc4 +GCD = 51eeffe4deaac567e17ead80a7999402a0e206d19d2989ea9f3a3f83bc0fdcd268dda9bf0e027c1701b263ddab78ee3eb02b067f871b3fe9 + +A = -4d03801708304d7dc21b7188c45b3414ec8032fd0ea7846e697122504426328eca1c26a4afd772304d8b0362339ffd2643bf559b426bb8d00af810b4831f64e28094c87d687b9edc02cd25cc3d4f57f5729211e535d199dca7eac80f627e72b7a92b460fbd70f1181791fd85ce8479e6 +B = -20b0610adf8dcbd0bd4a5378dad5078ee9dc3530a4830eb97dd5612f634c706ca5b49a44178c0a6d0c8c2c4ed495a8de503f117b67854cd32ec4dc8495975adcc599809344e615271413ff7032d43e9972b8442176ec8bf92da77ceb6072d95a2fb3a09a41225b24b50e48329b718696 +GCD = a191944a20a82bec1fa74edd6d9beb50d804b4e34e407a08069b12866ace83d284c0fa7c43c89e08f6b78fa7fe823dd1c5e64b42ebc1b682 + +A = b299f79ae9db91aac3bbc5bf15ef8304314bfbfb9fb9c64957a0b326bf53969e8464a36a6915f4d03a7d1672717153ed94f6c4961887a453e5144f0f3522fa1032b516293b1ef8e336e10fc25c9e0ef7592ede46ca2a782b9d8943599b8187c4abfda919082ce2954d77068f9023cb0 +B = -fe2a56f915a31d8ac21e8fcc6267fdf5535a09ac4d600506c33758b8eadd10962130d47c149939848c20a859a5cb284b9aef71eeb51398b47ea489637c68295a968b572e179445b0b29ae086159f6c4470983f83d7f3bae03b6483771d775bd415c3872dd38b092309f660e4955522bc +GCD = 344956c7e865b221e4e877810c66da9ff1393c6c2ea44236fff666255183f925908b6a81ec9947f17cedc29b2eda873703c782368b0a41c1c + +A = 21cfcf98fb4ec6038090493313de4c1e8e7bcfda867710ccabd5b54d33e7f1016ef527ff0745c9df0bd1f1665a8a4cca400daa44a69f89aaf21503b264571725680a8c6b13df315766cc3f721ee56a5f5bef3bbf85eb4770924950f9efa90d6a0275b6fdeac1b53fcca3f98580c977075 +B = -124cbdf72fd4b3a7bfe1a0baf4eabf0a5e6786cd0f3c39d2bbac5f32d76d937d035ee36ca6da6178ffa3922d55eae51545f7712e77667e4154c54ff1e9b7fa2b3856002883ea4794aab1efa4979647dde79befcba839d49834cc7a4afaa7cf9a505983cf215380b5ca5b2bb07380d1643 +GCD = 235aac61a6f03eee5ceb6aa8ece87f79b7c3f6ff596765226985d4f870a84ad61ec3d501c0e4486f1fc65a02cbbb38b97d16836d0b3722f8b + +A = dabfb52277153dd079e78ff48bc86e2378bd7c35f9c497ca2a58c1a598bc9006e1fc39f7780d45157f07951b0baef0cb73785554061295bb40bc4e0366fc2db7debcf25950b5216e56100e634a6e099d0f1318f63d1b229059d7fa4b08bfa765fd21507eac0a0ec19463fb47ad53d4350 +B = b2cff63048095d44bf3c30c170c9b26356c00798065191a4769e61ed7c1bda05351e001bad901f7af6f069298a8bf232e26853707ee4df12be95237b6655b0e1287e82bbba085b1fd11514a47a87993e76fcd243e1ce749987d1f207d42b204b114690fe649c7a1e2bda8cbb330a1f2c5 +GCD = 420c41343d013942898faed835ef8a004a630f47818afaeaa0fe78395c1618f6867bb14c654a1cdbfca7668b75179f4f9f09c72c01625ad35 + +A = -592b9ef205ce4cef0cfa8d53a550676c30be5fa85997d8f6a5545296bb5d2c1037cfefa15d7cae50896415d061ba41e00364845f6d48688f0be62c6d88cc74ecb0aebb8d8fcc0fd68bdb49ec1d80c936f707e46104ba1deb95d8cddc248e1273da2e4d0cf76ab0e9f6058723ee57317412 +B = -700104497e0af12aa11807e6e038fd35f916e3be0ab45d6dc826b52b86c6e43ff208c627e6f9674ac508997a871f265fd4f6284dddcf55053865ad53a2e4f00c4b1415d6d0f0e666ecbb858bc71737e19a525c5719ebc2265c5f96f4569c02422dc778e11c740027eccbb2b26f9d54af3b +GCD = f41da4e774c8cf0411518430d1054e870d59912627a6071b85a3192da4b53be9f945f011e281d8268ed10b07542166b9235b50c1c27186cdb + +A = -127986f90596211f77b9821e753c5022a34d784427b4a4f30ceddde83fe9d20abfa8e9a730e28f65f9486bdd6d3f93f54f929af03766c3bde25d8fe4c881d731df113b212e4a5912df537996428f23ae0d2c731923a6780b556077c52d7e65a9369473013457e3fc2da148c80f55349e85b +B = a0af148d46f9a054a6a2d77b522194db82712645cbeb6cfa6dcb60d658642b8e79d03d573f174b414d2b72052e576ae17d4d6df311e1939c749af34b6dbf45704c0243bc304018ae1d4408dca0f84ea0fb8b68ba142cb25afc1b7fa5d2d27697d05d8f2b0f48a29252e6bb668e554e47b2 +GCD = 3ac63917697d8b851e31e2707246c993f3905ff5064ea40b48998af1a17b837cbdcc36ccb84dc66b46d568e1c86b48e58e96370c08fcdd64ed + +A = 21800697751eaabad7b50a1bf3a886531c25868f98569111d287eb0acf3ff9761da66a855b86f1c1141aae8a024ae4e9fba7bcf70e52d29016a46682a3a65766fb2de223acc3de7f23b27d7f3711442f969036e3280a9fd0d5eb687e268c89b1b06389e844e9dadd3ecd0cbb85ed00e66f4 +B = 50ef0e0ebaeff229e3dcac026ba0393fd80c688141ccb394540c8f7aca1e346e01e51c13b8e577a21c81ab647dfab32fa891b208bba4c5adb62e1caf925481db460d34e3ad2601c3319d337072254cf9cde7a686e6c3a3a68f8296d48844389c6ae5a4f1cf5001b228c86c67c4fa61942ac +GCD = 3c0964d9a5bbf5f02fb5f5ca166c87c2d95fc18d341779716bacb3bb6fac8540b89a7393bcb38028d536abb80eb8a6231ebc388de445c0be74 + +A = -9be4a14d2eb6059ce4fef51e508f9dae6ed8bea2601e7af37d08ce4a25d4e218cbf6ee64542b15e63a4e9faa6d52844ecd5c0db9cc6abb4197fc391a6487df183182edb387ca71db6bf2ee0cca0c95216c61c3317e0cb2004f395ebc418b772011e297afb323ee66655a2b89c557f3c22e2 +B = 142998ca35994542ddb4477a2408c608efae341ae411f9713bdd6e2655183cbbea4f8d20fdab6dba1d842e11d78f7ff6a144996db296416dd1ee6f7fa6857e7b8566d412cd6ca39ed61f5d40e2db3eec7fe8932d71392b239238412bf0d83d7026d912fd078aefb384fed5ec686838ef442d +GCD = 75b9053c7343b6dd11be59f1dd9746cf1884b74031ba76b3dcff3a23048c77468950c08f082708bfe8d71ef6d379c69c5ad93d5611cb7ffa23 + +A = -3f7cc2e64b2b17a3118cd9c6c4a466492bad86b6eac6d58539112e7ede1af981c075f2804db23d9d8b30144d7028dc863ea20db0acd2787d05ca6d36010e28683c95e496c96dbc32cfa2eb7a516ec5b02093fd4a456673c8dc4491651d7e6fca5ea099ca84c82af6f4140e0185139cef5e6b +B = 1cfcd5f34bdd9cb4697c8ecc165f825dba618954f95b24b71413a6a40894a09d6e4af422e8d0f8f681eab80629be55c0f3a728710126eebe4cf08df78a8ff5eeff12ef1e6558ee05a68f23b92b41e973ed4b72ace6c27519d860d403c3c8a50f6c28abda9e112dcab848a7ce9f07896d218b +GCD = 8f94443edcee33f32a03e4d0ac350f58b1037fba3c577b68536338fd921a14f16031459eccc515f775677625a6cc8460a03e3cae9071ec4389 + +A = c87607c87d106cd834f47c0b318b2cc26a097d867e8a2d99a0b57dffbac2a81d9e024ab10975831a2442357dc6cf51db46d0875d26c47776a4b7514e04834d2a7415ab493469617ddb3a3daa42f6b63a0d3945fc88d966e590b969d0d0166003f0f5b87120b82a9fdc2eccbea167263658 +B = e0ec85385e3444b998d097b598f14a3a8bb91507df297629c9edc8cc652baae04e4d2ed2871eb0350d5601f5f005e184b3123d97390347e5ceda80c50bf866dc7f5b467646b443fb569be05b982614c630a6b5ddf869067bb6b00b7c2685a3c1404a35fc5d1adf9922b0a77ec487f6f37d4d +GCD = 1ac13ed8468055875db58597a872f1923d65aedb6d06b7d779dbc5890815070172a39b7221e701354db329a1d6d229fab23300227bcb6bc7299 + +A = a8a5ba7e7aa9d60ca7bd3225ade327db4e3a2860501d0c06c2f76ad323055c4c93762c9f9de5e4f91f995f8c30d0124b29fef4b0b5f044e036668488d4524b51501d160809379eaadb2228fa7c72f12d76ad4a7337e82f80ccc4b12040a2dd2bfa6b04b3bc2367e9952b1126bb41b8eee63e +B = -4b1addced3750962dda3d623895550cdc136a3d8735fd5be0042dbc9b83266f2a04afe7631efd1fae63e07b9e326247d742837187c8391f18e90fd1c8e89ef56d76ef33e9a62d7dd382145390e45d21f968a5bbb98f137e8bd4c12c05ce198722dae28e6303a8b06410964e72c86456bec748 +GCD = 26a41ec2520d0e53241e1ead9dd430e2d0f463a49c2182de48ae651eca7beba2e348227c5de45971e8b50ba1aa77530fa9637ad890fa5526282 + +A = -74d746195612d73fb3a87bf0b0aebed276dec5bd53b3f627757dae7da2ba904bad275b235fc81cfae0b620b99f8318aecd8192e0ed0d619fb2cb3815ee34d613729662ef3871c05ca2732553303473b92cf56d769b0db68c4d4203b6abc5712f76fb84d26a9d1b6453eca768ca8fde5442a1c +B = 11a3a2a590175cfb9a35b38b8252aacf833264262f8befdc6d791ab33b7607125d5f132cd91318c9a0f7649d134dd8bdd0d203c52f0496844673434e5fdee36b5dde2d443f120addfa43509c3b0b1751ce854e8ec38ec97a7b3c1c9a9ac4349bde3186b5c574f710818f03720c5ec96e779894 +GCD = 61ec699a16aa56f2bbd6d54545561c739e074230ed76744d5a6a7d6aa117b2b20913ff1ba1ddec41ff4586416c2c525e5b70b2d403e8fe3af74 + +A = -6ba555e1464e72531d2e5f1487352e2b2de72055adb71cc6666ba9df2208fa8b1039304cb0849bcb00db52033428c7f269c6a5e85ec8601a39918f0d7b01728b47133ea490153be3afba1fe7ec3fde13e0cd4cd9e073fbce2cedb17aaa89e6744ea5fee19c67de63db0db704df33f711535933 +B = 4b380882d27f3eed43f69fada8e33c35d455806352dcf6368f270bd7bfa3339f55c7cee88278b7dfa8c353a019da07f9633f08b536b5423879e1e8a00a7b2990fd3da07e0065fc15954dd625e9d5f9657611b80e953f7ef1d07d09203efa52ec0e94fd9c4378306339e2eaafab831ffa44f3b5 +GCD = ede25177adf92afc77f73bcd13c27fc426c0e71e68c32b3626c1c85d88a3f61c5b613aac5550d234fcf45c0ae8852bbdc809d88baef414f950d + +A = -1050f62a8d1afa340bbc96099ad58d71f3330761fdb0a7ea85d0871cf15ca081d7dd3770864caf8a50109827992e23c6de993bc8f2753780379ab0bc6a8d0798dd8ecaa32ee20dd68ef9b3aadac8a6130141b1ef8c4b4c2b5a6b391e027845f866b9785eef0dceee47f8870643320f1f913b6c4 +B = c00aa815a83d0697be1ddb85f09a7fc2163660417e4d78abb898cb31cd8392ad78055a819e6103d0f57154427a7c17012da60a55c00e0e446f6222cd66c713432332a5746fbb1357cf402bd324021ba60579e8569db17cba9b0bb1d2a3be9979410ef3c45dcf1c30bd51a8f0d191bd219f84d8 +GCD = 15f18faf0ea0bc24c457e024f1732f27faa740b800c85eea7f33708154483dfc13bb31bf235dcbe05c19360b138e793149c2cc867c1a3012c1d4 + +A = -1e7c9043f408ba66ae9e516fe04d091f1b4077710449ea1252b6079292382674cf42360dbb9cc4325fb2904b959f0f96f3e4c189b2a54c5a7b2bed28994805dd81ba88ac42f5e6d515abfd23c2aa6834c52942c4ef351e89597d5a746eba26922504717aa8ba866d596d3f488df76b319405cb0 +B = a39e070db3d12c0ad6d16d0f467743e93ddae20105faf38ebc0604b26cb72c8a5052c580b6a7d9eedfcf6b4dc0c7bff0496240aa93cc161887361772dd917fe73011598aa615d074cd5d531819f8371230915ab0ffda00294c2bfd685d0f2af6a936b61442fd989daf26b45f84c613bd49fd8 +GCD = d75b588b75784ec3f5f930c160b00c2e754134d40a287a0055220c2d44e9639f9ae678260e08808da46da6168aa0adfba9efdf911ebfd025f8f8 + +A = -10c2cb320c2080bf10a8f7d264c1731aa43c9680e43ec0f0db17e95d525e77c7abe8bac779013c56e7cf9c9719e8662e56c7cab18dc9bc0fa50017de1eef3978715253ec9572e5d25dd15116aa17b21afe28b1724f7493443d811cf0413a8bd0f19083d3924d4f06356571631b00bc7da09e5760 +B = 89143b96367b6ac6575b3b43af2070f5354b00380e76d261029cab24f6affd0cf0ea9a834bbc066e577ff74c0f3b83aa378268599ca1dc6595df5b9c1d9c384c069825d541167a1f8081424ad4a9c479ad17bceb48c6809d6b6087b3b14f7cdac43953c5e43afb604f49017582c80c6e237bb9b +GCD = 479a4629dd49cd992df32e7061b6e633d5b36f7b0bdf46e5ea1a58957e768322b6d50dbb7cf465b83970dd1d18db4425ef00f4fe15177d19a741 + +A = 137c584c2e3e8f22402761826526914c94a569bfe637b4c445db819af68bf59c9c4d65f500b5e217fc75a40aa716f53881fb754153353bad32708b27e09090ea23655bbe48eb146fde3b4bfaa18ddd0b0535df0fb271eff6733c295a1e88085504a5f19eade18cb7d6b621f91b3dd0d922e87b79 +B = ca574b12fdd29f9efa96a0bb6927a1e6f5b6079021d272bdf0d3af8ce5474cad90858d5ebe6d4b8ba5bb22354dc3f09e7c02928adfcb2135a234f22a33de4d0c3f6dd76213246471aac83e35433dfaf076aac8980f59395fb1e308b48d7802978a9dfe8cdd6eaf7689a140577f59af3e9ade8e4 +GCD = ab2f03c36ae261dfe73fffcab8220364db9d5d6322eb47b62f0a2fa7bd7144b04d9d62c7d1f2dcbf99678a83dccb63767731600ebc4b151213d7 + +A = d9bf4b25b423b8d7f918d7c84db26043805edf5dc666d50e64423204d034ca0e04c2196ff6e50e6105d82ed70898e4db5465b94df304047679322d1dfef4b9ccbb86266c197dddc6efd7cdae3f4078bba6f516581abe247a86402e9547017831a27e2954d81af188605a78e9cafc4cce01bec55e +B = -11664c1ded93b5b17125bb9682cc1022ebe41f2319df909435dc6ed611bbd20c80ef7726a86e7a66e9e924d494ced304107b3b9728a2ca0d5f23ab395c464a26060b58b3c8efcb1beceafe4df58a4db516658b67e212bcdc9300878fe0136b5887c9e7b5c2eb4f1705127f8209a7055c505bda6ca +GCD = 2dd732fa3470ff80786adb0dd19531aa95ae269ed7156318e468a6e3a4c1c8b4372f43cb7dfa79fae8aa6311f32e4a4cbdaeff248dc8d7ec15b2a + +A = 36c86a4c4768f05f89951d00fc1599efa0b6a9a327dd5299218bfcacf8b8aa81c0832b5f77ee061c25dc5f73255467d5a1ddfe05320c33b777b9e4bd5d09bfed75105049e3d55bd90e462a42471519ef6227c7a4f98a3412a89ab522cb8f2e37c72a11d38bb2e2142e2454326fc6707d90953afe0 +B = 3cf3f312c89d5154dc4372e89fc024f3bcda08679974a475e02b32e5892697f996881842532e0adb07186ff59a76ccd64b11ce27c2c54b17bfc3a2959e58095d75128c3cb7c036581f7d74075100a009f52fd16281b264a87f32df8f9da2efe5287eeaed40a7292e0efc12d1ee73fedd4deb23f4 +GCD = 3ab23c322e9cfcf456755bda46951198cda9d5459a6177bfe06156d05d7f7c817fbe1a335ff09e9bb49841d1e43239792b0141506080b3eecb38c + +A = 196ce36c230e58ef3b4567eb4c2a57c026af2e65c3b63b3d34b9410f2b8bb210409f14fb93aaf1028066239f18c56d4b28490acff831069dada4a6f93f710ee20990ec07bf754bb67f67049f83fe9ea9d490243449454e12cb73c9b7c247fe03b93a5d95802cef7c2c700f2e89cc74d50ddec3900 +B = -73ec289010c03b2ca31ae5825b002f8d2f8384dc674d53880a50e289b84c1c1a64bd78e035f8e952d8e935332d271ac50917603e334c4ddcc74c0ef7c1495a3b586a63702c5d34f06db2b36b23150845b659c37b397d0a4c7cef144178a386d28e5766837d9a0e374072a902e5be3852ce0519380 +GCD = ebc5468c61f0fd4ea0aa687dc3390778f8c09b3cb3e95a4fe30a7066deb667db88730d6331b3bc1cb47616a46a0c8603a394601becd29a815ef80 + +A = -2e0e5fc49093a906628e9e46db3e1d740f72a572cb3407749ea43dc32be2ab4a0f14580c29d1a40647c2e778c68bb49cc0419ce9de51c42f2bbd77d64344bfd7f19af846f1ae396961a5f28f8cdcecce1a9a7e1a3624757a75127d047bf1bb4d2ac151760399d9c64d856a89c65019d7a057e2cd80 +B = -11805337a04695510025c7c8583a3b4e2ff969ec75a899ef5f359571c49467d2509faa0ca8009af84798da75632607e1d181a510f81d3f9a3af6b5cb9947afa71bbfc3d9f715968a85375831ba72028299e33f7e4f59b212079cf2edef2f5e18715c4c1e77e73ad8cb0ed235b73398798ebc12bf22 +GCD = 219ecbec4d671fa5b9eefbc8a0fc5ebfad06041589134b7f8559f1c6d5d4ec9fcc6e2fc6793a17323931dda067420067b08eddc8716cfd8bc7d2536 + +A = 1698769009b130a86faa6cb25aa286d770892edd267adb3b265958c9a49dc382de5361e9ccb26319cc27d16585ffedf0637958738ccddf7bcb5280e45a1c323cad72b34d022f59b7ea813bfb650c740ab47092cddb5ddcadc880c9e5c3fe5bc7c74caef8b88b264bac3632a9527e3834b3290df6403 +B = -a23b83d8eb0993a2a9a6011030177c675fe0cd8e0757e502082fc9384a39c2dac8d4056128d89c7bfc509ef29a818b3ab9da66e781e28010522ed625cebe4172ceeabc0a8191c0db4f9e004824631afe268af7d44e1883e07f71634aac006c60b82898b932e40655d87af6b8bc72fff4d17172e043 +GCD = 184b8443e4a246d6b8b3eece09c8a2f46826476cf5d02645e763fc82d915a4bb2c90b33e45e1671696ecf6c44796d80d00dadac6b1237b76096249 + +A = -40f89a0e67f77eae8ca0a49f0b66df0a90d75f7cfd08a294cea5d594daca79c13f5d4e74dc31554daeec693ab78378f5cbc2c4853809cc485b43eaabb7fa9265adf3ac5497adbcf2bc746a5023aba4fc8cabd28938a1460b2ff122a3cb3f1c0b831a86e5419e106ab1b4e3b1e38cd9056f36357b9af +B = -362fefd818d1c5f2a76ede54d0be2728e32cda5fc535885d8f65d90e953a58808d43ace7203d95b125f1308fdfeb00ae2e4b2002c690617fafecffcf5cbdbcf69378418fbe71ad90956e358bae6a0d78d4300f8c40b2382348bd76246169081233991d7bba235c4415c3b640c2df06c8cca611aa8e3 +GCD = 33ac061690bf4548fcc29a05f2804868dffbc0ee311af714fbc873c74b35ffa3dffe04b649bfadf05fe571afdc4bcd1609fe83ddf576c5ec2734f5 + +A = -15e1f05c1381306b7501c0fea671598fd6cfb53b27778e68e40ee79d0b3ad33d3ce5123f99c1552f2aba31054fe9b579d3d78fa63619c4d90cbb652fcc2e68408046acb69cb1a7b57ba420c0ecf57995d3fe1b970062f17a1c35449e7908da32875ea9ffa886a373179992c9f57c919f756ac2150066 +B = -d9f6b2044c6f95f5ce487ff5cb732670dec617e3740985acb5996d385ab7cefc4f675495e353c7ccb97e8902a891569fc7477c37467ab90236cc0a5e7093f2b477ce37d76dee2b922b4bdd05d4bb214626eae837e72761c32d6769ac9c5d967dc99c4736349ac0ef155aee59cfa4140c33b7504ae5a +GCD = e9493f51c5342ce3613efb829673772a28bd4425e268684c0286382c1785c1850019927be3aa788ad96ae463162cab7fabd350721f14d628902232 + +A = -2038137c239f3a7f9e9d2ed434c2f9492350f945d4a4950290df0a156cb94ef41e6a7942708b49e258e9a614cc9dbc7f48b1757192b651305e9ec29677131c636005ce1ea36d4d4d7fc32bd341647f4f842ff14a78294ebeb16fcc44a9b39c69a530444bc0e52a6d79143e846d176de1a2744273d910 +B = 4865069b26c718f0610fc45bbd1dcf3d3f9fdeecede27bf6ed8e0be9a8b77f9e1313f17381120d5adf3880ca0a608308b238d1210a2a7af3e2b4acef515991a4478217848bd46276b74fdcba352d426e64d36d4df5f6a89d565802f6f1a6bc5345b5a065294453e17750713b6465e51783632fb74298 +GCD = b1014148a7ba22acef4eae05bef50e7e45e6ccb04a459ef6f54fa020b8a539f9f47c6ebf79d343af5da7234a55ee45d721e4d5e0b798af53d5a268 + +A = a35858daa90f4fe0fbc8972983f24fbb68efd917ef8ae21a8d2c9d62d08a6e5da13c5cb5bf72382cd411c5eb89ba63edb54d5b34a193617e6b7149d94479870c8c1072acde2eb9954b51e628358246def27e863efc55322a28aa2082d75c1865a0c7e128a241ca0dfc97c6a6956be06ea8e8477afaf4 +B = -72ab83b853b1fc47ec4f0fded9a2c281f3d4177415e2bec33026e26f3cb8e88200c739e142074d9714407b177a36dcf3c36070063d9057501109ed19c3db5c5f97bfb14e4284f6fc6bcbc9768f4bbfe1c9ee1c3091445f862fe56f8e8bfb8db2996b66e647ed728c2ba3ac7c04938a1bc76b98a31af0 +GCD = 6cefcda22c30ab0fa89b4d82712356d12f5a2672e0d31687cdef039b9f2292b305b847c330e759e3fb5c276ad29ef38f2d60d790e70b1faf83d4144 + +A = be345e8fc34a17284af741c7cf0d885d1042f48ce5e6475913956cb8519d3506e5e071db788ff6f81c9917b1d0accc7319bf348bbb399ea22d99ad96c76fa89d8b6d4a3e0ffbd22502e3b018cdeb4debbed4269ce6f74dbfbacdc3f83632020960e289f247747277f7336b589cf9f83854553a5bb860 +B = 34131d13ad1fb2c3621f67718a324c4db373141d906802e673bc0229ccb5e205ae6563848fb218d6ef1b1cc97008836e0eaa6ea7c9fc00ff712c3edae0655ee7d58d7ddc03f8475c2b5c098fbf17de0e97efc8eec654af861861c493b57b76d3ddf2bf4b40b8ceb0e2398006c16d81b59b050a1e14c78 +GCD = 2fcf3e304ee24d66dc7a8c3bcf52eccbe508e3c12f1951407aba77cb8ef367323fbbeb9b7700ac96ef08909c94a0154f66f332ad480103a7e6d8338 + +A = -549d7d178daef5cb05e4e12fb881d3c0a49bfa37eacc23893292b7293082eb86fdcec97745af18aed017d7110e839b3dd907762beff45f5630a598a52a893e726d229e299c4264c0ad2fc4f54bec747537cca1a599ec4951f94cd343434b0bcfb772e91431e22f2892cb280c7fa4b43c5f3538c13fb4 +B = fe8666fddcab4c9520dca891c1757451b778591213a1943ef85f9e23f85bc4db4e1b0d5b7cfd354c84de41c675460a7a20e934df07ff30f93ad00a96fa9990b88caa4754d17429d04b8f3adc29f9d0682cdee2cc783d928cdc154e1b4506d6ec233bf14d0a77448606adb3df648b41472adaf6e86d73e +GCD = 4ff01f35a245dae14ee3fba70c3f06dc40007a11615dde076a13ecf5cee7a29bbdaad794f4801bf089131614b7a7b731e27c370b11a314ffe2c8442 + +A = 91fca0655d985d0a48f61070f899e9b1a993730a4e050df46dfcbb87853657a4807c21c14027bb72ed58dee5fd378295b5337f67070a9dd10162720f52da293f28f9f821482ddd2424a2843a7b71011ac40b9e9a024787563fd3bad45132080b8b7fac2525817a1a310fa74e4e6b0164a3c2b5a6d31f4 +B = 49f9fac8189229122779f80602d45d2f114011200d662df9559be0517551f2ab1ff7c4f8cb40ae8c453e1b3f17a8e1ac4ef9614438b8e65200b45fb1555a2f656fd2dc4e5b70b1b8aadebca59fb7ea51b4d28478add3a75f04239125822725458d404d9b0c12c2cfc7e3e3296138532310b7c19a4954f2 +GCD = 9c41888508264fac660b6f13049d0d8aceec75df39233f761f775845fc57ee9991c6d643341da4397ce7b37507c485dab704ecf30fe3375098de4a2 + +A = -d5636b21254fa09a4afa28c410c7f054d7a343c0b8b02af5bea4b436e50a7d365b530f36a61b81eb888c0cb117e4bea2a7080f238e0337747b3f6d2231e229b0acaeda580528c97932137942c84c5ccf79a88307ffc885e16f44e38b6519daea34a9f771dad78cf678a7c97ef6bd02e9b7b5cccafc3df4 +B = -b4bd518003cab694a4a5a19fa86de14f2aa94c473d24a1daeb1693477258962812562228dd9d7ee8cfe94d26296c081b455bb5387ce8f2da1d32ebd6eb6304e766782986037050f275f2d183beb5193f90842d765b2629107dcfca1622666e5908b0f1faed4fe4026f305bc59e64b8a3fb4ced86dc07e6 +GCD = 2d7f650c9ea137da64ad1ea979a9b37912f8e5460246790f9863c78664ed042c024d22dad8909db33925a5f96ad33ebf72d5fe5be8851dcac662564e + +A = 283369b25b345a445db025a9b3ba8b4b16234dd03875c5a3ac716ee7b5f903c7687ad19181e7e3ee928af8d4d29f03048172b84c6906570d27b696d395a16d0c42acf513c1e7ced504cf4f72d057c503800096bc9dd79f87ae34bd734b60b6a9939bbdb30e0268a5968d22a82a258fea497449dc5ba456a +B = -216cae4a75235a114aa89a9b4d6a5593f17f0b1990297215f213cc9e7a54c67c75289a09db8fcd668d75fccaffc36600e4030b40511e35b4d2c9efdb37f81dd082794d6d14c9d8d8651fd279e12262571731d8e1aff6bcb63d789f7393d1444ef19121755e25dca10c0c21844e16d0315bdbe1f4d2b0164 +GCD = 31303a60581a3924d1bae6e9641d022063e9278ffcf08a2d1a34b65fb9f9578a6f7d4e9b87fc81fd3020f0ef1eb69ddcf49132744d25c096c0e5effa + +A = -128ffcd17d717821707bebb8e9f981bf88520b709964c42ed568feb9e18a53c3fcb2b2147d01a64261d31b3c1b7528c21376e8437bb1d255502785022bc3e0dc8787f73440b91090727a51fb996b61b9ffdad9c43e913764839dd982bb1c9741bf905573e70b6e7b0471db298c85e44ee74c7412c06b59d4 +B = 1a771b29a19e8be7216cb670c57d2801364f682064a0bd9a3356a556da2e47b7ed08fed6b7bf16c53745d00ed7fdf6423bd385f72de2e396a1322453e96fa941906ec6ab3dde3c21be503025126d58559495f09b57c38a610b9d90da1e0d857ebc8258a43544e617a730b3c97976492570f969312b663aac +GCD = 2a4e74db8109672cd0e1b4c45f1b59f67a4fc4f7040048f56063d6e844c5d49412221a155848dd7da30f52d888c8f81639dba4beff684c1e22c786c3c + +A = -4e95166758c14a62731988165c67fdc3bc68b02d52e9af110c0c9ce4e911196f03217f8a7d54a6d12a61972ca1df4c8bd253674c847ac159f64f91a24f8e832309199736eca41e407f18f2bf18ebff9fe53f5de87e8d919d544150210014b7690bb006b09821d1bbd75a77138ca8c8a8ff1f5448f9147a88 +B = 5926e17df70df20896814a5dd08d6cf51830019d36b136c009136d518646fd3a77d4ce7dfc1aa9c33648b7946aa65f88544d608af691914d29fe4c29f60f55e58a2171e339333fc32a31edafa568b29590f6d1dd29d842774eb6701dcdff04a91e58d2826c2f024653ab3c92dabc011bdd0f76c03e6893f4 +GCD = d575d16c240a93ee16b05241c69c85edf9d11bb5a24baa9b06818a665c1110d6a82229312da519ddd652ab003d10c1ac442e314bebfc786eeb73ad2c + +A = a2ca7519384cb080569980a1ae22c782d773d44452fa405dd3d606e0b43911f82b8270ef948385f814e70ac095eb0def562389a867b042d3348da5caf5d584d189f7f26340e4a08e12d1b1206be7abdabe6ee9c9d0d7b577dbc20f8814a7e04232a8e6b61f13f3cc8c8427003c78f370c45a7b325e2f1d4 +B = -12a401e8d906beac59312ed0cae4dd6ce6a745022a1a704fd492541602d38d2cbfb6443c77eaaf9cf1ab4a2327bb52324be9381912bf538dc9e4442959482c40a9567b9fa6989b652406589dfe2f02b08ccf39cba85cd3c1061d42c905fb369af3c764f30cdcbee7ada624cf5d381dda68ee2dd203e98ba0c +GCD = 1dabe7e5fc836920b45fccb0ee6fdd36b9b2f5460eff40980cd013c3adeb3fab941215034d98361fed1f3210230189bc7536bd3eedf379e1dd24ab5ec + +A = -19c0879ba44d3e3972919ebc0ea6b242b121e593e817682bb419488717726083267cdfb5d9f5f4097d72877b935d973fb224fc35bfa3bef5950089766810e4dbacc04dc528f724d5e848524910a69a01bc899d194de5e3cca2cba60ad86d2bbfac7509d61b8fd4469b64c4ac1458cd48c15b6f987f992eadb +B = 2d8570618517ebedabe68659fc76b01ba278df8328d75c0fbdfa1530c21910f4e43ab6230717077c8aca4f418270dc8f290c7310363ded726f66de3c4e4992f76c9c6c26de623a32df133e006f5455bc5c72061e321e8d5d1469d937c2337c1299b5ab3822654cea10a503d1dbfa869aa4ceea8257da66bdb +GCD = 3594f8ff717c30f4c8aabe4dc8086b79330bdbc7c10aef171bfaaa28eeae6663a448157adc33004ee5e9dcde8f2c9d16c43d0cda95b29bc75a5c49923 + +A = 45896611f96f24b3765d63aeebcef9dadedf84e314c926d5c782da595c2c8bc4223288f616f3456c64635cf84dc3649c6040aa993d13f705e459729661e3ba0bf02a25f0f9108d47c630e92824f3ee76346c7d76cec4d6fe57e0afa67aacca8d534489a27fb23d10a82a44b315b2de982600f6567ff92244 +B = 12b62a7a4e0c0d3e830ce467cb87435d4b5162b780e13e50301fef5c3fa3a61af15d7122ed241b6771b198bdea5f3a38525f94ad4036dbe5fb86f08e40b5a9e0a5cac30c46896745afb52e261ab50b5fc3298e4521e7283ed210f697d5f0e0a69414774e5ad82830f1c56b154720b1c27946f49c00e56d99a +GCD = 4fd3c3efb8a8108f78a32fa3de1dad6eaf9c5078dd2985378938d6c3f8fa9ed30a2cb072d8d1c430bcf6d45f58e4a6475870b563bb72b945f69fb5682 + +A = -203c075e25bb76ece9bf8441de82b86e2ac215f4e4217894709b0256819b438a45051838410b7c32238cbb62785e3975a91d77286d584723fb3a0f598440904af00dc055bdb1931fbc8d3fc940e5af8f9d9b159bd2be17607be1d787c411e25b1e014436ccd787802474015c78a49a6e05de42c8d214722814 +B = -5410706a185e0febc19bb3e106d146c1cf63f61ab72d770ac9048c6069c665423216827721911e7c2f2ef6d0c9f2223506e1d3ae5e0a7ad866d7d2e2d1f4a3ad7f966f1ad2c8584146c30a5884f3c45caf60d784f2544541fe688964d3661fff7b03653de7b57543b6990ba4c2201b738ff6452762b65d31fc +GCD = 1cb76da3e6d75f90901e5a968d994d467180f26eafde55232c8dd72acb136bc044b2b1a1fce1e93e2ccfc01d00e541e208b8092ec77b7f1afce9f6d6ec + +A = aca40d6e53c58740ecc2d8e3faca8590390ae0fbfc634c065ddb53062164cd646ac2aa4dcf6107d9a6c74bbc013d8da5cd99ba62e5e90e6ed44dc1a1ade96d402d297a265a4861c2d32d2edee48c02e20a38eef1a7eb698661a03d5f1f11d0c56ff71a34110e5a0003fa83329cc860eb74347e86084f806ee5 +B = 213fd4fd30cb71b48b070590f5e32e479dc5cd3c4647a582e7a259e59fc50ff12d086a637720ed9f77ea7496e233932d2ba95d8375d09d0a559bef64cdaa3e5c3d635d8e32456a9c0d3d9182a2a899de5916a747c5c2493bbae171775d8850df88341872547766f8488acceccc49d88988e2aae3a7942fb005 +GCD = 149f0d624a09ed71cfa35f28d42e0d74ffda6b91a522ca050e3b51b85c57282b3c181ec6a3a792b187c284e99961ca8c1fda63b1d44b48c6d1857a5275 + +A = -251d8412b8d830274ae7afee7350de4a6f85be2f3137544e060c71da2a134f12a50a12d5fea6ec9f80184c11142a99453e42098fec72c6a7138094576687fc501833ca08532fb66c4c67183c0d1aac05257b26dd2ae69f26bca68b70fd5aa74a625b0d2fd8b3226ff2ae84a2831408d9ed3d186e2dba4e1cea4 +B = -2049c4a7415046d0713ec915d86ba58fe131ddb697231fa35daaabe60bb1ca0e59429062812706a6bfe543d0c659bde19af203666ae289648f068ab574e26704e156c0146acc25e6134c59b070851f502925c8fedacc7a71c4f7f1f6986cc077e80313b2b3d4976a265ba108b792e4fc24a446e1774012386c3 +GCD = 88d12b39d37215c55f3c5d8fbb240c59eefbb4ea896180fc95e7c82bf4125b10fb3e3a2a80a08e8300765609dcf67d7f5672a7c8ac1de07a879de4a243 + +A = f83eb1415c011049d463038d7db7af6e1557f763e723021c14314cdb37acfe2001eeddc8fb8afb676b2f8f1e1dbf78808c5147b4feafc8c425fc917c54e5b60af824194dc4d2a50b74eb3b14dcc6e99c4ffc068efd67a3d4886f85eeddea92aa09f58199b560d493f6d667ade709d6d469a41e1feca789cfae0 +B = ce7e7861e1c786e9d7e42c0a7131cdcaa7b36cdbe8458e2a7f2d5a16b3feede8e12e91ea24fcc01a832866ddc831f044053545c6182cbf2e9e1e1f6d50d1394920d64c99ac6071b8b8ff8a62de638c6904638d75add920bbf06c79929d6a44a923e60f9c1b9330f196b69571dd7e7397939cb91f52372a97a14 +GCD = 738c2164f5ed456dbefbce33b22fb44dcfd78872accdba08f621b79a78c2dbcc7b12ff67a24f15d183ef1fecb37ae1ce305585b681e83eedcb6563a65c + +A = -138af74759224667b0149821b2d1622437a80b8306f243e0f03fae2dd106004b18fd68cdd5a2dc2a2b20678c0cea6b4423154cebac3374880b58c2895122daaafbbba75540b31324f36d26107a32ea056e2bee52234a3f54cb4fc81f75322f5826adb80dca1f416d859e8ee48b6fc3e6962cfce88e89371cf3af +B = -71480328253bafe5b9968c0a3e6871949eabc3acd98096747db188fc534729f17f564c5324cb6e229e06bab4ad4764b66a0c642ee4fdeeadff48df016f57dabc378c05a348390e9429f49057bb09754ea803fa3fbdeccf8b459733bbeccbff1415241a8c14a6b76a82afae5e71ce49c84b88dda7896e9b92c08 +GCD = bbea99bd98e6a6a293dc79e1628603b7ccd0bccc1713ea5610e1d4e7bf4cf41aa73e4ad7c86047b7b756afa41762917ba81414bcde22e573e5d38be4b3 + +A = c6ecd02ebaa7fa09eb1b4bab64a0a21a340641ebccd545d05f2d723b711d25c522a9206c5a6b506fe2e19d13da4aaf41284d76ad12c3b9d509914287a8bf4a012bdba4f270f44bacd3d523e3a600bd51a900e414df83a4454d6252709f4c07bb4d9f03a397f3dc1db7ddffaedc119ef769e96b849345d4200ed0 +B = dc4a269266fc3d7a1b84666eed3fd1a1a2387354cdcb8a0a7f84ddbc1954e00a18a73698fcdc5ed75fb262fed30cec241152305fd7af2a7fa8cc7a90f4ddd686c7b4425cf199a8a5161c0552d22f47a13baa30569ea17d7ab13e2db73cd9eb879938229535dffc62f83783388c664f64c6cb037fceed9c0c902a +GCD = 1242c618cb49b1e5f0414bf98db968d0aaa4ced8b22862e72ad7c06b7d4ee6acaf6a53b2ec54111e23c8698463d44d41bc568ce6aa44e8d39b868915666 + +A = -68767e6f7b1b1f1b7791c6d124ea675768e43624642c0a18c02c65b17c23b21b21ab7c389bd263d778d85df4e7e9e068151cf54e46956c62a6a3a15990ddc912f672ed3f426300d69737309cb327dbf50fa3abc0e77fbe40a3142a9ca52e773fe988ec5e98a0d4eeb059f27bc39bd23786f6c55fba384cae97db0 +B = 49b702d1f7a2f770a37cd2d80fb5880ec0e567ddef08a26d471287379b7893d1139b5614da27262e303e8901161cec8bee11d8b58ad4c055313a996c401b14a09a0e52f053530d57bb21c0f1cf87bc87195efd2aa06737c4087f4c44ce794be02569fdb8a1d3c14ab31cea1a7b865bc8e007d547e601a5d60c6f8 +GCD = 3ba56275ca3b715d77e7b42b719660165c6da197d768cdb21663cc86ef4ef633d9ef5a32ebbe1784d35a8ce36573589623beef5ee27403d97d78b04b8a8 + +A = -127aaab3e40c06285a2eccf231e529c4e7a9119beec49c036f2c9c36e7a697d92c123a6dc842053a3a862648bf3f5b5159da1d750ae40b97734157093eb3070924d0c45652e9b003f6c8207556fe7e93d26f3760fdb922aa9667979f33bf82f8941348e354aa8e42d11143544a87991a5d01bf4825be68612a1fe6 +B = -ea59227edde6e23afd14a7ac889dd8ea7a160a63da1cf2ce94a55690b9580426c3df0a51073599138b567e2cc9fa3ffd7eb2ab2262b909052aed284a4b14a15498a03f7c976f4db515a70c799b483463d4c35b794fd72a1fdc6a71974a3ab63636a19e3ebc2a6b7a3763fb5fe7894ec17e03fe105b5a2cd530bf5 +GCD = 4de82f2e206104ead6ca55c0c2cff048d442cf31ffcb73535dafadbfddd1a6c115968c4b428b1ebef88a48093b2b56a09e15f2c12a941c70f772551a289 + +A = 95a6b512180e78225517d22c10ec89f570041c4d11ac1439aea052c804b81f8d2054021a7f5952d4e3a1ecf8a8d808cc752d2b71569aa8cd62f86c179a7ca1a03eefc68797928820f8bda731edac663d77cc40966a8bf0e4a291260cce7a201ecdd72754cdc4d9c285944e5642414918a3fdbf4ddcfc073b2303a +B = 3f7302e6a5a72d29302a27941fbcd36bdf744aceb77c0e19e13fc5a53def6defb13a9ac64e602ad3d0577b6b7034484cb0b5c03ce9c4cc042657df7c9f913fb6ee3729b1a82e7f32a798925bd6417689d5fe8df008fd8c3911bcb91274c2e32f892a69ad546a0f77a789dbef9bb0d7bfa5c8eaf5f00728cc60bf26 +GCD = 8977794c5a5e9f46a1f6e84100acf294b57edcbbd2ed9dde67d51eb92885b2738878cbfc5da2bd899434ff43350d4d7ec78aa4944da59ad135ead3c0d3a + +A = 693cef3efdf58a4906251a2a3be417188a977fec58353d8945484abb5377aae6f51de48f384c7376ceb4dc60676a538b2e65adc40f5ac6fcba8c745cb0294772c770ecf49f5ad784aa9124e44483537a814c2dc2a75d0dfd57fce4e1294a224dbbaa400de6440ccb594a654cb1d0cdb9a86d74002ec2f6f6c81ba1 +B = -3745231d4c7e85d22d5b2a7b511e34a5e5921fab4650333e0799e6263801d7bb212c97002a0eacdd23c345d8f3bf1dc39187e2f992fc03d6a74943d5505dbc6d99f756c9cd4c007ad555452d1544c189214f04d723eb8e26e8f487e024e06fe45e3d0c7e178d7645fc3e3e404e00a323b701eb27d5e2ff0e24fd22 +GCD = 1e39c2da58a27cc13ed1c28e5ff514304e69bc3a61f002f15916ae6ed530668816fcf158c31cbf4e0bbbd881827afd65428249086245bf5e31ea36dd4225 + +A = -513b395f1a78a339e9113fd5c86f1f88665a1838bb46401bb049eb868817d6e79041f8b654045f9dd874bdebd02474eb276c7bcc5cd951935d15a3d3319af96697ee288762d4c2bee28ff2713f088d14de57f8418ddadcf1bb3b657f4b02f544cd9200ac8e2a871c8b9400433d99ed7e395895117307cfeada1616a +B = 3cc965070c64eb6ca304ce8c477855d955f93e712e2b1fe87be8408eec38078d71c4fda775342a34f88ebb2e00fbb4204b0b32f10017b9d64c2901112bc85fcfc4361cd49c6f482982c5e81d53e92cdede2338c3ecdb99af66f56bb64daf57a5c8af9a8ebabf745a7a057f93abf5247f5f8bb348acb8fb7db29550e +GCD = 7df3ca64d56be96e30807b7bf9e24ca7080b08bff91fd302f58f15750b37d27c3f926629d841b88fd49e922932601fdf16a99fb36b0f27d768e4d7ae5b5e + +A = fbcd99875c5084f1a0c59b5d1fe603fa71f69d3c6fbfc143a7bfa726dc9d71401860e3c9680139f1112b40456fcef378e7342892ef8433294d45899ae081b6f4df708a0e74626a433ca8e9214b69f0fcad6aa3c53d65f5ee45564177fb8b66d3868d9b2f1e66f04016ae835f2f2d857a33e553e64ccf204239bc5f8 +B = d977b0fd86671b667777d021cd003325ee3918564fa2a51f6e77aafbcce042b5f565bc95c5fc9e1b8bbe35e17e37c22c2faabf883fde575c92df7a7f01db9b9c0726808ac70f320b9af5ce6cdeede6db98a3592a59cfdebcb14af2aa86bc92c281d70fbe6f4ed3fa0444717bebfeaa715fc4a7ff3d8ea1508759ab0 +GCD = 43a145da2e0e11169332db03d9e65b6f258c36e5a10b9c00bbbb6395e6597b19b23e78568e931984304c841db119ebbba8a0b41ffe5f4e23c7249ccd5c88 + +A = 38d916967815a8a1b9c77c39e9b9cb68b9f5350da609c2cfb904a77cdb46ec97d27261c1a40da198d6b4bb14c7aa76cc9b57fb2b09fc4bad131a01cef9ea7eff248d158be35c2c185357c43f7b5603c46973e06c151ef7475479c375e3ff408f754cd162bfd6cfd1897ff7ca409284d3e873689e3d9d0e61deb1cb99 +B = 49545674a69872a10218e111c9da7b19f75c87bcc5129349cd29f87a01a5c498870a5318849a92b715e7575c7a46c07b4f17d34b456b7c72f4f78a1017ce9036f1040b135f9f9c0c556ad9255918d939dcc442a8b8ef576f71686e13dce788fb3773c749d8eb93344daa67f039579ad47bd62a1afc4a5818d360c9af +GCD = b5bc5937a6c81084ee5da4adcde46f5f476b1cd5b42c14d4e1eb30d912bb5fec64c9bb0e5337cc85087bc09cef3debfbf584c21b6c3df913c61346c4711f + +A = -bd708af6c65e7bb058bd313bc49ec919309bb291adc7fd28f57f7cbb1f1d981bf870ac738ba863fef2da0f8734c821fe985aaee4fc64db5ad6e7c55f5cb8dd4c9554b804b4f34e15689dcd2763316a84c628c802e58499bc3b5435bae10190f0ada815625fd5cbb6efae464746f191bdaf935343e94ae1e3d1ac7b91 +B = -a23c7040e19ad5414e36e9765b6db062bd8f0c56058abd95b1cfccfd7eb4bf030d19831c802b18b666532c20fe4ebacf1e530da650b8ed47695da3a3f25b7ecce8cffdf4eca155d8d6d2d6e37a3b398156e2f8bc2946161215e195e4a1feb5c8b7c4bbbbd03e706c05ca05e1add1096ad67e58e974c1558417509c28 +GCD = 12cf97727e27ae47b69ff22fe8cb90a81649539c3c6c6128b20c270ca7057953e0d7fd9d79be1bc408c60f6ab2ae27b25961996f1acb272b179676f7185e7 + +A = 2ab0e6ba66ccfeff73b17a0aee7e9aa1d4abfb9c6755887f98fffc1fb1941c0f6de791ce56ee6a4169e0b0d86277f692a5e1ee871439c12850367c9667c0ddd736e31485f15ca10ac5beface9d7b4f0262fc3a8ebc71b3a3f0a8faeb6955c55f1010250cdb01baec3538f364cb9cee5180f36414531207274db53e338 +B = -8392986106b73f2bad56055c9ad846493527013ce88c38f926a342fb0155f5ef505d1294003fd3078b4bf64c2037df9135992bee219c79bd48c7d25ca40dbda361a9d24174588dfb6825317448ef5ec9f00593cf03e2555f6c7f37cabc73434185ceacc7a1d8bd4dc0abf87c571348f65432a2681a4afeab44e06438 +GCD = 22815e36702fa7487e6cef961cbee77287170245c74b37edefb86302d13a2efcc2e80a1c41b93bff4654d7d126dd6ea358a043f7dc0de17363b206d08dfe8 + +A = 98660d75d759865da5b72d224d114ac0cd615edf0bee553522878cd58c1e2899f88423f3c3f3cabcf99b20343fc1fe5d2ae9fa7ebdf7693329c96852f3149818c65d72da9d82e7e18b6144eced2f33f1797569f4fbff3d6826de35cacf30f4cbe78dc01166ba5a11673d0a5826e0b24e45675cd1e1f7acb876b8bd5a8 +B = -4ff9dc61cfae64efe7300b8831782a71dc73ce10124598e6610f5b0d99fbda0aca67d52bf77aa2478e654651f94c338d80eab969a6afaa714aaf28f3d76063f7366299cb982db59f873535d4b87c2019b21a5f72340183d93746ae9fa5259e4a14f59077eecc1118f981a333f60e5cdfebdbcc5cc0f04dd054c0fcb88 +GCD = 47760b38bb7ecb7ef17a910843df934dd4c6183b2d3fbc243a61a09a86f520fe26ecb245e10873a1e2eace8c416b0a1ac48e1ffba8c77fb6c639b5c1a2158 + +A = 2f6e87afcb85ddfadd400724f05f400c6df3fd050df7e82b2b1d13eec135ec933145b6ace02de4fd628485de5754ddad42a7a739d6f92f84161821503431aac74c77ce2d73697d336278d2edb0d4e8ad4963654f83505169f24dd514fecae11e97bb7d845620f9e98c06acd9003c4f5e88d49bf054b42ee10bdb0b87d8 +B = 4bb4cf7d6be4ff65d61b0eb51a9da0f9627b2a2fd47cf200dc2936dec8e447adfdaaf59aa0461a585a7b9e6d09d153f42cde62d5d45fbe76ddca200772c26877a81c4546118d8a4eb1f1e37cb81f69d83b9bf82b30211d1b7d62d3296574148023efc92b87ab0c5b436eb9879ea9473c38a5c0f91e48f4613ebd78ee30 +GCD = d93e2f0f2fc45727ceeb2518f390f16a86766578f20cac064816268b00a2536b9294017dfb6906febb8c2a37e6d759d9469e174be737f80476c4b11690268 + +A = 4e7982f0c2a5bc14095e232c0fc8c042ac084553304472585d9bc19dda0a67af01c054c252596b493945bf24ebabbc677ca1f17243446ace0ef332c8b274a9e8ce78435e7cb0ec1dbc548e71e9943f618b799524317b3b4bf96b81a609569bf756df84279478eba30e64c28245c9365e6e4529a2309a7d8bbf9c569ef8 +B = 988ba75e045aee5d9ae328204221bff8198026f60732fc237958c461687267a716167dbb8208f57bff67ca01b51509352c09d07b4cdfa3a6b1c2c54a563794f688193bafdf5e1135c7f5f8298364ac39e3a1203fe3d5084022d83f948a9e1eb1d2e2e6962d47c31a4b845bdb7b0e487c81d0325a6fc0e327728f9ff274 +GCD = 3677decdb3cc82c048591e67832d5f1d0d0ec4981b5a1db3c1947aadb8734c66032d8feab033d5f3939e6a7057de6d45062da93e872222c2824458ad06cfc4 + +A = -14eda5a73a01d371ff172abbf56fb9955cdc957ba14b5bb50bb7d8653edd85bbf77f88b19c0f0a404c432133082275fa0bf0773d284eb0cb22960c7926bc1e155b44effad6a630ed4104e88c745ffc72aebc944fd92c16394fd79ae59e60c253df0b3af16c3c3e9b2f2c8be6af669ed8bc14819f588687d81f2c9e8455e +B = -4181eefb147341f1ead133ada8563629f09b6bfd0ceedb0b00eac1042a988628330bc5f399fda4c60daac3f07ed43f4d8a35eeb02b63f03a732909ff81be8ea9c8fa3c7da6f44201e950e3dfa8742c92f3bcbf7f246c7cef64439387f0466f1ff8dbb7c3094a6cd79c6bfec33dca8895d13213f831b00ed28eed9b8792f +GCD = 228ef71b4dd7f5e653351ce15f2f96866658af3f69fd5131069be9d67fe302864062a91605a057077f32705041aab5cdfd9cd9d3b2e40b064efe871c75bda9 + +A = 919950e68b598cbf741370b1fc2a79fc0807909475ebfb3cca608602dbbd609c2fa0d5eb5a7d4c4001fd60dd68739582af356881dc06ff3a5250348c6b05ff2e345bff7109afb5eec3ee95b3e0b6460d43676a792ea15799b23e1131481e8a2a84a77697b5d481f1efb38ce74260087546f77826a4bc77f027ef51f8808 +B = c6847029954c3f457a4eb7e1729434b1b91b0e91f9cc57723d15dcd22d44ef5e838425d627b9081f7ab2402737a41cd88fdfa587042b0afd380bab111070f37ab9d9cd7c8e451d966166c1259d2be0ee713f5b306a7d3d92ccd53ac4a3542c04bec219545e6496a3bd9edeec46d864f81c445b6ede3480a0b050eb7967c +GCD = 4ec2fead1ba8656e2c3a7dc3af75f3abcda59b85a7f5881fa70f61cd0584ae84d92e21b3504ed80a42ea2486faf6b1db3e0b2811b5b3cfff028fb35a4a794c + +A = 2ccd42079ec1eb205fb71bb5b2de3049710b6d29095d3604f3843b1faec4d42825dc0882a8cf3190cbd643f837cea97d0f71b9cf1a70dd519a5df05ae9dbd879130c151974caa059dceddbbcb779c42cc2c7122fde58c91c5cd1d23b07470df75ef81e1fd7dbaca8966ce8e06423a067f3a280f101ef1c3f2e85b8508fb7 +B = 3243ff9962b4f282ffc4871c26ddee9d1cce6e17a3fe923ac6c301dc6073bbe21cb6f39be6d8392702ab4f9b7b52fa1f7333073724cba5465b5d9287abb1a702119e607c1dcfb2d109375ea729d8f741c7e0e1690e10f91b580132c8038a0901f5146415c1df7c822a5e2b1169b11ba9848ff198991621363989b82afda8 +GCD = d8e3457831ac26b35f7f5e0d759476364c22231ccf31a3fb1757f6f19eb70e72ce638fea07c49cf6e55df46fbd7e6dc736c929b212192d5b10835153cdc5a9 + +A = 3ab22ca0fb114a3cf0e1a524752badae7b41658e30a13b7422276048acdc1cb77320c9b792f0e7558c0e79891c1457f63e7ce9950a3cdf3445b4a599741f9306dae697672666d5eadfc2a570fdc1917e5a1d360845e89fc1dd4d541dfbf2c8ce54113240d853186f5bd71dac2f336888340905e8f99df0f3c4f4f33e51f6 +B = cf7a7fbdc191b36c7c43ce87e244478ceb0fb26d379bc94262bb0bc2996307172425efb57adc446dbb8b5da556fbb05b2e89135bab0dddba0200c5308c9a104a7ee54b9f6b099fb6164056693f1913636ec753a9c2f429976c7f522cb0bbf22599149f53925f5678f44559563381882353a98f7ad6b08761d89561beec80 +GCD = 1b264ecbb1e5dac047c91b5514d56e098c71c0d98a0fbe7c63f8a38dcbe2f5c37d354d5ad4ef1bdf918c4e15f8dbdd0d75ad44f6ca111fb37ac076f61e62426 + +A = a1bf367279dab65e06110c2dd811a96e54c2a3de86f7e5144203ccaf83bc59e8f9e3fb65bb3f32675f74eeb27f8c321964d7dbfb56e25074a836d7e559027285da0d97df7170137ea867b5af70c17f764079211e7bf3a5ae9f815237731bee6c5a4d6cc48bfb1eaeee6148b102035340831554df253599be539edf856c92 +B = 2497f8eb01c2c60b5c5f14aa63eea6820059b18be163b2b38cc6c9ab53956e451187ce20f31c0b4f7d2113a79728e6f5c578c3b09739647c1186f18d0f2575ccd47f7b7700715677c25ac4926209d5bd7dd50e33c497e0e0653b57701748d5988bdee1f632476e47771ac1b4894ca5165e9d4872a73b457c8a54c2f54c38a +GCD = bc70cf3f602b6057f8e672eb7cd6f89de87d52b7926de031456ce68929b824309b5bc6e2f9b0b5653d91d305c21aaf592cd27a71d00c060a1565e81cd8a2602 + +A = 910f9ad46827e511f8be5fb4a190710bf8a18ebbf2fe45778a4088e2560ff2ee0456c287368e9fbc7d44a539fcb116d6b12c7c8dfe312da6fb3ff1fe8029da86e212772826e9eec7e202e8d5f977d7c7646a3a5116bebea317861beb89fe50f5d03ade992e97d216e143fb60ce773b956764116c6e481ef971a7868277a7c +B = 80ec11e11511fc5f21caf2f45c38b1e01bdbffbd7bc88c902ebb43a18c14e8ccd80f7d6e48f2b06fd582cdb9b4c9465fd7818b43eeea308ad4211d2e55e745b69514fcb5f623d80095a4334e1261a101c524eb39219ed185afa9d9f1ee84494c4a9fb80985a781eeb2baa5b705b5fc7e11b130f26bee0b18402ccb1fccfc +GCD = df8c939bf1c3ebc939e26d20722bc605983378877c1bd88e9a7f33890406da770f82bf6802105f388e34bc3fa59ef6b1ed652e88c4c4bd0cc92db814bd2b19c + +A = -31110cf46b0ff782c66d87a58f873e7f55f51cb80ef55cebc13f32b09270fb7438313490c600e865799e95acf69f3f9d034c50d7f450c19ad312f00b53e13014440f519e5a6cfa080834defac6be2399a0de7e8b82a40194d505ba98b3043f0dc035549669256333c0c8aa0612b870398bec4f5cd64a0d8c39d5fe4e71419a +B = -4c7f31f475c282eb7ffd707d0b99330bba1a54466ed6b04c2bab0dbe51eeae73017c4cd45307e518f21e8730bdbf55bead1a70b0016e53cf02660493e805edfa0fc85fc04a4d83c967af98da541403ac815880e8761e458a6a79d35114d3bfc2a145ccb6eb87b3fbc99ac8ee147089a9b99770b96cd380dbfb932717c09946 +GCD = adb1501bd969e78f553e43b80e2b62db8fb62faaf5296e3981228a0cca34848408b2d6db9c7f6b911f5ad64d99adb1cc74b041959576e2683112f8b5080af36 + +A = 117d79a7564215386488902f48d6e8b50c034bbdb1e810f42a1c27dfe2da840eb89e9f4716a841a15ec7145de969325bab67bcb50e4874756468a2fd160996840d5c0df9295e5e12ea30d657ad1d097eaa2e74c641a9cf73dca638f13479ddeabb40914fb0901ec7b6539b62b7c30bc2ff785752a59f9485bf4c0e41db26b34 +B = f448af3a6583cf606497e82c7e1537350d1da13f008c31c4d1ac4a07632851f6141189dbc0dd03cc5136ec17ec8d3ef4b50b89497777b8514dc2c25057be55dc6cabfcd0d4de1adbbd65b2ed69f39bbb81994f32778c9238b0fe54362534fc105cf8a4ae767fbec8c6bccaf1610334bcf0ad7d8b5463f171f0d531e215cd4 +GCD = 19be1a451384eb66801bfbfc93a17e675b17a4dfc8335a7ccf4fdae172ef6933df35d602701d1d16532e1b8053f3be021f89968463fb47191814c2bdaf08118c + +A = -734574d9318e8c540f60023869d9429d619eb9e0de390ae72d7e1cddce372edac46c101e21e2b92b2289953c20d40465178dcae5b744a945dd96ed6a1236b8ff14c66ba8d25fe6cab31d6fd3e0fbd62d2b421f91f185f1d8ad77cb71286489f6159b4305fe665e88daef12c28a77dd61bbde725e852ca09c010e6d6c6c34a9 +B = -6c0f3adfff1e856a75c60cafaa68a0675cf96eafb0b611e42c0194d0b06a957980bb5ba074b04a02f3b8d55bb1d3578e4424de407bca731aecd2c098e99a8bb56252f392847c8589c7cafde16d27a72a7aad96b2245516cbad804a9bea22061634d283bbb2be406c2ae89a84435263518c33ef2b1a50027dbae69ea32b33545 +GCD = 3edcb3fc86abfe9890b558555644e2143fb68f80f63a7a71226c62672786c1dfee151bd28c0193e235c59aecce29f50a12e3a5e1ecd94c4e84db9cc932ade877 + +A = -15c331aaef740df8cfc9062e52a59f12bfad55ef1eda131ec4607436c87f5fd15393c9e8b6a4234fb5d85199194e06a8f6898f0b1d62a8eb7fb715b27474213cbbcae6a999ae8578442c4ab214487bb12974224e7f9e787b0dc7be2a82a3edc6d7b57689b7e2ff67da9b5b332a9d5db38c0bc080f46198825966a850461a47e8 +B = -28d3dc89c376ea218114791d79e05ad9c6a9666d195fe642c18c971e8c2f26c0089d503cb805ac65f4f475cc25e9bbac40c82570bab7da7071c033259bf720c2a6f9d0ee87b2b27fc9a21a0ff15e2142e9f761c946a2e2fc4b7bf472d2c492635d6b2b94117d3fcda8dac96d96b9eee10060ae233de008726087391b6eeae90 +GCD = 177de3b3b459367dd89048f3ded5a7de235cd417dc70e0e3d381bd5c200e812b307d1c4e09a78fc6d7016d3d30c9927c0eb678c8c3d87c8b539d375c45f459b38 + +A = 285695b9482127e98e8806fde3da4fa50c2e8245d3fdefdde6d8edbea9ef8e9d16a295794d720d9b652e2e54c42ff349c395f855818b441be2a43119969517f9d541a39c19cdd772b180ae4770022fe5c53361fa34428853d2e7c680d1d90cc3521f2f13213c8cef04cd82203f174336ded2bbfac3bb304036cc1a1c8743bec0 +B = 47cdfd479a80ff62478a8a9cc4628a6bfc4131ef84deb0f02465eac7bf710361199318fd9a4b032c0b385d4c7392af948b8f89bf188620861fdb60bc6cd74bdb544c58634b20b9ee1225ed2f24e7878c62865521c8ad6263a9d19fc3cb0e779e1ea8d370c3f0df037d660ba1b01c7a9fc2f71b416ccdf4f53a3a350e49579374 +GCD = 13e8a2a0a5386b21bd4dcb1585260b9ae40f3c9941a13507396979da9415fcb76fe623cd0ca24bf088cc59f8b05f4daeba906505d5ee6c94902cc18688c9a4a04 + +A = -14f94518745c5fd856fd8b5080bff3df9631e1e9a4d4dbe038d86f9cfe21ee39aab3ed16e569ce7ac70995a328ce34dffd70565716b372a9af31ff1acb71846a66a37a6c9eea6df183b6c8ca4c57dec2a1bab9bda1bf498fa08c489fc4603f4f8066060eb1f0b29ad82b89c691254c93fe607cf4ee123e0b0d02e907c6e707880 +B = d7c5dbdc000192905bf5631f7828b7f24f183912a3901a2b1432943031cc82cf257ab78fa32adc5c18f6dcc38bfa7da6fcc6c71fce34d317861568dd026aa3a7afd53b31a425477598a4348b833fd85d62aa17bc1ca188c36a67d6ca56210cd2a2205c46797ac9cac519a8ac55f5880ec7a0b207ccd8abcc7f9b0b8e5eeeea4c +GCD = 2e8cfbf2e67195e00a24c0453dd876590a22c680eed6ea0a790567947e97bf9501a1d4ed29bf0a09a45fbbe8346fd2587f07734c6604589e6d13d654a2deae6ec + +A = 3febfd8136abc153063b564a10e4d0bfe9c47c9d193071bf144a56ba6855e06142d3007373d223518382e7e09470f2f2105137d7ab2f8faa1e5d3bf280989068a253982a2a312b2c2e68500f40b4eb582a8fbc338eb80a582939cc7925ecaeded2da499bae15b7625c75b2e90484e0e323efbf953c6bf60be1c99904f573b6823 +B = -11a39f49857c5be8a407e1324c3bdb7bd74e3744d2aca071ff3528a0d86546ac7e86b4fdfbb4adcbf691976d530cc1e45690eb65c1c64a6c67beb53c8f6589dd08b6506d7d515c4206da4b5e072fe0a7dc64c3e5f4d46c32a1e8fa1edefc39ced8f80f49ec160de6d29ccfcaa932680c2a7a59a4aaaa9b300716c3c16b37557a2 +GCD = 36273d81ada020314268b98cd3d7c5c5f198c49aac7ebbef207c93900a53a11ebf8a182e1a99b58cb391b0c11cd68377b471d377f231803003a84d6a9d73a30c3 + +A = ab69da9bede9e556bdf493c1096c5bf522b116c3a06b0d5705b51b70971c81832a97b6fde4e3cca8e1beb24ed68114954474f0530f1ed8b039a401d5c348c7e3ce3ace1c2ffaede886ab18b1f769f95b9beb6590d5157b39a1f09e12694a11877827b4b2957909b085a6cd2fc4ae84aefd52b8277e7271f3e0b1bb45cbf20d9a8 +B = cd5e6e26686a71497f72cb3a579840129317aeaa3f69a74afec69740af77b2bc0d735708294da2057dccc3ce07ea4371313ef88ba7b0a5e7e883e96a9bd0cc3be1c8048e47638d0598178b65eef20c4df2b9d7a2e0726f6d0ca6f5cecfe3fe4923b23e2b2ee92e2b4a888992ae67732cb6a75c25d9a9c35635b7ec08e09c1fa9e +GCD = 75f66162283dae4916bb95d00f35d29e514d49b0755cf871f6424dff7010dcba0f5a07e69b7ed097c346c3e8c2ebed2db66f7c946dca8c95cbdec761244d7789a + +A = 57af33f645d148750b1ad790d50ba6e97731108bf8bd4c351a79842fea8b595da51dd5a25a9ffdabc75683c4a058b8cad823b22c513eccf215a8f44f70f7a491765a70d1867874377464104949fb0f76a4a20e4bd4049874817049529dd7d2fa5c020bf4e4b4699d130b9a9208274aa3947cee267239042ff0b263343fd7f8c16a +B = -39dc77cdbbbfe740d05291eba1390db06831af0bce8bc093cb1684d59fcab36a4b26b2efa4bfb20d949d4922ff9cc64e26238648810021eec9d700638efa292f2bbbe68d42fca1680871c37a2731177d4302516baecd5850a59705fd6a471a15be5d19ce108a927a1ef42316c768f242fb7e9dceb385ef388a68cbfbe7d165c304 +GCD = 1b7cc6a8cd7ee5860029fc0657ecaed3a9ff8b7dac0277082995585e79acecb34fba5dcfa64849f67e2d25d129aa09704da1995aec86558c542ccb35019e39bb5e + +A = -17eb0227bc4867601423b5578e3af81af1d062074185c77cfbc52b0d629149bcad356d4203abe524b479500d9a54ff21bdbec39ea33b29de6cd9ba67d35105226719a34f7647ec9be5617dc99a651815f67830be1118a957676b997fd3cf8aeaf9e3658c8b858ef32918aa98b9b9bd6c7c7f0ec3b283f80bc7a4acf95e43cbc8a2 +B = 895785843bd944158c829a11236a374bb9a186f6fc397944d9809bde5f1095a355e932835794e01e64f493d1c3de93043979e09aebbf9177295440b616d19014698f0a9c46e03cdaca95e4c2c768801ecb543c11d0ec9643472076f563602652ef5996e5ae3bdccbe52083acfda3f4ab1ed74a279f179401bdf5ce24f7fc2cec7c +GCD = 22e878c652b96562f3bacfed268adcf3982327e5f5a4d271b7547303f2ca7037565b8075e62040f61bc746b71edaef503868cd53b2e216302535ae687fa0eb73e6 + +A = 42831fc823be26d259c1a55c2be8c179be174b62ae1d5322e445a2aa0e5a0323edbf8afa3220853322798bdb1f115b421e94e236239064b576f69ef60cfec499d9aea749157dda1a2de4495ec93775afcedfc030366a6630d927db392ba842002e67dc4412ec6a61a4724221107ec433cdf192d944cef4e61f5548df3d3dbac6ed2 +B = 34bc92fcc7a6b235184c18617dcc257000379ed708417900e69eaa9ba1a8931adeb89aa07d2c734186b018934844099b77f4088f17b98e990a696563bb7e9cd2ec4a13e9d1d39465f78428cae6ec1918afb3a4b83af34e7f0cd5982cafddb9f4c16e06bb96520a60f314e9ae311562d2e7d7b709e9a21b0d1ac92265d910acf3cfd +GCD = 22d817c2334ab652927ddc39965cb39547d0e7f38351b738fb89505b01330b8e221064849d3b24d59ffaaa26f6b6ade2ec7a4834f7791c267438bd91836a4542d7 + +A = 9d7fe1db937e25604935d50dbfa3aaaa34f082fd4666560cfd0b4f485fa5e9a2a123190c7b5e4e21a9d030f66584448d6d0e3b17671fbc98579cc46fc5dc8d254a989107a385d96c30580fa7629c5ab92497a42120f23a589be56d00e421c54c94e35200752e0c155336ae9c2f3f126e3a8ebb5ecf9c040d86c3e6364dfe3efaa80 +B = -6a1263ed757bb83cf53097523fe0d2b991f0e5857683840bbe062374c96118411452842ca32ff60a1cc2f9cd6e692f2ecf191d6d0ed2413f0addf86ee93fc2267bd17b13178ce23b5cab7d9abcc76a5c4da3b3b2c6f44eeb1d781c6d60606e4f3539cf5036f832ed3787ceb8104d81a15d76b3c3966a391fb54d615f5f231828480 +GCD = 37d0d4ed143057dfe2b8b0d2e06321150aaf64f1f2077b8185107416275fb711bde9005dfe09d451f17e5e0f8ff1d301b43893a1752b678082ed299e97aa33ef5380 + +A = 5fe5c2cd33a5e6c2e7c2e2f60b84f9dcb284eb592d4ec1d6e70b70b08d72fe768f03345153b4530461090d697c2fbf164b4aec85b11b7683a66690de9649f4b82025cc77ecba25f80fa3a8c218b3dc6b8a6f925d16aa74e4bfdca7fce9022bae3869bf2aeab8e07ee075dc57230fc71fe0323155e3eb4b0fbb0440adb6593295e679 +B = 7055cf3fbc952721bbab8da1a7d689d779c58cba85645552ee8b307c438b25fecf26927fed04b61c2fab944f33c4dd134c1e4a3d5d29017ede3f52d5233c6d16e9365de1ee20a40d790f62016c2ab0d125021867ce8190c237c7197741ab955f990f6f56c2696135638be3642f8206edf35e2a7e82fdcfec2b92e576875acd12c2aa +GCD = 4e8b6d19f248bf2d35688b32a4a1ff4e8bf540f7726e0789f4de72c3b6ba8ab56175b8e5da1902771fbafe0970ec0b1855deb139e2a672ea91d1e215aa7babeeb97 + +A = -c73122c4997ebd405efd176b671a30b7712467ffd50648db6536c5324e6ff6069895004ec310af586abe578b48b7434a173deada7740e1c5e5f09163c92a6aad363c2cf759284669dde59302b630d47288ef22c94ed4f4f8c9cbbb4d0a3064e7f458570fc08ed73cc7794cafada0fe5e554e3ed4f97c023e8abd2400ae98f643653c +B = 4943aeeead98df0ad235163b75a061e683c7b315516125bc612d955700d1628dbdc7cd7c3208e1637ad5c722c0d14d6058116f4766c4f9712153bb1c5aa428405c26b277f4b8cf671fda5d6f2a6b03b53b109847e5ed4fdb5ccf9488d0d69e6fc71616672e89a7a11c7eb7aeb5b1c64b8603e940713fd00bfd6408af7c1db0033a0b +GCD = 117bbae0438ea8c8ebc648bb6008db88d5df35204df39c1b1ec72a2de826fa9c64696cc2721f681cf0f4b793504b0740c51d98da3ba4530c67d44e636c4a351c33b + +A = -68ddc8906eba4ba628dbd1d190e068acd5cca42ab7243c66b453f487efaf76e80c648d84e2e795a77d20df712c7657cba19b6233d3fe98f5770c2297a514908078640208aa0101e14692449fb7ff71007a479703e1468145951f9d1c1dd61888ee2311cd2f4ffa7c1e85d1275efad6ed2332c7d17c151d50b5dff1c1b5038d687bcc +B = c51f295e6e035d3560949b3b7f40fe1346ee74175873e6322b7453056b2cb2084cb572311a669f7a4886b10df5370239ec4414755902c01d9c6bf1c0afc15b9983862286c2265a36b31e4d710c75e561f1b04cef60c6ae0c36238585273de642790ee4c7666feabba536a0ce5161006d7c2b329721af997b41f47c17fef260671044 +GCD = 16d93374722cf4c1a19397f1febe2dd4e085b8f1665ae4af359cc4f05814bb94f92b43afd8cb6ce81f162d02c5fdf0d7b0e6e8080e56614209cfa002d0dfb45c0364 + +A = -434b5e0b619a386f9a4bf175152be8a216d08dee40d2926cb5662068391c31bbeb231f661a3d55b4e5fe59c7810877284d07f2536d57f5becb264ad0d1e7ed21ac269f6274fca2389aa1787c6535f6f3a96dd8130c9c7786d70de25444eea1ce27716b20ca751ff9a1071bb359739049ae2d507ea9e3ccb63a54ee065507c17586208 +B = -1a473b5a7cb90b20d1e5933c68a464364f3200d1b175cb189c2b4664e4f68402e773c672970a10791512be983cf7399f3c652bb23c467f4833a90f91b05afda4c18223236af16514d7b8b6fb560547ceaae7c8c03589f97c641b5ec8f29b05d44bdd1a4f73286aac830a66e73f37d7836149fea5eb305a375a5f970fa3f9a8191b19c0 +GCD = 5503230cea1ffe7521d5ce4d2426927f848e6ef7ff09f783a7b17ce6395de6d02f1f47e42b29a161a4d13276d31105b47e8c1e3c737c67e8cec49120a2ed1ddb79e8 + +A = 21fbbd2951908187a159dbfabb038f7b2435f9343998173d13feff6dcf3aac9d0597e1f079505c9cfae77e6a4719ebab80c5807e187dc40b2636aefecceb7d10f6c32be1b2dcc12e5a3850bc7967aee840427ab451ee84c5d84c949574da81c5bc4ad663393511494c825c4ed01bd8dd66803cb60485a4ce46eae80c7fd574e4c22618 +B = 2dde36213453e526013340533097ae365c2e4f1056db517fcf2280a6f140f23b01800fc55c6ee8ac08d6f27302feff8d099dfa7873b518da687572b15a1da86e398e4854b4f16c9cb586eb096115084eb7d63d228ed30f1d8beb6e3c778efbdbac17bc746fd45541555c4dd5479d837d3985567b303692ba687699b7874eef4b45d379 +GCD = 792fa86813c67adddbfb1f05cfd0e94a5101b9ca786150921c6cdd381fac3eb76b26f47aa9db2a40230b24bd14046f1648f1bced16df698b8d76039b9d92ba4a0657 + +A = -196e63ea3c7eb3219199b74e52086f891400c116e7038ea64ad817b74e38cdeaf36d4d3d1d502691f6889462699a0402d0c781813a210411c3c152ca3503d8a45952f77ef6c8153ffb68f32ee16106fb8dfc51c2b430b1548c1b2e262dfa40db08b39cb1c2bdb4cdd7be2a40b57daac9b48c9240c2f6dc346cba930d08ff16169a69556 +B = 1c76ba300f9d4ab6ab9d8a1b7938f9ad2078f1146cf14771e525196b393f4bf63e693ba8a1b147966f8436e84bc09c47ea1ab236e578d0601e92ba7730041e6681a60cb5609d34f5fbf2ec599d8f25d5ba1269eec1e479d15472b00aa49720ae6f3272568679977de135d2e01ec611b5a401d5c628bd9a7f0ac049e9864a999df788a8b +GCD = 1f7a689a2ab07219cbe204a5c98b4757fb4522276a2044eafd3548c620528f2362b27813c8e462def1e0d87c1f3056f43765fa604ff8b4d723f000dee6d27ea9afa5 + +A = 2f42f42957e2121743bff04ac2a7fed455c995cd3ed05bc9487245fbfbcf5bcc81e3700d3525602451241bd54634929ebc086c4e8d349b30a3002a9d4114891975339e62a566c6a9324f70da3b4225787d01a1fba22eac0652e654330c8f37d347f1110a74226a66170ff6f99464bc998a80dffcaf3c0909d8a1ea6e28839bdfd85f1cc +B = -372359573918d6ca93a1b8c5bced64be2bc39bab0fe2a0dfd542fc08f7c357a505de4bb12f6379cd52365f2e3285ff9e5aed3af2fe5c7238576148e1d3752ea4d3b12026a1979ca71dfd035ef74484cd490d8157421f702d343c065333aa23ad7c223e2f40acf6ad8ce06d9f77511c00f6357fae438a01fe2b40ba258e8fc969b389858 +GCD = 28d157d4be81321d039b22f34555abce34cc1751078e9c5741d84addfd7535338941a1706379db006ddf194310670a13d5cb32429593e1648d0cadd5c400c66c0cc4 + +A = 912114ac2e9b3781a7f31461816fd6a0e839839f58138cbc3715936f7c5ea133efd7024b68a444ec004eaea478b6c1d581b95c754345713b70f5e21981bd15a29b7720a855f988febdf57ce8a47cc901f2241cdbc94dd386c46413aa4260ca4dc59df4b9e09b1104c7afba6a4ccbfc408c94e7504a0dd38e568c038d5b4de696a6aea8 +B = df7c28305904522fd91ba1e5c618d5cda6fa1a6a16fa41856f2710f6ff217a75dc5567c70a548277d51634312818d7c308041f663d5c228b3eadf2f3494e207ac8a216e14a5f3482ad09682707b237470adbd4901888451f047f3bf378c976422c0abf222f42d7876cab6c7e3672f8729fd77eaea9b406052b4f812f3eb8a14df04daf8 +GCD = 4b42ae4be3ad7bbbab69a1c5e87ded2a7e4f6587c189b2d58130cb94a7b9aa816d3ba82bb657826903694f9009d78c2eb4e189aba371249f36a7f3225fa9282f4c68 + +A = -33b0188d6549981d2ff03433f8d15305108b72ddc0440cab7c4db0c3909ac117c72e8432e5b533fac0ee131b3edc4ee263b1bd668d8e378d1aaebec00774c8f625e16ae75475f3c020bb3d9ae0fb5fc25f5c54509e0b2e3468f79a05c761148f8702ee55d7a8ea7d6d950cbc2ab73cc10df51c2bb7a6a0dded863778cba14bf03be93208 +B = -5431e7a0c5dd21f0e5cccf2d7797d13a84fef821bb02ea271d3bcd6b846c2abdc643d2d6102999d8152b78d24c0f03aea900cf74b2641a437ebae20a9a385fd4cdbac714d9504c79c34bcb4b930bfa4c696e99205dd768acd8b0f2bb4a1d528831df879edaf97b781d7352a58810829cd83c263d3282fa73694536c57d9bfde19199340 +GCD = f3d9236df3a220da713eecdc7e2b38982ea486c3e35a8a1c541e71fcf2f91413d59ca3eb6426929df9e7c59ab49f02ad8d7bbdc061bb8156b6f035822671f362d778 + +A = -78a203c5ad5e1f8ff70933335af7be5aa71f82ada07889af874c62829bfde4f82d9d76ab5ea2b7144f999697921814601cc450c05d72fa42c712c59aa8787c08ac621bd0a5cf6252f65d6324d276ad48bcc8b0a0770602bdf693976528a9606ebdef375f2a1881407d1eb83fd56e4fa3bea37521de704f276c5489b45fa4556ed5cda222 +B = 4bbd77dbab2d574e6359be1342f29dcb037323fd80f5ecee29407008d33a755cd2ceff44294cdba0544a014498e6f114788aa4c7edc9305e1bcc7ac7d74a41ace7e86d29cd2274aff47fde83caa8bc80a58fa6866820ad421e08cffbbb7e724e8742842dbd6870750b87d33a460774203665866130636c515695328acadfea7ef97caa02 +GCD = 101d39e31e422ac5658fe0b3346ed6be5e4f602178be52e13b59e40fee91f733ffc63358bea541b3a3cca19bd1397de4892f460577a26cf568e4d6f4158169879823e + +A = 6f7bdc88e41e8db957d98bbc46f04011869201712ea9393d990525ff77ce3fb2ba3e4dc5b4081e1e2d96cd246e06d1f192cbaff38eb5505fc65ab7f48d49c9ab7b84137a589e17fa868e7885950f4b85ab487bff384e0979b6ee1dc6192d4c4b09bb693558a7bcf2a35714bd730daad89dc89811339d23254a38c9cd9be15185306c2ff08 +B = 3a7d3c7b80b8edbad9bbd1d42f96b7df533f822d19faa42fb6474d86479271abe8b9a5f4b8616f1e92af92252922b6591df9be52519da928d040976c5e02668f80474fe3dcc624ff08f798992b97e5e4a16e3fc8e21f44e8df14a37cfc32344d34962b5d53099824e705a283bd769f186de8e2c001d4176e589e93cc5fe21455a9bff6194 +GCD = b47787d07cee830d03c22292412348e0bec6b44cfba0bb885e02f8ee7c5ceeb22ce2f01ec7aee068db65cd5026674d71b845cef83e627a26bec2bda1a9df689daa704 + +A = -13e379ce4304dd1238d5da15a6d0cc5ff548c67ddcbb3003e28e7caec13e0cc5dae59ff8503de58043f98d58f3cca7979dd1446cdc2478abd02233806db4ba3a873ba492845b6e988dffa20aca1664386a7ce0e51d084ce15de51ca91baefa4f09094b5847253786846e9a6d2d002370def6670d4663b2de1507695575295cdffa48b212fe +B = -d860662e23be93e65fdf63c01743e7d761b1414dc780412a1ef1f9ed10170bf0795ced718b613f8c2ba28db35f0973304ab22d8ad576b5be0ce296ac3a9ff7e6ae77536ae857d8276dbc02a7432d677434da04235ea9e316c3a6c6ec0ac127a7da243bc2ee64a3b36679d10a1eefc70f6a73d65af0fee46c834a2c061636212c7fc0a1512 +GCD = 5142bb437cb3235b5b0a9eb6e9c1f265f75081d9f3925d84632a7826205a9f51331230594d296714355da6a830a0ee83911017cf252e0ca1cd2d2783390cd5755977e + +A = 18697b4097ed7f5a42fd762da26b00954810864e3d82bc9b0c4c0d1be6545c78d848130f8635501ca8427247b8b67bce628159095c7312e1a0687061b33a3f6302845127b1284fa1e43c8941bf8adc5b901b2e49a226c368f5c9008a8c76d625ea2f8dd684732d0da624883e1d160a969671ed178b69a54c93c81e8a3727b57daa37e492ca +B = 305272df438a07083fe0187ba10551a3110e757a650d8807aa3aa275075f240d4c1fe02ec1623baa24492945ede52715d10b3f9290ad3869ccc528c2d507cba1c08c2ac03e7b6783f9a6df6e49b19008ffb752766762277ce2b71f4b1cbba62347ff8e112b45ff664e8f73d4da33bcb46d1e942cd795e9ce1f7f6a3ed0525f6d899917c4da +GCD = 1a8d4c87d3a53e005f1f21ee7e9bb7c116bb2b62683fb771315fe38538789855f40a3ad139d35a907b776cc86bdeba49396048d47b5acf521414f3cddf69130af5436a + +A = 16fe881d102059f56d851563d9fc16ab6c39bf8317b36a81f73c8a3a04ad39afadf715e76d9376a355745a5645030725487f00394baadadb34a2d458d9eb19623c4f3f9134a954dcd691adb85a92be7bf7b2bbcb7426d19db0db61b1b60a21c98cadfa3ba10aefdd26417128f147a64fc01e7cc628e45959a36239742017b2c388f3f1725a8 +B = -16747526d8d646f19e9cec42182f11ccd98ac3245d2a0d8312639d07de4ca85f91e07a7c6bcd152374714033bb7302b347fb225b5be9afe2cfff95e6f1fe8e4dcbc1a46c049b31360f94fa28d5df1f55cd8efbde5db60384aab8993bed69cf64232d4fd9941c416c4df3074eeae4a7f41fba11c5a2b8b53c15c8b3d1db9bbb8197a69322784 +GCD = 1aacd834d71a4c44cc75219dd054809b1c7392e12409e7a7e315e2be15759580e1d86fdf1970ee382dfd2b43aef663c8a7458d2d0ffe9007bd2406f1e7bd7ad4a7d384 + +A = 13d4c4fc43bcca1dd8d26845a0895a03325273eceeefbb9a2921f189a8489413c261cd38128e85bbdf833adea94925f2475af98f7c53de6eb39f9addbed750b6a6cdffc4e94f1dcdb9e41283bcf84b851a65fe0e1b59ae13042ff636ac36d8370df76245d74b5feab5ffc06afa8c6a2920c98efe217932e0384fd748fb88e8413a0da6475a8 +B = -2101fbd91773e403855654985a8d2cc6e97ff9cfa3def06420293ee04db7247cd3d720d8374d7d9bf20be5313cbec44f1aef6e13b40032f0c314db1927aa562b467db302614f24c1c3ed83c31ec4f22336e6b5138fb028972b8498945188972fc2867e786dc2de8fbb39a4021c2372ce327d8e306464fdeec7207d86ccadacd0509518159d8 +GCD = 20f4584f9d7fca1ada53f64dcf9e7daa2858560c93b18b30f5f8e09066e56fb75dc1e5f0eb4966128470981b4fde3f219f77862bf4fecce7e50f377280c8b41177cb98 + +A = 7555eaa8f908aa343ce73e003ee6474bf851d8cec253449016fbe39eae19f375f7cb5684707aaddef5832bf68a9e8f3041bb7998d105f0c3d1559bbd956574adce192ca3e82a7040556236fb6f651a9c7dc49b7144dd658bb4bc9c4e24bad7f07cb187944cbf472fbff452f271fa4d64ed0e5bc12cbc4f284848c28a09c4a00549122758023 +B = -1444ed4ad788362ea000f3838f2b00fe58b1fe31b625d24c566dd7ffe9923726c01d0c67b2b42b49f810c942d4c53bd970490b25d7bc2c06e9bb5ecc04af20db30bc685eeb012cd4ac0a9bf6ebae73bdaaf058afd188fc70cb89288958302252dacd2bf5f565094974ff792f65ca785ac9c3a4ac613d29813172c733bc391951aa6b9867d2b7 +GCD = 703358abcef86f97b51ae70443a419123e510a6265c9d9f203f4bc0123f8f7cf37b8519038f8717c4bcf18aa832e6fad0d92faac3fc46387a002d946661980ba7929a9 + +A = 30bc428710ba249c0c9522f4567702c8f3e0901417702d43e2a5662c6d71b2ab94b9fd1f303f90eb1f6a1b223535a46920d4c4a4c3dbdc84b02bba63026fb08b2315b5fa4dbd76e3968c5b8ee0b62f95d975b644c7f0db3939da1699c9495c51b8bb0681db31e3d2b27476fb6834de4d70a6bc2e2134ff03fbdc84dace2fc2f4d47eebc6e568 +B = 12865cacc72f44784298b8c11b84b79dc5d46151693c3feba814c01092f059ce06996174ad1cf4db13ca796656a85463aca03240db680e824b2c6272568e77dafd316f34e62c5df3375a178378e36ba0787a4f889c62ffbc7507ae9a07fcc8e664b330e61f327a658cf2f72b2dba2b179d72010d55dd4074c13db4283728d5bb21deb245a194 +GCD = c8d609267d731614a685ee2dcc2ce0d3c0809f859ef92d0e655a1c2f344dcdc170883e33a1f1282ac5d0b55e640f98b319eac83ec56d9730ec173cd5d0305113d6a6b4 + +A = f28b2bc311cc0e8207ce34783197c341d1134362f2383c988f257ed8b8c7d690da00e5d535004772bf708d494fa13b51520098b362611fb0148f921a01db0cd2cac6c6cf2c68c8aae4155489a118f28f2d05e6d5c23aaa7ba3db59776819367e58288d1c363bbfd7decb81a5602a91ea0d963b0c207034b5fbbc76043741bb4052a3c1b7511a +B = fd94885d924a51e4bbda4f74f7c2d55ab3ea66330eac3a5710cf8db499d3a6a8fdbb94ee1afe64a5b134a47e3adadbac10b26a8e8fe5aa5bf2ce1ed478a1fa82ac29edb9c2e8404ab38a8d4f18e542f9fec20d6e445b1a5ed2d4bd5615db0d1d58e20bec18f01cc3d17b9e2f275fac08e473df2f8f309c0716b04d99ca5f0e2616837b1f9076 +GCD = cd57d8ed89c357417c4bfe4459620bc0a16b89b1baf19e404e5659b9ca58b9062a0ef6c0a98ff967ddf00ac9ce5e81aefa17771db7a0706275d75d0f1b7d7e19610d492 + +A = -647ba90322fbaeb96f806dadfbd81b30fa7726527d443d2cb73b9686c8d08186536d2db1c412c88832d071745d824f1fa82c977d9796ae5ce0a7ec308d54957d5f7e59bdfb9831de09daa470a5989139350b199a8b50214a0cbd1ec8ec11e5bae857fb03186bfd69bbdcd773562bca7f36e68be0a88d674240fdc40277fba7ca538d20853a622 +B = 490b12ca23bc84063c8a3d9c7ab7786adc96e53b818aeaafaafd88ca962c128bc69239785373cb5f0a4a91f32ca9ccfa54b26c3f36adf5ab7ff7b7fb82d1750a229a8114ee4aaab155dcbd49b7c84d1c1d64fd98e3e6944c3a434ff6d50003df9ad4efe43d62046b3c9f18466acdc0d88fc041fa143ac09496a6f3a698cbb1addcd9a0a6b67c +GCD = 7bf1ce1a1c3e3d52c4b53d74a41648dcec6a3610aceca319446a7d0ebdc39f1b09e4483af99aad27b1bdfc93a6a6319d22022eeb01f799b91378b4cd1265b0a97e412ea + +A = ccb96cb2f82f8ad40e5d0f5833e2e274bf1633f04a8fea29825a0f360c5ef1c57c70801119140af66168cace4e402806fefb9d581d9e376fc0cb7389db658a9df7953c9bd4bdab44941c70f0057adfefd063dca873a207db9c8bdb18b3ddfa91baa7102d204a7f9f5c3bf84f5c9be4439744e0902ce08bb9ca994aa0bf571e2faf7922424e859 +B = -d71534d2a4f1ed6c64200fd070b7c3b313f09450a07177c1b7c2229f3988ea2a2b52308837d4898e3e63edfb5fbc633abc1885104c3e285341ec86de17b63496a3ab7a4f33fee30c659730933e7e36bf98231c3af4300e5f9e0d3115e7c3de2d8e38e7104ffbf5ffd6b7b108ef4d52cbb6bb54ffe32f9902e34b14f7393c04b48f829e3db4b7b +GCD = 5c55fbd8899ce296538eadfaa22e84db5eff475d2567018c7cea7b6bd6573116e400b41fc798dd832d4057f38df1ca2a8be73d6d42ba83611eef356fbc1ed2ef37cd5fb + +A = 51ea54ad859fac06cf0e7a6d522485a3d42e8552ff2db4983e7d808fe1b8d993c52fb36dfd13ea0b8d634fbc283d4e24c97d88c77f2dfc87387ac39dd705ed0cb6913ff791f92b51279b79dd021a203aabdf3d926995891f1884776cc82dbd087ec2341983b3ffa4f6c6b81aa6869617fbab658e109dfc44d1aeee3a207044ac1ae14868630788 +B = 2008d39e8337d5f397303e1cc67861acd2d4593fb58122afee92a22f01c9c7b8f14e45e5f146b4474c45f79f198dbe6f6e254def50f1d476ce7df9e4bacd81244ab4c1fd9531797c1324870af91cdf87963cbaefe67891bd43114a6c0ff8f5932f5a436ada7878e84b8e92f4a1bb94f33478618e277d7e74ab997a3f1afee8eeecc92b771c47c8 +GCD = 214598e8456a22d3fac7a8b41888873ab857c65d3830742f7a30b2003411b41aec6d1c77718046e4c364861dd8da2757f8cebada69c68240e53693b5d40f7330ab7366d8 + +A = -122cd6f55e92b864edd26f90ddad77ae64d7faaab8f146ab427a19e9f3c239ac9ad0452f1fa0ae94dc2272b72ccbd6085d024f2703c35895be6785695de298483cc051fab848a2608b20d49aa70d165a3dcc9e92a834a2670c871fa20e8a16805b3c0ac34916ccde0ead3303466c22d1970fee358e626b23144531d39b2d1ffb5dbe782b6b0a66e +B = 87120757b60840bb60620749af76c8bde55646d622122742d9e074be01d4e9aa7feb96c5efd85a07152f90f9e3b86e2a4ae2f84d88a9d4c77cacbd2906bee66dbff8cd4e171f2c75eb3b217b11acc9c5c54f65a5cfa9508a07fbb5a61f63497920ce9e7d0a8f02e860767e9109549751d26dd2c55b14ddb8aba2ce42f91dc0b4dd839d1cd6ad48 +GCD = 157093a554216c7e675db908e53914f964a9422c7ada1b5af774f505a6d130bc1d8a1c496fe22758c9e9a33be75b3fa296ee55ea5df7ab6c1cdbef48781640c5d2079106 + +A = -bf4a39586658fcc201ef3a3e7df494eba9456a8524d89158958dea392a41a66541cfb1a72484589a1f50087e67d0772782f7064156bd01082d0b97bdc82d2c1911b1ae77391ec7ac9aeed197b5467d66d64fcf5b82de9fded19804efed393a1c8b5d46292f5dcee940a74d56d430af639569687ef808ccb886ae3d148db408057ea635275cdf35 +B = -2f1471fd7288beed0c99598fc28734050663deff146069f220548360f226b8821217269976a107911d1d94688519bfe6983cd0857b6f0a3f84f9fcb2d40af9676f43575a66da92f450fc5af035cb42baf288f353e164ec99bae3e98c37128febde8cf053168c88ee303f3438e79b6c5df2a63517a8b4107af8002c797555d88e3e201c08d1cf6c6 +GCD = 3b7617127bbf518466b3fd055af4e0ada0d96acc00c27d4ab2e1db5c508604330cf04cd928a67c32cdfd7923758c680b3ab28022c2821341b05be83ad54e38524f00b087 + +A = -1d8da70741ba0124e19aaf5f39be7395895caedcf545e9057d8bd5acb9e9c9af039ff42b28cd2a41d6c7b3e7ecfd8ebed98b4681bad3b3bc1004fd11c4a769595fc086cb578c407ffddc50fe28609882a6721d61e23f79115475260e2a7032a2324397bbe36a526b96be511069fe6bb9c1375e5f52425093af77bfa0ff882ab275d1be7d6136294 +B = 104f32fd867d65cb3f80efaa8ac029d92caf774323fdc2335a25bee3a337b7ff0255da3af901d0d8a0ed3f6600fc89e4920eaec472c161efec51dba95eb3998dd168a0d4e69c9f33f45cdd5f1f0ee330e0c6cafe7bac86de25470b1750be6156b71ab11ef62ac91daeb56580fcb52d18a9982c04c8d388e68a5a202b1c525cf0804dc824797dc4a6 +GCD = 50254d0ed8eb6fbaccb25b99ad37191a81f7a4f436a8b99f7510f125a8a2743dc68995d7310592f2dbb1f738401abd532498d5295b302d3167d0f2af36dc81cb1a945eca + +A = 500f8deb6d9dce4e937bea437e9f87f2b85a7c5200fd64ec6301e5b9c2b924a0e6fd1cda1a9472ac000b76466608e7ad74956641712cbca59ec276e32b59a6962582b07ff2b0afb9c5b5298647e956c70585d94a44e3c69ccb417dd5ba4b62815b6cad2d902ce1cbd9113921b1319591639c850323624cc8abd29bf0af8f38a26fe0ba7e1430043e +B = -5b9013cde88e7331093b5b3c6c59adef2fb069da4b9d1302579aa3b69aadeceb39b8a729e4e4cca7c8b3e7bec264693a1d3aaf6eed508658e776095ccd0cde96aec37f60eeb0a98af41b6d300e507c6d2a6f52712a63c911f3a881485e738f7b2517075d56c3b3f918abc6690f9761bac57fa1673ea8179087582c8dc16d01db3460cdc5b9809cc2 +GCD = ff38e045d99cbb2f3140aa278f7177d4883e2ae3a0526971c8636d17e2e8cb7ffe924521da966923d747d9910cdce6cf6ccb63d92486a76190f12a29e9cfed62f305d22a + +A = -1dc1d3b8dc2960cdf9665c5f5d300fa9bcd1da341261d8d8cad88e12c7ba40e63ea9a8dfc206feb4029e6aaf955bc3dcc049f217452fe3bef0d96ee67dcbd7ec7566a87fcf3ed453e5fc6dd449fcb74a32d5140edb62b0340fe45011d7a662975f37075812735eb10362bbeafbcf3e298cb18465d750cb80c83c0b5b659f912b7956d027f2abc52ce +B = -55f3d3c95a560d6cdfdfd7e5c45ddfa4451c1a68bb3c62fec817f14b72c20732b847927d34cdb7e354849c147d59478d0b410191e7a24bbc9dabf6a60466cb9610d48e096d52ac84c773e2fc63cc9f10cf3a987e87a5b5986d11bc9f83c31d98d7cec222d6ea1b470d4df3049e3e6c9441674a804e2d131644f1fe905a627b80d33deb8711fc064d +GCD = 1fec8bf2ab1a085d1b97acd55e42ce90c09ee6c213f0f695cf0669c4f816bd6cabb4d961afb4c2fe4ad42c1fbd3cafb683224c757db5a62fbe40bf00782ec7dc0498f3eef + +A = -628b0e2a53cabb32757fff133eed716037115d6b23d8869e08e2082021ba0a740e43736ebc0fc827dcb4ef11b4037107bdafc7729e33ad3410022f79438d82a8b05ade589302dd1ff5f720bd247a5db4589a56553c80afb39f45d4589fb3c142649d8a8cc8ed5c6eed0af66796ced843f2772f38d848265f13674397f4e7b83d974164e0baff43240 +B = -31354213000d57f03a63aefe92be435fe07744f1200cf111f6df57b0b89e0368ebcbe4fda50064de60aeb21d2e88e10027552dfb58c67b9833d6a33f077abc53a3fc272fb446d859d96f00bcf112f4188c62b91b27c780381533003a65433710f20e386bc1cf05d1d772f9b0fbce92a06480adaf675d521c0c87f46458ce46b5baaa9dd651027a570 +GCD = 31af548346fed09ea53dcd763f6c56a0925b3ee7eb2ca36b24eddf447f743dbb341551e51658e45526af3bc2bfc6b3f063d5ec8e00b97103e9e450a9a575ee7e91941cd30 + +A = -172fe45a5252fbec4dd289c378a8c074c7e0dbe6e17b5d8a9a77503b75dda3d22d82f995ab3f9cbeefcd2c5836fcb84bf1ea5252b4022447c0eff74acd53aac886d96556e3a2152b8f9a67fb8d0ea2c9e11984b3ddb00f3b6cd56f032bd24507a1885c06c0c79fa7ffa967e27608ba0ea5d1c5610dbd5c4c7819f4c4a2e4698cabb83dd7cea5c9327f +B = 6c8ef1f7ee9937b76d865d54f0e9579748fa3de4363c7d334718ff0e5bca0fbdf436507cb1eb450c17063335ff88dbdfe4fcec973da1713f6e6e7eb4c60a50e3a787e8e6670fc58d3b6f07a08a1cf03058106d076bc8a996f293b7d85f2b88d0d257e9d42473aed894244a7fcc365bf0fe254d15365560c7654e2f6114a0353225e014f2f9326adb0 +GCD = 14972c88494cf36cc349e2793ed601017b6bf916d8db44e691fa20924489a9652f507725a8e1eef174329a696af23b29fd373da8cd45c5e9bf006b7676a054694e6b25e337 + +A = 2b938a23b7592bf06778359502eea2ed28a56ecdd984dbb45bbe9fa60a4cf35f25443ead6946d87471f6936b205cd4bbaec1f932c3e39589520f664a3a03c65e80796fae9caf24e51f66de3ed19dae4ada8396755b5453a4cc431860dab6d0b8666338a71117c66a8483ea1911efc3cc7400d81ba7730730d0ce7ea4665750405a859e589841c830cd +B = -40fad12d653450e96425a94c74cd5f9a5d8bc865b5ba7dd189b133be7eb73dd491103987b6a7dd4c92f89f30566fe90520dfac93aa6daa801f60521779e52760fcb0b8faa7223d0586fd329620fe2156685bc7afaadd2a22078dbba42979a4542c46d2dce269716c844a6bdd690b2e46d32d7f030fb68f047f6b820b0aa2ac60b81444d1f3054ffb41 +GCD = d51e1be17d01a5a3a562c9e838f72ec0396442454f8d57d2d5cc3ed067c04d69fcac147050529a41c81d7313e519ff2352448927f847bfd34121119bb5b669b8bcaa500b5 + +A = -cb258fb9b7527bc8546c218c14a580666c299ddd571d52adad2889dcd9833a939de7f037337f13997e895d91310ceea034dc4a808cc21b1db556a27c57d4846b2ea4d6cceaaa51ee962af5099e6964cb276ceadb56f95d65e95fbd0bb5630b76c778659f7907ccb9bbd62761099f46410bdb1cae3f1530ba99c3b9be6309e9162ae6a1fe102f93d845 +B = -b06ac046635ebcc28e81be9f696e0243fb64ee487793d935cd825515e5ee2cde6eff83cdbe1f35d68a836322f99fb0e48fc49efee3055ec2dac9c9c6c550ea379f61bd8a82bf8cb96fd2024913fb1539438a00c9586d83bb831422069e755ef60cbde73465d0cc4fc64a4835dd76a64b3af090fb53f8f9e2111d6ebf43c536fd81bc37cb1b26d66673 +GCD = 103d50e8d7e183bff76f7a0066ac7efbffc6a6364512769a13010fbd897854350ef583903eb0dc6da86f46109597e4a02fe99d7752b33a7416cf4cec2e83fd97155f318543 + +A = 99bd621b0b36b5db62b260100c57756ee6dbc018c54722cf8f4e3337210f2326cf3050ac6118ed3b76436420a8e832690ab433773ef682c519bf3680b03e6c35a66681f48f1c160976347e6577794657ce3d242cdc29501fb0ff5d4385c496da441c04b383931680d039a1fe8d89e59b0761c91bfd478238ff0787d791cda6e67b8b0a5f728dc43d50 +B = -3352f27baca38cb00ba3c43aff58e6ae19f76c115c330cdf712d698e638bc8f9c66fb77ea734ca6b633d7495b1bb992e67307ab27c982d4a9696791406ccf6226d68cd2577062049d3187d6e30df09d679b156d637687132890f231039fec719bd6b3801d9d0bb19fcd4918a1c48189a3bc1db5287a87d486a7c78c9ad756ecde4bf7ee434ade8f5b20 +GCD = 2541d6f5419a07c6242b70744215ce7eb19149c640bba839202893bdc063f98dbd1493404a21167338a3470f43733b08ffceccb20e40bbf0370f22bf9986dd9823d9f7bcb0 + +A = 658c5045e7796579b19cef6619bb689f6ce5ec1091353de6a1aa62d22b2d96566d2e99ac3925ac2a44d763200b8bffff3733f60b871cf8f1f9442c3eb1c4cbacd5367f8c3ef799055de647ba23f9dd9bce1531f3ab5ba078a21f42bd5d5b1d31660554907abeb94e84e8f289885d91fc8a8fa7626c379c2b1edd416ed808e18171879a44e9360da16aa +B = -154a4ebc05c9675b2c684864cb263d6f6ff22a82621d322b97b3c764c05c18dc9d4667ffafbe781f77c005942fea77403a1a2ba943694455ab9665c64a7a338890897cf6fedcea2ee0596171a6185859ac2c84eb99b67b74a907d7c4d273adebad68541910266f3fd30ad0082207709619593a36f0c9648cd1eb3e102189fd781892fda35f1c0972339e +GCD = 65af96657a43ff35d51b6694bc1ed0ec22c5c932762b688aac12ad9e3d177c649b05ae6d9172315cb48033483753cb9a2f46341cba0c354bc824e887b75f4ba6d712a3d97a + +A = 1e4f64ef6776fb0da068720ab1a83dc5ae761a6b3ce958db32b2b0dee7e2c06a49389fc9a519b1f1f3d7e7d543bac9445706a52df1c73b8f444e31a7c540908dcaf983b4d268462b67a4e126a1c82f9832bd1fdfc7d74ef74672c3a3249006ba27ea108978fb0102d6c480a1443135724017bcda82154656a1325ec4021693860d2d9af6857924e2d4b0 +B = 282090b311b569ffccca865737160c0628e111504b10cb37580e9bda012f49aefa9cda58bd06a0ed1dd990ac85f776ca8bf8f74131977cd8106f5f0f8941a6486b181c251182e20ef75b7b0971f9d95a910fe4e3c065d194395517b79c7262c086ea80af119bdbb90690ee837ca5a70208957dacda4fbbd1c40a509a2a70064ca85d2bf7097b1df8c7c4 +GCD = 8f674fcf35583f7997a36e5947f54e853191ebea29413dc1d68e31c895f34e7b5f236da2519690c778a019d3fecf7c829a30f7c9cb02135a3049b35e85b77e23f401557504 + +A = -42618b21493dcdc96505929fb8ed9a07dcd300d16e29d2f528757273e596eb521c5e7c8190444a755f142a53dc84d8a756cd0ab52b3d4a586a8027bd69855f074be8d4583584af85ee550488dc00165f8c16da466c252a687efab543c9b34d7a86f5b3dd43324912bc4c12e75d5f43abb1e7b6e014f0969f7f5aa43729494b5a3b1d56fa0e33f047a6fe +B = 2051e8bbcd1d8a00f0d179b124e8506e0817f5e2125353860458a8dff82a016ebb32908e3a81c7a7d923095832a58cd17064deeea2607642f4fa6ed0c48914c8ab1eb68900f1907a430caad8f6c07109ad7186b6863f4ab15ba0c93b3b1d2606c8a0d552a29f7b795dafc163ab29a4f3e06adbbc3961eb1a94aca2b3fffdb85741acacc82f7ef5c32d40 +GCD = 6a45c6720435ce6abaa6cf141a1f12af2f68471644721976da8e3ed320e42afb61958b9689c9f0db9867fda73d7519cd07ad5fcec3e1e7c477ee80d6902d0ca5f231823906a + +A = -468904753b138a65ded2657340ede8c7d79041cfb5c12d30cf79ab60380f724ce5142645141c83f61d014ced6a02d74f32d9ca830741d4772f3eb0c0a996eb9826d23292699f2b5a094fd2e4f21648cc8c225922a675f73f2150b5e720fbc74747c5f16e71f98345271044a3233fb4843f8a6c84b6c120a3581588714b9571582141b3fc16733cc1cef6c +B = 744b38322466d78c8e92127145e39c8ed8c1c3db291009af3260671e7a096a5026fa8680a522b07d20cd6cb2df919c0dc566eea6afd013d84f9d54242190282407a7791a740b803bf97f5b5b3c5273f73aaef095980214c75696a7288d9b7e6cd9136692ceb6276a082639a4d92321754ed94b589c27ed49e9cd634d7545bf478f9a8db4c5284971d7bd8 +GCD = 7af66d790eb6f312134c56b0081afdd92d30ca38b3a85095cfe951f21009060ea37896f4d7871312b2c829821a802da2b5994a7d34faa9af4eef5f0bfe12e38290b94e2cc1c + +A = 759c2137605d4895a69d20f020e57895db4ff81253a8123f13e7bd1ac3c9999effd0376a9a39ed5b94932be051621e4af0145d7749e29dd12b25ce588c5872df7fdd10404f95fe458d36840eb6a841c42023e1f658babfea1bec2b2729f2d3d89a6a6bc02c141deb9c86764e7f93f088bbf862b4a19b51ea22b823d5066eaa9d97a5f2330741f62c82fe8 +B = -12c5942bbad55fa6ef6576c96827e7f5f7a87837510366f189bc5baea618087209a905a1f079ff03ae49fea1c759731bd18377b513030b73ea3453fd3d52498361026c4efcbe99cc56f78e1ca11c54f0c7246686cbf1e9015eb2505a4ebe9e6c73ed31cbb1eb1383741c2201adb80ee633b384f71b09db9730d43c8b8025ea81970f09eab2b6094567ed0 +GCD = 589d64e5cfb79309f63d0b35e3ba4e12cda01e26df479af513c7d80f75f0f84c06d1172c82ded097744161b461d5e70e3f1ed4325595c02468c0c991aecf8564d20a8395938 + +A = 12bdb41d8d54e99b4f211bcca96343998e6fc66397c32d3f2dde511aca69abab5320e08947551849c19e85d72ee1b410e0777372cdb5daf5b13473e16b4e32f4c1eddb7f7860e5535eb1eaddca0191f200c9b51896b645f080532e43e311f1019303c32f29bbe342645ac6d731f647f84bc1738cc102f080bef4f502eed04bb0a1e1bbb35a761ff060ac6d +B = 3974d7b94750cddc6a255bad4fc733ee818b742ac40bcf30e1337a75af8f38a82b3c8de508ff43c526a50063ce87a45be5520497e9f457ee5bdce7e293bba6c6871dd0d2a50febc574ef5bf9f77fddca467fcc06379eda15f0150a91c3b551126ff2304bf11544f778a840315e2b8c278c048503fd7a5f4c7c85330d7057530b06f5cedfba4ff4a3d8095c +GCD = cbad210fe24ee6514782ee5c9b930aad3012dfebc1a2361a06d66a99235717a9741b1bb83a475931d78293a06b9cb2ee7d84936318df924591621c5fbe8b9f1490e8a55b07d + +A = 13a73cc4b3c6f51798d53319d4d42370c270903447f906b0ef2f0e1a5d8319a030754ccae0eecc4bb2289cce1986d18285cb65f70e6fc6f2c2700dad5d37cbd06a9b2fc9157adb48d65094f88a2713aa4649c967bd19544448f3edd6b5e9a2e0497de560795ccf9f448911d8cbf41268cc89b6a2028c44618e32369837b36d5c1b4500c0d47fadc59b19bb8 +B = ee6dc9328f3696483ef45f839ca880a63dce610bca83f41bc92c3132234ab4418ca70803fe6fe5be4a44d94c0e9f182c03719979ea6f57b29ad2ec19bdbf55a1b89e9799a6a96ccf1d12449f7adfe51df1713380d93a21abcc5da4337cd77c10fc9f2c18154886d0b2b0ff8a4c937bfd0744ba78d892772fc83b4536a4f963fb37e9cfbb3f949bbc351602 +GCD = 7bd5a801017a66f16fb264c01b78e417e8154ff42c5fb216defe1fef95212f5df16506eb2d8f159ff3c4c5cb40b043c1de4d31ebcaec5367373cb6f5670dee56ad91abe5b696 + +A = 116013382296fdcb0509ab4fb83c0d3d31ec8781b8af5f3d22b3e678ca68b0ba8108ab8eb64625ea2c31c1bb1d0cbc6772becc091fdc806e437e9b604db9671d7207b2303bbcb615903d2867494dfb3ab727c25e1dd34000bb613e740871b2a4fae5ee7c338650380d1bf1eada4279f601818068ed41685febe4b4e896be5b6cc0114491e910c99bb4f1ab0 +B = 2ebb4655bea88385c3e090c6b30bbac5a7f543186e43eae765291f6e759f96e5d1100d583ceab9f01090903592249a9ec83e9c44b79b90460c738cf452b47d17c0d69f99c06a69b6026d2855afd6e6e8fa50f0a3f4e9c7f894cb073d20d75e97c12541bea23fa05ad4c8873f89e9e1e14bf93d030e1729702acc3fdb359e604dafc0ce9727a4403567472f0 +GCD = 2a3804a44bf2285d7f63a048ccd35e567d7a6af4b9acb00e1cfd4d23b3e342076d4d18d64dbd47c1473867080a77e47a457fcfc868a663f221534a6139c61a2d05611cb58d30 + +A = ccd52b3197c07b9688271b1f9b4cd8064d040a326d2e8cc782e053d23a448af3b95d677887bc90f359890ccfd8cb151f7f1e002a58e82dc32c5cccd358ebe4bd7337e70c7fa0122c668b8ede36e588c92922a850eef96886b362ad1bb46725cfdfa3f34d1172519596c56df1c2aa6058f76ddc892b5590cc77f8d55d66c4c7b992273b892f2f29576e264d +B = 167ff7c9b791ef06fa36e4b88332987ca835e924b0d45589bdde5ccdefcf5173deededb1902e300e60a3e25aad9cdd6cef3658dd7a2f5172a9c94ba2885d40a35251617ddbd850c37543d23f08826a343beeb7cdbbc49e10c629ce6fc016b3ea617ebc187cee83db885c2d1225b017233bca0b3a52885ae6a13a6f68dc9260bc4433f011a1f4a77793d8696a +GCD = 7b2e5073a975969990085a7f1c47c192423cb3e32a1ae1c7dd5d95d113f76b803938fbafa78c6190a5ff5872199aa70ac1c12b59a5679ecfbcda909cf7ed16077fa4527d0fa5 + +A = 3e993a6d40e09889c281e688338d427fccc7300fc3ad750b499312f0f5810d2a03bdefb98dd72697afb2f0893acff757b8631b39c6e6970ed64e378d95f757f95735e4beaadae3ddd710268fc5f01a5aaaea981fc82fd19dd39b1f18f9240a206b43ad225ef671e7ceefc2eac8b425274a29bae02d8feb9e1c1a11888bc4d85b2158ed8e08c0381791ce86d0 +B = 2a38c3f5948a2eff872b9d7352f927b13cad03b804d39916c6ddbd72ff32e27af0d4629213764976bbb01f2b2654c9e8c61f2c4c933a48d973b46acd7e22fd691ad1cd50435dae979eed76f90d9335df322cc9637621cdef7d55c9f5f4062ff57cd02014104a6c3414555e4d679ca434ca698eeb52c942a84d7ca91e090ed60d36352eaf21b8b19951715960 +GCD = 1694fbbd006933a932fff32df2a7d1f897f60b5901cce46f187919b6a5f52b8d03a266a1b1b8c10820140be300bc49535f8db83a0f32dd5e4fba8f32c349bf7fd8c1c28baecaf0 + +A = -106c3a237e70b4bd2d349c59581820ba71332357cba7ac2eb5f936e63eef61901f324298f956b42bf349d4b79f4e403c8f86c8c103c22d4263e4db720d26cdcaccf8babcbc9f75ece96f43ed9cddd4c3faaa6fc50c351d46cdf2fae1a74e59736d3ab1593cfdf2dc78f4c23bcf5380df577f9b9388df56d16c6a942998b7c7bb08fa8bee6f2a55f8d5b68e9b6 +B = -52c80b897e0f513dfa880116cf0b3b643cb58d7c7e09e8cee4a237b0a9c308fa9fa56b6383e954e31b7aee7198ef176aa82dd43b6fc82eda558de4938d7b200cb00c0ca0b18acf65fae95f1a172a403e2654ea154645fd47d3c408febff17035755d8ff9474fd02a51286223f6a3fa40fa6b528dae981ecf651466e4bf7852c2237e110c9aa358cdef1600b5 +GCD = 138da5c12d454b942196d826df9e4bd7f06329ffc3e4985cd945e39ec5563bc62727c3b1f906529caeffd207d71a752ab4fc655e1b6c6a32d76ece9cd8544bc68173ce6329701 + +A = 6e116bb11156442aec05e86262e59532756fdfa0fe2c7a8b3e2a11589e52d385bc08b5a3c546b7416604c5d338ac819c9a38b84155d1d11e02e941e5c9b13b850bd82590cd12bb28b07bdc8ae73a4007feabe6b5709fbdc6a02077035f275797e68fde3c6f0f1733d30a76fa8e03ceaa9f0e0235de4ac5ccfcd458998c2965c6f92d91af53c4bae95437d60ae +B = 6b8b7bb3ec30e277631d501e4806bd280454efa36f5d420cc3e91a74ea1dbbd0d58122cc04769a9da9d77fa83491126097b404f9e5c0f8e7df62d3f022a3268350820fe4d00e7a860aa2cd17152fb353c567f354ea10460e8cad48d2d7fed192a62a34fbb48c2b6f6e27fddab67a5106572c389982921d73377f2220ca87e330c8ee4fae050b2d4aa08aedfe3 +GCD = 4b80bbd15d8054667664ec7c3edffc88a156d502642707c255bbec9dd16d861d64a8b3852751315d8260c598071c0ef0f783654752273799155fb4a9bea34fde70a547103f8f7d + +A = -658b769fe1ec0c9470bebfa6d42c5fa822f0bc7f57f23d7b97a7e2e4daa57f550d1a3154ea91945d1f04307233d2c526f0a007b02451c2ecc3da0fe6c52f2a36fe7ab7b2a227f979acaf58649eb92aeee40b7234b26aa4202f178ebee4e4af432d2397db712355c64119dad797ab1e5a40827d7609dfc502ccaf50bba16eb62b079625e832f1eb939138318e2 +B = -15bee54a8e2eed4bdb26a17b4ab06a17823805d1e7986f02283b71c059011d25cfbe4d17ff83f4d3a6d8831ae691fc1fd379d52a04812acb9bb538a3494648d5284e59c3728a1004553e9d174ce3486e6d90d701b5291633a3e0323a00515f75871e9ccfa3d2a40b3365e8004b3cffdb045509055e62a68a06eb4a581ff3b6cc324c1ed5a92817b47135df1249 +GCD = 118d05fe7839058e457f08551fe5f9c89f9d9ddc727f356aacc94ee805b17b84043526556a87f97a41997b53a13b0db422e0a8b58c7cc4ff065d9af63db5945c3e4152b4190729 + +A = 3773335e80d7532130b503862e7530c9c5d9440553d23cd423a1697214f4933dc50128b1a38a3df3d2a9f8bb66ae1d08386f0bc7c84b09c7436dd2b6296313f57d8e5af97aff0dbf45572ed9fd5cc7f2ff24a2ef890812be54dfc373279c40c8ecc3c42d4a279c6a0f75eab8d07b52f7b69d62f1b1b5676406248271ba2fbb1e47c33e65568f9e9dee2241dbc8 +B = -3625a177b05c105a93380fe83530e6f415b00b7d5d26ef9ec0b2ae9013cb28c6a446814c6da244a67bfa05fef46cff666079937d742ba87fc4b0e32b907522606fb89a630d317134426c8bea1f5cc62d8d0e246eef7ba8381c35a90cda907b79c7868b3112fc1241e1ea4b126f90925ea47c1c53ac3137a2a45fe2284549d97a1fea360d64fac46d23de77eff0 +GCD = df634cad101563165e1541739fc6041ea443098d69381d9df62e21373622b859cb514af64dee785802ec3c0bb82c8debe46b85eeb4eb6cbe06f42ff60de1fbb635360cc527768 + +A = 16153809f7c35e4d82547efb033f083cddb73e0d069727028d17dd2dc7eca38e6eef767cb7dbb9adb0cd9b4189440fcf56367ab9c445240276e3283d90ee88b3a562c449ea2ada4a19b0af19250a6b671be6d48e3ca201defce42756ec98947a1aa653d599e0720e90fa2327c262b2739800fc15730ee7dce938cae29c2c9e57b4886eece98b1d9a4895c257514 +B = -3d0815770076c6c347449d2eec96ac6e5c56b32a69ce986a6f0812d5eb7be90d465c0eef362499dbb79a792e39064ffe961949491fa361f6601e534024ea88e8b75d26626b9808552540cf08f9a63eace949b51974d63f6c45fc6abe40ba4332e0a0ab90ff58cba40b716e88565dd6ccc329f18fe6bafd291d3a886b1a9f653c3bacf87f5cde9cb016d79c4582 +GCD = 1a11d0548fd3fcc723ce2d5a58d8052ac63188e427203170e235f7d24fb43d1a69a3ed6ff7623c3a47f09879f7e3524487c1f162d80b4235cd72e0c651aa41da8661c717d7886e + +A = 19e4f4acdfa6379561e4fcc72adfe054447cdec7de891ed5179b34ddc9a8728a09201ecdc13316b25b3f9c70b234e8dbae0d226e51793f69036ba109a9318e0fd0ef53a0255ab4c08f1b21ee2e74ef07bc122b910836c71a4e52dbb5e8bec5d7965dd166f3e8c8e7d66efeb8153ef4d773042fab8702962841365e7b0d447f43c0944a78ef78d2c159bf9bf92b0 +B = 23a789a04dc6b013f71a53f66f6ea941e058780b0013cab8bf4c5355659167a78dfd7e708d9bc0a9fa9b3ff2cfa0ce41d60f4369d9b30bef9c09d81d78ceb3d627ebb6e88ba71de5b4332e712406005454e78552ed0a34d36b9ea6cf140e2dc79602d63866a43ccdc34da731297710ed45ae2b4c9b4f4eef7bf0c820a1f9786b4263d600fb376f9c75723bc8388 +GCD = 5fd44646d556f78b05fc93e514f307a0cece74985ffb4c216e7463268ddf418e6b68289d8e7151921f11669536d1f3bbc01975eba6ebb8cf3c12e8f7d8458389e8284d110b2708 + +A = fedb1db662442f1ecf0c5584c39ef4911ba854228d84f6dea02a3302b101d470897a73a9c2cecdc933ba030c5b2593199d9024b9ecbc1ec516894a3ee8e4f4be289f18d6d11ab117ea8ee4242e0b212800dc70b02fbc74de0a805689439650ac089e98ff24191dfb04054ac28e70c4458a7c5bad0cff9947d2dd15167747194a059dc6dc347be231dbd75042c2b +B = -666c5ebfad976ab023ca571ba50f850a3d9f8964983397c1c4ab996fc8921dd376bb9dce143bd03a1cdbfd9ee03f2961147c42b53d07308777045f51289a3a3689f2a5db6492d478ce26f866383b23771703a02ee1812b0c3d05c331d1409e1cecaa86c10bdd525e0b0cffd7617238e54ba9956a12d5f384f30284b37193df6ca12a3a2313fef491f43581e3ca3 +GCD = 4c314f61ff0d0da6bf4df52395eaa7ed7d3f3f16f5bb9fa1ab82b07e7dbcee2bd5438e26d5f86073e0062e0dde824c4121a377c537d4d7bdeccfbc67f1629ff1e21ed4c4702f79 + +A = 1dc0aced92994d2e5c24060c620576c3789738ebe5f7810c4d763ff700574bf63ac366ea3971b76254bc3e9a5b07d87da5a567aced1d7e4a7ab90c67bc2475622402cdab454df5862ecc5b46eb8919d91328713df150d5da542d1b3704def1e92da92b0a18031c87c036e8bdff0c83858944e0c85486d3a44a8fc5b6e279d1c4fd7c551da71b158cbef71b22d0bb +B = -2c03cdfd2614ca09407ebf500a54179d9c76c92d1ec63aae4b5ce5c7a9b0130684491e2ceac349bf84358474577f99f3b1b5b734358fdc69ca96e3dcf43ff49fe06136aac546ccba54b130459771a317003f0228faadc33d41a88aefcc215bc5ae5297ed41ae8a9c04dbe2f010bc49111db4654a07891fe54676edc8378c4c97f8bab7b9435441c1ece0756db9e4 +GCD = 811a1c35cd903d83c563e1fd437d7f4e76fa8e4ea97a61df30b7e993aa7fe2d7fd491dcbf45e545f52493baa941c122f81f62afc2aa4e6bd853b91fb2760978a061b9ad82b9717 + +A = -1a599ec72823ddb64c36f739ca42313ce91532ab2a24eb61f85266f5659c1a8691c848f7ea5b19dd91b5a4a4b0d23a045352cd84b522befdbcfb9d6809e81c4370557270ad3137eadbc19113ae21315283b039a5c7064cba8797060620d101dcc9741b9e178e6c845857c31d83771bdfd0672787a3d86e97fc22c46bd9e9dc328b82b6f019f5ee1b6e49dee563108 +B = -15350e9da0fb1739125ff455eb09daba12605c8f28ffabd786e2875150650f36b8a7220eb2c571e1250559163e22f12f65f0c74ae5f49a2cb5301f9bff3192be98636f5e03f127e73473f5059a2f4d9bf9efd7cd6cc1ec9d38e3b9e26ad85c8de6fec79e7bbd195f5fc5cf83277139940534e065f9e3f6b50ff0a2422e12b6db16d3ff72a3164a00e2bb6068ea1d0 +GCD = ede3e5a6a8b7f1c693404abcb0a01519282de1832258bb707e158f643d044c44464cf2a3b41261c78d6ecb37c01794a09fcb44c6f4db85a526361971a3738c45261dac4795e0f48 + +A = 9d254aa6b5c58362b0ea14e115b8d6cf3facd87d028428042748697b3aa105e8e796f2ef9bed4844aa520bbed84efbede2d9ceaed835575233b24955fcbada6c59af92f36d83ba89813e1f40dbc36f3a9495571f3e63f8e5a7fd6ac30b5ea620fc9ba45336125772315eacfb139e49549648311fdd609a1b14bacc262bab25ff95f881d0d2a35016a11f04202a10 +B = -70d6a02d24ed895ce3881585c57473e0179761a0032d21637a06b6786ef177a13877b4892cf7aff93015525bd331d150b06d393407e46126dfc9ee3c706528f6d18125408c01780082827f57fec2a627ab4ed11ef05b988a78f64441b0b0e5dcb73aa0ef3509c7ba297a33fb395126ff097932e7616284efa85fd1e5a503a6c6a1acfb48c3ab1adfab12d5819b0c +GCD = 34c2f78abd9938d9b89d15c6cef07694dc6e07df7b581666439b3383ae78c4e8b24413c8b17c969e40fa9f50b7747ad37de23b3d9ce53f966c80a0300810da3ac8722c397627804 + +A = -1476512b768d51d1357c26becd2455c609f690dc129af9a3b0a3427009b31b72d3a7730bf038bc97de142a670423ae77172ca646e21afa4576c3f8199adff7e20d435234fe189efab488a1f97618159223caadc006bcbf77c11675e05560981db97caf54088948b910bccb0a9208cb5ef66c620db4fa59868dd78092a53a8894b503136f1925ff01550cdaef38dc18 +B = 1391c5ed08d372e87b277f16072e6a63a15dd18e84b079c7d091aaeeb5a73783d857b13d481129e57520c61c0f1e915f7648b0bade62a7f9f7916be6a324552062a0a9c2bcf387aa847c113a61cc647bb9a890d1789460160ad3aa1d9bcf2a01919c91c69e7c1ba92f256b4132f96dad1e51bfcab27ecc88e7ba6d7a3f139a5714c931ca20e5f083253f13e8eaaaca +GCD = 5420356572d3d9c32cb2a0113749c7da88e86ff4e9bc25ae0a63fe943e8cc9622619a5275976ce61cb2962b81c7d6b59f2a0aec0320d17f6df6f694f5d35ad6c4fe6bda1731fad32 + +A = 1d739c647b14d9c925c9ea783b2c0470e7e86ed0ad7ac19eabe016976a115b70e4369a2b29b83c7c6f826df023ace50ea8049a1ac94d487224f924626f6acb9d45bca737b9d91bc9c49e121ba88a7cde32383481573a9ebe30f593815c65bd5ff55032ed51d474a289b8e2279ba4339fb8bb9312579412231310649964543061ae5f194cfc00387bedbad475a3e800 +B = -1ab0b0ac966f3c6a0d613bc7492d33acd6f6cc4f9f823c9d8cdac73bdce1bc9eb467ba17841c689e1d24f298f93b28af015b2abea54c90672f4ac9c6d1bc6d57a23795cec60c1cf040a43a81c9c7b57c093c61a2ab83f4886879b30d0272defe06bb1ff39d08737f79f9bf7143d7b7962decba9b6ea5fecd764cf997e27e053a0047069ecd8cdd0ba320d46726f377 +GCD = f27af786acd5823b55e2a9d89fb27db0c71cb62c41e034fb8004a7631cbeda8267802606bd544a1045e01cbfa4c439701b256cce895e97fa8a181f1b37894c97a211d97ccbdb83b + +A = -e41ba44ef0a3ef96b0e9829da414f941be4ccd2a1f50bb67a8968b5b56e7c188961e0025809519fa41b65c7e81ad7e8d7407cb27dfb5621f662e3e5b33b3d0da660527a75e72b9c09d979b13edd23ed3f980c45d70401908dd2de61008ea222254f82f94132cb902b70d2422d20fa1252a066b498bce838596bb540d160e4d2c3c513fc76bbb34987e028a16e77cbf +B = -72120630d549bf03f75b3692196ec006b92ba5d592e8a491d78bdbc88e19d563426559f9c3007881f684cd5c9693623beb8ebe8c2bff5ef471d1f15de9bbb01e73c03378117ad9c8bcf91199f9ae6b89d5b39c3d4f7774ea20a05f94dca9560caa3f7a4a5964e00531d7a77db616e18009ded8ce405cdb43c14db058cae083f6c6ee58390b4201c6a322acb2a87dd6 +GCD = 558bc335731e2605651c347a0c442bc782ac65e74925697f0d91f515a38a0fc80f1bbdedf075170260c020e1dc01730dd8562538267f33f082ee3b6d06c94b6088090f1ee18b4e49 + +A = -50f616a9f792ccb1ef70f12224666cbd106de6e079d372cdc0a6795aa9dece214bfe9b34477aa7f66852e27b9913e7537ff6e3c551c402a1ff220a617cb0633f9cfb622ff2f186cdf749fd2f18c185a2e8dbb4bba064abfc5f00ce96fc07ce53f2fcc03489dd83ce12844dd143b1faa37637cab420fb96d5553d155bdfd2e8a71e14a38ef1ef1d6ff81a3d2e3c6ecc0 +B = 20de912f3266b0ccd3cb688b964c64915dff91d406d359fb8997de628712dac18d4814c1dbcec039ddaf11a1bdee44ed4b5e313d7d60a87a8320955d4f16131f4c797eacb3cd52a005418ba9dedf878360dc8ef9621ac8a9e35caa6befd180e553393ee6397650271a46b80b70560523ce9c3826b4be8d0aa1015c6b8e1e2444b8f0fc313a704715ffec69d0869c8c8 +GCD = 318c076ddc7149d530d633cb8f2fcd72d1e35e91b6fe929aa9c7e7b4817583cff108b3f068157f4b218d80240b5086f674f04267a1266a8c3b17b2793632e2795c96db19f9ed5e58 + +A = 60763faad9abc9ed8db507825b827c9ae30b0f9a2ef88ce0b07ca284732418baa3a4bbbc44dc351daf7b5a366ea0b166d1001b2dc6d5fc13dc1eddb4bcf002263a23f926d471c905d92c18f4f9ca82a26759b3d379152598a611bd42bff8c4739e8cdb594d3a777c54219c8adf58f3def18cc036905ee3398d5bec163500cebdc54e5247ad6b40de2f039403a018f08 +B = 25206906ea3af2b5f57257d45fe63e22efd7800d7ef8b59689ff5bc0f6c161d80767220cd610c41976400670283adaaf53189504b6e2b641cfbd02973da9b8dee2f01b19c41ff632ace5254df416d216094cf396737335a4c27d2b22ef9ba82c15272e89f5626fede9c4459b9ed4422e6eaa264df02e0ecf786eeaa0e89b331c3a2a2e551d27bcd67b237fc8a2e0e88 +GCD = 475db32beb7608c2760220455b7095397886cec48c04358eda690743b96624d5f6dcd1090a764e9de83ffed812eef64a197642bab60ccc99dc3f22eb7a26224998cc1a0377f924f8 + +A = bfa32370445f7222b6afef3d771dbd4d75921b3f45feda0c8088aeec4189b50dbe14246b3ff7df898b11472fab719b65118bb1629803dc5886ff63f7264bdd4033a76c6ccffc7e067185c96ffbf488f3bbf9bc0a8f0400776119f4a995ece92ed63aa18fbe79c8c19b92cbdae8e1c0915291af50795eb405e648599372a6e9ba137e4f3979a53d7b027ac1a8208906a +B = -4116b938d9ab2312a3dd11cc25eae36114941743f9ef0e60b966f79cfd7447c524d2448f29b78f8653243aa9fbd5f5fe1dac68148d2c83f4b61250d40fb4a2b2566ccd44c3816dd8fe60454a8b1b1f488035daecc7bcbadbe225b6387145cb9b60a6a40b75f08d325f5fab9a0d8ecca578a0cfda41561ef25c1ecbde5b593a45ee6e6a4deb7c77a668493ed467c3166a +GCD = 6903ade28739da85afcdf76bdb7e02d3cc415f5a8d1c0fac40a21c01f97148a61e23ceefff016dddb1cca68a161124e9a95f3c7adcf2fecbfbfb8bfce0644ced3dfd2fa84e65feaa2 + +A = -160adbc49f4e15fa9005d726e36a334da8e7904a769be5d80f4997cfddf6c5417b4121de7a9b9e3d228ada2abc7435b39d69cfe6c2bda6d3d90faeafd8e86305885f94cb0533a81ed2ccdac1fcf3f7daeed231a5eac79cb631d75defca88f64f700eccb364241cb232b544ef2173422110d6efc777ac559aad31e1410f23ac7905f6935c7385d1a488260f62652b20424 +B = 47b63fdfeb51b3848c747a75dba319a4c4e93300c53e3d621a08caa20ee37399f9f4a8deab4e718459b2f4474de4f1941953372f13a09ea6e98d1b364e58e4a9eb1c0ddd22a32c91170e068853204858340107058844dceebd4e07e14362eacd71ac44167afdc4af0d5d9b20bf1fbf507cb7c3a9880766b91e75aaa1cba67629e0d8c8519d78d851f9331eb0b480d8d4 +GCD = 16fa1abc9c64ed7e5ef95cd9551c283d1951f1e7422dec2a875b655fd85345b35e648310172d219875d4b4759656e18676a2ce6c6b23b76999b665f2e1cf68718989180583f276714 + +A = -2a876bb3a1f12cf86fd92902446843eb4245950d16b3a17cfd04213806c6f374ec915e7613b619edfa27da1e9bc9cccaef4f3279295efc31f9405cc8eafaf300e216f026fd4b3cb160226ecc129411f98c04dd5c5d75aaf1c109e1dd9f233765a58bd7bbb47ff98319dfca503edf2768a0e2138117a06f615488f9af12d03a404bf350f32b19f956463341a364ddc7226 +B = 3585f45860e9a23a87053cfe2c5ab15bf579a9cfd6294d2dde1eec8555b708f3c94818f23ef0af3efca2344966828da17e57257ac42ec3cdb3bc305cbf1b8fdae81652abbb91142fb5901ab1c53dffe3cb61f2b65875b9febf98d1e5bbef0d960730c7c8d0ba40e9275260d00e4c58b9058f086ae9296551f462cc1592a10700a6f833868a7a2e5dfdc5fc394e865dc +GCD = 210331543ac4ff9b3280e87a355ed332c0697cf55948e0e07d88e7895fb16c2f9a9112c4e7380a76e550049fba336fceec74b61f275e31f072df3aa9c671985fff8fcb96df773c42a + +A = -eaf58935d789e20af6e90180ad25b0553237c5cafb0b35d1b769bb81639c4092016b6f69aacaaf6e544d8273d4bcd29a1592239242827a886627b911dad4d2b31422747f4941276e2f2ed3d93968ae90eae0f57c036f957e2aeaecb9463518c387d091245edef0b6398d20e296d84c35f170bc3555fde665f055ee22c5df405205ef06a37404b2ac584d63a9d5bc918b2 +B = -c5c974b2ce3c113ba9325265723021a5b263bdf32f6fbe35de43b0a318b266e3b92b7bf0b4065df0f9f4ab2042075ba66208470c654294f53e2253e77580cc5986292d9751dfec0759c96342262ee98f3b9c9655c10e0950e4a126d60a6f907ad7ebecbb8c2c96bb1bac281e1847a678e187542020ca9cd7f6ba819479f7c36edf4e2a56b78a3c182d1b6f020fd4a76a6 +GCD = a748abec8165ac6b084ab18f80332206906307588eae3988575fd63972f0b01d249facce750d9c4085a3f43458466bdb2f80443b4687ccc8aa8ce7d7c3d80945cfd3d5505f4aeae4e + +A = -1a2ddba7ca3de7b007d3a611dd6e02f67bd8b9f34facc930215c723926bfbc9adf4f6f034321903fbb378f261f21def2de925d9b5e5e4e257944f9aa1d2ae68f985d1af747ad7dde70d88304c32867fd687ba17b1a779079acbbf96feca068fa57d401731d43933ec17cbf40da0b9010cbf2b593bfcfc15b4e591a3caad2181a8550bd571064b3749141cf9b7373df6ee3 +B = 200f4877f01e8894080741e58e6f8ad6a0f1d3eed613e78bac4e4329081785b721005b8bfc9d6a1e9aaead5d85927dcdf576bfd904bcaf4b5b860b02c2bb1def7da081faf8141dd9bfd5b206e8bcd4e5111bad5a33b11ffb7f913ff61cf579f8cf7f65af8a6eb881508c7a79b549d94f41ddc080d7d8b62edc64da308e341ef621790632f429b4a84ca1ba1f48e4004bcd +GCD = b0811bd1eb49c9c2cf4f5a58d29f2f9e3291721991e6280b6b84e641a0c3a2518baaa7166e256987bb43e8a6a564872e1213337a62fbb2d01e3bf0d01206801bd76bef10d77665a7b + +A = -f8d14349efb35f8c1f91caa7e72144d3da751692a506e1cd7d3309a414f197a87e46aeeab0cc9f17ffc78219facabc3274601e197ea1791b3f0afc05ca0e6a4fdf588c5bb5aec074f3ec2c6fe964a013a7f5f70039bf2ed39325194a6b97c1882750b0f4d39de3b43058a646285f71ceaf3f1f3b6aacf1bc6e443af2706c7b5e851fa713cfb1153c529734083286cd5edc +B = -a8a0667c624fd770700ab81f486ffcbfbf31c5f5a3b5527e3562c019eefead5caa62d18e4690a5ac0b1f54b45b3bb94198f9214cfa7ec6c913c93c2ec75429ee4d340736dabb028889b9789dc203563c38c0c4d3fa8f0a0b5e5ddf7145fc03b8e847bfb0cf5c03f95b6a11eaf861371d08d410f079432da1938fee4f644a21f29911ae352cbbc78c53cf24e43fe1c452cc +GCD = 170b537a61b9ca5a169820f72c0fb4ff90b39b74f6b560ceafeb1c7558a005a178ca17b77931543f909559901ee21d38b8642fa79d9b6a788974979fe6b876ebba2d7a8e572d9105cc + +A = 41ae9756fa970deab696612859a75d8b64e446820d8b76e81ed081f713a65c7663b31882d1c28a90af05b1d4a171e9cb39b538f15e93f02e8c9b488cf99f9cb5fb551e0ed44dec761f067e87af900df63701f8a1e4867eab59a640ccf9eeda5cecc88f6e4aadb3354d3130e98516472a439d4160056d111ca77bdde0bad1f52f515864668217660bb3988a379bea87d8048 +B = 253b9ab0e304858e5df1e26f5a628a25d0ce8b3bbadd7c451d202d782d80ad2beaddabb0bf0b8e3d575761723d3df42d62c42c16512499e8b4a8b6eda2ae5f919d1bed78ef2274d5a845f709bf8c8ebe896ae8f0508cf0a53e96579357de334ad9d8ea3f8bad168d3d1d93ee1ef2296b578a656ffe1d37eb0824ecfe95da822eb91b49289c2357e04bf9141cc94344583e8 +GCD = d9b78f4a2eb560655a9e06ef684624e0b8703120209778c907abf06ad75b0c923bf93194b7708d36f9eb3a731ac11a7f84ac55a65b84f2e544afafa2d420086ec23a480c129fb4dfe8 + +A = 1a81ac2de202ded79fc388027b33c256a04d1ba346abf66a47d8b10c60d06410547802f3ebf9082cef504cc1e572fd4f403f84b5c4101f271b784cc92fe443a6b0cfcfafc4af03f8a185e015d80443670e5e52b0c768e70100852fba9fbd173dc158be6ecfbd91b629d58ec5feea6f97e91e516a16c78acf88d01000f696fee4849feafa666545cd4f0b20e0df576dcaff51 +B = -162c7b5fed1ecab532afe3e81200f5d7ed790c39681d7db4e5d5524d359c539a3e5d33d105f0785bf2f9ca963e8721a814bd9b535f0c73942169e80e49de6dc4695d3e5097755c13709541ebe42a2a59a69da7d9e3abb456a9870051dee86fce1cf106a4ea99996532ff602283413127e9ce555891b83574697949df316fae4db30e95a2f8aec9f549f653b679ca12c76352 +GCD = 6f67acdfba992a6a06d55e346e05a5198834bfa3b94ba9af051e6dd777805593dc4b792783c36f171aee92fc04002c744d0cb3dec5ed8d189c2e6fe1b32dd965c51783a1b7a47dc155 + +A = -62e55f65c5a45433f0eff7d84d4a90684a7adb36af0b05d8e9d4b3c975c8c70e54816a7c455114324e6c08d594656f1641564963e4121f3822a5954fca08c76fea29fca093e556db281bc3ce510246b608becb67a7ae9bf1e5900e6d5d2c860aeffa57c25cd09f8d1290c7c2f71df8eac4ba456f10e66d6a4aa0bbad1c14d0ca7eaf9073379e666dd9ca88026472513491c4 +B = 27dcd52867fe0e75c5b1965271c0220cf022249e1567c2c3b37190cdbcfb05c8c78d0955f36c5a61aefde18259d9dd10223374fe71041d52508be0393f2f026292d187d1c2c04df792cda75e6a5828e4ed353f2ab83c22b661c6ab6d0a242cfb1329cf33060b1356c6f5c8ae323ae5585da70d7770788655f354190e9c29dedb80f45b02d95e785e3190126cbc09e2f209de +GCD = 5c70ec695161818b41fbf0324cef4a35f6be0f8b537b510e26f07c2a20c7b2c245729b1e1eb3a8ed7999d316c8bb86b3f15002b1c519f61881b984c3f3c5fa5d0043cc8b39d0c2888ce + +A = -31b786b561f1f2db190dd971f5f1e2bd87ae388ebe0941595316335e26920145a3e122788ce53b1d42d27dbc8e14517d3199abe0ef5759bc46763ffdd916021585636a00d2b476f6826dfe8412971a74bf4c9b4d6d61b1f16768a4a8aaa4bbbab8a89737da56987c9559a42ba8aef02946932eea76b08be78f8ccc342a90b74a756cbc9ae56f19605d4cf3190433b1e013c +B = 11ede709c3a2501a61dbfb7b6e841b0fe345b7b3dff540afb724c900f643eb5a30b2e19c2eb1ab76011de1a3b4f6d9c11bbb98dc60f900879e91b80c966cdaf753b64600980506b35d9e6cd38402b545f1a11fdc3805414726820f53feb2b1b5a7a879df56b0b27cd8620f49bb4b334834e272ab58d8917a076f0b4adc99f3542435b0b02928daa323bfffe6b49c7de396ca2 +GCD = 3d50685289251bf777b6c9d61b91e4b645eeaa7a4caa5d7e38fe5eecaf386977750a8d403324e6b6e22e3f7a30b4bf9c48068058a1c5d286d1818480c993ca0be952a061538284ad2ca + +A = -1ae5054ca2fb5e9a90cc0e35cbd014ef9c6882c0ff76fb730f3aef494c532a409a018a994d8170a00654a901d76c1db43224d3f12b95d11ee29297bcb7d59a4004d27829353cedc140b08208c89bfc58c9bd9d0e873dc6d8228cd1324c09b0bd91ad908098a823a58e064d65a4d5db384037cb8fd9cd22b5d682c70691bb038065e4454f83166218239ac6ae4a32cef472592 +B = -3a1d124ed840b8bcc770549b78a2904989cb64ecc797a671d9ed2bb1034e5176561574b032ee9ee0915bdb4d68514ee3adc7bfcd1f5b114561cc51fbc485dae29a62562085d6644419c192a6f9f97f4834304582ed5cd545eae322cf07962ac4f12fb53ddd3a6c4c1ff7679310a949f33ffb990da9fb44efd90dd5c26ee04f8e4445354bf6410f0f66c83e5dc00fce811b114 +GCD = 6603bf8fefac8c3d584cc08c9324a891bef616c354b4fbd60d379310e187b7c0bb606194e37bae74dc817037d1a2555a60f5ad3b529cf7b4f2defd82476a2c3e48181ba81976dbec3a2 + +A = -350e86b67f805ba1c9ee8b5ae4d20dc5bc3d5be3775c37344e324b8cc31410538e43eca744c95e9d24a0cc2716370094e24ea4f1fd8729a59812564b13e37ad1550d07d7deb4fd920d3ebe3c11a392927ef03ef09c141cf828f243a3ac815cbc7c6c50496e19b54614f45e9511b34d571a8150307b5ce9786afb026112ccef51568b04cd4f1d1decdbe44101e172e4eb90148 +B = -fab5cad155fa226f4c3d840c2c4a33a365d9028f48a4faa1397d3289c12d0cce7e1c1d6a0c1b3409dd8bca027c4bda0ae387f8a847176a854d91fc6c82f36112953821816e606be9a06425a91e2ca64781185e11957c1cde65e3aa0a09c5f8d832fffa0440295a6501b3805cc7792b23faa74b8d648d8c733bd4218003f4a1721a3dc088bd7333b46d70e7a8758ec17dbf210 +GCD = 4404c685e043167e72bb9ddb94bac36ce65988cd5efcea67c9f1656ffad2bac3b2d9360156c872a52930a831ea81b4ecaa68c03f30294489fad28bf9fc88f2c52c56e971620f2071558 + +A = -4626c643aab7cc7c137822fd6afc7eff6c683bcb0cdc66dd8c335cf25a9af0e6e6ea968b458c3c740a4f531d0a14ea16304ed1c60110cb05abb44798da54e436308e84bd124fc987ef0ae756287bdcaf549c9e2f82820996295ca5100e27ca73112c171fe5586eb5c0932c6129514253656a58e37f4ea5fd74269990ca5e2c0be214cc0939107923e540cc657f1b35b305b660 +B = 474abc656d55630f5c355510d4e18f9068d2ccee4fcef73e99597b1fe372c4dfb93d687e63cc8e8277c76df0b130122d9d0e7877be559ad0f25561e2a4860911fdd5412bef2f304a27d383e26fc392e43ee6f2ec0becc9b099a5e60ea49c23670de62a453bfcae9a0f4dde712dab6cde187ac376f0bbdd53fdb35e3aa86e77e362410731aee46e84321610c3ef0c10facc10a8 +GCD = 300dc9d12e176647a62cbffa5ea4369fd5fd3d3aa3aafa1fbe76683dac3e303f15d9cd7b5072ade8760a5f791fa0e2ee22105fade99e0b71807b20c39d03e999190e11a6b72bee481f18 + +A = 602094e49801835c943e1b40488c873493d58cca6f5765e77a61b6682980b7089dfbfa1371393bd2b199fc5239d97da88207fb384ac533415c2034c6713646b7fe95a397c796c5799609fbd51e024fcadcea6fb24b610596b8acd61eac3ca4643454975375c9fa16de742a98f769ca73ef1e00b2bc457e1c11ad056f80cd02c58bde651d42e1777bc64762459895887e162710 +B = ab39ea7b824bfc261bec70b899656ebf089f12694fa904c5ae9fc38e6331e6ddd39afb19552f491ff25cfe07a86b0f94f06a0d78dd073632aeb0f618beeddb9801d5698c6fd210855e7cd48d54cea02cff8ee58dfdf4822316cb6589df0c5cae76c43b0ad7dd3b8b9c42afc78ba2f95192c14eda3f09b393de6cba225989333890ad59aeaea496818f695a96f7f686fe6175b +GCD = 165af20abf538bc4abad7d8a38933bb4ddb5bcdda900a829868eb0b6dcf1ca2817a3499fde65ccd7361dd5069ec226a3951dd3c14989e0dc387a2815d08907f2e1d305d1959b446c634d + +A = -6dede822eac77dbf0cad2050b60762a3a1fd708470b2b4d681ff942bcefed2b522a23d09ba37bde3aeec22aaa75ba4899cdba3fdef80c6332596163596b5b771125b1245d2e781f4819cf067d27b734f69c5080feda008d27671ab15f2f73723fdb5792bd206b3fb230674cfb736fab0ae2f75f9fc30edae880c5efacf05df7f79a79e2610597fa15994f313401c0d5876b75b +B = 16f51bb41673fb6c03e78ce6909977a2f9d076eca100f5065a1e090d186ace2cf41f0716a0fe5316df7cc0cd93deef912f8e4ce37da53eac896eaa9bac318f7cce191792525920222050b268585b76ffa93975332a13bde0ba36be5303a4503962ac1f7d3ee174ea088bf3600274321d5acce36cc961d87e03a3cdeabc43eeeaf6673c558da867016e4bc990f99f1ef548f4057 +GCD = 372945b897af6e0590ec74d710280e60391bbc0167b6f4d2b3a7ada91e1dfaf5eff12c41c2fc778e17ca872b6092a1542c7bdfef1f89bf2361f7ecdc807645b607b3751ac96fb16d8c99 + +A = 1d3b3533c3828ebd09d45343e061999c51d7417af2049320c124fa9911516748eb600936f2f0c28c9c4cebe3181de4d75fd56aec0238d66a050e6a27a3fe9a59da229f20918fd3fb035514281b4909a229b4e077362cf2f841a5e1cf03177cfd22bd2183494cedbadb6113fcb5273e7250c3c5034cf0a97f2d33a2e569eb4498bf573e26efb8e745210358b4dd232d29dd284fb6 +B = 12054d1fed423fa7058f380cc96a754f1107cddb4a5ded5d6e13a3a374ede9b10e36d1e4ca9613a9db02922b3e4654fe126584361615e5ad2cf73239a89211439723e6078f992eb96d2d46464731ef486e0f553a4e5f6be86a0469872cfe430b5f3cc2f354352f7af04a0c58e7e4d8b1911229bdd617eab2dfe02bb18ab9d13f182b527d05a087a01acc0f5f9866c43a34167b84 +GCD = 7dc05ef3638975908fbabcf3ef57505a5f714b20f806cc7305ee9287366caf547a026dbb3ac2744f917fca87b260c8611811cf797cf80f0834b7298eb29242cb6a3b9f7627d2901a0006 + +A = -47c5112e78a8bb851d1175c9d5b48ed3c37a5b45cb13593f4c0449fd04fccc2a2633c6348e0a7fa9bfc18e6a4935e9db3e315391d1005d92f250abb54cfdb0592645901fcdb4138e80f34d00e37d38ce11b2596a1f7c7937628c41bb28849e0cc25bb5c68f4813efea4ac2b5f386ca9e73966f4effb3d5e3283976edd68d4a281e89dadf275007a7e18b760cbbe6635124721e24 +B = 5cbac0a8858dbd1c95861670920b167c4cec1fb3076eb0020bda54e7851fe57f37ebd488a46afb089fae4c8101dd6367812889f4c02cfb1587439b03b5f123ff425b15a4c9a1e89f67a1b56c010aaf949a8480b62e5a2c87c3182922f97117f478fd6b56aa85cac96dbb79b19288e95a6545176fd14e8ccaf69d8f9c881ef3f0b06742dbc25a0847e4c533e8014a60d667f9dcd6 +GCD = ce7c2709928ebe3d93233ec39c422d4d4bd266156d9651412762627708a40cb6245473e861a24007770fe51114c573b1520bbe62a62a31211520f773e7eb11d4de921a0330fe3ee52502 + +A = 1422769af71e2d543ec2740d4b9e0dbec99dd7f005a4929ef59a472cd10dfb9698828d17486ce0d759e922e1162c84dadbe1ba21fb1320f8955460f83dd147f7afdda33c98904ad7b7b68dd14fb6536b27b07ab75ee495c816917255408aa736d5bc04f16375a0fc79f40dfb72ee6a52293ec773ac8dae0a2cf95cbbbde9caa9f2fd5143385930e99ae48771837d6bc5cdb9e91e0 +B = -a080e0aa6f4f4559d277f952b2077db758a4140f080207ddb465f978dbfe329fba08ed6d8375a1950092bbabb85eb61060950343a36fe47d17a891986a7c0df2183950a491de337e86084e8da681e4979292b3e59521d5aa4c91acf714da3d5dfb2552c04fab3404222f4b1aae188b797abbbfdc53c7750ec6dd46e2265a837e55cc28e821cba3f9061c4617c3f801defbc57990 +GCD = 2124144025a5c03658bc6a9c3c683c1993dceaa8226e34432f42da465f9ebde8edef30c62e35446e52921f0d2b12adc6d7162748df2aaa2744e75bd3741b4764be48642ca1d04544da45b0 + +A = -3040e3a6a0a988d404c8d1c390c625a4b4005ea72178af01a348e0e9b39091867d907bd95ed6586a6b796a8e0284da9dd45b88e361ddd101153145a2cf6bd7188cb8b8ab2f9e9be3423983c0d8067686395899927ca4eaa7180b0a94d6b49ab98aedd55af6987ec6f6be2d03506e2ad082f52cf23c7543a7abfe814bb95f6c1d27f9a3e3b2fe82a02b27d9b7a332bb3f0268f1bf7 +B = 727855b3723cf68a0f8b0e56faa914798b23ad3ba1625ebf68498153377f60b7064861cdbf44121ac982e00b7443830b63d78fbbc7fae7c4d38772e128b76c9483eaae6503c338d1922e017dc0862147386a2a9f43f29be4d3854b9715e88be88ea191ecbc427890e07a7bd7c50722b59d0279bbd96cbf54dd6912fcdebfd037673bf6695be2a9635b8a938854cc563a9b93d4c17 +GCD = bd71e442bcb18d2f6ffb6fa3dbe53024c9418481045b8fa7f4b560878ba84bf414e1d3e16c79ab81eb97fe456311d556d83c87f7cc0597cbf62bf2f22af9eb29158e1e4f63bf037149dbb + +A = -8584fc510b131c2e91968aba69b8448b0955cad536fecaa1123a4471bd76fb621762be134622a6b73dc1c1b912304955c53e94a0471d3ddd000291798ee53bd1d3ce3aeb6e9e1e7412533771147029cfe5dea66c2a448748abb7839935515de61c89e66ede9a6ff861401d6a49b0f2f38517c43a8c125822f09bc3b1e29d6495cd9e30ae8795b7bf279995f899e191341e76830 +B = 19442bba625c7be7988d554e11035ff7449a9ef5df972fe17f141f7daba01558841af389b22c61ae32b830d8263d2f59c5debef873b9de9e4f151dcce5300fc4efec23203f2513998fe624d17e86810dbbb3d9094ecf176b977400e4a252178be3c054a9cf54fb327ec6d1bbb7785cb19ecbfb0024ac0d755093d60314a92f0941891e62f29468583feb6bda31747177b8d963ab38 +GCD = f1ce3365d8037b9b545293c982035498287716c050db9d93abcad4464e39fb2bb97b922d5471f7c7e68a75a0530aa3c603de525ebbd7c930830d9c75d9ada6bec681b2feea37dfb13e788 + +A = 69646509f5f87d6ae1736bdb51bee16e9792b0ff7329d254567c3312b70901ad592891515b8221b7a0196037d642056a13d60447469c6e3fee7a3199f4b67feea1eca98655913b8eab2d48684505dc831abb2ab7bc339c8e2845fca854d02fe02aeee5439b653b501220c8b9616a555cd5c9bcf36a8dc0dcabdba21f3b7f8dce69fe14dd099103f15447da2fb0d1ccc51d615844c7 +B = 4c7b5f0dedfa6ab91903884b191987bb00eeca8d6aa2bf12b58f5ee1efe40bfb3bdcd81a55654a9a774856e9f3c81dfb54870ea22647f055799762bb24b90509db14411370fbfc70ec8e0eabb9396c2f4ce4f1e04939c63402ee171ff4fcf5783bab56a989e1192e8bbbaad97d90615d54648485ab493d96225564c6b58f4a31f0776d46df8bbd7cafd46be3cd2ae12cd48d27c835 +GCD = 2e761ee61d22905cfa803106c9f3aa51c8e09c20cfbe026fbb94d5093189aea49538ee7fd8745656c0e93587fd6a0e1ab594b28cd5e0c7637ea8226f58c0c2a63c7a10dcda172d7f9253ad + +A = -11ebd1c45f0b69cdda8a9656267e9cd4f7434fd72e0aeb55a7ab0ddbb0d976b21a2c67c6357ff9af57aaa471e76d55567d4eb6c4c687c7e6b98a75a39e5c77204fdde6613d6d2860cd18dffaf62317f7389dd97027b1d1a1dae76bec28522bb94e0cf4d40ecb5b84d93e9398fb87f7aa41b233d3381c550f1d4dd8fba767904dffcf58f9296714b931ab13fccba91841b1c010414a +B = -48cec63837a1589f4c8800f186f35fa5377667c869dcc2cb1c54ceb02aab1bec0fee256d012eba7d82f63c72bbd648ad292ef6c6a47c3eb67ae848d823d5583fd4f4cb3773aa8d60e11d53a45b792b19aed58bae3544aa8ee708d0f04abc835c07bdbe9612da5aa3af4c08a6557dc1554e751166d8ab426c13753c498a58111f12f8687f80a174157479aab5115039395b669f4eee +GCD = 2b9fd6762705d9a1d0a22731dce79cf8df7c9bb55ecce498b5ea0a9dda028f34419aa95802bb686ea242fbbf6f1bf518baf618c50c245f2fd1c675da775ac206530e46aade78638785aa4a + +A = -2e92acc3745356834ec38e1b3e21f09bbb63350043dd712c12c8880c36296f19949199962d660044d5b188ec31b8982ee8a895929dfb6121b0031d04a3a8645268dd1334039ed6e3d5d6dd3192d6ab6f31ddd23bdcd9b71988a6418f3a97e992c4dca7933693df8c305398ab32a38433cdf287d4f6b2cbe07270d5df5d05de891fb2ba8a82113fb35ed8730283983316a3bf298f08d +B = -baeaf785f9826ea4a955b15dc7f1513b12cf588974cc86543221029785eed5ad5ff8601f52189def0da883722b7a33f4f9e874b50af7bde2a75fc7688cfd4986d8a672bc50f591f6dcb7ef53f85037e0e6ebb89a6f4ccc0c33a9c3b3e23b4dda431b205d8e481c4b0ebf0a980c0384cf74417b23cb975811cf156982b1f3f3e7a56871c19dd31cdecd58d0e42ca1e957d8e5c02b66 +GCD = 2676645447f9c6673d1d536f0e33c25db66cc20b526cc1572933d9c5cfea00f3aa056b4e49cdf2cbd4fb929d3f2f52f100d977a672814cd389b76d40f558caa61e483fcf21858db49fb3af + +A = -6e3de0883dbaae94b7058329fd28fb29c948eb7a3b35bf2650bfe11224a92b2020bf6e33181ee1a288d46fe5db4b9a5ebc8e8d21075d46b9b55585ded50186c51967d3cf59af38927e91aa648afff1b4ae098b16ef583968cd9a9f46aa81e46c224390b1fabc653b3af3fdac53b2efde9d26e88b959e599ba0ca706a176eda4a80ae1cea368e791c6cd51abd76c03ebbb993110521c +B = f59837df661773a0c4508ad0fed3a6d83bfcffb06eadbca53c99c68c279bb1084d68e367772baafeba2bc79bb7c67fa2fe1329e244b49f92c99e758f3fb14c6c901745ef7baf98055f6090bf4fcdb7df9c909b8c0aeeb2f456447096a39706ff426ab486029ff9d404bd1480f9840ebc1a5ef2454aceea2312b4bb1f07e6df5fbcb4ddbc40cc75d1cd0a849584043acfa1fd8620ae +GCD = f6d94ab31f68c082524c7de07c66f3efbe8bccc7deca97e331f8d257e0eddd4832c094fef6e024fb6f7b707237cb64059712b91f8c95e9affd13d4b2db075957abb30926bbac9a65ae22a6 + +A = 1a038147277fd94affbd1b37531a2a442c0a1a7fd8a983c646c29ed71047ec277ad3f41e7c2bcb362cb921cf005d558ded5ab92db67be88861b3987e04bc113b76e7f2ada0aa6d1ebeec15fe78a99021695af9b1e9fab3a3bba690920d1a31421ae876b63233633bbc64b8675c5e40c6436da9d0dbfdd56e1c724d2ede8184632dbdf13a82c3a2c5300734d3bdc6f1a0295246213099 +B = -1425f2a98b63cfcd471a00f21928e48e7b8817daf318b43eeb595b80252ab8531bd354240686eed310a53427cd89b8430779ef8bb610c33dedbcb6a8a800d873335789f76f9265dcff2d059490dbaf84dff06e4a9ffb8e5caa75206edfa448f381179b6bbc8829783cc5563f2ab06d097d25a0d76e7285d163cf0014d2f6ceaf0b58d6794394d42fbbb4cc2d30f0af37d5565c959597 +GCD = b001ebbf5f474aeea9bc7c268e1aa7c7c4d251d1434cee15b7d2de1023bdab467e00f045b4f687da2b05cdf1e0b49d833524ff1fabb5900ec00b56d739a196be3561b7d113e62a5532b911 + +A = 8abd6652f30d5114f3b08fb47300e9c4f064892dc98e47b03be6122848bd677efa9f0946b9a9e9cfc984cac0be1dbfce2637248cc962578524a647fe9cb8040d09c947510f1b9e83c2a842c65cbf623a957ec99b1dca7df84d01ba617dc51f0f2e814fa0e46d41c917d75475263b89a5460945b30be2506f256a3ed65acce8958c58e3add0cf21d62e8c24e0e1ac87983f465b3aaac5 +B = 71a2ac92dbdfe7b9c394d19099e97d7138a20ac17ad0212d3c6b1acbcd29afe6761c1f752d05c358ef6126647fbeb906e60cd591008f8b6a2e0c6cff637a6eb7baf2ca1582fb5872cfb141ddbbbd15f1d3a76a187df71712ab60ff201c9f044e0741f2015461513555a2a6d91c991272b016acf88a1d165ed7a1ed8fc03069d270a5d5fc83dabfb62c325c3a06f9b3190875aa99b8bf +GCD = 14aebfa6ef7c22cb429e8f011d2cd5f8d722c8d8f9c603931fd26ad6c02919916136ac7e6c2c9b1a4db9a4ad2ae408909e544eb5251221fade828959ab37d921ceff929aac55ee6c33d7947 + +A = -121ac8de1eeaa402bebf43a5d63575c2e6d5d49329f9320319182d32e65eadd7bed1dc2913e08c410b01b70e298a709eb09e6246da75947e84860933f4ed07c2f26fb90a702bd9316f77e476df80d1bbf7e8e1f8a43bffd6fa596b8081d16a98ae06dea9203d8f96256a86c3e6528af077acbd337501c3ffbc3bd9e727f22645534e035179be9a62dfb0b451328d7f4535f83de84373e +B = -3b755b8a63903180eb3a9999aca1d94ade18e021fb56979e20d2a8cfe67edf50119b8a31395c85354a471b2ce19648c0d25b0d09cf8f8de94b94088d69b352ee4425ef78121ce6b02573e4c75f15dbfa540a73e1a8b6bcf1bf378135a891259da0975cd6978ac1292aec14eae596c16099188ca7ddad2940510ae76686a8b6c20b109a227009311dc375d538e754accf0d1ed9e3a583 +GCD = 7d5efa86f82336ff2b554f561670a2b6834678a87fe164baecb402caa76745a4d2a92cd4831eb1c92c01125881880cba737b97be11fa9c78916daa4693a65e2c8e7da0488db3bedab705cd3b + +A = 1a2ee9716e653485d99ba938fce257d33b21dc38cd992e97749e44d6d4d8266a94cdd9bb9b2f735d54dd8657b481440094af2c06c9007c9be42ef3e2ec86cbc08664adeffa10f9184ad8d67f152847f7ff3889a789b1fce1b423d772fd4ae9e9526ef2d32e9a84f37b65771fa752710451ad4e8ee257aea2579583538dabbf0d5b53aad6ecd4daeabc5a463deebdd37481041ecbf035af +B = 18b25bed7f613ff0730f8f59dcbf28e8ef54ed0fa62b1a00baec98d2c2be7e5c5e84674036d8ef334226295492c73ef06cf712366e0561c735d985543cadfb4a377755d63ad0fdbae9d0b22273330d296ac3596c04036d1aaf86e2d657cf6f40dacf60f6921cfec8f1e11858a0293de95271dd02b2a68bd5d05b79060d709f007dfb8137721bbf762c7d3786b1350baff749610dd9de5d +GCD = 17d64e8dfdaf7a86b15a713888635cb7c5f806d5ca8cefe2fd0b6abfc3ae5fad9888df7abe3bb6d781d9d44041807b34976e64a5209593e48b89c6068c12ecb0cddc3e29ea84b826934a8953 + +A = 52018eba76e2932a9df722db4e74a980088a7731cf0db7cc135d90051627d6476fc413a718faa56b68397c7c25beaa7480e35dced32788dfac98e2f1899ed442e20f97fb4788c5778a9dd8eca1eec8ad3c573245cb8118868df9aeba962933a683c2a082cf35b1eecd9835c87d9d138a199a4940ef5a8e2529b55a73f5049e48304c589315cb87b40609d14d727ff047ed30ebda9fc969 +B = 2dbfddb374b32e5086e4214b34e65addd6abc54e268868b0e5c752179e4c090b5edcbdbc98bef4cd633d5f031bd0d3e77263e544ac82bc1e15e974a17b6d8a6c80d82cdcafa0286cc1f44067d3e60767c8082409217a44f53c2d4fc638def6b4dbd9831d7905c31644a98e6b8d12d34ce05edc753f545089f21cdecd0d6ccbe8c3c53ffa5914e925e515bb78632b33a365c1e1971fe6c7 +GCD = 4e45533244ce6acabc034e0eef8865a1b15698caa6befa0e29eca392713e432c197b842e1ce868ea635de4583ee55a178bf64bf4a8f6d20e2331881766d89dcf71b6755f05d4464ea08a122b + +A = -1378401e3b2fabf055dc0c9cb24e4ca6c553fc1d36b63ee87721f3817422e75ac5eed34f37ef54306e1d215ee72d9e993aa5c507156bb7448528f13fbf34eb3ac279ae628b74818fe658a32c491c6137d4ef23ed75aab40f9253ee1bf393b927194561445509f88500bbbc75a5f75aa7d8a9f9579489e8dbc782f36cc0ca4d1a880eb2c01f4677a48c7c312dae8d9466dadceee4d210b0 +B = -4f77cd1d352d466b4a584175665db1f88c7b6e4750b05a493d0c48a9f977c1cf7a688c4f1831035fd0094d5831405dc1191ce1a2070e0c7d32389c31600b5ab71d78b36bc8329c65e98b629ca5de94980d3b500e0d1e5df9408960c6fe66959401525855af7f5982586aafda276587ae2c989fede042bdf8ad63372ea6ec90997e5f9fd3be21ebd63ed54e75a15dfaeddd16f5503e4ada +GCD = 182b0d9801f4df448a5d1ee4e21954ebd6efbb7af504a327b416708efa797f22da2e6aee968d8716c1e7b8b4e7b5a937b75067879465d4ada037abca5f4de946a182a9ea57b438283b032466 + +A = 2a6de8673908af397b7d9ee18d2657b119401df64cf6b20fdec65d6a963b47dabd459704dc1660f62f9f55abff64d9a6866f3ead71f9ade3c6a4109af320c5a3bc3eb67f48594369a598483bcc96d458300f01d5973c90e153c5e66fe372a8ff998084833f30b65b866c459d55343f15c61d1cbb1edd620df04160c37695b863c70d6ce2b2ebb94fa609d0ac43dd8ec2cd02782d43a7000 +B = 27bf09741dc53651b8e5fed688b6c872c976c65bc4b485323261223a7a857f644b355ea1837f3b35cfd10165d33934a0bf73b494db1ced697dd621df4c102fc9251632e586a0984ac3d7f60f9c64885fb400f030ee14bb1d15313f0f07377f65da65d26c63cb30615f761e8582bed3610a7802020ce9006611c7ee9e046aedd047759e308d03bc652c7ae0afba38cca0b3e8fa555b0c000 +GCD = fa9bf4d083cf83140e24ef8923add5e79a1a0deb33cab3120397ae16084f2e037f7e614ba0d966ee7a55b108b56d0f000da4c447999d3832b1484d6b946d7f75f7176405dec9bdfe6a95d000 + +A = 181f907f9b5c90860b5ca2aca89c3144107b4aeae174e52a7491e4da7be7eb786ce360236d9aab3dbfa1e8fa76719c405b2a0c4686d85639438a5c8e12f61770e99ca065e51f203ba6d640caa7547947d3cc08d98a8d589878e5e52396162c286315e32a7b6be5ca5a86693a9dcf7a2236149651fe30b19b6afa1208f93e2a9a0924c97a2e394d028e6cc94c6b94d83064b2352708787a90 +B = 2d1fd9677f05a05cc8e7ce0bb7a4763c90f00eaaa3a3e34aa9cdc5cb62c8f204b59bc96fd11dfe27736be47dc5dc337554ff8a2d8ac5685f8290c2d3364bf4a4a2c0533a945ed9dc84a656aa24dc984e578104008359d2eb372ce648d35c99aa7059e13251739ce26aee0c01a5852c5efb0d0108e2b31cfd41a80c91a51896cbb3dbf991f6930ace351370f9231733a777eaf2e73cde77c +GCD = c71b0de446cebc51864abfe48a9383a59705afbbe922ef55b979f80b2744712a70086e61912e603fbc753cdcd8669c7d2ebf0a805a3c39d530afc53f6003a86af968e50869079a0674a59f34 + +A = 4bddc13f12794628afaa4510c5dddd49370bf3386a087ad82a91d363a6f22979e5f6b56af4d97e3a9c2afac10e40012876d69cebfcb8686832a2df1a21f9b683911ace07dbb66e76ba81341ef1746ab37c2b5a24f4c65df6839f44917baba094bd7772c562506409b71c77476b40f694bcca2e504b1d9ec360f027cc75d1105ef09f06ac3bee1ce963c197cea5e0c2512c76c37d080b7b4 +B = 8a5d482387c2cf7ac99545b29bf69ac65c51b7a41282cad18c4a9267ff3dc2d4cef107e888520e3bc6901c5fa48ed80e21707700cb7680baba8b221b2f786030f7fd33f1951978d73a61f9581656b4e28a02b5ab860310f7c33a9ce349cc5a7fb625b471a650ea2ae41537834f1ac1c2350dcfe428cc116dec090477cf572ca0a0b2aa7646da2abddb81b39e5ea94e6da6a8a834ca90c70 +GCD = 104ee6f1f164d6da363504e3d5d605f810a9b233ed591b3f30e9404cd85438fd3cebb92ee5a7ac97cfbae13acadeff18e8b3f48368717d72ea61cf18c0ae46124de932b3747cc6a32cbb0e434 + +A = d4ca76de4834f462c57f667bc824ed872cd8a8ddd1959abfa6cd9e6d09bd7f8fc7be2d904698a41966d88ec4af40e61c7bb01ef4b6175140dcfb496070da5dc2c095ff0a9f980a34dbf0bdbf8f715de485e9e113c63e9605d734a065498b0d8c3d11c2f23fa641853047ff70c2be27cec16b67823c96606121b6729262237fdf3acf9e7adb84d1e76956968038f6d618bfd305870aecf928 +B = -5595d52d73e3385840028bdb222b44f30555f659af124179a0066b9e57bcbbdca312378796c32bfd551e44074f5b4b0c36d1205b97141c6353c767d97a0dcfaa5b57c0c11c3a0b21dbe71bd450894723a05310606652ea2d36ada212b2506410cf7c112b8478284b9cf7afd0a23093d7ad05f75ecc0b515b39cae5560d82edbfdab9164c7865bc4554bdf503a7839aba35e59ba1bfd19d8 +GCD = 5c04e7d16f92ac1cb8729bda7f54fb0fae00266958bcdf06ec58b9f4e210880caa8e12dabd3314dbfb3f258aa4c365fb16e12bf1f60a6f05ebb17efa56ba61d7e7d089b290b745a1500aa7d48 + +A = 2cc15862ae6fd26fd639a7ff6e6f682e1f22524a2073987f5913ffa301b9b6cacc695ca794d946b8279bf3c59bf42e6549b011619e2ee424c477dc2f26b9c59ec822294ee57bce82dbf2cbd696bf297a2f376fdf7aba92beba192a6ce1daf1bb0cb23b656f85273f7bab908eb9f199c1300a21e404fdb69f29bdea40b1d6c64359f30dce71e6cd5435c2da3b8723722a05839e520fdb3d8ac +B = 270842d84163eb67aaf9eb7ae0b066af3c0660e9e03f9794524900fdd89a336a250a53a7ec83b7d7d2ece779c79febf180e59d744f1b396e7f3657ba7708a1d45a9bc4b21b2d8710a036bb8184a440d4288971f90b631f581c0c90b8739d0bf012642e3b048b9019933fc6c216bb21b8ced9a99ac52bd628f38a0d726fe18516452de6f059582b18365b4ee2ecc5a4bfbe16b8a10213f5810 +GCD = 21f1190be258738083ae42209230e2bd95794317d31990b0825b2c32514a1576abd806b1fe7e5c4690288b7105c6b7f36d192dcd00cc9409822ff8ed6b22b44cd0a1de1fe30de61e4062d0444 + +A = 5e6f002436329160d3c78ed38b7a1d9dce7cd0bb6550c22ccc3c2ccff68e86b9c2aff78a8fc3ec5c1689afaabbb28321d2c3add4ae5b297bfb42c3b0db18a60526790245983de55781cab420f00bd43d725dd2acfa21f524eda475a8de83e6ce941a1a2242f87887ad7486e72f7f0fcf550dfb9e6776e392de2709712f21ce126486dd123611f0c9d7b6195b7190404c4c0316e5055262f40 +B = 324698b30e6a333ec6e3adb2db883677cc51a593215efc54e98ae142de38572845167c0e4671bf2b397144f2abe6980087bd1c38133157eab312ba9cba7356932fff04f9c4ad05bdc33eec314ca5f502b1234c028a60dad9bfbaa1fc67ca712a1dab8439bfb6203cbcac2e04a3d935d1ce441048d8e927615684261463625078e686aa1bd89dcd1f50810f59ca5e933cd82a4498ff7b250ee +GCD = 62084be150aa6dcd96fc7f80e8dcd45dcffb9aa2eef16830e4517b36fc98d416e5bd23eae779befd433cabebde0e0d8106387fad9ceb1e7abed5e220de921c62eddb3b5e776f754c31851349a + +A = -38d468abc5cb92fabfb0ea82d1885ee1e092cbad90d00a9fe84e8c03430bfeec2722e3a576460419c75169fa47d5ee9ea4d67f8ef3180aa16a8a3eb324f987ea099a9764cfe1d6bb1588e8b58b5e5be3244fe1d5afe2c1f97892c071dff5264cb29938989943f08bc8b9628353db6e41d25cdf04abf63e35f45c116a603ea71e191eba975dd48f69d530e40b91bc48cb3c8221a8ea1b431d14 +B = 101dc13f64746a4895e5d68b8ac38078c2f7fb395a2c46caa7256e610d4c1aba97b2ec2684b0bb0f136baf6da3fe98957c93c8ccbbb27a8a586cf552e895d876b37a5fa8bff7836938b728ba21c60bb24d4787c1a65d4e540ea7f9d1a0a3c87a630fd93c0c44c9dc7aac51c5689eb0462597d09ab341373e8185aeb3ac06e12f998291e7bb0c8278dc3e2f1e91d3e1c0b9ad8ef90bd1aff120 +GCD = 1d4076713ef69e00ba5890ac92add6d5652f3e986e30d2e638b6797b64d66923fbeeaac4a015441f2aa03168528bf42022d09cedf24d7cce88640fcfbc49c19d1d42bd0b195de17d6459be45c4 + +A = e04abb8fcfe198b85e66eaf1efc0453bb2b4cb594f950a20fe935521f0d423c3b4214c394ce0b1abea152e3c0af0038262fd86b98fde9a4084acffab4f5bd3a5c40d4e8b11b8bda6a427b06cbc8b56122d790247d2da75eb682e3c21dba3dc82344245404866a9017d999290c4abd363474f910021ed61fbe1a650ff219ba6de899394da00d77275216953e59583711526d0a1edc1580ebcd8 +B = 17c48f300e5d74c4b32d5e8abeec6807ab18634ea6524268f653d05a66b9bfc3bae9b2f8a70b778e19cb7bec7304ec357438ead766d6864f89f773cebe9977e42e2ea1ca31124dea5ea9333df48411111714c053c3fc1cc683c51366208df5e7e67e5d917d72dc5b6180a0c2e48f340398ee4091a7612093f8d1e81632e44e1927bc56f823cdca13a22c6f1592038f94c85742b94e22dc2b3f8 +GCD = 7e122720ee9649ca530f8583268e6eb3bb111cddc202a223d552dad06b52a44941bd081f0dd451c840a9ac985fe315f7fbe5f35deae91643f3ae0c27a4e9fd85b0255e13ee1902d6c650981388 + +A = 42dba7ce0ce53ad8f1eabd7f4b5cecb9a0fb0982326c04143322c19df057eaeb71f4ec7b7fff6e5ab596627e12f6f9fb8da032d12247a928df23b0446b5eda4c89726139c39267b38bae04a56106d0717c5fc43f08676f63aa50e7ca1a84c087c3799a5bf70815b0f04ef2ee038edca689609b78e775bc018ffc090713a2769574b3c5c2dd2b6a52d10d652fdf9f719be0d384d4cc7f4dd54e9 +B = 4bbc94e2a4de9ba761e5dacd1c904d02525934308bbde7bc15745e842b8cf3c008a340a776c407e9143a8e0dce946feed07f0d3fbe91537f1f252d094b1d0071dfa556a5d1fef7fd96d579963eaaada916e30468a2b57069272b6d4ad14000a3fc265362eaa332b28a522200bb99c280329ca0b76fb01f9d34cfa471e7939b1cb534045b7fee18102d0ebc06fb8602c95064f9e76ab3b80f488 +GCD = 2aef8299940daa9285daa3a775b9a11644629d1648fea38e63c939c142d97f04e3c1768cb2d3b9d4efbc7dd3636704bb10395484596d7c5d9f663524581a2bd253d1684d3bbbf6c330419e7d65 + +A = 4af4fb09cc55aaa8f20b2f80b263a2e41973c360d0e16edd85de66fd33f27c6be21dd6600cc2b9a1a8c32f74b819aeff423b25cf0aca7060a2f7a6018aada7173f78dfd9d908247795c0560e8b4ffba8a309a5b70707bd261a283914264e7daae944f42e4aa733110293fd082a28cae7088ceab7a7a1147dc58602fb6069fbfdf35b9448e86631a94a6d2418e9c016a9082e5a66b9bd2a4d60 +B = 119b492a5e891d4f5bae2e884a69b29eaaceb1d13a4501bf4a1467810027b5903ed34af1b97e8919105cd572ea31b23a63c53b78d2b610cac62b5e9f426e8bcc6c8cb8b9a59e37a0e4b73d7291a73ac1783785496cdbd670c921beff37cc80fbb1a789eab887cf1639a49bce337514f0ae832cdbc143db6141ffc883e6a021f6f8a6303d8deaf3f61a01a9524ee1e55ce595bc5a482f5f56ca20 +GCD = c2210fa02ad93ad54170efccb9fa90b0ede9c1037bc3f15384c1a8f640acefac6b37b17e81f907d4e86cd136fdebc7d2726a5714bf6a9150967e3bcf7ea5f5041b21bb6838a7371d771d715b20 + +A = 2007a605868586e0628c98583416ee2780b508f472e099fdac69e02fb778726f23dac8bd27afa7327cd503bf0d29dffb9b12582e3b2748fb202f54e25c0f7cf1a1034f4915a6d095c305796ba3e496a9b90054bc6f96def3fb18c87f9b35de12dac3beaa4adab6b4665989e492130f7fd58629cc779eb0b9ce96a776dc2c0aeafd8dfc802b771271d0d0725bb01f6b752f71d81d9a58733127d2 +B = 396bea1845cc6ec5d087bb0e4d9a6068e9066907bd612069edd38818327d34f7a1380d12edcb2a1bd4d58e9c3d010c925ecec2853f2e2525bcca3f107825676079c1628e1ad085e02347d425eb5e986db85d96eef0d5d643e11c41cf6d8c98935d79d6e335806c72b71bbe4a8c2caaaabbf99234e99e565c457e187a6dde3ad4530b0ba53c289add844e343fb682c3c620ede6daeb43afc76eba +GCD = 908e2b8bfd1de4b4e26c71d46a59a07023e5b971145f09f8d7b522015613198e79e266b72b66889f205b69306ef0845c0f907f1faaf65fc5a2c942fbe1eaa6a95dbd2f95efccd272716311b99a + +A = adbf3586aeead2fca9371978c02969645e316f7e337b34a6a3ffbe50ddeb4ef62b2ad59e5a49451783c4b20d7d6d60372064b161b20afa3ab5b5d7bf074636379a2895455b8c80153be5c4856bdd1b99dc1462e93e447524b55d561219219410a00ebcbbaba8ea0dde9e480ceacfa09495bbbaa5207e9155313e7467eea3b5279dea6b91a53a78e87f18d5a59c054dc5f254c9d113842eebf85a +B = -14d5d48264f1c8f2c5856dc4e597235009c15342522107995b618075861beb4fff65487ab60062d920bff8e678863d94e2755b652032868ca7e49ce95877099743c6bb27cd58b45d6f7098b54dc6a6d7bd1e390eb70d175072ed26858159a2cdcd0de1f62385c6673f53373a17641b975972bb4bbabf559f9a01e167c8f59a0b0d30ba7f2db8e577d05a5a5bbd34d0d84d647aeb78b9148e62d8d +GCD = 1bc4aec0fe4a6625537015b56df9600b4aedb8e1151099af509dbc567a9bb0e77e202ce85792d5ac7e842110db298836b29552f0e978bfc945b985b72e9361b84de56eef4df5268922af94b95c5 + +A = 58646c8fe8870c50c2916071259f12d455b9ac5cdaf218aa6c527180531f42556bd2278bbb8c420e064adabab1544485fd4d385beffcb4d66eea27117747716cb8a21ca1a71b6e3ad8d3440549321e65d636ee896e16f26bf352de3af92709c8265b5ad791bf04c23d50ea253be6c586b7ac4583513945b33dfec760257aad9bc6a9293ccd03f7ca4d0857938eab506870feba7c41afa50a30a10 +B = -139e1b1a7f920d6a162865f09f8769a129bed9a60a042f0d3fa2423d4761be65c7556ebe9ee844a04917b80fe8af71b92e0e2956bd9241aea2c71c55b6c6c65439577a66040b3137d62477fe360b93f5ac4bf7495030ab05319a452922fe86a661cab36c96e4867b81430fed04dd3cebaa735280b305726a98e631e780571cb3d61ebb243981b9e21b22d6315b1db30a97e66336670eee2c03d40 +GCD = 175942db2db2901f6d6a3f25e461098563b4366815e469ff6bff97ee511d08565eecd5c411044e26f9850be65aedba6419a4578925c674cc80cf7f6b5520569af364b82106cc2c0e42c9fe4ef4b0 + +A = -32870601aa13a49fe9e6d91f69a3060795c3380aa892d2457241a4a09a4d6355bfa177ac9a32a4a03526f6fc1c1ae3227c5d8829e7b2e651d50c6b59bb30641a24bd7c25d84e51b4ed3ea4582807cb18dc8dc6a16f24aa990f0997192a367bedc3f404b2713ec5909fb4a7130d1684009130dc2c55b5086c268eae279fef7f72b0ade8755fa937a03771ea2c86b5802d848c1c4749d5c71b9b124 +B = -b9c5a1ef1409f8e9fe224346a6e249b905464b9a00c4870640992a6752a73169a9aa04b356084a7ff086c7352d441b08c9cbf07091913049f65011d1570915e8b9d18db204512a81a6b8f831864e928ded462c12bfb24f1ae482fec0286f4b0a292b62c9888110d82bab37bd405024d25db4fdb80ef02927fc7b6e8653a7af7f081e1a52d4a5843215faa62011db167e5e4463fc74569791a7b60 +GCD = 76d6d56e7f6da82573a9a269e01bb82ec405ad92da07c108de24e9aed8d476dc1be3d612c4a5acdd8b2e9f757b1403c3add69804b482bf7003e5d5bb7948478d8fc2ea97bfdbf4b99dff4242b6c + +A = 31c888e7a03340107798150093cda9d0699fcf04a28fecbde5ed2aff96b6777fdabc6124bd61d508098fabd814884e4202ee432296fbeeaffc84025d2147340ae57bad12e5daaa80f7c003806c0bdad595716d9c97fb177400e9ff9e12d66f1853db836b400612f713da67b69ec1ec0329afaddd67b8843addb9840b2bc4e6bc033d76d5ed80000cd7d14f2863d46cd722c2534b656ea8f9c964ee +B = -3ed3dfdf2c2c4c9e02149655361c99927b53f33a3fe57f7269252d7b0a593c70c3a49abd7936b07234d281986ada0e92c9a988acb784c178dbb1f991cf24df4336cb16b17e3c8bfe5602d343875d0abe880e09b41292e9c447694dc4f31cccdf337145b05ad79ec7803ad372170e8de8ded9119270fa821129bd39b81bb498ea97cc292748b41d0433693b67349eb9ff1e961ab6fda548365624e6 +GCD = a3472a57ac5873609dd19d90be1918fea56ca9bac89b4a877e27a638eac6d5374b1d4dfab9f6a7af2a6edf3df57d16d019ffb145a55e0d93072ebcf3c3a6eefacf1f99a80868c06057b88119d66 + +A = f5f7be2dbf17f5c1899f5e71f8c99882d3a743915b0929bc2ceeadfe9584eab5a3e5daeaf743fbfb01d412807cf88d3d664da81fbf2b39dd7b94e3d2bd3ab7b5afcc84221c10f9c4145835dd97099bcbff1d750acab9fd55bbdcb6643458af5132a3ba2ecb24b795b18735eab9ec6295c9a50d466aa7be0b09e2033f9ebd852571c1a7133bc48f79e4254f7f0b3b5e6cc14ad05f0805f74ce75696 +B = -5c70585ccb8d7e52a49befe55db178b302bb3ed1192d5a5ba564fabbf314f146ba99eb57878e249647f6ee0a1651867f5eb550be61acd7f20d0a4132871096ad3f4aaea827e4c253ab7d1bb4f3628d573b0b88e7fc34c1f55dca88df7142d3e740411b9fc94d9265b443d04b61c5d6664fd2facc9abf7fa59bc5c81576596f650ab621236bf421b29d2c330392f76f480929163f52f3a81437e3ec +GCD = 1ff3367d3611b5b629da7c151340a062e89bc289cdb062dec002c43ee413dbd313e6344611c9bb5f1294b08ea985f146c501ac654f08766b1661721df38f63ebce1b66415a3a4ee2c32b703b5862 + +A = -564ef0b63ce0f4b0a0d8169f64f6662fa8593f698f074ee53f11970ba767f82edf7dabde47c59d48c1e44ab44fbd8f22cc0f6c17f8362bc7beb7990cdb65cd5532389f2a337abab0fe16cc9cf38a4c963ea4d7c2f8e3c40d77b1857c7200fdc08fc6cd415cf6a9fead16ee58ab796f600c3367cfa4e7141b8c9d5c1268cf843a8e96d12641c539ab6c8a7060328dc55090cf7c1bfa73c315143513c +B = -1b870ea98e7355f81a39d3da1bc5b15fd2ea73e51c94e36a2e457950d229d08b7ca380932e994122625274cb55e992adbf3dba66ff92818eff0b200386d64f2fa27f1e479a9660f8fdeee93d03c43c01f8e7c4d6c343226804d9d36052514cb501960470d98da10569b9221bd8aeb288a8b8fbc27d924da1c20d93ed8049b0e8b01e8d6576bb27d27c81b0fa512a6a2f68b2d96ba7b0e2de6738600 +GCD = 117d942ae2eba96555d67c185a5b9b174085634e8e21684100d096d4a3c8055c3cb717af8071aa072e578ebacf01e9485a94e9ae238e99add64af951635c3d4f70e477a9f16959b21d85cd87e071c + +A = 15226b1e2ce794a66ee5a6ead3624fadb25798d01bc5eb02154384ca9f6f94ab6a8826d130ac59e900c9667d538881e0af6fe4ec75ad786c95938bd90677bde58fb9e2387fe80119f179d439c4890ac2b979c19a8bde2adeb3c752055153dd6ebc6e35258376999897b602bba79eca73de68df9707cddc476852bc114fcfbe25da67af1ba285dc0868bd8377348804b094efa627902425af91550f84 +B = -12fa7c984c929aafd893b6006847469e7dcd4cd53e63afad236bbbee60e2910a20ebdba5f139402b7b943aa8945a09d1bd7b8671e327ba5f4afa51c7b77e2132ea71f99cf65856ba72bafe2c0336c0268010e403d3ba36812806fddacd8929fd384b0baa2ee54127eee864b9021f871d5f4f69ac64b6050f376a6bbd54f35bf60a0215530b929848226c25a05d771eb7bcea33adaffb9dee157be24c +GCD = 552bbbd7c9a970bbb60714f3d89e3153a5544b549d3a3998c17ea7ed4bd8c30eaf2cb58e3d7001cab3e2b4d64b2e3172288a41ba2b0f5e29592b150847f30b50e2eed111c8ddee2a3e1a5511aca4 + +A = 6533b1d8348bbc3a9890000d368a0291d4e5863837f3485e789b6a6eaaf3cfcb9695ebcaec55553ba472fcc971113632995b77f854cdd188d8eb2af4681a6d4b71ce35b6cafa3ed2170a7cd9a7dd1c5d4d8f67bd2a046cae65788c43e88f966fda91456e21bf71cc316f7ed795dff82c2d4cf389ba2aa0a1370b2401aa607bfa3d0bc77faa2cb45d127fa0c383d6a128166fc344133403b2c7f8059 +B = 496047bd81c7b12f0f86d6266e5eede5f83220fecd13a29ee806cfd1fbfa29a52cb11d60cb388702ab553926945804480e328113d26760b0482e270900a60211a30d226cdabdd318f9ee55bb4fb453e1327ae0eda6299a9928283d3b81da7c05009eb505c46db402e26ada63b087f5d67adf3242c35a2732e65442ad9211d951fc20cd52fab744592cdadce6faf2f28a52a0e236c2eb29980535eef +GCD = 814b1ee9ca215e0b7679f0fa034ed7444ffff2237ed4da9c119fa76d80671321d569dcca9d45016d6e1c2bc9e11891a31302dfa7d1636273a5a430d7b1b5e2afae809e748d21cfb5ddb6ddfd987b + +A = -f78f107e9004947af3904589e7eccda7fdc1e3824307f8c5caf18d729f53fd932db5c380cdf955eb862f9c03124f28851dfdcef4ee2b0a3b6e7357f2ae526a8c78d8de6e8a32adbfb1667dd8bbeeb6084518bc84549c2e2829f3ebb8e097735f4819781bf734b6808ca21c301212d234f2aa250300be247488bb78af837ab64336252178c7183fc4cb14a3bbb65b48bb50d93f4a4ea96d572e891e5e +B = -b8e6fb094656fdfa338806359a89cb8db9dcaf7ea61cfc9291c1e80171e0df00a1c4948950dcf38d15dfc3e4a5603ec3f47d4a2769f00ae5a290cc98bd73a4099eedee6966690825ba4527a283fa064f4a25d5e13c837e9938c059aaa7af4aea800706e02d43d80dbced7e96a223380c8fe72a5c96b7dc481b5b5c5e01746cc95b18826cc2bcdadcc6035a81413d27276e4f165cf1ed8a87004654e4 +GCD = 106190d22407519b89825cce5030c302a685aac4c03c6ce7a1039b9c5f3efd6d69e69539c1f5adbba35686aed52c3e46669949329bc048f0b732d6d70897b1a2b5b3db9e289610479d2e4ffabf456 + +A = -18a84b2b1123be65b079aed11e50ccfbdc591224f585bee3f78943bd69c2a807bda189c1dced3cda5425a747e682811c5953eeda5633cba1dccc4f98884d3632ede89df1a3fcfccd13af3b9753d5f742ea3986ce7832906954a19af13e3014909a5f7e4baa9793c51775527c0505c31fb62eef5c118bd17f3736c16142bf25356639399a66a5cbdfe7998c53892f10b6480bc5586bce2982d408f5be2 +B = -2d00c4756a7f3c8f5226f157c5815ffa979924612cb789af5cd3afb0a84ad25ddc9ce6026e23e45d9f78bdd0420d0a5c7028088158d0d786a15e8e1c4ed5d27b527703670a5b2bb36f2b5d160295e9d52dfecc263c8a05cd66760b5fcd11681d64f7851d4883d8356c109dd271a86a91682033ecc2311495278dbea9380f14b1f7436ceb594c563445fb2e9a69bd79b37f932cc7b9d6ba388c9a0269a +GCD = 6830ca16f9c00ab398116345f665fecd3aeaeac6cc773905518928be45dc98054a04e081cf03eea002113a872922048f0b27907949f7e14da3c59c22d9794b1a993456bc8d2c9c74a0392a0cbe012 + +A = -1a385c9a54caa898b408d8c8762e43ca11681a52f73d90ad59e81c8f99e2335452a92c153a9cd7c1b48f139b16a728df3c4f51c0d2217613eb235944b08b421880d042f5ff916189e5e308a7c3566d6ea4cc1662fd2d7251afc9427b44e51c3969f4eb5b57cb770d13bffa7bb6f44b5c57e39be1a79873536035b7fe6e9e14602044df959f349c75e7cc1f24225c7bfc6b6a42dbaca0ffc0899190410c +B = e0687e1255a3d28491a7a5c39f8fd74e04f0c183d43c5daae60ac6d8d6616a30c8ec984fbcdfdd5a3b7edae6ac0ae61a08d14992f11a5755ff69e6ef529531fd5148a6bfd696bd18e8b03b86a412af3596c87987b1f7c6e0c0a3373817a788f2676b6f14cdcd1cd9bd13eac049de3e4ebc512cd94a2f4fde208dc3ec099b819ce2835903c22ff20338fa702a162f6fa3c5ea92d472ae91cd411f90500 +GCD = fc31b2635d9377d8d8e68ca2800298eb84cf66ddf1eba1b402b31f98174b83fbfb62753954d065dfb73b5fec077366fe64e54eec9bb0592eb090da222f8ffbeb8aba20cbd7247ec4ac4ead112166c + +A = 2ba6e23083f93313fa20fb17931bcc471817493df912d1cb196c2ea6773130043aa3183884d77e2c68b8f2b49bc895664c1fe8bda5fd3255488c5d4d06cb93f77661abf7e38ba4463b5d1936ac9e814ccde6a6ecca1b96c701aa1fe968f1b34b03841e68df3914397618f4af3b847fd10e974da477e3c541530310f70aac0bc484fc7d344ba7a3db729554908c1af61f2e6b0f3c1d73f3469a135e3376 +B = -1ffcde75881f30657031b1b19e72c3b5c167613547bf4ce805642dccd484f9bbde59469089a02f30eb3f705d3672751bbc3ae5cd1bcc604a142702db8bd5021074add58895ce9fa175db991b6080a98706c2e14ea6d8ae686a92d499255074e0f7b6ac1a35842fd01bf5b070c952b0eb2814adb34db1a7ef325a55f578f4a6967ebcc5dcc384e3125fd4c88fd8ef6bcdc0a12550b622a04de1adbda405 +GCD = 9ac73b7e17d78a0b0c749c96889c366e785b706e42f5a5c62cf26cdd1ef210c35dc80b93e786b81af1db0b3e1e804faf3db469d01f833c1ddfed0c30b67cd70a9a5ce3ad37d4c6f0e1e4fa21a8f5b + +A = -119a611a08e0b1d47b8e271865e3c517ff3b15243a76095cf4ecdf906f439e31e5f00657e4b397eef894f29794bdfe099dbc3fe99d9382d75da63334e0090968aede9422af5dcab38ce8054307549cb6fac65ece319c98e0b432159b0229ba7bce8881e91c00724f19dda2d445501c61b07a6f1096582ca017a4473407ded4700b3e09b5e9c5da72de0b19722feb9e2acaed8d8e209918c5d4f591d4ac +B = 10172318b15c5d9b2e316bf59b23e3c05ef61d2e1c7e94fbec025cc980f6b079c7e54957e58cc498308fd0fcae482e160f319e7420e6a61500ac17919090ca9c86c83068e2fae9cef4a75fcba65db41b69d09b4c7e35c289e9e66a437473f8594553e7e30cb8e9954e26b9dddfc825383e25af0828596d6271632ccae0527b6f743622855c1927fd586b3f295277a88d2d9c5a7db79f5fd916d759cee0 +GCD = a5b0279f6fb918a460636931ea895d469d343de2be28bf387cd6049ef18db62326ee08c629bcb4b5becab054bb77468443720068c6205ca74ad7dbc75596f4c7e0cf0e13592ae50af0ce70640306e4 + +A = -1c229c1841b818383929a227d4a46aa7f0e8d384000edd9549f7d5bf9a4b768f26d7a60c84caaa4576dbe70592fa48bb6ca265b4a96f2642faf0a74df18886098eacbd1729a34398321141f1576a779b8cb4917ac827ac924d1792c6db76d2950706e2adab452daf232dcf399007a3ee82c86ea8d3a25a9bb32acb0d869f7a68769de0682b971d60b3d3f97980d4632c88a1df25603802f275f0301f38 +B = -2d0daf7ffed556790fa62b984ffe0403732044a172d8ab866211d58d45fd8f358bf5882bf7efccf4b255678d6daeb4538c7953a52045ff2c4050648d4e4d31100124520d04b848af1569b7589ebfdf24a4a9a07011e70f5c804bfea1a01dcfcfb48e73842e9a5d71ad2f30f3a618206eaf3e73a53c311dcf39216621c2b3b2a0ec0a53218431f668459022ff0219c0a25429d38e954f9053120450e2e68 +GCD = 2ae2053b6d15976d4415c92c71a407d0a4568527bdc1eee72e047436c9ec1831c2a32aa73727f8542287b37096ee87b9e20e3a489fc6a02f07ca812e1ae291349fcded3864bf76f82d767833ffab78 + +A = -11512883cfada5054c4c3c9ff16c6e9f31dc7368f291910fa71117e65d890f8b5531380f5ce7a68d45cc7cda4e73406197cba44c22af3cc01fbec474d4077ac123e9337ca996488e101eba0cf2e5d7cc22be36f7f34029db1482ec63e2276d8bea80c071621481321dddd118c90b98710877000e77b42597e56cd8a13e4bac9a00a396490333d2394c4cf4f779fe08e33645b4b5b9774741048ab4ba9343 +B = cf4728f3249bbefc7ca89614b0ed2b4f699973ff6384190e51866f68aa28ce89bdef7e5514bbcefab17cb3afafdcfbd666479fad44dbce428810f276c96ff741bbdcfec285dc9a1b40e0573d7cf0c04918c1e1760b0703e67c96bdfb23b94cf39dea1a707d9246602df75fc3db49eca0cabaf2a7016dcfda4f940ebf55bd1009c56fe6b49f73797165080eb859f962df9598ddcac381d99afd7919f5180 +GCD = 6b98e6b66b8948d5547aa8a5d7eb202011f17693339beb17154e7afa2be42034d450000a128401a061cedec95484bfa5eb27a1c1c018294808c54662a1c7e45e4ddf8b173b5a2f76ca371891b55de1 + +A = -39658d70403668d8996b0cb6aaea6289c5a546076c550c306fa0c9e413b26c4c0c54669d4a189141844991a5ddb1786735ce08c56ce5da2bfe295a7e4a96fa0a5042e873a26f19c7c3c4aa3c1226d6da64e2d479ef62eedead5468337bc62df3b55dee45050f16517473494ff20d3aff1bcc73a04372e65d12a5e4f93b5c0810cd19bd717643e5f575300db41070faa92b3492cd72d8d2adfcce5fd99800 +B = 37e41a141858200a5e2e23a8867a74255f259970fc4dc07b95489e98a2834de461852949856a26157911210ab1c6fceda182b94f748db3fad17d4a3c6db79f18ae0bc2709d295fe5d6c5164a7df4556fc6c6e96aaedf497fb157b1824f684901dbcf756f954ebb8e9eafb054e3c0ffa098b050c64548e848e491140bd0af9c600cdd3c4a8587a47c64d520a5ada6da8d56735539038cecb116f40c53d520 +GCD = 8f47724f680f3546964521df9da187ab638caeafa53e676b0d36927ae202c1cd021565900484661d55e7efc93cdb6c966b8e42b32f98cec9d019c6f98cdc7e0aaf7bfdb6f7af53a924a5865026e75e0 + +A = 12af2dabd799d5f77a8c1af5a61796f19b721485c460a9411d91c03a2b41a64a181ec8a192258e808979f2101f214979c04c3dd2c32185fad5fe7503e50216bbd38c22a7252bed4fce99f264a3ab15f156d4718d26f1df3c2f799f091b911b3baa1941b5453ebd247f4a978235371e5c4782468e845279766d4790b08f3cfb0e04ac7fa9e99028adaea86d2aa4fed8d46f9f004be58b74b181bb9b781e3e0 +B = -21c68056fce2b70a4915e4d52145448cba5ee900646847568024eb0777c83c26b868ce6005a4f1b04889d45ce4694269d13ee36d6d7195807f4a3edc6101b6ceeff71f632d1381ef3ecfb9ea76392439ec45939ed95ea9a66a2d03540b02766a3ffd0312477736e058dc9338c57416eb1cdd44cafe9a4db9a51143690f1bb7b04da5bee0f6e778c15679988c73ffba077c7d0de0257e2b651a5670fcac79 +GCD = 1c3f412419d522ddec1a02b4e659e31f81c83e366bf18cd7915636d2058e5fcef96a9df015981da7e9dc0d00c3ad20ee8a0ab0eccd4e7bab5b49c3b09ebce921c186aa10a69100722cf794b56963431 + +A = -3fc5a116192dfb88d643f29414952b6d9da348b052154293f831a6c315183327cb8b501d91a021c339a9f6f888682b371db3d787c07e7c101262865827cd26634c2f4ac503aa590c7cf3123a075cfa123eaf57b359cf5006b3b962b3722bcdd323f82276f40baf9f16bb437ba14c424c7f7c940e6df6c245d790cbdacdc37406e2403bc7d4a39adaa46ec0d543c39b0963d2686d2b6ac4104068b8a8a3a58 +B = -a977335dd8ab37fddb331d34db09a447172cc52a5b91aa7b3393c1ff6c7b3f7e3fffb87fec7b8af6928c30b40e477f499bd199da2662176b8e7fc98317d7c7a7324e6032cf95f93b6fb2faccf2f36a4cf417b1e4f31ec2f6c9a1bf4d88fb24713113c854c5886d6c9b296fe8553b1791f9185be29a3ee834d3f0709fcfcd3f25496371d8723935528888e9f3a3d993d1def5b659efb77bac94b1c8a1af38 +GCD = 5c1b73d28eefa4966fb89291f85c257acc33b1d618ee8173df5027817f27f67b792d1de371f635060e1c66a4b12298bc32b27dac176054790a57920510195d75eeca905d7b630b8d4656a20c22c4158 + +A = -78e763d5a089a7d6568b2efaa0d76bfd03fa98f910a5f870c0f9211cf1d97118cc2cb414a1a75b7eaded20b90776c2240e633938e349976f6ef5bb101d3b88d6f890de73fcd9a145efe3dc778446715f6a66f13d52b61f1259fc1bf8f73d6116d6f92fc91df5fc4ded5102e527d8fa4a7e926de954385084d46a5e94c81620e0ed65e47877595072e11ce2fa737abaafc63aaaa2a639dd08c450a4eb2610a +B = -18f77f869661a2beb37d54bd8cef3a2493bbc89891dac3f6ccf269e1b54a5c23f20a45ff51b1b3b9cbe77027c22c46e715ea42901b8ba7b118c4ac3291691c95ab2c65b1f052e69df83003908da3b152732baef38ec50037b37a4f9d9a185e30712b1a4d81e0212f8157c725db0a2e08cba76cde3a4d398899a42fe68344ccfee919a767e9540d390636059f82f31e35c7db1248e358db1a4a4bb5bb6cee03 +GCD = 7e6c34362c5d3af1364d6e295de00b12a97a4a47f8da97f7e2b15ae651a6a0e1044f5c59bde90972ed6b1c2814f2ac6ab5e235c76ebfea52cbe46f700533f9fc59370bdd6ea708ef335d5253b71dc6f + +A = -4042cb1f17097d6dad28ca72ffc6438496f96f904b59c61360a21b1953e88dc8c54070ca2d00447974275bc00cb5c4d2d8f97648038e17652faf48058f46ac857ab751af432a75cdd097b1b280e41ddd5dcf09d885aa3b6cee9aaf044384020232a86dcdc87f3a41302eebc1298b6c9fca49b3a84347f6f31895d128eada4e4fbb5db5d744a22716fea3486519bd3504852851d05e1894d7033a85dcab7d80 +B = -d8bbaafb35257ecc29ba4bed2dd5891fa95752c37b1313dfcc24b3935c89b4de7d655fcce01abc26057833bcc5c43b85590add8bef2e4e7b71ab8eee48c6f15b526cf58deb32d25aaa473622c9649602d9311c8ff99ef401f624a9571a29aceeae76dfbfb83567277e75e7faf83916ce7b31e1b60436c17af34829778b5e0ca416190714511d3edbf56ad49ab2cd63629121ddb5a9a0a5b147c9dcc33d62c +GCD = 5170357aa0defc4b91f507e720d5f2f3e5896da5253fce4ae12a5438e46944153f94978c16a7a0187d09af17cbed1e9c5168bb0ff1cf84f3496c7ca7076a58769e895f23f06b023a6cdb1b56b866269c + +A = -d5646f9800faf03bfa0b1f54757523bb30589df5bb062b0deef17d27dcb01c50115ce768b71e8294323c9bcb37c7dd880432fb8e6726178fd2244ca2e9318c16caf087fcc5beb4db6b284d3f3cc956142d235c82a96443e6d443b6c07923d9d7c87d6f08826e5139b4f863f027b35522df3f33491171a8423311e6d034ad90bd5315f20b16d21e360dc3ec1fcc87bff901bc057cad089d7c05dd49e6ec4000 +B = c35abacc3da62b0cc14b539344861bf9c42b4ded0728bce10651e8e4eaad999cd1faa9a7ad9cd34ed8829705279512e959b38fc3acebbdaa5b9b53d3421d092a80f1867d3985b6f98f9ba8efc3224022fb434c0e991aaaed449a3324710dcbaba0e6011dbf5564acb73db323f214e3e8fbe9b3afbb7a9b4f33affc828bdee61398c12ed474f32a8db1eaae025fb3809666f961ad38b8e4a2d3f2fdbf86b980 +GCD = f74651c283e71afba05d1d8457a4cbac720a2fafa7e1a75beefe28b56eeb97776185467c151d241ea4365e364e42faaf73f1c357b13dbb969059888260f2aa925f1c71303bd43d1fae045d69d99dbd80 + +A = -a71a0de3a7c1e449dffebbb2745ac544ac0c210719fdafbf1ffd7c1aa1dc7ba178f59fc08a7be23fe5c35df07c7acaff53aa6230c76ab5906d3753ce7b670b11e1372b3a4e8b281a56a7566ecd9c53931f9bb09914464d8e5d4a441b9c7d03e1b2c5add77f95a5f9b556aa7f0a5eaa03cb421556f5bd6ab7f7badfe4a16196396456eb75ea9052c6a29af000608911268bdad9640b0aa32ad0df3abaafd894 +B = -ebf7bc338388124422f4cec02b8794e53ed7fa6f959ac0671a65baeacdc56fe41b655123bbc9608482c1a766f21c640d137cc08832e600c5bbca1782336adc95507e3a1cf267de7c2a755acf7e2d094a4f738358a9fe2a9ef7dfe0cd43f89d590fc2e6014dc7b17c742f805c0cfc66b13aa575322fff798723996096334e85fd8919c1d623119f33fc006c2ae57e895a7000509d06e36b823f89dd412f1176 +GCD = 20d8b4168129981402cef4af98101235ad8f71f5faf8dee805b75fcbae17169e22f5def4adc598cdda3c79c560b63e31db627e5cc7e4cf263a51d01bac985bd4deb0633649ddb2775e8d3b0d19084ffe + +A = e9f6a346b458499060a642ba815dd6a08864b85b141fea0a3cfc0fbe23a878b361283f0d8cd6306294b77340aee04e84c73fa171e39eb560689146e9080a65f7bb14eaa050c1312ce3bf68948a73e9631ced01ca400e04d75d959b13d794c344c90b265e0858efe3393c600a3183c7164873e585938caa800d96e6383618f4f5808364f190bd1fb33aef0250ece196c0e15ad62f3c20b60162c13d15f98bd0 +B = -1f138f9cc0500601990eed3fccbebb6cc63d4380fd15aef2ea70d42a979d891594ae9223192c90ea23bfeab1e9f4fa04244fa17b0cbfc440947106322c65721760f7af35a47df0fc6687c84a298afea438402b0041bc73f5f5e623ffb7c59bf1a939b64a4753caa8e34d12ad3488a237c271ac6d820df136955d778dedee03855aa751d8f102d8bdd15e78ec482b10c08d14bb7e877952b64ee4c40d150615d +GCD = 5178e11bc6a653b7471521fba22ae4bc5ba84670e6ba6481a4fdd54e513c4f10ac0fd3086ff5c46da631fc9727e2c3d5a9d7e1c34308aaacaa262b789b57a9e7ee5a5786f02868492a1896538ab0423d + +A = -9e1e0d0d509927d91abf4c5b2dc4761ade78e7e04de5a72a8788b205ed23d695e7d3ba64fa99f62311154ccf2132edd680c0781c546c4104aed21d6906f1b9b9a3c6796b4ef777d7e8bd1498934d15445c487c8305cfb879aec7aa028b653a22e09fc6fbde1cccad60af8e1776b495c6cd5decc963d1c9a0735b7e0302627b9b352c772c16138db8bad1fd922fe915c5d3487112e77908acefa5f489cb9188c +B = 38de5ff6da902f592f03fae32ad918856f07124a3e33200ff78b09b9518a0b304e0c22726d2704126560c8ed40d256d067969efd8926220cee18bb4a33c0893925adc188fc32e6165c2de6acc6c73e5e7944fa375c2b5103e55b5739d5569a2da4702f921852481d21fb2234150e14978f290e44b3fba545d3ed0f60743fed951947acbfc89ec52ab0b66ac316b5ecd88d67df06e8f36cdfb8a47ff712b10a24 +GCD = dc73f24667696c99391c4a9defe9c5ca45732f6233cc53ca859cd3e2c4aa90df24bcb0f8a36c354fcb0d79f3bc078b1a0d3730e536d29200afb2cbe7890ececd551725fa0a89f149d08cd7f79aa96c24 + +A = 424d0764481a415fda9964655ae08861dba717b72a009db2246782275c5ac9c503e204db16cebe9b10ff459e9d60840fcc945d3ef6c6db813a936cd36ec6db1bd112de5c5771e96934fa653271e1bbeeb12248b1f15bf2acf91fa4054b6668e6cec3fbb5bad7852e59df6b061f4d5f0bdaf6dedcd140ad0bbaa15a582099d54c3d43c61b4769c67a0ed66ecbfdb4591413e59552e6293ec13362a354ece6d820 +B = 1a5e8e81757a79341b4e86b04aca38560656accb6efc1e9d982c4e4179bbeac7b36b50d3539fe4ff8b04d9db11c166c161ad1c8072f3829012a9dbd354d414f930182cba135224493408676c3d7aa7eed9014508c2701bb8cc2d2f963cb06bb51aec51e290f4b1203e87b1df8c3c16daca5862814531795cd0f494f7440bef535112667eb797895b6c60a6fa60f96f7156cd869f1d013d89a4924912438eb54c0 +GCD = 6a52bde7a93e30fb969743d8587f14314e2efa53dca0218601f6196ce766e5b3243b0403f476712838eac8e710a03882ea1876a00f64738635c72c357fde60c032ecfd88ada755a8018f35e02b8927f20 + +A = -15db9e276016c57f9dfc330ad290ec43853d5c45fbfb1cd2fefe427f4c866e22330f57d5f2a752f566cb0aa36a2c62a73d01db1ea33b4903080d5368916204afcc5b5cdd9a1a39ace70f0347383f85eaa661248fdedf37ef01e2cad2fc8f320868d16c23d2668ea333192b4d4aa3ecd2d1a872e63541e971f87f02d272b71b910b483f8862f5f89a20da957bd15e4c86ffd4d167660290559af69e2539741f40c +B = 4dcf192166752a6f7dd6a00c62b8b3481f339117d8412da06aad82200b2aa9bab2545e6ede82962c6dd09e43b26a5a3d166f69bc0dfd0b8799e908ded998d1e1907cede348ff03014f057e2ef4be4f40fd18eb0a2b200a3cd02550e980c298f340ab183c68a48158be8e2a5b88f0b5b30109e299b6438c3157da607bf2676b1ebeb289e1a8973226e4c6e78d2eafe0db8b4d69412514d297d0e1d02ef64e29bc8 +GCD = dbc2d41161d3f18499ae0356ed22e1d35e8de178d88d1db47d55e57d30e3ab1169223657adb97b7322686d2a760b65bdf05d7bfd4012046c809375e45ec8fe8e4beb18babc539230959db698f6b8d503c + +A = bf84863c031c2534fce9e1b1e7c3f776ba329462013beb5d3dc9a1ea0e8ec8b5acf9463c43a590f28bc4fc1dddb2e157b266730820b913a09d4e8237900ddd7dc7261afec182a207848cb12a3bb0e7124d91998e41a5aeeddfd93b38f9756260b06710626e920b3a639a48acf61ea466356caeb50403c163c19e654a69fff86a8190f187c02f90eba8c3801105e21dacdbb9862bed024aaa4d4c15b8ccff9931e +B = 12d7ac84f45b39d4b66d77eee8e3212794542c556edf9f4c0abc983b056e2ce6962342ab63338b864298f2806a50d1098c60a0680ae4ecc808be8a603c863ae45424dc1b2a1d4fd285745c3ed9baf6f057f4bfe91e5010dcbc4f3a2ccdb1099cc48c9284d0b70421e4c1838240d297391a6036dbbeb25e0ff8701d6304bfcd4b8164f3d468adf1e48a48decf4cf0963b7948ee5fd9cc2ee3a778dc6b9b2da14550 +GCD = ebd69fea03c3509afbebcac25918c8b2b3df76106b663fdc514710373135f6863fb66475054a183a8c80746831582ef7b1b3f8369cad22563c74a07a39c933e400f457390b887a4b145239ed227a2d90e + +A = 401421ead1760e4444fe51d0ed157fc26a4b1aa704cdb213bd5d5b820175afb1c3db3fc399efc5c4c539ce4a44eca4ecabca01670390a3308ec235015e416ad6ff79df5313a8d5b4247b62359423b32ef1155d6fc4ef6f3d62d8ba0cda98049b1c3f73d3a8a7cff430d99d88a47183d54950c02e61ce3ab8a57d4e95b122dbd30c67a8c5473200abc0b6657b0d916c129576f661f0b670b921029804c6a7a10af8 +B = 36cc99bcdb2619adfd93e2fa2f6ebb639a18d8227df5751645f76d903f18afe129a0993b0da5c29bd7c2e7049da2b4284ee3a46dda22e918961622fe66c6158bc8c57ad9b00c3f8f95199d0550b5cec929cfd7c11a93b4178fd9839880864fcfd58bad1e2c6c96d4ff464cf42817ba1d9bbb59f570a26b640c1d1dd5863be54d5f96e704eb7353e502b1942fe35cdeee669ad4ca960c87ef6addbc13e4f860b1b8 +GCD = 21fa86999658121fe55845e7dd43a1ffd21c4ca8f37a31af2def0a3e27d8bc51e04ae7eb5e65760302ccaed852b24c45e06a8b6b792c515df4344ecaecb9bc985f100b8898690dd83dd840ecd0655b8b78 + +A = -18c3f2cf758df5038731c1be874d26a9b072ce26425c64ed74b246926bfae53114c0dcb3f1c0f06cfb09f43f6b7d3e635085e7023be56d3e54bef884c8fb185635927299154ec13943124d4a361f7671ad41c4564e98f73beb9035451fd5e3b66f92afcae903613dc597fcbb443de7b56b493f1ebc6f3e129b2ec595c6afd86d54bd3863bcc83d27b13a57279d6f788a7bdc6a84352d199f6a55004da315b3037c +B = -85a31a8cc522717473980c0560cf50193d999d7457a6596115b6e640d4ab4482b5ce216872775b7da243aef7eb7c5f104425a4211a07854806662838b58f4fba5613f50104b992c69daa5faca1b2e83d30c45b191b1e7b6b66ee524fdbb912db191902ff72e192d4228b581dcc2e41821c06cbe8f655583d86dc305f05989d54d7d82835c0cd8f16fe0d4832af5fef0f0ab52f19980df538ca8087f85b11f2107 +GCD = 11cf3710ea8f9aaa7662d95dc9ca2e8c051d610fa95bdce9f0f4daa31620b1037296006db1437e16bea23d7d3fd86ede7411556425b52934043278cc4bcdfb565a224c362af57a735ed0d7511417a9b5e5 + +A = -532dcafcd2ae2d7cf964756dd347bc63d904b671c11d69d1a723dca15df97e8acc465800d6aac4c6a86632221df1e992174b6c02deb796ba19cf1e5ac923063a3d000a0aa3e08800e9eab98d2a035406d133832d576547b13a1c15d86af6d844bc83aa93cbdbdfd3327e1a384d0b7d08d7fd586a5e1fa75a7d7a721e52767331e1b3025b7909c6c85858468ea2dde79bb44c5244865777788969eaae29adde8c6ff +B = 3f2f6fc19738170b40b3551dc8f27cb13eb4b6f7b80e3e19dbc508fe609b743366aed5d3778760303ad9f3a375922ff06480cb57b9f26406672075657f6b4fa87ccab72ae32aab322306b4af5cc8c3ca858b54e66bafb1ad62b080e6569e9fb72893f5eb09f44be2212ede48454de9f441113ca345e22678c1190e27a0e32d379e4fe7157e5fc517c10de638f909452811617b338961d8b94fb4123a7c3655845df +GCD = 376426bb3ba481678ab10352f0744dce370bfc0d1a3aaa70dc449f6680e29fdef8e4baa9e957344ed9f0b2daec8afe3908d9fad50771c6e8f4b462e2228a4a13524cb418f3dbdd01836b0cb9b6f4f5a967 + +A = 4ecf32cc2001115da6179d222580a560477c42bb246308352c7b8214efc9a4e1f0a933cacbb48901c4460671d95ca5639a1a74b993a2ee979086bc589afb4587676b9f5830918613291d6e4d14c9ba84212057af208363a7822f6356fe9d468fe590311f420a42229be8f900b63804ce52a482b29856c69c7a28853a5b2c71bf949dfb0e1fe985eab4f6999cce6b63aaadb7aa4a6b16a14a14c7ed25a607f73f536 +B = -1cad64940069b07660420d1103e5c54d4bb1012c0147a6ef6bbf647ba0f35b5b8b9f176df6c21ec34584114a1ac88e73da3d442c7caa7fe6e22401b7b26bd4ce75dfb55a2818f7648652cd9b980561a21428dd08e3e49e67240f7ffc0c6b47c5fb7224e3e13c8ae241458d7577e96f2acf38de2f3bfa3b42cdf45455bc875aad6755a778e057341c680c84dcbfd18afa697a73628e37ae949cc2ef50845b7f253e50 +GCD = 7985cade73c3d55095ed9dafea25ee23e50d1b07969740df6d70a4f3f7ace2ca17f54c47ccd78c5962edef8e77d44757bf286774c6052fc88741008ea5af3ba8b6378a06274896851c8d27a85bf03baeee + +A = 5bc091dbb7696268add9958c0c9bd2140df8b30deda2093d82dce05450232255b969d75b550475d9e3bdf7cb8738869916344cb1aa4309c28979c2e57ec14072ae31c0820334f190011746a2e2c3cfafbc6c48dd20924cd200ec25743713a71be451ee47f8d284940ed0981235acb1ef55b4cdb5f99e9d4dc98d3a927a72edbd9ffd12ef22eca51a1bb38aac5b4e5fda027db16f253ccb9e727c91b6dd1d53c5d60c +B = -215ca904647d4cce9ee41149f6c03af74a9eb54dd1f43c0ee1e1071e3fe9210b6a5fa23ac95529fdf1207af2d1a2b1c61bb0ff5295a6366f4cedf64077207546f7d1ef6896b00de6e99217fb8b644c3f2ad80f65c9d2f50dc940d74189ee97339e54b4a45b1eb2d3b5626003ccfead467e532fc2bbf5f2737631f03672c0c410afbb288ed15e40126a7b7a023350a742bc5d8086754c2d2887c38e015910414470d0 +GCD = 1c4729f28b86af92d0840cd009e4731e8ac551a192e8de759c5212d4a6bc8725dc5e8a5cd34fa1d7ec9c482efc8b999412337f5e0d4363314fe93147990bf419555ddcd8aa3f9ca655a45ec7face2575c34 + +A = 1a261d7d2a82303999efd12a471cc73d302b5ab9d1c4dd205fbdd0c6a8039b8fc675d3e5cdd78b0b45a8b195e07a62bbb7b807d8fe2d7b5bc4d6cef0c65aab0dd3042d35ca5ab0f153bb1ba11986cc505c4b7309d439ac2340670da31981a0527dbb2acb43a3f297cc359ae3ec71f44466f5de95f68804358f5419c4d004b7e3a03e4116faafcee5ba852af09639cf662340a7005e598a2f988058b63554be7e4ca8c +B = c61460ef4326daa99a59f63597d545e49ffb0f169dbefbf48d3c560c3b824f53f8435107464905a23f520dc0548dd6cec9765ab10a737237008b56b9b5288e8e9d3edd387de302781265c434436c3d5e83d74e35ed15569c04649a5ee612e2dd24042e468075e2fd23be46c8d58e445ceece239c8ae3d8f08037cbe0c2adc6c96d44d864ae2cbc7e93488d868751e3786a58a47f15e0d9080a25b592b0399a1a2760 +GCD = 6dc08b6680dbeb60835b34fc41387d27ee9a728d043d95c87ebba8058e033780fe2073a49a4278a3048c68bd9290711f75a8d338b70d17fbc54ac69d0c08474c4d0920db3793cc4f4fa313df5a9f7a62e3c + +A = 70e80c25d9e805222b7d6ad6126e1fe0715d57a5322f70076cf62ce91b61194664c7c715cb3bf656d4ff203973b198846c64a1fd92bf11d0ed04351369f5d8433f971e61e2c0ff6d331ca35a651735951694c82a47871d36dca43b1e963660be719ee35dfe4dbcde4f380f08371defc826f1ab2b2ca86b506f7791841d6a7d29c1103afb9e3aa9b7bcc11569457743e6c752cb3b8df362524eb03ac0f9c7fad9aebab +B = 4c3c5788da48e310686eb58be40d4ddf7572687116fe94d7ae085f001c428c89b0d8c6ea9ac239273659be933c9d5fdc0bac2273b0a0d3a9bbef903da0fa108b0570020df25f97673d302576450cf4a33dcbf41491d972934beaabf3a61eb4d3ae278f82f99c4c64e7eebd9f4ef82f12f871fa665d2d6ddf5aca29a0d5fce1c4665f5b5d3658212e87ce38ed6b79a9c51d61fd4dfe2ef25d5033ac74869c651fa905b +GCD = 3c09e59543a8cb089b2e54d261f674a55dbd8f9354f8795656785fe641f1b6e91490ef627236119c840796d071bee6a03c6c1d6bfd9892dc6511f28c3ca06f681857ae07a9ce3a3311e592c19c4c718436d + +A = -efbccc25630fe209d37e9bdda0b734d1ecc2900037bee9ba10d2c312bf36362931f1625b6b53b1f7b4778677e3c2c9a6251a51ae7bcfdc8a4fcb0e3f6de73f7d2648c14c8a2c4c75a2f867ff6d524455121ed29b149a6e166faa88c772f8d98fdd1c2d34f0fcc0ca1c64de068047caa4350af5794e7ca3cbde87e2d24ed2b6dcf2df69f70b300edd600e9f5b31ca830e60c1e7170d0b293227eecb0f60e45c96e0e81 +B = 434bf8c6b3147dae8d526a2012ff4baa5dc6ffa8239c51a3b95697c65069e375bed7b1fa439dea48e69cbe28f2f183157952779f89d0a9e295e533b8101a4024db5f496766f9c266c7575222f0500db011b437099877e43705d04b028cb41ebec51381eedee14adc67a3a9cfdd6d90dcc44bd885529370258b9241e6fdcbe873d67d4ead4352946094d91b574341fe36e053bc34131ed12b201eb9351ea026ae63308 +GCD = 5895d3316688c60d0ba7a2147c2be7727816ecc0e703a084d5b477ea132a3fd3fa4ae311f4521593ec532d0ed4bd2413d86071360510610a27790e822fcab7ee5c11f7b91c22d62322cac6f4e16dfc3fdd5 + +A = -29da1816f4c6a61f0e459cdc54dcb4639e7d28f6b74c54cb06380def3c8561adb39a0f790a1b70873c06ed025f12ae8cf31933bbb5a45120ca47624bdc39ef86e572e2b6314bf86e57e9e81b14fe3cf1be57ff1a67f16a63ec8430f10e0066957b21915852686c9da65c03fe7cff5d9db2c8a53194aa274d264baa6ec857d517fb7ae0cae537a4a7fc7cd07a116c831acbc7eae6ea1d5587559cb5e0162e45b2a70da7 +B = 1ec8109d26c1abf8eb91c94fe9a820bbfaaa40ad6d82f641c391d3a917c88a6555f584f3337df1aa16f6d58d4e299a96439155ae279f931b6a89a45c480879b9258f0ddf80ecf68e2a8f682d1c7d86cee01dfaab196c62aca4844f52ba740dd775ca4efb9f52b898f580033c82d51f9de34b821500ba0a9b06d980a04359aa9048c81c66aee2cce29054b3935814b17f5419ceaf588109bc99479873a7c8e55e6e0a0 +GCD = f97988300c811da26d3ef64bebb885b1762f8dc7872c6cdaabc3e688764d4164d1ac51ac33064c326706eb4200fbac4cad0b36fd9b3afbdf72c8dec8dd576c78301d304fcfc405508096346792138820319 + +A = -16313a0971dd751ccb75411ccabec39c995802f68f84b7f89ca20fc39252481cb8341533b210a22608851344db451a8b6c121b25c030fe2bd8e26b8a0557d292b9d400ae31c9ea576a7f5f3fb0766107d6ce528064289f0a5f08f768634217692bb834f823dd46717d0e05ef97b1f7559d91f2fff6ad2443dd404894f8fd57b76a27d744782aa237236d891d758b8609a4e43bb6630ef429e7b8fb5659f72de22133068 +B = -294335c2a9fcb1f5707416fadf23977509ecb21fd704dfa2ecbc2cbf5ed22a1aebeb55bb98578ab96b277924d530853cb6795f0c480bb1419b7cd9a6d78f3de57cb7f8420d7d890dcc8cc01fcef117242f996f835dd4fefae27b3c0575f974cafbac6a537ce87928633e57c49bcb8c714e6d8c53ba71d3517f3aa19b512ccaa4f299c1e6b6e0c22a4d8aca2bb58c45476f29c5c281e8ea3b4cb0cbc9c9fa7c3fe470a +GCD = 2d6bebea4991d099b6a061df6fcefe00a6b05c0598694eb2dba0d6f64a06c279db253f095fc60c362322ad0dd70f4737c6d67fe5abfbcc822b3e7a61b6fa4dbf00cefac2b3b91ce4624125e18d15fccd6cde + +A = 329d32eae5e3708cf6825da399ec12a842062d0b4389316fb99582721a5a19e4e1601401c8f003b03494d087d84e35c5745fe19e2a2f638de6aa97cd233b2e7afbff9a8c789d5ca362ee51d173fd6b688b36f33eaba68ea705f56e05c841958c5a887d459aa129abf2ac443da537e03cdb4fb8d489b364afb3c06de65bc5550609444763039d7381b351ff02d977fed85320fcef4181f990cb00a2b68c960b17a931307 +B = 10616bdea0e5df2797ec5a5ecf134966f3a309bacd8d1881eb67f8b60a52d0ee2aa81c631b2fed25d922db3846914c1cbeb7f7195546d5a5156e0621d7fc2055f456b4b67a44dc8349ca700b3d1ee947e16c85abefa5f60c301a470c5e30291691d927d6bfedd4a7a02b0f86222eafa139f9ba6c09b7a51268bebe9047766b9e94ca0ba1940822a934a1ed9b88e7ec5a3c0edb5eb851eba448c7695ac943a2886b5d2dd +GCD = 35055166237bb1af9e01ce90647c1827a79038cd4a8c9fbc2ad4f2d6dbc111a76549786644cf01e803380ee6649821b7b7146956b3a6273b08c6c338ac3748929a59f8133d74ecf9ef36fdcd96af73b5b693 + +A = 36904bd5a8280f879e08cddd53f4d1c496f12430fc50597ee51778dd6722df6f29049734913edeaedf5ae14d1cebeb2f9f0840e88931edee9e9d0c16663930df00ca0df636b6126752374555bf771ec6414654db5d7935dff47deb669fbd2ff28a136e3ddf3b9373cad67b6f4286cbb7f04e634477a7856b7c850aa3c5d606cdfa5452c78f07fcc505e4339fd0a23c350f30098ff91d3dfb4b8e60ff0e32335aa9fbaa6 +B = -10e983c846b305d2f95e2645620db9865649a44190e8c9323a985fced8a6f5c6198792b844c8d6342c24dcae3e58bf2e4c71658b0e23c7c9f6be8a6d9822ae7af644058b21f1bf848cd3cc30f7230a1769d26ed291ef3cdd741b016de806dd4b664e16dcd22d9e4ca9b532a78ec4c42ddf2b6b6d3d6ce290a55c1cac5b0b856124444964d976fec1cbf39834d8ce7c65490bc517eb4fa081c3c16a34ae83b9e78a0b11a8 +GCD = b30a49f8df4592d567e91202f3113d0a3042d8f83da32f9e384db094fb87c92c953e0ca1f1f5d648c31b24892b71ccf1558ff232754ae613299d0fb08a37acb0d97693dc71f5399a6a1307f5526ff32f7f4a + +A = -92d36603e5e2c4ebfa4dcb11e21f059b3b8351f89e2590893619b72f6b5b5bd03099a14f52afb8cb25a42299e2337af648478ad4d21f6f24bed1ae0ab7b401f61331f69ad73d22f4169ada96b405c310355e9e0f40f12310eb64693495ca9811609a4094a8f1c5ea81052715d40796f84ba0b76b6ee9aad312d8347e31ec97c5098a921d89fbe29aa8a8034f0fbdb956d96a62ca0f563d7a13b18f50d542eff534a6c36 +B = -6252eb51798b8bad5b7276af580909389a378edee5fde835ce26b4d7ede5a694cba14cb61ec0e32352df422fe663203226fcfbe686b25b4a1fe0170ebd4ebda0cb11c49e168f4ee2635ecab10da9a8f661588bbf1e118740236a2c92fa213d3a073ea0ea6e4a0c18f12a8290dfc930b85113ff6b6beb5fa03136644ac60cd072a7f408a681d3f8ce43c5d77d2d13e277f5c9d30f61fcd61f494b60e5baf112409c193f9c +GCD = 2af5d3edd317537e82dace782fdcafee33606808d7747bc9cf2bbe4f966bf5ac2aa7fb6166d4904fa97402e6ee97df8dc545d4612ba427522bf1fdab9ab975fdd442500775756b2019a20d2fbe2a023f297ea + +A = -1a39d935ec82e657e1d543211119a4142e21e852a1c1eec13050e0131cd9befa7ac06cbc194f2c61503d3039c810db50e24d6263d271feec5e0a94b8bc27119913945df995c14dcdeb51fcef8fbe9e7b6444963221569906bdc88dad351609d13a15307d5ae615c230414e9fc46a8a7fd053aa1b9eed9bb3a49a9beef39d339e981ed2f29a40a8c1e8ef30b0523d28a7571ca5933d8c0bcb99e6ad0b2eda90e925bfb9790 +B = ad225ec02ab789663525a085d578a5822f76da9b9cc05f9118a9dbfe4fd3e06147e0d6c492a94500ab728600a3e2e2cb0228cf059c449576c15fc3279b373f1e5f9e71c211b3b7c5ee6ea8048de0eba7d405ea149e8e457cf1b76a3ac99d7285f0e3e99e3a4b528f5ce058df799e72e7be1ce459771ca3ea9e0e55ee04fde1dbdab7fe94a30860b9f089ae64103ab46fdf41aa41f6ffba41a6d5d27e793b2c9b7a33c420 +GCD = 1afd7bf54947a0180df0d0765e3d570b9cf5caf805483a5f68d693dcdec5ff2306f013c69000af2acd4e4aaf84f8e7144ac1f7abbac51deb64c3398f508f8e7e02234226240bc93030a26593c1ac750349690 + +A = -36cdc87cf80cbc81b79a7c0b0cfec2437fc585e7c66d8d09038984d93333f940eb47bb59a7a0945c357fb87307487fb381067b8590db8622ffee9b1a6ea5c81ee4a2f0d2d05dbac5811e69596ea3766b2a950886ec6c0f731765c7cbc9bca7fbc3b9192e7c1a14113a1efa92b6c40abbb4b279c76de0875096c65d38c5effb432098658909788811015e91f83adae3579eee7d03af0c0d332d1297e980fa9a22d1e43fbd4 +B = 4b026196c3a48a799ff2699b398e5001faa52328102d64c66bc92f2fde7dd054f6cf65bf97842d3e8b201de3e520e64f3ea2c2aba0e19ef43a451e3e576afd0aaf1240a3eeceb71e25bf81d0129d0aec630cf20cbd4602250f295e54cdcef0e416712da7c97ead81226119a844d7753bd3d30606a43e04c2d5ed2f8b0b0e494883791025bd297fa3f06f25e9528938614a7bc471d9fb808108fac9a8eb7a89b3852255f46 +GCD = 6f4b0595758ae08b899b898394354466b0e95e27d15d60d3788273fcff330e6d9763cee432adc494f6f30ab274077e667b6da3ae4aa8d4e6ea05d375c411167e959383d39c03147e29e3d12f6855595cc79fa + +A = 178d2b2dd5aea994e261c28e702d7d97586309cc4cd2c694bc8a5cc27c20cddd1786088e7b827c98f576517bbab7fff5ab23890651f0bc776202839624b627307f9fa44d6010774872ef18fe574aff2207a72accc462eda36f759dce5e4ed08753b75fe7e9610f1acdf7ddc09b24ec4cfcdd5859f21272be818b8b5aed29ad487253ce96771fba3eb274e3514a1bc1ae0321447f7477cab39f702f8732c213c394fd189c27 +B = 1a9a8bea97eae9d2bf311d86133a9ffcf8746c839ec23b3a61da91fcc0b0981f86a2b33582bd7c57635f9f12b79f118727b7d37de2af2dde2b02fe4a229823e880d79e213f18252d96c185906ea56861a39726f3998bf0f55c754f2b2d769b3de988e94e18bb306ce2ca96a310cfeb28268693c92dd96316340d0989e9b09979d6ab7c276b59eca4b9adce0fd195404d4319930858b108e9c15ec9fbe1269262694ca8f184 +GCD = 7e65b25614174c841b5d1871b2b8414911d5e80124eb768ee0e7ff33679655f69d2426e1d7d1ddddecadcc2b005324cbbd515fcd2d93668917fbd36d182684c271f8e184c94c899bccd9adec28e822f482177 + +A = 5b5cd404465779d6c27b916243c4352078fd2a36127e031391e85fb6f2aec27176af9c0473434b4fa8521f479b3c8a1ea87ac2594cfed6a614fee936106eb3aee4cabb8cd6c1cf842c6191779e9065251bf33b631f65e57816e3b6bc016083225c44a11dfaaeaec8146c334ff3a97ced48a48ba804c372c2176f37bd6da0c54c7a5b419138d3ad882cfe2ce8643abd67414556c896418b155416844b8308e6138029e68a90 +B = -360166e3fe682f7f49f5a57c4afdfc50c1011d9c7d9e860e02c5f2a8ffc38c2533e7f1f830692a36a769cb0552c7b0bca2632d3999e95f8366ab7057f4c469c84072c5de67c3b72e8fc3dd5f32bd94933ca30287751db74fc558d2ef7e6efbcde9bf72bd125c86da989a3b7e4bc9cdcd8952ba1668324a8639cf018bd9a09a76c4871683b2fcba10ea40da132929aec0fddff0b27687919d5be2aafc519bb90e7dbe6221f8 +GCD = 25966d518128d11cda4f9cd2dc6558cb70f7a706fa26050932978341930191d8e9656fc4e629881820e124cd5a9c510a4ad61d8a212ec9bae6d98756596e52f66b2d927c787bbf280c27421c97355c458760e8 + +A = -cd4bc6c3c13529268d34e6354fd4d5c56b46b8e0793c7bed82115d29fd4734fb3bb1ec7ffbfcbcca4047b13515de58b8f6933ff2a9f1b58923316caabaccb836fc4572fa34d727da6866539de71bea483b4f2a2380a5d8665423acc9e7bbc8aa7114a6a8a43dddb4cc0c61c2ab9834944c25e5ab0aa8dfdb6bc96d9dcadc9508747c331b70742cf78593e41e4db17b12140439a84ceb03784a824048a89536a1acf124af21 +B = 1a5050a75419d16a46d11d76b31a79c86a585c0cc2462022d32a6bfdfba2e8ed85228c6b77f7978d93d26ef360348c81da5a12f5b93eba3d51d2b7a36771985f6a962f2dcac00205de8c0015048d01be79c8cb9330de91bd014ec243e4dc97c934b392d0ccb3cd4fc82b364a0fbc1362637d2bdc7b6dced6f5e69aa2e4d0f0206de40f7983276c27db7684d3de9b974911068489e803b4ddab8831e6df8848abb2ea94001b7 +GCD = 1d33ff9865126df1c8e5235eab5b72ffc84d7edf36bb8becf5e1b10d58fcdc335353a22219d816e85041a492a4002cd9b7166a7f55a157b2cbd3d40d09b40d335bf5a3a2ffe85f2b02d1459e64c4146445e573 + +A = 1712a552347c8e4ffe985b423d999a8981c376883a20a61050b377501ef9ce7ba01389cf77919e3c165f875d0317f350a26813febd1d9a74ed0fe2787b51e816e3ea052dec169f0fbd21d353a7948307389b8adefa4f1b7fa283b686a2cc61a02d4794908b221cb327028ea949aedebf8c7b89b821cea04e3ffc2d78f34046bd370e781327eef2e826c23f029552da9277dedde2f4da3480e1c796a162c9e9ab8470e0d960a +B = -510f4ad313bfc9efeea3716dddc199bcee421420ecfa455d978cda66a574834d0e1f2b559c40815976c612d657ffebb27a3474424912d743f7821856ca2f3ec80985533f348cff3280a07f2ee13a203b8e1c0449dbc416e3b789e4cd29ba1b798264527c74774ded1e4fd4943f813901c3a7764e1f5d8ac78676987ddaaebc3966772f4c4b873d6b9ab2e2e8a8e5190eb87721f784b5d20c58a06eddcc40657abbff94d57d9 +GCD = 30754de8dcd11fee7f17326d3153ef80c9dfc58ef76cf8337ddf47048eab6732ddc9f1d9ff5bc8fc42736474834ff48027e0cb51dacbf8d6ae07725b021342868292f22ef4da35d4639c01217091e868ba915d + +A = -fd9caa8e52304ddf94c0c6291729a3d5e7e191c9b1ceae3aa6f2ae8017792c6a51a8520087fb8cc4d60ceeba2bea6d976fe95eb36386549816ff0a0ee90bfbf814bd9f2073df078222fc763bd073a0c98ad4b68cd47e71a580d6ed9ba77f2e98d76205ed196c68479c834cb5446878d8d5897607b17cabd090dfaa8e51b95de8c103b215e067599d334609ecee96a20031d426632cee68af43ecb37063c6d4e127b82f730e0 +B = 12caeb3bac156e415d7bad63a04659fe81040d1b40db05ddd0955f0880aca88b750d6e0308a2c2446fa314fc6007e5750e62ec6d9785d0685a480a1e3bf84eb0d376b4686b321f17268ef297cad1c5e347c9dbe477c9ed9c1b45c491f0611d60d1e659c746c3721cdfda8197fa1c417e372870d8d730537f3eb726f5717f61e79559cbf063b119e6420a4c9e605a892161681416633ce1888f63fb6e15cdbb3a6f541a6a08e0 +GCD = 35ea5c7f74acb11126241f157ab0c26f3e7739ed788e0f11fb949482c44872703591e3ab8567718c792c6dbcc88cd08baa179ab8df2252efa219df690de0b6762b53c3028b7f636d9f50fb4e910ea42c46ec860 + +A = -20bf133d2f89848dd5d32d38869a02c36ebc2bbf2b686aa42a3ead56fe42e04ffaa5e446fca76c689af6cdcac055d021951c09e71d7e6ff91a08863c4cb0c0499d9ad39438e31735009ef0c94c8e58ca48b4b43ed65703e48a492d5b55f9218e04ed96635e6ffb7f00cd2a3fa1ea38be43b620fe1e12a53ccdded2378d00ed21d7c09e85eaedc199c16433a4de6bcc8e3e1d682e3aadd7cfdee5ff9f97b1a12b829fbc086a88 +B = -49f414cb511d5de559537903e32dc26330200ddbbd9937192f5a8741ff5a8c69114ee63d6240a6433d4fec6e55f075fac24683e47176b17ba31ae997caa3f8c154f38080019cad6ee00c768a65953bdc21b68c98f70d6d097bda7b0d16c1eeda8bd20342b5e5bd12504bae876b74bcb8b0c20c4d516ae6c756777c2b7086c94bff6f38a2e0b64c0e341a14e9ca703496fea9468d6e41f7df70e5f4afd0618e1f1271b11678b4 +GCD = 98c8629c61898cae20781d5c01f7fedf5cbfd10f80fe92f5a7fdd17c1856e0d17473791389f74b07da3c17241b12c1db5a556720ee65b9f1af89a5f1f5921376ad38ecdb6c748b16dca6079d2b652c81f8fc54 + +A = 1549e7db262eb1036b5dc6af462186b037409e1c712d65e568ca8535ced8ad3a8dca8d28716d2706ac43c33a6f8b3982463199f56806dad1a4510e2ebd461e37fdda268f08dec39e95a89583fc4a6d6b4ae5a774c0586f5bd23203ce784533dd2b223ff02651a455eb2d7700f9e19bb98902eea5303bc2b5817d0954e7ffdc033cf1012cc3f55a8e55bd4f98c1ab7a9246d2df93ac07f76a73a09882ce791d7d0572438987e7d +B = 155ae0e37ad2ea6125d69e4522aad289a3bc053427fc8beb903033071ba3dacc948a9a8bfff7d9cfdf305acb2ba4dfee543a3a4079b51707f27d5d72c7835cd8e2bc0638dae7eb613befff172ad77d38356f341c67bb88faedb20df5fb6b2376b2cb27246f36c76d8883224e5961d14f205be0f9c655545b408044ed2859a27d93f3e69f596e9abbf3c9bc90e61253d071c74c8ded5ca3fab79d64da119e551de0c918bc58b36 +GCD = 1a884db4cb40c045de5ef62e54956dfe783446ea789af2b3b6ce3f6a197396fc205888616ae914a42076be666c9778574f64c0e5518800ba72aab9683771b4fb9d080033d6d02b43931d7950f2eb651fffca95f + +A = -25fcc9d9907e1e47fad29e264691f4b621affe96b469c2edf1e0cff29e8f8a67c0766a73b728cbae4a3abc9533ab25e4311bbfe128209dbc4fe38022beeff6d36e782095d2a02380f9e1377ce4ec02c461e3e2e0951d320d7ab4ec9ea95f4fefe52c7a1d3f3a642b327e8cfca21c4947d9079c7774943eb747edebe0d990a3f137eef270e438420fc72441a2c1867d9c40464ab647d088c11af78af6d0e2095c302f9d40c3d0e +B = 4df501302608822586ad0c5dab8297b6ef8986569e7810c00381422003ab17c2ab1cd878fd5d4e5d0df7e8de32b0300879e6d772cbf27f525091314a7801efb5585ccf5e1e5e84bc5b69b2c6a5706d10ff47df285ce3440cbecb565a65c003251788818557c35f21ec6e0bdb58a084717204e27d6b9fb56f5644edffe278ed63f73f6ea44d58b74ffce2b8367baf5116d572906c3bdc168dd8e3743e2a244cfd557a12c3d4e1e +GCD = 4eeb4f4bf9f712cffad8115b4d63984095221e83aa0615cc0d9497b0614587fd294dda9f87e3e9e8edcb0613a7b515eb4de20f87eca081e5df3b1d48e6ab66199336f95ebecc765a4e16c878b171b5cdb0761e2 + +A = -17e20b7adf1f412b15ab588b58e91083eacbebdb148ebbc93a9cb4b8bf1d2d974a24aa0c17b496fa715537a802421b95dcbe6ff7788696565b0b1b47029447837738f895d0e9a35dd52a10b0cfcec5c79ad0e3369e23a42dbc36c559d9aae58cb59261b7185f087768ac004b6d3d2ca07151fee8d1224846c0ad923b3ee8773d8d9fc31836b46282f10b56d5ff1908ca41f30d1858434ded8c303701f52cc41ae13c87414b0c85 +B = 1c680d414e1b343a829fdbd1c6daf747a1d953bfe9fb0498ef09a9bf3b6d5f5b6b5582e0ee00b9591ea5122d8e798d41a7255a6749235c6e9970c05050a5ce2cbf06e131f9b0693afaef3148644ad6a1399c7b99700385b1f65ba78a557b465de68df50de0325dbd483940cbfb8ffaaa0c7c58a925a60ba462e9a79b2032fc77de45616d979055ad621a1b9efdf18c87857b2829448163111f0120f186962e2467d74334f6c565 +GCD = 790f0cf744978e067668f4da59b3b90291eb5c81bd3feb77d50e2c57904b6f18850ab1e98db71296947f6274075aec399ea9977027d64f8dea7a07cc4cdbc2257e0097edc6cea6115f5b99ae8596d226c3288cd + +A = 2e19ff84a9a9b888081ca210eae3e3c0a6a31bd8d540b40dece7fcff0b94950499861b56eb5839aea6b236e8417bf7a36535226ea68089da5fc96b308b2200508b33402e2798b4a2d73e28cc3e2cb522f86003507037d6afc33b532d3d977860db87b493ca0ddc8a5eb0304d0a480960a276f31e72c391bd186757f96b0092bb72e36e29eeac6c786b68a50288bc5b8e8e704cf2ee270316551474447d3e6538ee0cc12dfdedb8 +B = -151ca7bff32d60f1172a9da0927bf5bb0f720e9518762ffa147d5a1b20496961a00c65987866b83837901cb16415c540ab431e6608449bcbc8f92589f4c54c046550b7bac1cbfc76fa2357d4a5e223180dc2c6b3f1cbf1766ff5fce51af2bad4c71f3fc10c16d2e56eddd60b94cde93f31af8e01ec29b8d67700646666e0ae906617c28a4e5369edfc9682e34e1b0c5503ebc5cbb1be9a5643794b0a806a5e84ec24e2376182f8 +GCD = 84ecfb4f8437dd4247e24392b789004752212d5d115708bd95d9a03fb20bc0b3e489b52827b7febf2b8c7424c53d00d5082f343a0e99af320c6a47b54494903dce809077166464da5accdae689c4d1b34cbca88 + +A = 15512745fbd011f138f17318cd664ed98db7f4a3a2c3be33a213d04120a33ab4458e37eb9917e61f288197ef540d67467a09e932744709d9cff9c8f7e2ae629b9ae2ad4ce997b52bb1c7a3b963775ce6599cce0545c9a37e73d5bdb8b5201b8e3027bba7f0cee33a090e02b576b659356b00cfccfc77ec77f952cf511e611be787e0e1b06bbe85ab951056c41ab4ec001a212b80af2c1bf25e38ad570bcf6ad87191e6ddf7b39a7 +B = -bc9646ad273a8b4975c627d9d7860ff12e3338d9939b33f654362e25581d615239dc1fedf22f12d3bce02dbc7892f4a7e3fe3fa65e254e674db130734759b79afb909cff6a65acd2b5808facc3c50af77ec9ebb6499868cf537f87a8ccbea9eea6f7c3686883803687295c7b077f89d51997202b57ee7560f55eeb75418af6893d2b3ff52ea68dd2081728499db3d08f09fd03d00fb562e73f5ed4c2d7e377499ae3c342c5f40 +GCD = 196a58d478b0c26a8f91763283c06f47b5cb1922eb4461b12fed0602222d3ed64c106ae4fd79da90dc4a85fbaf187885e598a7e203fe751a81f83f492849e1220ec5dee8971cc6431c5234405a9355fbc5e08419 + +A = 38441533567e323c3e81094a91e486f669e00ebe71c1450216cee42a8111049bde1702a2e9cd4e5f8f8873ed693c907fc5f8275f3d7c5b62353c7efb1708d6edc97ed10ce3fafc08e40fe210d5afe4188a55636d9a07ef06fcbe1928492a72e6962b9cdd539ff3c9622b9d0101a8659181bd5c8b9544c3e057c22d0500b052db92ad8a1615aec3f11e2bf76cde79c5213d093368aa55d8cf069fc6d04d73e95268302958197c7c8 +B = 542710a700b1378f123a45eab1781d51aaedcabb1b87a117c993f95ea69a811d10736ed6c8d0c29826a88a7a34bda1d04b52e997c0fe1d3d7cf596758365a7e91643f9853a32b369e89d107c7ee9f0ac65540633ec717ffa4a631b74565d42a8e8ea99f5eaef60825f510d753a5a28833f5a4fdefdd2e91c05542a03e8246db8e49b90cf09be4c2f76fdd26797923a361250974987c2d991adf90f148c65b9769d282e88a1f5bc +GCD = 6cd62d01a949b45fff6d5a973fd49716e5d123c137db5113492709f862d31085b4b7a80d8ca5b8a2bbf453a748191567917fae8c9d2ac8b2b5832736aa116bf80bb2dd1e1ea663aca3c759027539f91e6a9c23e4 + +A = fde1cf508ddb315a775ec5f312160f7e0cdb6007e27ac54f3f04e6fe60a06c266b78d9497a0a5ee84f4ec2068a8abb3982ff6f87554fb72ed8465c7e09045b330b55609ea4b5419eb0b4effb01395647d1acfcfed0c7d06016db94305bb58a6a8d0be078c2a7787841d17ee4aa3f9b4fba057c61b47072cbb5c0b570d7517ad40cb0acb97646b247beafd0c42f3861749cf68b81ec42d1889c7b54ad70fe51c6270ef08d1b5b7e9 +B = 12c68fc67295bd9fa9bc65ddc2aeb6483d67494c0df292cde481dc3423126434b7725eed546d3f920035ba8cbf7842523b7524cd1df83aeed7030fe02aeeab9636ab8229153446c6d38d368c76a65afd9fc8771667ba4ea595bf1b3391540322e07a11a31923ca4629c9b77ee15ffc3edbd546598298f4fd12a5e17539da50f5af66b3fc75effbd4c9f05dd2132e8dced427e28a72c660a4badfa356d4df29ff5e813d0084016d2b +GCD = 193801a62dc53ff7f3013662412ccb3b64527d6e971a47ec0e3bfd8f8908bb88669c3445afba870847dacd52be8eecbae1b376c2f49700ea303788fbffbfc097bde53992cf9c91479180e44d19550cb2d3454d3eb + +A = -132472a5dc1a3cbf5afd3f729650983622784cee23d47209fcc04ca0eb3a4ca0e8894fa1bc64c3ce72066b757250babadd215afe688f5a0878d864358eb02d512a561b4f79a4234afa1ebbb2355b38ce8e0d7051f446017ac8d876dd8fd5de28e361ff2feb47335305cddaa0945c1ce27c2d6be3991332efea77dc5ac18746f7e0a5da389b1a60cd9609a84046239a4535b12a6831f8ed9d0f6d1cf621d5de18181fd84ca4e8d3da +B = -299b32e1415d646dfc536f6de908f937d9db2e95381da51564a328e10bf65c9cd7f553a9b9adbbe8e9c8d30a60cd68d18feedbb070b6d281c8209b8e2325bac5cc1788a64762d0e6ed9b9341820be7d7059e1613c03a1e69dffbd3e18206b5220f31c49191693b94f7dac8718f6841f10f1285e8bf9fe257c2e25555016e73a81174ae65010f69a4ec135ad94c2ae04c977c215dabba0b28ec1eeb5007c46c9a8e6c9fe203efb604 +GCD = 3ee96bc4062f032952491e7d1ea14e2d692b7f801481e01029369887f34b967f4366d2b3f61f9189caa332f39bb95269ab5956d5cba7fc4cd64d1408d1f1c21fa13f0d6dda63e703d4ab638689219d3275018ca4a + +A = 35e70ae7a1fce34516ffa77495a40604d70c7099fc4eb2c0beac82bd72bfd0f51a030caf0e0b3cafafb4420c7dbbf02309a562763b4961398936c26c049fb23302b7e21a1f6cf3c47254d7103f7f3d44137894fb659c3591578058353d6ab5f68690eee0f37fc19b68c4a49c9e915057816a54e2c792e5e1f988b3b7e1e57d165c5de60a1f29e88cda53c0907c19c77f4a6321ec5380c51e8bdf9ebe4a12c19fdd6a26ea8bc6cefa +B = 1a418f34a6432b7c7499a21215585d3f151db08ed3ace5b9f82dbc4aa7d012da7583c5ff5b7e4e52476bb1418520449fcaa6686b4066dee72cfd6e153c77ecbf25216cb0a5d5183390d70feb41a631892a23981e7da31a3d2f2985014535f07905210098df5a103b46cdbd0deec0e7e6d837630036ed001123c7b538f382e51157f10c2f2d578b54d56d9d224f0b1504487617a5087e7441fc790809a4756014994e40f21db272958 +GCD = 1d78490e789865026c162f108b6bb5c9dc924520ef2a8af2d5e308cacb84fd2b05c0db566b3445101b524f77ea3ee49ffe55691e987256b45e0b9bdc87ec652c2069ae1c9a00ed18307d1044228c43d30570d6626 + +A = 4ba5d7dfb78447e62bcc2c91deb7ab34486ae55860417d9eb1db637a1eb1bf8926755d301c3e309516c200be8a4e0c6c1854d00cf9c65b8c69cc01ae93574f7b8c69194c7dc053209460d2ae28482872bd282b0136441d3b4fc3bec567fa8bfb38c78b00754eb4485a4d2d59b9ea821157055158edf6d3ee138d5b3674cccccf5be8226b6204598b440bf299502c0ca91b23597eb51178a23b1117700f06fa572ba6fd8e48debaaf8 +B = 413207c997776cb0da827cfebca52c65f5fd87305b3de70ee614240a65c6aceaf997d55d2734531f3c8b0ad11fc4f4cb0affd1ac9f3320e439e9470ca09e8cba5fb97255c5320075a146bfddb44d9153ae18337bb65800b9d2a9cbcbc88c3a1f412eafe2f1de5fcd3f56a90d61fcb4de2ee0ecd9f5cd5619caa8dff3688c557ae72ba8cb94a79970df9c2e9f8bf16c369cc0afe35dadcb00ccf9bfe544d5ee1233a12ec248b84e84 +GCD = 56e620e8c6282ea69fa2c6e459463605eda72fafbb8b27888776ac8e3d2d861339ca24d56aeae3d227549293a6a988235605b89f8bd5a28df37dae254addcf3b346e5e39bf923469824afad5ed9cb50e6da196d5c + +A = 62c6a8078685566f99416b21862d67f519d90f3b58587f34abc40c66ec31ff97dff9e28727e555cd28e534ccc8c54aee33332ac827a8a72c69c796db8182792ab3a2cb2876991f0672e8026ea0ab9f42eb5b011d2ee79eccbc6463ca87cbb6633a081a3dca5c66d3a6c6f6eaf2b09aeb7343251db226e464310a1c6f8d46ff0decb396b3d364e64d3b909473d03ca2a51dcc30ea0e0c24a8ebeaa4862def92fb3a8f97401c88d6ef6 +B = 4dd40db96fc6d596467d5dcbc918c28170d1b60ee8882ef747371be72771d1d2dbc6fed637ade6ed3b744580ff1eb936050599c4277551af94bbd7c3fd2b9499e5c65a40eba3791fb169a32e04e1dc121da3a0bf7f242145780926590af4adfef015d1c947af1747fb31de5f34a823aa326cea2f85e64072352ea4f87f7b4104aa2e71efbb57e3e7836a6ff07cc30007ff931e9c73c12f4ca4c3403d964eda9d6b13cd644e977546b +GCD = 765ea443ee10c0176186891c78d9987965dfa0d1157b5274005d38d00d06f6e1f1cb2b82011ec12adbea84313161dfcc9a84472f006d07fc034fa029ccb9ec22bb84da383d7c6aeb8954305191f6266d7f564d31d + +A = 7261adb430d2276980682239cc683be8abca470ec39f450d1e7ec08eb9f16dd0217e35c4ffdb86df642d42312a57ba0b8e4566d16edda08dd7a360e57ce56d8aa5ab3d85b92fcd69907cf200885d9da69390a45050d7a81110f02b1eb4f55481145b50ecbe65f6580fdca674cfb9b4bc98dd947060636b6e7aa164f4330bcbcc90ee538e4e79ad947db0562ca173cfa8fed91d9810d7275b7555450f8ce12011325f9b1c80c550d3e +B = -3a43e6bffce626583e2f085621d733f37181af78964f314145855f1e4e27b798f2f0917d032c0a597ff10ddf88c2791b773c6d71e203d1e2dbfff279c836fcdc66a04c8ef8bfc6f1c97c966862427649f81f39a443b22764d92e048eca7d5a51e7b65d43d71f85dcdc11c33df524a08049b273c4ef22f9c8b2d051bdb6c81a4cf11d16d51eeb65da98a67b691e04cbe58e0e0a626bd2df2352e95023ee4983ad3924895850fdc9ae9c +GCD = 1a0ba7d8776db0311d7dfbe98b7f23500737ff2dcfa0a8acf3f9865dc60b784c32535fa94a82e1606a85e030a85f9c533a7830bfa28c06cfa1a8b0ceefb0e5667e8b1dc76044730c67ecf8c1fa187d1fc834ea4416 + +A = 13ed6d7e4fbaaecb55b4ff46ded919dbe0f2c7e56ce3c4e1af4cf69c2bc72203d53d3d5c69c86a657ac7588ea974d7b9e9aabaa4adb2283b516b7ed6e085eb252dfaba3e2c00bbc9f76d8f13c0e9632c3d3c36c2f54d81ffc51468b959afc879c8a508068ef3d0ca62cf1cddc2dda21db307ce61bf078ecf7a10221ec3b40bd844865e6661cf2dce441d3919fe754d541cf125360ffbe6e318737b71276c3dbaffa0b14a29726a646c6 +B = -1ed4b89fdd2fb106a910583fa7dad5600717ce9ecabbfcbe39852fc080e333adc207a76d86218991af8e30e8c2e2bb66a13818c89a011ce1d0527b97c0a9bee9f8e8d075f0efdf3f89f75357800af625825144a3f38ef557d859d8db501a0c02a20c7d66f2d9e34568dce38697aaf31acde81cff478a5147172a5c05da104b3561f72de906d3559bcdf274a9070a780b51ab6c1bddeb86ed85cadbc1594d98cea4fecbcc3bc39830f28 +GCD = 3e7a282dc36cc24335061d1fc8590bc0d3962340d963e483f0adeb28cebe9471db408cd7cf4548a18f60a7a888e62b25736b8dbbb9b54faaa492b434487717fff68fae0a26749a2e0eee233149d5b7426797e73826 + +A = 5e32469ef3b5820216d038f09aa952118d19ccaebaac236cb258ec5dc207ad14c3d2ce5c7d932a0a0a4d23c75cfe16694d31e0442fb2c6921b7e2270cb7343afa6df33f1a2105a0a5c14dd5bf4b8b6078b638cc868039c09df400f758f83e92bd7178796471d997b1ed05bf555041834f96f630c19038847ac7a9e485c10f220d8218909bf958cadd3e70101a1fc4e3602f10d8efb047b8fd5ca4be4f74806e9ad4e4425b0c4d3d594c +B = 2477e1ee4ff956827cd95304d8af3868908408139d2d22a971cc0f57335880da2ebc64404ed11a4430c03bba2df91e29cf03e3e1aa8bdc4938971d5503195e8cd18f42bb138d69ba17bd568741e13c3055ac0aa39bd6cc0bf8e726a0cb4dfd9678f598f95a15d3a3489e920ed7591df8857d316b74a2389da55fae8bfd13e05ada122e87e7cb6259fd5c74132f8b7bba5120853220cd7a72d3be6428fd9086f3385e6fa3a04ca5ad5c4 +GCD = 65a9c9d501397d080210b1eec9406e94c3be8380f53c94500e3601576e469e9aa5d04109e30435c693bf0784e4713a4338f6fd6038e8eddafdc397f9982155bde3ce240bb844d538110f3e8c08bbf56a033a84738c + +A = -2fdcaacd3ee0ed9032986deb0477b0b3ebb828d84ac4169c775d03b349c56bd9b8f69e442b85b1d339b62329cc129986f5feacd5ff2d844ac13270fdeb5a2d2b0bdc4906d2fa4f9c6ad929eec769c7c3e64a190cfd134922ab518fff3ba95d74f7b2bb78bedf0d6bd087219b4c87f8d7a24a3138557463a7501cbf5f89b24c254ec021a8143b32d90d15718f0c5b92b905847afd78adf8f54cba00b8328d5e2a929bd6f2d63b9c4dc70 +B = 1efe80568714d3521c9cdaf6bc2299af0ffda74916c4d7be1122924022c0ab8d099bdf52a712369356854aee634674876ae8176afb3aa02061c705ef8ca25ac7cf51ae01318437808f995da5df480def3685d5a59d222c316e23ea71bdce61e39c475aff1411223aa56668db2e55917b3251a24ed12b9f7d06c4028800f372213dbec3af023b4b9e4cab2fe2d92e5938f3212b22bbc3e3580170c01131d7560e673284733de8eb463ac +GCD = a26b42b0d92547b64c767322c057b9f652c5a912696015dfd74215a7630f15b7a6b10b1661ec955b4ce28a1f60696d0d168399fc3255460e9610faf09771b14e8c1528ffc309ea53f75299d1e8cb649dc7a42def44 + +A = -5842be67889bce1fb7d42b76bc2bbe12fef44783beca88448b188baa4e8c5d156c4bae8bf5d4b934c92ccbe95f5af56f01882f5c0dca424684031624284f8e28de29db3e66631d926a43b9b762890daba5307de86871579d17fc86bcb1f94090c8eef033d9b0b140d0957bd542cb0a0f2f6d231a0e464a4b1d6dc0de77e7e8b7c9ae79d5790a011ea64566013210fb5f9d2c2298985b66d84b5a910e1f42cc4d979474d81803aef5710a +B = 35835c55f0ab4e9ebb1494b34155b75abd36b627e921887a6a45d4d0b1d48e994fa4818bb9b1354e1c4a906dcbd7ff0d76b35a2cef15182a88e69f1490d530bf00446bf6c380a1535bce96aa61513a9f00d3c4c9426c69e9e3baca5904f2aba102fa72b8e3e8d4caea9ce98d7afcb5298e74bd0dd7e43f8901bb28279c454b27f8ab0c91859dc5f813bbf3374b7def2b4d66313f8a1d2bf6f854b3eb56a542b811a150d4a562de412fc3 +GCD = ba8c6a5f5eb53be4bd364e25e51f4737d19eec142fb2c166b0e4fdb4ec39c536f64b5efd50fe178f00e074f7f322a5008f47028330a3142d889e8527718b95f53c60a1e164573cbb932242084b956b21b4c33a0077 + +A = -1476891f3236397c1ffcc2bc68ae74588cd68b28bfce6f166fbbdcdfe32a380733198c60cf88bb4c5bd6a1e3ded4c8360c6ac992bf6441c097eb96c0cb73161cc10466f56d52b1bc5d59a5a21dc19380141344c11426ebef7abf8515e362eacc0d0de342a379fde5b6ba69a1165f1e90c89f859cc25c17d3fec12463c68f23be2d4adab0ced891e00a3ca8c55c73cf0edf1477f7a7721b93aaf017be06a4efab66e37c1482f972d597031 +B = aaf15e5e461b0d5d6f633c887a130a20e896ff369a270e0bfa19bc870da38b267bfbb108e9d2a96cb9ff568987030ef6655d4025539e089d5ba03466c45fd1dd470a86576e91dfd0fb51dc32ee49503adfc77e7daf5b043ad18acaecac3913e6306569b936b624ebafee95eb0c5ef3434d761af8aeeacaa7aeb5b122b440a345edc3dfb28cc3457540716e2cce85114b11c31a278b6183174dafe2d8d42307cc02a913e0681ea413fb1d +GCD = 16833db0ec92756058522c045d4f2a329da0e550e8e1561a616930d423b40a6349acdaf9039252675e468192557ce5a92cf1f8b86434e7ae6532cd77e2d096d778da6d5af877bd02e5ec8ae44baa81d19722847a993 + +A = -4b34aa6c23f237858074feb32e348481e84337050d59f293b215fb5b124ed42c42aaffee56eb25c3277f42ae430fc4167258ce10365797712b99aa54a3fd4c33cb64eee458d1e03f52ad95a444091b69b6d0e4ffe455ed28f5d47ca0cdc874908aa48702b992c1285b03f7cb496a61568805db6acfc63aca1f7dfcc9036dfc4a96b90a83a95749630c86006e2d9b839da42da040360a86834a6e2decf20dac1a5ecf5e431d227b3e16ef4 +B = 38d5891e540ec23c8ecd5ed9894f1e7fbed95d0efc4f6f19b9fa688f217162b4d2a242f88f85cabbc94fd20418578f0a0b56b89b68a817223304e42171ca89510c3c97c9b0a1245a5abec9164c3527d26d4293d9fc12502860f49fd50e4a9d2de261ed092b4b64a79cd9531912ae9ad00da267734c86bdf5edf14e9deccfe8d25a70aa9ae6471bd2d76415898c9c33c1107959bbe86139cac02bfca88aaa65cc792d5a3c53c3f8a3eae5e +GCD = 64f2dbfd8186bbb73044c2bd67df024a0a39968d825e1cbd69778bd177d323e046eab2aaa28671cb5a17f58bd0ba42129ada2f71767958e13f11558c4c2d995107729ac18efb9ba8db0b1faf7bfbdb24ace3e391d0e + +A = df51506ac722b32ceccc6f9043a43f01f807387d6e7312a5a077d59bf06c79dfea0f999ebec31d2944f352052b1453f768a710e8eda2eab515811601bc9e0e1df07268fa0dec7d080a1e4b43dee39b4f24f9bb408b6a78edc80a4a5bc55345c1cc8cf425662c259cc7998a0465163044e238559139921f9258a9296cccbf8a48acd8251cb5b1cdd5be58278d13cb91152839b559ff3e11d58f88ac6f1de49c3c499ba90575b100274c166 +B = 15989a29121ce8dee3416cd6a4e687298f7cc8b3028c4f7b9ae6309359ac20fb3b9332375fa5e2c7bf3c83832ceed535ee976ba9299a7d5fa76a6cd642f30060c60f545674a1cb481eda0db82a9fe9e9af21ef376f135c7d7a7d0c8e7a3240fe1c1b68051ca5e9e2af2138f806203fbcff1c86d8b2c4e93f1a698ee23b04d8de4ce592fe3ee2566ea9251aebc09841b2f09919aeb66a5b9e14853627999b1088a0ac0b267b212c99cfc9cb +GCD = 5a9021a22f75869728307397d0d910f90fd2c70cb770276375393e4d3ee350ceda4e2dd0a536f1429484d56e1ec976779f59d3ce9216d8d293c495601b37ffc3b27b44f0a11fe53d67f3d6c0412b6ab8a7d7970479d + +A = 54ca782dbb149cf235a72d5ad953629638d50028fdf95f39a94e6294fc75e35a067b490165a6000aa25db6ae7f2ff4cf9ce2db3be65ab7cd7033bd2c7810a7dd7103984f4d3a7298b072e14b6f78d31675e7e71efae369685ed74fc14eefcbac9fe9273c3c8a1a79ca7faf0eaaa383438df0be4bb96172451a07e4e7b73ffce7b9f6c54ccc4addde5bcfbcfef9f482beec3da6866db40edabdef3d22db8e0c69a8b6c7402e895e336e4d30 +B = 631cf572bcd91f01b112fd347ecb9ab43b1600506c7311d1335119eb7b9196347bf298c62e5ebab1c20b8cb24dcc135a24686e0342418444c5d7d490f1606c6d2b04f8f51f70b8f24849188995c36783487152be62e5353af774bdbccf9d4d59a0eeae78fb957cf2f1ba2753f75721e3f133006c779359b5e09e9aa6113a13d15550deff0e336a6c52c92200fe9f3a464a71e3916627b66efd74eeb0aa7e4557efb1700a87e0287f69bb08 +GCD = d705cd8fc62e0eb5777b81893737de088f1b9509e0d069593cdc6f8610f117f99c40b1f2427f23691b538977708d64deb7aadba10d97bb4bd8c09d40bb416e7fa206673f15bbc1be779ab35372d26ac07bc2ccc55e8 + +A = -90eefd3f9978e7026cd564fceffced2455b2c42e61925040c7a664e5549c748959bcecb428df43909df652116373ae52c56d7a10c578ff827f262e5aa3d7777ea80e1e8aa7ba650f819e133a2d1a3a776a094110ce18797fdd4513b068d1028e2089bcef766692a43419e3468d8e9a36f7f54c9d3a4f9bf1d782d77481f2ecf56eeb573f2022c2c094443d84006f1185986f8e4194521efc02307db9b2f3e1b2e0ab288cec3b051132577c +B = -b5a7f20766a8bb9e30d67814685c0ac3a3ff34bbdb42215df89b039683c322ecb6b15799a89b065366e6b458a87494aad80394b5f8aef440261ba7e52dcb127289d49cf2fb9e945faa6dd7e0d8b846573ca6063b040fe5a932128daba61a5745a6f71dc8b6d2470fe90f10eb2e1b09042f8a0df5213f286e6637a0a6283dd57b5a0c1d1e7d83bc50ebac864dd974e0fa2a215953fb92565fc13874782f858e6151f15900008f2fba6180e8 +GCD = 129103ab082602d3202c1a50cd92145329f7d6c09f7eabaee0ef9e08c63bd6459c99e1358467cfba979c3b2d6e6d3c5eec36fd079430f84f2504756b77a58e2450ca0404647ac7f35f54fd8cdbdcd0c03a38400832a4 + +A = -3eb0797b60adcb6e3d06ab1349c9581bc902d88121d35c4bc239317809c2322cdfa0b48769163e1048948e91b02e2ca69e926ff8ecf6a9c3ffbdd5d8d7df8774de6cdc2e50133c6bbb570e2a229f70e3e8e66cb4aa2c4b5b0fa905e7c6044dfb791d511e5497cd69d0f4628df2d0825208111b5214e3e39cc24edf217e9fad07006c0f013360d3857141d51bd54c4ed1b23c1f3de576d4b46aa990530d9e5b9f8aeb556f54eda909a7b07a0 +B = -3123a6032a395a916463928c6a7f40d6c025dafe61c9477772d3925b68c06eaf6c1a31ee9ae6ffe24799bb98aabda4b6a4a6616f97ef82d703d02dc70b0bafaeab8d171f679e465541aba13125c26ec3f802ed981f40d8c49d507df2e5b84b9856c4c6e803908ae8b564a757f288fe302f4b9180bb681011ed206c237f630ba16ba38da9482975f579f180f3355f7a94b21c66358e33b90b8aa1f53ed5b0b574881a53cc9ffafa69072d7be +GCD = 342bdea8d1318d08e1f1bf411de00fc3ca4372d92ee3c3fb39e590e3846d6e52f2499e06177868e4f74c3642392ee63cb5d03c399379efc2d14a75a5793df073d71f38c6bcaa056bc7c69f4c1de86caf803ebf992c5a + +A = 45814cbd75809f9295b893581d7be1d6c393752e584c296bd9998c15c494522262c61a8877f39c0828bbedd02531617a1cc3994a276a5252ab9ec34308158f61725b850405c95a427171a0210504e0980fea788adcd263e3721c5bcef96fb5c93e6af7a9452e88524dcbe5c40f2d455f83f8e900825efed45c731e791f9ec4be612c63af7da4b7fa4dd7fc1f356fa286b71eb09c7deebc7de6dde963d2841ce137d0500e3f9543d1774f72c +B = 127ba47156cead29569dfd8f07af990639a55f67808928b8273dcdfbb366ba298c0742456c2741a5af6724449755b009c4b4fa67dcbd310d50c41ad21d9f2613489c4ab76f6368dfbea76306283edda3383698d6e578a0bd8e477f4fffc8f2aa9f9d63f51c06f3cc448dbde50d9b08e43caa23c9002c29a44a30428034799aa226cd427d282181cedbdd829c3a20740780f682bdff71abbe367abba8eaf6b1542c7aa32f473eda7c8493ecf2 +GCD = a4e05cdc8288383f74a35e7300488fbbdb5e7ef5188067bbae47a92def0549fdf1adad1c425fb4ad4dee817f7673b9733b6c9f9d1f1bf2ba6144fb5722d276e29a13a4073c2c77527cab70982d0a06135b1c7d24baca + +A = -5c21735fba18eb16703fb4c9385fc5d9bbb68700685a4bd84048be92b330fbf5f59133bfa60a6a28974d85593f674f6c4760e49b3c4e9f930fb18a232b2c7450633c78df5797151df6e75021966c0ff3285460619e056c2b794be9c9051db5533c797a53453d759b89ba8468c5f3ea6cb73da398637b36727fefde474ea97b621589f8b27c6c2b1a3cd94d32b20c2beb4772ead066125469a21bd12c4073cd4a52ecd53226a41f01e6a8fd6 +B = 4cd41cb97102170a8648c96e2635f879cf30ff8af6d2f5933f32eec937ec6b65b5ca0c7bddcfe5b54d9a1a37a114fbb4e3371c8b9eed1d348b48447e08df0d26013fc27a42b69251f0131e9fa2b4baace7de87b18d0e1f3f9df257dfcfb6a942f94408fa325920af7c6512eec710303c3f1758a2673e4191066bce31ebbba9bffa4add667ab959bd32144de805436bffaac1dc6d2a710d93fcfaf071fecde34139b9a5c1bb5d49204b09d83a +GCD = eec7c90563e8f623b19c2042902b533ab865096fc43abdfc93249badfcb52c43114f8b9738e0eea74d03ebaaaee8f2100445b3522390971b7bfe706708056afebac0752c31910d43023772ec42b025f3e47434cea472 + +A = d9f077b46fa50251d9f104212bc92cf0e915d90bf24caa755f1453053607dc01fcb874fc12f2f53969eee09716563ab98c354f6f8cfa942db8c7bfa8e9ab05a1ee3e9ffd1a024f3070c6b71a9a9efbdf081e8a005480211e5563bf55f4ef7e8d387449448ee9ff65639d6ef1a9325f51e81eb15e81eec0e7ee34d76bbf53915a46764b9d80b1e1211610902991e56797d3a387a0b87e51d5904880a3ad924e32db134197364829be262a65ea +B = 14077e2c21c4de0aff41a68c2fe31a5312c59549b8ba29145ecce53734f55d7f858bb39a75c59574134ecb4199a81158155165f0eed2383fd26410b9140adca64e13cec7518e0db3bfbe1d51714e58ac245e0f50d0a1e87eaed5ee01dda2b4d2a8c8e37f58e3a7ddde2ce6348413d67b40ccf364a9b79e4ac3391b60d1ce31a048706477c21d34d802919fa93608aeb7e696aaa4a30063ed858d10d9099737ca6d2b06bbd729e16f9bfd92f32 +GCD = 1a1deec0618b775095611d906b9bacfae3ca7b218ecc3c16d1d32b52a15d420278b0e975d8b517399169ac041fa07173f8df266038b31b0a49c5ebd9f7e8baf238d8fd8f82854c7d4257bb8ebe72b8828664195e8504e + +A = -12cf988bb4fd24c883dbb33a3b3fb8ce19a9224299738d3b270147dedddf45f3a377fa491ecb1fd7ad9f9561d0b074385265c8cd5e3715066b46e33433dfc806e5110d49a8586990ede450a89500b063325566bf53a69a36ef945031f62baa28938820debac55b1d6fbbe41c13e7048536d1340643058639bec3f76d3841a788f0b0d6dd44a30f3146e794b1cd33bf32a4c4b858bcc6e2e2755f0d5957bfb9d97212f8781eec339ebf4c683d7 +B = 67cc4e45a58376bb9e4a1ea167a5c1ebe360b52734d9d1378376386af1d0eb49f3dbe7773dd6d4d960ad3f72f7b5a65e0016f6a7dbc539db504093a4a91a3a12d9739aefaa428a731a7fc85076c577fa40f46f6553f0c34e29d9b1e8f175c75090a94c6893684cbc13f8b9630d4a4da114e501072560090fd6510fd8c2c5efb977440bc57afbc628e31587d2527a4cd651d33b8e12f09623f00e7cab719dcea62a76fa2f953126ec0dddd6d26 +GCD = 3c443858e9810b4b144aa123d5b1393e524114342251061d0cc27bce4358b67ce0b88b5ab7c170c09aa5b2b85617caceb814482d90bc605fe9c44f3d5f656e280ae440f9bbc9d0a0b79e8d81965b8e98f579e62d92cab + +A = -fc6b7a0be5a94755e9ea7bcffdda73effd9fabbfad9f8025cbacd7ab20985e32df1279ae5306ba4ee8cf31556d1191fad3fa8958062646b3823be82c58dc1213d1e58ab7f72723c22e09cf751616081e97af353590d51ccdee98103ca2eeba50385aa1caa9e2bbed6614516d90ce3cc9bd0ea62280c2e491e612737e1f82ba660538e32e6fbeb06fbed413ca7046aa929464639cf923fac22c610537f1681a322939542a75db3717be2777150 +B = f7c3329cda5c4ff7dcdc1a482b64ebf214b83ea0f99f85ccb1803fc2f2942a93751a26073c7b082a517bf6147a1e557be1ef09872f2c7cc2fc365fbaa4695d876da5bc78ee6c1fdd5d235d8b48d91752f376b1c979958a8badd1a5639c417cbe6ad0315dd201cb06d885fd44021600648524c6e36f501fac9991cc30c9d49df8552af7e8789aa92f4f46bbb15a6bc9be42f1c09e61387595efd1de3cd51b0672d4a5bbf5102515a210b2262ad +GCD = 7b47800e39a08f0e7c51377eaca79ed2893d43ea440b9346d1d7f2359cfdb11f2800540e87747b006fcd55891743c76c962dad774d1c235252dbbfee423885cedc4015ceee1955f9b0f9a4f65e87937cbba032d52ca0f + +A = -517fcbf7ddf911bdc76a2c2d9aa9706e177f73026a869b7e076cdac4620f42dfc24c3a82ca58f968275374bcaeace8fcaad9f51f07b9c1af0de5e47b344820ebe279736cf39a5f4ee87d3ed4e4fbc4d695272a5ca8a5e0138b5aaec988e0ff84e33a2403248113c9afee75f053401bd04365c3aa4e0d8698ebed44b3657d26c6cc9b157f91a28923977e756f6a6755f722ca89f41f3f7d4659b8e20996cbb84cf3f4775310f255648a5af94e8a +B = 2d9c3ac886c2b29814fb18346d461bad4172551b116f865f79f36f0045efd75bc8137845ac949c05c68f42ac9c9108c84a41b7005e065fda1fe5871fd2f24407d438b761e58c38fd3c68249f383ced8801a64161b609a57090ea15171824a69a2df751236e44bab6e9e51f3db0c01e658d0c1a7750c88b4ef6c563575a197deabb77f362ea53bf3693e6987ede05ef1be11368554d57a773aa85fe983c05f0e691819d5b218f5f82f1e88c9d3a +GCD = 20d987638d520f54d9913104ef61bdb757b963c876a33ca10a13cc1c6f52771c8b45c201821c23843496b9f0138b9142d28676ecba7781ad5d1bdc3c80590ba5884db2ae80de69bf0c8d40a47a08805cbc4fb6e010fd06 + +A = f151babed8492ea7e232ccf8c29d87fe30244af1efb4e3c696fa942425bac19e9ce6cae5a9a6ad774d56ed57113d459b7b5bad715a8901b92868acc4bd5e062ed60e503f510bd41e095495b31d2cab9a43287b97165bed0f7d0f6e33e0a1f36cb0846f383d7bbb1f9cfdee7f2bc4588a8b938f4a75c973689deaea4c4a131c8d83fd168e54b46d9633fb619491ba4794cb6e550646097dae9fac47e8241b87238f0ba69151d50c92e75c4e55b6 +B = -e8c75dda971d38b171c1dc2d06ef786a768ce7398f48bbf29761d6d666e9bfcd101b2a75f5bc191866ea3959de2cb897ae099c9a85256d5f033fd9c577318c3149678c7efa84e667c96f03bc5e95bfbba97d039bb78a32cafa7da697171dd1c03c1a1a616d3e058ca3d408a4bdc33a577fc9fede6f2454bedbe96ca9201868784d7ca5de50283078aba9f583b7c8e2d16d7c013b71b385cc19291b1715a8ef094f743f380d67bba711cd76122a +GCD = 28b4425a7e9ae40b5545c3bec259517689d7de9eb32ab30c4456c3a183b023c0d18d71d86a35186ce264a3818186ed4dd1f952e2dfa70c60d8fd7d54e0099e59d4ec70650764d45475192cf1df22a7de28314c9198546a + +A = 2b9953677d97ac64a66547a9f213f56fae7f823b3397a841f65c65362fda0b0949fd99b7e3eec69824a15c1fdbba93c34bdecdb35584ff1e72963ad0f0b34393f731a54c5bce64b800c1ce97aa6744d256632fd49e532f72ee415658f4ab4e8c0c0975077d7b0be468f7302232f3895576f3d2b3b6c59ad2c0720c3a874ea86e2058ca5447af9df8926fad08ad50bf87ea7e8e695780e0deb16471680d39c25e78a24daa17684c10724f0c4942b +B = 2b6b2e9ef5e03265ef9cdb1a53ae1e8120480c9322d10541c7f340fbc93684a8d95385e1303c4f5a9b3945b29287d429c8e1a04ba97e745a94c8601062b35f797cd4acb496a592fae83a015c6304c5776b2af34bae3e89bc759a4e50849e50520b8c5d8036948a2f963627d5fd76a6a87f4d2bd22cebadacc2eac012c0eba091d309a0a7c6ecb1d055885a8185343fcc3ad1b38ae10628ab1d4873a2ed399730240fd903ecf813c888bc45ba3f3 +GCD = 21d3f3e89c28feae8b54b0d2d137d819ab388498ccc713efe91cb2fca6ba2e0a876e1796a1673ef65588e0bee1b169fee00396cecda8ba94a4b3e4d2972eb8bdac48255a0ce2359f84eec2424433a2df03b8c72da596b7 + +A = -1838ff2d0f9345a61b45acb7016d2623c8c422165d1210b67085c076d0fa5aa5fb7a549c6f77be830d4bab730c60d721a4136db218c9148af88542a5883f5218e84e2743a20f83632f62e63bd7ea97b4da64138c2dfeb2f1e257255429b1a917bce75dbebc14c4db30edb98fa186adfab94445a43927728e963c4b53176671e269fe965c962d961f42a5196ebe3cf736a8cea5bc84454d658c79c07b1329b57561ef83e23388149bef2499a2d622 +B = 6ef76d82e4ccdac702e4ba64e6f6a80bc29b3e62123daf1c3e2bca81301fc20cf2f959b59c36487ae71f7c1e7186e40b09df54b7f5553b8fd857108144768973746032ea798581122ecad5fb8e1450bf41a6121e5451293166b5360171b15dfdbcf87e6edc6c69e852dcfccd48cf71a4e4562bd4e0317c018b038e940cd943b34735a12c7f5477087b1166a4a6f92fe5021726f296c5b449499ad6ab0e7b88bd14bb9935fea7316ac9dfbc322ee +GCD = cf85846c99e5cfdc51d599e1b8c8816dc09d7ad6cfabe3aa8756afcd7169dd5cdc0b9d088f33a70891f7cd0d488379c0568c8536aad394c8ebbe91dea92d7fa79560b8628e095732adced45202d22024730bb223651f72 + +A = -2102c4ded42c24beb3980b71c79cef56612f80382e1849048a09916238a7745e098726ee17b06835fa10fe3128a87d224dc92018ca048ecd611c03a594d5673a987e78c84a918f9d2b6f3eff39260eed33a19ec5d98a4398345d53206114dd97901bc1dce8c8ea3899cca0eb7f36883badf21d07593e8b167bc191d93883583c0fd47ebbc5665f5e423cdc5fb2252fe26ae1c06aa92481d1e49ef4c0c111b8924bf72706769e3f0bfa6d6a138fd0 +B = 3ff6ec2f168c0c153570784ba0386734d1e1ffa0c8032a3db7afa726db0e700f4e194a534cdbb9e0844759e6c85196195e61f47744e7daf88d8b96423614d761156bb2abe2e4f7b9c2d8614b89c66c8389bfa73c1c666b0b4c60a03e5ba47621f8f6d07f9a71614f7366a5fd28c620199dc939c93a15bda5fc6894bb4d0dbd46313aab82deaf307e5c4813d7d6b89d692e8236fad94219f688772eaea386b057b299835a0a55f88856d59a8f2bce +GCD = 8b34f3b4d9e2470da5fa8439f7c118891c5756ebe430291596acee659746ce6c373db19335cb9637c53ab56439d6dd3804d13ea7145d6959f09a76b9f2958dcd1d97d8ecb39141d1119710a7c2a67dc76f3140c9cbec42 + +A = ea4c5db4a2b1a44ebf308d4d0b4356a791c5c939908916dbad298dce2626997d04cacd64a27ebba484ca53d406fb295099631e18c75c0714b95c30c4752984bf99d6df6808c7f0e87c173416d1bbeea89e13bd7ac23fe030c53c6e1ff2c9c0a866c8e4455c83759fe3d46fbc5757764ec662dfff01c36af9b58b83ecc9014e1232099156f5404a07d4a04780ec77030a6bb10f62c74204401c7a1dc963a53fc41761b7f01d7a84be385bcafcc4b2 +B = f0d774c287edad48691b027e82f185ae4bcea11f0dcd4ec0012eb057ed521a096822a90691955362338b56745c0e12fd308728da6bdd0f173388165c8e84df5f38b8481bd72dae0e8edcce07f60fc44ab1dd29e7a415fc8b24e271d45e622f9532b79046e1a734d8deb5b5186b8a35bde666c1082125495829a24cc5568173e8c12ec41c76db77b2aaeeb15e7dfed1c38814da2f81da2a0b16ca02fb7ac0f039e841cdd9c675c980494b256ec282 +GCD = 119d1c9938d9c7767e0fa7b0e1b2b155f7210352d87a9b1deb34aa3baad7b186f0fd95d75294abf1466e57f475226b7024b5d84c55be21238e6e4082309c582ea2beb2c1430881b0e846bc426b40ef4b6d0883b6ee3812a + +A = -40524f5be9f7a38a393fe5223279f8a0d0a1722f791e387debda63c787bce1137353cfea792e7bae34e90b7416cea44ab86a912556e2b852475232358b48a97b0227a8f51c7a7e5b1f81e2c3fc21e370a69f9ecd1ac4e16eee76058fbebab27158127c311f0ea72b9286fa4ad635e077ab2bf883583618bb3627ff0636ff7dfa4c76b95f07d1e8b9e7e2928fa8bf20cb18b23056ed1a9bb08747604eb6ea76eaaff44d65a9df515a807480f3ca360 +B = 19774ba7d9e651fd425b06d2b6ba6c54b7cda9ca41b295aafc7288f793f242c0154003a931e7aaffd7d177f71ccc5b540c96947c7e4c7cf7d786f4f88f84f540b1e8ec8919b5d2b47b1f46ff00238c10761e16d69344975efb4083f11b7e502a64475714ace7424e41ccc0bb189f5f7a266cbf45d7fd22c0c37792e7cbda37fce0a38826722f186275e60b756ab47ccca5f12e5a0f6ebfc8df19c384277fd7ded28cc59b215866cfe0a4ef028f640 +GCD = 74223ec11152ca8052b60d4fe3b42ae095a49eb01724da91f413fea833f89c38b2b3977c701f411ebd8ef7a4318649ae33dcd2e3ea71209c43aad07971ca612730396bb4ca2da2c74e2bba758b5b066d8dd2b40aefca920 + +A = 42bf75ebbb33feb9f5ce519643e3fdebd64a4a535f1b2d8b5d224900e62a4306a966899bc3063fd69fa6120bf2fe7257d554c574c74997f4266119b6bb0ccc36c03390399e5536800274d3f7560c32304b33c41ab17755ef47e5b542d4646004f765d4b0d0a4c4f29772ac7ab18656a5c7d7edd0e84071a731bd1f579c13d5108bbb0550caae1c16b8ea3a77efa3e0331b260d118332e261b50f16606403de300ac4cf76a240fea066426f706bbb0 +B = -135afee71965b61c57fba34721d9acecd571faf57e88cbcd571407e1ab9975790de9799761c831cbd3650fcf726115b668d458b6aacac75fadfd912f5b7c2387b111f1606548cc4a0d43c0d75ab3346a610d3ab519a4738d3a39a508ddb823796a93bcbcbd5efcfc7980d7d01faea4b7df352ee4e358c0de22b6e6f8bc00ceadcda808afd372587706086cb5aae3a077b14f234da0147f38a00e0be8d83f7a2e9b947aaa1afd5e02208d566d5a6746 +GCD = 4fddd64fd66bc318a62823ec16745e6db02305975304c18940798b0e2567a8d1494a0e4f7423627bfe82a63651caa1ce27de17aa3f17af5f7280095f5f0f038fee3714019debf1df830c81ada139554ec018a9ee375f126 + +A = -149547bcff8d0e5a0b0b81f05cea76e3f12ba9aca40f76cab4bdf5250a10345a7b020b5cbe228e6963d01d760407bd6c78c356a9ec6f0e7fdf1ec0243a4a198d65e57c862ef9447ba3c04fa57269d2ddfc26a0c87988ca018d71fa578e8b18f02910505ca8bd746c57c9e856aca9a7344c5cb3be1a7290237e99029eb34c9d6040eefad467be247a16247d9a2dc5f4450ecc9368715a2eaa8b82a9a0d95e93aa7ca701cc7667b2505b9927f22aabc0 +B = -3849452a433e4e3e4a319e25de6ff59de7342fc50ac5e91b68da927459d8a16d0137372d8e6983bd98efa87f2d4f2f558e73c4d3ae176d5a2e72ad3c3a4bbff768b972861df72b98d7bbad953c643bd05eb323ba41d2b243c5d862128beac9de8e3adb0cfd6f51bc79b9ea44083804fba24d29cadaae4619fe90d60a2e7535b0109f54a4d7a12efeaa5e64c5f8de5b629af157b6d3f61f92c15463bcbba18685ba536a58d8a9262db111caf5575680 +GCD = dd09d01585a80a29076270c63275ec42a159290ab4a7b7158a0b358d701c1c746fd9efd7ecb326ee3a106c8c651806053174b6b6b49b0d70d1e316229ba10d534f847a5a530926236d0c383fe9bc3564ee5f31ed4267ac0 + +A = -b71fe85ef0334a769cecda9f6a2455ee32a78f7d513537a6ebba602c6b7b76352ac825f46abc4ee8d48b56fff2b4c1db159b3eb2be5b475e3e16b55934980a54b43a790943f6e39b2e228cbbbcb5dd588d3e4c25487e7b211d65095dabd151712c806e5a999ea3b0a3b2e2e18e71d003f931603e1991428cd789a99b72970ed0753bcb3e370399452e70bd27378bb36b8cdcb7746127ec497fd87caef4ee861266720a7a7d3254f3340a4b134cec7 +B = -884c8654554413e76ceefa384ef7241b468163cfd8eb3ea0dfad5153e0e1c697ff0277eb3bea62cadcaf945f5700479c5dfdde6ea2311a31aa0cf0c08287465f2fd7847f09c4f64d949fbc222f9755839fa9a91f039679d65c0c8243bbb557bab3e71f8261375d85111dca66889671c7ad5ceca083dcbae4ef7a7049f20faf62cea268329d2f64e2439b258546f9bc4b56181577282d86c1a98774743f9814c97a752713a50aa7ba74d0c65c548949 +GCD = 1711f74d5f7e6822bcad7c634938c9b911e93e33f21aa65f19ccf7840d5db4cd106ac07963faa6b9c6498fc8b0d3fd4cc2f9886e39a0517c3bd973975b5e6a800621dad8ed7f3027d3bc8e2f05962f321809055655b7d30f + +A = 3a35d91e7cec417f0a499e734bd4a562b9daa5d7f13908b7aee8aef3a492fb56fd67e26cd271d6cb9d9f469f5cb3045e8136d8335aba5be60ab7bd46b89ae45b062bd719dbb17690bb475b439d0a7a54c47ccbd384ad7ebf9924240bcf54e57782009e109dda8f5fa9483f972302fb211ceead34d8a9c13177a38650e92b86b09bebd9ba8844fafd3339b940440197a612513584b20a659203df192b2395079d5d2390b723d5d067fa61a55ffe1c28b +B = -464fbfdc84431f7491a66d3652bb3a091653b95804f46ac72d05b6be4f57c622a7a6981c7700a5a19a847059cbb50fc8a182718c77aac51196891bc2ad44b450b17f0b522a36509500a4c806a078b7a03a8974acb206e0805e0cb23986a50e83eb2985cbd07059f196e8dcb9713d9e2a68c86c52885cf8595fcc587fbcb7632ce87a6d13a5830c2b356c2c591f5ded0d457fb21b3944c8382448380a71ef73c7d2d168e8e3fb5ddbe76c370e78a8ed4 +GCD = 273176accbab6342fe9fd769d3b996909579dcb2c5c62d627cd860b0c0fa98ddbab3ac0d8537e8e5c54a780efb7cd9435d766712a063222e140b7d3b25df07cfb545d6d8f58ead02ddb971ff5802840fa4b5a3f00a82e71d + +A = 87d2f2f88cfdb6dac71ffd378427d8a8209759f46d967146e105b498ace7c83caa65d1d2083790b3e562350c05060b4a0cf5d69fdf958b4b0a85b0cb05ded56fe8feaa82ca645cf278defeea795d6c4dd927301c55e557648888062ae6e8c51164a746d22f0be5cd45272cd2b5656c7e599ad63498fcbc6b86058fdb7feb92eec91de782db3e458f6925a254aac1726f5ee71ac5b55d29828f1d7d855007d3974695bb74bfa7acdc58c7d8d83de968f +B = -4bc2d2b73b080665d5c86169585e4081e40c4d5f3c93285de57efacec91f2d7339499f5dfb79f68522e53ea5c98217eb5a7372a016e3d3fd4f8d93b9c45c2dc659511e672e095b8b34d4d66de7a65253c9a21e37d0d58ccd54172d89a93a1a99144ca72d49b3397b407168c27d64eb14fc1eb3706776d8bd80d189e13dd6193e4ca13a266c8819e81e98dd6115637cfa453e29eca559c5257f61aa344ef0dbfc3c2512e3fc543183e2187e079ea6392 +GCD = 75d638e8238514ff5ab0f99d88854128a886fe6973ca09b7c3bc4a6870c126154364e2d5ea25c19619c229b0332cc716f3ad627f4e8fa30b1ab82381b6d976125760157a06859e9b9acb329c2da24a9c719f0581235971ab + +A = 3fc450270c1d4a8868aa7090a89e16396746e4e8888ff6742191995cf54f946c6ebd6adb791bdc3d3c6954ea6b8cf9306ff53f8e528ff0ba7ae894281f0f7e775984d11e7ad5997e0b001d1e1bcc80b21b4974b638eb0365845b67927124c490e76b06d99496e55186ef037708307e2b3978a2dccf79ff84e3abb5bed6184631561aace89e517c86155761505aae3b2fa3dd3f08234a85f3278fb02526c27f7103f9b006a358b96a2e1981b6eee3d89f +B = -2050a940e86713d32b8272008edea1d8a05a3bce12d3de892e346f24cb5782a87574e355a7dba28911a64ffea1442ef0c61c3cb2920cb90903e639cb34fa53d61d8f37fb891ef6ab8e607cea1fb9767cb57e7c2dc0e2e9385d8ce24a00f9e4bdf6442fc4be67b777e12d3df5c0ddc1a3fa2d30c823f6ee436ea7024f1dbfc6d132d52a4c18755ef5b0633e7864889e55df518b7b70f3cc522007212dd239178c2026c645c6de6ed1d153f77d315bce50 +GCD = 201dc5d87c92ef902641b261f6fd863685b73e91c2d7dc593dec368611ae717143f14def1a711f6a3adbfba78735aa79f6e56248b0ecba12b7d3174c9b2864b5ccdfdacf2cbff15dadd02ef7e739a5755a90ce03f7c246777 + +A = e92650d273635591bdab110806119455b998301adcd3ac90410556b721af81f46573e7c432290a82319e76beaca8ff6a2e433e3bf22f2e0c84c97ba185fb5ee35af5a9569dcf8eb6053ab669404425fb8fd1cd3315bc282984e4ca86b4d1caee3e54e290d6e48968db98d157a1f16fe5d3d1f50712d2312890074d40607be414b8d3147819658d81e6fb61256126b31c9f2b99c2aef9198cc0c9530134601bfc65bf931ce094f87065ff2616f15ac588 +B = 9314a7f4de474d635413aa25d098ba32b6274c7aac0177f55aa932f1664cb744a9d61e665a76c2e73b801f7f7f4dbcbb4bb3779dde12fc6654e2efefe6691a0f521ee93f78415493271b7f8f149abdf5603e1464dac69ae0a0046e5c6b05a5b2ff8303f8eaf22c91bf76dd6047e07978f18c048384a1498de3acdf199f2ade4a42408dcc699688555c7a647a263997115c078a711c29ea6371105faabd34e4d81ee209228e127c4a0f5f7893060e1e54 +GCD = 10010eebf87281cade0a400a61e00b23dcd8486157eb9e48ec6bd919ad09434b2a1aaa1e603d95f692ed6d608b00cc9af8f7c731cf71946737b6c0905f2c071d347640cc1fdfe13d30e3f1bf58d82e107d9086fdbba9bd9fc + +A = 443d12cceb80bf41be0007e6e727c5468c3f4558d64442622d03748a00564c737e08f2c42c6f4c936beaab57387afc43ea9089c9b1eeb60b8b6843b153327f5a5c44b7fd73963a4ced84c3362d817e5a837c6b598d4116efd67b1dc94ffc462cd9baa03ce7a192f533dbbec6aef49cb77b18a82c87a163a8817dae9c028c5fa82fc84b82e1eb5774c813a5b5a81ec44e29a9ec7325c31c88517334320f5a254733eb1fde23493fb2cee1bd65840362049 +B = 36806b1a0cf2c54868c3cb1670d8504a575db538de8ff7dabf673d38ec7e04075a7796c9d44589933cf14ebfe95e8a47cb905abcca0bdede63f7d975d4395735cf5404128ab2a0a47addab6fe604c6f069fa5dbfe92c287dbf9d32995f4f1bf39fe67ef257697e895db6b0e453d544df680b953271003b2314a46459d17b123126a3fd543811affc9cf5e37f923a542ce5f3609f497506332963a93e87d5e2f9f3232fd1a70e608e604caf6a164788ba7 +GCD = 6950f453860b69135d070cad279a26abc9b3649230a809309521049b8c1a4c83f7d73140bb1dd6c6a11979e75e6943e716638fb7012647a6dbeffe10eb92bd8b5422626f02fa263a03c8cbf8c5a518461fbccfd207ae1dddd + +A = 108663ef079d5e2dda023320bfa0b1c1b336fbdb8d7ed18734f1ef91e255e379c23d16a2338ec8ec9b02a7099ae02fb463776e5eccf3108438b411f17c9af03cfea660a0d6d4e283496c1aef05c1aafab63b5039e491b729abe91d266f72b7cdb64bcef355ee3435735e7740aeb55dd939445d7bf783415dd55fea3ca26f159364ec7a0ffae87b5b4edf8d14ba02eeb4aa80482aef5491f84c8435a4285df8b76fe85aa2dc4249a5353c370df2befade54 +B = -14e2d1a6e133cca1270cbbb5ffacdf95695c8a36666b58950e20363065e93555061fb78356d0207a8be2c6847e464e577f13fc0ba288badfc26b185663d4cf35d609df7e08daec122793226bad3c125ab8e14bc3cc4b887e4a7a681ed81d7b3d0b715a1df04fed2446dcdde5375c318351be5a58b3e9da8db8f037743dff1e7fa39ecc03586c166393abe79090db849b5f9b33f1bcc88c4a57d9960e8b0482da75942e1bbfb3985ca00b3371194e3edde +GCD = 1cd9fc043b5a4ca167fc896b5014f8cdbc9f7d5a693b8771dc5d3a254d0bd6fc571d01aac50a4ded840b184fbe95a3ca0836e6243aabe51b7e3d5b8dbc62004c6cb1bdd4a5a3a310bbdf4f90d3d9f2ab5f9a3546abae3e5d9a + +A = 270ceadbc88535bf0c75c911f2e2ccbc0cf028a9d0b721ecda79f7bb12c0e244a43868015d42cc1c5b45406694b49b54fe44b787d6f26fab0a6ca34d8f96c826a6d69bd01ae169fead3447febd39667ad0e3d3eb47e90944234160509d47a728c480594b54a4be1243436497812aa61aad134aae775927c4cb057965fb640cf71eb613f66954b41f1873cd4a5f83b9ae624ff842c9aa336a260cca41853b8e1dd7f4e1ea9ab441cd1779b496054078e5e9 +B = 299105762db3be09870c3a81c8da37aad1c72e5a756cb9c1f1872e5a991346a621092d622c501b387949425c26748c6cb6657ede3be6e8cd6c093a4b9a0233f49ffb7265a0cd18393f724c88944f913df01a1c16ce6cb25808ff5018c25d1cfa38edadfab9c4925988e5e02182e388bceccad20cc5da73a8ae479618cdb77b80ab069be5d9787ff5941e34892ad404758af0b7c26ac4fa17879e06e73396f0efed08f82c72c584c946d41d860edbefe7ec +GCD = 8194356c56b9db7fae60c64be7249d44fa7f00259c3be6b6fdc5b697bca142efcc29fbd43375f66484dac1935214f39fac0b98eb37620672157e5c361ab70579a410bb79517058b9095101831a95d1383f7ad972d31ac2823 + +A = 789c11be89f706751e9ae0a2d3e307be6b81023eb82e26088e83620016f58b876a57b5de15372aa555bd28c6a6019c84c67093fa502eb4ab58394b1a88083382ad92578496aee31f7ddc96ec14b64dcf10fc3c742bd71b5b1c7a932c18f6b9eb2be0b6137c31c3973a4373749e82991b682e4f646689597e58ae5d177f408eda0a6f28c75d7442ef48861ddaabeea6462db634af2d4970445175c27faa7e8fb807027d7fca72d629925aa852e75b959f10 +B = -1ca5f220917cd86ac4f852a99fcf7ef01114446681024c76f1f8d4d3cb3f596598807f1cd04f52bcbc33047137fdb042c58ac713c234d2d661bd7ceeb4bfedf14b3b73eae8e92b781f41fcad46df9ece8f294072f9e586e6d1fb4e13e76f79f31a67f559200705677c41720495fa9e9178d990c25913b19eb7ae2c3337f46510538f2385f6592288b498be95cf115cf863f991aa6e05ce8efce9260bcded59b4d1ec3dc18afd351e60bb415a2c37f60365c +GCD = 1d24f0716fc0c0a903db6e4255a9029dd2e5a547457db22a846775cbfb3cf662fc589e8219039b24f693de57be12f38fc68b09dde3c1e8f50288738c625b9b2a6764a862dcc53a81df68a5b5005456f81d4d725716d1d8da5c + +A = 230121b69016dc721d7c022f1829ba2010e82723bfbdcd2b78e0ed4b4738b30e4c4efef3dcc89f4b41bebff65bca9e5258cd0eb3db39b17ee329a8f1a2d08cbf6049307e3d585815b7bc0294631974e920d3d383dedc81c3b5221bcc895187f9316eb789b1c4921806289e7371a4b2e20eafc00ea875a87025c40d47ba5826bc2cd382c477a72e6404aff1297dad01bb40df7791d1847d069e82ed353994d4322b9ec49d36644c68ff0d8031d2364046d45 +B = 39300819e3f4eb1820d6ef40bec89440cfc5b370e84cdf484ff4341da5580b64c4cc899abc254c188c495195a95438605fa3fdfd9ad86a9eb8705da86f2c2d3c5215a73c80327ca60fd7e277e86c5d2de85ef150209d1e3cfb465970fd354238e367bbfc3195dafe0f95cf3bcbf1da82b585a4836f9bd912f383d62757d8c02a7aafb0a0b0a84d27a2c0dc6d1b3f6756923c690688ea155ee35277178d2f8b0fd699f14866c93d91a084b0dd7ea08a489f6 +GCD = 237921555cc263469cf181ec0d5f1d24bb510b1b5d7f845bc604ad7bd4736e69658904a03ffdf46d84191a2dd1e064f6e2b3352a13c431df6dbc831c1082d69641ec709c28eb264763901c827a781821a686599e73ea0fe3bf + +A = 42d803ccebcca5bf684000da4d175ed7db1d9978546743658a9c06b0616164fd526d6358f9dc1bf95f84c7129d6ba3abc4cf2eebc09ae62af5b7da2abcb2c0844305ad5504664b80db990c6c8e705c4e36f1c0c3bd9dedd1b4491703b70aed602ea2c6f804da5f93d62fe7dc11ba8e0a949470251b5290155390ef7ed9ba19a122869849f8a57f7b488e7cc0927abc1a3a52b78a236558e379613e101c7373ef221afc7171dd7b9939750ba18281548c3a0 +B = 79452ab68a9d724b81c9064eccbdd3e565faf7130815e94ce9e182cf5a8d1e64321dd4f6bb69e05b3b46f08f5e1c262ab171dc3a2d35b25501bd38948ae2689fb4e847e24d4726e4115af4580a2273e38744b202adccf7c6c1f80f9185cf1ddf64a807ed84c95046bd4180801816b9f71f231a502efe5bb55e22b7fb6e76c2f4ac156c77120d8e4eb8b740aa05d2d29d91b193c3c828aa1398d014d3f707d9dd1eca3162a38ac480c70e29e230e4a5e6c68 +GCD = 431783dce1522a74b069a73dc23ae16f95b7dc0dfb7e97898731b75bad15269d0d06e0a9adabff33d786a1dbbbb2e0e75d6ab36d7a19c9ff70580100d6ec050fd611d5d7b35810ebb20c56dd61268e7fee128a7d7d82179fe8 + +A = 4b3ef094190e5a04e9f36a79d85569010be600184b73bbecdc48ce4e30b72d5614e37961eedc406b21ddb903dbf61d224982759c92b101280ed4edc1d7d3828e791f29b0b6fe671b62a537aa129c349bf055c72f7ac44aabe989430e9119682d2179d515a7d03577f38a3ec57a0d7a0e173deed714ac6704bd6cfb75f462fb3bb0ea768ebe14d6e5a9c88b9c0eed03068d7238626bf2020249d22a360ba5bd46c071bcd40e01cf0439ada8c5a97e515dcfe0 +B = -4b5b86ce82f174b0ee6078dd1557625d3fa395105d6551bfe5fe025839c18962c77d4adcf482b1473e230594173124237db0c681b909d643b62c0a05b9afdcad02f6c69d6865b1c2c81d91f9da5dbabf5115e6a9e635c458706f675fc64b68cb041a01a5483cdea6f9f2fc71c939fec3624343eb1b7e04f82547d78f794e46005c7d3b7532219a2aceac7af7cf37b517151a67f265a19c9605334c9edffc5e57e96d4288c9f1c8218e9b77a90632ca111510 +GCD = 1942596cc7b9c487d7d1a8ce2a6ea63be8cc90c8f6179e3e81ca18f379b4e4961dd6293944a68e854ea2c7a784c4d8246e125fa58d0a59b38b2e3a9906ab2a84f1ae22cf7a3cdf1518f045b8f18be2ead9097d1b4b3c4173110 + +A = -17ee9dd43d74259e4d3d85c68af8f0912bc628babde4bb96b58d2c858cea30c0dd16f6b574899ebda4431001f33f5213d1d23808d9825d57f71c4b0d9a8225f026c22be1db25f3ab027dd1b9fe8b03725e3a5a7d20b09886b0c1929302152f45b53cf6537ded2792ff07cf90f691982e2d6e5ce576c8f09ec4b15743077f24ba1045fbbfc1ccbf55ed137f92422e5482cfa430b4e11716bb5e9d480958f5e4c8c545b9a09395e274c117e3df92a82fcca7c4 +B = 5b3ab6bfe599072fd842401bd36aa227adb8f4bd64e6906e6bf129a1e07f58ba9edbaf1d7a889d06af1dab384d42aa34b3691bfbdb557b7a0debdecbd82718469791adb3af9cf3d96ca2fc6f1d2fc65ff9cc6fe9e4f09d169cc837e9bd1774fd7433c25dc4ec39c28aff1803c02e792ed738cc93a020efcf3b70a4c33ba37e7b4b2306c85883b4870b6e4ec64734cdfc34852b8d0b50037ede450f27ca154a3489e963ebe67daa4454ae6efdd0d3f5523725 +GCD = 128709cf00768373f4766271fc9c669fac66410f08574465e637ee4572e72c80da853158a5091a90bac4ded1bf4dc41fc39c3c51e5ef347e5496193b21011dcbf4a4cb33e7270ec94d04fff621a4a2022ff6e40de359055417f + +A = -4bdf6822716e69840ef4a27a95a760ca401ea9530fa70c350ef200b8e64a318248837e171a71ae7b1044924dc436c9490a3ccbed98c0a3d3fe7516e3f86835803a3f89eaeb5949259dc48b0ec2438135f298458d607d390d0c43ed3ea417cdd1cbef781b152d95dee576b5d061dc9dc4447c851c44a1aef290e471fd36e037b53aa8b4857e2d191a46bc0ce67301248803cc74541a21c6eb616aa9cd7e680cf516d0a5d641ef647bca10e20ed447af4f76eec +B = 15b240b2e7aeb08fc4273e44207d0454f6a504b1fbb4339d2154a41567ff79762a35eb496edf22447eb6517ba14c76d183329199a800709fdafd3d1ce20a9b434632d8627a9064b18dee1252f333403068bccdb5ddc4301beebd8356ec244930e2bbaae9a1235ab66ffce69951b8e167bf1e4509babfea053a4bf635225d8c9de8a4c931d7053a1c9f14604a706037ff55ded8a41dbc034f2208891c1e8047b586f974755c2bce54a2f6298913f922c5581d2 +GCD = c71117ab88689f2e3a601e3be314a4429b25aa1457e7f64f59775ad83ebfbea271acf4f10907c32c9f04851088f007bd880c0e7ac543b06097dc5a7f16fb052a1071372c0888c36780ad90106c3ad71a663f7e4c42353cf4e7a + +A = 7441bfeb978cbd3807918e58634089c0f4c555529550fdc9fb9d3717dfd23e699d69c87d88361ce747d3f016cbdc32729fe03be0435f5ecf9e1b8bda1eb56ee29ac71006e60c25fb6fa9c15a97ebacf66574154b7cbc3f21f2cfd8801e760845bdfe6fdfb34061b4d0bf9b727fe16466afd65e289833290c1e07ff9e41489757d2bf1e6bcd50133d2398b6bda0c173cc998f63cc402cd4fc7b2ed04c441f615033123f357a7e8adebc6ea6cfe8138ca8ac2fc +B = -825023e14739b4a16e28247e7df06d1565ff708fc924581e09297616e208e4995b880b60070714075c69418b2f1c957d94511eb21c6eb21f0368d24e9435daa06b0063491c99e521abd2c9bd71a84c773eda51c29a846b4c64ee40b7a4ded2f113c092e449a6ce13b69b96de8c9d5342aee01591301bed0720b894d138cbb713d768b11c9fb7371ba44c8aa4aef1c74802fef823a03d2fb70e24edabf3d183915086a5b13251aefe3f42b69d2ac1d4e779050 +GCD = 433ad3b37fc80411a8a0d5035148f5effb469ff5aca7dfeba449a11de5078e2a2f3cb70e03833c6b92dc34070a125426f0dbcbfe5f1c1db0856b9b9c1638bf89533009ee1c23a187ea4be5a4be0c716ad1370a6e27a5ed6a58c + +A = 291b0868208aade231362daa7fff8f803b1908d53dcf65e03b6ec332ad37243c51c9407abd507e8375a8c02b43a17c13459cfa07121480167420701c0b9da651c22fbb952b2456c7cd56b1ded9ff03ed9b306ea979436fea2b30a04bdc416ba6aa5f96ddfe249abff75b68c08b9b0d17eeea2ba6305b4ec9d3a0614498b553736f8a91ebd7b780c7b61596a062b7dbaa432a78b243b08e0a169083638820a4bdc2ac65f2e4b51e370e98f919ea4da43e528a11 +B = 26ca38c174827630934094816bf366b1a4f8ca2d984a5bfce342e44a4da4f6006f720c613408f89437fe548432f1e2eb4301855a8cca90a05f9a34e96e141c3f2cad75bc3bc7a269eb6b78d70bb8feb4e0a5abe968d996caba943201918b4329bf5adf5dfec5d9a6a289f316aae033e0695ea285701d494cf74bb6dcb6f7bdc5e0d36b960d74ad29eb7f150879317449150ac70102a7d00e4c4df665a5997ef401ad3a86b881212cb345a5dbf72e7eb0c9bc1b +GCD = 23b564b1c7e4f6bbbae9ee90e35eaf70392601d26b28953377c0be2e6e4510f6d7b3fe3b1ceb0b596d297b539e99d300e07cf392162f186db73621a67b9a72c0520af9b5fc0a6b9f2058320a7e0c59c2597db64332f6d908afcb + +A = -af427e803e6a7f089efb4c6157d4e01eda487c3dd7041c63ed785afe3eff2332c74b6a2ecec6955594a290c2cbc3c602fbcb9c752c617152a10fe6b3b0bbac214662a09ec1115a59323c930511b28e426cee2d771bbf0045848e3bf90aa0bcbeee89da74144e900b9c7f38b394b1dcdb9a09ef8e0c5d4fa37e8c987c4319cd7263f8adeda55b732a92bccdee22ef4d2102dbd87560a8cdfb1dcf3a345e6de8a0b9e1931d316905a75f1b8fbd051305ab3bab38 +B = 10b1c679c818623420ed624cb3eb573612aa74cb01fe054bcb1a0e466cf937f2c4c4a2d494db69876135b8f7105cc833e2b27772bbe69efefaeeaf1f3ee522b79ab63f5df172534462559e4fad8b9fadd913386ca27e722be8e983368692017039b6f7f2ec0d8f4a0fc51ce9afc3a9f9f04a73d94e0841b59dd4e03656e9fb46e7c2feb2f236eb71a6e562cf87321795beec20611b201496b25738be4de4f77e89c8cfd77856cd6d8cff3fef8da31161e24ad6c +GCD = 36813e6571e395a11bed781f203a75fed1dc3a7c2b0657f829c5cb9e46de166538118eb82fb9e56f4d711696a56cfb026be434c508f648bd5ee1d2a111f8fe59d498d32791de1824c434b91771c43805c665b6f0ee0bcfac16dc + +A = -485f6af70f3667e7411f3878331cf63faf9193eb22292a7ebba3375c2f01e4e9b6120de8d177fe7c0af6061337ee65c74ea47610d4708ec03bdec80b70053d72145383d85a4f1392f4f558e22813659fd8a9f76fc782f53f05f189457dd1ff3f447d2d34606bf4eb7435dc5beb5bebea05d3cc0d8d2ac26c6d0d8793d39286c45570b4a0079d0401cceb618ad4caa4be6044a9aaa17ae578bc9e825a5edcb96b40d998115bad40176d26822f3e4e37910b882ba +B = 42c00200737ed42570aa079a41fe4dbf7d27bf6104cc77672a2d8e67a61a09a0a1a9ae67fc08e0168667e398e07cf7cabefe98e682d5e402ca1848ff1b04181900eafab18b1765e90fe32881fc44a4f078c4fe3333ac3bf6ee2b2f8df3716e15866d5e97c1a1bb265bce515f3452f1929c7baaae08edad473dba976ad7c5ebb4997f9529fc9d055a4c6dea15a968486735ace7690e73a6be694f3bf8e0a877295205c8bfa6563c2a7a149381f1a715bd075613a +GCD = 2de678c56e39cf64c671cc7921df5a1f5eba53c19ca35eb568186429151d32e8cf51c8ce6ad4bde43641297983e8c3e6cf378cfbf50479370b3446d708606bf0063cf3050adb4fb519ba89e004a0d823b7ba41cea89a4af9b68e + +A = -1637f1fbaa7e162db33291b8f8304b2b280597467f208834bb1713af9f005c994c681cafc28697367ce01269af117fa3e2f42aae605bbb261e29892b44da54dc3ec24eeba23d8c58bd934ca6889f3ac42b8e6eb72fc440f5146226eded26b806c07d9f292b7d91c49cacbb1cd2e7a56a5d596c49dc7cf14ea1db77a4e13542a648820227e41a21167d9ab72b5469b3d789c6c798979557119c897ec58436c5d0f52e7d94bc9d77c9fa1f9a8e73a5c962f77914ab +B = 13d4d0857fd2ee6496f1d72f7f523cfa95b8f43947dbee8fc380f05361046a52fc9f52afc31d2ae767ddceea47848d231ad4a7e424ef06416e514466e91a08c15054d1bee22953e56fcd68e19054b749a1391c82d2ca58b5745eccf69ae9d723996572ebbef091759f21374281bacc4cbcde3ce87b7d713a76a22b14f6085e91ff276d564778988de9dea6df08408e06c5f84c3db9ba139c8db7f77b97100cc418b8e772ee0d8ad5206a4c17cbcf1acb9f1d412a +GCD = 5f055073079ee62b77ac3204176a691c5143cbca5851c50e554bfc0684af47642ad1a80e30d51337d086e434ea1606f1fa244d4677d9ab6b6df8f6acd63e81c4ef1aa030e6eaab176c848b65dfaf781c18f44cd070ceadb06985 + +A = 223b096e8c446a32712c5668fbfc84de47617192d9ef4a3ba8c975dfdd128f356d654c8a98d9611a1198fb491971b52ce883343d5aec36b9be0ba7f668e3636996d3b2dbd679c144436f4fff41a8637f007e97f02e23002430c818e08f30d4f3b48f3d61212500229574e6d16087abc73675de0410d5b6b5845245916dff90abccaf564b57fee254d59c7556dd14149bf9e92f270a133be98e136d79962510bffcb78de42027e78b80f864963a70ba026eb4db04 +B = 1bd4a89040c7ab24b1ecdc71e870dc83af5a3612177e7dde91aa094f901e7a3691b831a54cc3a60b02595f77e590b25640bedd4f75990573673294fc53be6819f81574cb561cd8bc1467467881cc2d8d7323bfda55dd1e8236ec94064f6c3cb42ffa85ed2902b8a91f5a14d19cc1cf698f24d54c867c5fea84cf5329c991675a12dc2497ed66612701dba0a8e966e5215b745aa87d0bc52c5f6065978e02e230ecdba80933a356921e915c68180a71e2bb497a2c +GCD = b3304b852de36c9961aea9f17398a985554abb0faefaf378ffc57bb9c598d664612120ca5f3a9250134b53df8f18c474cb56dcfc02b87c34d4ea4f3d46e4a7a339bf32b951d7902f072c7b82339cff5cfdf56fb6ab72280ea954 + +A = -164f46663dcda80b362f4f9a88be0d3e579c0e11f3844ff8ab203164a73a2fd1bb3d609af800fc0d1f2e01cbc7463734f4229c9ef86130729f3d4ea2d787eb8d98d0ff42797622bc62762bed5ebf17226a4b45d534ef2c61564d2f33a548c302a7b6eb5cd4a3269b3667c0f33306bc6267b93600ad81198af2ab74fe0046683471934b50e0f49798417cca9557c68d1deffd3a3c0b7a4119376c3ad18f06c6ddc8c18f0dadfc6cc0b6f128ae2882e80c2479f8dc2 +B = -104d1b5f238e0e7a026ca7676a043f89377ba53988c078f8e5c04da805666c56932970a4df9939f3143e173f7548f1aec969b125e454e312b857055d559cca4320b470ac0c108ec119993c056adea9e963df92ce54b8239ce47e7de1af6e84a57f7aa9b392722495ae88b8f17a927f2d76a087bf033a97c01356d2215a75f7408e4354f1e00f2f1cb9e5f8f3df5dcb2c177fbdf041efdfc78f761f7ed1ff8e607456a37ba26266cf6f1e58208c9e53a64b5434b7 +GCD = 1a2d589712aee76b21e7da910213242aa14bd521e76cf949234fb137c5e8b679a27aba445186d4577bafb651af3af61ae5762f12c0555ab85aa3cde74d327d45fa25814678d0efb2ebaa738ef7e06a4a021686d3fd7707ee25e49 + +A = -48edec672e8de18da5525487ae3cc19e858f0580b7627610b150bf7f15f57f734925f9410fec3289dce26069636c0dbd21fea7b05b9f390f502d1e1ded20ef8b5e944cab1dde7e703a00b2af9619b6f41647af823340b1ba3762e3201714c6cabb84a3ce1d09e46fe25a5248e193081de659ee987f0756d59b4102f9b4e24a49ed49d77500e16e731762592140fcfd65cf806d4bfff2e414026af3f74dd8b704f9a9395f713f0ec222f2bf915af1e12bc8fdfd8c0 +B = -a57f98ff0d055bf229e0fa98be06ffc4564166c3c2feffdb0c38206feb986abdeee954d9f93bdfa1c3f325549a4744a9c6f8a4449095f6c54e966e0969cc547e4a55b1664e47647d966acf05ee5561f6b6c44d99026d4ddad7a32bfa0017c4c739bf315e8b25c4a85c737b3417b0fd20d1afa824b1c6e21c67ba38c468d41e438b7a212253b07c7ca548375645e4a47132929b290fb696fb3f2398100dc661cb87cce0238d069525c2815e889fb1a78060f6e938 +GCD = 77dafc8e2b5f342ec0c74d5fadfab795006d559e981c8618b1549fc4f83b97b4cc4e1c5eaabae3a32aef02cb1449b1a36b446bb94b5f9e493dce63f18e089ffa45e3cb120605813725bffcf3d681848e75203cede1ca403573b68 + +A = 23201ccb157cad7123d94056bbab2b1e1f9f7231671a76e53b177b2d2445e6631f920cc89d626fdcf04d368d522f60edf4b4b64d3f2f93beaafd224c168c844101602bb218146179f458f3e5a0b51d4790c36e1d2094582e19560ac27dba2fa4c6e403731c2c66ecff2260740d226d72c5e1c2af9afa27934f9c678b4b1b91ca51e47d52c0e15af61be06f47a96bb7ed4c734a4d6abe2698b0ef7c2c2d04908f0a957c55e0d8e9a6b6dcf7364f82a23a6648122f0 +B = e4c925cbfb1c32f155ad954a9f87b72978a3870fa5934f67ba03cae8913de65e1f606f4adbf2351bf4deeec92bae14f4cd64a9a5fd904f55fdc528ae5fe29068a6315c36173d903d833b0c78e559325aaca56f93ab629d7b586dca0a83f28563d6b186c799744d01f286500a029ecfda64c49697bd1e894901028b19e4a457db866e344d8808319b920a24ba0f4491bdcc701969a07d46c07b96ba115b4671a571092c44978ccb72986c6cf3020272a01665bd958 +GCD = b846c8e8d8838395758e03eed244ddd6785f67d91626e1994e4eded2ff10e409460e921db681ed0e3c432180f7cb70f8f1a6cde520545bc4561e7ccbdc5f48ab5eaec5de2cec50e65653ffffb07355db32518a9274951ea23e038 + +A = -19590fe7eb245dc3b0bbe9ad7c43c00674763c91dfc50b2968cef169e04eb4467ef7ec80f2aadd7fb9a3d6cff115519e63ce9e8ec44b484be0ed9b0fc213994cf15964ac17a13a4d1401e9227c76716e77bb92a0214e7bcd1b22b073acace6f5da7337d893839398e07b787ba0f3f08c6a323d52d65a388b512f0784a1610d4d89afa3ee53a0f09324b84fed1a8c7ca2287c21c5c2269aa24210e3c89530e07d137132dff37f489e600727c20cc46ede244014ddc6 +B = 5495d3d0633222e3ea4ab1e46d1717aa3baff445d1bd1f085399bf517b49fbd8a85c32ac2f91600828b150f0898b251e84448502e323ca47b919d2d485b80d7fe5d532a2c59135ac29d47af0f23cb6f547de30b9b4a7145cdc4eaf51bf2af3b24f824bdc5c22618e77892430b89d26a30b13767acab54bfae8747ee99270c7bf6b943bc58f3f1a95b19f461cee35761e86eafdd178da054680583f5ee56f3d3e25da54e6b6ac1bde14d1dd380f27c8fdea5280f43e +GCD = c70bdf01319378614152136df1f79a97d0f2d1c57ab9cc2eb5bf837d07c33aa7ccd56d2968e0a554608a6cc4123c671915f3800c0b91ff1dcbef32cd3edeb3911612b86f27c7174f1f91687f80eff8287a9e22158c2f73727d442 + +A = 937498bfc72a1c99b081a3ec5166117d0eb2d26725079ddf822cd4f6b1772774867dc786780f4fd979d94e76acc1d10a6d9dcc48a867d1b73710ad17387c23ba2d5bb345d2960557e96e8592feeaeb980cbc283f583d7b3a293f224bc6e9eb3d83dfd8151e73b17c4d0aa1e8f4602e99e0cd40c0aab341036e5cc32472a68c85e36fa691f36fb68188fdf3e1c8f6474c99d73853957566dc6aa78de628dd48849c0c42c2f5f95fe0b9697675af2b3d299e44080d0e +B = -82322c9359f39ee3a2f5c8333da0ac53aae946b7321e01242df45fdc0e1dcc6d944853360033c18f338d6fc7e666d005bff1e54513d27cb236f5f5eff33645f79cf8f0086fccdab2584110c2c684cfcfb2d492c38f9a926ee9ac4abc4e10ec787641b3b568ab6b62589b5c8efd7b064b9e29822508148d80f9c3716a3f755aa478fb2e6ae80434f39b030c596d78fc9ee8dff299e64deee3a4ad908032cb00e45f12941d2e6fd24afd20ea5b5f855dc50c6d82f646 +GCD = 7252ba814fef8c3ae82ed59e513ee1097fe6c86f9777a63a61cabf6cd6c32b1a8784ccaf3facef13b902b36030c6ba4821b3636f91e7b6f98bcedd3c8e510db1eb819f225989237eca7ae9f596b38937e884faac2fb6ea8383a87a + +A = -70366415fc855f8bb2dd8e4d137473b00eec4890a2d29871c92cacc313bfd8141f3695136502972346504bd198a2369ce4ab7339714feafe9f34ce4a2bacfbad8f3e2a90f1da39f91426bdafe98d93c64a2bd6c72b10d8e906c01eed19c91ccf68c01572e89ac7641b13a3a6453006ba35738d6edc07f178a48b83756708d803313fd54669c56a8b21c03439d7dbdebafb0aa69ab9a66222da58709e0fdf7fcdaf6b79a0399f9ce14b4bf2e1bdba9e8444265c38f30 +B = 2afc05994744d2fc2cf2e764db161a81b68a437b4f80d89b10a7b907e196b945d1daf75f7f346b3e3b9caf38b2de24059316ecb7de7a1191f47677427985bcab0b3c87e5ac7ef5809e720ab77e8c43e1e9ba8dacf4e7b1fa201f90fe75c95b9af49e1d07f1424901c294ed916c65220eb66f98a05749102ec4bd8592dce4be683c52de182d16bf213dbdcc6d0e95cee4a5e08578f50c7b14f324168cc5ff6edf0550c7ec46c4dd27df9aa805042ffd9d6a835d7ec60 +GCD = 39f8ac185898b8127149d632ceba9f6af8be9366a5b77b9c8d8ccfe2c2223270cb909a5163b2ee95fde6d58254fdb53a74c42f55d7087f2de86f8b57ff9fc6287a8563a607bd23074b878dfda0698bc9c54c41a732fcae50b7fe10 + +A = 170cc2748ef29a0f23ce419f8fc7ac4e49dfbfb381ef719aa42147afbc74e8144d3f863d283b05ca104cc9feb87f47510902fc76ae9ce3765f5e6a5e413a71e36c46e00c604add4c13bdaac334082a5dbaece946db38d91a2c30ea7914ef81a4efda7d1a6c9490f60dceab781485b9403848267589b597ad5989ade971ede7907777f45940e10bb998238cbd873bc4694003179a0bf3d5df7e96e80fd9f1452b90e7da9651259175b5c2c588965d9f1da81924d1ed75 +B = -13106192936017990e8daf776f1ac03afd40760a2ed7a89db5e3fb09b4f0ec82ab84048a9fc4f113128b65cc9807fd5236f6d7e7370ef56b130bb3062fb299a548fa033a33176c09ed719cbc37375fd794968bb8bbcc60950e94795edee12a7ae0a6a9bd6c4fffd20918273035cac233bf51a68704477fb92047cd81573e70822deb1be9761a4422283bb54a91b19f887024b26671d3576843953bd84c3d4dae143a817d416f10dd0f14e75f774d7dd9bc9fda0b4de0 +GCD = 6d64fe5e2fd4519883307e91830a321328af15443a104bd8e730a0f501cd59d126fde254a39faebb5ddd3552b91afef16ae77fd54bd1bc50030355e27baa25cc4c98561f85886aaa0e3ba37aeb268f4344aff7e0349d5f1f6c21e1 + +A = -4f4aaea41694f3f60bcd11e5d64f17892f38938d8d893370063d5c8f0c83efafe0a1ffa5f83db792b780cdf896cb93afa72ce2aaeed05fbbb267835814f3635e3810676e820dabad59695b87228ff6823305c1f8da2b8110c96be17e3e0137221e48e96bdd9c3ab43a6d4f0ad4b653d7fce173a94286bd620609c5288adde887d6529b0125e613097954d62b5f907ade4412e4097862ee608800862145299e968195045790f3b68b39ec859db96f43c5f6b819ab84b4 +B = -3fe6ff3e85cb26400b5c3eab69e5b46a713166f58260f25cbe3c722156837764362e6e5e9d1b36083dc0d562a6573acf1a2803333b9e20d63114a9a99b54b88a2c5c5a2feb54f83f12b1a8095635b33b08a92b017855211cb1c157e2cffa18ab49d1128acc7a39fd2c2f7610e13167e0b14cd97092cbdc736b52eef7588920ccd05493097b58ee4b473bd66b5e1240f986e8db618e5df6b03397f573f2065e672d8e4dbed3041c792649c95799a1ddeff3a6222b8084 +GCD = 8e786ad5bca1c06f8b0a93ff734885f5f5d7b412ff0a28272a5cac1c3b9fdd662a6e549b1fae00cc58bbbecbb4cd892fd2c44d43b84413ea8da0e9d1356111a06a92c7e28d9042d54d80965392ccd7e9bfcb2db7e1acd1be92d6994 + +A = -ca8aef521f3b3d7ae9a192d93932ea00da99d85b5a122372d9c647297d19a7dcbe13568fdfdcbff78eba33e598201d427d1bcec32927dbdbad30005c3f3ed8177164cda68040fad8d3423f6d912daeb61773b0e0d585f682ffe7e63db225e5e621175d1ca392ef5029c2651d5fe8f1a519bda584f687bbe9107947de6523a4e85a96cdbe491f9985d09a27fece2be80b8ec84c4422a51162603775741b0f18cd44bea9a753747be2133bd78efb044ba283c645c6cfef +B = -82e9e7404926b3813164f342380909b4bb7e7b98561cf27cc1dc26c1aaa9e9b5c7196b6ee0f972ac6182a3c871291a20aba75e91842f69b5a911b824508d27931402fb48124c9fa8d81067617a9c4d9127fd79db1e85b3f6f7b2f69f14145c191639467cc9536ea429c036f6308c8771a849f689ece18ae980f707e7ad672d38122e5d83e4e91ef2809a20e2ca035398d7451f81957c1db1d669c93433f98cee1cde4b8b40d9ee4aee25baa4b846de01e52f5e1a90ff +GCD = 1ba5a5000518d4fc3705994b6517798bbe36c7f3c51b9ef4be10a0ed68a2cc5e035aa3a635198bbc9fe70c5e4cfb420191e3ae7a7de5793a54bbf43fa2428285ba95ee3d5d83474e26f001db1edeb43da7d124e7593e23d964d134b + +A = -24a688f8e8bf2e06653cf3c8b384393991d6d3804a3d68b3214cb81df0bb043e364f62d448711a1768699f3095f80636ef1a41a84cfbeb3d7cbec93d9d3bdc87bde29efe4003c8a1c142696ded7ba2949c630eea60dd8225d51ce99ee2215aa349c2180c92a730bf97a47cd071c40ec0de927062942073f3369d5f9c7cc93b172a2511229db783c4c1cc06c172d5d18174aff253a2db9c6250bb74b7fd2785d47957e52c4e428b4ae25c0e88e30854cc5cf9a17540a2a +B = 33abdc189d00b2b0946a3f7a7cbf2983b5da0f71945ef55ad2e3d00e0a71609ef045a0ac7eee909cfcd688428947f7b08f80710c7c2928945ce4e353eb373d6606012bb32f4589d01e3c0546f45d05ff443368d319cb54b0279a82d1992f45bf2099c4947af1887ec495de9b34c6cdd818622be12e2915187886105f01af9df2f11e962aca9ac78745154054b263c549e7a47bdf052eccfdb228b33ab15d437128376718a220b98e5acb3b9b4ae4a4a9eae8d58db8652 +GCD = 257978a8360352d5e1723aa69977d8f0cd4f51717f0d1e510a45ea163d720ca79680b2dbd941c849f4941371e0368bfafd95b4856ba5132ea621ac46896d6bfc80f9b36584bdb79c15dc7c4b00ef1222b876ff3f64571ee076a8622 + +A = -5dd39f7bbc0a11778f94ca4e9981fd2afa92dddeab4ad592dc01a72949f6d7f5c2e871a6bbe775d0e2be0c0d11b02c09a228243e62b8f1ffea3fd822761ec5ab047ef94a0d662d2947eda22b1d5053251e34745ca66169b9570345a83373502a3c9dde7360b6d8850bb4d7a9923cb9b227c703f9db23fee96104486c29376f0d6a2b17f3c616f078aff1529c0d18eb3919b5808be87d805ba8f78f9a4115adea3d6b3d84a410fe0824cebd225731cb5f628580bcc30c5 +B = -62baabaa5c6a275cc602f2f6c3506cba4dfcb5df0446843a33a4cbb27c8f9727d1ab82206a96f1dd7bd21faded6a4d382402e237f4a598cb7027e72877c6f851725231b61a234433077069bdc15af7f6ce29a0f34ccef2b020e482c88fd9660798a28519b58434b2f184f1fe42ccdbd2b73d824cce1cbd42fb02f0e69fc6da1822ceb4de2adf2f1cf3b00e8db6f1f8c3186b92ab51e97a28de072688cc04993a2571e90ff47d9fe0bfe5795d38a4fcb84a6379f2d06fd +GCD = 535795a02fed391ba9dce6c4d2f0943cfeb85ebf08fee668e47a9624ff6560d48179cce2aa68d9b0e7b2d5fe9813f0595c30cde08ea7c7494e0020ccf4de8acc37ae65529db3a8d831aeeaf19d5fabf232b82110cf929f76ec4626d + +A = -5f0e8cd5b1c351af4bf4d699641a5e656b1b9fa91f223ab36862ffb575f3381997d51871473a4d4afecb6761559fe591c3a110086b5775b1dd70d30222eea3301c570bc0e131f691fb57da568654b76b221145b037a1f7f105f73a2ae76ccf4e20fc599e97130ced1db18812cd221fa8b49b0e85de79edf54ab64d2a95be4fcfb6d0336231cd6a147d8a0341004678552752ef3fdb69eb4b6faf38612e89491f8cab5a96eb61657f750d988969f04c5b0207cf7cd9f5d6 +B = -52764c018b2d65e7f755874029bf8bbbcc5e9264f77673fa4bfcaef8b723ffa066f698bc19d7ab721469a4365a74523cabc232dba1c46716f9b978e38dd137c25023b4b8f743a6ea895b20e0874145569066837fc30fc2ded5bcf0b80fe1bc830730dfbecd807335215ac84d03bf627733c0efb66c5bde2fdecaf2e77a669beb2ceeba07f5df07f53673b63b58355a58442709cf1fab5c5469d40dd8b11cac7ce51bb35075067e2d835c1e5cc4f78700938a8b6317aa8e +GCD = 19e45f548d3a5ed6005bde50b3ba779f5293c1b7c1caacca6fe8416bd43713853850b931633e841220779b34f17c3189259e1918fcb387c0c5aab8b9a84d678f890536d9ba8996af54236df0716f628ba7484a27efb7373b61e452f2 + +A = -135e3c4b8bae82fa117e62ac222a8d363342391f7b92b358028db2a868194841dbee81dc12c2ba38f3a6a2e8dd340262a90879fa9b2a8972f0c274365cc8e941545230b24147c17417ba122bc7b4ac1b340b088d476e026e969926a7c30e182d9c47bab846d83653e25d7b4a46c95d0cd31a95dde12396d8c47cc934ec46de4bdb460a8de4bbab4d8ab78528d66ec8a8027e6411b6de939f09d6c817fa8fb087f397b77d5b57080ad12dce0eedc7c86c5bf4058847f7bdc +B = -e6ce41ae73b5e3131b077d557b8fa91ac0ace8d1ad8bd66140744963b87a4302d2a5f180a3c2a9bbeca169a36105ba0b33975161bc16694c8cafaabb2f43e8d615559cb2387fc4d95922043b08e3b574a4800510cb0410c1b09817800fdfb0ecabab9803a65988c1718adc0da73fe38f886a20b32a903333f837da8fb6ce30eb21e256b4f6e6277b3bfedf444ec4d61b4c90544a6f59f261983ee0c6714faba622e66b63c25283fabce8a112f36a56a6babed2171851a0 +GCD = 2cdb00e7344c6e33e2d88b25c6e8c40e079ef4d250d96036363d61d3576310f5a92b1435ce55c30c71dd61d33b15473566699e35e8e3fc0ba87eb95532d337508daf826855906f65226e07846d919c98be5434dcf1299b836bd462a4 + +A = -14e1a1ce285b72a768e39e0765a8e32f4e554245649ed49679bf960426ddc3f9b119025747a520bde71fa55846e2ba2ba0aca2b4d2fa56a92c69b522140bbd7771e60aa70afd50d4da4b5d2bdfe0072f3b9d5e83d2ec57b481b8eec1795f57c90dafdccc4bcd69d7e1deb2cf2e3de2967b3f427e75920bb80c94aea7fe121a37efb17aed031dd5afc2b03c0dec3bfff2fc243e279e76fd80c4f8dcb485eea9865d544a79ca00c485be82a5ea960e602573cb50486af3e42 +B = -167df5b5e649e58cd58d2f77d682b8eadf7f46deced6ea6c94c974c00f145888d21f22157a60c0f3ad4f982b1398d42c34c4076c739da81136840d0227e0296eedae4053b223c87ed2707084fd779d4a7a7d698f1e4dccc2249597ff739d9e9f54303035a8fc955985a6e8968f80d76736797faba4405de22e68858e6ffc5c9749d0d269692e69b9a7a865443211fd9c43d832e2f0b85b2b4adc1f357ebb84bf0ddd2d0d75a064400e20e27e81762c50fbf3a4f4cac23c0 +GCD = 39c387b62b5e841cc195294fd31da851b01f2c7db1a34e30f55cad5b3f72a1837c5e7ec2472a6fcadbe9e10fbf604128f0a6a7af509d25043a9be3388d6f7fe5a125cab09e979833c5971d32cbe5ce962c1d875aadaa80000c3f1fc2 + +A = -108645f4bdc841cac8c0cb5f9b774bdaa482f8be2c4b443752b4a3bae0407bac40a9e780efa03045d44a242e030c8181ef4562ef81168b9b0e34e2f2a5e6a554d75a79276d189ba880175171ffd00119d79f6c990d8690e253b9cdf877fa91daeee92abde1a6ec6074cd8ad95abab6621bcd321af402984a54a4cf2971cd8e17849be20c5df82fd281cc35684055cfeae9c6e33f97c9591c0ed34d0ce85e899e1faa19314f03031168eb9b33660ce623940a36ccad72a621 +B = 9819cb6792f67e55b30e219c52e59e3a3b91ef9d4e276266ff8643395d67a3da8dfcd4ac371995a582c9d406e04aa4bdd641eb88505376e8d713dca9ba097dc0d045702f8fe91045c735905bd28883526f8aa3fa29cd7aadbe82281a1f680f09a07d72ef3013bdb6aa32cf7fd1b95669a3a80e36042f06f9385e2286b1cea2ab6628747f659782caf098123c4efd6ec3488550d1b33d49284fac8fe229fbdf89baf9a95572cc10db103cfe39b806280d4790aa7f253553f +GCD = 4f409a349256b7f7209d64cd1294fdeaf85f4cdf9740dfc77aad12fade6bf3025808f813ab5b8d3980c655323818c5a026e6cf401a7e69f5c4a697a9d8bab976a15af22e92e4261e760045330f735f11b16987ee9f1c7be0243f4e81 + +A = 393d46ceb9421f76c9db7ddaf0d23000b112334ddb12871eb3054f0ffa32fd4b22af6d86581bcd13d3330cd1399772b287539c80f35f557b291c3d2621ca139e0e2c61d1b49c7d22b7894c007270d5f2a3bbaf50e96e4656711ba209ecd7eeb5003b616aaabd9ca31acc32bff72585c82956237fb225f0d25fc1acb8529a86154cafcd07962939a18746cc8c3a867f404e06594f0e2533ac64a8112d7532be3869c50709bcbb6b2d441c5ab6a714df7ad699a1929d9c4587 +B = -1dcb1a07028d32049cf35691ac7df45112eb0fa8620c8a2b92cce874286a209280dfeda74fddde07f107657f935b7efc7ddd6b65be374951e56378b5848e55f8d19877efec0de3632f15a09b20af385f44d0370318c6a1da18056dd5e0288202e2e895fcc6941f05ce7c12ad5c0914380e85085dd377b663a76dfa6f6d81ebd6e0d34ae08f453b98c406c9f21f66492b98bed5d0a6081867752f3116c27284b8053f96f37e497337429672accf730a38106fde6dc997f983 +GCD = b81edd7d0dc9561b52ecccc39d71b5bfcc9952817b13e924b82d44f1896c9f3e407b1f8349cb4bd7347a9d5dec605d4634d3328e99449ab5b92ffe2511c44d2a692be4f0b097f75d47bb74b4997c7f8c6d96409b0ce1c6014f0702d5 + +A = -15444181c49b9196b94db495519ec7ca5aa14e9df79c25967a890a1c198ed7473b950585259896213aafb4debdfa6224735743afbdf7d1449f8a658b5890461227b0b87771ba5f3f0a265ffc9c9c6319b502b47b8df46f78de1b172094b2352521800e9da1f3132b3b47ae1330b349acd15cd33dea1104b8478c07136beacd3547bc71a53360e8a0f2b0a375a55f49d40aa285aeb0e8cf4dd7889afff0e7548248746ac2d4983870de13b843f3667120450cbebb6e388f56f +B = -c98ab3680d4595e701a5264e0127337097f11a8acdf9dae43067090023e763fd780cb858efbe5c6047caa0aca4575968eb3244076a73bb730e36cbfba2ddd5d2ef51c43db9837097f8d91172cb91f2cef9e84a6b23049c0ec1ee6bdf44ad10880430a712ea2550f9dfafb3196c4791799a5bfc7ecbb886935ef975a01df8d1d174daf56357ccc1b43fec4b8507373530d5298b4995a88dcf4fac3b97f922fc35f285b66a0748054670819bea3db9dc718e658b5058634480 +GCD = 15dbbb82f5aaa55b78f548385c9d7d8916615dd78be7b1164723cd7c13fcdd8345e3d0685ab8e61388d30ed69495670b7dc90e972225d248ba794098d52530472360ed82ddda7fd8eb360dad049e551b0c90fe7811ae320c7d0b64b7f + +A = -316afda744e782716e6434eef2fc0d91994acc80914d3bc594a9aeb00bc29dd36b4be12e643b1f37dfbc16f7af519ce7ab729b7dd71f71d9489e35b9379edeff34f382356d66afdb23d5fbfe7749787ad282bea8f83f5a0d8fed03321d137e0516c0b8a7de6f4fed758828938b3e808fc32b219936a10c0bcf1ff29231bbbf48f18bbf097fd73d44d421c343bf78c86142b7a24b47c7a233c67d709f85fcfede53ed44d9468320a154c4d3e4639bc008af356842a030468a8 +B = -64e249d32f29db88af8600ec23792defbe572bb66ca4734ee7c446873b72c8233ced5e4dc7fa48d5deebc044944073abf6fb14c816ed0ff6e13893ce58a5b82b642b1e44b8896e70bdd59038b87e750207b42d5968886e1c46d4c20dc0be1f8a97210f78d7d1aa46937bee7315cffa249b27c2394a9ab6dcb06770407aaf22ea66a52e51ed44aca9d5c6088ed30e154ccf79ef64d7dd025c6bb4fc3f0f96edd1ff8071789c56dc8b1794f8899778025ff2dc2fb75394e2f7 +GCD = 216c4766f53d1afa59b1cfb6753dba52da29d2ce6e57e6f393685699a355df58c148d73edb9bfc3cbc51aefce6edb5eeaa2149057a59d52a434914cc1743508899bb35ba30b3dfb998cf233925668597cb6d808625ac27a109de605bf + +A = a067d8f392a5c8e3d7c5abcb29d3c3161488ca0d5ce4ee7f820cc1bf8a8831bb452a29ec61655c5a0ace54f87ef1cde7bbabadac69a674e1313e6c199fc4d15aa3d5932d037b7df80548f2d2e0db2b4bc7e5e3e47a40e064774bf40b454295dc7ecf80b4d3fb02e355ec3d9457d35266ed20e13137709fd04edf2ff55232bfb62ca9d33ff53b42c7aed320e46ac0b0cc96173034477c6ac4662373dbc9583866c8f1a0068b62f92c20368ac39bd3542766fdc101ed1643d8 +B = 12e65bfdf3b8bb3cf43a935edafda44db6ae054f24053d080d44d366452f1648e04c1813c0b230aa1d954756228ff7e9b0a8498de305b1fed1c800424f03fe9f9da417201756db9010142640ee059d2ee963f904b58691f308cc1dbf8eefdb2353508b329e0c535bc7e05450105d004f0906c6fd1c444aeb22fa9520b265526f72010b84db29a1fa26ef7b7497a1b3182324d8dfcb7086ba221dd166befbc66519ba6aaa5fc8a01faf5884ddaea23dc7360b71991a6232ed0e +GCD = 4d0d17834c1be77caa433259a55d89849b4140bacb7274c704c272e039ced5579311bf499f7bcfcdf812a45a35d811eddb4623f7dcd3cdefbbd7d8ce4266be109dc73eb60a1c396708673fce78d22c5cf9baad087f82655920476daca + +A = -30ef6b0fd55e5bfbba9c45169f4404e07b8896f95764b9a89a6f2a2647aa58199af4d12e9d2d876519bf477ecd3402669aa321ae9a4ac3c8f71d82a74b98af162a18af0c820d78610208b27889793dbf77ef88bded6ed0c61b46214f44886826cdb5a9aeb1e121f6efc8f9b0caf22739c827fbc4b331b98a607296615084aa2177fa9d1f0d7d0ccc6ccb99c2cc7b31683bcc8ee216613b08fdf740c20755f9adfb3848e3a2f4ed855f88896409fe8c97e460a7f42b4b0a28b8 +B = 39dde6cc3d789a25800989f0792ee0e1803084f4328920330372e37e11d0f995057b3a260e410b6bef5ec8a23ab43af52cc3b529e95a2737bab99e50db60060e4cdde56e0713db678da5e3f1d9a93e3e624075a5b3e6adde0517962135d75c895db1a0766aed306853a181333ca393a1b0907b7554032fad51c42358bf781bc86abbcc47e6713baaf88689628030b64b6f7ebfcc359fd74483b3e091e1ea9bfef9bf95cd7c1d5536b29a3a413b94fca7fd7265d60f8e21772 +GCD = 80e0377ee214f93209ab886d6079e03f6c1c5341c81c640ba2ec846cad0644d3a2a70d783f56d5a64e4af899fec3ab4a18b1d48b878413a4ebc872cd9dfffd61423a2ee6cee5772a3bad154bc32ba37a3482013dc1958e6a2cc0bd01e + +A = dd0e72f5ff1b184ab3c0096f90ef037d7b80a47af8b6eb92b9148487fa774087dc320b820f2efda9efb145f67bfb26e7d4266c0d29cfc7e9ed3160b285b3d96699975a79ed2ae5af47d1e0efbd883b70a54a2a10754bbe581a881e0209efd5df3de7020812f9b49733d17d56a1f88b22911af5c8d9201ffaeb2790002594fade082008cdede850af0560c894de3138357b51bf444f865edfe12a37b156bc4ef689f3076110f0da119889d67b12d07978a89d46922d555623ba +B = 19a5303d92007276abb716d376e08550cf4cc5c3ed574d9c10899d1c87384ad14ff56c05aff3deb7423c677261875acf0c2d6d26131e4a0e98d3712d1ef8a669485676398f985dcb2d6e815530d0eefabcdbb9f40b38557d1d8769613f1183af561e931116fb643df7c9e371cecd58d37c1cb3acd60018bac57e6ad48a248b54967d9a86a0305568bc3b5d671a53ee743985dd8f49e03eed24e656ee1f29c1538ab1eaf2925a373d6bf60c74a6a60a881eeea1814092b4d196 +GCD = 36ed85a23324d6917b6d3ef09e645f795917c54ff5d9a4bb70df1bfe9efe993e2fed853a7cab8dad3487996e42badd803e523bc59a5edf6a066a63c73d7b8333e17b94637ff6d2a0ea0771c118e26e4200a27c5410d4b5ab708fa997662 + +A = -34e7020e63401aca126294e7a15bd3ee50d3a6fead10d18231f65f0ab184871a2cab9a95f3b44d11016852808400bb2d6a9302454efa11cfa28015e91824b00a1338d3faa8f32d04b9b774d77c3366db87e68b9d378ab8a7dfa43fc31fa9613fa35622964b1e58852cabce37b7eb6278aa853759216a10131b9bc1708cb176240b51342a7e63304881211401fbabc7fbcbf5fa92ee0c0564aff0385ca59ecd53b72207c25a465c1630798fc466cef584345d9a017129c8fa57b +B = -e2abdc1ab0ec8ab52e82e4fdd544b9e00f29d6c0f6142719bc9a6eb2f092ec3026751a99e9ad9989a5099355d169599cad3c8d784db19ed0cdb406db0d8628d7263fef3e7b8fd823ea831206a567705d849d31243347512d795e80c7be707c4208e18747b4ac485a7e4b8313ede011dbf8f1857e2bad20fda6688a1c11ef89a06ce4b3c49c55c7bed1deea3bceb4ed646ad5ab3378c18e19fb7d1cecf20d0d3b37827bf322e5a0a88a9645e1178265560e767edd5d5e6eb0f9 +GCD = 3a222edc8f0e632898cb45b3ba1005b2d350d529b3ae5676f80f755fda5db61b846256155c4f05357df35153e844b9a465e4fcdf63362262ad1193965da4687b2faf37c2c7407decfddb017f578a417c81bc2a50c0108c288cc9697a8d + +A = -a752426c0f0ccfac667bc37a750d1d1aba3ca8aac71f78330bb3339d1273b8a1777538e413b8522496b103da4207da94a03c245ff91ba4507e70e52d0e90bdfd99f8992b0db209bd9d30760bed5d6f4aad0b7e845600cc81f61d59e8502f2c48f5f72320ad6402c60fe41d71bec8088cf977361751f6e47a38a079bba38caf05506d080c0d097a68d1c8575ad26e2122408e03d22518365cf9b1d7b4e9f16a8c6a5fc30cd0fb65d428d3f06e9b1ce10a30a8bf58d00d0fc048a +B = -2de71a8a324bfb5dea5ad270b1e9ed80d15494c8d62e12f31a835eeac499999e81725b923c1e22981fcecde12e9d265e3defc112ff49ecc16737384e21bb7b83f0fd5f9e698c83d81da219d69134f194d686e69ebc516885e86b0bf8aa5c94cfade5f204d6dcfab611f14019e9af35a9c59305f3aa894fafc6d5abb4b7f38d37a3d208a5272e041cb4afa5c38659c7612dd29c4cf219090ec819d6bab6f0617bd4bce8e0c3787037f10fbca6e8cec78c0670d86beccdc5b52cf +GCD = 4df63a9dba84ec2eafe43410d33b8753c0a11eedfdb796ea333e12dea11bdeb41e6b60f4f24811804266efb7b369b5f874f849405cc645a796a62ad1472290f4bebccddb66de6c9dd7aa51c4da6863a477ad0f3cd6c099ad752b716711 + +A = -2c6d0fe2ef413d98b113fa992b7238a4ed463d94d5d891bfc038e56cc6a16ef630aca9871d7e281b8e7262bc8739c8c358ce52b744e9c371f640d03cad874bae5830aa818287a710b669d27f6163abaccaa89fa98f4ac8c0c11177b467d30117b7802e563bc996314d8f84ccfaf577eb89268f7a9ffded4371e7996c81b0a071f2943d37063a86b252441365699d8454ee351222dfc13b894ccf483de409e6804635d1136f8c7337af463011351fae93b3a19641399da23eafcb +B = -4ee5e128e9895c443166a3cc76fb6b46aa40c0e845cdcf85b01c4f36b3f87523d64a623f27d62cd818ee138eef95230de9022242cadbdc7251af5c4503a88b0dc4e72ea38c82652c0f459a712c66ef2dd0ee77f392bcdcb7d4a7a87775b247b51ff5db4e3c8624bb8e98bf83ef70420435310de3358f96dcd746e2d2475d39dbd7a3eb9654dd524993cee6ffa04c4f90269247b91a493e5ba736efb87a05e31a08e752d46516d4d129a84e8f32b8d3f6fdfd0c891d524a010ff1 +GCD = c87533896b5b213ed2a49505683bc75f39601c5d1d57681cdae0d42d24101226aeaa059e51bc14183958d7c6a196d5b698eb194f8c6216a69ee3387c470883ea3d3eea88664671e2623d76a887e918db7281fcd5134b3077840bc14585 + +A = -bd0fa3e41b10450a6bbb3714073106e5a38bac190885840a7927a3eedc9f4849acf28d72cf000e121b631d982ee5cbee7cd22afc559f4cd05d04d675f5e4769f7a3898395cae10f3062ad483be985803d454c9973883b68753b21069be6eb7be9047698c36d10db9147550fa41eda6c0386d7c50dd02017ccf7fe4669585dc77169fcb668ad0fe6dd3c5efb72613bb7d7b0660c08f109d746c129dbe487e8ae517d4d6e75d00beb324436eeb9c06ffec8694c3f3d2c0a7b535ea +B = 1f413b0a5b91c93accb04da98aa495d27ecf005dcc9347e685be5723bd8512b8e7f38162bcbaf2d4f7f93ceee46ec7759e428bf525789f5fb59d5bd16fe8e2789068b2a8685ea18583a27f32ce65eceaeb64d9ddcf49c940ca628f74aa4062d3131ec97d83432529b04e1bd1fc6108a6ffce161229d898e5bda1d4d661c8f45ad85e8c90ac60fc53ce5c7956c00378f9487edad5a82290c235037fc99f36f9782cfee5cd3434d886574f6cb681349eeffe1fb1837f2b9ed5523f +GCD = 11979410fae8473d1f5bdb34b44d7e11a6cf21f343562a5680000f2ad68dc2d1d9c7d2f7119ad7eebcf55d24db4078aaa97316597f351e2c82e3a0e0107d4f029726cd70245141de0bda412e8056f8352271429fa4e0ee7a8c7e99c5353 + +A = 5f8ddd4e5bc3cd78fa8eaade54c12b9a4247bcee0cea21d8e26a7793becb35a746e96d018b9344739c52c6982c5cc4d46c5b2256687e40d156b8f4791057286875a0ab3ced331d88584e56f0a3580d89023f3d1bee4f4626e635d0c114dcf1772ef007bacd2b0c8b70ea6841bffe8d43be9e53cf7437d6d995ce5bad5c6f0b3f375775273bb3226893406e71ed3a6f1372033a501e69d60d2321160b55e7149d2494effc861c86ee2f1c068a50213ff512557a83f8b8a855a6fcc +B = 31668a7b453c3df62edc5c9c5a098be6efd88d72c3ef1523d9f7d146ecff154b1085fb3ee21047ca8d8ece6854adf9ed28b96d32e0c63fa76cb833e66181d30f883f4989a6a224cc6be637c0f00163fa3bcf85ccf3c52fd133fa56c96d127724289cb1e5d029b2769d3e90cb7b5880ffce2a445adc75d4934b810c7d2bdffd8d771f77f5d515c4b33d5f2f3e12776e4951d851d379cdfc84afaede440c99940c40a0ec5278c0fc064aca85237088b2289c54d9b5a1c04114d570 +GCD = 3abc4293155c9285d194d9a6090a7bc21e6774f8a485e47b5c1bbca223d3510fc82ffc2b10cc8bb48d71cb047b8fe5ae0097aac81735e645a121560dbecb51bfc66f562a9ba3c0a6bfc8f114aa9abec278b2e375e5e4255e58315c9066c + +A = 10c145186b93534cf2a0eca4112eaed93d0306a6dcd69728bc0d2793e54276089386f082f74fbca88e371365a3408f3af48d96efdde0c1bd1b5834662e12c53d232b795274f689249a1cb84a2ae491b47a269c405fee56bf1a315178291449bc8660654131fe3a531f95ee0429c876114cfa7df7524800a127f2c92de2f60cdc7bb3ed1ca358eb14e9be6cead1515055de2b782be054eb2d5ca00ca8e08fe8ca3277ebd95f06a9d247c6f7317486427803cbee192002f882e43300 +B = -1395faef6301135b24663546b8efda0de698fa87b43bfd754c74faaaf709556d208c87d5877e9ae7825df647ff33be0d0660e52fefdc3d431b81b61fd254a3225da1b385d52038d7ae0bb307c92e2f78167e1ccb730dc9ed3d077502a3508e7e834ed5b8d0a236434354f8c1b87ce615f1e257bee383dc48bda318719d97e7afb4bf2e4bb67ae8a1cae0e671563dadca529bb95c2d1fa1f62f2befd1c92e1031dcf809e190092c868cdaa8c9c8745fe1aabedf580beeaf6791bd44 +GCD = 5feda34ef7cd1b55374506ae300f7dd568ef58f1e28c4f7e3187e12b2c09a380bb40ad2969e8095de5dd851ce6ac8b35fdaa90af30f335650fd10a14d586e10eb654bcafe7569a505419412087b5ca9058d68dd75a79e5961eb577b5ec4 + +A = 33f38e6e451ea0334b00847cda3f772ca9226e2f45db9fcf9e23c5995b453e831a3e4ae921a0e9e0543670007f41b6225961e3b53bfc1a64d07b98589e1e951e8e112565e957677f2a89b90a24338e8ff8ad9feef732733fcf29077cee51c557255e107958a7dd471b0ba5b3c09884e1135207957ce137ff070f87ceb331f33eefb5689700294d77cdc6f339df888c085d10c1c529e52cc2221f2b6496bb229d3b2484578fc77a7b71cbeaf19335ff6a289a1fdcf4cbd7ccfcd906 +B = -4f23607f4bcbdd8f210145b89a54048c7b7a37aa08ce24bc51da01efda95ee0517382c728cf495fb35039781547fe9d187216993003c62ed013870eac3f82880a13ee3b6710c665148dbfb67718841c7b390a07f7d0f314a62826b8c364166b28e369b8a7781e5ed0cf0fca432662051b1a1d9d366efb73750ae18a1adb89dbc6773719b2b0517319f0426849e88ec5c9ef5ee87a09d29e9079dde1a42aa0cf75c2b0697ec0d4e2c4c8ad7321aaaa591b0034809fda0fb69a24030 +GCD = 1685799652d73d1d62ac270e3a265583a7384c4eb5b72d4b1b71781825a0b6841e15c75fec36d0ef44191c2da0980f092de4d83f0ab8fc2339c4d4d02aacfed8ac786cc6f9c844d0efe4670f1256dbdec2bbc963820dde4cc325e684d7a6 + +A = -fea8d8db29fe24d7cfbd1e4391a77b62f4b6bf9b315068986b187b8031350a89e81fde4d0de1c5dbfabe0f6d83224736e3b3a8c3de3571f4d7178ad8a78e00589b48d7494b77f83a01d99d4d4b00c5521f2781a9f1705cf208db588cf262139bdae33934b43cbc8cfe3225f37e51f9293626c03323457b2339cc1bb261e68916d12413320cbf9435e2836c507c3c7d3bdf21ec7a7565657c6e85b241048adf843d6cab529312bb89d5b03ddd96c9d6f1974b6dc4516dab8e910640 +B = -15d11f25275bd956d3993bb1404f6fe787d4761a3977e2cde42629904646cd6c96306afd54e4e9e7e666c1fc05636c835598a4e0e3c636a1fe2875761853b9234e290ca5096b48158e311e9a1591e594c440c340e6bfb6dfac712cb90cf113cf36234363515698118fce00a9804d641426e3837c9ba288d086960f9ea908761b9dd1df175775c3744c6d7b72fe8eeabf8e75dbe5fb413e1ccac74fbac29693893fada4f14beeae59536e4509d24449614ea9c46c0a4b4383b464c80 +GCD = 1be167db4e8a64dcae6e806a29d7ec96a4942b67b329f10cbdd88363c02e94e2a2bbe6951fa272719a2dbbc515e8fb59bb01a2da887588e12e4b69e2927e292e809faed6df8bacf07516a37a843a1f71540c43da5f022bcf774990595c40 + +A = -3b7162faacd65ace7eb8094d0522f8feaa3d920c5cccc2f60e92ae1b4a456ec97577ef7d4384c9dbc6e7146bb22b478b1ea6d1479f51efc646f22702a6c01d73d321c7ce093735c389ef2d2660200a527452abfff7e91c8dc271d3d85bd355331178c8ff01e76416c23b26c5ecc81e1332656c92025e78ce53852e3a9c050bc15f57e5618401619ea887099fabe156529c79e5618490ab70233db1e07c62006a48dcb8c907a3c122e279e2fb5a65ebc54d8d44633a438a6203cf0e2 +B = 41a0bfc19f2b8f7de9dff565fd86ec129c3ab27ad884ceea112fc5ca95bae42bb85406611b7ad289deef1ccdc5248f9d89755620b2e58b49a3fe3e9d9544f260e36d0b644dfdd48e4986934d75b131b6998c967390fd5d56b2dd06e1c54d0dcebb0ae3c3cc908e6d75647144679183cc330ce5f9001262f3093cd5b6ee31e6e902eecba72ab79ca8342945424b8fb9ab61fbf615c93f745521988a07b7fa0142f07c150513fff4b5ea673863a861747444df543e10a336238b3a3a6 +GCD = 2083cfed43d42cf163ade1b27b77cf828d0d0bbeaf5f1a024513e5dc6fe533571497cf1a3702f816035830f9f0bf71e83598fb864847fdbcfc12ce9515b2a1ae5606c576723bd251b6d84c8666c01287b336d2c25b9231778e36be0837a5a + +A = -3882009372e2a219aadea3975ae6bc5030bf0b7fd08f688cb33cb90c880b08ba9a620a296dce0ad2a7a1995c765eb1136ac53f76e892e0b999d94c4f3633f7c554ef23b8a8f3fb21cef368fe16fcfd2a0147fe9f0b94db71c8846d15cc04009ff83d156d368044f7122c051d1c54f7290acdf26ec5c571f77dcb268b4a40cca8e7bdd171d443e29ca48e04a2224155d5a5652606040e4fa5c928513dd91882372a017647430c259ad9114b0287e08517ec70848fbe77a5c9ccf1ebf +B = 888de61cf1211367b21ea81b129dff1e05e4e65e78348f60639e6daaa6cd36588140eeec8c2890dacb2625fa24e86e5bad9669d17de48a8661234279844a62862c27e2193f18c8bb3f2cde5dc926399ae762e7952e3439aac4ba9e0eca050e7be0701d9248a934465dd047575419f4b681e2e845c6717cb93a0e45ba785cde93bf20074c0a3ffd2a24c54dc81e4ec75e48215e35bc6edb13f7b03a13d95e10d6a9a12e5f9f2399f696404277b34ad5a7c90fef1ec0eccbf4ab72f3 +GCD = 53c2dbef83aea180e153a69bfb75c6d4cee0349ce7b5c305ad191997141d5d87cd1467c103b244ca8f4abd22f76aca8b6f1bf2fb9b3789625e356f5df89c2a8dca4774ba3ac46a28c5dfd48c5569e8818f073d2345a7ede918051017bafd + +A = -45cff50b64f590c8cdbbcf93e1efca53100192c876ed43725f7b22b8abeac5d2905bba71bf9bd8da7e989f9acf12a9bbf6b3eebc3f7a086f4f38bbf545ec08cc86e7dd80325b7ae1186741df777d7fea013c9556e2ec971d69ad3d02483f2987b0cefc515acaffc5b7c5b38299b6012b4052ea58e57bbd8a609942c0e2fde8b223048aca76624f3b5afdc972acf65fdcd21c43ea82e6598cc99e9923ddc2be3584918d8404578641efa9adc39938fcbc861e480f454b7120cfdd5c5a +B = -a73296866df9b22ffde1d971a081b56d1dfb5396cb16de99c528d946390e24c64c36eee5fa0eda797070ff16596109835711557d91bcd56ee7bb58e4bf5113d22c40d127d8dfc8f621d0e07a849ab7c90e3231f6d550afbbfc0c45de7afff83b74428feac4dce9fc492fb10ab12dc66396d6d217449b12398d66aef94b22152da548998ba783a241f2c8f072017fafbcd764f1e8328e5cf5f776cb0a66b4adabd7387f3817f1ff7a9f464e6f247ecdaa678db9d18a1b0bf3b4b2e2d +GCD = 912fa0f10b1c113b65dc70a92f0cfc0d11a32627aba2b33763c2e184db5e2e8e35af05f03ad3c300279ca798e404dd29fd141dc8405b567157b4133c1d7ed6f00ea5ff3db568fbcd6d4d0bc7e6ce563e3c23eeda145f80b922d85278c705 + +A = -13cf497921fad45a1b9ba4f7c26c54215b0a0571d30bb10fe4bdb70a83f406b8918beabb58bf10af95eff1ef650156aa480635893255081d0e7a8142588fcdc3150f6099286b2a2caa59cc3001e80ee343c04a165dd411b502851da7dc688bd1177d1461bd90bd08e5d08727d222ba02bedc5101a8972600819a7a97afa8de2e14976bf1aa2f0d5b3a6142ce07223049bedc33344898fbd28ee57f25324a980d0373e3704a7efbba99aab81ffade447fc6d74295675f4aaa3d10d113c +B = 8ac932d7bd1e88ed5606c7f16ec9502d5ed891053fdab61ca1281617227a3a59d090b8726c19bd8e359980fed9d499a097d64fb56674a485d5f1097fa9eab486e7b1677599f7ac32d545ac4cfe8ee077263a5f97a1185514e22a5c6c6d909eabf8ae1e6fef51dd95f63d5dae734418862327415b3bc84bb0bb50cdcfdd986a2f669c0aa77008ea86d3c8baa90ba38d4c6ac59b678c24e58f8d75e0352090eb50cb6e7af09305c14b76d6be11ecfc4c197bba65c6ea8643e84b791ca5 +GCD = 1777e197cf67b614481961017f7ac81608170c0afd3198cdc6da43de4eb681f03b3e88c91a10119d3618becc58f7a939c0ec9980bc908e584a66276daa0754bd2f40ac33e36b66521502088a2eeea0c80680cbda285e9995bf60c92a6fea7 + +A = 383e87fca5ae1b66ad21321a56a70b195bf9921b26d98747ab34a3c6058947749b927566d5e50a70696f9a0ee336b9bfc23799889c2493abd5179867cb7e47d0f898bce268390ebbf60695be60451f48723682194cca95461852358271c7a3b27767e214a563fdba3b26d83c2e3805027ffdaa53eec7c8d8cdffd94660f9d0adf3cfd2e43bee893ce330cc0bfaae486e066b5e67eb2204caaf8820d27944f10e15b025b93d390c3adaeea991c5b530cc7864adfbc969410fa23d48dbe +B = c9c36c512c12d2d95bea2fefc1f9b6280280bd0e93c093366ddc2161f1d119718c8b8a04b26836deb16e88b7914e4561af2e9677f883118a0ec2da299a8b91634950a0148f1d724d9e51bc4780b288f3cae8eac2e2a4643e0274a8267f2e099a29801041a4154b7fc1984b2429399ced6b56c87fb9612c7e35c8d8c9c47cd9ec5bb006cf1fbf09fdc1d14ced9527e9342c48986595dd4787983b31657a1403132cef1e1879b2ab288036a0dbdd4dc410b1555c19aa1901763a837136 +GCD = 39e8fe73dd597e986fdc5c6ff223ad7182ae3ed249ea4ca732627f5c5caeb58a915147e681b4a0d263e711a2428170ed8084ffdaf5fef57d514bb0506d2b1da4810d5b933e7eff0f95996deda25e759c207af1b092860eb9b2f7c601acb52 + +A = 153e9781b309ac5bb022c348889c45e07f70ceffbcaa33a954b163e89290805f06254d96ae7bb85f7f11b046ed6877c275052ef09cd64b86de08f76a8906df1987fe71105335657d61541de92ea4ffd495e2a2b4deb50c895425cdbca5037c22d28b128bc6c3137c49f78f540dfb5e9a7b4a657440ff1d7947fe53813c8435a49491313d7e0e919db38530370ec3208e21bc9894c3fd4c829d1c43bfd0a03c0b380225f86138d65fd098a85bdd53e9084e19b6eff67643352a8a9fd0c +B = -7542a60ffa12ed2330eba8974c8e63dbaa1f4ea7545cca203fe2ee3e96e1b9c62762e7247e3c8158206711bd6112b80f1375d3eab46e26a92a485e2feab46db40e99b4e906980fec76fca7b79b6766dc1d7270ac0193346c45cd4458b9abf93aabffd0b19469dcbf6ee88534db3b5c43375aaa39eb188707e6c4f026d85a2b92b8473b381584bca3da51cb30e03ee965f8223b65dcc0aa0ea810356627305969c2d242a13b46360414aacff6ec80b27422632a71c0dbda4981bca1faa +GCD = 37a4b8d4ef042b17abb5737566f9b4557c7e6a0154c3b992946b1d25d79ffeac8a1bc0473617314b39b3b667b64ce3edb90aa12d0767ffaf26ff66385bb400979baa5c3ee284b05c0bc7e36ff5d1e28fe3b05bfa6fd8f92229dcd92e3b6526 + +A = a3bca39bc2d4394ad80edf2610b39577c23c58842c14065eb3a9400f2ad6745cd65ca5dba479e40af7301826c2945bd2e52f9733dc0ca4fb578d0552f5ea89592ca8a730a4e46f2008416a03f78ee1c08b7c5043774c84b5f95b7e77cd06aca2144459e06dfc701b750048d992712dca63bab10ce6c29720a306e8e172da5bff450dd6e9d6ef808e7b7580e1e35dba7970a4dbdb100f89fef04b9396f17c59256a9e8d1021f7ac924fb44537618f13e099ed08f701ef422f0bda03a46 +B = -1176edb6cbb3a409ff23db30990edf979444cdd712bca6d43ae41e56199797d28278e93f880d4132bba0968651d1278100a3b80400f3083aaa98392d4430f1af29012f345b218ca3d5cceb51802bc3a61ab51881c451711040c03d9e1e362e274af9f288cb00985e3da678054ff3dbb21c0a7ca1b6f0696f46de45cb4e1329c6d496bcf35aa23a69f9ac34fa2502c89eced548611bb9af0dfde3b6f088c7bdf4f1960f574f570e8b8ce06921108fc93aa46f405bd06ba2e65af22c03dd +GCD = cade030b377485b47d602166afbe94f938761fd442aea501ad6e8a2897fdca68586f1ed23815db3b59873790c5c2e3ef1ef65c1e28e94c17e64e9559b3a782ddcfda10f49a990a04baf876e670d38a404724b05d04e2bb29f79e9b184cd79 + +A = 171f11142e8d0424cd051b20072366a87bf5f3e851eaf3445781667c161e56d064228ea843c81268328cfb30b4d6a0d5bf92fcc501b3e0accc3ec22aad82300379ccfc5a20710337b966a7a47f4567651b1fd9613e3289abd72338b28cce3de9d17c7e15ba4b83261c4df893c3b2eeb3458a9f1ce1662a3e1045db6a76caeddc24095a072b6fb77469654dadd7027e2fba3cf61432ce069a41d44526f8744e0645b121bdeb49c67b1eb0a4b3f8b65727118411b534e923a825a00712ab0 +B = -10f8e0a9173613fee5922fe313fdbb186c793f0720b3685325f5d9e9d3eff55e85a9ddcd7cf18d4c50783835690213d51f7db6dda3c5256082a54eb0e942629974bc284692f02c16765bf24fcb8b10d750d3d8c7213980794606392f5d2cdeb2e47a0ca3e368c5a6c0dd51b5089589acd04a4093dc7c1ddc9492b0de2dd5ed027f9f8525c87f02a60a0d8ede88fc54fb0e47943619c5283d943356d04fb18ae8bc81dabeead0daf920ea5067ebe01ec314bff84cf75724b7b9560013fa6 +GCD = 1bbb7c874fcfdb04344f837bacfeda6846b3af248ccbee49f138229ced34943abe509e1abca5b83028bfdbeb6c62c25c4634f8e93a5e85463f1502855efb1acb3529520fd1d9129a57595fb56180db4a7b3f4f89c5dbed8cc3e5a0b1bc818a + +A = -52080b23d46b6aea8fd13266fa88e3520c2922dbfa5d0bf41a171a771fc706d0ec6a6b10d3bf324f0c9d14e8c052d890474de79afa56ae4493bffbd6b6b63ffe3b6c429a2390ab3086eb6165210b7d377fdc55538fbd228dcd4311e0c793b9913fed8f7c8325c041e48e8916808368ad29d1ade10814856a7098b7e0493021b5fe062b33767b2f70e2a41f15b314de3b48c6ea0f5e05f185a770e048e47ed820731573bfae9e6f40a39276194342284fbd0fda9e7fb80bb5deff89bbae8 +B = -56478e1bf5bc2d7a535e89911d3f3627d19d9eec6b24d1290628b205fdb254588ccf055f60966de1d44afdb604b09b9eb48e885a4523f78ae07f742a0e54ccb776cffe091985d9438d8dfe7b039c52a52bb6f8bacf9af67717c6b29f0d9ea74304563154abbf47282de78a821024b0ce1e3f1f51ea78d1da12b2303c320e9267b497c04beb1a5cc8007fdbc43cbc98fd7059a634c36e3e4fc4db9e25e22b95f228d3fa94381a166fd57be1f66b15989bcddc83fffa6aa5aedb07d7c6dc6 +GCD = 3e0c0b78a0745f7ce354771882227e6b99bac48c427bd6c5fc1c2b0529e9d39485a94d225141950475b32bbebed8e331864a63cdfb4a6aedfaf07b39eba9d9c4e8fb1c621c734afab055ef27f0d09f04cfd68d86b895730f634b6a936bba42 + +A = 6358c13a8109a6521baa86f1edf7f0220328cd4aa5ebf2c1f67e19e0fda95c471970f29af9bf6b947179bca14087ee21fd74fedd5ab669f9f6468fb5c7f9f9353ab5f3dad7ce3fdc4fee39dd6ebe5ee409c5846230a0998c9796f78eed6597679c39d2e6107204b8e2c01d403951f8c2728ebba705d0a97f6f0600bbb1b0d9349e111e388727efd7e88c65dc72aa6e77735754426e595adbf0230e343a8bcb52d90880c44b47e8ebaa37eb364b07cc3a407a9239d105a316f236e69ebaa +B = 1375dd747402cf3fedec94bf5e5a89edeeb2caa73494dadaf28ea66a337134b4727efb89c18ece039c5e7a3ffee63733903f86dd7906858e747a9cac9d50483132e4f879e295bc17053a0823dade577df8979bb25abf142362b7ce7f0e0ece154dbd82c702b801a6ddafe3a7acea146ef0be931fec3141e154941c50269519ecdd9de50d72da27ab18becb10af5de2f448e38597b15b3c7a54eb79e7440e43b3dbf8d5f8eca470713b7415fe83f3b54840a3f644dff80a5ddb38e220d2d9 +GCD = 60906f336c3627c181f538917cfe666e74c54ba93dd8d013b178a9d1b31afdf9148a47589872c1a3e68a27ea48490fa438f1ec918590fceb665e8eb6446c508f390f07bc993cee9df4ecd6c4791b2909cab513130f278f691776bb6a2e11e1 + +A = -15a7330abc9c378a42a04c4b798492ce327cdab32fdda4da62eefeb68fc271c9a099f26dc308058fee835605dcd763823d9f947042d6f441a5bf9010d4d9e6b26228819f053f84a8a767e9780f4761c693e93808573e556d7d034255db9d02882115f79ef8d4514143738e5b209099d80682815f136b04206a69c5ad283fc751899db529de2cff3ffd0c12a61ec7c15e6945526f25a8c5114e13e65bb801b4e7541566c48d8321f172d764db5f92367b9eda50844688d882a82fb3c0c3c0 +B = -ce07f69af6ad7179cc052051c99ee5e6149245d6d83797c466ae7df9223765a25bbeba50cf7973fdef40b16f897e06305cc2a8b8d490ed56ad88edc8751038aef620238c97b6b1f8c4e6881109ec24ca2a2001147e489df685ec24c3551a20fc1b8cf0b2e780e10e1a172220839a52907c6b8ccbf4e8928dd67b3e2d012d3a66b2f830925e08669552093c6aff84f9a15fa500696f0051c24615d812d98f952acfa2d473edbdbe41f265da1c5a8253f94fb394d71ac1a70f2b53ebf491e +GCD = b93ab0924e66785205e35349bf98be32a23346baeafad2b343a1a92d4748bdfc1ad4ed6b48825f070bd85b54e55028551125d3374ab572bbae5dae0d869ecf1094619003d52505edc54997ae517e1e0e3ab685f22144487d6d06f70d2a6b96 + +A = -10ddcd0194f78d9e9f305d69196f1eebd49935bc658f8e5612519386949324e4a653288339510ed3fcd0900a06efd20d0498822eb63f170d82e2f1d05b33c91428d225ba3b41be5d1f5101619f83330dab2635545d91bc349d23585369ac160ba8ab9f7d2950f0a681c3604fa7dc3026597b702c71c46a5243395e43892370bfc8c4f5d395493dbdeaa3495fe5fe3d4cebdf98914448947ef738fa041fc42b22c2e243d2d71d428f366b01f33aa95c873f1b1cfcc505b679343e8d53e5ed4 +B = 2de68ae2c1bd54ec7582f626ccf34ddbafa1230946cecb2a31ca2f11fbc40c4a1e5da8d125a820be41f9d7a39e7ff7c4bf4cf39d1a1bf4316b1a265fcca2aafccc672cd8e284294993cc1f651ea9cbfbae24c15bf2bbff1cc2f8222e496daf770a859a8766ea5d67bcf1a14a8612aa47f9b0081fcb28bd8885f78ca45cf092d0815eb2d9f7969f65074f6c7abf7cb4f0235768cb74898d9321c403ebe010bd23befd6fa1dbfa65b7fab3af9daf1eb9138c1032b6d9f6987cdb44c37dd1f2 +GCD = d71858582a93f899c5d648a159f2a96d2aeafcfc5521a999794fb41d9f6555972df70bac71dfc45a1548f8f6b70f56417c21dac390efb1351ed54da6bb50da2fde5438bc9d8bb9ab0f1ce8a83a81498300f091c7a4ebfb5bd668fd170010c82 + +A = 752f49dee1380f2018bbc5cd3f747ecbfef03d5987ba64a830a7453186f69d7196814efaf9a6a1ce85d4866588f2bfae03f6e2ab0d4e22d06cbf3d90d69898f10884e7503e821487e3a80ce76b9ade991db2c25eeecb5fa75d198fb0eeae483781f0ac7e9b51c1a8d8a48cd82fb953b180c263e18d9bc687371bcda75a17065a02e11e734e86b1ff45d0046c70252726e618fc30ba2dcc0fa89bbc984d4ec812581f2d59121d124f74ba96b87754e8911bbd83c9532f5a151186b4986b90a +B = -c96ed7194229535675ad89f0c34cf58c106f992dfdcf1e3733bf16f3ac0597a6d336dd09acc941e15f284018fe304b573f92139abc33634b677dba353b37e195bd7d7d3fb25debd96d0dbe2c5ce065140ca20e620a11af163f07d043b1415231d33381010f44280235eb0a47869861757724e6d583734f1c114838d3e9a4edc91ea15148b4e2fd460fd1f145cb4785129eb4e9ab7c13bb8b64814da8c8f82cf815c3676dbe9e378765e3df90d4715d7373c16ab98c749eb702e0e538dedb +GCD = 3c0f1a13934b1dd36b04e0840dd0fbbe485de70d5e763c9fdcb723c6f175c849b0b34f9e4b328f3600e798e14329e5cc2414344c3d0fb4cfa737b5f2db97b54c718157abfcf6d1eb144d77ed6dbc3a6c9eb827ac3f654112f63819fd8170fed + +A = -4f22885e92a59c6be618f2e23dd93fbfbda5756837d89b72ae36a99bf1f0903e5912aab5d3dae911a000b90a7f93d6ca0886a04d92f635fe632e20bcfd94879ec7bcf8d105f1ff69b1f0f8745bf5e6cc4be153d938cae44f204e8d95d2b91919e6b8a9e506e4731789cb7c157243084f210cd0664f88a2ea79fcebaa3409a4947dba2742148883f8627c4da184908b793a8c0eacfd5169f3af221df7c2abba84941f7a80297af5e0b7d6b7228deb7776a577f930737a0b8412fb29f8ee2f8 +B = 6ace5ba1d15e78c95ab6a09249103a06cb866b51c7cde2feeac8639ef52d3a2772f168e5d5ab4f6fa00ffee6ab67d5d05635e674c8e1904d9effcbefaad50dfec50f5429de83b75d7080cce4f19be6cbf0f769e4a570cf896405804fffdea35ab35335a67816bab449b19b0998198bf2599fd5405db4705f83858c07720324af3d2625cb479f5cc949aa2f323e7706be2feccc1cf146b824beebab309d969dfd4cb159c7d0fa00881cb9113dd97513b5261c2ed3fde16ac5df19240330369 +GCD = 53cecb07df45e50cd74e12eb97f74d1c63e5e2e3d285cf4c1214b6b097812a3e3fca40e7a4b6a72aceb7a8cc68edfda6718db1b984fbef2658067b5afecc7cbebfe35c829d193d75ffce416233949f610ae92c78e06d9ea2263c7632f97b359 + +A = -3e4362fc07e4fa12017301c9a4e3af1a0bd20a0f2de52881fb408e09ebbb4e8ad3d922851ccc1ae538e1c0c5a9e1322d3bf6d68da1c876a81d8639e2b60075d818d4f333d5f5d6026ce812e0df7cc4ce8e0ced7d28a98c553e871ff6b6da9fa702e99aaa1b53b126d777d8691045d6121e4cab7f5bd48737e927c7121521705cb92c46b1d26de708269064edf6ec205255601345a2bdd716cab2f04402355650184da4bc03ab3a93caff40943862b3d25d3fa6efb9ece6d366c63b48ef92e6 +B = -3d7d480b261903541fe6e922a4c6f52fdf67772ee0805b3ffb0485f4fcc55395d7f49c0ccdc910daeadc79984f8cf17ed5db9470ab61ab9681ff14ed7ade9052c72dec807e62bb26e791691712ebcab24843df7f64b22f8d4ca8cef028c32086778e570129d5c7fdd9f8b8e47d9830f7b268396dd9ea45c7402757a7597634cd25bb1582f269cf9e04f2f07dacab0f42c6ac3e35bfd4ba7c552c9d9f47fe0d71fefece6a6ac916e398a492d6058d3f69d93b4a1cdebea36d1bf6ee72ab33c8 +GCD = 19db5a143b0b59f4a915feccce1794878df40aab0dbdf6c9fecb620528200d59bd980f1e55e232c3abdde16631e5932e2adf3623af35ed42b4f7143c24cf5155198f61f57598254326eec0f0176d9deabf751d8ce501d41af24de2c58f8e6562 + +A = -1b6415af858a1d5723020b830eec479ceb72eb6b4005f6b1f1649999366a8b0ffe90cd8c3b6850c8494dbbf978a67313aad8696e2399d8e71aa665d68564ad1ae5c8315a648b1cd70acd316b46c08c63a39f71c23a2811833cf6460eade5e9d8bf154004acbb14bb19cd287c2a133e8fc229e84dea7026fe327df4f9c1156f605b03cd581b5305675f5fe406a8a5c2659a4120aeac6a7f64a26d553a59de17941f1db052e136ce385368d5a03c6f583a9ccdd84c830d6b06a665b0e6df255ec +B = -1229e2ad72228e981ca63fe686a4f296df232787f3053eedc5bd63a974aabbcea28fe76cbba13017d237a1066124d7f983c39921a7f5e388de21c61254ed9ea9bcbbdf497c62edd714305fdedf924828595335ea40394336ba7c5f530239d4c81674a03b7ca369a22b94548a5f45930fbffa471c5003cfeeeeba57a1ea3498f07da5381fdbd0ecaa3f210ce1f2aef7d657545e714f40445e7e311c291a5ef5d8b97f53a4508cc45e7b1f30064078c26a0115a06b0f879b55b767c000ebfa728 +GCD = 1b8d753b4e1ae6629d08996872ee4533b72fa44620162dfcd69d2f90ed26b14fb95db3ed72f0528ceffa28dd4213deea3aebaf2a4ff494159b9e62007cd78503d638e040ed62f9f785514b873668d43f002ee14d57ee4e5397f0cd34d04e7894 + +A = -116e457e99491a7ba2f413a366ec885a641c0f694a88caa83a6d2b2ae1c428e2e2f1702d5693ead0b274fff2bc82daca107eabcb801375ba7298094c1e24f58fcb8512d901284b901eede1a11ed28c9a66ab38e850c3bca185dc332af4ee78dafceb4d91a15bccf52d187395dfe5e98c30bcbdede97a4cdda0fa4454c2a9c14a283fe566d2b99a36db8839f9fa07dfa85af432a897bf2a7866567a44c5d4d393c5359247f11b1c228478d790a99d50bfa8de61ab3d41e09cdf57427bcb62a24 +B = 662c90fc7d355e284a889b957fc53fce481b262a6bf57a056fbd22379c7f12d9f033c6f062ca15a56ac1c923038dbf1c50b10739cef85f4df2f8d4429fa1486951d8be614d5cf6f525931c518926d12f96eabbf45774a93127c7a918c869f0a03285df1d378fd0b107c701f0726efe0b3613ecc435459128867ec72237d0da2c00fd941da335ffa143560dd2f6862d9c19488fe05a71c7902c1e22a512d1881f37603a9796fba1dc1522cb5dab52c3713e293a23969debf33732862a87e6995 +GCD = 115bb698c9d06096fd6b226f31b28ef71f3653888f3107d418f35c1fce565e4f81bd4a3f1ec25711096f685c24eab8f6ad31aa394e529b24b3bbd14f125d0c30904aa21c783127314f9921a2deab725860e8408a9afd7e2626280be134edaaf2f + +A = 29a3589618ee0b102c2ce5e1d23908b3fdee7b6c767a6bf9584861db17d748e364d98b731c5da72fbb05b2d8e91ba143a23ddbbb3ff305d5a1d92a1993387f847e308543352d9740ff259405f386dd3dbcc7f8cbd0b1f568becb4548acff28a0760e68af31e7c532d8b30e985b738edd351acca267d8fabe97bdb0be633ff541de8c3973c107a41c2f0a89d85158e9cb999758107568682ca4c5fb601b826afe12ac4b7538d9c728552abe517a3859f9213608305dd861365fc44fbfed3b99e +B = -1508f73927985af5d351c23ff0a8e3ac402c641b111f01d17c36c0938aabfa6d5edace3c83de6e6ce491aca87dd2af561b2672602b9911ea15f424ba1e2d50e37491c5bc52fd02ff50cf6bdedd2649c66d92dafea318f7ae7b3724a3224ec56b6e585440a0a446ddd34871da1bd3affe736e862dffc324ba9288177c3a4504b8bb2e21925abb772c0d58587fb72471a13de67470deb576a91bca1dd253ea4d7f8220902bbfa8aa2847db00d2c78ac60d7951693257553b8d4087a91a654227b4 +GCD = 699a87037694c8e5c46eb62d692add1b20f7b62eb4a73a3269d800030e0106a4365aa642af842cf10e01ad599999a8ce2d4cbd3117e5666e60acb9d20223272b6ea548cb1077d4a8a92b0a9b418e0c790aaa3b71f91f2b2a1769465e8256f6a6 + +A = -3755bf34cd5fbfd07147db9be999b5e85f010ca9ac457e9aa5a8dd248aeacf2209a368aed237150d62cc22cda4aa1552f98604f7924be80373807bc349a87d7cdda2b4921e9d016db3b9691b6017d3bcd3e30278c0aa274a5dc0a25b81f3c31b62d1effc2bf4dec4cc8ccfa9444172125f5921e42528abfb0d752a098b68555d68c669fe71ebf65c30623a4cc6ebf15ef9c2bb89f33b6869c048c5651b5b40ae10f7b113dc650b430327f32552e6d4c594b0a00daac99f56fe2e87995619fac8 +B = -605774f39ddf7883e6a5bd13cd3782f4b60247b2f5df09e77b7eca5b7d8c98bfb1be397ccf7dab73d8d4e432b367fc80a55321bab19755b247b245eaa9c024b2870296d7bdd32eab5b0daf5164600a4c7e337e334836c10b54053e787088d1267d5b83644f8ffd29e8b09496b7b6a4c9174ffcc7e477fec613c13ee365cb262e1e3e7a991eab31a2bac7ed48e9ce1e361f310667883a9a8c803ac5f8cb572c6c8e93e98c75e8aaf929f57b902e48ca56821cdc6a5e1c1a4ebdb2df7074a5220e +GCD = e1c50c4699a8247d6ec400ad7a8b207b52ae8766e3555e549e248e10b18f06cbef14b0ad4af33ab311e4f2226c2bbe25b9e6503745b60c5e472dccc7d5151145c1fd9b86607cd6f166bd7f08f0c51f8e1f39dc740810bccb6edb55bb0b647c86 + +A = -13031a3a39b4556011b08769bb552c083b219b8c03c988cb851fdf26a5844c2ce0526e34f27605d06d2afbcb4c26554dd2a8e1af51a8aa30c972f3f63323342efb342ef8ae5ffb7ab21df7d39fb01d911c73556235e7ce1c7a2e0072455330b03631ed077e0c037f30d133152972d210bf458073bd98e091f5e2bb049485e44f23443c299a02ab4deb2faf70a0daf42d4387f40f22565409a3a885a7465e694340336063f5618af9789afa828971bacdbaed05bbc95ec1f09c169e13147f46800 +B = c50d9f77cb2cfc8f8b832888d34e103978fed3f8db588b201748f9c3a3bcd8030336cf99e48cb31d0cf782a4bb54a13fe74b2be8d11fab69df21743faa6e58b6c4d6fe9d8b21ca8d8dfff9d709e6a1385aeb8059aa7798d7b05e54b2bb531a437aa2c691919df9824c9e264ed39511fb1a8497f71ff7322226a17c87c3d00dc23346734203b94d84caa2cd458b6568545cea6ce6ce629f9f5941f16ceff4a0c4168e1ac182e849417912ec07ae14d88c64c7c63c396548fa7da0ae115e470780 +GCD = 18cd3d0767e7995061a510d667a5a2681ab92d8ea29a6b6ddce87ae4401a3c02b535d410d8b33dc66e97cda209605b3bc10dcc3b5cd2aa5c58d4266faf25bd9592e7ef85541dfa49a2ff20bd2596c729135d1471099ef4d75baea1ce10e05aa80 + +A = 2b5e7d009b59ffe20f0d376c51c3bad9929925b029ddc2e9cccc213f1e5143a2992ffeacdef5cc6d337afec29402c8096738d62fd8c46a0991225fc1015918f4a581f4336e6998a8add17123d8d69314c0874c744bb091ee2f1fba68b5e7bfda198dc9050df972bba863659d0ed344164ccaea4d7dddbaf37eeb7c3f310463b1f3350c9dc6924bd52f168b59c08b144da1cf2e5ae00f55967cacbaf976c1eac2a35dc26f8b81cd487aaf7075e1ee635f78e855d17a142f8930fe26911dcf34044 +B = -457e693ec38b2429f1a17a0805f129436a18f69e31615e50f9056320f8ca715b58a2f44dc7336951d070b12c4fafd2f611ab2ce52a0e1c55a46db90b626099047426de73aa9abb3951f5c31977f2cebcd14b9263f7dd2cdd7f121bf85ab7fcb6945c979c2af06acf8ff9a52b6d4f8c18008ebb59da98ad6c9de472c42adf3ff6f526c501b87efd69f48927284f9ad219080f923fc221a4f45ccb4f4d12bfc6b06ee32009baa6760dba8088383090219a0eb64349209274bbef180369b5ecdcd0 +GCD = d8856ee87419d6d67c402017f5b22635ac68da342cd726702afef116c964f71acf654ff757e2f41a26c0fe1a6192fe45b217c9245f4b64add4276d0e11a03ffb4a303dedaa8a3280abac053ed4ba4c80167904ce45bffe4d635e61269c0dec9e4 + +A = -11faf74e5de0661b17b47a5048195ca4c7bc6082cb3e0e63fb1cb1ed7e31ae827676c7fa0866b69481b7872daf2c2cb00a6ccb9cfc224a86a14746d5a67d69a8ea92b9927b3e032d1110979b4741289f4ff276e45e94b0e198ba56098605af5a1aa1bb3f9659ff43a8229e7bbe5e0695499b11b51890f552894185ffe211a45d5c34389ce2d5783cdc3e483223d61ac2b062fdae09c1b6036b10e77940a4b06bfad9e35820d0bc51a6063ec6e0e3d0c1f544f4276ef96711dc7ef8b22429df9b88 +B = 102ea6ddda85e06591610d8165cdaa7cbd61811743d19b73b5df51ec5dcadcc045611241a1b987e2542f2a0400939ee1e26d0570894a37eca0631d837c19500851409c6cf69796a5dbfea92d4a213646a20e119662cf84ddd366b6fb245468f3d98b2105f6f682ecfefedd6ed53b99bafba61f38f487f97b31eb2564a1d71ed7116265b14de4efc1b027b0bd5df1ebb3175d5cf92f1eb0920bdfcd10781047853960061cede6d49d1b462f2b8da0bef4c1d6052b39107ce2888eb1dba734391760 +GCD = 37a9879e5f49a9fd939cada534434a6d19d1eccf974015e0304daf6c66c05f223bd7f9526d8de078dbbe587ab1ee9ea4114fb77a698c9646ef1b4c85092f8459f2046b6dddfe4b6e3366130ab41fbd3e96cf0139c281a254bdab1c0bc02d344898 + +A = fac9b74e7f36bf643337fe27e889dd6a024ade0958eba72095521beb91398ce01ed19bd83a44f13076f30a21c4ad7ebb6d74b62a63e8fd458baa498f29db5a3fab4e55b999fc2a8954be04937c24b6c4df8ee1f1de61fe9a99722451c46ce16cb875fc393e2fd9b67c0bc8f712c4d3de90958b2106bd3c7d453618ac0b2bbb22868e22874927f1012c99915d52dd28c116e21440a841248732e98a3eae587e5dd07409dd9eae97d0a9272c1a74d7755d1698c90f1105f1ae1284e73429f396d84 +B = -445cd6efcb3f03d125080d2c67d7f8c8bf618de7da2133e34a77dc4553dd458318aa34b6b4eab4e1988c43922ac339f1826db141f1a2fb3f540beecef7f994686621d1531101451ba5b0a05c4ee39bee690f6ce76f7bc93311bfa436865a16cc42a9a333c37233a2335f974c8807ef69d9671e0bb5822a0cfb11ac1fb21d7ec947a4968b399539c4c8a07f9bd64ba8269cc1ca8a567f9eda05ea5f0dd9be8d44bc9d61b5bdd0eac0512229279b16e8ddbe233e636a7a8db5db44259f06f49473f0 +GCD = 97f75404f5c9ceebf7710e2092f504797e578c25efa278dbc785740c9daef899539519e45bec45a1812a08bfa5c7a34cdd9f7f8df8dfea1cfa15fecfde7f3dc24b93750a7cbba0b1c378f00591d4aa899e139e04f6542db95f522b816aa49e864 + +A = -2ad89fc1e2f64e24a1b124cddefdcec53f6bf8094e681704c24e6d5e381e571fa516046494705ba52a858bc50d72ed7143c5a2da8465aca9f9f5efe240816dec908d91bafb959b3958a8824c48a27a3db56f97ced2beb16295cac4d292d77e092365ca30aba14e12d971250575aadb3f743ef299f72d6f0ba0a04c5621325bad959a883cd69c70710c491bdf2cff53bb59e33ec7b04027691caa5a0f119c213d5ae6a773649c7bc10c7754215b0f85850218d722cdb1ba1bf8644408c81916535 +B = -3579eb843532f8eb9d7726f041b455bccda78bb12e9431f5e4c95d98d3e7d58c5272fea65cd89b2e90cef492044fcc3baa9f0a604bcd699e42543aaac1c769c13152d995c55f347ce3448b6fc308b34f2aa252d574940ec7c8f7f1f3b324aa2cffa2e4ed8475fdb610f0f2a7e9f3915c90c9d91062b44a4195fbfdd3b8aa19a91d3e01f982fd3465e2851bbb7e8ec3b191a16e63726afd3adc6d2ed2f7e1abd0748c8ba97ce07e61ff3c34ae7b5b61a4c03daf6ee8ca0b8cb6c29d920594ff120a +GCD = 11c1456db647775e9ddd34b6cba2020ea23010d94141d40100e1816c546af35ffd05f7532437719475e39ebcb09910dab940ff99c432e58335f10f6c783769dd0c7e837c5d335fd4e3967690d4cb0b8f6eaa780c1d065f4294747ef842ed70e12f3 + +A = -7940560cdec3a4d3651d74977e0f3f76ad4bfda3ac9c7c3a8fb2883e4476d9b5e6b10d55437b262aecd2abbb9ac65a7315b56d43f4858b449dbc1b11129d9ccc89442f93889bfb691bceb80da46d2b60ce94cec4b8545f0470940d92e332cdeef2da73d694d0028749099147f7672652f1265151b1a5f767a20f5abe0acf0d50e9a9808afb957f438ff79484215920ebeb156c65883901390c6ce71756a7da0768e6122063f4f5afafdc527fbd0ed9a07a72aa6a19222f06350c92dd996d6b428d7 +B = -16c10472f2725323b0cdc43b6f4093ff527c0726c65713105c0cf4d80e12fcb8ac621ae31eebc24b3d87f7d1d6738ef8d8bcc6e065a5602c2bf8d04e7ef8b0c6aa3a66d885654cacd5aac9fd0442eced9a08e084e8e17dc14d4948e507329e91abbc5ffc7f883f69a06de0f967586edf17c4e03020fbb1ae80049ebffcf5da1d73947e0b2820c40d1d947557f11d3102972829a00e6218ed9d55a91928471af02945a909e709bf9a5ba1ffda783c2dc9a1131700010b817a1d67d9e706e139698ab +GCD = 3e8d7a6f7c3f8cb9004d43e8a8c6721f228c035e92cde92f1f0e27237f46a171145e5e36a9ba2de9b860f55794816effedd4dbf33f9045cb4598f2d500b6847333affa5852c8a54f87168311fa9f5365a49bf959c744e5d5ea3b2afa494348efd9 + +A = -15fa44c71af239325e9260e4fbf379f00e67de718bf10388d59e9dacabd2b6a6ad3d39eaee396c39d10e0b991dbb91ecf0afaf5c1f5471a637d2dd205989e29524df9123b43432d7314c3adc6e30e56996db671dcd0aa4295233b92647ac855778313b7721d0f4a2009a34c819915366f0db4313ad78db4a779088b47e902f66d43ad005b4c9c451ff64917afeaf21bece85a540ba04f999ce8364e60d08c1ac88f2cb0ed8312a8bc17387c5fa42be6ae247a46af677a701672a5baa423e1e7e4fe5 +B = 95a309437fb8b0ec7a4b95f54e7a297e71ccebbaeccb3ca21bee8d04d255d9b1a2d3f7cf2d79b75c7d002d713bf49279ab16d7bbc313dfded5d67cc9c6edb210f80c193852409350b1ada2547879d9a6f232ad6f0f14bd8ca7ffe602f3415560a5dee83a98b0a9a98c4728e4b5cdb2299a0806ebba850f51598050bd80269e3cb3555394acef71e9e2914ca61061ee9edfb6ab0b949496abe1ee14dd0b1b8dd3090f62b6bbfd634115e5d2cbf471432dae9f96e974215caa7771e84abcf57a8d577 +GCD = 7d78e98677795446e580a2575d6f6d5af8ac073bcb41f712cb60a83866f5e1f3271b0e502206e6ba5ed4ec7ccc844237dc08496b27a1484553a72ade7601d66851f65d927a7fde908afd682b63275aa3bb9b8c34d574fb1852e46a377a0f39c6a7 + +A = -4fb36216ac23149576159af96915337f1ce472c924e375590d264f1f8bd8fdf921d7586354d252513fb4b62f1a5c2eea178c8f8485c0af8de936b6102d2433662045e9b980a16c4b33ead273f3e8e1e92d380e391058affe761e09353edecd8b56fccea8d8afedfa782b9884caa033d0a47db5e19e2cb374da5eca60d7398e20d1f8d246a2a82182ad009d517f733ae8bc4f6a282623fe34cbe5b17c1f0de356cae77b6a42c92fc9fe8b31fb7a26a7f403edc2657feb48e49b023e1354b8bfe374d4 +B = 1ebd9bb72a46b52446213338a26ddb6830423335cce495955209ab8a0caa58b839fd608d5c046374c78ef45b79802bc3954cdb5b07b42aa3b69e7161a21c1d1954f4bc74ad5bceb0a4df21d9ece603bc849d68fb44f77cf36f9bb2f054309e9fb02e0477d48f122f40d14d445a032bdf3e3f9d17b0671471e72ae31a301de3655073d77f76cfffaab30b1a636753d6f9c832dc5bf632ddc59fef52bf2daba14ee90dd56b2cf4c2edb74f10cee784ac85f32a38bfbfb9d0cedbde5a819ce8ad7804dc +GCD = b10689a4b5ad275a4bf1d70bdf4af4a3a9e23c2ca5e2e152bd979bed923bde249be8e63f9690a138cb56302ad1b040d430b1234069fde127d2110eee5982ce8577cdd6f414524b240ef879ca4b4d2358ebee43bc33c194e8a8301b1cc648cdf0d4 + +A = -997b2a54ddd367301ad8ae5c3c9fe62b4acfba91553a35c9ad42ed20916e31e4750147d7b7bc7dfa58dc0e59d4684893c9453228cf74cb6666d4e8e6e31acd8be307e899959a15f31b300deaa5fcb6962e37c0e0ceef7a1f183ef4c38eee7962bb593b696ad0994b18a874ae033c5a12f5f2c7f021319cd571de566a80c27d24ac325e363418f521bab77ffabe6c564edee6048e72df8fe7b8a75bb7715a6ba62627f81e8f36ae0d84d1e612cd25c9878cb320d648e2909c535d85b4ac958d6e6c0 +B = -b67b0710bc8ff145a49979a7375232ba41973997074ddac30f8b3f348efc98d483e5f63b73ab4fe78769079a4564dd04d49c4420a5d3d4ab0a25e27cb6dd5574d2cbfd164cfd7fa7c2982c5268358de8eead68eab73c46ade9144ccbd46a6e4b7c6fcce126c44af7d706bcb978b8d3c3e0b9ed1203fe541ba9807564e60e7e44bcc4b872ec3791424ea693311ffd0d6a21f2e7243a82658c06897f28f9437c3248e91dc6628e0e675698ac0c5844b1e0fba1564e7b1a2c36c905b57769794dd00ae8 +GCD = 320ce00900e6f2f432fbf7d8d6c47f62a951673aaf76a7fa8d361ba9e968554eae39c281759d270c9b0869448ef6391d39758392409c9b8244337830a1e8975b53d71f8866c6212bfd34ae016469af33dd4ab7821266a1b4937e659e74f99799408 + +A = 71aa7d9df45dedfc873eff26285941097a2c1f12f044cc6fe84ba6c821a3026e73d67d2a8eddfe43bcf7f0faa0db9fbd2891019cc4edc1bf5f4b4dbb2bf506c64349284ddab7b4b4aa55d79701a856c46f139bfabfd698a709101e431328db2d006604ac624b7cb00105b84fd56e42432e8bfd7db568d2a41702eef95efaa8936d2b799d96c59cd152897f642eff8032f5c04d919b502e81e99beacfeccdedde065099f43cf77c61def35415961d7e088aa2d54d76970496133a51aab1c59a48e2ef2 +B = 477f8fa9aa3afac8eda8083825f8866fcfaff5a90567510df1d271bb2572c38f133e0c3e071831e107587c2baaa1ea26a426885f201ebeb3f4cc3c07331758c6e240f95480e312653187b532000e6a906b20c104bb42054ed4374d0f3509c6fe54675dd556b8432f080c087e1a88de58b65bff2f9bf2dce541b3e12c7ec73ba414d04d73bb2269562970ee7076a380c912e9427b070e8a4cd7f2454975092d25681f4f7d5faa29c02a12531afbadeaf93cd67df29be8a1745a6b0183e1452b61b8b48 +GCD = 67adaffdcf6e6fc974323336f753158ff91837a5f156dac056d4c2e30e2c9b96bdc990097817ebd6bc5088c4694d3444781d0b8054b6a24d0a1db1f009eadc5d6acdefbfcbba2db0b4ac819b62314af48fdc0fb5dc15aaf313900a3bfd239cbb596a + +A = -109bcc9b5acc608206d9c03c1c65bfc25754b6896836fb415dacb87d3ca79a1a5941f9beb09d270ae36e7b9e36abe396a40ce8d50784516a06bf1d4b20d186ec32ac4ac554d268e25914a06eabda9086ca7f2811f59fc3a03f421f293bef714813737db9c077da606ddf3bcc5b494b6bf16d1a556fc7f7c9cc3005be39c61391e1cfb63abcc651cc6a77147c374be86ea4eb9a97e2472c51a7dd35e705825baf0694530e69289c4b15c4cbb347e33977573a8b28c9e33a9eb882840cf566032042af94 +B = 16ad52c23583867f853b8f9847e0f4ac758b12b9ecc634c51bb010511b54f858a849d236d5f7b22c02856b47f7ee7549f6402bae859f1bd0542dad481ba826f5baba64cfd906111992addce57535c0f0c8ee0d1fe634e08e1fe9a793cf84fc70e8b9bf8b0a0f0bc14d5d84927b4737d1e97eff6f779767879938a9ca4c5052ae101895fabb8580d0e974616f7e895848c7e446f28bc139bfadb56a8b23e7874e6a2e8ced2dd7da7b93a2490f6f6f4917177722158aa243c010b2a0302044b3062c0c04 +GCD = 1ce060fc15a751ced9a3185743d1ae21df73224a90eb9786870dbe7db9442bccef112d713a1a9d2d7a9d39d9a6d4427e47112f777b0505030bcc4b514872fad8fd4466830cdf0d76f1084cf53768b7d6df333605243dde403857a1d8e08382d074cc + +A = -320d7663c393a90592c5947bcf3891d2b78aac9bca762fe79c35f7ffc3307e53cad430065a08f487da1d14fd6a1f821de83218b3b69a560b1ebb4ad3512bc7888c7e56fa31d4bf9fe1d001ae71ec5927a291b2f7a81721293f0990d7fa5d640adbb7147ffab0d2f8abc62be210ee43e2a283de858ddb0662c6f780ef6134bbe1d078b70f6b66289b33b108e3f1da3ed60e35e071e6bd33d9a80b95cdc2baf333876356562ddac9dc832526f706f3f740eb4cd88aaf1661d5ba55780e0e375fd8404cfa +B = -3e61a205298e015adf6f85c5cce0eeb55017d654ad457969fdd40b8897e1bcd579a95253efeab59a6b96f6775237a8ee1e12e3b8914efc9353f39af123e1bd65d6a9de28d9ea7e09b7d8f8c2136047ed4b7de125468f0c3fcf5e7af084d420513ace61d93b69f1a0f5443f371db388a5a9e560fed09c2d929b111974f8cd67cfa0610d06c403cf00f9cf6c946ec8d62fea43d0709465890a47a16048aa45a2ae9c7dcc061e0b23a21214e01816813e5d3a46c7e6acf92d4d190c43ef3537103aa16085 +GCD = be2427bc76269ac50542be06f4938b86528950d1334d2218bfdced9a66662e86910d82ff50725a97fb626484099109353b97fc32d01787d3e2ba308bee4ea2c8c8ae649ccf94a3e9b1c53d98b02319194927704b904316ed37a2d77df06a0b3c9ef + +A = 5cf2aae7bd0d43aaea244ef29ff5d5f78bddb9c7ea633f96642dddfc4a2ef8dc8ec290db003f1d11b3f90d03b0b25234d0d7073099ef57b9b177d13940c41a8d9c3bdf0a7f84948309f2a84d68cea93e9cdf96ee3c9e6310d425c0b03c40d01bbc7db7e4e5e39371d538e1947dfec6b2cf067bd99625d37233bc03a381eb41f50483d9efb87b6cb03b838189e9416fd0d1c64160ae34cfcd2bbeb77c630db0c571e05859e5cc31e398c9cccfeeaf6e1ba0f5f70e5c0fe199be108ca3d377b5c9128de4 +B = 13b630132e60e77e27eb67ca5845a3c48068d02598e6b0b59307ac26e5e1315520a71a8d360933bdc02a1aac05234b8d7a518a44e29b322bb32d466215ed1fefdc3071e0c1130f2c8e2c8080b021e6127b3440a395dd67e1f5515b8258a0b04421e0ab5600cf8d4cffe12fad441aac330919daf551aeb88069bc9d5fbcd0b364e19e0881c23230c29b291c7883d76f4fa0e2195b87811bc1aca3210c256ac2d9ce7ccdd0643025035620ee4832838acd4e4951b675cea702bb15ba8143e0d721282ddd7 +GCD = 1d933b6399aff53344bba97bd6cac0fc8e12028110b531cee84241c054141e551158c242b12505af5424a68487aaa786102eca79126e277f92dd5f4fdc4c99c97da9420406b050d1ba9aa190ea192c2d1486cc56d57e21a49d0413de50822f4e32a1 + +A = -3aa9180cd6688887184eafb48dd22dc230738306f3b638ec8ff2b3daebd0fd4c5f811e5404676bf16f09338967445d154c1869b010e31b2de3ea21dad9fa6ce769e983960c3417122b3193d079b5f2732e59c6d8f7b2a6db7e889656ba005ddcac2116d192aa6952db7e3d5d456500140d58969f6b0a45e3d7ce709849fca19b481f9f62dbf309536ba07e2ff873ce5c5e2ea61fc1e2796c0bca9f90f61505db8b177991402c19da9f99ab3d83e4c4a69d41d7b2944b177cbb7cb182255f017cf4eada0 +B = caaecfcae71cf27ab410be8281378b8d7f4658bc3fbe63ea53a7a8bc3488c2ba846ce8584db7ad22ac923f01ef5856a18e5af2e1b1f0df3631838f252b139a6b08f22964a949dd20591ec735f8581fe46e4b33874613daf5e2c4d768698f966518ca56e392e5dadf6c555c4a647fc120ea2a8fca0bfe1fe1d706f25c2ec9df8aca9699f21b31bdb48ce805c9a0b05d498a764393b9a22f95d64c63db8436ef4477cd0e8e60e398662988bffb3ffee5e086683e156534554402d4fb692102f511eed110 +GCD = 26476f7570e0953dfcee79b15c46347b79d9400c1aa0c03c18100fdf8df79d8d9bf1bef6941cc969509f10b144fbfacbe973534c1a34006fb76c0beaf6dfcd90d36dff75027c218eb94ddbb130ad240b91e30099ad1c795248f321c066ec9c131470 + +A = 11b7bba00ee2b94e3eeb03f89b40977e242c37a13f4284cc70b91f87e17d905a3aae5b60d9e9506c844d3d81f6e204d4d57304e690dc17303dc9135d51941645bcd47f62e97059d4da29dbf8281e8eaef04fbc9736715530c8cac368d5b7e305400bcdd20c7fbe35da2284d0bfaba3721809dd6d9a07aae45e356b1e686031785dfcbad42c2d44df90d1b1b56a60547d562d0b54b41ec7589dc3a5dc92d6c3303b6c5c7cd7428ddf5cdd9b4aa2bacb1ed90109ffc872d8bbaa9cd9fd884ca34fcf357e0b +B = -d5b633efb032e68149dde2fdd02cada1c687cce6635a14b31fd8a21e1a222fd307ecdefcb34d521816a3ed7db3662270f8c20036be798cf90098a40119ad32b3a08555970cad50ca5923028da9fd2efd64c7f4c4da013c1e8399f7f8cf3b99120dba559c70ec4ed8b0b2b4ebc6bbcde716f5884e3af177901e8be6d2f19cf13ff6b0a893ce9397370dda052f873fd446d05bd3de3dcbb0c87575c028fbad95a5adc6ceb149d7da19934965e4987b6d3fbb1ab7c047a94358f7f3e42dbdfc053a7db1249 +GCD = 5659d551ddecb6ccac3466c4f5d40d7be89ca7f12452d6728b0ed63723ee77588fae505d89ca2283ddd59268267721e7d1f5bd1e82a74adc141db003b6ac217cb60c00d99240a0df6aad7b9fd9d8b1a8238dafd8589b052f5a457ef2aec4f8f2dd9f + +A = -695c26f5e9a7f84503f14b165d8458669d729db288b143a3de9c32c7ddd1eddeda69f6683453b49c3096d572900e5b740f1174bc6ce963e3308af5ed13721f035fb3471f146939b9130fa6299b8eb23391848aa1dab850b1c4ad6848d72429852a8ad324b57ba400ad888f9ea4d9c2710964cdcb59dae6a384ade2e9100a48205d2d5082b458f6d950413ce899251313f929010160199298c8ebedc791e020e440ddeb155e0a43e423e2227a5f10b6b2aa142ae5a2efc8a999eb8088a4a138dfd717747c +B = -28a8e610b170d3b246436a6882ebc62e05661856149776d260cf5ae4e9956bcdd0fee765b119bac20a308ca4fd73bdb8c5f72cf3684458395997012b886e7556c40e343e09094246d968de4fee47819a365143eb13cbcc5df1fd6ab98bab489f321ae77d3e4cf7ec7f34555a35e5b1353c5bf2965eb62aab91f2eebf65a2f25039350ffd710bc8d1e66f857adc3e5a3edbe6e9bf573df78d2ae92b13d8b139849dd7571b1ef03f31177c88334422ca016f90f303c4e4286f298128d42f43c518876f95bc +GCD = 1af5be2ece28034dc8e6172ca51b10b1cffbab170f13b1b3f3573aa2432f192cedf63fdfd291399202027244097fdc24165d417766d73e75500a580cac20e3e579f111b58d672ecb12a0bd3cff06995401a136f2deffd492b1d741cd8a5ee11227bc4 + +A = 1bf7391a6135c8a61a80b3d73833050f7aafa87cad5a74be8caf6222e0af6cc68aea584192ee4e640b31495a4981a5465b9260103cf502dd3559b10a9104422051b6f559cd8000c9f415d218ef19fc09f7a17c98ad52bca1ff2459d7ef13bba4b0c802c28ce4f65dc0b2ea89875d3420aa23424f30244694f7365e094e304e65d149ba4064c85e3db83bdc3ce5a5eff5eb4a05ca83db90e355375e7e58a9411523320926dc3e2b6a58d663ef47085239f5289dd0f5df6dd4c538b4245a9e0cdac3074b8fa +B = 285b79ffda0687c16cd380dbb6a9dd14692b1ddfd6b337c576f50e39cece9e7b45e37564ab2c57790f231f0697eca517ea455abe444f04312356b82c9c0ad2b8aec3d2b1d4115ff6ecb965eaa9046292e3292a546513eaf3ee030814b647b21dea92c3cb574b64ee8fe6f8d7064269f19f5b86702d05d92212c2c1768dc5776e54cabbfa2041b3fd7e54fd4c2cc35d73d283f27d597b40d075740dead24c2702c419d702ed964c1e9afc021d9a51d9cfc412602854853f669b8c909692866bdcea1ea0f0 +GCD = 1f7e11a8ce42e2f739a9dd09d3c186fc24be1fd22261580d491e4d96f70b83db80b91c670d7e36fc12e690ec7777c72d11cb0b76459609dfae523def75d4484d030dccf76dbf033958423cd05822b1cfaa3a005deba7584bfcaaf996d78b7925dca96 + +A = 39e4eefe6c7e509f8d47c39ad468fcda0a2d2442ec94d7789c62acdc85eaaa5457197d8b2d36b52380d4e30ff3fd4f31ab6f07ae3089ff9ad70f1bd09b6b4982c9fbd68f8fd1224dfa16491c7435f7edd894b6ed9798643839b622615a5da088b1f723cadd3b743ef2bb30b783aa96cdf42ed9788cc959ea4757aecd8ccf77cc0688d0c79f77de623a86ebb4825b7cf54d1c278928ba37b976759c47d0077f5621c0d091012a05ffc4a51b52df1c6bb6b367829d8f72b3d5b7bd87bf85f59b34d4d7e8460 +B = -1f9174affdd8c1aa322d5b7b51f88d48e28894618470e787e8f3f2cf6a201848e5f414ef23bf5fb42811ea888cf94f19a5df110a8497636b1b031eca9958ee27f86cb483a0290e1c0739889b71f1dc6fd51151be52b5a43c7e5dd6415245384875172da04328f57951efe1dfc7cf2716bba73b14f7744298f17d9b005b5df2f30a28210ce479f8eec1011b8f4131132908eb13e618398c758718b5585171c60b7f8131b36b58df19a38a441eded741e3b35ddc700061aa6adccbb1f1be3c9fc5d2b073280 +GCD = 228140e4dd67e44b6487826dd57b30892cf69368ba0a14b540bbd13cb45f776763163196faca6649be8ca338b7192d9089b055d9498ad5267f201ec35bf24aba9ec390cd2b035c9395aa698e2f5441f01c2d7eeafdb9c3674c26145cb98ce8d2db2d20 + +A = 644cc77d65b67b61afd6fee8d89cd9d00ea4b543b3c16b5f33b957b8324e8799ddb135bed175b14c3e5740df1beb7bcb6bd205d341c43ae5f80aa62bcdcf9d6a4afcae3b854f0fec8e173da51e67b027ccac2ec3044c0d0dea2d6a23fb8068ecb54b3a33654298fe7ece6e5fbca4c10b6cf33b2c1194a71dc5ca2ec6bee3cf91dd3485406f94681e3c63e8a9be439d218bae8ba40c21f8c007cc2492a72e83b2015e2f6d7a0d5f7a3a4403acf1dd11690f1d600a02da88ddb5ac9407de26746052333f4cc +B = -158edd961ffc597e66816ccddc1f5704f160471f0415a41164252309181c39c02269f423978e32485ce961435adf8e987740e0d2021c9ff19e8374122fb87043d59be33fe3bd554469d2b35eaac461ba58dc5654f863e18d666b17e6cf3bfb3559937d99a3a2e1298203184d1d90842709785d13d79ee22e31117fe01795b2ee587e78734acc86e0d28688099c491103d1c78416cc6f40b084c941cb13353d358606e9d535a361beb727f10615ab2262bb2de2d130ea21215d154c38651c269af064535d0 +GCD = 5eae6aaf79de173ea82b71dbd3af23ba52676d8054223922891bd993ec57ddabe7e8ad9616d3d8a8d601a5d7513b332df14adcc699bcd642a093b2806a42f292ab186e2edd43b1c5095dd89d64fb9e6312fafa1a7d52e06b1609585d4a1fa50675efc + +A = -422c530adf6e4cb7d955842733b2e0a51761df56ae8d40a2ef13c8452de64cf12be8c8c496f3f8dc6155fe6bd07199d2922b98c345dfc4de57ae8c4b5157f9123e961bbe574cd48b5d9aaa949b26a0079404873bf1efbdcad0f1e8002e24f8a719f7928a5157c0c4ddab1e8a605f23a68b8a369464d36fe3138991531af0490f1d446fe389465ef60c650591b9ddd96669ed6e2980b43d4f6e3570a339dff90d5b6b215b179bc039402b7395961aec27d93549ccac1e1b14fd2efb4d5102725253bfe9768e +B = 1bcd86f0cd8cc8f2e3b282283ed15f8f0cc75c28732d01ab368425d2215d7dac3e3a4adcd0b431db4a6bf790835413d0abfbe832956d791804596db415508b17ad4aae9da3e481286806777c3a048261d3bf59cc48abffd3025e9ea324797c374099b376bd9d7978ba2d0a3e8a622ca0bbbb6a698c09e0dd4d8d4b434c4375a5ff476ecc7d77557cd3e61c119c9f3c64aa27aa3cfe13984ccbb7a270d57aa5267e82d81ccc471bf23fad29b9521df3f3ce702fc4dd52a9d5f46b1cbaf3fb497efc3dff0351 +GCD = da26cd945d466a236b1c9b36afa60a1af9bcab7016405814858e2c954c763ba9cabe19adaed4fef51db1bf91dd415fc200598cd059a34da861502330db764cdac3c52137b12686716bdbc691ea71f2030ac99e73ba38df50b6d37aac0165a0a1f8249 + +A = -32f808d3dfcf394d8b153f0ec65eb196fb7db0160623f05e712468790c61176c993bc5c43a36dcfdb9a90d8b09ff0a78e98e87f1985bddc8cd5bbce4d624add27737235fd3283fd2a5aad6c8119c6bb96413e84d372eb4ea4357a77c54e6b3dd82e8a35f6d380bd54d5c3acdca4a775930ac63fdf71f1fa4f9b8a6350057eee8bc94ec31e418c459843cf78e13c58487f01eb8d36aa51f59764d35abe2cab2866468cb3373042db0472c8ad6ce7aea3202777ba0b56a57b75aa050499117b648033dd4e320 +B = 1f7c102fc70a9e89cb47498aadfff197a7995a09401bc1d228c04630d1eda98e91983a61760c00fea04af1dbafeb9b60cf1c51e9168c655d32d11e5b0513865bcb367fd68497e53eadc4c83956b89afec9ba59b674d6d052e93c5bf7878c4c451ce0010bc7feb85b3d3ad20a591c72ac61a5e1f52254e952bd06a0d6be0a757926abd4ea590506aa2bdee018ddff8bac3825b328217f0207c001f1ed933b888978ab7430e504673908f5c120288a67e8ddf3b575a198d790029595b2ff96783edfbce6d6580 +GCD = bdcaf72d9237cfe427df7897474c708a46073930e0ca0ac93849bef751b168210b26ce12513e2f4bd7570b926d21a13e741c71522ea3204be3939cca85e3073b608530720a7afa37d3c6f4b397d5f2f7d599088f3df5f35c305e70e086aad930bc5b60 + +A = -401305e272e7e9a14db093ed9d2b80b20018a67f7387f98e4e068690ee2ffe73dfce983ebd2640d6babd16e869da39358769292539df36b8bd0e9d1e41b8daf9b93df93e206378675df5ff112e95d56c5c19092b259e23d82cff13a34cd3eb418a0d9637c646a79fa69ee3dc3e5730e1e295bfe755425ccc22fcc633e77131a31880bfba24e7bf3723d6dfd248cfe72776e327f8f8fbfcd955dda598ba6d7d7d28bdc7329008326de5418539b6b9a229c9fc2ae9c51005b61563ff294441e753ea071eabe24 +B = -39aba6a13caed06f8594850f294fd43407c4a5f39c7b0759355e0fe404475cb0d4dbe1e9fe9bb19430a51724fad6bef02210fa51d7e6b3baffd9b19e03a2eec73821242660d11309c5914d7d75faa1833c58dbda2fbae80be5f6cafe9a735e14b3ae5340b939a286d242c0d6bb6787e41d1233516f4786af3dd767cc26f0c8245eb118b73e13226908ee7474db3cccd15ee4c4bfe97bda6d55e6f16f9164cc75c5eb3cca30caaa5ad7e9c555ded9ad8ae454729463bb6f27037f6c0a3f20a1d84dae548d608 +GCD = 296a1bc3c1848d61cc0944faff02a35e2330137eb357d7e4c00edd9fbdadb3923a376510eb1a8f9a93849578ecd8be586221c069ee590cf55ecd10714459bc036d72ec0da61a92a94f77e6d5731b5248a0e53a221f62809312226d7dab11c66b7e59bc + +A = 86712a1d494814294ce0d7fa6337e514acef90aa1963c02674de95ec2cbc8a737978acad7c4d831f340f0c6fcdada3546e43d10a23298beadd58bf9327c8defdc06e75835376a9d8f146e2f5c2e213a07cac712608c33dd1f250c11f597b901f640e9136652bee88f275e91bfaaea641c29469177c6888f34a9d75a8ffdd17834a4285e2029d5df943aaa47a2817b356cbc127844585a7ac066bc0fd9be34526a902bbffc58dc71588128025f4bcef09a15ba169b2384351b2a053d5e72764d5939cfb04fd4 +B = 1a069aef8d0bea0bd4316b3c403c998c5edac6272606335eb32cea42fdedec4a3263f2ae2d1c6b4a317e02f8d5eba7485ccf3271a6ab8ca365f47e092afe7c5999becb03ea743f308ec89b8bad21ccae53d678004711ce1ae7ccee56d7aa5ecb2fc910f0063abeae01f4600495b3e8d821d1982ed39e4274fa9babbee5ec89557abe7a0be9fb795cfbb295c065779ec94b8489e7af59990b641f204d53f9b9a991da4ba22a58252f89bbc7c92db6877c88b150662de4f3b10303cfab3cee2542e05caff638a0 +GCD = d457fcfa5c2c8d1386f68ad13e6a9721df829045d0375a34f40f67df66452e63dca9bf8ba3dcc270e95a44b7fa4105dbc0700f71155161dd776423def3b9373228709b2296a2237b7a630e9753374023b6538c41e575c32c6a63db5837534d2439c6e4 + +A = -5e0f0550a74b8682832697dab0d6edd0d6b98cd049617b964fd663bdcd0299395466b163bcf6b371594c5ef53a94853e89dabf2856a6a9a8d02b8e8a33cbce12465518d1ca1369a6cc71397ce0a04aecba72a63afe9408710fc964bb56398c35c1f0e42396698049cf40bb99e58658c2ea8f7ac6d7448be7c2b3e0a05c4c3f5768db4b83d8221739b2592d5516d1cc8a6611c1a3ce2b33d5082ac82b468c79abaf3686984788301186eb7d2badec1b0606a77cf5d036645f762143c70f6f8d90cd2bd1bca560 +B = 9fa9c99fb2283316b4d44a897c045c862c71ad8fe64f4e5a57337df296839a7fd1525f7eff657318b5c6c049bf69ca63428c23f30aaa8162d68c4464edce2b1ab0671ade48177eaca5e5f8aa93831c813bf7769037470177bd393e652a2de7f2c7c9b93b2728d9d9abf55d3b9b8c784567c4477f646f72cb794a5f7aba80572bfa0cab7923b4783bb2407de5aa1dcaed5b5eeec4b2bc5bdbac83ef6f631bfbc2f8f4aaadfff07a113057140abb45cac7b14d8a7d6f212b303a1233cfedcfa70e14ee83e3d20 +GCD = 45da7875095d075995feb0bff8300b601b290eb7e3ad96c575f1260f6f11fcb9890707f2c82e4ad4ab92f739e8a38740db1899a5671be5439288aae52eae699e78d28a0c9b7ebe3c081bd7115cbe82c0beef65d0851bf22eabc9f331f7eca27f023bce0 + +A = d26011e952ecdca58fdcdfafe64b56306f0f589f37a9ac094eebdca0cd827f0d9783cdb2e41689489f505cf313874437b96cff001715345a3f2f89881d762112d92832ed282a1d81f3bc3070438846a0bbc5eb9fc27087fb650ab6a7c8c92da898c6ae6d89a43b7f6c5ca7b361c9fe88e61f16465dc9b1d318e0ca72dfa8be261e16913e4d98748b416aadb70fed8a116db796c2d47d4dafce345cdc3c5c92ee8ad2ab4507d7404e454994e47a1f17ffe2d457a2c102bcb22bb99006bc56c696c77f0afeed07 +B = 908f35015d4563be793b5a956898a065218b6ec9c065156dbc5f665752c18ee78ad6115c8b05f402b45f342e34a9c33a77071e9c4b2950cb184c32024ec6c52830d79c107e5b6d1144ba4a2c0768266a49095622eab60a7d41701b883f9db6a887688b5ff8d828c9c0bb9829df7416ef2f992c8ec9b0ad5c98a1ac600ee3ab59228698a2d09fe3bdebe8fd0d7620679a4b69b8eba92f0bf2ade933a9e3a79d10a886254f3377a655239b160811d4e80b33ed04dfd4ae8672c92f83d1261469938d7bbddba6ac +GCD = 1e1b191be6d4f3db6410c85a3681ab54d7edbbfc83b7ba899e8b2a46864fc159ee83730e7e45fa10807bd83eec8372f8add9a5fcd9a03320c2d5d7ee142a9ca6f1842d3da0ca3603067510df4b8285e35d6d12bef12a90ae773ed516abe0db6cb936b9f + +A = -3489ade7022c6ad6118669e7e5d24972ab558badda67a5b9a16d9411442ec8502a5c0a4fbc297074e3d2e923597b76416bd17fdfc1a7b49f7a0e7889a5568cd9c9b388b205a053ee97ff5f8a30507979e9b2d03ddb3f54eb97013e4778b4001eba2723dd9a14050754029d6c3aade4cfb824fd24b4b57e2a7b1267c3ed7ccf16ed9cef3154923f2bfe8ea761961ff2d143c2f8efd19185b131adefdad2c765b57984482d2c6b629f1cf13f9e03f223d33df8154e2c1740d48ff245cd3f3547ae17f62706f1612 +B = -7ac6dbd7fec276931ce753183c21d71d1d2b20a4931b931c9eb973b2dda39590e9b95158c47360b3701ddce8e843678cf88fc7ea90de70644070338725cda4d694918c83ed4c490770097ec83b2984d255404c95ed2013ac119e9e83d148e3fb9c0250edf98e767253890c8672b306c1b9d8abe438ef8681a5c6f60ebe86e0a2dbb961dce73a690fbc0143435bbf912a832b4df1b7155ddbef1d939f30113e01f6937253b6c768f6a0411a56495338e7bf2d21aa126c221d7a9bd8b1bacc7a16ec514e5176a96 +GCD = 7b9737769106c155ac8c20926a401649535e016f68b5732d9247b8498dbdfc49043cd2c8bca28c95e1f381c47f4b032bd6dc135a8ea1b2e48b0b4497c90d063e23df950d7d1fa6e75ad3c5e5d050014d5711cc0a0140a387c60762e9e7a8423c00d1d46 + +A = -5dd8db2d99489626dda66b067aaa96f395a9bbad26a93176ecfe52e3a71bc0fc1b70b2c811445b7a9a4dd9a8ab30a934e993e6f18bcd01d2bd4a812f1473915275c9c5a5bbb67aa06be725022b99442715813454ba612a85cb1df6d48ea8dce8b896bb55a0bcc9b94fc1ab81592d3735415db2a6d3b8261c1eae2bcb15dc7a1f598ed684a4f6c7d40e78aab84b0c68d4de1a86520c1eed8e172d7758b23b9d42d73eef532be31c0ea6a01bcdd0a4b48e744d18c63ec0e3e7f49c9f219b1b92d7d12ccd4be00a0 +B = 16acd6d305384892e53eede09c586bb10d905a06ced4a0260be887c6c14d6bfa95edad6ce334b7f252eec9c66ac71d8976148acf50927f9ed84dbe71fd350c8558b0c67009a1b131d14e317b16d127e4618cc8fb6f2524eff9d4db519a12143a9259d1ca5151df2ef85f372d15bd8bb50e71b50f5399e580db9853ac14dfc505fb57fb2c6f00003853e23944b1db5177733dfc5bfc7601b05a83c508121a4f1ee6b7e617f6b6fa319932c17446100bb50cc82a0d48c9a6d5312c098c4a6e36328883e309961e88 +GCD = 1e717809d1cb24d62b0c1680dfae01ec4cf1532ed989789ca847af25d38e082b3e7fae8c3535e308811acbcd1ccd3a4dcc8178ac968bc9c3c4319c3fa499943e02d342e8cc84d5fa51d020355b052a56fdf407404452d560ecb575af580132f8428dec28 + +A = -17877ecc7b471e7ae5c7d40e163946178abc88db713589d1968042ac4e3ebf2499dab854643d0aa5cf56fc102cf87583656da11683efde0b1f7487429da4ab0fa1931f8b58a7e1df14dae0b1b30c534118ea7e1a3673fa3fb1556ea07bd1c893ae663f18f9bfcfe13d889fa536d605fbaaed1576626ff377a95584a01be912424925f331aa2d9cd76f288e0d69359f7f4ba1947fdb00539c9ffc210629b6c55413807e103aa678f5e73a3797c4c0bf134d13c45f35ce444c3f506621859f2ca3fb66189571f690 +B = -12c4588c9da5e78115800d028d19f30a8a85c8c47f708dad881548fec80f51caea08955554cd1dbab36e62aed8f0ddb14f30fc6fb618feb92bde94acf67cdef5e9b4bd55186df482c50cca46385c7b779d1e17b9394e7a32571d6a7d1a24306444106a0364183cd972f9351959f7b462afe860956fbe36e93671d13b55c9c001273a01dbfaa5c3ae906bc5a2ee98485e8c531665fcf588868fbb2a7e0b84d06d20cc507d8edb01ed38065eb044ce556b21f3a34fc88b0ab317b27950538850c6c07b5bc5ffe8c0 +GCD = d5963bb1feaec15dccb278d3c47e09d9550c500a23dc192ee3a5e990d0f13cc0badc218738a7bde407e657bff4a979f7e387946483fb1f0c15ad85d6f2e977c68a06ca49a43d3bfa91b03707f824d569a60adfac9e607ac0c681208db395f8bd17f2b70 + +A = 4ee8ad35a25975f31965c362c4f43350160e7909edeb21cd702caab319e806f522d511c4f15082dc88d70c210eb8127d389d9413acfedca32f9059a76004648871e55991c44be932f5d0b6d3d9686dc7ff14f411fdd605d9499473d273c3a531657de0801577db7b2592506d9f1c4e8f2dfd93702637dbaba8aff8615427fb6c7371da1fbe9cc753fb919f7a5caabf0e5f9b3ed1d1b9c8be56b5fe5f5057357a42ab372d5c249c0a7a3f5cab08b6f4e53f8d0a1cc7a46f0aee86be2db9d29814f69f67fa14a364 +B = -196343ce38250328c3936bcecfd807604210f53a5c72b4af4867beee558604769663c097afd442c5ff7d08d13b1330e00cd82b84e2ce0ce45fdf77d040379800bb95db6c09753f58d41b1003ab4e90d2fe32443cc66af3c62225789164a64519f715f85363ecd5ee6c37dcbd3f048f92ee439f92062b06edc43fb2b09e0825054f0a91cb08a66ce0981c1c41d19b5faffd3b30334a6a300e2d651e11e60e625c906474330e1ed167e33bb1c1b97395279168f52a6805d09e66f1a7c98de52f175dd42f4039134d6 +GCD = 1f69c9385e3538c6e25670d9a0fe0d2237f84f2cc4b131c7b71844cd835206c3f5470bb2b6d47f828e3336dbf94a02927d692c7f7569bd2a69fcaa5e72c0acd9665a02c97429d0ac5cf8036fd931f331718c9ea1c5ae9fa7d2d359ce862bc76e15d45b2a + +A = -27c651e570d2c625c7b4bec0841fdd09675d4365ef57796ce2d9b469733aa20c50e14f3cf665e8f80004be44823b2b986977b4aa08d633fc32fc793e3a9d60a19834b5af8aac69a712286661baedb749baa6dba37835897d9dafd1fd307da6c116b89ed6010cbbf8685fe94666c1ef57c0f833b21fee4d6c5182cb157db2ff74ecd2dee6f16727edb2b741fc48681d04c94c0df990771f140cb7f6c0a25d4114086ecbd5965f1259773b05a60fd55e77cbadae4bef733fc06bb6a834242729b1e3ecf151949fe04 +B = 3504084a47db590c812c672586ae99635dacc48c3a42bdbfc706120dbf0273c08f73dbda651c22e7196054c9f2c832f720492b329873024771b35108a9d8b1263c77241d636df47c3590cc8fee14ab3c7d8cf18387ac4ea616f954a3b90e296660515a9403c4fb1cc2c36fe6491366c525d224339d44887771221aeb08ea1c51c913ec3f2982b257aa826404350568969557a12978951f4aafef2566d4a76873b121df9434f2afdea96b233475584b698d74a07e13224c1f7de10f68b0080fb4c6db3ce34298cd6 +GCD = 519fc7daedd5d32f9351fa4764942e1568b78f4469fc2a8d9e43fdc9d213aee766a001d0e83f80122394b487e3831a0550772c21ce3cc69669578ba63f79c75fa4ffa16a8c2dbf04049ab59b645efe17e36c6388957c4438d02409383dc96a841211efe2 + +A = 1196d041205af939a013b26bbacf6296bf76833afe634d5cf57827710307e98962f8757dbf236ce11a8f1cb94a1a8c5a7a4d6bf7227c4e404941996e63956f160e0a83b5c2a3b26c9b3d10050375977b20d5e61dd752b6a9ce9b733bc744631928a092a5f1d06d370a1bc0fe7beb17e6b742e7ea3925ea2021575930dbc05cf435d5936e18b28dd21d80aa626dba30ef13f48d86a7e10de95e3f9a9e479e3709da31310e25538dc9a8ed344f54f269250a6b95262f7a313a11fada099dba04664a878f5d2f121da2 +B = -b4643d5232b27c3aa1966d5d19a2b38ae378dc2a42d8a281e37319dbc9683763c022b508316e150d7ee3059c196a50d879cf0b4cc763c38fbe6321fb69f60a23e35287286c304ec77be43180a2e68fc4a315a54a12bf6b829e3b4823174863dd0f25f3d1a841101f7da4e3732d4b144431d04d15e5a6c4711f35bf4da4888a7e86078fb91b0cbaf7c63ccf4bdc19f19ea74f9ef30c6a41ad832486af4f42130c4f6d8b9b2bfaa77fca85ad60fe535ddcd7dd720bc0632f3f487f6c1f106099690aec4ba16b435f4 +GCD = 61e4ec9f6e205146fe076bf849faceafbd0de3582d6597283760b11e01a80257807d805dfaa352aff62805f78613def8b79026a457d47400b671a1831a91866ff33da9a5bdccefe7b2fdb3cfd3cd6f90b99dfd7d30e7d80b8836f645333af36754cf7fda + +A = -691ae24f1f95467e2bf85c1bb179e304ee83b1d50f8ff7ca0f6f7f42eb248bc59eab3bb6b990179f877372493787ee590efc2f0a5d2bcc81566aa4417e9f082943b9cf7fe32e18bc01968c73af31a2cf0266599fb270316dba50125879a11ee902ca94b8754293bc417dd183c145dfe0a1c57e06f1ae40e83c444fa56b384b84610da99489ff2044057094ae5f6e4755fa4c84dedac84365587f25e80e4aca375e29db21b3839b08865ce503e5d48859d97b253f09933758b574865b4edfb5e7962e9cf04ac9f884 +B = -2b4a2dfbceead3ee496271c6129cb84f99fd8d902d2387ae9d1da853c9f72cfb2a30dfaf85100063432afbe5a68f65fa7eeeb0661cc083eb4c3c7cafd98a980e6de9a59333eeaabf6251a504b2e8618ca570d504f8c9bb7c5d2a5ac1c7e5f76060d06d51d2b933aa4223069fe190f8831b28d7aa5df5ffb9bf707198c49d2210f7feb24266dbe6dbd12bacbd41b6c70602613316bc6ab68dd439035bc1a6876a9098a07db89f79e0d01f1a2e0abbda496ff6dd7bd2c71fa2f4aaa9d625cce015a5f06a1c5ae8eada +GCD = 1c80e95f7be5d775af933d8fe31adfd9bd67b7236ffa43fa10a51f5b4c7e494459b6678ccce88d29ccd9409d1811a60f5bd92ab23269440c33b76dc2c6c04becaa2afbc59f9300f497d4a32bfba010d847bbfc5d04b22b8c3a332d528b71de3db24cbd686 + +A = -f9990c8fa318f1f98e187dc6eca4075ce8f50d1403c7cec2a5c0c1cc5f74e26fe5879322aa438258f776a260471edf4c1cc15a111a0513fa47c4ea6304999bb5321b785b47aa68118198c2267dc68ef8a38101dca4a5cc3e9cb8b876a06bce26f96c819aaa68d4266e23db7ca9e75f9f5f670b028edff16fb8316d50a5833068d2a561cb408f00124c9b90e7986fbbcbd1eb5bd45eee3da02cff35e8a78888b20c43f8fc52a0c85bf9b760fc5cd3c9507dee89cb3a1500efec9467a1ddc6eaf61b113f4621958672 +B = -866e0687ed22b6932c988987124b9b1cffce7223c5c9e84fb8da17f084c747d46264d4e6df18b9315d4dd35bbb02bace7568af473535acee5d2f9b47593858f693450927a06b9f8efba1fc1a2a186fe4f7969a6856be1c01b882a34095383b8589c519827cd94a34db5b19495b2b6bf79cdedba9ecd65b5d4ba445236d4046a014ad448626ac855699c5d30bb2780f84805f0ef3c5d18f562947b453c2f61cf561c7237c59631428cf3f7e8a75b6bd16f10edf70164589f6047edf919bc8555b44c48d7d891b78dc +GCD = 2040d3adbd67dad5b7448cbef6f5a0a9a1cf2c30e2a43cc84dc590a24ddedc9a7fefbf35ab168272e88410c5c27be0a219e8bb8dfedc11e33635a17186eaed486936af01c4e1b986e7853a2a61d9cc3f94d12e93b9a45660f90e70651fa1fef6b43ad9982 + +A = -2796d5683b25d4ca29f1d39c98d351a88d3f165fefee3163e66fed6ca5ee50373c4be23a000019546aaa510009b960df63bbc64005e56d15eb792c9ea627f66068d07af8611d8ea0359bccff1266cc3ba5654928b063115d67b62e8b5e76a64a08570b5d46ddae63e23ac0226a5fa5406c7c634a5ed7688a6b440f740c1be800a8500587cd0755d2dd92db0333812275823af3ac6e4482a9379919d6ae78315f6e963b902dbb6652ba75621d13b0f703ae70eb6f3a00ccf6eb320730481c80698f0bfe17aa08d46c +B = -21057e4853134cb801ec73070de0dd9451d24034a8599e7236c06a6ce0d3082704d958a2a31bfcda646880899ff8ba2b6dba2f2a416f58558370eb79f2fa259471a27838139b8551ba740fa2e9194f800cd6a950d05baeec875a5d6abac69f48cd1894545fd4fd10793e67f2cfce85ff3c2def2aadb25bc5e7e6999857229612c8da85d55e3e6b9c33794df967499acd0f6d34c12f4f1146679c5941542d820956987ef2dcf6dc9e1ea00b17fad561d439b274789d5686950ddbbba784c20e4fff57ee8cd48ebd20 +GCD = a6c16d6eeb6241faace0d5644ca80901d85eefa9c97cd7c04bb762b7dccc41ef49f93c273788e52b115084854340a32a56fe271f7949a7639206207c0cd09bc6f0101bbab59a8f4875249caa3669743231ecfb5adb0e89d81b13de77e6ccfdda58ec8aaac + +A = -171843003dacde2d35330ebe60f7d34626ee9bd50abb3b57b169ab2c91f9ecc47917f476a7fb528ccec0e30709fb98d3084a8e3587f38c84288ed029e48d4cd0d8a0aa1eda442c86d09ce93214354dee58694061b3a5079217787a46e8df25dcc8850c1a6eac9ca08406d610a067fb8a662a62232a81d7df46b71157e99f307f25fa3dc97bc516e06d120209c87aca87f4d04125075c9e2a73896df2e4f87733d3c30f45f78956ed11c98e4992bc8f4ca8410d0101ce6b0d97e9fcfa94d1f902f90d7618ca9e5fcbb3 +B = 150f378faa79443b9ec77e1a107aa8a7bc55889797353152ddc2949e0af76e9ba3d2903559c369ad27cbb025895371744aa7544bea7c91387385ee72afade8eeed0da5a3bd362b69ff34b3b65d701b7f44ceeb146bf6ecdee8c56e3ac2ac3ba41d7ffd7f62bce95aa1907974144de26b6ae1ab190f27f839473d74c10f0756a63c9ea525a8b0245daae026411a713aa07c90bba1f443aea713eb102c9bfa2474b744a438f749e39e45de62ec83d1ab6429e0037b197552f693a4fbe893dd9c7284a38a542d51604bd9 +GCD = 62a6cc76ab1b4ef8ce94fe7098254ab7efac7a01cfc7957c0accbafdeace1db2f8ad559060a6b69edf0f4f8359eee7f7af1a1ca50f39fd9469a5ca83080e655e00059d1ecb1660edba16c7cd088bf7aa622197233b523dbca4922d26f399cc95233653531 + +A = 498762cdd4f41970aa352e0c6be4d444815399ab3067a5769bddbefe475bff53e3b71f50ab3f66eba9974751f9e12965256ebfad4c1f49d64af74b99da7235823affba624610a4b66f7e18d556c36309360003b41160c1bbd42f4971bf86ee2a5e04770c47c24fd660d93deca7fe2b51346aaccbd0509379d0e96583686173ec0fedf1678f02023089ef24e095462f6ccb3bdc58147e004c41cf0fb7fa843b9cb06c5790fd770353bb161dc9ac45dda9d869496e9ada13de24ffa47d0a08819d18cbe5162c1df399c1 +B = -4a6cb4688726892554ed2f66e32f6ef803e6ce25a19bc37efa80a291efb3d24287b5c9aab66d6e7ba4c920403df0a4f9a94768302c3f152b0c1759a4395d6e6222852d956278f7568c752240bac4c3f2fa7f20ac95629e3da196f1794dfc148e082f9c448f40a8145f37d1d514bbaa280b81a012fc34550a7fe4d50f118ba5197f11e216617d4ab15d9e789f5c8dcf3f8e6f938c130556c06abab0d41a06cad93267e4845f26dde0226cce36a7cd94ed958897e5183eb4b99a5170a7bf70368f9c67ed083d8d244464 +GCD = f7e7522cb3111f6c19f9a2a523abe270170dac23a11a97b7690d3c8963ed0aa656939fbe29868bb41d73c79a96d8775c53ec399ffeecc09cecbc453f32e1a7c38b9289f917e29a33ee713313581afb8ae2648fa45e06e5913384a190ca4742acaf92586a5 + +A = -4856fae34e2a2e62d5c5423010aa81e76e7e66ca1557d9567e09f531c2090b54d612dcb48f332a206d2cf0fb6eb1a8f012fb684cd6d7039f608de1fa7c3b271fc0dfc104d271d62e70c054cb5a7c1dfa65fe5ea5ce7bf286f0f106c99cc124c4d0aa243417bf3695579acf8d776ca799f1d11b95f039f4155db09165fceace9695cb9ba342b9526d4007c8cf0dfb5b52a612a57745eae00ed64b2a52a7792f89f87994f53dbe877c0276daf4b2f2fe78ce13d2d07f2639141e6d013462d7c9b39a39f5fa103316186b +B = -3ecadb4521e63c5a5f495d6e70d3bbf72f4f4c22ea1b4065256e0438bc9d1eecd41d1fe799718449720b051a12b0dcf57d034ad41e1c48e258651c1222769d611224d2750fb153880cdf5e9dbf7770ca3abf79c9081f5bbaa1f39becda307ed58491a3f263f367b20d78004aef27852b3f2fe3876adaf99a66e731981cb6e3b054fdbf230fc3659a8c92302cf21eb6a8970c6e933f40c9ea25d6e41d7825465f6608bde29a026ae09ad1d7c7507cc5132d834e72761c51468771e46d76c8d19cf0df241afa21812062 +GCD = 1004baa61c90bc74ae6997b6a6f38aaf187a03599fb233a49cb992a82fea4f72ee3b6e9ebfb7de41b4c97720a1b6503bf28b30ae613167621b9109da976d7b74d13e3af46610c810da3a959f5b914d504c55310ce21f690965b13811081c43395cc03d3237 + +A = 5622644a61731e8c9f5380b3ebf67b4283066e66b65cac981f7ff25e1081cd41c9aa50394dc1e5cffa0b8d3c338d453c013df29a9d10d1782cad1f7ef4da553023b36da6a927907af9acd113a14a53f2724d65509e29f18939c641128488fb68d724233b8acc19842b605ef510b539ca5db7722ae0d95c6d702d1361e72ee8abaf6671cdb9a0890b544a72ac1a363bc95b325a074aaae8a9990be3514a00a3f361a34bb83a515a5617c44bfb2deb265caa89790b360f24ee03145883b9f34022d3cfd06ce97b0f804bc +B = 6194d8a8618f6cddd71ca05d06b9952caea8be3ee209d625ecf024e2662d9bab06c31050eba583695908ca0f794e6a2a6ba4a3f71d30b8ca493bcfa884c3a1f64ab85c110d6f89a2e077f27bb7b8205e6273c185a7cc39a31453870fd3eed72162b276f6b2dbfaf5dafef3eaec04f9975a283e3c146efb40ea2538ebc75f36e11edcf4a2247003294a1c6d0eef7c83131a338dabea53f95043fcacae3d96f51fb2606ff688121885e51bbcf90a35119cf16a587130962d7126653020e4c88482ff4851ef87aa872aba6 +GCD = 37254ddb948c44e1539715650fba971c107a4cfeff0454424b6468ee595f9ababb6a01c5b88795e665c28fa7d30849faada5f9b594614e02747a46197a449443d0a5201854e367ab0bef206c05c74fac918fc1bde784d76655f280e41d243180457175d806 + +A = fef6c34675f1f45792a0ab3b547fe93cd2fd4d7da43f421eabc41c99a7930705c90c1b3b0fe0f235ac98bf16d2e9afcec86fbcb8293ebe031a5cdb880918439db0bb6954f90737d377e8dc8c97fd23f1ab6f1d46779c7c25b5e8145fd5879902bedbd2f6525607b385c10eb8c7df074d78eb3890207140c518b3c8066914d5bbf8cdc2f7f5aebc2b9c17ebffb85b95a0b5054c08449e09bf1fd7fc704e2fcb83221d3be05e7645b96226c2da3057099bea2a731c9a968c1213d7cb04bdfe35641f671534ac699b850ed +B = -7013c25dbb99686b79bc9463485c2f47eb7b9ad4e24dd724cbbba1390c43b06fe94661f6a2eeea1ddc20936841208539c87f41487ae977e0893139e0c5fbd44a60848cb2c9189c4290c3182c293487494c7965ddb66b0aac6ee85d158e5531eba04f368f3928f73072fd8200199d94ce619a0c5d56936d8f4969187b11818ea21cd76d75d3d0cd6cf5d5490b2cd622dde3f1028ca5eeb7f2ff444e4add8844b54430dc8c912cf7ccebfbccc5020ad4303abbf725db805835a0ab97b4de1cd9df6d5802ac9c98748977b +GCD = 73232880d57267ce0587b30ae15b47f7fdbc67f33263500f96bb975c6d75c91e90532c26ca5aa26855e51adee5868216cef0f4b9eccb7a4049d663c81c1328fc47f32d1de240a0e337cf4d18736c1f34e5cc91bf1a3707105a961b82732b62e2a3996b21c3 + +A = -1ee51059732f32908bd36bcc05b60ad4b4ba9ff91e0332059b0670adb1cfc73579e5bbcf1f4a014e5acadbacd1883188a3444588cddf526cb67661a85868e21215bd3baa56751425c3a3bc485d4a5b281488978d3e153e75c5daa31b088a717e980c8a070e9c43e00fc61a6a7710a8702a1b1627d2f9e2f4775d081c50ce3be8420aedb9bb843a11bb9f1762589cc67ec382fecf95f675321701f112cac48400ab5b6837cf9f68b750178edf492e7dbda5913799ca6be5ebb437deffcbe812ee7c406eb5f1d8298b698e +B = 2c8f835444d350601b8045901796b01991c0c97701364c53afd26f57ed43eab5eb25d7288cfd25baf2736c9b4d6ec77b553565cc794d001a342eeeb5810668922a0ca04325c7965ea603baa1bde0e32d33d71e6b1ff494fd17a8e0adb1e0f2cd48dcac522281712552286eee79a209bfe6097de097500ef798c679867ba771ab4c379475377c130476099966664530be6ea9bc7b9877519f3478ffbfa8d22d9382198389747897b600fabf0418790699d2b94008c0e00765a69a58cdc24347f8ccc1b50159526e740fb0 +GCD = 104eb83b6ad6e2860d3ea1c7ab438e266c2915d3ee1397b98f508c0ee5cb4cd06627dfe839c667e7f0d10c740d1a081c5e5fc3afb99407063284443f91e8ba34c4c8a0f4d54dcbc8c2bd02a971c965d298cb49e065fd9125ec366bb997f2b76832f8b499036 + +A = 21507e334c37f22b9d70d37d6255963b03e6b39b9b5d09661d03c2a0184b1eea7a4e8d0bc2fbc9403d9b8830ad85eb1c4e22610aea1364710e67b9257c2d8a5df6db9089294d3e4d5dc6cd6a472a732670157d2b39e6ee32d5e11e38c919db15105af99f903881308c0047e8178ff6ab781176bfad1c8d7ba607a16fd7c2884e6b9bc71ff2a81ad7753e18c5f9011331afc55d1e7ced3cc281ff90da09f085b75d60c649b2bcdcbffc80217ff805ab55c78fcfd0cedba38c89207f8754e833008168f9a84d57812150c0 +B = -13383854bc8a7ce691d2fc05a693f81f63a0ae434d598ba2470978160c317f20b0ae8c960090263f5054bf00e7bbe2002e02bd4224ad2179b980a3b8e5ec9b91e3225001e8f75ea10d2baca94b0f11106a2f688d316a68c955155050829065024e47cd0cbf9c31a713f46001c819b05cb2620c89a5ebdea8c1cf364f203a372600e165e4100e0d7b883fa9e9c678a4129b3fc9edfeea3e18adbdfd4994f24e08558cc4a77f3ad0a08423c9a7879a422682d80d611a575bc0aceaa1448d9b1f3cc533ae8e0b2feada64281 +GCD = 178049839cba8b4302b23b31005fe001ccf8c8243c4e95d883ded2f42952db029ce0594288cc13c86977744155eec92fb8bdab65b2cc8e5b1092a4fbb524baa3143fe484b08cc3a875b6e96fbd42536369dde2fe0e58016566c7244ffb667256c23f196d6c1 + +A = -5d92f64dfea1704aa7317339765b0b42b4450ff7dabda93598749b8828eb90ccecdbe630c8ec41f4bebc64dfe288dbc6492f764a85eba22bb36da1517d5b3861e9d821474398e25751ae6ff1f767d1a2247f67c4ad286d6f77377f6d40999071a69d35d00acd2cfb78e4b12411007762cadf3c1f076304483a08dd8f7b6b3b87e4e2b69e6b6a35a457e5168b7a5cc5735f30dbe042f90eff9833cb8c0bc84460600c4269f85011f0665d3a3783526e4fc87e23cc045d7218384acce0ea1397aede30721e06bdb384beea +B = 2d87714d5af41bac703033d870611b6c6a309091181b2cb08f5f97b14144eed5d01737b1251b57df1afbf720c33fb66d2856c1be043cdb5647e966ea3d291492dcf88f723f247759ed609dce93b801e678fca455a7cc466b7911b754dd27f1ae6774f79ea3d0ccd73e79f8bbd4620e5a573a22ff1b28be166ec6ebda893032082cd6766e94762338b17bb134dba81515ffce703a92ad4cc2f7863e52baa10c07d754088394c231b07cd8db8621f4f00012c13053c6abd73601d6713ababa9c633ebb9a4ed928cf1f8a481 +GCD = 38b665989165a956253dc7819a03641551e91d990487993def43ec54408efd9711a25e27e792b251aee4eed7a45619313b95967982658cb827bce80eedb0e4ae5f2b25a146b17fad50f532f76c2923d3bd98de2cd605ee2c1eaa6a5ee3212ca35f692e52951 + +A = -9815c62e65eec3c3fb7e2dfe3b69ceafa71b155154c4cd9927d52b3c52f49a6b2621a1d8ca9eff2f12257e0512827a1dc28ebc7f3c2bea12a82a1c103c7f873eeadf81c574ab5feec9c383a8e323c9a436ae184ae4aed43de2b8cf01a2c39827be75950eda80bf5d15e7096d9c2cbe520cbc8d6729e8f436ce11ea9488950ae46a998560ba1f4a4293345fdc8431e4d4c74d4ccc14ceb88e4e1773edc85491894f88e8e56931b460e7acecf050cd925316107f7713d2070220a1c3ddc397730940533574bd6f42af744e2 +B = -368feb51dbb5906219be08f069739f5cdbff5b58598f3383015a995320f345c8491bc6830b86913943991a82ab7b65fac430dffd4e51786f7d73cf5e2d9c6574e88c0e9520fd0002a7f7fa5df3e4f5824058dd171c02898d3d3a4f8a5dfb918c643b29d6ca3d04232af573dd75f91dfb21d74e751f2982f139d95b9f371fb844804579397a14d6c23847259d9adc2670a6a72c865dd1264579113a1488e077a758724621d061d159a07a5bd78545b3954ff7129f8bf46aaf35282d2849ad2faa31c9c91c16c9d7f2d4433 +GCD = 5cfb2483ccdc5007309c84b9b549d8a885a96d05f06caf97258f11690f0ea613497b058464297d69b3dae37da878913426fe5149be90338985557631924969e5a095e4025d614d5c170935c2cfd47165844481da76108599ce055ffba4e7737b2da0b68c559 + +A = 3d168d266eb73d3862baa050ba67aea7ee219268153f2751f932d0744faad7a983752b8c8d645e22582138bb7982f383da8e9f6485dc1633d870228107523c9623c4bfdb910c27573dfe89abadf569395a4c8739785a36ed10f3523b4dfba29fc1dcd164d3c8b5d2fca09fd24b4bc571199d7c23d932f74703e9f3dd3ae39269b113176231977dabdabd804565269c8097abb56cde74db785f40ab9f73f0a69a91c96decf8668e10ea0bbf56bf4824701a49b541612ba8855923c58fd796c2eceef20d78d3c27735238b54 +B = 6c31b3f24263e3d37bbb5d9113f0524333c992417495b2b3e247580ce55267ac4f65ca4297212ba35a385fc96e01a3ece7e1ef7f2187703686dd7bb22d28fe77697ff45cee7215081b31a33f1b1b684527c8b02bdcd388f9da13ed3eea689d36519000c65863488efaf5fb54a66141b3caf93158af0a7fd4be05f2bf9a35c551053abaa011c141550622bcf9fe1d1d4d7306a23db92c3423155498ab97496457eef48a40e45c469c501aff1511a71481c1d5b8ea84fcebf52f95551bcc8639d4c436853b927657608d8724 +GCD = f7977aa28e4dbb83c0a0bfb05ac1282ac6b93d0ce91f7f0c88586dbee6df920b8dd31d13b03574af99a027ddaa91104238d029af809ca9792886b4b6864b52e6f68262f3a272dcaea752ed818b259eeb027b695f39c3be795c4c76bf007866f3443b91dc38c + +A = 24225db6ca9307f2bc6eeb1d28068363a7dbe61102ca907e226e5f39668dcff694427894839e24415adf26de738b668a8a87d84f59b4311984ae062a44fff7038a88355f513c9f4e8fa1612b256f15c6ff86a24ed0cc02dcce5fea5769854e6da404eb7d67afd123c85c3e52245288d092d979cbbb62e6bf2b21c0c2162cb409fb0240eda74adbc7eb75f5e0704425bd4d04aca84dd4fd4938e2d003b9ae4a1a929addbc287845dcb65a8360606d4f4e1c48adee3a50a82312004a2de471ad6f3463e4af38e2e0727d680 +B = 122fe4639eecec24f0c45b2a3c71300a865480827ac5c73af917ceaf168d353b5795fe53c66449aa568f11dc25877fa04e3dd5e25a1cf0e2944f23bc5cbc3ad73c0e43e54cf0b8eb90efe7930c49385ebb49acd395b936d8b04be2677cc9178ba2c515fa60007085f87607fc7b26a75f787db0cd909114df28638c03659ae3034fb73edfb4100a0b838319bfdd23b2ae6552f591f99ee483b9e21fad115331d1e774e39d65877c56efd4c508e161b351ef2cd21f18e40de614112c9f5c2ca5a421e17154656761fa48efd60 +GCD = 247eed9441e3a8f7bb074ca1ad236d71da994d4b7b3d1d442620236bd36586e150bf674ba23e92e4b5de395c7c6338bf53b229d1ea08000e66b23bbbd4b92fb7a1c6c32ff2a4ccd727774154c734aea22c8286f1e39a7677fce72de7c76a76d07b8640187860 + +A = -280761750ae4eb940c9fdaa468842b33603926121746aa94b4d6ca2ad47fdf4b8ad7b2e3d785d93370a829c03ee80203f542486367a97da7fc950c2b503aae2165d4a9583a93465dee0c59ea756bf744f7c424c6153fbcfdc1ba24627be33bda724e839d27261ec084886eb04da759b91f51880762b5cef0e757654903cb4977d25a4a1017cc95e58b1c04cce6a138ca5dd1d168681127d5c6963825bc9f41d16fa2c845802ae0a62b4431fe2efc947c6898501830f261f86edc3ea16a50975a8acaa39ed1ac79e508217d5 +B = -2483dfe0264fdcdd7d3b6d11bd932b4f38c6ace3eab93a3831406dcbbb17ada477e4878666e114991d1cd9282e20fdc01d6e598a48828633bd78c6c68febcf3b6be8b67148120d36f9f754e76f3d7aa2c8115a82d36f5d5a4711ef017b3a74a3ea4f154755c8e8cb017173fcda8dedec77bddc2b0f8811684fb84085739fc15826de6db5990af0f5a9b90431dce6a558d4ce394fc421764f733a65fc98686c3c0a91f9e2f276e4801bdd7d1b5833788460e65f99571bd9760c6552c0014e061365d8f719f26bc8630059e4f +GCD = 3f2bb69be2308f8d9bd86f0d4b4572f8a450dba5225797a4d9c4513cc40468f5cf8d4ccdc55ea555d8872f00bddb747b4e3c836e61e4759b21bb7efdcef94e9f4305d6920f9f2f9c7bcf52a8c9fc021e9fb2b9f2006d9303b21b1e47d1cf33963820cede3d73 + +A = -107d197aeb03486890a3ff40862230f72ad68c09b60c449fe70aa75656d76b05815badc5c5971ad6b68ae7056493a582a93621cd7b77dbd665c92e41543c239656347391d7a17582aedfcff72244f712e0dc9fadad12fc9f38b0acb7d2b3265fa28f28e86dbd10c5d606c88bc9b63491ea7f40049e8313e2cff6efcd28310983527d3f2ad12e45eda7e6b1d9a36aea3718377f11aca645f64aa1626d8ef7a267e2b6e2571ef42adbcf09791f2e103c054d7b1a60da51d44570b686453e42b15f7894c0cda07a81763b8549ee +B = -4d980614ae5117edb7937aabb4f912b1564fe81a1da721d523c52cc44bfbf337c06eded8a4ba67c025af629c70d24a5b85cf1e7ba2dbeeac9268154f4a716466631b85c74d5d26f67913e4e2017dc57b9cd28cb78e866c363e91bb2ff16a4737b74d4768d80427df7aa9fc29a7da5250da340292db5bd4e3184051f0e812672772b8f1071147ef4b5e961d56db7e65aceb5ccd765ef1dfd61ea8572855bae2eee141cb719d9c72fe2631092d7d31cf2a54abe2a2ab4d8c3b5ff99a8bc026f4639b3eed49fa244d704bb4bbf +GCD = 5364a6650e9d93ab6a05cf7394a077c9e07afb9eb842abd095a785b6533b2c5fb529eab4174c3a051e6b955b5fbd9a99c3be3b3c44e714b553c2039fc0ee378e86d5c057a73204549e901306e82a738230c303e8962f192169a4c82f5279a8593064c071a7f1 + +A = -290fe19fbdc8e36c3e87af5b2510633c695da8dd1e8baa39ebb549fdaeed5ec44f615d4ea4b66458a2c6784faecf4a9e2d6ee2d5b702916dc7a9d7c8694f65b47b26410fbafb99af2db93e83d6f80ea7f79f88df5e24282acbf0f9a8c76a8888258bd168bfaad700d559e0073ba75502efb4cdc6c8272087f17998a0c4c2bae5f7fc33ec8d6f3e6b183ff05fd72d290c9c9de5cb2343dea97fcededd93f0e2af225346cd311ee6787113b0f8d29a8b6b0a209be1c5a3dd5e29129868c73116fed8f5d98a0c002e0d5bec0658 +B = 22ff217909c505c7cd4da00019bc1985c7941008ce16a336c911a42ad7761f11a4fe76854cc66f2bdd8026116ca425397ad753d4be0002bc9e79740118e7878bc89e69b22e7dc009625797388dafd377c974171b03acea053a4cd00477733f1e9bab4516a56bce614f6a97b0f116ba0e3be486bc0f732326b3377174651488a1225fec76c601aaaf82967320ec508f3be4f94369a73d7b66aeebab080d92eabae8f2b8db20823365ebf006c4db4bc64e1f1faf0aec8057d224fb30c846fd784c72b91500a31b1e789ef04a80 +GCD = 147486edf3c1eb2c9ca713d33f07e374234d76555da57ca46aa97eae817e1283c33b3bde1e35f797b744ae53de1406a8421188a5e29fbb896f3649a206ad35e1ece45ccf851873b2478537dfbc130feed4f3dae6a07e9b07ed5487e0b45055c651f8787c42008 + +A = -314f4a18611858ffc662b5c1260dfd6f3c810be13cc66cb455609c0594c63e49ece1e7244f1f56047a55bf54bc247515abf3d5003f063a3e214b4569c61dd8b0ddfd837867c6cc550f7a332a8d274463c5f2f97b5b15d0c387acc4a7937d923c7fb93da638dbc87734a8165faafd8430a16bcf6153fd8e984eea856e406970cef241e47ca97e3cc9df9e0ec09bba1a26ba25d522c792dbf528335f2592cbf509fb72b93d3e850efe4d04450c5a81ac7fc953439893a38246fde3da68cc81db889ac92b13e6e34ab3eefac315 +B = d8315decd7a239fe74a6162a4ba75cc8a64d9cd18f5bc91b9026e6e09cd37e196e584ef66c30ece3848d6ea0d293973bdf8d6a5e707e35509f0e5087235ef5ba5788a1ba5e4dabcbc974f5474bad5e92f0c8eb42cb220d2c1d222217338c05457dc0bb0d6d8a7b0e1025188120503a5976eda63ea1ac9012699539524ac16cc972a054a2adbbfeca181a80d779bc07284992a5a37f9efd710571e93de1ca41b70e3dbb08b3f59c4f24cff30e1de19b0881f37fca2140f015830de3f7b13931138711350aa719e9ef1d1df878 +GCD = 17b917648215b2852ce2eccad271d9b2bb321f0b65d5b23641f4247a29c13d9672d79f02d180d527d171b5b652421811b110cd7b9e9df182b2730560833692a0c8216e2225478f5a1043fe864a5ee9f96e150161ffeb4e9bbe71eb3112cf4fc6686b0e42abcb5 + +A = 3bb81e51b01c1a9632d6401f6425c2eb52d5b93d4ef41e66582daa74f273097f9c4809a0f7e94830ebbf0ad875ca8738af314e83a45e0a17e14255775d70a69141f1ee8c9cb20e6897e43243f38ffa1f2c71b67f752ccf49ab4c71a4183c5ce3ad7ddbc920f5a34656535912b3fa99bd9e7937713f32c99936c0486e19e846ee5796701407b20b08373307ffeb21e8280f692d48ea16e65e4942e08e19666b3df2f73fb45063d56a4e010a84f93db8c55dd1a5c16afc1c104f4baa3cfebad0965bb61fa62f02a3ebd7d5389c9 +B = -ad0c46736ef9c8968f68b7d9948e890c86624298a2e2c5cdca75e3d32ba5c14ec1e12cfe978fa615c6ac711942d36b30b071559225143839e1db4afc69e48dfa6607faf93efc069ad1be6625bf8749fb9176f46d16b85bfa6d1c5b8c84b966301c2fe680037e66deab01dd1fd0f02511d010e8918324d114f92c237f95b4efd9e80e82f15e677e74f8097e27dec8505bf2e9e5f045b747bb2ab15c629a5f9394a752c38fbca21ac54b122b0a9fa4d08537ed9cb9608f0729aaec847e325558769ef2362c19607fd43098dfc0 +GCD = 102af2d00763d432076b62ecb517a8bdac8373860cb21685a176828de7f9e39c1a66e612c046d77b6295d033eb9287e8a960baa3cabc6ee3575e13dc353b58836e60d8dad2be05d4dc60b0b4d5ebd31c032d25f9ad5d68cf8fb5988a78df9fda0b928679f82a36b + +A = 150282bdb80ca5d2b2e1d8fa248b5fb2a5d5be916d947beffd8c66f7b227a3a6a221e297fc3c4c7b0107796a9b5d9fc1d4038ebaefe7d52b7d2e13165c82451d033626b4e8e2c36b06f8cd8b8c396988eacb64ff0c5c684f460889e3dcb9cbd04229128b4cddea969be206ddd605ee2459ed89cf0fdd453f049eadd45ff4f040910f7fa6fc1c3aab6084563f9c57bc6f280b0f6439ae5767ae250052827b22cb615ca8c311e5c5e5c81fd119b93bed766254107c454a8ab7871d64e70de736f4804aa94dc32dd047c5c528ffe6 +B = 4833f9f80cea39cea88a47993e1bbe18d374b92c6abffa4d742ed9ed4321b1bee84e0f56bd03a362ef4f1262c870ec64f5af5cf6800d885f2eedec60f93596970e853b4d4c75ffdddc5cd257a4b2f35e397afab111028d705628fe7c75c6a9ae13d6af6175354e05df9e21c4fc7f0e86548dfc0c98424b0c232afa79ecac29357877fe87a55db88bdf8694334f7503baa5d836323f2c0ba3d745b32056b76530108ecff81bdbe32369cb0dfd325f4f68357eea539749cbaebe12a83855cd6bbf7fcad36d44bf93ff14d76e69e +GCD = 5b3381d11052f443eacc0f25b531239167105c6f1a3681e2e723de7eb469192b05198f4f1c299e3973f91062365f8e88f6f7892ecbf02a2b63be4f7d33c886c60e36391a650e3aa438ac1edd28776acd037ef58917b897a3abc26a295a7cab8b996caf53414fa + +A = -1f959229bf50b205f4d594b99721fb6aa2c7fe8cd067d50018efa36ee7cfa86e96606498a4d195db23a8f3582d7de69283ef10abf6abec3844b3ddb7e5f84097bdbcb159882e250ceb044f76ffc9944411e97fa932bcc4a2b4cf89c24d7c08369d044db92e03d29932d546b5a4de321bbe6c5c43e5490747f65707f267cb603ae7c6ec24b53814df22ef17f0a71be2e9854a76f38c97524491ca666e23687c042333d2ffddf097000d41b8b3bdc78d409ad702f2e8dbb50320eb25d2c60630a9800aeb9b2883fc8088230ca874 +B = 10791dc3e6cfc6bc6344048c57f1b84af5f213c025fa7fadbf9aadde871773ec4ab4cd4fe5ffdc16fd57583d90810fde01c5c7132cc7aecbeab86d7c5216d6a8f6805f34e5726ab4b510e2b6605623d5dce877ec4a3fe0f267a41b467c1ce0f807b5e51ea1e96eb94c2f03136ce1046e0fb7d070338714fd3af32acd65016b0095c44c8fd3cbcf3b3ac4799ca83caadc599ecac8c7c36ae8b728a8128337b037f84ebe84169aa9510571e3cbe73934e37761bec51588eb5d9fd7d41718847959c78e6912fcfaa996edbb315ab8 +GCD = 854341ad6c6b2035fc174490be2ad3964472ed109e7de141ff72f35b7c80e4d6721752af249e045fffdca7ae34cfe8a9fc3943139fdcc4c43bb909fd2ffc72bb296a3b166178b75e46455d1c81c38cb3dde91478bada7cda5aef5989dff6b43e8e9918b98a6c4 + +A = -12b4ba0f3598084bf17a73ab706f37f60e13b931d2773c135f7d4dc6d52f34cf5fded897a04d1de7e3ac701aa2b8117de85baa0a4be9b7efc231d0e00dad0346e1952db3aad175376d98691ace884b814195c7cf7949e6cbfb019bfa1bfa36f208625178c52c3c6a555bb17f4cd911418a0caacb3e93628a4997dee8dc59d4189a81b1f6241926c374717c1761380ea7b6c4e1624c53861d8606efe06a01846ad715c087b1c3fe76c9dbe81a32a6e7bfe43fcec739936359c1a995f56e458621c3bb0f73fc824f584919dc5bec8 +B = 1414e5a0c3719e09787f64a46147c107776b5d0368642a204f6650509821ec9fa088ae59df37154f0e36badd21171e0b6f33bf35de1377e5fb5de339ae59d96bb66f595725533fc2b4301fe9bd161625e25ba41b350413f50b6f322abbc4d4a0e6f12ba4b1aac8f2a5c7e893ead4b3faafcd88f50855ab92a48a62159112d503d18ef073a8d211a0153e2fedb974ab02c6563be2d3658d30d533c38daeacb85efcb5a13d329c7c06b3d644df88983a76948e281cf6e1ced33dc0650308da716f4fbc384a2b355917e8afc1989e8 +GCD = 325dcb67516509efbae96fd4232035718e8dba318e7b9d73d3ae01065e12c68399501585dbc55359e2c7ba49e2bb013e46639fbea79e90c9d88da020f07506e50799964acb941744679f41a74b82a86490a2f98fbaafdb89e36dca3b4c9f8b478e4f3bf72acc58 + +A = -4fd1e47fd914ecdad6b131d48395505ca4341b1e24070105cffe0efce7ec2848c602951ce7e7bcd5bd58c672371e571730f67203aeafabf883f840067c53a58089de95721b806c29bae1a14b281971e4d2b091f4c8117a052ec6a68b76073dc0303fdaa3ca6f5858132531dd15c5aeaa778572dd02d4532e023cfb39ffebafd1e2a7e8264e743d31fb0a070c77d08e33bb121713debd178f40d8af76697ec15b5cf7f140ea559f49acb9c8bdf97c9028d6e55e7024aad9be5ad2a23673669cc7697df24a77adc749bf71bfc6cae +B = -2a8fac5f3183df8c2ab3b98c12273f110c30d349cafa7e1cdd17fedf727042a5dbe7e0bcac8c14b6974decd1ad2dc7b5bff4ace997f9038bc3e97d411b5e3381a904667af9be7225e0239fdc281b62c43cc401af9b7eb010f396ce98e401b36111d0a94320bee8daa7c97bcd272ac21090bc8de17b53fc2ea4fe9cfb304b46f682a05633f9ee5f12f093fcb8ca8d284bca7cef7342ca21467405236c3f69b2a0d05d9ecfcd4fcc8e076d8ed3a1c039489007e567f0d1806534ebe0d699ce68355c2b70ccfa55d9d2567210c5978 +GCD = b9359f0391ea5e2c8a0d71c00caaecf6c9330e7753abdcfb42e5608a5593f903722dd222e57dee4449a4d32c1b0445ccfb157f20848b952cf0cffba9b0c12dfeef23c08faf77833d30e8ce17f98c2ba91bb3261e3c3447e3ecf58d6b7c4f83fcc864f01c326d4e + +A = 178ed2106ec30b65b08b0b24dd79b31a8d07510dd56f7455644def261c2036b0321da9e40e235bf0f8241e26823878d90e0285e0f9f2b404b9aea0459edfeac09171c27fec58026432188a475754c1e9659d04d0f3a34a61fd2f0e2c630761871a2ede715f3bb7504d106c198551fbfd51991cd07d91c8dcc6f68c6fae42d161128dc222be9809822dc16d95c08dd27b8c0ca72f9263d45033789a8c4d33ade74aaeb5584e62edcb9c5ac8b3abff4fedf6c253a849e1f8679548bca0f883e4c76fd0b13c7f98803c2ce8e37ab88 +B = -54c516ad07a7e038496372cb032b4f77f46f996f9508917fa065326a96bcafab421b0b2fa93abb0215a2307c8e01752cb3dbc182586723ee82ccb49dba895abfc2a0b4600ca0e43318b4562ca0b0a24bf5cd820c82ebf0982e0b6d376353cfd2a1044bc83c7a8b5e8bfb7ba4978f6906bd8861531e183d6fb411bfd6e6e2f2a9dfec2b0020b7959f10ff6c3e9834da1e35a58209e51386cf14d304d17a87d9b42f4c330d6c20acfb4ef91e5244d5d7c82b00af534640ebbe75e9449fe9061e8f3ea3732670f060d27b43ba24f30 +GCD = 46fdfbfd0917ee37b42c03b07321de682868704d67178832030418ef8d795fad359216c6c38b13f095f6115ca1a8d42b4f1e551340776474f59a4bebd1719d2cf8873f763020f375eea773f12242d6d580e6f69b585d6618947209d2615d9af9deb136b9444388 + +A = 46504e907a83503276354d465a9e7835dd1d39447d6f5c53e4128747e420db87a4d6f6eac237248b9d858ed203918ab79aa82e622c3608d8b755f6da6b5fa5ffbbbfa76c1c5d749c47de43a6bbb9a944338cca0fe28be90d89ad12979b8d598543b1447dce8697f4799a0d4ddae70c9d1195177c8a5193ffd1de052e15a2c34f9f550f46d0247b6dab40e8b6bb68433852f9185ba5e9e06375d7b565772909efe3a3ee351d89d0c2cf7d28623bc82c4ac7e77ef98ec55ca82763ca1640d8c2372e63e6c02b16745027b6ce56f7fa +B = 4eae9d4e2c70f0899f3c6c8cc74f2915f12fd900fa606988822bf254bc9c5095985a951d98b3c069bbda6fdd08a85e0f5004133e48ab4e757a33321e95ed97957faead6de30a0087548f78b9f44c64db94fd2a043faa1e8d57cd226c17c6553d5123b8acfa6a0dc549d5969b815b9f129fac9f06266fef65ad3a73685b194e85e381838c4643fb1ec6cfef7fc49daa369fcca7346ceaf53f9f9a121be0a240cb3841a67c214090461a111c7c4602afcb3078dac4c59e122ba522b223835d640c63d714dee36272ceb69bc48ac3c6 +GCD = 18a87a65011fad33f9f783dbdb0b13316ef778a985873096497d84b18201943c235e1d2681ea924414e8592b52206bbd454da5127b06ddc13794932f065f1dd6efbda2941121df2d497a9d13006d2d4c2039e935251ad44b98840b5878deb27ae310fd26d17023e + +A = -134853eb8de7792e6bb4b5197e9c55cb595851423998e33d3d53ab1fcc7eed63a60aff06099be5d8a3091c013dcd34606967f5eb638d947525eb93681422a402d33f8e12c9a1c148607f6615b90b089d850347f12289422ef5dca8120e5efe8caa1bb4b27ab132e97314f9c696e5449aae03060b2493374b1d7a97294edf087cc85a85a6482f6d5f26f045f7604698d7bedaef428cdae3aefe035d5ca97288febc854886c9b6b53ba0b0cba46394dd03ddf9199ce751fb45254e031c24928283491994ec6e263c9b136a64e096b0c +B = 16cb2aa16d372302d569a8662dda475890ef2e0710dff07152b42f3c6460e300af14d11adda2e8b6889a5c894584efb82d8425bbc0b8c8e3eb68e70a3903269b774a4ec947d3bad6bfb310b3fadb2ba2cf823df0a6bf8a45c80815bdb83257e18aadae98a27b8c4215ae3f24133556ee95b63c2c9d5c71e33169e5325a899a5b13be11746ef6b8604415ac9e161d5348f4c173898f0bb38a50b7d686f7df72b2c28635cc89ad029c08987261267b77c1c0da8cf4daec91282cb279d701811e41258db5dbbadfa5ef88ab35c2442bc +GCD = 16b85e0dfc4a7c1463c372bd09f43e6b3a191f0c6a074c6ba728a538c54327bd9c843c73dcac526872790a2d348820fd215d50e39e544bf7165b3aadc0477afe2caa9effbfb4c87be692b9df3cbd510c31de7118ae99a17af997f3408e7706a6d111275b6604cfbc4 + +A = 479dbdd255485fe7ed2cadd32a19a9e4e54ce3a48c17f2fb10438c89e53e6378740e5cc8c4866c448c1195793a0836929b473bc64929d2ec8de176e7bbd83f4ce0a4a348c0da4e0a646f6382c5ec309bf6c2252ed2d9e1a61455f9ead89734284e576b48d3e5e8c3cdc339d9032b3b78e53d67d8927aeec68b9fb5660a2f147a0bd8c22327b371b9d4f82e815fe3661ddf7da5361dd7706e2eb8ec2e6612f5bcf255e9303a72b685a2123472c79825458a98ea8e401c15e155f7f4fa97ce5fe2687db0d56ea4f17e589ca011c7962 +B = 47a2276424a8fcdd6551cb70b2e883f52a2fa62839e740448522f8a37897a2a76ab614b6990e07315f357a48b0cbf1d108ece5a33a2e430587c240543410302998b239215dddac39a496796bdd47b569802fbd4341aba23c36824e5e0eae8754cde9807a842d7ec891618fa03f6a4ee1f98890560d5c4762ca13d5eb87f5ba55ac885bd4721ee3311fdaeae2d36d2ed5aa552816dc9ef7cb8d61c15bafa7e16d692ff6dbe1d37e40bdc01fd2d99f8a5fe52ccd91836244dc55e277684eb6c9c5223fc68aa62e7f6e9474f333320e6 +GCD = 31c74f1ae4cc28ae9c88e51cb1b6e8a725939a1c4cca9d535cb252a8d17cd6931bf6eddde2f306c08f5d64e6361d50d5cadb714c2dc9f82a48c9406b83b3885c2e9d04d50196feac58c221f5e2e0507d5832cfa372bb881a5dfc737562f4b69ec53fc280c1f42aa + +A = 12ace83c8d7e178658de51120c6ff7042cd3b7ab97a238d88885f281e115995fcbfc748cc9d11793ebe291f6c6b4b39b26b34a4457dd72027d5ac0b77e580aa0c109c72a0e13a39be6b495ba2fcc61f90328b9f7ca1b75b720d0f6c44e4b1215658f1a6e8c34d3e3adb064c3633d9a9b28186616f2ee61fae4047bbaa9d1bb9549a2414fb52a7b1b8d76b102e7d0665802574f1f6f4afc806c4afe3ccd56274a1f6ffee163d641d9151f3002fdeeb2f0b4e67026d0e058287c3b5e79003795b1ce99af11470831daa9ed8f511dfda9 +B = 967e6b02ee6e1004fe4b2bd9be5de4cf23fb566baffec0bfa5fc2dc4def2800e1478b8212fcec1762f30855ee92199b70697d51c3683e204cc1bfb69ae5fc3ddbdb956f70fffc34e6bebbea236a9b19551b8b8b5e4f993e03d8461085f6b424b3d8bddcd333ea8cd14839aa22edf4598a777ed757d097a6056366bc2e66f6ad7101778ddd31c3358d2b02a43ab15a33306d0359417ec91f043396d93f9788b89778bdb9ed45e8ef28b30a3dc6ac558bebec45bbddd71867e2f505a7676bbd282c9de92add37a50dfad8ef08f1eba6 +GCD = 51c98373ecf6553f1b2747dda4475bdcdf43c01d5bb0cb466e3ea6dd217fb19b252fd6fd17638ba7f0ed4a30bcef060dd464202f264d85acf645825ebc6b16cdaab39dec692fb3b91afd7d5a51f399af800ac96dd087175d5d8c342f4dbfaf45c14150637f42003 + +A = -e269fd4af89e7752c83d68de444cfa373a5fc3156743d790318d28df826201fb3cbb201da72cf9c3714517b9331e4c38e43c94b49c01eefc1ad8e3215f419f75070ee5b0765a02a500ed4cc52c9e56fac05b88dc80ac3311745bcb6b695df8c13d0289f323131533b88823b45faddf9edd240c5aaf0cb19c962daa78a913875eb2208df9fcca7845ebdf1402f217bbc98495124ab003e9b54f0f7fc7f4e8da5d3db42eb7d511a761b41c7ea3603a6df0dbfdfaf1a65d092f0ba56fd9187a9b2d2014b1c845aeccb18d00948f4d239 +B = -36b650f7cee24b0dffb8d60bf3ecd31f01840e84bd20c558c7a2ba2d86b0ed345580f93292ff42365405ea5210e3bcfc51963d7f3d1eefa69e43b1c9836ec984472ec4dc4bb06a8b09de1c3169cbb9683b14d5c483d15df972d992f48d439fc44661597305ce8c88521a3d59e80722745f9e61d6466815ae85ba52335bf5688d8ea23a4c607fbc4414dcc8d9321e4683e258e8f9ccab49a078e0abfed4e6d3bad07680e7438849fbbb9561bb8e9a165b9128791b8dbedab4415c7cb3bd91fa72798aeff5393011db3e0935f073e6db +GCD = b9d76ba3efd3bc15756258c19b0c8e2bff206cfaae8e3bfe9484a73564574e3761ab5d67eedc94e4de12f4ad42e9d908b45e9b79fb87c4060034e48ff5377da0844945a5770b71d1dd18fa521cf0425efb27cf4bcbcc239c228dcbf8f54631ee3ed3db694a5c063 + +A = -bba04498cd3204cca36bfa305dcd5bb7c9ee54c8848098d6b04c51ddb45476cfa1f41030132c5614af03c0ffa513c8c7f4a5380870509c573c61aed5588a6789656767212a85c3f65db25f06c32529e598eee6b20d7291eb597bfbe489f238e9f7e0daaa556400bcefd39e6bdf421a79dccc2f4da088c1634eb8871b9a906e77f1ccc7f4b75b3b2f869e254dfa46884d452379d2103ebdb9ade615d2cb2103e9dfa509572b2fc925d3d1399f125848a94d8895d0a005c749f11f50e63786f7474a1c8258f7261c446cd634f346b310 +B = -a0e1ac596cd6ad5d6c76391d71d7cf973b9af40e70af97ed6d4cedb0596704aab60944bec9ca7c78b9626a78a8afc7905544a6045771b049c9523366afbf50a7bb183f2fe927404ffe5cfd7ab9eea89bedb7f1d2948521ad413db972722a590f7df032bc2ca289db99835f4c2862792330af3f3f699d52d32fc5a97574706067de637895f65584b8580860cb04548202fa0a4ed1a78c2c06411e6be4a5addf2a8652d151af7a335fffa7032b4d5540b11e7f60b7f34af984a29621f63e54d32d66a875b35f7da75781d5cb090c75f0 +GCD = 5aa6a389e8e154eb0ca4120058da179f7199d3aa28d111f379bc834987859cc8d2a021635af3a21ca7e5dfeaad33fb48ef19820b49dc91c556dc4d3440ec504e159fa83ec455c8a4e44bcefc63bc47c814f5eb44128bb74fe761a7e8f046b6d977b83883adf12ab0 + +A = -2a8d88ea2b666c5f833f986ed6725fd3f0d3793e18b743c7d0891942e519f101d653a9ae11e8600d785b3f46f4826c9d858f0703156d618fb1d7d2c37dcea8962d66df3bc5c00d2a4c200478204b6c793a33d37169cc5f95f46b5b2912be10b32ac5656a7fcf982dee420a9fdc799ab05c03c756b28ad97d4e1fa94952f0aa92c883927b7c7fcd9210bf07bc903e4e231caa13acdda3efb1fcae0cee44d6cfee93530ab6d7f62c2f33fbe21e8ecb676099a844c677744dfc59ee6ed0d4152f360285d1057a67e530a0d31a26f4d79d8 +B = -4552356256168426b862edc277cae7444bc934a733a61839e942592f937a3d6ffd2de989d537512aa30bdf6c137f688c20f24cf747312ad507ee9b1a15d71314fa8adc422f05d7450abc038a59783aa96a4ac1a67f38e8c91b174c3f0d1ad252349c783f99028631dc6927760acd57af214e40ee21d7a47535a0c3f456ac0b97ceb5e165eded205aebb4ca697f5939538c4c257bb8a8519303393714e08f56fbdf2419e4a47974bd2f194f21ac86c553c19a35c4b5e77d6ea649329fdec391a452cc2f91398cc059f83bfd3a14ba3a +GCD = 56080f82bbfd98cb52f632c18f6e276b1042d1149acf02773b233ae4c9d8138965af412fa0434e34f3f67e4298a214b744e74a1a92debfe01db90d457f83139cb9ce0dbca1385a7cd4cb67d42fe5148347e8d6aca0d7af52db2f9f60e6aabbdea6a8586aee0f7c96 + +A = 570d697470ad67a1bb68812535ec07e9cc38fd4556c4b332c2a8dc9ed8a97bb81d55164ce7743ee77879b05d7c2778a994bcef891c6d018b3417a4acbac92a59bd3e41db10587b7845c3816d037adfab0dccd8c062559d339e5fbcef7fa8c8904f1f67a2fd7830a981890ff5cfadd5d733289a9b8207265753091970b6f6a8ef7d0b639b7bf1da279cf97128690998c41ac2811f898b7cc45ecbd0c6b0e3a976286c99fcc6ddbe1bbe01bc65e22ecdfcd24c4b81bd2f0bf825c6b127edbea6894df1d70bcc6cd666875d73543a8d3e +B = -c8cadd60812092823981ba3735c26768b89cb5ecf3b0ceeaec33f810ae4f15bb08ba8250928df5a16e0f92e4f4f2a0d249fdfc2a27b93a6999490ca39220436ee6de8d6ed1af4092978d1ec46e58cbddcd4fb060c032e1a5130c1193eb741f64e4540573ac42b58891573a19b73cc1f751074d36c12591f7d6e1883ddcbc393e6dd2ca1a7019dc40082f3e9de983f068a37fcfc019a61ccdcc99f2fbb22bb6b82933d4ef8d0010e7dcaeef4c9c272e167c55e88ba6ec606f4048467027d55bfe939ac13480713a19e9e92dfb3aacd48 +GCD = 4f9db0766e42779807c5716e578f1e07a4336a86ad6783e251e61e577ae74f384f7e0ef443f8b409217a83567ea8bde6e847fab9d61304c623ffe34bdcf10ee8eca726f843f6d8cb909f260f0276b70488e8cec11a8916b3d5608c0e9b10caa9823c1abc999de346 + +A = -3260866889bfed187cb832a388875f4ebc7d63106cc361740350b8d2c1af6444dc20ae73d300081de30442d224aed5b7ed482c8b038bc16fdf162f6c7b2f38ba821ddaf0590e41892ea835737188f27d3ad0eaf795b3fe72f60ddfd612182045de8587b4229b4deaa26d1929fc4ac9703f10b0ea2820e88a199837e2d3e7fa394884187d64c4df7ce026dd4ff6465e1b41fdc6d43509f80613ccc37788dc95bee6b8f1424dec74f3ad8ccf446df3a11b86b89d8a0fdf6580758e9ee1d1b7cfb1da8862db3293b842b8494efac39f2a6a +B = 6c269d46bf0771c46be864fab851745c8d96a96bdc12068317414c551291539a73f551807b5916d7804e19032fdeda271abb369d04814a5e146a6e9b0d57963e45caa932f5b325574bf4fa1c736628f0759a68b63a9a05966da3c11ffa8eea2e26f7857ceca899eaa2339eb2d57b2a4a723aa74f4faff4db3ceb6a3f5c5f56402f7797968b4e1cf68e87eaf0856b62a2d1a4eb029fc28c173f33748952dd4b13374316d7e78b868fae8f3bd3f508fc82d472cea9588e5bf77d5bb200a4babb47e6a295acab69dc0675d2ce714f850320 +GCD = f4d75ba3587c8f87184a69802c6053d9ec75ea8640629d8aff9c13dd0f42fb65b6b4a46d907c0bc3a15be238915278273593a2b3659e7ff72e7763f31685ce0b5cef5cb25a498c4f4411085cd9dc4f51a3f881d962a15d900c301dd29fdaca123e7a759664ad54f2 + +A = 19e4eda7d88db106828b6ee793b51690108b9d53594840b58f60a1ffcb597712c4d0e092518b131e41c39c1a6d04224e2fa9afeea3e70328b774ed7f1fcaf5f3ae421f752be3419ce6b0602b9b7a3a85675ad446fc61461a57c4deec7287041b4c11299135ef60a672dc6ef4d1024ae40187743e952f0744ac911d84c77d045633c69248dc820a751cf83e2565aeb9f99a34df85dba3a53ce3a1276b3819e4864123bde29d2396aedee370ff9ce7f56d7682d5d6e6d5136ca0b65c44dd11162542999c1a46fa11dbd88cf9e8b9ee3976e +B = -123274288f790ae6bed2a05703aaaece2bac76cc86f671c6e496e7d21a6358f344b7b3f97e80259ef9aa246f002fb77895e63db6250146636fb9d7c2962e88446a4d4ccb44a10c112f1974f074c42373d0ea96906b1d0860fefd91f034d88fb01a68b4d1951b1d18522bc03969cb9923d454d4664be9aafd595b1685465ea1608f1ace6fac6481317c1eaa4856e8c5b65555284d0896b7577b4a3a524041de60a4ee826d93ec571877cdf5a8a5538e67720bf4fd77f69f07306653784ea5a9a785eddcd1a0da746409d0717f1361b9a78 +GCD = 3cfa3e2ae7977bfedefd1b3dbf2c920a7725a80068e2b6ccb00b543e89591b551e9e42ec400a93c57af0f19e4d1de1e9ea02cd927ebef6abac12ae1f7b3d8aace5334639afb06cea6899e6208fdcf2ac76c3d1656a76497b0dc3b94c47d92a7dee78df7d55c4192ba + +A = -42c7490e79549680fc543f3c9e56ce3c36efe3200446a55a3f8e010988d1c611fb82b90f5ccaeeb854ade1f065117145d4a160994fe0dfafecf809cfc7ede461d7fffe6f840c0d266e9a59bce2a5707a23a0c260213e629b35345a756cc32fc710861e273429ea2cc735722685f6e7f7040feb8f11737eb8d6577f98551eb95c7c420d4d70b066f0d0c2afb44ec7901eb7b34afb10c966628096c9cbafede2096e2d664b78653ff4c6f57c18f36eb24d94a57898ccd9acc815a5f89aa7a3246e1e32ab6bb2ebf693272f9f5c349897538 +B = -47a51631d32fe44477b979eb3c6f0b8c67e837ee37ca451e3b2caadf918f40ba8f97d9215a6d86174e1a3e63683dd5a2d1c870dde6b32081c4a75068bc3a4adaa5a035d3e2d93d79f7b70ec5e9579720e3ae84164c909a606958d6cdd0d3e33e405157693b678fdda9830a1d8e4583c63a60c3f217746d14b0ff5d8ea9693f2fd3d1b57f84bf43de25c4e9755e4e494f86230fdbdbc6b0f8af3a2b072ea5f1b6f9444226b194d7f9c715084b1b247365abcc5a735203f0621f6833da7b244245e8069dc37c94e34a5bae55547746f1470 +GCD = 851b5a2bdf41f30c173f28e4a35609f70e9ccf9056221d788e80aaafc043916edf0c182a4fbf357a45074248f7072fccf298888b48aa6ff874c92331ab5c3efa500f750e2215a97161bf1ac6e425f7330d4a3529e06b4a241972cfee6e5b48c6f04e0736df00f4e278 + +A = 992283e046e9449d053b046dfbad56a99f4145c01950fd19c3e0dcba65a571b0ebfe1ecdc28af8afb2b7b223bb414c5c0d357a147e19260dc42d6e5c16a663e3429c1a39d73040f3b5666535a6dc0c1130aeaaa0c429fd2f06052c4375bb4e8a8eece5dbe8f68cd7263db5a11f712253b056bd7dcf6ad5760dcee092957201715704b7e8d1ea5d603b720e94e80f3405561b63f249db8f84859e9b8326b83a8ea67fba23047f9a619642168b3d6b344b012dd9eda5ba7f17a9d71b25f0d037c526af5ec545d1fca5e5cfef45d8f9583c +B = -244806ec43494fb8afc2dd3f8a05a3b6ae973674564f04e9a94b2e97006a15d062b9fe2a1a32cab2eef61db18ad4be5a1e6d81ae618e14c6669e17007a6f81ebb169f2f60561c63019198026eab8a33af09588dd7d3a0612cb19efd355767e62c613dcf52b04e830694fec81c733bacce7026807279a74b5c88030b1cc13f5583a28e0ab2d77a3b2e0ace71eb05245889ca135d98222f6ee30005c516467c54dbee0b95964174068471049ab342780865d8c0f32d2457dc5ecbecc54b3c2e33e1a075563716bc0b2b625e8c4bb02960bd +GCD = 5ef3df6b409c57c5015f7e75fe3d9e68ce7f902ae1f89bee30ae0edbbab5ae7bbe7ead24be38961f64bcff23a46f0ab9ecc48b3094edca70b6315a5123d807f63cbe94f3ddb414ba10ab395414eb7e520f73efbb0954398dc8045b36c51aba8291a36b20dc30c5427 + +A = -2cfaf6ef7f601527d1861ec20c05c16ea40fe84da648b8f93995e4d16cac355a723a8f38087f46b4ef2ad79a5b02da5354a1351859898b6bbd98da6a73e99f62e7bcfef5082e34d8b01ba3b67445f2be76ba25932f0a5cdfc458986ffa41dcd17b87206974a1f5d31372a1bb3e515817de4626ee1318ef18ea2fec5ea1a6d35c05b293b96e4a0f314ab4876986d12f57ab6383daef654c65ef2eaf3a430fecf555101e0a5d050b6034f5aab975c397a813e25448450fd637972d437100a043590b57f0b6d0f3e736319ed09d93210aae61 +B = 49aae949c54424eb967e24b5624febeccaa784c8429707aafeb4e607d36c5149856b8aacb9f00e16aabb9ae12444fa2a8552e78ddd42fc59d596e0215cd3c69f3429181c83d10e8d1bbac096d8926b1db560abb765f84f11776f6bb083b90e7202435afc6278e4779bcd85141b8378988c4641d495a4446a85ee9d07a24ed03491fa07a7b77bcefe6090e03614ec0aacff5bd3d3f53c1191ee1c5ba241120158f2fe5bb72c2039bdf1b0c32f4e3075b6cab04ce749153b1897619a2606be3d1000760f94dd1ffa923b242f98dce7d027b1 +GCD = 1cade4bcf4010cec6c2e10399370d7869e74a95e55650ef8534f9fb47d832e153c65df3a7188e638cf98038e395daf10dc2ab1591c37a61f9289bb3fb1568f55f95f42ecf34c49b26841eaaca6a9f71b3151e11b9280eb658fba9c6de91bde34114e993cee7cf5e21d + +A = a9c4ea796c95a7b3f35c4bb336bb4b11da44cffecafc0db7d647588edfaf0e6d8141161b3ca1b87aad446f1e8245b1634c889f0ad314121f0d11407495ca3c4823b9a25e02c541b26fec1096def857e98d5cf0a7678a03cfd5746731e2764a36c01d95427dc4f1e40a652078e16f149ca8a30b9dfff2b3c08970c3e4ed9fc95cd9123a5cd83dd67b7fc93281891ab445496c5d4a5d18a914c1b5d6521d53af7ffb159e1575556ce7cb002ff96e9dc6c476427872fb4fcfe68f7a1fe5858ef352e7f658f19b920a060073e5d003a23d4678 +B = -3261ce369957b0db7eac4ab930729f070c21f6fb84f7e4dc2eb87093ada48f7b5ce29d81c59e98c2208c525b604376ddd40ec38638bb6e16d2a1d68040c726bd16762c6f60a80f9926a704c525be51b0109d6cc8b2a3e8679b6f62ac1b321a1a7d0cf36795f1e42858ecec24eb66d40daf25a5d3eb0dcecd2587ea19a3d213c840816000d51e4d041e740989aad76c73368c87450e997990ecd4ac6dfa55a7d4d62149c0a08fd072e731d1f691141bc60f0a0edbe84494f515a256d5ac8b62a0c129da7f969fb2b6556cb586aff71c7120 +GCD = 19aa3dd163f9dcd5205fda207fa62d9a5c48534ca7217c272f862ad89fcd57c27f205ca18cb33c5dc42adc3771c1f806bcedf912e1adaca321d3067bc9cccba02280548175090507c76c70be2a49d9c504ff0dcdb1e21d4909e30b5f733cbe1079bdcccee0b1bcbca8 + +A = -a41a6758ac0ce626a2f88ec98c74c82c9031fbdf08e4ade768fa7d0ab0901ac2928483e817feb95f0aac060803e266a3ba48be7bb1a7da130325802d3baff375250c5f27f4c724153d189cf48091bd9b00a51397af7a8c2530c515ac967664e2b46e15775682ba4d849ebbe6b77c6eb1f724d96f371b1423ac84a3a16ada86a81ab3e90e21329abfa3f47ad9bbcdeee7c7c24bf81784349844e173065de3249e9e5391ad954e3f1aa80bbec04266e26a43a9de8341728e3311da25fdde1677ef59a79b5f8ca9afe8ec646e5266c269ce37 +B = 127265cbca40f0619ce99fb0a9aa5186a6aadb7c39064d72dfad9f359c6e81fa4903a7243d44dfe67642267f9281c9d0ae87ab332bc11a056151c12e83811125cdddf25cd8520606c38105d9180634e2ec859a307c3a43f1c01dcac63832c87a1ae30060bc6dee9ff65c154ecc60a80986d13f0c63e82842ddf9a501fce8e6ecee9c44431b81f9baccb33b582d6bf95e1aa9f8f59d3345ed237548bb7b2d8002d79143a499e4bd700097a69642814bca89efb228b209ec430c68d35aa7d1f5eef19e02ee5a8e29b1e4cd1a9531c4bd140df +GCD = 2bcb6613319cb6ece4bce2323ff4071d85a84afeee6080c24a961a3645098811b27278993b5119365f5df0ef56129cdaa6a69023435f36c43a535ba944deb5f6682d39244ba097639661e34e788af0729eebe73d68290de9591d79c086a671447676f95fb32f82b709 + +A = 6e7439658308253ae3a2fcb6b11350eca6b3626524a4219f4a129608324afa72d44c1d942b884e4e4a1b5b02098bdd9838dc06fe6925f182f7ca12d55742d2531fd5b4cfbfb50a2f27c18c14bd54c18ad22fd50531fdff70662d31b8f9a01282acde6e62cf2257f0170fe22b9ebe371fdc595d2b341947e3a1d32188dec9faae778d34f303b890863004a735a78d65907f1204100186960a76e4d33c7bd35d6b9264dae859bb120b1fb7a3c198ec683426bba6fc65c46576adf22ca5578877d47742b8f7eb6cfc9b82cfd511a9886a9a208 +B = -affdbc796d31f7a8611806a0983b290007c7d75a7d3a11710cbf133b2f901cc63e6dcfd7f034e9e9bdd43a9514254a22cbfd50a412046b540b988f32c78f4cedc1ff82ff6c10e3a664dda01e886edc6dddee82077fa06e29c14469b4571238a7f3882a116a1c0eb6606812a665f11a9298e1d52ada7baf8dfe12ba92cd7c8e530d8ab5a6d2d41a15017ef74b83e5101824bf88c3816e2c12ef335b2817d655d4503452747471d998d1f57aafd78592f03f528381b3e41a58a03157710c7585a93d3ad8bcaf10885593f3bd307cdf77db49d +GCD = 493012046bcba1917df2dbcc2ef2783fb7759753e6deb8b65f243ca26b1ddb99893ccc69a964829cbb9fb00d6584ac80205cc7eedcc136374ab204765e89bfbf126924c47f6a5ae37a0505eb3ccabc7d8bf3845079524b323f5369e744ce74e78dfcbd4d98b77014f3 + +A = -324db2ff987c47de97f3fda5ec3b4950762c0591a96ba4ba7090a6d53b7f0e2a275a6eee26d1b90256e879d481b24702993e0c936814bfe2d823be8f411c713c8171491304ca238a547d626f2c975d9e9e3a2dccee6584e8a71e269f90b139aa98e59d27100369ead5fe18631581c79dbe81d16664b660e16c96d8ccb1191cacfd2f5c4753b482768b7cb2ae5fd3bef6a9aacb4d78aa2f3bc8066a885ff65dd6db8afbae13a96621a3f5164583a75b4e71c6c0000b6446838c886e88df2f7280567c5d1c571423c72e2154280407e6b4bfea +B = 153dc74164d05e8775b9e2e7431ff6eff959db8f33f4f02beb7d5511f304d46460ac7fee591b3cd45d79796aa9b2608053d9f076da2f89c78e76cbc8cd0dbd1de95d6074de5935e14a7d2f6cca49cfa839b7c6455786ae155d97187de33a03b7e2421f9f7337748490b312b623d0282465c2254fde2eaba9302cd84ddf78f4737e22681eac32108a21f1ff7d4ddfd74707da02014def614d09d275ec49823794ef97acab0293949a894d20b56815007493cbb8df2a8cd1c73d7fcd45337dad5b0dcc44c78a4a7e003b33a49af5ac72f7d669 +GCD = 9c45c0db9668b48b2dafe8d93088815943af4cb3f2b7048474faad800e8e8a0c785c0dfbd2960e22198a01567f6b3e0b991ba07d9cfe13ba1d0ffd227ecfeef6a181325ce61f6d290ef4037c6a5ddc60e94b7592271c334dbba5349ee57b93c63799d9e0a4af332d3f + +A = 3728d53cd29e37c9053b8ab8c7462a8e5ac2c672fd11390d1ffc4b92723537f0504e4975969a6e46136217bb4716f8b8933098a0763d883365526fd7d1df44310f6a83879cd4d30d4b4ecac02f73494853f30207113376f1034964f502032c776798976e1e34d613cac4e69bc6e995870c6f3028d7c822cb6dd8cc69c3b0c1d740155e07af6c1922aa3f97292f0cf1c4f9c55235efcffc41ce1cbc3989943d315fd0368003aa09b69c574135b73dcc94dabb54e4fe6cb3fab81c1153e77489a2e20d33ad2f01652ef00b536c7a61dc98cf40 +B = d1bb2a3567d3ee089830e5ee0445dab8a555a50cae1eb04b06fef95680d3c40e4446bff776c51b1c97b29db1662f35d14346c51d8c86bc946496417915a2d3b90751c709611f9a62ad0ad8c9d154045821c59579d00580ea074e3b150357a22c2f007f4cebeaa87af915f60f46eb068eb03c30cea7e0d4ab6f92bfbeaeca31b44dd562ff9ddbbd727d161a433f7eb8dca5c5dbf6743f868eb2e491c8ac6d93a9e422eda3d6393ffeeb93355593946b56f933c9fc30afd8df4c55c9b162dda608350feff9ebf0f198340158a75fe0f6a6cd80 +GCD = 130fe4fd2b091ac289b64afa11aee9521c74010d4a64c13fb512a07a80c397301906026f219164316556a1d2799a6470424e6a9ce0203e03e446d7d02e83f3c22a22baad80a547e4290e4184e8bdb77a69a2a89fba2134f433ba086dad62d54bdf61d94ead085335ac0 + +A = -20960d0135780a9cb0aeaca044f56006d0a21808a2905bc170afa846f43fc141e20efd635fbb214ee7e382dd77d9e128c1266120302268f5592d85e01b01ce133753d493543fb41e62cbf7ceb53be33f757545a19e93d2f28bd1c8b27ec236b1149b6030da7324bbb98bebbc5c06d97b3db6d1b3f12c3363df3d8b9942d3f4970946a2f4a78438c26d5fdb83f9acec2cf1252b86db03944dd7776ecddecf05edf78b1c5c1f6f1ca96742173422f9d8bc814a417c3ce7f97aad2242cd9369c33f7ebe69dfec94c08297567c80932e06892aac +B = 5c1330c1bd410946b99cb44fc5d0e1fa4e2b2a65e933aac7b3ead33b69902cd33552dfe086ebba6ce5f88976132593591c32694cc46b0fb1443db2d4c05750b824f77ae278aa42f947248b66ceba3140766db8fe832e42c58661b05971e77ec58b8145a8615764cb047fef46d81b28810f156b036d4e1dae0f7579efd2391ea5326e18fc828d368a6d898b966e598918f6aebdc0017d253848350ab81dd8bfb9165184be7482c4adb717c8d8aaf9301713e9390a698b73ea58be37e2628f1f191438380d3453223fa3df38b25c2da52d334a0 +GCD = 786b482e548965b1769d214975b6cba3478140caee2aedf19cc0adddeb05eba0c4f2e0c8b96a2521e7f549657fcc030ba10756a2b05635d30e4057a2b8ddddf579045aa7b7fc9cf4f77c03e09d82f8a0f12194fbfe1a8f9be145c40713ff49129a38ec4e16dd8f741b4 + +A = -13c0aeeae09ebd2d259e5691ebea9dad07c5309498cd33a82c055924f87e37a1721acdf7250cc93748d2be5c5c1a21deb205ac3903636aec5b40ff88cf7ca3bc733e1e0a428dceb67684970ed529b9bdd3c362348f1b5557458b29a0120324410f8cd89c8906edaa6ad5261e4dcfdd41fb72fa02856fa0e4672f5274a06edf011acc78de7b21850ff26b4a8bd127038b3b373f89709fedc330f3bfca998fda71a7f20c80c00f9dcc2fe6632ccdf2c7e53a2e7728ba2ad5d0e40b7f55fd12bb55280ba6222da2f2081a23f3f109765e14e17934 +B = -930a79283b37a9bd126fe8d54ca1b9efcaf0b7a710479ab4b63f5fc89bf39cb0174eaf663eb34ae199a3a90759ba7042618954d80fc38226a5ec9032a43ec8b2ad4af6f87fa564efd17f11bcf9801646e181ba279514406aad58567d9f9f53d50a76b58ea07f22f6e141c06c459691f868eec8eb9e56a40b28c7449ddad2aecdc00d838beabf2450c68f9d6c652ee592a3f2957f4282560a0e4a2e6d5787a6543c327c6f4823bf27d800c496e8b46718f3e5b7b672a6b35c81a3ded205a227d70b8f8a9e807b4ec7adc2ae209484e2f1584c8 +GCD = 3db80cd15358c71079ec993a417b2318c09e26bb5b1e5f02c3393b5b19f7fa897109eba8fbd406384b5b3981fb2d1e1c43aae2d2f006036a2ac825ff4ec2cbbbca56d2843d3b0152b4501132aeca06793e1f43aeef718ab1547b8eaeb2680472f2a65774f7bbf464651c + +A = -21553f8ed6e9f88a5a48e60e55f328b46dea2f55a64e080ad388af88c22f7905594413df715280fe937f7fd386ae43ecb53d55b9348d3666ec6cd144da6d81eab33d092e0b3480d431b6b35cb9d61568f64b8df364c929ec708de23313c2bff04b1deecc46b9450ff374a3a5fa8faacdb29c5397a1aa0e0a278cde58dbcad55cd772061a49aad0583250d4474cc24bccb4e6c00edbb5d10b84e80bb24c1292f605c8c9d804a6a6b4ba3e3801c0163c4814865c59e47bae162f9505bdb61aa81cf26f8c080c67347ce0b8583f031d24827b2783 +B = 48d640ab736238b9ef9f86e573f46229fc9269ac24c292a29760727f2f07913b390690ca7d66bf3af66977ed757e886354ea5474e9bfd8d305de7f5e679a96a833a42985c08e1b389597c572eb53b9e0945136e7322a51aa9b002a5642b4c0bbf2943d5ae4229be8f1afa4743a34178a3b8b7441b72d1310fa45d96bf878ffb3de022b172270f1d2e4b273b78d89f8b80e8f56ec94b8e1f17f7eaf1ca1812046f8a2c42cf652c4721c81ebe3a5a7f849c6387d67d5e5449965d3848beddd1ea80c2365eb806a5bd89eb385398abf7363c2a141 +GCD = 9e1947864def325c288082b6572ada0a696beb8cd761b67227c48a9a55db3fda0443363ed5f6e704da27d8a4e9bacf64e3d5580e693fab840d117cc2fd024f8f8ea2eca6c6b861d9e966eeaa7b041776a0c90a9c1e0192c8525888a4d7495c4c7577f1483eb4b536aff + +A = -a2f61f3c6ebc5314175bd5c50793d4dcd6bd8ab5908eddb5c7e453079f3b91684a6302374e43d2081d771fbc16a08caaf64d27b58461cf019663c6f33099112c16da67002d727026c27046cc50af8e5bed732e34d8820bfb861835ebe0623a66ea2d398aee9fc31234f9a32bd91be78498a009bcf86d5a88666c516151eb1d8bd77800233422f2eefc17840f176742c3ee3d218014976c0b86c62eb927fcd281f34b2663b498c8d0115af60aae8373a8665170d288e43185b377aa5df7029c32d67a2a5e207bab59f3d7582474f68375cddee3 +B = -fb489dbf3ffa155b0d820e61509a7f52f5357b9dc82d6acebb37f98fd9d70bb8eeeb4ce7ee22cf359895d96990b4e8245510427d74a63f80d2853c26f158fed0526c17b853c067e26e0a93123005f89c3df30e79ad73692b135f8f7959c9b0b21bd99d252d371e5d5eaf5418dc3cfca7c75b406740e7874c620140eefc748920916283563647d5ff3f6deffc4e940daed7ad3d98483da1115683e53888f3bed190db138fed7bbf4662b349f369e7ed38dc72cbd3f6eea86d3bdf859f25faaa353a7f224e8de34338eb82469cf56e7b00e6d7df +GCD = 13a484cac4f1fdd917ebc10a9cc0631a01cadeb93522811a8c7aecb84fea273e2349e5cc212b1a7fcdb585fadea58eea06e8f6fc91280ebcab8e2de2b48778d647da8707b546d3bbf067f7de75e41cc0206a9801e26a22571b0a43081e3e899948110d789d2bc85ea83f + +A = 4395b701cc83ea6d64835e0a3b6dc4e5bc5ba039cdda2f3ca0bee40d50a033cad1081c3f33b19a2dfbe58107ad50ed586b385d3b81973a6e172691f4eb3eaf73ee83925e3ff4c9a05ff845ab72461e0ec9a501a248830637732c0f8ca05170994aa5c8beb9881818cff6bfffee72c88451c5d12bf1323fc150e836de5949bcfd4d6fda8dabaab425d85c99b64b7504c663ae0274140e3bf8b6d2a8aaf5687c88abfae86f77a7bf2356f1399785326e2771b3c1d08caf476a8328a3fde423884662ad8b6ce5c6a17e6ee5d7005b4401710f2857b +B = -3f7b4559f1603ee48b25561a3be2d0b135d26dd6fa721c5e68f21cfcb63527969809cb550e9e68493a4729040bc2c6840d1e6e23407b89bdc18290ce27879a90631ee32625f909c028c26f4b9c27df253441fb73ddcb0abeb2c05b8474d2bb2506a6cbd399889e25d82809fb99e9ff6468e5b6fe07d64e2facc1391c25323ef8251c410fc36a99267e6f406ca468d7f0773a043f5e4fdcadb5fe0c50bb51ac27bccb963f2efad5e76ec7e55b32115cc677ff2f8c19f1cd24ddfb9a1d1e7f7133fc0670f6846ddf5b89c3489736aa425e89a1e5 +GCD = 3256b914b43afa449f729e5caf16e7a74422a46846511cbe4c1afe8e1facdb61ec9c1eb7d120aad212f1b42fefc7f02ee9c057d14b8727073a4b50a4a25c89ce61ac523cbfd2e0a2c243214edce1271494db117be2eed2417686605d3f0e98cece81513cdadf0d37bf7b + +A = e04824990c93c5bf859eb9993e6047e221f6e09732523d229846ce37257402246c99fcc899db1dfa3d179c2dde4582d260e00309fbc44e27cac544781412f592e9c7180368efaf7a0fd41b6924f7a17b39aad6111e0aa42893dbf4d999ff34b3313e46f49b83bf3227bb001bc217c3ab60fe920183cbe0b7e0d4b0c859c96229681f178aa5317be8188252b438ddfaaf3dea6cdcb282b3785fc3eaa49a9c85cc0a0cc0942120a48d4e83b41de62add66d0e8185bced36e4dcd2d206399e93dd4b9d901107f608d50be93e9ffffd6052d33d0092 +B = 9943ed6897661272cf6ab2d43dc876ef1ac444ce693d9266278fe47058b8f1c5f61d4b0e856fa0c27333655b05cb9d88f1e3984de3159302538011663ecfad4f2041cbe025c4afa241cc5639e5ac753b13500fcd80a99f3b3ff3fac70cd3fca11f6c45f080a6997d592acb3bbaf2774571a3e95019539332635e89c004f55fe4350245fb2e7a451929f1ccbece66144e9cc6802da8f9577e0645ab61f0064d601dbd8f235344468184465dbe467e8b30bc92a6bd77a74e792fa73fb6a68668d9a07508ceb140b2df9fd7ad7990bad3f48a1d902 +GCD = 4285c7d6573f9c900098add5575c13db7eb2f45a4403696045f4fa652b3bc792c57948451de05c2e9a89b1ccf1d15ef80dfe01493f2dd7d5bcab16d051ff60da2d193f053e19969b735c432cdc18d2d28992500dee75f1dff93872f21e15e582db8ce55c139155c65736 + +A = -5f48591f552efb265b53bd3fc779b6ea159323cf170834b8dbe8347e6dc31aa7b619a816dfb450728ea0481865c7510af876e4f380d6f256cc76fa046b7f799e089e79e20a7db398aaa7e2bf11bc6e659d94795ee6afddbfe1f139a45168d60fdc7a8339893f8b9b2ee762be7478ac82795a2c6f75992be4e8514172b3438081ea23a45dcaee58a0654442a4802b96b96a6a12f95c0fa2706ad4d06d2c14941540c34c7f2614a4b4eeb382bfca210da42613ab44ab4af185af54c26831150ec5ce84d2e48dc452c0703afa5407924979192e638a +B = 2d22ed7a7ed26d7365fcf0ab31f566e4d66fb31ddd8558646dc76668d6f9229021285233c885fd6b1cd9b0e3c68ef6f19b2889dbe3a48a71587dee74f3f0654f2d3f6492d0126e9cfc6d133e7acaee177068bfd8cedd8bc672e11e7e012bf4254d007d6c1dcf14c2bf129e4980a2d6ebde81e5ae7f1fb8f4fc107ec3090e143b0acf0ab50b75e096d06bfbcb571120b1c30cb1031e2749ee39529a1046c71dd23c4c6f80d3e2787a7582c132dc07a85fd97d3aa19732149aa3268c063d75f6e28c70199b711516c1f9bb88f284ad9e83f3da9698 +GCD = e0ff6aac8b2ed106e05736b761e8d50b55d075c2cd87d459533566617aaf707bd996d8acb863714d00b5f43567a96e6df1ac700aa713afad241ab0667ee580b7c7dcc42d5c4dc76e92b69b4e2033ddac6e07d69ad20001ec11f69a41b931e1a9d706ca22bbf20b88ed96 + +A = -f30dc9e03b781d1205699f77c0083db25033ff51a4c2ed5c320ca249026eeee3294202185fe3d1311c7d4d1e2b3f350bbf2d7b73adb6d8ccf4b10983b6f6a706c01a80045a110bf43e9709a01c55733553693b5086bec6f89769248a7fc5b68183b32c642800e1b8813488a1b7db986f8cd015eff30c889a22215f9513f7859faa2743524d8833ccd78dfbfcf7bb6c4e3559d646cdb812245c048824e1887bf83a6c7cd93b07d3c283a8109bfd020d424c65f9b970b7cd85df1fab335d31f087ab4855c1eed314c246366a53268dbebce64693fa +B = -d21e3a8635c79786b330b836fb676306831f0eb9e5f83f4183ac19a583982e8910e16975c09084438dd9335e0b29a08a13e0703ddcf92e95a48c4aa92eaddd8126d3469bbbc362ac2bbdf04aea719518c28d642a0628d8fda3fefb0274d932f993bcf231aff895d0c2b06a8f466fccec4947418d20ddbffbb2df98613da774ac8da6e9c093231040056b253038693482a3d6cdb8125d7a10998b9a24b495d94eddf850be7e864daeab9f46d6f07a6101baab685db2cd9eb491a7dccf177c2589b6e0546f8aff74a372f51155da8254d433fe17fc +GCD = 1ec6659c7c6bb687558a63707211bc261f6bbd97bd0e159b31f3083928b1d0384f5363dade67c27486b57b17630b61d280006e29d590b263fc93a17e63fd4bbaf2267f19059da7f16a2075a0fe64c480fd08fc6a2ba3ba1f96c914c8ce5271ff2c983a41962116be2adae + +A = -470776ee7edfae83c1e780efb6411ceddfe38160a199b62428f0c52f0c430279285e374e3c83544b11bcaf779f2645f4f5fe6dd978ff0bf81ca02d5a7d6c8ad0e770046c712c4abda8b17f0b9539e52fc31a00ff17235396ad8cf638ce688767ff7b7c2de9e95dad03c7981b2aa9be16cc5a7d0db915c5a2ec05af056ad5090be5d448b672584b819a59037a74588e0bf6ea4436e6626e741a86c4b907f821e749ef4692ec20284ca23e75f2493c9ff866127556a088913354b218cd9132bcb48f49b0311ba8a1b539c19169f297f91a2456121d8 +B = 1ee493fc66c058c7215909feb07ddef942fe0424de439cc3d2c08d3cbc6864965657a7bb8210eab31446519e0c99e4ff5f502e516a7cbfc006c77a5fd926dd876c2fa51fa2073a9d721031d26b1eaa461f25b4eb95458b131d134c4f88d3d3deb361e37aee07a69156e5ba7e1f7c31e0e311d9530e089d4f4bec878391337d21469caac27480b17cd82aad4724e5d5d0a1cf07a61a18f22f474d23d41c1577b648fa5e97b70cc8f3f263d2c38503263c8ebc60c14adfd54487caf80a70a8782201fdf675f050cdf3935090eddda8e7557276ac5e2 +GCD = 472f7258b3fc6444abc1194b85227a8a3507fb003cf68cbaa692e543778acf9976bcb7f8763527eb0b46686591fbc3b5e6f9c1b759935ca9b84f043de559e5bb2909752ac488f6d1aafeabba5af8c960531f12f06b8cf5c65b9f0617ce0037f4b6efa41fb7d31fc3e8372 + +A = af5e15d8b89b46ecceb4fbd18b1a08df5f057e18c242d30e5a9d8ee23aa64b49c76cbb92fa896e71563e8141a389c97dd064fb42c5f0c12032e06d6634153657c38cb203a0075513d347b9a9f1e6409c398239d59542176e32dc7fd8b4fd15aafd502e4b85ebe37dd6d8c3885ae90e319ec3210ddf1dafb0af681e3f12adaeb6913f18112c6f7ff9f97b791e4d5d8b371c845929cd5bd8552e210f578911a42087b125e499f853d76f4f913cea5c2838024520287bf1ac69a0220b3f0eeb5af70f6a91743101e1f41f8395fda1985c21d0f83e7c0 +B = bf03779147d6706f6af24cd390f924c332c6a6dcb620872bec3ce422e6c4101b868d8f40025406f0ce1ccbd52552e323a1d7ecf78941c93a11201d6bd2316da427cb3a84844fd90cdb05708283b4421beca4a7b5273885b7ef5b973213af11db640718f643738d40595c7a8de3c0c2da6c2a05a3751786ca120c56045225e79abf38b976b2be69ddf0086698036141a6516951eb6007944e2d156dd0f16f300472e95b3bafc1bb367def840c61c2bddc1bb28ea0040ac61291b31acc7675f1f217c85d57a8339f0019c35fb56cd0f3d9d99155920 +GCD = a55f8d7d9562c4e6e4180dda74cbceaed91ea8c6866a5af383052fa800f65df1e2db6ae3721aa3604a9da30cd0298e659dad33b0c4684420b69a471c1fde93403658504fb6524b738ed9727186ed1819db8cc27d6526ca0a4b10ce33b2c78bb455a492e10ef67977a2760 + +A = 2ea2383b39104a440aff46d2e5989c8846df5f0c439778bb3b3ff91caa7e6cbbf80bc7cca4e3590573b9c1505d9d5a8c2cda59af8ccb5de20ccadb5f05df216b6b870a1eaf8a8737232ba6fe0e21001a7163511be5696d48167066f2b5a1b6cd303d02abdcc65989f94e3f82e9c5b0ca25ad827245fa1394921f100c2bc148975a831bc3a0b95b165ca25deaf6eec72d38466fdba2225044e58c2050909a540ac6284b6c2ae3bd76a678d6b01b5abb48f954b2da7b77d8e84cc92e5ca3c1768df7d1114f934ba19974e1377a3a4e36dc55b50544a7 +B = 2928aab086e84ac5fb3170784d45741e720806340792bff9420e29faa287ae9703632d8e0f7dbe5c09a9ba71d00ef8fbdaf4a585afa5527ce0de6c3f73d8f2578303b9c8bd9d7d981f3ace81d42c303c013d39535fca806b117b473ce71b215517afff953e6540cd519617f7b47235559c1ced8648d694c4e9199a2a460d6ba75c0218fa19be6e08f019902b9df934a0e0243e5cb821617d5d5b0165e4dbcddbda053394670393c362e1c4383356f6dff2af8e2dcda069f7bc8b8eb538cadf71763e4f0a8d54dfcb1c3f940618d37218f6a11a210e +GCD = c26b8776797890777ec9c3c9655e49e2e4bfd6f6abc3b47dc9009d7d87e12d5df260dc583cc98084995e24604312347ee7fc5e2242ef46edbff1a03789450607190afe4b9b45236bfdefabda85f57a0ea2e25c9340101fabd8c66e3a2b6c9cc460c874e25d6a5c281a3df + +A = 376ae2158155ee514271540a043bd8785c45837bfbe3e9cd22681d12299f04158e97518dff8d22c66461f65756cab407c8857966aa14c1a5d32c793ef965525e29d8acee92e8fc2d93c6245b575ec46c08ed2c26b5bcd299049f8b1e12b1a11b0a287c5eaad63b5988bd00e55744b52a5059c7c7e9439d895b8357f1401cc28d4c7512b7260b15a8031574223fe37667440d782bc98099b4efe6c4216761234e0d57cf723a1fbcb8f4840e791b52558dae207bfc444da5030d5f4450797adbbf9f6769ed8ffad8fff44a52bb84eb6e21ce756537ea +B = -8ee14eb4fcb63e596f098cd5fea5cf406d2d5598bfc8bb238e749503fb6f986226046f2481c321da97b1927af6192dc77e39be7ee659a1416de1516478ce934835f7f73f028c558158c7e6607c4c9d0fbd0ad0d85917fda76407fac4ed098d25fc431c5cc2c5ba3518d6bb04f2617d21b6cb027288ca5060509591d4110e52762d46b71938227d9490901ef77eac66e33ea7e8832abb9ad001e46514e6b7c8e9ff0167c110c3e2bc838cd29d6f6924b9808c04edb6b99e03923eb93fe354202718b8cce6d37000aa4c98ccd3a68c9e7810cd5cc0e +GCD = 13a3bdd7d93c387b214d4ab924aa23efaf686bb517116d4fac44b81112aaf4e10664017e2704aaaa3f4c1854d6026897b8e59a13009c8f387bb83fc7f3d5a6dff80bdfdbb39a2dba74132c42304a5a059984ea8615d1b4ea3ea6b8ef6e3bf30f3b8ac70d4252f04351b706 + +A = -63f220d51a9ecc72c8a0478541b6f187ad38134c055ad52337980546aa581c96125437d47cef096f4dd5ac61ef20e3165d2a051d993cabfc574a610e4245e7a42c99664b7c7c7b858748452abe51f66e02ec2e49ff003537aba854c485c747775ac33d9d750ed1d540e3c3df35fb1c42d6e4dae9c602ec043cde88beebc91df43fe8378199729bb7a051ae50309bd71e756b58199617dd86607f1c4180124b150ae3a285de5473d60920a8eb2828ae15032ff40a96a4903e5402136984e7ac252d53d3a84ec4c61d4e37312927e38df078d1d602083 +B = -2654686b932cc6e275f9cfe5a5081a0ba788a007d333744766aca794836750eec8c57e20bccdbd34ce418fe3856780c6dd7ec37dc5690402e474220da99937a82cf9644a4f96996fa3b77f0535cb4cab46a3d270ad2dca3dc367b4c495d6bde8f453dd2fd3af49ef13246fcd2e03adec7789992583353bd3fda485e53c79efbb2ed69af0221ec47bf5e48a05839a89517b84520af4321795fe4d0ef303efff9055f7c04e6824ccd9e91c4a61e2ee12ef07f338a8a907553a863663a6a8757f66015dbda590920c42df3ae9fd3b9c09caecef3e801bc +GCD = 3822cfe15cfb3966ebfae76b53c2ac36215484883d019f699edc77c6023e530d70dfdd60c3e1d61a9edef076a988e1818860b9d3108f98af2186ffc83c8981e0a83d7f0655be11f5c6c8d9da05c0943ada2182cc4cf514dc6be13d39f802093ad63c0193625ac06ab397c3 + +A = -23adee5c85a79c0a55dd12cdc9042a1d13a9bfbfd6845fc39a122c39a8d573939931446329a0c89fe0280bb2d9689eeaf407ebfd263ee373d5c277cd8203a6179c3ebb87f1d260f89f7c5e62afedc7a3f8fa67d93324038835213e425ec6ccd644c7b9628bbee49dafd9507b5712532d7d2f1478a561cb187fc83dcfa06b19d677b2e9cf909f4c14f681aec69d6e2a3ff4bc23a1a01cbb8d31ffece65af16662a2194276cad5f288348f9c1542f9e4d2c2637ae6c377a71b9b33328f632d54206a3d1e854ffe1513ba8761ede4b541fac95cd972fcb +B = -11c04e9176334d0d94a9b0b549e435b15b518ea9d8952930703778e5ef01d7c1205aa0c41d6ac0c1c78f951022c75ba6a738a6d7ff3360a187a4b45b66bfba91eeef8894f45292d5304eefe308df4483aa962d2c0ce3e54442fd9e19a71b27e91543b0145e0522c8919935c196e5f6e08da182ec8fc24feddde107ba76b6a8588febde5a82a6fc34540fb368c31a73b114e34172a921dfa5f302abef0fc7641e7b61c0604e7ad92f72d3e8ad85f40dff9f15e565bc5492b93ea29827d446e1b54594e644339e1b3a212048e949639d5047e4a5c835ba +GCD = 54f50d80c7e43770f7fe3f081d1c94e0868ed09e65dbe2ad01e9b60555bfa164e26b699c3608d86f962663e6500fab6852c70f2a61a45feb29b52d48981368b1b85adec9334ccea116d55fc8e2b27963e4109200829e1bfdf42ddf0105d38dc73fcbf8cabc9b15f3fc7ee1 + +A = 4f5a15383f578ffbc4dc8efa64328b7e234b0346797d9445773d883a5da940546d6b119c142cab6b2104fe397e0a0616f7cc31653aa3d765e5598e19ada5045c2c6f75cdfc381f9785b638c9056cfa45b33107121e2c5517a7b3ab1768313f3e8c476a7eea7e8d7fe3e5a1a56b1756b0b1f7913c7b6cd14c390e6586cdfcf8182cef221839d2ee30f71ed22621b7f71960340cf9236e419517aadc22bdf0bf766bb58aabe60057bf354812838f21bcca46fd67d642cc72a33fa16accb864ee39afcdd8d96749d7ad24bbc6f8331be7a6507776f13432 +B = 7326aa2bc4c04d0b61f73c281a69b6f2299a3b0db947cfbb79b7f249c5f6b65b386398445e00ad5dc52c395b4fb259c2c7353444396b294cc8780c8f3ba1f7dd857ec4a602e966f75d448fa310add402f8041b0188d7e88b751c71cd967462fa6a8ce23285e2c610597af59daa81c3b340eb006b66e72295914aa474838fa5c3077f2eb50da86dd03e5a10150417fcb3466b9bcb852ac790c4aad5ed90ac74704695c441be98e388a6d1de914b06a48f01862015c49e72185faf772f80c8090603a64cdace7bfb414dcc972727870021f7086fae1fa2 +GCD = f36d2d696f9850261ce219dffdf587dfea93c29d56dff4e4e198874b9ae43c57b363914c3bfedd787e362ada19e896e0086258b91b21c47b7443aec5eeb1dbf492cf2b5c61d53de4b5f74175a4317c7b72bcaa571d47bdbc97d45df32a7e792499e8e8901df937fd152d96 + +A = 4834f5ad8b267c3d77b5588481b8c20919aca3dd926588a13d07a9c13ba42b24a127dbae27feaf6949e3366e80c29e9ca58770f9dcc1e99143a8f099aec27d3beea8fc7edd6db12603213635cffbca3de9a8a698664d05265b591dcd25e5a9213c544f0da31ab85bc4fabdef47d60829cd9fa698d30a638b1b68dce429a9c2fa3bdf8799d95ade49126737a553edd5708a187cdbf5aab13f4594cce2a947f6f0ef5b997792bd9a69b02d680b14b60d28dd4b73151d73ee11563e4eef2f4da405a937765a5424b7024b24d6a8b56e07c2e7a8481c2200 +B = 16dff423e06f1699b0aedb601aff0ce8be690671c7d4d8ae3fcddbee4bfdc064022e9bb47c34a32af7f95b19554a79d7b65596256db6eaaef9a2231536e0172a86e550a8dc8e2e302bed4e7bbe31b6fa12d66ea920135b5674a97c12ff1923908fcd320e83187cc34e7df39f72904d8b7e150a89ba2fc46fede59cdd4f728d65cb4e0bca0fda09c93b8b1d11c15d2ba39e13c7ceceede607335dafc5980c4150f510257308538ff9d443140f32090e73d59f82c642185439b002da6a38d661f9291041d99a6e6213855f082ae70daa613341bd177dfe0 +GCD = 1ab875f3f8da5bb12fabca8c0682682beedb859325bb686bebf3e470a5cf58c186674cb54b9c778c0058860b317f7812e74bb6aacaf4bec47162d797f39cd945522017065f9ba32565f1c0436d1ba5d4f4029fd7ff9852b3658c7b59a91a0a87f117d37127f631f3d1bcbe0 + +A = -14cd3c2b85932d460e19c7418d6c54fed7a8784e187dc41f7da8eea544c29fb8ccf852f97364db09a20d0addc985c1d4ce1073b449b0ceab2aeb17500c9ba7e5f912d0689dad3e23424445d78ddbe91cdb1c3861dd62ab18924c8cce06c6ccaea2e0caad6f786b36ff1c2f9c5cc9812f8b2cc507cf52bd871bbc016010e5142e0f456a3bef43cda12f77369c9f2321397107e3c723ccfce6d9425c8f5277e9024b2aad66ab2adfafb40c52e5d819362db87bf06e3c51e44d1cc552734ee9af8a9bcedc860e996e2c4f0b064de98cd08debebadd7af641 +B = -18d850b77e1cb63c96fc912150741c6a8ed963b8ad516b5e3b721928b1858ed76a672a9682e7c84ca99a6dbf6eaec5d68c0290801828dfb55abd62020e71b9c041fb3b905d2617ca029bd35cfa1c2c034e6b8e63171538857ddb2157eb69f582684efda22755ef851f8e63d098707a4b7ad73b0b67e2ed88a60fc5ef3adafe294288961ae92b34165e657b32e1ba34901744300c4586964b6b2e36202932bc5d516b726df63c487c13a13603bd98de43d2a1d70603df6a5dbd01b57788b8dc0da246035b0af2a0e57308cfdb860e5f0957fdc5e6327e5 +GCD = 34b4936e17939aaf24328b54e99c6b6f6cc932dd2562e390985a73f94db4c2dbf7be0850f76cfa25df20001fd519563bef158b0c804c5d3071a6f7f6c961f0dbf89d0bf6bbdeb6aa358297a1c9fa30ff300bd838d1f36d44099477e32cd282b7af5b871b4ec5a8a22e210b3 + +A = -811c871564d5b3ea841d103932cfa48ac9f8310024d6294c5a2fbb5ff19d2c62f55d2c25c5ad0031e84ab35f2d3e213713680573f4a36e4e74645f717e1aa2d2f0eeee8d43ed1889ca698f70eddc32763c383f0757bb523644eacf8f01125f115010fc8366238f609d1294763f7911c12210156be097a818a9d0eadbb621b67637b59cb3bee59dcf60c96230d8504808d23de4a2b927164437d793d4559fa718abd18ccf2c52ba05f447440890ca081dbcfccdb059d4cc4fdd2ed6573cdd91df8cca75d8881b135702b4e4a7f8b948ea8497e8478e8c2 +B = be146436ea9abd765f9dd838ce33807ddc12454b94bd5d9978b388e60e417b618c639e67655dca27566e04d692be56968a95f663d0d70e5228d2d628ad1be390bc39a4f2356625c69b5f3885e7987721c276fecab6e23856610e578ecb9ee8ab5045169b0733e5141209708e9f84c9c2067f08a6c1d551d84ea349da2d15e622f45b56e8a4a6856290342c4a3e1045919471722bc270cc2ac3420f0cd5cd6bbe657ebe036083c691e5d288333c53c6ee7a83092688a2f66c96d5be7f694c1e31e57f5769023415ed0f077280630d41f23643a89e91c32 +GCD = 600671238399ec8ec83128e16e8c7b702511e4052e5bf2630dff45969d26f1e125e29dd621d4e1b176477adf2f8aca3654beff0620e78b3363d6a97b9dd35fcb92f369377fdb49c385a080f883224d10b81cab74920c54fff2dfbc401e5023406d7e0941ad3de9c1e52c93a + +A = 2ec6c6997943d93491835a059adfad16be937bed7a11bfae86d5be980ad1f96e3584ff486b197ebf67722fe0656d01c8acb5d6713faf39d20a25ad2ec247cb7688336ea7c377bab1dabd3d5c6532a5ba0bf3330c7756b4db3f5e9d7d2145558ecb3f4a0b4acacb62ff2f37b44183da773510c6e344ec9c474883905c32c9abd405036639f2e7be7f315b1ecc2c8ae1476fbb0958c3d730971c8562b91905a81a1ee54ee62aeb681a7813ffb5c389cfe341f49dba5844ec6049941ea519f91b05e89469125171cd85605d2fdcc3955d5278c3945b13d698 +B = -452a91b3877913af1eddc84ae4aa3db2ccf6287eda28d9fa6d81c0a727aad3e7f95138956bd17da1fcbef8be0c73cde30c6996f601811578c352d3be30a9091ddcf626b71f017a32caa5a29532dafea6b77ae631ba6138c619695ede258e3063e18624b1a936c9f6707d2092df574bfc48f73a0f3440636b2707e0a989cbc25a232c386fad7487db7974c41c417112fb81c3e47f566826fa7f1c7505123ad380b4d9522a5e335e774ecbefc769de163ac531ea7fc2d74cc324a1dceadff695dff218f0b5a7dc06257d884279d3730bb1c9c2e6e69b0830 +GCD = 908ab132d64e253add417c0f4830b22d3ba803c844d32b8f0c30f7a5af1db75c4ad15bdda76b00919d7ee5eecd2284c16eeddd137687515e236dd61397261d2264813f0001a3cb27cde35bcbceb720c61012646b5c9d3635754b6733a536af69c81e0101918572c48cd3408 + +A = c2e55033eec5f33206c6eed7a9908d65a9e9efb60d420607808abe82e18b1197bd1b07c1e3d11dcaee028f4ff0dff0b488148f599711c7f1989c1c6fc480f69a3c05e28394a2efb3ade1d7a176291437ea2cfabce67fdfd3b0a237bf10a49324fa873056464640783701d8c9cedd8fcb56ea5a6b260a807acbd0ac4d3af6b4a4282124254c41cee1e60441d2af3c2890d18202bd75a4463a4af629c1d8d8204d652dc0bd95fef8786114f08909f9babeaedfb6cb04cad665442dbee0511f22a7b0c03ab8419f030bad1e71c110a1b7893942c845c54c2d +B = -29ed372cd9be405d0800e62496850ff8cb8d366499319da78ec5849043a600387fe52fb62fff74299ee56bf378d17c6969f903cff19107c9da3a1781492003d3c2d02141859fd5b5d7b02420a47c861283929667c3c6344f0151c52417ce698287d5f948d8ca449994234b16d30431bd5446c4ce2c938105c5606a22e54431d50c0abc7b087127c8ba8dddce2e9cddbf922308afaea1c6ef1e04d1b01a914e03752fff756b9ee1738250725d8f93e95bcffb5e26d645dd8a1b1c98acabfc9098deefe2773959977a240fee979ef4b86f06bc105d852ccd +GCD = 103c476c792670238e34ca359958b781ea74b2725e34494d5e214c4075f1eb0707ca3abe7c53e8453b70c84de159948f49f1fe181898f7dca02228ff9e8531899c2865be84d65b3d98127f79021fae48f8a873c312e347f6213e15d90b832af3b51ed95fd1fea825b1015ba9 + +A = 6abcb7dde59d9b916fb69e594c5f4452d255bb94ae38693bad2d08df28c1d29153e277b61bc63607a116e1ba912b54831cd35ed63fe239120397aa9c4b9b6dad5661ad9a0ffc9e4cd1068b10ffee61d52c1babf5cf2a123d3af1d79593178031636c11e6a099ea1df437848ed502efbbb548d28ec7071625f652558bd998524f0fe7dc05e93942031654f5ecedcd632b75da312c5507b16d61671a9c9df94dfc56e1a39ba253784de4f9f77fa9f215b517a9da8ec87f228a9f6ed399f265a03cea0928426b99ab82c465e9fd2bb7b6bc17709734640b91a +B = -61941271bdf17917bf9b0ef273f1990ce1407d5b69b093bcb6f2b12fa7357cee984bb96ac3bf6ab161c1d4c2a34f965f0103f3e364cb46a6cd4634a9bce894d3c442f22a28f95432834181524468ce047a92a32edaef938abdb1b26791716aeb857946bda29dfdb8e1f13d5e90ed39a616887e3cb9df43cff177e09385013fc9655cc4a0dd5cd1219b4b9122a65476b6fd65a991fcde21186780ea13d5dd1544878ab144ab66cd14c763ab17e88c4c7ddf3540794ac98060d552a8a54146c2766ed8fe5905042d81e7310ecdd587e0b0be8fd3fd95762a +GCD = 1535691bc1482edf5ed7084d74246a922e7e9c9422c456342e68f4b8d4cfa33fa38ff90b081f5f9c38128a12da582729419836d4f54659b7b254948c1e4acfc38cec6221a3679dcc24410e18dd780e2218c95072bfd6a3191c2f9e8a4a4be07b655222203bf657e8c37ae687a + +A = e0c33ff19aff7c9ebb09b37a5a03fa0e49d19b1ec74192ba95df1a854ceb7e93b5dde250f9407a54b4543dcd0047e4d94e63d84d19e62b8a1ebbadc019c762896c8face0520003012429170ddcc426da38ec44cf99a3c0e7ad12f564251751385eef6900237bf2f66e9d90359ccdeb2f469007283869cecb5210f30e90fef28ed4fcea20a4c7c6f20d0544008f8b40b524d03bde03331ece7e4334b428fe9a019efc6e4a84e28db2f19e2bc323995fb3d780699db25db694d72906d88c1f97c2842bb93eb1f823bf7d0f8e8577d97c883cbae0c162cc338 +B = 390bfe07b1aca8402d8f1c3589b8b892c7e4a4a51fc066044e6f121e27480430612fc6cc133babce36cc81cacd8853b455e23ff678c8da745d54b91bf7ce23b275c1d8161779be25cbfaeec49ee6d40ccebbf5e306c8c66a6da57db657ce62a125484af5c2da651ae584c376f9590ded16e261151766d6d25429e857dbacd0e85d21e251ec54af7af2316b88f8be5c14594c7956acbd4f61136615dfd88d1d7af9f0db41fc6fcfb823ffd33b5ff3add88597df6bd94bc3430143de72217b268c104f770f83429734f156ccbb77dfe301edc6f54635a9ca +GCD = ff045a9fbf222e980b500d55552738248a176139620102f769d956a9881c2a0a0b4c99ca07204ccf83dda76977e276f192490d418ea0bb120dc404b951e08ddb62a26cafb629d3a801cbd455774a2de2b8dd61bc36c869d08f7507f80327bcb643a30b22e33484b335d90136a + +A = -31c4f524c95b089a7284b44922494a3c4e40fa3fdb1a9a5690b3f7c1f5bff7a75219e40c7e0305f88c87564ea837b1001c321d73b1454a557170d179d0137b9327feff43ae4b38b55576a9fd18de1f54e545c873c2c403b5f6fbe31e0c7dee9e139889037f4dec42c89f1ec86bff46e7babe9b0181da3d6b7fe202b5435515e28fe43010cf90469500b7ca1b3476c12487b53404136b6601279fdddd491632a56603751808c0537a3997de90e2c0768551b717231cda943a3e6574852dfb8902800d05d9f44bd0f2beef43734e906dc924570499b98e5786 +B = 2b4aefab57ba2a7b643071f86529dfcaa8686f99f1952a5925ac7261707fb69216f3d0c7dc6ab40c365b0cbbde70db1bb7f5e92771dba99fa5263d29a820cee6da7d3437c7ec19c6e8740c760e24506aa6df7aebbf378c9f19f2d1e2145e5c0724603a66e58453d2837a84d182b642d58ff98a21ad29d77f37cce10389706449cad5d3b3ee0b925f6d3f8a726814bfa84276ad74029fde17a8a3fa7de218bd4f47dd06759d4669ed57d8fc47d9ac36d068d0f136822d2903cbc2b23b37c0a46c3f98ffe6e036c14d6579ee387f588d51b6b0e3f1f908bfb0 +GCD = 19f03d9ef07f7d20e550d29072126142c7dd981e25f41a54a63b7fed1528e2001fedf11c7e347040d1f6065e4deb13c6621c2e14b4dbee3840b043695c7f227f599fe07259db77a0d1c3920712e192cba551781e9780138c58fffeb96741a74f62c8f27e5ac4d486b9d89641a + +A = a6227a9e8b9d8887ed66563b9e91158f3601b865f722417716d2f4109ba560cb41aaa6f2d2e6013f1a88ec0e68fb5836c5f376a78ca0845e76c0436ae1600fbf9e2b02aaa441fb7681c0947cd1cf1dbebe27528cdef48edc0423eabeafb2d0f5ec36d6f986609bf741a79556ce712ac59e209267ac8e19f710132c6e13d5a32255b73e959663044af8da8703c5a6206085e5f63635dbc7e0bff34c73d48d4c7d690c45930163102c035480b406374ed07e0f400eaffafcc5ebcf4cad544526805e7c33af8cfbd7c9d6cc79817fbc17ba5ca0d82487a8cab2 +B = -ae534f8de6d978c99632a44ad0cf8dc9163ca473fe0712678efa08ce31866b25a9d9ffd479d7a9a5b150f550979bb909b94333c8ae733fe9574592c7e0ef1595c60a2b8c05d53c4a59e13f6b5c7ec0500f46ee83462d38f78d6e9b65df03fdad2e120a21f6647d74b2a04970ca4ffddc0f30ece85ef43e9bacb2b82a9b029cef1fa4a0d8cfc1309e9dee74c953ac7b74675869c172ad6d2ebecfb60affa2720f20f3853cac34dfb51087dae47726e27387e6e111890fc1bb8f09e90d36488d98f427f11c1837d1182acf653c5988c067a41feaff9af8d01c +GCD = 2868ea67876fb1f10ecc72461bf3001e83bd5e8ce5fb3f49248c072513fa35079ced43e5c676df80c6cf25e9b3be88fab56e1a11bb6abd73a9ad2cd36ff2a9559c7ac30b2925e57593704594b43fb411f75d1f9e011c9f9ee6a2f3fa6579dd74f0adf16cf9010b3fd79fcb972 + +A = 17e4623572fd48fb138a23f21c0aa55d9bc5537a24d6102d641567daa33f1aaaa3f793803892f51c5e551bfcd341812de4190c02d7d68c0369f89dab6bcb203ab2cbdf57bb4ff20721f593d4c92fb196929b839da3c93cf33818c5078518c43a39fbe946537ef4be768c9852c1c18f7ec258daab22c7536cfeaa73e68ea56ce709fbb650a31abc18e7a8cd6f16764f282ae8682f259848b184200ebf5f6929403cfe868e16e893c50ac76757e6b89a1a8b6a3cb19f51dd7ae1354c653023a0b422046c9328318519cd007e3f85f8fed9fb3ed851651867d3b +B = fb1a0e15e5acd3847dbb4d8fbf2cee208d89542e34c6b9bb96ac37417a51a3a41d5dddeb00cbd598db138772fd993cf7fd0a33f459b8752240378379051b5ffcaf934c1bac1f85ee9c6dc30bc3bf94cc8e4323d5a566299bf0b6958ed538ec78e2d87d1326daee311adf0407fa656499c1376bfd9760992bc2ad1a5c638deaf606acc5b7e068b227e6efeabd1cc11fb8a902820d3fe909630d6c55581b7e990ba056aa12953fff45512fd79bd45f517207a85043e7fbbb30613aea14d183553f24432647a049c63a7cdec0adcfe0e052880e470b4a89551a +GCD = 327492372f235a22708b59ce755b17abbd33d88902b064339bbf3fed1886e6752cbeba6379c376c730300d15bbeda580effeabae39b625d16959a36f41c11d396c230b5a1d1262529a310c4a7a33ff534b172b811ba318e08d54631f7c8fcf2ea8dbd2d2893386362714505c3 + +A = -19833a12fcc2514bf5cf9254526d0e0c3bc247802766b5eb6f1754f8845dc6caf829c7758f2ed869df6329b1274607eb93409349b0074ecde5cd04e3cdfcfa33f4f6df3b3f7ae83207c7be631ab71ba4775d0c19dbebe3d068893291359ede7b40745d84b9c8355dbefb23f31050e2ec6f38703b7a4665cfd06501d33776a2a1d03cfe48d966c7a354f45b79b0be6f52671374895a393fa9ad26ba60ed4c87e6339973be7651a61a7a1d07f6c7d6c58277a3f5bb7b61eb1ff5810cd064f6be1369cd8194b062d782c197c3aa5bf6cf5b69419a4de63aec37b +B = 58e271c8f626171e4076f3e149f7bf6e9638a82de4d10f64045be01d2238830ad10f53e7f6ec1c032f7bb4c3ba60b9fd68a7a35d6058ccd39abfc224678b47af11d04df750e2177cd88164b111425b65803aef2dc067cfbd1903ba4f647bf45b33bc6bb3a43d552028fe3e5affa7eb6b20e32c480b2a4fb60fa8c716f3111a00f09c27a0604bfb07a96d09d7a7eae257334f1aafd8934a73565f66d3545f73384c9beb317d625b54ee467e27bacfadd55ee2b6d8d778ff3a542e484112a0ebba1e161b0d228ab369bd313bcb9cd763329ea88e2d25cac2d02 +GCD = 4d335ccc7c4ce89df160a1aae1a90eb6ffbf40a59c98a80770a1459f31f8d187983a93c7b38b30298a252fb263a4eece1da7efafdcfe155d745ee68fa90689f33ab27dde32d21e316ec8c160b2e1ee8fa30fd1a40f29008b0e3f3117a32fa152282858d5406bf27f7fcba4f11 + +A = -2161f73c6b3e2562ce5ab7adc8a71b2f0a07e1105fa66ab420ec7850773846eca1841e352820192692c730ecd76556f7471d41917b7597bffb6ca23fb7c53c015c97755f16186b96b34261f7ab537921ba79ef8d2d3bd997e80a923a6de157fd1e6ffb7bca0b732f8441e01af789c74ea5dd088aeadf4f928dbfa31704de7d85ad89db36ee148b9431ec3b5fc8f45c127921b4f2789f0eef45af57b229749aa40cc5c175f8078dcd46c6e1def1ca832021d7108d9c30aa536b7ab269d0516e33057b9c5029d86936de2a9fa436588d724727b471abacfd6625 +B = 6072e72318b5e6eb1cc9143d3e1c918de10de4ecacd998c375f5814ffb6f25fccbf399dc5bc8ac4843a2fe67cdf33945c7d91d2642591d66ab76022330d1a61b76896f96ea8eb2f10795054f20651520425c8dc4ae94d05e558d4dc04f5f3e594564d18ac82d87eefca6be9479c1cda3c7af991c636e1c44ea7656b9a7f6b3df2c88f311a4bbddf6a89eeb75682ae3b47a071c6a6a0a1e9cb9ad7823e9d7380341fea885e2e5bc1ab460a5050e9f6b683ead053cdb45aa4852709f08b514b4065125890186abc95a84aade138b9927cd23aa966f46de957aaf +GCD = d837634985ccbf1ceddf1126d4547e37788c82e2ab93b886f60488e41aadefe62004545f3f47f531b2aaeaf86b0b7ae0e13ec3172ce454c984862f06f2aa3dc9053cf4bf498f4360b62345502d11adfc7e78d3170f12b3376c9383fb161f4232decf3c94a1a4124968575e75f + +A = -d4a819713e00b31910f452601b22088eef13e86dfa38c5428a7eb21b3f538f02abe08962c3b77ae0db68b299a7ee019e8d51179d4fafc39a206164402fa2af40af9f97bf637bf8da6c848bf26e3bb1301d7b530a0cdd3fce20ce341dcf4ca55c2647da8717b5fac490f883545f23bc4664b5e61609875035d6f161ed603096bb20e5901b0c4ecb7717b00223fa85892c591d00036a8b5ce09355d9c9e18bf9c3c9129da204dac725b675a6bea38c18b6d23f3031eea3b2d85606cee92bebc35b4aee0e4e486299decb79bc9dd3cf87d62c6aef529ed80929cd +B = -17584f7997c1b71af3fde24704c8773bf58dd4727cb57e56b4796e863d3e8b35c0be7867ef5e96c469125c88f369b8de52a8a348e4d720728fabaab31641b4285d6ae00596b729715d0be126a221dfdb5a04a1ecd2fedd69991b966d25002c043d6eed6c1bd1f8a33379017da280491c13769af88960afef42099d34dc67b27397f7176550bffc599487e7dd7d9bd92c67127b497b405db225e64cf791af8463277481d4254b2d4d10fc3f1c5bc48bfb6cc922052f7fb9ead2f2ebc42205f8db3c21f1f288cc38f6a7e3f0b78272110c9e249d189d95de6215a +GCD = 1b45e4d1246bc77001316dd453ba4c705c35ce2edfb8af757d90460b2de0b018dc64e2dc27490bb265853b988254323955eef10e9974f1aa71644e79dcfe72d5b40585ffdfede070b85c28c116c34bcddfa73c741c76368860c6d25f5ad9061785a0a99814f0d4376536f0fca1 + +A = -dc555677ce7ee3ee8b84a900948c00fbb6bf4b0fc5a26d770f46f68482ac9f0d473e926a132a8d951c4118983ab30cc90614b815b9a49cae6435945262dc35b33c275c45689bef8b9ae5a1ef3787531dcd19ef3592e0933c31dea31ce4f4b867ea800f78c078f48e4a00d47c2bb77702b49b008944b6a78fa0b4690d07a1ec8e7097aeec981801c99931bde147ba65fad2f8a394e44fae73fbc8856ab235d03bcd110f701f4fff24207570efdd718be64c6035559cae299a700389b39e51a447441cec3aa95db560dcfb046d2c898b29d5ea4e80e8e484fea8 +B = 515a08d7d4359a0cc547a2c49b041ef4eff12bcc3737143df1312ede20f0504c0947823ffafb59f90c8738c644554ac0e4879605dd6b0d88a4b99d45fb95ebb20f59a87e98ae98cf1b066828e292a4bb89afbc59906c5e1363b481f2463540934bf8850e22034e3aa3dfd23db16e7f179fedcdb0a28234621249d1bb0137e76ed084b793a91346e0925c3af6383701321245b882323e3367b325cdc9116512344fcdba4b8083edfa3add3d05e5ec59878e05855a010c7851f57d7875fe7fecb15a351c3f28cb0fe35b3e3993f79ffcce016773f7df078fed27c +GCD = 3bd21dfdf5d8927466f7db1c2e9f2bda7015e00f56c1e510b992ea8850d1363630da727e7440904f86f1ef63bccd70e7faf95e924e0a6094a86449fb2dc873e680b4565cf8555e030cd7dd2789f0b5017097e6e5546658e56fe9dec9760828a8b99f0372ef942e130522d4d8e4 + +A = -c6c6820e99046833aa9c9e551ee0d042c49a2eab6601a32cf80de817c8ef59c1394ba5264ac7cbf15aa7773780a7b43e58d78e241695f1e42979ba684bdc968cb1f008edf09f1ccf00bba855e54cafab0a15a74a916dceeaccfddb41fd5e753ae22541da9deca40ad2225c010e97c77f572ca2c0012f6f05167ffe247ee9cf3fd1f2f9122d15ed441ebe29a4287d62b128428be8467a7ff3f52fb2b439fcf791a1a3977bb032fa009455182e12922c34f6726858c8d8f0a65b6f546cbb31b7a13bff4124fbbb375ebb8e3b74b1b1e6e78fd603568a599f808a0 +B = ed206ada84926801e26028d6b3b835c4737f816222a57de81136f81cac2b59568f86fa2f878360ea3cd7fc9dd0c9d79d31f992d95d684d3c131e2b3af5e28cf187a7abac8f68a5fd72785fdb882c19dd0ad44f07490ca160449f76be6b3005c3219cb64d4180a8f94f1d21fce452cb95ecabfab6889f717879510e1a3583f48dfb0572b27792b8c76cbb6dc3d1081955d973135888eee92cb21ab112b1fd31dfaca04f26d05d890c07a1deff6f82b4defc9b62d966bfb89d06a8f0ccf64826fd9b1706d0e92694734c5eaa28961bc02ee5b71ced0afadd7f6f8 +GCD = 84aaad330b4bc927f7c01bdb05231328e39c119e19f4c67bd7b5c616a3aa2616c430d7d16e6870f0bca4f6477d3ebd1a8d1c04df26b1346a986c6954aa76620a3eb1922e3a11b0974db7c0cd2ef468614ff7e1b43b8c5c525c120766cc48ef2aa0aa563b36cb3eda8cf65e70db8 + +A = 463f508f2028fd809a3284f6e3840f77e2c404203365f4f72064cb1629b1ebd822d5fdae867be87a1a8698524bdbfec8141c20bd349ea394c67767867f72300bbc4e9f426a640162cf09346d4e431df88ebfaa9bf55e3658ca2c9dfcca7e909416cf3d2bef719fa5103be45dd643851b17d628762f78d9364582e671987117dcf87e21e65878512566934c18b6e071ad6c046502d6e4edf6baf0d1fb5932381e8936aaa5abdb31b94cb6a57efe4173ac9bb732d9c4bef58c279601805a2094146fb233378a68f31c9c9326cff23d54aecf66abc0ae2156fbbc64 +B = 592b4d8d1053b9c7ac5c5769d6723ea97300cfffcc6c9cdb1bc07692e72fd42d4a7b32db565e240dae7b071ed3d9521a42a50dcb562d176088a6a1fae28e7f37a4c0de823b6de1cf6b26b7bbae0849f761741123a9c15403f0de96577b739db3a43cfa159b338b6059c02ba1e1a997defd29c1222ff10f778ba8d8265972e1897798a6843d0edc335286aee3ba32d0dfe9844162f586d4d5c2313109cd4a25d63fb7b7f1666b52678e57f9c91f2ab4ace91350f8f2f2936bf62d5a28e696d915b0477a3c27196139b5eecc03e8fd466a9e89fbf46f43b50c86dc +GCD = 534939041aabc54a5619452330f81044ccb1c3d4be9d688aaad6c78c02a3807b42676efe0ec727f17451445064116e0920a5b8c0d35aa7d92db287dc4effecbff3e4699e913db26a9bd4bdc35cdd80eab1a0c22ddd161b102efcc52457de53a383ea2755302fbee607c3715566c + +A = 1667e3f3f43f8e259fc554a7e6461e0de04ba4b25785e8797c1769e6c3e128f3450a8e35c099f28d7d4cb02068e0c116903cb0746027b62c875601ccb089083834ace5462437832b7a2a4fe0d95f1cc3218594a1d9d6056edb75d6cafb0f3cdb5b465d1f2c7fc6e01f4a215bcbab260161f2d025a62b1208f672c02efc96c807083edc0cef1115f4021d0d83d50b3f1df39791b364a1b9b845521868488f3b54c7de44bfd378b041977b05fc67cb28fe7cad9bb98145bd2b7e783bb5c0159cb7284ce540f623ac41f2f08bfb4c061811ac8cae246070df3c2403a +B = -1cd69670d375257c5acd55b107ad4a575dc37fd8ab7ec0eca7a248370f9f95bce23f7c21d4e39128a0022112e5e907a5aa5bfabe64c970b3493563cfc4bd0872c9de6b5e9c6fcd98542c8b13aaa39ace23d93e374ac2597eedeeeb6d97bd4007c5cfcda2f5b5ffcac7294d7db10a8ef0ab161ff272b6bfc68b97a8dc93e20c1909938a95a6fa8a41108ff6f833f5230960aaca02742fe0434b20e5a584f45804ae8be5737e4bb06727578b59c8f58bd828722257738bb89305a296236d5b6a4b575f84f1a59740b86c8d1d3f26e95944c1ac64ffb4c6f4852f954 +GCD = db0532bbfbd55fc7c4c0a5acabc77f47cbf7c369135f194fe7d84a85c95dde590ba48f2220f0037f0f63bcbf80def284eebf827a0d0c6fe6720aba60363cd4344c01ac10da268303d3d15bf1fc4a1d7de6fe2efec92e4342d56e9a352f559555137536aa76579f191d237c3739e + +A = c823ea63b1316fdb4dcfee6f7f3f1d7cbfb0e31aadf2e18aee5470a359dc22c7eb1666013ef2182382940dfb27d8e938b5b03fd53f505a9da086d598c3eccd40804d07d507dfa0a2764ae09caf9ea83d19cebbc2c824b0b3744a74dae66f66fe0d7f779554b58932dc4794172cdaeb150963e69bd56d97a728decaab959670f2e15baeab311c2377521d6264ff184df634a88fc329a0d24e01b90f01bc01f6111bc2817965fc08460fdf015ef97ebba5bbe351f95cc55a912687d7fc007ea97e6b622149a7eb09b36d497d6f59a40d46de0288ff36decd21a0aa +B = 12607da13ad0d303a0b17006dde959cb654e43ab680b47fe0f1131f840e8be73d93d4f236c8149e659859ade29aaffdc9456579cda03692bebf454bdb146ec6f3ff0496465b878133032cb47e3419e757e3e352460f75dfc80fc618b28656c74d9458bb0a44fc0aca3d0e2589d952474f04547489079b9617ba73e64c5b102c5604e5b94371d2974f1cf4a1d0652f0ffe1af7e17fa87977ba0e9e25922de585454d4685faf39ae101ac35ee3d44a7aff049986fec974d0a725c1f9353f7854e5697dcee2a94d80aa5b46bf313322d7553cb62663ebda8179ac27e +GCD = 4fd8493cab54b22c1d930cb1acf3f3c0e87a0908773450ae9858e292472aee041342bd0c6a0bba299333d61250377070fff01342a642b490f7aed97b2546af1f96aad1ddf50319f017be093fe0aca1a3b5091fcb7b2054d6db8e0bc30b4e48896cf9241113132a9ea859facddf2 + +A = 1d12b6ad0c5d84e75d61d93bffa8ba0b1bbcdc1cc627bf489f5aadaa0fdf3c4d43578c1cca07d983a0ba672faf024ceecd482d50aa7d75bcc5eb97da85a4f126f47b19b717562a055bf0bfd295b180197f3188c8cb2c573d4ed67273bebf53448ad47d6c0fd073d3de2cd578499a18f28d272f2b2b9feabcc2f4e201097a56a84c7602c5cab47d6e3ee452fabae6d9bffb5716c45792a1445409342510088bc191578eced9b5383c5c5b4d0e0cfe69afa16ab7ff678f9c2609f551e52377b3e9f8372e70d61b8cd11decbfd61238b71fe49a9552fd26fbcbfcf3ee +B = -af675140c602c88ce053d415772dd43b51e6b318ebb19f21baa9ebbe6d03c0714aa5a201eb5fe78e16a97cdfe5ce6652eb2b6568af93fe74343556de3b038f63b80d964f5c76346c0c63333ebe61daadb1322aa1e492a152f6c6b04f26574760feed38d583b782f6953d4aea509a940ad1ee4c32b7351f148ac0cac6f8482d66a252c6d9b53091709bfc4b35fd8b732cb6784dbb15a3a6c7f72561e857d1671c6c2ac7c5e147552e233fc78ad6a792708caab8566588066180d085f00e496cf9cc3f96af4b142fc82866d6b4969a0af1c22923b0a56ec2e7c5d78 +GCD = 7d08d7bd306dffe298ab4eca4b2d20b6c72fa7da6f0e5998458ba4b818477ca2cb123436f0b4b308e41bbc46c1587babaeda68c6c7d46785aa3be1e5ff0087650503762fafb3eba9c6c6ee5f8c914e708aa3dcce3965772c48624dd0fabb84e9f4a270a9da52849114e27fff5ca + +A = -475f8b7d575dfc23fcccd16d280b2bf60649ca32313a8f668d4c66edf1533b243e5d6b850760c26533c2926d857290010e32edb7f6e6c035cf92e1c6aa41495874e607f07a71510bd193060bae6422d3b7468b66c9e20f56e60645f861fa22ce5582616dddcc63b214dc2f187a1800225e25cea2c1acf5cfb32af9a9af20bef986647b1abf8dc9c25f04ac021afe6535a2df819e1dcf80a857dabaa8125c3d82a9bb5f7810eaa2abd36b71543d1c9deed4895b1673bead6cbfab8c66ec2516c6611e857e21bfb61ae169ba5eb9bee8e8448a4cc7ff46cbd805c69c +B = -56a142f58fc7dfda307fb8a196077ada3f0f172f340316ed46f944ba0013651af391aabc6d5921a0ca1a7774587604fe73416afc55ce3999abba553bcf0fc8d75a86b823181fa4ee2f754e6584e9b6cf205e3c27560b975e143a28220069c252dd650bb4c0751f6dd974dbc0eb38d34b1168b453c567d308906a499a819aa2254eef27d028d75bc6f7448356f5caf53247128072ffbacf8fd70546fe8c826971a6bee9e981ef2445ba9df3bb0457f10cb707d4e8dd0f56484bffb95f96dac800cfbb17de90d506c794091f95605cc70186ffb30cf4e9747d2e5707 +GCD = 286466a1f51349bbc00b06419fb9ab3523851e85e7f407531e38ea449af177fe22168693d6f613bd1fb329e1da0a23c935e00c1268c3bb6f0e1ecafb97904d3b9bcdf3aed12c641ac79db15556f6ca332eb038b4622af928d9684dedcea3d61c84d61548bcb99c32a44c47a1714d + +A = b3fdbe4ddb27312608d5302a1d3531e2796eed3dac6943e0c06f3f311d73d172d4c19d49683905c52fedc89e64e5e203b84d3e56c885014f60edfd3433a169a120a3ad708cfba715e4d1d19fd25038c34445bb786ccf33f854ce68255fed4ddefe1ecb27f0f2ee847f364d02094c01bf06c181afb1d6db7063b7fd85f4571c96f77a6e451bf16f4384c4605ff56478f12000a9584c45ebbb33f53b36448180b85c9024447454d3b065a100a9ad9343250b9268475e31d6a3022f354e94fbd999b77789ca1e8a80ab5c54dc7a996727dbb8080de2929619778d7322 +B = -d8042a2bb9c1733babd69fe1e824ee11a90745bca0cc3c10ec78be54adc745ef407638b9cf73a17cafdc4444c9c4c4724aebd098ff16a0b7d14c4574fdc4fa5540542da714e3e7ac935a7641047a2d490d93932238d56de5579b9731dac66ed345fdf4f2cf99c6332facc398881828f6f17f32449e310d7b90cfd578d84abfa283a359adf6418facb021dcc890408b7fd950273aaa3ccf40e628bb0b7bfceae7201d71248834a342c8d18e6ff0179927502ec5c20c1d11401a67628c38814bf0b10a64ebf6f52ff759e8bd540a86a7c7404323d02d81a6a9e1b6e4 +GCD = 2a795748b8d5073c2c0bfaf0e4f6e4b055a27d2d78844c29f01b45634de5026ddac533688cf14c55f42e02e7cf5881e7280b674807d00d36d6f60dac645420eaf0dd5108d2fc2788f2ba377bf43de6278e168f984fe6fd8cb3bf3d8a6ad5f110cea9d81037d8dc1cc746da99d80e + +A = 3b13d797e3cf586899374c291f174c5dbb0dbe5b64bc3a87e6bf9c5ba1eb988cb66bee3884a7b422182513d2a8da2b955892ab2c887c2be895891cf6ad92fb624668b286d1aab0f4afb32204b2caa8ad8af190e21124febb9d329adce66deeff4b22b4ca19a95f9a7c3e8ae467a94497185cb360add04b2a662eb10e9fbfd78e5c7ef312957daaed4b6dfc52ee707415e94b69702361663bfc2c86d9550ba7268fcfaa29179cd79f016dfb7041b66cb276d6b716d1435fd91683059c7a9002acaaeb775477eced0a9f064c689064bfb5d2dcbcadb14f16015d400a0 +B = -19b867ffdfa2e567fd50166fe20f88a8e1af5ae410f264efc4257198ab5aa26cba841455eee9dfca4aaba04bdb0756a22726885210a78d3fe2859f7070b6a54e65c1f8f9303202e3ff55235c1ad303cb13d4c20f2cef25e14e65961ae1fcf9dcf57ea09bb21325cbb822c6b328011b85e40cb38f232240af1215cfcf1192d5b68c92d9a82db5c3944103767745771b554fcfdac15f57f24e4047db6664b843cdfe0937790c793ad67808f536117220b3913aea29540d081f948355d4cd76b07cb3227779b4683630360146eca5567373147b1b1c4b9bf3b76714084 +GCD = 37405b95c1ec60b7ba5342750360c0dd03d319e345a2b023a6a4d8b462e1072d0ce9f02d977353f252680a528c371f4a11e79a0b4f17690b1ea374a58b2a7add75e97d15656a9fb3ff40a08b2f82e6973317a95f1a1412fc64942245a6ed583b16777316da5788639d0ce92ef38c + +A = -1f0127bd1ffe25fe21b934eeeaf1d9d7c525e3c08179aacf7be1f550cadbfa60cce6dc5f3d89b8e0cec74999f27ca3c76164d78cfff5a68af2f96542aa3ac88da7f64e15328a3f93b4736f9015e1306ae232f0e41e6f4c9cfe4ab24996159627f2ece676c20e09a2a582e38b6adb8527d165038d0ea06146883ca277a6fd0f34e580935a3b81fc066583c15951d0ae6cbc42615d87eed7fb79462240ad8cad84fc20bc9f1ca72775da98f5bfc7e04c805fff89a05f408b761b6ca7fb35567e8e8aa6a9172be24776f5a2482ca44079762f1aa7cb3e665dd6d667938c +B = 125aa9aef5c5d9af33f15e1310c419b8b9befd0700db34ff03a26e8031f5d2e4cf425308e09b085597aaeb51ef407a79a5a5cb3f53ca74845bc6da0b4415b05e0d272b41edfb18b50c041d31eda9e25604fa061dd1a70c41848e575659d2922210ebf753c1c70fa69fd7605fba7080f59a80b2ae752f684ab2b99f41e9b76a6d03d0282fa03a37decd8b08d4b98f0ffb01b25151c04bfce6919c9395cb657bd58f7c9f43100cdbd27eb44e70018fc71a2fb6683fdd06947bb7a731aa7e565d9c61a70d2fb8e08c471cffa81f5909f1e0e18a29720f6261cac93caf70 +GCD = ffe4cfc33929720c10a50d79e86a763ace7f2693872510081fc480b6d810c19c25017f5164b0b692bb8b1dd6b2c2ac24d0229737f444665a8c72519949cfa61fb965a30d4af3c62a032b528afb66f66ae81da3f181bb57afc5553817f1376f4c58d134762512625d7145a97aa384 + +A = -42874c28267812ef9b2762557d7db31414c72c7f72ad0a427a4533b04df6407344b4dde15be9e54815855ebea31b10d970325eb323513c5512eabdf43b100e8394dd87da52b4bc2b22e66acac7d9c33cff25b096243993b960cc5ae8e123e62d1190b331d3abf85fe3ac1597e1050b6366b32f6a76a2ced1e7ee45860abb20259f70ef2a6a7b8cb2e1249a162dec0e7aeca52d95dfb8e9db23f95e09987edf2a9f7e3273a47c629b759e66c9793eefe4e7ab6ff45242be1d7619e6d76e9f0a23dc2b1c83aae4dc34a16b0c3c443a8d72e01f24a84738c92d598dde40 +B = -3676dde59351749bec5f3e33bd076d22cfd659a25ed739ad45ed0d2c078a5b34ab97189ed2867c271e53833267764b449ee527b61ee12bb03cfc3d4851e93a75c65c759cdc6a5c88b488a93681cf0193c2709a2458ae892bde55148b5d39acf4e1fc1950eafd5aca224390c2a9ac28e00e6f5bd29becad476bec35ca9154553ad050e46258559307edb3a7e13bba11ebdff10312c50bc42c0cf4b6539f6987c6c107ce93ced42777359a6628485af740ff8b983b317ee07a7a5b0ace63f0beb8443cdf7a33f730b6f1d2db33762b1d1479baf1ec0a69dfc405362370 +GCD = 747e05b87df1279d3c852d3ca73d820261e95a157aa16445422148c43cfe9c7d1c746ac93968946269ccc90439aa468673acd7a804b0a6ca97a87aa77feb8fcfd0c3593edd4f9bad9d2c7fc41d67cb49ee28da0329efa3164b1c875ee2acdd9e93a900d0673a2b18046dff249bb50 + +A = adcd61d26bd6dcfdd92d88182506cc9d73367543964e01c1cf455a9c09dd395eeed64c77548e9f367fdd9251a22c9acd25239b22f58e43e978c19e7ed30041bfac12b49e6eb45bb1a1e8024753e5f20992ec0d6043e4e9dd0baadd83743dd111e71c10b899f5ba56db8a832819c1c3f7be2dcf29c6c1d4d2ec5c953f999dfc8e51f224953dfc1309da281e73a4ad1b80f6476e28e8bf10e2b6488fefa050829e15115082dc003493fd741a4ae69e31376fe0b038dcc4f7427096a3c510765a4ab37eec7ba339dcd584e888eb7b6199bfab0ecc7b22a6c418598e6f41 +B = 923bb71361faf6f0a75d3c8c3673c0f77927264bbbc9733857fbdbbb4390d7890f7add79d09ec6363aa91e6d8ae9c3f9f78606f71f819f6bec174f94920d528fc3c912c1e77c366c4fe09bf36252a4b90fa14066e545df777e07783cf89a67c7561691a1c0d33e25ba92d4d5f8cf08c037b64751e4bffa046f055675aa96d048ac7a096ff40bc2d71595faa7f91eaaa04d1cb505069508939146ff039b1223392d2b6f78947c447e38c3003448748a8d8803a9ac0f4aead43e031a452f7f6664dfd29f0c8fbf8ce93ea089aa4d37ba49aeabb1a41f9d4d2043401848 +GCD = 12ff2ac3a4268a64e19c0d1e4462eda1b5fabdfad82c87d435f16e53a302b278e1fdc5fa22c729655f17ce07e8880126ce0f3daeced1bc3f84856357103addba1165553173a1eb31de8dd5821869a2d749455b97103d2172ebeb91b6b08b1efef3717c5ba7123613aca5549ed134f + +A = -20e61dfe5fcf44f0faeee89c63cae74f883b12515ae5cc99f9c0a0f116fc6a2bf69d6576fd8be225aa2c8e824d54297c974ebcecba8274aad93856b3b58f0de574ff69154890f489a8039ac8bd641312f0c908f502c3df474153a760821b4c2fd097fb568e757b9c82c1c465b13e2e28d0fc166f2d0989b742e812fa435b67071ff2f439e236da56a5aedf8588343031bb6ecc6e3f88f9f87e594e75e485e8ae821a5bd91e3d67cad37f77d0c89db07c0cafcb960080236f0fd63fd8eaff1be78a234ba388102e87cd7ebacf0c94facfc9c6f16fb0e490e5c24d91a50 +B = -3c61a0d2f705af55c29dbc3e3f99fa942eb8d13f39fbb001dbdca1e89a0c61bcf44f60402eccf80265a7c8a3e3cc1755da2a0f7dc94b5227b65db11aa29c6350af02259bc49613269f003c51ddfbd6d0358cf7ea871de278cc8e97c8206152b611c7f70d9150769ba6f861215264451bbfb60a144efb6a6dcc91673fdc5662e81a60a4aa8b235699c8e2c5f27814b05ed6114c7caaf268080bc469721de11e15d6571c2b44d1fea8cd275fb62f98fd817bb934f557818adbb80d5086492a80c1dece0021b97d333687c32314d76fface79930ac7b2feac86849dee194 +GCD = 45be1539c46a2834a1fbade1881a16b8fb2fa0570c363599f61b138c83d6110e0d6216d30cb8caa97ab7206d42209022a1401a7bcd18f48b6a53c4bc6eb00d863d7bc040193c629ab3e74910d624706a8b3291563e35a3c0750774ef91188cc5716476beffe3ed4263243eadfee84 + +A = 4878c5e57ca36ca033c4938f320fbeaf7e8fdafda0f146299b8b155322a15d98986b900405516e0a6e44ccf0e730168ee01f0330e031e0fc9186cbe5d0012719679af5a2612ce86b9a3d2db40783abc3ca018b6eb1f2a03424cfba61e5e730bb6ab5c422bf125e9e65246cf4eb1fb100ee5a9ba575a01c1959157a04e6e965c15d7819a17e9647410e4f070fe9547afd1885b8572ab85ea257fd88c7f537383d48e685f57c775a234f64fe48387c542bc6617f426a8a5be365728e079c3c57d48e297c125fc4daf152c245ca3be58474453653d50f1d1e9cfbd3e5712 +B = -86745b64176f79b15a173eedd09793897d760ae2aabcd5b399f4954f339c62a1fa34a35abea1b94757a4513d234dc729b45f7d4090d52c7123cf0a0b12f9c3bc203808f33cfd145755ef22f630ade100cad5e13fdae21346307c3f7156f7ad10e7c636fc9b12443f0fd0fa131b62fd27e859dce88430f9a86b7d3a7fb0ffa31b029eca32bf53048333abf34af9e738d3259cf0902bb1b03d20e7eca505168a67c0152d2c56f084575b4c3daecd7f0458458212ba6a861a0354d51a01e57729c433c8cb52f6dfe630b5c53691254cd07217409aafabfae5c1f4f93ba15 +GCD = 4c1aca8c47fc565105cd9f58abbe21b8ac3137cdb7b5801bb7b127a42a1631f5bd6ef2088260113a9d6063edb662b1f71f81ce5e4da902293472598d530470d446082ff37caef7a9798406dd077844c92214dc99a3990efdadafbbb260b3cf35dc17650ee01a1feffd33f545b3009 + +A = -565deb72b4c7d0773c74c4f78d6010a6981a35422d8999dc8c13c14ba116ab8242b59427c43a9de6830f35db724f7d7511387065195758ca0ce080cf05f4515c1fabc54943aa61c0525de7c46d2141a75873608e5c359b7ee389275d01ec64d95a5d17a06b7ae1b8f573ea18ecf7315c2acd0148a10043f077980ccc6831e97e1fab4f29b585beb0808190122ab03cd9ac23885e703cb22d623e8eeffe54d257b82a2065ffb17d5ba68b7e43e3122793436e2ecb0f9bf1b2ab00dea83c37fd7b429509bb4bf4ed0bc8d56f8c88b31b9af2ec272ae74030008c14e38a7 +B = -42fbb0de01be3883dbc4417379df7f0cb45f72084cd6d5126202ad0a6fb2fd71c7963daac0b1868ac3ddec4c320a7f42b0d50d5305e7af6971ce894a9ce09054e4dc7c716eb25776fe7afc547b7b5796d240eef70579ae7e46118cda2f07065a455bcd2c0a92139b5ae8a6445473af0dee6c12f57512a3544f7e5c6ce2588d41e0a90bb656308623737bf0fb39dff23af1b3349b2ad6739f6eba0056ce72ac1c88c8826be49ba233935228564841e3bd569a2a891528fe768142af9169853efd150a0a361febe19025fb888dfa733d710c6a11b20b14b033617d3c5325 +GCD = 8be3b4c3b4675483919118bc17457798be184d821e9d81a47356ccbe2f8fd25d3fd35e281ce90d3c11250b20e4342b0a29442b3047e18db2bb249b0af688c1e31cf70c2d59663f34cd04a5d9bf9dc65dec984c8d68bb967bcbf0817bc977f07f5705ea0b6f13f0d8bf166a8f5ca9d + +A = -eef30db01b72f8a0028b8b384527b106e08de5bb096bb085518c87f07d426f5a62420e1e37787f44a73febbcb6f1f64b6d4c517d1afcc1a2835eaf09978131682b62ee4e9dd1ac259317b1e78e3cb3a189a9cafb04253d2f7244a7f60a7a7281057f0099171f24894471bf7a94fbc5b3cbe8518185eb243ce86e17038fe75f31f07b5a108c54dde8069c9a6e2e9e17c32a4f0cf4d2d28eb391a23a8cc8cee6219d95e849dead37db7a9c1ec708f531d754b3ff008000ddebcf18dd40ca6f29b53fea9b4fbd928989ac76fffcb43afea9e0e29ffb1033d135741b570a78 +B = -17cfcb65a271185b6f1017a1c5d2c81ea23d765e2d60eb0ee2d18d5b2e281c992e5cbb452760cc02847ac702f9a2f65375a5ef5887e0c14c795a5b8c1b8d57f90f91123e5f396f72dbf13b91a71607c679d21285fe11b205d8e5bb209304aa3df14824d855a75f4d499b6f359262a03d906c9a6140a8652b8942c17cc756813974b49fb299b288471025089d86b9574fdda0b08a12eb23b43859723c04229c090b53655711a8f93bcd8dde9a43b080cdffc494802b1774beb76fa89d766936981eb080d6bd207f55cf7557870a92ec7357aff88f6b8c2ccc472e030e30c +GCD = 1e82e176994803a418616e837dab8a2ae2bb68983b090b15af6886eee1f2a877f362ee20fb385193867caac5be26996f53c91f4a31ef9edcd166ed78aef21fefa95b1a4eb63ccafa60f943fcb162b31a61ea6bd5c1aa04127255b36ffc9e3651f458d46c214764e4e801ddf4bc13bc + +A = -c3922aed31518df5d5b66383478410188bd0c546ee91b8d08d052e8db0b93035bfe322b3564e4a529d7b5b3847b64fc07fcdf13493c948420e0a654e844a2cbe753fba0337655c1a8c4aa58bd914592653b5097d06377c2da399ae0dd8b11636b75e7f5cf902d417d68c4128c3fc124dc401a57ac851e7b5b230a0d7c66055713ebc5913889d929e48c429145fa50ed05937248a8e1404238e4518a2866ed62abaed2d847f90f99d92b930d68fef615e544671995e3cf8db73a170bc0e3dee2f98587f74e26de8dc20ed5c14ba0a7ec7142be000fe9f9daf6088a12938 +B = d333766e227d220325efa3a638364dbf744f3a038f28e9baa4ebe3d61a141f17a58c558fdaf56032e86046d28706b30fe7cc72bf8877fe89b013683adefca877ab44dd2ea9251105a39e28973a7d9df470c88c993ff7fb58ad2bb14a62c88a5d350c8b1347d407d8385f25e755576008340575112dc21c8ca340be6b7a9988513cc49008ffeabd0724d5c38736da898d8e0efae1e059f9a1e7b1a9f761c01a148ca4ed49c4e60e7286b6ed0ef793fe90a30233943ff0eddf51f2c2f31235dae2a23e67ed66408de4b87df20ee7e31930f3da011b7faf919a88612129f0 +GCD = 6486d245617f8c040e48647247d9567d1810b04b08a9a0b9c6eadc46d987e9856b52680fa01314aa29bfe60a3e9bf93136e6ecb495b4a1a63bf1bf4f0ccfef86e1a42256d22ceb0e136314ac0e1e23567f8ef087a4cc554ac251d8effbe040d1849adeb223cbd030a548fcb5f6e728 + +A = 11fee09859e58a5d3ffffa5edced83d5f9bbda1dfe8f7079650a1018d032a322bfabb3dc78a35feaa0c1abc705355eedf551ddc77c20ee9ac79f52b8644a7b9b1dcdc5a1b7c2ac1c06fd2c46d5fe5d06c9672534776d880bf759a04a2310cfbcd98767bd97312bafc1569c515f2fbe996b5e1dbdde393c1ee9f49c68fab84a33285f49daa3ca4e999f6b4c99b8f58e1fe9869e1d5f4f218b64afb75f531f54243a812b4c83b87b877e7d6b0934f40aae3c352f6a5cad98a1d2b400b5b1a226fc7249f8897f1910a949be5b38977c49087fdb360056dad0d827e6fb61980f +B = -fc38ce95afc61765cf2703b190eba47db1d31c539c2f75f09534297643d789c3e3bb33a51e42d700fb4f8bc93a4408638b5189f8d88bc3b17f6e97416b908c3917b04ea24cc25e354a1ccfd61342315c8126589bdb4c333a43a3992dae58ed5e374f30bd978afcbbcf03be131006d0c990a5d1d61db7d35b4e6024de876e2a9ff697dcb7f0f42f32db151fedc046465141b5f87a5f8716b50124cb8ef7a2ae925614a49b7e2e1e2ac9861c8d5ff9da4b2c4284e09829d8a51e5025d5b13166e599909ab0da8c612d37cccc3ace25867e0cea21d8b045ffc7ff1acab320 +GCD = 1a4f2ca964176a0557c7ba52ed55a7fc7a15e75235f2512431428df5fcdc7dd8b82d7a6efcfe55144362ffd204cf9e0d411f2fdc726ddeb4ab95c5f291c02fe2584fbfaa16d7a39d9fbe210780209430e92a6fb19b18e0031b52f11b2a96beff8d3454c81bd88c636f37a425a33d719 + +A = 465ce20a359d2f8b512f9c3db247f5e7f3898e6d01f34c12cf1f59f84c6cfe131e32a6d2ed8ee392a40d756f452b53b830e231577876c7d37c4de6bc6b392d9ad1f8bea907e8ded4703a1d81639cdff8e649d70e44b7a39068ce2bffda0f445e621a9945fc3205a71ebf701a8edc4b9fbf7d8b6d0fa380c26f9d84845aea7b91e6ddde7b2cdde693ba73db1ea92e80abdb538906adc1b979660eaaad42a2dca6e9fbfa9be8730bada7c595bc5df008e3081274377067e5a4d770c4d2830da8a866e3a916f82d18ad9a1aca825b1dbfa070d8be372e23f57bcced94b782d0 +B = 2eea0aca5b5725a6b023bcaed986272637e1e04ea0466e46a1aee8f7760c65598d51c385342460c21f4e07c5c612d8852a25943c28b0b42f262a1d0095055b518da4f7320f5f7c1297a06109f7c1ac713004bef9ca9753530b2e933a7b0ea62c54b5a92fc1e867ff7a56daf7ce966c63369adbb0c49c41a8895f9c0855a72beab389a8415a93f71cf002cf48f29c39af2c9b0315aa71977242bf2eadf518697320ae86c043ef6654a12c58426552333c59842f66a9001ce237210a6683266b20c8bfdfa128adaf7a6a6d0f7c3516f9377c882d677895beca7be0a5d07b34 +GCD = d7a7aefe0f0e9eb9db3f52f0c5e3f8dc15d1439880b835b96e5c2822ea1e98ab967eb10db066aa1ebe6df30120ac2f4d5d9c7bf7979bf0ffea365fa35a6fb7c741122bda2e4bf9797a2bb5ca7ce788a0ee065d61ea76f573561ceb85e6f0d13f15aaf0e3e2068941aa44b8d1b96f4c + +A = 3f12d7f8d2ff8db9df0a180298ad1b206f41127b07076c94d9b69c5e69ef2080576f111a6f9b958a0eb2ddacbd9e0e2269fbecc1e5f40d8504c93fc53772a1847aaff3e3b263c0a393e4b8fb34d19d9c32c7be3b782535bb3c0a5056f794e489303fc02e7d2e81922faf105ed5a601512850ea9fea4a40ae93d046391b86883ad2a1d2cbaa6a43b14d3daf7fdf0d1327a2a0c7da31e8804054826564d7e87147be9419467abb9660b5afdc474574aa62fe27a7fe30e73b75aa4fd5c80dc6b58e40fbb9cd6d0f9fd580f9f55ccf03ba3db87b8e06cc040c4879fcb69bf0ba +B = 1ace81e971800948189f0a863c272ac40ec217849fafda84accd637a54f34a5b82c02ee09c84dfa776e2c68f0eb1c7c321d8f88f47d18e5ac33fe70ab380bc3e97bc879446bbbc718123950c449b3e7b94f80c2f0b99a3dcfe90eb222ae5610a4917df4736f13e3b684bc2970f9eeca5a2006a32b48e25d9fe7dc29640490f9e4bb25fdc54e02aad4f06711d48579ce002b031cee0834cb0ba6d11ab22ad99b2cf0d92783320ef0aa38999f1900ccac0e7b79cd0fc111a52ae842358d825aee7eb3d8f585a063106a449990da6e561d8451bfd2983f910e4db1a98fcb82a4 +GCD = 39452d1f3937c1890703410cec285ccfbd8b17e35829065fe47f66dcffcf6d4b0cd3a9927d74308401fadacf12671d774aa328d9f9ce93578db1118f6bee542043a5d94928fbdf09f23d9d82ecb830072c0acb31ea87025908ede38b3ac828eec2c67cb6d258d224b6cf5e2fd1ac4de + +A = 1afbed0d54a6ea25741d2351639659091978b1bf8e8d5082e9c0a360c665f2690f8fab55546fdafd580d9181646692a72b31f4276ff229623ab674793af440e31399c60680fb2b204cfa71fede9a945fd8dc1be228fe727b237f0f48804274f5fc8e90011fbeb35929227d2f193d79d02b19ac791ec1bb94f27a07dce536b44a15d30dee0684c31c22e9d21e97dc3a2ad75c7878896eb7bb1d405f9402bffa2e8041e5989e82d08bca159bbdb5cc0395cf7b1c6f2ea185787bcb94a0f8f2a64e2345d4850af22163edb57f76cdcadd60c9a209993c0f27a2cbfde0247e5ab +B = 2fe34c0c99a6826dc332867dfc77dc99b8dbe52e9683b86b26244291ebef67f9a3b9bd46b673b1005142845a38d4496c6d069ed27653c414ba5e3023a8970e050b4e54a54a2ae90e04cb35599872606dd5da7f7f80165fb2bdc539984114ab8e77b8316fdcd8ab3d22447b26712cd58a71026664a35a61529075b0aa56e201607ae8c59a3c1da6b5a68144fa50e031b2c709ef350541f1b4487cd53746181b4d99b71f42f80f3c2ba363f6a4666a0fde51f9153efdcb2837459ed75353ec9da649385dd034bd273f193a1c3d323e840f1188b21cde141c66bc4c77cf3768b +GCD = 248ee1f194cb938360dc5e0ab026069d44a799a7e2105f9fc1a89b96169ed3cf188d80311a8fd0d2f074b1fb6970be469bed4a1e819bcb9407253300d77691b8877b95cf442ae76e8d8b47148a6f9a233a7b67e7eb8ec5dc1bccec66ab52a9b946b1bc41acc8d95adc84486c5291911 + +A = -1be0d6f6e188444f0ece9942788a4f99bd3af074fa80b9f428d10a4ac68bd1d0cf322fcac4b7e718d1b936604f5423e621ca1b0f45e28565507f07cb39fb334b28a05006f5f5aa29dabda17f16d5037d17cdbf170ebe151db47e14d90025514a17a0ca18acbb78a18ea4d83bc1c13cc1877e410156e1398188f842c55972c6b0d939c566c3f17d1abb25b15640153220c072968fcf56cb3c1f6f39f179bbaeb38b96f0fd5693eeb2247af34cdeacbfd56d0ce09d3f53a79bfea10085237dbca35b1172a76e1fdf91637939ebfbdc2eefd43105f5d53bf7d33269f92b96617a +B = -9172f4550e4b5ea55063ee562477fa88e74461a5ff42ebfee0c624bff8efe839d0d69da897b7cf4bc6f5676ca9c87f7e39012fd8da3b41b422a0227d1919618c2dd5e2cc098e1c0434d39166966b0c2dd09ac310fc45df6b611f87aa181461abe77d7c3fe471a8fd57d4a7a7793427185052bca466454afc8f4726543e3b38efe4d9fee8a9cde8a6335d956f2680a4ba0974fb0378f6491a92eb77afece22b799227709e6e21b4d3560af9fda8de9a7ae0425a9909652827ef6971152bf7478f792af023e392c50bb6c8b7b24cea6344e6e4d0afffd7dfe43ad2ef4c338ee +GCD = 156a9ae1f0ee924868ef4376afcc86c8d55c73bbee924bac55922ee3a01e6cec17359e6eac36dcfb37445878612938fdd6c4fedd671d9a3e574879cf90940d44a93eea5d922a090ff55273f0973218195690d2ce88298ebd81e9780b33f1778bbdef68d8410d6f1a385be9db6113616e + +A = -56f539d41403be769050f817ace840895ac570babf8c3033b667d2db42a52005ce726fcb55575556775e627edfdcbf1bdeee323ad1fb675690b011c97eca7d88918e0f71fcb596d266d994ee0753a8d7c7c89da69e0a5041bea64c79c3c93bc4011c444e17cd2ac5add4d3fd10b0bdf2acaf6b70639442665cd330d20192ce0e4b0fe7bd37cfbcd6d1e8f4366f221d684ccf4e1fd89856fc96a22b079b5d1611d6f0922d2428005863f47ab6c485d71ded4ea373b3735b19d82c0568877a095f0223015ed5a41cb1a060eed36c06bfee6ded92f14eb96329d15c136d30e939 +B = -4415503e5f846ba1f0f03a90ff1c05dd80c4d085437228364e0b4a33062f95368112ae27133c10d5d7d4682d4cf2dd9024ebde4804854ff547c69912eff87c25738a0d7c8d5ef1912643a36e61cfe8a1f40c300dfc63172387400519719b920bdc55c9b7da3e1c1e858641a7d5c5e2a28b005934600a2bcb859f553974cd1e0705dd10ac144afff0121d3ee246bb0f9bc6f330920cdbce9753082b10eedfc849414aa5dd933af9055b80a33313273e4f5f3f91caf9ecaba012c10972a6788c0e0444078ac041440493a79ee548d137aa11d3d0a98145f578928216400e1a89 +GCD = 45aea79a5239e0836adaf6641a2775b4bf306d38ffb9cd07396369d7ce988c4fdfbac92b1d96ad1308be1fff9ee341a430478f47c35194abac2a702d40600549707c8b8bc377187627b55239741db2f18609922c3a5710cffeeda24e103f367de5bbda61d38eb12b1cf04f90034e3f55 + +A = f20c4fa93c955d6933dd0cee2acc5b7240c4483e6b7aa87b07af0d6a675e17fb93c3edb8e0b361e6c93a1f791f67b7e6d93da495f61cc4b2a5d0e8c02c5030ead30d96ae6f204313c53fe1b0cb51c95973c921bfd9dd7e01d72ecd4a8fdb68e64988e9145ef498f6848642191840480b899202d05de083ec9e2ec62072231faeda69480e0106eeff2d35385a312d2fe8708e5c61f0603bd5735a6d2b87935b6b8dd818d0d167b76043ef6e185f3d20828e9a2c4cbb601e0ebcbd784f6ae60f752f0e2c4f348d5479ab8c07c67ed908777729f861a3a4e62ed1071dc122af03 +B = ea2ee01685b57de18cdd73f91bf904741192a96abd66a3d1a6c187ef8902318370e32fa5aa56f5cd76fd536d381bfb9009a7bdc062c491bd4763f759d6e773efac7eb9a2ce2396ab45b88ab6ec0d6114593c5a2c422ba440eaee760b51ff25700e882668f36eb1946ab369e06321b3a0fb805c2b49d548afa4aa63b3b88b1dd2196a25533b7661eeda2d9f51bac4c0e23e4bfd09d340e6ec0f4e706459d22044421f0a5e802d6e5abf2dd73c60c083280815e2aa68dbbf5b2cab139f89d3fb1a96bed1db64bec1dfe32549b975d0a5271960cafe9e10e24c2d16a7871d0b3f +GCD = dab08f84f8847817acd2164bb91cfc1f8bafe8223e4fd8bdd1b8a5ab42d652e768385ec71eed5e08af81d73076ad436d9d4521bc6eb87afe61374db9f23647f20f101c2c565359c97f94006f3f5b3db4d5cd4d6cc7984a47c3fc5eeb6e19868d0f6808aabfdf2bcef7de057cc6910a49 + +A = -2942a1927a93d2a128bbf767e48362cc697d248d441336d20047ac900e50e7a0d468e0aeaf3b57528fdc9ac6b1b3958cd55ecefddc050f1a795bf0b6a391015f33b8579879cdce4cf7473ce1f1ad5db6dc9246c1b76d6df9e9d70d8fa4d41c57c287ca03398aaaa971dd245e0489adc3cf9701e3ac6770136cc95a874c501c257159f944cdad2cc8c96823db6cfa3d52fdf7bec49de3c6ee249c5bdaa2b5bb155f5adf57339f2102e2e15ba77479b8ca59c525f3c214ff1c7ca3e2c6091074b657286974261c7e4d8d4aac743d328075e6ee221606c07ffc0ddf79aece931b4 +B = -471ced19b06c7aa0fa0fa99c9c5e159f72e511c617ec2d4075168e4562ee742cc643aa6e45b5e1a00ca711654a3ca8f2ab16bab6da0e9e013c9f980c595dc14f250cdb4398290a03e520ed14b06ffc2d764c5650aed43e29624577a6d5958a794cc6466c826b199455289cf24c08ce39d1b41c342584748686e9e07ea65ddf02f7da5c04d0489edd8accb2307f783566ec1139b8b7f7e716afff7fb40da344e9e49ba969109b07483dfb7b3cb6dbf1441ef5a9d5e77cc4c68d0956399c9479eb7fcaca5e49b61a5733c1c9cc031d0877e4737def7ecf5770c9492797547180e +GCD = 49bf3d936420e0a631c19cc07c32f897dc9eba63db1f4b6b394619b3d79a7b06aa27628369c426a60dc868f52db7c9c1f380bba102910c89c7aee61efa4520b6dd199994e245d3c8a9754f661b0395e98e1b9555a10bff432b9ba7c24b11c36f510f74ac063487b86dacb369483b860e + +A = -eeea554e09138296d800d60dc2bf5a7c2c80671aa931f70e3947771d1c9db9008be9746a3843475d47e96bd10829fa77a1018421323b9dfbbe9f7fc0a5570800f29d30fbe27ca4be1d0801e6b0a9456216be6f0ae0eaae947bdbaaa6be2a611c6a653b2330b82d0b45ddcacb61087bfecd085c4a02d3247dc627ed70ee8783235129ae2afc42d4f77e930f38819e4cf4bf582f4f4e02fbb97e452535883915ff0e1e2b2b6d979e06ba83ca2cdb9982992f09ba3ec0ad12615bc0ffddd23bfaced60eac37c654fc0505a32ef61395ecc70d9e75f377ac6eb0ccc784f99151907 +B = -7780064239bffd36397611985f54f6ade9fa8002c2c771988c3881c17626204b8908ff93c42af8d63c9ab835f45d0f944831b9f21afeb4d75bcad5a3ddb8ecde498a82aa7e57d81857ac3dc961aa885edff580c98841bd752c6fd06fd8b7652b573bf22df9c08fe538256b54e2a6886d12b533f9d6ae6691ad3c2333fa6f8dd97097cb0d5c225b59b584c953dac02be5f4a263d028c9fd522c3ac462b36ee9eeb34786e91d8d7e765ee8f3ed291938c246a2e3e9795ada0cb3d768b97d9c8480625f26c857605ef5553aa5d61d995ea29df1ae8622c90c86bd9458eb40e3b79 +GCD = 69fefbc7fd8d81f0876631974e9692b1cd231a40d8eef4395650c9c1fd48096f5a6c4b43fff1c2dd645e6a5f1ccc47c21d3bd0b19bf9160c5e86fe6523acadc61bc9d001ba79ad971a7cc003c2da1389ddcfbd83f30b4142b0cbd4deb9afc9cf63c6d7e0681c6105fe964f29a0915787 + +A = 3e2fc58ec40beb7ae7bb16983aa742a4dd3a0c23d7bffd643cdddebaeeebc667be7ae9c02f178e12159ae9eb3a09c57e0e0c1f2c5a1267bf2cad926680faf94299c043643c5ef7e4477381dc1b2c5181b3f509ba2a1a2d7280f263d2160ff248cfbd5770e312839f95773a9efdb8a14d3408e80308a31feca9e5c98ab1f93ad0c086634c4e3fc647f073353b94e2a5a3f4d2dbfd1ea4715d67acd5d214f2e53a48659edf2a3cbb3de2edd7482b7d1a9524ab5c91e624c17d7b48460f5536427ea1c47f7461205b9303e4e48ff5766f4ee1cfa00694f294b9c1b1d044eea8c11b +B = -1db6e556e6441a313ef9278e351916fbb1d1a8f60b0473852c545733aa56cff148a5e9a99a4648ffe094cddfe85f13977eb992e573d38369c71103f0d453d7f1c9cd28bd22fe0f8af239a26740ee8a52920a2966330613c815f9e4f5de7a8cc4d595206771475fdcc0998aeaa91cba4ff23f5755c4a62e46c488e4af8ab3ed2e671711f514495c47daae8c7b39bc16bd7513d25f9c9c5a2932cdfa9a4822b97915fb08aef9a8d700745ee1de2b1b8315cddcd939bad1eac02ea4f90a5a51cb0fa9754e098d5cae722559a5f675306b94a3b555fa1f129d0a8e1c2bd33d644c00 +GCD = bb6ad64703bd74ee232279542a844c115240879b6ebc22b737ba06fbed48796a20fae26940d9f07a4c8df49f6dc6c02779ed89702e7cc8824079f024ec1de0e40820b909888d80d22d656fa3f1089cbdeabc4ced21406a1b278ee4c3ed02316d5a9fde47a448488687d3085b88387a8b + +A = -73bb2370f128449853de02fbf16710b2951d2cdc00432d9d559407e5dee3ee124482cc8841367719d261ac6ee08990c780c541819a5ce7724ae42bd19a13692bf59e36040fbc28c3f5c6e3082647b96957fa1294aa24bff9b6b13d4792f7defc708ec57b6a1828acc17001fce817f444f154fbf50310e03f3f3cabc66b8352c130e90686827187021377f0ebaea9968248fa22fdb2c7002eb00b64852d1a26250410aa9b43965728d7af0ada868e28a8139debf8bedf59c37d3e47da5d6d1ca6b34d6c93921cc626b4a871c6e4b14137ad1373a7067042ef74983faaf9752bd8 +B = 960b1f8b08542cd8bf6594332bd841403f4f4626f102df49c03353dbd0d62a5289b581b2548c7c8a2e38819a27ce89efd30f06fd4929f718cfd8b7873b79293220a07638846de5a066a09e5e128bbd4e45dda9786a63fee4ec23bac09b2c88b5e83b6954dcd3ce851cc03a37834f125b3cd704c8477d2379548bca77ae370bf54f45247de785fc115eeb5f4091724791db4e11a06002ea4de58b0e89dbdfd300730afb14fe91ac16bac4d3801ba8920d988853c9ecbd345854237529b8e2c2285c56e0efb9afa54bfc117cbee3cb457cfd26516438f700646c08aa0b38f3d44c +GCD = dbee0e63069d014880f53fcbeb2aafeaa97991df3499349cf8619465f47e5dd88a55d678be9fdb885a62c072e6a30a24fd125a4210ce4d3b02f8bc140acbd53d0f084f9f523d57238d793d788d89a53e6442ab222fcb0761fa574676c43469fd1511dceedf8fdf1ca51c862b8531810ec + +A = 1ac5c776d25c58da6fea2a5c1bd1ded76e001f29ddffcd431325de81d61a5dd1cd7afdaa7a2ff3c1f442f4832f085e6983c6d10e48e75109af7c5c1c3afb94baa236b738443d7712a04177d4c967ca5d7c4df7c761cc8572fc6d8383e8886e1f93eb63eb5c2ff2d3f7eb631c63896b4f599c60a8d9114620051ca3ae40a4775f8c9bed0d425f0371ba8aa07c3e258275aa05f3490ad50f067e4c6ab1f1904df1f1fdf4b72ff00bf9b8d34fe223f8bb2d3634a44efad47c8658a35059929bab11c35ed31089e959d870d27dbf2bdc41768198e93f2d86cef4687184d1a1b7de22c +B = 39ec69cc272060466aa4137b2fd9eb5b65d1471925b399b9481b5a2a91fa5047469693991e813dd9bfb8c4242229567361f42ccb50f933a48843274027b866f6605742d5f36878e2e24450494cc385bd57a808061f0483be1defd75038eff0b3e89b0855227540157acac06651e4cca8a150f6f4fbcf21994c48eb9e0d5ca60da78e1c410968192717b623fee6b4d48c5c0d876eaad9b970b3699805c83cf3f5e2a60a2bdfd265b409950796335a1f9c704c16b6a577a5de02eb74da151acb6afaa8c63a6a0eb341439aef9a6312d565fb5d6a982d18185c2a3d13afd47871930 +GCD = 2d32837528df392b9f03d87842e8eb30554486e30d647498465bdc7a8f06d3ceafcf7587f8ef5934dbaaab3cdbe176578d4df84a55a0e45531428cded60cc3de24fed19c687e8a603fb46bf21d70a382ebd4fdf15df2a2109709a7d76ad28287d038dd62b617e517cefdf4aa7bfc9837c + +A = -8003378719862360e61a4de0221cee76cec0deb355c8ef52fc14f1c90cb0c58173ff5010b1f5fd2e7a3b2988ae5e806bcc363299ab3e43f0808b16e046e9fcb5a9bc24c58b02cde79f96747e75f4aac790193ca7c104c244497b5259b70c342be35c9da89e9fa2df22a21581969891013b11ce81007e3dfc4970cf70c5d637bcfd0422c17f15676f08755948572d9c25bac8b75f0ba6dc6f9092a6ab883e82177daf43348d4cd1c5ddf6815d7e7df0a60d1a60fd21b553594d9969e54d107086a7280d1d19c37d63cc9de66029f9395c0f20da7cdf25cef3d517bb6e08ca70c80 +B = 7b9a733482154336d56aaa63c85d2606e846c76377b12486b96f2ca135e211f3fb71a3a7623ea8f008afd9c23385352124653f1aa9b6af07b511e63f5f5aa8a14adaacf84ae01183d9a26bdfe6bb1439a215ffb0597b78b651dc954a6a0813553bbed13df34c6262fe7aeb182d3007c6c048243bb39b8c5ce5a874abc796d6d0c76b4f1e833491a1f73808fe29a078abf2cda5cd909368b44ebc39e5659540090aec05fed5735fa164c68b18db260a8f28848c8aed19c89ca219ef53508da4ba527893c1373e790e30c27b7d5eb7226328d7a6018024ef466518222cf5f15fdb8 +GCD = 5896d7e146b9f8378b12e6dfdd299b2ee9d709eefd722f730a0a0d67db0e9a3dcc60923fc54a4975c3cb621704ff8b00733b28bc66a6098e56782834c1fb59df57d59f37fbbbaf69bd4252eca8bcddf68d87bfca9419b27b8c834a9eeffa1070ed2f2c24922933be68d2b5a3bb90a3068 + +A = -10aabbb89a2ab07998d0fb800d0dc7b692af54f1d0010927d3241e48e301efcd429bcc894d1d6acb2b6824ba23abdf8d9b44898b1a198c5e2d03b0951d9a019347805df2288b5cd6ab02b43d2d191c6e34c028f0d5e701a2b348fa37e3e6ef9188a8d170706e8e0831c6a0f1ce1cc9f20cf8f282376ca00bcc806e416232c6e56e88fbf224fa7c91eeb883e2daf8efd665a7605d93cfc69bdacf06e967f2e22c40184f457eca4715a875ccb47cec223295fa6749ab37146666291ab0f9490cda54b828baa3c22dec3a99c6032d26a2511517f8aed7d8f39e6ed5cf60713ac175b2 +B = -24d35fce2c78cf78eea08fc77c10595871d1fde91e89652fd9c83663be827bb609113947aee14dc9c9efe58aebae9a957532a046e8fd8e6db28b6a44b3b3fda27cc116f070f3664ac34b73909f6e2a2e77f5f7a8ce5ab650541002765ce18eb0db171a0a260d0cc9b47208a573a714d92f261f00561c6fdf87c4adb1a3506eaa39d51bda047ba67dde681de74e39f08c9bf84a49cc3eee67699b57d2981ea61ef1bb02142d47c2aa000be40aa72ad49e90cce186583945d0aa5a3533b29125b8211d083271cbf3f4bb44e157f000d7c00241e74c3150a70ea623acec9c44a61530 +GCD = 930b2ae56db52dfa3ce46f074e90be510e2c2ed52f8d12712a29ffec84036eb08c2b010612ec0dbfbf58a4ba584b553ff99f60f240afdb4c1c8c348b12d1181fe345bd4f015621955fd3de9f40394e8a106f5ff4652ff89c91a8690186e6302b3a864469864f45316f2d17fa94124ae72 + +A = 114517f97454f6c2f29b4c1b6589a9b00a2c629cc6fee9e710514cdda09f287e78131d9741f7989dcfbd89247601c936490731e36cb6ea2439b2ddf93769964e753abc02b4fa7cc92625fb37d7d96ee30f33f8cd2c006384727a1b620bc230a9aad1bead5364a8a1c73fdbd9b67207180823538b985d4df7df80872357a9450c71ba965c76e5e35ae8cbd2785fa04c5fe34db7c17d3984986fde851070ba856fc83faed335ab3dd533d461e7b8b88da40f26bbc41ee3026ad402811842757c613d2f201e29f7bb2b2b4e6df8385d03eedd8f216182e70f2a67596e5882c36b17370 +B = -2d26c32401b306156120d17eef5dc1df1cf56b84aa61f8f89b98f4e0585cfa2a6276d59d3c9a6554f1aff4ea846c4bc4c5f0977e22ba387bb24154ea603af2c6a4538a813e77eeb627ef479dfd3628a8c92611370bc7147bf07cb3fb2db944ab1a565133d502894da4cb57a32acccd664c8ada0b5a881d8a9446a929132c325954010c1bb7229ee578bee1f55a602142f42fd4e29ca7d645528f8eb197721bc770acad5c5976e4cc635a82ff8b3e253f6687e5c44cfab956dd5a8e04d5e72f302d2be6395afe0fbd3997aacf875bc559be45c3664f13c18c408c746c677446ff88 +GCD = e16a6f2561cc6b4971da18eb34c610c4d3fe9e90ba59b896084d6757a94ea16065554991c0faf341b8b5c866792350528da6532a95c5363061e254b87972b56325e14d36e65618f64635252a00a2528ed3d4e587035961778868c8205c3a6300de7f7bac945488a9b28b0a840f3e1b6828 + +A = 3c18fb0054de1f379a9a1fc8324a71ee1fbc1e364c0ca9ee88e5001f3f18a8fda872ff63be0198d5d334f517781ad63831a79d2f5de70f4b9a4cd233f5a07795d92e43a3073615b69a23917ae867f508cd7d96f562025306f6885aff5e374f65f9765c56aae1fdc356ded5dedb5ab2b39bf68393720cc3ff6f62a91f78d65579db2f78931262e822f1e85ac201da648f49f19828ebf2ada440f719fca6a1c027501b2261e3b5700cb84056d836c4b58cf6c8e8cbf825cdeba06a16c9f6f30d072ca1456d32c03689cb77124afd0c5a53c0e70d417853ab4d09f3725403919601440 +B = f51a4aea1175992a7e214a98f18bdc8603a1a301b48ef739d451ef2086b35f24400628745290214275fc9a91ce904f79959a518a57a0f770c213248000867f56e4854b1d5f64685ec0807db455608ba64bd1b261f5f7f19f3b386af735373615ab513dafa1a45ae870e9e3e1e0335678bc1c9dde6751d566ba39064b1ff29be00d687956c371cfedcd5d546314a7f0f859d7b2ba75177692150b8101346f311cc10f7d04e3d7237544af0328f2641b9b4b00cf4696e5bed6794e118a59decd69c3315c3508eb396e13285cfe79845b8f8a0378f2f6279e3b9f080aec68b79e5f00 +GCD = 27220d92ad86c3242b4ee7dc91cde7551a1385a1c20eaa6f4641dca256c7d36f4654bab606557f7f42a07903e026658d5947905520c2a3d7af4744fd89d818e837fb590ba4d2a4c49c6313309b05dfc700c8e35ad69baa311654f98a1e1eafdb9f0e5b69dab0c40d7a6fe1259b535f4040 + +A = 13c8372f0519a9e7b7246d0339e11372f3837da7446429d33b56b71b240c8fe8cfbbc9c980dd7657c769f685ddc26f1f483ec7634bd88ae7082131e2066bb191ad2e46035aca1996401f00fa11d2ace9245e8fdd2526aa7754436f6586c5e0e16623fc32d206c7a7bb65572ce48037552352cac1049cc74cc2653c4745b96eaf1cd220d1eb207d75e1d4a138f0264b21786cb3769782a2619afdcddab57335599cfbaf06e421fc2911004ea32ac685c0bc5402048e268e428db5675e4ef8a34d0dd436aedfaa58ba31decb51b1e8076594779c28a4df78317f19f5a7abc4cace3b7c +B = 6d288927fd82bd3bb59a235dbc56263e28c139f297857adb2b21383922c47ed3749b77d6dec3ceeb50f9521b5c5a3ce89e686936179f82120b134f6a8a9462acd2d5251fe84976783e71038e4b7d00390ec164dd9b329a4dfd631512e8fab4b6c09e6180d73360d816035794934f285fea324760d532963c3bd3a762d4b10cbfa83bd47bb606e6dcd0e5c4c1181838559fcde8b3a1ad0525299c5a58203df31513692d2171a854788de7ba683c2f3a4648477e988bab2441020f1888c82ea8eaa1fb805083608a541457566b999a1e1efea8090609368721c9ef54ca784ad9b1804 +GCD = a48e109aa498fd39e7ff176fb9832ba616dd28ed999e9fb201377c0def71791af5bed77e958c4dd9b4d1e58e7d94f68110f514399819724f18370aa1058222b997a27c1107131dc5dbffa13e9d7f86144c1ef8f80bf5e6847d6826d0bf42e22185aba8f6d4735113bd82c929bc51c9fcd4 + +A = 2dd5b46990984dafdc4d5027888fc5823ae16fbe5b42e1ea296f35ad0f65be426754d4749e408f9d8dccd0fdd0bf3f8c283db2a5714b4d0ada6a9db57c2af7ae295ff2c8167775008531ee4cce17ef316633a475fddce2a6e604a63ddb42ce861f227b0481bb6a8bc107b44456c07e3a74ed719d713c2fbc04823d5756123d54c9d4c972332ea0d56c80a438205e8afadef6fee7ef02e9afd0509ffcb03853810edda51fb3513ad1a97aa73a2860997d3396e368a4378fdc658400e3e70904ead9d4d0fc034ec4c6800f5ae90a23701dd0578dc7f53db66a2771d34a8f753339ef26 +B = 19970b4ed7267d41f82735c71b00b2765e3f30f2fb61fbfad9a99267436e0f169b3e215c762c4d5bda9139e13fc67ebfa7eadb0a2660c1a764ec98afd63699d7a810548277d84ece74e981d9c8ad20afc1afe8945a23199108de1f56adcecff9245a0b95bf8a1a69875bc7ae94f47b56ed0c1052486bed08a50b9529ce1cbc34e2b7dc798a02ab4469809ffa4b6e417c10f8307b96010ee9774ce5c78afa6e1b7185332777e822c2c8733786a1222b1e083508f6a18d4e3d2472acf15ad2c7585018c551c0da4f98695a82385c756a195412ce7d4c863843e3383ecf18b5bd35bb18 +GCD = d5b2ca996ad2a962d06e3bf99c16711cd742ae010528f392d8ae8a9b62475da6ec5a5f44fe58a600eb4eaa6a1993d4f85c68eccf577926b2536df910d0fda0b6908f4a8b79f8a6308fae75ad8e43c684eab8ef3afd1637a44eea94e1670306fa043f9ec16068f1475c5d8bc04e24e8fe46 + +A = -c90c142add4cb6025fef5182c08267a33d11c6bc5f288f17a7c2cd3bca6d70b82655427f43331a43a89682f67a13e2389166c5a1c1a3bc16cec2f3d7079f61bbbbb931b6fc4eb138fba8cdd29f0130be25a09df1c34ebcaf37bd750ae601237862fe0e002d988814cbb9de83b9f9261693f5409af575674bc86dafd837c2ece00b1f7694eea21dcbc312fefc3c15597a297b08c5477873486ec592bbd5878ec5358f715374a5d0c89e1ab55734f5f4e9a79ad3a8aad69222669d26025a6ec4af9d4e27ec978f2602e960a8ea7714347b2d7cc9ce938bcc9e74f70bcafa8e0c90b1b6 +B = -4fba1ea0c0410f92b7ee0053202d0af5cd97f4c3f7711e59038ebdfcf570f5ed371ec7677ccdfb1ae9c16ab0e1928b7fbaa222d377251f63f34e8015205b766326249bb8473c2dc44d218ed194c09000ef7dfff514c0e1b8b9421c9f5beec5397d874c5bd91b18cbf27ff7b0f98b2b1b14e642bb289eb62602c6ca1c34b4ab3fb78e00d8a8dfbc49e905bab4dd04d1e20e8f4cff2ee2fbd96cd0cc4b9c041f3730f75db19c720f9bf09e211ab3e8917f77181e2c6ba7c259e21ff78272588dc0f7c5db9eb2af0ee87c60d2849b1a35aab0c5498289d4e24d618e73bd9593e4dd5c0e +GCD = 4c27ee7eb8d7f39135166947e0cee7548aeef26149fa24da5e42359a1fdb59428dd830e9392a3cf54faaae167f12d400c3cf870bb97144c3ba32fa7c0613772957c7ba658371f43d7463f9276d2648f25ee5c01f7d134f60c5f16bb2da335d6bd3f9577135da91ee07f22e301311af28356 + +A = 51407eaca8a7d4e49ee30612bb7a917a0f1a2f1f8ebd74fe0f6d214d698c2e777bf51ac38c236f0a7d961a468517060e83c8744737043bd393a2cc5e6bbfb3f0bb07361415b1dd9e3c5ca03972c16c4a7c99597f5e3d06fbc88f2707a7a9ce2b92429bba6750f65dec8b4a95b1801b9df47a813288c8f8c93489ff57c49cbc57bf059fc75881143d7039189730ce5d6ebbb247b91718c9dd83d0453c45c2891af317d9d98b696896636eb06ff05e2fe9d16eefe0a2988e58bf52f104bd0e99a86a36986321920d101ea815336bc92638fcb80fe401f7620fe26d8c09af965fbb7c446 +B = -4753075acc3e52a06627c3a8f98273593853f6d28680b48310d63cc8841e5b9cbbf309d1dd8c138c39f6fa092e88b57a08251481b7a046a322ba8940f33aaa5a12c252d33122725dabcbef3ffe8e9f85f411379dba977ed79d77034c6fe7f3672464325d1f9f7bea605a5680f7ad66d4663aeacf5b12166167e5b78d092c83ca68808fb927773efc1ebbb84c4ab7ce39e1a410b452c8b61ec25e863006c28f0ca22f4e30b859c9058562c137971dd7a847d27c549ecfd68ef38e8d83b726ca8be7e3e9e7d8ceca45da2891b9e2da9f2cfaeb960d4ce5f5b0cf7d887deeef4e292d49c +GCD = 2fae0be8e73c72f9a5cc9e08e31711c7b98f3f534884890bc9d5eb7d5e3e12b5afeac46a6356759a0a79c424fb335daac0d253ebdc40f1f638ee9187cc0f60040587056e5eaea8eb300cc5df84664bd11da29b902b1016faed622a520b3a457e8a6cdef5fcf7474431d9d8723ffecd4b83e + +A = 44c3b4d2611a1e2139c8700a89562c4d7f30d32634ce0ff096ab1e1f6ab7d16ca855af4d64864da9bf3d15093971e16862d42ecade782e5358556425db227b8dbf63fd8c9b05267cb8b92031d4e81b656def8be573f0fb7b769df43e8d74a191b5bcbe1935a48b8bf517a9d4243c293e02697c4fb9d4997a650d80e96552ab78002e30449f0f268ea63d6711e45775da7836dc4d0d21e5ff9722ec8ddb0c61995061d04daebab654990b896f9d0549e2a86595ee8e7efed3c5c06fc5bd9956f141192b7de127dc4a745053279005465f15f3172fe8fd79d2228e3c70fb47c6daf2538 +B = -323b29283f091493e58868ee85808101324dff01e33cc9cdf3e2fa98615d55c063a84d327901f8ad582fa8ae7772d2bccadd4e90014f3172a727bf6a85bee37a35e0db71d385b3c65527f3420118848de88b35efd695989b2ad329b0e6cba69f631b3207cd4664e4aa36cc77eff4ad00da2f51f8e69a1381c1ed7506468b61a797732ba77e86b08184c55e837e67be59cf59bc69032914077639c5247ec544f54f826607833d3ac5cfa760b6777ee95c9c804caae205f5ec44ea9b8fa16582321968d3b293842882066e0cf6da3a58d4ace0292d84f2b243653c6f5cc3544e1b3a5f0 +GCD = 461e865fd91c3746fa3d7cd99e8f7c4cb5ee68c10a886202831ee554f349a7cdc1e18346703d758e616c9b2225f56b30c6ae07135431fbe464dd31916297a6bea854e980d685d887770855e6079414e1188d168f42713b8fc04303584289bd2e84d1942c9d6621798b226da1b13263c3838 + +A = -484a14524658815109e22b3e0afbd75fad59d1171f886f1deded1427703e42c1e6a39aac949d54e3b4761200b76c3b56957f7bcfadf5712fd8d6a3932a640fa4ee648106a1b6012b092298b510a54c8f29809ef1c5e232a7e6e2f701fa48cc061bf8a849c6e45ce82c11ad4f45ad7b5ef4758d3db3c098c936486d8ce8d271f68e56e1d9657a21703ab8801d8592855671884a8c6f8f00fea14ca3df534b286809d975240e5fc6922e03e4b682f49e885cb52f6bc7e153bcbc66854aeebf7edabc3fbe8f1265bae85f171f63edee194b1bab457995217e097fb6d6761b7ecc8bfb23d1 +B = 53e323b8ffc9a9de9a2d4300b14c701ed5cbb4301a7cbee623d883b4c57ba787470807c407e9d85f04fdac64ada58429d9a2eb1ba4a63b5cdfc28b23e5b6fed862001c91935af702db424e6c0878b804088201b2c7611a711b01a375fa3a20f05fa67b462dc7b7e51aa4edba1e5fe4fd8c1ca5baed8d02af19dbc0070247a49205aa64a3a2a05f40f162bd4b8cace8e3341cccdca2bbc2c8473f5f0b9efb4f4cf22f322b63f92ff947ff273a58f1cb48fb6b9d12082a1bad6ac1361b9eaa46e27eef7001f471536e11b7831572c273df076c98dc7ba04523795d354decbafd7328e715 +GCD = f644fd3f0e02931b84cb01fd9e2ce8d295c5aabfce4da5028940919d3b31acea6922dbf99bc7dc3629f587951aa79600a408231f6b35482cbf07049d5735dbf8185c506f55b099fa413d8a712f88e855ec8e022847687b1eeca356163e2a20ff4e079694048df54f8ddc75bf49f3e3703bb + +A = -28876a61642abf9368be3cf59fd059b35a267c43e52399924d53e79737f3303a95e273e5337602f086d4eecb03811ffe23e4d5a31a9dfa0a36ee79b5e420bd8b843569fefd1d845ac608b61a277612a14e3e285600115eaabd48be272b0a7903ca9fb8777c2002e8fba92e6839dec9b6fd07d1ef356a4911946ab80330eeed6da5728b840a9877b3141d186fbe74ae97c141a9501771f4befb6536611185af5027745b0464db7a9a8124b37246e0c40dacacbc49a60d7f748f0881a741c74a84a67df2d021d1dc6114dbdfcf5c440ceddd5599d19f3e6dac988878186fa951076510a1 +B = d0a793226b62e9725f00dd0b75bf6f4311b028b88855e4895075ed055d48df2437afac38cc5801e3de57732162a837aca55d46c0a2b9daa7218fdcac4cab5aac84084b3e7d0006c810a153df3126e78abcacda33d4506aea31b6fe0e02e8ef97c1d48bc6c81449ecc810c98e66d599aea4a36d6911673a9eed1d837f2cac9af223a41c2fbe0bdc83998ac9130d3d4f5145865c50f8c5fdce6aa6daa825751b998249637f4824a32c20ad59a9e59adb4564e38ab66d6965966a335d94360e4be5c6ae2a8d9c490d61231eba282b91db40c5cd7b5d44f714c08a8ac3906af1379b536ac0 +GCD = 1aeda3db46a15d465ceee006c4b34158e06b6236d483180c966c9ca3a2394d36b0385a6d2c785d47df4df803df305541b8153450e5be636ce6cf88d2832e06050f315afed07025e32d96c1ed08c7df66d53bd47b1665aec135c872b8df2828f7805926014c6890ac857dfe68ec5501d88c81 + +A = -3fadb2eb4179a7244d02f41b8b5fbdfbe16fe76aab0267f6a5020a6beb819fdcd9128ccad97f721c86dde164e35f2900fa48baed7c67ab42577af5512acb64300cefe9a0857b63629f6b7f73491d99144192d5a613e2d6dd1a2ed1ae23c079c06927df11af2c1ba9ffe2a6b5a1b7b78da3c039e8f5ff326c1b60552a5416d77c7cd2db663cd1ce4945fe555fd96a4c2f37a854dcf91a4631b676a538d122b688d9150347c9f72d8192f10aa3eb812669a745cfa4701f5381c14dd4f6630758fc2d0674e3ddf601ffe480e6fcb900dfaa627f76f390d12097a11e09535e6f07ce7196158 +B = 3a8df796f2f3aa3096b98d38018f757ab2ddc72995b4bc5abcecd7618062a94e59deec43fa7354e11b63876eb229d3ec4ced37c932c0b472fb2d5abb9cee3021188193d5771b09c52b7bee1685de9be055c34f8e1f5ec663dd8c44ebf756fb3d8c1d9ca47be6b1020000b3ba4c3f3c85c17bada14ff3120c7a4d2201fbe39ea8b3695a5114f7b12153fcfeda2cc4ff9f6190413a9536a7fe639d05c8b5289251a286d6a71cf3b4c1c5f24f4906dacc2adcbea106c9cf5e071e79b144fef16e233fd058424a8ad84235eee837096aca00e7bf7b619bcbd14b7b8dc244b0d252e41f78b0 +GCD = a5b9777ec6a4000f87c1c0418df938cbfc53de702367a2035a317812fb8be40e3d39b5704afea69ae652b6cd5c17325f31508b64ef019fdf0072626190c797e923616c097c159e5378817cbcba2aba68f2f650ed6240d087f429eeff283a1eade84077d9a8e1d23433cf21552d7cc2e98358 + +A = 4546dc88545abf3991ecf7964abe6fd4429091e15059dae00c836bb6d43e7ceb6420896430959df964ab6ddfeb2e2dbaae0b98c6de128f2c027f96089d3ea7fbb665089a684b0c7f121fed84a05dd5e419ec9c2523b35955dda5134839143f03f26017d962ecbfef1b12eea92b018c68f65200daca146e6703a96490a47f775284acbc3c3365e18a524734dcb075b7abf6c8a229dac543e0066633c0ad141405d58fd39d511565955997f0b1fb1dacbb0fa10a151c7b1ad55d5d8cee4eeadb58496f8b1f3a2bb945ec2794b71d816953401829a6d3166205ca1e40285e27dc3205fae27 +B = 507fdaa9bf3b4d4752d3651aa4a7712edc430e3ef35e890797aa626db17ce8363d71abd9b5e137a7d3e273e982d0ef9d96da50115d1434287616caa69a2eb92e7098501f3ce35d4c02fa6909ab39cac1a7d86ba2ab55c92667e631508290e0e781846e6362a0de48936c3b5c8ec2e51f3a27579eb02e65982febaee6ec0e5a916351b1a6221219a00e5cb0a6bac543a434d69941935427e214da344a92d5b71e6bedb70e79c7cbac9868cbfa07b98cf820585f6af62cc2988bcc00843159311938ab76ddff776478e75ee386386f2814ca1ae65c640a13eb466d4ab38b77980fa44eb55 +GCD = 443e3bd521d2a8550284501529e20cc19a8924f595a7a1e5cc7df8c2adeb80764502332844e61bd7d7f2749112fda7151e2cfb7c940862859b294d2250b037fb71d3b9b0da435f7bf6b3e43ec703778ba3d728b0e3b9193150970b6ebfa4d55451f5b44304db5b55346f9afb2a1ffefd54b7 + +A = 3da9d76c9f488318c800429485935f3392ccf854f168ce9668332c66b604bbb1967425a285dcff49f4ef64bad070c3b9c459e8d6b7e0de45e511653f37a146873bde37daea52b0d5d0ee240faeda35ee6a0c4a199f88cbed75b688254e22d19a2e2f2111eb444343b55914a184ceced9106333b437893d2bd0a7848e5bde16b61a4facec4326e92cce9b3c779890ce4c5bacc436becee62e156d23065b06fb4f99f14aea51f12893a5d4949861bfb47892b894f0c73d1e2abf8f58c872e2f170df8cb3c11f4c818688836dbb74a173d5531ff334083a7a16e38e5c851c77af48fe89c7f1 +B = 418a39b25b12c8fc987ed28132ab13a92d42358649b604ec83df11944d880efce6a1055ca83e0e78de1de2fa23fbb728e58de3d2eaba4c14c8fc3cd5f3a6e5d8779c1db2b780a564c85bc0e61503bc5247ee0a26fc5a4ffd1b053610fa40ba85c78eb3d319cda05b28d9800878e0bf6eafb8b5cc21b0ddd7f5a7ff0c1e3cce9293bd348ad35aa80d0f09cacb008c13817e4b4e0255bf7d0d12eeff8e805a600dd6502d7665fa7e31ac52bdf8d498a67f1975b489b47d2199c6a67023470d574c55b6f2fb357122df2e5a504431e501082031ea9ce880910701b08e3eeff4ba7422af65bd +GCD = cc09aea1e5c0f063c86c23b3ff69a0236b6f7b1ecbe680c03939244bfc270551cdcd7ee5fd02895d838abb11c755277178450c0093ef1b2588ba52a1a6021d24cbb7a93379e093be891e3a091cf1dad0d318a1b8a316e9149603bbab61ac866383584cdf9599f0a972536e725e945cfb1a4f + +A = -30930a5058812e9d1a321c0639f73e34ebe5118f079a1f5ae55ffadaa31e0a00422cb5fb2f64fc836941c1465664bdd4c9bb772b7d4d7655225a0281a68807aa0e79f331384058f183385c7ea7e66a9a9279414725420780f6b779f790d6dd1f20320ffe9fb4626193ffd3f67420c27ddafc8a95287aae955ad4853cad2826285d0b80588364a6e3adbd8dcd6d57219e3c177041722cc052a12c78119c6808326ea017fd4056a31cad667d22bf13e184b0fc0e779b4aad8dfed21c85befe2654d90d427e5a2f68314e77ff7dfe691416563e30b3e7c4382494ecea90a694636ba045a1d7 +B = -b4396654068a9980d7698bf6090e2221b9477c9611abfa686539391951998f39e8c7ef838ef58ec33a5f26cb67b87967d45b607a6b3b1d0b8960bd40f1960a7dfa17a40967228324f06508c0a0cb40f9ef1febd68a086965447eeee232b29ee54e43f8b555fbbc8eeb63833f723fa5d7056e9cb5cabe3a629c2d9480cefa10db82b5064b36e0c890c065f84f061e8b96a3d57764ad56710cabe1cf0223d77a19217e7cc2b85bd523999d9d893340203629f46bac67478256a18e6d9e05f3c91d1ad8f5b34c2920ec53b6dbf41d1a47be60918ee9b02d4361f6c31ec380995cb9cbac11fe +GCD = 7948f81b148567048ca6761c68e2920f6f910dd5e172e619c191fdef466ea55fc3151c697bf9d2d60f340f49dfc8594e46dffc564381343e9497b7fdbc3679346ee471f4793d2a94e3da634b24cf8201964cdf6db8f38e9c8e521c15f4387a0e038ac5509439efd842061deaa001cb9fabcd3 + +A = 2822e040466c5e960c876091f4b148719c2502de412bf3f80dd593bdb5702aa2529fe4f9a47cc53aaa154ea1cc02837b753e8c0be83143afd84da0faab225104b0cd2e1a7e17bb10741c40895d7df77356ad2ed0fb821a3a050d8ecac86ba3724404ae3bb0a84f3105fba3c74c40e0a640e84cd4df3761af3d64683c33129fdf657053588d12e6d5ad32be50bdd2f0e717cfc2e2c87ebcc77e2b84cc638b207e3ea510cec224a2b9516ecc85fb67bac6d80c65828ac5950e981ee378b3c7f0fcc63e85f316c3c30a00bf34f09839b3e8f13b45c5dd75ff389624630f66ab8632ac291627 +B = -6f60430bdc2b03eccefa2fd0c772f3b615e256c0c787118fabd7b1d4695a1e3718441e45864ccd1566f57c83a6f204739862422979c18db6231d5f307eebe0eca2634442a8527d5b932960ed67a8ecf135a8d56107bae8aea83daa9be3f3bd56b1e7358136e894bc5f0b986b0af75b176ce7e884b62130a275152ea022eb64d60d6b5b9ecc00a7da611589cbce65a17c6343e879a496bce744c99394037c8f9d95fb34602157997c45be0b8c6c93861fd14b0303be507f61d4ee7f5e4ff11aaa28a0b947d4d8bdcf4055740c4f8573691348c4009462dc89e03b6c1b0979b4ec7099e1335 +GCD = 387cbd97765e8fd3655450ecca4ef9ebc040e8cf909000dc199474a7ed28ab26220ce6afdeab0c8e772e818a87f13bb61e17b551682a5d34df2af8447d2b30ee06cd4c8fd2efb16010461e4065b8e4b3d30987b85fca9b3e45b0bd953d151eff3e250d46f678a2ee46849ffcfedded2cab855 + +A = b6673cc591252d4a0e447feae2763ebe658be5b2e5bd80bd370f7510d5ba9c3f89fc2ba85e54af92604e6c1a5b0db8647bac06d3061c410ce418aca3a8c55b966366f212e3d5703e7effb87032c10628de2327935ff550c7eb77f91c2ce78ba23d47930d9e41624561381297ed8e2214fc916fc96c13f733a3e52b3235c3dceb0e9d0781fa73190b901ccbfa69fe6b7a7156364233c0a2472f834928a73b6fbfe39ac8ab15b07a0491829b88920982cd6bf2cd8068946c6294af451822d2d45899a6251970cb51903e1eeba99f65853dcec035a6d89d90accfbf7d3c51c48118641cd1f9a +B = 165553204d8853b7b379b90c37e8c96b534411abd9fcfc1db67e654e860d31e3a0fc0fa1f702c2613514aba14b816c349737fe80cf8ccce628ee579f372fcb081ad9ae87e305dee73d9b15b5d00f677accd5a11c3fcf20058c42ddc2a21bbb873e7a5ec54c68b77f452263d3e26a017fe72c47c4393334bbed3bc28205e79984538c33b41aad4ba73490108c81b2f14cd40b8189c3accbc053499dd14ece90d266f5bedd58433198e78461e945817a35f184b15bd9824edec047a22e01028711700d76d8e308431b96ea57e11b87cf780aec75504194cb1f288a93c01a26f61508f180ba1a +GCD = 5af3ce452559f8f500a07def004380462e4f767d5b974a253ca4e1268b9303719d9245a820e1653bbe6001e429a7e48054e2f1ffb0a1e2afdc05cd79d8319e3ba979c652bb67b8646eaff17fd0cb7fe162dd6d56646f5f972e8be1cf488d731a26fc004ec312e6bad5e2980bae96e691eba8e + +A = -f048642178f3a5493fd98ccc18cd5069ac33c61ff5d3c7615f8dd3bbaaf70314cd504c5037efbb84ae1120a8ba65def97696a9969726f31780b7a499f78af24990b1ec7c152a8744995e4d96f7fcd8c097c6f02ab10fea507d48f2ec421007e0344fbccf1c7b5b23f08043314bebc0b359163823ebb9cb23c5d83e7c6ae2819f87a81ee46acc1dbfc17ddc9450a9d16276a9ab6ffdc574f07d10b3475a334e6fe34512b1d52c1a369a766c3f865cb10c90d5f9d3a1db4c5beb1b97d9bfa2604d3601d0dd7f5bf26bcb96c3a35978b18af5b215d75f37406bc7f987c69859f964afaf911c0 +B = 646bda2711b65a7a8e22343db6002d48c2e6beff6199ddd5b3005770010d29ba617a31357b692a5c7cf77cfba9771997793e64c01e2ad60d58f858a3360a03dd35a061c4841c5fa4ffa3b325f771a51635cf32097d66729a72cc1e550c57ca72b0427bd24908db28756297a2bff7330d0b7999cf47c552c7444b5fd3d87074ad42a757465c60ce2102db04399bda757dfe516ffd0597cfe0c211c919f731d0ffd06b19dfb700afafb2b54f832ec94c797d51f699d8ba47bba7e34579c90ad50a15dc4b3a71f752ca41d4a23934c7ae221b96ca8fccfb4a346e2525ef08b9934fdc14ce0c20 +GCD = ea95316b8038b8eef1e2d0afbd011876a1d4733f7c47298937206b053d072d6a4c88b1083fbe408aad7da2c9b9986bd5f689a5f70ac7f27287efbf457e3369d9442bb1ec76d489ccf45fc4ae1a38c08448cf04bdb1980241c33c8d910b674dfb5e08fea2df9e008c79346525e1dde7c6d0560 + +A = -14c7c1cf7ddcb8ba7345345f425c774b49b56e3642ecf1c21c0bff2c3a744f578cf53a1703a2979e0397ddcea3a6180b509296dc6d12cde958211c9fcf9fe4e0e6e0065ac3765ee6eed36f15fbd4dd07c15849abb965a12f2fa865f162299ae1011472b35fe483ac79546cc2f9524be07aca9c7d527c3e78669b398cf427f62347dc963abb45be2235ec373fd6ddec8b96f361e6b5663d5fd0083b84c7d075c453d93f674fb5aebf2aa6b100bc6950d23166cdeb0b2405714a78ea5ef5bcb2caadab6edf9407daf4542e40a244b391a52b0f3ba78d216c19ec064a4aa45983683da7ba3fe10 +B = bcb4c900d22905935134b81f862b7e0b11cb14aaf616529c65f725c52294c47c61b8a77b4c1284cda54f008826b4fa4b3c1859c3597ea48bed38f27d1194dd92fde5ad6971415639048b7cbbf52d167ec09aebcab3e3776e4afc3a977b4696b6b1c8ff4725595e181884d3faf38bcde08c25179e825e6103f60b1aba0e9a62c0b3e4e2835f5e103dac8ebf42394c1fd4b46300b1a9fb07763bf460480c84c5ec4a0ded881f86490447e48825e73491074be834e17747d01f223aa7328e1b73a15c9779850642bef7d2341d8d6f94c5689020e60df791a8f088301834e08657fe37952abb96 +GCD = 1838f6765028f611a0659d913c8d1bad60a03d29d87351d793efac22a9545c1662467963a38c57ebee6a1042aa5b77487fd2e5b09feb19ff9fc87415f6cad068248186631f6fd10ac2b8827327bf65c832bf055988612b96a2cc62070f1df00c0a9f280b6b5bb855132695008d4410b6c592ca + +A = 1c48ddf1f4e2e090b77d2f0b6c9793eb421b32e37d1ff05a80108ea48485e228c2512b0f55ce5c3e14db073cb2bc041739f428dd632557e8c81953d9a82cf0c4735108330a317abb9928121b29f6f074c46b803d845da1c8df1869751dfb27814e77443f87ecc558a22ac72fedd5f239f94a5fe18e432e16c5341c2602c756e631dca354b4058c92c924e00132d0b66b9f3b6279b2e99eee4fddc1af37cd7059fe49b0d2973ff1db8ced02f5994d9021f0256cf0a9866301c9596d4dd60f087418377410d54d90fdbfab920d610e21d54d48efe64df6e9b441c94a98cf7613ce32b27ca8f64 +B = -264f91f06321f47a7d63b1b293c4ce36d290dae687690484533f0d5e7de7ef6f32fd64f6e200c184fcfe3594ed529df17567074e70a4f003286d991a29a68756cba644b4951a854a713abdf80ab49ee0c467d57bde343022ffcba330b68967089be4882df51fa06922ee346e96ca81b9ee9678d7869c09f17b08e5f3aa3ee75e0d8f3e9d5b43911db2c81d44c81b0f74793c932bfd1c86a0974cc53ba881aa90058b53c85008009c532e919e079c34a35c0a6477a6a6bd0f1149d20cebc5a1dfb66dd3814f30ce96f6dbc4d8baa5bacdf0d73f81c90d29cc0f88f62a315fe0cd16a1a9efda0 +GCD = 3eeffdbca0cff6d529b2de69af208e6b99a9b42028c92836af2b33b44d94074188b26ee0e94ffce40369999a8cbced6f6a94fa0944c8445494b5d7b983dd8952abca8366a7c0f0195cd0a4a02a9833a33d9efecf635529e99bd97fa46a8b9c3f129c0546513b4cbdc3fad5bfe193f7ca258764 + +A = -1334b8fdf64ea14a5ecfa55ee2be8d844aad16cb58e880730b78624c96af300cb57ff0e4dd9bd755b1efbb257b67425020c584c32b55baad3bd3e09ff65d3f2e2e1fd2e3fa422863a18a0943151e01219448cab205ca585fded65a9438a04ffbd07bac974c021c93f1c743e6054ac0dff56399d6ceab5ef2592738f4a66315ac452cecdb33d4cd67e37d630e0ea4aa341eea9682a015ea2e3005e1ffb635c2b0cc8b8be5469f33526aafa7c6545ed82dbeb979b5178ffedadac33b1fd37284423daf18c9a3e16defbe1c68034287298ffddbf505cfe69684bd36c07f41dbc73c725400133dd9 +B = f1e43544265b7d2a460d8a619ccb001a6190356fec99b45c1ea457ef16e8bba1d5b593f62d6dd8e462c07e8696c7bc49249dd30424c01dd6270f3ef9a701ffe4516beda9641989579bc3a19850e4063589b43b10bcd8c588020b58110907368680103f420eee6159e75e286bfe7e57fb9c8bc00dce8f2c24bcf4156cd6ad8abf810928de7fd021493fa84e3bed7c073df52e6c64ccb6eb42a4013f63d19ee5a08ccf38aed7a1801997abcd1828ac28000bbde8a4e17e6590b393a0a8450815c69a046164d25f8f4321573e54755787b4bd2d61b1d54a69f2f690881f36e03d095864addbaa +GCD = 13a227b30d272f363b5314536a673c8394d47382a13bad6517fd2f25824ed656ee5582dd4af61b57b29dd411f58dc6343f79f2ebd1f438b75e36421d8425a8f45acde7f5296e572ff3933682dddd17cc5921f8b7bc08f2f58acc8bc598a0b7c345b4f5546d1e6873484e1b782a61b486d5d4649 + +A = 631439392ab44709aff68581006d4d26f08c91981c556ffd73e2216fb6a57e967598943b8ce21707e3a4e913f2302eeeaf5f6e698834b671fb70b9faaa5803df021f00fed99417a687d018fe88a3f6d451659c88258fce8e2eae399e13420981abc80ca62ff4889634f112d1a95ee7156b963b39984fff66832c01ded16c21d3e95beb9b80b586113c572906a1abe64e82ad599049df08fb15a3332a701d4023f72839d1ff81bed0d949e5bf577d0b17dc757cff6503dce26fdfd8f19f5aebe0970f3413f11073d668fb4b5b95848e933e08777a396b9a4e876bc7c46c7e764cc8dc8961b2a8 +B = -68fd910c09db7c7f91bfe1681694f9eb3cdae2038da568d2f651e3de40c1c49681f04bd0b6e6138b22c7ae472e6c8d25aab48c9793f327f83a8720fed7ae600fe9da69be87b4d17e306664d98abd18e7569df688375ff67015cc8b24b85feac2265a1c8c7bf59c892ae6f6a06c32c724751acef03b0c6352a7f963aeb1a0f26428cb9bafabb4bd00b4a023c69a424eea642c32f701771ef0ca92121557276670fe4a6095d4af57b863d281283d1f6b1b81eb7e4a06f63eb7424a1e3e3cc37dd66a3349907037301338b940f974460810aa71fd4ff503703f1c615996867d738e158691bbc1e4 +GCD = ee906e3dcfa0bfc80ba7ec6f60680c35b1f736751ecc2cc44b788f2ef3eeb5ba7050b2770d16bcea3486ade92b2c4cd57843713d03c82227f90357bbba7873004d32d00367b65abc90eb9f8de7c0a1753c11e185205f306b1167f1ea0f65c3b08433ed093e64cfecc42b469b4cab9614c7ffb4 + +A = -1c3c92d85ece7ac25acd50d92583baad9a55c081183106eb03d094e95741461643e47e3f580dfeddac4f91b6c54abaf086aafa076e81228d17e928064789771984bd9a77fc48278c7c3d176fc5c6f14ead8c2ac1e50b5e61f1b6f1f5087ced3a9fdc60620952a6fa89571636918f6620b57be9e73d599435c1d3768b8af7f53659c199baee56c45e919a53e7edc14bf052bf8108ea4d10159a6a035b9e3d2c34a59a93c2018c089e8e02f0e78de4abd7aa4873b64d969719b7bc2ee0f4a5d1b7720db9047a69fc06b05e70d308875f0a33ed409677f0402f6ece663423a0856653ef9cc5cff53 +B = 123238a9895b89e4cfea644bf0d37f13e826de10d159bb22a898a0886d3dbf0c97f9f95637b70b7a732354c176cb89bfafb9069e60f9ec474eb93248090ae6df18101e301b617a67deb23465dc8274a2872e8c616ab41ecb41db68ff83d6729c5b64cc4ac2645bf92c59326738518652ffb212a2dbb419b4f3945cb6d3e7687c565a75857973dcbd37d89e3b24017c6c7b594e77f10d51162107f86bebb5f48406700b8dcc67aecfd058b1df64e75ad24569daace6729afad72b62689b4e7b9e0bb1d00fc0ebfc4b861a821789a502b137516b6a984de4947f83acebb43bd5f2fcfe1e01d6751 +GCD = 1d9a0e6e71a23dbbc63f9152d9d650241a510786848dbed2f2e86354e97fbb30cde2f7bff63c69d3cd1ac5ed2b08392ff8bb87be42e1df14154816e81cf7f0cff5bc78f705af9ebb9f0588f3c5fe578ff8d01f86f217d3de0dcbe67f1d3859a1db5bb3ef1dc239d9af5764b46d474972fa0a107 + +A = -3e5e2a967d53faa7a12ad8f4dab9fec7a43bb415f748e3a3dddae9096b87cd9d742d2f3b7130f2a82564682295e521754a7429a5a761894769d54d8f2111cb9552b5064f93544fbfa27e5f1a1ba07ad05e89fd2e446dae65d55e71877089407e97e50b40b6b07278969d46be1b985e4cb185b0d800e6a8a00e3a768cfe52ad7f625742407ec4a2c3a246037353c86ec201b0bf5c832e559608194601410a6fd94d8010483bdee47f1d38d79a0cc5a11192c3e64b656519e6568f0ec45ec664fbbfdb7d0c24b54eb0e25cf1794e3a9a1f72059f6ef4c93045bc828a4f3089ba23632380be40288 +B = -26fac76019831b0efe3b027a929ddc42f1baf5ad08c7812e3763f5009b22bc1f993e5010f1f6a4e0fdf4c1a42ca7cafa9d1663c5fa7d78a9d907ced834c660baa3a97480b6f712b9b50e73e4c1966e4342d382538582e1c3d535760d0f6b183ff811f4243220daeb64eb4c4180494a31f3b84c3773b3bfdb92215aad7e68829b31c9448fdb857205862f085357b0df5b3be17bcb36c809d27ff1e19035c8df35d34a5cdf190f8be2eecbf82ac6f7fa534f76c6f88b0e46834aa28e17125d4e57766a8f5f397ddc235a7ff3fe5e755fb867fb2d933b5cf117d0bbf9e3198de2b0aaf0e3e59ab0e +GCD = 2ccfdc5914a66cb177ac376f9d8dce59e0f63ff15828b8a07461b74afe7c4fe7f5849ef7cafbfb994de8bbbe4d51746a2d78f9b5935854d157b8a6f916cc8b18c7b9b17ba98ad8d1fcbfc7976f56c59931f017dd6016b6b04a0011764f6bb3468ec2497f3643bd4c4a622768f8a359fb650f332 + +A = 1c6b60d15f6bf611e1be90c5aaaa2178e9db0e2ea1d389b5a897684153f9b4f4ae3e5daf908c186a93d12a0ecbef797fd6c2b763cd33cedc107fc3affbacc5aaaeac7e3838252f3dacff7c7732e97de098b84f39c7cef85489ab381f387b43037876b7c6e46f94c87cbf1888e24854a7d6332341ffc8e89315e360a36d572dd900932fe8e5178bd186b311655c882de0ecde312a171e11354e715db5df75f73d60e39872b603a979901f5f87e969837f700b5e992fb0dc1a69744411bcff242df634ea062087e9e2f7be469c8c68fe1f25f71af94a0a7c11fbbee22077460acdf466b4d71c8f6e +B = 2fdf68664229400d21ca8e86fc520d7f294d82b989ca2b7e6056fde84ef1c99a924a2a35b83567d243d1918a13b292f5ffbb661846caf1ad308bd71bd48ecdbbc3d2346e5f227327ed68b04d29fba7de045e911bf66d5466a9300543e2c8cffbf3d9ec46d8fb3937316c224c7e622feb89d671a1b5b9fd992c7c5ecc94ecb7244342c1ac352fcc0681f072c174b61bd443d65efe6826807b113758aec5abae595e28399a9e210bdfc4ce6128ee5373d631ded0840d98ecad4422848dd3d302ce1fe06ae928aed058f72b06ef37b5cfccca09119ac32a6ad14d5fa3a12bc737fcb25bd0776fa94 +GCD = 76e6be7ca709dae8c7ae53919df8629ea6b2bd6f3eb1b0a19da01d043f63d5ed21b497cfb03b3385fdbbaf8e721d9fafb24a70441c55982cb032b5220ebdc24e9b723f9f89f3ca961cc764a11b5a61a896a591419f90a9ba979e2be8ca469597857a25c827a54ce07058f727c8372441f9a42fe + +A = -427cae2d686c2e6f2d9d754cc3b4dc846bd9d1f502d6b43f698b26c87bec28f9e29e61fe227272e92e5e488dc8b8b9be83b2288921e576ff2f96fbd7603d03cc51bf5bf0cac33da421d2030e8cdbd3ce9ab8c63967a49aa3bb83c13a060a71ac3795801d82a728660e9b1def1c9d5e7916164af2ed4f5107e04bc2005bd1edf83fa72319040686686e4f1f4d0de0dde71e98ec1af683753c2f95835d162ea4891b339f9699795a569a761227c9679006d0e14d8f73c932ffa429fc3c6408a927b8612b506beb15ff31327f60c089f281091cbe8f3f45d0feaf40c56498464940e26abf62c618f2 +B = -19cb0ee8d08d1003a9c2d49df3072537bff98ed370cece39560b22a83fdf3c3216a1c6a994a1d6c1615f51fc3e407abd014a66307dfeac566d817987c78e2285c877e67ae16d9242e277c4454b98c9516c935bbb1c57321e57ab44044e41c51d2e0a9c8a4ccc2ba2941a8e3037018956a78ed9bb3bd28224e7ff39170e260fedcd3b5af84912c0560eac18948a8aeea8062765ee874f5a8415aa8413f0eff04b3ecbf019aa8e74645b3299cd79e67de4c6c6c2a8c16da63369f6b900a5923defe4bbb15be387661a5928085aaab2170505ff1b0dc761058bd7b444545ff1abfc406aead8ce21b6 +GCD = c51a0059e7ba25ca99f603eaa19c4f6c85a1fe88f7cce5f63a4843241c632aff66a0f67d419ec95790d29bb9dcd194983bd9257e8801aa189b6c4193a2723fd67fbc165a61f60c8b641085dde1fef498fbf0078d244b2b541eab89a7943c9ef00fdadb1a71d7437eb678c8d866ca5a7c01bb996 + +A = e86355e0e8bcb5e6d27c26eee1642949077300bf57af4382e42679a4b56f44b28539a2256e1f50a4bca0a18d91b5739cff22087736af74c1c5f5ed75787125fb3740ace227e23fe23d062bbe2ce8e3d22a77143e99e9c400bca08a5a98ab278c4d0ba4e053bc0b43caccd8bfe568070024b918550a5072003d29cbb570afd7cf30197bbbbfa12bd0ab6da8ae38c7a7755ef31602ae98db4f76344bc72d0ee7c57b12bf7dbc0f33fca08fe7222582187327c8c97ffb7d655bfbd99e77018beeebcb685dc3d33dd6f40816d5347685692b7655f1c01fd65b8bb000a66c8730f30dd2dc7233ead8e5 +B = -9978252808f31f59ef028d16bb19219423c8bbb7c0dae3d0cfa2afe55d587ede9ccf04caa421fd54bf00c99f5162cd1c7001173381dd2d5115fc59890b16a1e127fcd560145f1e4344a29773359e1845354a8088d31ce7008ac09343a610bf0049cdf5b8487a8631d1b9e5f44f2c140ba0b0f3600b05751a9128f9e5deca2bafaf2a66603b1aeb68fee50f8ff763daa95a1b196bae0c8eabdca0b7d0d1ccb335094d326e92c463df36e283ae041c486be0767398d26d3b2cc3160838be3e356b4e8fb87912484d5b10c6f35f2c73ebceca736c98c70d31bb52d6acb71f0c2e31da5545a1317cd7 +GCD = 10498e00a7854872c651f1b8f70611af8720884468fb85e47fdcb02268727b6134390d832420c4a9495011d9b01adca356c73381a65d3a463943dec1f1e46586ed7636986ece14002983365c3569e0ada9b2fafbf225abc82a6e9ef1093f6d3abe4e5558d6ac0bfcb59fd0267bead429ac2b7399 + +A = 33056396ab8cec0fecc98ef3162b02938c587a891f1f3a6555db52e92a063948ee74da3f119dd17f65759f6acc50726978f2c773e7413de0a549df231b6f8d7e805deedbd338dd91b9150d6dd1cfcffd10cb2361c74847ab9ededa975afc3525853002e6654a1c8c3726b13773462468ef0d3ec2721f58aab9531f2361b86a045e5e474c5e60fde8c443e3c3e1912aa2738e2278afaf782f9f66a1a224433ba5c0b509c62fce091026095313d2e52ac427163bf91e9ae0e007e2fdb37bdf5b39eff0fc7fe718c21a9231d05723c8bb6220ca1efd41528109595a08615e2fa7a8207668afa1c84bc +B = 1794e6fc76f28672aa31fc5ce06f816a23a471a5524c349df29f6633e70739f06a673d58d535d76dabd629e5837290fa48f07d327eedba8cf5be816598305b97fabaff5e445fd941f041ed238b1044ec28b234af9af90db93b8fef73ee16e107e1044aa73f055199efb82a0cbf8f95d0d4cfa1b389cbd210564a58c557b7e27fe7c20f01e49a3070fd2b9a99a27c7c5e3e4fed2eb9b8cf2d628e0df0d4467545e259dd26271c7ac2a7e0e0f0e3bce27b8e71764e46d44bbcd54fd1ee345009abea06317230cb28ccc926dbf90d8a89fada44e520d7e7bd4abdafbe489b779b2674e26976849426c +GCD = 66c0c2538c0f215bc264063e843f046e97acdd72a6be8a4df097fa2092062aa00d647364e9cb9f3fb4d6d230ab55ca2978fca9ae5c2ecf355675668b8244f1292a7a6a3c757cc466a3babb50f459e8717ec74c9fb3f0b707d075c42bed7287ecc72335fbc09e5c3a4645ee6c0d012c179917fa384 + +A = -3b3a5314bb4664ef2ab0e91d6f1df9cafd0de2129aa3107b114cd827834ad48c32f685fc2df0bbb35a639f1c5e69ea5a1f659edc5c6fe367d121574ef045ddbff7682655619753ab3c0722541c2ef0520f004036dfb6eb6d657fdb4f22001d5afd1e27c99b2692c60341c5076430180889cb0876b829ff71cf97194f2f276080bcccae82bddfbd9a67722994c304b77d8e64a4ead5687811dc1c22f9c2768c5a65e9a214217666f62e5d1f9048feac743b2b6e4a1b70f606167afbad0296cabae1c96875de7d25e70ca71e4aa27d5572bd988c5c79a2de945492a2a8fda4b0c282acc7544481ca4 +B = -8c581db9dec18ece53c7b789ea7112db2fc3eb69f742d996148d09cd4ecfe609cff2d1127f18bfd8cd0e1345dc861fc403044a33817d74d91448aa37ea60eb01a8f056994c1c727354962b68bb6013e3596d0d26a52246514eaa0969f7cd1631a8b61ace1b71030ba5a265f21244f33bff821eb928f2314ebb898977b280195cac32156d5586ebcef564a946c00f4175494f025003afa0d75e507b64a1cb1afc812328a0a4c324bba02da1252678c4dd8f487a850fc423748c7af6671b185d110ed51ba57c15951cd968d4cf658d4ee8aae261c9c422ccf486f5ddb7ed12e0d82723307daa63960 +GCD = 1542dd51e9b797a6836b721170844967093b734f90d3f3c2d994a3ab3ccdb8540400243c04f569643c5521bee0028ed99a073e1556ef4ef494b75e227ed7bb59114235173aca3b269c69edff2992a17ba5546a641e89f40fdbb9e85904409cd8bc48423b0c9c0aeaea17855c86648a444370f8c0c + +A = 15e2b28ff803f51f8288785b8ae7fa86e4f3950984ccd177c328eb670bc43bf5c3606b67d87eb9d66f5ce67358e2b5796daea9369e70eac202a172bc5b964b2e35c6783448337626fa942d8d484ecd43de5950a75b31b54138199167f47f4184ec735002816a5328a66d5ee19f4380a1cc4f401644c5a38390736fa9602380934c5c436950f31c96b5f8caad7eb9c0a138dadcc1229232f5991e555f4d50b503e0f779feedfa70f8a1728f607160a13ff98d0014839522cf750a46cb0d495a2edebda15e6a14004ce0b5f5b54f30a92eb85fc73a1a0cbd21e11fcb857d8b038e3caca8b9f6c41000 +B = -49c127992b7db7580b12f2565a44109e46233fc3362880ce492bc32a4bfd239d1f15ecbf1235f172dc7eefcf9e4147dc414dbdc0dbb1f3b7dcbab491920f2ac7222534e7061ee9c64a7379591d9dab761e78f80482ba97af434ffdb7cdeb807afd25c5769ee3a2cb2ee89f3d65dd4fe30df47cad15d73eeb0522f5338ed8ac1525be55b262dcaad3240bc0388c07b01b4e3ed5b1660178aef52cdb1ce4c7578f5a8be6bec03ecef50db96f9a0499c36a7e56da927f4534524c720f64267b41c37192d7f2dc42c19e9871007782560a6d61eba2c386a45de5eae7f260623ac4611fd71356255f9100 +GCD = c694cc1b3ec498b42e0f4e017f489412a825b44adc014c8ab6aaeb208482328c74398cb5b0a29a23d98684b7f66543de2a64c0051e320f3b7160c9825bdb58dd54b745cea68c4416c2a18c117bfb927188eb98ae09c1d0bb6b8fe33317304da17fd1590e333a7037cd14d66f3d141036a6146d00 + +A = 144c7624c202337f31addbc25c57eee691d4c53cd144950380b0a258f0ca3f9b1070376af553fc6bab7bab5e24d29e01db5ca843ccc372a2626c7bd9bf72354fff731db688c306eb212b8ac0c632059365f1f8fb0398693045c20effef6e1be6772f2fae9393e1146e351cccaf17b2f94854388a43ac8e9d5eb88d2f80f249d5569b34752795719f8364eca5f95b1c81edcf0b132fb5c842631e4f11ad9ea48cd7954edde4102cbaad26ec8c6fe6510c89e888ee38581065a14b837d553ef51fe463b4e60ea578b8a8c9db30d7d371cc8245bd20fb09320e5a02a2ccbb095ac49a88602956dd30ab4 +B = 12905ceee8770f359c84edc7a690e5cfdc622736601365cd5873a06702f159cec39a844715f1244746a4eb3696633ae0d58ceebec67a5b13655acf3f43b634252c8367bc748b255395bf1717eb8c3d2e35cad72a593b1f0072b746a957805048b28286f427459446ff9e989600b48f7c536dcca749746f1196ee459c66752a21aa62fc1c64e7ec1ab2e253f95de5a30a4a1f94e4af1344ab9bc2c348baf186112d71e54081187816154b17c554615c7e695e653496199d314f248bbd46bd569e2c8bb946b479fd57bb1bf24466d05e599bd610bfcf28ff58e5bd5029e0fcee95cd090c55f06d69dc3 +GCD = 19cd7d35cd66d6d82762165b023f0ab2079d010bc60c3351191298f6aa84e7ee720edf808ccb7fef965aa6a45d161b61db517fdb81bf844598cb89d8da88f61066d6754b5ad1d198fe097229ae809befc77c3430601832ba014e8003bf48a44951ba07a6d0c5455d3f8d15c757628537061594827 + +A = -64c6f8f645e5cebff01bcfb1789002372de6037690481f31c6460d6559c9a991c11c2f52c4e23c7f7aff4cc7d414b69ada090d985fb88370d7d90e4ec3d5c528916ef0924b1e3feb091a79e8c076038cea37014cd4a6919fd8b63d07b6d974a73dee865a272468b2014c48d04af52a0994f0ef31d192f4691f8a6525ba83bddacdb6c5794fa0180b24d196b6422b20f1c5fd0f87d8b83a23c3eecbe022aa2c1182dcf7f6bfb654f6ef768f88b496b511146d179dc63ddad0c0e1c320b69f1e44eb8ae9075f58fe120177c695ada018469c8ac75e2caa2ff7be48f78683b5d65d3be215326a7fefe3 +B = -31c6ce93d717e079220bb57125aa35cfa1b0372cae028ca09b2a8ad4ff7e1aed3cf6a4da340be66d5fefadf6f0dff307728a6d695367c00d83ba34c8f606aa5c2d95a2ebdb32ea62e6d732ff85f6d8764be1900f25459c26f3aecedd50bf0ce11f5995fc56a3869d3c635871af6f45f36af89dd35b309ae7fca7db380a4a5b7656ab7e63176f343ca4b4e879b23b7a6d0d4fc089a06edf9c8d0ec25de94cae1fbd9cdf12a74dd264b0c11761c5944aa8f419299dca934d253bce4baca8e7501ddb2d6716992bf310239c881bf28534b89caf9e72c48a25e033e65894638b50878f31b40080eaec060 +GCD = 2419a972e10b2dc32d8117f561e4033d49e83b290965e00c9a044dc2f5ba783a50f3d03df5e0391ecde035d887da4b0080d2a2913510bd24c8af1eac47b5c0cfcc3e6997b860f7ec6314c6dbff675bad27919ae4618c05572dcde1a01c309a7c9618e1b0dc8983edc35895b02f643603cc3f82cb9 + +A = cd6606d6892510aff4f5a536b582c847ce3b56b81ca1c0b5364dbfe56875fe8f8382090f9eb54989f746adc00301bc7afae592a49c6a658fca77ee18d14b6c00c81e6ee634f81cd88a85f0d9a2c0de12033cdeb6bdc5fd11c2c3cc2f15692869f95913823efe48460f47e594a40087c92eb0c363bae3d5d71e38d5430e74ca9d4042e8501d639b8b5a9e27e106c7fb29cea7a94a0dffbd19baabdc3e9e38d60d334ff77c874660b993ac99ee8eee45fb44d79427f65e84fd27b609bf1fad3a4bad2dcd411bf58673de4b6833ae1352922b1983b8d4559dc11663b0e8c5148ed321c28680a63c8c5cd +B = 8892aff7c9af626380c036c35b9e4ebb7b570cafe38e36228423c12f0c06b970cd0894e51737a55ecf3885045a0496a298061a740e32eb1781098b16e5bed89d65d85fc2f697d58497a6b8a5e8ea5832dcfeb07d8aafff1fc4028b0e726d70f0663cc23f1d3be6c775a7d94389deb6879e596442d173224bd61bbdf659f8f9bde48366a9ca2cf1847939e29b0883b2011a690c932c1a8fc9c33b4689445fa289fa8bf015d5d35f398cd9719fffa214080ae6d6596b59dde14209fd6a4d1bc9942dab9fee88fbf15843efb2a2a0a747eab57fb7884de2448b3b86ab6d79fa79eb5c92080f579730629 +GCD = 15eb812c409a908ffd9f509f93fae6f6fa24467ca7ccc5f0638767f0d7a8e8df8293971135652819f5492c5a2f35a1635f72cf187e0ed7959aa309eee13c7e58f8c44f6da62cc49e658acb7e76418bd735d7e9e7ce507985275d9bae2e1dfb9a561cc89bb03583ca7ab4a79eb0df7e3a9674e16969 + +A = -40032fed495cbcae331309b15837a774cf9fdc6a738978313a51edd3b89629db07252c4dad9149b9506cd5b2bd779864b850d219682dbe33c86e39911dc656974584c7529fc385d44b7e8a8250097f3ef852513fe6fcbaed44be53f63d378c6cdffb936bd3e7fdd262d50f66941e179700b99255ed290877b9fa2643c75ee44cef7d0a288a6544e4a269cae6991e46e961441d3544b39c6b5efdd16159c98edeeb3be8f0da8129a68e346cf0840577fedd5a0d5d7f665c59b43aefdc62bd3c61cd830b2fec4421a73c710407eb06dc1812ab6e725fa65a065c54c81a48f7a437611a60dc32c26bceb0 +B = 30a36676b41b072124887ea9e7a17d99376a53796aae3d5c2b72f769f749d1d19ef7bd7ad350f5e4027bbaba8999d6b0c970d5d78282f3484a696e4dc435f9ed2a10c1b07cd60e540e812499da84ef41dafb0dad73c9c56bf03f100a6cb2b0bb94ed56443ab4844f5a1ca6f76d9145573f5b77e09282ca550e6cf5825e9da080500a7cc903a00e5dfc9ce4b493ffbb3107156ec4ca3497dc436545d91751c8335e685ab97e42f36bdbdb331427e805c49baf31106a4ad4ba9fd94e67941b10a0438c7817a8b3094d50bce92d89595f9fa0e153850c9f29f213c331843ea2ea7c04c73d3e00447a9350 +GCD = 16eadad2be9c76f1fcaebbb87aee3c816c90bbfb701289b53aa8385fa518517b420a3a740b43a1512b64d53fb814bbbf71cdd88ccc58d5848416b9de7da63b18b9bb6bf587a6da1e22969052a2432d3951b6e4494a75981f8ab2b8b1f49f672735dc79b062230cd1436ebf4b11b2d9bd879e5fbf30 + +A = 910372f32571c79b73a8e00a347b6e5e00416f7e307ea838efeb34b5ecf4a80bf89f3115c02a52d1657f169888bb7d6b377fb758febcc7f037ca33edb619a12ca252f196df9a36bd00b4ecd9b125ac435c9bedd04073c8c9442722cb2fb1020dc3e6c90bc84208e2e152948e624d612b01ef8c34654f46e8b053c8234cddf0099a8d09d6f4d7887e5bd0c1f87be84d4c3ad62cd49e0158269cb6191644d88c6701c64b4669f6911874ab5cfe16dd795e883f440a55143a1a81aa914e253311411ab6ce7328712f707afa372b4964fb213be59bf302b7dd3120fbb44be5cc2b6d25c04257a49a0da624 +B = -16ccfc21c05b259ba7f85e36770a524a2e062b774408b67b8f923f3e0364d2d792d539b65c55ce8fe8d465c0248a0bf7c45ab24cc327bdfdbc7128c8ffcde21fc18d2b2ce5eaedd1c0688ee6da89071cf4c95c507e8924b7389d6110e255edac5f35b87d45ebc28168834ddb5e4ec8df2a44c14985aa427b38830e745c926ef6dcc7ca350ba0aea3943ccee74e7e8c8a661f935adf919ccd6ab9af7e91d688734fa0288ae4e161e41e0bbc7d94921dc24972de45babae761183d85f2eb263c68abe78fe461f8db6a06f8d50bfdb2cb26b5bab91dd6d6d8398483f4640f67f1689065043a3281eaa86d0 +GCD = 19cc28786f681d8114e48257854da5089753d5fec4f891c7089002d19ad7486a59d7f78359de4eb46893cb96cc85bccc5fe01d4591974575342f81f757fa57cddb3dc12872168394a8d8a8a74d41192ca803134912474c551d0093be12ee93691256d51f6330db61b804db219bf54be07e5f9a8214 + +A = 493304b7f96f0ce1fa4f633beb3b9fd4a205c6b60db3990918346d36430d34969523e6104111f49c870c0ddfc03451023a2611849e6040bb70e5c27ddce0e9763f19d23679b723f2b85c734249fce4f5d39790d57939767ff2a813450dfba695ab61832523268ce4c331f6128fbf8bc99c00986f31f9894404ce325ed3d1ce0227e29f7e5d0b56534f8db4795c3258de47972beff8352ea5940a15dd635cdf7aaa3c15570f031de45fa535af0b78905fa47a75ccfdf068dac26301cd7411e2617becfb2d6c996dda9458082eff6592b4410bc5320900832cf09e64d247cae6180e1dc428477a01fc417 +B = 4399c9fb7d23545a484fcdd57014246c039ceab921aa0aa358ef3a2095f75d5b8a3d36af98099c54a02d4365573e189db4b022157315268f16b75a15b075d93381c2b6b02dd2273647c5dee06fe8d6cc3f2e2e34d8e9e09369311caf6ddfa468ad0cb43c1cd523791dbee16384301f1009e4d59bd3732dfc9733ff053470896a71785f621696a781c3bfa6f4aa61cdffd8c16e7cb8e8da76332e8197adebecd0220aa6d27256417ec8619e37d37fe6de9a0d2d98affe94f87f5bdf9e4e90d0b022638d646994bc0d1472a892bbc70c50472bd278653187f789acc69f090fa250209c739463a1acd55b6 +GCD = 5de5a39c97c6aee62d45826a13fb87f7301fe30518d7b5f141e24b90281c4c3c554afcb2dd0286c3f65996f8f2cf801c4708b89cb63de6e69df18204fa1d478054c4c33773c52f93677c0d1a7b55e337d3abefd684c99c189b0ac10052d9ce7ec2d3ee6290947693ee42416e1a87daecb270283a68b + +A = -787fcb2e73fb1c63b36d5e87afb4fd2c390d2d51d7dffad374cf13da6f2dfc56486fecce869414a0d65ab8541fcd43361f824917404082497dd89db3cb383cd384403fff63e5f69ab47e8f7f167e98af338d6cdafff5cee5b875bd726a3212137945b9dd3ce512af7f27dfce8816a420ef9be3da0aec033a8242e48e24bcf843a095a157ea892c4b4ad0a4a57b105f8b37f709706645e4b77c88304287285cf24b2391ba960f7ffd77321345bd44ad7c61bf16e7abdc1a6201ecd4c7fc3546dc6eb5edffcebcd09ee1eb89c5a676dcd2e1ed8d58a468962bcc5046a4e08d2d40d217ac70c3ac9eab855 +B = f7b007351a8385cf125a8bf624bb4626fcb401a2fef8ddad056c168a968835996a67cbc2bfb23f0d042b9272cf8dfae6190db8e110b93b1694b85d6d89a33863177847a47f87233f700e76f662994329a4b910b386916c3853de530aee27f2da9498bc53ff4ef847b267be4b420e8d3dc634e832dd67af0c011e76f83c88c6a94ab119db00c6047e0e3392c3c8c5d35033389e8cf004e1ebfa4124d18ad7e5d293e2e2b5e45aaa1ebad6a31eb4c1867f423418225e544c84cbeb0beb5ead0419f02f332469fb116966c6da3852b2d57cee0e35fec7657248d3dd801d94b5b64ee1f7f8303b2b9e22e02 +GCD = cca8212b7da1088bccc7d58f92abd0f95b9ea3fceda0449b8e3d0a5f6880a2ca71e3446968346738ad797a59dcf53a2f57a35a131c6c4020ddf485761f7b28541fd1f805e3b6d3f0a67dfc9eda59abacfbf7cc654efa84e05d1a30424d21858ae1d00564e6fb03a7a97af1243e1df12a7a9d561c49 + +A = -605b0c4d45508914a93ae9837b3ce24fce2157cf34eba1cc224afe7a9aa339869b0c82780223f432b49d99c35162e21d63886c825cb5764898fcdc2d84394686131db17ffd6af3bd16391148d2efb3f21d9406e0e322ce82713b4de672b25dc8d7f4c669fcd646bc2ad95f874d6a9efa618fa80aed3e1f2bd560a5bcf504ac0ef5f27fdfe906f7b56bd094b9506ed02eac31a100345d8111f2104fc24bd8920e2a502bf703dd6b7591ce8d119d3a4d2320ed0eb68f225bd7d231f9093475bced1e96f9d20591052cfac4b0209b8434ce07ce8d1781fc3fdf19739939930e8f019fcbbcb1a8020aacba +B = 4f887815861ec237f5a6865cd39ac99cd4e4c22e3d86af0e7306769599446f60d16b3a9810a11bbde61a4ef382124df5a12b96b37beed4a1851150908056b27da473dcd8d3685a04e13c83c88bdd3b761dc7688c15cc454039846c13ad5ffb722193ff6d737254917b90169bfa2b407ad0ce3edfcf361239b773d2e525348ba7cf6d45889384d15045b3912e1759ea0949a0f76e623a025b79fa96d7105fc2eba2867bd8d3cf3f1d240c7aeeaa275e950d93c9c0441ddf3dafcd81e111639541bd2e2dffe78513025a0cffafe600f7d5e4907702a55bd7c50c7d790471eaa6c73665820769ff04673dd0 +GCD = b49cb116fc7b64ecff52cf6465edac4e6bd5859bc63fba48bda6232b012eac29585dcb58ad8bafe3954a31b86822f480cef8f2ada21eb5f9da2d975be03f37a78f8c52accf862383acc6b522e8a460b36b4a22e4e8750cac4f3ad1f1aef905bd91301c27626b6b1c2efa5c3bc470a04ba0f82e48e6 + +A = -5a0bd5360007c82a34128bd60b6da030deb6158dad4f83138dd672aa7cbe2cf918c0566e5d66fafb7a4a0c6a4ee152b9892d670511cbf82243a9706cf05dbb753970f4919805948e1cf496231c5a6d9448335ea500baf021f44924b12783653ec9c96b249fd055a5f0e748753304ac2126138bc90437014ad721d1795c0ddd460e420df301bfeb4c313a86e058b2adcd4bad821f450af08332fecb336449eccf952c862000845c06825c2c952dfba038edbfe0e6832ba67e8a7bc5a17283dfa88d7e8ec03adb7daddc986a8adee256a66b09ddadec5de61dd435ca9104e0a6ea8353c5ee5f0a2d7f9570 +B = -f8876fb325fe1ab2412e3ceced8ead14b1633cbbaf19c1cb7b3405ae1ad4e05cecaaef6f2241484e8d0a9000a4669c2f1488220cfb7664c4f0ab847f5dbbcbbd61b18254e3e467914af85da5322127c6c269d543e42e852f7e99b54bc64b2506ab070a08118ae82df83d61f6e02787a28121a64f7709fa207424f8e2aacc54240e2ef0d56ac7876ac7adb23594bdd518eacd1b694177d71114ae851fabe9c9fb38aba0eac6f7d8555fd12e3e73a2adee2e6c8826ade7ad921c3c33a57c372c83c19436888876dbbd691cd74f88723a2049a39e3c5581382b0e11d82f79f007a8ff66773b306ee4266c88 +GCD = 1be3f97ab8856be5f5794ca6c116dbff7441360931abb899d6048f3c953a65d58585eaa4ef19d542b79e2094d70ebb34f16b4e125f2676df70f9ae77eb8d32d1df13cfaced879af55ea02a77e4e7c81214e22f907448dc54dd1d711adcc42317b8ed6a9ff900e0a4e01c49596d326cbccac1b5c4728 + +A = -32b6265a4c525dad6688cbaf8e30d60ed57f188e30bde7bd76e2aeb8e4177d9ff6a5a5b6c2908a72b37ba21397d11315de5c6a13bcd95bc8b02637e5666af43adeab5fbb8491f1bb21b6055d17ead95c06ec27922a1f4ad65f05aac1fb790affc99e3808d90d6c461d4c7cf5ab358bacd1f40e4bad8edf473cd22806167639e83019c12d328f2060c8e2803bc55dd6052043931ca369bf8d048e26c7d28c4ef3e6315b98283389efd897af3e9efe682e9f1bca690143765bdab96678ca18d17861b047edae2fd59fc38fb133f51d0ae6ca6396281e241db69ca56e75113f1dccebf279d365e3d313d5be0 +B = -16414cea556c8d344a309888331fe81df7984cbf03ab2ba6d805377fda4cfe6727a0665be8f80e66cf9843eced5baf72267869ba1bf58016c5ed700f61068b6170196443c1ca893ac592afbf375c62c5058e6064c4e574edab913ccfc9b9b783085cc8191d7f125c429341b3f0110594e2b0aa598a14a74a73d26191a4b0456223791fcc73815973f9f693fed451ad5dd4766e75298a6760387c10ad77d577e4a8616f2140f1bba7a9a3aa09d08623782f169e70fbb29ee68c2def93be8d367b96de4cfc8c15e14f6de227ebfae646998d552da2a34b7dac4f6f640f857462a5a1a5142525e81a27f2c58 +GCD = 2607c20d0a73bb16f6d031b6a305b6cc74f4d8bc42b50dc0ba7af12f08e52907dd0cfebda50782f984adecb31ed3fa935b05a9e8275441de1a3d1428963802f7e67051b8caea74dc823bf76f6ea9ff4889ab2004baf3ac689d3ca24207613df7ed2cf8a2d1730735a1a1068b93f8acc5a9f25061968 + +A = -34556ccd3afb5c513403caec74d40ac9951148ef05eda2c9216905320302d7502ded8431152e969deb1fa0e3aa8bb2ab44f92c4667047d98898f2d059aa23ec7120478c2220faef1a339ec03e4eeace99b9fce9b1cf8ecf06cfd8e6b0c1bab4d6dbc2f06525e19a3490a126e92f7132bd5ce5158749db8e5c2f8a13fe2b7aad0cf2b2d883f4564fb291481a73d1db19872f4c02524064dbc914d952ec7618328983e7f7f3d2a343cb5736d252aecc6d2f4be47c642bc7d027f883e961340a8fffe0a2e4df0721598056abfe02b035542e78ece6b9ca34da75b37046290133bf38a05016ae9f4ed69bfe2e +B = 992c80f67d8ab0244c02d2d5c5d41a76e9f371b632dfb7540769294ff3c703b5a6f9c54d6ee4e0627e76cd677c0b5d301e97fb8a31e02eba424c3259b6d2af105422abfbfb7ac58ea00d57c2e6de5082ba5340d3ea57dbdb33805c03f630808b424f5e70f2b3d7b5eb678b8c2a69d4b82dadac66494a9901bf8b12914f2f675b935e8d0c4cba85a7788f94f1f2c1ea1ff1b13c2e45dd0faf89ec3a7cbe34cbf24aad42547f4e3651248171ff93f9f5a2a3142f70fa69825162b40c48672fb3f591cc2209c27b302bde4820abb104dc58e394f665574a65587aa7b51ecb097bfcdce7e226e441466840434 +GCD = 4186d32872115f075f3e78fbae6fa4c562a70bc291a7d76b3b1e49c15f32ecd8440afbaf516b3b33918fdec066034315fce6351364ab998cb0d253c4aa7f837c83f8cba8d7d5a699b79242abcf0dd1e1ea7d8676cde77af2c1054796f91650fa30ef1df88c89b0bc1170b97af466fdc1cfc9e7ba212 + +A = -6f3f89acaa5e4cabaf55a49e5ce54283eb0ff8f906f18b170981a00a8276dbe5fcb0f8a1890203d570ddaa2b7ffa01ce00fa52dae4ac2cedffc5c3e23ee1891cae96b96f796bf2728ed84fb506c52b5c4a2c17e584b651bc154aa7341fd962ee5ff8f17b0294057a9cd68d00a139a311137b9aa50112dc9017780fab6bc9f6228cd9545ae9b13aa4dfa0218ae30716ee8228c5328a0479fe9b8825083ef0477bd324116ef28747103c751ad3ab4dd41903f08a0e759b669067564eaf35e95672be21236a92f18e8b38cfb28bbeb6eaf78397a20b876a38339dacfb36403359b69125ad0c8c133211236927 +B = -447de267e22d62cafb9163b032fd4b05e5890436e130d8719367990bec8a839eaf7970a8df7c0df2e170b2b213f3aea2c7564ec21bd058066c5f4eb67c1af16accc7f0cc2ed9e7dc09f18146cd93afec53b7deea0fc76f69f4674a35641be085d143a8cfd566f65f89c4de11edb5c5edf7ccb4e55a3d7d5ea695665f541bb16e264cf1e68933027344ba21a017eecbd381de923b0ed0e8372b0a3151c2c098fb7cd907a91db061aa80b7fe1521425d9bad0799800fcdcf708509d95d3efefd9cc4c70fb40473aa6217065e1167ef1ec8dbf61e8c4303b6b56db0d9bef2c8edea9ac0155c8c94c3a54b4025 +GCD = f23d6ef60f002c47ec68beff8a5d37e1d237a5b74cc550aa794588bf7075dbfb7b0b2d33ab5d4d11914b86c5e2dbc5d9aaaf800d0921c128532f180caf354c3a999816b3f530c28d9dd98729929aff356df0feb21eefbed6e8048492b3cf367ecefe22611a8073abb02828fe2b41b4e37879a5ce20b + +A = -122db965487b2aedaba743fd7c75005ef9cdda325b1c071b376639dabd87c5df076a3c554d9134b615ef7e76500f21db921a3f29080646eb755c3f413f8b9bf18463e8a7231aa989b7f6b4171f51d416bad1a33f422f6034661d7c29697d874f7f1cc8b9a9d3f3483944887533e79e80182ea20e428ba8116ed326aaeb8e947283e9c16a476b89e25e3fba975e9a626bf8d60b11d42def26d2af5c8b371092059fcbf0d4df70d6928fc314feb9d3db4dd7aad0e0e4b99676fac2a1641fd422009dd0ec4e6db48e01f73ae48d7df9c1fdb8080d28b2712669d8460d28b0d6742979ded50970de9512fbf17f +B = 1cbf584d71b5d64c0e1abb94069fee883437cb199da2be679a8555bdb281afa9a622811eabf3bc6fa2e76e05940f2837a1a4d5fe42be8c0fd60846c7e41de85df5cca213bc8a437a5cf16c61fff74a565055d043716cee41df8a39ae25b1983bfa94936fee682be736251d01a005d738502bd11fb892d5f273835ff1e467e2f588779378389d7e8335fa8594bcf6dccada1ce0b8c3d250f0a56912836b01b361e4b67b1ad843a31866b3cb742e6c4adc4735b906c308d7211252a905e7c36ad258662f1f05c112aca9c46b6be0bb67bba542d4e4622542db284f3be920038c203df508a8d4a29eb57ab7a1 +GCD = 1a16014f6779396badfc6b6c72a682ec0a2abead65a8d91f0dc8f4add86e910524f457b45d6ba55c1ff0073960062b2992f098c5dd8d91adf851c7c53320a28372e4e7fe6dd3b228453745ead77865906b70f2566fe2aabe6083e13d22ba3b0e9cd450d6bcbb556751c860bf1eca4eeab83f9b1b9cd1 + +A = 31b3a9b6981ef0ff0ed65e091a110ee281654d81a43c4230046a058b823cfb7edb5d3f990982de7677583caaf62442cf5cd732d056e3619c59479387132ffa3941b18aa87407edf0eab4d0761cedf4924615cc54ca6616b19ef924121dc130176710e011f09b5fd6f37455ac3e37c7b3a9b6e4f173be6f009647a184febf14b6a34cf649f197a140f89139b20db0ad28c7cf1e4210573ff84c8219ace07907ad8d01074c6f089880e0621dc6ba9af775d5bb6d829f818c65488d6254ceff0692ff900cf125fcdfcfb4efe8197ac06ed721c2b085fc1274e270465a620ba4634c5a346a3268033b764d3182 +B = -2db9c3185c27240951e05bd53b8a3c2980bace3c91437ca26c1e6e2431a28f040e2b8e76d942f38d77ae89ad6c84d034af9734bdf523b4d6a30f6a671d0d33ad095a2db15a00ec84ceae7402c1266091404440c685aad75ecba7fa5ced7c5a2fee0854f6215680184a8f3d59ee3e92e86e568fe6e0478f63a7da71d4bbc1ec3946abdebb93745f86cfacaea2ddb7fe55177e96202e5e2c530311c849cae60ee45dda43057b74b1885d2dc086283e29bc06b5bf80a1715b74a2dd74ec5e2d6ca92d79957a7cc04f78d8fa32039759980fe0564f0522f3a49ccdc897ce4c184acbf1a51b5aeb7db55fb6cd1e9 +GCD = e9e570a6f0a658070201ebf674a09bb9f1e2b47629280f4189e80a5ad13b13e9f77f3c2d1ac5ba3e8c0d33d7102bcfd243b58f5a05f981d30571ef924dbe0eade1befff3a71634cb7b2632fd1824b95dcc423eda49095fd6c367d065e336768fd8dd1417957e535fefbbe2032ca62e08b20d1a2be88b + +A = 17482df2398689658b744dfdac901114e972a3deed4258011d211d0294d4a9026aaa0ed3824e47c1ad1da1befc562300822b59cd8395b22251a95d4d99ac2e294e0d666bca09685f3eaa48ac7ae7a223ec9eb779df9cb5d30e4462b5a1bfebe54ed39a4fd60affaa56fb2590997e12124b4548897a2650d4a26ff4fd8b7d128a55f99dd900fb8b7a8386033442b25f7e0cbc3703e6ab3ea8ee16209f8562ecf02f179a95488419744e88c00dff63fc745fface8a99ec47e878ae6881a3cf0d5abebbb348a7a8d20180cc0dbd72d7a6a7a9edb63b7c5daa079fe559a69b8828c35615daa02bb6f6a9582edf72 +B = 1a9223592d3478273f8a2dc7b4c747604eb5e7055f8a5f0518eed3f97671a276a4806bbdd7c8d78c3b2f6c22b23c0ecf14b0ffe61f505cb661d40211ed553b947f7e322b543f89880151f81c31440b65afbc24d912c8de458066e17ba2b85b05acd57fe8fd7cd9db652da09f09e59f38ea3597d8dcd6afaea783351c55b73536dde2a369b4241d6544b2f92a935dcb1400b8b8a2e4e48b657554f93fa127ee1717c06f1bb82fb01dfd3ebb10837c4d0e34a4f2d6ba9c1c3a05d74a67535065a7faf371bb9b14db65ec143f384530357e626b4b0f76bd28b17d7d31c343188c92e84dc9132872cd82483da2cc +GCD = 6aef2fb6f066c0c14b7986a81f95a7d886b7f265fdc4915d327a227dbdc932bccc4da9ca8797a1a41395f744fee1eabab075aa3a9fb8e16f4fa05e5f86c1fd832cf81100256d39f149d5a38ceef9b30c693eba28be10773cf9e3f75882227150fa6857318408e9ec24f2d737c2435b19d12fb17903d6 + +A = -fd1c0466f7714ea2ba6063d0a937b5d786c5c9f356024e6d6b1b8c4db1e7e766635063fb6e49a89fcbc6c7425d61825279acf71b53ebc7bad844dc830793a3ac88c8be79be94570063f96c12fb545fcc93ccdadb2f9aef50c258a8a1bf5d4ae728d063201fca3c380283de44d620a4c7b1ffa8782b53a39e7eb9feb624dc1018a63cc38ebafb5ed220a06344674ca5bebd3a4e2ef8115369adb9a344b16733c39f22c71fcf90ab8041c8c5bb7fe46e911437b708e555a1b05d9a293647e1fc26e9cc4bb4c253d4d2200a5e027bb60fc6f30644f51867e1ed1180b4fc8c887c90948436b967141922399fdfa +B = 6ce66c4141a3c3a9342f27e47b6ace43b6a51781f7b325242339ca0105baea91115e32469e19a4e66cd160266e890f9f802142872e070fc48eb794d8f16b107cafea07434e7b1263371a12c46875a8feee338aff516866c0e409cd6eb1cee3077520ac4e56c5119cc907573082b7c43667ba329af930fb4eaeb2105f5c60162dccd45669babae312656d99c7bab86645dd002802672d5fb7cf46fd4f6a492bbe1d94411f894014182223b8b57f33bf7939ef8dab98020681465aac458b186b7a591352607dbbf3bc1583c6bcd4b004c258a4ccec681cee796f1f6de02e89d6c2e7578373922096728a05e3ee +GCD = f9170b8925c94a44be7b823cd9225198df5a4f5ba75a1de35633fbbfb9c1b6cee1f2c996ad7fe0d0877bbff07731c54b4170b9cad50e04ecc771cd9adbdb21f6de041e0a672535dc473fe87455664ff315e2cd56f1cc62ae32707fa5cffcc10352ec8d19465edbf4a16e6e4fa84e9af47ddb49ba70ea + +A = eef0c318f88a58ea569f007fc1de8b8a20eb1daf75bd074cafe54a98d0ff42e382313ad332fa72131ffb892ff401b6f8629b6803984601b3dca097665b3366ddd718701bde7a3cc9a4ed6d32bfb03c417f46504940693ce40cf4974c221fac6dfde39b6342cebd40ba92c4c0aa26d055b1dad111ac1f8191fa2023c2f23d99d66b3586383de397a0c66884dacbfd94a0bb00e14e6b42dd3ba12341e958b8312fc137e4ad74fa5cf2469cb8b77223525d10b30d23b142f1fcb55ba65f387dcc3169250a425d899e211c900489cab7d306c2eb601c41f72881469bd072938bdb1b0343c061c85e9f6fe1a5f148 +B = 1b125078001bed77b9c4b5e87c9fedbf07f76e17613815623726c6747f786ce6755a892cb09e021d8e19716a0f2fc13c47dbdfeb9ec0860144fd8c5828fa40a937dd88ae2ca6d99b7f4eb13d4214b0ee6967b933c8c04514898dab3c4c63d58e9addecd03bb9201285df8b3ef590f35a4231a4a5d04b432c91b4a5e5f77cc758909450682072c461a5e375198de87b4bc5068c2485f2c39ee78562c170e843d50cada38aabca0c54daeafb798bdc23c04662c7688aed7696b9cbd122b92b1d3e2df4c12311428ec3890f52a9301036b279c56a46b53f56bcaf59a98ff9818a679086e143fa141ba9d2ff52b40 +GCD = 144e99334fff16163532ff0ab0e059bdbdc5bcc1806510c8be2ea456c498418ea5ca5c238e440a6bdbb158e5115c263a929566ec6281873ba40df8f50c180798adb5b69cafba3e316cb86a73f27aa25be874c3e56cd3113f4e8c3c9c49e143faaf4de622ae598edbe2a53ca6ff80b9d9c6fec3daa51158 + +A = 6791ee614290d9c57ab9ed346151fcc58e3fcb9d52ca6c47f9fd9d776c646462351bd5942c10ec7fe74a1a353a1c654fcb8b5d222ce9c99dfcbf94869b2867229e9c453afb7eec49c9abf81af1ebfeb01f9f1aaab650e3e4a20df44fcb6b5330c65e041df0843cbf4717be50e0296b089992dabb968abe34fe183877fdbe1b3eec9fbc988add47bd46193521d372210e1713add6e43d77dce093f713d313d3f56ac9dedd63436d12fb314adcd9480fa18f5dec67a1a7f6f19a8a8c1c1bc2a3c9d66bc80922a1e033e74833e128feff522a1a8b82384e4b444b3270d258c0524b44cbe1c2a13efdf3bdc80c14 +B = -5c3e390500aedbb40eb6df147184f086cdaa404b9f3067ee919f6583e41a26cca66afcd2f4638eb2f13deae0fedb6ca1087a41479965e00d86c270c689d6608a919f20ea5bc19b1480caa0cd87352553a7b7a9e8676511ae5dab60ac2ba89ee958806620cb8d80fc22a3e2e689d91101484e259eed684e491f8d24fe07f37f2c76be16710f8264f86ccd1974118f425762467aaa70361def924f3c43ed47673c96aedb99e4eff0b3e49b9028b7c508361167816531bedca40dc13eae1ef4dad3deef629c51e53a5edf4b69398f3c87c1c1ad616349f165b0b1b4c44a5c23d32b98e114f5fccd7514ecc22474 +GCD = 94bf24d9f0da7eaad7694019b2819cd1be541661e24a1cc56c5d17ca47fea99f221b86a5020e740ad910b7a05d12121aab47d8642ca90a50bd4979e3e01750929ee9e168205b44c4aea451e8bc13d4c9041841ba578a1a17dde7f590f98d8e30cf0b83cca4678d67ebf7614cb127c8f4c1d9a6059dc8c + +A = b37d970823b12244dd6386423b600fc1cd6b708fa33c0ea4ffe02af206e89873f400c7b4ea15ed5f125b3bc7ec117e036006fd79dab2c05a86d5a1cf0bf0f99b93c8ff140fca3cac9ded6696f6a9f391e2149e24a2e5a87ee7728edd222956479fe669b595b16aa55ccd979753018c3aafca95f56fe010e614850aad199d12b5b093c7ca255ddea0838c6290ea717ce592409b8cf4557444971175af8c2db0dc765bd9c52ea1f10effda3bcb3ab08e1c14b44449244bcc17f9cc792895d7538ebd1a61e43f000cc6ff9c2a21a9bcb54e0e42ed24a5ee2fdebd3b18a2661208de553e861a8621f85f52343b6a0 +B = -e5cbfd8548192a199aa4094e2d35bfb8df4e81551a1de7ee4c7840cc3d2cc2adc2fa14c7faa6e50a5c6f56d4475ccb182d0683c26c178af35a255d47e1a90f410c22dd3bdf8e9ee1f3d31db2f722e980ccd78165558d78d648cb237e5cd1dd7d32e89f77a1109e8e630d02f8fd4296d7c59566d95c0a2766142cc2ba990a4fb5a3da46234613020b137a4eb98935575187879391c52702e57eb3f841144adb32a168b9c4520c0a08832bd6257af939ffce0fc3dba908f174f09cc758c84ba739ba20f412ff463e14bd6bfd74dba1660b17b627fdfc894e0adaa7fc69db4ed6b29990dd921f1ec5df9312bc5e0 +GCD = 1754745095ef8bdab40ba3fc9af00182d694d63f86700f7edd9fede8bf305f44093b8d3c4aa0fb37e561e59f6b0e45f0a637c9e3f1f2a938eb3aecf6ce923ca4455844731a32e6fa2610a95940596e0f5b0adacb63199d62c1de4779cd0c81486d7f3b1f73be54f8b2a2afac110d550de10fa05fd1d3e0 + +A = 174386f439edf19805e88fad230c3c49ca9943df583383551689380bd18f9f542682e2a2aa5299abc3f89ce8cb17fecc4439e516af296721316ae6289b6c17af8646afce30a977ecd5add7893b4b3c819a2a93148389cfd974512b73086d494daf2ed9eba71e48d944a041d6844f20734e9204701de46b5c3da9eaa2631286a15a806777733e8b3b6c4207caa39c0fe4fc2c0106abbe96ce3bab358eb53c5dcecf720c3e3fe1932d84a64e3ed4d3bec94fd5262aeecc4b6db594dc31e85d486657658f54bab9d15bdb109544e50bef4402d8f82aeffc85715baa88d5c8957936dbf9b77ec5c24227f136a60400 +B = 411dccf78a8cda1da2180093cd1bd62e939a844f1b748c65bcef8c19430bbe3e928fca5838f9d4fb3a61d2f3580d70262125bc96efce26c53df0aef063c14ab2fbc4b4f70adbe6039ef551388cb9ae46ca95765824e83b667f4028d29e07e477ebd850aafdab3348d1a50a56e965da68702f5557ccc920d6dc053ffbb4c1418230b79cd0bc2bd67c8c4b176f5095d0f788b1528f597578fefb735823550c7322cfcaa424f2b1c40b35b24f89f85d7993587b5aecd48746b731012f905ccf86c9bffa64c4e183c3f3db257af4ddf67f15201bdc1260100ee07305100bf3dd80da2038a20fbfbcf3592a91bee400 +GCD = 4038075a3913d712f534c1bd0e38b52d5da623825d079b2f3fa45ebffb31b1fb5ddfaf87b6fabab063202472cda6f5de7d8b8466abfe799647b49ed41659dc80e640343cbab8a041a257e0fde6374a9d8dc1d208bb5e66428e5adc19fdbd2b34a015c4df383ed067ca0d6c4fa45330b054ed48f3f5b400 + +A = c04fd6b66104840cbb2badcefea7d4bfa18ff2066d31fe98d8dc092b01f9bb42632db53f4b79242440d63b98b91a259fab64282fa7fcdc3050493d8640665473eb753f833c7651825f3fac053e4bced94329b7b28fe49447c353c4f38f0744de34a6a36602a3f45e9078c6387d72276798eb9f05a2bd4206f3c929fb113100e56620fc37382b1c088a99f5e44b647e38afdf535b387a65ce38b30ef2b78245f0712d110a224ccd2a5a934179f0440fe2afb3297932fe9d8d39b18526ca4607fccbe4c2682ed7ccf9906af99d3aa391c7d1008943db873c336e3c3b70111f99611a3b54e623a0e95c8e16e3ab8 +B = -31e939c8f89188195891ecfcd8dfb3e016743a80610143579423dcbb8ce7c0b13032355f4a8fc48a4b358e5631b01030d3f8dfb87b1bd9f182ca03b77ab1d1e3fc847ee3406317a37797f1e99e2eef1901d2b943be0588c4dc34dd8fc35cfc0cabba0e60090b7176f56d36d9723b03ac59206a8035c148c294dc04439ef340be7b59566cf2234743c1c714d85ce54738c7835f8aa752160305222b79a610d803a77a51500d73c03777f25367cfc92243dc14a4c27d0d593c749570a5f4a8af038427fe7a85559866c1d24cd505903656aebb7510a9369237422325d86ef578f242b40aa1b0dcf56be71ad6c9ef +GCD = 1b4bfb8dfb59933f302e2f0470f335adcbf2cf2a5854f2dcca53fee76041ed292c026bab508c3aa080dea74bed44903b4006a5d74988cd723af379bda82f7295d9af87ec11420260a3b13805a31aa234eda0ac956482b5779c00c2ed47f405d59130ccca809fe28e16279371f84a32c996b3ef5beb2195 + +A = -1ec84d7ecf3c26518a107f674c281bfd12515af1d73e72903c8d5e119939ebd75a9b0455494bfe045a32c244e92bd683b680d9f61842aac09d7d0ae531c844e4aa140b740c53dd989d260c9e448e7c3629cfb588f1986931ac615bbad07e5da5cbcd539b23dcab88d966e5152b8fb6b9cf0fe77ca160cb196a77cbf745bfe85fecd3284001859d14f996bbb545b10b97c6c8977079dbf1706c71e401b09363aa633d6c4df95e71efd2e88090fcbe543896f3c14fb4993ae1e0f4a7af55ba23d03be16ff35552f37713abe690268e3ef44564103893e563a7b2f63adcb3891d45b5474d3c4f942e981e40aa59fae +B = -16dafc071f159b4008f13eefb507859e951027aab1e7e8806a05c3ab146984b2afbb857db6f4acc8b832aac7f44a32264d0177684109c67a9d8bcb8ed9ebaecbfcebd46b81cafe10b5adf79f7f06d0820f3aec4d0023a76ec0e7de29cef09bc2a664507b289aed12f1886f18a031889c3082aac506ee702f057fe6a3e3f8fbf1832ef62f40555360aacd4f3f49067f905438f87e7ca2f3d7d4fc7317dce37fdd0ef53716dfa6bb381b18af5bed2433190742c4b8db74c2295c73bf32a7e5af52b880f67a7094022f5a4c3e5cc9f8caa2e2d5b8b4e8261d155e5852b2469cd881123d95bcc079388bf253075de70 +GCD = 60212b367c8604754ae62a482f83c726f9f86f8049e3e0a457b69e92fbca6ade5243f1a6ff929f46870cd8b111264647d8132ae51577aa8c3cef7899a615314d007bf8a5f84e96636a1ccce31012c694ab8b1a7f99409a4a2151d5301066626ad62122f509ab92291b2f49d461136aec98aa2731058b1e + +A = b178291fb6e1e9c507748d4ef472b65f20199462a13b9d3207d2f0c4b40c6af8a83588dc1fd8e267e6ab2293a193eb7e7fb3bbe3f6a7bfba2169a97a66b66ee0facefd0e07846164e3146ab2dd79072fc31aba3dff30a7c38b79adb1d571eb7ab72f253e9bf97806e7cb12d57c4a89f85a07d825ec263ecb4d39424114d532e891c27e32c4140d6689b42f968f0152a053131c22766e7f3be78d1ea90cf63bb6c5b3ba5cc69030996e40cd78cba5c474d979b151bc53a6a0bd488d5157e7648ab512f98e99e3a399e6ee30835ee3f1f86e649d8db323ec77a87d9f57e47842e6461d5b3ed4f7c8b582d97af9f18 +B = -d7c7451d838403e07b9f637c9c33dcde84b208069f5f5b045565842819f97514dcdacb34fb61925da000b05df70c61e7e89ba27d9d1d41aeceb78d9057a0afdee1965e822cf9b41bcc9efd09d443fc3617811e1679a8919b3e010632b39fccc2ae4bb640626991c8aafff6af497f27d4564c569ec7005570c9ea7de397177c53ff799dc8182bd6b88550c6976076c9959acf1a8edae670fce2571f5c313b03318bb8af75a6305847c56ada5a9bae66a4c8e7716f0d6cb31a33c8ecac693c711e70fd6be3cf7d6a913e6fc1d27888a4698e302dd7fa765f61844677f0567de1418586ff8d782626ca8b11a96c440 +GCD = 46dc0c1210cfda85efdb051dfaf039a051666f92c9de8d9e3968e85c0c8ed0fcf787f60809df46a9a34fc8c3f2da82ac2b03a56b2be43637bc29ac7b5cdf4ce87fa240cec59a71c5fc53a136561da626ca99be9a3e0c7cbcfd51e6e117dfeabf53e1dca8d4750ed0a49b1ec35bf86f8e57ef1a803388b8 + +A = -4c6d26c7d4540c867f1a49155fcfd4e23098123b55618b4363b8fcafb96416b8dd104195cf1f6540f19671cb388a69775a3a2733f4499a968f638c5dc58361f91edb5a54218f7be6b0aba1dadd014626c6f02969ed684917018db3a969fbbb48fdfb6738f7739f544f111814d5d89e44edbd2d314b25187d7c1f2bc0b44a7ed4f4feb91a5c05485a3b52d283e9ff08f4cd5e1af0ceffd9659c1e92debedcc53af3d50dfc8a3312b59cf3f3596e855cc86fcc4cb00b88a172c7b274e25b4c3d002ee92f2099a2948be75c4c880983444e6eb4f250d804935523cc3c6e1589b43a00a8e604ef0ba3fdee87d2d12e14 +B = -691639e248536e130516d522327ceed5344b019c19c7ed83ee5dbd590bf40f75565e1cfc588ad936b23c3f1c4514aa5bec0346df07a25c7481bf2d6395f540004249b4a2d4ba8e56c167f3551deb13b794ca396d39b997d5757f60f94fb9c3c938060310a302a4b69fbfd5d4952242b3b12bef46928d64645ae9ecafc7b8b888f098c6cb39c046eb640b92ddcfe5ee9abc2b7a59f23a99f9a925dda294cff0d09ef6bb1f5ecd7cf6429f7362d25b9d87f93a2baf440056155caaaf40df3b19c52772c374acf20a652e6c0f546ab4244045766075206f6eb0a8b9e06da4d40501d8432a20ccd1bd880b3eccdda48c +GCD = d8e3e4071c8adbb32a1d190edaabf7765777333e3e8ae7a4781e6e455f2589d4ab57794e81ba8515a42b1fb0c2d5ffd127b66daf7e1c712772e18029fa1c9495deebeb8c2ee27a8b67ea1f01e2d313ef01c31cb6cb0f43e9097e8b2be44ac786803416bc90ea8226f7befc64997b4305eb0fb4916d3904 + +A = 3b8022443b59bc90b3cee319324a22171b8d4d91f24a960013fa9ba41b1ade6eca006a6239bf990d21376203c08446c63ee9a295bee7bcab02df79daff03ab532f4988846476eb2f705cf1d2bc73e04420fafa9bfcefa63331748c555ff209d3622087e899967b7f4951a46dc44898662b0904534328d093975086dbb96850a73dfb2459b2edd0519b6e231da5ff20149fc2ed48f175c53b59868cbb3efc884cfa6352bd9c08cf95f10cf35ff79add7a6b7b0318fc3599bb118cc74fd9c30d3f45037856e35ba416cccaefb8b42b6d71cc096941da66122656f13df8275d6ab76111579fa85a99e84092403c8438 +B = -1370e640b51cbefd4b1520085830175c8519354e1674af763ff8dda5f049fa81364d8947ee69d8015f2dac66c24464dcc7074f65a3df989a51efe7dbf40a642a7a8ff6e78d7df722c0d7e3ca803906aa949e8f8d423037ae98e2e80cf175e93bf15cd918dc0d339d9e0b7b57d0d0440a54f422da220ce175f17483f4509d42f1deb5f5f4f9453a796e47bd922668a92381f05f566e989890b9fac0b4f033a2bf6bc0f36dc83d45ba1c6f5df726adb42ab2d2b01573563feb3eaad7adfb28902c7402b7dcc4041b6f097ab9810b270f7180bdc4786f65c207c3f1d591d82870344cf6fd719061f3ebd79386743450 +GCD = 173b54e0de1bf6d7e2399c31ee6a53a2165268717f8e21b4429f0c5c7c09de122e78f389b9d6aafa1dab387ebcca777fef562a3d37d845befcef6099f181933ac69197c400a739cd8fd878875a7eb48f117b1e539bd6df3d959d20ae3b87a5eadef33b736888507e60f660552027c777b277ced6c84a948 + +A = -749d3d1b9d868b86b905e92496ea7ca44168a9cb9dc51da55f4edb684fcbb57306813e4f10e4b93beb15f46b51e98ca9b4a3dc6b7ea3ed7f5563cb3c2b6181d5da8aa58f92dc21a898d6a83e947dac0a5ef07a6d005d807c3027df50bbc8915940733b4dafd0a7eaeb6fa2098ea0ac5d0c3d439259fe4f5c9fb90b1dcbd6519f14a2388d68033a7cc7ff347d05d07619e8c97cac5120b3574fbc5dc8782d1a5b43264f992aafc920a55b2c4d3853ed94cc493431e01c1990b68ed964634d22ff7f6cb1c83f20f76ced68b6e0c042dabe2e2867138457ee5afeea49c6aed0938423355b10d2a23508ca0c788cee472 +B = -2b3d741c37ff20274866897bf9185ef567dfd2753496d55403bbf4b62d65abb9d8e2660baa774ca923229bb50d2701a4c8b26bafef6cedfa1a5f2f7f68ba0d6a21135d3f0d5c87ff545a464c62caefbf3a9d94f020fb645e142d3b3a3124ed5b4cbd844a8cb237fac64bdbcd3e8425dc647e3ef7a82456a05f542b3073e0e9b934b36ba9dec34ae03f8a39d1dffe14978bc90a78058a85d8dda4b30518a8f961d9633a6d7e269359ca61433da7c9e6ebc30e5e90f54f5e2824d5156320ad612c10cd9144ac09cd6c4dc5056565cf83d87f6f7db34cc13ff7e4cbf10c59d06c04a8d06ec680f9469c3c1aade760f85 +GCD = 3e88cf2db1bf24158b04a9fcc3ddffa918173bcefb2a855afc39878270ab61c4683fd16d5da1286b6cb3d1487cc0f2a05c9f731a0fa132036c9a59db500974f33b340c38adb25737d558232338a2585ef1882668a90868063066ecf5dadf7da643df01499c54995e94c42f35741da0e54fc907468ddf651 + +A = -14f5c3e5b58f5f53a8be6c4329f11f3ebbb98f940bcd7deaf1a90dc7263e78d913e1120a4cecefea9f578523adcabfda6ebadd0b19d2b585a19330a11b47ecc7a3fda5782537bc3ba57ac14da2d11e6d840297d9cbef2ebd84b72cc51426c1b85dd2d2ff5c1c9e31070cc110f696a50e440353116fc02a3eca267a50fa314c311b5a26146212f8713abea8593e3ea7b7b9af8f03b804a837d93628175a0ee06fc8d96674103dce65205248b6f3da6f6902b5901a2c471adfec09f8d4e5e41a7f714e1f2d9f72087c23b50fbb6d0d1649a2e12239af1ccd28241f406e399fb3e29051ab89aa354935e029250e9e7ada +B = -bdc010bedffdd5fa24ca7a5460bbec7b023587918bb9e342d52b6f3610ce6539d22b30f2a186bb5039516daf6582076d99883e02cd0424f0d0d40a4518f122eccfbbfdd09bfad58584a96f039e8b329df8070db246b55a47e718cb7417531bc289e6a4e894f2f02df96a1ee4942ca8998bf27b7ad6c81393a67becedc76c7a3db9b0c659702f08331938436707a5c74e07f383dd77694d4e92493eaff259871910d30d8ca092512362a7784e9d432524938649ba66e9acac41db0aee22d40b7dd163c85636a30a0bc9bac7733090a6770e09db8c07fb3692a008ab3a14cfe5da495aac423ec93bb58374c70aae950 +GCD = 21ec0047881bdd7b4e9e1bacc1aebb7173c9facb8a4873772f39e17b7b42b1789044beec05ccb3b4fdf9ce65b6cd7e882b22b611b69d328956469330a64c82ed42e30bdfa7ae78fe1711fe879484aa4242c58ce2a7ddd58c965e6b0c3a100ad5077df840c1f757fb09553f67864c0222f1e9d3a453b4f926 + +A = 2d983b5c3a8f2ece106c9730fd10f66bdb245c1203efa79e0e9cbd812027f49b2fa860aa500c2980e21a9e545c778815615e7b1eb426cbcbea0fce91eefc6d3416b6b941630ca5aaaea606fece9f79754ee6de7d757caa2f9b2680c08b75f957ea107cc6e046d7c28263a458dbc6709a950693269264e368d468a5a8b10c7eeb38c2957a0339636b55958c707cbe9093691a7b47f6fd67bff83fddca4d4f726f403ec0ca1389e556e5193c7cc98fd3ae09d6d11c0ad83c8a49659ba885e7deef0e6c52dd728c7544dca35ad7812a5f3439039dfac6db1c7688a5b91b560bc0e462633a53b438cbb05784ed4904da78 +B = -24b8cdfcdf5eb60963ee5b143293a3e25b3f18a66f7ab885835e3b01f3b8ac64897528ea6dec4c9c1e391d061919d15bd437717647924477a9107266497dc09dd3c8473af213177e96b9fe31399a6aa4f6b7a8f38dc12dc10333c3b6a5ebba5c617f13c1ef6de12479b94d31933789f0da6f51d7564418f33ddd01f8cd22e2deea7d772a2d8775b8f362835a37c76b0ac42aaf48dd9d1ad367528b467bff0ef059f7c30d9fc004dd5164f54e0f3d87eb6738f7f1e958ffbcb4722ed1a4018ae6e24c9a9e4707bbb3eb6755fd2195aebd98d629ee2977d5306da453b850168082b65cbeb8bb353ad6a8f433dc574150 +GCD = 105def511d8250125e9ef631c4cc5ec371fb03c57e5f7e6b9d27457ac21ea9332d04da023cbd685365caf405016a09075de4dd4d76ccab56c71103f2c3947f71102c12a67596a3697ea12c94b02b4b2c3330716813877c75a75775c668472dbf013d266085438490a97f0fabd6c5e3b9a7d9a61b51a0db58 + +A = -bd7940d141f8f2c2b9a8771aa6782c3f1ab5cbfbb64e9504ced0cef179fa18c3e2e9686d2b51f53ca3f0ec59a1280513d68a907cbe449fd352e56acecf41fbdb5da3be225cfb7c93ed16fce95b3bbc522b4bc115b9605960beb910317054ad3790e1e3971395f75c71abbd5d1fc245113379e002e501bf095a214d9066264d60e9d7947e5a59e03126c3ea3cb9189beade2759d76ea0ba06c4982597268bc78096ac109ebdfa423dcdf0ac09ea0d16a5715dbdabbe1257d54ab6e4539ef66a8815e17e61df522e7f705258035b0a05513adcc8349532efc08cc184adb387d724f43f25acb0f5bd9cdb9c9b388d8960 +B = 1402cd8364115ce45b11aa799c576d6accb3927cd29e460be8980114a28d560941450dfa04c353fc90632f24eb226fdf1a3b8920af1d8adb2ade8e1613f4befedb1232659ff879b5084e5404c6246ca54d68ceefa49f969957ed43b1a7b93d4836cd0484c4eeec591ba0551ced48e931b4f04a10f3ac5d474f8b070117d430752fab4694241d98b09a54d1c137a6cb8b706e6d8dd239cbd239ef027b51f036a16863b110ad3917814803b6de942d2f41bf3f0291887226dca3a4aa7f1acb42022c511bea7180cc70cf9c7e694b63e6fbd12554113f0d4593662f1c10d5820f797cc101df7f798e38c20099b05d3aeb1 +GCD = 1716d462e788e204592fa74cfd7cc6c7287f42022d0860d9f2f678b0f183c54a7562aa74b5af92e858f4e6feb97c6123de9934dc101378f4be88eaeb05dc0544fa723b5ed270867aff39b2ae531ebd23bc22e444de9682409aa45067c5fe14d9550d18ec71cede20f2eddf756383b6e2269ee8c573c24495 + +A = -412ae3f499945d703b913c31fc818b237fa4fbeeba620dc64632134f427f3490f4265e06dc912387500a6f3b8bd389348cfccbbdf34096959ba937f7e3c8ced1a5c47387ed09ab44ec5cb9ee88a6ae83044866c269dd7cdaa3e4cadab1af2201c95bc3aa47d2492e8f64397f4f69218ccc0f9968b740bfd9a020e6bb6f796d36e223bcc3cf41b6119b6a167ff883a19cf59168430e53a2407ae65c520d34c596af1b525f274be1f1e0f34d8468889feff5e3a54428d50662c754559681782161b15e35cbf11228acc2955560f5e2760b560fe92d234b634f3211d35415f7729d7f1574f5ada9c35e419fcbe7dd654b4 +B = 2c1b90954547193a4c2a5689715eb5e57139d1142167652237d98d9177669075371b249e1a5faff8fb60037d15dbd865acb5be7edfb8374f316ad411f07166e2dcd5b0bec5ded44898640af5e96d7496037aa016881ce9c66da39c749ff3d7d094a6dc280ac6016d0e7e6519675e2436605e25c0be8b9d62ad34a7c8ad694f198625bc52fc6f5933164da87383c3a16593845d6dae73b08284ccdb4c3e730711d37d2d69afcc52c102c2c38d8768855299ff08378e2e8fc7adbf8c621b4ebe7649610730fd9b9865078209413cc22ff3d3b1f8e5febc64c2d187f350a27c5b8eb96333d4b950e869d5f1d7a4437485c +GCD = 4d8c7fe1d4d113e69e5e584cebe2f42a03faff4e8fc3f70e986b2e00271727d072f9a4371934f995143db2ec321b2502af5fe98a901c586a24156fff1a958d0c1431008a7fb48f779c7e1725bb217a9c16521f64653f8c0f279165803f22d5b2da8b01d2dd135cb65edeec4b1ef1e28c512ed02be13985ac + +A = 521f2fa1c832ae50091f1ece98b88bcc6529af62fb8463d01ba2c00d6de37a2099dd5448c44c5b66dbb5cb6014dc1efe94d37f7a18c6a86de1a065fb72e4e28120ec6491d6f8a77d90a4a5857fdb10bd5a6cfc4f613dae126ae70d5f8280556d0c533fc790e3f4bfeea54c27808dc8f6a2537ddd7f20a46a0b6a2e48a1e17c9f1d587c1cc646727da0bed31ed5a783da305425cb4ed7d20f7c6d8514a19a8624f503c454f2b738ef1c86297b2e3a3d28c545b2625a147ab7ddb53bc81c749db4e84633f59d6e7fcfcf6404721ebbb2b17992e4e80ec50ff928435fd22795cd8aa83a41d5ca3ad5c8a00db25acc0a9d8 +B = bfb846b6591b9514133bf7bd762e19d74a6ec85e93a83e60f8f7ceae7fe2b5599f720d534a13da48b9d6c2d0083e57f514ca9e269c68fd55c57aee6c6e6c8cdb132c3056220dc8a10c6e2a7397580abbb02f5d6bcb5b02a96a0bdb7fb76fc7244eaef2b473a34244a58786f09821563c4a0fd3387ad21099e3001a1b7a5e52c9ba398d51099f1541273a24c1341d51ed8c77b569bd9ca1fc66f4db5947e854759c9428705a06deb7adae92df9c9be567407c14f10e04333286f851213babdadc67fb9ad035c615b5e52713bcfc3911c2a1418af6698764f7ff6111d525cbbc74930be8c6e4a8f64f7d292848b9fa4c7 +GCD = 5bcaa8952065cffacf06c004531acc5c2fb89c9186676fcc8361e4f8c7bbcac2fc5479f910be93a1f72abaf1384857346c66abcf73a1614ac6226e5681b7f458ec6d341b4d81f4711a1760e4026f2aeb251a67c2c0ec8b01f503523aa113e6c0e3138414a37cdcff4787bac6d2749355ee86568093a6aa3b + +A = 342cd4a21e3bee4837c4ca53bac294b952a7a9fa836cc9690cccdc886d55322b37c9e846faafc205796b5834806748e5167010aceddcd383cf55f42d9830b980cb4a26c133e78e1f6308746c6777e843fa46c4c60a5c6015a338b51c862b386fbac8e6ba60debd0f27b126390cb2e441eb796e6633688cbf4525b95c2c44345feae1e8dfce6244fbdcac16a2dc533879314bab11873f716d32bff63ae0580cbbed5382ab5b1939cb0008d8ad61642c808a3c4bab5fcd30b6ea9067b83efb59549ba6ebf2d968c4724e533e54d3f9823c8be37a80c7e8abf2ae438ef7a90898d91c8fe9d3f5255a545a3d10499c794e7c +B = -266eac6b3d6f05464364e85663c55c72f8b62b6968f1f137f7e02bf9d9b84fe257fc02f135c52756f18f57b92132f87adc604ca161e8acf309f571d569354c814fccbf1ca687ad21825398b6fda7edf2842767628b8d126f07e26f1ffe20de0674106a2e538197744036c2fd888ba5606ae86d34efa10b5adc56bfa688c532cede9e0946c76786de5fb277977d3e9a009e043a4ac265f9b9ca8b506c60c5a07d36aa372028fbdc7f9f7241987d5aacb4348865eba04aef096315e0c9dbe4637fe652dc8f7fd2517382fd04b075d6306f4bc10b8ccd0ae6c34c442ec4141de37016d62a99179c45a15f688e8a927f8d74 +GCD = 12188435c600201aef9454fa2fb9e758ac02ea05202d034105a7713f5b50c066d5495c1098e0061c59dfcef7375ee68dba4414960e4cdef8da8401478ea3c571a0be72d2156fd4fa8f787e64843ce5ffb62910a58d0cc01b4e8816d24dffeb0c8d97880f3048fdf4e244e76331d571bbf2c1061109d776d8c + +A = -13f75bafd5bc6ea46745ce580e10664558d811b7746c4e74efa6fba8435a981d26b54a6d52904b3e221c7b28d6e565d96c73f118e28f86fdc85c58b9825018c3df8b7a9896cfc0bd5b02eee8716f29ed8b5e5c9d48f8a413cfad87124a41abd329ba24b28032fc69e788ee9c61865021679b389d736584457f723021efa57483d5e3bef7fd1277cebf09cfd9af9a53bc22029dbd48daf68784369fd06c3885ccb2681398068046b9b6d6dd00b4757f97a61e14cb29f75c3b714884b741142d08297ff185005166dd4a0392639288260e327870df12f4080fd0dfc54a4207c1f8df88a7a312da291ebb9fcb2559d046792 +B = 1788835a5e1695b131c4322c9af94aed587b7e7094b7aba62f53eb0906a0d7f02f2977b65c6948e58b3cb7290df3aed12278a59bf618202efae29ef98a0a0787f2a8825d8126a540033974310070342a7f1c56db2bcd313a4bcab94a0f1831ba28b393f0a3096338168a5672154a246ebfbe9be14e096be38630a8d493f989f076179de97de6b50aed240d9410db59c6a5d3d72c969b949f0cda1b0a0b09989b435fbae08b6201cad5fa59bf53b0712075516971965abbeb3e6e78d37cb13c965970ceb4366d558ee83e1a69cc666acead68bfbb08ea37a4e0ed1918d58dc63403c1e997c3e1c30876e85722af8056d12 +GCD = 1ea54133b01807a50d5bacc9d0de012ad3054199298fbd7b797d6b4535cd1d8ec15395b603ec83064c51f9b95605a80385ae598d35ab81b82464f4960daa52c8c7120baef072aecf987051300f1a656e54a8b4b7648ac9f42f713b3a0437994dea769ecc0d4c4540cf89d641fcce72da2d54681503e9947d6 + +A = bb5b75ab1272f8bb02e733cc23c2a1672904c7fe3795427d0eacdf5da2fa0baade10bf08f02fbb5274a2dc4df2447bbbeaee74b52ac5deef980bd631de315914de06d0c31d4584d98b0a980d2dcc386799694f6437210399814d1b654b0cb631091745dd965c399008aa06a2bcb6fac1c713c8097f342c211f2bdd2e30f0f009086b79549d0a36d68f03ec5ed5569e8337073ed430c319a45e8884fa87d4c960bcd1b2b1f77125bba061b58c5138f1447c4f97e61e1dee995381f200e9fb310cf04beeddfd03dce4eee17d4c6defd96672a5b989e15f4960f7a5e5c66ba6cd20cb3f0ee511a645f0b7175a3c6e767bf9 +B = -6cef7535acf902aa763dd7cdca6f9e6f3b4e30f948ccc7eb24be2dca79ba6bac23f63dac80ba078bc953c9be4cdf6a9d63370977174dcd4084d5a4b70d35d97af3f631285dd04306f568f57eccf2c4ad4bbb43231e57242f6bf67b71c70cab210bda66f55749e8053e6a1c71559d2e1c64a9f72a1fd273f108d09c7ba3d809c5516b0c69a1309026df287089e9cf6ce8b8b1c9c5329d4411812c23f52edf3e246188216ae3a0d2baaa843a0fd71f5cb9cfd10beff6d990e652ffc2351268fb3a0378c47d5a5a846ce84b901238ec3ff5ddca84330f32c17bd0205a585aede464260ad809a1214d3205ab693d3f23d45aa +GCD = 389eb82ad2531abdb57d4011b5262e4df98c0590b57bc92ae83e90eb0c5434f6eb25f1ed941f6109283e3597e6ef01503b72a563e54105b20e366469620a464ac5b187b190805d59e0b4d52fb211d88ca8401181c2866a848ebfd18982fb342db1981892a6d5791c33a430dd943964060f4b8ea2597a30971 + +A = 189805bad506a888d8646987ace5940be0fb07c212ce2696d1bf5fc4bfeb5f0c85db2cc6ed633badf296dd952b60a59c403d8373f884a5d9a3553667d28c796c5e3de0b62afdf75f5107f629674da51cbd039c3a2d312dc724487337b9d40ab4a1c3689b5f61eb9a5d18303514b3b2e8dddf79a4f0e1b52eab17568a26bede7f99b7077b1f60f657720ec0be7af63b6cec850a17f9149f0a9ddf85ad6ed9f33f5297ed0c90b09b9e43cb03f9a4b98ce125828faa462a5b07caf9d31f7fa85b96c02905498c19dd41ebd447a2661c9aa0809bb3d034c0858498ca2cf9b49cb65ac95f6644019b1d548bb8b034f8ee7e14c6 +B = -2cdd4f188d41cd6ff1b17800827da7c37c9455b5c7967f25da8373496f2c90e7d302c4cda5815fbf589fbdae0c1688ad93bca5af4b4a157c57ba3e7b65dee0de4e8c69121c52168b4acf3428f9378048dd64c43063ed02434f350997b456db5df5f0aecda1fc702bfe76c49728c7ea8e49126f6bf273f6007c87f18eaf09453db04e294d70659cfd7c20678de19621261ea1ad07cbaa1bec0baa6d2cad2e3c4a7ce183c2922fae3db0e9ba03dcc9a865aec8783f8752480e7296aad74e30620512ff8c7a605093b072ebcb1f7e4cef6ae0a0c84f3ead823a16e9d3c74a896eb94482a1e50426882f20de7f3960de859e2 +GCD = f7871589591a6022368e85dec3d7b00cf82d5ae5aa1e0d27478ea03dfa6eda890409f2ed3da2b20e4b8dc7c656a33135350a15e2b92cef7b73b73668534f1a63cb4398d832b096abae15c0722f161d622a4bf62f9ef3085e6141876cf1d129c57b66c2b24040ac6f93b81c37dcbe06cc8ee30ce864e48f6de + +A = -184d1912e5e7a5bb52d472077a5f5660ab45f3f22ede211781e48886ad134d8fe92999a507a96332e24cc1e6b844e06c72d6d2a7c031410045278c4e98116d6e4eae5cd5e20d135c2747c9edb6ed6c54b002eedc344278ca3b31a4e5d5ee991dbc6ce5bac07f409b0644acab4b90d83f2875b1893991eddaf115343d519c80c2394950619c5359e78bb900805bc78e298129b1ca826103f1d70512ad9a92e369d9e8cf796a21a783b83493d39186d4490ceac9dee529a48e33839c834b70ecc4743062e68ae80bc1547dd624246579d3314dc0baa47850c9560b3cca9abd8ed57171a109b9aca03a4622e215124076fc4a +B = 32136a15cc09b55b8377b0f87fe1541f195880767f2e018f463684b29bd6f8f47d6b06e02fc33b44b986f3a1514e40d6e1e755c5d07d28c857a0105aa26e6218e9f28de1dcee56d84c7710a592b0a9a442ba0b270cc53cb85b75dfa75b299e6f368aadc67c866f54449c704b50b355340ca9d0e33327da83b516b904edb37262c0bd7e403b9e82d2f023095c0c5cc746613b5e432e18769d62b4338ad22c4c727f43b869b3f8ebd3cd16c94585d4d612e9fcd8e7da9c466d7e09e9a60073552bef52dfafd65e92efe5969bccd241901114494f550da7076d0284d3783f3544dfd2bc2e117091f2d60c4b58d1cdf6ef9608 +GCD = c6c56c5174e4f790fd73e3eca9b47509e9bc836d32b5c9cda12615c20273010e4d35186953f53c51d19d6a0a3629bda5cefbd26980f17f8fcb339a028ca4ad59e355295a90e61028bbb1ace71aeb4267ddd3a783fe3f14d2768b086957b3ea750a6ee13b4a7721b6518cfa3ad753d9c5265fb99241ac7656e + +A = 14b8783be74925a07fb0d1c23353d9e1cebef26fe0fe594e4b995b64d2b5c0b12f74d9442ad4414fb9f18da2680500b199372d4e3d503830f5ce7d5524f59d9c6fe2673e8403f3c6feb2bc0f33b2c15ab9d01f08c4da8e51b4c8d0e27f58a8540d8c783c88bd35e1359af633e48e40805e1e007607806291facc207116dbc283455d4334fe1e820a52b4caf20ce3adfa08c77e7114ac50634f8aa2694a26612dd6b67f741e0c0afc6f58580b66dbe49f2472ba2aab133f6f035233341218e374ba37b195c7ce1922732f5e09ee77354d9c29fe086ac78878710ded8e49bd7c359f916d44dfc656f2762c567158a0ded3ccb +B = b8b7770770458fef314c0ad89280272cd482db0b9ff04e6a66330b13d38f3ed546e9764875a0b74e8dd3b1d9c4a8b110d6e9b2d1b8a59893fbd373e86b1f5de59c3b8839c21e85f2698c0c75ec145ca2b82679c27a706842653fa3662fc906fe8b4b9f34db8d5feb5fc247ab8b774382a5db82d42fd8f3284c7b396704d8d9be5b6a16cc220db334ab7df6ef73a21a35b3041bfc360480ec06cec67746eea5958f629427ac690c93033757fd8817087b0c1b86228ad5dc68b3ec5609f50df456fd7aeaea3416ba89e95d4b78c457d63741ac3cf31926cf14039fcedef82009a58ca6845c7313bb15baa492993aa1858c76 +GCD = 1e668cd8acc5d0053370c5a4e84be9233c8853d7a5941fabf24d413eb5e5ec9ea8d4e177d4bc7175877a773f2a70098a81eb8e3be7d1f8ec7b76a3b66ae467d80cb9676cda1d651e51dbd1febe9b713c83f31ef11ebf91691dbde704d8f45611754afe94a986d527a8d838a9e0041ae6e7869f17da3def9931 + +A = 583bb10ace4032964b5956803080c68517e0fe2063abb21fdc96b9e47623934e837548326b4e26f63f55604e3d8317a73ead9bf237e09dc5eb98125c5d538c7739e65cc0fb0a80c9faccadeed3f8462629cd0a53d20308bf7a4b0ac78dbea7483a0895d15446081918574bb9658bab94b8c6ccc8ddd9443e16917526e5515133d43239ca7cf1e6d2842f397041a1629ff8cd720bb73a4926b22dd0e97f03b1ce2755632668026e2f4e3866556b07fb5b8613ea758eef61f7d188be2aeac261400fc94cfb421de242f83772f7c4ab91c62ee5561dd54638db6bb2762a1e2af40fe55d23535f1140a54cf00cddca11af8f860 +B = 34222902b4eb240e3b6b01ecfb4139f7c1200527f59dbbd72e9d8e73e989b4b3a21a0f6559fca698b3c066870bfcaa0365b5b905c3ecb04e0d008f46d235f629309dd35553e047ae96997b746f32f885eb87730d797f61584248266a97b37adc067f68795e15cf7af5b25909ee51edee7dc03efe89c0d704048b4b4766d0dbfa0fde6316317cca0bca806937782d99486c9fc4cdc8809c09c04e776357caa5e061f40830ffb01cf575f6a4a8d8b4ddff100f52ce409d7a6520d489ea9f6483959c88cb05d787693bb727cfadf05ba3f1d593f7e65778980eff3621a0f93dd1c79d94c75fb640c79ede9b30b03c3247b8a28 +GCD = 33643f51a7115c978417dffd2004b660edd6b2326960d0fe3ee7b67011506db769c35ac9f28599b6d220c58cf51137e8b382236fc314ed97e54e06efb58dc198339a07926088fb5a2e598f50b0cf50304e3eafe0ffcc0cefba10fb459d3583e919e0797d4443b0c5c1ad05ed5a437e28405e7dafa81e06f598 + +A = 18e6777c879cbfa88aa063feb1659d79ae3659a5d798f5bcc8cfdd5de7e71256ec2d90ce65140749a6ea7ceacca7258a207a836ed6f44e7a76ef20e0b8556060531a1a53f6c89286002ced71de78b23a657d8b4446b2f9dc8a3077d850c29c9478c3c599b579babc7b4c21d88eacf4b2238f78301b66e8252536e3c83e9e4e9c52b50905ebc8a07bb6edc9d0fde4c4543951ed676ee6389a88a1805dca58b1824a667167bff4b75173bfde062583f8fe12cb5ea282533f2a0b5f9733f988816b682a067b2d98f15f5b003b258f85f09c473280a7d5379027f4dc5bc7fb722d90df788ce626f4f88728ed556f014956ded442 +B = 10fe850f6cb20e1a14bb4699a53b014347d84e1b078a9bed4838cd91873ed767f43ef5120e0d088c3065c041ffb43e788e4532c9255fc9cf315d293900c18f4181ce6c5d18392996dafc6cea5f1d70986fb2fc1036d2b68b333bfbd190fc359cec72acd0d25382bcf189af2991ae543d2744e9d2992b6fa29c14267cf6378ce172d681630c1b792eca740ce843aa1a05059021737e9f864d4653329134bcef0569f1c7d1852ed8b22f86d0ac4fef85214ae81726ecea88b7810a5a946590c4dc3348204baec25ff2e59ac2f90b755eb5838181d4db6a0d77abe9d338f8222d6ba23ab724e815b8b8c08a131773e52ae2ad0e +GCD = 6a3860d4c05dce55b41f3f19dcfc26161f6459ad3ddf161fcd8e931d022d89df1a1aef041c3b5324ca880f3c5966f8bcc63cd79c74198c9c6fda459efb8362ad0ad1ecb1f9fc9353d46f881e3b38dc793dfa2021fcf79b701834506ecf9b23553ef21211211345c13a41db522541ffd20b1bc27fa4c143dd1e + +A = 34789df833a4422e9adb9e8db7c706af8d39a252830f2b1760aa677c532dc2b92aa992f17cbabf7ef673dde6e46d46395421540b03288d94cdf97c87262f42e8cbcb07afedf79e269bfbbcf1b36375d46c841a1029df4531e883661ff0c24dbff0bc36df64a329afa5dd54830e2692620b7ef8fe04cff0a0bc99276bb782400cf7edc2bb2e566a380a6f9ba12fab753ebd1085ba40cc26c07d02895795a25882c57973cb6a65860d27d357c6d70e85498c8c11e3ecc98200ce09578b69c9c724abb51d4722f647f9d3dfd7fc79f771f5091bee89bf458570121942a6f0df4dc01dab09c18db361fbaef8b4dff1461076ca88 +B = 521100a09d6b38f256ead652df3ca43815e94f7138e0923aae22d9dc90ab9101dc6628679edcf7c747829d57c27b62c3ac4fbf97609838d309c84ace4180320bba6178d0221f25b555ef520c1d3829aa0054b5cd1d60a372df855a5d88741123ec67a9ba151e9eedad28e0439961cce73c31a1900ce6aedba344251c5df9b1fbb536961b1eb44a0f159ac47058e9557e12324c9a90d7df1f441d2d8595ec5f9cc8041d5086d42c1b376f19a327fb9d02b9f75fba80f516271498af7aa44d7a3c7e219fc93071939771795d36cb4235518db81965ffe760043b1de885b8662fa97c279400ef564689c83cbc283011fc1d7dde +GCD = 1a32bf839a0c1cace8996403a20d76da5458b1d69891b3442b4ab2abe8183428d6955dad08bfa9997a4770fee07defb76f0d44ce81383c551a7bfd14060c8e55d36c7f3ffde08a62433d114da74b4001a07d7126e7790bd13e565e75e2d71fb0359f3ca22248a5628ba0d99a007ae8cae70e559d65756bce3da + +A = -163979bbadbe4d08624685cc3fb5038896df186bc8b31e56eb15d59748e27fa3cdd68368c279bf501b57848ee15a11b71f8c95fc8ba6989bbf7fd45fcbba0cd1dc458fcb1c2b2581588de73eff27e7cb0c0d17a148955bda62e07a0a37caf0fbf2876577f24c2e924c7de43811973f240fe8090c8121731aed4d186863f03a17cbb49ddf48c58df56635926ac7813f7b6ceabb9b1c6f3af0dbaeb218edb5788ddd866790a33fa66635b3e38e50ebaeb7fe82c2fee7460f9042c625af314f19b437eb77a8796e3c42d162c36c773de3cee21e8639e7212324708c3fd2af7b0712f80e5d3a079ccff59b8e67085bf8b74565ca2 +B = -1563e705532fe7a1007a723fb888f62b18d963668f64a0ad76aab22ed27cc854959b93f68af219b46cfc1e24de05d36997d208290becc0abd92a23b505f42ed60574903740fa857c53fc706f8f9bb7217aaf8557cd8ed04acb0b628f512e0169b3adae4b4b17faf8eb4bb77080e5b8f78309adb04bc35f3aae94fcc9385c4e9b39cb2c442d86890aa3f079872e99c591587a9bbdb364766e2b79e901a941d47cc14a3da23a13408095800a4f9e7962561f46f7dea3c9b01813c7524a5980839e7b1a110419d4606baa55ac1ccd14b791b7ae513a8a89fccf4e0dd5e25e79ed6223f1ffbb9e8ca99dbdf249049bdf0b01f40b4 +GCD = 1c8633e8d467c40dc5ec4748768107a786110043902537cfa081baca652014befefe4bf0406f16d0754a0625bc3b0303944594b1f0f2434cdc785db7c6be8f2ea4194f360206b3bfca96b81b38b036bcdccfb3df400c8cd6cf853264d577f33bfed6a327bcc627ce3946858c67ac537649c2b4791d03a89d7d6 + +A = 1017fd8d5cb35f27b8758a9d558a168cea02ba7d1edb4781fa48387414020e5fdedc26404e2517d5659eb9ec68a750248764d5ec6db6da948341f981b690953b1220d58787528e50f1b7642938e7e9045dec1bdfd60b2e25e52feef634a27bd04818c5f8b4873afa9311f28cce262aab6f672f188cd0b10e13a082582e51c249b4f93c8800b1b438a9598fde7f5b101094ec4b2f61b72e0d4114732894c908124724bddc6ceeb5d0ff0956f23850f19a108a4c147565c6d7e260caafe73ddd9ecd4bbe6a02db6b0e7947f6349569e83f275457e935b0fcb04d85d5dfbf50b660895d45101a0baa71cc988c1d86a9804eb3d16 +B = 3dfea7193ee191dddbefec187107e53239517c601cbee0bf198c37604a66c4350a012b738620d70c704552cc74b0be6d1c689f04ce6ba07d99c201983aae7b9a09421910f5522460fee9d13fece90a859df2066e2edc77b4d65811e56f17ab1679f78a3edbbd6af94b92803087e71a14410aa143971052c052a1513ec86364191003112c45f9e04d19373e94ced9425893283e99684b8d816a46f9bb15d44c15b53429dc93f2c47903c536eb0a71d02e55086b40340af5584cb35dab557845cc3f67c80d9ecba4b2731202009ab27bc3ddb134859df51ffced2463679008ee2e740cb37fb101511f51298cbad5963897beff5 +GCD = 3426c6e901c7c93ed1e8fdc631827a3385117ba93d49ae53a2f18f1bb75496e6091e15a84b416941ff7ea9d6abb442a537913d211b36b9a5eb77c7174c0979439d193eed23fc532b54208959db652914b631aaa21e8ce74110b2bf128571985042b6fb50677013f63fadbbdb973a7ac5deba708d7979802d221 + +A = -7a80832cb129929a1a44e0a9d5cbf264db00e105427c34e5759c0ec01f7d2c8b86f7c3673239cae99f0d2ada96e4d04c743f997d1c3703505649c4009ba69b118f87848b25f5b8cd6ebec196030a51de4728b8003fe71fedb3e93b7b70e5376b154b89bc4efbc3df143a594c791b906e258b5a39a54fd892e87826239a5875e7ffe738d92c4b56642b59d2bc63007c2a87ae8fdbb2c46eae8121157aff6dc06475086481cac534f15d939edded0617c9a5e585301b0251aca7da99411ebe5a39aa90b2ad78832483394fc20a026aea57eb9500ded2424df97a3b32924a80708ec8ba218a0697292a57aa948191284e75c8de5 +B = ed692893d0bd3e7b1c3ab12946b4b38ecdd761fb42ed63308754b1956911c212e03cb4f8c81f549bd37a8b59e5b7fb38266a6f9397f83e8f66b63aefdcf27d1e30d386f07e3e86ca2dbc6588b02ea4fb8cda2cb37d3cd75cd28ab9154ff1fda5a2c05bb2620350b3d3f17cb7e991da2987d25a108dc9d10f5019ee9e2d588abbbdaa0608b2144876c5049c1ca00103e8855861fdd02fdd8b0be96768c3ba50fd1866fb5c4b1d7ecc819244af3198fc68351280991dbf077d1096cce450ed0b411d97d6a7f0ab040ebde88f20f8eec3aff9904779386cb1117b5da2090aa60de0f26f3c8546193709f5232705cc80d28fbbc39 +GCD = 44a20b3ec29c0b777e1861c53a9a89a29ae1402ec341351d46233d4930f04cb7dad56b37d43b9d7a91a8a3160f10576324670ebcc22e0a433a912fe355372c6acbe811091e8769c1697d6ff363c2cca7a2875027ce6e36a3d2d2f55844170e42f05b88ffb792ddc72c9411f87077a1083228127551538feb95f + +A = -5997ca5bf11ad822c7f392aa2f9d107d5dc5a2dac0962dec1f5b39c9e9471c9ca86eb4da11bf08abcdf3585bcfdab2345e1b72085826db1be4305c30654f22d7c5ee1656c72825ec8a9f5442228d6ed65f1b7fa1ce601da8cdb429ec820fc0aa7cf4ffd5421667cee6e3d226079aedc1b06485fa2be5848ed306848181180bc25829ba96f0d58d1a8bb9faf6963dab15e4f68594c949855eed4afa10a707fb5a349c4c2c4215664ce08491dfc4b8c4b19b5fc7406096248cd89682d444d1a9bba38ccb2da4312c60597f0ea4217f8e0d670dac74d985f9d4793382d78b532024ba87f63452dce34f8fbbb2815b802c036e613a +B = 3a4ba0191cba8bfcc18d6f4f3ab45d4267553c69ab14ac373c32f9b508732cb7ece15c6d93a27228573ba808897be72196582b7f6cd088fa56e801f73eee92dcc066de5077ead02d95a9e9b33550cc75337e842fd055e217bde8d881b39f637e6b571f5f49da09c839fdcc43d9853288c0dae6dd20ff2fc5561a1be56afd2a1a767b18af0be08bd00fb042629bc8b65368de6ba7722179b6ed1e97f8bed3d344cc7f7ba7406cc2d9c655b8ebf4a35fc5d1a2a63155fdc6d510aa0eb4f3947530d74ad46a5c809b29472c9159f9e3898b1d6c049e692243111e53c4a468394631daecc1640cc2da98dd4bba2e97ea836ec6b074 +GCD = 23b5c1599e4297f5514d2960edbb132a60a0b9d82537e530f3647c76ae92de592eb446a0a9fef50ab6201e4db8a77f253f449d7fbe916f3bc45c18f6d2bf1cce1f2176964612750382996dc015eb2f9e67ce426a25a155d1f8c6f59ec65e33d1dd9773e90f94db939b97e2a1888e468f6cc57b5d7236a9252256 + +A = 72470e00156eba5e1878fe4f8d45a181987a702b420cd31ad92777d8fa9352685d93bdcced6d11b075bbad00aea2917dce89fd01051f0a7c59615bfc6a8976c603082cd0b393f3a46da520d957fef9a5cd785cd3496d150b95c6667d8d0c997e572246d34e9a840709635d8e8c49b92bd885f26cef49efa03f1c258f18796631d8aab0d3a435e2566b81b742698cc732129cbacf9c1f9e46ce996c0c61c3f81a870b95ea3d4146c5721be6b8ae0befdf2f4366a689453acf1490ef77ba3b1da815b721ffc381b081061890903bea3586ec7e3c5d2041db523c3fcda28fd9e63077754cd143a6dcc0d7e95364e47c65b7b6c5b +B = -15c249bf0590e98bcc88b7fd2e899c442c5b6304257e931725593da7718454c64d7fd68dafeb9cb45c79a0335841a214ba0677717bfc32baf46d09d82913d64c210b1e50bb2668a903e23032fe7c2150c0c32f78d0f7bb7c424b3f681ca092f30cf7a5cf577fe718c415c2ba35317d791eef44e465377e55f39204ec4a0c573a008ee880053d6cc015292d1133677622b10b7462339be977374e8096f7f52d6b4b3e30c20a42daaf25788e61b072a6c5f4a2e5f8bc16dab400e6b6b30461c47f0fab47181c7a3d09da3b705d1a32bc87c4ff32f08da2c4caea914fafb7f97072d204f3801d643062f6fa4b2b78d9699b0d56ae2 +GCD = 1dde625feedcb23e81b13be86b4e8d051cf548f9264d2107ba5bd6b86dea749bdc630ec68d272146fbcb722f44f64477d15154c64a9b7093e7d38d6591401389b13946afe9d90424ce5dd079d047312389186c2e216400ac78a80f082181de8a9ff0dbd1a144838478e5a8a4e4a9f2ff8625702d887aecd67879 + +A = 384e80968a8064b47035d52ae60255ee091789dfbf643498d6af2425a36fb8c818711b72ad17f1d0b19c682a726a7f7620bf41b61563835506f5e0fb63cad7c9bb779a7c8e50a44a87ffb53c6ebaddf60c510dd90761978ecdb2a1a9197109220e65c4aba6cfc73f69e56733a64eceb3a2e1ea060a0f1e61ee40524b028904e4e00a2c4dfbe51eae5c02d0bc11d1923a503e2e06aa911096efd6feb75f17f870b8a201aae68eabf23e2dd27cbcd0562390f6163bc73ef514586a190ed1a0629754b3d4679ad0f70bf018038dbf24716ccd84f3076d457de1955db88217b3b3493f764c2aaec7e3039f14a07f56984af22d807f0 +B = 2a76529bed94bb1174c60d5b8fda44af805645c5d222d68735ac55a2fd4ec313fdfbad2034e308fdd22c2f275199590b3e8362045cc9833005d303367628846b5bc55eaa93de58e919cdf8f5d7caa61b2bdbb03eef5f9c448d2e10375bc7a7f8b0828bf7220b64dc4a302cd3c3c5715ddc01ce4bb2206b7186a0f918a3e56d5b581c02ac5c97ffba587f7cab6bd87bfa765edf1ba77440e67e43b09ce35157e0e031d0f64570b54d09843d45021aef75cdb16c9f184e0e5598bfd2d96a1cdfcd194b7746c84a315afb408e25f1c24369069c1c6f56a4f8dda9c5da77b051bea9ca6682260d12859af944b0e56991576692063a0 +GCD = 4ae7467f979b4891e7088de3f2580e880425f8b12f3897bd77ca06d06ff791085b4db8ac1c7e2caec13253c344c061693b1d09f97a51881eb2e85f9e33deb48794dfcf5a62e19258c2d7f6bcf390505bfa69e85359ea991e21eceee222e2a0604c33132d824616609a167cd93bf2b12c035d51edc5caf4c21230 + +A = -16f4207f86fd2ec8f63291a6f6fd7fa7da587052962071251bd0f8ee6cb32fc07aefa9f100e7c308f5b75fa507b7e4fd4d14e24fd073f3367877e64ce46c56ea65aaf68f74084dc09257f1641350b38d0930f67e4187362cc3b731f77f3ccd60a261c4151a815a8714265f8105506e5e075fb82131bda64d8f46015c98775c4c77c8695d1307528e1e133d1e0e2306f6e7789530f089632e6ff7ece92bf2a553e2d0c3dd45ce4a3ac2e763bbd99830792edd5c2a34305e4e8f889de59cc8d63f3f2ef96eb89b7c9ca4fa7f1267a0f7cb1f39308d17534103e89a403fe8be49ea4a3c46c84252d9a5eec50b4a5bdb6ae927498d63 +B = -6818ebdc18cb717eed0dfcdb81a1207c6f067c32bb4b8b410d0855e1b96e70d22b05be3eb462319419c6dede364bb2dac98c62ce7cc447104a6d3474628ccd2a0439c8c73ed44faf3e9662160cd6591b51dd5b6736f0821ced838200f5a21850852c2392e65a58fc7d40295f46391f48af3b0c0ca04eb0b1d118187391cafa117cc316cef2b9779f3f417151ae7536f4271cd4fa4e74106222c3294beb626c21c00262964f404c409f7226b701f744f301edd2b4d01cf2a3e107285c3bd669766e10fdefdf96cfc1b5335399c9187bc42fec3be01a769c39b5417458ca82878ed875b8a7d21ed4debb71122359e2e452391036e +GCD = 7281aaf204c1ac8866a48ff86eeba8e69b753e17e9b7d372f64ad7dadd2360f06e5a960bace4f8e23d2b2005a6530373a6b8557e885375f2378b1589f57f1ae5b059449dcebcd91c9978169975aaa32664404a52ee05f5e115e073355f7ec5a8aafdd4030a0324c8110c0c48234d6c6a7adef4ce057bfc6c8483 + +A = 29cfd25415fb471a4e60a18c729b804637f53057af3d708735eb3a9a0bebd41d77c158b4c6506899366e6b6183830295ae3851ada7a459c4e171dfa200d83490c396e4cf7f6e8c9d54d6f49a9f6e2eef69c8a9ab8aec8d5fdb17669906af0be4821316101e6dc2480e03ad8e6b8104dd0eeb3faf0bf65609ad103ac43f5d8dbdc460f48199a47073f66e2dd33fd05311fb424a5fd81fc48d4073492b27718927c2fc02b32efd21dd5694490a88f43e7e5f2bd3ba498d53a6395d24ad1121a62f76d23442ef2ea467afaed2038984af9a6dfe1925760e7ddd4a535f1342b60778acde2e317255fee54ff7e88f0b3dae25e8b5f7d0 +B = 18c5f8cb81371d749cd85a869bfc4b6da1fd988e629adf8b9f9e3ec77150f7f8e35b9aebaf5767e1f7802fd323e73e86178445fb3101966248e0d45607c251c448bbc3b0d5aaec5c687bb185ee1c09819671f0d4c449409f351483e94d757e563c66c1940529f982c5cd180992d10a8318f7f54b0019c0405f57842726f0bcdd9497d4d68632664ab7ccd44eee532b3662e0fccca27224bfe222e8ea37d3d0fb1029380ea67f67c26a5c133afe7a5581e3705fc24b4408817ea455dcf0549f947052d91c441b454dcb25691facec66f8e3a886041b8a932eb18792bdc1b190ff695a1eb2e2400265472427854656468bfa121e64 +GCD = 1165812c9b00faa32967fc6a35674c8410c110cf24eec4a02ab4f6e44e625f4f2c30170e9e111040595d7429fef35349cc7d7ac47c4d22aa636ffbf39587cdb6a5db80bfda515b76e16ea887d8f51ef5106f2b46341b89bcc236f0cd4f6a7f2413d95115cd884ab7c1f57cedea01449e72841fbc7c3a07cbe797c + +A = -97d2dc5ee51fc2a949d83a6caf4ee84ece160a0ca368c6f5c01817d0e5b9e512fada2e4969649293b90106c4ca44d7d9f729ca1044560337ec7d597f22df82b911ddab0943b7d3546857637279211b748d360f7df78831de0948b3eaa7858e0d340d3c88493e684b2674a07212e33568806aef9ad69a9779212dee3951a9120325ec8d94d599c62f307b352e8ab0a21028d7030696968850ef0ac4f6632af0e5743a9a9bf3442a2af053b2ac7a2f7dac171a2bb355d060ab4b71d5358ac35fea5bfde10bdbd3d41a205e2dbb735e9ef6619b941fa71732e041439668b53746fe5f37cbe66761a5464f1c832bca9c1e18f4b8a64f +B = 169dc83c1a986a0e8f03dfbab56018e50c21c99fd9fb3c3d2e550eaa214bbdf49646c880453b7b24f87033250ab20438d2e570e2a787a2b00800f71f1bc7f399964a7a64d5f178da59c1e6c2533f6c4968145886a06b9296f6a93335adbd3797322433cb146eb04407e0a36c56e690f1da5ede26410cb50c4e469e816ae7dc12f41511f892b4327450345ab74f9755ef5a1182f89a9074448ece46978c5c12fe61a4022d1b352ed4c768f2304ea5b5622e5c31bb9ed7aabc972c560a333a86ba41c8fa803787ee8085c4585d1346c6165a151a96a8b2d9502d82dccc32a5aa8c472b8d91a9486457f48665f59f88a8464f90e7481 +GCD = 1eeaa67dc52b75fd2ebf04310e25e1cb51f8218d61310fe40b51f5ec981d9605ef0a558a5912e45a8f1204f5e9c7cb9445527fb8e975426ccf7e73495deb00a02a7915fb98cf385b4b08d3d0a50212321733a8088d5635ba2f625121538316bdd0d60690b5eab3936f55e41ab154ddc7a55fb845e4545bed59391 + +A = 56030780c03be379cc6a1b64cc45b954f36eeb201f74c3f7b23e42c68fcb4bc030dbc28682ea56f3f8c69cdbcd8c14b12d12253aad0d26a713cedea590f8cc9178790160b80e4703736a8e0b9e84364ad5dad25b4630c33fe60ea966d65af4aa205c221e6aa4a246599528f14200cfb67043d808bdea60001c7175870761ac95088d591422e7a8f235c501aca8d4e88d5a0cc380d7915cc8e5dad2b296caeb2a34c7107f5910addb86df6322c1acd5826edae92698aa84e54184891a528e28d60e4809c336382ef88d0776791c8a5c1c5b7a8aaf77394d34c3d6b29a7be52810b42d17139100f727bf9e2228d358386b177034740 +B = 318b1c18bb131d73b2f505e2f223667abaa2bdee0d8197f8ce458efaf74b470a1cf0cf30b052d9e71ea10e2ce97b93705b7225046142e99e0597e7d7002f296777f37f08b1354ccbdf191f60028ae3f5b833a5eb6373bfd4fe6ddad73d712ec95a87278095f2f35ef7e9fa46e379921b05db69f34474bfe03d834db03639678a271a1437e708f887630315595f036b2ea3613bc1a2fc79685a84b7bea5f6812591c037243f2946bc3b48920cf5bcb1b967eab8b0bfd1f66cecd7c02ff9f09b906f4c05f727e940f7efe79d7824d78d262093a8bdc957cb73c4317a74fa951c023f8c9100b9f8472af46d15bf0d787977f1f3f68e0 +GCD = 7fdff20a53bae9756728abe67d783fdddf05acd71c9e3d51d4d0dd492de950fac634f8f7de635539eb9d2e77af2526cf2f09580e568fc4d7acb5a306c09caeeb0243b96f77998c92458b757b15d17473bdf3e90dff7194a3459c6eb7dc5ec075963b21da313bc0b0abe425751d49f803fe9aa86deddc4f6909c20 + +A = d94cd11d2a93d439eb826087f195aaca42b0b9457becf1c7d648d0f27d11d5f3e64c93be955d129e7b36afde711ab97b9a5f3a4b209bac91c054e6bfd11470b1e8454ebd6090dbbc113d2f5a8c983272ce4c1b93c4f20c161cda14113ef2ef3cab9e1520dbb1894d3c39640e312ea04e1e3c622b9a29dcd0f2f0d42286cea76e53f22c464f39a7dfeea2898b9fb75152032897250e5fcd85722eb8690e1302e5b7fb475c741bbf2a0ea6c57cc2cb61bec83313a2698511a209cb69f0c0cf590806e15bd55e41cd7affca36cd2d1a3f99eda1b8e94eed96b4b18809ff98705be00c900342418b2d1f60fb0bbe7d10f1937897f30b2 +B = f995dd7d4cc178649ab3a418a536589feeb28406aa5e3d96e4ce9df5b392094737d5f8637b19d9946b1de540b6526b52b5980012910883c046d0a4be56c9fc4943a7249617bb45ff11bae3a497fe3b0de10f9ccb635af35fa21b0e00bc778a161e07cd8d552d71b6fd6f2678833bd593dffe104a00dcb377c133b115ebe2477a128d30f4d07ea73c541c656aafbf6d4442eef998cd55fc6b1f457412634a365906ed988483aa9ab684cbd4589a5f7616d84b4942e0f6ebeb9ba4e2807f99a691c370f43bb6adbfdbee4d5d474b9577fbc8b46791a115b0f27628997ef225fd26838bb9ee872605845e23b08c2bb41879c04a61794 +GCD = 10da41d390027bed1661f01e09d4d8b3db2bac9993a531d5756c999cc07df488c3cf3772dd2287a56eb5c6865e56bec0ed991749a4ed50d16d6d4d741c506f569308fc2a3c7ddeb908889e6c92e78d32cae7256ce49cd6d19e4b81aa5132a2f061d6ae9bc44750b279a5361a4dfadc064384f8f4c4975ed7499c406 + +A = -3df39100c5b407c55d5ff7b9c9c916fa195c722bb94e062395cf666c36acacb0b7af94d8e41645b0a89fb25e0f669ea70416d91b5c5e7ffa7553167c23515e0ad57ecd4a7bd109cbde876e01d387dc4980e52d370f5e63828f9a002b7762b49342420d9f82a86dff69d90aea52a08bc3e458be2f25719bd41bcc6ac959075687f8a2b4242d3f890c3aab83f1fb3675e5041fa90e202d1f7d38dd296ced17ded8812e0610884954d23acabb83e7e10a66f482230d3b1d2d5499239bbf6f5b79d589aa289f2b608b6db3caa8a527838b58c67648dda45645d550ba7198b8107effc92b7ff7a73ecc6efe4f4e66f803c9f8ba8ebbe2af +B = -20cd74c5bf7860fe7649ca029fd197af9ee0415850870f9be6d8498d4651ed432534681fef24e93f8d8dcc10eca8317214a3920fbe1a0c96d0f9bfc5cffca9c8ea00a33403bba55e40c5bc2d38392adc19f36d69af26d9ff7f1a0fab8c0fbf4b9c72116aa2e5d581a0b719db3efa14925ecd3d5b3c626f266e022e181ab968a84012aecccd64eb8c0f46b4af50f0d2f2305d4c3887ceec9cdb4e6c40c48995cd10b49a9e6eb2bf57a7e830f22c01d00e0a7c4b75074cfd7867f8af858c791990f897111638fb50102bd6065c403559d46dc7f5214d71a86f0160617cbbd82a81c1f0ab84896d62e2c95733c3e58042b82a439fb4cd +GCD = 96aae5ab17bf62e9806df66b53b142c93d7758cffe62d830ab75ec3b606f25bee4238acb6bb318a734b838286d8595d11d84acdd91e3d139e132e38622bb69880ce2a5679d9cd5aaee8f7c0f27532e7689cc9e283bf93beb95b3177643204b81b76a4c03f2e3ff1798e5f8ac9716868dfc4b728b3a139fcc26535 + +A = 1598fefb6de3ea095576e4bb9c5aa21581c5cbd07977be6c8bb11f5d090553d88e7d9e1dfa0cd2605a4ec04344e21aad6398d8ffaa243ac47d18b3bfdc39aa1bcc62919516c285f4c270025a38c65916af539e2e9f85cadd5bddb356b03c450d70c32528ad449dcc42ff2bf2d3269d6d2ab3f9792af69ecd8161119dfb37e53040eb1f4ef04b85b478db0547c63fe6a12db86973671e36a728d17e7efaee5add9d5bce35270fd060ebbfb876f2d75559b327e9adf6142d74eadf3c106d4dc9ac9d2bfae3c65a6833a7728cf30456b570ae9e4232569a4788574a5546ce0174610a2ad2fa739b6cc8d531a642af15a6852398db70c9 +B = 1bb8c6c15ca26e0c58844b44bcaf8eafc0aca6b0b324d8a33e24fc61f02165c9f642eefe05ffe2377af7935551520fc0ad1a75cce57417866a753c13c726676662c193066e2b012097a781a5e41554f4bc260317f378eb6336b5960b62fe66e6cd47dac4092ef0469f62f43b2f6ee1989b4e63f035763cbd4fbee4b490f1540813226c8ee423b40a028626444ff9c0417faa57029c61795d1f080fe81b40532ec10de84377a786475be0c025e1b4754cd59d847e4b1e535cb22728239039b5ca3fde90d0f30fb2606503d19b24a513a2d653b05f2af9224c51fd2666dded815e1d8432b7d2093398156941155a8b3a737230aafa683 +GCD = 58344ae83d285583bca65018029c3d7f5aa0f867d4bd4c00438dc9d20124f7fa23e1e67c992a071346a60c4c89d1c499e622a2dfd7a40c09eaf0d7d0a452e85d5c177ddb312e55f91eccc6e6c332d6cfba9b7f39f4c13efceebd79c3edc58faff5c7f4d891f5c5b9a0977903406c9ab157af2d2ab9a2a450dd5b9f + +A = 2ea36bd4f02e5b8a759792a825a953a1c1d05e3b436c3f1dc39fe7da42098d501cd25ecca3f383e167c33b76bd390d6d91208b05b856cf4364adcf020aabafb8db943a077b74f152cd06c2a6aed920063fdb6fb9a5ff7f66ecec98d4e4d2e6e2d36f22caa968f61dc2b13a0912ca4c652ec559a14f19f47e49d3babea9a45e1f8df10d5f13dabc3237caf9317b00ed3a9841d91ee2692d034e39c05f8ba3283de54e580e6df70b3c89c58c61f994b483a8256fd6d9d66a8ed249f461712fed7bda784ddd412d04129fb98a9b0fdbc0381c0cf28648aa77dd7a17d6c5e1bf7e5c06e826c79de52affcdba957b3b9bfc0addc4d2de1a8 +B = 1859c6b6891744e23f0c893d62d88564026f092a1cf9e766575e127879fee0f2b3b3ce67d2e6eed4b10555dbd023d658f4ce94a0fff0c38dbb80fa9d24636b04abda0450352373d0590dfc13cb2bc49bfc25a6b6cdc3b23b8c93b8ea1e7035b493465bf95f02f62d0d35969432654a568320f68b05ae713efd6706d943ef548b50ab16891f07ae22615972ce2f6d4f516b6b41271fa693e7cf0250a402857f6cbce5dd31fd3d7630c7f908c7c0b806120bcd0d2c7ee7cebdf5aca552fc23d9a3da054c7d1a29bbfce48f15c64994fbc452b63e1d2a8a88cbd018bec033ba74c700a78b6d5e887f62b6e0ac56c97c391e140152bcb40 +GCD = 31274677bdcf02dfeff976b2e1d78428c48f7ee3c3cb1a51463ffa6e7272d50ebda4bc24c22166093389b68bf81aa8ca33077aa9bbb784dadc0a009edf35f29a3ea9e4533f011d612edc2c542bc0eeaa1c0ecfb979b68d2b4f0f11faf6cbe47e507a5e27303e9dea8fb446567051c8fc7ec784cef2a44386525f98 + +A = 10c6b8118628c5e16acfb4c679d1ef7f8b1a3d9150975da2232e887fe4f15ebf2facd5a33a6e80a899069ad96025578cdffdd463df0b88051125001b70d63595d7595deec99ff29c2093aa5dcbc0f82924381ddc8e626891ae05803180a64afbbd2e50604c95d6ca42e31c9f4709b036cd5fa55fba0375e8b408a0273896ad00661b8d104f03faa7fbbc76d440d4f04cca302bbcc91a1144133e083fca1481b5362003edf44f28c9571d51d23b845db014f12a2f400d87a98f5e35fec42510920960a9f9006eecd1e9209bf3acf8936d09ba0425023242ce1e79a3a98c9337f4bb4b526f65a61903afc71a6de91a971045c72d4c55d0 +B = 1082c0641174a2a16e4997fba9398bc9b384a2f748d6623110ec42f0df582fe9f391198b4db07b7caae5ffcde200572d85a962bd3f91db6fc318279e16d4e863039d98fb3efc4088b9890639448c94230571558fa1cee119aeed99a5c1b0af1bdb4683512e40b93df0cb0ee42ef873976a6769e21984f67eba44b8403550e7a4f69a702cbbbeb23673beda4d71f4105766fb148f29770ae372deeb5eec480a6f7bd705a71028f0bfe1dd2b3131a0a3a6d79876d642eb57461c1637ad3ac82c83fef2c70ef9cf0e0e7f188faf93b239cc9af2f2916c9da3802e1a02693f940f9251386f3231174db519cdfe74ec386f1df4d2f03ae518 +GCD = 66bb753d8c7cf7582527c0578ee1dc0082301dd423651f8f6e258d37562e88cb0b7ec75aca3ea1dcc95397303fded4ffee648be4d3edc749530a4b30934bc44d45970d84685b49949f16b871546bb6c2c3653f7ba0786691b64c4e90ea7f3f5215d7003654646f622a28d794485564f813c6e68f9227f93ba43ea8 + +A = 620604644f880d374995edccddeece0096be15aa99a6299f48a811eda41d6550d820f23aac58f576f399fdcfc2baff7c2be3a0efcedb4bce05e15a833355507be9fb6046ed475acb5ad43be7541371868ab5356ca5b250de290c21f2cc35e1b518d67f53af96221ed450e06eea7e684df31629406e29ad9263758b3ffb7edb41ba0356f0db13b7fbf2b4e0bfb08a70bdf2c133e73fbbe7026132a6aab1ff87b7bebc3ee7b5ebef294aa65928a157e971267bed0d9da98d2bb530bbc10e759fa28512a8ffcf603a09b4406ac1d28b3198d693940acd463a03726122e2e65534592c78fb80ab7e29ed74173ca970114a60a71f57ef8d1c +B = -611ee44ba8bcb8207f3519d53c8333d60d0d526f7c5921895431dd0fcd9be0c7e11ac6d69dce8492f9c22b3b98cdf14dd4571b751412dd915e3c6ab7e18867ea88b70f6c660e63490b809d16d945203e20b09947ae189a3a75f92954f5dec36c3415403c56dde6bba648d9bbe646614b9ce6afb2c1b47265e4b260b64beeb9443df63892fef3a28a8174f3a2b15c158173a05c2a296b8dfcdef4707bca0047f330e7dfd51bd14a69680f2c95505caff1c2847e45b4c3641b0979a1f3325bac6dbc8181a63c94cc3cffa8762de46a2f4546949ea7349f8fcff15650f0f5fc7a710112808143fe70651053f11b119ef4af4780c678b376 +GCD = ef1d091fc6959b2850da342e0d3b20a0ab96b7e1d651d2d4904c01d4c706da1f271893a718bdd2d15b6e282313e1bfd3fdb4a3241ce427ff849eaa1148669ac719fba88c92245936c61205949a7d19c09642e7ab74c9e887d37e8892d172b584dfdcc280e636096190d27212585aa2741548d4a0fb5f2c1daf3962 + +A = 14996de930ca62e6cc5c6d9fd60cb02712416170fd95bead3a84a2ea2e953ea210f41038800c1b532d9901b2cdeb5a7f4867d6b1e3b5f269d1d300ad4f637162e62da04cbb6c286ce58c9dd3a85acc43d68827510aa45f9349227e2ffbe29950cc0e9e41f0d9a46719e691f605694b8a8c93a89731bfd9264e5f95124ce740c5e6d1fc0d66b0b2c8c5ed37244fd901e35a21c18e9ea2ed052b72129a344dedae884d9154c8702138a16575bd0c84b5068fb3252fc0654179387d3a5d6e11beb1579f52ade7bb99ee29d45cac6a3b57091c3570aabe58538afc4e50f27c614f78ebf25f965ac0b2bdbceea3c8e6611fe98a52cb0ac672c +B = d374d1db5c5a34e428141401ceadb25cfbd583e15a8f1d8c679d3fde17548aa9350010f01c4f21db0aa29c8d7754f71dc315b4af4fa8cee3a7fb2eb0b6e671dceb3f79174f71f5eb5c5dbacfd13d1cc59d95a22abaff6a83a4086e1bc526c774dae63b05d18fc7acc7ea38c36c269f75cdd01c9d4fb5fec8063d80a1c83f0ab47269e482c3821dd38576f79d5c4ea98abb52291878edb71f922c583d194a399658127908150116670db363dd6ab8d46bc1d369c498e6c88d20ab17c88cba7f1b60c4e6a746294fae41a4432490cbc2d461c2827159de96258978db6196a6f6eec25dd5ebd9fd4bc14d300ce5245bc9b43b8e44fd197d +GCD = 15faad650de43b7b5846090c058e476891f8a54fbcbd2678d0daa7444c3f80e1e8e30d6796bcc805b64417b8ad7ee9ec7111d1cbb0be221004b2d900464b5d4e141a4724beaf99287f075d12cce0b669feaa6849918788a88a5e72ff2b63aa98c69469db513539e5bdbfae63ef26e24566e9d079546994783cea659 + +A = 12b8c832937b80cf0dcf917736905c35e779f5a8e30ded922d7fd15c0b3c29ddfb3ac7bd462cd0773f063d0ad3ad4071242e3c38ddc0586de5c352397f235c85501c649afc9eeb559a1263dd9c53cbf70af9bda593162dd42cbbbd172202f05d02bfc5e7d36f6f3b4a7a5abf46b9f338125a95cc966ec461837c8e2884c2cd7fe25c311d84324a4f811d5f99403b92a8cd56dbe5d64f94372f224419d864b78f4fe0527bc74fcf2ef6f1fa073f49e4123e4920ec2fa8439d8b63bda06e075d3a21c0d300ff365190e428725f9c1521736652df0c2243b3103d3ac3be94c1d89b2a8d8a7c212863fc709ea0ec24f67755ddbafea7814ec +B = 46db9110246dfdd0b797c12445fff0d56a0630dc0daf5d5fee918b5eb115b944665bda3569a9bf4a1619e5b8f29683bead704836db96b5d599429a1f615e205a7e8fc60156cdfcea88e2ff2e9e9953dbbf8c920d860da619ccffc364c6dfd75ace87bbc2c4f819f5d164336c3bf9e75223c021cc2bd10a82bcfc44e8d55fd5cc6c0c6de6b5026e6efe187f83376f9771020b0d46f68b8b9ce5ba7df42389a05239fc62f5f207bb0246a4d899fc6011c69b3381f65d776b89b4dfa4e0a821c8eac5605bc7b4b522b72d6e1500560e8ca63b1a0d5035d4333b6e9f13394e9d6b9cdfe5e0b2a300e47570e7e6bcb98ef4028c8e2c00a78d9 +GCD = 29e6181842b41588d1bc28d9f5ad68e08bda98544926c98b3a8a12ee5139401d6bcf9edaf8b0dda1f58f4da4c987b2e39bbb2a84c02af78c3c6e62debf76cc5f459e102882941f1f921dd043e6ddf6d89ab4cad742325746c4e4d3a1a6b800090e294a8659b49b78edf598035b02351af351c3dd77596073ab84d31 + +A = 427fcbbb101796dd6c979821197254a4b595f54f08f93bac183498ebc5536ee8917cb712d2b00648c4aa79f5a05e1680e42e3d8d0bda711c8373d11151845af88b0a5cab9c363a5502b59808570b94398ce0d8ec3e15df6330a3cb3752704774e70838af0ed7e925b50b5bfff0aeb26b6635e1c01ccf42bd7938a23072c9ae41a7357df6aa8d582824fe9812fe824023a148904005b7eb5ad26a7bc6e7ce235c85cc71730ddedf3a9982476609fb206e32449c7d081af1df8b918667d327215586161409b85cf662f374da6778f5350c21c3892f67d5f7dc432d97ecd2db44e4522a051feb3f26adf19e2d781e7755c0224a38b53921d +B = -79a88c16df3d5580c9ea20533c5457884cf17f8cc4319081b563bac995adecafeb446910da9b6d3da2563be5684a0052117e904adfe2d414dcd542fe75ceeaec5fae62df29b566094525c9214adfa3e07afffd42fc8bcbcaa8ba7773823a733a1fc3110d1d34ba4ae8da8f145f48e0b1c43ec4c45d168ad760c125b937d8bf75c7e9a6e30d781e1eb6b68047406d65c18a9c351c43f46c06e66565b27bc2c8a3321faee9444dad5ab79430e5fc8f345186a8b741b70b041d320a10ea6dea29e27b37c532123c3b8a04aa2977b08ec73590c7ea6e40bc89a0f34184c9b5414eaa60128e518aaf0b992a3d02af23d44506f90a77fec3323 +GCD = 512893917572477a865e5604d127d3e6c85d65761e2483d4b0a03cb890c745d1743645fed873890e8b3d1be655965e01cf83bcf1335c3d8b4e47e34bd514f1142416a6e44cc4f9d76d2d1e95cfe8d6cd76b01575c38e33d475b0996dd236e182d0292c60d401b88d116fbcf9bfbb467cc4e317b7639b6a659e28a55 + +A = 16cf56a31493c21efcbd611e77f0fbceb65bdaf00220a6ba5ed99bbbc354756081a017473f2dbf8419166e8276260361fb9ac79343ccdfaf52142f27069f7566abce21c95fe06fc72c389f2d57f3f14aad0cd6e21f732428b5f46e2415345c2502c5229887285a96c1bf50c8dde04a9ff552a8542b72d16d9ca76ff6dd56b595a7a91db6c008337658d817191ed248f8fe221268ada212706b1501ade8a73626ca3b8c3db4460ffa625d6214f5490a62a9646e7693f651bf8c2c347fcb6c1975ffca9224354371095e690e32ea159ea7784a0c44953a9c3852dc18178ce48e306f2e77ed2235374cd19e62c0be21509ce2d6fd774977b0 +B = -60e7856c34622eb4aff6d8688873bf32cdf8893a831ddf7a0b411cf466f373deb8dcccd7effd3a955d2997de249d65ee9141bab3a0e17a05d69e9f8f6756820451dc0430241c133fecad26e22762c26b658c51d8c51f122bcfdd3ef83c2145bdf1c35fc588e6a06e0749c9da7a158f6cf18618c211cfca118e5d3233055ca294a9364b30ebd2a9d76fe7bcaede8c9946fb1bfc24557d1bd2720d60db0ede7f8dadba1c0d5eebe74f7d92078aa890f96bacddc11cfdd02d3a1db2d4188a1c3ecf4c20084f9da1dc95fd06b67cf1be41e0a02ca966d7c6f30f4cfcd81a391b8f94f22ba731f155762d23e5f17f14849c0730d9d82ddc8436 +GCD = ec994cabd5fd90689244aa42eb5443040077ac411d9cb3c41f0fae8eab242130bf77fac3333eec704be32b4592cd5336bb102a8defad40374783c8362ee55c7d93f38948fb0b378181a803053ed7fb96be3f7083c238b3571f90d0c7da9457e6ec84a2ce52cb05f071d6bc904c611075e75154eaec134715af149a6 + +A = -c76821cb56fa19feec6de64c6d73da824bb9e93fe695985680ec3190d21b6cc79d29f9a6d0ffeb967d55ac43a501b0cfcbb53cc060cadc0fa5193a1a898a12b7b8a1bc3e14beabe4a8a2b9278b74e9484474c9b9652f8ac7a441610291f9f88570c40c5035fdd5191f4ae4690c47064b0e237871e22495201906e7124613b87ae3cf64c38b2955fbb38ed93355a14def279ff27fb6cd80da85e68c60da9294c863227e6e072e53a1c650efc8862221d7179e2863bc25c3941b82c90809bd47fa25e2764c2afbf03f86b8a2f6aeb197063c18db559e5715e744a1bfe7a54a66d26b613bb6f37f5f0bf5275319c4fe3e6d58bd19c793977d +B = -1ecbd66c42be57dfa52acd2ca259595ce9d601616c429940a4a7189909b0d63d9de2f5e60eac9693340b7911ba567d6a3fc2f3f937df0d883b906df4057f6577311a8d3664262eaf9e59968b873edb4387c3c7c6b60db6dde344ab2d128b9a4da735a07d4540961a113cab9e1cfc437a206d8f2e14992df6fb79f3cbfe5b60f3088584e73772d6e3618ed6a3bc4ab5910e5fee0cd9d1b2c4b2e3b73e5707e44b4eebc8fb27b9ee136c7d9aa00604317808784ff15a0ccc6759078aaeab09454ab9a3896061687c21be71ff3671fdb17df9c9834bf5c63674e6f09ebb8663803c13bbdc80bafef7b6c2c5b3bf5055b96632ce33d720a7667 +GCD = 1fb005228170361e8b951782c67fe3acf0654ead7c6597029b1298c7d782c06a41aa2d71cfb3cac6c580d801deb7aabf90d85e497ccf72aa373678eaba3865c798fc3da6bb0e9e8ba741ebc3c980c4cb1335cc1d83b5dd33b0eb4a91ca3aec6f33681569b7c12149fcdb3b16e8c8017c2cb8c711a1d96d76faf4deb3 + +A = 437a2c2fa137da861036c4d9c50d5fe39be5dc00a6f8cc0e4a0b6707c9c830b6ff19b6fb614caf965b84619185ad423194d4c046637906a2903b8d81f8a8e85bc3d8e98638b4ac9f670acedb49d2a8c412303e91dd853d17ed570df7e4de88a929389d92790d6911b042867ded73273040a4d0fa78dd83baa8b34eb24983e948494432695924761df44df8fd26c05144718b90560927233f118414cd56930d598b9b242a4328df63156e07194a703908d6743f0d0fd37e5f35a0dc01cb3f7593bf62afbf0e59735f09f57ab3023ded4c7a76cc6af51956efad253dd7b41a96613955fe02840e48b8fb8b17d0f35af633d6c170f4f9b6eef +B = -51ce55b7c836028118d2c8af455c7708f8a87a5e8c5a5816da246120efb0b890205e128c98151c02910379ce36bbbc71f49a7804b1e588b3a50654ba85751949057fdef186b1c9091dae02efc6ead2cfa758232404f0daf496a1e9c454ae3f99db3fdccd067a12a654bfcf66005509310efa7f7eede9222218a7c2ce884d2e6d268e02cb466b3b1d8cde94da8e844869fdf8188e37dc5ff633ec45421b424faefaccb85b5f766b6eff516711e1f2824c257651bdf5c3faebc25daa1dfbb6030d1b8b6253959630f9bc5c83d2bfae6efcbf386c008e1f63b137b3651a0a954835980ad572a91b96472d20a6f554a67965e62ea2427d26891 +GCD = 3301281f6cd418783dd371f68c4e896dbb8ac070b44bea3a37297d613a2541c3aa72b80d23ca0dc747f65679014874b66bca6fbd8ade940b744442db95aff5b714a1f8b9b3202c16b43532dde77397b4aeff6229fa5664abc42fd5b96386f41adf41000a3b261bb62139b4d603257d1141bab7e43d55d57929ae2bbd + +A = -e2f3b6f0f996be8c48baccf202068b8b351ca086da7b77339401a937c58ef7f2397d4a5dbaa3246ffbb6a39caf8af14801a2b2096fbcdcc9ce7e7cbfbac5b72086c7c8474398d32c1e26fef5cb30d5085be03cdc0936e99fc8d65c992bb29d9a3b40363610d6aa37c1a6d9cf527de33333fffe9ec4377b54f451477837de6f832c3a2f9f714dacaf7ffb753f2056af4ac45f4f393a8efbff6a051e37d7b5b8c96e5c29dcf707f91a600279b577458e77eae16974c08f605cdeae415f33e4ec04dbf73c806f38d371513a0919cd86e3ab55fbd000a266ff556177d4a8682bc7b9ba0d8be4b56e0074c4c4d984d53105a3a23e216c4a625b1 +B = -56af57e0b2c7c713508f859342dbbf56c25696c492a9fafea04f6e89f26cce17f139861c5c0179fed39531647eb9feaf2040d4745226f387d2bdd913b7e6246417f7893618bc52daf2ffa9cbad83a4756501a0af3c3ff287013ed540733be09f4e2b401d610a913f5539dfd5a291d04bba1e83e5e4ce4d2cbb5e358f5e0312a58ec5da4f43431aa26e77d572daf5ebad6b619a7e468511d57782eed5e4c4880cbb29476c679db0d5f2a2c4eed35b0408c6b78eb1a337a603ace7d16cf0c30a6862526b47bf44ec45277bac7baf1bd85c642c08a851c2c15a271e3e14c78b2a97ee0b431494701dbb31cba8804dd198382e0d26d55d00910 +GCD = 2e61134555a6cfac5c288ad9a47377b50937eaee240aeb9de35422c3188d65f90667bf056fcf742d3c92e2b7c9fdc71b0de465712bba3229d8419d559da2a1a7835ac27d25f4d61f16c1902f2b1de60de63d08afdea9ed959503079e994a04a65a85b66b51f085d9cc4839f1232748d6881823da710e1e1ae8cca0009 + +A = 3b7c2d16177b27e39430efd11ee929fc2710c967fe5dfd5a6f7f8176734fcc6209ed64d551b2c31be45b16540d11d2bf56b75d0151da5ec2e1299c9cb64558cdf62e158cddc57a53de6a5afe95e528bfc129d16b426a20d48dfbd3c8c2d0e5c6469b0de58f6b9cf56f1c6016a7a4f8f0f6c086ad2d0491ac49bb93d24f64de4fd9a024fa2ff09b9a22b9c18723e118c1db1076e270a8d38be2469a580e8d92781e51ddc40c8f420a64a169b6951f38000be1344d5decf59a0033bf55b85ef695d77aedfec9cd6abfb3f7872b73dd5bf98e817677ee610a673ce0b3936b331bef4854fb801e4fa702d929f9033a0869901abb80200bdb01d0 +B = 476e3ab9dc271c9f5ac231e6f652417cc0d188fb1e6fefee3ec18d13d86bf880be0c6ad97b01d595da187bb412f320e07b7ab385558128936c014c8f9825b0d6157a340f2bb02039fb09cdb348af58adb9b117d9c2cdc36bd409e514bd1a36b2f98765883b85decfd123c86bdbf1360f76cd8dd78d15c9bf026b3f85b19f5ab6e641216f42ccdac2043c15c299ae28f338581b3d13310b5542f3776ed581292568a90dd3760b29aa03fbc90026c8129b5370922347442a9d4558651856d3af6737986cc18c04c6ef70c75826c20f6319ee6e8d24ee14177cc92046525e2659221d3c8eda16a02c1c5a83cdeb57e57b0485328a06128a3dc +GCD = 86da1a48125bd9b5ff7384207ee9a3be82373e991581e003cebe55f2f3373cc880e17b3c0976ba7e8f6e52df44e712bbcb28a4c5a70950c799acf61b9f1267e13227813a64064f9dc7ade122fead8232019c1f2c4c7cc8858db581353b8a8541cc193679c622b7e73e63caec0b6ea5c4e0b8d25fa5550fe585565204 + +A = -5c233d0847d3f2c90b25ba955d6bc532374a49294198bb81928fe20fcec48d09998a0cf303e7654005bf827671fbba7a870e722c3a3cb7f6500071d4312030249930536654901bda17d57e87d0e66633bdd7e81b52d57c00c1e716ba7e797b80d42ca68af1a70690259d27e97bad149dc1351abe8950693d53fab7b5e249a832e2fbed627f39bfe30397c964ea6514d0553aa015b996a9c8f61e2d72157e6ee6d41e321a226aabf16ff4cf18b82e844525fc93d6258fd33add533c20890ee81a0de4969dd87497272f78b56bceb7679186e777bbcbcf66864e6672cd43e7f29bde658f134ed8a33540f824b1656231a6634a011cf321e38d +B = 106687a163800fbf94973fadd9dc06a81616f086a26adeea327a31e6b6afcf9a7225d7f2b9a90d839498681bfc857914c972bb1cfba240f7f09bc756174dcdce83abb32862624162a7d28c0b5a0eea6185ee8cf36f72115ec97f503da98aa493c7741cd96ed023b03ea765dade214a2e4614c56afef4513c6e0f2d29895e1bf79c34a99ef7a3aaf5f298b55fd4a194289d92541ede8803576847a9fa42cd183e33589e02bc9b6840efc7825b876cc39017e582af93ee5017bc1e8699141bc4fbfbedbf45b015d58825aba17a8205efc4e21e9987bc0844018ff82e4e17a83bac3e4685dc1e6dcd8eb220a70149ca7a6b6a94c81861726ab3d +GCD = eec8d0379c1d4dc604252b182b510650e291b7ea7d54cb9af8156284792b9a6cdb9761769935b50d525c162c1440d0fdc34d78cb6d08c069f17eaac3f03d86071cfb61b297acbecb2265f2f24394f51dc50fb8db083b129ce6e61498197745e12e4f23f2b11b22e3880183e3a511e9d5ee3e4767f0aa6e193e4cf23d5 + +A = 24b297b90586ce1632c35c0bd59f54bfe141f1490922732946cdb0c4d6dfadcdfdf04e59dac3382793eb43ae8870d16871778b7de20a6b15e491665d9b82d96418b124af95b3cb3b56c96d9723e247f46aebf779cdf968e9f070af14d67c8e8b407d1b32e70dce00f60cbb4e2090cc1c7253f1dc25376575d83d0d491d3a057a5d85914481ac1125542863c557732624839961c8bc8c7fc9009399023a91daad0432af4ac11a6e6c6f401d464422af00d41818393d9fdfbc963e000bb7a18ea285b93e14c74d5438bd364d5491fe340d58b39b1ccc22491439c049cd7553406f055c8e5a7a9026a60287b3a60b6b6acab9a6f50671d6f3153 +B = -2bf37113fb3ccae3ab5b8be2493520bc293c1971ceecabeb9e2ff0dcc7c7d4ce773729cfcf55b29410cd1fb73e8a3394dc6f5c1d34c54f3c9a33014e0295b669dbca794914b556fc91ee57f92c8e0c13ab69ee4b763c55f2fbfaa434075a6c9e7d8137dd4ce7c85ddd016e0cc6e6eaaa1ba381adb1deb77343fde7a43d0c86eb6f6dad0cd5b891dca5464c75528563a6db9e32415d5c9c667941cb3faf8c72c42c3a45d81a469b66b0b855d4407734e7f0b4fb1a00299e6c874f1fc4b42677c703fd7ac5541e5cf82efc3d2d71e890a20cc361470a23dd1179676a34642bc0fa4fc181171c704c31464f76802fcd009e34a3b2e22e907b98e +GCD = 366296f2cbf8640863130c575f97d7dfe071aa717e2255c3472720eb1e24ec3771e5f91e5c9042abd43e1c885b520767e8ea931892b42a24623a93ecac3daff055c12b3edbc70126110919ab3a89e1962080a1deb242c4bb37f981e14bb0b45dc3b4476021fa6632621f095391dd9e62a86bca19f7b3f64f8fbc2aa4b + +A = d8e8e8200b8e634171208e8562d1a5e1fd7a3bcce95cf4ef276671dab8ddc3a1d620fc5bd2b6f62a4847d7b003fe5bbc9dc206c932ee7d156798e66c18418cd28020e9fc6887d22d1dc4003eed7b281045e083fab336bf85c79db030b8c0146a03832860f49abdf1b56ca4f2a4aced560feb7a582d1950aecdae54e4d3842404a10b90887b46396fe4976d0354c18060c1de5e93c7e8eb112828af35b844a5fb17410852b6071930633caa96c8f5a9c3c0e5f24964d43067b3652fb7fbd49c74fcde261334f3f18741cbb265842d21b5532d79bb2e21b954575a7609bb70fe3cfec2da53c7532cc7691d0876226cd4e2c3c33c3ab67f1ea00 +B = -174f98ea12d342c28988e3b6cd60555172f1b19b402ceb2f2b3fc03f8c0d310df5543dd4f7ca3fc19a4cab9de9f37d79a01cc88b09e0fd3587947397c53c1c92062323ac5d56b27da4a979f56786bd0954e0b79728b2b0c2c3458311efe8ecf54f4d354fb295a83994106a4f5343a2626681685fef69d8f3d81b06072a76dea2ec650342b67a6bf17e73fda8ed233662ce298f257e01116d94a37edc0d66b26869478888195c379fcdab50ef63f2d372e5fff7c36ea41eb95fbd8956b4a4a7c60e254ce2b1f86bbcd7e9cca7c894c5fe1d6a032b94f4cd2f8fe6b82e1b98971c741da9115a9374be711a91b47257f0a79f6405ec1e62911b80 +GCD = 6e023075243f3f8174f9884b05b0067f90c38ed87e45fc1d69f1a68b33c83ff47ec9af956121c2579332037721570c5e7d5e59261b9fcf9ef22b63965662614e0b47bca6a242b94030f291e53c8b7210b5202fa126dabf5fd14529e53600ade873057c82ceffd2d09e0081bcf56cac97070267c787e4b2fb55100fd80 + +A = -43fb1e1cdb240d8791a0287039ee80d6d5353315e87312539aeedc08b1620f76fe55202de1f762dc3319ebf440e3aa4a9edef8913866b048622a428bbad1752468dba59d167a5ed4a483e4b373e32d137c1901afd969b1ca0101827e7e51571fc1297f35a2419c75e33bed6d82581f9b62dc01bf5e6fbfa3efd14b6d5579c015bfe5ad71adea276bab05c33775ef3fb6fb555c3acaaefef1be3d0221e4e2c8c43a170dba23cf2ba50c91df5d41a69fd8d94c6f2160311208885d07259e90c81c1cb1d0ee95dc5489ca3fa8c9d621f2ad3b5e9022fca04d97772e413aa036aef9f852fb9b43d9c06f8c77c0b9c4dab12663949489e8f89f5f30 +B = -395b2b91b73aa230bbdad373b25448d1b2e931c8ebe6429a16e3230c5fb24400f71c6840309a7b950b493b1fb745dcf85365cdd65131ad0d382ca8c0a9a764cf6f91cada266a1a39626e2eb6f83cbfa5013e1ac7ee3c4450428317085f8d7df15d9c6f1a5744cd6a9913d00e035bf23644f6956933c32bdfb8ba63f467f4b37aa0223b6faceaedf9c17daa7ef1941f604c261c1018d5e832f3f88c983525421d1c8d268ec826660c7a4813faa434d9b0c12f7114a4e4ea97f8761365b528940a932523cad2e9b9c3131f5e1772af9667b1a27a8f31ea034150f2f90307d221e270b46bd474e6b107e2f16ae856bf5e60465d8e0b42020d9888 +GCD = 153ad2a1f0e751b235d0af57a8fb1f90b11cb628f83812641a8faac3b06040c6118fd75760b26b94ae163112a455d042df4bab66b3430ba2b42378a86148bee151a9b74e539d8859eb8d06cc89ca6a9a1d810662bcb272081741cc38464f97cd8e18349ca64362f7e47d08b6aeb8f9902681259adb6c56fbdd3fa36618 + +A = -1a38c2c3dc10e0ce1170fb14f102f9757015b1a08c68b182045c6b733cb6f54f48de89f703777320e666cc8ce955e4bfe6bde96abb7a144496cdd3faefcc41f06e599fcdd0a487709f057c9ab1761d0243bf938b9d26b1caa7c057ae0e61d4bd819ce3d87322d1fed97070c0d6d83f5c64352095959c5a534662c7cd103f1f05fd5474e5cb3efeb664fdfab8ef75a04cd8a5c615abd58eed63945db507fc2d066dd00b8823e4a4ef51747bc3ca88dd82c8d5841515ebe9505d78ed2d06f41db3c36a0532ecbb1a022e398aae2136890e031aadcb22d8740b2916bd1067e4b3e72a30942478912c39533090bac35ed3942d44590f382933df1b8 +B = -cd6128da5517dcada7eaeb3acd1a0cdc0b3a5c9092ce1666700308cdbea645a9c6510fbf9b151289ff6858c3edb08d935dddda192db4d0d59a4215dd6012e48b9ce65e6e122e0a88e52d2faa74eb0a3bb602772261f8a34e611f439202d0cd53f2aad75d881cab93abbcfd6d74d7fcf02162eea1ec2cdb8bac3488190493366b5ea1998b1feb91335b9bba8fda20d9e01d8223809074847b9ed8fafe9183f0632f2658e6ad2ce6e5349095df6a7f64d802c1eca18622473aa04143836887156a072a32490e8f1ae088e9e473726c57690be60c1b2be1453d954bcc35d7c08ca96217d64494f6226d8496a6a17d5748843f3c98c59d529c8000 +GCD = 1ebf297c8711087fd27e2cdfdf8a3e1558fad2723eb59edde0b93839e6cbd509dfb5710334977e89582802b2eacc6d7a90f250819cd239086a75f309026df80d42e7b83df99f6208cc90e9776847a72cb9f000abe93148e003d0751bf2f2e4ece6d0afd5de554ee526fadcd1240de2e11ea95ef62ec640eb648a4620e8 + +A = 3a60c12381b876a884530caaf9008852d95714bebe29cc529c87c1cf7c02c1b033629fdc878b8100dc30424accc68bb03ea76dc61aef5b64633e2ada58eeb6b59d9cae96836995efbd73204ecd37a5b78ed580cf947124051367ff69c41d680b463bf60acb0576c3160f7d9c4c4bb7df99cb111f0cd7ee9fa29653870ab98f00ef67aadb0cfbc9641a294da31a574cf60f36501da3a5b9a047f6cfca111c9074781d3baea46871a859425e90c99bf3c55294ad3af646d1608463ce4442b8ba0b298c89fd17538082e2e94b25365592c924c094d3d3347575015259e7e1ae86e5a98e0bbc0e3b8a0cafc640693ba9cda727d79b5cc75397f1290 +B = -2c1812bb196d3c11e74b2d41d3be69a4fd90f4b2ae94c10d20ea45347a34c1ebf32d916d06d658c2594fc56e0458eae8c8d245ceb58437f1b9ec1a079b012f71833436c79b085f685414b71559bc4f23d225c8a7229c7fbdb0521823778ebc48fb7b8107a3f0117bfcaebe102d0be73985f678946c362469c3ade21cf9e6f2c7954d2eb029b3905cad470fd4c18006f79c7398096a375ddd50ff1270c1d39d86a0745b702904a8d5a059d290e0b47c8a3fcce23d9f7cb456713325433e4cad5e676e509f4fa576b1996e30406e78bfcbf3a21a2ed8ed0c0a5ec93ffb5b797ad734a02bffd15faf348df263e009f1fb7be15acd24f81ddd16a10 +GCD = 2383ea40aee3b5a84c5f299f7de0982ce4bb6e78116ea27572dbecdd261e7bff6d8fe49ab783c4777e359701bdd7f855db7e386c18f76f521ec0ac2e4052230877c7dba2b40013f7cfe0678702bf604a4f19e70327d4192a9da27e61fff9f8bd5e7bb8f3bf848d3e3656d17c681811da5520828c6d55dd33d9bbbee2270 + +A = -810c4f3a0d42985382437794719b3775eb46507ce1cf463699eda8cc39052e8c37fafc770b5678b6007654169886bf28b9ed4ce1d6084d57dad947bb04ac5e693c9c6d7daf30e919a32d089c6a9e1fef351971335326e1c70bdd1fc90c639d54da784915f8294607eea06f452a6e0119fa427e5838abcf3f02bf13401e4c0b50305a1bd3212f22f43a9ecfe5cebe4aa59175b21c4f3cd210449a5a193f880a55cde9aa982d529c7af6f75bc5adbc6006357adacff724a723f3c061c19826ad0cf78dd80495c6ae41f89483aca3c00dbfa3675e5a20a8f42446f831dde044b01de4bf87e4aff9953a6cabcc2b6d07917b82505f6a1d8f45c1e6 +B = f7925292bd9423ff9bd3fc5269c44468fe187750289844265ea6673f29560cb35e45b0387d81860941e65045888690770f47b031b382f440612a63d9e2000a852265a15adf5f740ce5f04874acc4e6d535c0b40b33d4d85906e0bf6b01d40dbcc2a5f9e39c65d224fbfc2918ff51085c1a596bc96451e0719ce0f9254ad835c92cc154e6479866664ac30c5f19a15bd918eea00962529ffae65e8aae7c3ca4c59b1412b3a0cc0d4aac5b0a0dca91edf122f9a8d998a6257494d76e0e1dc25670cc1e054957928b20c9448c7c2c8526039c340443e4d9ec6109ce90c590ca4e3db91acff3d02fed119ebce973aa19ca28b65984c96da84b0a8c0 +GCD = 6bed8ee5bfed88c05db1395562042900eeec9df91c1a1c31a3ae436d89c8df84650d46f741671d37c30bfd9e39c12fe59f4f7daa68d962dbc2ebff361b88d52a300f14f460855e6c3abbf6e0dfa3f0773fdfe3ffa0f7f8a372aaab4d7598ab5cc8e75f783b6cb7ed5bcab37f9ad52787da39a9f20fef0f8d4b0317e31a + +A = cb3ba6d6b562d85c2ca514bb46d7f2885cae440929c5fe7c9bd93918a456d6ab00b0cfd9de95ac396c307e11a94e43945273bc6477d7f40cdb0669a4021e4457a382528f94184dc88f8d88220ab74befc0055062cd529333af187c4650958f88e159bd5ad0b22fefead6dd13a31bcc047cbb058e9d7935cc02c3bbfe3a9b40767abfd75966c5a2c0b4cb20947b67ff2932265f99311ce121ea1066f2e24bb9368b9d95419ca62d2d4678d05816455283b2d3cf00456039767c8003d0d88a49803fd6fdab65b613c758c3b46670c9f25a15fff3e53404b07fd67b8ab6b4beec2840e1ca6fff0920cb251ebce05912b70dc9682b58d846371b72d +B = f7274714312e12983bdcaecf7b89534a3e84431c6d7412603e7e52e60d8b5ea29620c4257313ea8c730fccd8941659835f60f8e83300c5d79f5b31e6dd8dae76c03f684ebfd3ee982beb54456cac8e5b6d57334fc09888b6eab248f510c582a11dc75e1bc1fb1751563d7ccf67eadaf7e389ad3c84fdd5e112595bdc54fdff22d873e6a1c84d5daaaa7256f355ea9421a064b043877db429ec8b9cc927bfa0ff8961b06d13707117a0207affaa0a7cea93167aa0fc3e1402ea06a133767443f845bb7424ccbb01fea1bfd4576675f1bdc7693993e759ca4848a826ee3a5b97ad8d85e9e23fb4aefb02ddc82942d9ece28051656dadc8ab4f73 +GCD = 9647d4e8e2ed5e97b35eff12b62aea2cd969525059351419ee6a1c50f6f757124e25aa83893d7d52edc4fe93d31bf217f50018209399e1b483170df20f4cbdcebab2c1ef375955176eab1dfad10e578cb3539a22c23e30806d1bb0b7d296d6932946b7f319268d7ace05c3c10b2ae7bd7f64f8b5760f6177ddc7bb6a27 + +A = -f7e7052386dbb5c4f7e1b4ce05303f76b4ae7eff683a875a64ef7991f533f7a22313b06a1c0a6a719db8fc8605182e8b327910662175c34273efee4f765b3088e4f3abbda45f72ef3557a88562a873ccef2df5f822376ed050d323015835e230340667e24652c7988e890481476b83bb102487a60717d67125ce36ec703e1029761db10d0ed7fbfa2ca4deb98c3a6bcccdbba32786f4048cec1501c954dfd67696db790123e72fd7296790c59e4cb1e9c10f4eca026d216172c535c60293c6dcd8a2db98a6d832e004dde753ad10a84b5bd5b21b722aaa83f75173d5621388e7eb4e1bfa5a313ab172fe2a2d152bcc9846f3753eec88931cffa1 +B = -850ce1823dbc588918fe52145302f42396d98dfce857d0c8b7d0293cd634a22d2c42899d89f7ea98c50154d3d035c7b31a07e9412a5a6be238312738161451bd312c3dc70ed866afe1bc302348303f4427717486e82dc9cd2707ece4c7829d542fb804a9d45a90310d5964f29920031c7fa6c780d3bce2d6a78d7688f61a9c60de28101fe12b7cb728c63bc095dbdb95df0993a2aeee15a0210a540d3e38242937b31aa736886b31a7a8fbedcb6b026cf31e09e979785b57f199e0974fa97682cbc05d0eff648cdab4799ea4e81cfcdb1d46ffe346252af5f2c2b670127e17bbe0ef0060a00feff840560066df531f8dacd8163e4bf882294c70 +GCD = 14563bbc87f212e3a7255841512c03a9377f720083a8f0b6eea89e23cfb25092272c89db386eb0069f8a34e14abb5c690b0396e57580fb2e15f74b02427d368e1d199c639284a1083dc96a0fcd904aeca705ab939a14c8faf58fec37e4b0f93656d8e10d4417af9c7706e9b7dc0d4f0a945fc4d481f1a64d80b87d1455f + +A = -5b41cfb43547a86715f9dd09d281fe10ac08a2695843d073c23375ffdee9402de37067507346861d0fd8b589be1205e27ffef3e7fb9119be3016889eb0158d808990c410a740643f25ca66cbd2a513d1beadaa69336b2a54382cd7c79c253082c03953644e3c3c1517f62e63227057bfa9653c908df32118e018aebf7cfe55ecaba8b312aeb9a6dd7fa02db1972b616f837b53abc2afa7ef7658eebb2d36b3c32425f079078c7545e784c4498c4fc4643af4792c0be12ee01d8da36d287bf5ba0b4e79906b2cd13e2e9f576e7ba6f51d195c308c148fa01774b863dd96b40b91ae2d6b9f11d89269a6b3c9e3116da567d842e1efe3f785638db78 +B = 2b763a718d77ea5e538bb0beed96c1920e7330afb617c51b90364cba5dcff6abb197725f9ddfcc6af89808c183fb4a84968f2b9ce89662441da9491b4da4c4a268c26667b0e548090b035349691b6370831a07d69bdaf370b072494f21d705639419ee02ea0a288594d0320681531ee87dd92d21037610a437124cd5e852d1c32b1e51257bded9ccb7b4247497297fb1dbc6e488d3d618c781fe14985a41388be05b771862d2fdfb966fdc200a4ca8f94f37230c5ddfcf3259584ed284f4be8923b483a74560e2fe1e13b7b30036ba0e64e496851c1e2a0944e4df7f0d730dfb4cc08c04a64d091921b1c6c95be3d5674b98748c16f1ba73d0da0 +GCD = ce2c5be9890f6ee73999e1adcc248cddc5fd7ed739cad873714c99c698339300dbd7ee7f7bf40af301fb8d0f29d151a4e27cfff1321f625b5db81f798c5c423d3a3940dafd9fd76903882734292dc74c153a508738a0c5b50361f75a1846182902b8e5ce0766e0ee8ef58db0cee43cb6c5dc2b41588c7e928223b7fa5b48 + +A = 4c333fda7185d0395bb4604cb89b0d369d0ccd87fdcebf98dcd4264089a5b7993434f830be604146286e529e8130986c72c9271966b911eeee5da67a6d579343f49fd9cfd45f2b405fb4f8b4a7828b4b1451ca3f0d0110634d3cbebce17452a622e2de5a40e94c0b199dcba1f1d8bf7a32f2fab56d44d8fdd17c30b15b38d51f57b869e47562a0e35c090ec4cefebadbd3831aa63871cb4b9460c2683c8d518a5d093b84ed19059c0073fbb19aa7f0d60dfd0ad853e9f05f147069ea351400012f217ead887523c5f5fabaae264d2c1ab5b9d3a5baefceab630bd6c116d5a00f63d5649cbdefabc6d6e2add3eaf3c492d9a1e1d1fed782e81ed1e +B = -657d9476c32154321858a20c321f90c1f359d63d1cc3add45f348186f9a041efea0be39b92e56297f377a1b7f817092fe4f5bd418234bcf4493b9362154f9a1c3eabee938d441709ab66b01863edcc451c2b0b837bd8790157d602d86b3616385be19632247195a0bd7a786ee5937fd93891369463cfb9dc8f7f5b5470fbf43188bbf90d25a39f4b459cc3e5681ecc9e80bfdea05b79529231fd35dcb3555e2afa5b973fa713452f26a3bd49c49e625c35214f26d6669b48b97d64ed905b5af6c59f509c9f74baa2f1180cc1c0563bfa9e9703ca7833b1b0c27171c34e3e69019447dfb2cc84eb905d5ba0540d8f01fcd337b92a1c7ff686b949a +GCD = 487e5e7f8eff78fe755316697b182e1771aafb7357b90d98772fff9db1944128afe9d261cbccc716d634efb9239f7990ecc14d165197c6aa56f1e20728b05886b4cab923815c39a9c8e7abfabfc5061ecebe29fc7956c7c2a0bd1120c13cb416d58f0764f9647ebfcc908f9c6d3bdc18de837a3a1e594398c26031dcb26 + +A = -29e8fe95cb58e50a3138565125f0350558a33e41824f9678eebfda4418e67adf0f04af34ae8d0aeee48d24c1d7d1e0857cc57f86e9c9765ec9664374876ce23635a0678335a448e586e8d2ed2ff5fb7ab3e4e199637b0dd17cf276e0dde4cc50110c55249c71618164709436340de9b3f36c86fd2fc8f05b906bdf45c48d12617aa620d89af7141e6b7abc7e73a0f339d829290acc3797991f65ae97de55faa1040950732778e8f7ec1bd11c22d13dfca305378c82976690244f3ab65a4b0a139e7d6539044534cdad042546e8cbd4c27f3666a188079adc867b2c3e13d2e03ae5bb2bb67f737e1ecd3e2dd02c2bb1d43518495038aa46fe85efff +B = 36503c45de4fd1b1174dee35b245ff8c51bbfe36315688119e1a952cd301d986060c30114870d238ffc6b81e037724086bb2a356f956507f5f334ae8532146969405af2e3fef139862df472a51b333b496d35800cd1258c0687eccfda1d7d1c6267cda4d999a7433b798c4c8aeee409b79ef507ed4871ec6a1b5356b11d9aae2c702b6df3d7151ee6ac29a7b381adccdfc441c060f82ab51bf27f8fc89a17b4d4a08e54312638bca6fcb8067b0d66c4e1656afb56f87c2fcf73ea7bb59a6748753ccd4157749a962bab9847b6d616a188625ec539089f13322ca87f3f06faab680197d955a46ad5b8302dcaa53f69568ad3c4d6f0dec476bbc63f2 +GCD = e47827dce4ce75d7de3eaf561e2b7fa265fc494f375a1b56ff3ea2dfbf4738f5b0c219fea1a411e15530240de3508767741ea34e9ed738078ea6b0e5d87d607c20be517c65c1cbf2d47cf6a170c54cc235b2ce79baf21c6befb5e40b8b09ad0d312dfd90e0d2d4d508b75044a47f04537a6d4e00211be9d6b6f1a80db13 + +A = 364fe56a3f151a386ac3fce6c73c036a2e376a4f1a6c5544ca68d6bfb59250ec4a99557f41c50d6b0b100abc2ab464ab946877e74a0b39ed3869530bb68252e986e8302744ba5be333e4b75189636708683bed665a235b960d7670a75c9977be943cbc4d5d8a4f7ce7ba061bf32636f1d68e00e75e7dc97b68034516dfc7a36dbfbd9106012eea8646ca4d1edd6cfec26f69504116b2fbfa30ce1cd920773076a441b2c80e9aab2c664d727e381c02cc36faeb26cebd7fb7b0c459abafc6d82178dee21cba3504f52892d5bed65096fcf7d384d734c2f2a98ab327916c6c6de820f6dd30ad14bb2fc36f5f3d1390bb0e7a58e96c135e9669d238fd +B = 14258be7d92a407191bfa3404a64eaf33eec47328c1ece51c035684c4309307892e7b56d687ccf3a6cb3595615df87708628b9865294725c80fad99481b92dec8929bce51f69b74edf2377dab4f82b4e8a5fc668e2918f6255f1a3b9f7f61641185496e2aeac0f238da8886a3e575caa4f9f773fddecd8d8be4703b59834cd6ad249fbe6677e7e5e729963f725db5ccee116722c7df5da84db569d791d9910ed7f1737411dbb4731da03fc330ddbd860cc94c56166c88cf097c11be40f63e335cd3f9d6aa2640f9e5e2dcfd2463b180aaf4506e170e8cd17f6c02eb47e95d62c2524569a495d1bcdb0edcc03700b78bb3a9c44363d0a5549b8e6971 +GCD = 178532762bf4fca54ad2759f52f4e90ccff079691eae2b62c7c0c12b4e7433109524e644f0bfebe49be19750882ecab0d14738ca03b1dad124fb0f544cc970f5073e9d37c32a1edc271325158049c49641d49d5e4dfb6273ab9289ed3003d355ad8a46a910e5bb66eef4815f80b75ea232a3205516bbed5e991a64f66747 + +A = -54591853cb9d22aa52f313bb4a590b21fff4738590be6607498520c9efbed68e505913796774f9a04c6cc623353d66318efbf15e61184574b7b3fad7a4a7ced585f031d1883e676d3210f4dd0dd41af8b14db7db4f575176aa0aabbbc019be7965b9fd2d5f9a30b9071a8062010073e157089eb6a930e8928420f404b103a6b4e617fb34b208a7274fa1c3b7e9bb0a1c72485b4f98473fa227691e94bdd328ad27165af6cd554060d8694692a17fded10a5969ac340531536dd6ed1acb0589693d7e941b5695267376018c761bb557c06dea2b47297c62e455532d8f3a12889dd19329893e3905407b5cb72d69552735b12b6a974546ebeb8980490 +B = 67462b36bc44fc36701623e79c3195c421bdc0cc729f304de09853bf298ce395eaef1f939199371fd1978bff49cf6fdbd6c6032a57c1aede2a1617c69e21bafff4b27335012ce03e6900d87641c76f8d65c489a2b7e384ef35ae6a79b5769b67be6289116f4b63d3e9bbec74d5a109de9ad1a3268fa176ddc8adef0b7ff54b1ba2054860c48716daa93f9bc1599cbece223f59cdc3adacbc4f3f706cbd54d9ca51d56a0ac78a723c781c75749b923de9a30f4436d1422cc7e9aba819d153df53a051cb22cb80352062520c88a75873294a736cee191a0789a362af0e0008d72a36f3a6340203e71be92a73904ce127ad9c90df3d94ebdc80d77950 +GCD = abdbcecd245602a478419515209b4634d4b61214afc09864dec017a2d3d3489337f49e352c613d567d49d2a3814fb1c9b63107525f73076cee0d59da82b4e92b88cb8d39a3b654f4b4f721572d5ebee134d77649953c0206cf3a123ed25b2a8fd002cd52edb314f4d3004daa4eed579ee7988fc43aa85a0785dbd84cf450 + +A = -5ca3d3caa9c2bb4c11a489a97dea16ac08744eca0d3bfe6f98fda58a2c85622bbaf6e525e79de8ce28edff3e2b48c7df185e883bb74fbf08a2b81908678098725265db7991a5f109a5f09d8d3065fd1d7fcac927dcd0a8b4cae4afe94fb441a1e060b5cc12808bd50b333bba611ea780911570817c62a87c28f7ea8744818f6eee020ccedfab2c806e186a05f76e78522adbce9597aced45cfc05262ba34b340aa1fb165451f785804d2830c04f106b6ca05f8c30724166c936bd25fa1ecb5dd8c9910bac776cf1a0c7bcdc96678bad35442630bb55841669bd48405d77e49f88e19c4fee4d22df2c2ebad1859f9ddbb252dd88a5ecbb3eb917959a +B = -11c01a8e72897ce99f746b170a38d05f252cd4071f6f0276ab83a1c3e74945740a3d2e4cbde6e25cce8830147f3f09a776a5ddbcfc0889792f7285b940fc0f0a62ce8fbebb6881bca8d02e7a1aac2b911e25809af39b10f7ef3c3af61ca6ca0f3cd76a7ea4b78ed29cf907eff9c2ea57067b7db92ff23dcc7e5e3b1ffea31d3c54590c547da6d59e0370231bbf0537715aa0786ce71bdcd3739433f835c5726778a6f02dbd75e714fc625415b82db00921d81dd2df7a043949fff3550f7c9163539cc96dc1fdf45c033e8a505238b64658bccdc722fb3d6c782d4b65244a8f70ed18dea697ff0c42f6b46c0e241f3d5bd139ae972065c5be2f7ca62 +GCD = 9caba9b74673029828beadedffbc86d58827d9f8a9bd6060d54232e837787aba5c5728089cc06a111b0e987299532f0e664a8491198881f276510f7077b8638029250c78162328909c69441feba6ee2a58886773f77485936d05027b2f0fac2531d3ef2c0323ff11771848eaf424258f1acbe71a0fb0be386c986df2d67e + +A = 3c85eca05e9bbf46f0e89952d56e6927e1c8bd815822864127bcecc9c565fc37e82548962573db82af0c8499fc54b0a6cafc902a181877c394493c354d7daf9fff8e653009018c347c30cd5b066e14911a162a1c79a06b3d1ca2bbb648aa6586f96c64d70878aac3b3779cf820d2123a944dc3d40f5e20aefdc13c624bedebcb35c09eddd2cc8f19d7cc55e892574be668701f86088bf46f0ab7bd33737e0a987f21bf639b8a8755fc253d518f1511b99901a2654c658556b94d8e6178e82a217df45435dffdb3bfcc0be3eaa6c269f46e3a0b5129bfe2e3d7034dbcfbfbb740aa2386d912f87b9ded687b1e70b8e54703feacea8bb626a61a991d4d +B = -1add0b26e9b687958af83ddf86511e17c29457b772a5e345f8bf8dadabe916285640bed4c4e5f9f336789918423beb9737f7413630c6840c6b8dde720394fd542a2539522f59e19dd60dda517b6a0cde042153fd9b9b36ed517ade3f24434ffec7bd675f244e0eb10619d8e31ed25aa4fd55146622f2ad648e1ad8b11b270fbfb8b1db0c6cd00c631a6572521c803e6033c24221418474d1b35a6ae72b4a47e069515d21a77e32e1e988c2e842324772a4108a8500f4ecd5ad34637778d40e2b0cf4c0e5d91a997cc484589f609f20d5abaaec93debff5b2d9654c7810d9bb531028391eebeba74e2fc52fed7d3d18f4a15b71d3b1b68f7ee9bebdb +GCD = b9d5c1d9f2c94760472596696b42bf1aa80a23eb1db9bf9a91bb7193709751c6d3c1a98b463ad81da903de4f788dc20cf70e8d6587be878c2c32b0d4af741fccc896fc0bd467e6a12f90fbc5bc35e4577cbbbf95d61dfc581f5cb2008801c333d9978f5b6f859df98411d00780f98e3897a369b1405508e63bfec80de727 + +A = 10976e10f74b6cef7dc42b7b97c8c41d20cd8f65381e699c0a9599c4e468552259f77af2cb819564cad6c01cc9db16eaf0b0225d9fcc6b4380b2ffda1fdb20505a452872d4c48c1a6bdcb7bc33d60d8b9bf181d0d91b6404a2bfc39e596e5a581d9df57e6326528cdf8ef2dbe1c45aca8e0850fd419fe8e6caaba74808edde2f6e24b2d590cb26e1bd7abf5a14cb0583e32ad36f0ca4c1624bd78765b186b7b69bd79d7afd6b81b3be9b6b523fbfe214d80f37b3fa561638daa9eefad8c2547ae177a3d166d0c7f8c7c8085187c64f49a158d9979da48596eb3a88e65d4ad87e6a96629f33157856cf463bcf89c1edfa91b0c27b566b8a191bab12c7b +B = 27c7ba62ee49fe0f0a66879383431209da2df1685b5d665df1e53595caa7f666e51adb8c2fe8be0c241056ac1ba2377b60583f7ac73cbefbb32737eefd1fe407bba2f270347dfdf24c3125cd5f20ac7461c042a37fd744608f80e324ed277a772ecab1928f4a31228b486bd5843c367afc2595ed0ed2e48d31d35c09ac6565a996a68bef9dde5cd5341bfef9a5384ba7c942dddd3d833adc3462f54de47e82a95908f03dc7e1c0e40b29d0076ef6d24ca9b214ebaec801a662eb5f90e62e58ad8a2740c86402eeca2dbe57b1cddc121c8ef3ce749c8fff7382fe8861e5df07ee465c32efcf49579e4f60d002a695641790a120db14bd7f671f2aaa8a +GCD = 10d23ffdaacafcfd9a481699874fd91036cbe6d5650431124a81518c72628bd0b08400d893604bf5cb91406e4a142d5652d14a816d2a33c42ac6f926208d3c22efb7041943fd42d278df0a774692b97b26cf7103e53fdbf880ccc2be0b67c6516273db60077e73185c6f019ae788d7961c82c69c726202b27fb80bfb5249f + +A = -26c6e43a6ab963dc0d4a63602e05d6e41a18ddb20fdd99519daece7c064b31a087332b43c543a80d1e0c8134ec0a00aa2a48b9858b4f75af44a2f3391a5b3b694e4288ef83aef02e4592822c0d82a09b85183cff21e673895aea3cc266741f6da4e0a1422c0f11c62ff01de78c43c34bc75271839ccb736084faf24c3c7e0a9facfdf94306b2f466bc2da2928c5b7f5888205263ec1fba518f3df25bcb4d99a1471a26bf1f2401474a5d2b6ec9a652de05e95fdc0531401ef61b0192f55590670171da0bef1874e211cb487daaedd78d9342f6b7f4e7a4018629b6f2928b85014e3bf5638744f6be525eb8e13964513f6328eb522f40333f6dfe1354a +B = -59547045a76027af29eceab178c00e53218a17d859f64dfadd1b0849dfe15a84ef29b9c19881d796ee3751a6033a6cf8358bcce35534f50291737e097e4c3ce5dfd28115d7feda48d6dc586927b77afbe687199d18c427382ae943ebff2068bc0f129c27ef99152478a0b576de3fed1e4bbd3534353b9c432e5b66a3dc3f2dfdac04db230c21ed046d2bbb0d670e919550eb8cb896d989c920684cf856090b61c7de364171fce03e9af8e481a900b3cd63c305a556b8dec1caa51e2af20c16a40d7e9f85688cec02691306ba0daf1af7f9e315087b256f0150dd9c685134326462fd9bdd93f1a53ddf70f35c9ca1d1181a915d47ddac09804673995ee +GCD = 11a8396758a0a66b022cac4bb51219dd30c79dd0c8631019bff67fc48f2dcb76cf837e32577d148de45ee9a4169e2055e2e1e9aa396afec4db1a393cf8cc6a1f1b3bce7fdd5538486120e8a7f897c6a3ac81c998a5102e0d7208cca8acf72867d8d3233c578aa3a8472f3ad8377eee1df357a343a9c56a957d66bd7049f7f6 + +A = 1618626eba95e4576b267310c93aa57f4e057c9529bba875822baf8385ef8ee2225d817d94016efdaff0537e4c9ad49cb1c1585695de1558811ef7fbd4d028c935be8df458a7c49e8d51c45f0db68084488e0ace24f7d396d71dc3b471e0c6aae03671c67215b5c03fc1556bb1775eea131d7dfd54e9053f18fac01aefc5f6d0ebf684da647112596a214f3f24ebd52fafe7a00a490786030a2b4c84a84b054589244bc6f2c344d70b432e6d244e08517f4f28346d3f37dcc8e6ab7efaf819245fbdb27e07ac452b0a917877e42abdb90f3c14bf57b5befd34fe731979b05f4e645b6364bbdcce0e62f1e4cbe2254d065c1901e60f87074518835e1820 +B = -193f30173ddc6bf69de59ef20141273a3d0476a962ce225ad415ac13184bba80878729cf092378aedad5903452434535f275c09a4b1c01d245c5451a9984565017ce0f5d2c7d57136ee03a717d209a252c586c21b4ea1cab98f2a000781bac254347b6911b8cde726092d022322de5721cd06b117d9f3b329b6283741fa3791f00094575c26722606f1bfe1bdc6d5ffd00654020731f3d0f4404514b2de525430d8f0c577b16eeb90480906838e78dbf2afa90646ad9df7d7ed23c0cb87e3ac1ebff039a968df62bf3ea5bc7448cf680fc0ccab3c21fe298f89b0842f25e0469db4b53deb8c6c4e8d327ea1e15d3aeedb4a533a7576c390a926818520a +GCD = 14fd868582aeca9dff8f0010a0bc36bba0c5e20931ba5d9deab02584beb41a06d5a74f0d299dc6fc8399163e5f1dae3b86f09d334692917f7b02dff899adefc375aa9f282b73d4bf886df04ea04d78c93b793ee0d120d98c05e916577b4325ee352d07e10bbe3f487fa29ba402f499a0c415ac1a8ea1550b410f09719ba712 + +A = 61ce4d75b826be6d9cb4f2df8bee18701855af6f2b69004f15156f026bd0bf067762f29631161294fec2a72d0ecedac4aa56c7bc5a7eaa8c5587299c04e1f08342a0a6ae2244e90961ae4ed086da0ee1781e1dfa0f1cdf66847960e101b87ff2d6a0d0f4bb1a5dd4988fa9b2ea7f85082dd62f5ec4f4e90725e264633186b0fa538b2a4e2818fe894604851c72d1cc3326e6b0480547a7f25cf352b90d45604044fdaf840c96f290f25476dbb580dded1a7c88ca3dbb686aa1c0cc1d9b1c44c4d4d0fa2f1b47c37ad73792ed004f924bb7e53427b1d680024c9cd938ebf259573732081f4b2db84662340498dd886dd280e2343ca89201fc6ed42877 +B = 3cde6dbb22f604cbed4856a852d8c9d0341e05f98b5c49e4c5baf499fdd9657e40b058d36d930b73019b7a220dd9cbdc833ea2583ce7520245d5d38e2ee8d723b1498ec1ff9fa28a697affd5da6cb966e4a2d4bac3c98143b4f92f1f1ff90a32c08ae4001aa25f7e05cbf112d03eec1c8075aaf0078f06d7c21ccfbcc8f328196ae1b8f6ff2277c7eba7dd50c62cd0557a4447b435966b8b17495062806b878747dadc75108329225d13fa7752101cf7f1af841d4c728ac0f0cc5849d5ed4227fa95e20f653a5f237c7621495f7dc55be440f47a93b265742b57c18794039ed37ef27d4beca8b92b32cc794f2e22143b822b181a2083a03b0d5ec20910 +GCD = d4d9e617ea32e621017d190bb8185cfd688cd3704140033a28e09a0150f3f88bc6d98a331d24fbd440b62fde87abeddcbede601988fe9bf9a6de75314981578395bf4ca25983b84e0bdb55983c4790430e02d22d103d96e9d07ced26f7820dff2ab2b6043237facdb64f0f5fb983f09d2ac007a9501e0c5792cb8538c2735 + +A = 43e3d75c753e93c10232d0023f161123917d5ffc57c892111aefd51202f765d1b61d9a838671f705ef5a1e9a8bbb8306f785c7819d4382e3e1d31c88016d5c18a408a2f620d9eb040e56d8c993eaa5cffe90f80f5a78b3a6b2d35cea6b22c93dc22ac13231b054cd72d042d4c2cc59f891e49481203e605708eb7fda1ff10b89c063156c8520d9bd004a9301e47e68e22dd6da5710851780af104bcce0d157afe4ebefedbabf7a19a7f3f91321cb7ca9350ca3ab28050de50947a6b1c813c12997cd48fba7a70010810ed4dca51688de1d247960e998f21686d6ed929dd7a2f93a1107acc08e7920b10e1545dc6185dcc02edee2302e2e6a6d2c6577e0 +B = -4be0721e6f5e653c3247b0cba80ee5f13f674b015e6025fcd59e67ba9cdbeb37ff962d4875a8155e3a7a02fa720e49b19832ec245012ca5f3588abe013f07e62e9d486bb298e0800ef4fa78b6a43783f2a5298c4cf0139f3c3507cf5f76a83e03a757fd163c45d45308367beaebdfd80ca5eb73654d7664e432db05fbea2be9e23bf531c97d2833c00683621c38d8f279e86508668fbec72377f3255b23cc039c4353ddfc1ea591bcb7511cdfa24505b32446e1fe321ee5838d2b9d32275b2132764453d725b9aefbd5d72f4658b1a6d6ecec1717a94134a2d35763d530b881a0aa7a61269d4b68b96b5972b356995a8e3d1a500d5cf22d50b273f4846 +GCD = 17cb2ce9fb7116345f17f45cce621d9dad7b5d9887610976904fa204c757a060318b492a71290f6326d72ed69a1fdf06ca98c81526b4b889cfe67a71d6c6ac2f47b5b6cb01db4272b8cab35155674fec0392785b82ab555ca93db29e0163b099eebb83904af5e522416bf53f81cf3c5ba53c0ef9608c9c0167a4fc57ac9e5a + +A = 9c0dd4526642fe78ea9e07bdc7129d90966a962f8ed38d16eced6e95afcdd43ad016fce3369a928aa9bc65bad84f35f3e39c5b3d080e1e6f35fe5da2af5f9867099ee8f7a683ed4d7e03b71b3b9b148470f2917c27871f4b7aee6a948757b149902f65c31cb62725672ce3e33b8ad054e1878f2720f33ab9a6ec732abb1a6b5bc83017ad9158e6b52eec37a8dd5c804ed4b40c63e1c22ddd7efdd5969f9255b8cbcc0db157840e73b6a4badebc990a9461cf128fd8bf4aa7e6510381f7f7bad86e07d5d13a44c688c3f6a5dce999328fb1ceb933454fa076cb3e3b8fa65498e77d685b2a4c2a4df99d769d00ca9f7551588d973d82fb4505779a9b065 +B = 7314af78aef3b7b2c1502bfbfc338041b4a48c46733d853d5103d6c4de9521cd97b8a0655528075f9dfaddadc70b1d02f0c412537af49c759aaefd5e2e20a55a277779caf9b014ff93f3c71827c8eb96ce4a4b22de69b3b0bf560002b77e66e4f59a3167dfab7db8372328204505fb656d6cc222cd7acb30517b47e1cff8c9be61f46d092f8b99c8ab6d3b8051bf3c35d6492b0c75ff5bf7a482bb99ee85f9440a74fa95a29e69be36ec7d30c7d45c74cc979c935ae30b60b5719701d664b5f38c4d83eb70482798a24c8cdac93d6b4a08603129139f62bd57d7ca45c5825836b8b6407d7149a1eadfac2bc22a178d40492dd8338d3b683ecc9ed573203 +GCD = ba5e6c0fefaa102b2412787cf5fe8c86a49f0194581813d52ac3cf0e42b0433e7dbf808a3170ab105a794143e31363d9f1810a653bf20f3a4859b474802b2dc5deebaa2ef0a3403b4741df8f2898df8cd17e01bcd9ad631f401a3fe4175d51868ae10954e8880f690696670364cee4cada6b2cbe8c4f6383b94910a283690f + +A = -b1b583848c790a95c0c90297d7c7160af8d78ff34e8fe38d407745891d39b30ba01f7fa48fd8c4cd6c9e86656532039bf5ca29fd3848441ca53a7f043d2a808bf2584900c8463ef721d5cfa25cc67a0d8efb20b2a608ad9d46b96e636c5e4acdc3a2954831bfd4cec0843d5b0f65bd0af9b861c97d8ee5ce0d1054bf1a8f5fd77a1420b7f14ac8f7bb9883cba205a2a1bb370011b7e5e5be963f41c2b25d3b475243fadcdd1289e56ad79791e298f80596e959527621501e85776ba2be88a33e8ec8a17a6be37fd7150f19acdd62978f2956fb8192b1eb3a9397cad9db1cc1a572d404aa99dac82d88a41df8c42db063a8e198d8df24524b2508f84cad0 +B = 2e8a44d9ffee95f1167c210688f7c8d71037beb506f84978cc2b19ff8774718a28b42a49a4d7f5d54eb72819bf232cc37ff616c69c9262ce5739fc1aa605036ca6346c4dddbf33c52403e1967885bcef716cd332382e043e19764aecbb2556073d45b0446b63edb3f396d1ccb927e6a6e6deb7a3da8b00d7ae86cb9c6ef9f2af5d789b69b1606b8b2977d2cb45f04ebcdd0274e6eb84c3b4a663e78d98c4db4c8424fe0239c8d2c433774222b7c722e8be725beda55a2c3dbe131e40f9946b0554c2b7dc4c8568b46980e70ecaa5075ea1a3a7f61e9e76fb77005af77e010d49df0b08a32a332599a86f6528aee63fe5b5155198f39f85ed96e09625e68 +GCD = 46fd5bd037c89fbf2389ffa12cb8afdd90ba2678c6092dd51694944de5adbc5032998ba41ab6e0d2509756ed97e66b191628f1d2024a0ac686961ba904332467af8d3a957a1067b1fb966d944f8a3b7991ac0c68e7fce929fd6edd17f8e5b8549459b746963ff3133c4974857bcba0289d5144faf1ec8bc9c9c11e088a0c68 + +A = -5e0722e97367ac2cd30922b4051a878138be5f3a3a156a654d3ec6c6f711571eda12b32cd44291e35199df82074644fe12f0c950792caf3c7f577bcf5141afddd67b394990af0621e3866ae009760b5cc6d5aa4c4d369cc4c462ca8f50cfc2d6b3bb4f931ecd48bc30d62f0d4905e3eb5e0233b3eb558056bdced147afde5f6dcb0e29be3a1a04bbf3e14772c51d4c127eaef944523727eb3c0153c92fffcaa09c873a3facc3b7b68173b109b028a83453fbf88db6a8765f6f5bca62fda9664cb99fa1cfddaad91dafdb2334eeb571f63846848c8da7a4400594d42c6d799856dd23a5f91e33be24be0da823f7cd13f7d76a57351be5f6f143c717a51554 +B = 38aefc7d052f121d0f0e72b63d4a1bf577f707a1ad6c320e8717e981afc1fbb478b12dc8abb83ab6fe2527592735bb844083bbe2b2b9867251c88a6b42d47f75f96adc5110c5ee90b4074c137791360a6b13442f5f0cc519a1ac69ea92c05b328e19c828b67bcb9dd2b1f1b95aa5d85ee3dfa938fd962af4dfeb85e02f1c75c71234b6c8b8cf3766b236fc9bd34d930480410aa2a453189d8f3d84f57173a61a6a150c72bd0cde2d644c43a394d66d86264eae1347f88277e76badb59c62460692be26a63b35c4f2d54b4d190ff403ee9647c28dae718bade00151abcb1eeb8b566e4e5be772bce50441dab8bec1dd602d7bac2e5a9b74dbe2e5b86dcd5e +GCD = 271439c61c1e75d7bb886c53b5d44414b63faac12ca02f399a38b53158945bc3b4592abeae070063f6bbd36981934f739355ef8b12b41144cd5ff10436bc9c009fbfd62fd9c657f0d96a5799a2bb0a60f77dac2f8c6a17f4ee9fbb7fd169bfea5136aabf0726b5254be32354e123d8caf4da9e7c5fd1a32c67e8063962c9316 + +A = 13ea42ae8b28dca79e5904aa9790b8aba2f12ae46f3c818a90c63a82deda20194cfe4f7e8ee9227c4ebe697154defeb8dff031f5ae0d9fdf439dca2e9cbd1d35a6a22b053dc1e1540c1b5e10a2c8e5e14c42c043410ccd582abcf9146d82022d813e2050f7cc552a0ca475598c2decefd4f84bb6d353835bd9f72eed2eebfc90a66063f14b5d61c6f99bed7046b086b0aa7c56cf37253f753ee0621266085d680800c21e25476dee2898547e47ee75829b914554ac62f9544be44e0f3f270207d2dfb049b5756365e61814e8ad579cb505023989fb71986049e738a17cdc7f4e6175e0921fa8c069b9fd1745a02e04d5fec7d7192649edf18b154819bff90 +B = -105fc092502bab04e958f290226a2ade27997e77c8fa69ed2ba0354f937f7ca30aa66f33d883d488b05295270fc827482896151c774918923cb03b250a8829a9247324ee159e2342117fbac08a1c45cfbc65f7e949c18bb441aef26e03a7a1fa9d831406e9519bfaaaec9b99f225a9d1e7ddd91387b58a2777e5f3e2ae3c73039b51d13186db16b46072766f0e68fd6d53299c41e7c5dc73295842b67f085d099844ed596f2c3b3dd33b564dcc59a4b55e4ab318ad62d98d093550a976b448062c91baa1e96924354fed8fd8764c692d75d8cf8c293a5eace3bac69a8a46b3985f9e95eeaf6adef9c5c2440c693c41a81effe50160aadab47fadcbadde074 +GCD = 15620ca883a07f0a470c7480c812304b0288a3bfdf7ead16f01725c90e68a647ccc0a8a3d1c06162416cddecfc9f0d4009149b9041f72a93b25f564c39f6fa50ae419135b0d6065d2772bcca444d74a6deed6822823d591360149efb61c3e568f6de7d53b591830de609d0e690b3881c3103911f8ee00743c376e4fb7d21a54 + +A = -32df35e05bc70a024fbc97d2f869602d7ad9667801790207e8269651abfb47931eb3ca99d7b235957082d97f43d0bea44374acfcba3e1b4579ab4e8372405757a187f5208dc4c921bebc71f5ecc9ea9d763a8d447c6e92b8015f3beff11961ed764dd13ea33675eb174e72f970704343edf777862a2c7625b56ada136577488b11cd47d1d78ac7f770cfcfa72fb2e26acf2fb7b54475df03d6f822bebe8f0b6b5ceb4ed8914449c86447be9f4a0823faf7bc010ecd81734c7497e73c533fde3658928451ad344cb4b866af6c605a8154d15f09ac02e283d83b270e3f7e86d9af1935c63555bbd8b00de88878c42ddc0cdbb2bf7e5b5a44bf9545a1ed21f22 +B = -22cf762e509dbceac0a038cc00c2839a6005f74d0f1b4e8d6e820c014c0aeca621b44155a13baeb093436c5bc4f4e5513c6b77858935305becfe74b0aa92aebd8819cbba924426be6d2d11363e7ce3dc841280ed5f8a147914521d1865ae1eac0bdd31fa7c2f55b3c318007c58599c2a7226eb7ba522e784871110b55fff1e0329a1969767778af9ddba955dad31b2bc507b41c5dd45368f7d9439611fc6d3e1c20ff38899bfc4fce2b1cf094dd0a1b80d0de564a4abba64484886a5dfe3d03e6f6861d60bdddcb227044b9ebbcb8f26daf74a1a971e5710d4dc1d266ddad023c6a160594ec6e58364c9436ba2119784c2a7a452e42633686d2ca4380cd30 +GCD = 776d7044977143d3ece1255814b946e6ee241ca46945648f8f676c9ade014caf504c1f8ff2ab5fc051d7f4da7f713b1fee97b707756100f39e8d94e5f18c3caedd1b58f00a9ad46d41485537affde4691a7f0300b4efe71adf433eea7e726a26685236f0b65910baf0f970ec937ca6b9b22d688bb60f5732834eddc75ca3d82 + +A = 6f370eb62b979ae0f73ca116899dc77bb181fabb60f3a5eb0be087ed24a73ea137e2ed3c3319d7ba722bc604e10c5e9113452aeb3e489a7d20b2fdebecbda7b521168e0a112b0d2d30d261fc78dc98cd4ee95af5e3f4f1eae49413e275bd904084276a2f7f0e95552225f9bcd0aaa64abd1692da78a21f59fb4fc527b37fe8a9e4c18ad38d434ce08dda473a516d7b5da184ef91a781f229607ed3680d771c6faa8a268a1d94fed758792c0f456024b50565943253ed97ab16700ca412d370ae0b107703eace5efb3bcdab2b8aacdaa7fa9a1cf1d075da51e773d85266f3a88ab5d4eb379db8f136cd1bfe2801e11eef0c74dae979170b7d4ca0d7c03c4fb +B = -43c28b2199c4acf51f3d867122aff0fa7b1c068ca4704f877ef9f8409b888ec4c4b8a60fefd7064835e2bb25c46990ded6e9713aa9f8fd15357fb24219a28c8cf3c35e602b1313cc938618494946b7c0555913df427abe356af8409565be403a9d4e6e87851fd42776468fa45579b07cc00bf40fb63286bae31d9a07a573acb334a9a16e8859106744bf3c9812ab3b7482e7d6d4ce98570bd212654ba3aac1e5becfa4a7173750bbb03182eb4a9f96aca0c43887c4a6f13ef664d15c1f04bfab284ab901e43aa3940b008f03a4a6a6bb2c8b62079480ca4cf8d55ad6d0bbef64265e50a28d8139aabbcd5b8cbd6aa99cb155e448e4f3161b0e9d0c687270b +GCD = 5d85e455ce6f9597289c29f0b1eab77198831e5f56b6b8ec5f4d459fd24317abbbc5309850803a0dbeed7d5be676e1ae590e6770383b4bf4823b240d8a716f6762d4c1b05936f0423186ba2904891d8e83ffcf2804ca0dff140f325ece510a8fea35075469957354d723042a359c9986aa4f06c964cad7614df775d098d94f3 + +A = 343bce97d8f2c3f5aa83d4101c3fe5aefd6aadc9428543714c2e8211f89e3fcae7cd798f496e0c6fb3e618a98a65a6e5dc36fd229394947106a50cb5dd08886da042ef5e6279a8403cffe7623f1c16308407c15acf21dfe09411919ee962e18836da0a6e218a9e798deff1b6658c8467b07da45ec1b28b5a05886d3bf1f868995355b0b325b08bd6c93adbd2d93baef7eda56fcc075f73586aa72a271d29a6a462c476e2c3b513277253d2e78a9b302218a71775f92f6c784ad7a625655c89155c4bf7b8b47f9e9d66285a00659118e091a418748d1ce7211c578c88d7a053919d9f8075ff76a97c70120fa179b080d4ff76ccb72042c467c29f756556f839 +B = -1adfb111016e8f56994b63838faec53ef88a59c7cafaba219127469e50cd6503b5d819759957005032083cf72ddfe05d302e0b6e2d5ad5c1a3b70ba7cdfa3fc916b1ddff116b6f690d828746f22c0e10da814aa7c482bfdd38d83ca8abe7154b92027235726332d7b6887e9a53d4557a5d500143cdf91a8b2ad05a6b81c34493a1983ed3a9754642a0a51cc61e8adf1c6cdc36a1bcbeb582b2a1043ecf77b0812e6927c29aa7d476869e7be287e859207b1d98ff67ec1433f76c7a79c0de56ce51628a67eb2599d8d6e9df3e258ab49c66a6435798ddfd74018aa7d07a141c3681cb383aa4876077d267ee459b65adff65386d5378409402e33cd56b28bdfb +GCD = 99c6b58bb8c1e01bbf8a75ccdaf5df74639b2832f47517a4ce10201f0e863f461c871692cf10c0b0828570f14fd06009d4adb049ec0231ee19485d91ff45e24287c13d3a71b3bfd7917c480b4af4ec31e6073a329f811391a34ce32bc1c233e8828edb25761763217b4e0050bb5aedfe262bb6b8349996a677caf876ca78eaf + +A = -12d63c94ee481f3456beea44af3c495a4d072745d7b02348b266978c7af7ac9191369734b0cf4bae3314a358b7b1048d2a6e8231e812c6ec5b2e9e1f549bb3f2bc3df240011398e695ee7205d71b2ce1b2f3baef6910cbe938bcef5bf01fb6a3292d20165a8d3156942bee0ef847814c8477d39844a830e4b1e2fef916fee437340c36d85ecd0038cbbd21ac1c40b164360cedda48ecdba13e06c7991cef2c5622c5839e2706187f7cb9e5aa92f45fe18250c8e2b34a7a49aba8c7b34e332bd84095567ba3c067268ec778110001e661f440e0298c47994efd9cff7c0c16e429f8f8c12da541bd7f6e58eafb2a9750aeadebcf16cd84bac62f585cbcd464f2 +B = -81408e8671c0a8458c3fbc5e0ce88ce3032f2c674b19cd41a69b45ab3269793233783bb14625ab91e6764c22eb9737911e30d952c2a47a775e8dadb1ef01427375a54cb49b7ba5faf6466ad30f9bbfe13457dc76412db92d9a84c9f475ba1e21581f76c54908ecf3e14f54ed87ec1c9146b296237bbf2db6879b968414407a1b584eec438f3ad03475b6125ff992749483d66190ee118062ce264caa4fe3110f0801500f46dc1cf5e8c9f7cf2c6025fad12e8633b3ac283546771b0cbb091cd53fd959566c453b41f06d85dfe5fe7d9d2e7d5731d57646cfd7a0b22424c50c602e5e619ed079472fa7399c9c76d5e7c75cf0ea9d473ffba8c88d4867b8d19c +GCD = 6a578439a083f05c2edcd293c34cf167310b33edb30d8fee813e056d374a558a033519a1e271a5e52160ea4370607e019806923e080dbaf8c63824157c99cc80d1419c15beeed74cad27db4f9af54cf6f0ec8ec5cef960831be79d265715694fa7097cef5da3f1e4d7c21844aa7bbe1ad6d1dedde20ad88766094b1438706896 + +A = 2d70c2484fb4239b7be2b51c8d816db7607939a721fd1108091c99a6ce3f7b5edd687710303c7d824ef71b42edaaf93495ebd7e0dd4002b325a81935aec39f4044c370cacc4f099b06f3c4e7dfa63c3beba9182a358cee1b367743b4e248b8f2f34b1ffa01baa77ec2039be7bb969e4d1f4246e89cfb93408ff22d616acfdf17c7a2b41d1151e6853c2de04574913f1bfa63501b60a0eeb1df94b4e4a9fea54adf35c8119817c5cb498e47d9aca746a813c9aae5877004fb1661636cc3a17e4032db8f31bd741ad253235216ecdaaa42cfdc16b4387e0a28189cf147811546a12558d15d394523abad5327b6cb85452b829ff61419ffb66c5a9b0af6a11816 +B = 4ebb703b172536964ab4a8583b4bd579d61952083b712f0fc26019a0b960a5fe650612a1bf95401010c41e56e2c185c4b16d65306eb9945b68bf726f17962fd90436b88a1b897380570cd008c7397ee34907296df75a2bf405615ba50046c630388ed9f61a66a8756c5a447ab4d137791452b4a9bea297497a3d8a2d3dad91085dde290d2bdf717124ff9d7f2de486625b87574bf1a7610b56513b68e012fc25a8bd10251057c747153db7fb16d97952f88e191ed3213f00a30efefe98dd8d35f6631821a357915decd4db65276b244cec14ff9141f95f5b0d5bfd74a747aad9df25a7d482274ff4def5e52e1037a1d9546b44bca371349157c08649d2edeea +GCD = 2a82a48eb23be56359b3e5f315b6463a310a0b0ca282bad140ca37367a434cc5350fc90b64f3152949a59ce007868c5e2685c037cc57e2074a3b93444ef4aea3bf9291d5d096054fbd2eb7f5b915e8c1df0c89f41642e6203cf891916d9d40ba46a3391935f16b4a05608ef714a18b4510fde84bc457e74e81fa9cae067fa8c2 + +A = -8d8e49ee7f78439b7f11ad119a303ba2dd15f0e4f1f72e8d4d67658c18cddb296467ff31fcd666c9c9a02915e2f3eee86046fd5ae3671b203fe1c1d8c5ebe46db6e8f56ac6d2e380d333435279b557b18daf065d4df4519cb779333f7d612d10236be41ad4748989a06c2ced17756d8435e80651ea3e226badd39507a4c7a8d4b3c3411b5c65e56968be5d4dcaf2bd7e53d59bf027047ce86ff47265de652952c504716275efbe2f4c10ff2e053dff7f0584032226ddd98c4a2abc2564d95bcf7fcebc138124274eefd0262e19b7a384949ed7f50b91256e2a7bf7f9a6632f2d5dbf25be62b0fc18bbbee8dbb1832a7457e667a89088e54212091788cd29980 +B = 21c880d8d19cd58561207695df2ecb75c676ad8eb3a3c3d93418e25f4f8532a45d38d832a63e8218a1c159810fa8178db4624dd0d13fa383d946729f62c086a5d275b604c44c20566ab874b815d217d71725b8c9f1665986f5db654d19bcf8f7adf4e9363f7b1cd7cb52aca2c8b3389101e93a0195c00800516e7186b81d99f1c630574432d460138b96210c6963dfe6615ac4a5515d44369b3e9fbd7e151f63b467652912ef4728102dea2c474654bb6e2c4b49feb17e1baa6e89cf7d24cefc514b76b2b0d2ed0472a6a2776a6f125b4160faa47a5c3e7c78872e4f183207d4653cdb0c4708ba28e591c67db99d1edfea084108034d0040cf86f586936683d +GCD = 608cb28fcc93aae3bae0c987a43e3aa30686e1268854c792fd0a480fadf22ac38f716d22561bcaf84b6864700eaec9a0ff95dc92133703362509567bd92437b459873a6baf7f8ecf0127aef06f5bfc015dbf00fac69a2abc7c21934982bf2900a6d82a5ec44085c2958ae650fd39f945cb3ea6c3802cb07f9486b89a7f65cbaf + +A = 3f2ced217cf5cf5ad1cf3847e8c037321f2ee39da3e6677e8569f3ec4e4efc96637b9492e899e053089f256df8a7979e73c8e1c91b0a04b74349971388848997de4cc5517a7c2ace999ddd34db1acbe282697eac24e65b8c15a5f8722570cd84d6c7f6cf4d4f8723eebe9e27d314d45a3750f78ce96200a173f4235fc54cf9c3c6bda60706dc1264f92edf293dbe71f4a1fc8c5cbb59f0314f16f8290e40404874c555fa292868c3bbd6cb399d3a0e78405975548cd2129eb748f85d01205507f4a41738d5a30cee5da6b0bca2e1e5ba80ddaa12f1cb06b9f0f0e8fab000973f19d108a84241be744badbe0c7bae5cd8da4d7548e84d76a97739e42ec6e45fd3 +B = -45dc80f0970a8064c44aea117c846f9cc2edbe53a661b3743d9c66a28eb203fe02f788fc887bdd4a72d4b1d8cc69390c2d9f3ac324085bfd99eb924f207fad7aa78a5ea08454eb30f2603fcabb74800795fb718ee977d31edad0a8e7ccda308a5a5bf6284f6221bdfb4b1d1d8dae08587b58288b3a257842e2646e273b62786f2d6b2c2ee6488b732c510c3e678099bf49fbebb21ca28989b2b0f25cd94f80668a51864addddc4e7b27a875afc459b194c1b013498f87deb14d0bb1e30e73b5fa394eea244c0d6887a1ee950cfd2f6eacf78563c966cec78a3179a3c270141b63b7cc10d0be93af9513a64265a16db221762d1a55de12a2718fe85c2803cc3fd +GCD = 2d1af9e56799a3104788efc7cbe2482e23d3d419034745fd236d057aa42287c17e5570ac64c905beab44acc9e97f42b8aecea503ea2a3802fa4c1700b9050354750c957f8258153d52ff825a67b9bc9b5af54188019afce4be77b39a5190d57e8ccd489299012b1e7f528b5b7256feec8b52e422d7fd74c9e130d3576a10d50b7 + +A = 5d3d9f836b291d015d1642dbfbce62826e1106626276075a076b65760b22fa89aa775b834fa7930363e696c4b75eb71c18742a33a3f9cf7754c1eaff142a9a9ff049bcfbbae504779f513caa081bbd116867e792df95101b56198697a1f9a117ced81f45f6352eaaf094e8572fdcac58444a86c7b31cde18c82991fe58f4802f1386791143281a3c9c95e7d79e6b89e1ba3c68347e847105af0fd4bd730b1bcda51c229d27d0adfc1a4be1a046f31f5774e2db8a015b33733c04bc0eac32e4583d9e5410d16a17cbd594bc41f6db341f84cc981ce8c6d3c88b6477aa28440c8f573a53e88d3d8b8eda98bd2cf1f9ca6efd79d42470b9592c7d30553cbe05d112 +B = 1c7012c654e4a4ff773ef934c72d4349bc661cfd68c998cb8a9dc4f8e2ee66a550ee14995dc7efd5191dd800b0417f0420cbc575f7a84c203990099cd4a4f44b60cb5eb565deb005554bc3827bc0fb546927c0e07e40de514297e6f44924996e881cd738cb034f6690836c4a307d6f892975e90c0cd08ec335ac2253cc1da0ffc242a46794780b3304c8ea16d420250d4fd40ed83cb9243f5837d99aeb3d75e0dc29b29b49f9816170d4f48f13829221ac699088a823cb15e0570ce87d7b7e279891a6c6ba4acc6ba416af6d6f5fcdbc068fc0dc0c6c900ff131b368c0378c2d3cbb5f6dc0ff7904a813109501775775ae568f39cf560746ee5e729ded29b1c6e +GCD = 3c2ca5fb4d89f71f1c6281e70eeca0249e64f39a2c826bede8b8dcd2a6b0e477a16b56e0b60d71573714892d708cef230983710dc7514bb017593ef14f64f480ec2fe0411d8170936661963522f279a0a148f043a1c33cc9ccb5b63e0fd3dfb4bca0fcb45b60c088e0b3d58f7396fd1800bd32183a2ecc1e866babfde6ceafee6 + +A = 44ded5aca185dd694407bd38eebc9cca768cd27f963d9b5cefbdd98049ebd2831c80de83b725ddffb97b2ead6fb610e673a9fcd453a08f5ac0d870b345580e294825f396eb860de46afec56fb05f4f3b409aa7a1eda21546b3ea4eeb7e5323dee1c48ace3c71ac2b551139bb30a193335ae18ae50cfce13b091e5b43b68d59ef3da4cd837336e3cdf14f1721982e78ae29bc4c07c90f27783820fbe886fdb367a6b8e2effbf5a513e14bf08e28a78d186a74a397e272340e4eee9a9104a156096f37ae04d1d0de20a576ac8229dbdf8ba093d9519a7abf3ee2ea02c77d7de25a17849e66091e9353fe3a9b8e04abe6fbb6f9519636989554b7135ff2902124843 +B = -1f1c2fa161b604e95fea54f24f51c94317468de7e94b7b4f474de7b275939113092c49a73e49ae21e5c6f501089a2826ba562b9db28d9ff00d7ee600c1bd18ab57062b973c2a7b4016d973ffb54ceb979dd043e8d2af0b10bbc57db1d9190abc21e1ef4cd947f67c2a38a25b644615c80c72bf98ee62d2615667a842e954d7de3e68d03d048a9323b1be5d620b4a8a2c1df47daf567e0366ce5137366e13a8600192ea886bfcf4d56315b9759433714d0b8a092d87c92c9c9c2c6151eb661f2da6de09455d4086a15fc10d1b3afcc0c00a9241e4de0823a532ab3afc09d9f5b0620bf1631ccd3a470999e36e54d33964988e23ed9497e22687747ab00db8c432e +GCD = 22a354280da7ef2e3499f2a7766498d49782f43277ea6394625497be1ed6d04ff9dc5158af8ea751dd5ce0a0281fb7b1316d96cd631079485e7689aecf2ab6ae90e9b19fdd77c14bd7a345b37c24a28b2885f3664c2c7973b81469026ce27885c251bbf021b805e22b587e6dcd2e14ed9fc443ba63a44f5809c2077305bd4ab25 + +A = -1022e5ed6a58542642d4b171a779980552168e504f5917d606f2925cf30c84166dc864f4de6606b4d857fb30b7343d77c57c732dacb943685f1d0648712c7bd83a070557049764a9adca35381882d3622176fc41dbbbcace10d4804d17b2ae0e8873336208d2b979ff6a91dbf3580e3feffb99efa19e68f06587ddd81c41f7fdf7af7db856b03a41dddff08aa3d0eea9cd0970d5120a8006de36953c11bde001f11f7025a8c569bc93062d104058e77e9c1e0785f03a8792d4fa39a038af04b53f0922975c8fbe10436ae6d0f21bb2b133c8020a4e03484483e796e76239192723754093ebb308f9e0690e99cc7f1c15698c79899689d1e39e1d74c824c2280144 +B = -9882caf7b6f0eefc03abbe274a519c611f4be88253cfd371c204d22b72bdedb3d6c0424e205decb797611d2836fbe5238b7282076635299b4164cb4df3904c24b46ce4d14a624a88d525621cbfaa9c8d5e3508dffb3333d6fcd923a39ebd3336e82acd6441aea23bb98e293fdb5d2a96c0bb342402342960cb77197b454af97050d50839b63a03b4b4843c9b9a3e5d52c5d6232d9e6fb46bb5c258ccce89b4e3f3cdf9a4c01def7a9e2b1ba59169ce8213fbcf6dbfd1f55a976e1f88ec3522c26d96f25c1fe85c243c0f7c12810732f80287f706988364d59bb3177fca0fa3686efba90467ee81aaf42ea43d2e862fd941a679c18058ec777668ed8adb480d268 +GCD = 6e3d9c18125d761dfbda9138efac235d55f5099154f1584ec213ceab34c557e773e8b57ee5fc6346722b01e7ee7d653f5fd04df80ce2f0fd060bc53616eeae5f8a81644bf5285fd352aa58e05bf105c3d5e511ac2e8cb470c9ba6f1e3d904d7027f89012e0fa0d02a3e8c289a691e6009abb4576663f83dc21541f96093d15c9c + +A = -27d092935233ad95df5168764e57f35c82f2ec39e0675dfd43701ba2df99aab5bfda270c85bee01c388b1599b58e290eb03bde342f222baee86cabb639539506b5e40dda162a40788e67da48864763f55ee1f3fe88c4dbd8ed14e7638ef99626352053bb687c6a09546d01de5898d62e6e07211536f918c3d2f3b15b9d7624ae72c3d5f46f620c1f325dec121ca609ae6d0df3e191009b6ca824d1620db4653dc4f797b5a6f9512a73442c610674fd8fcbafd40d5da36b1a3e1722af35a7f67c8c5127b7c5eb9f29feb2544ca2d84e39d8291fc9543a5c3fbc3bf8039e0d318949749039a22b07a374eab5ee414ac1d84cedfde0afa1acfb4c4e4aad6a5669ce5e +B = -22771f47b6835e4be04657a7388423bf339803cdcff3e92ef4d00d988c642404ac0e81e7a3c048e1e22085068fc33fae70aec7da3c15474246f0b0190afda06d99b5b2a728afd3120da6bf986fddc623d8cd9c9838cc68062169e1da5586ea56a5e765929d2e8b9cd7da7388279f889e24fc06199d6d3c0498b97fbeafe6cdd56c8cd74985697f5bc0b21fa9b076e980561429638fffd6b46bf17046530963457a530e98fc7be10cc085525b38838a380ce10e73f1d99b1a9b3d4e17e903904868a03f915c35aace842caea138b23dc6bf1e5f9843e4099bf1a5e52c14ad190fd2d1dd2d8e06725cb88c8dae6af357a853ce8a201ee0dc6167ba9b67e309b92298 +GCD = 8d3294371baefd04e1fc6f1fbaf5113799ef022f2c89430a940a862a3d3ef1c5cb3e68fb2c860961ccd7b399e25571b55dea36c187023274333059c780f53944ff81dc5e5bf2ec0dc488716deb59044048bb9b619fe1cc9635b4f687bb36c89b899731e137db1f76958053f0e52fae11cd3cd34504c884ed7edec573a1c031e0da + +A = -122630249adbf9a46c2181cc6a46e0016742b5c7ea1c9d971d77a041172bc232ffd8ce18d3e0f4f6a735099a2dea3d4b4bcbdd70b20bda8cb7bffc09b0536c4c7cc7ffe544985302f08c4184a96b5f67c3f64badcdd2066d5822481e806193b7d83df0c8f832ceb2f0799be735a1028ca59cd9779c8cbfed1be89c9fd969da81bde4de41847d50405a98d273f90a8478a41b0d31fe631a411b38dce71a9a0016ff2774492bd62a8ec70c44ebefda0c9bcc674e7f4b45c17a93c52b764bbaaf28ecd2a1fd73c7505c6c302536a362c6ba02fdb794abe4265960286b43ddfae23b713d6f0fed51ec7543605042bbf2eddb756d09871a64e746bd7a68053f0e74bde10 +B = c5ddd85066c65e1369dabc68278fe3ceb033d21ddfd3f7097bac56775d93c45c98405f79bb0e960e6e8937de324152adb152887c51fc7e8ac01d472877fb507dd034cd4c662db8e7ce5bc23db34056591c639e52e3c13c0d68ec6aa16426947f79c759974f956f0cfebaaaf89c29c7dbd5e8d722fa35c5a9587f70f4cf082a9c992f35a768918e2fbeb20ceb717425208bb3c20747daa67ea9e9708a6a4a8dbabef958fbbd4e47fc7db110b49e36e758eb92165a6283d8ad80231c08b277cdbaa87c549a8f64cbfcc1029658bdd5a24a21702b1c37c32c01937cb808410144844a53a347d787e36ce14fbd581eab309673a11dd0b200d0041bc102c716ea273950 +GCD = 12f0ee0c662eeaff462c1baffb25684c415115d0c3dca31f7138bed62a2ce98f0f7a83daa113a2ce50c1f3317e22f0962a01da9f1e2aab917f12cd9b4cbb8ee9113ddaf1080c9dc09cf7dacc27308d6b610a3bb64c98357135331be3c146c2f9dd00bedbb9f0863281ce1de58186bf9b968d79c31216b6ef331af5bfceb44a5ee50 + +A = -3d296bc6206930c4f781b1a438c28e06751278e472fb1d57b49b5587ecd7bde36e4aec743ad9864b3a91f4b448d996fae6cb70879680081ec2c6b95984f964fdf7c811aa09cd6fa0b15dcaea0500022e68fa7c39c04c46ce398d5c72cad23d18e073bc2e2e4fe0dd5b333f2637b4b26818ffe8e41fa5225c62e3d04bbeef39556ce4f9b6c8a2228bd30a8fa6670a212b2fdb64e28dbaed715e55261bdb7f03b409b0befc70e225e9544d0249efbdaac7d2748216b28b941c415f4bdf2e0e04d7f2f2f278ad4c16f8d3591259929d9958369d37ac1ae57b940f0f67077d77232c8452d71c5c5e833d0cbae77799fc99cf2ba698dd698f133096c975cd5279cef1a3d +B = -3a088c5c237b3073fb015a3f79e8f10153fdc8e92a880615eb2ebaa10b99914ed6c29cab2006836ee9414bea85883a627573fa2d1b3ce3f3f776264951dca414238ee0b894220ebcfbd65c94e6ea7ba8b98d23151d6d936dea1708b5cc1bda1fb39d781eef9a2096855b32fd96852fd9e4e5589bbe6dff7d9d05023b9048d789d119b94aa2b0d6c1caa3b62b7798db1f60ce7da9d2331143330a5057f00316d433e7a2daae49a4d129bd7b1633dcae32944f1d0237427887733b2ca434c1412b21db5672f32cd52982d832283172134be29bc4184ad3b983c28d9579bee7183566aa1010c929b0d08769779fa59739f86e085ddaea2bdb951c2f8e5e62baf29a8e2 +GCD = 24c2810440f3d4773dacf9f7a67b2cc0d03b35c059bc6aa3b8aa0f0a5299954061259310493cb1940a2dc5b62537ae82373b82ccfa115413d2d3570ce4c4cc5475102991617363434b0394ce891a7bb8cc49035fc9eff2b4df6a49209fb441195f9ad7334ecddf78f2dad78c50719081f1c88d5df36e0d1a2f6024239b3eef8de1 + +A = 880d499496e6677c1f1e86c5217bcaee036ed513660813c1b2f35fbc7bf500e0cf00a9643623b8849e1a5b78fb86ebd873061139a11ae8b1ea482cad5b69f04a6db0bcfae5c8944921b53ccc7c531c7a4a80bb1368f81a04a9bfbc14ab1d7b197f5c25f7a8ab853023a9752b06a35a10b434b5fcf1f5768c43fa7ef9a9555283e019d22e3a4d8ad2218670828e7dc06f98dab27ccefc42fdb386830245c3397838a18d59e0c232b2affcb4fab7965e67fd103596613c83bc4898c710ccf106853329acc1f6d70283f697feeb0e1593cfc69c0e86e58829cded2a928b4410efd5f1f9484c6684207dd8ccf18394a0118f5c9e668202219dc09de8071ef9845044f70 +B = de506155c2408beed4de5d031ee47d882806ba27fb8cced91fa9589357d96a96efe68bd4e35632ffad751b8dc384d563031862a612998f79f1b06beaf53e98ea881f70bcbc6261b1c4bd2579e12b370d4e01a31dc5a2d3bad7f3d2595e534f980ebbd84da0d1dc23f479d9ce7c9657ddc49a4845c2652f05a89607468c27b1342c2b8e04032b035b605a2df2af7056b0ea18da94e3eaf6c7f2201508e31a94d482a9f338f5cc58c877ffb589bea816a83db41071f71ee254bc257edb76bb955887971490b52ecc1ca70dcb61b5bdd9d70556bb18fb51bccb0410b204014064f67d50d707be0dcc9d56ec6e6a84e1095be1802318fc8fdd049070921c833dceedf94 +GCD = 5999a34cf31246bbd94d697000e4ecbfa9b2e6fb473d0357f6cc681d40d5bec39c2d063727dd36bf3d6d38386a09e38ca13d967816aa5d9d2c3f0edee4b7332e0be284d959055658bec645dca93ea2cdca8419e5f7cab41b85f33d46663bb20869798a143251bbdc3805c6eee7ef27d3f8a8843844863ef13ebb48db7ed58ad214 + +A = 42664fa1ef8ea6bf4a3dac8e6498f19819f3fa02a4aeb73c712b43279ad3a807dc7cfea3c4a8f563b61ab3d63fcfdaadac5a118461c7db09dd17a44ac35c5bf0aa6103e6285326576cbc94762247bb3272b5a447d194e4868b9be85846d55a64d5f0f6384d3016bd139682f966f98b87b08155547295bf514a16c94f5767594f2114a3231d05ac9d672711f5775cd2db0306e517a777d3fa2522078f86636cc1fda0c6f635b6380764c9cae50b16878e5b028ac91aeb51cc9925d47b23873c82e7936233147347504650fb4418409c7b4e6c6ec4cc3d52fb6a9185965c4132149968342dc623dbbc74cae5ebcba93756a5e22e4c24a3ab2530728b6f286f57a8e616 +B = 1e129cbe8232716ec69adc048bc1dd118946e04f0e981bbb948e561c0151e78bc5b4981d0b7a1b5741d4a41685049395943fc01516f789ad0c5f6bf504aea362599ea73c3be6c3afa7f468cfb993be3c33eb2ff951c7995a93c11b6de6aa44cf404fc5000b426f8f395015f2bf7956c6612edb9f7f2d5dfaded21433cf069f51e5a1361a1eb370bb113f43bb3f52ea2e3996a8f0c7c238169375ec9a45ea5bd554609be60d53ea9a0327fcd893aabf00b9879ac539d94ebddfc512d90bb6e235d842ced85024c32f1299a1f5be22df6bb9870de6abf0809af043b2bf68a02e14da734c91cf786772ccb856610e0c4e66dca7020ac7f455009e87b7707bd43683f3c9 +GCD = 9e8648a4069a067c5c165312402cce4e3c2afed8203a3902daa571b57622f38bdc2c1df7c9936ad61a65e5d58b1c1119df5be38aeee409130683fd0f4e3b8d10e94ed7e95283ce981147863f656c7e1f0c94d8f6804822554024c7acd77db03f02062f5a5d8860b73aa2850a2b11b443aa78ae7feff331400ced3bbf8274ed3d41 + +A = 8a10dd2d80ad1acf6f163cb29f6c2168deeffb44cb71f8a7a97ac991f330781d412c12cf73adc76b45e1e4d78b3c68215de81a7b991894feb6b1f40f8996028d0194e03339ed1170f24f4c3688aed8bcac8ab19ef47f33126112c5df2feba5517668637821ce68b64c8efc2cc25785ac41b5f181e30dd2a90b4a7ec5bf166d5b9d756f97c7415cf45a501d5b639299043af483a310c439c56cabd62af455107bc74e6eb36c16b57ae1298eb81189cad56465a691346da1357e8043493a13317c009177c096e6e46d78bb18ad3ebd289f15dfaadb58227ddc765c7bb677412713b001c97b64256f5dcc99d6828fd378be65f6fd0f6c7f5beef034a68a15e16cd4e6da +B = -19be28ec2cd1023085e3b5e3eea13ba07762d251aee26fb3856b720bb3e8ba4cb7ba97f768a85539171feb7204125e8230f0e8a62ea510000387ae5afa395280f03ead685c2209f53519f8c6a3642c8e5af10c6b0321d8a47a53425896ea87b64403aff68f1fa0e29f33e2f178be38f92f8ea51aeb1cde9005328ee6dc8360f0d516be9280bd3d81bd026222bc510d58400094abbf9fe2f7ebf26d77682ce695e716abf2a3658d242fc693f0b2cdf16487dcb434fa2806bc407ca39e7644072f40e2ca1d692d45e2a4093bb5d98c6d085677d4f268603e9f32864961a3cc66a6b901ce63b979f5bf96b1257c7994e52d3627f9c8470dc62458cd7565ec027e74ceb64 +GCD = 1e637995253db39d550bbc2c64444c3730f91ad9876f67538abd456e824d316468066ff63e3ced26776270d8114c5aaf0b9b59c7ad9c9e401b9753b9ab01df767629ad55b56bdc33ba6c92904703503dc0b786d537586c7403b9eeb6a2db13b78e4e781304f9957809a0e06bffdb70c5e665703be8b03e350dfe45fcaee026e96ca + +A = 3c3b7fa369023905f43b24f1d3ca278af92ee61bf3c075bcb7d93272f1cd2e9cf341cf5437b67a06aaf999d1afec6c7d1843e9a37dd779da0418c414812e1ebebbbc30aa55960eb733062feee5d2feb4e296d82e49e1e8ac57989b5e22d1aae76213f1f4086d4e890f5a9a85b0ed7826df5c755920d964f311f85e50e29268b05c4af1e2cbe43763f681d76262d39627d40c098216922eae54f21d5ac78629585220ce0de6d4ef46525d0167a923c459f8aa63cb893e09ba15e6730c5888a8f70e63d9829d732c172976492e4053f377e2a616ec67d0d3a8db390e6aabb233d7bc361f0b33f5c934606549ef7aec4b8cc089bfb049f6f8f3f28452bae47da1797a9c +B = 1bc847100c03ef795bccb3144b3c4d6f76329c06f5ffd5cee5663989baa871fe13353d4ffc9cc7cfeabffeb39646941682ad3d17cfb4cfebb578fbe1319dae9136e5b76ad41442e00919f52da306e4221bb9e8a8ec90e34dd632d7f5d1753a7d69b8711a004d51e3f625aa8cde54cf425ab7c494a67d74caa85faf58f5f1864348ef305bc582e7f1520f1fc2cf0b42debd992278262244d0a111e61ef942ecbcfed603a126dff45968ba6b29b5161cdcc36594419f121a7d250862fa99e6ef6e2cd06b7385c47829efd298fe4a98d9dc3574931787ff47c5fd8e1127c173854a621c4179c90359e411be18f9a4d9a213b9424bb1328267aa3a5bbd89f93f2e4e69b8 +GCD = 2ed040b9d16477eab33ebcd47ee9e4ff1adce5df52bb02413990b1753bf475cf93729be096caa3028d2c93685d0f46cf22f424f80fad643ccd36438221057fbec594d90a6a3396e762cd04f2367ddbf1d634e7b9323aeb56683058fe51fbf05554035d07d896e935dc7ee43e35f27d36500b15249892ce848dc9be63dfa96d6d284 + +A = -62a364660647f8265008afc2974862554d2b2aaa942fbb0407be48df89442645d7446c505b43007c85695f7577b72819ad502ac4eaa4cdec4c530fbc7b92a8005822516a32c18cee1d491c29b16dbd584d3b0d9c752dd01f11810fca4e6aee381a08fa97c3dc313a36bd8ab1e37c88111dab161fa8736ee9a0c3ceb9531d03b3f0b8afd57441a0518ed50785e856ee8c5791459fe1305070bfdb736086bdaa2c0902134a3361154d5c1ed7ddd83afdb9c4e5aef5274b2bae363e969261f75c289e19f2d758a04f26903405d8bada8d100fab0ca531fd1166a7427bc76e8360ca86bb94676a75fbc5db11bf74c39c387e222ca34aac91e5063d1eb00e78fd990b53e87 +B = -fa9080f1c8e490a5d50ff202b8abca91cbf9fab150716040b4618b40c61d2d970494d9e0a4fac37a23b27297130c1f13f6621cae045bbcef5018a20d651d62e665283d3b4e48fdbf2ec5c7d68e18e7215b3ce19570d7722f6826ae37241c7e2c52a421ffed336377fcd97ccf962c007f6bb027b7472afaab4f85d80a8b0a389e23672e9fe4186e6c59f68376be6f602d2786bb23d2a55d30cb2d411b35e6aa36d7340b85112f94cf6589d2b798820e4febc0b8041c8410ba0275d89e6da0ff109659e4d3649be1c8ac6b9e92694af53e1ef7830b96d03b201d03de4bbaa2d05fc8dd588e543f0e08bde0871eeb59ac940f109f05c89312084468bc31cdaadcff33 +GCD = 45c6eb6e4cae3c81e071c3e72827cc2ff782d8c135276669162099d81667c07c499d67a7a7344c99cdfbe00af5a10d90cce05a751b65f6aee02a39f88f619e6dac16c944807a725e300070474e72164d514e94f5399bacaf1695f4b35649825bc272cedafc5b76a06d5903e0c7aa25c1e653e0dc425cd157efe4ab07ed19d06bc43 + +A = -1b296994fd79cb769d59e51311d5e241a9822b72c10a53136ce55dd3c28340abd6e4cdd6ad72a905fe96a7a8dd8e5f2042c975d64137124c6140201292a98f095fa7ea978a0c7ba97ddfbce7d297ae6e23fb48590355380419966c30edd9b6b29bed9abbca475e80a61463e388e0bd03b5169928142d6a7612935ba934eab59159da3cf586a13d803d495f3d41ba3db6ffae334175b34a50e4f6b7ac66e5cfb2202f2b8882193744e43ba17bbfd53a5d865014700d6a82c99b6433af33a1f3cc33f04afdcd69b029f3e9bc9a9bf40b5361c0003dfdd86449f69cd38bf5f30bd625f87c922c4e5d6d55080bcff704288deb17ccbffb915a4720151d5978fc9e11b813a2 +B = -4947c29f4cbc4414cfd65b8b7838f4e74ca1594687ce6aab36168212b8d77d276610f5addca1c8446124481c6dd2997e90e1b6b53d9b643e08722020dcb6bf51013500616f7239d55426515b37853cd22135b5fcb619194e3a373cf5a7715f4817d6809bb960066463d522b071ce9175a82385e7ea5390a49c4735c53f9868374ffbe47be53e2b5955c1f09505151c2a3b937c593b02b8407d90b1c8f25e8ebcd8ac3daaac6927cd664ab3de61d04eece2629e6924e7932e3395e20d8654e03beea144e8f16c4bd96a2e17208abd0fa4ebdf8f0e18e96adc86fe4ca9d746bd3d3f0ac8c13c77b30da5f51d60f9ceb5d7060ca623b0bfdfbf50eb8dbaf2ce33867f1e5e +GCD = 25ad2f69dfcf036d2059cc9cd99c1687be6181bd59e3a59350ccc4d1eb76fe35be9df936ab4936cd6f898862de133fd7bcce05bc6c72d4f28276b3e8aecb34cf2a96b337ea35c326eca7071f010710b58de5d13ad5252ab8e92a6e7966876a5cdfb6179b0df7f81b82ab2c6cc83813b999588794a42fb82e9d246cc17eb31c385442 + +A = 1ba30663617d1371aab0e7874898f6e4646ccb31d3198352109a0680587232ab018a8ccdc948a7d73a2ac51e9625d808402b76ecd3135c10ba05ca89b14620c6c79548bfa0a429fd96f5df7e7c2e923da33bd99ed712a94ad1d2de009b286c9c8f0c8aa2859171728f49d93502949d26ff4b2fb1118ce8ea3449dcfdbc90444d8c18600e71ed278f9486852ae84d53e07bcddb3ea1136c0c1e0ae54b55fb6348a83b221685bac25fe461ba06f191f6422f8d44644f0780b2e2567518f460b4e2dd006a697d8b9ff3a6f476cb338356aa8c7fd601dd5521c81e9e1854b26baee4fd13aff8e945bb8986f9aef8f010c5bb5d82ccbb12eb3f422497544bdc538a0f36281dc +B = -96bca9eed1024052501e75cbc0633046d577dc3ef25282194a844e7fa3719609168ede72cbfbb4f4466e31211bd76457bf9e8b3bc784df4aa7317d8e2ebb346d2ac38aae3f765fc9e09a5acc30b05d67a3335727b4a2db5952545395147412aca32642c3a3bcee8bc8c8aeff88522d13f90269f2e343b7fe6210cbab1d76e57c87738c14226965e4c1abde211980812b236211f707b6d0056116e7b8254da4b966db2fe1d0bcbfeb3eb1b270c946558cbc42a6229aed6ee344507a1c7abd1f6cc942cfc82226e64c658138e1979f2676da1dbcbe3e483339ff1e5eefeb4a92e72f69011f73ed351e2087b2c003118327e05006761580bab9ff28ff3b15b32b18797db2 +GCD = 1cefe3ac66ebe9311b57f32ec15c00327608abc08c8e0ea3734fa823cfd6a99d73f10ae00d571849be753a7645bc9d0d5f3f964b27e5e87628c34431bc928cb2f1930e177f76e340aca6b4e18dce426e2127898370d1211203ae043fc1996b84e99470d1a25bb0750f856122ca32444f792c6683386108d0474bb3bab0e971750f8a + +A = 478a5c3fb819ee019af7530797a6507dbc6db51812cab82b89b88bc8a0ab29d9964314304802b82f590af06a77334a569b3055b6a9d5eb65e9eb0b2c8f7c402668f90f6f6b468cac6f1cb9c4116004c192b0266c07b5b23012911944900b88ac5bc611f082e01b024bbc888b43e1330d8864ef89225c8c378b0af4c3db8ea4f6f16f35307b33450260db8219e1852285cb28396f3be026a7a49fd09c80d803355220951f67a68b906e4fee89c8c47e6a2fb465be105126d30bfc7f9b8801db3e79ee1ca8b3d0c00974682e868bdd3cd7a07393b26108fd73679ad6faf539b6cfd0debc51cf106d37b629af53075b9aaf52f06fb3cb1ead8d2438c41b0719d1e8152cf00 +B = -273fe1b7359bb865c48ba7b76d09d47e6a6e24e5e916cbe0fa0f16ee90497f498553b490df54f84e4f9948c5bf6056d7e1c4abb5c34576fce390775db49a46184ea8f0e8682e480261ed987ce9b7017c30c80229db8abb1ce1a1f0686071f88cc90ff7cd134bf5eb03c321f8f714f680516261ba86d0a752419423be905b830f5688496cc498e35e571fd10d8820cb8d19415b79bebb16a0f2d78fb42e5c6aaac12910495b0d7a84583667ae6584fed3f400c76783e24031c6a9ba6fa06aefd1b456fb721ed0db24494777bc9fafd74a0d4f86bb24c1794f2ea38a618bba57422650159e885eb81831e89c51bdbdb14bada21d34d9a9a3c3158bdd373531b44f8eb5f80 +GCD = 31ab60b9fecca209c50eb632233a509b83cb4b8e99161eede6d02e6a77c7fe9035eb3afc9fa10f98aeffaf736f5cd9a8cd1f039c9c247095bf2bb9f42a07ba0d661660fd165255958018c867585f2dfeeafc40a9f4bc56fc0f7b21e5448294c462850b5b82c0ac147ef399131bc3d649026fd12d80e75e8f6b6e6e0821b7c32b6c80 + +A = ef4ebbfb56802a5346ca57ef6b20ba3643618344fab5c3a8370eb1788ad9359c6072e3a8d72791e344bfe64e16de468bb2c11d19f401401e175dbd22ec2282fc93f399dcad1724f54fef7790af83bdb43804bd68bf2bd871da73d5fe8f81b9c444130aed1e3bb8ce8e81773f96e1c816035aae1f16e1a5b36e1409086e31a60da720d35da7b0b73553b9e01fd8c75104aa371516e699e86533567465606d3a6b7bb2bed2841754151174dd1213d2ba7ce73f4ceed9ec50f219a18a9e53f667e8f9e0b0f91ca8792802d357b577c8c39bce244ea4219e080606f33bb333971dc3af64e47058bb5274d31327c38fe6ea0c09696398fc13a220b6b16549d5a15fff28cc88c +B = a586e32cc2143ad4541ba9f1e50f3fc43abf06e88b1df4121e395f0929e8d5cfcf6567ad1213810630011e48872cc27e3f666912eca9d157bebdbb77d6aaac64f0ea31eea1f3880d2a6bf236a0aa9fa10423111373d641f7aab4ffd7404e026b6e1ed2c7cbcded9e76b2b091e7049b70ff140cb02014444cbe342e86a61c064466e14ff77606deff5ff09e28aa4560fb2aa3f726f3395ef3fd21b7b3bafc0cba401ff9802ee9c331404ef30c92cdc669fd958096437f9c0eeadacdba4f213001377a8dcc1b007abf6d72a50e5f0d8003c46606f894c34650b7d63152e2b07257b61f4b78d681052eba3399fb94be715f13397d912794fe41ac221a81637b59019b803d +GCD = 639815f214c4b22d3b8c2b1924988031364d49f42b049474f385ca466e87e2b78a7a4f1a3f598c6dd42a35438b48d3ec303851cf8527392046b3e09fda9fafd93d7cbf80ef556561dfc3d29885abc8309c65504963deb020918df5337d101c5fd6a766feab93d04f7a36b7f2811cb6896b62c04703bd012becdb287b83cf735da987 + +A = 660aa07b71ddd146c1ad4a96fda710b8bed1ae67b1291fcb476e41260a8ab2b9f7ff01db898b6a75f1441a630bf519a08dabf0c0925a6667f3ad986cf768e7dff357a7f5eb86d5f61e12796b5f8f57949df590abb98c130d5f7d6ef45c80dc2dd757822fa4b55ae221a64900b18a18c586a5825d5d3821071f123d2ff5acf335cf5f7aee7db76f14525eaee94a134799c848b5a7436ba962570bcb092d4295f975696f952f64d9dd1dd3fd4a749ce77eaa1f049a8b8fd0865e0c4af34b6024c532580a05c397c1189997cc89601a6144d75916b84367186c3a5cbbf4e2c6dc1a8989205511eed59e14098bea69201aabb1e91580911b94c77d21b8cd5b8189dda506a01c +B = -6ae5047e9773d0c71b1d32e7a00223e99fdb6515327ef026c494c6b13b85c31e9374353afc16aac8c2569e0186454107b2ac0ced76df60b9fc6baf85b2a273b05e33e319a3f9f2175e99b1995442d10ad639acb76389c2bcd3796e0969dca58ae45ae6bdc70208339447a237d6629e316ba5a0ea6ef1fadcb0f6d686754a4d279f9dfae41c1e96c276e2b984e2ab1091bf06b500181a64b53b431b1be53678f16604843b13f249fde546c92cf92234e477f096d73390496032c9725cc15719ce8162f51fd69932fcac4efac4c6025b1344a3a2dbd0dfea936c6e85a4521a983feb787f1f0f508b81c1c88e2a9e486d9894faa042c8495bb239c8af4cf288cd828dd0bfd2 +GCD = d8c1b2d84dba1ababe689df7f9f002c334aef2497dcb45053248ce402ef7eab27e74ecdb1ed308ccb540170dec9a51b50ab96e10d57d89e63b45a0412a010d7540b39300e65b5967f2c054195f6ca1e783f455991c37924d9fc043deb534615f0f48ece51c20ef0d813dfd288da02677c8af8338b054ee9c0971ac8abc56f3d5f826 + +A = -6bd8bb854e44382cfacdd6dc062fdf5d6d568e895f38f36c8a9a0d63a84b2c3d9facd6277538331172701e818029fd17bc320bfd4a6c869e3c9dd2d03bffd29ad9f4a0993d70228b58fe876e7538c66d541cb832352596bd4c89c29d3d8cbae8225d32a2ff1a28e32b1645256425fc8134161b86d7ad3f91417555e138e1b65ca1a78fd08192b5f9903ffc2d8c8fdb4003a0eabb51f0cb4c519d53f7e8b55d68e9c5f2caa55bc7cf881d224fedf71c6a40614e83f65331aca2d351836159348af6c1d0accc07a175ca997c82a044c2856361c1acbf97fdaa7411c52c71e640f50c6198434c4810a83eee537e261e18bea5a2580a7e34361bfd8e04aa06a6f3f0f47649e8 +B = 82c86e23ef4c129db834ea5da9e3953fe3b35fb0adacd2b01c4a42b257290b53d5532656b0f66808e1a3b8a194febb9fc4f08702560a5c6bb48c05f4a56b6862965d49a1014b8a317b3487f23b765fdda605d7322d4d5fa5ef2a245367e7bda972fc0ad4db2bd5016c5ce639aff7f31ed4968e79aea482de806d156fb74155a767414e23ac86afebc70efcf657062c4cc1a9938faa1bf90304941765626fca23b4091a6a82eac33d3aeb4f279c437688b00c08c2aa65dd955e6e0daf81b1c80ff34228a018ac0fb475a8b0b1b837de37b6e01b2d30177d65965f56ef60a8f72fbb47646493aee32963e7a63fcc0b7f046e1e4d32810889634a11339c14e4b827cb320714 +GCD = 205328dabed1a58b47f878fa4d310e2e1a18db441ce371a625c10149852cd14c35937c50e132b1d3f16efa56e2dd088d8c6cd6af18b2318e0af5d0aad80e031e19a28bfb88fde778e2d03737a8725af4bb6026985a789fb208a5043db76a62f618b12e8cb5dfedc8753888160fd74df134638d44a5838ed9246d0b00521b953ccd22c + +A = 45facb489c84e19e182f255ce24db33c49e7b12a54b71181c72c945fa3513ffe20e3d9e752f65c69e7175150dc822d7f8ffa85129da94224af72a1f2c41827aeb36ca124d12f5179eb5d31312b8e0543f73cd78bca197aa019356995bb16fe9ecd143edd4550a7b1a99f32592e89bbd00356460ded590a107497acbeb5abe2b75c5e1bec98c5d3e998323101bc920f90b64aa114e8ebe81cfac725466b5c56f607992c55d8aaa473de9cf1e75aa562d739172a38fb76f2e11948ffec7718fa8301a5d77688ec6edc80c23e866cf68e33a957f3c82532abc99274899f05a0dd47a44b147686eccf797e72cb5d7caa6ea6cec8027c8fab51b5748c7703a8c9d1fae466b5018 +B = 4f3bfc7c390e4b2013529f43cb855675e9e375e6f394d3a25be8e9f137e8083eb62ed60efd901e54ca601d2db0a04981845a1f16aec67a1c35d327659c4ec55b50e3de0506957ca501fb8fe9fa7f90be30bef19e14f156b158203bb3998343a47f7a47d91131cf1c8d927d67bf9746d8d9dc3b6c90d61b9ca4d6bb2b50ff140e93d226134999eaa8bca183f04a300fea185dbdedce4bce79e3b015f8ae008027f6e4d89dd1188fa03d46e6b0602e8c656b1fbf81ec8f9560f4e6df513e4bee6ebbc2059d5366c3ed7b71c78f96df5abf8e40362d17169f8939e34441621af836da20ebb69bc1bc6d4b2f47468d49228b97d42a9f15e0e84186c6f3aa08006a04446331f58 +GCD = 56814ae30565d9ea5d1a77feef3072a708a03d4f377d20abfcfa0aa72acb0be911e0f929b760c357ef76262a6c3e947d843364430409acd6218a5919acfca9d11795dcb82f78307880c0b5ef7acab1c01f1c5532f38247d34a3dd845e45c7a64daa88c6b2cd33c4d8ad3594c7255008e693c3dd3e35aea1810c02af06f0ee52b60f18 + +A = 170431c12e5da1d0e1aedff403f2f7e02d7d2df4f5c7e70b6ebf12f1993de5e289432d006f8d3e239808b614fdf917123da677b092f595f6642df5b2db8dc7ebf7786e4a062f52ab777986ed8d7ffa05a54b6ee27d3b69ad8c8956f9d8fac2610870d45531ebbe39790466e9622a80f31b6492e06d1183e0933fb15caca0851996bd9e2f1fa8881173dbbf6f65969314f83cbca9a7d7488964071e75a85ea50d3af88179d0c8ac818a062856b7f12dc58a0478c9bf9c4327d0a45c2b185183ded681ad36678c035b914cb82151bdb88fcffa1f488f2554b1edbf12d16c58e4a792a489e9147d5d84f20bbf5741b9f1cc52794cb53207e31cc146be6cd6e78d55692c8bc0 +B = -b5c9f28d6abc091aa453dba450d01a7bd62b60d71ae0e2fa0f35092afa53de49c77989ab99c71684bff7578aeaa4b2eee3b372bc6a763b9a365eb94472b9f4a83166ef4a59de9db0b6e84090a8b9d7270639f78d8af981d070102db58534b6544a35e80ddba736ecb036740733fe7b436223d97d3b3939ce17cd1ac0e2a14846328011d6621ef7c6f726451e5e2344ef5e12ba9a5e9098e29c67af968dd8b599cdb785a9e43fa0a0b07d02f2a35e5296097726844c70e8a61367caa7257b6a22616116aebe1946f2fc2506ecb32dd43ea02bdd5a3fe61f1c6d73b5be3e9aeff42d11d5f7e0835c464f9e688999a2046d4c32a8ae501a798152baa6633d5ed464865a0360 +GCD = 43b413a30d57328a6eb27e1193168df76da0c4b8b900c859ed7680e8fcf2abbdda4994a0710b400453582a86a0dea35812d19c07889b73040a754b2d4d8df7e0ac7d388ff7219781ea0381f4c1322e207486b0f4e5231078b11cbeba57375a71a11410037546b5c24829aa7ab85d87894c3ed58a70642eded9edd2fda2881cfbbafe0 + +A = 362d093b97bbef2d9410894bf0033199bfdbdb8b452d79b997bb0f614eb51efaaa1499b3a91d0479953ae6681b337cc19fb14bc8753d606f0880b34ee9e7256314aaef9757295581b1aa83fcd9ec9e3ee0c6b2fb4c13b4569532e06e86e480645ea89776ea9217c764bb5ce08c5b686f96752af5d22e705b38f5566a0b512d362af51c004318bd744c21beba52cd2d4d45cf811fefc57dc3e5694b7c809a08e18fbb58094c5707921fc8d96b7a2b90453cdce7863ab538c183d43ccdf33e898f424e2e88fa0652ace337770bae72d8a47371d466510ce432a05aae11c3c02481f65fc5e87f2d5535aeef52bd7d242601de8602381a03508a643efd1f8c6fc28cd4a0672b38 +B = 14673926e6be16a743a789298e4e882675723c475ca45d7b85f5a62b9d982079f9618a7cf825ec7c235a6e058dcc2aff331510fdc29034f29aecff663493faf7a600a9cc4d130c994be02f0300529e0256940541f83f849f31b13bbe07112768e032f2c92c5c37689b6622dc9321a4ce726858b30274b18a69231712864cdfb29f13c4164db7b1a2ff640d7c32ac4f8b7181be6c4e363cde63dfc1232a2eca9f58e3e0cc7c466a6c92c70930acf58f28929eaf1c64804551cd3793e4fa629ed7ce4cdfdcb1753621c9929ff81e889025cdd8b67aef79a16944f256dae8e3a9e2762563b6072e29d3fc393aa6866851548a22d0e3f5188a844019dc0e47903c99213b0f94bc +GCD = 31090b46338979b42b5c3690f7f197cb566af32659baa035e884bb6601f99d2612e3e613ac8c31b68af42f2bf52c9ba9af037e96c638eb62fb921658e58d805fe4cfa091cef37be5be7cc1aace5029f332519c3e01d76983616d9be40aaf0004fa9949fa89a73f6e053e0d18dfef1c1204a16e8776d64810ea3559c5fd0278a3e039ac + +A = db63d208a0633a246a89fd9031611b78bbe9d4a52c2df17383b5fff064f593a517c7a77958fc2b9285f961bddaafc19c989e73f6f1ed507013b084309467eec3381d28414330506b18150ae4716d09e383994ff3bf96fe36bb22a905637574257a63ff1efbeac747a10edb159ff7f8cb81a43723c76a29f647bd282b5429ba09b33894a46e8735d510865832e73c4aa5dae5ad288909cf300fbe50a52bd0eae44f368066015c5bf54a3be5f8b41dbc4a6b3d4a231f8abe2e39fc2227ec6dfe52efde320a5a1af5de37d0d45d63bea7eeeb05333c4baa7c73471c6d6c76054f2792bf6970e31bf511cdc98470d82029bd997ce7ceb463d40c4464c3306c425dfd40acc9b280 +B = 1728242ff6b69959114e0f9e81f58ce433367dba897d14fc31dc13806df4e482b8859f227a043562e93b72f3a701f508202885caf7767e69c24574dce94ceec8db32d495bc7e827ebdd0ae9eb61184673613182b12d7663c0756a91ae3ce082795c449951cfb965cbb5891540dfdeae9f1e31074d5ceaadf01e7fc91789eb6d953f56b5eef7a5d58ac5c1d92a2b7408bcd9b92f391bb75ed527115c81ea64b272ddb20bfd557e20a78c8b75b2993939d45ae510922554bbea25232ba0e128496b9762c43d1481314f044104092b3973873b0344bed20b84db1e31e843b67209d114e214719c7dc22b51bcf2a3b3fb00316112cc08496a06c4935bb5bca797ad88ae8601700 +GCD = 3cc6bbb37ad2151ca283060f19eb9f038565a1666c5d0c207374f3492a660b62f4e9ac0f28936e5f1c4103ba5e0101b8fcd29ca5658c977a2e1c930588843f6efca205efed539f19829348566b608e9265fa0ec3e64d34d830b1a51c2150d9c5285b2b1750c4411358cf16b48f9aaefb2ec1137580b4e3088de545c6bdf09fa0b74380 + +A = 59d18201e2c7cfcfe4a2873225463a60ef53918afeedea61c689ff19208f8023891950976204be6258f680a43d6b55db9ec4487113a5da1ddd4874ef7db18b7f7e36b96f533cdef63d0ef7c038f50119fb122d9f7fd6bdfe5c9da8a1c6fb3f15e4dc8ef235ee15a419137bfa0fc69587201ecd18478d1dba6e17124fb73d59eaadff001760945dea6de751e56f954705fdcb51281269ea1abc984236caced8741505cf27dab022e6c61467fb7598d3e171de5584f7a385214a43e1f13a4fad3deb294617b1ca676519e3a326619ae873e9d8ba2bcb4d90c9ec0b4032c8fb6d603b70f565ae3e4fd4ce4ad07ba52186243d1c10a1b74150abcd4539740e78aecf830552e6cf2 +B = -60d2a3646575577781227cd11feed4b28ba36b7d4a225c4961b566a00dcde2f4efb0178b5e88c873df721da4ed42c15dbd397e3ced5cfd9e2281f3cdfabd00c7350da145db0ca82858af52f8fc8f122b32c3cf545b9dbbadec8eacd2d8f4ba5beb465c71655fed57f0161eb5d9baed7ad1cdbdeb293ccc1c714e5f06510dcbd8d3e58685774e598a16d58bca880583de5c602f717ee080308c8b9060c298364f6858d4ecf467177e26b912015d6a9e9a72de2649096aa0591ab3d139caa7c5a59fb7e9eef5dd5786ac73db2e2c163ca85f6470531f8bd3d66b5972644465f725094ab9cdbdf742a83b05768a539ff48a8d8c4c717e588d7385cc55abdf563785b4543b6bb04 +GCD = 26feb6be47b997cba858b3f78200fcab6904b417cb9ada8af0b2abe6ac40845905d8fca55baa7397e17f2be24952d05076ad3bd617b07ea259277b1498a46c782e5d92d69aec722e38515e3a419fbfc899c62e445b0c0f3ce08b4002ab67e7888a59381ccf167f276d9c1df96ed25554a42a5e3ea345a9c3ef5e6a2236bda1fa95f3dd1e + +A = dfd87eb1e3a63116912102c87f987c39356e4030597e06493468d36f0a515c5d2baa8fcdbc87ee38459c2dfefc897b2f4fff810c704940aa7bf3222fc66422a156772b48d041e5743d7ae2d683b4cffaba49fc4d5dc66b40b091d27c7434a5852a24c0107b776a197d7b7a4bf4995dc94a0ba1f4cf52e63ec641422a9ff7f3f00546788a1e3f7547f44953aedbdac6bc4d8faa6c999ce8f5e01631f37c3338bf9c32820fa630fcdb1db71a58849d827e9145fe31c64fb8beac082c84a222594bf093eeef8b703466f3c93c9b7d3571b49fa9eddc6cfa712fe71bbcef6d5354a8d959faa109d0690d1ced14e0f59ebfc4ba099cdd983a4aa9ace7220be2606945d01fd4b3d42 +B = 81712baf4ae40cbc70b89a1ffa2b72de9c9ad78d7d23cd33cd0d866c83f5666787b664ef7340142e4f343a7bded17d12528c6eb210fe0714839d16e54998d2b378f1a5c589864067d2e0fda24ab671b8aa8f3d21c21238419e18959bdbb777aa7f52a907e03ce2eebc0862b0ccbd9673d32b61390865dca7b937192bb29fcaeb8c5dab14cb53414ffd4d3107b56dd2f10324592e46f51ad0ac62e3f8c28ce1e5b295d77de5a02971d7a0ff28e492b79ea66479ccddc5351e3c10afbe72e7ef7a85222b279128cf4ca257506f645f687e5343eb7fc1f5792310ba90a9dd4e0480a965dab9b28d45e5ec85d3e0c828a9c22616c5a2eeb354ef1318272250911e03b115e215bda +GCD = f45f95fa28fcf5d223f22c9892695422dd22173cfb042e903579d73f48b8f6e44e1bde303586d914a9f7bf74232d8cfa71187425d4ea32a36d96229d9f0ad0947625400c50162f661533ebe92ab0f73958e5138107354a216717f1338042e866d3c7d0450870368f09c17449b52b19df50dccd58cae0920199041752e3f06cc8d08c4a + +A = -50ce4256ec71d69578521b3d16707eb6094350fe4abeb6001e679c0c3ec553cadc92e2e561da9504a4b522c7d9b6937aa701c905ae89cb8f993736d2189def1c9966ceed8f25e415f5a7d4a2fa777b51c32a26f14861465083eabe0a528b947ee7ded60ea68ef46d1b9b0e65bccb15c3432754d302ffe1a8277ddb0c1256bad67d912622536a9819efb7ef39ab2aa0552b22ca258143d90ffa312daf40ad669e3683d4854cbae04b858b40272529e24333ab91c3be2033d6242648038452e73c8abe10002b8bef0b657b5f36881042e417e67126e6c6731094d784a2f81f7ad4873b53914a55b1a786cc6220ebfe54b8e92173b790ec973ef9a290111d948b289edb5391bb0 +B = -e1a6bda5e162be758a03884738cbf5a6944382a20f29eabf23e462765c4d0c7aaa40267f45295d43de8bad61163e5c730124f227dc811e63965209220490918eb2ffb637446d21950fdd3b9949e9917f9a51231db8c4aad80b2892e2f28c72af69177dfed32d0b5319aa88cd6007390ac38f4b822ff3beb9fbd6e0631b54030fdb78fb54b520534dcf7559ee1be33384dca543f2bbe3515cef09481101f40b0676fa430cf4b7422487eab50c69fa190bb048b712a50b28f416f799a342df9d68b22675d8ad36002234e103801b229d565d28b3ed1f41fc629fea25c08bd4d5aa90ec06f07b2420072bec46e9ca146f8a188e75b0a6d6cbdf49fbacf5680d33585dad60b912d +GCD = c54025b47e09a9cf36e5f2cf3ad8368899a378558f92e81ea9f2dfc0f91dc0f93d2bb99c7f3a49147ed0414bcacbde459f3915f48ae8c462ec286360eae10d21907535debb1edd7c5be5f6043692909961d4279511a6525218e359cfd9b340c6be7860de954ce7f921d3c35daa198dfdbf334f0e14e565a27d76eb4d5a93fd67fd0da5 + +A = -18236182044d104142b78e76443a4119391bdac56950d697e1c95037f4ee8138a412b04a9ce583c1bbffeea5c89a61fcf12b0068d49b4b1b9c925227f3710d3665a75268153e26a71f66d7bc184c68b9036d619bb81ae6f18178a7d45d0b75d6d96a89b4be1caa6a311847d42b7199138bea22404e964802d89ea8ecad9969836181a15317fe6e52f049b0cb67962d03f25f3cf347d3c76afea5b12a13dbb9af4e2356390fd0b6c779354fdf630735724f5cb3d14d98d38570762db0bae978cbb719c08420997ec3cc09307fd7ffaad6c94ebb03926696c82de2fc4d0234b513bbce0c74373387b44dfc10d03611e08033e64c9f09573fa39af07188096b4677a21c0911230de +B = 959ea6d3db86c81db39ffd1046120f9802d085290b7b1d3ce3934e7ecb7b5664c0e918e3cee3b16c2ebbf91a1e0221ccb62371c5e609af54e587b19e71c52bb5f101d80e9c841e993cf1d3983f736d638df1683a870d878cb7ef3d3ebfd8759dc6bb73a3f3d7032488e32d91cabfde7841a8147da3915e94951978f4dd0391708b46122cc718a49333c685f66001a852fac7c76b5081a93eaf9be803007f2f0fb70a3134fc7652bca56ab105db1c3b095917497c172c3f82972d26d4c9fb85ddfd9876bbfe120e37e1c650cd2ba7783d13ac53bab52a668a2c632b3283a244d1de59c52bb59d84665af89a48b02fa825803ad180dd5d5c924c61985e3d4ec975982bbe32dd5e +GCD = 18600a6700a1c58e78a0dab77ec2e7e788d578a105dfe0c125bf7d40aeb2e03a65b6652edcfbde90af4672b44c316674db8b3174cb80d10793a034799a2628d8c978e4ce70623350a738b62ce5cd83c576a49e066c26d3a419119075bb1af2f3766c74a59014266b3509e0c1883c3b4eb69be0dbc72b2225d79ed32b31eac9c3d5d3c2e + +A = 3e48b78a6816a5946a5d1c79f43149027d84b27589f8462710cbc47b874a70f68b6301ba3f7e70ca13f35868d0b79e90ea54bddc035e4e98c7093b6e47f62887eb0802557c12c445f73ba3f5f801cf5b698d735cffeca747d35e7d4ac213896ef1dd5a65da752006d9a555b0e715b9a0a0a7e2c753426f344971bc29d514829c1d337ad4f4098aae1560912dc3c64eea91491aa2799db50b2955d9b00b1ea5df2247a6aaea2e6d15925cbceb055f2af63304cbe251a1342f2f3942aaf77d2c34bf03bb1b664bbbbb82f535bfb6678d3ce61a475b139b21f3341c12f90608e2586c07b02b169e94f8a235a0d69d2e8eb5c150aef90dce19a7c26a9b07fe3a14d3861774d67e6a2 +B = 2761ab95eae22a289564218b9188dcc6267e6c35bd3100263299a1f75e23d11a932cc3a790988ec23a7c3e8026508e817c33b7c8691fc0b3b331803a5bbccd813bafd3172055799aa0de0840491629f6efb3eddad90426f2b239be9d69547d43fe66f534b2513f55a9dcbfc2f670469a65a15a2330dc0f56e3eee3ed3a2e1a5f253a791ba04f6553ddb4268bd059ac14dc11d2786a824bcfd1a428bea936f32860683d6f6287af66d2e8b1e4417f1e5de5e3bad464f4c5e06e05357744f181ce05dcb001bd078a8e1c1ccd0d25f161f1818b197c311412251a7bf7d23274b45705ed0f0e9419317f063499826d6661bd504cef5089a622ea1413b6adb2a30cb8a46acf602e38 +GCD = 603d924f97c6102eca531c37ad42fb269645f78672ebfad8fc58f276f6c71cc7d42dec7e4fbeceeeb61a4f291b69b5dd3d859af901924e46a0db605f7e9ff203eb1fcd48456ccf9b23c31bdd57cec06c558fea920576263bf513c06dcc3df1b55a4b69648b6950ffac92b945388c05409128166692c5d6fa9f47fa5d77e75374f894406 + +A = -17631d528082d6a1c150926ddf55fb7c6f17c227226931cf5f20a8bb42108cd7acfa284475fc6ae2692eb881d4ad4b705d13775f8cd838522fc99e32d721a8aa9eb59d85612113218c074cac2869c77aab0db610aa01a5c0058df81f98b71f2a70357ce6d61aea9acc60a51bd56b2ee906a51989e8b22787b2e6dfc5005149a5c25cf379cce0f86a5f5318b56fc0a1b42f7a9ed3273fb07db498685936ca712b374d41c268d894bfc824c2a234a0d76d1b66cc3d13f3a3c9c35c28b45de3f039e4660d3c5750990eb65a04a2ce9aff48c316d2a716a4e1fcad706802ce9af852691d244f2b16abece67edb1a3e9dd9286061f43e0861ded79ab7294823d5a97c7a219c79da489 +B = -9f1667dda719bee10b08419e8f87a0a623eb3b56f0b552a7645520b78b1926cee28b32b67c0ebc162165e551c67181813e6db559a8f07b6c920294d46c60fa717925e17765f71e0ac3ca5132e83b2ac3e45b679411c82850c676685ddd9fd917c7de8a3cef6dd75a7ac5f22aa4921b92e52d88795e6801afe6f8f5e63113422fef546fcd69155b58b881e4d182bc8b0c0c76f48b4a0ea9e278c68d101e31e096ee51cd946ee36ed3c8d27cdfb94b58d81a517e2f759cc9145d98a92da35dd26a4200ecae511dcfa3a1bb3c845ad7a95d539c63a43bd5b5d938eb7de55774f6e3a7e43abad0a45560a4fd327571b6012f26a36898848a1aae374fdeed4cf71c4e2a84330a25cfc +GCD = 7345a8d4cf2f8a4b36ec54101ee13e57e0aae443eca251206fc0f0e714756a759fafbf36b7b3134a81db28b715504020b08cc9fdec5795fcb41b4ade0ff63b52b06f3902296abc3bbdd6589d0dda3ada2e75e41ef8356d81fd55d8cde2240ecae6054e6b0603823d45e3fb70935da77730260e1cf585f84556c6aabcbc1088d9db919cd + +A = 450279860ea9c8c58694bf377e76e78e087f1d6376f248fffc7a41c274bf133324798b103fe8636362070fac1d1afc5cffd552ac002dab43a81eea58e41ccd90fe05fd52fa50194a9c6ff2d089af872cd48c3bb10cd2dc9628115fdd071ea1c66d5a8e5e4856423ff1f3de87893bfbbfade73e447f2e1086c336d5e0c8e208212f86d3da351dd47bb4dda499ea4d19e96e57ec2bc5a81154012b0521dc49acdae2e238efbf48206f03da1fe21c93477849edd12ac4bcc14766470a3a4e1d5967421074eb6cc22e35d9d4ae5a2e86a73708bd45c7d450f677e922f6563ea598d1302f75c686f56c27c5b51a6a2df3638d7576212e406fc6d97941b8258be32b7541b46aa21dd97e +B = -28bd9cd2ceaa870e8d300cbbfa75696f5850dddb6315453748de86d02d4c2da2a47b011af07e16e1c89faacc09eae580e245330f7c48d25ceb4ac00c4a49c61b837ace3b5234298f7b2cfb3a19609be56ebee9a1818b718a393f702ee72277578a183a4ac7be7f8dc786af0658c874349afb582397d06eb9ad1df1ad8868692bca894a6fafec9d9e17b278575a3fe06786d4bebddf27be21c4708bedc452008a7f2073ee5d38a3e2066d04799843b5df1e1350a7623c3f931ca6a46361096297b7b603d57bbc2de8233f6c70a58e892f5b084664074fc52d7687d5cfec0f63e2cf51ea54aa8120728e5095865fd97dc7c3336433766e4b297c81993c7e5548e61aa303bd3fd4a8 +GCD = e491ecdcd0c06790767d804f1c030479baca750dc5f21008ebc7a2cd2d81d6da34fb91786a45299d90655830b11f9e0669426c27b6052b220393a001f5fd022e0105472561b1a64b340362eb276d27faae59bc9499f8729061d5b66302b4675ed53e5b53837371883a245811d669c130dd3509584b727d551e719d301e06f7b3a85a3be + +A = -1ce80382cd89418a201901888938890a7062b5755837c09d92acc1accb0a4ee3394938762911e39b0dc9da36662fd5dd21750bc1583a35c8f132d36b0ac12b40c1f237ff1a12aa8bf763657971e75a352d56d7b38f6000f71322c65cd84ac43e1ab510d651e5b3852a54911dfb7a7e38e3263045a3e37e9c14b335ba7639865bcc6902ee7c061602bc16510188ed1844b386b767947d9c172eaa55918be776d85f9a81f8b9b90d7d820bf8a931878c4cbf8b3511eaff9cd6a66ccfae465729b7fd84b1dcca4450439bc47c801669681c54ac3a3cb2bfabf8e276be0ba5cd8dc5ef6c55c4408b3d5a1d1d5da8015a659e82bfa383bdd70b1ff524c56ba1a95eee1a185f28276c03e +B = 15bb342ed65dec3431cc8f21a322413b25a344ff38cf283b309d6959c08e97837e21fdd9b1b57dd3701757a392f1010fa58a790b6c90695888a9ac8898abc9da04ba9c4a6a8248c8c81bda8b266b42d4d924801cd291e5f4b737989467b999cebcfad555b0c528e8a29cb632dca090cd100f0222e6ce289af4f924d61bbe3eff3fb5973ba3d4672d8d678043cff5bf993250ce7754cb64b19411b643f4426fd71f1b115b241d85c28e5f93b2453954c5f0a99bc28df80242ca6839c65718ec2df8a458f4bdf8754abe713469cee35a6b44b97e6ae324f8401ad0723da5b27e73c93a43ded6e0d06eaf708477ea7c5b292ba1932d6ffb0d544fb8784b123232a9fec5b30e86846ea +GCD = 39d5bd8a23898aee733c4094756541c3833a3cd2fc1c520cdb91b541437681ea04959330f13f0c4131ea2d48f2db52ded4726b49010743e7d4f5459485a8ab3f0bb26bbafc7c19c08f84ed9f466eb1eee30d3381f87c18f107722c52fe6b1adee89c2ad39794fbb990127ec80f9a113bde1414b90809ca915de82e27823b0d816ccac6fe + +A = -7bfb811495141502abaa51787f4781e4bdf869f2659a4eb92735ff3c865101da6dfc129bc6fcf4c2ef4905b82730c5b941a40ef7e11bc4173ae9c4ad56b2d0882345d96edb828cde86bb090918858d58ecc75d1a05bfefcca1fab9cbc66f18986e2dbc95935cde461574930da5e15d0360501c5681e90afd5eea8075cffbd14f0608f85a3be886956ccfb6c29c636f8192645ccbec6f536aa523918711c263a07d6c2c790e2833a93e1528eda4714b8a48be27c7848c6f202764d10bbbb7c3f0fd670adaadd69acf2dc8a8247aa824d76eef2cc70e8f53a978344934768f40857ba3b1bcb69744d78106a86cebade2ea12c2635e2a31053cd68673c48bf1d42f7ef5bf9c7fcc67 +B = 3c09c00cf1a7bea3acb4360d7dd5f47f4e8349fb8b3aa03bba35bec038431a5a60247e9f3e61598a9c6ddf7f04926b28d673ede84388f75ef31c48d13a8fe4f57838babd5e8c7b3c85c64e72bd9c6dab589d254b932d835d266634f91dccbd12f56f615d3b419f28c6ac6f56a490dedd94a55229445f0892513a7f273dab04193a29b6fa8cdbf7452ea8dc25cd43d8e75b602f5980f90ef54c79f03cc8b1b720274adb4740082b1f821b394ca0e74c74bcc2b5f7a585ba476d97a12b9b0b85aa26bf76aa4de7518d12dcb57c47a1fed4783e711f1a498d45c11b740607d7a0f82d105c2194a0b988ad04edee0ca91dcac839ff5125c19146510c3d4e3a43b62c0dc3d3ccb465971 +GCD = 669906cfd7f14d05a626062cf68fb90a666f7328cde6fc589a919bf105cf5342c006ef3da8074c48f4b087fa91cb7377dfbb5d1ba167590163ec5f145b299fb51e225efe6515e5a1e272013b671f6defd4823a2ddc161464fa4f05b607bdbc94dccfe92cc64f85adadce47e96d0942ac1c192dab5525961819a2005b5f33723b1aaac55b + +A = -d4678ae5cb88ce55f3a66e623a7a0889986b1bc96c3a186c74c7c803d10f58363eddef30e5e275dedf210dc41c2bdb951c8af8d85c17c7fefdadc37ea73afe8dab4c83e64eea676c82df92101080d9490a0500a770c6fa23d641a3162b49f9e7a1db24339ef8e33e9e8c38ad150795d78956212d0461fdddc4dae220cb80bd738a9490abb457ea4fec31ec4240e20c9d0ba8195b25b341d8f3b67c0302c938f2c6b226eb3b3adbafb896a6c08b6f0561f75f046d7248a524df1871ba86525ffb7ee22c63ddbfdc8fc54a75ecbaec125be66668a28e5bb03f4207a26f3759425e2a745bbc4e0789a9941a23122635e235f658f0062ce45cbcda4e82ff81cf82f8220194637612218 +B = cc67d33405eecbe1d3fff0a229406a19a85ed02b217e700e10f0b86f8ce194334202d8d7050b3d7dfbc2e0b9f1528235327f56eb560aeb39e364d95717dea640158d18e171259a0d24184db0a94e9a4a9ad70094aa250a350b8b09542a22f620ce4c8ab3d8f64f0c18c5f46b0bbb8c8928175090d55010ec8315d159574e7d34c1a0143d04cd77df3bb90087d09297fc89c0b01e54544e8f33f83ae7d3e8fa21f58440c369a259f082f3a891459f23bfb98ed959cdaf23a9e322a8a2f5dbf547540ecdbe18fa4edbbb30e65ef80e9a143d1c22af38696e4fd21ed832888437208984b5e67493545e7736916c65da14ef6b6b6135a20cbeb1e332f39fdc7af9f2e1338e541500de8 +GCD = 20bc27d10879a749f8731a43d12b91a27efccbceb90b23544db8ecec9a3ac2db2c4402ded97dbf6a03bac6344bca62fbab91344ac557f8537c04cd4c65812199fbe1a40aaa1c484851550735314f158273d1c927b7dd516d5a8e8ae4a74ad6c27ef8f735cfc01dbe39a6cbe2c4a5253d4cf713ea0df14a0d63847f12b07268f16fbfc66f8 + +A = -359246f2eac8ddcf3c38f520c0bbac164018d3782fbe37acd9799c81b6550e5ec9328f9541c05602b7e7434660aff0eba05e5fa16b826f89547fd97e927a84ccef536fed4086abc03b4b8280e607fc9cd8f0a1bd519ce2afccc024fc916793e270f6089c5c1073695c25f34bbe20373049121b37131a1d4aebb288de2062e3f9671a1573afa852a782bba2190dd3fe6fe56c7d6ae8c69e2d760a908f7c7f568e0a762e677ae4b678b984507ffca8b74bdebde1bd69e474de634dc229a1a58d3a4340e8c96cc286a9ddb672504c6ac0ad26085f8fbc1e817794c6bd5cf81010854534919b559e7a31de5f855c6ef65981efd80111a6e2e25ef07238e0950a61745f1d42f29bc93231 +B = 4953790691ac06af76053bc8003afd5ce5a2bcb15b26a026c80a1b2c1e66ae2ea4c8ea1b6714f60bfe86f6dd3c45318bdc12bca557bcf58ab2c6dfe984c17ed5c87529438dc927d7871fbdb7398cdcff8e2295f986e73a1b6411d518ab1743929c01d0d49fc0d16f7a7f6aae4a2267bae5e041598011c2a915e46f3c199975b2074146fb1e9a1c9ba869a1bc198a4bd612ff5b0321e7158612bf6507827319315cf63f68d97b02518c42d8ce26f91ee578db9007b23646596327f0aaecadcc7ee1e3d35e1db23558b3aee2f8cc0d6daffa802d911c2ffd7222bdbad3e36e13c58c7db6cca38a5a88a080476ff268e372613b6e38f8ae0bd6e76899ba78cd9d9ddfed56573dabc07f +GCD = ece242a01c0b2c4daaa38037d7b22421b66e321870107df8635723a9287c30dc81cc42e80cc2a14b62c23a117ebab6138d8cc5dda2e3dabdb29903b00b5a784b571f83b62bff71237405db944b32df92d156664712e8f3209f99cc5d94513c5dc34043c10c6473c13ee2ae9289a506df1bba78d3fcf72d5c9a73c40cdc5a4e4a435e27ab + +A = -a04d9eb9730f57284b12d00ebb201f305b4d30638162b089c28fdb75f737c48d55311e3171d64c06297e08421e3c6a6bf26ab82bd6e2fbd1f331c3a02f561f5659c5ad14dee297b0109ac2494cd526773bc1ce19fc2da5a7c082bafda240356d2e6737f18e96ea7a3aff1ed1df4007efc2e6dc6d06c87bc35aafb2bcd15f9e09570b6d689c4fbaa6124cf430cf7524e2f8ea5459c344f586ee190c327abf097b34645a61a5bdc69be8b44c56322aafe675e006888c33c2e908af1d0cdbdf594d10b7356d1b71927344c42aec71a206864ed527c43ac7dc0968d0c5511e157f297d79c47bcc2525227ea0358eda3c7609917ccdd08f7fe08828ce185d08e2b2675ec22140c808c820 +B = -800c2fdaa0ba8d01e191496ea282dcca877e0165de2cd7d86ded996dbabf860ecb4c80f8ecc69493a38cc56956da5b3fdb91d3feeef139ab2b08fab8c9544e0ee12f837fd045d226b942667afb952f17bb9abea344de050f9776655c62b3f00aeb364856cf929c9962cf5183dafcc6fa3cb28b313604adcba41738844523a856936b5e3e9fff898c634ba68bac472ff2b591b14ae70d1a36c410fefcc38a2d7c03b94f6277299129ba6e94953992072633e77bc4712fdefe1fbf4c76668f5b43358e94c2c8b6c55637b6ca840f034d5446ce137c006bae422875efdfe134dc04c199d4b7de2cbbb71e66626a5a7a0b2af88c39f1cb558e99b29ea926c049197eeb5a8171f68c5fa4 +GCD = 8e7e3e423b1594da5e562308c2e1ff35045b92092cf91cad833a0f64a015aa3119770011029ea3d6ddfa9dedfb7c50e761329f50a81e24f6f1900121d58e5fc38d74a54f27256bca7a2e953c6140f1e1db54b31f1e7290c8981c68623a043553e4bdc95db4bd8ce38b9d00a52b7478d918ab867636e865f5b09ef3463a752d68389d0c04c + +A = -288c00722c67a90bbd5c69f7790f11660fe134629607f12bb665a59d4f6a0a23159258d320dc2efafa1f2dee51538ba795c2d52a54eba9b8786db79c34e4928e3cbcfd96c72d5c480039894b13f17832187ff784ce3ba8df628502c28ef28808ed29ebb55f0e4a52bb666b2777220776c5db82b070d9cd37fe95e0b23bd797ae54e8ac5fedb7d0574bfc029997f0ff13757d0bccf20c7d7b9c007cebabfb3172d1fb1c1ffb1b1fbd433f151592fe2181b4c471e84a3e2495da7f100ce76cc12e7a1c7c0d17deb6719058467d109ae8bf2148e6904c82a2a6d4c151d4a947ebc3bc967e485ef47b95a656cc665c74035568780d3df278efaab910c0915735eb992af2f1fff3526666e +B = -5183ae4ab00b06337a82e8246d5552a4d9c625b94674ea59aea13b2c9e289aa8ab26b95548ef1b24c275510f7cc7b752313ff568bd3d1d9d6907a0f1d4fc6876e99b2d6b07dd9976525368e0f93261baa7e8d9a5e166d9f84fde2862d3974e5e468feb0bf991ec89340cc3c609cacface3a3f30228b094bf480f95bc26817bf9dd379fa19191a3bc9189e1c6fed5fbbcbf8561e210ffa2085a0383c4287bf20f84b4b88f2e316350a48d73d0d4d39916d6c2a28e3d44a0486430ca1dbf46e3839bec6a859ac8233a90624458a53f096739c23ea0594c7e504a8a90478c06ef568cc85e45c2f77b84fac31b960fde82020a603cce8f49725380a00769b7c06b002982d1bc4866b1ffe +GCD = 53333be01b3e2bfbf04d1677d7b059e069551affff56a6a25ce0a78b2b4bc2226b538cd30f61a8e0ec4ae2e28ab648d6c16a5eace16898f4ea9c69de6fb618a83273caa003ddc6cc33a5165416f6374df02f8ff3ca9467d38a8bb2ea2c4f89547cf14d5e1fd26352c3b7b5d0946e3ccf7ba658d86d1f1358bf49058476a89d22b518cdfdb6 + +A = 43d6dcc73cc475695c33b6cd5f806ee120cbf72dd0df3f40a056dc1d90deab0282a09244684b5bb764eb6d4def935fcf23754b0cb376e7670bb703f4871d7464411732383b8b4ed8834821bb4213b23776ea16c462848ae5e34f77e347dba312767571c12699a8b1fe239673640675e5bf7fefba62708678d74b4e8614cd4305504764575d3abad7887817d89aceaad2223e65382d6eab0d03a720a55205a8329f5ffeade0dad46e680b840e3867402e68e120a03dbd0895942cd4cc2302da6fb58859a6c3192040b1746c4a26f6e5a4a959883ffafd1448fb64ab5e9909df0991c11d71e998f579d60074d85042444e8cb466837abab0029819def11761fe6a8e0476139ebe85736 +B = -a8387576996c5a7e63059d17bb927b8f5751aedf8dad083267741a637060c1f8ea7d1ebef5cb6627320ee372e271613bb95b8afaa48c3e60daca22e27fa3864d944f386472153ece6c1a70743f81739fd428a17a876f0f5db6d18c1110e3faadc6049fe8321a6223c1549db6ac1d3e5bab32f4570da672f1b60b279ad40ca61285afecd076a8a9e9f330fc3b4e533b44a1295fd105ca90ed7b190db7b939b3a53fe28968e44de0f6b983016301fd1d2136718fadf0c36b1c557c098ec1f6b580c9abc9df42fd5adbaebbefd4330a818f33c422c2d54104e25b6c31d7ffa88aef3da32cf962884df87a0162f48e3b74a599ccef03cbbd20ae67c0362c96bf248d41a652f040c10b93a +GCD = cfaf67474417ccb841f307f55e471037ac53c0a4cc8131e4d288f829f276f93a3dfbaf51ed3028f29e965dd380926426a2d110a4a141f046af0c951531813773359189d2e717560e4f16e80e4bd630a8922f0626a5d05f5c4bd9ec66422ead6b25b46017d1ad636cf9b8e7112a33fe66bdb9d0ece338e56b4bda1c877200eba011e1cda86 + +A = -43b1765ff21cae14f810af47a4599ddf4ff257c5c36e38138080d0c3a0cb22c7151c393133fb97754962379534e859ab5a3c5138d3ec769c809149f19cc89cfe20536b8f38ec476a70a21a9a497c49dbfca5dc2261708b65fadcad68fb59575a9dd29ef241771b905511ada66b8bc0fbf3336b7ce3fe010de13144e9c5b1a2d0b63b2b6011db36881fd880079d44d3cd73f8d9cd0b22974d25663005465416bd2ac5caab054ab7134259527ef90fac99c771385ab68dd22177ae3dde085a38f30f1e1b3fac99f8f16cd5083601f1f1c1afd04510124d4e970f9ee410256aebb9ff43a4769fdd32f2d452ce1ef2b6c8f68fb192ce601baf6be1d55c75cc521fe23be00230e26b945308 +B = -43c70d187d9e79f1dad18ee1b898e949e1df6cfa49cb9c2a9b1733ac2bbaeaecefe5d716f151204c338bd515539d5f01523c08194a70d07b60ba1f1525f011d5d7aea402a8d2f266526790228b80558f029a44688577547d43b397d87d0f20587a0f55ebdda11cd1d1ac55d7c87bdfd24023d799b4aac3c681b799ec16d0ee1d28f1b88dad16741c063be1133e1f90d727f64c10dbcaeba18a61c6e56c411f4e856f5738ee59231fece9d0cfa7e8577f5bd34486defcfe0ece976562fcd8ad8b4ccfa3fdbd60d8fd80584b56b16ab604f4e0413042fc41efd98e735f83ccaca3b9023b124e6014997fdf13964753172da6698d9eb7e30d65ba2938a8af05512e7055b984719fd0aaa8 +GCD = 1c316c0d5e61fb4eaba8b5bc86da1d78b34c76107ce50b1dd6e38519ce8a50b4c04d5791ab9af772be819db4360b44b066734e8a7744de11ad75d8b7b8723976fb242153bf15f4f4cf71a15e5af6a98eedd89596a1083e4118bcebe7de4ce492361fb2dc8242bbad2f81ea0e0c76a5520cb8ede35be10d7863cf8b898b04a5a8fdb311e818 + +A = 14ee5d7fe36e16531dd89969abc3fbd6bc45fff29e3d363a41ca6ad5b4271522cb85c72e260def6658cf42988d76dc32089df915975ee73248ca207d11fdb8da81aae4d1ed62ad53c1696f1d5912d750f05ed82293a5d116fe7523d6530da742e73e6a976942ff52cdf7ae146ddc745b5eaee01d63e12c492f4e7ac0c1fcf0dccbcb828db06d49dd87ae2d1e3b9b1dbff15931b6dbfed01a1cf55528bb62f3f22a0a1c9ec283205b06607afef4ee59aadb43882cdb18a60d0cf7a4ef1eead7dff649382aa2f450efb47936f50564d648c80142b107cb6520131bb2c2db2c54446cdfdd5f84aa1b267685339d3e09dbcc02e3bd810340cecf93ef7ad3718e9d0999ce37e831a7cc8a352 +B = d8a9c1e97516ce24c7abfd34e20b367082d2e85eec086695e8b95c9bab784ed721ff8c7c74493ec85a2112170dad1848a43282bcbbce953541e4d7d4496beb1e3ffdc719894a769a5c437f2ed3ec7260ecf180c1f2736ab728ebe994736f0f327711408a0777c0cb33b170e0f4f6aaf839a0d8442a26891456eecd65ebab884c678d56d35042f246209ca2f4a9475f48b15c385e68318715cd89aa17947850eda3b1bd29a1bd95cd683fb9268f1f091ce528c4287a3a27a3b8353305a4384244ffa8ff98c7eb0df6e0f07d693d3487dc83913cf3027391e022f22065d9f238cdcea6e47dec3834a56cb02938fa44f44ad49bfeaaeb1fee50e64a9baa2170702006f70b53551fd54d02 +GCD = 1216d48642c32e8dd3de1abd62b02603c90b32fb8b6ab8e98cf00fe1f5806ebf933e0d5b34d7cedcbab33f8cdf74f8869b4ce321f72723c390b745cdbac65b47f134eabdf9e622ef5690475df063111237263d171bdcd9b7f80f729061b314904eaef91562a3287598220aa6fdcb0d9d3cd3a6847046de1201142abd674bc3e8a82ba39a7ee + +A = -2b327f24f4f8ff92ab8b3137c80f7d28c65f76f9d2c2426db47c1ed4e1d6d12e716c8e21d13c0688fb30fc47d306b607869e2a97988db123cdadbc357268a8b6571e1d66953555b039ac234b574573038a6264211c1e2594ae0d9055379cb9e4f9504a4c3e90d1033d8545c9cf2b5f763351f99f8c0f92edc4186bb78d3232074613758a1d4b915d7ec3e666de52497a54e87ae7f5854a9517ba3d43214b760aab51731014b0b0f2164acd8e01d04802ac11b72951989cf5fdb95801a81a57558d1d3c0f62602a493495dcf4f99e8a47b29746c6ff281a6acaf6353441bbd8330815a480b277ef40014d6a67e72aa89f1335a1648e7d135c47da25d4ac42959ad00a1337522e08da1 +B = 428651f337aaba0b83f0d52b60953200ed562668d77a6a1fe750438082555b4d7191ecb9d15efc8e454ce79afca63c09405c7b4e47927d6d5e47176644d71af3348cb157cbdc8a1fc289328d30b1779f355376787e008f372ca4f13b54f583ee71c5839f86d82d8aba253de43412eb00b029f73a99e87a60e112ce39437bac479e02ab662bff1c7d7e58809ad1546903155145a80a3b21b7e487ce854f6e40d1cbb7113f4df8ee9f2d4c055816a8871fdd1fceb6cf34538df43150e54393407eb2eeb9e92b2f8bbf8ffc9f76dffa318b2c9324f2442a29ab2af7de49ae2650a64c94a7f22acf0eba12424a38ac776f5165311c51f54bb8fa8098c18eadd7ee3a3964e654b93f5ad53f8 +GCD = 2b39e5b72535027a27e17a7b9ecdb73373a641f5be8ee8ca14baa8d2df49a3c3c20ea4a7493ad866c7f52dba2d3b2076f218e0395dda52109aa4d2a48505c01c8011cf9d6418d60802fa1681f573506a9788b77d341d1794950a9d686f32b470bac1452ef0334592ef9d389119e9b13c4e4686dd51709374634afd7a2da2d07a87127aa479 + +A = -3a2c95f50db9dca8db619568d3742bff52bec29269bc9fa73de925cb1e6671dcbae8be1f0777cb76ba224444df1fe7121255bb67bfade578df0dcff07c5a8b0d3fdec2d6c8edde5fd8bd74576f6fa48bd8046acbf273727bbba30a885ba2780464563586f9ee0ea7b92d5e65920595d6915d75da634c70bb35e9ef96a8ecedfe3dc17be2a89af472722f3cd7b5aa45eb0293069bf4a6d7e26b1657bd7c2cfa86062385383844661b491fb99ce7d30d7eb3601c1a595b91c5aee23c9d66581edd0e5a2b6aa53ff56b1e4bea7a45aa97481b66e17a4ef778b2f1ebd05b4a1c733c79eb8523dc5a9b9697b74d5b87e30097b0b19a3c01b00b5978990199545b3932311ce4d7849c03b16ad +B = e698f97f39e0aa713b37d17dc632904c894381b1b99a0077ee11c61b084b7bb7401e5c38245fab1b58f8ccec7f5de08af6985ba179d7e15f6425fcdecea7d03f14686b07bc714dda33af32bef3b8234adf94a3b2caf91c52cd74b877d4befe24d27be970e7197171d29849294872324ea11ab399d65df15611d4002005b9202ae50c1091c6f41ff46c11be9e76692cd7823df2920958df5b3867cef7596a10b587c91d70db5e8bf0be1e469a337c6dec812aaed55e8b0c04047a5bdc4deebbc65994a9e95f047618b594128e47d6b7b04d4236d113de8fe88394e8d01eadd657aaa2d358cf488f229d8a07b24cfeeb03019296443abae8ab266e16b2a47ffb36a3442eeaccdebedaffd +GCD = 41e538e08a930f0494c72745b80a4c7100cfbb0bbcbcd9b9c6fb303b5a6aab391ca0315e383e81fa931adb42449613e77c971cd4df4759a51cc77747d47e7e3851bd4eb2d1c0579d43c27dd2174d29d87fca628fab8bef005657036eb3a2859d04a27b5efc87bc0e5a16f96d10107ae232614659bd31db9a0715d07aa995126c1f7c0b0325 + +A = 3c60ee228fafea3bc50f5f94fa3776dad51086048e49f9e59e52ffe7758a380cbe46e82c200a9739c1af13f90e2e2c74ba6202ffd14612e7d1f916eef9dc920140792b7b6cde61b5a3b2543cf7b2f230fdb4b509ba08390476a3a17c3c094be07518dd6ba7c74b1a1f1d5ac50fdd3682e3a7bd0217e8cbfd5e983e93ce3ebd2d9a56c6882ae93ff1bf491748b21edf90a900a470af82cb4ed9cd474caae3f8bbfc70f9ec7bb8aa4fdf6ee7365c57532f3e86a763028025caabf2bf913b808b6a7f581b7485bfe03d27a1f3a2fe2bcd1bdc224c55ce5e779619a28e95bcfbf04764f579aa24a57685deda25b80c29a00b0ac9e27543db9700b09dd7c17379c1674416577b2323d52dba6a +B = 27fa3d4297b81beb81a0e7bc11dbeea5bd6e72dcb24fe8bcdb6f6cd5b249a4bab93538974c5fa385d8441679da2eae4b773ae85b4ba50dd2748183d483b9668a810a1f7551640b0572e9d98bccf1033574994d57b5bca946ec3585ffbd7167f24353241d9e5d56affbabca7015150567685c3c061f823f25b2c461c719e2399f1b34817a5badec396dfe013b996b09f98132c0a5ceb2b4344b3d184bc8d311bec363b8e97f75ece3fefdf855bf8926b73275219ad56ef017f992fb548ca91f43be23ba12ad090d5c78d771d03ba3fc5ad0b5e193fa5fce3fbf99874e72934d5a25cbea17daed8bec6b8c9b5b1ddca4f1848f00ea4446e84ce6b6f9bb5edf2fbd800c3d4a4d9c463a1084 +GCD = 14074e50d27d6938af1ad575241daaf9978627245ff8cf4416945013851cdd441052057322f3ec45520dc2eadccb83639fd8a17d9dc51133c74f2fc87429b9f1ca74f6204cc41dff4f9abe1cc28d95fe4f3eadda225453dd551cdb43a84abe586a1adb12c53cba7286352a36128d1a9dda87c6b2485a7334966ee645be5d882d969539906e6 + +A = -fe47077a3fce7a187470c1516eb8aa6988430d4574f9eeb739b0b123267bd555aa05eaf313b0393332b0f73a6fd0d3c1f6714ebb9f232ef8f3a6d3f62377baa93ecd3f8e72afb6aa519a58c219f7f4e388cb9dc09988f214e0dbe6f0233fb39ad802a6fb36bf83048973e8e4d99d9182b4cb4334da6828b1d845868ed7eb1b485803247add993548c50addbf150ed451e0a102dadb946df65723fd8c9b84ebc925e6af7171dfc5c208ff30a05ec338bd30832b5acf82a53e97d1c7a6f1c449d6addf06184b2ab78976187c5f367a09faa107ca24ef55d8d682bf4fe284069907bf40472ee9f8ee743bc7408a2f1e8bcc09a7e770e296838ea5abdc6d289d9512a2376da8e699fb878c57 +B = 1272170c011a0c7574d6fc213e110b51ce1f5764e249e302853523678d991b9b4ae44ef7db13b26f4485d7bfd681c22a2392e80a6cfe506ed0db27ab9b255f6e0afba57e6572935976121e7d2b35eb0a7521f33a7cc1ddcbb5ff7a5759094aefa54e90e97177c5fb5d2ba262bc94d0782449a74815fb1bf16898b38e9e65e46b062b12666a506b464d92274822e9825d9c25308ae0b8f2fd818cac8babcc56c1423ea4e44c880a3b9c39ef60813f614041a3d3a2acb5f286fc52a87060e8375fc2b3d6718be6798a3937682acbec39d4a5fdf76bf22e16962e2399c8d45b6491c859051a4a9e84d6ddd5d0601785d9c2e9d38b4d0212bfb2395de76a2c3cd607fa364ca109ea3fb805eff +GCD = 1ca8143c210406e268b7652a3625b0579604e11f46bd37d07c19d47fe7156c5b26c86f22822818ad8be737cd832f63f28a8d29978de77f92cfc38bc07d88a5ed5faf668bdfaff5ae79ee721c2b9e16a0a1a9cbf145cf1a8c0553b354b5b9a2eb3f68009ad5c66e7bdac8e5ad1e6c191bd08974039e74d67dea481bcc16baa431ac35a27fd0d + +A = -2f8ff241e07728fdc1d5e40f36960af699c76008e5a7c6c9332b68a6eee07d27cdffa0c3457f064e0ae95c12a8276048a71269740dd433e0ccbd0a8450dce85d214245a1b94f4c1a30af588bc66dbb175918b0ebf483be567d816c4ccf646d70e39dc3bc41729681a92719c8b08fa97c87b9123466285c58d54e171f7692952e14d1aae4de27651cc7dd0a5c5d3d5e59420d64fd9a95fe2893b2f251ba8ac92b0f2b7ce8375376559a5a30e5418712fe2263b27d516034e9a4e5f327ef928f8836fa9ecd7d6b39db40835890668e2ba29df4236b26936e66f638a34a7717483e97be9a5c2c18f102655f8ec343fd4c41cf9a37a579ba2d45a6fffdef448380d8d2abe9fb7435196494d4e +B = 466357e65252a9f0eb17d4e98cc43775b383d63aaee61ebfc798e3d23b429d63b2f7e73d2b8916747605c261aa757d1d715f784b2c0bf4e645c5659a606d0b2d5474a110b794cefa1ce5faf224fd157ed1a435d101bd3ae0e7da915887ae5fc6d78beddd80f690c310c5acb75d2d04de439fbd6b2d79478714cc8f46236cc146beab071f1b304b056cc45a17c029748c4c34a026aab66c5f615dcdbd452edc6f37b46ef7454457c435eb997b9cffff9fd2814344aa9981d741bc5daf81e74198a39ae24da2284cf5613cd725468eb9a636381ae5f6c0a0255acbfbd387973d00d9945b1f063c28c96b4a40371bd67c343987c847e553a2dc3fd623d409e5f2889d459dfd2995d231834ea +GCD = 71e6ad248b6d7622e69a71549e33d39325f5df86c1f397b2095fc6c08d2daa317fb71dd643f647e1738f59fb1c18f695a540db023f60b047a173ba7984b528f7c44167f4469bcd7ad8995169cb7b53c00c6b09573f695264805706e0f9b093affb72357834b507eff632321a9fe39dcdedbb4c62039a8b20c5f7e6e79b13abc3be351e13676 + +A = -dc757f0e9bd959c4c14334d39192c5858653b3b519ff9f9f33844d1d4a19d1b95b85db433b147268abb45eeea45557bc609c31823b270d6bb2f0b8a93f4b01ddf6ffbac0080fd86b35f27b2e85dc055af83cbbcf7f9440c6de0c5b945e41708cdfab31294df29ef1cab9ad7973f87afc4a3fc8713523e9f21cd6df3daba26681b52190453294b5d31f4819ee4e4d9b4d3cf0717fdcc55cc36e473a7804c22e1d01e01812ee28a81f0ad45a37cb7b6908fdd77cbc59475f92f95729ee88488022bb7459ab5510c9b53a9f8bc5d48914e6453813ba926e44a80932ac8d5ddf14b72bc4b613f72f9d64f9116e7c863c7dfb72db4e2a2d48574988d918a4d0d46dcb582d79578e19253e75625 +B = caeb70d03d8cd985b8acfa004d209f59492f18246242b177dd91b11f3c37b763b385f2eb5456a707cf07aa96f77661027cb6b53dbcede76ca6be5831dfa1a069ac72dbfaad0eda73bb3a5277325b285b21b52afd2688351227cdcb41dfd99dbf9b8c0fb10b30d7322ab5d86eb807cd20943590b2c96d90101e6a5bd04a961dfcaf8bb128ed282d537cc240eebcef853b83f1073924939e905f0fdb78d252bb9cc994417958ddeb0c3a2f6ef0bb1da86b5b1f67143820533bc932927d1b9d96918b111c294adac1c0466cfe8d9937858e6a6652ae54eb968a3da0280e132c8693b5e815e91b041db87c6e6dad292ccfcf2386bc0baa0ea8ee125e7a542897c1f2046b0943cdf57047cb1c2 +GCD = 5081931aefb242c7dfe51de3b37cb2c1f9ec86f10c814a4e033ed1e994fbe768f598c0229275de9042b68687b2b08de512225fba6877ef62ce2752f86cc61f49c33d4bdc575771d98334521af506a724d6dca751350d8387b7afad95d2cb172a81aaea644d68b76f9bc0aec23375c10174b79beb8a0f4e6f41f07eace82140228e34548711d + +A = -dd1ff48cfd49a2aac8100334879743e715e935c7b2f51ea6dce1ab2e1fc99f5f9430c0ea478543b82b05f599cbc9580405b717eb1daa1c48a85fc707f34e9098b807c867e1c8a85343592d5e3a3f018b33a3b09ff58db1e5f29e55c99a62bded02e6c102e84d985ae17fc88cb3331294045397e1c233655f122f9ef3dd184f77d991a36d8bf5f77e7f20d993d2fcf769c19a5ae98956d1c96061b1b7a8683124ae7857c4650a55e89983f0d85e894d3cc6bf788dfba6fb9299a863507483e21e3fb78335e1b353be27f1af246bd13886be209e110e453b3cd279f6ef7ae18f9ac136e7f8e81072e076ffbafd30cb70048be9eafcca7acbf1c0b028241319c7a6c393eaa724b4e2d28dee0 +B = 755a9280fc761896d919f632d050bcfb6f1b6bdd84944413fc19871a5c9fb3652b6a38f3d067605052c10d60a3ff094abefe1b804c2d9b360137f0928fbefb9dfaf1f5b6b12c010e48ecc580419d4d40f31c7eeac94bd427bf5821aca27f2bcf74f44cea4cc02de5daf3f687aaaf5e98e0f31a0c9be1150f6da94ad40b5b4bf5c9fd814f94097f5d0a9baecaba51aad9aa70354e7458594a88f6c04341b8469471faff6de26ea08fff1b43779e4218598bbd6f2f0b2f46e0710ae95de47ec784dc60cadf4be6b0775470b61082ccb7f2c36d5c05fb070dff97fb817e7ea1f4682a38b7b0bffec7d86d9fff04d11dbabcebbe34b30e79a20e2a8fd805c2a3feaef910b7e29df40fc5200c00 +GCD = f501f2f3a21fbfe4b42be488a48557c0d5d3f0eed66ac01a0d2ccabc3eccdae9368d8689e57d6012b370a3a17ede6aad46ea1efa7ba0f3906b3dd4f2dc7b16f4af54cf7e5c316ae6f93104c6972fff40a80354189536b8da08884b03037dfcbe058ffdb8d2a8ea640e3f98144909633c8a6803b020df2df91a2e15d8c743ae697607a59f8e0 + +A = e8e471e62d0cdfeac35ce8f2024c661a525c2be69e9251dfa6f2eb700e112efbdab9cf2e7b01d768f3118131aac24deb2e3f74d01063b274c2348cad62d823ed9ec525863cd26ed08d10d7a37587b85c3cca83165d3f7980e039c64517259dabc3553c5fa661c8d4254cff9d13b0f0fe98700e96f28443e14f8a71d491fe566702feb4de546d4a959677f4f391873558c30574c95778a59d0ac984e54db93102ab9112bf1f2c2fbfcc6d4055faeaf23b41cc1cc27e0710ca1eee528c7fadd691e6f5628c81af26a960d17dba8e9f5dc1c6c6ef99a8b905237a7cc30850792492733f9b96aa397511186026df7e4aee5f30f436ca72caa8ee2d0a27d6f62312ebe4b69925ecad90d20baabc +B = -100918241880164275553412f6e1c786a90e56f2eb9f57ac71e13978b6edfe8c8a4aa5d3a14af71c4db120919c510258d00f87d3d20d0afc651c15edf737c5466f9be203634b5bbdf1027981041ee140b60f8b0b42d6b6760bd134c5df567e5a5fee3f3646dc1d6b3337186bf48b595d2d4f98fad8f97b49787c2e26231c35578fda58414979ee10cc3fa581c4a5ccbf28f93d4dadf83f37bd4a9a1b6511202ae3ee7675cbcdd9d6a5f1a0eb536b2b7a391a76ee5f2f5c8cbbeba5cc16b37e2ce2930bb0cd9d6da3072b763b137b03fa486ac6a85de3c54bcaae5ab22275bcaa249a1ed1c2a7a9b51137198e5f1c21dc3884f8cb904e89a673f9fc9bed34fcc2a839fc25b6768b52d278814 +GCD = 6285c2ef35040d0c8b2041ecb3652120420fd41b3288c7e3501618bc606ed9ec4938e02de51bfa938671e2df7cb145387e29b6a613bfccc975e2a4d53049b87f5473e4ad696fa698a4389d972ac6fa4898ed6965a02982598694c748827bb89dd120fb72f026492a80ad900444fa15dc309815aade990bf032f58f3a65c718b8b68b3576dedc + +A = -21ee7d30a1f4864f8c7424e1d3e41a0830ba0ba5e02954124b77eaa7ad0df95c849d1fe52b012f637e2de145988d9e5dd02c55bc4894b35c405f0adb6589c8b4e976e20b7b3aa03664ac88595e53fb3fbe7c7383bf95dbd5ace4ea186d969c021319fedfcd02803adbdef0a061386173a507d76c3b5fdbacce16624ac9df4c71d270da74cfd0fb2f490f34eaf26d974fc5d724484f9152630cecdbca7cd97605bb26b31a7a8a81a29a8bec5bee6e1f33d3f8d24eca4e6c12a0bcc881e944b443dd90646114adb67499ad87fad2f563449e2d543082480e1a3fd9504f1434009f1619947119d4e66a7eb0ac49c244fc6af09a3781e9215d02cc611bc638ff9de8fa7026801a904029fdd6204 +B = 2b16e23c0c7353c5b8da923fedc59ff6890e290a4982ed39bfd9bf02dec8ac5e60536f101fe5ca3a2a11392ba2996057e8c0ee462298c7f5a816442588ff9e28708c6f2158220a1cba2fe2e62f9665b37f5c6fc0eac4e4cfde0ed6ac215404535b68ed579b949968751b21ab96062e10644b9d74d9df98def6156a21cf955b1dfa4cb0292cee914c627fa83ce60529b12a09657c7e40e4065ee13d3095e335607f1e146a61ceba5038163e54a86d22e90f6d6c09ee68d1d078ac59fed7ba5c486a8174b9ae2683ee61f3792e107debb0edac53db8ddbcbced97de930d0e134f6c29b0a07c1d8b0728a24847da9398f9d5bdb1516e817aa7da301bb123d099d38fcf2e27ad6fcd5ccddb649a +GCD = 2e0e88c449605357a8d4ba914318d98187f1d945aa8aee2280d10b6cd3c6a0121a94313e281d22ad1710378c607099b097c99ce39607f366ae5403aeefe25ada4c50c642deb44774b9fa0995ad3782456521114579370691a679124cf8cdcf70a59744d56640ab94ea1f5b4302f87ccbe2039b94367ed8cdd003fc9c4053f844de46df0fa9f6 + +A = -1b467372e79846807747663ded1dd3010b777d1f98b5ebc728d8531764ef57ad7b7e8276111394cc4473faef9096cbb3cec8666e72b52c209a7b0495edc6b4493ced65576b5491837bc4986876e09b0b526a4fd8144e0c01d6c39ab96f635f4c8a143e9598b429895b58072ad67adcd41de4acfde80a986885f881d99bb58484ea49c40673b532a1dcf3aba4f5ef56302e10a88e04b693fcb4d89a2c86fa41a4fff44ef3f59c14e7c547150b97470d9abfc6ae9a4a8545422634609f2bc26c955493e1d124e58b26022819316a55ff933282b686ea36fbe59f81641dcdea326c07fed68440b9f0415253a12a56ddc40a8565e8ca53192d15a8cdc152817a16455d21d725eff93a81177360bf +B = b9e9a85147faea25aa0cd2b8836d556907d288ad420134ed69c06e46bf070b4a46f4c6f599c5962a014b8031a8d9da2b91bb271c72c08b2050cd482eb5f89ed38cdc57905dc51ed09f22cd55b663a96ba90c15e531efcaa02d3a68a3f3cda284cdbcdf75241db9d42002515daf7bd6d6d2bc5f8d07f22d1e9e4fb169b5b1ee5d5327d466c371ebf2a65f27d233d4bf331ed1a10997d8eca020204644671ab956e014b6e01e636dd8c4fdcf765fa17bfc87de62d8679b2f2bed4d78d358dd3ac7b008836c1f276e0b984165f9968644e4c9ee44fc2cb00247ec7ef077e27e708e68af892ec47ebeb6486705b1e8a29e7887d3e2590372140ed54393b4434c59758d3383352ea571e20e095 +GCD = 7953b4954af555caf5278b33990826784f1f240affe3d05c5a14f0e425b3d20f7137bd9e8f86c2cadc8111a8bd1e5a0cae0ddb5cec8f6277f50c432b2cd6c0e82c8bd3e666535e6ff059ee44d50f94a50fffeae9e5f0bc480350f779e606bc1e559c1f9b7046142269b2d4a54bbcd91d0e489aef9c5c78dffdecaa5e447684cd4e76e8aa52c3 + +A = 301fab800437e00e4e1f76f41da718b0c39715edd614b31d825c1250dd59182d70c4edbd4e1899b480e1c88da4419d1b782136d4f36f18146cccd64bb8873a0e72d5c4443c35c69d9fff6c860511200e50289737c6e2ef4ad9efbfd35b99e1b02bd7bbbc7af36bdecb0be436b04e963cdf6614156f5746a2242cc6b4877f2c9416b4d297e34e032fa6298031e393a7e59a82b9ea3ec5f3b791ce64e101df21ad1371201f4cb1a261c281ca65d0ae5b6fbe5d7ff37c0a540d624d7e993a8b1e3009a438ee926937e4165bc079d13a65f499fab81aaa19a03fe68280eebc099064e5a7cb387429f5fd1632f901a6f85dc466068fcfe0ac68c8a11f2e1cd8e1f077128731e256e5451439c9d369 +B = 4640d50a88fbd42e566a5a8a35e77f1cc5ab51da7858d4e0bb38f13ec258a310c9ee878249f9c40ca14b821d7382630fceaa2429a8d6371e8ce341bc77381d557f1de98f118fb732e78f43c27682c998bce30697c29b26964bbdc8b5978040516399e7ed850e5b95306aaf3f070230779c647e086d44bba4049cdf0bc6b1937ca15c5f18de91c8f48cb5c95b48113596e0c395f99c613884dce1d9de02771571752ee275f78fd5593c03fb50984851dcef67c83065037c1086cf9a1273d43ae59940d220407912253f100df63a93dfe00920ff5943fd43ed5fc6eb114039bdeac3d3cec319d86b7d3d7e13ee6d48a73772f8483ca40e2d0f54724933e001937cdf0ce3be5af8662c01144afe +GCD = dbdafd5d80b8f16e14bc37a44c6063adc1684dafad76584f6b7a2effd1d66791469a0a2c1bf1a2ebe54cea60a77ba399de6bcc59c6eb3fba65d87a2fcecede80730e7391f7fd70ce03dfbfcc891664106dc8276ec7245d60f5fe619f35e8af1841367a4cd0ea692d0e46957844baed6b30cbdcb4ef922413c9b91c8c09caecb6103bc85e026d + +A = -a6411d8b4cacfeec18b8011472665de329990cc68a56df08d76cace8ab675c06aaf76d43e726160b0021702303026fe67f979a2cdfa7aea084b7911fdf29a9cad14b31d750978c1fbdacf574112585f9d5617803b5d4386cded42ea09fd412870935e3986ccedfbaf394145cc51067da2a6a71d40c4b87a3d453721fad9ff0d12095fc3495427466b8e13eee53e6df7b196abf1130a43fe9a7c9d23fe6a7f2e679ffd7819bfbdac1d08a2e21aeedaf9e7613081aad7149aefe2c3a7431567b1a2c478c88fea646b4d2272642cbb1c17137505acf3ece85f92a70b52cc0bb41ba594794218c732f784600b6e08864f1a886df9443520332bdad652cb2326a32c17cc093cc6b7123fb8687204c +B = -7145db96f1c153bed1003420b73be789e7362379b0488dda2b6c63d93c837716854fd14eb96460ef0a46ae0af8df9c31d61058d14f46f301d608e9ab37e9ac290b2ca3e72d2febf1d27e51577643a0c1bb3719519edba0a796f43fd23b865d20645fa4f02a90214fc33cd18d6147da0a7879392d214e4c44cb8e1623192d5f31c253d3a030a70d24474c862965431a7ab96a3681dc42182076bd532730ce6d4d9537914f1a76425464a34ba3efde35dc11174b24ffd9caaaa17e86ca46f7d819800426568908658b3b7cebfc9c0fa730dbdc48e0d89fafb32cb93d86762a6d71a52bcd785645b827db4029e17f2b4abbad524548a19a7b20060d1460cf00a688850bdbb0a932e7aa2ed9f112 +GCD = 14729f8a59c351782121bb434c363ce47e30c961b42c8222c9cd10742939a993352bea5c5874813c6d3f4e5f546993029cce710ca4760f5af8b5e2ff4cf1cf03b154f054c0dfcf3e604f0a2da387e9f540ec9ae94c59ec19a30f7272b912047451a6ef1251ae1b0e4a9dcacd80d7772f017d2a9a4163d82fe1da35f5d31d9d27163a1d6b7f3ba + +A = 3a0f12537bc676bcb46be8fb49547b5a901fd6b66886d6289a04e047ebf0ab81b5257b15c97f305c33a34fcf656d61d67319c1f7014a9043ebad74e557b00b5101acf830dd3162f3c8f6b6f028824d9d62eae3be8fb8fd5cf961b72dbafe4eba8ca4b8e13ec89564b782daa27d3eef31bfb2c9e4a19d9a6b2d26291694f7a11c5f1b6b5c99cdcffcd7f5d72e53d56dcbdc6a209ed00b6d9412f8f34c05ba0564d8c63b1124c559d7ffc736b864cd78e8b6bb65c9673331095a6356b0add4709683efebede3ac0205758ed5f7233b1fcb5f78e430cae962b7e133bfd0374068d488f1400479fd02db2219329e39e79be2329f2ba22dfc614495cfb583e5d86651f29c132d81cad9191f59a5dbc +B = -5e6acf3c9ddc3d77ba6665d86616f4533bf1df9b158669daf15a686e377d433314efa9f9bcd51accff0aa6c9d0eac3768a4cdfae63ac9770bcd5aad18a4abcd8864ff8f97456f702c52326b6f93892ac3a4774f8a540d046d4113fc2b0e93e3314d3eda815457723c81579a0903a8934c4e422dcb663b73b1034afad7077c71fde0fea33d2c7822b87c38c355ec586f6eb1d9675f6eac4247864913c7399d783feb965714234d1d03ea27a92d6bd19156b0d09d416d681d597fdb25b4dfaacd5213dac605be992253283ff7db60ec77fadb2e5b482610b4b4519d463ec52e279a664c58dda1540af6ea16b20d971dc93a2fd3c0c30c1e60d61276d4af49df5b4acb879fa1e74850f56084ca4e +GCD = 3a2c5b44a5064167641c19592291b76459b504f91153c6d2e6ca1f57a69ccd1832ffb2e85f4df74937297eadc669c6a2cdbf01dbe43ae20d136fe9fce459962f43039d24213071e484ffa4c2ec5fa80277b80dfdf68b490a90c13469883de9130ca625e41115640a9813614a68fad1d2c00dc31c8a2128062c062f531893a2747bbe187f0312a + +A = 10d4de652bbe8a322997784cf5bad12fd2e2f9d9b7962c6861583afef9c14d3ee4609db7e1cbd4cec23e1ab39ced85f1977447b4f46aa6cbb695e784fd6524dfc9b737a76d0d2c33bf1fa94fa2824160bddd6d212d1f4a756a2f43ce7493c77ff707a54ab26d937a554e7b7a854c7cdfb1bdcaf85726e01f48b8af42b1e33ffc24e6503211c24852d265497014dcfd143b5ae5c23c0ecb6c88f6ca75f81ab9f8c79db587ecaaf284a306b31a9981d58123ae9ef0d0bc99c7b5eb42c5af035b2823a68cb16f1e7cb1e1a33dff094c6c4d2d0d18f1f97ed93e673e3fbc3337d6ffe7fe64354f892e3c5167441aac34739493659eaa9c044c65b99a867fcaabeaf7082b520f4c7fa5c48e83ff3609 +B = 15da2d6e0bb4abe2884b7999b53d877933084aab1daf634a46b51fa37748f5c1e4b852454c8e4af673a18ee4fa063090076ac153c0a98b15a5bdba88deb33c6e4b86b9b5c5ae4c0333a6fbfabc27d8bb088f34c3cfcd176756fb7f10403f288b2cfe54821d0047498f814b712d976511b132547f26e12e255cff9b7a2498fadd3aaff503ad9ee0b2268516c464ac337451448a19f248680d6e84e3ce64d69f81ed71b57c86fa38edcc6ef869429da9db4106a2058d17d426a65b2aca2c8bf9da7717ac6f9d855f7b1e0d9d5577154ba5c03e9de0fa635fc52d0a7188cb3651a4978c6b3be889f69658d4bc9295937b6456c86c2f6f7ce115d0ef74c002680438133d028734115d9b6017157383 +GCD = 7bba9e7b68d528e59057364fa2c407ca821c04b42cd57212890e2a50ac83390826d2936c4ff3257d1ce399142beb17a5ffe3005208c9c5afde2e4a539db8a47884995eb282ff0697e43030cf497803d0b0b5a9f74035cdbfbd82710a1c3515d05a11f5f4b46bf33c4706a199ccc13324705be9faf653357adcaa60402963a415d4e4ba9677e65 + +A = -2a32286d420694070f785810eaccf9faf3c402fe9a977602d0f3362a17adcc0f051361b0d1361a3e43d00f0f241ac16d6ecc3baeda126d1bb799dbef1ef3a53abcaad456a53ad591080e9692b5e2f051c786b237b7bb54ead6d22b189c4b48a5bfbd98bcb2a045c6fa8eaf2e36d15ac449baae8e5f786b64cec976f8bbee72990af2c42ac5ff5d7d65c097bdf7065c5ad6567a3339705c4d73d363ec6f73cb1528eccefeb485196379edff9bda8bf7204bd4986880583190ced58dceb5911534c2d223ee5f98981ed798da5e889c232db0a8de0289326edbfe5dceebbaecc7e1a4671bca7685713a9025cd72b2bd0e40b0e63ef7cfd6fff265da67351e9efe2e3848179e5d4064fa0cd21ed1a8 +B = 18051960929d074624777849a7142e48fc75269fc5881ebbe6fddb5c9c1d0b5bc728270202fc7f3f9a73ecf79339f44e936be83a4d7d2aeb8861630851b5310267d7fccf92c0d166f6434ea01cf5c4a78e4511b95f22467b4736ebd30186d804e133a08a2d8a523267a9c11ff629e6756fa24978250fed9d8c475f107f7657ab342c58a96ca9278b238f0b65e8b4167c06c244e5d7579c8f45dad21872c90c0bd253cf8316eef49cc4dad73cde0a638e4bd694b7ad701d01d0b55edc6cfb13fca9d8ac6fd803e231260b0ee0209b2a45ef19d1f55cb152661528ff6b6924ffdf572e81180eff67723700ea9fc2314dbf2b73ad9a6de6abc45219b633fde77985bf800e861910c3bdad9fd9f87c +GCD = 891fa5ee53d287ed91eaf87f3136e9aed12e000993ada8b756d5022fa9138d33c86400e68887ef58d04ee6a42dd51d2562a55f456dcb6ad3b118fcde4f80a44567ebd338b225a2214c2feda5390daca6ccc4ce55a6641acb71912860db28cc258fb854ddc8095a854d4dc1c74f525e313c8726614ae26e290657176cde169584b82d83b2979cc + +A = -5d7fa06f9475db9b54ba5674cb1d9c4d81ef55e9a3743b2ecc5b000855451686b0aba10cb0f764603a9c0b69928966629faa1dedfc9b6b3e3919e12207dc7b9213c6e7b16751a7f7c3d26f1365b726fc0cc25e341ff577d58a31c5cde5c535c68dd72fc81cf0a848a3d28c4a4199e53361fcb64d80fef4ee54124b7fa76789fca70c4660de90090a87b2cc73d1ea4380ffdf2a9f9486a7cd62e2266753993773205dcb982e21fe27d959533586f868ae01420314d37d66bc0a466b67ba13c535d97ee4a8101d568218116d090cbe9aefc2a23bda9ba714061d83607a25d2277f16a34eaa6889b7f053e20e34209fd34cf8423886099720dd50b4aaeec71278182f2e8cdc1d081bb0c6c38096d8 +B = 17eedf5062d82945024e10ecf121533dfe302c8012c6afa237fc0eb51bdecb5848375c149c51fd81f79a80c5d1ccb9aff7b872d895e5880f164c47f8b40b52171ee894b824a82b3e8255498e8c0ddf9f1f466b6fe5342da89be535ba928e99e72c5c51ecc1bbd15aa4a221f14d792faa85ce9b19a2c979c5ce6cbdff1d6e62a4ba9aaee1b706a89afa4c7b795391b494678f837eb587da774d90561712b9ac7c8a95010ebf60084d20d1bd01a91c72a50a6b8e4011c57378ad7a20f1274f5a574cab2ffdd83329e5b33617d2ba50d00e0b379d307672cdc1d0b771a8cbcae92a27044d4d2a43e2bac44bda083a02255a26ac3acf56201ae79b0f231fec51782a9acd75e60ffa4e52be0c11cd6f0 +GCD = 1dd8ba55606f1503b6d013645e8d0e119e057a7e4ee90516eb08343eadda2eeb39e2e9fc7999be9464c8769bf5de5b36bf0807ef3b44f6d85e666e79ed845cb608165abace86e6bdfa1872c004c2a4403a2b71ef09defef17045909fa30b7e26c43f26142877f1bf2f1b5ef8cf07b4f6f88d6f5ecb6e4e946811334bdabe05cf1d0ae07a4554e8 + +A = 61bdfa4082551ffc776bbc80587b0612c9ddd02715e821752cbe72f7239f5b9c2e48bb23de9ba96a662ed4f0e4526fbbd1f37f70cdcd81e0e6c9dcdb7fc74788f1220a1a71b73198fc2d0576d5ef6261453617018f5a3d51ad386468c08e18bade2f5c6488c7ff0668e5ad765df4d2dd837096033e40fc93c113ec071abacfaffb8121dbd3c9aa87dc5bf9f5770d4b300adf6b43cd8009fb75e7e426644f8a1734b701ce4ecf385621c2b7193f08d9cbb86fbc80896c46858b9ab3cb3932d435c0d55a8fd2095922a1300c9d4e6fce1cc43e746881c06a222a44d184e1cca48cd394fc1ac6a52c5c22d435898dfadbacd7fd7d96c272f3ad5fe4f8a3ff2801f3b86216780051fd18cce2a03042e +B = 1841b502a53c90738c124ff1c1f0a0b25cbb29f462ca883769795040f2063c860a1b606902a3cf56619326327625972bf562e9c495ce0554dde38aac4600b9102f17838afd232c39b8f0a6ed74c46dbd35da7e8078ad5b7a56b41a1d89e89fdc28c678b71131aa4dfc2ba207cef2f44dc8e3b146b03d8b6ccc5d621054bd3a7e0bcfa6d59f78d738d359477c4853773bc683ec6b8916a757d0e39019b8633f9cefd56951e312ad130482a2b502c246eb63fd74d3a1e1f21bd3a96d56ca665f065f662f8b9d45f0ad8a9a564eba4fa60742b273471331de14399548ae81505af302fa2c3c1b457a5227fe6fd6e008379e99c3b2dc7e3532ccc41a560053e922160e2c54a3b1338f585b82379c411 +GCD = 13d301acb4f97a5deb2bff5bea432736aea5c4682f3b26327918b67b54bb8746ef6c498d7556a8ab5a443c42a62ff72379e6924b441fe322bde3d1505d65236edc66674009466b21b70a14391926bebcaa9b820ca0229c9599bd26ee4d4050f7dbb4298a87cf6811cdfceec16130fc196ffa41903fbe5519351d64dd028bd76858afeb81170ecd1 + +A = cbce54a50d627638d68719dc2ad8aa9c8bc25ec2a9171f4ac0c891ce70f0cb0fd4a7f4f79869d8651eb355520ffe2c953be20963054f8d8989ae5fe0c2f0d48eb4485d6f9084b59d718fe10de0fceef4b2a9866931439ed5b0f3c4be53140c1e87ef3cb3e66f7a799790e31c7364c2a98c556d40c49045e953b7cf4153864aff6b8c552dff0332e6e7b402d66a19aa430a9ea09c2721ce969e6a5295827a88f5a631f8a96d37ed4c99b27554d3aeeb7bde1b4e1cf8c0acbdd21ab32397c0dd1da9a7eb6a0cb466c67744623cbea929139ae145ffe5643f3046d7f8923c053af9b92a7cc5f9cc0652407d1050b7a31058781a4da322032ec2c112c1511e96c5d4948bf6de83d4d3d60d949a612 +B = -13db9562a14aadfcfc42808ff5d3b8380bf95ac8050cb6c0ce97ffc3762ddab501b512fdf70c6b806d69127d6c7c01dcb92f22aeb94f4db24ce96339531c99133daad4f7fea9d079f6dcee9fc9e901a777c2b1ebeaba74fb017d3bcda556fe2a8c876b4888457e5235d2625b13b97ce3dd6158c127bd8dc32255b1c9c7545d53d51e4e662f6d22d5f72009cfe2c3529aa17347b322f9b9ecf6604bc6a31251960cd9126fe97b0e90f976955282834c9316f801298739dae6036c8ab90c733dd4db24db4c4ee5575f41ea9e184419a1ff34ebbd9ff6b04b63740450fb027f8a00015dc69ea4cadd475205b70d1985a36daec48e4070169f005b21a4a4864327499313a0dd24949e5a1dd053a7068a +GCD = 637c0719e5e2fdc4db6bafb8fc01eeb160309c12014305e0ffc8b5deaab31ee00a2e899809f0cd1c7b13210f77301958a92133116274f5ecbc96dd604d7b07bc243804823421ed0699a9f846796d43f4e96a674772a4b4ccff5b1d37e5d76965a790e3f5594e4ac32de6a62b4ae7bad8e972acff07c6cb59ea0b6627623b527894a6718a9e9d7a + +A = -41175f3d43c5b5df8d77847750dccef392f59908527d1026a4fb1b71e5c439a6b60daaf146bc6c4ce000e3fc19cba776209655bf238db056a679714dc9186b014fbee234d9f158a55ee5cfd5670d7a0501e351feb43f034187bf0ad68436e9202a55720ede01fe166e3dde88575af35b7149219ccd824515a27256edfba2a3e107913f9aa9979d4a6aef9530db1a4fc399b8f06f9f33c4ef986363b10766768273e494624a7cec1c7d7be0b1e9aeb568d3bc3e4cf01303ced63b7412722e3d1f6e91263c6f4e9d8364a0f3ba56a084c7d5a9e41a930397c6706e0991dc1e9a6b7512cdb72a12bbbac332810c85e35ec1418681ebbec32419a907c0514712ca50f9e69d5be3cc37f1ed50298dca02 +B = -454b6acfc90b59a3a0743bbc296b2bf6a9570602f6a83af372878bf3ce46302e3d4a878819a9b886559175a06449c5711b6f165af543001f85971a60ed526897dd2af746649f598a6f5c3ef06a6562d97716c4fedb2875dc13294e3f94d720ca91ea04150aa336754554ab6074881e52e6475d5cd2513347af8c7adb631ac8e6a7c3302202bf81188d09cdbfca0a3415c3434ef8f863724e00447847164c52a1cac32f00c3775ceb063c296926842f435b0e7f2059a5f2da1b44caf87f8c236bdfd9ca978868dd465129b25f988a1f8df8e905608423f00fca26a43eb8c0561b7f5217341f3babc032b47e717825c337e36762c63f08ad018d902d974427594be8fa0b86ead421d70e13a89ae925 +GCD = eb681af7393b187f21fca2198ff863011eb1c6d99f6e0658b22489a9b8432b533a00ac70cd1daa9a2917e9a3e1d65a0c52874be3695934766a8ab1482983a616163f9c49a6f8cdf4db7de27b607b123e23cca9072355109dd024412467402f2c01c94921f6d22463acf3264c19a78dbea0ef59a777cd19e03e1b2040c0e5d07b3ef5f34a5d6a01 + +A = f858558cb1db4e261cc6ee60654f1283ac97ddce36507cf5ec6b24c0dd9caa9c8ca7a937a5d13bc3a60bc630045d7fd99f4303eb6d477799338ab37a65cd313379076eed330a255e17671d6c2c33114953141977fce29b40beb0de6c0c79c83476007f0ff87412a4cb893bb9f68a052dd5c7bb1e7c362ed2f7b4c0984b3d34a70e8b72465eaf1b9d982286ad65e45e37ec1be754ff07efda0c9acfadc358431ab519f16af812a99bd041558808e61fbe20fcb0206945dae9c6c0bbb07c81dd35501b5164e02f64a7af234ae130103bee9933454e32ea4652e0f2f58d1fc7eea3ffca39d284113e7098783f41b12cd7ee1d74aacc0a90b07d23fea9cf9953b95a8e84948b309f217c17c8d7d5ce2c +B = e738d7c21b448b5f4604ae919d06022fecf88fceaf3c24c8f9cb2629cdac6bb9016ef26f73e2246b5672fb3829ca4051c33f7d6e2e5d2b6f63c779862255f551b625843e9c10f15024fc047fcc04026137ecac41e4e24d0924e1018844d3439996e3c040b6279fced710acbf75433cc4d5a4b9d208b98bcb901c35a818fb54974a09ee3b2dce637dbef2312faf938f535e7d78d65110b2cae6bfcc47ede122247c105119f0ef5bad8dc8e7efee283e3287eb91e26544d364ab1c31141f3f55b5b07f1860eee83038da17dcba83c265ad16055ea0cee46a994837e4c5fd5316212c993aa772032cb83bbd863421f645f9cea873e11d42c3b82a5e2407fa615cb40ad189c0f837c07dcd0a94281b51 +GCD = 1288a82d090c30126cc52961274d35f1a3a0d393c54274a1d5d10a9b9bc4ff7e64867e6e21557c21d3130d522627ab7100f1b72bd9ac73bd2119a1164785b791a4da66fd4b2aa8dd8e4a7e7a1b72e54770cb2de3021453253451483610a2de66a2d2c273f736df753ce774b1d65c0052080f1cccb2a238e1bbe932ece25f7463fd42f192f2a46d7 + +A = -a34bf19c4bf4dfbaad2ae8c769541962518f36596897ce9383d116dfa46eaa49a2faebacaa5611b6f27f1b6a5ed321641d3c2d09ac7f7ca64fba57b592cbbe091e43581c6a734398fb2737c2714ebb721aebc37567f70da1eae034aa7e8e825b0602895d37554c6f95d01b843860500b76e87fd20f42feb339cbdd90a964ff0cf11b645cfa23691d1f2ba11d54a24d8dc6c4836749527498029fd38d5b3bb6d3b2f32c5b138a11c145b085bf9d661f9d1210919661c030575f141e965b2ef7ffa6c5409519795d5a9eac22fcd9ecd28ce0973fc71aac5cd148b5ac39666453633ab9683d42682c73b30af741e3623de73172a2351a03a19e1f00428c851cb65696b59fb63a719af8e6b939547784 +B = 21ca93267d72bc085247c0b37912d5aec67c94e28ef0db16466762df92220a1742e63766e439fe9cd505a098bce1bac0cdf6a1bb082d0fe8337ee86e5c21690e2a724a83b3775782804ef1d7792104da5d5db9281c5723a29da8d4eec9736732146c8bd3a390fadd83b06859b1d7ff62786bb8af4154d36042bb11c301d67f08a445afce39a321da4118cf6cd265d0cac2cfccfd4c5d1fc9a66b9cc2d0cab919a00d9f13e8d5960e25ca1012bf16a4a00487038c249d502dba049663ea693142464845511961196788b83298878b3d76d96c42162e37964a52d2677027b2fe8c996ea9160f9738b407e5876f27a106b615be5a4e4429b281e9d969c13fd90832d2f4853af222af1adc20e432b48b0 +GCD = 23c1c49b6c10736aea82a11344480c57c6f3e899517880498748c436851fc82f9bdc27275c1ed6f335e6fcfc91f8cbb517e297af3075534062374446e46dc720fcd4bda601c5dd6de2eef63e41759d7f5cd29e78bf602a3a45920b7f11fa00414e61ee99f536ab63a45b6e4da04c2586ede05f31453b7e5975c30959e9ced265f4ea7b2054c14dc + +A = 65943a57f03a50300d421a07be6932266e09bf72e995632ba0277b8fe73d12d9f54a7351a500ed4c9ff5a91eb6681d84c30fb525c3313e017dd3169666df1636f260d2770e72a0b123d83506ad0218b21c4936dca9c76cc761a44fef022f76dbe33b700e25408404bb932e29158635da68d41c4574051fcbf7a8ff9a4d0b710845a88375929685cddf2548f532634326023d098fef56c5cbd257cba7defc746b6dbe32a6f7070e1f9a83196d152715f551ece17cc8413b848d4dc5a2ac704e538ebb1710f62a2b438d5b73a296eb2526bf2412ec920c9eb59f0138c4758d62fe589e876fe990e2dee907aa401480649c8ba8c54e8f9311929ba804b86c3175cbe30dfd258a71f310967cdfdd85d3 +B = 16de50e465c619974e0de401885b864394396dd1812bfb7d269e0770f72d03ba4a06062d3ab44645402ffe4ba69455cfd4bb6c15d601b642600c3c2cd3b11efc41b5b4791ece7f6c423785ef9c21a3589287db7b15438d740b08fec883314920bf351341e14abeccf18973f6d56ea686c47b8a35adf9b978a150316e2b2f2ac6469e1b88ff69361bf91ee9a5977b6e8b7cb4928a5467fe6e0af584fa51485ed27cac4d1e83f3367a39fbf3a9561491061614d6a09f3b55b214e032faeda50fab9c3b6f70602ff12d382c038094755ff667b6a5d396ea2251cfbf53c683e103a583443b0b34b8d2c94d3bd6ae6ef1efb06a8331cd7341a7fd0b85a240a1c9e2f7b7a38feaef40451c1ad614813e422 +GCD = 4358d21e8819bdb7fa6f4ad1978b9ab92adb4cfab6251b7448db6cba6eb65c98988128127a21ee50c122041267885332aace74e716fd6a0dd06ff2a2a371ffaaebe812ca919ba2d4bc00126f79ea1d6708187a105e05e4e23e07d6b45786a6f949a8b7f38b6f610daef78127255aadcdd9d958e8622957c4d8a939bf99393ce1b254bbe8290810f + +A = 4433403140ec4f8028ef0877fe83deeb9cc93f5a9cae3dfb8cc1b55ca1890dd06cf4742c45300167e473127eac953f54d2a834151ef50f11ce926c6d4c3d5532e1e35258100d7ab78c8a4cbfe80940a5ff6d203bd24bf4495e20876b756475d6fb8191253dc557182952d0c3b70d53771231ebab1be2ba3b3fdde24ac9a0de9678852e38fe0ba436dc3f2ccd0244e623bb1e62934eb44d3b37449a33bb7204bfb046b3b4efa61712d25afb08872346c126092277ff7027756b3536f3152eef2460a60c436056c227ef58d5f181da45f0a07a5ca486e9560bb2c49a7b24c8b6aa5d6df6da60521eba751a299b8bb277aa878c8609513bc0af28c191ca26bb5533299230621aceb7c06443af85ccd2f3 +B = -31f90dd532422ca4d6fb167b35216a0c585a34712a14ebe0aff74ca15ae9816d0fb1ff0c292a5eeb694eaa43e40971d7dfdc88049a9bde5fbfd4607302d39c7868da8b9a8b87bfeb9b92e62f8b7947d378978394c82a0ca79d85a20cf757bcb420228542dd04aefe0c83ec75cc97e6c2d91f38c979638a9cfd498519adaaa2118ef7048f8ca6250c62e6a3a25b1734701161847ce950157cd5fcc869bd596bbc16a2e5c015c71458361cec83344c410824154240af4e844b8db36359f445fdb9acb6188c59918b6965d192e0ba731775771f46a6b2616ef6759ae37934e1aa478b5d02d64b3a00d2db22455b9cf8f8b138693e2f6cc9cf39a7269cc0536ee22146c111d41cbc4a5a890611e2829667 +GCD = 929fc56193af43220bb8b258caf55d20dcbf9b4c5a9c72b0151fb2e676b7fa942d294eabc38be689d6dc4f5e1ba4e441470e81cfcfddbff7b4e6d66414c3aa3f1eee18f360e6bce779a64316bad7a1914f4112ad0de6301f6f478d3e34079734ad2f510e212863da53588a8fa05d2239c4f72aa05e756181e61d6086ee3050f99af82dabaecb38f + +A = bbde1c851190ba2a157615abe5f4606590734b2da23eeb9b40b25ffe9154fde0e3de53eaf847c18bcd68ec474b2ca80f34861fa77a93e550aba514ae5b9ba9d718dd0e8667925e7a59609bb2a9e7f98bf1175cc0d5b75ea328e480613c9858f60ff1f3878aab1cb346a69e0a10ed5882f3f37d9a78ae647b185044b44f3e98a4a1cece1d50806a39f56229373b8281326d44f196ae7e94f2b0fa9d3c3ae091baa2c42407c5306bc2b7004462d17cea7f37b80f69af8775271958e5493644cc5eb11bd310180b74053c43cfb3be85704bb030ed64e1c84820da93d759b02dbe3e37294bfbf04e83bb1f4a46d22de31ddbf0e7cebe1058cdf47287ff0831881991572c846954ecc70af72a65a18c58fe +B = -c436bb823c11242b634e38eed617f460b6ae4d34058cbd124d1b5e24614d68172d13b3dd61bd9f3cbfc906d68e19311b72792139d1ba0dcb555d476037c1385183d58b89440ed1f7e57c93740053707ce4ff09286f5287e82f58af471cf6289480451a1d61836e111584a1a3b262916e0e895192ed9d45ec24832d3c9bc97982b167a4fa09554760a3927227772bc7d58be6ef80776ddfc60143844e90621e537a41250a31a95ee700534aee6b490b9b708a803bae8f06286effbb8f2e928869bfea564893471eeb27db6ffbb3f203b6e163e0d558258496b1ba171bf84016b1302f8f0f18a2113bf5ef6918b77a065b4831526b3ba70e73d768c25d6d91b791aa09f641a5eaac9d25c2b33d6b0964 +GCD = 1184caedbc857a571e163d9db99552ed498c1a6eef5abfdf0b2f655dc8e5f9538d9c9c371a2fbc2fadb2ea8973066364f8b211ec862e94f1d7d15242bd5106a101cbee70b6318ad02ba149c1fc19cf34c0e11f7d99576840c1ace56fe31e35f2f33d36285250a90f1837453d7a89729406829462ab55d7591dc00ddb06c9852814f42e2682726482 + +A = 13229e6b4023589b758ab6b1b54320380e7a611c80e48b87c0800f557e58fe6efbbad12ebd9d9597956737d8340cf26ca7dfca35a14d9dfc33460eae6b36c71ba0976f9fa8cba07d17f2edcbc83e73e2f2a34db103eb6f5a9ce73b6d4122eb8705e88e68d67c3d77bbc1d395ea33e70d605a9a90df8553e953b4625ed108a4556410475fbf14d0da6464aad4b4934b66576fdb0c9f85c9e04f75c92ef4afac6b5d38258705d9831c791940b6e5426275562969c64cacfe7235bd0fa566a2def5eeecf32bedbd0eb90cc335de21a0649bf34d5503cddb8c17fe334f65c47af6eca7e5e2779ec4ce6711efdcf29ea699f4ac86466f5f40277f9cbf6d3dba662b62e761dc491d26f81c26e89a19c69e374 +B = -2932ab66a01411c7ed6ed0942eb637e7bee470f1c36e26a2a1c957c0cd16e770916421bf60c665dda682ba26a3f31d10efde61cf0f596498f0bfdd8e45df480602d0dd8eef5dec44fcc2686d3c99b2d12c0001b0a1a5eab96b14af69f78a03920b280cda457606a7f17ba86fb8dbf0eb322ead4522ffdf57b2374607dc96323cc5c2a6ca81f37675c381d693b8dd0abb6711f3bd1b794d8d2ee4b00a34d4a4853061f0ca86fabd98b9070d351c5b27077b99ddbcfb61e67bc664b58d7a4d115a782c48e1c6ab08adffaad97e334ce506dc0fca0c85b7608a31cd81d24423575345d05cdf2b10616adb367ae8cab299c2cc757329cb2796619eae279a2f345d898119cd7586932e5ba38f585335ed89a +GCD = 3176f95620a041ad21ea85ccf6dbf566d4089638c14017e351e874e39cac86aef060358ecccc11845f179f498b81842d776d5d79db0268a8930f90b77559374567c8759c5e9e28d95bde79c78f51787052e7c67280cb8b17aba50156f05a681ff88dbd525b4f78ee324126f5baa8eee83624bc38df080a8d0bcbabcca7098eb85ed040eeb65d16f66 + +A = 81ac8b57641306c25a78440e4fb8f1a8301b842bad5ed80b7d59f708cf57040c4596c3f95e89e8623d48b2e8c73015e32d039af51232cecc95aee4157153c404691a3232035d9ec5b53f3b1261772cfbb8414267cf92341339c4fb5f3481cddff4b0cfc725bb341502d005d02005542cf734a49302673f927a2665ff7f8f1b0980928cfdb1a9b06a6a41613e07c892ace3a94d1ed578e9cc057196851adbc6274aa4bf76930764d05781a4426bf9d92823929e065a136d4f38a3f2037f7d833ae4c24117f0c63375ec0f9bbd87047ab778c2a632875990ad68bbbebed593dc95dafbfdd435929096e66d59bb91e405a3da74482ab7a37173b142ef88def69f5830cfdb0fc096e8efea7e826f1fcdc13 +B = bacc4162130805583c89d287960658dabaf4a6072d05f4b79c6f2d152b1bc088f3ed7dc3ae3d366c8bd55e6d94d7b4bc8bdade587f98c17fe7198016f4dd12e4807641920df3015c647eb749221c8acde393086f5e83c0d3689a199d0b8ba228b439d80dc12a124b9d3e5f610357fe2201d42920fdfcebfc2eaab09b0b7b659b40983d31954302a8ed64285125ff214428a190fb9eef80c2853fc42d2ca482133ae4b8b12e5fc384e0aedb95faa9de4395a42fb5c7c80c9356a0b093a9f838b4be305d24c73c216a4a832f8bccf0bef1e2c1924064198ded63f57c874d1bf6e99395d35b39f87bb25ba229016d4ce3a285b3e981221fa22f6d8e3f9647337cc0c9ec247ea902331f362e8fbce4c6877 +GCD = 5e8e3ddae831f42ae315136017111624aec5d2c4f3ad57f5c408ee94dd7f2033eb5f48f21dea9476db60aa02a141c39e45dfba7ed531c85745ab2b7d923abfbe74b382d71099b26ff5988dde70ef696a2621fb369e369f6288f91c1c1934a85fd0aca79a33ff77db1f698ec095da36c6f722f9746844f8554dabe0250aaa2edad199f79732fc4cf1 + +A = 22d40cd71e86c8760a19cc623fe214619a71947f93e618ad04a8e2b35a34c74da0d3fbabe2fee9e0c7ba5b6824b524332d4dfb4b292d8921f5ae59bc023cab10c4e56a65188cd673a994f53ebe7609dc32efd20d79c945dd766d9024d51af8ab9345758f4f8b0a56d624bdbfb0b63238fa2516daa5056913c68cc77b3a83296c10bf9887e99db04992b46da9f1c989cc9f9e5ac46e6bfabc7ca421d254a5f02fec1f9ecf13a90090ee997b099696ed84f7f1b2fb3129ff4a8cbe16ffdc5ad1017e8efe332535332dbca34763b7d34892d8a4fe4d21cc09a4458c09992428a5d38a99f54f1c3d20f9aa74ee8745f91fe6691f98c952924912870964cda20ba6d10078e00c82e97a3a0f926b00d7d088c +B = 46a015fce18c8f9dc8873479cf61171f50de48f8bb5abaae95920fe57f7a3f3569da8c9b0293e7c66188635a316ff28b7226d911ff9b0ec050f0f850cd1a0c50f6b5a4bc1220f64651d2195f5c97f5edd01ae849b14aea2aa4ffc38eaed26a74b55b090d86da7fce05d0cd29d64d846955b63452ee23311e7ee98f518dff48042dd4bca7cb2aadf9afb69b5340ff7e28e17fb926206e1ff315a6f6aa6137d6163268a8777ae6e7f59986dfff870fff98f54f43d38ffbf9123742f567814426988e494ef43ff1c21c73de26fc16745b684159bc54be81ed8bae9285b792db16b816536d1579e653a0d31b65a2bcc85bf8167c3c0908ee82e8a20eb806552976ae21c523015885373cd14cebf4ac1c5248 +GCD = 524ac8b2820605cc51b8ec2b9d1f283c8df0e639bdecf4b670c30a68a3273dd08e9963e964c5bfd1261b8de70eebc776ab8b02f5cc141705f39e7637170c283df86e90003e35bb16828eed7fb56a8db2729aab01efd8296dd205fd9f0d3946565908c70ec148db9c1529810a4eb9d9e10e14c8ae5bf0fc861a29b41d1f3ebef0e3399700866e2933c + +A = c3bc1c27eeacde663a096a178a1c56dedbfa5f5860eecdb3b848f38c66b9d96b0cce7db956fd9a44043bb7cc83b4b1c4d2030d9b8815d6a1eaad93950e9c084bff5349ea60128568a7c51c123251338e087dc75b2ecced7b67676d37ea3a801a49f5631debf4f42e2117a54ccf57e22157c2b772eaf41065bf6dcaaeaefae847d9233d34fad1e12dffafadf0e22f052ee2f9329b150f5739017011149df395c856892620cdf539b472eca4acfadd353d84bc72494197e95c1202a2e69c356e41d4482b78424ea0796f35037e2739c9a0c98201b1311eefa955ec0ad9563dc86c46f7c04f5b7c1d468e30eb02daad35d5ca1dd2771c8ff4590c95c59c08d58ba56f2ae29f0a7297fe7cddc459822e666e +B = -1e46ed933c3a6e199c42e47539900ef253726f519fd4be30b11056d2adeecb3137e76576babefc6251a80548f7badc138e1b0df7c52c8e178ab128046791ff193dcb6e54b170b9f0f2bfa7d755028b59b87b4bc1da3564e22f8d78f37dc6f35f27f8bb3a60f62a0990aab45b1a227bd01372d2e443f13f355e9a56e60d064471774cfa06821aa47d8a07daf3fa30696160a7b7ff4acffd98301e931d9707a7c9772a37925787f7796fdbc21215a4a8d77afe94ebe8503ce198ff901d685751ea6fdbbf71989431ee18d2f6c1ddefb73913b0612a4202c4a43250bf0c6c7b16ef3ea258970f08594edcd478962314283b8d05ac90c7d65cc76c85ba3a0d7b018d2f90a06646bca1d3b394ce8d2538555aa +GCD = 1f87a51efe5b0fa59caf2cb864ecb1b2b1a00ad8322085d975f0bf8fcbf73f195c58f1cf1e3561ec0f7331e1f214ecf913d9e9de76d8fc6402948642b785c1cb36319360cd7ee27387919cf36080109d1ff9777eed5bf95b7fe2d174bfbf67bd3dd81ed985721244682176fb6b54c4730107b16fe41e08105c2afff1d4edef299283dd9e82cc6cafa + +A = -190e2bc8d27fdbf1f10b9b43a6f6ef631ac1aeb1c57a802f73de8624180544e3eec2d09a796ae97a3b3e01943e26aae128a7030d9b5a0514cf88dc2d7054d1b22506650fdacc18bc4932b8dc3e411305b73061a5c7e3b3feacce25f3d6ad42eccef4bdb2c762500345c6eba7805768c72b03706975bd09849a804a84f1e8307defbf6ddebcbf9e81bce8f313fab1a6a7cdfb9a8107b184f2ef6be4a905a2d3fdfb439b20308166b4aceec4c24ce125458d5e3b7d322d107bba4bae060e54f4f4ab0adcdc9709d1a500c426b3369eb80b730ba9dc74b5e73d66d2938aba6ccc472dd691fc989ae8e6a27e8e47a3b358591b2437991f274bf1a8c16f2d8e017b0caba6cd984423f06c343c6739d3ec1cad9 +B = -50d6bdf1d4918bdd8e5b8c36447c6ba21b1dc52ebf434c69feef9303e2401a4dcf36c1ba935dfd67ffe108cb2f21cb045ffe041cfc68a0d463e8288b51dadad10344241e660a7ffd4e1539bca21ae2da4fea1aa10287188bcdd4e4946a4eb1744db38fe3c66ec542f1d79b36416f660a0ae6c230a21a90d972494005ece6232b99c0e758e507389a8e9028bfad47d0e97e4a09fe69a1775132b005453458ebc5a066ec5ae780cd549228adaab9a0427390e1137f535eaf1d468fd043be5eb5a5fe1e6df48102f5681e89f8c0ea9a9973e9755d424697a1c0b5e6629f1b7e6a391d360b670f51adf89a615aa09ca48eadf4266482afb7cfc9b1ffafae6000f386e9f55df77df85360e5888a606cdae5a96 +GCD = 384d8cb23deb11876000a97f36c0935bee4d62203096f0ec7f9a4ac2375f66829547986e3e08870a0ab9f96acd1b31508a4fcb0fc657a644917aad211922b960dae44f406f05fdac72e1814bb0b61652edb8bc07e21b7ce11cc8ab8e18898836f21ec94266a4c73988c76c79820164335d1e4e014abd9be600140b2384afc6bd5c98d81d249120569 + +A = 3a109be74dd5ba2b070eec2a49725d499fc2d4f23ddffb288a7ce3f459643237955ab1e0196fb9edb59feef3298a410cf712b3e4211097d2a28b87b514a72c9927dc6d69bcd794f304f30ec0b85d56c0f8a4a117e9660b5d5e585e19721db6281e0994a81245f0354319e03669e7651343af29d63a78a8a32d3f9ded1fb9c3bcba0298840dcb707b9d71203e4423f65311b8aea635d85520adda744567afeeacb6ec23b0ae219525eb618e896ee572973ecc3b6e53cc54b5a64a8add76ee7f24a896594175d0637947ebc330fbee8a77b8f4c1afa092efde54a935f18b991785031619eadae7aab9d06f930210dd2252b53009214f232e8db7d8f2e740d0de2ff94472da081c13e4e4d35c8f907eb3b80 +B = -132fecbcff4a181f2c8d0dce9d6c59d3539ac5ecdb0cc3a844c55c64904df3e1e37a6d6db34f19d081a516deccc0ee5f8a1648fcd7f9b44421660e504ba3ee4c680c7ba78535d5c892fba5017644d0ba860fce39d7078c03ab902ecfd9676aa24714e35fbda79a9770f202bae311a977f50d86398e8e3ae5ad47b5c2f72e90126d01a554bf592138b8ebaf838157303fa3b2c3b0d998575c34851666b0d6325eed741d7f1ad4c99b930f702167acc3b3091169a31740ce87d0714f5eac9cbbde8a3e81ccc12f809d18b6f3e5909393b3b3449e8b8bc5d0dcecb185b4e0abc5a9baec3e381367ea4196ec04b5a2ff8d6da984e3eaf036d14b8e3c70ff879f4308a3e20818914b9804a691062bf1a966a780 +GCD = 3b53e7230757053e0ad86a2ee8dbeb49fe8b60625e77dcaf1599b765083c6eea2addb26d2a8a421de10574410f207f33a24301d412eae3f6eb08289b977a48e4e6f8b3041127fb7bcbf5a8e2f4e9b2c13e5f0622ce46dc8dc9d8e8697a50ddd7a37d9764ddc1859a44e47d184dd30c7737039216cafe6931bb4c8f5816b3ab56dd2fef1ee219959380 + +A = bd88fc5ba0cd6bb11e28ea720bb5b3dd3b3fb4d795934cff5f258d83ff90bb13f0d3ac4954116f668ec3f041f4647006b308eb2d5dd9e903a610c788948ad99f12812bafa89a599f424876ff6b5ee6ea17a1e821d18682f8e028653f71c96ac328d8cacf620e37ed654d101b6cab7b83d02a6867fdbbef746ac07b7449dd9380443a00951e28d0bb62450059ba69c06c487b3fee5184a559940551adc7867c6363db1df203c42708d81333a3dc2b256deef3fa2f3598f924d8be811adc0508ae9f826e84aec1fd243dd385f0c20c27457e648f9624b97ad67ade150efcb5230ae16f4ce42a0ad7b61e9c8f4b041245a8678b5d545baf521cb73ddf555ae9fa2481f1fdb817872472dc8ba6bdbf49458aa +B = -3ff6520cb83fa7df001bf2f8daed79b497f6bb34e7edc8cae52c2f94159adb79127f5130c639ca55e605b76d24a4ef54e53ddc7c5696c6470a89cff447f0fa0331f41b7f2211449a22c030071dd1fb45505018b2f76e2536de44b06bab358a4d42a1f71a8153e39d62549720d28dbd4161eda32e6eb8867d3c02b5caf0af66a5927decabab1a73360977afaa0a65da7c275b85216fd71dc7d9875331e634bee302bf970509c788e3cb4bfd8b35573b8c97cba8b909f781a2730c300949d788c6b98044213dc7c9004c6012b9307206723cb8fbc95608d501288b9a5eabec461092c9ca76a3e10b79f5718fd56944ef859b32ef429509e2d242720c4d2d46b10dd03c869bcad2c8312b71dbe18b29591f84 +GCD = cdb6f4e9c29d299805159a1ccf5c4cb64dc5e3977f9f60743eff5f005381d4a67a5f42095ff7e97c82e68c46fd5535d5f36091b6136d4d59ca551983f2c37504320d3eb72bfbfc449da9577ebf4ef2088e6b1eb9b2cf8024c8bb6b1252f99d93f5435258d1f65db5aa9f036f6bb0166f05e4b43c28d2065d49c779fa20fac69110a69d1eacf253c86 + +A = -4ca1aaa717d6742adb7fcc95b9b725ac07e4a0133daa94aa7e6a5fc0ee3aef231982b6fe699379550167ac315886982515a4007526629457f65078479db3efe0913105a4bb476ff2db16918f3763d80717cd42c65f7034257a0ab1eb840236c8f6a15814746cd12cbe3f8c5bfc771971b4b2cc20d231e49b1df10fe8e3b5fccba169d6efdd467d115fd706edf16b3730c3b32d44403752ae643ff79a20642a6748f2413bd7a3298c4bbfd435ccef4cde649cb101cbde34dd5420483cfa0b6be3aed9b3181c93a1507d77a3304c41694c0b2430d24b3fa3c7c76a2c838ef4bf59b0e5b9d78ffd7c91df3bab1797a5000529c18dca21fa12a0ff6c4281acc9f0f63ae51f44b04d6e4952e53288033e40e908 +B = -6831b24e29ec0b9923389233d00a0af26d0fd2b9f575cf63b06c0af1d7ca36418ccaadfd0dba06dfa2c6daf59d0d6fee6116f7a9d124072e50301f3a4549a3f90ae504af55eabbc50c836728de3304a55d8132831d8b14c7024cb3d8dff78a98ccdb4408595fcaa3c358b7a6919c7ca8157deb2e683a81420a25be56bb53babeb3427faba3904b811081d67790c14122be5af04202f621fb17735f66aff5db598db15f375172c285250de66c011804d93782229feed0f06c35ba05d9d95c67fd62b53c0e7e24254a474d94ed7e147490f468657308d30d77731c416d78c5d3e4c188c431ceaf0104ad21439b2639602d5e336bbb86eb502b61dc54be1111a45ad71e05aa945f662a487841f2e1ad23f9d8 +GCD = 185561aea368640f959192c8a920128db7ca628b3d1b2cac30a13a1001b29ec59b2fbf2a489462adf3bad76bb66d2f5a9b7f0d075034b09d80ce602639e923778ad60f2640283d64328af605b82475c92ddc9c58cd92f792b2ca6a602e7c09ee7bb20487e673c65a65067d4c32aeacd91ba63679bec224769295a926d4381b9d72f80a8948837bdad8 + +A = a1d7dab703cf1fc6ca78483d9c6da86b19d3b851a77b2e010c36aa5e86d4327066cd1ddd345178f13a684d0749999f84f08a851578143cc7a51638df265f4bbbd7d1b47311bfaf23debf953f06838c033d72bc36bcd7a4b187a51eb9a8db7c235fdbca91ed07596690cae6f9717720fd41e31165b804d0de690ae4132265192dff8bd9d408c7b8786d2f8c18af9af4a3f49170c5ab71b0d3566d4173b1ffb0234995e93bb0592018e6147398d09fb2b298d7fbfc7c739fd88714bf2964f5125108f9f306e342a072bedd28010690ff8aa7f9e9fcb0f4aab81a03523c117266b546dd1d9a54df67f6087c8ac57572994951a6ad86278846640f260a3addea1e5542f1082bdca58bf3307a1f8b1b0dfd11d8 +B = 11b87b63d1d4383776480dff9baa0227f9711b5dec6c2336e7de596071de513b4c12edaa10bd3f410ed019c6acefbe129c7813ef1ff825f6f7ae597795789959304ea72bc1c3fb5074bddd2b218e6d1c6cb099f7c7b8d1321aac4fdedd185b2e29c34b5856bd9bb4ae5028857443b7ccce87d7597387023febc8095d8a98c31aea2eb40a4c84f5a89723b3008c3c0e00ea948a4597d5b1872f4710e2759a74b37341035a8aa105d42be89970534987638bf89890d57d1f47cee2ce1572cb01ff3af6b8c6ae2a8490399b349e607e01c441defe3817b4fe8b030c956cc8ef662fa706774fdc20816c739ae23d2a2045d6409860942010e726e2d77833ca108d79ca0e53f87fdfb121ebc337987523bdb7866 +GCD = 22c04f016b106e8634db74c3a7537d70fc17a822ea286430befd67bd916620cfff9510599ca31f139ef59f171d7c11f7a59b0fcd22cedc93b06281c3187217cd55e4d98c90c3da9b582693b67752e7d7b13bd0db632aabf2daab8a27e49f14fe3fa4f7915a2f34981edea0d6819ba022633b3e1000d4b0dac3ba126544265bff870f0bc47326d924b2 + +A = f64d903668cee86d1c0a84098bfc6a262ae0fd69128b8f825cc2397797b4aea27de896b629550ab41c5ae8321ac83b872090ec88a0fa757b505f3cfe96584d9763945c89101921144eb930f3ce7acc736c410b6d2a9dc6013b9d748632f7f178a1f62328df55a232e1f9b69efb77e7ccf8a97ab38f342175eeb304ae3b2a60b81aa028f8d7eedf27da90bf1b004d8c037302cc55be00d7b1829230a57af5a5afbfe2949c4d8749f9ffb34482039bea4988e10ab1ecd3be4efe40ede4e6217bb4c247dcbcd0b6bbaba4015f445d8ce86d9eb8a63918085ee8c1e3198ec0ede1821dca33754d0067424b1a4b6f4e5a0049b1711578e3b96d9cf43f0888ca8f1bb2a8ace00b042b60be38ba7df9dda7f55f5c0 +B = 1480fe598decbd5e4469a0399bc4b10b097f661113979e091bfa273186a357c955703584a32b6aeeb0400e67cd4a14865ae082fde635c372fed76b8f934b31e4a957e4ce399fb56821218fe905a14ffab644ffe30f4b5273aa94bc857d8befee283c6be29d9a8f2bc25bf9cb9342d4d78ece0e5a67a8c9344e2d47d220555a668343f78ea0289794babbb8c6ff68f8dbae079efb221869240ed123ba3b28c3e79a84b7f76a679d3ee26414b6c36ff2c86824502f0aafe648d3a1d45f99630d45f8116d565553fd70de8a696c8ac246d5adfa0757cff8043fcbfc560e89cc7eea35c038854707106c79b0f96120bd4df77fba3ecdafba38b1e483d2ce4d40dc19a2b9e0d5777188bd7a995af286fb361bcdb8 +GCD = 59824fc44c1ae92ebf3ef5d024c6a890d3ab4a8a6334fc7b3f645bff451b54d131fb13059b57393e76cadeefbedde85414eca7064643dbdb6d9e364f9cf7bfe4b88cc0b72e1958bf4086fb01b01293d4807deb6bdedc03270e405d7c325e0aa2820d54282bf389d6340c55c0ef2282faca675faf55e160e7d1f2097e8a0637753e365b03b87f4bb7e8 + +A = -7062066f8cfc03dfbf0b39a545306699ee6a06127b3771b964ef67c1008b7781ae84349e623f06685d10ab1f0c5ac968a323a3fe68e33f2e3240e387f6eb86810c349db309c24a0e07b724cef46afea75e8e0bcb6d7a80584df4bf4ef6aea5a408da2a33b4cf3a2dcdc77766ed8bc560ea8705d1052d68c5270ce8ffeb2b2d72aaef25f7a9f0c8a9682cedc8620cddc16f5399b0c09d2531335427a448c29d5da1648c24c90edc7155ebb0d2ac38ce4cea93bba3cf809e0ca4361ddf4e018e2898b0389afb05adf8b73b973309f7ff60faa6ee061a780ade7fa6336c41e987937cf0d1491a8b2b3b32808093c7fb4955e70f85ca10bf15221a69c55670b5d38bc224914872ca5da591fe8bcd80ad3690a06 +B = 4337fb2388d1064c806c9f1f5516b3baed5d8f9daf964def6a23538777cc309b4c61cb2551f191121db65f1be69f07c366bb748c1c8ec594e7c7f87efcce3d0ddc2033f17f30539fc28cfc7386dd9aa0e14db03038da12eec38a3283c0f4253d67beecd800619056e5f8e990abb2731d318bef4adc1208396a568474fefcc4fa01c74228bf730a04abd9883604429913de1c9ad64dcaf6b83998c8cc5d1c1f53970f76df098dc9f6653f545354dbbc44b852b52d8c19e45f02c077264d2968181e620b8ae2f6eae3b6b258f11ee5a33d598336328c5fe2cb954371d2d3b845dfddad1cefc909fd668719159b8de473d1fe21ee723034048000945053be31c64ba50e75d9428dca0c58b13f9dda3b226c8717 +GCD = c2151dc3983722ed6283617e44a828d911ed3db448f1e78529bdb7eb8585b77dadeda19ca05586f9ce138c5c68a854bb0ffed062471ca3c8d4766a49fdb777a329dc1719f2f615fc356f97b0acea290d4ec1a0cb692b6244040f20851392f4fae804a22860f7982f4bf18d21ac5824eb369b7d81b68b9d0098ba9ea71d42c62e74a7be1d71b7f29455 + +A = 39d191e9583c5502319c3fcc538b2fbdd533c6c6ff9100479eaddf38a62f7df2aff6f8184dea01dc5d48c2c4b5f74be23fda46afc4d9e440769ee25f75058ffcea992b79fc3a2822b556966591f46524b78e3493ba9ff599f2eb28a4efa60912d97835c4914f32fa948aa0275f3ea39ee7a65af10fb77565ce944be8606fa07a92bd8dd4969596a0280eb9f748a05de2f3a6dda6a2cb265b9aae0d0ff20da969a087596aca2b2502b294eee8509d705e75c0e740c36667df30b838c113f2892fdfee5c472015632ef9de79f4a64b5d787422c2ea467843978ec008839fa09dec06e25a54449823d259a7363104eaae27605b1395f030309c34239a263941958ea7591b6deafaa4d52058c917c8fa5f3c3ce6 +B = 18e6463f6b3b907d6366553fba34937bef1cbe8d231ba2339112023f34c286ce3122dee44f895472edc991d470171b773a192df044555eb166ec9f9d92d417e9e1b6ff3d4b22923ee0842a984497a5c99fdb960cffdba06ec49572ceed281c63d9ce83f4aea46db1dc46e84d893f3549de66eca124545d50895e2e907a356d0ccd54383910df2e400f39df61721e4eef60a9592ee961d0a8e4f1a6a87c9cc793e6cbfebac5266649c647658e67faa0afffdf481ba4b0055db3910431e7de19e1dd95fd9710fe70d8030868d537c4b9f8a3969200fcdc5c5bd70d21e24fce19db061dcf9d545741b96caa624be1b4410814ee224fb0ffdc076fc081ea76e6467413ad8a8526611d4eed34e1fc593d35f1a100e +GCD = 19462da8985245b5f0234342ed254102218663d120c7b7f2fd9f9d1dddb3d03d4c126423c53ef1262e946319d5dc889f6f9faed4abe7052ac1127c84c9f99751de247eb4ecf89865da9ad962c1cd599c5c2bd7704f37e476a9790dacc7d9c94339e4f6e1fa25c168bf72f168c9af402605d714e690da4ec7c3782ba87afe9555499edb2e825bb0b443a + +A = 63bf1efc0fc1548233924e41667053b2968832fbe1aeaa8127b3fdacc07f10a889ae46cf5c846160ff088fce54d0d9441cacf786740e6fa064f9f2879131b185e3558cb654dc21956f702a8869c23ea23ecb170c22721326b3a3f336685d837df67c2654aa8f1615f639ef022aca63372b2563e1d20461f0daa9c27fa1bd4878bb439a729203f2c03c7dc785ed2c58321afcb51998aef18f6d8eaba05671b6034861bcf145464ef4bc3b3e16424ff8f4f171bba79e3537b1eceacb746d1d20ce5adf52f45e8c30f883e5bab9efce36d6bf1a03cccff228114c1d833424c6088ea1f76ddfbf84347870f45667c9faafaf5d47742c37564eb7071589f51cd0c5352ceb2eeb9f255de75a4fe10d864fc9aab0809 +B = -ab66773f75ee7a492648bda7c800a3a1a6eb83bbe012a29254aac4e9fac933d2e94b623fa09404bd1374fb64ed96e0ded036e6ac1a8fe4bf517f0b479b186b3f3bdd300d11d9df3514572e967d89f80e3b0cbb969b2c484fbce9660a4115bfb6a57a2a1e191c2356db361ca28f16f59266b31240ea61049a99e0763a5220257644bd9b8480462f93406ba4e3d29e8e160d8e39b60bbdc9017bb0b0ba598a354d1e04167888d7c56258edab42d5f3a24bfa6b711594fd5a95e6c42bfb75db39181706f0f3daf8f42e5a82f2faa0739c459d09353f1d16b7ce8501569e08130dccd39f46356cba20ca61782c8212d36524924e017641b49189adb09d21c4323501650489b638a087a8503ef9e0c9c5c4f8f43 +GCD = 33024f5087d06c57e1e0a1ab0e80fd9197b79a8a23b052dc13840e96620fc09100cc3d8b5613c50e4e2139704a5eac581854a7fae2dd549ac203ec5cdbd3f8c34aa9a403e4e26e64dc656f0ac8fce6e23778d96e9cdca38a61a942750d42d99f546ebb06ce33f0c79620a2a48c23ca74642dc33b149f329e2701ee24fd00a3c3b7cbb54c132b9f3aae7 + +A = 1683a12f7a6276fdae1bbcf7d3758af624bd34dc8db139ca8c2571dd169a5d1c370877165a87404ecdad08b1a0b21f168d265d0a1e3841955f1ac659c818e4b8f2dbd01af6c56a6ca19f862e443754d756e9b2a64d57f1352b0c49a4ee1e69d945616354fbe2b8ac1eb4c3ffd925fdebfa79d7b55a8b63c0605df7f2097c440b714b99f4498165757c558f283e75df7cea0f642429f08b423810581bac6debb8c84bdf8c0b5b4bb430d7d1dd6db6486a3bad5d61bdf5525760c231539fe2c6463581937fbd7c85cf5620c6c0713a91bc7cb8293a2dc411c4afeb559cd04a204fc15c6c631847b51bd94db0df91ff088652750e8fb023ed73d408c804b0c27aa5fca11dfcc9ea78fa6970d9a2838c773438e932 +B = -132f8811888770a7e5eceffa9359e7cced76a3444d39236a1a3981b85c754644fe18ed271cb97f37c3ee3a938f9be406ca7851ab3e8d17f5e66ba3526f5be09d9f9e9ad5cfdfa3b566b611ab16e63ce9300cc56b5f21f93b7dc881bcf13dc0f13d008d74e86b4ea6143e123df693d2ef44b2a0057da98b33d3d172720533eb13185f0be9441c22f8cb9b9fe68d18f943fade223827b4786630eb9ea97c3df5e9c2156ebfd0ee3933e50f3b8b463c3b2f8fb5d26deb901f848db2a4853ac48921f5d53ec58016b78d2a7089148a90ca0fd99f6bd4b918ebd0116722d458db11b0d5ddeb5c3ef0ef7430a74093b66c25bfc16173549eec82210c9685a2b540053ed73e2b25068e00181f1758d90bf65cd4b9d300 +GCD = 5c3140e5edd044d33799aff3d29be00220d86be14a0b20cd585bef447b7be4fc4c6348dbe2dd615b47e64ac95c5d1c29911c58d06f7334f38d7e9010e404a3fa756600f2706242c5c7aeb5224c4f4b52d9e3253457161f30dabc123725098a145f94da649d6961a0d4f9fd8d16a2f89a64dfc4e0066da3a12d2abb341e7bf92035152bac699feb98202 + +A = -8e96a6ef5cdeab379fd8d7e5acb3f4f36aee7006de4ca37d8d41067dd023a4a2e05cd0849dc4a45445e60c74baed8b1ca084e9f2fcd1ad18ed797b0e4608486f29d649e781a22fc6a9dc76e12695edc96ec3a93288083eb0d7514e65cc91e9974e8736c1899c39cf5d7cabbf5ceaf983a1a6f676fcb2fa8c5a39ca06a9dc5143a7314c2a04dcdbc7eb5ec1436a3b06c71421bd302c80881da3aaf9cf97554564ab59d7051f374c30c066045d997027df4ed82c11cb7f9fd3fa3da8977b342d7b5295e6f15e9478f9f19de0758e61b4ae35d2249956af412672c27bfb42503f8903bbc23e5fb1c1b23cfbbad21f0e0c596fd760daba4d75d14b6f290efa81b53cc0b7b8102a854565ef0f3b72c0402e283e34 +B = 22cbbf9702f90aaa51185193937f164c39f6b01fd58ab222143566d7ff357c0aaaab994e41be1df885b8799b88b0e3b1409480099c0500cac43fe1fe9507f6709180e0ba373294a4856cea684b4e91616beb3f894ae956c5e8eeb9d2c008382786fc34874f19280c8f4f711ab0408a4418cbf7541ceda69274a6ac7f2cdc63d1aa46f073d37f5ff85b10325c8b5eccb52324b5b5a01ea995c60bae746e2fa265b4fdb88f66d213454600b59e4e77cc2f9a84eeb49681215b57c390ff07440a4e9dd5853b75a07a02f7aed4d75e62181a8e5ad1637d72c6ed8613312b69208b03322c37675ace92302d83bffd655b6a84db7b6c93a7981d8b5440e3d4b51c116ba4a6f2189cfd4b52f315146843fd980dcec980 +GCD = c168035bd895faa92bde660e92181575c809c7b64736715154016aa5ecc5881ee7b5b1802d6f306455858a89fd8dd9adb15c728a93813e410b93766e6b154ab7fb08971dc8928a48d47cc95280c879db374b113382b36fa1596beb3dbc1698676354550e55c9b6e71abec679070d3e7f54b6fa8a8813ff475237444844c46cbf47f3bf660dceb647d5f4 + +A = -40 +B = 30 +GCD = 10 + +A = -50 +B = a0 +GCD = 50 + +A = -360 +B = -1a0 +GCD = 20 + +A = -fc0 +B = -8c0 +GCD = 1c0 + +A = -1380 +B = 3080 +GCD = 80 + +A = -8c00 +B = 3100 +GCD = 700 + +A = -17600 +B = -14000 +GCD = 200 + +A = 4c00 +B = -4e000 +GCD = 400 + +A = -7e000 +B = 15b000 +GCD = 1000 + +A = -2e3000 +B = -f34000 +GCD = 1000 + +A = a8e000 +B = 26d6000 +GCD = 2000 + +A = 9d7c000 +B = 3264000 +GCD = 4000 + +A = -1a3e8000 +B = -1d020000 +GCD = 8000 + +A = 8d6f0000 +B = 2e6f0000 +GCD = 10000 + +A = -2441c0000 +B = 40440000 +GCD = 40000 + +A = -f4bdc0000 +B = -372d40000 +GCD = 40000 + +A = -b48000000 +B = 3e45500000 +GCD = 100000 + +A = -539ba00000 +B = -a065600000 +GCD = 200000 + +A = 10fc8a00000 +B = -1f1e9000000 +GCD = 200000 + +A = -72afb400000 +B = -e41f0800000 +GCD = 400000 + +A = -1855af800000 +B = 18483b000000 +GCD = 800000 + +A = -33fa62000000 +B = 556e8a000000 +GCD = 6000000 + +A = -6d3a74000000 +B = 14e25f2000000 +GCD = 2000000 + +A = -bdd7590000000 +B = b4028b8000000 +GCD = 8000000 + +A = -1b352d8000000 +B = -2ff23760000000 +GCD = 38000000 + +A = 2f952200000000 +B = -caced3e0000000 +GCD = 20000000 + +A = 25c48a380000000 +B = -2f83b4b40000000 +GCD = 40000000 + +A = -6b0a38400000000 +B = -222e02640000000 +GCD = 40000000 + +A = 10e693e00000000 +B = 2a91159200000000 +GCD = 200000000 + +A = acc40b4800000000 +B = -ba62b3be00000000 +GCD = 200000000 + +A = -250800af000000000 +B = -21f913a3a00000000 +GCD = 200000000 + +A = b11e010b000000000 +B = -5e6cc495c00000000 +GCD = 400000000 + +A = ecf2f9e4800000000 +B = -2230de92800000000 +GCD = 800000000 + +A = c55db0985000000000 +B = 31d033ac1000000000 +GCD = 1000000000 + +A = f4c61e0c4000000000 +B = 1fcde4e65c000000000 +GCD = 4000000000 + +A = -10745bc688000000000 +B = 77683c192c000000000 +GCD = 4000000000 + +A = 200587969d0000000000 +B = 3d7ef4d588000000000 +GCD = 8000000000 + +A = -1607532cc70000000000 +B = 8b7ecb6fcb0000000000 +GCD = 10000000000 + +A = 28b168914600000000000 +B = -3856bf7e6760000000000 +GCD = 20000000000 + +A = -9b383bac7700000000000 +B = f393c8054b80000000000 +GCD = 180000000000 + +A = 18018f46e9500000000000 +B = -a306ac669f00000000000 +GCD = 100000000000 + +A = -61e6a75d0b200000000000 +B = -4b50bfa706c00000000000 +GCD = 1200000000000 + +A = -e450acfaf1000000000000 +B = e291575d62600000000000 +GCD = 200000000000 + +A = f48a77d4cdc400000000000 +B = -e6fff9026b4000000000000 +GCD = 400000000000 + +A = -494237471ce800000000000 +B = c8e850e6759000000000000 +GCD = 800000000000 + +A = -d6494ddcc4d1000000000000 +B = 4c0f47d040e6000000000000 +GCD = 1000000000000 + +A = 30a9130f3dc90000000000000 +B = 2fe7cb6ebc7f8000000000000 +GCD = 8000000000000 + +A = a7c3b70949b1c000000000000 +B = -c5bf9f182cc8c000000000000 +GCD = 4000000000000 + +A = 192222d38083f0000000000000 +B = 3acad956338298000000000000 +GCD = 8000000000000 + +A = 70c733a418d460000000000000 +B = -371eddc44a7670000000000000 +GCD = 10000000000000 + +A = 15f5b98bbfb3820000000000000 +B = 3d90bdb79075960000000000000 +GCD = 20000000000000 + +A = -1d6f559687dec40000000000000 +B = 8e5e98dfa1fff40000000000000 +GCD = 40000000000000 + +A = 2f1b28e861447a80000000000000 +B = -183860fe42628c00000000000000 +GCD = 80000000000000 + +A = e764c621b8005400000000000000 +B = -4677b0a1fac61300000000000000 +GCD = 100000000000000 + +A = -3d109e5bd79873e00000000000000 +B = 326a517d52fbdfe00000000000000 +GCD = 200000000000000 + +A = -4245e22e4767b4000000000000000 +B = aee0858b9de47d000000000000000 +GCD = 1000000000000000 + +A = a61b15b32c68f0000000000000000 +B = -2eb0a136be0c53e800000000000000 +GCD = 800000000000000 + +A = 4913fda76b86739000000000000000 +B = -631996305a94305000000000000000 +GCD = 1000000000000000 + +A = -63c81b10007b886000000000000000 +B = -242e79463abf483a000000000000000 +GCD = 2000000000000000 + +A = 4ebb2f398c6b1c10000000000000000 +B = -ae1cfb1b1522898c000000000000000 +GCD = 4000000000000000 + +A = -372396c308f698d08000000000000000 +B = -39d922031014ae40000000000000000 +GCD = 8000000000000000 + +A = 6726ce6e60d72f280000000000000000 +B = -14c44c6025dcfe090000000000000000 +GCD = 10000000000000000 + +A = 3b46a068c908004400000000000000000 +B = -4a065c89a28bbc100000000000000000 +GCD = 100000000000000000 + +A = 328b811e249293ce00000000000000000 +B = b8e5818c8cc09f280000000000000000 +GCD = 80000000000000000 + +A = -e012c46d945baf0300000000000000000 +B = -3a8bb06a27cf2357f00000000000000000 +GCD = 100000000000000000 + +A = c8b9bea266a64954200000000000000000 +B = -755c05c1902061b6100000000000000000 +GCD = 100000000000000000 + +A = 15744df72897c00c5000000000000000000 +B = 5279559d30bd1460400000000000000000 +GCD = 400000000000000000 + +A = -44ba631c302f7095dc00000000000000000 +B = -747f3cfcc387f41c1400000000000000000 +GCD = 400000000000000000 + +A = -1ebd7fc6984135ab4c000000000000000000 +B = aa79e2e13827aada9800000000000000000 +GCD = 800000000000000000 + +A = -7ac09ad89f79a1bcda000000000000000000 +B = a43fd330aefa16d157000000000000000000 +GCD = 7000000000000000000 + +A = -155def35220021414b2000000000000000000 +B = ce4382769da41909e0000000000000000000 +GCD = a000000000000000000 + +A = -f9f77fab368fefd99a8000000000000000000 +B = -a101321d762b4c01a4000000000000000000 +GCD = 4000000000000000000 + +A = -a1a6ad22c56079d9f80000000000000000000 +B = 1559e6242c1fa61eef48000000000000000000 +GCD = 8000000000000000000 + +A = 2e34254b68b7c9be0db0000000000000000000 +B = 77128985c832fb347a40000000000000000000 +GCD = 30000000000000000000 + +A = d8d938e7980da47f7120000000000000000000 +B = 253d7b1df25cbceeabfc0000000000000000000 +GCD = 20000000000000000000 + +A = -1f348f3262dc6a0ef4140000000000000000000 +B = 3142783711847a6393e80000000000000000000 +GCD = 40000000000000000000 + +A = -22049f855665081b11600000000000000000000 +B = -1940220494ed3874e13a00000000000000000000 +GCD = 200000000000000000000 + +A = -4d521db201494fd7706c00000000000000000000 +B = 6387a820186821a8782e00000000000000000000 +GCD = 200000000000000000000 + +A = 3aab3ea97afaeceb70e7a00000000000000000000 +B = -aa68548666cc83be088400000000000000000000 +GCD = 200000000000000000000 + +A = -5bd02ca7fa07b72f9199c00000000000000000000 +B = -dec0777c0384ee1b92c8400000000000000000000 +GCD = 400000000000000000000 + +A = -36c76eafed39512ac1122800000000000000000000 +B = 3334ade886f4c31d00147800000000000000000000 +GCD = 800000000000000000000 + +A = -4a427c54c5e52ce325bd3000000000000000000000 +B = -2752e4305010c661f62b000000000000000000000 +GCD = 1000000000000000000000 + +A = -2564dd87308c0dff902752000000000000000000000 +B = -177d03a64ba0336ad8469c000000000000000000000 +GCD = 2000000000000000000000 + +A = -89b7ac648e188cb046c53c000000000000000000000 +B = -72c2e4fee8cdedea38f58000000000000000000000 +GCD = c000000000000000000000 + +A = 1a050c1872a4d5d5404a750000000000000000000000 +B = dbbee819b9a75ac460ef80000000000000000000000 +GCD = 30000000000000000000000 + +A = -10d69f2e208887798fef8d0000000000000000000000 +B = -fda80c69223fd86ef85e6c0000000000000000000000 +GCD = 10000000000000000000000 + +A = 28b01d6cce59fd4aa5c58c20000000000000000000000 +B = -2eed166c8eaa15ba37834b20000000000000000000000 +GCD = 20000000000000000000000 + +A = -5e33185bd74be30dbd477800000000000000000000000 +B = -90175dc8104ecf4d81b5ea00000000000000000000000 +GCD = 200000000000000000000000 + +A = 3ebda3062e8ef2b196480f780000000000000000000000 +B = -2687453e2ad494d0a87afd880000000000000000000000 +GCD = 80000000000000000000000 + +A = -4e1ce2e8e2bff58cbe823600000000000000000000000 +B = 7f36708b6b8d09a8e0aaee300000000000000000000000 +GCD = 100000000000000000000000 + +A = 2c8969af424187b908e2890c00000000000000000000000 +B = -378c0156b6f46e367578041600000000000000000000000 +GCD = a00000000000000000000000 + +A = 828ad918c0a0e5e22bafbe2800000000000000000000000 +B = 775fbcf1f1b42890269e799400000000000000000000000 +GCD = c00000000000000000000000 + +A = 161e2b93c33b781b50524b9e800000000000000000000000 +B = 3c25387b0a008605f0ea99c1000000000000000000000000 +GCD = 800000000000000000000000 + +A = -9f2954936d4b82a0f9435e6d000000000000000000000000 +B = 53cdfe93d4f21a1648a9bf3e000000000000000000000000 +GCD = 1d000000000000000000000000 + +A = 8f883752a3660d243f6eb28e000000000000000000000000 +B = -1f3d9d82a559fa36739849cb2000000000000000000000000 +GCD = 2000000000000000000000000 + +A = a643b038a1e887ae0a03b35ac000000000000000000000000 +B = 90f6efa766e06737a757cc8d0000000000000000000000000 +GCD = 4000000000000000000000000 + +A = -28eae938ad87eab54ca2487978000000000000000000000000 +B = -2d60ad0cc9748cadbbea2300b0000000000000000000000000 +GCD = 8000000000000000000000000 + +A = -1cb97483c93c1a12d9bcabad70000000000000000000000000 +B = 1e35d9ba7a7bd12ff4474e0980000000000000000000000000 +GCD = 10000000000000000000000000 + +A = -3164f9bc827f429f8b87a269d80000000000000000000000000 +B = 2d9acf86d4eaa8a631c75d6a340000000000000000000000000 +GCD = 40000000000000000000000000 + +A = df5dc5365119aac6d4ea9dd5200000000000000000000000000 +B = -ec5b8435cc4fd54601e513d8d00000000000000000000000000 +GCD = 100000000000000000000000000 + +A = 2255062a91bb17b7b37f880b2880000000000000000000000000 +B = -3785731809b7cc9bfa0b5a071500000000000000000000000000 +GCD = 180000000000000000000000000 + +A = -50058d044bb0860a34988fc16b00000000000000000000000000 +B = -421c611f48a2ba32e072c99ed500000000000000000000000000 +GCD = 300000000000000000000000000 + +A = 641a23bc425858946db6a0d1ac00000000000000000000000000 +B = 18905e23596541629a15f8f5eb200000000000000000000000000 +GCD = 200000000000000000000000000 + +A = 6d544b776658b9a25899d1f60b000000000000000000000000000 +B = 7ed23e078b9947f34ffa5fb1cb000000000000000000000000000 +GCD = 1000000000000000000000000000 + +A = -1b7ed1e8f77b52543b4a826073f000000000000000000000000000 +B = 2704d694092d95501428efa2137000000000000000000000000000 +GCD = 1000000000000000000000000000 + +A = 3b94302aeec9a3648957d28fb12000000000000000000000000000 +B = -ae42ebfa53218581eba8ababbe6000000000000000000000000000 +GCD = 2000000000000000000000000000 + +A = -350b65e297e885f157f90acfe680000000000000000000000000000 +B = -e268a405ea72f181770ce2b6e0e000000000000000000000000000 +GCD = 2000000000000000000000000000 + +A = -8da9c4a3b032fd6de17c69e0b29c000000000000000000000000000 +B = 576acc7443c36be3a511970f684000000000000000000000000000 +GCD = 4000000000000000000000000000 + +A = 321c2ca739873e897095e7ce2a498000000000000000000000000000 +B = -4869bb803aa26c2cb962e7f28328000000000000000000000000000 +GCD = 8000000000000000000000000000 + +A = 401c67a2f811ce7df32b12a307020000000000000000000000000000 +B = -487f4eac43168d62033f8fd773bd0000000000000000000000000000 +GCD = 10000000000000000000000000000 + +A = 10426d1ff29c013f85beff319838e0000000000000000000000000000 +B = -12ce3019d94026f2b878c8f9cb8e60000000000000000000000000000 +GCD = 360000000000000000000000000000 + +A = 9c946e6980886bc659ac7fc112f200000000000000000000000000000 +B = d08c89702463c9e4aeea3cd42ea840000000000000000000000000000 +GCD = 40000000000000000000000000000 + +A = 2e8a27db4a3da8838c4f54b32d17580000000000000000000000000000 +B = -2e6b62fcacb7997ad6cf0330cb11380000000000000000000000000000 +GCD = 80000000000000000000000000000 + +A = 4e015bf2dfe803df203e17fd8de4c00000000000000000000000000000 +B = -bdd8e3c306f3d69a2a6305ea503b000000000000000000000000000000 +GCD = 400000000000000000000000000000 + +A = -14e3010ef700db807d8a15078bd2d800000000000000000000000000000 +B = -26ed488f2fbde4584afa5723404d1a00000000000000000000000000000 +GCD = 200000000000000000000000000000 + +A = 3addf16e96d4f5544ad4232ada5c4c00000000000000000000000000000 +B = -ab44ffa06f1f65dc7133dd5d9c20800000000000000000000000000000 +GCD = c00000000000000000000000000000 + +A = -3f66f37ffcd0f38a0963b51782fa30800000000000000000000000000000 +B = -7843ece10ca9825c967329820c27c000000000000000000000000000000 +GCD = 800000000000000000000000000000 + +A = -412f766841c72e133e4d9f1988afe7000000000000000000000000000000 +B = 9b9c85e517b60c657039be0dbef669000000000000000000000000000000 +GCD = 1000000000000000000000000000000 + +A = 3cf0d01057ea0d91716db93e3dd0708000000000000000000000000000000 +B = 278a7e815475bbc166ba7ca19f03572000000000000000000000000000000 +GCD = 2000000000000000000000000000000 + +A = -e1c51a0ba85f068797ced9c387fac40000000000000000000000000000000 +B = -8814939d264623a52dc84a9d38fec40000000000000000000000000000000 +GCD = 40000000000000000000000000000000 + +A = 17b5ca5721f414ffa8da27e587c80a18000000000000000000000000000000 +B = 8c2bd0e250098de8e88aed8f18b5808000000000000000000000000000000 +GCD = 8000000000000000000000000000000 + +A = 8c751a332822b3e8debb1595c60becd0000000000000000000000000000000 +B = -8b790e7be19ae6fca63a08cccd4da300000000000000000000000000000000 +GCD = d0000000000000000000000000000000 + +A = -338f3ab22f6ef6115ea0d777cbb050aa0000000000000000000000000000000 +B = -133f29bd9798206fd4d3049b442220580000000000000000000000000000000 +GCD = 20000000000000000000000000000000 + +A = ee299e5647dcff3e6e029b661d066e680000000000000000000000000000000 +B = -196f98023c5b3cc12a0ccfe142b7aeec0000000000000000000000000000000 +GCD = 240000000000000000000000000000000 + +A = 31838ca3f10f1db7dcbf54196c320c2c00000000000000000000000000000000 +B = d0adda2eff2509465f0902dbfbcad1e80000000000000000000000000000000 +GCD = 1b80000000000000000000000000000000 + +A = 93077bafc067c86fd6258fd9bf9359c000000000000000000000000000000000 +B = -4b2e822e663d6931ee0fceb5b6cef58900000000000000000000000000000000 +GCD = 100000000000000000000000000000000 + +A = -aecc7171cd1da55461691235036d1e0800000000000000000000000000000000 +B = -208316f273ab5c79aeb56cdb6586d003a00000000000000000000000000000000 +GCD = 200000000000000000000000000000000 + +A = -445e5c8f6343d7fb36292abc0487583f000000000000000000000000000000000 +B = -8c627443ceb8664c42fab6f5130f7e58000000000000000000000000000000000 +GCD = 3000000000000000000000000000000000 + +A = 33ca53ce986d7cee7ca377bac0cef916d800000000000000000000000000000000 +B = 334c34e04e1813a2da020f37ad1e7b2c7000000000000000000000000000000000 +GCD = 800000000000000000000000000000000 + +A = -a0c07b8043d5b32a50180af1c9504f164000000000000000000000000000000000 +B = 26ac4d054497c8ac5be97f8d5dda85dcb000000000000000000000000000000000 +GCD = 37000000000000000000000000000000000 + +A = -12304c391e9a1cd168f812f346a794a46a000000000000000000000000000000000 +B = 29bf2b48182457ae8d69d317d3a2fbf074000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000 + +A = -debcd7eed81fc3472e75ec1841bbeafd50000000000000000000000000000000000 +B = -665258163ea6838386d797fe6385439964000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000 + +A = -17a194307272e596b6a2e76fcb57cdc7718000000000000000000000000000000000 +B = 236997cdd22b1d751b20337dc631efa5270000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000 + +A = -cc5967443162b205d51a9c3a727672a5c40000000000000000000000000000000000 +B = -f6812ebe0844385f946fdb16830e0807c30000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000 + +A = 3251e7eff252d55d9eb5d727aa231dcabc80000000000000000000000000000000000 +B = 2b79c8b59f0e4556f4724a7c625623419500000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000 + +A = -17696c299e662c98d6b064b85b83e6d2a1c0000000000000000000000000000000000 +B = 2fee90da5ca697442e418e011ea48b650140000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000 + +A = 18ea126b5c4246f2e283c45064d2b90953a80000000000000000000000000000000000 +B = -ba0f40849f3f7603be5b2cd9cb67e2e3f380000000000000000000000000000000000 +GCD = 180000000000000000000000000000000000 + +A = -fc937a91f7df232a48c9fd1fa925538f9df00000000000000000000000000000000000 +B = -b7b058bc740c55c99cb168287fddf742f0500000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000 + +A = 2fc2c5f3f4bf5b1f79441c4ec3dfd5b24ae600000000000000000000000000000000000 +B = 204d71607e258c2aa1784f31c2722640ebf000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000 + +A = -fa99fa9cdd6b959806e29cb4c60bdb6a001000000000000000000000000000000000000 +B = ddca429d34b063d822248e9c728927b4bb2400000000000000000000000000000000000 +GCD = c00000000000000000000000000000000000 + +A = 3c563270d66c1abec92c2cf77db9fcc596f1000000000000000000000000000000000000 +B = 2696305dda274f3c06e1fed02f8a0faeb11000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000 + +A = 79543254b07c4c0a422b79ce0282cc7b0ea8000000000000000000000000000000000000 +B = 8aab3933f6012c1dac5fd1b21b749c771a31000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000 + +A = 3c57aa1f45046a22a1927250168f07ec39498000000000000000000000000000000000000 +B = -19440c23a403a8785c750650489e2da5b302c000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000 + +A = 5877bbc53bb1d89758333de06c0d54933600000000000000000000000000000000000000 +B = bc46e6788e021c1162c6982930f2897d0659c000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000 + +A = -1a55b09371366814ea66e79e224be58d4d4558000000000000000000000000000000000000 +B = -22b8a45e70787335d5350f7ae281d2113da490000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000 + +A = 7b7d5019206af67a46f74b6939438ec66e680000000000000000000000000000000000000 +B = -e0d9a95973b3d9101630f3073f3cf6d66ea370000000000000000000000000000000000000 +GCD = 30000000000000000000000000000000000000 + +A = 75b0123b720e3176f16aae7bcd56864ad89280000000000000000000000000000000000000 +B = 3fe6b4c667116b7c249d4bc3fb4c23d18934b80000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000 + +A = 674805cc5f1abda27cccd43b7d6a0e876e64940000000000000000000000000000000000000 +B = 8b359ee0bf4e94c01e16fc47e6b74aed00ea440000000000000000000000000000000000000 +GCD = 1dc0000000000000000000000000000000000000 + +A = 3f1a1457927f83fd583ed3e2a71c5e7c27299480000000000000000000000000000000000000 +B = -127b7271e516c4320bffd052e4490fef73ba3b80000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000 + +A = 175f1a90b456e62c0dd81ac8d7e35284c4876500000000000000000000000000000000000000 +B = -80c9572b89ee869f8630387a66851fb9203ecc00000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000 + +A = -22b95eae624a08375afceefe017b7915c49b3c400000000000000000000000000000000000000 +B = 3d695935a6844f8415e841cc95dfd86f42544d400000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000 + +A = fd74c9ffba5d348190be52319be273f972daba000000000000000000000000000000000000000 +B = -f5552c2f126a1dbee6361bba508b2b28b73bd7400000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000 + +A = 1be43f43d2598cf8fb8986a25e6c645a1525167000000000000000000000000000000000000000 +B = 87b054f3eb95d39b6b000bf51238807c7b7985000000000000000000000000000000000000000 +GCD = 3000000000000000000000000000000000000000 + +A = -a4117ac05d856573e0d6e4befbd19a38ac3bcef000000000000000000000000000000000000000 +B = cbd5a243d36008c3a6a98eea3b7375b07efbc02000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000 + +A = 17ab52c073d6114433fbb724f7460286f6625050000000000000000000000000000000000000000 +B = -bf366d0a15e56c579d5c4cd5cb4635082d5dc72000000000000000000000000000000000000000 +GCD = a000000000000000000000000000000000000000 + +A = 19f3e96dfbe39797cfc204d12279dbab94f01d04000000000000000000000000000000000000000 +B = 6d95037e51dfe3036e31473bab2cd1ba9f5519e8000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000 + +A = -1261b5a6da70536fd2f643781b9ae1e7fc9c073b0000000000000000000000000000000000000000 +B = bc3ee8e9dda7dd6fb6986243d0a3eaa090b5f4e8000000000000000000000000000000000000000 +GCD = 208000000000000000000000000000000000000000 + +A = -9e2c539702e244988e4825829576155b5b0f68580000000000000000000000000000000000000000 +B = 716108c3394c331ea6b51a22e8f752ff46e6e47a0000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000 + +A = 292b8e145910756273b49801be397a137929e85c80000000000000000000000000000000000000000 +B = -39113550b2fd4fb2b65bb83b78e3070801fee82da0000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000 + +A = 5da9dafdf110c09082407eb9811e27353520ce2540000000000000000000000000000000000000000 +B = -309e91319958738e6eab49b1632ddcd344aa6e4ac0000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000 + +A = -2c4b69ae900901d733697cad86ab9983bea72c72000000000000000000000000000000000000000000 +B = -2dfa34fc752ae4e4435f1af67f1e388f32da035ae00000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000 + +A = 4e5a43aa186ba7c877d76e9f707fa4518f1cd9c5700000000000000000000000000000000000000000 +B = -a090f8c743842066da1d6e642d4098da6a2ffb62400000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000 + +A = -e600887b9a9d9210143e0f13363bea3ea8129844200000000000000000000000000000000000000000 +B = 2f072f38bd75c4501c8efc1ef6d0ca6f7fa421be2400000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000 + +A = -ea8898f0494f3ec63b5a9731b6e221ecb71421dea800000000000000000000000000000000000000000 +B = f59f3215d2639a11201d45f3214f7291cad85d0a4400000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000 + +A = -152f2a6bc29e9740b1d87e0fec30cde5013e7859fb800000000000000000000000000000000000000000 +B = -2f35b5beb74deb007a816fd110813f0c1c48c4744a000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000 + +A = 26600e1e189d9c21ac0f223388c13e0c5e6ace9a97000000000000000000000000000000000000000000 +B = f617ff2544c2aa4ff63111a9eac7f159eec823ab1c000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000 + +A = -27f912561cf637d28d33ab505c028784bc2a7cff3ec000000000000000000000000000000000000000000 +B = 1b2a8f9fcc0c88a3ed3df0ec762e3c1554ebce81c32000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000 + +A = -c260705d539aa727814b56bfddf8bcac71c34016654000000000000000000000000000000000000000000 +B = 1dc209e15f674ad2c0b87897d466ab8c97b2ffd09d0000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000 + +A = -7fb7e0c8f2cb96b06cd0cde919dd72de94f604efcf0000000000000000000000000000000000000000000 +B = 847e0701ff6ba19cbdd0dbb14cb7e90288a08951c80000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000 + +A = 7399b6097a7a752be239b5c5032e6b73657c2d234c50000000000000000000000000000000000000000000 +B = -12061bc98ecc5fdd53a5e15daccc6bc0e7ccdd7e4630000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000 + +A = -fe59ed195a5655dc3c342540863a7c770acaaf1e3060000000000000000000000000000000000000000000 +B = 1dd42c3497adb05c371ddc110b3348a79d7b00ef232c0000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000 + +A = -10701695c7b48a563b8720d1f6751e8f4e8444fd3a240000000000000000000000000000000000000000000 +B = d3b66258304917581fe1df50e6178391c1d3f1af78080000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000 + +A = -3348718913c706428d5200bc2aa12ab72e0b01c14b2280000000000000000000000000000000000000000000 +B = -38b56ef8091cf98c6592b58cdc72bd2c374014ae923a80000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000 + +A = -c5621fd5516d572ae32e4ee6b0e0ff3679821e276ee200000000000000000000000000000000000000000000 +B = 3d8fa2400ef7a9480216f87385c37323e4943a837d700000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000 + +A = 2205c5e1ee1b55b1207cdaaa5e48855896310db99fcb200000000000000000000000000000000000000000000 +B = 9e3e40b865b88bc8b8f1bee6b74e7646c364f7ca2b8200000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000 + +A = 1abb17518df28b80b6567803c2ebbfb8eeaebb3bf3a2c00000000000000000000000000000000000000000000 +B = bc3422ea07febba4b6b678b258f494d24e6a62ef9b79c00000000000000000000000000000000000000000000 +GCD = 10c00000000000000000000000000000000000000000000 + +A = 260639cf93de72a8027a6782b8c10b5b7fee7825d759b000000000000000000000000000000000000000000000 +B = 1f435dda1fcf2950dfbed5709f449484584a142a5dc9f000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000 + +A = -35642d170268dc6b6ddf5e358be48b6979772a19254d0000000000000000000000000000000000000000000000 +B = -96f6ab2642f10846d395b8bfc1e14bac3e67bbc5b72c8000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000 + +A = -2ef8fad82a3dddc38e6ce8c4879d249757355d99d8ab1c000000000000000000000000000000000000000000000 +B = 31bcc349db0d5e6c25267acc2b5ca1c400e757cf2eb334000000000000000000000000000000000000000000000 +GCD = 6c000000000000000000000000000000000000000000000 + +A = dac0c7873411bdd732faa69b7880ebe5e05457b8d24dfc000000000000000000000000000000000000000000000 +B = -e2792a6029c9a68db0a9a3d8dbffe81b38b00d339473fc000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000 + +A = 23ec252109101aa038ef97b7c1cc78862b71f40890c1fb0000000000000000000000000000000000000000000000 +B = -3386c16eb8098d00884d28a740cc4f9f45c4a8959d07568000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000 + +A = b900a1a1b79792c52da29e0c1a4d0ab4e5ce3ae31d06180000000000000000000000000000000000000000000000 +B = 1d3c94e2d6f852b956af53562b246a0756a14db8fc086e0000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000 + +A = -35764e9c59bda2f0e26a18cc6bb88e22532536d9c98261a0000000000000000000000000000000000000000000000 +B = dd542a5837f1b61e40facbd3a0a74526025021bc24a0140000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000 + +A = 9d9341df132131a10beda342dfdac37e90f0f75f9d3fb400000000000000000000000000000000000000000000000 +B = d909bc3054242ba4385e9ce86ca4c9948ffe0506661a5d40000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000 + +A = -2c9744f2edc9842fbf79cafefc73b96082f1d16158db88580000000000000000000000000000000000000000000000 +B = 3594eb2e4525ea28e77c3900e98f1f736d81f9bb1ec82c180000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000 + +A = 4f0380b7023f532777f1ca66713f3ec4ccce8b001ef53f500000000000000000000000000000000000000000000000 +B = -d4f481f6d7e829e7f7878e77797b185d99c34f6ee97fa1400000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000 + +A = 2c1fff8f18fd88b6694597e5e175e49b569adafa53f541e200000000000000000000000000000000000000000000000 +B = 1b4c4b695c8940882a212776e21f3cac7d84eaf240e5211000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000 + +A = 5270eea57faeaa5ac301763a35345d663a7fd01fdf2c6b8c00000000000000000000000000000000000000000000000 +B = -71ff575f38173db436b369517e314719e72d36aac368ed2400000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000 + +A = 29f75eba92c077b740592509ea945d282c70f71b6bb9014b800000000000000000000000000000000000000000000000 +B = 2a73715f6358d26232d2f1f7d285168c6226b4d1e562ca4e000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000 + +A = fc852621f4c19197765ab0a228d7b82a287dfaa91ed3a456000000000000000000000000000000000000000000000000 +B = -f19b7d2096cb2f974e4bb7a9e9d45d823839d79f20f2d265000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000 + +A = -303ff91df0e496effc31123636d8c8edffd3dbaaa523f148000000000000000000000000000000000000000000000000 +B = -116897261d06df8e32d2e989f8e5339018d48568c16fc3f6c000000000000000000000000000000000000000000000000 +GCD = 11c000000000000000000000000000000000000000000000000 + +A = -b8fa326ae0d10d3a0ef0b1e54fb10cdac7a3935dafea7cfe8000000000000000000000000000000000000000000000000 +B = -1af5edae1e10c4d53e297d557ae3d18eac43590c4d6f33fc0000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000 + +A = 37d08c22b988566e31d14aa34565e104bdeef8227ed4a88640000000000000000000000000000000000000000000000000 +B = 27b1306a178a1ba404f26b5bc6cceb06b6b7b746a12d6558a0000000000000000000000000000000000000000000000000 +GCD = 60000000000000000000000000000000000000000000000000 + +A = c648da88817879f3d3b00b6b1a96cc97cc93d8de64a28033f0000000000000000000000000000000000000000000000000 +B = -b21ead6580678cb3516cf813c032d106550b337025fe8430f0000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000 + +A = 105db928be54803e351b899ed25dab1d93ed64ff9d907a31100000000000000000000000000000000000000000000000000 +B = -3c0b25a15ed0858aa89297c2be53eabf1c21dd704995c3157c0000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000 + +A = -f50a71e683623285b964b182d5936ba615f30411c27e298a140000000000000000000000000000000000000000000000000 +B = -b84f81fc6ac97b3cfdbf9f26c09fefec8168b24b6c8fa3d1880000000000000000000000000000000000000000000000000 +GCD = c0000000000000000000000000000000000000000000000000 + +A = 3689a92df7ca547e640e14131961e421bff4ad7ddeed2c4ad600000000000000000000000000000000000000000000000000 +B = 4511d475ee00c8232c86c6b79f2d7907c6843949ab9b8027f00000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000 + +A = a64095c546c229daa3fc5a8e2a7737c2b0814d9ef630d3f34500000000000000000000000000000000000000000000000000 +B = 5612a2ea517be7f8e82ccda780b33b43db6c24af9dabc8d4fe00000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000 + +A = ae983123b24582e24bfccb5766516409d8df8c81aaaf6574e00000000000000000000000000000000000000000000000000 +B = -39411488cd427611ecb996253ce4b834a530afed08e8a3eef4e00000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000 + +A = a69b9545be06f44f9c7317d955c4d0aef3661ce10958d5dcf800000000000000000000000000000000000000000000000000 +B = 665b3c29bf5092972e9ffe8794cab8def847dc6ea3f98292f0c00000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000 + +A = 194c8241a5c25fa630fc23837b5a80b27d098e6eedd38770429000000000000000000000000000000000000000000000000000 +B = -3d6ed3500d2fe5e19a0eebb5bd9dd98e5e30885cfa24ba5628a800000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000 + +A = 78b5787b64436708da73d68e6f37e1221e0ca3f2f0f1acae0c7000000000000000000000000000000000000000000000000000 +B = -85170bf9304fb4d5ed9202c4c56d9d18ea11fcc6e0fb7e5916000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000 + +A = d82fa4b830254fb2bbceed1c6cea06d5d6adfc43ef52ce3f5ac000000000000000000000000000000000000000000000000000 +B = -36a00056061db1ba516812ed0a8fb3fe7a593b05e96751455408000000000000000000000000000000000000000000000000000 +GCD = c000000000000000000000000000000000000000000000000000 + +A = 617e3c103e98e2a94e416dd94ac5cc2cdba4757b99cb9f2106bc000000000000000000000000000000000000000000000000000 +B = -eb0e6693dd6adae2f0ffcef2b0cdb2e089e4fb95df6da3b64f44000000000000000000000000000000000000000000000000000 +GCD = c000000000000000000000000000000000000000000000000000 + +A = 3716b9e97174e7a9e9d21b816f6b7192d181044b305cff4f3e3f8000000000000000000000000000000000000000000000000000 +B = 11428fa3afc240f22ee7a45315a28ece8506d9f53bb7180ca17c0000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000 + +A = c68286e0fd38f898d3b9927a2c865fbe207e9af108ded61dbf00000000000000000000000000000000000000000000000000000 +B = 4e04da8108c01b1fc1043141001623f11cfad13d663fd7ca96250000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000 + +A = -157a345d8f1a57042de04d80575e189bdc5d66967b2f3228b17b20000000000000000000000000000000000000000000000000000 +B = -2790b2d96dd0c991731d69dbd7417822339a0e332c5a4a96ec3060000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000 + +A = -9985ce3a290f2fdb2790a9f8188c6892443e27d829d0f4b6dbf800000000000000000000000000000000000000000000000000000 +B = -dc29a9184d398324f826334d69ffe01556e3b283f2b686069be080000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000 + +A = 3fb0089ba23f254458b62ddcf13ef920a9dfa44fe99311a4a123a00000000000000000000000000000000000000000000000000000 +B = -16bfb0978a2fc18cf8c20ca9bfda3be3a24b2833e7136a96dba8080000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000 + +A = 2ee4017a3d07c26377807ce39a2a9ba7b143c97e41475fa96ce4700000000000000000000000000000000000000000000000000000 +B = -2cf1552c63d2f6114c2d99880aa30f1fda59968ca84a2a55eff9300000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000 + +A = 269968caab42a13b8053952a95e6ef222f5ba45fc4d92c813300d800000000000000000000000000000000000000000000000000000 +B = 3c055ef547ec72e5d2d1f109285590052ab1be675287de759da000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000 + +A = 941e9ee74027982612505f4caa149bc7aaec395c7ee9defbf5e4e000000000000000000000000000000000000000000000000000000 +B = -ab4ae9e3a8bcb781a075bab079eece10e4a4ab4664968d59f88fac00000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000 + +A = 91f4199e4fdb0726f8b6e72a4b49974295d5f0d7389d49ec12ede800000000000000000000000000000000000000000000000000000 +B = -1bc6b1f4744a8a6a894292d69cd82057fca37ebfa700bc8571560e000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000 + +A = -dca2410069ff44b2ce97b82987ec40ce22cb60f7a74533da8423da000000000000000000000000000000000000000000000000000000 +B = -1cb0e9309db6a5d4f65eaae98ea56fe00292f5336d9af3492196d000000000000000000000000000000000000000000000000000000 +GCD = d000000000000000000000000000000000000000000000000000000 + +A = 32c61b5e8aad9b3e3dae15ebcc05bd06ee4fab43165f4f75f2e988a000000000000000000000000000000000000000000000000000000 +B = -34b8cf5ddeabf5565004cd9f7db5d70eaf1a4f445150733c7861370000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000 + +A = -b6ce3f8712a36932e4e0fd81d9d43815fec6b43d9add51fd842630c000000000000000000000000000000000000000000000000000000 +B = -4a96b6247c0b255581870a232610f0a49213b6740e21cefff93f948000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000 + +A = -1ca58f0ce100d4bb83f20d78458250d498e65153dc259ed30a793c8000000000000000000000000000000000000000000000000000000 +B = -324b16b3fc2761e4e9767fd2d1db6a36cdcd3f433b20bc0bacb4d008000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000 + +A = b1808eccd148b0f0db592f71c8392b6ce40eab010d06a19392e34f70000000000000000000000000000000000000000000000000000000 +B = a794514d4f6e7dab41bdf2bcd88e168bfd2a777524acf1a558966da0000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000 + +A = 1f36b03fcdcbfabb8502321046e10c5565885cf5c14b8defc5ecf06a0000000000000000000000000000000000000000000000000000000 +B = -23f6d59be786b54682d94ef19411c7f7a08f0c6059762b8e9a9387720000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000 + +A = 312c07959f9678ad701956b05d8c1f4c1d8a0c92f6494f99273d9cdc0000000000000000000000000000000000000000000000000000000 +B = d80601f251cd588d78c27d7f1aa12d1c835599d9aeff8d6506bcb8740000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000 + +A = 274292b9b9e694a82957e50b01d2548afdd4587292eb2c234cc1167900000000000000000000000000000000000000000000000000000000 +B = 2e8a0036eea2bc483bb117fbdd964015fb776f46496e3206f3d9133600000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000 + +A = 7be6e3ea49e0a4d79a95b027f088bdd999bbba41e6cd7bcfed3c848300000000000000000000000000000000000000000000000000000000 +B = f6f297d14eda550587b3c1a5f8c611520f70541eb8a75083822951f500000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000 + +A = -1d7616e629be37328793aa35d83bc77a225f1900e997784e5fe1d7f4000000000000000000000000000000000000000000000000000000000 +B = -39e4bab54ce6183539d7772a369844e33e3ec051a8758b4f97e83347200000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000 + +A = -80b78be51093bc446f1878e8ac0ceca27d7b63d78f466ae441dba7d1400000000000000000000000000000000000000000000000000000000 +B = ef5484d711449eff57945ce8d8a530ca31ce893a59ecce964c1f844ec00000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000 + +A = 25aaf376d060880084d3a7fc84d9ce95454ab0c9bae41af960c58eec3000000000000000000000000000000000000000000000000000000000 +B = 2fa4be2d9cd3ac1900661ee77dc9321eb80a4071e23a53e13b33d662d000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000 + +A = -6cec0ae09d636ea3cb3d0c3931debd1435e57e4a53251bbbf29979de1000000000000000000000000000000000000000000000000000000000 +B = 9b2e64573ef799b4c97d3a5b5e4d3176f93b1d75ae170a50b615a36cd000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000 + +A = -d182d1908a4241bbd73a6177f833bb8ee3f952b67c67aaf5feb5ce8ee000000000000000000000000000000000000000000000000000000000 +B = 315e20c8535372093139049e38b588bc6fee72836b779e41134d08c91c000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000 + +A = -ac41107ac9671d7c3667445cd7b890b3d25d80bf6166980ef0c80db0b4000000000000000000000000000000000000000000000000000000000 +B = -1de8d5bfc31bdd7b1605a11199eea5a300fcc044665ea13b2020f75378000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000 + +A = -13f8a1499f01144769ed90e9d620abc1e5beabaaed7c70c910e118b5f78000000000000000000000000000000000000000000000000000000000 +B = 1fe53a5add2526b1ae223a9aaec94af7aea15e635e099ff3e0e65040ef8000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000 + +A = -f47bea5a963270813c5a2b1fbce981b3fb9611c88db75553e08aef649c0000000000000000000000000000000000000000000000000000000000 +B = f4296227656efb17ddc2481f959a516fd696c74b55d2f3766395b4ce950000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000 + +A = -25a3b4f8fe551c48c55ddc329b2bdc02f2436f84e59a7e0cdb3ee3ade700000000000000000000000000000000000000000000000000000000000 +B = d667f0cbe6421b4f2b29d359334919134c1efc91dd328c3eecbe2460a0000000000000000000000000000000000000000000000000000000000 +GCD = 60000000000000000000000000000000000000000000000000000000000 + +A = cf0b9a281239cafd203b19d92086a229b58133ef6eaf8bdf0f88adef5540000000000000000000000000000000000000000000000000000000000 +B = -e1b0237bffbd95873b0df106a6c2459fb84d3cce0fdf16d6e168481ae900000000000000000000000000000000000000000000000000000000000 +GCD = c0000000000000000000000000000000000000000000000000000000000 + +A = -1781e494df516ea916d08e53c755f6053ecba13fff59ec4f4b76453f31e00000000000000000000000000000000000000000000000000000000000 +B = 36278316b0a8e725e9b72a26628a902e78b446a67cc58caeddce4ed81b700000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000 + +A = 232def836a6cc558362d9f0090b5f651633d768f4749fa06ffb6204d6dd00000000000000000000000000000000000000000000000000000000000 +B = 2cbeaf4e71c1134b7f002a58a9444271d717036d8191a588efd96d2990600000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000 + +A = 20de8a5e270605d6ac2e74f003c532b8deb0b9313f3485567373c4e5b46800000000000000000000000000000000000000000000000000000000000 +B = -14d214ecc14cc1d50dbf12230146881b6dc2c0e23c167f53a224bf6f1f5e00000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000 + +A = -cf22d2d6d3d6d8a4a4cee97d92fdbcb1fb6ace7ff4648716f28d7e2ffc9800000000000000000000000000000000000000000000000000000000000 +B = 40e496940fdcf65a7ab08a9cbe74f187acf2c81d95efeaacd526b46ef0bc00000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000 + +A = -2eedc24cda25a083ce21ac16d787b0e3cde5ec73785fe0b270f0a9ce25ab800000000000000000000000000000000000000000000000000000000000 +B = -2f363fed3e53a7f4afa99fb76e7117462671e47446b462bfb36f37b69863000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000 + +A = a5638b46010d5099a1bc8217620501679c333a1e8e8bc2a9110c5f087658000000000000000000000000000000000000000000000000000000000000 +B = 6f0c64f047659a63bd7450770746c46858f2059f6b65e0853a9fba2e4a98000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000 + +A = -cf83fc1803b44989b2a118698a6500880811fb02426c0c9ab037e955a3ba000000000000000000000000000000000000000000000000000000000000 +B = 3a65484959c2f5e4eafc7059ab4d917e56d62607cd5e40b6ab229f7e33012000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000 + +A = -6ec3bed80423372c9f5969ad9ef6a4b0197cee325d4492de2d0497625a1bc000000000000000000000000000000000000000000000000000000000000 +B = bce0f040f87920eaf776baaf066331ae30334618de36c89657b84dca3988000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000 + +A = 3a19632e88410e9b550b0edb09f60e611fc6423a81715dc6ab0bf49967aa78000000000000000000000000000000000000000000000000000000000000 +B = 3b2161a02cddd1f666773d04984652e5cc53d39f5b6ee6ca15d610f0a09598000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000 + +A = -d8d412d4c7ecd6de9892912039fa148b125656fe9e43ece9c24566042f6070000000000000000000000000000000000000000000000000000000000000 +B = -3f4e8037e969fdecbfa2513101ccc06b9ce577b23672467e758bbe7daa23e0000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000 + +A = d5765f39f5652a8373c2a672c239cf939102eae550321167858b3873b5caa0000000000000000000000000000000000000000000000000000000000000 +B = 19b951fd6f5187109c7853625b9215b0cd2e2dad19af0b08399398e121e1e00000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000 + +A = b4683383b08f572f4c341f5e0c5f5c47b5b45747bdf557f50e525ab4c8f9280000000000000000000000000000000000000000000000000000000000000 +B = 64e6f98e3e1fc6a1dd9dc54ddc6c23e0edafed2153b4d5ee22aaec646853d80000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000 + +A = -1c62470f1768a7643a60f33f4f02f60423c9b45a6d91e55d9a615b1c5a878800000000000000000000000000000000000000000000000000000000000000 +B = -37b36519c07f3ccb483ef9073a58714d9d7592eaef3586534fc756fc0074ad80000000000000000000000000000000000000000000000000000000000000 +GCD = 180000000000000000000000000000000000000000000000000000000000000 + +A = -ad2cafc186989a34a00092068410444d7add3128d60ecedbab07324daed4700000000000000000000000000000000000000000000000000000000000000 +B = 1be5f45e51c8db22a19db44a6f24633da7c9a437354655716e7f9f576a26ee00000000000000000000000000000000000000000000000000000000000000 +GCD = f00000000000000000000000000000000000000000000000000000000000000 + +A = -b0c32b510943872842f04d92f478cd9e3e6aa356ef45d71e5cb06772a9f6b800000000000000000000000000000000000000000000000000000000000000 +B = -9c1517ceab0b9b4f7deccb9a682fb40cd1b8f25cbeb5c02e3259b2748529a200000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000 + +A = 2f6e884cb66b6ece457cacb8980e0a257f516aece2e10d4b22276d462854cf800000000000000000000000000000000000000000000000000000000000000 +B = a9efe48c93454696ec81dea21a80431d3feaefd64072b8268d3f0fc9d6906d000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000 + +A = -35d345d5f3b09c5c6b5e3a8c0ee4b62b75d33eb9ad216b1afe5c06b1dfde1800000000000000000000000000000000000000000000000000000000000000 +B = f0d13e2ecb84721870f5598fe984dc6cdda625257ea0cfc6bcb4c6160a1ff1000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000 + +A = -366f787d461e84db7dd6c78187057aa63161056752f0184c7c8b7269ddb4988000000000000000000000000000000000000000000000000000000000000000 +B = -608342055904dd99199ded355d90ff8176016aa1c01a61deaf917383cba8d4a000000000000000000000000000000000000000000000000000000000000000 +GCD = a000000000000000000000000000000000000000000000000000000000000000 + +A = 17e0bd33093dcac82a76230cbf259422a1dde5a664a6fd2641ea2e1a3d6915b0000000000000000000000000000000000000000000000000000000000000000 +B = -3cb4f1b8ecca3211afb467690da79470d9346a5f07d6fef0735f3d5233f8b87a000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000 + +A = b6d42870aaf202402138b69d0653f924e7bc394eba9abf6977b3c8f91becee38000000000000000000000000000000000000000000000000000000000000000 +B = -c11e29ac4b0084e8e1e2d641edce30fd24d8b40fe3bb7017e3dd9c1437e821b4000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000 + +A = -2b9908965aef333f7a69b9611ebc02fa7918cedf7c1f54ae5c26c361916375470000000000000000000000000000000000000000000000000000000000000000 +B = 5ff09037286235d9c7ef63a0ed438031ec0ada0efcfc3b847b2714ac4ce14d60000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000 + +A = -a67ecd61d234964ce910de6ab47bd2026b1fbb102a31f49de5e7d5208ed2a33a0000000000000000000000000000000000000000000000000000000000000000 +B = -379decda433171077d157c2ecb2d4c1a092ebd94d2a1287066624b25114132fc0000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000 + +A = -3bbb67bce8bbca285c494bf6e1e15095eff1c2ca7d9038090844509134be15b8c0000000000000000000000000000000000000000000000000000000000000000 +B = 5e40a789f4ff67eeb14de00ebe7f7476015fc6850f71628493514e35ad8bad100000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000 + +A = -c894ace9d6cc4f8f7a0ef8e8d9a2e69c55bf02cc028c788966fb8ec273e9b5a0c0000000000000000000000000000000000000000000000000000000000000000 +B = -bff7f2fb8d4afd92f4df0a401ad9b3620bf5ca610b276303619ab9622f975b640000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000 + +A = 53564318ec432c30a9f5b914cd542db33267133cec6f121bb075d4b44ee12b1680000000000000000000000000000000000000000000000000000000000000000 +B = -584ccf1cdf30d796a83f382c5299f9fc45435ad60219e12de87d454b128d0f6e00000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000 + +A = -a875628ca5208d211d7b4810a70c4b6012b614027747eeb837ecaddd0770563f800000000000000000000000000000000000000000000000000000000000000000 +B = 808647ac38b72d828b90185e07045a840af09ecf82d7bf1d614ba86ca960b539600000000000000000000000000000000000000000000000000000000000000000 +GCD = 600000000000000000000000000000000000000000000000000000000000000000 + +A = -72cc90f561bc466ce15e2d9a4ea0893dda75a7df6c998e3e97787076c53e8caaa00000000000000000000000000000000000000000000000000000000000000000 +B = 6f2ff336ce8049ea1e7a43891caf58c704500e342a998dd41403ace39d903ee7000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000 + +A = 5772f939718ae5b84986c5ef86926ff784d84f3ee0e3afdc657c6dba098629dac800000000000000000000000000000000000000000000000000000000000000000 +B = e845a7bb64a0d5b3379ad1b6e27bd885636cea8dcd331c50d8b209e6957741c44400000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000 + +A = -238ec37e5f2aa3ac40a7580e135d64b4462e2d1b3dcb0ed2209b9f45d0fde30f4c800000000000000000000000000000000000000000000000000000000000000000 +B = 3ebda919b6d230ef6d990174ff7329f22e12ff527f72f9fd230c3ea1ed32a1f289000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000 + +A = -1d2d015724e5d7f9c28de49c9bc66ac25bc6e29f72afb2cd10ca1adf41589c820e000000000000000000000000000000000000000000000000000000000000000000 +B = 7ae8895af0e25348c76a1c9cae4536d0737e3a49f9ed3908f4b2345aa0b5f2b05d000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000 + +A = 1fe78eee2bb343c6f7e938fc0c1d58a4334f051f5a7c4befe909a513d27ee80102a000000000000000000000000000000000000000000000000000000000000000000 +B = -32aed1613e74c83beefba13a1bb8e7210668b88c96d14241f7a938cd805733b3eba000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000 + +A = -3493c45b156a2eea76c94b03d286dd11ae414d8bfaf91caec482aca649913bf204c000000000000000000000000000000000000000000000000000000000000000000 +B = -510ddf29951e66b6eb61b65b091d252c0858eec9e802b79b58c42e03631af88b520000000000000000000000000000000000000000000000000000000000000000000 +GCD = c000000000000000000000000000000000000000000000000000000000000000000 + +A = -3a9a161e75b8b0819450f7033a588350466fd6817699fd0f6e60cabe3be7e00e5b10000000000000000000000000000000000000000000000000000000000000000000 +B = 111499dfa41ab6bf37d80d2c57b3d9ff8978cc441f9511b8827c879ea47518d2e50000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000 + +A = 92dacea76bd085070a807d3cdb8c31d464db98f6c8dddc938bf3da9678c449dad500000000000000000000000000000000000000000000000000000000000000000000 +B = -76e10078bc216dc46078619821127efff9002adf75d16665e37acd43dc2331c7fdb0000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000 + +A = 325fa6772b3af91d5c90329edf99dd87101dd65b50c5eca00a83249f2223ebc97c2c0000000000000000000000000000000000000000000000000000000000000000000 +B = 25f9e7aa32bf6aa3474b0022a27587de36a6c84ba39dc37680fc9920bf9c179837b60000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000 + +A = 9249461c2a7da5a263cb923edb548e676d1a64f57c3c923214492ab7d2f79ce1bf3c0000000000000000000000000000000000000000000000000000000000000000000 +B = -ad2b0e2963c4c3dd495e774164d98a12ace50ff933d9d0b5e479d150d9579244cb580000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000 + +A = -23c73df6ecbebe08eccbe255aac00e42e3ab80fefdbb1c7b94221a3e2f54e81c4f4580000000000000000000000000000000000000000000000000000000000000000000 +B = 26daa7165efd7a4c93f3feef932823373be0156224810434c33aac1d749aa839096d00000000000000000000000000000000000000000000000000000000000000000000 +GCD = 780000000000000000000000000000000000000000000000000000000000000000000 + +A = cf2c56ce276df23b75399c41abfbd440cae5733fb3626385179db049e3e520f7ff9200000000000000000000000000000000000000000000000000000000000000000000 +B = -29bbd64bc61690ad968097015e9f0a3e5db132660e8d86a0c6122fa033bfa2c1324700000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000 + +A = -6e80995a0295aa364889dfe4518ae6301d2bf4b47ecaa4e451b8f9b5a3df73abfe6c00000000000000000000000000000000000000000000000000000000000000000000 +B = 1c2f8938627b1cebb4af248a398ccda5e1a6021a4b80c822e49e1890439e48382fff600000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000 + +A = 9b30e510fea8e92151daeae5645601fd7413f27f5e45b839836e0291fd994def2536800000000000000000000000000000000000000000000000000000000000000000000 +B = b0b9efe537b9f862ce5138bcb1644771a864c4a1af36d986ed3a94c2e630d8297a01800000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2800000000000000000000000000000000000000000000000000000000000000000000 + +A = 3b3175eefd21c733ca267846e39c9980ef6cd229900b3dbc975737d99e614d9d92f91800000000000000000000000000000000000000000000000000000000000000000000 +B = 207599cf9023171fde89be6b48d555dc64f72c7e4096d5ba32fb46ac29e47d5b9c00a800000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000 + +A = -b42d06aaaacb45d6e6c3edfe0972b8f213ab45cf6ee4cc2c835decad1f9b2c61522b0000000000000000000000000000000000000000000000000000000000000000000000 +B = 65f733032d0cfed1b5769b6b6c1392dcfb7ab34e0d38d19fa3c38e9c7e4a3d2ef8b51000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000 + +A = 12073418c52ced08ebc1ed6f4134918b4657dc7567e7fc84b4e39b2485e4a69cd084ba000000000000000000000000000000000000000000000000000000000000000000000 +B = -31b6debc980eb097f4adb9a9023203d54998d62bfc4add0e04b2987604f74281b9b12a000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000 + +A = -f66284aa162ee1c3c3d4ad53d4b6eab1030ea0748f6de1899bc722a5fd8456f2336098000000000000000000000000000000000000000000000000000000000000000000000 +B = 51f090fb43b903f14f81a96bfd11f4c6bda571fef79649e7def633795210d36d299100000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1746f8eaaebf001d9fba4345a7c778483b2119fb8c08cbf49e1f33914949c2896e84c68000000000000000000000000000000000000000000000000000000000000000000000 +B = 285c10d98ac4e9990df3a06d2f347862452666bf7e67113452146ace61276c8fe97cb90000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000 + +A = -c77cb6dbc154296e9d7a46fb2d3e5e520de910bfcace4d5cae36715652e9c5e041be800000000000000000000000000000000000000000000000000000000000000000000000 +B = -290f8ad162318a0075a2c0148153dd36849e57802b7bf38167e930e28a672e77ee07ed0000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2cc1d18861c40cad056bcdebb3bfd80d1356e19ba6fb96fee3c372f4047061c7eea5b40000000000000000000000000000000000000000000000000000000000000000000000 +B = -22f69156c1dd1bc2f7c08027392fa4a3e5a349a99e241edb935ac2a3d6319f85d2fb3180000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000 + +A = -7251cfe89fa31c84b5f832d5b52f8e1b17a5383edb03c8693ceb87ed01d2f619284effc0000000000000000000000000000000000000000000000000000000000000000000000 +B = -aec6b8a40a58e86ac734f487c64dbe8c03ca4909b82b3f383f8277002d7ac6c7eb381680000000000000000000000000000000000000000000000000000000000000000000000 +GCD = c0000000000000000000000000000000000000000000000000000000000000000000000 + +A = -174890c84552f03b584c4587b28b98e8d9bc3ca78e7f66c283e4478af2f26e285a0287400000000000000000000000000000000000000000000000000000000000000000000000 +B = -31dc2323e683fc67ffcc2f6eee8dc861c37fa9c84aa92268a2cdf095d554abf132a51ea80000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000 + +A = 8196604c2380dd570bb9d424b5b73368dc33e32a8a49216aa0c1c774067e1f9702ee7800000000000000000000000000000000000000000000000000000000000000000000000 +B = 2854c0c615fa784672ab949ffb29bc8500fc0c76fd725634bc3180a023f5cc39c9186eb00000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2883595b3da39e5ef96e10c81123d5058d4a2396c579ba585f8b0d4e76f83ff0a7ac13e000000000000000000000000000000000000000000000000000000000000000000000000 +B = -145d46c227f78ec8bb86459225281dc58e36839a2ae05c55c97c6e1a1096f5c296ff4a4200000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000 + +A = -d5475966b6c79deac4485a0bb4a53392fa9d1f228a7048044b2c862a1bbb4fa98d99be9400000000000000000000000000000000000000000000000000000000000000000000000 +B = e5d94e8f68d56cdbf3d270d2eba9f2d16d3cc31cdfc777c302a2f1fecb8f6d392323bd2c00000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2b93290c6dc5efe19618fb0b57b2326ba50e4ebf747c4cf8692e59c7217623cc1e17267e800000000000000000000000000000000000000000000000000000000000000000000000 +B = -39debba8f0fa5f2827c0d6ac31315f5da1199187581f74a7b46e27abbe8b569902955e2c800000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000 + +A = 647dfeade3cea8271ba696f0d60b8709cd51d66a5c98aba8c668322c37e234b5ea5066e6000000000000000000000000000000000000000000000000000000000000000000000000 +B = -560f4b993415146ac43dc46520663d0619a088f6aa6651ad8c0492a110ec60b4c6dc86a9000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 95201d4caf75249169e82f2618c5d2d11ee92d576741cab49a090cf32226302929f4dee8000000000000000000000000000000000000000000000000000000000000000000000000 +B = -271788bb47b154b8cfdfa45e2ad53db7ff339fbc0c826bd0498c8231b5d0adc3148aea20c000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9c5d847f14699d0accb6f2031bfb5add139d274c7cb8dde9a5aad50d233a3a6112fbb6370000000000000000000000000000000000000000000000000000000000000000000000000 +B = -72325bafe60cde9ac4b74be76f9c9204b8623743bcd339b5015608fd9a1cce3a88b33e284000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2f37dde309117ecc7c93781e97ad8d39194ba3b2d664238b8a3774661d89f6e064f7db2010000000000000000000000000000000000000000000000000000000000000000000000000 +B = -186a4be6a289ea413960cae96984614b4f8845292e990ccb9d281f023dd860c8ca8d99d008000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1577ad348cb7eee734aeb4b0fc1644347e650bac208301e18484e86a0ce8f53e02295ec8f0000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1a5c495b55e9e01ac9af9534290b0ab0d666111a0ffa7591f118115973b3122e534ffec1e0000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 30000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -958f3c096939de2c0a007ce1a85058c9cbe2d080843317246119f69694e632c88fcb704440000000000000000000000000000000000000000000000000000000000000000000000000 +B = 29bdba3ad1fa40cbb955bc50cee72c2ef9043f5add3c003fef2297970fccb343c9f38dff540000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -821272f1f8fc44ff65e068f27bce697086f00a4850e76cfb692e916bfa5383825edba943ac0000000000000000000000000000000000000000000000000000000000000000000000000 +B = 34512ebd519a16466e83a86c7cccbac9bd92940f346ae7af1c0de3aacdc9efbb7f3e4a4c80000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1025c83caca80bc22b2f8662939641a3efcaaa1624056f9f1e816279d06e7b3d39b685050a80000000000000000000000000000000000000000000000000000000000000000000000000 +B = -58ea8bc7b3e4ebd93bc7fa85e20cc41ef140599e1f5a875970c6eea3bf6e5b1b52a7f80ab00000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 180000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1444b6fffcc1abf66fca58d7776d7d9861c0ef2d70157b315ad5dc41889d7b40180e3fa09b00000000000000000000000000000000000000000000000000000000000000000000000000 +B = 960b6e6001ac53a527a61bc4e4466a9f929616d3700bae77327e7789dcae6d1c691dd535e700000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 140154532a964dca1c7b84ea513ba6ec8e3e9c24c4f69d19120fa104ec72269119e12921dbc00000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1b8b5363cad0815214bb507678e2c20d8d51793da699ba8880819169c011258269b03ba1ed600000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 582d15e20675e0a3b7a43f0efa930786a874651daebb750872da985f20fd232746956039b1000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -c664348e983283783e65020ef0612d3b7d938e601c07ace8f9e9019a6d9ff49fc0451e8e4800000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1f1d4e2fec18dfebef5bd93cb225d51ecb69d7ab8ce0feaa8e1c5a84954259ff0a941f0304a000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -19ff8931cdcab3a789ae13fb67fb704d4be3b44c404e5ca30e09931c6fcb4de6fdc3d6727b2000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 688e477ba62e29da1ba3b1ed0fad94910f048801ae58f360347628049a772246127e55232c7000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6d4dd09715cc7d874d693acbca821dd54f75b5530bc8ca37651b153b9cbd3b49ff208a8838b000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 188e1fd967282fc10c186b4eaba598cf319a4215624f5ee6f9dc87f389cc39beedcc7d091fc0000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3d0f048b2f99f5a3e5ea50aa47e810dece1bc8b7a829d71d2c83eee1fd0cbe3502038ec08d62000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 26000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -391c64855e37941d0eed0bf52de43bf671eb8e5b3b73695b791f5ad79c14aacd1ba3b67bcf90000000000000000000000000000000000000000000000000000000000000000000000000000 +B = a2453a85507ebc7b95ed48966f9065b4411f68419e5265d9b6b42236361a799d625c35696eb8000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2152cb78708c948d1540f808476c06ea96aec7b5567fe4165f1239c2d9bda0aeae559583b7688000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3f315526ec906aa35e10acee74b3f6eb6a95cb1e950323619ddee6ef7d3d90283df23ca96be08000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 141b5a100f51a8ef67434626ddd417b1e6349b3f88d5cb2c113aa50a81c8b6ab0469fccd3b0e0000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 68a66ef6282e4a0fb9cb34fa19dacc85f7d05565d60be79e74a6147bd6f8fe691a84ce5d1d190000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 332081c6cfb22e1315fcebd0e0281724b41a66af831b422ef1db9cb026eb7396527f019c1cb280000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2106778c2e12f6e40e369af74fc1b744ae6950aab15177d72ad561b4bac20fd504abc673450da0000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = b1065d0e29d59a70172db2943e016ced48a0ff0a73ced97b7bef5f87252b7680d3444b19155640000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -c439f89db6f12cddaceaaf161dea5adee2b80a183c99b1590671f05c05703eeba95bc53e637d00000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1d5835587921ca8c7c03b5a451aaea4579f174ac66ebce5b2fcbc20d3c20289237cd8c4cb92b900000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1993512ce0c634a7c14e8099a73bd357e72390880739927eec3c480759958011be3e8e077e69480000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -de6d806e52508ce1317c341e9638b23acc165f74d0fb7dc407b99767d9c427e0ada5c8659fb4600000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1ecce5d9478f7e7c7ab4723699b625e7cc3ef0362f1c291e2e5a66183257aae4532c1dfc70f9600000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1edb9e2797174899ea287f95b8f58b885f3ea73abe62fc1fd63824a812b685e9e9127cd39fff800000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 350ca0688726b705fc5677e4a77a65aa60b859b73c47637ee5b8ca27aa81e54d6e4dc927ac27b200000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -e5afc34fff877e4b3fa38c39a016da0c709b6aba02429ac3a2a094ef21fbcbb64f18c4f9bbbfd000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = e9f7e1599b890c45f06db24bcc4f0be7fe07612b452900b4ddafd8ada86829cefe23988a1175f800000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1800000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -83c017f5543ed495f0a0726b7a95e82b135e381ff8ebe410b85dcc3a91a765b1d25d2e169e64c000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 39b5881482d531eb97675a788c787a8ddd9790a5b40542bc70f11ef0d854fd84c2212a16425c9b000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -59d12844ef5cf8d0772e9da694af171d97062c3c3a11c13e50f007ae159b5a2b40c45acb8bab3a000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = b0cb15e3a75b6d52469a0260be456de4de30690c7ead8c91f1307dbe6d55a5607550ef6f9af582000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3a74ff25f61099f5c6b48d0dfd0ff2deebfd35126e1ddfad86d304dfa7c41d0c38149d022f731c2000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = e34df7aa7316d55bcf39eb6d9fc4c77121653d5d8b5f72c5d60304c28ffda59f52718afe1a91ae000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 6000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9fd415b36e981b73eb18cf869ac00667ef1f8a8f0636e25c6ed93476de12a025750845b19213bf0000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -d19137dcb5b46c2a77b2785b50cdfff666972b02fe3aac06895e0a064fd5c0a81e0a1eca330ce78000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 78000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1290afc6859ee575e06ff6410c5135ee8ffc537385394b6cef95f76a15da29a00fdd69e049492178000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 165a886e610231043572364d875af03190e19c88acb1574f0c1c9a4fb3e288244b1ac2998be4dae8000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 7f95f72fc5ef05254dae26e7d32e03c68d737b12666fa20a6eeca1bb4d55d047247ece9ebc08ff90000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 28ea43b81639afbc4d5864c99759dab61a83d65a9bdb3894052afced51451ef87031f84aa3123e60000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9941179294d92f3b76d9caf05c79bbf3477a996c0b7d03fe6a42bd227459e1b9fa38474f07a2fb40000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 372a0e30fc1ce25b816291ae556f40bd912cadba448c0c7b431539992a875fb54a76edbcdd09f77a0000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -faa95c366815fc97b0969e1659bd6a02257ab17f56dc3a7652cddfdb97d0cd3a7059173d6fea0a240000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3d1e6440c4bd6b7c5b2d1c79250808e716302ffc2e72932719f8959fbfb88c2450c459ad9d6d2ec80000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -38b706f1de731e442a402fb1ae98dbe1eeba724c8874c400712850494da9598ff453905ac97c346200000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -26c29d97366f85fcb034cf4cbc51883ff92dd97c020908ef1eed1a45f2e672eee3aa398bbd900cd600000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -6f2629e222747e8b58cf5f5645fda3780d40148fee400500dfc2ce4daaab245b7d44466eee81a54600000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -7cdb377fbec367899d49ddaff12c72554281d373acd1c6347a0381a6cf30b50c1586ccd8703a14d500000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -35f3a218057039c22155ab0617b6c3e676e2a11b9661f72956474a974db62b25f464c5abd7e9349e200000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6a09d99531c328ee974782ddd7837cb571833af2ad7f59c3aa3e74836a5b08fb4359e538e085534600000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 600000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ad7c12a88969a3bab8118c556a9d83dd1756f076be08041a0203279f8a00b77170e111a3e31d5902400000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3a5367aaf0e697be9dc3e0e5dba63af17686b34c1faedf8bc387fa5a23c624a7f7687cd1fc6a117e000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -4da40cd3081d23ca87a023f0e3ad289b5ec2d3dbb32b2d25a7a15188703934d1b40ed1d57af4b734800000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -ea6071422dd7bb5bdaa7aa30a302c62c1c9991f7ad0dbe2824012799964c5aeed3bc3084629bc5fc800000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -a1b1e18758b640e6e453fe98a548d344340d4ffdda3f65725c5531b4922a74f844eb6326dea28fc78000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3403c5ccbb984919a2a891d053cc47b5f38914d04dcffee9b811fc933843757b68272cf701425f065000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 230514e8c633dae3571396cff6f441993df9b39a24c539109b18825dd1f36c8394d0fd4a1e54abfd68000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -22c00229513502ba7b80b9e128285601cda047b90b75b9fc3bc6186ed22141f5b0bee9ddf376eeb788000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = d00693e9419398dfa7e4e9d6998d41552387fed25e240541d0a041aa54224fc17def39358d1144aa20000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -42ed34771876f07054ea280fe97626618f0d9199c6f86469bf9b1ad3fb19939ab1399775a444958b00000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = e0000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 15c173deed253f108c0bf7e404b71af80633b86414a3c5ce61f3dbe756e3e720b5fe11c19d3a8580ad0000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5951e97bdb1fa9389c439e473eb52b50bfedf71b08c594a28207b5f80ad28d253b815b54cedd135ac8000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = fc9554bafa1d9d981035aaa702a8a371d1a06c130984fa2f59de1479118d7cbac5d2c0067c067cc2df0000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = afb18d13e3094bedc8bb29282fc01b33dedd6e66667b5db73ef98927f5b03ad9c29736c474068ea2350000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 240c91d01cd58574a88bb1996ebbf5195e3f0fa2541d1736b2e277a2ce3c5cbe6322621ad273e9a516a0000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 24a5cc6b1df1f7a717d8a3dff7a3c9b9b996f8f30f25097c1e20665a47384fe5791961531351794d4520000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 241f724cbc27a196fbd9e06f4ee55f8d92a184d56bffe5a12bb108ea0c9fbd37a9efcf8fa7dda4af1d80000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -d0839ed7a634c5c1bdaa8b6acb2158d061b00ec2f2759a8a6a2b423b74e545cae2742963f1af521bf940000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1181416485aa95e9f68495867a95457a8c8dea9199387c42b5f7206108f5248f15e0696b542ff84558300000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2cfdae739f63fd936b0ce58629646f1e2144604bbee7ed313af556233bb94993dc9633875ea78d51f2e00000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9ef74aab8c0bf652281e906b68c65c382e4857f70716971280b4a2cbd63ad90752f774b8cc0d6ef12400000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 6f71a3e4934cbceb49ee81747149bed94256b996cc0ee6489fc74906051194568206409cff00549376100000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -25fb8fe3efdc62597dce6bbd5ea4b2f02c9e584ba828c571d108e1e9e009420821ee4d90cbc5d2c0017800000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 21660ffd8377ee1f809ed3ced359745f656e552316301b8cd6dbc723d6612dcd00739d713275103275cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -8e907201b1b81074992749d92787faabc565f39ee49fb06c9da719aee790fce0d4f695d7e2f1b3f2ca0400000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -e981aaed594eb68739d6b7b7c2e8587f74f4d5206c83135fef5f5041f1caffe62815e6537007195ab8f800000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -23ef01da093b303b48b4dee7cf2a40ce642fa4caab1941c9356852dd5002e23e9c87042279cf611f4430800000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 335d6230a1db138f8b22030c7e7cfef25115188d6b6472e82dd8d89f7aa910591a2a0de5d5cc5f5098c3800000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -4cd5bcf34ce219138456818263fa97959dddf4be46b7b4f2a89fc83dc561cb7a14a58e1285720118dda5000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -b515b4b624e845331fa2f933558307b9daa75f4e3d0144ec57c41e1c43d5ca71688705f69aa59791178f000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 350edf706d4ad29619e989f2742377f35160bbb9f0a87b0dc7f99d54bfff8072fa5f47f77bcd541d5eac4000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3aa5c48b4197dd6915b580dd9f17e387a1e8ed4d353461db81a226c8f741f990f9ac72809b9657739026a000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = a8f4937b3adb1c1376ae2706bdaa0f856b85249d321901770adc0a7ba4d7485f54419ff3eddd4680cdb08000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 527674f7462341f43dbb60310c31041c869bfa5fbe1cada3e00001d686412474b96fb4008f8a6d51a542c000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3f56e3c041e3dd859f1961181e4afe55ffabb39f93acc4a3138f2ee27e7f1e9f70e4e4c809fd4ec1f78470000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1255f9ea2c0cf8d49a351579d49e1c4fdcd5b0e5ef4a4f667454dbde6b4e33b2eadcad2044e88575c101e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = cebd385e950428979754c10d25301e87d84fe783c3bfc26da1dc9d19b752dea3c627fdca745adf6653660000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -60acd49e9cc00b26c22179c7eac922c81807a287cca898f6f0b0b95aa53b222feb6f555457e0cc9d6442e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 60000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3813086699261d758a2b6761f34041572fc267c2c085a869db1834068e73b1dc1478ab0d1b49cf158dd3040000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1342f426979c393b085a1d73887ae1ac921cd13c98bafb7f7cf2c492dbdb8b8c76481fd9cb40fe232542640000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e92ae3cbf173edd390f605eea8c6ba9a49622014fca4a515a390cc701aa6a748137b5504e3c25e65f83c140000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -8609296213fe3b854f2df1c21d69c2ff9c721344e7dec07ac254ded6ff94b4bb7c38865818dd2dde2580d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1947756348fb288ab26bac87054034ecdd6f0b30b50aa953dd0f0459ba83e9f6517b743151488f6030861780000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2fbae78253f33738d80b3440153d35e6ca18f36e1074659a223a7a2ba0a59bc3f6619f37edc989d556b0de00000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 180000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3c307613e235b45fab7d940eb12272f5e88a64db4275bb2fdf2447bbd9799564c69fbc74a29727f88afb7100000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = fc0c7fd87ae1c5e468b9edebd0e838ec602da42d82fd694af65eaa2f09bbd50176d4da32d5eee3e6f3f42f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -14513e4f561b81872e379e08f915731e58c34dcbfd1031a39302d93c3b5da670dcd4c691a29cbff47e858da00000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3c09cac45f8edd52c7191a0d64ebfed9bea5ad81596b9215301d17b0a7c56ab04da74289ebaa2d7be5bf3ee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3041a8ae615e5098d0540655552872b00be6fae7421043102e1d6ef56fb77cacac82d90b8a36d23e822bb2c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 20456f8406b740aa2e7d04da9e46d065bab12861e8052e213c5a00afdcbaa0c6064e942c5bd0a03170b5bac00000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 24bc4fe23155ca187127648755da3b8e93b7d87f1879d4d1aeda2631299609e966ecda0468f2add54c45d8a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2287b1449914bb4e029f826715ec11dfe23c128ad43a108dcddb4bbfd4e71af400d27129da2b79e3840643c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 4d5ffd2fdb1dd2b35b79f1cf6185128aec655d8ab465673c347e1f9a3991c7ffea978d46dfecbe08b7756ec000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -20093a2a97d5065b55b5e884accc9bb800c43b78d6cb274bab097adab349a8fb1eade475674e206661f7a36000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -39dc2630ce224810852404a8dcf1455d56794690f04033bd8e28c58cbac4c982d1af5d2684505d439f387a3a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -10afbdb72d6e83aed1f8feb6138ca67a4149fdfbe243614321ae39415705589a1a3b64d072748775b7ef11c6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 16000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 652179015683a45a8108bf061cdca1c9581177d247f4a6fb5982efc0fb669795a5c2c6275fdc792eeacbbdec000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -926f732df849004fef37ad8bda6e9c53ef204ff95111782f6c580a75849c65529d3004cc766c2f4cf19c48a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -c661f708499e6802ed3736543ff327b90b8a17d5bc8aff3e05dd68637aeb71fb94feba186d79fcfda6102d28000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -364335a19d0534cdee6a98d800582d471965f12d80c1c2a9868e5cd0e2fab7e260ac61b3ab0789b9213774a20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 371e1b4f542280ae1bad791971f0f0e0e30c427b6babb6fa80d5322c402c36ea6fb4de528a130d806453b29a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = ef43f80c69a5e05e18763c8f7d1c1dfe0a9d46d3fb08ca529b7732ee664f24d1719be76376b3c907e72d5f370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -17f9a3ced2da274ff55b74ae12c1634386a0b522c6cfc185ab44c6ca09ea4c4fe5ace8fe4c9876e94397001e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 31ad1d9d6c5d410f03479f3c8b4018cd5a927f3ca1327782c3e053b5312e3335273f747fa26fd4e7d8a3f39260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -9140129e032845da414d04a1e547d917f1a0741d58ce7a0ea9ba7d660d9dc8fafedceddf425f708a913621b0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 47c86f36dc3301ec6c5a874d3b3d7d0e44155cc03739921c919b44c8abaf74add57d095e44b0e60442b705ca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 8c20a03383c22d67b3a92fe7e1b9a613eb1e1642c91b8aea20dc1cc7c8b9a4fe18831c34066f5e589f1107d180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2531eb94c7775222e8d66104cf1dfce1735bef9abe443d827ced467bf1248596d34255de2b97526d4344c8c3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e214c332a8026666ae815bdf7de65c7c2f260a2f1a66291bc9c38d89e6339f0da276cc524d845038b4f797a9c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -ef27a51ccbf428c7aa06a669cdf1c4c1f72a39c2ee907be9ee27d966144465f9995ab07dd9b01eca20de0c0ea00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3edc8efac638a20c14095039810bb5af9edaea30ea145e6224a770abe0e10f6ec6c3fa7467feb838a4c347275400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1d83fd1b4c3f5c220135878586e5ffb57f7e8be630e41b1837ae79ec0df7448509982105fe7f44ee66f787b56a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = a6a1e8cb88ef1e8541ceed32dad47bf265b25f67f2765ba7e50203fba2eddf9b56bb6c569ba8f44fc572084da800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2b096aa496e3d23f77f5fd83353fa23b87be1fefa9a3d5a3b61f6f101d791f3c6a314964f8419d0dafb731da6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2b37c703cd8f42b0c3c59e0f6ea5cdd552c19df0b3ba6e44538ce96a13319c1f78e714c8aa88912908a9c68b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -26324033d485cc4ceb6c712a86963e045debcbcaf8f9db49082daa3dd777e3f2d7975afa8bc55bbf3d35ee6687000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -27242e87f77928491e62432c83784957380f8c98ddf83c1569c9c6751e5ec1f2fe53f889e340c078841b980dd5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -e7998ab476393b8fe51acc4012c1b2b557c19f0fddbdb6b177aaf14c1073ce5b5024c2de35301c6a73703bac1a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1fe059727826cac35f2c644c5acbc6d557883e614b712897ed24fc5e86124bdcc7f9db8d9ca0e8e7369e3b2b746000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2a35653d48a7401de2af0a23b84343faec3b6fe0350de251137084aadecc232423650804d0a5bbc73ca9ee23e68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2e254a5c58f04c8a48eb4336929cea559019394056c9fbb4ad8e9a2d8169bbbf59b5c34708925edf886471c672c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -11dd02b8b4b02fa4780781c380a7815eec5c965c135c7fbd1974d114116768100c508c2b37b330f7e934b0d3510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -17322ad680c539c17aaf4f75fa429858d50582017a810c15f88d5d314b2bfbc662586ba2fae425da9f2fd3f7c50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = dd928374f275074b60388cf584b52314505202eead2fb851d6540540bad426f508366616eb135a7e911864ba168000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 4f3927617490d6c0d59b6665cb2b37e7b9fe39ff97e6c8481f57022ba306aa45a74a133eaf1cdecb5ab785476060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -8991a85418e1d51ee1298ca96d944a76e695f20734670cd71824cb413cf85f97eccb516ee5d32e7dded7287406d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1e8682542530b67653755ddd1793f2c01da11899a157c0d23145559aecc5c8120f416d48b9b1e284063702d39ad60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1485300f63970596284a2317e04e9cc924e2ad891a476abdab354b6c387602e3cbe19fbefc590a575629747820e20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -cddeab073ebe9dfde5ad4b2d9252de55fd9316eb814fb89ee3b2b00913eb1cc60afc44ac5cc62e02f7ed2d2dfc100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = fb00330430e3960f76524d77cdf33bfa0591642c7e094f15eeac8f15380b48464c203e8c46ed7aa6e79756fcbe980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1a14b3330f8833ddf4d2857a60168d93367ab3ebd192e6de76234dc8204dd641f14104fea7c6cec13b91be73cd0980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1c28a5a0f1d05058373b0789d98f2fab619fc34ae9b161e192176428f318809ec7e9ee68d03acc3c5a35c1d3482700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -a4fce79c04e37242536ab86989fbfc45f420e670168c91648bcc0107f4ecca39c9eaddd62370062d886ca2c3e84d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -48b2e479318d35bb6af09477f71aa44c577aa2da6d2007dfc4d794087dfb1ddd684362fc5b459befb211355b240400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -307b0f95f6cae4c4eba0cd6c6ddfe277ddc90cf050b55073bb8303cd45164bc4eed2794a020c8f6b725698c57fe6a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1be152a4159aca8d9af2fd2511e5684850dbc9c2bce73e59a095edcb77ab92b6eb2c62b02addf8bc4b580ec5b917400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = dc1dd8aadcd952eb3cb0dbdbd38d9a843c429d4836c41e70b419052f1da05132c41d934950ca644ec10c9c9f8285800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3279fb74e93723754e9ccfc59e74d5d363de01c777963cb2788c9e3308b74ee3aac80b275d347e3bde48e54abeab400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 12f99afba8bd42972528817a876666f773f03a325809c20082c49bd10d2b246aec9cb244f8a178bc1df323139eb6d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2c1ccd22e05df3ca39d2071c517d8432b8b7540eba459eabf7834a4fd68925b7b4dab8b2432326e96ab94690244a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = d94c6cb4fb0d88f6c7d749e6fd277efa5336cc554cf7375de7325662c047864597a7bb0ed6bea2ccef9bb58dfda84000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -fb422c297f913db32d0a338267fee3bb11774632d91d98004bc2d466af46ee138642932a67b48df75c42b0af6455a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -69d05e3d1dffe6ac3bb4c79ff4e4789f1fefb1379cbc2d9b97008a5eab8357f44c2eaa2c678588311809846412ea000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -294a114c84ebbb4873801d67d76fb0c56a3bd4b5028983ed2653cbfc69f2b60e38d8c077344a5b29cd76339ab75eb2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 854c7c862164a36c41cdfe7feef15c8c90148dbe5ad2a8864215737a40f2504557ac07b468b41f33a2108650488510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 14b81e2e4033f78e2b4edf99bbe3fd4996b19fd939b015884f26bb1b0467e0a45c074e3cc6a79eeafd9bf05925785c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 124ec38ec3b78cdce4aa8731b609044eed441bf6ff3043418c9b03c7ce5cf8bdfde183457c8c657ed249e97c58be9b8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 130835fe70b5b458d1245728b1ee3fd26355fbabd03214e0c22ff2feb740cccd3d5e06dabcf49dfe2d745a50b8eaca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ec6f7ab3b16d66f8439d905ef765524b76d08a7e61bd0814f7d2d921e6f82cf5467cb5e67bd35bf03d76e68468b0be0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 8ff2a9b6bb3e02edbeb2b2cb3c31ffb2521aa5426fd308ccf5c412ad30d08ff326b9b01aef71b5e6c1a11efd4c609b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2102b3334758f61920c922d277c663405664e22da9aff33f62a348740fe437ecb898cf4eb99f03031d8f478eed0809a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -21170c1ccab1f49c0c4398c27e70b415139d99875e5b7922bc9901a9bc9933f8491c4dae54788da90c84453e26ea2d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 8e756dbe0b3c71be7060e5fe65038f3ba7162895fa0a43d56e1ed15c673cf3fe09066d7cbe9fee49273b7072b1508380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -37e0446696db8c14c955f377ab3074fdadfc60a7e0e0ddeceeb9eb566ae7f2a9bae71b0cd0c8293f4dbdaff04fa15d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1cf467bfe6c13712d15a9a7d50073ee04f6fcbf58269b3a9f5b3aa903972917f56504002a098550ce8ead2837c5feab80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -19830fd8ac160304a4da4ee9a631af1e11eeadf3d6ac62f7847e9166f6ba3c837116821f7047f2d50ac1a7f14abb33880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3a2dbc0b3acc06a4dbf764199185462bb62d406499a9afc1602da6c394c7e1ebf1f0e7bfd60d8c8ba9a29204233235c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 33c006e0348f5cfa9de96f05b74a081b63042c393511b03d0b3a7fa681476636cb7e0e55399865477906ac342200c6a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1651570cf022eaedd5940ccbfa8e768f9e9e34c47eaa117f6d9bab2925e5e6b45dad5d5c56c6c17740f73c2c8c34401600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1064051c3943f180052b02328b50d793672dfa9d5b06f7107689c4de81ea691cf0289b96c33161ec96267ed05c48089e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 11d1c5a84ea9fdb93b0909e1990162ee2a36d70d5556fb65ea381688eae30dd82aa3910f3166774a10b30f49defbf7a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6837413d83947a7d0a192fd4a423d5493af84d94ec47bf550ac783e6e0d863d2eef32e8a74ea518af6faadcff74b8ed800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1e2233d7423ee38570630c70f75f2eaac3aebe95e8b0a5ea6b6f413042c1735778255b7e4df20757b79c0e4336418b9e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1c410c961b2ab35e8457b0700e4baab4085e92ad6582cc5f4474299310b7ac0359501e50c44f06b049191eb70526bdba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 98c2903fc0357305b52adbd08128b5602e322f0d64fa996c7d250c79bd8a365f765307aae3ee1b278b1ca63a518ced6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 39b31a16f51199d09c8e7b508b84d3cdb3af37114aa8224d3de42f6aea8bd77b697d881b51d9d8d3d989e359f888540e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -282fe736dc0d2d4647636f74b280cbcb0cb024373b0db01e42cbb703873aae2a254269f0a009e89040ee0b975a781c71e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 246d37eea4013424bffb473b962445c8d11df2991b7aeab386f1ef6c74677f490b5cb9dfa192c49cdc0b8e2e7357b9518000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ea5dd04715e5341a22085353757cd8d5d1bb30543f9489b5c0e837d2343f4f59d7988b540e8445addf5e3137d0ad19e60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -676d9509218f6be9e45d6770464447613feeb9745ced277dbf7ae736a57331af2de73f3066f1599bda70b500fdb17637c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6bade001a22cd5a2e3791eda1291f868d0ac2f915249b2f87346593a472971a3f656692ba7db7ccfd4acd7bed294b7ff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 18af9c999851c80d8f79712e4a010b4444fd7931b61ec2387dcc22843526624fa803175f8f418ceef9621ecc2747f0fa40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -fed943e98f18ace1f5f036ffbe2d7233d1e4b3b842b8a0277afff12a68011aaea1644ad3f73b4e84cad57b9b0fb37aa3e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -b6d17c8a7a63501c257f0d3f57b05039aa8e4b8cb947f24e2a3627772ed7de7f398b62eed66cb4ec57d9c6a56db39e74e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2acc4132409102df4cd128c9f12f622bd978a4cb366fbd558363f6f65afe7c4999bebbd0ee758956a2fea42f1db0a607380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -301972c9a8d4d6269f68872b7ede48d32f924119453460d2bfe5f6d4ba317422ca550269e6435363370c2ea5c073b7cafe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6ac00e41b206588b14b64c24fb326bfcabf1801bfe0b98aa46ede6b39ac52ac4746e70bbadb1fd6176a96a62ac98f7bc540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -a093a78363f45090d26832da116b21c5629b37b3066141100e7c3be6053fcabab91e1263b805b506d86938887b5694bc340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ad4314dd81d9122b9915a256ad6146b419786fec3eba40273b7f8b42663ec41c9b99afb7f018dbc3161e4ae85ed60104b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3a4665679f910bd369cc6e0d1fc1fbbaeb63775d1d282c850a3b6603c8f45f4d7a0e5a7aa07cbd2203d8adc6d032e6b82680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = d1af57f0074a7f54e54a06111359a80fb13c81fdbcdb9824304bd5e95f0f6f659338e8f3f1646fb4344f195f1614cf3a1500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 9d9cb0029cfea20a45e20f39cafbd042fb00626b9ef37f3a51d51b5f90d20638f390079dedc49dbeb92f4877d05ae9d16200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3f7f8c1af3c2bfe944eaa8a87a30defb3c376e2f09608e80302958c529444f50f419971b06b568755b92df7a341c2a0235c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2fcf1abdaee977b19b9290a64ef964032e3290a8d5afcdc337777641e5a1507771e3415568cc42abdcba9bee6a814f5d57400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1e470cbf4791b48008aa27fca23d3ff38cf4376ed222008c512b16e1d32f86f6ee93dfe85260ccb90a55c420517cb6c136c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = f5ecbba8af69bfd4078444e440d42ca0dcdc7efacdae3735b1b6281e12fda186fa78ea91f760acf778977fb2e34c836de9400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2a1e087a3b5f55538b58609eb94c9cc1ed7fad85cd072a23441792d832475c11a87a7513df1fead996fdef9b6c25b17a7f2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -33d295fa352017ac6de428bb334e914cc01ac1ab0bb03b6b4d5e3e100df9ddeba1b73acc4770b695c545631da0742deebe2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = c512e1a27bd66a7f91480fdc5c05237056e732987254151412c77b828f398fe679147c40942232ffeecafec3aab94d1f9c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = f55d0b760e45214cec64d08a4afc6ee1b111c9d2a2eb18df83f26fe9ac56765b194e1950263ea0239259061b2d6fe470a91000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 138c24a76e69273b7435ca9bd630512ac0fcb8a6f8c4c3fd1365f4100600fc2bbcc976881030fc27ad2c17ee32706265630e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -4ea6b8808108ae4c9a1b89b39b566db49319e4b540ad2d459cc0809cfafa6224e2eb7ba0997dc344b2fe6bceb064fe9f316000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 8b4fe99f74380edb445aa10090558c3058a76155e682c16c45b74839e2605f97a40947dea3b6d2aaa08363517c804840a6e8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = a80eb7adf3237c54ba6ea96261dce81a5ee247ff348fc7ede7165e1401cfaac9e8c087d7be34d9709e0da844bbe9e20d3b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 17d4ae83724c6c5399f423b436c89533e0847ed090dbaf67912701a8cc2604eeb132c64d12efb941f9d0cea6b8fee904bd298000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -22b2d5b78a8036bdfd99d3ead2f03a4f650755aef8fb60a501b9a5f8d727caaf14e82064c9631269c6af03158ef872193050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -8f471eddb6b49c99e73df4a6b9dbc6417846215f700ac3b6ed2856cc7476ba2c70b08f9092e867958b6a62885efd0ca45d6c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -e6f51bd41bf34fc11790ad62c664c0982e4a69e4110e4fdc505efef238bfc5e7529b46cb04900cf41ae08318219977537a930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -194b35c91d18478b81904c92cdd7dd1540eca9844f3c443964d8a760c7191b750719f97fca6204f7312d2fd00e3a2163f0bce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 179da11e3a581160555c68e11f7fe2db8774142c9e7da3fe873c5858253ab63a849139d196b61f62f60d42b66de35f83946820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6dfc9049e88ff41d5185c1bab18fd76cd62aeba1b4a545d3bf6e2a441d9517c641f0d3d18d178d6c7f9bce775f82ae3e8bd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 882035cf6da203c7b5781e64d70b5f2cfc06ddec556cb62b5fa7e1e07b63a8698074625bdaea5752767fab901822549bbaafc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -54e49be210ed7aa8129d30b081db6570636ac42e8e9cb481f0c07d7237bc93340f41cb05c32b094b69469be1d0e6e1dfd1b800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 9fe3e6e57c139c98b8e9dd90d4e4874620b53b9bfad29b8b8a3306e70be5503f2c2b5c99df23d15d5d43123d1a23b184737d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 958d476232f2222f7a68f0093a67043d70f60578eeea0465ae1a26dd252ba0373eea6499123ed583fcec8c1fe619f702e80b500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = d2456c06e4c04a9d31e739f2e3ed5413cba17f65fdd1bce2b070cc95088349b6fd63e7e6b0545082623d70bea0cc97a4bfe7100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1581703500f07824e4f8f7c364f96fa8b5dc82d6453fa7e6732516b2193b88e92bfc96954b8bea88f8b6c664aaff9459b34e3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -330212ed7c4a5318a3fa333744ea8eec4974f5046e49bbe5a188bf1f83b8b1182458752d657a8b8fc65caa5dc4001a622dc83400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -e7658e044ce7ffc378e38f3465f214369765c5272a1a72782521892af48b89be9e5f07a11aa6f18e38973f565123de83c8969c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = f43156d81c7b7917054e40f432e084739f666c9f5a763d2a8699775a1e9733498cf45b6dc8c2b4833873c8569966beed75179800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 6c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -b654d4669be8c827ba52a896538b00e6337c63692b825f88f860143687b8cfbfdf8cfc7ebcc2e29af7939c5a9946326f9498d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -12fcf9c041f91414c846594a5207381ba784c7b48a9e77a4c013d79b69c9808534603aa5d2c0e0d6773e762357e686c4c6577d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -8bab5fdfad182cece36305fc1d77802c499f42f40ccedf7b0e5b0b2d90f9166480093c90e1bc1fb07211883884c78bd75fbe9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = d86079e99f55f6795b13d0458a0858ca85fcdf06d4eea254df886e9fe65f8c9a175b43c2a359e9ab46e32d40bce1b71013f8df000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -311ef54a66aac5a28513e6da7c3d54a1ae9d6633862fe5324716521bdc382c7f676d318bae600f11ca07bcdfbeadb0dd1ec7be4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 19f25f317d396c65c33fb47f6ad21b937f6cf7b7662829da46df7820e00a637b25ce6e4e3851212e635248937d098177a2d0532000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -50d9adf389f58db50113428b6378b0e8fda48edeeb10c38bbebda38929fb5b3ecc6a9a719129c834a8c158dae6327fd72d33640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = ed90eb403352d0cc9040374baf5fb06ce09ba122942824d368be8aa2a8ff49a6042bec0a902fd018a7a536c526ea97f4ec2c960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2965734d214245bd7932f3ffecc4e90044a3609e5130e5748eb44d23e2df143c121a153686fac129ddf84b5350dcac85e2dca0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -327e6e2a02a00f520f61bcaaec32768c295a920c54143a9d759e588ee2be8ba54c3f7f301bf6be3fe4ebb65621bb31a3e52563b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6f23c91694263de0d4073fafbcab2d345906719c82f7ffcad1513d56aa08c6a66ced982f99b98edc5682db84f7bf620f8fc35000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = e10989005881611bd1aa21928cf9e737efde8a0b5ec3848c85863fbe03725415a883883307a17b4dae7550cb21638733d16d6210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2dd1bcae3bb97e35ae06487bcc759faec26a3be3318239c238df3b28ce510438bbd0a8c90f8da7d8d7176a9f0d8f4ec03989ccd60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -cceb0a7efbb07bf151e0bfe2c33806d3ab558829413ca2359d0979e05ac1cf358031a172a3d4f22f2168cfaf4e7e6f6e03709020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -e4198c176dd9148aa1cf76ac0e4a4191cbf5e4b501e47e54f380cd5db9fa18562e3eaf9ff04f2b677512a3424daa44cb201c8bc80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -57c6067d4294d4ad6bc68f3c00798c9d133638e6f66579ef80d802b9c797fdfaa1ff584b027d24d97b6cf653abf98c1f3202cb280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 11e2e13f3bcce80fe92dd8b24e5b2f17dd3d285670d9ccbb1d7ac790b1dfaa07318c3b74e41ce636a2f6bb39777b456a100175d680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6b0d65c740ab0227e1ba732c98702e1c5cd6ecac774ca6b3546250e9f3c1652f974d7463db67782dbd21bd1026045f6964506e580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1dc8e0151daf411d192c77a87195448abd4bfaa2a1024d5ca69fb3e11f53b3d98408af5062d3d11c8271ff7fa56aa426c94568a500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = ec9df07a52e35157aea6555373af2624a810f2cc60310753220148259d7658792ffe50bf90065864c0a4244a2b86f6cefab9f3a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -4a7526ae3dda5cade40ff517f691b22230b61f8f78b174e6ad1a405eefbfd8925512b2e74554dabf1df4ffa7c1495faf9b8aed7600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -195301ad6ab2db5c721f94af0816386f3e7faa119a8dbf04f01881b66405e669eb4aa6d2cfcbefe22001206b04526ce1aa645e64000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 24b2bdd6a06e918a55263cdf7fc579c5f8eb7a63fb7247d2c0c45a7a06da3d5dd64d6ebd29254319af6845c30105ace8861614e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 73a5912ad60ac9ad9d8a527cc48581efdb725c4cc32768f58ddfc4375c65b0b4e68de95c13b9fb0154f8ede094e07fc37b41171800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 23d370286c9222bcd14cff27dc613fe951e37df44473e88b024c3f2c45e3c7cab430521419e6796bfec87b1a0ffaeabbc4afb40dc800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2729b57e76f3b7bdcab35a888fd3697f8d111ddcae2bde871e8747d8d649fccdbb4ade66622a4223225f8bfaf37508f3101dd7be5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = a43009bc110acba7c6abd100862e70624d10b7f7eb1d1b2947fa64e72737c59be425bf7ba9b2dbfba60d8a76a8162a15da4264b9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3e413ca8bd8abdfefddacf3ca06913423ff1c33419b5b34f6ced3dc6b00becd148a5fdbe07af06edbb4148f29960c2f355a0d25be000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2ed4fd5b5dffe6d38e905ab03aef5c8431c82bcdea7320daf887a9ba83ca3395f434f6e82870e9a6e8b739f194f2479940e40f9c72000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -7d3f04d250207912400c8aa6cf4f0508250e70c00f626629d6de5609c0169b39050164df8e6c17192dc7e3ef8449094c89c1227c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 944460808522b6f8b81cb51ebfe567a412ae60209efddc643c15b829f3deefe4c1b7a5223b9a2994a1ffd38fd2c904b4a4d6cd50a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 83ce1fbd1060478b0b565d8fa29e66d3d0e35f8ed5f5f6dba1ffa7f706d544a7d9226082791d67a0bca58fd0519174acb4f560accc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 82e61ae1d8627f2ee2fbaac1263a665da181678e47557089329027d52399a91892b854e18d1b0ffd7fe6295cbd9a5462cfa5d75db0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 5ff76d333dd06c73cf8966d5d87c5732bcae8cad41972b2b5f17806f0c5efced740ee1da8c765a49aedfe9434bc86003638491ab48000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -37e0a0076fc20011bb270fcc5641c2b32afcbaa5e0eadaea14feaf30317b4a72e02854c1a738188e6e3dcbf403850bb8c3e6f8b7630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -e16000ff2e062ff557581c6b1de878e90c49c2e1c548c38ba6a6212d92c994eaa6a47f809c526e39c65fa8795330353647ea78935e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3b9be8e7c92df3cc568694d2f7dd460d73ccc0e4c86ae74cdc1fd00b31d969a5acc11a8a607bf6d2a8cadc7820b9243249c781183fa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3b730365d00e743e9a2d920a4fb14769447a88754db96ea1cf1ea8bed9a38d9045340ae49ca0c34ac886385160edb2e0b5f5a817c280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -c0d9c4ed0414925abc546956ae50da7f1b8591418198b67e5a2f9ad5e7d447fd905062654d3d0550e269d08840406c80816688bb4640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = ab9690c558b46ec921cd898ac3b263765f3f9aa91b271fb3bf788628b673f2506ce75476e1cb75a88e34857b1233ef07c4f9495a0ac0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1ad1cd788f58d624d8e0da103bb403d949625e8b4fed472d3b963edaafaeb11e617df3cd703d10501ec32118c68312aa0ae65e7b40800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1297949d540eb282c7f3173247f6f5f5b760b8bc1eceb588760ec0575cdb8f71fe1c088c0c81dc8fd04c9f5df7c343512a4b6bbc3d400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -df52543c9949e056f3983788382c612149b179cf885c30bee2f5d41326a63354f69a75e8f7e4cbdcf73d5ed7003ba3f4b430a5ac82700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 30ec298815f8e9d897a5ada0b36ce663b3f0616f7967f99f41adc2efcbf19d4d6b509a08ffd1adac237ef773af49ebb591ab734b11c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 267b5594560e0601fab746a4a47e63852401d9e7e18b50c029b4fb238d796b1b3fcae5f44fc761fd1cb5f039f0f918e968e10c329b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -257550bf80c1c70b1f4dc1a89db38406c46f0dd64406243d286440c84302bb227cd314c5e69be7484a40e928cfd8a48a0c1545e5c6f200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6a490ced9378737d442258c906738ea6afbdf3ce7ff1892a36927695b33a55ea214a68c093f039e79e76d9712c0ef32f965025c6f0f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = e96c8416d3bcfdbbb7c6c476b2d655a1837b56a458e3beb365d6c5bc93cdfbcb8876f9702629870d47fc34111334fd672a6ad543890800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2a17a681eb6f0932c21619c6449aa538413509ea46989b6ee64c298ee5d7d9123d59cd76ba4803d3088142732562b8366b657c603e9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2d35c043937c08c99ed7639001df15aa363c0962d7094bdaeadfee8e34537b87a8998592e08930af04f1b41160da896929a8c626d0a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9b048fbad603070034ed736c50a5fad0e886a5141f23b0bd9fabf996893c6dae327f79fc367767c0c7dbce5e8f36546392f15b41d62a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5da6417524be6792cd46fd0501859d43e8a1bd671d3fa4b29a9cae9a8ee8f067b391c6b452cafd47082258452547281f0cf6be85c8be000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 208e90d58703ab23b55b2b01e1f5c1049324661e1916d50981dcfb0bf92895b41191450d9cb635075ae51c0bfd85ab2921709d5df47f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 20a6bc3ee50ddc723e7b20fc48f685d713ce243c8b19938f375f9c2e018b86e6bb1860f8fdfc358afe963812d602e8fbed66eef074a5c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1a58f7dde625bd918fc21ef8472db72356e9e111465b9bf88288b14044057fb8b9aa053eb0599c6274c2f54186c580e27bbc216b8fee4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f60d4162c50b0b1c0a33a552dd518d73738f70a6353bd379d85a5f16b2c3d5bf10888585887906da7d181fa2b041e8b045ff0a5642ad8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1fbe3b860e3479cca3733a4c4161dbda335b5e98b300c76ce6518e1849e0438c2922214dcbf3820d4ebdabedb5f59242a740ee3a6f2358000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = c4d1e0a02c04321bbcf34846dc28fe8efe8ca6e21c7bbe2a8a3073d7527bcb8ac9eebb50bc5106d097c232d1efe74bf83c0af49bd4660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 5e59959398e8df61ace92301a6ec9586d2c76530a83724516ba7eef4c5bca45b15029f4d19ac6439038771e4547f9b7318489e326bac0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -74f70a85eb5162b10eaf8e77d5f02c5efc84b7d8c059ca78ad6b8348681b7cfecb49a2da56648159b0c9d297f8635cacf146af2afd3a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 16082d32566fb15e2f9c670d23b01fe4bbd9be3ee55926da6e50bcd1276f08eef649f563949a94b7ec1729363026c812aa93f07ab211c40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 31fe2973d778a9a03d0be238d07adb77012ff5ae14ec7efeb0222953e30c58040e90b065b9fda7a82954d6e3065bc48d79bcf45b5fde3e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -97fb3b3be9fa79e81a8df993c145744f3b07d21c65df8325cc255206b36ef286b3bf3d380c07a948b9b461c86c8ad82d8fd6128c4842a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -892da4175c99696192fbf5ee2a38dbdaf634474ad22e51c3a7becc2e19165fd642615b8d517311164c9d01a146a59b14f69df4f4efde600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -363a3b278df2164b2be39acc0916dce62edf49fddcd50bfd720178f14ee6ec036f29ef9ee69e4c907e5f524ac51770bc050797652910700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 26fb54165025c14b29ad1e68ef821882b7fe12783d03ba762970d075a091e519de2108a0d9f7e6d472e82a441f5732eca0b6abc883c1c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ba71d99aee749a2ca2854e9e709e41858766351cf9d03783aaa550151323610da2f091bcf366b3ff5904bb3255ac6dffe4f98cead6ff4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -cb6943968537a36b323fbbb5cf16e13974a9a510e1a4ba28b53aaecd41ad63904b3de54c58aa6bc36ed640c9b42311b93bd2e43e1c80cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -15fbad668e356cdbed65299297cb9a00aa3847cf34a0f206903145eea8e13bc2f21d17b8df451d3173db6094837e7f70162e2c073bb5b0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 19c26dcb74045c8383eb2f843402031777df7ad1967b6b135db778127dda9cf68b64e92aadc49a5ce2d645631979c8009450d110418ef0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -bc09adcae91952e05e87ed4c20d862c7d6eae3b0d4c796e172ffdab2e72a9e28f232a93629554e9df545646cf121ac19bfeefea8b62815c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = a4b1a564df345bc6d035baa9c3ecc3285d538a79df8382306202ce8ef0cf5eb2dfce424a097066f489017734809259935029988ddf7610c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2922278776b7f43a4e574478892cacda00541526acf1863cf2041ef24b49ba4ff0ccd77457804842d2f9aaf6f47c23de61db9b09a458116000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2d1d896d9963e77a5cb57c8670c0e5c09047a79f620fe5071825b56f1f405cc79c6364cedf1a40afbb9c332263ee97848379f58111bd145800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = faf78dbd28f462715b6eaedd26d587323e29f4fcc7e101cd80df87fb329c9e33bfbda8fb67c1a306d0d9a798a90193a6c46a00f452c6bb1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -aeea244fa89cfd16309c6fdba144c4e6c005831d24b0c5cd2c5fc425595489128238bd833a79aa9abd4fcd7b4d95aaccd6078354f734cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2df2da3abf610152a19c56bf482494dbca4d30088a41dd8849aa42a422e3312b8249d074df493e1205093dde7ea559d64307dbbba360172000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = ee70f764499d52ae0806082618be35732bce0c76b621a631eea1f8eedcbb63c49f05acfe02868e2ca79e37d4c4bb235c8caebe27035ebe6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1ede350481c5a959b3b08a5eda4da1d16fd0c34ccc616752c49b47d12eb9b73494b573045fa9e7434f5954f89b2eb24c80116c9b81b14f10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -e570159be0df0932915fcfc3e4fb2ff4ef245fbac2b28fa3f4fa59d38b4ccd203092a82a5b02c19028a915730e7902ec98bbaf0840d67380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2c76cb01011d9cf305f8c300651ac806b3e1250826c4e7d0320a8fe20b4e70fbfb9bc95585387552f6d16c0be81756c246ed9286c779af90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3ffbf542f9a809b84d77abef4f7b5a9c053537e880e51d7d3091d530f4a165a854025a903f66e6bf0030d2501da877ec996d614351a618b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ae2f624ec2d2b69868583373927b188ae50f2970fb4ec6edf4b29ff2d0c13549c06b6067d972efee7545b678acf43a08449b0f27d116fe270000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2cf78b9e68ff2042cde8eebb99a2e82b59015fe0dd86c79647a8b88f9a1e80e369b66fb80964ed8b9af9fb0a69ed88e06f332f7bd8c10ebd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -34a786a37fc6a8bde64f1eaf945b0099e4f9719bf9fc95d0b79cc9cb9285313ea530571e9f4ebb38446964b6f193ff9ca4387873393ace15c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 10cd04ad0b00c658cd7bff4b865e61ac6d5e4b8df9a55e140e84189187437f89cc4647cbe2e2cca368028efedeafdfd109271123c896299700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -c272422435fd24699bc0681de381e71059a882f507df8329912c30fa14f047511cef47bad9b09e6ee505d4fd034df0a914c458b423189f9b40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 8e2b70ea907cb490da9a1b252bd90c22c1310d3327fcaa488ba31aa2317310858e132db83e8f30c67ec830404633cda100452fa83a7beab900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 516f10e222ecf6434c523eec10ce9d229f3761ee0c320ccab1f244afb0b3725efa93678b196ef0a08380cbbadbcd6f1062b60f884e392b6080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2c262c929c796fdef0a4d44c2dff288174e455d54d2833f49e077556b2550d2d8ba73ff8212b27e91bf9f0d3caa7a4db058da813cb92a32c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 7b1ce16fcf11492f7f256f4b5f238a6f9d86e974e5bf58d195a722100160199d4eb888cfa717907173a5248a05184da7e8a43ecbce717ef9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = f8818107ef4996375a8ad5ba7393e4257b64e46843591f70d275a8a2e43ec8c3aae8f8658508224a2549ae960ffddbb9537e306db044a574700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 551951e8aa1caf6cefd8199134590aa1ff0d3084779f676998daf3a3ed39b7eb954d13da7b626c77dcddffcbfb6b0b0fddd13d09ac99588ce00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2c3a5b9edbc2dcebbb177edb590d9d6effab91c623d485fa7c0c37c7c834c96e40437a4da133d143c9f1a3eedadd05a31bb2a6105b9a62980e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e231d3b4cdb6dea59d14edd59ad2e0f311c3650ad0fd4ddf2fbd689d2d90375003241be809624b9da910fdf83f6128980b4e605bca8ef5a69800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -a74ef9ada673ea5c05f0e4b2f0ffc46d60d0989fab2e4c8cbc06af1bd5f9349aeb2096b935aa342235bf847820c305f8a82fc17cda9c40e08400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1fdc596ac22f1abcf93ab2a504ecba95ac6551abb98ba9a1b524c5fba7f9cd280e3030028ba85b1975cd0457beabe0391163dc8962472bc772000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -12b29feb62f1b4d67154855bdfead097ae3f37950b02a51020a5306bbcee040fdc23b8f487fc152e351bd5ef9677054b1dadbc874636fc357e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6f2e0c745045f388a465a5a1b13592d2c123e7df0436c6456f0bc7dbd275400b1504de33b22a4ff4b52206361656a5e56b786b7f2ab6de00ef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -a89abff8e197495007735a9a1568cb2e695c20ac580c5a22dc03938f64e0d1e7acf6ff18850e7b5c74a992cb29bece06492dd8c852103afe97000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 32cca0221850c7ecb158c64946632f52ed7f52bc412075b5b6ddfa8dcb85e9bb1cba14a98acd4ead55b58d40f9696f151f3bc18ae56b35da6e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1bbc808f64bd3b93c81f0632f44175016f7a3a544090b6bf125551049f2c70408593f01b8ed54a4bf8453bde6a88c0794935774f587ad7627a2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -9e73909beadecc79881a9749624e7cdddc6ab102f9286db62ff117d2f46d2d17bb60e80709f116431a8c019366cf419e1a34d23ccf480077018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 9eb040d4de8ba6f2637895f9a58bcc9b5609427e7131c9481653d2d98bcd7d57cd6550ce688f4a9b3a53915d976a8e8a4c34c8f7edc6ec9dd70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 63ef6154081b32aa9a54c6fe1288dda73d2f5d4659b8f95fd78f36fd46ce7814520c6a025c7e8e4fdce83bd4885cac77e6c5c9f1a6ab89fc2c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2270890a4d3ad170dc0a1f1c37b4e76241daef0d9414da48cedde4234d779e2e5ca782469a91abd88a08676c42b4418705adfd1f49d53f637740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 85ec1d45235227b6813e9b60099234a943e22eee8d53be6de88ccf81ead5c4962ae8901ea91bec0633831641dd3f8dc6e8a98e40c8ff6e9bed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 8d8ecef6e4a2bd54b92e0f1b75ebeab968388bd1439951ee041619e95df270d412bedd79f62f60379dfa630d8c4bc6c224cb28ab2b124ce72040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 353135c72e72678d03beef64446c9b241edf7ce26523b03b3914461694822d3569d8b998607c31b666fdb3a91aa154474727432762653c6103120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = bdcfc9910518ccd75985e212dade91844a80df4dc556d00ce25fe47316f215daa2e227a039047f0dfbc06dba0df4608c33fd962758e19c472ca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -96d436cee6dc8bf6e2763131a4ab60da5720e94988fd76e106cc2ba5d92906cb6501fe05af3288b7726f8be3c531f8400cd8c8f66681147c98a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = ecaf35c0babbc192368acd7f10e065b5c71db207d8372fa59fb0267b11782c7555e67b8ab79ca4f4ac54221a123a3ec235f108c9e08b9e3614340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ab5b5cff843f4dcecbded74cc4f8c25208df0db32fcdfa3c44174bb8475576e31f65dd19b765f1bb1e6c5242f02ac1470331a8bcb52f1339c4400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2a24b9da3ab06853eecfd6449e96100d41859542a870efd081ab7bb5f48ce6b94c4478f8b66ebf53c13ce34a8df6665eb1687f95d7fc74c90ab000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -e5afcbb2249cb03ea1ef4e40b8017223f765c03b849cd9f7b0784a849ba55af75ff9bd0640b655db156402041039a84f9ffaf22d3c42fbec7a7e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 5f4ba47ab54e8b231c153d22810c12d61d959ad3078cc59a4639444c48619ee5cb62d3268ef2cc34be1b350f8cb31b8bd0631d49c7538f367d4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -29e1a91a71611dcbf2623bfe7ca7771c31cb777e5f8dc672536ebc3033d7983a3f489975037fb95a6f6bd723630bfc054a0e13899c02b7a6526e200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -24eff5d780b51a1b4590628ddf97122092b0e5ceeb4c50fe64d9ed0380211f88d49a1db2f840cda2dc645ad06a43e51334533bf18387649a04ca600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -fb3bfae230ba49750552d047c0f9b255ea611f968e81a9a74a62593a4e7318b386fe22719e7a2fa13ee45a8d1be8e65d277814b8e877176d79bf000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 59e9b17b209b41ca1a436009587eacf69ea8b489b9a66b770512ba745a25cc75f14fd37546a0c38868a9a81e0f4e0d326573794a573769a1369d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 900a7318487dbdb6b334efe8d79029fe03aff62a14ff18959727bd04127049a01a2f96fef02ddd9435ad0eb550a1d3dfcd8dbd9cecbe9c3a2620800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 34fb3d29cf790d6ff696b70b2de1c5d6d155503ceab6947f7fa83c68dba89c6b3b4f1688cbda4ce44ccf1fa3f5cf72515ac86ec8f6f119fd30372800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -fd338eaf9ed9e031df47f1685d164f8ddb19ff004db5e4ad3e07be735cd38f46e499ce5f9066cf50004bf036142d392e0955f62dc77794678e279000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -e0af0809c14d94c337467149b20986e9fd8a98134ddda7c994ea5a474186af371437d0e67ee80e3e3e78e3db418f5c8049929f8b1357b11b189bc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 223824d224548789252d3cec152caa7e571637ad3fd8e005e93d1588503c350adccb3e8dd215bb85238129204fe413c48fb6c7704a19b8e7fbe2c2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -32571ac36f5eb76205a260aa40d1b240189dafc8721fbd9624cad7e6201536bc608c40be1d0d14aff548017808d2adafbf747c410a407945d33cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 8731514480331e60eff29b617473e8952b4c89d050110463405721455d99354810766ec54b59f7e7b3b2255caddd121909801fd92789afeb1335ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5bdee4945da52a0d9c634dc0af9f4429d8b1428c84d2196cc0a64dde3350686525a0254b0830d53b7f9192a07ce5842c3194b6b93e74a54ac0a840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -7082128e57fabcec7f005cccb225ed3ae3cf7027cf41f2f96b6721856180a49dcf8972c20e996971e677671a7ee279c16779f5ca4935820513f670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -b4021152537e9a53d96a0c9a714532821e7aebf6a7be45b0fb9ca0b76aa227c5bfc6595b7937a9d71012b86b697f5d672861f4593bb3855bba9528000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 331e9f6e41932ee23a2bb7879acacc0eab97135ae92bd6e138dd494ef3faa652cfd55ffff62cff1c1bba6a5c937d93072de2914ed3e8c3991bfed70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 390af362652bc43f8950febf12fe5195e024b657a2ce1be58e1170f75ee0b8482dd27652eafc27a947f0d9e2bd89292ed8a3f068b356784fd6c3720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1f83a1797554f26c691fdf5342bfebae08143b990be1bdf8d06eac9746cef9e56aadb17582a01a3621954900789c1426892ac96af75a250b67dba980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2eb2cceb5c264929ba59c9a5260013dee53fbcd17d5e13b0443d055ef47a1eb2eed4df5b2e0fead20cebd187435f70c759f6eb177b9f87d86310d400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -da1c8854613f6e8f475f6675d71ab726f4693d5d4e3addfaa4399226409c88cfafc71b312d70ce86a4c8c8da7d230ad5c345e359b10f9996a3d7e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2f99abd9ffe6f66f50badd207c8eced0852103fa4cfaf89da220f87dd3711d876bbd642a8679154bb8574ec31ea31d7162335bd729c8f2ffac5357c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2dfa9862f144202e2c362171102a6ef69795fc63b02814bd0e7c523a6ea5fabad318e9fab411a8ca95bd1ccda6089cbe4a425cfd95a027a5bac4cbb80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -217d292faf2a779fd290d5dde5bbbc90aa0a6a77bd6751d923b05515db8658c390ea9ef20f98d9a7456f579fe43fb66bb8bf3158227833de9816b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -247cdec3cadbf66a170908d0bae2abf207be70dbe14c26be270fb094d89bf566b4a27eec596316ac97afb580aa30e79277fac190c4826d96510f6e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -850febbed2d7874609a42abf0072b94d10bc4cbed313321c35706789e7a74864f0dee6966ca1b9373883cdf41071614e25a13099c2e00954303aef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = bda57e6e09de23272d33322e5048d2ff42bcc5e976af53be03c2830fc5d833c74eba8d866248ec7d504313f14de909bed17cc5df8c3d275e0c85eec00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2498e6383a8b5ee0036d8f5d5c76f9aa75763907924b90649557b2b2075a58b29c2518ea9407c67ec41158dd7d2ece00ef9d96f36b67805244ce97ea00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -6f5cb41649c1229346d60a89cabcca3c4ddbe82e0ee0428c9cbd343298d8287426fa90354d4da84e6cd737e252bee4dfd69a8731588df2755add77e400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f6e7d4f18c22b78a0a83d8369988caddc815ec9e7166fcebf2a0daf998f5ec0d5848c693996a2d4964f32e7d45d22eb4db71366c8c4890755220a4d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2febb3efb022b1d7911bb67e1837c1bb7fb6e2a834f48e74be377b7b06b9a6766e384c8db9a0433e3abe8a545e02119f8dd31d41d694d37c1f7263c8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -ff9ab7f3e2fc852de1e38988899761914af5992c76a555d1a9f64ee63bc13f6b071197830c794548d3a53d9973babd7a664142515fb13939e3060b0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -838c2dffa394d85bc7d18f4873e533d3fbf67bc172200de210ddebf1e35ff1bf6ab0e2de5a211615e0036bfaf67778ff9dbbc06ca305496a0433d10e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = e1698ff1d48529480e5b0419688d4db827fecdf5bae444205121fd0d0df4233181bc0afb4416e53cf76c10a7ab93b1b9f21ce0a9ab0344ef2712fd1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3b89f3025a43d0e3f21221f2f5c4905d55f14739c01e8adf34270f56a578ad356189c1b38dfed105eacb14c618bba2e3cc7071967d774b42bc097c742000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 19c324a99f067219f3143e75c538cf3b9d1bcff9af69c8f44d2bc14ef026daadc84ac27cd42b1a491cb0716621844a551dca1b4dc8e80aca5bb0f561e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 7fae693cef00499fce3a2dcc5fe727f2a0d22cd25579fcdfb006fd7ad9b60d6ba1f050c59b5ec061827f09d17a8e674a65e79790e939fbf7da27ab5bc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 388e0df3710760d3fcdad1ab1d31926f0230fa4fe17f8a0e63b68828b3519197a9c546cd8165740d3b85e74c673c2e1cb80b657dec8056ec0f8096a60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e26ff64667dcc8c960890610a8d8df7be42c2d6f8b2e4e00a4fe260786df4bcd24141893341e43a319862b2bed8c71fa170927c4adaac6df4556db18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1c0d3ca8395a05f1eed8e218bbb1bd8f18e274e7abc609d6f21c72bc938392fe7d7a6079b48cfea405553be8af9838793e3397a78ca34dc61571689078000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -513a22eaf115ecf79666a081e16f2dcf8f0eb9275e64d08d0b7f04cc62e98e143a9e4b7713ea56b1949fb42f24cd375221c044fa778251c2b678b322d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -43f9f88bced1ae081a7c9a041c171aa7232a188c0172d6d3ece4f8914d154046d85708e2485d43d4b5c7f52a0928b4827fb8d0b33531a5f0c6a48a9bd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -923356c409d17a6d511e7e818f067a177e47c0a7f26ac9a76f0cae85c429b01fac2081157c109227d46d11cafe00495c5509b8b081aeca20c606d75900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -37aa0b9f5a20583c5d2c6518ea54d6faf0d63a87a933f52fadf559234acd426c045144bfe22eb8414296637255efad18f20c98d0d68bc9ba27769d14360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = a02b58571edc9bfb7453a0e38b6d7918b126111a00d5ab1cbe3da59b909439a0ecc61a25588d29d36bb6980f7975e928ad26b1175b48348b0c460bd8340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = d0cf8c65d816be77cb215363ce328c1088888960c5460d1278a747357d7a44df8cda8bad480b5ea3daf5655014eb253116be7b8e9dcc12fd40edfc37800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -23749983a144d147bc35becb5720a490fa0e8e3808459b3e48155be953e8682166ca720a2984cd86b6d4718646cbfcc33ebe2e980eff05ec316d0b2df580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1b54064c43406206860d48998ca1588d6c16a6424652bf14cfb8d13669e713310dd52a70f0d6e0617d78297f278e485c3972f2bfae5bcf706555c9974980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -32b14914cb086d8e626a4a1eac3a5b1470b02569e1e6a0db352605216f12a79f245d0e48c56d447965e693ff22ec727bde075af266896c325825a5159700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -b3b3c629be94938448a64c1b12c86da103e32baeb54a6ccd48a270bd665cb4d2427f0499cae204e1f49820aa60ea5c128f50ad6e97690b75a6075f617000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = acdc472ad8e9fc8cddf53d62a4571a9b6fc2f673a11f3e6e35a1a699562c9c1aaabdf6b16263340ef352a65939cf7d2f9c439ede432701008d99f76b4e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1759a2cab2212f21ef69b13bda6c3b3b320a29c9a62d0334ea8afd6d03d3f689d96a59380692a44a3ee12f17cd1a88ad1827224a184d23d2006df0d8b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = a3121ddf0f3a7980f44064c692e446d8e08b2c654247bd08ea5af98cfa0cbaf82529f628b75bec4785fab8198242736c6ffa5014623b0919b95c53a22c400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 783ab2b9d58c4c0d4e62267bd1a85727eee47acf43d0b2e66cf87411ce1e0859ff274d86566d731bf4bd424cf1933917e273466a3104dd1f69602d1d15400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = b1b92c5352d499ab0ada9a2ba2bc6a667d598cf0cca8ed7b6abd5dbf8048cca2784f0ee72d5e729c5d4ff20fc5b2e11f4f30ba8d4fe902a5235415ba25800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f9a17755d773008e0ecedef2df7666f474454c54b088e7183926cde64589580fa74922f99c8b18708aa19fa5dd75d305d7efcab46f37751d5ce514b942000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2c1d4bfd7d6a6632a3be43350ad103743f3ada663c758628e44c92c70e3579f4213e47b443c1431885813874e743ead363d1e4785342849109ea24c15c4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 48886413df621440c0241e1aff57d898af8b2dab0c0de494d46296af92245545edd820c8905173b2c0b944f576b95d45e26bbe297942d0793ac01c5c223000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2b1d620368293edcf80eedf8b7a0e8a775b40a3816a583d69ed235bd061d5ed228f2a2de50ee4c5703e537de7c2a10c9cc04c1fea7149d9510649fac961a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1cc7c1b3102eb0bf43e2c1c5b68d4d62fc88a311c409dcfa472553858002363653a8352540dc74232614a617b8026b9dfe510fa6b8f5a26c8cae4af86376000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -f59b95ea8789e47bd3841c17a237a02fa1de1c01e698ea1fd52289aa5349fa43f0d09268fbc23fe6e0ac320b18282c6151636dcdb29c84e4925e2013505c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -d3410348e3dea396514089406805da3d33506e2ae685c99754e122009c0da127dee944516c04af8f0f5a89dff36162a6ecefb86956216cfa6e772f65ef94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 92a7ce1f54f94a00aab996ccf53137e531f199c79e1fb114af6cf715463ee90272e01bf18b076374246db41a51e9648465d4a77800e4026671bd0a5de228000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 163548b1a1ca23c4c2e1f12afcc56636b96be88b452a392690ea716761b1ddd4f55708eff6c04a635e32dc7c1242620e6de1c3687c5c5597fa570ae44d598000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -8c276618197109d128694c11a3c785058d7c88a95809997aeb553c3c1b0755cb395935b9f0e51111a786c2125c6b8a29aa34c050ebe2a6f218bcea899d190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f993daea0136f9fc35de26a675c7bab421e5b833d701ea93a900e7e952920a3f3516589b4f73a56514f69dd0b27fbb37dee7d7390736955e7d808a7b8d3d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2af073c61f0ee9eb6183ad21edc610d4a6c27a8b81da22cdfed1f61aa6ac1870f644b9b806f2a1866c43d22e23a20802e5ad7fc3fddc544162c5c913ed6180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2f90776995a9729bfc9b68c615657a8ffc7a31ac8ab6242712ad5d7073358a59ba8d9511951b26747253a1b8ebacc4c15bbb9df59bce7f6cfae61ad321abc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -16f26314ec7d96796fdf07980c6a664e13c3b81d8a84393363f6c67b0f6e22a4132107c41678296f89039f168b7152e3cfcfe0d5513092372a3f331f60bf40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -d8a5627cb32d8f63ae9c9eb3f147f9bf4306efcea2f10eaf63b7c2d9fa7fcbe09b847857d4f60e7a91b081cc60fca531148907ad980f486fdcf28385acee40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -36f0ac29cafa342cd9f00c3b83057f0df4f1da417c60eb7fb7d1c40393e2d99ab8b43a97b5081015139317b04159ceab7ea6e55a20d4a5c28f60f98fff98d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -21c2b20eafe04c06d7b23591154857a17cff6282b9078d03104513498dc77d632c23d7a99934e8cb5ea05937cd2376ba105efe0018ed780775a72305ffe3980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e3970e72b0674529411b7458ceee10fe9d549f19b20e164fecee566ca836c847399cc7866c81ebe9fe8e73e71715e9c8844e7f0f4959ac395878dd64178bf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2b1ec2e4c93b8e68a4c5a0183e2975e7b56478b98d6edd8020691bc0fec3fe47e34300ebb83862a51beb444be8103c1fc3504eb14423205a2ba6eeaaae9dd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -30f7f6f577f5e4310c5dab7e2c90e040eaf0d8bf34137a4a04bad7b4cc1db45fb1482c3ebda69b41c107998db633412cdb595f69d0cd6783c2dc029ae8e21800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 26ab4478fb0f20ed7bfe05589140254a34e7b1b0af2812e393d8fc0838642f42bba70b847d4558465388d268b89a27ada2273e63c1982fc14c0e24891fcb4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -e230d1317d3447a0854fd4b2149f307b747a84c6023658e04a2b9596a8b210e578e876abf84673731ccb679901136d5bdd72ede2da6ddb1d9957f205cd85a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = cf1308a9170df766ba6499e378e156af0c48fd538e3d0588f1036e6e0c2743c12efa020972cde23420a6e67695c971cb5914bcfaa46c7f8f50830a28b2c01c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -f4bf3edd5259df7e4c226302ca06aaf38631d07c6c4bea94b95f0449e6e869a62631c8ea4af398b5ffd03bfc9906d1d744b82eb0edb09df99fdc04fb5087000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -32ae9c6dc645a78c2721713cf4f10d811c965e390305e04f003d05f0ba858e3ded6a9000b0f30b3cd30bcffef520aed751845591ca734ec534ee36ca863d2b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -5e196e54ac7cbf4631a29e29ceee01d2b5ca391c2db5e8adce22e3309346f378ebe5de45935d728544498e7b19c06f0ece20aeffee3a309fc97506fc83e2b3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -b0f4fb017ca8286f4df6114bdb668553123b42f4df2bccec96a3898c054dc5cf772add17e59dea632291e7fcd993b0a1d22a7b8f5bbf83dbb5fdb587a9cbcf000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1fc7c7a7f7dfd1320da030dd37fa14b85bb12490d799e7ec7976dda6cf128c7427843dff3a362ca01eb6debfcc8483f99447e34686aebb581b70c274f7533fe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 69708076c441b6caf5495f2380bcbafb78cedd8fc8db9d2f6787d1480832a6b60f1ac99befe92609052116a767024f881781646e209cb33135bbb40f1534f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -6760d448fb451b8ed42544eba4cc95bd6825c290631463bc9dca6a2aa14e6ad3c220f669122d795839e1c8bb4e992224acdb59d628bb02a5aa0cbe3fc089150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 5d6dd4fb5bcc605d1f9acaf14642cade815b8242bef367e3ea78898f3ea1a36e34c79169cc827578b5f15d4ee71380c59709b1becc19adb2d3fdf6b0a365eb4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -38254c89b4d163a247ce6896d681f9de0466ac6fb1ff64f63572bb72abef752710899e1f11beb8f1afea33bb6dd2a06bd6741cacb6f7e8ea4f2c921faffa9478000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1678fc0cd096fdf111b32d187012e03b2231751fd463074574ec2f11fac435fff827e51bc6334f5a678f59aa5f5424937ca43139d2b2f71212f9e08d72a2f2e8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 58000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -7ffc62087e70288057435e7d2882b6d326327c5eeb54ba862acd05b5bb96a637a0f9a6ba1d1d888cc047935c93ab119aba1ca11d7a54d8157aa9345dd89b6e80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 44b594ee4cc298a222ddf63ea7152ea82afe72b48e84a6c1292fe32e83ed99ed79af1464671a5649463378132b024954f812a10436064107a78515adb4a2d730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 118492cd8d0ed2e25eb9b56aa2e6b82e5dadc4da71bac1f55da5eaf021252f5e77e44e97914136d81e344f522b16fb42f6399b1ab2cc8de520e6fe1e6e96df8e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 22738b08fd31410b159d92faf7edc0eb3d155abac0acd00b22f2e57ee3656f9fc27368369f1c039f6391a2194b6e6f6f2d646c8a5762e3df9076eb1bd5971f580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -4382aef6024157d2e49b0c619ea6ce5f137b7266d4e6f77053fc60eb772a00356a335fdedf915b3917bced925ec15fd0cc49b88dd4d929edca11616d62505a380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -20198569e7654650331a55a9afcbb0a55cd3eb6d16c0f974fe51a84822f8f26a7bc764e535353e837ad2941161884621879e25ec00d4b3e2cabfdead89a1f4c40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -23f54499fa6e7541d6ea8b8b5d7b67fea02515c032a242c1ed9d58d0f246d5f8d5f6d8597f8c25d8b79421f6f059bbcef464539bc9fe86e245312b6838127e5580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1348577802b4a1117228cca3d3be0aa1c1982dae31d98c7e7b81bc58f210a02312c8c9a08a755ecd137c03ea70c6f340f9f7f5914577f5cd73fb06e7160712b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -99ce8f3b4939a883eb043bb0dab55fed83d521a4f25ca5455873e88449bb1302ad94437649d30192dae11c1a5ead98673a52adfa05a979592bdb79a05c9b5db300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 9b099ab2b2514ba7da6b4366807b3365dbe47b5f6c9568527c4a2579e63c1942df4436628cd49ed7a03b77254ad56af2239cf4db6610255cf3852040469061be00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3e9bf1154d31add35e65c42a7b51676a202e00b735d142f0cd0ed1329edbaf44954ed27324f9e4e8c28ef9a43562ad7d1acad156f443513d0559d7db5f89789ea00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -665047a9ece503625deecdd474c25db4a40e0359704863b17530f46e3ff6772e5923621f5531d7119672587dda42ff1024dd62a51ed7a44add62f6ef545d5caa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1ce3c8990c306c835de054c4653fb5ee2b6505ed960509bf0e32abda3158d567a2312a931f15e35cf66d6dc4262c1d2eb6b5ad524fb88bc1bd87643faba267bf800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 160fbc927dbf087ce08170188382dd0e51dc55e0e88b67f18c147bd936bfde3ada7f42ef560fb4c2a38cf204c35513cabe7489cf679ffbac0e2e6bc75056d01e400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 11e0768d4cd9ff290f656309a1aafabe42beedaea17b21dbeebc4f94158af9d70c4550aa353ec2a989af469022df73a4bb69becf48f2f710e2ebb11142a61ad97800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 28181c50ccf79180629227b3e026d738ee286089453a17dcad8eab0ab1aecfa7a26603ab46cf111bb120fc50ea43b5d9e22815054a22bb70377e3b1e02f3fa88a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -7e956b5052c0ae2ecacaf56fe1be15e054ec5aad0b9c1d8c3fdd84af3dceb3197338d72b76fcc9ecc5c5f4404ea1ec263828719b29407d4faca3886fffa92a19b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -778ea399fac2aa749e65160be226eefbfc02eb4b674ed4d295cad58ea94975514aa02500c20482eb98a8a63447805698c49b78927a48136bd54380e2c8c5dd514000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 28e8e5c63b5afa443aedebb74b2f137bc1c7500f3dadbb25be89845f0917af92e42cfc210c817bdb100b986ab71711aa3dfaae61c377ca1aaa3c2d2f5f571ad24c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1f904e03dfced1d3fa565ca17d03015ff80f4cb1219927cde8b1c46c06243ee8672ace58d58ae75d50529b47ee870a5a6460b7e2df4b5c6665d3e71aa9776c160e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 288745565edfc017dea20cf7ea538e80454d3edbb2869405b623176bd587d62b5e42c1e41e5447c957801c99190d2ce898b7bc5b31fec8aa3d1faeaa3341b13548000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 7cebe71bc4ac92a1f6a4929e8f85d4ba9a2e399e2a92116c44cc006b932cd93e201ced71754290754d3989ddadb5f65d4d4e914c02d6252136b02113fbb43ac368000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = cf152a7c7b566d97f65bcf4526ccf0b8432baa768be2ce9fc58407c1b157fe18344b769fb0e4730e5d97ed1090a521bf082746d9daeff26af271528e0217e5fc28000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -12c0c20a527bd2ca2ca4f15dd07f248d3d58829572e09ffdcd17974cdef864264b4532f9499b20dcb50b3090bfad60e69f07ae45f1e8934989bebcb9d2f0e46fda0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -c0c2a12f1ea3e4f4c5b28f2ddcb438adf9663b36ee2c39e5a93d985910a3ff41a87490dcbf36ea8e7495992dfa92aa60c6b906409e73a71a682270e31bdb0e8fb80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -80bcc1fc4b6d26187523e3dc5a01cfb777070cafea95ac54e24b214ef47110ec0d6e321a0841f1af178fd35dbdcd91311b77e994a702842e06de5b87c273187e700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2252a0874e6fa6dc2407b75c54701be3d9baa4e8d1ba3f6913b522a965639fabaacb9a774e4d3ffeeb3751d27aaf24ce96ded8e747fb0bd4a10abbf0c7d19566fe20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 18815efa4f4b4e5809be802135b944f64b894e560da9fd69e05f1f60c37b3078fe39555300153d395b79320a253d017f7d8df4daf3c06566e8222dd6f911db88c0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -affb6582a587b5e23c2f84d713f72c42da09d50d698883ec470d8549fcc6d512b04d334aab7b4051f4e73459fba5dffbb16951a0bf554282f5e9cd32623ba538c140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 25f8e60615cdf5a2a2234ebc0914aa747039e7484b2010d850c8fbab93af72673bebc3e52b753dab4e4ddeca736d3fab7187b45b1e45a7521fecfa705941dd8595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1b7af3032f5ff43b2ec05f7f55e27c5c7299efcada3aec926fc45c2303ec1e2ce40df3fd18b14096283e9b6213b39939a61519b97a41d394ce81b892bef0a58396e80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1aaa12303f8e3982eadf6767607e48a7cd625c4c25527f7d09d5759011b7db7988d5f5efbb3f85a5c80d307e792b44deb93255866164a663e1e7609b62879d9e8af00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = f0d0dfb567eb0ac97aaaaf9eb082c7925f5dc64fd5d818a8b50a56786208155e6f0b713aa9545f32edd4a9c7a5bab91656dd66dae4f6ba8a1cb72b96ccaf17b493700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 36b636c0e29b914237427a6560e1bdb6a3e71b9e6a98fd917e29a901e03abcdbd554e3978d906844926a97700de822a60847beaa51c9ec4850c21d6c7047265c83000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9108ed7905975da1e290bdd613a17ff009c083a2bc0e95fab7c38ea5b1f0b055a677f73bc163b302c66543ccc1794ea7f37485956b563dec294d7235a7b05d8a85a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1feb728ed9ecfc0a44828777c08aec0cc964851597e9014abeca8983c780d3f4fba94750889d47853373342f4bb0b52c8874635de671ae7c96139e6a0f616349239000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2b3351edd9a73a4bf4f3fc29a7ce664aabb7dc4151c828a12e4d46d4ca4910ced0411ac5e3b4202f8298f71cdd4b8d8187c1e0c21c86ef8e8c9ae5da58410b5fe9ac00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -fc5a8419016d2a7be170a574cf83e3ef338c46d21b0e20b824c1404c002f77b5592fb9838d8b8df17d022901593c3cda0265b19656f1bd4a7eb744b31d8c013d662800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -e30c0590ac6a9fa20d8a313f2ee1196cd758f9241285f2edd88af1e885a2bd50ddfbf49414f445838b44997bdaa00ea7e0b99d580eee7a5b48a397e68e9e156ed96000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2679ad0c3078e4518b83359b300e7831538aba6e396e6cffde171cd83d5cd4d2e07f7caa650bb0e946078b108fd162d7bf99481a8d470e7259efeca79855f7554168800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e7d769a1d9ab7667bf28fb2882d1e026319f4b8e06520308d8580419569edea344166c01d31c49573e7ad7d571080f22a740ac074102ae709f85ef86f285dac0bc11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = a3c59ebb4943e99803b851d73ab9eae5d83ae8570b97ca72c7770e6b4ccc6ab265aff5459e05a71766d8886bd286a33eba3ae4a164af0543fa441b327276dc035ad6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = c1b3bd1a0fbb17f47d0888df16843c3e6d30e0fcd6379788e37259fd1df5a639634a74488f0936f2609a2715b5a70a094ea0a4207b5326dd741cc5baf986a39b127a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 21a8ac6eb4b76550d3e31d28a3802b03cce1e066b43d0c76b03abb7d2158099c7f1f3ae97cdbc9461f0083e493ecf768ea4da463e59b32749cdec861abdba31eeb0be000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -6a5d7f9dee5e115e59360f845e48df06fe67b5766b1a9fd5d6f023b183f14f1c809e929db086b13f38e1bcbf8d60550dfcc43d3a572efd6575630c6690a494a11374c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -cf927ad55b20d854b6f399abd7d437db93cae5ec89d567221c0bfdfab583b92f816d2e34da3dae1a71ab9851bf384d0a889cfe1685abc352184d87cea6636cd6b79e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = b22b667b98670e9f21b7b2848d6bc484eb5af058cffd99f9a22065a4ccf25f040d1b03e8328b28a409557ab2dd7192d30d25067f3b6462e600847630c7242758397f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -32e4abc7ebbcdd4958d18b3e031f28c3d5dc5c98baa9c87ed3817bb19cd08af256a181f0769ccbf796ae1a20b717d2c405d6f340ebd53912f855d8c59b2f8e22af1128000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = dbf0dce0895d45f91d6dd1d4d2d6512b3e0d64d609f4eb3a4d155ebb07790fc707e3b859f3904493420d9944a3a0ae4c75970e7577be5a109f867e40046bb9cd901360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -c625309d00a1925c755a94493e8771b933224b68ce19d0273330ca1e972f828303cd365afd690ff2bb86fd6322d704fdb487682dd6eaa9fe1ec2f46cf6d837df3486a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 295075f1e58871ab36ffb030aef26f8d56efb0a64b28f9b6afcdc5a83c5cb487b4c25989b1b6edf9169b86fc4407a4212444f6fe5f828039e6963429d28774a24e2ff40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -4afce5aa413a164fa216875f7f9807855c0067674b4889cace35ef764099b0c23861fdc8647a80d8a0b5b8e39b57c57681bd47bd43e79cd7bd5cf8cf28d9d50989200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -4a19ffaacf689dee2ef81ab11ac8816a1f16aa937b9a9529364c67b1d75af4d7106ce95ecdd8a17b5bf59cc429c2449e3c1afffa3e9fda48e83a7aba0a8aa660de236c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -41b8058270aadf4bff9980100b3bbcb38b11e0f73f1f53565ab8cce4801df130b5725809319eef07bdcbe87c143a272162602c67b8a9b7e0907af7dd4c176ceab334a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 180e9dea79aa76d6ec0be979186553279882be2805885f759580749322253bef770db6bc6e52903f328a306c50d7832d6e7ecf0e46c19000843346c4cd41f9eeab6f2b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3e12347f609a12cb34a269f346af04b8c7850e58ea56607ada103b11972d9aa38893a0226b4abfdad12b7c474496faf5ae3e2211995d3342f17ca59732a8c788f7cd3e80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9b39e01de2adc1dbc620f828eec98e2c52c0ad9408cebd9246b9492cbc44184d0287ec448ae9e154622f6b71d0b1d644617dc5ce45813752a4647a8848f73769eeb27300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -9acacd3f2e77657cb12fa0f37d1d1ef46218fdd66b655c57e34afaf48870d6123ac4a0a62723a9b37c7e3fe57df5e6d5eae1adaad9a481ac9e38a868ab8fa8f749209200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -14809f99f79043e7e8faf145aefb298080874305bfb32dadb14d96e8dff98fd3aaf81fa7673f35608025452bfe8dca32707b7bcd16cfeb3bb83bf55f1f7759d0ce9cde400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1fa8d1c9aae763fbab93c3bfee133ef11f03cbabd46b1a450221a9970ee80de126846c379320b678bdb5ab94af0c805b034f5d5376eb8c3d7dd4f5afb8bfe340cd29c1200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -c1d7f3758fdb9f444c86c14dbf589ea125fcee0e2310fe91269385e5e47d2cb920b78f67d47d795ec274e2f487a798a5619f531e6d878dd9c0b9de3621a6f4559cd1dfc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f2ef96b67a682360dafef4683a0c36f3772a63c8dab54fd95223c1ee443a993d6d8aea637a9215eb86b1ddf34c10a9b4d4d0fa17b7f636aa25314d56118d16515cac8c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -17d3054dbd1235b6b7467ab5ec0b925589524a94c551c9a1c67af55ba5be88179a00cb9df5fb7a0687e322554580890c867f6005a3bc008b82cc5ad6b00156c36188847800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2b767c295fdc9fbaed6cfd45329ffd791b51b40bf20d0e50db7fc214f8eebdc6cea91ccb28cf134f4947afb4c6cd039fccd61c877d5d262ebcf8413752c8a9072343ec0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -55e977cebabe0f9a6681cfd3a8d01b864ae8644d5e54b93288cf5dc6c711c6ffa0535e39810c39ce2bcb396363a3c78a9e24ac24e206c992d9244914466e76df4f1bfa4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5639237afcffbfbcfa6efd84e0dfe959ec120964bd350efab916df6779ff2932c94ce4195b71445eb6062abca4d12b3145edbcfee3198ef92833a7b47925cf36dbd16b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1448c178094d085b2e88c6d594f9a3e4f283a34d63bb0c255aff97ddafd270413db01d10b6a332f0ba09fef6f2ea589df7afdb31e0c02fd75c741bbc2eb746e46878b8a2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -136e2759b393dd81ceb6d569e50833b4da1ae16eb952604c1a713755d9a76b3946e29ec37394f8ec93d3c9b398cfd277a98f278b63e0fb53e4869272c0aec00fd516fe4c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -6dea4d9a634f1879a164f7c93e3d0b878b8ef6ff49afcd4f90f9b498e2fe3808612a6d98c1df3e0051ea32cd13f680bf03aa539d016d2921d43209e396d305fa8471d18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -783dbb7e5e734e9e529a941de127cb954ae9d88f97f33a2dd2df7a9914305c6906687578aa1510c0be4e5929949a3d245dbb11e7b5323871edcfd1fdd2d4add3944b2b84000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3489112b6caf64a12f1a007d61c4e5feb9e6eea1a85a3dc2c8879c858e244a81ef78ab4492cb1feb75277a48920ecfd85a1e96ff63665801cbe5b4abc714277247d7822f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2d6b81a56bc3dc0ffce2901670d6e1d8e3021ca2a2689bba640ade37aac38a52b1004e98df749a416d699725f16ab9e30f9c99180472b8c98d978d7b4af629bb1c8e53c38000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3295472d95325e6bc0efb21cccbb1a546ba95fe6a6d80269b8fa7da9034c8c5018010c412b3811b22f4c206db41d8f7bdcc8b9f6cd6b445d5da432f1264748c1f79be6ec0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = d6d06a2885cebd9b1346a8b89feb4dd02cc81b82be3ecfba2586b5cf9123b4053eda835bae0127c1b7c947c9b4baf598c8d72941da1b2bcd3e4167f022557244524a48970000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -351082991e88cabaad8f1cc49ac6952c5b2214b0a72d9592abff4020f9b7c311164091383490eff5bd804be4e164f55fb8d8dfb81fc5a0b26fdd9dbec8693acfb6c19e02c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -b33eadf37428933c2fff3924bb8d31b4ed4c21aafed1b6b8c8f816c24a093e3a68bcb88bd0e0dd1d3579eb504bffd0c38263746cdb3d8fc44bf36fa1a11432192118c86a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = da140841b03751177eb5ca4430bb409cadfb316a40adffaed826d6cf4d5ef92757a727eeab5754e6f2ef8cc029cd1c339321e38f5da03e8096965cad6616350c6770ff7080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1f6302078f3414043c023607c4a7294c751554cea7ecd6104062f4ca153608d8c36c2db671b35c6b5cd6b49293ee5ef40edc30208d1358c228c7731f91ae2076e7bbac1f40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1a7148d11fe366d6b5fab74072b76a4aa690015734017aac49bac2a3d738d63c2be509f0d6d63348a06b39814778bd84b0a4206db11bdcf2ecd6bbe1403b8f27d7c53c9db00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2c1a96171d763f927a46c5833a5a2ba671cb2e3b89bbb64b4245b0cfe17523f3c6929b7c374c59a84d7d6424a8e3863d5a79686824d897a3dfed9606550366c462c30f52580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ba78600be661666866fcd91dd5ea72286f7d3af064c873163c3f3650cd6e22315b5f548167eec50c71cec69216351dc61eb2bbfbb0081e1f9085d93a1e1f454a980bd5f9d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = c3b9bff1345d2fc68134c7b13e09194a4466341aa7845133c4293754648e5b03e641522b643e92da37c7cb745c32a26e8253da823959171f0568815ab3d1397332caaf7e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2ec731cb7359d0f8dff70a867cbc41fb962cf3ff08f3dd3ceebfea6218b09d9f1bc29025a7e328e9a0cfc4d9f2d2cceed509282202d0d12c50b0ae48d362d7b25b5b25eca200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2ab64e4ec8a9defb5d76b3898a78e5301e1ae2a4d885e876577bc4b06edf247d4c6e15bef819f33c01ce1163c662f8492d9c0ea3bd931e82cd45fbaed5fab14d5fe904fca200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -5ee6e113014974927c21f715adaaecb42a18997865de2147d1a4cffb616b1030763ee6cb936166221886c5c2b14b59237dd2bcef4642ddf49acc15544aa96a03957d7898b800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -e66d111ff788fac4efce5166cf173987441e6c30e7b5159f052a46810ba84f9bfdd415ba2b299301443ff8fda77592dfca4966bc0802044efdaf3d187e2081d064db0ba24800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 250f805869d5a3a55f3211faa1a50cfb02c01d9677a7d59b27aebc8da12b96a3068d9d450a8d95387cd19599364bbca3b74a94a2ae154e80670b7869f3fb0cfa6de814a5bb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 80b4dc39150382b976d880ec95fb87d976865b560cde71bd6dbb55f8aeeba51477332835b3b38401183a8cca9b11a72723a0411ea77d7dd5ee43b5d86204f7061dca5858000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 5c19c420c0faf0c6b28da5ecefeb07a6e898098b4a2d782a672ba8288f36f775fc6d4dcca0a46d39122b957188eee10f518a6b722dc07e27a4e2d84f0eef058d694f7bb7db000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1330107703991300e2b0e9cb667085015f457c19276903d93ecf5239f3edc4cd1711de633ec8488e7c6825bec8cf5f737c57a4b00c410038af1a7e11bc0e129891eefdb102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -107ff77dab6312ff12e0df30bbcfd129228f539b9098961cf3d46ebe155b6aa8d6009eeda4513328c296a9d14fe68f619310f62885b8f00be3e7345083efadf9a48c809772e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 6b45f44d68c4fd7808b5d4bd9430840f88b29be75ed13be089988b58fb534af75d5bfc81ed44c9d9a83c029daa2439c260f658f4cdf3f35fce14c388211d503b7a88aad844000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -f83dd9e8f2b08778ad3db0d4ba57320177d9f3d0d7d5732b04bd5ddba7712149ce5cafa880c4a8f1dc301b262dd16c5c491edc3711b80821ecc9417bce5c2364d6eb2c02abc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -a60281db3202310465c7d532dc7b6e2401ec1ea028219c44049baaedb47cb13d6d770c5e995b97996ffc1e4ca821c80829c5306c9884d60095969662cd9f14db7521aa852d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 16cedfb0f0876627514a5301619abe3742ed5d0d88d806b58f09372ca0b26f7f00dcec5339dc3fe545356ae96f43f24e85729388faa4563a85b3fa378998d7b370c5031df4f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 23943a41618930db0403e2e314db112efa19e2e7d481f0d5f1903d08998e0473c2a2948e867a3a28b53b66ca8c03f4f38a3bd44cffeff298f478a1a4f373bdf31d59770cb3b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e1ca924b3694c28ecb5412542175efa184da15c947b5ff068212c4a8ddfa6813f6c62bac2f8cea20c37b0389952af6ef88d5e05f90476368055dc39f87f65aad6663720f9ea0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = ca7427c2f9574ba00a0904dbcf18be5cac9ba3b4fae6ed6f73b435c59f0cf284b076be7e2200a14c22f7f62a378a16d4c18e3ff699bfd69dbbbc1aa5ed700731ab9e8bd51400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9da975db852f32afc04bbc8d9f8915f389191339b0e5c5f6dc0104acc257f6a0912ba8c388e0bfd3bf647e7a8e135aac45721e3875bc8f1827f3a1afc2e2f3f81fbe609fece0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 629b3cd5370c769995fa8fe925a793aef5279d3de021caa1f887c65c275229da8a8ddc41c3cbac7edff578b50f1fef3da7fc262a947cdd0754d7d4dd14159c9861564f0b9480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -686de013e6e6d5f3b5c5461b3d6e0f4fc1fbd6883bd747be21ad48196c955ce6f788d8f76996a9deebfaa3590b58e9132a29d78d9be45f87c601eeb0da3ea8cb93f64c7dd700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 78312f90b110a6f402ddce36b4e1a0f61640fc90b6d8ff0f668c2dd90b38ae6c4ae28c6b541794e56288a959f17e662dd49db425015ab982a7a46a52d6e7e68ac0759a4638c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2b529d665f5425d7415dc293a97800da79271b47907f8bdda4bdacd2cb70c4bb75c7cc3cee7393d85a1e3545671815133ed4afa7aa4c7dc6024b20414199e14942c1095635a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 39aa0aa7c00560bb16c8e15eea885c9b20e0bc05b6c3fd76bdf47d7cb5c2e160d95be47a69396d9e5959939c60a8067a2837d05d86b41ec2d69278e882cca67f70184394279d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 4790a2f7a20e298c1a8da49cc47be214fdffa14621ae49c630e094ce7b6a4ad313867c6d550f05c3dd0b66bfbbd50375cba7240fcb8f36733aa7eaabc79b4aa3b8352b9a4c5900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -cb025913fffab193e8aed2ea62fc2a5b03fee4b214242d112b3c2d5d6fa1b53934fa2ce0a0f7e12967a6ee056d411c9e5b17a874eaf286454fb929eda796013f11b9c86006f700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2bb87cf96148492e4c0759b4ee81775a4c851d560fc32f07b2a9e48727380ebca6a8c341e52a3a528e599e6564591f1015e322fde39c47b9c080125aaffe65be9caa830b648ea00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3e4ca5b3236779e4d2d220c12edeae8e925ac9e49ac7c8a0f0e0f00f546a69ca772e577a36d408726ec22c4d76001b34b2c2b5b310004e88bb046886eb75ecd8a2cb282a1d3c200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 5277d56b67ddf63abf468169266983e1187be5f871a36195c90426471b1ba7c8984d993163459487fb4f71d9d1ea9ede81d8620fee702dad92a466779e7ee6412edd6b34db7d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -4792e5a7ad8afc3adc0a5f2e851471b9428c7f6a28764a0aada982b89db2e46f8cc2b6be9f622894f7a831d33f906d41dc2005878ad1470c99f766d8eb73837d50c109afc1f7400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2d6962e372fbe073544223f50bcb028b556b454e938c065d79a41e48bc70676e35f4bdd7be96a5a401aafe60b31f27b09032bf69a74106e5a77de2430ed5eda515e02529b6aa4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5978dc9261771ae842817bf5df722ff2611a228ba85e60496097f2c089ea5c47c242e2c74e53739f26962836f2bb39e804f869f8334a00c4aaacf18efa1241cf18d787aa5465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -c651dc669449eeab7891b1e12e02c95d2d8e9cdffb98849f4ebbe1a47a6b5f98e4ecfdee9e27e654c4129d56b3b8c1ab7d35ed8a611065d8be050da41c0d8552ba9978a3340e6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -7ccd4e2babb3c56e1d280a7dd9283ee7afeaac9da2d82fd7154addac39ef2ae69f471532410ab87f1f9ed80bf74ce9ca4ccd7069a91cd0a73e473b8cee3f4a7bfa68d5e1bfe04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3b4e67185baea5a158cb21d8192c9aad9f885ad54c77af3c114af737ea6f1d80d909969f3c657a06deaacc2ed5e5e310f23a97521896b3619ab331a431da7e751e5041bd3d7e96000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 34f608a38e7d90cc7973ed23763c170566d44a57bc279bfaa29c0b5c356f5df34c04c7d3a0889cd94704bb17fc5c13f1ba18fbd4603ec773bf8776011986cdf6d9f1057c5093e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 799e9faa64cc139f28e8bc10d861a3b5565bf2e4e8ba8c860dac6addc68c47d21853add5dce84779c9d3cf5d6ae7f06b111f72caf7bc8cd89314141c1f2cb85577cb6d04be9db8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -bd2f4b3782ba0e2662fda9138234ace0ae43dd5823718552cfaae7e19135a32a4a9534300bdfea4b746a97ee1002f475cad2f5289b893f62bbe29944484fcbb2b0659068829600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 156c81093ace55c989716d33b8a02ea545a044447bc325bd39d8c8522b43e7086919b048c2f41bdd1ac77597d500945ab708885d5607d4b9d0a80cf2c9182634cc63f47728d5198000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -c1d329ddfc5c4961ac022cc0a3349dca96bf5fa48792e7c8fd29e8ae5e79de3c603f82b3b3176078cae1daf8d50669f61a1ad05fe7493b67bd1d8e7931a9bfa85aae6d073033d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -5eebd504cdd2058d3c24db7c240e1aa7427adaab2760c28da915623c03e53b3871633a6a753dfb7a7157aa803d1daaba642b581a0b1cebab4ac39f7a5cfd7d8b1a879f4949cf4a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -e8465aee0bb16d6d5c4f04dab98c0f9a17b36e4e2465a150f813448c6e5374c2de2e12b818378c89b9111125975be5a6f7e1e54d40e730ea3d645925fdcbca2a8a6dadfef0287e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -21aa19f8fec866586d444adb427d391365a09e10e3531a816d8ca0118e79e76fd6a7083313440f7a624539a438a4c45f5e75d6c2185c22a98ad306d0cd3211e652933efcf5f007e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 210ea978e0f3004a8e1845571e2e9877cc4fdc38b830dcf13f6f8524dd62a86499e5d2ed70f4dc62cd2b44dfca5ea1871b207448eea701b9ec845d50ffc7d00bb4cc2dce638950a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 195b9ed718872ebe7d43093f23f34f1ed46d083aee06ee14453ab6617d7bc075a01ecfecb1bf529f06ab55dc784fc916a02951627178564cb0028b518d8ad6f3015fabe8bad3de80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 5b9f73c8a65c3c7856d21abcea5dd1b134a442ec26af0a0f11235fb9e52d7e2942e040aa9a5cf8e6bd1a89811c1d9833b08061f54dbf0a9ade7c8252c1493da67d929d053a75fbc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 104415d55883defa9c001238d35be5e1a1c4ebf3ad6324688854acc432e8513334399f96ed3e8eb8d8c4c08a044ec85a843093174e63616d726f55d82bfd5c788bf9b5bed1af11d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -ebc9fb80da94d6583093aeb4151a2471442b666b86b904bc1f6da70bc40d860c50c922dbba010ce9a2e07a9fd1e4c68143d088f6fce2e69407ebd473c0eafeb0ea4775c0d8b4ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 4a74847de1da755048f53ea435e7f26698f160942eaac2644f6b77b844a6a9c2a43127aa5737a4d59a6b2c67f52bf7a7ad999ba2da5b5c7be6cc96ee658be59b2e9111e8b44445500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = a04c8690ed005a74f635a9e36202838e2c059b90b52f42e1c77143af69767e4a2a2dbcfb05a03bae1511600fdf96f58006af2b73651eb09fdeed454ee9e5306e9fda5e2339f600600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2dba7f59276b8a6cee44ca30a9437df88edd74efd96407e09389ff427f1a359430f91d298411c8a9c8a6574fd460ecf4d9349f31d2a974e206229cfee722aed4e680a01e72d6f61400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -34f469c119f731c32d9601d45f30795fbda09f5608bb942194e2bf62b6aef94a8b9ef5fa5487353d15af9e7a346ab6a89ef3c6ed4e288f655d3a543b51d6c6aa4762a33238f7de2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -8a8335bfd0934d96e10237e17679f0dcfc807a4435796f6a853bba4c78de7c7ac93da876b1b9902df48f98092ffaa48d82781dfbf92772c7cc5cd0ad8617543d945b0ba8d3cfe7e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = b0395a79949741918a4033cd1e6396ad4b21a6029146a742241eb6c30c472abe43fcb6e4f45e22e0a695f9264a3142e82391e8e3260da4b2d212ebf69f9fc39e5a5eb66dad7e1a7c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2cf68b635c366d71d4f444ce4afbaa0f9f9da5a7212dcca1d33512afa4e47f92d3b720f6346baa1c6816b55dc40bfe3140c45a8153e22d532f9ed05b46fe14da30371cd3e038d018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 32e2ae89b6e134b0454fe7ef58d9436c9bf2376de028189eb9c2f5c51260fed1a47930781e64260c45f92cbb9e3b5e6da571be7efe35af9f076b6e9e57a05aa2b736497b656c2679000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = f0dc356693daa13538a76ddecca447dd4e2dc93f8d78e3f941bbe8e92169dbb72705c48175ce235289b05a7279b08534241d772d156322dc29978e717a080ce9ddc6e699976c1d68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6ccad296b3b3f2d23973bbdb09bc68ba103db138239807f343bfe0f7b49cee5a1cc3ee02de50b7ec55f09263d1e0b8834ae9380ddcc0c214051b4167c7defa9286c7621b357a0895000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1688605fb7a03d95abcac34931fa34178f3761d227c5e4218085fef1039c53e65da7c39ac92e6c39ac1fba34d1256f3d5119364f841a268de97c39c65e28e0096f6b740c63ef04ade000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2ebb06a379d4dd885036724104dbd489b0464d86c956c9fa17d4ab202844e217ed766ccae180e59d429a7553dad0854053f1986a588a64b1cd5bb48ec5738b47e610f14de4370167a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -e50b63d6d2e08ba7c284c27c76d4dc9ce98742ee751f7bbd7855e04a4bf5d4bdcf911653976ed09e3e3cec2e873b73d1c1f86fd659d6eb68bb989c26f0b6609e0812c632c29e730b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 472e43f62fd89b37324beab655f45124424322f123406074ac6810e972c6a877e5c196a16708972da0ce3c1c4253ecafeccc5886a6130e2dd2d9f045ac11eefdb0787c32510c34f78000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -b5822caf74d99885e457d0b2f244c2fbf605ad6fa6ff13f4b7e810613559cfe6f03a2a57d5f4853f5ae5647885f6874046e3cff68f79125bb37a68920963e187a1060e79fcfb7ed90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1b0d79a27bc72343fc8abc1c3a010a303001cbe87402f5bde15c1efc5b1f5d7bef437f0aeb49e3147647785343e285aec43cca638247724f764828bf38c3bfd7cf2f1b03a7434e1c30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -b9a6bba2579cefcdabd37541ed80c6c9a7ed16086ef4c31e5f4767157ddcea53e4d043e53fe0fcad4ed233fa262b9412ae079b392182c754af516a29c8cdb8eea808412c7d8a9f240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -bdc7ac394e4759744bf4c4bd32cfe99cfae404348e63a06b77ac4fbc9f9493d60042502853ab924b026aaf2a2a0c71f4b90a0a1862da912f4e9da2469ecabdf148667b017491f858c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3827f66e44556951e02901cf23f1c34243c782ba8fc7854fb9e29d1be4626a25024a3b22e4706080a4d70e9401ef1c7ec4b1d22a1ba2bd06682e8c4a9586db2aa40dbaa41ca670f77c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1b431f24fb6a72273eec6f17a963e2a9669e5fb8a8129c5d4a42c8e27297d369cbf55adafee9e47456514b3e155c06cdfdd75841484b9c7231dacfce750a8efb5ff55b6d6aad58f1320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ceb5b967ab82136dbb948712d62f47f4cc129d7cb87a90505e75ba82dfcfdb6abd9aaece8109487cdbbc989b86773c3693e4350af88b1b9bd29a450291a287cbd23b5baada488076300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 4c7ab13d15e098c4d1dcd068bce3c0999e42fd24f62c829a83be09ecb895eb9908696e5a6a61814a4a6e8e839199c9c3fd859d1d1b6338b8fb2ac8e40723eca21d46480476f5809a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -f656dff6c082d2bfb9534c1230f0abf78802fc15a7cf5075fa6c6b20554b33eb4fba7d99b7d7cdc5c2a7a3a0df7623ad4e74def1ee1c4381c8d25d55597388ab4141925a9feb9324600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2b2f9772164b866739c6703ca209c2c7f3fab556625213aa7eb9075cd9bddd25f6e8532816992d92637bbc6c415e356186390e9726ae5a2d4a461a835450de22e36c84c1297d1ac99d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 71c6b111479be5821e62464e45bc22899e2b665cd75e9f1fd961b8ad52cb446ffcb6e0e9c928437d02490dbd5c1ad464f65132d8f2d01a5e6ec257462f61c87d25cff9e318b8840cf900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3a53bf17a2791baed62a805ea83e8390c24b63b715db9abf9238e50bbd8949b1f2245dfdabf0e277f13c355d81a47cf47555ced8b6a6c84e26f492e92ccc0edd48ada95197618ad54700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -326e48ecddd9dabfb0d77b9cec0a16cea87990196aef5bc2b3dfbd4df06b07d661cc5672f2a0a913016b256ba44675553e7f6dad7b2c1e8e974052c0106e5ca65aaca62e0ef1d14f47a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -26f1a8998d574a34cd12c3d424a2863f52763aea29a6c6487a43ca219787d0994e27f593d085b393ba2be6d5c235f2209b6f6ec0724a2fe63bf0dd278dd7f6fd2bedaf2cf213ab9d14400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -10f3e1467845c667315575465b1e4d22b53fa819faa47226b0e30516d6cedc518b5fda240f085ff9dca4bd9e111b0d61502520c9f0eb2d0b8eccd7bff169201b2116ec6c929d763406800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -77c24b252187db6b1faab4f7b06ec2ee9a2addbb94ef7dc0f3ef715b27560b61871cc1b13c76a5f6fc2a17f05fa575ee1957cc0a78bb3d815bcdeda635b3c347692bbbc26cc060c45ec00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -10a298a1fbf0000ab661a322bf4440d0e40c1c0029c73deda109d9399d2391ba474323e70fc2918724205714b19ff94c3c83cf5ff4a39ccaa56e54c1dabd24ce0fb41e48b9c40c3765000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -102b981700c29897d263a831f9a3b74dc844f659d0e750c3c10afc44e6f8856de057d609dbb58e25f7ce3c81f589e7811ec8352eacf8e52e253f77a66e77df5af27077d0c2693326473000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ac412fcfb459b63ca2ccb116c34d2d924101c5e5956201eb7e499ed5908775a766e22e285f832aa742128c07cd98217767bf29ee0329a1bb74e43f044b77fbf58cae1d2701157c195d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 96e8706cc05189e77cacaaded20d819db4ab7d169ae40cf384d31f38440d4d7acc8aa165ce2d1317fb2b539e026644ab0f1ac409a6269015ea3d136e0c201a1488d349470e690783ae6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2ef3d41c66ee24f085b6ccaa6c746143efc9e68a338b4b18586498759bdf38573fb4d344bba830861fa30797a5c925a6405815f2b45248d64fea87d5db5f2847615e84ad3f6eab4a1044000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -c7d7892e5dfa354626c60fefe8c3ca85d484389680fe0a0095ad6a87d85894d906bc645860a7d4d2ee2cde7db8f9c8bb47b899e5879e6032b0d43ba5b8069ae9d64bd2f15712f89d354000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = f1c970941277c410275c9b8f74ec7c38556a97a371022a770790180cded46ac784d688abb4a08876031ec1fd7fc2e1d5afedde492dbc95e4669be2f4718178193be12a48310d4526ee38000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -d564e66bc5f8870ba72070ecc2d7e33b8345060ab255417274e1f985b44e145e9cffcf7f01583c1b3852463bf599c78ebb84bbed22c3c80497160198207964794a8e63edd4cffb79f604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = d68e68f0c79ff18b7684deecb42c0d71dfbf33d690d12963a71ea7b0eb761ffaa1c06ff2af71b901906ecd2fbc5d0d1a77e07b1b687f7d5cee9d2a32d13a5c23448daafac376c2d3dfb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -22e2bad4ef3548b28f4025ca79bd71b66740b7fb2fd22832551501e8c0169038c0bde07d83152287d668d04a62e8e8d25cc754cac5481960ada5198a5b1fd017d234176def75a21f070b8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 898bccca01e5970734faf2983a09067505324a51bd664f751c027299c6eea3e74dea5f4a5b114100224dab29aaa9dccf8e3e42a6108f53e27f6eeb9dae52d4a48ff0cec5f01994bf18b40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 6ecf477a99c7960abfbf7271716a41de9e86c75d911c154a36d15e35fd299a13266763ac8d41475bb4a2c86922a000dc25ea1e7a6d28d21fe51fa3481b470289e3f213d7aa16e465d1890000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -39f938a7c470afb364e73ca8e882f16df063cb3cac62cd944b960b5da516d4f7ba60ca4202a1db4fed5ae3e18c96fe6a7c5d968c7cc322f5278eb17e19677900896debf21ef74778a233e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 124ca0bcfa1e758714db681eceebef38f55ec09e50750fb52b8443db8da196a7a56afb8a5fb598a27646ac20689e4f5f16cff1516e99688d7e8169c706f3cb33878884e0c1baafefc7acc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2f23ec3bc3037f8d09d2103c18fc0fb60ca0b2a741c1721681bd039684602d845ceb56bc5a4f52bd0100b01544e14dff643f73c6032f61e3ffe32d80ac1a1fea9642bbf15e56fba184480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = f7fe71411511fc4a1554c027f21a78d91c8b455f8de5d3d14b6713ffc8abe9d1d9b6f26384da2dd70c9b96b8fee0d7f48d7f06ecc8a9b1195caf7b548b224e2be739f2764d92a6057380c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -34aa8ea6bb27a7c7c8788f273ee7a97bf6248e0a18c5aa9bd60c4abaaa8b8f9d891cabd2e66893e056a54a2c4a764c3e46d39643e394c9c563f2a86310f072cfc53c72e9377ec43390e6f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = a7687b89a793558933c14d47d2724270b5b3e15b914b4d561ec8b374aad07cb043ef0ecc03bb784c1e7b3ee4d7d40cc22d8215fa05672fde54fe43f6b79034e69f822b98b922c5bf49b600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -201e5e4df48331949c92a02d7e187e9f985a0eb7af85e8477e39d0c0d3fd6cf8a3eb4b1c3aaecbe928c5e775bdfa6275eaaaa3b237ad5e8a7798af47e7fd8ddb71be22d5e35b40d9801d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -d8842d928f85bd7e87586cae8db0fb7a2f9607e53a56790ee80cec6dc9bca8093504aa7db5fc4cacf7c518375dbebcff77b7ee56a060a91032664f3eaa4e20347af4b65e21c4540391d6700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 192851f6b8389a76d81a55c41327c3db88a1e56fc5570d72b99ddfbed5cebf41e3e568624071f21af907e52a8bbe5701e8219b00d223ab0cbf240d80c769d98c5f19ab39a0e1b1725460e200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -c51f0e24ce9fd9d8aa57dc0cabb002ba4df8427298fbe7dff181cdc7a21b81a8022f1ce3b32a2b335ba9bd7e70737963c4f154333e46338f0b57b79583b0663f2f74ef19b2087b9b89fd200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -cc52a0b091a32ac87ef968adb3175cd0410b66c4bc0bfeaf0988f9e49a68c7fe5169bce9ef1e4789aa4930135e5434a8e8975763d803cac108e93ab87033f0c1fddd6677ac8029fd82598000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -37af4c1b0fcbe6b60a1d7e1307f66da7db712956ee34d070accdd676f6e5ea83913e4afd942030af4b008f149986270c7d0702bee22d8187c363720f85d3c689ac881e1d6d20e7b04ac23800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -14ec17b74e3157719f586198898652493d6358e6d8b77939698af9b274aaef2c0409b118693ad62aa4dfdfbf549f5e682a4449826593bff662155bf132305f4923fccc73b0a79539848326800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 8ea20c9658a7451ac2fca5437f16604e7a6b13d1bdbe1cebb3cf21d08148790ae4d5b2e35c79d249c96d46ec9ab7237001c02287c417a171e12cedf229cdb6929951605d1b74972ab701a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -e6b13b3e8d98cf62435d9316d5a3459eb4c7593c953efb7d889d6382c28506b55b11f9dd04e19fcad5594a0bfc5900fe6a402cfd9db6aaba9180db70bedaad22b3bcc998ee26a5714216a6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -d9cfcf8260bfb63ab2c8019411c3a754db9df492e93852a6f4a70a349f3ccf46210acbfcf557aed7f1951de28484624f772aeabed897fb7ee229ac02ad838cb394b8a5b16e82df87fcb9e2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 4c6ec221b98a80c052a35a573019d8f1c977782b5d880d99afd7f1c1acb83d749a4738e0e264358f0419745c52af7b0073a5b9ce164d812144c291323d3cdfb9d1b9a0f485cbab9682bb14000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 38560a04b2f93f5a1ed1b3983ed6c9693c1f00e2e3bc560f7317f366ce9155f39d17f38df617757389dda7f0a03208177d19d8f3f831421872a96dc55ae8c54720bf1675735d797a54a8138000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 818b788a417cf83cc45265217e51c28fc4eed3f69e728347473ee0ef7ba97c2d833218889d1ef5c419ddb3ffe73a6a5adc1743bb7e634915cc3fa02c26ee4dc3ac039015be7b106d2d7f110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = c80ca3c7486deb375e6167b79f1d3baf2d4b32137671a283d3e5a1bda696f25116eef09e986656495c0ab9d000369a379d614bb90e3af9f241ca9be181790784d3910877a6768582be3342c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 128106752d9b8cdca7b6b1b04a8ef879f42307116953e33da8efb95743552dea6315211a162358d9dba7b89bc40be64e362bc14db37fa582fb389e0ae449d90d8a4f8eca265a0ccfa68ef028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1e62fd23dedcd375b8edaff88f6bef17ab4b14a5b0ce93f56e06561ec28fd44c465368f0bec701c02838f43ed6dc6ab0620e5113bbb802d33327fee4e8d401b850fe1b19571fade342305558000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -45d72f15e2a370ae0d53fd72129bcd6d935df6aecaf2d1b73732d8fdc90ae75223add4b43f4de34f5b7254dabe83e4620133eb8d8f80b8a33f4c92f66e6d6044431404c20a58c49b29874640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5b262a4276313435f53dfe48f032ef961d58ddca94bf3d32ee1948fa94943f914c8ffcba1b13326a6b3e1207d71cb5517cceca54ca722233aab85e7a1b0e2e6c159d83fe0a9186122da13430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 25c10b467ee260ce06ac75f100d778f9bdc5b3bb27b2eedf36054023f2e441b385d0fcf6a61eec2ce5e2d8cac639790b30c337ea6d52fc1324afaace745e424e8ce7e2c570509dc77ca272de0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3f09597fe3bee56b66cca04d935b2702e530ba533fcae1e8b360b2e537519e3142c8893ad74f47070d559430826c885786199a9ed87d71dd417a76ab6ff4f71c33d8bc294e6a135835af7e260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -964c14ac2a1a8308d3449071070558bfa87f369b670592a6713ad73558bae7ed8a0a9b5e4870fe28cb3a56069605751a5375a82e34ad11d9106fff94c1904981f0b516afd2a0680bd9e926480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2a5957dc1f3ff0569bcd986534614938b6b9da4a795c1165b263f218cdfd17e600ed650ea52b1d57c74811d2e492eaacfbd4922d8beb8866d10b7a9ecb7d6e3f5314ec4b153ccccab2972ce80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 320b5644cd781d204bc8ce7d72531c8026c40c6cfcbfc0fde6be6992de277fab8574b17c8b1f5956f0e2ec4c9668d94ee2bcf709fd54b5dbc180c805cac7a9b6b608f3c4c807bc064c49f5d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2c55dc669b26d3c44fd6ae05abf8dd6cec67f6565635b51382655ad77c1a55aee8403ef0992e7321606265f1260e9dbaa78b3a7ff1a3316ba530c48c7f0808b7d5149b6d0d86649095fc51e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -fabd2a24d083912d1a7909b73627d861123a665a0b4768e7fd4793676a3a4f6a9981780ce666d3072ccde7f51570844b43fc46dd59f0e2964aa9d3715032a3b007979752e4ad4d67a6eef7b300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -8e605262746a3b3441023494e1d06b2957b33fdc70ddb6406f40f8a79aa198024126426139e6573db55624160f7176bc7b9883627d458c1c52dd64b228fd54185b5f8eda2c234fbac2266fdc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -150a6d472f5038981e0ede41aa4d1ecad56cdba9127b1553fdbd4088b354c927cb8e191ca0b6b4664b3c72e5148692d2af6fb2611a8f4e749a311973c74203276cff67d1af9b767d4129a947c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 654f5f97d8827f46f481504bea489a0aeebfc67f97478bc769365183de8a769d9e0375c0d940b2f13005df3b0633abdba9fc6d8af7705f55cb9cadc195ee3bc0d513802606f8c002b8cd367200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = f8323dafcef2c0b873384108cebdcd279580c8fc23216546f89d9d6f7418eb22bcc10d674953f1020c07fa77920bbb9968cbcfa13443f6f9427ac41ffa8453113b12d2ae7d9ff54a5506c810800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = c68d97fc1916699de0af674abba49642c3a6af6c213a083d529883691b8fc7ab460ae5c7a92c862432e316c687bf35759bede9c0bfb05536d96bcf863afa4eaddc64cb1caad0cd6c07f56717400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 14e59f0d3b0daca2f39bf240f0bf077a1c1d0d1a0fba0813bea19a32822fbe6e70a58e50d5d88b21447563951ee0d92d1a907a25b979b88cdd24800fd99ec926ebf4688fea4099d5b05ed1829000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -31b90e3a192de6bd857c0621c92759b619c30ffa09f9429e6cdf24a0fb8447de49e869447ed0e0db045235233331782db6620492cb0fe64f4c42833099e70c46ada6d549b0514ad00ca7665b7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1aeb5cad51a3128a8179e84a7534d849a4da06833568c9914278efb43133811a083c4938fdff6a1f85701e6b83b8ee4339748513530b1788217297fa24515d8bcb9d0fefcd0cf62fe90134853000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -9c5859abc02609d48e54e4d3c56852cca1a6442f78163c55565ecbf1f27e02a39a1168b8592d64aae8c1d77a60b1280fd6cc181cce26de442a5cdd37647871d49f76d3cd83e704c1affaf455c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1226e14132e4c3fb74c05fd754163b7d5e9aca93de995382253409c32c2066bf2504f8b1b229f8ff70f3aecfa115f7c0bbb176fff329675b959a877ca704fc86cfd18e41e1a8f68c2ad485cd14000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 29a1cc5855fbd4791dde1d7e0bc3bd02425902875f4346235f0643e5577bdc303fa962fb76787a20614ff5e2ab2695393cd8c141303661de0454291037beae466ea184ee61330c0767e0082476000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -9473716304240a9db6d2e0831fe333b77e4c68b216c57205cd50f3e4ca07cc7ada7dfaec57c34d4e725f4ec23a184264ee47aca846ad445278fe886824b7cda06bbfa6ff12ff4d07b3d192f08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 43ff941d0125a8bdcc0471f531213130656d25a17f038f6ff51ce542d4660fbb87c6b54f66cef8728609f35b26dc465f78deecd9d67555fd0ac3b644d4995f03cf665e113ff41dc2feebc4c068000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 21a9391a03832b876f3fc3dc567823912cab836403af7b3167a11d5ad98dc590ad1129c19ae623f919d28c6e44c6c646e63d650b7aec12aa964ade8bd7aba27122bda8d5e08f0e03f77c6839848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -181e5d84c4d9e3bd97342df38adb3a5ca1322be8d49faac09a6fd965020e1fdf8c36d94c7d46aa05f1c1cd92e7368e7d2f5292aef720348355afef612798e816e5149697a5e8311638306c85d70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = fc3e6675aa8413f378696e9147deb2832b1ce2010d5986dd8775379aada6e45a5493b7f471aa4cfe9d3fa397c0c2ecb6b6d4ae6635317e9923c3e5c1f5dae798fdb90389131caafdd84508bc940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = d5b28faa913499c442206a5e8e4a0f4ef1104de2a7c2c5de9ab8c1ba23f64e5324751c26c6ed0433aaad9609499b309ff0051ce9a839873905a5dbdec4ce1d18b00ccb48b6258a3bfc6e5fd0be0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -22c2c940899b48192af2c4dfa9dad7c7a92c391c52f6ebcda16bc2b14972e2604a9c0cc52a5cc62fdf559bb8420800147d159f016ce5c4f10cda1d892cbe787752bbfca7f289c4b506df4d761380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -17c5761f1f2d80d9a42e2de2d64510c8f8aba87b49a8f8398dbe3dcce7ac8d06ed3a8e27f4f555039e8b1cfab465f9352d8c616f80788dd8bcdb0e69248a87d8e15eca6363942bdfa12330dfe160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 8232d26cdf0a272682abceb8aa2c1dd729306bcc95e94441c32bbe5ac99c4e9dc0699257cff7c1f5630a0edc8ac4521eedfcb80cccae3570ff4ad5cc6f470684e718c662df0d7b7587d94f8b21c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -d388fdc9a907488e9ccf9c2d443b876404c61c16d67cde9f0bea89ba503e39487d3a232a765669e64026bc0ee1b26209feddd6f482d5edb83c79aa3ff59443213d6c304db2cbf6d1ca42937e8d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 13e865de30a6f8185f9831085a36c90c47145c8975d22baa5581f13fec020a07c82d0df82cd5cd08bd312f563c19628ccec6187520665156c81d54cd78a2294e2b3dd7b6880aa7582a29718669f80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 202b0c892ec4c29d5ebc54a692af434d8baa95c9dd38ee07c87f445d89469253441fcc0905a87ed1573fca424b4b4fe29f95963223417c1f69fdc55522946cc776e86b54862ca811f3975188aa800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2f4a68bf084fb138f9db1fc0b68dd2c47d45ed8e28d083e118fb954341e30a67976cc8b5caf42b8aeeb54a6703360421784e0b2c888ee52a452fc83628e2826d8bca44b03801177349df764d2dc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -e4e3f0a6fcec71cc6c2573fdc2bccf714c02fbb906f5e1ada510d07e1f868a5bace89f4bf7b4947ebc5bbc7a07654e940380cd2ad2a128858d6157995640939c7f8985a54987e8fc27c106fc2fb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 14f7390d80b0cf7f05b9b515f057d2c6d5aa21e4716cac54d9b7d174412ba1516fda05a8c19ea6381d319435d3f51eafdde14ae16dc4264f058ab564e3286cfee35fd0c9551526538517a6395b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2c7d44f4de01579699066ca6f4c435dc1029470bd2a9a5d20d533204bc8b802fb18db491e06956b88b2cb0a5857be6df776f6dc33f19a0a7a4e75141379fe6661c48ef660a01bfad624372f3ed5400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = f45b05e249216b7055597bf1d608c3b04f12e6c37dc483e271281cd186d7138a2bf746306482debefe2ed07d4c09142b9e67e3284c07abe4a97d87d1e7482c0e9740f0cb87d7734f6a753c84c89000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -e0e641acadf688457e77c93aaf971743145e8c5a96669e63d707800556fdc344c2595ad7fe9c78e5ea5b08112efdd2e1bb02d0ab47d247cc7cfe5d3276a6840486917f0a9e361e30027459f70fe400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -37937604fb879937a4c5529ffd5202789c7c7f223ddc338cc2b3c082612a13ce1838db3bbf8c71182227bac47810f665d9a60b968d1a1980204965f10f05b3d251bbd7b93ba3996d98be92529695800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 13229bdea1724b5cf7c69af1db9c8578f5a084fda87dfbec47ab2531d713545ccfadfebbcc265f020095bd002bd86429b8d5d5022d2acc7097603938d66448dfc700c5250926eb8fee9d072c43f2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ed861630d1590dadaa79387f70f55d797f0b612a387864dfe2564a6e6741befd024f8c9ea92389b4f88d0b841e0c5a73ee043d15e2adddc3020858a3baa30f7f3f7078cd134f5944b13911f16298000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = ff35449d8727d731a693d8a1bfaec12ffa85ecaa23d36a4960b50c36fdee1336b485e37d44023966004d3d21c3ca40d9ba61bbb83b606eccb88fada760da990dd3c02617d7b7261c82e18953ae25000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -28b4209172dc81a662726a2266cef47c04accb1dd337ab840856d9723c18104675388ae1f5dd551aa8e83d101647305ee14cbe47d346afe29ec43a0c9dd8f8f65e4a30a8e97aba61ab103cfb58d1a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -10693e3636f7c37b958bc5d6ad086137c0e34c4d3dd8c3f8512152266eae6aa310d7f05af55f85411de8a0afd4a994942f1d5467ad7c1d20401c61f7eb0dfdec9e74e95043745d8008f5f3debc45e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e6a9d9d735b63f124bf4bd59ef215a99ada7487ae32b08c96723f227fec1f68c20b61dd0c0628e13c0da6582bddbd97748cf2c088692d14d5cb9c6b6b361e80e7db7bf66f7c5697d195d80090390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -4442e35617df3071009fb4d9a7473759107813714b022d026e807f9ec8f5733ea2f491d0a35b2ed7759ead21faeda2801acbe99ef76c0efa114fd7ccf1e93eb97824063d6bb51099195f956f3cbb4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 10f32d60e2c46e8749a6d12d553c4fa27db4271187157a1fb8cd65fb9e167461c18d49c4c72656179a1b2ad971113a61cdef05bbfb8bc28f56a764aacefbe5beb5a44c63f1ac544941819bebd4b478000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -21db9339c514b8086cf4592b84b0de19197b1d4df0a53a9cf80485e1008963742092ea1ad55e1b2d206eea116416af394e2383fc8fa100e78e3241981b13cc2bdf979c66f97dadbf944b98bc83a468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -bde2e4428cc6ab40df660e1553c2213fecd9e490c9671d1795c5239f4659404d074e84191fb28edfd0f05ec9a58944b980eed805806510f5314ecc75ec561fb71772662b4db7e9251d673b65926760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2c24b977db1e32bcf76bb631a3fcb02dcf265e522763335a071f8ec936f5e536c3b882c671c446e61fad2047b339cd60337e7f24529fb862d8df007fe920ecf4f0fd70f421f0bd5c79e1a06dd47000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2e966dec3675c7746a5233ede1340878b271b97ed2b938ca68281fe09e09e173b5fda9bba02a2372a139c4499a86cc9b0c3c2884ba480b22fed620f141241a6beecc60734ef06186d3df9a6c12c87a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -31d972a7bcbae8bbdd35489259e19b3ac8429f69c88dd7c8a73e12e897d8fe6d9881b8593107f5b31275a1255f77f249993a0e136b288114e46f1a9387329d3b345c46f5a1d38a40d46e962dce9b520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3405b06fbce931933ae8761c77c9f435926874d6e117c2bad3846086448ddc84c2f977e9a8ec14069463347278aa723b3c2ca3ccd89ec8b7bb7c6305f5a6229a7c9695a4d667aa3884fc6d22c2a8580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 5d27a9c302d549fb9074e6e5dc099974f2ad29f62629de79df71314123b00d965b56f298d466a3074ca3f57e9e0b0230a12e31be008b46bfa5e2b1521fc700402c9aff59c18e07180a4171788179180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1b36193b04942306cbb5629460966e6ef97b242ee90636e43502892ec0fab6bd42629e8ea9be6592d3f3a8fc4e95d89a0d33f64fb4ae3c84b85bce9ec99c60771b6ea9972714aa178927c7a31e69ef00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2b97d2eb83b9ceb48e07b336a276a9b71c2c2a4858cca60aa329afbbeef222acce1ac99de226e9f532109a0354cf15f64aec6995b4d824c856c0da28dfc5a00800ee7bd08535b8b8f4fa02a09c363280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -792b77866e775b0a128f378746472750b8b59077aed5b750eafa91421d83bcb17013c214b867d6b2394a0f7dedb9b07f4ddca7470ab43c1b3bb1d018db63d265085485b526ffc47a32eba5e277698300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -85ab2e39d5d92fb5df765662cdb3f37d1acf0534c1be067cab46404f97ed1f9b6a365d823743b2ded1aa8bf8e8291af6624c6a043a3526a8e1f0e5b8099afd355b4bcfc857d8d7846277256fe240c500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -21b41187b815c1ebafdc5c08ebd919541f261612553818ffa2c854bf48792ca3db31020e8b685e7f5be75e74be2dcc8bf350d2b524c38a987a7d317a9f0ea41736d23724dea2f40b795b71c4285c98c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3128cd486a1c10d663ee9f3d51afcd123368372a39ce725792034c52462dcb0df2408c12285ce01a94be169843e1f797060f658c58e09b06b02fc3a20b4db597c7d3e3fc6680cf2f029b9a295f11c0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = d28d32af6d81cbaec4ed1974ff2e6dd1088521821e8b5e104a4635cc4ae2879829cbc089e41f25638c138521a995b487255b36e8a785d758a8926d94972e722fa5b8e47c694e82662906003893a78400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -be5423e477e82ac78260175ecc97bf62e1decc141fefd8f54cfc7bb92fb2936b212c72c17714880ac7395c729b58eb2e77d207d68299b7bb0e930c4625de0524d6fd49672e8b5aef5a52905a812ad2c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = fef7c0db96c5fce2e1e68d93ba14cb1fdde3d10aac3bab3ea3799c306a072828dc19129a9b59abd36e19e8378108bd59e12e51d877315e89d7e8ab2ad69caf763b679d3dc62fee69e5263b9cef2612000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = d2b961de879e2afa8369124704c0c4e4082aa1bd49549c8210e392290c476d84b64fbc35abb96ba897f17f33a7715cfe5cfc22ba9df656dcfe872bbf78fc64b2ea2306a79e81bc4d640bcfb17dfeb800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ce0ffdb7b7ec9e1d3c7290f31d0337c7a199552114b01156245cc220cbbf3964d87889b011b71108e56bf277be9e425d2cc3ed43c2a7f8b0d1d68151b4cd7db3ca3dc2fcaf3db161410ea29a985a79a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -9535f2a54115d68737b7f3021f13c14e26b024dcb3f4407f5b3c4009111b9f3cf77ec4fbbba0beb595630181462a058c76797008fe2af157447a9177746f88809b238deacebb83146b0c2327aa4abd3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -9c946fdb992e3cec54a0e347d9925b5e09739702f9e3e7016c940a34ef4f241f188a2d81f0a6dd26cc3eb318f7a15c787c40cde74d9cbc189230178bee0b5f8785def78a8c64ff338ec94f7f70e428c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 26bbbfb4ab38eea78671c873bd532a8194c330d2ba42bfd9dd05af562c6164c85f174efd85e0dfb7e0101c4dadcabfe76df613f15888a011cc83502d6d52cda2fe03900616c937989509a15395e79e9e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6990a3fe643a595328a3f093d83db2df0e1ed61b52eaa561429ab30190a74e017bd151bfc78850ed96537319ef7c35d9015609f1c7098c5c00d85ff2e787869cab03b621fc6082ec45245135bfa6342c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6e67e3b592853a21cf0dd2396a4744cd6717be2fded175bcd3d6bd6a19566cfd73a10b406f8031a77158fdc6e7b897555ffd4df47c0bfd86eb17c39225664aa6c8729c9ad7558761a3e38b2a5d102224000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -10bad5333a970bea11265908344b71a33d0a04df6cc98e7f73baae5b45d19f05b563a2e104d6b11b7fc695470c64891c4c9bf78cbe0286d48eb81ca6723760809ac615224c9f51d9f21b012fa7b291610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -185f7ecadd8650caf3cd254e4c24f543e89709dabdb83ace62a52e085de34c8b1df15e84f4cf4915b15341d23cc2ccd2565af4d339633dc2d7ec072c5a66d89b01fada5cbca94a05285a2ee899f817320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -a44b2ef73b6f073ba33a1a3f01deb6f2d1d933dbce7808563de6114dc75855f6743fe5a36ef6762c9a19857ae34dd8363abaad02600ecdfe718c96ab977d317b0bda73ca96e6786dd2510121dae5ec730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1c59f51f2ee75e54591cf6d073af0a963bea3fc7422f10a3b108a182bd58bdf645c6e332509a67ccdf831edfe7782cb677a9acb605c54c2e1313768e469f2103bc5a1213d24af3be77e4189f175b59550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -379e8db19b3e55a2b32b836eec8197aa9fca066e9c117b96462cdb696624a45a0bf3466f731dfc905ebec1f29ce1e6db78072b0aea46d6388ed04772d19465317106a69ecfc12034f664dcedbcbd6f6980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2566d2226793aa39782152c5dbe7ffe93044de9aef633ce53396a2753a242788ed13b8da4b9dd386f8c02fdda25d3c873dc3eddaf80f9cba14a246e03771eeba3e71732d910b10fcc49e205c7e272f9b20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6c095e16fa70cb7fb22c83d9b3e244d4597a57675a912c597862e2dfa99f0c734b0470a7328ae471c94684ef50d9f956b2994d545ee6119e93727479c3dd0382a3588335e60651f23a904b58b0b799d680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5712fc0285df85818f5f3e471ee947ef323d0a205a17aee7a635d85f57083120ea6d18e445ec5e62798850bcc9916086c1095272300aecec9b40a85d0644b756d7b7abbe3edc26fc00b2629c14cccd97c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -37035ab793c6db81a0ae052363a74935ded723c4168689b9ba489893ad9b4ced10f94a8b44500e5898fcc63242cea815561414816d597ee2e44ec23971482a2ae0d412487d55da562a3c7cb910c3b5f7100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -da79ab3687e8a0f4dd528248b29bf6f7ceb0b9b8cdec8ed52a2d65616adda74891f6552370603eff5511ff2cd0bf73f0a5b05122eeab87dae9a56548d54cb0f9dae23592101338289b086fd99a06c95800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = f703e850bd65d424a71cbb505c6853b3807202a9d4aafca93f43dd0a548fce74dabead8e16b6caae497ffbea197be7c36ee41594704676df87aaf1f9a1e9e73485ae51b564cd777a7650358041b37278300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -8bd396e41f00ebf645dd0454e27bbaaefb383745cdd1e2684baefea51665b2370b8203a9c4d02df17c4e526304879e24665c2ce38aa183d6a28e606f5d916407010552c4f936fa0cb7ebfa6f4ce4cb1e400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ca605573d4e309932959a4bf016b7d9eead1e12a0c215ce79dd2179d3b5894c919c4ca54c58e5f6fc39512568dfd72ca6add39ebb48bb0e9da9902bbcd3569e971f2421b70927877df16f6c27cd0f977200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -191397fbb1deaf5a36ae3445037f3ca7a603ab612e9d54b1ebe1b4db4a3948f478fda87eb80cfcf52495485b4a16fb73f9734be9ed772aa9e3c63dfc5367f64324611db0f1b776b3b0b3471239d28d93400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3cba1c4359d2356fad4b4614e12885917c0d9603425c131ec4c90a98f35f1b441ee1d1bba81726a7d42b2170ff570afbacac20413b9b4ae17784b886fca8d42c9fe3e5850543cab015c1bf7528ad76f91c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 64e5603de6308091cdb0f3d46d2f6b8d8837eae94a2c0fbb236737b9b105a906919fadb6f6089d557fbcc44afe2260f4b9ac95343e15019cacc5a66b3e6bf394da26a6cf72b23c9dc8cf82bf92fb29361000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2b274a8a39d493d0ed601635a17cdef58f393b5e43bcfdb4e3100e02e5a48e5a7b2a6db122c789f42b624b1ba43b1849721f806fbf1add3647c37c9147a90e2a923a71bbb0fa378f5f16f6f6d5dc79a2c3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3751156368e1ba83bd6b7899c77caf76dc9583a443efa41465ec9cdc406bdbcb58af4ce17cd1f4ee8bfa8804f0273a724c15d81ed5520f610b111ff6e38e57d785c6320397f2edb80fda894a65a65c64ae800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -828888dd3b05421dea8c5d4d626b851579391d5427e6304eddf3a30f4cbb86ec74ac0079087124216413796ecc318e50edec9d324fc211a92ed8729cf870c610ccfdd3eec1d29a199badf5221b5e11fab5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 9e403f804b0e396f368bea2c591b169cf72145fdbfe88613e0a3e2745e373491522672ddf1d4201db227f2e42cf46646b5732274e7f5b3610377b8cdc8cacfa31f924f69863ae1ac9051584558b5b7ae64000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -28375812360a88cadb4dc6f83658c12b60ee4ffaf73661f7b8d8a295332d53449f48725d3f7ea5f5716380c5bd4eefdf8f1d90d57f7580d2060d73b5eee53bfe73a5238a9a8d769dae166f9ade9d29fac0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -79a3862c72d914c6eebdd05cb8382a1e2d004b7b716019898a059727b47321fcb1e8ac62a2648f747d0634389268e3bc3396a45663e77ecded8c789bdbc72baa30e7f61f460bd4badab01d662ddd709bfc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -a053126b1b8dab9c3c6cf9b8b01228afc4fa98803c54660b79f5973756b26807d0a1a3dde6048696b34fdf5b048fe1e965a3e9c8376808e6e822407c1b45be9becc488566c9208404d173b50c3d5a1e5f90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3d68e79b16ea874a903970fd2c710fb49949a8bd05b95ff894adc4684d0f596fa1565b9a15b8258d08222bf62c2fa8d5505758e1d4da8b8e41263ac87fed3d45fa7658fc54916469c9cbf0bbf6799622a08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 11cfbbfb43f5acc5e0c87bd2ba8ec451ea3cd56e2e372f97f0d67c964db090a16e7990b1bc431cd04b5ac6e07212683195934f4f2e6edab76a22e827fdcc955943b3e0cbea9086df28bb4184301baa999b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 4697db048ab018af7d8ce18c422d72c2567bcbb693254da74ee6889402eb34f724087932fdf1168bf67e2685285a775c6159c681a5b82c56fc252e3c54cf7b2630b44495f13af95baa9d610200b20902f08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -40ebd3f5348c1bb02ef98cdb234df81624363f99265b0846a5a3a2662e68a6901418577f7bc0bce001c766aabdd0740ae7a86c245349f7ab580f41305c937dee585885feb7423a6450fd8869218844625730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = d23c2cb72542c48ce2fb62f0fe7c19981f14fc640b5425462ba6ee8d35cd6c60f7a1248b491d1ac5012bffd10c37fb0c376283d3a6f4e4466e0cea765af64ad21035a9e08a00ad8f167a59928f9477193e20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1e3e98d7423da28418d0b4c8ea3993ef568b07ffd67e9b7f5bd7ccfd4cd15feabab7cff7b81bcb53d69623deda7aad2a79f50bcc4cbe766af568a79031a653c0b5dcdc2687d1679433dbc253c2e2497f0a380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6dce81921e119d0d2357a311a593e5a161157e6f40ab944f54829acffd7bafda4b96a4dce256cbea5a43a668795662e0055b64020b23a468023bdc6721c8c14a9fd56f141fc5631a91c7b7a153b27378740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6e7254ec6f83d8c0001ad3087207a8335d8c7471eae26a73ad67ad4b1e35df2dc6218d492d00809840f72e63a3d6dad89ad9856258c097e0f64d47e23eec6bc58e978154dbd56c4ba19341ec48da43d2cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -a310ea78595b5cd7a1667799baab3a13cd97b89e38dea707c5063676962a2ee856a105926bcd7fda6e82853b08a7de9cd0aa0e42c70ec36507b2d87b43dfc8e2dd7ba4a4ed6873f24228136f0220bce21540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ba063c376d3fb9a8c5622bac9cc708aa17d37a40c93ab5355f773af7d738150cf8349af1d92e7c06fd5a855f3fb759a249f6d44cb20cec6d560734ed6d92c1090b62e5461463598f30cf576c04c8a27845600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -b0d4b4292a72cd5b0fd111548f9357323564f09d3c7cefc4f887a610d57212f4130d63a81fa447d53c01a81c6efd85d808407662cd8ecaeec7170ffdaf7a176e9639d62145be96c847f96a72df7ce6ad0fa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -deedc3cc5887bf96bbe49cf236491f2f72c9a8424e786b428b9206ee2c33d7edff931c0f999b51416970d342dce77af955bfd325442d71ca7c928abf860f5587e299ff5d1c68250a2f65a60a05f6f1eb3eaf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 39f51e067769458934424f33a66d7db94c63d35a24b9090a79f6caf77cb62d8f1146f65b30ab935bc11c8d0e4b74337fafd6770889fb4647796e4ca955f346be8a30c1f1dc8f0acdab3d2a6db4ffb759b5c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2a8ab41f26a008f282f2c5c56b704f9f6c942941744af4e5ceac569696e5b2e893478abc1b4a8ee5e45862fd9b011b1207fa7b3c979a2c5d9bf8aa33042c9d5131d99952b6d231e03ccd10058b3d7c284afcc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 11b3f99421e7ef1c7dc0a0ac3c76b7abd3d8264a328c93fc8e094eb1269b52a61b7dbb33c6b5474c2d09ce5243ffc37fd2a96277b7f4384f532d66b4040a077d015699971325af009e7b7a52afb9eafac1ada00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -307b3c24701d4c961af6ebf4c70d63e47d5a53892abbe342c63983121037e26fa6057ec15e9186c632b68fe5e4a1cf9b34c3509bcb15d05377aa9c72b5c0a21df98a19167b709d53008cdd50796aca21b68f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -80ddf4e00403a985e318c85646be7eac53c18be0c0d721e1cd8fd2990294c672277a587b77841e3097ee15a0bfa18de411b61e7b902645b04e5f0b0693479f308f5716fa173dd98cbe52758b57f07f9f7f2e400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3878a3daad859d44d3bbc10bc8bdbc4306acd319a78892e5b3e9630c2dd9d0e8bb23d8c4cc39be4815f269743e84f455456651af163933b644f655c4bb1356560447a0db6a99f358724631a0d5992b867f785800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1214456e8d4e7ef6881d6b38a1eeb3ec3d08aab51dc41aa3cc0001cdfa232c966a572bd91999efd53979d7049e1554ef1b9676fadaa12a3262d10a774e9e726021ca9062fefa916fdff7af968f3bf8110ed10800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -e1a0484b318c7c9061eb3ba3eaf1018e6c7b5cb6b022d6ed1aa3cb40b4b3b76104a0e259a3cc23d3fd65dd46f42ccc987b75eabecc99adb47daf04f127b749b7072f2d793c855f84c186ec46bc7b94949daad000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -d61b57b0b5b7a23f7e98b0300bd49690f45b4570aa52b426d08aa7ca3ac0271b6569b7baa36120eaf4c85b33e53e1640359f8ce92e23fdc0aba467349f69cee0b981c7922787935648f0c304a17131bef8063000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 354177d72d8ed98a3b5ce83e8cb3270344b0d6678850a67faf400adbd1313ec269f11683f99636b5389ba017865d07a82962bf4da03d6efbd7cd0b32bd9fe5de9e84dd28451e75548f0f199eb418c07dd111ec000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1c869ff580cabf37d1ae8c053c6d08b06be8813238043d658bb7fab7bba49cec186b59a2b2fa3f5bdb6bf1753a600f2e2fcccb6118eb1da860b93f9cb393bf4398013df0f18c9ee09fd91a4e5e7bc527b4b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -aeadf7ecaeba086bb211f9b8d6d974540e32b89dde3365515753d219fa2268f904860ff6f8c2c21b4a0da726916897a39dd22a41d41b0bd7f9ddefd4f554ac6848b7ebd76fb22db55c882a778cbd62c2bca064000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 91aa466bfcf5fe847c06caf54ae43517d3c8368717040e73e7afea78a13b813aa19c022fb373b324f0a8bd85f635ff00918be0581a765ebd545804cef47f1c74aaa89db7a797a0527e4b002d8dbad3ccf1ffc8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 44000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 110b5b15ae60fccfdff6d14371d7885c62b9549d6d9f1538cb372385e5c84144ecf70715d59336539ab6ef1523bd12838a66c06b8d56340ae708aef8db89819612a4996192816f05338bb5f9ad0d307deb08410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2d965ad7368c742f34d5895c745f0b53c6c328c781ea59584b10b796d4a797f85bee3532e8e1180eb93d85bb7f499daf460863dc89ac4c48cf85eff336007a0fa2c44946076a2b9d0835c1661398df5e62938d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -99a3ac5f2416154846591aee992f5fe9babd3d95046b40c8fa74588efe2e45999362554315b1cbd555b14c2c0944f8f9edcf17744379d8e179b36696e3ac335538a233851ed473a2b85a491681e5b016346c240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -12af32d95e207d78e0f7b180f19e12bf0e3c142c4143cfa778444b3761579fc5ccd0611dd22071608a7ba0bd4909786ec9852910beb196405e7249af80119103b30d8b3ac66260f3ddbf3151ccac6a902d15a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2fad99f0b65a4b04f04638538c27dd7f9f9d53d727b7438976a235e22e87063c30c896d518c5fa6c28d203772dd2761dbfd9a5c3b9643689e248ac9c7ed0abb5b4ebb5e4359b3c6239d89bd076efbb678438b980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 33c4b7a3127227bf3b9309f319691a44388bb5b0c87cd3e6132f8a28d96494d80ded5dc334a1a3424c87cabcf0656f2456691dab1ea2057100c04b974d78aefa6c3bf64b0ad7874534a2562a3cb5120ee9ae9b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6d4cd50c28e62be4e4b27103a4d87f0c45db31edfe07c99d8b54c78540bd7e47d14bb5aba2ff24da6b50aef0f140aa4f98a78c4360b609d3f95e5cb82585bf1946dbc6041df4c8752c491a0339afe2e9a9dbf180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = a913c8f79a3bc4ac8df5f316e08644e0585844190b6752b7186b2dfb9d329713213f9a9447d25a8314aca96207f1ad9b13192443aa2262e7a2befcc0d965a1c3f7e22f76f54d7cc04a6a8027a68e8e76e0b4cb40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = bff09a4b84f8a4594582a6addde20fe529f15d62fec6da61b25832f881c938845bd3a43227fff06fae64b09e11579fd326dd558b48c506efec35600f37cf6a00d6c60b11f533b347759eb2aac3955c891c16c480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1587288533ef6e089c2376f8d2031e4224bc787be4706a1c851e138571ec4935529d05b861af5b9cdb8856c0c16841b2ad6a10a496039371debbf5032a3c108ec0caf5259b7512a5c35399967527565d89a6fcc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 65b42eac4aa8a9a0b572918a6e0a45dc8a61f48ec97674c0cc9c183bed2849bbbbe5380fc7751ea3c1aeb1dfc1f58a537b32e24db65a6c3d6594845dffb4190bf0e717329396e2807bca2fcaa7f86693a5105bf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6773409a5cfac5d1486639c18ddb9bf5f6682fd05a71bd18f42f51956cae3a719ed94300d92c69f69ba0573be5bf5d26dc80284abf080b13ceebfdcb198fe936e1d52ce7523082af0c56a2caa02dc35942cc3c700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1ea9106601ce432ed996404ebd1eb14da09fd7997050a11ae40c9b9e785dfc2e7bec6b0fbbc5fa5452bc51e5a1af6b16183950a624c35a00b561469826370457c33eebb1378ad406aa15cfc8a6654ddf844a6ebe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -102f0ad55a93f9cecbaa4baa81fb0a32f725ebf442f215368a96b3d9cbaf4c601950b6f86aa869f7be48cbfdcf29efddd6049ee197acb0433315dfa501b8c1bec1fc33d841c2ff3761945d2143601ef81bed126200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 50fb25fa83450783f62633e986bf0bdad3e30e1647f8b6aad52d91ee8b6abe6fb5842d67e2600fcfac461337e7396dfe3f265f5385840c1d2ee81ae91a594360cf13ddc6faf24ed8dd5341ecbaeaed687ab7dc7c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 49844a18c4577c8075c99da0a7f5fdc7c8cab48fc45ed3afc12560fc49b18dfab7cd8007879bc04d8d5f1adc03ac033aae23889ac82f6550e6510d85123c564a57ad67d85dca126564315b952b3562a26fa43d5400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3d8fb635d8cac518d62b0dc3a3397147a0ecdcdd7d9dfb6fe645719518f2ca13c776d99d10218b11ef2ba0e386e43fac0370f929ddc397af82bb9d5fb911817a3ad00060b16183fd3fed19a126ca2623bf19605e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -374e7608fdb77d47042ade7b7548befdd0e73207a76225b9be53534ee66f9883abe58798813d708f28e20f466feff1824840db2bb639b2e3865dd81780594f89fa6c97882b6e39b6616387af7e471da06a6fa087800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = eae308dc8a82057c2b71873c06a67910b9aefffd71fd9ccede1ace519a841f23af579e137ff244b53cc2e1c5229a4499f507666507d63dfb0beed8e3e5dc8d4381ee72ad0ab08e95e9e7c214037efc4e3dbde8a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 8253a4167b81311ecb3ae4b5ba35e93d942b1d4b85633ae7be722d82a43337798a6fba82c4ada7dcd0e25e642bd317307a7ebac393692e2542bcc399045221ba4203d382685911a674aff9e9d7573819f5690c7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3329c13e0e73df5f4ca0e22bc7ebd9698cb33aab9df94c4e025dafd1f278c7c44b5def53fcd1c7b164ca977f027903ce88c77169b7b9d5392781be85c8da65417e733c7b4c84bcd01c923560f079fb35d8573472000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2e301315fdba8e093dfcc7a39d2405ab730ca6a8e066037dc0ccb837e9447a08070774090f60cfcde7729a3b896a9dfb2ef852fc6ffc859b82ee4fa2120d1a04157742b8157191830ab93c72d9d6b4afafac5c7a6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -bb351879413ecd24b6654d316043873190dbf8b93fee6ac48882039785339f84854e0fd681ff93cd6305115e565b5bda7d0d7dd3f84b687bf7342d14daf2c516abfb9a2b8cf2d0c0588bb405710e93bfe5a535c8c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 529d126927175d3effad599a0fd559c60317d3033b3cc7900835bfad69815aa7bbc40cf5857f3008854ea4782147dd4bdb1eca386bff45615e251ef86fd339f8e8913d9d8ce5e91a46f3f5145bf4d0d1c3e622f2c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -13f9b067e97d571024ecc1fdd02cbb130e6886c27d23dcda086c15c8b03168d0b9442a882112cf0aa84462886686e056754f448997211fca2817259397c688d1d410e31ed4131328a5609e57a86f84263955dda030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 94803c8a8df3568c1cd0c4b7616d35769e4384520c43e27dd715e8cec0cfd350054fdd2b67fa430c306affb389c370445eb2274cc8c903a9c0408af597042432fcf486be7b5bb458ef58449cdc8409481b79a4b48000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -7e7d19558051775a4133aed906444dc1ad43c21518c3e5fb841e6130b23dc243d48607ad2f123a67c0ccc5d9698cabe99ad9ada5e000810b22d9004e9bd8470ebe5ee605cb7e4eaa10f6528d2ab24c05940c252ba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = f008dc714f610e3c907d801db659b375a37abdd6ce9c109d91cc34d72cb3a987b7ac5c81f9bc3361d3ee7e0a535bc3306027309bc14d811e96f48c2f4d56d3afba5f0b59faa66fe77764c1c2efab387b8c394539b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = c57b0ae60f9ec4495d604d5296620f6d80614fdc663c4c52243ef1ab18335fe608d0e451eea7bebf4d1b0003b3e4303e746256883bc083ab11b61b1721fc92889cdb15b5a8792ab0f56cb9bf2d8483b89fb6a7d2e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -35e3bc3edeb83b9d3beda50cd864ec20d7d7fccb09b60dad372618cfe32eba29d39d32c7cb4601514b69a91e72bc9a188da89a3d4b32a6a57785b2ef948d4660a8d893f05d42768e1dabf76a094d437c8343b868d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2473e2102550c6567f14544713548c0c13c9dce7abeabd9a3d716a32f89eb17ec7c26bafc08b4e8ff474080816e66810c03405a158063cc03a9d4e6e78b83f8ab535fad271a0f7fd98efc5e892dd7a22da741bfb940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -356491ff28c5d88e3380266e7d9a87cd8df8bfa0523f58b57d423a7d596133874a3b4f886032d6710a0eb83450b3bd7ef76c94c11ee449eeabc195c04e853741534acd6739d4b16ac0f1144819dcfa4a0718fd46940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -bb66b6105d5d905e38c36c20b4491df8c7df639ab7c66c12a84bb36fed7c32798488c30ebe1352d05d2e76793c4a64dc5f0dffc431fdf17dd2e5354683f66a39576e0ac0d92d3bc88c493f303e2bb9ea11427608480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -28ea7c3fbdc2457f5cb61932b552ae30f65d33ff182717f39878ccd598f6c70dc74d07cbe22ed6851c66eba682fe25b8b23077aca392c00be8a24eb7d3ff8588a27f2011a0c09ca7aff8c2a5c62f133cb0f6ba101400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 47678704967d48a8d5d4538ba077df1f2cd9c17d69cb68fc6fbdcdeb13b07385b5e9c2848006783f4181bf937ee55307f52f95733d3a9a41874938f3b1d831b7dd2a2ee46fe3a05d93734c8b610e3b9ed18856bd9f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -8090b3a39e6299bd75518848de71e35bb06b8250d2c76487728e4a55d35ebe13a1c790650f741ed237d01bd9409e9711d086d18ca73a3965a57aaf407263e6ab21616e8ca559207c932db832ecf35eb87b1efbbb8a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -52620f6c2f8732b8fd31982c85a51a125c272213fe6e347d9287bcd152f5b3021bdd5689ee44f3d246af8924ae51fd48aab32769547d23d2c109ce12bbd45ebd109d907a7563c03580c47913ddaa8b0b8d7dd4235a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -30b1d15e13d4d5bd887bb4d9434689cca544d9bd1e8a0628407161b61e85ac8fd31aeeaa9d60774ca786724d361aa1a3affecb7560588ef7b1c53b7cbc7cfa1faffb3d00fe8e2d544590c0108bb6448bd35287ecd4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -4d70e8a340f5d398dafed2952b8cf73a86b57b7b32f799e94197c494ef73e589d82d4de60eef15244e436eb6cdcfc3e5917b9b7e90fc6bede1be13cce11b9cd48d50f787375eba58ac358394919e59b14890db3865000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2922d6938b75653b211264c5ea010e01b4fa9d439996564952e4b9009265354a6cfce5a108e4c30ade296cb66d927399194308288353c099d43e7291b1ef61b5d8563d3ce71624d93730b2858a803f3e489e2b7138000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2b9676e2ff418f0a52a61db6af59c2c917a4736c9a47ebc85de4d23650d8d0a3e805aa3c040b8a83fc0b3381306fa44fb81af687b42643210414b31d7ce1ab72a778a7fab27b2f6b57e2d0d1948e395aadb15617c6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 8e79b30ecdb9ff276887f4601ad7acfba372a3224f19175a383e13725393473fe135bdc668991bf0a51c1babdb4de04a79acaa62ed771231f4330375657d5f64db5ed8f6dcc41664ff4b071fc557e4e40168c9ff71800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -5d12700486f5bf33b09070aa2293120dbce01dff1938746dd44263488eaa284cbb0d8f5ae7bd322cdd4d8f459df5a2162ae237a2355cb35dcf2011f60ad2a058b6e52c16438dd49809992ee492462f88bdc14637ef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1b8fafab62e79a2fcb14741ab3f69b93d22e36c6c7a7c30d0ef28340af3f3e3b3b3f7f5830fb9dde221ef228e83e0296c8ff209155b765e758dd238becfe9b7b6efe5dcb7fb336f33ca2cc469d63e32be77b261ca60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 373d78eaa714205d05e8d1cb92328ea8c989feb89b5a91d5610329bdd55caa3855b5e599bd8b449cf657e9a9648dd4e96ee23f924e2c438cf815d8381da79693211a6572c852a40c9f4ea093415f8294ac2b1be5a4e8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2553f6c075ba9ab1a29bd193b90b1082ac12fccf0a820cd4a1c9c64cb33046c9096aab72a32323ab1fadd2793ba1489747142ecab4e1a6d057aeed6538c830a0c6fe4835df9f8c1e8e4008c940346d9ab2ba41b810c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = d9a29f96534062ffe0b0eef5e88d906dc12ee95e07836d4a9668aeb0ba6fabcf4d35140e6f750777cee01a8b2a2730d2f064b0163d21ccbcc156e2be71a43d741731f77159ee1069ccb4e5d005adec2468eaf4a0718000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -bf8d532307236739a10ee6183d5b146fc85c52cb0c9b73b966608cad0fa6f6c38bfa3d89f95bc36446cbd1212bee4d8cbd48210ffd64602986fb911a30afe88c6f503e4720268d312b295ecc317acfa1f2fea6d5d638000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3bbfd53592b98b09851d00156e044a6ffa7b6d8d2db884c542650ec7920972906892370f1ecfee76a54133b1916375977b324d5e58badaac5eb2ae1f30d37ada4ecbc0a417ab7cbcb5f9c3a33ddd5e517a23b515fee8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2dde93139f4428e2d8223ba88c5c8d58f3b87c67b816ac6bc9381088d07a34a7bb1a7bb2446d346683d1e92cb833d3f4283a3a8a4086130eba056996374bd737dc7e6cd02cd6b1862d45cc84f00cc665e209f86148180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -6aa7efccd5de6028042968dea5438dafc98ad5769dbe38e4e837bf76342b060056a7b80d2d38364fd34849b755bc9d0378d8e3b981e30c3bc06f523124c17196fed96833e20ccf7a7974ff47cf593f39fdbea8829bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 6e9a9c3b31623a0b692ffdd15edadd959a6e5ce060e032c40cea3e3f961d09b4dd197d67653de83fa01b829655b1187e25f44273610698f4479fad75d061fcc036dad02490aadb64465c3de8580f30ee78d6ed7c67d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 7394cd7462e9509d6a8fce359ee763e9e385c838a6b16cd770e9bb80ba418cf86ec7b6c9f4c9cc1315937f2716994469d0b196eff78d7a123788b621d21410183fe45574d9269d6c89536e4b59ca0438f13a6378762e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1dd24834865964b50cf58dcd5cf46c098b384a9b6028eeb956a8a443ad43a14828c7c92676e6f7ef63c4c5f2cc8f99e4062230c8652ad9092ec2504681164af2d1432b354177e71bc184e6b8522c99f515787b305ebd20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 16507f631d982ec900df349e020d3f9e57475455e7716a2f6f2dc484d3b6e1d61b33696aae2ae3f994bb5f36d9e2fe1f73b5d8230cc9d03a3db994a5518fdd6f4ceb160d2c32e7d10ed9a0c0d7604430e95c0fc9c89cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6aaa1c5dcfff985d9def276f56d0c9ad406614469ef5bc4c73a2f233fab44442309aaecbb3764e3ddf35d7cbfa5f526cbbe9b5100728e169821f9ba5ebd0270bfa92f80e9d28067a7d5d67fc911aeb2810e3434d072580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -138881bae54de0424acd0559ff2e63bf4b859f88968ef50543135f7b8376dbcdc928f55673b83bfd266bcb6561de1d8996a83f50202ecc49b3e6efea55a469eb6fa7db11565200022c0471b8e3da7553327590a581ea200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -249a13ac09651f7de34e6a8a302fb588e921cb105529a36df666348a66dbc98294b4d6b46835fb70b4db277b79113f686734c9c0d5a9da9da5bcccb18fec120734bc5d3a4f104985778aca40601ced9e4ace98ba9859480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -be98cac1edcf987cd441d237edc4daf1b57c9f1b50e011be93330846275cc5d26f215f37b58be75b9bdbdf440eb399907393dd7c1e8cc42e1647255bcd9b7034053e561156d55781169aa94d72d633dba26fe25a1796900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2f7484b05f2414dd9e210ef92271c316e07a18eaa419d4c7bd6cb90fa20d300a4dae75c3a6639a2301d6f0b6562f2c1cd68990689221d825a3f602ab478c99d35bd603ac759aecac16686e54d6ede79e2547e85fe426d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -245c9e8c1d735f3715411b60098140bab483be2ad048383a09d1f014d6c2d57acb490653bfcccde001ba89eb6a865f711034562359243c7250d01791cec395d63f51193f76b34f81c5ad5385de9b03cf180a9857d5cd6600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2b95d2f3d3d1a53a05453c9a0911320cb2c9ea97df2c36534aef2b26e3b4356432213edeaf6b36e2aeb98fd7d18171a76bf57bb9a652b03574ef853eab3a5b6b4e454519f547b3c914720b4d6bba242b23c16ee105500600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e3d475821180f325b500839b0aa4977ce46dc38aedd987a6abc0617d749497fe482e7897f221c9d0412ff86c5bd8ed44e7f65565e1f8be94f4d0ee3642ac6fdfa919f786f28961df56569c96beaf66f5e682df6c10e40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -ce135c130d080b81953876c1d1358c002692f7c1cbb6fadc13478f54372e37050cb1e7adbeede5577b03d0677131703e916288a17c55f9e0734bbc1556b46a1c41bddfe1af201f55796187624372a2484106c1d222443400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 13ddc817e8da56185590f0595ceb1c17bd0529db635decc778616444a37b6bd6505659b4c5f13791427606d5d48a2cc8a7b1f3fc826e79995f68a00073b239875c7e07dff950f5d0b957aceccd8f3daf529faa554d51c5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -4c120d967912b508ddf362911588a0e2f20a1dbe6c775d6e85e53eebc3c82e7b00155828d1762acecd3f7b61101c2130b26cbf87f25592e0e72c18665469fc77b986ac29dbb43c73cf385221c5f1100b73d5826705ce800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -bf87d80ecfa743e30ad71c2b4bd5b9f30ef99fd92d7bd8697e13de0f7bd9020cb1d793005824b858912f9446c91d840a5b069f5643ac1a3cfe0e9d6015d62a763ce2dc5801800d11c5b5f9b0315fd13d0f766d61714bd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 8359c0a16a774aa758706606f1a757e327a8b7c6245926518773108ff49f99327168cb77efeda7a5e6e5daa20bb6a2bdc2475645f00b0d55edd9f640a4567bea32f7078879e0e5f6c7742d712036129fd1f59ad1ba2319000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1af1170f831b1d6df1d541930d4722cb5acff2aab852ee65d8fbfb41f405a51bc53923c7e9d23e90653750b23ae57f72a860bebb62885271d366a09b1e276552725b7714d1766d7256d281954583ffe88d261c44883703e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6cbff5902b5e3a9d27eaaca0b5c6e3f0a109d52e6e03f4bded3bbd90a3c9863a24077540e08c1d6fcce57b8c959de5ce6b9e8ab6b2669a7161f692f641be469b78f5eeaacff0c483818290a38bfe4b56fda79058f3abdc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 58ab783f2626df3b6b5ea8905be02d0dc399dd94070ee8f78e1f60a9206b8ffdc0e7aad2ef2743c98e5130cd06ab42420256042c71268e0276c0ca236968fec3ea157a0b62ee413f741fbe1e92d01c7577553406c063fe8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 39705b212d6825490e688cf40882909d44ab287fbc4a68aa65693caa41817788e125df8551e314572576eb11f394b1a4454a13b19ed94400d844792f8e8477ed5494c86b4e4116169ebc56b156bfceea0ef9224cc5a8cb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -15e7d0eaeae0d84ea497197b475e3409f19d921ca5a62634bf91f844bad33db1f6adea5ac767bc138497c5e4cdb370764ea20e5de01e4ab757fb6c060b21d830415bca22b31fdab4f28db89c174336cfab15489b11ca18a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -4b9fee61cd0edfdbe38fa31364ea859a39958cc0e273eac31d350b341006b26766bbe69396b3d71f73c059308fc8c7baaffd8caee7a44cec6b97555ca969e3a1165950af4aba5a119b584837577962e491166fea5f18328000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ac58036e4d17768d24e52e49cbfd1d3a909368306586d302cc5b1358a5ef45d7747293f6b37b847431b7344af2fe5487d5344630179ac9a77a3334e91e472bbc73fbf25dd1ebe0d50d2f024ec4a9d02d18868fedbb8de2f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 5d1b1996e0a9982609e92443e310f198b04bd7c50fd06c0d81d232ccddb97b2ce7a0f280a5803dfc9a71fc3588b76aaba221d49438e499ae9ca12d6eb390014d3ce471ad0b6f54c80057da114b100b56a08fe97233904c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1abb0c7b0b7782edcca259569d18baa90a60730e526ffd73d1ba61a8894cf6d98754ae47f633c0816bca7e6eb6507e13b5bbacd3ab5012f226403bfdc651375b7fbb196673be84799032adb9496df0605cb0121d0e2220880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -36c704039a22cd123acb30f3c65c7a02460496bc2a0c074a62f0ed8d8ebe49841b00344e9ba0176237cd8f7678f75f9f0fe538e9aa3292957b6f5861a89469e77ee873509b44545462fc7cc3b3377ab9721b89ba845105460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -97ae9f7662b66e3787879fd436f7bd3491256a4d5c770ef771a7d879f54316ece26708d6b32f11d2a582a84a0e7697704affd505c72cbe17134a8f764fb3ee784e84560d61a7e32f8615c5d4f816c5a1c84eef4aebb8f7b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2692b9dea6f4699c2241b8b9785d1d91b23cb94029578be122ebead429633e8cf3d31a024a19688070f1508bbfe6c45fbcaa40f28e4f195bf1430a9958c210dd707f66fea0128807eb6a5189a60901091c7e306af3d13e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3bb8f2553741d64887a10252471fd0abafd5507c2c5931ec65483cba44c3b308bf7bd0226187a001b583e6065e6524bb2ae605c19a4ed5b74c2101c0ee6a1849096f666e1292988a6be056ff29faaeb52b452e2edaaaedec00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 26195bff1962d7095654161685110b3b7c98d96ec68a0d4c61e592aca7d1b7803101a152954006142abc41a30fbe9cfa862a4809bdb5a2e643f9fc2ea41ee43cf97060e05f907ee22703852404000a68734edbbd223c336d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -dea436fb593295ce6ac1f98dbe82ddfebebaf7053bb605dfaf1dc4190d72b4168b6c0a89c4739db0b5f152818963a4ce4c4feb65f9e4644eb7c7bf4a94a7f86a3e89c336a410d45252f679faab0220f284ec585fe126906300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 7ae8150ec0bb43509d44b9b227b1a6972ac317a0798cb685a498bc6d81c75f793c64d0cc7612103dafd1fd25e419e397da3d4289cb2fd78bb328314dfb3000c1853dc53831d405292e3e7d061404b9e940c4bf5bf921a8e700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 572dff70f9565cdef3baee92b85bae80a497379943b47a772cd05c02cb70086aef3e8d36a04cacfa25f2df3c7860a3c99a67f9bf639607f6da1ded03c0ada90efecf76931548f565178d61bf0e7739a9b5e4e3bba048e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f6a4d15ed8c23f200f38b7bb6a7b164383bfce93a140943f0b8fd33f0f6272c69ccee7c5f0a583d8a01d31eb76d2bce20b5f7790386a8ce1898580dfdd82d71fe888f50a0f5043a2ae2338d3f9422090a0476f10e9ab516e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -87943947a84725ca5f5c55421c8bc6deca1208a70e544718bf65ba0c1e0d58c764882c40e99df44f4e8cfe8dbf815a66dfd164fa8c4d31dc440dfb335049f5055eb1d766a596b9a00be5195891b609746d9815821b29ece3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 8f7b4f38c994be2d302ce9f40b6acd27cd65be901d06044dd618b95540fd75f031b86cb765989840507b9d34e6a08b968b8267572981fcf377ab8b0fe4176eb4c49bc10c4efcf341e9e875dfa441456fbfa91f96e84b6895800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 37ce28029446158d85509d9fbe6f4c2ae891b70697142aa1da15e418465ec0e7ef5742625a4ddaa01eb80e3caa6d1b890016b16a6236bdeee46a2ac5aa67226286696e1abb2f9eb43a4c0397b92f3e803e381520ed1278389000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3df0ae605bb5ca01ce32946837d2cf32cbfe538951d0c2c8fcc5066e5607f07e44bb1417c33eaccef4444b2d9ef863f02f5f6e86e6d480760cef96a6ae117179dbdb65f3e933b290fef056d4f1c4f8e497eca068dd9a8a74e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -a975c5b5967997e6c2e0f6aa92708ec0ddd56a6449dc36302290c005cbcd4add07cb3aaaa66fb6cdd6d7098818d786e30356151532f320e47284293dfeb1324002066c38f83492010f2550d8155e9294ca5d216d5c759d4dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -acde76463f45766f150af1c277e208b64978adb81b0a4417bdaf39907206006006ff63c83a5e76284e9e17edd4a1fd6bd3335a2f8f790708e6b978c7fd74648c80d49a95718a62e3d31dfff6c5148bdc6ff55fc51c067e248000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1a8f950d7b4942a19b317f7dfa0b2fde73b0f76c1925974afc030d571b80d59463ec04cc05a19e999ac1d459a79efe8b6d9dff2987ec242f5b9a9e743cae516a7a2ce203ce567737b0b2a322d62f74b4b81a043cea10334222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -112344a9a2291430050576f64b2356fd166d3f744e07e01d8ce299204363a992d9c3a031cefe5aa386a0038167a6eb678e4ef471bee816b7cae170b77eab8a816a7a44a5308ffa25d779056482be3e6632d6b561ed09661dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -7fef15bcebad90c173e70d9c388f6de08c4c7faf327d4024bdf03663e5ebebdf9212eb87fee654767f7db12253b886a1114aea52ee64cd9818f1f2c31ab4c01f8d2974d30b70af171107eefacc62ebcc138fa0a380e4e91cac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -ffbffc4c5e59201892b86b5d49a0669e9577a70cdd02a17cec4ccf70b14eefa8a08123f92f0f587b33355c7259e829973a625ff507a7a69aa5ca19a25a2070504eca038a1b41fbd8bc1c44c4914dea68ad06f509efd0c85d54000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2843f64b7199cae744006ced88703dd09701a13e195e1d19f44270fc8e9022040f83d2c2e764eb3a0728bbfde55be98b62002cdc5f8968a05710c72aad6459ae264147127ba82e1d5ffbce5ed1ab4aea8a9a871fdb83e5fbe88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -16e65cc197373cc8d78b87281dd7555043b058abd9c46f3bfa307bfb51024fbc4f31cba7fcd5b5ddba1cfc132a02251f7d708ee13a1f265ae37fba0499f49b4d533d9099e59b01fc7774de46be34a3a81d5b6b64046dee710b8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = cee30c89fb65152e2445c72391aa4f8050f4d7e70938d16e433732e412e97a8c26f215a1accea3ea16e6507e844b203260d3de26ae9579c2f963ea4c7f3235ac94088db12ae540fc5efaa13129ebda722d91963e2ecd80b41d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = b42cac9e32f6114b3ecef52cb041e4a0b758991d73b56943d8d33d48e7b682a1a2a923d502bf2ca80106a9932b45c54bd574a0216558df261a669461a16e0c03ad7b9562db420297661a9ab2408a019557288b7a165973759d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2e2d22c028315c78aebd3d5cca19332475e39ea58a9040ebc7ce50476acd753124b8b7e663443f64c8d254873a621f9ec356aca49cf9cd7dba8f14c6dbe6e481b612e191a59318a0f349340a6ba7755530b1621e4ef66ad6bc60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -cc3c3dc8625c08891cff45f3d5c006a6871e537b4ee28abccd61551922c01b26a0395feb78b740fedb2560fc8b9682954108c2005ea5b4b947b3db508a216a5f0672603df315dfa060bcd3d1d91229ce72f8725e3b8f5684da0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = f9b816bbe0d61e668e3a47a3bdca69a72358ab50386b98d6307721e99c5ad006a8617f84234b346bac7700627f16633c3797da2ac8bd29136d02cd370d3aca2bb6126784f8f48d39d596adb2b6083a26117d0cd8c81131b66980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -14186360e8df6ad149bc49de5ea2db1b688cfd5270182e1430239b423a832fa06441f30166f01c6cfb499ae4dfd406b6e05d87c3c45a2d3ea79785cfd8e037977f3927e6fd1c3cf0fb7f84bb1978f140417fe688ab46d3b8b500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -15a5b90ce927a66fea4e650bfe6628adfeb2d7105c1a95e7f3d07d782cc5c6b7cb6ac97052dc2af4d78b950f72fdd203ed3824800ccc9083fa3d5692d4f50caea96ae1fa4306b09a14bae4eeb8fd8f6f63480d7a5556d5ec89900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 15c139a1bbe42cde218547c5b71e8dd8b86dac18a689b30fc595368f956adc7c9aac0f244f9a183f9ddece78cfbf97f7789c4a41e6e1e8db99470ff722048811ffa715c684411086b5b744e785137a35142174c4327b742d3480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -eb1cb387acb66f79b377bbb47ce6030242bc0ca9d1bd9d774f72dcd790b780570e484e4f0510be11704c717efe2074da47eb5e140de31986b79251ed7a2db5532ae3ddf07862d45dc83e51de6528f796058d07d3b83cf02e04700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 889a8926cc6b66d214394227d0a6ef0319444d40e73016d078973a85b531d1d0df0bb11de23171504a9053ab470321f790ceb3d991291f97f1124e2c5f3363abb3766b191cd23505378892160201f9ba1effb2a627121496c3e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1f92ccdf1d3d5356cf034a859829c2706a269a33f858ef1249a34127fee2a4caa4268b6d07a9750e8c8ed3b0eee64fd0d3e8032147f95b7862475232dc073c87087bd365c9e420d4336d5a3343cc42cb4a7916cc06878da8d2e400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1e170e09a01ec4b8b507c267cd4bca815e6728fb6a8b110eeffefbfc861190ed74ab9b543e47ffcbbb1bb191c6a9ca3c5c94d9a98b35dd059b1ebbdaa05f57a014367e7e5268ce851055d154396891f3ffecf31ef3f8dc2de59800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -627208e084e8299bb03b108a3e8bafa70921d532130e0937038272b5cd10ebc93d6188aa652cb2fdc1c4d43d7c5191b4e6968e5a14be8b8ad860acd7bc20a399112c6ee85a0f09bf2a9c7797d582e4c5bbbcd4f9ee5bd6d29e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = d96fc314d6f99c46e78db480e8c84dd0b87784fba4cd728f8dff97e130848c7f06ec94e2fecd062987998dfb16ca01d86e0a6754619614183d36489cf2727b190382ae62f67d5604b2d87548f52c4269e5da46870cfc30cbeafc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1e3cb0e0cbb78d540c0c9ae6d429fb438dec839fdc9f70df4aac779b39858aadc80daf1cea3e9cb1d3f896fdccbedbe2b25415af50598753082fb12415106ab0b8374b2cd671a16e7304b1f951ebaeb782c2592ecc84e0fe5e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -176f0062bfc95a26f7031aa85daf62298a4fde27d0d2ffb90b5b905b7d64bfb4d730cfa3ea8eeaed90c515f031f8896a2c6cfe791577cc2eb51c8841ead1e0013957fe8244474a491cc3f11178c160153f3c6aa985d3b0052fdf000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -c7df65a155ef27b17b02580a3a8f9b1ffaa7528c563635da28663a05b4b0f0c70dcd49c29acd0e001e3b9686f628fbbf8dee731a5ff7624377832a6f20d04cf567e5cd29a452aa72220d677729a8b75d2d9a7206fd8c6daee4b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -febae8905c837bec5a7546129be98cd06ef61ff3fa5cf34b42de12c6fa5928b122fa8bfe2153a0258d6706341e8ff5b246201bba55938b3cb718dbfff4cda54bd4b64c1ec99944d67252082eaffc56a7f15c6bbced8333293b54000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2ebbb333cf867e4655ca12e0ec9449cfdb74178c81437f2e4706b4dd67c988b077bd0c66d5fb68f0d4fdb010a1c056842b71e2d387a19fd7b38fd7169397b8b82d2a96628bdfdb0bb8d8fad429a88ce52608db0449771b2052cda000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -32020260ba3987cea0caa6c3444747b0cfd1887e1270ab0e79e3835108ea26f41daf43af7d30ed556a8a040a736587ee85e080def09a8cbf2730c15655146b169ede7b205524e6359b3481156fde7b47f97b6a6aaefe0d371d15a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -4a93ff1d21a66de2a3120d08383eeb127b3454c42c2097f7f47c29b393622c61b11435789dee2b94f09f5e802457d5f6050dfb33c9170f2462d1adec630843a65c43450696cf756f87898c309349874c8c5993ae0bb6709eb2050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -bb4e921069bb3cf5362132a4e5fd01cd4e12b511c8e548dc5e0fd3f08ae4df7987fa8a57f4ed4db0e8c916d7da0f269c015053316cd7d4cb9794b835706003d5626a20437c3c093fe3a0fe70caf00e5d8f6d7f34996d17738b3ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1ffa481be0fd7c805d24e606a7d2647dd279694f2511c1cfd433958bd0935ab674fcb8176b690486c0b3d33b2886254306fb2076ab964c1f670714a337d16d6e7fae6b2fbf7ffd71de478c0a1ec6eafccba5e5082ba662c932bd58000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 11426e23d21950e65539d2414ff6fea641073b87686387c46d03caa1fcb8bc498dfed8ab148d331408a55f8165e5978835477cc3fbdbf793fdcf2a359f42dca19a6d57d4fce09ed3fa87b2bfd0d63a7360c1042baeabc78fd5de88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -cb62ff6a8cf2ef4d976493dbf29de126f94b2d23b6238e1ef2d0179026f118887bf4c37f7c87716d3be20c044ab9747ba6857fdacc4362a39e7f7143dc8191a0af69091e4426f671cb8471de9ec8766711f5bc591f9d64ef2f7350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -39f4b8b2e74c218d7159cdd5e2c16e322cc95301664a6922db4cb2bd8d8102439287a2f22ee2da3d5c6b981ccb8f90cc29af5ba5a84e262007f4bf8a4f0179ee406f1a4e7a4b9c0e839ae495f3bf8d7d831ad8b5bdbf6dfa5e5550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2620620f38849f532f38aa1c65510d73ace7ac221c04ccfb6047e8707196d39c24e56a955bc3dbb6c9a27f145ebda9ab1dbbcf868c3380a8cacdc411561231d22b2d7468abf1daec419f733fd0c48db0ea046c6f7d38abaccdda760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f041c21e771ea661afa8ba9d888b038cee66b41934f336fdbf842ef4d11f1f169a11b0a82e191e98c0bf8c87e59d6852c31a7ec9ce77d67264527740aff2c9c71a66e78e1d4a48b3f782eeea61eee6d4ebc23d700b863f84377ba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2e250ef6ee22eff619db0bd810f416a76a8c1066b53002e8eac726e6a47062c98c25af4350b26a5d339fca9f2b995d9c1221c50df5a4f67e169f48d51d1c8fe829f9908d9dab948f6424e8c4eac820a4582d1b67a141163a23f6b40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 708378bcfd51298a2044d9d50b69ea096dbe731de46bca73980cf3f79cb03af9b048893f11a39ef19fb6c22e998569b1085e9714bf61159f443ecf13675955bb298c468d6684a90cd355b4e9374b59ba0e2ff246c51f228c752fb40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1bc12653bec9e2917504928d6e84dad306c5d86e49ce205fd41b335c0506b8f4e0da2b4a50198a657e40ee0a7023b11a36cba876da2a3f72c69d85bc3599cebf0a33594bb04674acf8f6ac821ddca68471affaadacc4ffae10cb9d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2f3c0c4cfd5d007bbbce12ee00cb238e4ecde1b1eae13d23874b760afcb369b3100308cd2dc455888792a055b588aaeb5557a7fb49631c796b3bd111b68ac5237b0485386ccb66183e23fe3996315a838fb5c4c4ab8050d6df115380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 11ebbfa2a938a95424587f8ebe271952576dc3f8bb12193f09b6bb146cc7ece4c4a374a73d2f7513f451df7aa18dc043bcd6acb7d67bd8ccb577c5957b8fd5d350e86f1dcf9b3353c6c0fb04b06d7d37885a4477ba060a3d1f939200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -b6e41ea4a47addd244c02e8dda63feb1cc86cd91b70a7aabd810a32c29e0f9831422076d7905fec4f42bba275d02120f3abd034ee07fb4bc020d863b6a465c578fadd955d845fce11443a41d67b3eb51ea139a3457cef6867bfece00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 8a2beb342e1d946508affd6c228151271f74a5a04124267d75f1961108521f12863c60e6074e0c9c3e15453e59a1ba55799d714f06c44e8f175f3ea7b99bac5637a31742e842e731805d348fe89dee2a82ac2e6e6211380162861e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 98e164a711700bf6005248617e7f472d322ef2c589231693ec0b8530b823d7d1a8a2e8e622e1931f9bbbf7d3b7679e1e5e97f5e22c52702ed43d08d7f432d30c94b0cd0f51f53f0cee97424a94b86e19f57652804d4760878a6b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ca101640a92d25c1314d5704af0c6d0f5ea0411ee753588f524bf2ed4ea688949b22728ae314a7e8bfc6950b263e1c2ec1dca4e48053324cf0cefd00a3edf389ae5da607d26102e46803a1a28bc4f2f7ae6e3a08bcf8743815222f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = fb8e30e506f5ffb975b52e71d89d1ff913865c0cbefa64054382e6c350a292e0353a1dd3381e9e9026ab5ce3a6881d90927b6af0dd9d21026b6c6fb06c4b621d6ec9f5394ceed3088009a40d9eeb6b3ef27ce24933b750c9a1f642400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -d91f8ab747185d491f5facfd4610fdc22df921af3c7cdaafc00fbff519b2e364bdffe703f327a8fe26738c4f0f95ad9c72b73dc15f47cfe8955743102d16e5238f18b599da8f0c99518523dbe0ac7fc1367b978bef42733e554ab5800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = ad5e2e124deaa22e82ec0ed0a9a27f29030acd9c9706832a6e4e87d5cc3eafe3b88838b47a640b89df4d09fd377d6eba37b0c4a93678cc2fe026f3deb5d1607e4cac5ceaeee376d2857fd6774b11e3e5f9fb16cbf722bdbb3c860f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -fc79b17e262031dd15833c58ddc11b8f78c450f9fcd0a6dbc0d2ce62ea6e6c893763c08fc3caea0a6fbb1814426bfbdfac5e5006fb02816558ee90a200094dcc6871e20dcdb36ac7d09fb3699bdf01020ef4ae2859c09b44c82c932000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -7653e247187429c972fc90c5c5517adc96e8b678f4e0163cf02e523a99d4857596a35e793b83bdd474cc26ffca8bc2539a0be5aac512fc537bedfe5fcca23cfc5d6e8bfb20ab8ea2b80963e1114967794132ad13e8a67159ed5a1c9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1754baf85f229120dea62df5784c7363dac10075f1c7ece808e530783274fc305134290cb2a88b96b9513e68a471161182a78475f5c5e6314f3165f494bf7cf4aa45102be3f8df43f9ec67393f77c3814a6af9ea33f3e970fa36daa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 731148a79ce8882c1428cd504a00d052609086e5dcc6e6e527c503d4158528ca9de4ed17feaf46255d3dd8333988106f6e4fe251f9fd602a5353349784bb0056d75b7f694d1aebc773703597f33ae978bca206de125a4ae9ee5cf1a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -229bf27fa266b3428ef8aedad88fe3672b99f8849fc3792405a4d923f7b9c9675a98fd7bbf75a81901190a643b8fd8e190b342ebacf7327ab366ae54cb817feb850e4305e98dfc66deffaebfa3a06e6071e8bebf1572d275cd080ac8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f4f82601548eb91b872fd7dec3ad9099121fa8631994a91b2be70a5bd4ef4314ed882b49916180fd59e238b8fd5dff78678bf29da1aaebf5160384ff83fa23645a34edc0f0e396fda4473c243e77e200b0b0226eee9836b72fec5274000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e56a12c7078c3419e9ca3467e09c5a6ee178ba2a8e30b10b6e02de84553968d23d968f250bd75af3de6eb2f211b7172a2e09ec4e9c218c053e25e93bff652d55098c188d7d3da8bda5b7bbc7e0317548de5f35f328a14d66936a5768000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3bee937431e052b1fc6383143ef06603f9e581455edce877d90958c4d2d56152e3908ecc5d5b39c87b6c3d0acd301be1c542787d562a848b59b8b73f8da2a8a25fedf7ea1d72aa349166ede2cc7b184cf133e2c04a4522f64e5827e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -703e9e75555c62240043f9374d0e9fcc46693300ad11c95a3b8e039630046ddb7dafb42548d278fb5a09869a14dd047dbb2f0c1b9708b73e6ed2e7669771e45aea54eb9409f7f25edc46aa8bd08f5833ca096b808fa36a7bdbc6ac060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -7773cbce560fb51696b12b7f6fd5698c88f9dabf6b5bd8eb145f9e5c36bc3aba573d79888083919f0de7929358ee73ed37738788152a0c3e1a336804594bb66f331e32973cacc43a3e8b303a689bc14663e70bf9282340f777d42ead0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 38b2ad54f93f849a8bd34cb3755e74be5b935ae2d418da919baadead7826ff5a9879312d1ffad923d86e47681e61bde7f1372bfcdbab2306bc6ce19ea07d34b17d069fccaf90186e4f7f1c20b0d4c189b2bfd7e8f6de86d07c202157e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6ab0cc3d6696557965ff494c3e51d280a9fe85ed5d3198baa4396d4aa659140d3f82e0644a0f1fedff13263621054fc5e4facb7d822cc9a57d7ab627f23cd5f3a1ef481fa212ffdffb72657d28e4445b4aea06f0f80aa5da8cbf1e880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 44e5a66dc46e93893255944e55621049bf7a3265aa8204b834f94adac8077eab79d185e2bb649e9e0a34978e02f4f60b73d4d2f0bf4f288fa34a87752f12cacb0ad4a2bc20c7385df96840f3e296cf134ae34fd48a507abfc879514ac0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 559f5791eff4084db85eb844c7bf704d636a1c9d58f1e5eedb50a89e4f6b47696e9078a51d2a1c70449cdd2958dbb286808f3cd25897f45915259a3d67d29fb485ca1d5ce1e5b78d5ea561af84c2783269b971490365fb38bf45ca6440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3a9d11d0422329dbaf948512e81a32aabb908d9a7dca7df031220d7fdda6ab67a4058c25687ef11f1c54559a0097a8bb54e4ae2153df7dda262cd4cca1d3cc57735fd595eb1efe00db9da6877e06cf6e4f08186c4cfe5d686e2502f4380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 17c7e15f115823be8651d7eef9c13f5d8d5f88fac433758aacc8b7ecc11e3ec0bd8c1f26912aff0e7ab07c7bc0a155030a33c2de333217dfd6d6c9ae4b8e554eac22bbdd02c754ae5939de23cc73c307fb5ec6e2e8f435b5b1686eb1e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -bddeea0c88e4206a8c0e563ebadecde651dcb3b04e3f8f61ab2a311336bcf21b04f2924866820cbff5df562082da3a756a93d1bbe914cbbb6977cfefdd80f87b90f39bb73d73a094a3725415741501d40aab14d07e61bb214f59a7c4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5bb59380253af56d1ddf3b4dc715168f7111908c51f2792965b42d47fa616969bc68aae34935c87d09e39bcc6b0536e71bb50ffc0a1b318883b21a670e9e1b183687df277b8e765b3470141f26a754d341295f6d08ea3f10f14f0bcaa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -176ffba30471a011d4a21a84d423199e036b2a222e6077b20b1db68c3b2c36348c9ff95f81f642422015e41f671c3eadbbf7ed746659669144337e7fe54ff23d5e7c279caa850e27abeb06a35326767ad0223cd576b466dbc37c449b0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -244a00acbd15e533b66021aab67949020e3a8601cafb722ebc55d36127081a8d45018f722bbc47742ad82c84bf72b7680f35678dd5c82f2d9dcc4adbcc2033b0434d26e60d3935b93cae072d804de7b085e6154f712d20e69c785be46800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = dc5d667da6c9e85b93d082a861c5c5d975b5ed0e98acbe367682526e49fce5a01b1b2e2ffadfb70fb9084d68e25140113d24a291590f1ace291ce8a8f84010f364b028c9d006c1e885f4985545ee36e81ca00cea5379982119bfa77f1400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -fb82526eec274be217e93176fa83f324634b1d9b2286bdd0e7c4aec104d8619ceae274d55c62914ed2e74fd80a9704c33aacaa3ffec4f68589d03fdc6caa0434055cb09e408910c70910023b1d82f724412837cb2a094bd1309cb7914400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2de934ad05815f20474756b3c2f85717f1be00847c2289652d637d0fbf38a73f8ffcd00aeff3233a49c2c585b4550d39d10ca70460e0ac7029c8d239b518cafe9582da98b645abff7204afde09fcd27805404ced0b6417d7c9bab373e3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3b6f1c0348d3c0a4d0c0646f52b5adeaf79c88f61569ab369889aa6c5b731d1d1d324ee58fdb87a1f87e5ec60dba0f55d635e8d9fa857776920883aacc9ca153ecdf15595c5a0ea971511303d503553ecf0592d66ac22f6f6aa48c885c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = b6c90f3e40d7a466d41897f7ed3ae6ee78d710c7ee3e930fa401de421c268df7e8d7b69ddad045cef6c5284fedf866912dd410055c581e6aeb5f3fcb6e3ffd939e61700029b18be4573782a112e527804abf08ed4eb2a42d6d698dbc05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -cd3f2ea827e1f8eabd900e0393742414ba74b46d4bb7dfa0dc56d7de632274c65ce5a0fa48b6e4c996e6fae90f945465360fe249f2104d3dfff771054bae384fdf331cc70db6a956bad54695eaf99f5b2c001a7bca8164a0a72cb2ec7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 30e82e706f0273a0e4fb7ef1e9821b1c2e9f193f4a28c834febc4e64e5ed1bcb17afdbc33e6fb85128e64343c5609e800f0109d500373f9f92351a9cd6b2c2b63e61169a61c2b11b8c3af01089d42be8e9675c9cee9e567159eacd02f2a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3c492de6709eba41562d667c39f3bfc03429d3581bcd86fd0116110d7376566ee6a4b68228f56e0b14506a8ddfa2bcce6613f46b489c179489edb05cbbe46ba9c43af1bf7b1b8feebed2725b16337736734449b6dfdde208a0f74cda7ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -71583dd3c2931b1a53f012d87718b0845f1adcf635c15068ebaedb6b2d5ba1c96143456d80f36cdc6ab0d349f732cfcee630eca6c2e74b34f7896d5e432bdca27b523ed1fea698d761560e1961438e2372fcf249895c290c393c2f8a284000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 58ee561bad40160e1c25a07509627f6b2a2b216a6aac780dd6a0b1fb96a952c9a1db57c67e68c43b31888745dde4cebda2a7238382da57831280b6e8031defb4c8037964a8ed5cb6f883193fa6bb8d8f2661a28eb22bf7ac8906268df2c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e2bf4577765427a8c262efb64728d773522abe41edd099b2f48c48733a96489904672c350c032d141a5acfbc17b27982fd5bd5b87612347dc6f4d5ca63f9ebf44a211e67d7662f0e041d072d95771ada24c663fde7e1176d494aaac9020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3ea2ee00320ed584667b69eb3d88220349466eaa49eae784461ee5b9036d03c97f72296de6de636ac473155a58846c05e30a00887c87dd0174e21e63014fd202c5d964b19b9ea460cf1d3a95b2a314bcd845cf369208a6db4c27ab019fb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -8172ecdf5c96c559983fd7fac55c7cd22599fbd75b03fd289b53056a0184d4fcd13993c7b837018e11569387f63367c8329c7555fdb65296484eca7e38ec55ee5f42b21d9add1f719413d490620d67cbfe3aaa6a942763211be1f48f95a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -d5cee4bdf06728b5e1446bf3740872596c1af5782617b07de9cdee60ca8124b5ed9c73b56ecec945c10d0b8845bd84c3313a69307c54c3337c811fe69dcf238bf77ddf04629ba601f08fde5b8596e5fa7cf8319a06ec70144433a7dab470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -12882ddd0a46c88727bdd74b622b47fab2c794b3bd40801cefb5f351b910eff4064a2939a7bc5af179edf667879c932b5b1b8ac74729f6b445fb429b0dea5903ca003cfdcdac0f0bc31a59fea22478b3d8f914a4bb3775ea6ae9a7311a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3def49ad3cea35f7baee23d66a8e106194ed043e6d17d2470f02cf0a6a387f23df88b5a4f13392825aa5820e917ee24c391e5da17a2cbeea000131693f2237ecac8e0c03a4a6928d532797b9b38c5e7c6b4fd17183007d156f3489522fc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -bf162d1ed11ba1efbea570f36cb8204eadd08c7678d8b1c7fe97aec1c9d3372539e14715e58c5e174a6bc239b9a00970176e1227fb4293910f2aea5fbd60a3a9dd330730c4f1708e4de6dd9618da59c0a9bb68b76dbecd061f93476a13240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2245c0b428bbb83491310f6dae37f84f1b1da1681338bfe7133e11b731aad31e75887be98f72cda0274d17e121f2e740e11af0fef50b4f557267190b2dbe26a1fe3694213255044a3efde98787977606bf311c06d1f7025a5bbe3bb0efb40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1ac8774d294a39567592998fb574044219817be4179174d06d19756dde64e762d9ce6293953492804dd1b252f0860bc588af89bec1b55218f744ac22a3b2bbea5df38e6601cbdae7cf3afbf1fce2da9140b86584a9dcefd3ea32f63a7ae000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -29fef7e0ebd48a9139cbbcab9417b6e983195b50860c61a1992631d48d4d0d2e5b44cec6022fe639b6a0ea42bec0e863684a5ef5f4b530bd387e660a532dd1d740ee262464c7739fe269ac071632b1bb64112c75cdd5ce0ba37c4a3bf10080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9a36a56c7b285f02467b76009a67065e227595767b882e99a4d6aa5c92903bbabdd941221d4adf55ec4200f58f6520c2b33464e17fd6a86f94eb3e5d86da317b3e0fce355569e42190cfba437a47be56ffe0da27ea023e39eb0ffd738e6200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -7ee5541f016350882ae0fc0ae71cf61c318e9b3eb0580bb4af5ff5a4d5d9b99800b203bedc038f2f5bdf490da44169fffe9f5be750cb1a36a382cee7ba91a8b6b75c2ac21d3bb259aeac762f704919737a623ecbedcccbd1f0a25277d93300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 32de2816039a3d1c677ffd174e2fa9241bfa8506d78950379b9d0e169da53366626c05efcb23954bad12a6e5b692393154d06edfc893534fbf999e451d3b2ae02442ce7575293654dfe4640a5673620b98e1e4455d1b253665ce7a353a8b200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -187268daa035c61e091a8692e884fc19c4f534e125922a3ebef4f62128b7f3ed6cef16212299690ca0a91c61310f13da059fd75f706e519d237ec3713cfe8f4feffe377ed15a19deb7681d2fd3483aa7ab44b74f96205d42621c9b99f6f1400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -333af4e0381c747386422eaea109c3f9af33e9a1240dd93ef9be946921281bafa54585e6a02185c61fa80cef74096c13655c1c512c11bb699cdaef0f2feedd6b941b89ab7079f4e1f3af86e4856030a1670689db8dc9a63cfe2745685626c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -20b445877e2fdce05616c4f870c2a6f2d99cc0807d1cbb280e30d73b6b5b0996c8dc964e29d83b70aa5c1005a2ccaf29a582b1f25e3ba51ea8a7cb881cc97a6a1319184f35a4f4f504e8fec3fa441750c771d5938e3cf31f49df7123bacfc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2250dcd7e20e07d81f659baf791f73fb9bd74b8482732694232a81baf27e141854512e3762cf50782cc5b1cfa3bd99aa19b73f10d388f6d4e6f7fe7ba5ad740b42991ad3e07f5d4d79180657d005368fe51afadb02f8dafed50f5402e715c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2e07c7331d689731a8e0d70a4064345a24fa3a35ebeb312b5c46fae9db03de6246b42b9ddca2f6add61511470b8dd9cd40e47f501749c59b52b39acd45b433f0ef703d1d01468ab8ca291b14df66c71c20b624bc4b2d1b4770cec1cdeb3a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ed343bbf0ec1abc725556dd794248a92fc6db8866660f0ffcb0cea3a67bcc1fc71a4fe5d6629848e587bbe95ba83aaa2fff2ba9472d8d99ad0bf72cef0ed1703b2d27a507ba6688bce5208719b6c15a9a34ff08af5acf5ff944e1bf8ee3eb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -702a435e8cf5159c586b0527f575f1b4c4949136136ad991a82361df0882e47893d1b2b7365012f9547a9a9f4a2ac219b0a240d420ce6c170de472e90d87c96e47d6516978f8aece35dc111c9725368b792a5071f1cf523bf1d9c127c69d7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 290650e83ff7e5914b0f4243a4118525b8a83b7276e012607b7f83ef918987ae51938338c590e914dde3297928ee78654da94292fedf680fef8dc79a079c0b9eb690def3ffce21103657e5e91292ef4a16f6bda98e46bee70cfeea32012bf0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -13570081a8543089733dab11992f71ad6850ac82e52188b4925fa6b78cb57aaf94627b14a1a79b8a62adae538c0e006c19a727a690143418090c29dd7df5a8e34805ca0e82179414bd20df2ccb276fd49d4955e5e139a0164308a871864ea6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -def1909e0def73c3431248f36be6f531965e32c79c3ef2719db948215344b610decb9a827af3dc9cfa4bdf915ce15e95822875b61bd6423e33ff2941da23342130fb5f4198278cb757a0784d3078178997c4995bdda25621e05de46c1fb18c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2c8351c6706753b037ee6c6c685c5f975d6ba8fe0c4783560881d3e1d159dd902d30fac3b1069f434895d5940e1015e251f453ee6b21f52b007836c489e581f430fd51fb5814e16fa81a01b36817ac0152ba8094e00b06d6f5957faa9b6380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1329b68a55872c48ea22489a8521aaef8283eec494644efe905667265d09592165f2b6923022b75de6a5e2d3e4e2289adb181dee6b0e8f494c750f4d2f465f251251c0cb0c6e892506523ee4568396ffd4e324b9d789951279224b7661f6ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = dca26d8c4282945ba832242622391a7227ca043bea0637f867acc7d9e7f41ba1e7c1d42b9ddc8d50c65072442d9ad6ebc32afb37c4e4cebe9dbb7be6848bcc73b2b5f039590d42700c37d33746bc140ec2e4601557da2a69cbc13015da32b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = b4c4bb4f85ed1ebfbcf6ea868d758b4eb29686aa6a1b019a879f591558edadf182bb9202efd1c7d6fa996557268b164abfd9acb22928ec4ce15d739c5205952462a603a852a5a095e52e04c62d630d0ba0f84db159b78191eae9f72a98b40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 856be647b6fa7d68b7d0552288444365cafe8cc086ae01ba5b80e3e1cb421f7403c497565fb1ab1723bacffe24072bb558ce407a7e94e8750de9de44daf29fdd5edb2a683fd21367b253da28a95b7e1baa5dd9d0b2cf29cf0c9df981441d600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 233c3251498d7818e8b5d65493af3cbc3412c815e424f57cc3226dbb541365e0aca544a43063300136100f3c1abf100d31ad604e9e497211d82bca7661feb36e771b892ba11a607ca6f49354ecf24bfe2b679acbb060de0d1666e57e21003100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2178dca2e0da42edb48cbd8f58c4b129b579fac0dd183ee6332c12a6843c6da7b40a3522e491ae6c08d1a9347aea875a14899ce91ba152d06b578d766cde8621fa2d4665373ad77cc47f2947e3261e1f0a81f83c3b3236547d18b844acf0bf20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -b4f2db6a7ac2073b01977aed81daad284ee32f6a03e758e7d7e4ea3eb1bcdbb1664b59e1fab2eb71983e6f23e23b8b65b7172434c32bf5ea9e0e5fd71141fa6a8636dd289a1bdb853be1414742d2fa144de542eab756a5d69569ebdb20c1ac00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -a407ff572bbbe22828152f2153d8834546bcc12586838f28e1ed3e1ea56e2498976c6b71fe9660b0377b02beb0c14fd2feab71ec031b4e032beeb51273c91f456859254c14034ac7dfe3814bd504621c7db5c6ada5fd0dd3baec77b9f65b0c80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 90eeeb459a2ba042d5c1fd87b940bc298d46cabc7acc7531e87769762e485a7f1e75d28ee85bc8268903177166d4cd7ab1fceddddbe53617d7a71c53c5cf3a62ea3cf67f09743c5fd9b49104a1af2dadaba267681e6c35e9e6edae3986aaf900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -c103c35e896679c6fde7da632aba294b2598cec0c61b6306a810db9be464ac456d78cc996cda3636f5d699f480f370b2694a7c25d324b6c05f2f0c7406cb56d4d36c72c54f1355693541db3217dcba0702bc290fea8b05edf5a6733259213680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -5e2694ca43b6b81564b4ab089e48ce9726ba3d02c89bd3ab7f36d96fdf9325a56c8b943789f69b20a44ede9d080b8b23b90fb5a258eff30e66cd2755132e82661b6b88ebe1d67dadfdff20193dc9415b7cee66a0df6040636aeb340c2d7402f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 509c9e73fcaabd5753c757836328c571321850078a8fc8ce515dcf0233389ccdc5ad89ac2b58282c8f62efa6205f33bf4fba817c88e519484b290ad58ab3b48318ebf292ca7839aa0acb463d89bf4bcaa61a21b5742e1a061af73d2719ff08f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -12f7116a0d24dfbf36c7f27f1d781584f136e515821d7138f3b0f7beaf533ae94f82431e97b9e663eedc754688ad5f4ac1de137cb70f465fcfca6e858729246030496e882ac3cfdba28404fb244e8f05098c0b2847aa364d02307722212d247e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 33218cc50eeedc8a2dde01644961fcc0eac3416243ecb82c9e16f36333f678e149628a33fdfa328c2a2080d4fe6f959d99cf7e55649ea595c9f4b4e2e2d1ccc1aad881ca95e8bf4467704229c16939e0c39483d82dc7fec7ce73ee025a579dca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2ceb0fdccbbcd8871c04bfa3efecc3c2472ee6c2da6a2c64e28516a78276a2b8065fc5236eb7ed07d18fc1faafb39410a96bbd2f75826b727aa90595b41e19e816d57c6ec7f0d5f2875a028261a9eeb40a7cb36948fd8e557b1434bb6ac5340800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -47b2d10570049ce8e8e2c325d95c45b25997bc9d44e25dcc50e0d36284f85e42c2455ace24ebfe18afeab2260604215be0cb4e21dcc0d6720044af7541282bfdb8f0d87ffd65f1dbba77cb762902884f285a75521d7942b8e7341cdc4c1b0c2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 15945870417135141d87d66c071ff64843aef977fc78972b461dae07fed55cfeb670d230c76f361f02a4966864aaff5d4820ffb0322e1fa761dcadcc50b00092002decec03f2f69fe96586ba3ee81f9e3d52f6b1b559b9a610631e95e33c0193800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -369c4d93f4809951579a687b29ce5cf80b15b8d01ba8a80f08e78149a78072cd13fec4647bfe23772b5f3d90090d9687e3af33ba9e64e5957ae52e81a50e997cf0cf8ab8ecfd5fba4af61c7785097b32e399b0f29f02bca56aa4d3c3ce5df6cc800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -37723924cfa663c4a474d19ae45b8df78a144f121cde1a8a5787e89dafdbe1e6d569b66e2cbf279f24aab934ed1553f17c645499e4364067f9affad78b9cf034d4f2d8ca3c8de40ff34f20de5435817f0639fb3f29c414e055acfa0880f907c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = fcd4c8d320b3cbe048d6af90bcd249e4270834cb9c71325dbf9ec912586207023c7ab2a7bd1ecf780b8f565583b502e8e30565cd8cc51e616156d0d21e056e7d94536123d7520c4de93620c93f3e9e5493d64bcfc07774bae7c366fdd94bd095000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2f31962b30cc655d1bc8f94f1cb9a9a52891555c5c2f86f750d5edcc501709887148d0a3cc6c598812e815e8329c48a90f2fd2f914eae22a0d7da3cd0751930a16c3246c906827d80ce6df7b9ee89b1d9e1a71b5be3c60abf89662acb58863626000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -eda66584390f93a64d7f37a2aa0a1d0b037941a87f240a0d4afff2e1c36e64b5f395b079d59849f1dc010384c20538e760797d578a862cfe20cd644fb9aa59bc518dff95eee494b0161c7a011cd22fb3dcbc80a15ca11d3e84542fa58b4e9f48000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6be528ea05e074191f330b8ffc0f1085a69af967815c66d648e4f761625e0ea3222951cc05c4ef7e9da38db78c976765cd8cfa4d67907d9305713dd564f82e7cfa4d3415c6f9cab781f06d37d68ce02492ebe0c98964b14ff09c420f6322818bc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -701ca238852c69f883c6bb2ef22899f21fee5c19833f0f17ec560d05c90be499669a80ce040ed937425354fc6026c0a75494dbb21a550e9b6a96067ddf69cc00be9391cbca6d2e12854930cc60b9637489c7832619682e3a8501288eb5716c994000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -348153335172302f58f7e0d039f6d0746dbb8d9149c1efc4318dbb4fedd868955a69d119e9db77645e9e75eea76e12553fb2e7454d5cec83523b70d2d390e44492c74d269497338328d0b36922fbd36aa259a42879fd5b6fcc49cd366101f0ee78000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3c5c339ef9655e870cac0e565a7c99be763afa874d4ea1a902477044880a048e5302064c0578d01d851b69ed314a84a046ef7e246b4c8422ebc7883cbfa61f8be565468930181ffb1812edb4724e9bb574bfd8c5c08ccb5d33f5d4b47b180db148000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 174778c27031459d2f0183b715463d3f432d77c694b5946daa208e881ee0c6854dcf0c16db37c767246554afc76ac95225b2ab99f736e828d45a08469ca9f839ba63fe3636cdf567a578ca4f363f05e658144a8aa9250e37aacf7004716eac60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 85d10ea08ec273fd8fcd400f1ed35c85a76adf854af66df819966b8f77ecacb97b8c7d6e789227727f4b14e543baa0355c2571da5d68cd2f8fa4a5e2962b4dadc9de001e3ead8d93a8512c8d07d9da31765187837ff94589c86d949b92fb3a1bb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -345c89d5b89fdafe9e8c160ec9d54677266db1382e561cd3975c428a6639e9bf61c6ea27e19cae37654c392b00cbe8be189be4ddadcc17354c4a4b26022246fa452b1532e29ec25900e4abf5c0e158211b4664ec9fbcb23e4c6f4235ff9b08674c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1060f7849fca647cb08732e04e11f9e896208edfc2df7d416277faae0704fdacd41d262d1e0aa4cbe5b871e1bb5e7f58c07a32aebf77ad4b3bfacb723147cf13376d5598759fd222ed7ee96a87f70d1ac617f10078d41e4c4caef666a0a4ca3840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -528a2082dbecf2380373e2a4b2e8a4c441fa77bfccc72a0d33bf17ebc6ad195b1096d85ce91b92743c4263985e808a8f69d8a595f3eb49a3150a182c3b3bfcbf90bd676664f4359700c19c4102fd653d9178e84148d439ee575ad15de39082cfc40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -9ec51cbb9af1225be617cd1ba85a91b51043229a51f3d373ebe404c9c0918fc8c0f64bf27a4a9eaa9948af977e2833a6e08af634285e2a815adbaefaf71db314e49ae54c0f071cdcd43858ab352f468d8fa76ddc29a048afa14ded9f42026510800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3c7367bd9ec918898e9676feba4ffb1f53ada0be897c1200f737d3dc9d5b0ac0fde887bb3f8b6bd70bad1e40f1b729938c09b55cf968c65dfd9ec07c1d6845e5c9cd9aef2d00ab04df04ed5cb529df88fda8bb7318f2e207027aa419d403dab65c80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 76ad939070f8da3e64545fa153f7c4bbdd070bd87910f493d36bd62b89e3d633d3fe8f4e90a79a8df31889706e10c6d9229560c5fcd9bf60dec0a8fa58c0d1a33f82a19008f0f106b76c287a997ed7fb6c5f44dc958d0ad6ad5df0d658d61eca280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -182bcabce488cb1fbe0737d1cec48010216270e17623770957906cf8eec670aa888b69f38c066ad73fb98c44a0aede069d149c4d567000866a305cdfa03e8bc1299574bb6c62075f6cbbfdd9c0e17c6cb148e9229de52d709d8ca08d8485be740300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6290e3354c63da4be8a01844c08c8507b03600335ef1d233bc5be8c7204e56fe0d4ec0619b670970d3bae8c4a170f1ceb7a10cc18d5a4abd41f2143335cbdb9be037815109764019c514ebf6914d9e445ed4b56ec0cf6492504f4349bc1882e1bb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 358fb85ab0c854becb2cb8dc040b9e9ccc4c79e7d2237211aeed6bef754c7c37dd400dcfa41ebd2694dcde70e143816f4d157b6da38f0a3fddabca0542768fad3ce6d1e92d317c06d35952f8829388b2be73532e92833b6d46feae4b88b204aff1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1841e62e10b52e10bc4cb257e6a45c50caf8534902fdc2e37821dc9bcc77b998fa4d3a878cf92fbaad180e0b151ed68d190de57879a5b3dc66fcc1db38d78628e833aaf5375bc5d66c9573286a84318fbdcaf8d331c7b2bfa9c7b9f45d5a4d81c9400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -f4644715809c37f738e8cf78760a4b9f09b9ba0ec14b166de892874d35b97d4cb9ae5626e166a0c96665e011403665099e0beb1230c8bb9a08f6f0cb7dbc33ae38208e2ac278ff02794676976e5925ef898b0bf460fa66aed7378ebaeda256e9b3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = f83db7620a649a31aec030e1a3224693bdb81e9f513122d338ca74cc10baaa5697236a36b4f03f5bfa4684c3d0a18121f8a845041411e8443c1c2e27df844d2077b4b5d02220d739499531d8c0bdfad31621f126113380b6c22e7457b02c1a4ea4400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3db77f11a1fe3d39f2a2768cb803c6ba90fd13fdc41dfdf3d119718c77369f0b6156f4799bd5098ecf8c2019298269488e4107f746a884cdd78b76359894e3ba71e37c4f7940b263517541ac18ff13f440be430ceaadcc4e4f2fc402443eb8c6b43000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = a8a2322e8dde877781c34540afbd57080cac39e603c6db37722a89d2c8a24fab5feb42f36fd0569ba8a74fc94510f27bd24a9eda05375c54d45d4961c3b6d4ced2788351c8daaed59f1d465ca3cf269b0f7e6afcc61a68d56b925f5239e928c0d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 5800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -b6a299162e1d87469fe3cc592330fcaae818eab17c1cd26c3424165cef08d46c6f21f89db9ab2544ea057713901b0a6b84a37da9233ff64be7a0b71710455ba29ece4078bed3ef1ac23f8e97555bb2e15dc83d688a7d10da7091a859775937c5e46000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = b0ce32ec7a0bd9198184c389a30e643395618a66871d3bc264afaee7be6209902fc11e6524b09bdc4800169f2130f410e055af44ed60cd9026abd6a194d5f443583684583d73f3d0ed4bf26a10e150149022c5e6a576eb0cbeda5f98d63ec6fe6d3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -239c2d4b65f1daad4e8d4fd63b791dc3c5bbcdde63bced68c92db76dc6b1f526c19db38c66fa90755520a64dc0c0f73188dfcb6bafe6ff3b35a3cf46055b5ad00fb4dd5c6e8a47170e93be2379b0696de9a4c78830294dba7ec7f532afa929c74a2c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -9dbc75e308a087fc00674d142e62ea6106379f089edc55d652405edd9597210347366034ea2c3c613d281a28e8979a4f3420e2f3fa67fc0a1390ea6b0ea5cb247d371209da6a9b76d0997ab010f64a9e9016839982b94463308e2cdcbb4fff96cac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 14000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = f5f50796d34838c9d4284f31ba55a6b61b5394e1a964d913069873577c1a6ae4f07f156bb01393391c4a69719ff0066d070c9394962b1419dc50639ad1bf7698252822df61bc098ebcaa665ca841979f37ef817cf1825bf5396369ce90e6cf22a9f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 72a9dacca5d4c46b3d5e2904802742af901c27a9d964d10f2533837c1772b133950b48beddfdd65ab67e3c5e3b37e5d7d3aa7c3740f786b3628820cb6242f45c9c750d80df9f52a00f1e3acc5a6c07bb99be3da3106259cf75a6c26e03a73a33a6e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2d99dd1ba488127340dfa74e6396636381c3d5cd35c8def1ba0887ab4e7a46e4d316f12d426b535a2d0908110a38f8038844461122183883f0b130be2bdb8a73a20ceee467f9757ff79cf4e3b851d2b6a6cb9d7aa391117e51f7dd4aa397f188d5390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2a2fd9977ba3d1fa68155b53aa70168bf10bb7f8c875a30ecfbbacc05d15bd85e23c788c24c4a551c3f66a3aaf40695a84c4d6d1d2bbe5f8218162beede02aa50432cb19bfee7f2abfae44762dbdae085500884c014d76f613a625e2cf78dd0576f28000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -8900168a6b2e1a6d0f765da22d603e19355cccb9a093cd9f3aee4d0e0342c12d3876091525f080190e6adc4941e48f202c4a4ad1b2b638f5ad7e88221835feec0cc2a509d36108c484133d405e5afbafe99e827f1f2142fb56e0623741a2127a69a50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = ab7308b2da2035eb2495e92055c060034311eb7a31136f22ea94a44857ca00d89189b58de23db3f2d52e8997fa49e725aca8ad548c55a1198b5a9596839af0594c26503973c4114fc431cfb13c85884a36323070f10a57dec788bd4205235f5a98c10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -90f7301ffde3ff2b6c946950a434bd24d3b79815d4a8349921cf9102210896f989fa37184e6a094938d25303c7943e3d28101339bb0651762c7414321cf03a40a2336b730f0ef231b55ab1f5b911b2b3fd6d299cce372589c0b7fb6f3803d221ebda0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = aeefa1431f2fda3b5e9c275a5c8cc9d15d31e0ba5d074245ec5bf8582950c835343b104ef7ce8fe3cf2dc02904aeeea117e6ca72d00640209b89db3fc626d92c37de97b90a2d5a28630595003ddeb1642cd64a7dec8b27b418f69dd7cccc00b247ec0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6218b9908879c620cba99e46a3963b841c6b5666d4258d40cc9a115cb86fc9c72c09989d470afa3ff623edf687ac9a04e07f04e7c27efabb85b1032e4daa939d0a7d469f470e1125594d9eee6beb7dc3652379069b546b1f24916180d9c1b0de7c7cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = f92ae6ca3f155b7adfffb06ec5438b3233d621c3616177139e0d04e7c82f026f9755fcbe730f84ac30288e73f66ac2f5f23add77baeb96af01dc9fe9e8f3119a2825b0567bd3ca16bc14fbdf619f30e64fcec1f095600d444f5bd6a7677b5d037065c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1c11650033fdcea3bf95007aef07ca8858744536d5666d5efab80521b378aed24a0f95435b48613326563a22a18b0b96db436d86fb460a84a52ea26fd2d6b1ba38df63f07fae533536749c59ac046a1de3c1d3ecb8ca441a7237049de20ef5c1956f200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -92cb76ac6ba76c702c314dec921969b56b67c00a2aa81e8071258d3b5b5e112497e386285334ef32d8ecfd0469f39462da7eee0ca138d6ee5c4785d279958718cc7ead0b436a2c1f7aa95bec896bff95710e3cf67da513826c06dda0dfbe4e4cf67080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ec33007430ea1267e10db2b92ae44554cb966759304f20fcd5b7dde74add21f729153558fd3c348f5fd4b2976c887b3804903a5bf41321fcdc350566434d93cdae0cff37ca5d6498a5210f81481d54b20788a8f597b6018322a9380cb1f139f076b3600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -388dfd9df4feed4d48133633636e409db418273ffeeb38654d749776c22d0df13f692047c744e7d3fd97d795b8997958aa59706ad4a06e2761a2b855b7811117ec59c4baaebfcfe95a095984d1109d21170aa6e52b01e91e6af365320f631c94220500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2229102223164d17c824174cb30f462346ac439e8901a28676760b73764b42b40d404f98c07271b62bd56da28879510af609121ecc03643bc5a48693571afbb17756d2976cda1fb14b4d87ec307ba69238805cc347b2ad386cf10130377e8e75fa068800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 36255773bcc30d813acef3752a328978066cf259c3a125bb3d302734c7c2cd3981e6f17ef88c1851dbc2fa9bf1efe18bae8e939133811ea230c57dd0333da63563d217467b75779366801d9a7cba984bf71a9b3646ad4bccb9dfcc845518eed4a0d17000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -c4897af4a02ff65a0dc7b1ac4b63940e48bce3b40a89339c54622d3ecfdd93c87f55d88d41113c1271694972396c68e39bd81d7f93be7db24be0110eb395ec942335f7fc5fca0ebe79f0aec418009fb021fd68e920d6952d8fc4f9da4269a9f1b9aaf000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 427668db6b7fbfe0fd19e58b124d64c69bf7b2d60c2901eb51d0c8bb7dffa8943b01a01cb91b8f8959cc1d32e1fe5102ce4bfff05bf0f35807b9b19a85127c8491622e5e3b194b62373824a689f82c49c3be71898b3f3458b29353f82b86dc544a7b5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 96183d0ac2676abccf2ad89e8e3e1013175661bd88504372dd67d03457b8bc21ea399c9a288afeced6714a3264694d20711467f960ed710c396fda8b474929da06e69ec50fc611e7d86d46dc4e4215917b541f90ac9882f14adafab154557e88ba8a1800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3c230bab6fee63ef7ae7a30c3e3979e420164573ae42e98718c7c3dad0a68dae76c7d166a27812adc09744ebcc14e366374e3b224a77ee7f77fe1565573616919fdb9c8c2852c988f6c3ca34097bee43cc484ab66d8e2ea87e43d121ea0587010c8991800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 27ca8b71f57eeb9c5ac9f5652901bfadb4bbcedd802efc898bbb7958700180f4263334be98b73483de82f619aee3906844f69ac1a8bd224aea6e3c0af46d0ee520b6e884a9c1cc61e7e76910976bd7b1ad21d9d4f1821180854f1d8fdda1ec32a55f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -bacc3a682bc63ef47ea5f8646944aba759d2be73e2622bfa78d8c06ae2015f5ec5688da4b4cba07a4693323954b203062bf4ac3e380558b3ab47fdb07376aae56dd469ebc6522a8d17311a411634a3520da55b89dc3efb29f77c1483767774eba12e46000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = cf5107ad84f9f26f817c3a41a9a5745b42979a9ce43cec7aae33d753de7b2122afaf68320a01d296d3944b59baac9758b092298e0c47febeebf19146f5808721411be28e3a301f8662b1ade319ce149dbff9e8aa829f76ef31702dc2bde6e428ad5eca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -35bdb1fff23a1b5d296acd34f0695111de9a672a7d582e8428eb078d9aa6245da95798777ce60a7396528c402ba9f884857444c14dcb0a1b5b87833229a2097ddbf83089346074c555d69a3b8c72287b31cfede717a15be5681ec384201de4b4dfa7862000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -c82f082586d4e512568eac540269d9f0b3f44f1acf7308640532c93f04ebbf656663c87005477b9a32242c47f769f7379f56329b4e8f7603421fb591e501e6e095fa5d3eb94df1f87815c8cbb359943cd23233e2d845961829781a863c33de0b6dbb754000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 4a893fd44907aa2c3cbbee27e1c3a5064c3b05316acbe23aaa6b413867c85e3da702a25a7f63b8c880d2611949ccaafb5fb62cf71ac961310ffc8baa6c929ef58738ab5045ccdae9b281f1974a9680e124311c1de4160a3859a332f45417613fd8c8134000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1b21de02e0d0827df44b23604af7594a7c14dffc0ac43abf0d886ff4a24a0b0f3610366f5ed0becdcf68d266592474934f243c3a09ccbc3152b0274d422e9c29ffbab5c2eeaa8200ff98dee295b552a7c823cfae391209bf4cc1eb8e021e8984f943abf8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 6baacd8f9b961f37b77a77d3b78ba19697fe49ad4c3be55160682417d6077f8f784692c003ca5d00ecd33e2d395aafe45f261405ffe2450409cdc9b31be03d56ba4c29c2c762a1e82aded3d9b4f734e6d87f0ea8a71af5739245f8466e6004bdb969f88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1827a65803974cafbbe7e9096500ed68b7384a73a3ed589068dcceb5b7237e90b29bd6e6c8b71f642517a996f6a44b96fe8fe5823b09d8ab42a91fd9f2b2e6b52b7a7b047860f8ccf440c7c1f15314176cf32112d3344ab6f4a51b792b46419107b8a1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -40d2ae9e146211550ac9d8eb7452bdd6c2af764274154c0bd218c7af79db3edb250105538c0a91aa4996be9f28cf135eb75a7551fe80b2ad616cd9cf4d8c2325363f3025549f1fabe9ee5f1c1faa1545b01800f5ca2241985ffb29576d2a1761300832c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3d6fecd381b02ec5964e3ff5622f141e76bdaa365f661cff9c4ed8667fb5df6939c418aac64e45fb92bcbc81fac60c901d0f54ae5ab97b1323de87de13dec179d9535ca7dc02cfe19165de919a61913ed4d2cdaf6b273532c02fecd64625f3f24947e61e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2815dab571ab9e5105e4f155ac4515bd9cadace83520a699ccb1ea007eba588c25e8263416b2ba3bc11584c9df75d353a661ad3b5b4174e8649a142debe2123bab65adde6d163b1e91e2b569ee1acf470e9a9764eaf2e0c7dc3cc26652016a74061ee2620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -63767e6cbca76566059a5635257695cc885ec41d0ae06bb32a7a830e5990e59b946f89c158d0e7405d014b5d0b39dc727bb039c2ed49c822d95ef1e3fe144c9fb26546c075167885f79dd02b999502db28fd654f5186d4049ece73d1ad463cda9f051f7c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 9550b35017bf73abf5ef3bee12c31405706507a1618fc1c30b3fcbefadcb336d24b093990c69a9a5a3596d0726987d9b719be25e5f1bfc053620392d4aa68e634893a0354b3363253293b5fe8de1d686cf336f95e2a27beee0114f115e4179e00c0c48380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2c1549c36bbb6d17d58fc75116c5dabe06aad745da37f77edd9fbfdfa7b83fd679c7b2784508a56725d7b23e92df80c514d6e8323dff2f3cd766879a8552f012239fabca8db4477656526bf365a28d54f0547062842a9adc6f1208bf5e8d483925d7089380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 241f0a73e3c4535771f6d300636280c44a6c3187bc56599e42c5b7bcad11656be46ccd5a45743752fab7919d41c483995217f0c486b49bfdeb4b351568070c517a6a4309d2814a5613f1a390a21c4a4b714acb26e2e6a9b82cca2ed248b27b6b2d63015500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ac51bb5fcea7a2cece919a2b6cd128324b8731d67e911e2bb1bdeaf4357b3d0bba6d761c72dc74b6d03aa1185730115ef36907a9001f139390290ecc5fa9e5b600f23ab9aa090467ce686e6e344eec5163b67f7874218ecce2921f6f13479223b90d792300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -9b42a76b8d607219b208303e0ab7fbda3e9d57392659e35c22ad3efadf12e5ae9d3da407466abea031bf390346d52814f7743e7c9639e51496b2a04c4db7a78a3fa78babd374b2809c443aa5db8951040a53e16ba7e9d8958b19e76dd7484c71f102adfe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 14455bcd859bdb2f2669e8845731b148ffae15ace680990c9b1ed6b7df08cfa1565fef003034278188f2c0476bb455582ebf71e2897fe339a8598977f7c1a8ed8146da608ee51e50569b6645d32365186a94ae4ab2b84ee86a4415f3d4099e6e8009365e400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 7278d021b9990f34730a69ff74d6fd42c516325429ee995ba4c9eb2f9994e7caea70bf35c90225bf598849c77300f59a3cb72d472cfc00e7f5c05a42609c1b3dc81f895ac07e062057e61349d85cd1682e6bcee197607f0c3828a1ada4d5d34d5e9247dc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2b58b20f6e868514fba7c2ea38955cb9a434c9b65ac173f2333cd9de736258c1f172cb90b037bc781421d0e0f4e03c18b4cc7d572e26f49f4731d0e35fc60d1fe2fa33ddfcd2fed53cc1d4360e278eecb7f1a190094cd8c58bc1d4aa3eda09447e8848c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 9f18f0984870e1f06ff505f4d3c817bb71c6347cdb77659e11961ea943aa82a18c7fcaef20965c12a510db349f02f4ccccf701b6ba022675d2922e5863160852f9467d1f8f7fb3411379c5ae92b8411a1d33fb751faaf012c3878bc5e952ef4f3d540c69000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -24591f36263a047e63e9407931a0e0d5c3639fd6d363a3cd563e948e7d86905e20a360c89565d193b0e0134f9ae57d92a511ee47dcad40a3b70c7d5dd063efb58ca04b0c48a32d8508e0db79d0f88565e16422308f6dae93ee5bc74d38bb06d52f02a1c40800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -b2bd6a29e62b438e37a313cc688f8bf4f021b101620dab239f68577c75ad531d6dcd83d395c1060fbe63666f5faaf1bc86f431cf74a064a6cb7a245c21e65c3d10481c7e2a73743333220899d6084dca7de98d3fa0dbaf28bd65093d474fd0d713fe97ea800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = f9002fc1495b75fc737f260f72a578901eda7fe42590cce518e2f0cdeac5c263774e35b1f5323dc96ee376c65e8fd2b13a8dfb73416fa0c79b4333ed0b9f539eeebc8a727aa5f46f76aa33f49bf664853a4e0c14bef19ca7cb7737edc560a3c3c64bd7d5a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -303a9c25bbe671ae82b2d22d4986c66fa24410bf5821c5a42f68e6448d634a53ec02898970e6765dc523297100e13c39a5b82ecbfea974d47eb3dc4c57d629c76ab1dcda79ceb91d64633a5291789a9a46db67e34e900cfcf8943a6c3b583d6c75a039034000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -316c0a67cbbe90d211a29f89298d739a62e56c12afb82a7c70f10e60c1ef798b8591e46fe099a7dc111616ccc8453b743fccec10602c15be98de04cbfd44e2a40c6b4ba25aec7610ddf8f4ca154de0e34640cb3542b10932cfa76f13df0e2038707eb1112c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = b143caa2c95fb2b3053207a7a6eeab2e450a6ea81ce7e7c90e2b110419b0462031a4404bc76e5f74f266c0d3e11901cf763877282536026421b80062631ba81dc7f7149084d27f975368f9072eb6e22e87fcb88f521e12166b5e04a1b1c0686841f847f20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e3399f452e38f640c8cb7141608b26bbd2a37bdba335c93ef3b3682c59b793b763718dc5235f395285c16220b867ae3922ec0662e45fa97b636c348b78d87f72dfec4e2a0cfb9217b75d51459d506e5f79a8b96ad67f0f7d19c8100f152926be274ff08840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = a7f72c3d1fd9bf95fbd88ea9fdeb33f154364ea9749def1d2e756d60737f7608ba1c052d700bcf7bda2d62a0f2bdfb878ddb30b0bb5c8b4fc3c659c39eda3a7f5ef5024e78d5912995691e8e76bc9385bf01430b5ef7f0e6d864b7c6cc04e49b4f5119b19c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -108d2613ad737d4777012c0695576c50cad9939021a86ee0828d2d63eea1cadc8b611b3df9567066556974b7876a45c1506f0b0e6208f5ae40a4b2cebd9f4684cd68ca62dc3a689cd948222c1a1cd1c94ded0f547b7f4df4d7750f1189edc9b6d2b53dd9848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1e05b1530d8bf7c2defc9e7e7629a930620ecda096f0e4d4d143d6cb309f7533fee6cef27f01ab528fadf155e765bccbb6ded36160d86af98823ce8af95053a1b31c9e618280ae4907392ae961d6bf334c543f951714249b343fd6dedfff3336b3a1f05b9f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -8287c6d78fc850948a8b859d82a952e7fa5105e5017f4b03dabe676179b35840c0bc46feaa5deaaba3762269daf1a1fc5f7dfd940c4758987386bc1adb248b71619da4983895dc9a4bb360679cc5c588f924f6bd9aa68e5f19946f42cddff71effe0ba42c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -dcfcfc2895cea9933f44155ac194cd08c758f1d782db2bfe2e735422a9fc1eb20cbdbbef2a53f338d7ceeca0602b97ee37979c352a265814afc080456958806b2af6bc57e0ad438d540a8242c70b363fe1b00092f408f4420c7bf71ef3239e7988854c35170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1e47a407be0f7169fce6759446b0f493ec70e7092b750a067d1587bac5a97672d483f22a2202007764217f4d483e573f80e63cdd8e990dfc48edd60ede270027668a37a53352c4445fdb845238a4fbcd72fd269f091c34e712e5ebdb94ff2e253a5cc5230fa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 292ac25244b0f53b51ec7c2f35668c01ceecd26a90f5664e2cf6f80ced3a8a522e08989ec752b27c8fb5a2d11c6885ea34d05fbfc81a75f01b3eeb64a8274d39f31a14effd62078e79b80e288f7e03cbf0814ace3d1e44eeb4853867d42bfc887bcf883dd2a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = a66488b2ad4a58c69008db1d7e1c3167f48929c3e389ca3e0df34746e3b7f386497b53ced76fe64e58705f9b28885c84be9fe88242d9197f7e195d008df59393cf0bc016cd28d07a90f0c4a8ac509969557c3cb97f1d04a17ace5f2057f5f8731f688facaac0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -c9b91dae70b1bd2a897ce98daf6ad404b1ca7c813ac24ce8e2603eba99cb50a993198e582797d6f573ad5e8904a60e3ed353384069674f0993cd85247f0d58de7622b38d894bbc71d137d04bb7f093ec5358b1e997fc116477b18d18a9695990d0b87c3e8b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -12c5391b1713cef8efb49d7012c9413ffb9675c51ef0cacf4e54a00975e6e99b87d7519eb3aff4d492a2955dc9c8b85fe35200dbdca2a9ed3dbd9537feb64aea465d1ae521c384086864bf0319e3a67f27740826e50f04f458b9cc3fa3acce84fa1c928496200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 32d1bf67427c0203ea32dcba2418476b090ac77f152fca97c24a4042c38f67c22dd8ca138a10714cc26112fb090ba57830257621cc404d4a72bb2c410977345c1f2d13d3063f293e0ceac3a272ecf1ce2ca46683e4038b0c94786385df861637b7af569104780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -b8a33bd840c1c9f71b8cc0f6d70dbced1355f94b82ea7ccfcb40ed37674325f1443154bbd9b5e7eb468b0615750ee57cb6d413a3b46c7e3601719f9bc9b09808466811f58f5d805965e3eaa2b1789c9f2b85583fc024a9babd9cb582d84f7bf0548501c1d7600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f7c14cac82410d704a8e393ed7675df852ba5ef876606236416787d59c2ac2f2015ef864bfc4a50950e7590e812506a61b64a620b8db13bba1f1c462a69edfc043102bc1e1d4b6cd0b98642602fd6b4a2198397fc64c6559de897474502ee0aa82153e47cdd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = cb79e6c821a3eb0caf4b9c81984b7cb1bcc3c5f27cfec1620e668b7e3b852b8e41a592592b24364a088efa303289220b8727cecf418de1ee6f6c27ab0c5595417ca4c0f06edb0195e4aebab5f377869a1bd6b1de5a02566f21bcd9903a6344ffd0791e7f0f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 546d24303f14e36e51b6277d5177d38c82df3f2a085ed5c477ea335a3aadef96281362ca40df1a13e3c0769d24485ae1e94264af546071cffb6fcd815403f8083bf079a8b1c7322cd45a83dbaaee0ce64a7067becfc9c0ebb0be660777af4f4c9f076a5c46200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 5d792063f8750453b7bd95919505f1f7249aa7cdfa73adb35fbd790172643cd70a7164167ec3cb7a2347012d88bf3de5138e0dfe1a14df2f8b5d44cacc7bd07daf1c75b5d482f5a89b6718069e2982afb6dfbcbdb290312f8d5f5034561ef4945a43aa409dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2779bbe6064a68c056c9147eb8f5e35cc4486df2c773d391356f0b5bb98eb2528388db7213c2cc0b1de3a0df94ace76dae5f07a3b7ef1141893994aaab9648277a80f4beea60a5a43d85bab5097a587256a47ba4debd41971dfb306989d343696da0e2efdf9400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2d09c701cc3599040b108a5467287a92982450edbd8fba18c57e8d067f2965cc5b6928057bf54f7c2bc340401e7438af82cc150711ad056a89f50a6b2a868a2b3f8c709adc67d007bdac07a8566b13ae805295bdc71dda99eeda422216e04c149abf7a57165b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3d6f585d85d68f31bba0fdf03d43b609d0781e064a04d2360b73100ec2fcd81637b8c1b47355c53d4d8bc022c72d2d0c7eec6a5dcec18e596e687f7b7e37704339d0a9de4bd7b88ec635326e87b555a8973d80ffa9f753bb5875ded595cfaec781aafcdc4018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = f0d6bf3b9d5e925cf8ba2f1a6d1fb5280610459229a5344e3105d9b0c97c23a0947699969a19fb443fb2fcd9496024539bfbe428638ad739a82022b36b9947047e343876bd29705fc614813d1000c9bf575a2b6f1563749c2be57498fdf2a3f04ee09c3c7599000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -39cd23197ca389b3d97abc764cfe722a5efecccedb0081d3f6b1b093d6586928d7cd7aa709604b4bd3bb9b8f0fbd78f8297bd4b1a82ee91481f6f2c2701cbb81ef8e2fcac9ee2c3e2138bacc1198fad91d1e655f4450940d71ccef3d7e220a8529769782baa2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2a5a1d307dc1802b8c100d5f3a744798ced9ec8f1aa5996386c8133a7ebccdabffa4c747e41b7732cbbad4b4440827e6b4114b585303839b2e37e57b4236b8965c2ebbf30f53a289b935c86e1ae6f26673a1e06d16470d62ce5504f385eadd258ac129335aa6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 27d309bd2065de0ad84cefa4bfdf0cde6e9677ee9dab8e185c06815ebb9167f2bc1d7306afb916293d12d077dc801a6f2de541c2212f01645b6ba23b145bb8c3716c6dbbd4666fa8c9ba47687da2b0f9fc6d68ac3ff41fa9fc8009e8f481c011c1299ada90842000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -47a155dba7a48d4bc07511d43aea7f21186ef9cde5a505a53a6d19b7475b05a4f6220b2d018143e82207117693643be117aa0267d4d5ee370bcd05e7f9d8006e7feb9db80d716356840edbfb7c98e2e21f04deb1c6cb5fe8afa02b2e6f7c859cefc29d2239e8c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = c006c6bfbe4cb7e98bd98467d59824323a7fd67cf5bac0e365dc1d752955ad1ee00ec610e9e5a726c672e6b08221a49fd966de9364e4afa10d8abb42ef310415a6729cf0ae084861fbe7e0cec5e73662fcbf7be72396194fd784887c2c46b11c5ef08ca660974000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1be9a30ef137efbddcfe98e216d66dae4fd854ed95de5750edaafee2fa55eaea74f347b6c544c407511059e8a0642303e9e42d3989d26620c1baf4099d8c1f8412aa49a3268353503b912b68dc49ec04abc2f12d329a12a778b472d0642b30c407ed3bf84193f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 145351af348641c30321854e83f0a8bd8203b6c5e337aca47fd3a0bef85f5f4c905c13b4eaedafc5349319616ebde6ff49c49bb00ea6fac55fb883831c03699bc2726d9605e108f2037b1d7d9b51983115b45bb793fa2cc001f98746d923848d89b93ec93d1778000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 7de115d59ee283ee0744a11f58fbb46bad7219be452738dc4ce4b2f5922d27d862ad9125641e042465ce2f0edffeed923175babecb97727522feba2ee9a0e85b1f3d2d676baefd09113ae7ac3d459f48df4681837235c082d837ddb24fea0b8d2130e6a23674e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -75a05703dc00042ccebc5c221b7c827561eb30b866670a68eccd5eb782d2e23c5a8247d235d4550085c61fef51a26d6b3faf36876aa728864a4fba6a6ce48141e614d506a3461e57efd9aea708ca21006a1f97d5e280b5f0bea6ca85eacc14f074512d6d44d300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -33673f6487695a596dde400e28f61d692a464592004b7b0125b2e14858ba92cb44e99f4e5e8750853da0fd714d73034e3c2a813ec16a76412aa2b61232d4e6955642a853b120d04725b730d853d9db40cf721a3738458960d98d0a896276243639880723170e5a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -12da5d15fab87d1bd39875c099e8a4dd87204195d787ab0bfe47fb39af46e3a71504e3a6c1ead891066e2f7587f021657964141fd218e147f34608404fbb5b58935287485a5e2ef76b4afa22c45bfa3de3d47af6589dc2276e6cc14647742596550a3f6529fe2e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = b9673e319d9a47b0beac9e781f87a4336502b4ce71147e955fd4d22ef664b963ce2fb2ba480faa45e8ab65967767cb011b03d1312515f2d9810e5542e4cb6e541b866a1a226d068e490e4d7d2cd8a5eae6d13c4c0dfcec696cb2a5728c0726ed682e03ee9784040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 6add53fe3f30b30c656844f7289209822eb04fa7fdcc3774f6ce5729021c8e4a4b4bf59326d35765a5f9fb22438b163cae61b218d9277ee048751859e0c32fee1ee6312f19c41630ce5cbac97d0d72f8b2bac796a59df56895cb8e7f0462e7e07b85dafc6d937c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2b62cf6c6346350bceaab2ee3c30da733ad4c9be74a93ee12c12bad23a87a95975f5a4b06a3f1617ac4447e87c016062e1dfd0f6934562abe458fcf5daf99b19f8e2d74f9f1fb76ebcf002cfc9efa729d42b623cd3e9a85bbd2248dbbc401e6e108e94760a4e5780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 14d318cd7fbb31e6b6d5c34b7deed20db517febf073ed9ac52755c0a0c41b689c44974ce2a332db390f9a725792fbf3c101d15aad4523565834c8c8965293b26b991b181f7db74f5ca4803fe0b7db069e811a52a81dc4273f71f52bac04f2062e0eecb249a558a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -e18da8114aea706a97e718f71821a10d9bfc5205092e840a46ec257a6fcab4aae5b573d89716919abfb8d153a0e28d5c5d4555c5621d8616f07c9e8eed27e8db87b83818fbe6b971b5cd9fb13a66377a1d57486fdbcb564868251c5cea0de98ce1cd9a9ddfdded00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 88308b59a75180c5f57f4d5f113fee356eeac5294178ba9f7c172e16ceeb05b19f6fa15a1ad30ecb954d7451cf1772a6887b2279effd9414e0c25b2871bd92416b0cd5eae0bbf38de38e1f195806a236f257431d8249e5d3c81d559bfb5e795cef3d7308d4663700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1caa7db6d78c4124636a5942106d71d0319a0ffde27017b91d6957b148f53a76db77a6edc5cd24b2b3464f1bb84541e52f353dd2ad75255b42357484e3c37b2470336186a890340d2496011ca52fe6f8017d9b503e113c20a403ce6f7e23cd53e55520b11aa8aca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 18dfd6cfcbaaada22d22a3fe9f04cc1c5519f6882813274850dff2b7ad14413e72ff4a5b4ab11d0cd75301a8032eb430ba3a047525df31b6a992c0b75dc0ab11776fee52c87547d8767d947acedf4deb693ad8a0dd540741a61d5e66f0c0e837c244b93ee7fc4b200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ab8051eace0993c123a519a66806d70571e035136dd4e69c292860aa13767ed5fd490f5fdc498db5c71588688d13a91b9eca9a9e3b80b64848ef34310612d134d1c1c0b7a8127cf84fbeeca99d31f2f5923e737b108289087eca01abc60d1e731c8cdabf2a9e7ac00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 52938400b0726f3899cba4ed20ad5fb861efdf9c5d87d8aa2023e62e6dddaddcaa0b0ac6f0be2590301a70be0e8e54de82e56e75f67b11518692acdb59eb981d89fb5e044980ba1711c99996a0813995a55ea4323bcf648d6baa81c8f9ff269dc0a26f0a0cc366400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2cc0652b3f9711e848d6cbb20553edc1369aa0c89ca637429f13fd0fd4b8545c3d98f40fe74870c3813b62b2acd54f2c8f6c887091e63a76ad00dae646c0de2efa6afad39e95eceda666640955d3dbe19673177da2ba149652a7530383c4f3b3a031f99242b2599800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -8a4b175b197b70fcfec3f5a850b8268147c9570ff6fd8977f890fd69b90d054fd7d81b0d48cdd83cb38f0f6be753784534eb214c97f7d0358e5b6fd6f59d1fb1d8939faf310aa27ab857bc66fa7c91e50f4cd378a9a156cf82dcd9b6e74c154b99237f69bebfeb800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 5ac0f80b9981ba109dc14caa5c40e98fa2b07250624d97028a6c721f4eefdb8dee96205b5745794db4412ed2f0816453e338c60e63c94d18c09d1920813847c356e8ed706d716181427d9dae20d9154ff0c41f3d66aa5e6ca59d98bdc8ee7710d1fca138388f717000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 9814ecb2d488f8231ff577eddd9d4e55fc882f35b93509141256dbf950ca6116ef49660ec9978dd1faba92707243a627bdedc925208cd41a2c9b7cce735d88aa4a972b81b662151e172be1a16496be4c763d335d85b1351639a63a40914e020933ed7051ff71265000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3547864209d307f3c9a833236458d9ed9bacf51a171c0b9fbeeb43d7f54893ecbba9f513115e1cf60926e2c7de5b8c3aa6f2868b2bc8a1c8dd34e132e2bb7d44adeef1cf70e5be8d6d6db2e04a239baf0ece95bd6d3e7d2ffaffe9dd82906106684376aa78161556000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = a3dec3f7f6364d2cb70428ec1ff48e95b8d7973474db52a57ad8e02600a29dcf5b41836487bc6ef51b8d521ffabbf2a337fc54a4d576772bb811f83e66dc64ae7cbac70bb0325a20bf0b60775de98f5ba39ba959ffadee8504e8153130b87d4c523e9dcecee2bb4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 32fa3295c80590c5ec9621838936a1832fbe42ceaefeb789813875c0e071eb377593215f82c114b1d897196f7a0c79ab07d9aa2f210e44f976e5b38149ef3ac2d1cf4fe23f101b90a7c502586fc2a676ca0555889f684a25243ace84993854311e898783f27288a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -eae220e96ca097be7d9201bdaeb8b2fc5585ad437f64b7296a95e6835d87c0df948c60992571a6b2d089b7ea6131567e550d951885645abe15f37e2f275a5b4ecc9280b23e0983e4d6d7055e4449980381b49bd1f7d6885a7a146e6e0b1de735d0e9d97022589234000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -a016c846c1de41b3999409d824c52e7e2b1b24adfb498dbe48715d3bf29a88a39ff9097f573cf2d62f0f4c05d03935cd791ff87cf34edbb7161553c2fdfb5b34c0505d22a3094acae35213b0eefd3b258af8055b9af2f453e176c1cb9dce7580b9f7629b42f06408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -24a4475f77bdce9c53145bf6d5b982d1e7d9156650c9b9a1d29f93bdb06ab1a9182d839695f7169116776d2bc568a2c5c94de6cd2d8f685166bc9075a1f143e2807545b303086485ce44e87fda55bb4f38e8dd0e2d9e33744a58438cbc2ff86b8347e8f73476c478000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -668a14ead996a59001795556417da97b26b23fb26f1284b1cc1bcd378ec623fbf083b8fd5404a7db64bffcfe667ddfb15c56335eee67e0d6b8d6d6002bc953a7b28dc8a2031cfbdcf94e2e0856b6600bba878cb80fee4ffcab79080f48f6fedc99b9a2158df0de0c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = f484d8d9a8c9e0ba06264a2673264b2d18e5463b5f3e094973806d175a9ed45e4c217e3831c63b7c44134ec9270d2f75802f9cde92cbc9a0f0a03b35720002c0e09b7ef4d473d95b224d08cd6e5b7b2a3815d877e35b4d136190f51100d9484ee6355af486bdcbf20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -172de6d9e654c55e04537bec828572b7e92ff0015adf2d872be9ab8fa527f720fa2b88f76ae4c69ff76eb9771153803c7871716c6806cca5c53359e91bfb75d7aa7d086b2a921d8823190efff01a1ba28d5ddc0b4de51c8e3202b7e181f28990468b2328318a8ee2c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 5bca21e9aa0894b59f787c05e91280db0cf282f038aadf9505290cb71ece7882ac3a380285f93e6b68b54cc7e5db94a426729ddcbbd65f6f152fc8f2f82420fcf575dcccfb148e1d3b6bbd303ce2dfa49fc61b01f63c3b10244e53ab4f89b502313234516c13ef7c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = a76a577c63bd8c9b280b8687e5b47b630574654d62b7848e154751dcac02c0091589610181ae6a2e7ea41c829ddc3dc0caf85e23e61870bed55c06e9f23db913b0ae67d9db84305027e25ceeca410ef6bae40ea38719c55005f8eb5fae95e2dd57f9182796d6d734c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6804e6939eecc434606dca268593675ef8d0ba1521cd67e7d91da8b5ec595aa7bb7d3d62d3ea1c24798dd624e36012a3bb09f3b01077411399bb22a7a4b8c3894f6e797504243837f1061f96a37c9a2a1ad447a041a5d82a35d28e9ff171752a5000c9b6bd70860340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -20928e92514f46adcf6e611946a0493f31fa73476a0ee17cb3a0035bf1b9089ed1c9aebfb750b35deda1f3fa531e1da0cd016cb6d73f8f5af19296a5925e5e0856cd229ce3a740879188278285f407ac37e224355eb7909ec7337c125ca4b6265a3643acdf738916e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2cd54b06bc1097ffbf7ad9f02559b94ab5d37ab061ac04202faa50af55f05fedec498783736bd4094057f33029203d101636f67e801e258628ebb8d24b4d8f73793a17568b957925168c45c342ac679507ea3e89fb7a617f58f74507c064cf372dbf6ebb6e96d48e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = bffe439d2ddb42d5b241f3d0ebc715f5a8ca911237cf7f7b678b43228c3c81ba5687b40f5611ba878a46f8f678e2b1a8f011768a7d2028288f737f76c8a1863727ccb9e45c876af48f8cf2c51980e186eade3c1ed19807566693bca23114625a6a888a1cd71feba1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 5846cbf786cabe9ae1b79fa9b34c3afdf3eadd45cf60beb3fe1459c2d2a73ba5864fbb7a71fb42e5c701565e316eb3c50eaacdaf0f60fc7a4a8d27dd25e907c23a7555ece41ae8667cb9aea1c5b6ac6aacd5ab04ff996e2e23215e08d67225424af8fc9f7008c0aa500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 329c281ab4180d5b6bc161eed74ec03a993a1504195534d9d2b3111b003a3827b2e41a1b85037ab5b5e758a8a15e7bfab73964b4f285b90d43b669e88611cf98b206abb6f2e2b77f6e7640e00cef21c8e8952dd28a94698711c55682384a4c43e33348983fdd0a136600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 303e951d6231284b173d5f99a397941d46f1f84a9f8bb94c39f34a64e90fb480894e957e10a689d9b57a52bf2b151dc5dccdfd262ef21568c6b21e612855c043a848cf7e54be7dd666cad98b5dab49f14acbd9e6f53a759e4b5d8f520fb8c002f3c80eb7f3b7f1d4f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -fd7444b417ca029184c080a97da0e36e1fa574d4464816ab2f1d35c92e1fd3d1fcc6b5457390c4f7a3ed72773cc97ee1512aa0ef531193e0c32ca440570d4f6e0345dbbc8ada8642336d8e680a97924e1a0abf78b29e4e69d39cd9e8a71dc51eaf3f73d1be529551e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = f9c349227e2ff77cc87c849a2d8d488901f2b9d0c41ea69d594f15d93c05e55a48a4b2beb3fe9825668e3868cad2bd850f10dfa593fc32bfd8ab2b60abf081dd5f6ee245b2dff6c52b0faa8e192221e395b308bf3674d7e6650279861cb674d253111d1c54053a9cec00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 19420a3292590cb896ef68a80ca089348ae2f1d6b731b7dacc22a6c2d9a9c86ff44d2e55470113b3f4bba3c3a2d5bf57b6120cd16e2ed1fe42d1cb2a7cff8753e89dd99c27df197e71678f9b81e066f00a033706aff0c13ea9f6da90bd64af70d320af4f09b0a5a3dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 38cecc011fc23e46d8add2c8e92930d804f8692487763b54bc9848b7833af1b76156ee9832ab2006a3b52a5c981d48b697dc7b1fbcf5697edfd883d2cc89e34ebb41e34c4ec358afcbd9c5625231db7648c25923886f97407021cef0d39a41f97721a1b87c9a9a24cc800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 8d824db8f2968f3c0999036ad1923da35899b24af620413dd77e0c9097f7c5da140ad2761a31fa0725c17b10e21966a7e9a68648602e3342b5169b2ebe0515798e7465737dab081e8a43d32d971368f43f0640eaa3f141e578c942b676306afc559f54e0dcb22da931000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = bfce8af7080132ed18a5068dacbecde603fbf6a4b8067e41d73c42cc88562737ea9cf4bc7868e99b06cec5d1587e57804552089fa2a395e242cc47d4130feb3ae256b8f91b511bc868cd8f359eee97513aae1057afbffea12d6c40cd041b8bc9ecbe820af053961965000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -380c82a166d52a647c3e02eddbf495ac62bfc4a7189e11eca51c5e4cf6d2bc8bcbd7b0601c0bdeb4bcfc46637246824abe4b7c2072dff9a75be98983c53f4a658bd9b987497bae6e81c6602623e98d091fa2eb85fa507bc7dd3a019b579fb2f3bd9b8ac54247767cc70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = fccd7b313df02df309b9613228726ec664ea3cd382c2eae49dcc3e867973731328d880b686b643a4b52574812016f53564a6aad49aa315b6da3dcf6e9859580e7bdac40781101cdec50b4d20091beabba0d15c6fda0d1b5df53bb4c937bdcc1647704b81f15ad66d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -8222f0be1808e2ac508cd3f424fb27ee2c29a3d190daf5aa01faa8465a15f216cf5bbe43907171f6bf28df1a82987f95a993723829735b2a078ddf50c3e732eab14259f5694525166a651e2f8fabbfcdb063dff5dcc4c5f6a3d42cfd177188d9bc70932614fe17ae7d4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 9f8e21a537eb7794ceb3116394ce73370ce5882bc7408cce85fdb0baf2600875de667182db9ff0485a284df51299cc1b2b2cb02dbc9f886de478f6fd9f35ce26690f6ed9019a763e43cdffdeded768c56af35edfb4443548201c7c18a2ec7a81bfc19629b6081af1d54000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2dcf1833dc448a8b40ec5ef445bd985155bb85b03e03bf40c9eaf48eba8acd3c33efd4cbc8e42065b77b68a871d3c6249325d976810de86105b8ab0bb41163a57221af58ead9d42ddfa22cee4386c1acca48f1d2d384e3fe3493f79ba3b6c6a4a2cc48ae6de3c4e98038000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 6eb6239c6351dbfe3c1427a949e6f993cde006191b9e66e61f57a2155df3127060ab08077f65bfdc5660e38548bbc096ed1ff9f10e1e1a461b3b4cef624952cb80b27761f70b2dc9b4aeb7d2cc4735c240863dffd1720afe2ad3903c1108f84b7e2acde57adb6f100d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 28000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6e04a51bcd931dd4e5f0bd32483fbc6bd040fb0877158846e3f80dd4d6ed660dcae2f421f3bb873f7a8f44a1e32304d73f6455dac7c01b9b41f84e5aba565e445c638365d98e19c178e30a3800b2991dd165b12830cd03743775f3faa23995c5bc2913e89b1b8db4ef80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5021f02f3e22aad67c30b249bed4b68e8c041a89ffa1c257ecf7987d3bf1fb509f0747696de11c03a374314f37536f1bd497495b3780860d53fab9b214d7f1c31a8ad9beffb76621c47a99a2fa69f1a493796b6bd1a7d38484d4d81f1cbd0fad78016249d1a31159dde0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = c31f2bc319a9229f7a0f79ad99c1210073d695d2dcd5a12af981bbf5a4ae7bd971c1621ff2176e05a3d7f1270fee4398ac23d0c0c4510e12ed74a18cd46b01cb3b3c8b5d00280f632f46127c228b139c6fb1a95faad99a0d63fec546804d4a55c984c97c67dd0fe3f9c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 390de50d178c7823203c08d0ac188087815bd0aab5304a186c56096e53e937adc05053eeedfd234bc6163e35b4064d44c55d1743bd4bafe4f3e7107262627d8490ac73f21b4d8f3c45f9d7670642e59c35fcff53e397eb51a59f67b95f97f8e1a7704da1acd516886a060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ee26ab8f1fd546cafaebe1914b75d113775ef4fa553fec3d605ddeecde0aeb474755473de54cceca8167a1757a353ad64932a399a5d1d0849c27cc79018ddc6607f331610bba7bbce7231f3b3e37e2436e88683f331180cba53ed374bdec448fa8f2b5814ae8d9f8d0640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -e92a0d5646cc9fd5e569404a3eb9d8eecad65b164c76285f01e1f1f58db57e70cb5dad5007adfdbbfcf0b9dbdbc1be57a316505d031861af02c5721ce6a327e6153b775d45b0a645993c7559a904904df8149b0e60a0dcde2ec076bfd6108c7c7f48cbc57b105ba15ba40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = cc15e46f7b6f80a3d2b7e89d952273d5fbd6667a29b03bc0448de2919d02a240f119209955eba18de15c4a782eca3d5c774cbeea0f4e911d17c112c10de205f97429767291a2d9343976ffd227050591bfdc7eeb91582d11305c850922fd5ad233a70aea146101fa74380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3d848e9c67ada490412f266ab542d6576ffeaf367f7e4071efb23f868d06d3b1248277f0e976c042a54a9d82b066277f5018f1849bdf49ab65e81d15b8d9d18a584ed9e108e084fdfadaed81d402dd87c469f41eb7dcdd7f770ec0fdaff1b3ce3c1463800d85680d06e500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1841c1f36aca21c5969fef4625e95666c8b763c857846449f4215b7427cf0c0a329379851d9dd5c7fd198e3ab74b3af54094de58869556a46f46f1f936fbf0b8d0e8ead13f0b0c66a8519e3cacb4298983d995ffbe6e2ba06c0c47f8c4915e22b6021fefb5da57256dd600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 6e6117fabe798f550b4ac89098f1ef357dc8a737bd25cac0ae130800e2d3aed1346b588aebf43ae66d81edfc04ab820f48d63242b1b976de120192b411608fd4297d7a55037eb6a3ff81008c2825e3eb72e9e78a24f8965642464f6b4e5c75e36755c74dd6ae0f5736ce00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 33ea18caa8a278b8a7404063353cd63639f5bbb0e5f8c55ffa565fb6472844cb169c04b7a67b64669a5738f3bc12a3d158b049e7621c760fb0c2124974f924373cf65582b47ff4b9996db6e9465d57c36677c5e2eb146fb0325a69921c2e380452d7144573d3e4ae44aa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3c602ca9b35791da9db25c665909f7b3247ccae59cbfe90287ce59d2808e8c7895e2df49f7019c4155e74621d89c4a664476f426ea3e68c79bbd34b7a7cef9038303da48fe06335fddfb522e70aa1e24f16643938d7ac98ed18353c075dfb94d900ca586ddea27395daf800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 870f613097cd2ce78e2de57b31fbee701c084f9936d6fcff509bd844c09e36c28f4e3ae0310e30b19b2b4afe7122b2ce65b1743c14c250181284b081ef07a1f2269c73d7205aa1881346a84b96a8900229cb53b2ff281979a6bc4e60f8771950540ad386c76c17eb382c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -db5013b62872ea05b1c6853473d92aec524dfe7c953fb6f3c8c05ac8bd2d4371b44f176e6ee46f67c5f58c1bcc2a2bdd91b708a80cc988729abf9706340a9fcc5441369bdbc958c981c7a07239662d69682d073d0d5daef1ec7e7b2320954f7daad800971b8f709ddb37c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -34f5259a545cb654d355999222009f6b0ed0db6eca0a4de326ec4a63f65b95f9863f52098553ed2b8fcfcc5f948781cfdb0c274c2bbfc03f2d8c497f08fa776621ec11f8b3a49933e8d6033380ce3903399ff663089ec05b8464c36a17aa641b9200adf074a38726aeadc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 87f377e98f88cf0df8f0635864ceed9abd472c98345b278868af687705fdf54b4908c760b6b65ffe79be336c78821f492937a8b9dee014a6206263dbd661118ffcab03a3a25e3381aec56054c15f11fa6f77a812349e2d3797336dd3decd4aeaa90de160e73bd3e82020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = aed6f4a5c6dec06710bc9b6e659ca8435a97c2b1d47267969d64ea3a21744f7c9f8bf6a39568758eb337627c02f5c7e31593a9c3a2628553a2adbfec1c2d041fbf42b4ff3944fd020cdaf6d321c759c650a33793d3ecc7d7275e610402e42fd4f43a86c008a5f4b235dd7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 57fd9149ed41a46c78b09eccb53e7780aa33e335f5af93b149fae8d3712e3ae9a83c6f29ecb8b4c474981e96f5fd68a03d1c8b7f4610d053035e9cdb156d8d625de94eed3e5dd9f4d0f4b55eabc67a126ba20816f8bc33f3fbd3111993eb0b4f72e79c83d9531f8edd4c1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 13ffbab01385bcfe84bac46b0df763d15685be3055745eb75a98bef405b0eb24104f6376bb9fd844000eb21a5188e2711a6486d96e9f29f13ab757836de854ed12f168777f043b6bccd6d6f10a99157582b2ebc059ce1ea27ce0d29f87aeedfff550f7e13222c6a1cb70da000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2fe8bfc17764dba8cfd936eeae062b5a1bde1ba4f5874d56e99bfaffa183ff47dc8a0f4534b5a74ef0cd74c8ec86da7198efc18468d215524e3260234b98966d256bf5758383c8eaffd581d2eab4a4067b05285ef8da044d0534f92cbb7c8739a0407c70ddaecb2dd92d14000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -b430ae9a33157f41d8d2205a3df0626a86ad2af9c96acf2f5cb7689d88094bcb5784a67b5f8f7dd697ef2ce6b5d29afeda608a239fe65ae2d7893079cf6226195b303c4336d960ef40beba79e2d00f58008e323293d6eb005921ebd7a293d1645e6670a2180caa20f9c14000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 8558ef648d05e77487358a5d99bdda5ad7b22acf7bf0fc407d451ed0699fbc9922e12143e5726a26c0f61e8e7845433aaddca6242dacb62bdbf7360234f9437cf8687becc2f31d72e9d6a5d514e49eec6f97c21dfbbf47244b9a1956478d7ae845bc69c1eef5cc08c90bfc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2f6141d36d2055f8c624af0ebcf0e2ae82a83e804224964c8080b10f3c7c1100745964c5312b84accd6928e8fa1fbc2de76960ed79a1ad4998f3bc78977618603b589f6dc912a1fc58eea7368e31627f9a363ad1a361521070b265901911240153638778a32992fa2dc8880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2b2879547387b9a3001ddf81976442a5ae19e73754b209bb37c5069da4327bb06c5ef5702376ea679c5d7d4d0c751bd592803e0c5bfb39d315d68618f970e58d4db24d220a793472aad694343095dab3ad5bd67b30795e821f10955e7667b8b2c5111e1680e86111ade950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -6f2a08c662c428615ac99c93ebb2d2996d96d3df1610b9f1d8fb097fb44d57d5107351e2c36f91c24596aba8353bce7c06aab6e67933f5f868f873ac5abf1b139315850e33a1f9edd1ae0c161c9ab52b8a2e6d1f147c575dfa53644163fe03631ae11c69ad4620d5dcdb7b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 95909e4999716d33d190031a08a3fdd9b32d26c411601d6cf017293c37d0dacb7a6578a5470555808b2b0f0ff05261db8ca90c53588aab2733ec89c41612130b4290678afa8fb22d0afcf0cc1337f6db3d37349d3e5eaf85b9aa6236a486561fe31064128c2dfb19e6470b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2b1c0257b5cad3cf7444e7d6a316cebe94799965f22c23fad06ff5336ec2fcb4f31a37fbcadc759e32756eca7475dd7e50f83affdf6b9f1c1c4e2c7a921b49d0ccb681a0716b8d3f463703cbfec47255228cc9760783474f4fd9624e66610cef9f1660a8811d12890ccb7a20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -34cb938b560bc08e7194b32fe8f0a2ccdccab010cc25bbcf44a55e55deb351a0b1fa87715aa9ead09baea17a589727f81c4484e33d59e65ff98363e635cc31f5454490119a07c7a35cef4d6f1992c2f25ac3d836e08f34201429b8a6b7b48d1573015eca79854a54ee73b7e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6b4ed0d217d3b0961a2dd257a15f2c80071c5d5e8ee7b0c76a4354c6696c10550c170c8938897e8d61bd571bfedb0fdf2551b7735d1c24fe733f3deb867f91ce945b88d88af151a65744bfcecb0844a80674cc6c57b0cb581492d080625a080929b0dd4e79d6768a769a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -8b44c912fdd8177e662db0845b5fbf9678717630e1a0df6c116106c56d3b0c1ecc2c5be0bc8632dff128dfb7e13a374ca11a6092b3796081929243bde8393c8f095dfd0b9580a75bf615c2287edb6b0d51f2c61ffc2620f116254cf729943035c3554d9ddd93ac41ffd66e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1170d18586114d4f8af92781ed5b4ba0d3d219bf4e2e265295a34d6e28b425969eec3763948e26e216675ef3ae4102d6b4ac58342b18eaae5e92650250a51b6ac3ea4447c746cdb3d6b3427ecfce96e97ced0d3d1d5f36cf8f9d34da00857f729be2275af36dc0bdc694fb200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3cb071f495c93d4cc768e9c19b1ca14340f2444cf72e868c248c84a6f0ee8fb5e70e824bc0f7ef30ab19ac1a7254ae51916ae0fe03dda742d4da21dfe3c763c05cbdd16b93fe1dde42df4381333756d5b458a224ac1fce9510e950c38ad5f9f04861d194c8698389298450f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -b56b14609d058d45a11abe2e256de4170fe6c00d189ed86d9290b41aeddbeb2371be9daab826519b141f02656666b185ad720f015be2454158e4386c9a4e23ffe88008c72578ab91caa35c18e686bed31d6da3d73d34a1c0c142dc12931de569a7ecdf19862fb8444d026a500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = e6c06d71c507ad57f47997818df0dc6725fc19e1b0b0e4a9bfa6431c79737ccba7986d503e644615ef66c061cd2efa1a45b9a58c2deb95d9c13899242adad2c6b880601e4123d712819ecfaeec578b4b6b57ba12f1fb28bd894d481073621050f6614eda533da22bbb4ee5500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1143f7c83d2da5cb41a830c619f22e13a9822c6d146e29ae949bc8098c0c2444dca58c815103e44d8bb1a813fc6b43ecbe60a3740a96672f16717abe0500e01d3ca3472ac989f4de52107a9d1f374939a1c50366be5598bf1e3454355a95a97a5470eb1b1bd088f45dff8f6200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3bc31bcef7da86bffe3201ee14911374be7dbef3e25dcdb584465c051735d325a3a2b7bd6f616b4badbc74f3472411972364cb7dd627ead4282a0e41c5f3be73493b81aed61c3b26b1685c9a12d18736d4556fccd473c5fb5bdcf818a55a603ff58150c55c40a95b4fabde1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 8b7c2d94907c29a44f711225c57ba1b1e793eae4be78f2536b71f77c85628d00ffe71e3dd872052bfcec4bd0c3fca79696d925c79de35fbb1751fe70b17fb8714d911139142dc65dbc22e1d9b5316c69db7725f5d26d2996948462ae4fa51dab7052e28158ded995ff69e13c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 5882601ff6b14f5632eb45c5fe0a4cb3ffa42a66a2e945555cdeafe79bfac2c8f8f35e5de00c9618a95e393f96af3cbe1bcf14a606c5c1b38a549217bee5ba50414e154c8de27d3adaee2b1dde6b0e6d755b36c889db83926032568b0810149608ac89fcebae99c9a53442f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -35292784c408a72e8bde974616b78bfd3a86876e024baa386466a9578cc57d210d8be27326e2192eec0c7c85e687f3542e39d3806ed30db6acdc93d58211db96e59fcce9ba12e3448cee1e41c2ff53a9c49bdc2e72ff437168c5529c770def4d7f73aeaf277b57893fb975dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 30f07c1ad4b6e014b5a26b699ede209cf9671724a63989d691fb9834d5e2e918c94431cc9ba0dc5e2f1beb632dde34b2448f6ece783902e27294d8a12864cd4a651fb2205623a7c853d0861a385744308ec8d1ee027d2e65794163cd1215a50ab2cc6459ff4cad20d089691d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -f68cb72ebec0b73207f6267c0504cbf7de856bfe0f3c985d332d3d2de2ea141b952be33a49ea912281c2103346874109ef62389106dbd495a707a668ae69c4f78bf85658319237f8f46e86019af3142a4a0ab586d3718ba847cbf9e4096588a23daadb40e06f68b678bc92d4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 7df3625febfaf2ec851a0a34d4d5005729e9bb9a1ab8c1dbd1bc7ae40074b27840bf67a92ba00ee0066e73c87f0c07193f5db8d36c3a3f8cb7edfc0e9e3889a8a37535a98635cbcbcd50d09794ec780a78bb417cab95d8df270f973af0d6447e9592b752081a2ab893b2ac99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1097efc8d5d7c6f2221b4252446188a10ce6e1088ee0d668f465f69e6b48cf9ab838fcc5291ac14435d37e91fff27de80df864344fbcfbabe289b3dcc7bc7a04158e5248ec73ab789869b719b23500715b6b11d4c0d2bcc51dbc7bf8a955b914967c502ca810b8eb50d9cab2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 11b640d55832c9dfbf42f1f40ea6034998d1cf0d4274fcf5892ff1d5fdc7914aa039f4bad9957413060505985a55edbd30d2c8446e4f2ae8bbc0f0ce8f9c4d129d9597f6162040f4b38eeefe6ea7ddda52590a7bcf3d0c0922146e240e5dddcdd1985c7c9d5114e0501e4a28000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ffb84b75b8f98489774c1f8c5552b98d2c896c444e877a2acdbaf8a11be79fdf3ffa492f9e14c0d9f78bc140c88d86ff7ff40d93cf8778e90fb99bdf320c157a192238dd1f22a1f7cd62ab0fc7fab95c7281ff9d76d2e5a96645a1a22c6b29fb5329ed1ae46bc5cbda97bc480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3efaacd682fecedb625abd6cf82d3a7c7348b2c38667ecdaeb4988bb8384c64fffd9842b4b04a51f841cb839db3067e4449f6bc64cf83d23074160e61236b3e6d705e0b75a24669f031cd81db7390f07d6e87f7b106db719a8dd0bbf1f8290717a512f7a8a5b4e54ef45e8c30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3fa7ead587d431ef4bea7ab9ee6506b0ded4c07713597ff71fc1fdcb8fbaf861dcc74a6cad5b94b308667d6bd69ebba135f4af79cce9c38108f7b8193aa23dc7db9e3070fa6e4225a7679a334d2d7abfaa8596b8fc88b461e5eb20a802e8bef620596fd286e5b4127198603ec0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -58ad3771d974596f172f5a032cc523b663614db0ed4d8ac829b389546606b9c2a6d26ebfb240d86c162e944f8f2e0995419ab72d1390f4051dc282a848f92834e2c8c3b94d3a8636ea6dbb178f60050be8b11eed5d57aa960fd895c6724e7d64ecd6db07dcad5cba8ae7d2e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 22a46669d4fc9ea8b12b7125a3f49bfdc45f1c12993b267a92a3959e129948496e4da2d3f4665a55baf27404b8691f1ad9c2f152abbb407d9ae0ec34d817586adbc0879dc780b5457f2a2763b2e7fdd9342499a9fc6cda37c670d5c7234c62f17921ea32398e21fb8740b24a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3f5117a1530fe19f0c72c3c44cd45dc158ec38a47c4c863ffa8c223a054e47fbff1fefcf39c513b836e52954ae6f1031d8eb9637f5d72efdd84056431c84b386236fad0633042d03a99f1fc5d1a23558b5d31bb213af80db4d5d0b356907e30911d626528d95ace77bf8f21040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -32be7d42ca5a16751894b1c95bc064b1d91e3c154c8a2ad502a66fe953eed1b2bbbf66afb3410d57e8477a8a64ba7d8a363c681fb655d577907bee7010f228da8c6876256c01ecdeb47ada1dc2eda32786b23fa3b2e353a1e13dc1bc3ad66e02e9f06e8fd15a2b53c71f036f280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3715598e36fb3a5cbd8d5569504b88f006ea8580850a6109adee24c91e9441a6543bcf793859588ed1e5a14882c3fd7ec2825bd34ac75055bedc453f71dd27400b2e12058eb4b864b1b70006b7d817bf4de10c7905b865e229b882d81c9f45992cceb270ed4865f4c935e1a6a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ce098754f6d29e77038ba195b27698cbf868bdb0f2745359c109de289dfbacc0ad3f205146a548be2a372521e54ffd9d29c1f4670b40ef0c6ac6ffab5f1ad37908ea7025ca03faf31b5a8cdbddefb0cc71abf7eaaf31efd29df30c88ec5fb6c3ab90372b4938d8f32efd1d40e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -d899838bd351f021a5cd047daffd53ca086bdd872573e87079b4fe44b137fac826154986df5da52853cd0746fb8453729e1d46c329895e5202e45f6d9186b987bc13f50e5f6c4fa38371cdb27507a8d7a830cb1cc1c4e933c9974d6f08bbb457a2590d4d65b3bf09d7a3d98dd40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6dedd208fbc41e34b6ce4816f990d4b13be69248f672acf29c91a5d72003aa9306aa6e388a57d4a4b54efe624a218e0653ca7a46f216fcf0215ac7daa8f6682cbac489877ed49f269e158e7d9d72e36159f0a4a37ea29032a79570686f0bdb19d0ebb6a2eecfaab6b027b1d2780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 706727440c4d4be63ed9baf6c34e771f1dd79eec668804cea01503ac6160d62b422f918405fbc307c48bc62c7fbccaeaf04cea5af7214db2cc34248c29e9f8f1dad5f1ac9df635b354077a7b542aaec51639b6d690f94c95bb7d0947e32b0049b67281c6b747cc82a09504cf80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -cd19e9c7e0b76b1b1735761340a8bbe2940cb9a3f5ac378af497a86f3b91461e322795b2ae5d8798e2f14fce6e2e65791dfa40a43b062b83d48c5e09a0a669faa29470eb07f1ed7634a973a2900aa8e4348056bd83aa7676345f47aa621a809ce1075366afd13e997eda8723dc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f9081f5447a033076401e29a3f731aa70323bba1673c430b4100de929ae5c4a033ceb9de35d0f71cd7296381315c6a99174664f3c04cc16b554c399484017cf512eb7570b339cd4e17b86e6cb28becf18ea8fe4e91930e247e2981c33fc8cc673605e547650af01db1792c010b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 55685bfc3211c12e90f2cf115a0516539dc2a03fcf8a6e5462e63a86f3762605788c1c59190f94825eff2397bfc1467a917bb4927c318899b1e5e9f73cad67f978069284e3b3bd6e2d1584145ab37e006d0770ea15d836e9f741e9aaaa09ae3d2c569d5869e07d52d833c94d3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 136f384e7d2dba3847abceaa491a68fc95687e047fad1cc4bce16de4e7c8e09f6d3da84fabfd789ee0409dd90df1a229dc5a8051b420f4fd83cc2b5d6483cae966a2bf6a62e8fcb125932501c2182a9385ac5d28c8f3394e9bfebb8d774ebf3334cd68c1482a67121b41a20cdce00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -b02f6dc8ad99ed080ecdb1c802d8f7abaf01ab37f0a0c281395e445fcf1cc4edf2d6cf5b874b9766af175d3efbbd3f0f49ebd33d80efc5b0d24c0e09bcfdbf8da58d32976278073e3f11348799581bcfc12c3284bba71a06c8e12f27958e33409c426350dc513093923f5e38d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -c3a99e0aae4939aac33aace167d91f2e7db0f7b486c26c95e947cc0bef3dbee74882433fc30bda9084ef795c7f5ed3fc11fee1e5a3ac147be653421eca5f581b41d7b4562c811a4f2cc55e95707ca8a9460a6034f61122d23314bb75efaf3b7435cee2da2e8a50dab14bead790c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2e14e0267631e868e8ad5538b27d6629bf61eb30cad471933c078015645659f479115f91c712e7337821aad89c0304f8b45b47b096a5a2e446a94d8100b266523f6a099c2f3b6052796455341431966551bae368556819b8a83cb4361bd689bacd4d5c6144fc858a1a5f55c203b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2d9a4a7ab6d210cfec39be3c0deca8c6933e60c990f9d9ee764ac8923a3930c1ebf7f67a65daa228474b3737d855595b446a31e480bf61927cdaf22f0995870ab9585ffb7d74b7c659f5dc73f7fd2161ca170e06c917cdecb98e815f310ac00d1a0b0cf49905813f2855fef040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -503eff1eaf2a8c6e37e50939ce2485c9033184fe64af1849babefaad28e1666d13edab60533ea9a2ddd0a5137649f350ecc682367e068d094e0376b1d0dc4714f6fbe6779ed0b5e14e865ae84cf5f800d376c5c3abe962ae6942b0c91174b6767e207d9e1066b100942e44152d9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -cc63f790764adc9a4c23e324cbc8d03dcc627484311f3e0dfe1fce55f7d8f73dac0e9985ef28ea0665d507cc09cc8b17be3026595034ae0985a1d5b0f0e88dad47c4d85fd1cfc3dde9b7b2fc44b348b6be41d6a01a39115743c48aabeb7ac8c50edb2d806776be823d9b391b97b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -341855a26fba4b48e589edb2a4b6b46d56283cc105b6fdb097f95f4fea5fc449cba749dfbd069b6df0c87246a4ab914562eee7f42636ffa0e819d90c6bafc7106c99dbe68d89dcc8ad208e8f99b3a0dfa0a3ebc81cb1bfe8d7f1320a4f4d562e51a4e4ba7cc2a3b433364f512e60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2da609ffd63ca27be7436c6a65cb9984da5f90656c6de62ab532aa12373d9408a66fa8b37c1b5a99f1061de9def59daa19b329105971139b67fa65df0dd9e26e976a378f6ed7c840341d4f5922178dc16521e8d5591c38b0e3dde29357845b1fb928a853c4c7e440b87395256e60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 69578271dfa7c4d657d98441588425262822cb9380c7549e06562cc17c64ecff1cbcf18516ca2c12f72aac7071835809ee83b49b17eb7561ee9680f3370a1ba2cde0e0bbb32a32792a330572f231043e03fd1a3da3ed893c5e0d9c6b7715383f8f84c2004dca17a488863236ce7c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -88bbe80acf0da35fffc87a9e4de857cd735feae63b23ebd0ee854a018f3133bafa5dafcac09f07c8facf74dda40436e509def0bd8d1995f25b60134c53b86fcdb76bfb5e4a55cd400183ac182f22f352592934ecf495475723327a8c95cc99165923d44ed8a62848f7c86304ad8c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 21e3cbd21746a9407f474b11d77d0e4dfccbb6b2fef7497784dc353c5fc4bfb54ddce46f62651401720a8081f95f42cfbcd4fd698edc1d51372a3e63f00471f3d8cf7025f2a2a98821c0c0bef7ec39b595fb18b21252724d5f8874e29f266126e06ecd9e58ad868a18015643f43b8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2af65c18e9d6fbe072449ec5fee414d933e358b080762600aab65b79810a6404870b9d6eeebbd9bc87654a5ff452182abe880a043b561eafdf8665f7c840b8852f30d439f6a26385bc98b65e952fbc7ffceae79e104460a38e5ef4b5ee5fd552466ff91d478c715b4bd94328ec088000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = a777bc1867845c9f54f2017272a2eef0f206c02b71e73b01cd0525a03b148b3c36abfa0a304f621df9d7c7ad295d762c8a149f1a501af4a6c62eab9d00ac55d0c1d771934358763f79647d90ae4fd9c58e2f24eb1edb5d6ba1b369c4ec19bdec549367616000372957a93d0857790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -254363d8921c97e268b48478c03cbc63a7523c90811a31e348559b09eb1b532c042c12b4b0f9b3fde42ea605ca7a7495ee151ebbd7ebc26aa6781295fc7ae803793ca3def6a2cdcc7b57614045c31c297d5bf1ed3e194df32142c751261d6a67ef3c512c12b780b195f5e5dec9410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -13b79d423739c10b69e8ad87aababdb3c6f6e82d05b71e51c348f05e70c8ec88fdeaf4ea57f5ec245872f50b2133951836fdf7e67cd73794053657cb6335691790067eb66b10e795ccf20bf30b104e0f8dbdd56e2d07cd97b69a3a96bd04fc53e4647a9add7504b491fb1f2facdfa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3dca046e4285490ba3eb8748c7836787165ce9f692786fbb616b9f4cff83223afa52e9f82d9313fb72a207de1384b5e1f6a0cf951bef9236de5483eeefcdd256020257c087b693567bbb2a97971d48cd5e41cd5f84ca4dae227c548fff6fb2796a4f45fbcf48aeda042b75ff64d340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -85bea6624c09172e9d5ccd5c4acc1a207f451e909f1029f0fd17f262c994100d8e7742ddc22a19c7dc1fb0c432a3844d5255ad66fd494a8219570f431ea74bf246af96fb6f06e807901006401319510127a6881bb85ddffb1ca4708dcdfd431c90aeb443bb4a2907471b618133ed80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -6bd25d83185b63c51e1feb5985b80e525d63ce68580ab9a30a9eaa67d193e74d06c7521bb82966a72ab772c1f1280137094d2b97f97603ae88e232106167cba952c9177835a450f6f9414c01376c87921a19501c7359564cca84e3341b155ee09820cecff314399322f7287f607b40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -fabe09c5c0e823452480353ddaaab18fa0a34c43b85e70a218652220d7fb55f6ca5ff7fb54e055d6912eb55957a731e2246fda8b592b03362599291ea464b529025c8a0df3cb4c7c53e6c3f8baa19d726189bebd941936e454719aff59a8956c4722708035b4601d57daaae10cfc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -287619516a25c887e1fcb586d6eeabfd9b34e67c2bd940505eb299bf14a35471746e5bf4f20c95318e9da7323b141f7094474462484e65976d72ecd8787eef7dc6d6839b5d5e00b45efbdadacb6c7547487619138a8a428cf5dbfb11301368fbcedadf640900002b17a26adb944b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = f1fde2a2fdf16d64c0fcfc13b0bd62049ce8885945bf1e3dea6c16e656347b2254a60a18865b8577361ac22ecf4cfcf46e1053eb70d0d63f029be338cf0109ffb4bfb0670957273435ffa32b5f5510f60000ee2dff380b316a351bf8eb0c1a963c29e5132d8ca9e6fc3339b5b04fc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 11c7ce7961bab6728fc04983ee9b2de5ffd00b284c4b64f7cca262601e65ab57f5ae8d01abc95f3bd13fdc99cce5b605749b7f039d99ac820300b36bce0b6769c861c6c86422eefa77a7627e31a93afa53b47e35690af23b24d6c89af9607416d5501bc7f2a603efe20ddaadf5b4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 35ba0ab111dadd4b8e4ef4346bc5843a12acc704d2e90f503723933a2f27a10c0a32c45bc1c4d29166179afa2cbfe0eab946d384ef075ab6ffbbc6c6745e723869294c3efdfc82e90a5f493702e940e16bc3bb7ff1bd76b2c4dba865094563b52e33b4ae7909fe62104668217da84400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3d233ab84e5fc8da165be78697a57ea8714967148c27038012e2e3bd6b6d0748d25db2fddf9e3a872a2bbd793873ebb9a8763757ccbea3a38289a67dfb262306b2913b98699968db6203814a0cc428cc36da2db073643d21f5b2f40f1fe09f8a59ec7ae1c7b718edaab3a89599f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = a7d0a7874aba933020fa4fead5d9533267c8e2265f5abbabdcb3fc94ce62bb9e1d084aa056ca762341671b7b7eff642daaa0ae69c0819a39000b5de74e30a476f7962c5556253cae090ea3307a161de7a74b53b96e00775dfcc2be51cdd0210cb57bf43a0f61a967138d4570be6e8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 81b4f227068ef68cd46a0477e457dc8fd33354e74e56643c58b28d0cb53d788143c5c1051e39b81efd60787b40dc63d30e7e422e9f2b6d64d70e96a46b4f2239cbe3776b06e6b5a46acbc09d92f48f0940517b1b556d57895ea5633fba65783d0f498f23936f612b394487c148e0f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1a3b3ac1bcd831269c0457e962d8ef378cf5fac5678712a9add50533823fb6e0e850213479a1ab65ee2a218503c482b87ff705e9f2973a6faac3a34a2b343d95c3e8a0e60ce984af7cc1902510b2d4a3d808616ca8d43f674807ea5f8c47e47e4c8d744e6764f8c179bae895f00069800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2b035f783d44f9c2be5e6a811959801583cbf3204defe1476bee476d8cb9d88802644d1bed1ece498e441c8a3d83f8477636762991d2f4006f6cecc5c286463e6632cf47405dfb6ded9046bfad2bd94eab421e15ccc538c62b3d5a834f3c09332b76019d25450965d1b4f372c5b0c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -694660426b6b90271fdea8d00f80f1f1a8ea1f65f8474150e3c7960de17ae16a39c333ccb2d46288352f6bc8b6427126587a9ca9cc2ed64fda88f639d39206b388a51492b96a26615916c68e7ca041fd4c202e244ca94c9fb20a7bb3c4f1c659f3cfaa2fe6cb981b88b80ffda15e2a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = cf34f40a9164f8ebc27743c933ceb28daa4f5358d1dac10c11c453ca4b50b03b3dc0b345460f07b4940cecc3ec6feb2a3809a164d24a62155b7f8445d0dbff56d1c89a985316da745e53d0fea6dce91406c97d3e5b01c04f95fa56a69fafe96074b68cead25b011a7fdeee0d89c2ea000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3df056f148686ad33b19c955e5215f42728e718a7a2f4704dfda2b229e00a4c3c5edc97c0c2a1dbdb17c30966b759f08daa6df2d1c7c0664f6a6625a85f538f0cd94ec458f56141eabc51ce081358d52d11f4b01e94556958f8aad0b88c11e6a50754f1aefcefe40f7c589ebefe55e2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 25ab6b1dbbd72c52618ec9513a62a96a58e1a5ce9a2326fab8ace8120d0f1c9008fc197896cd8c5d8567c2c74a6e8fff00f1a0f4763b2c12e632d865786d5181430c82568f14f111bea98874747b3bd3d0991eb6c7618e77047737460ba23f3d8a26d0292fff9990c6d900dcaf345ec000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -a35f67174c572c28f02e923b73018d35ca5d392214e54ef6f9ea5934a2a4d77f95d05a67d2344f71dc6ef90867e39037f20dd1e778fd9203b0bedcec4466f8ed7a53c7a9e294ed8a7c59d5c574549d6d8873c9852929c62df9cc1fc120e58fc4d4e513976c184146da98b1562b16a74000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = b83657ec6352e5855b5c118ff12f4b6006b574e98c0768616a32da714264215e2f043e95a2566c1171685026812fb1b84d3f2d43c8f080853e11e719c3e3c9da962a713babfc633bdb0ee443eb8c33b46c7387081fd1a8dd61ad226f1437143dfffa13d3519e17837b7b6c33a7fc0cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3a0c9bcdc9c5c109abe7f838c02afb108cf7449395689fcad9119f62a467628474e608ebb4e60a8bcb19932566483cd3aac5471d51b8702b3e08b4d6b205293a6e478fc0ef3737ca15c39896959bd2c4a297742e0570ac280cc2a93b01886a4fc46c4a0b8b581783b1d44101ed049750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3a4b2759484c73da523f34bb058990633bef76969c80f0efbc33652c47a4df82368f18c6c1cce72e632987cc65cb298eb34b59c51a020873e13ee8c93d2bc829eb326c80b9001e05356bfdadcb611f24ed0ea20db3fd6851779e8f1de1137113e1ddb0dbebcf0fc6e798ff6a2ebb1728000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 884f37222019cfd0b3e2674c410bdf6df0c7bd04e698670ed5008c07d95969e04ed485c9aa8819e4a0b95853f9cf4ba1a52feda3fc7a69d27d83b6bb4adad98bcbc5a9de08b3da6220ab109dddf042a4902b31c9fa2f53e6e9b8943ce7645dfbdfbaf3b0ae293240f4cf665f52c26b20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 17fc2227e83c7ab9200e969cf23255820fe87d42f94a61cd3fbec70c2f1cc3ba8514844cacb165220336af91e03f6fcaf707ddc1d91a0616d2a10250964623f805e64057676b3e99bfe36ebb97aab664c3feb0beb4ff840123d22e0f65019be186f555941e3c51315567bb50bff16190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2bb5c756aa501a4fe3d1aef04f7361081953eb3fbdebaa25f07b826a3682a445dd0c7f45f71be2976a258840cdb562c1b0d9fe58baa533f17aac78f62175637c31d698ae4f3f43de565661b33482e3043c8823658622d78a8c64f5aecc3fb5e4054b9f92ab7d264b8f284c26103697140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3e1c575a511c0f1ff2e3196833e608616e6c929bd0851849e52389a8ff9afe7b9eb7f0890a569ccd33f9c3c1ad92281fdfd2766e26e0860a9131e8db294bbcf7e59bf96933c7967215485bc68f92ddafb77401f43ed4683f7140e6cc6919829e2092185ed150e461203584eaea9ccd3c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 64b55d9246d61e541fd63064e36f50a26e4ab65e040bb09dc45861daca52cd3252dfcecfb803404ad264e3e4bac6c3cf6ad40101563dbd852578e319b145de11b5d36c6bb00fa11f8e6e364fb17a037e05fdbaa5b3dd95de9e12aaa35d791c71ed0272c74d8425cb949688f7c61ba3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -14c588f2889f01f081134b02a8b4c3edf8d0eae8723b81651ba68278384e78138e2d72bf43a35242e1c19278c8c38b800642262b8c53a8f5349c9b451b7c5f6faa37ad15f8f2d8c14131709ee23d652198183eda0975b12773a0237f948ed4968164c6be33c64ebd98f2155cefb1ba500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2297b50e9af952e56ccd1a7b31fce8c950e12624615336ba3aefbac042061203ea1eade19e467e966539e64ed95ce928aa604cbb09e158ad7f0efc11d5ee7409b4a5e02e0425e6da9af8cbf7581687b7cbf13d6e07af909e6e0954b8d1da782ce558866400e7b0c975dfa9905b77e3ef80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1c7fd3a4b516486ecc20c1a2a8c31cf7c9e43b810060457d160131b9db7155416b641c732e852621750094795d5e9f3fdd03c1c6c26debf477243d151491ffdb8dc780eca25a5a5f9bcc33e71cc37bdde4c666ca9e45fe4de96f292d148348d18fb0fc73a41ee72acc4ea30de8513fdc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9d5f7ff2cd0008805bf525ece0bbcfe3c2bf5b421c15870ecd86825c92f3f6e2504e435f5bb5a818afde37e940b22f1e60512aabacf949f1c2ed58b7cc53b6261a7d8ecd483afe776ec753daf940f5a62a94b31599304a8d59e04c567a40ea46152b1af09c9eecb46bd322ceaa80d2b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 713d174fd1a6531ad57142ed52b13abe49a6fb4850e930e129cbf350aa29aabd42e83440384813c83c2c096c4cdfa1d449c6c916b85e3db63b9f3ea05f914e3d79a7d54e26cdcf602fd899f2a08a91cfa3a528009d11582f1307e2acb7ffeee79f0378b53d5843c842762a9d4786118000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -38081358a02dfece4ffa2c03accb9ca5788f6875dd89e0809d453d8980fa4098361626347c81162147fac460107129d6f080a0d040f1510a8429509125c7ef7eebd0f2211f375dad32e6de1e85387a1763a30c5c434fff798b86feaeb163f183c3d2964681cd004087135ee1bac08beea00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -35f0a1e1b7a7260ab9f22c4b3ee9443b1943311022b7e2fb78a2fc4e52f91fa0c8c081418453aceecdfb888d8de4288b7415ec3f72a76837f68c7bd73e04b8b20876578bdd8c73b2cf0d6b7938526152d55c1b611bc7a50edf424e18d05a2962cebaa6a4ae28c76ebd6e0e60d5f65574200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9951eb91b0e3a0ce40f17423d04923634899fe559d45318392301c3cbe9b190b4c113e7ab2a8c637f95135f7a9d0a59cfa7697069fd3de01defce4c6c57179a7971eca850479f3e2456175537b9441c8cdee051d7af3d54fec5402d2a1445c3e2bcc54338c6ab662fa180bcc5efa0700800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -801a1d18d3a853a9113eb9bf2a60f6e8db7585d65f05254f58c720e0e08a160ec9ab03b1c20827bb0e1188380c6af56fc983fadc9e3417ed9806cc5b0de400576ed675f0dc63f5ac7d22bb6277bac0391eb5e5f3acf785758429ae234347131fa1461f1c36e59442fddf40570654f716000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2d30631576c86c4193b5ad32003534bd1c8b6b9ce5128626177c14b12447e9b63e9bef78d9ed53a343bf2cc6746ca819a0298d1f5e9717898ef3426f72c450e03b97a4a6ecb06e4b90042a9d6afb42b347a49cc484efe36181e6524220fde97de41f2273aaf77e234ee57b62376d3cce4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 274a45420b1bf947b2ecfb46b52450472fd4a826f1a4172743dc9b26f72a8d30e46db4c07975f3d364c022fb996af00d3d48035b22b8818a615b2b13db7ae17b820e3c526bc673ac12c25400f459580d352a7ac7a91ae9cc3ff1e3dc8026241bbcb100c06a2b33482b0b2cfbc6cbfc425000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2428df01a7c01127ba03f512ca700ff3901a7bbd9b800244d06ba237135d22a9e2782190e6ba09f23343c4a305edca56ca4b1f3862e893157313ffe65d18c26625a023e54cfc820f6f8bac8ef15db94dc233091cd3613bbcd4e7722e65858a9168185ff0d5e1e61349b20512303accfa5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5bdd2d097e0367d68722b55bd78e6cbdadff68525c0b5bc3d5e67ee546f4d3cf3d363d7a4af8857bfc99b37bb0dc50922f5c573d988dffb57ee6ea7ec2a26da565f992d9c8563fb87643463b2109e7ce4e32664feb7ccfd7e66e7a71439181fce9af817cc023355867d708adf8ee8319f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 372bed5c443e6273b1b14ef2e5b79fc1ef08a3e57cd908bcb12cb4f05364ecb55b464955a0668a52ddf17612c2e981a239734a0820107f4599efd67f2b4933b8ed9cb7e8561decd2ffa91724851e12f881136cfe72cdb139924be23294c4ce65636d22a076b53b46e8d984a7cf2fee0ec8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = e88fb24f72c462cc60eded0a23eabce7db2e14bb25c7d16c131d5651794f83cd62d6223220c0c0cb1c5f55cd4bcf28b708dddd52228d5f0742cdd0e572d2501c28654bc9f924ef6a95d5188f6f5c1e2d75524cff5635a11fd1d49684cf9203ac42ee90593dda1d55d7303fc0f6c473366000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e2bb2a187a9f9bcf0c573b8fde019131179930f8eae0288b9e1876e71c2f054e31b49040f712cb7cbbbf857f27abf865f78ce4ce534f4f4d44d3b242be8f41fcca6c20636986349f86e820ba002b300ef464484a3c40a9675092fac467169b6b81975009a88d6838259b7cdd9da86bcf4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 37a81999bd2a12c28f10b8dc2097dbfe8b26412712f64626bc91820b5f2b9aa378d282035d1c61a9253c68ac3a152b1b776251d3054ff95560e0c61d6164bbc841c7c58176ede49ee31d84cc22965e8a6f6bdf5cc13013543740d0572fe786133bf4a71acf2a9c807e05ff75b52fd60560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -de0c99fd22d3c5da7c550f062dcd1d8e330af597956bca374c4cfa5c43a8fc814c912427ab35a28e6c5603cbe4d7e225f4bb90ee4f3513100ed05909c117214e6852087ad99eadec1cf58333613bbde23dff098deb924e2af7853274ef79835ee058e7766746c39621f019e11d415cfa08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 17914290a6c82f8b1ad9becd4d2ccfd341a9d8d54a05b9b6dc435a8b57e10ff9427edb9a002031d2e536979a1d04e9904f8e8cb92251fa7a18ddc2128eca9c87e2bfc2bb95e03dec1021a680b55bb074894f41e2f65330f57b969f66be4b11bbf3cfbab02754a8c36b3e4300b091abfe9e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 5f0b25f0fc8ea180dabab4831ff4b6b548bd47093164ded15ff9f7e50bd1f5b541adee5c2b6e84b3cd091e805574592a67d687c633f6a10988a3276a88de805f5861a50a07241919ff7aed1da26777843c861f00ceb8fde83dc0d9913afc438b4a06f4b8923c0f55c753ef5bd96e16fe540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -c4657e6509390bf6540426d3eed52d7b6434c8f7f80fefe90c703b90eb4a7802636d260227d81e7f2e8fc81adeb27710893cd081393c43fc65259d07026fddc61f74a9a56006139efe58cea17b02bbd8f7d9e025017b8b99b4f740120e2cb1aa9458d9faac4094fd0e037d775fc0b00b1d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2986f6cb4a4de6734e734847b949cfa976042e5890046c344b764af38e16415acb81f9a2a0972f3178836ac8e2fb7a3cb4e270b021b378ec9ec66e98f5d324cacea09438ecd68395ecde493a219bd2167e1f64240657b4cc8afdde33dd7d98b9b68659b1bdb39fd2f7a072ef3dfbcdc261a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -a03bf95666326fe4c78a4b5e75b77b6eb5adf857cf3dcb6ac1ab2fe75522185578ab3299ec049c7ce352903d99f7972e94fe396c563e710f9da5d9c05b02e04ea977c92799a22e1a7ef8ca43fcccf514dbd8835b17609834626e1532edd5adff5a33662d0d897e3e391ba8919ed52241e60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -b0a0116618bd7e69998c40475bbfd8ddee377598b895f597f7634e4b12973d2cac039ac295644526094aced4d38c33d5d93b132438b28caf4f2bd131c954ad67b0f2850e0548810fa80a06ae37dc679b24077d398ae872cc8d7625f3b1d74aebfb476d76c97f7f84a3d326abb6c68dd4e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 65240cda16c4b490198452efba2c68ec80b124a091ec400258dda28e80f13eb9c435fb7080cd65070f489cea5e494565851491c44461d5b03e1d663cf8c1c9a6a7e491341a14513654e70b00f79a7581bd14bd1978696a33f8d4f6c9372e3f1198f7a972de70a8c528a5dd457ad69030040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3275484d39c7d7d0f1a2da40b50a70c9f63b5328020bbac6daa1a9acbfe673e891777a768b9bd8892fdf9ab821bd781ded3cc8430190fd107c9cfca9e6e68c1dacd28a35733bab19fa094e425894cf81f570c353be659ee9edf9e1ce3c83403661c9404b46ff5eec0522dc777886bcd842900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1c2bcf471b6ef6f7faa0369197318b89adb46ecda95e557ddcefa85045d13f3ff8ab7370249220203f5c67c1605723ef4ce54b7ff58e200088ed407cbf36a2079d35ae8e68ecc0b8ba15540143cc14268bb2d6c43d52530ddae74f143c0e11a01f663f3e81d9fa3587ed62a022dc65163bf80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ff733af2a67c16b051dca2816c3c67f0c6aef1e605828a20a29c11b96d84424ba668eca8ce909f0627912cc75115081534adbcc58f42d7c520cb9aa4d05b2426c3ee09e472613b17483bba64ac61dc2bf0644763d2c1970dc21fcecaef93f9cc081fcb97fbf76c32de9e5ce66ada52c326d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = c96a19405a87aaf53bab6cf7a953e1cb65072143f9a4f43cb07ef42a13cc61dbeeb32fc7ea6ed359d4be2f9dda8829dcf5ec7bc6fe414eaf93bf396940627f34dfe73d635d231fe4940d6149e9ecfb9372831d32544ec32f1088cbe440773fa5098a0f97e996909c3e4c0b96492d9bf42af00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 97120446c3b122c679a763eb3e5fb23627de6bc468fe025eb5f96e89c061fef575c095b9a7e1b8dc530bc37bd5818a361bb833f155c2e28dfaf811b37cd6c45ea3f08d6fb53f9f8f73f25ed9c52417d3216d3d87fba2be12398f700046d172dda93465d53e8ea152bd54b1b6e826d93046400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -320919c193d4e04c6488230fd8e39e6bbaee053d2b267555d1e6bd7b9aafeaabf1a476f4077286b4c60621703782d0c9d64c3fda3ad31d659c851497cdeeba59bbeca68ca125231244d8228ce02e95e577029b3de03a2eb046a2f437870c0d5e6810d3ca828efa1d8d0f79d1e26af24e77fe00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -9298578ab4ee24737a2818d0efd50385a588e0d41480a34a12623f067cf69adb5c3baa47443e4c3a371a04daedcd93cac586599a3a16939208ee611c1362dd2ac1de435f5eb5ba0084802d659fe2812fb419964e95f01caf69184c0aa10567a5918417597dc8ad01beccd468ef995073238800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -21d188d2e614c315a49b1dd8f69534acfc5b85de32c80fc16c4bb00dc4381263396af904eb9b9209c9d65b91665ee5657b73c71c8c0feb03405c07a0049b4187b1e6600206c545ee9cc1d151cc2a688e260e555af0642ab2dc781fb38ecd0dedb0f493e3160e8096cbdb512b5d7294f9f52400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1c1cdc5387359bb24d335e10d5c4cdd3cabac0af8b767498d52a71abc7b35ba9ea2646c5560ee0edd426beabee96b25028047f50000e70237501007236b4466ccdf3d08083619cca8fd5302684117b44449373ba40bf7254cd0b5078434fbb6f1637e58bd5a597e9cc63c2e1aab367f4c36d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3490fe54b668aea949e6193a1b22a212617b5e84573810b5851101009981b1116f4a6bc2360528fafd8aeeb5c8043b9bdff996eb5ea7f73d7c465b6959d214fcf3dc16dd08b107801eecaa0daa2fa267b935c156f173bff01896592e8e983e761469d2c6630a5a6f9ec1809e362fe68524fd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -6014fed3a4c676ec1849eb62aa298aa44e921fb538ad53e1082ba89ee2fd3cc1b99a2e3cccb606629bbdcd5bc6b93b80388a935d1910397f0ca27fb479397a0210e6b19b1ec92ac008b07a2086d3c140f990d96cda45792201159b4aeee3a5902a525fad031dab18c0fcfb40cd5d8e28b0e6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = d709f9263f661afe397d0f0d6ba30c51cfa48774dcd4647c93c9639e5b3d5381a9a06e07d969080c5b881d11a7c8823eabc061c20aeb7e6fd42ac572724ddf4d0d38b81ff5e5479ec37d0a72c37c137ecbf8845cdcb74589495a729620269e86c29ebfb6376f3cb3b6713df4730e931a0973000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -146cfa6f13fdcfefc60307ae7d751e79feb646c2cbad3071b00673b3814f731e0ca5daa60c09f72618883f875f72a5139221daeec9ca87435fc4954174fe03e816fb5a505a3a686e5446606b12ced609d916f8c8c85339d8ceec23917b63431ed003318c84ecc66919eec0afda8cd6850614a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2a1f4af5f1598eb0b402d74cbc5c5b6a0e0e0395fc0767f9193089769b355e08425f8b00bedcb6bee19e0c6c87ceef2382945576e684dabd1a9f8b7b1b392de13afe312fc81d2295f46db9f3af473fff09975c8dc02469563947cae96302fb7a2291bdcbeacb5341e33cecfb2109ea51f99e8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -659cf2aa56ab84cf8478cb4c42d5bad57e9934e3dcd19d4d1242e3c5aeb99440a26a158c15717b58f00d91c13b739b29fc02ce8c27ef2c8dc263d3331951f2846aeaeef05d3f5fc96c26ed74fe7cb03b083cd0f01f89f45f1f00b7ee15d072c479eb6aac20750e52838ab0856f1bea15c773c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2b62305d604f953fd7e02473286675f421d78de3f8c5f616a9e9ef721ce5f2dbf4f269b002864519454ab61f07118a00e16a8e59351abadeac0064acc5b38b6c5828a9df57b675ba80a61140a6d978468e4e7d0082ea5b226f6bbafb506e6efa3e50af3aa1edef8f5e7eb8f4188253cff53e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 14f3606b3051632ae380c00ccb95aaa815182db0e69a94f3353bca39d1cc98ed95d65d61f56350126281acc1cf3ca07c25644ea55e13c1064ea208ffe4d30a38c30140070dc32c998c3c2ca57fa368603ef68f1cf19169399b4f47a65e9263c53d9f223f130537cdfd0da7685256b0f62a0458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -35d93e4c3411e26878549212ebf134c0c6d63ac76f5b13195690123b13d9ded48e055ba404e559bdf9fa2097f46472dd5ad0ba8414b0df925181dc74d62aff83c94e13d7fc735cd80094a08c0f7a36ed91af47f81c531eb8f81c03aed911bdbb3cd8ae55e5e590a27dba30e22b1bb422acfc50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = aa4851e2479512d8de8aa716891c259368ec9d926e21d97b13b7af34decbbaf7addf53428dbca13bedfcddafddc872e445a8518faf260b6bd54df9413ff9e5d0fbf50868c1c9a6fa352d7ce5d264e7f93f6a1efdd083c91a4947694329f4f873767cb96cc4ab86d937f1e812ba27715d432bd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 265e8290004ba28ecf3cb60525b86129aff11c7da89fd52b561744564917a640daa6178518ea6fa405e6c5aef7b0aa1d7946cd6779b3143044e4b85daf627defda93e66bb4d9608f54e9d20a1a302ba5afc75bb57919664fdb5ff186322fa07e371908a04538c1fbd9a63ccb78c4b6f4cd1860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ec84303600056ec8c0e21d00cd9f9e3e5ae73a6460ac00a4d316101e7ac7d99f0d70d122be51046f73e79934840a2e492ea39fd8c5eef9fb2e6de4dd0824337513dc2a8d0a79c1be9470f95006fd19a875546e1944ce04921f18ccf215f31dea647236f5939bb30afbc20a26e91d007ce0780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -286557f8db3e2fd7cdc32a6bc64ebcf77e68ebf1674cae863e0a316a6c3eefeb3ece6bbc72c923361778d510654549260546a5a9aba12cc105a058a6a148284c6656f6ff315062a68d547e17866d51f473c7a9a5d184780b283c46270b5e01ba097a3a97e867e5db77ac587f6b0dde7273eb9a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 17fc1295632514fa2a8b5ed88bcb60bf129f77e017211699f95590790892c26efc75c1c1b640a32f63197b1db4db79da460794eb08c7389133c17d378cf21009b466f79793413cf83edb9f7f63a0f06067e540f2f845c2d30784f0f72ed8c97aba625d7e42cc1a29584388492e84ada63b72a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -cda5a80dd4afb7342538de960935541ad745f1d14fbad9010eb856ad70a449ae4695d8ed65eba556bdea29260dd85fa4c439e4a970300700601f1d5ce0ac167ac5476b87f1ee1d65972723a218e3ebe9d6aecc6d1003c4f79f27031ce3f88838ab51deeadcd89f5d9f8fa0968fff58b692f3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 12013dbf5ccc60a918cc531b5d3e61a8f4c310ff8c442eaf5e16a2e03b158caa88bce252a072b4c86d0407bf61082b5ab03f1beda91fdae06e5274ed4681d96d0202a77ea1586fa4e46dba4a50938bb2754e26bac6c6422249f023e5a59be495d5357096921d06bb100be99f533091ffa1dfff80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1a99d39171984492bad3ff33eb8905fabab5d3bf42b44daa96728d1ed42667999ab7b9ac115fa7159fa19d8d44caf455ddfed62e9719444fc2a72c5571108b218e817e2b367980e189784b07681791788bb3a95ed8eba2f15a3e40d858178d36aee450eb71240b6cb44de689883c3a7e7624f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -5e8e70787f668041499c78328ada0c20347b32f76131ac62892e7462eefa28031e4b10b8eace25b86972340ab9bc858846a49f8771990dd0120508f41924a415895b54c00b33ccdb4da41a2ba9394a45d85869c9f8d3e42493ac765e65be21cbca59731d7b88a905a62c9d83995009c620143e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = ad11a3936923b136189371716225ef85f7df3393a24b72fb254eb4756e51e54ef53db532c83bd3046cdd3cc04a5de6c993a30780ffee152d815f78a0d808824fcc8441bf62d7081ab91962f14b42e714eec0ab9019008b29636fbc192efa4db719dbba6f533ee98ccc18287321d8b9fe6605d600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ee3e5b23d03dc4d3bf84177b1cc78f6ff5d0781adb56fb997182bab3b9264655760059808a7c3f2653d1fd7c18ac254da4c69f2f143698edc2806d6a5cbf1b787c02162c7d1516a4975a83c5985a5fc4073926b4c2d0c3949733a324e398daf456224fad273282341197c9e15f2824708dd78000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5029956d0a4dc03959e4fcf88af1317a1bdec986917fd404403120a030c8f1f1af26071791c06404a29c99292ad84b28c3c25985718cccc53fe73e3bab330001318e9214b87779feb1fe1c0c6f878578d357fc7ba63f85b189388de0688476aff9b130d6b7a930ad6a143fbd0945bfe4bdbbf800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ee330558d15d8cf0b8116c0a457d26dd2e1e7daf5b368617ed7eae5fcb6406ed568b57be5d1f843d2a0b660102d2abbe055e0234c67e470fb2d6672e31cd652ed32070c662b7d07da9a605fd6b6c4ef74e0776795e58deba5b2e3e93f9c49602810c07bf4f9d975bdfee6037888b5cb5a6aa2c400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = dc631d3cb8cab205b6d6b9769ee98b4e6c2f61c34df5caf2b53de382d2ae6852792cc066da60d692c04ed9e1b8a34eeae5c3c9b17a2162f0396bc4e84eb790303caa38ab2cc455e31241ddc55fec90c335b2ebd0271080d3970519bcfbfa1831ea609bdd23ed8a25f69fb540330bc3fed590da800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e41eac4c282094e7c31da0eff2d9f62bf287250ab4b3a377dbe93f070eabbd8ff854297909739ca41c23c7e6dfd61f35b2940c22c645969e88c21b20f640db72b0d79bec60275c4f590cdc36fb1f6f57d165e994a0b84b906b5852bdce4d0f8850b9ccbec77537ba3bc750b4a031f5b10c3e87000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 9a16023c78565ff3fcdfbd6d8fc24b861c24adc0036c78456cd62273b6075a5d09aea66be10e88aa1efd58c76c4da6dd6f4d101cc8a5a50d7e1bc82513d062c444eb7c4606b494ca751e52ae04c824b1b981907f29735eb9596a4481a236e0671135713b1ca4c06ddbdae113e479b7df4762dd800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -5f21bd428e9040a481a24b3a5897f35eee28e8a94ecdde5610e8976f292b827b32de4be8d54b3dde58d22370590add08d0a15a19162a582c8170eeefa4594f73f31327307151c9c7e5306246c0f1b559cc324ebfcb91f84379ea98d3cff4a604cd23b6fee6c52c06731e5c69cd6dffefb36b7af000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -466c611713a53352fa19c1c871882d1b9e1374ea4e2c77c549c2029bba29fad65bc49593cbade826a0025532b03b29e37ba83f2642871885e78f5b29f8d09821d748ea1ff91453579c7aaf78cc78dc46a1951cfc5e1be00839f728a0a94df611ab50f242f12ae9824daa0373bfd1ec95e7818b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2f9bcbc132deb760c3bfd399a07c0afeeec7f105166a2cbec75c38d01f35398126af657da847adbdc7f2ae1e43559b2bdcae82ef8f436ac1ec3957afcc06663648b4faa40bbcaba2f9106aeaaf18731edd88a1c49181b11b5aa75355a8b3461cbe63a7d7b9b87b502ab27c2013648d24420dcb2a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 30c37375c1309d2a9e08349587a0fc6b161f40c42279a5c5fb4d35a5e92441c270dd333af11854e1749c294d6cd0445f95aade2ddc6f1ae3b32ad2a0af4e0073377da547a8264c36d486d6901062f8663770ba1c125110902dc8d96c8a6c10e46a5dc262994ff812401fe3558537081af6c5fd12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 6fd14d0a85a78262e8bde0187134056e9a78a46466d78527b198a868820039d98ac9e5b9806e6afbf57a875012a20f1e0844874f9b966d519031b0b8c3e447e9d0d295b6ebb4014beb0de7fcfbd2201ddaf437caf1e6cdfbe7db4a4e97f7cb2a428b8f859b978e32a066fbcc60e2971b0050c654000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -ada05ce17e25a3fae24433692229b50f52af2e53269b2f43831b8bf117ece68df1ac16e76a2d8d82fba6f0d565f27589f381dd845be8fecb5ad80035061ccb0e9af411e27efbf92d7e76997dfbd2f2cc8c445fed82551d39ddde1c8aa05b6a429973a97809a70f68870c0ad213a3bdb4fe5054cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3c217475d27d51c2bdb05f35f8037afab3625fefb11a61d32fd2e2a02d267054f74da532568a6cb516cd571b65ed42580be32104c08eef5713505c7d9df17d9700f74bb94a9e1c271e15597bcb558e9c59f19b490ea625e8674a414c63b77e5d8009cd9e81379f1933c6a61e0891ba374a6d164f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -330e265fd8a58e229f5861dd5097ae8177b709fc8ec9bb6ecc4a9349998874e378eec158dcbdfe7a0e1de61e53496e5a71b53c70b6c87f42775c64c78518a4fceae273bbc44c62d7efd200f511a9bce1abada83fbedb899832a9ed482e24f17f4f1c624b3ef36436ffee9f02a22a8ef2b8b1d8558000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3d84b1b6b473a3a6053bd4bfadc2b193f8843ce428876fe54aa7cf15e161446d8dd3484acfebb74b1269f2237fda9ca552c8604cf69c77cc5d127c324daf9e54b38cef46eef6e183f152afba21aeff5bf137bfc5e9464f03ebe68b71daec24f5f9bf23ed6e722802b38ba15bbd77cedefcb3ad510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = da8486504def6bdb34f50a3ce30e1953a04ad9bd0948edbda8619790e7762f48605f09f6ccd29b9a3908aa77447dcca79a50385f41d1bc505b83705a9516ca33cfa1cb9011e003795c279f5776134b940813cdfc2cec4d0b7f93fc5a83b67041e49399a52afdfc833f41c74b4e5c7250c750ab6c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -5c4a11609619b6fbfd1c3536148851a3b0da4e741b2a47b36309d883f797886ee36686344fd4952505cff1b0441412a5cefa937cac87af6b191c98578542192809792987085fe2a1c300a1f5d55bb6715e265bb29dcbad54d1f85ceda923eae4051e4c2c4369e3d2695a6292e6b42d568868140e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2c5ed91d94cb102bdcc3516aa9443d72a85f23b71766f9861b76503b108510a8defcb190a8c982ca8dc398228d87abd0d81c40292733c60744f2eff02e32e355bbe764289728165cbedd70abfd430c594b3080caaaee65002fc14eb901da620d5ca86dbef304143d8710cd7fd434878872239dd860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -60c390e07d4d76c1661c2ac86292fd91871583e81036b82a6ab7388b8147678a60cb902907fa20b3fb66f85917d12b2cb74ad3b69e5f3935db9bf83d61664277f5872295bdcbf04cedcbf2a6df955234cf1cc4656c11591bc1c9dda2cd618b870004d4bf4212cfd956be2c504e68d45339036833c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 9b23c117965f921ebdc3831dc12405f1d00740126167f0de7ab8a7d655885705ebd1287514d5b2b60b1a6844b7bdacd90af888d0e2c65f1b802e98d0a790a07cd135423175c97f4df8112db44d722db0f4da5e00b68ab9d999b7af0e4e6afb9019c6621c056f616b5ecfa40d74ea502e8f06ff67c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1e637f3e37a12a0a830607a41a524035717d8dd3c2c236b6d6177130d351abf96a61f48eb979ba5f64feca9a83706b752ef35a42ee383f7fae74919b8286fbf975b5d5ad6a9de6dfcdb381ec98b513c36a4b1cf473e4275dac269c1fd760ea3efd6a2b7cda3d273e03153c434bac02bd481f398a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3fbd1e88f1eff9252cabfc46e509c958bdc1f3bffb522a45143f23b84274c39a63b1326f9856af257b53d2dddb55f6c10c21bc80c18f85f1eaeee2c3b389699f73741329ddca970f656e46be97bb408bf8defd98c4eeb5853fb4f1b1b5b6d78e25cc7c66500853fc9789d2e02650efa1bb1ce1bd480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9e64dae8adc674c175cd9600e5124a95e713efb7f1781bcb8359ad668893559c6c2de9ee3270fa2989dd08a57766b64f3af385c1241a90e8ca9071eefc77461d319e51c4a943804c030d3075e0d6c56e380bcc7c03aafb411ecfc9cdf27913a1a8aee4e32c17dcdc17d9c980164e3bb6084ad1ad200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -8fde0746a79b88acf7ca2d177000a7413561cc664df8dadf37c3610fd741b7cb77fd3dce413ec984083af128a8a7043402a660337c62cebd14ad9fb7f25a859f6aac62d83749bba1e41815723cbeb6ec8f38569c3a022b5976167b9560ab15260744e9e9cf957e841e8d006ac239d3526c159182600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2c861832ee18ae3482772915cc1604ef91fbbd198c303d8d35ca1b87a385395b17fd07be5b4f0064d4a206611cc6e099da9054dcc0f95704a0213dee703e3ef79b6a52142f7dcd966bfe55dcd1a1ead0f2ca37d0e8a397199f840dd4a43a05394877580caf9049bc8444ef60296efc94b77065064200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2332c774c5f36b950b6550dde52e9187ba75fd3d7aa80881c42fefc794ab19c077912255dc08886eae35047ce7d43c604e8f1587546581132f74d6cae2a0700d6f6a29fec9880a0dfd3b671da6571566187ec887f37a8481128868ab1a139dc6c531777446cf1d7db133cd2346d29d26aad58c965200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = b0f2bc50c4611ca11d19fc5ac4d0e46bba4b7c9c80733bc801245c51389d220a7350b1807b53262481b3a3510573a3f746a2ffa087bc5ea0e8df2fa4400d93014e5e5e157f086ace94a87f29b21c31baa8e53faf4bb68334685ba8a48df1c623f1fc85979a64fa7492a18f2f8c9c27ecfbf020a09800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 6bcd1ff255f4071709767ae1c502d5905bf3ffdce3be1a4336d1a0285e3761d6daf163a3973305a2651e3465258f7187dae02c803d86c9b90442b48ba42271c96b6c3f9f301e41ded44bb3980e1af1e60e892527f16f664bdea44b374920ee335b74719b24a0c022f129f032f1b1f27d89618de42c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2a4f80acf5140b1ba71ecbc6195cbd0b78eed9ed5592c91aa605cd01e8c655d0e2e5a7b2d4259f81962afd98e2d94dfe73fc35e4719d8319526baa38f8665aa79b91f18a0d1c4980b8a295b6668c8aac09136f50ad17e0286c9f42f26f44d2eff44f3d06456c88d432ad8de9d2ee439c42b829520f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1858b41acc2a2dfede257fb613e56ba5edd34e3b28e77f6d0a7fd0a20d9a0a0bab3cc568c74d61aa988e6ee679f0ee8aeede27cfc8a40497240eb5cdf96719db3abc585d45e9c08cf5cf3f9f1165b1d2f8fd2d130de2c3fe4eb8f9ac1aadde0f115c5a6ef4fa6edec429efd1ab320e73437e9f87de000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 5454fde00b85262a58f7d5abbbdf1c33516bf1505365a86b9023b28db02e48ac6bf429c09a362bb8497742b1ee782474d0334dd721137747124b110435d5e3cadc07781c74c4621e1a95e66fe05ca3d722bd248ac35f0af94cd1ec3c81e58c9ace36b3c6c71e40bd97ac453c7b45f6a877800662d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f880c2c62c56e50fbc0d99a0fa583c575e291d86d98cb8f8cf3738e86ca2ad18d447e778c22262b73bb8e7780d993cc92bf9815461d466cb7ce7571c2732dcba75f75177b6b3d413f336f2ea7e1df68eef71f375a61d4db0f273d4263fd92466f20aa0232c5e84f99f8e5c05e8413626889fbf52aa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3955d62c51cb3e8cf4292ba35a10f24d95ae10cec3f4d66f9ea3758c6a323797ea764c85ea67eb7998cf509d0f02e037173e2710db34ccdd2130906f40974feeadda912364f044e2d91dfe50e8f294d103a451f8b5dd21cc7d6fb74f7c3d5a54023d83a07ac5553c518a09b5ed0c6eb60c9bdf2de0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -31ee34bbd847f16fac91940260d168e9e0036c2ee48c99a70138c494e5b72d7670365d7b41a0c6e62a3a7da29817a95f6f9799c8eba2f2b131e3943a860766ead0f3620cce998d4005c2e191d65bca9724ffd2df8b99327c33dc257e238eeeb965eb6aa86e558e44967c8429a9919e77aeb319102a6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -8889ece67e975f51ced2f114efc005eaf08d3968bcc7fd63fe2955f91a64eb465279168aea5e1a30abf24766d1a6f5c2ebfa132b2cff996b4c5a5ecaaf0bc7514ab8f81c0f5e3b528ed665c6fe11ca9821842925a0fbf397eef244faa3edcaa116cdf585052932c5510ad96ef37818943d451567088000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5f41ff8d1ccc4d076dd42848b389730b43c2c86558ad6548ee91ab8d1069a05050f177c4343c75caea3444295a49a8de03c95f4b73f6948c640101ef08985231ed35638a9c8f11e95dc9b1c5fc0a35a028121e9a185bfb3c2be60c90896e34d35fb3b119ad659fe651b5e4a3eec81c147c0ae76e934000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9e4781f0820452ef4188198da7f3330c71e8a8cf7281afdf0b73ce65ede926ff32e8eac62d67ca8466a5a4e18bf2447fbd404bf9ea51eae9b92d50c8e2065d0b6158d7531649f702e9e4d1560f17cca6fbaa53eefab76edf973dea3f17dba35b02ae55bddb95234d2172773523873c99299f6d681f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 231efdcc3b444cc804922524cdd7459245c73ab1ad4c384b36efe72f62bde7820f90c0939fcbddfe9b4411b76791b712c7e960147019f5ce03e0d109b7a37f9cb7dbd729dedd499bf6f6516900589bd410e21bf998b3f3d67fbec7c318543bd3acaf9e81d562804885370eed0014dfaf88d585bd9940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -b9d51438901785dd53d81e50ad99fde8ed8ea6d3885719f5becd14f15b488e20c265a696d86e5595c25181111f544c70b223f77d410051e5f4809141aafd84f7474b160778a04ad87c8f7545763b76bba9742ed787079582d86580bee7f8ad0633ccdfe9e3fe595c3a4bcff3620821f6d0931f3b2850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2e2c585937a13c5488c47c13027e79d1c8fb68364b33d3c1971a6291e9f3bf2268e670b5f4f10d772383212b718bdcaf1a3ad8a2fff6eec0c28dd8990a6ec80e0ce5c787b04a66abfebbe796620d0b8ac6cb089d7b5b8020cdc39475267b397aba7c0b3261a5fddd168ff0ef63857b70d28a3858d810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -39246a962d69fdb73a2262dad4a2b493135564eba665eaaa51d017f9006c4eb5523eca002dea453778b8dfb37ac279037cb4e97db55befc99c89cf54f7621b1a4b68d46e0a042a7348b06a9013182f4179118e4a60c860f35b96fa22d8b4862b267619be0603c06bd8d86cef9d9a929a4dc0d2475b380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2536381e765007f821ecc27ec66300ba313e79d244a4b4f728de03ea3822ed037a083e17b6d875a848c8e0ae853ba9913915d006cc8cc4faa088ff6ca8d6a68b6362ea75ac87660a7fe36d796034af47341047a8284d37b98e36ac19f16fe4188f8d83aa9743f1511f3d96527f642a1277df154d09900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -4ba8cf2ec7b20f7ecad43a8bff4c544422fa81d2e57992c4ebb80aab2b432537c796ae7b8df2656818f3491424671c13007e774c6ccd0b390a56e8cfaa0c73ad966f37e69aa89f56e1e1a4d9b37dd6751734ac276b766c65f5deb6a8571469b6ab441c22555f994b07854827b00d92610a54ae90100c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -144d1297f2b90178dccfc09127746eb02b779fff0f26600d6c975e6b1d3339fb24c04a96e72d106129b9b2b17017e60dfbe2dd04ae8678d066ba690e32ed298708a95f1127e899c8213d766b3a8ae07441d63961e11192e1ed8c7438ab3cf1deadb6ec38b0059972713fc9b57e7151887f65a5f953280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 297311400083b0b5b6fe4ac529750931ce7ecbb7527d98324990aff72e2102dd2d41abd05de1efcd96484dd4b3b3d27221be2c8e99c0b90301c814dbc134c2d6dee664fadc83ccca2e9f96eb2a0ed2ad5e8be031cd7ada865c5345f009dec58c7eab9479ee23a986bed81f27da98f9a86ab8281cb7b680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1f9477ecc16664c753a7b332639c1e09e1282fa81dbcfe11106cb77c62c5115c94cf539a0f3093332839a2caf2329d57c1111a2c92041eab72cb33edb6f30047cbc71e519cba32a15bac44eba4926df458190a85029257fcb3420b297f31bf2b6ed069a000e901f9bfb6472efd56dacd17af6edc13480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1f1b40029b6226705ee3c949c70d917a31439467e906355b671f9520fd65e9e940892b039e8d32c1742e8341056d9df2bfefd057db9750724140848b85b21f9f98f44fd982eeb9777ba70e54197c19e0e2b1e6b13dc96f5a56a29414b41e1e7767277212ce3c188a555ae2b5fae185004a15c3f3e34900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -94e9028be7f53e05a702739726c7f3e47e7a2be62e9e45f43f9528d6d086c20ca78b5a56027888502f77957ded5a7633ab0ee479787f8db01c51227ba8d862cf772bbbf5192f33945b903adf40883060cb6ce4bcaedaf074efc76fb2e680080ec7166eb3a7cd8cb88fd11c6c0a2b0e50e68d09528d2300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 22fc2b24abb592f1edb0035814108bdf0c28a3fd2e69d5ecbec57cd0075a1c50bd2136b2138960a4d9b4ab154fffbd38f7738c992927e069c1b18ef8ca4b1411f263ba4ddcb6cbff3d12e40e5d33358eaadd99b058e36c7230f74ada15b59b8b5e9a1c678a3988495952e1eedda82a241f3e4bfcd61f200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -ecb4f684d42737df9b1a6dd85d11e78624cf7828b35016a5a5d01b87d471f8c13c55d815815d559dd18183e49db00c9d42de9cc310c6a1a5f89f7281396a3dbf17f782756970c5f71e72ac2b60a6068db482c5d40bf1d2512160fc7af052932a51fcf7825951ed298b89e0de6e05ab22478defbb9b6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 216f44146c02d89ee0ccc1e4998cc4c150d18ee88b739f0afbb076330e6719896c73d7ca429eca2aed6a25db50779c2defb5e5a5ad1403ce21c6af56fd719a70ab5620818d8cb913a0811704122fb451181b4837263e1fa167aeac541624305c894c2b3add05c8ddfc44beedef83438c05a1728492dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = f631121c3cc369b64c24877464929d510d2f032f97234aa15e2ac5038ad530ea9213712f81b9229e37ab9e4656bf4cbfc9d613098c089007a4694008355e960cb7c20b393665eea8ef2a8239a928ca6d6f647f2235fc1fe791a29820445f765ea0892b33daaf550ae0f0193d761a6bf74484b49f559cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -24526bb53e783e68577921f8bbd7e396763b43df6cd6a99afce6619e40438dcd63456b3fe1c2ae1d603ecbbaa13720080d645bb838ebd013e027e612a7de15288fe6c76e709f9cb002536cab0f86d43ce863158da7f2f6d37727931d7b9b6ea08dea039a8fb7d3cd3c14f8f6ff1aaea46f188e4392ca1800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3f29319510cd47869f96f1df28ed644cb015a3e90c85debc29cd822bb2607f38f417ae9e87109ab41fcf99e8edeb159ea1e3bbfffea3c292bd65c4d45dc5a841e8aae43d32c12554b291599e210e0fc85feb6d5cfcd9bec1418dc3bdebff747b7a3ba10cf77ce07123fa731fcc0447cc335ab12174a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = d9096dd3a080659669a2a069c801e23b747424934f0165fb0a77694e0f23ac433f0579b910b2d787b190675159fabda95c90f0501f451c94dfafa344be235347bea59e70ae1d5adeba8ce2b50a9db1798367d7e239d382e0584c1e950cf4ad9af2194ff1c6569913bf8a867739fdf43ee2b4de13efe40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -4dcd1248d590cf321b84a1bda855f94444550c4d3fe9db72c40f1e46455573cb43967e536bdf297b3cbb2380da9d283162b650147c1dce08e12231f6f8e67fb7dc9d876aa5b483d96ccbb442373fa658a07dbfc3e3f7dc121a8c8ae1a81da32d6148888d8725d125a8d19f31f5a782cfc0f5c6f4976d7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2dcb2bdbea86c4f9e372621eacbe901962d5f3cb6165a08ee5093af60b98242b05d4433cb76b22e609a16d9867122b2c24f835a4e145f9de0d5a2e29d7dc1888299f7fe1e119de4715503f04ac79a00a53c6d220806f3c373770b11161af2ea864a694fec5d417f6d22abb4b9c7e18a1ef1120410177ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -383ae5467a056a033d84b480520555525b26bee4679dcd5f8f1d1509ff86030d976dcf02ff39c45cc9da1e165ce54845ec5077e71a7286a26f9ef3ba9e26b4422cd9563190138ef8948eb9d238ac30c4d1a4efc228111323277f740cdc0f29451c685538601b18cf6d92ff292a7858c0001b3c9daad412000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 8b18c4317201cffe6f75cfad3c1d27bb515a6b9410f0cf0f080ac4602fdd3724c9a315ed4c4f0f9d977be60b5261cebaca387014eaccababb80af44f56166a820614df13a224c68dbb8781c3a41b4d335e4ff8cc76f6d3ed95990b1d359ab06c796cce3a769f898f7884b5fcd7a1459166b10db5347c54000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 878abf5698c1e59044a9a3b726b134c93f92bf14295a4ec207ac7b9907f1b770c9bd95576458b12112e69ec932eb7ea64e3736462fe13cd882bf10b035ef52b9f9e40c504d274ac6399d86b98fb7ae312f6579b9853768d960a4f7297b88eb3fb1cc98cfee008947a21e4a78b7ee7b59d1923bcd09c26c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 19fbd98e49bcb1d26ebf1094c5baa53a8fcb391481e1c48a5c4757bbaa8c8bc52e776c97b2773e0b59acad7d6cb16b2ad2e1a6b440a14f15c34d81d102be46c20e093e96b4fdc4fc029905da1c71fdc1f77bf3c095523249ee787096bbbe92a87bbbd5d24f6046cf60900ae1c02b31b0884369763694818000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1075534c626d32298404a07ecbbd7593f79e5a152f1caf21de28efc0608c9fe844471ce1ae3626b5616e6f6cef32b02b92839128c84580de3997e8a3d38869e80b3eb8c5ca4a447642bc7504209ed5a061bff4315856a3e686bdfa4f600a3bdc67bfba9679678ac80e2afdf020364b122316bf01208a1c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -6339f7f0618f4bf29e97922730ad5452e4009c3066e043a32a59661e6b6720a7eb21658c79186f8939f25936161d54f9a71b4cfbb422014d104abb58eef41c2c659a7969147bd26321e13583123295698958ed73d77e088158b26b8e610f8d2de4f7e681b925ba79918d9f4f06ca5e97ce637a6451902e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f8242cc4711839007ca5785f9f82c6b8e170091683da65bbdafd0d0e1fa4d88de562e474c6439efb81f54eb828382b152985e1853080644845b63b2a14678d53752f8867532e61782689f8330bc55f98ca49428e6fd6ce5acef057a17d6320fa1209de0e1e894d6f91bcfc3a3892f15f8cadb04c3f425e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ca67be5b9124a1ff74bfcfd4bb5f7c81a4d7cbe490d3a10318c88eaa5004c09969f427708394c889e76699ec990b893436ed1d9c33fc8e8ed70fb43595011aa1850595c0e372946b41f2db58686566f1cd40f1f70d0a090dddf4da9b3418e700f2c6056a9eb87d627e9526b93a0f96c871026b3784e8220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -33d6dbdcb2bbab3a407a1f7d49baeee711ada1f7ebf669aa46aaa9ffaca0c698a402672b67eb6eaf57cdfcc221dd37caf38526d40d9fe0573c7fcb7973fec89aa9b10ab5ef4a692d4fba9d3f9771f75028dc8c3de233268636e9429f90401040df113915535b7adcdb09bc3db687a017899b10c1f79d51c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -8b9aff023790e16422a9fdc0067bafff612df67b345fee509fa2bd14aa29cc17a28090830cad75d2ec5d97f8a99360d8da08a1f62902a4e50f47d0209e9933ab575f6e82404ad977c5ce738c0da80f8a6a34d1e35c1a0e7f477e5b2b550ee96a5038f68c188f924fa2bf661a7b01fba9541bf2400beba780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = e695f1a9fc7c302858b2144b940958b93593c90c62c7fc9267c582d052758569d7494a1c67c523812bb48810308e45efcabb3659d771751cf2e4393ba5e3855653b5c0cc1039a1399007329b481e459ac02ceca235345631689f060e91da8e9bb41a0d24224ac02b59f425ea9d0d0e15d9d628a73525b780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -56e9a0028840b96fd0f38ebb95ffd1b540c1edf64b92aff104b9d7bf9d1cea05f58020840456c8da9f38a14a0b3d9501f5e3fd0b8da0bdb84894cde81c85f107ca44b17b1e92589a3b8dae8be37b6c24b1167024cd5412868cd3ed95d20e4fd9db5abe7fe08dc8f4b34560d6af28275aba46cbe389016900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -28a270d88b6cc7aeb028b331be5fb9d5560ce97f54c4dda9c4f8aca6f004a2d78ee998257b86f8262197f0959790128aabae05c094d8e82a65909f5d0e017cf1d9853041102758d6fd7f20b41723a0e90cdb875a7cb894a8e9af66255a2ee07e1050e8fa32e4e92ace4bd86d53c7028261479f3e23780ea80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -f625b8b6f3c43b0e1fb9b665bdcb80d94b0ba3ee46b236000b0d0be55bd27450bcc1cb57fc581a92677ee52d6e726e6a5be4900c11fbac10dcc0e9822b0f64be4c373fa386a3448625e2ec54f74f83baf5bb8a8b23d2868126517f561d7870a0313c419e27f8f6dda15bd2b360b0890c888f0323129dbaa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f0828869220db53a9d0b71f0fcee806096876be2764fadd6d70774883af7088b9ca1f24a56f4ca084656dd7abf85b9de697d8dc9573aa2b5eaf6f627f41367832ccd6f8ddb62f8a07860a3ca416af8b365d2eac2cb620477c2048b5ef2a1a741512754f5c2cb9e4b7d3ab14a9b314a25d4bc2c005b0dfdf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1a2e56853009c4cb41ee5e2452a086b14b501a3f192afe41b902a9aae5a6c7b787f609cab483bb929e9f744f648afd3dacff9b77043a149d46187bb741b80e475aab3a439ccfd569fb7d34cb055e8cc3e913388eee1cc52f570417381b46cfa6970268b097e142026464e56969bd1b76e93ea1a8b199cd5c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -132cc79aec2c5668f4e33a835444c4cb3a5153011c1c0bb20bd93c2f66b58169488222faaed7f0ccc2677fbbbd85889e4c54bf2f48c1158646cfae7e51a88a0c6d1cc2ee70d1b3de251abda662f99ed2211b9531d3db98d2295aad9d811989ac1485ac5e87b82b971f0d98d3674de136599bd09c2392e00a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -6d5cb6a784c06031f3bd3568d0278541e2a70c0b1c3bd224648e62fdee87110a1130d50dcc908e08a7ded8f62d245759a1e75ba36096fc626794b55a59a378efa3dc9caf1c58326676837f6e9748bed9e65b8651245591aed8bb66108b2f4ada085b47bf283621a5a4045c2381059ebb0a42b3cb3e49e54800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 6a349d1491043c0f6857ead2be209707bd67b00a90b21f65fc49dfdad4af63a48ba6dd9d993be0bc782c3a479991d022aacf3ae3ccdad6a879865a06f912bfa1ef997663da88b37954f15e9d9386dc85a4ef8bcb991225a7e697ab91bcac5152c1cce2b8cf93c17611927ed909acdf016ca97c0746b2469400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 3400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -38c326fd395b254c83fe24b9e31e2c5764ede4efa5309a467fe4cfe3cc792abcfbae1a90781225bc538e12f69583823482dc96c6c01d5ca4c6486407606d117a1f2c8ec9bd38ee2263e714e8836d45beaec19e8f0362ef6d96c56ab10f85885ff94526dc9151311bb8d61f3374e6c0b2b7606919dd2e0558800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 183caaf2e63f1f4c91f5d7f20df80eab1cd470814559b6f72c8269b0e24b01587bffc8a970a5444e85d85bc6706d6e8b28caceea0f205cef1d85bb88ac1498964079cb30eef9d909a4c868f7f5f73398b5666cac4f19f070ab75708eb7cfbbc5619e677d3cbb832f0f586ed24e7de4b6467d92bc3f01e2c0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -484e2a9eb3e9f1b7dab570f3c8fa4a94e282584f39f2d2201c728886fb5ce3a7269802b528be893da6d1ec8823cb09ec3a8ea7f31d434e6de270da7ef8b2a82e68cd347165f09127e18e7316c10de7720c7807701a96db0670ec63bc626341f3db5fc416ef6f4576195a0e9aff56849ef816581da3774676000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 36ea685f9b5e16eed94fe64f1a26c9559b3da6013f4b1ce41cf5274785e90d153d9839faf0d236f7c9642ecccc8aef9dea454ef09e0ffc13323038de384c30f88baaaf06bd7accdb44f4330edc80d12e486107bae0a2bf0eb6e7ea9d5da2f4846c668170b0342dc60eeb5926296db742b65083addbc31930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2efca3b752eedc4df5a6b5f7ae6567de76ac5787abfacf3783a38707018225b98a6f7f6ae76bbab2812a8d981d206806f63638bc6e3a6a64a152a8cabecf8f578f0e0d77a500e849bd9fcedd53e43a462725bb508112bf23504116b3593066c2c620d773803b730b34324359ad8f6d730c76fb5562eb54ff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1d249453039e36efb68678e19185623026fe37256c9dabe0ff0cdcc0f5bf2f4f2cfa95d1834a75a4d34d37111d5467a9f967fb3287f3e9e5da33187da319fe8cb622cebde53352066c1e41d572832c243b5c15327dd712e94145fc948deb3b10a28b5ebb19e6ca2ecd5aed296dac3563b1a8e521894f4a81e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3ad7859a0d78109dd37e437e76b03d575f43ecab4318fa5bc0edeb7b1f21582afda9af334346b5c8d1b71ff859b956b629c29a594c9fa9e9aaf8f59e80a1418d0ac9fe53f59787c7cada79e17471fd3c8a2942566eb0fbb59415c1fa0171bdab9c3b9c423c362b06c9cd5a6d05dd8ebf72f588478dd31726c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -d39d915636290c75ea99a9b35ea8de378069cb95ce67c71f58c2aa8720fce19db80efe41ab9753fd5783c2a9fe0719adaa8d64a0338c915c420cdc350bce3619bd61ebc6421cefdd508c2a467ad7ce7e91ac31ab1f2fc83261f35ee6d5128205141158035de23347ec1b817b08ce57f3f133c1eef93e193fc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2c31f2aa4ef83def0df007e9751c6a23a3f360ee8fdfd2c98fdf7e7e035b2b559217cb33bd3228b050d648e92043b8af0fe24dbf67ab86104d1b0dd54a4c361359fd8ca8d45152a596d3eff430dafada4ca642c92f1542b0c45343da0da0315f3ee96a979419adee1603e798d6971f0cfd855bb9e1d811c4f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 6ab9787b0266f75188f87762fde6529c0a4501594934828a5915826af5d8cea2c23797ef3fc90aa6d9547b851d2a9df9f07da0314af720977064d7a6f731f3084be3fc7a7c98226e069538c4a14c1533c082bd75b64774bd035f6ed9a44e5a294c92e79e486a8011fe86e78cccd85151e179a9c66920b5440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -87d9f6fa9f2e2e2bc2d89a008a26b169c62c7d1e3e70c8c2616052e30f5452ec6286ea656e0b9590106fb978ba20e9b9d602410c913e1ef1410910e112cbcb84bb5ce9e10270524608996e3adedd75609e95502acf348be0ad708f6b3aebb1f6d6b03b09778a11f20d0279d7ad93b9936c064a5bae83400d90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -cc166798f648983066a376c07db4e5e7fea10696b6904de8e1c7c07b0bf1855d9e230499a6b5a25cac7e33864de6a813816d5bc2e33946029267b3dd0582bf32bb2b21410b5cae6d4269a1ce2598cf7ac14a1533db688ecc30e75f20c48efb6f5e62d6d5cf8449bf9ac17cc9c29136dd99e7d0a7e789d56210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2229d76ae7026b1bf4c494d7bcfbfc4cf2907754ea77dc9a7965fd74b1638bf5966817ecb565261f1810c1997058cc508e8e61f9bedd77fc2fe70f1195f175fba7204ccd466768d78e9da06c01b955e2489cfeb709d9e7aeb801fdb0771d3fa189f976eaaea993d5d0b81b8b671efaf403bd1b9b6360cebe700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3872ba9a68d7dc2fe46446aeb3c49d17e76af1decfd9283817a5078ef6cdee80602f47d08be6fc95f9ddb4c065cce869842c165545c535c0e8d95cbce60ffb9be1c3fe67a7accd28eae2fc871c5b3fcfccb6233d26ce06d4e43cfd9fb695be8d273f1172b40080eff478ce24848b4567b6f6bd6d3b451c1f5e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e629e8f1e8b39371a90a978d57418986c06c6521344202a67e42892665e5a96c29776b6d4f1f6c38d421f90c4ea7950438203e6503a5a051f0b2502b5fa2bb6eb8890a88e875ba8adf94cc64f75c5c9699fb3315f503b8387dd114525f6409c16700689dd2ccda86a70cba904b7439ccc3a471c7419e11108c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 9060f2d28850bbd925f07f54339a5bdc8206be39dbe3bb69af7f8302834d040dca319672b80c108883e7856f0b792962582bd82cb9c55d741762af09bc0bfd00255c9728190aadf8f7e76b3a55c902ed7f9d945e543e84bcc1ebb93770520cd9767f7ae4ce11678f14faf4de6b3c1cfab01549f7f414e8a8380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3d044d97f5ba00da94205a02bbf53f5fe70c1f888137caa84c8492d4a91c34c8dadd2ec55cd8ec901a9b54fda6343370481ce47b249c2b7543676e51b1323d086eb60f11aa2acd2238d2d7d432d234b9cdd2ee4a640786177cd94e4b4c0aa9e689322b7880d46c8399dc5be9bbee62a4cb584c41642a8975d400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3a86361c60a9473ffb082f3995a5b80486a71a39c37e55b724b24b0f2bf01f4110c1f482fcffb4c64294a84f83aa4ba0cd6123b6d7af4e9d2f4f9ec56fa6f865b8f82de069083382f5265797637be9fe2bfc36eff30dc1c734e5a004e225cc439462dc3e7efb2d7a0373da7795680fc3f34028231fcafecdd580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -925f5575616e915f9a0e4d0a37e5aa9741c779f69e0333523b432e3af4b84959e65a72d2072c3de90d67ba57df43df34711970647bf0fcb12a31504031d55ea68704f574dd8c19cc548749cd72ebbd9a1e30a21e6364312d7303845c218f01036021f8ff75034947c42bc7defff9f1a98a2413eaf1f51738e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 5108ccf531527010e18e9c267a8497cfd103938ef21706742579fabfbe4a67c3ef5aa55b9273f465135922b6e89f7539968acd044fc4fb2b810c054650cc8f03f6c2aa8010b51dbb1f00b71f7119acd674f730a2314425f4b0f669fc85c9ca3bd40ca63e22441e7a6f7a8970da90b6e024af009ede5319d03b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2c258c31aad5ceffdf560e1019a10733c7f47c2a8e6e5bdf1d8dc81d1de7b2ff122e86ec968fbe90d1bd52d482d3dd1bf04b2e0f2d2861e97fdebc27e18a24a7f766f32318a4d3073322cade14ce6bc54d7735da0888cdbf923a6fb68bfc38eebc3f6b25d71cd48e7e472aa12e93d740c8c9d0144d85a55ce4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -128516c78d1d3cd91f8faeb6e2c59d83be9683bee9880487d1f92c315ae8a211c864d600aa911b2c4dea23145693ac811b99e114e5e7aa8f16bd6efd0dfa7b2a2a31d614bfefd6eb7185015f0a4e4a7d7d281b3fd730823847efd8376fb4f046df1e5da12a9ea0d9a9c7937f0f60bf0e86d4b731577d300681e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 5cb0c1ad9d07bedef928e9cc98f2ff20fbfac73c7581f854dc5243e52cb12afe8bd7a0f3d142f1ba36b51622965611eaed4cf420449a09f1ab1f7bad5b59e44c03e87b3ec5eb9831bb19dde6618b02d13ed1fbf882dfec582b336582584f63570b63b8e8772d821a070d774a4a227f1c5f23486b640167648a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -23d91b2821a0e3d964fa8e69e8a39da13b1c69488098b83d7f1e8dce1c9fd8e1a249bf3036fb96c0d74b5c863dbea09eb2cb0d33f842ca1e2e0df72560b469b596df0b713bde811704d5a0628aa9a74637dad9fa1f633977c12c46da97ad0a641bf42f20273e57da6ab316356b00140763dc77bc0e7c8476f8400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 25e0358ae755d33948981e61b4b395af4232f68f56dcf6df3dbcd33c811056340c216b52e17e842db3a958b38161b2f93d1aead3cd58b41bb66e11b99391084eb869b81298d2f93cca2eb1b74ef25f147928d50c85edc7ae7e9249d556fa58ab5ae21527b432980c5fc8ffc0a0fdce264c514109f41482c1259000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 207116c23f1fe5b9b6a108eb8b6575efe4f96ed462886a220428612b59f7d3938ecd723dbb714b4d175c7407f44a7473bcd6245aedc4fd6ed4ec702341a947535dd22fa2b48239c820a221c14f2090d85ecc406cc42f60cd71fa4fa6ec7249b05645dceb9e843d07d1766ef25b6560a06a2ab674c442564696a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = df9756eff9de913850525649b8243c1ae331b5ca42fc72270368ad13addfcc0907b850077b7a9136a0b3410ccc4c90dce2a613d0029c24612229d00caff9b1d20d1ae3199f719daed6cd0e4ef83a0571494332f11bfc68cd5eb32c569377f01fa25e23feb109c9a1fefe2508ce98c8120ea3a9d7a8c522c522f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 16cbb787f323cb794e290007ce479c1d34e50ae2d646b1fe034b8009667864572a43f5b68f4cc6d441abeec286f47b853137e1abc37306e02dd539c5764a60fad1d3a65f995e7167ab2331ee91fba1929a504d9e100f381145a461221293c5ff9c46837e2a0deaa95803ffbe10c4045f50dbe42287397228774000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2db0b66eb1dcdb7b4bc1c9fe627384c9cc753899487787020a94638e60c3da331e845b37b463788049f468e6cbac4cc3acb221563a9497902cc35c4962a6b65b1d9fde9d11e3172036377bd425736c5cba03c4dcb8ad51fa282ab2cf95021602bf53dccfc0d07154427c0a72d429bcda990b217c7d4af4cd7566000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 6b2b028e94560b105c6876f95ecc06214a8df3cb2230e141ca3e9028c310ecce1c40979161fcbe7d676c720e45c7899d24d0720f3e3c75b328037e17ef55a875c9569725ec5adcc39c019e7e242f2aff1f0eb56b1397eff1730e8d6ddad1e0253d9cd43963b7471eec2713ad95156b15f99726144d4fab02542000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 638d6894cdc0c83e288cf86857f6949b81069bfe0cd04055111f129c325b21fd98d3bd57a1d61395395db75154a468ee61b42bdfe271ea827cd8bee6fe0695c52c654a8cce146dbcc5872861b99f5f0523923edf95d8ee128d2aef2f1122bef6c19db5377dedb0282d763e96293a54585307c6a84ecc4a1d6890000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 788b2e25542c00390a7375f209f5f0b55b4cb79e03cdc226d72af8c8c87b192953e5c938b74a01a193c8fd38910f89318d4c1acf8572b0da417d0691b377390bf987266c5c15db27f90d0dba4a74f2b7eac965aed74fd91b0b2f1b1fc88334f8f24127db1fbb149473a289fd5f31d6f371ca29b485adfe0bd0f8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 53efa85e847dc1570ada6b3a92c08751d4afd36ab2946674dd3ab9f41f5e026c533f796b7008b52833038216b3588a78ec80058629b1f5956b79acd7da34f8f4e53fb6cbc8a3e3e6e806c4da832f0974eea6063869489743bda5513aa7dc5498f440318a167786c8810757d38e9a7f1c368c4384c66caafa5c50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 39161936e5a08fd9855f62bf98510b02d2d4cc5272a28d2c7d40f51af55c84d946e228d4d1e9293f0c1ac86cf46d378e4a54d410af83c393e04944e043bbf5dc83670650a3d3c06d8bd105aa8c195bfe7689ec3b4a4b1c4dab8fd7cadf9fba387fa30b01a8067d4d84a3757f5f0c889efb3e8ca1f600a3aeecd70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = dca9afaa3d395a39073157b8a50a56b4e4fae6a6c87174fb29ca296f0ba1c350823a79e58358b48e535699c6ed70ec4b72804c535196c39d90835726e0f01ecf79827b78c757070e35bc1987e5d919ce295415ff58d7749d146204339d6e352329fd63b448cd98eff676e2685e8ae267b24fd0ac54f5eb1cfda40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 725831a1cbb4ddeb20171346581de3088f106ce14d134eeff3f08e559f3233c314ad1e2b8ad7d76e07c8524bcb1bc169581813f17b8ccdc091b5beb6b359b6a08afb38d01c8d82f2ec991b9f9d2c2d0faabe8ddc9fb3b528f0c09dcf50a13ea2bed6495ebe50485bbadc92fb8e45e94a37cd920330bee87cf7930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -21cfbcac6b185cd6b600837555a05e429a45ebb20961dd82069758797dce2d321e8f63b34fd55d95ee1b6d4a73bdd7a000bd7d61c3d84041ba0cc7e20ef4bd27488cd1e98eee1a9f4e92902d934a20ab57e110dbfbfe1ee1e41ad4710610b135c04844f21d20d1de37092022e7a8831476644d18862efda17be820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1d200c729f21eefa8e49c51456717a0243a774730140d3613203eabd9b233b6e3844ad5de3fb7c8fd579d564e955b1b177b1b9b0eecca684a4053181d83e318fca8058d0a9feac0848f7bcbe3b942a514aaf05442bae062377ad5c542253fe8bdc415e05791a11935ab6fa9b3d4b6e6d87f8cc4511fc787676e280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 66b674da051c25f230547970bb2281f49562e4140c9758ff95c036002fe86c0ad47ac987fac2feba6f463457aa07c90f0d171917c9196c86ca67cb94bc221c9bb2135cf4269f520cc8d820781bbda2ab0659918f5ba6aeea1b8c42e16185a998c5515509662a17225e8f599adf791e1217f52627983e5dadea9a40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = ff9a60d248d583c3196490317e84a1be1f67259449af64703e21fc79fa8d4c517c8a00dee4a170e53648a005d406ae37b213db5611ff74815757afe4195b6aac922c5b7e290b71fe98f9cc769ff3373e856dde151b83e40d2df300fedacc46a930e8912063c48d90498f6692c84b87314eb28152287bf3e646dcc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1208a6079377c1d43fbaf4bee4eebb1ac6af799d90ddd79d9d3488d9c1f1fe52349442a1412add946a1b2efe014bc9118e12c20630ec10620d17daf63cd3a8f8b4f81e94f257d86c6ed478a5611893456dc4077dbad99e05d912a7f8d6cf4cb4ba69446f62a5a56b836a77120b64e5eb01f3ad7b5d4b7bed431fb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = b47db1a2bff7153bb0434fd23f9069c947fb08c88ca2b97c921411877c69af522f880b326dade953014292d05a1900087b769e831fb76b360f49203bdc52e4c1502fb89f5cfe92fd37199d94195e788491c398640db3cdf1139503c66cd9c364090f697630c94bde7cbea07da6b2cc08b227f46dfde4e1e8f9b200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -5d3359fd11f2cd520bacec62433e8db28def356fde9dd2cb78911ac90f57667b0f0397eee11a8118f9c49d169c584daacf142a3ab1af2cb5347286166a8b6e0a9869ce50a879ed97791a3f175cd12a39d7ed247f829394787cb2ba8c5ac7ac60b2d27428d242d9e4542d025e665ef42e2cb2594d6f5eb038d167000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -402e754313e09604d68f4e3ff730f5f7e7d33cd55bacf8b1e2ed82c0c0557a5d5e68bbaabf2fddd4ef596a7aa06dc4bc08d2a80fd573878a0ac99531c1af8465ad4ccc6e6d567c5d5d13a5c2b5844aef28c507699fd45482cb7fbf52df80fe7b35887e20cada5bb8d230f223467f1c54f097a1a54bf6d0e8a4cdd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -841c3b52156e6a3c38a11df06682f0395846aa0011ea0574b0b76c2c0fc229d6ce3c606dcda5b6ce146768b1833a0450dd52d1f62ecaa62b8f60a6417b4bbf798e875b08aa14315aeee9f4649fe00ea268c2dde5723c4c5467eea41a3b33f8c7a8a0da32fea9a66a17ec3ecf92d4839698b287c0a3d1e71f212d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 13858fb38886f134570e677c3c9f9d89e6f4fe8b5698e8c2e1070437c4fb9a263b861dffdbaecf814d7fc8ddc59f1e9a7da886b3929f272f21bd86482ae91a40878bb364347399fd4adbe83a4762ebd05074d648972711a84b21891364b7151dbc02915f0cf8aa7ff5312307ce02ae79f3769908ec443b73de972400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 76c6b2798c8748c41f86c0faf3f39d80638edae630f1090d53eab29771ec16500c28fe07bb7cab699f06927f7526e4781bbe19a272a6615588bfed2a46ba9d32a884b5d9506d8240fff924a3452c1ee97a9388d4b89b0d4ffd119091936616ccafdf84c91ab2397ce42d7c3b696df9c608ddf3e54d1237a703167000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 9bf59a255de006ff43310eeaf7ffeae176343dd8001eea6b5462accaf9d044672e4197d76d4bad38d588f1a5d2759f12363a3ae11d711284d9fc076382ca74d791bf2522f442e20f28a09813a885e02f5b6d4beed8fdb07357d51caba28692e3e5c31c2c3d49bbc5616f20107999e98f7a179a871ebbef407198c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -98c93c4165da31cd29abde97eda07c45d73ad51055549d1c7bbc2c21f3f5198ae163b77ccd5715547064eab9660ac3906d12aece3f15a1de981087543be1d555f62304a014edfaa89defba6e4b54b8ffd5a714c21b35129286af7d0318ec661c07104187a7602f4d20579af33857f69d66b6d040c09581eea32c3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3d179e36a1d0e4efd4dd664377ebeff19444aac8fb8bf0c14b1ca8a5201dbbbcf2967265d9f57400a3b5a8de22506918573d1b564a746adb7274542a76939d3de0cd8507aa42c21b0819a82eaac30b3e1a27d710ea0d2192b55272e17bf7fbedcc13b808b8c7419063dca827460c382e814d53d174063b46a3aa24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3b33561d2e57bb80c8650f7c37b56643e79106f1c720a918a4ef1b50c5d48064b74d45c8b6be850c46b91180ebd9acc348903982e344a567309c47f2148832005ad8a76a2c913c3c5318677db7715b34ca63e37de1021ddcedc8d97864c5fff63aa5305ce2dd9c5eb00ecc0b3ba6e0d6f9bb631f45b2548254c699000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = b5ee3a5537881a82d2b902bc19c03e3452cf8c68b0d51b035cf407fa0401f5ddc214214d5e370cfeb79dd9a6074b5b45024e434bd496f2c6cb0fa43c9d7c937ac528423276a9522c7e912fb749c1b3348c1c16233689acb941620db2ce5c17bc19a5951d8ba03971682a8c6ed72bbc567b35a0d51d17c3cafd52d3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2bffe06c2ffba0c3433e151cb05757b3828f3ba3f0c70c2c5904c0bf97dba9781472de29926f73483b306436f9090b4b348066a739b20b8c2ade09129655e4ba5f881dd0835fe1cd2882c47981ec9d8b8e17a3eb118b1d140154d256267350220fb511021c44d6d5faee5c4f44e01bef1ccf650f17698d8121b20b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -9363bbfc49e25bee01810e26a43a6ed2fc656373ccd2150160077c21999f6ffb28e4ccb72f71d561e4c7e96f73424ca95fc0d91207390ecea5c9a734ba29d2630bffe0ca62cdb463a8f0c777f4091edbf4671c6c12084961fa1aa165d8295d07450b232a11ec4c623e90ed2509495c37df86191adb33a4e1f22502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 8c3177856867469356b377c22ebd0f1b74c9bdcf344d3bb9922831f975c5dde3a476da65cf0fbd54b0872841142fd8a20ea6429f1080c21a9d72f6cf3dc78ab0201dbc97c8300fd7e99d2ca05aa331d5997d6186129e48943b650c0c540a0a1d1e41e23ab53237692ffa42f4f479b1cfc4dba982eb56ccedceeb47c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 4653d3f456f75ffdb2a5ec505c575711d89cc5fbeea5aabebca9076b81d29b387c03514d026f4bd7fed944317dfb67cd9dfc96c85da5aeb31c1145a751c5274c733c69590356fa1f8b84c65e90d47de3a1b0d1d4074c19f2ec32d7d954109312d00e187fbd0ff6bd5600a8d7fada9eb174e4550c1fbbee2d05554c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -195e1bde5432f0770e7919b938a482f6925066eb122053f37774ca6802f33d94e9ae8bb48f189a253ff709fd54a72800e0fe86ed6623e33fcef1fcfdcedfcc58335f17dbd231c30291bb0b71de31741fe35f8e917dcd0afebb9f774234b744bdb453af05317e517c3057802d2bb9cef2927145d5f7c2417fc47f8198000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2988e0d78037693085ab15a5cf1232e96f5f0cf9889582925e1c278317f9f81a95243d27aa8121e70c3aff855d7d1a64ab11b04daf74564b9846b2040054313109f5f20a4c54f2d915447f8742d93f63ce5e45bebddc42b5f106c5b507c77c88622e42f527596b3f0d615fdbd36c7f32659ec81e0a27744aa5a654a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 48000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -571c5edc3314c11f2037d8b6d40beb11eabc217d2c30674b642c44532aa713f6acf5124688efd83707cf816d48813c110e38353b2d93cadf8d10b50531fcd7105b95370445e3b4be146dd27ab0a8850322106f859f895870a86f555496349b7480f857f5248adae6bc6cf89e9d752d0ce53666945c085f37fbc42710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 7c4acded9db498ac3ad6a84603a167c1a1a84de344edade71019d0d2e9a6a0dd1aefaa29e9310b1ff3ced5a9a0cb71cfefc6a8bda0a5c2e43bbd5d87d48cb64bea99acb6dd5f3d743ac19590455207ac081a9a4b2da914c70666f8f57250ba4099b194b69c823212c1ac7de9cf2badc85ac8abc36816db9d74f31150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -742c0ddb8a791965f039bcd066ca51f498d2bd0d6141439b1d65882cf861216a6d55a32d24bd58f2f9d82baa87969581848983235ef6263dadf161b60f01173a240d32d7720fa91237f6438c38c845013d2bfe19ace5865d05cf01939cb677f01402db1337db5d9ad842d56a0e0c6a1aff0c1f12b17602ddfffdca20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 83547886621b70cabbe0c9c41d1dadaad33dad8b45e194134c2868eabbb9039696cf0cd28fd4bfac182283d04059a74cef00027bf5209e79ae967dacc373124f0e21149e42572dbd3071cd3f66506ab2f81d1a83f62442cd063520075baf848f9c885aff295d397fc90eebfdaf94f731d3a42c7cab45bcfddeae4a40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 87b38f78888717ee891b89a8754003110f60739c503f05d0d70f19fc594061feac2bd0efd2ddf2711fa6a829436731dbfaaa1b102a6690a1d3099cfcdacd99ab516b8a4c0dc94db3155882dc31251edab8b02265ce7817d016087f4946ec45aa72b7a9794049e037e9bbd22eac07984698b4ae2493df861fc7182ff40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -88606809e28c2f8e60ce003a807a2b296671b34b5eb68c0a411972f777d7a5cfaf17f99fd7b966e9aadf30c460b2bc15ee1662c8828c6974b899570720820f0af2ee529abc0c0a4b82ffb9ab2d222defa6e267c011306b1616af0f0ab86625ab461ca7ef64c6e88b76b354b4f171109d2cc00a626ea369f5702118e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3a75c1f6df832ab583216b36dc4d121991d98dded7211586b58e31bf997243ad331271c6257957da0c63f67e2dc7ca5994d9b8a53d0f5e541a9916f2b69f0310436042e74d1df47900a618c2731c354600d1ef5cbe9133d424c68964fca3f426ffb078d2cbf00d8affac02155cefd7a5f019a64a40e551571bac0fb800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 34e7df32a6153f4aec68bb4ed7af88f31844996c4113566621d4e24799c5651fd42caffb49c3dcc2440cc9e778240289b9f137178e1ac3a4c385f9b53f690dd80fc5138bbe969c1e68d545ff2467798e079ee7a9ef972c80059352c55c6aec04678d5efb45aa1a3a11b80d7ae8cb7c4b56f1d0a08643d154b34164cd80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ff6d5a3da163d44edb4dce734a15ee42265a501a41e2b8640a1e14aa39355b6ae39a1e1d71dd4a862e6389d122948979b9729fe8eb4a2b353f5ae7ef8dae0c0bb71cf356af893a847b9454ac1dc3230e1427278586da366cddc693c5c2a7df1691bb6cda28d1775965b142a5430ec87cc6544919fbf66788509d943e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 77172a12ff1c5d696541c7f3357ecf66a182e2262954944f5e2e94e8802480d649682b5b867777b052d495263ec876bec84cc8223cfec015a77d8c24171a9c2141a2ca0547cf92d97d3bf17e11c9d308d86fadb8b41192ef0726958411aa97d86c62456220616354d6ff8772736f490d40f3daa3bd077a37df95eaf300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -fd977386718ad7f5c903835c46f4679c1bb4f3cd685e63c3cffbb1499a7e7a024bee803db563c900b091e7aefcc3f2facb3a1a84a73d097ff5ec456331173d1711f1b720e0d5cd023e7baa0abcf1d86de25574642aea7a12518b45e9dd199244c7690d1d5dd05c85d145af3a4d13fb15a087380768b9c1433385873a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2aeb1afa911597c72efac3d62dde42ebf0a3747825f6addc173a496e0f2b0f3379b1b437ee01307237201a98b82bb7b8efc3c75b6c1a051abe9427f49a21b4c08da61b6e424c91da9f812c48bd34dcf7579409bcb57bfe229a45c85c3fe708b1dd430244e428a84d6abbdd6e6cf60e726ffa39b0d46d483c6ea5f3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -dda534deedf303e8c951cc8b22cd423c10a013cccb8ab693c714c8827951462ee941c0203fb1e44460069c85aeacf8ad340c42fd64a6ae0530b9019f6f19d9b91dee2f2421e558f265124fed3cd7315f5bb3b4a8740c116e85a330583077200b8e08b9dc1a19b949498ba7b58ad46a112b1d0e04313c31d4da64efbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -65b91b20498c9c7c4855ba0781ccdf503885a5ca64d20932e9c77160650dc019ed758cf3b825cc0607ccde2475c5d7b98640b964547c4a5549170b703097998c5f50f1f50b590bf462c52cdd2c286221a9f55477bb2ca44e8d84de6d7a6a04411bb3aea1a21d9711192060cb13059c39cc95c42bfec648cc359a0eec400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2338a686a912fdd26744513a25586dd3f0a83426c5485c5bce03afc45c48dcfa45095e4bed7266001a698d009da9d8741aa192d63678e2ee3fda97c485988fffc438d2ad1bbbc0544316c958bdbdba3278b2a9b7878c3798229619c26b8f043eb32eb00ebce97395cb52e43f5136d7a451f452d7a5e1d1908207490cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -62763b2c80252956c6ba69952fd7a4da0316e326933b58d8d28bc800dea472df2f25773a74bd56fd085e43b0bfa8cc2ce0b1d2305c496a55098a63318c2f0c41b0c96d60f705a6651be9e749972db9f4e0f295c96dc7595873047dd4d3d39aec37261e674e0a7eb44afca9073abc750ef1b4ae4c51e43641bace9458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -a09a615b8dbbc4164eee173db4f7ed7694d4dbab39c616c166d8b7415b12b0aee07c167f25636a2c41dfe22cfd53e69251c92ed8b81840b52bf4151fbf4d4198ced5d04ff87bd6d1e62dddec4719e550ec68c7e7ee9d54847aec82ad6be66552d5f2bb6d1a086b1b8f48a76157b006fc1959c21287db125f3d6d2f94e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 8019236411550c1a232ff011be4bd4a7f8a1a36add27c7473b211abbaa04eb1700c43d1638637942de8e2b52de8ed1e173f21e99c4ebb919033f3d5e81f5f9a778a3683180b9649129752f42fefa25f0473af01d5bfc171f1d23e0fb56ea17f50c36ceb85eb6d4a8536722d76d3de040ca8c008682f028f9527383dcc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ef176cd0548f627aa68580c015508568474a57b351b79a72f5550c3af1721493865d0419884c94f0aac8de7bc09dc516d56b64612a6113b025d910d9d9c147fb6e610eb05ecc1f3838482b30f16808ceef35e888b881ec91e950992e3a6368991bd7d59d5b9ea8104d28b0293c1bf26583c2ecdad118293c5d4c8302a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 207de71220d3c498f31b4002f58c103bf0dc91394d16f50789c334eff81629deadf5db984e109f1b905a2adfff7d9eaa0da01ac0b369accf54002a1c7269270f4e9d3b345e1362140e6574199a8b1546f2bbd62bf6c44eea68d17d1a5962db43d464afd34b8a8d0da895bba38003916cb789e991720a0e644247fdb394000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = a8c8696c34af7c2564f341e3ebdc55d4c9bfc4340c49e68fe41aa2ddf1517147dd13bcb53358cf17ca9d0e9150a96425345d381c625c475e01c4412db2b2a4a9177973abb6032e60a7a756ba6d9944ec8b5259158ea7df6ca63ec53df886383cad3b376bf61127a501b5e929f46c7cbc7e9a8b377773b7cfa5e9325404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 618904aeb15733f7acd33fe331570964d2b90511567f90aded691b437a10efb80fcdc0f33295990bcf12ff9b7d805358c8672e79c19f278be5cfd45fa41f10af926d62c9e7db3a5aa3ea8cf6781c3758a0ce85bb44611517eb2d614163b1f29a33813fccfb2607c311524ae2d3f470501065f68c9c4aa9b281cfc1181c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -23e4bd86996a3c723a79419735a5680645120888264251835f79f2e2f27351b755c49bf424cdf9a076de8f1efed3b4eca33b1f7512d61cf1d1ac434c12152af7b56bbf5bbda31e2dcb8ce7f24fc377d1ef139d937f1729fa8ca13e25ef1d3c9402bdc1d585fd3c74cd334f3602ca7dcfb4bf3ec74e662ef5f7faca0bc60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = fc4337d9286de66a8fc0620bb5eee0d84d0647ce7dd0750fc8d60477c4ddd17ea7cfb6e37cae51c2e910d8fd769688aa79375e8133aa88d3b7e7ff25138c2c0eeceaecdc5079e0e385f517f94c9c9fb2adf25bca54e07ce5153672a5ace66ffb6b59de977ca903728d371ccb4a2fa03b8088e3550065cc2be89b3d9448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 8b4e5f14eef22c3d3875c045b834190e7c6393dafea9c7654333fa635c64454600b006414770d933b1d32b9b2a5a4c6ad45344d5acc6b04c8c1828b69216e8d84b56f289c238af5333731de0befdc3542859ef5b194bf21aaac2c65690ae6ce4a8b283eddf0eff36dfe5a47b485a72210fbdf0751759e64085c4d761c60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -eb0ff79a51a7201ab35826acb6a989d227968aa9418872c2cfc796c1cb350c2e9962f966242afca44dbecf8b29ce39eedc6a243a3ea0d834c8b564e1b4eeec154bef25d92cefe0c0991405a7c8906d21a319340f8a68893b5c791b4742f668e03a7d320e241e39328c6dbbc1b39fb9aadfab2b9b45ae3a50fa8f66dbcc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2f688bb244b42b2d81a3916ab131cfb99fac535c09a04d5e317f2ad40e324f39405c786c9fda059308d0fe27e3268d08c1e992939b9b11d30c46e5bde38966df1a1dfd7266604d48646f27947a6eefc592e5e39eca15dc356b7e0167d1ebad1ab4cfe103054c346504679c9ccb6936ad66663f3018cbd9bd02b5f7bc2ea0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3e075c62e753f95879405c932d23486d6f582dc9edd61dbaa3f922ce83cd9fe47624f050578c59e3a8938d51536f49d329b17f4b369bfb58b5e0621759889f4f106c5f579a34363c640133cf2a453289925662fa92a3cfa089b1dafd636d003ab4fadeecbb8c6aa6560271f55c417f933587a389f01b42f6f4ef06e1ffe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = e2db71c0a47d30ffb02746eb1b82199e2f6f2ae5080eb757ea8aafaaf6a337415d59894cbd8eb1116ab23e095d7d3af6c5f7b7e58a06f8508d4b632741c4e587f2566faa0fe9c058e15346b075b84bbd7c9f29078fc084b6729e1bc34ef733df154b9e82e0a42cdc6c300ecb252bfb9b6cfd1a6db947a53621c2af916340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -8bea87957fcb0be3662a250b913a7b8150b67a25af8c84a2a0f57d56b8b5245f548e616ec2631fd8e0bbdc474ef24b5a2ec59d109dfdd0610164d661616f2b7b383a955182a578e10f1323d773f25c8be307f810cef7f9cbcaffad301b38235af85019ab1bbd2a9ce3d0f67b06f3955545344b3d7008674b9bc48c868600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 416f8a67d9cb1579006b36311121f3bc5d1cfb602872a4b703041afe73fb8b8e57d961fe0cb8093d20d58f6b6c44e4f25fa499dc1b4f2f01af6b1864963f9cc58e113464d62271d401cc8bf5e47be0331fc2824e12188cdf3c9d7214bd415b6c49f7dfdf57071ec1cdd48502574a18fb9cf244ed5c202177929842b68300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -11871949c1deb938084b82205474233949354bbd2dfbe4b5b509a5c220f3cf071793911f8e935302e3e9886c41927690436ad08c64057a0ea080972cad71c833c560d98e2f2bf75f830d811787a542ac53000664905d3a0dd217966c8f961c1dae78f36b11a562d84946191aa3963549d0ed688d434a2a8a6ef804a113580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -c97345c0f4d39fb5ef3e2a0eaaab76b63d32300d5009e627d1b25ab7daeca66fcdb66f3737cb4320248602aadf01872197d8db19453037168e83ac4befa2aa056a0965bee4df712ce0cce374d18f65cc96628b88c383afd0f76d23dcfab30950674eb91507fc0487839254e14d325278541a7de9841e1b5e45e7750c2fa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2ce483f8a675f7554e931df7ad5a3d31b6f7ffb7bae0b442a0458827ca6cd3fbacf94e828c44dc54576fff5d8064478df295b385bf4a1a9b66f954b8035e921969d4ca5f6d46ab0314acfcc81c6b3900dacfa0d77c473bf66d735fabbdb563475200ab52dae57ecb9be438c3a4e35d6a46b258f7265bbfb9b7bff5e7bb600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -748ae2b7abf20ff1bbb704e0598529ca8abc66f6ba12ec5197553c73456e9690befdb624203a9b5d967ea657be7fa0c42238659d5a10c2ab207813013b696dd86a046b9d16876dd2e81519b3da2fdd247bae1111f8bce5faab675498ae7cfc739fd3c480b037c87f544e93a3d51858f9e84e1d5ded0e065fe92d653092200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -30fae4da020d1b96f25e28250e7dff3ed50133fe66ced7659dda647d0febb9a191b65872f1379e8078cc257d3aac4eba0d57010a03616cd55d7fef522822ecff283eb683c2cdb7ad9bdfbadfbcc75bd5a474098507774751adba349e72b6de4388284fc8ba1dcb2bfd181ad55a31103075db3f3b0a8b9b06a97cea4c755600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1527bd8a59814bd5034f332e1d1c1104d109feabfecf4201994cc15a953311f550e5fa6fb63dd9d49404efeb1e02669a8b3dfeb6c3f8b7c9239b1ade51a3a462deaf7ba1b21c7ec2d823ee2eb31449c6b9338314b938b5f509bfef1e293b55237810e2efc22d92cee77696933d1d400a3f23e79c406a587eba1283f2403800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 92b4114cd087b0ff8037873ceb08e2e4d70eced4de49f514e2e12f4fca2aae3b94510fe7cd4e277a3920c067d56de572df9ae57f3231dffae00f4bd2b08918d9cc71a32d20335094b4af4c464cc6860c90b6066439c8ff34c37c2206ad32bdd2c8e2546fa695f8dc4fd7f2b85c97c912a78afcb0ace03cded44c4a65f57c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 16a43b210bd2aa20ddb3cef8c3baf66f2291b05adc0df2c35d7560d8e0eda5f19f11281d1c7b40926333e7f420a1aaf587c9bc216f2f579e4f0cce3af1ba5218bfe15c2b63632a0a006a67d6264374ec3927b64cc76ee5b5e9e5897f718535fb0d917a429ceda378b0f76c9861662f3cc9807369c85690578868dc12804b800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 212d9b2893f14bd963373b7efcfb263cfc9cc95e345908faf4d283faa83e336548e5f257f8da850fa4645a9f28df4c36f26f3189ae626409db2de11a3b8aba3e2d89e95d4fc6937f1c452e916ce01c91bf8314e4bb1e38a26035fb33defd0be2ffeed1e50c046a2cde9d872fad1650d4f6ae82ad77eb9247fcc3c108e279800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -4e48af5a539eb16cc84fd2dbd9dbdc6552d4992fa3ce9ec4bcb17cad082b73474afd59efcdd75720d4d198dcf05bfbfa9757c227aac4c0362a507cefa3c413eff54144c61f08b5bde17e8efb0e5ef5337b3dabbbae1fe34f96fea04a5c2c3cf24dc90ef0f14dab82660d2cd61035c566e6484e5b8861aabe29f0dfafef86000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = e8ca19bac0c67881165097eafc4b008206ecc3c58bc496344c0185e5d1f12cef44d856719d7c93941313da6ddf80c39b6320ac5f8cbec308718feff4d3534489b810045fb38b1bdbe761e465c23c6935759aa0a0c0ef551209e979c6838ba23988d6bc49fc06e5c1d0fe395db4ce0687f9c441ef32149e3f8523245272cd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -19f21057422a4f269fa2d00dc46669876b84accc161d198f29d840e936a2910a8b0b6593a54f1ba3a6b3cd23735aee230f0ba1855aab0d0bc9f798f46f89996bed9e981abde24e3b593a53bd9ca0997f25bf95743213a0cdb8051a245e3e274cf023e8486585dc602719e32a8754d7f4089d30c86f5cc995e08d52750230a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 36cc89303c9cb72d9fe47b167b9c5fa0ed0f2f326ea4d1f4f9e50cee4ff76912755f1f6496a634a18092303f9725c769504d9e5d1b4e351773587efa96b0fe5177139d92fe9b72d9e9d3adcd12deae96f59b493dda6edcc2cd2d9c7006ec639d4d7a538a0ef89f1bb010e5f0aa2394a0662fef59555c7ed15336e7cf5215c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -d82d5a96a3b2b457bf961b01030ce0fecc3578137b30e4eb1275ba2e66806fe90eae0468418d0f9629b8500414e2b9432e7e89c36cda2f1e2d25b96a67f12773c27cc5e8c098f5f0046695bddc5389f13752f41f0c4a79ed9406e916642b7789591cb9c3739af86a2a8b9f6942a846edc6e920f663c14036f67c2f15e1b60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -97d0818ff37321bb5f193e063ed1dedab3cb2f5ae4fcd975a700cdbee73d7f9662ce91c9e9b7707801cb2c82dde73df1a1598046814200918c35df28396600b3019102bf309160734f4a33f1d7739207ed21f2ab006be5e5ef7ecdb50ba38570182321dd76088c55955e8fe341be98eb0865209d1be8c6e8cf252913abd94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1e5b8679355b539e6d72260ea0d7b989ca2be69d8b9116f5e991cd01edf996298b89181cc0ff0ef1cea85d721adfc2aa8f9d4e1051c52a73f74d76268e418800f274197c483d40163ea49e82915ca06fae6720c0dbe1d6c38063d6db43015afcdffe59db7eb69d387aa65d96a81dfcae3c7a41a94283d700a8a5aea5dd8c50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1ca2347408940468dd593fdb32f7ec0469f699940a2f076dd51470f7c78fcc5df63a0fee855cda122c798947f41c5ba820562bfee3b0968ba03b54ddea35a65ad61707be506cb8b90ff30c4f738337fda1ba2efea3aa07174c1a7216dcb89942bf71bf8f4066da6772aa7656b19b543437a794f411b9cdefb21f9d3fa09ea8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -9b4ab9f0d8f2a5ca33762d419e2643b4e647060f7589c4b9db1c32abf78fa842f66aa49bed3545edf5451223c0b52278cd3a28cf17bb63b42afd17ab2d3d613dcf33066200e57265af2a7e32596d662be11b50b6bdf804b5cee16b276799a4affe483c21fcc88b2593dcac4dbb7f28e31241bf77f3278eab2e952bcb479310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = caa51572d208f08e44ba262e0fca15782e256793124453ee5e77579211970e8ecf676e6dfcf826c67bab08ac06ca271ad6ceaf0940d102fb08cc27f062bcb15a3fa3a66f87ea227bb552e2dc7a72d539761da2222740e8b484072381485a2623ee7fe50f91bb5e1127c7cd3f4caba5cbc12a5d2b2e39b59c79959547203850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -16c3d6aa23c80c607f3163520e023fe57e8305c4c5bd39e04445ad448a5bf4dac9bbb1711c96604bbfe72abbaae4107791dd6b12dd9924195122d6cf2a2202a0728a92a952a2bf0752fde6523648bc8cdd48c659b8a67530f6bc522382da8df2e0d63ab907ff4432a0f94f5c0fc88a6208bfea3fe1fea8d8c37dbd203ef5d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -20f95f1409b1de44509c4241637e838bb32639f548236b8077a11c3300a0df3d2bab1049ca7034522e96f49711797085df01a545a003131a9a018521fdf652d586e781bd4067ed8a5434b9eb77b5a411e15c95f78496b9bff09b621f47c85e05039f1ff4de842cda4204479e1674527c286abb940b233490608e27cd7787680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -f434274c044a33267e8e8ba99b694b608637d4e8fd67ea9798f2e379904c901e159edf3d293510e8f41df254853aa48d373fd8995f64f314b7b03306bc7b90d0fc2126b35d67ea75f58e5b4fc59087de7a8921d8ae600203fe033d6a44b514cae149e7c683a3ec50c004fed9f89029febdda2b1178fe903c0ac16f0920b3900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -8c9d6313f83e8e2a1b1a229d891dfff7cc8f5c86f2b2d535be5666e78defec8bd6282328a445c6c84083aeedfb3acf5f58976bbabba1de8686315119bebee7d58bb7109702238cbe64e1e6862b67078ce00e5feb964ae1db5b957d78127263dbfa5b474189507cf69683b4ea535ad8517fd9f9abc6b7228b439bfb1e1898180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -15d1b17b521be28ff2d5d09a62861690098f31c14e1b10349cdca17f2165e5c8ba6e160a886af85415bbd36754ce8985b3108fca9ee3fd1e81d47b5e72f557be693a02b0b1b48d11b8dbae02786590b7051b378c6381e88a76b6477d99028adaf42a7c55c50c5d2e6c58c31c0b378282c1ce838e5f53f3b931b34a767bb8a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -258fc9984f75e7110e9bf47c3c2aec7de4c49d3a0d96c22ecad8c246847ed964fbd52f818c14eb1628f25f5e276ce7c676d653027fbf176c9fae8b01cff65b50da4d7b4338a82206a26e69db872ac1c7af707b69434ab976a0c627907f67e066310c8c0d97f5365b6755a4d5608898fb13b319c9a701c9c888fe81c1e3581c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 51969d1d27c73cd3cc789f470c91126e1d0e3796ea39a09105bc40ff4fc4bd00c2182a71c8f1d9e79295a275873fc03bf55abcaf248f1d0b845c11115f342c3ae765a9fde32f01ca796d12f34464e084c361ced775af41d54a58f4d9f0f827fef97c33bbea38510828c4e553c2eb9636d261ef4143fefd5075837e05ae435700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -eb1d2a6f39f18a1f7ed9527c4a24df32a297c6bca4e2becaaaace0a2da0873cca08e71704fbfbb41ae4e8ecfebc5d9c9cce1dcf06eb520b67bef67f4a21be9d09cd151b14ab0c1e1b92a7dc686cf58c8a0b8ee9e541f8c994f3589cd609eab345df5b7ecc9507fa99eb38901aa5f76a396b3e61ff6c5a1167777ecc298320700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3996694c79eb5603e105e6ef36844601b8d92b61d39fd369269c5d70bf4a15b3c30009ce5ce58e8ae9793558d770f07a2b788ba7f7d7fa7c3fee4c18f9b3a4f08b1b7f78d9d3822609d66698e5ce0da2676e47ee992fd7f8271ccc60df1b096523d028d32139243d17f37522987c55353506e30f616fc508df22d5d8092994400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1932f5d828b2c2a20b45599336e1a8d5964f74347d52d864486875552ef08abce10df7ab88c763bf12b51071a54c1a00f880c1c1022fbaa71724131aba4c17793899f8120db0e7ff6c9d1702648404b92638a10e0552e10e2c1c1aa5c72e9146decf31ba9460d02af93c97e407a828c915f12ec6877cbfd2791e1cf4db8b18600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 4bbacd4000540734947206066144d599fcea0f926a9b4d23d761b07f5085c8b39702f2054f9509edda38cfdb42370b74eb07a452f888e8946fd319503220255b699dddc6ca53e863529decef0fe1d904dd849a6cd7f82971c73c1fd1584f348fff1871c8431cd0965916e61b9c3cb44e03242e748140cca020b10812681d0c800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -a0a9024b63e7fd73e51a6bbd469ea28353581af323e9c18230afc3cdeb4a2eed8595df4238bacecb4d108b4a935d18ab5e7b41dd9270f25b8972a2431f2fcfb3639c546b507a420ba2163070f949c81f2f9af52165b99dedcb1fd5c5ee71ec587bb03fe846bf68250003ab122ccfdcd0ecb1eba5666bc7fe42108e88fb13d3400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 29839cb4f399406c6dc9a8cc64c8ea2416c78274408162b5db901ba49253606a0db14d03b7167e7b9fa0e710bb22efdea52b48129a8f1d049c3c2cacd7420fbc302b2f50cc427a72b58d70bcd56643066b74e41d38f212a6861570edaf401e888776b94fd2881e835134fcd29914f32178691baf6d5b736dafab6669a4d70e7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 370b69ee1bcc8faa1c69444c0f5b2bf1a7e01bde9813218e06257480bac2c418915a4de484b45a7a8bc4654d3bbbcbbf219624028e8271d5303ca522b790ed180cf8de2a821b6bacad2d16eeb29e652de2eb9a6fd4949f31d99903fcf2ff474c208ab333665687ba964ed519e5005bd787f244826497c3da8540d4c03c3483b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -aede873ec348b7b39d7ccc579b13bfb6317b7d72f0c10f3d81a150038f53ef57545db6b4e0a6a7b35b169787121ac988e232f515c73dafc37340b8d4ffce6bf5c6afbd25b68a1a1e9b94028269e2db55c46fc4732d2befb5369cb92162b9ab296e8fdf434fb58696d9b44bc0e7a3a48cc19d26e55e4e574a57d63d89428fd6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = a64eaa0c5dafacddf7669c68426a41f073019211f683c55dd4ffed1cad5867da4a654124eb1a366a78792f1b5f4703bc2cf5335a882cfd282df18d2a0c6c6edf0ebcd8fda28da626c0227c16ac40447f6cc6b836aad4c84f6701c782fcb403f15c2492c510dd3fe98e0cc3414fa881b4d922155547d2f50d05e39d9e0351e23000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1b16988d68303cbd170200da70eae638a29024d6f448feb2b0e0ff00093c436de69b508a2efd72f8cdfccff523c99ec210080535e73da35bfb528dd399c82a08ea878832b39f01ebf96c9e0e04811538bb6ec4c55f64630ce7241ae75bd2c2d92497d3fb517099a3c6b32f2fe70ddc4fbacf1d9aab68b7499d5162ceec47fe34000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -463f96c2000c90919a4ac824162532ffbf011498c1531416ace09ce4effd78fcd417a63c457ca52bde6b0c69fabec529ab7be77c48515558f7913695c9141315089339359cb48d5e82b7effd852f4f6051bd10107dcb074d7e265b7f45dcc49a9682d76d1e6976604ea695f8b5bfa3108f5a0ace9a3c021bfe645342b243960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -fb07df943d8e44a6a5d1c0f76b547e3ceb4ce5a8071c93b59db41bbf989fcdd7481a78bc077550e359eb1f7ab59fdf92b8381fb8d845f4eb2811cb5a41297f832a6b8e2031f7c6d29788f1006a8c63d3d0263892a088c19a69d7b98eb563502c3b6d1839bf22d8eee378ef3964869d14d8839f95c876769f7f2d23bb69b9d760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 456248c3ef5ae78efca922630f53f89658a02f4e8006d05eb23f5f4e85b68eada1270046cc44f0aa78edef24624727f6ae46da95c7cd0b4fb27229cf86c386c5cec9743e3e08cd041c2ecec760fab05afa5abf27013877d93ea532fe974aea584ccddb9f03468e277a5f670bd95ef307d778a726516cf21df00bde4eb9e28430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2145a1a13137a503c6eba1bf9bb766b127ecb4f73ee3969d57f0d30dc5b60798af3d53cc0b4848330567861789c4a7048aec4edb5848a9b9bdfee8aebbaf6f16bd398d091fd0e6ae5be5bb4d5f44d60768fac70ce4549515890bdd67a34eaf004120360a1a0e7c52ff9f6a3ff931d5146c8624f1e6421a3fbc44f04060d3d96a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1216b969557c239a99240144408a8aabf697b0ff91573bea4f23664f7c7bf7fe0f1408da1caa659899f1cfc3d4f0bcba78c69c1c54c5c4a385fe04065f69dd3878e8a23aece138df3be01bfd345184cce8e2118d53f6d22e7a7d397c3739423f4a4032c63c715383c0b6ca49953aff993d8b78406468bfe4d807a8e72547604e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = acc3eddaa918087e1bf9b9d469ed80c74ee5d71366ef21b6d13a2e0d1390b69c1ca673a850141ce5c5beeed3d9f08344b126b78ae97594061e2831aadde08096526fffccb2f0867b50a300e8dc6e8349301a229e2850005b790ae94ed399a860f8420dec999df0c9ffd53500a3ab9f92a884fa6ecef8449ea03577410165cf7a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -76848b60f7cd9cebbe9570ab9f64d20754cc1b2888e48efc86c51079d18cfb0de410d9a64e556361ea9f0dd6845cbdd528489c65eafb298781f76b778dc33511fedcc2a6afb87e2553c63ebb9515c6635fde850cc7a00b6f8b5717050bed4d5a864609e4f2023efa077efca406ce65c8a0a3c0c66ccd9e3fcbd703933d90e5d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9066e8823853b1a423b03739ee64769b8aa449488b8a152926f02305e886b30736bb61140bea898ed28da305a51b5fe39a03554b46abf998e90556f10b2e5d4ed1463b41b591ad987870b074c05b0589136432c736ad813346291200c78e57847c8a03ade48729a1353b7e52e3d284adb7005981e9704a25e91fbff09baeb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = b6a555f4918ea404fe273163630e859041439c75b14d68bb5dca20791660e3a9682b7a2d686423d80c09286e4f80ec08965f6b8c3a46489708d02fba567e7ff898e272bf55e4bf0fc27f7f407c19f5573d8aa113cd18320e506e3423bf709ec65de2e9bad5906ad0e47ffc61a38d98afd6b5875d0def37ac495d650051285cbe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 637919c5ed41184df439972049c36760a8d9a2195c246884aac16294924cc276be69b48bc9328522ae518c3dae992bc79b98d9c48724b34a36e04c7ffdd5d063c08e023a528cc475122daf8e2549631808bcf245c0583b9a460fcfd9806197d4724221e123ba87432dc16f530d7f786b3af0d54d2dae3cbf2fcfaead0f27e3eec0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -2064bd2e441167ac18dd98205ce704c070663eef09d2e38331918fe0917e92aff87ab929e1d4487ca12543e61bee8dfa75efce2301c3e0c5fadd097459ffbca3486864487b8db614a94b0b53b91e300404668323a3c2df9e21419825d87885da478f287272adb706e7704d2843a4facc2ed891f0dfd3ceec2921fdb4fd05c1f280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3984d014fd7e7640ce2faef65dd2d3ebb375a5015622e20c9b9fa102dc27ae955d8c86b27f8b84a63d935ace035bdccc6f440a3bd82a15f8e5bec382e3e039bbaabb14212c5d6d40633e00ea736420841448f7cc923f983b38645a2a435fdc507ada1f44f2fdb139c0dd0f9f27382d9b3bd5e521dce81e94114fde74dcd8691e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 28be7e4d7d5e387bf81bdc9acea5667522ca0453ca57aff122cef74b71cef8154e3aa3217302eefba88d8608dc5e343cc4c2649a6e76ce9f049346266cc13919c7e6eac8d40e5ddb44a073cd1311e735c1280b7eaca8b3a2941c3b7a08a777a53ebdd8e93c2f61788a7fdbff73e340e27a9ce1464047043e203a32173ed36919d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = fef191d5831acf0c2b9ff953f2455aaf52acab805ccb3b726e82f2da9c155b8c78749fa6136f31988db9c2a2d78554b89b2f88c5ddf0e914cbd4cd4f59a1dc22b737a942c57be59f0ef92464a6798776779ee70c1d2ed98b5646e80935d35a08df0678ed6a91bd756718c68f1224808e051ca40610361527e5bfd3d0606c4c22100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5ee8758b8c20283579a6c94a384f1d8a726d91740fd09f5227a4337a62da2f4dcb25a1c8ad48ceb3bae7e646bac6326e634c2520ad7939ef4e9c46599e8d825b39d4bfbb27e1d13376b304bf6d7ea89447302ea014c3b3c4905ad2236245f7b2d834c5050515351819664c5939a4445406481d82f0bc21561809cf5cdfa0663bc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 22111dace0da89e209b06417e8c07f134e3e44833ab0fc2b4579558bdf1b8a437ab9f22153205be7c735a303bd7aa2a7601dd24602f23c3022c0bf7feea41117179d503b797362806b64d1ddfa22fe5f949cfdf2c81f907ccd1746f5eddb591d5ef5e8c91b17241048946ce09c17fbeac9c247f857f202a34e24c093cdff4585ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2df5a807dc01a4067482b8524c649ab0f95bf24f99c4e9265e10eebea2a9571d801e994349dad0af51a02a19a4eaf15eeaac5883a7b3f8fd5414c0b10e7c809a5aa5a11767e10d2fcaa8171fd67d0b98fdf4dfefabbb8efbc25ef730c687514bc4f3cb0c724337de8b5f09aaafff2d8f982e41b6d9388d050773c714d48c4050d400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -4c96ca21bb6a565ba3a99d26aa5c87bca4037aa3fd6120ebcc65522d483d1fbff8921812f433679d35a6d18d2c9717695635cb0db32e9abfbf0f7fcbf9cd18f7b4243ee61d325709ad4cd24f702cff21d08058709365a787c2c377d382b315bba75ac743277d0b0a9f2b4ec437e5242443e274025fec11bb07c4439fc4e7a6d2ec00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 59497b7ebeaac2c81a0b6265ec20d6e2143278f574dfde2c1664f7ef14d89c141796e1c4218e8c1e81b7bba80609ce6d7561c6677f4c53dc9deb358ffec6e5ffa40cfe4722a1be7817b8e6732124aa4b17ef1ec663f423f1ab8c2c7e4af073b38252a69e2818202d166f1f39d3f83d753e0e6bfb7a8c3e62d58b6aac5a25f3a6d400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1e00c2863a6d918de2ca1925fe32a7216c8164ba508c7d38eccbb592aa39ef365129c398c7c1ae14491573c896626c6ca64122c894a6b48bead61b540508d776b93f11eeab9a665ef54700694c3799f5e4d647540c3fd5553bd09b3d1a3f27745549aa33adff1a0ee4241c75d9d9c5d1e4fd3103f614b740a7e4cb3fc1675e3624800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1241c5b30d86f9ca8eff910f3943c98233d3bd30d8626f4a25b5aea5c0c91ddfe303c943248b29c49788cabf9e6f77c9052e8e4f9aee2ec20c727e4d328c60f9a99f39125429fe0258f56f7ce3199e579feb965be6118d72c01ce2a072a0e8ebaa2dcd0bdfc46503bbb8ad220002d3829167a82ee2708bef14a3af66d719cb1061000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -a7e5e6ac9eb543d5d8208c46aa7d7df604ec5a8accbb0713135a101a15930ee7ff23a18bcd368cf151d5a679cea86062b1368e8d6cec2f01728483b4e828e6ec418b3f0ebdab8ffe69324775232c4ab45d0fcd79f9b37d6abc4aa6dd0e7c2822a30797b353897ff2d347e1039443363d72f98bc966c59df6a715d3add86ecf419e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f40056d68ea45bec8e56855f77892c40cc812e7d82407df5a70acab437942b634317a362918f149f0ce3c101d72a54b9d81617a68830e746d0e024b597c629c97a0283b757ebafbd2553aa30ab51cf3e39d2573bc9c97663875b08e9820f30c498cc4347f26798411de5d81d36d92da8977d1fe3e3c10fd203a4f964ba45fce829000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -579a6dd9fc0b5c971bebcf421a155605e268d0ecc17ae858ffee8aca2b425eb4772879cadff7c2ef29d274ca06b3a42a4a63d0328de1e7bb1297b3288cc2c5150213ea710588fc48e2eda02241611d1ecfe2fa46e6e72a9592baced5177c762890dd6b19ffc58f409ef5374489a32f2a13efa6e08165f84966481a4c948d6a777a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -10e2df8a8184a10b44303e9b9fff5ff161f7c96a474f6b5e225b8bd5fa15bf9d034a11c4b54c871fdc97f4177410fc771c484aa900f9be0d7449f46ab36798f858c9ffd409954ec42f1c46c7a8b2780179b43eecb6084731e3fed16fe48ebc716e4b95e3e257254e4456001aba5c7d244285ada0b07f4c4981dd5e8090e871658c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -91b0c39f217b842fc3de8a338cc1262ca84b281fba73ede688150e728f6614ccad4689afc8040c57e3572ea6c17c9ddcc468e9ddd3f36c391b043d8e068cbbb8993131c5c45c6aa0dfa72a78e58e96d5e801f60120b55578b4ee3858252dd2e875f6042c22167dbd87f3bff9f6d60958b0958f7aa191ca03c819f647757ee579a3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -a4d780393ea8070b9e3df83d6e5f527464e4fc9c80ec0d30a4376645879bb4135e8b5968b1673c45366a105101835d22b13038629b9f83c7de20c4985b3776c8f1128b8e3bb478fad9e39ab6b6743fc20e9787d1e7290c2040656dc1bcfe8acf9dfa4c925fd3c0a06c93f46ebd57ce775845a95602967de7ff1c539dc6f650f37c4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 28abbea60cf5f40c3ac52d10991f0dd744ac5f87bf3138f35034c1686c358d1b8103a9a91998655ee29f38b9da99056c1388616e18ccd8ead711fd4dec7953d58b0d66cf03100ed4a89a3b448e18fea26bd91f37fa79cfcd58ca0afcda065ee1543f6f7d35c97196edd057ef79e8502f24aba4d8a4d5cef231c4cabf5ee9856abd88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -77fd04b975ad0abc97c0481d33754894f96e50a16f99b4d14c4eb84789228f8d45b7d843038afe04088e4873c59acaf0567dbfb57855cdc8f16d5dd92c86f10811274c6d4da85cd1f88c413fb57f3c145a666bd1e63cdb369ca58c9bb774f622d1f937cdc8eeca1ece27f0b12c1e0fbded6af6bbf4bfeb52d73ebd9e0bd248c7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = d642e15ace3f0f1444252138017dc1017d62b74e5a3adee4170e1ac886cbbe4aa572153217ca14a350d13bdf9d5f102b42849ecadf3d470cd30b61ed24afd36c0b148634d6726b7d58162328084ab395ef3774db1bae7b15219df8b88fee0d7f4b46db80970b31be19b5f5f64c6ed7ec288489944e22613f8fe016d943b51280abd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5e220a6ca70ecd7ce3c74956a05bb2604fa7a54b863fcfee65b19ab55885af7edaa84308e23efeb9f62de73c43c2b68b71fc406b19b172af57568044026f688f226eeff8a748b8ca23742b4a62d8e7ff9a2a9e661e1f0257ac0645d7a429740cdf6623751e009c3b845444b1c84016fb500b039a130139a2a837b2385b6a28aeb170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2b1010fe718fb84086aa87ca3b823815316f038861971157b7a5631ee93910ed8e2ee15abe284d44a0d8d23f8ef8e204c5364933aa933d422b26c7edea2d8401b4f438c477dce93df131d7c6edd0c0a181784f7415b47ef53b4f74d9b80cec160b0500b6bce2c0f1411abc6eda0660e403dbc527bd549214184bb96bbb980f0d0a2c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2bd0e11970066936256d0d659c83d969d26638799996d0a0345b89a83f18b4d4ca59bd9d53d440b84286c22ed5ce64426d3301bd039f6b513e72482bc0ffd3330db509d3a672723e0afefcf3c222f84f9f27a4a00b29f1c02a908afd01dce7d616c4663c3e6d2dea3443821e35fc9acc6feaccc340bb2bc987bc6934a3aaa94e2c7e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3e6b717fc2a49427743e553ca63c186701e605ce1bedb7e80643aa5ab629336c155180816c74416a2da0c8767c3b6c43f16d276f8fb8f819cd8af9fb1189663dab07357c3f8ebb0cd0fd4c0280ce5902a442bd0b3806d6ae0396fb5b20c0a7340dc064b34f6395863cdae6077e4978c4a3fcec84275fdd81cbec446653eee86258200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = e009d6e57d8befedfe77cc1e5d86e7a57f7ee83a9e77b7156a22d6107e4d033020754aae2c76873bb189075c095bfbe00af160b501034b4fa16cc05876aed9e0df31b24463fef1ef6c120199ae1e52c32fececc7abf373fa25e1b2bf27c754be4824e79453951aef3aaa58224ceec9844f953bfe1eb35ec86078cd7690d932a9d3d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3aa6d9e782eeb281ea33c26ef1afd397a00cde263a9b5333d5d829467e924dc49a7e927bf82782d0539049b1fabb18f9f5cac78eee46e191ab5173fb96caaf8167461415887fecffe113ab901dbbb6b5c60da3d343e53cad585c5d94de2fcd42cc8a804d667b63a8368bb2d346f9d50deb29f8261156e9e6e01b5a6f0dba093ddbf680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 32bbdd9582323a87045c80bd4599143b2ed927713d3336a084b5a8a010e81453356c4660fee832960cbdaf37afc22697a440c07ef8936b7f90421415367c41a8f6b205e8d7bfce36d70898500a8daeb15055ab909b471acdc4658e84afa3528ee8f1888f13d4981bc9b8b274d2c3c6e260d2012c4b4522bc976d22a0eb572cf6eacf80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = ea9e07e4dded1f772c6148eef99bc188d9602bec1fb713bb3c28d94ba102828efd8e65725609118075960da09695e9bb42a94d19ba5b54f15e1ab9eca7e59cfbdb5a65e76a0c8fa824e336fca63cf511baf8bfecbb6c25aa0969c5ec56974fe2cd64d8a109bb46caf45a4e044c6854d31637846091b99f6343754df8f70256abe82900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = b3b083fa03d98ecd79ab28c9ee2bbeb365c53263c6da226b528b33eb5b63f967929488b4eec139fd8dd6b647db3cbd07ab33bfb113bc90fe50aecb8f7919980c28568398d0a3e5e484c83d89498bc67d23da5793bd19302625951987dcef2ec8b622fb8db13238614a24390a2bc8e37af38ffc7011196afb7f865fb184de7cc6546f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 221eb6971cb9041128d7e4498a68238fa07dc5cd7693d09b03523ab1b8026f1121b973fab312da0d46f4bfeecab155da0018c343b479b2b50c52c024528aebbc9eba803d8c7b02121aa241e7e69a25d8896138e1a693f6faabb90d1d49f45a2e573646f59b3476a0450d3b93bc56121bdd4099c706c4db287c8bcb76dcf24a1401f5800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 19bb09ace014ed245c13df13e8005c9f307e6c3f8d3b6fb255b2f33fa93ff270b0972ca248119e64a3536f30c233fb29a135a9301429d885c2d43c75032307d4320a26c90a2832e4ba33d64b8115abe69677a8574167add7e441c1918a8e876af3d19a36220ae8b00d26f1a706ac5937854bda319332d304f400687a79b46d68dc90600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 5200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -94bbe82c7507658c1aa3521d38de789eac9d85d9ae2aae767deaaef7339cbf900144235b18dae17e99b79701629c23899702802a1a2ddbf0196625dc0ce5b84544c8408287b95835b7131efbf2c44cdb1fcc62f0820bf600e60eec2b43fb8f9d3fa1e619ca5e6bc16f0ef298803202de7719bede00dfd04132dc2ace7523a831a286c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3637aff6430b75003e31a7397b7eddc1557714fadf4cd0a99f30a53bff9f9460e1b7b89908f7513189810749d4d1065224f4fc703417d9e960ed298ebca64e9d322337813024dc7ce2dfecf099a57a3d039bfe132a2439fb7c58bc0e1bac9ac97221a7dbe086dca70750a700d64e772cc9d8d9e62e1b700600f99c1c45ae3cb2d368c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -12228d7f6a6bdf3d655db12535ee699ca8e797f4bad01552806f0a2e2f4a82cb56591b2455f27fb02033a776b105aba006380d9d60c54eb452943d05ac17b474a4be4f8058851dfce5a20651cd79ffdeba4f395e585ee2d98f0d606ed755ad585199a3787d6ef4d439746d6d97ffb97e870fb68913075caf03f2bd4772817c554e738000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 188acb32d7bd55c1f2a511aebe8601530b5343375ccab7a0b38d336c0e20991f8d1086e52cc5198a3d479236616e12a75ec64e3b4f9d2893cad884a63ba44f6d6007c0991669382004c1bb4ad78bd184b96c60703c5386786cb4c7bad062f93857c4ea9f98257e4e44d5601e9ff8135739dfd6b9d74caed202e582dae013bd618abbc800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -c89f98f402236d785add1115ec1261387bd197af08f65a9eeb94e4b972c1ffbbb691a7e5cf2c2089efa5529dfb0f9502beae6ed7c88f1521ce437ec744bf317a23aa00f3d671fdc1721abce4a3148e0da6815507fa06a6dbf744c9d33c36a05e0fbbbcc3fcabfd0eb0a67d7fdb3e893519e42a0314f93933ad2650fafe57e59bdf936000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -52bdef22ccfa5c7bf272eb00e20fb6393e973c38476886ba1390de8a9317bb0b7966207e0a6fa78a5c0edd0b9f034d9a17ca692f965159d00bfb0727a162b797f0463c70da612a5901e6e630330ff630b9fe42c9afde9b348c8ced42f481f29e2104f84c4107d946e9fc84d95ef6ebca0052f175bcc36778375817c6515a324a4adc9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 39f0c03b27ea3e9348d3dd6f1000bd87386895e3d5ae6ff3f58851bd07a3ac50091ea4aa54461eef4fc26113341afc9f6a08e6cd4c04295802f394f6cbae4b644b05c051533c25e09786bc9c2b3c722b2fd26bd6c8b863d25276e6cb06cb77292131bf3306cb37696c0d275ff60cd28f0d150992d4acc219a0d542b2ffff4259a8708a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -c56b34e490d66ae17eb2922a9fedd71a9e3a1310bd373c25327404b6c35255e0e1c4854af2368b6a336fb9bfc35d337cfd313a9b866cad9a62b511b803ec579a1d1d6bdb03b978b03df63f99783e9d06402c12a4ddb4abb2194d6c737fd422ec0c4685e51d7b2025fd3c4c80522cd27d99ffb6115ef37f9c70b75a756be66df1bdae4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -ecd939e8af21e998eefda6afb3412e13fe3f2ed854f457fb0f9dc62b7ff2a548477af16c371322f538c551bb34998a4ef15244d4ef5a741d047cc873d432d38795363be15142df0c85fb084e16a1c4f8410836152988754887ddece6ae35540172fae31de59c22d3078d4d39496732834fd84281b5188ee5cac0bb74fce82c90c73ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -b1477e6625e92c5f0d9e550ebb984136b82ff9f6a55b1da874cd0a05faf13e8a558b9a90eda86272388cab2301fff1cc9f51c3edf1e28ec0408ee1f7a4dd550b3261682f10976f9163bf4fd2a0c21b45b822c162a32cb4deed5fbda47844e05df8059c9472cbfc55af00a2aa78a08c76fd429eeb494d3abc9a74f4fbf12aa2badf29e8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -28d10de50fb99aeff90148a82cd57e6528764c7a09cf0bad4dca57eff1c5ea2a6ab16d12ec9c8277396dd67f841c35c86b26382ad1813ed2451c54edc7cfa0e36bfd7ef1cf8aa0de5f0dada2df21917ea541ba839e0e05aa4b239b0bfd274d3f730cad29b4ad18c5ed14766c922d199c2dab8de3126e26f4913c904d7395e05d94e6988000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 215b62771393b15022a82f7143a196f570de4b33b5daa49505138bee6af2cab684c50440ada17a0742213d72791bf00a960c76c5e539b367a664eccbc4c24a174979904d05b096335b102609b04fd40ca3788287a532de3dc19ce5e5f68ad4794fdf3f68817968c0eaa680ed239dfe88c7824bf4b3992e880c7e095081edc79a7827ba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2182db8e300fde257d3580790969555e745afeb6ccb2f50efb129e4ccdb18b79a7808535dca99a1b3a072470f74731abd09fd40d5b8397e4f5308998da6cc1d827b6f047fda8b95bb89f6039a5a0469ed6a537006d5880925b752adfa3d3ffd4b681c9175878da26c1e583e2a48818ec0b37d505091dfe333c1e0167ec6f3bd4622dbf0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -f44f591ad762137a5c7e10e0cf75c78b79f80645fd6a4966f4602c47a7dee5ee466755f9cb74ef1c1493d5c9b96e369f8b687ddd17281a11331555be62f532823619c06801e4635dcb387378fdeee6e5ceb1122a490782519c348150b2adcb45a6023f287eb85f0ca99faa7b78e3b6046cd6a6cde2a353890908c3a7e0355670c40f670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -17f980c3597df69620288e3c7592cd3ca68a3afb73aa01bad20677bf2267e5001687be358b591c45071119e8bf45c25e61bb8284ab8758c6b52959e2dbb88b55a3630872ecf66e35cf17b1f3afad6477fd2bfaa541e93d4206a20ba3934765f5b5460ea05acf340203b75d9a978ba8f92571ada898aff309b1da878802f4d29e09dfa480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -3782cb583f26d1a2a0b214b33c5ac0a64ca6c83899589d9aa7ccbcd52c312f9b071ebcb22369070e7bd907e30d9994f542345be0e15d66edc44c8b4af0e66274710e96578854a7bb63d6eff79061652416df3703e93f807e9c479099d9dbf8f72d6f09307f3c0dad5657f3e29c5011724da9124a53f7d749893826fbc31a71cb5644b760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 5010306f48c64a885f9e9286471924d2f3f32ca981cd6c160a30f3b4da43a6601f8cc1d94f9904b33cf4d980f784a2fb2c921a8109459c90456ee13e13431766c8205c49c9678866da906e53f61496b68a79d601b9f589ca0c34bbc2769674b2afe198a0e51314c0d1fdc6c08e24309a45a1ea2d753ecf67d5db443d0d66bfcc306fab80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 8caf656623c96af77ef576cd7d3785ea88d51a6c65d0d0a5246415fcd4df5aa753056f7c20c66fcf22e50738fe3d0b08ae145e2f0564aa3b5232853ec5ae298edbd3492c307a8ac6b3926869c5e80640fe73b94418c245c8e90cf41008bab45521d619d16e4eef95e1cf81746d9f7f1f3ebacef8b04b9f08c5a49b37a4189ab67325ac00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -11e6bc4059b8c0ff3597d96892d4b08d6636389e9e38e2b1966e0b29934925d6c174cafac69dee3ee983983159dd7122369fd1c37a422ddcdc27a354f77eb8a2a8b498f19e2b22a8f21c0df56e7b648fbccb80dccea8ed507155a94c548a069d21bcce80dd27a03769ac2569b81cf0af707d53370d2508b72fddc03d691e66833ceedf900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = e0958583958b608012e15d8f2410e1c4cb336aa1a05b4a26c565fb37e686a99434d41f25f14c8dc9efec9b9674aee4eb56a0923fc81dc83dd1a5f6d8a387483559cae08be32fbca1f83916359d5908493071b2e614aa11750491f4ab6df82337ecdd099dee80ad99e7e21117af459dd614807157dda591d1a9f83b84df229b38001f0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -8d4b01522c1c9939dde8b6a0a9a2864cc3d4d767aab28aae30a72b8e0c9d4024e08f9d7d7692216e9e9e4296b2bdd6f507f81a5e8b39389d048839a4ac214352b5af9cf6bce23615290847721550793ecd155b7b784c6dcc3d7449627a4072b1449949392e78ed58c710d5c690fff0fb4fd6da5a463c035a9239ab925c32453182e629400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -7e0fe63d55442e7dfb4658086ea6d8a635ce9c32924290d26f60385999ef8c1ba6394158781658cbc96090c1371e4ada8737977ca2f1b7613b6739cb7ce27dac8ee918bb73fcb1178ee813bf207283ac9e5861c9c555af16a57d8504b3c9fe31961d3fa0d25c1e6302eb25ca319cf3e3217a1a3dc3177b9993bec2608221bc39c36a8e200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2af53d2c4585622d31a6a6b62523399edd48808f5bc71e1f9110476cbc5e025bd48a5ea82879cf28c2772df426867383366e72c1743a81300c000b1fb64d0fceb2d87233265a6318d4b90b4c89c3c0748dd8761136d94273e6bd5189944cb0339c90b4d7014f44d3ffceb57ab7896a08436459fb3e0d29dd4f6c0d6c9b9d68dc4100214800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -267ad7df6425bd98cc3bb78770e6ba7790025aff8d4281f118e0802fd352e2e05ac34e553e13571ac0e8cd9c3cce2ee4f39a22c49ceb64587a529a50cc8db45a22fac819ef5b7bd38bd671ff34f90b492a9e291e732a15f4d65e8e57cb32b9739e9571bb16c20eaeb4a89d82d753b82764c2e50dc475d68de153d800bf98d4723a83e4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2457086f74d8e667292905cec75655775b849bbfe75af0cc3211af598165a1c5e07bf173742c87a34be372d46f82702d15b5662e6be73db34a5cf61899f0a2a520437a3d12d0308fb9e028e144d2057edb33f849ede147e88f669b90af70dba4ed4ed8a5b4076b040a10783056c5cecffb5818bc76506dbfc08f634b85a48ff31e16542c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 50911d15f5cdfd9c5b66dff145fdd4e2bfcfac67c64ab063cb239a25c5ed410bdefbb0de32fc3956f815ede73140b93913dfc8f39e7530c586202c1140abf68772729d290276118548b5c823dc5c53eb85ec5a736639a70fa5afb417b72fc0d05f091e4c266a1fd32005b78314f811690f0e9828dfad735118df52b189da8b1191e47b1800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3d441be9957cb7b35cde97827ee4e362848ead24bcf216a896f2aa8c367dcbf2ccf4c713d7d6e78c2f303b62c5412e84ea61528e46e837d2b3a9ef3c2fc7a797771cb001196ac455b8d83cf7d9ea094b39f88ff0d9b32cb537be8e74d3a81efbeaa0ddbc660af3c68f2b16a4f5344ffb8282f98161530b398930402733c20cc2b7ba78dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1e0da059b94a56087b24388e92b30bde14844418090b87b02eb04dbf625462fd4bf1b081dea30cba230948e0dc782facfe24a3bc3240e1d1ad1da2a68a9f0fa175c5fe73e84081071d81103946001a4be284d2260b4a2cbdfd9d0e152656d197e79eabe303e5dcaad1c34cb2023b6006a4a04454d176062f65887e99e3e48c95a061697b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -f7d8c30b38fc4eb8a90cb37262dcb706f2c0171180061c351d177d32502bc3f738d39564e5873fd30f2d928282a16a3ff56cee7477dc06a17e946fae840c0efefb40faf255b32524a74b69366e9a61d24ed4d18e76f1220b8ea9cd96883bdb9a6e6815ddb6fe09c1e23fff98c6574da901cec51cc299ac4a1af85c25197d28d6d9bddab2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 340a08acfa88a15a2cfa0d971c00ce5173543c26e87448288b4306d84f8bf2468cd04690185b073dc85a76bf63a81ed5905043a1f93f3d8e7a9e182b8a3881fd73995b768ff4ee76de8aa5ea2e74f4a59dec315f0737d83fa521b5e786e56a5d3c3605d6e9524936d7adaae740cad6c067dcf9a4969365a752aaf7ccbaed4ab973795495000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1a7e58f65e3ec56dfbb10a34e038b660b3c9251fe9d8a9e7b55d6d59e88972391af804722aebb01ab5bdead4c8a6347dd7532591efe93dda39a37ab78459ab45c7f92a8feb3513236d70c89ed86935452f6495863afe6349723e7e1c716218b95d63b1427c7ca6d573ecdfe7c6043caf0ab3d4e5a22e0e28c3b58ec094977ac3780472f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 243884e10c8409cd05f4564c72c27ead4e6313baf322385baee4d0b6df83ae905bd5434223630310e29937c31ead20df8c5dd44c9f2953ecf12f73fef1d03d46d66cdc252900b66ede16f33b19c3e5e0640e10ce4ab6bf8ab5c9920a173c1ac278da2586b32e807ee65d67132041ba3da164462044a8f0613b3b2463c6325aa7a5ad4ec90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 107fb1dee04192834579da9de966a5ed43dfdfac75c271a444d8ec4e46d25cf818b1142652e017aedaa2deca46f62d1cb17b38f5cf3c7b6c9565db40e028d5bedd23313c568665c30d294bc7c6000cc26c3aeb97f25238e225e1290440e5a29327cc7e5e657d1a6459360ea1fd26b084acd853775973b12e082bb55383686c0ebe3495224000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -c481839908a87416a0739206d0e464ba12b4d18db8fe898b83bbac8154b5257c2a64c2d5a4a221d54ee0f7a6d4f339a90ba2b72703caa1e90af4fb0a1cd10dd6c9cff98b35f3d43c4161bea474774618e2e587567706eade88adc07ddce43e667bc6d0e1cb534be0a62f91654af906eec28847fbbcc98ea67dd31ffc1a1e08e6b4850562c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 3e4882c6732426aa7f4059bcae4512bb16465f7446bdce065ec270b92f846a23f4433c6f9d80fa60ab26042e57cf76309f457cef25e82fa0e58b5c0a2ab0a6d61ab8615bbf23956962d8620716ac8a0bf8f0a320d87ffdd4f290163a8a7bbefd61777db72ec45eb3f505c1ca7aafd0a03de0ae5e55db5372727d6eb0dfeb7c155f22af9d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 1cee9903b3fdbddee4ec95ea1035b19b6741a2671035ab86d2c84634784638cc15bc50faffbea66f973482999942be35970de4607f4993ed1adaf5240446b805da4f040293849c13a0200c8ab3954dafbfdd32b2a1a3a1277de649d719d94882d8c73f87197ab3155f6227da78af9e8d986ff7efa73efb2b5061f335a539884b5bed621bc8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 44f834ab5659de0daa41f2c7154f27d3e8bb72c8b7d8b7f7058d9696fb0b80b4fe1674f56ab48390cd780fec6133f52f5069b06adb4c205d7fa80891becaf82cc4352646e090fce98f270d415461226c9648d7a06f6044d1509d1d6c69a44e40ae9c30f15e2d13860b733ea5f7112ea3947cb338582e84b4fce025b680a2b6f61e44cc66b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = fbac122f7b65dca81679274e75a412c1948bf781ff97c7762ca08db6a76a27c651db330f09a5c6bfc5f964814c7f8d0f78971302b86de1191f461d24c2e3901a1fdc4f68f541a01a49abf77e6d6c7b7b254d085271dbcd92201925dddddc9d90df604713aad172f70e6e2314b258c0934bb0a6cc5897f36435ba928c6351ec32ba081b84b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 32a60b538a5c06bf6212640761aa12bf3f251cee36154c034945d256c360ddcd750dc0fcb4f9e98fda007f371e7b524700da5d733fb6bac21c48f8f60b06568d6a0f24ed03b54de3566ee3ebed277cf5edf8e82e9e522d181a06011f9ac34e6f02899719fdc2bdb9d99c918df0da5f24dfa2ca57c5d52d71d41a8809e892231d32f13eaf7e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 3466558bd989a31186c12f1a077d8343a1fd7f8a0b8f85d1f04b7f6b3c97f7fe0d1071d6087726a46a848374453615eca17feee9d3c6e3d0a3c2698a493640e1a87acb1d8f37ded9887cd599eae75ee9a190e9c6b4c70ef29888fd692b17e56656a56945cf1a7deeee9fac867785d703585de05334f6896f8ebf03e0c7ac5d0b7d88c681380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 98c94fc7df02838f9fd6da21f1b30ed2fe624ff6b1f32a9f8b6f92e69ab201009b85abcd41c30de208b6062b2b5eb24f375365e2f9c96cd958279b8092792c8076a55d8c1d6509e2dbe51e7b7f8814f818f175184ae9b2c162727d7c078cb646592d5f7c3055c1a01a4680000ed43337f0a007f5cc1d85e9bf0f6080d4c876ba2d8a005da00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -ba9687af1bdd55f5b0c67494685f5190ac19d8e2724b19de94980cdd41bbdd62d0e43026c55eb341481dafcf91e60c605549e4ec54b5b4dcd341645961c9f3f29cf35d4eeebec198fe627194c856be81093ccb31e7c0d9913882a5fde4c0b70c0a1fd29f09f95e3d4c0ca9e48c78aac948702c4a4635999da3470ba5717b60d644d6038ea40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2f66dd1ab3bc65f832f5155b2949d7a479e5649c6a6a835c52406bcf237c0ac8ae4ca147b93ec9e4317b96aa5743ab8333abb700584f2b5c39827673095ac06f56ad9f5f95ccecdc125393a02c325ac69cff03b00024a32ce8a093a5c7393826be0d0de8eb0fb57319c9a9b71b45d7daa6dc2afe5c620d95564200213c36199461200c1a2900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -25b346f2aace8bb0138f8ef717d421a9db974dae2e1d4712329f11145b31ec3e944295f8d116db6c16cdce1eaf777bd5568789473b8b493856aee14384bb1a08cad5cd84f8b4bc45fab36fb975fb1b1629c2014522bfe0ca4361f0de8a37ec0ccab35602e49b9ba4a0bb3fca79bcad046e923ce9361eba86c2d80b94a1f8491703249cd9d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = b845d7992aa6a3b3b49ab888562f7055801ad877c22693ec561ad9fa6d051cb7669453f00a3e593c2b7aad65d8a8777c12e6ae514e88e56a660f1cfefe955821fd4789c9fabbadef2bd8d65b08ae8eac2acf760a6bf0e0b119e27a3aa4b44a6881b20307a112b77afc4a8fafa59aae68d5c8e6078201c659554acbc68204822efeee10d06500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -5d54bc5a4a3eb8eb624a204a216e307f97876582b6de6bfbd94bf08ad81996ea5d1c3df6fede8c054ed0a28f73fe1bc90ea34e0a1abeb2829132612fd690dc5d740177264f4361f1112e5f7ff0d3f8167fc92022aec8eb50596428a95b714af44c8754526397223206cfe9049e9bb17caf777d5141f82ea6f1dcf4966801d26dc429db768e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -350b95c9ca1b99f025bf1b37e4b1db220969655c49561513a91f46a85d517cf48e509c0fd3600a2f51a32089fb3eb95aa5ab6d35ab39123ec8cdc356471769d7d810acd3452a5517841ebc6044c4d8c99f5577341a39472b502c7f8b58bc6efeb18c7187714215fd4999be7c20dc2d159d9e994852c79b635d67e926e18b6e0ebbcb4d56a0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -97d48f494b1b5e2ca92942c0017f1dc257e33dcf4e33a6a06284a519f59b0b80822f62f5bcd903fca6998ef2eb715ac2b6b732948ca139cf575bdd8c99d21a141e8aa21f903c170c5e4529bc9ddf633be49a2abecf3e7f79312e2c459caaa4d22723869343e9c977a90312a361d37be21efd36fd0cc9b704671c7c1f89a963657a91045a8200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9820f24e0819da26693d43a0efec9720c46de638fc5d40488c2f778c1bbe236600d6d77ebc4cf47733cfbebadf13df05abf6c0c2bd6b5dfc4b3e59d38334c66c290a5b79ea1ffe1fe0bfd92551123db35a784fb6ab5a5ace7c2cbd823377218a91e88d1b111f336205131d64a6625730b6ff834bb24f0f437347408f247761a4c68f4fea2dc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 294b75a6a8d41d9e0f0c71262220750946fdea0b09e26b863042c40814c5a847dbe820de540d027081ffc8aac886898c413b6cd85d6c2d5c4eba85a34799b78d38cf2827194e2eec1ae858f157305626456be85640004cf544fa36115babf88a5d6c341135bd5243cfc669c6704651715eea5468c3e9fe19831fe051ad4a4bb4a597ce7c41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 31aebbf37f58d0e37eb71371e17b6d66026ef96346b82f28f87eaf12a5a688211826a174ae5379991c162049794ee0323f2d43bb4fc9b0491e3b062de6b96441d227bdd9078ea61444faaf5e09b2e07e0a4f94e8228887b73063467e7878a5c79628180a720dcb77a4a539325c8a8a408cd5322eb8388ca90e64cf9bae332a7f3eaae63f367000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -158acdf3c04dccdb554cbaa35c140e818b0256b7c53c0b76828253d5c69d8d3ec842c112298465e8730ceb0a505025c1d28245d0f8f21c3e3772321bd514ad978d78b50ad50e09c1bb0ae487c37e22746aa89897bed61e1d8b21e11dc4dde4707d6bbddeb40d9c7a5b058b3517e4dd6bdd5a33d1a3576a826a720e024383df8ff5e9505046f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -df6854990ceddc969330e6128699de4ccf7242ee32f7f3cc8541a321ec17eecb439adb6604761dc4fe39352ed352d07a52c23a478882d5323dce08a8804d14c29c45714e84cb60af2c0576c2ee8606c5f407b28d6c67681c0253d7747921bdb94052bd08e3052d0058b8a72ef5c6fc942d56f399d27c01c7f3a015a22d62a1821bb312a4968000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -12ca12f6a8859955dd8ee97985357a3ee021acb111aa4734384a00c16011744dea1230966df9fb9ad15bad60526176ee1226e0fd2ae6c86d1f9e15f2d8d34b1d005dbfe95255f307a987ba3be91a3a9d21456bfd41e91668d3ce8c4835ae38bde9d1cf2b0ea38679942c2292866ba9f4ffde4538156ce5e6d47016796e0657d3fdaa2d49336000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1dc3a30f745b41c365f8c357a5bec715b8996a40dbe068d48486d96faf0d84acac7d953834d6dcfde9a027f18d2b99c4f7039ee6e1b87da9f95355a3444b992c9aeb41bb6551813473aa3a63ca5859a3cadfe24784e840efd976d8a17b972f1dd22f0d97347c1b6a774c01cdd59aa70aabdc5408167eca4c2f36bb3eda4d82d7ea7eb601fc7a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -9afee4641401e9d621c30f4017ecf9273a5fcea6391d6c4ba01cdd519679a2fbdd13ae7ba761434ad5004a4747f397265b27e0d4d3094271a34b3d4f999ace7d2523cc0c2386c8a362243d093de31ced55378d2eacb31cefac6f450d8de438286c973f7cc5b9745dd7d7d31c6c47b372e61ac072fe9f3109a55bb461bbfbcb7ae89da6315a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 4cf3cb988cf3fa5943470f5e1cc27ea5ae1ac2d88411c82c1da4313e42cab4116908b28203d00124824dcb9d99579e53d6ea3f28b63c3fb9fcfebb34e47b30506be00d8d8c307d1f8280d2698335b95617d49a2b98bd6d7d50aae69e5074efb6bc0def258ebc684144e54973c9aea9b44fe8116861428ac0b3026a065906c4bcf788040d5fec000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -ffb212c1a9ec2bb12f975773d0dae0fad452519ca9819b4edde8856e37e978aba12b44eb5ea6f446f2035d88568a8878b6e041811aed0ab091e08d704b2eb677dfcb9d8a520d55a7f51ae9fe220cddd35adfe896811d3cfcff9fbbdaff1a68f50db4724fc813c27f0327a22d80fd2a1b3ab906bf44b785fe311a415c7f50b3a2f2280b5d9d3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 228fb062cc6029bda2b493cc252ef3ea2f6b351f3ad329735e6f5dcbac79303dbcd1f32eecd63c7a23d97538c44261f747f3dc8150291bafc999dcf25c412cfadab14f9dc385794485db43054a8d1cd9f172969397165ebc26f2d0d9f95381478fbb37ac5ad231ce8e834e9e930a582354fb3398e5821ecbe67b635a4ecc33660a43ea75323e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -bec47049220e22cf1f7c8abe315be29939e719d9f272e2248851627d4a68e46cec9c49fa41c732068a5a83b76c40dba800f319c81a6581369b3da7b66be7a42884937304fcbe9a7f0969890b7db6dd4a978cb055c24f9a08b701a3ff630dcbaa7f60b41b92532b3979b6676d0f06ffb9a138159c92c6c8643c3b64284b01784f5c01917cd6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -e5320d85610b4ef3e6a16c2f2cdf0ec7118dc72c863340ff30aae50447db80c6e8407ee3a6a73b9fd988a7dedbd67c4d87963a17c9ea56b64e87873d0dde1312f553ef3b17ac87ef2ec7e7516cfbdc7bd4446e0947b1a09567f31471486dc6f07a7c5e72b8762e18bf6511d04f9e0cac3384774b312a96b01ae93d343e5cf6c11ca83b47c7a60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = b29ed1b6a1701aebbee3b484e90128753529e32be902113e057978a30e61233e10b29329d45600f9aa84ca1fb3248bb9d1bb814ee790ec881ab27b53a4d0e984c361de3fabc8d4db2764d3e02684da1242fa70f3a0a7d250b2fc1b5a444ff596218fe57d443f5510a8f71a0a0345e9d93d0ba5e0083dd2b87d75e1ce43335b10259d65720b50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 167973df7d7ae06da4f960ff8e66c0ebb8e2f7fe47bbfab1a87b39bf89a4d22f416ea08c5d52a6cd8c3ca8c392e67f7b2c071b6a03dbbe2fdf0465c845b445527700649353ed25e700ae660452b0b158f89ac21dccadf3888aa82989a785b14a22f9f81bf7a7c7a48943e1fac76f750d2b81da1c379979729096e55a6e3494a9f9b573087cfa40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 5e52b04dd30fbb74992491ee944f2e827ce83d275fe8d2a8fa435d95239753a8c96c9856bb4f663095b8d56ae2490b7e33520513576696138e2d80ed5651afb5d8e003b3ad3dcdd708b534106da729fc56641835123053395a0363670f599d398f2c09758a1923059aaff2c7c837de078f69c981c2be73086b6f6698bcf038f793a157474a7a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2060bed776bee6fc83330be02efd74c2891a49c959d6766d162ec181afecd782b70760cdd1749c0f52b7d17169516bff22bb39f9e791dfa701f64c1834d4e89ab2da4ea8810c3fc1bd0a62fb226461585d7f76e150978509dcab411a42768a9dbcf7079b10203e64c6713c69525c322a374d258e9f49d0979737f180aaaa8f4da1f1d65feb9780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -72685f7fc7635781e05a7470846bd58797ffccbcf65e07b574ed16e2fe6d9eb8787f80b9277de8189ba8b3d5a6e7db557203fd1abfbe25683cd03ff21636c6ead30508019bdcc0c2c3b5c26b0206d027a376aeb67d5b6ffba1f2e1c8884dc1e4067160354794c1072029bdd05e3965dfa818b1a8f3aadbf49c00e886f4d676e5e05a59c1bc77c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -242c2ab5058e9360b4b1908604f790b156829d879a0fb37a15694207b6cad653c9d4a2ca8e2ec985e7b9a6ea56c59c0f0ba5e08d98d0460473a2036fb00dd022dd21f28cd4cfa5116cd2217aa9d276beb7b532665b0d9ec00fff5b6c51e13bfcc755a313dc3ba2f584bc5cffffb7b088befcc6d9894faffa5ba42da11c04ba6ed2997695332100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 19cecca56063e459384a37f62fe4d9f5feba0461d3dc4a21c6152dddd22371203dceec63f248064a529a6481089ad9fc874c27f1a8f725da870173966acc6222d5164763bb2ff00a1f58cc4e84cb1a37933fb355790b6f68c621fdd8e7053c6236384a02719f88988873dcb70fe4ef7ae87ad6061cf6df1fc8fe12ff1f52e108352eaea9dd5e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 9991c205b44b632b6c68dedf26a76930e9d20e72694e02a6565cf2b397ed2497044153595541ccecc55822a803753b8313d3d092592d8e6022b80870d801b88e886c31a5683800ed1c55544cf8c886b5b0e3ca42c2737bfb9c22f0e710cb323c6052d5053243f37c0f303f221beb09b9958ed7b94543a595ee9d24e32d6c4856af9a0dc1770be00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -50f8ae53b60857c25e58b01c89ead7e716f648fb210022cae79d37a91f4294b38b2d0b23a58484b522d6d9622821e6842c2b2d4a9a444029e072c7fb2e6c1d3ff3588b80a98a86addf398469f52afa0cfc4070b8cb921d1b31ba075310c33ebb89ce2f7e38e1f0567886ad469407d8480f4a19fffc986a6612648592561a7497b48fca58012a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 23138189f339b3a8d5875ab2516a83ed98de5c3f5f6ae849e3fb922ae890c30d9f5f6946f395303afe95aa8b694c6c91456ce15dc25485cbd71eba4a486abe3e02b965d8ded6d1523b8f30df9b672ccf829cf6f440b047c3bf244022b3434087b77d673fb83dada87b1f461dcbe9d774703171a1391dab7989bce115162c17ba2344e40dcf0d8c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1cb821492a2770cc1834d2b3d47c6659c3493c7d3f9052f95d22d2533425aeaa3a70c116c8c9eee256a8effd4d99c72c8699c1d17ef7c4557d53f5c6115adad143ce1776273120f9dcdab14f9db3ed1729208978288d2832901ac72104d6b93cbbb699370d65ebe1de7b1f40d00acc3e5820d3a54fbe15d1b6cfa0d0152b31cbd92d59ab52a40600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = f81190ab08c1ae2340d91fe8e4b7cceb893fe3d66c15eca2515db8da30965757b19082d5bf48b8ea6845365729cbb668f3b53649713bbdf42a5a3ad873543e49cfc0b28e838edc67f183bac106011fd3bb7f61f4273b8c9a2c45eec9eed6e92673461210b67dfd7e69de8c4e519c06d0a84aae4270b144c387c3ca68eba94fe79741856e64b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -37c4d7494c237d4795813e4ba9dade1766828fa9741ac4a17fbe20b90cdfa43a656df93ddc3383391074914be91cee79a3dd7499ee2c63fdb5491c3aa8e2b2b43ebd15c410cfe8662da2e4373b936f184778d16a158a8ae30e0b19b6193e83d428ead31cda4ee8222001cd6b7caa3734175f11de3d8f567ed43160aaebd70a2d4054a28212a54000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 19b103711fa30ac4e7b58b37a7d9e2b1e922fa7f6d4af30e7bc513704be043bd8bba2d64e86bc80d9085d984b8ed54561c6d6319a625297dee3810d090e4c1c068084e100ad8fc8caf626337ff55de8a8a389777b48eb6394f4b5fea3eabf1a97b49d039707baf777111d5493c55c2942cbe55533bb436c282465fe3e7f4b04b8114cf4bb2bdbd800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -cf68f41f4edb1de401e5d4808cbe02c14ed86005b6fe84d061d966200fdb106853f788fcc0183158c4cf42a621a8f2af9a7dd71af223597df4c9606092226eb372668bccfb777ba494403938426c44fec047c3a6c02bcb2d9bdbbe54fcd6a0877931a9bc71c128a76822d5d93f302d1704ab8c8c2313d5105b915e22aaa796054e142822db464000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -53ec2bedd4ff80fa4d06e31fa6f726e1c2e9274c7ebb1377bc0dfcd5aed7e4898ce9c136abcd5e3d4250cd6fd8f2255c097998e37d0f825d8956350b2c91b65edbf6d81c5293d50239b298fdc33b5cefd82e6cba1147198522ca1d34a8efae3ca4d0081abb911ba5d9a86b7327922b158b31b4648fb8f0895de35c3f6ec799712b642699b17c44000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -63dba43255d5b9e33fcb4a8fe2bda6efc8f5a51cd130896dfa6e7d09b0006bc18442bdb5b14da6a1b54e4d7d8594f9e7f68cbd9f1999ac179319cc28d01a17e3e46ab0f76f449b1fbe45cdd62069ab991e106797933ffa5d5f34462c49255f87eade4ceed11870644c6939736b6e32ad6ea032825a407748ce29063e91e66e1b24f569472fbd1a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -71d2b87df61bd229da950f7dc0195ce4573278884741e9e7aba666773c577d6759b42e82e2a6db0db0881bb13a23a932b8cdaef49e9d8734b15ffe4594c5b249de7ffb22f20336ade907585c9bbbd7b725d06711ea22574e1ba51a246248c89c33ba7d619a04ee8c6fad3c70781a853f504da81aeaa3c1e1efcd83f749a21902f7f83a95e8239e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -677ed3adea9e1aa602b92ce5cb436c57033c91ac56ddb7c2139e6cbe1367d5b566c3cee760167a0fc95fcb117ec16989882cfb298aabd96372cd2f506c863ef7c3f4f7534702881ee108c53f2d8458c1390544dddf74415553286111deaae1f950e58b7fbe774b914e51eb70434d07b9f1d5971c4713f44f4bfa3035070e65b44704fe36b5547e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -5148b7ea383b1f556cdcc82b7c32124354d4d5ed7395de32039f9b0e7bc5383c0497cc9fdb060264b9bacb947b5b5b1b003b0e88d4617eb6e8de3b9a85e061a037716f565fde6e3becdcad07e9671930d4da3e5eefdeb6ba89203d9e6711e9feb49e72febd3fedd72bcbb9ed787df77ec2bfb90350e901a670d56b367b3d4ead4cb3d3e9a9d98ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 4fe28db65b6a1afbe6e35dbcb2158040fd59be2099d109f342d3bff7213516712df0be30bf460aa0d2566d3b2d6027e97b71917b024de55271cb0cbc9676ac4305cea51217667e9b3e235e5a52890f8d022d191a83f05ec5ffeac063fa368985ed4811b95ed491aa25e71d1b6a01a517dfc540a23ee7af85bbfa1e350df9185d27133da4ec478dc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 257274e0cee33984a9e2b5bdee00321e6ecdcbd409dd11a275f6e5d62818dd4ce0a260855e14e90272b5b3cd13a829fc9c93fa69cfac4a26063dd1d9385d647938300c811429a73dd952061ad7806b073eab77b5b9a9ecd487e01bb170b292d142acb61ca9f6b50ad010ef411d690529345ad1c617291db66d289f2bb4e69251be22a6e55a4e11e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 36d9a45dfc5f480906fb7c5f021166c00ac662cc56cc4901a08d8c41406e7bdaeb22a77561a72d58be822e82c4f44ee5d42d4c9b86ab7815582b8621ef8c06441af4b031a83073d94aeb4cd08020b9f9e67545e35e4a1decd140e17342b0a3f2f96ffb16c851d4ad552b3cff46766ac9cf29a09fcdd61047b2b227c42e31049ea23410351a4ecb68000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -29fae802ebbeb68689c705793a8c6b341574783df9e8f950a52e80e530caebd448470e8c50ebf39cbf5ece9f93b3bec9395e86e8cbbee6a4bee96c6b43f4959bde3454478d842de99b92448f1e7a8cad9071611b515fad1a211696cfe9778d8c925431bc202a0f286f74f285858db822c7d6eac0033d46745d22744e8eb941a9a3992f8a53ba00e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -9921a8db545031dd9c8370ac85ee39b96a86b72dc0efdf9aa0a03b3b52d18003410379aa2cdc1df211392c16a6202a57d1ed8d9b41e035147e3c8b6d929b3537403706d0cc4e046508a8cf443496197aebbb0a93838596bb88071759ef3a3c0be59f7c08a57181414e9474734cc89cb23a6c5499dcee84b82e7fd2ab2e8fb53130e52b23ed9522b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3da3a687c61f38cb5004885989afdd57565441fceef576a3341ab964f333548bcdce0950439230825cd11c5669f898b598008f42cd71706fab4da8abc4b4a6b9a08d779d67b12380027cc8d4f3268e715e55ed7c6f5792902196b91eb2429c5f9389b0f864062274d4984923595243f7fa97f15da5b75b315d9950d139d8a3703945c6ee9d63ff7a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 5ac509893c21f2a9897a28e0f0c37a41b44e36d86b2fe432a2f2d2725ff1968ae440063dd0f6eca89fccb793e6d74318116d0cfc561d2a273d43e047b9d5f722b60f2d6446a0560ac3c7626bc04fab0aaed1f8d7e56ac923d6290f7dfa4a2b0128898d6149d859d1211d0367a070505feda3efec035a02ae2a167e3b0ed0a3de140356bf43f49400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -df01e5bee623f255d17acc2ea9c120b8f7b56e40b5cfcabb91001905d86397781f53500d79a905a1a5cd4d2520f9915b82f710c7b5c06c6f7dfdaf1819cb8164bf2db2d9e526804b937986182f5251873e0a51540b756e82be6b81095dc77e4f7dafaff0dad347ab1a9467f41e74f11590798cede17d47008f6afb2ae41de8dfa708d54088211ad80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 92a6926ffa4e35c28b441f1dc2c201c4591a692ab00dfe43033816adf1b700b92242862a2eeb2012155ff6224ed89de253c0f09173f8aef525fa0ccdd6174a3b51603a393520ca501abd6ea8066a281d02e932ad010f3a785c24bc04fcd90bb7eba704babc385aeb30e95deae0c020f2172d4897342a5d351869b18558dbf1c240d91a30322d66780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -5e00df53c4c645bf7f425bad10e002832e9cef0e0f2ae613468e7cb246be9c8454e1c2017d1aeae67bd7fcf560bf89ab9010a3af7063a31ddbcc2465e087551a054b2066d59599f78493d693720ef5118b262d5abadd639be2132d66b3b2758d39597786697dbee3f90fc5522a94007aa8ef909d5d4f45fca0c4440752c547e32a7bf0b9a51f6e500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 2798f27b31040c5f42eb5783275dfd5a3d1a1d3509d3ece2c8262d46386fa9aedf44701e34628ab9c011fd89d3a32825372fa368cc777b7204c167728ef469ac8d29af4a0839f161f67f8e473e9b021c769425993bd3ff97acc33a3b88b9f37803b9d8b59da288c9eb6656236e33810eabb552f72d125e787c3489fba9748b9adf176b62234fabf000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -99978839beed5b0d9283bcee5e23bf1e74c5b0ecda51e0ea72c6272a4fdb1bf6336318890f0429ad3b77f8dae16436e30181b0a99a4e8c1a55bae02d826d5b573800bafbca2d0d8746cb5dfaddb6ba12fcf59b3af18aa860e17dea35d5c8b131014aa8e9f353c695398e0b230bda84de5a0de9440fbb6c16e295a80151ba2db2608f0608e2e9744e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -1c95741ea89d724075842d2b4de97e7c87f00e5f1ec1a73c31ca5810068e417a97a26bf76040826195e9d9f2b0c96435960ac9b4ea9dd153ed0f04efafa79b12ba80274b9dab878b755fa1e5a5c1f6aa40ed27eff95e42ab0a211a5cb537e138dbc43845f9bdc8213f3d69dd7a89ac9273fcc7db7ff517862cca58e6e61d96c8a6241142bf8c0d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -1d2223362d6eebba7c14973454b675539ea179cf6343e653c7af3239eb648ae3829e2fe112b1b568e710ea7cf593be726c5d11e6698a075f5983938de0401df8ca19992e74def6cba2c859666ec9086262c1b59189f5b72b1b205f82457a631ff68685e7a8f2ec39ae3b9129d7723d22781c688e4a89f945afc34a166177f136346ae2f4beb2707c800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -135b3f456bf34fa25bee38ef36f8d939f35e03a674b1fe0cfd43cdcaf598a5105b05d87d08c65255f39a005bec9f97518ec07f83e62a78eada113336d473d6063c1462287a440c7de3150e09550a8ebc36bb4b6731c316e04e505937467a68e0f76aa552cccda62f42038d243acd3e57d43c788226cdb5d8dc0b901c9db8581febbd3319a40f956d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -d343e7f8f9dd3eec7a78eff83bb5d8539babfc7185e14e17273426bd3a350899a2b8009a9aeb5ef56ba929d134e274d3ff00290048a63ad44cd48daf3b0a71ff6a641965a4e45a7e0ef9b5108b3c5501865b3570a1dceff8158c26c58c6063472d686f2254d79069ccfd1d82f6fbd4c48ccb3b5954582f42194e4ab614e1906026eaf280095e316c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -70493777053ac19e9257ff94512179eb6a30812f32c7d3d66deb1ccaf069029e6a62d5e1f58f62a7fcd292df297ede0627d14dd599d0e9fd83488fc84cbb86d6c627d6ddbc2bb1deceec3fa2b4ad14b2db8b99d4567eab79e123e21197f7c98c078d59df5be88778c581ce5abe9faf90dbe5e48bba77d5ac7b66f6c47f5ece7af5a5b5c6971303d7c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2ab06c12e01e3193ba8b909c61c58aa40c61ede5f91bb2e93c9251fa13419aaa80fc895755857713c1fb475028178a09a88498af6e97c752d0bd64beff1429d58e6a49376f9fed5f91e1b94f5841a6eac6af8a16c78b6fcdea0880661dd8c7f82f36115b2cc914f215a21e828d95f375f643c2d883c4b1f9358649cbc3095aa0c4e6a9de9a2db8bf0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -140e3926cd9f9a1e6cb082036f0cbc4860106a66b2e07f86c33c59828b21b422b7a0d1961411ce54f9ecf88e433398a6d12fabf4704ccda8f7d45b5495c9aff6bf66186a331ff00da316c4f7f8adbd1e6da81a9ab14d5280eb9c051e58b9ff325d45a74b311d5a5c8a6fdab438e5c07e7d4842f675327510f976e6060f15da9903185cf8f3e25f87b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 1218e061ec1213c57c98016b710ea81483fbf3f771dd7e3e1b8ccb85491864fb3e746d64bf43a1d7f95271e54134555d3238fe8902efe5f7dcc07209d0e0d9f63a5e2c7d4d33b39d2c8e3281da2131ee692f9be2a6dc7a715b46c2c0e9f716dc4f847175333aac66a1a063f2583608f175c88d1d42e6e95e895ddcf5f36dc67200d33a561c8b8d1a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -400f75dbd3c68ce3caebf48b84fd068e3a7f740d46e22017bd6fba5c131728f280619a5da1b4b0cedf1f01cb4f872d44a1eb5d859990843f20353db0834ca20fecaafab928fdbfd5b6215bf5fd0b864d47fa98501b3a0974dc5b4dd194685fa74f0975d29cd8b548120bb341aa48612f7c964be017b9ca093e7e1acb38760d53826c7b36b72ae64eb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 2b0495b246b5e72bdf0e45f139b3401b19cc816b5a06f8071a7b1d8ee74ff5aa22d8a97e1158e03256230494d929b5d4fef8d4e1f6dd8944ebf8c769da3dc502848f936b04355fe366058892a8e0e58c797b9c078257649646758c6eac6fe01b4b5d245d548810df18fe835c059f5d2089043eaca34d4974cf6e2bd1c2c9baa9fb396601e0590d238000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 31472510527a8facbe29495cc3c340c42bce9f52856ff5fd125ca90244d074a6f792e77cd50ee41272c11064b9c38fea186e85c95fbe67a9636a7b0a65a9ceca09928ede77ca1b1f7c861b0035d7dd9ff079f910777bf1e3912e257533b4f5f66851fff00e642ad3cb799dd3c57e1e4768f6df286099a91053028047354b837d381cd69c255ddf7e8e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -d8a3f716a4c18f97bc93a24740d467d08ac6cf0f9a0b2c732f608a36eb456972f5eb8b87420e6791bb25771c943147e58ce9d95dcd17c6abe059e7bdd6285f5351b54af95c522c199abc55496345e85307c216151c6cdac805f939d32a4b01ab70ad2f8b38c4f4ca62a284cc5301ddf65c9bb2e5a1463a329c984dc9766c55b3d90d6cac4d05a0f960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = d7ee1e2cd3bb7c3f7478bff4b3bfc98423fe41ad51a8eae5136b70b22a5891160e80c22fddda1e4ed1b20f95f138a8107dc5416869af9da16f79729b717216985f2ded22c6ddfff2f931cfb809d42b0c2e57b5ab4a52fd85e0d3fb8935a0c4c58cf63342305d80e3fcded20cd29f4d700f2a517855f5ac04e155bb3453063420f971557c30d6019aa4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -2c7c9d1fdb4b97520aa72b7b765cea45a652bc980627c30b66139111d262b16503416217b9416a26f2d741f069e1321d95cb1232b029effafe2c36b279f443f41cfaeab54caa76e8689a3b963d8361423bf9bfcb9e04e9db48050be81d01f89e20b309ce3cdbd64b95b0a1648f38ebfaed9d50c7ed429a7d8028afff81d15c2a3f41f1d58fd70e30868000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 6eab4675d1451faaff2b02b717cf7a762a8dc0609263e44a53c2d3b08f9ec4fec9e5955b3765859f1ce66be6ffa42c824eaf513d23c98f3330e354b24a3f8500266d69daed2571b2fa45b19250eaa0e8489f05715d04ac0c1bf4bf0b205e67d1ee7e6a14d2859a376654036b8decd54e8b68ae2d7565383f6886c9e8468f95e4ff11095da6611af258000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -f97e345003c91cf9da51d71a4328cf12544d935bd3bb96cc3ffb44af3b174c319d53d0162cf1bd1b6317116b747725b501341705418b2768188b27c84a7f23444e78e646282c509ba9cb4a8231612c9e5028dce70e894fa54e0989d3beef65d6650a663f5f1cf1635216c8c0c4aadd184151f0a5838631e969a0b56189fe7f4ea541ad24f542c13e9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 73891528dea0b2abab1dc159620f601835fe4f1f98904effa6b8aa60f92b88c06b8bb6989d81520c2955c2fb25775999c3f35f50e90c566d58fc2e022c3e59dd96595a17c81998809451369f5a1a75ff6adbe2e5bc7beae354980cd9b74742d1bacc8d8cc331d47d5e6fa2d4998ef7761cdda0f135253c6bbf6fe6db0890d4dbfc22be2d2197f87faf0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -3e5a0c89a0c761eed939d9ea124d22d72635291594221afd67112ddf417e1decb839ff83b10dde7f3e50f7041788b91d6c0a5e5cd7c077f3d15351264235327239b156e64a0244ec9bbeee046758a5cef0ac4f95d64c33bef1b8ac170defea24cf79fb6c60555faeded96586db80831a8522dfffb0ab26abdef2e3bc6c799a81d74b04fc2fb0e67cfa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -22ec4110e9faecf4bfe1d4376af3eaa816fec44fe4f0efdd19a1c70283c43144d3aaca24f4746a1a5350a6eb6e713a85b606430dbfb7803928b875463800f491e3474b9281a9c6489802b05e9e4e6c060bb2e684c946d95c3a4fe500b59c914f524b23d7ac4acd3820b10db7d4c34d9ce8edd2cfaebcf1f4c2dc84fa08703fcef677bbd90e37d82e9980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = -930954a2f02a8d738513302495a720ad8e7b36033c78576d96ef24651ad2820510a22b0a0bbc03d1a4596c7bcbd6153acbccffa544ab271ca280bd9396deb9ab4280872594ad5840ffc519a9b6316d9f3018de05c4770450d2c92114d17d6c717d44efccb5dea65cb21e3d107745de42628c4c130826179810eeb957a1538abea3247434f098622b2f40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = -cb12bcf4eea6f10c9a7e9e9d67a6a6da60a6ab500d17f47859e8f808d72f5de30fb7f140eb55842080150557d517c1bc95d8e888dd41cd772d4be6a6f174cd49222f69eac3c363b46651bbfb10408451c7fb454cbf22f012f9acedf2f1e74ec6ae1b24b3c94073fed4ea2f304055f126dcebbef59323a6ba5a830c35d1ac3da487b0458648a990a30080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +A = 58b6214f1521e171d06d7e3c30d35f05bab6a3b2eab879284e28e7a4d847a1cbaa9f9ed1eec0a6e71ceabfccad751936c9050ab89be2952d73196c4ae6df4b876ee2534267fb17514b5494cad0c66a9d44f5568107be450663d46b1f5bf39bfde15a781f98e861c0bad9eb1e3e5fd718e35b1c04a7b5501bec2145d9e0175230cd6ac68d112b591a9b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +B = 20d05fc0686051297fef03b2e53ef9eec2d2a0cd3aa4de878311aaa7f544ad19c04fd2b79800bbcb742732aa39a16a59695a0464a4faac7e6ce87018408e89ae96266058b0448722c5b04d8c30e1d619a2c644528afd132a6975cc1023dd2cafae93bf2d6ed9508a8832ed41934cbb11c3bcb51db4de08e934edc941d369dac0aa54ddc2eefa3e1d65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +GCD = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 diff --git a/deps/openssl/openssl/test/recipes/25-test_req.t b/deps/openssl/openssl/test/recipes/25-test_req.t index 17a98dc9d15131..cb30061fcabc50 100644 --- a/deps/openssl/openssl/test/recipes/25-test_req.t +++ b/deps/openssl/openssl/test/recipes/25-test_req.t @@ -15,7 +15,7 @@ use OpenSSL::Test qw/:DEFAULT srctop_file/; setup("test_req"); -plan tests => 9; +plan tests => 12; require_ok(srctop_file('test','recipes','tconversion.pl')); @@ -46,24 +46,84 @@ ok(!run(app([@addext_args, "-addext", $val, "-addext", $val2]))); ok(!run(app([@addext_args, "-addext", $val, "-addext", $val3]))); ok(!run(app([@addext_args, "-addext", $val2, "-addext", $val3]))); +subtest "generating certificate requests with RSA" => sub { + plan tests => 2; + + SKIP: { + skip "RSA is not supported by this OpenSSL build", 2 + if disabled("rsa"); + + ok(run(app(["openssl", "req", + "-config", srctop_file("test", "test.cnf"), + "-new", "-out", "testreq.pem", "-utf8", + "-key", srctop_file("test", "testrsa.pem")])), + "Generating request"); + + ok(run(app(["openssl", "req", + "-config", srctop_file("test", "test.cnf"), + "-verify", "-in", "testreq.pem", "-noout"])), + "Verifying signature on request"); + } +}; + +subtest "generating certificate requests with DSA" => sub { + plan tests => 2; + + SKIP: { + skip "DSA is not supported by this OpenSSL build", 2 + if disabled("dsa"); + + ok(run(app(["openssl", "req", + "-config", srctop_file("test", "test.cnf"), + "-new", "-out", "testreq.pem", "-utf8", + "-key", srctop_file("test", "testdsa.pem")])), + "Generating request"); + + ok(run(app(["openssl", "req", + "-config", srctop_file("test", "test.cnf"), + "-verify", "-in", "testreq.pem", "-noout"])), + "Verifying signature on request"); + } +}; + +subtest "generating certificate requests with ECDSA" => sub { + plan tests => 2; + + SKIP: { + skip "ECDSA is not supported by this OpenSSL build", 2 + if disabled("ec"); + + ok(run(app(["openssl", "req", + "-config", srctop_file("test", "test.cnf"), + "-new", "-out", "testreq.pem", "-utf8", + "-key", srctop_file("test", "testec-p256.pem")])), + "Generating request"); + + ok(run(app(["openssl", "req", + "-config", srctop_file("test", "test.cnf"), + "-verify", "-in", "testreq.pem", "-noout"])), + "Verifying signature on request"); + } +}; + subtest "generating certificate requests" => sub { plan tests => 2; ok(run(app(["openssl", "req", "-config", srctop_file("test", "test.cnf"), - @req_new, "-out", "testreq.pem"])), + @req_new, "-out", "testreq.pem"])), "Generating request"); ok(run(app(["openssl", "req", "-config", srctop_file("test", "test.cnf"), - "-verify", "-in", "testreq.pem", "-noout"])), + "-verify", "-in", "testreq.pem", "-noout"])), "Verifying signature on request"); }; my @openssl_args = ("req", "-config", srctop_file("apps", "openssl.cnf")); run_conversion('req conversions', - "testreq.pem"); + "testreq.pem"); run_conversion('req conversions -- testreq2', - srctop_file("test", "testreq2.pem")); + srctop_file("test", "testreq2.pem")); unlink "testkey.pem", "testreq.pem"; @@ -72,20 +132,20 @@ sub run_conversion { my $reqfile = shift; subtest $title => sub { - run(app(["openssl", @openssl_args, - "-in", $reqfile, "-inform", "p", - "-noout", "-text"], - stderr => "req-check.err", stdout => undef)); - open DATA, "req-check.err"; - SKIP: { - plan skip_all => "skipping req conversion test for $reqfile" - if grep /Unknown Public Key/, map { s/\R//; } ; - - tconversion("req", $reqfile, @openssl_args); - } - close DATA; - unlink "req-check.err"; - - done_testing(); + run(app(["openssl", @openssl_args, + "-in", $reqfile, "-inform", "p", + "-noout", "-text"], + stderr => "req-check.err", stdout => undef)); + open DATA, "req-check.err"; + SKIP: { + plan skip_all => "skipping req conversion test for $reqfile" + if grep /Unknown Public Key/, map { s/\R//; } ; + + tconversion("req", $reqfile, @openssl_args); + } + close DATA; + unlink "req-check.err"; + + done_testing(); }; } diff --git a/deps/openssl/openssl/test/recipes/30-test_evp_data/evpciph.txt b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpciph.txt index 29c317a1580eb4..1c02ea1e9c2d40 100644 --- a/deps/openssl/openssl/test/recipes/30-test_evp_data/evpciph.txt +++ b/deps/openssl/openssl/test/recipes/30-test_evp_data/evpciph.txt @@ -2358,6 +2358,16 @@ Tag = 3615b7f90a651de15da20fb6 Plaintext = f57af5fd4ae19562976ec57a5a7ad55a5af5c5e5c5fdf5c55ad57a4a7272d57262e9729566ed66e97ac54a4a5a7ad5e15ae5fdd5fd5ac5d56ae56ad5c572d54ae54ac55a956afd6aed5a4ac562957a9516991691d572fd14e97ae962ed7a9f4a955af572e162f57a956666e17ae1f54a95f566d54a66e16e4afd6a9f7ae1c5c55ae5d56afde916c5e94a6ec56695e14afde1148416e94ad57ac5146ed59d1cc5 Ciphertext = ff78128ee18ee3cb9fb0d20726a017ff67fbd09d3a4c38aa32f6d306d3fdda378e459b83ed005507449d6cd981a4c1e3ff4193870c276ef09b6317a01a2283206ae4b4be0d0b235422c8abb00122410656b75e1ffc7fb49c0d0c5d6169aa7623610579968037aee8e83fc26264ea866590fd620aa3c0a5f323d953aa7f8defb0d0d60ab5a9de44dbaf8eae74ea3ab5f30594154f405fd630aa4c4d5603efdfa1 +# Test that the tag can be set after specifying AAD. +Cipher = ARIA-256-CCM +Key = 0c5ffd37a11edc42c325287fc0604f2e3e8cd5671a00fe3216aa5eb105783b54 +IV = 000020e8f5eb00000000315e +AAD = 8008315ebf2e6fe020e8f5eb +Tag = 3615b7f90a651de15da20fb6 +SetTagLate = TRUE +Plaintext = f57af5fd4ae19562976ec57a5a7ad55a5af5c5e5c5fdf5c55ad57a4a7272d57262e9729566ed66e97ac54a4a5a7ad5e15ae5fdd5fd5ac5d56ae56ad5c572d54ae54ac55a956afd6aed5a4ac562957a9516991691d572fd14e97ae962ed7a9f4a955af572e162f57a956666e17ae1f54a95f566d54a66e16e4afd6a9f7ae1c5c55ae5d56afde916c5e94a6ec56695e14afde1148416e94ad57ac5146ed59d1cc5 +Ciphertext = ff78128ee18ee3cb9fb0d20726a017ff67fbd09d3a4c38aa32f6d306d3fdda378e459b83ed005507449d6cd981a4c1e3ff4193870c276ef09b6317a01a2283206ae4b4be0d0b235422c8abb00122410656b75e1ffc7fb49c0d0c5d6169aa7623610579968037aee8e83fc26264ea866590fd620aa3c0a5f323d953aa7f8defb0d0d60ab5a9de44dbaf8eae74ea3ab5f30594154f405fd630aa4c4d5603efdfa1 + Title = SEED test vectors from RFC4269 diff --git a/deps/openssl/openssl/test/recipes/70-test_sslsigalgs.t b/deps/openssl/openssl/test/recipes/70-test_sslsigalgs.t index f805dcf221e82f..b3339ff59f9833 100644 --- a/deps/openssl/openssl/test/recipes/70-test_sslsigalgs.t +++ b/deps/openssl/openssl/test/recipes/70-test_sslsigalgs.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -53,7 +53,7 @@ use constant { #Test 1: Default sig algs should succeed $proxy->start() or plan skip_all => "Unable to start up Proxy for tests"; -plan tests => 22; +plan tests => 24; ok(TLSProxy::Message->success, "Default sigalgs"); my $testtype; @@ -132,19 +132,40 @@ SKIP: { } SKIP: { - skip "EC or TLSv1.2 disabled", 8 if disabled("tls1_2") || disabled("ec"); + skip "EC or TLSv1.2 disabled", 10 if disabled("tls1_2") || disabled("ec"); $proxy->filter(\&sigalgs_filter); - #Test 10: Sending no sig algs extension in TLSv1.2 should succeed + #Test 10: Sending no sig algs extension in TLSv1.2 should succeed at + # security level 1 $proxy->clear(); $testtype = NO_SIG_ALGS_EXT; - $proxy->clientflags("-no_tls1_3"); - $proxy->ciphers("ECDHE-RSA-AES128-SHA"); + $proxy->clientflags("-no_tls1_3 -cipher DEFAULT\@SECLEVEL=1"); + $proxy->ciphers("ECDHE-RSA-AES128-SHA\@SECLEVEL=1"); + $proxy->start(); + ok(TLSProxy::Message->success, "No TLSv1.2 sigalgs seclevel 1"); + + #Test 11: Sending no sig algs extension in TLSv1.2 should fail at security + # level 2 since it will try to use SHA1. Testing client at level 1, + # server level 2. + $proxy->clear(); + $testtype = NO_SIG_ALGS_EXT; + $proxy->clientflags("-tls1_2 -cipher DEFAULT\@SECLEVEL=1"); + $proxy->ciphers("DEFAULT\@SECLEVEL=2"); + $proxy->start(); + ok(TLSProxy::Message->fail, "No TLSv1.2 sigalgs server seclevel 2"); + + #Test 12: Sending no sig algs extension in TLSv1.2 should fail at security + # level 2 since it will try to use SHA1. Testing client at level 2, + # server level 1. + $proxy->clear(); + $testtype = NO_SIG_ALGS_EXT; + $proxy->clientflags("-tls1_2 -cipher DEFAULT\@SECLEVEL=2"); + $proxy->ciphers("DEFAULT\@SECLEVEL=1"); $proxy->start(); - ok(TLSProxy::Message->success, "No TLSv1.2 sigalgs"); + ok(TLSProxy::Message->fail, "No TLSv1.2 sigalgs client seclevel 2"); - #Test 11: Sending an empty sig algs extension in TLSv1.2 should fail + #Test 13: Sending an empty sig algs extension in TLSv1.2 should fail $proxy->clear(); $testtype = EMPTY_SIG_ALGS_EXT; $proxy->clientflags("-no_tls1_3"); @@ -152,7 +173,7 @@ SKIP: { $proxy->start(); ok(TLSProxy::Message->fail, "Empty TLSv1.2 sigalgs"); - #Test 12: Sending a list with no recognised sig algs in TLSv1.2 should fail + #Test 14: Sending a list with no recognised sig algs in TLSv1.2 should fail $proxy->clear(); $testtype = NO_KNOWN_SIG_ALGS; $proxy->clientflags("-no_tls1_3"); @@ -160,7 +181,7 @@ SKIP: { $proxy->start(); ok(TLSProxy::Message->fail, "No known TLSv1.3 sigalgs"); - #Test 13: Sending a sig algs list without pss for an RSA cert in TLSv1.2 + #Test 15: Sending a sig algs list without pss for an RSA cert in TLSv1.2 # should succeed $proxy->clear(); $testtype = NO_PSS_SIG_ALGS; @@ -169,7 +190,7 @@ SKIP: { $proxy->start(); ok(TLSProxy::Message->success, "No PSS TLSv1.2 sigalgs"); - #Test 14: Sending only TLSv1.3 PSS sig algs in TLSv1.2 should succeed + #Test 16: Sending only TLSv1.3 PSS sig algs in TLSv1.2 should succeed $proxy->clear(); $testtype = PSS_ONLY_SIG_ALGS; $proxy->serverflags("-no_tls1_3"); @@ -177,7 +198,7 @@ SKIP: { $proxy->start(); ok(TLSProxy::Message->success, "PSS only sigalgs in TLSv1.2"); - #Test 15: Responding with a sig alg we did not send in TLSv1.2 should fail + #Test 17: Responding with a sig alg we did not send in TLSv1.2 should fail # We send rsa_pkcs1_sha256 and respond with rsa_pss_rsae_sha256 # TODO(TLS1.3): Add a similar test to the TLSv1.3 section above # when we have an API capable of configuring the TLSv1.3 sig algs @@ -188,7 +209,7 @@ SKIP: { $proxy->start(); ok(TLSProxy::Message->fail, "Sigalg we did not send in TLSv1.2"); - #Test 16: Sending a valid sig algs list but not including a sig type that + #Test 18: Sending a valid sig algs list but not including a sig type that # matches the certificate should fail in TLSv1.2 $proxy->clear(); $proxy->clientflags("-no_tls1_3 -sigalgs ECDSA+SHA256"); @@ -198,7 +219,7 @@ SKIP: { ok(TLSProxy::Message->fail, "No matching TLSv1.2 sigalgs"); $proxy->filter(\&sigalgs_filter); - #Test 17: No sig algs extension, ECDSA cert, TLSv1.2 should succeed + #Test 19: No sig algs extension, ECDSA cert, TLSv1.2 should succeed $proxy->clear(); $testtype = NO_SIG_ALGS_EXT; $proxy->clientflags("-no_tls1_3"); @@ -214,7 +235,7 @@ SKIP: { my ($dsa_status, $sha1_status, $sha224_status); SKIP: { skip "TLSv1.3 disabled", 2 if disabled("tls1_3") || disabled("dsa"); - #Test 18: signature_algorithms with 1.3-only ClientHello + #Test 20: signature_algorithms with 1.3-only ClientHello $testtype = PURE_SIGALGS; $dsa_status = $sha1_status = $sha224_status = 0; $proxy->clear(); @@ -224,7 +245,7 @@ SKIP: { ok($dsa_status && $sha1_status && $sha224_status, "DSA/SHA2 sigalg sent for 1.3-only ClientHello"); - #Test 19: signature_algorithms with backwards compatible ClientHello + #Test 21: signature_algorithms with backwards compatible ClientHello SKIP: { skip "TLSv1.2 disabled", 1 if disabled("tls1_2"); $testtype = COMPAT_SIGALGS; @@ -239,21 +260,21 @@ SKIP: { SKIP: { skip "TLSv1.3 disabled", 3 if disabled("tls1_3"); - #Test 20: Insert signature_algorithms_cert that match normal sigalgs + #Test 22: Insert signature_algorithms_cert that match normal sigalgs $testtype = SIGALGS_CERT_ALL; $proxy->clear(); $proxy->filter(\&modify_sigalgs_cert_filter); $proxy->start(); ok(TLSProxy::Message->success, "sigalgs_cert in TLSv1.3"); - #Test 21: Insert signature_algorithms_cert that forces PKCS#1 cert + #Test 23: Insert signature_algorithms_cert that forces PKCS#1 cert $testtype = SIGALGS_CERT_PKCS; $proxy->clear(); $proxy->filter(\&modify_sigalgs_cert_filter); $proxy->start(); ok(TLSProxy::Message->success, "sigalgs_cert in TLSv1.3 with PKCS#1 cert"); - #Test 22: Insert signature_algorithms_cert that fails + #Test 24: Insert signature_algorithms_cert that fails $testtype = SIGALGS_CERT_INVALID; $proxy->clear(); $proxy->filter(\&modify_sigalgs_cert_filter); diff --git a/deps/openssl/openssl/test/recordlentest.c b/deps/openssl/openssl/test/recordlentest.c new file mode 100644 index 00000000000000..457335d308b848 --- /dev/null +++ b/deps/openssl/openssl/test/recordlentest.c @@ -0,0 +1,197 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include + +#include "ssltestlib.h" +#include "testutil.h" + +static char *cert = NULL; +static char *privkey = NULL; + +#define TEST_PLAINTEXT_OVERFLOW_OK 0 +#define TEST_PLAINTEXT_OVERFLOW_NOT_OK 1 +#define TEST_ENCRYPTED_OVERFLOW_TLS1_3_OK 2 +#define TEST_ENCRYPTED_OVERFLOW_TLS1_3_NOT_OK 3 +#define TEST_ENCRYPTED_OVERFLOW_TLS1_2_OK 4 +#define TEST_ENCRYPTED_OVERFLOW_TLS1_2_NOT_OK 5 + +#define TOTAL_RECORD_OVERFLOW_TESTS 6 + +static int write_record(BIO *b, size_t len, int rectype, int recversion) +{ + unsigned char header[SSL3_RT_HEADER_LENGTH]; + size_t written; + unsigned char buf[256]; + + memset(buf, 0, sizeof(buf)); + + header[0] = rectype; + header[1] = (recversion >> 8) & 0xff; + header[2] = recversion & 0xff; + header[3] = (len >> 8) & 0xff; + header[4] = len & 0xff; + + if (!BIO_write_ex(b, header, SSL3_RT_HEADER_LENGTH, &written) + || written != SSL3_RT_HEADER_LENGTH) + return 0; + + while (len > 0) { + size_t outlen; + + if (len > sizeof(buf)) + outlen = sizeof(buf); + else + outlen = len; + + if (!BIO_write_ex(b, buf, outlen, &written) + || written != outlen) + return 0; + + len -= outlen; + } + + return 1; +} + +static int fail_due_to_record_overflow(int enc) +{ + long err = ERR_peek_error(); + int reason; + + if (enc) + reason = SSL_R_ENCRYPTED_LENGTH_TOO_LONG; + else + reason = SSL_R_DATA_LENGTH_TOO_LONG; + + if (ERR_GET_LIB(err) == ERR_LIB_SSL + && ERR_GET_REASON(err) == reason) + return 1; + + return 0; +} + +static int test_record_overflow(int idx) +{ + SSL_CTX *cctx = NULL, *sctx = NULL; + SSL *clientssl = NULL, *serverssl = NULL; + int testresult = 0; + size_t len = 0; + size_t written; + int overf_expected; + unsigned char buf; + BIO *serverbio; + int recversion; + +#ifdef OPENSSL_NO_TLS1_2 + if (idx == TEST_ENCRYPTED_OVERFLOW_TLS1_2_OK + || idx == TEST_ENCRYPTED_OVERFLOW_TLS1_2_NOT_OK) + return 1; +#endif +#ifdef OPENSSL_NO_TLS1_3 + if (idx == TEST_ENCRYPTED_OVERFLOW_TLS1_3_OK + || idx == TEST_ENCRYPTED_OVERFLOW_TLS1_3_NOT_OK) + return 1; +#endif + + ERR_clear_error(); + + if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), + TLS1_VERSION, TLS_MAX_VERSION, + &sctx, &cctx, cert, privkey))) + goto end; + + if (idx == TEST_ENCRYPTED_OVERFLOW_TLS1_2_OK + || idx == TEST_ENCRYPTED_OVERFLOW_TLS1_2_NOT_OK) { + len = SSL3_RT_MAX_ENCRYPTED_LENGTH; +#ifndef OPENSSL_NO_COMP + len -= SSL3_RT_MAX_COMPRESSED_OVERHEAD; +#endif + SSL_CTX_set_max_proto_version(sctx, TLS1_2_VERSION); + } else if (idx == TEST_ENCRYPTED_OVERFLOW_TLS1_3_OK + || idx == TEST_ENCRYPTED_OVERFLOW_TLS1_3_NOT_OK) { + len = SSL3_RT_MAX_TLS13_ENCRYPTED_LENGTH; + } + + if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, + NULL, NULL))) + goto end; + + serverbio = SSL_get_rbio(serverssl); + + if (idx == TEST_PLAINTEXT_OVERFLOW_OK + || idx == TEST_PLAINTEXT_OVERFLOW_NOT_OK) { + len = SSL3_RT_MAX_PLAIN_LENGTH; + + if (idx == TEST_PLAINTEXT_OVERFLOW_NOT_OK) + len++; + + if (!TEST_true(write_record(serverbio, len, + SSL3_RT_HANDSHAKE, TLS1_VERSION))) + goto end; + + if (!TEST_int_le(SSL_accept(serverssl), 0)) + goto end; + + overf_expected = (idx == TEST_PLAINTEXT_OVERFLOW_OK) ? 0 : 1; + if (!TEST_int_eq(fail_due_to_record_overflow(0), overf_expected)) + goto end; + + goto success; + } + + if (!TEST_true(create_ssl_connection(serverssl, clientssl, + SSL_ERROR_NONE))) + goto end; + + if (idx == TEST_ENCRYPTED_OVERFLOW_TLS1_2_NOT_OK + || idx == TEST_ENCRYPTED_OVERFLOW_TLS1_3_NOT_OK) { + overf_expected = 1; + len++; + } else { + overf_expected = 0; + } + + recversion = TLS1_2_VERSION; + + if (!TEST_true(write_record(serverbio, len, SSL3_RT_APPLICATION_DATA, + recversion))) + goto end; + + if (!TEST_false(SSL_read_ex(serverssl, &buf, sizeof(buf), &written))) + goto end; + + if (!TEST_int_eq(fail_due_to_record_overflow(1), overf_expected)) + goto end; + + success: + testresult = 1; + + end: + SSL_free(serverssl); + SSL_free(clientssl); + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + return testresult; +} + +int setup_tests(void) +{ + if (!TEST_ptr(cert = test_get_argument(0)) + || !TEST_ptr(privkey = test_get_argument(1))) + return 0; + + ADD_ALL_TESTS(test_record_overflow, TOTAL_RECORD_OVERFLOW_TESTS); + return 1; +} + +void cleanup_tests(void) +{ + bio_s_mempacket_test_free(); +} diff --git a/deps/openssl/openssl/test/rsa_complex.c b/deps/openssl/openssl/test/rsa_complex.c new file mode 100644 index 00000000000000..fac581254a9a8b --- /dev/null +++ b/deps/openssl/openssl/test/rsa_complex.c @@ -0,0 +1,27 @@ +/* + * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * Check to see if there is a conflict between complex.h and openssl/rsa.h. + * The former defines "I" as a macro and earlier versions of the latter use + * for function arguments. + */ +#if defined(__STDC_VERSION__) +# if __STDC_VERSION__ >= 199901L +# include +# endif +#endif +#include +#include + +int main(int argc, char *argv[]) +{ + /* There are explicitly no run time checks for this one */ + return EXIT_SUCCESS; +} diff --git a/deps/openssl/openssl/test/rsa_mp_test.c b/deps/openssl/openssl/test/rsa_mp_test.c new file mode 100644 index 00000000000000..a7d4c589e6ece2 --- /dev/null +++ b/deps/openssl/openssl/test/rsa_mp_test.c @@ -0,0 +1,230 @@ +/* + * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017 BaishanCloud. All rights reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* This aims to test the setting functions */ + +#include +#include + +#include +#include +#include +#include + +#include "testutil.h" + +#ifndef OPENSSL_NO_RSA +# include + +#define NUM_EXTRA_PRIMES 1 + +static int key2048p3(RSA *key) +{ + /* C90 requires string should <= 509 bytes */ + static const unsigned char n[] = + "\x92\x60\xd0\x75\x0a\xe1\x17\xee\xe5\x5c\x3f\x3d\xea\xba\x74\x91" + "\x75\x21\xa2\x62\xee\x76\x00\x7c\xdf\x8a\x56\x75\x5a\xd7\x3a\x15" + "\x98\xa1\x40\x84\x10\xa0\x14\x34\xc3\xf5\xbc\x54\xa8\x8b\x57\xfa" + "\x19\xfc\x43\x28\xda\xea\x07\x50\xa4\xc4\x4e\x88\xcf\xf3\xb2\x38" + "\x26\x21\xb8\x0f\x67\x04\x64\x43\x3e\x43\x36\xe6\xd0\x03\xe8\xcd" + "\x65\xbf\xf2\x11\xda\x14\x4b\x88\x29\x1c\x22\x59\xa0\x0a\x72\xb7" + "\x11\xc1\x16\xef\x76\x86\xe8\xfe\xe3\x4e\x4d\x93\x3c\x86\x81\x87" + "\xbd\xc2\x6f\x7b\xe0\x71\x49\x3c\x86\xf7\xa5\x94\x1c\x35\x10\x80" + "\x6a\xd6\x7b\x0f\x94\xd8\x8f\x5c\xf5\xc0\x2a\x09\x28\x21\xd8\x62" + "\x6e\x89\x32\xb6\x5c\x5b\xd8\xc9\x20\x49\xc2\x10\x93\x2b\x7a\xfa" + "\x7a\xc5\x9c\x0e\x88\x6a\xe5\xc1\xed\xb0\x0d\x8c\xe2\xc5\x76\x33" + "\xdb\x26\xbd\x66\x39\xbf\xf7\x3c\xee\x82\xbe\x92\x75\xc4\x02\xb4" + "\xcf\x2a\x43\x88\xda\x8c\xf8\xc6\x4e\xef\xe1\xc5\xa0\xf5\xab\x80" + "\x57\xc3\x9f\xa5\xc0\x58\x9c\x3e\x25\x3f\x09\x60\x33\x23\x00\xf9" + "\x4b\xea\x44\x87\x7b\x58\x8e\x1e\xdb\xde\x97\xcf\x23\x60\x72\x7a" + "\x09\xb7\x75\x26\x2d\x7e\xe5\x52\xb3\x31\x9b\x92\x66\xf0\x5a\x25"; + + static const unsigned char e[] = "\x01\x00\x01"; + + static const unsigned char d[] = + "\x6a\x7d\xf2\xca\x63\xea\xd4\xdd\xa1\x91\xd6\x14\xb6\xb3\x85\xe0" + "\xd9\x05\x6a\x3d\x6d\x5c\xfe\x07\xdb\x1d\xaa\xbe\xe0\x22\xdb\x08" + "\x21\x2d\x97\x61\x3d\x33\x28\xe0\x26\x7c\x9d\xd2\x3d\x78\x7a\xbd" + "\xe2\xaf\xcb\x30\x6a\xeb\x7d\xfc\xe6\x92\x46\xcc\x73\xf5\xc8\x7f" + "\xdf\x06\x03\x01\x79\xa2\x11\x4b\x76\x7d\xb1\xf0\x83\xff\x84\x1c" + "\x02\x5d\x7d\xc0\x0c\xd8\x24\x35\xb9\xa9\x0f\x69\x53\x69\xe9\x4d" + "\xf2\x3d\x2c\xe4\x58\xbc\x3b\x32\x83\xad\x8b\xba\x2b\x8f\xa1\xba" + "\x62\xe2\xdc\xe9\xac\xcf\xf3\x79\x9a\xae\x7c\x84\x00\x16\xf3\xba" + "\x8e\x00\x48\xc0\xb6\xcc\x43\x39\xaf\x71\x61\x00\x3a\x5b\xeb\x86" + "\x4a\x01\x64\xb2\xc1\xc9\x23\x7b\x64\xbc\x87\x55\x69\x94\x35\x1b" + "\x27\x50\x6c\x33\xd4\xbc\xdf\xce\x0f\x9c\x49\x1a\x7d\x6b\x06\x28" + "\xc7\xc8\x52\xbe\x4f\x0a\x9c\x31\x32\xb2\xed\x3a\x2c\x88\x81\xe9" + "\xaa\xb0\x7e\x20\xe1\x7d\xeb\x07\x46\x91\xbe\x67\x77\x76\xa7\x8b" + "\x5c\x50\x2e\x05\xd9\xbd\xde\x72\x12\x6b\x37\x38\x69\x5e\x2d\xd1" + "\xa0\xa9\x8a\x14\x24\x7c\x65\xd8\xa7\xee\x79\x43\x2a\x09\x2c\xb0" + "\x72\x1a\x12\xdf\x79\x8e\x44\xf7\xcf\xce\x0c\x49\x81\x47\xa9\xb1"; + + static const unsigned char p[] = + "\x06\x77\xcd\xd5\x46\x9b\xc1\xd5\x58\x00\x81\xe2\xf3\x0a\x36\xb1" + "\x6e\x29\x89\xd5\x2f\x31\x5f\x92\x22\x3b\x9b\x75\x30\x82\xfa\xc5" + "\xf5\xde\x8a\x36\xdb\xc6\xe5\x8f\xef\x14\x37\xd6\x00\xf9\xab\x90" + "\x9b\x5d\x57\x4c\xf5\x1f\x77\xc4\xbb\x8b\xdd\x9b\x67\x11\x45\xb2" + "\x64\xe8\xac\xa8\x03\x0f\x16\x0d\x5d\x2d\x53\x07\x23\xfb\x62\x0d" + "\xe6\x16\xd3\x23\xe8\xb3"; + + static const unsigned char q[] = + "\x06\x66\x9a\x70\x53\xd6\x72\x74\xfd\xea\x45\xc3\xc0\x17\xae\xde" + "\x79\x17\xae\x79\xde\xfc\x0e\xf7\xa4\x3a\x8c\x43\x8f\xc7\x8a\xa2" + "\x2c\x51\xc4\xd0\x72\x89\x73\x5c\x61\xbe\xfd\x54\x3f\x92\x65\xde" + "\x4d\x65\x71\x70\xf6\xf2\xe5\x98\xb9\x0f\xd1\x0b\xe6\x95\x09\x4a" + "\x7a\xdf\xf3\x10\x16\xd0\x60\xfc\xa5\x10\x34\x97\x37\x6f\x0a\xd5" + "\x5d\x8f\xd4\xc3\xa0\x5b"; + + static const unsigned char dmp1[] = + "\x05\x7c\x9e\x1c\xbd\x90\x25\xe7\x40\x86\xf5\xa8\x3b\x7a\x3f\x99" + "\x56\x95\x60\x3a\x7b\x95\x4b\xb8\xa0\xd7\xa5\xf1\xcc\xdc\x5f\xb5" + "\x8c\xf4\x62\x95\x54\xed\x2e\x12\x62\xc2\xe8\xf6\xde\xce\xed\x8e" + "\x77\x6d\xc0\x40\x25\x74\xb3\x5a\x2d\xaa\xe1\xac\x11\xcb\xe2\x2f" + "\x0a\x51\x23\x1e\x47\xb2\x05\x88\x02\xb2\x0f\x4b\xf0\x67\x30\xf0" + "\x0f\x6e\xef\x5f\xf7\xe7"; + + static const unsigned char dmq1[] = + "\x01\xa5\x6b\xbc\xcd\xe3\x0e\x46\xc6\x72\xf5\x04\x56\x28\x01\x22" + "\x58\x74\x5d\xbc\x1c\x3c\x29\x41\x49\x6c\x81\x5c\x72\xe2\xf7\xe5" + "\xa3\x8e\x58\x16\xe0\x0e\x37\xac\x1f\xbb\x75\xfd\xaf\xe7\xdf\xe9" + "\x1f\x70\xa2\x8f\x52\x03\xc0\x46\xd9\xf9\x96\x63\x00\x27\x7e\x5f" + "\x38\x60\xd6\x6b\x61\xe2\xaf\xbe\xea\x58\xd3\x9d\xbc\x75\x03\x8d" + "\x42\x65\xd6\x6b\x85\x97"; + + static const unsigned char iqmp[] = + "\x03\xa1\x8b\x80\xe4\xd8\x87\x25\x17\x5d\xcc\x8d\xa9\x8a\x22\x2b" + "\x6c\x15\x34\x6f\x80\xcc\x1c\x44\x04\x68\xbc\x03\xcd\x95\xbb\x69" + "\x37\x61\x48\xb4\x23\x13\x08\x16\x54\x6a\xa1\x7c\xf5\xd4\x3a\xe1" + "\x4f\xa4\x0c\xf5\xaf\x80\x85\x27\x06\x0d\x70\xc0\xc5\x19\x28\xfe" + "\xee\x8e\x86\x21\x98\x8a\x37\xb7\xe5\x30\x25\x70\x93\x51\x2d\x49" + "\x85\x56\xb3\x0c\x2b\x96"; + + static const unsigned char ex_prime[] = + "\x03\x89\x22\xa0\xb7\x3a\x91\xcb\x5e\x0c\xfd\x73\xde\xa7\x38\xa9" + "\x47\x43\xd6\x02\xbf\x2a\xb9\x3c\x48\xf3\x06\xd6\x58\x35\x50\x56" + "\x16\x5c\x34\x9b\x61\x87\xc8\xaa\x0a\x5d\x8a\x0a\xcd\x9c\x41\xd9" + "\x96\x24\xe0\xa9\x9b\x26\xb7\xa8\x08\xc9\xea\xdc\xa7\x15\xfb\x62" + "\xa0\x2d\x90\xe6\xa7\x55\x6e\xc6\x6c\xff\xd6\x10\x6d\xfa\x2e\x04" + "\x50\xec\x5c\x66\xe4\x05"; + + static const unsigned char ex_exponent[] = + "\x02\x0a\xcd\xc3\x82\xd2\x03\xb0\x31\xac\xd3\x20\x80\x34\x9a\x57" + "\xbc\x60\x04\x57\x25\xd0\x29\x9a\x16\x90\xb9\x1c\x49\x6a\xd1\xf2" + "\x47\x8c\x0e\x9e\xc9\x20\xc2\xd8\xe4\x8f\xce\xd2\x1a\x9c\xec\xb4" + "\x1f\x33\x41\xc8\xf5\x62\xd1\xa5\xef\x1d\xa1\xd8\xbd\x71\xc6\xf7" + "\xda\x89\x37\x2e\xe2\xec\x47\xc5\xb8\xe3\xb4\xe3\x5c\x82\xaa\xdd" + "\xb7\x58\x2e\xaf\x07\x79"; + + static const unsigned char ex_coefficient[] = + "\x00\x9c\x09\x88\x9b\xc8\x57\x08\x69\x69\xab\x2d\x9e\x29\x1c\x3c" + "\x6d\x59\x33\x12\x0d\x2b\x09\x2e\xaf\x01\x2c\x27\x01\xfc\xbd\x26" + "\x13\xf9\x2d\x09\x22\x4e\x49\x11\x03\x82\x88\x87\xf4\x43\x1d\xac" + "\xca\xec\x86\xf7\x23\xf1\x64\xf3\xf5\x81\xf0\x37\x36\xcf\x67\xff" + "\x1a\xff\x7a\xc7\xf9\xf9\x67\x2d\xa0\x9d\x61\xf8\xf6\x47\x5c\x2f" + "\xe7\x66\xe8\x3c\x3a\xe8"; + + BIGNUM **pris = NULL, **exps = NULL, **coeffs = NULL; + int rv = 256; /* public key length */ + + if (!TEST_int_eq(RSA_set0_key(key, + BN_bin2bn(n, sizeof(n) - 1, NULL), + BN_bin2bn(e, sizeof(e) - 1, NULL), + BN_bin2bn(d, sizeof(d) - 1, NULL)), 1)) + goto err; + + if (!TEST_int_eq(RSA_set0_factors(key, + BN_bin2bn(p, sizeof(p) - 1, NULL), + BN_bin2bn(q, sizeof(q) - 1, NULL)), 1)) + goto err; + + if (!TEST_int_eq(RSA_set0_crt_params(key, + BN_bin2bn(dmp1, sizeof(dmp1) - 1, NULL), + BN_bin2bn(dmq1, sizeof(dmq1) - 1, NULL), + BN_bin2bn(iqmp, sizeof(iqmp) - 1, + NULL)), 1)) + return 0; + + pris = OPENSSL_zalloc(sizeof(BIGNUM *)); + exps = OPENSSL_zalloc(sizeof(BIGNUM *)); + coeffs = OPENSSL_zalloc(sizeof(BIGNUM *)); + if (!TEST_ptr(pris) || !TEST_ptr(exps) || !TEST_ptr(coeffs)) + goto err; + + pris[0] = BN_bin2bn(ex_prime, sizeof(ex_prime) - 1, NULL); + exps[0] = BN_bin2bn(ex_exponent, sizeof(ex_exponent) - 1, NULL); + coeffs[0] = BN_bin2bn(ex_coefficient, sizeof(ex_coefficient) - 1, NULL); + if (!TEST_ptr(pris[0]) || !TEST_ptr(exps[0]) || !TEST_ptr(coeffs[0])) + goto err; + + if (!TEST_true(RSA_set0_multi_prime_params(key, pris, exps, + coeffs, NUM_EXTRA_PRIMES))) + goto err; + + ret: + OPENSSL_free(pris); + OPENSSL_free(exps); + OPENSSL_free(coeffs); + return rv; + err: + if (pris != NULL) + BN_free(pris[0]); + if (exps != NULL) + BN_free(exps[0]); + if (coeffs != NULL) + BN_free(coeffs[0]); + rv = 0; + goto ret; +} + +static int test_rsa_mp(void) +{ + int ret = 0; + RSA *key; + unsigned char ptext[256]; + unsigned char ctext[256]; + static unsigned char ptext_ex[] = "\x54\x85\x9b\x34\x2c\x49\xea\x2a"; + int plen; + int clen = 0; + int num; + + plen = sizeof(ptext_ex) - 1; + key = RSA_new(); + if (!TEST_ptr(key)) + goto err; + clen = key2048p3(key); + if (!TEST_int_eq(clen, 256)) + goto err; + + if (!TEST_true(RSA_check_key_ex(key, NULL))) + goto err; + + num = RSA_public_encrypt(plen, ptext_ex, ctext, key, + RSA_PKCS1_PADDING); + if (!TEST_int_eq(num, clen)) + goto err; + + num = RSA_private_decrypt(num, ctext, ptext, key, RSA_PKCS1_PADDING); + if (!TEST_mem_eq(ptext, num, ptext_ex, plen)) + goto err; + + ret = 1; +err: + RSA_free(key); + return ret; +} +#endif + +int setup_tests(void) +{ +#ifndef OPENSSL_NO_RSA + ADD_TEST(test_rsa_mp); +#endif + return 1; +} diff --git a/deps/openssl/openssl/test/run_tests.pl b/deps/openssl/openssl/test/run_tests.pl index 881feaec712d1d..117864022148b0 100644 --- a/deps/openssl/openssl/test/run_tests.pl +++ b/deps/openssl/openssl/test/run_tests.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -90,7 +90,7 @@ BEGIN # $ret->has_errors may be any number, not just 0 or 1. On VMS, numbers # from 2 and on are used as is as VMS statuses, which has severity encoded # in the lower 3 bits. 0 and 1, on the other hand, generate SUCCESS and -# FAILURE, so for currect reporting on all platforms, we make sure the only +# FAILURE, so for correct reporting on all platforms, we make sure the only # exit codes are 0 and 1. Double-bang is the trick to do so. exit !!$ret->has_errors if (ref($ret) eq "TAP::Parser::Aggregator"); diff --git a/deps/openssl/openssl/test/servername_test.c b/deps/openssl/openssl/test/servername_test.c new file mode 100644 index 00000000000000..39f6b2002f32c4 --- /dev/null +++ b/deps/openssl/openssl/test/servername_test.c @@ -0,0 +1,242 @@ +/* + * Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017 BaishanCloud. All rights reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "../ssl/packet_local.h" + +#include "testutil.h" +#include "internal/nelem.h" +#include "ssltestlib.h" + +#define CLIENT_VERSION_LEN 2 + +static const char *host = "dummy-host"; + +static char *cert = NULL; +static char *privkey = NULL; + +static int get_sni_from_client_hello(BIO *bio, char **sni) +{ + long len; + unsigned char *data; + PACKET pkt = {0}, pkt2 = {0}, pkt3 = {0}, pkt4 = {0}, pkt5 = {0}; + unsigned int servname_type = 0, type = 0; + int ret = 0; + + len = BIO_get_mem_data(bio, (char **)&data); + if (!TEST_true(PACKET_buf_init(&pkt, data, len)) + /* Skip the record header */ + || !PACKET_forward(&pkt, SSL3_RT_HEADER_LENGTH) + /* Skip the handshake message header */ + || !TEST_true(PACKET_forward(&pkt, SSL3_HM_HEADER_LENGTH)) + /* Skip client version and random */ + || !TEST_true(PACKET_forward(&pkt, CLIENT_VERSION_LEN + + SSL3_RANDOM_SIZE)) + /* Skip session id */ + || !TEST_true(PACKET_get_length_prefixed_1(&pkt, &pkt2)) + /* Skip ciphers */ + || !TEST_true(PACKET_get_length_prefixed_2(&pkt, &pkt2)) + /* Skip compression */ + || !TEST_true(PACKET_get_length_prefixed_1(&pkt, &pkt2)) + /* Extensions len */ + || !TEST_true(PACKET_as_length_prefixed_2(&pkt, &pkt2))) + goto end; + + /* Loop through all extensions for SNI */ + while (PACKET_remaining(&pkt2)) { + if (!TEST_true(PACKET_get_net_2(&pkt2, &type)) + || !TEST_true(PACKET_get_length_prefixed_2(&pkt2, &pkt3))) + goto end; + if (type == TLSEXT_TYPE_server_name) { + if (!TEST_true(PACKET_get_length_prefixed_2(&pkt3, &pkt4)) + || !TEST_uint_ne(PACKET_remaining(&pkt4), 0) + || !TEST_true(PACKET_get_1(&pkt4, &servname_type)) + || !TEST_uint_eq(servname_type, TLSEXT_NAMETYPE_host_name) + || !TEST_true(PACKET_get_length_prefixed_2(&pkt4, &pkt5)) + || !TEST_uint_le(PACKET_remaining(&pkt5), TLSEXT_MAXLEN_host_name) + || !TEST_false(PACKET_contains_zero_byte(&pkt5)) + || !TEST_true(PACKET_strndup(&pkt5, sni))) + goto end; + ret = 1; + goto end; + } + } +end: + return ret; +} + +static int client_setup_sni_before_state(void) +{ + SSL_CTX *ctx; + SSL *con = NULL; + BIO *rbio; + BIO *wbio; + char *hostname = NULL; + int ret = 0; + + /* use TLS_method to blur 'side' */ + ctx = SSL_CTX_new(TLS_method()); + if (!TEST_ptr(ctx)) + goto end; + + con = SSL_new(ctx); + if (!TEST_ptr(con)) + goto end; + + /* set SNI before 'client side' is set */ + SSL_set_tlsext_host_name(con, host); + + rbio = BIO_new(BIO_s_mem()); + wbio = BIO_new(BIO_s_mem()); + if (!TEST_ptr(rbio)|| !TEST_ptr(wbio)) { + BIO_free(rbio); + BIO_free(wbio); + goto end; + } + + SSL_set_bio(con, rbio, wbio); + + if (!TEST_int_le(SSL_connect(con), 0)) + /* This shouldn't succeed because we don't have a server! */ + goto end; + if (!TEST_true(get_sni_from_client_hello(wbio, &hostname))) + /* no SNI in client hello */ + goto end; + if (!TEST_str_eq(hostname, host)) + /* incorrect SNI value */ + goto end; + ret = 1; +end: + OPENSSL_free(hostname); + SSL_free(con); + SSL_CTX_free(ctx); + return ret; +} + +static int client_setup_sni_after_state(void) +{ + SSL_CTX *ctx; + SSL *con = NULL; + BIO *rbio; + BIO *wbio; + char *hostname = NULL; + int ret = 0; + + /* use TLS_method to blur 'side' */ + ctx = SSL_CTX_new(TLS_method()); + if (!TEST_ptr(ctx)) + goto end; + + con = SSL_new(ctx); + if (!TEST_ptr(con)) + goto end; + + rbio = BIO_new(BIO_s_mem()); + wbio = BIO_new(BIO_s_mem()); + if (!TEST_ptr(rbio)|| !TEST_ptr(wbio)) { + BIO_free(rbio); + BIO_free(wbio); + goto end; + } + + SSL_set_bio(con, rbio, wbio); + SSL_set_connect_state(con); + + /* set SNI after 'client side' is set */ + SSL_set_tlsext_host_name(con, host); + + if (!TEST_int_le(SSL_connect(con), 0)) + /* This shouldn't succeed because we don't have a server! */ + goto end; + if (!TEST_true(get_sni_from_client_hello(wbio, &hostname))) + /* no SNI in client hello */ + goto end; + if (!TEST_str_eq(hostname, host)) + /* incorrect SNI value */ + goto end; + ret = 1; +end: + OPENSSL_free(hostname); + SSL_free(con); + SSL_CTX_free(ctx); + return ret; +} + +static int server_setup_sni(void) +{ + SSL_CTX *cctx = NULL, *sctx = NULL; + SSL *clientssl = NULL, *serverssl = NULL; + int testresult = 0; + + if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + TLS_client_method(), + TLS1_VERSION, TLS_MAX_VERSION, + &sctx, &cctx, cert, privkey)) + || !TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, + NULL, NULL))) + goto end; + + /* set SNI at server side */ + SSL_set_tlsext_host_name(serverssl, host); + + if (!TEST_true(create_ssl_connection(serverssl, clientssl, SSL_ERROR_NONE))) + goto end; + + if (!TEST_ptr_null(SSL_get_servername(serverssl, + TLSEXT_NAMETYPE_host_name))) { + /* SNI should have been cleared during handshake */ + goto end; + } + + testresult = 1; +end: + SSL_free(serverssl); + SSL_free(clientssl); + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + + return testresult; +} + +typedef int (*sni_test_fn)(void); + +static sni_test_fn sni_test_fns[3] = { + client_setup_sni_before_state, + client_setup_sni_after_state, + server_setup_sni +}; + +static int test_servername(int test) +{ + /* + * For each test set up an SSL_CTX and SSL and see + * what SNI behaves. + */ + return sni_test_fns[test](); +} + +int setup_tests(void) +{ + if (!TEST_ptr(cert = test_get_argument(0)) + || !TEST_ptr(privkey = test_get_argument(1))) + return 0; + + ADD_ALL_TESTS(test_servername, OSSL_NELEM(sni_test_fns)); + return 1; +} diff --git a/deps/openssl/openssl/test/shlibloadtest.c b/deps/openssl/openssl/test/shlibloadtest.c index 86bbfcd849f4e4..9649a941ad9707 100644 --- a/deps/openssl/openssl/test/shlibloadtest.c +++ b/deps/openssl/openssl/test/shlibloadtest.c @@ -13,7 +13,7 @@ #include #include #include -#include "internal/dso_conf.h" +#include "crypto/dso_conf.h" typedef void DSO; diff --git a/deps/openssl/openssl/test/siphash_internal_test.c b/deps/openssl/openssl/test/siphash_internal_test.c new file mode 100644 index 00000000000000..be86ee119c3e6c --- /dev/null +++ b/deps/openssl/openssl/test/siphash_internal_test.c @@ -0,0 +1,290 @@ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* Internal tests for the siphash module */ + +#include +#include + +#include +#include "testutil.h" +#include "crypto/siphash.h" +#include "../crypto/siphash/siphash_local.h" +#include "internal/nelem.h" + +typedef struct { + size_t size; + unsigned char data[64]; +} SIZED_DATA; + +typedef struct { + int idx; + SIZED_DATA expected; +} TESTDATA; + +/********************************************************************** + * + * Test of siphash internal functions + * + ***/ + +/* From C reference: https://131002.net/siphash/ */ + +static TESTDATA tests[] = { + { 0, { 8, { 0x31, 0x0e, 0x0e, 0xdd, 0x47, 0xdb, 0x6f, 0x72, } } }, + { 1, { 8, { 0xfd, 0x67, 0xdc, 0x93, 0xc5, 0x39, 0xf8, 0x74, } } }, + { 2, { 8, { 0x5a, 0x4f, 0xa9, 0xd9, 0x09, 0x80, 0x6c, 0x0d, } } }, + { 3, { 8, { 0x2d, 0x7e, 0xfb, 0xd7, 0x96, 0x66, 0x67, 0x85, } } }, + { 4, { 8, { 0xb7, 0x87, 0x71, 0x27, 0xe0, 0x94, 0x27, 0xcf, } } }, + { 5, { 8, { 0x8d, 0xa6, 0x99, 0xcd, 0x64, 0x55, 0x76, 0x18, } } }, + { 6, { 8, { 0xce, 0xe3, 0xfe, 0x58, 0x6e, 0x46, 0xc9, 0xcb, } } }, + { 7, { 8, { 0x37, 0xd1, 0x01, 0x8b, 0xf5, 0x00, 0x02, 0xab, } } }, + { 8, { 8, { 0x62, 0x24, 0x93, 0x9a, 0x79, 0xf5, 0xf5, 0x93, } } }, + { 9, { 8, { 0xb0, 0xe4, 0xa9, 0x0b, 0xdf, 0x82, 0x00, 0x9e, } } }, + { 10, { 8, { 0xf3, 0xb9, 0xdd, 0x94, 0xc5, 0xbb, 0x5d, 0x7a, } } }, + { 11, { 8, { 0xa7, 0xad, 0x6b, 0x22, 0x46, 0x2f, 0xb3, 0xf4, } } }, + { 12, { 8, { 0xfb, 0xe5, 0x0e, 0x86, 0xbc, 0x8f, 0x1e, 0x75, } } }, + { 13, { 8, { 0x90, 0x3d, 0x84, 0xc0, 0x27, 0x56, 0xea, 0x14, } } }, + { 14, { 8, { 0xee, 0xf2, 0x7a, 0x8e, 0x90, 0xca, 0x23, 0xf7, } } }, + { 15, { 8, { 0xe5, 0x45, 0xbe, 0x49, 0x61, 0xca, 0x29, 0xa1, } } }, + { 16, { 8, { 0xdb, 0x9b, 0xc2, 0x57, 0x7f, 0xcc, 0x2a, 0x3f, } } }, + { 17, { 8, { 0x94, 0x47, 0xbe, 0x2c, 0xf5, 0xe9, 0x9a, 0x69, } } }, + { 18, { 8, { 0x9c, 0xd3, 0x8d, 0x96, 0xf0, 0xb3, 0xc1, 0x4b, } } }, + { 19, { 8, { 0xbd, 0x61, 0x79, 0xa7, 0x1d, 0xc9, 0x6d, 0xbb, } } }, + { 20, { 8, { 0x98, 0xee, 0xa2, 0x1a, 0xf2, 0x5c, 0xd6, 0xbe, } } }, + { 21, { 8, { 0xc7, 0x67, 0x3b, 0x2e, 0xb0, 0xcb, 0xf2, 0xd0, } } }, + { 22, { 8, { 0x88, 0x3e, 0xa3, 0xe3, 0x95, 0x67, 0x53, 0x93, } } }, + { 23, { 8, { 0xc8, 0xce, 0x5c, 0xcd, 0x8c, 0x03, 0x0c, 0xa8, } } }, + { 24, { 8, { 0x94, 0xaf, 0x49, 0xf6, 0xc6, 0x50, 0xad, 0xb8, } } }, + { 25, { 8, { 0xea, 0xb8, 0x85, 0x8a, 0xde, 0x92, 0xe1, 0xbc, } } }, + { 26, { 8, { 0xf3, 0x15, 0xbb, 0x5b, 0xb8, 0x35, 0xd8, 0x17, } } }, + { 27, { 8, { 0xad, 0xcf, 0x6b, 0x07, 0x63, 0x61, 0x2e, 0x2f, } } }, + { 28, { 8, { 0xa5, 0xc9, 0x1d, 0xa7, 0xac, 0xaa, 0x4d, 0xde, } } }, + { 29, { 8, { 0x71, 0x65, 0x95, 0x87, 0x66, 0x50, 0xa2, 0xa6, } } }, + { 30, { 8, { 0x28, 0xef, 0x49, 0x5c, 0x53, 0xa3, 0x87, 0xad, } } }, + { 31, { 8, { 0x42, 0xc3, 0x41, 0xd8, 0xfa, 0x92, 0xd8, 0x32, } } }, + { 32, { 8, { 0xce, 0x7c, 0xf2, 0x72, 0x2f, 0x51, 0x27, 0x71, } } }, + { 33, { 8, { 0xe3, 0x78, 0x59, 0xf9, 0x46, 0x23, 0xf3, 0xa7, } } }, + { 34, { 8, { 0x38, 0x12, 0x05, 0xbb, 0x1a, 0xb0, 0xe0, 0x12, } } }, + { 35, { 8, { 0xae, 0x97, 0xa1, 0x0f, 0xd4, 0x34, 0xe0, 0x15, } } }, + { 36, { 8, { 0xb4, 0xa3, 0x15, 0x08, 0xbe, 0xff, 0x4d, 0x31, } } }, + { 37, { 8, { 0x81, 0x39, 0x62, 0x29, 0xf0, 0x90, 0x79, 0x02, } } }, + { 38, { 8, { 0x4d, 0x0c, 0xf4, 0x9e, 0xe5, 0xd4, 0xdc, 0xca, } } }, + { 39, { 8, { 0x5c, 0x73, 0x33, 0x6a, 0x76, 0xd8, 0xbf, 0x9a, } } }, + { 40, { 8, { 0xd0, 0xa7, 0x04, 0x53, 0x6b, 0xa9, 0x3e, 0x0e, } } }, + { 41, { 8, { 0x92, 0x59, 0x58, 0xfc, 0xd6, 0x42, 0x0c, 0xad, } } }, + { 42, { 8, { 0xa9, 0x15, 0xc2, 0x9b, 0xc8, 0x06, 0x73, 0x18, } } }, + { 43, { 8, { 0x95, 0x2b, 0x79, 0xf3, 0xbc, 0x0a, 0xa6, 0xd4, } } }, + { 44, { 8, { 0xf2, 0x1d, 0xf2, 0xe4, 0x1d, 0x45, 0x35, 0xf9, } } }, + { 45, { 8, { 0x87, 0x57, 0x75, 0x19, 0x04, 0x8f, 0x53, 0xa9, } } }, + { 46, { 8, { 0x10, 0xa5, 0x6c, 0xf5, 0xdf, 0xcd, 0x9a, 0xdb, } } }, + { 47, { 8, { 0xeb, 0x75, 0x09, 0x5c, 0xcd, 0x98, 0x6c, 0xd0, } } }, + { 48, { 8, { 0x51, 0xa9, 0xcb, 0x9e, 0xcb, 0xa3, 0x12, 0xe6, } } }, + { 49, { 8, { 0x96, 0xaf, 0xad, 0xfc, 0x2c, 0xe6, 0x66, 0xc7, } } }, + { 50, { 8, { 0x72, 0xfe, 0x52, 0x97, 0x5a, 0x43, 0x64, 0xee, } } }, + { 51, { 8, { 0x5a, 0x16, 0x45, 0xb2, 0x76, 0xd5, 0x92, 0xa1, } } }, + { 52, { 8, { 0xb2, 0x74, 0xcb, 0x8e, 0xbf, 0x87, 0x87, 0x0a, } } }, + { 53, { 8, { 0x6f, 0x9b, 0xb4, 0x20, 0x3d, 0xe7, 0xb3, 0x81, } } }, + { 54, { 8, { 0xea, 0xec, 0xb2, 0xa3, 0x0b, 0x22, 0xa8, 0x7f, } } }, + { 55, { 8, { 0x99, 0x24, 0xa4, 0x3c, 0xc1, 0x31, 0x57, 0x24, } } }, + { 56, { 8, { 0xbd, 0x83, 0x8d, 0x3a, 0xaf, 0xbf, 0x8d, 0xb7, } } }, + { 57, { 8, { 0x0b, 0x1a, 0x2a, 0x32, 0x65, 0xd5, 0x1a, 0xea, } } }, + { 58, { 8, { 0x13, 0x50, 0x79, 0xa3, 0x23, 0x1c, 0xe6, 0x60, } } }, + { 59, { 8, { 0x93, 0x2b, 0x28, 0x46, 0xe4, 0xd7, 0x06, 0x66, } } }, + { 60, { 8, { 0xe1, 0x91, 0x5f, 0x5c, 0xb1, 0xec, 0xa4, 0x6c, } } }, + { 61, { 8, { 0xf3, 0x25, 0x96, 0x5c, 0xa1, 0x6d, 0x62, 0x9f, } } }, + { 62, { 8, { 0x57, 0x5f, 0xf2, 0x8e, 0x60, 0x38, 0x1b, 0xe5, } } }, + { 63, { 8, { 0x72, 0x45, 0x06, 0xeb, 0x4c, 0x32, 0x8a, 0x95, } } }, + { 0, { 16, { 0xa3, 0x81, 0x7f, 0x04, 0xba, 0x25, 0xa8, 0xe6, 0x6d, 0xf6, 0x72, 0x14, 0xc7, 0x55, 0x02, 0x93, } } }, + { 1, { 16, { 0xda, 0x87, 0xc1, 0xd8, 0x6b, 0x99, 0xaf, 0x44, 0x34, 0x76, 0x59, 0x11, 0x9b, 0x22, 0xfc, 0x45, } } }, + { 2, { 16, { 0x81, 0x77, 0x22, 0x8d, 0xa4, 0xa4, 0x5d, 0xc7, 0xfc, 0xa3, 0x8b, 0xde, 0xf6, 0x0a, 0xff, 0xe4, } } }, + { 3, { 16, { 0x9c, 0x70, 0xb6, 0x0c, 0x52, 0x67, 0xa9, 0x4e, 0x5f, 0x33, 0xb6, 0xb0, 0x29, 0x85, 0xed, 0x51, } } }, + { 4, { 16, { 0xf8, 0x81, 0x64, 0xc1, 0x2d, 0x9c, 0x8f, 0xaf, 0x7d, 0x0f, 0x6e, 0x7c, 0x7b, 0xcd, 0x55, 0x79, } } }, + { 5, { 16, { 0x13, 0x68, 0x87, 0x59, 0x80, 0x77, 0x6f, 0x88, 0x54, 0x52, 0x7a, 0x07, 0x69, 0x0e, 0x96, 0x27, } } }, + { 6, { 16, { 0x14, 0xee, 0xca, 0x33, 0x8b, 0x20, 0x86, 0x13, 0x48, 0x5e, 0xa0, 0x30, 0x8f, 0xd7, 0xa1, 0x5e, } } }, + { 7, { 16, { 0xa1, 0xf1, 0xeb, 0xbe, 0xd8, 0xdb, 0xc1, 0x53, 0xc0, 0xb8, 0x4a, 0xa6, 0x1f, 0xf0, 0x82, 0x39, } } }, + { 8, { 16, { 0x3b, 0x62, 0xa9, 0xba, 0x62, 0x58, 0xf5, 0x61, 0x0f, 0x83, 0xe2, 0x64, 0xf3, 0x14, 0x97, 0xb4, } } }, + { 9, { 16, { 0x26, 0x44, 0x99, 0x06, 0x0a, 0xd9, 0xba, 0xab, 0xc4, 0x7f, 0x8b, 0x02, 0xbb, 0x6d, 0x71, 0xed, } } }, + { 10, { 16, { 0x00, 0x11, 0x0d, 0xc3, 0x78, 0x14, 0x69, 0x56, 0xc9, 0x54, 0x47, 0xd3, 0xf3, 0xd0, 0xfb, 0xba, } } }, + { 11, { 16, { 0x01, 0x51, 0xc5, 0x68, 0x38, 0x6b, 0x66, 0x77, 0xa2, 0xb4, 0xdc, 0x6f, 0x81, 0xe5, 0xdc, 0x18, } } }, + { 12, { 16, { 0xd6, 0x26, 0xb2, 0x66, 0x90, 0x5e, 0xf3, 0x58, 0x82, 0x63, 0x4d, 0xf6, 0x85, 0x32, 0xc1, 0x25, } } }, + { 13, { 16, { 0x98, 0x69, 0xe2, 0x47, 0xe9, 0xc0, 0x8b, 0x10, 0xd0, 0x29, 0x93, 0x4f, 0xc4, 0xb9, 0x52, 0xf7, } } }, + { 14, { 16, { 0x31, 0xfc, 0xef, 0xac, 0x66, 0xd7, 0xde, 0x9c, 0x7e, 0xc7, 0x48, 0x5f, 0xe4, 0x49, 0x49, 0x02, } } }, + { 15, { 16, { 0x54, 0x93, 0xe9, 0x99, 0x33, 0xb0, 0xa8, 0x11, 0x7e, 0x08, 0xec, 0x0f, 0x97, 0xcf, 0xc3, 0xd9, } } }, + { 16, { 16, { 0x6e, 0xe2, 0xa4, 0xca, 0x67, 0xb0, 0x54, 0xbb, 0xfd, 0x33, 0x15, 0xbf, 0x85, 0x23, 0x05, 0x77, } } }, + { 17, { 16, { 0x47, 0x3d, 0x06, 0xe8, 0x73, 0x8d, 0xb8, 0x98, 0x54, 0xc0, 0x66, 0xc4, 0x7a, 0xe4, 0x77, 0x40, } } }, + { 18, { 16, { 0xa4, 0x26, 0xe5, 0xe4, 0x23, 0xbf, 0x48, 0x85, 0x29, 0x4d, 0xa4, 0x81, 0xfe, 0xae, 0xf7, 0x23, } } }, + { 19, { 16, { 0x78, 0x01, 0x77, 0x31, 0xcf, 0x65, 0xfa, 0xb0, 0x74, 0xd5, 0x20, 0x89, 0x52, 0x51, 0x2e, 0xb1, } } }, + { 20, { 16, { 0x9e, 0x25, 0xfc, 0x83, 0x3f, 0x22, 0x90, 0x73, 0x3e, 0x93, 0x44, 0xa5, 0xe8, 0x38, 0x39, 0xeb, } } }, + { 21, { 16, { 0x56, 0x8e, 0x49, 0x5a, 0xbe, 0x52, 0x5a, 0x21, 0x8a, 0x22, 0x14, 0xcd, 0x3e, 0x07, 0x1d, 0x12, } } }, + { 22, { 16, { 0x4a, 0x29, 0xb5, 0x45, 0x52, 0xd1, 0x6b, 0x9a, 0x46, 0x9c, 0x10, 0x52, 0x8e, 0xff, 0x0a, 0xae, } } }, + { 23, { 16, { 0xc9, 0xd1, 0x84, 0xdd, 0xd5, 0xa9, 0xf5, 0xe0, 0xcf, 0x8c, 0xe2, 0x9a, 0x9a, 0xbf, 0x69, 0x1c, } } }, + { 24, { 16, { 0x2d, 0xb4, 0x79, 0xae, 0x78, 0xbd, 0x50, 0xd8, 0x88, 0x2a, 0x8a, 0x17, 0x8a, 0x61, 0x32, 0xad, } } }, + { 25, { 16, { 0x8e, 0xce, 0x5f, 0x04, 0x2d, 0x5e, 0x44, 0x7b, 0x50, 0x51, 0xb9, 0xea, 0xcb, 0x8d, 0x8f, 0x6f, } } }, + { 26, { 16, { 0x9c, 0x0b, 0x53, 0xb4, 0xb3, 0xc3, 0x07, 0xe8, 0x7e, 0xae, 0xe0, 0x86, 0x78, 0x14, 0x1f, 0x66, } } }, + { 27, { 16, { 0xab, 0xf2, 0x48, 0xaf, 0x69, 0xa6, 0xea, 0xe4, 0xbf, 0xd3, 0xeb, 0x2f, 0x12, 0x9e, 0xeb, 0x94, } } }, + { 28, { 16, { 0x06, 0x64, 0xda, 0x16, 0x68, 0x57, 0x4b, 0x88, 0xb9, 0x35, 0xf3, 0x02, 0x73, 0x58, 0xae, 0xf4, } } }, + { 29, { 16, { 0xaa, 0x4b, 0x9d, 0xc4, 0xbf, 0x33, 0x7d, 0xe9, 0x0c, 0xd4, 0xfd, 0x3c, 0x46, 0x7c, 0x6a, 0xb7, } } }, + { 30, { 16, { 0xea, 0x5c, 0x7f, 0x47, 0x1f, 0xaf, 0x6b, 0xde, 0x2b, 0x1a, 0xd7, 0xd4, 0x68, 0x6d, 0x22, 0x87, } } }, + { 31, { 16, { 0x29, 0x39, 0xb0, 0x18, 0x32, 0x23, 0xfa, 0xfc, 0x17, 0x23, 0xde, 0x4f, 0x52, 0xc4, 0x3d, 0x35, } } }, + { 32, { 16, { 0x7c, 0x39, 0x56, 0xca, 0x5e, 0xea, 0xfc, 0x3e, 0x36, 0x3e, 0x9d, 0x55, 0x65, 0x46, 0xeb, 0x68, } } }, + { 33, { 16, { 0x77, 0xc6, 0x07, 0x71, 0x46, 0xf0, 0x1c, 0x32, 0xb6, 0xb6, 0x9d, 0x5f, 0x4e, 0xa9, 0xff, 0xcf, } } }, + { 34, { 16, { 0x37, 0xa6, 0x98, 0x6c, 0xb8, 0x84, 0x7e, 0xdf, 0x09, 0x25, 0xf0, 0xf1, 0x30, 0x9b, 0x54, 0xde, } } }, + { 35, { 16, { 0xa7, 0x05, 0xf0, 0xe6, 0x9d, 0xa9, 0xa8, 0xf9, 0x07, 0x24, 0x1a, 0x2e, 0x92, 0x3c, 0x8c, 0xc8, } } }, + { 36, { 16, { 0x3d, 0xc4, 0x7d, 0x1f, 0x29, 0xc4, 0x48, 0x46, 0x1e, 0x9e, 0x76, 0xed, 0x90, 0x4f, 0x67, 0x11, } } }, + { 37, { 16, { 0x0d, 0x62, 0xbf, 0x01, 0xe6, 0xfc, 0x0e, 0x1a, 0x0d, 0x3c, 0x47, 0x51, 0xc5, 0xd3, 0x69, 0x2b, } } }, + { 38, { 16, { 0x8c, 0x03, 0x46, 0x8b, 0xca, 0x7c, 0x66, 0x9e, 0xe4, 0xfd, 0x5e, 0x08, 0x4b, 0xbe, 0xe7, 0xb5, } } }, + { 39, { 16, { 0x52, 0x8a, 0x5b, 0xb9, 0x3b, 0xaf, 0x2c, 0x9c, 0x44, 0x73, 0xcc, 0xe5, 0xd0, 0xd2, 0x2b, 0xd9, } } }, + { 40, { 16, { 0xdf, 0x6a, 0x30, 0x1e, 0x95, 0xc9, 0x5d, 0xad, 0x97, 0xae, 0x0c, 0xc8, 0xc6, 0x91, 0x3b, 0xd8, } } }, + { 41, { 16, { 0x80, 0x11, 0x89, 0x90, 0x2c, 0x85, 0x7f, 0x39, 0xe7, 0x35, 0x91, 0x28, 0x5e, 0x70, 0xb6, 0xdb, } } }, + { 42, { 16, { 0xe6, 0x17, 0x34, 0x6a, 0xc9, 0xc2, 0x31, 0xbb, 0x36, 0x50, 0xae, 0x34, 0xcc, 0xca, 0x0c, 0x5b, } } }, + { 43, { 16, { 0x27, 0xd9, 0x34, 0x37, 0xef, 0xb7, 0x21, 0xaa, 0x40, 0x18, 0x21, 0xdc, 0xec, 0x5a, 0xdf, 0x89, } } }, + { 44, { 16, { 0x89, 0x23, 0x7d, 0x9d, 0xed, 0x9c, 0x5e, 0x78, 0xd8, 0xb1, 0xc9, 0xb1, 0x66, 0xcc, 0x73, 0x42, } } }, + { 45, { 16, { 0x4a, 0x6d, 0x80, 0x91, 0xbf, 0x5e, 0x7d, 0x65, 0x11, 0x89, 0xfa, 0x94, 0xa2, 0x50, 0xb1, 0x4c, } } }, + { 46, { 16, { 0x0e, 0x33, 0xf9, 0x60, 0x55, 0xe7, 0xae, 0x89, 0x3f, 0xfc, 0x0e, 0x3d, 0xcf, 0x49, 0x29, 0x02, } } }, + { 47, { 16, { 0xe6, 0x1c, 0x43, 0x2b, 0x72, 0x0b, 0x19, 0xd1, 0x8e, 0xc8, 0xd8, 0x4b, 0xdc, 0x63, 0x15, 0x1b, } } }, + { 48, { 16, { 0xf7, 0xe5, 0xae, 0xf5, 0x49, 0xf7, 0x82, 0xcf, 0x37, 0x90, 0x55, 0xa6, 0x08, 0x26, 0x9b, 0x16, } } }, + { 49, { 16, { 0x43, 0x8d, 0x03, 0x0f, 0xd0, 0xb7, 0xa5, 0x4f, 0xa8, 0x37, 0xf2, 0xad, 0x20, 0x1a, 0x64, 0x03, } } }, + { 50, { 16, { 0xa5, 0x90, 0xd3, 0xee, 0x4f, 0xbf, 0x04, 0xe3, 0x24, 0x7e, 0x0d, 0x27, 0xf2, 0x86, 0x42, 0x3f, } } }, + { 51, { 16, { 0x5f, 0xe2, 0xc1, 0xa1, 0x72, 0xfe, 0x93, 0xc4, 0xb1, 0x5c, 0xd3, 0x7c, 0xae, 0xf9, 0xf5, 0x38, } } }, + { 52, { 16, { 0x2c, 0x97, 0x32, 0x5c, 0xbd, 0x06, 0xb3, 0x6e, 0xb2, 0x13, 0x3d, 0xd0, 0x8b, 0x3a, 0x01, 0x7c, } } }, + { 53, { 16, { 0x92, 0xc8, 0x14, 0x22, 0x7a, 0x6b, 0xca, 0x94, 0x9f, 0xf0, 0x65, 0x9f, 0x00, 0x2a, 0xd3, 0x9e, } } }, + { 54, { 16, { 0xdc, 0xe8, 0x50, 0x11, 0x0b, 0xd8, 0x32, 0x8c, 0xfb, 0xd5, 0x08, 0x41, 0xd6, 0x91, 0x1d, 0x87, } } }, + { 55, { 16, { 0x67, 0xf1, 0x49, 0x84, 0xc7, 0xda, 0x79, 0x12, 0x48, 0xe3, 0x2b, 0xb5, 0x92, 0x25, 0x83, 0xda, } } }, + { 56, { 16, { 0x19, 0x38, 0xf2, 0xcf, 0x72, 0xd5, 0x4e, 0xe9, 0x7e, 0x94, 0x16, 0x6f, 0xa9, 0x1d, 0x2a, 0x36, } } }, + { 57, { 16, { 0x74, 0x48, 0x1e, 0x96, 0x46, 0xed, 0x49, 0xfe, 0x0f, 0x62, 0x24, 0x30, 0x16, 0x04, 0x69, 0x8e, } } }, + { 58, { 16, { 0x57, 0xfc, 0xa5, 0xde, 0x98, 0xa9, 0xd6, 0xd8, 0x00, 0x64, 0x38, 0xd0, 0x58, 0x3d, 0x8a, 0x1d, } } }, + { 59, { 16, { 0x9f, 0xec, 0xde, 0x1c, 0xef, 0xdc, 0x1c, 0xbe, 0xd4, 0x76, 0x36, 0x74, 0xd9, 0x57, 0x53, 0x59, } } }, + { 60, { 16, { 0xe3, 0x04, 0x0c, 0x00, 0xeb, 0x28, 0xf1, 0x53, 0x66, 0xca, 0x73, 0xcb, 0xd8, 0x72, 0xe7, 0x40, } } }, + { 61, { 16, { 0x76, 0x97, 0x00, 0x9a, 0x6a, 0x83, 0x1d, 0xfe, 0xcc, 0xa9, 0x1c, 0x59, 0x93, 0x67, 0x0f, 0x7a, } } }, + { 62, { 16, { 0x58, 0x53, 0x54, 0x23, 0x21, 0xf5, 0x67, 0xa0, 0x05, 0xd5, 0x47, 0xa4, 0xf0, 0x47, 0x59, 0xbd, } } }, + { 63, { 16, { 0x51, 0x50, 0xd1, 0x77, 0x2f, 0x50, 0x83, 0x4a, 0x50, 0x3e, 0x06, 0x9a, 0x97, 0x3f, 0xbd, 0x7c, } } } +}; + +static int test_siphash(int idx) +{ + SIPHASH siphash = { 0, }; + TESTDATA test = tests[idx]; + unsigned char key[SIPHASH_KEY_SIZE]; + unsigned char in[64]; + size_t inlen = test.idx; + unsigned char *expected = test.expected.data; + size_t expectedlen = test.expected.size; + unsigned char out[SIPHASH_MAX_DIGEST_SIZE]; + size_t i; + + if (expectedlen != SIPHASH_MIN_DIGEST_SIZE && + expectedlen != SIPHASH_MAX_DIGEST_SIZE) { + TEST_info("size %zu vs %d and %d", expectedlen, + SIPHASH_MIN_DIGEST_SIZE, SIPHASH_MAX_DIGEST_SIZE); + return 0; + } + + if (!TEST_int_le(inlen, sizeof(in))) + return 0; + + /* key and in data are 00 01 02 ... */ + for (i = 0; i < sizeof(key); i++) + key[i] = (unsigned char)i; + + for (i = 0; i < inlen; i++) + in[i] = (unsigned char)i; + + if (!TEST_true(SipHash_set_hash_size(&siphash, expectedlen)) + || !TEST_true(SipHash_Init(&siphash, key, 0, 0))) + return 0; + SipHash_Update(&siphash, in, inlen); + if (!TEST_true(SipHash_Final(&siphash, out, expectedlen)) + || !TEST_mem_eq(out, expectedlen, expected, expectedlen)) + return 0; + + if (inlen > 16) { + if (!TEST_true(SipHash_set_hash_size(&siphash, expectedlen)) + || !TEST_true(SipHash_Init(&siphash, key, 0, 0))) + return 0; + SipHash_Update(&siphash, in, 1); + SipHash_Update(&siphash, in+1, inlen-1); + if (!TEST_true(SipHash_Final(&siphash, out, expectedlen))) + return 0; + + if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) { + TEST_info("SipHash test #%d/1+(N-1) failed.", idx); + return 0; + } + } + + if (inlen > 32) { + size_t half = inlen / 2; + + if (!TEST_true(SipHash_set_hash_size(&siphash, expectedlen)) + || !TEST_true(SipHash_Init(&siphash, key, 0, 0))) + return 0; + SipHash_Update(&siphash, in, half); + SipHash_Update(&siphash, in+half, inlen-half); + if (!TEST_true(SipHash_Final(&siphash, out, expectedlen))) + return 0; + + if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) { + TEST_info("SipHash test #%d/2 failed.", idx); + return 0; + } + + for (half = 16; half < inlen; half += 16) { + if (!TEST_true(SipHash_set_hash_size(&siphash, expectedlen)) + || !TEST_true(SipHash_Init(&siphash, key, 0, 0))) + return 0; + SipHash_Update(&siphash, in, half); + SipHash_Update(&siphash, in+half, inlen-half); + if (!TEST_true(SipHash_Final(&siphash, out, expectedlen))) + return 0; + + if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) { + TEST_info("SipHash test #%d/%zu+%zu failed.", + idx, half, inlen-half); + return 0; + } + } + } + + return 1; +} + +static int test_siphash_basic(void) +{ + SIPHASH siphash = { 0, }; + unsigned char key[SIPHASH_KEY_SIZE]; + unsigned char output[SIPHASH_MAX_DIGEST_SIZE]; + + /* Use invalid hash size */ + return TEST_int_eq(SipHash_set_hash_size(&siphash, 4), 0) + /* Use hash size = 8 */ + && TEST_true(SipHash_set_hash_size(&siphash, 8)) + && TEST_true(SipHash_Init(&siphash, key, 0, 0)) + && TEST_true(SipHash_Final(&siphash, output, 8)) + && TEST_int_eq(SipHash_Final(&siphash, output, 16), 0) + + /* Use hash size = 16 */ + && TEST_true(SipHash_set_hash_size(&siphash, 16)) + && TEST_true(SipHash_Init(&siphash, key, 0, 0)) + && TEST_int_eq(SipHash_Final(&siphash, output, 8), 0) + && TEST_true(SipHash_Final(&siphash, output, 16)) + + /* Use hash size = 0 (default = 16) */ + && TEST_true(SipHash_set_hash_size(&siphash, 0)) + && TEST_true(SipHash_Init(&siphash, key, 0, 0)) + && TEST_int_eq(SipHash_Final(&siphash, output, 8), 0) + && TEST_true(SipHash_Final(&siphash, output, 16)); +} + +int setup_tests(void) +{ + ADD_TEST(test_siphash_basic); + ADD_ALL_TESTS(test_siphash, OSSL_NELEM(tests)); + return 1; +} diff --git a/deps/openssl/openssl/test/sm2_internal_test.c b/deps/openssl/openssl/test/sm2_internal_test.c new file mode 100644 index 00000000000000..952f688e8b1448 --- /dev/null +++ b/deps/openssl/openssl/test/sm2_internal_test.c @@ -0,0 +1,378 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include "testutil.h" + +#ifndef OPENSSL_NO_SM2 + +# include "crypto/sm2.h" + +static RAND_METHOD fake_rand; +static const RAND_METHOD *saved_rand; + +static uint8_t *fake_rand_bytes = NULL; +static size_t fake_rand_bytes_offset = 0; +static size_t fake_rand_size = 0; + +static int get_faked_bytes(unsigned char *buf, int num) +{ + int i; + + if (fake_rand_bytes == NULL) + return saved_rand->bytes(buf, num); + + if (!TEST_size_t_le(fake_rand_bytes_offset + num, fake_rand_size)) + return 0; + + for (i = 0; i != num; ++i) + buf[i] = fake_rand_bytes[fake_rand_bytes_offset + i]; + fake_rand_bytes_offset += num; + return 1; +} + +static int start_fake_rand(const char *hex_bytes) +{ + /* save old rand method */ + if (!TEST_ptr(saved_rand = RAND_get_rand_method())) + return 0; + + fake_rand = *saved_rand; + /* use own random function */ + fake_rand.bytes = get_faked_bytes; + + fake_rand_bytes = OPENSSL_hexstr2buf(hex_bytes, NULL); + fake_rand_bytes_offset = 0; + fake_rand_size = strlen(hex_bytes) / 2; + + /* set new RAND_METHOD */ + if (!TEST_true(RAND_set_rand_method(&fake_rand))) + return 0; + return 1; +} + +static int restore_rand(void) +{ + OPENSSL_free(fake_rand_bytes); + fake_rand_bytes = NULL; + fake_rand_bytes_offset = 0; + if (!TEST_true(RAND_set_rand_method(saved_rand))) + return 0; + return 1; +} + +static EC_GROUP *create_EC_group(const char *p_hex, const char *a_hex, + const char *b_hex, const char *x_hex, + const char *y_hex, const char *order_hex, + const char *cof_hex) +{ + BIGNUM *p = NULL; + BIGNUM *a = NULL; + BIGNUM *b = NULL; + BIGNUM *g_x = NULL; + BIGNUM *g_y = NULL; + BIGNUM *order = NULL; + BIGNUM *cof = NULL; + EC_POINT *generator = NULL; + EC_GROUP *group = NULL; + int ok = 0; + + if (!TEST_true(BN_hex2bn(&p, p_hex)) + || !TEST_true(BN_hex2bn(&a, a_hex)) + || !TEST_true(BN_hex2bn(&b, b_hex))) + goto done; + + group = EC_GROUP_new_curve_GFp(p, a, b, NULL); + if (!TEST_ptr(group)) + goto done; + + generator = EC_POINT_new(group); + if (!TEST_ptr(generator)) + goto done; + + if (!TEST_true(BN_hex2bn(&g_x, x_hex)) + || !TEST_true(BN_hex2bn(&g_y, y_hex)) + || !TEST_true(EC_POINT_set_affine_coordinates(group, generator, g_x, + g_y, NULL))) + goto done; + + if (!TEST_true(BN_hex2bn(&order, order_hex)) + || !TEST_true(BN_hex2bn(&cof, cof_hex)) + || !TEST_true(EC_GROUP_set_generator(group, generator, order, cof))) + goto done; + + ok = 1; +done: + BN_free(p); + BN_free(a); + BN_free(b); + BN_free(g_x); + BN_free(g_y); + EC_POINT_free(generator); + BN_free(order); + BN_free(cof); + if (!ok) { + EC_GROUP_free(group); + group = NULL; + } + + return group; +} + +static int test_sm2_crypt(const EC_GROUP *group, + const EVP_MD *digest, + const char *privkey_hex, + const char *message, + const char *k_hex, const char *ctext_hex) +{ + const size_t msg_len = strlen(message); + BIGNUM *priv = NULL; + EC_KEY *key = NULL; + EC_POINT *pt = NULL; + unsigned char *expected = OPENSSL_hexstr2buf(ctext_hex, NULL); + size_t ctext_len = 0; + size_t ptext_len = 0; + uint8_t *ctext = NULL; + uint8_t *recovered = NULL; + size_t recovered_len = msg_len; + int rc = 0; + + if (!TEST_ptr(expected) + || !TEST_true(BN_hex2bn(&priv, privkey_hex))) + goto done; + + key = EC_KEY_new(); + if (!TEST_ptr(key) + || !TEST_true(EC_KEY_set_group(key, group)) + || !TEST_true(EC_KEY_set_private_key(key, priv))) + goto done; + + pt = EC_POINT_new(group); + if (!TEST_ptr(pt) + || !TEST_true(EC_POINT_mul(group, pt, priv, NULL, NULL, NULL)) + || !TEST_true(EC_KEY_set_public_key(key, pt)) + || !TEST_true(sm2_ciphertext_size(key, digest, msg_len, &ctext_len))) + goto done; + + ctext = OPENSSL_zalloc(ctext_len); + if (!TEST_ptr(ctext)) + goto done; + + start_fake_rand(k_hex); + if (!TEST_true(sm2_encrypt(key, digest, (const uint8_t *)message, msg_len, + ctext, &ctext_len)) + || !TEST_size_t_eq(fake_rand_bytes_offset, fake_rand_size)) { + restore_rand(); + goto done; + } + restore_rand(); + + if (!TEST_mem_eq(ctext, ctext_len, expected, ctext_len)) + goto done; + + if (!TEST_true(sm2_plaintext_size(key, digest, ctext_len, &ptext_len)) + || !TEST_int_eq(ptext_len, msg_len)) + goto done; + + recovered = OPENSSL_zalloc(ptext_len); + if (!TEST_ptr(recovered) + || !TEST_true(sm2_decrypt(key, digest, ctext, ctext_len, recovered, &recovered_len)) + || !TEST_int_eq(recovered_len, msg_len) + || !TEST_mem_eq(recovered, recovered_len, message, msg_len)) + goto done; + + rc = 1; + done: + BN_free(priv); + EC_POINT_free(pt); + OPENSSL_free(ctext); + OPENSSL_free(recovered); + OPENSSL_free(expected); + EC_KEY_free(key); + return rc; +} + +static int sm2_crypt_test(void) +{ + int testresult = 0; + EC_GROUP *test_group = + create_EC_group + ("8542D69E4C044F18E8B92435BF6FF7DE457283915C45517D722EDB8B08F1DFC3", + "787968B4FA32C3FD2417842E73BBFEFF2F3C848B6831D7E0EC65228B3937E498", + "63E4C6D3B23B0C849CF84241484BFE48F61D59A5B16BA06E6E12D1DA27C5249A", + "421DEBD61B62EAB6746434EBC3CC315E32220B3BADD50BDC4C4E6C147FEDD43D", + "0680512BCBB42C07D47349D2153B70C4E5D7FDFCBFA36EA1A85841B9E46E09A2", + "8542D69E4C044F18E8B92435BF6FF7DD297720630485628D5AE74EE7C32E79B7", + "1"); + + if (!TEST_ptr(test_group)) + goto done; + + if (!test_sm2_crypt( + test_group, + EVP_sm3(), + "1649AB77A00637BD5E2EFE283FBF353534AA7F7CB89463F208DDBC2920BB0DA0", + "encryption standard", + "004C62EEFD6ECFC2B95B92FD6C3D9575148AFA17425546D49018E5388D49DD7B4F" + "0092e8ff62146873c258557548500ab2df2a365e0609ab67640a1f6d57d7b17820" + "008349312695a3e1d2f46905f39a766487f2432e95d6be0cb009fe8c69fd8825a7", + "307B0220245C26FB68B1DDDDB12C4B6BF9F2B6D5FE60A383B0D18D1C4144ABF1" + "7F6252E7022076CB9264C2A7E88E52B19903FDC47378F605E36811F5C07423A2" + "4B84400F01B804209C3D7360C30156FAB7C80A0276712DA9D8094A634B766D3A" + "285E07480653426D0413650053A89B41C418B0C3AAD00D886C00286467")) + goto done; + + /* Same test as above except using SHA-256 instead of SM3 */ + if (!test_sm2_crypt( + test_group, + EVP_sha256(), + "1649AB77A00637BD5E2EFE283FBF353534AA7F7CB89463F208DDBC2920BB0DA0", + "encryption standard", + "004C62EEFD6ECFC2B95B92FD6C3D9575148AFA17425546D49018E5388D49DD7B4F" + "003da18008784352192d70f22c26c243174a447ba272fec64163dd4742bae8bc98" + "00df17605cf304e9dd1dfeb90c015e93b393a6f046792f790a6fa4228af67d9588", + "307B0220245C26FB68B1DDDDB12C4B6BF9F2B6D5FE60A383B0D18D1C4144ABF17F" + "6252E7022076CB9264C2A7E88E52B19903FDC47378F605E36811F5C07423A24B84" + "400F01B80420BE89139D07853100EFA763F60CBE30099EA3DF7F8F364F9D10A5E9" + "88E3C5AAFC0413229E6C9AEE2BB92CAD649FE2C035689785DA33")) + goto done; + + testresult = 1; + done: + EC_GROUP_free(test_group); + + return testresult; +} + +static int test_sm2_sign(const EC_GROUP *group, + const char *userid, + const char *privkey_hex, + const char *message, + const char *k_hex, + const char *r_hex, + const char *s_hex) +{ + const size_t msg_len = strlen(message); + int ok = 0; + BIGNUM *priv = NULL; + EC_POINT *pt = NULL; + EC_KEY *key = NULL; + ECDSA_SIG *sig = NULL; + const BIGNUM *sig_r = NULL; + const BIGNUM *sig_s = NULL; + BIGNUM *r = NULL; + BIGNUM *s = NULL; + + if (!TEST_true(BN_hex2bn(&priv, privkey_hex))) + goto done; + + key = EC_KEY_new(); + if (!TEST_ptr(key) + || !TEST_true(EC_KEY_set_group(key, group)) + || !TEST_true(EC_KEY_set_private_key(key, priv))) + goto done; + + pt = EC_POINT_new(group); + if (!TEST_ptr(pt) + || !TEST_true(EC_POINT_mul(group, pt, priv, NULL, NULL, NULL)) + || !TEST_true(EC_KEY_set_public_key(key, pt))) + goto done; + + start_fake_rand(k_hex); + sig = sm2_do_sign(key, EVP_sm3(), (const uint8_t *)userid, strlen(userid), + (const uint8_t *)message, msg_len); + if (!TEST_ptr(sig) + || !TEST_size_t_eq(fake_rand_bytes_offset, fake_rand_size)) { + restore_rand(); + goto done; + } + restore_rand(); + + ECDSA_SIG_get0(sig, &sig_r, &sig_s); + + if (!TEST_true(BN_hex2bn(&r, r_hex)) + || !TEST_true(BN_hex2bn(&s, s_hex)) + || !TEST_BN_eq(r, sig_r) + || !TEST_BN_eq(s, sig_s)) + goto done; + + ok = sm2_do_verify(key, EVP_sm3(), sig, (const uint8_t *)userid, + strlen(userid), (const uint8_t *)message, msg_len); + + /* We goto done whether this passes or fails */ + TEST_true(ok); + + done: + ECDSA_SIG_free(sig); + EC_POINT_free(pt); + EC_KEY_free(key); + BN_free(priv); + BN_free(r); + BN_free(s); + + return ok; +} + +static int sm2_sig_test(void) +{ + int testresult = 0; + /* From draft-shen-sm2-ecdsa-02 */ + EC_GROUP *test_group = + create_EC_group + ("8542D69E4C044F18E8B92435BF6FF7DE457283915C45517D722EDB8B08F1DFC3", + "787968B4FA32C3FD2417842E73BBFEFF2F3C848B6831D7E0EC65228B3937E498", + "63E4C6D3B23B0C849CF84241484BFE48F61D59A5B16BA06E6E12D1DA27C5249A", + "421DEBD61B62EAB6746434EBC3CC315E32220B3BADD50BDC4C4E6C147FEDD43D", + "0680512BCBB42C07D47349D2153B70C4E5D7FDFCBFA36EA1A85841B9E46E09A2", + "8542D69E4C044F18E8B92435BF6FF7DD297720630485628D5AE74EE7C32E79B7", + "1"); + + if (!TEST_ptr(test_group)) + goto done; + + if (!TEST_true(test_sm2_sign( + test_group, + "ALICE123@YAHOO.COM", + "128B2FA8BD433C6C068C8D803DFF79792A519A55171B1B650C23661D15897263", + "message digest", + "006CB28D99385C175C94F94E934817663FC176D925DD72B727260DBAAE1FB2F96F" + "007c47811054c6f99613a578eb8453706ccb96384fe7df5c171671e760bfa8be3a", + "40F1EC59F793D9F49E09DCEF49130D4194F79FB1EED2CAA55BACDB49C4E755D1", + "6FC6DAC32C5D5CF10C77DFB20F7C2EB667A457872FB09EC56327A67EC7DEEBE7"))) + goto done; + + testresult = 1; + + done: + EC_GROUP_free(test_group); + + return testresult; +} + +#endif + +int setup_tests(void) +{ +#ifdef OPENSSL_NO_SM2 + TEST_note("SM2 is disabled."); +#else + ADD_TEST(sm2_crypt_test); + ADD_TEST(sm2_sig_test); +#endif + return 1; +} diff --git a/deps/openssl/openssl/test/sm4_internal_test.c b/deps/openssl/openssl/test/sm4_internal_test.c new file mode 100644 index 00000000000000..ce61b564284cc2 --- /dev/null +++ b/deps/openssl/openssl/test/sm4_internal_test.c @@ -0,0 +1,86 @@ +/* + * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017 Ribose Inc. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * Internal tests for the SM4 module. + */ + +#include +#include +#include "testutil.h" + +#ifndef OPENSSL_NO_SM4 +# include "crypto/sm4.h" + +static int test_sm4_ecb(void) +{ + static const uint8_t k[SM4_BLOCK_SIZE] = { + 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, + 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10 + }; + + static const uint8_t input[SM4_BLOCK_SIZE] = { + 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, + 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10 + }; + + /* + * This test vector comes from Example 1 of GB/T 32907-2016, + * and described in Internet Draft draft-ribose-cfrg-sm4-02. + */ + static const uint8_t expected[SM4_BLOCK_SIZE] = { + 0x68, 0x1e, 0xdf, 0x34, 0xd2, 0x06, 0x96, 0x5e, + 0x86, 0xb3, 0xe9, 0x4f, 0x53, 0x6e, 0x42, 0x46 + }; + + /* + * This test vector comes from Example 2 from GB/T 32907-2016, + * and described in Internet Draft draft-ribose-cfrg-sm4-02. + * After 1,000,000 iterations. + */ + static const uint8_t expected_iter[SM4_BLOCK_SIZE] = { + 0x59, 0x52, 0x98, 0xc7, 0xc6, 0xfd, 0x27, 0x1f, + 0x04, 0x02, 0xf8, 0x04, 0xc3, 0x3d, 0x3f, 0x66 + }; + + int i; + SM4_KEY key; + uint8_t block[SM4_BLOCK_SIZE]; + + SM4_set_key(k, &key); + memcpy(block, input, SM4_BLOCK_SIZE); + + SM4_encrypt(block, block, &key); + if (!TEST_mem_eq(block, SM4_BLOCK_SIZE, expected, SM4_BLOCK_SIZE)) + return 0; + + for (i = 0; i != 999999; ++i) + SM4_encrypt(block, block, &key); + + if (!TEST_mem_eq(block, SM4_BLOCK_SIZE, expected_iter, SM4_BLOCK_SIZE)) + return 0; + + for (i = 0; i != 1000000; ++i) + SM4_decrypt(block, block, &key); + + if (!TEST_mem_eq(block, SM4_BLOCK_SIZE, input, SM4_BLOCK_SIZE)) + return 0; + + return 1; +} +#endif + +int setup_tests(void) +{ +#ifndef OPENSSL_NO_SM4 + ADD_TEST(test_sm4_ecb); +#endif + return 1; +} diff --git a/deps/openssl/openssl/test/ssl-tests/20-cert-select.conf b/deps/openssl/openssl/test/ssl-tests/20-cert-select.conf index 93f3a1ff689a13..757b973e577b80 100644 --- a/deps/openssl/openssl/test/ssl-tests/20-cert-select.conf +++ b/deps/openssl/openssl/test/ssl-tests/20-cert-select.conf @@ -216,9 +216,9 @@ PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem [4-Ed448 CipherString and Signature Algorithm Selection-client] CipherString = aECDSA MaxProtocol = TLSv1.2 -RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem +RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem SignatureAlgorithms = ed448:ECDSA+SHA256 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem VerifyMode = Peer [test-4] @@ -421,7 +421,7 @@ CipherString = aECDSA Curves = X448 MaxProtocol = TLSv1.2 SignatureAlgorithms = ECDSA+SHA256:ed448 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem VerifyMode = Peer [test-10] @@ -1454,7 +1454,7 @@ PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem [44-TLS 1.3 Ed448 Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ed448 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem VerifyMode = Peer [test-44] diff --git a/deps/openssl/openssl/test/ssl-tests/20-cert-select.conf.in b/deps/openssl/openssl/test/ssl-tests/20-cert-select.conf.in index 5e9bfede5dba99..24093548cd6827 100644 --- a/deps/openssl/openssl/test/ssl-tests/20-cert-select.conf.in +++ b/deps/openssl/openssl/test/ssl-tests/20-cert-select.conf.in @@ -134,7 +134,8 @@ our @tests = ( "CipherString" => "aECDSA", "MaxProtocol" => "TLSv1.2", "SignatureAlgorithms" => "ed448:ECDSA+SHA256", - "RequestCAFile" => test_pem("root-cert.pem"), + "RequestCAFile" => test_pem("root-ed448-cert.pem"), + "VerifyCAFile" => test_pem("root-ed448-cert.pem"), }, test => { "ExpectedServerCertType" =>, "Ed448", @@ -231,6 +232,7 @@ our @tests = ( "CipherString" => "aECDSA", "MaxProtocol" => "TLSv1.2", "SignatureAlgorithms" => "ECDSA+SHA256:ed448", + "VerifyCAFile" => test_pem("root-ed448-cert.pem"), # Excluding P-256 from the supported curves list means server # certificate should be Ed25519 and not P-256 "Curves" => "X448" @@ -727,6 +729,7 @@ my @tests_tls_1_3 = ( server => $server_tls_1_3, client => { "SignatureAlgorithms" => "ed448", + "VerifyCAFile" => test_pem("root-ed448-cert.pem"), }, test => { "ExpectedServerCertType" => "Ed448", diff --git a/deps/openssl/openssl/test/ssl-tests/28-seclevel.conf b/deps/openssl/openssl/test/ssl-tests/28-seclevel.conf index f863f68b080115..99fa8109c36760 100644 --- a/deps/openssl/openssl/test/ssl-tests/28-seclevel.conf +++ b/deps/openssl/openssl/test/ssl-tests/28-seclevel.conf @@ -1,11 +1,13 @@ # Generated with generate_ssl_tests.pl -num_tests = 4 +num_tests = 6 test-0 = 0-SECLEVEL 3 with default key -test-1 = 1-SECLEVEL 3 with ED448 key -test-2 = 2-SECLEVEL 3 with P-384 key, X25519 ECDHE -test-3 = 3-SECLEVEL 3 with ED448 key, TLSv1.2 +test-1 = 1-SECLEVEL 4 with ED448 key +test-2 = 2-SECLEVEL 5 server with ED448 key +test-3 = 3-SECLEVEL 5 client with ED448 key +test-4 = 4-SECLEVEL 3 with P-384 key, X25519 ECDHE +test-5 = 5-SECLEVEL 3 with ED448 key, TLSv1.2 # =========================================================== [0-SECLEVEL 3 with default key] @@ -31,21 +33,21 @@ ExpectedResult = ServerFail # =========================================================== -[1-SECLEVEL 3 with ED448 key] -ssl_conf = 1-SECLEVEL 3 with ED448 key-ssl +[1-SECLEVEL 4 with ED448 key] +ssl_conf = 1-SECLEVEL 4 with ED448 key-ssl -[1-SECLEVEL 3 with ED448 key-ssl] -server = 1-SECLEVEL 3 with ED448 key-server -client = 1-SECLEVEL 3 with ED448 key-client +[1-SECLEVEL 4 with ED448 key-ssl] +server = 1-SECLEVEL 4 with ED448 key-server +client = 1-SECLEVEL 4 with ED448 key-client -[1-SECLEVEL 3 with ED448 key-server] +[1-SECLEVEL 4 with ED448 key-server] Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem -CipherString = DEFAULT:@SECLEVEL=3 +CipherString = DEFAULT:@SECLEVEL=4 PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem -[1-SECLEVEL 3 with ED448 key-client] -CipherString = DEFAULT -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +[1-SECLEVEL 4 with ED448 key-client] +CipherString = DEFAULT:@SECLEVEL=4 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem VerifyMode = Peer [test-1] @@ -54,49 +56,95 @@ ExpectedResult = Success # =========================================================== -[2-SECLEVEL 3 with P-384 key, X25519 ECDHE] -ssl_conf = 2-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl +[2-SECLEVEL 5 server with ED448 key] +ssl_conf = 2-SECLEVEL 5 server with ED448 key-ssl + +[2-SECLEVEL 5 server with ED448 key-ssl] +server = 2-SECLEVEL 5 server with ED448 key-server +client = 2-SECLEVEL 5 server with ED448 key-client + +[2-SECLEVEL 5 server with ED448 key-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +CipherString = DEFAULT:@SECLEVEL=5 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem + +[2-SECLEVEL 5 server with ED448 key-client] +CipherString = DEFAULT:@SECLEVEL=4 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem +VerifyMode = Peer + +[test-2] +ExpectedResult = ServerFail + + +# =========================================================== + +[3-SECLEVEL 5 client with ED448 key] +ssl_conf = 3-SECLEVEL 5 client with ED448 key-ssl -[2-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl] -server = 2-SECLEVEL 3 with P-384 key, X25519 ECDHE-server -client = 2-SECLEVEL 3 with P-384 key, X25519 ECDHE-client +[3-SECLEVEL 5 client with ED448 key-ssl] +server = 3-SECLEVEL 5 client with ED448 key-server +client = 3-SECLEVEL 5 client with ED448 key-client -[2-SECLEVEL 3 with P-384 key, X25519 ECDHE-server] +[3-SECLEVEL 5 client with ED448 key-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +CipherString = DEFAULT:@SECLEVEL=4 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem + +[3-SECLEVEL 5 client with ED448 key-client] +CipherString = DEFAULT:@SECLEVEL=5 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem +VerifyMode = Peer + +[test-3] +ExpectedResult = ServerFail + + +# =========================================================== + +[4-SECLEVEL 3 with P-384 key, X25519 ECDHE] +ssl_conf = 4-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl + +[4-SECLEVEL 3 with P-384 key, X25519 ECDHE-ssl] +server = 4-SECLEVEL 3 with P-384 key, X25519 ECDHE-server +client = 4-SECLEVEL 3 with P-384 key, X25519 ECDHE-client + +[4-SECLEVEL 3 with P-384 key, X25519 ECDHE-server] Certificate = ${ENV::TEST_CERTS_DIR}/p384-server-cert.pem CipherString = DEFAULT:@SECLEVEL=3 Groups = X25519 PrivateKey = ${ENV::TEST_CERTS_DIR}/p384-server-key.pem -[2-SECLEVEL 3 with P-384 key, X25519 ECDHE-client] +[4-SECLEVEL 3 with P-384 key, X25519 ECDHE-client] CipherString = ECDHE:@SECLEVEL=3 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem VerifyMode = Peer -[test-2] +[test-4] ExpectedResult = Success # =========================================================== -[3-SECLEVEL 3 with ED448 key, TLSv1.2] -ssl_conf = 3-SECLEVEL 3 with ED448 key, TLSv1.2-ssl +[5-SECLEVEL 3 with ED448 key, TLSv1.2] +ssl_conf = 5-SECLEVEL 3 with ED448 key, TLSv1.2-ssl -[3-SECLEVEL 3 with ED448 key, TLSv1.2-ssl] -server = 3-SECLEVEL 3 with ED448 key, TLSv1.2-server -client = 3-SECLEVEL 3 with ED448 key, TLSv1.2-client +[5-SECLEVEL 3 with ED448 key, TLSv1.2-ssl] +server = 5-SECLEVEL 3 with ED448 key, TLSv1.2-server +client = 5-SECLEVEL 3 with ED448 key, TLSv1.2-client -[3-SECLEVEL 3 with ED448 key, TLSv1.2-server] +[5-SECLEVEL 3 with ED448 key, TLSv1.2-server] Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem CipherString = DEFAULT:@SECLEVEL=3 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem -[3-SECLEVEL 3 with ED448 key, TLSv1.2-client] +[5-SECLEVEL 3 with ED448 key, TLSv1.2-client] CipherString = DEFAULT -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem VerifyMode = Peer -[test-3] +[test-5] ExpectedResult = Success diff --git a/deps/openssl/openssl/test/ssl-tests/28-seclevel.conf.in b/deps/openssl/openssl/test/ssl-tests/28-seclevel.conf.in index 12b9021199c00f..2c12de792d665b 100644 --- a/deps/openssl/openssl/test/ssl-tests/28-seclevel.conf.in +++ b/deps/openssl/openssl/test/ssl-tests/28-seclevel.conf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -23,13 +23,38 @@ our @tests = ( our @tests_ec = ( { - name => "SECLEVEL 3 with ED448 key", - server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", + name => "SECLEVEL 4 with ED448 key", + server => { "CipherString" => "DEFAULT:\@SECLEVEL=4", "Certificate" => test_pem("server-ed448-cert.pem"), "PrivateKey" => test_pem("server-ed448-key.pem") }, - client => { }, + client => { "CipherString" => "DEFAULT:\@SECLEVEL=4", + "VerifyCAFile" => test_pem("root-ed448-cert.pem") }, test => { "ExpectedResult" => "Success" }, }, + { + # The Ed488 signature algorithm will not be enabled. + # Because of the config order, the certificate is first loaded, and + # then the security level is chaged. If you try this with s_server + # the order will be reversed and it will instead fail to load the key. + name => "SECLEVEL 5 server with ED448 key", + server => { "CipherString" => "DEFAULT:\@SECLEVEL=5", + "Certificate" => test_pem("server-ed448-cert.pem"), + "PrivateKey" => test_pem("server-ed448-key.pem") }, + client => { "CipherString" => "DEFAULT:\@SECLEVEL=4", + "VerifyCAFile" => test_pem("root-ed448-cert.pem") }, + test => { "ExpectedResult" => "ServerFail" }, + }, + { + # The client will not sent the Ed488 signature algorithm, so the server + # doesn't have a useable signature algorithm for the certificate. + name => "SECLEVEL 5 client with ED448 key", + server => { "CipherString" => "DEFAULT:\@SECLEVEL=4", + "Certificate" => test_pem("server-ed448-cert.pem"), + "PrivateKey" => test_pem("server-ed448-key.pem") }, + client => { "CipherString" => "DEFAULT:\@SECLEVEL=5", + "VerifyCAFile" => test_pem("root-ed448-cert.pem") }, + test => { "ExpectedResult" => "ServerFail" }, + }, { name => "SECLEVEL 3 with P-384 key, X25519 ECDHE", server => { "CipherString" => "DEFAULT:\@SECLEVEL=3", @@ -49,7 +74,7 @@ our @tests_tls1_2 = ( "Certificate" => test_pem("server-ed448-cert.pem"), "PrivateKey" => test_pem("server-ed448-key.pem"), "MaxProtocol" => "TLSv1.2" }, - client => { }, + client => { "VerifyCAFile" => test_pem("root-ed448-cert.pem") }, test => { "ExpectedResult" => "Success" }, }, ); diff --git a/deps/openssl/openssl/test/ssl_cert_table_internal_test.c b/deps/openssl/openssl/test/ssl_cert_table_internal_test.c new file mode 100644 index 00000000000000..cb1e076bced0d4 --- /dev/null +++ b/deps/openssl/openssl/test/ssl_cert_table_internal_test.c @@ -0,0 +1,83 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* Internal tests for the x509 and x509v3 modules */ + +#include +#include + +#include +#include "testutil.h" +#include "internal/nelem.h" + +#ifdef __VMS +# pragma names save +# pragma names as_is,shortened +#endif + +#include "../ssl/ssl_local.h" +#include "../ssl/ssl_cert_table.h" + +#ifdef __VMS +# pragma names restore +#endif + +#define test_cert_table(nid, amask, idx) \ + do_test_cert_table(nid, amask, idx, #idx) + +static int do_test_cert_table(int nid, uint32_t amask, size_t idx, + const char *idxname) +{ + const SSL_CERT_LOOKUP *clu = &ssl_cert_info[idx]; + + if (clu->nid == nid && clu->amask == amask) + return 1; + + TEST_error("Invalid table entry for certificate type %s, index %zu", + idxname, idx); + if (clu->nid != nid) + TEST_note("Expected %s, got %s\n", OBJ_nid2sn(nid), + OBJ_nid2sn(clu->nid)); + if (clu->amask != amask) + TEST_note("Expected auth mask 0x%x, got 0x%x\n", amask, clu->amask); + return 0; +} + +/* Sanity check of ssl_cert_table */ + +static int test_ssl_cert_table(void) +{ + TEST_size_t_eq(OSSL_NELEM(ssl_cert_info), SSL_PKEY_NUM); + if (!test_cert_table(EVP_PKEY_RSA, SSL_aRSA, SSL_PKEY_RSA)) + return 0; + if (!test_cert_table(EVP_PKEY_DSA, SSL_aDSS, SSL_PKEY_DSA_SIGN)) + return 0; + if (!test_cert_table(EVP_PKEY_EC, SSL_aECDSA, SSL_PKEY_ECC)) + return 0; + if (!test_cert_table(NID_id_GostR3410_2001, SSL_aGOST01, SSL_PKEY_GOST01)) + return 0; + if (!test_cert_table(NID_id_GostR3410_2012_256, SSL_aGOST12, + SSL_PKEY_GOST12_256)) + return 0; + if (!test_cert_table(NID_id_GostR3410_2012_512, SSL_aGOST12, + SSL_PKEY_GOST12_512)) + return 0; + if (!test_cert_table(EVP_PKEY_ED25519, SSL_aECDSA, SSL_PKEY_ED25519)) + return 0; + if (!test_cert_table(EVP_PKEY_ED448, SSL_aECDSA, SSL_PKEY_ED448)) + return 0; + + return 1; +} + +int setup_tests(void) +{ + ADD_TEST(test_ssl_cert_table); + return 1; +} diff --git a/deps/openssl/openssl/test/ssl_ctx_test.c b/deps/openssl/openssl/test/ssl_ctx_test.c new file mode 100644 index 00000000000000..87d476d9ecbe4e --- /dev/null +++ b/deps/openssl/openssl/test/ssl_ctx_test.c @@ -0,0 +1,76 @@ +/* + * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "testutil.h" +#include + +typedef struct { + int min_version; + int max_version; + int min_ok; + int max_ok; + int expected_min; + int expected_max; +} version_test; + +static const version_test version_testdata[] = { + /* min max ok expected min expected max */ + {0, 0, 1, 1, 0, 0}, + {TLS1_VERSION, TLS1_2_VERSION, 1, 1, TLS1_VERSION, TLS1_2_VERSION}, + {TLS1_2_VERSION, TLS1_2_VERSION, 1, 1, TLS1_2_VERSION, TLS1_2_VERSION}, + {TLS1_2_VERSION, TLS1_1_VERSION, 1, 0, TLS1_2_VERSION, 0}, + {7, 42, 0, 0, 0, 0}, +}; + +static int test_set_min_max_version(int idx_tst) +{ + SSL_CTX *ctx = NULL; + SSL *ssl = NULL; + int testresult = 0; + version_test t = version_testdata[idx_tst]; + + ctx = SSL_CTX_new(TLS_server_method()); + if (ctx == NULL) + goto end; + + ssl = SSL_new(ctx); + if (ssl == NULL) + goto end; + + if (!TEST_int_eq(SSL_CTX_set_min_proto_version(ctx, t.min_version), t.min_ok)) + goto end; + if (!TEST_int_eq(SSL_CTX_set_max_proto_version(ctx, t.max_version), t.max_ok)) + goto end; + if (!TEST_int_eq(SSL_CTX_get_min_proto_version(ctx), t.expected_min)) + goto end; + if (!TEST_int_eq(SSL_CTX_get_max_proto_version(ctx), t.expected_max)) + goto end; + + if (!TEST_int_eq(SSL_set_min_proto_version(ssl, t.min_version), t.min_ok)) + goto end; + if (!TEST_int_eq(SSL_set_max_proto_version(ssl, t.max_version), t.max_ok)) + goto end; + if (!TEST_int_eq(SSL_get_min_proto_version(ssl), t.expected_min)) + goto end; + if (!TEST_int_eq(SSL_get_max_proto_version(ssl), t.expected_max)) + goto end; + + testresult = 1; + + end: + SSL_free(ssl); + SSL_CTX_free(ctx); + return testresult; +} + +int setup_tests(void) +{ + ADD_ALL_TESTS(test_set_min_max_version, sizeof(version_testdata) / sizeof(version_test)); + return 1; +} diff --git a/deps/openssl/openssl/test/ssl_test_ctx.h b/deps/openssl/openssl/test/ssl_test_ctx.h index 36d73f752c3e4e..7e670c946806bd 100644 --- a/deps/openssl/openssl/test/ssl_test_ctx.h +++ b/deps/openssl/openssl/test/ssl_test_ctx.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_SSL_TEST_CTX_H -#define HEADER_SSL_TEST_CTX_H +#ifndef OSSL_TEST_SSL_TEST_CTX_H +#define OSSL_TEST_SSL_TEST_CTX_H #include #include @@ -250,4 +250,4 @@ SSL_TEST_CTX *SSL_TEST_CTX_new(void); void SSL_TEST_CTX_free(SSL_TEST_CTX *ctx); -#endif /* HEADER_SSL_TEST_CTX_H */ +#endif /* OSSL_TEST_SSL_TEST_CTX_H */ diff --git a/deps/openssl/openssl/test/sslapitest.c b/deps/openssl/openssl/test/sslapitest.c index 7a142268fa764a..5c118108efeef5 100644 --- a/deps/openssl/openssl/test/sslapitest.c +++ b/deps/openssl/openssl/test/sslapitest.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,7 +22,7 @@ #include "testutil.h" #include "testutil/output.h" #include "internal/nelem.h" -#include "../ssl/ssl_locl.h" +#include "../ssl/ssl_local.h" #ifndef OPENSSL_NO_TLS1_3 @@ -98,6 +98,17 @@ static unsigned char serverinfov2[] = { 0xff /* Dummy extension data */ }; +static int hostname_cb(SSL *s, int *al, void *arg) +{ + const char *hostname = SSL_get_servername(s, TLSEXT_NAMETYPE_host_name); + + if (hostname != NULL && (strcmp(hostname, "goodhost") == 0 + || strcmp(hostname, "altgoodhost") == 0)) + return SSL_TLSEXT_ERR_OK; + + return SSL_TLSEXT_ERR_NOACK; +} + static void client_keylog_callback(const SSL *ssl, const char *line) { int line_length = strlen(line); @@ -581,6 +592,117 @@ static int test_client_hello_cb(void) } #endif +/* + * Very focused test to exercise a single case in the server-side state + * machine, when the ChangeCipherState message needs to actually change + * from one cipher to a different cipher (i.e., not changing from null + * encryption to real encryption). + */ +static int test_ccs_change_cipher(void) +{ + SSL_CTX *cctx = NULL, *sctx = NULL; + SSL *clientssl = NULL, *serverssl = NULL; + SSL_SESSION *sess = NULL, *sesspre, *sesspost; + int testresult = 0; + int i; + unsigned char buf; + size_t readbytes; + + /* + * Create a conection so we can resume and potentially (but not) use + * a different cipher in the second connection. + */ + if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + TLS_client_method(), + TLS1_VERSION, TLS1_2_VERSION, + &sctx, &cctx, cert, privkey)) + || !TEST_true(SSL_CTX_set_options(sctx, SSL_OP_NO_TICKET)) + || !TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, + NULL, NULL)) + || !TEST_true(SSL_set_cipher_list(clientssl, "AES128-GCM-SHA256")) + || !TEST_true(create_ssl_connection(serverssl, clientssl, + SSL_ERROR_NONE)) + || !TEST_ptr(sesspre = SSL_get0_session(serverssl)) + || !TEST_ptr(sess = SSL_get1_session(clientssl))) + goto end; + + shutdown_ssl_connection(serverssl, clientssl); + serverssl = clientssl = NULL; + + /* Resume, preferring a different cipher. Our server will force the + * same cipher to be used as the initial handshake. */ + if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, + NULL, NULL)) + || !TEST_true(SSL_set_session(clientssl, sess)) + || !TEST_true(SSL_set_cipher_list(clientssl, "AES256-GCM-SHA384:AES128-GCM-SHA256")) + || !TEST_true(create_ssl_connection(serverssl, clientssl, + SSL_ERROR_NONE)) + || !TEST_true(SSL_session_reused(clientssl)) + || !TEST_true(SSL_session_reused(serverssl)) + || !TEST_ptr(sesspost = SSL_get0_session(serverssl)) + || !TEST_ptr_eq(sesspre, sesspost) + || !TEST_int_eq(TLS1_CK_RSA_WITH_AES_128_GCM_SHA256, + SSL_CIPHER_get_id(SSL_get_current_cipher(clientssl)))) + goto end; + shutdown_ssl_connection(serverssl, clientssl); + serverssl = clientssl = NULL; + + /* + * Now create a fresh connection and try to renegotiate a different + * cipher on it. + */ + if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, + NULL, NULL)) + || !TEST_true(SSL_set_cipher_list(clientssl, "AES128-GCM-SHA256")) + || !TEST_true(create_ssl_connection(serverssl, clientssl, + SSL_ERROR_NONE)) + || !TEST_ptr(sesspre = SSL_get0_session(serverssl)) + || !TEST_true(SSL_set_cipher_list(clientssl, "AES256-GCM-SHA384")) + || !TEST_true(SSL_renegotiate(clientssl)) + || !TEST_true(SSL_renegotiate_pending(clientssl))) + goto end; + /* Actually drive the renegotiation. */ + for (i = 0; i < 3; i++) { + if (SSL_read_ex(clientssl, &buf, sizeof(buf), &readbytes) > 0) { + if (!TEST_ulong_eq(readbytes, 0)) + goto end; + } else if (!TEST_int_eq(SSL_get_error(clientssl, 0), + SSL_ERROR_WANT_READ)) { + goto end; + } + if (SSL_read_ex(serverssl, &buf, sizeof(buf), &readbytes) > 0) { + if (!TEST_ulong_eq(readbytes, 0)) + goto end; + } else if (!TEST_int_eq(SSL_get_error(serverssl, 0), + SSL_ERROR_WANT_READ)) { + goto end; + } + } + /* sesspre and sesspost should be different since the cipher changed. */ + if (!TEST_false(SSL_renegotiate_pending(clientssl)) + || !TEST_false(SSL_session_reused(clientssl)) + || !TEST_false(SSL_session_reused(serverssl)) + || !TEST_ptr(sesspost = SSL_get0_session(serverssl)) + || !TEST_ptr_ne(sesspre, sesspost) + || !TEST_int_eq(TLS1_CK_RSA_WITH_AES_256_GCM_SHA384, + SSL_CIPHER_get_id(SSL_get_current_cipher(clientssl)))) + goto end; + + shutdown_ssl_connection(serverssl, clientssl); + serverssl = clientssl = NULL; + + testresult = 1; + +end: + SSL_free(serverssl); + SSL_free(clientssl); + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + SSL_SESSION_free(sess); + + return testresult; +} + static int execute_test_large_message(const SSL_METHOD *smeth, const SSL_METHOD *cmeth, int min_version, int max_version, @@ -2737,16 +2859,6 @@ static int test_early_data_not_sent(int idx) return testresult; } -static int hostname_cb(SSL *s, int *al, void *arg) -{ - const char *hostname = SSL_get_servername(s, TLSEXT_NAMETYPE_host_name); - - if (hostname != NULL && strcmp(hostname, "goodhost") == 0) - return SSL_TLSEXT_ERR_OK; - - return SSL_TLSEXT_ERR_NOACK; -} - static const char *servalpn; static int alpn_select_cb(SSL *ssl, const unsigned char **out, @@ -2839,16 +2951,16 @@ static int test_early_data_psk(int idx) case 3: /* - * Set inconsistent SNI (server detected). In this case the connection - * will succeed but reject early_data. + * Set inconsistent SNI (server side). In this case the connection + * will succeed and accept early_data. In TLSv1.3 on the server side SNI + * is associated with each handshake - not the session. Therefore it + * should not matter that we used a different server name last time. */ SSL_SESSION_free(serverpsk); serverpsk = SSL_SESSION_dup(clientpsk); if (!TEST_ptr(serverpsk) || !TEST_true(SSL_SESSION_set1_hostname(serverpsk, "badhost"))) goto end; - edstatus = SSL_EARLY_DATA_REJECTED; - readearlyres = SSL_READ_EARLY_DATA_FINISH; /* Fall through */ case 4: /* Set consistent SNI */ @@ -6205,6 +6317,160 @@ static int test_ca_names(int tst) return testresult; } +/* + * Test 0: Client sets servername and server acknowledges it (TLSv1.2) + * Test 1: Client sets servername and server does not acknowledge it (TLSv1.2) + * Test 2: Client sets inconsistent servername on resumption (TLSv1.2) + * Test 3: Client does not set servername on initial handshake (TLSv1.2) + * Test 4: Client does not set servername on resumption handshake (TLSv1.2) + * Test 5: Client sets servername and server acknowledges it (TLSv1.3) + * Test 6: Client sets servername and server does not acknowledge it (TLSv1.3) + * Test 7: Client sets inconsistent servername on resumption (TLSv1.3) + * Test 8: Client does not set servername on initial handshake(TLSv1.3) + * Test 9: Client does not set servername on resumption handshake (TLSv1.3) + */ +static int test_servername(int tst) +{ + SSL_CTX *cctx = NULL, *sctx = NULL; + SSL *clientssl = NULL, *serverssl = NULL; + int testresult = 0; + SSL_SESSION *sess = NULL; + const char *sexpectedhost = NULL, *cexpectedhost = NULL; + +#ifdef OPENSSL_NO_TLS1_2 + if (tst <= 4) + return 1; +#endif +#ifdef OPENSSL_NO_TLS1_3 + if (tst >= 5) + return 1; +#endif + + if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + TLS_client_method(), + TLS1_VERSION, + (tst <= 4) ? TLS1_2_VERSION + : TLS1_3_VERSION, + &sctx, &cctx, cert, privkey)) + || !TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, + NULL, NULL))) + goto end; + + if (tst != 1 && tst != 6) { + if (!TEST_true(SSL_CTX_set_tlsext_servername_callback(sctx, + hostname_cb))) + goto end; + } + + if (tst != 3 && tst != 8) { + if (!TEST_true(SSL_set_tlsext_host_name(clientssl, "goodhost"))) + goto end; + sexpectedhost = cexpectedhost = "goodhost"; + } + + if (!TEST_true(create_ssl_connection(serverssl, clientssl, SSL_ERROR_NONE))) + goto end; + + if (!TEST_str_eq(SSL_get_servername(clientssl, TLSEXT_NAMETYPE_host_name), + cexpectedhost) + || !TEST_str_eq(SSL_get_servername(serverssl, + TLSEXT_NAMETYPE_host_name), + sexpectedhost)) + goto end; + + /* Now repeat with a resumption handshake */ + + if (!TEST_int_eq(SSL_shutdown(clientssl), 0) + || !TEST_ptr_ne(sess = SSL_get1_session(clientssl), NULL) + || !TEST_true(SSL_SESSION_is_resumable(sess)) + || !TEST_int_eq(SSL_shutdown(serverssl), 0)) + goto end; + + SSL_free(clientssl); + SSL_free(serverssl); + clientssl = serverssl = NULL; + + if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, NULL, + NULL))) + goto end; + + if (!TEST_true(SSL_set_session(clientssl, sess))) + goto end; + + sexpectedhost = cexpectedhost = "goodhost"; + if (tst == 2 || tst == 7) { + /* Set an inconsistent hostname */ + if (!TEST_true(SSL_set_tlsext_host_name(clientssl, "altgoodhost"))) + goto end; + /* + * In TLSv1.2 we expect the hostname from the original handshake, in + * TLSv1.3 we expect the hostname from this handshake + */ + if (tst == 7) + sexpectedhost = cexpectedhost = "altgoodhost"; + + if (!TEST_str_eq(SSL_get_servername(clientssl, + TLSEXT_NAMETYPE_host_name), + "altgoodhost")) + goto end; + } else if (tst == 4 || tst == 9) { + /* + * A TLSv1.3 session does not associate a session with a servername, + * but a TLSv1.2 session does. + */ + if (tst == 9) + sexpectedhost = cexpectedhost = NULL; + + if (!TEST_str_eq(SSL_get_servername(clientssl, + TLSEXT_NAMETYPE_host_name), + cexpectedhost)) + goto end; + } else { + if (!TEST_true(SSL_set_tlsext_host_name(clientssl, "goodhost"))) + goto end; + /* + * In a TLSv1.2 resumption where the hostname was not acknowledged + * we expect the hostname on the server to be empty. On the client we + * return what was requested in this case. + * + * Similarly if the client didn't set a hostname on an original TLSv1.2 + * session but is now, the server hostname will be empty, but the client + * is as we set it. + */ + if (tst == 1 || tst == 3) + sexpectedhost = NULL; + + if (!TEST_str_eq(SSL_get_servername(clientssl, + TLSEXT_NAMETYPE_host_name), + "goodhost")) + goto end; + } + + if (!TEST_true(create_ssl_connection(serverssl, clientssl, SSL_ERROR_NONE))) + goto end; + + if (!TEST_true(SSL_session_reused(clientssl)) + || !TEST_true(SSL_session_reused(serverssl)) + || !TEST_str_eq(SSL_get_servername(clientssl, + TLSEXT_NAMETYPE_host_name), + cexpectedhost) + || !TEST_str_eq(SSL_get_servername(serverssl, + TLSEXT_NAMETYPE_host_name), + sexpectedhost)) + goto end; + + testresult = 1; + + end: + SSL_SESSION_free(sess); + SSL_free(serverssl); + SSL_free(clientssl); + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + + return testresult; +} + int setup_tests(void) { if (!TEST_ptr(certsdir = test_get_argument(0)) @@ -6268,6 +6534,7 @@ int setup_tests(void) #endif #ifndef OPENSSL_NO_TLS1_2 ADD_TEST(test_client_hello_cb); + ADD_TEST(test_ccs_change_cipher); #endif #ifndef OPENSSL_NO_TLS1_3 ADD_ALL_TESTS(test_early_data_read_write, 3); @@ -6322,6 +6589,7 @@ int setup_tests(void) ADD_ALL_TESTS(test_cert_cb, 6); ADD_ALL_TESTS(test_client_cert_cb, 2); ADD_ALL_TESTS(test_ca_names, 3); + ADD_ALL_TESTS(test_servername, 10); return 1; } diff --git a/deps/openssl/openssl/test/sslbuffertest.c b/deps/openssl/openssl/test/sslbuffertest.c new file mode 100644 index 00000000000000..b5f815f7dbc926 --- /dev/null +++ b/deps/openssl/openssl/test/sslbuffertest.c @@ -0,0 +1,183 @@ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL licenses, (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.openssl.org/source/license.html + * or in the file LICENSE in the source distribution. + */ + +#include +#include +#include +#include + +#include "../ssl/packet_local.h" + +#include "ssltestlib.h" +#include "testutil.h" + +struct async_ctrs { + unsigned int rctr; + unsigned int wctr; +}; + +static SSL_CTX *serverctx = NULL; +static SSL_CTX *clientctx = NULL; + +#define MAX_ATTEMPTS 100 + + +/* + * There are 9 passes in the tests + * 0 = control test + * tests during writes + * 1 = free buffers + * 2 = + allocate buffers after free + * 3 = + allocate buffers again + * 4 = + free buffers after allocation + * tests during reads + * 5 = + free buffers + * 6 = + free buffers again + * 7 = + allocate buffers after free + * 8 = + free buffers after allocation + */ +static int test_func(int test) +{ + int result = 0; + SSL *serverssl = NULL, *clientssl = NULL; + int ret; + size_t i, j; + const char testdata[] = "Test data"; + char buf[sizeof(testdata)]; + + if (!TEST_true(create_ssl_objects(serverctx, clientctx, &serverssl, &clientssl, + NULL, NULL))) { + TEST_error("Test %d failed: Create SSL objects failed\n", test); + goto end; + } + + if (!TEST_true(create_ssl_connection(serverssl, clientssl, SSL_ERROR_NONE))) { + TEST_error("Test %d failed: Create SSL connection failed\n", test); + goto end; + } + + /* + * Send and receive some test data. Do the whole thing twice to ensure + * we hit at least one async event in both reading and writing + */ + for (j = 0; j < 2; j++) { + int len; + + /* + + * Write some test data. It should never take more than 2 attempts + * (the first one might be a retryable fail). + */ + for (ret = -1, i = 0, len = 0; len != sizeof(testdata) && i < 2; + i++) { + /* test == 0 mean to free/allocate = control */ + if (test >= 1 && !TEST_true(SSL_free_buffers(clientssl))) + goto end; + if (test >= 2 && !TEST_true(SSL_alloc_buffers(clientssl))) + goto end; + /* allocate a second time */ + if (test >= 3 && !TEST_true(SSL_alloc_buffers(clientssl))) + goto end; + if (test >= 4 && !TEST_true(SSL_free_buffers(clientssl))) + goto end; + + ret = SSL_write(clientssl, testdata + len, + sizeof(testdata) - len); + if (ret > 0) { + len += ret; + } else { + int ssl_error = SSL_get_error(clientssl, ret); + + if (ssl_error == SSL_ERROR_SYSCALL || + ssl_error == SSL_ERROR_SSL) { + TEST_error("Test %d failed: Failed to write app data\n", test); + goto end; + } + } + } + if (!TEST_size_t_eq(len, sizeof(testdata))) + goto end; + /* + * Now read the test data. It may take more attempts here because + * it could fail once for each byte read, including all overhead + * bytes from the record header/padding etc. + */ + for (ret = -1, i = 0, len = 0; len != sizeof(testdata) && + i < MAX_ATTEMPTS; i++) + { + if (test >= 5 && !TEST_true(SSL_free_buffers(serverssl))) + goto end; + /* free a second time */ + if (test >= 6 && !TEST_true(SSL_free_buffers(serverssl))) + goto end; + if (test >= 7 && !TEST_true(SSL_alloc_buffers(serverssl))) + goto end; + if (test >= 8 && !TEST_true(SSL_free_buffers(serverssl))) + goto end; + + ret = SSL_read(serverssl, buf + len, sizeof(buf) - len); + if (ret > 0) { + len += ret; + } else { + int ssl_error = SSL_get_error(serverssl, ret); + + if (ssl_error == SSL_ERROR_SYSCALL || + ssl_error == SSL_ERROR_SSL) { + TEST_error("Test %d failed: Failed to read app data\n", test); + goto end; + } + } + } + if (!TEST_mem_eq(buf, len, testdata, sizeof(testdata))) + goto end; + } + + result = 1; + end: + if (!result) + ERR_print_errors_fp(stderr); + + SSL_free(clientssl); + SSL_free(serverssl); + + return result; +} + +int global_init(void) +{ + CRYPTO_set_mem_debug(1); + CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); + return 1; +} + +int setup_tests(void) +{ + char *cert, *pkey; + + if (!TEST_ptr(cert = test_get_argument(0)) + || !TEST_ptr(pkey = test_get_argument(1))) + return 0; + + if (!create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), + TLS1_VERSION, TLS_MAX_VERSION, + &serverctx, &clientctx, cert, pkey)) { + TEST_error("Failed to create SSL_CTX pair\n"); + return 0; + } + + ADD_ALL_TESTS(test_func, 9); + return 1; +} + +void cleanup_tests(void) +{ + SSL_CTX_free(clientctx); + SSL_CTX_free(serverctx); +} diff --git a/deps/openssl/openssl/test/ssltestlib.h b/deps/openssl/openssl/test/ssltestlib.h index 56e323f5bc34e5..17b278219a6e76 100644 --- a/deps/openssl/openssl/test/ssltestlib.h +++ b/deps/openssl/openssl/test/ssltestlib.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_SSLTESTLIB_H -# define HEADER_SSLTESTLIB_H +#ifndef OSSL_TEST_SSLTESTLIB_H +# define OSSL_TEST_SSLTESTLIB_H # include @@ -53,4 +53,4 @@ typedef struct mempacket_st MEMPACKET; DEFINE_STACK_OF(MEMPACKET) -#endif /* HEADER_SSLTESTLIB_H */ +#endif /* OSSL_TEST_SSLTESTLIB_H */ diff --git a/deps/openssl/openssl/test/stack_test.c b/deps/openssl/openssl/test/stack_test.c new file mode 100644 index 00000000000000..680f68d60e69b5 --- /dev/null +++ b/deps/openssl/openssl/test/stack_test.c @@ -0,0 +1,380 @@ +/* + * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include + +#include +#include +#include +#include + +#include "internal/nelem.h" +#include "testutil.h" + +/* The macros below generate unused functions which error out one of the clang + * builds. We disable this check here. + */ +#ifdef __clang__ +#pragma clang diagnostic ignored "-Wunused-function" +#endif + +typedef struct { + int n; + char c; +} SS; + +typedef union { + int n; + char c; +} SU; + +DEFINE_SPECIAL_STACK_OF(sint, int) +DEFINE_SPECIAL_STACK_OF_CONST(uchar, unsigned char) +DEFINE_STACK_OF(SS) +DEFINE_STACK_OF_CONST(SU) + +static int int_compare(const int *const *a, const int *const *b) +{ + if (**a < **b) + return -1; + if (**a > **b) + return 1; + return 0; +} + +static int test_int_stack(int reserve) +{ + static int v[] = { 1, 2, -4, 16, 999, 1, -173, 1, 9 }; + static int notpresent = -1; + const int n = OSSL_NELEM(v); + static struct { + int value; + int unsorted; + int sorted; + int ex; + } finds[] = { + { 2, 1, 5, 5 }, + { 9, 7, 6, 6 }, + { -173, 5, 0, 0 }, + { 999, 3, 8, 8 }, + { 0, -1, -1, 1 } + }; + const int n_finds = OSSL_NELEM(finds); + static struct { + int value; + int ex; + } exfinds[] = { + { 3, 5 }, + { 1000, 8 }, + { 20, 8 }, + { -999, 0 }, + { -5, 0 }, + { 8, 5 } + }; + const int n_exfinds = OSSL_NELEM(exfinds); + STACK_OF(sint) *s = sk_sint_new_null(); + int i; + int testresult = 0; + + if (!TEST_ptr(s) + || (reserve > 0 && !TEST_true(sk_sint_reserve(s, 5 * reserve)))) + goto end; + + /* Check push and num */ + for (i = 0; i < n; i++) { + if (!TEST_int_eq(sk_sint_num(s), i)) { + TEST_info("int stack size %d", i); + goto end; + } + sk_sint_push(s, v + i); + } + if (!TEST_int_eq(sk_sint_num(s), n)) + goto end; + + /* check the values */ + for (i = 0; i < n; i++) + if (!TEST_ptr_eq(sk_sint_value(s, i), v + i)) { + TEST_info("int value %d", i); + goto end; + } + + /* find unsorted -- the pointers are compared */ + for (i = 0; i < n_finds; i++) { + int *val = (finds[i].unsorted == -1) ? ¬present + : v + finds[i].unsorted; + + if (!TEST_int_eq(sk_sint_find(s, val), finds[i].unsorted)) { + TEST_info("int unsorted find %d", i); + goto end; + } + } + + /* find_ex unsorted */ + for (i = 0; i < n_finds; i++) { + int *val = (finds[i].unsorted == -1) ? ¬present + : v + finds[i].unsorted; + + if (!TEST_int_eq(sk_sint_find_ex(s, val), finds[i].unsorted)) { + TEST_info("int unsorted find_ex %d", i); + goto end; + } + } + + /* sorting */ + if (!TEST_false(sk_sint_is_sorted(s))) + goto end; + sk_sint_set_cmp_func(s, &int_compare); + sk_sint_sort(s); + if (!TEST_true(sk_sint_is_sorted(s))) + goto end; + + /* find sorted -- the value is matched so we don't need to locate it */ + for (i = 0; i < n_finds; i++) + if (!TEST_int_eq(sk_sint_find(s, &finds[i].value), finds[i].sorted)) { + TEST_info("int sorted find %d", i); + goto end; + } + + /* find_ex sorted */ + for (i = 0; i < n_finds; i++) + if (!TEST_int_eq(sk_sint_find_ex(s, &finds[i].value), finds[i].ex)) { + TEST_info("int sorted find_ex present %d", i); + goto end; + } + for (i = 0; i < n_exfinds; i++) + if (!TEST_int_eq(sk_sint_find_ex(s, &exfinds[i].value), exfinds[i].ex)){ + TEST_info("int sorted find_ex absent %d", i); + goto end; + } + + /* shift */ + if (!TEST_ptr_eq(sk_sint_shift(s), v + 6)) + goto end; + + testresult = 1; +end: + sk_sint_free(s); + return testresult; +} + +static int uchar_compare(const unsigned char *const *a, + const unsigned char *const *b) +{ + return **a - (signed int)**b; +} + +static int test_uchar_stack(int reserve) +{ + static const unsigned char v[] = { 1, 3, 7, 5, 255, 0 }; + const int n = OSSL_NELEM(v); + STACK_OF(uchar) *s = sk_uchar_new(&uchar_compare), *r = NULL; + int i; + int testresult = 0; + + if (!TEST_ptr(s) + || (reserve > 0 && !TEST_true(sk_uchar_reserve(s, 5 * reserve)))) + goto end; + + /* unshift and num */ + for (i = 0; i < n; i++) { + if (!TEST_int_eq(sk_uchar_num(s), i)) { + TEST_info("uchar stack size %d", i); + goto end; + } + sk_uchar_unshift(s, v + i); + } + if (!TEST_int_eq(sk_uchar_num(s), n)) + goto end; + + /* dup */ + r = sk_uchar_dup(s); + if (!TEST_int_eq(sk_uchar_num(r), n)) + goto end; + sk_uchar_sort(r); + + /* pop */ + for (i = 0; i < n; i++) + if (!TEST_ptr_eq(sk_uchar_pop(s), v + i)) { + TEST_info("uchar pop %d", i); + goto end; + } + + /* free -- we rely on the debug malloc to detect leakage here */ + sk_uchar_free(s); + s = NULL; + + /* dup again */ + if (!TEST_int_eq(sk_uchar_num(r), n)) + goto end; + + /* zero */ + sk_uchar_zero(r); + if (!TEST_int_eq(sk_uchar_num(r), 0)) + goto end; + + /* insert */ + sk_uchar_insert(r, v, 0); + sk_uchar_insert(r, v + 2, -1); + sk_uchar_insert(r, v + 1, 1); + for (i = 0; i < 3; i++) + if (!TEST_ptr_eq(sk_uchar_value(r, i), v + i)) { + TEST_info("uchar insert %d", i); + goto end; + } + + /* delete */ + if (!TEST_ptr_null(sk_uchar_delete(r, 12))) + goto end; + if (!TEST_ptr_eq(sk_uchar_delete(r, 1), v + 1)) + goto end; + + /* set */ + sk_uchar_set(r, 1, v + 1); + for (i = 0; i < 2; i++) + if (!TEST_ptr_eq(sk_uchar_value(r, i), v + i)) { + TEST_info("uchar set %d", i); + goto end; + } + + testresult = 1; +end: + sk_uchar_free(r); + sk_uchar_free(s); + return testresult; +} + +static SS *SS_copy(const SS *p) +{ + SS *q = OPENSSL_malloc(sizeof(*q)); + + if (q != NULL) + memcpy(q, p, sizeof(*q)); + return q; +} + +static void SS_free(SS *p) { + OPENSSL_free(p); +} + +static int test_SS_stack(void) +{ + STACK_OF(SS) *s = sk_SS_new_null(); + STACK_OF(SS) *r = NULL; + SS *v[10], *p; + const int n = OSSL_NELEM(v); + int i; + int testresult = 0; + + /* allocate and push */ + for (i = 0; i < n; i++) { + v[i] = OPENSSL_malloc(sizeof(*v[i])); + + if (!TEST_ptr(v[i])) + goto end; + v[i]->n = i; + v[i]->c = 'A' + i; + if (!TEST_int_eq(sk_SS_num(s), i)) { + TEST_info("SS stack size %d", i); + goto end; + } + sk_SS_push(s, v[i]); + } + if (!TEST_int_eq(sk_SS_num(s), n)) + goto end; + + /* deepcopy */ + r = sk_SS_deep_copy(s, &SS_copy, &SS_free); + if (!TEST_ptr(r)) + goto end; + for (i = 0; i < n; i++) { + p = sk_SS_value(r, i); + if (!TEST_ptr_ne(p, v[i])) { + TEST_info("SS deepcopy non-copy %d", i); + goto end; + } + if (!TEST_int_eq(p->n, v[i]->n)) { + TEST_info("test SS deepcopy int %d", i); + goto end; + } + if (!TEST_char_eq(p->c, v[i]->c)) { + TEST_info("SS deepcopy char %d", i); + goto end; + } + } + + /* pop_free - we rely on the malloc debug to catch the leak */ + sk_SS_pop_free(r, &SS_free); + r = NULL; + + /* delete_ptr */ + p = sk_SS_delete_ptr(s, v[3]); + if (!TEST_ptr(p)) + goto end; + SS_free(p); + if (!TEST_int_eq(sk_SS_num(s), n - 1)) + goto end; + for (i = 0; i < n-1; i++) + if (!TEST_ptr_eq(sk_SS_value(s, i), v[i<3 ? i : 1+i])) { + TEST_info("SS delete ptr item %d", i); + goto end; + } + + testresult = 1; +end: + sk_SS_pop_free(r, &SS_free); + sk_SS_pop_free(s, &SS_free); + return testresult; +} + +static int test_SU_stack(void) +{ + STACK_OF(SU) *s = sk_SU_new_null(); + SU v[10]; + const int n = OSSL_NELEM(v); + int i; + int testresult = 0; + + /* allocate and push */ + for (i = 0; i < n; i++) { + if ((i & 1) == 0) + v[i].n = i; + else + v[i].c = 'A' + i; + if (!TEST_int_eq(sk_SU_num(s), i)) { + TEST_info("SU stack size %d", i); + goto end; + } + sk_SU_push(s, v + i); + } + if (!TEST_int_eq(sk_SU_num(s), n)) + goto end; + + /* check the pointers are correct */ + for (i = 0; i < n; i++) + if (!TEST_ptr_eq(sk_SU_value(s, i), v + i)) { + TEST_info("SU pointer check %d", i); + goto end; + } + + testresult = 1; +end: + sk_SU_free(s); + return testresult; +} + +int setup_tests(void) +{ + ADD_ALL_TESTS(test_int_stack, 4); + ADD_ALL_TESTS(test_uchar_stack, 4); + ADD_TEST(test_SS_stack); + ADD_TEST(test_SU_stack); + return 1; +} diff --git a/deps/openssl/openssl/test/sysdefaulttest.c b/deps/openssl/openssl/test/sysdefaulttest.c new file mode 100644 index 00000000000000..2e2bb8f76b9cc0 --- /dev/null +++ b/deps/openssl/openssl/test/sysdefaulttest.c @@ -0,0 +1,50 @@ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include + +#include +#include +#include +#include +#include "testutil.h" + +static SSL_CTX *ctx; + +static int test_func(void) +{ + if (!TEST_int_eq(SSL_CTX_get_min_proto_version(ctx), TLS1_2_VERSION) + && !TEST_int_eq(SSL_CTX_get_max_proto_version(ctx), TLS1_2_VERSION)) { + TEST_info("min/max version setting incorrect"); + return 0; + } + return 1; +} + +int global_init(void) +{ + if (!OPENSSL_init_ssl(OPENSSL_INIT_ENGINE_ALL_BUILTIN + | OPENSSL_INIT_LOAD_CONFIG, NULL)) + return 0; + return 1; +} + +int setup_tests(void) +{ + if (!TEST_ptr(ctx = SSL_CTX_new(TLS_method()))) + return 0; + ADD_TEST(test_func); + return 1; +} + +void cleanup_tests(void) +{ + SSL_CTX_free(ctx); +} diff --git a/deps/openssl/openssl/test/test_test.c b/deps/openssl/openssl/test/test_test.c new file mode 100644 index 00000000000000..74a230c1966ba1 --- /dev/null +++ b/deps/openssl/openssl/test/test_test.c @@ -0,0 +1,557 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include + +#include +#include +#include +#include + +#include "internal/nelem.h" +#include "testutil.h" + +#define TEST(expected, test) test_case((expected), #test, (test)) + +static int test_case(int expected, const char *test, int result) +{ + if (result != expected) { + fprintf(stderr, "# FATAL: %s != %d\n", test, expected); + return 0; + } + return 1; +} + +static int test_int(void) +{ + if (!TEST(1, TEST_int_eq(1, 1)) + | !TEST(0, TEST_int_eq(1, -1)) + | !TEST(1, TEST_int_ne(1, 2)) + | !TEST(0, TEST_int_ne(3, 3)) + | !TEST(1, TEST_int_lt(4, 9)) + | !TEST(0, TEST_int_lt(9, 4)) + | !TEST(1, TEST_int_le(4, 9)) + | !TEST(1, TEST_int_le(5, 5)) + | !TEST(0, TEST_int_le(9, 4)) + | !TEST(1, TEST_int_gt(8, 5)) + | !TEST(0, TEST_int_gt(5, 8)) + | !TEST(1, TEST_int_ge(8, 5)) + | !TEST(1, TEST_int_ge(6, 6)) + | !TEST(0, TEST_int_ge(5, 8))) + goto err; + return 1; + +err: + return 0; +} + +static int test_uint(void) +{ + if (!TEST(1, TEST_uint_eq(3u, 3u)) + | !TEST(0, TEST_uint_eq(3u, 5u)) + | !TEST(1, TEST_uint_ne(4u, 2u)) + | !TEST(0, TEST_uint_ne(6u, 6u)) + | !TEST(1, TEST_uint_lt(5u, 9u)) + | !TEST(0, TEST_uint_lt(9u, 5u)) + | !TEST(1, TEST_uint_le(5u, 9u)) + | !TEST(1, TEST_uint_le(7u, 7u)) + | !TEST(0, TEST_uint_le(9u, 5u)) + | !TEST(1, TEST_uint_gt(11u, 1u)) + | !TEST(0, TEST_uint_gt(1u, 11u)) + | !TEST(1, TEST_uint_ge(11u, 1u)) + | !TEST(1, TEST_uint_ge(6u, 6u)) + | !TEST(0, TEST_uint_ge(1u, 11u))) + goto err; + return 1; + +err: + return 0; +} + +static int test_char(void) +{ + if (!TEST(1, TEST_char_eq('a', 'a')) + | !TEST(0, TEST_char_eq('a', 'A')) + | !TEST(1, TEST_char_ne('a', 'c')) + | !TEST(0, TEST_char_ne('e', 'e')) + | !TEST(1, TEST_char_lt('i', 'x')) + | !TEST(0, TEST_char_lt('x', 'i')) + | !TEST(1, TEST_char_le('i', 'x')) + | !TEST(1, TEST_char_le('n', 'n')) + | !TEST(0, TEST_char_le('x', 'i')) + | !TEST(1, TEST_char_gt('w', 'n')) + | !TEST(0, TEST_char_gt('n', 'w')) + | !TEST(1, TEST_char_ge('w', 'n')) + | !TEST(1, TEST_char_ge('p', 'p')) + | !TEST(0, TEST_char_ge('n', 'w'))) + goto err; + return 1; + +err: + return 0; +} + +static int test_uchar(void) +{ + if (!TEST(1, TEST_uchar_eq(49, 49)) + | !TEST(0, TEST_uchar_eq(49, 60)) + | !TEST(1, TEST_uchar_ne(50, 2)) + | !TEST(0, TEST_uchar_ne(66, 66)) + | !TEST(1, TEST_uchar_lt(60, 80)) + | !TEST(0, TEST_uchar_lt(80, 60)) + | !TEST(1, TEST_uchar_le(60, 80)) + | !TEST(1, TEST_uchar_le(78, 78)) + | !TEST(0, TEST_uchar_le(80, 60)) + | !TEST(1, TEST_uchar_gt(88, 37)) + | !TEST(0, TEST_uchar_gt(37, 88)) + | !TEST(1, TEST_uchar_ge(88, 37)) + | !TEST(1, TEST_uchar_ge(66, 66)) + | !TEST(0, TEST_uchar_ge(37, 88))) + goto err; + return 1; + +err: + return 0; +} + +static int test_long(void) +{ + if (!TEST(1, TEST_long_eq(123l, 123l)) + | !TEST(0, TEST_long_eq(123l, -123l)) + | !TEST(1, TEST_long_ne(123l, 500l)) + | !TEST(0, TEST_long_ne(1000l, 1000l)) + | !TEST(1, TEST_long_lt(-8923l, 102934563l)) + | !TEST(0, TEST_long_lt(102934563l, -8923l)) + | !TEST(1, TEST_long_le(-8923l, 102934563l)) + | !TEST(1, TEST_long_le(12345l, 12345l)) + | !TEST(0, TEST_long_le(102934563l, -8923l)) + | !TEST(1, TEST_long_gt(84325677l, 12345l)) + | !TEST(0, TEST_long_gt(12345l, 84325677l)) + | !TEST(1, TEST_long_ge(84325677l, 12345l)) + | !TEST(1, TEST_long_ge(465869l, 465869l)) + | !TEST(0, TEST_long_ge(12345l, 84325677l))) + goto err; + return 1; + +err: + return 0; +} + +static int test_ulong(void) +{ + if (!TEST(1, TEST_ulong_eq(919ul, 919ul)) + | !TEST(0, TEST_ulong_eq(919ul, 10234ul)) + | !TEST(1, TEST_ulong_ne(8190ul, 66ul)) + | !TEST(0, TEST_ulong_ne(10555ul, 10555ul)) + | !TEST(1, TEST_ulong_lt(10234ul, 1000000ul)) + | !TEST(0, TEST_ulong_lt(1000000ul, 10234ul)) + | !TEST(1, TEST_ulong_le(10234ul, 1000000ul)) + | !TEST(1, TEST_ulong_le(100000ul, 100000ul)) + | !TEST(0, TEST_ulong_le(1000000ul, 10234ul)) + | !TEST(1, TEST_ulong_gt(100000000ul, 22ul)) + | !TEST(0, TEST_ulong_gt(22ul, 100000000ul)) + | !TEST(1, TEST_ulong_ge(100000000ul, 22ul)) + | !TEST(1, TEST_ulong_ge(10555ul, 10555ul)) + | !TEST(0, TEST_ulong_ge(22ul, 100000000ul))) + goto err; + return 1; + +err: + return 0; +} + +static int test_size_t(void) +{ + if (!TEST(1, TEST_size_t_eq((size_t)10, (size_t)10)) + | !TEST(0, TEST_size_t_eq((size_t)10, (size_t)12)) + | !TEST(1, TEST_size_t_ne((size_t)10, (size_t)12)) + | !TEST(0, TEST_size_t_ne((size_t)24, (size_t)24)) + | !TEST(1, TEST_size_t_lt((size_t)30, (size_t)88)) + | !TEST(0, TEST_size_t_lt((size_t)88, (size_t)30)) + | !TEST(1, TEST_size_t_le((size_t)30, (size_t)88)) + | !TEST(1, TEST_size_t_le((size_t)33, (size_t)33)) + | !TEST(0, TEST_size_t_le((size_t)88, (size_t)30)) + | !TEST(1, TEST_size_t_gt((size_t)52, (size_t)33)) + | !TEST(0, TEST_size_t_gt((size_t)33, (size_t)52)) + | !TEST(1, TEST_size_t_ge((size_t)52, (size_t)33)) + | !TEST(1, TEST_size_t_ge((size_t)38, (size_t)38)) + | !TEST(0, TEST_size_t_ge((size_t)33, (size_t)52))) + goto err; + return 1; + +err: + return 0; +} + +static int test_time_t(void) +{ + if (!TEST(1, TEST_time_t_eq((time_t)10, (time_t)10)) + | !TEST(0, TEST_time_t_eq((time_t)10, (time_t)12)) + | !TEST(1, TEST_time_t_ne((time_t)10, (time_t)12)) + | !TEST(0, TEST_time_t_ne((time_t)24, (time_t)24)) + | !TEST(1, TEST_time_t_lt((time_t)30, (time_t)88)) + | !TEST(0, TEST_time_t_lt((time_t)88, (time_t)30)) + | !TEST(1, TEST_time_t_le((time_t)30, (time_t)88)) + | !TEST(1, TEST_time_t_le((time_t)33, (time_t)33)) + | !TEST(0, TEST_time_t_le((time_t)88, (time_t)30)) + | !TEST(1, TEST_time_t_gt((time_t)52, (time_t)33)) + | !TEST(0, TEST_time_t_gt((time_t)33, (time_t)52)) + | !TEST(1, TEST_time_t_ge((time_t)52, (time_t)33)) + | !TEST(1, TEST_time_t_ge((time_t)38, (time_t)38)) + | !TEST(0, TEST_time_t_ge((time_t)33, (time_t)52))) + goto err; + return 1; + +err: + return 0; +} + +static int test_pointer(void) +{ + int x = 0; + char y = 1; + + if (!TEST(1, TEST_ptr(&y)) + | !TEST(0, TEST_ptr(NULL)) + | !TEST(0, TEST_ptr_null(&y)) + | !TEST(1, TEST_ptr_null(NULL)) + | !TEST(1, TEST_ptr_eq(NULL, NULL)) + | !TEST(0, TEST_ptr_eq(NULL, &y)) + | !TEST(0, TEST_ptr_eq(&y, NULL)) + | !TEST(0, TEST_ptr_eq(&y, &x)) + | !TEST(1, TEST_ptr_eq(&x, &x)) + | !TEST(0, TEST_ptr_ne(NULL, NULL)) + | !TEST(1, TEST_ptr_ne(NULL, &y)) + | !TEST(1, TEST_ptr_ne(&y, NULL)) + | !TEST(1, TEST_ptr_ne(&y, &x)) + | !TEST(0, TEST_ptr_ne(&x, &x))) + goto err; + return 1; + +err: + return 0; +} + +static int test_bool(void) +{ + if (!TEST(0, TEST_true(0)) + | !TEST(1, TEST_true(1)) + | !TEST(1, TEST_false(0)) + | !TEST(0, TEST_false(1))) + goto err; + return 1; + +err: + return 0; +} + +static int test_string(void) +{ + static char buf[] = "abc"; + + if (!TEST(1, TEST_str_eq(NULL, NULL)) + | !TEST(1, TEST_str_eq("abc", buf)) + | !TEST(0, TEST_str_eq("abc", NULL)) + | !TEST(0, TEST_str_eq("abc", "")) + | !TEST(0, TEST_str_eq(NULL, buf)) + | !TEST(0, TEST_str_ne(NULL, NULL)) + | !TEST(0, TEST_str_eq("", NULL)) + | !TEST(0, TEST_str_eq(NULL, "")) + | !TEST(0, TEST_str_ne("", "")) + | !TEST(0, TEST_str_eq("\1\2\3\4\5", "\1x\3\6\5")) + | !TEST(0, TEST_str_ne("abc", buf)) + | !TEST(1, TEST_str_ne("abc", NULL)) + | !TEST(1, TEST_str_ne(NULL, buf)) + | !TEST(0, TEST_str_eq("abcdef", "abcdefghijk"))) + goto err; + return 1; + +err: + return 0; +} + +static int test_memory(void) +{ + static char buf[] = "xyz"; + + if (!TEST(1, TEST_mem_eq(NULL, 0, NULL, 0)) + | !TEST(1, TEST_mem_eq(NULL, 1, NULL, 2)) + | !TEST(0, TEST_mem_eq(NULL, 0, "xyz", 3)) + | !TEST(0, TEST_mem_eq(NULL, 7, "abc", 3)) + | !TEST(0, TEST_mem_ne(NULL, 0, NULL, 0)) + | !TEST(0, TEST_mem_eq(NULL, 0, "", 0)) + | !TEST(0, TEST_mem_eq("", 0, NULL, 0)) + | !TEST(0, TEST_mem_ne("", 0, "", 0)) + | !TEST(0, TEST_mem_eq("xyz", 3, NULL, 0)) + | !TEST(0, TEST_mem_eq("xyz", 3, buf, sizeof(buf))) + | !TEST(1, TEST_mem_eq("xyz", 4, buf, sizeof(buf)))) + goto err; + return 1; + +err: + return 0; +} + +static int test_memory_overflow(void) +{ + /* Verify that the memory printing overflows without walking the stack */ + const char *p = "1234567890123456789012345678901234567890123456789012"; + const char *q = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + return TEST(0, TEST_mem_eq(p, strlen(p), q, strlen(q))); +} + +static int test_bignum(void) +{ + BIGNUM *a = NULL, *b = NULL, *c = NULL; + int r = 0; + + if (!TEST(1, TEST_int_eq(BN_dec2bn(&a, "0"), 1)) + | !TEST(1, TEST_BN_eq_word(a, 0)) + | !TEST(0, TEST_BN_eq_word(a, 30)) + | !TEST(1, TEST_BN_abs_eq_word(a, 0)) + | !TEST(0, TEST_BN_eq_one(a)) + | !TEST(1, TEST_BN_eq_zero(a)) + | !TEST(0, TEST_BN_ne_zero(a)) + | !TEST(1, TEST_BN_le_zero(a)) + | !TEST(0, TEST_BN_lt_zero(a)) + | !TEST(1, TEST_BN_ge_zero(a)) + | !TEST(0, TEST_BN_gt_zero(a)) + | !TEST(1, TEST_BN_even(a)) + | !TEST(0, TEST_BN_odd(a)) + | !TEST(1, TEST_BN_eq(b, c)) + | !TEST(0, TEST_BN_eq(a, b)) + | !TEST(0, TEST_BN_ne(NULL, c)) + | !TEST(1, TEST_int_eq(BN_dec2bn(&b, "1"), 1)) + | !TEST(1, TEST_BN_eq_word(b, 1)) + | !TEST(1, TEST_BN_eq_one(b)) + | !TEST(0, TEST_BN_abs_eq_word(b, 0)) + | !TEST(1, TEST_BN_abs_eq_word(b, 1)) + | !TEST(0, TEST_BN_eq_zero(b)) + | !TEST(1, TEST_BN_ne_zero(b)) + | !TEST(0, TEST_BN_le_zero(b)) + | !TEST(0, TEST_BN_lt_zero(b)) + | !TEST(1, TEST_BN_ge_zero(b)) + | !TEST(1, TEST_BN_gt_zero(b)) + | !TEST(0, TEST_BN_even(b)) + | !TEST(1, TEST_BN_odd(b)) + | !TEST(1, TEST_int_eq(BN_dec2bn(&c, "-334739439"), 10)) + | !TEST(0, TEST_BN_eq_word(c, 334739439)) + | !TEST(1, TEST_BN_abs_eq_word(c, 334739439)) + | !TEST(0, TEST_BN_eq_zero(c)) + | !TEST(1, TEST_BN_ne_zero(c)) + | !TEST(1, TEST_BN_le_zero(c)) + | !TEST(1, TEST_BN_lt_zero(c)) + | !TEST(0, TEST_BN_ge_zero(c)) + | !TEST(0, TEST_BN_gt_zero(c)) + | !TEST(0, TEST_BN_even(c)) + | !TEST(1, TEST_BN_odd(c)) + | !TEST(1, TEST_BN_eq(a, a)) + | !TEST(0, TEST_BN_ne(a, a)) + | !TEST(0, TEST_BN_eq(a, b)) + | !TEST(1, TEST_BN_ne(a, b)) + | !TEST(0, TEST_BN_lt(a, c)) + | !TEST(1, TEST_BN_lt(c, b)) + | !TEST(0, TEST_BN_lt(b, c)) + | !TEST(0, TEST_BN_le(a, c)) + | !TEST(1, TEST_BN_le(c, b)) + | !TEST(0, TEST_BN_le(b, c)) + | !TEST(1, TEST_BN_gt(a, c)) + | !TEST(0, TEST_BN_gt(c, b)) + | !TEST(1, TEST_BN_gt(b, c)) + | !TEST(1, TEST_BN_ge(a, c)) + | !TEST(0, TEST_BN_ge(c, b)) + | !TEST(1, TEST_BN_ge(b, c))) + goto err; + + r = 1; +err: + BN_free(a); + BN_free(b); + BN_free(c); + return r; +} + +static int test_long_output(void) +{ + const char *p = "1234567890123456789012345678901234567890123456789012"; + const char *q = "1234567890klmnopqrs01234567890EFGHIJKLM0123456789XYZ"; + const char *r = "1234567890123456789012345678901234567890123456789012" + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY+" + "12345678901234567890123ABC78901234567890123456789012"; + const char *s = "1234567890123456789012345678901234567890123456789012" + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY-" + "1234567890123456789012345678901234567890123456789012" + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + return TEST(0, TEST_str_eq(p, q)) + & TEST(0, TEST_str_eq(q, r)) + & TEST(0, TEST_str_eq(r, s)) + & TEST(0, TEST_mem_eq(r, strlen(r), s, strlen(s))); +} + +static int test_long_bignum(void) +{ + int r; + BIGNUM *a = NULL, *b = NULL, *c = NULL, *d = NULL; + const char as[] = "1234567890123456789012345678901234567890123456789012" + "1234567890123456789012345678901234567890123456789012" + "1234567890123456789012345678901234567890123456789012" + "1234567890123456789012345678901234567890123456789012" + "1234567890123456789012345678901234567890123456789012" + "1234567890123456789012345678901234567890123456789012" + "FFFFFF"; + const char bs[] = "1234567890123456789012345678901234567890123456789012" + "1234567890123456789012345678901234567890123456789013" + "987657"; + const char cs[] = "-" /* 64 characters plus sign */ + "123456789012345678901234567890" + "123456789012345678901234567890" + "ABCD"; + const char ds[] = "-" /* 63 characters plus sign */ + "23456789A123456789B123456789C" + "123456789D123456789E123456789F" + "ABCD"; + + r = TEST_true(BN_hex2bn(&a, as)) + && TEST_true(BN_hex2bn(&b, bs)) + && TEST_true(BN_hex2bn(&c, cs)) + && TEST_true(BN_hex2bn(&d, ds)) + && (TEST(0, TEST_BN_eq(a, b)) + & TEST(0, TEST_BN_eq(b, a)) + & TEST(0, TEST_BN_eq(b, NULL)) + & TEST(0, TEST_BN_eq(NULL, a)) + & TEST(1, TEST_BN_ne(a, NULL)) + & TEST(0, TEST_BN_eq(c, d))); + BN_free(a); + BN_free(b); + BN_free(c); + BN_free(d); + return r; +} + +static int test_messages(void) +{ + TEST_info("This is an %s message.", "info"); + TEST_error("This is an %s message.", "error"); + return 1; +} + +static int test_single_eval(void) +{ + int i = 4; + long l = -9000; + char c = 'd'; + unsigned char uc = 22; + unsigned long ul = 500; + size_t st = 1234; + char buf[4] = { 0 }, *p = buf; + + /* int */ + return TEST_int_eq(i++, 4) + && TEST_int_eq(i, 5) + && TEST_int_gt(++i, 5) + && TEST_int_le(5, i++) + && TEST_int_ne(--i, 5) + && TEST_int_eq(12, i *= 2) + /* Long */ + && TEST_long_eq(l--, -9000L) + && TEST_long_eq(++l, -9000L) + && TEST_long_ne(-9000L, l /= 2) + && TEST_long_lt(--l, -4500L) + /* char */ + && TEST_char_eq(++c, 'e') + && TEST_char_eq('e', c--) + && TEST_char_ne('d', --c) + && TEST_char_le('b', --c) + && TEST_char_lt(c++, 'c') + /* unsigned char */ + && TEST_uchar_eq(22, uc++) + && TEST_uchar_eq(uc /= 2, 11) + && TEST_ulong_eq(ul ^= 1, 501) + && TEST_ulong_eq(502, ul ^= 3) + && TEST_ulong_eq(ul = ul * 3 - 6, 1500) + /* size_t */ + && TEST_size_t_eq((--i, st++), 1234) + && TEST_size_t_eq(st, 1235) + && TEST_int_eq(11, i) + /* pointers */ + && TEST_ptr_eq(p++, buf) + && TEST_ptr_eq(buf + 2, ++p) + && TEST_ptr_eq(buf, p -= 2) + && TEST_ptr(++p) + && TEST_ptr_eq(p, buf + 1) + && TEST_ptr_null(p = NULL) + /* strings */ + && TEST_str_eq(p = &("123456"[1]), "23456") + && TEST_str_eq("3456", ++p) + && TEST_str_ne(p++, "456") + /* memory */ + && TEST_mem_eq(--p, sizeof("3456"), "3456", sizeof("3456")) + && TEST_mem_ne(p++, sizeof("456"), "456", sizeof("456")) + && TEST_mem_eq(p--, sizeof("456"), "456", sizeof("456")); +} + +static int test_output(void) +{ + const char s[] = "1234567890123456789012345678901234567890123456789012" + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + test_output_string("test", s, sizeof(s) - 1); + test_output_memory("test", (const unsigned char *)s, sizeof(s)); + return 1; +} + +static const char *bn_output_tests[] = { + NULL, + "0", + "-12345678", + "1234567890123456789012345678901234567890123456789012" + "1234567890123456789012345678901234567890123456789013" + "987657" +}; + +static int test_bn_output(int n) +{ + BIGNUM *b = NULL; + + if (bn_output_tests[n] != NULL + && !TEST_true(BN_hex2bn(&b, bn_output_tests[n]))) + return 0; + test_output_bignum(bn_output_tests[n], b); + BN_free(b); + return 1; +} + +int setup_tests(void) +{ + ADD_TEST(test_int); + ADD_TEST(test_uint); + ADD_TEST(test_char); + ADD_TEST(test_uchar); + ADD_TEST(test_long); + ADD_TEST(test_ulong); + ADD_TEST(test_size_t); + ADD_TEST(test_time_t); + ADD_TEST(test_pointer); + ADD_TEST(test_bool); + ADD_TEST(test_string); + ADD_TEST(test_memory); + ADD_TEST(test_memory_overflow); + ADD_TEST(test_bignum); + ADD_TEST(test_long_bignum); + ADD_TEST(test_long_output); + ADD_TEST(test_messages); + ADD_TEST(test_single_eval); + ADD_TEST(test_output); + ADD_ALL_TESTS(test_bn_output, OSSL_NELEM(bn_output_tests)); + return 1; +} diff --git a/deps/openssl/openssl/test/testutil.h b/deps/openssl/openssl/test/testutil.h index 2a610d7bffca02..575be955b55737 100644 --- a/deps/openssl/openssl/test/testutil.h +++ b/deps/openssl/openssl/test/testutil.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_TESTUTIL_H -# define HEADER_TESTUTIL_H +#ifndef OSSL_TESTUTIL_H +# define OSSL_TESTUTIL_H #include @@ -465,4 +465,4 @@ void test_random_seed(uint32_t sd); /* Create a file path from a directory and a filename */ char *test_mk_file_path(const char *dir, const char *file); -#endif /* HEADER_TESTUTIL_H */ +#endif /* OSSL_TESTUTIL_H */ diff --git a/deps/openssl/openssl/test/testutil/output.h b/deps/openssl/openssl/test/testutil/output.h index 8e2b2a340ade66..f5be69e6620685 100644 --- a/deps/openssl/openssl/test/testutil/output.h +++ b/deps/openssl/openssl/test/testutil/output.h @@ -7,8 +7,8 @@ * https://www.openssl.org/source/license.html */ -#ifndef HEADER_TU_OUTPUT_H -# define HEADER_TU_OUTPUT_H +#ifndef OSSL_TESTUTIL_OUTPUT_H +# define OSSL_TESTUTIL_OUTPUT_H #include @@ -29,4 +29,4 @@ int test_flush_stderr(void); int test_printf_stdout(const char *fmt, ...); int test_printf_stderr(const char *fmt, ...); -#endif /* HEADER_TU_OUTPUT_H */ +#endif /* OSSL_TESTUTIL_OUTPUT_H */ diff --git a/deps/openssl/openssl/test/testutil/init.c b/deps/openssl/openssl/test/testutil/testutil_init.c similarity index 100% rename from deps/openssl/openssl/test/testutil/init.c rename to deps/openssl/openssl/test/testutil/testutil_init.c diff --git a/deps/openssl/openssl/test/time_offset_test.c b/deps/openssl/openssl/test/time_offset_test.c new file mode 100644 index 00000000000000..740b471af032fb --- /dev/null +++ b/deps/openssl/openssl/test/time_offset_test.c @@ -0,0 +1,113 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* time_t/offset (+/-XXXX) tests for ASN1 and X509 */ + +#include +#include +#include + +#include +#include +#include "testutil.h" +#include "internal/nelem.h" + +typedef struct { + const char *data; + int time_result; + int type; +} TESTDATA; + + +/********************************************************************** + * + * Test driver + * + ***/ + +static TESTDATA tests[] = { + { "20001201000000Z", 0, V_ASN1_GENERALIZEDTIME }, + { "20001201010000+0100", 0, V_ASN1_GENERALIZEDTIME }, + { "20001201050000+0500", 0, V_ASN1_GENERALIZEDTIME }, + { "20001130230000-0100", 0, V_ASN1_GENERALIZEDTIME }, + { "20001130190000-0500", 0, V_ASN1_GENERALIZEDTIME }, + { "20001130190001-0500", 1, V_ASN1_GENERALIZEDTIME }, /* +1 second */ + { "20001130185959-0500", -1, V_ASN1_GENERALIZEDTIME }, /* -1 second */ + { "001201000000Z", 0, V_ASN1_UTCTIME }, + { "001201010000+0100", 0, V_ASN1_UTCTIME }, + { "001201050000+0500", 0, V_ASN1_UTCTIME }, + { "001130230000-0100", 0, V_ASN1_UTCTIME }, + { "001130190000-0500", 0, V_ASN1_UTCTIME }, + { "001201000000-0000", 0, V_ASN1_UTCTIME }, + { "001201000001-0000", 1, V_ASN1_UTCTIME }, /* +1 second */ + { "001130235959-0000", -1, V_ASN1_UTCTIME }, /* -1 second */ + { "20001201000000+0000", 0, V_ASN1_GENERALIZEDTIME }, + { "20001201000000+0100", -1, V_ASN1_GENERALIZEDTIME }, + { "001201000000+0100", -1, V_ASN1_UTCTIME }, + { "20001201000000-0100", 1, V_ASN1_GENERALIZEDTIME }, + { "001201000000-0100", 1, V_ASN1_UTCTIME }, + { "20001201123400+1234", 0, V_ASN1_GENERALIZEDTIME }, + { "20001130112600-1234", 0, V_ASN1_GENERALIZEDTIME }, +}; + +static time_t the_time = 975628800; +static ASN1_TIME the_asn1_time = { + 15, + V_ASN1_GENERALIZEDTIME, + (unsigned char*)"20001201000000Z", + 0 +}; + +static int test_offset(int idx) +{ + ASN1_TIME at; + const TESTDATA *testdata = &tests[idx]; + int ret = -2; + int day, sec; + + at.data = (unsigned char*)testdata->data; + at.length = strlen(testdata->data); + at.type = testdata->type; + at.flags = 0; + + if (!TEST_true(ASN1_TIME_diff(&day, &sec, &the_asn1_time, &at))) { + TEST_info("ASN1_TIME_diff() failed for %s\n", at.data); + return 0; + } + if (day > 0) + ret = 1; + else if (day < 0) + ret = -1; + else if (sec > 0) + ret = 1; + else if (sec < 0) + ret = -1; + else + ret = 0; + + if (!TEST_int_eq(testdata->time_result, ret)) { + TEST_info("ASN1_TIME_diff() test failed for %s day=%d sec=%d\n", at.data, day, sec); + return 0; + } + + ret = ASN1_TIME_cmp_time_t(&at, the_time); + + if (!TEST_int_eq(testdata->time_result, ret)) { + TEST_info("ASN1_UTCTIME_cmp_time_t() test failed for %s\n", at.data); + return 0; + } + + return 1; +} + +int setup_tests(void) +{ + ADD_ALL_TESTS(test_offset, OSSL_NELEM(tests)); + return 1; +} diff --git a/deps/openssl/openssl/test/tls13ccstest.c b/deps/openssl/openssl/test/tls13ccstest.c new file mode 100644 index 00000000000000..1633d3afe502f1 --- /dev/null +++ b/deps/openssl/openssl/test/tls13ccstest.c @@ -0,0 +1,498 @@ +/* + * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include +#include "ssltestlib.h" +#include "testutil.h" +#include "../ssl/packet_local.h" + +static char *cert = NULL; +static char *privkey = NULL; + +static BIO *s_to_c_fbio = NULL, *c_to_s_fbio = NULL; +static int chseen = 0, shseen = 0, sccsseen = 0, ccsaftersh = 0; +static int ccsbeforesh = 0, sappdataseen = 0, cappdataseen = 0, badccs = 0; +static int badvers = 0, badsessid = 0; + +static unsigned char chsessid[SSL_MAX_SSL_SESSION_ID_LENGTH]; +static size_t chsessidlen = 0; + +static int watchccs_new(BIO *bi); +static int watchccs_free(BIO *a); +static int watchccs_read(BIO *b, char *out, int outl); +static int watchccs_write(BIO *b, const char *in, int inl); +static long watchccs_ctrl(BIO *b, int cmd, long num, void *ptr); +static int watchccs_gets(BIO *bp, char *buf, int size); +static int watchccs_puts(BIO *bp, const char *str); + +/* Choose a sufficiently large type likely to be unused for this custom BIO */ +# define BIO_TYPE_WATCHCCS_FILTER (0x80 | BIO_TYPE_FILTER) + +static BIO_METHOD *method_watchccs = NULL; + +static const BIO_METHOD *bio_f_watchccs_filter(void) +{ + if (method_watchccs == NULL) { + method_watchccs = BIO_meth_new(BIO_TYPE_WATCHCCS_FILTER, + "Watch CCS filter"); + if ( method_watchccs == NULL + || !BIO_meth_set_write(method_watchccs, watchccs_write) + || !BIO_meth_set_read(method_watchccs, watchccs_read) + || !BIO_meth_set_puts(method_watchccs, watchccs_puts) + || !BIO_meth_set_gets(method_watchccs, watchccs_gets) + || !BIO_meth_set_ctrl(method_watchccs, watchccs_ctrl) + || !BIO_meth_set_create(method_watchccs, watchccs_new) + || !BIO_meth_set_destroy(method_watchccs, watchccs_free)) + return NULL; + } + return method_watchccs; +} + +static int watchccs_new(BIO *bio) +{ + BIO_set_init(bio, 1); + return 1; +} + +static int watchccs_free(BIO *bio) +{ + BIO_set_init(bio, 0); + return 1; +} + +static int watchccs_read(BIO *bio, char *out, int outl) +{ + int ret = 0; + BIO *next = BIO_next(bio); + + if (outl <= 0) + return 0; + if (next == NULL) + return 0; + + BIO_clear_retry_flags(bio); + + ret = BIO_read(next, out, outl); + if (ret <= 0 && BIO_should_read(next)) + BIO_set_retry_read(bio); + + return ret; +} + +static int watchccs_write(BIO *bio, const char *in, int inl) +{ + int ret = 0; + BIO *next = BIO_next(bio); + PACKET pkt, msg, msgbody, sessionid; + unsigned int rectype, recvers, msgtype, expectedrecvers; + + if (inl <= 0) + return 0; + if (next == NULL) + return 0; + + BIO_clear_retry_flags(bio); + + if (!PACKET_buf_init(&pkt, (const unsigned char *)in, inl)) + return 0; + + /* We assume that we always write complete records each time */ + while (PACKET_remaining(&pkt)) { + if (!PACKET_get_1(&pkt, &rectype) + || !PACKET_get_net_2(&pkt, &recvers) + || !PACKET_get_length_prefixed_2(&pkt, &msg)) + return 0; + + expectedrecvers = TLS1_2_VERSION; + + if (rectype == SSL3_RT_HANDSHAKE) { + if (!PACKET_get_1(&msg, &msgtype) + || !PACKET_get_length_prefixed_3(&msg, &msgbody)) + return 0; + if (msgtype == SSL3_MT_CLIENT_HELLO) { + chseen++; + + /* + * Skip legacy_version (2 bytes) and Random (32 bytes) to read + * session_id. + */ + if (!PACKET_forward(&msgbody, 34) + || !PACKET_get_length_prefixed_1(&msgbody, &sessionid)) + return 0; + + if (chseen == 1) { + expectedrecvers = TLS1_VERSION; + + /* Save the session id for later */ + chsessidlen = PACKET_remaining(&sessionid); + if (!PACKET_copy_bytes(&sessionid, chsessid, chsessidlen)) + return 0; + } else { + /* + * Check the session id for the second ClientHello is the + * same as the first one. + */ + if (PACKET_remaining(&sessionid) != chsessidlen + || (chsessidlen > 0 + && memcmp(chsessid, PACKET_data(&sessionid), + chsessidlen) != 0)) + badsessid = 1; + } + } else if (msgtype == SSL3_MT_SERVER_HELLO) { + shseen++; + /* + * Skip legacy_version (2 bytes) and Random (32 bytes) to read + * session_id. + */ + if (!PACKET_forward(&msgbody, 34) + || !PACKET_get_length_prefixed_1(&msgbody, &sessionid)) + return 0; + + /* + * Check the session id is the same as the one in the + * ClientHello + */ + if (PACKET_remaining(&sessionid) != chsessidlen + || (chsessidlen > 0 + && memcmp(chsessid, PACKET_data(&sessionid), + chsessidlen) != 0)) + badsessid = 1; + } + } else if (rectype == SSL3_RT_CHANGE_CIPHER_SPEC) { + if (bio == s_to_c_fbio) { + /* + * Server writing. We shouldn't have written any app data + * yet, and we should have seen both the ClientHello and the + * ServerHello + */ + if (!sappdataseen + && chseen == 1 + && shseen == 1 + && !sccsseen) + sccsseen = 1; + else + badccs = 1; + } else if (!cappdataseen) { + /* + * Client writing. We shouldn't have written any app data + * yet, and we should have seen the ClientHello + */ + if (shseen == 1 && !ccsaftersh) + ccsaftersh = 1; + else if (shseen == 0 && !ccsbeforesh) + ccsbeforesh = 1; + else + badccs = 1; + } else { + badccs = 1; + } + } else if(rectype == SSL3_RT_APPLICATION_DATA) { + if (bio == s_to_c_fbio) + sappdataseen = 1; + else + cappdataseen = 1; + } + if (recvers != expectedrecvers) + badvers = 1; + } + + ret = BIO_write(next, in, inl); + if (ret <= 0 && BIO_should_write(next)) + BIO_set_retry_write(bio); + + return ret; +} + +static long watchccs_ctrl(BIO *bio, int cmd, long num, void *ptr) +{ + long ret; + BIO *next = BIO_next(bio); + + if (next == NULL) + return 0; + + switch (cmd) { + case BIO_CTRL_DUP: + ret = 0; + break; + default: + ret = BIO_ctrl(next, cmd, num, ptr); + break; + } + return ret; +} + +static int watchccs_gets(BIO *bio, char *buf, int size) +{ + /* We don't support this - not needed anyway */ + return -1; +} + +static int watchccs_puts(BIO *bio, const char *str) +{ + return watchccs_write(bio, str, strlen(str)); +} + +static int test_tls13ccs(int tst) +{ + SSL_CTX *sctx = NULL, *cctx = NULL; + SSL *sssl = NULL, *cssl = NULL; + int ret = 0; + const char msg[] = "Dummy data"; + char buf[80]; + size_t written, readbytes; + SSL_SESSION *sess = NULL; + + chseen = shseen = sccsseen = ccsaftersh = ccsbeforesh = 0; + sappdataseen = cappdataseen = badccs = badvers = badsessid = 0; + chsessidlen = 0; + + if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), + TLS1_VERSION, TLS_MAX_VERSION, + &sctx, &cctx, cert, privkey)) + || !TEST_true(SSL_CTX_set_max_early_data(sctx, + SSL3_RT_MAX_PLAIN_LENGTH))) + goto err; + + /* + * Test 0: Simple Handshake + * Test 1: Simple Handshake, client middlebox compat mode disabled + * Test 2: Simple Handshake, server middlebox compat mode disabled + * Test 3: HRR Handshake + * Test 4: HRR Handshake, client middlebox compat mode disabled + * Test 5: HRR Handshake, server middlebox compat mode disabled + * Test 6: Early data handshake + * Test 7: Early data handshake, client middlebox compat mode disabled + * Test 8: Early data handshake, server middlebox compat mode disabled + * Test 9: Early data then HRR + * Test 10: Early data then HRR, client middlebox compat mode disabled + * Test 11: Early data then HRR, server middlebox compat mode disabled + */ + switch (tst) { + case 0: + case 3: + case 6: + case 9: + break; + case 1: + case 4: + case 7: + case 10: + SSL_CTX_clear_options(cctx, SSL_OP_ENABLE_MIDDLEBOX_COMPAT); + break; + case 2: + case 5: + case 8: + case 11: + SSL_CTX_clear_options(sctx, SSL_OP_ENABLE_MIDDLEBOX_COMPAT); + break; + default: + TEST_error("Invalid test value"); + goto err; + } + + if (tst >= 6) { + /* Get a session suitable for early_data */ + if (!TEST_true(create_ssl_objects(sctx, cctx, &sssl, &cssl, NULL, NULL)) + || !TEST_true(create_ssl_connection(sssl, cssl, SSL_ERROR_NONE))) + goto err; + sess = SSL_get1_session(cssl); + if (!TEST_ptr(sess)) + goto err; + SSL_shutdown(cssl); + SSL_shutdown(sssl); + SSL_free(sssl); + SSL_free(cssl); + sssl = cssl = NULL; + } + + if ((tst >= 3 && tst <= 5) || tst >= 9) { + /* HRR handshake */ + if (!TEST_true(SSL_CTX_set1_groups_list(sctx, "P-256"))) + goto err; + } + + s_to_c_fbio = BIO_new(bio_f_watchccs_filter()); + c_to_s_fbio = BIO_new(bio_f_watchccs_filter()); + if (!TEST_ptr(s_to_c_fbio) + || !TEST_ptr(c_to_s_fbio)) { + BIO_free(s_to_c_fbio); + BIO_free(c_to_s_fbio); + goto err; + } + + /* BIOs get freed on error */ + if (!TEST_true(create_ssl_objects(sctx, cctx, &sssl, &cssl, s_to_c_fbio, + c_to_s_fbio))) + goto err; + + if (tst >= 6) { + /* Early data */ + if (!TEST_true(SSL_set_session(cssl, sess)) + || !TEST_true(SSL_write_early_data(cssl, msg, strlen(msg), + &written)) + || (tst <= 8 + && !TEST_int_eq(SSL_read_early_data(sssl, buf, sizeof(buf), + &readbytes), + SSL_READ_EARLY_DATA_SUCCESS))) + goto err; + if (tst <= 8) { + if (!TEST_int_gt(SSL_connect(cssl), 0)) + goto err; + } else { + if (!TEST_int_le(SSL_connect(cssl), 0)) + goto err; + } + if (!TEST_int_eq(SSL_read_early_data(sssl, buf, sizeof(buf), + &readbytes), + SSL_READ_EARLY_DATA_FINISH)) + goto err; + } + + /* Perform handshake (or complete it if doing early data ) */ + if (!TEST_true(create_ssl_connection(sssl, cssl, SSL_ERROR_NONE))) + goto err; + + /* + * Check there were no unexpected CCS messages, all record versions + * were as expected, and that the session ids were reflected by the server + * correctly. + */ + if (!TEST_false(badccs) || !TEST_false(badvers) || !TEST_false(badsessid)) + goto err; + + switch (tst) { + case 0: + if (!TEST_true(sccsseen) + || !TEST_true(ccsaftersh) + || !TEST_false(ccsbeforesh) + || !TEST_size_t_gt(chsessidlen, 0)) + goto err; + break; + + case 1: + if (!TEST_true(sccsseen) + || !TEST_false(ccsaftersh) + || !TEST_false(ccsbeforesh) + || !TEST_size_t_eq(chsessidlen, 0)) + goto err; + break; + + case 2: + if (!TEST_false(sccsseen) + || !TEST_true(ccsaftersh) + || !TEST_false(ccsbeforesh) + || !TEST_size_t_gt(chsessidlen, 0)) + goto err; + break; + + case 3: + if (!TEST_true(sccsseen) + || !TEST_true(ccsaftersh) + || !TEST_false(ccsbeforesh) + || !TEST_size_t_gt(chsessidlen, 0)) + goto err; + break; + + case 4: + if (!TEST_true(sccsseen) + || !TEST_false(ccsaftersh) + || !TEST_false(ccsbeforesh) + || !TEST_size_t_eq(chsessidlen, 0)) + goto err; + break; + + case 5: + if (!TEST_false(sccsseen) + || !TEST_true(ccsaftersh) + || !TEST_false(ccsbeforesh) + || !TEST_size_t_gt(chsessidlen, 0)) + goto err; + break; + + case 6: + if (!TEST_true(sccsseen) + || !TEST_false(ccsaftersh) + || !TEST_true(ccsbeforesh) + || !TEST_size_t_gt(chsessidlen, 0)) + goto err; + break; + + case 7: + if (!TEST_true(sccsseen) + || !TEST_false(ccsaftersh) + || !TEST_false(ccsbeforesh) + || !TEST_size_t_eq(chsessidlen, 0)) + goto err; + break; + + case 8: + if (!TEST_false(sccsseen) + || !TEST_false(ccsaftersh) + || !TEST_true(ccsbeforesh) + || !TEST_size_t_gt(chsessidlen, 0)) + goto err; + break; + + case 9: + if (!TEST_true(sccsseen) + || !TEST_false(ccsaftersh) + || !TEST_true(ccsbeforesh) + || !TEST_size_t_gt(chsessidlen, 0)) + goto err; + break; + + case 10: + if (!TEST_true(sccsseen) + || !TEST_false(ccsaftersh) + || !TEST_false(ccsbeforesh) + || !TEST_size_t_eq(chsessidlen, 0)) + goto err; + break; + + case 11: + if (!TEST_false(sccsseen) + || !TEST_false(ccsaftersh) + || !TEST_true(ccsbeforesh) + || !TEST_size_t_gt(chsessidlen, 0)) + goto err; + break; + + default: + TEST_error("Invalid test value"); + goto err; + } + + ret = 1; + err: + SSL_SESSION_free(sess); + SSL_free(sssl); + SSL_free(cssl); + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + + return ret; +} + +int setup_tests(void) +{ + if (!TEST_ptr(cert = test_get_argument(0)) + || !TEST_ptr(privkey = test_get_argument(1))) + return 0; + + ADD_ALL_TESTS(test_tls13ccs, 12); + + return 1; +} + +void cleanup_tests(void) +{ + BIO_meth_free(method_watchccs); +} diff --git a/deps/openssl/openssl/test/tls13encryptiontest.c b/deps/openssl/openssl/test/tls13encryptiontest.c new file mode 100644 index 00000000000000..479ff4105e5237 --- /dev/null +++ b/deps/openssl/openssl/test/tls13encryptiontest.c @@ -0,0 +1,428 @@ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include + +#ifdef __VMS +# pragma names save +# pragma names as_is,shortened +#endif + +#include "../ssl/ssl_local.h" +#include "../ssl/record/record_local.h" + +#ifdef __VMS +# pragma names restore +#endif + +#include "internal/nelem.h" +#include "testutil.h" + +/* + * Based on the test vectors provided in: + * https://tools.ietf.org/html/draft-ietf-tls-tls13-vectors-06 + */ + +typedef struct { + /* + * We split these into 3 chunks in order to work around the 509 character + * limit that the standard specifies for string literals + */ + const char *plaintext[3]; + const char *ciphertext[3]; + const char *key; + const char *iv; + const char *seq; +} RECORD_DATA; + +/* + * Note 1: The plaintext values given here have an additional "16" or "17" byte + * added to the end when compared to the official vectors. The official vectors + * do not include the inner content type, but we require it. + * + * Note 2: These are the vectors for the "Simple 1-RTT Handshake" + */ +static RECORD_DATA refdata[] = { + { + /* + * Server: EncryptedExtensions, Certificate, CertificateVerify and + * Finished + */ + { + "080000240022000a00140012001d00170018001901000101010201030104001c" + "00024001000000000b0001b9000001b50001b0308201ac30820115a003020102" + "020102300d06092a864886f70d01010b0500300e310c300a0603550403130372" + "7361301e170d3136303733303031323335395a170d3236303733303031323335" + "395a300e310c300a0603550403130372736130819f300d06092a864886f70d01" + "0101050003818d0030818902818100b4bb498f8279303d980836399b36c6988c" + "0c68de55e1bdb826d3901a2461eafd2de49a91d015abbc9a95137ace6c1af19e", + "aa6af98c7ced43120998e187a80ee0ccb0524b1b018c3e0b63264d449a6d38e2" + "2a5fda430846748030530ef0461c8ca9d9efbfae8ea6d1d03e2bd193eff0ab9a" + "8002c47428a6d35a8d88d79f7f1e3f0203010001a31a301830090603551d1304" + "023000300b0603551d0f0404030205a0300d06092a864886f70d01010b050003" + "81810085aad2a0e5b9276b908c65f73a7267170618a54c5f8a7b337d2df7a594" + "365417f2eae8f8a58c8f8172f9319cf36b7fd6c55b80f21a03015156726096fd" + "335e5e67f2dbf102702e608ccae6bec1fc63a42a99be5c3eb7107c3c54e9b9eb", + "2bd5203b1c3b84e0a8b2f759409ba3eac9d91d402dcc0cc8f8961229ac9187b4" + "2b4de100000f00008408040080754040d0ddab8cf0e2da2bc4995b868ad745c8" + "e1564e33cde17880a42392cc624aeef6b67bb3f0ae71d9d54a2309731d87dc59" + "f642d733be2eb27484ad8a8c8eb3516a7ac57f2625e2b5c0888a8541f4e734f7" + "3d054761df1dd02f0e3e9a33cfa10b6e3eb4ebf7ac053b01fdabbddfc54133bc" + "d24c8bbdceb223b2aa03452a2914000020ac86acbc9cd25a45b57ad5b64db15d" + "4405cf8c80e314583ebf3283ef9a99310c16" + }, + { + "f10b26d8fcaf67b5b828f712122216a1cd14187465b77637cbcd78539128bb93" + "246dcca1af56f1eaa271666077455bc54965d85f05f9bd36d6996171eb536aff" + "613eeddc42bad5a2d2227c4606f1215f980e7afaf56bd3b85a51be130003101a" + "758d077b1c891d8e7a22947e5a229851fd42a9dd422608f868272abf92b3d43f" + "b46ac420259346067f66322fd708885680f4b4433c29116f2dfa529e09bba53c" + "7cd920121724809eaddcc84307ef46fc51a0b33d99d39db337fcd761ce0f2b02" + "dc73dedb6fddb77c4f8099bde93d5bee08bcf2131f29a2a37ff07949e8f8bcdd", + "3e8310b8bf8b3444c85aaf0d2aeb2d4f36fd14d5cb51fcebff418b3827136ab9" + "529e9a3d3f35e4c0ae749ea2dbc94982a1281d3e6daab719aa4460889321a008" + "bf10fa06ac0c61cc122cc90d5e22c0030c986ae84a33a0c47df174bcfbd50bf7" + "8ffdf24051ab423db63d5815db2f830040f30521131c98c66f16c362addce2fb" + "a0602cf0a7dddf22e8def7516cdfee95b4056cc9ad38c95352335421b5b1ffba" + "df75e5212fdad7a75f52a2801486a1eec3539580bee0e4b337cda6085ac9eccd" + "1a0f1a46cebfbb5cdfa3251ac28c3bc826148c6d8c1eb6a06f77f6ff632c6a83", + "e283e8f9df7c6dbabf1c6ea40629a85b43ab0c73d34f9d5072832a104eda3f75" + "f5d83da6e14822a18e14099d749eafd823ca2ac7542086501eca206ce7887920" + "008573757ce2f230a890782b99cc682377beee812756d04f9025135fb599d746" + "fefe7316c922ac265ca0d29021375adb63c1509c3e242dfb92b8dee891f7368c" + "4058399b8db9075f2dcc8216194e503b6652d87d2cb41f99adfdcc5be5ec7e1e" + "6326ac22d70bd3ba652827532d669aff005173597f8039c3ea4922d3ec757670" + "222f6ac29b93e90d7ad3f6dd96328e429cfcfd5cca22707fe2d86ad1dcb0be75" + "6e8e" + }, + "c66cb1aec519df44c91e10995511ac8b", + "f7f6884c4981716c2d0d29a4", + "0000000000000000" + }, + { + /* Client: Finished */ + { + "14000020b9027a0204b972b52cdefa58950fa1580d68c9cb124dbe691a7178f2" + "5c554b2316", "", "" + }, + { + "9539b4ae2f87fd8e616b295628ea953d9e3858db274970d19813ec136cae7d96" + "e0417775fcabd3d8858fdc60240912d218f5afb21c", "", "" + }, + "2679a43e1d76784034ea1797d5ad2649", + "5482405290dd0d2f81c0d942", + "0000000000000000" + }, + { + /* Server: NewSessionTicket */ + { + "040000c90000001e2fd3992f02000000b2ff099f9676cdff8b0bf8825d000000" + "007905a9d28efeef4a47c6f9b06a0cecdb0070d920b898997c75b79636943ed4" + "2046a96142bd084a04acfa0c490f452d756dea02c0f927259f1f3231ac0d541a" + "769129b740ce38090842b828c27fd729f59737ba98aa7b42e043c5da28f8dca8" + "590b2df410d5134fd6c4cacad8b30370602afa35d265bf4d127976bb36dbda6a" + "626f0270e20eebc73d6fcae2b1a0da122ee9042f76be56ebf41aa469c3d2c9da" + "9197d80008002a00040000040016", "", "" + }, + { + "3680c2b2109d25caa26c3b06eea9fdc5cb31613ba702176596da2e886bf6af93" + "507bd68161ad9cb4780653842e1041ecbf0088a65ac4ef438419dd1d95ddd9bd" + "2ad4484e7e167d0e6c008448ae58a0418713b6fc6c51e4bb23a537fb75a74f73" + "de31fe6aa0bc522515f8b25f8955428b5de5ac06762cec22b0aa78c94385ef8e" + "70fa24945b7c1f268510871689bbbbfaf2e7f4a19277024f95f1143ab12a31ec" + "63adb128cb390711fd6d06a498df3e98615d8eb102e23353b480efcca5e8e026" + "7a6d0fe2441f14c8c9664aefb2cfff6ae9e0442728b6a0940c1e824fda06", + "", "" + + }, + "a688ebb5ac826d6f42d45c0cc44b9b7d", + "c1cad4425a438b5de714830a", + "0000000000000000" + }, + { + /* Client: Application Data */ + { + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f" + "202122232425262728292a2b2c2d2e2f303117", "", "" + }, + { + "8c3497da00ae023e53c01b4324b665404c1b49e78fe2bf4d17f6348ae8340551" + "e363a0cd05f2179c4fef5ad689b5cae0bae94adc63632e571fb79aa91544c639" + "4d28a1", "", "" + + }, + "88b96ad686c84be55ace18a59cce5c87", + "b99dc58cd5ff5ab082fdad19", + "0000000000000000" + }, + + + { + /* Server: Application Data */ + { + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f" + "202122232425262728292a2b2c2d2e2f303117", "", "" + }, + { + "f65f49fd2df6cd2347c3d30166e3cfddb6308a5906c076112c6a37ff1dbd406b" + "5813c0abd734883017a6b2833186b13c14da5d75f33d8760789994e27d82043a" + "b88d65", "", "" + }, + "a688ebb5ac826d6f42d45c0cc44b9b7d", + "c1cad4425a438b5de714830a", + "0000000000000001" + }, + { + /* Client: CloseNotify */ + { + "010015", "", "" + }, + { + "2c2148163d7938a35f6acf2a6606f8cbd1d9f2", "", "" + }, + "88b96ad686c84be55ace18a59cce5c87", + "b99dc58cd5ff5ab082fdad19", + "0000000000000001" + }, + { + /* Server: CloseNotify */ + { + "010015", "", "" + }, + { + "f8141ebdb5eda511e0bce639a56ff9ea825a21", "", "" + + }, + "a688ebb5ac826d6f42d45c0cc44b9b7d", + "c1cad4425a438b5de714830a", + "0000000000000002" + } +}; + +/* + * Same thing as OPENSSL_hexstr2buf() but enables us to pass the string in + * 3 chunks + */ +static unsigned char *multihexstr2buf(const char *str[3], size_t *len) +{ + size_t outer, inner, curr = 0; + unsigned char *outbuf; + size_t totlen = 0; + + /* Check lengths of all input strings are even */ + for (outer = 0; outer < 3; outer++) { + totlen += strlen(str[outer]); + if ((totlen & 1) != 0) + return NULL; + } + + totlen /= 2; + outbuf = OPENSSL_malloc(totlen); + if (outbuf == NULL) + return NULL; + + for (outer = 0; outer < 3; outer++) { + for (inner = 0; str[outer][inner] != 0; inner += 2) { + int hi, lo; + + hi = OPENSSL_hexchar2int(str[outer][inner]); + lo = OPENSSL_hexchar2int(str[outer][inner + 1]); + + if (hi < 0 || lo < 0) { + OPENSSL_free(outbuf); + return NULL; + } + outbuf[curr++] = (hi << 4) | lo; + } + } + + *len = totlen; + return outbuf; +} + +static int load_record(SSL3_RECORD *rec, RECORD_DATA *recd, unsigned char **key, + unsigned char *iv, size_t ivlen, unsigned char *seq) +{ + unsigned char *pt = NULL, *sq = NULL, *ivtmp = NULL; + size_t ptlen; + + *key = OPENSSL_hexstr2buf(recd->key, NULL); + ivtmp = OPENSSL_hexstr2buf(recd->iv, NULL); + sq = OPENSSL_hexstr2buf(recd->seq, NULL); + pt = multihexstr2buf(recd->plaintext, &ptlen); + + if (*key == NULL || ivtmp == NULL || sq == NULL || pt == NULL) + goto err; + + rec->data = rec->input = OPENSSL_malloc(ptlen + EVP_GCM_TLS_TAG_LEN); + + if (rec->data == NULL) + goto err; + + rec->length = ptlen; + memcpy(rec->data, pt, ptlen); + OPENSSL_free(pt); + memcpy(seq, sq, SEQ_NUM_SIZE); + OPENSSL_free(sq); + memcpy(iv, ivtmp, ivlen); + OPENSSL_free(ivtmp); + + return 1; + err: + OPENSSL_free(*key); + *key = NULL; + OPENSSL_free(ivtmp); + OPENSSL_free(sq); + OPENSSL_free(pt); + return 0; +} + +static int test_record(SSL3_RECORD *rec, RECORD_DATA *recd, int enc) +{ + int ret = 0; + unsigned char *refd; + size_t refdatalen; + + if (enc) + refd = multihexstr2buf(recd->ciphertext, &refdatalen); + else + refd = multihexstr2buf(recd->plaintext, &refdatalen); + + if (!TEST_ptr(refd)) { + TEST_info("Failed to get reference data"); + goto err; + } + + if (!TEST_mem_eq(rec->data, rec->length, refd, refdatalen)) + goto err; + + ret = 1; + + err: + OPENSSL_free(refd); + return ret; +} + +#define TLS13_AES_128_GCM_SHA256_BYTES ((const unsigned char *)"\x13\x01") + +static int test_tls13_encryption(void) +{ + SSL_CTX *ctx = NULL; + SSL *s = NULL; + SSL3_RECORD rec; + unsigned char *key = NULL, *iv = NULL, *seq = NULL; + const EVP_CIPHER *ciph = EVP_aes_128_gcm(); + int ret = 0; + size_t ivlen, ctr; + + /* + * Encrypted TLSv1.3 records always have an outer content type of + * application data, and a record version of TLSv1.2. + */ + rec.data = NULL; + rec.type = SSL3_RT_APPLICATION_DATA; + rec.rec_version = TLS1_2_VERSION; + + ctx = SSL_CTX_new(TLS_method()); + if (!TEST_ptr(ctx)) { + TEST_info("Failed creating SSL_CTX"); + goto err; + } + + s = SSL_new(ctx); + if (!TEST_ptr(s)) { + TEST_info("Failed creating SSL"); + goto err; + } + + s->enc_read_ctx = EVP_CIPHER_CTX_new(); + if (!TEST_ptr(s->enc_read_ctx)) + goto err; + + s->enc_write_ctx = EVP_CIPHER_CTX_new(); + if (!TEST_ptr(s->enc_write_ctx)) + goto err; + + s->s3->tmp.new_cipher = SSL_CIPHER_find(s, TLS13_AES_128_GCM_SHA256_BYTES); + if (!TEST_ptr(s->s3->tmp.new_cipher)) { + TEST_info("Failed to find cipher"); + goto err; + } + + for (ctr = 0; ctr < OSSL_NELEM(refdata); ctr++) { + /* Load the record */ + ivlen = EVP_CIPHER_iv_length(ciph); + if (!load_record(&rec, &refdata[ctr], &key, s->read_iv, ivlen, + RECORD_LAYER_get_read_sequence(&s->rlayer))) { + TEST_error("Failed loading key into EVP_CIPHER_CTX"); + goto err; + } + + /* Set up the read/write sequences */ + memcpy(RECORD_LAYER_get_write_sequence(&s->rlayer), + RECORD_LAYER_get_read_sequence(&s->rlayer), SEQ_NUM_SIZE); + memcpy(s->write_iv, s->read_iv, ivlen); + + /* Load the key into the EVP_CIPHER_CTXs */ + if (EVP_CipherInit_ex(s->enc_write_ctx, ciph, NULL, key, NULL, 1) <= 0 + || EVP_CipherInit_ex(s->enc_read_ctx, ciph, NULL, key, NULL, 0) + <= 0) { + TEST_error("Failed loading key into EVP_CIPHER_CTX\n"); + goto err; + } + + /* Encrypt it */ + if (!TEST_size_t_eq(tls13_enc(s, &rec, 1, 1), 1)) { + TEST_info("Failed to encrypt record %zu", ctr); + goto err; + } + if (!TEST_true(test_record(&rec, &refdata[ctr], 1))) { + TEST_info("Record %zu encryption test failed", ctr); + goto err; + } + + /* Decrypt it */ + if (!TEST_int_eq(tls13_enc(s, &rec, 1, 0), 1)) { + TEST_info("Failed to decrypt record %zu", ctr); + goto err; + } + if (!TEST_true(test_record(&rec, &refdata[ctr], 0))) { + TEST_info("Record %zu decryption test failed", ctr); + goto err; + } + + OPENSSL_free(rec.data); + OPENSSL_free(key); + OPENSSL_free(iv); + OPENSSL_free(seq); + rec.data = NULL; + key = NULL; + iv = NULL; + seq = NULL; + } + + TEST_note("PASS: %zu records tested", ctr); + ret = 1; + + err: + OPENSSL_free(rec.data); + OPENSSL_free(key); + OPENSSL_free(iv); + OPENSSL_free(seq); + SSL_free(s); + SSL_CTX_free(ctx); + return ret; +} + +int setup_tests(void) +{ + ADD_TEST(test_tls13_encryption); + return 1; +} diff --git a/deps/openssl/openssl/test/tls13secretstest.c b/deps/openssl/openssl/test/tls13secretstest.c new file mode 100644 index 00000000000000..52fc2b667361ee --- /dev/null +++ b/deps/openssl/openssl/test/tls13secretstest.c @@ -0,0 +1,400 @@ +/* + * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include + +#ifdef __VMS +# pragma names save +# pragma names as_is,shortened +#endif + +#include "../ssl/ssl_local.h" + +#ifdef __VMS +# pragma names restore +#endif + +#include "testutil.h" + +#define IVLEN 12 +#define KEYLEN 16 + +/* + * Based on the test vectors available in: + * https://tools.ietf.org/html/draft-ietf-tls-tls13-vectors-06 + */ + +static unsigned char hs_start_hash[] = { +0xc6, 0xc9, 0x18, 0xad, 0x2f, 0x41, 0x99, 0xd5, 0x59, 0x8e, 0xaf, 0x01, 0x16, +0xcb, 0x7a, 0x5c, 0x2c, 0x14, 0xcb, 0x54, 0x78, 0x12, 0x18, 0x88, 0x8d, 0xb7, +0x03, 0x0d, 0xd5, 0x0d, 0x5e, 0x6d +}; + +static unsigned char hs_full_hash[] = { +0xf8, 0xc1, 0x9e, 0x8c, 0x77, 0xc0, 0x38, 0x79, 0xbb, 0xc8, 0xeb, 0x6d, 0x56, +0xe0, 0x0d, 0xd5, 0xd8, 0x6e, 0xf5, 0x59, 0x27, 0xee, 0xfc, 0x08, 0xe1, 0xb0, +0x02, 0xb6, 0xec, 0xe0, 0x5d, 0xbf +}; + +static unsigned char early_secret[] = { +0x33, 0xad, 0x0a, 0x1c, 0x60, 0x7e, 0xc0, 0x3b, 0x09, 0xe6, 0xcd, 0x98, 0x93, +0x68, 0x0c, 0xe2, 0x10, 0xad, 0xf3, 0x00, 0xaa, 0x1f, 0x26, 0x60, 0xe1, 0xb2, +0x2e, 0x10, 0xf1, 0x70, 0xf9, 0x2a +}; + +static unsigned char ecdhe_secret[] = { +0x81, 0x51, 0xd1, 0x46, 0x4c, 0x1b, 0x55, 0x53, 0x36, 0x23, 0xb9, 0xc2, 0x24, +0x6a, 0x6a, 0x0e, 0x6e, 0x7e, 0x18, 0x50, 0x63, 0xe1, 0x4a, 0xfd, 0xaf, 0xf0, +0xb6, 0xe1, 0xc6, 0x1a, 0x86, 0x42 +}; + +static unsigned char handshake_secret[] = { +0x5b, 0x4f, 0x96, 0x5d, 0xf0, 0x3c, 0x68, 0x2c, 0x46, 0xe6, 0xee, 0x86, 0xc3, +0x11, 0x63, 0x66, 0x15, 0xa1, 0xd2, 0xbb, 0xb2, 0x43, 0x45, 0xc2, 0x52, 0x05, +0x95, 0x3c, 0x87, 0x9e, 0x8d, 0x06 +}; + +static const char *client_hts_label = "c hs traffic"; + +static unsigned char client_hts[] = { +0xe2, 0xe2, 0x32, 0x07, 0xbd, 0x93, 0xfb, 0x7f, 0xe4, 0xfc, 0x2e, 0x29, 0x7a, +0xfe, 0xab, 0x16, 0x0e, 0x52, 0x2b, 0x5a, 0xb7, 0x5d, 0x64, 0xa8, 0x6e, 0x75, +0xbc, 0xac, 0x3f, 0x3e, 0x51, 0x03 +}; + +static unsigned char client_hts_key[] = { +0x26, 0x79, 0xa4, 0x3e, 0x1d, 0x76, 0x78, 0x40, 0x34, 0xea, 0x17, 0x97, 0xd5, +0xad, 0x26, 0x49 +}; + +static unsigned char client_hts_iv[] = { +0x54, 0x82, 0x40, 0x52, 0x90, 0xdd, 0x0d, 0x2f, 0x81, 0xc0, 0xd9, 0x42 +}; + +static const char *server_hts_label = "s hs traffic"; + +static unsigned char server_hts[] = { +0x3b, 0x7a, 0x83, 0x9c, 0x23, 0x9e, 0xf2, 0xbf, 0x0b, 0x73, 0x05, 0xa0, 0xe0, +0xc4, 0xe5, 0xa8, 0xc6, 0xc6, 0x93, 0x30, 0xa7, 0x53, 0xb3, 0x08, 0xf5, 0xe3, +0xa8, 0x3a, 0xa2, 0xef, 0x69, 0x79 +}; + +static unsigned char server_hts_key[] = { +0xc6, 0x6c, 0xb1, 0xae, 0xc5, 0x19, 0xdf, 0x44, 0xc9, 0x1e, 0x10, 0x99, 0x55, +0x11, 0xac, 0x8b +}; + +static unsigned char server_hts_iv[] = { +0xf7, 0xf6, 0x88, 0x4c, 0x49, 0x81, 0x71, 0x6c, 0x2d, 0x0d, 0x29, 0xa4 +}; + +static unsigned char master_secret[] = { +0x5c, 0x79, 0xd1, 0x69, 0x42, 0x4e, 0x26, 0x2b, 0x56, 0x32, 0x03, 0x62, 0x7b, +0xe4, 0xeb, 0x51, 0x03, 0x3f, 0x58, 0x8c, 0x43, 0xc9, 0xce, 0x03, 0x73, 0x37, +0x2d, 0xbc, 0xbc, 0x01, 0x85, 0xa7 +}; + +static const char *client_ats_label = "c ap traffic"; + +static unsigned char client_ats[] = { +0xe2, 0xf0, 0xdb, 0x6a, 0x82, 0xe8, 0x82, 0x80, 0xfc, 0x26, 0xf7, 0x3c, 0x89, +0x85, 0x4e, 0xe8, 0x61, 0x5e, 0x25, 0xdf, 0x28, 0xb2, 0x20, 0x79, 0x62, 0xfa, +0x78, 0x22, 0x26, 0xb2, 0x36, 0x26 +}; + +static unsigned char client_ats_key[] = { +0x88, 0xb9, 0x6a, 0xd6, 0x86, 0xc8, 0x4b, 0xe5, 0x5a, 0xce, 0x18, 0xa5, 0x9c, +0xce, 0x5c, 0x87 +}; + +static unsigned char client_ats_iv[] = { +0xb9, 0x9d, 0xc5, 0x8c, 0xd5, 0xff, 0x5a, 0xb0, 0x82, 0xfd, 0xad, 0x19 +}; + +static const char *server_ats_label = "s ap traffic"; + +static unsigned char server_ats[] = { +0x5b, 0x73, 0xb1, 0x08, 0xd9, 0xac, 0x1b, 0x9b, 0x0c, 0x82, 0x48, 0xca, 0x39, +0x26, 0xec, 0x6e, 0x7b, 0xc4, 0x7e, 0x41, 0x17, 0x06, 0x96, 0x39, 0x87, 0xec, +0x11, 0x43, 0x5d, 0x30, 0x57, 0x19 +}; + +static unsigned char server_ats_key[] = { +0xa6, 0x88, 0xeb, 0xb5, 0xac, 0x82, 0x6d, 0x6f, 0x42, 0xd4, 0x5c, 0x0c, 0xc4, +0x4b, 0x9b, 0x7d +}; + +static unsigned char server_ats_iv[] = { +0xc1, 0xca, 0xd4, 0x42, 0x5a, 0x43, 0x8b, 0x5d, 0xe7, 0x14, 0x83, 0x0a +}; + +/* Mocked out implementations of various functions */ +int ssl3_digest_cached_records(SSL *s, int keep) +{ + return 1; +} + +static int full_hash = 0; + +/* Give a hash of the currently set handshake */ +int ssl_handshake_hash(SSL *s, unsigned char *out, size_t outlen, + size_t *hashlen) +{ + if (sizeof(hs_start_hash) > outlen + || sizeof(hs_full_hash) != sizeof(hs_start_hash)) + return 0; + + if (full_hash) { + memcpy(out, hs_full_hash, sizeof(hs_full_hash)); + *hashlen = sizeof(hs_full_hash); + } else { + memcpy(out, hs_start_hash, sizeof(hs_start_hash)); + *hashlen = sizeof(hs_start_hash); + } + + return 1; +} + +const EVP_MD *ssl_handshake_md(SSL *s) +{ + return EVP_sha256(); +} + +void RECORD_LAYER_reset_read_sequence(RECORD_LAYER *rl) +{ +} + +void RECORD_LAYER_reset_write_sequence(RECORD_LAYER *rl) +{ +} + +int ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc, + const EVP_MD **md, int *mac_pkey_type, + size_t *mac_secret_size, SSL_COMP **comp, int use_etm) + +{ + return 0; +} + +int tls1_alert_code(int code) +{ + return code; +} + +int ssl_log_secret(SSL *ssl, + const char *label, + const uint8_t *secret, + size_t secret_len) +{ + return 1; +} + +const EVP_MD *ssl_md(int idx) +{ + return EVP_sha256(); +} + +void ossl_statem_fatal(SSL *s, int al, int func, int reason, const char *file, + int line) +{ +} + +int ossl_statem_export_allowed(SSL *s) +{ + return 1; +} + +int ossl_statem_export_early_allowed(SSL *s) +{ + return 1; +} + +/* End of mocked out code */ + +static int test_secret(SSL *s, unsigned char *prk, + const unsigned char *label, size_t labellen, + const unsigned char *ref_secret, + const unsigned char *ref_key, const unsigned char *ref_iv) +{ + size_t hashsize; + unsigned char gensecret[EVP_MAX_MD_SIZE]; + unsigned char hash[EVP_MAX_MD_SIZE]; + unsigned char key[KEYLEN]; + unsigned char iv[IVLEN]; + const EVP_MD *md = ssl_handshake_md(s); + + if (!ssl_handshake_hash(s, hash, sizeof(hash), &hashsize)) { + TEST_error("Failed to get hash"); + return 0; + } + + if (!tls13_hkdf_expand(s, md, prk, label, labellen, hash, hashsize, + gensecret, hashsize, 1)) { + TEST_error("Secret generation failed"); + return 0; + } + + if (!TEST_mem_eq(gensecret, hashsize, ref_secret, hashsize)) + return 0; + + if (!tls13_derive_key(s, md, gensecret, key, KEYLEN)) { + TEST_error("Key generation failed"); + return 0; + } + + if (!TEST_mem_eq(key, KEYLEN, ref_key, KEYLEN)) + return 0; + + if (!tls13_derive_iv(s, md, gensecret, iv, IVLEN)) { + TEST_error("IV generation failed"); + return 0; + } + + if (!TEST_mem_eq(iv, IVLEN, ref_iv, IVLEN)) + return 0; + + return 1; +} + +static int test_handshake_secrets(void) +{ + SSL_CTX *ctx = NULL; + SSL *s = NULL; + int ret = 0; + size_t hashsize; + unsigned char out_master_secret[EVP_MAX_MD_SIZE]; + size_t master_secret_length; + + ctx = SSL_CTX_new(TLS_method()); + if (!TEST_ptr(ctx)) + goto err; + + s = SSL_new(ctx); + if (!TEST_ptr(s )) + goto err; + + s->session = SSL_SESSION_new(); + if (!TEST_ptr(s->session)) + goto err; + + if (!TEST_true(tls13_generate_secret(s, ssl_handshake_md(s), NULL, NULL, 0, + (unsigned char *)&s->early_secret))) { + TEST_info("Early secret generation failed"); + goto err; + } + + if (!TEST_mem_eq(s->early_secret, sizeof(early_secret), + early_secret, sizeof(early_secret))) { + TEST_info("Early secret does not match"); + goto err; + } + + if (!TEST_true(tls13_generate_handshake_secret(s, ecdhe_secret, + sizeof(ecdhe_secret)))) { + TEST_info("Handshake secret generation failed"); + goto err; + } + + if (!TEST_mem_eq(s->handshake_secret, sizeof(handshake_secret), + handshake_secret, sizeof(handshake_secret))) + goto err; + + hashsize = EVP_MD_size(ssl_handshake_md(s)); + if (!TEST_size_t_eq(sizeof(client_hts), hashsize)) + goto err; + if (!TEST_size_t_eq(sizeof(client_hts_key), KEYLEN)) + goto err; + if (!TEST_size_t_eq(sizeof(client_hts_iv), IVLEN)) + goto err; + + if (!TEST_true(test_secret(s, s->handshake_secret, + (unsigned char *)client_hts_label, + strlen(client_hts_label), client_hts, + client_hts_key, client_hts_iv))) { + TEST_info("Client handshake secret test failed"); + goto err; + } + + if (!TEST_size_t_eq(sizeof(server_hts), hashsize)) + goto err; + if (!TEST_size_t_eq(sizeof(server_hts_key), KEYLEN)) + goto err; + if (!TEST_size_t_eq(sizeof(server_hts_iv), IVLEN)) + goto err; + + if (!TEST_true(test_secret(s, s->handshake_secret, + (unsigned char *)server_hts_label, + strlen(server_hts_label), server_hts, + server_hts_key, server_hts_iv))) { + TEST_info("Server handshake secret test failed"); + goto err; + } + + /* + * Ensure the mocked out ssl_handshake_hash() returns the full handshake + * hash. + */ + full_hash = 1; + + if (!TEST_true(tls13_generate_master_secret(s, out_master_secret, + s->handshake_secret, hashsize, + &master_secret_length))) { + TEST_info("Master secret generation failed"); + goto err; + } + + if (!TEST_mem_eq(out_master_secret, master_secret_length, + master_secret, sizeof(master_secret))) { + TEST_info("Master secret does not match"); + goto err; + } + + if (!TEST_size_t_eq(sizeof(client_ats), hashsize)) + goto err; + if (!TEST_size_t_eq(sizeof(client_ats_key), KEYLEN)) + goto err; + if (!TEST_size_t_eq(sizeof(client_ats_iv), IVLEN)) + goto err; + + if (!TEST_true(test_secret(s, out_master_secret, + (unsigned char *)client_ats_label, + strlen(client_ats_label), client_ats, + client_ats_key, client_ats_iv))) { + TEST_info("Client application data secret test failed"); + goto err; + } + + if (!TEST_size_t_eq(sizeof(server_ats), hashsize)) + goto err; + if (!TEST_size_t_eq(sizeof(server_ats_key), KEYLEN)) + goto err; + if (!TEST_size_t_eq(sizeof(server_ats_iv), IVLEN)) + goto err; + + if (!TEST_true(test_secret(s, out_master_secret, + (unsigned char *)server_ats_label, + strlen(server_ats_label), server_ats, + server_ats_key, server_ats_iv))) { + TEST_info("Server application data secret test failed"); + goto err; + } + + ret = 1; + err: + SSL_free(s); + SSL_CTX_free(ctx); + return ret; +} + +int setup_tests(void) +{ + ADD_TEST(test_handshake_secrets); + return 1; +} diff --git a/deps/openssl/openssl/test/uitest.c b/deps/openssl/openssl/test/uitest.c new file mode 100644 index 00000000000000..03db008c71c195 --- /dev/null +++ b/deps/openssl/openssl/test/uitest.c @@ -0,0 +1,96 @@ +/* + * Copyright 2002-2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include +#include +#include +#include "apps.h" +#include "testutil.h" + +/* apps/apps.c depend on these */ +char *default_config_file = NULL; + +#include + +/* Old style PEM password callback */ +static int test_pem_password_cb(char *buf, int size, int rwflag, void *userdata) +{ + OPENSSL_strlcpy(buf, (char *)userdata, (size_t)size); + return strlen(buf); +} + +/* + * Test wrapping old style PEM password callback in a UI method through the + * use of UI utility functions + */ +static int test_old(void) +{ + UI_METHOD *ui_method = NULL; + UI *ui = NULL; + char defpass[] = "password"; + char pass[16]; + int ok = 0; + + if (!TEST_ptr(ui_method = + UI_UTIL_wrap_read_pem_callback( test_pem_password_cb, 0)) + || !TEST_ptr(ui = UI_new_method(ui_method))) + goto err; + + /* The wrapper passes the UI userdata as the callback userdata param */ + UI_add_user_data(ui, defpass); + + if (!UI_add_input_string(ui, "prompt", UI_INPUT_FLAG_DEFAULT_PWD, + pass, 0, sizeof(pass) - 1)) + goto err; + + switch (UI_process(ui)) { + case -2: + TEST_info("test_old: UI process interrupted or cancelled"); + /* fall through */ + case -1: + goto err; + default: + break; + } + + if (TEST_str_eq(pass, defpass)) + ok = 1; + + err: + UI_free(ui); + UI_destroy_method(ui_method); + + return ok; +} + +/* Test of UI. This uses the UI method defined in apps/apps.c */ +static int test_new_ui(void) +{ + PW_CB_DATA cb_data = { + "password", + "prompt" + }; + char pass[16]; + int ok = 0; + + setup_ui_method(); + if (TEST_int_gt(password_callback(pass, sizeof(pass), 0, &cb_data), 0) + && TEST_str_eq(pass, cb_data.password)) + ok = 1; + destroy_ui_method(); + return ok; +} + +int setup_tests(void) +{ + ADD_TEST(test_old); + ADD_TEST(test_new_ui); + return 1; +} diff --git a/deps/openssl/openssl/test/wpackettest.c b/deps/openssl/openssl/test/wpackettest.c new file mode 100644 index 00000000000000..4c779c875c2ecc --- /dev/null +++ b/deps/openssl/openssl/test/wpackettest.c @@ -0,0 +1,380 @@ +/* + * Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include + +#ifdef __VMS +# pragma names save +# pragma names as_is,shortened +#endif + +#include "../ssl/packet_local.h" + +#ifdef __VMS +# pragma names restore +#endif + +#include "testutil.h" + +static const unsigned char simple1[] = { 0xff }; +static const unsigned char simple2[] = { 0x01, 0xff }; +static const unsigned char simple3[] = { 0x00, 0x00, 0x00, 0x01, 0xff }; +static const unsigned char nestedsub[] = { 0x03, 0xff, 0x01, 0xff }; +static const unsigned char seqsub[] = { 0x01, 0xff, 0x01, 0xff }; +static const unsigned char empty[] = { 0x00 }; +static const unsigned char alloc[] = { 0x02, 0xfe, 0xff }; +static const unsigned char submem[] = { 0x03, 0x02, 0xfe, 0xff }; +static const unsigned char fixed[] = { 0xff, 0xff, 0xff }; + +static BUF_MEM *buf; + +static int cleanup(WPACKET *pkt) +{ + WPACKET_cleanup(pkt); + return 0; +} + +static int test_WPACKET_init(void) +{ + WPACKET pkt; + int i; + size_t written; + unsigned char sbuf[3]; + + if (!TEST_true(WPACKET_init(&pkt, buf)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + /* Closing a top level WPACKET should fail */ + || !TEST_false(WPACKET_close(&pkt)) + /* Finishing a top level WPACKET should succeed */ + || !TEST_true(WPACKET_finish(&pkt)) + /* + * Can't call close or finish on a WPACKET that's already + * finished. + */ + || !TEST_false(WPACKET_close(&pkt)) + || !TEST_false(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, simple1, sizeof(simple1))) + return cleanup(&pkt); + + /* Now try with a one byte length prefix */ + if (!TEST_true(WPACKET_init_len(&pkt, buf, 1)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, simple2, sizeof(simple2))) + return cleanup(&pkt); + + /* And a longer length prefix */ + if (!TEST_true(WPACKET_init_len(&pkt, buf, 4)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, simple3, sizeof(simple3))) + return cleanup(&pkt); + + if (!TEST_true(WPACKET_init_len(&pkt, buf, 1))) + return cleanup(&pkt); + for (i = 1; i < 257; i++) { + /* + * Putting more bytes in than fit for the size of the length prefix + * should fail + */ + if (!TEST_int_eq(WPACKET_put_bytes_u8(&pkt, 0xff), i < 256)) + return cleanup(&pkt); + } + if (!TEST_true(WPACKET_finish(&pkt))) + return cleanup(&pkt); + + /* Test initialising from a fixed size buffer */ + if (!TEST_true(WPACKET_init_static_len(&pkt, sbuf, sizeof(sbuf), 0)) + /* Adding 3 bytes should succeed */ + || !TEST_true(WPACKET_put_bytes_u24(&pkt, 0xffffff)) + /* Adding 1 more byte should fail */ + || !TEST_false(WPACKET_put_bytes_u8(&pkt, 0xff)) + /* Finishing the top level WPACKET should succeed */ + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(sbuf, written, fixed, sizeof(sbuf)) + /* Initialise with 1 len byte */ + || !TEST_true(WPACKET_init_static_len(&pkt, sbuf, sizeof(sbuf), 1)) + /* Adding 2 bytes should succeed */ + || !TEST_true(WPACKET_put_bytes_u16(&pkt, 0xfeff)) + /* Adding 1 more byte should fail */ + || !TEST_false(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(sbuf, written, alloc, sizeof(alloc))) + return cleanup(&pkt); + + return 1; +} + +static int test_WPACKET_set_max_size(void) +{ + WPACKET pkt; + size_t written; + + if (!TEST_true(WPACKET_init(&pkt, buf)) + /* + * No previous lenbytes set so we should be ok to set the max + * possible max size + */ + || !TEST_true(WPACKET_set_max_size(&pkt, SIZE_MAX)) + /* We should be able to set it smaller too */ + || !TEST_true(WPACKET_set_max_size(&pkt, SIZE_MAX -1)) + /* And setting it bigger again should be ok */ + || !TEST_true(WPACKET_set_max_size(&pkt, SIZE_MAX)) + || !TEST_true(WPACKET_finish(&pkt))) + return cleanup(&pkt); + + if (!TEST_true(WPACKET_init_len(&pkt, buf, 1)) + /* + * Should fail because we already consumed 1 byte with the + * length + */ + || !TEST_false(WPACKET_set_max_size(&pkt, 0)) + /* + * Max size can't be bigger than biggest that will fit in + * lenbytes + */ + || !TEST_false(WPACKET_set_max_size(&pkt, 0x0101)) + /* It can be the same as the maximum possible size */ + || !TEST_true(WPACKET_set_max_size(&pkt, 0x0100)) + /* Or it can be less */ + || !TEST_true(WPACKET_set_max_size(&pkt, 0x01)) + /* Should fail because packet is already filled */ + || !TEST_false(WPACKET_put_bytes_u8(&pkt, 0xff)) + /* You can't put in more bytes than max size */ + || !TEST_true(WPACKET_set_max_size(&pkt, 0x02)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_false(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, simple2, sizeof(simple2))) + return cleanup(&pkt); + + return 1; +} + +static int test_WPACKET_start_sub_packet(void) +{ + WPACKET pkt; + size_t written; + size_t len; + + if (!TEST_true(WPACKET_init(&pkt, buf)) + || !TEST_true(WPACKET_start_sub_packet(&pkt)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + /* Can't finish because we have a sub packet */ + || !TEST_false(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_close(&pkt)) + /* Sub packet is closed so can't close again */ + || !TEST_false(WPACKET_close(&pkt)) + /* Now a top level so finish should succeed */ + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, simple1, sizeof(simple1))) + return cleanup(&pkt); + + /* Single sub-packet with length prefix */ + if (!TEST_true(WPACKET_init(&pkt, buf)) + || !TEST_true(WPACKET_start_sub_packet_u8(&pkt)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_close(&pkt)) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, simple2, sizeof(simple2))) + return cleanup(&pkt); + + /* Nested sub-packets with length prefixes */ + if (!TEST_true(WPACKET_init(&pkt, buf)) + || !TEST_true(WPACKET_start_sub_packet_u8(&pkt)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_start_sub_packet_u8(&pkt)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_get_length(&pkt, &len)) + || !TEST_size_t_eq(len, 1) + || !TEST_true(WPACKET_close(&pkt)) + || !TEST_true(WPACKET_get_length(&pkt, &len)) + || !TEST_size_t_eq(len, 3) + || !TEST_true(WPACKET_close(&pkt)) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, nestedsub, sizeof(nestedsub))) + return cleanup(&pkt); + + /* Sequential sub-packets with length prefixes */ + if (!TEST_true(WPACKET_init(&pkt, buf)) + || !TEST_true(WPACKET_start_sub_packet_u8(&pkt)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_close(&pkt)) + || !TEST_true(WPACKET_start_sub_packet_u8(&pkt)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_close(&pkt)) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, seqsub, sizeof(seqsub))) + return cleanup(&pkt); + + /* Nested sub-packets with lengths filled before finish */ + if (!TEST_true(WPACKET_init(&pkt, buf)) + || !TEST_true(WPACKET_start_sub_packet_u8(&pkt)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_start_sub_packet_u8(&pkt)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_get_length(&pkt, &len)) + || !TEST_size_t_eq(len, 1) + || !TEST_true(WPACKET_close(&pkt)) + || !TEST_true(WPACKET_get_length(&pkt, &len)) + || !TEST_size_t_eq(len, 3) + || !TEST_true(WPACKET_close(&pkt)) + || !TEST_true(WPACKET_fill_lengths(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, nestedsub, sizeof(nestedsub)) + || !TEST_true(WPACKET_finish(&pkt))) + return cleanup(&pkt); + + return 1; +} + + +static int test_WPACKET_set_flags(void) +{ + WPACKET pkt; + size_t written; + + /* Set packet to be non-zero length */ + if (!TEST_true(WPACKET_init(&pkt, buf)) + || !TEST_true(WPACKET_set_flags(&pkt, WPACKET_FLAGS_NON_ZERO_LENGTH)) + /* Should fail because of zero length */ + || !TEST_false(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, simple1, sizeof(simple1))) + return cleanup(&pkt); + + /* Repeat above test in a sub-packet */ + if (!TEST_true(WPACKET_init(&pkt, buf)) + || !TEST_true(WPACKET_start_sub_packet(&pkt)) + || !TEST_true(WPACKET_set_flags(&pkt, WPACKET_FLAGS_NON_ZERO_LENGTH)) + /* Should fail because of zero length */ + || !TEST_false(WPACKET_close(&pkt)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_close(&pkt)) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, simple1, sizeof(simple1))) + return cleanup(&pkt); + + /* Set packet to abandon non-zero length */ + if (!TEST_true(WPACKET_init_len(&pkt, buf, 1)) + || !TEST_true(WPACKET_set_flags(&pkt, WPACKET_FLAGS_ABANDON_ON_ZERO_LENGTH)) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_size_t_eq(written, 0)) + return cleanup(&pkt); + + /* Repeat above test but only abandon a sub-packet */ + if (!TEST_true(WPACKET_init_len(&pkt, buf, 1)) + || !TEST_true(WPACKET_start_sub_packet_u8(&pkt)) + || !TEST_true(WPACKET_set_flags(&pkt, WPACKET_FLAGS_ABANDON_ON_ZERO_LENGTH)) + || !TEST_true(WPACKET_close(&pkt)) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, empty, sizeof(empty))) + return cleanup(&pkt); + + /* And repeat with a non empty sub-packet */ + if (!TEST_true(WPACKET_init(&pkt, buf)) + || !TEST_true(WPACKET_start_sub_packet_u8(&pkt)) + || !TEST_true(WPACKET_set_flags(&pkt, WPACKET_FLAGS_ABANDON_ON_ZERO_LENGTH)) + || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff)) + || !TEST_true(WPACKET_close(&pkt)) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, simple2, sizeof(simple2))) + return cleanup(&pkt); + return 1; +} + +static int test_WPACKET_allocate_bytes(void) +{ + WPACKET pkt; + size_t written; + unsigned char *bytes; + + if (!TEST_true(WPACKET_init_len(&pkt, buf, 1)) + || !TEST_true(WPACKET_allocate_bytes(&pkt, 2, &bytes))) + return cleanup(&pkt); + bytes[0] = 0xfe; + bytes[1] = 0xff; + if (!TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, alloc, sizeof(alloc))) + return cleanup(&pkt); + + /* Repeat with WPACKET_sub_allocate_bytes */ + if (!TEST_true(WPACKET_init_len(&pkt, buf, 1)) + || !TEST_true(WPACKET_sub_allocate_bytes_u8(&pkt, 2, &bytes))) + return cleanup(&pkt); + bytes[0] = 0xfe; + bytes[1] = 0xff; + if (!TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, submem, sizeof(submem))) + return cleanup(&pkt); + + return 1; +} + +static int test_WPACKET_memcpy(void) +{ + WPACKET pkt; + size_t written; + const unsigned char bytes[] = { 0xfe, 0xff }; + + if (!TEST_true(WPACKET_init_len(&pkt, buf, 1)) + || !TEST_true(WPACKET_memcpy(&pkt, bytes, sizeof(bytes))) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, alloc, sizeof(alloc))) + return cleanup(&pkt); + + /* Repeat with WPACKET_sub_memcpy() */ + if (!TEST_true(WPACKET_init_len(&pkt, buf, 1)) + || !TEST_true(WPACKET_sub_memcpy_u8(&pkt, bytes, sizeof(bytes))) + || !TEST_true(WPACKET_finish(&pkt)) + || !TEST_true(WPACKET_get_total_written(&pkt, &written)) + || !TEST_mem_eq(buf->data, written, submem, sizeof(submem))) + return cleanup(&pkt); + + return 1; +} + +int setup_tests(void) +{ + if (!TEST_ptr(buf = BUF_MEM_new())) + return 0; + + ADD_TEST(test_WPACKET_init); + ADD_TEST(test_WPACKET_set_max_size); + ADD_TEST(test_WPACKET_start_sub_packet); + ADD_TEST(test_WPACKET_set_flags); + ADD_TEST(test_WPACKET_allocate_bytes); + ADD_TEST(test_WPACKET_memcpy); + return 1; +} + +void cleanup_tests(void) +{ + BUF_MEM_free(buf); +} diff --git a/deps/openssl/openssl/test/x509_check_cert_pkey_test.c b/deps/openssl/openssl/test/x509_check_cert_pkey_test.c new file mode 100644 index 00000000000000..1cad49e8035ca7 --- /dev/null +++ b/deps/openssl/openssl/test/x509_check_cert_pkey_test.c @@ -0,0 +1,122 @@ +/* + * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include +#include + +#include +#include +#include "testutil.h" + +/* + * c: path of a cert in PEM format + * k: path of a key in PEM format + * t: API type, "cert" for X509_ and "req" for X509_REQ_ APIs. + * e: expected, "ok" for success, "failed" for what should fail. + */ +static const char *c; +static const char *k; +static const char *t; +static const char *e; + +static int test_x509_check_cert_pkey(void) +{ + BIO *bio = NULL; + X509 *x509 = NULL; + X509_REQ *x509_req = NULL; + EVP_PKEY *pkey = NULL; + int ret = 0, type = 0, expected = 0, result = 0; + + /* + * we check them first thus if fails we don't need to do + * those PEM parsing operations. + */ + if (strcmp(t, "cert") == 0) { + type = 1; + } else if (strcmp(t, "req") == 0) { + type = 2; + } else { + TEST_error("invalid 'type'"); + goto failed; + } + + if (strcmp(e, "ok") == 0) { + expected = 1; + } else if (strcmp(e, "failed") == 0) { + expected = 0; + } else { + TEST_error("invalid 'expected'"); + goto failed; + } + + /* process private key */ + if (!TEST_ptr(bio = BIO_new_file(k, "r"))) + goto failed; + + if (!TEST_ptr(pkey = PEM_read_bio_PrivateKey(bio, NULL, NULL, NULL))) + goto failed; + + BIO_free(bio); + + /* process cert or cert request, use the same local var */ + if (!TEST_ptr(bio = BIO_new_file(c, "r"))) + goto failed; + + switch (type) { + case 1: + x509 = PEM_read_bio_X509(bio, NULL, NULL, NULL); + if (x509 == NULL) { + TEST_error("read PEM x509 failed"); + goto failed; + } + + result = X509_check_private_key(x509, pkey); + break; + case 2: + x509_req = PEM_read_bio_X509_REQ(bio, NULL, NULL, NULL); + if (x509_req == NULL) { + TEST_error("read PEM x509 req failed"); + goto failed; + } + + result = X509_REQ_check_private_key(x509_req, pkey); + break; + default: + /* should never be here */ + break; + } + + if (!TEST_int_eq(result, expected)) { + TEST_error("check private key: expected: %d, got: %d", expected, result); + goto failed; + } + + ret = 1; +failed: + BIO_free(bio); + X509_free(x509); + X509_REQ_free(x509_req); + EVP_PKEY_free(pkey); + return ret; +} + +int setup_tests(void) +{ + if (!TEST_ptr(c = test_get_argument(0)) + || !TEST_ptr(k = test_get_argument(1)) + || !TEST_ptr(t = test_get_argument(2)) + || !TEST_ptr(e = test_get_argument(3))) { + TEST_note("usage: x509_check_cert_pkey cert.pem|cert.req" + " key.pem cert|req "); + return 0; + } + + ADD_TEST(test_x509_check_cert_pkey); + return 1; +} diff --git a/deps/openssl/openssl/test/x509_internal_test.c b/deps/openssl/openssl/test/x509_internal_test.c new file mode 100644 index 00000000000000..d2f41d708509e1 --- /dev/null +++ b/deps/openssl/openssl/test/x509_internal_test.c @@ -0,0 +1,64 @@ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* Internal tests for the x509 and x509v3 modules */ + +#include +#include + +#include +#include +#include "testutil.h" +#include "internal/nelem.h" + +/********************************************************************** + * + * Test of x509v3 + * + ***/ + +#ifdef __VMS +# pragma names save +# pragma names as_is,shortened +#endif + +#include "../crypto/x509v3/ext_dat.h" +#include "../crypto/x509v3/standard_exts.h" + +#ifdef __VMS +# pragma names restore +#endif + +static int test_standard_exts(void) +{ + size_t i; + int prev = -1, good = 1; + const X509V3_EXT_METHOD **tmp; + + tmp = standard_exts; + for (i = 0; i < OSSL_NELEM(standard_exts); i++, tmp++) { + if ((*tmp)->ext_nid < prev) + good = 0; + prev = (*tmp)->ext_nid; + + } + if (!good) { + tmp = standard_exts; + TEST_error("Extensions out of order!"); + for (i = 0; i < STANDARD_EXTENSION_COUNT; i++, tmp++) + TEST_note("%d : %s", (*tmp)->ext_nid, OBJ_nid2sn((*tmp)->ext_nid)); + } + return good; +} + +int setup_tests(void) +{ + ADD_TEST(test_standard_exts); + return 1; +} diff --git a/deps/openssl/openssl/util/find-doc-nits b/deps/openssl/openssl/util/find-doc-nits index 699887a2674460..f2fd85ce8e8fb7 100755 --- a/deps/openssl/openssl/util/find-doc-nits +++ b/deps/openssl/openssl/util/find-doc-nits @@ -35,7 +35,7 @@ Find small errors (nits) in documentation. Options: -l Print bogus links -n Print nits in POD pages -p Warn if non-public name documented (implies -n) - -u List undocumented functions + -u Count undocumented functions -h Print this help message -c List undocumented commands and options EOF @@ -294,6 +294,7 @@ my %docced; sub checkmacros() { my $count = 0; + my %seen; print "# Checking macros (approximate)\n"; foreach my $f ( glob('include/openssl/*.h') ) { @@ -305,7 +306,7 @@ sub checkmacros() while ( ) { next unless /^#\s*define\s*(\S+)\(/; my $macro = $1; - next if $docced{$macro}; + next if $docced{$macro} || defined $seen{$macro}; next if $macro =~ /i2d_/ || $macro =~ /d2i_/ || $macro =~ /DEPRECATEDIN/ @@ -313,6 +314,7 @@ sub checkmacros() || $macro =~ /DECLARE_/; print "$f:$macro\n" if $opt_d; $count++; + $seen{$macro} = 1; } close(IN); } @@ -324,15 +326,17 @@ sub printem() my $libname = shift; my $numfile = shift; my $count = 0; + my %seen; foreach my $func ( &parsenum($numfile) ) { - next if $docced{$func}; + next if $docced{$func} || defined $seen{$func}; # Skip ASN1 utilities next if $func =~ /^ASN1_/; print "$libname:$func\n" if $opt_d; $count++; + $seen{$func} = 1; } print "# Found $count missing from $numfile\n\n"; } diff --git a/deps/openssl/openssl/util/fix-includes b/deps/openssl/openssl/util/fix-includes new file mode 100755 index 00000000000000..c49163875b642b --- /dev/null +++ b/deps/openssl/openssl/util/fix-includes @@ -0,0 +1,19 @@ +#!/bin/sh +# +# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the Apache License 2.0 (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + +find -name ossl_typ.h -o \( \ + -name '*.h' -o \ + -name '*.h.in' -o \ + -name '*.c' -o \ + -name '*.ec' -o \ + -name 'README*' -o \ + -name '*.pod' -o \ + -name '*.conf' \ + \) -exec sed -E -i \ + -f util/fix-includes.sed {} \; diff --git a/deps/openssl/openssl/util/fix-includes.sed b/deps/openssl/openssl/util/fix-includes.sed new file mode 100644 index 00000000000000..fb0d6528751bea --- /dev/null +++ b/deps/openssl/openssl/util/fix-includes.sed @@ -0,0 +1,5 @@ +s|internal/([a-z0-9_]+)_int\.h|crypto/\1.h|g ; +s@internal/(aria.h|async.h|bn_conf.h|bn_dh.h|bn_srp.h|chacha.h|ctype.h|__DECC_INCLUDE_EPILOGUE.H|__DECC_INCLUDE_PROLOGUE.H|dso_conf.h|engine.h|lhash.h|md32_common.h|objects.h|poly1305.h|sha.h|siphash.h|sm2err.h|sm2.h|sm3.h|sm4.h|store.h|foobar)@crypto/\1@g ; +s/constant_time_locl/constant_time/g ; +s/_lo?cl\.h/_local.h/g ; +s/_int\.h/_local.h/g ; diff --git a/deps/openssl/openssl/util/libcrypto.num b/deps/openssl/openssl/util/libcrypto.num index bf8b803c4c6782..876b7ca7103d2a 100644 --- a/deps/openssl/openssl/util/libcrypto.num +++ b/deps/openssl/openssl/util/libcrypto.num @@ -4582,3 +4582,8 @@ OPENSSL_INIT_set_config_file_flags 4535 1_1_1b EXIST::FUNCTION:STDIO EVP_PKEY_get0_engine 4536 1_1_1c EXIST::FUNCTION:ENGINE X509_get0_authority_serial 4537 1_1_1d EXIST::FUNCTION: X509_get0_authority_issuer 4538 1_1_1d EXIST::FUNCTION: +EVP_PKEY_meth_set_digestsign 4539 1_1_1e EXIST::FUNCTION: +EVP_PKEY_meth_set_digestverify 4540 1_1_1e EXIST::FUNCTION: +EVP_PKEY_meth_get_digestverify 4541 1_1_1e EXIST::FUNCTION: +EVP_PKEY_meth_get_digestsign 4542 1_1_1e EXIST::FUNCTION: +RSA_get0_pss_params 4543 1_1_1e EXIST::FUNCTION:RSA diff --git a/deps/openssl/openssl/util/perl/OpenSSL/Test.pm b/deps/openssl/openssl/util/perl/OpenSSL/Test.pm index 49fb88feb7dad0..0df6ad0a510ac3 100644 --- a/deps/openssl/openssl/util/perl/OpenSSL/Test.pm +++ b/deps/openssl/openssl/util/perl/OpenSSL/Test.pm @@ -1,4 +1,4 @@ -# Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -65,7 +65,7 @@ use File::Spec::Functions qw/file_name_is_absolute curdir canonpath splitdir rel2abs/; use File::Path 2.00 qw/rmtree mkpath/; use File::Basename; -use Cwd qw/abs_path/; +use Cwd qw/getcwd abs_path/; my $level = 0; @@ -904,26 +904,26 @@ sub __srctop_file { BAIL_OUT("Must run setup() first") if (! $test_name); my $f = pop; - return catfile($directories{SRCTOP},@_,$f); + return abs2rel(catfile($directories{SRCTOP},@_,$f),getcwd); } sub __srctop_dir { BAIL_OUT("Must run setup() first") if (! $test_name); - return catdir($directories{SRCTOP},@_); + return abs2rel(catdir($directories{SRCTOP},@_), getcwd); } sub __bldtop_file { BAIL_OUT("Must run setup() first") if (! $test_name); my $f = pop; - return catfile($directories{BLDTOP},@_,$f); + return abs2rel(catfile($directories{BLDTOP},@_,$f), getcwd); } sub __bldtop_dir { BAIL_OUT("Must run setup() first") if (! $test_name); - return catdir($directories{BLDTOP},@_); + return abs2rel(catdir($directories{BLDTOP},@_), getcwd); } # __exeext is a function that returns the platform dependent file extension diff --git a/deps/openssl/openssl/util/perl/TLSProxy/Proxy.pm b/deps/openssl/openssl/util/perl/TLSProxy/Proxy.pm index 71acaff9b41bc2..6f983b3281b16e 100644 --- a/deps/openssl/openssl/util/perl/TLSProxy/Proxy.pm +++ b/deps/openssl/openssl/util/perl/TLSProxy/Proxy.pm @@ -452,7 +452,7 @@ sub clientstart } else { # It's a bit counter-intuitive spot to make next connection to # the s_server. Rationale is that established connection works - # as syncronization point, in sense that this way we know that + # as synchronization point, in sense that this way we know that # s_server is actually done with current session... $self->connect_to_server(); } diff --git a/deps/openssl/openssl/util/private.num b/deps/openssl/openssl/util/private.num index a6ef44e4a6eb3d..bc7d967b5d1442 100644 --- a/deps/openssl/openssl/util/private.num +++ b/deps/openssl/openssl/util/private.num @@ -75,11 +75,15 @@ X509_STORE_CTX_lookup_crls_fn datatype X509_STORE_CTX_verify_cb datatype X509_STORE_CTX_verify_fn datatype X509_STORE_set_verify_cb_func datatype +X509_LOOKUP datatype +X509_LOOKUP_METHOD datatype +X509_LOOKUP_TYPE datatype X509_LOOKUP_get_by_alias_fn datatype X509_LOOKUP_get_by_subject_fn datatype X509_LOOKUP_get_by_fingerprint_fn datatype X509_LOOKUP_ctrl_fn datatype X509_LOOKUP_get_by_issuer_serial_fn datatype +X509_STORE datatype bio_info_cb datatype BIO_info_cb datatype custom_ext_add_cb datatype @@ -228,6 +232,8 @@ EVP_PKEY_CTX_set_dh_pad define EVP_PKEY_CTX_set_dh_rfc5114 define EVP_PKEY_CTX_set_dhx_rfc5114 define EVP_PKEY_CTX_set_dsa_paramgen_bits define +EVP_PKEY_CTX_set_dsa_paramgen_q_bits define +EVP_PKEY_CTX_set_dsa_paramgen_md define EVP_PKEY_CTX_set_ec_param_enc define EVP_PKEY_CTX_set_ec_paramgen_curve_nid define EVP_PKEY_CTX_set_ecdh_cofactor_mode define @@ -450,6 +456,8 @@ SSL_want_x509_lookup define SSLv23_client_method define SSLv23_method define SSLv23_server_method define +X509_LOOKUP_add_dir define +X509_LOOKUP_load_file define X509_STORE_set_lookup_crls_cb define X509_STORE_set_verify_func define EVP_PKEY_CTX_set1_id define diff --git a/deps/openssl/openssl_common.gypi b/deps/openssl/openssl_common.gypi index 93b87064b3fb3e..d866630f444291 100644 --- a/deps/openssl/openssl_common.gypi +++ b/deps/openssl/openssl_common.gypi @@ -32,6 +32,7 @@ 'cflags': [ '-W3', '-wd4090', '-Gs0', '-GF', '-Gy', '-nologo','/O2', ], + 'msvs_disabled_warnings': [4090], 'link_settings': { 'libraries': [ '-lws2_32.lib', diff --git a/deps/uv/AUTHORS b/deps/uv/AUTHORS index dcc36e8c17f929..f829778a21c1a5 100644 --- a/deps/uv/AUTHORS +++ b/deps/uv/AUTHORS @@ -412,3 +412,4 @@ ZYSzys Carl Lei Stefan Bender nia +virtualyw diff --git a/deps/uv/ChangeLog b/deps/uv/ChangeLog index a0509e6e153f65..9c2146dab9da7e 100644 --- a/deps/uv/ChangeLog +++ b/deps/uv/ChangeLog @@ -1,3 +1,93 @@ +2020.01.24, Version 1.34.2 (Stable), f868c9ab0c307525a16fff99fd21e32a6ebc3837 + +Changes since version 1.34.1: + +* misc: adjust stalebot deadlines (Jameson Nash) + +* test: fix env-vars flakiness (cjihrig) + +* test: avoid truncating output lines (Jameson Nash) + +* darwin: stop calling SetApplicationIsDaemon() (Ben Noordhuis) + +* ibmi: implement uv_interface_addresses() (Xu Meng) + +* osx,fsevent: fix race during uv_loop_close (Jameson Nash) + +* osx,fsevent: clear pointer when deleting it [NFCI] (Jameson Nash) + +* Revert "aix: replace ECONNRESET with EOF if already closed" (Jameson Nash) + +* unix: handle uv__open_cloexec return value correctly (Anna Henningsen) + + +2020.01.13, Version 1.34.1 (Stable), 8aa5636ec72990bb2856f81e14c95813024a5c2b + +Changes since version 1.34.0: + +* unix: fix -Wstrict-aliasing compiler warning (Ben Noordhuis) + +* unix: cache address of dlsym("mkostemp") (Ben Noordhuis) + +* build: remove -pedantic from compiler flags (Ben Noordhuis) + +* Revert "darwin: assume pthread_setname_np() is available" (Ben Noordhuis) + +* Revert "darwin: speed up uv_set_process_title()" (Ben Noordhuis) + +* darwin: assume pthread_setname_np() is available (Ben Noordhuis) + +* ibmi: fix the false isatty() issue on IBMi (Xu Meng) + +* test: fix test failure under NetBSD and OpenBSD (David Carlier) + +* test: skip some test cases on IBMi (Xu Meng) + +* test: skip uv_(get|set)_process_title on IBMi (Xu Meng) + +* doc: remove binaries for Windows from README (Richard Lau) + +* unix: fix -Wunused-but-set-variable warning (George Zhao) + +* unix: pass sysctl size arg using ARRAY_SIZE macro (David Carlier) + +* test: disallow running the test suite as root (cjihrig) + +* unix: suppress -Waddress-of-packed-member warning (Ben Noordhuis) + +* misc: make more tags "not-stale" (Jameson Nash) + +* test: fix pthread memory leak (Trevor Norris) + +* docs: delete socks5-proxy sample (Jameson Nash) + +* ibmi: fix the CMSG length issue (Xu Meng) + +* docs: fix formatting (Jameson Nash) + +* unix: squelch fchmod() EPERM on CIFS share (Ben Noordhuis) + +* docs: fix linkcheck (Jameson Nash) + +* docs: switch from linux.die.net to man7.org (Jameson Nash) + +* win: remove abort when non-IFS LSP detection fails (virtualyw) + +* docs: clarify that uv_pipe_t is a pipe (Jameson Nash) + +* win,tty: avoid regressions in utf-8 handling (Jameson Nash) + +* win: remove bad assert in uv_loop_close (Jameson Nash) + +* test: fix -fno-common build errors (Ben Noordhuis) + +* build: turn on -fno-common to catch regressions (Ben Noordhuis) + +* test: fix fs birth time test failure (Ben Noordhuis) + +* tty,unix: avoid affecting controlling TTY (Jameson Nash) + + 2019.12.05, Version 1.34.0 (Stable), 15ae750151ac9341e5945eb38f8982d59fb99201 Changes since version 1.33.1: diff --git a/deps/uv/Makefile.am b/deps/uv/Makefile.am index 088b4bbd76f375..9a06b9ce4a73e4 100644 --- a/deps/uv/Makefile.am +++ b/deps/uv/Makefile.am @@ -123,7 +123,6 @@ EXTRA_DIST = test/fixtures/empty_file \ include \ docs \ img \ - samples \ android-configure-arm \ android-configure-arm64 \ android-configure-x86 \ diff --git a/deps/uv/README.md b/deps/uv/README.md index f9daaa1cea153c..c040b4c18c8903 100644 --- a/deps/uv/README.md +++ b/deps/uv/README.md @@ -116,9 +116,6 @@ libuv can be downloaded either from the [GitHub repository](https://github.com/libuv/libuv) or from the [downloads site](http://dist.libuv.org/dist/). -Starting with libuv 1.7.0, binaries for Windows are also provided. This is to -be considered EXPERIMENTAL. - Before verifying the git tags or signature files, importing the relevant keys is necessary. Key IDs are listed in the [MAINTAINERS](https://github.com/libuv/libuv/blob/master/MAINTAINERS.md) diff --git a/deps/uv/common.gypi b/deps/uv/common.gypi index 2297bdf0fb0c62..8e2aa7160bb0a0 100644 --- a/deps/uv/common.gypi +++ b/deps/uv/common.gypi @@ -35,7 +35,7 @@ }, 'conditions': [ ['OS != "zos"', { - 'cflags': [ '-O0', '-fwrapv' ] + 'cflags': [ '-O0', '-fno-common', '-fwrapv' ] }], ['OS == "android"', { 'cflags': [ '-fPIE' ], @@ -80,9 +80,10 @@ 'conditions': [ ['OS != "zos"', { 'cflags': [ - '-fomit-frame-pointer', '-fdata-sections', '-ffunction-sections', + '-fno-common', + '-fomit-frame-pointer', ], }], ] diff --git a/deps/uv/configure.ac b/deps/uv/configure.ac index 6ea6b6a06cd1db..fba960b6b33731 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.34.0], [https://github.com/libuv/libuv/issues]) +AC_INIT([libuv], [1.34.2], [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]) @@ -24,9 +24,6 @@ AC_ENABLE_SHARED AC_ENABLE_STATIC AC_PROG_CC AM_PROG_CC_C_O -AS_IF([AS_CASE([$host_os],[openedition*], [false], [true])], [ - CC_CHECK_CFLAGS_APPEND([-pedantic]) -]) CC_FLAG_VISIBILITY #[-fvisibility=hidden] CC_CHECK_CFLAGS_APPEND([-g]) CC_CHECK_CFLAGS_APPEND([-std=gnu89]) diff --git a/deps/uv/docs/src/design.rst b/deps/uv/docs/src/design.rst index 9594bd1a77edbd..a23e33a214a1a1 100644 --- a/deps/uv/docs/src/design.rst +++ b/deps/uv/docs/src/design.rst @@ -126,7 +126,7 @@ Unlike network I/O, there are no platform-specific file I/O primitives libuv cou so the current approach is to run blocking file I/O operations in a thread pool. For a thorough explanation of the cross-platform file I/O landscape, checkout -`this post `_. +`this post `_. libuv currently uses a global thread pool on which all loops can queue work. 3 types of operations are currently run on this pool: diff --git a/deps/uv/docs/src/fs.rst b/deps/uv/docs/src/fs.rst index 28356c2d442e43..2943ead330cc5a 100644 --- a/deps/uv/docs/src/fs.rst +++ b/deps/uv/docs/src/fs.rst @@ -403,7 +403,7 @@ API .. c:function:: int uv_fs_utime(uv_loop_t* loop, uv_fs_t* req, const char* path, double atime, double mtime, uv_fs_cb cb) .. c:function:: int uv_fs_futime(uv_loop_t* loop, uv_fs_t* req, uv_file file, double atime, double mtime, uv_fs_cb cb) - Equivalent to :man:`utime(2)` and :man:`futime(2)` respectively. + Equivalent to :man:`utime(2)` and :man:`futimes(3)` respectively. .. note:: AIX: This function only works for AIX 7.1 and newer. It can still be called on older @@ -435,7 +435,7 @@ API .. c:function:: int uv_fs_realpath(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb) - Equivalent to :man:`realpath(3)` on Unix. Windows uses `GetFinalPathNameByHandle `_. + Equivalent to :man:`realpath(3)` on Unix. Windows uses `GetFinalPathNameByHandle `_. The resulting string is stored in `req->ptr`. .. warning:: @@ -512,7 +512,7 @@ Helper functions .. c:function:: uv_os_fd_t uv_get_osfhandle(int fd) For a file descriptor in the C runtime, get the OS-dependent handle. - On UNIX, returns the ``fd`` intact. On Windows, this calls `_get_osfhandle `_. + On UNIX, returns the ``fd`` intact. On Windows, this calls `_get_osfhandle `_. Note that the return value is still owned by the C runtime, any attempts to close it or to use it after closing the fd may lead to malfunction. @@ -521,7 +521,7 @@ Helper functions .. c:function:: int uv_open_osfhandle(uv_os_fd_t os_fd) For a OS-dependent handle, get the file descriptor in the C runtime. - On UNIX, returns the ``os_fd`` intact. On Windows, this calls `_open_osfhandle `_. + On UNIX, returns the ``os_fd`` intact. On Windows, this calls `_open_osfhandle `_. Note that the return value is still owned by the CRT, any attempts to close it or to use it after closing the handle may lead to malfunction. @@ -547,7 +547,7 @@ File open constants .. note:: `UV_FS_O_DIRECT` is supported on Linux, and on Windows via - `FILE_FLAG_NO_BUFFERING `_. + `FILE_FLAG_NO_BUFFERING `_. `UV_FS_O_DIRECT` is not supported on macOS. .. c:macro:: UV_FS_O_DIRECTORY @@ -564,7 +564,7 @@ File open constants .. note:: `UV_FS_O_DSYNC` is supported on Windows via - `FILE_FLAG_WRITE_THROUGH `_. + `FILE_FLAG_WRITE_THROUGH `_. .. c:macro:: UV_FS_O_EXCL @@ -631,7 +631,7 @@ File open constants .. note:: `UV_FS_O_RANDOM` is only supported on Windows via - `FILE_FLAG_RANDOM_ACCESS `_. + `FILE_FLAG_RANDOM_ACCESS `_. .. c:macro:: UV_FS_O_RDONLY @@ -648,7 +648,7 @@ File open constants .. note:: `UV_FS_O_SEQUENTIAL` is only supported on Windows via - `FILE_FLAG_SEQUENTIAL_SCAN `_. + `FILE_FLAG_SEQUENTIAL_SCAN `_. .. c:macro:: UV_FS_O_SHORT_LIVED @@ -656,7 +656,7 @@ File open constants .. note:: `UV_FS_O_SHORT_LIVED` is only supported on Windows via - `FILE_ATTRIBUTE_TEMPORARY `_. + `FILE_ATTRIBUTE_TEMPORARY `_. .. c:macro:: UV_FS_O_SYMLINK @@ -669,7 +669,7 @@ File open constants .. note:: `UV_FS_O_SYNC` is supported on Windows via - `FILE_FLAG_WRITE_THROUGH `_. + `FILE_FLAG_WRITE_THROUGH `_. .. c:macro:: UV_FS_O_TEMPORARY @@ -677,7 +677,7 @@ File open constants .. note:: `UV_FS_O_TEMPORARY` is only supported on Windows via - `FILE_ATTRIBUTE_TEMPORARY `_. + `FILE_ATTRIBUTE_TEMPORARY `_. .. c:macro:: UV_FS_O_TRUNC diff --git a/deps/uv/docs/src/fs_event.rst b/deps/uv/docs/src/fs_event.rst index bd076aaeb40494..e28ec625ed6b56 100644 --- a/deps/uv/docs/src/fs_event.rst +++ b/deps/uv/docs/src/fs_event.rst @@ -23,7 +23,7 @@ the best backend for the job on each platform. creation/deletion within a directory that is being monitored. See the `IBM Knowledge centre`_ for more details. - .. _documentation: http://www.ibm.com/developerworks/aix/library/au-aix_event_infrastructure/ + .. _documentation: https://developer.ibm.com/articles/au-aix_event_infrastructure/ .. _`IBM Knowledge centre`: https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r1.bpxb100/ioc.htm diff --git a/deps/uv/docs/src/index.rst b/deps/uv/docs/src/index.rst index 5ec2beb511cb00..f696dc16279bf4 100644 --- a/deps/uv/docs/src/index.rst +++ b/deps/uv/docs/src/index.rst @@ -13,9 +13,9 @@ was primarily developed for use by `Node.js`_, but it's also used by `Luvit`_, In case you find errors in this documentation you can help by sending `pull requests `_! -.. _Node.js: http://nodejs.org -.. _Luvit: http://luvit.io -.. _Julia: http://julialang.org +.. _Node.js: https://nodejs.org +.. _Luvit: https://luvit.io +.. _Julia: https://julialang.org .. _pyuv: https://github.com/saghul/pyuv .. _others: https://github.com/libuv/libuv/wiki/Projects-that-use-libuv @@ -52,7 +52,7 @@ Documentation Downloads --------- -libuv can be downloaded from `here `_. +libuv can be downloaded from `here `_. Installation diff --git a/deps/uv/docs/src/misc.rst b/deps/uv/docs/src/misc.rst index 3264973bcce151..7cfac85f571b94 100644 --- a/deps/uv/docs/src/misc.rst +++ b/deps/uv/docs/src/misc.rst @@ -192,10 +192,10 @@ Data types :: - typedef struct uv_env_item_s { - char* name; - char* value; - } uv_env_item_t; + typedef struct uv_env_item_s { + char* name; + char* value; + } uv_env_item_t; .. c:type:: uv_random_t @@ -314,7 +314,7 @@ API .. c:function:: void uv_loadavg(double avg[3]) - Gets the load average. See: ``_ + Gets the load average. See: ``_ .. note:: Returns [0,0,0] on Windows (i.e., it's not implemented). @@ -646,7 +646,7 @@ API Retrieves system information in `buffer`. The populated data includes the operating system name, release, version, and machine. On non-Windows - systems, `uv_os_uname()` is a thin wrapper around :man:`uname(3)`. Returns + systems, `uv_os_uname()` is a thin wrapper around :man:`uname(2)`. Returns zero on success, and a non-zero error value otherwise. .. versionadded:: 1.25.0 @@ -687,7 +687,7 @@ API - Other UNIX: `/dev/urandom` after reading from `/dev/random` once. :returns: 0 on success, or an error code < 0 on failure. The contents of - `buf` is undefined after an error. + `buf` is undefined after an error. .. note:: When using the synchronous version, both `loop` and `req` parameters diff --git a/deps/uv/docs/src/pipe.rst b/deps/uv/docs/src/pipe.rst index 376d6117bbea75..5eac1b6df48e29 100644 --- a/deps/uv/docs/src/pipe.rst +++ b/deps/uv/docs/src/pipe.rst @@ -4,8 +4,8 @@ :c:type:`uv_pipe_t` --- Pipe handle =================================== -Pipe handles provide an abstraction over local domain sockets on Unix and named -pipes on Windows. +Pipe handles provide an abstraction over streaming files on Unix (including +local domain sockets, pipes, and FIFOs) and named pipes on Windows. :c:type:`uv_pipe_t` is a 'subclass' of :c:type:`uv_stream_t`. @@ -34,7 +34,8 @@ API .. c:function:: int uv_pipe_init(uv_loop_t* loop, uv_pipe_t* handle, int ipc) Initialize a pipe handle. The `ipc` argument is a boolean to indicate if - this pipe will be used for handle passing between processes. + this pipe will be used for handle passing between processes (which may + change the bytes on the wire). .. c:function:: int uv_pipe_open(uv_pipe_t* handle, uv_file file) diff --git a/deps/uv/docs/src/sphinx-plugins/manpage.py b/deps/uv/docs/src/sphinx-plugins/manpage.py index bb597e280111c4..672b0020bddb2c 100644 --- a/deps/uv/docs/src/sphinx-plugins/manpage.py +++ b/deps/uv/docs/src/sphinx-plugins/manpage.py @@ -18,7 +18,7 @@ def make_link_node(rawtext, app, name, manpage_num, options): ref = app.config.man_url_regex if not ref: - ref = "http://linux.die.net/man/%s/%s" % (manpage_num, name) + ref = "http://man7.org/linux/man-pages/man%s/%s.%s.html" %(manpage_num, name, manpage_num) else: s = Template(ref) ref = s.substitute(num=manpage_num, topic=name) diff --git a/deps/uv/docs/src/version.rst b/deps/uv/docs/src/version.rst index e1715b2d3c53fa..13b094008da99d 100644 --- a/deps/uv/docs/src/version.rst +++ b/deps/uv/docs/src/version.rst @@ -10,7 +10,7 @@ a major release. In this section you'll find all macros and functions that will allow you to write or compile code conditionally, in order to work with multiple libuv versions. -.. _semantic versioning: http://semver.org +.. _semantic versioning: https://semver.org Macros diff --git a/deps/uv/include/uv/version.h b/deps/uv/include/uv/version.h index 8017302600d9f3..623ca3ef2cba71 100644 --- a/deps/uv/include/uv/version.h +++ b/deps/uv/include/uv/version.h @@ -32,7 +32,7 @@ #define UV_VERSION_MAJOR 1 #define UV_VERSION_MINOR 34 -#define UV_VERSION_PATCH 0 +#define UV_VERSION_PATCH 2 #define UV_VERSION_IS_RELEASE 1 #define UV_VERSION_SUFFIX "" diff --git a/deps/uv/samples/.gitignore b/deps/uv/samples/.gitignore deleted file mode 100644 index f868091ba327b4..00000000000000 --- a/deps/uv/samples/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright StrongLoop, Inc. 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. - -*.mk -*.Makefile diff --git a/deps/uv/samples/socks5-proxy/.gitignore b/deps/uv/samples/socks5-proxy/.gitignore deleted file mode 100644 index c177f374510728..00000000000000 --- a/deps/uv/samples/socks5-proxy/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright StrongLoop, Inc. 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. - -/build/ diff --git a/deps/uv/samples/socks5-proxy/LICENSE b/deps/uv/samples/socks5-proxy/LICENSE deleted file mode 100644 index 63c1447fc55ef3..00000000000000 --- a/deps/uv/samples/socks5-proxy/LICENSE +++ /dev/null @@ -1,53 +0,0 @@ -Files: * -======== - -Copyright StrongLoop, Inc. 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. - - -Files: getopt.c -=============== - -Copyright (c) 1987, 1993, 1994 -The Regents of the University of California. 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 University 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 REGENTS 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 REGENTS 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. diff --git a/deps/uv/samples/socks5-proxy/build.gyp b/deps/uv/samples/socks5-proxy/build.gyp deleted file mode 100644 index 771a1e146db4a4..00000000000000 --- a/deps/uv/samples/socks5-proxy/build.gyp +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright StrongLoop, Inc. 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. - -{ - 'targets': [ - { - 'dependencies': ['../../uv.gyp:libuv'], - 'target_name': 's5-proxy', - 'type': 'executable', - 'sources': [ - 'client.c', - 'defs.h', - 'main.c', - 's5.c', - 's5.h', - 'server.c', - 'util.c', - ], - 'conditions': [ - ['OS=="win"', { - 'defines': ['HAVE_UNISTD_H=0'], - 'sources': ['getopt.c'] - }, { - 'defines': ['HAVE_UNISTD_H=1'] - }] - ] - } - ] -} diff --git a/deps/uv/samples/socks5-proxy/client.c b/deps/uv/samples/socks5-proxy/client.c deleted file mode 100644 index aa2a91c9a12e9f..00000000000000 --- a/deps/uv/samples/socks5-proxy/client.c +++ /dev/null @@ -1,736 +0,0 @@ -/* Copyright StrongLoop, Inc. 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 "defs.h" -#include -#include -#include - -/* A connection is modeled as an abstraction on top of two simple state - * machines, one for reading and one for writing. Either state machine - * is, when active, in one of three states: busy, done or stop; the fourth - * and final state, dead, is an end state and only relevant when shutting - * down the connection. A short overview: - * - * busy done stop - * ----------|---------------------------|--------------------|------| - * readable | waiting for incoming data | have incoming data | idle | - * writable | busy writing out data | completed write | idle | - * - * We could remove the done state from the writable state machine. For our - * purposes, it's functionally equivalent to the stop state. - * - * When the connection with upstream has been established, the client_ctx - * moves into a state where incoming data from the client is sent upstream - * and vice versa, incoming data from upstream is sent to the client. In - * other words, we're just piping data back and forth. See conn_cycle() - * for details. - * - * An interesting deviation from libuv's I/O model is that reads are discrete - * rather than continuous events. In layman's terms, when a read operation - * completes, the connection stops reading until further notice. - * - * The rationale for this approach is that we have to wait until the data - * has been sent out again before we can reuse the read buffer. - * - * It also pleasingly unifies with the request model that libuv uses for - * writes and everything else; libuv may switch to a request model for - * reads in the future. - */ -enum conn_state { - c_busy, /* Busy; waiting for incoming data or for a write to complete. */ - c_done, /* Done; read incoming data or write finished. */ - c_stop, /* Stopped. */ - c_dead -}; - -/* Session states. */ -enum sess_state { - s_handshake, /* Wait for client handshake. */ - s_handshake_auth, /* Wait for client authentication data. */ - s_req_start, /* Start waiting for request data. */ - s_req_parse, /* Wait for request data. */ - s_req_lookup, /* Wait for upstream hostname DNS lookup to complete. */ - s_req_connect, /* Wait for uv_tcp_connect() to complete. */ - s_proxy_start, /* Connected. Start piping data. */ - s_proxy, /* Connected. Pipe data back and forth. */ - s_kill, /* Tear down session. */ - s_almost_dead_0, /* Waiting for finalizers to complete. */ - s_almost_dead_1, /* Waiting for finalizers to complete. */ - s_almost_dead_2, /* Waiting for finalizers to complete. */ - s_almost_dead_3, /* Waiting for finalizers to complete. */ - s_almost_dead_4, /* Waiting for finalizers to complete. */ - s_dead /* Dead. Safe to free now. */ -}; - -static void do_next(client_ctx *cx); -static int do_handshake(client_ctx *cx); -static int do_handshake_auth(client_ctx *cx); -static int do_req_start(client_ctx *cx); -static int do_req_parse(client_ctx *cx); -static int do_req_lookup(client_ctx *cx); -static int do_req_connect_start(client_ctx *cx); -static int do_req_connect(client_ctx *cx); -static int do_proxy_start(client_ctx *cx); -static int do_proxy(client_ctx *cx); -static int do_kill(client_ctx *cx); -static int do_almost_dead(client_ctx *cx); -static int conn_cycle(const char *who, conn *a, conn *b); -static void conn_timer_reset(conn *c); -static void conn_timer_expire(uv_timer_t *handle); -static void conn_getaddrinfo(conn *c, const char *hostname); -static void conn_getaddrinfo_done(uv_getaddrinfo_t *req, - int status, - struct addrinfo *ai); -static int conn_connect(conn *c); -static void conn_connect_done(uv_connect_t *req, int status); -static void conn_read(conn *c); -static void conn_read_done(uv_stream_t *handle, - ssize_t nread, - const uv_buf_t *buf); -static void conn_alloc(uv_handle_t *handle, size_t size, uv_buf_t *buf); -static void conn_write(conn *c, const void *data, unsigned int len); -static void conn_write_done(uv_write_t *req, int status); -static void conn_close(conn *c); -static void conn_close_done(uv_handle_t *handle); - -/* |incoming| has been initialized by server.c when this is called. */ -void client_finish_init(server_ctx *sx, client_ctx *cx) { - conn *incoming; - conn *outgoing; - - cx->sx = sx; - cx->state = s_handshake; - s5_init(&cx->parser); - - incoming = &cx->incoming; - incoming->client = cx; - incoming->result = 0; - incoming->rdstate = c_stop; - incoming->wrstate = c_stop; - incoming->idle_timeout = sx->idle_timeout; - CHECK(0 == uv_timer_init(sx->loop, &incoming->timer_handle)); - - outgoing = &cx->outgoing; - outgoing->client = cx; - outgoing->result = 0; - outgoing->rdstate = c_stop; - outgoing->wrstate = c_stop; - outgoing->idle_timeout = sx->idle_timeout; - CHECK(0 == uv_tcp_init(cx->sx->loop, &outgoing->handle.tcp)); - CHECK(0 == uv_timer_init(cx->sx->loop, &outgoing->timer_handle)); - - /* Wait for the initial packet. */ - conn_read(incoming); -} - -/* This is the core state machine that drives the client <-> upstream proxy. - * We move through the initial handshake and authentication steps first and - * end up (if all goes well) in the proxy state where we're just proxying - * data between the client and upstream. - */ -static void do_next(client_ctx *cx) { - int new_state; - - ASSERT(cx->state != s_dead); - switch (cx->state) { - case s_handshake: - new_state = do_handshake(cx); - break; - case s_handshake_auth: - new_state = do_handshake_auth(cx); - break; - case s_req_start: - new_state = do_req_start(cx); - break; - case s_req_parse: - new_state = do_req_parse(cx); - break; - case s_req_lookup: - new_state = do_req_lookup(cx); - break; - case s_req_connect: - new_state = do_req_connect(cx); - break; - case s_proxy_start: - new_state = do_proxy_start(cx); - break; - case s_proxy: - new_state = do_proxy(cx); - break; - case s_kill: - new_state = do_kill(cx); - break; - case s_almost_dead_0: - case s_almost_dead_1: - case s_almost_dead_2: - case s_almost_dead_3: - case s_almost_dead_4: - new_state = do_almost_dead(cx); - break; - default: - UNREACHABLE(); - } - cx->state = new_state; - - if (cx->state == s_dead) { - if (DEBUG_CHECKS) { - memset(cx, -1, sizeof(*cx)); - } - free(cx); - } -} - -static int do_handshake(client_ctx *cx) { - unsigned int methods; - conn *incoming; - s5_ctx *parser; - uint8_t *data; - size_t size; - int err; - - parser = &cx->parser; - incoming = &cx->incoming; - ASSERT(incoming->rdstate == c_done); - ASSERT(incoming->wrstate == c_stop); - incoming->rdstate = c_stop; - - if (incoming->result < 0) { - pr_err("read error: %s", uv_strerror(incoming->result)); - return do_kill(cx); - } - - data = (uint8_t *) incoming->t.buf; - size = (size_t) incoming->result; - err = s5_parse(parser, &data, &size); - if (err == s5_ok) { - conn_read(incoming); - return s_handshake; /* Need more data. */ - } - - if (size != 0) { - /* Could allow a round-trip saving shortcut here if the requested auth - * method is S5_AUTH_NONE (provided unauthenticated traffic is allowed.) - * Requires client support however. - */ - pr_err("junk in handshake"); - return do_kill(cx); - } - - if (err != s5_auth_select) { - pr_err("handshake error: %s", s5_strerror(err)); - return do_kill(cx); - } - - methods = s5_auth_methods(parser); - if ((methods & S5_AUTH_NONE) && can_auth_none(cx->sx, cx)) { - s5_select_auth(parser, S5_AUTH_NONE); - conn_write(incoming, "\5\0", 2); /* No auth required. */ - return s_req_start; - } - - if ((methods & S5_AUTH_PASSWD) && can_auth_passwd(cx->sx, cx)) { - /* TODO(bnoordhuis) Implement username/password auth. */ - } - - conn_write(incoming, "\5\377", 2); /* No acceptable auth. */ - return s_kill; -} - -/* TODO(bnoordhuis) Implement username/password auth. */ -static int do_handshake_auth(client_ctx *cx) { - UNREACHABLE(); - return do_kill(cx); -} - -static int do_req_start(client_ctx *cx) { - conn *incoming; - - incoming = &cx->incoming; - ASSERT(incoming->rdstate == c_stop); - ASSERT(incoming->wrstate == c_done); - incoming->wrstate = c_stop; - - if (incoming->result < 0) { - pr_err("write error: %s", uv_strerror(incoming->result)); - return do_kill(cx); - } - - conn_read(incoming); - return s_req_parse; -} - -static int do_req_parse(client_ctx *cx) { - conn *incoming; - conn *outgoing; - s5_ctx *parser; - uint8_t *data; - size_t size; - int err; - - parser = &cx->parser; - incoming = &cx->incoming; - outgoing = &cx->outgoing; - ASSERT(incoming->rdstate == c_done); - ASSERT(incoming->wrstate == c_stop); - ASSERT(outgoing->rdstate == c_stop); - ASSERT(outgoing->wrstate == c_stop); - incoming->rdstate = c_stop; - - if (incoming->result < 0) { - pr_err("read error: %s", uv_strerror(incoming->result)); - return do_kill(cx); - } - - data = (uint8_t *) incoming->t.buf; - size = (size_t) incoming->result; - err = s5_parse(parser, &data, &size); - if (err == s5_ok) { - conn_read(incoming); - return s_req_parse; /* Need more data. */ - } - - if (size != 0) { - pr_err("junk in request %u", (unsigned) size); - return do_kill(cx); - } - - if (err != s5_exec_cmd) { - pr_err("request error: %s", s5_strerror(err)); - return do_kill(cx); - } - - if (parser->cmd == s5_cmd_tcp_bind) { - /* Not supported but relatively straightforward to implement. */ - pr_warn("BIND requests are not supported."); - return do_kill(cx); - } - - if (parser->cmd == s5_cmd_udp_assoc) { - /* Not supported. Might be hard to implement because libuv has no - * functionality for detecting the MTU size which the RFC mandates. - */ - pr_warn("UDP ASSOC requests are not supported."); - return do_kill(cx); - } - ASSERT(parser->cmd == s5_cmd_tcp_connect); - - if (parser->atyp == s5_atyp_host) { - conn_getaddrinfo(outgoing, (const char *) parser->daddr); - return s_req_lookup; - } - - if (parser->atyp == s5_atyp_ipv4) { - memset(&outgoing->t.addr4, 0, sizeof(outgoing->t.addr4)); - outgoing->t.addr4.sin_family = AF_INET; - outgoing->t.addr4.sin_port = htons(parser->dport); - memcpy(&outgoing->t.addr4.sin_addr, - parser->daddr, - sizeof(outgoing->t.addr4.sin_addr)); - } else if (parser->atyp == s5_atyp_ipv6) { - memset(&outgoing->t.addr6, 0, sizeof(outgoing->t.addr6)); - outgoing->t.addr6.sin6_family = AF_INET6; - outgoing->t.addr6.sin6_port = htons(parser->dport); - memcpy(&outgoing->t.addr6.sin6_addr, - parser->daddr, - sizeof(outgoing->t.addr6.sin6_addr)); - } else { - UNREACHABLE(); - } - - return do_req_connect_start(cx); -} - -static int do_req_lookup(client_ctx *cx) { - s5_ctx *parser; - conn *incoming; - conn *outgoing; - - parser = &cx->parser; - incoming = &cx->incoming; - outgoing = &cx->outgoing; - ASSERT(incoming->rdstate == c_stop); - ASSERT(incoming->wrstate == c_stop); - ASSERT(outgoing->rdstate == c_stop); - ASSERT(outgoing->wrstate == c_stop); - - if (outgoing->result < 0) { - /* TODO(bnoordhuis) Escape control characters in parser->daddr. */ - pr_err("lookup error for \"%s\": %s", - parser->daddr, - uv_strerror(outgoing->result)); - /* Send back a 'Host unreachable' reply. */ - conn_write(incoming, "\5\4\0\1\0\0\0\0\0\0", 10); - return s_kill; - } - - /* Don't make assumptions about the offset of sin_port/sin6_port. */ - switch (outgoing->t.addr.sa_family) { - case AF_INET: - outgoing->t.addr4.sin_port = htons(parser->dport); - break; - case AF_INET6: - outgoing->t.addr6.sin6_port = htons(parser->dport); - break; - default: - UNREACHABLE(); - } - - return do_req_connect_start(cx); -} - -/* Assumes that cx->outgoing.t.sa contains a valid AF_INET/AF_INET6 address. */ -static int do_req_connect_start(client_ctx *cx) { - conn *incoming; - conn *outgoing; - int err; - - incoming = &cx->incoming; - outgoing = &cx->outgoing; - ASSERT(incoming->rdstate == c_stop); - ASSERT(incoming->wrstate == c_stop); - ASSERT(outgoing->rdstate == c_stop); - ASSERT(outgoing->wrstate == c_stop); - - if (!can_access(cx->sx, cx, &outgoing->t.addr)) { - pr_warn("connection not allowed by ruleset"); - /* Send a 'Connection not allowed by ruleset' reply. */ - conn_write(incoming, "\5\2\0\1\0\0\0\0\0\0", 10); - return s_kill; - } - - err = conn_connect(outgoing); - if (err != 0) { - pr_err("connect error: %s\n", uv_strerror(err)); - return do_kill(cx); - } - - return s_req_connect; -} - -static int do_req_connect(client_ctx *cx) { - const struct sockaddr_in6 *in6; - const struct sockaddr_in *in; - char addr_storage[sizeof(*in6)]; - conn *incoming; - conn *outgoing; - uint8_t *buf; - int addrlen; - - incoming = &cx->incoming; - outgoing = &cx->outgoing; - ASSERT(incoming->rdstate == c_stop); - ASSERT(incoming->wrstate == c_stop); - ASSERT(outgoing->rdstate == c_stop); - ASSERT(outgoing->wrstate == c_stop); - - /* Build and send the reply. Not very pretty but gets the job done. */ - buf = (uint8_t *) incoming->t.buf; - if (outgoing->result == 0) { - /* The RFC mandates that the SOCKS server must include the local port - * and address in the reply. So that's what we do. - */ - addrlen = sizeof(addr_storage); - CHECK(0 == uv_tcp_getsockname(&outgoing->handle.tcp, - (struct sockaddr *) addr_storage, - &addrlen)); - buf[0] = 5; /* Version. */ - buf[1] = 0; /* Success. */ - buf[2] = 0; /* Reserved. */ - if (addrlen == sizeof(*in)) { - buf[3] = 1; /* IPv4. */ - in = (const struct sockaddr_in *) &addr_storage; - memcpy(buf + 4, &in->sin_addr, 4); - memcpy(buf + 8, &in->sin_port, 2); - conn_write(incoming, buf, 10); - } else if (addrlen == sizeof(*in6)) { - buf[3] = 4; /* IPv6. */ - in6 = (const struct sockaddr_in6 *) &addr_storage; - memcpy(buf + 4, &in6->sin6_addr, 16); - memcpy(buf + 20, &in6->sin6_port, 2); - conn_write(incoming, buf, 22); - } else { - UNREACHABLE(); - } - return s_proxy_start; - } else { - pr_err("upstream connection error: %s\n", uv_strerror(outgoing->result)); - /* Send a 'Connection refused' reply. */ - conn_write(incoming, "\5\5\0\1\0\0\0\0\0\0", 10); - return s_kill; - } - - UNREACHABLE(); - return s_kill; -} - -static int do_proxy_start(client_ctx *cx) { - conn *incoming; - conn *outgoing; - - incoming = &cx->incoming; - outgoing = &cx->outgoing; - ASSERT(incoming->rdstate == c_stop); - ASSERT(incoming->wrstate == c_done); - ASSERT(outgoing->rdstate == c_stop); - ASSERT(outgoing->wrstate == c_stop); - incoming->wrstate = c_stop; - - if (incoming->result < 0) { - pr_err("write error: %s", uv_strerror(incoming->result)); - return do_kill(cx); - } - - conn_read(incoming); - conn_read(outgoing); - return s_proxy; -} - -/* Proxy incoming data back and forth. */ -static int do_proxy(client_ctx *cx) { - if (conn_cycle("client", &cx->incoming, &cx->outgoing)) { - return do_kill(cx); - } - - if (conn_cycle("upstream", &cx->outgoing, &cx->incoming)) { - return do_kill(cx); - } - - return s_proxy; -} - -static int do_kill(client_ctx *cx) { - int new_state; - - if (cx->state >= s_almost_dead_0) { - return cx->state; - } - - /* Try to cancel the request. The callback still runs but if the - * cancellation succeeded, it gets called with status=UV_ECANCELED. - */ - new_state = s_almost_dead_1; - if (cx->state == s_req_lookup) { - new_state = s_almost_dead_0; - uv_cancel(&cx->outgoing.t.req); - } - - conn_close(&cx->incoming); - conn_close(&cx->outgoing); - return new_state; -} - -static int do_almost_dead(client_ctx *cx) { - ASSERT(cx->state >= s_almost_dead_0); - return cx->state + 1; /* Another finalizer completed. */ -} - -static int conn_cycle(const char *who, conn *a, conn *b) { - if (a->result < 0) { - if (a->result != UV_EOF) { - pr_err("%s error: %s", who, uv_strerror(a->result)); - } - return -1; - } - - if (b->result < 0) { - return -1; - } - - if (a->wrstate == c_done) { - a->wrstate = c_stop; - } - - /* The logic is as follows: read when we don't write and write when we don't - * read. That gives us back-pressure handling for free because if the peer - * sends data faster than we consume it, TCP congestion control kicks in. - */ - if (a->wrstate == c_stop) { - if (b->rdstate == c_stop) { - conn_read(b); - } else if (b->rdstate == c_done) { - conn_write(a, b->t.buf, b->result); - b->rdstate = c_stop; /* Triggers the call to conn_read() above. */ - } - } - - return 0; -} - -static void conn_timer_reset(conn *c) { - CHECK(0 == uv_timer_start(&c->timer_handle, - conn_timer_expire, - c->idle_timeout, - 0)); -} - -static void conn_timer_expire(uv_timer_t *handle) { - conn *c; - - c = CONTAINER_OF(handle, conn, timer_handle); - c->result = UV_ETIMEDOUT; - do_next(c->client); -} - -static void conn_getaddrinfo(conn *c, const char *hostname) { - struct addrinfo hints; - - memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - hints.ai_protocol = IPPROTO_TCP; - CHECK(0 == uv_getaddrinfo(c->client->sx->loop, - &c->t.addrinfo_req, - conn_getaddrinfo_done, - hostname, - NULL, - &hints)); - conn_timer_reset(c); -} - -static void conn_getaddrinfo_done(uv_getaddrinfo_t *req, - int status, - struct addrinfo *ai) { - conn *c; - - c = CONTAINER_OF(req, conn, t.addrinfo_req); - c->result = status; - - if (status == 0) { - /* FIXME(bnoordhuis) Should try all addresses. */ - if (ai->ai_family == AF_INET) { - c->t.addr4 = *(const struct sockaddr_in *) ai->ai_addr; - } else if (ai->ai_family == AF_INET6) { - c->t.addr6 = *(const struct sockaddr_in6 *) ai->ai_addr; - } else { - UNREACHABLE(); - } - } - - uv_freeaddrinfo(ai); - do_next(c->client); -} - -/* Assumes that c->t.sa contains a valid AF_INET or AF_INET6 address. */ -static int conn_connect(conn *c) { - ASSERT(c->t.addr.sa_family == AF_INET || - c->t.addr.sa_family == AF_INET6); - conn_timer_reset(c); - return uv_tcp_connect(&c->t.connect_req, - &c->handle.tcp, - &c->t.addr, - conn_connect_done); -} - -static void conn_connect_done(uv_connect_t *req, int status) { - conn *c; - - if (status == UV_ECANCELED) { - return; /* Handle has been closed. */ - } - - c = CONTAINER_OF(req, conn, t.connect_req); - c->result = status; - do_next(c->client); -} - -static void conn_read(conn *c) { - ASSERT(c->rdstate == c_stop); - CHECK(0 == uv_read_start(&c->handle.stream, conn_alloc, conn_read_done)); - c->rdstate = c_busy; - conn_timer_reset(c); -} - -static void conn_read_done(uv_stream_t *handle, - ssize_t nread, - const uv_buf_t *buf) { - conn *c; - - c = CONTAINER_OF(handle, conn, handle); - ASSERT(c->t.buf == buf->base); - ASSERT(c->rdstate == c_busy); - c->rdstate = c_done; - c->result = nread; - - uv_read_stop(&c->handle.stream); - do_next(c->client); -} - -static void conn_alloc(uv_handle_t *handle, size_t size, uv_buf_t *buf) { - conn *c; - - c = CONTAINER_OF(handle, conn, handle); - ASSERT(c->rdstate == c_busy); - buf->base = c->t.buf; - buf->len = sizeof(c->t.buf); -} - -static void conn_write(conn *c, const void *data, unsigned int len) { - uv_buf_t buf; - - ASSERT(c->wrstate == c_stop || c->wrstate == c_done); - c->wrstate = c_busy; - - /* It's okay to cast away constness here, uv_write() won't modify the - * memory. - */ - buf.base = (char *) data; - buf.len = len; - - CHECK(0 == uv_write(&c->write_req, - &c->handle.stream, - &buf, - 1, - conn_write_done)); - conn_timer_reset(c); -} - -static void conn_write_done(uv_write_t *req, int status) { - conn *c; - - if (status == UV_ECANCELED) { - return; /* Handle has been closed. */ - } - - c = CONTAINER_OF(req, conn, write_req); - ASSERT(c->wrstate == c_busy); - c->wrstate = c_done; - c->result = status; - do_next(c->client); -} - -static void conn_close(conn *c) { - ASSERT(c->rdstate != c_dead); - ASSERT(c->wrstate != c_dead); - c->rdstate = c_dead; - c->wrstate = c_dead; - c->timer_handle.data = c; - c->handle.handle.data = c; - uv_close(&c->handle.handle, conn_close_done); - uv_close((uv_handle_t *) &c->timer_handle, conn_close_done); -} - -static void conn_close_done(uv_handle_t *handle) { - conn *c; - - c = handle->data; - do_next(c->client); -} diff --git a/deps/uv/samples/socks5-proxy/defs.h b/deps/uv/samples/socks5-proxy/defs.h deleted file mode 100644 index 99ee8160c8a3a7..00000000000000 --- a/deps/uv/samples/socks5-proxy/defs.h +++ /dev/null @@ -1,139 +0,0 @@ -/* Copyright StrongLoop, Inc. 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. - */ - -#ifndef DEFS_H_ -#define DEFS_H_ - -#include "s5.h" -#include "uv.h" - -#include -#include /* sockaddr_in, sockaddr_in6 */ -#include /* size_t, ssize_t */ -#include -#include /* sockaddr */ - -struct client_ctx; - -typedef struct { - const char *bind_host; - unsigned short bind_port; - unsigned int idle_timeout; -} server_config; - -typedef struct { - unsigned int idle_timeout; /* Connection idle timeout in ms. */ - uv_tcp_t tcp_handle; - uv_loop_t *loop; -} server_ctx; - -typedef struct { - unsigned char rdstate; - unsigned char wrstate; - unsigned int idle_timeout; - struct client_ctx *client; /* Backlink to owning client context. */ - ssize_t result; - union { - uv_handle_t handle; - uv_stream_t stream; - uv_tcp_t tcp; - uv_udp_t udp; - } handle; - uv_timer_t timer_handle; /* For detecting timeouts. */ - uv_write_t write_req; - /* We only need one of these at a time so make them share memory. */ - union { - uv_getaddrinfo_t addrinfo_req; - uv_connect_t connect_req; - uv_req_t req; - struct sockaddr_in6 addr6; - struct sockaddr_in addr4; - struct sockaddr addr; - char buf[2048]; /* Scratch space. Used to read data into. */ - } t; -} conn; - -typedef struct client_ctx { - unsigned int state; - server_ctx *sx; /* Backlink to owning server context. */ - s5_ctx parser; /* The SOCKS protocol parser. */ - conn incoming; /* Connection with the SOCKS client. */ - conn outgoing; /* Connection with upstream. */ -} client_ctx; - -/* server.c */ -int server_run(const server_config *cf, uv_loop_t *loop); -int can_auth_none(const server_ctx *sx, const client_ctx *cx); -int can_auth_passwd(const server_ctx *sx, const client_ctx *cx); -int can_access(const server_ctx *sx, - const client_ctx *cx, - const struct sockaddr *addr); - -/* client.c */ -void client_finish_init(server_ctx *sx, client_ctx *cx); - -/* util.c */ -#if defined(__GNUC__) -# define ATTRIBUTE_FORMAT_PRINTF(a, b) __attribute__((format(printf, a, b))) -#else -# define ATTRIBUTE_FORMAT_PRINTF(a, b) -#endif -void pr_info(const char *fmt, ...) ATTRIBUTE_FORMAT_PRINTF(1, 2); -void pr_warn(const char *fmt, ...) ATTRIBUTE_FORMAT_PRINTF(1, 2); -void pr_err(const char *fmt, ...) ATTRIBUTE_FORMAT_PRINTF(1, 2); -void *xmalloc(size_t size); - -/* main.c */ -const char *_getprogname(void); - -/* getopt.c */ -#if !HAVE_UNISTD_H -extern char *optarg; -int getopt(int argc, char **argv, const char *options); -#endif - -/* ASSERT() is for debug checks, CHECK() for run-time sanity checks. - * DEBUG_CHECKS is for expensive debug checks that we only want to - * enable in debug builds but still want type-checked by the compiler - * in release builds. - */ -#if defined(NDEBUG) -# define ASSERT(exp) -# define CHECK(exp) do { if (!(exp)) abort(); } while (0) -# define DEBUG_CHECKS (0) -#else -# define ASSERT(exp) assert(exp) -# define CHECK(exp) assert(exp) -# define DEBUG_CHECKS (1) -#endif - -#define UNREACHABLE() CHECK(!"Unreachable code reached.") - -/* This macro looks complicated but it's not: it calculates the address - * of the embedding struct through the address of the embedded struct. - * In other words, if struct A embeds struct B, then we can obtain - * the address of A by taking the address of B and subtracting the - * field offset of B in A. - */ -#define CONTAINER_OF(ptr, type, field) \ - ((type *) ((char *) (ptr) - ((char *) &((type *) 0)->field))) - -#endif /* DEFS_H_ */ diff --git a/deps/uv/samples/socks5-proxy/getopt.c b/deps/uv/samples/socks5-proxy/getopt.c deleted file mode 100644 index 8481b2264f2fee..00000000000000 --- a/deps/uv/samples/socks5-proxy/getopt.c +++ /dev/null @@ -1,131 +0,0 @@ -/* $NetBSD: getopt.c,v 1.26 2003/08/07 16:43:40 agc Exp $ */ - -/* - * Copyright (c) 1987, 1993, 1994 - * The Regents of the University of California. 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 University 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 REGENTS 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 REGENTS 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. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)getopt.c 8.3 (Berkeley) 4/27/95"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include - -extern const char *_getprogname(void); - -int opterr = 1, /* if error message should be printed */ - optind = 1, /* index into parent argv vector */ - optopt, /* character checked for validity */ - optreset; /* reset getopt */ -char *optarg; /* argument associated with option */ - -#define BADCH (int)'?' -#define BADARG (int)':' -#define EMSG "" - -/* - * getopt -- - * Parse argc/argv argument vector. - */ -int -getopt(nargc, nargv, ostr) - int nargc; - char * const nargv[]; - const char *ostr; -{ - static char *place = EMSG; /* option letter processing */ - char *oli; /* option letter list index */ - - if (optreset || *place == 0) { /* update scanning pointer */ - optreset = 0; - place = nargv[optind]; - if (optind >= nargc || *place++ != '-') { - /* Argument is absent or is not an option */ - place = EMSG; - return (-1); - } - optopt = *place++; - if (optopt == '-' && *place == 0) { - /* "--" => end of options */ - ++optind; - place = EMSG; - return (-1); - } - if (optopt == 0) { - /* Solitary '-', treat as a '-' option - if the program (eg su) is looking for it. */ - place = EMSG; - if (strchr(ostr, '-') == NULL) - return (-1); - optopt = '-'; - } - } else - optopt = *place++; - - /* See if option letter is one the caller wanted... */ - if (optopt == ':' || (oli = strchr(ostr, optopt)) == NULL) { - if (*place == 0) - ++optind; - if (opterr && *ostr != ':') - (void)fprintf(stderr, - "%s: illegal option -- %c\n", _getprogname(), - optopt); - return (BADCH); - } - - /* Does this option need an argument? */ - if (oli[1] != ':') { - /* don't need argument */ - optarg = NULL; - if (*place == 0) - ++optind; - } else { - /* Option-argument is either the rest of this argument or the - entire next argument. */ - if (*place) - optarg = place; - else if (nargc > ++optind) - optarg = nargv[optind]; - else { - /* option-argument absent */ - place = EMSG; - if (*ostr == ':') - return (BADARG); - if (opterr) - (void)fprintf(stderr, - "%s: option requires an argument -- %c\n", - _getprogname(), optopt); - return (BADCH); - } - place = EMSG; - ++optind; - } - return (optopt); /* return option letter */ -} diff --git a/deps/uv/samples/socks5-proxy/main.c b/deps/uv/samples/socks5-proxy/main.c deleted file mode 100644 index e77c7c69078dd6..00000000000000 --- a/deps/uv/samples/socks5-proxy/main.c +++ /dev/null @@ -1,99 +0,0 @@ -/* Copyright StrongLoop, Inc. 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 "defs.h" -#include -#include -#include - -#if HAVE_UNISTD_H -#include /* getopt */ -#endif - -#define DEFAULT_BIND_HOST "127.0.0.1" -#define DEFAULT_BIND_PORT 1080 -#define DEFAULT_IDLE_TIMEOUT (60 * 1000) - -static void parse_opts(server_config *cf, int argc, char **argv); -static void usage(void); - -static const char *progname = __FILE__; /* Reset in main(). */ - -int main(int argc, char **argv) { - server_config config; - int err; - - progname = argv[0]; - memset(&config, 0, sizeof(config)); - config.bind_host = DEFAULT_BIND_HOST; - config.bind_port = DEFAULT_BIND_PORT; - config.idle_timeout = DEFAULT_IDLE_TIMEOUT; - parse_opts(&config, argc, argv); - - err = server_run(&config, uv_default_loop()); - if (err) { - exit(1); - } - - return 0; -} - -const char *_getprogname(void) { - return progname; -} - -static void parse_opts(server_config *cf, int argc, char **argv) { - int opt; - - while (-1 != (opt = getopt(argc, argv, "b:hp:"))) { - switch (opt) { - case 'b': - cf->bind_host = optarg; - break; - - case 'p': - if (1 != sscanf(optarg, "%hu", &cf->bind_port)) { - pr_err("bad port number: %s", optarg); - usage(); - } - break; - - default: - usage(); - } - } -} - -static void usage(void) { - printf("Usage:\n" - "\n" - " %s [-b
    ] [-h] [-p ]\n" - "\n" - "Options:\n" - "\n" - " -b Bind to this address or hostname.\n" - " Default: \"127.0.0.1\"\n" - " -h Show this help message.\n" - " -p Bind to this port number. Default: 1080\n" - "", - progname); - exit(1); -} diff --git a/deps/uv/samples/socks5-proxy/s5.c b/deps/uv/samples/socks5-proxy/s5.c deleted file mode 100644 index 4f08e345247b58..00000000000000 --- a/deps/uv/samples/socks5-proxy/s5.c +++ /dev/null @@ -1,271 +0,0 @@ -/* Copyright StrongLoop, Inc. 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 "s5.h" -#include -#include -#include /* abort() */ -#include /* memset() */ - -enum { - s5_version, - s5_nmethods, - s5_methods, - s5_auth_pw_version, - s5_auth_pw_userlen, - s5_auth_pw_username, - s5_auth_pw_passlen, - s5_auth_pw_password, - s5_req_version, - s5_req_cmd, - s5_req_reserved, - s5_req_atyp, - s5_req_atyp_host, - s5_req_daddr, - s5_req_dport0, - s5_req_dport1, - s5_dead -}; - -void s5_init(s5_ctx *cx) { - memset(cx, 0, sizeof(*cx)); - cx->state = s5_version; -} - -s5_err s5_parse(s5_ctx *cx, uint8_t **data, size_t *size) { - s5_err err; - uint8_t *p; - uint8_t c; - size_t i; - size_t n; - - p = *data; - n = *size; - i = 0; - - while (i < n) { - c = p[i]; - i += 1; - switch (cx->state) { - case s5_version: - if (c != 5) { - err = s5_bad_version; - goto out; - } - cx->state = s5_nmethods; - break; - - case s5_nmethods: - cx->arg0 = 0; - cx->arg1 = c; /* Number of bytes to read. */ - cx->state = s5_methods; - break; - - case s5_methods: - if (cx->arg0 < cx->arg1) { - switch (c) { - case 0: - cx->methods |= S5_AUTH_NONE; - break; - case 1: - cx->methods |= S5_AUTH_GSSAPI; - break; - case 2: - cx->methods |= S5_AUTH_PASSWD; - break; - /* Ignore everything we don't understand. */ - } - cx->arg0 += 1; - } - if (cx->arg0 == cx->arg1) { - err = s5_auth_select; - goto out; - } - break; - - case s5_auth_pw_version: - if (c != 1) { - err = s5_bad_version; - goto out; - } - cx->state = s5_auth_pw_userlen; - break; - - case s5_auth_pw_userlen: - cx->arg0 = 0; - cx->userlen = c; - cx->state = s5_auth_pw_username; - break; - - case s5_auth_pw_username: - if (cx->arg0 < cx->userlen) { - cx->username[cx->arg0] = c; - cx->arg0 += 1; - } - if (cx->arg0 == cx->userlen) { - cx->username[cx->userlen] = '\0'; - cx->state = s5_auth_pw_passlen; - } - break; - - case s5_auth_pw_passlen: - cx->arg0 = 0; - cx->passlen = c; - cx->state = s5_auth_pw_password; - break; - - case s5_auth_pw_password: - if (cx->arg0 < cx->passlen) { - cx->password[cx->arg0] = c; - cx->arg0 += 1; - } - if (cx->arg0 == cx->passlen) { - cx->password[cx->passlen] = '\0'; - cx->state = s5_req_version; - err = s5_auth_verify; - goto out; - } - break; - - case s5_req_version: - if (c != 5) { - err = s5_bad_version; - goto out; - } - cx->state = s5_req_cmd; - break; - - case s5_req_cmd: - switch (c) { - case 1: /* TCP connect */ - cx->cmd = s5_cmd_tcp_connect; - break; - case 3: /* UDP associate */ - cx->cmd = s5_cmd_udp_assoc; - break; - default: - err = s5_bad_cmd; - goto out; - } - cx->state = s5_req_reserved; - break; - - case s5_req_reserved: - cx->state = s5_req_atyp; - break; - - case s5_req_atyp: - cx->arg0 = 0; - switch (c) { - case 1: /* IPv4, four octets. */ - cx->state = s5_req_daddr; - cx->atyp = s5_atyp_ipv4; - cx->arg1 = 4; - break; - case 3: /* Hostname. First byte is length. */ - cx->state = s5_req_atyp_host; - cx->atyp = s5_atyp_host; - cx->arg1 = 0; - break; - case 4: /* IPv6, sixteen octets. */ - cx->state = s5_req_daddr; - cx->atyp = s5_atyp_ipv6; - cx->arg1 = 16; - break; - default: - err = s5_bad_atyp; - goto out; - } - break; - - case s5_req_atyp_host: - cx->arg1 = c; - cx->state = s5_req_daddr; - break; - - case s5_req_daddr: - if (cx->arg0 < cx->arg1) { - cx->daddr[cx->arg0] = c; - cx->arg0 += 1; - } - if (cx->arg0 == cx->arg1) { - cx->daddr[cx->arg1] = '\0'; - cx->state = s5_req_dport0; - } - break; - - case s5_req_dport0: - cx->dport = c << 8; - cx->state = s5_req_dport1; - break; - - case s5_req_dport1: - cx->dport |= c; - cx->state = s5_dead; - err = s5_exec_cmd; - goto out; - - case s5_dead: - break; - - default: - abort(); - } - } - err = s5_ok; - -out: - *data = p + i; - *size = n - i; - return err; -} - -unsigned int s5_auth_methods(const s5_ctx *cx) { - return cx->methods; -} - -int s5_select_auth(s5_ctx *cx, s5_auth_method method) { - int err; - - err = 0; - switch (method) { - case S5_AUTH_NONE: - cx->state = s5_req_version; - break; - case S5_AUTH_PASSWD: - cx->state = s5_auth_pw_version; - break; - default: - err = -EINVAL; - } - - return err; -} - -const char *s5_strerror(s5_err err) { -#define S5_ERR_GEN(_, name, errmsg) case s5_ ## name: return errmsg; - switch (err) { - S5_ERR_MAP(S5_ERR_GEN) - default: ; /* Silence s5_max_errors -Wswitch warning. */ - } -#undef S5_ERR_GEN - return "Unknown error."; -} diff --git a/deps/uv/samples/socks5-proxy/s5.h b/deps/uv/samples/socks5-proxy/s5.h deleted file mode 100644 index 715f322287dde4..00000000000000 --- a/deps/uv/samples/socks5-proxy/s5.h +++ /dev/null @@ -1,94 +0,0 @@ -/* Copyright StrongLoop, Inc. 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. - */ - -#ifndef S5_H_ -#define S5_H_ - -#include -#include - -#define S5_ERR_MAP(V) \ - V(-1, bad_version, "Bad protocol version.") \ - V(-2, bad_cmd, "Bad protocol command.") \ - V(-3, bad_atyp, "Bad address type.") \ - V(0, ok, "No error.") \ - V(1, auth_select, "Select authentication method.") \ - V(2, auth_verify, "Verify authentication.") \ - V(3, exec_cmd, "Execute command.") \ - -typedef enum { -#define S5_ERR_GEN(code, name, _) s5_ ## name = code, - S5_ERR_MAP(S5_ERR_GEN) -#undef S5_ERR_GEN - s5_max_errors -} s5_err; - -typedef enum { - S5_AUTH_NONE = 1 << 0, - S5_AUTH_GSSAPI = 1 << 1, - S5_AUTH_PASSWD = 1 << 2 -} s5_auth_method; - -typedef enum { - s5_auth_allow, - s5_auth_deny -} s5_auth_result; - -typedef enum { - s5_atyp_ipv4, - s5_atyp_ipv6, - s5_atyp_host -} s5_atyp; - -typedef enum { - s5_cmd_tcp_connect, - s5_cmd_tcp_bind, - s5_cmd_udp_assoc -} s5_cmd; - -typedef struct { - uint32_t arg0; /* Scratch space for the state machine. */ - uint32_t arg1; /* Scratch space for the state machine. */ - uint8_t state; - uint8_t methods; - uint8_t cmd; - uint8_t atyp; - uint8_t userlen; - uint8_t passlen; - uint16_t dport; - uint8_t username[257]; - uint8_t password[257]; - uint8_t daddr[257]; /* TODO(bnoordhuis) Merge with username/password. */ -} s5_ctx; - -void s5_init(s5_ctx *ctx); - -s5_err s5_parse(s5_ctx *cx, uint8_t **data, size_t *size); - -/* Only call after s5_parse() has returned s5_want_auth_method. */ -unsigned int s5_auth_methods(const s5_ctx *cx); - -/* Call after s5_parse() has returned s5_want_auth_method. */ -int s5_select_auth(s5_ctx *cx, s5_auth_method method); - -const char *s5_strerror(s5_err err); - -#endif /* S5_H_ */ diff --git a/deps/uv/samples/socks5-proxy/server.c b/deps/uv/samples/socks5-proxy/server.c deleted file mode 100644 index 3f1ba42c9e119d..00000000000000 --- a/deps/uv/samples/socks5-proxy/server.c +++ /dev/null @@ -1,241 +0,0 @@ -/* Copyright StrongLoop, Inc. 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 "defs.h" -#include /* INET6_ADDRSTRLEN */ -#include -#include - -#ifndef INET6_ADDRSTRLEN -# define INET6_ADDRSTRLEN 63 -#endif - -typedef struct { - uv_getaddrinfo_t getaddrinfo_req; - server_config config; - server_ctx *servers; - uv_loop_t *loop; -} server_state; - -static void do_bind(uv_getaddrinfo_t *req, int status, struct addrinfo *ai); -static void on_connection(uv_stream_t *server, int status); - -int server_run(const server_config *cf, uv_loop_t *loop) { - struct addrinfo hints; - server_state state; - int err; - - memset(&state, 0, sizeof(state)); - state.servers = NULL; - state.config = *cf; - state.loop = loop; - - /* Resolve the address of the interface that we should bind to. - * The getaddrinfo callback starts the server and everything else. - */ - memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - hints.ai_protocol = IPPROTO_TCP; - - err = uv_getaddrinfo(loop, - &state.getaddrinfo_req, - do_bind, - cf->bind_host, - NULL, - &hints); - if (err != 0) { - pr_err("getaddrinfo: %s", uv_strerror(err)); - return err; - } - - /* Start the event loop. Control continues in do_bind(). */ - if (uv_run(loop, UV_RUN_DEFAULT)) { - abort(); - } - - /* Please Valgrind. */ - uv_loop_delete(loop); - free(state.servers); - return 0; -} - -/* Bind a server to each address that getaddrinfo() reported. */ -static void do_bind(uv_getaddrinfo_t *req, int status, struct addrinfo *addrs) { - char addrbuf[INET6_ADDRSTRLEN + 1]; - unsigned int ipv4_naddrs; - unsigned int ipv6_naddrs; - server_state *state; - server_config *cf; - struct addrinfo *ai; - const void *addrv; - const char *what; - uv_loop_t *loop; - server_ctx *sx; - unsigned int n; - int err; - union { - struct sockaddr addr; - struct sockaddr_in addr4; - struct sockaddr_in6 addr6; - } s; - - state = CONTAINER_OF(req, server_state, getaddrinfo_req); - loop = state->loop; - cf = &state->config; - - if (status < 0) { - pr_err("getaddrinfo(\"%s\"): %s", cf->bind_host, uv_strerror(status)); - uv_freeaddrinfo(addrs); - return; - } - - ipv4_naddrs = 0; - ipv6_naddrs = 0; - for (ai = addrs; ai != NULL; ai = ai->ai_next) { - if (ai->ai_family == AF_INET) { - ipv4_naddrs += 1; - } else if (ai->ai_family == AF_INET6) { - ipv6_naddrs += 1; - } - } - - if (ipv4_naddrs == 0 && ipv6_naddrs == 0) { - pr_err("%s has no IPv4/6 addresses", cf->bind_host); - uv_freeaddrinfo(addrs); - return; - } - - state->servers = - xmalloc((ipv4_naddrs + ipv6_naddrs) * sizeof(state->servers[0])); - - n = 0; - for (ai = addrs; ai != NULL; ai = ai->ai_next) { - if (ai->ai_family != AF_INET && ai->ai_family != AF_INET6) { - continue; - } - - if (ai->ai_family == AF_INET) { - s.addr4 = *(const struct sockaddr_in *) ai->ai_addr; - s.addr4.sin_port = htons(cf->bind_port); - addrv = &s.addr4.sin_addr; - } else if (ai->ai_family == AF_INET6) { - s.addr6 = *(const struct sockaddr_in6 *) ai->ai_addr; - s.addr6.sin6_port = htons(cf->bind_port); - addrv = &s.addr6.sin6_addr; - } else { - UNREACHABLE(); - } - - if (uv_inet_ntop(s.addr.sa_family, addrv, addrbuf, sizeof(addrbuf))) { - UNREACHABLE(); - } - - sx = state->servers + n; - sx->loop = loop; - sx->idle_timeout = state->config.idle_timeout; - CHECK(0 == uv_tcp_init(loop, &sx->tcp_handle)); - - what = "uv_tcp_bind"; - err = uv_tcp_bind(&sx->tcp_handle, &s.addr, 0); - if (err == 0) { - what = "uv_listen"; - err = uv_listen((uv_stream_t *) &sx->tcp_handle, 128, on_connection); - } - - if (err != 0) { - pr_err("%s(\"%s:%hu\"): %s", - what, - addrbuf, - cf->bind_port, - uv_strerror(err)); - while (n > 0) { - n -= 1; - uv_close((uv_handle_t *) (state->servers + n), NULL); - } - break; - } - - pr_info("listening on %s:%hu", addrbuf, cf->bind_port); - n += 1; - } - - uv_freeaddrinfo(addrs); -} - -static void on_connection(uv_stream_t *server, int status) { - server_ctx *sx; - client_ctx *cx; - - CHECK(status == 0); - sx = CONTAINER_OF(server, server_ctx, tcp_handle); - cx = xmalloc(sizeof(*cx)); - CHECK(0 == uv_tcp_init(sx->loop, &cx->incoming.handle.tcp)); - CHECK(0 == uv_accept(server, &cx->incoming.handle.stream)); - client_finish_init(sx, cx); -} - -int can_auth_none(const server_ctx *sx, const client_ctx *cx) { - return 1; -} - -int can_auth_passwd(const server_ctx *sx, const client_ctx *cx) { - return 0; -} - -int can_access(const server_ctx *sx, - const client_ctx *cx, - const struct sockaddr *addr) { - const struct sockaddr_in6 *addr6; - const struct sockaddr_in *addr4; - const uint32_t *p; - uint32_t a; - uint32_t b; - uint32_t c; - uint32_t d; - - /* TODO(bnoordhuis) Implement proper access checks. For now, just reject - * traffic to localhost. - */ - if (addr->sa_family == AF_INET) { - addr4 = (const struct sockaddr_in *) addr; - d = ntohl(addr4->sin_addr.s_addr); - return (d >> 24) != 0x7F; - } - - if (addr->sa_family == AF_INET6) { - addr6 = (const struct sockaddr_in6 *) addr; - p = (const uint32_t *) &addr6->sin6_addr.s6_addr; - a = ntohl(p[0]); - b = ntohl(p[1]); - c = ntohl(p[2]); - d = ntohl(p[3]); - if (a == 0 && b == 0 && c == 0 && d == 1) { - return 0; /* "::1" style address. */ - } - if (a == 0 && b == 0 && c == 0xFFFF && (d >> 24) == 0x7F) { - return 0; /* "::ffff:127.x.x.x" style address. */ - } - return 1; - } - - return 0; -} diff --git a/deps/uv/samples/socks5-proxy/util.c b/deps/uv/samples/socks5-proxy/util.c deleted file mode 100644 index af34f055936575..00000000000000 --- a/deps/uv/samples/socks5-proxy/util.c +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright StrongLoop, Inc. 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 "defs.h" -#include -#include -#include - -static void pr_do(FILE *stream, - const char *label, - const char *fmt, - va_list ap); - -void *xmalloc(size_t size) { - void *ptr; - - ptr = malloc(size); - if (ptr == NULL) { - pr_err("out of memory, need %lu bytes", (unsigned long) size); - exit(1); - } - - return ptr; -} - -void pr_info(const char *fmt, ...) { - va_list ap; - va_start(ap, fmt); - pr_do(stdout, "info", fmt, ap); - va_end(ap); -} - -void pr_warn(const char *fmt, ...) { - va_list ap; - va_start(ap, fmt); - pr_do(stderr, "warn", fmt, ap); - va_end(ap); -} - -void pr_err(const char *fmt, ...) { - va_list ap; - va_start(ap, fmt); - pr_do(stderr, "error", fmt, ap); - va_end(ap); -} - -static void pr_do(FILE *stream, - const char *label, - const char *fmt, - va_list ap) { - char fmtbuf[1024]; - vsnprintf(fmtbuf, sizeof(fmtbuf), fmt, ap); - fprintf(stream, "%s:%s: %s\n", _getprogname(), label, fmtbuf); -} diff --git a/deps/uv/src/unix/aix-common.c b/deps/uv/src/unix/aix-common.c index e96e34c46373bb..c18a5298cec6a4 100644 --- a/deps/uv/src/unix/aix-common.c +++ b/deps/uv/src/unix/aix-common.c @@ -155,183 +155,3 @@ int uv_exepath(char* buffer, size_t* size) { return UV_EINVAL; } } - - -int uv_interface_addresses(uv_interface_address_t** addresses, int* count) { - uv_interface_address_t* address; - int sockfd, sock6fd, inet6, i, r, size = 1; - struct ifconf ifc; - struct ifreq *ifr, *p, flg; - struct in6_ifreq if6; - struct sockaddr_dl* sa_addr; - - ifc.ifc_req = NULL; - sock6fd = -1; - r = 0; - *count = 0; - *addresses = NULL; - - if (0 > (sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP))) { - r = UV__ERR(errno); - goto cleanup; - } - - if (0 > (sock6fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_IP))) { - r = UV__ERR(errno); - goto cleanup; - } - - if (ioctl(sockfd, SIOCGSIZIFCONF, &size) == -1) { - r = UV__ERR(errno); - goto cleanup; - } - - ifc.ifc_req = (struct ifreq*)uv__malloc(size); - if (ifc.ifc_req == NULL) { - r = UV_ENOMEM; - goto cleanup; - } - ifc.ifc_len = size; - if (ioctl(sockfd, SIOCGIFCONF, &ifc) == -1) { - r = UV__ERR(errno); - goto cleanup; - } - -#define ADDR_SIZE(p) MAX((p).sa_len, sizeof(p)) - - /* Count all up and running ipv4/ipv6 addresses */ - ifr = ifc.ifc_req; - while ((char*)ifr < (char*)ifc.ifc_req + ifc.ifc_len) { - p = ifr; - ifr = (struct ifreq*) - ((char*)ifr + sizeof(ifr->ifr_name) + ADDR_SIZE(ifr->ifr_addr)); - - if (!(p->ifr_addr.sa_family == AF_INET6 || - p->ifr_addr.sa_family == AF_INET)) - continue; - - memcpy(flg.ifr_name, p->ifr_name, sizeof(flg.ifr_name)); - if (ioctl(sockfd, SIOCGIFFLAGS, &flg) == -1) { - r = UV__ERR(errno); - goto cleanup; - } - - if (!(flg.ifr_flags & IFF_UP && flg.ifr_flags & IFF_RUNNING)) - continue; - - (*count)++; - } - - if (*count == 0) - goto cleanup; - - /* Alloc the return interface structs */ - *addresses = uv__calloc(*count, sizeof(**addresses)); - if (!(*addresses)) { - r = UV_ENOMEM; - goto cleanup; - } - address = *addresses; - - ifr = ifc.ifc_req; - while ((char*)ifr < (char*)ifc.ifc_req + ifc.ifc_len) { - p = ifr; - ifr = (struct ifreq*) - ((char*)ifr + sizeof(ifr->ifr_name) + ADDR_SIZE(ifr->ifr_addr)); - - if (!(p->ifr_addr.sa_family == AF_INET6 || - p->ifr_addr.sa_family == AF_INET)) - continue; - - inet6 = (p->ifr_addr.sa_family == AF_INET6); - - memcpy(flg.ifr_name, p->ifr_name, sizeof(flg.ifr_name)); - if (ioctl(sockfd, SIOCGIFFLAGS, &flg) == -1) - goto syserror; - - if (!(flg.ifr_flags & IFF_UP && flg.ifr_flags & IFF_RUNNING)) - continue; - - /* All conditions above must match count loop */ - - address->name = uv__strdup(p->ifr_name); - - if (inet6) - address->address.address6 = *((struct sockaddr_in6*) &p->ifr_addr); - else - address->address.address4 = *((struct sockaddr_in*) &p->ifr_addr); - - if (inet6) { - memset(&if6, 0, sizeof(if6)); - r = uv__strscpy(if6.ifr_name, p->ifr_name, sizeof(if6.ifr_name)); - if (r == UV_E2BIG) - goto cleanup; - r = 0; - memcpy(&if6.ifr_Addr, &p->ifr_addr, sizeof(if6.ifr_Addr)); - if (ioctl(sock6fd, SIOCGIFNETMASK6, &if6) == -1) - goto syserror; - address->netmask.netmask6 = *((struct sockaddr_in6*) &if6.ifr_Addr); - /* Explicitly set family as the ioctl call appears to return it as 0. */ - address->netmask.netmask6.sin6_family = AF_INET6; - } else { - if (ioctl(sockfd, SIOCGIFNETMASK, p) == -1) - goto syserror; - address->netmask.netmask4 = *((struct sockaddr_in*) &p->ifr_addr); - /* Explicitly set family as the ioctl call appears to return it as 0. */ - address->netmask.netmask4.sin_family = AF_INET; - } - - address->is_internal = flg.ifr_flags & IFF_LOOPBACK ? 1 : 0; - - address++; - } - - /* Fill in physical addresses. */ - ifr = ifc.ifc_req; - while ((char*)ifr < (char*)ifc.ifc_req + ifc.ifc_len) { - p = ifr; - ifr = (struct ifreq*) - ((char*)ifr + sizeof(ifr->ifr_name) + ADDR_SIZE(ifr->ifr_addr)); - - if (p->ifr_addr.sa_family != AF_LINK) - continue; - - address = *addresses; - for (i = 0; i < *count; i++) { - if (strcmp(address->name, p->ifr_name) == 0) { - sa_addr = (struct sockaddr_dl*) &p->ifr_addr; - memcpy(address->phys_addr, LLADDR(sa_addr), sizeof(address->phys_addr)); - } - address++; - } - } - -#undef ADDR_SIZE - goto cleanup; - -syserror: - uv_free_interface_addresses(*addresses, *count); - *addresses = NULL; - *count = 0; - r = UV_ENOSYS; - -cleanup: - if (sockfd != -1) - uv__close(sockfd); - if (sock6fd != -1) - uv__close(sock6fd); - uv__free(ifc.ifc_req); - return r; -} - - -void uv_free_interface_addresses(uv_interface_address_t* addresses, - int count) { - int i; - - for (i = 0; i < count; ++i) { - uv__free(addresses[i].name); - } - - uv__free(addresses); -} diff --git a/deps/uv/src/unix/aix.c b/deps/uv/src/unix/aix.c index 1f36926c02e2a8..417ee5512fa252 100644 --- a/deps/uv/src/unix/aix.c +++ b/deps/uv/src/unix/aix.c @@ -1039,6 +1039,186 @@ int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { } +int uv_interface_addresses(uv_interface_address_t** addresses, int* count) { + uv_interface_address_t* address; + int sockfd, sock6fd, inet6, i, r, size = 1; + struct ifconf ifc; + struct ifreq *ifr, *p, flg; + struct in6_ifreq if6; + struct sockaddr_dl* sa_addr; + + ifc.ifc_req = NULL; + sock6fd = -1; + r = 0; + *count = 0; + *addresses = NULL; + + if (0 > (sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP))) { + r = UV__ERR(errno); + goto cleanup; + } + + if (0 > (sock6fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_IP))) { + r = UV__ERR(errno); + goto cleanup; + } + + if (ioctl(sockfd, SIOCGSIZIFCONF, &size) == -1) { + r = UV__ERR(errno); + goto cleanup; + } + + ifc.ifc_req = (struct ifreq*)uv__malloc(size); + if (ifc.ifc_req == NULL) { + r = UV_ENOMEM; + goto cleanup; + } + ifc.ifc_len = size; + if (ioctl(sockfd, SIOCGIFCONF, &ifc) == -1) { + r = UV__ERR(errno); + goto cleanup; + } + +#define ADDR_SIZE(p) MAX((p).sa_len, sizeof(p)) + + /* Count all up and running ipv4/ipv6 addresses */ + ifr = ifc.ifc_req; + while ((char*)ifr < (char*)ifc.ifc_req + ifc.ifc_len) { + p = ifr; + ifr = (struct ifreq*) + ((char*)ifr + sizeof(ifr->ifr_name) + ADDR_SIZE(ifr->ifr_addr)); + + if (!(p->ifr_addr.sa_family == AF_INET6 || + p->ifr_addr.sa_family == AF_INET)) + continue; + + memcpy(flg.ifr_name, p->ifr_name, sizeof(flg.ifr_name)); + if (ioctl(sockfd, SIOCGIFFLAGS, &flg) == -1) { + r = UV__ERR(errno); + goto cleanup; + } + + if (!(flg.ifr_flags & IFF_UP && flg.ifr_flags & IFF_RUNNING)) + continue; + + (*count)++; + } + + if (*count == 0) + goto cleanup; + + /* Alloc the return interface structs */ + *addresses = uv__calloc(*count, sizeof(**addresses)); + if (!(*addresses)) { + r = UV_ENOMEM; + goto cleanup; + } + address = *addresses; + + ifr = ifc.ifc_req; + while ((char*)ifr < (char*)ifc.ifc_req + ifc.ifc_len) { + p = ifr; + ifr = (struct ifreq*) + ((char*)ifr + sizeof(ifr->ifr_name) + ADDR_SIZE(ifr->ifr_addr)); + + if (!(p->ifr_addr.sa_family == AF_INET6 || + p->ifr_addr.sa_family == AF_INET)) + continue; + + inet6 = (p->ifr_addr.sa_family == AF_INET6); + + memcpy(flg.ifr_name, p->ifr_name, sizeof(flg.ifr_name)); + if (ioctl(sockfd, SIOCGIFFLAGS, &flg) == -1) + goto syserror; + + if (!(flg.ifr_flags & IFF_UP && flg.ifr_flags & IFF_RUNNING)) + continue; + + /* All conditions above must match count loop */ + + address->name = uv__strdup(p->ifr_name); + + if (inet6) + address->address.address6 = *((struct sockaddr_in6*) &p->ifr_addr); + else + address->address.address4 = *((struct sockaddr_in*) &p->ifr_addr); + + if (inet6) { + memset(&if6, 0, sizeof(if6)); + r = uv__strscpy(if6.ifr_name, p->ifr_name, sizeof(if6.ifr_name)); + if (r == UV_E2BIG) + goto cleanup; + r = 0; + memcpy(&if6.ifr_Addr, &p->ifr_addr, sizeof(if6.ifr_Addr)); + if (ioctl(sock6fd, SIOCGIFNETMASK6, &if6) == -1) + goto syserror; + address->netmask.netmask6 = *((struct sockaddr_in6*) &if6.ifr_Addr); + /* Explicitly set family as the ioctl call appears to return it as 0. */ + address->netmask.netmask6.sin6_family = AF_INET6; + } else { + if (ioctl(sockfd, SIOCGIFNETMASK, p) == -1) + goto syserror; + address->netmask.netmask4 = *((struct sockaddr_in*) &p->ifr_addr); + /* Explicitly set family as the ioctl call appears to return it as 0. */ + address->netmask.netmask4.sin_family = AF_INET; + } + + address->is_internal = flg.ifr_flags & IFF_LOOPBACK ? 1 : 0; + + address++; + } + + /* Fill in physical addresses. */ + ifr = ifc.ifc_req; + while ((char*)ifr < (char*)ifc.ifc_req + ifc.ifc_len) { + p = ifr; + ifr = (struct ifreq*) + ((char*)ifr + sizeof(ifr->ifr_name) + ADDR_SIZE(ifr->ifr_addr)); + + if (p->ifr_addr.sa_family != AF_LINK) + continue; + + address = *addresses; + for (i = 0; i < *count; i++) { + if (strcmp(address->name, p->ifr_name) == 0) { + sa_addr = (struct sockaddr_dl*) &p->ifr_addr; + memcpy(address->phys_addr, LLADDR(sa_addr), sizeof(address->phys_addr)); + } + address++; + } + } + +#undef ADDR_SIZE + goto cleanup; + +syserror: + uv_free_interface_addresses(*addresses, *count); + *addresses = NULL; + *count = 0; + r = UV_ENOSYS; + +cleanup: + if (sockfd != -1) + uv__close(sockfd); + if (sock6fd != -1) + uv__close(sock6fd); + uv__free(ifc.ifc_req); + return r; +} + + +void uv_free_interface_addresses(uv_interface_address_t* addresses, + int count) { + int i; + + for (i = 0; i < count; ++i) { + uv__free(addresses[i].name); + } + + uv__free(addresses); +} + + void uv__platform_invalidate_fd(uv_loop_t* loop, int fd) { struct pollfd* events; uintptr_t i; diff --git a/deps/uv/src/unix/darwin-proctitle.c b/deps/uv/src/unix/darwin-proctitle.c index eced23c2da7ccf..2daf3e3474acff 100644 --- a/deps/uv/src/unix/darwin-proctitle.c +++ b/deps/uv/src/unix/darwin-proctitle.c @@ -34,52 +34,51 @@ # include #endif -#define S(s) pCFStringCreateWithCString(NULL, (s), kCFStringEncodingUTF8) +static int uv__pthread_setname_np(const char* name) { + char namebuf[64]; /* MAXTHREADNAMESIZE */ + int err; -#if !TARGET_OS_IPHONE -static CFStringRef (*pCFStringCreateWithCString)(CFAllocatorRef, - const char*, - CFStringEncoding); -static CFBundleRef (*pCFBundleGetBundleWithIdentifier)(CFStringRef); -static void *(*pCFBundleGetDataPointerForName)(CFBundleRef, CFStringRef); -static void *(*pCFBundleGetFunctionPointerForName)(CFBundleRef, CFStringRef); -static CFTypeRef (*pLSGetCurrentApplicationASN)(void); -static OSStatus (*pLSSetApplicationInformationItem)(int, - CFTypeRef, - CFStringRef, - CFStringRef, - CFDictionaryRef*); -static void* application_services_handle; -static void* core_foundation_handle; -static CFBundleRef launch_services_bundle; -static CFStringRef* display_name_key; -static CFDictionaryRef (*pCFBundleGetInfoDictionary)(CFBundleRef); -static CFBundleRef (*pCFBundleGetMainBundle)(void); -static CFBundleRef hi_services_bundle; -static CFDictionaryRef (*pLSApplicationCheckIn)(int, CFDictionaryRef); -static void (*pLSSetApplicationLaunchServicesServerConnectionStatus)(uint64_t, - void*); - - -UV_DESTRUCTOR(static void uv__set_process_title_platform_fini(void)) { - if (core_foundation_handle != NULL) { - dlclose(core_foundation_handle); - core_foundation_handle = NULL; - } + strncpy(namebuf, name, sizeof(namebuf) - 1); + namebuf[sizeof(namebuf) - 1] = '\0'; - if (application_services_handle != NULL) { - dlclose(application_services_handle); - application_services_handle = NULL; - } + err = pthread_setname_np(namebuf); + if (err) + return UV__ERR(err); + + return 0; } -#endif /* !TARGET_OS_IPHONE */ -void uv__set_process_title_platform_init(void) { -#if !TARGET_OS_IPHONE - OSStatus (*pSetApplicationIsDaemon)(int); - +int uv__set_process_title(const char* title) { +#if TARGET_OS_IPHONE + return uv__pthread_setname_np(title); +#else + CFStringRef (*pCFStringCreateWithCString)(CFAllocatorRef, + const char*, + CFStringEncoding); + CFBundleRef (*pCFBundleGetBundleWithIdentifier)(CFStringRef); + void *(*pCFBundleGetDataPointerForName)(CFBundleRef, CFStringRef); + void *(*pCFBundleGetFunctionPointerForName)(CFBundleRef, CFStringRef); + CFTypeRef (*pLSGetCurrentApplicationASN)(void); + OSStatus (*pLSSetApplicationInformationItem)(int, + CFTypeRef, + CFStringRef, + CFStringRef, + CFDictionaryRef*); + void* application_services_handle; + void* core_foundation_handle; + CFBundleRef launch_services_bundle; + CFStringRef* display_name_key; + CFDictionaryRef (*pCFBundleGetInfoDictionary)(CFBundleRef); + CFBundleRef (*pCFBundleGetMainBundle)(void); + CFDictionaryRef (*pLSApplicationCheckIn)(int, CFDictionaryRef); + void (*pLSSetApplicationLaunchServicesServerConnectionStatus)(uint64_t, + void*); + CFTypeRef asn; + int err; + + err = UV_ENOENT; application_services_handle = dlopen("/System/Library/Frameworks/" "ApplicationServices.framework/" "Versions/A/ApplicationServices", @@ -108,6 +107,8 @@ void uv__set_process_title_platform_init(void) { goto out; } +#define S(s) pCFStringCreateWithCString(NULL, (s), kCFStringEncodingUTF8) + launch_services_bundle = pCFBundleGetBundleWithIdentifier(S("com.apple.LaunchServices")); @@ -138,59 +139,55 @@ void uv__set_process_title_platform_init(void) { "CFBundleGetInfoDictionary"); *(void **)(&pCFBundleGetMainBundle) = dlsym(core_foundation_handle, "CFBundleGetMainBundle"); - if (pCFBundleGetInfoDictionary == NULL || pCFBundleGetMainBundle == NULL) goto out; - /* Black 10.9 magic, to remove (Not responding) mark in Activity Monitor */ - hi_services_bundle = - pCFBundleGetBundleWithIdentifier(S("com.apple.HIServices")); - - if (hi_services_bundle == NULL) - goto out; - - *(void **)(&pSetApplicationIsDaemon) = pCFBundleGetFunctionPointerForName( - hi_services_bundle, - S("SetApplicationIsDaemon")); *(void **)(&pLSApplicationCheckIn) = pCFBundleGetFunctionPointerForName( launch_services_bundle, S("_LSApplicationCheckIn")); + + if (pLSApplicationCheckIn == NULL) + goto out; + *(void **)(&pLSSetApplicationLaunchServicesServerConnectionStatus) = pCFBundleGetFunctionPointerForName( launch_services_bundle, S("_LSSetApplicationLaunchServicesServerConnectionStatus")); - if (pSetApplicationIsDaemon == NULL || - pLSApplicationCheckIn == NULL || - pLSSetApplicationLaunchServicesServerConnectionStatus == NULL) { + if (pLSSetApplicationLaunchServicesServerConnectionStatus == NULL) goto out; - } - /* Prevent crash when LaunchServices cannot be connected to. */ - pSetApplicationIsDaemon(1); - return; + pLSSetApplicationLaunchServicesServerConnectionStatus(0, NULL); -out: - uv__set_process_title_platform_fini(); -#endif /* !TARGET_OS_IPHONE */ -} + /* Check into process manager?! */ + pLSApplicationCheckIn(-2, + pCFBundleGetInfoDictionary(pCFBundleGetMainBundle())); + asn = pLSGetCurrentApplicationASN(); -void uv__set_process_title(const char* title) { - char namebuf[64 /* MAXTHREADNAMESIZE */]; + err = UV_EBUSY; + if (asn == NULL) + goto out; -#if !TARGET_OS_IPHONE - if (core_foundation_handle != NULL) { - CFTypeRef asn; - pLSSetApplicationLaunchServicesServerConnectionStatus(0, NULL); - pLSApplicationCheckIn(/* Magic value */ -2, - pCFBundleGetInfoDictionary(pCFBundleGetMainBundle())); - asn = pLSGetCurrentApplicationASN(); - pLSSetApplicationInformationItem(/* Magic value */ -2, asn, - *display_name_key, S(title), NULL); + err = UV_EINVAL; + if (pLSSetApplicationInformationItem(-2, /* Magic value. */ + asn, + *display_name_key, + S(title), + NULL) != noErr) { + goto out; } -#endif /* !TARGET_OS_IPHONE */ - uv__strscpy(namebuf, title, sizeof(namebuf)); - pthread_setname_np(namebuf); + uv__pthread_setname_np(title); /* Don't care if it fails. */ + err = 0; + +out: + if (core_foundation_handle != NULL) + dlclose(core_foundation_handle); + + if (application_services_handle != NULL) + dlclose(application_services_handle); + + return err; +#endif /* !TARGET_OS_IPHONE */ } diff --git a/deps/uv/src/unix/darwin.c b/deps/uv/src/unix/darwin.c index 5cf03aea0b4054..654aba26b1f924 100644 --- a/deps/uv/src/unix/darwin.c +++ b/deps/uv/src/unix/darwin.c @@ -110,7 +110,7 @@ uint64_t uv_get_total_memory(void) { int which[] = {CTL_HW, HW_MEMSIZE}; size_t size = sizeof(info); - if (sysctl(which, 2, &info, &size, NULL, 0)) + if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) return UV__ERR(errno); return (uint64_t) info; @@ -127,7 +127,7 @@ void uv_loadavg(double avg[3]) { size_t size = sizeof(info); int which[] = {CTL_VM, VM_LOADAVG}; - if (sysctl(which, 2, &info, &size, NULL, 0) < 0) return; + if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0) < 0) return; avg[0] = (double) info.ldavg[0] / info.fscale; avg[1] = (double) info.ldavg[1] / info.fscale; @@ -162,7 +162,7 @@ int uv_uptime(double* uptime) { size_t size = sizeof(info); static int which[] = {CTL_KERN, KERN_BOOTTIME}; - if (sysctl(which, 2, &info, &size, NULL, 0)) + if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) return UV__ERR(errno); now = time(NULL); diff --git a/deps/uv/src/unix/freebsd.c b/deps/uv/src/unix/freebsd.c index d0b7d8e9d11f95..57bd04e240939b 100644 --- a/deps/uv/src/unix/freebsd.c +++ b/deps/uv/src/unix/freebsd.c @@ -95,7 +95,7 @@ int uv_exepath(char* buffer, size_t* size) { mib[3] = -1; abspath_size = sizeof abspath; - if (sysctl(mib, 4, abspath, &abspath_size, NULL, 0)) + if (sysctl(mib, ARRAY_SIZE(mib), abspath, &abspath_size, NULL, 0)) return UV__ERR(errno); assert(abspath_size > 0); @@ -130,7 +130,7 @@ uint64_t uv_get_total_memory(void) { size_t size = sizeof(info); - if (sysctl(which, 2, &info, &size, NULL, 0)) + if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) return UV__ERR(errno); return (uint64_t) info; @@ -147,7 +147,7 @@ void uv_loadavg(double avg[3]) { size_t size = sizeof(info); int which[] = {CTL_VM, VM_LOADAVG}; - if (sysctl(which, 2, &info, &size, NULL, 0) < 0) return; + if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0) < 0) return; avg[0] = (double) info.ldavg[0] / info.fscale; avg[1] = (double) info.ldavg[1] / info.fscale; @@ -168,7 +168,7 @@ int uv_resident_set_memory(size_t* rss) { kinfo_size = sizeof(kinfo); - if (sysctl(mib, 4, &kinfo, &kinfo_size, NULL, 0)) + if (sysctl(mib, ARRAY_SIZE(mib), &kinfo, &kinfo_size, NULL, 0)) return UV__ERR(errno); page_size = getpagesize(); diff --git a/deps/uv/src/unix/fs.c b/deps/uv/src/unix/fs.c index 916d7109702983..898bfc45cef46e 100644 --- a/deps/uv/src/unix/fs.c +++ b/deps/uv/src/unix/fs.c @@ -259,10 +259,29 @@ static ssize_t uv__fs_mkdtemp(uv_fs_t* req) { } +static int (*uv__mkostemp)(char*, int); + + +static void uv__mkostemp_initonce(void) { + /* z/os doesn't have RTLD_DEFAULT but that's okay + * because it doesn't have mkostemp(O_CLOEXEC) either. + */ +#ifdef RTLD_DEFAULT + uv__mkostemp = (int (*)(char*, int)) dlsym(RTLD_DEFAULT, "mkostemp"); + + /* We don't care about errors, but we do want to clean them up. + * If there has been no error, then dlerror() will just return + * NULL. + */ + dlerror(); +#endif /* RTLD_DEFAULT */ +} + + static int uv__fs_mkstemp(uv_fs_t* req) { + static uv_once_t once = UV_ONCE_INIT; int r; #ifdef O_CLOEXEC - int (*mkostemp_function)(char*, int); static int no_cloexec_support; #endif static const char pattern[] = "XXXXXX"; @@ -284,30 +303,23 @@ static int uv__fs_mkstemp(uv_fs_t* req) { return -1; } -#ifdef O_CLOEXEC - if (no_cloexec_support == 0) { - *(int**)(&mkostemp_function) = dlsym(RTLD_DEFAULT, "mkostemp"); - - /* We don't care about errors, but we do want to clean them up. - If there has been no error, then dlerror() will just return - NULL. */ - dlerror(); + uv_once(&once, uv__mkostemp_initonce); - if (mkostemp_function != NULL) { - r = mkostemp_function(path, O_CLOEXEC); +#ifdef O_CLOEXEC + if (no_cloexec_support == 0 && uv__mkostemp != NULL) { + r = uv__mkostemp(path, O_CLOEXEC); - if (r >= 0) - return r; + if (r >= 0) + return r; - /* If mkostemp() returns EINVAL, it means the kernel doesn't - support O_CLOEXEC, so we just fallback to mkstemp() below. */ - if (errno != EINVAL) - return r; + /* If mkostemp() returns EINVAL, it means the kernel doesn't + support O_CLOEXEC, so we just fallback to mkstemp() below. */ + if (errno != EINVAL) + return r; - /* We set the static variable so that next calls don't even - try to use mkostemp. */ - no_cloexec_support = 1; - } + /* We set the static variable so that next calls don't even + try to use mkostemp. */ + no_cloexec_support = 1; } #endif /* O_CLOEXEC */ @@ -1125,7 +1137,28 @@ static ssize_t uv__fs_copyfile(uv_fs_t* req) { if (fchmod(dstfd, src_statsbuf.st_mode) == -1) { err = UV__ERR(errno); +#ifdef __linux__ + if (err != UV_EPERM) + goto out; + + { + struct statfs s; + + /* fchmod() on CIFS shares always fails with EPERM unless the share is + * mounted with "noperm". As fchmod() is a meaningless operation on such + * shares anyway, detect that condition and squelch the error. + */ + if (fstatfs(dstfd, &s) == -1) + goto out; + + if (s.f_type != /* CIFS */ 0xFF534D42u) + goto out; + } + + err = 0; +#else /* !__linux__ */ goto out; +#endif /* !__linux__ */ } #ifdef FICLONE diff --git a/deps/uv/src/unix/fsevents.c b/deps/uv/src/unix/fsevents.c index deeaa63d4730de..448921f813d789 100644 --- a/deps/uv/src/unix/fsevents.c +++ b/deps/uv/src/unix/fsevents.c @@ -747,6 +747,8 @@ static void* uv__cf_loop_runner(void* arg) { state->signal_source, *pkCFRunLoopDefaultMode); + state->loop = NULL; + return NULL; } @@ -799,13 +801,14 @@ int uv__cf_loop_signal(uv_loop_t* loop, uv_mutex_lock(&loop->cf_mutex); QUEUE_INSERT_TAIL(&loop->cf_signals, &item->member); - uv_mutex_unlock(&loop->cf_mutex); state = loop->cf_state; assert(state != NULL); pCFRunLoopSourceSignal(state->signal_source); pCFRunLoopWakeUp(state->loop); + uv_mutex_unlock(&loop->cf_mutex); + return 0; } diff --git a/deps/uv/src/unix/ibmi.c b/deps/uv/src/unix/ibmi.c index 8b355033e29ce5..4dd8bb6e3758e3 100644 --- a/deps/uv/src/unix/ibmi.c +++ b/deps/uv/src/unix/ibmi.c @@ -56,6 +56,7 @@ #include #include +#include typedef struct { @@ -98,24 +99,91 @@ typedef struct { } SSTS0200; +typedef struct { + char header[208]; + unsigned char loca_adapter_address[12]; +} LIND0500; + + +typedef struct { + int bytes_provided; + int bytes_available; + char msgid[7]; +} errcode_s; + + +static const unsigned char e2a[256] = { + 0, 1, 2, 3, 156, 9, 134, 127, 151, 141, 142, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 157, 133, 8, 135, 24, 25, 146, 143, 28, 29, 30, 31, + 128, 129, 130, 131, 132, 10, 23, 27, 136, 137, 138, 139, 140, 5, 6, 7, + 144, 145, 22, 147, 148, 149, 150, 4, 152, 153, 154, 155, 20, 21, 158, 26, + 32, 160, 161, 162, 163, 164, 165, 166, 167, 168, 91, 46, 60, 40, 43, 33, + 38, 169, 170, 171, 172, 173, 174, 175, 176, 177, 93, 36, 42, 41, 59, 94, + 45, 47, 178, 179, 180, 181, 182, 183, 184, 185, 124, 44, 37, 95, 62, 63, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 96, 58, 35, 64, 39, 61, 34, + 195, 97, 98, 99, 100, 101, 102, 103, 104, 105, 196, 197, 198, 199, 200, 201, + 202, 106, 107, 108, 109, 110, 111, 112, 113, 114, 203, 204, 205, 206, 207, 208, + 209, 126, 115, 116, 117, 118, 119, 120, 121, 122, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 123, 65, 66, 67, 68, 69, 70, 71, 72, 73, 232, 233, 234, 235, 236, 237, + 125, 74, 75, 76, 77, 78, 79, 80, 81, 82, 238, 239, 240, 241, 242, 243, + 92, 159, 83, 84, 85, 86, 87, 88, 89, 90, 244, 245, 246, 247, 248, 249, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 250, 251, 252, 253, 254, 255}; + + +static const unsigned char a2e[256] = { + 0, 1, 2, 3, 55, 45, 46, 47, 22, 5, 37, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 60, 61, 50, 38, 24, 25, 63, 39, 28, 29, 30, 31, + 64, 79, 127, 123, 91, 108, 80, 125, 77, 93, 92, 78, 107, 96, 75, 97, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 122, 94, 76, 126, 110, 111, + 124, 193, 194, 195, 196, 197, 198, 199, 200, 201, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 226, 227, 228, 229, 230, 231, 232, 233, 74, 224, 90, 95, 109, + 121, 129, 130, 131, 132, 133, 134, 135, 136, 137, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 162, 163, 164, 165, 166, 167, 168, 169, 192, 106, 208, 161, 7, + 32, 33, 34, 35, 36, 21, 6, 23, 40, 41, 42, 43, 44, 9, 10, 27, + 48, 49, 26, 51, 52, 53, 54, 8, 56, 57, 58, 59, 4, 20, 62, 225, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 98, 99, 100, 101, 102, 103, 104, 105, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 128, 138, 139, 140, 141, 142, 143, 144, 154, 155, 156, 157, 158, + 159, 160, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 202, 203, 204, 205, 206, 207, 218, 219, + 220, 221, 222, 223, 234, 235, 236, 237, 238, 239, 250, 251, 252, 253, 254, 255}; + + +static void iconv_e2a(unsigned char src[], unsigned char dst[], size_t length) { + size_t i; + for (i = 0; i < length; i++) + dst[i] = e2a[src[i]]; +} + + +static void iconv_a2e(const char* src, unsigned char dst[], size_t length) { + size_t srclen; + size_t i; + + srclen = strlen(src); + if (srclen > length) + abort(); + for (i = 0; i < srclen; i++) + dst[i] = a2e[src[i]]; + /* padding the remaining part with spaces */ + for (; i < length; i++) + dst[i] = a2e[' ']; +} + + static int get_ibmi_system_status(SSTS0200* rcvr) { /* rcvrlen is input parameter 2 to QWCRSSTS */ unsigned int rcvrlen = sizeof(*rcvr); + unsigned char format[8], reset_status[10]; - /* format is input parameter 3 to QWCRSSTS ("SSTS0200" in EBCDIC) */ - unsigned char format[] = {0xE2, 0xE2, 0xE3, 0xE2, 0xF0, 0xF2, 0xF0, 0xF0}; - - /* reset_status is input parameter 4 to QWCRSSTS ("*NO " in EBCDIC) */ - unsigned char reset_status[] = { - 0x5C, 0xD5, 0xD6, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 - }; + /* format is input parameter 3 to QWCRSSTS */ + iconv_a2e("SSTS0200", format, sizeof(format)); + /* reset_status is input parameter 4 */ + iconv_a2e("*NO", reset_status, sizeof(reset_status)); /* errcode is input parameter 5 to QWCRSSTS */ - struct _errcode { - int bytes_provided; - int bytes_available; - char msgid[7]; - } errcode; + errcode_s errcode; /* qwcrssts_pointer is the 16-byte tagged system pointer to QWCRSSTS */ ILEpointer __attribute__((aligned(16))) qwcrssts_pointer; @@ -145,7 +213,7 @@ static int get_ibmi_system_status(SSTS0200* rcvr) { qwcrssts_argv[5] = NULL; /* Call the IBM i QWCRSSTS API from PASE */ - rc = _PGMCALL(&qwcrssts_pointer, (void**)&qwcrssts_argv, 0); + rc = _PGMCALL(&qwcrssts_pointer, qwcrssts_argv, 0); return rc; } @@ -166,10 +234,13 @@ uint64_t uv_get_free_memory(void) { uint64_t current_unprotected_storage_used = rcvr.current_unprotected_storage_used * 1024ULL; - uint64_t free_storage_size = - (main_storage_size - current_unprotected_storage_used) * 1024ULL; + /* Current unprotected storage includes the storage used for memory + * and disks so it is possible to exceed the amount of main storage. + */ + if (main_storage_size <= current_unprotected_storage_used) + return 0ULL; - return free_storage_size < 0 ? 0 : free_storage_size; + return (main_storage_size - current_unprotected_storage_used) * 1024ULL; } @@ -247,3 +318,159 @@ int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { return 0; } + + +static int get_ibmi_physical_address(const char* line, char (*phys_addr)[6]) { + LIND0500 rcvr; + /* rcvrlen is input parameter 2 to QDCRLIND */ + unsigned int rcvrlen = sizeof(rcvr); + unsigned char format[8], line_name[10]; + unsigned char mac_addr[sizeof(rcvr.loca_adapter_address)]; + int c[6]; + + /* format is input parameter 3 to QDCRLIND */ + iconv_a2e("LIND0500", format, sizeof(format)); + + /* line_name is input parameter 4 to QDCRLIND */ + iconv_a2e(line, line_name, sizeof(line_name)); + + /* err is input parameter 5 to QDCRLIND */ + errcode_s err; + + /* qwcrssts_pointer is the 16-byte tagged system pointer to QDCRLIND */ + ILEpointer __attribute__((aligned(16))) qdcrlind_pointer; + + /* qwcrssts_argv is the array of argument pointers to QDCRLIND */ + void* qdcrlind_argv[6]; + + /* Set the IBM i pointer to the QSYS/QDCRLIND *PGM object */ + int rc = _RSLOBJ2(&qdcrlind_pointer, RSLOBJ_TS_PGM, "QDCRLIND", "QSYS"); + + if (rc != 0) + return rc; + + /* initialize the QDCRLIND returned info structure */ + memset(&rcvr, 0, sizeof(rcvr)); + + /* initialize the QDCRLIND error code structure */ + memset(&err, 0, sizeof(err)); + err.bytes_provided = sizeof(err); + + /* initialize the array of argument pointers for the QDCRLIND API */ + qdcrlind_argv[0] = &rcvr; + qdcrlind_argv[1] = &rcvrlen; + qdcrlind_argv[2] = &format; + qdcrlind_argv[3] = &line_name; + qdcrlind_argv[4] = &err; + qdcrlind_argv[5] = NULL; + + /* Call the IBM i QDCRLIND API from PASE */ + rc = _PGMCALL(&qdcrlind_pointer, qdcrlind_argv, 0); + if (rc != 0) + return rc; + + /* convert ebcdic loca_adapter_address to ascii first */ + iconv_e2a(rcvr.loca_adapter_address, mac_addr, + sizeof(rcvr.loca_adapter_address)); + + /* convert loca_adapter_address(char[12]) to phys_addr(char[6]) */ + int r = sscanf(mac_addr, "%02x%02x%02x%02x%02x%02x", + &c[0], &c[1], &c[2], &c[3], &c[4], &c[5]); + + if (r == ARRAY_SIZE(c)) { + (*phys_addr)[0] = c[0]; + (*phys_addr)[1] = c[1]; + (*phys_addr)[2] = c[2]; + (*phys_addr)[3] = c[3]; + (*phys_addr)[4] = c[4]; + (*phys_addr)[5] = c[5]; + } else { + memset(*phys_addr, 0, sizeof(*phys_addr)); + rc = -1; + } + return rc; +} + + +int uv_interface_addresses(uv_interface_address_t** addresses, int* count) { + uv_interface_address_t* address; + struct ifaddrs_pase *ifap = NULL, *cur; + int inet6, r = 0; + + *count = 0; + *addresses = NULL; + + if (Qp2getifaddrs(&ifap)) + return UV_ENOSYS; + + /* The first loop to get the size of the array to be allocated */ + for (cur = ifap; cur; cur = cur->ifa_next) { + if (!(cur->ifa_addr->sa_family == AF_INET6 || + cur->ifa_addr->sa_family == AF_INET)) + continue; + + if (!(cur->ifa_flags & IFF_UP && cur->ifa_flags & IFF_RUNNING)) + continue; + + (*count)++; + } + + if (*count == 0) { + Qp2freeifaddrs(ifap); + return 0; + } + + /* Alloc the return interface structs */ + *addresses = uv__calloc(*count, sizeof(**addresses)); + if (*addresses == NULL) { + Qp2freeifaddrs(ifap); + return UV_ENOMEM; + } + address = *addresses; + + /* The second loop to fill in the array */ + for (cur = ifap; cur; cur = cur->ifa_next) { + if (!(cur->ifa_addr->sa_family == AF_INET6 || + cur->ifa_addr->sa_family == AF_INET)) + continue; + + if (!(cur->ifa_flags & IFF_UP && cur->ifa_flags & IFF_RUNNING)) + continue; + + address->name = uv__strdup(cur->ifa_name); + + inet6 = (cur->ifa_addr->sa_family == AF_INET6); + + if (inet6) { + address->address.address6 = *((struct sockaddr_in6*)cur->ifa_addr); + address->netmask.netmask6 = *((struct sockaddr_in6*)cur->ifa_netmask); + address->netmask.netmask6.sin6_family = AF_INET6; + } else { + address->address.address4 = *((struct sockaddr_in*)cur->ifa_addr); + address->netmask.netmask4 = *((struct sockaddr_in*)cur->ifa_netmask); + address->netmask.netmask4.sin_family = AF_INET; + } + address->is_internal = cur->ifa_flags & IFF_LOOPBACK ? 1 : 0; + if (!address->is_internal) { + int rc = get_ibmi_physical_address(address->name, &address->phys_addr); + if (rc != 0) + r = rc; + } + + address++; + } + + Qp2freeifaddrs(ifap); + return r; +} + + +void uv_free_interface_addresses(uv_interface_address_t* addresses, int count) { + int i; + + for (i = 0; i < count; ++i) { + uv__free(addresses[i].name); + } + + uv__free(addresses); +} diff --git a/deps/uv/src/unix/linux-core.c b/deps/uv/src/unix/linux-core.c index a155a374e76c2d..f8d9ff5868ab58 100644 --- a/deps/uv/src/unix/linux-core.c +++ b/deps/uv/src/unix/linux-core.c @@ -359,9 +359,19 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { have_signals = 0; nevents = 0; - assert(loop->watchers != NULL); - loop->watchers[loop->nwatchers] = (void*) events; - loop->watchers[loop->nwatchers + 1] = (void*) (uintptr_t) nfds; + { + /* Squelch a -Waddress-of-packed-member warning with gcc >= 9. */ + union { + struct epoll_event* events; + uv__io_t* watchers; + } x; + + x.events = events; + assert(loop->watchers != NULL); + loop->watchers[loop->nwatchers] = x.watchers; + loop->watchers[loop->nwatchers + 1] = (void*) (uintptr_t) nfds; + } + for (i = 0; i < nfds; i++) { pe = events + i; fd = pe->data.fd; @@ -980,7 +990,7 @@ static uint64_t uv__read_proc_meminfo(const char* what) { rc = 0; fd = uv__open_cloexec("/proc/meminfo", O_RDONLY); - if (fd == -1) + if (fd < 0) return 0; n = read(fd, buf, sizeof(buf) - 1); diff --git a/deps/uv/src/unix/netbsd.c b/deps/uv/src/unix/netbsd.c index 690bd79ef91a36..c66333f522c5d4 100644 --- a/deps/uv/src/unix/netbsd.c +++ b/deps/uv/src/unix/netbsd.c @@ -55,7 +55,7 @@ void uv_loadavg(double avg[3]) { size_t size = sizeof(info); int which[] = {CTL_VM, VM_LOADAVG}; - if (sysctl(which, 2, &info, &size, NULL, 0) == -1) return; + if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0) == -1) return; avg[0] = (double) info.ldavg[0] / info.fscale; avg[1] = (double) info.ldavg[1] / info.fscale; @@ -102,7 +102,7 @@ uint64_t uv_get_free_memory(void) { size_t size = sizeof(info); int which[] = {CTL_VM, VM_UVMEXP}; - if (sysctl(which, 2, &info, &size, NULL, 0)) + if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) return UV__ERR(errno); return (uint64_t) info.free * sysconf(_SC_PAGESIZE); @@ -119,7 +119,7 @@ uint64_t uv_get_total_memory(void) { #endif size_t size = sizeof(info); - if (sysctl(which, 2, &info, &size, NULL, 0)) + if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) return UV__ERR(errno); return (uint64_t) info; @@ -167,7 +167,7 @@ int uv_uptime(double* uptime) { size_t size = sizeof(info); static int which[] = {CTL_KERN, KERN_BOOTTIME}; - if (sysctl(which, 2, &info, &size, NULL, 0)) + if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) return UV__ERR(errno); now = time(NULL); diff --git a/deps/uv/src/unix/openbsd.c b/deps/uv/src/unix/openbsd.c index 199a34658a7948..5ba0db022e4a46 100644 --- a/deps/uv/src/unix/openbsd.c +++ b/deps/uv/src/unix/openbsd.c @@ -50,7 +50,7 @@ void uv_loadavg(double avg[3]) { size_t size = sizeof(info); int which[] = {CTL_VM, VM_LOADAVG}; - if (sysctl(which, 2, &info, &size, NULL, 0) < 0) return; + if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0) < 0) return; avg[0] = (double) info.ldavg[0] / info.fscale; avg[1] = (double) info.ldavg[1] / info.fscale; @@ -81,7 +81,7 @@ int uv_exepath(char* buffer, size_t* size) { mib[1] = KERN_PROC_ARGS; mib[2] = mypid; mib[3] = KERN_PROC_ARGV; - if (sysctl(mib, 4, argsbuf, &argsbuf_size, NULL, 0) == 0) { + if (sysctl(mib, ARRAY_SIZE(mib), argsbuf, &argsbuf_size, NULL, 0) == 0) { break; } if (errno != ENOMEM) { @@ -117,7 +117,7 @@ uint64_t uv_get_free_memory(void) { size_t size = sizeof(info); int which[] = {CTL_VM, VM_UVMEXP}; - if (sysctl(which, 2, &info, &size, NULL, 0)) + if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) return UV__ERR(errno); return (uint64_t) info.free * sysconf(_SC_PAGESIZE); @@ -129,7 +129,7 @@ uint64_t uv_get_total_memory(void) { int which[] = {CTL_HW, HW_PHYSMEM64}; size_t size = sizeof(info); - if (sysctl(which, 2, &info, &size, NULL, 0)) + if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) return UV__ERR(errno); return (uint64_t) info; @@ -154,7 +154,7 @@ int uv_resident_set_memory(size_t* rss) { mib[4] = sizeof(struct kinfo_proc); mib[5] = 1; - if (sysctl(mib, 6, &kinfo, &size, NULL, 0) < 0) + if (sysctl(mib, ARRAY_SIZE(mib), &kinfo, &size, NULL, 0) < 0) return UV__ERR(errno); *rss = kinfo.p_vm_rssize * page_size; @@ -168,7 +168,7 @@ int uv_uptime(double* uptime) { size_t size = sizeof(info); static int which[] = {CTL_KERN, KERN_BOOTTIME}; - if (sysctl(which, 2, &info, &size, NULL, 0)) + if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) return UV__ERR(errno); now = time(NULL); @@ -184,18 +184,19 @@ int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { uint64_t info[CPUSTATES]; char model[512]; int numcpus = 1; - int which[] = {CTL_HW,HW_MODEL,0}; + int which[] = {CTL_HW,HW_MODEL}; + int percpu[] = {CTL_HW,HW_CPUSPEED,0}; size_t size; int i, j; uv_cpu_info_t* cpu_info; size = sizeof(model); - if (sysctl(which, 2, &model, &size, NULL, 0)) + if (sysctl(which, ARRAY_SIZE(which), &model, &size, NULL, 0)) return UV__ERR(errno); which[1] = HW_NCPUONLINE; size = sizeof(numcpus); - if (sysctl(which, 2, &numcpus, &size, NULL, 0)) + if (sysctl(which, ARRAY_SIZE(which), &numcpus, &size, NULL, 0)) return UV__ERR(errno); *cpu_infos = uv__malloc(numcpus * sizeof(**cpu_infos)); @@ -205,18 +206,17 @@ int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { i = 0; *count = numcpus; - which[1] = HW_CPUSPEED; size = sizeof(cpuspeed); - if (sysctl(which, 2, &cpuspeed, &size, NULL, 0)) + if (sysctl(which, ARRAY_SIZE(percpu), &cpuspeed, &size, NULL, 0)) goto error; size = sizeof(info); - which[0] = CTL_KERN; - which[1] = KERN_CPTIME2; + percpu[0] = CTL_KERN; + percpu[1] = KERN_CPTIME2; for (i = 0; i < numcpus; i++) { - which[2] = i; + percpu[2] = i; size = sizeof(info); - if (sysctl(which, 3, &info, &size, NULL, 0)) + if (sysctl(which, ARRAY_SIZE(percpu), &info, &size, NULL, 0)) goto error; cpu_info = &(*cpu_infos)[i]; diff --git a/deps/uv/src/unix/proctitle.c b/deps/uv/src/unix/proctitle.c index a5ce2030c55be8..1a8c7a7090e8a6 100644 --- a/deps/uv/src/unix/proctitle.c +++ b/deps/uv/src/unix/proctitle.c @@ -24,7 +24,6 @@ #include #include -extern void uv__set_process_title_platform_init(void); extern void uv__set_process_title(const char* title); static uv_mutex_t process_title_mutex; @@ -39,9 +38,6 @@ static struct { static void init_process_title_mutex_once(void) { uv_mutex_init(&process_title_mutex); -#ifdef __APPLE__ - uv__set_process_title_platform_init(); -#endif } diff --git a/deps/uv/src/unix/random-devurandom.c b/deps/uv/src/unix/random-devurandom.c index 9aa762e372ea3f..05e52a56a364ea 100644 --- a/deps/uv/src/unix/random-devurandom.c +++ b/deps/uv/src/unix/random-devurandom.c @@ -37,8 +37,8 @@ int uv__random_readpath(const char* path, void* buf, size_t buflen) { fd = uv__open_cloexec(path, O_RDONLY); - if (fd == -1) - return UV__ERR(errno); + if (fd < 0) + return fd; if (fstat(fd, &s)) { uv__close(fd); diff --git a/deps/uv/src/unix/signal.c b/deps/uv/src/unix/signal.c index 3a257f04b57807..ba8fcc204f80a1 100644 --- a/deps/uv/src/unix/signal.c +++ b/deps/uv/src/unix/signal.c @@ -565,6 +565,7 @@ static void uv__signal_stop(uv_signal_t* handle) { if (first_oneshot && !rem_oneshot) { ret = uv__signal_register_handler(handle->signum, 1); assert(ret == 0); + (void)ret; } } diff --git a/deps/uv/src/unix/stream.c b/deps/uv/src/unix/stream.c index 78ce8e84870e8e..8327f9ccfcea75 100644 --- a/deps/uv/src/unix/stream.c +++ b/deps/uv/src/unix/stream.c @@ -1048,7 +1048,12 @@ static int uv__stream_queue_fd(uv_stream_t* stream, int fd) { } -#define UV__CMSG_FD_COUNT 64 +#if defined(__PASE__) +/* on IBMi PASE the control message length can not exceed 256. */ +# define UV__CMSG_FD_COUNT 60 +#else +# define UV__CMSG_FD_COUNT 64 +#endif #define UV__CMSG_FD_SIZE (UV__CMSG_FD_COUNT * sizeof(int)) @@ -1180,10 +1185,6 @@ static void uv__read(uv_stream_t* stream) { } else if (errno == ECONNRESET && stream->type == UV_NAMED_PIPE) { uv__stream_eof(stream, &buf); return; -#elif defined(_AIX) - } else if (errno == ECONNRESET && (stream->flags & UV_DISCONNECT)) { - uv__stream_eof(stream, &buf); - return; #endif } else { /* Error. User should call uv_close(). */ diff --git a/deps/uv/src/unix/tty.c b/deps/uv/src/unix/tty.c index e7c520f77402bc..ff7d3b17f9303d 100644 --- a/deps/uv/src/unix/tty.c +++ b/deps/uv/src/unix/tty.c @@ -139,7 +139,7 @@ int uv_tty_init(uv_loop_t* loop, uv_tty_t* tty, int fd, int unused) { * slave device. */ if (uv__tty_is_slave(fd) && ttyname_r(fd, path, sizeof(path)) == 0) - r = uv__open_cloexec(path, mode); + r = uv__open_cloexec(path, mode | O_NOCTTY); else r = -1; @@ -293,7 +293,14 @@ uv_handle_type uv_guess_handle(uv_file file) { if (file < 0) return UV_UNKNOWN_HANDLE; +#if defined(__PASE__) + /* On IBMi PASE isatty() always returns true for stdin, stdout and stderr. + * Use ioctl() instead to identify whether it's actually a TTY. + */ + if (!ioctl(file, TXISATTY + 0x81, NULL) || errno != ENOTTY) +#else if (isatty(file)) +#endif return UV_TTY; if (fstat(file, &s)) diff --git a/deps/uv/src/win/core.c b/deps/uv/src/win/core.c index e9d0a581537dcd..6ded90cdcc7f86 100644 --- a/deps/uv/src/win/core.c +++ b/deps/uv/src/win/core.c @@ -321,8 +321,13 @@ void uv__loop_close(uv_loop_t* loop) { uv__loops_remove(loop); - /* close the async handle without needing an extra loop iteration */ - assert(!loop->wq_async.async_sent); + /* Close the async handle without needing an extra loop iteration. + * We might have a pending message, but we're just going to destroy the IOCP + * soon, so we can just discard it now without the usual risk of a getting + * another notification from GetQueuedCompletionStatusEx after calling the + * close_cb (which we also skip defining). We'll assert later that queue was + * actually empty and all reqs handled. */ + loop->wq_async.async_sent = 0; loop->wq_async.close_cb = NULL; uv__handle_closing(&loop->wq_async); uv__handle_close(&loop->wq_async); diff --git a/deps/uv/src/win/tty.c b/deps/uv/src/win/tty.c index 5d5b92d0d2d6bd..517aa4af79f6e9 100644 --- a/deps/uv/src/win/tty.c +++ b/deps/uv/src/win/tty.c @@ -1625,28 +1625,16 @@ static int uv_tty_write_bufs(uv_tty_t* handle, /* We can only write 8k characters at a time. Windows can't handle much more * characters in a single console write anyway. */ WCHAR utf16_buf[MAX_CONSOLE_CHAR]; - WCHAR* utf16_buffer; DWORD utf16_buf_used = 0; - unsigned int i, len, max_len, pos; - int allocate = 0; - -#define FLUSH_TEXT() \ - do { \ - pos = 0; \ - do { \ - len = utf16_buf_used - pos; \ - if (len > MAX_CONSOLE_CHAR) \ - len = MAX_CONSOLE_CHAR; \ - uv_tty_emit_text(handle, &utf16_buffer[pos], len, error); \ - pos += len; \ - } while (pos < utf16_buf_used); \ - if (allocate) { \ - uv__free(utf16_buffer); \ - allocate = 0; \ - utf16_buffer = utf16_buf; \ - } \ - utf16_buf_used = 0; \ - } while (0) + unsigned int i; + +#define FLUSH_TEXT() \ + do { \ + if (utf16_buf_used > 0) { \ + uv_tty_emit_text(handle, utf16_buf, utf16_buf_used, error); \ + utf16_buf_used = 0; \ + } \ + } while (0) #define ENSURE_BUFFER_SPACE(wchars_needed) \ if (wchars_needed > ARRAY_SIZE(utf16_buf) - utf16_buf_used) { \ @@ -1663,48 +1651,12 @@ static int uv_tty_write_bufs(uv_tty_t* handle, * keep parsing the buffer so we leave the parser in a consistent state. */ *error = ERROR_SUCCESS; - utf16_buffer = utf16_buf; - uv_sem_wait(&uv_tty_output_lock); for (i = 0; i < nbufs; i++) { uv_buf_t buf = bufs[i]; unsigned int j; - if (uv__vterm_state == UV_TTY_SUPPORTED && buf.len > 0) { - utf16_buf_used = MultiByteToWideChar(CP_UTF8, - 0, - buf.base, - buf.len, - NULL, - 0); - - if (utf16_buf_used == 0) { - *error = GetLastError(); - break; - } - - max_len = (utf16_buf_used + 1) * sizeof(WCHAR); - allocate = max_len > MAX_CONSOLE_CHAR; - if (allocate) - utf16_buffer = uv__malloc(max_len); - if (!MultiByteToWideChar(CP_UTF8, - 0, - buf.base, - buf.len, - utf16_buffer, - utf16_buf_used)) { - if (allocate) - uv__free(utf16_buffer); - *error = GetLastError(); - break; - } - - FLUSH_TEXT(); - - continue; - } - for (j = 0; j < buf.len; j++) { unsigned char c = buf.base[j]; @@ -1761,7 +1713,9 @@ static int uv_tty_write_bufs(uv_tty_t* handle, } /* Parse vt100/ansi escape codes */ - if (ansi_parser_state == ANSI_NORMAL) { + if (uv__vterm_state == UV_TTY_SUPPORTED) { + /* Pass through escape codes if conhost supports them. */ + } else if (ansi_parser_state == ANSI_NORMAL) { switch (utf8_codepoint) { case '\033': ansi_parser_state = ANSI_ESCAPE_SEEN; diff --git a/deps/uv/src/win/winsock.c b/deps/uv/src/win/winsock.c index 5820ba9c66da8d..4cf6e6b042c536 100644 --- a/deps/uv/src/win/winsock.c +++ b/deps/uv/src/win/winsock.c @@ -74,11 +74,6 @@ BOOL uv_get_connectex_function(SOCKET socket, LPFN_CONNECTEX* target) { } -static int error_means_no_support(DWORD error) { - return error == WSAEPROTONOSUPPORT || error == WSAESOCKTNOSUPPORT || - error == WSAEPFNOSUPPORT || error == WSAEAFNOSUPPORT; -} - void uv_winsock_init(void) { WSADATA wsa_data; @@ -105,50 +100,36 @@ void uv_winsock_init(void) { uv_fatal_error(errorno, "WSAStartup"); } - /* Detect non-IFS LSPs */ + /* Try to detect non-IFS LSPs */ + uv_tcp_non_ifs_lsp_ipv4 = 1; dummy = socket(AF_INET, SOCK_STREAM, IPPROTO_IP); - if (dummy != INVALID_SOCKET) { opt_len = (int) sizeof protocol_info; if (getsockopt(dummy, SOL_SOCKET, SO_PROTOCOL_INFOW, (char*) &protocol_info, - &opt_len) == SOCKET_ERROR) - uv_fatal_error(WSAGetLastError(), "getsockopt"); - - if (!(protocol_info.dwServiceFlags1 & XP1_IFS_HANDLES)) - uv_tcp_non_ifs_lsp_ipv4 = 1; - - if (closesocket(dummy) == SOCKET_ERROR) - uv_fatal_error(WSAGetLastError(), "closesocket"); - - } else if (!error_means_no_support(WSAGetLastError())) { - /* Any error other than "socket type not supported" is fatal. */ - uv_fatal_error(WSAGetLastError(), "socket"); + &opt_len) == 0) { + if (protocol_info.dwServiceFlags1 & XP1_IFS_HANDLES) + uv_tcp_non_ifs_lsp_ipv4 = 0; + } + closesocket(dummy); } - /* Detect IPV6 support and non-IFS LSPs */ + /* Try to detect IPV6 support and non-IFS LSPs */ + uv_tcp_non_ifs_lsp_ipv6 = 1; dummy = socket(AF_INET6, SOCK_STREAM, IPPROTO_IP); - if (dummy != INVALID_SOCKET) { opt_len = (int) sizeof protocol_info; if (getsockopt(dummy, SOL_SOCKET, SO_PROTOCOL_INFOW, (char*) &protocol_info, - &opt_len) == SOCKET_ERROR) - uv_fatal_error(WSAGetLastError(), "getsockopt"); - - if (!(protocol_info.dwServiceFlags1 & XP1_IFS_HANDLES)) - uv_tcp_non_ifs_lsp_ipv6 = 1; - - if (closesocket(dummy) == SOCKET_ERROR) - uv_fatal_error(WSAGetLastError(), "closesocket"); - - } else if (!error_means_no_support(WSAGetLastError())) { - /* Any error other than "socket type not supported" is fatal. */ - uv_fatal_error(WSAGetLastError(), "socket"); + &opt_len) == 0) { + if (protocol_info.dwServiceFlags1 & XP1_IFS_HANDLES) + uv_tcp_non_ifs_lsp_ipv6 = 0; + } + closesocket(dummy); } } diff --git a/deps/uv/test/run-tests.c b/deps/uv/test/run-tests.c index 55cf412827d51d..2aad6a522ff5e3 100644 --- a/deps/uv/test/run-tests.c +++ b/deps/uv/test/run-tests.c @@ -51,6 +51,13 @@ static int maybe_run_test(int argc, char **argv); int main(int argc, char **argv) { +#ifndef _WIN32 + if (0 == geteuid() && NULL == getenv("UV_RUN_AS_ROOT")) { + fprintf(stderr, "The libuv test suite cannot be run as root.\n"); + return EXIT_FAILURE; + } +#endif + if (platform_init(argc, argv)) return EXIT_FAILURE; diff --git a/deps/uv/test/runner-unix.c b/deps/uv/test/runner-unix.c index 716c15ff088fa9..dbb33bfa3edfd2 100644 --- a/deps/uv/test/runner-unix.c +++ b/deps/uv/test/runner-unix.c @@ -371,8 +371,8 @@ int process_copy_output(process_info_t* p, FILE* stream) { } /* TODO: what if the line is longer than buf */ - while (fgets(buf, sizeof(buf), p->stdout_file) != NULL) - print_lines(buf, strlen(buf), stream); + while ((r = fread(buf, 1, sizeof(buf), p->stdout_file)) != 0) + print_lines(buf, r, stream); if (ferror(p->stdout_file)) { perror("read"); @@ -398,7 +398,8 @@ int process_read_last_line(process_info_t *p, buffer[0] = '\0'; while (fgets(buffer, buffer_len, p->stdout_file) != NULL) { - for (ptr = buffer; *ptr && *ptr != '\r' && *ptr != '\n'; ptr++); + for (ptr = buffer; *ptr && *ptr != '\r' && *ptr != '\n'; ptr++) + ; *ptr = '\0'; } diff --git a/deps/uv/test/runner-win.c b/deps/uv/test/runner-win.c index 4167a386921ec7..e69b7447dcee0c 100644 --- a/deps/uv/test/runner-win.c +++ b/deps/uv/test/runner-win.c @@ -222,28 +222,19 @@ long int process_output_size(process_info_t *p) { int process_copy_output(process_info_t* p, FILE* stream) { char buf[1024]; int fd, r; - FILE* f; fd = _open_osfhandle((intptr_t)p->stdio_out, _O_RDONLY | _O_TEXT); if (fd == -1) return -1; - f = _fdopen(fd, "rt"); - if (f == NULL) { - _close(fd); - return -1; - } - r = fseek(f, 0, SEEK_SET); + r = _lseek(fd, 0, SEEK_SET); if (r < 0) return -1; - while (fgets(buf, sizeof(buf), f) != NULL) - print_lines(buf, strlen(buf), stream); - - if (ferror(f)) - return -1; + while ((r = _read(fd, buf, sizeof(buf))) != 0) + print_lines(buf, r, stream); - fclose(f); + _close(fd); return 0; } diff --git a/deps/uv/test/runner.c b/deps/uv/test/runner.c index aec560a59dbc5c..a0f5df8947bac8 100644 --- a/deps/uv/test/runner.c +++ b/deps/uv/test/runner.c @@ -419,13 +419,18 @@ void print_lines(const char* buffer, size_t size, FILE* stream) { start = buffer; while ((end = memchr(start, '\n', &buffer[size] - start))) { - fprintf(stream, "# %.*s\n", (int) (end - start), start); + fputs("# ", stream); + fwrite(start, 1, (int)(end - start), stream); + fputs("\n", stream); fflush(stream); start = end + 1; } - if (start < &buffer[size]) { - fprintf(stream, "# %s\n", start); + end = &buffer[size]; + if (start < end) { + fputs("# ", stream); + fwrite(start, 1, (int)(end - start), stream); + fputs("\n", stream); fflush(stream); } } diff --git a/deps/uv/test/task.h b/deps/uv/test/task.h index bc7b53369b538a..13105d0bd94a4d 100644 --- a/deps/uv/test/task.h +++ b/deps/uv/test/task.h @@ -215,7 +215,7 @@ UNUSED static int can_ipv6(void) { return supported; } -#if defined(__CYGWIN__) || defined(__MSYS__) +#if defined(__CYGWIN__) || defined(__MSYS__) || defined(__PASE__) # define NO_FS_EVENTS "Filesystem watching not supported on this platform." #endif diff --git a/deps/uv/test/test-dlerror.c b/deps/uv/test/test-dlerror.c index 8f7697b594129c..70cc9bfa884290 100644 --- a/deps/uv/test/test-dlerror.c +++ b/deps/uv/test/test-dlerror.c @@ -42,13 +42,17 @@ TEST_IMPL(dlerror) { msg = uv_dlerror(&lib); ASSERT(msg != NULL); +#ifndef __OpenBSD__ ASSERT(strstr(msg, path) != NULL); +#endif ASSERT(strstr(msg, dlerror_no_error) == NULL); /* Should return the same error twice in a row. */ msg = uv_dlerror(&lib); ASSERT(msg != NULL); +#ifndef __OpenBSD__ ASSERT(strstr(msg, path) != NULL); +#endif ASSERT(strstr(msg, dlerror_no_error) == NULL); uv_dlclose(&lib); diff --git a/deps/uv/test/test-env-vars.c b/deps/uv/test/test-env-vars.c index 3c9de95b102a07..f61c1c6c115cae 100644 --- a/deps/uv/test/test-env-vars.c +++ b/deps/uv/test/test-env-vars.c @@ -102,6 +102,12 @@ TEST_IMPL(env_vars) { ASSERT(r == 0); r = uv_os_setenv(name2, ""); ASSERT(r == 0); +#ifdef _WIN32 + /* Create a special environment variable on Windows in case there are no + naturally occurring ones. */ + r = uv_os_setenv("=Z:", "\\"); + ASSERT(r == 0); +#endif r = uv_os_environ(&envitems, &envcount); ASSERT(r == 0); diff --git a/deps/uv/test/test-fs.c b/deps/uv/test/test-fs.c index ded1eec8dc632c..75cefe32d87edf 100644 --- a/deps/uv/test/test-fs.c +++ b/deps/uv/test/test-fs.c @@ -343,7 +343,8 @@ static void statfs_cb(uv_fs_t* req) { ASSERT(req->ptr != NULL); stats = req->ptr; -#if defined(_WIN32) || defined(__sun) || defined(_AIX) || defined(__MVS__) +#if defined(_WIN32) || defined(__sun) || defined(_AIX) || defined(__MVS__) || \ + defined(__OpenBSD__) || defined(__NetBSD__) ASSERT(stats->f_type == 0); #else ASSERT(stats->f_type > 0); @@ -1322,6 +1323,25 @@ TEST_IMPL(fs_fstat) { file = req.result; uv_fs_req_cleanup(&req); +#ifndef _WIN32 + ASSERT(0 == fstat(file, &t)); + ASSERT(0 == uv_fs_fstat(NULL, &req, file, NULL)); + ASSERT(req.result == 0); + s = req.ptr; +# if defined(__APPLE__) + ASSERT(s->st_birthtim.tv_sec == t.st_birthtimespec.tv_sec); + ASSERT(s->st_birthtim.tv_nsec == t.st_birthtimespec.tv_nsec); +# elif defined(__linux__) + /* If statx() is supported, the birth time should be equal to the change time + * because we just created the file. On older kernels, it's set to zero. + */ + ASSERT(s->st_birthtim.tv_sec == 0 || + s->st_birthtim.tv_sec == t.st_ctim.tv_sec); + ASSERT(s->st_birthtim.tv_nsec == 0 || + s->st_birthtim.tv_nsec == t.st_ctim.tv_nsec); +# endif +#endif + iov = uv_buf_init(test_buf, sizeof(test_buf)); r = uv_fs_write(NULL, &req, file, &iov, 1, -1, NULL); ASSERT(r == sizeof(test_buf)); @@ -1356,10 +1376,6 @@ TEST_IMPL(fs_fstat) { ASSERT(s->st_mtim.tv_nsec == t.st_mtimespec.tv_nsec); ASSERT(s->st_ctim.tv_sec == t.st_ctimespec.tv_sec); ASSERT(s->st_ctim.tv_nsec == t.st_ctimespec.tv_nsec); - ASSERT(s->st_birthtim.tv_sec == t.st_birthtimespec.tv_sec); - ASSERT(s->st_birthtim.tv_nsec == t.st_birthtimespec.tv_nsec); - ASSERT(s->st_flags == t.st_flags); - ASSERT(s->st_gen == t.st_gen); #elif defined(_AIX) ASSERT(s->st_atim.tv_sec == t.st_atime); ASSERT(s->st_atim.tv_nsec == 0); @@ -1394,8 +1410,6 @@ TEST_IMPL(fs_fstat) { defined(__NetBSD__) ASSERT(s->st_birthtim.tv_sec == t.st_birthtim.tv_sec); ASSERT(s->st_birthtim.tv_nsec == t.st_birthtim.tv_nsec); - ASSERT(s->st_flags == t.st_flags); - ASSERT(s->st_gen == t.st_gen); # endif #else ASSERT(s->st_atim.tv_sec == t.st_atime); @@ -1407,14 +1421,10 @@ TEST_IMPL(fs_fstat) { #endif #endif -#if defined(__linux__) - /* If statx() is supported, the birth time should be equal to the change time - * because we just created the file. On older kernels, it's set to zero. - */ - ASSERT(s->st_birthtim.tv_sec == 0 || - s->st_birthtim.tv_sec == t.st_ctim.tv_sec); - ASSERT(s->st_birthtim.tv_nsec == 0 || - s->st_birthtim.tv_nsec == t.st_ctim.tv_nsec); +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) + ASSERT(s->st_flags == t.st_flags); + ASSERT(s->st_gen == t.st_gen); +#else ASSERT(s->st_flags == 0); ASSERT(s->st_gen == 0); #endif diff --git a/deps/uv/test/test-get-memory.c b/deps/uv/test/test-get-memory.c index 0e0864038b3219..6a9a46dc81dcef 100644 --- a/deps/uv/test/test-get-memory.c +++ b/deps/uv/test/test-get-memory.c @@ -32,7 +32,12 @@ TEST_IMPL(get_memory) { (unsigned long long) total_mem, (unsigned long long) constrained_mem); + /* On IBMi PASE, the amount of memory in use includes storage used for + * memory and disks so it is possible to exceed the amount of main storage. + */ +#ifndef __PASE__ ASSERT(free_mem > 0); +#endif ASSERT(total_mem > 0); ASSERT(total_mem > free_mem); diff --git a/deps/uv/test/test-platform-output.c b/deps/uv/test/test-platform-output.c index e651e5c582956e..65cfa1b3dcd4c4 100644 --- a/deps/uv/test/test-platform-output.c +++ b/deps/uv/test/test-platform-output.c @@ -58,9 +58,13 @@ TEST_IMPL(platform_output) { #endif err = uv_uptime(&uptime); +#if defined(__PASE__) + ASSERT(err == UV_ENOSYS); +#else ASSERT(err == 0); ASSERT(uptime > 0); printf("uv_uptime: %f\n", uptime); +#endif err = uv_getrusage(&rusage); ASSERT(err == 0); diff --git a/deps/uv/test/test-poll-close-doesnt-corrupt-stack.c b/deps/uv/test/test-poll-close-doesnt-corrupt-stack.c index 3393820fc40d77..1d7e84f60398ae 100644 --- a/deps/uv/test/test-poll-close-doesnt-corrupt-stack.c +++ b/deps/uv/test/test-poll-close-doesnt-corrupt-stack.c @@ -31,11 +31,9 @@ # define NO_INLINE __attribute__ ((noinline)) #endif - -uv_os_sock_t sock; -uv_poll_t handle; - #ifdef _WIN32 +static uv_os_sock_t sock; +static uv_poll_t handle; static int close_cb_called = 0; diff --git a/deps/uv/test/test-poll-closesocket.c b/deps/uv/test/test-poll-closesocket.c index ecaa9e54a223c0..1a1c364112a177 100644 --- a/deps/uv/test/test-poll-closesocket.c +++ b/deps/uv/test/test-poll-closesocket.c @@ -25,10 +25,9 @@ #include "uv.h" #include "task.h" -uv_os_sock_t sock; -uv_poll_t handle; - #ifdef _WIN32 +static uv_os_sock_t sock; +static uv_poll_t handle; static int close_cb_called = 0; diff --git a/deps/uv/test/test-process-title-threadsafe.c b/deps/uv/test/test-process-title-threadsafe.c index 19098eda0c4019..2f12b74e14f96f 100644 --- a/deps/uv/test/test-process-title-threadsafe.c +++ b/deps/uv/test/test-process-title-threadsafe.c @@ -25,7 +25,11 @@ #include -#define NUM_ITERATIONS 50 +#ifdef __APPLE__ +# define NUM_ITERATIONS 5 +#else +# define NUM_ITERATIONS 50 +#endif static const char* titles[] = { "8L2NY0Kdj0XyNFZnmUZigIOfcWjyNr0SkMmUhKw99VLUsZFrvCQQC3XIRfNR8pjyMjXObllled", @@ -68,7 +72,7 @@ TEST_IMPL(process_title_threadsafe) { int i; #if defined(__sun) || defined(__CYGWIN__) || defined(__MSYS__) || \ - defined(__MVS__) + defined(__MVS__) || defined(__PASE__) RETURN_SKIP("uv_(get|set)_process_title is not implemented."); #endif diff --git a/deps/uv/test/test-process-title.c b/deps/uv/test/test-process-title.c index efd48142b707bf..b49f3bc4264410 100644 --- a/deps/uv/test/test-process-title.c +++ b/deps/uv/test/test-process-title.c @@ -60,7 +60,8 @@ static void uv_get_process_title_edge_cases(void) { TEST_IMPL(process_title) { -#if defined(__sun) || defined(__CYGWIN__) || defined(__MSYS__) +#if defined(__sun) || defined(__CYGWIN__) || defined(__MSYS__) || \ + defined(__PASE__) RETURN_SKIP("uv_(get|set)_process_title is not implemented."); #endif diff --git a/deps/uv/test/test-thread.c b/deps/uv/test/test-thread.c index be72d5e8b39979..ffb392ceebc764 100644 --- a/deps/uv/test/test-thread.c +++ b/deps/uv/test/test-thread.c @@ -232,6 +232,7 @@ static void thread_check_stack(void* arg) { if (expected == 0) expected = (size_t)lim.rlim_cur; ASSERT(stack_size >= expected); + ASSERT(0 == pthread_attr_destroy(&attr)); #endif } diff --git a/deps/uv/test/test-udp-multicast-join.c b/deps/uv/test/test-udp-multicast-join.c index 6bac072db09631..cb3ff871eb9111 100644 --- a/deps/uv/test/test-udp-multicast-join.c +++ b/deps/uv/test/test-udp-multicast-join.c @@ -126,8 +126,10 @@ static void cl_recv_cb(uv_udp_t* handle, r = uv_udp_set_membership(&server, MULTICAST_ADDR, NULL, UV_LEAVE_GROUP); ASSERT(r == 0); +#if !defined(__OpenBSD__) && !defined(__NetBSD__) r = uv_udp_set_source_membership(&server, MULTICAST_ADDR, NULL, source_addr, UV_JOIN_GROUP); ASSERT(r == 0); +#endif r = do_send(&req_ss); ASSERT(r == 0); diff --git a/deps/uv/uv.gyp b/deps/uv/uv.gyp index c4564c04086bc0..116b7537195618 100644 --- a/deps/uv/uv.gyp +++ b/deps/uv/uv.gyp @@ -93,7 +93,7 @@ '-Wno-unused-parameter', '-Wstrict-prototypes', ], - 'OTHER_CFLAGS': [ '-g', '--std=gnu89', '-pedantic' ], + 'OTHER_CFLAGS': [ '-g', '--std=gnu89' ], }, 'conditions': [ [ 'OS=="win"', { @@ -217,7 +217,6 @@ '-fvisibility=hidden', '-g', '--std=gnu89', - '-pedantic', '-Wall', '-Wextra', '-Wno-unused-parameter', diff --git a/deps/uvwasi/include/fd_table.h b/deps/uvwasi/include/fd_table.h index 639ff9abc8d34f..fa8a44e7468d41 100644 --- a/deps/uvwasi/include/fd_table.h +++ b/deps/uvwasi/include/fd_table.h @@ -4,7 +4,6 @@ #include #include "uv.h" #include "wasi_types.h" -#include "uv_mapping.h" struct uvwasi_s; @@ -32,26 +31,39 @@ uvwasi_errno_t uvwasi_fd_table_init(struct uvwasi_s* uvwasi, uint32_t init_size); void uvwasi_fd_table_free(struct uvwasi_s* uvwasi, struct uvwasi_fd_table_t* table); +uvwasi_errno_t uvwasi_fd_table_insert(struct uvwasi_s* uvwasi, + struct uvwasi_fd_table_t* table, + uv_file fd, + const char* mapped_path, + const char* real_path, + uvwasi_filetype_t type, + uvwasi_rights_t rights_base, + uvwasi_rights_t rights_inheriting, + int preopen, + struct uvwasi_fd_wrap_t** wrap); uvwasi_errno_t uvwasi_fd_table_insert_preopen(struct uvwasi_s* uvwasi, struct uvwasi_fd_table_t* table, const uv_file fd, const char* path, const char* real_path); -uvwasi_errno_t uvwasi_fd_table_insert_fd(struct uvwasi_s* uvwasi, - struct uvwasi_fd_table_t* table, - const uv_file fd, - const int flags, - const char* path, - uvwasi_rights_t rights_base, - uvwasi_rights_t rights_inheriting, - struct uvwasi_fd_wrap_t* wrap); -uvwasi_errno_t uvwasi_fd_table_get(const struct uvwasi_fd_table_t* table, +uvwasi_errno_t uvwasi_fd_table_get(struct uvwasi_fd_table_t* table, const uvwasi_fd_t id, struct uvwasi_fd_wrap_t** wrap, uvwasi_rights_t rights_base, uvwasi_rights_t rights_inheriting); -uvwasi_errno_t uvwasi_fd_table_remove(struct uvwasi_s* uvwasi, - struct uvwasi_fd_table_t* table, - const uvwasi_fd_t id); +uvwasi_errno_t uvwasi_fd_table_get_nolock(struct uvwasi_fd_table_t* table, + const uvwasi_fd_t id, + struct uvwasi_fd_wrap_t** wrap, + uvwasi_rights_t rights_base, + uvwasi_rights_t rights_inheriting); +uvwasi_errno_t uvwasi_fd_table_remove_nolock(struct uvwasi_s* uvwasi, + struct uvwasi_fd_table_t* table, + const uvwasi_fd_t id); +uvwasi_errno_t uvwasi_fd_table_renumber(struct uvwasi_s* uvwasi, + struct uvwasi_fd_table_t* table, + const uvwasi_fd_t dst, + const uvwasi_fd_t src); +uvwasi_errno_t uvwasi_fd_table_lock(struct uvwasi_fd_table_t* table); +uvwasi_errno_t uvwasi_fd_table_unlock(struct uvwasi_fd_table_t* table); #endif /* __UVWASI_FD_TABLE_H__ */ diff --git a/deps/uvwasi/include/uvwasi.h b/deps/uvwasi/include/uvwasi.h index 2fbcbc583dcbfb..9ca30459e23a73 100644 --- a/deps/uvwasi/include/uvwasi.h +++ b/deps/uvwasi/include/uvwasi.h @@ -5,13 +5,13 @@ extern "C" { #endif +#include "uv.h" #include "wasi_types.h" -#include "uv_mapping.h" #include "fd_table.h" #define UVWASI_VERSION_MAJOR 0 #define UVWASI_VERSION_MINOR 0 -#define UVWASI_VERSION_PATCH 3 +#define UVWASI_VERSION_PATCH 5 #define UVWASI_VERSION_HEX ((UVWASI_VERSION_MAJOR << 16) | \ (UVWASI_VERSION_MINOR << 8) | \ (UVWASI_VERSION_PATCH)) diff --git a/deps/uvwasi/include/clocks.h b/deps/uvwasi/src/clocks.h similarity index 100% rename from deps/uvwasi/include/clocks.h rename to deps/uvwasi/src/clocks.h diff --git a/deps/uvwasi/src/fd_table.c b/deps/uvwasi/src/fd_table.c index f3855d4da54dbe..bc32f4dd28bbce 100644 --- a/deps/uvwasi/src/fd_table.c +++ b/deps/uvwasi/src/fd_table.c @@ -9,183 +9,21 @@ #include "uv.h" #include "fd_table.h" #include "wasi_types.h" +#include "wasi_rights.h" #include "uv_mapping.h" #include "uvwasi_alloc.h" -#define UVWASI__RIGHTS_ALL (UVWASI_RIGHT_FD_DATASYNC | \ - UVWASI_RIGHT_FD_READ | \ - UVWASI_RIGHT_FD_SEEK | \ - UVWASI_RIGHT_FD_FDSTAT_SET_FLAGS | \ - UVWASI_RIGHT_FD_SYNC | \ - UVWASI_RIGHT_FD_TELL | \ - UVWASI_RIGHT_FD_WRITE | \ - UVWASI_RIGHT_FD_ADVISE | \ - UVWASI_RIGHT_FD_ALLOCATE | \ - UVWASI_RIGHT_PATH_CREATE_DIRECTORY | \ - UVWASI_RIGHT_PATH_CREATE_FILE | \ - UVWASI_RIGHT_PATH_LINK_SOURCE | \ - UVWASI_RIGHT_PATH_LINK_TARGET | \ - UVWASI_RIGHT_PATH_OPEN | \ - UVWASI_RIGHT_FD_READDIR | \ - UVWASI_RIGHT_PATH_READLINK | \ - UVWASI_RIGHT_PATH_RENAME_SOURCE | \ - UVWASI_RIGHT_PATH_RENAME_TARGET | \ - UVWASI_RIGHT_PATH_FILESTAT_GET | \ - UVWASI_RIGHT_PATH_FILESTAT_SET_SIZE | \ - UVWASI_RIGHT_PATH_FILESTAT_SET_TIMES | \ - UVWASI_RIGHT_FD_FILESTAT_GET | \ - UVWASI_RIGHT_FD_FILESTAT_SET_TIMES | \ - UVWASI_RIGHT_FD_FILESTAT_SET_SIZE | \ - UVWASI_RIGHT_PATH_SYMLINK | \ - UVWASI_RIGHT_PATH_UNLINK_FILE | \ - UVWASI_RIGHT_PATH_REMOVE_DIRECTORY | \ - UVWASI_RIGHT_POLL_FD_READWRITE | \ - UVWASI_RIGHT_SOCK_SHUTDOWN) - -#define UVWASI__RIGHTS_BLOCK_DEVICE_BASE UVWASI__RIGHTS_ALL -#define UVWASI__RIGHTS_BLOCK_DEVICE_INHERITING UVWASI__RIGHTS_ALL - -#define UVWASI__RIGHTS_CHARACTER_DEVICE_BASE UVWASI__RIGHTS_ALL -#define UVWASI__RIGHTS_CHARACTER_DEVICE_INHERITING UVWASI__RIGHTS_ALL - -#define UVWASI__RIGHTS_REGULAR_FILE_BASE (UVWASI_RIGHT_FD_DATASYNC | \ - UVWASI_RIGHT_FD_READ | \ - UVWASI_RIGHT_FD_SEEK | \ - UVWASI_RIGHT_FD_FDSTAT_SET_FLAGS | \ - UVWASI_RIGHT_FD_SYNC | \ - UVWASI_RIGHT_FD_TELL | \ - UVWASI_RIGHT_FD_WRITE | \ - UVWASI_RIGHT_FD_ADVISE | \ - UVWASI_RIGHT_FD_ALLOCATE | \ - UVWASI_RIGHT_FD_FILESTAT_GET | \ - UVWASI_RIGHT_FD_FILESTAT_SET_SIZE | \ - UVWASI_RIGHT_FD_FILESTAT_SET_TIMES |\ - UVWASI_RIGHT_POLL_FD_READWRITE) -#define UVWASI__RIGHTS_REGULAR_FILE_INHERITING 0 - -#define UVWASI__RIGHTS_DIRECTORY_BASE (UVWASI_RIGHT_FD_FDSTAT_SET_FLAGS | \ - UVWASI_RIGHT_FD_SYNC | \ - UVWASI_RIGHT_FD_ADVISE | \ - UVWASI_RIGHT_PATH_CREATE_DIRECTORY | \ - UVWASI_RIGHT_PATH_CREATE_FILE | \ - UVWASI_RIGHT_PATH_LINK_SOURCE | \ - UVWASI_RIGHT_PATH_LINK_TARGET | \ - UVWASI_RIGHT_PATH_OPEN | \ - UVWASI_RIGHT_FD_READDIR | \ - UVWASI_RIGHT_PATH_READLINK | \ - UVWASI_RIGHT_PATH_RENAME_SOURCE | \ - UVWASI_RIGHT_PATH_RENAME_TARGET | \ - UVWASI_RIGHT_PATH_FILESTAT_GET | \ - UVWASI_RIGHT_PATH_FILESTAT_SET_SIZE | \ - UVWASI_RIGHT_PATH_FILESTAT_SET_TIMES | \ - UVWASI_RIGHT_FD_FILESTAT_GET | \ - UVWASI_RIGHT_FD_FILESTAT_SET_TIMES | \ - UVWASI_RIGHT_PATH_SYMLINK | \ - UVWASI_RIGHT_PATH_UNLINK_FILE | \ - UVWASI_RIGHT_PATH_REMOVE_DIRECTORY | \ - UVWASI_RIGHT_POLL_FD_READWRITE) -#define UVWASI__RIGHTS_DIRECTORY_INHERITING (UVWASI__RIGHTS_DIRECTORY_BASE | \ - UVWASI__RIGHTS_REGULAR_FILE_BASE) - -#define UVWASI__RIGHTS_SOCKET_BASE (UVWASI_RIGHT_FD_READ | \ - UVWASI_RIGHT_FD_FDSTAT_SET_FLAGS | \ - UVWASI_RIGHT_FD_WRITE | \ - UVWASI_RIGHT_FD_FILESTAT_GET | \ - UVWASI_RIGHT_POLL_FD_READWRITE | \ - UVWASI_RIGHT_SOCK_SHUTDOWN) -#define UVWASI__RIGHTS_SOCKET_INHERITING UVWASI__RIGHTS_ALL; - -#define UVWASI__RIGHTS_TTY_BASE (UVWASI_RIGHT_FD_READ | \ - UVWASI_RIGHT_FD_FDSTAT_SET_FLAGS | \ - UVWASI_RIGHT_FD_WRITE | \ - UVWASI_RIGHT_FD_FILESTAT_GET | \ - UVWASI_RIGHT_POLL_FD_READWRITE) -#define UVWASI__RIGHTS_TTY_INHERITING 0 - -static uvwasi_errno_t uvwasi__get_type_and_rights(uv_file fd, - int flags, - uvwasi_filetype_t* type, - uvwasi_rights_t* rights_base, - uvwasi_rights_t* rights_inheriting) { - uv_fs_t req; - uvwasi_filetype_t filetype; - int read_or_write_only; - int r; - - r = uv_fs_fstat(NULL, &req, fd, NULL); - filetype = uvwasi__stat_to_filetype(&req.statbuf); - uv_fs_req_cleanup(&req); - if (r != 0) - return uvwasi__translate_uv_error(r); - - *type = filetype; - switch (filetype) { - case UVWASI_FILETYPE_REGULAR_FILE: - *rights_base = UVWASI__RIGHTS_REGULAR_FILE_BASE; - *rights_inheriting = UVWASI__RIGHTS_REGULAR_FILE_INHERITING; - break; - - case UVWASI_FILETYPE_DIRECTORY: - *rights_base = UVWASI__RIGHTS_DIRECTORY_BASE; - *rights_inheriting = UVWASI__RIGHTS_DIRECTORY_INHERITING; - break; - - /* uvwasi__stat_to_filetype() cannot differentiate socket types. It only - returns UVWASI_FILETYPE_SOCKET_STREAM. */ - case UVWASI_FILETYPE_SOCKET_STREAM: - if (uv_guess_handle(fd) == UV_UDP) - *type = UVWASI_FILETYPE_SOCKET_DGRAM; - - *rights_base = UVWASI__RIGHTS_SOCKET_BASE; - *rights_inheriting = UVWASI__RIGHTS_SOCKET_INHERITING; - break; - - case UVWASI_FILETYPE_CHARACTER_DEVICE: - if (uv_guess_handle(fd) == UV_TTY) { - *rights_base = UVWASI__RIGHTS_TTY_BASE; - *rights_inheriting = UVWASI__RIGHTS_TTY_INHERITING; - } else { - *rights_base = UVWASI__RIGHTS_CHARACTER_DEVICE_BASE; - *rights_inheriting = UVWASI__RIGHTS_CHARACTER_DEVICE_INHERITING; - } - break; - - case UVWASI_FILETYPE_BLOCK_DEVICE: - *rights_base = UVWASI__RIGHTS_BLOCK_DEVICE_BASE; - *rights_inheriting = UVWASI__RIGHTS_BLOCK_DEVICE_INHERITING; - break; - - default: - *rights_base = 0; - *rights_inheriting = 0; - } - - if (*type == UVWASI_FILETYPE_UNKNOWN) - return UVWASI_EINVAL; - - /* Disable read/write bits depending on access mode. */ - read_or_write_only = flags & (UV_FS_O_RDONLY | UV_FS_O_WRONLY | UV_FS_O_RDWR); - - if (read_or_write_only == UV_FS_O_RDONLY) - *rights_base &= ~UVWASI_RIGHT_FD_WRITE; - else if (read_or_write_only == UV_FS_O_WRONLY) - *rights_base &= ~UVWASI_RIGHT_FD_READ; - - return UVWASI_ESUCCESS; -} - - -static uvwasi_errno_t uvwasi__fd_table_insert(uvwasi_t* uvwasi, - struct uvwasi_fd_table_t* table, - uv_file fd, - const char* mapped_path, - const char* real_path, - uvwasi_filetype_t type, - uvwasi_rights_t rights_base, - uvwasi_rights_t rights_inheriting, - int preopen, - struct uvwasi_fd_wrap_t** wrap) { +uvwasi_errno_t uvwasi_fd_table_insert(uvwasi_t* uvwasi, + struct uvwasi_fd_table_t* table, + uv_file fd, + const char* mapped_path, + const char* real_path, + uvwasi_filetype_t type, + uvwasi_rights_t rights_base, + uvwasi_rights_t rights_inheriting, + int preopen, + struct uvwasi_fd_wrap_t** wrap) { struct uvwasi_fd_wrap_t* entry; struct uvwasi_fd_wrap_t** new_fds; uvwasi_errno_t err; @@ -263,11 +101,13 @@ static uvwasi_errno_t uvwasi__fd_table_insert(uvwasi_t* uvwasi, entry->rights_base = rights_base; entry->rights_inheriting = rights_inheriting; entry->preopen = preopen; - table->used++; - if (wrap != NULL) + if (wrap != NULL) { + uv_mutex_lock(&entry->mutex); *wrap = entry; + } + table->used++; err = UVWASI_ESUCCESS; exit: uv_rwlock_wrunlock(&table->rwlock); @@ -314,28 +154,30 @@ uvwasi_errno_t uvwasi_fd_table_init(uvwasi_t* uvwasi, /* Create the stdio FDs. */ for (i = 0; i < 3; ++i) { - err = uvwasi__get_type_and_rights(i, - UV_FS_O_RDWR, - &type, - &base, - &inheriting); + err = uvwasi__get_filetype_by_fd(i, &type); + if (err != UVWASI_ESUCCESS) + goto error_exit; + + err = uvwasi__get_rights(i, UV_FS_O_RDWR, type, &base, &inheriting); if (err != UVWASI_ESUCCESS) goto error_exit; - err = uvwasi__fd_table_insert(uvwasi, - table, - i, - "", - "", - type, - base, - inheriting, - 0, - &wrap); + err = uvwasi_fd_table_insert(uvwasi, + table, + i, + "", + "", + type, + base, + inheriting, + 0, + &wrap); if (err != UVWASI_ESUCCESS) goto error_exit; - if (wrap->id != i || wrap->id != (uvwasi_fd_t) wrap->fd) { + r = wrap->id != i || wrap->id != (uvwasi_fd_t) wrap->fd; + uv_mutex_unlock(&wrap->mutex); + if (r) { err = UVWASI_EBADF; goto error_exit; } @@ -386,14 +228,18 @@ uvwasi_errno_t uvwasi_fd_table_insert_preopen(uvwasi_t* uvwasi, if (table == NULL || path == NULL || real_path == NULL) return UVWASI_EINVAL; - err = uvwasi__get_type_and_rights(fd, 0, &type, &base, &inheriting); + err = uvwasi__get_filetype_by_fd(fd, &type); if (err != UVWASI_ESUCCESS) return err; if (type != UVWASI_FILETYPE_DIRECTORY) return UVWASI_ENOTDIR; - err = uvwasi__fd_table_insert(uvwasi, + err = uvwasi__get_rights(fd, 0, type, &base, &inheriting); + if (err != UVWASI_ESUCCESS) + return err; + + return uvwasi_fd_table_insert(uvwasi, table, fd, path, @@ -403,122 +249,164 @@ uvwasi_errno_t uvwasi_fd_table_insert_preopen(uvwasi_t* uvwasi, UVWASI__RIGHTS_DIRECTORY_INHERITING, 1, NULL); - if (err != UVWASI_ESUCCESS) - return err; - - return UVWASI_ESUCCESS; } -uvwasi_errno_t uvwasi_fd_table_insert_fd(uvwasi_t* uvwasi, - struct uvwasi_fd_table_t* table, - const uv_file fd, - const int flags, - const char* path, - uvwasi_rights_t rights_base, - uvwasi_rights_t rights_inheriting, - struct uvwasi_fd_wrap_t* wrap) { - struct uvwasi_fd_wrap_t* fd_wrap; - uvwasi_filetype_t type; - uvwasi_rights_t max_base; - uvwasi_rights_t max_inheriting; - uvwasi_errno_t r; +uvwasi_errno_t uvwasi_fd_table_get(struct uvwasi_fd_table_t* table, + const uvwasi_fd_t id, + struct uvwasi_fd_wrap_t** wrap, + uvwasi_rights_t rights_base, + uvwasi_rights_t rights_inheriting) { + uvwasi_errno_t err; - if (table == NULL || path == NULL || wrap == NULL) + if (table == NULL) return UVWASI_EINVAL; - r = uvwasi__get_type_and_rights(fd, flags, &type, &max_base, &max_inheriting); - if (r != UVWASI_ESUCCESS) - return r; - - r = uvwasi__fd_table_insert(uvwasi, - table, - fd, - path, - path, - type, - rights_base & max_base, - rights_inheriting & max_inheriting, - 0, - &fd_wrap); - if (r != UVWASI_ESUCCESS) - return r; - - *wrap = *fd_wrap; - return UVWASI_ESUCCESS; + uv_rwlock_wrlock(&table->rwlock); + err = uvwasi_fd_table_get_nolock(table, + id, + wrap, + rights_base, + rights_inheriting); + uv_rwlock_wrunlock(&table->rwlock); + return err; } -uvwasi_errno_t uvwasi_fd_table_get(const struct uvwasi_fd_table_t* table, - const uvwasi_fd_t id, - struct uvwasi_fd_wrap_t** wrap, - uvwasi_rights_t rights_base, - uvwasi_rights_t rights_inheriting) { +/* uvwasi_fd_table_get_nolock() retrieves a file descriptor and locks its mutex, + but does not lock the file descriptor table like uvwasi_fd_table_get() does. +*/ +uvwasi_errno_t uvwasi_fd_table_get_nolock(struct uvwasi_fd_table_t* table, + const uvwasi_fd_t id, + struct uvwasi_fd_wrap_t** wrap, + uvwasi_rights_t rights_base, + uvwasi_rights_t rights_inheriting) { struct uvwasi_fd_wrap_t* entry; - uvwasi_errno_t err; if (table == NULL || wrap == NULL) return UVWASI_EINVAL; - uv_rwlock_rdlock((uv_rwlock_t *)&table->rwlock); - - if (id >= table->size) { - err = UVWASI_EBADF; - goto exit; - } + if (id >= table->size) + return UVWASI_EBADF; entry = table->fds[id]; - if (entry == NULL || entry->id != id) { - err = UVWASI_EBADF; - goto exit; - } + if (entry == NULL || entry->id != id) + return UVWASI_EBADF; /* Validate that the fd has the necessary rights. */ if ((~entry->rights_base & rights_base) != 0 || (~entry->rights_inheriting & rights_inheriting) != 0) { - err = UVWASI_ENOTCAPABLE; - goto exit; + return UVWASI_ENOTCAPABLE; } uv_mutex_lock(&entry->mutex); *wrap = entry; - err = UVWASI_ESUCCESS; -exit: - uv_rwlock_rdunlock((uv_rwlock_t *)&table->rwlock); - return err; + return UVWASI_ESUCCESS; } -uvwasi_errno_t uvwasi_fd_table_remove(uvwasi_t* uvwasi, - struct uvwasi_fd_table_t* table, - const uvwasi_fd_t id) { +uvwasi_errno_t uvwasi_fd_table_remove_nolock(uvwasi_t* uvwasi, + struct uvwasi_fd_table_t* table, + const uvwasi_fd_t id) { struct uvwasi_fd_wrap_t* entry; - uvwasi_errno_t err; if (table == NULL) return UVWASI_EINVAL; + if (id >= table->size) + return UVWASI_EBADF; + + entry = table->fds[id]; + + if (entry == NULL || entry->id != id) + return UVWASI_EBADF; + + uv_mutex_destroy(&entry->mutex); + uvwasi__free(uvwasi, entry); + table->fds[id] = NULL; + table->used--; + return UVWASI_ESUCCESS; +} + + +uvwasi_errno_t uvwasi_fd_table_renumber(struct uvwasi_s* uvwasi, + struct uvwasi_fd_table_t* table, + const uvwasi_fd_t dst, + const uvwasi_fd_t src) { + struct uvwasi_fd_wrap_t* dst_entry; + struct uvwasi_fd_wrap_t* src_entry; + uv_fs_t req; + uvwasi_errno_t err; + int r; + + if (uvwasi == NULL || table == NULL) + return UVWASI_EINVAL; + + if (dst == src) + return UVWASI_ESUCCESS; + uv_rwlock_wrlock(&table->rwlock); - if (id >= table->size) { + if (dst >= table->size || src >= table->size) { err = UVWASI_EBADF; goto exit; } - entry = table->fds[id]; + dst_entry = table->fds[dst]; + src_entry = table->fds[src]; - if (entry == NULL || entry->id != id) { + if (dst_entry == NULL || dst_entry->id != dst || + src_entry == NULL || src_entry->id != src) { err = UVWASI_EBADF; goto exit; } - uv_mutex_destroy(&entry->mutex); - uvwasi__free(uvwasi, entry); - table->fds[id] = NULL; + uv_mutex_lock(&dst_entry->mutex); + uv_mutex_lock(&src_entry->mutex); + + /* Close the existing destination descriptor. */ + r = uv_fs_close(NULL, &req, dst_entry->fd, NULL); + uv_fs_req_cleanup(&req); + if (r != 0) { + uv_mutex_unlock(&src_entry->mutex); + uv_mutex_unlock(&dst_entry->mutex); + err = uvwasi__translate_uv_error(r); + goto exit; + } + + /* Move the source entry to the destination slot in the table. */ + table->fds[dst] = table->fds[src]; + table->fds[dst]->id = dst; + uv_mutex_unlock(&table->fds[dst]->mutex); + table->fds[src] = NULL; table->used--; + + /* Clean up what's left of the old destination entry. */ + uv_mutex_unlock(&dst_entry->mutex); + uv_mutex_destroy(&dst_entry->mutex); + uvwasi__free(uvwasi, dst_entry); + err = UVWASI_ESUCCESS; exit: uv_rwlock_wrunlock(&table->rwlock); return err; } + + +uvwasi_errno_t uvwasi_fd_table_lock(struct uvwasi_fd_table_t* table) { + if (table == NULL) + return UVWASI_EINVAL; + + uv_rwlock_wrlock(&table->rwlock); + return UVWASI_ESUCCESS; +} + + +uvwasi_errno_t uvwasi_fd_table_unlock(struct uvwasi_fd_table_t* table) { + if (table == NULL) + return UVWASI_EINVAL; + + uv_rwlock_wrunlock(&table->rwlock); + return UVWASI_ESUCCESS; +} diff --git a/deps/uvwasi/src/uv_mapping.c b/deps/uvwasi/src/uv_mapping.c index 846dcedbeb6b4f..da922de8da68f5 100644 --- a/deps/uvwasi/src/uv_mapping.c +++ b/deps/uvwasi/src/uv_mapping.c @@ -241,3 +241,33 @@ void uvwasi__stat_to_filestat(const uv_stat_t* stat, uvwasi_filestat_t* fs) { fs->st_mtim = uvwasi__timespec_to_timestamp(&stat->st_mtim); fs->st_ctim = uvwasi__timespec_to_timestamp(&stat->st_ctim); } + + +uvwasi_errno_t uvwasi__get_filetype_by_fd(uv_file fd, uvwasi_filetype_t* type) { + uv_fs_t req; + int r; + + r = uv_fs_fstat(NULL, &req, fd, NULL); + if (r != 0) { + uv_fs_req_cleanup(&req); + + /* Windows can't stat a TTY. */ + if (uv_guess_handle(fd) == UV_TTY) { + *type = UVWASI_FILETYPE_CHARACTER_DEVICE; + return UVWASI_ESUCCESS; + } + + *type = UVWASI_FILETYPE_UNKNOWN; + return uvwasi__translate_uv_error(r); + } + + *type = uvwasi__stat_to_filetype(&req.statbuf); + uv_fs_req_cleanup(&req); + + if (*type == UVWASI_FILETYPE_SOCKET_STREAM && + uv_guess_handle(fd) == UV_UDP) { + *type = UVWASI_FILETYPE_SOCKET_DGRAM; + } + + return UVWASI_ESUCCESS; +} diff --git a/deps/uvwasi/include/uv_mapping.h b/deps/uvwasi/src/uv_mapping.h similarity index 86% rename from deps/uvwasi/include/uv_mapping.h rename to deps/uvwasi/src/uv_mapping.h index d835ca507a4856..5a0542afb4dd8b 100644 --- a/deps/uvwasi/include/uv_mapping.h +++ b/deps/uvwasi/src/uv_mapping.h @@ -11,5 +11,6 @@ int uvwasi__translate_to_uv_signal(uvwasi_signal_t sig); uvwasi_timestamp_t uvwasi__timespec_to_timestamp(const uv_timespec_t* ts); uvwasi_filetype_t uvwasi__stat_to_filetype(const uv_stat_t* stat); void uvwasi__stat_to_filestat(const uv_stat_t* stat, uvwasi_filestat_t* fs); +uvwasi_errno_t uvwasi__get_filetype_by_fd(uv_file fd, uvwasi_filetype_t* type); #endif /* __UVWASI_UV_MAPPING_H__ */ diff --git a/deps/uvwasi/src/uvwasi.c b/deps/uvwasi/src/uvwasi.c index 28c6dcc26104c9..53b7699f590e53 100644 --- a/deps/uvwasi/src/uvwasi.c +++ b/deps/uvwasi/src/uvwasi.c @@ -7,16 +7,14 @@ # include # include # include -# define SLASH '/' -# define SLASH_STR "/" # define IS_SLASH(c) ((c) == '/') #else -# define SLASH '\\' -# define SLASH_STR "\\" +# include # define IS_SLASH(c) ((c) == '/' || (c) == '\\') #endif /* _WIN32 */ #define UVWASI__READDIR_NUM_ENTRIES 1 +#define UVWASI__MAX_SYMLINK_FOLLOWS 32 #include "uvwasi.h" #include "uvwasi_alloc.h" @@ -24,6 +22,7 @@ #include "uv_mapping.h" #include "fd_table.h" #include "clocks.h" +#include "wasi_rights.h" /* TODO(cjihrig): PATH_MAX_BYTES shouldn't be stack allocated. On Windows, paths can be 32k long, and this PATH_MAX_BYTES is an artificial limitation. */ @@ -86,120 +85,312 @@ static int uvwasi__is_absolute_path(const char* path, size_t path_len) { } +static char* uvwasi__strchr_slash(const char* s) { + /* strchr() that identifies /, as well as \ on Windows. */ + do { + if (IS_SLASH(*s)) + return (char*) s; + } while (*s++); + + return NULL; +} + + +static uvwasi_errno_t uvwasi__normalize_path(const char* path, + size_t path_len, + char* normalized_path, + size_t normalized_len) { + const char* cur; + char* ptr; + char* next; + size_t cur_len; + + if (path_len > normalized_len) + return UVWASI_ENOBUFS; + + normalized_path[0] = '\0'; + ptr = normalized_path; + for (cur = path; cur != NULL; cur = next + 1) { + next = uvwasi__strchr_slash(cur); + cur_len = (next == NULL) ? strlen(cur) : (size_t) (next - cur); + + if (cur_len == 0 || (cur_len == 1 && cur[0] == '.')) + continue; + + if (cur_len == 2 && cur[0] == '.' && cur[1] == '.') { + while (!IS_SLASH(*ptr) && ptr != normalized_path) + ptr--; + *ptr = '\0'; + continue; + } + + *ptr = '/'; + ptr++; + memcpy(ptr, cur, cur_len); + ptr += cur_len; + *ptr = '\0'; + + if (next == NULL) + break; + } + + return UVWASI_ESUCCESS; +} + + +static uvwasi_errno_t uvwasi__resolve_path_to_host( + const uvwasi_t* uvwasi, + const struct uvwasi_fd_wrap_t* fd, + const char* path, + size_t path_len, + char** resolved_path, + size_t* resolved_len + ) { + /* Return the normalized path, but resolved to the host's real path. */ + int real_path_len; + int fake_path_len; +#ifdef _WIN32 + size_t i; +#endif /* _WIN32 */ + + real_path_len = strlen(fd->real_path); + fake_path_len = strlen(fd->path); + *resolved_len = path_len - fake_path_len + real_path_len; + *resolved_path = uvwasi__malloc(uvwasi, *resolved_len + 1); + + if (*resolved_path == NULL) + return UVWASI_ENOMEM; + + memcpy(*resolved_path, fd->real_path, real_path_len); + memcpy(*resolved_path + real_path_len, + path + fake_path_len, + path_len - fake_path_len + 1); + +#ifdef _WIN32 + /* Replace / with \ on Windows. */ + for (i = real_path_len; i < *resolved_len; i++) { + if ((*resolved_path)[i] == '/') + (*resolved_path)[i] = '\\'; + } +#endif /* _WIN32 */ + + return UVWASI_ESUCCESS; +} + + +static uvwasi_errno_t uvwasi__normalize_absolute_path( + const uvwasi_t* uvwasi, + const struct uvwasi_fd_wrap_t* fd, + const char* path, + size_t path_len, + char** normalized_path, + size_t* normalized_len + ) { + uvwasi_errno_t err; + char* abs_path; + int abs_size; + + *normalized_path = NULL; + *normalized_len = 0; + abs_size = path_len + 1; + abs_path = uvwasi__malloc(uvwasi, abs_size); + if (abs_path == NULL) { + err = UVWASI_ENOMEM; + goto exit; + } + + /* Normalize the input path first. */ + err = uvwasi__normalize_path(path, + path_len, + abs_path, + path_len); + if (err != UVWASI_ESUCCESS) + goto exit; + + /* Once the input is normalized, ensure that it is still sandboxed. */ + if (abs_path != strstr(abs_path, fd->path)) { + err = UVWASI_ENOTCAPABLE; + goto exit; + } + + *normalized_path = abs_path; + *normalized_len = abs_size - 1; + return UVWASI_ESUCCESS; + +exit: + uvwasi__free(uvwasi, abs_path); + return err; +} + + +static uvwasi_errno_t uvwasi__normalize_relative_path( + const uvwasi_t* uvwasi, + const struct uvwasi_fd_wrap_t* fd, + const char* path, + size_t path_len, + char** normalized_path, + size_t* normalized_len + ) { + uvwasi_errno_t err; + char* abs_path; + int abs_size; + int r; + + *normalized_path = NULL; + *normalized_len = 0; + abs_size = path_len + strlen(fd->path) + 2; + abs_path = uvwasi__malloc(uvwasi, abs_size); + if (abs_path == NULL) { + err = UVWASI_ENOMEM; + goto exit; + } + + /* Resolve the relative path to an absolute path based on fd's fake path. */ + r = snprintf(abs_path, abs_size, "%s/%s", fd->path, path); + if (r <= 0) { + err = uvwasi__translate_uv_error(uv_translate_sys_error(errno)); + goto exit; + } + + err = uvwasi__normalize_absolute_path(uvwasi, + fd, + abs_path, + abs_size - 1, + normalized_path, + normalized_len); +exit: + uvwasi__free(uvwasi, abs_path); + return err; +} + + static uvwasi_errno_t uvwasi__resolve_path(const uvwasi_t* uvwasi, const struct uvwasi_fd_wrap_t* fd, const char* path, size_t path_len, char* resolved_path, uvwasi_lookupflags_t flags) { - uv_fs_t realpath_req; + uv_fs_t req; uvwasi_errno_t err; - char* abs_path; - char* tok; - char* ptr; - int realpath_size; - int abs_size; - int input_is_absolute; + const char* input; + char* host_path; + char* normalized_path; + char* link_target; + size_t input_len; + size_t host_path_len; + size_t normalized_len; + int follow_count; int r; -#ifdef _WIN32 - int i; -#endif /* _WIN32 */ - err = UVWASI_ESUCCESS; - input_is_absolute = uvwasi__is_absolute_path(path, path_len); + input = path; + input_len = path_len; + link_target = NULL; + follow_count = 0; + host_path = NULL; - if (1 == input_is_absolute) { - /* TODO(cjihrig): Revisit this. Copying is probably not necessary here. */ - abs_size = path_len; - abs_path = uvwasi__malloc(uvwasi, abs_size); - if (abs_path == NULL) { - err = UVWASI_ENOMEM; - goto exit; - } +start: + normalized_path = NULL; + err = UVWASI_ESUCCESS; - memcpy(abs_path, path, abs_size); + if (1 == uvwasi__is_absolute_path(input, input_len)) { + err = uvwasi__normalize_absolute_path(uvwasi, + fd, + input, + input_len, + &normalized_path, + &normalized_len); } else { - /* Resolve the relative path to fd's real path. */ - abs_size = path_len + strlen(fd->real_path) + 2; - abs_path = uvwasi__malloc(uvwasi, abs_size); - if (abs_path == NULL) { - err = UVWASI_ENOMEM; - goto exit; - } - - r = snprintf(abs_path, abs_size, "%s/%s", fd->real_path, path); - if (r <= 0) { - err = uvwasi__translate_uv_error(uv_translate_sys_error(errno)); - goto exit; - } + err = uvwasi__normalize_relative_path(uvwasi, + fd, + input, + input_len, + &normalized_path, + &normalized_len); } -#ifdef _WIN32 - /* On Windows, convert slashes to backslashes. */ - for (i = 0; i < abs_size; ++i) { - if (abs_path[i] == '/') - abs_path[i] = SLASH; - } -#endif /* _WIN32 */ + if (err != UVWASI_ESUCCESS) + goto exit; - ptr = resolved_path; - tok = strtok(abs_path, SLASH_STR); - for (; tok != NULL; tok = strtok(NULL, SLASH_STR)) { - if (0 == strcmp(tok, ".")) - continue; + uvwasi__free(uvwasi, host_path); + err = uvwasi__resolve_path_to_host(uvwasi, + fd, + normalized_path, + normalized_len, + &host_path, + &host_path_len); + if (err != UVWASI_ESUCCESS) + goto exit; - if (0 == strcmp(tok, "..")) { - while (*ptr != SLASH && ptr != resolved_path) - ptr--; - *ptr = '\0'; - continue; - } + /* TODO(cjihrig): Currently performing a bounds check here. The TODO is to + stop allocating resolved_path in every caller and instead return the + path allocated in this function. */ + if (host_path_len > PATH_MAX_BYTES) { + err = UVWASI_ENOBUFS; + goto exit; + } + if ((flags & UVWASI_LOOKUP_SYMLINK_FOLLOW) == UVWASI_LOOKUP_SYMLINK_FOLLOW) { + r = uv_fs_readlink(NULL, &req, host_path, NULL); + + if (r != 0) { #ifdef _WIN32 - /* On Windows, prevent a leading slash in the path. */ - if (ptr == resolved_path) - r = sprintf(ptr, "%s", tok); - else + /* uv_fs_readlink() returns UV__UNKNOWN on Windows. Try to get a better + error using uv_fs_stat(). */ + if (r == UV__UNKNOWN) { + uv_fs_req_cleanup(&req); + r = uv_fs_stat(NULL, &req, host_path, NULL); + + if (r == 0) { + if (uvwasi__stat_to_filetype(&req.statbuf) != + UVWASI_FILETYPE_SYMBOLIC_LINK) { + r = UV_EINVAL; + } + } + + // Fall through. + } #endif /* _WIN32 */ - r = sprintf(ptr, "%c%s", SLASH, tok); - if (r < 1) { /* At least one character should have been written. */ - err = uvwasi__translate_uv_error(uv_translate_sys_error(errno)); + /* Don't report UV_EINVAL or UV_ENOENT. They mean that either the file + does not exist, or it is not a symlink. Both are OK. */ + if (r != UV_EINVAL && r != UV_ENOENT) + err = uvwasi__translate_uv_error(r); + + uv_fs_req_cleanup(&req); goto exit; } - ptr += r; - } - - if ((flags & UVWASI_LOOKUP_SYMLINK_FOLLOW) == UVWASI_LOOKUP_SYMLINK_FOLLOW) { - r = uv_fs_realpath(NULL, &realpath_req, resolved_path, NULL); - if (r == 0) { - realpath_size = strlen(realpath_req.ptr) + 1; - if (realpath_size > PATH_MAX_BYTES) { - err = UVWASI_ENOBUFS; - uv_fs_req_cleanup(&realpath_req); - goto exit; - } - - memcpy(resolved_path, realpath_req.ptr, realpath_size); - } else if (r != UV_ENOENT) { - /* Report errors except ENOENT. */ - err = uvwasi__translate_uv_error(r); - uv_fs_req_cleanup(&realpath_req); + /* Clean up memory and follow the link, unless it's time to return ELOOP. */ + follow_count++; + if (follow_count >= UVWASI__MAX_SYMLINK_FOLLOWS) { + uv_fs_req_cleanup(&req); + err = UVWASI_ELOOP; goto exit; } - uv_fs_req_cleanup(&realpath_req); - } + input_len = strlen(req.ptr); + uvwasi__free(uvwasi, link_target); + link_target = uvwasi__malloc(uvwasi, input_len + 1); + if (link_target == NULL) { + uv_fs_req_cleanup(&req); + err = UVWASI_ENOMEM; + goto exit; + } - /* Verify that the resolved path is still in the sandbox. */ - if (resolved_path != strstr(resolved_path, fd->real_path)) { - err = UVWASI_ENOTCAPABLE; - goto exit; + memcpy(link_target, req.ptr, input_len + 1); + input = link_target; + uvwasi__free(uvwasi, normalized_path); + uv_fs_req_cleanup(&req); + goto start; } exit: - uvwasi__free(uvwasi, abs_path); + if (err == UVWASI_ESUCCESS) + memcpy(resolved_path, host_path, host_path_len + 1); + + uvwasi__free(uvwasi, link_target); + uvwasi__free(uvwasi, normalized_path); + uvwasi__free(uvwasi, host_path); return err; } @@ -687,18 +878,26 @@ uvwasi_errno_t uvwasi_fd_close(uvwasi_t* uvwasi, uvwasi_fd_t fd) { if (uvwasi == NULL) return UVWASI_EINVAL; - err = uvwasi_fd_table_get(&uvwasi->fds, fd, &wrap, 0, 0); + uvwasi_fd_table_lock(&uvwasi->fds); + + err = uvwasi_fd_table_get_nolock(&uvwasi->fds, fd, &wrap, 0, 0); if (err != UVWASI_ESUCCESS) - return err; + goto exit; r = uv_fs_close(NULL, &req, wrap->fd, NULL); uv_mutex_unlock(&wrap->mutex); uv_fs_req_cleanup(&req); - if (r != 0) - return uvwasi__translate_uv_error(r); + if (r != 0) { + err = uvwasi__translate_uv_error(r); + goto exit; + } + + err = uvwasi_fd_table_remove_nolock(uvwasi, &uvwasi->fds, fd); - return uvwasi_fd_table_remove(uvwasi, &uvwasi->fds, fd); +exit: + uvwasi_fd_table_unlock(&uvwasi->fds); + return err; } @@ -1295,41 +1494,10 @@ uvwasi_errno_t uvwasi_fd_readdir(uvwasi_t* uvwasi, uvwasi_errno_t uvwasi_fd_renumber(uvwasi_t* uvwasi, uvwasi_fd_t from, uvwasi_fd_t to) { - struct uvwasi_fd_wrap_t* to_wrap; - struct uvwasi_fd_wrap_t* from_wrap; - uv_fs_t req; - uvwasi_errno_t err; - int r; - if (uvwasi == NULL) return UVWASI_EINVAL; - if (from == to) - return UVWASI_ESUCCESS; - - err = uvwasi_fd_table_get(&uvwasi->fds, from, &from_wrap, 0, 0); - if (err != UVWASI_ESUCCESS) - return err; - - err = uvwasi_fd_table_get(&uvwasi->fds, to, &to_wrap, 0, 0); - if (err != UVWASI_ESUCCESS) { - uv_mutex_unlock(&from_wrap->mutex); - return err; - } - - r = uv_fs_close(NULL, &req, to_wrap->fd, NULL); - uv_fs_req_cleanup(&req); - if (r != 0) { - uv_mutex_unlock(&from_wrap->mutex); - uv_mutex_unlock(&to_wrap->mutex); - return uvwasi__translate_uv_error(r); - } - - memcpy(to_wrap, from_wrap, sizeof(*to_wrap)); - to_wrap->id = to; - uv_mutex_unlock(&from_wrap->mutex); - uv_mutex_unlock(&to_wrap->mutex); - return uvwasi_fd_table_remove(uvwasi, &uvwasi->fds, from); + return uvwasi_fd_table_renumber(uvwasi, &uvwasi->fds, to, from); } @@ -1603,37 +1771,41 @@ uvwasi_errno_t uvwasi_path_link(uvwasi_t* uvwasi, if (uvwasi == NULL || old_path == NULL || new_path == NULL) return UVWASI_EINVAL; - if (old_fd == new_fd) { - err = uvwasi_fd_table_get(&uvwasi->fds, - old_fd, - &old_wrap, - UVWASI_RIGHT_PATH_LINK_SOURCE | - UVWASI_RIGHT_PATH_LINK_TARGET, - 0); - if (err != UVWASI_ESUCCESS) - return err; + uvwasi_fd_table_lock(&uvwasi->fds); + if (old_fd == new_fd) { + err = uvwasi_fd_table_get_nolock(&uvwasi->fds, + old_fd, + &old_wrap, + UVWASI_RIGHT_PATH_LINK_SOURCE | + UVWASI_RIGHT_PATH_LINK_TARGET, + 0); new_wrap = old_wrap; } else { - err = uvwasi_fd_table_get(&uvwasi->fds, - old_fd, - &old_wrap, - UVWASI_RIGHT_PATH_LINK_SOURCE, - 0); - if (err != UVWASI_ESUCCESS) - return err; - - err = uvwasi_fd_table_get(&uvwasi->fds, - new_fd, - &new_wrap, - UVWASI_RIGHT_PATH_LINK_TARGET, - 0); + err = uvwasi_fd_table_get_nolock(&uvwasi->fds, + old_fd, + &old_wrap, + UVWASI_RIGHT_PATH_LINK_SOURCE, + 0); if (err != UVWASI_ESUCCESS) { - uv_mutex_unlock(&old_wrap->mutex); + uvwasi_fd_table_unlock(&uvwasi->fds); return err; } + + err = uvwasi_fd_table_get_nolock(&uvwasi->fds, + new_fd, + &new_wrap, + UVWASI_RIGHT_PATH_LINK_TARGET, + 0); + if (err != UVWASI_ESUCCESS) + uv_mutex_unlock(&old_wrap->mutex); } + uvwasi_fd_table_unlock(&uvwasi->fds); + + if (err != UVWASI_ESUCCESS) + return err; + err = uvwasi__resolve_path(uvwasi, old_wrap, old_path, @@ -1661,9 +1833,9 @@ uvwasi_errno_t uvwasi_path_link(uvwasi_t* uvwasi, err = UVWASI_ESUCCESS; exit: - uv_mutex_unlock(&old_wrap->mutex); + uv_mutex_unlock(&new_wrap->mutex); if (old_fd != new_fd) - uv_mutex_unlock(&new_wrap->mutex); + uv_mutex_unlock(&old_wrap->mutex); return err; } @@ -1681,8 +1853,11 @@ uvwasi_errno_t uvwasi_path_open(uvwasi_t* uvwasi, char resolved_path[PATH_MAX_BYTES]; uvwasi_rights_t needed_inheriting; uvwasi_rights_t needed_base; + uvwasi_rights_t max_base; + uvwasi_rights_t max_inheriting; struct uvwasi_fd_wrap_t* dirfd_wrap; - struct uvwasi_fd_wrap_t wrap; + struct uvwasi_fd_wrap_t *wrap; + uvwasi_filetype_t filetype; uvwasi_errno_t err; uv_fs_t req; int flags; @@ -1759,37 +1934,43 @@ uvwasi_errno_t uvwasi_path_open(uvwasi_t* uvwasi, } r = uv_fs_open(NULL, &req, resolved_path, flags, 0666, NULL); + uv_mutex_unlock(&dirfd_wrap->mutex); uv_fs_req_cleanup(&req); - if (r < 0) { - uv_mutex_unlock(&dirfd_wrap->mutex); + if (r < 0) return uvwasi__translate_uv_error(r); - } - err = uvwasi_fd_table_insert_fd(uvwasi, - &uvwasi->fds, - r, - flags, - resolved_path, - fs_rights_base, - fs_rights_inheriting, - &wrap); - if (err != UVWASI_ESUCCESS) { - uv_mutex_unlock(&dirfd_wrap->mutex); + /* Not all platforms support UV_FS_O_DIRECTORY, so get the file type and check + it here. */ + err = uvwasi__get_filetype_by_fd(r, &filetype); + if (err != UVWASI_ESUCCESS) goto close_file_and_error_exit; - } - /* Not all platforms support UV_FS_O_DIRECTORY, so enforce it here as well. */ if ((o_flags & UVWASI_O_DIRECTORY) != 0 && - wrap.type != UVWASI_FILETYPE_DIRECTORY) { - uv_mutex_unlock(&dirfd_wrap->mutex); - uvwasi_fd_table_remove(uvwasi, &uvwasi->fds, wrap.id); + filetype != UVWASI_FILETYPE_DIRECTORY) { err = UVWASI_ENOTDIR; goto close_file_and_error_exit; } - *fd = wrap.id; - uv_mutex_unlock(&dirfd_wrap->mutex); + err = uvwasi__get_rights(r, flags, filetype, &max_base, &max_inheriting); + if (err != UVWASI_ESUCCESS) + goto close_file_and_error_exit; + + err = uvwasi_fd_table_insert(uvwasi, + &uvwasi->fds, + r, + resolved_path, + resolved_path, + filetype, + fs_rights_base & max_base, + fs_rights_inheriting & max_inheriting, + 0, + &wrap); + if (err != UVWASI_ESUCCESS) + goto close_file_and_error_exit; + + *fd = wrap->id; + uv_mutex_unlock(&wrap->mutex); return UVWASI_ESUCCESS; close_file_and_error_exit: @@ -1907,36 +2088,41 @@ uvwasi_errno_t uvwasi_path_rename(uvwasi_t* uvwasi, if (uvwasi == NULL || old_path == NULL || new_path == NULL) return UVWASI_EINVAL; + uvwasi_fd_table_lock(&uvwasi->fds); + if (old_fd == new_fd) { - err = uvwasi_fd_table_get(&uvwasi->fds, - old_fd, - &old_wrap, - UVWASI_RIGHT_PATH_RENAME_SOURCE | - UVWASI_RIGHT_PATH_RENAME_TARGET, - 0); - if (err != UVWASI_ESUCCESS) - return err; + err = uvwasi_fd_table_get_nolock(&uvwasi->fds, + old_fd, + &old_wrap, + UVWASI_RIGHT_PATH_RENAME_SOURCE | + UVWASI_RIGHT_PATH_RENAME_TARGET, + 0); new_wrap = old_wrap; } else { - err = uvwasi_fd_table_get(&uvwasi->fds, - old_fd, - &old_wrap, - UVWASI_RIGHT_PATH_RENAME_SOURCE, - 0); - if (err != UVWASI_ESUCCESS) - return err; - - err = uvwasi_fd_table_get(&uvwasi->fds, - new_fd, - &new_wrap, - UVWASI_RIGHT_PATH_RENAME_TARGET, - 0); + err = uvwasi_fd_table_get_nolock(&uvwasi->fds, + old_fd, + &old_wrap, + UVWASI_RIGHT_PATH_RENAME_SOURCE, + 0); if (err != UVWASI_ESUCCESS) { - uv_mutex_unlock(&old_wrap->mutex); + uvwasi_fd_table_unlock(&uvwasi->fds); return err; } + + err = uvwasi_fd_table_get_nolock(&uvwasi->fds, + new_fd, + &new_wrap, + UVWASI_RIGHT_PATH_RENAME_TARGET, + 0); + if (err != UVWASI_ESUCCESS) + uv_mutex_unlock(&old_wrap->mutex); } + uvwasi_fd_table_unlock(&uvwasi->fds); + + if (err != UVWASI_ESUCCESS) + return err; + err = uvwasi__resolve_path(uvwasi, old_wrap, old_path, @@ -1964,9 +2150,9 @@ uvwasi_errno_t uvwasi_path_rename(uvwasi_t* uvwasi, err = UVWASI_ESUCCESS; exit: - uv_mutex_unlock(&old_wrap->mutex); + uv_mutex_unlock(&new_wrap->mutex); if (old_fd != new_fd) - uv_mutex_unlock(&new_wrap->mutex); + uv_mutex_unlock(&old_wrap->mutex); return err; } diff --git a/deps/uvwasi/src/wasi_rights.c b/deps/uvwasi/src/wasi_rights.c new file mode 100644 index 00000000000000..79d0338086a244 --- /dev/null +++ b/deps/uvwasi/src/wasi_rights.c @@ -0,0 +1,62 @@ +#include "uv.h" +#include "wasi_rights.h" +#include "wasi_types.h" + + +uvwasi_errno_t uvwasi__get_rights(uv_file fd, + int flags, + uvwasi_filetype_t type, + uvwasi_rights_t* rights_base, + uvwasi_rights_t* rights_inheriting) { + int read_or_write_only; + + if (type == UVWASI_FILETYPE_UNKNOWN) + return UVWASI_EINVAL; + + switch (type) { + case UVWASI_FILETYPE_REGULAR_FILE: + *rights_base = UVWASI__RIGHTS_REGULAR_FILE_BASE; + *rights_inheriting = UVWASI__RIGHTS_REGULAR_FILE_INHERITING; + break; + + case UVWASI_FILETYPE_DIRECTORY: + *rights_base = UVWASI__RIGHTS_DIRECTORY_BASE; + *rights_inheriting = UVWASI__RIGHTS_DIRECTORY_INHERITING; + break; + + case UVWASI_FILETYPE_SOCKET_STREAM: + case UVWASI_FILETYPE_SOCKET_DGRAM: + *rights_base = UVWASI__RIGHTS_SOCKET_BASE; + *rights_inheriting = UVWASI__RIGHTS_SOCKET_INHERITING; + break; + + case UVWASI_FILETYPE_CHARACTER_DEVICE: + if (uv_guess_handle(fd) == UV_TTY) { + *rights_base = UVWASI__RIGHTS_TTY_BASE; + *rights_inheriting = UVWASI__RIGHTS_TTY_INHERITING; + } else { + *rights_base = UVWASI__RIGHTS_CHARACTER_DEVICE_BASE; + *rights_inheriting = UVWASI__RIGHTS_CHARACTER_DEVICE_INHERITING; + } + break; + + case UVWASI_FILETYPE_BLOCK_DEVICE: + *rights_base = UVWASI__RIGHTS_BLOCK_DEVICE_BASE; + *rights_inheriting = UVWASI__RIGHTS_BLOCK_DEVICE_INHERITING; + break; + + default: + *rights_base = 0; + *rights_inheriting = 0; + } + + /* Disable read/write bits depending on access mode. */ + read_or_write_only = flags & (UV_FS_O_RDONLY | UV_FS_O_WRONLY | UV_FS_O_RDWR); + + if (read_or_write_only == UV_FS_O_RDONLY) + *rights_base &= ~UVWASI_RIGHT_FD_WRITE; + else if (read_or_write_only == UV_FS_O_WRONLY) + *rights_base &= ~UVWASI_RIGHT_FD_READ; + + return UVWASI_ESUCCESS; +} diff --git a/deps/uvwasi/src/wasi_rights.h b/deps/uvwasi/src/wasi_rights.h new file mode 100644 index 00000000000000..fb19bd0a00e74e --- /dev/null +++ b/deps/uvwasi/src/wasi_rights.h @@ -0,0 +1,104 @@ +#ifndef __UVWASI_WASI_RIGHTS_H__ +#define __UVWASI_WASI_RIGHTS_H__ + +#include "wasi_types.h" + +#define UVWASI__RIGHTS_ALL (UVWASI_RIGHT_FD_DATASYNC | \ + UVWASI_RIGHT_FD_READ | \ + UVWASI_RIGHT_FD_SEEK | \ + UVWASI_RIGHT_FD_FDSTAT_SET_FLAGS | \ + UVWASI_RIGHT_FD_SYNC | \ + UVWASI_RIGHT_FD_TELL | \ + UVWASI_RIGHT_FD_WRITE | \ + UVWASI_RIGHT_FD_ADVISE | \ + UVWASI_RIGHT_FD_ALLOCATE | \ + UVWASI_RIGHT_PATH_CREATE_DIRECTORY | \ + UVWASI_RIGHT_PATH_CREATE_FILE | \ + UVWASI_RIGHT_PATH_LINK_SOURCE | \ + UVWASI_RIGHT_PATH_LINK_TARGET | \ + UVWASI_RIGHT_PATH_OPEN | \ + UVWASI_RIGHT_FD_READDIR | \ + UVWASI_RIGHT_PATH_READLINK | \ + UVWASI_RIGHT_PATH_RENAME_SOURCE | \ + UVWASI_RIGHT_PATH_RENAME_TARGET | \ + UVWASI_RIGHT_PATH_FILESTAT_GET | \ + UVWASI_RIGHT_PATH_FILESTAT_SET_SIZE | \ + UVWASI_RIGHT_PATH_FILESTAT_SET_TIMES | \ + UVWASI_RIGHT_FD_FILESTAT_GET | \ + UVWASI_RIGHT_FD_FILESTAT_SET_TIMES | \ + UVWASI_RIGHT_FD_FILESTAT_SET_SIZE | \ + UVWASI_RIGHT_PATH_SYMLINK | \ + UVWASI_RIGHT_PATH_UNLINK_FILE | \ + UVWASI_RIGHT_PATH_REMOVE_DIRECTORY | \ + UVWASI_RIGHT_POLL_FD_READWRITE | \ + UVWASI_RIGHT_SOCK_SHUTDOWN) + +#define UVWASI__RIGHTS_BLOCK_DEVICE_BASE UVWASI__RIGHTS_ALL +#define UVWASI__RIGHTS_BLOCK_DEVICE_INHERITING UVWASI__RIGHTS_ALL + +#define UVWASI__RIGHTS_CHARACTER_DEVICE_BASE UVWASI__RIGHTS_ALL +#define UVWASI__RIGHTS_CHARACTER_DEVICE_INHERITING UVWASI__RIGHTS_ALL + +#define UVWASI__RIGHTS_REGULAR_FILE_BASE (UVWASI_RIGHT_FD_DATASYNC | \ + UVWASI_RIGHT_FD_READ | \ + UVWASI_RIGHT_FD_SEEK | \ + UVWASI_RIGHT_FD_FDSTAT_SET_FLAGS | \ + UVWASI_RIGHT_FD_SYNC | \ + UVWASI_RIGHT_FD_TELL | \ + UVWASI_RIGHT_FD_WRITE | \ + UVWASI_RIGHT_FD_ADVISE | \ + UVWASI_RIGHT_FD_ALLOCATE | \ + UVWASI_RIGHT_FD_FILESTAT_GET | \ + UVWASI_RIGHT_FD_FILESTAT_SET_SIZE | \ + UVWASI_RIGHT_FD_FILESTAT_SET_TIMES |\ + UVWASI_RIGHT_POLL_FD_READWRITE) +#define UVWASI__RIGHTS_REGULAR_FILE_INHERITING 0 + +#define UVWASI__RIGHTS_DIRECTORY_BASE (UVWASI_RIGHT_FD_FDSTAT_SET_FLAGS | \ + UVWASI_RIGHT_FD_SYNC | \ + UVWASI_RIGHT_FD_ADVISE | \ + UVWASI_RIGHT_PATH_CREATE_DIRECTORY | \ + UVWASI_RIGHT_PATH_CREATE_FILE | \ + UVWASI_RIGHT_PATH_LINK_SOURCE | \ + UVWASI_RIGHT_PATH_LINK_TARGET | \ + UVWASI_RIGHT_PATH_OPEN | \ + UVWASI_RIGHT_FD_READDIR | \ + UVWASI_RIGHT_PATH_READLINK | \ + UVWASI_RIGHT_PATH_RENAME_SOURCE | \ + UVWASI_RIGHT_PATH_RENAME_TARGET | \ + UVWASI_RIGHT_PATH_FILESTAT_GET | \ + UVWASI_RIGHT_PATH_FILESTAT_SET_SIZE | \ + UVWASI_RIGHT_PATH_FILESTAT_SET_TIMES | \ + UVWASI_RIGHT_FD_FILESTAT_GET | \ + UVWASI_RIGHT_FD_FILESTAT_SET_TIMES | \ + UVWASI_RIGHT_PATH_SYMLINK | \ + UVWASI_RIGHT_PATH_UNLINK_FILE | \ + UVWASI_RIGHT_PATH_REMOVE_DIRECTORY | \ + UVWASI_RIGHT_POLL_FD_READWRITE) +#define UVWASI__RIGHTS_DIRECTORY_INHERITING (UVWASI__RIGHTS_DIRECTORY_BASE | \ + UVWASI__RIGHTS_REGULAR_FILE_BASE) + +#define UVWASI__RIGHTS_SOCKET_BASE (UVWASI_RIGHT_FD_READ | \ + UVWASI_RIGHT_FD_FDSTAT_SET_FLAGS | \ + UVWASI_RIGHT_FD_WRITE | \ + UVWASI_RIGHT_FD_FILESTAT_GET | \ + UVWASI_RIGHT_POLL_FD_READWRITE | \ + UVWASI_RIGHT_SOCK_SHUTDOWN) +#define UVWASI__RIGHTS_SOCKET_INHERITING UVWASI__RIGHTS_ALL; + +#define UVWASI__RIGHTS_TTY_BASE (UVWASI_RIGHT_FD_READ | \ + UVWASI_RIGHT_FD_FDSTAT_SET_FLAGS | \ + UVWASI_RIGHT_FD_WRITE | \ + UVWASI_RIGHT_FD_FILESTAT_GET | \ + UVWASI_RIGHT_POLL_FD_READWRITE) +#define UVWASI__RIGHTS_TTY_INHERITING 0 + + +uvwasi_errno_t uvwasi__get_rights(uv_file fd, + int flags, + uvwasi_filetype_t type, + uvwasi_rights_t* rights_base, + uvwasi_rights_t* rights_inheriting); + + +#endif /* __UVWASI_WASI_RIGHTS_H__ */ diff --git a/deps/uvwasi/uvwasi.gyp b/deps/uvwasi/uvwasi.gyp index c07b07b608b724..6963cbf20a7923 100644 --- a/deps/uvwasi/uvwasi.gyp +++ b/deps/uvwasi/uvwasi.gyp @@ -13,6 +13,7 @@ 'src/fd_table.c', 'src/uv_mapping.c', 'src/uvwasi.c', + 'src/wasi_rights.c', ], 'dependencies': [ '../uv/uv.gyp:libuv', @@ -20,6 +21,14 @@ 'direct_dependent_settings': { 'include_dirs': ['include'] }, + 'conditions': [ + [ 'OS=="linux"', { + 'defines': [ + '_GNU_SOURCE', + '_POSIX_C_SOURCE=200112', + ], + }], + ], } ] } diff --git a/deps/v8/src/builtins/builtins-regexp-gen.cc b/deps/v8/src/builtins/builtins-regexp-gen.cc index f879d70c676329..a1fb1a07c2d119 100644 --- a/deps/v8/src/builtins/builtins-regexp-gen.cc +++ b/deps/v8/src/builtins/builtins-regexp-gen.cc @@ -603,13 +603,18 @@ TNode RegExpBuiltinsAssembler::RegExpExecInternal( TNode code_entry = LoadCodeObjectEntry(code); - TNode result = UncheckedCast(CallCFunction( - code_entry, retval_type, std::make_pair(arg0_type, arg0), - std::make_pair(arg1_type, arg1), std::make_pair(arg2_type, arg2), - std::make_pair(arg3_type, arg3), std::make_pair(arg4_type, arg4), - std::make_pair(arg5_type, arg5), std::make_pair(arg6_type, arg6), - std::make_pair(arg7_type, arg7), std::make_pair(arg8_type, arg8), - std::make_pair(arg9_type, arg9))); + // AIX uses function descriptors on CFunction calls. code_entry in this case + // may also point to a Regex interpreter entry trampoline which does not + // have a function descriptor. This method is ineffective on other platforms + // and is equivalent to CallCFunction. + TNode result = + UncheckedCast(CallCFunctionWithoutFunctionDescriptor( + code_entry, retval_type, std::make_pair(arg0_type, arg0), + std::make_pair(arg1_type, arg1), std::make_pair(arg2_type, arg2), + std::make_pair(arg3_type, arg3), std::make_pair(arg4_type, arg4), + std::make_pair(arg5_type, arg5), std::make_pair(arg6_type, arg6), + std::make_pair(arg7_type, arg7), std::make_pair(arg8_type, arg8), + std::make_pair(arg9_type, arg9))); // Check the result. // We expect exactly one result since we force the called regexp to behave diff --git a/deps/v8/src/codegen/ppc/assembler-ppc.cc b/deps/v8/src/codegen/ppc/assembler-ppc.cc index 2a638af0705055..2877f16895c74c 100644 --- a/deps/v8/src/codegen/ppc/assembler-ppc.cc +++ b/deps/v8/src/codegen/ppc/assembler-ppc.cc @@ -1121,20 +1121,6 @@ void Assembler::divdu(Register dst, Register src1, Register src2, OEBit o, } #endif -// Function descriptor for AIX. -// Code address skips the function descriptor "header". -// TOC and static chain are ignored and set to 0. -void Assembler::function_descriptor() { - if (ABI_USES_FUNCTION_DESCRIPTORS) { - Label instructions; - DCHECK_EQ(pc_offset(), 0); - emit_label_addr(&instructions); - dp(0); - dp(0); - bind(&instructions); - } -} - int Assembler::instructions_required_for_mov(Register dst, const Operand& src) const { bool canOptimize = diff --git a/deps/v8/src/codegen/ppc/assembler-ppc.h b/deps/v8/src/codegen/ppc/assembler-ppc.h index dee264a75c06bb..2fc3a295db7892 100644 --- a/deps/v8/src/codegen/ppc/assembler-ppc.h +++ b/deps/v8/src/codegen/ppc/assembler-ppc.h @@ -839,8 +839,6 @@ class Assembler : public AssemblerBase { void mtfprwa(DoubleRegister dst, Register src); #endif - void function_descriptor(); - // Exception-generating instructions and debugging support void stop(Condition cond = al, int32_t code = kDefaultStopCode, CRegister cr = cr7); diff --git a/deps/v8/src/codegen/ppc/constants-ppc.h b/deps/v8/src/codegen/ppc/constants-ppc.h index f6ebc6a7ba53c5..2e499fd2c41357 100644 --- a/deps/v8/src/codegen/ppc/constants-ppc.h +++ b/deps/v8/src/codegen/ppc/constants-ppc.h @@ -60,6 +60,12 @@ namespace internal { // TODO(sigurds): Change this value once we use relative jumps. constexpr size_t kMaxPCRelativeCodeRangeInMB = 0; +// Used to encode a boolean value when emitting 32 bit +// opcodes which will indicate the presence of function descriptors +constexpr int kHasFunctionDescriptorBitShift = 9; +constexpr int kHasFunctionDescriptorBitMask = 1 + << kHasFunctionDescriptorBitShift; + // Number of registers const int kNumRegisters = 32; diff --git a/deps/v8/src/codegen/ppc/macro-assembler-ppc.cc b/deps/v8/src/codegen/ppc/macro-assembler-ppc.cc index 41162063331b2e..51688606bad9da 100644 --- a/deps/v8/src/codegen/ppc/macro-assembler-ppc.cc +++ b/deps/v8/src/codegen/ppc/macro-assembler-ppc.cc @@ -209,6 +209,12 @@ void TurboAssembler::Jump(const ExternalReference& reference) { UseScratchRegisterScope temps(this); Register scratch = temps.Acquire(); Move(scratch, reference); + if (ABI_USES_FUNCTION_DESCRIPTORS) { + // AIX uses a function descriptor. When calling C code be + // aware of this descriptor and pick up values from it. + LoadP(ToRegister(ABI_TOC_REGISTER), MemOperand(scratch, kPointerSize)); + LoadP(scratch, MemOperand(scratch, 0)); + } Jump(scratch); } @@ -1931,28 +1937,35 @@ void TurboAssembler::MovToFloatParameters(DoubleRegister src1, void TurboAssembler::CallCFunction(ExternalReference function, int num_reg_arguments, - int num_double_arguments) { + int num_double_arguments, + bool has_function_descriptor) { Move(ip, function); - CallCFunctionHelper(ip, num_reg_arguments, num_double_arguments); + CallCFunctionHelper(ip, num_reg_arguments, num_double_arguments, + has_function_descriptor); } void TurboAssembler::CallCFunction(Register function, int num_reg_arguments, - int num_double_arguments) { - CallCFunctionHelper(function, num_reg_arguments, num_double_arguments); + int num_double_arguments, + bool has_function_descriptor) { + CallCFunctionHelper(function, num_reg_arguments, num_double_arguments, + has_function_descriptor); } void TurboAssembler::CallCFunction(ExternalReference function, - int num_arguments) { - CallCFunction(function, num_arguments, 0); + int num_arguments, + bool has_function_descriptor) { + CallCFunction(function, num_arguments, 0, has_function_descriptor); } -void TurboAssembler::CallCFunction(Register function, int num_arguments) { - CallCFunction(function, num_arguments, 0); +void TurboAssembler::CallCFunction(Register function, int num_arguments, + bool has_function_descriptor) { + CallCFunction(function, num_arguments, 0, has_function_descriptor); } void TurboAssembler::CallCFunctionHelper(Register function, int num_reg_arguments, - int num_double_arguments) { + int num_double_arguments, + bool has_function_descriptor) { DCHECK_LE(num_reg_arguments + num_double_arguments, kMaxCParameters); DCHECK(has_frame()); @@ -1977,7 +1990,7 @@ void TurboAssembler::CallCFunctionHelper(Register function, // allow preemption, so the return address in the link register // stays correct. Register dest = function; - if (ABI_USES_FUNCTION_DESCRIPTORS) { + if (ABI_USES_FUNCTION_DESCRIPTORS && has_function_descriptor) { // AIX/PPC64BE Linux uses a function descriptor. When calling C code be // aware of this descriptor and pick up values from it LoadP(ToRegister(ABI_TOC_REGISTER), MemOperand(function, kPointerSize)); diff --git a/deps/v8/src/codegen/ppc/macro-assembler-ppc.h b/deps/v8/src/codegen/ppc/macro-assembler-ppc.h index fd4cb6014bb322..b2bbecfaec0046 100644 --- a/deps/v8/src/codegen/ppc/macro-assembler-ppc.h +++ b/deps/v8/src/codegen/ppc/macro-assembler-ppc.h @@ -350,12 +350,16 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase { // garbage collection, since that might move the code and invalidate the // return address (unless this is somehow accounted for by the called // function). - void CallCFunction(ExternalReference function, int num_arguments); - void CallCFunction(Register function, int num_arguments); + void CallCFunction(ExternalReference function, int num_arguments, + bool has_function_descriptor = kHasFunctionDescriptor); + void CallCFunction(Register function, int num_arguments, + bool has_function_descriptor = kHasFunctionDescriptor); void CallCFunction(ExternalReference function, int num_reg_arguments, - int num_double_arguments); + int num_double_arguments, + bool has_function_descriptor = kHasFunctionDescriptor); void CallCFunction(Register function, int num_reg_arguments, - int num_double_arguments); + int num_double_arguments, + bool has_function_descriptor = kHasFunctionDescriptor); // Call a runtime routine. This expects {centry} to contain a fitting CEntry // builtin for the target runtime function and uses an indirect call. @@ -642,7 +646,8 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase { int CalculateStackPassedWords(int num_reg_arguments, int num_double_arguments); void CallCFunctionHelper(Register function, int num_reg_arguments, - int num_double_arguments); + int num_double_arguments, + bool has_function_descriptor); void CallRecordWriteStub(Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode, Handle code_target, diff --git a/deps/v8/src/common/globals.h b/deps/v8/src/common/globals.h index a0584b95c40475..ac48a5a1bc3108 100644 --- a/deps/v8/src/common/globals.h +++ b/deps/v8/src/common/globals.h @@ -404,6 +404,7 @@ enum TypeofMode : int { INSIDE_TYPEOF, NOT_INSIDE_TYPEOF }; // Enums used by CEntry. enum SaveFPRegsMode { kDontSaveFPRegs, kSaveFPRegs }; enum ArgvMode { kArgvOnStack, kArgvInRegister }; +enum FunctionDescriptorMode { kNoFunctionDescriptor, kHasFunctionDescriptor }; // This constant is used as an undefined value when passing source positions. constexpr int kNoSourcePosition = -1; diff --git a/deps/v8/src/compiler/backend/instruction-selector.cc b/deps/v8/src/compiler/backend/instruction-selector.cc index 43193ec2b110e9..d565a4696395db 100644 --- a/deps/v8/src/compiler/backend/instruction-selector.cc +++ b/deps/v8/src/compiler/backend/instruction-selector.cc @@ -2786,10 +2786,17 @@ void InstructionSelector::VisitCall(Node* node, BasicBlock* handler) { // Select the appropriate opcode based on the call type. InstructionCode opcode = kArchNop; switch (call_descriptor->kind()) { - case CallDescriptor::kCallAddress: - opcode = kArchCallCFunction | MiscField::encode(static_cast( - call_descriptor->ParameterCount())); + case CallDescriptor::kCallAddress: { + int misc_field = static_cast(call_descriptor->ParameterCount()); +#if defined(_AIX) + // Highest misc_field bit is used on AIX to indicate if a CFunction call + // has function descriptor or not. + misc_field |= call_descriptor->HasFunctionDescriptor() + << kHasFunctionDescriptorBitShift; +#endif + opcode = kArchCallCFunction | MiscField::encode(misc_field); break; + } case CallDescriptor::kCallCodeObject: opcode = kArchCallCodeObject | MiscField::encode(flags); break; diff --git a/deps/v8/src/compiler/backend/instruction.h b/deps/v8/src/compiler/backend/instruction.h index f5f7f64c51e50d..01277a81798975 100644 --- a/deps/v8/src/compiler/backend/instruction.h +++ b/deps/v8/src/compiler/backend/instruction.h @@ -826,7 +826,8 @@ class V8_EXPORT_PRIVATE Instruction final { size_t output_count, InstructionOperand* outputs, size_t input_count, InstructionOperand* inputs, size_t temp_count, InstructionOperand* temps) { - DCHECK_LE(0, opcode); + // TODO(9872) + // DCHECK_LE(0, opcode); DCHECK(output_count == 0 || outputs != nullptr); DCHECK(input_count == 0 || inputs != nullptr); DCHECK(temp_count == 0 || temps != nullptr); diff --git a/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc b/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc index 5c69bc34a12ee0..7147448e210bfb 100644 --- a/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc +++ b/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc @@ -1020,10 +1020,19 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction( #endif break; case kArchCallCFunction: { - int const num_parameters = MiscField::decode(instr->opcode()); + int misc_field = MiscField::decode(instr->opcode()); + int num_parameters = misc_field; + bool has_function_descriptor = false; Label start_call; bool isWasmCapiFunction = linkage()->GetIncomingDescriptor()->IsWasmCapiFunction(); +#if defined(_AIX) + // AIX/PPC64BE Linux uses a function descriptor + int kNumParametersMask = kHasFunctionDescriptorBitMask - 1; + num_parameters = kNumParametersMask & misc_field; + has_function_descriptor = + (misc_field & kHasFunctionDescriptorBitMask) != 0; +#endif constexpr int offset = 9 * kInstrSize; if (isWasmCapiFunction) { __ mflr(r0); @@ -1036,10 +1045,10 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction( } if (instr->InputAt(0)->IsImmediate()) { ExternalReference ref = i.InputExternalReference(0); - __ CallCFunction(ref, num_parameters); + __ CallCFunction(ref, num_parameters, has_function_descriptor); } else { Register func = i.InputRegister(0); - __ CallCFunction(func, num_parameters); + __ CallCFunction(func, num_parameters, has_function_descriptor); } // TODO(miladfar): In the above block, kScratchReg must be populated with // the strictly-correct PC, which is the return address at this spot. The diff --git a/deps/v8/src/compiler/code-assembler.cc b/deps/v8/src/compiler/code-assembler.cc index 4f1801146315ec..3aea29690ebad4 100644 --- a/deps/v8/src/compiler/code-assembler.cc +++ b/deps/v8/src/compiler/code-assembler.cc @@ -1439,6 +1439,13 @@ Node* CodeAssembler::CallCFunction( return raw_assembler()->CallCFunction(function, return_type, args); } +Node* CodeAssembler::CallCFunctionWithoutFunctionDescriptor( + Node* function, MachineType return_type, + std::initializer_list args) { + return raw_assembler()->CallCFunctionWithoutFunctionDescriptor( + function, return_type, args); +} + Node* CodeAssembler::CallCFunctionWithCallerSavedRegisters( Node* function, MachineType return_type, SaveFPRegsMode mode, std::initializer_list args) { diff --git a/deps/v8/src/compiler/code-assembler.h b/deps/v8/src/compiler/code-assembler.h index c9adb1601db1eb..a3310c9176ae39 100644 --- a/deps/v8/src/compiler/code-assembler.h +++ b/deps/v8/src/compiler/code-assembler.h @@ -1438,6 +1438,18 @@ class V8_EXPORT_PRIVATE CodeAssembler { return CallCFunction(function, return_type, {cargs...}); } + // Call to a C function without a function discriptor on AIX. + template + Node* CallCFunctionWithoutFunctionDescriptor(Node* function, + MachineType return_type, + CArgs... cargs) { + static_assert(v8::internal::conjunction< + std::is_convertible...>::value, + "invalid argument types"); + return CallCFunctionWithoutFunctionDescriptor(function, return_type, + {cargs...}); + } + // Call to a C function, while saving/restoring caller registers. template Node* CallCFunctionWithCallerSavedRegisters(Node* function, @@ -1486,6 +1498,10 @@ class V8_EXPORT_PRIVATE CodeAssembler { Node* CallCFunction(Node* function, MachineType return_type, std::initializer_list args); + Node* CallCFunctionWithoutFunctionDescriptor( + Node* function, MachineType return_type, + std::initializer_list args); + Node* CallCFunctionWithCallerSavedRegisters( Node* function, MachineType return_type, SaveFPRegsMode mode, std::initializer_list args); diff --git a/deps/v8/src/compiler/linkage.h b/deps/v8/src/compiler/linkage.h index 69e7fbfa427fb8..5458d1eb6f6924 100644 --- a/deps/v8/src/compiler/linkage.h +++ b/deps/v8/src/compiler/linkage.h @@ -352,9 +352,18 @@ class V8_EXPORT_PRIVATE CallDescriptor final SaveFPRegsMode get_save_fp_mode() const { return save_fp_mode_; } + void set_has_function_descriptor(bool has_function_descriptor) { + has_function_descriptor_ = has_function_descriptor; + } + + bool HasFunctionDescriptor() const { return has_function_descriptor_; } + private: friend class Linkage; SaveFPRegsMode save_fp_mode_ = kSaveFPRegs; + // AIX has a function descriptor which we will set to true by default + // for all CFunction Calls. + bool has_function_descriptor_ = kHasFunctionDescriptor; const Kind kind_; const MachineType target_type_; diff --git a/deps/v8/src/compiler/raw-machine-assembler.cc b/deps/v8/src/compiler/raw-machine-assembler.cc index e399b9c4f6b424..21ff12b42ed93a 100644 --- a/deps/v8/src/compiler/raw-machine-assembler.cc +++ b/deps/v8/src/compiler/raw-machine-assembler.cc @@ -706,7 +706,8 @@ namespace { Node* CallCFunctionImpl( RawMachineAssembler* rasm, Node* function, MachineType return_type, std::initializer_list args, - bool caller_saved_regs, SaveFPRegsMode mode) { + bool caller_saved_regs, SaveFPRegsMode mode, + bool has_function_descriptor = kHasFunctionDescriptor) { static constexpr std::size_t kNumCArgs = 10; MachineSignature::Builder builder(rasm->zone(), 1, args.size()); @@ -720,6 +721,8 @@ Node* CallCFunctionImpl( if (caller_saved_regs) call_descriptor->set_save_fp_mode(mode); + call_descriptor->set_has_function_descriptor(has_function_descriptor); + base::SmallVector nodes(args.size() + 1); nodes[0] = function; std::transform( @@ -740,6 +743,13 @@ Node* RawMachineAssembler::CallCFunction( kDontSaveFPRegs); } +Node* RawMachineAssembler::CallCFunctionWithoutFunctionDescriptor( + Node* function, MachineType return_type, + std::initializer_list args) { + return CallCFunctionImpl(this, function, return_type, args, false, + kDontSaveFPRegs, kNoFunctionDescriptor); +} + Node* RawMachineAssembler::CallCFunctionWithCallerSavedRegisters( Node* function, MachineType return_type, SaveFPRegsMode mode, std::initializer_list args) { diff --git a/deps/v8/src/compiler/raw-machine-assembler.h b/deps/v8/src/compiler/raw-machine-assembler.h index 46940df44f88f5..39d0588d646f1e 100644 --- a/deps/v8/src/compiler/raw-machine-assembler.h +++ b/deps/v8/src/compiler/raw-machine-assembler.h @@ -983,6 +983,22 @@ class V8_EXPORT_PRIVATE RawMachineAssembler { Node* CallCFunction(Node* function, MachineType return_type, std::initializer_list args); + // Call to a C function without a function discriptor on AIX. + template + Node* CallCFunctionWithoutFunctionDescriptor(Node* function, + MachineType return_type, + CArgs... cargs) { + static_assert(v8::internal::conjunction< + std::is_convertible...>::value, + "invalid argument types"); + return CallCFunctionWithoutFunctionDescriptor(function, return_type, + {cargs...}); + } + + Node* CallCFunctionWithoutFunctionDescriptor( + Node* function, MachineType return_type, + std::initializer_list args); + // Call to a C function, while saving/restoring caller registers. template Node* CallCFunctionWithCallerSavedRegisters(Node* function, diff --git a/deps/v8/src/execution/simulator.h b/deps/v8/src/execution/simulator.h index 9f98f2039bcaec..58b173694fc441 100644 --- a/deps/v8/src/execution/simulator.h +++ b/deps/v8/src/execution/simulator.h @@ -118,8 +118,6 @@ class GeneratedCode { return Simulator::current(isolate_)->template Call( reinterpret_cast
    (fn_ptr_), args...); } - - DISABLE_CFI_ICALL Return CallIrregexp(Args... args) { return Call(args...); } #else DISABLE_CFI_ICALL Return Call(Args... args) { @@ -138,11 +136,6 @@ class GeneratedCode { return fn_ptr_(args...); #endif // V8_OS_AIX } - - DISABLE_CFI_ICALL Return CallIrregexp(Args... args) { - // When running without a simulator we call the entry directly. - return fn_ptr_(args...); - } #endif // USE_SIMULATOR private: diff --git a/deps/v8/src/heap/factory.cc b/deps/v8/src/heap/factory.cc index dc3404969bc093..92728341054758 100644 --- a/deps/v8/src/heap/factory.cc +++ b/deps/v8/src/heap/factory.cc @@ -3501,11 +3501,6 @@ Handle Factory::NewSharedFunctionInfo( share->clear_padding(); } - // Link into the list. - Handle noscript_list = noscript_shared_function_infos(); - noscript_list = WeakArrayList::AddToEnd(isolate(), noscript_list, - MaybeObjectHandle::Weak(share)); - isolate()->heap()->set_noscript_shared_function_infos(*noscript_list); #ifdef VERIFY_HEAP share->SharedFunctionInfoVerify(isolate()); diff --git a/deps/v8/src/heap/heap-inl.h b/deps/v8/src/heap/heap-inl.h index da803f33395364..01d208b1bd63ed 100644 --- a/deps/v8/src/heap/heap-inl.h +++ b/deps/v8/src/heap/heap-inl.h @@ -111,10 +111,6 @@ void Heap::SetRootStringTable(StringTable value) { roots_table()[RootIndex::kStringTable] = value.ptr(); } -void Heap::SetRootNoScriptSharedFunctionInfos(Object value) { - roots_table()[RootIndex::kNoScriptSharedFunctionInfos] = value.ptr(); -} - void Heap::SetMessageListeners(TemplateList value) { roots_table()[RootIndex::kMessageListeners] = value.ptr(); } diff --git a/deps/v8/src/heap/heap.cc b/deps/v8/src/heap/heap.cc index ff3b34cfb4f29b..3caeda8bdd161b 100644 --- a/deps/v8/src/heap/heap.cc +++ b/deps/v8/src/heap/heap.cc @@ -5404,13 +5404,6 @@ void Heap::CompactWeakArrayLists(AllocationType allocation) { DCHECK_IMPLIES(allocation == AllocationType::kOld, InOldSpace(*scripts)); scripts = CompactWeakArrayList(this, scripts, allocation); set_script_list(*scripts); - - Handle no_script_list(noscript_shared_function_infos(), - isolate()); - DCHECK_IMPLIES(allocation == AllocationType::kOld, - InOldSpace(*no_script_list)); - no_script_list = CompactWeakArrayList(this, no_script_list, allocation); - set_noscript_shared_function_infos(*no_script_list); } void Heap::AddRetainedMap(Handle map) { diff --git a/deps/v8/src/heap/object-stats.cc b/deps/v8/src/heap/object-stats.cc index 2ee88361c965f3..d79e1c6d0fea4d 100644 --- a/deps/v8/src/heap/object-stats.cc +++ b/deps/v8/src/heap/object-stats.cc @@ -829,10 +829,6 @@ void ObjectStatsCollectorImpl::CollectGlobalStatistics() { ObjectStats::RETAINED_MAPS_TYPE); // WeakArrayList. - RecordSimpleVirtualObjectStats( - HeapObject(), - WeakArrayList::cast(heap_->noscript_shared_function_infos()), - ObjectStats::NOSCRIPT_SHARED_FUNCTION_INFOS_TYPE); RecordSimpleVirtualObjectStats(HeapObject(), WeakArrayList::cast(heap_->script_list()), ObjectStats::SCRIPT_LIST_TYPE); diff --git a/deps/v8/src/heap/object-stats.h b/deps/v8/src/heap/object-stats.h index 2a9b9675ef2145..28ef967c5ca011 100644 --- a/deps/v8/src/heap/object-stats.h +++ b/deps/v8/src/heap/object-stats.h @@ -54,7 +54,6 @@ V(MAP_PROTOTYPE_DICTIONARY_TYPE) \ V(MAP_PROTOTYPE_TYPE) \ V(MAP_STABLE_TYPE) \ - V(NOSCRIPT_SHARED_FUNCTION_INFOS_TYPE) \ V(NUMBER_STRING_CACHE_TYPE) \ V(OBJECT_DICTIONARY_ELEMENTS_TYPE) \ V(OBJECT_ELEMENTS_TYPE) \ diff --git a/deps/v8/src/heap/setup-heap-internal.cc b/deps/v8/src/heap/setup-heap-internal.cc index 15ca6d7930383a..46f073a3cd87b3 100644 --- a/deps/v8/src/heap/setup-heap-internal.cc +++ b/deps/v8/src/heap/setup-heap-internal.cc @@ -907,8 +907,6 @@ void Heap::CreateInitialObjects() { set_serialized_objects(roots.empty_fixed_array()); set_serialized_global_proxy_sizes(roots.empty_fixed_array()); - set_noscript_shared_function_infos(roots.empty_weak_array_list()); - /* Canonical off-heap trampoline data */ set_off_heap_trampoline_relocation_info( *Builtins::GenerateOffHeapTrampolineRelocInfo(isolate_)); diff --git a/deps/v8/src/objects/dictionary-inl.h b/deps/v8/src/objects/dictionary-inl.h index 92c1d0940f5cd0..b96bec54d900bf 100644 --- a/deps/v8/src/objects/dictionary-inl.h +++ b/deps/v8/src/objects/dictionary-inl.h @@ -31,6 +31,17 @@ template BaseNameDictionary::BaseNameDictionary(Address ptr) : Dictionary(ptr) {} +template +void BaseNameDictionary::set_next_enumeration_index(int index) { + DCHECK_LT(0, index); + this->set(kNextEnumerationIndexIndex, Smi::FromInt(index)); +} + +template +int BaseNameDictionary::next_enumeration_index() { + return Smi::ToInt(this->get(kNextEnumerationIndexIndex)); +} + GlobalDictionary::GlobalDictionary(Address ptr) : BaseNameDictionary(ptr) { SLOW_DCHECK(IsGlobalDictionary()); diff --git a/deps/v8/src/objects/dictionary.h b/deps/v8/src/objects/dictionary.h index 957c06d8ec74b7..377be8ebee6bea 100644 --- a/deps/v8/src/objects/dictionary.h +++ b/deps/v8/src/objects/dictionary.h @@ -140,16 +140,6 @@ class EXPORT_TEMPLATE_DECLARE(V8_EXPORT_PRIVATE) BaseNameDictionary static const int kObjectHashIndex = kNextEnumerationIndexIndex + 1; static const int kEntryValueIndex = 1; - // Accessors for next enumeration index. - void SetNextEnumerationIndex(int index) { - DCHECK_NE(0, index); - this->set(kNextEnumerationIndexIndex, Smi::FromInt(index)); - } - - int NextEnumerationIndex() { - return Smi::ToInt(this->get(kNextEnumerationIndexIndex)); - } - void SetHash(int hash) { DCHECK(PropertyArray::HashField::is_valid(hash)); this->set(kObjectHashIndex, Smi::FromInt(hash)); @@ -173,6 +163,13 @@ class EXPORT_TEMPLATE_DECLARE(V8_EXPORT_PRIVATE) BaseNameDictionary V8_WARN_UNUSED_RESULT static ExceptionStatus CollectKeysTo( Handle dictionary, KeyAccumulator* keys); + // Allocate the next enumeration index. Possibly updates all enumeration + // indices in the table. + static int NextEnumerationIndex(Isolate* isolate, Handle dictionary); + // Accessors for next enumeration index. + inline int next_enumeration_index(); + inline void set_next_enumeration_index(int index); + // Return the key indices sorted by its enumeration index. static Handle IterationIndices(Isolate* isolate, Handle dictionary); @@ -184,10 +181,6 @@ class EXPORT_TEMPLATE_DECLARE(V8_EXPORT_PRIVATE) BaseNameDictionary Handle storage, KeyCollectionMode mode, KeyAccumulator* accumulator); - // Ensure enough space for n additional elements. - static Handle EnsureCapacity(Isolate* isolate, - Handle dictionary, int n); - V8_WARN_UNUSED_RESULT static Handle AddNoUpdateNextEnumerationIndex( Isolate* isolate, Handle dictionary, Key key, Handle value, PropertyDetails details, int* entry_out = nullptr); diff --git a/deps/v8/src/objects/hash-table.h b/deps/v8/src/objects/hash-table.h index 54d8ce0d2ae18b..e9c0ee6ddd793d 100644 --- a/deps/v8/src/objects/hash-table.h +++ b/deps/v8/src/objects/hash-table.h @@ -205,7 +205,7 @@ class EXPORT_TEMPLATE_DECLARE(V8_EXPORT_PRIVATE) HashTable // Ensure enough space for n additional elements. V8_WARN_UNUSED_RESULT static Handle EnsureCapacity( - Isolate* isolate, Handle table, int n, + Isolate* isolate, Handle table, int n = 1, AllocationType allocation = AllocationType::kYoung); // Returns true if this table has sufficient capacity for adding n elements. diff --git a/deps/v8/src/objects/js-objects.cc b/deps/v8/src/objects/js-objects.cc index 3666f5afbe2dc0..e83d414e5fd219 100644 --- a/deps/v8/src/objects/js-objects.cc +++ b/deps/v8/src/objects/js-objects.cc @@ -2885,7 +2885,7 @@ void MigrateFastToSlow(Isolate* isolate, Handle object, } // Copy the next enumeration index from instance descriptor. - dictionary->SetNextEnumerationIndex(real_size + 1); + dictionary->set_next_enumeration_index(real_size + 1); // From here on we cannot fail and we shouldn't GC anymore. DisallowHeapAllocation no_allocation; diff --git a/deps/v8/src/objects/literal-objects.cc b/deps/v8/src/objects/literal-objects.cc index 95beb6cbdb6c6a..b1a1e6b55997ef 100644 --- a/deps/v8/src/objects/literal-objects.cc +++ b/deps/v8/src/objects/literal-objects.cc @@ -363,7 +363,7 @@ class ObjectDescriptor { void Finalize(Isolate* isolate) { if (HasDictionaryProperties()) { - properties_dictionary_template_->SetNextEnumerationIndex( + properties_dictionary_template_->set_next_enumeration_index( next_enumeration_index_); computed_properties_ = FixedArray::ShrinkOrEmpty( isolate, computed_properties_, current_computed_index_); diff --git a/deps/v8/src/objects/lookup.cc b/deps/v8/src/objects/lookup.cc index 4646b71a9ecdb1..6f7e78f1f178b2 100644 --- a/deps/v8/src/objects/lookup.cc +++ b/deps/v8/src/objects/lookup.cc @@ -634,8 +634,8 @@ void LookupIterator::PrepareTransitionToDataProperty( transition_ = cell; // Assign an enumeration index to the property and update // SetNextEnumerationIndex. - int index = dictionary->NextEnumerationIndex(); - dictionary->SetNextEnumerationIndex(index + 1); + int index = GlobalDictionary::NextEnumerationIndex(isolate_, dictionary); + dictionary->set_next_enumeration_index(index + 1); property_details_ = PropertyDetails( kData, attributes, PropertyCellType::kUninitialized, index); PropertyCellType new_type = diff --git a/deps/v8/src/objects/objects.cc b/deps/v8/src/objects/objects.cc index 58cf79b84feb11..5e03430a32348a 100644 --- a/deps/v8/src/objects/objects.cc +++ b/deps/v8/src/objects/objects.cc @@ -4988,24 +4988,6 @@ void SharedFunctionInfo::ScriptIterator::Reset(Isolate* isolate, index_ = 0; } -SharedFunctionInfo::GlobalIterator::GlobalIterator(Isolate* isolate) - : isolate_(isolate), - script_iterator_(isolate), - noscript_sfi_iterator_(isolate->heap()->noscript_shared_function_infos()), - sfi_iterator_(isolate, script_iterator_.Next()) {} - -SharedFunctionInfo SharedFunctionInfo::GlobalIterator::Next() { - HeapObject next = noscript_sfi_iterator_.Next(); - if (!next.is_null()) return SharedFunctionInfo::cast(next); - for (;;) { - next = sfi_iterator_.Next(); - if (!next.is_null()) return SharedFunctionInfo::cast(next); - Script next_script = script_iterator_.Next(); - if (next_script.is_null()) return SharedFunctionInfo(); - sfi_iterator_.Reset(isolate_, next_script); - } -} - void SharedFunctionInfo::SetScript(Handle shared, Handle script_object, int function_literal_id, @@ -5036,30 +5018,8 @@ void SharedFunctionInfo::SetScript(Handle shared, } #endif list->Set(function_literal_id, HeapObjectReference::Weak(*shared)); - - // Remove shared function info from root array. - WeakArrayList noscript_list = - isolate->heap()->noscript_shared_function_infos(); - CHECK(noscript_list.RemoveOne(MaybeObjectHandle::Weak(shared))); } else { DCHECK(shared->script().IsScript()); - Handle list = - isolate->factory()->noscript_shared_function_infos(); - -#ifdef DEBUG - if (FLAG_enable_slow_asserts) { - WeakArrayList::Iterator iterator(*list); - for (HeapObject next = iterator.Next(); !next.is_null(); - next = iterator.Next()) { - DCHECK_NE(next, *shared); - } - } -#endif // DEBUG - - list = - WeakArrayList::AddToEnd(isolate, list, MaybeObjectHandle::Weak(shared)); - - isolate->heap()->SetRootNoScriptSharedFunctionInfos(*list); // Remove shared function info from old script's list. Script old_script = Script::cast(shared->script()); @@ -6663,7 +6623,7 @@ void StringTable::EnsureCapacityForDeserialization(Isolate* isolate, int expected) { Handle table = isolate->factory()->string_table(); // We need a key instance for the virtual hash function. - table = StringTable::EnsureCapacity(isolate, table, expected); + table = EnsureCapacity(isolate, table, expected); isolate->heap()->SetRootStringTable(*table); } @@ -6715,7 +6675,7 @@ Handle StringTable::LookupKey(Isolate* isolate, StringTableKey* key) { table = StringTable::CautiousShrink(isolate, table); // Adding new string. Grow table if needed. - table = StringTable::EnsureCapacity(isolate, table, 1); + table = EnsureCapacity(isolate, table); isolate->heap()->SetRootStringTable(*table); return AddKeyNoResize(isolate, key); @@ -6856,7 +6816,7 @@ Handle StringSet::New(Isolate* isolate) { Handle StringSet::Add(Isolate* isolate, Handle stringset, Handle name) { if (!stringset->Has(isolate, name)) { - stringset = EnsureCapacity(isolate, stringset, 1); + stringset = EnsureCapacity(isolate, stringset); uint32_t hash = ShapeT::Hash(isolate, *name); int entry = stringset->FindInsertionEntry(hash); stringset->set(EntryToIndex(entry), *name); @@ -6874,7 +6834,7 @@ Handle ObjectHashSet::Add(Isolate* isolate, Handle key) { int32_t hash = key->GetOrCreateHash(isolate).value(); if (!set->Has(isolate, key, hash)) { - set = EnsureCapacity(isolate, set, 1); + set = EnsureCapacity(isolate, set); int entry = set->FindInsertionEntry(hash); set->set(EntryToIndex(entry), *key); set->ElementAdded(); @@ -7070,7 +7030,7 @@ Handle CompilationCacheTable::PutScript( src = String::Flatten(isolate, src); StringSharedKey key(src, shared, language_mode, kNoSourcePosition); Handle k = key.AsHandle(isolate); - cache = EnsureCapacity(isolate, cache, 1); + cache = EnsureCapacity(isolate, cache); int entry = cache->FindInsertionEntry(key.Hash()); cache->set(EntryToIndex(entry), *k); cache->set(EntryToIndex(entry) + 1, *value); @@ -7102,7 +7062,7 @@ Handle CompilationCacheTable::PutEval( } } - cache = EnsureCapacity(isolate, cache, 1); + cache = EnsureCapacity(isolate, cache); int entry = cache->FindInsertionEntry(key.Hash()); Handle k = isolate->factory()->NewNumber(static_cast(key.Hash())); @@ -7116,7 +7076,7 @@ Handle CompilationCacheTable::PutRegExp( Isolate* isolate, Handle cache, Handle src, JSRegExp::Flags flags, Handle value) { RegExpKey key(src, flags); - cache = EnsureCapacity(isolate, cache, 1); + cache = EnsureCapacity(isolate, cache); int entry = cache->FindInsertionEntry(key.Hash()); // We store the value in the key slot, and compare the search key // to the stored value with a custon IsMatch function during lookups. @@ -7178,15 +7138,16 @@ Handle BaseNameDictionary::New( Handle dict = Dictionary::New( isolate, at_least_space_for, allocation, capacity_option); dict->SetHash(PropertyArray::kNoHashSentinel); - dict->SetNextEnumerationIndex(PropertyDetails::kInitialIndex); + dict->set_next_enumeration_index(PropertyDetails::kInitialIndex); return dict; } template -Handle BaseNameDictionary::EnsureCapacity( - Isolate* isolate, Handle dictionary, int n) { - // Check whether there are enough enumeration indices to add n elements. - if (!PropertyDetails::IsValidIndex(dictionary->NextEnumerationIndex() + n)) { +int BaseNameDictionary::NextEnumerationIndex( + Isolate* isolate, Handle dictionary) { + int index = dictionary->next_enumeration_index(); + // Check whether the next enumeration index is valid. + if (!PropertyDetails::IsValidIndex(index)) { // If not, we generate new indices for the properties. int length = dictionary->NumberOfElements(); @@ -7207,11 +7168,12 @@ Handle BaseNameDictionary::EnsureCapacity( dictionary->DetailsAtPut(isolate, index, new_details); } - // Set the next enumeration index. - dictionary->SetNextEnumerationIndex(PropertyDetails::kInitialIndex + - length); + index = PropertyDetails::kInitialIndex + length; } - return HashTable::EnsureCapacity(isolate, dictionary, n); + + // Don't update the next enumeration index here, since we might be looking at + // an immutable empty dictionary. + return index; } template @@ -7260,13 +7222,13 @@ Handle BaseNameDictionary::Add( DCHECK_EQ(0, details.dictionary_index()); // Assign an enumeration index to the property and update // SetNextEnumerationIndex. - int index = dictionary->NextEnumerationIndex(); + int index = Derived::NextEnumerationIndex(isolate, dictionary); details = details.set_index(index); dictionary = AddNoUpdateNextEnumerationIndex(isolate, dictionary, key, value, details, entry_out); // Update enumeration index here in order to avoid potential modification of // the canonical empty dictionary which lives in read only space. - dictionary->SetNextEnumerationIndex(index + 1); + dictionary->set_next_enumeration_index(index + 1); return dictionary; } @@ -7280,7 +7242,7 @@ Handle Dictionary::Add(Isolate* isolate, // Valdate key is absent. SLOW_DCHECK((dictionary->FindEntry(isolate, key) == Dictionary::kNotFound)); // Check whether the dictionary should be extended. - dictionary = Derived::EnsureCapacity(isolate, dictionary, 1); + dictionary = Derived::EnsureCapacity(isolate, dictionary); // Compute the key object. Handle k = Shape::AsHandle(isolate, key); @@ -7625,7 +7587,7 @@ Handle ObjectHashTableBase::Put(Isolate* isolate, } // Check whether the hash table should be extended. - table = Derived::EnsureCapacity(isolate, table, 1); + table = Derived::EnsureCapacity(isolate, table); table->AddEntry(table->FindInsertionEntry(hash), *key, *value); return table; } @@ -7873,8 +7835,8 @@ Handle PropertyCell::PrepareForValue( // Preserve the enumeration index unless the property was deleted or never // initialized. if (cell->value().IsTheHole(isolate)) { - index = dictionary->NextEnumerationIndex(); - dictionary->SetNextEnumerationIndex(index + 1); + index = GlobalDictionary::NextEnumerationIndex(isolate, dictionary); + dictionary->set_next_enumeration_index(index + 1); } else { index = original_details.dictionary_index(); } diff --git a/deps/v8/src/objects/shared-function-info.h b/deps/v8/src/objects/shared-function-info.h index dc84653ede2987..997bb33863388b 100644 --- a/deps/v8/src/objects/shared-function-info.h +++ b/deps/v8/src/objects/shared-function-info.h @@ -640,21 +640,6 @@ class SharedFunctionInfo : public HeapObject { DISALLOW_COPY_AND_ASSIGN(ScriptIterator); }; - // Iterate over all shared function infos on the heap. - class GlobalIterator { - public: - V8_EXPORT_PRIVATE explicit GlobalIterator(Isolate* isolate); - V8_EXPORT_PRIVATE SharedFunctionInfo Next(); - - private: - Isolate* isolate_; - Script::Iterator script_iterator_; - WeakArrayList::Iterator noscript_sfi_iterator_; - SharedFunctionInfo::ScriptIterator sfi_iterator_; - DISALLOW_HEAP_ALLOCATION(no_gc_) - DISALLOW_COPY_AND_ASSIGN(GlobalIterator); - }; - DECL_CAST(SharedFunctionInfo) // Constants. diff --git a/deps/v8/src/regexp/ppc/regexp-macro-assembler-ppc.cc b/deps/v8/src/regexp/ppc/regexp-macro-assembler-ppc.cc index 13b5c85605e7a5..335fe87e2f0b5f 100644 --- a/deps/v8/src/regexp/ppc/regexp-macro-assembler-ppc.cc +++ b/deps/v8/src/regexp/ppc/regexp-macro-assembler-ppc.cc @@ -109,8 +109,6 @@ RegExpMacroAssemblerPPC::RegExpMacroAssemblerPPC(Isolate* isolate, Zone* zone, internal_failure_label_() { DCHECK_EQ(0, registers_to_save % 2); - // Because RegExp code respects C ABI, so needs a FD - __ function_descriptor(); __ b(&entry_label_); // We'll write the entry code later. // If the code gets too big or corrupted, an internal exception will be diff --git a/deps/v8/src/regexp/regexp-macro-assembler.cc b/deps/v8/src/regexp/regexp-macro-assembler.cc index 96fb53d2a0464c..30a9955dc38983 100644 --- a/deps/v8/src/regexp/regexp-macro-assembler.cc +++ b/deps/v8/src/regexp/regexp-macro-assembler.cc @@ -289,9 +289,9 @@ int NativeRegExpMacroAssembler::Execute( Address regexp); auto fn = GeneratedCode::FromCode(code); - int result = fn.CallIrregexp(input.ptr(), start_offset, input_start, - input_end, output, output_size, stack_base, - call_origin, isolate, regexp.ptr()); + int result = + fn.Call(input.ptr(), start_offset, input_start, input_end, output, + output_size, stack_base, call_origin, isolate, regexp.ptr()); DCHECK(result >= RETRY); if (result == EXCEPTION && !isolate->has_pending_exception()) { diff --git a/deps/v8/src/roots/roots.h b/deps/v8/src/roots/roots.h index c82ec6d04f8e33..4fa6dfdfbf8f04 100644 --- a/deps/v8/src/roots/roots.h +++ b/deps/v8/src/roots/roots.h @@ -255,8 +255,6 @@ class Symbol; /* Feedback vectors that we need for code coverage or type profile */ \ V(Object, feedback_vectors_for_profiling_tools, \ FeedbackVectorsForProfilingTools) \ - V(WeakArrayList, noscript_shared_function_infos, \ - NoScriptSharedFunctionInfos) \ V(FixedArray, serialized_objects, SerializedObjects) \ V(FixedArray, serialized_global_proxy_sizes, SerializedGlobalProxySizes) \ V(TemplateList, message_listeners, MessageListeners) \ diff --git a/deps/v8/test/cctest/heap/test-heap.cc b/deps/v8/test/cctest/heap/test-heap.cc index 48ba63a5dbf992..10bd50294ef6f0 100644 --- a/deps/v8/test/cctest/heap/test-heap.cc +++ b/deps/v8/test/cctest/heap/test-heap.cc @@ -5394,34 +5394,6 @@ TEST(ScriptIterator) { CHECK_EQ(0, script_count); } - -TEST(SharedFunctionInfoIterator) { - CcTest::InitializeVM(); - v8::HandleScope scope(CcTest::isolate()); - Isolate* isolate = CcTest::i_isolate(); - Heap* heap = CcTest::heap(); - LocalContext context; - - CcTest::CollectAllGarbage(); - CcTest::CollectAllGarbage(); - - int sfi_count = 0; - { - HeapObjectIterator it(heap); - for (HeapObject obj = it.Next(); !obj.is_null(); obj = it.Next()) { - if (!obj.IsSharedFunctionInfo()) continue; - sfi_count++; - } - } - - { - SharedFunctionInfo::GlobalIterator iterator(isolate); - while (!iterator.Next().is_null()) sfi_count--; - } - - CHECK_EQ(0, sfi_count); -} - // This is the same as Factory::NewByteArray, except it doesn't retry on // allocation failure. AllocationResult HeapTester::AllocateByteArrayForTest( diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorAccess.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorAccess.golden index 37a5c0777a806e..6fc00999a59662 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorAccess.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorAccess.golden @@ -12,7 +12,7 @@ snippet: " class A { get #a() { return 1; } set #a(val) { } - + constructor() { this.#a++; this.#a = 1; @@ -189,3 +189,4 @@ constant pool: [ ] handlers: [ ] + diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorDeclaration.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorDeclaration.golden index 4a21fd3d4bb328..aceee552b5d531 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorDeclaration.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorDeclaration.golden @@ -165,7 +165,7 @@ snippet: " get #d() { return 1; } set #d(val) { } } - + class E extends D { get #e() { return 2; } set #e(val) { } @@ -395,3 +395,4 @@ constant pool: [ ] handlers: [ ] + diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodAccess.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodAccess.golden index ff17fcaceae4c6..d41b3421879890 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodAccess.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodAccess.golden @@ -13,7 +13,7 @@ snippet: " #a() { return 1; } constructor() { return this.#a(); } } - + var test = A; new A; " @@ -44,7 +44,7 @@ snippet: " #b() { return 1; } constructor() { this.#b = 1; } } - + var test = B; new test; " @@ -76,7 +76,7 @@ snippet: " #c() { return 1; } constructor() { this.#c++; } } - + var test = C; new test; " @@ -101,3 +101,4 @@ constant pool: [ ] handlers: [ ] + diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodDeclaration.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodDeclaration.golden index b9fd82000988d2..d1aab34fda7992 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodDeclaration.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodDeclaration.golden @@ -195,3 +195,4 @@ constant pool: [ ] handlers: [ ] + diff --git a/deps/v8/test/cctest/test-roots.cc b/deps/v8/test/cctest/test-roots.cc index d04190363978a4..5a81f8e9ce96b1 100644 --- a/deps/v8/test/cctest/test-roots.cc +++ b/deps/v8/test/cctest/test-roots.cc @@ -47,7 +47,6 @@ bool IsInitiallyMutable(Factory* factory, Address object_address) { V(dirty_js_finalization_groups) \ V(feedback_vectors_for_profiling_tools) \ V(materialized_objects) \ - V(noscript_shared_function_infos) \ V(public_symbol_table) \ V(retained_maps) \ V(retaining_path_targets) \ diff --git a/doc/api/addons.md b/doc/api/addons.md index d011af902d19c4..93f99afbeee7e7 100644 --- a/doc/api/addons.md +++ b/doc/api/addons.md @@ -40,7 +40,7 @@ involving knowledge of several components and APIs: other libraries are located in the `deps/` directory in the Node.js source tree. Only the libuv, OpenSSL, V8 and zlib symbols are purposefully re-exported by Node.js and may be used to various extents by Addons. See - [Linking to Node.js' own dependencies][] for additional information. + [Linking to libraries included with Node.js][] for additional information. All of the following examples are available for [download][] and may be used as the starting-point for an Addon. @@ -313,7 +313,7 @@ require('./build/Release/addon'); Once the source code has been written, it must be compiled into the binary `addon.node` file. To do so, create a file called `binding.gyp` in the top-level of the project describing the build configuration of the module -using a JSON-like format. This file is used by [node-gyp][] — a tool written +using a JSON-like format. This file is used by [node-gyp][], a tool written specifically to compile Node.js Addons. ```json @@ -373,7 +373,7 @@ try { } ``` -### Linking to Node.js' own dependencies +### Linking to libraries included with Node.js Node.js uses statically linked libraries such as V8, libuv and OpenSSL. All Addons are required to link to V8 and may link to any of the other dependencies @@ -1361,7 +1361,7 @@ console.log(result); [`Worker`]: worker_threads.html#worker_threads_class_worker [Electron]: https://electronjs.org/ [Embedder's Guide]: https://github.com/v8/v8/wiki/Embedder's%20Guide -[Linking to Node.js' own dependencies]: #addons_linking_to_node_js_own_dependencies +[Linking to libraries included with Node.js]: #addons_linking_to_libraries_included_with_node_js [Native Abstractions for Node.js]: https://github.com/nodejs/nan [bindings]: https://github.com/TooTallNate/node-bindings [download]: https://github.com/nodejs/node-addon-examples diff --git a/doc/api/assert.md b/doc/api/assert.md index 2938b1ee779c12..61572f2bd05f9f 100644 --- a/doc/api/assert.md +++ b/doc/api/assert.md @@ -5,8 +5,87 @@ > Stability: 2 - Stable The `assert` module provides a set of assertion functions for verifying -invariants. The module provides a recommended [`strict` mode][] and a more -lenient legacy mode. +invariants. + +## Strict assertion mode + + +In strict assertion mode, non-strict methods behave like their corresponding +strict methods. For example, [`assert.deepEqual()`][] will behave like +[`assert.deepStrictEqual()`][]. + +In strict assertion mode, error messages for objects display a diff. In legacy +assertion mode, error messages for objects display the objects, often truncated. + +To use strict assertion mode: + +```js +const assert = require('assert').strict; +``` + +Example error diff: + +```js +const assert = require('assert').strict; + +assert.deepEqual([[[1, 2, 3]], 4, 5], [[[1, 2, '3']], 4, 5]); +// AssertionError: Expected inputs to be strictly deep-equal: +// + actual - expected ... Lines skipped +// +// [ +// [ +// ... +// 2, +// + 3 +// - '3' +// ], +// ... +// 5 +// ] +``` + +To deactivate the colors, use the `NO_COLOR` or `NODE_DISABLE_COLORS` +environment variables. This will also deactivate the colors in the REPL. For +more on color support in terminal environments, read the tty +[getColorDepth()](tty.html#tty_writestream_getcolordepth_env) documentation. + +## Legacy assertion mode + +Legacy assertion mode uses the [Abstract Equality Comparison][] in: + +* [`assert.deepEqual()`][] +* [`assert.equal()`][] +* [`assert.notDeepEqual()`][] +* [`assert.notEqual()`][] + +To use legacy assertion mode: + +```js +const assert = require('assert'); +``` + +Whenever possible, use the [strict assertion mode][] instead. Otherwise, the +[Abstract Equality Comparison][] may cause surprising results. This is +especially true for [`assert.deepEqual()`][], where the comparison rules are +lax: + +```js +// WARNING: This does not throw an AssertionError! +assert.deepEqual(/a/gi, new Date()); +``` ## Class: assert.AssertionError @@ -68,84 +147,6 @@ try { } ``` -## Strict mode - - -In `strict` mode (not to be confused with `"use strict"`), `assert` functions -use the comparison in the corresponding strict functions. For example, -[`assert.deepEqual()`][] will behave like [`assert.deepStrictEqual()`][]. - -In `strict` mode, error messages for objects display a diff. In legacy mode, -error messages for objects display the objects, often truncated. - -To use `strict` mode: - -```js -const assert = require('assert').strict; -``` - -Example error diff: - -```js -const assert = require('assert').strict; - -assert.deepEqual([[[1, 2, 3]], 4, 5], [[[1, 2, '3']], 4, 5]); -// AssertionError: Expected inputs to be strictly deep-equal: -// + actual - expected ... Lines skipped -// -// [ -// [ -// ... -// 2, -// + 3 -// - '3' -// ], -// ... -// 5 -// ] -``` - -To deactivate the colors, use the `NO_COLOR` or -`NODE_DISABLE_COLORS` environment variable. -This will also deactivate the colors in the REPL. - -For more on the color support in terminal environments, read -the tty [getColorDepth()](tty.html#tty_writestream_getcolordepth_env) doc. - -## Legacy mode - -Legacy mode uses the [Abstract Equality Comparison][] in: - -* [`assert.deepEqual()`][] -* [`assert.equal()`][] -* [`assert.notDeepEqual()`][] -* [`assert.notEqual()`][] - -To use legacy mode: - -```js -const assert = require('assert'); -``` - -Whenever possible, use the [`strict` mode][] instead. Otherwise, the -[Abstract Equality Comparison][] may cause surprising results. This is -especially true for [`assert.deepEqual()`][], where the comparison rules are -lax: - -```js -// WARNING: This does not throw an AssertionError! -assert.deepEqual(/a/gi, new Date()); -``` - ## `assert(value[, message])` Node.js can be started using the `--zero-fill-buffers` command line option to -cause all newly allocated `Buffer` instances to be zero-filled upon creation by -default. Before Node.js 8.0.0, this included buffers allocated by `new -Buffer(size)`. Since Node.js 8.0.0, buffers allocated with `new` are always -zero-filled, whether this option is used or not. -[`Buffer.allocUnsafe()`][], [`Buffer.allocUnsafeSlow()`][], and `new -SlowBuffer(size)`. Use of this flag can have a significant negative impact on -performance. Use of the `--zero-fill-buffers` option is recommended only when -necessary to enforce that newly allocated `Buffer` instances cannot contain old -data that is potentially sensitive. +cause all newly-allocated `Buffer` instances to be zero-filled upon creation by +default. Without the option, buffers created with [`Buffer.allocUnsafe()`][], +[`Buffer.allocUnsafeSlow()`][], and `new SlowBuffer(size)` are not zero-filled. +Use of this flag can have a significant negative impact on performance. Use the +`--zero-fill-buffers` option only when necessary to enforce that newly allocated +`Buffer` instances cannot contain old data that is potentially sensitive. ```console $ node --zero-fill-buffers @@ -203,7 +200,20 @@ The character encodings currently supported by Node.js include: * `'binary'`: Alias for `'latin1'`. -* `'hex'`: Encode each byte as two hexadecimal characters. +* `'hex'`: Encode each byte as two hexadecimal characters. Data truncation + may occur for unsanitized input. For example: + +```js +Buffer.from('1ag', 'hex'); +// Prints , data truncated when first non-hexadecimal value +// ('g') encountered. + +Buffer.from('1a7g', 'hex'); +// Prints , data truncated when data ends in single digit ('7'). + +Buffer.from('1634', 'hex'); +// Prints , all data represented. +``` Modern Web browsers follow the [WHATWG Encoding Standard][] which aliases both `'latin1'` and `'ISO-8859-1'` to `'win-1252'`. This means that while doing @@ -371,7 +381,7 @@ changes: [`SharedArrayBuffer`][] or the `.buffer` property of a [`TypedArray`][]. * `byteOffset` {integer} Index of first byte to expose. **Default:** `0`. * `length` {integer} Number of bytes to expose. - **Default:** `arrayBuffer.length - byteOffset`. + **Default:** `arrayBuffer.byteLength - byteOffset`. This creates a view of the [`ArrayBuffer`][] or [`SharedArrayBuffer`][] without copying the underlying memory. For example, when passed a reference to the @@ -817,7 +827,7 @@ added: v5.10.0 [`SharedArrayBuffer`][], or the `.buffer` property of a [`TypedArray`][]. * `byteOffset` {integer} Index of first byte to expose. **Default:** `0`. * `length` {integer} Number of bytes to expose. - **Default:** `arrayBuffer.length - byteOffset`. + **Default:** `arrayBuffer.byteLength - byteOffset`. This creates a view of the [`ArrayBuffer`][] without copying the underlying memory. For example, when passed a reference to the `.buffer` property of a diff --git a/doc/api/child_process.md b/doc/api/child_process.md index f707c2fe24a07a..cd47fec7982b3e 100644 --- a/doc/api/child_process.md +++ b/doc/api/child_process.md @@ -983,7 +983,7 @@ added: v0.1.90 The `'exit'` event is emitted after the child process ends. If the process exited, `code` is the final exit code of the process, otherwise `null`. If the process terminated due to receipt of a signal, `signal` is the string name of -the signal, otherwise `null`. One of the two will always be non-null. +the signal, otherwise `null`. One of the two will always be non-`null`. When the `'exit'` event is triggered, child process stdio streams might still be open. @@ -1055,6 +1055,13 @@ When the child process is a Node.js instance (e.g. spawned using [`child_process.fork()`][]), the `process.disconnect()` method can be invoked within the child process to close the IPC channel as well. +### `subprocess.exitCode` + +* {integer} + +The `subprocess.exitCode` property indicates the exit code of the child process. +If the child process is still running, the field will be `null`. + ### `subprocess.kill([signal])` Aborting instead of exiting causes a core file to be generated for post-mortem @@ -156,6 +156,13 @@ Enable experimental Source Map V3 support for stack traces. Currently, overriding `Error.prepareStackTrace` is ignored when the `--enable-source-maps` flag is set. +### `--experimental-import-meta-resolve` + + +Enable experimental `import.meta.resolve()` support. + ### `--experimental-json-modules` + +Specify the `module` of a custom [experimental ECMAScript Module loader][]. +`module` may be either a path to a file, or an ECMAScript Module name. + ### `--experimental-modules` - -Specify the `module` of a custom [experimental ECMAScript Module loader][]. -`module` may be either a path to a file, or an ECMAScript Module name. - ### `--insecure-http-parser` + +Disable [runtime allocation of executable memory][jitless]. This may be +required on some platforms for security reasons. It can also reduce attack +surface on other platforms, but the performance impact may be severe. + +This flag is inherited from V8 and is subject to change upstream. It may +disappear in a non-semver-major release. + ### `--max-http-header-size=size` * `--enable-fips` * `--enable-source-maps` +* `--experimental-import-meta-resolve` * `--experimental-json-modules` * `--experimental-loader` * `--experimental-modules` @@ -1147,6 +1167,7 @@ V8 options that are allowed are: * `--abort-on-uncaught-exception` * `--disallow-code-generation-from-strings` * `--interpreted-frames-native-stack` +* `--jitless` * `--max-old-space-size` * `--perf-basic-prof-only-functions` * `--perf-basic-prof` @@ -1155,6 +1176,9 @@ V8 options that are allowed are: * `--stack-trace-limit` +`--perf-basic-prof-only-functions`, `--perf-basic-prof`, +`--perf-prof-unwinding-info`, and `--perf-prof` are only available on Linux. + ### `NODE_PATH=path[:…]` -> Stability: 1 - Experimental. The feature is not subject to Semantic Versioning -> rules. Non-backward compatible changes or removal may occur in any future -> release. Use of the feature is not recommended in production environments. +> Stability: 1 - Experimental. The feature is not subject to +> [Semantic Versioning][] rules. Non-backward compatible changes or removal may +> occur in any future release. Use of the feature is not recommended in +> production environments. @@ -58,6 +59,7 @@ to the corresponding man pages which describe how the system call works. Most Unix system calls have Windows analogues. Still, behavior differences may be unavoidable. +[Semantic Versioning]: https://semver.org/ [the contributing guide]: https://github.com/nodejs/node/blob/master/CONTRIBUTING.md [the issue tracker]: https://github.com/nodejs/node/issues/new [V8 JavaScript engine]: https://v8.dev/ diff --git a/doc/api/errors.md b/doc/api/errors.md index 7cf349642be808..8ecb313841c073 100644 --- a/doc/api/errors.md +++ b/doc/api/errors.md @@ -531,14 +531,14 @@ program. For a comprehensive list, see the [`errno`(3) man page][]. `ulimit -n 2048` in the same shell that will run the Node.js process. * `ENOENT` (No such file or directory): Commonly raised by [`fs`][] operations - to indicate that a component of the specified pathname does not exist — no + to indicate that a component of the specified pathname does not exist. No entity (file or directory) could be found by the given path. * `ENOTDIR` (Not a directory): A component of the given pathname existed, but was not a directory as expected. Commonly raised by [`fs.readdir`][]. * `ENOTEMPTY` (Directory not empty): A directory with entries was the target - of an operation that requires an empty directory — usually [`fs.unlink`][]. + of an operation that requires an empty directory, usually [`fs.unlink`][]. * `ENOTFOUND` (DNS lookup failed): Indicates a DNS failure of either `EAI_NODATA` or `EAI_NONAME`. This is not a standard POSIX error. @@ -553,7 +553,7 @@ program. For a comprehensive list, see the [`errno`(3) man page][]. * `ETIMEDOUT` (Operation timed out): A connect or send request failed because the connected party did not properly respond after a period of time. Usually - encountered by [`http`][] or [`net`][] — often a sign that a `socket.end()` + encountered by [`http`][] or [`net`][]. Often a sign that a `socket.end()` was not properly called. ## Class: `TypeError` @@ -1166,7 +1166,7 @@ To fix the error, open an issue at https://github.com/nodejs/node/issues. ### `ERR_INCOMPATIBLE_OPTION_PAIR` -An option pair is incompatible with each other and can not be used at the same +An option pair is incompatible with each other and cannot be used at the same time. @@ -1301,6 +1301,12 @@ An invalid HTTP token was supplied. An IP address is not valid. + +### `ERR_INVALID_MODULE_SPECIFIER` + +The imported module string is an invalid URL, package name, or package subpath +specifier. + ### `ERR_INVALID_OPT_VALUE` @@ -1316,6 +1322,12 @@ An invalid or unknown file encoding was passed. An invalid `package.json` file was found which failed parsing. + +### `ERR_INVALID_PACKAGE_TARGET` + +The `package.json` [exports][] field contains an invalid target mapping value +for the attempted module resolution. + ### `ERR_INVALID_PERFORMANCE_MARK` @@ -1616,6 +1628,13 @@ A non-context-aware native addon was loaded in a process that disallows them. A given value is out of the accepted range. + +### `ERR_PACKAGE_PATH_NOT_EXPORTED` + +The `package.json` [exports][] field does not export the requested subpath. +Because exports are encapsulated, private internal modules that are not exported +cannot be imported through the package resolution, unless using an absolute URL. + ### `ERR_REQUIRE_ESM` @@ -1784,7 +1803,7 @@ additional details. ### `ERR_TLS_CERT_ALTNAME_INVALID` -While using TLS, the hostname/IP of the peer did not match any of the +While using TLS, the host name/IP of the peer did not match any of the `subjectAltNames` in its certificate. @@ -1835,7 +1854,7 @@ An attempt was made to renegotiate TLS on a socket instance with TLS disabled. ### `ERR_TLS_REQUIRED_SERVER_NAME` While using TLS, the `server.addContext()` method was called without providing -a hostname in the first parameter. +a host name in the first parameter. ### `ERR_TLS_SESSION_ATTACK` @@ -2007,6 +2026,11 @@ meaning of the error depends on the specific function. The WASI instance has already started. + +### `ERR_WORKER_INIT_FAILED` + +The `Worker` initialization failed. + ### `ERR_WORKER_INVALID_EXEC_ARGV` @@ -2452,6 +2476,7 @@ such as `process.stdout.on('data')`. [crypto digest algorithm]: crypto.html#crypto_crypto_gethashes [domains]: domain.html [event emitter-based]: events.html#events_class_eventemitter +[exports]: esm.html#esm_package_entry_points [file descriptors]: https://en.wikipedia.org/wiki/File_descriptor [policy]: policy.html [stream-based]: stream.html diff --git a/doc/api/esm.md b/doc/api/esm.md index d6938ba29f33a8..3b2d859b190ea6 100644 --- a/doc/api/esm.md +++ b/doc/api/esm.md @@ -36,9 +36,8 @@ ES module code: * Files ending in `.mjs`. -* Files ending in `.js`, or extensionless files, when the nearest parent - `package.json` file contains a top-level field `"type"` with a value of - `"module"`. +* Files ending in `.js` when the nearest parent `package.json` file contains a + top-level field `"type"` with a value of `"module"`. * Strings passed in as an argument to `--eval` or `--print`, or piped to `node` via `STDIN`, with the flag `--input-type=module`. @@ -53,18 +52,17 @@ or when referenced by `import` statements within ES module code: * Files ending in `.cjs`. -* Files ending in `.js`, or extensionless files, when the nearest parent - `package.json` file contains a top-level field `"type"` with a value of - `"commonjs"`. +* Files ending in `.js` when the nearest parent `package.json` file contains a + top-level field `"type"` with a value of `"commonjs"`. * Strings passed in as an argument to `--eval` or `--print`, or piped to `node` via `STDIN`, with the flag `--input-type=commonjs`. ### `package.json` `"type"` field -Files ending with `.js` or lacking any extension will be loaded as ES modules -when the nearest parent `package.json` file contains a top-level field `"type"` -with a value of `"module"`. +Files ending with `.js` will be loaded as ES modules when the nearest parent +`package.json` file contains a top-level field `"type"` with a value of +`"module"`. The nearest parent `package.json` is defined as the first `package.json` found when searching in the current folder, that folder’s parent, and so on up @@ -84,14 +82,12 @@ node --experimental-modules my-app.js # Runs as ES module ``` If the nearest parent `package.json` lacks a `"type"` field, or contains -`"type": "commonjs"`, extensionless and `.js` files are treated as CommonJS. -If the volume root is reached and no `package.json` is found, -Node.js defers to the default, a `package.json` with no `"type"` -field. "Extensionless" refers to file paths which do not contain -an extension as opposed to optionally dropping a file extension in a specifier. +`"type": "commonjs"`, `.js` files are treated as CommonJS. If the volume root is +reached and no `package.json` is found, Node.js defers to the default, a +`package.json` with no `"type"` field. -`import` statements of `.js` and extensionless files are treated as ES modules -if the nearest parent `package.json` contains `"type": "module"`. +`import` statements of `.js` files are treated as ES modules if the nearest +parent `package.json` contains `"type": "module"`. ```js // my-app.js, part of the same example as above @@ -109,14 +105,13 @@ as ES modules and `.cjs` files are always treated as CommonJS. ### Package Scope and File Extensions -A folder containing a `package.json` file, and all subfolders below that -folder down until the next folder containing another `package.json`, is -considered a _package scope_. The `"type"` field defines how `.js` and -extensionless files should be treated within a particular `package.json` file’s -package scope. Every package in a project’s `node_modules` folder contains its -own `package.json` file, so each project’s dependencies have their own package -scopes. A `package.json` lacking a `"type"` field is treated as if it contained -`"type": "commonjs"`. +A folder containing a `package.json` file, and all subfolders below that folder +down until the next folder containing another `package.json`, is considered a +_package scope_. The `"type"` field defines how `.js` files should be treated +within a particular `package.json` file’s package scope. Every package in a +project’s `node_modules` folder contains its own `package.json` file, so each +project’s dependencies have their own package scopes. A `package.json` lacking a +`"type"` field is treated as if it contained `"type": "commonjs"`. The package scope applies not only to initial entry points (`node --experimental-modules my-app.js`) but also to files referenced by `import` @@ -188,87 +183,89 @@ unspecified. ### Package Entry Points -There are two fields that can define entry points for a package: `"main"` and -`"exports"`. The `"main"` field is supported in all versions of Node.js, but its -capabilities are limited: it only defines the main entry point of the package. -The `"exports"` field, part of [Package Exports][], provides an alternative to -`"main"` where the package main entry point can be defined while also -encapsulating the package, preventing any other entry points besides those -defined in `"exports"`. If package entry points are defined in both `"main"` and -`"exports"`, the latter takes precedence in versions of Node.js that support -`"exports"`. [Conditional Exports][] can also be used within `"exports"` to -define different package entry points per environment. +In a package’s `package.json` file, two fields can define entry points for a +package: `"main"` and `"exports"`. The `"main"` field is supported in all +versions of Node.js, but its capabilities are limited: it only defines the main +entry point of the package. -#### package.json "main" +The `"exports"` field provides an alternative to `"main"` where the package +main entry point can be defined while also encapsulating the package, preventing +any other entry points besides those defined in `"exports"`. If package entry +points are defined in both `"main"` and `"exports"`, the latter takes precedence +in versions of Node.js that support `"exports"`. [Conditional Exports][] can +also be used within `"exports"` to define different package entry points per +environment, including whether the package is referenced via `require` or via +`import`. -The `package.json` `"main"` field defines the entry point for a package, -whether the package is included into CommonJS via `require` or into an ES -module via `import`. +If both `"exports"` and `"main"` are defined, the `"exports"` field takes +precedence over `"main"`. + +Both `"main"` and `"exports"` entry points are not specific to ES modules or +CommonJS; `"main"` will be overridden by `"exports"` in a `require` so it is +not a CommonJS fallback. + +This is important with regard to `require`, since `require` of ES module files +throws an error in all versions of Node.js. To create a package that works both +in modern Node.js via `import` and `require` and also legacy Node.js versions, +see [the dual CommonJS/ES module packages section][]. + +#### Main Entry Point Export + +To set the main entry point for a package, it is advisable to define both +`"exports"` and `"main"` in the package’s `package.json` file: ```js -// ./node_modules/es-module-package/package.json { - "type": "module", - "main": "./src/index.js" + "main": "./main.js", + "exports": "./main.js" } ``` -```js -// ./my-app.mjs - -import { something } from 'es-module-package'; -// Loads from ./node_modules/es-module-package/src/index.js -``` - -An attempt to `require` the above `es-module-package` would attempt to load -`./node_modules/es-module-package/src/index.js` as CommonJS, which would throw -an error as Node.js would not be able to parse the `export` statement in -CommonJS. - -As with `import` statements, for ES module usage the value of `"main"` must be -a full path including extension: `"./index.mjs"`, not `"./index"`. +The benefit of doing this is that when using the `"exports"` field all +subpaths of the package will no longer be available to importers under +`require('pkg/subpath.js')`, and instead they will get a new error, +`ERR_PACKAGE_PATH_NOT_EXPORTED`. -If the `package.json` `"type"` field is omitted, a `.js` file in `"main"` will -be interpreted as CommonJS. +This encapsulation of exports provides more reliable guarantees +about package interfaces for tools and when handling semver upgrades for a +package. It is not a strong encapsulation since a direct require of any +absolute subpath of the package such as +`require('/path/to/node_modules/pkg/subpath.js')` will still load `subpath.js`. -The `"main"` field can point to exactly one file, regardless of whether the -package is referenced via `require` (in a CommonJS context) or `import` (in an -ES module context). +#### Subpath Exports -#### Package Exports - -By default, all subpaths from a package can be imported (`import 'pkg/x.js'`). -Custom subpath aliasing and encapsulation can be provided through the -`"exports"` field. +When using the `"exports"` field, custom subpaths can be defined along +with the main entry point by treating the main entry point as the +`"."` subpath: ```js -// ./node_modules/es-module-package/package.json { + "main": "./main.js", "exports": { + ".": "./main.js", "./submodule": "./src/submodule.js" } } ``` +Now only the defined subpath in `"exports"` can be imported by a +consumer: + ```js import submodule from 'es-module-package/submodule'; // Loads ./node_modules/es-module-package/src/submodule.js ``` -In addition to defining an alias, subpaths not defined by `"exports"` will -throw when an attempt is made to import them: +While other subpaths will error: ```js import submodule from 'es-module-package/private-module.js'; -// Throws ERR_MODULE_NOT_FOUND +// Throws ERR_PACKAGE_PATH_NOT_EXPORTED ``` -> Note: this is not a strong encapsulation as any private modules can still be -> loaded by absolute paths. - -Folders can also be mapped with package exports: +Entire folders can also be mapped with package exports: ```js @@ -280,20 +277,23 @@ Folders can also be mapped with package exports: } ``` +With the above, all modules within the `./src/features/` folder +are exposed deeply to `import` and `require`: + ```js import feature from 'es-module-package/features/x.js'; // Loads ./node_modules/es-module-package/src/features/x.js ``` -If a package has no exports, setting `"exports": false` can be used instead of -`"exports": {}` to indicate the package does not intend for submodules to be -exposed. +When using folder mappings, ensure that you do want to expose every +module inside the subfolder. Any modules which are not public +should be moved to another folder to retain the encapsulation +benefits of exports. -Any invalid exports entries will be ignored. This includes exports not -starting with `"./"` or a missing trailing `"/"` for directory exports. +#### Package Exports Fallbacks -Array fallback support is provided for exports, similarly to import maps -in order to be forwards-compatible with possible fallback workflows in future: +For possible new specifier support in future, array fallbacks are +supported for all invalid specifiers: ```js @@ -304,142 +304,171 @@ in order to be forwards-compatible with possible fallback workflows in future: } ``` -Since `"not:valid"` is not a supported target, `"./submodule.js"` is used +Since `"not:valid"` is not a valid specifier, `"./submodule.js"` is used instead as the fallback, as if it were the only target. -Defining a `"."` export will define the main entry point for the package, -and will always take precedence over the `"main"` field in the `package.json`. +#### Exports Sugar + +If the `"."` export is the only export, the `"exports"` field provides sugar +for this case being the direct `"exports"` field value. -This allows defining a different entry point for Node.js versions that support -ECMAScript modules and versions that don't, for example: +If the `"."` export has a fallback array or string value, then the `"exports"` +field can be set to this value directly. ```js { - "main": "./main-legacy.cjs", "exports": { - ".": "./main-modern.cjs" + ".": "./main.js" } } ``` +can be written: + + +```js +{ + "exports": "./main.js" +} +``` + #### Conditional Exports Conditional exports provide a way to map to different paths depending on certain conditions. They are supported for both CommonJS and ES module imports. For example, a package that wants to provide different ES module exports for -Node.js and the browser can be written: +`require()` and `import` can be written: ```js -// ./node_modules/pkg/package.json +// package.json { - "type": "module", - "main": "./index.js", + "main": "./main-require.cjs", "exports": { - "./feature": { - "import": "./feature-default.js", - "browser": "./feature-browser.js" - } - } + "import": "./main-module.js", + "require": "./main-require.cjs" + }, + "type": "module" } ``` -When resolving the `"."` export, if no matching target is found, the `"main"` -will be used as the final fallback. - -The conditions supported in Node.js condition matching: +Node.js supports the following conditions: -* `"default"` - the generic fallback that will always match. Can be a CommonJS - or ES module file. * `"import"` - matched when the package is loaded via `import` or - `import()`. Can be any module format, this field does not set the type - interpretation. -* `"node"` - matched for any Node.js environment. Can be a CommonJS or ES - module file. + `import()`. Can reference either an ES module or CommonJS file, as both + `import` and `import()` can load either ES module or CommonJS sources. * `"require"` - matched when the package is loaded via `require()`. + As `require()` only supports CommonJS, the referenced file must be CommonJS. +* `"node"` - matched for any Node.js environment. Can be a CommonJS or ES + module file. _This condition should always come after `"import"` or + `"require"`._ +* `"default"` - the generic fallback that will always match. Can be a CommonJS + or ES module file. _This condition should always come last._ Condition matching is applied in object order from first to last within the -`"exports"` object. - -Using the `"require"` condition it is possible to define a package that will -have a different exported value for CommonJS and ES modules, which can be a -hazard in that it can result in having two separate instances of the same -package in use in an application, which can cause a number of bugs. +`"exports"` object. _The general rule is that conditions should be used +from most specific to least specific in object order._ Other conditions such as `"browser"`, `"electron"`, `"deno"`, `"react-native"`, -etc. could be defined in other runtimes or tools. Condition names must not start -with `"."` or be numbers. Further restrictions, definitions or guidance on -condition names may be provided in future. +etc. are ignored by Node.js but may be used by other runtimes or tools. +Further restrictions, definitions or guidance on condition names may be +provided in the future. -#### Exports Sugar +Using the `"import"` and `"require"` conditions can lead to some hazards, +which are explained further in +[the dual CommonJS/ES module packages section][]. -If the `"."` export is the only export, the `"exports"` field provides sugar -for this case being the direct `"exports"` field value. - -If the `"."` export has a fallback array or string value, then the `"exports"` -field can be set to this value directly. +Conditional exports can also be extended to exports subpaths, for example: ```js { + "main": "./main.js", "exports": { - ".": "./main.js" + ".": "./main.js", + "./feature": { + "browser": "./feature-browser.js", + "default": "./feature.js" + } } } ``` -can be written: +Defines a package where `require('pkg/feature')` and `import 'pkg/feature'` +could provide different implementations between the browser and Node.js, +given third-party tool support for a `"browser"` condition. - -```js -{ - "exports": "./main.js" -} -``` +#### Nested conditions -When using [Conditional Exports][], the rule is that all keys in the object -mapping must not start with a `"."` otherwise they would be indistinguishable -from exports subpaths. +In addition to direct mappings, Node.js also supports nested condition objects. + +For example, to define a package that only has dual mode entry points for +use in Node.js but not the browser: ```js { + "main": "./main.js", "exports": { - ".": { - "import": "./main.js", - "require": "./main.cjs" + "browser": "./feature-browser.mjs", + "node": { + "import": "./feature-node.mjs", + "require": "./feature-node.cjs" } } } ``` -can be written: +Conditions continue to be matched in order as with flat conditions. If +a nested conditional does not have any mapping it will continue checking +the remaining conditions of the parent condition. In this way nested +conditions behave analogously to nested JavaScript `if` statements. - -```js +#### Self-referencing a package using its name + +Within a package, the values defined in the package’s +`package.json` `"exports"` field can be referenced via the package’s name. +For example, assuming the `package.json` is: + +```json +// package.json { + "name": "a-package", "exports": { - "import": "./main.js", - "require": "./main.cjs" + ".": "./main.mjs", + "./foo": "./foo.js" } } ``` -If writing any exports value that mixes up these two forms, an error will be -thrown: +Then any module _in that package_ can reference an export in the package itself: - ```js -{ - // Throws on resolution! - "exports": { - "./feature": "./lib/feature.js", - "import": "./main.js", - "require": "./main.cjs" - } -} +// ./a-module.mjs +import { something } from 'a-package'; // Imports "something" from ./main.mjs. +``` + +Self-referencing is available only if `package.json` has `exports`, and will +allow importing only what that `exports` (in the `package.json`) allows. +So the code below, given the package above, will generate a runtime error: + +```js +// ./another-module.mjs + +// Imports "another" from ./m.mjs. Fails because +// the "package.json" "exports" field +// does not provide an export named "./m.mjs". +import { another } from 'a-package/m.mjs'; +``` + +Self-referencing is also available when using `require`, both in an ES module, +and in a CommonJS one. For example, this code will also work: + +```js +// ./a-module.js +const { something } = require('a-package/foo'); // Loads from ./foo.js. ``` ### Dual CommonJS/ES Module Packages @@ -495,7 +524,7 @@ would be usable by any version of Node.js, since `import` can refer to CommonJS files; but it would not provide any of the advantages of using ES module syntax. A package could also switch from CommonJS to ES module syntax in a breaking -change version bump. This has the obvious disadvantage that the newest version +change version bump. This has the disadvantage that the newest version of the package would only be usable in ES module-supporting versions of Node.js. Every pattern has tradeoffs, but there are two broad approaches that satisfy the @@ -527,8 +556,8 @@ CommonJS entry point for `require`. "type": "module", "main": "./index.cjs", "exports": { - "require": "./index.cjs", - "import": "./wrapper.mjs" + "import": "./wrapper.mjs", + "require": "./index.cjs" } } ``` @@ -597,8 +626,8 @@ stateless): ##### Approach #2: Isolate State -The most straightforward `package.json` would be one that defines the separate -CommonJS and ES module entry points directly: +A `package.json` file can define the separate CommonJS and ES module entry +points directly: ```js @@ -797,6 +826,32 @@ const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); ``` +### No `require.resolve` + +Former use cases relying on `require.resolve` to determine the resolved path +of a module can be supported via `import.meta.resolve`, which is experimental +and supported via the `--experimental-import-meta-resolve` flag: + +```js +(async () => { + const dependencyAsset = await import.meta.resolve('component-lib/asset.css'); +})(); +``` + +`import.meta.resolve` also accepts a second argument which is the parent module +from which to resolve from: + +```js +(async () => { + // Equivalent to import.meta.resolve('./dep') + await import.meta.resolve('./dep', import.meta.url); +})(); +``` + +This function is asynchronous since the ES module resolver in Node.js is +asynchronous. With the introduction of [Top-Level Await][], these use cases +will be easier as they won't require an async function wrapper. + ### No `require.extensions` `require.extensions` is not used by `import`. The expectation is that loader @@ -846,8 +901,8 @@ can either be an URL-style relative path like `'./file.mjs'` or a package name like `'fs'`. Like in CommonJS, files within packages can be accessed by appending a path to -the package name; unless the package’s `package.json` contains an [`"exports"` -field][], in which case files within packages need to be accessed via the path +the package name; unless the package’s `package.json` contains an `"exports"` +field, in which case files within packages need to be accessed via the path defined in `"exports"`. ```js @@ -863,16 +918,13 @@ import packageMain from 'commonjs-package'; // Works import { method } from 'commonjs-package'; // Errors ``` -### `import()` expressions +It is also possible to +[import an ES or CommonJS module for its side effects only][]. -Dynamic `import()` is supported in both CommonJS and ES modules. It can be used -to include ES module files from CommonJS code. +### `import()` expressions -```js -(async () => { - await import('./my-app.mjs'); -})(); -``` +[Dynamic `import()`][] is supported in both CommonJS and ES modules. It can be +used to include ES module files from CommonJS code. ## CommonJS, JSON, and Native Modules @@ -1143,6 +1195,39 @@ export async function transformSource(source, } ``` +#### getGlobalPreloadCode hook + +> Note: The loaders API is being redesigned. This hook may disappear or its +> signature may change. Do not rely on the API described below. + +Sometimes it can be necessary to run some code inside of the same global scope +that the application will run in. This hook allows to return a string that will +be ran as sloppy-mode script on startup. + +Similar to how CommonJS wrappers work, the code runs in an implicit function +scope. The only argument is a `require`-like function that can be used to load +builtins like "fs": `getBuiltin(request: string)`. + +If the code needs more advanced `require` features, it will have to construct +its own `require` using `module.createRequire()`. + +```js +/** + * @returns {string} Code to run before application startup + */ +export function getGlobalPreloadCode() { + return `\ +globalThis.someInjectedProperty = 42; +console.log('I just set some globals!'); + +const { createRequire } = getBuiltin('module'); + +const require = createRequire(process.cwd + '/'); +// [...] +`; +} +``` + #### dynamicInstantiate hook > Note: The loaders API is being redesigned. This hook may disappear or its @@ -1266,7 +1351,7 @@ JavaScript using the [`transformSource` hook][]. Before that hook gets called, however, other hooks need to tell Node.js not to throw an error on unknown file types; and to tell Node.js how to load this new file type. -This is obviously less performant than transpiling source files before running +This is less performant than transpiling source files before running Node.js; a transpiler loader should only be used for development and testing purposes. @@ -1365,13 +1450,14 @@ The resolver has the following properties: The algorithm to load an ES module specifier is given through the **ESM_RESOLVE** method below. It returns the resolved URL for a -module specifier relative to a parentURL, in addition to the unique module -format for that resolved URL given by the **ESM_FORMAT** routine. +module specifier relative to a parentURL. -The _"module"_ format is returned for an ECMAScript Module, while the -_"commonjs"_ format is used to indicate loading through the legacy -CommonJS loader. Additional formats such as _"addon"_ can be extended in future -updates. +The algorithm to determine the module format of a resolved URL is +provided by **ESM_FORMAT**, which returns the unique module +format for any file. The _"module"_ format is returned for an ECMAScript +Module, while the _"commonjs"_ format is used to indicate loading through the +legacy CommonJS loader. Additional formats such as _"addon"_ can be extended in +future updates. In the following algorithms, all subroutine errors are propagated as errors of these top-level routines unless stated otherwise. @@ -1379,6 +1465,17 @@ of these top-level routines unless stated otherwise. _defaultEnv_ is the conditional environment name priority array, `["node", "import"]`. +The resolver can throw the following errors: +* _Invalid Module Specifier_: Module specifier is an invalid URL, package name + or package subpath specifier. +* _Invalid Package Configuration_: package.json configuration is invalid or + contains an invalid configuration. +* _Invalid Package Target_: Package exports define a target module within the + package that is an invalid type or string target. +* _Package Path Not Exported_: Package exports do not define or permit a target + subpath in the package for the given module. +* _Module Not Found_: The package or module requested does not exist. +
    Resolver algorithm specification @@ -1389,7 +1486,7 @@ _defaultEnv_ is the conditional environment name priority array, > 1. Set _resolvedURL_ to the result of parsing and reserializing > _specifier_ as a URL. > 1. Otherwise, if _specifier_ starts with _"/"_, then -> 1. Throw an _Invalid Specifier_ error. +> 1. Throw an _Invalid Module Specifier_ error. > 1. Otherwise, if _specifier_ starts with _"./"_ or _"../"_, then > 1. Set _resolvedURL_ to the URL resolution of _specifier_ relative to > _parentURL_. @@ -1399,26 +1496,28 @@ _defaultEnv_ is the conditional environment name priority array, > **PACKAGE_RESOLVE**(_specifier_, _parentURL_). > 1. If _resolvedURL_ contains any percent encodings of _"/"_ or _"\\"_ (_"%2f"_ > and _"%5C"_ respectively), then -> 1. Throw an _Invalid Specifier_ error. -> 1. If the file at _resolvedURL_ does not exist, then +> 1. Throw an _Invalid Module Specifier_ error. +> 1. If _resolvedURL_ does not end with a trailing _"/"_ and the file at +> _resolvedURL_ does not exist, then > 1. Throw a _Module Not Found_ error. > 1. Set _resolvedURL_ to the real path of _resolvedURL_. > 1. Let _format_ be the result of **ESM_FORMAT**(_resolvedURL_). > 1. Load _resolvedURL_ as module format, _format_. +> 1. Return _resolvedURL_. **PACKAGE_RESOLVE**(_packageSpecifier_, _parentURL_) > 1. Let _packageName_ be *undefined*. > 1. Let _packageSubpath_ be *undefined*. > 1. If _packageSpecifier_ is an empty string, then -> 1. Throw an _Invalid Specifier_ error. +> 1. Throw an _Invalid Module Specifier_ error. > 1. Otherwise, > 1. If _packageSpecifier_ does not contain a _"/"_ separator, then -> 1. Throw an _Invalid Specifier_ error. +> 1. Throw an _Invalid Module Specifier_ error. > 1. Set _packageName_ to the substring of _packageSpecifier_ > until the second _"/"_ separator or the end of the string. > 1. If _packageName_ starts with _"."_ or contains _"\\"_ or _"%"_, then -> 1. Throw an _Invalid Specifier_ error. +> 1. Throw an _Invalid Module Specifier_ error. > 1. Let _packageSubpath_ be _undefined_. > 1. If the length of _packageSpecifier_ is greater than the length of > _packageName_, then @@ -1426,13 +1525,13 @@ _defaultEnv_ is the conditional environment name priority array, > _packageSpecifier_ from the position at the length of _packageName_. > 1. If _packageSubpath_ contains any _"."_ or _".."_ segments or percent > encoded strings for _"/"_ or _"\\"_, then -> 1. Throw an _Invalid Specifier_ error. +> 1. Throw an _Invalid Module Specifier_ error. > 1. Set _selfUrl_ to the result of > **SELF_REFERENCE_RESOLVE**(_packageName_, _packageSubpath_, _parentURL_). > 1. If _selfUrl_ isn't empty, return _selfUrl_. > 1. If _packageSubpath_ is _undefined_ and _packageName_ is a Node.js builtin > module, then -> 1. Return the string _"node:"_ concatenated with _packageSpecifier_. +> 1. Return the string _"nodejs:"_ concatenated with _packageSpecifier_. > 1. While _parentURL_ is not the file system root, > 1. Let _packageURL_ be the URL resolution of _"node_modules/"_ > concatenated with _packageSpecifier_, relative to _parentURL_. @@ -1441,6 +1540,8 @@ _defaultEnv_ is the conditional environment name priority array, > 1. Set _parentURL_ to the parent URL path of _parentURL_. > 1. Continue the next loop iteration. > 1. Let _pjson_ be the result of **READ_PACKAGE_JSON**(_packageURL_). +> 1. If _packageSubpath_ is equal to _"./"_, then +> 1. Return _packageURL_ + _"/"_. > 1. If _packageSubpath_ is _undefined__, then > 1. Return the result of **PACKAGE_MAIN_RESOLVE**(_packageURL_, > _pjson_). @@ -1462,6 +1563,8 @@ _defaultEnv_ is the conditional environment name priority array, > 1. If _pjson_ does not include an _"exports"_ property, then > 1. Return **undefined**. > 1. If _pjson.name_ is equal to _packageName_, then +> 1. If _packageSubpath_ is equal to _"./"_, then +> 1. Return _packageURL_ + _"/"_. > 1. If _packageSubpath_ is _undefined_, then > 1. Return the result of **PACKAGE_MAIN_RESOLVE**(_packageURL_, _pjson_). > 1. Otherwise, @@ -1479,7 +1582,7 @@ _defaultEnv_ is the conditional environment name priority array, > 1. Throw a _Module Not Found_ error. > 1. If _pjson.exports_ is not **null** or **undefined**, then > 1. If _exports_ is an Object with both a key starting with _"."_ and a key -> not starting with _"."_, throw an "Invalid Package Configuration" error. +> not starting with _"."_, throw an _Invalid Package Configuration_ error. > 1. If _pjson.exports_ is a String or Array, or an Object containing no > keys starting with _"."_, then > 1. Return **PACKAGE_EXPORTS_TARGET_RESOLVE**(_packageURL_, @@ -1488,6 +1591,7 @@ _defaultEnv_ is the conditional environment name priority array, > 1. Let _mainExport_ be the _"."_ property in _pjson.exports_. > 1. Return **PACKAGE_EXPORTS_TARGET_RESOLVE**(_packageURL_, > _mainExport_, _""_). +> 1. Throw a _Package Path Not Exported_ error. > 1. If _pjson.main_ is a String, then > 1. Let _resolvedMain_ be the URL resolution of _packageURL_, "/", and > _pjson.main_. @@ -1502,7 +1606,7 @@ _defaultEnv_ is the conditional environment name priority array, **PACKAGE_EXPORTS_RESOLVE**(_packageURL_, _packagePath_, _exports_) > 1. If _exports_ is an Object with both a key starting with _"."_ and a key not -> starting with _"."_, throw an "Invalid Package Configuration" error. +> starting with _"."_, throw an _Invalid Package Configuration_ error. > 1. If _exports_ is an Object and all keys of _exports_ start with _"."_, then > 1. Set _packagePath_ to _"./"_ concatenated with _packagePath_. > 1. If _packagePath_ is a key of _exports_, then @@ -1518,59 +1622,58 @@ _defaultEnv_ is the conditional environment name priority array, > of the length of _directory_. > 1. Return **PACKAGE_EXPORTS_TARGET_RESOLVE**(_packageURL_, _target_, > _subpath_, _defaultEnv_). -> 1. Throw a _Module Not Found_ error. +> 1. Throw a _Package Path Not Exported_ error. **PACKAGE_EXPORTS_TARGET_RESOLVE**(_packageURL_, _target_, _subpath_, _env_) > 1. If _target_ is a String, then -> 1. If _target_ does not start with _"./"_, throw a _Module Not Found_ -> error. -> 1. If _subpath_ has non-zero length and _target_ does not end with _"/"_, -> throw a _Module Not Found_ error. -> 1. If _target_ or _subpath_ contain any _"node_modules"_ segments including -> _"node_modules"_ percent-encoding, throw a _Module Not Found_ error. +> 1. If _target_ does not start with _"./"_ or contains any _"node_modules"_ +> segments including _"node_modules"_ percent-encoding, throw an +> _Invalid Package Target_ error. > 1. Let _resolvedTarget_ be the URL resolution of the concatenation of > _packageURL_ and _target_. -> 1. If _resolvedTarget_ is contained in _packageURL_, then -> 1. Let _resolved_ be the URL resolution of the concatenation of -> _subpath_ and _resolvedTarget_. -> 1. If _resolved_ is contained in _resolvedTarget_, then -> 1. Return _resolved_. +> 1. If _resolvedTarget_ is not contained in _packageURL_, throw an +> _Invalid Package Target_ error. +> 1. If _subpath_ has non-zero length and _target_ does not end with _"/"_, +> throw an _Invalid Module Specifier_ error. +> 1. Let _resolved_ be the URL resolution of the concatenation of +> _subpath_ and _resolvedTarget_. +> 1. If _resolved_ is not contained in _resolvedTarget_, throw an +> _Invalid Module Specifier_ error. +> 1. Return _resolved_. > 1. Otherwise, if _target_ is a non-null Object, then > 1. If _exports_ contains any index property keys, as defined in ECMA-262 > [6.1.7 Array Index][], throw an _Invalid Package Configuration_ error. > 1. For each property _p_ of _target_, in object insertion order as, > 1. If _env_ contains an entry for _p_, then > 1. Let _targetValue_ be the value of the _p_ property in _target_. -> 1. Let _resolved_ be the result of **PACKAGE_EXPORTS_TARGET_RESOLVE** -> (_packageURL_, _targetValue_, _subpath_, _env_). -> 1. Assert: _resolved_ is a String. -> 1. Return _resolved_. +> 1. Return the result of **PACKAGE_EXPORTS_TARGET_RESOLVE**( +> _packageURL_, _targetValue_, _subpath_, _env_), continuing the +> loop on any _Package Path Not Exported_ error. +> 1. Throw a _Package Path Not Exported_ error. > 1. Otherwise, if _target_ is an Array, then +> 1. If _target.length is zero, throw an _Invalid Package Target_ error. > 1. For each item _targetValue_ in _target_, do > 1. If _targetValue_ is an Array, continue the loop. -> 1. Let _resolved_ be the result of -> **PACKAGE_EXPORTS_TARGET_RESOLVE**(_packageURL_, _targetValue_, -> _subpath_, _env_), continuing the loop on abrupt completion. -> 1. Assert: _resolved_ is a String. -> 1. Return _resolved_. -> 1. Throw a _Module Not Found_ error. +> 1. Return the result of **PACKAGE_EXPORTS_TARGET_RESOLVE**(_packageURL_, +> _targetValue_, _subpath_, _env_), continuing the loop on any +> _Package Path Not Exported_ or _Invalid Package Target_ error. +> 1. Throw the last fallback resolution error. +> 1. Otherwise throw an _Invalid Package Target_ error. **ESM_FORMAT**(_url_) -> 1. Assert: _url_ corresponds to an existing file pathname. +> 1. Assert: _url_ corresponds to an existing file. > 1. Let _pjson_ be the result of **READ_PACKAGE_SCOPE**(_url_). > 1. If _url_ ends in _".mjs"_, then > 1. Return _"module"_. > 1. If _url_ ends in _".cjs"_, then > 1. Return _"commonjs"_. > 1. If _pjson?.type_ exists and is _"module"_, then -> 1. If _url_ ends in _".js"_ or lacks a file extension, then +> 1. If _url_ ends in _".js"_, then > 1. Return _"module"_. > 1. Throw an _Unsupported File Extension_ error. > 1. Otherwise, -> 1. If _url_ lacks a file extension, then -> 1. Return _"commonjs"_. > 1. Throw an _Unsupported File Extension_ error. **READ_PACKAGE_SCOPE**(_url_) @@ -1620,25 +1723,27 @@ success! [Babel]: https://babeljs.io/ [CommonJS]: modules.html [Conditional Exports]: #esm_conditional_exports +[Dynamic `import()`]: https://wiki.developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#Dynamic_Imports [ECMAScript-modules implementation]: https://github.com/nodejs/modules/blob/master/doc/plan-for-new-modules-implementation.md [ES Module Integration Proposal for Web Assembly]: https://github.com/webassembly/esm-integration [Node.js EP for ES Modules]: https://github.com/nodejs/node-eps/blob/master/002-es-modules.md -[Package Exports]: #esm_package_exports [Terminology]: #esm_terminology [WHATWG JSON modules specification]: https://html.spec.whatwg.org/#creating-a-json-module-script -[`"exports"` field]: #esm_package_exports [`data:` URLs]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs [`esm`]: https://github.com/standard-things/esm#readme [`export`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export [`getFormat` hook]: #esm_code_getformat_code_hook -[`import()`]: #esm_import-expressions +[`import()`]: #esm_import_expressions [`import.meta.url`]: #esm_import_meta [`import`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import [`module.createRequire()`]: modules.html#modules_module_createrequire_filename [`module.syncBuiltinESMExports()`]: modules.html#modules_module_syncbuiltinesmexports [`transformSource` hook]: #esm_code_transformsource_code_hook [dynamic instantiate hook]: #esm_code_dynamicinstantiate_code_hook +[import an ES or CommonJS module for its side effects only]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#Import_a_module_for_its_side_effects_only [special scheme]: https://url.spec.whatwg.org/#special-scheme [the official standard format]: https://tc39.github.io/ecma262/#sec-modules +[the dual CommonJS/ES module packages section]: #esm_dual_commonjs_es_module_packages [transpiler loader example]: #esm_transpiler_loader [6.1.7 Array Index]: https://tc39.es/ecma262/#integer-index +[Top-Level Await]: https://github.com/tc39/proposal-top-level-await diff --git a/doc/api/fs.md b/doc/api/fs.md index 5473d54e23b023..8a96797fb68bc1 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -175,9 +175,9 @@ fs.readFileSync(fileUrl); Using WHATWG [`URL`][] objects might introduce platform-specific behaviors. -On Windows, `file:` URLs with a hostname convert to UNC paths, while `file:` +On Windows, `file:` URLs with a host name convert to UNC paths, while `file:` URLs with drive letters convert to local absolute paths. `file:` URLs without a -hostname nor a drive letter will result in a throw: +host name nor a drive letter will result in a throw: ```js // On Windows : @@ -199,7 +199,7 @@ fs.readFileSync(new URL('file:///c/p/a/t/h/file')); `file:` URLs with drive letters must use `:` as a separator just after the drive letter. Using another separator will result in a throw. -On all other platforms, `file:` URLs with a hostname are unsupported and will +On all other platforms, `file:` URLs with a host name are unsupported and will result in a throw: ```js @@ -1940,7 +1940,7 @@ Node.js callbacks. `fs.existsSync()` does not use a callback. ```js if (fs.existsSync('/etc/passwd')) { - console.log('The file exists.'); + console.log('The path exists.'); } ``` @@ -3820,6 +3820,9 @@ fs.watch('somedir', (eventType, filename) => { -* `authority` {string|URL} +* `authority` {string|URL} The remote HTTP/2 server to connect to. This must + be in the form of a minimal, valid URL with the `http://` or `https://` + prefix, host name, and IP port (if a non-default port is used). Userinfo + (user ID and password), path, querystring, and fragment details in the + URL will be ignored. * `options` {Object} * `maxDeflateDynamicTableSize` {number} Sets the maximum dynamic table size for deflating header fields. **Default:** `4Kib`. @@ -2257,6 +2261,9 @@ changes: * `selectPadding` {Function} When `options.paddingStrategy` is equal to `http2.constants.PADDING_STRATEGY_CALLBACK`, provides the callback function used to determine the padding. See [Using `options.selectPadding()`][]. + * `protocol` {string} The protocol to connect with, if not set in the + `authority`. Value may be either `'http:'` or `'https:'`. **Default:** + `'https:'` * `settings` {HTTP/2 Settings Object} The initial settings to send to the remote peer upon connection. * `createConnection` {Function} An optional callback that receives the `URL` @@ -2802,7 +2809,7 @@ console.log(request.headers); See [HTTP/2 Headers Object][]. -In HTTP/2, the request path, hostname, protocol, and method are represented as +In HTTP/2, the request path, host name, protocol, and method are represented as special headers prefixed with the `:` character (e.g. `':path'`). These special headers will be included in the `request.headers` object. Care must be taken not to inadvertently modify these special headers or errors may occur. For instance, @@ -3020,7 +3027,7 @@ added: v8.4.0 * Extends: {Stream} -This object is created internally by an HTTP server — not by the user. It is +This object is created internally by an HTTP server, not by the user. It is passed as the second parameter to the [`'request'`][] event. #### Event: `'close'` diff --git a/doc/api/https.md b/doc/api/https.md index bb0322da966913..08f48eaa392460 100644 --- a/doc/api/https.md +++ b/doc/api/https.md @@ -39,7 +39,7 @@ changes: * `servername` {string} the value of [Server Name Indication extension][sni wiki] to be sent to the server. Use empty string `''` to disable sending the extension. - **Default:** hostname of the target server, unless the target server + **Default:** host name of the target server, unless the target server is specified using an IP address, in which case the default is `''` (no extension). @@ -123,9 +123,13 @@ See [`http.Server#setTimeout()`][]. ### `server.timeout` -* {number} **Default:** `120000` (2 minutes) +* {number} **Default:** 0 (no timeout) See [`http.Server#timeout`][]. @@ -368,7 +372,7 @@ const options = { return new Error(msg); } - // Pin the exact certificate, rather then the pub key + // Pin the exact certificate, rather than the pub key const cert256 = '25:FE:39:32:D9:63:8C:8A:FC:A1:9A:29:87:' + 'D8:3E:4C:1D:98:DB:71:E4:1A:48:03:98:EA:22:6A:BD:8B:93:16'; if (cert.fingerprint256 !== cert256) { diff --git a/doc/api/modules.md b/doc/api/modules.md index bac8b21d775fae..639516467297c3 100644 --- a/doc/api/modules.md +++ b/doc/api/modules.md @@ -82,7 +82,7 @@ by checking `require.main.filename`. -The semantics of Node.js's `require()` function were designed to be general +The semantics of the Node.js `require()` function were designed to be general enough to support reasonable directory structures. Package manager programs such as `dpkg`, `rpm`, and `npm` will hopefully find it possible to build native packages from Node.js modules without modification. @@ -162,7 +162,7 @@ require(X) from module at path Y c. THROW "not found" 4. LOAD_SELF_REFERENCE(X, dirname(Y)) 5. LOAD_NODE_MODULES(X, dirname(Y)) -7. THROW "not found" +6. THROW "not found" LOAD_AS_FILE(X) 1. If X is a file, load X as JavaScript text. STOP @@ -290,7 +290,7 @@ irrespective of whether or not `./foo` and `./FOO` are the same file. Node.js has several modules compiled into the binary. These modules are described in greater detail elsewhere in this documentation. -The core modules are defined within Node.js's source and are located in the +The core modules are defined within the Node.js source and are located in the `lib/` folder. Core modules are always preferentially loaded if their identifier is @@ -409,7 +409,7 @@ If this was in a folder at `./some-library`, then `require('./some-library')` would attempt to load `./some-library/lib/some-library.js`. -This is the extent of Node.js's awareness of `package.json` files. +This is the extent of the awareness of `package.json` files within Node.js. If there is no `package.json` file present in the directory, or if the `'main'` entry is missing or cannot be resolved, then Node.js @@ -485,7 +485,7 @@ Additionally, Node.js will search in the following list of GLOBAL_FOLDERS: * 2: `$HOME/.node_libraries` * 3: `$PREFIX/lib/node` -Where `$HOME` is the user's home directory, and `$PREFIX` is Node.js's +Where `$HOME` is the user's home directory, and `$PREFIX` is the Node.js configured `node_prefix`. These are mostly for historic reasons. @@ -618,10 +618,13 @@ Used to import modules, `JSON`, and local files. Modules can be imported from `node_modules`. Local modules and JSON files can be imported using a relative path (e.g. `./`, `./foo`, `./bar/baz`, `../foo`) that will be resolved against the directory named by [`__dirname`][] (if defined) or -the current working directory. +the current working directory. The relative paths of POSIX style are resolved +in an OS independent fashion, meaning that the examples above will work on +Windows in the same way they would on Unix systems. ```js -// Importing a local module: +// Importing a local module with a path relative to the `__dirname` or current +// working directory. (On Windows, this would resolve to .\path\myLocalModule.) const myLocalModule = require('./path/myLocalModule'); // Importing a JSON file: @@ -942,7 +945,7 @@ added: v0.3.7 * {Object} Provides general utility methods when interacting with instances of -`Module` — the `module` variable often seen in file modules. Accessed +`Module`, the `module` variable often seen in file modules. Accessed via `require('module')`. ### `module.builtinModules` diff --git a/doc/api/n-api.md b/doc/api/n-api.md index f2f45226127be6..6c4e560ab8be2d 100644 --- a/doc/api/n-api.md +++ b/doc/api/n-api.md @@ -493,8 +493,12 @@ implementation can use to persist VM-specific state. This structure is passed to native functions when they're invoked, and it must be passed back when making N-API calls. Specifically, the same `napi_env` that was passed in when the initial native function was called must be passed to any subsequent -nested N-API calls. Caching the `napi_env` for the purpose of general reuse is -not allowed. +nested N-API calls. Caching the `napi_env` for the purpose of general reuse, +and passing the `napi_env` between instances of the same addon running on +different [`Worker`][] threads is not allowed. The `napi_env` becomes invalid +when an instance of a native addon is unloaded. Notification of this event is +delivered through the callbacks given to [`napi_add_env_cleanup_hook`][] and +[`napi_set_instance_data`][]. ### napi_value @@ -1432,7 +1436,7 @@ napiVersion: 1 ```C NAPI_EXTERN napi_status napi_reference_unref(napi_env env, napi_ref ref, - uint32_t* result);); + uint32_t* result); ``` * `[in] env`: The environment that the API is invoked under. @@ -4899,12 +4903,12 @@ napiVersion: 1 ```C napi_status napi_is_promise(napi_env env, - napi_value promise, + napi_value value, bool* is_promise); ``` * `[in] env`: The environment that the API is invoked under. -* `[in] promise`: The promise to examine +* `[in] value`: The value to examine * `[out] is_promise`: Flag indicating whether `promise` is a native promise object (that is, a promise object created by the underlying engine). @@ -5304,8 +5308,10 @@ This API may only be called from the main thread. [Xcode]: https://developer.apple.com/xcode/ [`Number.MAX_SAFE_INTEGER`]: https://tc39.github.io/ecma262/#sec-number.max_safe_integer [`Number.MIN_SAFE_INTEGER`]: https://tc39.github.io/ecma262/#sec-number.min_safe_integer +[`Worker`]: worker_threads.html#worker_threads_class_worker [`global`]: globals.html#globals_global [`init` hooks]: async_hooks.html#async_hooks_init_asyncid_type_triggerasyncid_resource +[`napi_add_env_cleanup_hook`]: #n_api_napi_add_env_cleanup_hook [`napi_add_finalizer`]: #n_api_napi_add_finalizer [`napi_async_init`]: #n_api_napi_async_init [`napi_cancel_async_work`]: #n_api_napi_cancel_async_work @@ -5341,6 +5347,7 @@ This API may only be called from the main thread. [`napi_queue_async_work`]: #n_api_napi_queue_async_work [`napi_reference_ref`]: #n_api_napi_reference_ref [`napi_reference_unref`]: #n_api_napi_reference_unref +[`napi_set_instance_data`]: #n_api_napi_set_instance_data [`napi_set_property`]: #n_api_napi_set_property [`napi_throw_error`]: #n_api_napi_throw_error [`napi_throw_range_error`]: #n_api_napi_throw_range_error diff --git a/doc/api/net.md b/doc/api/net.md index 13bcd60cf48e1c..ea0b9139fd33f1 100644 --- a/doc/api/net.md +++ b/doc/api/net.md @@ -26,18 +26,16 @@ sockets on other operating systems. [`socket.connect()`][] take a `path` parameter to identify IPC endpoints. On Unix, the local domain is also known as the Unix domain. The path is a -filesystem pathname. It gets truncated to a length of -`sizeof(sockaddr_un.sun_path) - 1`, which varies 91 and 107 bytes depending on -the operating system. The typical values are 107 on Linux and 103 on macOS. The -path is subject to the same naming conventions and permissions checks as would -be done on file creation. If the Unix domain socket (that is visible as a file -system path) is created and used in conjunction with one of Node.js' API -abstractions such as [`net.createServer()`][], it will be unlinked as part of -[`server.close()`][]. On the other hand, if it is created and used outside of -these abstractions, the user will need to manually remove it. The same applies -when the path was created by a Node.js API but the program crashes abruptly. -In short, a Unix domain socket once successfully created will be visible in the -filesystem, and will persist until unlinked. +filesystem pathname. It gets truncated to an OS-dependent length of +`sizeof(sockaddr_un.sun_path) - 1`. Typical values are 107 bytes on Linux and +103 bytes on macOS. If a Node.js API abstraction creates the Unix domain socket, +it will unlink the Unix domain socket as well. For example, +[`net.createServer()`][] may create a Unix domain socket and +[`server.close()`][] will unlink it. But if a user creates the Unix domain +socket outside of these abstractions, the user will need to remove it. The same +applies when a Node.js API creates a Unix domain socket but the program then +crashes. In short, a Unix domain socket will be visible in the filesystem and +will persist until unlinked. On Windows, the local domain is implemented using a named pipe. The path *must* refer to an entry in `\\?\pipe\` or `\\.\pipe\`. Any characters are permitted, @@ -503,13 +501,13 @@ changes: description: The `host` parameter is supported now. --> -Emitted after resolving the hostname but before connecting. +Emitted after resolving the host name but before connecting. Not applicable to Unix sockets. * `err` {Error|null} The error object. See [`dns.lookup()`][]. * `address` {string} The IP address. * `family` {string|null} The address type. See [`dns.lookup()`][]. -* `host` {string} The hostname. +* `host` {string} The host name. ### Event: `'ready'` * {string|undefined} @@ -386,7 +386,7 @@ process.stdin.on('keypress', (c, k) => { ### rl.cursor * {number|undefined} diff --git a/doc/api/repl.md b/doc/api/repl.md index 8305b1d2c920ca..8d5fa87f2c3f17 100644 --- a/doc/api/repl.md +++ b/doc/api/repl.md @@ -69,7 +69,7 @@ The following key combinations in the REPL have these special effects: ### Default Evaluation By default, all instances of [`repl.REPLServer`][] use an evaluation function -that evaluates JavaScript expressions and provides access to Node.js' built-in +that evaluates JavaScript expressions and provides access to Node.js built-in modules. This default behavior can be overridden by passing in an alternative evaluation function when the [`repl.REPLServer`][] instance is created. diff --git a/doc/api/report.md b/doc/api/report.md index 984f6c6f403b70..c2640c90849ad7 100644 --- a/doc/api/report.md +++ b/doc/api/report.md @@ -297,6 +297,7 @@ is provided below for reference. "address": "0x000055fc7b2cb180" } ], + "workers": [], "environmentVariables": { "REMOTEHOST": "REMOVED", "MANPATH": "/opt/rh/devtoolset-3/root/usr/share/man:", @@ -578,4 +579,24 @@ NODE_OPTIONS="--experimental-report --report-uncaught-exception \ Specific API documentation can be found under [`process API documentation`][] section. +## Interaction with Workers + + +[`Worker`][] threads can create reports in the same way that the main thread +does. + +Reports will include information on any Workers that are children of the current +thread as part of the `workers` section, with each Worker generating a report +in the standard report format. + +The thread which is generating the report will wait for the reports from Worker +threads to finish. However, the latency for this will usually be low, as both +running JavaScript and the event loop are interrupted to generate the report. + [`process API documentation`]: process.html +[`Worker`]: worker_threads.html diff --git a/doc/api/stream.md b/doc/api/stream.md index 151da7da71311f..840c8ce4ca3bf4 100644 --- a/doc/api/stream.md +++ b/doc/api/stream.md @@ -1882,8 +1882,8 @@ methods only. The `writable._writev()` method may be implemented in addition or alternatively to `writable._write()` in stream implementations that are capable of processing -multiple chunks of data at once. If implemented, the method will be called with -all chunks of data currently buffered in the write queue. +multiple chunks of data at once. If implemented and if there is buffered data +from previous writes, `_writev()` will be called instead of `_write()`. The `writable._writev()` method is prefixed with an underscore because it is internal to the class that defines it, and should never be called directly by @@ -2639,15 +2639,33 @@ const finished = util.promisify(stream.finished); const writable = fs.createWriteStream('./file'); -(async function() { - for await (const chunk of iterator) { +function drain(writable) { + if (writable.destroyed) { + return Promise.reject(new Error('premature close')); + } + return Promise.race([ + once(writable, 'drain'), + once(writable, 'close') + .then(() => Promise.reject(new Error('premature close'))) + ]); +} + +async function pump(iterable, writable) { + for await (const chunk of iterable) { // Handle backpressure on write(). - if (!writable.write(chunk)) - await once(writable, 'drain'); + if (!writable.write(chunk)) { + await drain(writable); + } } writable.end(); +} + +(async function() { // Ensure completion without errors. - await finished(writable); + await Promise.all([ + pump(iterable, writable), + finished(writable) + ]); })(); ``` @@ -2669,7 +2687,7 @@ const finished = util.promisify(stream.finished); const writable = fs.createWriteStream('./file'); (async function() { - const readable = Readable.from(iterator); + const readable = Readable.from(iterable); readable.pipe(writable); // Ensure completion without errors. await finished(writable); @@ -2684,7 +2702,7 @@ const pipeline = util.promisify(stream.pipeline); const writable = fs.createWriteStream('./file'); (async function() { - const readable = Readable.from(iterator); + const readable = Readable.from(iterable); await pipeline(readable, writable); })(); ``` diff --git a/doc/api/tls.md b/doc/api/tls.md index 2eaaab5a851821..51f5cf9b4adf1b 100644 --- a/doc/api/tls.md +++ b/doc/api/tls.md @@ -545,7 +545,7 @@ called: added: v0.5.3 --> -* `hostname` {string} A SNI hostname or wildcard (e.g. `'*'`) +* `hostname` {string} A SNI host name or wildcard (e.g. `'*'`) * `context` {Object} An object containing any of the possible properties from the [`tls.createSecureContext()`][] `options` arguments (e.g. `key`, `cert`, `ca`, etc). @@ -1308,7 +1308,7 @@ changes: with optional identity `hint` provided by the server or `null` in case of TLS 1.3 where `hint` was removed. It will be necessary to provide a custom `tls.checkServerIdentity()` - for the connection as the default one will try to check hostname/IP + for the connection as the default one will try to check host name/IP of the server against the certificate but that's not applicable for PSK because there won't be a certificate present. More information can be found in the [RFC 4279][]. @@ -1328,7 +1328,7 @@ changes: `SNICallback` option to [`tls.createServer()`][]. * `checkServerIdentity(servername, cert)` {Function} A callback function to be used (instead of the builtin `tls.checkServerIdentity()` function) - when checking the server's hostname (or the provided `servername` when + when checking the server's host name (or the provided `servername` when explicitly set) against the certificate. This should return an {Error} if verification fails. The method should return `undefined` if the `servername` and `cert` are verified. diff --git a/doc/api/url.md b/doc/api/url.md index 0fb6939d4494a4..49f56509fe41e9 100644 --- a/doc/api/url.md +++ b/doc/api/url.md @@ -47,7 +47,7 @@ WHATWG URL's `origin` property includes `protocol` and `host`, but not ├─────────────┴─────────────────────┴────────────────────────┴──────────┴────────────────┴───────┤ │ href │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ -(all spaces in the "" line should be ignored — they are purely for formatting) +(All spaces in the "" line should be ignored. They are purely for formatting.) ``` Parsing the URL string using the WHATWG API: @@ -114,7 +114,7 @@ const myURL = new URL({ toString: () => 'https://example.org/' }); // https://example.org/ ``` -Unicode characters appearing within the hostname of `input` will be +Unicode characters appearing within the host name of `input` will be automatically converted to ASCII using the [Punycode][] algorithm. ```js @@ -192,7 +192,7 @@ Invalid host values assigned to the `host` property are ignored. * {string} -Gets and sets the hostname portion of the URL. The key difference between +Gets and sets the host name portion of the URL. The key difference between `url.host` and `url.hostname` is that `url.hostname` does *not* include the port. @@ -206,7 +206,7 @@ console.log(myURL.href); // Prints https://example.com:81/foo ``` -Invalid hostname values assigned to the `hostname` property are ignored. +Invalid host name values assigned to the `hostname` property are ignored. #### `url.href` @@ -1298,8 +1298,8 @@ path of most URLs. The *fragment percent-encode set* is used for URL fragments. The *C0 control percent-encode set* is used for host and path under certain specific conditions, in addition to all other cases. -When non-ASCII characters appear within a hostname, the hostname is encoded -using the [Punycode][] algorithm. Note, however, that a hostname *may* contain +When non-ASCII characters appear within a host name, the host name is encoded +using the [Punycode][] algorithm. Note, however, that a host name *may* contain *both* Punycode encoded and percent-encoded characters: ```js diff --git a/doc/api/util.md b/doc/api/util.md index 4358bdeab35bfa..1e8f0cf19dd6e9 100644 --- a/doc/api/util.md +++ b/doc/api/util.md @@ -4,9 +4,9 @@ > Stability: 2 - Stable -The `util` module is primarily designed to support the needs of Node.js' own -internal APIs. However, many of the utilities are useful for application and -module developers as well. It can be accessed using: +The `util` module supports the needs of Node.js internal APIs. Many of the +utilities are useful for application and module developers as well. To access +it: ```js const util = require('util'); @@ -992,11 +992,32 @@ throw an error. ### `util.promisify.custom` * {symbol} that can be used to declare custom promisified variants of functions, see [Custom promisified functions][]. +In addition to being accessible through `util.promisify.custom`, this +symbol is [registered globally][global symbol registry] and can be +accessed in any environment as `Symbol.for('nodejs.util.promisify.custom')`. + +For example, with a function that takes in +`(foo, onSuccessCallback, onErrorCallback)`: + +```js +const kCustomPromisifiedSymbol = Symbol.for('nodejs.util.promisify.custom'); + +doSomething[kCustomPromisifiedSymbol] = (foo) => { + return new Promise((resolve, reject) => { + doSomething(foo, resolve, reject); + }); +}; +``` + ## Class: `util.TextDecoder` -Each zlib-based class takes an `options` object. All options are optional. +Each zlib-based class takes an `options` object. No options are required. Some options are only relevant when compressing and are ignored by the decompression classes. @@ -1058,6 +1156,6 @@ Decompress a chunk of data with [`Unzip`][]. [Brotli parameters]: #zlib_brotli_constants [Memory Usage Tuning]: #zlib_memory_usage_tuning [RFC 7932]: https://www.rfc-editor.org/rfc/rfc7932.txt -[pool size]: cli.html#cli_uv_threadpool_size_size +[Streams API]: stream.md [zlib documentation]: https://zlib.net/manual.html#Constants [zlib.createGzip example]: #zlib_zlib diff --git a/doc/api_assets/style.css b/doc/api_assets/style.css index 09bc7c988b2e94..9b6be151420d6c 100644 --- a/doc/api_assets/style.css +++ b/doc/api_assets/style.css @@ -27,23 +27,29 @@ h4, h4 code { font-size: 1.5rem; } h5, h5 code { font-size: 1.25rem; } h6, h6 code { font-size: 1rem; } -h1, h1 code, -h2, h2 code, -h3, h3 code, -h4, h4 code, -h5, h5 code, -h6, h6 code { - background-color: inherit; - color: inherit; - font-family: inherit; +h1, +h2, +h3, +h4, +h5, +h6 { font-weight: 700; line-height: inherit; position: relative; margin: 1.5rem 0 1rem; - padding: inherit; text-rendering: optimizeLegibility; } +h1 code, +h2 code, +h3 code, +h4 code, +h5 code, +h6 code { + color: inherit; + font-family: inherit; +} + pre, tt, code, diff --git a/doc/changelogs/CHANGELOG_V12.md b/doc/changelogs/CHANGELOG_V12.md index 80d7433f943bf1..60925eeb6e4101 100644 --- a/doc/changelogs/CHANGELOG_V12.md +++ b/doc/changelogs/CHANGELOG_V12.md @@ -10,6 +10,7 @@ +12.16.2
    12.16.1
    12.16.0
    12.15.0
    @@ -54,6 +55,409 @@ * [io.js](CHANGELOG_IOJS.md) * [Archive](CHANGELOG_ARCHIVE.md) + +## 2020-04-08, Version 12.16.2 'Erbium' (LTS), @codebytere + +### Notable Changes + +* **doc**: + * add ronag to collaborators (Robert Nagy) [#31498](https://github.com/nodejs/node/pull/31498) + * add GeoffreyBooth to collaborators (Geoffrey Booth) [#31306](https://github.com/nodejs/node/pull/31306) +* **deps**: + * upgrade npm to 6.13.6 (Ruy Adorno) [#31304](https://github.com/nodejs/node/pull/31304) + * update openssl to 1.1.1e (Hassaan Pasha) [#32328](https://github.com/nodejs/node/pull/32328) + +### Commits + +* [[`f756c809e0`](https://github.com/nodejs/node/commit/f756c809e0)] - **assert**: align character indicators properly (Ruben Bridgewater) [#31429](https://github.com/nodejs/node/pull/31429) +* [[`597431b1f2`](https://github.com/nodejs/node/commit/597431b1f2)] - **async_hooks**: remove internal only error checking (Anatoli Papirovski) [#30967](https://github.com/nodejs/node/pull/30967) +* [[`35f107da53`](https://github.com/nodejs/node/commit/35f107da53)] - **benchmark**: remove problematic tls params (Brian White) [#31816](https://github.com/nodejs/node/pull/31816) +* [[`0b7579022c`](https://github.com/nodejs/node/commit/0b7579022c)] - **benchmark**: use let instead of var (Daniele Belardi) [#31592](https://github.com/nodejs/node/pull/31592) +* [[`7173b285e7`](https://github.com/nodejs/node/commit/7173b285e7)] - **benchmark**: swap var for let in benchmarks (Alex Ramirez) [#28958](https://github.com/nodejs/node/pull/28958) +* [[`c18cec7593`](https://github.com/nodejs/node/commit/c18cec7593)] - **benchmark**: remove special test entries (Ruben Bridgewater) [#31396](https://github.com/nodejs/node/pull/31396) +* [[`19fbe55451`](https://github.com/nodejs/node/commit/19fbe55451)] - **benchmark**: refactor helper into a class (Ruben Bridgewater) [#31396](https://github.com/nodejs/node/pull/31396) +* [[`a305ae2308`](https://github.com/nodejs/node/commit/a305ae2308)] - **benchmark**: check for and fix multiple end() (Brian White) [#31624](https://github.com/nodejs/node/pull/31624) +* [[`7f828a4dd0`](https://github.com/nodejs/node/commit/7f828a4dd0)] - **benchmark**: clean up config resolution in multiple benchmarks (Denys Otrishko) [#31581](https://github.com/nodejs/node/pull/31581) +* [[`4e40c77dc7`](https://github.com/nodejs/node/commit/4e40c77dc7)] - **benchmark**: add MessagePort benchmark (Anna Henningsen) [#31568](https://github.com/nodejs/node/pull/31568) +* [[`2973c1fabf`](https://github.com/nodejs/node/commit/2973c1fabf)] - **benchmark**: use let and const instead of var (Daniele Belardi) [#31518](https://github.com/nodejs/node/pull/31518) +* [[`393b48e744`](https://github.com/nodejs/node/commit/393b48e744)] - **benchmark**: fix getStringWidth() benchmark (Rich Trott) [#31476](https://github.com/nodejs/node/pull/31476) +* [[`267a01f4eb`](https://github.com/nodejs/node/commit/267a01f4eb)] - **benchmark**: add default type in getstringwidth.js (Rich Trott) [#31377](https://github.com/nodejs/node/pull/31377) +* [[`4f9d57d01e`](https://github.com/nodejs/node/commit/4f9d57d01e)] - **benchmark**: benchmarking impacts of async hooks on promises (legendecas) [#31188](https://github.com/nodejs/node/pull/31188) +* [[`06bc2ded77`](https://github.com/nodejs/node/commit/06bc2ded77)] - **buffer**: improve from() performance (Brian White) [#31615](https://github.com/nodejs/node/pull/31615) +* [[`22a37d6847`](https://github.com/nodejs/node/commit/22a37d6847)] - **buffer**: improve concat() performance (Brian White) [#31522](https://github.com/nodejs/node/pull/31522) +* [[`1849c2cc99`](https://github.com/nodejs/node/commit/1849c2cc99)] - **buffer**: improve fill(number) performance (Brian White) [#31489](https://github.com/nodejs/node/pull/31489) +* [[`45d05e1cf6`](https://github.com/nodejs/node/commit/45d05e1cf6)] - **build**: add mjs extension to lint-js (Nick Schonning) [#32145](https://github.com/nodejs/node/pull/32145) +* [[`fae680f740`](https://github.com/nodejs/node/commit/fae680f740)] - **build**: drop Travis in favor of Actions (Christian Clauss) [#32450](https://github.com/nodejs/node/pull/32450) +* [[`a50648975d`](https://github.com/nodejs/node/commit/a50648975d)] - **build**: annotate markdown lint failures in pull requests (Richard Lau) [#32391](https://github.com/nodejs/node/pull/32391) +* [[`c42cb79bb7`](https://github.com/nodejs/node/commit/c42cb79bb7)] - **build**: build docs in GitHub Actions CI workflow (Richard Lau) [#31504](https://github.com/nodejs/node/pull/31504) +* [[`46f83df2fd`](https://github.com/nodejs/node/commit/46f83df2fd)] - **build**: do not use setup-node in build workflows (Richard Lau) [#31349](https://github.com/nodejs/node/pull/31349) +* [[`ad12c82e37`](https://github.com/nodejs/node/commit/ad12c82e37)] - **build**: fix macos runner type in GitHub Action (扩散性百万甜面包) [#31327](https://github.com/nodejs/node/pull/31327) +* [[`df701f3b12`](https://github.com/nodejs/node/commit/df701f3b12)] - **build**: fix step name in GitHub Actions workflow (Richard Lau) [#31323](https://github.com/nodejs/node/pull/31323) +* [[`d190ee06b4`](https://github.com/nodejs/node/commit/d190ee06b4)] - **build**: add GitHub actions to run linters (Richard Lau) [#31323](https://github.com/nodejs/node/pull/31323) +* [[`7d3910d078`](https://github.com/nodejs/node/commit/7d3910d078)] - **build**: macOS package notarization (Rod Vagg) [#31459](https://github.com/nodejs/node/pull/31459) +* [[`36ae81a52a`](https://github.com/nodejs/node/commit/36ae81a52a)] - **build**: allow use of system-installed brotli (André Draszik) [#32046](https://github.com/nodejs/node/pull/32046) +* [[`6605bba0b8`](https://github.com/nodejs/node/commit/6605bba0b8)] - **build**: allow passing multiple libs to pkg\_config (André Draszik) [#32046](https://github.com/nodejs/node/pull/32046) +* [[`8a0b0a76c0`](https://github.com/nodejs/node/commit/8a0b0a76c0)] - **build**: enable backtrace when V8 is built for PPC and S390x (Michaël Zasso) [#32113](https://github.com/nodejs/node/pull/32113) +* [[`4dddb56178`](https://github.com/nodejs/node/commit/4dddb56178)] - **build**: only lint markdown files that have changed (POSIX-only) (Rich Trott) [#31923](https://github.com/nodejs/node/pull/31923) +* [[`4f36bf78ea`](https://github.com/nodejs/node/commit/4f36bf78ea)] - **build**: add configure option to debug only Node.js part of the binary (Anna Henningsen) [#31644](https://github.com/nodejs/node/pull/31644) +* [[`a53500e26b`](https://github.com/nodejs/node/commit/a53500e26b)] - **build**: ignore all the "Debug","Release" folders (ConorDavenport) [#31565](https://github.com/nodejs/node/pull/31565) +* [[`038fd25ef8`](https://github.com/nodejs/node/commit/038fd25ef8)] - **build**: fix zlib tarball generation (Shelley Vohr) [#32094](https://github.com/nodejs/node/pull/32094) +* [[`e79f368783`](https://github.com/nodejs/node/commit/e79f368783)] - **build**: remove enable\_vtune from vcbuild.bat (Richard Lau) [#31338](https://github.com/nodejs/node/pull/31338) +* [[`8296224e41`](https://github.com/nodejs/node/commit/8296224e41)] - **build**: add vs2019 to vcbuild.bat help (Richard Lau) [#31338](https://github.com/nodejs/node/pull/31338) +* [[`93a7f91b52`](https://github.com/nodejs/node/commit/93a7f91b52)] - **build**: silence OpenSSL Windows compiler warnings (Richard Lau) [#31311](https://github.com/nodejs/node/pull/31311) +* [[`a89893f3df`](https://github.com/nodejs/node/commit/a89893f3df)] - **build**: silence c-ares Windows compiler warnings (Richard Lau) [#31311](https://github.com/nodejs/node/pull/31311) +* [[`f6a6638d0c`](https://github.com/nodejs/node/commit/f6a6638d0c)] - **build**: test Python 3 using GitHub Actions-based CI (Christian Clauss) [#29474](https://github.com/nodejs/node/pull/29474) +* [[`aec22268af`](https://github.com/nodejs/node/commit/aec22268af)] - **cli**: allow --jitless V8 flag in NODE\_OPTIONS (Andrew Neitsch) [#32100](https://github.com/nodejs/node/pull/32100) +* [[`70dc1cefea`](https://github.com/nodejs/node/commit/70dc1cefea)] - **cli**: --perf-prof only works on Linux (Shelley Vohr) [#31892](https://github.com/nodejs/node/pull/31892) +* [[`f9113fd7c2`](https://github.com/nodejs/node/commit/f9113fd7c2)] - **crypto**: turn impossible DH errors into assertions (Tobias Nießen) [#31934](https://github.com/nodejs/node/pull/31934) +* [[`c6bbae44a9`](https://github.com/nodejs/node/commit/c6bbae44a9)] - **crypto**: fix ieee-p1363 for createVerify (Tobias Nießen) [#31876](https://github.com/nodejs/node/pull/31876) +* [[`b84fd947d2`](https://github.com/nodejs/node/commit/b84fd947d2)] - **crypto**: fix performance regression (Robert Nagy) [#31742](https://github.com/nodejs/node/pull/31742) +* [[`9a3760d2fa`](https://github.com/nodejs/node/commit/9a3760d2fa)] - **crypto**: improve randomBytes() performance (Brian White) [#31519](https://github.com/nodejs/node/pull/31519) +* [[`a1be32752c`](https://github.com/nodejs/node/commit/a1be32752c)] - **deps**: V8: backport 07ee86a5a28b (Milad Farazmand) [#32619](https://github.com/nodejs/node/pull/32619) +* [[`a83fc49717`](https://github.com/nodejs/node/commit/a83fc49717)] - **deps**: V8: cherry-pick cb1c2b0fbfe7 (Gerhard Stoebich) [#31939](https://github.com/nodejs/node/pull/31939) +* [[`784df12494`](https://github.com/nodejs/node/commit/784df12494)] - **deps**: revert whitespace changes on V8 (Matheus Marchini) [#32605](https://github.com/nodejs/node/pull/32605) +* [[`6db190bb1c`](https://github.com/nodejs/node/commit/6db190bb1c)] - **deps**: upgrade npm to 6.14.4 (Ruy Adorno) [#32495](https://github.com/nodejs/node/pull/32495) +* [[`652ffa5470`](https://github.com/nodejs/node/commit/652ffa5470)] - **deps**: update term-size with signed version (Rod Vagg) [#31459](https://github.com/nodejs/node/pull/31459) +* [[`f55d071bfd`](https://github.com/nodejs/node/commit/f55d071bfd)] - **deps**: remove \*.pyc files from deps/npm (Ben Noordhuis) [#32387](https://github.com/nodejs/node/pull/32387) +* [[`c419cd21e3`](https://github.com/nodejs/node/commit/c419cd21e3)] - **deps**: update npm to 6.14.3 (Myles Borins) [#32368](https://github.com/nodejs/node/pull/32368) +* [[`17217a5275`](https://github.com/nodejs/node/commit/17217a5275)] - **deps**: upgrade npm to 6.14.1 (Isaac Z. Schlueter) [#31977](https://github.com/nodejs/node/pull/31977) +* [[`260bd810e9`](https://github.com/nodejs/node/commit/260bd810e9)] - **deps**: update archs files for OpenSSL-1.1.1e (Hassaan Pasha) [#32328](https://github.com/nodejs/node/pull/32328) +* [[`e96e8afead`](https://github.com/nodejs/node/commit/e96e8afead)] - **deps**: adjust openssl configuration for 1.1.1e (Hassaan Pasha) [#32328](https://github.com/nodejs/node/pull/32328) +* [[`4de1afd32d`](https://github.com/nodejs/node/commit/4de1afd32d)] - **deps**: upgrade openssl sources to 1.1.1e (Hassaan Pasha) [#32328](https://github.com/nodejs/node/pull/32328) +* [[`e2c40ccb78`](https://github.com/nodejs/node/commit/e2c40ccb78)] - **deps**: V8: backport f7771e5b0cc4 (Matheus Marchini) [#31957](https://github.com/nodejs/node/pull/31957) +* [[`78d9a50c83`](https://github.com/nodejs/node/commit/78d9a50c83)] - **deps**: openssl: cherry-pick 4dcb150ea30f (Adam Majer) [#32002](https://github.com/nodejs/node/pull/32002) +* [[`ff1e5e01f4`](https://github.com/nodejs/node/commit/ff1e5e01f4)] - **deps**: upgrade npm to 6.13.7 (Michael Perrotte) [#31558](https://github.com/nodejs/node/pull/31558) +* [[`48e4d45cca`](https://github.com/nodejs/node/commit/48e4d45cca)] - **deps**: uvwasi: cherry-pick 7b5b6f9 (Colin Ihrig) [#31495](https://github.com/nodejs/node/pull/31495) +* [[`604ce0aa5a`](https://github.com/nodejs/node/commit/604ce0aa5a)] - **deps**: upgrade to libuv 1.34.2 (Colin Ihrig) [#31477](https://github.com/nodejs/node/pull/31477) +* [[`3fb3079337`](https://github.com/nodejs/node/commit/3fb3079337)] - **deps**: uvwasi: cherry-pick eea4508 (Colin Ihrig) [#31432](https://github.com/nodejs/node/pull/31432) +* [[`3bd1c02941`](https://github.com/nodejs/node/commit/3bd1c02941)] - **deps**: uvwasi: cherry-pick c3bef8e (Colin Ihrig) [#31432](https://github.com/nodejs/node/pull/31432) +* [[`12949019de`](https://github.com/nodejs/node/commit/12949019de)] - **deps**: uvwasi: cherry-pick ea73af5 (Colin Ihrig) [#31432](https://github.com/nodejs/node/pull/31432) +* [[`ada070eed4`](https://github.com/nodejs/node/commit/ada070eed4)] - **deps**: update to uvwasi 0.0.5 (Colin Ihrig) [#31432](https://github.com/nodejs/node/pull/31432) +* [[`8cf2666248`](https://github.com/nodejs/node/commit/8cf2666248)] - **deps**: uvwasi: cherry-pick 941bedf (Colin Ihrig) [#31363](https://github.com/nodejs/node/pull/31363) +* [[`ef5517aa0c`](https://github.com/nodejs/node/commit/ef5517aa0c)] - **deps**: port uvwasi@676ba9a to gyp (Colin Ihrig) [#31363](https://github.com/nodejs/node/pull/31363) +* [[`bbb8ae7bd0`](https://github.com/nodejs/node/commit/bbb8ae7bd0)] - **deps**: upgrade to libuv 1.34.1 (Colin Ihrig) [#31332](https://github.com/nodejs/node/pull/31332) +* [[`7a8963bc75`](https://github.com/nodejs/node/commit/7a8963bc75)] - **deps**: upgrade npm to 6.13.6 (Ruy Adorno) [#31304](https://github.com/nodejs/node/pull/31304) +* [[`676e3c3c38`](https://github.com/nodejs/node/commit/676e3c3c38)] - **deps,test**: update to uvwasi 0.0.4 (Colin Ihrig) [#31363](https://github.com/nodejs/node/pull/31363) +* [[`e88960d1f4`](https://github.com/nodejs/node/commit/e88960d1f4)] - **doc**: esm spec bug (Myles Borins) [#32610](https://github.com/nodejs/node/pull/32610) +* [[`155a6c397d`](https://github.com/nodejs/node/commit/155a6c397d)] - **doc**: update conditional exports recommendations (Guy Bedford) [#32098](https://github.com/nodejs/node/pull/32098) +* [[`7e56e3dee3`](https://github.com/nodejs/node/commit/7e56e3dee3)] - **doc**: remove unnecessary "obvious(ly)" modifiers in esm.md (Rich Trott) [#32457](https://github.com/nodejs/node/pull/32457) +* [[`61f44c94ae`](https://github.com/nodejs/node/commit/61f44c94ae)] - **doc**: fix lint warning in doc/api/esm.md (Richard Lau) [#32462](https://github.com/nodejs/node/pull/32462) +* [[`d8e17bf12a`](https://github.com/nodejs/node/commit/d8e17bf12a)] - **doc**: improve wording in esm.md (Rich Trott) [#32427](https://github.com/nodejs/node/pull/32427) +* [[`8b961347fe`](https://github.com/nodejs/node/commit/8b961347fe)] - **doc**: import clarifications with links to MDN (Eric Dobbertin) [#31479](https://github.com/nodejs/node/pull/31479) +* [[`f58594b8ec`](https://github.com/nodejs/node/commit/f58594b8ec)] - **doc**: update releaser list in README.md (Myles Borins) [#32577](https://github.com/nodejs/node/pull/32577) +* [[`885c88ee5b`](https://github.com/nodejs/node/commit/885c88ee5b)] - **doc**: official macOS builds now on 10.15 + Xcode 11 (Rod Vagg) [#31459](https://github.com/nodejs/node/pull/31459) +* [[`efd20f08e8`](https://github.com/nodejs/node/commit/efd20f08e8)] - **doc**: link setRawMode() from signal docs (Anna Henningsen) [#32088](https://github.com/nodejs/node/pull/32088) +* [[`3f1b9162f6`](https://github.com/nodejs/node/commit/3f1b9162f6)] - **doc**: document self-referencing a package name (Gil Tayar) [#31680](https://github.com/nodejs/node/pull/31680) +* [[`f820ce6e50`](https://github.com/nodejs/node/commit/f820ce6e50)] - **doc**: add AsyncResource + Worker pool example (Anna Henningsen) [#31601](https://github.com/nodejs/node/pull/31601) +* [[`df8d51b411`](https://github.com/nodejs/node/commit/df8d51b411)] - **doc**: document fs.watchFile() bigint option (Colin Ihrig) [#32128](https://github.com/nodejs/node/pull/32128) +* [[`eaf615709f`](https://github.com/nodejs/node/commit/eaf615709f)] - **doc**: fix broken links in benchmark README (Rich Trott) [#32121](https://github.com/nodejs/node/pull/32121) +* [[`047bd9d38e`](https://github.com/nodejs/node/commit/047bd9d38e)] - **doc**: update email address in authors (Yael Hermon) [#32026](https://github.com/nodejs/node/pull/32026) +* [[`c20f2cd41d`](https://github.com/nodejs/node/commit/c20f2cd41d)] - **doc**: update maintaining-V8.md (kenzo-spaulding) [#31503](https://github.com/nodejs/node/pull/31503) +* [[`05fbc80f45`](https://github.com/nodejs/node/commit/05fbc80f45)] - **doc**: visibility of Worker threads cli options (Harshitha KP) [#31380](https://github.com/nodejs/node/pull/31380) +* [[`224a17e202`](https://github.com/nodejs/node/commit/224a17e202)] - **doc**: improve doc/markdown file organization coherence (ConorDavenport) [#31792](https://github.com/nodejs/node/pull/31792) +* [[`df54a1932a`](https://github.com/nodejs/node/commit/df54a1932a)] - **doc**: revise --zero-fill-buffers text in buffer.md (Rich Trott) [#32019](https://github.com/nodejs/node/pull/32019) +* [[`9161b7e5c3`](https://github.com/nodejs/node/commit/9161b7e5c3)] - **doc**: add link to sem-ver info (unknown) [#31985](https://github.com/nodejs/node/pull/31985) +* [[`1630320781`](https://github.com/nodejs/node/commit/1630320781)] - **doc**: update zlib doc (James M Snell) [#31665](https://github.com/nodejs/node/pull/31665) +* [[`a1c0d467ef`](https://github.com/nodejs/node/commit/a1c0d467ef)] - **doc**: clarify http2.connect authority details (James M Snell) [#31828](https://github.com/nodejs/node/pull/31828) +* [[`ed86854025`](https://github.com/nodejs/node/commit/ed86854025)] - **doc**: updated YAML version representation in readline.md (Rich Trott) [#31924](https://github.com/nodejs/node/pull/31924) +* [[`370653f1a0`](https://github.com/nodejs/node/commit/370653f1a0)] - **doc**: update releases guide re pushing tags (Myles Borins) [#31855](https://github.com/nodejs/node/pull/31855) +* [[`ab735d0144`](https://github.com/nodejs/node/commit/ab735d0144)] - **doc**: update assert.rejects() docs with a validation function example (Eric Eastwood) [#31271](https://github.com/nodejs/node/pull/31271) +* [[`911dfc5099`](https://github.com/nodejs/node/commit/911dfc5099)] - **doc**: add note about ssh key to releases (Shelley Vohr) [#31856](https://github.com/nodejs/node/pull/31856) +* [[`e83af20b70`](https://github.com/nodejs/node/commit/e83af20b70)] - **doc**: add note in BUILDING.md about running `make distclean` (Swagat Konchada) [#31542](https://github.com/nodejs/node/pull/31542) +* [[`17882ac83d`](https://github.com/nodejs/node/commit/17882ac83d)] - **doc**: reword possessive form of Node.js in adding-new-napi-api.md (Rich Trott) [#31748](https://github.com/nodejs/node/pull/31748) +* [[`648f83135e`](https://github.com/nodejs/node/commit/648f83135e)] - **doc**: reword possessive form of Node.js in http.md (Rich Trott) [#31748](https://github.com/nodejs/node/pull/31748) +* [[`d034eb41f2`](https://github.com/nodejs/node/commit/d034eb41f2)] - **doc**: reword possessive form of Node.js in process.md (Rich Trott) [#31748](https://github.com/nodejs/node/pull/31748) +* [[`b8d2997950`](https://github.com/nodejs/node/commit/b8d2997950)] - **doc**: reword possessive form of Node.js in debugger.md (Rich Trott) [#31748](https://github.com/nodejs/node/pull/31748) +* [[`aebaeadf05`](https://github.com/nodejs/node/commit/aebaeadf05)] - **doc**: move gireeshpunathil to TSC emeritus (Gireesh Punathil) [#31770](https://github.com/nodejs/node/pull/31770) +* [[`88a6d9b077`](https://github.com/nodejs/node/commit/88a6d9b077)] - **doc**: pronouns for @Fishrock123 (Jeremiah Senkpiel) [#31725](https://github.com/nodejs/node/pull/31725) +* [[`b3d0795a4a`](https://github.com/nodejs/node/commit/b3d0795a4a)] - **doc**: move @Fishrock123 to TSC Emeriti (Jeremiah Senkpiel) [#31725](https://github.com/nodejs/node/pull/31725) +* [[`e65c1c25fc`](https://github.com/nodejs/node/commit/e65c1c25fc)] - **doc**: move @Fishrock123 to a previous releaser (Jeremiah Senkpiel) [#31725](https://github.com/nodejs/node/pull/31725) +* [[`38d3f56ea3`](https://github.com/nodejs/node/commit/38d3f56ea3)] - **doc**: fix typos in doc/api/https.md (Jeff) [#31793](https://github.com/nodejs/node/pull/31793) +* [[`de275d0e0b`](https://github.com/nodejs/node/commit/de275d0e0b)] - **doc**: guide - using valgrind to debug memory leaks (Michael Dawson) [#31501](https://github.com/nodejs/node/pull/31501) +* [[`82defc0d15`](https://github.com/nodejs/node/commit/82defc0d15)] - **doc**: add glossary.md (gengjiawen) [#27517](https://github.com/nodejs/node/pull/27517) +* [[`01ec7221e6`](https://github.com/nodejs/node/commit/01ec7221e6)] - **doc**: add prerequisites information for Arch (Ujjwal Sharma) [#31669](https://github.com/nodejs/node/pull/31669) +* [[`a7a6261fa4`](https://github.com/nodejs/node/commit/a7a6261fa4)] - **doc**: fix typo on fs docs (Juan José Arboleda) [#31620](https://github.com/nodejs/node/pull/31620) +* [[`d4c1a8cc7b`](https://github.com/nodejs/node/commit/d4c1a8cc7b)] - **doc**: update contact email for @ryzokuken (Ujjwal Sharma) [#31670](https://github.com/nodejs/node/pull/31670) +* [[`86686ccbab`](https://github.com/nodejs/node/commit/86686ccbab)] - **doc**: fix default server timeout description for https (Andrey Pechkurov) [#31692](https://github.com/nodejs/node/pull/31692) +* [[`448fe39c35`](https://github.com/nodejs/node/commit/448fe39c35)] - **doc**: add directions to mark a release line as lts (Danielle Adams) [#31724](https://github.com/nodejs/node/pull/31724) +* [[`dbe2da65c9`](https://github.com/nodejs/node/commit/dbe2da65c9)] - **doc**: expand C++ README with information about exception handling (Anna Henningsen) [#31720](https://github.com/nodejs/node/pull/31720) +* [[`236943ac5b`](https://github.com/nodejs/node/commit/236943ac5b)] - **doc**: update foundation name in onboarding (Tobias Nießen) [#31719](https://github.com/nodejs/node/pull/31719) +* [[`165047a787`](https://github.com/nodejs/node/commit/165047a787)] - **doc**: reword possessive form of Node.js in zlib.md (Rich Trott) [#31713](https://github.com/nodejs/node/pull/31713) +* [[`d3201d7933`](https://github.com/nodejs/node/commit/d3201d7933)] - **doc**: reword possessive form of Node.js in modules.md (Rich Trott) [#31713](https://github.com/nodejs/node/pull/31713) +* [[`4c65d0a3d3`](https://github.com/nodejs/node/commit/4c65d0a3d3)] - **doc**: reword possessive form of Node.js in repl.md (Rich Trott) [#31713](https://github.com/nodejs/node/pull/31713) +* [[`4c5c340d28`](https://github.com/nodejs/node/commit/4c5c340d28)] - **doc**: reword section title in addons.md (Rich Trott) [#31713](https://github.com/nodejs/node/pull/31713) +* [[`1db85aa71c`](https://github.com/nodejs/node/commit/1db85aa71c)] - **doc**: revise deepEqual() legacy assertion mode text (Rich Trott) [#31704](https://github.com/nodejs/node/pull/31704) +* [[`aadd8cac4b`](https://github.com/nodejs/node/commit/aadd8cac4b)] - **doc**: improve strict assertion mode color text (Rich Trott) [#31703](https://github.com/nodejs/node/pull/31703) +* [[`708aff953a`](https://github.com/nodejs/node/commit/708aff953a)] - **doc**: consolidate introductory text (Rich Trott) [#31667](https://github.com/nodejs/node/pull/31667) +* [[`959fa8ff9d`](https://github.com/nodejs/node/commit/959fa8ff9d)] - **doc**: simplify async\_hooks overview (Rich Trott) [#31660](https://github.com/nodejs/node/pull/31660) +* [[`28657cc614`](https://github.com/nodejs/node/commit/28657cc614)] - **doc**: clarify Worker exit/message event ordering (Anna Henningsen) [#31642](https://github.com/nodejs/node/pull/31642) +* [[`cb75ca1a51`](https://github.com/nodejs/node/commit/cb75ca1a51)] - **doc**: update TSC name in "Release Process" (Tobias Nießen) [#31652](https://github.com/nodejs/node/pull/31652) +* [[`76b500218b`](https://github.com/nodejs/node/commit/76b500218b)] - **doc**: remove .github/ISSUE\_TEMPLATE.md in favor of the template folder (Joyee Cheung) [#31656](https://github.com/nodejs/node/pull/31656) +* [[`55c7b9f94a`](https://github.com/nodejs/node/commit/55c7b9f94a)] - **doc**: correct getting an ArrayBuffer's length (tsabolov) [#31632](https://github.com/nodejs/node/pull/31632) +* [[`afeaec7d6f`](https://github.com/nodejs/node/commit/afeaec7d6f)] - **doc**: ask more questions in the bug report template (Joyee Cheung) [#31611](https://github.com/nodejs/node/pull/31611) +* [[`06d5a9c0a0`](https://github.com/nodejs/node/commit/06d5a9c0a0)] - **doc**: add example to fs.promises.readdir (Conor ONeill) [#31552](https://github.com/nodejs/node/pull/31552) +* [[`351c86310b`](https://github.com/nodejs/node/commit/351c86310b)] - **doc**: fix numbering (Steffen) [#31575](https://github.com/nodejs/node/pull/31575) +* [[`356e505ab0`](https://github.com/nodejs/node/commit/356e505ab0)] - **doc**: clarify socket.setNoDelay() explanation (Rusty Conover) [#31541](https://github.com/nodejs/node/pull/31541) +* [[`b2e571ea65`](https://github.com/nodejs/node/commit/b2e571ea65)] - **doc**: clarify require() OS independence (Denys Otrishko) [#31571](https://github.com/nodejs/node/pull/31571) +* [[`1759f0ab52`](https://github.com/nodejs/node/commit/1759f0ab52)] - **doc**: add protocol option in http2.connect() (Michael Lumish) [#31560](https://github.com/nodejs/node/pull/31560) +* [[`f5663d92b8`](https://github.com/nodejs/node/commit/f5663d92b8)] - **doc**: clarify that `v8.serialize()` is not deterministic (Anna Henningsen) [#31548](https://github.com/nodejs/node/pull/31548) +* [[`af61c5d1b2`](https://github.com/nodejs/node/commit/af61c5d1b2)] - **doc**: update job reference in COLLABORATOR\_GUIDE.md (Richard Lau) [#31557](https://github.com/nodejs/node/pull/31557) +* [[`f4bdcf86ce`](https://github.com/nodejs/node/commit/f4bdcf86ce)] - **doc**: simultaneous blog and email of sec announce (Sam Roberts) [#31483](https://github.com/nodejs/node/pull/31483) +* [[`5286ccc1dc`](https://github.com/nodejs/node/commit/5286ccc1dc)] - **doc**: update collaborator guide citgm instructions (Robert Nagy) [#31549](https://github.com/nodejs/node/pull/31549) +* [[`1cf450c51f`](https://github.com/nodejs/node/commit/1cf450c51f)] - **doc**: change error message testing policy (Tobias Nießen) [#31421](https://github.com/nodejs/node/pull/31421) +* [[`d978bb56dd`](https://github.com/nodejs/node/commit/d978bb56dd)] - **doc**: remove redundant properties from headers (XhmikosR) [#31492](https://github.com/nodejs/node/pull/31492) +* [[`e48f874afd`](https://github.com/nodejs/node/commit/e48f874afd)] - **doc**: enable visual code indication in headers (Rich Trott) [#31493](https://github.com/nodejs/node/pull/31493) +* [[`8c78b87d97`](https://github.com/nodejs/node/commit/8c78b87d97)] - **doc**: clean up and streamline vm.md examples (Denys Otrishko) [#31474](https://github.com/nodejs/node/pull/31474) +* [[`821b9ac007`](https://github.com/nodejs/node/commit/821b9ac007)] - **doc**: further fix async iterator example (Robert Nagy) [#31367](https://github.com/nodejs/node/pull/31367) +* [[`f0b5f9fb94`](https://github.com/nodejs/node/commit/f0b5f9fb94)] - **doc**: add ronag to collaborators (Robert Nagy) [#31498](https://github.com/nodejs/node/pull/31498) +* [[`37754bab2d`](https://github.com/nodejs/node/commit/37754bab2d)] - **doc**: fix code display in header glitch (Rich Trott) [#31460](https://github.com/nodejs/node/pull/31460) +* [[`40480e0c0d`](https://github.com/nodejs/node/commit/40480e0c0d)] - **doc**: fix syntax in N-API documentation (Tobias Nießen) [#31466](https://github.com/nodejs/node/pull/31466) +* [[`11dbdcb839`](https://github.com/nodejs/node/commit/11dbdcb839)] - **doc**: add explanatory to path.resolve description (Yakov Litvin) [#31430](https://github.com/nodejs/node/pull/31430) +* [[`5e8f8b8320`](https://github.com/nodejs/node/commit/5e8f8b8320)] - **doc**: document process.std\*.fd (Harshitha KP) [#31395](https://github.com/nodejs/node/pull/31395) +* [[`c7f03ad8ca`](https://github.com/nodejs/node/commit/c7f03ad8ca)] - **doc**: fix several child\_process doc typos (Colin Ihrig) [#31393](https://github.com/nodejs/node/pull/31393) +* [[`2d9f111011`](https://github.com/nodejs/node/commit/2d9f111011)] - **doc**: correct added version for --abort-on-uncaught-exception (Anna Henningsen) [#31360](https://github.com/nodejs/node/pull/31360) +* [[`d944fa71dd`](https://github.com/nodejs/node/commit/d944fa71dd)] - **doc**: explain `hex` encoding in Buffer API (Harshitha KP) [#31352](https://github.com/nodejs/node/pull/31352) +* [[`ff8f0bc3cc`](https://github.com/nodejs/node/commit/ff8f0bc3cc)] - **doc**: explain \_writev() API (Harshitha KP) [#31356](https://github.com/nodejs/node/pull/31356) +* [[`b4d15a9adc`](https://github.com/nodejs/node/commit/b4d15a9adc)] - **doc**: document missing properties in child\_process (Harshitha KP) [#31342](https://github.com/nodejs/node/pull/31342) +* [[`9aa4fcc052`](https://github.com/nodejs/node/commit/9aa4fcc052)] - **doc**: standardize on "host name" in deprecations.md (Rich Trott) [#31326](https://github.com/nodejs/node/pull/31326) +* [[`175a5ec795`](https://github.com/nodejs/node/commit/175a5ec795)] - **doc**: standardize on "host name" in url.md (Rich Trott) [#31326](https://github.com/nodejs/node/pull/31326) +* [[`5f45eaf390`](https://github.com/nodejs/node/commit/5f45eaf390)] - **doc**: standardize on "host name" in tls.md (Rich Trott) [#31326](https://github.com/nodejs/node/pull/31326) +* [[`54b5346392`](https://github.com/nodejs/node/commit/54b5346392)] - **doc**: standardize on "host name" in os.md (Rich Trott) [#31326](https://github.com/nodejs/node/pull/31326) +* [[`ac3d0c90f5`](https://github.com/nodejs/node/commit/ac3d0c90f5)] - **doc**: standardize on "host name" in net.md (Rich Trott) [#31326](https://github.com/nodejs/node/pull/31326) +* [[`9217b7a639`](https://github.com/nodejs/node/commit/9217b7a639)] - **doc**: standardize on "host name" in https.md (Rich Trott) [#31326](https://github.com/nodejs/node/pull/31326) +* [[`9bca4514bf`](https://github.com/nodejs/node/commit/9bca4514bf)] - **doc**: standardize on "host name" in http2.md (Rich Trott) [#31326](https://github.com/nodejs/node/pull/31326) +* [[`a419698b18`](https://github.com/nodejs/node/commit/a419698b18)] - **doc**: standardize on "host name" in fs.md (Rich Trott) [#31326](https://github.com/nodejs/node/pull/31326) +* [[`d4a0300424`](https://github.com/nodejs/node/commit/d4a0300424)] - **doc**: standardize on "host name" in errors.md (Rich Trott) [#31326](https://github.com/nodejs/node/pull/31326) +* [[`ad701329d6`](https://github.com/nodejs/node/commit/ad701329d6)] - **doc**: standardize on "host name" in dgram.md (Rich Trott) [#31326](https://github.com/nodejs/node/pull/31326) +* [[`0eba07b267`](https://github.com/nodejs/node/commit/0eba07b267)] - **doc**: standardize on "host name" in async\_hooks.md (Rich Trott) [#31326](https://github.com/nodejs/node/pull/31326) +* [[`52a4a44b76`](https://github.com/nodejs/node/commit/52a4a44b76)] - **doc**: fix a code example in crypto.md (himself65) [#31313](https://github.com/nodejs/node/pull/31313) +* [[`6598a08308`](https://github.com/nodejs/node/commit/6598a08308)] - **doc**: add an example for util.types.isExternal (Harshitha KP) [#31173](https://github.com/nodejs/node/pull/31173) +* [[`760bedee44`](https://github.com/nodejs/node/commit/760bedee44)] - **doc**: fix example of parsing request.url (Egor Pavlov) [#31302](https://github.com/nodejs/node/pull/31302) +* [[`fa0762d663`](https://github.com/nodejs/node/commit/fa0762d663)] - **doc**: improve doc v8.getHeapSpaceStatistics() 'GetHeapSpaceStatistics' (dev-313) [#31274](https://github.com/nodejs/node/pull/31274) +* [[`cb40a1a90f`](https://github.com/nodejs/node/commit/cb40a1a90f)] - **doc**: update README to make Node.js description clearer (carterbancroft) [#31266](https://github.com/nodejs/node/pull/31266) +* [[`dd9a6c6c22`](https://github.com/nodejs/node/commit/dd9a6c6c22)] - **doc**: fix a code example in zlib.md (Alexander Wang) [#31264](https://github.com/nodejs/node/pull/31264) +* [[`97c12f120e`](https://github.com/nodejs/node/commit/97c12f120e)] - **doc**: add GeoffreyBooth to collaborators (Geoffrey Booth) [#31306](https://github.com/nodejs/node/pull/31306) +* [[`63af1ab60f`](https://github.com/nodejs/node/commit/63af1ab60f)] - **doc**: update description of `External` (Anna Henningsen) [#31255](https://github.com/nodejs/node/pull/31255) +* [[`e398137020`](https://github.com/nodejs/node/commit/e398137020)] - **doc**: rename iterator to iterable in examples (Robert Nagy) [#31252](https://github.com/nodejs/node/pull/31252) +* [[`4922184310`](https://github.com/nodejs/node/commit/4922184310)] - **doc**: fix stream async iterator sample (Robert Nagy) [#31252](https://github.com/nodejs/node/pull/31252) +* [[`623e1118a0`](https://github.com/nodejs/node/commit/623e1118a0)] - **doc**: correct filehandle.\[read|write|append\]File() (Bryan English) [#31235](https://github.com/nodejs/node/pull/31235) +* [[`60e35d454c`](https://github.com/nodejs/node/commit/60e35d454c)] - **doc**: prefer server vs srv and client vs clt (Andrew Hughes) [#31224](https://github.com/nodejs/node/pull/31224) +* [[`6cfc4dcfb4`](https://github.com/nodejs/node/commit/6cfc4dcfb4)] - **doc**: explain native external types (Harshitha KP) [#31214](https://github.com/nodejs/node/pull/31214) +* [[`ebc47f8b52`](https://github.com/nodejs/node/commit/ebc47f8b52)] - **doc**: remove em dashes (Rich Trott) [#32146](https://github.com/nodejs/node/pull/32146) +* [[`db125c5618`](https://github.com/nodejs/node/commit/db125c5618)] - **doc**: fix missing changelog corrections (Myles Borins) [#31854](https://github.com/nodejs/node/pull/31854) +* [[`8f75c7497e`](https://github.com/nodejs/node/commit/8f75c7497e)] - **doc,assert**: rename "mode" to "assertion mode" (Rich Trott) [#31635](https://github.com/nodejs/node/pull/31635) +* [[`fd5aa41178`](https://github.com/nodejs/node/commit/fd5aa41178)] - **doc,crypto**: re-document oaepLabel option (Ben Noordhuis) [#31825](https://github.com/nodejs/node/pull/31825) +* [[`8f9f92fb33`](https://github.com/nodejs/node/commit/8f9f92fb33)] - **doc,net**: reword Unix domain path paragraph in net.md (Rich Trott) [#31684](https://github.com/nodejs/node/pull/31684) +* [[`073b4f2750`](https://github.com/nodejs/node/commit/073b4f2750)] - **doc,src**: clarify that one napi\_env is per-module (legendecas) [#31102](https://github.com/nodejs/node/pull/31102) +* [[`844f893e4e`](https://github.com/nodejs/node/commit/844f893e4e)] - **doc,util**: revise util.md introductory paragraph (Rich Trott) [#31685](https://github.com/nodejs/node/pull/31685) +* [[`b1517a4f6c`](https://github.com/nodejs/node/commit/b1517a4f6c)] - **errors**: make use of "cannot" consistent (Tobias Nießen) [#31420](https://github.com/nodejs/node/pull/31420) +* [[`7231090a5d`](https://github.com/nodejs/node/commit/7231090a5d)] - **errors**: remove dead code in ERR\_INVALID\_ARG\_TYPE (Gerhard Stoebich) [#31322](https://github.com/nodejs/node/pull/31322) +* [[`0e513b2ae7`](https://github.com/nodejs/node/commit/0e513b2ae7)] - **esm**: remove unused parameter on module.instantiate (himself65) [#32147](https://github.com/nodejs/node/pull/32147) +* [[`05091d48e3`](https://github.com/nodejs/node/commit/05091d48e3)] - **esm**: import.meta.resolve with nodejs: builtins (Guy Bedford) [#31032](https://github.com/nodejs/node/pull/31032) +* [[`400083b9f5`](https://github.com/nodejs/node/commit/400083b9f5)] - **events**: fix removeListener for Symbols (zfx) [#31847](https://github.com/nodejs/node/pull/31847) +* [[`de5d162c60`](https://github.com/nodejs/node/commit/de5d162c60)] - **fs**: fix valid id range on chown, lchown, fchown (himself65) [#31694](https://github.com/nodejs/node/pull/31694) +* [[`d36699662f`](https://github.com/nodejs/node/commit/d36699662f)] - **fs**: set path when mkdir recursive called on file (Benjamin Coe) [#31607](https://github.com/nodejs/node/pull/31607) +* [[`3d8e850d31`](https://github.com/nodejs/node/commit/3d8e850d31)] - **fs**: bail on permission error in recursive directory creation (Benjamin Coe) [#31505](https://github.com/nodejs/node/pull/31505) +* [[`fc9c6c3227`](https://github.com/nodejs/node/commit/fc9c6c3227)] - **fs**: do not emit 'close' twice if emitClose enabled (Robert Nagy) [#31383](https://github.com/nodejs/node/pull/31383) +* [[`ca951e182e`](https://github.com/nodejs/node/commit/ca951e182e)] - **fs**: unset FileHandle fd after close (Anna Henningsen) [#31389](https://github.com/nodejs/node/pull/31389) +* [[`1fe0065a51`](https://github.com/nodejs/node/commit/1fe0065a51)] - **fs**: add missing HandleScope to FileHandle.close (Anna Henningsen) [#31276](https://github.com/nodejs/node/pull/31276) +* [[`73c4729652`](https://github.com/nodejs/node/commit/73c4729652)] - **fs**: use async writeFile in FileHandle#appendFile (Bryan English) [#31235](https://github.com/nodejs/node/pull/31235) +* [[`4745ac4fd7`](https://github.com/nodejs/node/commit/4745ac4fd7)] - **http2**: use custom BaseObject smart pointers (Anna Henningsen) [#30374](https://github.com/nodejs/node/pull/30374) +* [[`76a0ba689a`](https://github.com/nodejs/node/commit/76a0ba689a)] - **http2**: make compat finished match http/1 (Robert Nagy) [#24347](https://github.com/nodejs/node/pull/24347) +* [[`f910f645b9`](https://github.com/nodejs/node/commit/f910f645b9)] - **http2**: skip creating native ShutdownWrap (Anna Henningsen) [#31283](https://github.com/nodejs/node/pull/31283) +* [[`d00a1b9ad2`](https://github.com/nodejs/node/commit/d00a1b9ad2)] - **lib**: replace BigInt64Array global by the primordials (Sebastien Ahkrin) [#31193](https://github.com/nodejs/node/pull/31193) +* [[`2147c29de0`](https://github.com/nodejs/node/commit/2147c29de0)] - **lib**: add Uint16Array primordials (Sebastien Ahkrin) [#31210](https://github.com/nodejs/node/pull/31210) +* [[`bc4cbe3f50`](https://github.com/nodejs/node/commit/bc4cbe3f50)] - **lib**: add RegExp primordials (Sebastien Ahkrin) [#31208](https://github.com/nodejs/node/pull/31208) +* [[`41f0fa742e`](https://github.com/nodejs/node/commit/41f0fa742e)] - **lib**: replace Float32Array global by the primordials (Sebastien Ahkrin) [#31195](https://github.com/nodejs/node/pull/31195) +* [[`68d48fead3`](https://github.com/nodejs/node/commit/68d48fead3)] - **lib**: replace BigUInt64Array global by the primordials (Sebastien Ahkrin) [#31194](https://github.com/nodejs/node/pull/31194) +* [[`a0ad12bd7d`](https://github.com/nodejs/node/commit/a0ad12bd7d)] - **lib,tools,test**: remove custom number-isnan rule (Colin Ihrig) [#31211](https://github.com/nodejs/node/pull/31211) +* [[`a6f56bb11e`](https://github.com/nodejs/node/commit/a6f56bb11e)] - **meta**: move thefourtheye to TSC Emeritus (Rich Trott) [#32059](https://github.com/nodejs/node/pull/32059) +* [[`ae9f58cbdd`](https://github.com/nodejs/node/commit/ae9f58cbdd)] - **meta**: move not-an-aardvark to emeritus (Rich Trott) [#31928](https://github.com/nodejs/node/pull/31928) +* [[`553d62c26d`](https://github.com/nodejs/node/commit/553d62c26d)] - **meta**: move aqrln to emeritus (Rich Trott) [#31997](https://github.com/nodejs/node/pull/31997) +* [[`a44fb3fabf`](https://github.com/nodejs/node/commit/a44fb3fabf)] - **meta**: move jbergstroem to emeritus (Rich Trott) [#31996](https://github.com/nodejs/node/pull/31996) +* [[`a75aa93b2d`](https://github.com/nodejs/node/commit/a75aa93b2d)] - **meta**: move maclover7 to Emeritus (Rich Trott) [#31994](https://github.com/nodejs/node/pull/31994) +* [[`fd5c3a749a`](https://github.com/nodejs/node/commit/fd5c3a749a)] - **meta**: move Glen Keane to Collaborator Emeritus (Rich Trott) [#31993](https://github.com/nodejs/node/pull/31993) +* [[`9251307570`](https://github.com/nodejs/node/commit/9251307570)] - **meta**: move julianduque to emeritus (Rich Trott) [#31863](https://github.com/nodejs/node/pull/31863) +* [[`2a4d31ae23`](https://github.com/nodejs/node/commit/2a4d31ae23)] - **meta**: move eljefedelrodeodeljefe to emeritus (Rich Trott) [#31735](https://github.com/nodejs/node/pull/31735) +* [[`c222d561c6`](https://github.com/nodejs/node/commit/c222d561c6)] - **meta**: move princejwesley to emeritus (Rich Trott) [#31730](https://github.com/nodejs/node/pull/31730) +* [[`3e7e9fdca9`](https://github.com/nodejs/node/commit/3e7e9fdca9)] - **meta**: move vkurchatkin to emeritus (Rich Trott) [#31729](https://github.com/nodejs/node/pull/31729) +* [[`ca52b5b1e3`](https://github.com/nodejs/node/commit/ca52b5b1e3)] - **meta**: move calvinmetcalf to emeritus (Rich Trott) [#31736](https://github.com/nodejs/node/pull/31736) +* [[`c892d410bb`](https://github.com/nodejs/node/commit/c892d410bb)] - **meta**: fix collaborator list errors in README.md (James M Snell) [#31655](https://github.com/nodejs/node/pull/31655) +* [[`62b5bd4ca0`](https://github.com/nodejs/node/commit/62b5bd4ca0)] - **module**: add hook for global preload code (Jan Krems) [#32068](https://github.com/nodejs/node/pull/32068) +* [[`c537afb18c`](https://github.com/nodejs/node/commit/c537afb18c)] - **module**: package "exports" error refinements (Guy Bedford) [#31625](https://github.com/nodejs/node/pull/31625) +* [[`4ee41c572c`](https://github.com/nodejs/node/commit/4ee41c572c)] - **module**: drop support for extensionless main entry points in esm (Geoffrey Booth) [#31415](https://github.com/nodejs/node/pull/31415) +* [[`08e09eca34`](https://github.com/nodejs/node/commit/08e09eca34)] - **n-api**: free instance data as reference (Gabriel Schulhof) [#31638](https://github.com/nodejs/node/pull/31638) +* [[`16c690373a`](https://github.com/nodejs/node/commit/16c690373a)] - **n-api**: rename 'promise' parameter to 'value' (Tobias Nießen) [#31544](https://github.com/nodejs/node/pull/31544) +* [[`3a84634cc1`](https://github.com/nodejs/node/commit/3a84634cc1)] - **n-api**: return napi\_invalid\_arg on napi\_create\_bigint\_words (legendecas) [#31312](https://github.com/nodejs/node/pull/31312) +* [[`0d30546329`](https://github.com/nodejs/node/commit/0d30546329)] - **net**: track state of setNoDelay() and prevent unnecessary system calls (Rusty Conover) [#31543](https://github.com/nodejs/node/pull/31543) +* [[`87cfbb2da1`](https://github.com/nodejs/node/commit/87cfbb2da1)] - **report**: add support for Workers (Anna Henningsen) [#31386](https://github.com/nodejs/node/pull/31386) +* [[`782f5dbddd`](https://github.com/nodejs/node/commit/782f5dbddd)] - **src**: add build Github Action (gengjiawen) [#31153](https://github.com/nodejs/node/pull/31153) +* [[`fbd5be6734`](https://github.com/nodejs/node/commit/fbd5be6734)] - **src**: delete BaseObjectWeakPtr data when pointee is gone (Anna Henningsen) [#32393](https://github.com/nodejs/node/pull/32393) +* [[`56a45095b7`](https://github.com/nodejs/node/commit/56a45095b7)] - **src**: harden running native `SetImmediate()`s slightly (Anna Henningsen) [#31468](https://github.com/nodejs/node/pull/31468) +* [[`cb16aabd15`](https://github.com/nodejs/node/commit/cb16aabd15)] - **src**: simplify native immediate queue running (Anna Henningsen) [#31502](https://github.com/nodejs/node/pull/31502) +* [[`c2176e15ea`](https://github.com/nodejs/node/commit/c2176e15ea)] - **src**: move MemoryInfo() for worker code to .cc files (Anna Henningsen) [#31386](https://github.com/nodejs/node/pull/31386) +* [[`22bf867149`](https://github.com/nodejs/node/commit/22bf867149)] - **src**: add interrupts to Environments/Workers (Anna Henningsen) [#31386](https://github.com/nodejs/node/pull/31386) +* [[`7c2c068aeb`](https://github.com/nodejs/node/commit/7c2c068aeb)] - **src**: remove AsyncRequest (Anna Henningsen) [#31386](https://github.com/nodejs/node/pull/31386) +* [[`748a530046`](https://github.com/nodejs/node/commit/748a530046)] - **src**: add a threadsafe variant of SetImmediate() (Anna Henningsen) [#31386](https://github.com/nodejs/node/pull/31386) +* [[`aafb224147`](https://github.com/nodejs/node/commit/aafb224147)] - **src**: exclude C++ SetImmediate() from count (Anna Henningsen) [#31386](https://github.com/nodejs/node/pull/31386) +* [[`5df969826d`](https://github.com/nodejs/node/commit/5df969826d)] - **src**: better encapsulate native immediate list (Anna Henningsen) [#31386](https://github.com/nodejs/node/pull/31386) +* [[`2625244111`](https://github.com/nodejs/node/commit/2625244111)] - **src**: run native immediates during Environment cleanup (Anna Henningsen) [#30666](https://github.com/nodejs/node/pull/30666) +* [[`5b65348fed`](https://github.com/nodejs/node/commit/5b65348fed)] - **src**: no SetImmediate from destructor in stream\_pipe code (Anna Henningsen) [#30666](https://github.com/nodejs/node/pull/30666) +* [[`51230f71ff`](https://github.com/nodejs/node/commit/51230f71ff)] - **src**: add more `can\_call\_into\_js()` guards (Anna Henningsen) [#30666](https://github.com/nodejs/node/pull/30666) +* [[`7647bfe3fc`](https://github.com/nodejs/node/commit/7647bfe3fc)] - **src**: keep object alive in stream\_pipe code (Anna Henningsen) [#30666](https://github.com/nodejs/node/pull/30666) +* [[`5f95e69f4d`](https://github.com/nodejs/node/commit/5f95e69f4d)] - **src**: remove HandleWrap instances from list once closed (Anna Henningsen) [#30374](https://github.com/nodejs/node/pull/30374) +* [[`e17d314a21`](https://github.com/nodejs/node/commit/e17d314a21)] - **src**: remove keep alive option from SetImmediate() (Anna Henningsen) [#30374](https://github.com/nodejs/node/pull/30374) +* [[`6db84d3e50`](https://github.com/nodejs/node/commit/6db84d3e50)] - **src**: use BaseObjectPtr for keeping channel alive in dns bindings (Anna Henningsen) [#30374](https://github.com/nodejs/node/pull/30374) +* [[`c60780ff52`](https://github.com/nodejs/node/commit/c60780ff52)] - **src**: introduce custom smart pointers for `BaseObject`s (Anna Henningsen) [#30374](https://github.com/nodejs/node/pull/30374) +* [[`17e10dd3cb`](https://github.com/nodejs/node/commit/17e10dd3cb)] - **src**: use C++ style for struct with initializers (Sam Roberts) [#32134](https://github.com/nodejs/node/pull/32134) +* [[`b5c6230258`](https://github.com/nodejs/node/commit/b5c6230258)] - **src**: implement per-process native Debug() printer (Joyee Cheung) [#31884](https://github.com/nodejs/node/pull/31884) +* [[`b95e8eafa5`](https://github.com/nodejs/node/commit/b95e8eafa5)] - **src**: refactor debug category parsing (Joyee Cheung) [#31884](https://github.com/nodejs/node/pull/31884) +* [[`19f3c0adc2`](https://github.com/nodejs/node/commit/19f3c0adc2)] - **src**: make aliased\_buffer.h self-contained (Joyee Cheung) [#31884](https://github.com/nodejs/node/pull/31884) +* [[`908f634110`](https://github.com/nodejs/node/commit/908f634110)] - **src**: discard tasks posted to platform TaskRunner during shutdown (Anna Henningsen) [#31853](https://github.com/nodejs/node/pull/31853) +* [[`808379c379`](https://github.com/nodejs/node/commit/808379c379)] - **src**: Handle bad callback in asyc\_wrap (Harshitha KP) [#31946](https://github.com/nodejs/node/pull/31946) +* [[`a6a41f4c77`](https://github.com/nodejs/node/commit/a6a41f4c77)] - **src**: add node\_crypto\_common and refactor (James M Snell) [#32016](https://github.com/nodejs/node/pull/32016) +* [[`0b327bd81d`](https://github.com/nodejs/node/commit/0b327bd81d)] - **src**: enable `StreamPipe` for generic `StreamBase`s (Anna Henningsen) [#31869](https://github.com/nodejs/node/pull/31869) +* [[`bd92243ddf`](https://github.com/nodejs/node/commit/bd92243ddf)] - **src**: elevate v8 namespaces (Harshitha KP) [#31901](https://github.com/nodejs/node/pull/31901) +* [[`3b2bbbdeca`](https://github.com/nodejs/node/commit/3b2bbbdeca)] - **src**: allow unique\_ptrs with custom deleter in memory tracker (Anna Henningsen) [#31870](https://github.com/nodejs/node/pull/31870) +* [[`9ab4a7e5ce`](https://github.com/nodejs/node/commit/9ab4a7e5ce)] - **src**: move BaseObject subclass dtors/ctors out of node\_crypto.h (Anna Henningsen) [#31872](https://github.com/nodejs/node/pull/31872) +* [[`041408d513`](https://github.com/nodejs/node/commit/041408d513)] - **src**: don't run bootstrapper in CreateEnvironment (Shelley Vohr) [#31910](https://github.com/nodejs/node/pull/31910) +* [[`e6debf5c25`](https://github.com/nodejs/node/commit/e6debf5c25)] - **src**: prefer 3-argument Array::New() (Anna Henningsen) [#31775](https://github.com/nodejs/node/pull/31775) +* [[`98640f7a6d`](https://github.com/nodejs/node/commit/98640f7a6d)] - **src**: use hex not decimal in IsArrayIndex (Shelley Vohr) [#31758](https://github.com/nodejs/node/pull/31758) +* [[`75971009d0`](https://github.com/nodejs/node/commit/75971009d0)] - **src**: wrap HostPort in ExclusiveAccess (Ben Noordhuis) [#31717](https://github.com/nodejs/node/pull/31717) +* [[`01da65644e`](https://github.com/nodejs/node/commit/01da65644e)] - **src**: add ExclusiveAccess class (Ben Noordhuis) [#31717](https://github.com/nodejs/node/pull/31717) +* [[`28289eaeb8`](https://github.com/nodejs/node/commit/28289eaeb8)] - **src**: allow to reuse env options handling (Denys Otrishko) [#31711](https://github.com/nodejs/node/pull/31711) +* [[`249a0fe61d`](https://github.com/nodejs/node/commit/249a0fe61d)] - **src**: fix compile warnings in node\_url.cc (Anna Henningsen) [#31689](https://github.com/nodejs/node/pull/31689) +* [[`bf729d02b7`](https://github.com/nodejs/node/commit/bf729d02b7)] - **src**: modernized unique\_ptr construction (Yuhanun Citgez) [#31654](https://github.com/nodejs/node/pull/31654) +* [[`6e3e158f51`](https://github.com/nodejs/node/commit/6e3e158f51)] - **src**: remove dead code in InternalMakeCallback (Gerhard Stoebich) [#31622](https://github.com/nodejs/node/pull/31622) +* [[`c34672a3b0`](https://github.com/nodejs/node/commit/c34672a3b0)] - **src**: remove fixed-size GetHumanReadableProcessName (Ben Noordhuis) [#31633](https://github.com/nodejs/node/pull/31633) +* [[`57d1d73b47`](https://github.com/nodejs/node/commit/57d1d73b47)] - **src**: fix OOB reads in process.title getter (Ben Noordhuis) [#31633](https://github.com/nodejs/node/pull/31633) +* [[`5e68a13d53`](https://github.com/nodejs/node/commit/5e68a13d53)] - **src**: various minor improvements to node\_url (James M Snell) [#31651](https://github.com/nodejs/node/pull/31651) +* [[`2cdd57ab67`](https://github.com/nodejs/node/commit/2cdd57ab67)] - **src**: fix inspecting `MessagePort` from `init` async hook (Anna Henningsen) [#31600](https://github.com/nodejs/node/pull/31600) +* [[`753db6aee2`](https://github.com/nodejs/node/commit/753db6aee2)] - **src**: remove unused `Worker::child\_port\_` member (Anna Henningsen) [#31599](https://github.com/nodejs/node/pull/31599) +* [[`7e52e39385`](https://github.com/nodejs/node/commit/7e52e39385)] - **src**: change Fill() to use ParseArrayIndex() (ConorDavenport) [#31591](https://github.com/nodejs/node/pull/31591) +* [[`79a6872809`](https://github.com/nodejs/node/commit/79a6872809)] - **src**: remove duplicate field env in CryptoJob class (ConorDavenport) [#31554](https://github.com/nodejs/node/pull/31554) +* [[`5e19c4a9d4`](https://github.com/nodejs/node/commit/5e19c4a9d4)] - **src**: fix console debug output on Windows (Denys Otrishko) [#31580](https://github.com/nodejs/node/pull/31580) +* [[`9c9dc4b184`](https://github.com/nodejs/node/commit/9c9dc4b184)] - **src**: remove preview for heap dump utilities (Anna Henningsen) [#31570](https://github.com/nodejs/node/pull/31570) +* [[`91dd1018ac`](https://github.com/nodejs/node/commit/91dd1018ac)] - **src**: fix debug crash handling null strings (Rusty Conover) [#31523](https://github.com/nodejs/node/pull/31523) +* [[`fb32043e6a`](https://github.com/nodejs/node/commit/fb32043e6a)] - **src**: define noreturn attribute for windows (Alexander Smarus) [#31467](https://github.com/nodejs/node/pull/31467) +* [[`ce6b9d15d2`](https://github.com/nodejs/node/commit/ce6b9d15d2)] - **src**: reduce code duplication in BootstrapNode (Denys Otrishko) [#31465](https://github.com/nodejs/node/pull/31465) +* [[`a309af0f52`](https://github.com/nodejs/node/commit/a309af0f52)] - **src**: use custom fprintf alike to write errors to stderr (Anna Henningsen) [#31446](https://github.com/nodejs/node/pull/31446) +* [[`7bdd29fa21`](https://github.com/nodejs/node/commit/7bdd29fa21)] - **src**: add C++-style sprintf utility (Anna Henningsen) [#31446](https://github.com/nodejs/node/pull/31446) +* [[`8f88d62a31`](https://github.com/nodejs/node/commit/8f88d62a31)] - **src**: reduce large pages code duplication (Gabriel Schulhof) [#31385](https://github.com/nodejs/node/pull/31385) +* [[`de6d5523a1`](https://github.com/nodejs/node/commit/de6d5523a1)] - **src**: fix ignore GCC -Wcast-function-type for older compilers (Denys Otrishko) [#31524](https://github.com/nodejs/node/pull/31524) +* [[`a8d9c0f8b6`](https://github.com/nodejs/node/commit/a8d9c0f8b6)] - **src**: ignore GCC -Wcast-function-type for v8.h (Daniel Bevenius) [#31475](https://github.com/nodejs/node/pull/31475) +* [[`a2f1825cb5`](https://github.com/nodejs/node/commit/a2f1825cb5)] - **src**: fix performance regression in node\_file.cc (Ben Noordhuis) [#31343](https://github.com/nodejs/node/pull/31343) +* [[`1d075cfd7f`](https://github.com/nodejs/node/commit/1d075cfd7f)] - **src**: use uv\_guess\_handle() to detect TTYs (Colin Ihrig) [#31333](https://github.com/nodejs/node/pull/31333) +* [[`21bcc96f92`](https://github.com/nodejs/node/commit/21bcc96f92)] - **src**: include uv.h in node\_binding header (Shelley Vohr) [#31265](https://github.com/nodejs/node/pull/31265) +* [[`d77a1b088f`](https://github.com/nodejs/node/commit/d77a1b088f)] - **src**: remove node::InitializeV8Platform() (Ben Noordhuis) [#31245](https://github.com/nodejs/node/pull/31245) +* [[`fe1ac496f7`](https://github.com/nodejs/node/commit/fe1ac496f7)] - **src**: remove uses of node::InitializeV8Platform() (Ben Noordhuis) [#31245](https://github.com/nodejs/node/pull/31245) +* [[`8aa7bf2d23`](https://github.com/nodejs/node/commit/8aa7bf2d23)] - **src**: clean up large\_pages code (Denys Otrishko) [#31196](https://github.com/nodejs/node/pull/31196) +* [[`12253f8c74`](https://github.com/nodejs/node/commit/12253f8c74)] - **stream**: sync stream unpipe resume (Robert Nagy) [#31191](https://github.com/nodejs/node/pull/31191) +* [[`6e76752a7b`](https://github.com/nodejs/node/commit/6e76752a7b)] - **stream**: simplify push (Robert Nagy) [#31150](https://github.com/nodejs/node/pull/31150) +* [[`8973209ad0`](https://github.com/nodejs/node/commit/8973209ad0)] - **stream**: clean up definition using defineProperties (antsmartian) [#31236](https://github.com/nodejs/node/pull/31236) +* [[`a987972bde`](https://github.com/nodejs/node/commit/a987972bde)] - **stream**: replace Function.prototype with primordial (Sebastien Ahkrin) [#31204](https://github.com/nodejs/node/pull/31204) +* [[`e685f12ee6`](https://github.com/nodejs/node/commit/e685f12ee6)] - **test**: restore --jitless test on AIX (Richard Lau) [#32619](https://github.com/nodejs/node/pull/32619) +* [[`eee587b847`](https://github.com/nodejs/node/commit/eee587b847)] - **test**: fix test-http2-reset-flood flakiness (Anna Henningsen) [#32607](https://github.com/nodejs/node/pull/32607) +* [[`d568efcd22`](https://github.com/nodejs/node/commit/d568efcd22)] - **test**: refactor common.expectsError (Ruben Bridgewater) [#31092](https://github.com/nodejs/node/pull/31092) +* [[`e4f9360287`](https://github.com/nodejs/node/commit/e4f9360287)] - **test**: mark test-http2-reset-flood flaky on bsd (Myles Borins) [#32595](https://github.com/nodejs/node/pull/32595) +* [[`6f50b60018`](https://github.com/nodejs/node/commit/6f50b60018)] - **test**: add test-worker-prof to the SLOW list for debug (Myles Borins) [#32589](https://github.com/nodejs/node/pull/32589) +* [[`7123c0f042`](https://github.com/nodejs/node/commit/7123c0f042)] - **test**: always skip vm-timeout-escape-queuemicrotask (Denys Otrishko) [#31980](https://github.com/nodejs/node/pull/31980) +* [[`bb947ce3c2`](https://github.com/nodejs/node/commit/bb947ce3c2)] - **test**: improve test-debug-usage (Rich Trott) [#32141](https://github.com/nodejs/node/pull/32141) +* [[`7c8a7b4c7d`](https://github.com/nodejs/node/commit/7c8a7b4c7d)] - **test**: end tls connection with some data (Sam Roberts) [#32328](https://github.com/nodejs/node/pull/32328) +* [[`f4bd01c816`](https://github.com/nodejs/node/commit/f4bd01c816)] - **test**: discard data received by client (Hassaan Pasha) [#32328](https://github.com/nodejs/node/pull/32328) +* [[`7a14ddf104`](https://github.com/nodejs/node/commit/7a14ddf104)] - **test**: increase test timeout to prevent flakiness (Ruben Bridgewater) [#31716](https://github.com/nodejs/node/pull/31716) +* [[`147045716b`](https://github.com/nodejs/node/commit/147045716b)] - **test**: use index.js if package.json "main" is empty (Ben Noordhuis) [#32040](https://github.com/nodejs/node/pull/32040) +* [[`03aa2e1b7b`](https://github.com/nodejs/node/commit/03aa2e1b7b)] - **test**: changed function to arrow function (ProdipRoy89) [#32045](https://github.com/nodejs/node/pull/32045) +* [[`b4c407fecc`](https://github.com/nodejs/node/commit/b4c407fecc)] - **test**: allow EAI\_FAIL in test-net-dns-error.js (Vita Batrla) [#31780](https://github.com/nodejs/node/pull/31780) +* [[`2582083f63`](https://github.com/nodejs/node/commit/2582083f63)] - **test**: remove superfluous checks in test-net-reconnect-error (Rich Trott) [#32120](https://github.com/nodejs/node/pull/32120) +* [[`f365e5c262`](https://github.com/nodejs/node/commit/f365e5c262)] - **test**: apply camelCase in test-net-reconnect-error (Rich Trott) [#32120](https://github.com/nodejs/node/pull/32120) +* [[`256bc4412c`](https://github.com/nodejs/node/commit/256bc4412c)] - **test**: update tests for larger Buffers (Jakob Kummerow) [#32114](https://github.com/nodejs/node/pull/32114) +* [[`96c7226897`](https://github.com/nodejs/node/commit/96c7226897)] - **test**: remove common.port from test-tls-securepair-client (Rich Trott) [#32024](https://github.com/nodejs/node/pull/32024) +* [[`1318662ff7`](https://github.com/nodejs/node/commit/1318662ff7)] - **test**: add WASI test for path\_link() (Colin Ihrig) [#32132](https://github.com/nodejs/node/pull/32132) +* [[`55214628af`](https://github.com/nodejs/node/commit/55214628af)] - **test**: move test-inspector-module to parallel (Rich Trott) [#32025](https://github.com/nodejs/node/pull/32025) +* [[`3574116887`](https://github.com/nodejs/node/commit/3574116887)] - **test**: fix flaky test-dns-any.js (Rich Trott) [#32017](https://github.com/nodejs/node/pull/32017) +* [[`d62538404e`](https://github.com/nodejs/node/commit/d62538404e)] - **test**: fix flaky test-gc-net-timeout (Robert Nagy) [#31918](https://github.com/nodejs/node/pull/31918) +* [[`2bf9a2d84c`](https://github.com/nodejs/node/commit/2bf9a2d84c)] - **test**: change test to not be sensitive to buffer send size (Rusty Conover) [#31499](https://github.com/nodejs/node/pull/31499) +* [[`b1cf56f5db`](https://github.com/nodejs/node/commit/b1cf56f5db)] - **test**: remove sequential/test-https-keep-alive-large-write.js (Rusty Conover) [#31499](https://github.com/nodejs/node/pull/31499) +* [[`67c3a95f7d`](https://github.com/nodejs/node/commit/67c3a95f7d)] - **test**: validate common property usage (Denys Otrishko) [#31933](https://github.com/nodejs/node/pull/31933) +* [[`26d9f4c160`](https://github.com/nodejs/node/commit/26d9f4c160)] - **test**: fix usage of invalid common properties (Denys Otrishko) [#31933](https://github.com/nodejs/node/pull/31933) +* [[`086e14d251`](https://github.com/nodejs/node/commit/086e14d251)] - **test**: increase timeout in vm-timeout-escape-queuemicrotask (Denys Otrishko) [#31966](https://github.com/nodejs/node/pull/31966) +* [[`c2ffef8678`](https://github.com/nodejs/node/commit/c2ffef8678)] - **test**: add documentation for common.enoughTestCpu (Rich Trott) [#31931](https://github.com/nodejs/node/pull/31931) +* [[`0c6fdfc4ac`](https://github.com/nodejs/node/commit/0c6fdfc4ac)] - **test**: fix typo in common/index.js (Rich Trott) [#31931](https://github.com/nodejs/node/pull/31931) +* [[`3deee057b3`](https://github.com/nodejs/node/commit/3deee057b3)] - **test**: remove common.PORT from assorted pummel tests (Rich Trott) [#31897](https://github.com/nodejs/node/pull/31897) +* [[`bde5a9bda8`](https://github.com/nodejs/node/commit/bde5a9bda8)] - **test**: remove flaky designation for test-net-connect-options-port (Rich Trott) [#31841](https://github.com/nodejs/node/pull/31841) +* [[`c386f7568c`](https://github.com/nodejs/node/commit/c386f7568c)] - **test**: remove common.PORT from test-net-write-callbacks.js (Rich Trott) [#31839](https://github.com/nodejs/node/pull/31839) +* [[`709256346c`](https://github.com/nodejs/node/commit/709256346c)] - **test**: remove common.PORT from test-net-pause (Rich Trott) [#31749](https://github.com/nodejs/node/pull/31749) +* [[`61de609ac8`](https://github.com/nodejs/node/commit/61de609ac8)] - **test**: remove common.PORT from test-tls-server-large-request (Rich Trott) [#31749](https://github.com/nodejs/node/pull/31749) +* [[`33d3cccb98`](https://github.com/nodejs/node/commit/33d3cccb98)] - **test**: remove common.PORT from test-net-throttle (Rich Trott) [#31749](https://github.com/nodejs/node/pull/31749) +* [[`d172cc1474`](https://github.com/nodejs/node/commit/d172cc1474)] - **test**: remove common.PORT from test-net-timeout (Rich Trott) [#31749](https://github.com/nodejs/node/pull/31749) +* [[`1109124313`](https://github.com/nodejs/node/commit/1109124313)] - **test**: add known issue test for sync writable callback (James M Snell) [#31756](https://github.com/nodejs/node/pull/31756) +* [[`aa5afd013b`](https://github.com/nodejs/node/commit/aa5afd013b)] - **test**: mark test-fs-stat-bigint flaky on FreeBSD (Rich Trott) [#31728](https://github.com/nodejs/node/pull/31728) +* [[`3f43c5f508`](https://github.com/nodejs/node/commit/3f43c5f508)] - **test**: improve test-fs-stat-bigint (Rich Trott) [#31726](https://github.com/nodejs/node/pull/31726) +* [[`3f6805f0e7`](https://github.com/nodejs/node/commit/3f6805f0e7)] - **test**: remove flaky designation for test-fs-stat-bigint (Rich Trott) [#30437](https://github.com/nodejs/node/pull/30437) +* [[`7d71465194`](https://github.com/nodejs/node/commit/7d71465194)] - **test**: fix flaky test-fs-stat-bigint (Duncan Healy) [#30437](https://github.com/nodejs/node/pull/30437) +* [[`ca6fce0cbb`](https://github.com/nodejs/node/commit/ca6fce0cbb)] - **test**: add debugging output to test-net-listen-after-destroy-stdin (Rich Trott) [#31698](https://github.com/nodejs/node/pull/31698) +* [[`59eba1177b`](https://github.com/nodejs/node/commit/59eba1177b)] - **test**: improve assertion message in test-dns-any (Rich Trott) [#31697](https://github.com/nodejs/node/pull/31697) +* [[`61e534baa0`](https://github.com/nodejs/node/commit/61e534baa0)] - **test**: stricter assert color test (Ruben Bridgewater) [#31429](https://github.com/nodejs/node/pull/31429) +* [[`bdd1133451`](https://github.com/nodejs/node/commit/bdd1133451)] - **test**: fix test-benchmark-http (Rich Trott) [#31686](https://github.com/nodejs/node/pull/31686) +* [[`795a21d53a`](https://github.com/nodejs/node/commit/795a21d53a)] - **test**: fix flaky test-inspector-connect-main-thread (Anna Henningsen) [#31637](https://github.com/nodejs/node/pull/31637) +* [[`297fb67304`](https://github.com/nodejs/node/commit/297fb67304)] - **test**: add test-dns-promises-lookupService (Rich Trott) [#31640](https://github.com/nodejs/node/pull/31640) +* [[`02c2396976`](https://github.com/nodejs/node/commit/02c2396976)] - **test**: fix flaky test-http2-stream-destroy-event-order (Anna Henningsen) [#31610](https://github.com/nodejs/node/pull/31610) +* [[`d2fbe80a4a`](https://github.com/nodejs/node/commit/d2fbe80a4a)] - **test**: unset NODE\_OPTIONS for cctest (Anna Henningsen) [#31594](https://github.com/nodejs/node/pull/31594) +* [[`944f1a345a`](https://github.com/nodejs/node/commit/944f1a345a)] - **test**: simplify test-https-simple.js (Sam Roberts) [#31584](https://github.com/nodejs/node/pull/31584) +* [[`0eb2dbb24e`](https://github.com/nodejs/node/commit/0eb2dbb24e)] - **test**: mark additional tests as flaky on Windows (Anna Henningsen) [#31606](https://github.com/nodejs/node/pull/31606) +* [[`0bc3bd7c11`](https://github.com/nodejs/node/commit/0bc3bd7c11)] - **test**: remove --experimental-worker flag comment (Harshitha KP) [#31563](https://github.com/nodejs/node/pull/31563) +* [[`baa14c9e39`](https://github.com/nodejs/node/commit/baa14c9e39)] - **test**: make test-http2-buffersize more correct (Anna Henningsen) [#31502](https://github.com/nodejs/node/pull/31502) +* [[`e3e056d5cd`](https://github.com/nodejs/node/commit/e3e056d5cd)] - **test**: fix test-heapdump-worker (Anna Henningsen) [#31494](https://github.com/nodejs/node/pull/31494) +* [[`48f4212286`](https://github.com/nodejs/node/commit/48f4212286)] - **test**: add tests for main() argument handling (Colin Ihrig) [#31426](https://github.com/nodejs/node/pull/31426) +* [[`dbe2d85f66`](https://github.com/nodejs/node/commit/dbe2d85f66)] - **test**: add wasi test for freopen() (Colin Ihrig) [#31432](https://github.com/nodejs/node/pull/31432) +* [[`a8e2f405f2`](https://github.com/nodejs/node/commit/a8e2f405f2)] - **test**: remove bluebird remnants from test fixture (Rich Trott) [#31435](https://github.com/nodejs/node/pull/31435) +* [[`8438d1498d`](https://github.com/nodejs/node/commit/8438d1498d)] - **test**: improve wasi stat test (Colin Ihrig) [#31413](https://github.com/nodejs/node/pull/31413) +* [[`596920dbf4`](https://github.com/nodejs/node/commit/596920dbf4)] - **test**: add wasi test for symlink() and readlink() (Colin Ihrig) [#31403](https://github.com/nodejs/node/pull/31403) +* [[`2750e65f5c`](https://github.com/nodejs/node/commit/2750e65f5c)] - **test**: update postmortem test with v12 constants (Matheus Marchini) [#31391](https://github.com/nodejs/node/pull/31391) +* [[`642f8c0eb9`](https://github.com/nodejs/node/commit/642f8c0eb9)] - **test**: export public symbols in addons tests (Ben Noordhuis) [#28717](https://github.com/nodejs/node/pull/28717) +* [[`20167fec5f`](https://github.com/nodejs/node/commit/20167fec5f)] - **test**: stricten readline keypress failure test condition (Ruben Bridgewater) [#31300](https://github.com/nodejs/node/pull/31300) +* [[`c719f7ab36`](https://github.com/nodejs/node/commit/c719f7ab36)] - **test**: allow disabling crypto tests (Shelley Vohr) [#31268](https://github.com/nodejs/node/pull/31268) +* [[`31a13dc3a4`](https://github.com/nodejs/node/commit/31a13dc3a4)] - **test**: fix recursive rm test to actually use tmpdir (Denys Otrishko) [#31250](https://github.com/nodejs/node/pull/31250) +* [[`320ac13452`](https://github.com/nodejs/node/commit/320ac13452)] - **test**: remove unused symlink loop (Colin Ihrig) [#31267](https://github.com/nodejs/node/pull/31267) +* [[`f3af68ea80`](https://github.com/nodejs/node/commit/f3af68ea80)] - **test**: prefer server over srv (Andrew Hughes) [#31224](https://github.com/nodejs/node/pull/31224) +* [[`04e2f41783`](https://github.com/nodejs/node/commit/04e2f41783)] - **test**: fix unit test logging with python3 (Adam Majer) [#31156](https://github.com/nodejs/node/pull/31156) +* [[`5a537babe1`](https://github.com/nodejs/node/commit/5a537babe1)] - **test**: mark empty udp tests flaky on OS X (Sam Roberts) [#32146](https://github.com/nodejs/node/pull/32146) +* [[`99cfab2594`](https://github.com/nodejs/node/commit/99cfab2594)] - **test,dns**: add coverage for dns exception (Rich Trott) [#31678](https://github.com/nodejs/node/pull/31678) +* [[`54395c60eb`](https://github.com/nodejs/node/commit/54395c60eb)] - **tls**: reduce memory copying and number of BIO buffer allocations (Rusty Conover) [#31499](https://github.com/nodejs/node/pull/31499) +* [[`4f177c4f63`](https://github.com/nodejs/node/commit/4f177c4f63)] - **tls**: simplify errors using ThrowCryptoError (Tobias Nießen) [#31436](https://github.com/nodejs/node/pull/31436) +* [[`c0e6e60cb1`](https://github.com/nodejs/node/commit/c0e6e60cb1)] - **tools**: update minimist@1.2.5 (Rich Trott) [#32274](https://github.com/nodejs/node/pull/32274) +* [[`dca3d298dd`](https://github.com/nodejs/node/commit/dca3d298dd)] - **tools**: update icu to 65.1 (Albert Wang) [#30232](https://github.com/nodejs/node/pull/30232) +* [[`d57719098c`](https://github.com/nodejs/node/commit/d57719098c)] - **tools**: only fetch previous versions when necessary (Richard Lau) [#32518](https://github.com/nodejs/node/pull/32518) +* [[`61d54e7716`](https://github.com/nodejs/node/commit/61d54e7716)] - **tools**: use per-process native Debug() printer in mkcodecache (Joyee Cheung) [#31884](https://github.com/nodejs/node/pull/31884) +* [[`1060a2bba9`](https://github.com/nodejs/node/commit/1060a2bba9)] - **tools**: add NODE\_TEST\_NO\_INTERNET to the doc builder (Joyee Cheung) [#31849](https://github.com/nodejs/node/pull/31849) +* [[`aa8a435e17`](https://github.com/nodejs/node/commit/aa8a435e17)] - **tools**: sync gyp code base with node-gyp repo (Michaël Zasso) [#30563](https://github.com/nodejs/node/pull/30563) +* [[`6b1a5518e0`](https://github.com/nodejs/node/commit/6b1a5518e0)] - **tools**: update lint-md task to lint for possessives of Node.js (Rich Trott) [#31862](https://github.com/nodejs/node/pull/31862) +* [[`b657df4759`](https://github.com/nodejs/node/commit/b657df4759)] - **tools**: update Markdown linter to be cross-platform (Derek Lewis) [#31239](https://github.com/nodejs/node/pull/31239) +* [[`289f3dc538`](https://github.com/nodejs/node/commit/289f3dc538)] - **tools**: replace deprecated iteritems() for items() (Giovanny Andres Gongora Granada (Gioyik)) [#31528](https://github.com/nodejs/node/pull/31528) +* [[`77e6700b03`](https://github.com/nodejs/node/commit/77e6700b03)] - **tools**: remove obsolete dependencies (Rich Trott) [#31359](https://github.com/nodejs/node/pull/31359) +* [[`c7b1f1df3b`](https://github.com/nodejs/node/commit/c7b1f1df3b)] - **tools**: update remark-preset-lint-node to 1.12.0 (Rich Trott) [#31359](https://github.com/nodejs/node/pull/31359) +* [[`20f857fa01`](https://github.com/nodejs/node/commit/20f857fa01)] - **tools**: update JSON header parsing for backticks (Rich Trott) [#31294](https://github.com/nodejs/node/pull/31294) +* [[`0f4a9e26ef`](https://github.com/nodejs/node/commit/0f4a9e26ef)] - **tools**: ensure consistent perms of signed release files (Rod Vagg) [#29350](https://github.com/nodejs/node/pull/29350) +* [[`6f71efa0ed`](https://github.com/nodejs/node/commit/6f71efa0ed)] - **tools**: add clang-tidy rule in src (gengjiawen) [#26840](https://github.com/nodejs/node/pull/26840) +* [[`3a1566a267`](https://github.com/nodejs/node/commit/3a1566a267)] - **tools**: unify make-v8.sh for ppc64le and s390x (Richard Lau) [#31628](https://github.com/nodejs/node/pull/31628) +* [[`fbc0bd95ec`](https://github.com/nodejs/node/commit/fbc0bd95ec)] - **tty**: do not end in an infinite warning recursion (Ruben Bridgewater) [#31429](https://github.com/nodejs/node/pull/31429) +* [[`32c0449141`](https://github.com/nodejs/node/commit/32c0449141)] - **(SEMVER-MINOR)** **util**: use a global symbol for `util.promisify.custom` (ExE Boss) [#31672](https://github.com/nodejs/node/pull/31672) +* [[`f4e5404b5d`](https://github.com/nodejs/node/commit/f4e5404b5d)] - **util**: throw if unreachable TypedArray checking code is reached (Rich Trott) [#31737](https://github.com/nodejs/node/pull/31737) +* [[`785417aeda`](https://github.com/nodejs/node/commit/785417aeda)] - **util**: add coverage for util.inspect.colors alias setter (Rich Trott) [#31743](https://github.com/nodejs/node/pull/31743) +* [[`c9fa2d1fbf`](https://github.com/nodejs/node/commit/c9fa2d1fbf)] - **util**: throw if unreachable code is reached (Rich Trott) [#31712](https://github.com/nodejs/node/pull/31712) +* [[`51d8fbf31f`](https://github.com/nodejs/node/commit/51d8fbf31f)] - **util**: fix inspection of typed arrays with unusual length (Ruben Bridgewater) [#31458](https://github.com/nodejs/node/pull/31458) +* [[`f068788f59`](https://github.com/nodejs/node/commit/f068788f59)] - **util**: add colors to debuglog() (Ruben Bridgewater) [#30930](https://github.com/nodejs/node/pull/30930) +* [[`a91a824108`](https://github.com/nodejs/node/commit/a91a824108)] - **wasi**: improve use of primordials (Colin Ihrig) [#31212](https://github.com/nodejs/node/pull/31212) +* [[`2029c10196`](https://github.com/nodejs/node/commit/2029c10196)] - **win**: change to use Python in install tool (gengjiawen) [#31221](https://github.com/nodejs/node/pull/31221) +* [[`c5de212039`](https://github.com/nodejs/node/commit/c5de212039)] - **worker**: move JoinThread() back into exit callback (Anna Henningsen) [#31468](https://github.com/nodejs/node/pull/31468) +* [[`65729f966e`](https://github.com/nodejs/node/commit/65729f966e)] - **worker**: emit runtime error on loop creation failure (Harshitha KP) [#31621](https://github.com/nodejs/node/pull/31621) +* [[`ea989e160e`](https://github.com/nodejs/node/commit/ea989e160e)] - **worker**: unroll file extension regexp (Anna Henningsen) [#31779](https://github.com/nodejs/node/pull/31779) +* [[`9f8d315a09`](https://github.com/nodejs/node/commit/9f8d315a09)] - **worker**: add support for .cjs extension (Antoine du HAMEL) [#31662](https://github.com/nodejs/node/pull/31662) +* [[`30dbc84642`](https://github.com/nodejs/node/commit/30dbc84642)] - **worker**: properly handle env and NODE\_OPTIONS in workers (Denys Otrishko) [#31711](https://github.com/nodejs/node/pull/31711) +* [[`0697f65f70`](https://github.com/nodejs/node/commit/0697f65f70)] - **worker**: reset `Isolate` stack limit after entering `Locker` (Anna Henningsen) [#31593](https://github.com/nodejs/node/pull/31593) +* [[`5500521804`](https://github.com/nodejs/node/commit/5500521804)] - **worker**: remove redundant closing of child port (aaccttrr) [#31555](https://github.com/nodejs/node/pull/31555) + ## 2020-02-18, Version 12.16.1 'Erbium' (LTS), @MylesBorins @@ -85,7 +489,7 @@ Semver-Minor release. Changes in async hooks internals introduced a case where an internal api call could be called with undefined causing a process to crash. The change to async hooks was reverted. A regression test and fix has been proposed -and the change could re land in a future Semver-Patch release if the regression is reliably fixed. +and the change could re-land in a future Semver-Patch release if the regression is reliably fixed. **New Enumerable Read-Only Property on EventEmitter breaks @types/extend** @@ -94,14 +498,14 @@ broke existing code that was using the `@types/extend` module for extending clas as `@types/extend` was attemping to write over the existing field which the new change made read-only. As this is the first property on EventEmitter that is read-only this feature could be considered Semver-Major. The new feature has been -reverted but could re land in a future Semver-Minor release if a non breaking way +reverted but could re-land in a future Semver-Minor release if a non breaking way of applying it is found. **Exceptions in the HTTP parser were not emitting an uncaughtException** A refactoring to Node.js interanls resulted in a bug where errors in the HTTP -parser were not being emitted by `process.on('uncaughtException')`. The fix -to this bug has been included in this release. +parser were not being emitted by `process.on('uncaughtException')` when the `async_hooks` `after` +hook exists. The fix to this bug has been included in this release. ### Commits diff --git a/doc/guides/adding-new-napi-api.md b/doc/guides/adding-new-napi-api.md index dc8d9dda233f31..825b4877783f9b 100644 --- a/doc/guides/adding-new-napi-api.md +++ b/doc/guides/adding-new-napi-api.md @@ -1,6 +1,6 @@ # Contributing a new API to N-API -N-API is Node.js's next generation ABI-stable API for native modules. +N-API is the next-generation ABI-stable API for native modules. While improving the API surface is encouraged and welcomed, the following are a set of principles and guidelines to keep in mind while adding a new N-API API. diff --git a/doc/guides/backporting-to-release-lines.md b/doc/guides/backporting-to-release-lines.md index 4a4657d0815a21..55fbcb7e5bc344 100644 --- a/doc/guides/backporting-to-release-lines.md +++ b/doc/guides/backporting-to-release-lines.md @@ -75,7 +75,7 @@ replace that with the staging branch for the targeted release line. 9. Open a pull request: 1. Be sure to target the `v10.x-staging` branch in the pull request. 1. Include the backport target in the pull request title in the following - format — `[v10.x backport] `. + format: `[v10.x backport] `. Example: `[v10.x backport] process: improve performance of nextTick` 1. Check the checkbox labeled "Allow edits from maintainers". 1. In the description add a reference to the original PR. diff --git a/COLLABORATOR_GUIDE.md b/doc/guides/collaborator-guide.md similarity index 96% rename from COLLABORATOR_GUIDE.md rename to doc/guides/collaborator-guide.md index a42c4c8b35f4fa..956eae7fb23726 100644 --- a/COLLABORATOR_GUIDE.md +++ b/doc/guides/collaborator-guide.md @@ -13,6 +13,7 @@ * [Waiting for Approvals](#waiting-for-approvals) * [Testing and CI](#testing-and-ci) * [Useful CI Jobs](#useful-ci-jobs) + * [Starting a CI Job](#starting-a-ci-job) * [Internal vs. Public API](#internal-vs-public-api) * [Breaking Changes](#breaking-changes) * [Breaking Changes and Deprecations](#breaking-changes-and-deprecations) @@ -174,14 +175,7 @@ fail before the change, and pass after the change. All pull requests must pass continuous integration tests. Code changes must pass on [project CI server](https://ci.nodejs.org/). Pull requests that only change -documentation and comments can use Travis CI results. - -Travis CI jobs have a fixed running time limit that building Node.js sometimes -exceeds. If the `Compile Node.js` Travis CI job has timed out it will fail after -around 45 minutes. The exit code will be 143, indicating that a `SIGTERM` signal -terminated the `make` command. When this happens, restart the timed out job. It -will reuse built artifacts from the previous timed-out run, and thus take less -time to complete. +documentation and comments can use GitHub Actions results. Do not land any pull requests without passing (green or yellow) CI runs. If there are CI failures unrelated to the change in the pull request, try "Resume @@ -191,12 +185,6 @@ everything else. Start a fresh CI if more than seven days have elapsed since the original failing CI as the compiled binaries for the Windows and ARM platforms are only kept for seven days. -Some of the CI Jobs may require `GIT_REMOTE_REF` which is the remote portion -of Git refspec. To specify the branch this way `refs/heads/BRANCH` is used -(i.e for `master` -> `refs/heads/master`). -For pull requests it will look like `refs/pull/PR_NUMBER/head` -(i.e. for PR#42 -> `refs/pull/42/head`). - #### Useful CI Jobs * [`node-test-pull-request`](https://ci.nodejs.org/job/node-test-pull-request/) @@ -216,12 +204,37 @@ that the tests are reliable. runs the standard V8 tests. Run it when updating V8 in Node.js or floating new patches on V8. -* [`node-test-commit-custom-suites`](https://ci.nodejs.org/job/node-test-commit-custom-suites/) +* [`node-test-commit-custom-suites-freestyle`](https://ci.nodejs.org/job/node-test-commit-custom-suites-freestyle/) enables customization of test suites and parameters. It can execute test suites not used in other CI test runs (such as tests in the `internet` or `pummel` directories). It can also make sure tests pass when provided with a flag not used in other CI test runs (such as `--worker`). +#### Starting a CI Job + +From the CI Job page, click "Build with Parameters" on the left side. + +You generally need to enter only one or both of the following options +in the form: + +* `GIT_REMOTE_REF`: Change to the remote portion of git refspec. +To specify the branch this way, `refs/heads/BRANCH` is used +(e.g. for `master` -> `refs/heads/master`). +For pull requests, it will look like `refs/pull/PR_NUMBER/head` +(e.g. for PR#42 -> `refs/pull/42/head`). +* `REBASE_ONTO`: Change that to `origin/master` so the pull request gets rebased +onto master. This can especially be important for pull requests that have been +open a while. + +Look at the list of jobs on the left hand side under "Build History" and copy +the link to the one you started (which will be the one on top, but click +through to make sure it says something like "Started 5 seconds ago" +(top right) and "Started by user ...". + +Copy/paste the URL for the job into a comment in the pull request. +[`node-test-pull-request`](https://ci.nodejs.org/job/node-test-pull-request/) +is an exception where the GitHub bot will automatically post for you. + ### Internal vs. Public API All functionality in the official Node.js documentation is part of the public diff --git a/doc/guides/contributing/coc.md b/doc/guides/contributing/code-of-conduct.md similarity index 100% rename from doc/guides/contributing/coc.md rename to doc/guides/contributing/code-of-conduct.md diff --git a/doc/guides/contributing/issues.md b/doc/guides/contributing/issues.md index 054bbd7b2775f9..31a47c1cd33c16 100644 --- a/doc/guides/contributing/issues.md +++ b/doc/guides/contributing/issues.md @@ -89,8 +89,8 @@ around it. Some contributors may have differing opinions about the issue, including whether the behavior being seen is a bug or a feature. This discussion is part of the process and should be kept focused, helpful, and professional. -Short, clipped responses—that provide neither additional context nor supporting -detail—are not helpful or professional. To many, such responses are simply +Short, clipped responses that provide neither additional context nor supporting +detail are not helpful or professional. To many, such responses are simply annoying and unfriendly. Contributors are encouraged to help one another make forward progress as much diff --git a/doc/guides/contributing/pull-requests.md b/doc/guides/contributing/pull-requests.md index 7f4ab4e83e049b..39b84bc34f17d5 100644 --- a/doc/guides/contributing/pull-requests.md +++ b/doc/guides/contributing/pull-requests.md @@ -115,13 +115,13 @@ If you are modifying code, please be sure to run `make lint` from time to time to ensure that the changes follow the Node.js code style guide. Any documentation you write (including code comments and API documentation) -should follow the [Style Guide](../../STYLE_GUIDE.md). Code samples included -in the API docs will also be checked when running `make lint` (or +should follow the [Style Guide](../doc-style-guide.md). Code samples +included in the API docs will also be checked when running `make lint` (or `vcbuild.bat lint` on Windows). If you are adding to or deprecating an API, use `REPLACEME` for the version number in the documentation YAML. For contributing C++ code, you may want to look at the -[C++ Style Guide](../../../CPP_STYLE_GUIDE.md), as well as the +[C++ Style Guide](../../cpp-style-guide.md), as well as the [README of `src/`](../../../src/README.md) for an overview over Node.js C++ internals. diff --git a/CPP_STYLE_GUIDE.md b/doc/guides/cpp-style-guide.md similarity index 100% rename from CPP_STYLE_GUIDE.md rename to doc/guides/cpp-style-guide.md diff --git a/doc/STYLE_GUIDE.md b/doc/guides/doc-style-guide.md similarity index 89% rename from doc/STYLE_GUIDE.md rename to doc/guides/doc-style-guide.md index f0221991b79be2..7ee2cac4ec366f 100644 --- a/doc/STYLE_GUIDE.md +++ b/doc/guides/doc-style-guide.md @@ -25,12 +25,10 @@ * Outside of the wrapping element if the wrapping element contains only a fragment of a clause. * Documents must start with a level-one heading. -* Prefer affixing links to inlining links — prefer `[a link][]` to - `[a link](http://example.com)`. +* Prefer affixing links (`[a link][]`) to inlining links + (`[a link](http://example.com)`). * When documenting APIs, update the YAML comment associated with the API as appropriate. This is especially true when introducing or deprecating an API. -* Use [Em dashes][] ("—" or `Option+Shift+"-"` on macOS) surrounded by spaces, - as per [The New York Times Manual of Style and Usage][]. * For code blocks: * Use language aware fences. ("```js") * Code need not be complete. Treat code blocks as an illustration or aid to @@ -67,9 +65,7 @@ See also API documentation structure overview in [doctools README][]. -[Em dashes]: https://en.wikipedia.org/wiki/Dash#Em_dash [Javascript type]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#Data_structures_and_types [serial commas]: https://en.wikipedia.org/wiki/Serial_comma -[The New York Times Manual of Style and Usage]: https://en.wikipedia.org/wiki/The_New_York_Times_Manual_of_Style_and_Usage [plugin]: https://editorconfig.org/#download [doctools README]: ../tools/doc/README.md diff --git a/doc/guides/internal/readme.md b/doc/guides/internal-api.md similarity index 100% rename from doc/guides/internal/readme.md rename to doc/guides/internal-api.md diff --git a/doc/guides/investigating_native_memory_leak.md b/doc/guides/investigating_native_memory_leak.md new file mode 100644 index 00000000000000..366cc2917f6a4c --- /dev/null +++ b/doc/guides/investigating_native_memory_leak.md @@ -0,0 +1,447 @@ +# Investigating Memory Leaks with valgrind + +A Node.js process may run out of memory due to excessive consumption of +native memory. Native Memory is memory which is not managed by the +V8 Garbage collector and is allocated either by the Node.js runtime, its +dependencies or native [addons](https://nodejs.org/docs/latest/api/n-api.html). + +This guide provides information on how to use valgrind to investigate these +issues on Linux platforms. + +## valgrind + +[Valgrind](https://valgrind.org/docs/manual/quick-start.html) is a +tool available on Linux distributions which can be used to investigate +memory usage including identifying memory leaks (memory which is +allocated and not freed) and other memory related problems +like double freeing memory. + +To use valgrind: + +* Be patient, running under valgrind slows execution significantly + due to the checks being performed. +* Reduce your test case to the smallest reproduce. Due to the slowdown it is + important to run the minimum test case in order to be able to do it in + a reasonable time. + +## Installation + +It is an optional package in most cases and must be installed explicitly. +For example on Debian/Ubuntu: + +```console +apt-get install valgrind +``` + +## Invocation +The simplest invocation of valgrind is: + +```console +valgrind node test.js +``` + +with the output being: + +```console +user1@minikube1:~/valgrind/node-addon-examples/1_hello_world/napi$ valgrind node test.js +==28993== Memcheck, a memory error detector +==28993== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==28993== Using valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==28993== Command: node test.js +==28993== +==28993== Use of uninitialised value of size 8 +==28993== at 0x12F2279: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==28993== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==28993== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==28993== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==28993== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==28993== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==28993== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==28993== by 0x12F3E9C: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==28993== by 0x12F3C77: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==28993== by 0xC7C9CF: v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==28993== by 0xC7CE87: v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle, v8::internal::Handle, int, v8::internal::Handle*) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==28993== by 0xB4CF3A: v8::Function::Call(v8::Local, v8::Local, int, v8::Local*) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==28993== +--28993-- WARNING: unhandled amd64-linux syscall: 332 +--28993-- You may be able to write your own handler. +--28993-- Read the file README_MISSING_SYSCALL_OR_IOCTL. +--28993-- Nevertheless we consider this a bug. Please report +--28993-- it at http://valgrind.org/support/bug_reports.html. +==28993== +==28993== HEAP SUMMARY: +==28993== in use at exit: 6,140 bytes in 23 blocks +==28993== total heap usage: 12,888 allocs, 12,865 frees, 13,033,244 bytes allocated +==28993== +==28993== LEAK SUMMARY: +==28993== definitely lost: 0 bytes in 0 blocks +==28993== indirectly lost: 0 bytes in 0 blocks +==28993== possibly lost: 304 bytes in 1 blocks +==28993== still reachable: 5,836 bytes in 22 blocks +==28993== suppressed: 0 bytes in 0 blocks +==28993== Rerun with --leak-check=full to see details of leaked memory +==28993== +==28993== For counts of detected and suppressed errors, rerun with: -v +==28993== Use --track-origins=yes to see where uninitialised values come +``` + +This reports that Node.js is not _completely_ clean as there is some memory +that was allocated but not freed when the process shut down. It is often +impractical/not worth being completely clean in this respect. Modern +operating systems will clean up the memory of the process after the +shutdown while attempting to free all memory to get a clean +report may have a negative impact on the code complexity and +shutdown times. Node.js does a pretty good job only leaving on +the order of 6KB that are not freed on shutdown. + +## An obvious memory leak + +Leaks can be introduced in native addons and the following is a simple +example leak based on the "Hello world" addon from +[node-addon-examples](https://github.com/nodejs/node-addon-examples). + +In this example, a loop which allocates ~1MB of memory and never frees it +has been added: + +```C++ +void* malloc_holder = nullptr; +napi_value Method(napi_env env, napi_callback_info info) { + napi_status status; + napi_value world; + status = napi_create_string_utf8(env, "world", 5, &world); + assert(status == napi_ok); + + // NEW LEAK HERE + for (int i=0; i < 1024; i++) { + malloc_holder = malloc(1024); + } + + return world; +} +``` + +When trying to create a memory leak you need to ensure that +the compiler has not optimized out the code that creates +the leak. For example, by assigning the result of the allocation +to either a global variable or a variable that will be read +afterwards the compiler will not optimize it out along with +the malloc and Valgrind will properly report the memory leak. +If `malloc_holder` in the example above is made into a +local variable then the compiler may freely remove +it along with the allocations (since it is not used) +and Valgrind will not find any leaks since they +will no longer exist in the code being run. + +Running valgrind on this code shows the following: + +```console +user1@minikube1:~/valgrind/node-addon-examples/1_hello_world/napi$ valgrind node hello.js +==1504== Memcheck, a memory error detector +==1504== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==1504== Using V#algrind-3.13.0 and LibVEX; rerun with -h for copyright info +==1504== Command: node hello.js +==1504== +==1504== Use of uninitialised value of size 8 +==1504== at 0x12F2279: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==1504== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==1504== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==1504== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==1504== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==1504== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==1504== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==1504== by 0x12F3E9C: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==1504== by 0x12F3C77: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==1504== by 0xC7C9CF: v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==1504== by 0xC7CE87: v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle, v8::internal::Handle, int, v8::internal::Handle*) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==1504== by 0xB4CF3A: v8::Function::Call(v8::Local, v8::Local, int, v8::Local*) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==1504== +--1504-- WARNING: unhandled amd64-linux syscall: 332 +--1504-- You may be able to write your own handler. +--1504-- Read the file README_MISSING_SYSCALL_OR_IOCTL. +--1504-- Nevertheless we consider this a bug. Please report +--1504-- it at http://valgrind.org/support/bug_reports.html. +world +==1504== +==1504== HEAP SUMMARY: +==1504== in use at exit: 1,008,003 bytes in 1,032 blocks +==1504== total heap usage: 17,603 allocs, 16,571 frees, 18,306,103 bytes allocated +==1504== +==1504== LEAK SUMMARY: +==1504== definitely lost: 996,064 bytes in 997 blocks +==1504== indirectly lost: 0 bytes in 0 blocks +==1504== possibly lost: 3,304 bytes in 4 blocks +==1504== still reachable: 8,635 bytes in 31 blocks +==1504== of which reachable via heuristic: +==1504== multipleinheritance: 48 bytes in 1 blocks +==1504== suppressed: 0 bytes in 0 blocks +==1504== Rerun with --leak-check=full to see details of leaked memory +==1504== +==1504== For counts of detected and suppressed errors, rerun with: -v +==1504== Use --track-origins=yes to see where uninitialised values come from +==1504== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) +``` + +Valgrind is reporting a problem as it shows 996,604 bytes as +definitely lost and the question is how to find where that memory was +allocated. The next step is to rerun as suggested in the +output with `--leak-check=full`: + +``` bash +user1@minikube1:~/valgrind/node-addon-examples/1_hello_world/napi$ valgrind --leak-check=full node hello.js +==4174== Memcheck, a memory error detector +==4174== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==4174== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==4174== Command: node hello.js +==4174== +==4174== Use of uninitialised value of size 8 +==4174== at 0x12F2279: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F3E9C: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F3C77: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0xC7C9CF: v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0xC7CE87: v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle, v8::internal::Handle, int, v8::internal::Handle*) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0xB4CF3A: v8::Function::Call(v8::Local, v8::Local, int, v8::Local*) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== +--4174-- WARNING: unhandled amd64-linux syscall: 332 +--4174-- You may be able to write your own handler. +--4174-- Read the file README_MISSING_SYSCALL_OR_IOCTL. +--4174-- Nevertheless we consider this a bug. Please report +--4174-- it at http://valgrind.org/support/bug_reports.html. +world +==4174== +==4174== HEAP SUMMARY: +==4174== in use at exit: 1,008,003 bytes in 1,032 blocks +==4174== total heap usage: 17,606 allocs, 16,574 frees, 18,305,977 bytes allocated +==4174== +==4174== 64 bytes in 1 blocks are definitely lost in loss record 17 of 35 +==4174== at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==4174== by 0x9AEAD5: napi_module_register (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x4010732: call_init (dl-init.c:72) +==4174== by 0x4010732: _dl_init (dl-init.c:119) +==4174== by 0x40151FE: dl_open_worker (dl-open.c:522) +==4174== by 0x5D052DE: _dl_catch_exception (dl-error-skeleton.c:196) +==4174== by 0x40147C9: _dl_open (dl-open.c:605) +==4174== by 0x4E3CF95: dlopen_doit (dlopen.c:66) +==4174== by 0x5D052DE: _dl_catch_exception (dl-error-skeleton.c:196) +==4174== by 0x5D0536E: _dl_catch_error (dl-error-skeleton.c:215) +==4174== by 0x4E3D734: _dlerror_run (dlerror.c:162) +==4174== by 0x4E3D050: dlopen@@GLIBC_2.2.5 (dlopen.c:87) +==4174== by 0x9B29A0: node::binding::DLOpen(v8::FunctionCallbackInfo const&)::{lambda(node::binding::DLib*)#1}::operator()(node::binding::DLib*) const (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== +==4174== 304 bytes in 1 blocks are possibly lost in loss record 27 of 35 +==4174== at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==4174== by 0x40134A6: allocate_dtv (dl-tls.c:286) +==4174== by 0x40134A6: _dl_allocate_tls (dl-tls.c:530) +==4174== by 0x5987227: allocate_stack (allocatestack.c:627) +==4174== by 0x5987227: pthread_create@@GLIBC_2.2.5 (pthread_create.c:644) +==4174== by 0xAAF9DC: node::inspector::Agent::Start(std::string const&, node::DebugOptions const&, std::shared_ptr, bool) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x9A8BE7: node::Environment::InitializeInspector(std::unique_ptr >) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0xA1C9A5: node::NodeMainInstance::CreateMainEnvironment(int*) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0xA1CB42: node::NodeMainInstance::Run() (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x9ACB67: node::Start(int, char**) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x5BBFB96: (below main) (libc-start.c:310) +==4174== +==4174== 2,000 bytes in 2 blocks are possibly lost in loss record 33 of 35 +==4174== at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==4174== by 0x9794979: Method(napi_env__*, napi_callback_info__*) (in /home/user1/valgrind/node-addon-examples/1_hello_world/napi/build/Release/hello.node) +==4174== by 0x98F764: v8impl::(anonymous namespace)::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo const&) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0xBA6FC8: v8::internal::MaybeHandle v8::internal::(anonymous namespace)::HandleApiCallHelper(v8::internal::Isolate*, v8::internal::Handle, v8::internal::Handle, v8::internal::Handle, v8::internal::Handle, v8::internal::BuiltinArguments) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0xBA8DB6: v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x1376358: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== +==4174== 997,000 bytes in 997 blocks are definitely lost in loss record 35 of 35 +==4174== at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==4174== by 0x9794979: Method(napi_env__*, napi_callback_info__*) (in /home/user1/valgrind/node-addon-examples/1_hello_world/napi/build/Release/hello.node) +==4174== by 0x98F764: v8impl::(anonymous namespace)::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo const&) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0xBA6FC8: v8::internal::MaybeHandle v8::internal::(anonymous namespace)::HandleApiCallHelper(v8::internal::Isolate*, v8::internal::Handle, v8::internal::Handle, v8::internal::Handle, v8::internal::Handle, v8::internal::BuiltinArguments) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0xBA8DB6: v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x1376358: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== +==4174== LEAK SUMMARY: +==4174== definitely lost: 997,064 bytes in 998 blocks +==4174== indirectly lost: 0 bytes in 0 blocks +==4174== possibly lost: 2,304 bytes in 3 blocks +==4174== still reachable: 8,635 bytes in 31 blocks +==4174== of which reachable via heuristic: +==4174== multipleinheritance: 48 bytes in 1 blocks +==4174== suppressed: 0 bytes in 0 blocks +==4174== Reachable blocks (those to which a pointer was found) are not shown. +==4174== To see them, rerun with: --leak-check=full --show-leak-kinds=all +==4174== +==4174== For counts of detected and suppressed errors, rerun with: -v +==4174== Use --track-origins=yes to see where uninitialised values come from +==4174== ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0) +``` + +This is the most interesting part of the report: + +```console +==4174== 997,000 bytes in 997 blocks are definitely lost in loss record 35 of 35 +==4174== at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==4174== by 0x9794979: Method(napi_env__*, napi_callback_info__*) (in /home/user1/valgrind/node-addon-examples/1_hello_world/napi/build/Release/hello.node) +==4174== by 0x98F764: v8impl::(anonymous namespace)::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo const&) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0xBA6FC8: v8::internal::MaybeHandle v8::internal::(anonymous namespace)::HandleApiCallHelper(v8::internal::Isolate*, v8::internal::Handle, v8::internal::Handle, v8::internal::Handle, v8::internal::Handle, v8::internal::BuiltinArguments) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0xBA8DB6: v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x1376358: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +``` + +From the stack trace we can tell that the leak came from a native addon: + +```console +==4174== by 0x9794979: Method(napi_env__*, napi_callback_info__*) (in /home/user1/valgrind/node-addon-examples/1_hello_world/napi/build/Release/hello.node) +``` + +What we can't tell is where in the native addon the memory is being +allocated. This is because by default the addon is compiled without +the debug symbols which valgrind needs to be able to provide more +information. + +## Enabling debug symbols to get more information + +Leaks may be either in addons or Node.js itself. The sections which +follow cover the steps needed to enable debug symbols to get more info. + +### Native addons + +To enable debug symbols for all of your addons that are compiled on +install use: + +```console +npm install --debug +``` + +Any options which are not consumed by npm are passed on to node-gyp and this +results in the addons being compiled with the debug option. + +If the native addon contains pre-built binaries you will need to force +a rebuild. + +```console +npm install --debug +npm rebuild +``` + +The next step is to run valgrind after the rebuild. This time the information +for the leaking location includes the name of the source file and the +line number: + +```console +==18481== 997,000 bytes in 997 blocks are definitely lost in loss record 35 of 35 +==18481== at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +>>>>> ==18481== by 0x9794989: Method(napi_env__*, napi_callback_info__*) (hello.cc:13) <<<<< +==18481== by 0x98F764: v8impl::(anonymous namespace)::FunctionCallbackWrapper::Invoke(v8::FunctionCallbackInfo const&) (in /home/user1/val grind/node-v12.14.1-linux-x64/bin/node) +==18481== by 0xBA6FC8: v8::internal::MaybeHandle v8::internal::(anonymous namespace)::HandleApiCallHelper(v8::internal:: Isolate*, v8::internal::Handle, v8::internal::Handle, v8::internal::Handle, v8::internal::Handle, v8::internal::BuiltinArguments) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==18481== by 0xBA8DB6: v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==18481== by 0x1376358: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==18481== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==18481== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==18481== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==18481== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==18481== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==18481== by 0x12F68A3: ??? (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +``` + +This new output shows us exactly where the leak is occurring in the file `hello.cc`: + +```C++ + 6 void* malloc_holder = nullptr; + 7 napi_value Method(napi_env env, napi_callback_info info) { + 8 napi_status status; + 9 napi_value world; + 10 status = napi_create_string_utf8(env, "world", 5, &world); + 11 assert(status == napi_ok); + 12 for (int i=0; i< 1000; i++) { + 13 malloc_holder = malloc(1000); // <<<<<< This is where we are allocating the memory that is not freed + 14 } + 15 return world; + 16 } +``` + +### Node.js binary + +If the leak is not in an addon and is instead in the Node.js binary itself, +you may need to compile node yourself and turn on debug symbols. Looking at +this entry reported by valgrind, with a release binary we see: + +```console + ==4174== 304 bytes in 1 blocks are possibly lost in loss record 27 of 35 +==4174== at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==4174== by 0x40134A6: allocate_dtv (dl-tls.c:286) +==4174== by 0x40134A6: _dl_allocate_tls (dl-tls.c:530) +==4174== by 0x5987227: allocate_stack (allocatestack.c:627) +==4174== by 0x5987227: pthread_create@@GLIBC_2.2.5 (pthread_create.c:644) +==4174== by 0xAAF9DC: node::inspector::Agent::Start(std::string const&, node::DebugOptions const&, std::shared_ptr, bool) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x9A8BE7: node::Environment::InitializeInspector(std::unique_ptr >) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0xA1C9A5: node::NodeMainInstance::CreateMainEnvironment(int*) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0xA1CB42: node::NodeMainInstance::Run() (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x9ACB67: node::Start(int, char**) (in /home/user1/valgrind/node-v12.14.1-linux-x64/bin/node) +==4174== by 0x5BBFB96: (below main) (libc-start.c:310) +``` + +This gives us some information of where to look (`node::inspector::Agent::Start`) +but not where in that function. We get more information than you might expect +(or see by default with addons) because the Node.js binary exports many of +its symbols using `-rdynamic` so that they can be used by addons. If the stack +gives you enough information to track down where the leak is, that's great, +otherwise the next step is to compile a debug build of Node.js. + +To get additional information with valgrind: + +* Check out the Node.js source corresponding to the release that you + want to debug. For example: +```console +git clone https://github.com/nodejs/node.git +git checkout v12.14.1 +``` +* Compile with debug enabled (for additional info see +[building a debug build](https://github.com/nodejs/node/blob/v12.14.1/BUILDING.md#building-a-debug-build)). +For example, on *nix: +```console +./configure --debug +make -j4 +``` +* Make sure to run with your compiled debug version of Node.js. Having used + `./configure --debug`, two binaries will have been built when `make` was run. + You must use the one which is in `out/Debug`. + +Running valgrind using the debug build of Node.js shows: + +```console +==44112== 592 bytes in 1 blocks are possibly lost in loss record 26 of 27 +==44112== at 0x4C2BF79: calloc (vg_replace_malloc.c:762) +==44112== by 0x4012754: _dl_allocate_tls (in /usr/lib64/ld-2.17.so) +==44112== by 0x586287B: pthread_create@@GLIBC_2.2.5 (in /usr/lib64/libpthread-2.17.so) +==44112== by 0xFAB2D2: node::inspector::(anonymous namespace)::StartDebugSignalHandler() (inspector_agent.cc:140) +==44112== by 0xFACB10: node::inspector::Agent::Start(std::string const&, node::DebugOptions const&, std::shared_ptr, bool) (inspector_agent.cc:777) +==44112== by 0xE3A0BB: node::Environment::InitializeInspector(std::unique_ptr >) (node.cc:216) +==44112== by 0xEE8F3E: node::NodeMainInstance::CreateMainEnvironment(int*) (node_main_instance.cc:222) +==44112== by 0xEE8831: node::NodeMainInstance::Run() (node_main_instance.cc:108) +==44112== by 0xE3CDEC: node::Start(int, char**) (node.cc:996) +==44112== by 0x22D8BBF: main (node_main.cc:126) +``` + +Now we can see the specific file name and line in the Node.js code which +caused the allocation (inspector_agent.cc:140). diff --git a/doc/guides/maintaining-V8.md b/doc/guides/maintaining-V8.md index d33b745ac56b8e..f8a2c1aa305b0e 100644 --- a/doc/guides/maintaining-V8.md +++ b/doc/guides/maintaining-V8.md @@ -30,7 +30,7 @@ For example, at the time of this writing: All older branches are abandoned and are not maintained by the V8 team. -### V8 merge process overview +### V8 Merge Process Overview The process for backporting bug fixes to active branches is officially documented [on the V8 wiki][V8MergingPatching]. The summary of the process is: @@ -278,7 +278,7 @@ PR-URL: https://github.com/nodejs/node/pull/7833 normal and [V8 CI][] using the Node.js CI system. We only needed to backport to `v6.x` as the other LTS branches weren't affected by this bug. -### Backports Identified by the V8 team +### Backports Identified by the V8 Team For bugs found through the browser or other channels, the V8 team marks bugs that might be applicable to the abandoned branches in use by Node.js. This is @@ -313,7 +313,7 @@ Node.js keeps a vendored copy of V8 inside of the deps/ directory. In addition, Node.js may need to float patches that do not exist upstream. This means that some care may need to be taken to update the vendored copy of V8. -### Minor updates (patch level) +### Minor Updates (Patch Level) Because there may be floating patches on the version of V8 in Node.js, it is safest to apply the patch level updates as a patch. For example, imagine that @@ -378,7 +378,7 @@ git node v8 major --branch=5.1-lkgr This should be followed up with manual refloating of all relevant patches. -## Proposal: Using a fork repo to track upstream V8 +## Proposal: Using a Fork Repo to Track Upstream V8 The fact that Node.js keeps a vendored, potentially edited copy of V8 in deps/ makes the above processes a bit complicated. An alternative proposal would be to diff --git a/doc/guides/updating-root-certs.md b/doc/guides/maintaining-root-certs.md similarity index 99% rename from doc/guides/updating-root-certs.md rename to doc/guides/maintaining-root-certs.md index 41c83e5898bd10..d26bdad943a50a 100644 --- a/doc/guides/updating-root-certs.md +++ b/doc/guides/maintaining-root-certs.md @@ -1,4 +1,4 @@ -# Updating the Root Certificates +# Maintaining the Root Certificates Node.js contains a compiled-in set of root certificates used as trust anchors for TLS certificate validation. diff --git a/doc/offboarding.md b/doc/guides/offboarding.md similarity index 100% rename from doc/offboarding.md rename to doc/guides/offboarding.md diff --git a/doc/onboarding-extras.md b/doc/guides/onboarding-extras.md similarity index 100% rename from doc/onboarding-extras.md rename to doc/guides/onboarding-extras.md diff --git a/doc/releases.md b/doc/guides/releases.md similarity index 94% rename from doc/releases.md rename to doc/guides/releases.md index 0fc7fb6220fa70..37018e1b3fd002 100644 --- a/doc/releases.md +++ b/doc/guides/releases.md @@ -2,7 +2,7 @@ This document describes the technical aspects of the Node.js release process. The intended audience is those who have been authorized by the Node.js -Foundation Technical Steering Committee (TSC) to create, promote, and sign +Technical Steering Committee (TSC) to create, promote, and sign official release builds for Node.js, hosted on . ## Table of Contents @@ -32,6 +32,7 @@ official release builds for Node.js, hosted on . * [17. Cleanup](#17-cleanup) * [18. Announce](#18-announce) * [19. Celebrate](#19-celebrate) +* [LTS Releases](#lts-releases) * [Major Releases](#major-releases) ## Who can make a release? @@ -497,17 +498,6 @@ $ git secure-tag -sm "YYYY-MM-DD Node.js vx.y.z ( -``` - -*Note*: Please do not push the tag unless you are ready to complete the -remainder of the release steps. - ### 12. Set Up For the Next Release On release proposal branch, edit `src/node_version.h` again and: @@ -546,14 +536,49 @@ cherry-pick the "Working on vx.y.z" commit to `master`. Run `make lint` before pushing to `master`, to make sure the Changelog formatting passes the lint rules on `master`. -### 13. Promote and Sign the Release Builds +### 13. Push the release tag + +Push the tag to the repo before you promote the builds. If you haven't pushed +your tag first, then build promotion won't work properly. Push the tag using the +following command: + +```console +$ git push +``` + +*Note*: Please do not push the tag unless you are ready to complete the +remainder of the release steps. + +### 14. Promote and Sign the Release Builds **The same individual who signed the release tag must be the one to promote the builds as the `SHASUMS256.txt` file needs to be signed with the same GPG key!** -Use `tools/release.sh` to promote and sign the build. When run, it will perform -the following actions: +Use `tools/release.sh` to promote and sign the build. Before doing this, you'll +need to ensure you've loaded the correct ssh key, or you'll see the following: + +```sh +# Checking for releases ... +Enter passphrase for key '/Users//.ssh/id_rsa': +dist@direct.nodejs.org's password: +``` + +The key can be loaded either with `ssh-add`: + +```sh +# Substitute node_id_rsa with whatever you've named the key +$ ssh-add ~/.ssh/node_id_rsa +``` + +or at runtime with: + +```sh +# Substitute node_id_rsa with whatever you've named the key +$ ./tools/release.sh -i ~/.ssh/node_id_rsa +``` + +`tools/release.sh` will perform the following actions when run: **a.** Select a GPG key from your private keys. It will use a command similar to: `gpg --list-secret-keys` to list your keys. If you don't have any keys, it @@ -597,7 +622,7 @@ be prompted to re-sign `SHASUMS256.txt`. **It is possible to only sign a release by running `./tools/release.sh -s vX.Y.Z`.** -### 14. Check the Release +### 15. Check the Release Your release should be available at `https://nodejs.org/dist/vx.y.z/` and . Check that the appropriate files are in @@ -606,7 +631,7 @@ have the right internal version strings. Check that the API docs are available at . Check that the release catalog files are correct at and . -### 15. Create a Blog Post +### 16. Create a Blog Post There is an automatic build that is kicked off when you promote new builds, so within a few minutes nodejs.org will be listing your new version as the latest @@ -639,7 +664,7 @@ This script will use the promoted builds and changelog to generate the post. Run * Changes to `master` on the [nodejs.org repository][] will trigger a new build of nodejs.org so your changes should appear a few minutes after pushing. -### 16. Create the release on GitHub +### 17. Create the release on GitHub * Go to the [New release page](https://github.com/nodejs/node/releases/new). * Select the tag version you pushed earlier. @@ -647,11 +672,11 @@ This script will use the promoted builds and changelog to generate the post. Run * For the description, copy the rest of the changelog entry. * Click on the "Publish release" button. -### 17. Cleanup +### 18. Cleanup Close your release proposal PR and delete the proposal branch. -### 18. Announce +### 19. Announce The nodejs.org website will automatically rebuild and include the new version. To announce the build on Twitter through the official @nodejs account, email @@ -668,10 +693,42 @@ announcements. Ping the IRC ops and the other [Partner Communities][] liaisons. -### 19. Celebrate +### 20. Celebrate _In whatever form you do this..._ +## LTS Releases + +### Marking a Release Line as LTS + +To mark a release line as LTS, the following changes must be made to +`src/node_version.h`: + +* The `NODE_MINOR_VERSION` macro must be incremented by one +* The `NODE_PATCH_VERSION` macro must be set to `0` +* The `NODE_VERSION_IS_LTS` macro must be set to `1` +* The `NODE_VERSION_LTS_CODENAME` macro must be set to the codename selected +for the LTS release. + +For example: + +```diff +-#define NODE_MINOR_VERSION 12 +-#define NODE_PATCH_VERSION 1 ++#define NODE_MINOR_VERSION 13 ++#define NODE_PATCH_VERSION 0 + +-#define NODE_VERSION_IS_LTS 0 +-#define NODE_VERSION_LTS_CODENAME "" ++#define NODE_VERSION_IS_LTS 1 ++#define NODE_VERSION_LTS_CODENAME "Erbium" + +-#define NODE_VERSION_IS_RELEASE 0 ++#define NODE_VERSION_IS_RELEASE 1 +``` + +The changes must be made as part of a new semver-minor release. + ## Major Releases The process for cutting a new Node.js major release has a number of differences diff --git a/doc/guides/security_release_process.md b/doc/guides/security-release-process.md similarity index 91% rename from doc/guides/security_release_process.md rename to doc/guides/security-release-process.md index 9d1e4f1b33654a..c396dfad7d7d19 100644 --- a/doc/guides/security_release_process.md +++ b/doc/guides/security-release-process.md @@ -31,19 +31,17 @@ the information described. ## Announcement (one week in advance of the planned release) -* Send pre-release announcement to +* [ ] Send pre-release announcement to https://groups.google.com/forum/#!forum/nodejs-sec. One of the existing managers can give access (Ben Noordhuis, Rod Vagg, Michael Dawson). ***LINK TO EMAIL*** -* Post pre-release announcement in vulnerabilities section of Nodejs.org blog - (https://github.com/nodejs/nodejs.org/tree/master/locale/en/blog/vulnerability). +* [ ] Post pre-release announcement in vulnerabilities section of Nodejs.org + blog (https://github.com/nodejs/nodejs.org/tree/master/locale/en/blog/vulnerability). Use last pre-release announcement as a template (it includes blog metadata such as updates to the banner on the Node.js website to indicate security - releases are coming). Submit PR and leave 1 hour for review. After one hour - even if no reviews, land anyway so that we don't have too big a gap between - post to nodejs-sec and blog. Text was already reviewed in security repo so is - unlikely to attract much additional comment. ***LINK TO BLOG PR AND POST*** + releases are coming). Submit PR and land immediately. Text was already + reviewed in security repo. ***LINK TO BLOG PR AND POST*** * [ ] Open an issue in the build working repository with a notification of the date for the security release. Use this issue to co-ordinate with the build diff --git a/doc/guides/using-internal-errors.md b/doc/guides/using-internal-errors.md index 77eabb4ad48dec..9fac1298a1d050 100644 --- a/doc/guides/using-internal-errors.md +++ b/doc/guides/using-internal-errors.md @@ -111,8 +111,8 @@ assert.strictEqual( ``` In addition, there should also be tests which validate the use of the -error based on where it is used in the codebase. For these tests, except in -special cases, they should only validate that the expected code is received +error based on where it is used in the codebase. If the error message is +static, these tests should only validate that the expected code is received and NOT validate the message. This will reduce the amount of test change required when the message for an error changes. diff --git a/benchmark/writing-and-running-benchmarks.md b/doc/guides/writing-and-running-benchmarks.md similarity index 100% rename from benchmark/writing-and-running-benchmarks.md rename to doc/guides/writing-and-running-benchmarks.md diff --git a/doc/node.1 b/doc/node.1 index 675bfc9a4851d4..ad82f466f86d45 100644 --- a/doc/node.1 +++ b/doc/node.1 @@ -113,9 +113,17 @@ Requires Node.js to be built with .It Fl -enable-source-maps Enable experimental Source Map V3 support for stack traces. . +.It Fl -experimental-import-meta-resolve +Enable experimental ES modules support for import.meta.resolve(). +. .It Fl -experimental-json-modules Enable experimental JSON interop support for the ES Module loader. . +.It Fl -experimental-loader Ns = Ns Ar module +Specify the +.Ar module +to use as a custom module loader. +. .It Fl -experimental-modules Enable experimental ES module support and caching modules. . @@ -226,18 +234,21 @@ Default is V8 Inspector integration allows attaching Chrome DevTools and IDEs to Node.js instances for debugging and profiling. It uses the Chrome DevTools Protocol. . -.It Fl -experimental-loader Ns = Ns Ar module -Specify the -.Ar module -as a custom loader, to load -.Fl -experimental-modules . -. .It Fl -insecure-http-parser Use an insecure HTTP parser that accepts invalid HTTP headers. This may allow interoperability with non-conformant HTTP implementations. It may also allow request smuggling and other HTTP attacks that rely on invalid headers being accepted. Avoid using this option. . +.It Fl -jitless +Disable runtime allocation of executable memory. This may be required on +some platforms for security reasons. It can also reduce attack surface on +other platforms, but the performance impact may be severe. +. +.Pp +This flag is inherited from V8 and is subject to change upstream. It may +disappear in a non-semver-major release. +. .It Fl -max-http-header-size Ns = Ns Ar size Specify the maximum size of HTTP headers in bytes. Defaults to 8KB. . diff --git a/glossary.md b/glossary.md new file mode 100644 index 00000000000000..a48fd6083b407f --- /dev/null +++ b/glossary.md @@ -0,0 +1,16 @@ +You may also need to check https://chromium.googlesource.com/chromiumos/docs/+/master/glossary.md. + +* LGTM: "Looks good to me", commonly used to approve a code review. +* PTAL: Please take a look. +* RSLGTM: "Rubber-stamp looks good to me". The reviewer approving without doing + a full code review. +* TSC: Technical Steering Committee. Detailed info see + [TSC](./GOVERNANCE.md#technical-steering-committee). +* WIP: "Work In Progress" - e.g. a patch that's not finished, but may be worth + an early look. +* WPT: [web-platform-tests](https://github.com/web-platform-tests/wpt) +* godbolt: [Compiler Explorer](https://godbolt.org/) run compilers interactively + from your web browser and interact with the assembly. Was created by and is + primarily administrated by Matt Godbolt. +* primordials: Pristine built-ins that are not effected by prototype pollution + and tampering with built-ins. diff --git a/lib/.eslintrc.yaml b/lib/.eslintrc.yaml index 04084df3fd9d57..0592218e5705a7 100644 --- a/lib/.eslintrc.yaml +++ b/lib/.eslintrc.yaml @@ -13,10 +13,16 @@ rules: message: "Use `const { Array } = primordials;` instead of the global." - name: BigInt message: "Use `const { BigInt } = primordials;` instead of the global." + - name: BigInt64Array + message: "Use `const { BigInt64Array } = primordials;` instead of the global." + - name: BigUint64Array + message: "Use `const { BigUint64Array } = primordials;` instead of the global." - name: Boolean message: "Use `const { Boolean } = primordials;` instead of the global." - name: Error message: "Use `const { Error } = primordials;` instead of the global." + - name: Float32Array + message: "Use `const { Float32Array } = primordials;` instead of the global." - name: JSON message: "Use `const { JSON } = primordials;` instead of the global." - name: Map @@ -31,10 +37,14 @@ rules: message: "Use `const { Promise } = primordials;` instead of the global." - name: Reflect message: "Use `const { Reflect } = primordials;` instead of the global." + - name: RegExp + message: "Use `const { RegExp } = primordials;` instead of the global." - name: Set message: "Use `const { Set } = primordials;` instead of the global." - name: Symbol message: "Use `const { Symbol } = primordials;` instead of the global." + - name: Uint16Array + message: "Use `const { Uint16Array } = primordials;` instead of the global." - name: WeakMap message: "Use `const { WeakMap } = primordials;` instead of the global." - name: WeakSet @@ -57,6 +67,8 @@ rules: message: "Please use `require('internal/errors').hideStackFrames()` instead." - selector: "AssignmentExpression:matches([left.name='prepareStackTrace'], [left.property.name='prepareStackTrace'])" message: "Use 'overrideStackTrace' from 'lib/internal/errors.js' instead of 'Error.prepareStackTrace'." + - selector: "CallExpression[callee.name='isNaN']" + message: "Use NumberIsNaN() primordial instead of the global isNaN() function." # Custom rules in tools/eslint-rules node-core/lowercase-name-for-primitive: error node-core/non-ascii-character: error diff --git a/lib/_stream_duplex.js b/lib/_stream_duplex.js index af2522313f80a2..3f56b95b702e16 100644 --- a/lib/_stream_duplex.js +++ b/lib/_stream_duplex.js @@ -27,7 +27,7 @@ 'use strict'; const { - ObjectDefineProperty, + ObjectDefineProperties, ObjectKeys, ObjectSetPrototypeOf, } = primordials; @@ -70,63 +70,60 @@ function Duplex(options) { } } -ObjectDefineProperty(Duplex.prototype, 'writableHighWaterMark', { - // Making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get() { - return this._writableState && this._writableState.highWaterMark; - } -}); +ObjectDefineProperties(Duplex.prototype, { -ObjectDefineProperty(Duplex.prototype, 'writableBuffer', { - // Making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function() { - return this._writableState && this._writableState.getBuffer(); - } -}); + destroyed: { + get() { + if (this._readableState === undefined || + this._writableState === undefined) { + return false; + } + return this._readableState.destroyed && this._writableState.destroyed; + }, + set(value) { + // Backward compatibility, the user is explicitly + // managing destroyed + if (this._readableState && this._writableState) { + this._readableState.destroyed = value; + this._writableState.destroyed = value; + } + } + }, -ObjectDefineProperty(Duplex.prototype, 'writableLength', { - // Making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get() { - return this._writableState && this._writableState.length; - } -}); + writableHighWaterMark: { + get() { + return this._writableState && this._writableState.highWaterMark; + } + }, -ObjectDefineProperty(Duplex.prototype, 'writableFinished', { - // Making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get() { - return this._writableState ? this._writableState.finished : false; - } -}); + writableBuffer: { + get() { + return this._writableState && this._writableState.getBuffer(); + } + }, -ObjectDefineProperty(Duplex.prototype, 'writableCorked', { - // Making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get() { - return this._writableState ? this._writableState.corked : 0; - } -}); + writableLength: { + get() { + return this._writableState && this._writableState.length; + } + }, -ObjectDefineProperty(Duplex.prototype, 'writableEnded', { - // Making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get() { - return this._writableState ? this._writableState.ending : false; + writableFinished: { + get() { + return this._writableState ? this._writableState.finished : false; + } + }, + + writableCorked: { + get() { + return this._writableState ? this._writableState.corked : 0; + } + }, + + writableEnded: { + get() { + return this._writableState ? this._writableState.ending : false; + } } }); @@ -144,30 +141,3 @@ function onend() { function onEndNT(self) { self.end(); } - -ObjectDefineProperty(Duplex.prototype, 'destroyed', { - // Making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get() { - if (this._readableState === undefined || - this._writableState === undefined) { - return false; - } - return this._readableState.destroyed && this._writableState.destroyed; - }, - set(value) { - // We ignore the value if the stream - // has not been initialized yet - if (this._readableState === undefined || - this._writableState === undefined) { - return; - } - - // Backward compatibility, the user is explicitly - // managing destroyed - this._readableState.destroyed = value; - this._writableState.destroyed = value; - } -}); diff --git a/lib/_stream_readable.js b/lib/_stream_readable.js index cd61922484d551..9f53da30b8ad72 100644 --- a/lib/_stream_readable.js +++ b/lib/_stream_readable.js @@ -218,8 +218,7 @@ function readableAddChunk(stream, chunk, encoding, addToFront) { debug('readableAddChunk', chunk); const state = stream._readableState; - let skipChunkCheck; - + let err; if (!state.objectMode) { if (typeof chunk === 'string') { encoding = encoding || state.defaultEncoding; @@ -231,54 +230,47 @@ function readableAddChunk(stream, chunk, encoding, addToFront) { chunk = Buffer.from(chunk, encoding); encoding = ''; } - skipChunkCheck = true; + } else if (chunk instanceof Buffer) { + encoding = ''; + } else if (Stream._isUint8Array(chunk)) { + chunk = Stream._uint8ArrayToBuffer(chunk); + encoding = ''; + } else if (chunk != null) { + err = new ERR_INVALID_ARG_TYPE( + 'chunk', ['string', 'Buffer', 'Uint8Array'], chunk); } - } else { - skipChunkCheck = true; } - if (chunk === null) { + if (err) { + errorOrDestroy(stream, err); + } else if (chunk === null) { state.reading = false; onEofChunk(stream, state); - } else { - var er; - if (!skipChunkCheck) - er = chunkInvalid(state, chunk); - if (er) { - errorOrDestroy(stream, er); - } else if (state.objectMode || (chunk && chunk.length > 0)) { - if (typeof chunk !== 'string' && - !state.objectMode && - // Do not use Object.getPrototypeOf as it is slower since V8 7.3. - !(chunk instanceof Buffer)) { - chunk = Stream._uint8ArrayToBuffer(chunk); - } - - if (addToFront) { - if (state.endEmitted) - errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT()); + } else if (state.objectMode || (chunk && chunk.length > 0)) { + if (addToFront) { + if (state.endEmitted) + errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT()); + else + addChunk(stream, state, chunk, true); + } else if (state.ended) { + errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF()); + } else if (state.destroyed) { + return false; + } else { + state.reading = false; + if (state.decoder && !encoding) { + chunk = state.decoder.write(chunk); + if (state.objectMode || chunk.length !== 0) + addChunk(stream, state, chunk, false); else - addChunk(stream, state, chunk, true); - } else if (state.ended) { - errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF()); - } else if (state.destroyed) { - return false; + maybeReadMore(stream, state); } else { - state.reading = false; - if (state.decoder && !encoding) { - chunk = state.decoder.write(chunk); - if (state.objectMode || chunk.length !== 0) - addChunk(stream, state, chunk, false); - else - maybeReadMore(stream, state); - } else { - addChunk(stream, state, chunk, false); - } + addChunk(stream, state, chunk, false); } - } else if (!addToFront) { - state.reading = false; - maybeReadMore(stream, state); } + } else if (!addToFront) { + state.reading = false; + maybeReadMore(stream, state); } // We can push more data if we are below the highWaterMark. @@ -306,17 +298,6 @@ function addChunk(stream, state, chunk, addToFront) { maybeReadMore(stream, state); } -function chunkInvalid(state, chunk) { - if (!Stream._isUint8Array(chunk) && - typeof chunk !== 'string' && - chunk !== undefined && - !state.objectMode) { - return new ERR_INVALID_ARG_TYPE( - 'chunk', ['string', 'Buffer', 'Uint8Array'], chunk); - } -} - - Readable.prototype.isPaused = function() { const state = this._readableState; return state[kPaused] === true || state.flowing === false; @@ -724,6 +705,9 @@ Readable.prototype.pipe = function(dest, pipeOpts) { debug('false write response, pause', state.awaitDrain); state.awaitDrain++; } + if (!cleanedUp) { + src.pause(); + } if (!ondrain) { // When the dest drains, it reduces the awaitDrain counter // on the source. This would be more elegant with a .once() @@ -732,7 +716,6 @@ Readable.prototype.pipe = function(dest, pipeOpts) { ondrain = pipeOnDrain(src); dest.on('drain', ondrain); } - src.pause(); } } diff --git a/lib/_stream_writable.js b/lib/_stream_writable.js index 381f7336765111..067aa86442383a 100644 --- a/lib/_stream_writable.js +++ b/lib/_stream_writable.js @@ -27,6 +27,7 @@ const { Array, + FunctionPrototype, ObjectDefineProperty, ObjectSetPrototypeOf, Symbol, @@ -199,7 +200,7 @@ ObjectDefineProperty(WritableState.prototype, 'buffer', { // whose prototype chain only points to Readable. var realHasInstance; if (typeof Symbol === 'function' && SymbolHasInstance) { - realHasInstance = Function.prototype[SymbolHasInstance]; + realHasInstance = FunctionPrototype[SymbolHasInstance]; ObjectDefineProperty(Writable, SymbolHasInstance, { value: function(object) { if (realHasInstance.call(this, object)) diff --git a/lib/_tls_wrap.js b/lib/_tls_wrap.js index 0207d9bfd6c152..c8ccbdb84286a4 100644 --- a/lib/_tls_wrap.js +++ b/lib/_tls_wrap.js @@ -25,6 +25,7 @@ const { ObjectAssign, ObjectDefineProperty, ObjectSetPrototypeOf, + RegExp, Symbol, } = primordials; diff --git a/lib/async_hooks.js b/lib/async_hooks.js index 0b599869ef1be2..009f15c83b1d8e 100644 --- a/lib/async_hooks.js +++ b/lib/async_hooks.js @@ -8,6 +8,7 @@ const { const { ERR_ASYNC_CALLBACK, + ERR_ASYNC_TYPE, ERR_INVALID_ASYNC_ID } = require('internal/errors').codes; const { validateString } = require('internal/validators'); @@ -32,6 +33,7 @@ const { emitBefore, emitAfter, emitDestroy, + enabledHooksExist, initHooksExist, } = internal_async_hooks; @@ -158,6 +160,10 @@ class AsyncResource { this[trigger_async_id_symbol] = triggerAsyncId; if (initHooksExist()) { + if (enabledHooksExist() && type.length === 0) { + throw new ERR_ASYNC_TYPE(type); + } + emitInit(asyncId, type, triggerAsyncId, this); } diff --git a/lib/buffer.js b/lib/buffer.js index 01b9ea97f95a68..d83a5a30d9e1b8 100644 --- a/lib/buffer.js +++ b/lib/buffer.js @@ -34,9 +34,12 @@ const { ObjectCreate, ObjectDefineProperties, ObjectDefineProperty, + ObjectGetOwnPropertyDescriptor, + ObjectGetPrototypeOf, ObjectSetPrototypeOf, SymbolSpecies, SymbolToPrimitive, + Uint8ArrayPrototype, } = primordials; const { @@ -101,6 +104,13 @@ const { addBufferPrototypeMethods } = require('internal/buffer'); +const TypedArrayPrototype = ObjectGetPrototypeOf(Uint8ArrayPrototype); + +const TypedArrayProto_byteLength = + ObjectGetOwnPropertyDescriptor(TypedArrayPrototype, + 'byteLength').get; +const TypedArrayFill = TypedArrayPrototype.fill; + FastBuffer.prototype.constructor = Buffer; Buffer.prototype = FastBuffer.prototype; addBufferPrototypeMethods(Buffer.prototype); @@ -228,6 +238,10 @@ function _copy(source, target, targetStart, sourceStart, sourceEnd) { sourceStart); } + return _copyActual(source, target, targetStart, sourceStart, sourceEnd); +} + +function _copyActual(source, target, targetStart, sourceStart, sourceEnd) { if (sourceEnd - sourceStart > target.length - targetStart) sourceEnd = sourceStart + target.length - targetStart; @@ -438,14 +452,6 @@ function fromString(string, encoding) { return fromStringFast(string, ops); } -function fromArrayLike(obj) { - const length = obj.length; - const b = allocate(length); - for (let i = 0; i < length; i++) - b[i] = obj[i]; - return b; -} - function fromArrayBuffer(obj, byteOffset, length) { // Convert byteOffset to integer if (byteOffset === undefined) { @@ -477,17 +483,22 @@ function fromArrayBuffer(obj, byteOffset, length) { return new FastBuffer(obj, byteOffset, length); } -function fromObject(obj) { - if (isUint8Array(obj)) { - const b = allocate(obj.length); - - if (b.length === 0) - return b; - - _copy(obj, b, 0, 0, obj.length); +function fromArrayLike(obj) { + if (obj.length <= 0) + return new FastBuffer(); + if (obj.length < (Buffer.poolSize >>> 1)) { + if (obj.length > (poolSize - poolOffset)) + createPool(); + const b = new FastBuffer(allocPool, poolOffset, obj.length); + b.set(obj, 0); + poolOffset += obj.length; + alignPool(); return b; } + return new FastBuffer(obj); +} +function fromObject(obj) { if (obj.length !== undefined || isAnyArrayBuffer(obj.buffer)) { if (typeof obj.length !== 'number') { return new FastBuffer(); @@ -558,8 +569,7 @@ Buffer.concat = function concat(list, length) { throw new ERR_INVALID_ARG_TYPE( `list[${i}]`, ['Buffer', 'Uint8Array'], list[i]); } - _copy(buf, buffer, pos); - pos += buf.length; + pos += _copyActual(buf, buffer, pos, 0, buf.length); } // Note: `length` is always equal to `buffer.length` at this point @@ -567,7 +577,7 @@ Buffer.concat = function concat(list, length) { // Zero-fill the remaining bytes if the specified `length` was more than // the actual total length, i.e. if we have some remaining allocated bytes // there were not initialized. - buffer.fill(0, pos, length); + TypedArrayFill.call(buffer, 0, pos, length); } return buffer; @@ -1001,11 +1011,22 @@ function _fill(buf, value, offset, end, encoding) { return buf; } - const res = bindingFill(buf, value, offset, end, encoding); - if (res < 0) { - if (res === -1) - throw new ERR_INVALID_ARG_VALUE('value', value); - throw new ERR_BUFFER_OUT_OF_BOUNDS(); + + if (typeof value === 'number') { + // OOB check + const byteLen = TypedArrayProto_byteLength.call(buf); + const fillLength = end - offset; + if (offset > end || fillLength + offset > byteLen) + throw new ERR_BUFFER_OUT_OF_BOUNDS(); + + TypedArrayFill.call(buf, value, offset, end); + } else { + const res = bindingFill(buf, value, offset, end, encoding); + if (res < 0) { + if (res === -1) + throw new ERR_INVALID_ARG_VALUE('value', value); + throw new ERR_BUFFER_OUT_OF_BOUNDS(); + } } return buf; diff --git a/lib/events.js b/lib/events.js index 62ed2191720125..4b16f9fa3c52a5 100644 --- a/lib/events.js +++ b/lib/events.js @@ -31,7 +31,6 @@ const { ObjectDefineProperty, ObjectGetPrototypeOf, ObjectSetPrototypeOf, - ObjectKeys, Promise, PromiseReject, PromiseResolve, @@ -521,7 +520,7 @@ EventEmitter.prototype.removeAllListeners = // Emit removeListener for all listeners on all events if (arguments.length === 0) { - for (const key of ObjectKeys(events)) { + for (const key of ReflectOwnKeys(events)) { if (key === 'removeListener') continue; this.removeAllListeners(key); } diff --git a/lib/fs.js b/lib/fs.js index 167ee9d7b3fe7f..31fd05dd3ab435 100644 --- a/lib/fs.js +++ b/lib/fs.js @@ -102,9 +102,10 @@ const { parseMode, validateBuffer, validateInteger, - validateInt32, - validateUint32 + validateInt32 } = require('internal/validators'); +// 2 ** 32 - 1 +const kMaxUserId = 4294967295; let truncateWarn = true; let fs; @@ -1124,8 +1125,8 @@ function chmodSync(path, mode) { function lchown(path, uid, gid, callback) { callback = makeCallback(callback); path = getValidatedPath(path); - validateUint32(uid, 'uid'); - validateUint32(gid, 'gid'); + validateInteger(uid, 'uid', -1, kMaxUserId); + validateInteger(gid, 'gid', -1, kMaxUserId); const req = new FSReqCallback(); req.oncomplete = callback; binding.lchown(pathModule.toNamespacedPath(path), uid, gid, req); @@ -1133,8 +1134,8 @@ function lchown(path, uid, gid, callback) { function lchownSync(path, uid, gid) { path = getValidatedPath(path); - validateUint32(uid, 'uid'); - validateUint32(gid, 'gid'); + validateInteger(uid, 'uid', -1, kMaxUserId); + validateInteger(gid, 'gid', -1, kMaxUserId); const ctx = { path }; binding.lchown(pathModule.toNamespacedPath(path), uid, gid, undefined, ctx); handleErrorFromBinding(ctx); @@ -1142,8 +1143,8 @@ function lchownSync(path, uid, gid) { function fchown(fd, uid, gid, callback) { validateInt32(fd, 'fd', 0); - validateUint32(uid, 'uid'); - validateUint32(gid, 'gid'); + validateInteger(uid, 'uid', -1, kMaxUserId); + validateInteger(gid, 'gid', -1, kMaxUserId); const req = new FSReqCallback(); req.oncomplete = makeCallback(callback); @@ -1152,8 +1153,8 @@ function fchown(fd, uid, gid, callback) { function fchownSync(fd, uid, gid) { validateInt32(fd, 'fd', 0); - validateUint32(uid, 'uid'); - validateUint32(gid, 'gid'); + validateInteger(uid, 'uid', -1, kMaxUserId); + validateInteger(gid, 'gid', -1, kMaxUserId); const ctx = {}; binding.fchown(fd, uid, gid, undefined, ctx); @@ -1163,8 +1164,8 @@ function fchownSync(fd, uid, gid) { function chown(path, uid, gid, callback) { callback = makeCallback(callback); path = getValidatedPath(path); - validateUint32(uid, 'uid'); - validateUint32(gid, 'gid'); + validateInteger(uid, 'uid', -1, kMaxUserId); + validateInteger(gid, 'gid', -1, kMaxUserId); const req = new FSReqCallback(); req.oncomplete = callback; @@ -1173,8 +1174,8 @@ function chown(path, uid, gid, callback) { function chownSync(path, uid, gid) { path = getValidatedPath(path); - validateUint32(uid, 'uid'); - validateUint32(gid, 'gid'); + validateInteger(uid, 'uid', -1, kMaxUserId); + validateInteger(gid, 'gid', -1, kMaxUserId); const ctx = { path }; binding.chown(pathModule.toNamespacedPath(path), uid, gid, undefined, ctx); handleErrorFromBinding(ctx); diff --git a/lib/internal/assert/assertion_error.js b/lib/internal/assert/assertion_error.js index a77414834d1e32..691f057ad281e3 100644 --- a/lib/internal/assert/assertion_error.js +++ b/lib/internal/assert/assertion_error.js @@ -13,6 +13,9 @@ const { inspect } = require('internal/util/inspect'); const { codes: { ERR_INVALID_ARG_TYPE } } = require('internal/errors'); +const { + removeColors, +} = require('internal/util'); let blue = ''; let green = ''; @@ -93,7 +96,12 @@ function createErrDiff(actual, expected, operator) { // equal, check further special handling. if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) { - const inputLength = actualLines[0].length + expectedLines[0].length; + // Check for the visible length using the `removeColors()` function, if + // appropriate. + const c = inspect.defaultOptions.colors; + const actualRaw = c ? removeColors(actualLines[0]) : actualLines[0]; + const expectedRaw = c ? removeColors(expectedLines[0]) : expectedLines[0]; + const inputLength = actualRaw.length + expectedRaw.length; // If the character length of "actual" and "expected" together is less than // kMaxShortLength and if neither is an object and at least one of them is // not `zero`, use the strict equal comparison to visualize the output. @@ -110,7 +118,7 @@ function createErrDiff(actual, expected, operator) { // not a tty, use a default value of 80 characters. const maxLength = process.stderr.isTTY ? process.stderr.columns : 80; if (inputLength < maxLength) { - while (actualLines[0][i] === expectedLines[0][i]) { + while (actualRaw[i] === expectedRaw[i]) { i++; } // Ignore the first characters. diff --git a/lib/internal/async_hooks.js b/lib/internal/async_hooks.js index f6fb19c996f30b..02b0e91ac2e965 100644 --- a/lib/internal/async_hooks.js +++ b/lib/internal/async_hooks.js @@ -3,16 +3,10 @@ const { Error, FunctionPrototypeBind, - NumberIsSafeInteger, ObjectDefineProperty, Symbol, } = primordials; -const { - ERR_ASYNC_TYPE, - ERR_INVALID_ASYNC_ID -} = require('internal/errors').codes; - const async_wrap = internalBinding('async_wrap'); /* async_hook_fields is a Uint32Array wrapping the uint32_t array of * Environment::AsyncHooks::fields_[]. Each index tracks the number of active @@ -117,15 +111,6 @@ function fatalError(e) { } -function validateAsyncId(asyncId, type) { - // Skip validation when async_hooks is disabled - if (async_hook_fields[kCheck] <= 0) return; - - if (!NumberIsSafeInteger(asyncId) || asyncId < -1) { - fatalError(new ERR_INVALID_ASYNC_ID(type, asyncId)); - } -} - // Emit From Native // // Used by C++ to call all init() callbacks. Because some state can be setup @@ -314,6 +299,9 @@ function defaultTriggerAsyncIdScope(triggerAsyncId, block, ...args) { } } +function enabledHooksExist() { + return async_hook_fields[kCheck] > 0; +} function initHooksExist() { return async_hook_fields[kInit] > 0; @@ -329,21 +317,11 @@ function destroyHooksExist() { function emitInitScript(asyncId, type, triggerAsyncId, resource) { - validateAsyncId(asyncId, 'asyncId'); - if (triggerAsyncId !== null) - validateAsyncId(triggerAsyncId, 'triggerAsyncId'); - if (async_hook_fields[kCheck] > 0 && - (typeof type !== 'string' || type.length <= 0)) { - throw new ERR_ASYNC_TYPE(type); - } - // Short circuit all checks for the common case. Which is that no hooks have // been set. Do this to remove performance impact for embedders (and core). if (async_hook_fields[kInit] === 0) return; - // This can run after the early return check b/c running this function - // manually means that the embedder must have used getDefaultTriggerAsyncId(). if (triggerAsyncId === null) { triggerAsyncId = getDefaultTriggerAsyncId(); } @@ -353,12 +331,6 @@ function emitInitScript(asyncId, type, triggerAsyncId, resource) { function emitBeforeScript(asyncId, triggerAsyncId) { - // Validate the ids. An id of -1 means it was never set and is visible on the - // call graph. An id < -1 should never happen in any circumstance. Throw - // on user calls because async state should still be recoverable. - validateAsyncId(asyncId, 'asyncId'); - validateAsyncId(triggerAsyncId, 'triggerAsyncId'); - pushAsyncIds(asyncId, triggerAsyncId); if (async_hook_fields[kBefore] > 0) @@ -367,8 +339,6 @@ function emitBeforeScript(asyncId, triggerAsyncId) { function emitAfterScript(asyncId) { - validateAsyncId(asyncId, 'asyncId'); - if (async_hook_fields[kAfter] > 0) emitAfterNative(asyncId); @@ -377,8 +347,6 @@ function emitAfterScript(asyncId) { function emitDestroyScript(asyncId) { - validateAsyncId(asyncId, 'asyncId'); - // Return early if there are no destroy callbacks, or invalid asyncId. if (async_hook_fields[kDestroy] === 0 || asyncId <= 0) return; @@ -418,8 +386,7 @@ function popAsyncIds(asyncId) { const stackLength = async_hook_fields[kStackLength]; if (stackLength === 0) return false; - if (async_hook_fields[kCheck] > 0 && - async_id_fields[kExecutionAsyncId] !== asyncId) { + if (enabledHooksExist() && async_id_fields[kExecutionAsyncId] !== asyncId) { // Do the same thing as the native code (i.e. crash hard). return popAsyncIds_(asyncId); } @@ -464,6 +431,7 @@ module.exports = { getOrSetAsyncId, getDefaultTriggerAsyncId, defaultTriggerAsyncIdScope, + enabledHooksExist, initHooksExist, afterHooksExist, destroyHooksExist, diff --git a/lib/internal/buffer.js b/lib/internal/buffer.js index ff703f11fd648e..c344a994181b9b 100644 --- a/lib/internal/buffer.js +++ b/lib/internal/buffer.js @@ -2,6 +2,7 @@ const { BigInt, + Float32Array, MathFloor, Number, } = primordials; diff --git a/lib/internal/crypto/random.js b/lib/internal/crypto/random.js index 85855a709e89fd..801c0eb8789fcd 100644 --- a/lib/internal/crypto/random.js +++ b/lib/internal/crypto/random.js @@ -6,7 +6,7 @@ const { } = primordials; const { AsyncWrap, Providers } = internalBinding('async_wrap'); -const { Buffer, kMaxLength } = require('buffer'); +const { kMaxLength } = require('buffer'); const { randomBytes: _randomBytes } = internalBinding('crypto'); const { ERR_INVALID_ARG_TYPE, @@ -15,6 +15,7 @@ const { } = require('internal/errors').codes; const { validateNumber } = require('internal/validators'); const { isArrayBufferView } = require('internal/util/types'); +const { FastBuffer } = require('internal/buffer'); const kMaxUint32 = 2 ** 32 - 1; const kMaxPossibleLength = MathMin(kMaxLength, kMaxUint32); @@ -52,7 +53,7 @@ function randomBytes(size, cb) { if (cb !== undefined && typeof cb !== 'function') throw new ERR_INVALID_CALLBACK(cb); - const buf = Buffer.alloc(size); + const buf = new FastBuffer(size); if (!cb) return handleError(_randomBytes(buf, 0, size), buf); diff --git a/lib/internal/errors.js b/lib/internal/errors.js index 724701635d670c..b69ab5658d27f6 100644 --- a/lib/internal/errors.js +++ b/lib/internal/errors.js @@ -13,16 +13,20 @@ const { ArrayIsArray, Error, + JSONStringify, Map, MathAbs, NumberIsInteger, ObjectDefineProperty, ObjectKeys, + StringPrototypeSlice, Symbol, SymbolFor, WeakMap, } = primordials; +const sep = process.platform === 'win32' ? '\\' : '/'; + const messages = new Map(); const codes = {}; @@ -904,7 +908,7 @@ E('ERR_HTTP_INVALID_STATUS_CODE', 'Invalid status code: %s', RangeError); E('ERR_HTTP_TRAILER_INVALID', 'Trailers are invalid with this transfer encoding', Error); E('ERR_INCOMPATIBLE_OPTION_PAIR', - 'Option "%s" can not be used in combination with option "%s"', TypeError); + 'Option "%s" cannot be used in combination with option "%s"', TypeError); E('ERR_INPUT_TYPE_NOT_ALLOWED', '--input-type can only be used with string ' + 'input via --eval, --print, or STDIN', Error); E('ERR_INSPECTOR_ALREADY_CONNECTED', '%s is already connected', Error); @@ -941,14 +945,7 @@ E('ERR_INVALID_ARG_TYPE', const type = name.includes('.') ? 'property' : 'argument'; msg += `"${name}" ${type} `; } - - // determiner: 'must be' or 'must not be' - if (typeof expected === 'string' && expected.startsWith('not ')) { - msg += 'must not be '; - expected = expected.replace(/^not /, ''); - } else { - msg += 'must be '; - } + msg += 'must be '; const types = []; const instances = []; @@ -1072,6 +1069,11 @@ E('ERR_INVALID_FILE_URL_PATH', 'File URL path %s', TypeError); E('ERR_INVALID_HANDLE_TYPE', 'This handle type cannot be sent', TypeError); E('ERR_INVALID_HTTP_TOKEN', '%s must be a valid HTTP token ["%s"]', TypeError); E('ERR_INVALID_IP_ADDRESS', 'Invalid IP address: %s', TypeError); +E('ERR_INVALID_MODULE_SPECIFIER', (pkgPath, subpath) => { + assert(subpath !== '.'); + return `Package subpath '${subpath}' is not a valid module request for the ` + + `"exports" resolution of ${pkgPath}${sep}package.json`; +}, TypeError); E('ERR_INVALID_OPT_VALUE', (name, value) => `The value "${String(value)}" is invalid for option "${name}"`, TypeError, @@ -1079,7 +1081,17 @@ E('ERR_INVALID_OPT_VALUE', (name, value) => E('ERR_INVALID_OPT_VALUE_ENCODING', 'The value "%s" is invalid for option "encoding"', TypeError); E('ERR_INVALID_PACKAGE_CONFIG', - 'Invalid package config for \'%s\', %s', Error); + `Invalid package config %s${sep}package.json, %s`, Error); +E('ERR_INVALID_PACKAGE_TARGET', (pkgPath, key, subpath, target) => { + if (key === '.') { + return `Invalid "exports" main target ${JSONStringify(target)} defined ` + + `in the package config ${pkgPath}${sep}package.json`; + } else { + return `Invalid "exports" target ${JSONStringify(target)} defined for '${ + StringPrototypeSlice(key, 0, -subpath.length || key.length)}' in the ` + + `package config ${pkgPath}${sep}package.json`; + } +}, Error); E('ERR_INVALID_PERFORMANCE_MARK', 'The "%s" performance mark has not been set', Error); E('ERR_INVALID_PROTOCOL', @@ -1223,6 +1235,14 @@ E('ERR_OUT_OF_RANGE', msg += ` It must be ${range}. Received ${received}`; return msg; }, RangeError); +E('ERR_PACKAGE_PATH_NOT_EXPORTED', (pkgPath, subpath) => { + if (subpath === '.') { + return `No "exports" main resolved in ${pkgPath}${sep}package.json`; + } else { + return `Package subpath '${subpath}' is not defined by "exports" in ${ + pkgPath}${sep}package.json`; + } +}, Error); E('ERR_REQUIRE_ESM', (filename, parentPath = null, packageJsonPath = null) => { let msg = `Must use import to load ES Module: ${filename}`; @@ -1351,11 +1371,12 @@ E('ERR_VM_MODULE_NOT_MODULE', 'Provided module is not an instance of Module', Error); E('ERR_VM_MODULE_STATUS', 'Module status %s', Error); E('ERR_WASI_ALREADY_STARTED', 'WASI instance has already started', Error); -E('ERR_WORKER_INVALID_EXEC_ARGV', (errors) => - `Initiated Worker with invalid execArgv flags: ${errors.join(', ')}`, - Error); -E('ERR_WORKER_OUT_OF_MEMORY', 'Worker terminated due to reaching memory limit', +E('ERR_WORKER_INIT_FAILED', 'Worker initialization failure: %s', Error); +E('ERR_WORKER_INVALID_EXEC_ARGV', (errors, msg = 'invalid execArgv flags') => + `Initiated Worker with ${msg}: ${errors.join(', ')}`, Error); +E('ERR_WORKER_OUT_OF_MEMORY', + 'Worker terminated due to reaching memory limit: %s', Error); E('ERR_WORKER_PATH', 'The worker script filename must be an absolute path or a relative ' + 'path starting with \'./\' or \'../\'. Received "%s"', @@ -1363,7 +1384,7 @@ E('ERR_WORKER_PATH', E('ERR_WORKER_UNSERIALIZABLE_ERROR', 'Serializing an uncaught exception failed', Error); E('ERR_WORKER_UNSUPPORTED_EXTENSION', - 'The worker script extension must be ".js" or ".mjs". Received "%s"', + 'The worker script extension must be ".js", ".mjs", or ".cjs". Received "%s"', TypeError); E('ERR_WORKER_UNSUPPORTED_OPERATION', '%s is not supported in workers', TypeError); diff --git a/lib/internal/fs/promises.js b/lib/internal/fs/promises.js index 39fc2d0b307315..cc907c8c9eae68 100644 --- a/lib/internal/fs/promises.js +++ b/lib/internal/fs/promises.js @@ -52,6 +52,7 @@ const pathModule = require('path'); const { promisify } = require('internal/util'); const kHandle = Symbol('kHandle'); +const kFd = Symbol('kFd'); const { kUsePromises } = binding; const getDirectoryEntriesPromise = promisify(getDirents); @@ -59,6 +60,7 @@ const getDirectoryEntriesPromise = promisify(getDirents); class FileHandle { constructor(filehandle) { this[kHandle] = filehandle; + this[kFd] = filehandle.fd; } getAsyncId() { @@ -66,11 +68,11 @@ class FileHandle { } get fd() { - return this[kHandle].fd; + return this[kFd]; } appendFile(data, options) { - return appendFile(this, data, options); + return writeFile(this, data, options); } chmod(mode) { @@ -122,6 +124,7 @@ class FileHandle { } close = () => { + this[kFd] = -1; return this[kHandle].close(); } } diff --git a/lib/internal/fs/streams.js b/lib/internal/fs/streams.js index b7189573416899..9522d966673982 100644 --- a/lib/internal/fs/streams.js +++ b/lib/internal/fs/streams.js @@ -237,7 +237,8 @@ function closeFsStream(stream, cb, err) { er = er || err; cb(er); stream.closed = true; - if (!er) + const s = stream._writableState || stream._readableState; + if (!er && !s.emitClose) stream.emit('close'); }); diff --git a/lib/internal/http2/compat.js b/lib/internal/http2/compat.js index 8ef5f49a3dbd77..479510152c9522 100644 --- a/lib/internal/http2/compat.js +++ b/lib/internal/http2/compat.js @@ -471,10 +471,8 @@ class Http2ServerResponse extends Stream { } get finished() { - const stream = this[kStream]; - return stream.destroyed || - stream._writableState.ended || - this[kState].closed; + const state = this[kState]; + return state.ending; } get socket() { @@ -700,12 +698,11 @@ class Http2ServerResponse extends Stream { if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); - const isFinished = this.finished; state.headRequest = stream.headRequest; state.ending = true; if (typeof cb === 'function') { - if (isFinished) + if (stream.writableEnded) this.once('finish', cb); else stream.once('finish', cb); @@ -714,7 +711,7 @@ class Http2ServerResponse extends Stream { if (!stream.headersSent) this.writeHead(this[kState].statusCode); - if (isFinished) + if (this[kState].closed || stream.destroyed) onStreamCloseResponse.call(stream); else stream.end(); diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js index ed433e1b8744ea..734dffa343a522 100644 --- a/lib/internal/modules/cjs/loader.js +++ b/lib/internal/modules/cjs/loader.js @@ -83,6 +83,9 @@ const { ERR_INVALID_ARG_VALUE, ERR_INVALID_OPT_VALUE, ERR_INVALID_PACKAGE_CONFIG, + ERR_INVALID_PACKAGE_TARGET, + ERR_INVALID_MODULE_SPECIFIER, + ERR_PACKAGE_PATH_NOT_EXPORTED, ERR_REQUIRE_ESM } = require('internal/errors').codes; const { validateString } = require('internal/validators'); @@ -500,13 +503,9 @@ function applyExports(basePath, expansion) { if (ObjectPrototypeHasOwnProperty(pkgExports, mappingKey)) { const mapping = pkgExports[mappingKey]; return resolveExportsTarget(pathToFileURL(basePath + '/'), mapping, '', - basePath, mappingKey); + mappingKey); } - // Fallback to CJS main lookup when no main export is defined - if (mappingKey === '.') - return basePath; - let dirMatch = ''; for (const candidateKey of ObjectKeys(pkgExports)) { if (candidateKey[candidateKey.length - 1] !== '/') continue; @@ -520,18 +519,11 @@ function applyExports(basePath, expansion) { const mapping = pkgExports[dirMatch]; const subpath = StringPrototypeSlice(mappingKey, dirMatch.length); return resolveExportsTarget(pathToFileURL(basePath + '/'), mapping, - subpath, basePath, mappingKey); + subpath, mappingKey); } } - // Fallback to CJS main lookup when no main export is defined - if (mappingKey === '.') - return basePath; - // eslint-disable-next-line no-restricted-syntax - const e = new Error(`Package exports for '${basePath}' do not define ` + - `a '${mappingKey}' subpath`); - e.code = 'MODULE_NOT_FOUND'; - throw e; + throw new ERR_PACKAGE_PATH_NOT_EXPORTED(basePath, mappingKey); } // This only applies to requests of a specific form: @@ -566,39 +558,53 @@ function isArrayIndex(p) { return n >= 0 && n < (2 ** 32) - 1; } -function resolveExportsTarget(pkgPath, target, subpath, basePath, mappingKey) { +function resolveExportsTarget(baseUrl, target, subpath, mappingKey) { if (typeof target === 'string') { - if (target.startsWith('./') && - (subpath.length === 0 || target.endsWith('/'))) { - const resolvedTarget = new URL(target, pkgPath); - const pkgPathPath = pkgPath.pathname; - const resolvedTargetPath = resolvedTarget.pathname; - if (StringPrototypeStartsWith(resolvedTargetPath, pkgPathPath) && + let resolvedTarget, resolvedTargetPath; + const pkgPathPath = baseUrl.pathname; + if (StringPrototypeStartsWith(target, './')) { + resolvedTarget = new URL(target, baseUrl); + resolvedTargetPath = resolvedTarget.pathname; + if (!StringPrototypeStartsWith(resolvedTargetPath, pkgPathPath) || StringPrototypeIndexOf(resolvedTargetPath, '/node_modules/', - pkgPathPath.length - 1) === -1) { - const resolved = new URL(subpath, resolvedTarget); - const resolvedPath = resolved.pathname; - if (StringPrototypeStartsWith(resolvedPath, resolvedTargetPath) && - StringPrototypeIndexOf(resolvedPath, '/node_modules/', - pkgPathPath.length - 1) === -1) { - return fileURLToPath(resolved); - } - } + pkgPathPath.length - 1) !== -1) + resolvedTarget = undefined; } + if (subpath.length > 0 && target[target.length - 1] !== '/') + resolvedTarget = undefined; + if (resolvedTarget === undefined) + throw new ERR_INVALID_PACKAGE_TARGET(StringPrototypeSlice(baseUrl.pathname + , 0, -1), mappingKey, subpath, target); + const resolved = new URL(subpath, resolvedTarget); + const resolvedPath = resolved.pathname; + if (StringPrototypeStartsWith(resolvedPath, resolvedTargetPath) && + StringPrototypeIndexOf(resolvedPath, '/node_modules/', + pkgPathPath.length - 1) === -1) { + return fileURLToPath(resolved); + } + throw new ERR_INVALID_MODULE_SPECIFIER(StringPrototypeSlice(baseUrl.pathname + , 0, -1), mappingKey); } else if (ArrayIsArray(target)) { + if (target.length === 0) + throw new ERR_INVALID_PACKAGE_TARGET(StringPrototypeSlice(baseUrl.pathname + , 0, -1), mappingKey, subpath, target); for (const targetValue of target) { - if (ArrayIsArray(targetValue)) continue; try { - return resolveExportsTarget(pkgPath, targetValue, subpath, basePath, - mappingKey); + return resolveExportsTarget(baseUrl, targetValue, subpath, mappingKey); } catch (e) { - if (e.code !== 'MODULE_NOT_FOUND') throw e; + if (e.code !== 'ERR_PACKAGE_PATH_NOT_EXPORTED' && + e.code !== 'ERR_INVALID_PACKAGE_TARGET') + throw e; } } + // Throw last fallback error + resolveExportsTarget(baseUrl, target[target.length - 1], subpath, + mappingKey); + assert(false); } else if (typeof target === 'object' && target !== null) { const keys = ObjectKeys(target); if (keys.some(isArrayIndex)) { - throw new ERR_INVALID_PACKAGE_CONFIG(basePath, '"exports" cannot ' + + throw new ERR_INVALID_PACKAGE_CONFIG(baseUrl, '"exports" cannot ' + 'contain numeric property keys.'); } for (const p of keys) { @@ -607,34 +613,26 @@ function resolveExportsTarget(pkgPath, target, subpath, basePath, mappingKey) { case 'require': try { emitExperimentalWarning('Conditional exports'); - const result = resolveExportsTarget(pkgPath, target[p], subpath, - basePath, mappingKey); - return result; + return resolveExportsTarget(baseUrl, target[p], subpath, + mappingKey); } catch (e) { - if (e.code !== 'MODULE_NOT_FOUND') throw e; + if (e.code !== 'ERR_PACKAGE_PATH_NOT_EXPORTED') throw e; } break; case 'default': try { - return resolveExportsTarget(pkgPath, target.default, subpath, - basePath, mappingKey); + return resolveExportsTarget(baseUrl, target.default, subpath, + mappingKey); } catch (e) { - if (e.code !== 'MODULE_NOT_FOUND') throw e; + if (e.code !== 'ERR_PACKAGE_PATH_NOT_EXPORTED') throw e; } } } + throw new ERR_PACKAGE_PATH_NOT_EXPORTED( + StringPrototypeSlice(baseUrl.pathname, 0, -1), mappingKey + subpath); } - let e; - if (mappingKey !== '.') { - // eslint-disable-next-line no-restricted-syntax - e = new Error(`Package exports for '${basePath}' do not define a ` + - `valid '${mappingKey}' target${subpath ? ' for ' + subpath : ''}`); - } else { - // eslint-disable-next-line no-restricted-syntax - e = new Error(`No valid exports main found for '${basePath}'`); - } - e.code = 'MODULE_NOT_FOUND'; - throw e; + throw new ERR_INVALID_PACKAGE_TARGET( + StringPrototypeSlice(baseUrl.pathname, 0, -1), mappingKey, subpath, target); } Module._findPath = function(request, paths, isMain) { diff --git a/lib/internal/modules/esm/get_format.js b/lib/internal/modules/esm/get_format.js index 2c215ab5378a40..9815077c3a6dcb 100644 --- a/lib/internal/modules/esm/get_format.js +++ b/lib/internal/modules/esm/get_format.js @@ -1,6 +1,5 @@ 'use strict'; -const { NativeModule } = require('internal/bootstrap/loaders'); const { extname } = require('path'); const { getOptionValue } = require('internal/options'); @@ -39,7 +38,7 @@ if (experimentalJsonModules) extensionFormatMap['.json'] = legacyExtensionFormatMap['.json'] = 'json'; function defaultGetFormat(url, context, defaultGetFormat) { - if (NativeModule.canBeRequiredByUsers(url)) { + if (url.startsWith('nodejs:')) { return { format: 'builtin' }; } const parsed = new URL(url); @@ -55,7 +54,7 @@ function defaultGetFormat(url, context, defaultGetFormat) { } else if (parsed.protocol === 'file:') { const ext = extname(parsed.pathname); let format; - if (ext === '.js' || ext === '') { + if (ext === '.js') { format = getPackageType(parsed.href) === TYPE_MODULE ? 'module' : 'commonjs'; } else { @@ -73,5 +72,6 @@ function defaultGetFormat(url, context, defaultGetFormat) { } return { format: format || null }; } + return { format: null }; } exports.defaultGetFormat = defaultGetFormat; diff --git a/lib/internal/modules/esm/loader.js b/lib/internal/modules/esm/loader.js index 6d9b267ffe5d67..285f656fa99b11 100644 --- a/lib/internal/modules/esm/loader.js +++ b/lib/internal/modules/esm/loader.js @@ -7,6 +7,7 @@ const { } = primordials; const { + ERR_INVALID_ARG_VALUE, ERR_INVALID_RETURN_PROPERTY, ERR_INVALID_RETURN_PROPERTY_VALUE, ERR_INVALID_RETURN_VALUE, @@ -47,6 +48,14 @@ class Loader { // Map of already-loaded CJS modules to use this.cjsCache = new SafeMap(); + // This hook is called before the first root module is imported. It's a + // function that returns a piece of code that runs as a sloppy-mode script. + // The script may evaluate to a function that can be called with a + // `getBuiltin` helper that can be used to retrieve builtins. + // If the hook returns `null` instead of a source string, it opts out of + // running any preload code. + // The preload code runs as soon as the hook module has finished evaluating. + this._getGlobalPreloadCode = null; // The resolver has the signature // (specifier : string, parentURL : string, defaultResolve) // -> Promise<{ url : string }> @@ -94,7 +103,10 @@ class Loader { throw new ERR_INVALID_RETURN_PROPERTY_VALUE( 'string', 'loader resolve', 'url', url); } + return url; + } + async getFormat(url) { const getFormatResponse = await this._getFormat( url, {}, defaultGetFormat); if (typeof getFormatResponse !== 'object') { @@ -109,7 +121,7 @@ class Loader { } if (format === 'builtin') { - return { url: `node:${url}`, format }; + return format; } if (this._resolve !== defaultResolve) { @@ -132,7 +144,7 @@ class Loader { ); } - return { url, format }; + return format; } async eval( @@ -165,7 +177,16 @@ class Loader { return module.getNamespace(); } - hook({ resolve, dynamicInstantiate, getFormat, getSource, transformSource }) { + hook(hooks) { + const { + resolve, + dynamicInstantiate, + getFormat, + getSource, + transformSource, + getGlobalPreloadCode, + } = hooks; + // Use .bind() to avoid giving access to the Loader instance when called. if (resolve !== undefined) this._resolve = FunctionPrototypeBind(resolve, null); @@ -182,10 +203,42 @@ class Loader { if (transformSource !== undefined) { this._transformSource = FunctionPrototypeBind(transformSource, null); } + if (getGlobalPreloadCode !== undefined) { + this._getGlobalPreloadCode = + FunctionPrototypeBind(getGlobalPreloadCode, null); + } + } + + runGlobalPreloadCode() { + if (!this._getGlobalPreloadCode) { + return; + } + const preloadCode = this._getGlobalPreloadCode(); + if (preloadCode === null) { + return; + } + + if (typeof preloadCode !== 'string') { + throw new ERR_INVALID_RETURN_VALUE( + 'string', 'loader getGlobalPreloadCode', preloadCode); + } + const { compileFunction } = require('vm'); + const preloadInit = compileFunction(preloadCode, ['getBuiltin'], { + filename: '', + }); + const { NativeModule } = require('internal/bootstrap/loaders'); + + preloadInit.call(globalThis, (builtinName) => { + if (NativeModule.canBeRequiredByUsers(builtinName)) { + return require(builtinName); + } + throw new ERR_INVALID_ARG_VALUE('builtinName', builtinName); + }); } async getModuleJob(specifier, parentURL) { - const { url, format } = await this.resolve(specifier, parentURL); + const url = await this.resolve(specifier, parentURL); + const format = await this.getFormat(url); let job = this.moduleMap.get(url); // CommonJS will set functions for lazy job evaluation. if (typeof job === 'function') diff --git a/lib/internal/modules/esm/module_job.js b/lib/internal/modules/esm/module_job.js index 01a574044b4f4a..08ba06101ca92c 100644 --- a/lib/internal/modules/esm/module_job.js +++ b/lib/internal/modules/esm/module_job.js @@ -89,7 +89,7 @@ class ModuleJob { const initWrapper = internalBinding('inspector').callAndPauseOnStart; initWrapper(this.module.instantiate, this.module); } else { - this.module.instantiate(true); + this.module.instantiate(); } } catch (e) { decorateErrorStack(e); diff --git a/lib/internal/modules/esm/resolve.js b/lib/internal/modules/esm/resolve.js index f1045871dddb72..ec2e681e621d0d 100644 --- a/lib/internal/modules/esm/resolve.js +++ b/lib/internal/modules/esm/resolve.js @@ -8,6 +8,7 @@ const internalFS = require('internal/fs/utils'); const { NativeModule } = require('internal/bootstrap/loaders'); const { realpathSync } = require('fs'); const { getOptionValue } = require('internal/options'); +const { sep } = require('path'); const preserveSymlinks = getOptionValue('--preserve-symlinks'); const preserveSymlinksMain = getOptionValue('--preserve-symlinks-main'); @@ -29,11 +30,13 @@ function defaultResolve(specifier, { parentURL } = {}, defaultResolve) { }; } } catch {} + if (parsed && parsed.protocol === 'nodejs:') + return { url: specifier }; if (parsed && parsed.protocol !== 'file:' && parsed.protocol !== 'data:') throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(); if (NativeModule.canBeRequiredByUsers(specifier)) { return { - url: specifier + url: 'nodejs:' + specifier }; } if (parentURL && parentURL.startsWith('data:')) { @@ -58,11 +61,12 @@ function defaultResolve(specifier, { parentURL } = {}, defaultResolve) { let url = moduleWrapResolve(specifier, parentURL); if (isMain ? !preserveSymlinksMain : !preserveSymlinks) { - const real = realpathSync(fileURLToPath(url), { + const urlPath = fileURLToPath(url); + const real = realpathSync(urlPath, { [internalFS.realpathCacheKey]: realpathCache }); const old = url; - url = pathToFileURL(real); + url = pathToFileURL(real + (urlPath.endsWith(sep) ? '/' : '')); url.search = old.search; url.hash = old.hash; } diff --git a/lib/internal/modules/esm/translators.js b/lib/internal/modules/esm/translators.js index 9f3bcfb8e7db9d..497f90ed94475b 100644 --- a/lib/internal/modules/esm/translators.js +++ b/lib/internal/modules/esm/translators.js @@ -28,6 +28,9 @@ const { ERR_UNKNOWN_BUILTIN_MODULE } = require('internal/errors').codes; const { maybeCacheSourceMap } = require('internal/source_map/source_map_cache'); const moduleWrap = internalBinding('module_wrap'); const { ModuleWrap } = moduleWrap; +const { getOptionValue } = require('internal/options'); +const experimentalImportMetaResolve = + getOptionValue('--experimental-import-meta-resolve'); const debug = debuglog('esm'); @@ -42,16 +45,28 @@ function errPath(url) { return url; } -function initializeImportMeta(meta, { url }) { - meta.url = url; -} - let esmLoader; async function importModuleDynamically(specifier, { url }) { if (!esmLoader) { - esmLoader = require('internal/process/esm_loader'); + esmLoader = require('internal/process/esm_loader').ESMLoader; } - return esmLoader.ESMLoader.import(specifier, url); + return esmLoader.import(specifier, url); +} + +function createImportMetaResolve(defaultParentUrl) { + return async function resolve(specifier, parentUrl = defaultParentUrl) { + if (!esmLoader) { + esmLoader = require('internal/process/esm_loader').ESMLoader; + } + return esmLoader.resolve(specifier, parentUrl); + }; +} + +function initializeImportMeta(meta, { url }) { + // Alphabetical + if (experimentalImportMetaResolve) + meta.resolve = createImportMetaResolve(url); + meta.url = url; } // Strategy for loading a standard JavaScript module @@ -104,10 +119,10 @@ translators.set('commonjs', function commonjsStrategy(url, isMain) { // through normal resolution translators.set('builtin', async function builtinStrategy(url) { debug(`Translating BuiltinModule ${url}`); - // Slice 'node:' scheme - const id = url.slice(5); + // Slice 'nodejs:' scheme + const id = url.slice(7); const module = loadNativeModule(id, url, true); - if (!module) { + if (!url.startsWith('nodejs:') || !module) { throw new ERR_UNKNOWN_BUILTIN_MODULE(id); } debug(`Loading BuiltinModule ${url}`); diff --git a/lib/internal/net.js b/lib/internal/net.js index 28f4e696cda689..73acaa5efee654 100644 --- a/lib/internal/net.js +++ b/lib/internal/net.js @@ -1,6 +1,7 @@ 'use strict'; const { + RegExp, Symbol, } = primordials; diff --git a/lib/internal/policy/sri.js b/lib/internal/policy/sri.js index 38d7fc9e07d741..d70df5c1aa1f7b 100644 --- a/lib/internal/policy/sri.js +++ b/lib/internal/policy/sri.js @@ -5,6 +5,7 @@ const { ObjectDefineProperty, ObjectFreeze, ObjectSeal, + RegExp, RegExpPrototypeExec, RegExpPrototypeTest, StringPrototypeSlice, diff --git a/lib/internal/process/esm_loader.js b/lib/internal/process/esm_loader.js index 49463e284c541f..ce6a7e756263c1 100644 --- a/lib/internal/process/esm_loader.js +++ b/lib/internal/process/esm_loader.js @@ -60,6 +60,7 @@ async function initializeLoader() { await ESMLoader.import(userLoader, pathToFileURL(cwd).href); ESMLoader = new Loader(); ESMLoader.hook(hooks); + ESMLoader.runGlobalPreloadCode(); return exports.ESMLoader = ESMLoader; })(); } diff --git a/lib/internal/process/per_thread.js b/lib/internal/process/per_thread.js index a1dd4442089502..5cb55d74939302 100644 --- a/lib/internal/process/per_thread.js +++ b/lib/internal/process/per_thread.js @@ -6,6 +6,7 @@ const { ArrayIsArray, + BigUint64Array, NumberMAX_SAFE_INTEGER, ObjectDefineProperties, ObjectDefineProperty, diff --git a/lib/internal/streams/lazy_transform.js b/lib/internal/streams/lazy_transform.js index 6584159095af39..69bba428af07f5 100644 --- a/lib/internal/streams/lazy_transform.js +++ b/lib/internal/streams/lazy_transform.js @@ -19,8 +19,6 @@ module.exports = LazyTransform; function LazyTransform(options) { this._options = options; - this.writable = true; - this.readable = true; } ObjectSetPrototypeOf(LazyTransform.prototype, stream.Transform.prototype); ObjectSetPrototypeOf(LazyTransform, stream.Transform); diff --git a/lib/internal/tty.js b/lib/internal/tty.js index 98975fa68a436f..44d51737008eb0 100644 --- a/lib/internal/tty.js +++ b/lib/internal/tty.js @@ -73,18 +73,26 @@ const TERM_ENVS_REG_EXP = [ /^vt100/ ]; +let warned = false; function warnOnDeactivatedColors(env) { - let name; + if (warned) + return; + let name = ''; if (env.NODE_DISABLE_COLORS !== undefined) name = 'NODE_DISABLE_COLORS'; - if (env.NO_COLOR !== undefined) - name = 'NO_COLOR'; + if (env.NO_COLOR !== undefined) { + if (name !== '') { + name += "' and '"; + } + name += 'NO_COLOR'; + } - if (name !== undefined) { + if (name !== '') { process.emitWarning( `The '${name}' env is ignored due to the 'FORCE_COLOR' env being set.`, 'Warning' ); + warned = true; } } diff --git a/lib/internal/util.js b/lib/internal/util.js index 5eb5ba9e966ff9..f26ea970e8dce0 100644 --- a/lib/internal/util.js +++ b/lib/internal/util.js @@ -271,7 +271,7 @@ function getSystemErrorName(err) { return entry ? entry[0] : `Unknown system error ${err}`; } -const kCustomPromisifiedSymbol = Symbol('util.promisify.custom'); +const kCustomPromisifiedSymbol = SymbolFor('nodejs.util.promisify.custom'); const kCustomPromisifyArgsSymbol = Symbol('customPromisifyArgs'); function promisify(original) { diff --git a/lib/internal/util/comparisons.js b/lib/internal/util/comparisons.js index 1f1571ef082bc5..1598e7f9136ace 100644 --- a/lib/internal/util/comparisons.js +++ b/lib/internal/util/comparisons.js @@ -23,6 +23,7 @@ const { } = primordials; const { compare } = internalBinding('buffer'); +const assert = require('internal/assert'); const types = require('internal/util/types'); const { isAnyArrayBuffer, @@ -118,7 +119,8 @@ function isEqualBoxedPrimitive(val1, val2) { return isSymbolObject(val2) && SymbolPrototypeValueOf(val1) === SymbolPrototypeValueOf(val2); } - return false; + /* c8 ignore next */ + assert.fail(`Unknown boxed type ${val1}`); } function isIdenticalTypedArrayType(a, b) { @@ -145,7 +147,11 @@ function isIdenticalTypedArrayType(a, b) { return check(b); } } - return false; + /* c8 ignore next */ + assert.fail( + `Unknown TypedArray type checking ${a[SymbolToStringTag]} ${a}\n` + + `and ${b[SymbolToStringTag]} ${b}` + ); } // Notes: Type tags are historical [[Class]] properties that can be set by diff --git a/lib/internal/util/debuglog.js b/lib/internal/util/debuglog.js index 87af5de8339b87..aab3aa9aaf678d 100644 --- a/lib/internal/util/debuglog.js +++ b/lib/internal/util/debuglog.js @@ -1,6 +1,8 @@ 'use strict'; -const { format } = require('internal/util/inspect'); +const { inspect, format, formatWithOptions } = require('internal/util/inspect'); + +const { RegExp } = primordials; // `debugs` is deliberately initialized to undefined so any call to // debuglog() before initializeDebugEnv() is called will throw. @@ -38,8 +40,10 @@ function debuglogImpl(set) { const pid = process.pid; emitWarningIfNeeded(set); debugs[set] = function debug(...args) { - const msg = format(...args); - process.stderr.write(format('%s %d: %s\n', set, pid, msg)); + const colors = process.stderr.hasColors && process.stderr.hasColors(); + const msg = formatWithOptions({ colors }, ...args); + const coloredPID = inspect(pid, { colors }); + process.stderr.write(format('%s %s: %s\n', set, coloredPID, msg)); }; } else { debugs[set] = null; diff --git a/lib/internal/util/inspect.js b/lib/internal/util/inspect.js index 4eb493dfe1fdae..f37452f9786057 100644 --- a/lib/internal/util/inspect.js +++ b/lib/internal/util/inspect.js @@ -3,12 +3,15 @@ const { Array, ArrayIsArray, + BigInt64Array, BigIntPrototypeValueOf, + BigUint64Array, BooleanPrototypeValueOf, DatePrototypeGetTime, DatePrototypeToISOString, DatePrototypeToString, ErrorPrototypeToString, + Float32Array, JSONStringify, Map, MapPrototype, @@ -33,6 +36,7 @@ const { ObjectPrototypeHasOwnProperty, ObjectPrototypePropertyIsEnumerable, ObjectSeal, + RegExp, RegExpPrototypeToString, Set, SetPrototype, @@ -42,6 +46,7 @@ const { SymbolPrototypeValueOf, SymbolIterator, SymbolToStringTag, + Uint16Array, uncurryThis, } = primordials; @@ -808,7 +813,7 @@ function formatRaw(ctx, value, recurseTimes, typedArray) { return `${braces[0]}]`; // Special handle the value. The original value is required below. The // bound function is required to reconstruct missing information. - formatter = formatTypedArray.bind(null, bound); + formatter = formatTypedArray.bind(null, bound, size); extrasType = kArrayExtrasType; } else if (isMapIterator(value)) { keys = getKeys(value, ctx.showHidden); @@ -1384,8 +1389,8 @@ function formatArray(ctx, value, recurseTimes) { return output; } -function formatTypedArray(value, ctx, ignored, recurseTimes) { - const maxLength = MathMin(MathMax(0, ctx.maxArrayLength), value.length); +function formatTypedArray(value, length, ctx, ignored, recurseTimes) { + const maxLength = MathMin(MathMax(0, ctx.maxArrayLength), length); const remaining = value.length - maxLength; const output = new Array(maxLength); const elementFormatter = value.length > 0 && typeof value[0] === 'number' ? diff --git a/lib/internal/worker.js b/lib/internal/worker.js index f078d5329d6017..9924554ff96c8d 100644 --- a/lib/internal/worker.js +++ b/lib/internal/worker.js @@ -24,6 +24,8 @@ const { ERR_WORKER_UNSUPPORTED_EXTENSION, ERR_WORKER_INVALID_EXEC_ARGV, ERR_INVALID_ARG_TYPE, + // eslint-disable-next-line no-unused-vars + ERR_WORKER_INIT_FAILED, } = errorCodes; const { validateString } = require('internal/validators'); const { getOptionValue } = require('internal/options'); @@ -103,7 +105,7 @@ class Worker extends EventEmitter { filename = path.resolve(filename); const ext = path.extname(filename); - if (ext !== '.js' && ext !== '.mjs') { + if (ext !== '.js' && ext !== '.mjs' && ext !== '.cjs') { throw new ERR_WORKER_UNSUPPORTED_EXTENSION(ext); } } @@ -124,19 +126,20 @@ class Worker extends EventEmitter { const url = options.eval ? null : pathToFileURL(filename); // Set up the C++ handle for the worker, as well as some internal wiring. - this[kHandle] = new WorkerImpl(url, options.execArgv, + this[kHandle] = new WorkerImpl(url, + env === process.env ? null : env, + options.execArgv, parseResourceLimits(options.resourceLimits)); if (this[kHandle].invalidExecArgv) { throw new ERR_WORKER_INVALID_EXEC_ARGV(this[kHandle].invalidExecArgv); } - if (env === process.env) { - // This may be faster than manually cloning the object in C++, especially - // when recursively spawning Workers. - this[kHandle].cloneParentEnvVars(); - } else if (env !== undefined) { - this[kHandle].setEnvVars(env); + if (this[kHandle].invalidNodeOptions) { + throw new ERR_WORKER_INVALID_EXEC_ARGV( + this[kHandle].invalidNodeOptions, 'invalid NODE_OPTIONS env variable'); } - this[kHandle].onexit = (code, customErr) => this[kOnExit](code, customErr); + this[kHandle].onexit = (code, customErr, customErrReason) => { + this[kOnExit](code, customErr, customErrReason); + }; this[kPort] = this[kHandle].messagePort; this[kPort].on('message', (data) => this[kOnMessage](data)); this[kPort].start(); @@ -181,14 +184,15 @@ class Worker extends EventEmitter { this[kHandle].startThread(); } - [kOnExit](code, customErr) { + [kOnExit](code, customErr, customErrReason) { debug(`[${threadId}] hears end event for Worker ${this.threadId}`); drainMessagePort(this[kPublicPort]); drainMessagePort(this[kPort]); this[kDispose](); if (customErr) { - debug(`[${threadId}] failing with custom error ${customErr}`); - this.emit('error', new errorCodes[customErr]()); + debug(`[${threadId}] failing with custom error ${customErr} \ + and with reason {customErrReason}`); + this.emit('error', new errorCodes[customErr](customErrReason)); } this.emit('exit', code); this.removeAllListeners(); diff --git a/lib/net.js b/lib/net.js index b32937f224b873..21d17702b53798 100644 --- a/lib/net.js +++ b/lib/net.js @@ -257,7 +257,7 @@ function initSocketHandle(self) { const kBytesRead = Symbol('kBytesRead'); const kBytesWritten = Symbol('kBytesWritten'); - +const kSetNoDelay = Symbol('kSetNoDelay'); function Socket(options) { if (!(this instanceof Socket)) return new Socket(options); @@ -271,6 +271,7 @@ function Socket(options) { this[kHandle] = null; this._parent = null; this._host = null; + this[kSetNoDelay] = false; this[kLastWriteQueueSize] = 0; this[kTimeout] = null; this[kBuffer] = null; @@ -487,8 +488,11 @@ Socket.prototype.setNoDelay = function(enable) { } // Backwards compatibility: assume true when `enable` is omitted - if (this._handle.setNoDelay) - this._handle.setNoDelay(enable === undefined ? true : !!enable); + const newValue = enable === undefined ? true : !!enable; + if (this._handle.setNoDelay && newValue !== this[kSetNoDelay]) { + this[kSetNoDelay] = newValue; + this._handle.setNoDelay(newValue); + } return this; }; diff --git a/lib/repl.js b/lib/repl.js index a0f11c8eeb95d8..420b9558f99700 100644 --- a/lib/repl.js +++ b/lib/repl.js @@ -58,6 +58,7 @@ const { ObjectSetPrototypeOf, Promise, PromiseRace, + RegExp, Set, Symbol, WeakMap, diff --git a/lib/wasi.js b/lib/wasi.js index eef36d24d487e7..ea2e2b794b22d7 100644 --- a/lib/wasi.js +++ b/lib/wasi.js @@ -2,10 +2,10 @@ /* global WebAssembly */ const { ArrayIsArray, - ArrayPrototypeForEach, ArrayPrototypeMap, + ArrayPrototypePush, FunctionPrototypeBind, - ObjectKeys, + ObjectEntries, Symbol, } = primordials; const { @@ -39,7 +39,7 @@ class WASI { for (const key in env) { const value = env[key]; if (value !== undefined) - envPairs.push(`${key}=${value}`); + ArrayPrototypePush(envPairs, `${key}=${value}`); } } else if (env !== undefined) { throw new ERR_INVALID_ARG_TYPE('options.env', 'Object', env); @@ -48,10 +48,9 @@ class WASI { const preopenArray = []; if (typeof preopens === 'object' && preopens !== null) { - ArrayPrototypeForEach(ObjectKeys(preopens), (key) => { - preopenArray.push(String(key)); - preopenArray.push(String(preopens[key])); - }); + for (const [key, value] of ObjectEntries(preopens)) { + ArrayPrototypePush(preopenArray, String(key), String(value)); + } } else if (preopens !== undefined) { throw new ERR_INVALID_ARG_TYPE('options.preopens', 'Object', preopens); } diff --git a/node.gyp b/node.gyp index 9806b165ab78eb..ee99fbe7c522e9 100644 --- a/node.gyp +++ b/node.gyp @@ -609,6 +609,7 @@ 'src/connect_wrap.h', 'src/connection_wrap.h', 'src/debug_utils.h', + 'src/debug_utils-inl.h', 'src/env.h', 'src/env-inl.h', 'src/handle_wrap.h', @@ -815,9 +816,11 @@ [ 'node_use_openssl=="true"', { 'sources': [ 'src/node_crypto.cc', + 'src/node_crypto_common.cc', 'src/node_crypto_bio.cc', 'src/node_crypto_clienthello.cc', 'src/node_crypto.h', + 'src/node_crypto_common.h', 'src/node_crypto_bio.h', 'src/node_crypto_clienthello.h', 'src/node_crypto_clienthello-inl.h', @@ -1114,6 +1117,7 @@ 'test/cctest/node_test_fixture.h', 'test/cctest/test_aliased_buffer.cc', 'test/cctest/test_base64.cc', + 'test/cctest/test_base_object_ptr.cc', 'test/cctest/test_node_postmortem_metadata.cc', 'test/cctest/test_environment.cc', 'test/cctest/test_linked_binding.cc', @@ -1221,6 +1225,16 @@ ], 'conditions': [ + [ 'node_use_openssl=="true"', { + 'defines': [ + 'HAVE_OPENSSL=1', + ], + }], + ['v8_enable_inspector==1', { + 'defines': [ + 'HAVE_INSPECTOR=1', + ], + }], ['OS=="win"', { 'libraries': [ 'dbghelp.lib', @@ -1265,6 +1279,16 @@ ], 'conditions': [ + [ 'node_use_openssl=="true"', { + 'defines': [ + 'HAVE_OPENSSL=1', + ], + }], + ['v8_enable_inspector==1', { + 'defines': [ + 'HAVE_INSPECTOR=1', + ], + }], ['OS=="win"', { 'libraries': [ 'Dbghelp.lib', diff --git a/node.gypi b/node.gypi index 144544214316a3..ff6c36c4b82ea9 100644 --- a/node.gypi +++ b/node.gypi @@ -272,6 +272,16 @@ ], }, }], + [ 'debug_node=="true"', { + 'cflags!': [ '-O3' ], + 'cflags': [ '-g', '-O0' ], + 'defines': [ 'DEBUG' ], + 'xcode_settings': { + 'OTHER_CFLAGS': [ + '-g', '-O0' + ], + }, + }], [ 'coverage=="true" and node_shared=="false" and OS in "mac freebsd linux"', { 'cflags!': [ '-O3' ], 'ldflags': [ '--coverage', diff --git a/doc/onboarding.md b/onboarding.md similarity index 99% rename from doc/onboarding.md rename to onboarding.md index 860e5737901db4..092061c031131e 100644 --- a/doc/onboarding.md +++ b/onboarding.md @@ -232,7 +232,7 @@ needs to be pointed out separately during the onboarding. * [https://github.com/nodejs/readable-stream](https://github.com/nodejs/readable-stream) * [https://github.com/nodejs/LTS](https://github.com/nodejs/LTS) * [https://github.com/nodejs/citgm](https://github.com/nodejs/citgm) -* The Node.js Foundation hosts regular summits for active contributors to the +* The OpenJS Foundation hosts regular summits for active contributors to the Node.js project, where we have face-to-face discussions about our work on the project. The Foundation has travel funds to cover participants' expenses including accommodations, transportation, visa fees, etc. if needed. Check out diff --git a/src/.clang-tidy b/src/.clang-tidy new file mode 100644 index 00000000000000..1713161c8ca9e0 --- /dev/null +++ b/src/.clang-tidy @@ -0,0 +1,27 @@ +--- +Checks: '-*, + # modernize-use-auto, + # modernize-use-equals-delete, + modernize-deprecated-headers, + modernize-make-unique, + modernize-make-shared, + modernize-redundant-void-arg, + modernize-replace-random-shuffle, + modernize-shrink-to-fit, + modernize-use-bool-literals, + modernize-use-emplace, + modernize-use-equals-default, + modernize-use-nullptr, + modernize-use-override, + performance-faster-string-find, + # performance-unnecessary-value-param, see https://github.com/nodejs/node/pull/26042 + readability-delete-null-pointer, ' +WarningsAsErrors: '' +HeaderFilterRegex: '' +AnalyzeTemporaryDtors: false +FormatStyle: none +User: nodejs/cpp +CheckOptions: + - key: google-readability-braces-around-statements.ShortStatementLines + value: 1 +... diff --git a/src/README.md b/src/README.md index cfd6cd6266c695..2e59c51c3c37e9 100644 --- a/src/README.md +++ b/src/README.md @@ -424,6 +424,23 @@ This should only be performed if it is actually sure that the operation has not failed. A lot of Node.js’s source code does **not** follow this rule, and can be brought to crash through this. +In particular, it is often not safe to assume that an operation does not throw +an exception, even if it seems like it would not do that. +The most common reasons for this are: + +* Calls to functions like `object->Get(...)` or `object->Set(...)` may fail on + most objects, if the `Object.prototype` object has been modified from userland + code that added getters or setters. +* Calls that invoke *any* JavaScript code, including JavaScript code that is + provided from Node.js internals or V8 internals, will fail when JavaScript + execution is being terminated. This typically happens inside Workers when + `worker.terminate()` is called, but it can also affect the main thread when + e.g. Node.js is used as an embedded library. These exceptions can happen at + any point. + It is not always obvious whether a V8 call will enter JavaScript. In addition + to unexpected getters and setters, accessing some types of built-in objects + like `Map`s and `Set`s can also run V8-internal JavaScript code. + ##### MaybeLocal `v8::MaybeLocal` is a variant of `v8::Maybe` that is either empty or @@ -433,7 +450,7 @@ operations as the methods of `v8::Maybe`, but with different names: | `Maybe` | `MaybeLocal` | | ---------------------- | ------------------------------- | | `maybe.IsNothing()` | `maybe_local.IsEmpty()` | -| `maybe.IsJust()` | – | +| `maybe.IsJust()` | `!maybe_local.IsEmpty()` | | `maybe.To(&value)` | `maybe_local.ToLocal(&local)` | | `maybe.ToChecked()` | `maybe_local.ToLocalChecked()` | | `maybe.FromJust()` | `maybe_local.ToLocalChecked()` | @@ -514,6 +531,12 @@ If there is a need to catch JavaScript exceptions in C++, V8 provides the of providing the ability to shut down the program in the typical Node.js way (printing the exception + stack trace) if an exception is caught. +A `TryCatch` will catch regular JavaScript exceptions, as well as termination +exceptions such as the ones thrown by `worker.terminate()` calls. +In the latter case, the `try_catch.HasTerminated()` function will return `true`, +and the exception object will not be a meaningful JavaScript value. +`try_catch.ReThrow()` should not be used in this case. + ### libuv handles and requests @@ -880,7 +903,7 @@ static void GetUserInfo(const FunctionCallbackInfo& args) { [`v8.h` in Node.js master]: https://github.com/nodejs/node/blob/master/deps/v8/include/v8.h [`v8.h` in V8 master]: https://github.com/v8/v8/blob/master/include/v8.h [`vm` module]: https://nodejs.org/api/vm.html -[C++ coding style]: ../CPP_STYLE_GUIDE.md +[C++ coding style]: ../doc/guides/cpp-style-guide.md [Callback scopes]: #callback-scopes [JavaScript value handles]: #js-handles [N-API]: https://nodejs.org/api/n-api.html diff --git a/src/aliased_buffer.h b/src/aliased_buffer.h index 5083ae9a1f47b5..868d495be9e04c 100644 --- a/src/aliased_buffer.h +++ b/src/aliased_buffer.h @@ -4,7 +4,7 @@ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS #include -#include "util.h" +#include "util-inl.h" #include "v8.h" namespace node { diff --git a/src/api/callback.cc b/src/api/callback.cc index 355986b981a381..5e3fd6590332ec 100644 --- a/src/api/callback.cc +++ b/src/api/callback.cc @@ -157,7 +157,7 @@ MaybeLocal InternalMakeCallback(Environment* env, Local domain_cb = env->domain_callback(); MaybeLocal ret; - if (asyncContext.async_id != 0 || domain_cb.IsEmpty() || recv.IsEmpty()) { + if (asyncContext.async_id != 0 || domain_cb.IsEmpty()) { ret = callback->Call(env->context(), recv, argc, argv); } else { std::vector> args(1 + argc); diff --git a/src/api/environment.cc b/src/api/environment.cc index 4cb2da4b860ecf..48c45b6e5e3eb9 100644 --- a/src/api/environment.cc +++ b/src/api/environment.cc @@ -313,23 +313,8 @@ Environment* CreateEnvironment(IsolateData* isolate_data, Environment::kOwnsProcessState | Environment::kOwnsInspector)); env->InitializeLibuv(per_process::v8_is_profiling); - if (env->RunBootstrapping().IsEmpty()) { + if (env->RunBootstrapping().IsEmpty()) return nullptr; - } - - std::vector> parameters = { - env->require_string(), - FIXED_ONE_BYTE_STRING(env->isolate(), "markBootstrapComplete")}; - std::vector> arguments = { - env->native_module_require(), - env->NewFunctionTemplate(MarkBootstrapComplete) - ->GetFunction(env->context()) - .ToLocalChecked()}; - if (ExecuteBootstrapper( - env, "internal/bootstrap/environment", ¶meters, &arguments) - .IsEmpty()) { - return nullptr; - } return env; } @@ -352,11 +337,6 @@ MultiIsolatePlatform* CreatePlatform( return new NodePlatform(thread_pool_size, tracing_controller); } -MultiIsolatePlatform* InitializeV8Platform(int thread_pool_size) { - per_process::v8_platform.Initialize(thread_pool_size); - return per_process::v8_platform.Platform(); -} - void FreePlatform(MultiIsolatePlatform* platform) { delete platform; } diff --git a/src/async_wrap-inl.h b/src/async_wrap-inl.h index e3e48666e4fbd6..03745081f3b09b 100644 --- a/src/async_wrap-inl.h +++ b/src/async_wrap-inl.h @@ -74,9 +74,8 @@ inline v8::MaybeLocal AsyncWrap::MakeCallback( if (!object()->Get(env()->context(), symbol).ToLocal(&cb_v)) return v8::MaybeLocal(); if (!cb_v->IsFunction()) { - // TODO(addaleax): We should throw an error here to fulfill the - // `MaybeLocal<>` API contract. - return v8::MaybeLocal(); + v8::Isolate* isolate = env()->isolate(); + return Undefined(isolate); } return MakeCallback(cb_v.As(), argc, argv); } diff --git a/src/base_object-inl.h b/src/base_object-inl.h index af69084f4a5595..efd8f17e9db5bb 100644 --- a/src/base_object-inl.h +++ b/src/base_object-inl.h @@ -27,21 +27,38 @@ #include "base_object.h" #include "env-inl.h" #include "util.h" + +#if (__GNUC__ >= 8) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-function-type" +#endif #include "v8.h" +#if (__GNUC__ >= 8) && !defined(__clang__) +#pragma GCC diagnostic pop +#endif namespace node { BaseObject::BaseObject(Environment* env, v8::Local object) - : persistent_handle_(env->isolate(), object), - env_(env) { + : persistent_handle_(env->isolate(), object), env_(env) { CHECK_EQ(false, object.IsEmpty()); CHECK_GT(object->InternalFieldCount(), 0); object->SetAlignedPointerInInternalField(0, static_cast(this)); - env_->AddCleanupHook(DeleteMe, static_cast(this)); + env->AddCleanupHook(DeleteMe, static_cast(this)); + env->modify_base_object_count(1); } BaseObject::~BaseObject() { - RemoveCleanupHook(); + env()->modify_base_object_count(-1); + env()->RemoveCleanupHook(DeleteMe, static_cast(this)); + + if (UNLIKELY(has_pointer_data())) { + PointerData* metadata = pointer_data(); + CHECK_EQ(metadata->strong_ptr_count, 0); + metadata->self = nullptr; + if (metadata->weak_ptr_count == 0) + delete metadata; + } if (persistent_handle_.IsEmpty()) { // This most likely happened because the weak callback below cleared it. @@ -49,13 +66,14 @@ BaseObject::~BaseObject() { } { - v8::HandleScope handle_scope(env_->isolate()); + v8::HandleScope handle_scope(env()->isolate()); object()->SetAlignedPointerInInternalField(0, nullptr); } } -void BaseObject::RemoveCleanupHook() { - env_->RemoveCleanupHook(DeleteMe, static_cast(this)); +void BaseObject::Detach() { + CHECK_GT(pointer_data()->strong_ptr_count, 0); + pointer_data()->is_detached = true; } v8::Global& BaseObject::persistent() { @@ -64,14 +82,14 @@ v8::Global& BaseObject::persistent() { v8::Local BaseObject::object() const { - return PersistentToLocal::Default(env_->isolate(), persistent_handle_); + return PersistentToLocal::Default(env()->isolate(), persistent_handle_); } v8::Local BaseObject::object(v8::Isolate* isolate) const { v8::Local handle = object(); DCHECK_EQ(handle->CreationContext()->GetIsolate(), isolate); - DCHECK_EQ(env_->isolate(), isolate); + DCHECK_EQ(env()->isolate(), isolate); return handle; } @@ -80,7 +98,6 @@ Environment* BaseObject::env() const { return env_; } - BaseObject* BaseObject::FromJSObject(v8::Local obj) { CHECK_GT(obj->InternalFieldCount(), 0); return static_cast(obj->GetAlignedPointerFromInternalField(0)); @@ -94,20 +111,34 @@ T* BaseObject::FromJSObject(v8::Local object) { void BaseObject::MakeWeak() { + if (has_pointer_data()) { + pointer_data()->wants_weak_jsobj = true; + if (pointer_data()->strong_ptr_count > 0) return; + } + persistent_handle_.SetWeak( this, [](const v8::WeakCallbackInfo& data) { - std::unique_ptr obj(data.GetParameter()); + BaseObject* obj = data.GetParameter(); // Clear the persistent handle so that ~BaseObject() doesn't attempt // to mess with internal fields, since the JS object may have // transitioned into an invalid state. // Refs: https://github.com/nodejs/node/issues/18897 obj->persistent_handle_.Reset(); + CHECK_IMPLIES(obj->has_pointer_data(), + obj->pointer_data()->strong_ptr_count == 0); + obj->OnGCCollect(); }, v8::WeakCallbackType::kParameter); } +void BaseObject::OnGCCollect() { + delete this; +} void BaseObject::ClearWeak() { + if (has_pointer_data()) + pointer_data()->wants_weak_jsobj = false; + persistent_handle_.ClearWeak(); } @@ -141,6 +172,176 @@ void BaseObject::InternalFieldSet(v8::Local property, info.This()->SetInternalField(Field, value); } +bool BaseObject::has_pointer_data() const { + return pointer_data_ != nullptr; +} + +BaseObject::PointerData* BaseObject::pointer_data() { + if (!has_pointer_data()) { + PointerData* metadata = new PointerData(); + metadata->wants_weak_jsobj = persistent_handle_.IsWeak(); + metadata->self = this; + pointer_data_ = metadata; + } + CHECK(has_pointer_data()); + return pointer_data_; +} + +void BaseObject::decrease_refcount() { + CHECK(has_pointer_data()); + PointerData* metadata = pointer_data(); + CHECK_GT(metadata->strong_ptr_count, 0); + unsigned int new_refcount = --metadata->strong_ptr_count; + if (new_refcount == 0) { + if (metadata->is_detached) { + delete this; + } else if (metadata->wants_weak_jsobj && !persistent_handle_.IsEmpty()) { + MakeWeak(); + } + } +} + +void BaseObject::increase_refcount() { + unsigned int prev_refcount = pointer_data()->strong_ptr_count++; + if (prev_refcount == 0 && !persistent_handle_.IsEmpty()) + persistent_handle_.ClearWeak(); +} + +template +BaseObject::PointerData* +BaseObjectPtrImpl::pointer_data() const { + if (kIsWeak) { + return data_.pointer_data; + } else { + if (get_base_object() == nullptr) return nullptr; + return get_base_object()->pointer_data(); + } +} + +template +BaseObject* BaseObjectPtrImpl::get_base_object() const { + if (kIsWeak) { + if (pointer_data() == nullptr) return nullptr; + return pointer_data()->self; + } else { + return data_.target; + } +} + +template +BaseObjectPtrImpl::~BaseObjectPtrImpl() { + if (kIsWeak) { + if (pointer_data() != nullptr && + --pointer_data()->weak_ptr_count == 0 && + pointer_data()->self == nullptr) { + delete pointer_data(); + } + } else if (get() != nullptr) { + get()->decrease_refcount(); + } +} + +template +BaseObjectPtrImpl::BaseObjectPtrImpl() { + data_.target = nullptr; +} + +template +BaseObjectPtrImpl::BaseObjectPtrImpl(T* target) + : BaseObjectPtrImpl() { + if (target == nullptr) return; + if (kIsWeak) { + data_.pointer_data = target->pointer_data(); + CHECK_NOT_NULL(pointer_data()); + pointer_data()->weak_ptr_count++; + } else { + data_.target = target; + CHECK_NOT_NULL(pointer_data()); + get()->increase_refcount(); + } +} + +template +template +BaseObjectPtrImpl::BaseObjectPtrImpl( + const BaseObjectPtrImpl& other) + : BaseObjectPtrImpl(other.get()) {} + +template +BaseObjectPtrImpl::BaseObjectPtrImpl(const BaseObjectPtrImpl& other) + : BaseObjectPtrImpl(other.get()) {} + +template +template +BaseObjectPtrImpl& BaseObjectPtrImpl::operator=( + const BaseObjectPtrImpl& other) { + if (other.get() == get()) return *this; + this->~BaseObjectPtrImpl(); + return *new (this) BaseObjectPtrImpl(other); +} + +template +BaseObjectPtrImpl& BaseObjectPtrImpl::operator=( + const BaseObjectPtrImpl& other) { + if (other.get() == get()) return *this; + this->~BaseObjectPtrImpl(); + return *new (this) BaseObjectPtrImpl(other); +} + +template +BaseObjectPtrImpl::BaseObjectPtrImpl(BaseObjectPtrImpl&& other) + : data_(other.data_) { + if (kIsWeak) + other.data_.target = nullptr; + else + other.data_.pointer_data = nullptr; +} + +template +BaseObjectPtrImpl& BaseObjectPtrImpl::operator=( + BaseObjectPtrImpl&& other) { + if (&other == this) return *this; + this->~BaseObjectPtrImpl(); + return *new (this) BaseObjectPtrImpl(std::move(other)); +} + +template +void BaseObjectPtrImpl::reset(T* ptr) { + *this = BaseObjectPtrImpl(ptr); +} + +template +T* BaseObjectPtrImpl::get() const { + return static_cast(get_base_object()); +} + +template +T& BaseObjectPtrImpl::operator*() const { + return *get(); +} + +template +T* BaseObjectPtrImpl::operator->() const { + return get(); +} + +template +BaseObjectPtrImpl::operator bool() const { + return get() != nullptr; +} + +template +BaseObjectPtr MakeBaseObject(Args&&... args) { + return BaseObjectPtr(new T(std::forward(args)...)); +} + +template +BaseObjectPtr MakeDetachedBaseObject(Args&&... args) { + BaseObjectPtr target = MakeBaseObject(std::forward(args)...); + target->Detach(); + return target; +} + } // namespace node #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS diff --git a/src/base_object.h b/src/base_object.h index 0b202cd3a51324..daf40b7c1eb7b4 100644 --- a/src/base_object.h +++ b/src/base_object.h @@ -31,6 +31,8 @@ namespace node { class Environment; +template +class BaseObjectPtrImpl; class BaseObject : public MemoryRetainer { public: @@ -62,10 +64,12 @@ class BaseObject : public MemoryRetainer { static inline T* FromJSObject(v8::Local object); // Make the `v8::Global` a weak reference and, `delete` this object once - // the JS object has been garbage collected. + // the JS object has been garbage collected and there are no (strong) + // BaseObjectPtr references to it. inline void MakeWeak(); - // Undo `MakeWeak()`, i.e. turn this into a strong reference. + // Undo `MakeWeak()`, i.e. turn this into a strong reference that is a GC + // root and will not be touched by the garbage collector. inline void ClearWeak(); // Utility to create a FunctionTemplate with one internal field (used for @@ -86,11 +90,14 @@ class BaseObject : public MemoryRetainer { // This is a bit of a hack. See the override in async_wrap.cc for details. virtual bool IsDoneInitializing() const; + // Can be used to avoid this object keepling itself alive as a GC root + // indefinitely, for example when this object is owned and deleted by another + // BaseObject once that is torn down. This can only be called when there is + // a BaseObjectPtr to this object. + inline void Detach(); + protected: - // Can be used to avoid the automatic object deletion when the Environment - // exits, for example when this object is owned and deleted by another - // BaseObject at that point. - inline void RemoveCleanupHook(); + virtual inline void OnGCCollect(); private: v8::Local WrappedObject() const override; @@ -103,12 +110,44 @@ class BaseObject : public MemoryRetainer { // refer to `doc/guides/node-postmortem-support.md` friend int GenDebugSymbols(); friend class CleanupHookCallback; + template + friend class BaseObjectPtrImpl; v8::Global persistent_handle_; + + // Metadata that is associated with this BaseObject if there are BaseObjectPtr + // or BaseObjectWeakPtr references to it. + // This object is deleted when the BaseObject itself is destroyed, and there + // are no weak references to it. + struct PointerData { + // Number of BaseObjectPtr instances that refer to this object. If this + // is non-zero, the BaseObject is always a GC root and will not be destroyed + // during cleanup until the count drops to zero again. + unsigned int strong_ptr_count = 0; + // Number of BaseObjectWeakPtr instances that refer to this object. + unsigned int weak_ptr_count = 0; + // Indicates whether MakeWeak() has been called. + bool wants_weak_jsobj = false; + // Indicates whether Detach() has been called. If that is the case, this + // object will be destryoed once the strong pointer count drops to zero. + bool is_detached = false; + // Reference to the original BaseObject. This is used by weak pointers. + BaseObject* self = nullptr; + }; + + inline bool has_pointer_data() const; + // This creates a PointerData struct if none was associated with this + // BaseObject before. + inline PointerData* pointer_data(); + + // Functions that adjust the strong pointer count. + inline void decrease_refcount(); + inline void increase_refcount(); + Environment* env_; + PointerData* pointer_data_ = nullptr; }; - // Global alias for FromJSObject() to avoid churn. template inline T* Unwrap(v8::Local obj) { @@ -124,6 +163,63 @@ inline T* Unwrap(v8::Local obj) { return __VA_ARGS__; \ } while (0) +// Implementation of a generic strong or weak pointer to a BaseObject. +// If strong, this will keep the target BaseObject alive regardless of other +// circumstances such das GC or Environment cleanup. +// If weak, destruction behaviour is not affected, but the pointer will be +// reset to nullptr once the BaseObject is destroyed. +// The API matches std::shared_ptr closely. +template +class BaseObjectPtrImpl final { + public: + inline BaseObjectPtrImpl(); + inline ~BaseObjectPtrImpl(); + inline explicit BaseObjectPtrImpl(T* target); + + // Copy and move constructors. Note that the templated version is not a copy + // or move constructor in the C++ sense of the word, so an identical + // untemplated version is provided. + template + inline BaseObjectPtrImpl(const BaseObjectPtrImpl& other); + inline BaseObjectPtrImpl(const BaseObjectPtrImpl& other); + template + inline BaseObjectPtrImpl& operator=(const BaseObjectPtrImpl& other); + inline BaseObjectPtrImpl& operator=(const BaseObjectPtrImpl& other); + inline BaseObjectPtrImpl(BaseObjectPtrImpl&& other); + inline BaseObjectPtrImpl& operator=(BaseObjectPtrImpl&& other); + + inline void reset(T* ptr = nullptr); + inline T* get() const; + inline T& operator*() const; + inline T* operator->() const; + inline operator bool() const; + + private: + union { + BaseObject* target; // Used for strong pointers. + BaseObject::PointerData* pointer_data; // Used for weak pointers. + } data_; + + inline BaseObject* get_base_object() const; + inline BaseObject::PointerData* pointer_data() const; +}; + +template +using BaseObjectPtr = BaseObjectPtrImpl; +template +using BaseObjectWeakPtr = BaseObjectPtrImpl; + +// Create a BaseObject instance and return a pointer to it. +// This variant leaves the object as a GC root by default. +template +inline BaseObjectPtr MakeBaseObject(Args&&... args); +// Create a BaseObject instance and return a pointer to it. +// This variant detaches the object by default, meaning that the caller fully +// owns it, and once the last BaseObjectPtr to it is destroyed, the object +// itself is also destroyed. +template +inline BaseObjectPtr MakeDetachedBaseObject(Args&&... args); + } // namespace node #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS diff --git a/src/cares_wrap.cc b/src/cares_wrap.cc index ab9e1a8798be19..8eeaeddf8300d8 100644 --- a/src/cares_wrap.cc +++ b/src/cares_wrap.cc @@ -575,10 +575,6 @@ class QueryWrap : public AsyncWrap { : AsyncWrap(channel->env(), req_wrap_obj, AsyncWrap::PROVIDER_QUERYWRAP), channel_(channel), trace_name_(name) { - // Make sure the channel object stays alive during the query lifetime. - req_wrap_obj->Set(env()->context(), - env()->channel_string(), - channel->object()).Check(); } ~QueryWrap() override { @@ -631,8 +627,6 @@ class QueryWrap : public AsyncWrap { } else { Parse(response_data_->host.get()); } - - delete this; } void* MakeCallbackPointer() { @@ -690,9 +684,13 @@ class QueryWrap : public AsyncWrap { } void QueueResponseCallback(int status) { - env()->SetImmediate([this](Environment*) { + BaseObjectPtr strong_ref{this}; + env()->SetImmediate([this, strong_ref](Environment*) { AfterResponse(); - }, object()); + + // Delete once strong_ref goes out of scope. + Detach(); + }); channel_->set_query_last_ok(status != ARES_ECONNREFUSED); channel_->ModifyActivityQueryCount(-1); @@ -735,7 +733,7 @@ class QueryWrap : public AsyncWrap { UNREACHABLE(); } - ChannelWrap* channel_; + BaseObjectPtr channel_; private: std::unique_ptr response_data_; @@ -751,16 +749,12 @@ Local AddrTTLToArray(Environment* env, const T* addrttls, size_t naddrttls) { auto isolate = env->isolate(); - EscapableHandleScope escapable_handle_scope(isolate); - auto context = env->context(); - Local ttls = Array::New(isolate, naddrttls); - for (size_t i = 0; i < naddrttls; i++) { - auto value = Integer::NewFromUnsigned(isolate, addrttls[i].ttl); - ttls->Set(context, i, value).Check(); - } + MaybeStackBuffer, 8> ttls(naddrttls); + for (size_t i = 0; i < naddrttls; i++) + ttls[i] = Integer::NewFromUnsigned(isolate, addrttls[i].ttl); - return escapable_handle_scope.Escape(ttls); + return Array::New(isolate, ttls.out(), naddrttls); } @@ -2041,6 +2035,7 @@ void GetServers(const FunctionCallbackInfo& args) { int r = ares_get_servers_ports(channel->cares_channel(), &servers); CHECK_EQ(r, ARES_SUCCESS); + auto cleanup = OnScopeLeave([&]() { ares_free_data(servers); }); ares_addr_port_node* cur = servers; @@ -2051,17 +2046,18 @@ void GetServers(const FunctionCallbackInfo& args) { int err = uv_inet_ntop(cur->family, caddr, ip, sizeof(ip)); CHECK_EQ(err, 0); - Local ret = Array::New(env->isolate(), 2); - ret->Set(env->context(), 0, OneByteString(env->isolate(), ip)).Check(); - ret->Set(env->context(), - 1, - Integer::New(env->isolate(), cur->udp_port)).Check(); + Local ret[] = { + OneByteString(env->isolate(), ip), + Integer::New(env->isolate(), cur->udp_port) + }; - server_array->Set(env->context(), i, ret).Check(); + if (server_array->Set(env->context(), i, + Array::New(env->isolate(), ret, arraysize(ret))) + .IsNothing()) { + return; + } } - ares_free_data(servers); - args.GetReturnValue().Set(server_array); } diff --git a/src/debug_utils-inl.h b/src/debug_utils-inl.h new file mode 100644 index 00000000000000..ae2d2046486466 --- /dev/null +++ b/src/debug_utils-inl.h @@ -0,0 +1,185 @@ +#ifndef SRC_DEBUG_UTILS_INL_H_ +#define SRC_DEBUG_UTILS_INL_H_ + +#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS + +#include "debug_utils.h" +#include "env.h" + +#include + +namespace node { + +struct ToStringHelper { + template + static std::string Convert( + const T& value, + std::string(T::* to_string)() const = &T::ToString) { + return (value.*to_string)(); + } + template ::value, bool>::type, + typename dummy = bool> + static std::string Convert(const T& value) { return std::to_string(value); } + static std::string Convert(const char* value) { + return value != nullptr ? value : "(null)"; + } + static std::string Convert(const std::string& value) { return value; } + static std::string Convert(bool value) { return value ? "true" : "false"; } +}; + +template +std::string ToString(const T& value) { + return ToStringHelper::Convert(value); +} + +inline std::string SPrintFImpl(const char* format) { + const char* p = strchr(format, '%'); + if (LIKELY(p == nullptr)) return format; + CHECK_EQ(p[1], '%'); // Only '%%' allowed when there are no arguments. + + return std::string(format, p + 1) + SPrintFImpl(p + 2); +} + +template +std::string COLD_NOINLINE SPrintFImpl( // NOLINT(runtime/string) + const char* format, Arg&& arg, Args&&... args) { + const char* p = strchr(format, '%'); + CHECK_NOT_NULL(p); // If you hit this, you passed in too many arguments. + std::string ret(format, p); + // Ignore long / size_t modifiers + while (strchr("lz", *++p) != nullptr) {} + switch (*p) { + case '%': { + return ret + '%' + SPrintFImpl(p + 1, + std::forward(arg), + std::forward(args)...); + } + default: { + return ret + '%' + SPrintFImpl(p, + std::forward(arg), + std::forward(args)...); + } + case 'd': + case 'i': + case 'u': + case 's': ret += ToString(arg); break; + case 'p': { + CHECK(std::is_pointer::type>::value); + char out[20]; + int n = snprintf(out, + sizeof(out), + "%p", + *reinterpret_cast(&arg)); + CHECK_GE(n, 0); + ret += out; + break; + } + } + return ret + SPrintFImpl(p + 1, std::forward(args)...); +} + +template +std::string COLD_NOINLINE SPrintF( // NOLINT(runtime/string) + const char* format, Args&&... args) { + return SPrintFImpl(format, std::forward(args)...); +} + +template +void COLD_NOINLINE FPrintF(FILE* file, const char* format, Args&&... args) { + FWrite(file, SPrintF(format, std::forward(args)...)); +} + +template +inline void FORCE_INLINE Debug(EnabledDebugList* list, + DebugCategory cat, + const char* format, + Args&&... args) { + if (!UNLIKELY(list->enabled(cat))) return; + FPrintF(stderr, format, std::forward(args)...); +} + +inline void FORCE_INLINE Debug(EnabledDebugList* list, + DebugCategory cat, + const char* message) { + if (!UNLIKELY(list->enabled(cat))) return; + FPrintF(stderr, "%s", message); +} + +template +inline void FORCE_INLINE +Debug(Environment* env, DebugCategory cat, const char* format, Args&&... args) { + Debug(env->enabled_debug_list(), cat, format, std::forward(args)...); +} + +inline void FORCE_INLINE Debug(Environment* env, + DebugCategory cat, + const char* message) { + Debug(env->enabled_debug_list(), cat, message); +} + +template +inline void Debug(Environment* env, + DebugCategory cat, + const std::string& format, + Args&&... args) { + Debug(env->enabled_debug_list(), + cat, + format.c_str(), + std::forward(args)...); +} + +// Used internally by the 'real' Debug(AsyncWrap*, ...) functions below, so that +// the FORCE_INLINE flag on them doesn't apply to the contents of this function +// as well. +// We apply COLD_NOINLINE to tell the compiler that it's not worth optimizing +// this function for speed and it should rather focus on keeping it out of +// hot code paths. In particular, we want to keep the string concatenating code +// out of the function containing the original `Debug()` call. +template +void COLD_NOINLINE UnconditionalAsyncWrapDebug(AsyncWrap* async_wrap, + const char* format, + Args&&... args) { + Debug(async_wrap->env(), + static_cast(async_wrap->provider_type()), + async_wrap->diagnostic_name() + " " + format + "\n", + std::forward(args)...); +} + +template +inline void FORCE_INLINE Debug(AsyncWrap* async_wrap, + const char* format, + Args&&... args) { + DCHECK_NOT_NULL(async_wrap); + DebugCategory cat = static_cast(async_wrap->provider_type()); + if (!UNLIKELY(async_wrap->env()->enabled_debug_list()->enabled(cat))) return; + UnconditionalAsyncWrapDebug(async_wrap, format, std::forward(args)...); +} + +template +inline void FORCE_INLINE Debug(AsyncWrap* async_wrap, + const std::string& format, + Args&&... args) { + Debug(async_wrap, format.c_str(), std::forward(args)...); +} + +namespace per_process { + +template +inline void FORCE_INLINE Debug(DebugCategory cat, + const char* format, + Args&&... args) { + Debug(&enabled_debug_list, cat, format, std::forward(args)...); +} + +inline void FORCE_INLINE Debug(DebugCategory cat, const char* message) { + Debug(&enabled_debug_list, cat, message); +} + +} // namespace per_process +} // namespace node + +#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS + +#endif // SRC_DEBUG_UTILS_INL_H_ diff --git a/src/debug_utils.cc b/src/debug_utils.cc index 8dd51b3931959b..a601c5ecf40ea9 100644 --- a/src/debug_utils.cc +++ b/src/debug_utils.cc @@ -1,11 +1,16 @@ -#include "debug_utils.h" +#include "debug_utils-inl.h" // NOLINT(build/include) #include "env-inl.h" +#include "node_internals.h" #ifdef __POSIX__ #if defined(__linux__) #include #endif +#ifdef __ANDROID__ +#include +#endif + #if defined(__linux__) && !defined(__GLIBC__) || \ defined(__UCLIBC__) || \ defined(_AIX) @@ -49,6 +54,37 @@ #endif // _WIN32 namespace node { +namespace per_process { +EnabledDebugList enabled_debug_list; +} + +void EnabledDebugList::Parse(Environment* env) { + std::string cats; + credentials::SafeGetenv("NODE_DEBUG_NATIVE", &cats, env); + Parse(cats, true); +} + +void EnabledDebugList::Parse(const std::string& cats, bool enabled) { + std::string debug_categories = cats; + while (!debug_categories.empty()) { + std::string::size_type comma_pos = debug_categories.find(','); + std::string wanted = ToLower(debug_categories.substr(0, comma_pos)); + +#define V(name) \ + { \ + static const std::string available_category = ToLower(#name); \ + if (available_category.find(wanted) != std::string::npos) \ + set_enabled(DebugCategory::name, enabled); \ + } + + DEBUG_CATEGORY_NAMES(V) +#undef V + + if (comma_pos == std::string::npos) break; + // Use everything after the `,` as the list for the next iteration. + debug_categories = debug_categories.substr(comma_pos + 1); + } +} #ifdef __POSIX__ #if HAVE_EXECINFO_H @@ -96,16 +132,14 @@ class PosixSymbolDebuggingContext final : public NativeSymbolDebuggingContext { std::unique_ptr NativeSymbolDebuggingContext::New() { - return std::unique_ptr( - new PosixSymbolDebuggingContext()); + return std::make_unique(); } #else // HAVE_EXECINFO_H std::unique_ptr NativeSymbolDebuggingContext::New() { - return std::unique_ptr( - new NativeSymbolDebuggingContext()); + return std::make_unique(); } #endif // HAVE_EXECINFO_H @@ -437,6 +471,43 @@ std::vector NativeSymbolDebuggingContext::GetLoadedLibraries() { return list; } +void FWrite(FILE* file, const std::string& str) { + auto simple_fwrite = [&]() { + // The return value is ignored because there's no good way to handle it. + fwrite(str.data(), str.size(), 1, file); + }; + + if (file != stderr && file != stdout) { + simple_fwrite(); + return; + } +#ifdef _WIN32 + HANDLE handle = + GetStdHandle(file == stdout ? STD_OUTPUT_HANDLE : STD_ERROR_HANDLE); + + // Check if stderr is something other than a tty/console + if (handle == INVALID_HANDLE_VALUE || handle == nullptr || + uv_guess_handle(_fileno(file)) != UV_TTY) { + simple_fwrite(); + return; + } + + // Get required wide buffer size + int n = MultiByteToWideChar(CP_UTF8, 0, str.data(), str.size(), nullptr, 0); + + std::vector wbuf(n); + MultiByteToWideChar(CP_UTF8, 0, str.data(), str.size(), wbuf.data(), n); + + WriteConsoleW(handle, wbuf.data(), n, nullptr, nullptr); + return; +#elif defined(__ANDROID__) + if (file == stderr) { + __android_log_print(ANDROID_LOG_ERROR, "nodejs", "%s", str.data()); + return; + } +#endif + simple_fwrite(); +} } // namespace node diff --git a/src/debug_utils.h b/src/debug_utils.h index db01cacba6a1b6..b654159ac2a24e 100644 --- a/src/debug_utils.h +++ b/src/debug_utils.h @@ -4,7 +4,6 @@ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS #include "async_wrap.h" -#include "env.h" #include #include @@ -21,32 +20,88 @@ #endif namespace node { +class Environment; +template +inline std::string ToString(const T& value); + +// C++-style variant of sprintf()/fprintf() that: +// - Returns an std::string +// - Handles \0 bytes correctly +// - Supports %p and %s. %d, %i and %u are aliases for %s. +// - Accepts any class that has a ToString() method for stringification. template -inline void FORCE_INLINE Debug(Environment* env, +inline std::string SPrintF(const char* format, Args&&... args); +template +inline void FPrintF(FILE* file, const char* format, Args&&... args); +void FWrite(FILE* file, const std::string& str); + +// Listing the AsyncWrap provider types first enables us to cast directly +// from a provider type to a debug category. +#define DEBUG_CATEGORY_NAMES(V) \ + NODE_ASYNC_PROVIDER_TYPES(V) \ + V(INSPECTOR_SERVER) \ + V(INSPECTOR_PROFILER) \ + V(CODE_CACHE) \ + V(WASI) + +enum class DebugCategory { +#define V(name) name, + DEBUG_CATEGORY_NAMES(V) +#undef V + CATEGORY_COUNT +}; + +class EnabledDebugList { + public: + bool enabled(DebugCategory category) const { + DCHECK_GE(static_cast(category), 0); + DCHECK_LT(static_cast(category), + static_cast(DebugCategory::CATEGORY_COUNT)); + return enabled_[static_cast(category)]; + } + + // Uses NODE_DEBUG_NATIVE to initialize the categories. When env is not a + // nullptr, the environment variables set in the Environment are used. + // Otherwise the system environment variables are used. + void Parse(Environment* env); + + private: + // Set all categories matching cats to the value of enabled. + void Parse(const std::string& cats, bool enabled); + void set_enabled(DebugCategory category, bool enabled) { + DCHECK_GE(static_cast(category), 0); + DCHECK_LT(static_cast(category), + static_cast(DebugCategory::CATEGORY_COUNT)); + enabled_[static_cast(category)] = true; + } + + bool enabled_[static_cast(DebugCategory::CATEGORY_COUNT)] = {false}; +}; + +template +inline void FORCE_INLINE Debug(EnabledDebugList* list, DebugCategory cat, const char* format, - Args&&... args) { - if (!UNLIKELY(env->debug_enabled(cat))) - return; - fprintf(stderr, format, std::forward(args)...); -} + Args&&... args); + +inline void FORCE_INLINE Debug(EnabledDebugList* list, + DebugCategory cat, + const char* message); + +template +inline void FORCE_INLINE +Debug(Environment* env, DebugCategory cat, const char* format, Args&&... args); inline void FORCE_INLINE Debug(Environment* env, DebugCategory cat, - const char* message) { - if (!UNLIKELY(env->debug_enabled(cat))) - return; - fprintf(stderr, "%s", message); -} + const char* message); template inline void Debug(Environment* env, DebugCategory cat, const std::string& format, - Args&&... args) { - Debug(env, cat, format.c_str(), std::forward(args)...); -} + Args&&... args); // Used internally by the 'real' Debug(AsyncWrap*, ...) functions below, so that // the FORCE_INLINE flag on them doesn't apply to the contents of this function @@ -58,31 +113,17 @@ inline void Debug(Environment* env, template void COLD_NOINLINE UnconditionalAsyncWrapDebug(AsyncWrap* async_wrap, const char* format, - Args&&... args) { - Debug(async_wrap->env(), - static_cast(async_wrap->provider_type()), - async_wrap->diagnostic_name() + " " + format + "\n", - std::forward(args)...); -} + Args&&... args); template inline void FORCE_INLINE Debug(AsyncWrap* async_wrap, const char* format, - Args&&... args) { - DCHECK_NOT_NULL(async_wrap); - DebugCategory cat = - static_cast(async_wrap->provider_type()); - if (!UNLIKELY(async_wrap->env()->debug_enabled(cat))) - return; - UnconditionalAsyncWrapDebug(async_wrap, format, std::forward(args)...); -} + Args&&... args); template inline void FORCE_INLINE Debug(AsyncWrap* async_wrap, const std::string& format, - Args&&... args) { - Debug(async_wrap, format.c_str(), std::forward(args)...); -} + Args&&... args); // Debug helper for inspecting the currently running `node` executable. class NativeSymbolDebuggingContext { @@ -121,6 +162,16 @@ class NativeSymbolDebuggingContext { void CheckedUvLoopClose(uv_loop_t* loop); void PrintLibuvHandleInformation(uv_loop_t* loop, FILE* stream); +namespace per_process { +extern EnabledDebugList enabled_debug_list; + +template +inline void FORCE_INLINE Debug(DebugCategory cat, + const char* format, + Args&&... args); + +inline void FORCE_INLINE Debug(DebugCategory cat, const char* message); +} // namespace per_process } // namespace node #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS diff --git a/src/env-inl.h b/src/env-inl.h index 99b5273b9b25ce..08df9c061ac91f 100644 --- a/src/env-inl.h +++ b/src/env-inl.h @@ -242,14 +242,6 @@ inline bool ImmediateInfo::has_outstanding() const { return fields_[kHasOutstanding] == 1; } -inline void ImmediateInfo::count_inc(uint32_t increment) { - fields_[kCount] += increment; -} - -inline void ImmediateInfo::count_dec(uint32_t decrement) { - fields_[kCount] -= decrement; -} - inline void ImmediateInfo::ref_count_inc(uint32_t increment) { fields_[kRefCount] += increment; } @@ -598,20 +590,6 @@ inline void Environment::set_http2_state( http2_state_ = std::move(buffer); } -bool Environment::debug_enabled(DebugCategory category) const { - DCHECK_GE(static_cast(category), 0); - DCHECK_LT(static_cast(category), - static_cast(DebugCategory::CATEGORY_COUNT)); - return debug_enabled_[static_cast(category)]; -} - -void Environment::set_debug_enabled(DebugCategory category, bool enabled) { - DCHECK_GE(static_cast(category), 0); - DCHECK_LT(static_cast(category), - static_cast(DebugCategory::CATEGORY_COUNT)); - debug_enabled_[static_cast(category)] = enabled; -} - inline AliasedFloat64Array* Environment::fs_stats_field_array() { return &fs_stats_field_array_; } @@ -732,7 +710,8 @@ inline uint64_t Environment::heap_prof_interval() const { #endif // HAVE_INSPECTOR -inline std::shared_ptr Environment::inspector_host_port() { +inline +std::shared_ptr> Environment::inspector_host_port() { return inspector_host_port_; } @@ -745,28 +724,56 @@ inline void IsolateData::set_options( options_ = std::move(options); } -template -void Environment::CreateImmediate(Fn&& cb, - v8::Local keep_alive, - bool ref) { - auto callback = std::make_unique>( - std::move(cb), - v8::Global(isolate(), keep_alive), - ref); - NativeImmediateCallback* prev_tail = native_immediate_callbacks_tail_; +std::unique_ptr +Environment::NativeImmediateQueue::Shift() { + std::unique_ptr ret = std::move(head_); + if (ret) { + head_ = ret->get_next(); + if (!head_) + tail_ = nullptr; // The queue is now empty. + } + size_--; + return ret; +} - native_immediate_callbacks_tail_ = callback.get(); +void Environment::NativeImmediateQueue::Push( + std::unique_ptr cb) { + NativeImmediateCallback* prev_tail = tail_; + + size_++; + tail_ = cb.get(); if (prev_tail != nullptr) - prev_tail->set_next(std::move(callback)); + prev_tail->set_next(std::move(cb)); + else + head_ = std::move(cb); +} + +void Environment::NativeImmediateQueue::ConcatMove( + NativeImmediateQueue&& other) { + size_ += other.size_; + if (tail_ != nullptr) + tail_->set_next(std::move(other.head_)); else - native_immediate_callbacks_head_ = std::move(callback); + head_ = std::move(other.head_); + tail_ = other.tail_; + other.tail_ = nullptr; + other.size_ = 0; +} - immediate_info()->count_inc(1); +size_t Environment::NativeImmediateQueue::size() const { + return size_.load(); } template -void Environment::SetImmediate(Fn&& cb, v8::Local keep_alive) { - CreateImmediate(std::move(cb), keep_alive, true); +void Environment::CreateImmediate(Fn&& cb, bool ref) { + auto callback = std::make_unique>( + std::move(cb), ref); + native_immediates_.Push(std::move(callback)); +} + +template +void Environment::SetImmediate(Fn&& cb) { + CreateImmediate(std::move(cb), true); if (immediate_info()->ref_count() == 0) ToggleImmediateRef(true); @@ -774,8 +781,31 @@ void Environment::SetImmediate(Fn&& cb, v8::Local keep_alive) { } template -void Environment::SetUnrefImmediate(Fn&& cb, v8::Local keep_alive) { - CreateImmediate(std::move(cb), keep_alive, false); +void Environment::SetUnrefImmediate(Fn&& cb) { + CreateImmediate(std::move(cb), false); +} + +template +void Environment::SetImmediateThreadsafe(Fn&& cb) { + auto callback = std::make_unique>( + std::move(cb), false); + { + Mutex::ScopedLock lock(native_immediates_threadsafe_mutex_); + native_immediates_threadsafe_.Push(std::move(callback)); + } + uv_async_send(&task_queues_async_); +} + +template +void Environment::RequestInterrupt(Fn&& cb) { + auto callback = std::make_unique>( + std::move(cb), false); + { + Mutex::ScopedLock lock(native_immediates_threadsafe_mutex_); + native_immediates_interrupts_.Push(std::move(callback)); + } + uv_async_send(&task_queues_async_); + RequestInterruptFromV8(); } Environment::NativeImmediateCallback::NativeImmediateCallback(bool refed) @@ -797,10 +827,9 @@ void Environment::NativeImmediateCallback::set_next( template Environment::NativeImmediateCallbackImpl::NativeImmediateCallbackImpl( - Fn&& callback, v8::Global&& keep_alive, bool refed) + Fn&& callback, bool refed) : NativeImmediateCallback(refed), - callback_(std::move(callback)), - keep_alive_(std::move(keep_alive)) {} + callback_(std::move(callback)) {} template void Environment::NativeImmediateCallbackImpl::Call(Environment* env) { @@ -864,8 +893,26 @@ inline void Environment::remove_sub_worker_context(worker::Worker* context) { sub_worker_contexts_.erase(context); } +template +inline void Environment::ForEachWorker(Fn&& iterator) { + for (worker::Worker* w : sub_worker_contexts_) iterator(w); +} + +inline void Environment::add_refs(int64_t diff) { + task_queues_async_refs_ += diff; + CHECK_GE(task_queues_async_refs_, 0); + if (task_queues_async_refs_ == 0) + uv_unref(reinterpret_cast(&task_queues_async_)); + else + uv_ref(reinterpret_cast(&task_queues_async_)); +} + inline bool Environment::is_stopping() const { - return thread_stopper_.is_stopped(); + return is_stopping_.load(); +} + +inline void Environment::set_stopping(bool value) { + is_stopping_.store(value); } inline std::list* Environment::extra_linked_bindings() { @@ -1138,7 +1185,7 @@ void Environment::RemoveCleanupHook(void (*fn)(void*), void* arg) { inline void Environment::RegisterFinalizationGroupForCleanup( v8::Local group) { cleanup_finalization_groups_.emplace_back(isolate(), group); - uv_async_send(&cleanup_finalization_groups_async_); + uv_async_send(&task_queues_async_); } size_t CleanupHookCallback::Hash::operator()( @@ -1167,12 +1214,12 @@ void Environment::ForEachBaseObject(T&& iterator) { } } -bool AsyncRequest::is_stopped() const { - return stopped_.load(); +void Environment::modify_base_object_count(int64_t delta) { + base_object_count_ += delta; } -void AsyncRequest::set_stopped(bool flag) { - stopped_.store(flag); +int64_t Environment::base_object_count() const { + return base_object_count_; } #define VP(PropertyName, StringValue) V(v8::Private, PropertyName) diff --git a/src/env.cc b/src/env.cc index 3dbc56b7c56bee..2bdac964cb03ca 100644 --- a/src/env.cc +++ b/src/env.cc @@ -1,6 +1,7 @@ #include "env.h" #include "async_wrap.h" +#include "debug_utils-inl.h" #include "memory_tracker-inl.h" #include "node_buffer.h" #include "node_context_data.h" @@ -315,13 +316,15 @@ Environment::Environment(IsolateData* isolate_data, Context::Scope context_scope(context); set_env_vars(per_process::system_environment); + enabled_debug_list_.Parse(this); // We create new copies of the per-Environment option sets, so that it is // easier to modify them after Environment creation. The defaults are // part of the per-Isolate option set, for which in turn the defaults are // part of the per-process option set. options_.reset(new EnvironmentOptions(*isolate_data->options()->per_env)); - inspector_host_port_.reset(new HostPort(options_->debug_options().host_port)); + inspector_host_port_.reset( + new ExclusiveAccess(options_->debug_options().host_port)); #if HAVE_INSPECTOR // We can only create the inspector agent after having cloned the options. @@ -332,8 +335,8 @@ Environment::Environment(IsolateData* isolate_data, if (tracing::AgentWriterHandle* writer = GetTracingAgentWriter()) { trace_state_observer_ = std::make_unique(this); - TracingController* tracing_controller = writer->GetTracingController(); - tracing_controller->AddTraceStateObserver(trace_state_observer_.get()); + if (TracingController* tracing_controller = writer->GetTracingController()) + tracing_controller->AddTraceStateObserver(trace_state_observer_.get()); } destroy_async_id_list_.reserve(512); @@ -374,10 +377,6 @@ Environment::Environment(IsolateData* isolate_data, // By default, always abort when --abort-on-uncaught-exception was passed. should_abort_on_uncaught_toggle_[0] = 1; - std::string debug_cats; - credentials::SafeGetenv("NODE_DEBUG_NATIVE", &debug_cats, this); - set_debug_categories(debug_cats, true); - if (options_->no_force_async_hooks_checks) { async_hooks_.no_force_checks(); } @@ -388,6 +387,8 @@ Environment::Environment(IsolateData* isolate_data, } Environment::~Environment() { + if (interrupt_data_ != nullptr) *interrupt_data_ = nullptr; + isolate()->GetHeapProfiler()->RemoveBuildEmbedderGraphCallback( BuildEmbedderGraph, this); @@ -409,8 +410,8 @@ Environment::~Environment() { if (trace_state_observer_) { tracing::AgentWriterHandle* writer = GetTracingAgentWriter(); CHECK_NOT_NULL(writer); - TracingController* tracing_controller = writer->GetTracingController(); - tracing_controller->RemoveTraceStateObserver(trace_state_observer_.get()); + if (TracingController* tracing_controller = writer->GetTracingController()) + tracing_controller->RemoveTraceStateObserver(trace_state_observer_.get()); } delete[] heap_statistics_buffer_; @@ -432,6 +433,8 @@ Environment::~Environment() { addon.Close(); } } + + CHECK_EQ(base_object_count(), 0); } void Environment::InitializeLibuv(bool start_profiler_idle_notifier) { @@ -461,23 +464,16 @@ void Environment::InitializeLibuv(bool start_profiler_idle_notifier) { uv_check_init(event_loop(), &idle_check_handle_); uv_async_init( event_loop(), - &cleanup_finalization_groups_async_, + &task_queues_async_, [](uv_async_t* async) { Environment* env = ContainerOf( - &Environment::cleanup_finalization_groups_async_, async); + &Environment::task_queues_async_, async); env->CleanupFinalizationGroups(); + env->RunAndClearNativeImmediates(); }); uv_unref(reinterpret_cast(&idle_prepare_handle_)); uv_unref(reinterpret_cast(&idle_check_handle_)); - uv_unref(reinterpret_cast(&cleanup_finalization_groups_async_)); - - thread_stopper()->Install( - this, static_cast(this), [](uv_async_t* handle) { - Environment* env = static_cast(handle->data); - uv_stop(env->event_loop()); - }); - thread_stopper()->set_stopped(false); - uv_unref(reinterpret_cast(thread_stopper()->GetHandle())); + uv_unref(reinterpret_cast(&task_queues_async_)); // Register clean-up cb to be called to clean up the handles // when the environment is freed, note that they are not cleaned in @@ -496,8 +492,9 @@ void Environment::InitializeLibuv(bool start_profiler_idle_notifier) { void Environment::ExitEnv() { set_can_call_into_js(false); - thread_stopper()->Stop(); + set_stopping(true); isolate_->TerminateExecution(); + SetImmediateThreadsafe([](Environment* env) { uv_stop(env->event_loop()); }); } void Environment::RegisterHandleCleanups() { @@ -533,12 +530,17 @@ void Environment::RegisterHandleCleanups() { close_and_finish, nullptr); RegisterHandleCleanup( - reinterpret_cast(&cleanup_finalization_groups_async_), + reinterpret_cast(&task_queues_async_), close_and_finish, nullptr); } void Environment::CleanupHandles() { + Isolate::DisallowJavascriptExecutionScope disallow_js(isolate(), + Isolate::DisallowJavascriptExecutionScope::THROW_ON_FAILURE); + + RunAndClearNativeImmediates(true /* skip SetUnrefImmediate()s */); + for (ReqWrapBase* request : req_wrap_queue_) request->Cancel(); @@ -597,7 +599,6 @@ void Environment::RunCleanup() { started_cleanup_ = true; TraceEventScope trace_scope(TRACING_CATEGORY_NODE1(environment), "RunCleanup", this); - thread_stopper()->Uninstall(); CleanupHandles(); while (!cleanup_hooks_.empty()) { @@ -654,43 +655,89 @@ void Environment::AtExit(void (*cb)(void* arg), void* arg) { at_exit_functions_.push_front(ExitCallback{cb, arg}); } -void Environment::RunAndClearNativeImmediates() { +void Environment::RunAndClearInterrupts() { + while (native_immediates_interrupts_.size() > 0) { + NativeImmediateQueue queue; + { + Mutex::ScopedLock lock(native_immediates_threadsafe_mutex_); + queue.ConcatMove(std::move(native_immediates_interrupts_)); + } + DebugSealHandleScope seal_handle_scope(isolate()); + + while (std::unique_ptr head = queue.Shift()) + head->Call(this); + } +} + +void Environment::RunAndClearNativeImmediates(bool only_refed) { TraceEventScope trace_scope(TRACING_CATEGORY_NODE1(environment), "RunAndClearNativeImmediates", this); size_t ref_count = 0; - size_t count = 0; - std::unique_ptr head; - head.swap(native_immediate_callbacks_head_); - native_immediate_callbacks_tail_ = nullptr; + + // Handle interrupts first. These functions are not allowed to throw + // exceptions, so we do not need to handle that. + RunAndClearInterrupts(); + + // It is safe to check .size() first, because there is a causal relationship + // between pushes to the threadsafe and this function being called. + // For the common case, it's worth checking the size first before establishing + // a mutex lock. + if (native_immediates_threadsafe_.size() > 0) { + Mutex::ScopedLock lock(native_immediates_threadsafe_mutex_); + native_immediates_.ConcatMove(std::move(native_immediates_threadsafe_)); + } auto drain_list = [&]() { TryCatchScope try_catch(this); - for (; head; head = head->get_next()) { - DebugSealHandleScope seal_handle_scope(isolate()); - count++; + DebugSealHandleScope seal_handle_scope(isolate()); + while (std::unique_ptr head = + native_immediates_.Shift()) { if (head->is_refed()) ref_count++; - head->Call(this); + if (head->is_refed() || !only_refed) + head->Call(this); + + head.reset(); // Destroy now so that this is also observed by try_catch. + if (UNLIKELY(try_catch.HasCaught())) { - if (!try_catch.HasTerminated()) + if (!try_catch.HasTerminated() && can_call_into_js()) errors::TriggerUncaughtException(isolate(), try_catch); - // We are done with the current callback. Move one iteration along, - // as if we had completed successfully. - head = head->get_next(); return true; } } return false; }; - while (head && drain_list()) {} + while (drain_list()) {} - DCHECK_GE(immediate_info()->count(), count); - immediate_info()->count_dec(count); immediate_info()->ref_count_dec(ref_count); + + if (immediate_info()->ref_count() == 0) + ToggleImmediateRef(false); } +void Environment::RequestInterruptFromV8() { + if (interrupt_data_ != nullptr) return; // Already scheduled. + + // The Isolate may outlive the Environment, so some logic to handle the + // situation in which the Environment is destroyed before the handler runs + // is required. + interrupt_data_ = new Environment*(this); + + isolate()->RequestInterrupt([](Isolate* isolate, void* data) { + std::unique_ptr env_ptr { static_cast(data) }; + Environment* env = *env_ptr; + if (env == nullptr) { + // The Environment has already been destroyed. That should be okay; any + // callback added before the Environment shuts down would have been + // handled during cleanup. + return; + } + env->interrupt_data_ = nullptr; + env->RunAndClearInterrupts(); + }, interrupt_data_); +} void Environment::ScheduleTimer(int64_t duration_ms) { if (started_cleanup_) return; @@ -774,15 +821,12 @@ void Environment::CheckImmediate(uv_check_t* handle) { TraceEventScope trace_scope(TRACING_CATEGORY_NODE1(environment), "CheckImmediate", env); - if (env->immediate_info()->count() == 0) - return; - HandleScope scope(env->isolate()); Context::Scope context_scope(env->context()); env->RunAndClearNativeImmediates(); - if (!env->can_call_into_js()) + if (env->immediate_info()->count() == 0 || !env->can_call_into_js()) return; do { @@ -821,29 +865,6 @@ Local Environment::GetNow() { return Number::New(isolate(), static_cast(now)); } -void Environment::set_debug_categories(const std::string& cats, bool enabled) { - std::string debug_categories = cats; - while (!debug_categories.empty()) { - std::string::size_type comma_pos = debug_categories.find(','); - std::string wanted = ToLower(debug_categories.substr(0, comma_pos)); - -#define V(name) \ - { \ - static const std::string available_category = ToLower(#name); \ - if (available_category.find(wanted) != std::string::npos) \ - set_debug_enabled(DebugCategory::name, enabled); \ - } - - DEBUG_CATEGORY_NAMES(V) -#undef V - - if (comma_pos == std::string::npos) - break; - // Use everything after the `,` as the list for the next iteration. - debug_categories = debug_categories.substr(comma_pos + 1); - } -} - void CollectExceptionInfo(Environment* env, Local obj, int errorno, @@ -1005,7 +1026,6 @@ inline size_t Environment::SelfSize() const { // TODO(joyeecheung): refactor the MemoryTracker interface so // this can be done for common types within the Track* calls automatically // if a certain scope is entered. - size -= sizeof(thread_stopper_); size -= sizeof(async_hooks_); size -= sizeof(tick_info_); size -= sizeof(immediate_info_); @@ -1027,7 +1047,6 @@ void Environment::MemoryInfo(MemoryTracker* tracker) const { tracker->TrackField("fs_stats_field_array", fs_stats_field_array_); tracker->TrackField("fs_stats_field_bigint_array", fs_stats_field_bigint_array_); - tracker->TrackField("thread_stopper", thread_stopper_); tracker->TrackField("cleanup_hooks", cleanup_hooks_); tracker->TrackField("async_hooks", async_hooks_); tracker->TrackField("immediate_info", immediate_info_); @@ -1100,47 +1119,19 @@ void Environment::CleanupFinalizationGroups() { if (try_catch.HasCaught() && !try_catch.HasTerminated()) errors::TriggerUncaughtException(isolate(), try_catch); // Re-schedule the execution of the remainder of the queue. - uv_async_send(&cleanup_finalization_groups_async_); + uv_async_send(&task_queues_async_); return; } } } -void AsyncRequest::Install(Environment* env, void* data, uv_async_cb target) { - CHECK_NULL(async_); - env_ = env; - async_ = new uv_async_t; - async_->data = data; - CHECK_EQ(uv_async_init(env_->event_loop(), async_, target), 0); -} - -void AsyncRequest::Uninstall() { - if (async_ != nullptr) { - env_->CloseHandle(async_, [](uv_async_t* async) { delete async; }); - async_ = nullptr; - } -} - -void AsyncRequest::Stop() { - set_stopped(true); - if (async_ != nullptr) uv_async_send(async_); -} - -uv_async_t* AsyncRequest::GetHandle() { - return async_; -} - -void AsyncRequest::MemoryInfo(MemoryTracker* tracker) const { - if (async_ != nullptr) tracker->TrackField("async_request", *async_); -} - -AsyncRequest::~AsyncRequest() { - CHECK_NULL(async_); -} - // Not really any better place than env.cc at this moment. void BaseObject::DeleteMe(void* data) { BaseObject* self = static_cast(data); + if (self->has_pointer_data() && + self->pointer_data()->strong_ptr_count > 0) { + return self->Detach(); + } delete self; } diff --git a/src/env.h b/src/env.h index 4e625f34741c0c..e5e8c107f6881d 100644 --- a/src/env.h +++ b/src/env.h @@ -29,6 +29,7 @@ #include "inspector_agent.h" #include "inspector_profiler.h" #endif +#include "debug_utils.h" #include "handle_wrap.h" #include "node.h" #include "node_binding.h" @@ -206,6 +207,7 @@ constexpr size_t kFsStatsBufferLength = V(dest_string, "dest") \ V(destroyed_string, "destroyed") \ V(detached_string, "detached") \ + V(dh_string, "DH") \ V(dns_a_string, "A") \ V(dns_aaaa_string, "AAAA") \ V(dns_cname_string, "CNAME") \ @@ -219,6 +221,7 @@ constexpr size_t kFsStatsBufferLength = V(done_string, "done") \ V(dot_string, ".") \ V(duration_string, "duration") \ + V(ecdh_string, "ECDH") \ V(emit_warning_string, "emitWarning") \ V(empty_object_string, "{}") \ V(encoding_string, "encoding") \ @@ -371,6 +374,13 @@ constexpr size_t kFsStatsBufferLength = V(type_string, "type") \ V(uid_string, "uid") \ V(unknown_string, "") \ + V(url_special_ftp_string, "ftp:") \ + V(url_special_file_string, "file:") \ + V(url_special_gopher_string, "gopher:") \ + V(url_special_http_string, "http:") \ + V(url_special_https_string, "https:") \ + V(url_special_ws_string, "ws:") \ + V(url_special_wss_string, "wss:") \ V(url_string, "url") \ V(username_string, "username") \ V(valid_from_string, "valid_from") \ @@ -541,20 +551,7 @@ struct ContextInfo { bool is_default = false; }; -// Listing the AsyncWrap provider types first enables us to cast directly -// from a provider type to a debug category. -#define DEBUG_CATEGORY_NAMES(V) \ - NODE_ASYNC_PROVIDER_TYPES(V) \ - V(INSPECTOR_SERVER) \ - V(INSPECTOR_PROFILER) \ - V(WASI) - -enum class DebugCategory { -#define V(name) name, - DEBUG_CATEGORY_NAMES(V) -#undef V - CATEGORY_COUNT -}; +class EnabledDebugList; // A unique-pointer-ish object that is compatible with the JS engine's // ArrayBuffer::Allocator. @@ -588,34 +585,6 @@ struct AllocatedBuffer { friend class Environment; }; -class AsyncRequest : public MemoryRetainer { - public: - AsyncRequest() = default; - ~AsyncRequest(); - - AsyncRequest(const AsyncRequest&) = delete; - AsyncRequest& operator=(const AsyncRequest&) = delete; - AsyncRequest(AsyncRequest&&) = delete; - AsyncRequest& operator=(AsyncRequest&&) = delete; - - void Install(Environment* env, void* data, uv_async_cb target); - void Uninstall(); - void Stop(); - inline void set_stopped(bool flag); - inline bool is_stopped() const; - uv_async_t* GetHandle(); - void MemoryInfo(MemoryTracker* tracker) const override; - - - SET_MEMORY_INFO_NAME(AsyncRequest) - SET_SELF_SIZE(AsyncRequest) - - private: - Environment* env_; - uv_async_t* async_ = nullptr; - std::atomic_bool stopped_ {true}; -}; - class KVStore { public: KVStore() = default; @@ -737,8 +706,6 @@ class ImmediateInfo : public MemoryRetainer { inline uint32_t count() const; inline uint32_t ref_count() const; inline bool has_outstanding() const; - inline void count_inc(uint32_t increment); - inline void count_dec(uint32_t decrement); inline void ref_count_inc(uint32_t increment); inline void ref_count_dec(uint32_t decrement); @@ -909,7 +876,7 @@ class Environment : public MemoryRetainer { const std::vector& exec_args, Flags flags = Flags(), uint64_t thread_id = kNoThreadId); - ~Environment(); + ~Environment() override; void InitializeLibuv(bool start_profiler_idle_notifier); inline const std::vector& exec_argv(); @@ -1039,9 +1006,7 @@ class Environment : public MemoryRetainer { inline http2::Http2State* http2_state() const; inline void set_http2_state(std::unique_ptr state); - inline bool debug_enabled(DebugCategory category) const; - inline void set_debug_enabled(DebugCategory category, bool enabled); - void set_debug_categories(const std::string& cats, bool enabled); + EnabledDebugList* enabled_debug_list() { return &enabled_debug_list_; } inline AliasedFloat64Array* fs_stats_field_array(); inline AliasedBigUint64Array* fs_stats_field_bigint_array(); @@ -1065,6 +1030,14 @@ class Environment : public MemoryRetainer { inline bool can_call_into_js() const; inline void set_can_call_into_js(bool can_call_into_js); + // Increase or decrease a counter that manages whether this Environment + // keeps the event loop alive on its own or not. The counter starts out at 0, + // meaning it does not, and any positive value will make it keep the event + // loop alive. + // This is used by Workers to manage their own .ref()/.unref() implementation, + // as Workers aren't directly associated with their own libuv handles. + inline void add_refs(int64_t diff); + inline bool has_run_bootstrapping_code() const; inline void set_has_run_bootstrapping_code(bool has_run_bootstrapping_code); @@ -1084,7 +1057,10 @@ class Environment : public MemoryRetainer { inline void add_sub_worker_context(worker::Worker* context); inline void remove_sub_worker_context(worker::Worker* context); void stop_sub_worker_contexts(); + template + inline void ForEachWorker(Fn&& iterator); inline bool is_stopping() const; + inline void set_stopping(bool value); inline std::list* extra_linked_bindings(); inline node_module* extra_linked_bindings_head(); inline const Mutex& extra_linked_bindings_mutex() const; @@ -1196,13 +1172,18 @@ class Environment : public MemoryRetainer { // cb will be called as cb(env) on the next event loop iteration. // keep_alive will be kept alive between now and after the callback has run. template - inline void SetImmediate(Fn&& cb, - v8::Local keep_alive = - v8::Local()); + inline void SetImmediate(Fn&& cb); + template + inline void SetUnrefImmediate(Fn&& cb); + template + // This behaves like SetImmediate() but can be called from any thread. + inline void SetImmediateThreadsafe(Fn&& cb); + // This behaves like V8's Isolate::RequestInterrupt(), but also accounts for + // the event loop (i.e. combines the V8 function with SetImmediate()). + // The passed callback may not throw exceptions. + // This function can be called from any thread. template - inline void SetUnrefImmediate(Fn&& cb, - v8::Local keep_alive = - v8::Local()); + inline void RequestInterrupt(Fn&& cb); // This needs to be available for the JS-land setImmediate(). void ToggleImmediateRef(bool ref); @@ -1225,12 +1206,16 @@ class Environment : public MemoryRetainer { void* data); inline std::shared_ptr options(); - inline std::shared_ptr inspector_host_port(); - - inline AsyncRequest* thread_stopper() { return &thread_stopper_; } + inline std::shared_ptr> inspector_host_port(); inline int32_t stack_trace_limit() const { return 10; } + // The BaseObject count is a debugging helper that makes sure that there are + // no memory leaks caused by BaseObjects staying alive longer than expected + // (in particular, no circular BaseObjectPtr references). + inline void modify_base_object_count(int64_t delta); + inline int64_t base_object_count() const; + #if HAVE_INSPECTOR void set_coverage_connection( std::unique_ptr connection); @@ -1273,9 +1258,7 @@ class Environment : public MemoryRetainer { private: template - inline void CreateImmediate(Fn&& cb, - v8::Local keep_alive, - bool ref); + inline void CreateImmediate(Fn&& cb, bool ref); inline void ThrowError(v8::Local (*fun)(v8::Local), const char* errmsg); @@ -1288,7 +1271,8 @@ class Environment : public MemoryRetainer { uv_idle_t immediate_idle_handle_; uv_prepare_t idle_prepare_handle_; uv_check_t idle_check_handle_; - uv_async_t cleanup_finalization_groups_async_; + uv_async_t task_queues_async_; + int64_t task_queues_async_refs_ = 0; bool profiler_idle_notifier_started_ = false; AsyncHooks async_hooks_; @@ -1324,7 +1308,7 @@ class Environment : public MemoryRetainer { // server starts listening), but when the inspector server starts // the inspector_host_port_->port() will be the actual port being // used. - std::shared_ptr inspector_host_port_; + std::shared_ptr> inspector_host_port_; std::vector exec_argv_; std::vector argv_; std::string exec_path_; @@ -1346,7 +1330,7 @@ class Environment : public MemoryRetainer { bool has_run_bootstrapping_code_ = false; bool has_serialized_options_ = false; - bool can_call_into_js_ = true; + std::atomic_bool can_call_into_js_ { true }; Flags flags_; uint64_t thread_id_; std::unordered_set sub_worker_contexts_; @@ -1382,8 +1366,7 @@ class Environment : public MemoryRetainer { bool http_parser_buffer_in_use_ = false; std::unique_ptr http2_state_; - bool debug_enabled_[static_cast(DebugCategory::CATEGORY_COUNT)] = {0}; - + EnabledDebugList enabled_debug_list_; AliasedFloat64Array fs_stats_field_array_; AliasedBigUint64Array fs_stats_field_bigint_array_; @@ -1424,20 +1407,39 @@ class Environment : public MemoryRetainer { template class NativeImmediateCallbackImpl final : public NativeImmediateCallback { public: - NativeImmediateCallbackImpl(Fn&& callback, - v8::Global&& keep_alive, - bool refed); + NativeImmediateCallbackImpl(Fn&& callback, bool refed); void Call(Environment* env) override; private: Fn callback_; - v8::Global keep_alive_; }; - std::unique_ptr native_immediate_callbacks_head_; - NativeImmediateCallback* native_immediate_callbacks_tail_ = nullptr; + class NativeImmediateQueue { + public: + inline std::unique_ptr Shift(); + inline void Push(std::unique_ptr cb); + // ConcatMove adds elements from 'other' to the end of this list, and clears + // 'other' afterwards. + inline void ConcatMove(NativeImmediateQueue&& other); + + // size() is atomic and may be called from any thread. + inline size_t size() const; + + private: + std::atomic size_ {0}; + std::unique_ptr head_; + NativeImmediateCallback* tail_ = nullptr; + }; + + NativeImmediateQueue native_immediates_; + Mutex native_immediates_threadsafe_mutex_; + NativeImmediateQueue native_immediates_threadsafe_; + NativeImmediateQueue native_immediates_interrupts_; - void RunAndClearNativeImmediates(); + void RunAndClearNativeImmediates(bool only_refed = false); + void RunAndClearInterrupts(); + Environment** interrupt_data_ = nullptr; + void RequestInterruptFromV8(); static void CheckImmediate(uv_check_t* handle); // Use an unordered_set, so that we have efficient insertion and removal. @@ -1447,9 +1449,8 @@ class Environment : public MemoryRetainer { uint64_t cleanup_hook_counter_ = 0; bool started_cleanup_ = false; - // A custom async abstraction (a pair of async handle and a state variable) - // Used by embedders to shutdown running Node instance. - AsyncRequest thread_stopper_; + int64_t base_object_count_ = 0; + std::atomic_bool is_stopping_ { false }; typedef std::unordered_set> ArrayBufferAllocatorList; diff --git a/src/fs_event_wrap.cc b/src/fs_event_wrap.cc index 8a75f0557c4b37..d38556b1bf8011 100644 --- a/src/fs_event_wrap.cc +++ b/src/fs_event_wrap.cc @@ -64,7 +64,7 @@ class FSEventWrap: public HandleWrap { static const encoding kDefaultEncoding = UTF8; FSEventWrap(Environment* env, Local object); - ~FSEventWrap() = default; + ~FSEventWrap() override = default; static void OnEvent(uv_fs_event_t* handle, const char* filename, int events, int status); diff --git a/src/handle_wrap.cc b/src/handle_wrap.cc index 4e01722af606c4..f5d622fc255cdf 100644 --- a/src/handle_wrap.cc +++ b/src/handle_wrap.cc @@ -83,14 +83,8 @@ void HandleWrap::Close(Local close_callback) { } -void HandleWrap::MakeWeak() { - persistent().SetWeak( - this, - [](const v8::WeakCallbackInfo& data) { - HandleWrap* handle_wrap = data.GetParameter(); - handle_wrap->persistent().Reset(); - handle_wrap->Close(); - }, v8::WeakCallbackType::kParameter); +void HandleWrap::OnGCCollect() { + Close(); } @@ -121,7 +115,9 @@ HandleWrap::HandleWrap(Environment* env, void HandleWrap::OnClose(uv_handle_t* handle) { - std::unique_ptr wrap { static_cast(handle->data) }; + BaseObjectPtr wrap { static_cast(handle->data) }; + wrap->Detach(); + Environment* env = wrap->env(); HandleScope scope(env->isolate()); Context::Scope context_scope(env->context()); @@ -131,6 +127,7 @@ void HandleWrap::OnClose(uv_handle_t* handle) { wrap->state_ = kClosed; wrap->OnClose(); + wrap->handle_wrap_queue_.Remove(); if (!wrap->persistent().IsEmpty() && wrap->object()->Has(env->context(), env->handle_onclose_symbol()) diff --git a/src/handle_wrap.h b/src/handle_wrap.h index fbcea4ae4487f5..a555da9479de93 100644 --- a/src/handle_wrap.h +++ b/src/handle_wrap.h @@ -61,7 +61,9 @@ class HandleWrap : public AsyncWrap { static void HasRef(const v8::FunctionCallbackInfo& args); static inline bool IsAlive(const HandleWrap* wrap) { - return wrap != nullptr && wrap->state_ != kClosed; + return wrap != nullptr && + wrap->IsDoneInitializing() && + wrap->state_ != kClosed; } static inline bool HasRef(const HandleWrap* wrap) { @@ -76,14 +78,13 @@ class HandleWrap : public AsyncWrap { static v8::Local GetConstructorTemplate( Environment* env); - void MakeWeak(); // This hides BaseObject::MakeWeak() - protected: HandleWrap(Environment* env, v8::Local object, uv_handle_t* handle, AsyncWrap::ProviderType provider); virtual void OnClose() {} + void OnGCCollect() final; void MarkAsInitialized(); void MarkAsUninitialized(); diff --git a/src/heap_utils.cc b/src/heap_utils.cc index b996f78aa4199b..b6c8c75c159846 100644 --- a/src/heap_utils.cc +++ b/src/heap_utils.cc @@ -385,15 +385,9 @@ void Initialize(Local target, void* priv) { Environment* env = Environment::GetCurrent(context); - env->SetMethodNoSideEffect(target, - "buildEmbedderGraph", - BuildEmbedderGraph); - env->SetMethodNoSideEffect(target, - "triggerHeapSnapshot", - TriggerHeapSnapshot); - env->SetMethodNoSideEffect(target, - "createHeapSnapshotStream", - CreateHeapSnapshotStream); + env->SetMethod(target, "buildEmbedderGraph", BuildEmbedderGraph); + env->SetMethod(target, "triggerHeapSnapshot", TriggerHeapSnapshot); + env->SetMethod(target, "createHeapSnapshotStream", CreateHeapSnapshotStream); // Create FunctionTemplate for HeapSnapshotStream Local os = FunctionTemplate::New(env->isolate()); diff --git a/src/inspector_agent.cc b/src/inspector_agent.cc index aff52a5a5eccd1..94433b75d0fdb2 100644 --- a/src/inspector_agent.cc +++ b/src/inspector_agent.cc @@ -757,7 +757,7 @@ Agent::~Agent() {} bool Agent::Start(const std::string& path, const DebugOptions& options, - std::shared_ptr host_port, + std::shared_ptr> host_port, bool is_main) { path_ = path; debug_options_ = options; diff --git a/src/inspector_agent.h b/src/inspector_agent.h index d5088a1b546904..089077370db049 100644 --- a/src/inspector_agent.h +++ b/src/inspector_agent.h @@ -48,7 +48,7 @@ class Agent { // Create client_, may create io_ if option enabled bool Start(const std::string& path, const DebugOptions& options, - std::shared_ptr host_port, + std::shared_ptr> host_port, bool is_main); // Stop and destroy io_ void Stop(); @@ -110,7 +110,7 @@ class Agent { void RequestIoThreadStart(); const DebugOptions& options() { return debug_options_; } - std::shared_ptr host_port() { return host_port_; } + std::shared_ptr> host_port() { return host_port_; } void ContextCreated(v8::Local context, const ContextInfo& info); // Interface for interacting with inspectors in worker threads @@ -133,7 +133,7 @@ class Agent { // pointer which is meant to store the actual host and port of the inspector // server. DebugOptions debug_options_; - std::shared_ptr host_port_; + std::shared_ptr> host_port_; bool pending_enable_async_hook_ = false; bool pending_disable_async_hook_ = false; diff --git a/src/inspector_io.cc b/src/inspector_io.cc index 76e481c9530d95..75290317d2fcae 100644 --- a/src/inspector_io.cc +++ b/src/inspector_io.cc @@ -4,7 +4,7 @@ #include "inspector/main_thread_interface.h" #include "inspector/node_string.h" #include "base_object-inl.h" -#include "debug_utils.h" +#include "debug_utils-inl.h" #include "node.h" #include "node_crypto.h" #include "node_internals.h" @@ -239,7 +239,7 @@ class InspectorIoDelegate: public node::inspector::SocketServerDelegate { std::unique_ptr InspectorIo::Start( std::shared_ptr main_thread, const std::string& path, - std::shared_ptr host_port, + std::shared_ptr> host_port, const InspectPublishUid& inspect_publish_uid) { auto io = std::unique_ptr( new InspectorIo(main_thread, @@ -254,7 +254,7 @@ std::unique_ptr InspectorIo::Start( InspectorIo::InspectorIo(std::shared_ptr main_thread, const std::string& path, - std::shared_ptr host_port, + std::shared_ptr> host_port, const InspectPublishUid& inspect_publish_uid) : main_thread_(main_thread), host_port_(host_port), @@ -293,10 +293,17 @@ void InspectorIo::ThreadMain() { std::unique_ptr delegate( new InspectorIoDelegate(queue, main_thread_, id_, script_path, script_name_)); + std::string host; + int port; + { + ExclusiveAccess::Scoped host_port(host_port_); + host = host_port->host(); + port = host_port->port(); + } InspectorSocketServer server(std::move(delegate), &loop, - host_port_->host(), - host_port_->port(), + std::move(host), + port, inspect_publish_uid_); request_queue_ = queue->handle(); // Its lifetime is now that of the server delegate @@ -304,7 +311,8 @@ void InspectorIo::ThreadMain() { { Mutex::ScopedLock scoped_lock(thread_start_lock_); if (server.Start()) { - host_port_->set_port(server.Port()); + ExclusiveAccess::Scoped host_port(host_port_); + host_port->set_port(server.Port()); } thread_start_condition_.Broadcast(scoped_lock); } @@ -313,7 +321,8 @@ void InspectorIo::ThreadMain() { } std::string InspectorIo::GetWsUrl() const { - return FormatWsAddress(host_port_->host(), host_port_->port(), id_, true); + ExclusiveAccess::Scoped host_port(host_port_); + return FormatWsAddress(host_port->host(), host_port->port(), id_, true); } InspectorIoDelegate::InspectorIoDelegate( diff --git a/src/inspector_io.h b/src/inspector_io.h index e9f94056733994..10cca26ff1b9ee 100644 --- a/src/inspector_io.h +++ b/src/inspector_io.h @@ -30,7 +30,7 @@ class InspectorIo { static std::unique_ptr Start( std::shared_ptr main_thread, const std::string& path, - std::shared_ptr host_port, + std::shared_ptr> host_port, const InspectPublishUid& inspect_publish_uid); // Will block till the transport thread shuts down @@ -42,7 +42,7 @@ class InspectorIo { private: InspectorIo(std::shared_ptr handle, const std::string& path, - std::shared_ptr host_port, + std::shared_ptr> host_port, const InspectPublishUid& inspect_publish_uid); // Wrapper for agent->ThreadMain() @@ -57,7 +57,7 @@ class InspectorIo { // Used to post on a frontend interface thread, lives while the server is // running std::shared_ptr request_queue_; - std::shared_ptr host_port_; + std::shared_ptr> host_port_; InspectPublishUid inspect_publish_uid_; // The IO thread runs its own uv_loop to implement the TCP server off diff --git a/src/inspector_js_api.cc b/src/inspector_js_api.cc index 45b1c83bea7f34..703c9ff598fdf2 100644 --- a/src/inspector_js_api.cc +++ b/src/inspector_js_api.cc @@ -278,12 +278,14 @@ void Open(const FunctionCallbackInfo& args) { if (args.Length() > 0 && args[0]->IsUint32()) { uint32_t port = args[0].As()->Value(); - agent->host_port()->set_port(static_cast(port)); + ExclusiveAccess::Scoped host_port(agent->host_port()); + host_port->set_port(static_cast(port)); } if (args.Length() > 1 && args[1]->IsString()) { Utf8Value host(env->isolate(), args[1].As()); - agent->host_port()->set_host(*host); + ExclusiveAccess::Scoped host_port(agent->host_port()); + host_port->set_host(*host); } agent->StartIoThread(); diff --git a/src/inspector_profiler.cc b/src/inspector_profiler.cc index e0d02d6952a3f9..f9d3c2b512f1c1 100644 --- a/src/inspector_profiler.cc +++ b/src/inspector_profiler.cc @@ -1,6 +1,6 @@ #include "inspector_profiler.h" #include "base_object-inl.h" -#include "debug_utils.h" +#include "debug_utils-inl.h" #include "diagnosticfilename-inl.h" #include "memory_tracker-inl.h" #include "node_file.h" diff --git a/src/js_native_api.h b/src/js_native_api.h index 150103348e4dc6..489549190b663e 100644 --- a/src/js_native_api.h +++ b/src/js_native_api.h @@ -440,7 +440,7 @@ NAPI_EXTERN napi_status napi_reject_deferred(napi_env env, napi_deferred deferred, napi_value rejection); NAPI_EXTERN napi_status napi_is_promise(napi_env env, - napi_value promise, + napi_value value, bool* is_promise); // Running a script diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc index da5d5eca03a2e1..d26b28dd0df4e8 100644 --- a/src/js_native_api_v8.cc +++ b/src/js_native_api_v8.cc @@ -186,49 +186,41 @@ inline static napi_status ConcludeDeferred(napi_env env, } // Wrapper around v8impl::Persistent that implements reference counting. -class Reference : protected Finalizer, RefTracker { +class RefBase : protected Finalizer, RefTracker { protected: - Reference(napi_env env, - v8::Local value, - uint32_t initial_refcount, - bool delete_self, - napi_finalize finalize_callback, - void* finalize_data, - void* finalize_hint) + RefBase(napi_env env, + uint32_t initial_refcount, + bool delete_self, + napi_finalize finalize_callback, + void* finalize_data, + void* finalize_hint) : Finalizer(env, finalize_callback, finalize_data, finalize_hint), - _persistent(env->isolate, value), _refcount(initial_refcount), _delete_self(delete_self) { - if (initial_refcount == 0) { - _persistent.SetWeak( - this, FinalizeCallback, v8::WeakCallbackType::kParameter); - } Link(finalize_callback == nullptr ? &env->reflist : &env->finalizing_reflist); } public: - void* Data() { + static RefBase* New(napi_env env, + uint32_t initial_refcount, + bool delete_self, + napi_finalize finalize_callback, + void* finalize_data, + void* finalize_hint) { + return new RefBase(env, + initial_refcount, + delete_self, + finalize_callback, + finalize_data, + finalize_hint); + } + + inline void* Data() { return _finalize_data; } - static Reference* New(napi_env env, - v8::Local value, - uint32_t initial_refcount, - bool delete_self, - napi_finalize finalize_callback = nullptr, - void* finalize_data = nullptr, - void* finalize_hint = nullptr) { - return new Reference(env, - value, - initial_refcount, - delete_self, - finalize_callback, - finalize_data, - finalize_hint); - } - // Delete is called in 2 ways. Either from the finalizer or // from one of Unwrap or napi_delete_reference. // @@ -244,7 +236,7 @@ class Reference : protected Finalizer, RefTracker { // The second way this is called is from // the finalizer and _delete_self is set. In this case we // know we need to do the deletion so just do it. - static void Delete(Reference* reference) { + static inline void Delete(RefBase* reference) { reference->Unlink(); if ((reference->RefCount() != 0) || (reference->_delete_self) || @@ -257,40 +249,23 @@ class Reference : protected Finalizer, RefTracker { } } - uint32_t Ref() { - if (++_refcount == 1) { - _persistent.ClearWeak(); - } - - return _refcount; + inline uint32_t Ref() { + return ++_refcount; } - uint32_t Unref() { + inline uint32_t Unref() { if (_refcount == 0) { return 0; } - if (--_refcount == 0) { - _persistent.SetWeak( - this, FinalizeCallback, v8::WeakCallbackType::kParameter); - } - - return _refcount; + return --_refcount; } - uint32_t RefCount() { + inline uint32_t RefCount() { return _refcount; } - v8::Local Get() { - if (_persistent.IsEmpty()) { - return v8::Local(); - } else { - return v8::Local::New(_env->isolate, _persistent); - } - } - protected: - void Finalize(bool is_env_teardown = false) override { + inline void Finalize(bool is_env_teardown = false) override { if (_finalize_callback != nullptr) { _env->CallIntoModuleThrow([&](napi_env env) { _finalize_callback( @@ -310,6 +285,68 @@ class Reference : protected Finalizer, RefTracker { } } + private: + uint32_t _refcount; + bool _delete_self; +}; + +class Reference : public RefBase { + protected: + template + Reference(napi_env env, + v8::Local value, + Args&&... args) + : RefBase(env, std::forward(args)...), + _persistent(env->isolate, value) { + if (RefCount() == 0) { + _persistent.SetWeak( + this, FinalizeCallback, v8::WeakCallbackType::kParameter); + } + } + + public: + static inline Reference* New(napi_env env, + v8::Local value, + uint32_t initial_refcount, + bool delete_self, + napi_finalize finalize_callback = nullptr, + void* finalize_data = nullptr, + void* finalize_hint = nullptr) { + return new Reference(env, + value, + initial_refcount, + delete_self, + finalize_callback, + finalize_data, + finalize_hint); + } + + inline uint32_t Ref() { + uint32_t refcount = RefBase::Ref(); + if (refcount == 1) { + _persistent.ClearWeak(); + } + return refcount; + } + + inline uint32_t Unref() { + uint32_t old_refcount = RefCount(); + uint32_t refcount = RefBase::Unref(); + if (old_refcount == 1 && refcount == 0) { + _persistent.SetWeak( + this, FinalizeCallback, v8::WeakCallbackType::kParameter); + } + return refcount; + } + + inline v8::Local Get() { + if (_persistent.IsEmpty()) { + return v8::Local(); + } else { + return v8::Local::New(_env->isolate, _persistent); + } + } + private: // The N-API finalizer callback may make calls into the engine. V8's heap is // not in a consistent state during the weak callback, and therefore it does @@ -332,8 +369,6 @@ class Reference : protected Finalizer, RefTracker { } v8impl::Persistent _persistent; - uint32_t _refcount; - bool _delete_self; }; class ArrayBufferReference final : public Reference { @@ -354,7 +389,7 @@ class ArrayBufferReference final : public Reference { } private: - void Finalize(bool is_env_teardown) override { + inline void Finalize(bool is_env_teardown) override { if (is_env_teardown) { v8::HandleScope handle_scope(_env->isolate); v8::Local ab = Get(); @@ -1530,10 +1565,8 @@ napi_status napi_create_bigint_words(napi_env env, v8::Local context = env->context(); - if (word_count > INT_MAX) { - napi_throw_range_error(env, nullptr, "Maximum BigInt size exceeded"); - return napi_set_last_error(env, napi_pending_exception); - } + RETURN_STATUS_IF_FALSE( + env, word_count <= INT_MAX, napi_invalid_arg); v8::MaybeLocal b = v8::BigInt::NewFromWords( context, sign_bit, word_count, words); @@ -2913,13 +2946,13 @@ napi_status napi_reject_deferred(napi_env env, } napi_status napi_is_promise(napi_env env, - napi_value promise, + napi_value value, bool* is_promise) { CHECK_ENV(env); - CHECK_ARG(env, promise); + CHECK_ARG(env, value); CHECK_ARG(env, is_promise); - *is_promise = v8impl::V8LocalValueFromJsValue(promise)->IsPromise(); + *is_promise = v8impl::V8LocalValueFromJsValue(value)->IsPromise(); return napi_clear_last_error(env); } @@ -3025,9 +3058,19 @@ napi_status napi_set_instance_data(napi_env env, void* finalize_hint) { CHECK_ENV(env); - env->instance_data.data = data; - env->instance_data.finalize_cb = finalize_cb; - env->instance_data.hint = finalize_hint; + v8impl::RefBase* old_data = static_cast(env->instance_data); + if (old_data != nullptr) { + // Our contract so far has been to not finalize any old data there may be. + // So we simply delete it. + v8impl::RefBase::Delete(old_data); + } + + env->instance_data = v8impl::RefBase::New(env, + 0, + true, + finalize_cb, + data, + finalize_hint); return napi_clear_last_error(env); } @@ -3037,7 +3080,9 @@ napi_status napi_get_instance_data(napi_env env, CHECK_ENV(env); CHECK_ARG(env, data); - *data = env->instance_data.data; + v8impl::RefBase* idata = static_cast(env->instance_data); + + *data = (idata == nullptr ? nullptr : idata->Data()); return napi_clear_last_error(env); } diff --git a/src/js_native_api_v8.h b/src/js_native_api_v8.h index 0d5424cccaddf0..ec397275164c8d 100644 --- a/src/js_native_api_v8.h +++ b/src/js_native_api_v8.h @@ -8,6 +8,49 @@ static napi_status napi_clear_last_error(napi_env env); +namespace v8impl { + +class RefTracker { + public: + RefTracker() {} + virtual ~RefTracker() {} + virtual void Finalize(bool isEnvTeardown) {} + + typedef RefTracker RefList; + + inline void Link(RefList* list) { + prev_ = list; + next_ = list->next_; + if (next_ != nullptr) { + next_->prev_ = this; + } + list->next_ = this; + } + + inline void Unlink() { + if (prev_ != nullptr) { + prev_->next_ = next_; + } + if (next_ != nullptr) { + next_->prev_ = prev_; + } + prev_ = nullptr; + next_ = nullptr; + } + + static void FinalizeAll(RefList* list) { + while (list->next_ != nullptr) { + list->next_->Finalize(true); + } + } + + private: + RefList* next_ = nullptr; + RefList* prev_ = nullptr; +}; + +} // end of namespace v8impl + struct napi_env__ { explicit napi_env__(v8::Local context) : isolate(context->GetIsolate()), @@ -22,11 +65,6 @@ struct napi_env__ { // `napi_finalizer` deleted them subsequently. v8impl::RefTracker::FinalizeAll(&finalizing_reflist); v8impl::RefTracker::FinalizeAll(&reflist); - if (instance_data.finalize_cb != nullptr) { - CallIntoModuleThrow([&](napi_env env) { - instance_data.finalize_cb(env, instance_data.data, instance_data.hint); - }); - } } v8::Isolate* const isolate; // Shortcut for context()->GetIsolate() v8impl::Persistent context_persistent; @@ -76,11 +114,7 @@ struct napi_env__ { int open_handle_scopes = 0; int open_callback_scopes = 0; int refs = 1; - struct { - void* data = nullptr; - void* hint = nullptr; - napi_finalize finalize_cb = nullptr; - } instance_data; + void* instance_data = nullptr; }; static inline napi_status napi_clear_last_error(napi_env env) { diff --git a/src/js_native_api_v8_internals.h b/src/js_native_api_v8_internals.h index 74afd1172e527e..ddd219818cdfa9 100644 --- a/src/js_native_api_v8_internals.h +++ b/src/js_native_api_v8_internals.h @@ -28,45 +28,6 @@ namespace v8impl { -class RefTracker { - public: - RefTracker() {} - virtual ~RefTracker() {} - virtual void Finalize(bool isEnvTeardown) {} - - typedef RefTracker RefList; - - inline void Link(RefList* list) { - prev_ = list; - next_ = list->next_; - if (next_ != nullptr) { - next_->prev_ = this; - } - list->next_ = this; - } - - inline void Unlink() { - if (prev_ != nullptr) { - prev_->next_ = next_; - } - if (next_ != nullptr) { - next_->prev_ = prev_; - } - prev_ = nullptr; - next_ = nullptr; - } - - static void FinalizeAll(RefList* list) { - while (list->next_ != nullptr) { - list->next_->Finalize(true); - } - } - - private: - RefList* next_ = nullptr; - RefList* prev_ = nullptr; -}; - template using Persistent = v8::Global; diff --git a/src/js_stream.cc b/src/js_stream.cc index a67fd37dbdb2b6..64941b1c4e4fb7 100644 --- a/src/js_stream.cc +++ b/src/js_stream.cc @@ -116,16 +116,15 @@ int JSStream::DoWrite(WriteWrap* w, HandleScope scope(env()->isolate()); Context::Scope context_scope(env()->context()); - Local bufs_arr = Array::New(env()->isolate(), count); - Local buf; + MaybeStackBuffer, 16> bufs_arr(count); for (size_t i = 0; i < count; i++) { - buf = Buffer::Copy(env(), bufs[i].base, bufs[i].len).ToLocalChecked(); - bufs_arr->Set(env()->context(), i, buf).Check(); + bufs_arr[i] = + Buffer::Copy(env(), bufs[i].base, bufs[i].len).ToLocalChecked(); } Local argv[] = { w->object(), - bufs_arr + Array::New(env()->isolate(), bufs_arr.out(), count) }; TryCatchScope try_catch(env()); diff --git a/src/large_pages/node_large_page.cc b/src/large_pages/node_large_page.cc index 4e2f8fc4410316..f636c9f3142376 100644 --- a/src/large_pages/node_large_page.cc +++ b/src/large_pages/node_large_page.cc @@ -78,9 +78,12 @@ struct text_region { static const size_t hps = 2L * 1024 * 1024; +static void PrintWarning(const char* warn) { + fprintf(stderr, "Hugepages WARNING: %s\n", warn); +} + static void PrintSystemError(int error) { - fprintf(stderr, "Hugepages WARNING: %s\n", strerror(error)); - return; + PrintWarning(strerror(error)); } inline uintptr_t hugepage_align_up(uintptr_t addr) { @@ -94,9 +97,11 @@ inline uintptr_t hugepage_align_down(uintptr_t addr) { // The format of the maps file is the following // address perms offset dev inode pathname // 00400000-00452000 r-xp 00000000 08:02 173521 /usr/bin/dbus-daemon -// This is also handling the case where the first line is not the binary +// This is also handling the case where the first line is not the binary. static struct text_region FindNodeTextRegion() { + struct text_region nregion; + nregion.found_text_region = false; #if defined(__linux__) std::ifstream ifs; std::string map_line; @@ -104,13 +109,10 @@ static struct text_region FindNodeTextRegion() { std::string dev; char dash; uintptr_t start, end, offset, inode; - struct text_region nregion; - - nregion.found_text_region = false; ifs.open("/proc/self/maps"); if (!ifs) { - fprintf(stderr, "Could not open /proc/self/maps\n"); + PrintWarning("could not open /proc/self/maps"); return nregion; } @@ -158,9 +160,6 @@ static struct text_region FindNodeTextRegion() { ifs.close(); #elif defined(__FreeBSD__) - struct text_region nregion; - nregion.found_text_region = false; - std::string exename; { char selfexe[PATH_MAX]; @@ -178,7 +177,7 @@ static struct text_region FindNodeTextRegion() { return nregion; } - // for struct kinfo_vmentry + // Enough for struct kinfo_vmentry. numpg = numpg * 4 / 3; auto alg = std::vector(numpg); @@ -217,8 +216,6 @@ static struct text_region FindNodeTextRegion() { start += cursz; } #elif defined(__APPLE__) - struct text_region nregion; - nregion.found_text_region = false; struct vm_region_submap_info_64 map; mach_msg_type_number_t count = VM_REGION_SUBMAP_INFO_COUNT_64; vm_address_t addr = 0UL; @@ -262,39 +259,29 @@ static bool IsTransparentHugePagesEnabled() { ifs.open("/sys/kernel/mm/transparent_hugepage/enabled"); if (!ifs) { - fprintf(stderr, "Could not open file: " \ - "/sys/kernel/mm/transparent_hugepage/enabled\n"); + PrintWarning("could not open /sys/kernel/mm/transparent_hugepage/enabled"); return false; } - std::string always, madvise, never; + std::string always, madvise; if (ifs.is_open()) { - while (ifs >> always >> madvise >> never) {} + while (ifs >> always >> madvise) {} } - - int ret_status = false; - - if (always.compare("[always]") == 0) - ret_status = true; - else if (madvise.compare("[madvise]") == 0) - ret_status = true; - else if (never.compare("[never]") == 0) - ret_status = false; - ifs.close(); - return ret_status; + + return always == "[always]" || madvise == "[madvise]"; } #elif defined(__FreeBSD__) static bool IsSuperPagesEnabled() { - // It is enabled by default on amd64 + // It is enabled by default on amd64. unsigned int super_pages = 0; size_t super_pages_length = sizeof(super_pages); - if (sysctlbyname("vm.pmap.pg_ps_enabled", &super_pages, - &super_pages_length, nullptr, 0) == -1 || - super_pages < 1) { - return false; - } - return true; + return sysctlbyname("vm.pmap.pg_ps_enabled", + &super_pages, + &super_pages_length, + nullptr, + 0) != -1 && + super_pages >= 1; } #endif @@ -326,7 +313,7 @@ MoveTextRegionToLargePages(const text_region& r) { size_t size = r.to - r.from; void* start = r.from; - // Allocate temporary region preparing for copy + // Allocate temporary region preparing for copy. nmem = mmap(nullptr, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); if (nmem == MAP_FAILED) { @@ -410,11 +397,11 @@ MoveTextRegionToLargePages(const text_region& r) { return ret; } -// This is the primary API called from main +// This is the primary API called from main. int MapStaticCodeToLargePages() { struct text_region r = FindNodeTextRegion(); if (r.found_text_region == false) { - fprintf(stderr, "Hugepages WARNING: failed to find text region\n"); + PrintWarning("failed to find text region"); return -1; } diff --git a/src/memory_tracker-inl.h b/src/memory_tracker-inl.h index da37f72c737607..2e39fa21a944d8 100644 --- a/src/memory_tracker-inl.h +++ b/src/memory_tracker-inl.h @@ -99,9 +99,9 @@ void MemoryTracker::TrackField(const char* edge_name, } } -template +template void MemoryTracker::TrackField(const char* edge_name, - const std::unique_ptr& value, + const std::unique_ptr& value, const char* node_name) { if (value.get() == nullptr) { return; @@ -109,6 +109,14 @@ void MemoryTracker::TrackField(const char* edge_name, TrackField(edge_name, value.get(), node_name); } +template +void MemoryTracker::TrackField(const char* edge_name, + const BaseObjectPtrImpl& value, + const char* node_name) { + if (value.get() == nullptr) return; + TrackField(edge_name, value.get(), node_name); +} + template void MemoryTracker::TrackField(const char* edge_name, const T& value, diff --git a/src/memory_tracker.h b/src/memory_tracker.h index d22116918afec8..a400009aad6728 100644 --- a/src/memory_tracker.h +++ b/src/memory_tracker.h @@ -30,6 +30,8 @@ namespace node { class MemoryTracker; class MemoryRetainerNode; +template +class BaseObjectPtrImpl; namespace crypto { class NodeBIO; @@ -134,11 +136,16 @@ class MemoryTracker { size_t size, const char* node_name = nullptr); // Shortcut to extract the underlying object out of the smart pointer - template + template inline void TrackField(const char* edge_name, - const std::unique_ptr& value, + const std::unique_ptr& value, const char* node_name = nullptr); + template + void TrackField(const char* edge_name, + const BaseObjectPtrImpl& value, + const char* node_name = nullptr); + // For containers, the elements will be graphed as grandchildren nodes // if the container is not empty. // By default, we assume the parent count the stack size of the container diff --git a/src/module_wrap.cc b/src/module_wrap.cc index b53aab6dc16c7a..c25edd9a28a964 100644 --- a/src/module_wrap.cc +++ b/src/module_wrap.cc @@ -23,6 +23,7 @@ using node::url::URL; using node::url::URL_FLAGS_FAILED; using v8::Array; using v8::Context; +using v8::EscapableHandleScope; using v8::Function; using v8::FunctionCallbackInfo; using v8::FunctionTemplate; @@ -43,6 +44,7 @@ using v8::PrimitiveArray; using v8::Promise; using v8::ScriptCompiler; using v8::ScriptOrigin; +using v8::ScriptOrModule; using v8::String; using v8::Undefined; using v8::Value; @@ -236,11 +238,11 @@ void ModuleWrap::Link(const FunctionCallbackInfo& args) { Local mod_context = obj->context_.Get(isolate); Local module = obj->module_.Get(isolate); - Local promises = Array::New(isolate, - module->GetModuleRequestsLength()); + const int module_requests_length = module->GetModuleRequestsLength(); + MaybeStackBuffer, 16> promises(module_requests_length); // call the dependency resolve callbacks - for (int i = 0; i < module->GetModuleRequestsLength(); i++) { + for (int i = 0; i < module_requests_length; i++) { Local specifier = module->GetModuleRequest(i); Utf8Value specifier_utf8(env->isolate(), specifier); std::string specifier_std(*specifier_utf8, specifier_utf8.length()); @@ -262,10 +264,11 @@ void ModuleWrap::Link(const FunctionCallbackInfo& args) { Local resolve_promise = resolve_return_value.As(); obj->resolve_cache_[specifier_std].Reset(env->isolate(), resolve_promise); - promises->Set(mod_context, i, resolve_promise).Check(); + promises[i] = resolve_promise; } - args.GetReturnValue().Set(promises); + args.GetReturnValue().Set( + Array::New(isolate, promises.out(), promises.length())); } void ModuleWrap::Instantiate(const FunctionCallbackInfo& args) { @@ -398,12 +401,13 @@ void ModuleWrap::GetStaticDependencySpecifiers( int count = module->GetModuleRequestsLength(); - Local specifiers = Array::New(env->isolate(), count); + MaybeStackBuffer, 16> specifiers(count); for (int i = 0; i < count; i++) - specifiers->Set(env->context(), i, module->GetModuleRequest(i)).Check(); + specifiers[i] = module->GetModuleRequest(i); - args.GetReturnValue().Set(specifiers); + args.GetReturnValue().Set( + Array::New(env->isolate(), specifiers.out(), count)); } void ModuleWrap::GetError(const FunctionCallbackInfo& args) { @@ -597,7 +601,7 @@ Maybe GetPackageConfig(Environment* env, std::string pkg_src = source.FromJust(); Isolate* isolate = env->isolate(); - v8::HandleScope handle_scope(isolate); + HandleScope handle_scope(isolate); Local pkg_json; { @@ -808,6 +812,10 @@ Maybe FinalizeResolution(Environment* env, return Nothing(); } + if (resolved.path().back() == '/') { + return Just(resolved); + } + const std::string& path = resolved.ToFilePath(); if (CheckDescriptorAtPath(path) != FILE) { std::string msg = "Cannot find module " + @@ -824,10 +832,20 @@ void ThrowExportsNotFound(Environment* env, const std::string& subpath, const URL& pjson_url, const URL& base) { - const std::string msg = "Package exports for " + - pjson_url.ToFilePath() + " do not define a '" + subpath + - "' subpath, imported from " + base.ToFilePath(); - node::THROW_ERR_MODULE_NOT_FOUND(env, msg.c_str()); + const std::string msg = "Package subpath '" + subpath + "' is not defined" + + " by \"exports\" in " + pjson_url.ToFilePath() + " imported from " + + base.ToFilePath(); + node::THROW_ERR_PACKAGE_PATH_NOT_EXPORTED(env, msg.c_str()); +} + +void ThrowSubpathInvalid(Environment* env, + const std::string& subpath, + const URL& pjson_url, + const URL& base) { + const std::string msg = "Package subpath '" + subpath + "' is not a valid " + + "module request for the \"exports\" resolution of " + + pjson_url.ToFilePath() + " imported from " + base.ToFilePath(); + node::THROW_ERR_INVALID_MODULE_SPECIFIER(env, msg.c_str()); } void ThrowExportsInvalid(Environment* env, @@ -836,14 +854,15 @@ void ThrowExportsInvalid(Environment* env, const URL& pjson_url, const URL& base) { if (subpath.length()) { - const std::string msg = "Cannot resolve package exports target '" + target + - "' matched for '" + subpath + "' in " + pjson_url.ToFilePath() + - ", imported from " + base.ToFilePath(); - node::THROW_ERR_MODULE_NOT_FOUND(env, msg.c_str()); + const std::string msg = "Invalid \"exports\" target \"" + target + + "\" defined for '" + subpath + "' in the package config " + + pjson_url.ToFilePath() + " imported from " + base.ToFilePath(); + node::THROW_ERR_INVALID_PACKAGE_TARGET(env, msg.c_str()); } else { - const std::string msg = "Cannot resolve package main '" + target + "' in" + - pjson_url.ToFilePath() + ", imported from " + base.ToFilePath(); - node::THROW_ERR_MODULE_NOT_FOUND(env, msg.c_str()); + const std::string msg = "Invalid \"exports\" main target " + target + + " defined in the package config " + pjson_url.ToFilePath() + + " imported from " + base.ToFilePath(); + node::THROW_ERR_INVALID_PACKAGE_TARGET(env, msg.c_str()); } } @@ -853,14 +872,20 @@ void ThrowExportsInvalid(Environment* env, const URL& pjson_url, const URL& base) { Local target_string; - if (target->ToString(env->context()).ToLocal(&target_string)) { - Utf8Value target_utf8(env->isolate(), target_string); - std::string target_str(*target_utf8, target_utf8.length()); - if (target->IsArray()) { - target_str = '[' + target_str + ']'; - } - ThrowExportsInvalid(env, subpath, target_str, pjson_url, base); + if (target->IsObject()) { + if (!v8::JSON::Stringify(env->context(), target.As(), + v8::String::Empty(env->isolate())).ToLocal(&target_string)) + return; + } else { + if (!target->ToString(env->context()).ToLocal(&target_string)) + return; + } + Utf8Value target_utf8(env->isolate(), target_string); + std::string target_str(*target_utf8, target_utf8.length()); + if (target->IsArray()) { + target_str = '[' + target_str + ']'; } + ThrowExportsInvalid(env, subpath, target_str, pjson_url, base); } Maybe ResolveExportsTargetString(Environment* env, @@ -868,18 +893,13 @@ Maybe ResolveExportsTargetString(Environment* env, const std::string& subpath, const std::string& match, const URL& pjson_url, - const URL& base, - bool throw_invalid = true) { + const URL& base) { if (target.substr(0, 2) != "./") { - if (throw_invalid) { - ThrowExportsInvalid(env, match, target, pjson_url, base); - } + ThrowExportsInvalid(env, match, target, pjson_url, base); return Nothing(); } if (subpath.length() > 0 && target.back() != '/') { - if (throw_invalid) { - ThrowExportsInvalid(env, match, target, pjson_url, base); - } + ThrowExportsInvalid(env, match, target, pjson_url, base); return Nothing(); } URL resolved(target, pjson_url); @@ -888,9 +908,7 @@ Maybe ResolveExportsTargetString(Environment* env, if (resolved_path.find(pkg_path) != 0 || resolved_path.find("/node_modules/", pkg_path.length() - 1) != std::string::npos) { - if (throw_invalid) { - ThrowExportsInvalid(env, match, target, pjson_url, base); - } + ThrowExportsInvalid(env, match, target, pjson_url, base); return Nothing(); } if (subpath.length() == 0) return Just(resolved); @@ -899,9 +917,7 @@ Maybe ResolveExportsTargetString(Environment* env, if (subpath_resolved_path.find(resolved_path) != 0 || subpath_resolved_path.find("/node_modules/", pkg_path.length() - 1) != std::string::npos) { - if (throw_invalid) { - ThrowExportsInvalid(env, match, target + subpath, pjson_url, base); - } + ThrowSubpathInvalid(env, match + subpath, pjson_url, base); return Nothing(); } return Just(subpath_resolved); @@ -923,7 +939,7 @@ bool IsArrayIndex(Environment* env, Local p) { if (!n->ToInteger(context).ToLocal(&cmp_integer)) { return false; } - return n_dbl > 0 && n_dbl < (2 ^ 32) - 1; + return n_dbl > 0 && n_dbl < (1LL << 32) - 1; } Maybe ResolveExportsTarget(Environment* env, @@ -931,15 +947,14 @@ Maybe ResolveExportsTarget(Environment* env, Local target, const std::string& subpath, const std::string& pkg_subpath, - const URL& base, - bool throw_invalid = true) { + const URL& base) { Isolate* isolate = env->isolate(); Local context = env->context(); if (target->IsString()) { - Utf8Value target_utf8(isolate, target.As()); + Utf8Value target_utf8(isolate, target.As()); std::string target_str(*target_utf8, target_utf8.length()); Maybe resolved = ResolveExportsTargetString(env, target_str, subpath, - pkg_subpath, pjson_url, base, throw_invalid); + pkg_subpath, pjson_url, base); if (resolved.IsNothing()) { return Nothing(); } @@ -948,40 +963,56 @@ Maybe ResolveExportsTarget(Environment* env, Local target_arr = target.As(); const uint32_t length = target_arr->Length(); if (length == 0) { - if (throw_invalid) { - ThrowExportsInvalid(env, pkg_subpath, target, pjson_url, base); - } + ThrowExportsInvalid(env, pkg_subpath, target, pjson_url, base); return Nothing(); } for (uint32_t i = 0; i < length; i++) { auto target_item = target_arr->Get(context, i).ToLocalChecked(); - if (!target_item->IsArray()) { + { + TryCatchScope try_catch(env); Maybe resolved = ResolveExportsTarget(env, pjson_url, - target_item, subpath, pkg_subpath, base, false); - if (resolved.IsNothing()) continue; + target_item, subpath, pkg_subpath, base); + if (resolved.IsNothing()) { + CHECK(try_catch.HasCaught()); + if (try_catch.Exception().IsEmpty()) return Nothing(); + Local e; + if (!try_catch.Exception()->ToObject(context).ToLocal(&e)) + return Nothing(); + Local code; + if (!e->Get(context, env->code_string()).ToLocal(&code)) + return Nothing(); + Local code_string; + if (!code->ToString(context).ToLocal(&code_string)) + return Nothing(); + Utf8Value code_utf8(env->isolate(), code_string); + if (strcmp(*code_utf8, "ERR_PACKAGE_PATH_NOT_EXPORTED") == 0 || + strcmp(*code_utf8, "ERR_INVALID_PACKAGE_TARGET") == 0) { + continue; + } + try_catch.ReThrow(); + return Nothing(); + } + CHECK(!try_catch.HasCaught()); return FinalizeResolution(env, resolved.FromJust(), base); } } - if (throw_invalid) { - auto invalid = target_arr->Get(context, length - 1).ToLocalChecked(); - Maybe resolved = ResolveExportsTarget(env, pjson_url, invalid, - subpath, pkg_subpath, base, true); - CHECK(resolved.IsNothing()); - } + auto invalid = target_arr->Get(context, length - 1).ToLocalChecked(); + Maybe resolved = ResolveExportsTarget(env, pjson_url, invalid, + subpath, pkg_subpath, base); + CHECK(resolved.IsNothing()); return Nothing(); } else if (target->IsObject()) { Local target_obj = target.As(); Local target_obj_keys = target_obj->GetOwnPropertyNames(context).ToLocalChecked(); Local conditionalTarget; - bool matched = false; for (uint32_t i = 0; i < target_obj_keys->Length(); ++i) { Local key = target_obj_keys->Get(context, i).ToLocalChecked(); if (IsArrayIndex(env, key)) { - const std::string msg = "Invalid package config for " + - pjson_url.ToFilePath() + ", \"exports\" cannot contain numeric " + - "property keys."; + const std::string msg = "Invalid package config " + + pjson_url.ToFilePath() + " imported from " + base.ToFilePath() + + ". \"exports\" cannot contain numeric property keys."; node::THROW_ERR_INVALID_PACKAGE_CONFIG(env, msg.c_str()); return Nothing(); } @@ -992,35 +1023,60 @@ Maybe ResolveExportsTarget(Environment* env, key->ToString(context).ToLocalChecked()); std::string key_str(*key_utf8, key_utf8.length()); if (key_str == "node" || key_str == "import") { - matched = true; conditionalTarget = target_obj->Get(context, key).ToLocalChecked(); - Maybe resolved = ResolveExportsTarget(env, pjson_url, - conditionalTarget, subpath, pkg_subpath, base, false); - if (!resolved.IsNothing()) { + { + TryCatchScope try_catch(env); + Maybe resolved = ResolveExportsTarget(env, pjson_url, + conditionalTarget, subpath, pkg_subpath, base); + if (resolved.IsNothing()) { + CHECK(try_catch.HasCaught()); + if (try_catch.Exception().IsEmpty()) return Nothing(); + Local e; + if (!try_catch.Exception()->ToObject(context).ToLocal(&e)) + return Nothing(); + Local code; + if (!e->Get(context, env->code_string()).ToLocal(&code)) + return Nothing(); + Local code_string; + if (!code->ToString(context).ToLocal(&code_string)) + return Nothing(); + Utf8Value code_utf8(env->isolate(), code_string); + if (strcmp(*code_utf8, "ERR_PACKAGE_PATH_NOT_EXPORTED") == 0) + continue; + try_catch.ReThrow(); + return Nothing(); + } + CHECK(!try_catch.HasCaught()); ProcessEmitExperimentalWarning(env, "Conditional exports"); return resolved; } } else if (key_str == "default") { - matched = true; conditionalTarget = target_obj->Get(context, key).ToLocalChecked(); - Maybe resolved = ResolveExportsTarget(env, pjson_url, - conditionalTarget, subpath, pkg_subpath, base, false); - if (!resolved.IsNothing()) { + { + TryCatchScope try_catch(env); + Maybe resolved = ResolveExportsTarget(env, pjson_url, + conditionalTarget, subpath, pkg_subpath, base); + if (resolved.IsNothing()) { + CHECK(try_catch.HasCaught() && !try_catch.Exception().IsEmpty()); + auto e = try_catch.Exception()->ToObject(context).ToLocalChecked(); + auto code = e->Get(context, env->code_string()).ToLocalChecked(); + Utf8Value code_utf8(env->isolate(), + code->ToString(context).ToLocalChecked()); + std::string code_str(*code_utf8, code_utf8.length()); + if (code_str == "ERR_PACKAGE_PATH_NOT_EXPORTED") continue; + try_catch.ReThrow(); + return Nothing(); + } + CHECK(!try_catch.HasCaught()); ProcessEmitExperimentalWarning(env, "Conditional exports"); return resolved; } } } - if (matched && throw_invalid) { - Maybe resolved = ResolveExportsTarget(env, pjson_url, - conditionalTarget, subpath, pkg_subpath, base, true); - CHECK(resolved.IsNothing()); - return Nothing(); - } - } - if (throw_invalid) { - ThrowExportsInvalid(env, pkg_subpath, target, pjson_url, base); + ThrowExportsNotFound(env, pkg_subpath, pjson_url, base); + return Nothing(); } + ThrowExportsInvalid(env, pkg_subpath, target, pjson_url, base); return Nothing(); } @@ -1042,8 +1098,8 @@ Maybe IsConditionalExportsMainSugar(Environment* env, if (i == 0) { isConditionalSugar = curIsConditionalSugar; } else if (isConditionalSugar != curIsConditionalSugar) { - const std::string msg = "Cannot resolve package exports in " + - pjson_url.ToFilePath() + ", imported from " + base.ToFilePath() + ". " + + const std::string msg = "Invalid package config " + pjson_url.ToFilePath() + + " imported from " + base.ToFilePath() + ". " + "\"exports\" cannot contain some keys starting with '.' and some not." + " The exports object must either be an object of package subpath keys" + " or an object of main entry condition name keys only."; @@ -1068,8 +1124,7 @@ Maybe PackageMainResolve(Environment* env, if (isConditionalExportsMainSugar.IsNothing()) return Nothing(); if (isConditionalExportsMainSugar.FromJust()) { - return ResolveExportsTarget(env, pjson_url, exports, "", "", base, - true); + return ResolveExportsTarget(env, pjson_url, exports, "", "", base); } else if (exports->IsObject()) { Local exports_obj = exports.As(); if (exports_obj->HasOwnProperty(env->context(), env->dot_string()) @@ -1077,10 +1132,12 @@ Maybe PackageMainResolve(Environment* env, Local target = exports_obj->Get(env->context(), env->dot_string()) .ToLocalChecked(); - return ResolveExportsTarget(env, pjson_url, target, "", "", base, - true); + return ResolveExportsTarget(env, pjson_url, target, "", "", base); } } + std::string msg = "No \"exports\" main resolved in " + + pjson_url.ToFilePath(); + node::THROW_ERR_PACKAGE_PATH_NOT_EXPORTED(env, msg.c_str()); } if (pcfg.has_main == HasMain::Yes) { URL resolved(pcfg.main, pjson_url); @@ -1172,37 +1229,6 @@ Maybe PackageExportsResolve(Environment* env, return Nothing(); } -Maybe ResolveSelf(Environment* env, - const std::string& pkg_name, - const std::string& pkg_subpath, - const URL& base) { - const PackageConfig* pcfg; - if (GetPackageScopeConfig(env, base, base).To(&pcfg) && - pcfg->exists == Exists::Yes) { - // TODO(jkrems): Find a way to forward the pair/iterator already generated - // while executing GetPackageScopeConfig - URL pjson_url(""); - bool found_pjson = false; - for (auto it = env->package_json_cache.begin(); - it != env->package_json_cache.end(); - ++it) { - if (&it->second == pcfg) { - pjson_url = URL::FromFilePath(it->first); - found_pjson = true; - } - } - if (!found_pjson || pcfg->name != pkg_name) return Nothing(); - if (pcfg->exports.IsEmpty()) return Nothing(); - if (!pkg_subpath.length()) { - return PackageMainResolve(env, pjson_url, *pcfg, base); - } else { - return PackageExportsResolve(env, pjson_url, pkg_subpath, *pcfg, base); - } - } - - return Nothing(); -} - Maybe PackageResolve(Environment* env, const std::string& specifier, const URL& base) { @@ -1237,17 +1263,36 @@ Maybe PackageResolve(Environment* env, return Nothing(); } std::string pkg_subpath; - if ((sep_index == std::string::npos || - sep_index == specifier.length() - 1)) { + if (sep_index == std::string::npos) { pkg_subpath = ""; } else { pkg_subpath = "." + specifier.substr(sep_index); } - Maybe self_url = ResolveSelf(env, pkg_name, pkg_subpath, base); - if (self_url.IsJust()) { - ProcessEmitExperimentalWarning(env, "Package name self resolution"); - return self_url; + // ResolveSelf + const PackageConfig* pcfg; + if (GetPackageScopeConfig(env, base, base).To(&pcfg) && + pcfg->exists == Exists::Yes) { + // TODO(jkrems): Find a way to forward the pair/iterator already generated + // while executing GetPackageScopeConfig + URL pjson_url(""); + bool found_pjson = false; + for (const auto& it : env->package_json_cache) { + if (&it.second == pcfg) { + pjson_url = URL::FromFilePath(it.first); + found_pjson = true; + } + } + if (found_pjson && pcfg->name == pkg_name && !pcfg->exports.IsEmpty()) { + ProcessEmitExperimentalWarning(env, "Package name self resolution"); + if (pkg_subpath == "./") { + return Just(URL("./", pjson_url)); + } else if (!pkg_subpath.length()) { + return PackageMainResolve(env, pjson_url, *pcfg, base); + } else { + return PackageExportsResolve(env, pjson_url, pkg_subpath, *pcfg, base); + } + } } URL pjson_url("./node_modules/" + pkg_name + "/package.json", &base); @@ -1269,7 +1314,9 @@ Maybe PackageResolve(Environment* env, Maybe pcfg = GetPackageConfig(env, pjson_path, base); // Invalid package configuration error. if (pcfg.IsNothing()) return Nothing(); - if (!pkg_subpath.length()) { + if (pkg_subpath == "./") { + return Just(URL("./", pjson_url)); + } else if (!pkg_subpath.length()) { return PackageMainResolve(env, pjson_url, *pcfg.FromJust(), base); } else { if (!pcfg.FromJust()->exports.IsEmpty()) { @@ -1367,12 +1414,12 @@ void ModuleWrap::GetPackageType(const FunctionCallbackInfo& args) { static MaybeLocal ImportModuleDynamically( Local context, - Local referrer, + Local referrer, Local specifier) { Isolate* iso = context->GetIsolate(); Environment* env = Environment::GetCurrent(context); CHECK_NOT_NULL(env); // TODO(addaleax): Handle nullptr here. - v8::EscapableHandleScope handle_scope(iso); + EscapableHandleScope handle_scope(iso); Local import_callback = env->host_import_module_dynamically_callback(); diff --git a/src/node.cc b/src/node.cc index 80916e5244aa36..fee485f86e17f1 100644 --- a/src/node.cc +++ b/src/node.cc @@ -23,7 +23,7 @@ // ========== local headers ========== -#include "debug_utils.h" +#include "debug_utils-inl.h" #include "env-inl.h" #include "memory_tracker-inl.h" #include "node_binding.h" @@ -98,9 +98,6 @@ #include // STDIN_FILENO, STDERR_FILENO #endif -#ifdef __PASE__ -#include // ioctl -#endif // ========== global C++ headers ========== #include @@ -309,48 +306,32 @@ MaybeLocal Environment::BootstrapNode() { return scope.EscapeMaybe(result); } - if (is_main_thread()) { - result = ExecuteBootstrapper(this, - "internal/bootstrap/switches/is_main_thread", - &node_params, - &node_args); - } else { - result = - ExecuteBootstrapper(this, - "internal/bootstrap/switches/is_not_main_thread", - &node_params, - &node_args); - } + auto thread_switch_id = + is_main_thread() ? "internal/bootstrap/switches/is_main_thread" + : "internal/bootstrap/switches/is_not_main_thread"; + result = + ExecuteBootstrapper(this, thread_switch_id, &node_params, &node_args); if (result.IsEmpty()) { return scope.EscapeMaybe(result); } - if (owns_process_state()) { - result = ExecuteBootstrapper( - this, - "internal/bootstrap/switches/does_own_process_state", - &node_params, - &node_args); - } else { - result = ExecuteBootstrapper( - this, - "internal/bootstrap/switches/does_not_own_process_state", - &node_params, - &node_args); - } + auto process_state_switch_id = + owns_process_state() + ? "internal/bootstrap/switches/does_own_process_state" + : "internal/bootstrap/switches/does_not_own_process_state"; + result = ExecuteBootstrapper( + this, process_state_switch_id, &node_params, &node_args); if (result.IsEmpty()) { return scope.EscapeMaybe(result); } + Local env_string = FIXED_ONE_BYTE_STRING(isolate_, "env"); Local env_var_proxy; if (!CreateEnvVarProxy(context(), isolate_, as_callback_data()) .ToLocal(&env_var_proxy) || - process_object() - ->Set( - context(), FIXED_ONE_BYTE_STRING(isolate_, "env"), env_var_proxy) - .IsNothing()) { + process_object()->Set(context(), env_string, env_var_proxy).IsNothing()) { return MaybeLocal(); } @@ -555,14 +536,7 @@ inline void PlatformInit() { while (s.flags == -1 && errno == EINTR); // NOLINT CHECK_NE(s.flags, -1); -#ifdef __PASE__ - // On IBMi PASE isatty() always returns true for stdin, stdout and stderr. - // Use ioctl() instead to identify whether it's actually a TTY. - if (ioctl(fd, TXISATTY + 0x81, nullptr) == -1 && errno == ENOTTY) - continue; -#else - if (!isatty(fd)) continue; -#endif + if (uv_guess_handle(fd) != UV_TTY) continue; s.isatty = true; do @@ -767,80 +741,19 @@ int InitializeNodeWithArgs(std::vector* argv, V8::SetFlagsFromString(NODE_V8_OPTIONS, sizeof(NODE_V8_OPTIONS) - 1); #endif - std::shared_ptr default_env_options = - per_process::cli_options->per_isolate->per_env; - { - std::string text; - default_env_options->pending_deprecation = - credentials::SafeGetenv("NODE_PENDING_DEPRECATION", &text) && - text[0] == '1'; - } - - // Allow for environment set preserving symlinks. - { - std::string text; - default_env_options->preserve_symlinks = - credentials::SafeGetenv("NODE_PRESERVE_SYMLINKS", &text) && - text[0] == '1'; - } - - { - std::string text; - default_env_options->preserve_symlinks_main = - credentials::SafeGetenv("NODE_PRESERVE_SYMLINKS_MAIN", &text) && - text[0] == '1'; - } - - if (default_env_options->redirect_warnings.empty()) { - credentials::SafeGetenv("NODE_REDIRECT_WARNINGS", - &default_env_options->redirect_warnings); - } + HandleEnvOptions(per_process::cli_options->per_isolate->per_env); #if !defined(NODE_WITHOUT_NODE_OPTIONS) std::string node_options; if (credentials::SafeGetenv("NODE_OPTIONS", &node_options)) { - std::vector env_argv; - // [0] is expected to be the program name, fill it in from the real argv. - env_argv.push_back(argv->at(0)); - - bool is_in_string = false; - bool will_start_new_arg = true; - for (std::string::size_type index = 0; - index < node_options.size(); - ++index) { - char c = node_options.at(index); - - // Backslashes escape the following character - if (c == '\\' && is_in_string) { - if (index + 1 == node_options.size()) { - errors->push_back("invalid value for NODE_OPTIONS " - "(invalid escape)\n"); - return 9; - } else { - c = node_options.at(++index); - } - } else if (c == ' ' && !is_in_string) { - will_start_new_arg = true; - continue; - } else if (c == '"') { - is_in_string = !is_in_string; - continue; - } + std::vector env_argv = + ParseNodeOptionsEnvVar(node_options, errors); - if (will_start_new_arg) { - env_argv.push_back(std::string(1, c)); - will_start_new_arg = false; - } else { - env_argv.back() += c; - } - } + if (!errors->empty()) return 9; - if (is_in_string) { - errors->push_back("invalid value for NODE_OPTIONS " - "(unterminated string)\n"); - return 9; - } + // [0] is expected to be the program name, fill it in from the real argv. + env_argv.insert(env_argv.begin(), argv->at(0)); const int exit_code = ProcessGlobalArgs(&env_argv, nullptr, @@ -949,6 +862,10 @@ void Init(int* argc, } InitializationResult InitializeOncePerProcess(int argc, char** argv) { + // Initialized the enabled list for Debug() calls with system + // environment variables. + per_process::enabled_debug_list.Parse(nullptr); + atexit(ResetStdio); PlatformInit(); @@ -1015,7 +932,8 @@ InitializationResult InitializeOncePerProcess(int argc, char** argv) { V8::SetEntropySource(crypto::EntropySource); #endif // HAVE_OPENSSL - InitializeV8Platform(per_process::cli_options->v8_thread_pool_size); + per_process::v8_platform.Initialize( + per_process::cli_options->v8_thread_pool_size); V8::Initialize(); performance::performance_v8_start = PERFORMANCE_NOW(); per_process::v8_initialized = true; diff --git a/src/node.h b/src/node.h index aadb60ea557f43..886216e2cb533e 100644 --- a/src/node.h +++ b/src/node.h @@ -60,7 +60,15 @@ # define SIGKILL 9 #endif +#if (__GNUC__ >= 8) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-function-type" +#endif #include "v8.h" // NOLINT(build/include_order) +#if (__GNUC__ >= 8) && !defined(__clang__) +#pragma GCC diagnostic pop +#endif + #include "v8-platform.h" // NOLINT(build/include_order) #include "node_version.h" // NODE_MODULE_VERSION @@ -379,7 +387,6 @@ NODE_EXTERN MultiIsolatePlatform* GetMainThreadMultiIsolatePlatform(); NODE_EXTERN MultiIsolatePlatform* CreatePlatform( int thread_pool_size, node::tracing::TracingController* tracing_controller); -MultiIsolatePlatform* InitializeV8Platform(int thread_pool_size); NODE_EXTERN void FreePlatform(MultiIsolatePlatform* platform); NODE_EXTERN void EmitBeforeExit(Environment* env); diff --git a/src/node_api.cc b/src/node_api.cc index 5e467dded5bdb7..fad9cf72a972c2 100644 --- a/src/node_api.cc +++ b/src/node_api.cc @@ -471,8 +471,7 @@ void napi_module_register_by_symbol(v8::Local exports, return; } - // Create a new napi_env for this module or reference one if a pre-existing - // one is found. + // Create a new napi_env for this specific module. napi_env env = v8impl::NewEnv(context); napi_value _exports; diff --git a/src/node_api.h b/src/node_api.h index a37ee06ce16a70..a4d3cc60e9bb5c 100644 --- a/src/node_api.h +++ b/src/node_api.h @@ -18,10 +18,12 @@ struct uv_loop_s; // Forward declaration. # define NAPI_MODULE_EXPORT __attribute__((visibility("default"))) #endif -#ifdef __GNUC__ -#define NAPI_NO_RETURN __attribute__((noreturn)) +#if defined(__GNUC__) +# define NAPI_NO_RETURN __attribute__((noreturn)) +#elif defined(_WIN32) +# define NAPI_NO_RETURN __declspec(noreturn) #else -#define NAPI_NO_RETURN +# define NAPI_NO_RETURN #endif typedef napi_value (*napi_addon_register_func)(napi_env env, diff --git a/src/node_binding.h b/src/node_binding.h index 42f3c5b8d00880..5bced5b41431dc 100644 --- a/src/node_binding.h +++ b/src/node_binding.h @@ -10,6 +10,7 @@ #include "node.h" #define NAPI_EXPERIMENTAL #include "node_api.h" +#include "uv.h" enum { NM_F_BUILTIN = 1 << 0, // Unused. diff --git a/src/node_buffer.cc b/src/node_buffer.cc index bd66569d1b507a..18a46fd6fc9ae8 100644 --- a/src/node_buffer.cc +++ b/src/node_buffer.cc @@ -570,10 +570,11 @@ void Fill(const FunctionCallbackInfo& args) { THROW_AND_RETURN_UNLESS_BUFFER(env, args[0]); SPREAD_BUFFER_ARG(args[0], ts_obj); - uint32_t start; - if (!args[2]->Uint32Value(ctx).To(&start)) return; - uint32_t end; - if (!args[3]->Uint32Value(ctx).To(&end)) return; + size_t start; + THROW_AND_RETURN_IF_OOB(ParseArrayIndex(env, args[2], 0, &start)); + size_t end; + THROW_AND_RETURN_IF_OOB(ParseArrayIndex(env, args[3], 0, &end)); + size_t fill_length = end - start; Local str_obj; size_t str_length; diff --git a/src/node_crypto.cc b/src/node_crypto.cc index e0684d9b410c24..4e1a4d8bc80fe3 100644 --- a/src/node_crypto.cc +++ b/src/node_crypto.cc @@ -22,6 +22,7 @@ #include "node_crypto.h" #include "node_buffer.h" #include "node_crypto_bio.h" +#include "node_crypto_common.h" #include "node_crypto_clienthello-inl.h" #include "node_crypto_groups.h" #include "node_errors.h" @@ -59,11 +60,6 @@ #include #include -static const int X509_NAME_FLAGS = ASN1_STRFLGS_ESC_CTRL - | ASN1_STRFLGS_UTF8_CONVERT - | XN_FLAG_SEP_MULTILINE - | XN_FLAG_FN_SN; - namespace node { namespace crypto { @@ -75,7 +71,6 @@ using v8::Boolean; using v8::ConstructorBehavior; using v8::Context; using v8::DontDelete; -using v8::EscapableHandleScope; using v8::Exception; using v8::External; using v8::False; @@ -110,24 +105,6 @@ using v8::Value; # define IS_OCB_MODE(mode) ((mode) == EVP_CIPH_OCB_MODE) #endif -struct StackOfX509Deleter { - void operator()(STACK_OF(X509)* p) const { sk_X509_pop_free(p, X509_free); } -}; -using StackOfX509 = std::unique_ptr; - -struct StackOfXASN1Deleter { - void operator()(STACK_OF(ASN1_OBJECT)* p) const { - sk_ASN1_OBJECT_pop_free(p, ASN1_OBJECT_free); - } -}; -using StackOfASN1 = std::unique_ptr; - -// OPENSSL_free is a macro, so we need a wrapper function. -struct OpenSSLBufferDeleter { - void operator()(char* pointer) const { OPENSSL_free(pointer); } -}; -using OpenSSLBuffer = std::unique_ptr; - static const char* const root_certs[] = { #include "node_root_certs.h" // NOLINT(build/include_order) }; @@ -386,7 +363,7 @@ void ThrowCryptoError(Environment* env, unsigned long err, // NOLINT(runtime/int) // Default, only used if there is no SSL `err` which can // be used to create a long-style message string. - const char* message = nullptr) { + const char* message) { char message_buffer[128] = {0}; if (err != 0 || message == nullptr) { ERR_error_string_n(err, message_buffer, sizeof(message_buffer)); @@ -453,15 +430,6 @@ bool EntropySource(unsigned char* buffer, size_t length) { return RAND_bytes(buffer, length) != -1; } - -template -static T* MallocOpenSSL(size_t count) { - void* mem = OPENSSL_malloc(MultiplyWithOverflowCheck(count, sizeof(T))); - CHECK_IMPLIES(mem == nullptr, count == 0); - return static_cast(mem); -} - - void SecureContext::Initialize(Environment* env, Local target) { Local t = env->NewFunctionTemplate(New); t->InstanceTemplate()->SetInternalFieldCount(1); @@ -531,6 +499,24 @@ void SecureContext::Initialize(Environment* env, Local target) { env->set_secure_context_constructor_template(t); } +SecureContext::SecureContext(Environment* env, v8::Local wrap) + : BaseObject(env, wrap) { + MakeWeak(); + env->isolate()->AdjustAmountOfExternalAllocatedMemory(kExternalSize); +} + +inline void SecureContext::Reset() { + if (ctx_ != nullptr) { + env()->isolate()->AdjustAmountOfExternalAllocatedMemory(-kExternalSize); + } + ctx_.reset(); + cert_.reset(); + issuer_.reset(); +} + +SecureContext::~SecureContext() { + Reset(); +} void SecureContext::New(const FunctionCallbackInfo& args) { Environment* env = Environment::GetCurrent(args); @@ -733,19 +719,14 @@ void SecureContext::SetKey(const FunctionCallbackInfo& args) { if (!key) { unsigned long err = ERR_get_error(); // NOLINT(runtime/int) - if (!err) { - return env->ThrowError("PEM_read_bio_PrivateKey"); - } - return ThrowCryptoError(env, err); + return ThrowCryptoError(env, err, "PEM_read_bio_PrivateKey"); } int rv = SSL_CTX_use_PrivateKey(sc->ctx_.get(), key.get()); if (!rv) { unsigned long err = ERR_get_error(); // NOLINT(runtime/int) - if (!err) - return env->ThrowError("SSL_CTX_use_PrivateKey"); - return ThrowCryptoError(env, err); + return ThrowCryptoError(env, err, "SSL_CTX_use_PrivateKey"); } } @@ -817,16 +798,6 @@ void SecureContext::SetEngineKey(const FunctionCallbackInfo& args) { } #endif // !OPENSSL_NO_ENGINE -int SSL_CTX_get_issuer(SSL_CTX* ctx, X509* cert, X509** issuer) { - X509_STORE* store = SSL_CTX_get_cert_store(ctx); - DeleteFnPtr store_ctx( - X509_STORE_CTX_new()); - return store_ctx.get() != nullptr && - X509_STORE_CTX_init(store_ctx.get(), store, nullptr, nullptr) == 1 && - X509_STORE_CTX_get1_issuer(issuer, store_ctx.get(), cert) == 1; -} - - int SSL_CTX_use_certificate_chain(SSL_CTX* ctx, X509Pointer&& x, STACK_OF(X509)* extra_certs, @@ -971,10 +942,7 @@ void SecureContext::SetCert(const FunctionCallbackInfo& args) { if (!rv) { unsigned long err = ERR_get_error(); // NOLINT(runtime/int) - if (!err) { - return env->ThrowError("SSL_CTX_use_certificate_chain"); - } - return ThrowCryptoError(env, err); + return ThrowCryptoError(env, err, "SSL_CTX_use_certificate_chain"); } } @@ -1019,19 +987,19 @@ static X509_STORE* NewRootCertStore() { void GetRootCertificates(const FunctionCallbackInfo& args) { Environment* env = Environment::GetCurrent(args); - Local result = Array::New(env->isolate(), arraysize(root_certs)); + Local result[arraysize(root_certs)]; for (size_t i = 0; i < arraysize(root_certs); i++) { - Local value; - if (!String::NewFromOneByte(env->isolate(), - reinterpret_cast(root_certs[i]), - NewStringType::kNormal).ToLocal(&value) || - !result->Set(env->context(), i, value).FromMaybe(false)) { + if (!String::NewFromOneByte( + env->isolate(), + reinterpret_cast(root_certs[i]), + NewStringType::kNormal).ToLocal(&result[i])) { return; } } - args.GetReturnValue().Set(result); + args.GetReturnValue().Set( + Array::New(env->isolate(), result, arraysize(root_certs))); } @@ -1183,11 +1151,7 @@ void SecureContext::SetCipherSuites(const FunctionCallbackInfo& args) { const node::Utf8Value ciphers(args.GetIsolate(), args[0]); if (!SSL_CTX_set_ciphersuites(sc->ctx_.get(), *ciphers)) { unsigned long err = ERR_get_error(); // NOLINT(runtime/int) - if (!err) { - // This would be an OpenSSL bug if it happened. - return env->ThrowError("Failed to set ciphers"); - } - return ThrowCryptoError(env, err); + return ThrowCryptoError(env, err, "Failed to set ciphers"); } #endif } @@ -1205,10 +1169,6 @@ void SecureContext::SetCiphers(const FunctionCallbackInfo& args) { const node::Utf8Value ciphers(args.GetIsolate(), args[0]); if (!SSL_CTX_set_cipher_list(sc->ctx_.get(), *ciphers)) { unsigned long err = ERR_get_error(); // NOLINT(runtime/int) - if (!err) { - // This would be an OpenSSL bug if it happened. - return env->ThrowError("Failed to set ciphers"); - } if (strlen(*ciphers) == 0 && ERR_GET_REASON(err) == SSL_R_NO_CIPHER_MATCH) { // TLS1.2 ciphers were deliberately cleared, so don't consider @@ -1217,7 +1177,7 @@ void SecureContext::SetCiphers(const FunctionCallbackInfo& args) { // that's actually an error. return; } - return ThrowCryptoError(env, err); + return ThrowCryptoError(env, err, "Failed to set ciphers"); } } @@ -1888,381 +1848,6 @@ void SSLWrap::OnClientHello(void* arg, w->MakeCallback(env->onclienthello_string(), arraysize(argv), argv); } - -static bool SafeX509ExtPrint(BIO* out, X509_EXTENSION* ext) { - const X509V3_EXT_METHOD* method = X509V3_EXT_get(ext); - - if (method != X509V3_EXT_get_nid(NID_subject_alt_name)) - return false; - - GENERAL_NAMES* names = static_cast(X509V3_EXT_d2i(ext)); - if (names == nullptr) - return false; - - for (int i = 0; i < sk_GENERAL_NAME_num(names); i++) { - GENERAL_NAME* gen = sk_GENERAL_NAME_value(names, i); - - if (i != 0) - BIO_write(out, ", ", 2); - - if (gen->type == GEN_DNS) { - ASN1_IA5STRING* name = gen->d.dNSName; - - BIO_write(out, "DNS:", 4); - BIO_write(out, name->data, name->length); - } else { - STACK_OF(CONF_VALUE)* nval = i2v_GENERAL_NAME( - const_cast(method), gen, nullptr); - if (nval == nullptr) - return false; - X509V3_EXT_val_prn(out, nval, 0, 0); - sk_CONF_VALUE_pop_free(nval, X509V3_conf_free); - } - } - sk_GENERAL_NAME_pop_free(names, GENERAL_NAME_free); - - return true; -} - - -static void AddFingerprintDigest(const unsigned char* md, - unsigned int md_size, - char (*fingerprint)[3 * EVP_MAX_MD_SIZE + 1]) { - unsigned int i; - const 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] = ':'; - } - - if (md_size > 0) { - (*fingerprint)[(3*(md_size-1))+2] = '\0'; - } else { - (*fingerprint)[0] = '\0'; - } -} - - -static MaybeLocal ECPointToBuffer(Environment* env, - const EC_GROUP* group, - const EC_POINT* point, - point_conversion_form_t form, - const char** error) { - size_t len = EC_POINT_point2oct(group, point, form, nullptr, 0, nullptr); - if (len == 0) { - if (error != nullptr) *error = "Failed to get public key length"; - return MaybeLocal(); - } - AllocatedBuffer buf = env->AllocateManaged(len); - len = EC_POINT_point2oct(group, - point, - form, - reinterpret_cast(buf.data()), - buf.size(), - nullptr); - if (len == 0) { - if (error != nullptr) *error = "Failed to get public key"; - return MaybeLocal(); - } - return buf.ToBuffer(); -} - - -static Local X509ToObject(Environment* env, X509* cert) { - EscapableHandleScope scope(env->isolate()); - Local context = env->context(); - Local info = Object::New(env->isolate()); - - BIOPointer bio(BIO_new(BIO_s_mem())); - BUF_MEM* mem; - if (X509_NAME_print_ex(bio.get(), - X509_get_subject_name(cert), - 0, - X509_NAME_FLAGS) > 0) { - BIO_get_mem_ptr(bio.get(), &mem); - info->Set(context, env->subject_string(), - String::NewFromUtf8(env->isolate(), mem->data, - NewStringType::kNormal, - mem->length).ToLocalChecked()).Check(); - } - USE(BIO_reset(bio.get())); - - X509_NAME* issuer_name = X509_get_issuer_name(cert); - if (X509_NAME_print_ex(bio.get(), issuer_name, 0, X509_NAME_FLAGS) > 0) { - BIO_get_mem_ptr(bio.get(), &mem); - info->Set(context, env->issuer_string(), - String::NewFromUtf8(env->isolate(), mem->data, - NewStringType::kNormal, - mem->length).ToLocalChecked()).Check(); - } - USE(BIO_reset(bio.get())); - - int nids[] = { NID_subject_alt_name, NID_info_access }; - Local keys[] = { env->subjectaltname_string(), - env->infoaccess_string() }; - CHECK_EQ(arraysize(nids), arraysize(keys)); - for (size_t i = 0; i < arraysize(nids); i++) { - int index = X509_get_ext_by_NID(cert, nids[i], -1); - if (index < 0) - continue; - - X509_EXTENSION* ext = X509_get_ext(cert, index); - CHECK_NOT_NULL(ext); - - if (!SafeX509ExtPrint(bio.get(), ext) && - X509V3_EXT_print(bio.get(), ext, 0, 0) != 1) { - info->Set(context, keys[i], Null(env->isolate())).Check(); - USE(BIO_reset(bio.get())); - continue; - } - - BIO_get_mem_ptr(bio.get(), &mem); - info->Set(context, keys[i], - String::NewFromUtf8(env->isolate(), mem->data, - NewStringType::kNormal, - mem->length).ToLocalChecked()).Check(); - - USE(BIO_reset(bio.get())); - } - - EVPKeyPointer pkey(X509_get_pubkey(cert)); - RSAPointer rsa; - ECPointer ec; - if (pkey) { - switch (EVP_PKEY_id(pkey.get())) { - case EVP_PKEY_RSA: - rsa.reset(EVP_PKEY_get1_RSA(pkey.get())); - break; - case EVP_PKEY_EC: - ec.reset(EVP_PKEY_get1_EC_KEY(pkey.get())); - break; - } - } - - if (rsa) { - const BIGNUM* n; - const BIGNUM* e; - RSA_get0_key(rsa.get(), &n, &e, nullptr); - BN_print(bio.get(), n); - BIO_get_mem_ptr(bio.get(), &mem); - info->Set(context, env->modulus_string(), - String::NewFromUtf8(env->isolate(), mem->data, - NewStringType::kNormal, - mem->length).ToLocalChecked()).Check(); - USE(BIO_reset(bio.get())); - - int bits = BN_num_bits(n); - info->Set(context, env->bits_string(), - Integer::New(env->isolate(), bits)).Check(); - - uint64_t exponent_word = static_cast(BN_get_word(e)); - uint32_t lo = static_cast(exponent_word); - uint32_t hi = static_cast(exponent_word >> 32); - if (hi == 0) { - BIO_printf(bio.get(), "0x%x", lo); - } else { - BIO_printf(bio.get(), "0x%x%08x", hi, lo); - } - BIO_get_mem_ptr(bio.get(), &mem); - info->Set(context, env->exponent_string(), - String::NewFromUtf8(env->isolate(), mem->data, - NewStringType::kNormal, - mem->length).ToLocalChecked()).Check(); - USE(BIO_reset(bio.get())); - - int size = i2d_RSA_PUBKEY(rsa.get(), nullptr); - CHECK_GE(size, 0); - Local pubbuff = Buffer::New(env, size).ToLocalChecked(); - unsigned char* pubserialized = - reinterpret_cast(Buffer::Data(pubbuff)); - i2d_RSA_PUBKEY(rsa.get(), &pubserialized); - info->Set(env->context(), env->pubkey_string(), pubbuff).Check(); - } else if (ec) { - const EC_GROUP* group = EC_KEY_get0_group(ec.get()); - if (group != nullptr) { - int bits = EC_GROUP_order_bits(group); - if (bits > 0) { - info->Set(context, env->bits_string(), - Integer::New(env->isolate(), bits)).Check(); - } - } - - const EC_POINT* pubkey = EC_KEY_get0_public_key(ec.get()); - Local buf; - if (pubkey != nullptr && - ECPointToBuffer( - env, group, pubkey, EC_KEY_get_conv_form(ec.get()), nullptr) - .ToLocal(&buf)) { - info->Set(context, env->pubkey_string(), buf).Check(); - } - - 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 (const char* sn = OBJ_nid2sn(nid)) { - info->Set(context, env->asn1curve_string(), - OneByteString(env->isolate(), sn)).Check(); - } - - if (const char* nist = EC_curve_nid2nist(nid)) { - info->Set(context, env->nistcurve_string(), - OneByteString(env->isolate(), nist)).Check(); - } - } 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. - } - } - - pkey.reset(); - rsa.reset(); - ec.reset(); - - ASN1_TIME_print(bio.get(), X509_get0_notBefore(cert)); - BIO_get_mem_ptr(bio.get(), &mem); - info->Set(context, env->valid_from_string(), - String::NewFromUtf8(env->isolate(), mem->data, - NewStringType::kNormal, - mem->length).ToLocalChecked()).Check(); - USE(BIO_reset(bio.get())); - - ASN1_TIME_print(bio.get(), X509_get0_notAfter(cert)); - BIO_get_mem_ptr(bio.get(), &mem); - info->Set(context, env->valid_to_string(), - String::NewFromUtf8(env->isolate(), mem->data, - NewStringType::kNormal, - mem->length).ToLocalChecked()).Check(); - bio.reset(); - - unsigned char md[EVP_MAX_MD_SIZE]; - unsigned int md_size; - char fingerprint[EVP_MAX_MD_SIZE * 3 + 1]; - if (X509_digest(cert, EVP_sha1(), md, &md_size)) { - AddFingerprintDigest(md, md_size, &fingerprint); - info->Set(context, env->fingerprint_string(), - OneByteString(env->isolate(), fingerprint)).Check(); - } - if (X509_digest(cert, EVP_sha256(), md, &md_size)) { - AddFingerprintDigest(md, md_size, &fingerprint); - info->Set(context, env->fingerprint256_string(), - OneByteString(env->isolate(), fingerprint)).Check(); - } - - StackOfASN1 eku(static_cast( - X509_get_ext_d2i(cert, NID_ext_key_usage, nullptr, nullptr))); - if (eku) { - Local ext_key_usage = Array::New(env->isolate()); - char buf[256]; - - int j = 0; - for (int i = 0; i < sk_ASN1_OBJECT_num(eku.get()); i++) { - if (OBJ_obj2txt(buf, - sizeof(buf), - sk_ASN1_OBJECT_value(eku.get(), i), 1) >= 0) { - ext_key_usage->Set(context, - j++, - OneByteString(env->isolate(), buf)).Check(); - } - } - - eku.reset(); - info->Set(context, env->ext_key_usage_string(), ext_key_usage).Check(); - } - - if (ASN1_INTEGER* serial_number = X509_get_serialNumber(cert)) { - BignumPointer bn(ASN1_INTEGER_to_BN(serial_number, nullptr)); - if (bn) { - OpenSSLBuffer buf(BN_bn2hex(bn.get())); - if (buf) { - info->Set(context, env->serial_number_string(), - OneByteString(env->isolate(), buf.get())).Check(); - } - } - } - - // Raw DER certificate - int size = i2d_X509(cert, nullptr); - Local buff = Buffer::New(env, size).ToLocalChecked(); - unsigned char* serialized = reinterpret_cast( - Buffer::Data(buff)); - i2d_X509(cert, &serialized); - info->Set(context, env->raw_string(), buff).Check(); - - return scope.Escape(info); -} - - -static Local AddIssuerChainToObject(X509Pointer* cert, - Local object, - StackOfX509&& peer_certs, - Environment* const env) { - Local context = env->isolate()->GetCurrentContext(); - cert->reset(sk_X509_delete(peer_certs.get(), 0)); - for (;;) { - int i; - for (i = 0; i < sk_X509_num(peer_certs.get()); i++) { - X509* ca = sk_X509_value(peer_certs.get(), i); - if (X509_check_issued(ca, cert->get()) != X509_V_OK) - continue; - - Local ca_info = X509ToObject(env, ca); - object->Set(context, env->issuercert_string(), ca_info).Check(); - object = ca_info; - - // NOTE: Intentionally freeing cert that is not used anymore. - // Delete cert and continue aggregating issuers. - cert->reset(sk_X509_delete(peer_certs.get(), i)); - break; - } - - // Issuer not found, break out of the loop. - if (i == sk_X509_num(peer_certs.get())) - break; - } - return object; -} - - -static StackOfX509 CloneSSLCerts(X509Pointer&& cert, - const STACK_OF(X509)* const ssl_certs) { - StackOfX509 peer_certs(sk_X509_new(nullptr)); - if (cert) - sk_X509_push(peer_certs.get(), cert.release()); - for (int i = 0; i < sk_X509_num(ssl_certs); i++) { - X509Pointer cert(X509_dup(sk_X509_value(ssl_certs, i))); - if (!cert || !sk_X509_push(peer_certs.get(), cert.get())) - return StackOfX509(); - // `cert` is now managed by the stack. - cert.release(); - } - return peer_certs; -} - - -static Local GetLastIssuedCert(X509Pointer* cert, - const SSLPointer& ssl, - Local issuer_chain, - Environment* const env) { - Local context = env->isolate()->GetCurrentContext(); - while (X509_check_issued(cert->get(), cert->get()) != X509_V_OK) { - X509* ca; - if (SSL_CTX_get_issuer(SSL_get_SSL_CTX(ssl.get()), cert->get(), &ca) <= 0) - break; - - Local ca_info = X509ToObject(env, ca); - issuer_chain->Set(context, env->issuercert_string(), ca_info).Check(); - issuer_chain = ca_info; - - // Delete previous cert and continue aggregating issuers. - cert->reset(ca); - } - return issuer_chain; -} - - template void SSLWrap::GetPeerCertificate( const FunctionCallbackInfo& args) { @@ -2270,44 +1855,11 @@ void SSLWrap::GetPeerCertificate( ASSIGN_OR_RETURN_UNWRAP(&w, args.Holder()); Environment* env = w->ssl_env(); - ClearErrorOnReturn clear_error_on_return; + bool abbreviated = args.Length() < 1 || !args[0]->IsTrue(); - Local result; - // Used to build the issuer certificate chain. - Local issuer_chain; - - // NOTE: This is because of the odd OpenSSL behavior. On client `cert_chain` - // contains the `peer_certificate`, but on server it doesn't. - X509Pointer cert( - w->is_server() ? SSL_get_peer_certificate(w->ssl_.get()) : nullptr); - STACK_OF(X509)* ssl_certs = SSL_get_peer_cert_chain(w->ssl_.get()); - if (!cert && (ssl_certs == nullptr || sk_X509_num(ssl_certs) == 0)) - goto done; - - // Short result requested. - if (args.Length() < 1 || !args[0]->IsTrue()) { - result = X509ToObject(env, cert ? cert.get() : sk_X509_value(ssl_certs, 0)); - goto done; - } - - if (auto peer_certs = CloneSSLCerts(std::move(cert), ssl_certs)) { - // First and main certificate. - X509Pointer cert(sk_X509_value(peer_certs.get(), 0)); - CHECK(cert); - result = X509ToObject(env, cert.release()); - - issuer_chain = - AddIssuerChainToObject(&cert, result, std::move(peer_certs), env); - issuer_chain = GetLastIssuedCert(&cert, w->ssl_, issuer_chain, env); - // Last certificate should be self-signed. - if (X509_check_issued(cert.get(), cert.get()) == X509_V_OK) - issuer_chain->Set(env->context(), - env->issuercert_string(), - issuer_chain).Check(); - } - - done: - args.GetReturnValue().Set(result); + Local ret; + if (GetPeerCert(env, w->ssl_, abbreviated, w->is_server()).ToLocal(&ret)) + args.GetReturnValue().Set(ret); } @@ -2318,16 +1870,9 @@ void SSLWrap::GetCertificate( ASSIGN_OR_RETURN_UNWRAP(&w, args.Holder()); Environment* env = w->ssl_env(); - ClearErrorOnReturn clear_error_on_return; - - Local result; - - X509* cert = SSL_get_certificate(w->ssl_.get()); - - if (cert != nullptr) - result = X509ToObject(env, cert); - - args.GetReturnValue().Set(result); + Local ret; + if (GetCert(env, w->ssl_).ToLocal(&ret)) + args.GetReturnValue().Set(ret); } @@ -2406,22 +1951,16 @@ void SSLWrap::SetSession(const FunctionCallbackInfo& args) { Base* w; ASSIGN_OR_RETURN_UNWRAP(&w, args.Holder()); - if (args.Length() < 1) { + if (args.Length() < 1) return THROW_ERR_MISSING_ARGS(env, "Session argument is mandatory"); - } THROW_AND_RETURN_IF_NOT_BUFFER(env, args[0], "Session"); - ArrayBufferViewContents sbuf(args[0].As()); - - const unsigned char* p = sbuf.data(); - SSLSessionPointer sess(d2i_SSL_SESSION(nullptr, &p, sbuf.length())); + SSLSessionPointer sess = GetTLSSession(args[0]); if (sess == nullptr) return; - int r = SSL_set_session(w->ssl_.get(), sess.get()); - - if (!r) + if (!SetTLSSession(w->ssl_, sess)) return env->ThrowError("SSL_set_session error"); } @@ -2537,7 +2076,6 @@ void SSLWrap::GetEphemeralKeyInfo( Base* w; ASSIGN_OR_RETURN_UNWRAP(&w, args.Holder()); Environment* env = Environment::GetCurrent(args); - Local context = env->context(); CHECK(w->ssl_); @@ -2545,51 +2083,12 @@ void SSLWrap::GetEphemeralKeyInfo( if (w->is_server()) return args.GetReturnValue().SetNull(); - Local info = Object::New(env->isolate()); + Local ret; + if (GetEphemeralKey(env, w->ssl_).ToLocal(&ret)) + args.GetReturnValue().Set(ret); - EVP_PKEY* raw_key; - if (SSL_get_server_tmp_key(w->ssl_.get(), &raw_key)) { - EVPKeyPointer key(raw_key); - int kid = EVP_PKEY_id(key.get()); - switch (kid) { - case EVP_PKEY_DH: - info->Set(context, env->type_string(), - FIXED_ONE_BYTE_STRING(env->isolate(), "DH")).Check(); - info->Set(context, env->size_string(), - Integer::New(env->isolate(), EVP_PKEY_bits(key.get()))) - .Check(); - break; - case EVP_PKEY_EC: - case EVP_PKEY_X25519: - case EVP_PKEY_X448: - { - const char* curve_name; - if (kid == EVP_PKEY_EC) { - EC_KEY* ec = EVP_PKEY_get1_EC_KEY(key.get()); - int nid = EC_GROUP_get_curve_name(EC_KEY_get0_group(ec)); - curve_name = OBJ_nid2sn(nid); - EC_KEY_free(ec); - } else { - curve_name = OBJ_nid2sn(kid); - } - info->Set(context, env->type_string(), - FIXED_ONE_BYTE_STRING(env->isolate(), "ECDH")).Check(); - info->Set(context, env->name_string(), - OneByteString(args.GetIsolate(), - curve_name)).Check(); - info->Set(context, env->size_string(), - Integer::New(env->isolate(), - EVP_PKEY_bits(key.get()))).Check(); - } - break; - default: - break; - } - } // TODO(@sam-github) semver-major: else return ThrowCryptoError(env, // ERR_get_error()) - - return args.GetReturnValue().Set(info); } @@ -2619,58 +2118,14 @@ void SSLWrap::VerifyError(const FunctionCallbackInfo& args) { // peer certificate is questionable but it's compatible with what was // here before. long x509_verify_error = // NOLINT(runtime/int) - X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT; - if (X509* peer_cert = SSL_get_peer_certificate(w->ssl_.get())) { - X509_free(peer_cert); - x509_verify_error = SSL_get_verify_result(w->ssl_.get()); - } else { - const SSL_CIPHER* curr_cipher = SSL_get_current_cipher(w->ssl_.get()); - const SSL_SESSION* sess = SSL_get_session(w->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. Is there a better way? - if (SSL_CIPHER_get_auth_nid(curr_cipher) == NID_auth_psk || - (SSL_SESSION_get_protocol_version(sess) == TLS1_3_VERSION && - SSL_session_reused(w->ssl_.get()))) - return args.GetReturnValue().SetNull(); - } + VerifyPeerCertificate(w->ssl_, X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT); 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 = reason; -#define CASE_X509_ERR(CODE) case X509_V_ERR_##CODE: code = #CODE; break; - switch (x509_verify_error) { - 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) - } -#undef CASE_X509_ERR + code = X509ErrorCode(x509_verify_error); Isolate* isolate = args.GetIsolate(); Local reason_string = OneByteString(isolate, reason); @@ -2688,23 +2143,14 @@ void SSLWrap::GetCipher(const FunctionCallbackInfo& args) { Base* w; ASSIGN_OR_RETURN_UNWRAP(&w, args.Holder()); Environment* env = w->ssl_env(); - Local context = env->context(); const SSL_CIPHER* c = SSL_get_current_cipher(w->ssl_.get()); if (c == nullptr) return; - Local info = Object::New(env->isolate()); - const char* cipher_name = SSL_CIPHER_get_name(c); - info->Set(context, env->name_string(), - OneByteString(args.GetIsolate(), cipher_name)).Check(); - const char* cipher_standard_name = SSL_CIPHER_standard_name(c); - info->Set(context, env->standard_name_string(), - OneByteString(args.GetIsolate(), cipher_standard_name)).Check(); - const char* cipher_version = SSL_CIPHER_get_version(c); - info->Set(context, env->version_string(), - OneByteString(args.GetIsolate(), cipher_version)).Check(); - args.GetReturnValue().Set(info); + Local ret; + if (GetCipherInfo(env, w->ssl_).ToLocal(&ret)) + args.GetReturnValue().Set(ret); } @@ -2865,10 +2311,7 @@ void SSLWrap::SetALPNProtocols(const FunctionCallbackInfo& args) { return env->ThrowTypeError("Must give a Buffer as first argument"); if (w->is_client()) { - ArrayBufferViewContents alpn_protos(args[0]); - int r = SSL_set_alpn_protos( - w->ssl_.get(), alpn_protos.data(), alpn_protos.length()); - CHECK_EQ(r, 0); + CHECK(SetALPN(w->ssl_, args[0])); } else { CHECK( w->object()->SetPrivate( @@ -2891,18 +2334,10 @@ int SSLWrap::TLSExtStatusCallback(SSL* s, void* arg) { if (w->is_client()) { // Incoming response - const unsigned char* resp; - int len = SSL_get_tlsext_status_ocsp_resp(s, &resp); Local arg; - if (resp == nullptr) { - arg = Null(env->isolate()); - } else { - arg = - Buffer::Copy(env, reinterpret_cast(resp), len) - .ToLocalChecked(); - } - - w->MakeCallback(env->onocspresponse_string(), 1, &arg); + MaybeLocal ret = GetSSLOCSPResponse(env, s, Null(env->isolate())); + if (ret.ToLocal(&arg)) + w->MakeCallback(env->onocspresponse_string(), 1, &arg); // No async acceptance is possible, so always return 1 to accept the // response. The listener for 'OCSPResponse' event has no control over @@ -2961,7 +2396,7 @@ int SSLWrap::SSLCertCallback(SSL* s, void* arg) { Local info = Object::New(env->isolate()); - const char* servername = SSL_get_servername(s, TLSEXT_NAMETYPE_host_name); + const char* servername = GetServerName(s); if (servername == nullptr) { info->Set(context, env->servername_string(), @@ -3009,29 +2444,11 @@ void SSLWrap::CertCbDone(const FunctionCallbackInfo& args) { ASSIGN_OR_RETURN_UNWRAP(&sc, ctx.As()); w->sni_context_.Reset(env->isolate(), ctx); - int rv; - - // NOTE: reference count is not increased by this API methods - X509* x509 = SSL_CTX_get0_certificate(sc->ctx_.get()); - EVP_PKEY* pkey = SSL_CTX_get0_privatekey(sc->ctx_.get()); - STACK_OF(X509)* chain; - - rv = SSL_CTX_get0_chain_certs(sc->ctx_.get(), &chain); - if (rv) - rv = SSL_use_certificate(w->ssl_.get(), x509); - if (rv) - rv = SSL_use_PrivateKey(w->ssl_.get(), pkey); - if (rv && chain != nullptr) - rv = SSL_set1_chain(w->ssl_.get(), chain); - if (rv) - rv = w->SetCACerts(sc); - if (!rv) { + if (UseSNIContext(w->ssl_, sc) && !w->SetCACerts(sc)) { // Not clear why sometimes we throw error, and sometimes we call // onerror(). Both cause .destroy(), but onerror does a bit more. unsigned long err = ERR_get_error(); // NOLINT(runtime/int) - if (!err) - return env->ThrowError("CertCbDone"); - return ThrowCryptoError(env, err); + return ThrowCryptoError(env, err, "CertCbDone"); } } else { // Failure: incorrect SNI context object @@ -3834,6 +3251,15 @@ KeyType KeyObject::GetKeyType() const { return this->key_type_; } +KeyObject::KeyObject(Environment* env, + v8::Local wrap, + KeyType key_type) + : BaseObject(env, wrap), + key_type_(key_type), + symmetric_key_(nullptr, nullptr) { + MakeWeak(); +} + void KeyObject::Init(const FunctionCallbackInfo& args) { KeyObject* key; ASSIGN_OR_RETURN_UNWRAP(&key, args.Holder()); @@ -3976,6 +3402,17 @@ MaybeLocal KeyObject::ExportPrivateKey( return WritePrivateKey(env(), asymmetric_key_.get(), config); } +CipherBase::CipherBase(Environment* env, + v8::Local wrap, + CipherKind kind) + : BaseObject(env, wrap), + ctx_(nullptr), + kind_(kind), + auth_tag_state_(kAuthTagUnknown), + auth_tag_len_(kNoAuthTagLength), + pending_auth_failed_(false) { + MakeWeak(); +} void CipherBase::Initialize(Environment* env, Local target) { Local t = env->NewFunctionTemplate(New); @@ -4196,7 +3633,7 @@ void CipherBase::InitIv(const FunctionCallbackInfo& args) { reinterpret_cast(key.get()), key.size(), iv_buf.data(), - iv_len, + static_cast(iv_len), auth_tag_len); } @@ -4597,6 +4034,11 @@ void CipherBase::Final(const FunctionCallbackInfo& args) { args.GetReturnValue().Set(out.ToBuffer().ToLocalChecked()); } +Hmac::Hmac(Environment* env, v8::Local wrap) + : BaseObject(env, wrap), + ctx_(nullptr) { + MakeWeak(); +} void Hmac::Initialize(Environment* env, Local target) { Local t = env->NewFunctionTemplate(New); @@ -4715,6 +4157,13 @@ void Hmac::HmacDigest(const FunctionCallbackInfo& args) { args.GetReturnValue().Set(rc.ToLocalChecked()); } +Hash::Hash(Environment* env, v8::Local wrap) + : BaseObject(env, wrap), + mdctx_(nullptr), + has_md_(false), + md_value_(nullptr) { + MakeWeak(); +} void Hash::Initialize(Environment* env, Local target) { Local t = env->NewFunctionTemplate(New); @@ -4729,6 +4178,10 @@ void Hash::Initialize(Environment* env, Local target) { t->GetFunction(env->context()).ToLocalChecked()).Check(); } +Hash::~Hash() { + if (md_value_ != nullptr) + OPENSSL_clear_free(md_value_, md_len_); +} void Hash::New(const FunctionCallbackInfo& args) { Environment* env = Environment::GetCurrent(args); @@ -4952,6 +4405,10 @@ void CheckThrow(Environment* env, SignBase::Error error) { } } +SignBase::SignBase(Environment* env, v8::Local wrap) + : BaseObject(env, wrap) { +} + void SignBase::CheckThrow(SignBase::Error error) { node::crypto::CheckThrow(env(), error); } @@ -4975,6 +4432,9 @@ static bool ApplyRSAOptions(const ManagedEVPPKey& pkey, } +Sign::Sign(Environment* env, v8::Local wrap) : SignBase(env, wrap) { + MakeWeak(); +} void Sign::Initialize(Environment* env, Local target) { Local t = env->NewFunctionTemplate(New); @@ -5295,6 +4755,11 @@ void SignOneShot(const FunctionCallbackInfo& args) { args.GetReturnValue().Set(signature.ToBuffer().ToLocalChecked()); } +Verify::Verify(Environment* env, v8::Local wrap) : + SignBase(env, wrap) { + MakeWeak(); +} + void Verify::Initialize(Environment* env, Local target) { Local t = env->NewFunctionTemplate(New); @@ -5338,8 +4803,7 @@ void Verify::VerifyUpdate(const FunctionCallbackInfo& args) { SignBase::Error Verify::VerifyFinal(const ManagedEVPPKey& pkey, - const char* sig, - int siglen, + const ByteSource& sig, int padding, const Maybe& saltlen, bool* verify_result) { @@ -5360,11 +4824,8 @@ SignBase::Error Verify::VerifyFinal(const ManagedEVPPKey& pkey, ApplyRSAOptions(pkey, pkctx.get(), padding, saltlen) && EVP_PKEY_CTX_set_signature_md(pkctx.get(), EVP_MD_CTX_md(mdctx.get())) > 0) { - const int r = EVP_PKEY_verify(pkctx.get(), - reinterpret_cast(sig), - siglen, - m, - m_len); + const unsigned char* s = reinterpret_cast(sig.get()); + const int r = EVP_PKEY_verify(pkctx.get(), s, sig.size(), m, m_len); *verify_result = r == 1; } @@ -5409,7 +4870,7 @@ void Verify::VerifyFinal(const FunctionCallbackInfo& args) { } bool verify_result; - Error err = verify->VerifyFinal(pkey, hbuf.data(), hbuf.length(), padding, + Error err = verify->VerifyFinal(pkey, signature, padding, salt_len, &verify_result); if (err != kSignOk) return verify->CheckThrow(err); @@ -5602,6 +5063,10 @@ void PublicKeyCipher::Cipher(const FunctionCallbackInfo& args) { args.GetReturnValue().Set(out.ToBuffer().ToLocalChecked()); } +DiffieHellman::DiffieHellman(Environment* env, v8::Local wrap) + : BaseObject(env, wrap), verifyError_(0) { + MakeWeak(); +} void DiffieHellman::Initialize(Environment* env, Local target) { auto make = [&] (Local name, FunctionCallback callback) { @@ -5836,11 +5301,7 @@ void DiffieHellman::ComputeSecret(const FunctionCallbackInfo& args) { ClearErrorOnReturn clear_error_on_return; - if (args.Length() == 0) { - return THROW_ERR_MISSING_ARGS( - env, "Other party's public key argument is mandatory"); - } - + CHECK_EQ(args.Length(), 1); THROW_AND_RETURN_IF_NOT_BUFFER(env, args[0], "Other party's public key"); ArrayBufferViewContents key_buf(args[0].As()); BignumPointer key(BN_bin2bn(key_buf.data(), key_buf.length(), nullptr)); @@ -5900,11 +5361,7 @@ void DiffieHellman::SetKey(const FunctionCallbackInfo& args, char errmsg[64]; - if (args.Length() == 0) { - snprintf(errmsg, sizeof(errmsg), "%s argument is mandatory", what); - return THROW_ERR_MISSING_ARGS(env, errmsg); - } - + CHECK_EQ(args.Length(), 1); if (!Buffer::HasInstance(args[0])) { snprintf(errmsg, sizeof(errmsg), "%s must be a buffer", what); return THROW_ERR_INVALID_ARG_TYPE(env, errmsg); @@ -5969,6 +5426,15 @@ void ECDH::Initialize(Environment* env, Local target) { t->GetFunction(env->context()).ToLocalChecked()).Check(); } +ECDH::ECDH(Environment* env, v8::Local wrap, ECKeyPointer&& key) + : BaseObject(env, wrap), + key_(std::move(key)), + group_(EC_KEY_get0_group(key_.get())) { + MakeWeak(); + CHECK_NOT_NULL(group_); +} + +ECDH::~ECDH() {} void ECDH::New(const FunctionCallbackInfo& args) { Environment* env = Environment::GetCurrent(args); @@ -6210,9 +5676,8 @@ bool ECDH::IsKeyPairValid() { // TODO(addaleax): If there is an `AsyncWrap`, it currently has no access to // this object. This makes proper reporting of memory usage impossible. struct CryptoJob : public ThreadPoolWork { - Environment* const env; std::unique_ptr async_wrap; - inline explicit CryptoJob(Environment* env) : ThreadPoolWork(env), env(env) {} + inline explicit CryptoJob(Environment* env) : ThreadPoolWork(env) {} inline void AfterThreadPoolWork(int status) final; virtual void AfterThreadPoolWork() = 0; static inline void Run(std::unique_ptr job, Local wrap); @@ -6223,8 +5688,8 @@ void CryptoJob::AfterThreadPoolWork(int status) { CHECK(status == 0 || status == UV_ECANCELED); std::unique_ptr job(this); if (status == UV_ECANCELED) return; - HandleScope handle_scope(env->isolate()); - Context::Scope context_scope(env->context()); + HandleScope handle_scope(env()->isolate()); + Context::Scope context_scope(env()->context()); CHECK_EQ(false, async_wrap->persistent().IsWeak()); AfterThreadPoolWork(); } @@ -6265,12 +5730,12 @@ struct RandomBytesJob : public CryptoJob { inline void AfterThreadPoolWork() override { Local arg = ToResult(); - async_wrap->MakeCallback(env->ondone_string(), 1, &arg); + async_wrap->MakeCallback(env()->ondone_string(), 1, &arg); } inline Local ToResult() const { - if (errors.empty()) return Undefined(env->isolate()); - return errors.ToException(env).ToLocalChecked(); + if (errors.empty()) return Undefined(env()->isolate()); + return errors.ToException(env()).ToLocalChecked(); } }; @@ -6322,11 +5787,11 @@ struct PBKDF2Job : public CryptoJob { inline void AfterThreadPoolWork() override { Local arg = ToResult(); - async_wrap->MakeCallback(env->ondone_string(), 1, &arg); + async_wrap->MakeCallback(env()->ondone_string(), 1, &arg); } inline Local ToResult() const { - return Boolean::New(env->isolate(), success.FromJust()); + return Boolean::New(env()->isolate(), success.FromJust()); } inline void Cleanse() { @@ -6402,12 +5867,12 @@ struct ScryptJob : public CryptoJob { inline void AfterThreadPoolWork() override { Local arg = ToResult(); - async_wrap->MakeCallback(env->ondone_string(), 1, &arg); + async_wrap->MakeCallback(env()->ondone_string(), 1, &arg); } inline Local ToResult() const { - if (errors.empty()) return Undefined(env->isolate()); - return errors.ToException(env).ToLocalChecked(); + if (errors.empty()) return Undefined(env()->isolate()); + return errors.ToException(env()).ToLocalChecked(); } inline void Cleanse() { @@ -6671,7 +6136,7 @@ class GenerateKeyPairJob : public CryptoJob { inline void AfterThreadPoolWork() override { Local args[3]; ToResult(&args[0], &args[1], &args[2]); - async_wrap->MakeCallback(env->ondone_string(), 3, args); + async_wrap->MakeCallback(env()->ondone_string(), 3, args); } inline void ToResult(Local* err, @@ -6679,14 +6144,14 @@ class GenerateKeyPairJob : public CryptoJob { Local* privkey) { if (pkey_ && EncodeKeys(pubkey, privkey)) { CHECK(errors_.empty()); - *err = Undefined(env->isolate()); + *err = Undefined(env()->isolate()); } else { if (errors_.empty()) errors_.Capture(); CHECK(!errors_.empty()); - *err = errors_.ToException(env).ToLocalChecked(); - *pubkey = Undefined(env->isolate()); - *privkey = Undefined(env->isolate()); + *err = errors_.ToException(env()).ToLocalChecked(); + *pubkey = Undefined(env()->isolate()); + *privkey = Undefined(env()->isolate()); } } @@ -6695,20 +6160,21 @@ class GenerateKeyPairJob : public CryptoJob { if (public_key_encoding_.output_key_object_) { // Note that this has the downside of containing sensitive data of the // private key. - if (!KeyObject::Create(env, kKeyTypePublic, pkey_).ToLocal(pubkey)) + if (!KeyObject::Create(env(), kKeyTypePublic, pkey_).ToLocal(pubkey)) return false; } else { - if (!WritePublicKey(env, pkey_.get(), public_key_encoding_) + if (!WritePublicKey(env(), pkey_.get(), public_key_encoding_) .ToLocal(pubkey)) return false; } // Now do the same for the private key. if (private_key_encoding_.output_key_object_) { - if (!KeyObject::Create(env, kKeyTypePrivate, pkey_).ToLocal(privkey)) + if (!KeyObject::Create(env(), kKeyTypePrivate, pkey_) + .ToLocal(privkey)) return false; } else { - if (!WritePrivateKey(env, pkey_.get(), private_key_encoding_) + if (!WritePrivateKey(env(), pkey_.get(), private_key_encoding_) .ToLocal(privkey)) return false; } @@ -6747,15 +6213,8 @@ void GenerateKeyPair(const FunctionCallbackInfo& args, Local err, pubkey, privkey; job->ToResult(&err, &pubkey, &privkey); - bool (*IsNotTrue)(Maybe) = [](Maybe maybe) { - return maybe.IsNothing() || !maybe.ToChecked(); - }; - Local ret = Array::New(env->isolate(), 3); - if (IsNotTrue(ret->Set(env->context(), 0, err)) || - IsNotTrue(ret->Set(env->context(), 1, pubkey)) || - IsNotTrue(ret->Set(env->context(), 2, privkey))) - return; - args.GetReturnValue().Set(ret); + Local ret[] = { err, pubkey, privkey }; + args.GetReturnValue().Set(Array::New(env->isolate(), ret, arraysize(ret))); } void GenerateKeyPairRSA(const FunctionCallbackInfo& args) { @@ -6855,17 +6314,6 @@ void GetSSLCiphers(const FunctionCallbackInfo& args) { CHECK(ssl); STACK_OF(SSL_CIPHER)* ciphers = SSL_get_ciphers(ssl.get()); - int n = sk_SSL_CIPHER_num(ciphers); - Local arr = Array::New(env->isolate(), n); - - for (int i = 0; i < n; ++i) { - const SSL_CIPHER* cipher = sk_SSL_CIPHER_value(ciphers, i); - arr->Set(env->context(), - i, - OneByteString(args.GetIsolate(), - SSL_CIPHER_get_name(cipher))).Check(); - } - // 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 @@ -6878,13 +6326,20 @@ void GetSSLCiphers(const FunctionCallbackInfo& args) { "tls_aes_128_ccm_sha256" }; + const int n = sk_SSL_CIPHER_num(ciphers); + std::vector> arr(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->Set(env->context(), - arr->Length(), OneByteString(args.GetIsolate(), name)).Check(); + arr[n + i] = OneByteString(env->isolate(), name); } - args.GetReturnValue().Set(arr); + args.GetReturnValue().Set(Array::New(env->isolate(), arr.data(), arr.size())); } @@ -6935,22 +6390,23 @@ void GetHashes(const FunctionCallbackInfo& args) { void GetCurves(const FunctionCallbackInfo& args) { Environment* env = Environment::GetCurrent(args); const size_t num_curves = EC_get_builtin_curves(nullptr, 0); - Local arr = Array::New(env->isolate(), num_curves); if (num_curves) { std::vector curves(num_curves); if (EC_get_builtin_curves(curves.data(), num_curves)) { - for (size_t i = 0; i < num_curves; i++) { - arr->Set(env->context(), - i, - OneByteString(env->isolate(), - OBJ_nid2sn(curves[i].nid))).Check(); - } + std::vector> arr(num_curves); + + for (size_t i = 0; i < num_curves; i++) + arr[i] = OneByteString(env->isolate(), OBJ_nid2sn(curves[i].nid)); + + args.GetReturnValue().Set( + Array::New(env->isolate(), arr.data(), arr.size())); + return; } } - args.GetReturnValue().Set(arr); + args.GetReturnValue().Set(Array::New(env->isolate())); } diff --git a/src/node_crypto.h b/src/node_crypto.h index 4862c160e85072..74ae4025da9f33 100644 --- a/src/node_crypto.h +++ b/src/node_crypto.h @@ -84,14 +84,14 @@ extern void UseExtraCaCerts(const std::string& file); void InitCryptoOnce(); -class SecureContext : public BaseObject { +class SecureContext final : public BaseObject { public: - ~SecureContext() override { - Reset(); - } + ~SecureContext() override; static void Initialize(Environment* env, v8::Local target); + SSL_CTX* operator*() const { return ctx_.get(); } + // TODO(joyeecheung): track the memory used by OpenSSL types SET_NO_MEMORY_INFO() SET_MEMORY_INFO_NAME(SecureContext) @@ -177,20 +177,8 @@ class SecureContext : public BaseObject { HMAC_CTX* hctx, int enc); - SecureContext(Environment* env, v8::Local wrap) - : BaseObject(env, wrap) { - MakeWeak(); - env->isolate()->AdjustAmountOfExternalAllocatedMemory(kExternalSize); - } - - inline void Reset() { - if (ctx_ != nullptr) { - env()->isolate()->AdjustAmountOfExternalAllocatedMemory(-kExternalSize); - } - ctx_.reset(); - cert_.reset(); - issuer_.reset(); - } + SecureContext(Environment* env, v8::Local wrap); + void Reset(); }; // SSLWrap implicitly depends on the inheriting class' handle having an @@ -460,14 +448,7 @@ class KeyObject : public BaseObject { v8::MaybeLocal ExportPrivateKey( const PrivateKeyEncodingConfig& config) const; - KeyObject(Environment* env, - v8::Local wrap, - KeyType key_type) - : BaseObject(env, wrap), - key_type_(key_type), - symmetric_key_(nullptr, nullptr) { - MakeWeak(); - } + KeyObject(Environment* env, v8::Local wrap, KeyType key_type); private: const KeyType key_type_; @@ -541,17 +522,7 @@ class CipherBase : public BaseObject { static void SetAuthTag(const v8::FunctionCallbackInfo& args); static void SetAAD(const v8::FunctionCallbackInfo& args); - CipherBase(Environment* env, - v8::Local wrap, - CipherKind kind) - : BaseObject(env, wrap), - ctx_(nullptr), - kind_(kind), - auth_tag_state_(kAuthTagUnknown), - auth_tag_len_(kNoAuthTagLength), - pending_auth_failed_(false) { - MakeWeak(); - } + CipherBase(Environment* env, v8::Local wrap, CipherKind kind); private: DeleteFnPtr ctx_; @@ -581,18 +552,16 @@ class Hmac : public BaseObject { static void HmacUpdate(const v8::FunctionCallbackInfo& args); static void HmacDigest(const v8::FunctionCallbackInfo& args); - Hmac(Environment* env, v8::Local wrap) - : BaseObject(env, wrap), - ctx_(nullptr) { - MakeWeak(); - } + Hmac(Environment* env, v8::Local wrap); private: DeleteFnPtr ctx_; }; -class Hash : public BaseObject { +class Hash final : public BaseObject { public: + ~Hash() override; + static void Initialize(Environment* env, v8::Local target); // TODO(joyeecheung): track the memory used by OpenSSL types @@ -608,18 +577,7 @@ class Hash : public BaseObject { static void HashUpdate(const v8::FunctionCallbackInfo& args); static void HashDigest(const v8::FunctionCallbackInfo& args); - Hash(Environment* env, v8::Local wrap) - : BaseObject(env, wrap), - mdctx_(nullptr), - has_md_(false), - md_value_(nullptr) { - MakeWeak(); - } - - ~Hash() override { - if (md_value_ != nullptr) - OPENSSL_clear_free(md_value_, md_len_); - } + Hash(Environment* env, v8::Local wrap); private: EVPMDPointer mdctx_; @@ -641,9 +599,7 @@ class SignBase : public BaseObject { kSignMalformedSignature } Error; - SignBase(Environment* env, v8::Local wrap) - : BaseObject(env, wrap) { - } + SignBase(Environment* env, v8::Local wrap); Error Init(const char* sign_type); Error Update(const char* data, int len); @@ -689,9 +645,7 @@ class Sign : public SignBase { static void SignUpdate(const v8::FunctionCallbackInfo& args); static void SignFinal(const v8::FunctionCallbackInfo& args); - Sign(Environment* env, v8::Local wrap) : SignBase(env, wrap) { - MakeWeak(); - } + Sign(Environment* env, v8::Local wrap); }; class Verify : public SignBase { @@ -699,8 +653,7 @@ class Verify : public SignBase { static void Initialize(Environment* env, v8::Local target); Error VerifyFinal(const ManagedEVPPKey& key, - const char* sig, - int siglen, + const ByteSource& sig, int padding, const v8::Maybe& saltlen, bool* verify_result); @@ -711,9 +664,7 @@ class Verify : public SignBase { static void VerifyUpdate(const v8::FunctionCallbackInfo& args); static void VerifyFinal(const v8::FunctionCallbackInfo& args); - Verify(Environment* env, v8::Local wrap) : SignBase(env, wrap) { - MakeWeak(); - } + Verify(Environment* env, v8::Local wrap); }; class PublicKeyCipher { @@ -770,11 +721,7 @@ class DiffieHellman : public BaseObject { static void VerifyErrorGetter( const v8::FunctionCallbackInfo& args); - DiffieHellman(Environment* env, v8::Local wrap) - : BaseObject(env, wrap), - verifyError_(0) { - MakeWeak(); - } + DiffieHellman(Environment* env, v8::Local wrap); // TODO(joyeecheung): track the memory used by OpenSSL types SET_NO_MEMORY_INFO() @@ -793,11 +740,9 @@ class DiffieHellman : public BaseObject { DHPointer dh_; }; -class ECDH : public BaseObject { +class ECDH final : public BaseObject { public: - ~ECDH() override { - group_ = nullptr; - } + ~ECDH() override; static void Initialize(Environment* env, v8::Local target); static ECPointPointer BufferToPoint(Environment* env, @@ -810,13 +755,7 @@ class ECDH : public BaseObject { SET_SELF_SIZE(ECDH) protected: - ECDH(Environment* env, v8::Local wrap, ECKeyPointer&& key) - : BaseObject(env, wrap), - key_(std::move(key)), - group_(EC_KEY_get0_group(key_.get())) { - MakeWeak(); - CHECK_NOT_NULL(group_); - } + ECDH(Environment* env, v8::Local wrap, ECKeyPointer&& key); static void New(const v8::FunctionCallbackInfo& args); static void GenerateKeys(const v8::FunctionCallbackInfo& args); @@ -839,6 +778,17 @@ void SetEngine(const v8::FunctionCallbackInfo& args); #endif // !OPENSSL_NO_ENGINE void InitCrypto(v8::Local target); +void ThrowCryptoError(Environment* env, + unsigned long err, // NOLINT(runtime/int) + const char* message = nullptr); + +template +inline T* MallocOpenSSL(size_t count) { + void* mem = OPENSSL_malloc(MultiplyWithOverflowCheck(count, sizeof(T))); + CHECK_IMPLIES(mem == nullptr, count == 0); + return static_cast(mem); +} + } // namespace crypto } // namespace node diff --git a/src/node_crypto_bio.cc b/src/node_crypto_bio.cc index fc143043ba56b1..55f5e8a5a37650 100644 --- a/src/node_crypto_bio.cc +++ b/src/node_crypto_bio.cc @@ -438,6 +438,13 @@ void NodeBIO::TryAllocateForWrite(size_t hint) { kThroughputBufferLength; if (len < hint) len = hint; + + // If there is a one time allocation size hint, use it. + if (allocate_hint_ > len) { + len = allocate_hint_; + allocate_hint_ = 0; + } + Buffer* next = new Buffer(env_, len); if (w == nullptr) { diff --git a/src/node_crypto_bio.h b/src/node_crypto_bio.h index 5de943806a9642..333a50848c7efd 100644 --- a/src/node_crypto_bio.h +++ b/src/node_crypto_bio.h @@ -96,6 +96,21 @@ class NodeBIO : public MemoryRetainer { return length_; } + // Provide a hint about the size of the next pending set of writes. TLS + // writes records of a maximum length of 16k of data plus a 5-byte header, + // a MAC (up to 20 bytes for SSLv3, TLS 1.0, TLS 1.1, and up to 32 bytes + // for TLS 1.2), and padding if a block cipher is used. If there is a + // large write this will result in potentially many buffers being + // allocated and gc'ed which can cause long pauses. By providing a + // guess about the amount of buffer space that will be needed in the + // next allocation this overhead is removed. + inline void set_allocate_tls_hint(size_t size) { + constexpr size_t kThreshold = 16 * 1024; + if (size >= kThreshold) { + allocate_hint_ = (size / kThreshold + 1) * (kThreshold + 5 + 32); + } + } + inline void set_eof_return(int num) { eof_return_ = num; } @@ -164,6 +179,7 @@ class NodeBIO : public MemoryRetainer { Environment* env_ = nullptr; size_t initial_ = kInitialBufferLength; size_t length_ = 0; + size_t allocate_hint_ = 0; int eof_return_ = -1; Buffer* read_head_ = nullptr; Buffer* write_head_ = nullptr; diff --git a/src/node_crypto_common.cc b/src/node_crypto_common.cc new file mode 100644 index 00000000000000..197bc5cd5913a4 --- /dev/null +++ b/src/node_crypto_common.cc @@ -0,0 +1,1110 @@ +#include "env-inl.h" +#include "node_buffer.h" +#include "node_crypto.h" +#include "node_crypto_common.h" +#include "node.h" +#include "node_internals.h" +#include "node_url.h" +#include "string_bytes.h" +#include "v8.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace node { + +using v8::Array; +using v8::ArrayBufferView; +using v8::Context; +using v8::EscapableHandleScope; +using v8::Integer; +using v8::Local; +using v8::MaybeLocal; +using v8::NewStringType; +using v8::Null; +using v8::Object; +using v8::String; +using v8::Value; + +namespace crypto { + +static constexpr int X509_NAME_FLAGS = + ASN1_STRFLGS_ESC_CTRL | + ASN1_STRFLGS_UTF8_CONVERT | + XN_FLAG_SEP_MULTILINE | + XN_FLAG_FN_SN; + +int SSL_CTX_get_issuer(SSL_CTX* ctx, X509* cert, X509** issuer) { + X509_STORE* store = SSL_CTX_get_cert_store(ctx); + DeleteFnPtr store_ctx( + X509_STORE_CTX_new()); + return store_ctx.get() != nullptr && + X509_STORE_CTX_init(store_ctx.get(), store, nullptr, nullptr) == 1 && + X509_STORE_CTX_get1_issuer(issuer, store_ctx.get(), cert) == 1; +} + +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())); + unsigned char crandom[32]; + + if (keylog_cb == nullptr || + SSL_get_client_random(ssl.get(), crandom, 32) != 32) { + return; + } + + std::string line = name; + line += " " + StringBytes::hex_encode( + reinterpret_cast(crandom), 32); + line += " " + StringBytes::hex_encode( + reinterpret_cast(secret), secretlen); + keylog_cb(ssl.get(), line.c_str()); +} + +bool SetALPN(const SSLPointer& ssl, const std::string& alpn) { + return SSL_set_alpn_protos( + ssl.get(), + reinterpret_cast(alpn.c_str()), + alpn.length()) == 0; +} + +bool SetALPN(const SSLPointer& ssl, Local alpn) { + if (!alpn->IsArrayBufferView()) + return false; + ArrayBufferViewContents protos(alpn.As()); + return SSL_set_alpn_protos(ssl.get(), protos.data(), protos.length()) == 0; +} + +MaybeLocal GetSSLOCSPResponse( + Environment* env, + SSL* ssl, + Local default_value) { + const unsigned char* resp; + int len = SSL_get_tlsext_status_ocsp_resp(ssl, &resp); + if (resp == nullptr) + return default_value; + + Local ret; + MaybeLocal maybe_buffer = + Buffer::Copy(env, reinterpret_cast(resp), len); + + if (!maybe_buffer.ToLocal(&ret)) + return MaybeLocal(); + + return ret; +} + +bool SetTLSSession( + const SSLPointer& ssl, + const unsigned char* buf, + size_t length) { + SSLSessionPointer s(d2i_SSL_SESSION(nullptr, &buf, length)); + return s == nullptr ? false : SetTLSSession(ssl, s); +} + +bool SetTLSSession( + const SSLPointer& ssl, + const SSLSessionPointer& session) { + return session != nullptr && SSL_set_session(ssl.get(), session.get()) == 1; +} + +SSLSessionPointer GetTLSSession(Local val) { + if (!val->IsArrayBufferView()) + return SSLSessionPointer(); + ArrayBufferViewContents sbuf(val.As()); + return GetTLSSession(sbuf.data(), sbuf.length()); +} + +SSLSessionPointer GetTLSSession(const unsigned char* buf, size_t length) { + return SSLSessionPointer(d2i_SSL_SESSION(nullptr, &buf, length)); +} + +std::unordered_multimap +GetCertificateAltNames(X509* cert) { + std::unordered_multimap map; + BIOPointer bio(BIO_new(BIO_s_mem())); + BUF_MEM* mem; + int idx = X509_get_ext_by_NID(cert, NID_subject_alt_name, -1); + if (idx < 0) // There is no subject alt name + return map; + + X509_EXTENSION* ext = X509_get_ext(cert, idx); + CHECK_NOT_NULL(ext); + const X509V3_EXT_METHOD* method = X509V3_EXT_get(ext); + CHECK_EQ(method, X509V3_EXT_get_nid(NID_subject_alt_name)); + + GENERAL_NAMES* names = static_cast(X509V3_EXT_d2i(ext)); + if (names == nullptr) // There are no names + return map; + + for (int i = 0; i < sk_GENERAL_NAME_num(names); i++) { + USE(BIO_reset(bio.get())); + GENERAL_NAME* gen = sk_GENERAL_NAME_value(names, i); + if (gen->type == GEN_DNS) { + ASN1_IA5STRING* name = gen->d.dNSName; + BIO_write(bio.get(), name->data, name->length); + BIO_get_mem_ptr(bio.get(), &mem); + map.emplace("dns", std::string(mem->data, mem->length)); + } else { + STACK_OF(CONF_VALUE)* nval = i2v_GENERAL_NAME( + const_cast(method), gen, nullptr); + if (nval == nullptr) + continue; + X509V3_EXT_val_prn(bio.get(), nval, 0, 0); + sk_CONF_VALUE_pop_free(nval, X509V3_conf_free); + BIO_get_mem_ptr(bio.get(), &mem); + std::string value(mem->data, mem->length); + if (value.compare(0, 11, "IP Address:") == 0) { + map.emplace("ip", value.substr(11)); + } else if (value.compare(0, 4, "URI:") == 0) { + url::URL url(value.substr(4)); + if (url.flags() & url::URL_FLAGS_CANNOT_BE_BASE || + url.flags() & url::URL_FLAGS_FAILED) { + continue; // Skip this one + } + map.emplace("uri", url.host()); + } + } + } + sk_GENERAL_NAME_pop_free(names, GENERAL_NAME_free); + return map; +} + +std::string GetCertificateCN(X509* cert) { + X509_NAME* subject = X509_get_subject_name(cert); + if (subject != nullptr) { + int nid = OBJ_txt2nid("CN"); + int idx = X509_NAME_get_index_by_NID(subject, nid, -1); + if (idx != -1) { + X509_NAME_ENTRY* cn = X509_NAME_get_entry(subject, idx); + if (cn != nullptr) { + ASN1_STRING* cn_str = X509_NAME_ENTRY_get_data(cn); + if (cn_str != nullptr) { + return std::string(reinterpret_cast( + ASN1_STRING_get0_data(cn_str))); + } + } + } + } + return std::string(); +} + +long VerifyPeerCertificate( // NOLINT(runtime/int) + const SSLPointer& ssl, + long def) { // NOLINT(runtime/int) + long err = def; // NOLINT(runtime/int) + if (X509* peer_cert = SSL_get_peer_certificate(ssl.get())) { + X509_free(peer_cert); + 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; +} + +int UseSNIContext(const SSLPointer& ssl, SecureContext* context) { + SSL_CTX* ctx = context->ctx_.get(); + X509* x509 = SSL_CTX_get0_certificate(ctx); + 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); + if (err == 1) err = SSL_use_PrivateKey(ssl.get(), pkey); + if (err == 1 && chain != nullptr) err = SSL_set1_chain(ssl.get(), chain); + return err; +} + +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(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(buf + 5); +} + +const char* GetServerName(SSL* ssl) { + return SSL_get_servername(ssl, TLSEXT_NAMETYPE_host_name); +} + +bool SetGroups(SecureContext* sc, const char* groups) { + return SSL_CTX_set1_groups_list(**sc, groups) == 1; +} + +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) { + 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; +} + +MaybeLocal GetValidationErrorReason(Environment* env, int err) { + const char* reason = X509_verify_cert_error_string(err); + return OneByteString(env->isolate(), reason); +} + +MaybeLocal GetValidationErrorCode(Environment* env, int err) { + return OneByteString(env->isolate(), X509ErrorCode(err)); +} + +MaybeLocal GetCert(Environment* env, const SSLPointer& ssl) { + ClearErrorOnReturn clear_error_on_return; + X509* cert = SSL_get_certificate(ssl.get()); + if (cert == nullptr) + return Undefined(env->isolate()); + + Local ret; + MaybeLocal maybe_cert = X509ToObject(env, cert); + return maybe_cert.ToLocal(&ret) ? ret : MaybeLocal(); +} + +namespace { +template +bool Set( + Local context, + Local target, + Local name, + MaybeLocal maybe_value) { + Local value; + if (!maybe_value.ToLocal(&value)) + return false; + + // Undefined is ignored, but still considered successful + if (value->IsUndefined()) + return true; + + return !target->Set(context, name, value).IsNothing(); +} + +Local ToV8Value(Environment* env, const BIOPointer& bio) { + BUF_MEM* mem; + BIO_get_mem_ptr(bio.get(), &mem); + MaybeLocal ret = + String::NewFromUtf8( + env->isolate(), + mem->data, + NewStringType::kNormal, + mem->length); + USE(BIO_reset(bio.get())); + return ret.FromMaybe(Local()); +} + +MaybeLocal GetCipherName( + Environment* env, + const SSL_CIPHER* cipher) { + if (cipher == nullptr) + return Undefined(env->isolate()); + + return OneByteString(env->isolate(), SSL_CIPHER_get_name(cipher)); +} + +MaybeLocal GetCipherStandardName( + Environment* env, + const SSL_CIPHER* cipher) { + if (cipher == nullptr) + return Undefined(env->isolate()); + + return OneByteString(env->isolate(), SSL_CIPHER_standard_name(cipher)); +} + +MaybeLocal GetCipherVersion( + Environment* env, + const SSL_CIPHER* cipher) { + if (cipher == nullptr) + return Undefined(env->isolate()); + + return OneByteString(env->isolate(), SSL_CIPHER_get_version(cipher)); +} + +StackOfX509 CloneSSLCerts(X509Pointer&& cert, + const STACK_OF(X509)* const ssl_certs) { + StackOfX509 peer_certs(sk_X509_new(nullptr)); + if (cert) + sk_X509_push(peer_certs.get(), cert.release()); + for (int i = 0; i < sk_X509_num(ssl_certs); i++) { + X509Pointer cert(X509_dup(sk_X509_value(ssl_certs, i))); + if (!cert || !sk_X509_push(peer_certs.get(), cert.get())) + return StackOfX509(); + // `cert` is now managed by the stack. + cert.release(); + } + return peer_certs; +} + +MaybeLocal AddIssuerChainToObject( + X509Pointer* cert, + Local object, + StackOfX509&& peer_certs, + Environment* const env) { + Local context = env->isolate()->GetCurrentContext(); + cert->reset(sk_X509_delete(peer_certs.get(), 0)); + for (;;) { + int i; + for (i = 0; i < sk_X509_num(peer_certs.get()); i++) { + X509* ca = sk_X509_value(peer_certs.get(), i); + if (X509_check_issued(ca, cert->get()) != X509_V_OK) + continue; + + Local ca_info; + MaybeLocal maybe_ca_info = X509ToObject(env, ca); + if (!maybe_ca_info.ToLocal(&ca_info)) + return MaybeLocal(); + + if (!Set(context, object, env->issuercert_string(), ca_info)) + return MaybeLocal(); + object = ca_info; + + // NOTE: Intentionally freeing cert that is not used anymore. + // Delete cert and continue aggregating issuers. + cert->reset(sk_X509_delete(peer_certs.get(), i)); + break; + } + + // Issuer not found, break out of the loop. + if (i == sk_X509_num(peer_certs.get())) + break; + } + return MaybeLocal(object); +} + +MaybeLocal GetLastIssuedCert( + X509Pointer* cert, + const SSLPointer& ssl, + Local issuer_chain, + Environment* const env) { + Local context = env->isolate()->GetCurrentContext(); + while (X509_check_issued(cert->get(), cert->get()) != X509_V_OK) { + X509* ca; + if (SSL_CTX_get_issuer(SSL_get_SSL_CTX(ssl.get()), cert->get(), &ca) <= 0) + break; + + Local ca_info; + MaybeLocal maybe_ca_info = X509ToObject(env, ca); + if (!maybe_ca_info.ToLocal(&ca_info)) + return MaybeLocal(); + + if (!Set(context, issuer_chain, env->issuercert_string(), ca_info)) + return MaybeLocal(); + issuer_chain = ca_info; + + // Delete previous cert and continue aggregating issuers. + cert->reset(ca); + } + return MaybeLocal(issuer_chain); +} + +MaybeLocal GetRawDERCertificate(Environment* env, X509* cert) { + int size = i2d_X509(cert, nullptr); + + AllocatedBuffer buffer = env->AllocateManaged(size); + unsigned char* serialized = + reinterpret_cast(buffer.data()); + i2d_X509(cert, &serialized); + return buffer.ToBuffer(); +} + +MaybeLocal GetSerialNumber(Environment* env, X509* cert) { + if (ASN1_INTEGER* serial_number = X509_get_serialNumber(cert)) { + BignumPointer bn(ASN1_INTEGER_to_BN(serial_number, nullptr)); + if (bn) { + OpenSSLBuffer buf(BN_bn2hex(bn.get())); + if (buf) + return OneByteString(env->isolate(), buf.get()); + } + } + + return Undefined(env->isolate()); +} + +MaybeLocal GetKeyUsage(Environment* env, X509* cert) { + StackOfASN1 eku(static_cast( + X509_get_ext_d2i(cert, NID_ext_key_usage, nullptr, nullptr))); + if (eku) { + const int count = sk_ASN1_OBJECT_num(eku.get()); + MaybeStackBuffer, 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()); +} + +void AddFingerprintDigest( + const unsigned char* md, + unsigned int md_size, + char (*fingerprint)[3 * EVP_MAX_MD_SIZE + 1]) { + unsigned int i; + const 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] = ':'; + } + + if (md_size > 0) { + (*fingerprint)[(3*(md_size-1))+2] = '\0'; + } else { + (*fingerprint)[0] = '\0'; + } +} + +bool SafeX509ExtPrint(const BIOPointer& out, X509_EXTENSION* ext) { + const X509V3_EXT_METHOD* method = X509V3_EXT_get(ext); + + if (method != X509V3_EXT_get_nid(NID_subject_alt_name)) + return false; + + GENERAL_NAMES* names = static_cast(X509V3_EXT_d2i(ext)); + if (names == nullptr) + return false; + + for (int i = 0; i < sk_GENERAL_NAME_num(names); i++) { + GENERAL_NAME* gen = sk_GENERAL_NAME_value(names, i); + + if (i != 0) + BIO_write(out.get(), ", ", 2); + + if (gen->type == GEN_DNS) { + ASN1_IA5STRING* name = gen->d.dNSName; + + BIO_write(out.get(), "DNS:", 4); + BIO_write(out.get(), name->data, name->length); + } else { + STACK_OF(CONF_VALUE)* nval = i2v_GENERAL_NAME( + const_cast(method), gen, nullptr); + if (nval == nullptr) + return false; + X509V3_EXT_val_prn(out.get(), nval, 0, 0); + sk_CONF_VALUE_pop_free(nval, X509V3_conf_free); + } + } + sk_GENERAL_NAME_pop_free(names, GENERAL_NAME_free); + + return true; +} + +MaybeLocal GetFingerprintDigest( + Environment* env, + const EVP_MD* method, + X509* cert) { + unsigned char md[EVP_MAX_MD_SIZE]; + unsigned int md_size; + char fingerprint[EVP_MAX_MD_SIZE * 3 + 1]; + + if (X509_digest(cert, method, md, &md_size)) { + AddFingerprintDigest(md, md_size, &fingerprint); + return OneByteString(env->isolate(), fingerprint); + } + return Undefined(env->isolate()); +} + +MaybeLocal GetValidTo( + Environment* env, + X509* cert, + const BIOPointer& bio) { + ASN1_TIME_print(bio.get(), X509_get0_notAfter(cert)); + return ToV8Value(env, bio); +} + +MaybeLocal GetValidFrom( + Environment* env, + X509* cert, + const BIOPointer& bio) { + ASN1_TIME_print(bio.get(), X509_get0_notBefore(cert)); + return ToV8Value(env, bio); +} + +MaybeLocal GetCurveASN1Name(Environment* env, const int nid) { + const char* nist = OBJ_nid2sn(nid); + return nist != nullptr ? + MaybeLocal(OneByteString(env->isolate(), nist)) : + MaybeLocal(Undefined(env->isolate())); +} + +MaybeLocal GetCurveNistName(Environment* env, const int nid) { + const char* nist = EC_curve_nid2nist(nid); + return nist != nullptr ? + MaybeLocal(OneByteString(env->isolate(), nist)) : + MaybeLocal(Undefined(env->isolate())); +} + +MaybeLocal GetECPubKey( + Environment* env, + const EC_GROUP* group, + const ECPointer& ec) { + const EC_POINT* pubkey = EC_KEY_get0_public_key(ec.get()); + if (pubkey == nullptr) + return Undefined(env->isolate()); + + return ECPointToBuffer( + env, + group, + pubkey, + EC_KEY_get_conv_form(ec.get()), + nullptr).FromMaybe(Local()); +} + +MaybeLocal GetECGroup( + Environment* env, + const EC_GROUP* group, + const ECPointer& ec) { + if (group == nullptr) + return Undefined(env->isolate()); + + int bits = EC_GROUP_order_bits(group); + if (bits <= 0) + return Undefined(env->isolate()); + + return Integer::New(env->isolate(), bits); +} + +MaybeLocal GetPubKey(Environment* env, const RSAPointer& rsa) { + int size = i2d_RSA_PUBKEY(rsa.get(), nullptr); + CHECK_GE(size, 0); + + AllocatedBuffer buffer = env->AllocateManaged(size); + unsigned char* serialized = + reinterpret_cast(buffer.data()); + i2d_RSA_PUBKEY(rsa.get(), &serialized); + return buffer.ToBuffer(); +} + +MaybeLocal GetExponentString( + Environment* env, + const BIOPointer& bio, + const BIGNUM* e) { + uint64_t exponent_word = static_cast(BN_get_word(e)); + uint32_t lo = static_cast(exponent_word); + uint32_t hi = static_cast(exponent_word >> 32); + if (hi == 0) + BIO_printf(bio.get(), "0x%x", lo); + else + BIO_printf(bio.get(), "0x%x%08x", hi, lo); + + return ToV8Value(env, bio); +} + +Local GetBits(Environment* env, const BIGNUM* n) { + return Integer::New(env->isolate(), BN_num_bits(n)); +} + +MaybeLocal GetModulusString( + Environment* env, + const BIOPointer& bio, + const BIGNUM* n) { + BN_print(bio.get(), n); + return ToV8Value(env, bio); +} + +template +MaybeLocal GetInfoString( + Environment* env, + const BIOPointer& bio, + X509* cert) { + int index = X509_get_ext_by_NID(cert, nid, -1); + if (index < 0) + return Undefined(env->isolate()); + + X509_EXTENSION* ext = X509_get_ext(cert, index); + CHECK_NOT_NULL(ext); + + if (!SafeX509ExtPrint(bio, ext) && + X509V3_EXT_print(bio.get(), ext, 0, 0) != 1) { + USE(BIO_reset(bio.get())); + return Null(env->isolate()); + } + + return ToV8Value(env, bio); +} + +MaybeLocal GetIssuerString( + Environment* env, + const BIOPointer& bio, + X509* cert) { + X509_NAME* issuer_name = X509_get_issuer_name(cert); + if (X509_NAME_print_ex(bio.get(), issuer_name, 0, X509_NAME_FLAGS) <= 0) { + USE(BIO_reset(bio.get())); + return Undefined(env->isolate()); + } + + return ToV8Value(env, bio); +} + +MaybeLocal GetSubject( + Environment* env, + const BIOPointer& bio, + X509* cert) { + if (X509_NAME_print_ex( + bio.get(), + X509_get_subject_name(cert), + 0, + X509_NAME_FLAGS) <= 0) { + USE(BIO_reset(bio.get())); + return Undefined(env->isolate()); + } + + return ToV8Value(env, bio); +} +} // namespace + +MaybeLocal GetCipherName(Environment* env, const SSLPointer& ssl) { + return GetCipherName(env, SSL_get_current_cipher(ssl.get())); +} + +MaybeLocal GetCipherStandardName( + Environment* env, + const SSLPointer& ssl) { + return GetCipherStandardName(env, SSL_get_current_cipher(ssl.get())); +} + +MaybeLocal GetCipherVersion(Environment* env, const SSLPointer& ssl) { + return GetCipherVersion(env, SSL_get_current_cipher(ssl.get())); +} + +MaybeLocal 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, 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 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(); + } + ciphers[j++] = obj; + } + Local ret = Array::New(env->isolate(), ciphers.out(), count); + return scope.Escape(ret); +} + + +MaybeLocal GetCipherInfo(Environment* env, const SSLPointer& ssl) { + EscapableHandleScope scope(env->isolate()); + Local info = Object::New(env->isolate()); + + if (!Set(env->context(), + info, + env->name_string(), + GetCipherName(env, ssl)) || + !Set(env->context(), + info, + env->standard_name_string(), + GetCipherStandardName(env, ssl)) || + !Set(env->context(), + info, + env->version_string(), + GetCipherVersion(env, ssl))) { + return MaybeLocal(); + } + + return scope.Escape(info); +} + +MaybeLocal GetEphemeralKey(Environment* env, const SSLPointer& ssl) { + CHECK_EQ(SSL_is_server(ssl.get()), 0); + EVP_PKEY* raw_key; + + EscapableHandleScope scope(env->isolate()); + Local info = Object::New(env->isolate()); + if (!SSL_get_server_tmp_key(ssl.get(), &raw_key)) + return scope.Escape(info); + + Local context = env->context(); + crypto::EVPKeyPointer key(raw_key); + + int kid = EVP_PKEY_id(key.get()); + int bits = EVP_PKEY_bits(key.get()); + switch (kid) { + case EVP_PKEY_DH: + if (!Set(context, info, env->type_string(), env->dh_string()) || + !Set(context, + info, + env->size_string(), + Integer::New(env->isolate(), bits))) { + return MaybeLocal(); + } + break; + case EVP_PKEY_EC: + case EVP_PKEY_X25519: + case EVP_PKEY_X448: + { + const char* curve_name; + if (kid == EVP_PKEY_EC) { + ECKeyPointer ec(EVP_PKEY_get1_EC_KEY(key.get())); + int nid = EC_GROUP_get_curve_name(EC_KEY_get0_group(ec.get())); + curve_name = OBJ_nid2sn(nid); + } else { + curve_name = OBJ_nid2sn(kid); + } + if (!Set(context, + info, + env->type_string(), + env->ecdh_string()) || + !Set(context, + info, + env->name_string(), + OneByteString(env->isolate(), curve_name)) || + !Set(context, + info, + env->size_string(), + Integer::New(env->isolate(), bits))) { + return MaybeLocal(); + } + } + break; + } + + return scope.Escape(info); +} + +MaybeLocal ECPointToBuffer(Environment* env, + const EC_GROUP* group, + const EC_POINT* point, + point_conversion_form_t form, + const char** error) { + size_t len = EC_POINT_point2oct(group, point, form, nullptr, 0, nullptr); + if (len == 0) { + if (error != nullptr) *error = "Failed to get public key length"; + return MaybeLocal(); + } + AllocatedBuffer buf = env->AllocateManaged(len); + len = EC_POINT_point2oct(group, + point, + form, + reinterpret_cast(buf.data()), + buf.size(), + nullptr); + if (len == 0) { + if (error != nullptr) *error = "Failed to get public key"; + return MaybeLocal(); + } + return buf.ToBuffer(); +} + +MaybeLocal GetPeerCert( + Environment* env, + const SSLPointer& ssl, + bool abbreviated, + bool is_server) { + ClearErrorOnReturn clear_error_on_return; + Local result; + MaybeLocal maybe_cert; + + // NOTE: This is because of the odd OpenSSL behavior. On client `cert_chain` + // contains the `peer_certificate`, but on server it doesn't. + X509Pointer cert(is_server ? SSL_get_peer_certificate(ssl.get()) : nullptr); + STACK_OF(X509)* ssl_certs = SSL_get_peer_cert_chain(ssl.get()); + if (!cert && (ssl_certs == nullptr || sk_X509_num(ssl_certs) == 0)) + return Undefined(env->isolate()); + + // Short result requested. + if (abbreviated) { + maybe_cert = + X509ToObject(env, cert ? cert.get() : sk_X509_value(ssl_certs, 0)); + return maybe_cert.ToLocal(&result) ? result : MaybeLocal(); + } + + StackOfX509 peer_certs = CloneSSLCerts(std::move(cert), ssl_certs); + if (peer_certs == nullptr) + return Undefined(env->isolate()); + + // First and main certificate. + X509Pointer first_cert(sk_X509_value(peer_certs.get(), 0)); + CHECK(first_cert); + maybe_cert = X509ToObject(env, first_cert.release()).ToLocalChecked(); + if (!maybe_cert.ToLocal(&result)) + return MaybeLocal(); + + Local issuer_chain; + MaybeLocal maybe_issuer_chain; + + maybe_issuer_chain = + AddIssuerChainToObject( + &cert, + result, + std::move(peer_certs), + env); + if (!maybe_issuer_chain.ToLocal(&issuer_chain)) + return MaybeLocal(); + + maybe_issuer_chain = + GetLastIssuedCert( + &cert, + ssl, + issuer_chain, + env); + + issuer_chain.Clear(); + if (!maybe_issuer_chain.ToLocal(&issuer_chain)) + return MaybeLocal(); + + // Last certificate should be self-signed. + if (X509_check_issued(cert.get(), cert.get()) == X509_V_OK && + !Set(env->context(), + issuer_chain, + env->issuercert_string(), + issuer_chain)) { + return MaybeLocal(); + } + + return result; +} + +MaybeLocal X509ToObject(Environment* env, X509* cert) { + EscapableHandleScope scope(env->isolate()); + Local context = env->context(); + Local info = Object::New(env->isolate()); + + BIOPointer bio(BIO_new(BIO_s_mem())); + + if (!Set(context, + info, + env->subject_string(), + GetSubject(env, bio, cert)) || + !Set(context, + info, + env->issuer_string(), + GetIssuerString(env, bio, cert)) || + !Set(context, + info, + env->subjectaltname_string(), + GetInfoString(env, bio, cert)) || + !Set(context, + info, + env->infoaccess_string(), + GetInfoString(env, bio, cert))) { + return MaybeLocal(); + } + + EVPKeyPointer pkey(X509_get_pubkey(cert)); + RSAPointer rsa; + ECPointer ec; + if (pkey) { + switch (EVP_PKEY_id(pkey.get())) { + case EVP_PKEY_RSA: + rsa.reset(EVP_PKEY_get1_RSA(pkey.get())); + break; + case EVP_PKEY_EC: + ec.reset(EVP_PKEY_get1_EC_KEY(pkey.get())); + break; + } + } + + if (rsa) { + const BIGNUM* n; + const BIGNUM* e; + RSA_get0_key(rsa.get(), &n, &e, nullptr); + if (!Set(context, + info, + env->modulus_string(), + GetModulusString(env, bio, n)) || + !Set(context, info, env->bits_string(), GetBits(env, n)) || + !Set(context, + info, + env->exponent_string(), + GetExponentString(env, bio, e)) || + !Set(context, + info, + env->pubkey_string(), + GetPubKey(env, rsa))) { + return MaybeLocal(); + } + } else if (ec) { + const EC_GROUP* group = EC_KEY_get0_group(ec.get()); + + if (!Set(context, + info, + env->bits_string(), + GetECGroup(env, group, ec)) || + !Set(context, + info, + env->pubkey_string(), + GetECPubKey(env, group, ec))) { + return MaybeLocal(); + } + + 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(context, + info, + env->asn1curve_string(), + GetCurveASN1Name(env, nid)) || + !Set(context, + info, + env->nistcurve_string(), + GetCurveNistName(env, nid))) { + return MaybeLocal(); + } + } 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. + } + } + + // pkey, rsa, and ec pointers are no longer needed. + pkey.reset(); + rsa.reset(); + ec.reset(); + + if (!Set(context, + info, + env->valid_from_string(), + GetValidFrom(env, cert, bio)) || + !Set(context, + info, + env->valid_to_string(), + GetValidTo(env, cert, bio))) { + return MaybeLocal(); + } + + // bio is no longer needed + bio.reset(); + + if (!Set(context, + info, + env->fingerprint_string(), + GetFingerprintDigest(env, EVP_sha1(), cert)) || + !Set(context, + info, + env->fingerprint256_string(), + GetFingerprintDigest(env, EVP_sha256(), cert)) || + !Set(context, + info, + env->ext_key_usage_string(), + GetKeyUsage(env, cert)) || + !Set(context, + info, + env->serial_number_string(), + GetSerialNumber(env, cert)) || + !Set(context, + info, + env->raw_string(), + GetRawDERCertificate(env, cert))) { + return MaybeLocal(); + } + + return scope.Escape(info); +} + +} // namespace crypto +} // namespace node diff --git a/src/node_crypto_common.h b/src/node_crypto_common.h new file mode 100644 index 00000000000000..e42e249ef2ba2e --- /dev/null +++ b/src/node_crypto_common.h @@ -0,0 +1,139 @@ +#ifndef SRC_NODE_CRYPTO_COMMON_H_ +#define SRC_NODE_CRYPTO_COMMON_H_ + +#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS + +#include "env.h" +#include "node_crypto.h" +#include "v8.h" +#include +#include + +#include +#include + +namespace node { +namespace crypto { + +// OPENSSL_free is a macro, so we need a wrapper function. +struct OpenSSLBufferDeleter { + void operator()(char* pointer) const { OPENSSL_free(pointer); } +}; +using OpenSSLBuffer = std::unique_ptr; + +struct StackOfX509Deleter { + void operator()(STACK_OF(X509)* p) const { sk_X509_pop_free(p, X509_free); } +}; +using StackOfX509 = std::unique_ptr; + +struct StackOfXASN1Deleter { + void operator()(STACK_OF(ASN1_OBJECT)* p) const { + sk_ASN1_OBJECT_pop_free(p, ASN1_OBJECT_free); + } +}; +using StackOfASN1 = std::unique_ptr; + +int SSL_CTX_get_issuer(SSL_CTX* ctx, X509* cert, X509** issuer); + +void LogSecret( + const SSLPointer& ssl, + const char* name, + const unsigned char* secret, + size_t secretlen); + +bool SetALPN(const SSLPointer& ssl, const std::string& alpn); + +bool SetALPN(const SSLPointer& ssl, v8::Local alpn); + +v8::MaybeLocal GetSSLOCSPResponse( + Environment* env, + SSL* ssl, + v8::Local default_value); + +bool SetTLSSession( + const SSLPointer& ssl, + const unsigned char* buf, + size_t length); + +bool SetTLSSession( + const SSLPointer& ssl, + const SSLSessionPointer& session); + +SSLSessionPointer GetTLSSession(v8::Local val); + +SSLSessionPointer GetTLSSession(const unsigned char* buf, size_t length); + +std::unordered_multimap +GetCertificateAltNames(X509* cert); + +std::string GetCertificateCN(X509* cert); + +long VerifyPeerCertificate( // NOLINT(runtime/int) + const SSLPointer& ssl, + long def = X509_V_ERR_UNSPECIFIED); // NOLINT(runtime/int) + +int UseSNIContext(const SSLPointer& ssl, SecureContext* context); + +const char* GetClientHelloALPN(const SSLPointer& ssl); + +const char* GetClientHelloServerName(const SSLPointer& ssl); + +const char* GetServerName(SSL* ssl); + +v8::MaybeLocal GetClientHelloCiphers( + Environment* env, + const SSLPointer& ssl); + +bool SetGroups(SecureContext* sc, const char* groups); + +const char* X509ErrorCode(long err); // NOLINT(runtime/int) + +v8::MaybeLocal GetValidationErrorReason(Environment* env, int err); + +v8::MaybeLocal GetValidationErrorCode(Environment* env, int err); + +v8::MaybeLocal GetCert(Environment* env, const SSLPointer& ssl); + +v8::MaybeLocal GetCipherName( + Environment* env, + const SSLPointer& ssl); + +v8::MaybeLocal GetCipherStandardName( + Environment* env, + const SSLPointer& ssl); + +v8::MaybeLocal GetCipherVersion( + Environment* env, + const SSLPointer& ssl); + +v8::MaybeLocal GetCipherInfo( + Environment* env, + const SSLPointer& ssl); + +v8::MaybeLocal GetEphemeralKey( + Environment* env, + const SSLPointer& ssl); + +v8::MaybeLocal GetPeerCert( + Environment* env, + const SSLPointer& ssl, + bool abbreviated = false, + bool is_server = false); + +v8::MaybeLocal ECPointToBuffer( + Environment* env, + const EC_GROUP* group, + const EC_POINT* point, + point_conversion_form_t form, + const char** error); + +v8::MaybeLocal X509ToObject( + Environment* env, + X509* cert); + +} // namespace crypto +} // namespace node + +#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS + +#endif // SRC_NODE_CRYPTO_COMMON_H_ diff --git a/src/node_env_var.cc b/src/node_env_var.cc index c80efbd7536bc8..69f7f5c862d1d7 100644 --- a/src/node_env_var.cc +++ b/src/node_env_var.cc @@ -1,3 +1,4 @@ +#include "debug_utils-inl.h" #include "env-inl.h" #include "node_errors.h" #include "node_process.h" diff --git a/src/node_errors.cc b/src/node_errors.cc index 6d69075114a0ff..9d038e3d1683e7 100644 --- a/src/node_errors.cc +++ b/src/node_errors.cc @@ -1,6 +1,7 @@ #include #include +#include "debug_utils-inl.h" #include "node_errors.h" #include "node_internals.h" #ifdef NODE_REPORT @@ -10,10 +11,6 @@ #include "node_v8_platform-inl.h" #include "util-inl.h" -#ifdef __ANDROID__ -#include -#endif - namespace node { using errors::TryCatchScope; @@ -54,8 +51,6 @@ namespace per_process { static Mutex tty_mutex; } // namespace per_process -static const int kMaxErrorSourceLength = 1024; - static std::string GetErrorSource(Isolate* isolate, Local context, Local message, @@ -107,41 +102,35 @@ static std::string GetErrorSource(Isolate* isolate, end -= script_start; } - int max_off = kMaxErrorSourceLength - 2; - - char buf[kMaxErrorSourceLength]; - int off = snprintf(buf, - kMaxErrorSourceLength, - "%s:%i\n%s\n", - filename_string, - linenum, - sourceline.c_str()); - CHECK_GE(off, 0); - if (off > max_off) { - off = max_off; - } + std::string buf = SPrintF("%s:%i\n%s\n", + filename_string, + linenum, + sourceline.c_str()); + CHECK_GT(buf.size(), 0); + constexpr int kUnderlineBufsize = 1020; + char underline_buf[kUnderlineBufsize + 4]; + int off = 0; // Print wavy underline (GetUnderline is deprecated). for (int i = 0; i < start; i++) { - if (sourceline[i] == '\0' || off >= max_off) { + if (sourceline[i] == '\0' || off >= kUnderlineBufsize) { break; } - CHECK_LT(off, max_off); - buf[off++] = (sourceline[i] == '\t') ? '\t' : ' '; + CHECK_LT(off, kUnderlineBufsize); + underline_buf[off++] = (sourceline[i] == '\t') ? '\t' : ' '; } for (int i = start; i < end; i++) { - if (sourceline[i] == '\0' || off >= max_off) { + if (sourceline[i] == '\0' || off >= kUnderlineBufsize) { break; } - CHECK_LT(off, max_off); - buf[off++] = '^'; + CHECK_LT(off, kUnderlineBufsize); + underline_buf[off++] = '^'; } - CHECK_LE(off, max_off); - buf[off] = '\n'; - buf[off + 1] = '\0'; + CHECK_LE(off, kUnderlineBufsize); + underline_buf[off++] = '\n'; *added_exception_line = true; - return std::string(buf); + return buf + std::string(underline_buf, off); } void PrintStackTrace(Isolate* isolate, Local stack) { @@ -154,9 +143,9 @@ void PrintStackTrace(Isolate* isolate, Local stack) { if (stack_frame->IsEval()) { if (stack_frame->GetScriptId() == Message::kNoScriptIdInfo) { - fprintf(stderr, " at [eval]:%i:%i\n", line_number, column); + FPrintF(stderr, " at [eval]:%i:%i\n", line_number, column); } else { - fprintf(stderr, + FPrintF(stderr, " at [eval] (%s:%i:%i)\n", *script_name, line_number, @@ -166,12 +155,12 @@ void PrintStackTrace(Isolate* isolate, Local stack) { } if (fn_name_s.length() == 0) { - fprintf(stderr, " at %s:%i:%i\n", *script_name, line_number, column); + FPrintF(stderr, " at %s:%i:%i\n", script_name, line_number, column); } else { - fprintf(stderr, + FPrintF(stderr, " at %s (%s:%i:%i)\n", - *fn_name_s, - *script_name, + fn_name_s, + script_name, line_number, column); } @@ -189,8 +178,8 @@ void PrintException(Isolate* isolate, bool added_exception_line = false; std::string source = GetErrorSource(isolate, context, message, &added_exception_line); - fprintf(stderr, "%s\n", source.c_str()); - fprintf(stderr, "%s\n", *reason); + FPrintF(stderr, "%s\n", source); + FPrintF(stderr, "%s\n", reason); Local stack = message->GetStackTrace(); if (!stack.IsEmpty()) PrintStackTrace(isolate, stack); @@ -235,7 +224,7 @@ void AppendExceptionLine(Environment* env, env->set_printed_error(true); ResetStdio(); - PrintErrorString("\n%s", source.c_str()); + FPrintF(stderr, "\n%s", source); return; } @@ -253,12 +242,11 @@ void AppendExceptionLine(Environment* env, } [[noreturn]] void Assert(const AssertionInfo& info) { - char name[1024]; - GetHumanReadableProcessName(&name); + std::string name = GetHumanReadableProcessName(); fprintf(stderr, "%s: %s:%s%s Assertion `%s' failed.\n", - name, + name.c_str(), info.file_line, info.function, *info.function ? ":" : "", @@ -282,6 +270,9 @@ static void ReportFatalException(Environment* env, Local error, Local message, EnhanceFatalException enhance_stack) { + if (!env->can_call_into_js()) + enhance_stack = EnhanceFatalException::kDontEnhance; + Isolate* isolate = env->isolate(); CHECK(!error.IsEmpty()); CHECK(!message.IsEmpty()); @@ -347,10 +338,10 @@ static void ReportFatalException(Environment* env, // range errors have a trace member set to undefined if (trace.length() > 0 && !stack_trace->IsUndefined()) { if (arrow.IsEmpty() || !arrow->IsString() || decorated) { - PrintErrorString("%s\n", *trace); + FPrintF(stderr, "%s\n", trace); } else { node::Utf8Value arrow_string(env->isolate(), arrow); - PrintErrorString("%s\n%s\n", *arrow_string, *trace); + FPrintF(stderr, "%s\n%s\n", arrow_string, trace); } } else { // this really only happens for RangeErrors, since they're the only @@ -368,33 +359,33 @@ static void ReportFatalException(Environment* env, if (message.IsEmpty() || message.ToLocalChecked()->IsUndefined() || name.IsEmpty() || name.ToLocalChecked()->IsUndefined()) { // Not an error object. Just print as-is. - String::Utf8Value message(env->isolate(), error); + node::Utf8Value message(env->isolate(), error); - PrintErrorString("%s\n", - *message ? *message : ""); + FPrintF(stderr, "%s\n", + *message ? message.ToString() : ""); } else { node::Utf8Value name_string(env->isolate(), name.ToLocalChecked()); node::Utf8Value message_string(env->isolate(), message.ToLocalChecked()); if (arrow.IsEmpty() || !arrow->IsString() || decorated) { - PrintErrorString("%s: %s\n", *name_string, *message_string); + FPrintF(stderr, "%s: %s\n", name_string, message_string); } else { node::Utf8Value arrow_string(env->isolate(), arrow); - PrintErrorString( - "%s\n%s: %s\n", *arrow_string, *name_string, *message_string); + FPrintF(stderr, + "%s\n%s: %s\n", arrow_string, name_string, message_string); } } if (!env->options()->trace_uncaught) { - PrintErrorString("(Use `node --trace-uncaught ...` to show " - "where the exception was thrown)\n"); + FPrintF(stderr, "(Use `node --trace-uncaught ...` to show " + "where the exception was thrown)\n"); } } if (env->options()->trace_uncaught) { Local trace = message->GetStackTrace(); if (!trace.IsEmpty()) { - PrintErrorString("Thrown at:\n"); + FPrintF(stderr, "Thrown at:\n"); PrintStackTrace(env->isolate(), trace); } } @@ -402,42 +393,6 @@ static void ReportFatalException(Environment* env, fflush(stderr); } -void PrintErrorString(const char* format, ...) { - va_list ap; - va_start(ap, format); -#ifdef _WIN32 - HANDLE stderr_handle = GetStdHandle(STD_ERROR_HANDLE); - - // Check if stderr is something other than a tty/console - if (stderr_handle == INVALID_HANDLE_VALUE || stderr_handle == nullptr || - uv_guess_handle(_fileno(stderr)) != UV_TTY) { - vfprintf(stderr, format, ap); - va_end(ap); - return; - } - - // Fill in any placeholders - int n = _vscprintf(format, ap); - std::vector out(n + 1); - vsprintf(out.data(), format, ap); - - // Get required wide buffer size - n = MultiByteToWideChar(CP_UTF8, 0, out.data(), -1, nullptr, 0); - - std::vector wbuf(n); - MultiByteToWideChar(CP_UTF8, 0, out.data(), -1, wbuf.data(), n); - - // Don't include the null character in the output - CHECK_GT(n, 0); - WriteConsoleW(stderr_handle, wbuf.data(), n - 1, nullptr, nullptr); -#elif defined(__ANDROID__) - __android_log_vprint(ANDROID_LOG_ERROR, "nodejs", format, ap); -#else - vfprintf(stderr, format, ap); -#endif - va_end(ap); -} - [[noreturn]] void FatalError(const char* location, const char* message) { OnFatalError(location, message); // to suppress compiler warning @@ -446,9 +401,9 @@ void PrintErrorString(const char* format, ...) { void OnFatalError(const char* location, const char* message) { if (location) { - PrintErrorString("FATAL ERROR: %s %s\n", location, message); + FPrintF(stderr, "FATAL ERROR: %s %s\n", location, message); } else { - PrintErrorString("FATAL ERROR: %s\n", message); + FPrintF(stderr, "FATAL ERROR: %s\n", message); } #ifdef NODE_REPORT Isolate* isolate = Isolate::GetCurrent(); @@ -962,7 +917,7 @@ void TriggerUncaughtException(Isolate* isolate, } MaybeLocal handled; - { + if (env->can_call_into_js()) { // We do not expect the global uncaught exception itself to throw any more // exceptions. If it does, exit the current Node.js instance. errors::TryCatchScope try_catch(env, diff --git a/src/node_errors.h b/src/node_errors.h index 74413e7456a356..2da952ad29d499 100644 --- a/src/node_errors.h +++ b/src/node_errors.h @@ -25,8 +25,6 @@ void AppendExceptionLine(Environment* env, [[noreturn]] void FatalError(const char* location, const char* message); void OnFatalError(const char* location, const char* message); -void PrintErrorString(const char* format, ...); - // Helpers to construct errors similar to the ones provided by // lib/internal/errors.js. // Example: with `V(ERR_INVALID_ARG_TYPE, TypeError)`, there will be @@ -43,7 +41,8 @@ void PrintErrorString(const char* format, ...); V(ERR_OSSL_EVP_INVALID_DIGEST, Error) \ V(ERR_INVALID_ARG_TYPE, TypeError) \ V(ERR_INVALID_MODULE_SPECIFIER, TypeError) \ - V(ERR_INVALID_PACKAGE_CONFIG, SyntaxError) \ + V(ERR_INVALID_PACKAGE_CONFIG, Error) \ + V(ERR_INVALID_PACKAGE_TARGET, Error) \ V(ERR_INVALID_TRANSFER_OBJECT, TypeError) \ V(ERR_MEMORY_ALLOCATION_FAILED, Error) \ V(ERR_MISSING_ARGS, TypeError) \ @@ -53,6 +52,7 @@ void PrintErrorString(const char* format, ...); V(ERR_NON_CONTEXT_AWARE_DISABLED, Error) \ V(ERR_MODULE_NOT_FOUND, Error) \ V(ERR_OUT_OF_RANGE, RangeError) \ + V(ERR_PACKAGE_PATH_NOT_EXPORTED, Error) \ V(ERR_SCRIPT_EXECUTION_INTERRUPTED, Error) \ V(ERR_SCRIPT_EXECUTION_TIMEOUT, Error) \ V(ERR_STRING_TOO_LONG, Error) \ diff --git a/src/node_file.cc b/src/node_file.cc index 29d1eb23d9f20e..71cb13c4f15048 100644 --- a/src/node_file.cc +++ b/src/node_file.cc @@ -53,7 +53,6 @@ namespace fs { using v8::Array; using v8::Context; -using v8::DontDelete; using v8::EscapableHandleScope; using v8::Function; using v8::FunctionCallbackInfo; @@ -68,8 +67,6 @@ using v8::Number; using v8::Object; using v8::ObjectTemplate; using v8::Promise; -using v8::PropertyAttribute; -using v8::ReadOnly; using v8::String; using v8::Symbol; using v8::Uint32; @@ -138,15 +135,6 @@ FileHandle* FileHandle::New(Environment* env, int fd, Local obj) { .ToLocal(&obj)) { return nullptr; } - PropertyAttribute attr = - static_cast(ReadOnly | DontDelete); - if (obj->DefineOwnProperty(env->context(), - env->fd_string(), - Integer::New(env->isolate(), fd), - attr) - .IsNothing()) { - return nullptr; - } return new FileHandle(env, obj, fd); } @@ -190,12 +178,13 @@ inline void FileHandle::Close() { uv_fs_t req; int ret = uv_fs_close(env()->event_loop(), &req, fd_, nullptr); uv_fs_req_cleanup(&req); - AfterClose(); struct err_detail { int ret; int fd; }; err_detail detail { ret, fd_ }; + AfterClose(); + if (ret < 0) { // Do not unref this env()->SetImmediate([detail](Environment* env) { @@ -301,6 +290,7 @@ MaybeLocal FileHandle::ClosePromise() { close->file_handle()->AfterClose(); Isolate* isolate = close->env()->isolate(); if (req->result < 0) { + HandleScope handle_scope(isolate); close->Reject(UVException(isolate, req->result, "close")); } else { close->Resolve(); @@ -339,6 +329,7 @@ void FileHandle::ReleaseFD(const FunctionCallbackInfo& args) { void FileHandle::AfterClose() { closing_ = false; closed_ = true; + fd_ = -1; if (reading_ && !persistent().IsEmpty()) EmitRead(UV_EOF); } @@ -709,16 +700,11 @@ void AfterScanDirWithTypes(uv_fs_t* req) { type_v.emplace_back(Integer::New(isolate, ent.type)); } - Local result = Array::New(isolate, 2); - result->Set(env->context(), - 0, - Array::New(isolate, name_v.data(), - name_v.size())).Check(); - result->Set(env->context(), - 1, - Array::New(isolate, type_v.data(), - type_v.size())).Check(); - req_wrap->Resolve(result); + Local result[] = { + Array::New(isolate, name_v.data(), name_v.size()), + Array::New(isolate, type_v.data(), type_v.size()) + }; + req_wrap->Resolve(Array::New(isolate, result, arraysize(result))); } void Access(const FunctionCallbackInfo& args) { @@ -828,20 +814,46 @@ static void InternalModuleReadJSON(const FunctionCallbackInfo& args) { } const size_t size = offset - start; - if (size == 0 || ( - size == SearchString(&chars[start], size, "\"name\"") && - size == SearchString(&chars[start], size, "\"main\"") && - size == SearchString(&chars[start], size, "\"exports\"") && - size == SearchString(&chars[start], size, "\"type\""))) { - args.GetReturnValue().Set(env->empty_object_string()); - } else { - Local chars_string = + char* p = &chars[start]; + char* pe = &chars[size]; + char* pos[2]; + char** ppos = &pos[0]; + + while (p < pe) { + char c = *p++; + if (c == '"') goto quote; // Keeps code flat and inner loop small. + if (c == '\\' && p < pe && *p == '"') p++; + continue; +quote: + *ppos++ = p; + if (ppos < &pos[2]) continue; + ppos = &pos[0]; + + char* s = &pos[0][0]; + char* se = &pos[1][-1]; // Exclude quote. + size_t n = se - s; + + if (n == 4) { + if (0 == memcmp(s, "main", 4)) break; + if (0 == memcmp(s, "name", 4)) break; + if (0 == memcmp(s, "type", 4)) break; + } else if (n == 7) { + if (0 == memcmp(s, "exports", 7)) break; + } + } + + Local return_value; + if (p < pe) { + return_value = String::NewFromUtf8(isolate, &chars[start], v8::NewStringType::kNormal, size).ToLocalChecked(); - args.GetReturnValue().Set(chars_string); + } else { + return_value = env->empty_object_string(); } + + args.GetReturnValue().Set(return_value); } // Used to speed up module loading. Returns 0 if the path refers to @@ -1209,11 +1221,18 @@ int MKDirpSync(uv_loop_t* loop, int err = uv_fs_mkdir(loop, req, next_path.c_str(), mode, nullptr); while (true) { switch (err) { + // Note: uv_fs_req_cleanup in terminal paths will be called by + // ~FSReqWrapSync(): case 0: if (continuation_data.paths().size() == 0) { return 0; } break; + case UV_EACCES: + case UV_ENOTDIR: + case UV_EPERM: { + return err; + } case UV_ENOENT: { std::string dirname = next_path.substr(0, next_path.find_last_of(kPathSeparator)); @@ -1226,9 +1245,6 @@ int MKDirpSync(uv_loop_t* loop, } break; } - case UV_EPERM: { - return err; - } default: uv_fs_req_cleanup(req); int orig_err = err; @@ -1276,6 +1292,8 @@ int MKDirpAsync(uv_loop_t* loop, while (true) { switch (err) { + // Note: uv_fs_req_cleanup in terminal paths will be called by + // FSReqAfterScope::~FSReqAfterScope() case 0: { if (req_wrap->continuation_data()->paths().size() == 0) { req_wrap->continuation_data()->Done(0); @@ -1286,6 +1304,12 @@ int MKDirpAsync(uv_loop_t* loop, } break; } + case UV_EACCES: + case UV_ENOTDIR: + case UV_EPERM: { + req_wrap->continuation_data()->Done(err); + break; + } case UV_ENOENT: { std::string dirname = path.substr(0, path.find_last_of(kPathSeparator)); @@ -1301,10 +1325,6 @@ int MKDirpAsync(uv_loop_t* loop, req_wrap->continuation_data()->mode(), nullptr); break; } - case UV_EPERM: { - req_wrap->continuation_data()->Done(err); - break; - } default: uv_fs_req_cleanup(req); // Stash err for use in the callback. @@ -1328,7 +1348,6 @@ int MKDirpAsync(uv_loop_t* loop, } // verify that the path pointed to is actually a directory. if (err == 0 && !S_ISDIR(req->statbuf.st_mode)) err = UV_EEXIST; - uv_fs_req_cleanup(req); req_wrap->continuation_data()->Done(err); }}); if (err < 0) req_wrap->continuation_data()->Done(err); @@ -1495,13 +1514,11 @@ static void ReadDir(const FunctionCallbackInfo& args) { Local names = Array::New(isolate, name_v.data(), name_v.size()); if (with_types) { - Local result = Array::New(isolate, 2); - result->Set(env->context(), 0, names).Check(); - result->Set(env->context(), - 1, - Array::New(isolate, type_v.data(), - type_v.size())).Check(); - args.GetReturnValue().Set(result); + Local result[] = { + names, + Array::New(isolate, type_v.data(), type_v.size()) + }; + args.GetReturnValue().Set(Array::New(isolate, result, arraysize(result))); } else { args.GetReturnValue().Set(names); } diff --git a/src/node_file.h b/src/node_file.h index 1042baaf8f736b..0574aa8f6c079d 100644 --- a/src/node_file.h +++ b/src/node_file.h @@ -205,7 +205,7 @@ class FileHandle final : public AsyncWrap, public StreamBase { static void New(const v8::FunctionCallbackInfo& args); - int fd() const { return fd_; } + int GetFD() override { return fd_; } // Will asynchronously close the FD and return a Promise that will // be resolved once closing is complete. diff --git a/src/node_http2.cc b/src/node_http2.cc index e467ca0e63dbb5..0eebe2935e248b 100644 --- a/src/node_http2.cc +++ b/src/node_http2.cc @@ -1,5 +1,5 @@ #include "aliased_buffer.h" -#include "debug_utils.h" +#include "debug_utils-inl.h" #include "memory_tracker-inl.h" #include "node.h" #include "node_buffer.h" @@ -243,7 +243,6 @@ Http2Session::Http2Settings::Http2Settings(Environment* env, : AsyncWrap(env, obj, PROVIDER_HTTP2SETTINGS), session_(session), startTime_(start_time) { - RemoveCleanupHook(); // This object is owned by the Http2Session. Init(); } @@ -586,8 +585,6 @@ Http2Session::Http2Session(Environment* env, Http2Session::~Http2Session() { CHECK_EQ(flags_ & SESSION_STATE_HAS_SCOPE, 0); Debug(this, "freeing nghttp2 session"); - for (const auto& iter : streams_) - iter.second->session_ = nullptr; nghttp2_session_del(session_); CHECK_EQ(current_nghttp2_memory_, 0); } @@ -695,7 +692,7 @@ void Http2Session::Close(uint32_t code, bool socket_closed) { // If there are outstanding pings, those will need to be canceled, do // so on the next iteration of the event loop to avoid calling out into // javascript since this may be called during garbage collection. - while (std::unique_ptr ping = PopPing()) { + while (BaseObjectPtr ping = PopPing()) { ping->DetachFromSession(); env()->SetImmediate( [ping = std::move(ping)](Environment* env) { @@ -1451,7 +1448,7 @@ void Http2Session::HandlePingFrame(const nghttp2_frame* frame) { Local arg; bool ack = frame->hd.flags & NGHTTP2_FLAG_ACK; if (ack) { - std::unique_ptr ping = PopPing(); + BaseObjectPtr ping = PopPing(); if (!ping) { // PING Ack is unsolicited. Treat as a connection error. The HTTP/2 @@ -1490,7 +1487,7 @@ void Http2Session::HandleSettingsFrame(const nghttp2_frame* frame) { // If this is an acknowledgement, we should have an Http2Settings // object for it. - std::unique_ptr settings = PopSettings(); + BaseObjectPtr settings = PopSettings(); if (settings) { settings->Done(true); return; @@ -1553,7 +1550,8 @@ void Http2Session::MaybeScheduleWrite() { HandleScope handle_scope(env()->isolate()); Debug(this, "scheduling write"); flags_ |= SESSION_STATE_WRITE_SCHEDULED; - env()->SetImmediate([this](Environment* env) { + BaseObjectPtr strong_ref{this}; + env()->SetImmediate([this, strong_ref](Environment* env) { if (session_ == nullptr || !(flags_ & SESSION_STATE_WRITE_SCHEDULED)) { // This can happen e.g. when a stream was reset before this turn // of the event loop, in which case SendPendingData() is called early, @@ -1566,7 +1564,7 @@ void Http2Session::MaybeScheduleWrite() { HandleScope handle_scope(env->isolate()); InternalCallbackScope callback_scope(this); SendPendingData(); - }, object()); + }); } } @@ -1951,12 +1949,11 @@ Http2Stream::~Http2Stream() { nghttp2_rcbuf_decref(header.value); } - if (session_ == nullptr) + if (!session_) return; Debug(this, "tearing down stream"); session_->DecrementCurrentSessionMemory(current_headers_length_); session_->RemoveStream(this); - session_ = nullptr; } std::string Http2Stream::diagnostic_name() const { @@ -1967,7 +1964,7 @@ std::string Http2Stream::diagnostic_name() const { // Notify the Http2Stream that a new block of HEADERS is being processed. void Http2Stream::StartHeaders(nghttp2_headers_category category) { - Debug(this, "starting headers, category: %d", id_, category); + Debug(this, "starting headers, category: %d", category); CHECK(!this->IsDestroyed()); session_->DecrementCurrentSessionMemory(current_headers_length_); current_headers_length_ = 0; @@ -1987,6 +1984,12 @@ void Http2Stream::Close(int32_t code) { Debug(this, "closed with code %d", code); } +ShutdownWrap* Http2Stream::CreateShutdownWrap(v8::Local object) { + // DoShutdown() always finishes synchronously, so there's no need to create + // a structure to store asynchronous context. + return nullptr; +} + int Http2Stream::DoShutdown(ShutdownWrap* req_wrap) { if (IsDestroyed()) return UV_EPIPE; @@ -2016,7 +2019,8 @@ void Http2Stream::Destroy() { // Wait until the start of the next loop to delete because there // may still be some pending operations queued for this stream. - env()->SetImmediate([this](Environment* env) { + BaseObjectPtr strong_ref{this}; + env()->SetImmediate([this, strong_ref](Environment* env) { // Free any remaining outgoing data chunks here. This should be done // here because it's possible for destroy to have been called while // we still have queued outbound writes. @@ -2030,9 +2034,11 @@ void Http2Stream::Destroy() { // We can destroy the stream now if there are no writes for it // already on the socket. Otherwise, we'll wait for the garbage collector // to take care of cleaning up. - if (session() == nullptr || !session()->HasWritesOnSocketForStream(this)) - delete this; - }, object()); + if (session() == nullptr || !session()->HasWritesOnSocketForStream(this)) { + // Delete once strong_ref goes out of scope. + Detach(); + } + }); statistics_.end_time = uv_hrtime(); session_->statistics_.stream_average_duration = @@ -2158,8 +2164,10 @@ Http2Stream* Http2Stream::SubmitPushPromise(nghttp2_nv* nva, id_, nva, len, nullptr); CHECK_NE(*ret, NGHTTP2_ERR_NOMEM); Http2Stream* stream = nullptr; - if (*ret > 0) - stream = Http2Stream::New(session_, *ret, NGHTTP2_HCAT_HEADERS, options); + if (*ret > 0) { + stream = Http2Stream::New( + session_.get(), *ret, NGHTTP2_HCAT_HEADERS, options); + } return stream; } @@ -2214,7 +2222,7 @@ int Http2Stream::DoWrite(WriteWrap* req_wrap, req_wrap->Done(UV_EOF); return 0; } - Debug(this, "queuing %d buffers to send", id_, nbufs); + Debug(this, "queuing %d buffers to send", nbufs); for (size_t i = 0; i < nbufs; ++i) { // Store the req_wrap on the last write info in the queue, so that it is // only marked as finished once all buffers associated with it are finished. @@ -2826,7 +2834,8 @@ void Http2Session::Ping(const FunctionCallbackInfo& args) { if (obj->Set(env->context(), env->ondone_string(), args[1]).IsNothing()) return; - Http2Ping* ping = session->AddPing(std::make_unique(session, obj)); + Http2Ping* ping = session->AddPing( + MakeDetachedBaseObject(session, obj)); // To prevent abuse, we strictly limit the number of unacknowledged PING // frames that may be sent at any given time. This is configurable in the // Options when creating a Http2Session. @@ -2855,16 +2864,16 @@ void Http2Session::Settings(const FunctionCallbackInfo& args) { if (obj->Set(env->context(), env->ondone_string(), args[0]).IsNothing()) return; - Http2Session::Http2Settings* settings = session->AddSettings( - std::make_unique(session->env(), session, obj, 0)); + Http2Settings* settings = session->AddSettings( + MakeDetachedBaseObject(session->env(), session, obj, 0)); if (settings == nullptr) return args.GetReturnValue().Set(false); settings->Send(); args.GetReturnValue().Set(true); } -std::unique_ptr Http2Session::PopPing() { - std::unique_ptr ping; +BaseObjectPtr Http2Session::PopPing() { + BaseObjectPtr ping; if (!outstanding_pings_.empty()) { ping = std::move(outstanding_pings_.front()); outstanding_pings_.pop(); @@ -2874,7 +2883,7 @@ std::unique_ptr Http2Session::PopPing() { } Http2Session::Http2Ping* Http2Session::AddPing( - std::unique_ptr ping) { + BaseObjectPtr ping) { if (outstanding_pings_.size() == max_outstanding_pings_) { ping->Done(false); return nullptr; @@ -2885,8 +2894,8 @@ Http2Session::Http2Ping* Http2Session::AddPing( return ptr; } -std::unique_ptr Http2Session::PopSettings() { - std::unique_ptr settings; +BaseObjectPtr Http2Session::PopSettings() { + BaseObjectPtr settings; if (!outstanding_settings_.empty()) { settings = std::move(outstanding_settings_.front()); outstanding_settings_.pop(); @@ -2896,7 +2905,7 @@ std::unique_ptr Http2Session::PopSettings() { } Http2Session::Http2Settings* Http2Session::AddSettings( - std::unique_ptr settings) { + BaseObjectPtr settings) { if (outstanding_settings_.size() == max_outstanding_settings_) { settings->Done(false); return nullptr; @@ -2911,7 +2920,6 @@ Http2Session::Http2Ping::Http2Ping(Http2Session* session, Local obj) : AsyncWrap(session->env(), obj, AsyncWrap::PROVIDER_HTTP2PING), session_(session), startTime_(uv_hrtime()) { - RemoveCleanupHook(); // This object is owned by the Http2Session. } void Http2Session::Http2Ping::Send(const uint8_t* payload) { diff --git a/src/node_http2.h b/src/node_http2.h index 858cf30d556af7..045bdfd716da03 100644 --- a/src/node_http2.h +++ b/src/node_http2.h @@ -460,8 +460,8 @@ class Http2Stream : public AsyncWrap, nghttp2_stream* operator*(); - Http2Session* session() { return session_; } - const Http2Session* session() const { return session_; } + Http2Session* session() { return session_.get(); } + const Http2Session* session() const { return session_.get(); } void EmitStatistics(); @@ -472,6 +472,7 @@ class Http2Stream : public AsyncWrap, int ReadStop() override; // Required for StreamBase + ShutdownWrap* CreateShutdownWrap(v8::Local object) override; int DoShutdown(ShutdownWrap* req_wrap) override; bool HasWantsWrite() const override { return true; } @@ -613,7 +614,7 @@ class Http2Stream : public AsyncWrap, nghttp2_headers_category category, int options); - Http2Session* session_ = nullptr; // The Parent HTTP/2 Session + BaseObjectWeakPtr session_; // The Parent HTTP/2 Session int32_t id_ = 0; // The Stream Identifier int32_t code_ = NGHTTP2_NO_ERROR; // The RST_STREAM code (if any) int flags_ = NGHTTP2_STREAM_FLAG_NONE; // Internal state flags @@ -677,13 +678,13 @@ class Http2Stream::Provider::Stream : public Http2Stream::Provider { void* user_data); }; -typedef struct { +struct SessionJSFields { uint8_t bitfield; uint8_t priority_listener_count; uint8_t frame_error_listener_count; uint32_t max_invalid_frames = 1000; uint32_t max_rejected_streams = 100; -} SessionJSFields; +}; // Indices for js_fields_, which serves as a way to communicate data with JS // land fast. In particular, we store information about the number/presence @@ -845,11 +846,11 @@ class Http2Session : public AsyncWrap, return env()->event_loop(); } - std::unique_ptr PopPing(); - Http2Ping* AddPing(std::unique_ptr ping); + BaseObjectPtr PopPing(); + Http2Ping* AddPing(BaseObjectPtr ping); - std::unique_ptr PopSettings(); - Http2Settings* AddSettings(std::unique_ptr settings); + BaseObjectPtr PopSettings(); + Http2Settings* AddSettings(BaseObjectPtr settings); void IncrementCurrentSessionMemory(uint64_t amount) { current_session_memory_ += amount; @@ -1026,10 +1027,10 @@ class Http2Session : public AsyncWrap, size_t stream_buf_offset_ = 0; size_t max_outstanding_pings_ = DEFAULT_MAX_PINGS; - std::queue> outstanding_pings_; + std::queue> outstanding_pings_; size_t max_outstanding_settings_ = DEFAULT_MAX_SETTINGS; - std::queue> outstanding_settings_; + std::queue> outstanding_settings_; std::vector outgoing_buffers_; std::vector outgoing_storage_; diff --git a/src/node_internals.h b/src/node_internals.h index 114498458a9fd6..0ba13ceaea2ea2 100644 --- a/src/node_internals.h +++ b/src/node_internals.h @@ -98,8 +98,8 @@ void RegisterSignalHandler(int signal, bool reset_handler = false); #endif +std::string GetProcessTitle(const char* default_title); std::string GetHumanReadableProcessName(); -void GetHumanReadableProcessName(char (*name)[1024]); void InitializeContextRuntime(v8::Local); @@ -267,6 +267,8 @@ class ThreadPoolWork { virtual void DoThreadPoolWork() = 0; virtual void AfterThreadPoolWork(int status) = 0; + Environment* env() const { return env_; } + private: Environment* env_; uv_work_t work_req_; diff --git a/src/node_main_instance.cc b/src/node_main_instance.cc index 97cea34dbb46be..23ede8e0b819c1 100644 --- a/src/node_main_instance.cc +++ b/src/node_main_instance.cc @@ -1,3 +1,5 @@ +#include + #include "node_main_instance.h" #include "node_internals.h" #include "node_options-inl.h" @@ -34,7 +36,8 @@ NodeMainInstance::NodeMainInstance(Isolate* isolate, isolate_data_(nullptr), owns_isolate_(false), deserialize_mode_(false) { - isolate_data_.reset(new IsolateData(isolate_, event_loop, platform, nullptr)); + isolate_data_ = + std::make_unique(isolate_, event_loop, platform, nullptr); IsolateSettings misc; SetIsolateMiscHandlers(isolate_, misc); @@ -76,11 +79,11 @@ NodeMainInstance::NodeMainInstance( deserialize_mode_ = per_isolate_data_indexes != nullptr; // If the indexes are not nullptr, we are not deserializing CHECK_IMPLIES(deserialize_mode_, params->external_references != nullptr); - isolate_data_.reset(new IsolateData(isolate_, - event_loop, - platform, - array_buffer_allocator_.get(), - per_isolate_data_indexes)); + isolate_data_ = std::make_unique(isolate_, + event_loop, + platform, + array_buffer_allocator_.get(), + per_isolate_data_indexes); IsolateSettings s; SetIsolateMiscHandlers(isolate_, s); if (!deserialize_mode_) { diff --git a/src/node_messaging.cc b/src/node_messaging.cc index b0e7d15a8c40a6..f55cb7ed9bd08c 100644 --- a/src/node_messaging.cc +++ b/src/node_messaging.cc @@ -1,7 +1,7 @@ #include "node_messaging.h" #include "async_wrap-inl.h" -#include "debug_utils.h" +#include "debug_utils-inl.h" #include "memory_tracker-inl.h" #include "node_contextify.h" #include "node_buffer.h" @@ -927,6 +927,10 @@ void MessagePort::Entangle(MessagePort* a, MessagePortData* b) { MessagePortData::Entangle(a->data_.get(), b); } +void MessagePort::MemoryInfo(MemoryTracker* tracker) const { + tracker->TrackField("data", data_); +} + Local GetMessagePortConstructorTemplate(Environment* env) { // Factor generating the MessagePort JS constructor into its own piece // of code, because it is needed early on in the child environment setup. diff --git a/src/node_messaging.h b/src/node_messaging.h index 054521b0563c42..d64bf23e086d05 100644 --- a/src/node_messaging.h +++ b/src/node_messaging.h @@ -192,10 +192,7 @@ class MessagePort : public HandleWrap { // NULL pointer to the C++ MessagePort object is also detached. inline bool IsDetached() const; - void MemoryInfo(MemoryTracker* tracker) const override { - tracker->TrackField("data", data_); - } - + void MemoryInfo(MemoryTracker* tracker) const override; SET_MEMORY_INFO_NAME(MessagePort) SET_SELF_SIZE(MessagePort) diff --git a/src/node_mutex.h b/src/node_mutex.h index 807e1444f1eb8b..b82505cc639b7a 100644 --- a/src/node_mutex.h +++ b/src/node_mutex.h @@ -6,6 +6,9 @@ #include "util.h" #include "uv.h" +#include // std::shared_ptr +#include // std::forward + namespace node { template class ConditionVariableBase; @@ -15,6 +18,51 @@ struct LibuvMutexTraits; using ConditionVariable = ConditionVariableBase; using Mutex = MutexBase; +template +class ExclusiveAccess { + public: + ExclusiveAccess() = default; + + template + explicit ExclusiveAccess(Args&&... args) + : item_(std::forward(args)...) {} + + ExclusiveAccess(const ExclusiveAccess&) = delete; + ExclusiveAccess& operator=(const ExclusiveAccess&) = delete; + + class Scoped { + public: + // ExclusiveAccess will commonly be used in conjuction with std::shared_ptr + // and without this constructor it's too easy to forget to keep a reference + // around to the shared_ptr while operating on the ExclusiveAccess object. + explicit Scoped(const std::shared_ptr& shared) + : shared_(shared) + , scoped_lock_(shared->mutex_) + , pointer_(&shared->item_) {} + + explicit Scoped(ExclusiveAccess* exclusive_access) + : shared_() + , scoped_lock_(exclusive_access->mutex_) + , pointer_(&exclusive_access->item_) {} + + T& operator*() const { return *pointer_; } + T* operator->() const { return pointer_; } + + Scoped(const Scoped&) = delete; + Scoped& operator=(const Scoped&) = delete; + + private: + std::shared_ptr shared_; + typename MutexT::ScopedLock scoped_lock_; + T* const pointer_; + }; + + private: + friend class ScopedLock; + MutexT mutex_; + T item_; +}; + template class MutexBase { public: diff --git a/src/node_options-inl.h b/src/node_options-inl.h index 8bb5b6155a21d1..885cb849744205 100644 --- a/src/node_options-inl.h +++ b/src/node_options-inl.h @@ -3,9 +3,9 @@ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS +#include #include "node_options.h" #include "util.h" -#include namespace node { diff --git a/src/node_options.cc b/src/node_options.cc index ed46978236675a..695935e2774a91 100644 --- a/src/node_options.cc +++ b/src/node_options.cc @@ -3,6 +3,7 @@ #include "env-inl.h" #include "node_binding.h" +#include "node_internals.h" #include #include @@ -115,6 +116,10 @@ void PerIsolateOptions::CheckOptions(std::vector* errors) { } void EnvironmentOptions::CheckOptions(std::vector* errors) { + if (experimental_import_meta_resolve && !experimental_modules) { + errors->push_back("--experimental-meta-resolve requires " + "--experimental-modules be enabled"); + } if (!userland_loader.empty() && !experimental_modules) { errors->push_back("--experimental-loader requires " "--experimental-modules be enabled"); @@ -359,6 +364,10 @@ EnvironmentOptionsParser::EnvironmentOptionsParser() { "experimental ES Module support for webassembly modules", &EnvironmentOptions::experimental_wasm_modules, kAllowedInEnvironment); + AddOption("--experimental-import-meta-resolve", + "experimental ES Module import.meta.resolve() support", + &EnvironmentOptions::experimental_import_meta_resolve, + kAllowedInEnvironment); AddOption("--experimental-policy", "use the specified file as a " "security policy", @@ -642,6 +651,10 @@ PerIsolateOptionsParser::PerIsolateOptionsParser( "disallow eval and friends", V8Option{}, kAllowedInEnvironment); + AddOption("--jitless", + "disable runtime allocation of executable memory", + V8Option{}, + kAllowedInEnvironment); #ifdef NODE_REPORT AddOption("--report-uncaught-exception", @@ -1032,6 +1045,68 @@ void Initialize(Local target, } } // namespace options_parser + +void HandleEnvOptions(std::shared_ptr env_options) { + HandleEnvOptions(env_options, [](const char* name) { + std::string text; + return credentials::SafeGetenv(name, &text) ? text : ""; + }); +} + +void HandleEnvOptions(std::shared_ptr env_options, + std::function opt_getter) { + env_options->pending_deprecation = + opt_getter("NODE_PENDING_DEPRECATION") == "1"; + + env_options->preserve_symlinks = opt_getter("NODE_PRESERVE_SYMLINKS") == "1"; + + env_options->preserve_symlinks_main = + opt_getter("NODE_PRESERVE_SYMLINKS_MAIN") == "1"; + + if (env_options->redirect_warnings.empty()) + env_options->redirect_warnings = opt_getter("NODE_REDIRECT_WARNINGS"); +} + +std::vector ParseNodeOptionsEnvVar( + const std::string& node_options, std::vector* errors) { + std::vector env_argv; + + bool is_in_string = false; + bool will_start_new_arg = true; + for (std::string::size_type index = 0; index < node_options.size(); ++index) { + char c = node_options.at(index); + + // Backslashes escape the following character + if (c == '\\' && is_in_string) { + if (index + 1 == node_options.size()) { + errors->push_back("invalid value for NODE_OPTIONS " + "(invalid escape)\n"); + return env_argv; + } else { + c = node_options.at(++index); + } + } else if (c == ' ' && !is_in_string) { + will_start_new_arg = true; + continue; + } else if (c == '"') { + is_in_string = !is_in_string; + continue; + } + + if (will_start_new_arg) { + env_argv.emplace_back(std::string(1, c)); + will_start_new_arg = false; + } else { + env_argv.back() += c; + } + } + + if (is_in_string) { + errors->push_back("invalid value for NODE_OPTIONS " + "(unterminated string)\n"); + } + return env_argv; +} } // namespace node NODE_MODULE_CONTEXT_AWARE_INTERNAL(options, node::options_parser::Initialize) diff --git a/src/node_options.h b/src/node_options.h index 60daf360d98d91..571ac305f9990c 100644 --- a/src/node_options.h +++ b/src/node_options.h @@ -106,6 +106,7 @@ class EnvironmentOptions : public Options { std::string experimental_specifier_resolution; std::string es_module_specifier_resolution; bool experimental_wasm_modules = false; + bool experimental_import_meta_resolve = false; std::string module_type; std::string experimental_policy; std::string experimental_policy_integrity; @@ -456,6 +457,13 @@ extern Mutex cli_options_mutex; extern std::shared_ptr cli_options; } // namespace per_process + +void HandleEnvOptions(std::shared_ptr env_options); +void HandleEnvOptions(std::shared_ptr env_options, + std::function opt_getter); + +std::vector ParseNodeOptionsEnvVar( + const std::string& node_options, std::vector* errors); } // namespace node #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS diff --git a/src/node_platform.cc b/src/node_platform.cc index a3e39df6ccce96..d3d68f12fab73a 100644 --- a/src/node_platform.cc +++ b/src/node_platform.cc @@ -2,7 +2,7 @@ #include "node_internals.h" #include "env-inl.h" -#include "debug_utils.h" +#include "debug_utils-inl.h" #include // find_if(), find(), move() #include // llround() #include // unique_ptr(), shared_ptr(), make_shared() @@ -240,14 +240,22 @@ void PerIsolatePlatformData::PostIdleTask(std::unique_ptr task) { } void PerIsolatePlatformData::PostTask(std::unique_ptr task) { - CHECK_NOT_NULL(flush_tasks_); + if (flush_tasks_ == nullptr) { + // V8 may post tasks during Isolate disposal. In that case, the only + // sensible path forward is to discard the task. + return; + } foreground_tasks_.Push(std::move(task)); uv_async_send(flush_tasks_); } void PerIsolatePlatformData::PostDelayedTask( std::unique_ptr task, double delay_in_seconds) { - CHECK_NOT_NULL(flush_tasks_); + if (flush_tasks_ == nullptr) { + // V8 may post tasks during Isolate disposal. In that case, the only + // sensible path forward is to discard the task. + return; + } std::unique_ptr delayed(new DelayedTask()); delayed->task = std::move(task); delayed->platform_data = shared_from_this(); diff --git a/src/node_process_events.cc b/src/node_process_events.cc index b090b6c24b3383..d192ef19b7abad 100644 --- a/src/node_process_events.cc +++ b/src/node_process_events.cc @@ -35,6 +35,8 @@ Maybe ProcessEmitWarningGeneric(Environment* env, const char* warning, const char* type, const char* code) { + if (!env->can_call_into_js()) return Just(false); + HandleScope handle_scope(env->isolate()); Context::Scope context_scope(env->context()); diff --git a/src/node_process_methods.cc b/src/node_process_methods.cc index e4d76751427f1b..ee17f28f1f4b0c 100644 --- a/src/node_process_methods.cc +++ b/src/node_process_methods.cc @@ -1,4 +1,5 @@ #include "base_object-inl.h" +#include "debug_utils-inl.h" #include "env-inl.h" #include "node.h" #include "node_errors.h" @@ -209,7 +210,7 @@ void RawDebug(const FunctionCallbackInfo& args) { CHECK(args.Length() == 1 && args[0]->IsString() && "must be called with a single string"); Utf8Value message(args.GetIsolate(), args[0]); - PrintErrorString("%s\n", *message); + FPrintF(stderr, "%s\n", message); fflush(stderr); } diff --git a/src/node_process_object.cc b/src/node_process_object.cc index a1bf90c8d69fc0..ddbb58abe535b0 100644 --- a/src/node_process_object.cc +++ b/src/node_process_object.cc @@ -32,11 +32,11 @@ using v8::Value; static void ProcessTitleGetter(Local property, const PropertyCallbackInfo& info) { - char buffer[512]; - uv_get_process_title(buffer, sizeof(buffer)); + std::string title = GetProcessTitle("node"); info.GetReturnValue().Set( - String::NewFromUtf8(info.GetIsolate(), buffer, NewStringType::kNormal) - .ToLocalChecked()); + String::NewFromUtf8(info.GetIsolate(), title.data(), + NewStringType::kNormal, title.size()) + .ToLocalChecked()); } static void ProcessTitleSetter(Local property, @@ -51,7 +51,8 @@ static void ProcessTitleSetter(Local property, static void DebugPortGetter(Local property, const PropertyCallbackInfo& info) { Environment* env = Environment::GetCurrent(info); - int port = env->inspector_host_port()->port(); + ExclusiveAccess::Scoped host_port(env->inspector_host_port()); + int port = host_port->port(); info.GetReturnValue().Set(port); } @@ -60,7 +61,8 @@ static void DebugPortSetter(Local property, const PropertyCallbackInfo& info) { Environment* env = Environment::GetCurrent(info); int32_t port = value->Int32Value(env->context()).FromMaybe(0); - env->inspector_host_port()->set_port(static_cast(port)); + ExclusiveAccess::Scoped host_port(env->inspector_host_port()); + host_port->set_port(static_cast(port)); } static void GetParentProcessId(Local property, diff --git a/src/node_report.cc b/src/node_report.cc index ddeb216c82d6bc..c29f866f4a8dad 100644 --- a/src/node_report.cc +++ b/src/node_report.cc @@ -1,9 +1,11 @@ #include "env-inl.h" #include "node_report.h" -#include "debug_utils.h" +#include "debug_utils-inl.h" #include "diagnosticfilename-inl.h" #include "node_internals.h" #include "node_metadata.h" +#include "node_mutex.h" +#include "node_worker.h" #include "util.h" #ifdef _WIN32 @@ -19,18 +21,20 @@ #include #include -constexpr int NODE_REPORT_VERSION = 1; +constexpr int NODE_REPORT_VERSION = 2; constexpr int NANOS_PER_SEC = 1000 * 1000 * 1000; constexpr double SEC_PER_MICROS = 1e-6; namespace report { using node::arraysize; +using node::ConditionVariable; using node::DiagnosticFilename; using node::Environment; using node::Mutex; using node::NativeSymbolDebuggingContext; using node::PerIsolateOptions; using node::TIME_TYPE; +using node::worker::Worker; using v8::HeapSpaceStatistics; using v8::HeapStatistics; using v8::Isolate; @@ -210,6 +214,10 @@ static void WriteNodeReport(Isolate* isolate, // Report native process ID writer.json_keyvalue("processId", pid); + if (env != nullptr) + writer.json_keyvalue("threadId", env->thread_id()); + else + writer.json_keyvalue("threadId", JSONWriter::Null{}); { // Report the process cwd. @@ -259,6 +267,39 @@ static void WriteNodeReport(Isolate* isolate, writer.json_arrayend(); + writer.json_arraystart("workers"); + if (env != nullptr) { + Mutex workers_mutex; + ConditionVariable notify; + std::vector worker_infos; + size_t expected_results = 0; + + env->ForEachWorker([&](Worker* w) { + expected_results += w->RequestInterrupt([&](Environment* env) { + std::ostringstream os; + + GetNodeReport(env->isolate(), + env, + "Worker thread subreport", + trigger, + Local(), + os); + + Mutex::ScopedLock lock(workers_mutex); + worker_infos.emplace_back(os.str()); + notify.Signal(lock); + }); + }); + + Mutex::ScopedLock lock(workers_mutex); + worker_infos.reserve(expected_results); + while (worker_infos.size() < expected_results) + notify.Wait(lock); + for (const std::string& worker_info : worker_infos) + writer.json_element(JSONWriter::ForeignJSON { worker_info }); + } + writer.json_arrayend(); + // Report operating system information PrintSystemInformation(&writer); diff --git a/src/node_report.h b/src/node_report.h index 4cb82470f43594..46b69b9681db51 100644 --- a/src/node_report.h +++ b/src/node_report.h @@ -44,6 +44,7 @@ void GetNodeReport(v8::Isolate* isolate, // Function declarations - utility functions in src/node_report_utils.cc void WalkHandle(uv_handle_t* h, void* arg); std::string EscapeJsonChars(const std::string& str); +std::string Reindent(const std::string& str, int indentation); template std::string ValueToHexString(T value) { @@ -146,6 +147,10 @@ class JSONWriter { struct Null {}; // Usable as a JSON value. + struct ForeignJSON { + std::string as_string; + }; + private: template Utf8String(Isolate* isolate, const std::string& str) { +Local Utf8String(Isolate* isolate, const std::string& str) { return String::NewFromUtf8(isolate, str.data(), NewStringType::kNormal, @@ -42,10 +42,10 @@ namespace url { namespace { // https://url.spec.whatwg.org/#eof-code-point -const char kEOL = -1; +constexpr char kEOL = -1; // Used in ToUSVString(). -const char16_t kUnicodeReplacementCharacter = 0xFFFD; +constexpr char16_t kUnicodeReplacementCharacter = 0xFFFD; // https://url.spec.whatwg.org/#concept-host class URLHost { @@ -60,7 +60,7 @@ class URLHost { bool is_special, bool unicode = false); - inline bool ParsingFailed() const { return type_ == HostType::H_FAILED; } + bool ParsingFailed() const { return type_ == HostType::H_FAILED; } std::string ToString() const; // Like ToString(), but avoids a copy in exchange for invalidating `*this`. std::string ToStringMove(); @@ -86,7 +86,7 @@ class URLHost { Value value_; HostType type_ = HostType::H_FAILED; - inline void Reset() { + void Reset() { using string = std::string; switch (type_) { case HostType::H_DOMAIN: @@ -107,13 +107,13 @@ class URLHost { // internals too much. // These helpers are the easiest solution but we might want to consider // just not forcing strings into an union. - inline void SetOpaque(std::string&& string) { + void SetOpaque(std::string&& string) { Reset(); type_ = HostType::H_OPAQUE; new(&value_.domain_or_opaque) std::string(std::move(string)); } - inline void SetDomain(std::string&& string) { + void SetDomain(std::string&& string) { Reset(); type_ = HostType::H_DOMAIN; new(&value_.domain_or_opaque) std::string(std::move(string)); @@ -154,7 +154,7 @@ enum url_error_cb_args { #define CHAR_TEST(bits, name, expr) \ template \ - inline bool name(const T ch) { \ + bool name(const T ch) { \ static_assert(sizeof(ch) >= (bits) / 8, \ "Character must be wider than " #bits " bits"); \ return (expr); \ @@ -162,13 +162,13 @@ enum url_error_cb_args { #define TWO_CHAR_STRING_TEST(bits, name, expr) \ template \ - inline bool name(const T ch1, const T ch2) { \ + bool name(const T ch1, const T ch2) { \ static_assert(sizeof(ch1) >= (bits) / 8, \ "Character must be wider than " #bits " bits"); \ return (expr); \ } \ template \ - inline bool name(const std::basic_string& str) { \ + bool name(const std::basic_string& str) { \ static_assert(sizeof(str[0]) >= (bits) / 8, \ "Character must be wider than " #bits " bits"); \ return str.length() >= 2 && name(str[0], str[1]); \ @@ -197,7 +197,7 @@ CHAR_TEST(8, IsASCIIAlphanumeric, (IsASCIIDigit(ch) || IsASCIIAlpha(ch))) // https://infra.spec.whatwg.org/#ascii-lowercase template -inline T ASCIILowercase(T ch) { +T ASCIILowercase(T ch) { return IsASCIIAlpha(ch) ? (ch | 0x20) : ch; } @@ -667,13 +667,13 @@ const uint8_t QUERY_ENCODE_SET_SPECIAL[32] = { 0x01 | 0x02 | 0x04 | 0x08 | 0x10 | 0x20 | 0x40 | 0x80 }; -inline bool BitAt(const uint8_t a[], const uint8_t i) { +bool BitAt(const uint8_t a[], const uint8_t i) { return !!(a[i >> 3] & (1 << (i & 7))); } // Appends ch to str. If ch position in encode_set is set, the ch will // be percent-encoded then appended. -inline void AppendOrEscape(std::string* str, +void AppendOrEscape(std::string* str, const unsigned char ch, const uint8_t encode_set[]) { if (BitAt(encode_set, ch)) @@ -683,7 +683,7 @@ inline void AppendOrEscape(std::string* str, } template -inline unsigned hex2bin(const T ch) { +unsigned hex2bin(const T ch) { if (ch >= '0' && ch <= '9') return ch - '0'; if (ch >= 'A' && ch <= 'F') @@ -693,7 +693,7 @@ inline unsigned hex2bin(const T ch) { return static_cast(-1); } -inline std::string PercentDecode(const char* input, size_t len) { +std::string PercentDecode(const char* input, size_t len) { std::string dest; if (len == 0) return dest; @@ -703,7 +703,7 @@ inline std::string PercentDecode(const char* input, size_t len) { while (pointer < end) { const char ch = pointer[0]; - const size_t remaining = end - pointer - 1; + size_t remaining = end - pointer - 1; if (ch != '%' || remaining < 2 || (ch == '%' && (!IsASCIIHexDigit(pointer[1]) || @@ -723,24 +723,39 @@ inline std::string PercentDecode(const char* input, size_t len) { } #define SPECIALS(XX) \ - XX("ftp:", 21) \ - XX("file:", -1) \ - XX("gopher:", 70) \ - XX("http:", 80) \ - XX("https:", 443) \ - XX("ws:", 80) \ - XX("wss:", 443) - -inline bool IsSpecial(const std::string& scheme) { -#define XX(name, _) if (scheme == name) return true; - SPECIALS(XX); -#undef XX + XX(ftp, 21, "ftp:") \ + XX(file, -1, "file:") \ + XX(gopher, 70, "gopher:") \ + XX(http, 80, "http:") \ + XX(https, 443, "https:") \ + XX(ws, 80, "ws:") \ + XX(wss, 443, "wss:") + +bool IsSpecial(const std::string& scheme) { +#define V(_, __, name) if (scheme == name) return true; + SPECIALS(V); +#undef V return false; } +Local GetSpecial(Environment* env, const std::string& scheme) { +#define V(key, _, name) if (scheme == name) \ + return env->url_special_##key##_string(); + SPECIALS(V) +#undef V + UNREACHABLE(); +} + +int NormalizePort(const std::string& scheme, int p) { +#define V(_, port, name) if (scheme == name && p == port) return -1; + SPECIALS(V); +#undef V + return p; +} + // https://url.spec.whatwg.org/#start-with-a-windows-drive-letter -inline bool StartsWithWindowsDriveLetter(const char* p, const char* end) { - const size_t length = end - p; +bool StartsWithWindowsDriveLetter(const char* p, const char* end) { + size_t length = end - p; return length >= 2 && IsWindowsDriveLetter(p[0], p[1]) && (length == 2 || @@ -750,15 +765,8 @@ inline bool StartsWithWindowsDriveLetter(const char* p, const char* end) { p[2] == '#'); } -inline int NormalizePort(const std::string& scheme, int p) { -#define XX(name, port) if (scheme == name && p == port) return -1; - SPECIALS(XX); -#undef XX - return p; -} - #if defined(NODE_HAVE_I18N_SUPPORT) -inline bool ToUnicode(const std::string& input, std::string* output) { +bool ToUnicode(const std::string& input, std::string* output) { MaybeStackBuffer buf; if (i18n::ToUnicode(&buf, input.c_str(), input.length()) < 0) return false; @@ -766,7 +774,7 @@ inline bool ToUnicode(const std::string& input, std::string* output) { return true; } -inline bool ToASCII(const std::string& input, std::string* output) { +bool ToASCII(const std::string& input, std::string* output) { MaybeStackBuffer buf; if (i18n::ToASCII(&buf, input.c_str(), input.length()) < 0) return false; @@ -775,12 +783,12 @@ inline bool ToASCII(const std::string& input, std::string* output) { } #else // Intentional non-ops if ICU is not present. -inline bool ToUnicode(const std::string& input, std::string* output) { +bool ToUnicode(const std::string& input, std::string* output) { *output = input; return true; } -inline bool ToASCII(const std::string& input, std::string* output) { +bool ToASCII(const std::string& input, std::string* output) { *output = input; return true; } @@ -902,7 +910,7 @@ void URLHost::ParseIPv6Host(const char* input, size_t length) { type_ = HostType::H_IPV6; } -inline int64_t ParseNumber(const char* start, const char* end) { +int64_t ParseNumber(const char* start, const char* end) { unsigned R = 10; if (end - start >= 2 && start[0] == '0' && (start[1] | 0x20) == 'x') { start += 2; @@ -952,7 +960,7 @@ void URLHost::ParseIPv4Host(const char* input, size_t length, bool* is_ipv4) { while (pointer <= end) { const char ch = pointer < end ? pointer[0] : kEOL; - const int remaining = end - pointer - 1; + int remaining = end - pointer - 1; if (ch == '.' || ch == kEOL) { if (++parts > static_cast(arraysize(numbers))) return; @@ -1061,7 +1069,7 @@ void URLHost::ParseHost(const char* input, // Locates the longest sequence of 0 segments in an IPv6 address // in order to use the :: compression when serializing template -inline T* FindLongestZeroSequence(T* values, size_t len) { +T* FindLongestZeroSequence(T* values, size_t len) { T* start = values; T* end = start + len; T* result = nullptr; @@ -1173,14 +1181,12 @@ bool ParseHost(const std::string& input, return true; } -inline std::vector FromJSStringArray(Environment* env, - Local array) { +std::vector FromJSStringArray(Environment* env, + Local array) { std::vector vec; - const int32_t len = array->Length(); - if (len == 0) - return vec; // nothing to copy - vec.reserve(len); - for (int32_t n = 0; n < len; n++) { + if (array->Length() > 0) + vec.reserve(array->Length()); + for (size_t n = 0; n < array->Length(); n++) { Local val = array->Get(env->context(), n).ToLocalChecked(); if (val->IsString()) { Utf8Value value(env->isolate(), val.As()); @@ -1190,14 +1196,20 @@ inline std::vector FromJSStringArray(Environment* env, return vec; } -inline url_data HarvestBase(Environment* env, Local base_obj) { +url_data HarvestBase(Environment* env, Local base_obj) { url_data base; Local context = env->context(); + Local flags = base_obj->Get(env->context(), env->flags_string()).ToLocalChecked(); if (flags->IsInt32()) base.flags = flags->Int32Value(context).FromJust(); + Local port = + base_obj->Get(env->context(), env->port_string()).ToLocalChecked(); + if (port->IsInt32()) + base.port = port->Int32Value(context).FromJust(); + Local scheme = base_obj->Get(env->context(), env->scheme_string()).ToLocalChecked(); base.scheme = Utf8Value(env->isolate(), scheme).out(); @@ -1230,11 +1242,6 @@ inline url_data HarvestBase(Environment* env, Local base_obj) { env->fragment_string(), true); - Local port = - base_obj->Get(env->context(), env->port_string()).ToLocalChecked(); - if (port->IsInt32()) - base.port = port.As()->Value(); - Local path = base_obj->Get(env->context(), env->path_string()).ToLocalChecked(); if (path->IsArray()) { @@ -1244,18 +1251,18 @@ inline url_data HarvestBase(Environment* env, Local base_obj) { return base; } -inline url_data HarvestContext(Environment* env, Local context_obj) { +url_data HarvestContext(Environment* env, Local context_obj) { url_data context; Local flags = context_obj->Get(env->context(), env->flags_string()).ToLocalChecked(); if (flags->IsInt32()) { - static const int32_t copy_flags_mask = + static constexpr int32_t kCopyFlagsMask = URL_FLAGS_SPECIAL | URL_FLAGS_CANNOT_BE_BASE | URL_FLAGS_HAS_USERNAME | URL_FLAGS_HAS_PASSWORD | URL_FLAGS_HAS_HOST; - context.flags |= flags.As()->Value() & copy_flags_mask; + context.flags |= flags.As()->Value() & kCopyFlagsMask; } Local scheme = context_obj->Get(env->context(), env->scheme_string()).ToLocalChecked(); @@ -1294,7 +1301,7 @@ inline url_data HarvestContext(Environment* env, Local context_obj) { } // Single dot segment can be ".", "%2e", or "%2E" -inline bool IsSingleDotSegment(const std::string& str) { +bool IsSingleDotSegment(const std::string& str) { switch (str.size()) { case 1: return str == "."; @@ -1310,7 +1317,7 @@ inline bool IsSingleDotSegment(const std::string& str) { // Double dot segment can be: // "..", ".%2e", ".%2E", "%2e.", "%2E.", // "%2e%2e", "%2E%2E", "%2e%2E", or "%2E%2e" -inline bool IsDoubleDotSegment(const std::string& str) { +bool IsDoubleDotSegment(const std::string& str) { switch (str.size()) { case 2: return str == ".."; @@ -1337,7 +1344,7 @@ inline bool IsDoubleDotSegment(const std::string& str) { } } -inline void ShortenUrlPath(struct url_data* url) { +void ShortenUrlPath(struct url_data* url) { if (url->path.empty()) return; if (url->path.size() == 1 && url->scheme == "file:" && IsNormalizedWindowsDriveLetter(url->path[0])) return; @@ -1707,7 +1714,7 @@ void URL::Parse(const char* input, buffer.insert(0, "%40"); } atflag = true; - const size_t blen = buffer.size(); + size_t blen = buffer.size(); if (blen > 0 && buffer[0] != ':') { url->flags |= URL_FLAGS_HAS_USERNAME; } @@ -2091,12 +2098,16 @@ void URL::Parse(const char* input, } } // NOLINT(readability/fn_size) -static inline void SetArgs(Environment* env, - Local argv[ARG_COUNT], - const struct url_data& url) { +namespace { +void SetArgs(Environment* env, + Local argv[ARG_COUNT], + const struct url_data& url) { Isolate* isolate = env->isolate(); argv[ARG_FLAGS] = Integer::NewFromUnsigned(isolate, url.flags); - argv[ARG_PROTOCOL] = OneByteString(isolate, url.scheme.c_str()); + argv[ARG_PROTOCOL] = + url.flags & URL_FLAGS_SPECIAL ? + GetSpecial(env, url.scheme) : + OneByteString(isolate, url.scheme.c_str()); if (url.flags & URL_FLAGS_HAS_USERNAME) argv[ARG_USERNAME] = Utf8String(isolate, url.username); if (url.flags & URL_FLAGS_HAS_PASSWORD) @@ -2113,15 +2124,15 @@ static inline void SetArgs(Environment* env, argv[ARG_PATH] = ToV8Value(env->context(), url.path).ToLocalChecked(); } -static void Parse(Environment* env, - Local recv, - const char* input, - const size_t len, - enum url_parse_state state_override, - Local base_obj, - Local context_obj, - Local cb, - Local error_cb) { +void Parse(Environment* env, + Local recv, + const char* input, + size_t len, + enum url_parse_state state_override, + Local base_obj, + Local context_obj, + Local cb, + Local error_cb) { Isolate* isolate = env->isolate(); Local context = env->context(); HandleScope handle_scope(isolate); @@ -2172,7 +2183,7 @@ static void Parse(Environment* env, } } -static void Parse(const FunctionCallbackInfo& args) { +void Parse(const FunctionCallbackInfo& args) { Environment* env = Environment::GetCurrent(args); CHECK_GE(args.Length(), 5); CHECK(args[0]->IsString()); // input @@ -2201,13 +2212,13 @@ static void Parse(const FunctionCallbackInfo& args) { args[5]); } -static void EncodeAuthSet(const FunctionCallbackInfo& args) { +void EncodeAuthSet(const FunctionCallbackInfo& args) { Environment* env = Environment::GetCurrent(args); CHECK_GE(args.Length(), 1); CHECK(args[0]->IsString()); Utf8Value value(env->isolate(), args[0]); std::string output; - const size_t len = value.length(); + size_t len = value.length(); output.reserve(len); for (size_t n = 0; n < len; n++) { const char ch = (*value)[n]; @@ -2219,23 +2230,22 @@ static void EncodeAuthSet(const FunctionCallbackInfo& args) { NewStringType::kNormal).ToLocalChecked()); } -static void ToUSVString(const FunctionCallbackInfo& args) { +void ToUSVString(const FunctionCallbackInfo& args) { Environment* env = Environment::GetCurrent(args); CHECK_GE(args.Length(), 2); CHECK(args[0]->IsString()); CHECK(args[1]->IsNumber()); TwoByteValue value(env->isolate(), args[0]); - const size_t n = value.length(); - const int64_t start = args[1]->IntegerValue(env->context()).FromJust(); + int64_t start = args[1]->IntegerValue(env->context()).FromJust(); CHECK_GE(start, 0); - for (size_t i = start; i < n; i++) { + for (size_t i = start; i < value.length(); i++) { char16_t c = value[i]; if (!IsUnicodeSurrogate(c)) { continue; - } else if (IsUnicodeSurrogateTrail(c) || i == n - 1) { + } else if (IsUnicodeSurrogateTrail(c) || i == value.length() - 1) { value[i] = kUnicodeReplacementCharacter; } else { char16_t d = value[i + 1]; @@ -2251,10 +2261,10 @@ static void ToUSVString(const FunctionCallbackInfo& args) { String::NewFromTwoByte(env->isolate(), *value, NewStringType::kNormal, - n).ToLocalChecked()); + value.length()).ToLocalChecked()); } -static void DomainToASCII(const FunctionCallbackInfo& args) { +void DomainToASCII(const FunctionCallbackInfo& args) { Environment* env = Environment::GetCurrent(args); CHECK_GE(args.Length(), 1); CHECK(args[0]->IsString()); @@ -2274,7 +2284,7 @@ static void DomainToASCII(const FunctionCallbackInfo& args) { NewStringType::kNormal).ToLocalChecked()); } -static void DomainToUnicode(const FunctionCallbackInfo& args) { +void DomainToUnicode(const FunctionCallbackInfo& args) { Environment* env = Environment::GetCurrent(args); CHECK_GE(args.Length(), 1); CHECK(args[0]->IsString()); @@ -2294,6 +2304,35 @@ static void DomainToUnicode(const FunctionCallbackInfo& args) { NewStringType::kNormal).ToLocalChecked()); } +void SetURLConstructor(const FunctionCallbackInfo& args) { + Environment* env = Environment::GetCurrent(args); + CHECK_EQ(args.Length(), 1); + CHECK(args[0]->IsFunction()); + env->set_url_constructor_function(args[0].As()); +} + +void Initialize(Local target, + Local unused, + Local context, + void* priv) { + Environment* env = Environment::GetCurrent(context); + env->SetMethod(target, "parse", Parse); + env->SetMethodNoSideEffect(target, "encodeAuth", EncodeAuthSet); + env->SetMethodNoSideEffect(target, "toUSVString", ToUSVString); + env->SetMethodNoSideEffect(target, "domainToASCII", DomainToASCII); + env->SetMethodNoSideEffect(target, "domainToUnicode", DomainToUnicode); + env->SetMethod(target, "setURLConstructor", SetURLConstructor); + +#define XX(name, _) NODE_DEFINE_CONSTANT(target, name); + FLAGS(XX) +#undef XX + +#define XX(name) NODE_DEFINE_CONSTANT(target, name); + PARSESTATES(XX) +#undef XX +} +} // namespace + std::string URL::ToFilePath() const { if (context_.scheme != "file:") { return ""; @@ -2411,33 +2450,6 @@ MaybeLocal URL::ToObject(Environment* env) const { return ret; } -static void SetURLConstructor(const FunctionCallbackInfo& args) { - Environment* env = Environment::GetCurrent(args); - CHECK_EQ(args.Length(), 1); - CHECK(args[0]->IsFunction()); - env->set_url_constructor_function(args[0].As()); -} - -static void Initialize(Local target, - Local unused, - Local context, - void* priv) { - Environment* env = Environment::GetCurrent(context); - env->SetMethod(target, "parse", Parse); - env->SetMethodNoSideEffect(target, "encodeAuth", EncodeAuthSet); - env->SetMethodNoSideEffect(target, "toUSVString", ToUSVString); - env->SetMethodNoSideEffect(target, "domainToASCII", DomainToASCII); - env->SetMethodNoSideEffect(target, "domainToUnicode", DomainToUnicode); - env->SetMethod(target, "setURLConstructor", SetURLConstructor); - -#define XX(name, _) NODE_DEFINE_CONSTANT(target, name); - FLAGS(XX) -#undef XX - -#define XX(name) NODE_DEFINE_CONSTANT(target, name); - PARSESTATES(XX) -#undef XX -} } // namespace url } // namespace node diff --git a/src/node_url.h b/src/node_url.h index 963273f988c983..6439a4a087be77 100644 --- a/src/node_url.h +++ b/src/node_url.h @@ -120,11 +120,11 @@ class URL { URL(const std::string& input, const std::string& base) : URL(input.c_str(), input.length(), base.c_str(), base.length()) {} - int32_t flags() { + int32_t flags() const { return context_.flags; } - int port() { + int port() const { return context_.port; } diff --git a/src/node_v8.cc b/src/node_v8.cc index 9644468c4f6315..bfc4580fd02a68 100644 --- a/src/node_v8.cc +++ b/src/node_v8.cc @@ -218,19 +218,19 @@ void Initialize(Local target, // Heap space names are extracted once and exposed to JavaScript to // avoid excessive creation of heap space name Strings. HeapSpaceStatistics s; - const Local heap_spaces = Array::New(env->isolate(), - number_of_heap_spaces); + MaybeStackBuffer, 16> heap_spaces(number_of_heap_spaces); for (size_t i = 0; i < number_of_heap_spaces; i++) { env->isolate()->GetHeapSpaceStatistics(&s, i); - Local heap_space_name = String::NewFromUtf8(env->isolate(), - s.space_name(), - NewStringType::kNormal) - .ToLocalChecked(); - heap_spaces->Set(env->context(), i, heap_space_name).Check(); + heap_spaces[i] = String::NewFromUtf8(env->isolate(), + s.space_name(), + NewStringType::kNormal) + .ToLocalChecked(); } target->Set(env->context(), FIXED_ONE_BYTE_STRING(env->isolate(), "kHeapSpaces"), - heap_spaces).Check(); + Array::New(env->isolate(), + heap_spaces.out(), + number_of_heap_spaces)).Check(); env->SetMethod(target, "updateHeapSpaceStatisticsArrayBuffer", diff --git a/src/node_v8_platform-inl.h b/src/node_v8_platform-inl.h index ecd8f21d1a2653..0f4a98a98551ba 100644 --- a/src/node_v8_platform-inl.h +++ b/src/node_v8_platform-inl.h @@ -21,12 +21,12 @@ class NodeTraceStateObserver : public v8::TracingController::TraceStateObserver { public: inline void OnTraceEnabled() override { - char name_buffer[512]; - if (uv_get_process_title(name_buffer, sizeof(name_buffer)) == 0) { + std::string title = GetProcessTitle(""); + if (!title.empty()) { // Only emit the metadata event if the title can be retrieved // successfully. Ignore it otherwise. TRACE_EVENT_METADATA1( - "__metadata", "process_name", "name", TRACE_STR_COPY(name_buffer)); + "__metadata", "process_name", "name", TRACE_STR_COPY(title.c_str())); } TRACE_EVENT_METADATA1("__metadata", "version", diff --git a/src/node_version.h b/src/node_version.h index 91d4cc15a6e7d1..8a4192dcc74c88 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -29,7 +29,7 @@ #define NODE_VERSION_IS_LTS 1 #define NODE_VERSION_LTS_CODENAME "Erbium" -#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_wasi.cc b/src/node_wasi.cc index 1edafe2172cee9..2305a75d031659 100644 --- a/src/node_wasi.cc +++ b/src/node_wasi.cc @@ -1,6 +1,6 @@ #include "env-inl.h" #include "base_object-inl.h" -#include "debug_utils.h" +#include "debug_utils-inl.h" #include "memory_tracker-inl.h" #include "node_mem-inl.h" #include "util-inl.h" @@ -1062,7 +1062,7 @@ void WASI::PathFilestatGet(const FunctionCallbackInfo& args) { CHECK_TO_TYPE_OR_RETURN(args, args[4], Uint32, buf_ptr); ASSIGN_OR_RETURN_UNWRAP(&wasi, args.This()); Debug(wasi, - "path_filestat_get(%d, %d, %d, %d, %d)\n", + "path_filestat_get(%d, %d, %d)\n", fd, path_ptr, path_len); diff --git a/src/node_watchdog.cc b/src/node_watchdog.cc index e0f606c949a009..f11902a1fa44bc 100644 --- a/src/node_watchdog.cc +++ b/src/node_watchdog.cc @@ -21,7 +21,7 @@ #include -#include "debug_utils.h" +#include "debug_utils-inl.h" #include "env-inl.h" #include "node_errors.h" #include "node_internals.h" diff --git a/src/node_worker.cc b/src/node_worker.cc index b89166e9f48ad5..83597c1616a6d4 100644 --- a/src/node_worker.cc +++ b/src/node_worker.cc @@ -1,5 +1,5 @@ #include "node_worker.h" -#include "debug_utils.h" +#include "debug_utils-inl.h" #include "memory_tracker-inl.h" #include "node_errors.h" #include "node_buffer.h" @@ -16,6 +16,7 @@ #include #include +using node::kAllowedInEnvironment; using node::kDisallowedInEnvironment; using v8::Array; using v8::ArrayBuffer; @@ -46,7 +47,8 @@ Worker::Worker(Environment* env, Local wrap, const std::string& url, std::shared_ptr per_isolate_opts, - std::vector&& exec_argv) + std::vector&& exec_argv, + std::shared_ptr env_vars) : AsyncWrap(env, wrap, AsyncWrap::PROVIDER_WORKER), per_isolate_opts_(per_isolate_opts), exec_argv_(exec_argv), @@ -54,7 +56,7 @@ Worker::Worker(Environment* env, array_buffer_allocator_(ArrayBufferAllocator::Create()), start_profiler_idle_notifier_(env->profiler_idle_notifier_started()), thread_id_(Environment::AllocateThreadId()), - env_vars_(env->env_vars()) { + env_vars_(env_vars) { Debug(this, "Creating new worker instance with thread id %llu", thread_id_); // Set up everything that needs to be set up in the parent environment. @@ -136,7 +138,16 @@ class WorkerThreadData { public: explicit WorkerThreadData(Worker* w) : w_(w) { - CHECK_EQ(uv_loop_init(&loop_), 0); + int ret = uv_loop_init(&loop_); + if (ret != 0) { + char err_buf[128]; + uv_err_name_r(ret, err_buf, sizeof(err_buf)); + w->custom_error_ = "ERR_WORKER_INIT_FAILED"; + w->custom_error_str_ = err_buf; + w->loop_init_failed_ = true; + w->stopped_ = true; + return; + } Isolate::CreateParams params; SetIsolateCreateParamsForNode(¶ms); @@ -147,6 +158,8 @@ class WorkerThreadData { Isolate* isolate = Isolate::Allocate(); if (isolate == nullptr) { w->custom_error_ = "ERR_WORKER_OUT_OF_MEMORY"; + w->custom_error_str_ = "Failed to create new Isolate"; + w->stopped_ = true; return; } @@ -159,6 +172,9 @@ class WorkerThreadData { { Locker locker(isolate); Isolate::Scope isolate_scope(isolate); + // V8 computes its stack limit the first time a `Locker` is used based on + // --stack-size. Reset it to the correct value. + isolate->SetStackLimit(w->stack_base_); HandleScope handle_scope(isolate); isolate_data_.reset(CreateIsolateData(isolate, @@ -201,11 +217,14 @@ class WorkerThreadData { isolate->Dispose(); // Wait until the platform has cleaned up all relevant resources. - while (!platform_finished) + while (!platform_finished) { + CHECK(!w_->loop_init_failed_); uv_run(&loop_, UV_RUN_ONCE); + } + } + if (!w_->loop_init_failed_) { + CheckedUvLoopClose(&loop_); } - - CheckedUvLoopClose(&loop_); } private: @@ -220,6 +239,7 @@ size_t Worker::NearHeapLimit(void* data, size_t current_heap_limit, size_t initial_heap_limit) { Worker* worker = static_cast(data); worker->custom_error_ = "ERR_WORKER_OUT_OF_MEMORY"; + worker->custom_error_str_ = "JS heap out of memory"; worker->Exit(1); // Give the current GC some extra leeway to let it finish rather than // crash hard. We are not going to perform further allocations anyway. @@ -239,6 +259,7 @@ void Worker::Run() { WorkerThreadData data(this); if (isolate_ == nullptr) return; + CHECK(!data.w_->loop_init_failed_); Debug(this, "Starting worker with id %llu", thread_id_); { @@ -253,24 +274,14 @@ void Worker::Run() { Isolate::DisallowJavascriptExecutionScope disallow_js(isolate_, Isolate::DisallowJavascriptExecutionScope::THROW_ON_FAILURE); - // Grab the parent-to-child channel and render is unusable. - MessagePort* child_port; - { - Mutex::ScopedLock lock(mutex_); - child_port = child_port_; - child_port_ = nullptr; - } - { Context::Scope context_scope(env_->context()); - if (child_port != nullptr) - child_port->Close(); { Mutex::ScopedLock lock(mutex_); stopped_ = true; this->env_ = nullptr; } - env_->thread_stopper()->set_stopped(true); + env_->set_stopping(true); env_->stop_sub_worker_contexts(); env_->RunCleanup(); RunAtExit(env_.get()); @@ -294,9 +305,8 @@ void Worker::Run() { TryCatch try_catch(isolate_); context = NewContext(isolate_); if (context.IsEmpty()) { - // TODO(addaleax): Inform the target about the actual underlying - // failure. custom_error_ = "ERR_WORKER_OUT_OF_MEMORY"; + custom_error_str_ = "Failed to create new Context"; return; } } @@ -398,13 +408,13 @@ void Worker::CreateEnvMessagePort(Environment* env) { HandleScope handle_scope(isolate_); Mutex::ScopedLock lock(mutex_); // Set up the message channel for receiving messages in the child. - child_port_ = MessagePort::New(env, - env->context(), - std::move(child_port_data_)); + MessagePort* child_port = MessagePort::New(env, + env->context(), + std::move(child_port_data_)); // MessagePort::New() may return nullptr if execution is terminated // within it. - if (child_port_ != nullptr) - env->set_message_port(child_port_->object(isolate_)); + if (child_port != nullptr) + env->set_message_port(child_port->object(isolate_)); } void Worker::JoinThread() { @@ -414,7 +424,6 @@ void Worker::JoinThread() { thread_joined_ = true; env()->remove_sub_worker_context(this); - on_thread_finished_.Uninstall(); { HandleScope handle_scope(env()->isolate()); @@ -426,10 +435,14 @@ void Worker::JoinThread() { Undefined(env()->isolate())).Check(); Local args[] = { - Integer::New(env()->isolate(), exit_code_), - custom_error_ != nullptr ? - OneByteString(env()->isolate(), custom_error_).As() : - Null(env()->isolate()).As(), + Integer::New(env()->isolate(), exit_code_), + custom_error_ != nullptr + ? OneByteString(env()->isolate(), custom_error_).As() + : Null(env()->isolate()).As(), + !custom_error_str_.empty() + ? OneByteString(env()->isolate(), custom_error_str_.c_str()) + .As() + : Null(env()->isolate()).As(), }; MakeCallback(env()->onexit_string(), arraysize(args), args); @@ -452,6 +465,7 @@ Worker::~Worker() { void Worker::New(const FunctionCallbackInfo& args) { Environment* env = Environment::GetCurrent(args); + Isolate* isolate = args.GetIsolate(); CHECK(args.IsConstructCall()); @@ -462,24 +476,81 @@ void Worker::New(const FunctionCallbackInfo& args) { std::string url; std::shared_ptr per_isolate_opts = nullptr; + std::shared_ptr env_vars = nullptr; std::vector exec_argv_out; - bool has_explicit_exec_argv = false; - CHECK_EQ(args.Length(), 3); + CHECK_EQ(args.Length(), 4); // Argument might be a string or URL if (!args[0]->IsNullOrUndefined()) { Utf8Value value( - args.GetIsolate(), - args[0]->ToString(env->context()).FromMaybe(Local())); + isolate, args[0]->ToString(env->context()).FromMaybe(Local())); url.append(value.out(), value.length()); } - if (args[1]->IsArray()) { - Local array = args[1].As(); + if (args[1]->IsNull()) { + // Means worker.env = { ...process.env }. + env_vars = env->env_vars()->Clone(isolate); + } else if (args[1]->IsObject()) { + // User provided env. + env_vars = KVStore::CreateMapKVStore(); + env_vars->AssignFromObject(isolate->GetCurrentContext(), + args[1].As()); + } else { + // Env is shared. + env_vars = env->env_vars(); + } + + if (args[1]->IsObject() || args[2]->IsArray()) { + per_isolate_opts.reset(new PerIsolateOptions()); + + HandleEnvOptions( + per_isolate_opts->per_env, [isolate, &env_vars](const char* name) { + MaybeLocal value = + env_vars->Get(isolate, OneByteString(isolate, name)); + return value.IsEmpty() ? std::string{} + : std::string(*String::Utf8Value( + isolate, value.ToLocalChecked())); + }); + +#ifndef NODE_WITHOUT_NODE_OPTIONS + MaybeLocal maybe_node_opts = + env_vars->Get(isolate, OneByteString(isolate, "NODE_OPTIONS")); + if (!maybe_node_opts.IsEmpty()) { + std::string node_options( + *String::Utf8Value(isolate, maybe_node_opts.ToLocalChecked())); + std::vector errors{}; + std::vector env_argv = + ParseNodeOptionsEnvVar(node_options, &errors); + // [0] is expected to be the program name, add dummy string. + env_argv.insert(env_argv.begin(), ""); + std::vector invalid_args{}; + options_parser::Parse(&env_argv, + nullptr, + &invalid_args, + per_isolate_opts.get(), + kAllowedInEnvironment, + &errors); + if (errors.size() > 0 && args[1]->IsObject()) { + // Only fail for explicitly provided env, this protects from failures + // when NODE_OPTIONS from parent's env is used (which is the default). + Local error; + if (!ToV8Value(env->context(), errors).ToLocal(&error)) return; + Local key = + FIXED_ONE_BYTE_STRING(env->isolate(), "invalidNodeOptions"); + // Ignore the return value of Set() because exceptions bubble up to JS + // when we return anyway. + USE(args.This()->Set(env->context(), key, error)); + return; + } + } +#endif + } + + if (args[2]->IsArray()) { + Local array = args[2].As(); // The first argument is reserved for program name, but we don't need it // in workers. - has_explicit_exec_argv = true; std::vector exec_argv = {""}; uint32_t length = array->Length(); for (uint32_t i = 0; i < length; i++) { @@ -501,8 +572,6 @@ void Worker::New(const FunctionCallbackInfo& args) { std::vector invalid_args{}; std::vector errors{}; - per_isolate_opts.reset(new PerIsolateOptions()); - // Using invalid_args as the v8_args argument as it stores unknown // options for the per isolate parser. options_parser::Parse( @@ -529,40 +598,24 @@ void Worker::New(const FunctionCallbackInfo& args) { USE(args.This()->Set(env->context(), key, error)); return; } - } - if (!has_explicit_exec_argv) + } else { exec_argv_out = env->exec_argv(); + } - Worker* worker = - new Worker(env, args.This(), url, per_isolate_opts, - std::move(exec_argv_out)); + Worker* worker = new Worker(env, + args.This(), + url, + per_isolate_opts, + std::move(exec_argv_out), + env_vars); - CHECK(args[2]->IsFloat64Array()); - Local limit_info = args[2].As(); + CHECK(args[3]->IsFloat64Array()); + Local limit_info = args[3].As(); CHECK_EQ(limit_info->Length(), kTotalResourceLimitCount); limit_info->CopyContents(worker->resource_limits_, sizeof(worker->resource_limits_)); } -void Worker::CloneParentEnvVars(const FunctionCallbackInfo& args) { - Worker* w; - ASSIGN_OR_RETURN_UNWRAP(&w, args.This()); - CHECK(w->thread_joined_); // The Worker has not started yet. - - w->env_vars_ = w->env()->env_vars()->Clone(args.GetIsolate()); -} - -void Worker::SetEnvVars(const FunctionCallbackInfo& args) { - Worker* w; - ASSIGN_OR_RETURN_UNWRAP(&w, args.This()); - CHECK(w->thread_joined_); // The Worker has not started yet. - - CHECK(args[0]->IsObject()); - w->env_vars_ = KVStore::CreateMapKVStore(); - w->env_vars_->AssignFromObject(args.GetIsolate()->GetCurrentContext(), - args[0].As()); -} - void Worker::StartThread(const FunctionCallbackInfo& args) { Worker* w; ASSIGN_OR_RETURN_UNWRAP(&w, args.This()); @@ -576,18 +629,16 @@ void Worker::StartThread(const FunctionCallbackInfo& args) { w->stopped_ = false; w->thread_joined_ = false; - w->on_thread_finished_.Install(w->env(), w, [](uv_async_t* handle) { - Worker* w_ = static_cast(handle->data); - CHECK(w_->is_stopped()); - w_->parent_port_ = nullptr; - w_->JoinThread(); - delete w_; - }); + if (w->has_ref_) + w->env()->add_refs(1); uv_thread_options_t thread_options; thread_options.flags = UV_THREAD_HAS_STACK_SIZE; thread_options.stack_size = kStackSize; CHECK_EQ(uv_thread_create_ex(&w->tid_, &thread_options, [](void* arg) { + // XXX: This could become a std::unique_ptr, but that makes at least + // gcc 6.3 detect undefined behaviour when there shouldn't be any. + // gcc 7+ handles this well. Worker* w = static_cast(arg); const uintptr_t stack_top = reinterpret_cast(&arg); @@ -598,7 +649,13 @@ void Worker::StartThread(const FunctionCallbackInfo& args) { w->Run(); Mutex::ScopedLock lock(w->mutex_); - w->on_thread_finished_.Stop(); + w->env()->SetImmediateThreadsafe( + [w = std::unique_ptr(w)](Environment* env) { + if (w->has_ref_) + env->add_refs(-1); + w->JoinThread(); + // implicitly delete w + }); }, static_cast(w)), 0); } @@ -613,13 +670,19 @@ void Worker::StopThread(const FunctionCallbackInfo& args) { void Worker::Ref(const FunctionCallbackInfo& args) { Worker* w; ASSIGN_OR_RETURN_UNWRAP(&w, args.This()); - uv_ref(reinterpret_cast(w->on_thread_finished_.GetHandle())); + if (!w->has_ref_) { + w->has_ref_ = true; + w->env()->add_refs(1); + } } void Worker::Unref(const FunctionCallbackInfo& args) { Worker* w; ASSIGN_OR_RETURN_UNWRAP(&w, args.This()); - uv_unref(reinterpret_cast(w->on_thread_finished_.GetHandle())); + if (w->has_ref_) { + w->has_ref_ = false; + w->env()->add_refs(-1); + } } void Worker::GetResourceLimits(const FunctionCallbackInfo& args) { @@ -645,6 +708,10 @@ void Worker::Exit(int code) { } } +void Worker::MemoryInfo(MemoryTracker* tracker) const { + tracker->TrackField("parent_port", parent_port_); +} + namespace { // Return the MessagePort that is global for this Environment and communicates @@ -670,8 +737,6 @@ void InitWorker(Local target, w->InstanceTemplate()->SetInternalFieldCount(1); w->Inherit(AsyncWrap::GetConstructorTemplate(env)); - env->SetProtoMethod(w, "setEnvVars", Worker::SetEnvVars); - env->SetProtoMethod(w, "cloneParentEnvVars", Worker::CloneParentEnvVars); env->SetProtoMethod(w, "startThread", Worker::StartThread); env->SetProtoMethod(w, "stopThread", Worker::StopThread); env->SetProtoMethod(w, "ref", Worker::Ref); diff --git a/src/node_worker.h b/src/node_worker.h index 46eab70a499c37..863e2cffde0f36 100644 --- a/src/node_worker.h +++ b/src/node_worker.h @@ -26,7 +26,8 @@ class Worker : public AsyncWrap { v8::Local wrap, const std::string& url, std::shared_ptr per_isolate_opts, - std::vector&& exec_argv); + std::vector&& exec_argv, + std::shared_ptr env_vars); ~Worker() override; // Run the worker. This is only called from the worker thread. @@ -39,11 +40,10 @@ class Worker : public AsyncWrap { // Wait for the worker thread to stop (in a blocking manner). void JoinThread(); - void MemoryInfo(MemoryTracker* tracker) const override { - tracker->TrackField("parent_port", parent_port_); - tracker->TrackInlineField(&on_thread_finished_, "on_thread_finished_"); - } + template + inline bool RequestInterrupt(Fn&& cb); + void MemoryInfo(MemoryTracker* tracker) const override; SET_MEMORY_INFO_NAME(Worker) SET_SELF_SIZE(Worker) @@ -86,6 +86,8 @@ class Worker : public AsyncWrap { bool thread_joined_ = true; const char* custom_error_ = nullptr; + std::string custom_error_str_; + bool loop_init_failed_ = false; int exit_code_ = 0; uint64_t thread_id_ = -1; uintptr_t stack_base_ = 0; @@ -102,21 +104,18 @@ class Worker : public AsyncWrap { std::unique_ptr child_port_data_; std::shared_ptr env_vars_; - // The child port is kept alive by the child Environment's persistent - // handle to it, as long as that child Environment exists. - MessagePort* child_port_ = nullptr; // This is always kept alive because the JS object associated with the Worker // instance refers to it via its [kPort] property. MessagePort* parent_port_ = nullptr; - AsyncRequest on_thread_finished_; - // A raw flag that is used by creator and worker threads to // sync up on pre-mature termination of worker - while in the // warmup phase. Once the worker is fully warmed up, use the // async handle of the worker's Environment for the same purpose. bool stopped_ = true; + bool has_ref_ = true; + // The real Environment of the worker object. It has a lesser // lifespan than the worker object itself - comes to life // when the worker thread creates a new Environment, and gets @@ -126,6 +125,14 @@ class Worker : public AsyncWrap { friend class WorkerThreadData; }; +template +bool Worker::RequestInterrupt(Fn&& cb) { + Mutex::ScopedLock lock(mutex_); + if (env_ == nullptr) return false; + env_->RequestInterrupt(std::move(cb)); + return true; +} + } // namespace worker } // namespace node diff --git a/src/node_zlib.cc b/src/node_zlib.cc index fdcf685caf2e5b..9c734c17d792f7 100644 --- a/src/node_zlib.cc +++ b/src/node_zlib.cc @@ -348,7 +348,7 @@ class CompressionStream : public AsyncWrap, public ThreadPoolWork { if (!async) { // sync version - env()->PrintSyncTrace(); + AsyncWrap::env()->PrintSyncTrace(); DoThreadPoolWork(); if (CheckError()) { UpdateWriteResult(); @@ -397,8 +397,9 @@ class CompressionStream : public AsyncWrap, public ThreadPoolWork { CHECK_EQ(status, 0); - HandleScope handle_scope(env()->isolate()); - Context::Scope context_scope(env()->context()); + Environment* env = AsyncWrap::env(); + HandleScope handle_scope(env->isolate()); + Context::Scope context_scope(env->context()); if (!CheckError()) return; @@ -406,7 +407,7 @@ class CompressionStream : public AsyncWrap, public ThreadPoolWork { UpdateWriteResult(); // call the write() cb - Local cb = PersistentToLocal::Default(env()->isolate(), + Local cb = PersistentToLocal::Default(env->isolate(), write_js_callback_); MakeCallback(cb, 0, nullptr); @@ -416,16 +417,17 @@ class CompressionStream : public AsyncWrap, public ThreadPoolWork { // TODO(addaleax): Switch to modern error system (node_errors.h). void EmitError(const CompressionError& err) { + Environment* env = AsyncWrap::env(); // If you hit this assertion, you forgot to enter the v8::Context first. - CHECK_EQ(env()->context(), env()->isolate()->GetCurrentContext()); + CHECK_EQ(env->context(), env->isolate()->GetCurrentContext()); - HandleScope scope(env()->isolate()); + HandleScope scope(env->isolate()); Local args[3] = { - OneByteString(env()->isolate(), err.message), - Integer::New(env()->isolate(), err.err), - OneByteString(env()->isolate(), err.code) + OneByteString(env->isolate(), err.message), + Integer::New(env->isolate(), err.err), + OneByteString(env->isolate(), err.code) }; - MakeCallback(env()->onerror_string(), arraysize(args), args); + MakeCallback(env->onerror_string(), arraysize(args), args); // no hope of rescue. write_in_progress_ = false; @@ -454,7 +456,7 @@ class CompressionStream : public AsyncWrap, public ThreadPoolWork { void InitStream(uint32_t* write_result, Local write_js_callback) { write_result_ = write_result; - write_js_callback_.Reset(env()->isolate(), write_js_callback); + write_js_callback_.Reset(AsyncWrap::env()->isolate(), write_js_callback); init_done_ = true; } @@ -500,7 +502,7 @@ class CompressionStream : public AsyncWrap, public ThreadPoolWork { if (report == 0) return; CHECK_IMPLIES(report < 0, zlib_memory_ >= static_cast(-report)); zlib_memory_ += report; - env()->isolate()->AdjustAmountOfExternalAllocatedMemory(report); + AsyncWrap::env()->isolate()->AdjustAmountOfExternalAllocatedMemory(report); } struct AllocScope { diff --git a/src/spawn_sync.cc b/src/spawn_sync.cc index 0751bc21a7eb3d..589b77f6c1eb95 100644 --- a/src/spawn_sync.cc +++ b/src/spawn_sync.cc @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. #include "spawn_sync.h" -#include "debug_utils.h" +#include "debug_utils-inl.h" #include "env-inl.h" #include "node_internals.h" #include "string_bytes.h" @@ -721,18 +721,18 @@ Local SyncProcessRunner::BuildOutputArray() { CHECK(!stdio_pipes_.empty()); EscapableHandleScope scope(env()->isolate()); - Local context = env()->context(); - Local js_output = Array::New(env()->isolate(), stdio_count_); + MaybeStackBuffer, 8> js_output(stdio_pipes_.size()); for (uint32_t i = 0; i < stdio_pipes_.size(); i++) { SyncProcessStdioPipe* h = stdio_pipes_[i].get(); if (h != nullptr && h->writable()) - js_output->Set(context, i, h->GetOutputAsBuffer(env())).Check(); + js_output[i] = h->GetOutputAsBuffer(env()); else - js_output->Set(context, i, Null(env()->isolate())).Check(); + js_output[i] = Null(env()->isolate()); } - return scope.Escape(js_output); + return scope.Escape( + Array::New(env()->isolate(), js_output.out(), js_output.length())); } Maybe SyncProcessRunner::ParseOptions(Local js_value) { diff --git a/src/stream_base-inl.h b/src/stream_base-inl.h index 65af037d152763..f89eb3a5287939 100644 --- a/src/stream_base-inl.h +++ b/src/stream_base-inl.h @@ -162,7 +162,7 @@ inline int StreamBase::Shutdown(v8::Local req_wrap_obj) { ShutdownWrap* req_wrap = CreateShutdownWrap(req_wrap_obj); int err = DoShutdown(req_wrap); - if (err != 0) { + if (err != 0 && req_wrap != nullptr) { req_wrap->Dispose(); } diff --git a/src/stream_pipe.cc b/src/stream_pipe.cc index 832a20d324f0ea..5f7514b1b84790 100644 --- a/src/stream_pipe.cc +++ b/src/stream_pipe.cc @@ -25,7 +25,7 @@ StreamPipe::StreamPipe(StreamBase* source, source->PushStreamListener(&readable_listener_); sink->PushStreamListener(&writable_listener_); - CHECK(sink->HasWantsWrite()); + uses_wants_write_ = sink->HasWantsWrite(); // Set up links between this object and the source/sink objects. // In particular, this makes sure that they are garbage collected as a group, @@ -42,7 +42,7 @@ StreamPipe::StreamPipe(StreamBase* source, } StreamPipe::~StreamPipe() { - Unpipe(); + Unpipe(true); } StreamBase* StreamPipe::source() { @@ -53,7 +53,7 @@ StreamBase* StreamPipe::sink() { return static_cast(writable_listener_.stream()); } -void StreamPipe::Unpipe() { +void StreamPipe::Unpipe(bool is_in_deletion) { if (is_closed_) return; @@ -66,12 +66,16 @@ void StreamPipe::Unpipe() { is_closed_ = true; is_reading_ = false; source()->RemoveStreamListener(&readable_listener_); - sink()->RemoveStreamListener(&writable_listener_); + if (pending_writes_ == 0) + sink()->RemoveStreamListener(&writable_listener_); + + if (is_in_deletion) return; // Delay the JS-facing part with SetImmediate, because this might be from // inside the garbage collector, so we can’t run JS here. HandleScope handle_scope(env()->isolate()); - env()->SetImmediate([this](Environment* env) { + BaseObjectPtr strong_ref{this}; + env()->SetImmediate([this, strong_ref](Environment* env) { HandleScope handle_scope(env->isolate()); Context::Scope context_scope(env->context()); Local object = this->object(); @@ -105,7 +109,7 @@ void StreamPipe::Unpipe() { .IsNothing()) { return; } - }, object()); + }); } uv_buf_t StreamPipe::ReadableListener::OnStreamAlloc(size_t suggested_size) { @@ -123,13 +127,16 @@ void StreamPipe::ReadableListener::OnStreamRead(ssize_t nread, // EOF or error; stop reading and pass the error to the previous listener // (which might end up in JS). pipe->is_eof_ = true; + // Cache `sink()` here because the previous listener might do things + // that eventually lead to an `Unpipe()` call. + StreamBase* sink = pipe->sink(); stream()->ReadStop(); CHECK_NOT_NULL(previous_listener_); previous_listener_->OnStreamRead(nread, uv_buf_init(nullptr, 0)); // If we’re not writing, close now. Otherwise, we’ll do that in // `OnStreamAfterWrite()`. - if (!pipe->is_writing_) { - pipe->ShutdownWritable(); + if (pipe->pending_writes_ == 0) { + sink->Shutdown(); pipe->Unpipe(); } return; @@ -139,12 +146,13 @@ void StreamPipe::ReadableListener::OnStreamRead(ssize_t nread, } void StreamPipe::ProcessData(size_t nread, AllocatedBuffer&& buf) { + CHECK(uses_wants_write_ || pending_writes_ == 0); uv_buf_t buffer = uv_buf_init(buf.data(), nread); StreamWriteResult res = sink()->Write(&buffer, 1); + pending_writes_++; if (!res.async) { writable_listener_.OnStreamAfterWrite(nullptr, res.err); } else { - is_writing_ = true; is_reading_ = false; res.wrap->SetAllocatedStorage(std::move(buf)); if (source() != nullptr) @@ -152,19 +160,26 @@ void StreamPipe::ProcessData(size_t nread, AllocatedBuffer&& buf) { } } -void StreamPipe::ShutdownWritable() { - sink()->Shutdown(); -} - void StreamPipe::WritableListener::OnStreamAfterWrite(WriteWrap* w, int status) { StreamPipe* pipe = ContainerOf(&StreamPipe::writable_listener_, this); - pipe->is_writing_ = false; + pipe->pending_writes_--; + if (pipe->is_closed_) { + if (pipe->pending_writes_ == 0) { + Environment* env = pipe->env(); + HandleScope handle_scope(env->isolate()); + Context::Scope context_scope(env->context()); + pipe->MakeCallback(env->oncomplete_string(), 0, nullptr).ToLocalChecked(); + stream()->RemoveStreamListener(this); + } + return; + } + if (pipe->is_eof_) { HandleScope handle_scope(pipe->env()->isolate()); InternalCallbackScope callback_scope(pipe, InternalCallbackScope::kSkipTaskQueues); - pipe->ShutdownWritable(); + pipe->sink()->Shutdown(); pipe->Unpipe(); return; } @@ -176,6 +191,10 @@ void StreamPipe::WritableListener::OnStreamAfterWrite(WriteWrap* w, prev->OnStreamAfterWrite(w, status); return; } + + if (!pipe->uses_wants_write_) { + OnStreamWantsWrite(65536); + } } void StreamPipe::WritableListener::OnStreamAfterShutdown(ShutdownWrap* w, @@ -199,6 +218,7 @@ void StreamPipe::WritableListener::OnStreamDestroy() { StreamPipe* pipe = ContainerOf(&StreamPipe::writable_listener_, this); pipe->sink_destroyed_ = true; pipe->is_eof_ = true; + pipe->pending_writes_ = 0; pipe->Unpipe(); } @@ -239,8 +259,7 @@ void StreamPipe::Start(const FunctionCallbackInfo& args) { StreamPipe* pipe; ASSIGN_OR_RETURN_UNWRAP(&pipe, args.Holder()); pipe->is_closed_ = false; - if (pipe->wanted_data_ > 0) - pipe->writable_listener_.OnStreamWantsWrite(pipe->wanted_data_); + pipe->writable_listener_.OnStreamWantsWrite(65536); } void StreamPipe::Unpipe(const FunctionCallbackInfo& args) { @@ -249,6 +268,18 @@ void StreamPipe::Unpipe(const FunctionCallbackInfo& args) { pipe->Unpipe(); } +void StreamPipe::IsClosed(const FunctionCallbackInfo& args) { + StreamPipe* pipe; + ASSIGN_OR_RETURN_UNWRAP(&pipe, args.Holder()); + args.GetReturnValue().Set(pipe->is_closed_); +} + +void StreamPipe::PendingWrites(const FunctionCallbackInfo& args) { + StreamPipe* pipe; + ASSIGN_OR_RETURN_UNWRAP(&pipe, args.Holder()); + args.GetReturnValue().Set(pipe->pending_writes_); +} + namespace { void InitializeStreamPipe(Local target, @@ -263,6 +294,8 @@ void InitializeStreamPipe(Local target, FIXED_ONE_BYTE_STRING(env->isolate(), "StreamPipe"); env->SetProtoMethod(pipe, "unpipe", StreamPipe::Unpipe); env->SetProtoMethod(pipe, "start", StreamPipe::Start); + env->SetProtoMethod(pipe, "isClosed", StreamPipe::IsClosed); + env->SetProtoMethod(pipe, "pendingWrites", StreamPipe::PendingWrites); pipe->Inherit(AsyncWrap::GetConstructorTemplate(env)); pipe->SetClassName(stream_pipe_string); pipe->InstanceTemplate()->SetInternalFieldCount(1); diff --git a/src/stream_pipe.h b/src/stream_pipe.h index 061ad9842e8f6d..e22abab0115c8a 100644 --- a/src/stream_pipe.h +++ b/src/stream_pipe.h @@ -12,11 +12,13 @@ class StreamPipe : public AsyncWrap { StreamPipe(StreamBase* source, StreamBase* sink, v8::Local obj); ~StreamPipe() override; - void Unpipe(); + void Unpipe(bool is_in_deletion = false); static void New(const v8::FunctionCallbackInfo& args); static void Start(const v8::FunctionCallbackInfo& args); static void Unpipe(const v8::FunctionCallbackInfo& args); + static void IsClosed(const v8::FunctionCallbackInfo& args); + static void PendingWrites(const v8::FunctionCallbackInfo& args); SET_NO_MEMORY_INFO() SET_MEMORY_INFO_NAME(StreamPipe) @@ -26,14 +28,13 @@ class StreamPipe : public AsyncWrap { inline StreamBase* source(); inline StreamBase* sink(); - inline void ShutdownWritable(); - + int pending_writes_ = 0; bool is_reading_ = false; - bool is_writing_ = false; bool is_eof_ = false; bool is_closed_ = true; bool sink_destroyed_ = false; bool source_destroyed_ = false; + bool uses_wants_write_ = false; // Set a default value so that when we’re coming from Start(), we know // that we don’t want to read just yet. diff --git a/src/string_bytes.cc b/src/string_bytes.cc index 131a0333be22dc..17b4d6247f0a3d 100644 --- a/src/string_bytes.cc +++ b/src/string_bytes.cc @@ -596,7 +596,11 @@ static void force_ascii(const char* src, char* dst, size_t len) { } -static size_t hex_encode(const char* src, size_t slen, char* dst, size_t dlen) { +size_t StringBytes::hex_encode( + const char* src, + size_t slen, + char* dst, + size_t dlen) { // We know how much we'll write, just make sure that there's space. CHECK(dlen >= slen * 2 && "not enough space provided for hex encode"); @@ -612,6 +616,12 @@ static size_t hex_encode(const char* src, size_t slen, char* dst, size_t dlen) { return dlen; } +std::string StringBytes::hex_encode(const char* src, size_t slen) { + size_t dlen = slen * 2; + std::string dst(dlen, '\0'); + hex_encode(src, slen, &dst[0], dlen); + return dst; +} #define CHECK_BUFLEN_IN_RANGE(len) \ do { \ diff --git a/src/string_bytes.h b/src/string_bytes.h index f7f97e9a8aaf7c..451c39955f7ef7 100644 --- a/src/string_bytes.h +++ b/src/string_bytes.h @@ -29,6 +29,8 @@ #include "v8.h" #include "env-inl.h" +#include + namespace node { class StringBytes { @@ -110,6 +112,13 @@ class StringBytes { enum encoding encoding, v8::Local* error); + static size_t hex_encode(const char* src, + size_t slen, + char* dst, + size_t dlen); + + static std::string hex_encode(const char* src, size_t slen); + private: static size_t WriteUCS2(v8::Isolate* isolate, char* buf, diff --git a/src/tls_wrap.cc b/src/tls_wrap.cc index 263505c78d8558..36877424216ed4 100644 --- a/src/tls_wrap.cc +++ b/src/tls_wrap.cc @@ -21,7 +21,7 @@ #include "tls_wrap.h" #include "async_wrap-inl.h" -#include "debug_utils.h" +#include "debug_utils-inl.h" #include "memory_tracker-inl.h" #include "node_buffer.h" // Buffer #include "node_crypto.h" // SecureContext @@ -320,9 +320,10 @@ void TLSWrap::EncOut() { // its not clear if it is always correct. Not calling Done() could block // data flow, so for now continue to call Done(), just do it in the next // tick. - env()->SetImmediate([this](Environment* env) { + BaseObjectPtr strong_ref{this}; + env()->SetImmediate([this, strong_ref](Environment* env) { InvokeQueued(0); - }, object()); + }); } } return; @@ -353,9 +354,10 @@ void TLSWrap::EncOut() { HandleScope handle_scope(env()->isolate()); // Simulate asynchronous finishing, TLS cannot handle this at the moment. - env()->SetImmediate([this](Environment* env) { + BaseObjectPtr strong_ref{this}; + env()->SetImmediate([this, strong_ref](Environment* env) { OnStreamAfterWrite(nullptr, 0); - }, object()); + }); } } @@ -585,6 +587,7 @@ void TLSWrap::ClearIn() { AllocatedBuffer data = std::move(pending_cleartext_input_); crypto::MarkPopErrorOnReturn mark_pop_error_on_return; + crypto::NodeBIO::FromBIO(enc_out_)->set_allocate_tls_hint(data.size()); int written = SSL_write(ssl_.get(), data.data(), data.size()); Debug(this, "Writing %zu bytes, written = %d", data.size(), written); CHECK(written == -1 || written == static_cast(data.size())); @@ -699,8 +702,15 @@ int TLSWrap::DoWrite(WriteWrap* w, size_t length = 0; size_t i; - for (i = 0; i < count; i++) + size_t nonempty_i = 0; + size_t nonempty_count = 0; + for (i = 0; i < count; i++) { length += bufs[i].len; + if (bufs[i].len > 0) { + nonempty_i = i; + nonempty_count += 1; + } + } // We want to trigger a Write() on the underlying stream to drive the stream // system, but don't want to encrypt empty buffers into a TLS frame, so see @@ -722,9 +732,10 @@ int TLSWrap::DoWrite(WriteWrap* w, StreamWriteResult res = underlying_stream()->Write(bufs, count, send_handle); if (!res.async) { - env()->SetImmediate([this](Environment* env) { + BaseObjectPtr strong_ref{this}; + env()->SetImmediate([this, strong_ref](Environment* env) { OnStreamAfterWrite(current_empty_write_, 0); - }, object()); + }); } return 0; } @@ -744,20 +755,34 @@ int TLSWrap::DoWrite(WriteWrap* w, crypto::MarkPopErrorOnReturn mark_pop_error_on_return; int written = 0; - if (count != 1) { + + // It is common for zero length buffers to be written, + // don't copy data if there there is one buffer with data + // and one or more zero length buffers. + // _http_outgoing.js writes a zero length buffer in + // in OutgoingMessage.prototype.end. If there was a large amount + // of data supplied to end() there is no sense allocating + // and copying it when it could just be used. + + if (nonempty_count != 1) { data = env()->AllocateManaged(length); size_t offset = 0; for (i = 0; i < count; i++) { memcpy(data.data() + offset, bufs[i].base, bufs[i].len); offset += bufs[i].len; } + + crypto::NodeBIO::FromBIO(enc_out_)->set_allocate_tls_hint(length); written = SSL_write(ssl_.get(), data.data(), length); } else { // Only one buffer: try to write directly, only store if it fails - written = SSL_write(ssl_.get(), bufs[0].base, bufs[0].len); + uv_buf_t* buf = &bufs[nonempty_i]; + crypto::NodeBIO::FromBIO(enc_out_)->set_allocate_tls_hint(buf->len); + written = SSL_write(ssl_.get(), buf->base, buf->len); + if (written == -1) { data = env()->AllocateManaged(length); - memcpy(data.data(), bufs[0].base, bufs[0].len); + memcpy(data.data(), buf->base, buf->len); } } diff --git a/src/tracing/agent.cc b/src/tracing/agent.cc index 3d19c6c75844fc..7d265dcb0c4c3b 100644 --- a/src/tracing/agent.cc +++ b/src/tracing/agent.cc @@ -3,7 +3,7 @@ #include #include "trace_event.h" #include "tracing/node_trace_buffer.h" -#include "debug_utils.h" +#include "debug_utils-inl.h" #include "env-inl.h" namespace node { diff --git a/src/tracing/traced_value.h b/src/tracing/traced_value.h index aa1dcd15c63d29..93c5be799b63a4 100644 --- a/src/tracing/traced_value.h +++ b/src/tracing/traced_value.h @@ -18,7 +18,7 @@ namespace tracing { class TracedValue : public v8::ConvertableToTraceFormat { public: - ~TracedValue() = default; + ~TracedValue() override = default; static std::unique_ptr Create(); static std::unique_ptr CreateArray(); diff --git a/src/util.cc b/src/util.cc index 26dbfe844995eb..29bfb5d351e35b 100644 --- a/src/util.cc +++ b/src/util.cc @@ -22,6 +22,7 @@ #include "util.h" // NOLINT(build/include_inline) #include "util-inl.h" +#include "debug_utils-inl.h" #include "env-inl.h" #include "node_buffer.h" #include "node_errors.h" @@ -45,6 +46,7 @@ #include #include +#include #include #include @@ -133,17 +135,30 @@ void LowMemoryNotification() { } } -std::string GetHumanReadableProcessName() { - char name[1024]; - GetHumanReadableProcessName(&name); - return name; +std::string GetProcessTitle(const char* default_title) { + std::string buf(16, '\0'); + + for (;;) { + const int rc = uv_get_process_title(&buf[0], buf.size()); + + if (rc == 0) + break; + + if (rc != UV_ENOBUFS) + return default_title; + + buf.resize(2 * buf.size()); + } + + // Strip excess trailing nul bytes. Using strlen() here is safe, + // uv_get_process_title() always zero-terminates the result. + buf.resize(strlen(&buf[0])); + + return buf; } -void GetHumanReadableProcessName(char (*name)[1024]) { - // Leave room after title for pid, which can be up to 20 digits for 64 bit. - char title[1000] = "Node.js"; - uv_get_process_title(title, sizeof(title)); - snprintf(*name, sizeof(*name), "%s[%d]", title, uv_os_getpid()); +std::string GetHumanReadableProcessName() { + return SPrintF("%s[%d]", GetProcessTitle("Node.js"), uv_os_getpid()); } std::vector SplitString(const std::string& in, char delim) { diff --git a/src/util.h b/src/util.h index b04193c2ef1a7d..5efd92eb6e239c 100644 --- a/src/util.h +++ b/src/util.h @@ -24,7 +24,14 @@ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS +#if (__GNUC__ >= 8) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-function-type" +#endif #include "v8.h" +#if (__GNUC__ >= 8) && !defined(__clang__) +#pragma GCC diagnostic pop +#endif #include #include // PATH_MAX @@ -468,6 +475,8 @@ class ArrayBufferViewContents { class Utf8Value : public MaybeStackBuffer { public: explicit Utf8Value(v8::Isolate* isolate, v8::Local value); + + inline std::string ToString() const { return std::string(out(), length()); } }; class TwoByteValue : public MaybeStackBuffer { @@ -478,6 +487,8 @@ class TwoByteValue : public MaybeStackBuffer { class BufferValue : public MaybeStackBuffer { public: explicit BufferValue(v8::Isolate* isolate, v8::Local value); + + inline std::string ToString() const { return std::string(out(), length()); } }; #define SPREAD_BUFFER_ARG(val, name) \ diff --git a/test/.eslintrc.yaml b/test/.eslintrc.yaml index 1dd006566a8c8d..86d4b595e7dc9a 100644 --- a/test/.eslintrc.yaml +++ b/test/.eslintrc.yaml @@ -14,12 +14,10 @@ rules: # Custom rules in tools/eslint-rules node-core/prefer-assert-iferror: error node-core/prefer-assert-methods: error - node-core/prefer-common-expectserror: error node-core/prefer-common-mustnotcall: error node-core/crypto-check: error node-core/eslint-check: error node-core/inspector-check: error - node-core/number-isnan: error ## common module is mandatory in tests node-core/required-modules: - error diff --git a/test/addons/dlopen-ping-pong/binding.cc b/test/addons/dlopen-ping-pong/binding.cc index ecdabd5e0f4eef..7b211be1195bf7 100644 --- a/test/addons/dlopen-ping-pong/binding.cc +++ b/test/addons/dlopen-ping-pong/binding.cc @@ -5,7 +5,9 @@ #include -extern "C" const char* dlopen_pong(void) { +extern "C" +__attribute__((visibility("default"))) +const char* dlopen_pong(void) { return "pong"; } diff --git a/test/addons/dlopen-ping-pong/ping.c b/test/addons/dlopen-ping-pong/ping.c index bb0e6845d54466..c76f40580c4168 100644 --- a/test/addons/dlopen-ping-pong/ping.c +++ b/test/addons/dlopen-ping-pong/ping.c @@ -2,6 +2,7 @@ const char* dlopen_pong(void); +__attribute__((visibility("default"))) const char* dlopen_ping(void) { return dlopen_pong(); } diff --git a/test/addons/openssl-client-cert-engine/testengine.cc b/test/addons/openssl-client-cert-engine/testengine.cc index 078695a0566691..7ccb56e08015a7 100644 --- a/test/addons/openssl-client-cert-engine/testengine.cc +++ b/test/addons/openssl-client-cert-engine/testengine.cc @@ -19,6 +19,12 @@ #define AGENT_KEY "test/fixtures/keys/agent1-key.pem" #define AGENT_CERT "test/fixtures/keys/agent1-cert.pem" +#ifdef _WIN32 +# define DEFAULT_VISIBILITY __declspec(dllexport) +#else +# define DEFAULT_VISIBILITY __attribute__((visibility("default"))) +#endif + namespace { int EngineInit(ENGINE* engine) { @@ -93,8 +99,8 @@ int bind_fn(ENGINE* engine, const char* id) { } extern "C" { - IMPLEMENT_DYNAMIC_CHECK_FN(); - IMPLEMENT_DYNAMIC_BIND_FN(bind_fn); + DEFAULT_VISIBILITY IMPLEMENT_DYNAMIC_CHECK_FN(); + DEFAULT_VISIBILITY IMPLEMENT_DYNAMIC_BIND_FN(bind_fn); } } // anonymous namespace diff --git a/test/addons/openssl-key-engine/testkeyengine.cc b/test/addons/openssl-key-engine/testkeyengine.cc index 78a4fc49a63e83..e1dc22164ac4c1 100644 --- a/test/addons/openssl-key-engine/testkeyengine.cc +++ b/test/addons/openssl-key-engine/testkeyengine.cc @@ -18,6 +18,12 @@ #define PRIVATE_KEY "test/fixtures/keys/agent1-key.pem" +#ifdef _WIN32 +# define DEFAULT_VISIBILITY __declspec(dllexport) +#else +# define DEFAULT_VISIBILITY __attribute__((visibility("default"))) +#endif + namespace { int EngineInit(ENGINE* engine) { @@ -66,8 +72,8 @@ int bind_fn(ENGINE* engine, const char* id) { } extern "C" { - IMPLEMENT_DYNAMIC_CHECK_FN(); - IMPLEMENT_DYNAMIC_BIND_FN(bind_fn); + DEFAULT_VISIBILITY IMPLEMENT_DYNAMIC_CHECK_FN(); + DEFAULT_VISIBILITY IMPLEMENT_DYNAMIC_BIND_FN(bind_fn); } } // anonymous namespace diff --git a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-ascii.js b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-ascii.js index 55f50f524927e8..024ba28aba04e0 100644 --- a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-ascii.js +++ b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-ascii.js @@ -5,6 +5,7 @@ const skipMessage = 'intensive toString tests due to memory confinements'; if (!common.enoughTestMem) common.skip(skipMessage); +const assert = require('assert'); const binding = require(`./build/${common.buildType}/binding`); // v8 fails silently if string length > v8::String::kMaxLength @@ -25,11 +26,11 @@ if (!binding.ensureAllocation(2 * kStringMaxLength)) common.skip(skipMessage); const stringLengthHex = kStringMaxLength.toString(16); -common.expectsError(() => { +assert.throws(() => { buf.toString('ascii'); }, { message: `Cannot create a string longer than 0x${stringLengthHex} ` + 'characters', code: 'ERR_STRING_TOO_LONG', - type: Error + name: 'Error' }); diff --git a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-base64.js b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-base64.js index 20d968787bf731..20137636024987 100644 --- a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-base64.js +++ b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-base64.js @@ -5,6 +5,7 @@ const skipMessage = 'intensive toString tests due to memory confinements'; if (!common.enoughTestMem) common.skip(skipMessage); +const assert = require('assert'); const binding = require(`./build/${common.buildType}/binding`); // v8 fails silently if string length > v8::String::kMaxLength @@ -25,11 +26,11 @@ if (!binding.ensureAllocation(2 * kStringMaxLength)) common.skip(skipMessage); const stringLengthHex = kStringMaxLength.toString(16); -common.expectsError(() => { +assert.throws(() => { buf.toString('base64'); }, { message: `Cannot create a string longer than 0x${stringLengthHex} ` + 'characters', code: 'ERR_STRING_TOO_LONG', - type: Error + name: 'Error' }); diff --git a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-binary.js b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-binary.js index f6ae5217ddf0ec..1ad04dc652873a 100644 --- a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-binary.js +++ b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-binary.js @@ -27,13 +27,13 @@ if (!binding.ensureAllocation(2 * kStringMaxLength)) common.skip(skipMessage); const stringLengthHex = kStringMaxLength.toString(16); -common.expectsError(() => { +assert.throws(() => { buf.toString('latin1'); }, { message: `Cannot create a string longer than 0x${stringLengthHex} ` + 'characters', code: 'ERR_STRING_TOO_LONG', - type: Error + name: 'Error' }); // FIXME: Free the memory early to avoid OOM. diff --git a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-hex.js b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-hex.js index fa7a47cf184cd1..7e3132af09d172 100644 --- a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-hex.js +++ b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-hex.js @@ -5,6 +5,7 @@ const skipMessage = 'intensive toString tests due to memory confinements'; if (!common.enoughTestMem) common.skip(skipMessage); +const assert = require('assert'); const binding = require(`./build/${common.buildType}/binding`); // v8 fails silently if string length > v8::String::kMaxLength @@ -25,11 +26,11 @@ if (!binding.ensureAllocation(2 * kStringMaxLength)) common.skip(skipMessage); const stringLengthHex = kStringMaxLength.toString(16); -common.expectsError(() => { +assert.throws(() => { buf.toString('hex'); }, { message: `Cannot create a string longer than 0x${stringLengthHex} ` + 'characters', code: 'ERR_STRING_TOO_LONG', - type: Error + name: 'Error' }); diff --git a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-utf8.js b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-utf8.js index 43c88bd49e7e15..2ca7050d8ab4ea 100644 --- a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-utf8.js +++ b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max-by-1-utf8.js @@ -35,7 +35,7 @@ assert.throws(() => { message: `Cannot create a string longer than 0x${stringLengthHex} ` + 'characters', code: 'ERR_STRING_TOO_LONG', - type: Error + name: 'Error' })(e); return true; } else { @@ -43,11 +43,11 @@ assert.throws(() => { } }); -common.expectsError(() => { +assert.throws(() => { buf.toString('utf8'); }, { message: `Cannot create a string longer than 0x${stringLengthHex} ` + 'characters', code: 'ERR_STRING_TOO_LONG', - type: Error + name: 'Error' }); diff --git a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max.js b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max.js index 8b419eb4362de0..7206b90d5f28b6 100644 --- a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max.js +++ b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max.js @@ -5,6 +5,7 @@ const skipMessage = 'intensive toString tests due to memory confinements'; if (!common.enoughTestMem) common.skip(skipMessage); +const assert = require('assert'); const binding = require(`./build/${common.buildType}/binding`); // v8 fails silently if string length > v8::String::kMaxLength @@ -26,11 +27,11 @@ if (!binding.ensureAllocation(2 * kStringMaxLength)) const stringLengthHex = kStringMaxLength.toString(16); -common.expectsError(() => { +assert.throws(() => { buf.toString('utf16le'); }, { message: `Cannot create a string longer than 0x${stringLengthHex} ` + 'characters', code: 'ERR_STRING_TOO_LONG', - type: Error + name: 'Error' }); diff --git a/test/async-hooks/async-hooks.status b/test/async-hooks/async-hooks.status index 7f36d5a78a6e2b..9ad85147db2b6b 100644 --- a/test/async-hooks/async-hooks.status +++ b/test/async-hooks/async-hooks.status @@ -7,6 +7,8 @@ prefix async-hooks [true] # This section applies to all platforms [$system==win32] +# https://github.com/nodejs/node/issues/29852 +test-statwatcher: PASS,FLAKY [$system==linux] diff --git a/test/async-hooks/test-embedder.api.async-resource-no-type.js b/test/async-hooks/test-embedder.api.async-resource-no-type.js index 69b6667edb674c..2600325e1ed6be 100644 --- a/test/async-hooks/test-embedder.api.async-resource-no-type.js +++ b/test/async-hooks/test-embedder.api.async-resource-no-type.js @@ -18,9 +18,9 @@ if (process.argv[2] === 'child') { } [null, undefined, 1, Date, {}, []].forEach((i) => { - common.expectsError(() => new Foo(i), { + assert.throws(() => new Foo(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); }); diff --git a/test/async-hooks/test-embedder.api.async-resource.js b/test/async-hooks/test-embedder.api.async-resource.js index 19c1b7187a9e2c..c53590393af89f 100644 --- a/test/async-hooks/test-embedder.api.async-resource.js +++ b/test/async-hooks/test-embedder.api.async-resource.js @@ -12,16 +12,16 @@ const { checkInvocations } = require('./hook-checks'); const hooks = initHooks(); hooks.enable(); -common.expectsError( +assert.throws( () => new AsyncResource(), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', }); -common.expectsError(() => { +assert.throws(() => { new AsyncResource('invalid_trigger_id', { triggerAsyncId: null }); }, { code: 'ERR_INVALID_ASYNC_ID', - type: RangeError, + name: 'RangeError', }); assert.strictEqual( diff --git a/test/async-hooks/test-emit-before-after.js b/test/async-hooks/test-emit-before-after.js index 6a9ceaeefb8c0a..2ad98b993efd5b 100644 --- a/test/async-hooks/test-emit-before-after.js +++ b/test/async-hooks/test-emit-before-after.js @@ -3,40 +3,9 @@ const common = require('../common'); const assert = require('assert'); -const spawnSync = require('child_process').spawnSync; const async_hooks = require('internal/async_hooks'); const initHooks = require('./init-hooks'); -if (!common.isMainThread) - common.skip('Worker bootstrapping works differently -> different async IDs'); - -switch (process.argv[2]) { - case 'test_invalid_async_id': - async_hooks.emitBefore(-2, 1); - return; - case 'test_invalid_trigger_id': - async_hooks.emitBefore(1, -2); - return; -} -assert.ok(!process.argv[2]); - - -const c1 = spawnSync(process.execPath, [ - '--expose-internals', __filename, 'test_invalid_async_id' -]); -assert.strictEqual( - c1.stderr.toString().split(/[\r\n]+/g)[0], - 'RangeError [ERR_INVALID_ASYNC_ID]: Invalid asyncId value: -2'); -assert.strictEqual(c1.status, 1); - -const c2 = spawnSync(process.execPath, [ - '--expose-internals', __filename, 'test_invalid_trigger_id' -]); -assert.strictEqual( - c2.stderr.toString().split(/[\r\n]+/g)[0], - 'RangeError [ERR_INVALID_ASYNC_ID]: Invalid triggerAsyncId value: -2'); -assert.strictEqual(c2.status, 1); - const expectedId = async_hooks.newAsyncId(); const expectedTriggerId = async_hooks.newAsyncId(); const expectedType = 'test_emit_before_after_type'; @@ -45,9 +14,22 @@ const expectedType = 'test_emit_before_after_type'; async_hooks.emitBefore(expectedId, expectedTriggerId); async_hooks.emitAfter(expectedId); +const chkBefore = common.mustCall((id) => assert.strictEqual(id, expectedId)); +const chkAfter = common.mustCall((id) => assert.strictEqual(id, expectedId)); + +const checkOnce = (fn) => { + let called = false; + return (...args) => { + if (called) return; + + called = true; + fn(...args); + }; +}; + initHooks({ - onbefore: common.mustCall((id) => assert.strictEqual(id, expectedId)), - onafter: common.mustCall((id) => assert.strictEqual(id, expectedId)), + onbefore: checkOnce(chkBefore), + onafter: checkOnce(chkAfter), allowNoInit: true }).enable(); diff --git a/test/async-hooks/test-emit-init.js b/test/async-hooks/test-emit-init.js index f5d5687cb4d11d..bc1cd49cba2824 100644 --- a/test/async-hooks/test-emit-init.js +++ b/test/async-hooks/test-emit-init.js @@ -3,7 +3,6 @@ const common = require('../common'); const assert = require('assert'); -const spawnSync = require('child_process').spawnSync; const async_hooks = require('internal/async_hooks'); const initHooks = require('./init-hooks'); @@ -23,45 +22,6 @@ const hooks1 = initHooks({ hooks1.enable(); -switch (process.argv[2]) { - case 'test_invalid_async_id': - async_hooks.emitInit(); - return; - case 'test_invalid_trigger_id': - async_hooks.emitInit(expectedId); - return; - case 'test_invalid_trigger_id_negative': - async_hooks.emitInit(expectedId, expectedType, -2); - return; -} -assert.ok(!process.argv[2]); - - -const c1 = spawnSync(process.execPath, [ - '--expose-internals', __filename, 'test_invalid_async_id' -]); -assert.strictEqual( - c1.stderr.toString().split(/[\r\n]+/g)[0], - 'RangeError [ERR_INVALID_ASYNC_ID]: Invalid asyncId value: undefined'); -assert.strictEqual(c1.status, 1); - -const c2 = spawnSync(process.execPath, [ - '--expose-internals', __filename, 'test_invalid_trigger_id' -]); -assert.strictEqual( - c2.stderr.toString().split(/[\r\n]+/g)[0], - 'RangeError [ERR_INVALID_ASYNC_ID]: Invalid triggerAsyncId value: undefined'); -assert.strictEqual(c2.status, 1); - -const c3 = spawnSync(process.execPath, [ - '--expose-internals', __filename, 'test_invalid_trigger_id_negative' -]); -assert.strictEqual( - c3.stderr.toString().split(/[\r\n]+/g)[0], - 'RangeError [ERR_INVALID_ASYNC_ID]: Invalid triggerAsyncId value: -2'); -assert.strictEqual(c3.status, 1); - - async_hooks.emitInit(expectedId, expectedType, expectedTriggerId, expectedResource); diff --git a/test/benchmark/test-benchmark-buffer.js b/test/benchmark/test-benchmark-buffer.js index 6ce0e542a93474..57130ffb08ba3d 100644 --- a/test/benchmark/test-benchmark-buffer.js +++ b/test/benchmark/test-benchmark-buffer.js @@ -15,6 +15,7 @@ runBenchmark('buffers', 'difflen=false', 'encoding=utf8', 'endian=BE', + 'extraSize=1', 'len=256', 'linesCount=1', 'method=', diff --git a/test/benchmark/test-benchmark-crypto.js b/test/benchmark/test-benchmark-crypto.js index f24edf675f92f0..6ba71471cf4be2 100644 --- a/test/benchmark/test-benchmark-crypto.js +++ b/test/benchmark/test-benchmark-crypto.js @@ -19,6 +19,7 @@ runBenchmark('crypto', 'len=1', 'n=1', 'out=buffer', + 'size=1', 'type=buf', 'v=crypto', 'writes=1', diff --git a/test/benchmark/test-benchmark-http.js b/test/benchmark/test-benchmark-http.js index ed8423ba4c10cd..43531ec51cced7 100644 --- a/test/benchmark/test-benchmark-http.js +++ b/test/benchmark/test-benchmark-http.js @@ -29,6 +29,7 @@ runBenchmark('http', 'type=asc', 'url=long', 'value=X-Powered-By', + 'w=0', ], { NODEJS_BENCHMARK_ZERO_ALLOWED: 1, diff --git a/test/benchmark/test-benchmark-tls.js b/test/benchmark/test-benchmark-tls.js index 40c14af8302bdb..264fa08d396be7 100644 --- a/test/benchmark/test-benchmark-tls.js +++ b/test/benchmark/test-benchmark-tls.js @@ -19,9 +19,9 @@ runBenchmark('tls', 'concurrency=1', 'dur=0.1', 'n=1', - 'size=2', + 'size=1024', 'securing=SecurePair', - 'type=asc' + 'type=buf' ], { NODEJS_BENCHMARK_ZERO_ALLOWED: 1, diff --git a/test/cctest/node_test_fixture.h b/test/cctest/node_test_fixture.h index cd669d23da3384..291bc5962bed77 100644 --- a/test/cctest/node_test_fixture.h +++ b/test/cctest/node_test_fixture.h @@ -71,6 +71,7 @@ class NodeTestFixture : public ::testing::Test { static void SetUpTestCase() { if (!node_initialized) { + uv_os_unsetenv("NODE_OPTIONS"); node_initialized = true; int argc = 1; const char* argv0 = "cctest"; @@ -81,9 +82,13 @@ class NodeTestFixture : public ::testing::Test { tracing_agent = std::make_unique(); node::tracing::TraceEventHelper::SetAgent(tracing_agent.get()); + node::tracing::TracingController* tracing_controller = + tracing_agent->GetTracingController(); CHECK_EQ(0, uv_loop_init(¤t_loop)); - platform.reset(static_cast( - node::InitializeV8Platform(4))); + static constexpr int kV8ThreadPoolSize = 4; + platform.reset( + new node::NodePlatform(kV8ThreadPoolSize, tracing_controller)); + v8::V8::InitializePlatform(platform.get()); v8::V8::Initialize(); } @@ -99,14 +104,14 @@ class NodeTestFixture : public ::testing::Test { void SetUp() override { allocator = ArrayBufferUniquePtr(node::CreateArrayBufferAllocator(), &node::FreeArrayBufferAllocator); - isolate_ = NewIsolate(allocator.get(), ¤t_loop); + isolate_ = NewIsolate(allocator.get(), ¤t_loop, platform.get()); CHECK_NE(isolate_, nullptr); isolate_->Enter(); } void TearDown() override { - isolate_->Exit(); platform->DrainTasks(isolate_); + isolate_->Exit(); platform->UnregisterIsolate(isolate_); isolate_->Dispose(); isolate_ = nullptr; diff --git a/test/cctest/test_base_object_ptr.cc b/test/cctest/test_base_object_ptr.cc new file mode 100644 index 00000000000000..18e27edba8cd53 --- /dev/null +++ b/test/cctest/test_base_object_ptr.cc @@ -0,0 +1,176 @@ +#include "gtest/gtest.h" +#include "node.h" +#include "base_object-inl.h" +#include "node_test_fixture.h" + +using node::BaseObject; +using node::BaseObjectPtr; +using node::BaseObjectWeakPtr; +using node::Environment; +using node::MakeBaseObject; +using node::MakeDetachedBaseObject; +using v8::HandleScope; +using v8::Isolate; +using v8::Local; +using v8::Object; + +class BaseObjectPtrTest : public EnvironmentTestFixture {}; + +class DummyBaseObject : public BaseObject { + public: + DummyBaseObject(Environment* env, Local obj) : BaseObject(env, obj) {} + + static Local MakeJSObject(Environment* env) { + return BaseObject::MakeLazilyInitializedJSTemplate(env) + ->GetFunction(env->context()).ToLocalChecked() + ->NewInstance(env->context()).ToLocalChecked(); + } + + static BaseObjectPtr NewDetached(Environment* env) { + Local obj = MakeJSObject(env); + return MakeDetachedBaseObject(env, obj); + } + + static BaseObjectPtr New(Environment* env) { + Local obj = MakeJSObject(env); + return MakeBaseObject(env, obj); + } + + SET_NO_MEMORY_INFO() + SET_MEMORY_INFO_NAME(DummyBaseObject) + SET_SELF_SIZE(DummyBaseObject) +}; + +TEST_F(BaseObjectPtrTest, ScopedDetached) { + const HandleScope handle_scope(isolate_); + const Argv argv; + Env env_{handle_scope, argv}; + Environment* env = *env_; + + EXPECT_EQ(env->base_object_count(), 0); + { + BaseObjectPtr ptr = DummyBaseObject::NewDetached(env); + EXPECT_EQ(env->base_object_count(), 1); + } + EXPECT_EQ(env->base_object_count(), 0); +} + +TEST_F(BaseObjectPtrTest, ScopedDetachedWithWeak) { + const HandleScope handle_scope(isolate_); + const Argv argv; + Env env_{handle_scope, argv}; + Environment* env = *env_; + + BaseObjectWeakPtr weak_ptr; + + EXPECT_EQ(env->base_object_count(), 0); + { + BaseObjectPtr ptr = DummyBaseObject::NewDetached(env); + weak_ptr = ptr; + EXPECT_EQ(env->base_object_count(), 1); + } + EXPECT_EQ(weak_ptr.get(), nullptr); + EXPECT_EQ(env->base_object_count(), 0); +} + +TEST_F(BaseObjectPtrTest, Undetached) { + const HandleScope handle_scope(isolate_); + const Argv argv; + Env env_{handle_scope, argv}; + Environment* env = *env_; + + node::AddEnvironmentCleanupHook(isolate_, [](void* arg) { + EXPECT_EQ(static_cast(arg)->base_object_count(), 0); + }, env); + + BaseObjectPtr ptr = DummyBaseObject::New(env); + EXPECT_EQ(env->base_object_count(), 1); +} + +TEST_F(BaseObjectPtrTest, GCWeak) { + const HandleScope handle_scope(isolate_); + const Argv argv; + Env env_{handle_scope, argv}; + Environment* env = *env_; + + BaseObjectWeakPtr weak_ptr; + + { + const HandleScope handle_scope(isolate_); + BaseObjectPtr ptr = DummyBaseObject::New(env); + weak_ptr = ptr; + ptr->MakeWeak(); + + EXPECT_EQ(env->base_object_count(), 1); + EXPECT_EQ(weak_ptr.get(), ptr.get()); + EXPECT_EQ(weak_ptr->persistent().IsWeak(), false); + + ptr.reset(); + } + + EXPECT_EQ(env->base_object_count(), 1); + EXPECT_NE(weak_ptr.get(), nullptr); + EXPECT_EQ(weak_ptr->persistent().IsWeak(), true); + + v8::V8::SetFlagsFromString("--expose-gc"); + isolate_->RequestGarbageCollectionForTesting(Isolate::kFullGarbageCollection); + + EXPECT_EQ(env->base_object_count(), 0); + EXPECT_EQ(weak_ptr.get(), nullptr); +} + +TEST_F(BaseObjectPtrTest, Moveable) { + const HandleScope handle_scope(isolate_); + const Argv argv; + Env env_{handle_scope, argv}; + Environment* env = *env_; + + BaseObjectPtr ptr = DummyBaseObject::NewDetached(env); + EXPECT_EQ(env->base_object_count(), 1); + BaseObjectWeakPtr weak_ptr { ptr }; + EXPECT_EQ(weak_ptr.get(), ptr.get()); + + BaseObjectPtr ptr2 = std::move(ptr); + EXPECT_EQ(weak_ptr.get(), ptr2.get()); + EXPECT_EQ(ptr.get(), nullptr); + + BaseObjectWeakPtr weak_ptr2 = std::move(weak_ptr); + EXPECT_EQ(weak_ptr2.get(), ptr2.get()); + EXPECT_EQ(weak_ptr.get(), nullptr); + EXPECT_EQ(env->base_object_count(), 1); + + ptr2.reset(); + + EXPECT_EQ(weak_ptr2.get(), nullptr); + EXPECT_EQ(env->base_object_count(), 0); +} + +TEST_F(BaseObjectPtrTest, NestedClasses) { + class ObjectWithPtr : public BaseObject { + public: + ObjectWithPtr(Environment* env, Local obj) : BaseObject(env, obj) {} + + BaseObjectPtr ptr1; + BaseObjectPtr ptr2; + + SET_NO_MEMORY_INFO() + SET_MEMORY_INFO_NAME(ObjectWithPtr) + SET_SELF_SIZE(ObjectWithPtr) + }; + + const HandleScope handle_scope(isolate_); + const Argv argv; + Env env_{handle_scope, argv}; + Environment* env = *env_; + + node::AddEnvironmentCleanupHook(isolate_, [](void* arg) { + EXPECT_EQ(static_cast(arg)->base_object_count(), 0); + }, env); + + ObjectWithPtr* obj = + new ObjectWithPtr(env, DummyBaseObject::MakeJSObject(env)); + obj->ptr1 = DummyBaseObject::NewDetached(env); + obj->ptr2 = DummyBaseObject::New(env); + + EXPECT_EQ(env->base_object_count(), 3); +} diff --git a/test/cctest/test_environment.cc b/test/cctest/test_environment.cc index a6a91ceb3b58bd..a15e56a772ed19 100644 --- a/test/cctest/test_environment.cc +++ b/test/cctest/test_environment.cc @@ -32,23 +32,24 @@ class EnvironmentTest : public EnvironmentTestFixture { } }; -TEST_F(EnvironmentTest, PreExeuctionPreparation) { - const v8::HandleScope handle_scope(isolate_); - const Argv argv; - Env env {handle_scope, argv}; - - v8::Local context = isolate_->GetCurrentContext(); - - const char* run_script = "process.argv0"; - v8::Local script = v8::Script::Compile( - context, - v8::String::NewFromOneByte(isolate_, - reinterpret_cast(run_script), - v8::NewStringType::kNormal).ToLocalChecked()) - .ToLocalChecked(); - v8::Local result = script->Run(context).ToLocalChecked(); - CHECK(result->IsString()); -} +// TODO(codebytere): re-enable this test. +// TEST_F(EnvironmentTest, PreExeuctionPreparation) { +// const v8::HandleScope handle_scope(isolate_); +// const Argv argv; +// Env env {handle_scope, argv}; + +// v8::Local context = isolate_->GetCurrentContext(); + +// const char* run_script = "process.argv0"; +// v8::Local script = v8::Script::Compile( +// context, +// v8::String::NewFromOneByte(isolate_, +// reinterpret_cast(run_script), +// v8::NewStringType::kNormal).ToLocalChecked()) +// .ToLocalChecked(); +// v8::Local result = script->Run(context).ToLocalChecked(); +// CHECK(result->IsString()); +// } TEST_F(EnvironmentTest, AtExitWithEnvironment) { const v8::HandleScope handle_scope(isolate_); @@ -217,3 +218,26 @@ TEST_F(EnvironmentTest, BufferWithFreeCallbackIsDetached) { CHECK_EQ(callback_calls, 1); CHECK_EQ(ab->ByteLength(), 0); } + +TEST_F(EnvironmentTest, SetImmediateCleanup) { + int called = 0; + int called_unref = 0; + + { + const v8::HandleScope handle_scope(isolate_); + const Argv argv; + Env env {handle_scope, argv}; + + (*env)->SetImmediate([&](node::Environment* env_arg) { + EXPECT_EQ(env_arg, *env); + called++; + }); + (*env)->SetUnrefImmediate([&](node::Environment* env_arg) { + EXPECT_EQ(env_arg, *env); + called_unref++; + }); + } + + EXPECT_EQ(called, 1); + EXPECT_EQ(called_unref, 0); +} diff --git a/test/cctest/test_node_postmortem_metadata.cc b/test/cctest/test_node_postmortem_metadata.cc index f33d40eb5c23fe..3fb67ecbca265e 100644 --- a/test/cctest/test_node_postmortem_metadata.cc +++ b/test/cctest/test_node_postmortem_metadata.cc @@ -93,14 +93,13 @@ TEST_F(DebugSymbolsTest, BaseObjectPersistentHandle) { v8::Local object = obj_templ->NewInstance(env.context()).ToLocalChecked(); - DummyBaseObject obj(*env, object); + node::BaseObjectPtr obj = + node::MakeDetachedBaseObject(*env, object); - auto expected = reinterpret_cast(&obj.persistent()); - auto calculated = reinterpret_cast(&obj) + + auto expected = reinterpret_cast(&obj->persistent()); + auto calculated = reinterpret_cast(obj.get()) + nodedbg_offset_BaseObject__persistent_handle___v8_Persistent_v8_Object; EXPECT_EQ(expected, calculated); - - obj.persistent().Reset(); // ~BaseObject() expects an empty handle. } diff --git a/test/cctest/test_util.cc b/test/cctest/test_util.cc index 7a0da1e6185d51..a38f549f0387dc 100644 --- a/test/cctest/test_util.cc +++ b/test/cctest/test_util.cc @@ -1,4 +1,6 @@ #include "util-inl.h" +#include "debug_utils-inl.h" +#include "env-inl.h" #include "gtest/gtest.h" TEST(UtilTest, ListHead) { @@ -250,3 +252,46 @@ TEST(UtilTest, MaybeStackBuffer) { EXPECT_TRUE(buf.IsInvalidated()); } } + +TEST(UtilTest, SPrintF) { + using node::SPrintF; + + // %d, %u and %s all do the same thing. The actual C++ type is used to infer + // the right representation. + EXPECT_EQ(SPrintF("%s", false), "false"); + EXPECT_EQ(SPrintF("%s", true), "true"); + EXPECT_EQ(SPrintF("%d", true), "true"); + EXPECT_EQ(SPrintF("%u", true), "true"); + EXPECT_EQ(SPrintF("%d", 10000000000LL), "10000000000"); + EXPECT_EQ(SPrintF("%d", -10000000000LL), "-10000000000"); + EXPECT_EQ(SPrintF("%u", 10000000000LL), "10000000000"); + EXPECT_EQ(SPrintF("%u", -10000000000LL), "-10000000000"); + EXPECT_EQ(SPrintF("%i", 10), "10"); + EXPECT_EQ(SPrintF("%d", 10), "10"); + + EXPECT_EQ(atof(SPrintF("%s", 0.5).c_str()), 0.5); + EXPECT_EQ(atof(SPrintF("%s", -0.5).c_str()), -0.5); + + void (*fn)() = []() {}; + void* p = reinterpret_cast(&fn); + EXPECT_GE(SPrintF("%p", fn).size(), 4u); + EXPECT_GE(SPrintF("%p", p).size(), 4u); + + const std::string foo = "foo"; + const char* bar = "bar"; + EXPECT_EQ(SPrintF("%s %s", foo, "bar"), "foo bar"); + EXPECT_EQ(SPrintF("%s %s", foo, bar), "foo bar"); + EXPECT_EQ(SPrintF("%s", nullptr), "(null)"); + + EXPECT_EQ(SPrintF("[%% %s %%]", foo), "[% foo %]"); + + struct HasToString { + std::string ToString() const { + return "meow"; + } + }; + EXPECT_EQ(SPrintF("%s", HasToString{}), "meow"); + + const std::string with_zero = std::string("a") + '\0' + 'b'; + EXPECT_EQ(SPrintF("%s", with_zero), with_zero); +} diff --git a/test/common/README.md b/test/common/README.md index a85dd6663e5852..27c06dc6f63166 100644 --- a/test/common/README.md +++ b/test/common/README.md @@ -68,50 +68,30 @@ sure no unexpected rejections occur, because currently they result in silent failures. However, it is useful in some rare cases to disable it, for example if the `unhandledRejection` hook is directly used by the test. +### `enoughTestCpu` + +* [<boolean>][] + +Indicates if there is more than 1 CPU or that the single CPU has a speed of at +least 1 GHz. + ### `enoughTestMem` * [<boolean>][] Indicates if there is more than 1gb of total memory. -### `expectsError([fn, ]settings[, exact])` -* `fn` [<Function>][] a function that should throw. -* `settings` [<Object>][] - that must contain the `code` property plus any of the other following - properties (some properties only apply for `AssertionError`): - * `code` [<string>][] - expected error must have this value for its `code` property. - * `type` [<Function>][] - expected error must be an instance of `type` and must be an Error subclass. - * `message` [<string>][] or [<RegExp>][] - if a string is provided for `message`, expected error must have it for its - `message` property; if a regular expression is provided for `message`, the - regular expression must match the `message` property of the expected error. - * `name` [<string>][] - expected error must have this value for its `name` property. - * `info` <Object> expected error must have the same `info` property - that is deeply equal to this value. - * `generatedMessage` [<string>][] - (`AssertionError` only) expected error must have this value for its - `generatedMessage` property. - * `actual` <any> - (`AssertionError` only) expected error must have this value for its - `actual` property. - * `expected` <any> - (`AssertionError` only) expected error must have this value for its - `expected` property. - * `operator` <any> - (`AssertionError` only) expected error must have this value for its - `operator` property. +### expectsError(validator\[, exact\]) +* `validator` [<Object>][] | [<RegExp>][] | [<Function>][] | + [<Error>][] The validator behaves identical to + `assert.throws(fn, validator)`. * `exact` [<number>][] default = 1 -* return [<Function>][] +* return [<Function>][] A callback function that expects an error. - If `fn` is provided, it will be passed to `assert.throws` as first argument - and `undefined` will be returned. - Otherwise a function suitable as callback or for use as a validation function - passed as the second argument to `assert.throws()` will be returned. If the - returned function has not been called exactly `exact` number of times when the - test is complete, then the test will fail. +A function suitable as callback to validate callback based errors. The error is +validated using `assert.throws(() => { throw error; }, validator)`. If the +returned function has not been called exactly `exact` number of times when the +test is complete, then the test will fail. ### `expectWarning(name[, expected[, code]])` @@ -596,6 +576,10 @@ If set, `NODE_COMMON_PORT`'s value overrides the `common.PORT` default value of If set, command line arguments passed to individual tests are not validated. +### `NODE_SKIP_CRYPTO` + +If set, crypto tests are skipped. + ### `NODE_TEST_KNOWN_GLOBALS` A comma-separated list of variables names that are appended to the global @@ -963,6 +947,7 @@ See [the WPT tests README][] for details. [<ArrayBufferView>]: https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView [<Buffer>]: https://nodejs.org/api/buffer.html#buffer_class_buffer [<BufferSource>]: https://developer.mozilla.org/en-US/docs/Web/API/BufferSource +[<Error>]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error [<Function>]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function [<Object>]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object [<RegExp>]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp diff --git a/test/common/index.js b/test/common/index.js index e93c73820afc11..e527ec5971ac29 100644 --- a/test/common/index.js +++ b/test/common/index.js @@ -48,7 +48,8 @@ if (isMainThread) const noop = () => {}; -const hasCrypto = Boolean(process.versions.openssl); +const hasCrypto = Boolean(process.versions.openssl) && + !process.env.NODE_SKIP_CRYPTO; // Check for flags. Skip this for workers (both, the `cluster` module and // `worker_threads`) and child processes. @@ -525,92 +526,22 @@ function expectWarning(nameOrMap, expected, code) { } } -class Comparison { - constructor(obj, keys) { - for (const key of keys) { - if (key in obj) - this[key] = obj[key]; - } - } -} - // Useful for testing expected internal/error objects -function expectsError(fn, settings, exact) { - if (typeof fn !== 'function') { - exact = settings; - settings = fn; - fn = undefined; - } - - function innerFn(error) { - if (arguments.length !== 1) { +function expectsError(validator, exact) { + return mustCall((...args) => { + if (args.length !== 1) { // Do not use `assert.strictEqual()` to prevent `util.inspect` from // always being called. - assert.fail(`Expected one argument, got ${util.inspect(arguments)}`); + assert.fail(`Expected one argument, got ${util.inspect(args)}`); } + const error = args.pop(); const descriptor = Object.getOwnPropertyDescriptor(error, 'message'); // The error message should be non-enumerable assert.strictEqual(descriptor.enumerable, false); - let innerSettings = settings; - if ('type' in settings) { - const type = settings.type; - if (type !== Error && !Error.isPrototypeOf(type)) { - throw new TypeError('`settings.type` must inherit from `Error`'); - } - let constructor = error.constructor; - if (constructor.name === 'NodeError' && type.name !== 'NodeError') { - constructor = Object.getPrototypeOf(error.constructor); - } - // Add the `type` to the error to properly compare and visualize it. - if (!('type' in error)) - error.type = constructor; - } - - if ('message' in settings && - typeof settings.message === 'object' && - settings.message.test(error.message)) { - // Make a copy so we are able to modify the settings. - innerSettings = Object.create( - settings, Object.getOwnPropertyDescriptors(settings)); - // Visualize the message as identical in case of other errors. - innerSettings.message = error.message; - } - - // Check all error properties. - const keys = Object.keys(settings); - for (const key of keys) { - if (!util.isDeepStrictEqual(error[key], innerSettings[key])) { - // Create placeholder objects to create a nice output. - const a = new Comparison(error, keys); - const b = new Comparison(innerSettings, keys); - - const tmpLimit = Error.stackTraceLimit; - Error.stackTraceLimit = 0; - const err = new assert.AssertionError({ - actual: a, - expected: b, - operator: 'strictEqual', - stackStartFn: assert.throws - }); - Error.stackTraceLimit = tmpLimit; - - throw new assert.AssertionError({ - actual: error, - expected: settings, - operator: 'common.expectsError', - message: err.message - }); - } - - } + assert.throws(() => { throw error; }, validator); return true; - } - if (fn) { - assert.throws(fn, innerFn); - return; - } - return mustCall(innerFn, exact); + }, exact); } const suffix = 'This is caused by either a bug in Node.js ' + @@ -738,7 +669,7 @@ function invalidArgTypeHelper(input) { return ` Received type ${typeof input} (${inspected})`; } -module.exports = { +const common = { allowGlobals, buildType, canCreateSymLink, @@ -783,7 +714,7 @@ module.exports = { skipIfReportDisabled, skipIfWorker, - get enoughTestCPU() { + get enoughTestCpu() { const cpus = require('os').cpus(); return Array.isArray(cpus) && (cpus.length > 1 || cpus[0].speed > 999); }, @@ -881,3 +812,12 @@ module.exports = { } }; + +const validProperties = new Set(Object.keys(common)); +module.exports = new Proxy(common, { + get(obj, prop) { + if (!validProperties.has(prop)) + throw new Error(`Using invalid common property: '${prop}'`); + return obj[prop]; + } +}); diff --git a/test/common/index.mjs b/test/common/index.mjs index 28c7cdeb406247..e9227ebff7def9 100644 --- a/test/common/index.mjs +++ b/test/common/index.mjs @@ -38,7 +38,6 @@ const { mustNotCall, printSkipMessage, skip, - ArrayStream, nodeProcessAborted, isAlive, expectWarning, @@ -84,7 +83,6 @@ export { mustNotCall, printSkipMessage, skip, - ArrayStream, nodeProcessAborted, isAlive, expectWarning, diff --git a/test/common/report.js b/test/common/report.js index fdb15924cab770..c117d7b76459bc 100644 --- a/test/common/report.js +++ b/test/common/report.js @@ -53,7 +53,7 @@ function _validateContent(report) { // Verify that all sections are present as own properties of the report. const sections = ['header', 'javascriptStack', 'nativeStack', 'javascriptHeap', 'libuv', 'environmentVariables', - 'sharedObjects', 'resourceUsage']; + 'sharedObjects', 'resourceUsage', 'workers']; if (!isWindows) sections.push('userLimits'); @@ -74,9 +74,9 @@ function _validateContent(report) { 'componentVersions', 'release', 'osName', 'osRelease', 'osVersion', 'osMachine', 'cpus', 'host', 'glibcVersionRuntime', 'glibcVersionCompiler', 'cwd', - 'reportVersion', 'networkInterfaces']; + 'reportVersion', 'networkInterfaces', 'threadId']; checkForUnknownFields(header, headerFields); - assert.strictEqual(header.reportVersion, 1); // Increment as needed. + assert.strictEqual(header.reportVersion, 2); // Increment as needed. assert.strictEqual(typeof header.event, 'string'); assert.strictEqual(typeof header.trigger, 'string'); assert(typeof header.filename === 'string' || header.filename === null); @@ -84,6 +84,7 @@ function _validateContent(report) { 'Invalid Date'); assert(String(+header.dumpEventTimeStamp), header.dumpEventTimeStamp); assert(Number.isSafeInteger(header.processId)); + assert(Number.isSafeInteger(header.threadId) || header.threadId === null); assert.strictEqual(typeof header.cwd, 'string'); assert(Array.isArray(header.commandLine)); header.commandLine.forEach((arg) => { @@ -253,6 +254,10 @@ function _validateContent(report) { report.sharedObjects.forEach((sharedObject) => { assert.strictEqual(typeof sharedObject, 'string'); }); + + // Verify the format of the workers section. + assert(Array.isArray(report.workers)); + report.workers.forEach(_validateContent); } function checkForUnknownFields(actual, expected) { diff --git a/test/doctool/test-doctool-html.js b/test/doctool/test-doctool-html.js index ee8099f8cd8728..0ffa9f9149085d 100644 --- a/test/doctool/test-doctool-html.js +++ b/test/doctool/test-doctool-html.js @@ -36,7 +36,7 @@ const testLinksMapper = { } }; -async function toHTML({ input, filename, nodeVersion }) { +function toHTML({ input, filename, nodeVersion, versions }) { const content = unified() .use(replaceLinks, { filename, linksMapper: testLinksMapper }) .use(markdown) @@ -49,7 +49,7 @@ async function toHTML({ input, filename, nodeVersion }) { .use(htmlStringify) .processSync(input); - return html.toHTML({ input, content, filename, nodeVersion }); + return html.toHTML({ input, content, filename, nodeVersion, versions }); } // Test data is a list of objects with two properties. @@ -129,6 +129,16 @@ const testData = [ ]; const spaces = /\s/g; +const versions = [ + { num: '10.x', lts: true }, + { num: '9.x' }, + { num: '8.x' }, + { num: '7.x' }, + { num: '6.x' }, + { num: '5.x' }, + { num: '4.x' }, + { num: '0.12.x' }, + { num: '0.10.x' }]; testData.forEach(({ file, html }) => { // Normalize expected data by stripping whitespace. @@ -136,9 +146,10 @@ testData.forEach(({ file, html }) => { readFile(file, 'utf8', common.mustCall(async (err, input) => { assert.ifError(err); - const output = await toHTML({ input: input, - filename: 'foo', - nodeVersion: process.version }); + const output = toHTML({ input: input, + filename: 'foo', + nodeVersion: process.version, + versions: versions }); const actual = output.replace(spaces, ''); // Assert that the input stripped of all whitespace contains the diff --git a/test/doctool/test-doctool-json.js b/test/doctool/test-doctool-json.js index 7471a2e1f0693d..78afc818e9fae0 100644 --- a/test/doctool/test-doctool-json.js +++ b/test/doctool/test-doctool-json.js @@ -157,6 +157,74 @@ const testData = [ } ] } + }, + { + file: fixtures.path('doc_with_backticks_in_headings.md'), + json: { + type: 'module', + source: 'foo', + modules: [ + { + textRaw: 'Fhqwhgads', + name: 'fhqwhgads', + properties: [ + { + name: 'fullName', + textRaw: '`Fqhqwhgads.fullName`' + } + ], + classMethods: [ + { + name: 'again', + signatures: [ + { + params: [] + } + ], + textRaw: 'Class Method: `Fhqwhgads.again()`', + type: 'classMethod' + } + ], + classes: [ + { + textRaw: 'Class: `ComeOn`', + type: 'class', + name: 'ComeOn' + } + ], + ctors: [ + { + name: 'Fhqwhgads', + signatures: [ + { + params: [] + } + ], + textRaw: 'Constructor: `new Fhqwhgads()`', + type: 'ctor' + } + ], + methods: [ + { + textRaw: '`everybody.to(limit)`', + type: 'method', + name: 'to', + signatures: [{ params: [] }] + } + ], + events: [ + { + textRaw: "Event: `'FHQWHfest'`", + type: 'event', + name: 'FHQWHfest', + params: [] + } + ], + type: 'module', + displayName: 'Fhqwhgads' + } + ] + } } ]; diff --git a/test/doctool/test-doctool-versions.js b/test/doctool/test-doctool-versions.js index 8bb4f81c795d95..a37ead7c0adb5b 100644 --- a/test/doctool/test-doctool-versions.js +++ b/test/doctool/test-doctool-versions.js @@ -2,8 +2,14 @@ require('../common'); const assert = require('assert'); +const { spawnSync } = require('child_process'); +const fs = require('fs'); +const path = require('path'); +const tmpdir = require('../common/tmpdir'); const util = require('util'); -const { versions } = require('../../tools/doc/versions.js'); + +const debuglog = util.debuglog('test'); +const versionsTool = path.join('../../tools/doc/versions.js'); // At the time of writing these are the minimum expected versions. // New versions of Node.js do not have to be explicitly added here. @@ -21,39 +27,48 @@ const expected = [ '0.10.x', ]; -async function test() { - const vers = await versions(); - // Coherence checks for each returned version. - for (const version of vers) { - const tested = util.inspect(version); - const parts = version.num.split('.'); - const expectedLength = parts[0] === '0' ? 3 : 2; - assert.strictEqual(parts.length, expectedLength, - `'num' from ${tested} should be '.x'.`); - assert.strictEqual(parts[parts.length - 1], 'x', - `'num' from ${tested} doesn't end in '.x'.`); - const isEvenRelease = Number.parseInt(parts[expectedLength - 2]) % 2 === 0; - const hasLtsProperty = version.hasOwnProperty('lts'); - if (hasLtsProperty) { - // Odd-numbered versions of Node.js are never LTS. - assert.ok(isEvenRelease, `${tested} should not be an 'lts' release.`); - assert.ok(version.lts, `'lts' from ${tested} should 'true'.`); - } - } +tmpdir.refresh(); +const versionsFile = path.join(tmpdir.path, 'versions.json'); +debuglog(versionsFile); +const opts = { cwd: tmpdir.path, encoding: 'utf8' }; +const cp = spawnSync(process.execPath, [ versionsTool, versionsFile ], opts); +debuglog(cp.stderr); +debuglog(cp.stdout); +assert.strictEqual(cp.stdout, ''); +assert.strictEqual(cp.signal, null); +assert.strictEqual(cp.status, 0); +const versions = JSON.parse(fs.readFileSync(versionsFile)); +debuglog(versions); - // Check that the minimum number of versions were returned. - // Later versions are allowed, but not checked for here (they were checked - // above). - // Also check for the previous semver major -- From master this will be the - // most recent major release. - const thisMajor = Number.parseInt(process.versions.node.split('.')[0]); - const prevMajorString = `${thisMajor - 1}.x`; - if (!expected.includes(prevMajorString)) { - expected.unshift(prevMajorString); - } - for (const version of expected) { - assert.ok(vers.find((x) => x.num === version), - `Did not find entry for '${version}' in ${util.inspect(vers)}`); +// Coherence checks for each returned version. +for (const version of versions) { + const tested = util.inspect(version); + const parts = version.num.split('.'); + const expectedLength = parts[0] === '0' ? 3 : 2; + assert.strictEqual(parts.length, expectedLength, + `'num' from ${tested} should be '.x'.`); + assert.strictEqual(parts[parts.length - 1], 'x', + `'num' from ${tested} doesn't end in '.x'.`); + const isEvenRelease = Number.parseInt(parts[expectedLength - 2]) % 2 === 0; + const hasLtsProperty = version.hasOwnProperty('lts'); + if (hasLtsProperty) { + // Odd-numbered versions of Node.js are never LTS. + assert.ok(isEvenRelease, `${tested} should not be an 'lts' release.`); + assert.ok(version.lts, `'lts' from ${tested} should 'true'.`); } } -test(); + +// Check that the minimum number of versions were returned. +// Later versions are allowed, but not checked for here (they were checked +// above). +// Also check for the previous semver major -- From master this will be the +// most recent major release. +const thisMajor = Number.parseInt(process.versions.node.split('.')[0]); +const prevMajorString = `${thisMajor - 1}.x`; +if (!expected.includes(prevMajorString)) { + expected.unshift(prevMajorString); +} +for (const version of expected) { + assert.ok(versions.find((x) => x.num === version), + `Did not find entry for '${version}' in ${util.inspect(versions)}`); +} diff --git a/test/es-module/test-esm-dynamic-import.js b/test/es-module/test-esm-dynamic-import.js index d80daf878411fd..a08e66dad3f820 100644 --- a/test/es-module/test-esm-dynamic-import.js +++ b/test/es-module/test-esm-dynamic-import.js @@ -54,11 +54,12 @@ function expectFsNamespace(result) { expectFsNamespace(import('fs')); expectFsNamespace(eval('import("fs")')); expectFsNamespace(eval('import("fs")')); + expectFsNamespace(import('nodejs:fs')); + expectModuleError(import('nodejs:unknown'), + 'ERR_UNKNOWN_BUILTIN_MODULE'); expectModuleError(import('./not-an-existing-module.mjs'), 'ERR_MODULE_NOT_FOUND'); - expectModuleError(import('node:fs'), - 'ERR_UNSUPPORTED_ESM_URL_SCHEME'); expectModuleError(import('http://example.com/foo.js'), 'ERR_UNSUPPORTED_ESM_URL_SCHEME'); })(); diff --git a/test/es-module/test-esm-exports.mjs b/test/es-module/test-esm-exports.mjs index 6ac06ee3ea0ba2..cc576e083a236d 100644 --- a/test/es-module/test-esm-exports.mjs +++ b/test/es-module/test-esm-exports.mjs @@ -33,7 +33,7 @@ import fromInside from '../fixtures/node_modules/pkgexports/lib/hole.js'; ['pkgexports/resolve-self', isRequire ? { default: 'self-cjs' } : { default: 'self-mjs' }], // Resolve self sugar - ['pkgexports-sugar', { default: 'main' }] + ['pkgexports-sugar', { default: 'main' }], ]); for (const [validSpecifier, expected] of validSpecifiers) { @@ -54,48 +54,59 @@ import fromInside from '../fixtures/node_modules/pkgexports/lib/hole.js'; // Sugar cases still encapsulate ['pkgexports-sugar/not-exported.js', './not-exported.js'], ['pkgexports-sugar2/not-exported.js', './not-exported.js'], + // Conditional exports with no match are "not exported" errors + ['pkgexports/invalid1', './invalid1'], + ['pkgexports/invalid4', './invalid4'], ]); const invalidExports = new Map([ - // Even though 'pkgexports/sub/asdf.js' works, alternate "path-like" - // variants do not to prevent confusion and accidental loopholes. - ['pkgexports/sub/./../asdf.js', './sub/./../asdf.js'], + // Directory mappings require a trailing / to work + ['pkgexports/missingtrailer/x', './missingtrailer/'], // This path steps back inside the package but goes through an exports // target that escapes the package, so we still catch that as invalid - ['pkgexports/belowdir/pkgexports/asdf.js', './belowdir/pkgexports/asdf.js'], + ['pkgexports/belowdir/pkgexports/asdf.js', './belowdir/'], // This target file steps below the package ['pkgexports/belowfile', './belowfile'], - // Directory mappings require a trailing / to work - ['pkgexports/missingtrailer/x', './missingtrailer/x'], // Invalid target handling ['pkgexports/null', './null'], - ['pkgexports/invalid1', './invalid1'], ['pkgexports/invalid2', './invalid2'], ['pkgexports/invalid3', './invalid3'], - ['pkgexports/invalid4', './invalid4'], // Missing / invalid fallbacks ['pkgexports/nofallback1', './nofallback1'], ['pkgexports/nofallback2', './nofallback2'], // Reaching into nested node_modules ['pkgexports/nodemodules', './nodemodules'], + // Self resolve invalid + ['pkgexports/resolve-self-invalid', './invalid2'], + ]); + + const invalidSpecifiers = new Map([ + // Even though 'pkgexports/sub/asdf.js' works, alternate "path-like" + // variants do not to prevent confusion and accidental loopholes. + ['pkgexports/sub/./../asdf.js', './sub/./../asdf.js'], ]); for (const [specifier, subpath] of undefinedExports) { loadFixture(specifier).catch(mustCall((err) => { - strictEqual(err.code, (isRequire ? '' : 'ERR_') + 'MODULE_NOT_FOUND'); - assertStartsWith(err.message, 'Package exports'); - assertIncludes(err.message, `do not define a '${subpath}' subpath`); + strictEqual(err.code, 'ERR_PACKAGE_PATH_NOT_EXPORTED'); + assertStartsWith(err.message, 'Package subpath '); + assertIncludes(err.message, subpath); })); } for (const [specifier, subpath] of invalidExports) { loadFixture(specifier).catch(mustCall((err) => { - strictEqual(err.code, (isRequire ? '' : 'ERR_') + 'MODULE_NOT_FOUND'); - assertStartsWith(err.message, (isRequire ? 'Package exports' : - 'Cannot resolve')); - assertIncludes(err.message, isRequire ? - `do not define a valid '${subpath}' target` : - `matched for '${subpath}'`); + strictEqual(err.code, 'ERR_INVALID_PACKAGE_TARGET'); + assertStartsWith(err.message, 'Invalid "exports"'); + assertIncludes(err.message, subpath); + })); + } + + for (const [specifier, subpath] of invalidSpecifiers) { + loadFixture(specifier).catch(mustCall((err) => { + strictEqual(err.code, 'ERR_INVALID_MODULE_SPECIFIER'); + assertStartsWith(err.message, 'Package subpath '); + assertIncludes(err.message, subpath); })); } @@ -103,8 +114,8 @@ import fromInside from '../fixtures/node_modules/pkgexports/lib/hole.js'; // of falling back to main if (isRequire) { loadFixture('pkgexports-main').catch(mustCall((err) => { - strictEqual(err.code, 'MODULE_NOT_FOUND'); - assertStartsWith(err.message, 'No valid export'); + strictEqual(err.code, 'ERR_PACKAGE_PATH_NOT_EXPORTED'); + assertStartsWith(err.message, 'No "exports" main '); })); } @@ -131,8 +142,7 @@ import fromInside from '../fixtures/node_modules/pkgexports/lib/hole.js'; // Sugar conditional exports main mixed failure case loadFixture('pkgexports-sugar-fail').catch(mustCall((err) => { strictEqual(err.code, 'ERR_INVALID_PACKAGE_CONFIG'); - assertStartsWith(err.message, (isRequire ? 'Invalid package' : - 'Cannot resolve')); + assertStartsWith(err.message, 'Invalid package'); assertIncludes(err.message, '"exports" cannot contain some keys starting ' + 'with \'.\' and some not. The exports object must either be an object of ' + 'package subpath keys or an object of main entry condition name keys ' + diff --git a/test/es-module/test-esm-import-meta-resolve.mjs b/test/es-module/test-esm-import-meta-resolve.mjs new file mode 100644 index 00000000000000..3d9dae48676c50 --- /dev/null +++ b/test/es-module/test-esm-import-meta-resolve.mjs @@ -0,0 +1,24 @@ +// Flags: --experimental-modules --experimental-import-meta-resolve +import '../common/index.mjs'; +import assert from 'assert'; + +const dirname = import.meta.url.slice(0, import.meta.url.lastIndexOf('/') + 1); +const fixtures = dirname.slice(0, dirname.lastIndexOf('/', dirname.length - 2) + + 1) + 'fixtures/'; + +(async () => { + assert.strictEqual(await import.meta.resolve('./test-esm-import-meta.mjs'), + dirname + 'test-esm-import-meta.mjs'); + try { + await import.meta.resolve('./notfound.mjs'); + assert.fail(); + } catch (e) { + assert.strictEqual(e.code, 'ERR_MODULE_NOT_FOUND'); + } + assert.strictEqual( + await import.meta.resolve('../fixtures/empty-with-bom.txt'), + fixtures + 'empty-with-bom.txt'); + assert.strictEqual(await import.meta.resolve('../fixtures/'), fixtures); + assert.strictEqual(await import.meta.resolve('baz/', fixtures), + fixtures + 'node_modules/baz/'); +})(); diff --git a/test/es-module/test-esm-loader-modulemap.js b/test/es-module/test-esm-loader-modulemap.js index 168f12296d5b4d..2d601cd99f1b4b 100644 --- a/test/es-module/test-esm-loader-modulemap.js +++ b/test/es-module/test-esm-loader-modulemap.js @@ -4,8 +4,9 @@ // This test ensures that the type checking of ModuleMap throws // errors appropriately -const common = require('../common'); +require('../common'); +const assert = require('assert'); const { URL } = require('url'); const { Loader } = require('internal/modules/esm/loader'); const ModuleMap = require('internal/modules/esm/module_map'); @@ -20,41 +21,41 @@ const moduleMap = new ModuleMap(); const moduleJob = new ModuleJob(loader, stubModule.module, () => new Promise(() => {})); -common.expectsError( +assert.throws( () => moduleMap.get(1), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "url" argument must be of type string. Received type number' + ' (1)' } ); -common.expectsError( +assert.throws( () => moduleMap.set(1, moduleJob), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "url" argument must be of type string. Received type number' + ' (1)' } ); -common.expectsError( +assert.throws( () => moduleMap.set('somestring', 'notamodulejob'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "job" argument must be an instance of ModuleJob. ' + "Received type string ('notamodulejob')" } ); -common.expectsError( +assert.throws( () => moduleMap.has(1), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "url" argument must be of type string. Received type number' + ' (1)' } diff --git a/test/es-module/test-esm-loader-search.js b/test/es-module/test-esm-loader-search.js index 3c451409b356db..82450fd00ee941 100644 --- a/test/es-module/test-esm-loader-search.js +++ b/test/es-module/test-esm-loader-search.js @@ -11,7 +11,7 @@ const { } = require('internal/modules/esm/resolve'); assert.throws( - () => resolve('target'), + () => resolve('target', undefined), { code: 'ERR_MODULE_NOT_FOUND', name: 'Error', diff --git a/test/es-module/test-esm-loader-side-effect.mjs b/test/es-module/test-esm-loader-side-effect.mjs new file mode 100644 index 00000000000000..3ac71448252e97 --- /dev/null +++ b/test/es-module/test-esm-loader-side-effect.mjs @@ -0,0 +1,32 @@ +// Flags: --experimental-modules --experimental-loader ./test/fixtures/es-module-loaders/loader-side-effect.mjs --require ./test/fixtures/es-module-loaders/loader-side-effect-require-preload.js +import { allowGlobals, mustCall } from '../common/index.mjs'; +import assert from 'assert'; +import { fileURLToPath } from 'url'; +import { Worker, isMainThread, parentPort } from 'worker_threads'; + +/* global implicitGlobalProperty */ +assert.strictEqual(globalThis.implicitGlobalProperty, 42); +allowGlobals(implicitGlobalProperty); + +/* global implicitGlobalConst */ +assert.strictEqual(implicitGlobalConst, 42 * 42); +allowGlobals(implicitGlobalConst); + +/* global explicitGlobalProperty */ +assert.strictEqual(globalThis.explicitGlobalProperty, 42 * 42 * 42); +allowGlobals(explicitGlobalProperty); + +/* global preloadOrder */ +assert.deepStrictEqual(globalThis.preloadOrder, ['--require', 'loader']); +allowGlobals(preloadOrder); + +if (isMainThread) { + const worker = new Worker(fileURLToPath(import.meta.url)); + const promise = new Promise((resolve, reject) => { + worker.on('message', resolve); + worker.on('error', reject); + }); + promise.then(mustCall()); +} else { + parentPort.postMessage('worker done'); +} diff --git a/test/es-module/test-esm-no-extension.js b/test/es-module/test-esm-no-extension.js deleted file mode 100644 index 81b8e5b4327ad0..00000000000000 --- a/test/es-module/test-esm-no-extension.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -const common = require('../common'); -const fixtures = require('../common/fixtures'); -const { spawn } = require('child_process'); -const assert = require('assert'); - -const entry = fixtures.path('/es-modules/package-type-module/noext-esm'); - -// Run a module that does not have extension. -// This is to ensure that "type": "module" applies to extensionless files. - -const child = spawn(process.execPath, [ - '--experimental-modules', - entry -]); - -let stdout = ''; -child.stdout.setEncoding('utf8'); -child.stdout.on('data', (data) => { - stdout += data; -}); -child.on('close', common.mustCall((code, signal) => { - assert.strictEqual(code, 0); - assert.strictEqual(signal, null); - assert.strictEqual(stdout, 'executed\n'); -})); diff --git a/test/es-module/test-esm-unknown-main.js b/test/es-module/test-esm-unknown-main.js deleted file mode 100644 index 12163efb659d81..00000000000000 --- a/test/es-module/test-esm-unknown-main.js +++ /dev/null @@ -1,81 +0,0 @@ -'use strict'; - -const common = require('../common'); -const fixtures = require('../common/fixtures'); -const { spawn } = require('child_process'); -const assert = require('assert'); - -{ - const entry = fixtures.path( - '/es-modules/package-type-module/extension.unknown' - ); - const child = spawn(process.execPath, ['--experimental-modules', entry]); - let stdout = ''; - let stderr = ''; - child.stderr.setEncoding('utf8'); - child.stdout.setEncoding('utf8'); - child.stdout.on('data', (data) => { - stdout += data; - }); - child.stderr.on('data', (data) => { - stderr += data; - }); - child.on('close', common.mustCall((code, signal) => { - assert.strictEqual(code, 1); - assert.strictEqual(signal, null); - assert.strictEqual(stdout, ''); - assert.ok(stderr.indexOf('ERR_UNKNOWN_FILE_EXTENSION') !== -1); - })); -} -{ - const entry = fixtures.path( - '/es-modules/package-type-module/imports-unknownext.mjs' - ); - const child = spawn(process.execPath, ['--experimental-modules', entry]); - let stdout = ''; - let stderr = ''; - child.stderr.setEncoding('utf8'); - child.stdout.setEncoding('utf8'); - child.stdout.on('data', (data) => { - stdout += data; - }); - child.stderr.on('data', (data) => { - stderr += data; - }); - child.on('close', common.mustCall((code, signal) => { - assert.strictEqual(code, 1); - assert.strictEqual(signal, null); - assert.strictEqual(stdout, ''); - assert.ok(stderr.indexOf('ERR_UNKNOWN_FILE_EXTENSION') !== -1); - })); -} -{ - const entry = fixtures.path('/es-modules/package-type-module/noext-esm'); - const child = spawn(process.execPath, ['--experimental-modules', entry]); - let stdout = ''; - child.stdout.setEncoding('utf8'); - child.stdout.on('data', (data) => { - stdout += data; - }); - child.on('close', common.mustCall((code, signal) => { - assert.strictEqual(code, 0); - assert.strictEqual(signal, null); - assert.strictEqual(stdout, 'executed\n'); - })); -} -{ - const entry = fixtures.path( - '/es-modules/package-type-module/imports-noext.mjs' - ); - const child = spawn(process.execPath, ['--experimental-modules', entry]); - let stdout = ''; - child.stdout.setEncoding('utf8'); - child.stdout.on('data', (data) => { - stdout += data; - }); - child.on('close', common.mustCall((code, signal) => { - assert.strictEqual(code, 0); - assert.strictEqual(signal, null); - assert.strictEqual(stdout, 'executed\n'); - })); -} diff --git a/test/es-module/test-esm-unknown-or-no-extension.js b/test/es-module/test-esm-unknown-or-no-extension.js new file mode 100644 index 00000000000000..c1cafbe8886413 --- /dev/null +++ b/test/es-module/test-esm-unknown-or-no-extension.js @@ -0,0 +1,36 @@ +'use strict'; + +const common = require('../common'); +const fixtures = require('../common/fixtures'); +const { spawn } = require('child_process'); +const assert = require('assert'); + +// In a "type": "module" package scope, files with unknown extensions or no +// extensions should throw; both when used as a main entry point and also when +// referenced via `import`. + +[ + '/es-modules/package-type-module/noext-esm', + '/es-modules/package-type-module/imports-noext.mjs', + '/es-modules/package-type-module/extension.unknown', + '/es-modules/package-type-module/imports-unknownext.mjs', +].forEach((fixturePath) => { + const entry = fixtures.path(fixturePath); + const child = spawn(process.execPath, ['--experimental-modules', entry]); + let stdout = ''; + let stderr = ''; + child.stderr.setEncoding('utf8'); + child.stdout.setEncoding('utf8'); + child.stdout.on('data', (data) => { + stdout += data; + }); + child.stderr.on('data', (data) => { + stderr += data; + }); + child.on('close', common.mustCall((code, signal) => { + assert.strictEqual(code, 1); + assert.strictEqual(signal, null); + assert.strictEqual(stdout, ''); + assert.ok(stderr.indexOf('ERR_UNKNOWN_FILE_EXTENSION') !== -1); + })); +}); diff --git a/test/fixtures/bluebird/node_modules/bluebird/package.json b/test/fixtures/bluebird/node_modules/bluebird/package.json deleted file mode 100644 index 33f696cb246847..00000000000000 --- a/test/fixtures/bluebird/node_modules/bluebird/package.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "name": "bluebird", - "description": "Full featured Promises/A+ implementation with exceptionally good performance", - "version": "3.7.2", - "keywords": [ - "promise", - "performance", - "promises", - "promises-a", - "promises-aplus", - "async", - "await", - "deferred", - "deferreds", - "future", - "flow control", - "dsl", - "fluent interface" - ], - "scripts": { - "lint": "node scripts/jshint.js", - "test": "node --expose-gc tools/test.js", - "istanbul": "istanbul", - "prepublish": "npm run generate-browser-core && npm run generate-browser-full", - "generate-browser-full": "node tools/build.js --no-clean --no-debug --release --browser --minify", - "generate-browser-core": "node tools/build.js --features=core --no-debug --release --zalgo --browser --minify && mv js/browser/bluebird.js js/browser/bluebird.core.js && mv js/browser/bluebird.min.js js/browser/bluebird.core.min.js" - }, - "homepage": "https://github.com/petkaantonov/bluebird", - "repository": { - "type": "git", - "url": "git://github.com/petkaantonov/bluebird.git" - }, - "bugs": { - "url": "http://github.com/petkaantonov/bluebird/issues" - }, - "license": "MIT", - "author": { - "name": "Petka Antonov", - "email": "petka_antonov@hotmail.com", - "url": "http://github.com/petkaantonov/" - }, - "devDependencies": { - "acorn": "^6.0.2", - "acorn-walk": "^6.1.0", - "baconjs": "^0.7.43", - "bluebird": "^2.9.2", - "body-parser": "^1.10.2", - "browserify": "^8.1.1", - "cli-table": "~0.3.1", - "co": "^4.2.0", - "cross-spawn": "^0.2.3", - "glob": "^4.3.2", - "grunt-saucelabs": "~8.4.1", - "highland": "^2.3.0", - "istanbul": "^0.3.5", - "jshint": "^2.6.0", - "jshint-stylish": "~0.2.0", - "kefir": "^2.4.1", - "mkdirp": "~0.5.0", - "mocha": "~2.1", - "open": "~0.0.5", - "optimist": "~0.6.1", - "rimraf": "~2.2.6", - "rx": "^2.3.25", - "serve-static": "^1.7.1", - "sinon": "~1.7.3", - "uglify-js": "~2.4.16" - }, - "readmeFilename": "README.md", - "main": "./js/release/bluebird.js", - "webpack": "./js/release/bluebird.js", - "browser": "./js/browser/bluebird.js", - "files": [ - "js/browser", - "js/release", - "LICENSE" - ] -} diff --git a/test/fixtures/bluebird/package.json b/test/fixtures/bluebird/package.json deleted file mode 100644 index 33f696cb246847..00000000000000 --- a/test/fixtures/bluebird/package.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "name": "bluebird", - "description": "Full featured Promises/A+ implementation with exceptionally good performance", - "version": "3.7.2", - "keywords": [ - "promise", - "performance", - "promises", - "promises-a", - "promises-aplus", - "async", - "await", - "deferred", - "deferreds", - "future", - "flow control", - "dsl", - "fluent interface" - ], - "scripts": { - "lint": "node scripts/jshint.js", - "test": "node --expose-gc tools/test.js", - "istanbul": "istanbul", - "prepublish": "npm run generate-browser-core && npm run generate-browser-full", - "generate-browser-full": "node tools/build.js --no-clean --no-debug --release --browser --minify", - "generate-browser-core": "node tools/build.js --features=core --no-debug --release --zalgo --browser --minify && mv js/browser/bluebird.js js/browser/bluebird.core.js && mv js/browser/bluebird.min.js js/browser/bluebird.core.min.js" - }, - "homepage": "https://github.com/petkaantonov/bluebird", - "repository": { - "type": "git", - "url": "git://github.com/petkaantonov/bluebird.git" - }, - "bugs": { - "url": "http://github.com/petkaantonov/bluebird/issues" - }, - "license": "MIT", - "author": { - "name": "Petka Antonov", - "email": "petka_antonov@hotmail.com", - "url": "http://github.com/petkaantonov/" - }, - "devDependencies": { - "acorn": "^6.0.2", - "acorn-walk": "^6.1.0", - "baconjs": "^0.7.43", - "bluebird": "^2.9.2", - "body-parser": "^1.10.2", - "browserify": "^8.1.1", - "cli-table": "~0.3.1", - "co": "^4.2.0", - "cross-spawn": "^0.2.3", - "glob": "^4.3.2", - "grunt-saucelabs": "~8.4.1", - "highland": "^2.3.0", - "istanbul": "^0.3.5", - "jshint": "^2.6.0", - "jshint-stylish": "~0.2.0", - "kefir": "^2.4.1", - "mkdirp": "~0.5.0", - "mocha": "~2.1", - "open": "~0.0.5", - "optimist": "~0.6.1", - "rimraf": "~2.2.6", - "rx": "^2.3.25", - "serve-static": "^1.7.1", - "sinon": "~1.7.3", - "uglify-js": "~2.4.16" - }, - "readmeFilename": "README.md", - "main": "./js/release/bluebird.js", - "webpack": "./js/release/bluebird.js", - "browser": "./js/browser/bluebird.js", - "files": [ - "js/browser", - "js/release", - "LICENSE" - ] -} diff --git a/test/fixtures/bluebird/test.js b/test/fixtures/bluebird/test.js deleted file mode 100644 index b68a3a2ce3d150..00000000000000 --- a/test/fixtures/bluebird/test.js +++ /dev/null @@ -1 +0,0 @@ -require('bluebird') diff --git a/test/fixtures/doc_with_backticks_in_headings.md b/test/fixtures/doc_with_backticks_in_headings.md new file mode 100644 index 00000000000000..74b4f3fd7ff39d --- /dev/null +++ b/test/fixtures/doc_with_backticks_in_headings.md @@ -0,0 +1,13 @@ +# Fhqwhgads + +## Class: `ComeOn` + +## `everybody.to(limit)` + +## Event: `'FHQWHfest'` + +## Constructor: `new Fhqwhgads()` + +## Class Method: `Fhqwhgads.again()` + +## `Fqhqwhgads.fullName` diff --git a/test/fixtures/es-module-loaders/example-loader.mjs b/test/fixtures/es-module-loaders/example-loader.mjs index 70f9f28f08e742..1ed18bda51070d 100644 --- a/test/fixtures/es-module-loaders/example-loader.mjs +++ b/test/fixtures/es-module-loaders/example-loader.mjs @@ -11,7 +11,7 @@ baseURL.pathname = process.cwd() + '/'; export function resolve(specifier, { parentURL = baseURL }, defaultResolve) { if (builtinModules.includes(specifier)) { return { - url: specifier + url: 'nodejs:' + specifier }; } if (/^\.{1,2}[/]/.test(specifier) !== true && !specifier.startsWith('file:')) { @@ -27,7 +27,7 @@ export function resolve(specifier, { parentURL = baseURL }, defaultResolve) { } export function getFormat(url, context, defaultGetFormat) { - if (builtinModules.includes(url)) { + if (url.startsWith('nodejs:') && builtinModules.includes(url.slice(7))) { return { format: 'builtin' }; diff --git a/test/fixtures/es-module-loaders/loader-side-effect-require-preload.js b/test/fixtures/es-module-loaders/loader-side-effect-require-preload.js new file mode 100644 index 00000000000000..98820b9379748e --- /dev/null +++ b/test/fixtures/es-module-loaders/loader-side-effect-require-preload.js @@ -0,0 +1,6 @@ +/** + * This file is combined with `loader-side-effect.mjs` via `--require`. Its + * purpose is to test execution order of the two kinds of preload code. + */ + +(globalThis.preloadOrder || (globalThis.preloadOrder = [])).push('--require'); diff --git a/test/fixtures/es-module-loaders/loader-side-effect.mjs b/test/fixtures/es-module-loaders/loader-side-effect.mjs new file mode 100644 index 00000000000000..5c80724fbb95f6 --- /dev/null +++ b/test/fixtures/es-module-loaders/loader-side-effect.mjs @@ -0,0 +1,32 @@ +// Arrow function so it closes over the this-value of the preload scope. +const globalPreload = () => { + /* global getBuiltin */ + const assert = getBuiltin('assert'); + const vm = getBuiltin('vm'); + + assert.strictEqual(typeof require, 'undefined'); + assert.strictEqual(typeof module, 'undefined'); + assert.strictEqual(typeof exports, 'undefined'); + assert.strictEqual(typeof __filename, 'undefined'); + assert.strictEqual(typeof __dirname, 'undefined'); + + assert.strictEqual(this, globalThis); + (globalThis.preloadOrder || (globalThis.preloadOrder = [])).push('loader'); + + vm.runInThisContext(`\ +var implicitGlobalProperty = 42; +const implicitGlobalConst = 42 * 42; +`); + + assert.strictEqual(globalThis.implicitGlobalProperty, 42); + (implicitGlobalProperty).foo = 'bar'; // assert: not strict mode + + globalThis.explicitGlobalProperty = 42 * 42 * 42; +} + +export function getGlobalPreloadCode() { + return `\ + +(${globalPreload.toString()})(); +`; +} diff --git a/test/fixtures/es-module-loaders/loader-unknown-builtin-module.mjs b/test/fixtures/es-module-loaders/loader-unknown-builtin-module.mjs index 1a48231966ce5b..e976343e47e9bc 100644 --- a/test/fixtures/es-module-loaders/loader-unknown-builtin-module.mjs +++ b/test/fixtures/es-module-loaders/loader-unknown-builtin-module.mjs @@ -1,14 +1,14 @@ export async function resolve(specifier, { parentURL }, defaultResolve) { if (specifier === 'unknown-builtin-module') { return { - url: 'unknown-builtin-module' + url: 'nodejs:unknown-builtin-module' }; } return defaultResolve(specifier, {parentURL}, defaultResolve); } export async function getFormat(url, context, defaultGetFormat) { - if (url === 'unknown-builtin-module') { + if (url === 'nodejs:unknown-builtin-module') { return { format: 'builtin' }; diff --git a/test/fixtures/es-module-loaders/not-found-assert-loader.mjs b/test/fixtures/es-module-loaders/not-found-assert-loader.mjs index 7b1d176e4537f6..2130bad5f52698 100644 --- a/test/fixtures/es-module-loaders/not-found-assert-loader.mjs +++ b/test/fixtures/es-module-loaders/not-found-assert-loader.mjs @@ -14,8 +14,7 @@ export async function resolve(specifier, { parentURL }, defaultResolve) { catch (e) { assert.strictEqual(e.code, 'ERR_MODULE_NOT_FOUND'); return { - format: 'builtin', - url: 'fs' + url: 'nodejs:fs' }; } assert.fail(`Module resolution for ${specifier} should be throw ERR_MODULE_NOT_FOUND`); diff --git a/test/fixtures/node_modules/pkgexports/package.json b/test/fixtures/node_modules/pkgexports/package.json index 02e06f0ebe5f3c..7f417ad5457bfc 100644 --- a/test/fixtures/node_modules/pkgexports/package.json +++ b/test/fixtures/node_modules/pkgexports/package.json @@ -35,6 +35,10 @@ "./resolve-self": { "require": "./resolve-self.js", "import": "./resolve-self.mjs" + }, + "./resolve-self-invalid": { + "require": "./resolve-self-invalid.js", + "import": "./resolve-self-invalid.mjs" } } } diff --git a/test/fixtures/node_modules/pkgexports/resolve-self-invalid.js b/test/fixtures/node_modules/pkgexports/resolve-self-invalid.js new file mode 100644 index 00000000000000..c3ebf76fc1b2f3 --- /dev/null +++ b/test/fixtures/node_modules/pkgexports/resolve-self-invalid.js @@ -0,0 +1 @@ +require('pkg-exports/invalid2'); diff --git a/test/fixtures/node_modules/pkgexports/resolve-self-invalid.mjs b/test/fixtures/node_modules/pkgexports/resolve-self-invalid.mjs new file mode 100644 index 00000000000000..1edbf62c4b0114 --- /dev/null +++ b/test/fixtures/node_modules/pkgexports/resolve-self-invalid.mjs @@ -0,0 +1 @@ +import 'pkg-exports/invalid2'; diff --git a/test/fixtures/package-main-enoent/node_modules/package-main-enoent/fhqwhgads.js b/test/fixtures/package-main-enoent/node_modules/package-main-enoent/fhqwhgads.js new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/test/fixtures/package-main-enoent/node_modules/package-main-enoent/package.json b/test/fixtures/package-main-enoent/node_modules/package-main-enoent/package.json new file mode 100644 index 00000000000000..4b90985c741238 --- /dev/null +++ b/test/fixtures/package-main-enoent/node_modules/package-main-enoent/package.json @@ -0,0 +1,4 @@ +{ + "name": "package-main-enoent", + "main": "./fhqwhgads.js" +} diff --git a/test/fixtures/package-main-enoent/package.json b/test/fixtures/package-main-enoent/package.json new file mode 100644 index 00000000000000..4b90985c741238 --- /dev/null +++ b/test/fixtures/package-main-enoent/package.json @@ -0,0 +1,4 @@ +{ + "name": "package-main-enoent", + "main": "./fhqwhgads.js" +} diff --git a/test/fixtures/package-main-enoent/test.js b/test/fixtures/package-main-enoent/test.js new file mode 100644 index 00000000000000..d698085e5dd554 --- /dev/null +++ b/test/fixtures/package-main-enoent/test.js @@ -0,0 +1,8 @@ +'use strict'; + +// The path in "main" in "package.json" does not exist here, but it does in +// the copy in node_modules. This is being tested because bluebird tests depend +// on this behavior and it was accidentally broken by a seemingly unrelated +// commit on master. + +require('package-main-enoent'); diff --git a/test/fixtures/require-empty-main/index.js b/test/fixtures/require-empty-main/index.js new file mode 100644 index 00000000000000..d2ed2dd2202c19 --- /dev/null +++ b/test/fixtures/require-empty-main/index.js @@ -0,0 +1,2 @@ +'use strict'; +module.exports = 42; diff --git a/test/fixtures/require-empty-main/package.json b/test/fixtures/require-empty-main/package.json new file mode 100644 index 00000000000000..3f0b7c677acf3c --- /dev/null +++ b/test/fixtures/require-empty-main/package.json @@ -0,0 +1 @@ +{"main":""} diff --git a/test/fixtures/require-resolve.js b/test/fixtures/require-resolve.js index 66521d12e99fc4..e3a4886bcea12c 100644 --- a/test/fixtures/require-resolve.js +++ b/test/fixtures/require-resolve.js @@ -86,11 +86,11 @@ assert.throws(() => { } // Test paths option validation -common.expectsError(() => { +assert.throws(() => { require.resolve('.\\three.js', { paths: 'foo' }) }, { code: 'ERR_INVALID_OPT_VALUE', - type: TypeError, + name: 'TypeError', }); // Verify that the default require.resolve() is used for empty options. diff --git a/test/fixtures/wasi/input2.txt b/test/fixtures/wasi/input2.txt new file mode 100644 index 00000000000000..6aadea38006fb0 --- /dev/null +++ b/test/fixtures/wasi/input2.txt @@ -0,0 +1 @@ +hello from input2.txt diff --git a/test/fixtures/wasi/subdir/loop1 b/test/fixtures/wasi/subdir/loop1 deleted file mode 120000 index 433d7fdbce1536..00000000000000 --- a/test/fixtures/wasi/subdir/loop1 +++ /dev/null @@ -1 +0,0 @@ -./loop2 \ No newline at end of file diff --git a/test/fixtures/wasi/subdir/loop2 b/test/fixtures/wasi/subdir/loop2 deleted file mode 120000 index 2907735afc0680..00000000000000 --- a/test/fixtures/wasi/subdir/loop2 +++ /dev/null @@ -1 +0,0 @@ -./loop1 \ No newline at end of file diff --git a/test/fixtures/worker-data.cjs b/test/fixtures/worker-data.cjs new file mode 100644 index 00000000000000..731b77eb367863 --- /dev/null +++ b/test/fixtures/worker-data.cjs @@ -0,0 +1,3 @@ +const { workerData, parentPort } = require('worker_threads'); + +parentPort.postMessage(workerData); diff --git a/test/internet/test-dns-any.js b/test/internet/test-dns-any.js index e8425a6ca5632d..d60f00f09804a7 100644 --- a/test/internet/test-dns-any.js +++ b/test/internet/test-dns-any.js @@ -115,32 +115,11 @@ function processResult(res) { return types; } -TEST(async function test_google(done) { - function validateResult(res) { - const types = processResult(res); - assert.ok( - types.A && types.AAAA && types.MX && - types.NS && types.TXT && types.SOA); - } - - validateResult(await dnsPromises.resolve('google.com', 'ANY')); - - const req = dns.resolve( - 'google.com', - 'ANY', - common.mustCall(function(err, ret) { - assert.ifError(err); - validateResult(ret); - done(); - })); - - checkWrap(req); -}); - TEST(async function test_sip2sip_for_naptr(done) { function validateResult(res) { const types = processResult(res); - assert.ok(types.A && types.NS && types.NAPTR && types.SOA); + assert.ok(types.A && types.NS && types.NAPTR && types.SOA, + `Missing record type, found ${Object.keys(types)}`); } validateResult(await dnsPromises.resolve('sip2sip.info', 'ANY')); diff --git a/test/internet/test-dns-promises-resolve.js b/test/internet/test-dns-promises-resolve.js index b9e7fa42302c0d..a482cba60a2c14 100644 --- a/test/internet/test-dns-promises-resolve.js +++ b/test/internet/test-dns-promises-resolve.js @@ -1,5 +1,5 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const dnsPromises = require('dns').promises; @@ -7,11 +7,11 @@ const dnsPromises = require('dns').promises; // Error when rrtype is invalid. { const rrtype = 'DUMMY'; - common.expectsError( + assert.throws( () => dnsPromises.resolve('example.org', rrtype), { code: 'ERR_INVALID_OPT_VALUE', - type: TypeError, + name: 'TypeError', message: `The value "${rrtype}" is invalid for option "rrtype"` } ); @@ -20,11 +20,11 @@ const dnsPromises = require('dns').promises; // Error when rrtype is a number. { const rrtype = 0; - common.expectsError( + assert.throws( () => dnsPromises.resolve('example.org', rrtype), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "rrtype" argument must be of type string. ' + `Received type ${typeof rrtype} (${rrtype})` } diff --git a/test/js-native-api/test_bigint/test.js b/test/js-native-api/test_bigint/test.js index b92c810459321b..85a183171743c7 100644 --- a/test/js-native-api/test_bigint/test.js +++ b/test/js-native-api/test_bigint/test.js @@ -40,6 +40,6 @@ const { }); assert.throws(CreateTooBigBigInt, { - name: 'RangeError', - message: 'Maximum BigInt size exceeded', + name: 'Error', + message: 'Invalid argument', }); diff --git a/test/js-native-api/test_error/test.js b/test/js-native-api/test_error/test.js index e39038e8056f02..2dc6904c75a732 100644 --- a/test/js-native-api/test_error/test.js +++ b/test/js-native-api/test_error/test.js @@ -69,21 +69,21 @@ assert.throws(() => { } )); -common.expectsError( +assert.throws( () => test_error.throwErrorCode(), { code: 'ERR_TEST_CODE', message: 'Error [error]' }); -common.expectsError( +assert.throws( () => test_error.throwRangeErrorCode(), { code: 'ERR_TEST_CODE', message: 'RangeError [range error]' }); -common.expectsError( +assert.throws( () => test_error.throwTypeErrorCode(), { code: 'ERR_TEST_CODE', diff --git a/test/js-native-api/test_general/test.js b/test/js-native-api/test_general/test.js index 09c0300f85eae7..9b847f4f339e49 100644 --- a/test/js-native-api/test_general/test.js +++ b/test/js-native-api/test_general/test.js @@ -67,8 +67,8 @@ assert.strictEqual(derefItemWasCalled, true, // Assert that wrapping twice fails. const x = {}; test_general.wrap(x); -common.expectsError(() => test_general.wrap(x), - { type: Error, message: 'Invalid argument' }); +assert.throws(() => test_general.wrap(x), + { name: 'Error', message: 'Invalid argument' }); // Ensure that wrapping, removing the wrap, and then wrapping again works. const y = {}; diff --git a/test/js-native-api/test_general/testFinalizer.js b/test/js-native-api/test_general/testFinalizer.js index b440ed5e501ad8..d72a4a44a304d8 100644 --- a/test/js-native-api/test_general/testFinalizer.js +++ b/test/js-native-api/test_general/testFinalizer.js @@ -13,12 +13,12 @@ test_general.addFinalizerOnly(finalized, callback); test_general.addFinalizerOnly(finalized, callback); // Ensure attached items cannot be retrieved. -common.expectsError(() => test_general.unwrap(finalized), - { type: Error, message: 'Invalid argument' }); +assert.throws(() => test_general.unwrap(finalized), + { name: 'Error', message: 'Invalid argument' }); // Ensure attached items cannot be removed. -common.expectsError(() => test_general.removeWrap(finalized), - { type: Error, message: 'Invalid argument' }); +assert.throws(() => test_general.removeWrap(finalized), + { name: 'Error', message: 'Invalid argument' }); finalized = null; global.gc(); diff --git a/test/known_issues/known_issues.status b/test/known_issues/known_issues.status index fdf2d86bcd52bf..8dd569a3950bf6 100644 --- a/test/known_issues/known_issues.status +++ b/test/known_issues/known_issues.status @@ -5,6 +5,11 @@ prefix known_issues # sample-test : SKIP [true] # This section applies to all platforms +# This issue is unfixable with the current implementations of V8 and +# Node.js. Changes to make this fixable are unlikely to happen in the +# foreseeable future. The test itself is flaky and skipped. It +# serves as a demonstration of the issue only. +test-vm-timeout-escape-queuemicrotask: SKIP [$system==win32] diff --git a/test/known_issues/test-stream-writable-sync-error.js b/test/known_issues/test-stream-writable-sync-error.js new file mode 100644 index 00000000000000..202cf7bf23e2fd --- /dev/null +++ b/test/known_issues/test-stream-writable-sync-error.js @@ -0,0 +1,44 @@ +'use strict'; +const common = require('../common'); + +// Tests for the regression in _stream_writable discussed in +// https://github.com/nodejs/node/pull/31756 + +// Specifically, when a write callback is invoked synchronously +// with an error, and autoDestroy is not being used, the error +// should still be emitted on nextTick. + +const { Writable } = require('stream'); + +class MyStream extends Writable { + #cb = undefined; + + constructor() { + super({ autoDestroy: false }); + } + + _write(_, __, cb) { + this.#cb = cb; + } + + close() { + // Synchronously invoke the callback with an error. + this.#cb(new Error('foo')); + } +} + +const stream = new MyStream(); + +const mustError = common.mustCall(2); + +stream.write('test', () => {}); + +// Both error callbacks should be invoked. + +stream.on('error', mustError); + +stream.close(); + +// Without the fix in #31756, the error handler +// added after the call to close will not be invoked. +stream.on('error', mustError); diff --git a/test/known_issues/test-vm-timeout-escape-queuemicrotask.js b/test/known_issues/test-vm-timeout-escape-queuemicrotask.js index df0531bae1d9ed..0d3a0b0c5c5814 100644 --- a/test/known_issues/test-vm-timeout-escape-queuemicrotask.js +++ b/test/known_issues/test-vm-timeout-escape-queuemicrotask.js @@ -12,8 +12,8 @@ const NS_PER_MS = 1000000n; const hrtime = process.hrtime.bigint; -const loopDuration = common.platformTimeout(100n); -const timeout = common.platformTimeout(10); +const loopDuration = common.platformTimeout(1000n); +const timeout = common.platformTimeout(100); function loop() { const start = hrtime(); diff --git a/test/message/error_with_nul.js b/test/message/error_with_nul.js new file mode 100644 index 00000000000000..2849e9d21c878c --- /dev/null +++ b/test/message/error_with_nul.js @@ -0,0 +1,11 @@ +'use strict'; +require('../common'); + +function test() { + const a = 'abc\0def'; + console.error(a); + throw new Error(a); +} +Object.defineProperty(test, 'name', { value: 'fun\0name' }); + +test(); diff --git a/test/message/error_with_nul.out b/test/message/error_with_nul.out new file mode 100644 index 00000000000000..396d94debf0058 Binary files /dev/null and b/test/message/error_with_nul.out differ diff --git a/test/node-api/test_instance_data/addon.c b/test/node-api/test_instance_data/addon.c new file mode 100644 index 00000000000000..928b4dfaf8e11e --- /dev/null +++ b/test/node-api/test_instance_data/addon.c @@ -0,0 +1,23 @@ +#include +#include +#define NAPI_EXPERIMENTAL +#include + +static void addon_free(napi_env env, void* data, void* hint) { + napi_ref* ref = data; + napi_delete_reference(env, *ref); + free(ref); + fprintf(stderr, "addon_free"); +} + +napi_value addon_new(napi_env env, napi_value exports, bool ref_first) { + napi_ref* ref = malloc(sizeof(*ref)); + if (ref_first) { + napi_create_reference(env, exports, 1, ref); + napi_set_instance_data(env, ref, addon_free, NULL); + } else { + napi_set_instance_data(env, ref, addon_free, NULL); + napi_create_reference(env, exports, 1, ref); + } + return exports; +} diff --git a/test/node-api/test_instance_data/binding.gyp b/test/node-api/test_instance_data/binding.gyp index 0d55905e9e7236..eb20531269e0f8 100644 --- a/test/node-api/test_instance_data/binding.gyp +++ b/test/node-api/test_instance_data/binding.gyp @@ -5,6 +5,20 @@ "sources": [ "test_instance_data.c" ] - } + }, + { + "target_name": "test_set_then_ref", + "sources": [ + "addon.c", + "test_set_then_ref.c", + ] + }, + { + "target_name": "test_ref_then_set", + "sources": [ + "addon.c", + "test_ref_then_set.c", + ] + }, ] } diff --git a/test/node-api/test_instance_data/test.js b/test/node-api/test_instance_data/test.js index 969c164afdad58..7dc3f4b3176877 100644 --- a/test/node-api/test_instance_data/test.js +++ b/test/node-api/test_instance_data/test.js @@ -24,12 +24,32 @@ if (module.parent) { } else { // When launched as a script, run tests in either a child process or in a // worker thread. + const assert = require('assert'); const requireAs = require('../../common/require-as'); const runOptions = { stdio: ['inherit', 'pipe', 'inherit'] }; + const { spawnSync } = require('child_process'); // Run tests in a child process. requireAs(__filename, ['--expose-gc'], runOptions, 'child'); // Run tests in a worker thread in a child process. requireAs(__filename, ['--expose-gc'], runOptions, 'worker'); + + function testProcessExit(addonName) { + // Make sure that process exit is clean when the instance data has + // references to JS objects. + const path = require + .resolve(`./build/${common.buildType}/${addonName}`) + // Replace any backslashes with double backslashes because they'll be re- + // interpreted back to single backslashes in the command line argument + // to the child process. Windows needs this. + .replace(/\\/g, '\\\\'); + const child = spawnSync(process.execPath, ['-e', `require('${path}');`]); + assert.strictEqual(child.signal, null); + assert.strictEqual(child.status, 0); + assert.strictEqual(child.stderr.toString(), 'addon_free'); + } + + testProcessExit('test_ref_then_set'); + testProcessExit('test_set_then_ref'); } diff --git a/test/node-api/test_instance_data/test_ref_then_set.c b/test/node-api/test_instance_data/test_ref_then_set.c new file mode 100644 index 00000000000000..a0df1e5b9f8a64 --- /dev/null +++ b/test/node-api/test_instance_data/test_ref_then_set.c @@ -0,0 +1,11 @@ +#include +#include +#define NAPI_EXPERIMENTAL +#include + +napi_value addon_new(napi_env env, napi_value exports, bool ref_first); + +// static napi_value +NAPI_MODULE_INIT(/*napi_env env, napi_value exports */) { + return addon_new(env, exports, true); +} diff --git a/test/node-api/test_instance_data/test_set_then_ref.c b/test/node-api/test_instance_data/test_set_then_ref.c new file mode 100644 index 00000000000000..6ebed2d1e86871 --- /dev/null +++ b/test/node-api/test_instance_data/test_set_then_ref.c @@ -0,0 +1,11 @@ +#include +#include +#define NAPI_EXPERIMENTAL +#include + +napi_value addon_new(napi_env env, napi_value exports, bool ref_first); + +// static napi_value +NAPI_MODULE_INIT(/*napi_env env, napi_value exports */) { + return addon_new(env, exports, false); +} diff --git a/test/parallel/parallel.status b/test/parallel/parallel.status index 846277b3e96edc..f282844cd0aa64 100644 --- a/test/parallel/parallel.status +++ b/test/parallel/parallel.status @@ -5,10 +5,6 @@ prefix parallel # sample-test : PASS,FLAKY [true] # This section applies to all platforms -# https://github.com/nodejs/node/issues/24593 -test-fs-stat-bigint: PASS,FLAKY -# https://github.com/nodejs/node/issues/23207 -test-net-connect-options-port: PASS,FLAKY [$system==win32] # https://github.com/nodejs/node/issues/20750 @@ -21,6 +17,10 @@ test-http2-compat-client-upload-reject: PASS,FLAKY test-http2-multistream-destroy-on-read-tls: PASS,FLAKY # https://github.com/nodejs/node/issues/20750 test-http2-pipe: PASS,FLAKY +# https://github.com/nodejs/node/issues/20750 +test-stream-pipeline-http2: PASS,FLAKY +# https://github.com/nodejs/node/issues/24497 +test-timers-immediate-queue: PASS,FLAKY # https://github.com/nodejs/node/issues/23277 test-worker-memory: PASS,FLAKY # https://github.com/nodejs/node/issues/30846 @@ -29,6 +29,13 @@ test-worker-message-port-transfer-terminate: PASS,FLAKY [$system==linux] [$system==macos] +# https://github.com/nodejs/node/issues/30030 +test-dgram-connect-send-empty-buffer: PASS,FLAKY +test-dgram-connect-send-empty-array: PASS,FLAKY +test-dgram-connect-send-empty-packet: PASS,FLAKY +test-dgram-send-empty-array: PASS,FLAKY +test-dgram-send-empty-buffer: PASS,FLAKY +test-dgram-send-empty-packet: PASS,FLAKY [$arch==arm || $arch==arm64] # https://github.com/nodejs/node/issues/26610 @@ -37,6 +44,10 @@ test-async-hooks-http-parser-destroy: PASS,FLAKY [$system==solaris] # Also applies to SmartOS [$system==freebsd] +# https://github.com/nodejs/node/issues/31727 +test-fs-stat-bigint: PASS,FLAKY +# https://github.com/nodejs/node/issues/29802 +test-http2-reset-flood: PASS,FLAKY [$system==aix] diff --git a/test/parallel/test-assert.js b/test/parallel/test-assert.js index 27421d2373eab1..6bdefee5d3d5b4 100644 --- a/test/parallel/test-assert.js +++ b/test/parallel/test-assert.js @@ -398,11 +398,11 @@ assert.throws( { // Verify that throws() and doesNotThrow() throw on non-functions. const testBlockTypeError = (method, fn) => { - common.expectsError( + assert.throws( () => method(fn), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "fn" argument must be of type function.' + common.invalidArgTypeHelper(fn) } @@ -525,7 +525,7 @@ assert.throws( // Test setting the limit to zero and that assert.strict works properly. const tmpLimit = Error.stackTraceLimit; Error.stackTraceLimit = 0; - common.expectsError( + assert.throws( () => { assert.ok( typeof 123 === 'string' @@ -533,7 +533,7 @@ assert.throws( }, { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'The expression evaluated to a falsy value:\n\n ' + "assert.ok(\n typeof 123 === 'string'\n )\n" } @@ -699,32 +699,32 @@ assert.throws( /* eslint-enable no-restricted-properties */ } -common.expectsError( +assert.throws( () => assert.ok(null), { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, generatedMessage: true, message: 'The expression evaluated to a falsy value:\n\n ' + 'assert.ok(null)\n' } ); -common.expectsError( +assert.throws( () => assert(typeof 123n === 'string'), { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, generatedMessage: true, message: 'The expression evaluated to a falsy value:\n\n ' + "assert(typeof 123n === 'string')\n" } ); -common.expectsError( +assert.throws( () => assert(false, Symbol('foo')), { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, generatedMessage: false, message: 'Symbol(foo)' } @@ -740,20 +740,20 @@ common.expectsError( (Buffer.from('test') instanceof Error) ); } - common.expectsError( + assert.throws( () => throwErr(), { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'The expression evaluated to a falsy value:\n\n ' + "assert(\n (Buffer.from('test') instanceof Error)\n )\n" } ); - common.expectsError( + assert.throws( () => throwErr(), { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'The expression evaluated to a falsy value:\n\n ' + "assert(\n (Buffer.from('test') instanceof Error)\n )\n" } @@ -761,7 +761,7 @@ common.expectsError( fs.close = tmp; } -common.expectsError( +assert.throws( () => { a( (() => 'string')() @@ -773,7 +773,7 @@ common.expectsError( }, { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'The expression evaluated to a falsy value:\n\n' + ' a(\n' + ' (() => \'string\')()\n' + @@ -785,7 +785,7 @@ common.expectsError( } ); -common.expectsError( +assert.throws( () => { a( (() => 'string')() @@ -797,7 +797,7 @@ common.expectsError( }, { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'The expression evaluated to a falsy value:\n\n' + ' a(\n' + ' (() => \'string\')()\n' + @@ -810,7 +810,7 @@ common.expectsError( ); /* eslint-disable indent */ -common.expectsError(() => { +assert.throws(() => { a(( () => 'string')() === 123 instanceof @@ -818,7 +818,7 @@ Buffer ); }, { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'The expression evaluated to a falsy value:\n\n' + ' a((\n' + ' () => \'string\')() ===\n' + @@ -829,81 +829,81 @@ Buffer ); /* eslint-enable indent */ -common.expectsError( +assert.throws( () => { assert(true); assert(null, undefined); }, { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'The expression evaluated to a falsy value:\n\n ' + 'assert(null, undefined)\n' } ); -common.expectsError( +assert.throws( () => { assert .ok(null, undefined); }, { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'The expression evaluated to a falsy value:\n\n ' + 'ok(null, undefined)\n' } ); -common.expectsError( +assert.throws( // eslint-disable-next-line dot-notation, quotes () => assert['ok']["apply"](null, [0]), { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'The expression evaluated to a falsy value:\n\n ' + 'assert[\'ok\']["apply"](null, [0])\n' } ); -common.expectsError( +assert.throws( () => { const wrapper = (fn, value) => fn(value); wrapper(assert, false); }, { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'The expression evaluated to a falsy value:\n\n fn(value)\n' } ); -common.expectsError( +assert.throws( () => assert.ok.call(null, 0), { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'The expression evaluated to a falsy value:\n\n ' + 'assert.ok.call(null, 0)\n', generatedMessage: true } ); -common.expectsError( +assert.throws( () => assert.ok.call(null, 0, 'test'), { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'test', generatedMessage: false } ); // Works in eval. -common.expectsError( +assert.throws( () => new Function('assert', 'assert(1 === 2);')(assert), { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'The expression evaluated to a falsy value:\n\n assert(1 === 2)\n' } ); @@ -915,11 +915,11 @@ assert.throws( } ); -common.expectsError( +assert.throws( () => assert.throws(() => {}, 'Error message', 'message'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "error" argument must be of type function or ' + 'an instance of Error, RegExp, or Object. Received type string ' + "('Error message')" @@ -1001,19 +1001,19 @@ common.expectsError( } ); - common.expectsError( + assert.throws( () => assert.throws(() => { throw new Error(); }, { foo: 'bar' }, 'foobar'), { - type: assert.AssertionError, + constructor: assert.AssertionError, code: 'ERR_ASSERTION', message: 'foobar' } ); - common.expectsError( + assert.throws( () => a.doesNotThrow(() => { throw new Error(); }, { foo: 'bar' }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "expected" argument must be of type function or an ' + 'instance of RegExp. Received an instance of Object' @@ -1401,3 +1401,16 @@ assert.throws( ); assert.doesNotMatch('I will pass', /different$/); } + +{ + const tempColor = inspect.defaultOptions.colors; + assert.throws(() => { + inspect.defaultOptions.colors = true; + // Guarantee the position indicator is placed correctly. + assert.strictEqual(111554n, 11111115); + }, (err) => { + assert.strictEqual(inspect(err).split('\n')[5], ' ^'); + inspect.defaultOptions.colors = tempColor; + return true; + }); +} diff --git a/test/parallel/test-async-hooks-asyncresource-constructor.js b/test/parallel/test-async-hooks-asyncresource-constructor.js index ebd5a4cf646bfd..8b504aa7a79e09 100644 --- a/test/parallel/test-async-hooks-asyncresource-constructor.js +++ b/test/parallel/test-async-hooks-asyncresource-constructor.js @@ -2,7 +2,8 @@ // This tests that AsyncResource throws an error if bad parameters are passed -const common = require('../common'); +require('../common'); +const assert = require('assert'); const async_hooks = require('async_hooks'); const { AsyncResource } = async_hooks; @@ -11,30 +12,30 @@ async_hooks.createHook({ init() {} }).enable(); -common.expectsError(() => { +assert.throws(() => { return new AsyncResource(); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', }); -common.expectsError(() => { +assert.throws(() => { new AsyncResource(''); }, { code: 'ERR_ASYNC_TYPE', - type: TypeError, + name: 'TypeError', }); -common.expectsError(() => { +assert.throws(() => { new AsyncResource('type', -4); }, { code: 'ERR_INVALID_ASYNC_ID', - type: RangeError, + name: 'RangeError', }); -common.expectsError(() => { +assert.throws(() => { new AsyncResource('type', Math.PI); }, { code: 'ERR_INVALID_ASYNC_ID', - type: RangeError, + name: 'RangeError', }); diff --git a/test/parallel/test-async-hooks-constructor.js b/test/parallel/test-async-hooks-constructor.js index f2b4df6a9f9f99..f6f5c45607fc48 100644 --- a/test/parallel/test-async-hooks-constructor.js +++ b/test/parallel/test-async-hooks-constructor.js @@ -2,7 +2,8 @@ // This tests that AsyncHooks throws an error if bad parameters are passed. -const common = require('../common'); +require('../common'); +const assert = require('assert'); const async_hooks = require('async_hooks'); const non_function = 10; @@ -13,11 +14,11 @@ typeErrorForFunction('destroy'); typeErrorForFunction('promiseResolve'); function typeErrorForFunction(functionName) { - common.expectsError(() => { + assert.throws(() => { async_hooks.createHook({ [functionName]: non_function }); }, { code: 'ERR_ASYNC_CALLBACK', - type: TypeError, + name: 'TypeError', message: `hook.${functionName} must be a function` }); } diff --git a/test/parallel/test-async-wrap-constructor.js b/test/parallel/test-async-wrap-constructor.js index 6b1764337128b9..8e96e9ce3021ef 100644 --- a/test/parallel/test-async-wrap-constructor.js +++ b/test/parallel/test-async-wrap-constructor.js @@ -2,17 +2,18 @@ // This tests that using falsy values in createHook throws an error. -const common = require('../common'); +require('../common'); +const assert = require('assert'); const async_hooks = require('async_hooks'); for (const badArg of [0, 1, false, true, null, 'hello']) { const hookNames = ['init', 'before', 'after', 'destroy', 'promiseResolve']; for (const field of hookNames) { - common.expectsError(() => { + assert.throws(() => { async_hooks.createHook({ [field]: badArg }); }, { code: 'ERR_ASYNC_CALLBACK', - type: TypeError, + name: 'TypeError', }); } } diff --git a/test/parallel/test-buffer-alloc.js b/test/parallel/test-buffer-alloc.js index 75bcb03d1913c4..070a3803802e56 100644 --- a/test/parallel/test-buffer-alloc.js +++ b/test/parallel/test-buffer-alloc.js @@ -8,8 +8,8 @@ const SlowBuffer = require('buffer').SlowBuffer; // Verify the maximum Uint8Array size. There is no concrete limit by spec. The // internal limits should be updated if this fails. assert.throws( - () => new Uint8Array(2 ** 31), - { message: 'Invalid typed array length: 2147483648' } + () => new Uint8Array(2 ** 32), + { message: 'Invalid typed array length: 4294967296' } ); const b = Buffer.allocUnsafe(1024); @@ -81,20 +81,20 @@ Buffer(0); const outOfRangeError = { code: 'ERR_OUT_OF_RANGE', - type: RangeError + name: 'RangeError' }; // Try to write a 0-length string beyond the end of b -common.expectsError(() => b.write('', 2048), outOfRangeError); +assert.throws(() => b.write('', 2048), outOfRangeError); // Throw when writing to negative offset -common.expectsError(() => b.write('a', -1), outOfRangeError); +assert.throws(() => b.write('a', -1), outOfRangeError); // Throw when writing past bounds from the pool -common.expectsError(() => b.write('a', 2048), outOfRangeError); +assert.throws(() => b.write('a', 2048), outOfRangeError); // Throw when writing to negative offset -common.expectsError(() => b.write('a', -1), outOfRangeError); +assert.throws(() => b.write('a', -1), outOfRangeError); // Try to copy 0 bytes worth of data into an empty buffer b.copy(Buffer.alloc(0), 0, 0, 0); @@ -793,31 +793,31 @@ assert.strictEqual(Buffer.from('13.37').length, 5); Buffer.from(Buffer.allocUnsafe(0), 0, 0); // issue GH-5587 -common.expectsError( +assert.throws( () => Buffer.alloc(8).writeFloatLE(0, 5), outOfRangeError ); -common.expectsError( +assert.throws( () => Buffer.alloc(16).writeDoubleLE(0, 9), outOfRangeError ); // Attempt to overflow buffers, similar to previous bug in array buffers -common.expectsError( +assert.throws( () => Buffer.allocUnsafe(8).writeFloatLE(0.0, 0xffffffff), outOfRangeError ); -common.expectsError( +assert.throws( () => Buffer.allocUnsafe(8).writeFloatLE(0.0, 0xffffffff), outOfRangeError ); // Ensure negative values can't get past offset -common.expectsError( +assert.throws( () => Buffer.allocUnsafe(8).writeFloatLE(0.0, -1), outOfRangeError ); -common.expectsError( +assert.throws( () => Buffer.allocUnsafe(8).writeFloatLE(0.0, -1), outOfRangeError ); @@ -917,11 +917,11 @@ common.expectsError( // Regression test for https://github.com/nodejs/node-v0.x-archive/issues/5482: // should throw but not assert in C++ land. -common.expectsError( +assert.throws( () => Buffer.from('', 'buffer'), { code: 'ERR_UNKNOWN_ENCODING', - type: TypeError, + name: 'TypeError', message: 'Unknown encoding: buffer' } ); @@ -962,11 +962,11 @@ Buffer.poolSize = 0; assert(Buffer.allocUnsafe(1).parent instanceof ArrayBuffer); Buffer.poolSize = ps; -common.expectsError( +assert.throws( () => Buffer.allocUnsafe(10).copy(), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "target" argument must be an instance of Buffer or ' + 'Uint8Array. Received undefined' }); @@ -1007,14 +1007,14 @@ assert.strictEqual(SlowBuffer.prototype.offset, undefined); { const errMsg = common.expectsError({ code: 'ERR_BUFFER_OUT_OF_BOUNDS', - type: RangeError, + name: 'RangeError', message: '"offset" is outside of buffer bounds' }); assert.throws(() => Buffer.from(new ArrayBuffer(0), -1 >>> 0), errMsg); } // ParseArrayIndex() should reject values that don't fit in a 32 bits size_t. -common.expectsError(() => { +assert.throws(() => { const a = Buffer.alloc(1); const b = Buffer.alloc(1); a.copy(b, 0, 0x100000000, 0x100000001); @@ -1047,30 +1047,30 @@ assert.strictEqual(Buffer.prototype.toLocaleString, Buffer.prototype.toString); assert.strictEqual(buf.toLocaleString(), buf.toString()); } -common.expectsError(() => { +assert.throws(() => { Buffer.alloc(0x1000, 'This is not correctly encoded', 'hex'); }, { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError + name: 'TypeError' }); -common.expectsError(() => { +assert.throws(() => { Buffer.alloc(0x1000, 'c', 'hex'); }, { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError + name: 'TypeError' }); -common.expectsError(() => { +assert.throws(() => { Buffer.alloc(1, Buffer.alloc(0)); }, { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError + name: 'TypeError' }); -common.expectsError(() => { +assert.throws(() => { Buffer.alloc(40, 'x', 20); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); diff --git a/test/parallel/test-buffer-bytelength.js b/test/parallel/test-buffer-bytelength.js index 369e8cb191616e..b5264ba092ce1e 100644 --- a/test/parallel/test-buffer-bytelength.js +++ b/test/parallel/test-buffer-bytelength.js @@ -11,11 +11,11 @@ const vm = require('vm'); [{}, 'latin1'], [] ].forEach((args) => { - common.expectsError( + assert.throws( () => Buffer.byteLength(...args), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "string" argument must be of type string or an instance ' + 'of Buffer or ArrayBuffer.' + common.invalidArgTypeHelper(args[0]) diff --git a/test/parallel/test-buffer-compare-offset.js b/test/parallel/test-buffer-compare-offset.js index df3b429a03c4df..9f6f7335473e65 100644 --- a/test/parallel/test-buffer-compare-offset.js +++ b/test/parallel/test-buffer-compare-offset.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const a = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]); @@ -86,9 +86,9 @@ assert.throws(() => a.compare(b, -1), oor); assert.throws(() => a.compare(b, 0, Infinity), oor); assert.throws(() => a.compare(b, 0, 1, -1), oor); assert.throws(() => a.compare(b, -Infinity, Infinity), oor); -common.expectsError(() => a.compare(), { +assert.throws(() => a.compare(), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "target" argument must be an instance of ' + 'Buffer or Uint8Array. Received undefined' }); diff --git a/test/parallel/test-buffer-compare.js b/test/parallel/test-buffer-compare.js index b790e461bcfa63..4a1e1acccb9a58 100644 --- a/test/parallel/test-buffer-compare.js +++ b/test/parallel/test-buffer-compare.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const b = Buffer.alloc(1, 'a'); @@ -39,9 +39,9 @@ assert.throws(() => Buffer.compare('abc', Buffer.alloc(1)), { "Received type string ('abc')" }); -common.expectsError(() => Buffer.alloc(1).compare('abc'), { +assert.throws(() => Buffer.alloc(1).compare('abc'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "target" argument must be an instance of ' + "Buffer or Uint8Array. Received type string ('abc')" }); diff --git a/test/parallel/test-buffer-copy.js b/test/parallel/test-buffer-copy.js index f668c261652bee..d6f734614471e5 100644 --- a/test/parallel/test-buffer-copy.js +++ b/test/parallel/test-buffer-copy.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const b = Buffer.allocUnsafe(1024); @@ -108,11 +108,11 @@ bb.fill('hello crazy world'); b.copy(c, 0, 100, 10); // Copy throws at negative sourceStart -common.expectsError( +assert.throws( () => Buffer.allocUnsafe(5).copy(Buffer.allocUnsafe(5), 0, -1), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "sourceStart" is out of range. ' + 'It must be >= 0. Received -1' } @@ -129,11 +129,11 @@ common.expectsError( } // Throw with negative sourceEnd -common.expectsError( +assert.throws( () => b.copy(c, 0, 0, -1), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "sourceEnd" is out of range. ' + 'It must be >= 0. Received -1' } diff --git a/test/parallel/test-buffer-equals.js b/test/parallel/test-buffer-equals.js index 055fe56de26f08..b6993246f81019 100644 --- a/test/parallel/test-buffer-equals.js +++ b/test/parallel/test-buffer-equals.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const b = Buffer.from('abcdf'); @@ -14,11 +14,11 @@ assert.ok(!d.equals(e)); assert.ok(d.equals(d)); assert.ok(d.equals(new Uint8Array([0x61, 0x62, 0x63, 0x64, 0x65]))); -common.expectsError( +assert.throws( () => Buffer.alloc(1).equals('abc'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "otherBuffer" argument must be an instance of ' + "Buffer or Uint8Array. Received type string ('abc')" } diff --git a/test/parallel/test-buffer-fill.js b/test/parallel/test-buffer-fill.js index aa5c701b543c98..6e24b3511e6e1a 100644 --- a/test/parallel/test-buffer-fill.js +++ b/test/parallel/test-buffer-fill.js @@ -112,22 +112,22 @@ testBufs('c8a26161', 8, 1, 'hex'); testBufs('61c8b462c8b563c8b6', 4, 1, 'hex'); testBufs('61c8b462c8b563c8b6', 12, 1, 'hex'); -common.expectsError(() => { +assert.throws(() => { const buf = Buffer.allocUnsafe(SIZE); buf.fill('yKJh', 'hex'); }, { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError + name: 'TypeError' }); -common.expectsError(() => { +assert.throws(() => { const buf = Buffer.allocUnsafe(SIZE); buf.fill('\u0222', 'hex'); }, { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError + name: 'TypeError' }); // BASE64 @@ -172,17 +172,17 @@ deepStrictEqualValues(genBuffer(4, [hexBufFill, 1, 1]), [0, 0, 0, 0]); ['', 0, buf1.length + 1], ['', 1, -1], ].forEach((args) => { - common.expectsError( + assert.throws( () => buf1.fill(...args), { code: 'ERR_OUT_OF_RANGE' } ); }); -common.expectsError( +assert.throws( () => buf1.fill('a', 0, buf1.length, 'node rocks!'), { code: 'ERR_UNKNOWN_ENCODING', - type: TypeError, + name: 'TypeError', message: 'Unknown encoding: node rocks!' } ); @@ -191,7 +191,7 @@ common.expectsError( ['a', 0, 0, NaN], ['a', 0, 0, false] ].forEach((args) => { - common.expectsError( + assert.throws( () => buf1.fill(...args), { code: 'ERR_INVALID_ARG_TYPE', @@ -201,11 +201,11 @@ common.expectsError( ); }); -common.expectsError( +assert.throws( () => buf1.fill('a', 0, 0, 'foo'), { code: 'ERR_UNKNOWN_ENCODING', - type: TypeError, + name: 'TypeError', message: 'Unknown encoding: foo' } ); @@ -275,10 +275,10 @@ function testBufs(string, offset, length, encoding) { } // Make sure these throw. -common.expectsError( +assert.throws( () => Buffer.allocUnsafe(8).fill('a', -1), { code: 'ERR_OUT_OF_RANGE' }); -common.expectsError( +assert.throws( () => Buffer.allocUnsafe(8).fill('a', 0, 9), { code: 'ERR_OUT_OF_RANGE' }); @@ -325,15 +325,17 @@ Buffer.alloc(8, ''); assert.strictEqual(buf.toString(), 'էէէէէ'); } -// Testing process.binding. Make sure "start" is properly checked for -1 wrap -// around. -assert.strictEqual( - internalBinding('buffer').fill(Buffer.alloc(1), 1, -1, 0, 1), -2); +// Testing process.binding. Make sure "start" is properly checked for range +// errors. +assert.throws( + () => { internalBinding('buffer').fill(Buffer.alloc(1), 1, -1, 0, 1); }, + { code: 'ERR_OUT_OF_RANGE' } +); // Make sure "end" is properly checked, even if it's magically mangled using // Symbol.toPrimitive. { - common.expectsError(() => { + assert.throws(() => { const end = { [Symbol.toPrimitive]() { return 1; @@ -347,13 +349,15 @@ assert.strictEqual( }); } -// Testing process.binding. Make sure "end" is properly checked for -1 wrap -// around. -assert.strictEqual( - internalBinding('buffer').fill(Buffer.alloc(1), 1, 1, -2, 1), -2); +// Testing process.binding. Make sure "end" is properly checked for range +// errors. +assert.throws( + () => { internalBinding('buffer').fill(Buffer.alloc(1), 1, 1, -2, 1); }, + { code: 'ERR_OUT_OF_RANGE' } +); // Test that bypassing 'length' won't cause an abort. -common.expectsError(() => { +assert.throws(() => { const buf = Buffer.from('w00t'); Object.defineProperty(buf, 'length', { value: 1337, @@ -362,7 +366,7 @@ common.expectsError(() => { buf.fill(''); }, { code: 'ERR_BUFFER_OUT_OF_BOUNDS', - type: RangeError, + name: 'RangeError', message: 'Attempt to access memory outside buffer bounds' }); @@ -401,11 +405,11 @@ assert.strictEqual( Buffer.allocUnsafeSlow(16).fill('Љ', 'utf8').toString('utf8'), 'Љ'.repeat(8)); -common.expectsError(() => { +assert.throws(() => { const buf = Buffer.from('a'.repeat(1000)); buf.fill('This is not correctly encoded', 'hex'); }, { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError + name: 'TypeError' }); diff --git a/test/parallel/test-buffer-includes.js b/test/parallel/test-buffer-includes.js index 8e5ec8e926cbb9..5d74303fad6350 100644 --- a/test/parallel/test-buffer-includes.js +++ b/test/parallel/test-buffer-includes.js @@ -277,11 +277,11 @@ for (let lengthIndex = 0; lengthIndex < lengths.length; lengthIndex++) { {}, [] ].forEach((val) => { - common.expectsError( + assert.throws( () => b.includes(val), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "value" argument must be one of type number or string ' + 'or an instance of Buffer or Uint8Array.' + common.invalidArgTypeHelper(val) diff --git a/test/parallel/test-buffer-indexof.js b/test/parallel/test-buffer-indexof.js index 4eb42ca5bff8fa..d789c9b46cf868 100644 --- a/test/parallel/test-buffer-indexof.js +++ b/test/parallel/test-buffer-indexof.js @@ -352,11 +352,11 @@ assert.strictEqual(Buffer.from('aaaaa').indexOf('b', 'ucs2'), -1); {}, [] ].forEach((val) => { - common.expectsError( + assert.throws( () => b.indexOf(val), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "value" argument must be one of type number or string ' + 'or an instance of Buffer or Uint8Array.' + common.invalidArgTypeHelper(val) diff --git a/test/parallel/test-buffer-new.js b/test/parallel/test-buffer-new.js index 45806359ad6cb4..0f8fa485f29990 100644 --- a/test/parallel/test-buffer-new.js +++ b/test/parallel/test-buffer-new.js @@ -1,10 +1,11 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); -common.expectsError(() => new Buffer(42, 'utf8'), { +assert.throws(() => new Buffer(42, 'utf8'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "string" argument must be of type string. Received type ' + 'number (42)' }); diff --git a/test/parallel/test-buffer-no-negative-allocation.js b/test/parallel/test-buffer-no-negative-allocation.js index d48d02cb9b2476..6829d6eca1a64c 100644 --- a/test/parallel/test-buffer-no-negative-allocation.js +++ b/test/parallel/test-buffer-no-negative-allocation.js @@ -1,14 +1,14 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const { SlowBuffer } = require('buffer'); -const msg = common.expectsError({ +const msg = { code: 'ERR_INVALID_OPT_VALUE', - type: RangeError, + name: 'RangeError', message: /^The value "[^"]*" is invalid for option "size"$/ -}, 20); +}; // Test that negative Buffer length inputs throw errors. diff --git a/test/parallel/test-buffer-over-max-length.js b/test/parallel/test-buffer-over-max-length.js index b1267b19ff439e..b04f89aae0344c 100644 --- a/test/parallel/test-buffer-over-max-length.js +++ b/test/parallel/test-buffer-over-max-length.js @@ -1,16 +1,16 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const buffer = require('buffer'); const SlowBuffer = buffer.SlowBuffer; const kMaxLength = buffer.kMaxLength; -const bufferMaxSizeMsg = common.expectsError({ +const bufferMaxSizeMsg = { code: 'ERR_INVALID_OPT_VALUE', - type: RangeError, + name: 'RangeError', message: /^The value "[^"]*" is invalid for option "size"$/ -}, 12); +}; assert.throws(() => Buffer((-1 >>> 0) + 1), bufferMaxSizeMsg); assert.throws(() => SlowBuffer((-1 >>> 0) + 1), bufferMaxSizeMsg); @@ -25,5 +25,5 @@ assert.throws(() => Buffer.allocUnsafe(kMaxLength + 1), bufferMaxSizeMsg); assert.throws(() => Buffer.allocUnsafeSlow(kMaxLength + 1), bufferMaxSizeMsg); // issue GH-4331 -assert.throws(() => Buffer.allocUnsafe(0xFFFFFFFF), bufferMaxSizeMsg); +assert.throws(() => Buffer.allocUnsafe(0x100000000), bufferMaxSizeMsg); assert.throws(() => Buffer.allocUnsafe(0xFFFFFFFFF), bufferMaxSizeMsg); diff --git a/test/parallel/test-buffer-read.js b/test/parallel/test-buffer-read.js index 9718887e0fe446..8c266163f44e43 100644 --- a/test/parallel/test-buffer-read.js +++ b/test/parallel/test-buffer-read.js @@ -1,5 +1,5 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); // Testing basic buffer read functions @@ -7,7 +7,7 @@ const buf = Buffer.from([0xa4, 0xfd, 0x48, 0xea, 0xcf, 0xff, 0xd9, 0x01, 0xde]); function read(buff, funx, args, expected) { assert.strictEqual(buff[funx](...args), expected); - common.expectsError( + assert.throws( () => buff[funx](-1, args[1]), { code: 'ERR_OUT_OF_RANGE' } ); diff --git a/test/parallel/test-buffer-tostring-range.js b/test/parallel/test-buffer-tostring-range.js index 9cda0d833559f2..f4adf64c8d9129 100644 --- a/test/parallel/test-buffer-tostring-range.js +++ b/test/parallel/test-buffer-tostring-range.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const rangeBuffer = Buffer.from('abc'); @@ -84,17 +84,17 @@ assert.strictEqual(rangeBuffer.toString({ toString: function() { } }), 'abc'); // Try toString() with 0 and null as the encoding -common.expectsError(() => { +assert.throws(() => { rangeBuffer.toString(0, 1, 2); }, { code: 'ERR_UNKNOWN_ENCODING', - type: TypeError, + name: 'TypeError', message: 'Unknown encoding: 0' }); -common.expectsError(() => { +assert.throws(() => { rangeBuffer.toString(null, 1, 2); }, { code: 'ERR_UNKNOWN_ENCODING', - type: TypeError, + name: 'TypeError', message: 'Unknown encoding: null' }); diff --git a/test/parallel/test-buffer-tostring-rangeerror.js b/test/parallel/test-buffer-tostring-rangeerror.js index ccfb40bee75a40..30528a23435e22 100644 --- a/test/parallel/test-buffer-tostring-rangeerror.js +++ b/test/parallel/test-buffer-tostring-rangeerror.js @@ -1,5 +1,5 @@ 'use strict'; -const common = require('../common'); +require('../common'); // This test ensures that Node.js throws a RangeError when trying to convert a // gigantic buffer into a string. @@ -9,11 +9,11 @@ const assert = require('assert'); const SlowBuffer = require('buffer').SlowBuffer; const len = 1422561062959; -const message = common.expectsError({ +const message = { code: 'ERR_INVALID_OPT_VALUE', - type: RangeError, + name: 'RangeError', message: /^The value "[^"]*" is invalid for option "size"$/ -}, 5); +}; assert.throws(() => Buffer(len).toString('utf8'), message); assert.throws(() => SlowBuffer(len).toString('utf8'), message); assert.throws(() => Buffer.alloc(len).toString('utf8'), message); diff --git a/test/parallel/test-buffer-tostring.js b/test/parallel/test-buffer-tostring.js index 7ea7ce8539f3a4..4219649fa37eb3 100644 --- a/test/parallel/test-buffer-tostring.js +++ b/test/parallel/test-buffer-tostring.js @@ -29,7 +29,7 @@ for (let i = 1; i < 10; i++) { const encoding = String(i).repeat(i); const error = common.expectsError({ code: 'ERR_UNKNOWN_ENCODING', - type: TypeError, + name: 'TypeError', message: `Unknown encoding: ${encoding}` }); assert.ok(!Buffer.isEncoding(encoding)); diff --git a/test/parallel/test-buffer-write.js b/test/parallel/test-buffer-write.js index e99cdb358a209e..1f080add08451f 100644 --- a/test/parallel/test-buffer-write.js +++ b/test/parallel/test-buffer-write.js @@ -66,7 +66,7 @@ for (let i = 1; i < 10; i++) { const encoding = String(i).repeat(i); const error = common.expectsError({ code: 'ERR_UNKNOWN_ENCODING', - type: TypeError, + name: 'TypeError', message: `Unknown encoding: ${encoding}` }); diff --git a/test/parallel/test-buffer-writeint.js b/test/parallel/test-buffer-writeint.js index 0e812cc8886941..4799fb33d77b60 100644 --- a/test/parallel/test-buffer-writeint.js +++ b/test/parallel/test-buffer-writeint.js @@ -2,14 +2,14 @@ // Tests to verify signed integers are correctly written -const common = require('../common'); +require('../common'); const assert = require('assert'); -const errorOutOfBounds = common.expectsError({ +const errorOutOfBounds = { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: new RegExp('^The value of "value" is out of range\\. ' + 'It must be >= -\\d+ and <= \\d+\\. Received .+$') -}, 10); +}; // Test 8 bit { diff --git a/test/parallel/test-c-ares.js b/test/parallel/test-c-ares.js index 3b579bb7904af7..110d28ecf82261 100644 --- a/test/parallel/test-c-ares.js +++ b/test/parallel/test-c-ares.js @@ -70,16 +70,16 @@ dns.lookup('::1', common.mustCall((error, result, addressType) => { ].forEach((val) => { const err = { code: 'ERR_INVALID_OPT_VALUE', - type: TypeError, + name: 'TypeError', message: `The value "${val}" is invalid for option "rrtype"` }; - common.expectsError( + assert.throws( () => dns.resolve('www.google.com', val), err ); - common.expectsError(() => dnsPromises.resolve('www.google.com', val), err); + assert.throws(() => dnsPromises.resolve('www.google.com', val), err); }); // Windows doesn't usually have an entry for localhost 127.0.0.1 in diff --git a/test/parallel/test-child-process-advanced-serialization.js b/test/parallel/test-child-process-advanced-serialization.js index 0424f14a060908..0303fc719d331c 100644 --- a/test/parallel/test-child-process-advanced-serialization.js +++ b/test/parallel/test-child-process-advanced-serialization.js @@ -6,7 +6,7 @@ const { once } = require('events'); if (process.argv[2] !== 'child') { for (const value of [null, 42, Infinity, 'foo']) { - common.expectsError(() => { + assert.throws(() => { child_process.spawn(process.execPath, [], { serialization: value }); }, { code: 'ERR_INVALID_OPT_VALUE', diff --git a/test/parallel/test-child-process-constructor.js b/test/parallel/test-child-process-constructor.js index 9c5b09171c66dd..0bd8dd85b0bd84 100644 --- a/test/parallel/test-child-process-constructor.js +++ b/test/parallel/test-child-process-constructor.js @@ -10,11 +10,11 @@ assert.strictEqual(typeof ChildProcess, 'function'); const child = new ChildProcess(); [undefined, null, 'foo', 0, 1, NaN, true, false].forEach((options) => { - common.expectsError(() => { + assert.throws(() => { child.spawn(options); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options" argument must be of type object.' + `${common.invalidArgTypeHelper(options)}` }); @@ -26,11 +26,11 @@ assert.strictEqual(typeof ChildProcess, 'function'); const child = new ChildProcess(); [undefined, null, 0, 1, NaN, true, false, {}].forEach((file) => { - common.expectsError(() => { + assert.throws(() => { child.spawn({ file }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.file" property must be of type string.' + `${common.invalidArgTypeHelper(file)}` }); @@ -42,11 +42,11 @@ assert.strictEqual(typeof ChildProcess, 'function'); const child = new ChildProcess(); [null, 0, 1, NaN, true, false, {}, 'foo'].forEach((envPairs) => { - common.expectsError(() => { + assert.throws(() => { child.spawn({ envPairs, stdio: ['ignore', 'ignore', 'ignore', 'ipc'] }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.envPairs" property must be an instance of Array.' + common.invalidArgTypeHelper(envPairs) }); @@ -58,11 +58,11 @@ assert.strictEqual(typeof ChildProcess, 'function'); const child = new ChildProcess(); [null, 0, 1, NaN, true, false, {}, 'foo'].forEach((args) => { - common.expectsError(() => { + assert.throws(() => { child.spawn({ file: 'foo', args }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.args" property must be an instance of Array.' + common.invalidArgTypeHelper(args) }); @@ -82,9 +82,9 @@ assert.strictEqual(child.hasOwnProperty('pid'), true); assert(Number.isInteger(child.pid)); // Try killing with invalid signal -common.expectsError( +assert.throws( () => { child.kill('foo'); }, - { code: 'ERR_UNKNOWN_SIGNAL', type: TypeError } + { code: 'ERR_UNKNOWN_SIGNAL', name: 'TypeError' } ); assert.strictEqual(child.kill(), true); diff --git a/test/parallel/test-child-process-fork-args.js b/test/parallel/test-child-process-fork-args.js index f2f5689d64d6ba..02a8db5fa60b61 100644 --- a/test/parallel/test-child-process-fork-args.js +++ b/test/parallel/test-child-process-fork-args.js @@ -22,9 +22,9 @@ const expectedEnv = { foo: 'bar' }; Symbol('t') ]; invalidModulePath.forEach((modulePath) => { - common.expectsError(() => fork(modulePath), { + assert.throws(() => fork(modulePath), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: /^The "modulePath" argument must be of type string/ }); }); @@ -49,13 +49,13 @@ const expectedEnv = { foo: 'bar' }; Symbol('t') ]; invalidSecondArgs.forEach((arg) => { - common.expectsError( + assert.throws( () => { fork(fixtures.path('child-process-echo-options.js'), arg); }, { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError + name: 'TypeError' } ); }); @@ -92,13 +92,13 @@ const expectedEnv = { foo: 'bar' }; Symbol('t') ]; invalidThirdArgs.forEach((arg) => { - common.expectsError( + assert.throws( () => { fork(fixtures.path('child-process-echo-options.js'), [], arg); }, { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-child-process-fork-stdio-string-variant.js b/test/parallel/test-child-process-fork-stdio-string-variant.js index 2bfcfc59e6343c..c3fc90f9b05bf3 100644 --- a/test/parallel/test-child-process-fork-stdio-string-variant.js +++ b/test/parallel/test-child-process-fork-stdio-string-variant.js @@ -13,9 +13,9 @@ const childScript = fixtures.path('child-process-spawn-node'); const malFormedOpts = { stdio: '33' }; const payload = { hello: 'world' }; -common.expectsError( +assert.throws( () => fork(childScript, malFormedOpts), - { code: 'ERR_INVALID_OPT_VALUE', type: TypeError }); + { code: 'ERR_INVALID_OPT_VALUE', name: 'TypeError' }); function test(stringVariant) { const child = fork(childScript, { stdio: stringVariant }); diff --git a/test/parallel/test-child-process-fork-stdio.js b/test/parallel/test-child-process-fork-stdio.js index d8e7abfe28944d..e76ef27797f0f5 100644 --- a/test/parallel/test-child-process-fork-stdio.js +++ b/test/parallel/test-child-process-fork-stdio.js @@ -19,9 +19,9 @@ if (process.argv[2] === 'child') { process.send(data); }); } else { - common.expectsError( + assert.throws( () => cp.fork(__filename, { stdio: ['pipe', 'pipe', 'pipe', 'pipe'] }), - { code: 'ERR_CHILD_PROCESS_IPC_REQUIRED', type: Error }); + { code: 'ERR_CHILD_PROCESS_IPC_REQUIRED', name: 'Error' }); let ipc = ''; let stderr = ''; diff --git a/test/parallel/test-child-process-send-after-close.js b/test/parallel/test-child-process-send-after-close.js index 4e26d1261866a0..62128b7b1b9876 100644 --- a/test/parallel/test-child-process-send-after-close.js +++ b/test/parallel/test-child-process-send-after-close.js @@ -12,7 +12,7 @@ child.on('close', common.mustCall((code, signal) => { assert.strictEqual(signal, null); const testError = common.expectsError({ - type: Error, + name: 'Error', message: 'Channel closed', code: 'ERR_IPC_CHANNEL_CLOSED' }, 2); diff --git a/test/parallel/test-child-process-send-type-error.js b/test/parallel/test-child-process-send-type-error.js index 9c3a502a49a257..65c620dd29b3d2 100644 --- a/test/parallel/test-child-process-send-type-error.js +++ b/test/parallel/test-child-process-send-type-error.js @@ -5,9 +5,9 @@ const assert = require('assert'); const cp = require('child_process'); function fail(proc, args) { - common.expectsError(() => { + assert.throws(() => { proc.send.apply(proc, args); - }, { code: 'ERR_INVALID_ARG_TYPE', type: TypeError }); + }, { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError' }); } let target = process; diff --git a/test/parallel/test-child-process-spawn-typeerror.js b/test/parallel/test-child-process-spawn-typeerror.js index 738a6f36cfe810..25d1bafe4513cc 100644 --- a/test/parallel/test-child-process-spawn-typeerror.js +++ b/test/parallel/test-child-process-spawn-typeerror.js @@ -29,11 +29,15 @@ const invalidcmd = 'hopefully_you_dont_have_this_on_your_machine'; const empty = fixtures.path('empty.js'); -const invalidArgValueError = - common.expectsError({ code: 'ERR_INVALID_ARG_VALUE', type: TypeError }, 14); - -const invalidArgTypeError = - common.expectsError({ code: 'ERR_INVALID_ARG_TYPE', type: TypeError }, 11); +const invalidArgValueError = { + code: 'ERR_INVALID_ARG_VALUE', + name: 'TypeError' +}; + +const invalidArgTypeError = { + code: 'ERR_INVALID_ARG_TYPE', + name: 'TypeError' +}; assert.throws(function() { spawn(invalidcmd, 'this is not an array'); diff --git a/test/parallel/test-child-process-spawnsync-input.js b/test/parallel/test-child-process-spawnsync-input.js index d1a602460e92fc..4dce110316b30e 100644 --- a/test/parallel/test-child-process-spawnsync-input.js +++ b/test/parallel/test-child-process-spawnsync-input.js @@ -76,9 +76,9 @@ let options = { input: 1234 }; -common.expectsError( +assert.throws( () => spawnSync('cat', [], options), - { code: 'ERR_INVALID_ARG_TYPE', type: TypeError }); + { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError' }); options = { input: 'hello world' diff --git a/test/parallel/test-child-process-spawnsync-kill-signal.js b/test/parallel/test-child-process-spawnsync-kill-signal.js index b014a384f65f37..61f9b63b3d7e57 100644 --- a/test/parallel/test-child-process-spawnsync-kill-signal.js +++ b/test/parallel/test-child-process-spawnsync-kill-signal.js @@ -29,9 +29,9 @@ if (process.argv[2] === 'child') { } // Verify that an error is thrown for unknown signals. - common.expectsError(() => { + assert.throws(() => { spawn('SIG_NOT_A_REAL_SIGNAL'); - }, { code: 'ERR_UNKNOWN_SIGNAL', type: TypeError }); + }, { code: 'ERR_UNKNOWN_SIGNAL', name: 'TypeError' }); // Verify that the default kill signal is SIGTERM. { diff --git a/test/parallel/test-child-process-spawnsync-validation-errors.js b/test/parallel/test-child-process-spawnsync-validation-errors.js index 22116e27d1ab98..a099ecfb63a812 100644 --- a/test/parallel/test-child-process-spawnsync-validation-errors.js +++ b/test/parallel/test-child-process-spawnsync-validation-errors.js @@ -6,12 +6,8 @@ const signals = require('os').constants.signals; const rootUser = common.isWindows ? false : common.isIBMi ? true : process.getuid() === 0; -const invalidArgTypeError = common.expectsError( - { code: 'ERR_INVALID_ARG_TYPE', type: TypeError }, - common.isWindows || rootUser ? 42 : 62); - -const invalidRangeError = - common.expectsError({ code: 'ERR_OUT_OF_RANGE', type: RangeError }, 20); +const invalidArgTypeError = { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError' }; +const invalidRangeError = { code: 'ERR_OUT_OF_RANGE', name: 'RangeError' }; function pass(option, value) { // Run the command with the specified option. Since it's not a real command, @@ -189,8 +185,7 @@ if (!common.isWindows) { { // Validate the killSignal option - const unknownSignalErr = - common.expectsError({ code: 'ERR_UNKNOWN_SIGNAL', type: TypeError }, 17); + const unknownSignalErr = { code: 'ERR_UNKNOWN_SIGNAL', name: 'TypeError' }; pass('killSignal', undefined); pass('killSignal', null); diff --git a/test/parallel/test-child-process-stdio.js b/test/parallel/test-child-process-stdio.js index a5e5f952259cee..15c2770aa29d1a 100644 --- a/test/parallel/test-child-process-stdio.js +++ b/test/parallel/test-child-process-stdio.js @@ -66,12 +66,12 @@ const { spawn } = require('child_process'); } // Assert only one IPC pipe allowed. -common.expectsError( +assert.throws( () => { spawn( ...common.pwdCommand, { stdio: ['pipe', 'pipe', 'pipe', 'ipc', 'ipc'] } ); }, - { code: 'ERR_IPC_ONE_PIPE', type: Error } + { code: 'ERR_IPC_ONE_PIPE', name: 'Error' } ); diff --git a/test/parallel/test-child-process-validate-stdio.js b/test/parallel/test-child-process-validate-stdio.js index 38d2f1c8187ee9..5b0259f19bbd1f 100644 --- a/test/parallel/test-child-process-validate-stdio.js +++ b/test/parallel/test-child-process-validate-stdio.js @@ -5,13 +5,13 @@ const common = require('../common'); const assert = require('assert'); const getValidStdio = require('internal/child_process').getValidStdio; -const expectedError = { code: 'ERR_INVALID_OPT_VALUE', type: TypeError }; +const expectedError = { code: 'ERR_INVALID_OPT_VALUE', name: 'TypeError' }; // Should throw if string and not ignore, pipe, or inherit -common.expectsError(() => getValidStdio('foo'), expectedError); +assert.throws(() => getValidStdio('foo'), expectedError); // Should throw if not a string or array -common.expectsError(() => getValidStdio(600), expectedError); +assert.throws(() => getValidStdio(600), expectedError); // Should populate stdio with undefined if len < 3 { @@ -25,22 +25,22 @@ common.expectsError(() => getValidStdio(600), expectedError); // Should throw if stdio has ipc and sync is true const stdio2 = ['ipc', 'ipc', 'ipc']; -common.expectsError(() => getValidStdio(stdio2, true), - { code: 'ERR_IPC_SYNC_FORK', type: Error } +assert.throws(() => getValidStdio(stdio2, true), + { code: 'ERR_IPC_SYNC_FORK', name: 'Error' } ); // Should throw if stdio is not a valid input { const stdio = ['foo']; - common.expectsError(() => getValidStdio(stdio, false), - { code: 'ERR_INVALID_SYNC_FORK_INPUT', type: TypeError } + assert.throws(() => getValidStdio(stdio, false), + { code: 'ERR_INVALID_SYNC_FORK_INPUT', name: 'TypeError' } ); } // Should throw if stdio is not a valid option { const stdio = [{ foo: 'bar' }]; - common.expectsError(() => getValidStdio(stdio), expectedError); + assert.throws(() => getValidStdio(stdio), expectedError); } if (common.isMainThread) { diff --git a/test/parallel/test-cli-node-options.js b/test/parallel/test-cli-node-options.js index 698f463b627644..0bbe4c9eae1ba2 100644 --- a/test/parallel/test-cli-node-options.js +++ b/test/parallel/test-cli-node-options.js @@ -7,6 +7,7 @@ if (process.config.variables.node_without_node_options) const assert = require('assert'); const exec = require('child_process').execFile; +const { Worker } = require('worker_threads'); const tmpdir = require('../common/tmpdir'); tmpdir.refresh(); @@ -14,13 +15,13 @@ tmpdir.refresh(); const printA = require.resolve('../fixtures/printA.js'); const printSpaceA = require.resolve('../fixtures/print A.js'); -expect(` -r ${printA} `, 'A\nB\n'); -expect(`-r ${printA}`, 'A\nB\n'); -expect(`-r ${JSON.stringify(printA)}`, 'A\nB\n'); -expect(`-r ${JSON.stringify(printSpaceA)}`, 'A\nB\n'); -expect(`-r ${printA} -r ${printA}`, 'A\nB\n'); -expect(` -r ${printA} -r ${printA}`, 'A\nB\n'); -expect(` --require ${printA} --require ${printA}`, 'A\nB\n'); +expectNoWorker(` -r ${printA} `, 'A\nB\n'); +expectNoWorker(`-r ${printA}`, 'A\nB\n'); +expectNoWorker(`-r ${JSON.stringify(printA)}`, 'A\nB\n'); +expectNoWorker(`-r ${JSON.stringify(printSpaceA)}`, 'A\nB\n'); +expectNoWorker(`-r ${printA} -r ${printA}`, 'A\nB\n'); +expectNoWorker(` -r ${printA} -r ${printA}`, 'A\nB\n'); +expectNoWorker(` --require ${printA} --require ${printA}`, 'A\nB\n'); expect('--no-deprecation', 'B\n'); expect('--no-warnings', 'B\n'); expect('--no_warnings', 'B\n'); @@ -28,49 +29,61 @@ expect('--trace-warnings', 'B\n'); expect('--redirect-warnings=_', 'B\n'); expect('--trace-deprecation', 'B\n'); expect('--trace-sync-io', 'B\n'); -expect('--trace-events-enabled', 'B\n'); +expectNoWorker('--trace-events-enabled', 'B\n'); expect('--track-heap-objects', 'B\n'); -expect('--throw-deprecation', 'B\n'); -expect('--zero-fill-buffers', 'B\n'); -expect('--v8-pool-size=10', 'B\n'); -expect('--trace-event-categories node', 'B\n'); -// eslint-disable-next-line no-template-curly-in-string -expect('--trace-event-file-pattern {pid}-${rotation}.trace_events', 'B\n'); +expect('--throw-deprecation', + /.*DeprecationWarning: Buffer\(\) is deprecated due to security and usability issues.*/, + 'new Buffer(42)', + true); +expectNoWorker('--zero-fill-buffers', 'B\n'); +expectNoWorker('--v8-pool-size=10', 'B\n'); +expectNoWorker('--trace-event-categories node', 'B\n'); +expectNoWorker( + // eslint-disable-next-line no-template-curly-in-string + '--trace-event-file-pattern {pid}-${rotation}.trace_events', + 'B\n' +); // eslint-disable-next-line no-template-curly-in-string -expect('--trace-event-file-pattern {pid}-${rotation}.trace_events ' + +expectNoWorker('--trace-event-file-pattern {pid}-${rotation}.trace_events ' + '--trace-event-categories node.async_hooks', 'B\n'); expect('--unhandled-rejections=none', 'B\n'); -if (!common.isWindows) { +if (common.isLinux) { expect('--perf-basic-prof', 'B\n'); expect('--perf-basic-prof-only-functions', 'B\n'); -} -if (common.isLinux && ['arm', 'x64'].includes(process.arch)) { - // PerfJitLogger is only implemented in Linux. - expect('--perf-prof', 'B\n'); - expect('--perf-prof-unwinding-info', 'B\n'); + if (['arm', 'x64'].includes(process.arch)) { + expect('--perf-prof', 'B\n'); + expect('--perf-prof-unwinding-info', 'B\n'); + } } if (common.hasCrypto) { - expect('--use-openssl-ca', 'B\n'); - expect('--use-bundled-ca', 'B\n'); - expect('--openssl-config=_ossl_cfg', 'B\n'); + expectNoWorker('--use-openssl-ca', 'B\n'); + expectNoWorker('--use-bundled-ca', 'B\n'); + expectNoWorker('--openssl-config=_ossl_cfg', 'B\n'); } // V8 options expect('--abort_on-uncaught_exception', 'B\n'); expect('--disallow-code-generation-from-strings', 'B\n'); +expect('--jitless', 'B\n'); expect('--max-old-space-size=0', 'B\n'); expect('--stack-trace-limit=100', - /(\s*at f \(\[eval\]:1:\d*\)\r?\n){100}/, + /(\s*at f \(\[(eval|worker eval)\]:1:\d*\)\r?\n)/, '(function f() { f(); })();', true); // Unsupported on arm. See https://crbug.com/v8/8713. if (!['arm', 'arm64'].includes(process.arch)) expect('--interpreted-frames-native-stack', 'B\n'); -function expect(opt, want, command = 'console.log("B")', wantsError = false) { +function expectNoWorker(opt, want, command, wantsError) { + expect(opt, want, command, wantsError, false); +} + +function expect( + opt, want, command = 'console.log("B")', wantsError = false, testWorker = true +) { const argv = ['-e', command]; const opts = { cwd: tmpdir.path, @@ -79,15 +92,52 @@ function expect(opt, want, command = 'console.log("B")', wantsError = false) { }; if (typeof want === 'string') want = new RegExp(want); - exec(process.execPath, argv, opts, common.mustCall((err, stdout, stderr) => { + + const test = (type) => common.mustCall((err, stdout) => { + const o = JSON.stringify(opt); if (wantsError) { - stdout = stderr; + assert.ok(err, `${type}: expected error for ${o}`); + stdout = err.stack; } else { - assert.ifError(err); + assert.ifError(err, `${type}: failed for ${o}`); } if (want.test(stdout)) return; - const o = JSON.stringify(opt); - assert.fail(`For ${o}, failed to find ${want} in: <\n${stdout}\n>`); + assert.fail( + `${type}: for ${o}, failed to find ${want} in: <\n${stdout}\n>` + ); + }); + + exec(process.execPath, argv, opts, test('child process')); + if (testWorker) + workerTest(opts, command, wantsError, test('worker')); +} + +async function collectStream(readable) { + readable.setEncoding('utf8'); + let data = ''; + for await (const chunk of readable) { + data += chunk; + } + return data; +} + +function workerTest(opts, command, wantsError, test) { + let workerError = null; + const worker = new Worker(command, { + ...opts, + execArgv: [], + eval: true, + stdout: true, + stderr: true + }); + worker.on('error', (err) => { + workerError = err; + }); + worker.on('exit', common.mustCall((code) => { + assert.strictEqual(code, wantsError ? 1 : 0); + collectStream(worker.stdout).then((stdout) => { + test(workerError, stdout); + }); })); } diff --git a/test/parallel/test-common.js b/test/parallel/test-common.js index 1521e153a92fe9..3087cc035eb4e2 100644 --- a/test/parallel/test-common.js +++ b/test/parallel/test-common.js @@ -63,7 +63,7 @@ assert.throws(function() { }, /^TypeError: Invalid minimum value: \/foo\/$/); // assert.fail() tests -common.expectsError( +assert.throws( () => { assert.fail('fhqwhgads'); }, { code: 'ERR_ASSERTION', diff --git a/test/parallel/test-console-instance.js b/test/parallel/test-console-instance.js index 0356690a4d348f..19c4271d243ea7 100644 --- a/test/parallel/test-console-instance.js +++ b/test/parallel/test-console-instance.js @@ -43,17 +43,17 @@ assert.ok(!({} instanceof Console)); // Make sure that the Console constructor throws // when not given a writable stream instance. -common.expectsError( +assert.throws( () => { new Console(); }, { code: 'ERR_CONSOLE_WRITABLE_STREAM', - type: TypeError, + name: 'TypeError', message: /stdout/ } ); // Console constructor should throw if stderr exists but is not writable. -common.expectsError( +assert.throws( () => { out.write = () => {}; err.write = undefined; @@ -61,7 +61,7 @@ common.expectsError( }, { code: 'ERR_CONSOLE_WRITABLE_STREAM', - type: TypeError, + name: 'TypeError', message: /stderr/ } ); diff --git a/test/parallel/test-console-no-swallow-stack-overflow.js b/test/parallel/test-console-no-swallow-stack-overflow.js index f36ba4857e363b..c0743429065065 100644 --- a/test/parallel/test-console-no-swallow-stack-overflow.js +++ b/test/parallel/test-console-no-swallow-stack-overflow.js @@ -1,10 +1,11 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const { Console } = require('console'); const { Writable } = require('stream'); for (const method of ['dir', 'log', 'warn']) { - common.expectsError(() => { + assert.throws(() => { const out = new Writable({ write: common.mustCall(function write(...args) { // Exceeds call stack. diff --git a/test/parallel/test-console-table.js b/test/parallel/test-console-table.js index 003539d63fd47e..e2b3b71b628718 100644 --- a/test/parallel/test-console-table.js +++ b/test/parallel/test-console-table.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const { Console } = require('console'); @@ -23,7 +23,7 @@ function test(data, only, expected) { ); } -common.expectsError(() => console.table([], false), { +assert.throws(() => console.table([], false), { code: 'ERR_INVALID_ARG_TYPE', }); diff --git a/test/parallel/test-console-tty-colors.js b/test/parallel/test-console-tty-colors.js index 85a0e61e381170..41e72c3c8513bc 100644 --- a/test/parallel/test-console-tty-colors.js +++ b/test/parallel/test-console-tty-colors.js @@ -86,7 +86,7 @@ check(false, false, false); }); }, { - message: 'Option "inspectOptions.color" can not be used in ' + + message: 'Option "inspectOptions.color" cannot be used in ' + 'combination with option "colorMode"', code: 'ERR_INCOMPATIBLE_OPTION_PAIR' } diff --git a/test/parallel/test-crypto-authenticated.js b/test/parallel/test-crypto-authenticated.js index 8be7296c690769..863907bafd8192 100644 --- a/test/parallel/test-crypto-authenticated.js +++ b/test/parallel/test-crypto-authenticated.js @@ -237,17 +237,17 @@ for (const test of TEST_CASES) { // throw. { for (const length of [0, 1, 2, 6, 9, 10, 11, 17]) { - common.expectsError(() => { + assert.throws(() => { const decrypt = crypto.createDecipheriv('aes-128-gcm', 'FxLKsqdmv0E9xrQh', 'qkuZpJWCewa6Szih'); decrypt.setAuthTag(Buffer.from('1'.repeat(length))); }, { - type: Error, + name: 'Error', message: `Invalid authentication tag length: ${length}` }); - common.expectsError(() => { + assert.throws(() => { crypto.createCipheriv('aes-256-gcm', 'FxLKsqdmv0E9xrQhp0b1ZgI0K7JFZJM8', 'qkuZpJWCewa6Szih', @@ -255,11 +255,11 @@ for (const test of TEST_CASES) { authTagLength: length }); }, { - type: Error, + name: 'Error', message: `Invalid authentication tag length: ${length}` }); - common.expectsError(() => { + assert.throws(() => { crypto.createDecipheriv('aes-256-gcm', 'FxLKsqdmv0E9xrQhp0b1ZgI0K7JFZJM8', 'qkuZpJWCewa6Szih', @@ -267,7 +267,7 @@ for (const test of TEST_CASES) { authTagLength: length }); }, { - type: Error, + name: 'Error', message: `Invalid authentication tag length: ${length}` }); } @@ -298,11 +298,11 @@ for (const test of TEST_CASES) { authTagLength: 8 }); - common.expectsError(() => { + assert.throws(() => { // This tag would normally be allowed. decipher.setAuthTag(Buffer.from('1'.repeat(12))); }, { - type: Error, + name: 'Error', message: 'Invalid authentication tag length: 12' }); @@ -319,7 +319,7 @@ for (const test of TEST_CASES) { // authentication tag length has been specified. { for (const authTagLength of [-1, true, false, NaN, 5.5]) { - common.expectsError(() => { + assert.throws(() => { crypto.createCipheriv('aes-256-ccm', 'FxLKsqdmv0E9xrQhp0b1ZgI0K7JFZJM8', 'qkuZpJWCewa6S', @@ -327,13 +327,13 @@ for (const test of TEST_CASES) { authTagLength }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${authTagLength}" is invalid for option ` + '"authTagLength"' }); - common.expectsError(() => { + assert.throws(() => { crypto.createDecipheriv('aes-256-ccm', 'FxLKsqdmv0E9xrQhp0b1ZgI0K7JFZJM8', 'qkuZpJWCewa6S', @@ -341,26 +341,26 @@ for (const test of TEST_CASES) { authTagLength }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${authTagLength}" is invalid for option ` + '"authTagLength"' }); if (!common.hasFipsCrypto) { - common.expectsError(() => { + assert.throws(() => { crypto.createCipher('aes-256-ccm', 'bad password', { authTagLength }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${authTagLength}" is invalid for option ` + '"authTagLength"' }); - common.expectsError(() => { + assert.throws(() => { crypto.createDecipher('aes-256-ccm', 'bad password', { authTagLength }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${authTagLength}" is invalid for option ` + '"authTagLength"' @@ -448,10 +448,10 @@ for (const test of TEST_CASES) { }); for (const plaintextLength of [-1, true, false, NaN, 5.5]) { - common.expectsError(() => { + assert.throws(() => { cipher.setAAD(Buffer.from('0123456789', 'hex'), { plaintextLength }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${plaintextLength}" is invalid for option ` + '"plaintextLength"' diff --git a/test/parallel/test-crypto-binary-default.js b/test/parallel/test-crypto-binary-default.js index 93ac0ef23e0afa..a2fb2e82670567 100644 --- a/test/parallel/test-crypto-binary-default.js +++ b/test/parallel/test-crypto-binary-default.js @@ -572,11 +572,11 @@ testCipher4(Buffer.from('0123456789abcd0123456789'), Buffer.from('12345678')); // update() should only take buffers / strings -common.expectsError( +assert.throws( () => crypto.createHash('sha1').update({ foo: 'bar' }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); diff --git a/test/parallel/test-crypto-cipher-decipher.js b/test/parallel/test-crypto-cipher-decipher.js index 45e4bd6ea72f49..4bb765d9ca408b 100644 --- a/test/parallel/test-crypto-cipher-decipher.js +++ b/test/parallel/test-crypto-cipher-decipher.js @@ -85,38 +85,38 @@ testCipher2(Buffer.from('0123456789abcdef')); assert(instance instanceof Cipher, 'Cipher is expected to return a new ' + 'instance when called without `new`'); - common.expectsError( + assert.throws( () => crypto.createCipher(null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "cipher" argument must be of type string. ' + 'Received null' }); - common.expectsError( + assert.throws( () => crypto.createCipher('aes-256-cbc', null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "password" argument must be of type string or an instance' + ' of Buffer, TypedArray, or DataView. Received null' }); - common.expectsError( + assert.throws( () => crypto.createCipher('aes-256-cbc', 'secret').update(null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "data" argument must be of type string or an instance' + ' of Buffer, TypedArray, or DataView. Received null' }); - common.expectsError( + assert.throws( () => crypto.createCipher('aes-256-cbc', 'secret').setAAD(null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "buffer" argument must be an instance' + ' of Buffer, TypedArray, or DataView. Received null' }); @@ -128,29 +128,29 @@ testCipher2(Buffer.from('0123456789abcdef')); assert(instance instanceof Decipher, 'Decipher is expected to return a new ' + 'instance when called without `new`'); - common.expectsError( + assert.throws( () => crypto.createDecipher(null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "cipher" argument must be of type string. ' + 'Received null' }); - common.expectsError( + assert.throws( () => crypto.createDecipher('aes-256-cbc', 'secret').setAuthTag(null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "buffer" argument must be an instance of Buffer, ' + 'TypedArray, or DataView. Received null' }); - common.expectsError( + assert.throws( () => crypto.createDecipher('aes-256-cbc', null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "password" argument must be of type string or an ' + 'instance of Buffer, TypedArray, or DataView. Received null' }); @@ -248,11 +248,11 @@ testCipher2(Buffer.from('0123456789abcdef')); cipher.setAAD(aadbuf); cipher.setAutoPadding(); - common.expectsError( + assert.throws( () => cipher.getAuthTag(), { code: 'ERR_CRYPTO_INVALID_STATE', - type: Error, + name: 'Error', message: 'Invalid state for operation getAuthTag' } ); @@ -266,27 +266,27 @@ testCipher2(Buffer.from('0123456789abcdef')); decipher.update(encrypted); decipher.final(); - common.expectsError( + assert.throws( () => decipher.setAAD(aadbuf), { code: 'ERR_CRYPTO_INVALID_STATE', - type: Error, + name: 'Error', message: 'Invalid state for operation setAAD' }); - common.expectsError( + assert.throws( () => decipher.setAuthTag(cipher.getAuthTag()), { code: 'ERR_CRYPTO_INVALID_STATE', - type: Error, + name: 'Error', message: 'Invalid state for operation setAuthTag' }); - common.expectsError( + assert.throws( () => decipher.setAutoPadding(), { code: 'ERR_CRYPTO_INVALID_STATE', - type: Error, + name: 'Error', message: 'Invalid state for operation setAutoPadding' } ); diff --git a/test/parallel/test-crypto-cipheriv-decipheriv.js b/test/parallel/test-crypto-cipheriv-decipheriv.js index d4eda6bb1fca6a..e2279a689c05ec 100644 --- a/test/parallel/test-crypto-cipheriv-decipheriv.js +++ b/test/parallel/test-crypto-cipheriv-decipheriv.js @@ -87,29 +87,29 @@ function testCipher3(key, iv) { assert(instance instanceof Cipheriv, 'Cipheriv is expected to return a new ' + 'instance when called without `new`'); - common.expectsError( + assert.throws( () => crypto.createCipheriv(null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "cipher" argument must be of type string. ' + 'Received null' }); - common.expectsError( + assert.throws( () => crypto.createCipheriv('des-ede3-cbc', null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "key" argument must be of type string or an instance of ' + 'Buffer, TypedArray, DataView, or KeyObject. Received null' }); - common.expectsError( + assert.throws( () => crypto.createCipheriv('des-ede3-cbc', key, 10), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "iv" argument must be of type string or an instance of ' + 'Buffer, TypedArray, or DataView. Received type number (10)' }); @@ -124,29 +124,29 @@ function testCipher3(key, iv) { assert(instance instanceof Decipheriv, 'Decipheriv expected to return a new' + ' instance when called without `new`'); - common.expectsError( + assert.throws( () => crypto.createDecipheriv(null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "cipher" argument must be of type string. ' + 'Received null' }); - common.expectsError( + assert.throws( () => crypto.createDecipheriv('des-ede3-cbc', null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "key" argument must be of type string or an instance of ' + 'Buffer, TypedArray, DataView, or KeyObject. Received null' }); - common.expectsError( + assert.throws( () => crypto.createDecipheriv('des-ede3-cbc', key, 10), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "iv" argument must be of type string or an instance of ' + 'Buffer, TypedArray, or DataView. Received type number (10)' }); diff --git a/test/parallel/test-crypto-dh.js b/test/parallel/test-crypto-dh.js index 027b58b8262b2f..855244a70b1b93 100644 --- a/test/parallel/test-crypto-dh.js +++ b/test/parallel/test-crypto-dh.js @@ -48,11 +48,11 @@ assert.strictEqual(dh2.verifyError, 0); /abc/, {} ].forEach((input) => { - common.expectsError( + assert.throws( () => crypto.createDiffieHellman(input), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "sizeOrKey" argument must be one of type number or string' + ' or an instance of Buffer, TypedArray, or DataView.' + common.invalidArgTypeHelper(input) @@ -233,11 +233,11 @@ if (availableCurves.has('prime256v1') && availableCurves.has('secp256k1')) { assert(firstByte === 6 || firstByte === 7); // Format value should be string - common.expectsError( + assert.throws( () => ecdh1.getPublicKey('buffer', 10), { code: 'ERR_CRYPTO_ECDH_INVALID_FORMAT', - type: TypeError, + name: 'TypeError', message: 'Invalid ECDH format: 10' }); @@ -245,11 +245,11 @@ if (availableCurves.has('prime256v1') && availableCurves.has('secp256k1')) { const ecdh3 = crypto.createECDH('secp256k1'); const key3 = ecdh3.generateKeys(); - common.expectsError( + assert.throws( () => ecdh2.computeSecret(key3, 'latin1', 'buffer'), { code: 'ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY', - type: Error, + name: 'Error', message: 'Public key is not valid for specified curve' }); @@ -358,11 +358,11 @@ if (availableCurves.has('prime256v1') && availableHashes.has('sha256')) { const invalidKey = Buffer.alloc(65); invalidKey.fill('\0'); curve.generateKeys(); - common.expectsError( + assert.throws( () => curve.computeSecret(invalidKey), { code: 'ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY', - type: Error, + name: 'Error', message: 'Public key is not valid for specified curve' }); // Check that signing operations are not impacted by the above error. @@ -376,11 +376,11 @@ if (availableCurves.has('prime256v1') && availableHashes.has('sha256')) { } // Invalid test: curve argument is undefined -common.expectsError( +assert.throws( () => crypto.createECDH(), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "curve" argument must be of type string. ' + 'Received undefined' }); diff --git a/test/parallel/test-crypto-ecdh-convert-key.js b/test/parallel/test-crypto-ecdh-convert-key.js index 52d0fc2b7f0c74..69ee339aa7a653 100644 --- a/test/parallel/test-crypto-ecdh-convert-key.js +++ b/test/parallel/test-crypto-ecdh-convert-key.js @@ -17,36 +17,36 @@ const cafebabePubPtUnComp = '2e02c7f93d13dc2732b760ca377a5897b9dd41a1c1b29dc0442fdce6d0a04d1d'; // Invalid test: key argument is undefined. -common.expectsError( +assert.throws( () => ECDH.convertKey(), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', }); // Invalid test: curve argument is undefined. -common.expectsError( +assert.throws( () => ECDH.convertKey(cafebabePubPtComp), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', }); // Invalid test: curve argument is invalid. -common.expectsError( +assert.throws( () => ECDH.convertKey(cafebabePubPtComp, 'badcurve'), { - type: TypeError, + name: 'TypeError', message: 'Invalid ECDH curve name' }); if (getCurves().includes('secp256k1')) { // Invalid test: format argument is undefined. - common.expectsError( + assert.throws( () => ECDH.convertKey(cafebabePubPtComp, 'secp256k1', 'hex', 'hex', 10), { code: 'ERR_CRYPTO_ECDH_INVALID_FORMAT', - type: TypeError, + name: 'TypeError', message: 'Invalid ECDH format: 10' }); diff --git a/test/parallel/test-crypto-engine.js b/test/parallel/test-crypto-engine.js index e3ac270fef1abe..8b33285b454eef 100644 --- a/test/parallel/test-crypto-engine.js +++ b/test/parallel/test-crypto-engine.js @@ -4,39 +4,40 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const crypto = require('crypto'); const invalidEngineName = 'xxx'; -common.expectsError( +assert.throws( () => crypto.setEngine(true), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "id" argument must be of type string. Received type boolean' + ' (true)' }); -common.expectsError( +assert.throws( () => crypto.setEngine('/path/to/engine', 'notANumber'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "flags" argument must be of type number. Received type' + " string ('notANumber')" }); -common.expectsError( +assert.throws( () => crypto.setEngine(invalidEngineName), { code: 'ERR_CRYPTO_ENGINE_UNKNOWN', - type: Error, + name: 'Error', message: `Engine "${invalidEngineName}" was not found` }); -common.expectsError( +assert.throws( () => crypto.setEngine(invalidEngineName, crypto.constants.ENGINE_METHOD_RSA), { code: 'ERR_CRYPTO_ENGINE_UNKNOWN', - type: Error, + name: 'Error', message: `Engine "${invalidEngineName}" was not found` }); diff --git a/test/parallel/test-crypto-hash.js b/test/parallel/test-crypto-hash.js index 0ccc300aa25778..f3f4df928c4bc4 100644 --- a/test/parallel/test-crypto-hash.js +++ b/test/parallel/test-crypto-hash.js @@ -113,22 +113,22 @@ assert.throws(function() { // Issue https://github.com/nodejs/node/issues/9819: throwing encoding used to // segfault. -common.expectsError( +assert.throws( () => crypto.createHash('sha256').digest({ toString: () => { throw new Error('boom'); }, }), { - type: Error, + name: 'Error', message: 'boom' }); // Issue https://github.com/nodejs/node/issues/25487: error message for invalid // arg type to update method should include all possible types -common.expectsError( +assert.throws( () => crypto.createHash('sha256').update(), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "data" argument must be of type string or an instance of ' + 'Buffer, TypedArray, or DataView. Received undefined' }); @@ -147,29 +147,29 @@ assert.notStrictEqual( const h3 = crypto.createHash('sha256'); h3.digest(); -common.expectsError( +assert.throws( () => h3.digest(), { code: 'ERR_CRYPTO_HASH_FINALIZED', - type: Error + name: 'Error' }); -common.expectsError( +assert.throws( () => h3.update('foo'), { code: 'ERR_CRYPTO_HASH_FINALIZED', - type: Error + name: 'Error' }); assert.strictEqual( crypto.createHash('sha256').update('test').digest('ucs2'), crypto.createHash('sha256').update('test').digest().toString('ucs2')); -common.expectsError( +assert.throws( () => crypto.createHash(), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "algorithm" argument must be of type string. ' + 'Received undefined' } @@ -246,28 +246,28 @@ common.expectsError( '15a2b01f828ea62ac5b3e42f'); // Passing invalid sizes should throw during creation. - common.expectsError(() => { + assert.throws(() => { crypto.createHash('sha256', { outputLength: 28 }); }, { code: 'ERR_OSSL_EVP_NOT_XOF_OR_INVALID_LENGTH' }); for (const outputLength of [null, {}, 'foo', false]) { - common.expectsError(() => crypto.createHash('sha256', { outputLength }), - { code: 'ERR_INVALID_ARG_TYPE' }); + assert.throws(() => crypto.createHash('sha256', { outputLength }), + { code: 'ERR_INVALID_ARG_TYPE' }); } for (const outputLength of [-1, .5, Infinity, 2 ** 90]) { - common.expectsError(() => crypto.createHash('sha256', { outputLength }), - { code: 'ERR_OUT_OF_RANGE' }); + assert.throws(() => crypto.createHash('sha256', { outputLength }), + { code: 'ERR_OUT_OF_RANGE' }); } } { const h = crypto.createHash('sha512'); h.digest(); - common.expectsError(() => h.copy(), { code: 'ERR_CRYPTO_HASH_FINALIZED' }); - common.expectsError(() => h.digest(), { code: 'ERR_CRYPTO_HASH_FINALIZED' }); + assert.throws(() => h.copy(), { code: 'ERR_CRYPTO_HASH_FINALIZED' }); + assert.throws(() => h.digest(), { code: 'ERR_CRYPTO_HASH_FINALIZED' }); } { diff --git a/test/parallel/test-crypto-hmac.js b/test/parallel/test-crypto-hmac.js index dd7b5631042d31..160d09036dbe7f 100644 --- a/test/parallel/test-crypto-hmac.js +++ b/test/parallel/test-crypto-hmac.js @@ -13,29 +13,29 @@ const crypto = require('crypto'); ' when called without `new`'); } -common.expectsError( +assert.throws( () => crypto.createHmac(null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "hmac" argument must be of type string. Received null' }); // This used to segfault. See: https://github.com/nodejs/node/issues/9819 -common.expectsError( +assert.throws( () => crypto.createHmac('sha256', 'key').digest({ toString: () => { throw new Error('boom'); }, }), { - type: Error, + name: 'Error', message: 'boom' }); -common.expectsError( +assert.throws( () => crypto.createHmac('sha1', null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "key" argument must be of type string or an instance of ' + 'Buffer, TypedArray, DataView, or KeyObject. Received null' }); diff --git a/test/parallel/test-crypto-key-objects.js b/test/parallel/test-crypto-key-objects.js index c8303431fb3051..d3011db79d65b4 100644 --- a/test/parallel/test-crypto-key-objects.js +++ b/test/parallel/test-crypto-key-objects.js @@ -32,10 +32,10 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem', { // Attempting to create an empty key should throw. - common.expectsError(() => { + assert.throws(() => { createSecretKey(Buffer.alloc(0)); }, { - type: RangeError, + name: 'RangeError', code: 'ERR_OUT_OF_RANGE', message: 'The value of "key.byteLength" is out of range. ' + 'It must be > 0. Received 0' @@ -46,8 +46,8 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem', // Attempting to create a key of a wrong type should throw const TYPE = 'wrong_type'; - common.expectsError(() => new KeyObject(TYPE), { - type: TypeError, + assert.throws(() => new KeyObject(TYPE), { + name: 'TypeError', code: 'ERR_INVALID_ARG_VALUE', message: `The argument 'type' is invalid. Received '${TYPE}'` }); @@ -55,8 +55,8 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem', { // Attempting to create a key with non-object handle should throw - common.expectsError(() => new KeyObject('secret', ''), { - type: TypeError, + assert.throws(() => new KeyObject('secret', ''), { + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "handle" argument must be of type object. Received type ' + @@ -92,16 +92,16 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem', { // Passing an existing public key object to createPublicKey should throw. const publicKey = createPublicKey(publicPem); - common.expectsError(() => createPublicKey(publicKey), { - type: TypeError, + assert.throws(() => createPublicKey(publicKey), { + name: 'TypeError', code: 'ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE', message: 'Invalid key object type public, expected private.' }); // Constructing a private key from a public key should be impossible, even // if the public key was derived from a private key. - common.expectsError(() => createPrivateKey(createPublicKey(privatePem)), { - type: TypeError, + assert.throws(() => createPrivateKey(createPublicKey(privatePem)), { + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "key" argument must be of type string or an instance of ' + 'Buffer, TypedArray, or DataView. Received an instance of ' + @@ -111,8 +111,8 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem', // Similarly, passing an existing private key object to createPrivateKey // should throw. const privateKey = createPrivateKey(privatePem); - common.expectsError(() => createPrivateKey(privateKey), { - type: TypeError, + assert.throws(() => createPrivateKey(privateKey), { + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "key" argument must be of type string or an instance of ' + 'Buffer, TypedArray, or DataView. Received an instance of ' + @@ -139,8 +139,8 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem', // Test exporting with an invalid options object, this should throw. for (const opt of [undefined, null, 'foo', 0, NaN]) { - common.expectsError(() => publicKey.export(opt), { - type: TypeError, + assert.throws(() => publicKey.export(opt), { + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: /^The "options" argument must be of type object/ }); @@ -280,26 +280,26 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem', { // Reading an encrypted key without a passphrase should fail. - common.expectsError(() => createPrivateKey(privateDsa), { - type: TypeError, + assert.throws(() => createPrivateKey(privateDsa), { + name: 'TypeError', code: 'ERR_MISSING_PASSPHRASE', message: 'Passphrase required for encrypted key' }); // Reading an encrypted key with a passphrase that exceeds OpenSSL's buffer // size limit should fail with an appropriate error code. - common.expectsError(() => createPrivateKey({ + assert.throws(() => createPrivateKey({ key: privateDsa, format: 'pem', passphrase: Buffer.alloc(1025, 'a') }), { code: 'ERR_OSSL_PEM_BAD_PASSWORD_READ', - type: Error + name: 'Error' }); // The buffer has a size of 1024 bytes, so this passphrase should be permitted // (but will fail decryption). - common.expectsError(() => createPrivateKey({ + assert.throws(() => createPrivateKey({ key: privateDsa, format: 'pem', passphrase: Buffer.alloc(1024, 'a') @@ -362,7 +362,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem', // Exporting the key using PKCS#1 should not work since this would discard // any algorithm restrictions. - common.expectsError(() => { + assert.throws(() => { publicKey.export({ format: 'pem', type: 'pkcs1' }); }, { code: 'ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS' @@ -465,12 +465,12 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem', { // Exporting an encrypted private key requires a cipher const privateKey = createPrivateKey(privatePem); - common.expectsError(() => { + assert.throws(() => { privateKey.export({ format: 'pem', type: 'pkcs8', passphrase: 'super-secret' }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: 'The value "undefined" is invalid for option "cipher"' }); diff --git a/test/parallel/test-crypto-keygen.js b/test/parallel/test-crypto-keygen.js index 605a3742052b34..30b04e34d6ec36 100644 --- a/test/parallel/test-crypto-keygen.js +++ b/test/parallel/test-crypto-keygen.js @@ -180,8 +180,8 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Since the private key is encrypted, signing shouldn't work anymore. const publicKey = { key: publicKeyDER, ...publicKeyEncoding }; - common.expectsError(() => testSignVerify(publicKey, privateKey), { - type: TypeError, + assert.throws(() => testSignVerify(publicKey, privateKey), { + name: 'TypeError', code: 'ERR_MISSING_PASSPHRASE', message: 'Passphrase required for encrypted key' }); @@ -212,14 +212,14 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Since the private key is encrypted, signing shouldn't work anymore. const publicKey = { key: publicKeyDER, ...publicKeyEncoding }; - common.expectsError(() => { + assert.throws(() => { testSignVerify(publicKey, { key: privateKeyDER, format: 'der', type: 'pkcs8' }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_MISSING_PASSPHRASE', message: 'Passphrase required for encrypted key' }); @@ -333,13 +333,13 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); assertApproximateSize(privateKeyDER, 336); // Since the private key is encrypted, signing shouldn't work anymore. - common.expectsError(() => { + assert.throws(() => { return testSignVerify(publicKey, { key: privateKeyDER, ...privateKeyEncoding }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_MISSING_PASSPHRASE', message: 'Passphrase required for encrypted key' }); @@ -425,8 +425,8 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); assert(sec1EncExp('AES-128-CBC').test(privateKey)); // Since the private key is encrypted, signing shouldn't work anymore. - common.expectsError(() => testSignVerify(publicKey, privateKey), { - type: TypeError, + assert.throws(() => testSignVerify(publicKey, privateKey), { + name: 'TypeError', code: 'ERR_MISSING_PASSPHRASE', message: 'Passphrase required for encrypted key' }); @@ -457,8 +457,8 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); assert(sec1EncExp('AES-128-CBC').test(privateKey)); // Since the private key is encrypted, signing shouldn't work anymore. - common.expectsError(() => testSignVerify(publicKey, privateKey), { - type: TypeError, + assert.throws(() => testSignVerify(publicKey, privateKey), { + name: 'TypeError', code: 'ERR_MISSING_PASSPHRASE', message: 'Passphrase required for encrypted key' }); @@ -492,8 +492,8 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); assert(pkcs8EncExp.test(privateKey)); // Since the private key is encrypted, signing shouldn't work anymore. - common.expectsError(() => testSignVerify(publicKey, privateKey), { - type: TypeError, + assert.throws(() => testSignVerify(publicKey, privateKey), { + name: 'TypeError', code: 'ERR_MISSING_PASSPHRASE', message: 'Passphrase required for encrypted key' }); @@ -528,8 +528,8 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); assert(pkcs8EncExp.test(privateKey)); // Since the private key is encrypted, signing shouldn't work anymore. - common.expectsError(() => testSignVerify(publicKey, privateKey), { - type: TypeError, + assert.throws(() => testSignVerify(publicKey, privateKey), { + name: 'TypeError', code: 'ERR_MISSING_PASSPHRASE', message: 'Passphrase required for encrypted key' }); @@ -543,7 +543,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Test invalid parameter encoding. { - common.expectsError(() => generateKeyPairSync('ec', { + assert.throws(() => generateKeyPairSync('ec', { namedCurve: 'P-256', paramEncoding: 'otherEncoding', publicKeyEncoding: { @@ -557,7 +557,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); passphrase: 'top secret' } }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: 'The value "otherEncoding" is invalid for ' + 'option "paramEncoding"' @@ -595,16 +595,16 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); { // Test invalid key types. for (const type of [undefined, null, 0]) { - common.expectsError(() => generateKeyPairSync(type, {}), { - type: TypeError, + assert.throws(() => generateKeyPairSync(type, {}), { + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "type" argument must be of type string.' + common.invalidArgTypeHelper(type) }); } - common.expectsError(() => generateKeyPairSync('rsa2', {}), { - type: TypeError, + assert.throws(() => generateKeyPairSync('rsa2', {}), { + name: 'TypeError', code: 'ERR_INVALID_ARG_VALUE', message: "The argument 'type' must be a supported key type. Received 'rsa2'" }); @@ -612,8 +612,8 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); { // Test keygen without options object. - common.expectsError(() => generateKeyPair('rsa', common.mustNotCall()), { - type: TypeError, + assert.throws(() => generateKeyPair('rsa', common.mustNotCall()), { + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "options" argument must be of type object. ' + 'Received undefined' @@ -621,8 +621,8 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Even if no options are required, it should be impossible to pass anything // but an object (or undefined). - common.expectsError(() => generateKeyPair('ed448', 0, common.mustNotCall()), { - type: TypeError, + assert.throws(() => generateKeyPair('ed448', 0, common.mustNotCall()), { + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "options" argument must be of type object. ' + 'Received type number (0)' @@ -676,7 +676,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); { // Invalid publicKeyEncoding. for (const enc of [0, 'a', true]) { - common.expectsError(() => generateKeyPairSync('rsa', { + assert.throws(() => generateKeyPairSync('rsa', { modulusLength: 4096, publicKeyEncoding: enc, privateKeyEncoding: { @@ -684,7 +684,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); format: 'pem' } }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${enc}" is invalid for option "publicKeyEncoding"` }); @@ -692,7 +692,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Missing publicKeyEncoding.type. for (const type of [undefined, null, 0, true, {}]) { - common.expectsError(() => generateKeyPairSync('rsa', { + assert.throws(() => generateKeyPairSync('rsa', { modulusLength: 4096, publicKeyEncoding: { type, @@ -703,7 +703,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); format: 'pem' } }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${type}" is invalid for option ` + '"publicKeyEncoding.type"' @@ -712,7 +712,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Missing / invalid publicKeyEncoding.format. for (const format of [undefined, null, 0, false, 'a', {}]) { - common.expectsError(() => generateKeyPairSync('rsa', { + assert.throws(() => generateKeyPairSync('rsa', { modulusLength: 4096, publicKeyEncoding: { type: 'pkcs1', @@ -723,7 +723,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); format: 'pem' } }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${format}" is invalid for option ` + '"publicKeyEncoding.format"' @@ -732,7 +732,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Invalid privateKeyEncoding. for (const enc of [0, 'a', true]) { - common.expectsError(() => generateKeyPairSync('rsa', { + assert.throws(() => generateKeyPairSync('rsa', { modulusLength: 4096, publicKeyEncoding: { type: 'pkcs1', @@ -740,7 +740,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); }, privateKeyEncoding: enc }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${enc}" is invalid for option "privateKeyEncoding"` }); @@ -748,7 +748,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Missing / invalid privateKeyEncoding.type. for (const type of [undefined, null, 0, true, {}]) { - common.expectsError(() => generateKeyPairSync('rsa', { + assert.throws(() => generateKeyPairSync('rsa', { modulusLength: 4096, publicKeyEncoding: { type: 'pkcs1', @@ -759,7 +759,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); format: 'pem' } }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${type}" is invalid for option ` + '"privateKeyEncoding.type"' @@ -768,7 +768,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Missing / invalid privateKeyEncoding.format. for (const format of [undefined, null, 0, false, 'a', {}]) { - common.expectsError(() => generateKeyPairSync('rsa', { + assert.throws(() => generateKeyPairSync('rsa', { modulusLength: 4096, publicKeyEncoding: { type: 'pkcs1', @@ -779,7 +779,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); format } }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${format}" is invalid for option ` + '"privateKeyEncoding.format"' @@ -788,7 +788,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Cipher of invalid type. for (const cipher of [0, true, {}]) { - common.expectsError(() => generateKeyPairSync('rsa', { + assert.throws(() => generateKeyPairSync('rsa', { modulusLength: 4096, publicKeyEncoding: { type: 'pkcs1', @@ -800,7 +800,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); cipher } }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${cipher}" is invalid for option ` + '"privateKeyEncoding.cipher"' @@ -808,7 +808,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); } // Invalid cipher. - common.expectsError(() => generateKeyPairSync('rsa', { + assert.throws(() => generateKeyPairSync('rsa', { modulusLength: 4096, publicKeyEncoding: { type: 'pkcs1', @@ -821,13 +821,13 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); passphrase: 'secret' } }), { - type: Error, + name: 'Error', message: 'Unknown cipher' }); // Cipher, but no valid passphrase. for (const passphrase of [undefined, null, 5, false, true]) { - common.expectsError(() => generateKeyPairSync('rsa', { + assert.throws(() => generateKeyPairSync('rsa', { modulusLength: 4096, publicKeyEncoding: { type: 'pkcs1', @@ -840,7 +840,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); passphrase } }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${passphrase}" is invalid for option ` + '"privateKeyEncoding.passphrase"' @@ -849,12 +849,12 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Test invalid callbacks. for (const cb of [undefined, null, 0, {}]) { - common.expectsError(() => generateKeyPair('rsa', { + assert.throws(() => generateKeyPair('rsa', { modulusLength: 512, publicKeyEncoding: { type: 'pkcs1', format: 'pem' }, privateKeyEncoding: { type: 'pkcs1', format: 'pem' } }, cb), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_CALLBACK' }); } @@ -864,10 +864,10 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); { // Test invalid modulus lengths. for (const modulusLength of [undefined, null, 'a', true, {}, [], 512.1, -1]) { - common.expectsError(() => generateKeyPair('rsa', { + assert.throws(() => generateKeyPair('rsa', { modulusLength }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${modulusLength}" is invalid for option ` + '"modulusLength"' @@ -876,11 +876,11 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Test invalid exponents. for (const publicExponent of ['a', true, {}, [], 3.5, -1]) { - common.expectsError(() => generateKeyPair('rsa', { + assert.throws(() => generateKeyPair('rsa', { modulusLength: 4096, publicExponent }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${publicExponent}" is invalid for option ` + '"publicExponent"' @@ -892,10 +892,10 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); { // Test invalid modulus lengths. for (const modulusLength of [undefined, null, 'a', true, {}, [], 4096.1]) { - common.expectsError(() => generateKeyPair('dsa', { + assert.throws(() => generateKeyPair('dsa', { modulusLength }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${modulusLength}" is invalid for option ` + '"modulusLength"' @@ -904,11 +904,11 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Test invalid divisor lengths. for (const divisorLength of ['a', true, {}, [], 4096.1]) { - common.expectsError(() => generateKeyPair('dsa', { + assert.throws(() => generateKeyPair('dsa', { modulusLength: 2048, divisorLength }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${divisorLength}" is invalid for option ` + '"divisorLength"' @@ -919,27 +919,27 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Test EC parameters. { // Test invalid curves. - common.expectsError(() => { + assert.throws(() => { generateKeyPairSync('ec', { namedCurve: 'abcdef', publicKeyEncoding: { type: 'spki', format: 'pem' }, privateKeyEncoding: { type: 'sec1', format: 'pem' } }); }, { - type: TypeError, + name: 'TypeError', message: 'Invalid ECDH curve name' }); // Test error type when curve is not a string for (const namedCurve of [true, {}, [], 123]) { - common.expectsError(() => { + assert.throws(() => { generateKeyPairSync('ec', { namedCurve, publicKeyEncoding: { type: 'spki', format: 'pem' }, privateKeyEncoding: { type: 'sec1', format: 'pem' } }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${namedCurve}" is invalid for option ` + '"namedCurve"' @@ -985,14 +985,14 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); { // Invalid public key type. for (const type of ['foo', 'pkcs8', 'sec1']) { - common.expectsError(() => { + assert.throws(() => { generateKeyPairSync('rsa', { modulusLength: 4096, publicKeyEncoding: { type, format: 'pem' }, privateKeyEncoding: { type: 'pkcs8', format: 'pem' } }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${type}" is invalid for option ` + '"publicKeyEncoding.type"' @@ -1001,13 +1001,13 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Invalid hash value. for (const hashValue of [123, true, {}, []]) { - common.expectsError(() => { + assert.throws(() => { generateKeyPairSync('rsa-pss', { modulusLength: 4096, hash: hashValue }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${hashValue}" is invalid for option "hash"` }); @@ -1015,14 +1015,14 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Invalid private key type. for (const type of ['foo', 'spki']) { - common.expectsError(() => { + assert.throws(() => { generateKeyPairSync('rsa', { modulusLength: 4096, publicKeyEncoding: { type: 'spki', format: 'pem' }, privateKeyEncoding: { type, format: 'pem' } }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${type}" is invalid for option ` + '"privateKeyEncoding.type"' @@ -1031,7 +1031,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Key encoding doesn't match key type. for (const type of ['dsa', 'ec']) { - common.expectsError(() => { + assert.throws(() => { generateKeyPairSync(type, { modulusLength: 4096, namedCurve: 'P-256', @@ -1039,12 +1039,12 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); privateKeyEncoding: { type: 'pkcs8', format: 'pem' } }); }, { - type: Error, + name: 'Error', code: 'ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS', message: 'The selected key encoding pkcs1 can only be used for RSA keys.' }); - common.expectsError(() => { + assert.throws(() => { generateKeyPairSync(type, { modulusLength: 4096, namedCurve: 'P-256', @@ -1052,21 +1052,21 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); privateKeyEncoding: { type: 'pkcs1', format: 'pem' } }); }, { - type: Error, + name: 'Error', code: 'ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS', message: 'The selected key encoding pkcs1 can only be used for RSA keys.' }); } for (const type of ['rsa', 'dsa']) { - common.expectsError(() => { + assert.throws(() => { generateKeyPairSync(type, { modulusLength: 4096, publicKeyEncoding: { type: 'spki', format: 'pem' }, privateKeyEncoding: { type: 'sec1', format: 'pem' } }); }, { - type: Error, + name: 'Error', code: 'ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS', message: 'The selected key encoding sec1 can only be used for EC keys.' }); @@ -1074,7 +1074,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); // Attempting to encrypt a DER-encoded, non-PKCS#8 key. for (const type of ['pkcs1', 'sec1']) { - common.expectsError(() => { + assert.throws(() => { generateKeyPairSync(type === 'pkcs1' ? 'rsa' : 'ec', { modulusLength: 4096, namedCurve: 'P-256', @@ -1087,7 +1087,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); } }); }, { - type: Error, + name: 'Error', code: 'ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS', message: `The selected key encoding ${type} does not support encryption.` }); @@ -1095,7 +1095,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); } { // Test RSA-PSS. - common.expectsError( + assert.throws( () => { generateKeyPair('rsa-pss', { modulusLength: 512, @@ -1105,14 +1105,14 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_CALLBACK', message: 'Callback must be a function. Received undefined' } ); for (const mgf1Hash of [null, 0, false, {}, []]) { - common.expectsError( + assert.throws( () => { generateKeyPair('rsa-pss', { modulusLength: 512, @@ -1122,7 +1122,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${mgf1Hash}" is invalid for option "mgf1Hash"` } diff --git a/test/parallel/test-crypto-random.js b/test/parallel/test-crypto-random.js index 4650b3c8bd356f..8a34f0ca223810 100644 --- a/test/parallel/test-crypto-random.js +++ b/test/parallel/test-crypto-random.js @@ -273,35 +273,35 @@ assert.throws( [1, true, NaN, null, undefined, {}, []].forEach((i) => { const buf = Buffer.alloc(10); - common.expectsError( + assert.throws( () => crypto.randomFillSync(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => crypto.randomFill(i, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => crypto.randomFill(buf, 0, 10, i), { code: 'ERR_INVALID_CALLBACK', - type: TypeError, + name: 'TypeError', message: `Callback must be a function. Received ${inspect(i)}` }); }); [1, true, NaN, null, {}, []].forEach((i) => { - common.expectsError( + assert.throws( () => crypto.randomBytes(1, i), { code: 'ERR_INVALID_CALLBACK', - type: TypeError, + name: 'TypeError', message: `Callback must be a function. Received ${inspect(i)}` } ); diff --git a/test/parallel/test-crypto-rsa-dsa.js b/test/parallel/test-crypto-rsa-dsa.js index 30ef7ec6d185ed..9b8c3f67a242f2 100644 --- a/test/parallel/test-crypto-rsa-dsa.js +++ b/test/parallel/test-crypto-rsa-dsa.js @@ -193,7 +193,7 @@ test_rsa('RSA_PKCS1_OAEP_PADDING', undefined, 'sha1'); test_rsa('RSA_PKCS1_OAEP_PADDING', 'sha1', undefined); test_rsa('RSA_PKCS1_OAEP_PADDING', 'sha256', 'sha256'); test_rsa('RSA_PKCS1_OAEP_PADDING', 'sha512', 'sha512'); -common.expectsError(() => { +assert.throws(() => { test_rsa('RSA_PKCS1_OAEP_PADDING', 'sha256', 'sha512'); }, { code: 'ERR_OSSL_RSA_OAEP_DECODING_ERROR' @@ -228,7 +228,7 @@ for (const fn of [crypto.publicEncrypt, crypto.privateDecrypt]) { }); for (const oaepHash of [0, false, null, Symbol(), () => {}]) { - common.expectsError(() => { + assert.throws(() => { fn({ key: rsaPubPem, oaepHash @@ -239,7 +239,7 @@ for (const fn of [crypto.publicEncrypt, crypto.privateDecrypt]) { } for (const oaepLabel of [0, false, null, Symbol(), () => {}, {}, 'foo']) { - common.expectsError(() => { + assert.throws(() => { fn({ key: rsaPubPem, oaepLabel diff --git a/test/parallel/test-crypto-scrypt.js b/test/parallel/test-crypto-scrypt.js index b5d6cbb4a8d4a6..ff074bba06d324 100644 --- a/test/parallel/test-crypto-scrypt.js +++ b/test/parallel/test-crypto-scrypt.js @@ -159,24 +159,24 @@ for (const options of bad) { const expected = { code: 'ERR_CRYPTO_SCRYPT_INVALID_PARAMETER', message: 'Invalid scrypt parameter', - type: Error, + name: 'Error', }; - common.expectsError(() => crypto.scrypt('pass', 'salt', 1, options, () => {}), - expected); - common.expectsError(() => crypto.scryptSync('pass', 'salt', 1, options), - expected); + assert.throws(() => crypto.scrypt('pass', 'salt', 1, options, () => {}), + expected); + assert.throws(() => crypto.scryptSync('pass', 'salt', 1, options), + expected); } for (const options of toobig) { const expected = { message: new RegExp('error:[^:]+:digital envelope routines:' + '(?:EVP_PBE_scrypt|scrypt_alg):memory limit exceeded'), - type: Error, + name: 'Error', }; - common.expectsError(() => crypto.scrypt('pass', 'salt', 1, options, () => {}), - expected); - common.expectsError(() => crypto.scryptSync('pass', 'salt', 1, options), - expected); + assert.throws(() => crypto.scrypt('pass', 'salt', 1, options, () => {}), + expected); + assert.throws(() => crypto.scryptSync('pass', 'salt', 1, options), + expected); } { @@ -209,16 +209,16 @@ for (const options of toobig) { } for (const { args, expected } of badargs) { - common.expectsError(() => crypto.scrypt(...args), expected); - common.expectsError(() => crypto.scryptSync(...args), expected); + assert.throws(() => crypto.scrypt(...args), expected); + assert.throws(() => crypto.scryptSync(...args), expected); } { const expected = { code: 'ERR_INVALID_CALLBACK' }; - common.expectsError(() => crypto.scrypt('', '', 42, null), expected); - common.expectsError(() => crypto.scrypt('', '', 42, {}, null), expected); - common.expectsError(() => crypto.scrypt('', '', 42, {}), expected); - common.expectsError(() => crypto.scrypt('', '', 42, {}, {}), expected); + assert.throws(() => crypto.scrypt('', '', 42, null), expected); + assert.throws(() => crypto.scrypt('', '', 42, {}, null), expected); + assert.throws(() => crypto.scrypt('', '', 42, {}), expected); + assert.throws(() => crypto.scrypt('', '', 42, {}, {}), expected); } { @@ -231,7 +231,7 @@ for (const { args, expected } of badargs) { })); // Values that exceed Number.isSafeInteger should not be allowed. - common.expectsError(() => crypto.scryptSync('', '', 0, { maxmem: 2 ** 53 }), { + assert.throws(() => crypto.scryptSync('', '', 0, { maxmem: 2 ** 53 }), { code: 'ERR_OUT_OF_RANGE' }); } @@ -251,7 +251,7 @@ for (const { args, expected } of badargs) { }); // Try to crash the process on the last access. - common.expectsError(() => { + assert.throws(() => { crypto.scryptSync('', '', 1, { get [name]() { if (--accessCount === 0) diff --git a/test/parallel/test-crypto-sign-verify.js b/test/parallel/test-crypto-sign-verify.js index d98317a3547052..b70bfccae47eef 100644 --- a/test/parallel/test-crypto-sign-verify.js +++ b/test/parallel/test-crypto-sign-verify.js @@ -68,25 +68,25 @@ const keySize = 2048; delete Object.prototype.opensslErrorStack; } -common.expectsError( +assert.throws( () => crypto.createVerify('SHA256').verify({ key: certPem, padding: null, }, ''), { code: 'ERR_INVALID_OPT_VALUE', - type: TypeError, + name: 'TypeError', message: 'The value "null" is invalid for option "padding"' }); -common.expectsError( +assert.throws( () => crypto.createVerify('SHA256').verify({ key: certPem, saltLength: null, }, ''), { code: 'ERR_INVALID_OPT_VALUE', - type: TypeError, + name: 'TypeError', message: 'The value "null" is invalid for option "saltLength"' }); @@ -306,7 +306,7 @@ common.expectsError( { [null, NaN, 'boom', {}, [], true, false] .forEach((invalidValue) => { - common.expectsError(() => { + assert.throws(() => { crypto.createSign('SHA256') .update('Test123') .sign({ @@ -315,10 +315,10 @@ common.expectsError( }); }, { code: 'ERR_INVALID_OPT_VALUE', - type: TypeError + name: 'TypeError' }); - common.expectsError(() => { + assert.throws(() => { crypto.createSign('SHA256') .update('Test123') .sign({ @@ -328,7 +328,7 @@ common.expectsError( }); }, { code: 'ERR_INVALID_OPT_VALUE', - type: TypeError + name: 'TypeError' }); }); @@ -351,11 +351,11 @@ common.expectsError( // Test throws exception when key options is null { - common.expectsError(() => { + assert.throws(() => { crypto.createSign('SHA1').update('Test123').sign(null, 'base64'); }, { code: 'ERR_CRYPTO_SIGN_KEY_REQUIRED', - type: Error + name: 'Error' }); } @@ -527,11 +527,14 @@ common.expectsError( // Unlike DER signatures, IEEE P1363 signatures have a predictable length. assert.strictEqual(sig.length, length); assert.strictEqual(crypto.verify('sha1', data, opts, sig), true); + assert.strictEqual(crypto.createVerify('sha1') + .update(data) + .verify(opts, sig), true); // Test invalid signature lengths. for (const i of [-2, -1, 1, 2, 4, 8]) { sig = crypto.randomBytes(length + i); - common.expectsError(() => { + assert.throws(() => { crypto.verify('sha1', data, opts, sig); }, { message: 'Malformed signature' @@ -552,6 +555,14 @@ common.expectsError( ok ); + assert.strictEqual( + crypto.createVerify('sha256').update(data).verify({ + key: fixtures.readKey('ec-key.pem'), + dsaEncoding: 'ieee-p1363' + }, extSig), + ok + ); + extSig[Math.floor(Math.random() * extSig.length)] ^= 1; } @@ -577,7 +588,7 @@ common.expectsError( ); for (const dsaEncoding of ['foo', null, {}, 5, true, NaN]) { - common.expectsError(() => { + assert.throws(() => { crypto.sign('sha1', data, { key: certPem, dsaEncoding diff --git a/test/parallel/test-crypto.js b/test/parallel/test-crypto.js index 9337621d37fcfb..7216523819364c 100644 --- a/test/parallel/test-crypto.js +++ b/test/parallel/test-crypto.js @@ -41,7 +41,7 @@ const certPfx = fixtures.readKey('rsa_cert.pfx'); // 'this' safety // https://github.com/joyent/node/issues/6690 -assert.throws(function() { +assert.throws(() => { const credentials = tls.createSecureContext(); const context = credentials.context; const notcontext = { setOptions: context.setOptions }; @@ -52,56 +52,52 @@ assert.throws(function() { notcontext.setOptions(); }, (err) => { // Throws TypeError, so there is no opensslErrorStack property. - if ((err instanceof Error) && - /^TypeError: Illegal invocation$/.test(err) && - err.opensslErrorStack === undefined) { - return true; - } + return err instanceof TypeError && + err.name === 'TypeError' && + /^TypeError: Illegal invocation$/.test(err) && + !('opensslErrorStack' in err); }); // PFX tests tls.createSecureContext({ pfx: certPfx, passphrase: 'sample' }); -assert.throws(function() { +assert.throws(() => { tls.createSecureContext({ pfx: certPfx }); }, (err) => { // Throws general Error, so there is no opensslErrorStack property. - if ((err instanceof Error) && - /^Error: mac verify failure$/.test(err) && - err.opensslErrorStack === undefined) { - return true; - } + return err instanceof Error && + err.name === 'Error' && + /^Error: mac verify failure$/.test(err) && + !('opensslErrorStack' in err); }); -assert.throws(function() { +assert.throws(() => { tls.createSecureContext({ pfx: certPfx, passphrase: 'test' }); }, (err) => { // Throws general Error, so there is no opensslErrorStack property. - if ((err instanceof Error) && - /^Error: mac verify failure$/.test(err) && - err.opensslErrorStack === undefined) { - return true; - } + return err instanceof Error && + err.name === 'Error' && + /^Error: mac verify failure$/.test(err) && + !('opensslErrorStack' in err); }); -assert.throws(function() { +assert.throws(() => { tls.createSecureContext({ pfx: 'sample', passphrase: 'test' }); }, (err) => { // Throws general Error, so there is no opensslErrorStack property. - if ((err instanceof Error) && - /^Error: not enough data$/.test(err) && - err.opensslErrorStack === undefined) { - return true; - } + return err instanceof Error && + err.name === 'Error' && + /^Error: not enough data$/.test(err) && + !('opensslErrorStack' in err); }); // update() should only take buffers / strings -common.expectsError( +assert.throws( () => crypto.createHash('sha1').update({ foo: 'bar' }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); @@ -167,44 +163,32 @@ testImmutability(crypto.getCurves); // Regression tests for https://github.com/nodejs/node-v0.x-archive/pull/5725: // hex input that's not a power of two should throw, not assert in C++ land. -assert.throws(function() { - crypto.createCipher('aes192', 'test').update('0', 'hex'); -}, (err) => { - const errorMessage = - common.hasFipsCrypto ? /not supported in FIPS mode/ : /Bad input string/; - // Throws general Error, so there is no opensslErrorStack property. - if ((err instanceof Error) && - errorMessage.test(err) && - err.opensslErrorStack === undefined) { - return true; - } -}); - -assert.throws(function() { - crypto.createDecipher('aes192', 'test').update('0', 'hex'); -}, (err) => { - const errorMessage = - common.hasFipsCrypto ? /not supported in FIPS mode/ : /Bad input string/; - // Throws general Error, so there is no opensslErrorStack property. - if ((err instanceof Error) && - errorMessage.test(err) && - err.opensslErrorStack === undefined) { - return true; - } +['createCipher', 'createDecipher'].forEach((funcName) => { + assert.throws( + () => crypto[funcName]('aes192', 'test').update('0', 'hex'), + (error) => { + assert.ok(!('opensslErrorStack' in error)); + if (common.hasFipsCrypto) { + return error instanceof Error && + error.name === 'Error' && + /^Error: not supported in FIPS mode$/.test(error); + } + assert.throws(() => { throw error; }, /^TypeError: Bad input string$/); + return true; + } + ); }); -assert.throws(function() { - crypto.createHash('sha1').update('0', 'hex'); -}, (err) => { - // Throws TypeError, so there is no opensslErrorStack property. - if ((err instanceof Error) && - /^TypeError: Bad input string$/.test(err) && - err.opensslErrorStack === undefined) { +assert.throws( + () => crypto.createHmac('sha256', 'a secret').update('0', 'hex'), + (error) => { + assert.ok(!('opensslErrorStack' in error)); + assert.throws(() => { throw error; }, /^TypeError: Bad input string$/); return true; } -}); +); -assert.throws(function() { +assert.throws(() => { const priv = [ '-----BEGIN RSA PRIVATE KEY-----', 'MIGrAgEAAiEA+3z+1QNF2/unumadiwEr+C5vfhezsb3hp4jAnCNRpPcCAwEAAQIgQNriSQK4', @@ -216,14 +200,19 @@ assert.throws(function() { ].join('\n'); crypto.createSign('SHA256').update('test').sign(priv); }, (err) => { - if ((err instanceof Error) && - /digest too big for rsa key$/.test(err) && - err.opensslErrorStack === undefined) { - return true; - } + assert.ok(!('opensslErrorStack' in err)); + assert.throws(() => { throw err; }, { + name: 'Error', + message: /routines:RSA_sign:digest too big for rsa key$/, + library: 'rsa routines', + function: 'RSA_sign', + reason: 'digest too big for rsa key', + code: 'ERR_OSSL_RSA_DIGEST_TOO_BIG_FOR_RSA_KEY' + }); + return true; }); -assert.throws(function() { +assert.throws(() => { // The correct header inside `rsa_private_pkcs8_bad.pem` should have been // -----BEGIN PRIVATE KEY----- and -----END PRIVATE KEY----- // instead of @@ -251,15 +240,13 @@ assert.throws(function() { // Make sure memory isn't released before being returned console.log(crypto.randomBytes(16)); -assert.throws(function() { +assert.throws(() => { tls.createSecureContext({ crl: 'not a CRL' }); }, (err) => { // Throws general error, so there is no opensslErrorStack property. - if ((err instanceof Error) && - /^Error: Failed to parse CRL$/.test(err) && - err.opensslErrorStack === undefined) { - return true; - } + return err instanceof Error && + /^Error: Failed to parse CRL$/.test(err) && + !('opensslErrorStack' in err); }); /** diff --git a/test/parallel/test-debug-usage.js b/test/parallel/test-debug-usage.js index 4582ac7bb5b6e2..eb9594f236b35c 100644 --- a/test/parallel/test-debug-usage.js +++ b/test/parallel/test-debug-usage.js @@ -11,8 +11,7 @@ child.stderr.setEncoding('utf8'); const expectedLines = [ /^\(node:\d+\) \[DEP0068\] DeprecationWarning:/, - /^Usage: .*node.* debug script\.js$/, - /^ .*node.* debug :$/ + /Usage: .*node.* debug script\.js\r?\n .*node.* debug :\r?\n .*node.* debug -p \r?\n$/, ]; let actualUsageMessage = ''; @@ -21,11 +20,10 @@ child.stderr.on('data', function(data) { }); child.on('exit', common.mustCall(function(code) { - const outputLines = actualUsageMessage.split('\n'); assert.strictEqual(code, 1); for (let i = 0; i < expectedLines.length; i++) assert.ok( - expectedLines[i].test(outputLines[i]), - `${outputLines[i]} did not match ${expectedLines[i]}` + expectedLines[i].test(actualUsageMessage), + `${actualUsageMessage} did not match ${expectedLines[i]}` ); })); diff --git a/test/parallel/test-dgram-bind-fd-error.js b/test/parallel/test-dgram-bind-fd-error.js index 519855bacc4861..a8a95bd07fc6a8 100644 --- a/test/parallel/test-dgram-bind-fd-error.js +++ b/test/parallel/test-dgram-bind-fd-error.js @@ -19,13 +19,13 @@ const TYPE = 'udp4'; const anotherSocket = dgram.createSocket(TYPE); const { handle } = socket[kStateSymbol]; - common.expectsError(() => { + assert.throws(() => { anotherSocket.bind({ fd: handle.fd, }); }, { code: 'EEXIST', - type: Error, + name: 'Error', message: /^open EEXIST$/ }); @@ -42,13 +42,13 @@ const TYPE = 'udp4'; assert.notStrictEqual(fd, -1); const socket = new dgram.createSocket(TYPE); - common.expectsError(() => { + assert.throws(() => { socket.bind({ fd, }); }, { code: 'ERR_INVALID_FD_TYPE', - type: TypeError, + name: 'TypeError', message: /^Unsupported fd type: TCP$/ }); diff --git a/test/parallel/test-dgram-bind.js b/test/parallel/test-dgram-bind.js index e3b358bdd2f1f5..8ae1213c7f4188 100644 --- a/test/parallel/test-dgram-bind.js +++ b/test/parallel/test-dgram-bind.js @@ -27,11 +27,11 @@ const dgram = require('dgram'); const socket = dgram.createSocket('udp4'); socket.on('listening', common.mustCall(() => { - common.expectsError(() => { + assert.throws(() => { socket.bind(); }, { code: 'ERR_SOCKET_ALREADY_BOUND', - type: Error, + name: 'Error', message: /^Socket is already bound$/ }); diff --git a/test/parallel/test-dgram-createSocket-type.js b/test/parallel/test-dgram-createSocket-type.js index 9c5a20eaab3191..ae141d3c383236 100644 --- a/test/parallel/test-dgram-createSocket-type.js +++ b/test/parallel/test-dgram-createSocket-type.js @@ -23,11 +23,11 @@ const errMessage = /^Bad socket type specified\. Valid types are: udp4, udp6$/; // Error must be thrown with invalid types invalidTypes.forEach((invalidType) => { - common.expectsError(() => { + assert.throws(() => { dgram.createSocket(invalidType); }, { code: 'ERR_SOCKET_BAD_TYPE', - type: TypeError, + name: 'TypeError', message: errMessage }); }); diff --git a/test/parallel/test-dgram-custom-lookup.js b/test/parallel/test-dgram-custom-lookup.js index b6dc52bd0b7f78..4f80451c526625 100644 --- a/test/parallel/test-dgram-custom-lookup.js +++ b/test/parallel/test-dgram-custom-lookup.js @@ -1,5 +1,6 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const dgram = require('dgram'); const dns = require('dns'); @@ -35,11 +36,11 @@ const dns = require('dns'); { // Verify that non-functions throw. [null, true, false, 0, 1, NaN, '', 'foo', {}, Symbol()].forEach((value) => { - common.expectsError(() => { + assert.throws(() => { dgram.createSocket({ type: 'udp4', lookup: value }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "lookup" argument must be of type function.' + common.invalidArgTypeHelper(value) }); diff --git a/test/parallel/test-dgram-membership.js b/test/parallel/test-dgram-membership.js index a852d618c78897..ebfdaa9cb6325f 100644 --- a/test/parallel/test-dgram-membership.js +++ b/test/parallel/test-dgram-membership.js @@ -11,11 +11,11 @@ const setup = dgram.createSocket.bind(dgram, { type: 'udp4', reuseAddr: true }); { const socket = setup(); socket.close(common.mustCall(() => { - common.expectsError(() => { + assert.throws(() => { socket.addMembership(multicastAddress); }, { code: 'ERR_SOCKET_DGRAM_NOT_RUNNING', - type: Error, + name: 'Error', message: /^Not running$/ }); })); @@ -25,11 +25,11 @@ const setup = dgram.createSocket.bind(dgram, { type: 'udp4', reuseAddr: true }); { const socket = setup(); socket.close(common.mustCall(() => { - common.expectsError(() => { + assert.throws(() => { socket.dropMembership(multicastAddress); }, { code: 'ERR_SOCKET_DGRAM_NOT_RUNNING', - type: Error, + name: 'Error', message: /^Not running$/ }); })); @@ -38,11 +38,11 @@ const setup = dgram.createSocket.bind(dgram, { type: 'udp4', reuseAddr: true }); // addMembership() with no argument should throw { const socket = setup(); - common.expectsError(() => { + assert.throws(() => { socket.addMembership(); }, { code: 'ERR_MISSING_ARGS', - type: TypeError, + name: 'TypeError', message: /^The "multicastAddress" argument must be specified$/ }); socket.close(); @@ -51,11 +51,11 @@ const setup = dgram.createSocket.bind(dgram, { type: 'udp4', reuseAddr: true }); // dropMembership() with no argument should throw { const socket = setup(); - common.expectsError(() => { + assert.throws(() => { socket.dropMembership(); }, { code: 'ERR_MISSING_ARGS', - type: TypeError, + name: 'TypeError', message: /^The "multicastAddress" argument must be specified$/ }); socket.close(); diff --git a/test/parallel/test-dgram-multicast-setTTL.js b/test/parallel/test-dgram-multicast-setTTL.js index 805b7e344b77b9..756d63c890457b 100644 --- a/test/parallel/test-dgram-multicast-setTTL.js +++ b/test/parallel/test-dgram-multicast-setTTL.js @@ -35,11 +35,11 @@ socket.on('listening', common.mustCall(() => { socket.setMulticastTTL(1000); }, /^Error: setMulticastTTL EINVAL$/); - common.expectsError(() => { + assert.throws(() => { socket.setMulticastTTL('foo'); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "ttl" argument must be of type number. Received type string' + " ('foo')" }); diff --git a/test/parallel/test-dgram-send-bad-arguments.js b/test/parallel/test-dgram-send-bad-arguments.js index 644ffb3327ba05..ea51a4d16504f3 100644 --- a/test/parallel/test-dgram-send-bad-arguments.js +++ b/test/parallel/test-dgram-send-bad-arguments.js @@ -30,11 +30,11 @@ const sock = dgram.createSocket('udp4'); function checkArgs(connected) { // First argument should be a buffer. - common.expectsError( + assert.throws( () => { sock.send(); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "buffer" argument must be of type string or an instance ' + 'of Buffer or Uint8Array. Received undefined' } @@ -42,38 +42,38 @@ function checkArgs(connected) { // send(buf, offset, length, port, host) if (connected) { - common.expectsError( + assert.throws( () => { sock.send(buf, 1, 1, -1, host); }, { code: 'ERR_SOCKET_DGRAM_IS_CONNECTED', - type: Error, + name: 'Error', message: 'Already connected' } ); - common.expectsError( + assert.throws( () => { sock.send(buf, 1, 1, 0, host); }, { code: 'ERR_SOCKET_DGRAM_IS_CONNECTED', - type: Error, + name: 'Error', message: 'Already connected' } ); - common.expectsError( + assert.throws( () => { sock.send(buf, 1, 1, 65536, host); }, { code: 'ERR_SOCKET_DGRAM_IS_CONNECTED', - type: Error, + name: 'Error', message: 'Already connected' } ); - common.expectsError( + assert.throws( () => { sock.send(buf, 1234, '127.0.0.1', common.mustNotCall()); }, { code: 'ERR_SOCKET_DGRAM_IS_CONNECTED', - type: Error, + name: 'Error', message: 'Already connected' } ); @@ -84,22 +84,22 @@ function checkArgs(connected) { } // send(buf, port, host) - common.expectsError( + assert.throws( () => { sock.send(23, 12345, host); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "buffer" argument must be of type string or an instance ' + 'of Buffer or Uint8Array. Received type number (23)' } ); // send([buf1, ..], port, host) - common.expectsError( + assert.throws( () => { sock.send([buf, 23], 12345, host); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "buffer list arguments" argument must be of type string ' + 'or an instance of Buffer. Received an instance of Array' } diff --git a/test/parallel/test-dgram-setTTL.js b/test/parallel/test-dgram-setTTL.js index 36af63de10134a..4252f4b00148a7 100644 --- a/test/parallel/test-dgram-setTTL.js +++ b/test/parallel/test-dgram-setTTL.js @@ -9,11 +9,11 @@ socket.on('listening', common.mustCall(() => { const result = socket.setTTL(16); assert.strictEqual(result, 16); - common.expectsError(() => { + assert.throws(() => { socket.setTTL('foo'); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "ttl" argument must be of type number. Received type string' + " ('foo')" }); diff --git a/test/parallel/test-dgram-socket-buffer-size.js b/test/parallel/test-dgram-socket-buffer-size.js index d3317e85c3d1b6..c03b8bf48b0221 100644 --- a/test/parallel/test-dgram-socket-buffer-size.js +++ b/test/parallel/test-dgram-socket-buffer-size.js @@ -5,7 +5,6 @@ const common = require('../common'); const assert = require('assert'); const dgram = require('dgram'); const { inspect } = require('util'); -const { SystemError } = require('internal/errors'); const { internalBinding } = require('internal/test/binding'); const { UV_EBADF, @@ -61,7 +60,7 @@ function getExpectedError(type) { return true; }); - common.expectsError(() => { + assert.throws(() => { socket.getSendBufferSize(); }, errorObj); } @@ -72,11 +71,11 @@ function getExpectedError(type) { // Should throw error if the socket is never bound. const errorObj = getExpectedError('recv'); - common.expectsError(() => { + assert.throws(() => { socket.setRecvBufferSize(8192); }, errorObj); - common.expectsError(() => { + assert.throws(() => { socket.getRecvBufferSize(); }, errorObj); } @@ -85,7 +84,7 @@ function getExpectedError(type) { // Should throw error if invalid buffer size is specified const errorObj = { code: 'ERR_SOCKET_BAD_BUFFER_SIZE', - type: TypeError, + name: 'TypeError', message: /^Buffer size must be a positive integer$/ }; @@ -95,11 +94,11 @@ function getExpectedError(type) { socket.bind(common.mustCall(() => { badBufferSizes.forEach((badBufferSize) => { - common.expectsError(() => { + assert.throws(() => { socket.setRecvBufferSize(badBufferSize); }, errorObj); - common.expectsError(() => { + assert.throws(() => { socket.setSendBufferSize(badBufferSize); }, errorObj); }); @@ -132,14 +131,14 @@ function getExpectedError(type) { }; const errorObj = { code: 'ERR_SOCKET_BUFFER_SIZE', - type: SystemError, + name: 'SystemError', message: 'Could not get or set buffer size: uv_recv_buffer_size ' + 'returned EINVAL (invalid argument)', info }; const socket = dgram.createSocket('udp4'); socket.bind(common.mustCall(() => { - common.expectsError(() => { + assert.throws(() => { socket.setRecvBufferSize(2147483648); }, errorObj); socket.close(); @@ -155,14 +154,14 @@ function getExpectedError(type) { }; const errorObj = { code: 'ERR_SOCKET_BUFFER_SIZE', - type: SystemError, + name: 'SystemError', message: 'Could not get or set buffer size: uv_send_buffer_size ' + 'returned EINVAL (invalid argument)', info }; const socket = dgram.createSocket('udp4'); socket.bind(common.mustCall(() => { - common.expectsError(() => { + assert.throws(() => { socket.setSendBufferSize(2147483648); }, errorObj); socket.close(); diff --git a/test/parallel/test-dns-lookup.js b/test/parallel/test-dns-lookup.js index 92943fd818b7e9..80e13d308d3217 100644 --- a/test/parallel/test-dns-lookup.js +++ b/test/parallel/test-dns-lookup.js @@ -15,12 +15,12 @@ const dnsPromises = dns.promises; { const err = { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: /^The "hostname" argument must be of type string\. Received type number/ }; - common.expectsError(() => dns.lookup(1, {}), err); - common.expectsError(() => dnsPromises.lookup(1, {}), err); + assert.throws(() => dns.lookup(1, {}), err); + assert.throws(() => dnsPromises.lookup(1, {}), err); } // This also verifies different expectWarning notations. @@ -36,24 +36,24 @@ common.expectWarning({ } }); -common.expectsError(() => { +assert.throws(() => { dns.lookup(false, 'cb'); }, { code: 'ERR_INVALID_CALLBACK', - type: TypeError + name: 'TypeError' }); -common.expectsError(() => { +assert.throws(() => { dns.lookup(false, 'options', 'cb'); }, { code: 'ERR_INVALID_CALLBACK', - type: TypeError + name: 'TypeError' }); { const err = { code: 'ERR_INVALID_OPT_VALUE', - type: TypeError, + name: 'TypeError', message: 'The value "100" is invalid for option "hints"' }; const options = { @@ -62,8 +62,8 @@ common.expectsError(() => { all: false }; - common.expectsError(() => { dnsPromises.lookup(false, options); }, err); - common.expectsError(() => { + assert.throws(() => { dnsPromises.lookup(false, options); }, err); + assert.throws(() => { dns.lookup(false, options, common.mustNotCall()); }, err); } @@ -71,7 +71,7 @@ common.expectsError(() => { { const err = { code: 'ERR_INVALID_OPT_VALUE', - type: TypeError, + name: 'TypeError', message: 'The value "20" is invalid for option "family"' }; const options = { @@ -80,8 +80,8 @@ common.expectsError(() => { all: false }; - common.expectsError(() => { dnsPromises.lookup(false, options); }, err); - common.expectsError(() => { + assert.throws(() => { dnsPromises.lookup(false, options); }, err); + assert.throws(() => { dns.lookup(false, options, common.mustNotCall()); }, err); } diff --git a/test/parallel/test-dns-promises-lookupService.js b/test/parallel/test-dns-promises-lookupService.js new file mode 100644 index 00000000000000..d7e50f194da8a1 --- /dev/null +++ b/test/parallel/test-dns-promises-lookupService.js @@ -0,0 +1,19 @@ +'use strict'; + +const common = require('../common'); + +const assert = require('assert'); +const dnsPromises = require('dns').promises; + +dnsPromises.lookupService('127.0.0.1', 22).then(common.mustCall((result) => { + assert.strictEqual(result.service, 'ssh'); + assert.strictEqual(typeof result.hostname, 'string'); + assert.notStrictEqual(result.hostname.length, 0); +})); + +// Use an IP from the RFC 5737 test range to cause an error. +// Refs: https://tools.ietf.org/html/rfc5737 +assert.rejects( + () => dnsPromises.lookupService('192.0.2.1', 22), + { code: /^(?:ENOTFOUND|EAI_AGAIN)$/ } +); diff --git a/test/parallel/test-dns-resolve-promises.js b/test/parallel/test-dns-resolve-promises.js new file mode 100644 index 00000000000000..783ed2a709edb6 --- /dev/null +++ b/test/parallel/test-dns-resolve-promises.js @@ -0,0 +1,20 @@ +// Flags: --expose-internals +'use strict'; +require('../common'); +const assert = require('assert'); +const { internalBinding } = require('internal/test/binding'); +const cares = internalBinding('cares_wrap'); +const { UV_EPERM } = internalBinding('uv'); +const dnsPromises = require('dns').promises; + +// Stub cares to force an error so we can test DNS error code path. +cares.ChannelWrap.prototype.queryA = () => UV_EPERM; + +assert.rejects( + dnsPromises.resolve('example.org'), + { + code: 'EPERM', + syscall: 'queryA', + hostname: 'example.org' + } +); diff --git a/test/parallel/test-dns-resolvens-typeerror.js b/test/parallel/test-dns-resolvens-typeerror.js index 5a72b540130e0c..54e0da57604ed8 100644 --- a/test/parallel/test-dns-resolvens-typeerror.js +++ b/test/parallel/test-dns-resolvens-typeerror.js @@ -20,35 +20,36 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); // This test ensures `dns.resolveNs()` does not raise a C++-land assertion error // and throw a JavaScript TypeError instead. // Issue https://github.com/nodejs/node-v0.x-archive/issues/7070 +const assert = require('assert'); const dns = require('dns'); const dnsPromises = dns.promises; -common.expectsError( +assert.throws( () => dnsPromises.resolveNs([]), // bad name { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: /^The "name" argument must be of type string/ } ); -common.expectsError( +assert.throws( () => dns.resolveNs([]), // bad name { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: /^The "name" argument must be of type string/ } ); -common.expectsError( +assert.throws( () => dns.resolveNs(''), // bad callback { code: 'ERR_INVALID_CALLBACK', - type: TypeError + name: 'TypeError' } ); diff --git a/test/parallel/test-dns-setserver-when-querying.js b/test/parallel/test-dns-setserver-when-querying.js index 12cb1a1ca2a869..0432f2d4655a07 100644 --- a/test/parallel/test-dns-setserver-when-querying.js +++ b/test/parallel/test-dns-setserver-when-querying.js @@ -2,6 +2,7 @@ const common = require('../common'); +const assert = require('assert'); const dns = require('dns'); const localhost = [ '127.0.0.1' ]; @@ -13,7 +14,7 @@ const localhost = [ '127.0.0.1' ]; const resolver = new dns.Resolver(); resolver.resolve('localhost', common.mustCall()); - common.expectsError(resolver.setServers.bind(resolver, localhost), { + assert.throws(resolver.setServers.bind(resolver, localhost), { code: 'ERR_DNS_SET_SERVERS_FAILED', message: /^c-ares failed to set servers: "There are pending queries\." \[.+\]$/g }); diff --git a/test/parallel/test-dns.js b/test/parallel/test-dns.js index 49d9ab47ff9ebf..f0f94aefbbd241 100644 --- a/test/parallel/test-dns.js +++ b/test/parallel/test-dns.js @@ -96,14 +96,14 @@ const goog = [ ]; dns.setServers(goog); assert.deepStrictEqual(dns.getServers(), goog); -common.expectsError(() => dns.setServers(['foobar']), { +assert.throws(() => dns.setServers(['foobar']), { code: 'ERR_INVALID_IP_ADDRESS', - type: TypeError, + name: 'TypeError', message: 'Invalid IP address: foobar' }); -common.expectsError(() => dns.setServers(['127.0.0.1:va']), { +assert.throws(() => dns.setServers(['127.0.0.1:va']), { code: 'ERR_INVALID_IP_ADDRESS', - type: TypeError, + name: 'TypeError', message: 'Invalid IP address: 127.0.0.1:va' }); assert.deepStrictEqual(dns.getServers(), goog); @@ -142,36 +142,36 @@ assert.deepStrictEqual(dns.getServers(), []); { const errObj = { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "rrtype" argument must be of type string. ' + 'Received an instance of Array' }; - common.expectsError(() => { + assert.throws(() => { dns.resolve('example.com', [], common.mustNotCall()); }, errObj); - common.expectsError(() => { + assert.throws(() => { dnsPromises.resolve('example.com', []); }, errObj); } { const errObj = { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "name" argument must be of type string. ' + 'Received undefined' }; - common.expectsError(() => { + assert.throws(() => { dnsPromises.resolve(); }, errObj); } // dns.lookup should accept only falsey and string values { - const errorReg = common.expectsError({ + const errorReg = { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: /^The "hostname" argument must be of type string\. Received .*/ - }, 10); + }; assert.throws(() => dns.lookup({}, common.mustNotCall()), errorReg); @@ -219,26 +219,26 @@ assert.deepStrictEqual(dns.getServers(), []); const hints = (dns.V4MAPPED | dns.ADDRCONFIG) + 1; const err = { code: 'ERR_INVALID_OPT_VALUE', - type: TypeError, + name: 'TypeError', message: /The value "\d+" is invalid for option "hints"/ }; - common.expectsError(() => { + assert.throws(() => { dnsPromises.lookup('nodejs.org', { hints }); }, err); - common.expectsError(() => { + assert.throws(() => { dns.lookup('nodejs.org', { hints }, common.mustNotCall()); }, err); } -common.expectsError(() => dns.lookup('nodejs.org'), { +assert.throws(() => dns.lookup('nodejs.org'), { code: 'ERR_INVALID_CALLBACK', - type: TypeError + name: 'TypeError' }); -common.expectsError(() => dns.lookup('nodejs.org', 4), { +assert.throws(() => dns.lookup('nodejs.org', 4), { code: 'ERR_INVALID_CALLBACK', - type: TypeError + name: 'TypeError' }); dns.lookup('', { family: 4, hints: 0 }, common.mustCall()); @@ -264,29 +264,29 @@ dns.lookup('', { { const err = { code: 'ERR_MISSING_ARGS', - type: TypeError, + name: 'TypeError', message: 'The "address", "port", and "callback" arguments must be ' + 'specified' }; - common.expectsError(() => dns.lookupService('0.0.0.0'), err); + assert.throws(() => dns.lookupService('0.0.0.0'), err); err.message = 'The "address" and "port" arguments must be specified'; - common.expectsError(() => dnsPromises.lookupService('0.0.0.0'), err); + assert.throws(() => dnsPromises.lookupService('0.0.0.0'), err); } { const invalidAddress = 'fasdfdsaf'; const err = { code: 'ERR_INVALID_OPT_VALUE', - type: TypeError, + name: 'TypeError', message: `The value "${invalidAddress}" is invalid for option "address"` }; - common.expectsError(() => { + assert.throws(() => { dnsPromises.lookupService(invalidAddress, 0); }, err); - common.expectsError(() => { + assert.throws(() => { dns.lookupService(invalidAddress, 0, common.mustNotCall()); }, err); } @@ -296,14 +296,14 @@ const portErr = (port) => { code: 'ERR_SOCKET_BAD_PORT', message: `Port should be >= 0 and < 65536. Received ${port}.`, - type: RangeError + name: 'RangeError' }; - common.expectsError(() => { + assert.throws(() => { dnsPromises.lookupService('0.0.0.0', port); }, err); - common.expectsError(() => { + assert.throws(() => { dns.lookupService('0.0.0.0', port, common.mustNotCall()); }, err); }; @@ -312,11 +312,11 @@ portErr(undefined); portErr(65538); portErr('test'); -common.expectsError(() => { +assert.throws(() => { dns.lookupService('0.0.0.0', 80, null); }, { code: 'ERR_INVALID_CALLBACK', - type: TypeError + name: 'TypeError' }); { diff --git a/test/parallel/test-domain-load-after-set-uncaught-exception-capture.js b/test/parallel/test-domain-load-after-set-uncaught-exception-capture.js index 697d4d30806ee7..4018220711517f 100644 --- a/test/parallel/test-domain-load-after-set-uncaught-exception-capture.js +++ b/test/parallel/test-domain-load-after-set-uncaught-exception-capture.js @@ -1,13 +1,14 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); process.setUncaughtExceptionCaptureCallback(common.mustNotCall()); -common.expectsError( +assert.throws( () => require('domain'), { code: 'ERR_DOMAIN_CALLBACK_NOT_AVAILABLE', - type: Error, + name: 'Error', message: /^A callback was registered.*with using the `domain` module/ } ); diff --git a/test/parallel/test-domain-set-uncaught-exception-capture-after-load.js b/test/parallel/test-domain-set-uncaught-exception-capture-after-load.js index e7cbffd00758e2..55e2e5368d7d17 100644 --- a/test/parallel/test-domain-set-uncaught-exception-capture-after-load.js +++ b/test/parallel/test-domain-set-uncaught-exception-capture-after-load.js @@ -12,7 +12,7 @@ assert.throws( common.expectsError( { code: 'ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE', - type: Error, + name: 'Error', message: /^The `domain` module is in use, which is mutually/ } )(err); diff --git a/test/parallel/test-eslint-number-isnan.js b/test/parallel/test-eslint-number-isnan.js deleted file mode 100644 index 73359be3bcd37f..00000000000000 --- a/test/parallel/test-eslint-number-isnan.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -const common = require('../common'); -if (!common.hasCrypto) - common.skip('missing crypto'); - -common.skipIfEslintMissing(); - -const RuleTester = require('../../tools/node_modules/eslint').RuleTester; -const rule = require('../../tools/eslint-rules/number-isnan'); - -const message = 'Please use Number.isNaN instead of the global isNaN function'; - -new RuleTester().run('number-isnan', rule, { - valid: [ - 'Number.isNaN()' - ], - invalid: [ - { - code: 'isNaN()', - errors: [{ message }] - } - ] -}); diff --git a/test/parallel/test-eslint-prefer-common-expectserror.js b/test/parallel/test-eslint-prefer-common-expectserror.js deleted file mode 100644 index 9829b2adb8ea21..00000000000000 --- a/test/parallel/test-eslint-prefer-common-expectserror.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict'; - -const common = require('../common'); -if (!common.hasCrypto) - common.skip('missing crypto'); - -common.skipIfEslintMissing(); - -const RuleTester = require('../../tools/node_modules/eslint').RuleTester; -const rule = require('../../tools/eslint-rules/prefer-common-expectserror'); - -const message = 'Please use common.expectsError(fn, err) instead of ' + - 'assert.throws(fn, common.expectsError(err)).'; - -new RuleTester().run('prefer-common-expectserror', rule, { - valid: [ - 'assert.throws(fn, /[a-z]/)', - 'assert.throws(function () {}, function() {})', - 'common.expectsError(function() {}, err)' - ], - invalid: [ - { - code: 'assert.throws(function() {}, common.expectsError(err))', - errors: [{ message }] - }, - { - code: 'assert.throws(fn, common.expectsError(err))', - errors: [{ message }] - } - ] -}); diff --git a/test/parallel/test-event-capture-rejections.js b/test/parallel/test-event-capture-rejections.js index 83da3184a67116..dbe5deeefade99 100644 --- a/test/parallel/test-event-capture-rejections.js +++ b/test/parallel/test-event-capture-rejections.js @@ -278,14 +278,14 @@ function resetCaptureOnThrowInError() { function argValidation() { function testType(obj) { - common.expectsError(() => new EventEmitter({ captureRejections: obj }), { + assert.throws(() => new EventEmitter({ captureRejections: obj }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); - common.expectsError(() => EventEmitter.captureRejections = obj, { + assert.throws(() => EventEmitter.captureRejections = obj, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); } diff --git a/test/parallel/test-event-emitter-add-listeners.js b/test/parallel/test-event-emitter-add-listeners.js index d7ebf424380c4b..4b0305c176bd14 100644 --- a/test/parallel/test-event-emitter-add-listeners.js +++ b/test/parallel/test-event-emitter-add-listeners.js @@ -86,12 +86,12 @@ const EventEmitter = require('events'); } // Verify that the listener must be a function -common.expectsError(() => { +assert.throws(() => { const ee = new EventEmitter(); ee.on('foo', null); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "listener" argument must be of type function. ' + 'Received null' }); diff --git a/test/parallel/test-event-emitter-errors.js b/test/parallel/test-event-emitter-errors.js index 13d3a98d9c0a50..0a5e707a61a178 100644 --- a/test/parallel/test-event-emitter-errors.js +++ b/test/parallel/test-event-emitter-errors.js @@ -1,36 +1,37 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const EventEmitter = require('events'); const util = require('util'); const EE = new EventEmitter(); -common.expectsError( +assert.throws( () => EE.emit('error', 'Accepts a string'), { code: 'ERR_UNHANDLED_ERROR', - type: Error, + name: 'Error', message: "Unhandled error. ('Accepts a string')" } ); -common.expectsError( +assert.throws( () => EE.emit('error', { message: 'Error!' }), { code: 'ERR_UNHANDLED_ERROR', - type: Error, + name: 'Error', message: "Unhandled error. ({ message: 'Error!' })" } ); -common.expectsError( +assert.throws( () => EE.emit('error', { message: 'Error!', [util.inspect.custom]() { throw new Error(); } }), { code: 'ERR_UNHANDLED_ERROR', - type: Error, + name: 'Error', message: 'Unhandled error. ([object Object])' } ); diff --git a/test/parallel/test-event-emitter-max-listeners.js b/test/parallel/test-event-emitter-max-listeners.js index 39b5737fde92a2..d1ac013bfb239f 100644 --- a/test/parallel/test-event-emitter-max-listeners.js +++ b/test/parallel/test-event-emitter-max-listeners.js @@ -21,6 +21,7 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const events = require('events'); const { inspect } = require('util'); const e = new events.EventEmitter(); @@ -33,21 +34,21 @@ e.setMaxListeners(42); const throwsObjs = [NaN, -1, 'and even this']; for (const obj of throwsObjs) { - common.expectsError( + assert.throws( () => e.setMaxListeners(obj), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "n" is out of range. ' + `It must be a non-negative number. Received ${inspect(obj)}` } ); - common.expectsError( + assert.throws( () => events.defaultMaxListeners = obj, { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "defaultMaxListeners" is out of range. ' + `It must be a non-negative number. Received ${inspect(obj)}` } diff --git a/test/parallel/test-event-emitter-once.js b/test/parallel/test-event-emitter-once.js index 5b74185b12c453..1ad2de1da556bf 100644 --- a/test/parallel/test-event-emitter-once.js +++ b/test/parallel/test-event-emitter-once.js @@ -50,12 +50,12 @@ e.once('e', common.mustCall()); e.emit('e'); // Verify that the listener must be a function -common.expectsError(() => { +assert.throws(() => { const ee = new EventEmitter(); ee.once('foo', null); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "listener" argument must be of type function. ' + 'Received null' }); diff --git a/test/parallel/test-event-emitter-prepend.js b/test/parallel/test-event-emitter-prepend.js index 21f381af85fa1d..c65b6b8f780f5c 100644 --- a/test/parallel/test-event-emitter-prepend.js +++ b/test/parallel/test-event-emitter-prepend.js @@ -19,12 +19,12 @@ myEE.prependOnceListener('foo', myEE.emit('foo'); // Verify that the listener must be a function -common.expectsError(() => { +assert.throws(() => { const ee = new EventEmitter(); ee.prependOnceListener('foo', null); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "listener" argument must be of type function. ' + 'Received null' }); diff --git a/test/parallel/test-event-emitter-remove-all-listeners.js b/test/parallel/test-event-emitter-remove-all-listeners.js index 3dfe65a8b4bfd0..c62183fd08c203 100644 --- a/test/parallel/test-event-emitter-remove-all-listeners.js +++ b/test/parallel/test-event-emitter-remove-all-listeners.js @@ -108,3 +108,16 @@ function expect(expected) { ee._events = undefined; assert.strictEqual(ee, ee.removeAllListeners()); } + +{ + const ee = new events.EventEmitter(); + const symbol = Symbol('symbol'); + const noop = common.mustNotCall(); + ee.on(symbol, noop); + + ee.on('removeListener', common.mustCall((...args) => { + assert.deepStrictEqual(args, [symbol, noop]); + })); + + ee.removeAllListeners(); +} diff --git a/test/parallel/test-event-emitter-remove-listeners.js b/test/parallel/test-event-emitter-remove-listeners.js index 97ae403ddd25b0..91e1f071046ac1 100644 --- a/test/parallel/test-event-emitter-remove-listeners.js +++ b/test/parallel/test-event-emitter-remove-listeners.js @@ -145,12 +145,12 @@ function listener2() {} } // Verify that the removed listener must be a function -common.expectsError(() => { +assert.throws(() => { const ee = new EventEmitter(); ee.removeListener('foo', null); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "listener" argument must be of type function. ' + 'Received null' }); diff --git a/test/parallel/test-file-write-stream.js b/test/parallel/test-file-write-stream.js index d66657d690f1b2..05a2d5432b5fb7 100644 --- a/test/parallel/test-file-write-stream.js +++ b/test/parallel/test-file-write-stream.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const path = require('path'); @@ -65,14 +65,14 @@ file assert.strictEqual(file.bytesWritten, EXPECTED.length * 2); callbacks.close++; - common.expectsError( + assert.throws( () => { console.error('write after end should not be allowed'); file.write('should not work anymore'); }, { code: 'ERR_STREAM_WRITE_AFTER_END', - type: Error, + name: 'Error', message: 'write after end' } ); diff --git a/test/parallel/test-file-write-stream3.js b/test/parallel/test-file-write-stream3.js index 45c431b5d51b94..c5af446198d55c 100644 --- a/test/parallel/test-file-write-stream3.js +++ b/test/parallel/test-file-write-stream3.js @@ -186,9 +186,9 @@ const run_test_4 = common.mustCall(function() { code: 'ERR_OUT_OF_RANGE', message: 'The value of "start" is out of range. ' + 'It must be >= 0 and <= 2 ** 53 - 1. Received -5', - type: RangeError + name: 'RangeError' }; - common.expectsError(fn, err); + assert.throws(fn, err); }); @@ -201,9 +201,9 @@ const run_test_5 = common.mustCall(function() { code: 'ERR_OUT_OF_RANGE', message: 'The value of "start" is out of range. It must be ' + '>= 0 and <= 2 ** 53 - 1. Received 9_007_199_254_740_992', - type: RangeError + name: 'RangeError' }; - common.expectsError(fn, err); + assert.throws(fn, err); }); run_test_1(); diff --git a/test/parallel/test-file-write-stream4.js b/test/parallel/test-file-write-stream4.js new file mode 100644 index 00000000000000..2a81efcb66756f --- /dev/null +++ b/test/parallel/test-file-write-stream4.js @@ -0,0 +1,21 @@ +'use strict'; + +// Test that 'close' emits once and not twice when `emitClose: true` is set. +// Refs: https://github.com/nodejs/node/issues/31366 + +const common = require('../common'); +const path = require('path'); +const fs = require('fs'); + +const tmpdir = require('../common/tmpdir'); +tmpdir.refresh(); + +const filepath = path.join(tmpdir.path, 'write_pos.txt'); + +const fileReadStream = fs.createReadStream(process.execPath); +const fileWriteStream = fs.createWriteStream(filepath, { + emitClose: true +}); + +fileReadStream.pipe(fileWriteStream); +fileWriteStream.on('close', common.mustCall()); diff --git a/test/parallel/test-filehandle-close.js b/test/parallel/test-filehandle-close.js new file mode 100644 index 00000000000000..457b06a486f90f --- /dev/null +++ b/test/parallel/test-filehandle-close.js @@ -0,0 +1,17 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const fs = require('fs'); + +// Test that using FileHandle.close to close an already-closed fd fails +// with EBADF. + +(async function() { + const fh = await fs.promises.open(__filename); + fs.closeSync(fh.fd); + + assert.rejects(() => fh.close(), { + code: 'EBADF', + syscall: 'close' + }); +})().then(common.mustCall()); diff --git a/test/parallel/test-fs-access.js b/test/parallel/test-fs-access.js index 1d281a7ca9608c..2a431134af322e 100644 --- a/test/parallel/test-fs-access.js +++ b/test/parallel/test-fs-access.js @@ -135,22 +135,22 @@ fs.promises.access(readOnlyFile, fs.F_OK | fs.R_OK) .catch(throwNextTick); } -common.expectsError( +assert.throws( () => { fs.access(__filename, fs.F_OK); }, { code: 'ERR_INVALID_CALLBACK', - type: TypeError + name: 'TypeError' }); -common.expectsError( +assert.throws( () => { fs.access(__filename, fs.F_OK, {}); }, { code: 'ERR_INVALID_CALLBACK', - type: TypeError + name: 'TypeError' }); // Regular access should not throw. diff --git a/test/parallel/test-fs-assert-encoding-error.js b/test/parallel/test-fs-assert-encoding-error.js index e50a99d751ef62..a25d25852a162e 100644 --- a/test/parallel/test-fs-assert-encoding-error.js +++ b/test/parallel/test-fs-assert-encoding-error.js @@ -4,10 +4,10 @@ const assert = require('assert'); const fs = require('fs'); const options = 'test'; -const expectedError = common.expectsError({ +const expectedError = { code: 'ERR_INVALID_OPT_VALUE_ENCODING', - type: TypeError, -}, 17); + name: 'TypeError', +}; assert.throws(() => { fs.readFile('path', options, common.mustNotCall()); diff --git a/test/parallel/test-fs-buffer.js b/test/parallel/test-fs-buffer.js index bad5adea448f0b..d9afbaf7fa08ec 100644 --- a/test/parallel/test-fs-buffer.js +++ b/test/parallel/test-fs-buffer.js @@ -18,13 +18,13 @@ fs.open(buf, 'w+', common.mustCall((err, fd) => { fs.close(fd, common.mustCall(assert.ifError)); })); -common.expectsError( +assert.throws( () => { fs.accessSync(true); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "path" argument must be of type string or an instance of ' + 'Buffer or URL. Received type boolean (true)' } diff --git a/test/parallel/test-fs-chmod.js b/test/parallel/test-fs-chmod.js index 8314c6f73daaf0..36e417c6c4b5e3 100644 --- a/test/parallel/test-fs-chmod.js +++ b/test/parallel/test-fs-chmod.js @@ -109,11 +109,11 @@ fs.open(file2, 'w', common.mustCall((err, fd) => { assert.strictEqual(fs.fstatSync(fd).mode & 0o777, mode_async); } - common.expectsError( + assert.throws( () => fs.fchmod(fd, {}), { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError, + name: 'TypeError', message: 'The argument \'mode\' must be a 32-bit unsigned integer ' + 'or an octal string. Received {}' } diff --git a/test/parallel/test-fs-chown-type-check.js b/test/parallel/test-fs-chown-type-check.js index 897c3e1de2d7e2..0ca78aa86ea981 100644 --- a/test/parallel/test-fs-chown-type-check.js +++ b/test/parallel/test-fs-chown-type-check.js @@ -1,52 +1,53 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const fs = require('fs'); [false, 1, {}, [], null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.chown(i, 1, 1, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.chownSync(i, 1, 1), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); [false, 'test', {}, [], null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.chown('not_a_file_that_exists', i, 1, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.chown('not_a_file_that_exists', 1, i, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.chownSync('not_a_file_that_exists', i, 1), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.chownSync('not_a_file_that_exists', 1, i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-fs-copyfile.js b/test/parallel/test-fs-copyfile.js index 90e7c7009d1680..ab27ed66848c6b 100644 --- a/test/parallel/test-fs-copyfile.js +++ b/test/parallel/test-fs-copyfile.js @@ -101,41 +101,41 @@ fs.copyFile(src, dest, common.mustCall((err) => { })); // Throws if callback is not a function. -common.expectsError(() => { +assert.throws(() => { fs.copyFile(src, dest, 0, 0); }, { code: 'ERR_INVALID_CALLBACK', - type: TypeError + name: 'TypeError' }); // Throws if the source path is not a string. [false, 1, {}, [], null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.copyFile(i, dest, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.copyFile(src, i, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.copyFileSync(i, dest), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.copyFileSync(src, i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-fs-fchown.js b/test/parallel/test-fs-fchown.js index cf28d54e9d9679..03a9ef3780ae6b 100644 --- a/test/parallel/test-fs-fchown.js +++ b/test/parallel/test-fs-fchown.js @@ -44,7 +44,7 @@ function testGid(input, errObj) { testGid(input, errObj); }); -[-1, 2 ** 32].forEach((input) => { +[-2, 2 ** 32].forEach((input) => { const errObj = { code: 'ERR_OUT_OF_RANGE', name: 'RangeError', @@ -52,8 +52,8 @@ function testGid(input, errObj) { `>= 0 && <= 2147483647. Received ${input}` }; testFd(input, errObj); - errObj.message = 'The value of "uid" is out of range. It must be >= 0 && ' + - `< 4294967296. Received ${input}`; + errObj.message = 'The value of "uid" is out of range. It must be >= -1 && ' + + `<= 4294967295. Received ${input}`; testUid(input, errObj); errObj.message = errObj.message.replace('uid', 'gid'); testGid(input, errObj); diff --git a/test/parallel/test-fs-filehandle-use-after-close.js b/test/parallel/test-fs-filehandle-use-after-close.js new file mode 100644 index 00000000000000..7b99e41cd02284 --- /dev/null +++ b/test/parallel/test-fs-filehandle-use-after-close.js @@ -0,0 +1,25 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const fs = require('fs').promises; + +(async () => { + const filehandle = await fs.open(__filename); + + assert.notStrictEqual(filehandle.fd, -1); + await filehandle.close(); + assert.strictEqual(filehandle.fd, -1); + + // Open another file handle first. This would typically receive the fd + // that `filehandle` previously used. In earlier versions of Node.js, the + // .stat() call would then succeed because it still used the original fd; + // See https://github.com/nodejs/node/issues/31361 for more details. + const otherFilehandle = await fs.open(process.execPath); + + assert.rejects(() => filehandle.stat(), { + code: 'EBADF', + syscall: 'fstat' + }); + + await otherFilehandle.close(); +})().then(common.mustCall()); diff --git a/test/parallel/test-fs-lchmod.js b/test/parallel/test-fs-lchmod.js index 3b5a51becde608..0a740b65041faf 100644 --- a/test/parallel/test-fs-lchmod.js +++ b/test/parallel/test-fs-lchmod.js @@ -21,18 +21,18 @@ assert.throws(() => fs.lchmod(f, {}), { code: 'ERR_INVALID_CALLBACK' }); // Check path [false, 1, {}, [], null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.lchmod(i, 0o777, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.lchmodSync(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-fs-lchown.js b/test/parallel/test-fs-lchown.js index bf8673c0718769..a554c8914b6f56 100644 --- a/test/parallel/test-fs-lchown.js +++ b/test/parallel/test-fs-lchown.js @@ -9,10 +9,10 @@ const { promises } = fs; // Validate the path argument. [false, 1, {}, [], null, undefined].forEach((i) => { - const err = { type: TypeError, code: 'ERR_INVALID_ARG_TYPE' }; + const err = { name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE' }; - common.expectsError(() => fs.lchown(i, 1, 1, common.mustNotCall()), err); - common.expectsError(() => fs.lchownSync(i, 1, 1), err); + assert.throws(() => fs.lchown(i, 1, 1, common.mustNotCall()), err); + assert.throws(() => fs.lchownSync(i, 1, 1), err); promises.lchown(false, 1, 1) .then(common.mustNotCall()) .catch(common.expectsError(err)); @@ -20,18 +20,18 @@ const { promises } = fs; // Validate the uid and gid arguments. [false, 'test', {}, [], null, undefined].forEach((i) => { - const err = { type: TypeError, code: 'ERR_INVALID_ARG_TYPE' }; + const err = { name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE' }; - common.expectsError( + assert.throws( () => fs.lchown('not_a_file_that_exists', i, 1, common.mustNotCall()), err ); - common.expectsError( + assert.throws( () => fs.lchown('not_a_file_that_exists', 1, i, common.mustNotCall()), err ); - common.expectsError(() => fs.lchownSync('not_a_file_that_exists', i, 1), err); - common.expectsError(() => fs.lchownSync('not_a_file_that_exists', 1, i), err); + assert.throws(() => fs.lchownSync('not_a_file_that_exists', i, 1), err); + assert.throws(() => fs.lchownSync('not_a_file_that_exists', 1, i), err); promises.lchown('not_a_file_that_exists', i, 1) .then(common.mustNotCall()) @@ -44,8 +44,8 @@ const { promises } = fs; // Validate the callback argument. [false, 1, 'test', {}, [], null, undefined].forEach((i) => { - common.expectsError(() => fs.lchown('not_a_file_that_exists', 1, 1, i), { - type: TypeError, + assert.throws(() => fs.lchown('not_a_file_that_exists', 1, 1, i), { + name: 'TypeError', code: 'ERR_INVALID_CALLBACK' }); }); diff --git a/test/parallel/test-fs-link.js b/test/parallel/test-fs-link.js index f4f3f787d7fd51..ffa0e0bc635707 100644 --- a/test/parallel/test-fs-link.js +++ b/test/parallel/test-fs-link.js @@ -23,32 +23,32 @@ fs.link(srcPath, dstPath, common.mustCall(callback)); // test error outputs [false, 1, [], {}, null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.link(i, '', common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.link('', i, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.linkSync(i, ''), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.linkSync('', i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-fs-make-callback.js b/test/parallel/test-fs-make-callback.js index d3ff165513156c..0cbc4a7fe3e186 100644 --- a/test/parallel/test-fs-make-callback.js +++ b/test/parallel/test-fs-make-callback.js @@ -1,5 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const fs = require('fs'); const callbackThrowValues = [null, true, false, 0, 1, 'foo', /foo/, [], {}]; @@ -17,9 +18,9 @@ function testMakeCallback(cb) { function invalidCallbackThrowsTests() { callbackThrowValues.forEach((value) => { - common.expectsError(testMakeCallback(value), { + assert.throws(testMakeCallback(value), { code: 'ERR_INVALID_CALLBACK', - type: TypeError + name: 'TypeError' }); }); } diff --git a/test/parallel/test-fs-makeStatsCallback.js b/test/parallel/test-fs-makeStatsCallback.js index c8de29e407fec2..52d129db2b6bc8 100644 --- a/test/parallel/test-fs-makeStatsCallback.js +++ b/test/parallel/test-fs-makeStatsCallback.js @@ -1,5 +1,6 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const fs = require('fs'); const callbackThrowValues = [null, true, false, 0, 1, 'foo', /foo/, [], {}]; @@ -15,9 +16,9 @@ testMakeStatsCallback(common.mustCall())(); function invalidCallbackThrowsTests() { callbackThrowValues.forEach((value) => { - common.expectsError(testMakeStatsCallback(value), { + assert.throws(testMakeStatsCallback(value), { code: 'ERR_INVALID_CALLBACK', - type: TypeError + name: 'TypeError' }); }); } diff --git a/test/parallel/test-fs-mkdir-recursive-eaccess.js b/test/parallel/test-fs-mkdir-recursive-eaccess.js new file mode 100644 index 00000000000000..d0b3b2b950cf7b --- /dev/null +++ b/test/parallel/test-fs-mkdir-recursive-eaccess.js @@ -0,0 +1,71 @@ +'use strict'; + +// Test that mkdir with recursive option returns appropriate error +// when executed on folder it does not have permission to access. +// Ref: https://github.com/nodejs/node/issues/31481 + +const common = require('../common'); + +if (!common.isWindows && process.getuid() === 0) + common.skip('as this test should not be run as `root`'); + +if (common.isIBMi) + common.skip('IBMi has a different access permission mechanism'); + +const tmpdir = require('../common/tmpdir'); +tmpdir.refresh(); + +const assert = require('assert'); +const { execSync } = require('child_process'); +const fs = require('fs'); +const path = require('path'); + +let n = 0; + +function makeDirectoryReadOnly(dir) { + let accessErrorCode = 'EACCES'; + if (common.isWindows) { + accessErrorCode = 'EPERM'; + execSync(`icacls ${dir} /inheritance:r`); + execSync(`icacls ${dir} /deny "everyone":W`); + } else { + fs.chmodSync(dir, '444'); + } + return accessErrorCode; +} + +function makeDirectoryWritable(dir) { + if (common.isWindows) { + execSync(`icacls ${dir} /grant "everyone":W`); + } +} + +// Synchronous API should return an EACCESS error with path populated. +{ + const dir = path.join(tmpdir.path, `mkdirp_${n++}`); + fs.mkdirSync(dir); + const codeExpected = makeDirectoryReadOnly(dir); + let err = null; + try { + fs.mkdirSync(path.join(dir, '/foo'), { recursive: true }); + } catch (_err) { + err = _err; + } + makeDirectoryWritable(dir); + assert(err); + assert.strictEqual(err.code, codeExpected); + assert(err.path); +} + +// Asynchronous API should return an EACCESS error with path populated. +{ + const dir = path.join(tmpdir.path, `mkdirp_${n++}`); + fs.mkdirSync(dir); + const codeExpected = makeDirectoryReadOnly(dir); + fs.mkdir(path.join(dir, '/bar'), { recursive: true }, (err) => { + makeDirectoryWritable(dir); + assert(err); + assert.strictEqual(err.code, codeExpected); + assert(err.path); + }); +} diff --git a/test/parallel/test-fs-mkdir.js b/test/parallel/test-fs-mkdir.js index 5e9a2bd75ea2a3..c911587753a091 100644 --- a/test/parallel/test-fs-mkdir.js +++ b/test/parallel/test-fs-mkdir.js @@ -66,18 +66,18 @@ function nextdir() { // mkdirSync and mkdir require path to be a string, buffer or url. // Anything else generates an error. [false, 1, {}, [], null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.mkdir(i, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.mkdirSync(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); @@ -148,6 +148,7 @@ function nextdir() { message: /ENOTDIR: .*mkdir/, name: 'Error', syscall: 'mkdir', + path: pathname // See: https://github.com/nodejs/node/issues/28015 } ); } @@ -187,6 +188,11 @@ function nextdir() { assert.strictEqual(err.code, 'ENOTDIR'); assert.strictEqual(err.syscall, 'mkdir'); assert.strictEqual(fs.existsSync(pathname), false); + // See: https://github.com/nodejs/node/issues/28015 + // The path field varies slightly in Windows errors, vs., other platforms + // see: https://github.com/libuv/libuv/issues/2661, for this reason we + // use startsWith() rather than comparing to the full "pathname". + assert(err.path.startsWith(filename)); })); } @@ -218,20 +224,20 @@ if (common.isMainThread && (common.isLinux || common.isOSX)) { const pathname = path.join(tmpdir.path, nextdir()); ['', 1, {}, [], null, Symbol('test'), () => {}].forEach((recursive) => { const received = common.invalidArgTypeHelper(recursive); - common.expectsError( + assert.throws( () => fs.mkdir(pathname, { recursive }, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "recursive" argument must be of type boolean.' + received } ); - common.expectsError( + assert.throws( () => fs.mkdirSync(pathname, { recursive }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "recursive" argument must be of type boolean.' + received } diff --git a/test/parallel/test-fs-mkdtemp-prefix-check.js b/test/parallel/test-fs-mkdtemp-prefix-check.js index 4573dbbaae8435..1d9d88232a067e 100644 --- a/test/parallel/test-fs-mkdtemp-prefix-check.js +++ b/test/parallel/test-fs-mkdtemp-prefix-check.js @@ -1,28 +1,29 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const fs = require('fs'); const prefixValues = [undefined, null, 0, true, false, 1, '']; function fail(value) { - common.expectsError( + assert.throws( () => { fs.mkdtempSync(value, {}); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); } function failAsync(value) { - common.expectsError( + assert.throws( () => { fs.mkdtemp(value, common.mustNotCall()); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); } diff --git a/test/parallel/test-fs-non-number-arguments-throw.js b/test/parallel/test-fs-non-number-arguments-throw.js index 4f85229cf5c64b..a0d533667b3c1f 100644 --- a/test/parallel/test-fs-non-number-arguments-throw.js +++ b/test/parallel/test-fs-non-number-arguments-throw.js @@ -14,31 +14,31 @@ fs.writeFileSync(tempFile, 'abc\ndef'); const sanity = 'def'; const saneEmitter = fs.createReadStream(tempFile, { start: 4, end: 6 }); -common.expectsError( +assert.throws( () => { fs.createReadStream(tempFile, { start: '4', end: 6 }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); -common.expectsError( +assert.throws( () => { fs.createReadStream(tempFile, { start: 4, end: '6' }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); -common.expectsError( +assert.throws( () => { fs.createWriteStream(tempFile, { start: '4' }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); saneEmitter.on('data', common.mustCall(function(data) { diff --git a/test/parallel/test-fs-null-bytes.js b/test/parallel/test-fs-null-bytes.js index 25f74d6e54d6d1..beaea00969b630 100644 --- a/test/parallel/test-fs-null-bytes.js +++ b/test/parallel/test-fs-null-bytes.js @@ -30,24 +30,24 @@ function check(async, sync) { const argsAsync = argsSync.concat(common.mustNotCall()); if (sync) { - common.expectsError( + assert.throws( () => { sync.apply(null, argsSync); }, { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError, + name: 'TypeError', }); } if (async) { - common.expectsError( + assert.throws( () => { async.apply(null, argsAsync); }, { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError + name: 'TypeError' }); } } diff --git a/test/parallel/test-fs-open-flags.js b/test/parallel/test-fs-open-flags.js index d1fee24de690ac..6daaef817bff66 100644 --- a/test/parallel/test-fs-open-flags.js +++ b/test/parallel/test-fs-open-flags.js @@ -68,25 +68,25 @@ assert.strictEqual(stringToFlags('sa+'), O_APPEND | O_CREAT | O_RDWR | O_SYNC); ('+ +a +r +w rw wa war raw r++ a++ w++ x +x x+ rx rx+ wxx wax xwx xxx') .split(' ') .forEach(function(flags) { - common.expectsError( + assert.throws( () => stringToFlags(flags), - { code: 'ERR_INVALID_OPT_VALUE', type: TypeError } + { code: 'ERR_INVALID_OPT_VALUE', name: 'TypeError' } ); }); -common.expectsError( +assert.throws( () => stringToFlags({}), - { code: 'ERR_INVALID_OPT_VALUE', type: TypeError } + { code: 'ERR_INVALID_OPT_VALUE', name: 'TypeError' } ); -common.expectsError( +assert.throws( () => stringToFlags(true), - { code: 'ERR_INVALID_OPT_VALUE', type: TypeError } + { code: 'ERR_INVALID_OPT_VALUE', name: 'TypeError' } ); -common.expectsError( +assert.throws( () => stringToFlags(null), - { code: 'ERR_INVALID_OPT_VALUE', type: TypeError } + { code: 'ERR_INVALID_OPT_VALUE', name: 'TypeError' } ); if (common.isLinux || common.isOSX) { diff --git a/test/parallel/test-fs-open.js b/test/parallel/test-fs-open.js index e33c4e9331a828..c96c435c6c33b4 100644 --- a/test/parallel/test-fs-open.js +++ b/test/parallel/test-fs-open.js @@ -65,37 +65,37 @@ async function promise() { promise().then(common.mustCall()).catch(common.mustNotCall()); -common.expectsError( +assert.throws( () => fs.open(__filename, 'r', 'boom', common.mustNotCall()), { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError + name: 'TypeError' } ); for (const extra of [[], ['r'], ['r', 0], ['r', 0, 'bad callback']]) { - common.expectsError( + assert.throws( () => fs.open(__filename, ...extra), { code: 'ERR_INVALID_CALLBACK', - type: TypeError + name: 'TypeError' } ); } [false, 1, [], {}, null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.open(i, 'r', common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.openSync(i, 'r', common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); assert.rejects( diff --git a/test/parallel/test-fs-opendir.js b/test/parallel/test-fs-opendir.js index abfbb2bb701b03..733d9c7f3e0487 100644 --- a/test/parallel/test-fs-opendir.js +++ b/test/parallel/test-fs-opendir.js @@ -100,18 +100,18 @@ fs.opendir(__filename, common.mustCall(function(e) { })); [false, 1, [], {}, null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.opendir(i, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.opendirSync(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-fs-promises.js b/test/parallel/test-fs-promises.js index 3ac60e35e1c743..34f41d0b580fd3 100644 --- a/test/parallel/test-fs-promises.js +++ b/test/parallel/test-fs-promises.js @@ -54,7 +54,7 @@ assert.strictEqual( .then(common.mustNotCall()) .catch(common.expectsError({ code: 'ENOENT', - type: Error, + name: 'Error', message: /^ENOENT: no such file or directory, access/ })); @@ -196,7 +196,7 @@ async function getHandle(dest) { // expect it to be ENOSYS common.expectsError({ code: 'ENOSYS', - type: Error + name: 'Error' })(err); } @@ -236,7 +236,7 @@ async function getHandle(dest) { lchmod(newLink, newMode), common.expectsError({ code: 'ERR_METHOD_NOT_IMPLEMENTED', - type: Error, + name: 'Error', message: 'The lchmod() method is not implemented' }) ) diff --git a/test/parallel/test-fs-read-file-assert-encoding.js b/test/parallel/test-fs-read-file-assert-encoding.js index 2640355b56e2ce..83aff1b3ac08c2 100644 --- a/test/parallel/test-fs-read-file-assert-encoding.js +++ b/test/parallel/test-fs-read-file-assert-encoding.js @@ -1,11 +1,12 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const fs = require('fs'); const encoding = 'foo-8'; const filename = 'bar.txt'; -common.expectsError( - fs.readFile.bind(fs, filename, { encoding }, common.mustNotCall()), - { code: 'ERR_INVALID_OPT_VALUE_ENCODING', type: TypeError } +assert.throws( + () => fs.readFile(filename, { encoding }, common.mustNotCall()), + { code: 'ERR_INVALID_OPT_VALUE_ENCODING', name: 'TypeError' } ); diff --git a/test/parallel/test-fs-read-stream-inherit.js b/test/parallel/test-fs-read-stream-inherit.js index ef965971dc9704..5c8bbef0e499c0 100644 --- a/test/parallel/test-fs-read-stream-inherit.js +++ b/test/parallel/test-fs-read-stream-inherit.js @@ -113,14 +113,14 @@ const rangeFile = fixtures.path('x.txt'); 'The value of "start" is out of range. It must be <= "end" (here: 2).' + ' Received 10'; - common.expectsError( + assert.throws( () => { fs.createReadStream(rangeFile, Object.create({ start: 10, end: 2 })); }, { code: 'ERR_OUT_OF_RANGE', message, - type: RangeError + name: 'RangeError' }); } diff --git a/test/parallel/test-fs-read-stream-throw-type-error.js b/test/parallel/test-fs-read-stream-throw-type-error.js index 458df4d347efc4..83b9387cc38da9 100644 --- a/test/parallel/test-fs-read-stream-throw-type-error.js +++ b/test/parallel/test-fs-read-stream-throw-type-error.js @@ -1,6 +1,7 @@ 'use strict'; -const common = require('../common'); +require('../common'); const fixtures = require('../common/fixtures'); +const assert = require('assert'); const fs = require('fs'); // This test ensures that appropriate TypeError is thrown by createReadStream @@ -14,19 +15,19 @@ fs.createReadStream(example, 'utf8'); fs.createReadStream(example, { encoding: 'utf8' }); const createReadStreamErr = (path, opt, error) => { - common.expectsError(() => { + assert.throws(() => { fs.createReadStream(path, opt); }, error); }; const typeError = { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }; const rangeError = { code: 'ERR_OUT_OF_RANGE', - type: RangeError + name: 'RangeError' }; [123, 0, true, false].forEach((opts) => diff --git a/test/parallel/test-fs-read-stream.js b/test/parallel/test-fs-read-stream.js index e33c6dec4ee264..bec675737cc317 100644 --- a/test/parallel/test-fs-read-stream.js +++ b/test/parallel/test-fs-read-stream.js @@ -143,7 +143,7 @@ const rangeFile = fixtures.path('x.txt'); })); } -common.expectsError( +assert.throws( () => { fs.createReadStream(rangeFile, { start: 10, end: 2 }); }, @@ -151,7 +151,7 @@ common.expectsError( code: 'ERR_OUT_OF_RANGE', message: 'The value of "start" is out of range. It must be <= "end"' + ' (here: 2). Received 10', - type: RangeError + name: 'RangeError' }); { diff --git a/test/parallel/test-fs-readdir-stack-overflow.js b/test/parallel/test-fs-readdir-stack-overflow.js index b7dea52cc37ec5..e35ad8736325b1 100644 --- a/test/parallel/test-fs-readdir-stack-overflow.js +++ b/test/parallel/test-fs-readdir-stack-overflow.js @@ -1,7 +1,8 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const fs = require('fs'); function recurse() { @@ -9,10 +10,10 @@ function recurse() { recurse(); } -common.expectsError( +assert.throws( () => recurse(), { - type: RangeError, + name: 'RangeError', message: 'Maximum call stack size exceeded' } ); diff --git a/test/parallel/test-fs-readdir.js b/test/parallel/test-fs-readdir.js index a24def6f12db9e..bfb88ed93fb4b3 100644 --- a/test/parallel/test-fs-readdir.js +++ b/test/parallel/test-fs-readdir.js @@ -37,18 +37,18 @@ fs.readdir(__filename, common.mustCall(function(e) { })); [false, 1, [], {}, null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.readdir(i, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.readdirSync(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-fs-readfile-error.js b/test/parallel/test-fs-readfile-error.js index b0f7d3b3f1bc92..4b9017de060023 100644 --- a/test/parallel/test-fs-readfile-error.js +++ b/test/parallel/test-fs-readfile-error.js @@ -56,12 +56,12 @@ test({ NODE_DEBUG: 'fs' }, common.mustCall((data) => { assert(/test-fs-readfile-error/.test(data)); })); -common.expectsError( +assert.throws( () => { fs.readFile(() => {}, common.mustNotCall()); }, { code: 'ERR_INVALID_ARG_TYPE', message: 'The "path" argument must be of type string or an instance of ' + 'Buffer or URL. Received type function ([Function])', - type: TypeError + name: 'TypeError' } ); diff --git a/test/parallel/test-fs-readlink-type-check.js b/test/parallel/test-fs-readlink-type-check.js index 914c1e55af5b2e..58d431308c76b1 100644 --- a/test/parallel/test-fs-readlink-type-check.js +++ b/test/parallel/test-fs-readlink-type-check.js @@ -1,21 +1,22 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const fs = require('fs'); [false, 1, {}, [], null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.readlink(i, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.readlinkSync(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-fs-realpath.js b/test/parallel/test-fs-realpath.js index 2642f5184271b6..83b629ef0b9836 100644 --- a/test/parallel/test-fs-realpath.js +++ b/test/parallel/test-fs-realpath.js @@ -220,9 +220,9 @@ function test_cyclic_link_protection(realpath, realpathSync, callback) { fs.symlinkSync(t[1], t[0], 'dir'); unlink.push(t[0]); }); - common.expectsError(() => { + assert.throws(() => { realpathSync(entry); - }, { code: 'ELOOP', type: Error }); + }, { code: 'ELOOP', name: 'Error' }); asynctest( realpath, [entry], callback, common.mustCall(function(err, result) { assert.strictEqual(err.path, entry); diff --git a/test/parallel/test-fs-rmdir-recursive.js b/test/parallel/test-fs-rmdir-recursive.js index 628bba5d6fc4ab..db8d4b14dac7cf 100644 --- a/test/parallel/test-fs-rmdir-recursive.js +++ b/test/parallel/test-fs-rmdir-recursive.js @@ -6,10 +6,13 @@ const assert = require('assert'); const fs = require('fs'); const path = require('path'); const { validateRmdirOptions } = require('internal/fs/utils'); -let count = 0; tmpdir.refresh(); +let count = 0; +const nextDirPath = (name = 'rmdir-recursive') => + path.join(tmpdir.path, `${name}-${count++}`); + function makeNonEmptyDirectory(depth, files, folders, dirname, createSymLinks) { fs.mkdirSync(dirname, { recursive: true }); fs.writeFileSync(path.join(dirname, 'text.txt'), 'hello', 'utf8'); @@ -89,34 +92,31 @@ function removeAsync(dir) { // Test the asynchronous version { // Create a 4-level folder hierarchy including symlinks - let dir = `rmdir-recursive-${count}`; + let dir = nextDirPath(); makeNonEmptyDirectory(4, 10, 2, dir, true); removeAsync(dir); // Create a 2-level folder hierarchy without symlinks - count++; - dir = `rmdir-recursive-${count}`; + dir = nextDirPath(); makeNonEmptyDirectory(2, 10, 2, dir, false); removeAsync(dir); // Create a flat folder including symlinks - count++; - dir = `rmdir-recursive-${count}`; + dir = nextDirPath(); makeNonEmptyDirectory(1, 10, 2, dir, true); removeAsync(dir); } // Test the synchronous version. { - count++; - const dir = `rmdir-recursive-${count}`; + const dir = nextDirPath(); makeNonEmptyDirectory(4, 10, 2, dir, true); // Removal should fail without the recursive option set to true. - common.expectsError(() => { + assert.throws(() => { fs.rmdirSync(dir); }, { syscall: 'rmdir' }); - common.expectsError(() => { + assert.throws(() => { fs.rmdirSync(dir, { recursive: false }); }, { syscall: 'rmdir' }); @@ -127,13 +127,12 @@ function removeAsync(dir) { fs.rmdirSync(dir, { recursive: true }); // Attempted removal should fail now because the directory is gone. - common.expectsError(() => fs.rmdirSync(dir), { syscall: 'rmdir' }); + assert.throws(() => fs.rmdirSync(dir), { syscall: 'rmdir' }); } // Test the Promises based version. (async () => { - count++; - const dir = `rmdir-recursive-${count}`; + const dir = nextDirPath(); makeNonEmptyDirectory(4, 10, 2, dir, true); // Removal should fail without the recursive option set to true. @@ -177,38 +176,38 @@ function removeAsync(dir) { }); [null, 'foo', 5, NaN].forEach((bad) => { - common.expectsError(() => { + assert.throws(() => { validateRmdirOptions(bad); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: /^The "options" argument must be of type object\./ }); }); [undefined, null, 'foo', Infinity, function() {}].forEach((bad) => { - common.expectsError(() => { + assert.throws(() => { validateRmdirOptions({ recursive: bad }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: /^The "recursive" argument must be of type boolean\./ }); }); - common.expectsError(() => { + assert.throws(() => { validateRmdirOptions({ retryDelay: -1 }); }, { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: /^The value of "retryDelay" is out of range\./ }); - common.expectsError(() => { + assert.throws(() => { validateRmdirOptions({ maxRetries: -1 }); }, { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: /^The value of "maxRetries" is out of range\./ }); } diff --git a/test/parallel/test-fs-rmdir-type-check.js b/test/parallel/test-fs-rmdir-type-check.js index fc2106b8cabee7..7014ce27f8e345 100644 --- a/test/parallel/test-fs-rmdir-type-check.js +++ b/test/parallel/test-fs-rmdir-type-check.js @@ -1,21 +1,22 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const fs = require('fs'); [false, 1, [], {}, null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.rmdir(i, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.rmdirSync(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-fs-stat-bigint.js b/test/parallel/test-fs-stat-bigint.js index 998ddb289da111..f96bef192f07ab 100644 --- a/test/parallel/test-fs-stat-bigint.js +++ b/test/parallel/test-fs-stat-bigint.js @@ -19,15 +19,17 @@ function getFilename() { return filename; } -function verifyStats(bigintStats, numStats) { +function verifyStats(bigintStats, numStats, allowableDelta) { + // allowableDelta: It's possible that the file stats are updated between the + // two stat() calls so allow for a small difference. for (const key of Object.keys(numStats)) { const val = numStats[key]; if (isDate(val)) { const time = val.getTime(); const time2 = bigintStats[key].getTime(); assert( - Math.abs(time - time2) < 2, - `difference of ${key}.getTime() should < 2.\n` + + time - time2 <= allowableDelta, + `difference of ${key}.getTime() should <= ${allowableDelta}.\n` + `Number version ${time}, BigInt version ${time2}n`); } else if (key === 'mode') { assert.strictEqual(bigintStats[key], BigInt(val)); @@ -65,20 +67,18 @@ function verifyStats(bigintStats, numStats) { const nsFromBigInt = bigintStats[nsKey]; const msFromBigIntNs = Number(nsFromBigInt / (10n ** 6n)); const msFromNum = numStats[key]; - // The difference between the millisecond-precision values should be - // smaller than 2 + assert( - Math.abs(msFromNum - Number(msFromBigInt)) < 2, + msFromNum - Number(msFromBigInt) <= allowableDelta, `Number version ${key} = ${msFromNum}, ` + - `BigInt version ${key} = ${msFromBigInt}n`); - // The difference between the millisecond-precision value and the - // nanosecond-precision value scaled down to milliseconds should be - // smaller than 2 + `BigInt version ${key} = ${msFromBigInt}n, ` + + `Allowable delta = ${allowableDelta}`); + assert( - Math.abs(msFromNum - Number(msFromBigIntNs)) < 2, + msFromNum - Number(msFromBigIntNs) <= allowableDelta, `Number version ${key} = ${msFromNum}, ` + `BigInt version ${nsKey} = ${nsFromBigInt}n` + - ` = ${msFromBigIntNs}ms`); + ` = ${msFromBigIntNs}ms, Allowable delta = ${allowableDelta}`); } else if (Number.isSafeInteger(val)) { assert.strictEqual( bigintStats[key], BigInt(val), @@ -87,92 +87,102 @@ function verifyStats(bigintStats, numStats) { ); } else { assert( - Math.abs(Number(bigintStats[key]) - val) < 1, + Number(bigintStats[key]) - val < 1, `${key} is not a safe integer, difference should < 1.\n` + `Number version ${val}, BigInt version ${bigintStats[key]}n`); } } } +const runSyncTest = (func, arg) => { + const startTime = process.hrtime.bigint(); + const bigintStats = func(arg, { bigint: true }); + const numStats = func(arg); + const endTime = process.hrtime.bigint(); + const allowableDelta = Math.ceil(Number(endTime - startTime) / 1e6); + verifyStats(bigintStats, numStats, allowableDelta); +}; + { const filename = getFilename(); - const bigintStats = fs.statSync(filename, { bigint: true }); - const numStats = fs.statSync(filename); - verifyStats(bigintStats, numStats); + runSyncTest(fs.statSync, filename); } if (!common.isWindows) { const filename = getFilename(); const link = `${filename}-link`; fs.symlinkSync(filename, link); - const bigintStats = fs.lstatSync(link, { bigint: true }); - const numStats = fs.lstatSync(link); - verifyStats(bigintStats, numStats); + runSyncTest(fs.lstatSync, link); } { const filename = getFilename(); const fd = fs.openSync(filename, 'r'); - const bigintStats = fs.fstatSync(fd, { bigint: true }); - const numStats = fs.fstatSync(fd); - verifyStats(bigintStats, numStats); + runSyncTest(fs.fstatSync, fd); fs.closeSync(fd); } +const runCallbackTest = (func, arg, done) => { + const startTime = process.hrtime.bigint(); + func(arg, { bigint: true }, common.mustCall((err, bigintStats) => { + func(arg, common.mustCall((err, numStats) => { + const endTime = process.hrtime.bigint(); + const allowableDelta = Math.ceil(Number(endTime - startTime) / 1e6); + verifyStats(bigintStats, numStats, allowableDelta); + if (done) { + done(); + } + })); + })); +}; + { const filename = getFilename(); - fs.stat(filename, { bigint: true }, (err, bigintStats) => { - fs.stat(filename, (err, numStats) => { - verifyStats(bigintStats, numStats); - }); - }); + runCallbackTest(fs.stat, filename); } if (!common.isWindows) { const filename = getFilename(); const link = `${filename}-link`; fs.symlinkSync(filename, link); - fs.lstat(link, { bigint: true }, (err, bigintStats) => { - fs.lstat(link, (err, numStats) => { - verifyStats(bigintStats, numStats); - }); - }); + runCallbackTest(fs.lstat, link); } { const filename = getFilename(); const fd = fs.openSync(filename, 'r'); - fs.fstat(fd, { bigint: true }, (err, bigintStats) => { - fs.fstat(fd, (err, numStats) => { - verifyStats(bigintStats, numStats); - fs.closeSync(fd); - }); - }); + runCallbackTest(fs.fstat, fd, () => { fs.closeSync(fd); }); } -(async function() { +const runPromiseTest = async (func, arg) => { + const startTime = process.hrtime.bigint(); + const bigintStats = await func(arg, { bigint: true }); + const numStats = await func(arg); + const endTime = process.hrtime.bigint(); + const allowableDelta = Math.ceil(Number(endTime - startTime) / 1e6); + verifyStats(bigintStats, numStats, allowableDelta); +}; + +{ const filename = getFilename(); - const bigintStats = await promiseFs.stat(filename, { bigint: true }); - const numStats = await promiseFs.stat(filename); - verifyStats(bigintStats, numStats); -})(); + runPromiseTest(promiseFs.stat, filename); +} if (!common.isWindows) { - (async function() { - const filename = getFilename(); - const link = `${filename}-link`; - fs.symlinkSync(filename, link); - const bigintStats = await promiseFs.lstat(link, { bigint: true }); - const numStats = await promiseFs.lstat(link); - verifyStats(bigintStats, numStats); - })(); + const filename = getFilename(); + const link = `${filename}-link`; + fs.symlinkSync(filename, link); + runPromiseTest(promiseFs.lstat, link); } (async function() { const filename = getFilename(); const handle = await promiseFs.open(filename, 'r'); + const startTime = process.hrtime.bigint(); const bigintStats = await handle.stat({ bigint: true }); const numStats = await handle.stat(); - verifyStats(bigintStats, numStats); + const endTime = process.hrtime.bigint(); + const allowableDelta = Math.ceil(Number(endTime - startTime) / 1e6); + verifyStats(bigintStats, numStats, allowableDelta); await handle.close(); })(); diff --git a/test/parallel/test-fs-timestamp-parsing-error.js b/test/parallel/test-fs-timestamp-parsing-error.js index 4456a86830f43f..1fe0294f68b714 100644 --- a/test/parallel/test-fs-timestamp-parsing-error.js +++ b/test/parallel/test-fs-timestamp-parsing-error.js @@ -1,25 +1,26 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const fs = require('fs'); [Infinity, -Infinity, NaN].forEach((input) => { - common.expectsError( + assert.throws( () => { fs._toUnixTimestamp(input); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); }); -common.expectsError( +assert.throws( () => { fs._toUnixTimestamp({}); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); const okInputs = [1, -1, '1', '-1', Date.now()]; diff --git a/test/parallel/test-fs-unlink-type-check.js b/test/parallel/test-fs-unlink-type-check.js index 7fe3ce946c89d5..006e9ad7348543 100644 --- a/test/parallel/test-fs-unlink-type-check.js +++ b/test/parallel/test-fs-unlink-type-check.js @@ -1,21 +1,22 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const fs = require('fs'); [false, 1, {}, [], null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.unlink(i, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.unlinkSync(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-fs-util-validateoffsetlengthwrite.js b/test/parallel/test-fs-util-validateoffsetlengthwrite.js index 9aca956bd505bf..be6d8acea77efa 100644 --- a/test/parallel/test-fs-util-validateoffsetlengthwrite.js +++ b/test/parallel/test-fs-util-validateoffsetlengthwrite.js @@ -1,8 +1,8 @@ // Flags: --expose-internals 'use strict'; -const common = require('../common'); - +require('../common'); +const assert = require('assert'); const { validateOffsetLengthWrite } = require('internal/fs/utils'); const { kMaxLength } = require('buffer'); @@ -11,11 +11,11 @@ const { kMaxLength } = require('buffer'); const offset = 100; const length = 100; const byteLength = 50; - common.expectsError( + assert.throws( () => validateOffsetLengthWrite(offset, length, byteLength), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "offset" is out of range. ' + `It must be <= ${byteLength}. Received ${offset}` } @@ -27,11 +27,11 @@ const { kMaxLength } = require('buffer'); const offset = kMaxLength; const length = 100; const byteLength = kMaxLength + 1; - common.expectsError( + assert.throws( () => validateOffsetLengthWrite(offset, length, byteLength), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "length" is out of range. ' + `It must be <= ${kMaxLength - offset}. Received ${length}` } @@ -43,11 +43,11 @@ const { kMaxLength } = require('buffer'); const offset = kMaxLength - 150; const length = 200; const byteLength = kMaxLength - 100; - common.expectsError( + assert.throws( () => validateOffsetLengthWrite(offset, length, byteLength), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "length" is out of range. ' + `It must be <= ${byteLength - offset}. Received ${length}` } diff --git a/test/parallel/test-fs-utimes.js b/test/parallel/test-fs-utimes.js index 0f077150520302..fa2ddcbeeda2b7 100644 --- a/test/parallel/test-fs-utimes.js +++ b/test/parallel/test-fs-utimes.js @@ -173,15 +173,15 @@ if (common.isWindows) { const expectTypeError = { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }; // utimes-only error cases { - common.expectsError( + assert.throws( () => fs.utimes(0, new Date(), new Date(), common.mustNotCall()), expectTypeError ); - common.expectsError( + assert.throws( () => fs.utimesSync(0, new Date(), new Date()), expectTypeError ); @@ -189,19 +189,19 @@ const expectTypeError = { // shared error cases [false, {}, [], null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.utimes(i, new Date(), new Date(), common.mustNotCall()), expectTypeError ); - common.expectsError( + assert.throws( () => fs.utimesSync(i, new Date(), new Date()), expectTypeError ); - common.expectsError( + assert.throws( () => fs.futimes(i, new Date(), new Date(), common.mustNotCall()), expectTypeError ); - common.expectsError( + assert.throws( () => fs.futimesSync(i, new Date(), new Date()), expectTypeError ); @@ -209,17 +209,17 @@ const expectTypeError = { const expectRangeError = { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "fd" is out of range. ' + 'It must be >= 0 && <= 2147483647. Received -1' }; // futimes-only error cases { - common.expectsError( + assert.throws( () => fs.futimes(-1, new Date(), new Date(), common.mustNotCall()), expectRangeError ); - common.expectsError( + assert.throws( () => fs.futimesSync(-1, new Date(), new Date()), expectRangeError ); diff --git a/test/parallel/test-fs-watch.js b/test/parallel/test-fs-watch.js index 41cb2a2d96c691..3777589e5b5335 100644 --- a/test/parallel/test-fs-watch.js +++ b/test/parallel/test-fs-watch.js @@ -95,11 +95,11 @@ for (const testCase of cases) { } [false, 1, {}, [], null, undefined].forEach((input) => { - common.expectsError( + assert.throws( () => fs.watch(input, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-fs-watchfile.js b/test/parallel/test-fs-watchfile.js index 0b28e0331d3f91..5f39f85ac88e97 100644 --- a/test/parallel/test-fs-watchfile.js +++ b/test/parallel/test-fs-watchfile.js @@ -8,27 +8,27 @@ const path = require('path'); const tmpdir = require('../common/tmpdir'); // Basic usage tests. -common.expectsError( +assert.throws( () => { fs.watchFile('./some-file'); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); -common.expectsError( +assert.throws( () => { fs.watchFile('./another-file', {}, 'bad listener'); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); -common.expectsError(function() { +assert.throws(() => { fs.watchFile(new Object(), common.mustNotCall()); -}, { code: 'ERR_INVALID_ARG_TYPE', type: TypeError }); +}, { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError' }); const enoentFile = path.join(tmpdir.path, 'non-existent-file'); const expectedStatObject = new fs.Stats( diff --git a/test/parallel/test-fs-whatwg-url.js b/test/parallel/test-fs-whatwg-url.js index c5f4d81dfb34f5..73c6c03e188eb7 100644 --- a/test/parallel/test-fs-whatwg-url.js +++ b/test/parallel/test-fs-whatwg-url.js @@ -30,13 +30,13 @@ fs.readFile(url, common.mustCall((err, data) => { // Check that using a non file:// URL reports an error const httpUrl = new URL('http://example.org'); -common.expectsError( +assert.throws( () => { fs.readFile(httpUrl, common.mustNotCall()); }, { code: 'ERR_INVALID_URL_SCHEME', - type: TypeError, + name: 'TypeError', message: 'The URL must be of scheme file' }); @@ -44,24 +44,24 @@ common.expectsError( if (common.isWindows) { // Encoded back and forward slashes are not permitted on windows ['%2f', '%2F', '%5c', '%5C'].forEach((i) => { - common.expectsError( + assert.throws( () => { fs.readFile(new URL(`file:///c:/tmp/${i}`), common.mustNotCall()); }, { code: 'ERR_INVALID_FILE_URL_PATH', - type: TypeError, + name: 'TypeError', message: 'File URL path must not include encoded \\ or / characters' } ); }); - common.expectsError( + assert.throws( () => { fs.readFile(new URL('file:///c:/tmp/%00test'), common.mustNotCall()); }, { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError, + name: 'TypeError', message: 'The argument \'path\' must be a string or Uint8Array without ' + 'null bytes. Received \'c:\\\\tmp\\\\\\u0000test\'' } @@ -69,35 +69,35 @@ if (common.isWindows) { } else { // Encoded forward slashes are not permitted on other platforms ['%2f', '%2F'].forEach((i) => { - common.expectsError( + assert.throws( () => { fs.readFile(new URL(`file:///c:/tmp/${i}`), common.mustNotCall()); }, { code: 'ERR_INVALID_FILE_URL_PATH', - type: TypeError, + name: 'TypeError', message: 'File URL path must not include encoded / characters' }); }); - common.expectsError( + assert.throws( () => { fs.readFile(new URL('file://hostname/a/b/c'), common.mustNotCall()); }, { code: 'ERR_INVALID_FILE_URL_HOST', - type: TypeError, + name: 'TypeError', message: `File URL host must be "localhost" or empty on ${os.platform()}` } ); - common.expectsError( + assert.throws( () => { fs.readFile(new URL('file:///tmp/%00test'), common.mustNotCall()); }, { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError, - message: 'The argument \'path\' must be a string or Uint8Array without ' + - 'null bytes. Received \'/tmp/\\u0000test\'' + name: 'TypeError', + message: "The argument 'path' must be a string or Uint8Array without " + + "null bytes. Received '/tmp/\\u0000test'" } ); } diff --git a/test/parallel/test-fs-write-stream-throw-type-error.js b/test/parallel/test-fs-write-stream-throw-type-error.js index c80f647b3d622e..1c1da2d6079af2 100644 --- a/test/parallel/test-fs-write-stream-throw-type-error.js +++ b/test/parallel/test-fs-write-stream-throw-type-error.js @@ -1,5 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const fs = require('fs'); const path = require('path'); @@ -15,13 +16,13 @@ fs.createWriteStream(example, 'utf8'); fs.createWriteStream(example, { encoding: 'utf8' }); const createWriteStreamErr = (path, opt) => { - common.expectsError( + assert.throws( () => { fs.createWriteStream(path, opt); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); }; diff --git a/test/parallel/test-fs-write-stream.js b/test/parallel/test-fs-write-stream.js index d0364ee8f07641..dba577a2be97c4 100644 --- a/test/parallel/test-fs-write-stream.js +++ b/test/parallel/test-fs-write-stream.js @@ -57,11 +57,11 @@ tmpdir.refresh(); const stream = fs.createWriteStream(file); stream.on('error', common.expectsError({ code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' })); stream.write(42, null, common.expectsError({ code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' })); stream.destroy(); } diff --git a/test/parallel/test-fs-write.js b/test/parallel/test-fs-write.js index d75974b58d33cf..39a0f3720ee76a 100644 --- a/test/parallel/test-fs-write.js +++ b/test/parallel/test-fs-write.js @@ -135,18 +135,18 @@ fs.open(fn3, 'w', 0o644, common.mustCall((err, fd) => { })); [false, 'test', {}, [], null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.write(i, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); - common.expectsError( + assert.throws( () => fs.writeSync(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-fs-writev-sync.js b/test/parallel/test-fs-writev-sync.js index a60115113b1f43..b01e85bcae19f7 100644 --- a/test/parallel/test-fs-writev-sync.js +++ b/test/parallel/test-fs-writev-sync.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const path = require('path'); const fs = require('fs'); @@ -64,10 +64,10 @@ const getFileName = (i) => path.join(tmpdir.path, `writev_sync_${i}.txt`); const fd = fs.openSync(filename, 'w'); [false, 'test', {}, [{}], ['sdf'], null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.writevSync(fd, i, null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); @@ -77,11 +77,11 @@ const getFileName = (i) => path.join(tmpdir.path, `writev_sync_${i}.txt`); // fs.writevSync with wrong fd types [false, 'test', {}, [{}], null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.writevSync(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-fs-writev.js b/test/parallel/test-fs-writev.js index 6a66c631f99712..5a32bb7ac96081 100644 --- a/test/parallel/test-fs-writev.js +++ b/test/parallel/test-fs-writev.js @@ -69,10 +69,10 @@ const getFileName = (i) => path.join(tmpdir.path, `writev_${i}.txt`); const fd = fs.openSync(filename, 'w'); [false, 'test', {}, [{}], ['sdf'], null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.writev(fd, i, null, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); @@ -82,11 +82,11 @@ const getFileName = (i) => path.join(tmpdir.path, `writev_${i}.txt`); // fs.writev with wrong fd types [false, 'test', {}, [{}], null, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => fs.writev(i, common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-gc-net-timeout.js b/test/parallel/test-gc-net-timeout.js index 51d9b8ca09bbbc..9ba6d2bc1744f9 100644 --- a/test/parallel/test-gc-net-timeout.js +++ b/test/parallel/test-gc-net-timeout.js @@ -12,6 +12,9 @@ function serverHandler(sock) { sock.on('close', function() { clearTimeout(timer); }); + sock.on('end', function() { + clearTimeout(timer); + }); sock.on('error', function(err) { assert.strictEqual(err.code, 'ECONNRESET'); }); diff --git a/test/parallel/test-http-client-check-http-token.js b/test/parallel/test-http-client-check-http-token.js index 5a5ec2fb95f148..d09fbe1b8ee959 100644 --- a/test/parallel/test-http-client-check-http-token.js +++ b/test/parallel/test-http-client-check-http-token.js @@ -1,5 +1,6 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const http = require('http'); const Countdown = require('../common/countdown'); @@ -17,11 +18,11 @@ const server = http.createServer(common.mustCall((req, res) => { server.listen(0, common.mustCall(() => { expectedFails.forEach((method) => { - common.expectsError(() => { + assert.throws(() => { http.request({ method, path: '/' }, common.mustNotCall()); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "method" argument must be of type string.' + common.invalidArgTypeHelper(method) }); diff --git a/test/parallel/test-http-client-invalid-path.js b/test/parallel/test-http-client-invalid-path.js index c042d61eda0999..c8d1fec18f9946 100644 --- a/test/parallel/test-http-client-invalid-path.js +++ b/test/parallel/test-http-client-invalid-path.js @@ -1,12 +1,13 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const http = require('http'); -common.expectsError(() => { +assert.throws(() => { http.request({ path: '/thisisinvalid\uffe2' }).end(); }, { code: 'ERR_UNESCAPED_CHARACTERS', - type: TypeError + name: 'TypeError' }); diff --git a/test/parallel/test-http-client-reject-unexpected-agent.js b/test/parallel/test-http-client-reject-unexpected-agent.js index 664fb493102229..8ec6506888bb05 100644 --- a/test/parallel/test-http-client-reject-unexpected-agent.js +++ b/test/parallel/test-http-client-reject-unexpected-agent.js @@ -47,11 +47,11 @@ server.listen(0, baseOptions.host, common.mustCall(function() { baseOptions.port = this.address().port; failingAgentOptions.forEach((agent) => { - common.expectsError( + assert.throws( () => createRequest(agent), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.agent" property must be one of Agent-like ' + 'Object, undefined, or false.' + common.invalidArgTypeHelper(agent) diff --git a/test/parallel/test-http-client-set-timeout.js b/test/parallel/test-http-client-set-timeout.js index 15aae7023bf3f1..7717b7d6069c73 100644 --- a/test/parallel/test-http-client-set-timeout.js +++ b/test/parallel/test-http-client-set-timeout.js @@ -32,7 +32,7 @@ server.listen(0, mustCall(() => { })); req.on('error', expectsError({ - type: Error, + name: 'Error', code: 'ECONNRESET', message: 'socket hang up' })); diff --git a/test/parallel/test-http-client-unescaped-path.js b/test/parallel/test-http-client-unescaped-path.js index 6d5a945dd5f893..93b2f540f107bf 100644 --- a/test/parallel/test-http-client-unescaped-path.js +++ b/test/parallel/test-http-client-unescaped-path.js @@ -21,15 +21,16 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const http = require('http'); for (let i = 0; i <= 32; i += 1) { const path = `bad${String.fromCharCode(i)}path`; - common.expectsError( + assert.throws( () => http.get({ path }, common.mustNotCall()), { code: 'ERR_UNESCAPED_CHARACTERS', - type: TypeError, + name: 'TypeError', message: 'Request path contains unescaped characters' } ); diff --git a/test/parallel/test-http-header-overflow.js b/test/parallel/test-http-header-overflow.js index 83a2d469103bae..2dd1f9cb9a9875 100644 --- a/test/parallel/test-http-header-overflow.js +++ b/test/parallel/test-http-header-overflow.js @@ -18,7 +18,7 @@ const server = createServer(); server.on('connection', mustCall((socket) => { socket.on('error', expectsError({ - type: Error, + name: 'Error', message: 'Parse Error: Header overflow', code: 'HPE_HEADER_OVERFLOW', bytesParsed: maxHeaderSize + PAYLOAD_GET.length, diff --git a/test/parallel/test-http-hostname-typechecking.js b/test/parallel/test-http-hostname-typechecking.js index 6ec6b7d6271aa7..bcb175ee34171b 100644 --- a/test/parallel/test-http-hostname-typechecking.js +++ b/test/parallel/test-http-hostname-typechecking.js @@ -1,6 +1,7 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const http = require('http'); // All of these values should cause http.request() to throw synchronously @@ -9,22 +10,22 @@ const vals = [{}, [], NaN, Infinity, -Infinity, true, false, 1, 0, new Date()]; vals.forEach((v) => { const received = common.invalidArgTypeHelper(v); - common.expectsError( + assert.throws( () => http.request({ hostname: v }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.hostname" property must be of ' + 'type string or one of undefined or null.' + received } ); - common.expectsError( + assert.throws( () => http.request({ host: v }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.host" property must be of ' + 'type string or one of undefined or null.' + received diff --git a/test/parallel/test-http-invalid-path-chars.js b/test/parallel/test-http-invalid-path-chars.js index c1d0baa62c3e9b..56755faa8c835d 100644 --- a/test/parallel/test-http-invalid-path-chars.js +++ b/test/parallel/test-http-invalid-path-chars.js @@ -1,25 +1,20 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const http = require('http'); -const expectedError = common.expectsError({ - code: 'ERR_UNESCAPED_CHARACTERS', - type: TypeError, - message: 'Request path contains unescaped characters' -}, 1320); const theExperimentallyDeterminedNumber = 39; -function fail(path) { - assert.throws(() => { - http.request({ path }, assert.fail); - }, expectedError); -} - for (let i = 0; i <= theExperimentallyDeterminedNumber; i++) { const prefix = 'a'.repeat(i); for (let i = 0; i <= 32; i++) { - fail(prefix + String.fromCodePoint(i)); + assert.throws(() => { + http.request({ path: prefix + String.fromCodePoint(i) }, assert.fail); + }, { + code: 'ERR_UNESCAPED_CHARACTERS', + name: 'TypeError', + message: 'Request path contains unescaped characters' + }); } } diff --git a/test/parallel/test-http-invalid-urls.js b/test/parallel/test-http-invalid-urls.js index 7c9f67c4734810..a30c3eb5f65838 100644 --- a/test/parallel/test-http-invalid-urls.js +++ b/test/parallel/test-http-invalid-urls.js @@ -4,6 +4,7 @@ const common = require('../common'); +const assert = require('assert'); const http = require('http'); const modules = { 'http': http }; @@ -19,8 +20,8 @@ function test(host) { `${module}.${fn} should not connect to ${host}` ); const throws = () => { modules[module][fn](host, doNotCall); }; - common.expectsError(throws, { - type: TypeError, + assert.throws(throws, { + name: 'TypeError', code: 'ERR_INVALID_URL' }); }); diff --git a/test/parallel/test-http-mutable-headers.js b/test/parallel/test-http-mutable-headers.js index b4e4018e1d0bd4..c9f63acf4433f4 100644 --- a/test/parallel/test-http-mutable-headers.js +++ b/test/parallel/test-http-mutable-headers.js @@ -50,36 +50,36 @@ const s = http.createServer(common.mustCall((req, res) => { assert.deepStrictEqual(res.hasHeader('Connection'), false); assert.deepStrictEqual(res.getHeader('Connection'), undefined); - common.expectsError( + assert.throws( () => res.setHeader(), { code: 'ERR_INVALID_HTTP_TOKEN', - type: TypeError, + name: 'TypeError', message: 'Header name must be a valid HTTP token ["undefined"]' } ); - common.expectsError( + assert.throws( () => res.setHeader('someHeader'), { code: 'ERR_HTTP_INVALID_HEADER_VALUE', - type: TypeError, + name: 'TypeError', message: 'Invalid value "undefined" for header "someHeader"' } ); - common.expectsError( + assert.throws( () => res.getHeader(), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "name" argument must be of type string. ' + 'Received undefined' } ); - common.expectsError( + assert.throws( () => res.removeHeader(), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "name" argument must be of type string. ' + 'Received undefined' } @@ -119,11 +119,11 @@ const s = http.createServer(common.mustCall((req, res) => { { toString: () => 'X-TEST-HEADER2' }, () => { } ].forEach((val) => { - common.expectsError( + assert.throws( () => res.hasHeader(val), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "name" argument must be of type string.' + common.invalidArgTypeHelper(val) } diff --git a/test/parallel/test-http-outgoing-proto.js b/test/parallel/test-http-outgoing-proto.js index 0f428b9546bd80..b037c88c6833e9 100644 --- a/test/parallel/test-http-outgoing-proto.js +++ b/test/parallel/test-http-outgoing-proto.js @@ -13,48 +13,48 @@ assert.strictEqual( typeof ServerResponse.prototype._implicitHeader, 'function'); // validateHeader -common.expectsError(() => { +assert.throws(() => { const outgoingMessage = new OutgoingMessage(); outgoingMessage.setHeader(); }, { code: 'ERR_INVALID_HTTP_TOKEN', - type: TypeError, + name: 'TypeError', message: 'Header name must be a valid HTTP token ["undefined"]' }); -common.expectsError(() => { +assert.throws(() => { const outgoingMessage = new OutgoingMessage(); outgoingMessage.setHeader('test'); }, { code: 'ERR_HTTP_INVALID_HEADER_VALUE', - type: TypeError, + name: 'TypeError', message: 'Invalid value "undefined" for header "test"' }); -common.expectsError(() => { +assert.throws(() => { const outgoingMessage = new OutgoingMessage(); outgoingMessage.setHeader(404); }, { code: 'ERR_INVALID_HTTP_TOKEN', - type: TypeError, + name: 'TypeError', message: 'Header name must be a valid HTTP token ["404"]' }); -common.expectsError(() => { +assert.throws(() => { const outgoingMessage = new OutgoingMessage(); outgoingMessage.setHeader.call({ _header: 'test' }, 'test', 'value'); }, { code: 'ERR_HTTP_HEADERS_SENT', - type: Error, + name: 'Error', message: 'Cannot set headers after they are sent to the client' }); -common.expectsError(() => { +assert.throws(() => { const outgoingMessage = new OutgoingMessage(); outgoingMessage.setHeader('200', 'あ'); }, { code: 'ERR_INVALID_CHAR', - type: TypeError, + name: 'TypeError', message: 'Invalid character in header content ["200"]' }); @@ -64,7 +64,7 @@ common.expectsError(() => { outgoingMessage.on('error', common.expectsError({ code: 'ERR_METHOD_NOT_IMPLEMENTED', - type: Error, + name: 'Error', message: 'The _implicitHeader() method is not implemented' })); @@ -73,22 +73,22 @@ common.expectsError(() => { assert(OutgoingMessage.prototype.write.call({ _header: 'test' })); -common.expectsError(() => { +assert.throws(() => { const outgoingMessage = new OutgoingMessage(); outgoingMessage.write.call({ _header: 'test', _hasBody: 'test' }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The first argument must be of type string or an instance of ' + 'Buffer. Received undefined' }); -common.expectsError(() => { +assert.throws(() => { const outgoingMessage = new OutgoingMessage(); outgoingMessage.write.call({ _header: 'test', _hasBody: 'test' }, 1); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The first argument must be of type string or an instance of ' + 'Buffer. Received type number (1)' }); @@ -102,20 +102,20 @@ assert.throws(() => { outgoingMessage.addTrailers(); }, TypeError); -common.expectsError(() => { +assert.throws(() => { const outgoingMessage = new OutgoingMessage(); outgoingMessage.addTrailers({ 'あ': 'value' }); }, { code: 'ERR_INVALID_HTTP_TOKEN', - type: TypeError, + name: 'TypeError', message: 'Trailer name must be a valid HTTP token ["あ"]' }); -common.expectsError(() => { +assert.throws(() => { const outgoingMessage = new OutgoingMessage(); outgoingMessage.addTrailers({ 404: 'あ' }); }, { code: 'ERR_INVALID_CHAR', - type: TypeError, + name: 'TypeError', message: 'Invalid character in trailer content ["404"]' }); diff --git a/test/parallel/test-http-outgoing-renderHeaders.js b/test/parallel/test-http-outgoing-renderHeaders.js index c3da1f240d3646..fa2de859cf4b02 100644 --- a/test/parallel/test-http-outgoing-renderHeaders.js +++ b/test/parallel/test-http-outgoing-renderHeaders.js @@ -1,7 +1,7 @@ 'use strict'; // Flags: --expose-internals -const common = require('../common'); +require('../common'); const assert = require('assert'); const kOutHeaders = require('internal/http').kOutHeaders; @@ -11,11 +11,11 @@ const OutgoingMessage = http.OutgoingMessage; { const outgoingMessage = new OutgoingMessage(); outgoingMessage._header = {}; - common.expectsError( - outgoingMessage._renderHeaders.bind(outgoingMessage), + assert.throws( + () => outgoingMessage._renderHeaders(), { code: 'ERR_HTTP_HEADERS_SENT', - type: Error, + name: 'Error', message: 'Cannot render headers after they are sent to the client' } ); diff --git a/test/parallel/test-http-request-invalid-method-error.js b/test/parallel/test-http-request-invalid-method-error.js index ae11985e12ff87..20897f08917683 100644 --- a/test/parallel/test-http-request-invalid-method-error.js +++ b/test/parallel/test-http-request-invalid-method-error.js @@ -1,12 +1,13 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const http = require('http'); -common.expectsError( +assert.throws( () => http.request({ method: '\0' }), { code: 'ERR_INVALID_HTTP_TOKEN', - type: TypeError, + name: 'TypeError', message: 'Method must be a valid HTTP token ["\u0000"]' } ); diff --git a/test/parallel/test-http-res-write-after-end.js b/test/parallel/test-http-res-write-after-end.js index bf6b7a3842e519..70325975c4da0f 100644 --- a/test/parallel/test-http-res-write-after-end.js +++ b/test/parallel/test-http-res-write-after-end.js @@ -27,7 +27,7 @@ const http = require('http'); const server = http.Server(common.mustCall(function(req, res) { res.on('error', common.expectsError({ code: 'ERR_STREAM_WRITE_AFTER_END', - type: Error + name: 'Error' })); res.write('This should write.'); diff --git a/test/parallel/test-http-response-add-header-after-sent.js b/test/parallel/test-http-response-add-header-after-sent.js index a4d3f629e24b3d..27dc47529f9681 100644 --- a/test/parallel/test-http-response-add-header-after-sent.js +++ b/test/parallel/test-http-response-add-header-after-sent.js @@ -1,15 +1,16 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const http = require('http'); const server = http.createServer((req, res) => { res.setHeader('header1', 1); res.write('abc'); - common.expectsError( + assert.throws( () => res.setHeader('header2', 2), { code: 'ERR_HTTP_HEADERS_SENT', - type: Error, + name: 'Error', message: 'Cannot set headers after they are sent to the client' } ); diff --git a/test/parallel/test-http-response-remove-header-after-sent.js b/test/parallel/test-http-response-remove-header-after-sent.js index 52acd3d1059ef3..b5c0defac92b58 100644 --- a/test/parallel/test-http-response-remove-header-after-sent.js +++ b/test/parallel/test-http-response-remove-header-after-sent.js @@ -1,15 +1,16 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const http = require('http'); const server = http.createServer((req, res) => { res.removeHeader('header1', 1); res.write('abc'); - common.expectsError( + assert.throws( () => res.removeHeader('header2', 2), { code: 'ERR_HTTP_HEADERS_SENT', - type: Error, + name: 'Error', message: 'Cannot remove headers after they are sent to the client' } ); diff --git a/test/parallel/test-http-response-splitting.js b/test/parallel/test-http-response-splitting.js index 2c75940b7a3656..2b3bf8d7fb38c6 100644 --- a/test/parallel/test-http-response-splitting.js +++ b/test/parallel/test-http-response-splitting.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const http = require('http'); const net = require('net'); const url = require('url'); @@ -23,11 +23,11 @@ const countdown = new Countdown(3, () => server.close()); function test(res, code, key, value) { const header = { [key]: value }; - common.expectsError( + assert.throws( () => res.writeHead(code, header), { code: 'ERR_INVALID_CHAR', - type: TypeError, + name: 'TypeError', message: `Invalid character in header content ["${key}"]` } ); diff --git a/test/parallel/test-http-response-statuscode.js b/test/parallel/test-http-response-statuscode.js index 680fa37cf6f9f4..f552270407009c 100644 --- a/test/parallel/test-http-response-statuscode.js +++ b/test/parallel/test-http-response-statuscode.js @@ -8,11 +8,11 @@ const MAX_REQUESTS = 13; let reqNum = 0; function test(res, header, code) { - common.expectsError(() => { + assert.throws(() => { res.writeHead(header); }, { code: 'ERR_HTTP_INVALID_STATUS_CODE', - type: RangeError, + name: 'RangeError', message: `Invalid status code: ${code}` }); } @@ -56,12 +56,12 @@ const server = http.Server(common.mustCall(function(req, res) { test(res, '404 this is not valid either', '404 this is not valid either'); break; case 12: - common.expectsError(() => { res.writeHead(); }, - { - code: 'ERR_HTTP_INVALID_STATUS_CODE', - type: RangeError, - message: 'Invalid status code: undefined' - }); + assert.throws(() => { res.writeHead(); }, + { + code: 'ERR_HTTP_INVALID_STATUS_CODE', + name: 'RangeError', + message: 'Invalid status code: undefined' + }); this.close(); break; default: diff --git a/test/parallel/test-http-server-de-chunked-trailer.js b/test/parallel/test-http-server-de-chunked-trailer.js index dad744209ee419..96ce6b52ac6b00 100644 --- a/test/parallel/test-http-server-de-chunked-trailer.js +++ b/test/parallel/test-http-server-de-chunked-trailer.js @@ -12,10 +12,10 @@ const server = http.createServer(common.mustCall(function(req, res) { const trailerInvalidErr = { code: 'ERR_HTTP_TRAILER_INVALID', message: 'Trailers are invalid with this transfer encoding', - type: Error + name: 'Error' }; - common.expectsError(() => res.writeHead(200, { 'Content-Length': '2' }), - trailerInvalidErr); + assert.throws(() => res.writeHead(200, { 'Content-Length': '2' }), + trailerInvalidErr); res.removeHeader('Trailer'); res.end('ok'); })); diff --git a/test/parallel/test-http-server-destroy-socket-on-client-error.js b/test/parallel/test-http-server-destroy-socket-on-client-error.js index 75f795603d598a..da5c532d9e35c2 100644 --- a/test/parallel/test-http-server-destroy-socket-on-client-error.js +++ b/test/parallel/test-http-server-destroy-socket-on-client-error.js @@ -13,7 +13,7 @@ const server = createServer(); server.on('connection', mustCall((socket) => { socket.on('error', expectsError({ - type: Error, + name: 'Error', message: 'Parse Error: Invalid method encountered', code: 'HPE_INVALID_METHOD', bytesParsed: 0, diff --git a/test/parallel/test-http-server-multiheaders.js b/test/parallel/test-http-server-multiheaders.js index bf918ad24cc168..8f633fdb998970 100644 --- a/test/parallel/test-http-server-multiheaders.js +++ b/test/parallel/test-http-server-multiheaders.js @@ -28,7 +28,7 @@ require('../common'); const assert = require('assert'); const http = require('http'); -const srv = http.createServer(function(req, res) { +const server = http.createServer(function(req, res) { assert.strictEqual(req.headers.accept, 'abc, def, ghijklmnopqrst'); assert.strictEqual(req.headers.host, 'foo'); assert.strictEqual(req.headers['www-authenticate'], 'foo, bar, baz'); @@ -43,10 +43,10 @@ const srv = http.createServer(function(req, res) { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('EOF'); - srv.close(); + server.close(); }); -srv.listen(0, function() { +server.listen(0, function() { http.get({ host: 'localhost', port: this.address().port, diff --git a/test/parallel/test-http-server-multiheaders2.js b/test/parallel/test-http-server-multiheaders2.js index 95ee5b61fa916d..1e19708557ef24 100644 --- a/test/parallel/test-http-server-multiheaders2.js +++ b/test/parallel/test-http-server-multiheaders2.js @@ -69,7 +69,7 @@ const multipleForbidden = [ // 'Content-Length', ]; -const srv = http.createServer(function(req, res) { +const server = http.createServer(function(req, res) { multipleForbidden.forEach(function(header) { assert.strictEqual(req.headers[header.toLowerCase()], 'foo', `header parsed incorrectly: ${header}`); @@ -83,7 +83,7 @@ const srv = http.createServer(function(req, res) { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('EOF'); - srv.close(); + server.close(); }); function makeHeader(value) { @@ -98,7 +98,7 @@ const headers = [] .concat(multipleAllowed.map(makeHeader('bar'))) .concat(multipleForbidden.map(makeHeader('bar'))); -srv.listen(0, function() { +server.listen(0, function() { http.get({ host: 'localhost', port: this.address().port, diff --git a/test/parallel/test-http-server-write-after-end.js b/test/parallel/test-http-server-write-after-end.js index a405844cfc9659..589b673282c517 100644 --- a/test/parallel/test-http-server-write-after-end.js +++ b/test/parallel/test-http-server-write-after-end.js @@ -11,7 +11,7 @@ function handle(req, res) { res.on('error', common.mustCall((err) => { common.expectsError({ code: 'ERR_STREAM_WRITE_AFTER_END', - type: Error + name: 'Error' })(err); server.close(); })); diff --git a/test/parallel/test-http-unix-socket.js b/test/parallel/test-http-unix-socket.js index cfed45a43c2e83..d6ce23bb19f4b1 100644 --- a/test/parallel/test-http-unix-socket.js +++ b/test/parallel/test-http-unix-socket.js @@ -62,7 +62,7 @@ server.listen(common.PIPE, common.mustCall(function() { server.close(common.expectsError({ code: 'ERR_SERVER_NOT_RUNNING', message: 'Server is not running.', - type: Error + name: 'Error' })); })); })); diff --git a/test/parallel/test-http-upgrade-agent.js b/test/parallel/test-http-upgrade-agent.js index 5c840eeb532814..cb33edc32e0139 100644 --- a/test/parallel/test-http-upgrade-agent.js +++ b/test/parallel/test-http-upgrade-agent.js @@ -31,7 +31,7 @@ const http = require('http'); const net = require('net'); // Create a TCP server -const srv = net.createServer(function(c) { +const server = net.createServer(function(c) { c.on('data', function(d) { c.write('HTTP/1.1 101\r\n'); c.write('hello: world\r\n'); @@ -46,7 +46,7 @@ const srv = net.createServer(function(c) { }); }); -srv.listen(0, '127.0.0.1', common.mustCall(function() { +server.listen(0, '127.0.0.1', common.mustCall(function() { const options = { port: this.address().port, @@ -82,7 +82,7 @@ srv.listen(0, '127.0.0.1', common.mustCall(function() { req.on('close', common.mustCall(function() { socket.end(); - srv.close(); + server.close(); })); })); })); diff --git a/test/parallel/test-http-upgrade-client.js b/test/parallel/test-http-upgrade-client.js index d18ac273d6dab1..8fe756f469f09a 100644 --- a/test/parallel/test-http-upgrade-client.js +++ b/test/parallel/test-http-upgrade-client.js @@ -34,7 +34,7 @@ const Countdown = require('../common/countdown'); const expectedRecvData = 'nurtzo'; // Create a TCP server -const srv = net.createServer(function(c) { +const server = net.createServer(function(c) { c.on('data', function(d) { c.write('HTTP/1.1 101\r\n'); c.write('hello: world\r\n'); @@ -49,7 +49,7 @@ const srv = net.createServer(function(c) { }); }); -srv.listen(0, '127.0.0.1', common.mustCall(function() { +server.listen(0, '127.0.0.1', common.mustCall(function() { const port = this.address().port; const headers = [ { @@ -63,7 +63,7 @@ srv.listen(0, '127.0.0.1', common.mustCall(function() { ['Origin', 'http://www.websocket.org'] ] ]; - const countdown = new Countdown(headers.length, () => srv.close()); + const countdown = new Countdown(headers.length, () => server.close()); headers.forEach(function(h) { const req = http.get({ diff --git a/test/parallel/test-http-url.parse-only-support-http-https-protocol.js b/test/parallel/test-http-url.parse-only-support-http-https-protocol.js index 5df547594b8450..6dcb2a852e7199 100644 --- a/test/parallel/test-http-url.parse-only-support-http-https-protocol.js +++ b/test/parallel/test-http-url.parse-only-support-http-https-protocol.js @@ -20,7 +20,8 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const http = require('http'); const url = require('url'); @@ -34,11 +35,11 @@ const invalidUrls = [ ]; invalidUrls.forEach((invalid) => { - common.expectsError( + assert.throws( () => { http.request(url.parse(invalid)); }, { code: 'ERR_INVALID_PROTOCOL', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-http-write-head.js b/test/parallel/test-http-write-head.js index 320359e3ec37bf..2199f11be61bb1 100644 --- a/test/parallel/test-http-write-head.js +++ b/test/parallel/test-http-write-head.js @@ -32,32 +32,32 @@ const s = http.createServer(common.mustCall((req, res) => { // toLowerCase() is used on the name argument, so it must be a string. // Non-String header names should throw - common.expectsError( + assert.throws( () => res.setHeader(0xf00, 'bar'), { code: 'ERR_INVALID_HTTP_TOKEN', - type: TypeError, + name: 'TypeError', message: 'Header name must be a valid HTTP token ["3840"]' } ); // Undefined value should throw, via 979d0ca8 - common.expectsError( + assert.throws( () => res.setHeader('foo', undefined), { code: 'ERR_HTTP_INVALID_HEADER_VALUE', - type: TypeError, + name: 'TypeError', message: 'Invalid value "undefined" for header "foo"' } ); res.writeHead(200, { Test: '2' }); - common.expectsError(() => { + assert.throws(() => { res.writeHead(100, {}); }, { code: 'ERR_HTTP_HEADERS_SENT', - type: Error, + name: 'Error', message: 'Cannot render headers after they are sent to the client' }); diff --git a/test/parallel/test-http2-buffersize.js b/test/parallel/test-http2-buffersize.js index be56d8ce3d9344..f18cc4c1ec4e18 100644 --- a/test/parallel/test-http2-buffersize.js +++ b/test/parallel/test-http2-buffersize.js @@ -15,29 +15,32 @@ const Countdown = require('../common/countdown'); const BUFFER_SIZE = 30; const server = createServer(); + let client; + const countdown = new Countdown(SOCKETS, () => { + client.close(); + server.close(); + }); + // Other `bufferSize` tests for net module and tls module // don't assert `bufferSize` of server-side sockets. server.on('stream', mustCall((stream) => { stream.on('data', mustCall()); stream.on('end', mustCall()); + + stream.on('close', mustCall(() => { + countdown.dec(); + })); }, SOCKETS)); server.listen(0, mustCall(() => { const authority = `http://localhost:${server.address().port}`; - const client = connect(authority); - const countdown = new Countdown(SOCKETS, () => { - client.close(); - server.close(); - }); + client = connect(authority); client.once('connect', mustCall()); for (let j = 0; j < SOCKETS; j += 1) { const stream = client.request({ ':method': 'POST' }); stream.on('data', () => {}); - stream.on('close', mustCall(() => { - countdown.dec(); - })); for (let i = 0; i < TIMES; i += 1) { stream.write(Buffer.allocUnsafe(BUFFER_SIZE), mustCall()); diff --git a/test/parallel/test-http2-client-destroy.js b/test/parallel/test-http2-client-destroy.js index fe2c9591c7017d..35ee20723c15b7 100644 --- a/test/parallel/test-http2-client-destroy.js +++ b/test/parallel/test-http2-client-destroy.js @@ -62,7 +62,7 @@ const Countdown = require('../common/countdown'); const req = client.request(); req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_CANCEL', - type: Error, + name: 'Error', message: 'The pending stream has been canceled' })); @@ -71,26 +71,26 @@ const Countdown = require('../common/countdown'); req.on('response', common.mustNotCall()); const sessionError = { - type: Error, + name: 'Error', code: 'ERR_HTTP2_INVALID_SESSION', message: 'The session has been destroyed' }; - common.expectsError(() => client.setNextStreamID(), sessionError); - common.expectsError(() => client.ping(), sessionError); - common.expectsError(() => client.settings({}), sessionError); - common.expectsError(() => client.goaway(), sessionError); - common.expectsError(() => client.request(), sessionError); + assert.throws(() => client.setNextStreamID(), sessionError); + assert.throws(() => client.ping(), sessionError); + assert.throws(() => client.settings({}), sessionError); + assert.throws(() => client.goaway(), sessionError); + assert.throws(() => client.request(), sessionError); client.close(); // Should be a non-op at this point // Wait for setImmediate call from destroy() to complete // so that state.destroyed is set to true setImmediate(() => { - common.expectsError(() => client.setNextStreamID(), sessionError); - common.expectsError(() => client.ping(), sessionError); - common.expectsError(() => client.settings({}), sessionError); - common.expectsError(() => client.goaway(), sessionError); - common.expectsError(() => client.request(), sessionError); + assert.throws(() => client.setNextStreamID(), sessionError); + assert.throws(() => client.ping(), sessionError); + assert.throws(() => client.settings({}), sessionError); + assert.throws(() => client.goaway(), sessionError); + assert.throws(() => client.request(), sessionError); client.close(); // Should be a non-op at this point }); @@ -154,7 +154,7 @@ const Countdown = require('../common/countdown'); // Should throw goaway error req.on('error', common.expectsError({ code: 'ERR_HTTP2_GOAWAY_SESSION', - type: Error, + name: 'Error', message: 'New streams cannot be created after receiving a GOAWAY' })); diff --git a/test/parallel/test-http2-client-http1-server.js b/test/parallel/test-http2-client-http1-server.js index 2728033d19c50c..d570f5cbe831c9 100644 --- a/test/parallel/test-http2-client-http1-server.js +++ b/test/parallel/test-http2-client-http1-server.js @@ -20,13 +20,13 @@ server.listen(0, common.mustCall(() => { req.on('error', common.expectsError({ code: 'ERR_HTTP2_ERROR', - type: NghttpError, + constructor: NghttpError, message: 'Protocol error' })); client.on('error', common.expectsError({ code: 'ERR_HTTP2_ERROR', - type: NghttpError, + constructor: NghttpError, name: 'Error', message: 'Protocol error' })); diff --git a/test/parallel/test-http2-client-onconnect-errors.js b/test/parallel/test-http2-client-onconnect-errors.js index b00c0507243d55..788386ae864e16 100644 --- a/test/parallel/test-http2-client-onconnect-errors.js +++ b/test/parallel/test-http2-client-onconnect-errors.js @@ -29,7 +29,7 @@ const specificTests = [ ngError: constants.NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE, error: { code: 'ERR_HTTP2_OUT_OF_STREAMS', - type: Error, + name: 'Error', message: 'No stream ID is available because ' + 'maximum stream ID has been reached' }, @@ -39,7 +39,7 @@ const specificTests = [ ngError: constants.NGHTTP2_ERR_INVALID_ARGUMENT, error: { code: 'ERR_HTTP2_STREAM_SELF_DEPENDENCY', - type: Error, + name: 'Error', message: 'A stream cannot depend on itself' }, type: 'stream' @@ -54,7 +54,7 @@ const genericTests = Object.getOwnPropertyNames(constants) ngError: constants[key], error: { code: 'ERR_HTTP2_ERROR', - type: NghttpError, + constructor: NghttpError, name: 'Error', message: nghttp2ErrorString(constants[key]) }, diff --git a/test/parallel/test-http2-client-request-options-errors.js b/test/parallel/test-http2-client-request-options-errors.js index d170443f72848e..365381cc5ab9d0 100644 --- a/test/parallel/test-http2-client-request-options-errors.js +++ b/test/parallel/test-http2-client-request-options-errors.js @@ -3,6 +3,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const http2 = require('http2'); // Check if correct errors are emitted when wrong type of data is passed @@ -38,14 +39,14 @@ server.listen(0, common.mustCall(() => { if (type === optionsToTest[option]) return; - common.expectsError( + assert.throws( () => client.request({ ':method': 'CONNECT', ':authority': `localhost:${port}` }, { [option]: types[type] }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${String(types[type])}" is invalid ` + `for option "${option}"` diff --git a/test/parallel/test-http2-client-rststream-before-connect.js b/test/parallel/test-http2-client-rststream-before-connect.js index d186f418b5b9aa..2acdefdfbe28f8 100644 --- a/test/parallel/test-http2-client-rststream-before-connect.js +++ b/test/parallel/test-http2-client-rststream-before-connect.js @@ -31,10 +31,10 @@ server.listen(0, common.mustCall(() => { assert.strictEqual(req.closed, false); [true, 1, {}, [], null, 'test'].forEach((notFunction) => { - common.expectsError( + assert.throws( () => req.close(closeCode, notFunction), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_CALLBACK', message: `Callback must be a function. Received ${inspect(notFunction)}` } @@ -60,7 +60,7 @@ server.listen(0, common.mustCall(() => { req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_PROTOCOL_ERROR' })); diff --git a/test/parallel/test-http2-client-setNextStreamID-errors.js b/test/parallel/test-http2-client-setNextStreamID-errors.js index d13d685b3e508f..aace5845252af6 100644 --- a/test/parallel/test-http2-client-setNextStreamID-errors.js +++ b/test/parallel/test-http2-client-setNextStreamID-errors.js @@ -4,6 +4,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const http2 = require('http2'); const server = http2.createServer(); @@ -27,10 +28,10 @@ server.listen(0, common.mustCall(() => { client.on('connect', () => { const outOfRangeNum = 2 ** 32; - common.expectsError( + assert.throws( () => client.setNextStreamID(outOfRangeNum), { - type: RangeError, + name: 'RangeError', code: 'ERR_OUT_OF_RANGE', message: 'The value of "id" is out of range.' + ' It must be > 0 and <= 4294967295. Received ' + outOfRangeNum @@ -43,10 +44,10 @@ server.listen(0, common.mustCall(() => { return; } - common.expectsError( + assert.throws( () => client.setNextStreamID(value), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "id" argument must be of type number.' + common.invalidArgTypeHelper(value) diff --git a/test/parallel/test-http2-client-settings-before-connect.js b/test/parallel/test-http2-client-settings-before-connect.js index 8bcdabe3268afb..ed2b859ae202d1 100644 --- a/test/parallel/test-http2-client-settings-before-connect.js +++ b/test/parallel/test-http2-client-settings-before-connect.js @@ -3,6 +3,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const h2 = require('http2'); const { inspect } = require('util'); @@ -37,20 +38,20 @@ server.listen(0, common.mustCall(() => { ['enablePush', null, TypeError], ['enablePush', {}, TypeError] ].forEach(([name, value, errorType]) => - common.expectsError( + assert.throws( () => client.settings({ [name]: value }), { code: 'ERR_HTTP2_INVALID_SETTING_VALUE', - type: errorType + name: errorType.name } ) ); [1, true, {}, []].forEach((invalidCallback) => - common.expectsError( + assert.throws( () => client.settings({}, invalidCallback), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_CALLBACK', message: `Callback must be a function. Received ${inspect(invalidCallback)}` diff --git a/test/parallel/test-http2-client-stream-destroy-before-connect.js b/test/parallel/test-http2-client-stream-destroy-before-connect.js index d834de5d11ebe7..902657bd58fb3e 100644 --- a/test/parallel/test-http2-client-stream-destroy-before-connect.js +++ b/test/parallel/test-http2-client-stream-destroy-before-connect.js @@ -32,7 +32,7 @@ server.listen(0, common.mustCall(() => { req.destroy(new Error('test')); req.on('error', common.expectsError({ - type: Error, + name: 'Error', message: 'test' })); diff --git a/test/parallel/test-http2-client-unescaped-path.js b/test/parallel/test-http2-client-unescaped-path.js index ff122a02ca1a68..ca061ccda484b6 100644 --- a/test/parallel/test-http2-client-unescaped-path.js +++ b/test/parallel/test-http2-client-unescaped-path.js @@ -26,7 +26,7 @@ server.listen(0, common.mustCall(() => { const req = client.request({ ':path': `bad${String.fromCharCode(i)}path` }); req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_PROTOCOL_ERROR' })); req.on('close', common.mustCall(() => countdown.dec())); diff --git a/test/parallel/test-http2-compat-serverresponse-createpushresponse.js b/test/parallel/test-http2-compat-serverresponse-createpushresponse.js index 1ec273a2a137fa..731c2f8709a432 100644 --- a/test/parallel/test-http2-compat-serverresponse-createpushresponse.js +++ b/test/parallel/test-http2-compat-serverresponse-createpushresponse.js @@ -16,14 +16,14 @@ const server = h2.createServer((request, response) => { response.write(servExpect); // Callback must be specified (and be a function) - common.expectsError( + assert.throws( () => response.createPushResponse({ ':path': '/pushed', ':method': 'GET' }, undefined), { code: 'ERR_INVALID_CALLBACK', - type: TypeError, + name: 'TypeError', message: 'Callback must be a function. Received undefined' } ); diff --git a/test/parallel/test-http2-compat-serverresponse-destroy.js b/test/parallel/test-http2-compat-serverresponse-destroy.js index 9082ec2ab8e931..0d73c82c2d862f 100644 --- a/test/parallel/test-http2-compat-serverresponse-destroy.js +++ b/test/parallel/test-http2-compat-serverresponse-destroy.js @@ -56,7 +56,7 @@ server.listen(0, common.mustCall(() => { req.on('response', common.mustNotCall()); req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_INTERNAL_ERROR' })); req.on('close', common.mustCall(() => countdown.dec())); @@ -71,7 +71,7 @@ server.listen(0, common.mustCall(() => { req.on('response', common.mustNotCall()); req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_INTERNAL_ERROR' })); req.on('close', common.mustCall(() => countdown.dec())); diff --git a/test/parallel/test-http2-compat-serverresponse-end.js b/test/parallel/test-http2-compat-serverresponse-end.js index 5bbb24bb2edb31..8505d6c4969db1 100644 --- a/test/parallel/test-http2-compat-serverresponse-end.js +++ b/test/parallel/test-http2-compat-serverresponse-end.js @@ -149,11 +149,13 @@ const { // Http2ServerResponse.end is necessary on HEAD requests in compat // for http1 compatibility const server = createServer(mustCall((request, response) => { - strictEqual(response.finished, true); strictEqual(response.writableEnded, false); + strictEqual(response.finished, false); response.writeHead(HTTP_STATUS_OK, { foo: 'bar' }); + strictEqual(response.finished, false); response.end('data', mustCall()); strictEqual(response.writableEnded, true); + strictEqual(response.finished, true); })); server.listen(0, mustCall(() => { const { port } = server.address(); diff --git a/test/parallel/test-http2-compat-serverresponse-flushheaders.js b/test/parallel/test-http2-compat-serverresponse-flushheaders.js index 6927b3754b1eb3..7760bf8c7daed3 100644 --- a/test/parallel/test-http2-compat-serverresponse-flushheaders.js +++ b/test/parallel/test-http2-compat-serverresponse-flushheaders.js @@ -21,7 +21,7 @@ server.listen(0, common.mustCall(function() { assert.strictEqual(response._header, true); response.flushHeaders(); // Idempotent - common.expectsError(() => { + assert.throws(() => { response.writeHead(400, { 'foo-bar': 'abc123' }); }, { code: 'ERR_HTTP2_HEADERS_SENT' diff --git a/test/parallel/test-http2-compat-serverresponse-headers.js b/test/parallel/test-http2-compat-serverresponse-headers.js index 82b81a3d3fbbb6..14e480f611857a 100644 --- a/test/parallel/test-http2-compat-serverresponse-headers.js +++ b/test/parallel/test-http2-compat-serverresponse-headers.js @@ -59,42 +59,42 @@ server.listen(0, common.mustCall(function() { ':path', ':authority', ':scheme' - ].forEach((header) => common.expectsError( + ].forEach((header) => assert.throws( () => response.setHeader(header, 'foobar'), { code: 'ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED', - type: TypeError, + name: 'TypeError', message: 'Cannot set HTTP/2 pseudo-headers' }) ); - common.expectsError(function() { + assert.throws(() => { response.setHeader(real, null); }, { code: 'ERR_HTTP2_INVALID_HEADER_VALUE', - type: TypeError, + name: 'TypeError', message: 'Invalid value "null" for header "foo-bar"' }); - common.expectsError(function() { + assert.throws(() => { response.setHeader(real, undefined); }, { code: 'ERR_HTTP2_INVALID_HEADER_VALUE', - type: TypeError, + name: 'TypeError', message: 'Invalid value "undefined" for header "foo-bar"' }); - common.expectsError( + assert.throws( () => response.setHeader(), // Header name undefined { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "name" argument must be of type string. Received ' + 'undefined' } ); - common.expectsError( + assert.throws( () => response.setHeader(''), { code: 'ERR_INVALID_HTTP_TOKEN', - type: TypeError, + name: 'TypeError', message: 'Header name must be a valid HTTP token [""]' } ); @@ -115,37 +115,37 @@ server.listen(0, common.mustCall(function() { response.on('finish', common.mustCall(function() { assert.strictEqual(response.headersSent, true); - common.expectsError( + assert.throws( () => response.setHeader(real, expectedValue), { code: 'ERR_HTTP2_HEADERS_SENT', - type: Error, + name: 'Error', message: 'Response has already been initiated.' } ); - common.expectsError( + assert.throws( () => response.removeHeader(real, expectedValue), { code: 'ERR_HTTP2_HEADERS_SENT', - type: Error, + name: 'Error', message: 'Response has already been initiated.' } ); process.nextTick(() => { - common.expectsError( + assert.throws( () => response.setHeader(real, expectedValue), { code: 'ERR_HTTP2_HEADERS_SENT', - type: Error, + name: 'Error', message: 'Response has already been initiated.' } ); - common.expectsError( + assert.throws( () => response.removeHeader(real, expectedValue), { code: 'ERR_HTTP2_HEADERS_SENT', - type: Error, + name: 'Error', message: 'Response has already been initiated.' } ); diff --git a/test/parallel/test-http2-compat-serverresponse-statuscode.js b/test/parallel/test-http2-compat-serverresponse-statuscode.js index dd92db8d96597a..6064a5936e2e1e 100644 --- a/test/parallel/test-http2-compat-serverresponse-statuscode.js +++ b/test/parallel/test-http2-compat-serverresponse-statuscode.js @@ -33,23 +33,23 @@ server.listen(0, common.mustCall(function() { response.statusCode = realStatusCodes.badRequest; response.statusCode = realStatusCodes.internalServerError; - common.expectsError(function() { + assert.throws(() => { response.statusCode = realStatusCodes.continue; }, { code: 'ERR_HTTP2_INFO_STATUS_NOT_ALLOWED', - type: RangeError + name: 'RangeError' }); - common.expectsError(function() { + assert.throws(() => { response.statusCode = fakeStatusCodes.tooLow; }, { code: 'ERR_HTTP2_STATUS_INVALID', - type: RangeError + name: 'RangeError' }); - common.expectsError(function() { + assert.throws(() => { response.statusCode = fakeStatusCodes.tooHigh; }, { code: 'ERR_HTTP2_STATUS_INVALID', - type: RangeError + name: 'RangeError' }); response.on('finish', common.mustCall(function() { diff --git a/test/parallel/test-http2-compat-serverresponse-trailers.js b/test/parallel/test-http2-compat-serverresponse-trailers.js index ca148ff0070026..4cfbae0bdaf952 100644 --- a/test/parallel/test-http2-compat-serverresponse-trailers.js +++ b/test/parallel/test-http2-compat-serverresponse-trailers.js @@ -15,44 +15,44 @@ server.listen(0, common.mustCall(() => { }); response.setTrailer('ABCD', 123); - common.expectsError( + assert.throws( () => response.addTrailers({ '': 'test' }), { code: 'ERR_INVALID_HTTP_TOKEN', - type: TypeError, + name: 'TypeError', message: 'Header name must be a valid HTTP token [""]' } ); - common.expectsError( + assert.throws( () => response.setTrailer('test', undefined), { code: 'ERR_HTTP2_INVALID_HEADER_VALUE', - type: TypeError, + name: 'TypeError', message: 'Invalid value "undefined" for header "test"' } ); - common.expectsError( + assert.throws( () => response.setTrailer('test', null), { code: 'ERR_HTTP2_INVALID_HEADER_VALUE', - type: TypeError, + name: 'TypeError', message: 'Invalid value "null" for header "test"' } ); - common.expectsError( + assert.throws( () => response.setTrailer(), // Trailer name undefined { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "name" argument must be of type string. Received ' + 'undefined' } ); - common.expectsError( + assert.throws( () => response.setTrailer(''), { code: 'ERR_INVALID_HTTP_TOKEN', - type: TypeError, + name: 'TypeError', message: 'Header name must be a valid HTTP token [""]' } ); diff --git a/test/parallel/test-http2-compat-serverresponse-writehead.js b/test/parallel/test-http2-compat-serverresponse-writehead.js index e66f5f79cd9041..8157dcbedd0f2f 100644 --- a/test/parallel/test-http2-compat-serverresponse-writehead.js +++ b/test/parallel/test-http2-compat-serverresponse-writehead.js @@ -19,7 +19,7 @@ server.listen(0, common.mustCall(function() { assert.strictEqual(returnVal, response); - common.expectsError(() => { response.writeHead(300); }, { + assert.throws(() => { response.writeHead(300); }, { code: 'ERR_HTTP2_HEADERS_SENT' }); diff --git a/test/parallel/test-http2-compat-socket-set.js b/test/parallel/test-http2-compat-socket-set.js index 05beb09d548e91..b14a2f65d8e7fd 100644 --- a/test/parallel/test-http2-compat-socket-set.js +++ b/test/parallel/test-http2-compat-socket-set.js @@ -11,7 +11,7 @@ const h2 = require('http2'); const errMsg = { code: 'ERR_HTTP2_NO_SOCKET_MANIPULATION', - type: Error, + name: 'Error', message: 'HTTP/2 sockets should not be directly manipulated ' + '(e.g. read and written)' }; @@ -68,10 +68,10 @@ server.on('request', common.mustCall(function(request, response) { request.socket._isProcessing = true; assert.strictEqual(request.stream.session.socket._isProcessing, true); - common.expectsError(() => request.socket.read = noop, errMsg); - common.expectsError(() => request.socket.write = noop, errMsg); - common.expectsError(() => request.socket.pause = noop, errMsg); - common.expectsError(() => request.socket.resume = noop, errMsg); + assert.throws(() => request.socket.read = noop, errMsg); + assert.throws(() => request.socket.write = noop, errMsg); + assert.throws(() => request.socket.pause = noop, errMsg); + assert.throws(() => request.socket.resume = noop, errMsg); request.stream.on('finish', common.mustCall(() => { setImmediate(() => { diff --git a/test/parallel/test-http2-compat-socket.js b/test/parallel/test-http2-compat-socket.js index 162d3af96f505b..0db2876738c766 100644 --- a/test/parallel/test-http2-compat-socket.js +++ b/test/parallel/test-http2-compat-socket.js @@ -17,7 +17,7 @@ const { kTimeout } = require('internal/timers'); const errMsg = { code: 'ERR_HTTP2_NO_SOCKET_MANIPULATION', - type: Error, + name: 'Error', message: 'HTTP/2 sockets should not be directly manipulated ' + '(e.g. read and written)' }; @@ -38,10 +38,10 @@ server.on('request', common.mustCall(function(request, response) { assert.strictEqual(request.stream.session[kTimeout]._idleTimeout, 987); request.socket.setTimeout(0); - common.expectsError(() => request.socket.read(), errMsg); - common.expectsError(() => request.socket.write(), errMsg); - common.expectsError(() => request.socket.pause(), errMsg); - common.expectsError(() => request.socket.resume(), errMsg); + assert.throws(() => request.socket.read(), errMsg); + assert.throws(() => request.socket.write(), errMsg); + assert.throws(() => request.socket.pause(), errMsg); + assert.throws(() => request.socket.resume(), errMsg); // Should have correct this context for socket methods & getters assert.ok(request.socket.address() != null); diff --git a/test/parallel/test-http2-connect-method.js b/test/parallel/test-http2-connect-method.js index 46c5bf9795db69..d5b4c4bd274950 100644 --- a/test/parallel/test-http2-connect-method.js +++ b/test/parallel/test-http2-connect-method.js @@ -56,7 +56,7 @@ server.listen(0, common.mustCall(() => { const client = http2.connect(`http://localhost:${proxy.address().port}`); // Confirm that :authority is required and :scheme & :path are forbidden - common.expectsError( + assert.throws( () => client.request({ [HTTP2_HEADER_METHOD]: 'CONNECT' }), @@ -65,7 +65,7 @@ server.listen(0, common.mustCall(() => { message: ':authority header is required for CONNECT requests' } ); - common.expectsError( + assert.throws( () => client.request({ [HTTP2_HEADER_METHOD]: 'CONNECT', [HTTP2_HEADER_AUTHORITY]: `localhost:${port}`, @@ -76,7 +76,7 @@ server.listen(0, common.mustCall(() => { message: 'The :scheme header is forbidden for CONNECT requests' } ); - common.expectsError( + assert.throws( () => client.request({ [HTTP2_HEADER_METHOD]: 'CONNECT', [HTTP2_HEADER_AUTHORITY]: `localhost:${port}`, diff --git a/test/parallel/test-http2-connect.js b/test/parallel/test-http2-connect.js index 4569905eac9be1..6f62f55a93b7f2 100644 --- a/test/parallel/test-http2-connect.js +++ b/test/parallel/test-http2-connect.js @@ -9,6 +9,7 @@ const { } = require('../common'); if (!hasCrypto) skip('missing crypto'); +const assert = require('assert'); const { createServer, connect } = require('http2'); const { connect: netConnect } = require('net'); @@ -78,7 +79,7 @@ const { connect: netConnect } = require('net'); } }).on('error', expectsError({ code: 'ERR_HTTP2_INVALID_SETTING_VALUE', - type: RangeError + name: 'RangeError' })); }); } @@ -86,11 +87,11 @@ const { connect: netConnect } = require('net'); // Check for error for an invalid protocol (not http or https) { const authority = 'ssh://localhost'; - expectsError(() => { + assert.throws(() => { connect(authority); }, { code: 'ERR_HTTP2_UNSUPPORTED_PROTOCOL', - type: Error + name: 'Error' }); } diff --git a/test/parallel/test-http2-debug.js b/test/parallel/test-http2-debug.js index ce1873234e76ec..0d6b5f677c234b 100644 --- a/test/parallel/test-http2-debug.js +++ b/test/parallel/test-http2-debug.js @@ -12,16 +12,16 @@ const { stdout, stderr } = child_process.spawnSync(process.execPath, [ path.resolve(__dirname, 'test-http2-ping.js') ], { encoding: 'utf8' }); -assert(stderr.match(/Setting the NODE_DEBUG environment variable to 'http2' can expose sensitive data \(such as passwords, tokens and authentication headers\) in the resulting log\./), +assert(stderr.match(/Setting the NODE_DEBUG environment variable to 'http2' can expose sensitive data \(such as passwords, tokens and authentication headers\) in the resulting log\.\r?\n/), stderr); -assert(stderr.match(/Http2Session client \(\d+\) handling data frame for stream \d+/), +assert(stderr.match(/Http2Session client \(\d+\) handling data frame for stream \d+\r?\n/), stderr); -assert(stderr.match(/HttpStream \d+ \(\d+\) \[Http2Session client \(\d+\)\] reading starting/), +assert(stderr.match(/HttpStream \d+ \(\d+\) \[Http2Session client \(\d+\)\] reading starting\r?\n/), stderr); -assert(stderr.match(/HttpStream \d+ \(\d+\) \[Http2Session client \(\d+\)\] closed with code 0/), +assert(stderr.match(/HttpStream \d+ \(\d+\) \[Http2Session client \(\d+\)\] closed with code 0\r?\n/), stderr); -assert(stderr.match(/HttpStream \d+ \(\d+\) \[Http2Session server \(\d+\)\] closed with code 0/), +assert(stderr.match(/HttpStream \d+ \(\d+\) \[Http2Session server \(\d+\)\] closed with code 0\r?\n/), stderr); -assert(stderr.match(/HttpStream \d+ \(\d+\) \[Http2Session server \(\d+\)\] tearing down stream/), +assert(stderr.match(/HttpStream \d+ \(\d+\) \[Http2Session server \(\d+\)\] tearing down stream\r?\n/), stderr); assert.strictEqual(stdout.trim(), ''); diff --git a/test/parallel/test-http2-getpackedsettings.js b/test/parallel/test-http2-getpackedsettings.js index 02612eceec4f5e..4aa5747a053bd1 100644 --- a/test/parallel/test-http2-getpackedsettings.js +++ b/test/parallel/test-http2-getpackedsettings.js @@ -47,11 +47,11 @@ http2.getPackedSettings({ enablePush: false }); ['maxHeaderListSize', -1], ['maxHeaderListSize', 2 ** 32] ].forEach((i) => { - common.expectsError(() => { + assert.throws(() => { http2.getPackedSettings({ [i[0]]: i[1] }); }, { code: 'ERR_HTTP2_INVALID_SETTING_VALUE', - type: RangeError, + name: 'RangeError', message: `Invalid value for setting "${i[0]}": ${i[1]}` }); }); @@ -59,11 +59,11 @@ http2.getPackedSettings({ enablePush: false }); [ 1, null, '', Infinity, new Date(), {}, NaN, [false] ].forEach((i) => { - common.expectsError(() => { + assert.throws(() => { http2.getPackedSettings({ enablePush: i }); }, { code: 'ERR_HTTP2_INVALID_SETTING_VALUE', - type: TypeError, + name: 'TypeError', message: `Invalid value for setting "enablePush": ${i}` }); }); @@ -121,22 +121,22 @@ http2.getPackedSettings({ enablePush: false }); 0x00, 0x08, 0x00, 0x00, 0x00, 0x00]); [1, true, '', [], {}, NaN].forEach((input) => { - common.expectsError(() => { + assert.throws(() => { http2.getUnpackedSettings(input); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "buf" argument must be an instance of Buffer, TypedArray, or ' + `DataView.${common.invalidArgTypeHelper(input)}` }); }); - common.expectsError(() => { + assert.throws(() => { http2.getUnpackedSettings(packed.slice(5)); }, { code: 'ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH', - type: RangeError, + name: 'RangeError', message: 'Packed settings length must be a multiple of six' }); @@ -189,11 +189,11 @@ http2.getPackedSettings({ enablePush: false }); { const packed = Buffer.from([0x00, 0x05, 0x01, 0x00, 0x00, 0x00]); - common.expectsError(() => { + assert.throws(() => { http2.getUnpackedSettings(packed, { validate: true }); }, { code: 'ERR_HTTP2_INVALID_SETTING_VALUE', - type: RangeError, + name: 'RangeError', message: 'Invalid value for setting "maxFrameSize": 16777216' }); } diff --git a/test/parallel/test-http2-head-request.js b/test/parallel/test-http2-head-request.js index c8103e7190c3fa..9eaa737503b377 100644 --- a/test/parallel/test-http2-head-request.js +++ b/test/parallel/test-http2-head-request.js @@ -7,7 +7,7 @@ const assert = require('assert'); const http2 = require('http2'); const errCheck = common.expectsError({ - type: Error, + name: 'Error', code: 'ERR_STREAM_WRITE_AFTER_END', message: 'write after end' }, 2); @@ -27,7 +27,7 @@ server.on('stream', (stream, headers) => { stream.respond({ [HTTP2_HEADER_STATUS]: 200 }); // Because this is a head request, the outbound stream is closed automatically - stream.on('error', common.mustCall(errCheck)); + stream.on('error', errCheck); stream.write('data'); }); @@ -44,7 +44,7 @@ server.listen(0, () => { // Because it is a HEAD request, the payload is meaningless. The // option.endStream flag is set automatically making the stream // non-writable. - req.on('error', common.mustCall(errCheck)); + req.on('error', errCheck); req.write('data'); req.on('response', common.mustCall((headers, flags) => { diff --git a/test/parallel/test-http2-info-headers-errors.js b/test/parallel/test-http2-info-headers-errors.js index a2e17abd745a7f..aa1e28222c4c90 100644 --- a/test/parallel/test-http2-info-headers-errors.js +++ b/test/parallel/test-http2-info-headers-errors.js @@ -27,7 +27,7 @@ const genericTests = Object.getOwnPropertyNames(constants) ngError: constants[key], error: { code: 'ERR_HTTP2_ERROR', - type: NghttpError, + constructor: NghttpError, name: 'Error', message: nghttp2ErrorString(constants[key]) }, @@ -72,7 +72,7 @@ function runTest(test) { req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_INTERNAL_ERROR' })); diff --git a/test/parallel/test-http2-info-headers.js b/test/parallel/test-http2-info-headers.js index ec95a9d3d93185..3f2a50042581a0 100644 --- a/test/parallel/test-http2-info-headers.js +++ b/test/parallel/test-http2-info-headers.js @@ -18,25 +18,25 @@ const afterRespondregex = function onStream(stream, headers, flags) { - common.expectsError(() => stream.additionalHeaders({ ':status': 201 }), - { - code: 'ERR_HTTP2_INVALID_INFO_STATUS', - type: RangeError, - message: /^Invalid informational status code: 201$/ - }); - - common.expectsError(() => stream.additionalHeaders({ ':status': 101 }), - { - code: 'ERR_HTTP2_STATUS_101', - type: Error, - message: status101regex - }); - - common.expectsError( + assert.throws(() => stream.additionalHeaders({ ':status': 201 }), + { + code: 'ERR_HTTP2_INVALID_INFO_STATUS', + name: 'RangeError', + message: /^Invalid informational status code: 201$/ + }); + + assert.throws(() => stream.additionalHeaders({ ':status': 101 }), + { + code: 'ERR_HTTP2_STATUS_101', + name: 'Error', + message: status101regex + }); + + assert.throws( () => stream.additionalHeaders({ ':method': 'POST' }), { code: 'ERR_HTTP2_INVALID_PSEUDOHEADER', - type: TypeError, + name: 'TypeError', message: '":method" is an invalid pseudoheader or is used incorrectly' } ); @@ -50,12 +50,12 @@ function onStream(stream, headers, flags) { ':status': 200 }); - common.expectsError(() => stream.additionalHeaders({ abc: 123 }), - { - code: 'ERR_HTTP2_HEADERS_AFTER_RESPOND', - type: Error, - message: afterRespondregex - }); + assert.throws(() => stream.additionalHeaders({ abc: 123 }), + { + code: 'ERR_HTTP2_HEADERS_AFTER_RESPOND', + name: 'Error', + message: afterRespondregex + }); stream.end('hello world'); } diff --git a/test/parallel/test-http2-invalidargtypes-errors.js b/test/parallel/test-http2-invalidargtypes-errors.js index b94a670a1a3c28..2230ba1d1f30e4 100644 --- a/test/parallel/test-http2-invalidargtypes-errors.js +++ b/test/parallel/test-http2-invalidargtypes-errors.js @@ -3,16 +3,17 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const http2 = require('http2'); const server = http2.createServer(); server.on('stream', common.mustCall((stream) => { - common.expectsError( + assert.throws( () => stream.close('string'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "code" argument must be of type number. ' + "Received type string ('string')" } diff --git a/test/parallel/test-http2-max-concurrent-streams.js b/test/parallel/test-http2-max-concurrent-streams.js index b270d6cc6aff31..a280d04a34f980 100644 --- a/test/parallel/test-http2-max-concurrent-streams.js +++ b/test/parallel/test-http2-max-concurrent-streams.js @@ -49,7 +49,7 @@ server.listen(0, common.mustCall(() => { req.on('close', common.mustCall(() => countdown.dec())); req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_REFUSED_STREAM' })); } diff --git a/test/parallel/test-http2-misbehaving-flow-control-paused.js b/test/parallel/test-http2-misbehaving-flow-control-paused.js index 26d2ed5dd244a2..d8f37c4394aa94 100644 --- a/test/parallel/test-http2-misbehaving-flow-control-paused.js +++ b/test/parallel/test-http2-misbehaving-flow-control-paused.js @@ -62,7 +62,7 @@ server.on('stream', (stream) => { stream.pause(); stream.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_FLOW_CONTROL_ERROR' })); stream.on('close', common.mustCall(() => { diff --git a/test/parallel/test-http2-misbehaving-flow-control.js b/test/parallel/test-http2-misbehaving-flow-control.js index f2da0ba56c8e67..97f8c17f4ff85d 100644 --- a/test/parallel/test-http2-misbehaving-flow-control.js +++ b/test/parallel/test-http2-misbehaving-flow-control.js @@ -68,7 +68,7 @@ const server = h2.createServer({ settings: { initialWindowSize: 18 } }); server.on('stream', (stream) => { stream.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_FLOW_CONTROL_ERROR' })); stream.on('close', common.mustCall(() => { diff --git a/test/parallel/test-http2-misbehaving-multiplex.js b/test/parallel/test-http2-misbehaving-multiplex.js index 3df3a6f893ddb8..fbd8add8906b7e 100644 --- a/test/parallel/test-http2-misbehaving-multiplex.js +++ b/test/parallel/test-http2-misbehaving-multiplex.js @@ -19,7 +19,7 @@ server.on('stream', common.mustCall((stream) => { // The error will be emitted asynchronously stream.on('error', common.expectsError({ - type: NghttpError, + constructor: NghttpError, code: 'ERR_HTTP2_ERROR', message: 'Stream was already closed or invalid' })); @@ -28,7 +28,7 @@ server.on('stream', common.mustCall((stream) => { server.on('session', common.mustCall((session) => { session.on('error', common.expectsError({ code: 'ERR_HTTP2_ERROR', - type: NghttpError, + constructor: NghttpError, message: 'Stream was already closed or invalid' })); })); diff --git a/test/parallel/test-http2-misc-util.js b/test/parallel/test-http2-misc-util.js index ec9c65ec088bb8..53eed542e2a605 100644 --- a/test/parallel/test-http2-misc-util.js +++ b/test/parallel/test-http2-misc-util.js @@ -20,30 +20,30 @@ assert.strictEqual(sessionName(1), 'client'); }); // Code coverage for assertWithinRange function -common.expectsError( +assert.throws( () => assertWithinRange('test', -1), { code: 'ERR_HTTP2_INVALID_SETTING_VALUE', - type: RangeError, + name: 'RangeError', message: 'Invalid value for setting "test": -1' }); assertWithinRange('test', 1); -common.expectsError( +assert.throws( () => assertIsObject('foo', 'test'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "test" argument must be of type object. Received ' + "type string ('foo')" }); -common.expectsError( +assert.throws( () => assertIsObject('foo', 'test', ['Date']), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "test" argument must be an instance of Date. Received type ' + "string ('foo')" }); diff --git a/test/parallel/test-http2-misused-pseudoheaders.js b/test/parallel/test-http2-misused-pseudoheaders.js index c1ae37b9a36938..2ae3a1ddbfaf3f 100644 --- a/test/parallel/test-http2-misused-pseudoheaders.js +++ b/test/parallel/test-http2-misused-pseudoheaders.js @@ -3,6 +3,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const h2 = require('http2'); const server = h2.createServer(); @@ -14,16 +15,16 @@ server.on('stream', common.mustCall((stream) => { ':method', ':scheme' ].forEach((i) => { - common.expectsError(() => stream.respond({ [i]: '/' }), - { - code: 'ERR_HTTP2_INVALID_PSEUDOHEADER' - }); + assert.throws(() => stream.respond({ [i]: '/' }), + { + code: 'ERR_HTTP2_INVALID_PSEUDOHEADER' + }); }); stream.respond({}, { waitForTrailers: true }); stream.on('wantTrailers', () => { - common.expectsError(() => { + assert.throws(() => { stream.sendTrailers({ ':status': 'bar' }); }, { code: 'ERR_HTTP2_INVALID_PSEUDOHEADER' diff --git a/test/parallel/test-http2-multi-content-length.js b/test/parallel/test-http2-multi-content-length.js index 7d8ff4858fedbb..013dc8935c2a3a 100644 --- a/test/parallel/test-http2-multi-content-length.js +++ b/test/parallel/test-http2-multi-content-length.js @@ -3,6 +3,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const http2 = require('http2'); const Countdown = require('../common/countdown'); @@ -22,7 +23,7 @@ server.listen(0, common.mustCall(() => { }); // Request 1 will fail because there are two content-length header values - common.expectsError( + assert.throws( () => { client.request({ ':method': 'POST', @@ -31,7 +32,7 @@ server.listen(0, common.mustCall(() => { }); }, { code: 'ERR_HTTP2_HEADER_SINGLE_VALUE', - type: TypeError, + name: 'TypeError', message: 'Header field "content-length" must only have a single value' } ); @@ -57,7 +58,7 @@ server.listen(0, common.mustCall(() => { req.on('close', common.mustCall(() => countdown.dec())); req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_PROTOCOL_ERROR' })); } diff --git a/test/parallel/test-http2-no-more-streams.js b/test/parallel/test-http2-no-more-streams.js index ff0c8baa14ccdb..26ec5ab8adebef 100644 --- a/test/parallel/test-http2-no-more-streams.js +++ b/test/parallel/test-http2-no-more-streams.js @@ -43,7 +43,7 @@ server.listen(0, common.mustCall(() => { const req = client.request(); req.on('error', common.expectsError({ code: 'ERR_HTTP2_OUT_OF_STREAMS', - type: Error, + name: 'Error', message: 'No stream ID is available because maximum stream ID has been reached' })); diff --git a/test/parallel/test-http2-options-max-headers-block-length.js b/test/parallel/test-http2-options-max-headers-block-length.js index 18f72bf1defb22..11632c6e825c53 100644 --- a/test/parallel/test-http2-options-max-headers-block-length.js +++ b/test/parallel/test-http2-options-max-headers-block-length.js @@ -37,7 +37,7 @@ server.listen(0, common.mustCall(() => { req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_REFUSED_STREAM' })); })); diff --git a/test/parallel/test-http2-ping.js b/test/parallel/test-http2-ping.js index 27bfd19c6f08df..d775e93333797e 100644 --- a/test/parallel/test-http2-ping.js +++ b/test/parallel/test-http2-ping.js @@ -76,17 +76,17 @@ server.listen(0, common.mustCall(() => { // Only max 2 pings at a time based on the maxOutstandingPings option assert(!client.ping(common.expectsError({ code: 'ERR_HTTP2_PING_CANCEL', - type: Error, + name: 'Error', message: 'HTTP2 ping cancelled' }))); // Should throw if payload is not of type ArrayBufferView { [1, true, {}, []].forEach((payload) => - common.expectsError( + assert.throws( () => client.ping(payload), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "payload" argument must be an instance of Buffer, ' + 'TypedArray, or DataView.' + @@ -101,10 +101,10 @@ server.listen(0, common.mustCall(() => { const shortPayload = Buffer.from('abcdefg'); const longPayload = Buffer.from('abcdefghi'); [shortPayload, longPayload].forEach((payloadWithInvalidLength) => - common.expectsError( + assert.throws( () => client.ping(payloadWithInvalidLength), { - type: RangeError, + name: 'RangeError', code: 'ERR_HTTP2_PING_LENGTH', message: 'HTTP2 ping payload must be 8 bytes' } @@ -116,10 +116,10 @@ server.listen(0, common.mustCall(() => { { const payload = Buffer.from('abcdefgh'); [1, true, {}, []].forEach((invalidCallback) => - common.expectsError( + assert.throws( () => client.ping(payload, invalidCallback), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_CALLBACK', message: 'Callback must be a function. ' + `Received ${inspect(invalidCallback)}` diff --git a/test/parallel/test-http2-reset-flood.js b/test/parallel/test-http2-reset-flood.js index 7ee534cf4faa4e..d721384ab3742e 100644 --- a/test/parallel/test-http2-reset-flood.js +++ b/test/parallel/test-http2-reset-flood.js @@ -69,9 +69,10 @@ const worker = new Worker(__filename).on('message', common.mustCall((port) => { h2header.writeIntBE(streamId, 5, 4); // Stream ID streamId += 2; // 0x88 = :status: 200 - conn.write(Buffer.concat([h2header, Buffer.from([0x88])])); + if (conn.writable) + conn.write(Buffer.concat([h2header, Buffer.from([0x88])])); } - if (!gotError) + if (conn.writable && !gotError) setImmediate(writeRequests); } diff --git a/test/parallel/test-http2-respond-errors.js b/test/parallel/test-http2-respond-errors.js index 98f2558253deff..cc733b6994a3bd 100644 --- a/test/parallel/test-http2-respond-errors.js +++ b/test/parallel/test-http2-respond-errors.js @@ -4,6 +4,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const http2 = require('http2'); const { internalBinding } = require('internal/test/binding'); const { Http2Stream } = internalBinding('http2'); @@ -17,10 +18,10 @@ server.on('stream', common.mustCall((stream) => { stream.respond({ 'content-type': 'text/plain' }); // Should throw if headers already sent - common.expectsError( + assert.throws( () => stream.respond(), { - type: Error, + name: 'Error', code: 'ERR_HTTP2_HEADERS_SENT', message: 'Response has already been initiated.' } @@ -28,10 +29,10 @@ server.on('stream', common.mustCall((stream) => { // Should throw if stream already destroyed stream.destroy(); - common.expectsError( + assert.throws( () => stream.respond(), { - type: Error, + name: 'Error', code: 'ERR_HTTP2_INVALID_STREAM', message: 'The stream has been destroyed' } diff --git a/test/parallel/test-http2-respond-file-204.js b/test/parallel/test-http2-respond-file-204.js index b0ba634e67df69..0c59b0e7294aad 100644 --- a/test/parallel/test-http2-respond-file-204.js +++ b/test/parallel/test-http2-respond-file-204.js @@ -4,6 +4,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); const fixtures = require('../common/fixtures'); +const assert = require('assert'); const http2 = require('http2'); const { @@ -15,14 +16,14 @@ const fname = fixtures.path('elipses.txt'); const server = http2.createServer(); server.on('stream', (stream) => { - common.expectsError(() => { + assert.throws(() => { stream.respondWithFile(fname, { [HTTP2_HEADER_STATUS]: 204, [HTTP2_HEADER_CONTENT_TYPE]: 'text/plain' }); }, { code: 'ERR_HTTP2_PAYLOAD_FORBIDDEN', - type: Error, + name: 'Error', message: 'Responses with 204 status must not have a payload' }); stream.respond({}); diff --git a/test/parallel/test-http2-respond-file-404.js b/test/parallel/test-http2-respond-file-404.js index 60bc21f185dd5c..1279fba102a18e 100644 --- a/test/parallel/test-http2-respond-file-404.js +++ b/test/parallel/test-http2-respond-file-404.js @@ -20,7 +20,7 @@ server.on('stream', (stream) => { onError(err) { common.expectsError({ code: 'ENOENT', - type: Error, + name: 'Error', message: `ENOENT: no such file or directory, open '${file}'` })(err); diff --git a/test/parallel/test-http2-respond-file-error-dir.js b/test/parallel/test-http2-respond-file-error-dir.js index 24a6d2dc96597e..155e0054329296 100644 --- a/test/parallel/test-http2-respond-file-error-dir.js +++ b/test/parallel/test-http2-respond-file-error-dir.js @@ -14,7 +14,7 @@ server.on('stream', (stream) => { onError(err) { common.expectsError({ code: 'ERR_HTTP2_SEND_FILE', - type: Error, + name: 'Error', message: 'Directories cannot be sent' })(err); diff --git a/test/parallel/test-http2-respond-file-error-pipe-offset.js b/test/parallel/test-http2-respond-file-error-pipe-offset.js index eb782e2dea66c4..8ee7c532332837 100644 --- a/test/parallel/test-http2-respond-file-error-pipe-offset.js +++ b/test/parallel/test-http2-respond-file-error-pipe-offset.js @@ -32,7 +32,7 @@ server.on('stream', (stream) => { onError(err) { common.expectsError({ code: 'ERR_HTTP2_SEND_FILE_NOSEEK', - type: Error, + name: 'Error', message: 'Offset or length can only be specified for regular files' })(err); diff --git a/test/parallel/test-http2-respond-file-errors.js b/test/parallel/test-http2-respond-file-errors.js index 96dd579a154fe7..1f2b227f1f501d 100644 --- a/test/parallel/test-http2-respond-file-errors.js +++ b/test/parallel/test-http2-respond-file-errors.js @@ -4,6 +4,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); const fixtures = require('../common/fixtures'); +const assert = require('assert'); const http2 = require('http2'); const optionsWithTypeError = { @@ -35,14 +36,14 @@ server.on('stream', common.mustCall((stream) => { return; } - common.expectsError( + assert.throws( () => stream.respondWithFile(fname, { 'content-type': 'text/plain' }, { [option]: types[type] }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${String(types[type])}" is invalid ` + `for option "${option}"` @@ -52,7 +53,7 @@ server.on('stream', common.mustCall((stream) => { }); // Should throw if :status 204, 205 or 304 - [204, 205, 304].forEach((status) => common.expectsError( + [204, 205, 304].forEach((status) => assert.throws( () => stream.respondWithFile(fname, { 'content-type': 'text/plain', ':status': status, @@ -65,7 +66,7 @@ server.on('stream', common.mustCall((stream) => { // Should throw if headers already sent stream.respond({ ':status': 200 }); - common.expectsError( + assert.throws( () => stream.respondWithFile(fname, { 'content-type': 'text/plain' }), @@ -77,7 +78,7 @@ server.on('stream', common.mustCall((stream) => { // Should throw if stream already destroyed stream.destroy(); - common.expectsError( + assert.throws( () => stream.respondWithFile(fname, { 'content-type': 'text/plain' }), diff --git a/test/parallel/test-http2-respond-file-fd-errors.js b/test/parallel/test-http2-respond-file-fd-errors.js index 06e5f6161dbd70..750f762a53eb37 100644 --- a/test/parallel/test-http2-respond-file-fd-errors.js +++ b/test/parallel/test-http2-respond-file-fd-errors.js @@ -4,6 +4,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); const fixtures = require('../common/fixtures'); +const assert = require('assert'); const http2 = require('http2'); const fs = require('fs'); @@ -35,12 +36,12 @@ server.on('stream', common.mustCall((stream) => { return; } - common.expectsError( + assert.throws( () => stream.respondWithFD(types[type], { 'content-type': 'text/plain' }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "fd" argument must be of type number or an instance of' + ` FileHandle.${common.invalidArgTypeHelper(types[type])}` @@ -55,14 +56,14 @@ server.on('stream', common.mustCall((stream) => { return; } - common.expectsError( + assert.throws( () => stream.respondWithFD(fd, { 'content-type': 'text/plain' }, { [option]: types[type] }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${String(types[type])}" is invalid ` + `for option "${option}"` @@ -72,40 +73,40 @@ server.on('stream', common.mustCall((stream) => { }); // Should throw if :status 204, 205 or 304 - [204, 205, 304].forEach((status) => common.expectsError( + [204, 205, 304].forEach((status) => assert.throws( () => stream.respondWithFD(fd, { 'content-type': 'text/plain', ':status': status, }), { code: 'ERR_HTTP2_PAYLOAD_FORBIDDEN', - type: Error, + name: 'Error', message: `Responses with ${status} status must not have a payload` } )); // Should throw if headers already sent stream.respond(); - common.expectsError( + assert.throws( () => stream.respondWithFD(fd, { 'content-type': 'text/plain' }), { code: 'ERR_HTTP2_HEADERS_SENT', - type: Error, + name: 'Error', message: 'Response has already been initiated.' } ); // Should throw if stream already destroyed stream.destroy(); - common.expectsError( + assert.throws( () => stream.respondWithFD(fd, { 'content-type': 'text/plain' }), { code: 'ERR_HTTP2_INVALID_STREAM', - type: Error, + name: 'Error', message: 'The stream has been destroyed' } ); diff --git a/test/parallel/test-http2-respond-file-fd-invalid.js b/test/parallel/test-http2-respond-file-fd-invalid.js index 64c8ba541fb2a9..448258ef97b976 100644 --- a/test/parallel/test-http2-respond-file-fd-invalid.js +++ b/test/parallel/test-http2-respond-file-fd-invalid.js @@ -14,7 +14,7 @@ const { const errorCheck = common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_INTERNAL_ERROR' }, 2); @@ -30,7 +30,7 @@ server.on('stream', (stream) => { } stream.respondWithFD(fd); - stream.on('error', common.mustCall(errorCheck)); + stream.on('error', errorCheck); }); server.listen(0, () => { @@ -38,7 +38,7 @@ server.listen(0, () => { const req = client.request(); req.on('response', common.mustCall()); - req.on('error', common.mustCall(errorCheck)); + req.on('error', errorCheck); req.on('data', common.mustNotCall()); req.on('end', common.mustCall(() => { assert.strictEqual(req.rstCode, NGHTTP2_INTERNAL_ERROR); diff --git a/test/parallel/test-http2-respond-nghttperrors.js b/test/parallel/test-http2-respond-nghttperrors.js index 30d20d4b8134cd..cce01ada928b9c 100644 --- a/test/parallel/test-http2-respond-nghttperrors.js +++ b/test/parallel/test-http2-respond-nghttperrors.js @@ -28,7 +28,7 @@ const genericTests = Object.getOwnPropertyNames(constants) ngError: constants[key], error: { code: 'ERR_HTTP2_ERROR', - type: NghttpError, + constructor: NghttpError, name: 'Error', message: nghttp2ErrorString(constants[key]) }, @@ -80,7 +80,7 @@ function runTest(test) { const req = client.request(headers); req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_INTERNAL_ERROR' })); diff --git a/test/parallel/test-http2-respond-with-fd-errors.js b/test/parallel/test-http2-respond-with-fd-errors.js index 00ed777df5f351..03cda5d7e7d0a4 100644 --- a/test/parallel/test-http2-respond-with-fd-errors.js +++ b/test/parallel/test-http2-respond-with-fd-errors.js @@ -35,7 +35,7 @@ const genericTests = Object.getOwnPropertyNames(constants) ngError: constants[key], error: { code: 'ERR_HTTP2_ERROR', - type: NghttpError, + constructor: NghttpError, name: 'Error', message: nghttp2ErrorString(constants[key]) }, @@ -88,7 +88,7 @@ function runTest(test) { req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_INTERNAL_ERROR' })); diff --git a/test/parallel/test-http2-server-http1-client.js b/test/parallel/test-http2-server-http1-client.js index 394993d4d72088..40e97f04a4e888 100644 --- a/test/parallel/test-http2-server-http1-client.js +++ b/test/parallel/test-http2-server-http1-client.js @@ -16,7 +16,7 @@ server.on('session', common.mustCall((session) => { session.on('close', common.mustCall()); session.on('error', common.expectsError({ code: 'ERR_HTTP2_ERROR', - type: NghttpError, + constructor: NghttpError, message: 'Received bad client magic byte string' })); })); diff --git a/test/parallel/test-http2-server-push-disabled.js b/test/parallel/test-http2-server-push-disabled.js index 78b3e26ad4968b..306c916497263f 100644 --- a/test/parallel/test-http2-server-push-disabled.js +++ b/test/parallel/test-http2-server-push-disabled.js @@ -21,7 +21,7 @@ server.on('stream', common.mustCall((stream) => { // and pushStream() must throw. assert.strictEqual(stream.pushAllowed, false); - common.expectsError(() => { + assert.throws(() => { stream.pushStream({ ':scheme': 'http', ':path': '/foobar', @@ -29,7 +29,7 @@ server.on('stream', common.mustCall((stream) => { }, common.mustNotCall()); }, { code: 'ERR_HTTP2_PUSH_DISABLED', - type: Error + name: 'Error' }); stream.respond({ ':status': 200 }); diff --git a/test/parallel/test-http2-server-push-stream-errors-args.js b/test/parallel/test-http2-server-push-stream-errors-args.js index c9f9291c4d1d9f..ba0aabcf5cf658 100644 --- a/test/parallel/test-http2-server-push-stream-errors-args.js +++ b/test/parallel/test-http2-server-push-stream-errors-args.js @@ -14,7 +14,7 @@ server.on('stream', common.mustCall((stream, headers) => { const port = server.address().port; // Must receive a callback (function) - common.expectsError( + assert.throws( () => stream.pushStream({ ':scheme': 'http', ':path': '/foobar', @@ -27,7 +27,7 @@ server.on('stream', common.mustCall((stream, headers) => { ); // Must validate headers - common.expectsError( + assert.throws( () => stream.pushStream({ 'connection': 'test' }, {}, () => {}), { code: 'ERR_HTTP2_INVALID_CONNECTION_HEADERS', diff --git a/test/parallel/test-http2-server-push-stream-errors.js b/test/parallel/test-http2-server-push-stream-errors.js index b1c542131076b1..8e4ca37b280fe8 100644 --- a/test/parallel/test-http2-server-push-stream-errors.js +++ b/test/parallel/test-http2-server-push-stream-errors.js @@ -28,7 +28,7 @@ const specificTests = [ ngError: constants.NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE, error: { code: 'ERR_HTTP2_OUT_OF_STREAMS', - type: Error, + name: 'Error', message: 'No stream ID is available because ' + 'maximum stream ID has been reached' }, @@ -38,7 +38,7 @@ const specificTests = [ ngError: constants.NGHTTP2_ERR_STREAM_CLOSED, error: { code: 'ERR_HTTP2_INVALID_STREAM', - type: Error + name: 'Error' }, type: 'stream' }, @@ -52,7 +52,7 @@ const genericTests = Object.getOwnPropertyNames(constants) ngError: constants[key], error: { code: 'ERR_HTTP2_ERROR', - type: NghttpError, + constructor: NghttpError, name: 'Error', message: nghttp2ErrorString(constants[key]) }, diff --git a/test/parallel/test-http2-server-push-stream-head.js b/test/parallel/test-http2-server-push-stream-head.js index c1db3ce81e4108..b87efffa0ab30e 100644 --- a/test/parallel/test-http2-server-push-stream-head.js +++ b/test/parallel/test-http2-server-push-stream-head.js @@ -23,7 +23,7 @@ server.on('stream', common.mustCall((stream, headers) => { push.respond(); // Cannot write to push() anymore push.on('error', common.expectsError({ - type: Error, + name: 'Error', code: 'ERR_STREAM_WRITE_AFTER_END', message: 'write after end' })); diff --git a/test/parallel/test-http2-server-push-stream.js b/test/parallel/test-http2-server-push-stream.js index 74d41ba4b9c672..95dd065bde9dd3 100644 --- a/test/parallel/test-http2-server-push-stream.js +++ b/test/parallel/test-http2-server-push-stream.js @@ -23,11 +23,11 @@ server.on('stream', common.mustCall((stream, headers) => { }); push.end('pushed by server data'); - common.expectsError(() => { + assert.throws(() => { push.pushStream({}, common.mustNotCall()); }, { code: 'ERR_HTTP2_NESTED_PUSH', - type: Error + name: 'Error' }); stream.end('test'); diff --git a/test/parallel/test-http2-server-rst-before-respond.js b/test/parallel/test-http2-server-rst-before-respond.js index 78fca25a82c1f8..d551c7121f5b7c 100644 --- a/test/parallel/test-http2-server-rst-before-respond.js +++ b/test/parallel/test-http2-server-rst-before-respond.js @@ -14,7 +14,7 @@ server.on('stream', common.mustCall(onStream)); function onStream(stream, headers, flags) { stream.close(); - common.expectsError(() => { + assert.throws(() => { stream.additionalHeaders({ ':status': 123, 'abc': 123 diff --git a/test/parallel/test-http2-server-rst-stream.js b/test/parallel/test-http2-server-rst-stream.js index 132c32ead600dd..e76db1bf1ab243 100644 --- a/test/parallel/test-http2-server-rst-stream.js +++ b/test/parallel/test-http2-server-rst-stream.js @@ -29,7 +29,7 @@ server.on('stream', (stream, headers) => { const test = tests.find((t) => t[0] === Number(headers.rstcode)); if (test[1]) { stream.on('error', common.expectsError({ - type: Error, + name: 'Error', code: 'ERR_HTTP2_STREAM_ERROR', message: `Stream closed with error code ${test[2]}` })); diff --git a/test/parallel/test-http2-server-sessionerror.js b/test/parallel/test-http2-server-sessionerror.js index c50352fcc35c28..bbd180937e1cd6 100644 --- a/test/parallel/test-http2-server-sessionerror.js +++ b/test/parallel/test-http2-server-sessionerror.js @@ -18,7 +18,7 @@ server.on('session', common.mustCall((session) => { case 1: server.on('error', common.mustNotCall()); session.on('error', common.expectsError({ - type: Error, + name: 'Error', message: 'test' })); session[kSocket].emit('error', new Error('test')); diff --git a/test/parallel/test-http2-server-settimeout-no-callback.js b/test/parallel/test-http2-server-settimeout-no-callback.js index 5dff0fa8e7a93b..31a64731f6dabc 100644 --- a/test/parallel/test-http2-server-settimeout-no-callback.js +++ b/test/parallel/test-http2-server-settimeout-no-callback.js @@ -13,10 +13,10 @@ const verifyCallbacks = (server) => { const testTimeout = 10; [true, 1, {}, [], null, 'test'].forEach((notFunction) => { - common.expectsError( + assert.throws( () => server.setTimeout(testTimeout, notFunction), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_CALLBACK', message: 'Callback must be a function. ' + `Received ${inspect(notFunction)}` diff --git a/test/parallel/test-http2-server-shutdown-options-errors.js b/test/parallel/test-http2-server-shutdown-options-errors.js index 0109a147aaa81f..643d173f78bc43 100644 --- a/test/parallel/test-http2-server-shutdown-options-errors.js +++ b/test/parallel/test-http2-server-shutdown-options-errors.js @@ -3,6 +3,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const http2 = require('http2'); const server = http2.createServer(); @@ -20,29 +21,29 @@ server.on('stream', common.mustCall((stream) => { types.forEach((input) => { const received = common.invalidArgTypeHelper(input); - common.expectsError( + assert.throws( () => session.goaway(input), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "code" argument must be of type number.' + received } ); - common.expectsError( + assert.throws( () => session.goaway(0, input), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "lastStreamID" argument must be of type number.' + received } ); - common.expectsError( + assert.throws( () => session.goaway(0, 0, input), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "opaqueData" argument must be an instance of Buffer, ' + `TypedArray, or DataView.${received}` } diff --git a/test/parallel/test-http2-server-shutdown-redundant.js b/test/parallel/test-http2-server-shutdown-redundant.js index f47a0d2c951c86..0f199bd68a1837 100644 --- a/test/parallel/test-http2-server-shutdown-redundant.js +++ b/test/parallel/test-http2-server-shutdown-redundant.js @@ -3,6 +3,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const http2 = require('http2'); const server = http2.createServer(); @@ -12,11 +13,11 @@ server.on('stream', common.mustCall((stream) => { session.goaway(1); session.goaway(2); stream.session.on('close', common.mustCall(() => { - common.expectsError( + assert.throws( () => session.goaway(3), { code: 'ERR_HTTP2_INVALID_SESSION', - type: Error + name: 'Error' } ); })); diff --git a/test/parallel/test-http2-server-stream-session-destroy.js b/test/parallel/test-http2-server-stream-session-destroy.js index 6a262e2736e4bc..b25dfbb347d9bf 100644 --- a/test/parallel/test-http2-server-stream-session-destroy.js +++ b/test/parallel/test-http2-server-stream-session-destroy.js @@ -20,26 +20,30 @@ server.on('stream', common.mustCall((stream) => { // Test that ERR_HTTP2_INVALID_STREAM is thrown while calling // stream operations after the stream session has been destroyed const invalidStreamError = { - type: Error, + name: 'Error', code: 'ERR_HTTP2_INVALID_STREAM', message: 'The stream has been destroyed' }; - common.expectsError(() => stream.additionalHeaders(), invalidStreamError); - common.expectsError(() => stream.priority(), invalidStreamError); - common.expectsError(() => stream.respond(), invalidStreamError); - common.expectsError( + assert.throws(() => stream.additionalHeaders(), invalidStreamError); + assert.throws(() => stream.priority(), invalidStreamError); + assert.throws(() => stream.respond(), invalidStreamError); + assert.throws( () => stream.pushStream({}, common.mustNotCall()), { code: 'ERR_HTTP2_PUSH_DISABLED', - type: Error + name: 'Error' } ); stream.on('error', common.expectsError({ - type: Error, + name: 'Error', code: 'ERR_STREAM_WRITE_AFTER_END', message: 'write after end' })); - assert.strictEqual(stream.write('data'), false); + assert.strictEqual(stream.write('data', common.expectsError({ + name: 'Error', + code: 'ERR_STREAM_WRITE_AFTER_END', + message: 'write after end' + })), false); })); server.listen(0, common.mustCall(() => { diff --git a/test/parallel/test-http2-session-settings.js b/test/parallel/test-http2-session-settings.js index 35581d5f7179b3..6ac6a1d4aac1b7 100644 --- a/test/parallel/test-http2-session-settings.js +++ b/test/parallel/test-http2-session-settings.js @@ -104,10 +104,10 @@ server.listen( ].forEach((i) => { const settings = {}; settings[i[0]] = i[1]; - common.expectsError( + assert.throws( () => client.settings(settings), { - type: RangeError, + name: 'RangeError', code: 'ERR_HTTP2_INVALID_SETTING_VALUE', message: `Invalid value for setting "${i[0]}": ${i[1]}` } @@ -116,10 +116,10 @@ server.listen( // Error checks for enablePush [1, {}, 'test', [], null, Infinity, NaN].forEach((i) => { - common.expectsError( + assert.throws( () => client.settings({ enablePush: i }), { - type: TypeError, + name: 'TypeError', code: 'ERR_HTTP2_INVALID_SETTING_VALUE', message: `Invalid value for setting "enablePush": ${i}` } diff --git a/test/parallel/test-http2-single-headers.js b/test/parallel/test-http2-single-headers.js index 37eaf8b17c8f28..6f20c1b35658d7 100644 --- a/test/parallel/test-http2-single-headers.js +++ b/test/parallel/test-http2-single-headers.js @@ -3,6 +3,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const http2 = require('http2'); const server = http2.createServer(); @@ -27,20 +28,20 @@ server.listen(0, common.mustCall(() => { const client = http2.connect(`http://localhost:${server.address().port}`); singles.forEach((i) => { - common.expectsError( + assert.throws( () => client.request({ [i]: 'abc', [i.toUpperCase()]: 'xyz' }), { code: 'ERR_HTTP2_HEADER_SINGLE_VALUE', - type: TypeError, + name: 'TypeError', message: `Header field "${i}" must only have a single value` } ); - common.expectsError( + assert.throws( () => client.request({ [i]: ['abc', 'xyz'] }), { code: 'ERR_HTTP2_HEADER_SINGLE_VALUE', - type: TypeError, + name: 'TypeError', message: `Header field "${i}" must only have a single value` } ); diff --git a/test/parallel/test-http2-socket-proxy.js b/test/parallel/test-http2-socket-proxy.js index 600271fdeffc2e..745006831759d1 100644 --- a/test/parallel/test-http2-socket-proxy.js +++ b/test/parallel/test-http2-socket-proxy.js @@ -16,7 +16,7 @@ const { kTimeout } = require('internal/timers'); const errMsg = { code: 'ERR_HTTP2_NO_SOCKET_MANIPULATION', - type: Error, + name: 'Error', message: 'HTTP/2 sockets should not be directly manipulated ' + '(e.g. read and written)' }; @@ -52,27 +52,27 @@ server.on('stream', common.mustCall(function(stream, headers) { assert(inspectedTimersList.includes(' _idleNext: [Timeout]')); assert(!inspectedTimersList.includes(' _idleNext: [Timeout]')); - common.expectsError(() => socket.destroy, errMsg); - common.expectsError(() => socket.emit, errMsg); - common.expectsError(() => socket.end, errMsg); - common.expectsError(() => socket.pause, errMsg); - common.expectsError(() => socket.read, errMsg); - common.expectsError(() => socket.resume, errMsg); - common.expectsError(() => socket.write, errMsg); - common.expectsError(() => socket.setEncoding, errMsg); - common.expectsError(() => socket.setKeepAlive, errMsg); - common.expectsError(() => socket.setNoDelay, errMsg); - - common.expectsError(() => (socket.destroy = undefined), errMsg); - common.expectsError(() => (socket.emit = undefined), errMsg); - common.expectsError(() => (socket.end = undefined), errMsg); - common.expectsError(() => (socket.pause = undefined), errMsg); - common.expectsError(() => (socket.read = undefined), errMsg); - common.expectsError(() => (socket.resume = undefined), errMsg); - common.expectsError(() => (socket.write = undefined), errMsg); - common.expectsError(() => (socket.setEncoding = undefined), errMsg); - common.expectsError(() => (socket.setKeepAlive = undefined), errMsg); - common.expectsError(() => (socket.setNoDelay = undefined), errMsg); + assert.throws(() => socket.destroy, errMsg); + assert.throws(() => socket.emit, errMsg); + assert.throws(() => socket.end, errMsg); + assert.throws(() => socket.pause, errMsg); + assert.throws(() => socket.read, errMsg); + assert.throws(() => socket.resume, errMsg); + assert.throws(() => socket.write, errMsg); + assert.throws(() => socket.setEncoding, errMsg); + assert.throws(() => socket.setKeepAlive, errMsg); + assert.throws(() => socket.setNoDelay, errMsg); + + assert.throws(() => (socket.destroy = undefined), errMsg); + assert.throws(() => (socket.emit = undefined), errMsg); + assert.throws(() => (socket.end = undefined), errMsg); + assert.throws(() => (socket.pause = undefined), errMsg); + assert.throws(() => (socket.read = undefined), errMsg); + assert.throws(() => (socket.resume = undefined), errMsg); + assert.throws(() => (socket.write = undefined), errMsg); + assert.throws(() => (socket.setEncoding = undefined), errMsg); + assert.throws(() => (socket.setKeepAlive = undefined), errMsg); + assert.throws(() => (socket.setNoDelay = undefined), errMsg); // Resetting the socket listeners to their own value should not throw. socket.on = socket.on; // eslint-disable-line no-self-assign diff --git a/test/parallel/test-http2-status-code-invalid.js b/test/parallel/test-http2-status-code-invalid.js index 3337aad32d7f70..a906c706d7d7e5 100644 --- a/test/parallel/test-http2-status-code-invalid.js +++ b/test/parallel/test-http2-status-code-invalid.js @@ -11,7 +11,7 @@ const server = http2.createServer(); function expectsError(code) { return common.expectsError({ code: 'ERR_HTTP2_STATUS_INVALID', - type: RangeError, + name: 'RangeError', message: `Invalid status code: ${code}` }); } diff --git a/test/parallel/test-http2-stream-destroy-event-order.js b/test/parallel/test-http2-stream-destroy-event-order.js index 88e4a99f99eee3..8fcbbabe3ce904 100644 --- a/test/parallel/test-http2-stream-destroy-event-order.js +++ b/test/parallel/test-http2-stream-destroy-event-order.js @@ -10,6 +10,7 @@ let req; const server = http2.createServer(); server.on('stream', common.mustCall((stream) => { stream.on('error', common.mustCall(() => { + client.close(); stream.on('close', common.mustCall(() => { server.close(); })); @@ -22,8 +23,6 @@ server.listen(0, common.mustCall(() => { req = client.request(); req.resume(); req.on('error', common.mustCall(() => { - req.on('close', common.mustCall(() => { - client.close(); - })); + req.on('close', common.mustCall()); })); })); diff --git a/test/parallel/test-http2-timeouts.js b/test/parallel/test-http2-timeouts.js index be41f2020250d6..a67b7227154080 100644 --- a/test/parallel/test-http2-timeouts.js +++ b/test/parallel/test-http2-timeouts.js @@ -3,6 +3,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const h2 = require('http2'); const server = h2.createServer(); @@ -15,29 +16,29 @@ server.on('stream', common.mustCall((stream) => { })); // Check that expected errors are thrown with wrong args - common.expectsError( + assert.throws( () => stream.setTimeout('100'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "msecs" argument must be of type number. Received type string' + " ('100')" } ); - common.expectsError( + assert.throws( () => stream.setTimeout(0, Symbol('test')), { code: 'ERR_INVALID_CALLBACK', - type: TypeError, + name: 'TypeError', message: 'Callback must be a function. Received Symbol(test)' } ); - common.expectsError( + assert.throws( () => stream.setTimeout(100, {}), { code: 'ERR_INVALID_CALLBACK', - type: TypeError, + name: 'TypeError', message: 'Callback must be a function. Received {}' } ); diff --git a/test/parallel/test-http2-too-large-headers.js b/test/parallel/test-http2-too-large-headers.js index b62a41d05f5984..aad113deab440f 100644 --- a/test/parallel/test-http2-too-large-headers.js +++ b/test/parallel/test-http2-too-large-headers.js @@ -19,7 +19,7 @@ server.listen(0, common.mustCall(() => { const req = client.request({ 'foo': 'a'.repeat(1000) }); req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_ENHANCE_YOUR_CALM' })); req.on('close', common.mustCall(() => { diff --git a/test/parallel/test-http2-too-many-headers.js b/test/parallel/test-http2-too-many-headers.js index 6c8315c80ebf2f..f77e7679d73fc6 100644 --- a/test/parallel/test-http2-too-many-headers.js +++ b/test/parallel/test-http2-too-many-headers.js @@ -22,7 +22,7 @@ server.listen(0, common.mustCall(() => { const req = client.request({ foo: 'bar' }); req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_ENHANCE_YOUR_CALM' })); req.on('close', common.mustCall(() => { diff --git a/test/parallel/test-http2-too-many-settings.js b/test/parallel/test-http2-too-many-settings.js index acfd73ada68416..b87e921a915e0e 100644 --- a/test/parallel/test-http2-too-many-settings.js +++ b/test/parallel/test-http2-too-many-settings.js @@ -14,7 +14,7 @@ const maxOutstandingSettings = 2; function doTest(session) { session.on('error', common.expectsError({ code: 'ERR_HTTP2_MAX_PENDING_SETTINGS_ACK', - type: Error + name: 'Error' })); for (let n = 0; n < maxOutstandingSettings; n++) { session.settings({ enablePush: false }); diff --git a/test/parallel/test-http2-trailers.js b/test/parallel/test-http2-trailers.js index 98b9b5d4a09fac..dba9aac12df7c0 100644 --- a/test/parallel/test-http2-trailers.js +++ b/test/parallel/test-http2-trailers.js @@ -26,20 +26,20 @@ function onStream(stream, headers, flags) { }, { waitForTrailers: true }); stream.on('wantTrailers', () => { stream.sendTrailers({ [trailerKey]: trailerValue }); - common.expectsError( + assert.throws( () => stream.sendTrailers({}), { code: 'ERR_HTTP2_TRAILERS_ALREADY_SENT', - type: Error + name: 'Error' } ); }); - common.expectsError( + assert.throws( () => stream.sendTrailers({}), { code: 'ERR_HTTP2_TRAILERS_NOT_READY', - type: Error + name: 'Error' } ); } @@ -58,11 +58,11 @@ server.on('listening', common.mustCall(function() { assert.strictEqual(headers[trailerKey], trailerValue); })); req.on('close', common.mustCall(() => { - common.expectsError( + assert.throws( () => req.sendTrailers({}), { code: 'ERR_HTTP2_INVALID_STREAM', - type: Error + name: 'Error' } ); server.close(); diff --git a/test/parallel/test-http2-unbound-socket-proxy.js b/test/parallel/test-http2-unbound-socket-proxy.js index 18881574f2c09b..a5505c8509dca3 100644 --- a/test/parallel/test-http2-unbound-socket-proxy.js +++ b/test/parallel/test-http2-unbound-socket-proxy.js @@ -3,6 +3,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const http2 = require('http2'); const net = require('net'); @@ -24,17 +25,17 @@ server.listen(0, common.mustCall(() => { // Tests to make sure accessing the socket proxy fails with an // informative error. setImmediate(common.mustCall(() => { - common.expectsError(() => { + assert.throws(() => { socket.example; }, { code: 'ERR_HTTP2_SOCKET_UNBOUND' }); - common.expectsError(() => { + assert.throws(() => { socket.example = 1; }, { code: 'ERR_HTTP2_SOCKET_UNBOUND' }); - common.expectsError(() => { + assert.throws(() => { socket instanceof net.Socket; }, { code: 'ERR_HTTP2_SOCKET_UNBOUND' diff --git a/test/parallel/test-http2-util-assert-valid-pseudoheader.js b/test/parallel/test-http2-util-assert-valid-pseudoheader.js index b0d7ac0e58f1d5..f86793c69efdf3 100644 --- a/test/parallel/test-http2-util-assert-valid-pseudoheader.js +++ b/test/parallel/test-http2-util-assert-valid-pseudoheader.js @@ -1,7 +1,8 @@ // Flags: --expose-internals 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); // Tests the assertValidPseudoHeader function that is used within the // mapToHeaders function. The assert function is not exported so we @@ -16,8 +17,8 @@ mapToHeaders({ ':authority': 'a' }); mapToHeaders({ ':scheme': 'a' }); mapToHeaders({ ':method': 'a' }); -common.expectsError(() => mapToHeaders({ ':foo': 'a' }), { +assert.throws(() => mapToHeaders({ ':foo': 'a' }), { code: 'ERR_HTTP2_INVALID_PSEUDOHEADER', - type: TypeError, + name: 'TypeError', message: '":foo" is an invalid pseudoheader or is used incorrectly' }); diff --git a/test/parallel/test-http2-util-asserts.js b/test/parallel/test-http2-util-asserts.js index e80f7128378ece..5bbc1cde43f790 100644 --- a/test/parallel/test-http2-util-asserts.js +++ b/test/parallel/test-http2-util-asserts.js @@ -2,6 +2,7 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const { assertIsObject, assertWithinRange, @@ -26,7 +27,7 @@ const { [], [{}] ].forEach((input) => { - common.expectsError( + assert.throws( () => assertIsObject(input, 'foo', 'Object'), { code: 'ERR_INVALID_ARG_TYPE', @@ -37,8 +38,8 @@ const { assertWithinRange('foo', 1, 0, 2); -common.expectsError(() => assertWithinRange('foo', 1, 2, 3), - { - code: 'ERR_HTTP2_INVALID_SETTING_VALUE', - message: 'Invalid value for setting "foo": 1' - }); +assert.throws(() => assertWithinRange('foo', 1, 2, 3), + { + code: 'ERR_HTTP2_INVALID_SETTING_VALUE', + message: 'Invalid value for setting "foo": 1' + }); diff --git a/test/parallel/test-http2-util-headers-list.js b/test/parallel/test-http2-util-headers-list.js index 5045263b150c0a..a964c361b78815 100644 --- a/test/parallel/test-http2-util-headers-list.js +++ b/test/parallel/test-http2-util-headers-list.js @@ -175,9 +175,9 @@ const { ':statuS': 204, }; - common.expectsError(() => mapToHeaders(headers), { + assert.throws(() => mapToHeaders(headers), { code: 'ERR_HTTP2_HEADER_SINGLE_VALUE', - type: TypeError, + name: 'TypeError', message: 'Header field ":status" must only have a single value' }); } @@ -224,7 +224,7 @@ const { HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS ].forEach((name) => { const msg = `Header field "${name}" must only have a single value`; - common.expectsError(() => mapToHeaders({ [name]: [1, 2, 3] }), { + assert.throws(() => mapToHeaders({ [name]: [1, 2, 3] }), { code: 'ERR_HTTP2_HEADER_SINGLE_VALUE', message: msg }); @@ -281,7 +281,7 @@ const { 'Proxy-Connection', 'Keep-Alive' ].forEach((name) => { - common.expectsError(() => mapToHeaders({ [name]: 'abc' }), { + assert.throws(() => mapToHeaders({ [name]: 'abc' }), { code: 'ERR_HTTP2_INVALID_CONNECTION_HEADERS', name: 'TypeError', message: 'HTTP/1 Connection specific headers are forbidden: ' + @@ -289,14 +289,14 @@ const { }); }); -common.expectsError(() => mapToHeaders({ [HTTP2_HEADER_TE]: ['abc'] }), { +assert.throws(() => mapToHeaders({ [HTTP2_HEADER_TE]: ['abc'] }), { code: 'ERR_HTTP2_INVALID_CONNECTION_HEADERS', name: 'TypeError', message: 'HTTP/1 Connection specific headers are forbidden: ' + `"${HTTP2_HEADER_TE}"` }); -common.expectsError( +assert.throws( () => mapToHeaders({ [HTTP2_HEADER_TE]: ['abc', 'trailers'] }), { code: 'ERR_HTTP2_INVALID_CONNECTION_HEADERS', name: 'TypeError', diff --git a/test/parallel/test-http2-util-nghttp2error.js b/test/parallel/test-http2-util-nghttp2error.js index 100ce2cb45993b..ae561204bc6e54 100644 --- a/test/parallel/test-http2-util-nghttp2error.js +++ b/test/parallel/test-http2-util-nghttp2error.js @@ -1,17 +1,17 @@ // Flags: --expose-internals 'use strict'; -const common = require('../common'); -const { strictEqual } = require('assert'); +require('../common'); +const { strictEqual, throws } = require('assert'); const { NghttpError } = require('internal/http2/util'); -common.expectsError(() => { +throws(() => { const err = new NghttpError(-501); strictEqual(err.errno, -501); throw err; }, { code: 'ERR_HTTP2_ERROR', - type: NghttpError, + constructor: NghttpError, message: 'Invalid argument' }); diff --git a/test/parallel/test-https-simple.js b/test/parallel/test-https-simple.js index 269db1655efcf8..89707cc6468d68 100644 --- a/test/parallel/test-https-simple.js +++ b/test/parallel/test-https-simple.js @@ -37,16 +37,6 @@ const options = { cert: fixtures.readKey('agent1-cert.pem') }; -const tests = 2; -let successful = 0; - -const testSucceeded = () => { - successful = successful + 1; - if (successful === tests) { - server.close(); - } -}; - const body = 'hello world\n'; const serverCallback = common.mustCall(function(req, res) { @@ -57,20 +47,25 @@ const serverCallback = common.mustCall(function(req, res) { const server = https.createServer(options, serverCallback); server.listen(0, common.mustCall(() => { + let tests = 0; + + function done() { + if (--tests === 0) + server.close(); + } + // Do a request ignoring the unauthorized server certs const port = server.address().port; - const noCertCheckOptions = { + const options = { hostname: '127.0.0.1', port: port, path: '/', method: 'GET', rejectUnauthorized: false }; - - noCertCheckOptions.Agent = new https.Agent(noCertCheckOptions); - - const req = https.request(noCertCheckOptions, common.mustCall((res) => { + tests++; + const req = https.request(options, common.mustCall((res) => { let responseBody = ''; res.on('data', function(d) { responseBody = responseBody + d; @@ -78,40 +73,18 @@ server.listen(0, common.mustCall(() => { res.on('end', common.mustCall(() => { assert.strictEqual(responseBody, body); - testSucceeded(); + done(); })); })); req.end(); - req.on('error', function(e) { - throw e; - }); - - // Do a request that throws error due to the invalid server certs - const checkCertOptions = { - hostname: '127.0.0.1', - port: port, - path: '/', - method: 'GET' - }; - - const checkCertReq = https.request(checkCertOptions, function(res) { - res.on('data', function() { - throw new Error('data should not be received'); - }); - - res.on('end', function() { - throw new Error('connection should not be established'); - }); - }); - checkCertReq.end(); + // Do a request that errors due to the invalid server certs + options.rejectUnauthorized = true; + tests++; + const checkCertReq = https.request(options, common.mustNotCall()).end(); checkCertReq.on('error', common.mustCall((e) => { assert.strictEqual(e.code, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'); - testSucceeded(); + done(); })); })); - -process.on('exit', function() { - assert.strictEqual(successful, tests); -}); diff --git a/test/parallel/test-https-timeout.js b/test/parallel/test-https-timeout.js index 6955ef0af190aa..d8f128db7253b3 100644 --- a/test/parallel/test-https-timeout.js +++ b/test/parallel/test-https-timeout.js @@ -54,7 +54,7 @@ const server = https.createServer(options, function() { req.on('error', common.expectsError({ message: 'socket hang up', code: 'ECONNRESET', - type: Error + name: 'Error' })); req.on('timeout', common.mustCall(function() { diff --git a/test/parallel/test-icu-punycode.js b/test/parallel/test-icu-punycode.js index 7706c1d8372dbc..bfb7dcd8e6b1ea 100644 --- a/test/parallel/test-icu-punycode.js +++ b/test/parallel/test-icu-punycode.js @@ -41,11 +41,11 @@ const wptToASCIITests = require( if (comment) caseComment += ` (${comment})`; if (output === null) { - common.expectsError( + assert.throws( () => icu.toASCII(input), { code: 'ERR_INVALID_ARG_VALUE', - type: TypeError, + name: 'TypeError', message: 'Cannot convert name to ASCII' } ); diff --git a/test/parallel/test-icu-transcode.js b/test/parallel/test-icu-transcode.js index ec28d37bf7e06b..20ecab7213b292 100644 --- a/test/parallel/test-icu-transcode.js +++ b/test/parallel/test-icu-transcode.js @@ -41,10 +41,10 @@ for (const test in tests) { utf8_to_ucs2.toString('ucs2')); } -common.expectsError( +assert.throws( () => buffer.transcode(null, 'utf8', 'ascii'), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "source" argument must be an instance of Buffer ' + 'or Uint8Array. Received null' diff --git a/test/parallel/test-inspector-connect-main-thread.js b/test/parallel/test-inspector-connect-main-thread.js index 7f354fb76f9393..bb21a54e90f1d1 100644 --- a/test/parallel/test-inspector-connect-main-thread.js +++ b/test/parallel/test-inspector-connect-main-thread.js @@ -50,28 +50,19 @@ function startWorker(skipChild, sharedBuffer) { console.error(e); throw e; }); - worker.once('message', (m) => { + // Add 2 promises to the worker, one resolved when a message with a + // .doConsoleLog property is received and one resolved when a .messagesSent + // property is received. + let resolveConsoleRequest; + let resolveMessagesSent; + worker.onConsoleRequest = + new Promise((resolve) => resolveConsoleRequest = resolve); + worker.onMessagesSent = + new Promise((resolve) => resolveMessagesSent = resolve); + worker.on('message', (m) => { resolve(worker); - }); - }); -} - -function waitForConsoleRequest(worker) { - return new Promise((resolve) => { - worker.on('message', ({ doConsoleLog }) => { - if (doConsoleLog) { - resolve(); - } - }); - }); -} - -function waitForMessagesSent(worker) { - return new Promise((resolve) => { - worker.on('message', ({ messagesSent }) => { - if (messagesSent) { - resolve(messagesSent); - } + if (m.doConsoleLog) resolveConsoleRequest(); + if (m.messagesSent) resolveMessagesSent(m.messagesSent); }); }); } @@ -107,10 +98,9 @@ async function main() { const arrayBuffer = new Uint8Array(sharedBuffer); arrayBuffer[0] = 1; const worker = await startWorker(false, sharedBuffer); - waitForConsoleRequest(worker).then(doConsoleLog.bind(null, arrayBuffer)); - const workerDonePromise = waitForMessagesSent(worker); + worker.onConsoleRequest.then(doConsoleLog.bind(null, arrayBuffer)); assert.strictEqual(toDebug(), 400); - assert.deepStrictEqual(await workerDonePromise, [ + assert.deepStrictEqual(await worker.onMessagesSent, [ 'Debugger.enable', 'Runtime.enable', 'Debugger.setBreakpointByUrl', @@ -122,7 +112,7 @@ async function main() { async function childMain() { // Ensures the worker does not terminate too soon parentPort.on('message', () => { }); - await waitForMessagesSent(await startWorker(true)); + await (await startWorker(true)).onMessagesSent; const session = new Session(); session.connectToMainThread(); await post(session, 'Debugger.enable'); diff --git a/test/sequential/test-inspector-module.js b/test/parallel/test-inspector-module.js similarity index 85% rename from test/sequential/test-inspector-module.js rename to test/parallel/test-inspector-module.js index 166b726db4b88d..5f5efe4cb80061 100644 --- a/test/sequential/test-inspector-module.js +++ b/test/parallel/test-inspector-module.js @@ -4,16 +4,17 @@ const common = require('../common'); common.skipIfInspectorDisabled(); +const assert = require('assert'); const { Session } = require('inspector'); const { inspect } = require('util'); const session = new Session(); -common.expectsError( +assert.throws( () => session.post('Runtime.evaluate', { expression: '2 + 2' }), { code: 'ERR_INSPECTOR_NOT_CONNECTED', - type: Error, + name: 'Error', message: 'Session is not connected' } ); @@ -22,11 +23,11 @@ session.connect(); session.post('Runtime.evaluate', { expression: '2 + 2' }); [1, {}, [], true, Infinity, undefined].forEach((i) => { - common.expectsError( + assert.throws( () => session.post(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "method" argument must be of type string.' + common.invalidArgTypeHelper(i) @@ -35,11 +36,11 @@ session.post('Runtime.evaluate', { expression: '2 + 2' }); }); [1, true, Infinity].forEach((i) => { - common.expectsError( + assert.throws( () => session.post('test', i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "params" argument must be of type object.' + common.invalidArgTypeHelper(i) @@ -48,21 +49,21 @@ session.post('Runtime.evaluate', { expression: '2 + 2' }); }); [1, 'a', {}, [], true, Infinity].forEach((i) => { - common.expectsError( + assert.throws( () => session.post('test', {}, i), { code: 'ERR_INVALID_CALLBACK', - type: TypeError, + name: 'TypeError', message: `Callback must be a function. Received ${inspect(i)}` } ); }); -common.expectsError( +assert.throws( () => session.connect(), { code: 'ERR_INSPECTOR_ALREADY_CONNECTED', - type: Error, + name: 'Error', message: 'The inspector session is already connected' } ); diff --git a/test/parallel/test-internal-errors.js b/test/parallel/test-internal-errors.js index a34218fd1dd688..fbb8a0a86a3852 100644 --- a/test/parallel/test-internal-errors.js +++ b/test/parallel/test-internal-errors.js @@ -58,22 +58,22 @@ errors.E('TEST_ERROR_2', (a, b) => `${a} ${b}`, Error); } // Tests for common.expectsError -common.expectsError(() => { +assert.throws(() => { throw new errors.codes.TEST_ERROR_1.TypeError('a'); }, { code: 'TEST_ERROR_1' }); -common.expectsError(() => { +assert.throws(() => { throw new errors.codes.TEST_ERROR_1.TypeError('a'); }, { code: 'TEST_ERROR_1', - type: TypeError, + name: 'TypeError', message: /^Error for testing/ }); -common.expectsError(() => { +assert.throws(() => { throw new errors.codes.TEST_ERROR_1.TypeError('a'); -}, { code: 'TEST_ERROR_1', type: TypeError }); -common.expectsError(() => { +}, { code: 'TEST_ERROR_1', name: 'TypeError' }); +assert.throws(() => { throw new errors.codes.TEST_ERROR_1.TypeError('a'); }, { code: 'TEST_ERROR_1', - type: TypeError, + name: 'TypeError', message: 'Error for testing purposes: a' }); diff --git a/test/parallel/test-internal-fs.js b/test/parallel/test-internal-fs.js index bfdf0022f421c3..955e35c5738ba5 100644 --- a/test/parallel/test-internal-fs.js +++ b/test/parallel/test-internal-fs.js @@ -1,7 +1,7 @@ // Flags: --expose-internals 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const fs = require('internal/fs/utils'); @@ -9,9 +9,9 @@ const fs = require('internal/fs/utils'); fs.assertEncoding(); fs.assertEncoding('utf8'); -common.expectsError( +assert.throws( () => fs.assertEncoding('foo'), - { code: 'ERR_INVALID_OPT_VALUE_ENCODING', type: TypeError } + { code: 'ERR_INVALID_OPT_VALUE_ENCODING', name: 'TypeError' } ); // Test junction symlinks diff --git a/test/parallel/test-internal-module-require.js b/test/parallel/test-internal-module-require.js index 17559d228774f7..5b20a83393669f 100644 --- a/test/parallel/test-internal-module-require.js +++ b/test/parallel/test-internal-module-require.js @@ -79,7 +79,7 @@ if (process.argv[2] === 'child') { const publicModules = new Set(); for (const id of allBuiltins) { if (id.startsWith('internal/')) { - common.expectsError(() => { + assert.throws(() => { require(id); }, { code: 'MODULE_NOT_FOUND', diff --git a/test/parallel/test-internal-socket-list-send.js b/test/parallel/test-internal-socket-list-send.js index 2e69edcedffd9f..a4012c7cc3e293 100644 --- a/test/parallel/test-internal-socket-list-send.js +++ b/test/parallel/test-internal-socket-list-send.js @@ -19,7 +19,7 @@ const key = 'test-key'; list._request('msg', 'cmd', false, common.mustCall((err) => { common.expectsError({ code: 'ERR_CHILD_CLOSED_BEFORE_REPLY', - type: Error, + name: 'Error', message: 'Child closed before reply received' })(err); assert.strictEqual(child.listenerCount('internalMessage'), 0); @@ -61,7 +61,7 @@ const key = 'test-key'; list._request('msg', 'cmd', false, common.mustCall((err) => { common.expectsError({ code: 'ERR_CHILD_CLOSED_BEFORE_REPLY', - type: Error, + name: 'Error', message: 'Child closed before reply received' })(err); assert.strictEqual(child.listenerCount('internalMessage'), 0); @@ -140,7 +140,7 @@ const key = 'test-key'; list.getConnections(common.mustCall((err) => { common.expectsError({ code: 'ERR_CHILD_CLOSED_BEFORE_REPLY', - type: Error, + name: 'Error', message: 'Child closed before reply received' })(err); assert.strictEqual(child.listenerCount('internalMessage'), 0); diff --git a/test/parallel/test-internal-util-assertCrypto.js b/test/parallel/test-internal-util-assertCrypto.js index 035519c9c9ef7a..a6a1610d456a52 100644 --- a/test/parallel/test-internal-util-assertCrypto.js +++ b/test/parallel/test-internal-util-assertCrypto.js @@ -7,7 +7,7 @@ const util = require('internal/util'); if (!process.versions.openssl) { const expectedError = common.expectsError({ code: 'ERR_NO_CRYPTO', - type: Error + name: 'Error' }); assert.throws(() => util.assertCrypto(), expectedError); } else { diff --git a/test/parallel/test-loaders-hidden-from-users.js b/test/parallel/test-loaders-hidden-from-users.js index ab9a997b504baf..96d1c44154883e 100644 --- a/test/parallel/test-loaders-hidden-from-users.js +++ b/test/parallel/test-loaders-hidden-from-users.js @@ -2,9 +2,10 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); -common.expectsError( +assert.throws( () => { require('internal/bootstrap/loaders'); }, { @@ -13,7 +14,7 @@ common.expectsError( } ); -common.expectsError( +assert.throws( () => { const source = 'module.exports = require("internal/bootstrap/loaders")'; const { internalBinding } = require('internal/test/binding'); diff --git a/test/parallel/test-module-loading-error.js b/test/parallel/test-module-loading-error.js index 70921467acca0e..5bc01ce52d7279 100644 --- a/test/parallel/test-module-loading-error.js +++ b/test/parallel/test-module-loading-error.js @@ -66,20 +66,20 @@ assert.throws( const re = /^The "id" argument must be of type string\. Received /; [1, false, null, undefined, {}].forEach((value) => { - common.expectsError( + assert.throws( () => { require(value); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: re }); }); -common.expectsError( +assert.throws( () => { require(''); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_VALUE', message: 'The argument \'id\' must be a non-empty string. Received \'\'' }); diff --git a/test/parallel/test-net-better-error-messages-path.js b/test/parallel/test-net-better-error-messages-path.js index 0d16894ff83f6c..93a5e38fac2085 100644 --- a/test/parallel/test-net-better-error-messages-path.js +++ b/test/parallel/test-net-better-error-messages-path.js @@ -1,5 +1,6 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const net = require('net'); { @@ -14,7 +15,7 @@ const net = require('net'); } { - common.expectsError( + assert.throws( () => net.createConnection({ path: {} }), { code: 'ERR_INVALID_ARG_TYPE' } ); diff --git a/test/parallel/test-net-better-error-messages-port-hostname.js b/test/parallel/test-net-better-error-messages-port-hostname.js index f8e997db33534e..3cc9e589873927 100644 --- a/test/parallel/test-net-better-error-messages-port-hostname.js +++ b/test/parallel/test-net-better-error-messages-port-hostname.js @@ -5,6 +5,7 @@ // See https://github.com/nodejs/node-v0.x-archive/issues/7005 const common = require('../common'); +const assert = require('assert'); const net = require('net'); const { addresses } = require('../common/internet'); @@ -22,9 +23,15 @@ const c = net.createConnection({ c.on('connect', common.mustNotCall()); -c.on('error', common.expectsError({ - code: mockedErrorCode, - hostname: addresses.INVALID_HOST, - port: undefined, - host: undefined +c.on('error', common.mustCall((error) => { + assert.ok(!('port' in error)); + assert.ok(!('host' in error)); + assert.throws(() => { throw error; }, { + errno: mockedErrorCode, + code: mockedErrorCode, + name: 'Error', + message: 'getaddrinfo ENOTFOUND something.invalid', + hostname: addresses.INVALID_HOST, + syscall: 'getaddrinfo' + }); })); diff --git a/test/parallel/test-net-connect-buffer.js b/test/parallel/test-net-connect-buffer.js index d8758fe341ee80..efdba4b5d8dd47 100644 --- a/test/parallel/test-net-connect-buffer.js +++ b/test/parallel/test-net-connect-buffer.js @@ -52,12 +52,12 @@ tcp.listen(0, common.mustCall(function() { assert.strictEqual(socket.readyState, 'opening'); // Make sure that anything besides a buffer or a string throws. - common.expectsError(() => socket.write(null), - { - code: 'ERR_STREAM_NULL_VALUES', - type: TypeError, - message: 'May not write null values to stream' - }); + assert.throws(() => socket.write(null), + { + code: 'ERR_STREAM_NULL_VALUES', + name: 'TypeError', + message: 'May not write null values to stream' + }); [ true, false, @@ -66,9 +66,9 @@ tcp.listen(0, common.mustCall(function() { +Infinity, -Infinity ].forEach((value) => { - common.expectsError(() => socket.write(value), { + assert.throws(() => socket.write(value), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "chunk" argument must be of type string or an instance ' + `of Buffer. Received type ${typeof value} (${value})` }); diff --git a/test/parallel/test-net-connect-immediate-finish.js b/test/parallel/test-net-connect-immediate-finish.js index cb430a5a8c995e..1cc4fa4f4ee7d4 100644 --- a/test/parallel/test-net-connect-immediate-finish.js +++ b/test/parallel/test-net-connect-immediate-finish.js @@ -26,6 +26,7 @@ // 'connect' and defer the handling until the 'connect' event is handled. const common = require('../common'); +const assert = require('assert'); const net = require('net'); const { addresses } = require('../common/internet'); @@ -41,14 +42,18 @@ const client = net.connect({ lookup: common.mustCall(errorLookupMock()) }, common.mustNotCall()); -client.once('error', common.expectsError({ - code: mockedErrorCode, - errno: mockedErrorCode, - syscall: mockedSysCall, - hostname: addresses.INVALID_HOST, - message: 'getaddrinfo ENOTFOUND something.invalid', - port: undefined, - host: undefined +client.once('error', common.mustCall((error) => { + // TODO(BridgeAR): Add a better way to handle not defined properties using + // `assert.throws(fn, object)`. + assert.ok(!('port' in error)); + assert.ok(!('host' in error)); + assert.throws(() => { throw error; }, { + code: mockedErrorCode, + errno: mockedErrorCode, + syscall: mockedSysCall, + hostname: addresses.INVALID_HOST, + message: 'getaddrinfo ENOTFOUND something.invalid' + }); })); client.end(); diff --git a/test/parallel/test-net-connect-options-port.js b/test/parallel/test-net-connect-options-port.js index c22630d43354a5..88e626354ed520 100644 --- a/test/parallel/test-net-connect-options-port.js +++ b/test/parallel/test-net-connect-options-port.js @@ -27,10 +27,10 @@ const net = require('net'); // Test wrong type of ports { - const portTypeError = common.expectsError({ + const portTypeError = { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError - }, 96); + name: 'TypeError' + }; syncFailToConnect(true, portTypeError); syncFailToConnect(false, portTypeError); @@ -41,10 +41,10 @@ const net = require('net'); // Test out of range ports { - const portRangeError = common.expectsError({ + const portRangeError = { code: 'ERR_SOCKET_BAD_PORT', - type: RangeError - }, 168); + name: 'RangeError' + }; syncFailToConnect('', portRangeError); syncFailToConnect(' ', portRangeError); @@ -63,9 +63,9 @@ const net = require('net'); const hintOptBlocks = doConnect([{ hints }], () => common.mustNotCall()); for (const fn of hintOptBlocks) { - common.expectsError(fn, { + assert.throws(fn, { code: 'ERR_INVALID_OPT_VALUE', - type: TypeError, + name: 'TypeError', message: /The value "\d+" is invalid for option "hints"/ }); } diff --git a/test/parallel/test-net-dns-error.js b/test/parallel/test-net-dns-error.js index bb90eafc3d95da..7232ef10ebb455 100644 --- a/test/parallel/test-net-dns-error.js +++ b/test/parallel/test-net-dns-error.js @@ -26,15 +26,16 @@ const assert = require('assert'); const net = require('net'); const host = '*'.repeat(64); -const errCode = common.isOpenBSD ? 'EAI_FAIL' : 'ENOTFOUND'; +// Resolving hostname > 63 characters may return EAI_FAIL (permanent failure). +const errCodes = ['ENOTFOUND', 'EAI_FAIL']; const socket = net.connect(42, host, common.mustNotCall()); socket.on('error', common.mustCall(function(err) { - assert.strictEqual(err.code, errCode); + assert(errCodes.includes(err.code), err); })); socket.on('lookup', common.mustCall(function(err, ip, type) { assert(err instanceof Error); - assert.strictEqual(err.code, errCode); + assert(errCodes.includes(err.code), err); assert.strictEqual(ip, undefined); assert.strictEqual(type, undefined); })); diff --git a/test/parallel/test-net-error-twice.js b/test/parallel/test-net-error-twice.js index 4c2839d372fcb4..b26b825d16c15f 100644 --- a/test/parallel/test-net-error-twice.js +++ b/test/parallel/test-net-error-twice.js @@ -37,14 +37,14 @@ function ready() { } } -const srv = net.createServer(function onConnection(conn) { +const server = net.createServer(function onConnection(conn) { conn.on('error', function(err) { errs.push(err); if (errs.length > 1 && errs[0] === errs[1]) assert.fail('Should not emit the same error twice'); }); conn.on('close', function() { - srv.unref(); + server.unref(); }); serverSocket = conn; ready(); diff --git a/test/parallel/test-net-listen-after-destroying-stdin.js b/test/parallel/test-net-listen-after-destroying-stdin.js index 5a4c8f4f65c55f..4ffec304bec008 100644 --- a/test/parallel/test-net-listen-after-destroying-stdin.js +++ b/test/parallel/test-net-listen-after-destroying-stdin.js @@ -8,15 +8,15 @@ const net = require('net'); process.stdin.destroy(); -const server = net.createServer(common.mustCall(function(socket) { - console.log('accepted'); - socket.end(); - server.close(); +const server = net.createServer(common.mustCall((socket) => { + console.log('accepted...'); + socket.end(common.mustCall(() => { console.log('finished...'); })); + server.close(common.mustCall(() => { console.log('closed'); })); })); -server.listen(0, function() { +server.listen(0, common.mustCall(() => { console.log('listening...'); - net.createConnection(this.address().port); -}); + net.createConnection(server.address().port); +})); diff --git a/test/parallel/test-net-listen-invalid-port.js b/test/parallel/test-net-listen-invalid-port.js index d07bc9fafa8f56..844878036646dd 100644 --- a/test/parallel/test-net-listen-invalid-port.js +++ b/test/parallel/test-net-listen-invalid-port.js @@ -19,25 +19,25 @@ net.Server().listen(0, function() { }); // The first argument is a configuration object -common.expectsError(() => { +assert.throws(() => { net.Server().listen({ port: invalidPort }, common.mustNotCall()); }, { code: 'ERR_SOCKET_BAD_PORT', - type: RangeError + name: 'RangeError' }); // The first argument is the port, no IP given. -common.expectsError(() => { +assert.throws(() => { net.Server().listen(invalidPort, common.mustNotCall()); }, { code: 'ERR_SOCKET_BAD_PORT', - type: RangeError + name: 'RangeError' }); // The first argument is the port, the second an IP. -common.expectsError(() => { +assert.throws(() => { net.Server().listen(invalidPort, '0.0.0.0', common.mustNotCall()); }, { code: 'ERR_SOCKET_BAD_PORT', - type: RangeError + name: 'RangeError' }); diff --git a/test/parallel/test-net-localerror.js b/test/parallel/test-net-localerror.js index 91a7b38c3ef661..92095340512d85 100644 --- a/test/parallel/test-net-localerror.js +++ b/test/parallel/test-net-localerror.js @@ -20,13 +20,14 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const net = require('net'); const connect = (opts, code, type) => { - common.expectsError( + assert.throws( () => net.connect(opts), - { code, type } + { code, name: type.name } ); }; diff --git a/test/parallel/test-net-options-lookup.js b/test/parallel/test-net-options-lookup.js index 5661aee841d197..0341a9f8d546b5 100644 --- a/test/parallel/test-net-options-lookup.js +++ b/test/parallel/test-net-options-lookup.js @@ -1,5 +1,6 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const net = require('net'); ['foobar', 1, {}, []].forEach((input) => connectThrows(input)); @@ -12,11 +13,11 @@ function connectThrows(input) { lookup: input }; - common.expectsError(() => { + assert.throws(() => { net.connect(opts); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); } diff --git a/test/parallel/test-net-server-call-listen-multiple-times.js b/test/parallel/test-net-server-call-listen-multiple-times.js index 4b1a8d07334ac2..e757c6c247c45b 100644 --- a/test/parallel/test-net-server-call-listen-multiple-times.js +++ b/test/parallel/test-net-server-call-listen-multiple-times.js @@ -1,6 +1,7 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const net = require('net'); // First test. Check that after error event you can listen right away. @@ -28,9 +29,9 @@ const net = require('net'); server.listen(common.mustCall(() => server.close())); - common.expectsError(() => server.listen(), { + assert.throws(() => server.listen(), { code: 'ERR_SERVER_ALREADY_LISTEN', - type: Error + name: 'Error' }); } diff --git a/test/parallel/test-net-server-listen-options.js b/test/parallel/test-net-server-listen-options.js index 6c783c95dcaebd..035630468b7b19 100644 --- a/test/parallel/test-net-server-listen-options.js +++ b/test/parallel/test-net-server-listen-options.js @@ -27,7 +27,7 @@ const listenOnPort = [ const assertPort = () => { return common.expectsError({ code: 'ERR_SOCKET_BAD_PORT', - type: RangeError + name: 'RangeError' }); }; @@ -60,19 +60,19 @@ const listenOnPort = [ if (typeof options === 'object' && !(('port' in options) || ('path' in options))) { - common.expectsError(fn, - { - code: 'ERR_INVALID_ARG_VALUE', - type: TypeError, - message: /^The argument 'options' must have the property "port" or "path"\. Received .+$/, - }); + assert.throws(fn, + { + code: 'ERR_INVALID_ARG_VALUE', + name: 'TypeError', + message: /^The argument 'options' must have the property "port" or "path"\. Received .+$/, + }); } else { - common.expectsError(fn, - { - code: 'ERR_INVALID_OPT_VALUE', - type: TypeError, - message: /^The value "{.*}" is invalid for option "options"(?:\. .+)?$/, - }); + assert.throws(fn, + { + code: 'ERR_INVALID_OPT_VALUE', + name: 'TypeError', + message: /^The value "{.*}" is invalid for option "options"(?:\. .+)?$/, + }); } } diff --git a/test/parallel/test-net-server-listen-path.js b/test/parallel/test-net-server-listen-path.js index cc7c6678b04224..99144ceb494a64 100644 --- a/test/parallel/test-net-server-listen-path.js +++ b/test/parallel/test-net-server-listen-path.js @@ -55,7 +55,7 @@ function randomPipePath() { { const handlePath = randomPipePath(); - const srv = net.createServer() + const server = net.createServer() .listen({ path: handlePath, readableAll: true, @@ -66,24 +66,24 @@ function randomPipePath() { assert.notStrictEqual(mode & fs.constants.S_IROTH, 0); assert.notStrictEqual(mode & fs.constants.S_IWOTH, 0); } - srv.close(); + server.close(); })); } // Test should emit "error" events when listening fails. { const handlePath = randomPipePath(); - const srv1 = net.createServer().listen({ path: handlePath }, () => { + const server1 = net.createServer().listen({ path: handlePath }, () => { // As the handlePath is in use, binding to the same address again should // make the server emit an 'EADDRINUSE' error. - const srv2 = net.createServer() + const server2 = net.createServer() .listen({ path: handlePath, writableAll: true, }, common.mustNotCall()); - srv2.on('error', common.mustCall((err) => { - srv1.close(); + server2.on('error', common.mustCall((err) => { + server1.close(); assert.strictEqual(err.code, 'EADDRINUSE'); assert(/^listen EADDRINUSE: address already in use/.test(err.message)); })); diff --git a/test/parallel/test-net-server-options.js b/test/parallel/test-net-server-options.js index 2275d9f859b409..8d2181171d81ca 100644 --- a/test/parallel/test-net-server-options.js +++ b/test/parallel/test-net-server-options.js @@ -1,15 +1,16 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const net = require('net'); -common.expectsError(function() { net.createServer('path'); }, - { - code: 'ERR_INVALID_ARG_TYPE', - type: TypeError - }); +assert.throws(() => net.createServer('path'), + { + code: 'ERR_INVALID_ARG_TYPE', + name: 'TypeError' + }); -common.expectsError(function() { net.createServer(0); }, - { - code: 'ERR_INVALID_ARG_TYPE', - type: TypeError - }); +assert.throws(() => net.createServer(0), + { + code: 'ERR_INVALID_ARG_TYPE', + name: 'TypeError' + }); diff --git a/test/parallel/test-net-socket-constructor.js b/test/parallel/test-net-socket-constructor.js index 90b0907f488a9a..d1ac8b35121826 100644 --- a/test/parallel/test-net-socket-constructor.js +++ b/test/parallel/test-net-socket-constructor.js @@ -5,11 +5,11 @@ const assert = require('assert'); const cluster = require('cluster'); const net = require('net'); -common.expectsError(() => { +assert.throws(() => { new net.Socket({ fd: -1 }); }, { code: 'ERR_OUT_OF_RANGE' }); -common.expectsError(() => { +assert.throws(() => { new net.Socket({ fd: 'foo' }); }, { code: 'ERR_INVALID_ARG_TYPE' }); diff --git a/test/parallel/test-net-socket-destroy-send.js b/test/parallel/test-net-socket-destroy-send.js index aa587fc2e16896..54dadd94861ddf 100644 --- a/test/parallel/test-net-socket-destroy-send.js +++ b/test/parallel/test-net-socket-destroy-send.js @@ -15,13 +15,13 @@ server.listen(0, common.mustCall(function() { conn.on('error', common.expectsError({ code: 'ERR_STREAM_DESTROYED', message: 'Cannot call write after a stream was destroyed', - type: Error + name: 'Error' })); conn.write(Buffer.from('kaboom'), common.expectsError({ code: 'ERR_STREAM_DESTROYED', message: 'Cannot call write after a stream was destroyed', - type: Error + name: 'Error' })); server.close(); })); diff --git a/test/parallel/test-net-socket-setnodelay.js b/test/parallel/test-net-socket-setnodelay.js index 55b4c773fa5bf7..e11d89daec58de 100644 --- a/test/parallel/test-net-socket-setnodelay.js +++ b/test/parallel/test-net-socket-setnodelay.js @@ -20,18 +20,26 @@ socket.setNoDelay(); socket = new net.Socket({ handle: { - setNoDelay: common.mustCall(genSetNoDelay(true), truthyValues.length) + setNoDelay: common.mustCall(genSetNoDelay(true), 1) } }); truthyValues.forEach((testVal) => socket.setNoDelay(testVal)); socket = new net.Socket({ handle: { - setNoDelay: common.mustCall(genSetNoDelay(false), falseyValues.length) + setNoDelay: common.mustNotCall() } }); falseyValues.forEach((testVal) => socket.setNoDelay(testVal)); +socket = new net.Socket({ + handle: { + setNoDelay: common.mustCall(() => {}, 3) + } +}); +truthyValues.concat(falseyValues).concat(truthyValues) + .forEach((testVal) => socket.setNoDelay(testVal)); + // If a handler doesn't have a setNoDelay function it shouldn't be called. // In the case below, if it is called an exception will be thrown socket = new net.Socket({ diff --git a/test/parallel/test-net-socket-timeout.js b/test/parallel/test-net-socket-timeout.js index 2fe0e5a45d7372..8b197b44d61281 100644 --- a/test/parallel/test-net-socket-timeout.js +++ b/test/parallel/test-net-socket-timeout.js @@ -55,11 +55,11 @@ for (let i = 0; i < validDelays.length; i++) { for (let i = 0; i < invalidCallbacks.length; i++) { [0, 1].forEach((mesc) => - common.expectsError( + assert.throws( () => s.setTimeout(mesc, invalidCallbacks[i]), { code: 'ERR_INVALID_CALLBACK', - type: TypeError, + name: 'TypeError', message: 'Callback must be a function. ' + `Received ${inspect(invalidCallbacks[i])}` } diff --git a/test/parallel/test-net-socket-write-after-close.js b/test/parallel/test-net-socket-write-after-close.js index e3593a3a09a146..207f735fffdef1 100644 --- a/test/parallel/test-net-socket-write-after-close.js +++ b/test/parallel/test-net-socket-write-after-close.js @@ -29,7 +29,7 @@ const net = require('net'); client.on('error', common.expectsError({ code: 'ERR_SOCKET_CLOSED', message: 'Socket is closed', - type: Error + name: 'Error' })); server.close(); diff --git a/test/parallel/test-net-socket-write-error.js b/test/parallel/test-net-socket-write-error.js index 800d6020da4cbe..a4f5d6e2f41dfb 100644 --- a/test/parallel/test-net-socket-write-error.js +++ b/test/parallel/test-net-socket-write-error.js @@ -1,17 +1,18 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const net = require('net'); const server = net.createServer().listen(0, connectToServer); function connectToServer() { const client = net.createConnection(this.address().port, () => { - common.expectsError(() => client.write(1337), - { - code: 'ERR_INVALID_ARG_TYPE', - type: TypeError - }); + assert.throws(() => client.write(1337), + { + code: 'ERR_INVALID_ARG_TYPE', + name: 'TypeError' + }); client.end(); }) diff --git a/test/parallel/test-net-write-after-end-nt.js b/test/parallel/test-net-write-after-end-nt.js index d2f7c5c212ca0e..99edc1d72beb95 100644 --- a/test/parallel/test-net-write-after-end-nt.js +++ b/test/parallel/test-net-write-after-end-nt.js @@ -21,7 +21,7 @@ const server = net.createServer(mustCall((socket) => { const ret = client.write('hello', expectsError({ code: 'EPIPE', message: 'This socket has been ended by the other party', - type: Error + name: 'Error' })); assert.strictEqual(ret, false); diff --git a/test/parallel/test-next-tick-errors.js b/test/parallel/test-next-tick-errors.js index c561d555e15d77..56480adcf53c27 100644 --- a/test/parallel/test-next-tick-errors.js +++ b/test/parallel/test-next-tick-errors.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const order = []; @@ -42,16 +42,12 @@ process.nextTick(function() { }); function testNextTickWith(val) { - common.expectsError( - function() { - process.nextTick(val); - }, - { - code: 'ERR_INVALID_CALLBACK', - name: 'TypeError', - type: TypeError - } - ); + assert.throws(() => { + process.nextTick(val); + }, { + code: 'ERR_INVALID_CALLBACK', + name: 'TypeError' + }); } testNextTickWith(false); diff --git a/test/parallel/test-os-checked-function.js b/test/parallel/test-os-checked-function.js index 4a6c1cd0cafb09..e0758437fe873f 100644 --- a/test/parallel/test-os-checked-function.js +++ b/test/parallel/test-os-checked-function.js @@ -1,8 +1,9 @@ 'use strict'; // Flags: --expose_internals -const common = require('../common'); +require('../common'); const { internalBinding } = require('internal/test/binding'); +const assert = require('assert'); // Monkey patch the os binding before requiring any other modules, including // common, which requires the os module. @@ -14,6 +15,6 @@ internalBinding('os').getHomeDirectory = function(ctx) { const os = require('os'); -common.expectsError(os.homedir, { +assert.throws(os.homedir, { message: /^A system error occurred: foo returned bar \(baz\)$/ }); diff --git a/test/parallel/test-os-process-priority.js b/test/parallel/test-os-process-priority.js index ad73e022efdb90..d9adac58bf981e 100644 --- a/test/parallel/test-os-process-priority.js +++ b/test/parallel/test-os-process-priority.js @@ -30,11 +30,11 @@ assert.strictEqual(typeof PRIORITY_HIGHEST, 'number'); message: /The "pid" argument must be of type number\./ }; - common.expectsError(() => { + assert.throws(() => { os.setPriority(pid, PRIORITY_NORMAL); }, errObj); - common.expectsError(() => { + assert.throws(() => { os.getPriority(pid); }, errObj); }); @@ -46,18 +46,18 @@ assert.strictEqual(typeof PRIORITY_HIGHEST, 'number'); message: /The value of "pid" is out of range\./ }; - common.expectsError(() => { + assert.throws(() => { os.setPriority(pid, PRIORITY_NORMAL); }, errObj); - common.expectsError(() => { + assert.throws(() => { os.getPriority(pid); }, errObj); }); // Test priority type validation. [null, true, false, 'foo', {}, [], /x/].forEach((priority) => { - common.expectsError(() => { + assert.throws(() => { os.setPriority(0, priority); }, { code: 'ERR_INVALID_ARG_TYPE', @@ -75,7 +75,7 @@ assert.strictEqual(typeof PRIORITY_HIGHEST, 'number'); PRIORITY_HIGHEST - 1, PRIORITY_LOW + 1 ].forEach((priority) => { - common.expectsError(() => { + assert.throws(() => { os.setPriority(0, priority); }, { code: 'ERR_OUT_OF_RANGE', diff --git a/test/parallel/test-outgoing-message-pipe.js b/test/parallel/test-outgoing-message-pipe.js index 7cfe3687ecc8a7..049b41c9aaa903 100644 --- a/test/parallel/test-outgoing-message-pipe.js +++ b/test/parallel/test-outgoing-message-pipe.js @@ -1,14 +1,15 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const OutgoingMessage = require('_http_outgoing').OutgoingMessage; // Verify that an error is thrown upon a call to `OutgoingMessage.pipe`. const outgoingMessage = new OutgoingMessage(); -common.expectsError( +assert.throws( () => { outgoingMessage.pipe(outgoingMessage); }, { code: 'ERR_STREAM_CANNOT_PIPE', - type: Error + name: 'Error' } ); diff --git a/test/parallel/test-path-parse-format.js b/test/parallel/test-path-parse-format.js index 9d616d0c130c20..97c7227ac7e0eb 100644 --- a/test/parallel/test-path-parse-format.js +++ b/test/parallel/test-path-parse-format.js @@ -215,11 +215,11 @@ function checkFormat(path, testCases) { }); [null, undefined, 1, true, false, 'string'].forEach((pathObject) => { - common.expectsError(() => { + assert.throws(() => { path.format(pathObject); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "pathObject" argument must be of type object.' + common.invalidArgTypeHelper(pathObject) }); diff --git a/test/parallel/test-path.js b/test/parallel/test-path.js index 9672e82c7f9194..7a5f3d4715a7f2 100644 --- a/test/parallel/test-path.js +++ b/test/parallel/test-path.js @@ -30,9 +30,9 @@ const typeErrorTests = [true, false, 7, null, {}, undefined, [], NaN]; function fail(fn) { const args = Array.from(arguments).slice(1); - common.expectsError(() => { + assert.throws(() => { fn.apply(null, args); - }, { code: 'ERR_INVALID_ARG_TYPE', type: TypeError }); + }, { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError' }); } typeErrorTests.forEach((test) => { diff --git a/test/parallel/test-performance-function.js b/test/parallel/test-performance-function.js index 5271f419a3e34b..883def6565947b 100644 --- a/test/parallel/test-performance-function.js +++ b/test/parallel/test-performance-function.js @@ -61,12 +61,12 @@ const { { [1, {}, [], null, undefined, Infinity].forEach((input) => { - common.expectsError(() => performance.timerify(input), - { - code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, - message: /The "fn" argument must be of type function/ - }); + assert.throws(() => performance.timerify(input), + { + code: 'ERR_INVALID_ARG_TYPE', + name: 'TypeError', + message: /The "fn" argument must be of type function/ + }); }); } diff --git a/test/parallel/test-performanceobserver.js b/test/parallel/test-performanceobserver.js index 6c28baa82f1877..01afbdc6aaf4b2 100644 --- a/test/parallel/test-performanceobserver.js +++ b/test/parallel/test-performanceobserver.js @@ -31,11 +31,11 @@ assert.strictEqual(counts[NODE_PERFORMANCE_ENTRY_TYPE_FUNCTION], 0); { [1, null, undefined, {}, [], Infinity].forEach((i) => { - common.expectsError( + assert.throws( () => new PerformanceObserver(i), { code: 'ERR_INVALID_CALLBACK', - type: TypeError, + name: 'TypeError', message: `Callback must be a function. Received ${inspect(i)}` } ); @@ -43,24 +43,24 @@ assert.strictEqual(counts[NODE_PERFORMANCE_ENTRY_TYPE_FUNCTION], 0); const observer = new PerformanceObserver(common.mustNotCall()); [1, null, undefined].forEach((input) => { - common.expectsError( + assert.throws( () => observer.observe(input), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options" argument must be of type object.' + common.invalidArgTypeHelper(input) }); }); [1, undefined, null, {}, Infinity].forEach((i) => { - common.expectsError(() => observer.observe({ entryTypes: i }), - { - code: 'ERR_INVALID_OPT_VALUE', - type: TypeError, - message: 'The value "[object Object]" is invalid ' + + assert.throws(() => observer.observe({ entryTypes: i }), + { + code: 'ERR_INVALID_OPT_VALUE', + name: 'TypeError', + message: 'The value "[object Object]" is invalid ' + 'for option "entryTypes"' - }); + }); }); const obs = new PerformanceObserver(common.mustNotCall()); diff --git a/test/parallel/test-pipe-outgoing-message-data-emitted-after-ended.js b/test/parallel/test-pipe-outgoing-message-data-emitted-after-ended.js index c6191a906b32d6..efd3d271e746ea 100644 --- a/test/parallel/test-pipe-outgoing-message-data-emitted-after-ended.js +++ b/test/parallel/test-pipe-outgoing-message-data-emitted-after-ended.js @@ -18,7 +18,7 @@ const server = http.createServer(common.mustCall(function(req, res) { myStream.emit('data', 'some data'); res.on('error', common.expectsError({ code: 'ERR_STREAM_WRITE_AFTER_END', - type: Error + name: 'Error' })); process.nextTick(common.mustCall(() => server.close())); diff --git a/test/parallel/test-process-assert.js b/test/parallel/test-process-assert.js index 74792eebb7bd2f..2f0c3fc9430ce0 100644 --- a/test/parallel/test-process-assert.js +++ b/test/parallel/test-process-assert.js @@ -9,17 +9,17 @@ common.expectWarning( ); assert.strictEqual(process.assert(1, 'error'), undefined); -common.expectsError(() => { +assert.throws(() => { process.assert(undefined, 'errorMessage'); }, { code: 'ERR_ASSERTION', - type: Error, + name: 'Error', message: 'errorMessage' }); -common.expectsError(() => { +assert.throws(() => { process.assert(false); }, { code: 'ERR_ASSERTION', - type: Error, + name: 'Error', message: 'assertion error' }); diff --git a/test/parallel/test-process-chdir-errormessage.js b/test/parallel/test-process-chdir-errormessage.js index 3dca040a2f716c..0ed368287b377e 100644 --- a/test/parallel/test-process-chdir-errormessage.js +++ b/test/parallel/test-process-chdir-errormessage.js @@ -3,13 +3,14 @@ const common = require('../common'); if (!common.isMainThread) common.skip('process.chdir is not available in Workers'); +const assert = require('assert'); -common.expectsError( +assert.throws( () => { process.chdir('does-not-exist'); }, { - type: Error, + name: 'Error', code: 'ENOENT', message: /ENOENT: no such file or directory, chdir .+ -> 'does-not-exist'/, path: process.cwd(), diff --git a/test/parallel/test-process-chdir.js b/test/parallel/test-process-chdir.js index e66d366fb7874f..8340f772044c4a 100644 --- a/test/parallel/test-process-chdir.js +++ b/test/parallel/test-process-chdir.js @@ -40,5 +40,5 @@ const err = { code: 'ERR_INVALID_ARG_TYPE', message: /The "directory" argument must be of type string/ }; -common.expectsError(function() { process.chdir({}); }, err); -common.expectsError(function() { process.chdir(); }, err); +assert.throws(function() { process.chdir({}); }, err); +assert.throws(function() { process.chdir(); }, err); diff --git a/test/parallel/test-process-emitwarning.js b/test/parallel/test-process-emitwarning.js index bba41c56e2edcc..de0861140d6135 100644 --- a/test/parallel/test-process-emitwarning.js +++ b/test/parallel/test-process-emitwarning.js @@ -74,8 +74,8 @@ process.emitWarning(warningThrowToString); [undefined, 'foo', 'bar'], [undefined] ].forEach((args) => { - common.expectsError( + assert.throws( () => process.emitWarning(...args), - { code: 'ERR_INVALID_ARG_TYPE', type: TypeError } + { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError' } ); }); diff --git a/test/parallel/test-process-exception-capture-errors.js b/test/parallel/test-process-exception-capture-errors.js index 5f89852b6e1875..8eb825267cf336 100644 --- a/test/parallel/test-process-exception-capture-errors.js +++ b/test/parallel/test-process-exception-capture-errors.js @@ -1,11 +1,12 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); -common.expectsError( +assert.throws( () => process.setUncaughtExceptionCaptureCallback(42), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "fn" argument must be of type function or null. ' + 'Received type number (42)' } @@ -13,11 +14,11 @@ common.expectsError( process.setUncaughtExceptionCaptureCallback(common.mustNotCall()); -common.expectsError( +assert.throws( () => process.setUncaughtExceptionCaptureCallback(common.mustNotCall()), { code: 'ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET', - type: Error, + name: 'Error', message: /setupUncaughtExceptionCapture.*called while a capture callback/ } ); diff --git a/test/parallel/test-process-hrtime.js b/test/parallel/test-process-hrtime.js index 8d469e1dccd3aa..34ef514aac309b 100644 --- a/test/parallel/test-process-hrtime.js +++ b/test/parallel/test-process-hrtime.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); // The default behavior, return an Array "tuple" of numbers @@ -33,33 +33,33 @@ validateTuple(tuple); validateTuple(process.hrtime(tuple)); // Test that only an Array may be passed to process.hrtime() -common.expectsError(() => { +assert.throws(() => { process.hrtime(1); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "time" argument must be an instance of Array. Received type ' + 'number (1)' }); -common.expectsError(() => { +assert.throws(() => { process.hrtime([]); }, { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "time" is out of range. It must be 2. Received 0' }); -common.expectsError(() => { +assert.throws(() => { process.hrtime([1]); }, { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "time" is out of range. It must be 2. Received 1' }); -common.expectsError(() => { +assert.throws(() => { process.hrtime([1, 2, 3]); }, { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "time" is out of range. It must be 2. Received 3' }); diff --git a/test/parallel/test-process-kill-pid.js b/test/parallel/test-process-kill-pid.js index a69961da6c94f6..c4f172e61d6e6d 100644 --- a/test/parallel/test-process-kill-pid.js +++ b/test/parallel/test-process-kill-pid.js @@ -48,16 +48,16 @@ const assert = require('assert'); }); // Test that kill throws an error for unknown signal names -common.expectsError(() => process.kill(0, 'test'), { +assert.throws(() => process.kill(0, 'test'), { code: 'ERR_UNKNOWN_SIGNAL', - type: TypeError, + name: 'TypeError', message: 'Unknown signal: test' }); // Test that kill throws an error for invalid signal numbers -common.expectsError(() => process.kill(0, 987), { +assert.throws(() => process.kill(0, 987), { code: 'EINVAL', - type: Error, + name: 'Error', message: 'kill EINVAL' }); diff --git a/test/parallel/test-process-next-tick.js b/test/parallel/test-process-next-tick.js index 6641e17c242437..691bf57b3751c5 100644 --- a/test/parallel/test-process-next-tick.js +++ b/test/parallel/test-process-next-tick.js @@ -21,6 +21,7 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const { inspect } = require('util'); const N = 2; @@ -39,11 +40,11 @@ process.on('exit', function() { }); [null, 1, 'test', {}, [], Infinity, true].forEach((i) => { - common.expectsError( + assert.throws( () => process.nextTick(i), { code: 'ERR_INVALID_CALLBACK', - type: TypeError, + name: 'TypeError', message: `Callback must be a function. Received ${inspect(i)}` } ); diff --git a/test/parallel/test-process-title.js b/test/parallel/test-process-title.js new file mode 100644 index 00000000000000..13a030decf887c --- /dev/null +++ b/test/parallel/test-process-title.js @@ -0,0 +1,22 @@ +'use strict'; +const common = require('../common'); +const { spawnSync } = require('child_process'); +const { strictEqual } = require('assert'); + +// FIXME add sunos support +if (common.isSunOS) + common.skip(`Unsupported platform [${process.platform}]`); +// FIXME add IBMi support +if (common.isIBMi) + common.skip('Unsupported platform IBMi'); + +// Explicitly assigning to process.title before starting the child process +// is necessary otherwise *its* process.title is whatever the last +// SetConsoleTitle() call in our process tree set it to. +// Can be removed when https://github.com/libuv/libuv/issues/2667 is fixed. +if (common.isWindows) + process.title = process.execPath; + +const xs = 'x'.repeat(1024); +const proc = spawnSync(process.execPath, ['-p', 'process.title', xs]); +strictEqual(proc.stdout.toString().trim(), process.execPath); diff --git a/test/parallel/test-querystring-escape.js b/test/parallel/test-querystring-escape.js index fedc09812400fd..fdc62c7cdb5a3a 100644 --- a/test/parallel/test-querystring-escape.js +++ b/test/parallel/test-querystring-escape.js @@ -1,5 +1,5 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const qs = require('querystring'); @@ -13,11 +13,11 @@ assert.deepStrictEqual(qs.escape('testŊōđĕ'), 'test%C5%8A%C5%8D%C4%91%C4%95' assert.deepStrictEqual(qs.escape(`${String.fromCharCode(0xD800 + 1)}test`), '%F0%90%91%B4est'); -common.expectsError( +assert.throws( () => qs.escape(String.fromCharCode(0xD800 + 1)), { code: 'ERR_INVALID_URI', - type: URIError, + name: 'URIError', message: 'URI malformed' } ); diff --git a/test/parallel/test-querystring.js b/test/parallel/test-querystring.js index de1768103d94cd..72d8e3315f04fc 100644 --- a/test/parallel/test-querystring.js +++ b/test/parallel/test-querystring.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const inspect = require('util').inspect; @@ -270,11 +270,11 @@ qsWeirdObjects.forEach((testCase) => { }); // Invalid surrogate pair throws URIError -common.expectsError( +assert.throws( () => qs.stringify({ foo: '\udc00' }), { code: 'ERR_INVALID_URI', - type: URIError, + name: 'URIError', message: 'URI malformed' } ); diff --git a/test/parallel/test-readline-csi.js b/test/parallel/test-readline-csi.js index 27bfd2bce5173b..51b95c06b74897 100644 --- a/test/parallel/test-readline-csi.js +++ b/test/parallel/test-readline-csi.js @@ -120,10 +120,10 @@ assert.strictEqual(readline.cursorTo(writable, 'a', 'b'), true); assert.strictEqual(writable.data, ''); writable.data = ''; -common.expectsError( +assert.throws( () => readline.cursorTo(writable, 'a', 1), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_CURSOR_POS', message: 'Cannot set cursor row without setting its column' }); diff --git a/test/parallel/test-readline-interface-escapecodetimeout.js b/test/parallel/test-readline-interface-escapecodetimeout.js index 0e25423e8550c0..58f5fcb3cde42f 100644 --- a/test/parallel/test-readline-interface-escapecodetimeout.js +++ b/test/parallel/test-readline-interface-escapecodetimeout.js @@ -1,5 +1,5 @@ 'use strict'; -const common = require('../common'); +require('../common'); // This test ensures that the escapeCodeTimeout option set correctly @@ -31,7 +31,7 @@ class FakeInput extends EventEmitter { NaN, '50' ].forEach((invalidInput) => { - common.expectsError(() => { + assert.throws(() => { const fi = new FakeInput(); const rli = new readline.Interface({ input: fi, @@ -40,7 +40,7 @@ class FakeInput extends EventEmitter { }); rli.close(); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE' }); }); diff --git a/test/parallel/test-readline-interface.js b/test/parallel/test-readline-interface.js index 08d3b363ddc4fa..2355676015b39a 100644 --- a/test/parallel/test-readline-interface.js +++ b/test/parallel/test-readline-interface.js @@ -357,13 +357,13 @@ function isWarned(emitter) { // Constructor throws if completer is not a function or undefined { const fi = new FakeInput(); - common.expectsError(function() { + assert.throws(() => { readline.createInterface({ input: fi, completer: 'string is not valid' }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE' }); } @@ -371,30 +371,30 @@ function isWarned(emitter) { // Constructor throws if historySize is not a positive number { const fi = new FakeInput(); - common.expectsError(function() { + assert.throws(() => { readline.createInterface({ input: fi, historySize: 'not a number' }); }, { - type: RangeError, + name: 'RangeError', code: 'ERR_INVALID_OPT_VALUE' }); - common.expectsError(function() { + assert.throws(() => { readline.createInterface({ input: fi, historySize: -1 }); }, { - type: RangeError, + name: 'RangeError', code: 'ERR_INVALID_OPT_VALUE' }); - common.expectsError(function() { + assert.throws(() => { readline.createInterface({ input: fi, historySize: NaN }); }, { - type: RangeError, + name: 'RangeError', code: 'ERR_INVALID_OPT_VALUE' }); } @@ -501,15 +501,20 @@ function isWarned(emitter) { { input: fi, output: fi, terminal: true } ); const keys = []; + const err = new Error('bad thing happened'); fi.on('keypress', function(key) { keys.push(key); if (key === 'X') { - throw new Error('bad thing happened'); + throw err; } }); - try { - fi.emit('data', 'fooX'); - } catch { } + assert.throws( + () => fi.emit('data', 'fooX'), + (e) => { + assert.strictEqual(e, err); + return true; + } + ); fi.emit('data', 'bar'); assert.strictEqual(keys.join(''), 'fooXbar'); rli.close(); diff --git a/test/parallel/test-repl-options.js b/test/parallel/test-repl-options.js index 9f40c6279bd64c..43270e7412d3a2 100644 --- a/test/parallel/test-repl-options.js +++ b/test/parallel/test-repl-options.js @@ -101,9 +101,9 @@ const r3 = () => repl.start({ eval: true }); -common.expectsError(r3, { +assert.throws(r3, { code: 'ERR_INVALID_REPL_EVAL_CONFIG', - type: TypeError, + name: 'TypeError', message: 'Cannot specify both "breakEvalOnSigint" and "eval" for REPL' }); diff --git a/test/parallel/test-repl.js b/test/parallel/test-repl.js index 4448768dd29d6e..b8498db4b9041a 100644 --- a/test/parallel/test-repl.js +++ b/test/parallel/test-repl.js @@ -861,7 +861,7 @@ function event(ee, expected) { const data = inspect(expected, { compact: false }); const msg = `The REPL did not reply as expected for:\n\n${data}`; reject(new Error(msg)); - }, common.platformTimeout(500)); + }, common.platformTimeout(1000)); ee.once('data', common.mustCall((...args) => { clearTimeout(timeout); resolve(...args); diff --git a/test/parallel/test-require-empty-main.js b/test/parallel/test-require-empty-main.js new file mode 100644 index 00000000000000..73f141d1f9ea8f --- /dev/null +++ b/test/parallel/test-require-empty-main.js @@ -0,0 +1,25 @@ +'use strict'; +require('../common'); + +// A package.json with an empty "main" property should use index.js if present. +// require.resolve() should resolve to index.js for the same reason. +// +// In fact, any "main" property that doesn't resolve to a file should result +// in index.js being used, but that's already checked for by other tests. +// This test only concerns itself with the empty string. + +const assert = require('assert'); +const path = require('path'); +const fixtures = require('../common/fixtures'); + +const where = fixtures.path('require-empty-main'); +const expected = path.join(where, 'index.js'); + +test(); +setImmediate(test); + +function test() { + assert.strictEqual(require.resolve(where), expected); + assert.strictEqual(require(where), 42); + assert.strictEqual(require.resolve(where), expected); +} diff --git a/test/parallel/test-require-invalid-main-no-exports.js b/test/parallel/test-require-invalid-main-no-exports.js index 676053ce3565c3..9be5c01054e70b 100644 --- a/test/parallel/test-require-invalid-main-no-exports.js +++ b/test/parallel/test-require-invalid-main-no-exports.js @@ -13,8 +13,9 @@ const assert = require('assert'); const { spawnSync } = require('child_process'); const fixtures = require('../common/fixtures'); -const { error, status, stderr } = - spawnSync(process.execPath, [fixtures.path('bluebird', 'test.js')]); +const testFile = fixtures.path('package-main-enoent', 'test.js'); + +const { error, status, stderr } = spawnSync(process.execPath, [testFile]); assert.ifError(error); assert.strictEqual(status, 0, stderr); diff --git a/test/parallel/test-require-invalid-package.js b/test/parallel/test-require-invalid-package.js index 669ea54e52b442..47e22ae939447e 100644 --- a/test/parallel/test-require-invalid-package.js +++ b/test/parallel/test-require-invalid-package.js @@ -1,8 +1,9 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); // Should be an invalid package path. -common.expectsError(() => require('package.json'), - { code: 'MODULE_NOT_FOUND' } +assert.throws(() => require('package.json'), + { code: 'MODULE_NOT_FOUND' } ); diff --git a/test/parallel/test-require-resolve.js b/test/parallel/test-require-resolve.js index c89b4d89b861b5..e7125e39faf7c3 100644 --- a/test/parallel/test-require-resolve.js +++ b/test/parallel/test-require-resolve.js @@ -41,14 +41,14 @@ require(fixtures.path('resolve-paths', 'default', 'verify-paths.js')); [1, false, null, undefined, {}].forEach((value) => { const message = 'The "request" argument must be of type string.' + common.invalidArgTypeHelper(value); - common.expectsError( + assert.throws( () => { require.resolve(value); }, { code: 'ERR_INVALID_ARG_TYPE', message }); - common.expectsError( + assert.throws( () => { require.resolve.paths(value); }, { code: 'ERR_INVALID_ARG_TYPE', diff --git a/test/parallel/test-require-symlink.js b/test/parallel/test-require-symlink.js index 2e8a03ac820df5..14eefcd60d32dc 100644 --- a/test/parallel/test-require-symlink.js +++ b/test/parallel/test-require-symlink.js @@ -12,6 +12,7 @@ const { spawn } = require('child_process'); const fs = require('fs'); const path = require('path'); const process = require('process'); +const { Worker } = require('worker_threads'); // Setup: Copy fixtures to tmp directory. @@ -53,7 +54,7 @@ const linkDir = path.join(dirName, const linkTarget = path.join('..', '..', 'dep2'); -const linkScript = 'linkscript.js'; +const linkScript = './linkscript.js'; const linkScriptTarget = path.join(dirName, 'symlinked.js'); @@ -84,4 +85,31 @@ function test() { assert.strictEqual(code, 0); assert(!signal); }); + + // Also verify that symlinks works for setting preserve via env variables in + // Workers. + const worker = new Worker(linkScript, { + env: { ...process.env, NODE_PRESERVE_SYMLINKS: '1' } + }); + worker.on('error', (err) => { + console.log('Worker failed'); + throw err; + }); + worker.on('exit', common.mustCall((code) => { + assert.strictEqual(code, 0); + })); + + // Also verify that symlinks works for setting preserve via env variables in + // Workers with explicit execArgv. + const workerArgv = new Worker(linkScript, { + execArgv: [], + env: { ...process.env, NODE_PRESERVE_SYMLINKS: '1' } + }); + workerArgv.on('error', (err) => { + console.log('Worker with execArgv failed'); + throw err; + }); + workerArgv.on('exit', common.mustCall((code) => { + assert.strictEqual(code, 0); + })); } diff --git a/test/parallel/test-stream-base-typechecking.js b/test/parallel/test-stream-base-typechecking.js index a8652dc06357cc..ae8582642344ee 100644 --- a/test/parallel/test-stream-base-typechecking.js +++ b/test/parallel/test-stream-base-typechecking.js @@ -1,13 +1,14 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const net = require('net'); const server = net.createServer().listen(0, common.mustCall(() => { const client = net.connect(server.address().port, common.mustCall(() => { - common.expectsError(() => { + assert.throws(() => { client.write('broken', 'buffer'); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'Second argument must be a buffer' }); diff --git a/test/parallel/test-stream-inheritance.js b/test/parallel/test-stream-inheritance.js index a687ea9da054c9..658bd2be338f78 100644 --- a/test/parallel/test-stream-inheritance.js +++ b/test/parallel/test-stream-inheritance.js @@ -1,5 +1,5 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const { Readable, Writable, Duplex, Transform } = require('stream'); @@ -48,11 +48,11 @@ Object.setPrototypeOf(CustomWritable.prototype, Writable.prototype); new CustomWritable(); -common.expectsError( +assert.throws( CustomWritable, { code: 'ERR_ASSERTION', - type: assert.AssertionError, + constructor: assert.AssertionError, message: 'undefined does not inherit from CustomWritable' } ); diff --git a/test/parallel/test-stream-readable-invalid-chunk.js b/test/parallel/test-stream-readable-invalid-chunk.js index fcd7414bb66632..ce830bab41b01f 100644 --- a/test/parallel/test-stream-readable-invalid-chunk.js +++ b/test/parallel/test-stream-readable-invalid-chunk.js @@ -3,17 +3,17 @@ const common = require('../common'); const stream = require('stream'); -const readable = new stream.Readable({ - read: () => {} -}); - -function checkError(fn) { - common.expectsError(fn, { - code: 'ERR_INVALID_ARG_TYPE', - type: TypeError +function testPushArg(val) { + const readable = new stream.Readable({ + read: () => {} }); + readable.on('error', common.expectsError({ + code: 'ERR_INVALID_ARG_TYPE', + name: 'TypeError' + })); + readable.push(val); } -checkError(() => readable.push([])); -checkError(() => readable.push({})); -checkError(() => readable.push(0)); +testPushArg([]); +testPushArg({}); +testPushArg(0); diff --git a/test/parallel/test-stream-readable-unpipe-resume.js b/test/parallel/test-stream-readable-unpipe-resume.js new file mode 100644 index 00000000000000..b40f724bccfc83 --- /dev/null +++ b/test/parallel/test-stream-readable-unpipe-resume.js @@ -0,0 +1,20 @@ +'use strict'; + +const common = require('../common'); +const stream = require('stream'); +const fs = require('fs'); + +const readStream = fs.createReadStream(process.execPath); + +const transformStream = new stream.Transform({ + transform: common.mustCall(() => { + readStream.unpipe(); + readStream.resume(); + }) +}); + +readStream.on('end', common.mustCall()); + +readStream + .pipe(transformStream) + .resume(); diff --git a/test/parallel/test-stream-readable-unshift.js b/test/parallel/test-stream-readable-unshift.js index d574b7d0465b76..4b3bfab19f9c24 100644 --- a/test/parallel/test-stream-readable-unshift.js +++ b/test/parallel/test-stream-readable-unshift.js @@ -117,9 +117,9 @@ const { Readable } = require('stream'); const readable = new Readable({ read() {} }); function checkError(fn) { - common.expectsError(fn, { + assert.throws(fn, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); } diff --git a/test/parallel/test-stream-readable-with-unimplemented-_read.js b/test/parallel/test-stream-readable-with-unimplemented-_read.js index 973899b7a7844e..7d48c422535152 100644 --- a/test/parallel/test-stream-readable-with-unimplemented-_read.js +++ b/test/parallel/test-stream-readable-with-unimplemented-_read.js @@ -7,7 +7,7 @@ const readable = new Readable(); readable.on('error', common.expectsError({ code: 'ERR_METHOD_NOT_IMPLEMENTED', - type: Error, + name: 'Error', message: 'The _read() method is not implemented' })); diff --git a/test/parallel/test-stream-transform-callback-twice.js b/test/parallel/test-stream-transform-callback-twice.js index 83c799b92fba25..bf2ccdcde45b9e 100644 --- a/test/parallel/test-stream-transform-callback-twice.js +++ b/test/parallel/test-stream-transform-callback-twice.js @@ -6,7 +6,7 @@ const stream = new Transform({ }); stream.on('error', common.expectsError({ - type: Error, + name: 'Error', message: 'Callback called multiple times', code: 'ERR_MULTIPLE_CALLBACK' })); diff --git a/test/parallel/test-stream-transform-constructor-set-methods.js b/test/parallel/test-stream-transform-constructor-set-methods.js index d599e768386515..8a4abd6860671a 100644 --- a/test/parallel/test-stream-transform-constructor-set-methods.js +++ b/test/parallel/test-stream-transform-constructor-set-methods.js @@ -7,7 +7,7 @@ const { Transform } = require('stream'); const t = new Transform(); t.on('error', common.expectsError({ - type: Error, + name: 'Error', code: 'ERR_METHOD_NOT_IMPLEMENTED', message: 'The _transform() method is not implemented' })); diff --git a/test/parallel/test-stream-transform-split-highwatermark.js b/test/parallel/test-stream-transform-split-highwatermark.js index bcc33d26a6f665..b39c85e321ea1c 100644 --- a/test/parallel/test-stream-transform-split-highwatermark.js +++ b/test/parallel/test-stream-transform-split-highwatermark.js @@ -1,5 +1,5 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const { Transform, Readable, Writable } = require('stream'); @@ -64,18 +64,18 @@ testTransform(0, 0, { // test NaN { - common.expectsError(() => { + assert.throws(() => { new Transform({ readableHighWaterMark: NaN }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: 'The value "NaN" is invalid for option "readableHighWaterMark"' }); - common.expectsError(() => { + assert.throws(() => { new Transform({ writableHighWaterMark: NaN }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: 'The value "NaN" is invalid for option "writableHighWaterMark"' }); diff --git a/test/parallel/test-stream-unshift-read-race.js b/test/parallel/test-stream-unshift-read-race.js index f7b633338cb810..ecf55382f9c2c7 100644 --- a/test/parallel/test-stream-unshift-read-race.js +++ b/test/parallel/test-stream-unshift-read-race.js @@ -68,16 +68,15 @@ r._read = function(n) { }; function pushError() { - common.expectsError(function() { + assert.throws(() => { r.push(Buffer.allocUnsafe(1)); }, { code: 'ERR_STREAM_PUSH_AFTER_EOF', - type: Error, + name: 'Error', message: 'stream.push() after EOF' }); } - const w = stream.Writable(); const written = []; w._write = function(chunk, encoding, cb) { @@ -86,11 +85,11 @@ w._write = function(chunk, encoding, cb) { }; r.on('end', common.mustCall(function() { - common.expectsError(function() { + assert.throws(function() { r.unshift(Buffer.allocUnsafe(1)); }, { code: 'ERR_STREAM_UNSHIFT_AFTER_END_EVENT', - type: Error, + name: 'Error', message: 'stream.unshift() after end event' }); w.end(); diff --git a/test/parallel/test-stream-wrap-encoding.js b/test/parallel/test-stream-wrap-encoding.js index 72804d77d6bde6..6678aeb62671be 100644 --- a/test/parallel/test-stream-wrap-encoding.js +++ b/test/parallel/test-stream-wrap-encoding.js @@ -16,7 +16,7 @@ const Duplex = require('stream').Duplex; const wrap = new StreamWrap(stream); wrap.on('error', common.expectsError({ - type: Error, + name: 'Error', code: 'ERR_STREAM_WRAP', message: 'Stream has StringDecoder set or is in objectMode' })); @@ -34,7 +34,7 @@ const Duplex = require('stream').Duplex; const wrap = new StreamWrap(stream); wrap.on('error', common.expectsError({ - type: Error, + name: 'Error', code: 'ERR_STREAM_WRAP', message: 'Stream has StringDecoder set or is in objectMode' })); diff --git a/test/parallel/test-stream-writable-change-default-encoding.js b/test/parallel/test-stream-writable-change-default-encoding.js index d8b774134ea714..3fb9796251c16d 100644 --- a/test/parallel/test-stream-writable-change-default-encoding.js +++ b/test/parallel/test-stream-writable-change-default-encoding.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const stream = require('stream'); @@ -54,14 +54,16 @@ class MyWritable extends stream.Writable { m.end(); }()); -common.expectsError(function changeDefaultEncodingToInvalidValue() { - const m = new MyWritable(function(isBuffer, type, enc) { - }, { decodeStrings: false }); +// Change default encoding to invalid value. +assert.throws(() => { + const m = new MyWritable( + (isBuffer, type, enc) => {}, + { decodeStrings: false }); m.setDefaultEncoding({}); m.write('bar'); m.end(); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_UNKNOWN_ENCODING', message: 'Unknown encoding: {}' }); diff --git a/test/parallel/test-stream-writable-constructor-set-methods.js b/test/parallel/test-stream-writable-constructor-set-methods.js index 41779d7e519db4..c326428210c16b 100644 --- a/test/parallel/test-stream-writable-constructor-set-methods.js +++ b/test/parallel/test-stream-writable-constructor-set-methods.js @@ -7,7 +7,7 @@ const { Writable } = require('stream'); const w = new Writable(); w.on('error', common.expectsError({ - type: Error, + name: 'Error', code: 'ERR_METHOD_NOT_IMPLEMENTED', message: 'The _write() method is not implemented' })); diff --git a/test/parallel/test-stream-writable-destroy.js b/test/parallel/test-stream-writable-destroy.js index a431d6d48d1c8e..4302c5abc83389 100644 --- a/test/parallel/test-stream-writable-destroy.js +++ b/test/parallel/test-stream-writable-destroy.js @@ -164,7 +164,7 @@ const assert = require('assert'); writable.on('close', common.mustCall()); writable.on('error', common.expectsError({ - type: Error, + name: 'Error', message: 'kaboom 2' })); diff --git a/test/parallel/test-stream-writable-null.js b/test/parallel/test-stream-writable-null.js index dc0f569ee6c58c..506b1df3d08cd9 100644 --- a/test/parallel/test-stream-writable-null.js +++ b/test/parallel/test-stream-writable-null.js @@ -1,5 +1,5 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const stream = require('stream'); @@ -11,14 +11,14 @@ class MyWritable extends stream.Writable { } } -common.expectsError( +assert.throws( () => { const m = new MyWritable({ objectMode: true }); m.write(null, (err) => assert.ok(err)); }, { code: 'ERR_STREAM_NULL_VALUES', - type: TypeError, + name: 'TypeError', message: 'May not write null values to stream' } ); @@ -28,14 +28,14 @@ common.expectsError( m.write(null, assert); } -common.expectsError( +assert.throws( () => { const m = new MyWritable(); m.write(false, (err) => assert.ok(err)); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); diff --git a/test/parallel/test-stream-writable-write-cb-twice.js b/test/parallel/test-stream-writable-write-cb-twice.js index f066a0ecc4f250..469712142d8b64 100644 --- a/test/parallel/test-stream-writable-write-cb-twice.js +++ b/test/parallel/test-stream-writable-write-cb-twice.js @@ -1,15 +1,16 @@ 'use strict'; const common = require('../common'); const { Writable } = require('stream'); +const assert = require('assert'); { // Sync + Sync const writable = new Writable({ write: common.mustCall((buf, enc, cb) => { cb(); - common.expectsError(cb, { + assert.throws(cb, { code: 'ERR_MULTIPLE_CALLBACK', - type: Error + name: 'Error' }); }) }); @@ -22,9 +23,9 @@ const { Writable } = require('stream'); write: common.mustCall((buf, enc, cb) => { cb(); process.nextTick(() => { - common.expectsError(cb, { + assert.throws(cb, { code: 'ERR_MULTIPLE_CALLBACK', - type: Error + name: 'Error' }); }); }) @@ -38,9 +39,9 @@ const { Writable } = require('stream'); write: common.mustCall((buf, enc, cb) => { process.nextTick(cb); process.nextTick(() => { - common.expectsError(cb, { + assert.throws(cb, { code: 'ERR_MULTIPLE_CALLBACK', - type: Error + name: 'Error' }); }); }) diff --git a/test/parallel/test-stream3-pause-then-read.js b/test/parallel/test-stream3-pause-then-read.js index bfd8a2037323c7..1a3854722052d7 100644 --- a/test/parallel/test-stream3-pause-then-read.js +++ b/test/parallel/test-stream3-pause-then-read.js @@ -108,7 +108,7 @@ function pipeLittle() { console.error('pipe a little'); const w = new Writable(); let written = 0; - w.on('finish', function() { + w.on('finish', () => { assert.strictEqual(written, 200); setImmediate(read1234); }); @@ -160,7 +160,7 @@ function pipe() { written += chunk.length; cb(); }; - w.on('finish', function() { + w.on('finish', () => { console.error('written', written, totalPushed); assert.strictEqual(written, expectEndingData); assert.strictEqual(totalPushed, expectTotalData); diff --git a/test/parallel/test-streams-highwatermark.js b/test/parallel/test-streams-highwatermark.js index 4dd9694a464272..cd13f2af695cfd 100644 --- a/test/parallel/test-streams-highwatermark.js +++ b/test/parallel/test-streams-highwatermark.js @@ -21,10 +21,10 @@ const stream = require('stream'); for (const invalidHwm of [true, false, '5', {}, -5, NaN]) { for (const type of [stream.Readable, stream.Writable]) { - common.expectsError(() => { + assert.throws(() => { type({ highWaterMark: invalidHwm }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_OPT_VALUE', message: `The value "${invalidHwm}" is invalid for option "highWaterMark"` diff --git a/test/parallel/test-string-decoder.js b/test/parallel/test-string-decoder.js index 77c7736be900ce..1fbf9b572cc2f8 100644 --- a/test/parallel/test-string-decoder.js +++ b/test/parallel/test-string-decoder.js @@ -173,29 +173,29 @@ assert.strictEqual(decoder.write(Buffer.from('f4', 'hex')), ''); assert.strictEqual(decoder.write(Buffer.from('bde5', 'hex')), '\ufffd\ufffd'); assert.strictEqual(decoder.end(), '\ufffd'); -common.expectsError( +assert.throws( () => new StringDecoder(1), { code: 'ERR_UNKNOWN_ENCODING', - type: TypeError, + name: 'TypeError', message: 'Unknown encoding: 1' } ); -common.expectsError( +assert.throws( () => new StringDecoder('test'), { code: 'ERR_UNKNOWN_ENCODING', - type: TypeError, + name: 'TypeError', message: 'Unknown encoding: test' } ); -common.expectsError( +assert.throws( () => new StringDecoder('utf8').write(null), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "buf" argument must be an instance of Buffer, TypedArray,' + ' or DataView. Received null' } diff --git a/test/parallel/test-timers-enroll-invalid-msecs.js b/test/parallel/test-timers-enroll-invalid-msecs.js index 384ab0ab257908..f82bf29d74d973 100644 --- a/test/parallel/test-timers-enroll-invalid-msecs.js +++ b/test/parallel/test-timers-enroll-invalid-msecs.js @@ -1,6 +1,7 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const timers = require('timers'); [ @@ -10,11 +11,11 @@ const timers = require('timers'); () => { }, Symbol('foo') ].forEach((val) => { - common.expectsError( + assert.throws( () => timers.enroll({}, val), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); }); @@ -24,11 +25,11 @@ const timers = require('timers'); Infinity, NaN ].forEach((val) => { - common.expectsError( + assert.throws( () => timers.enroll({}, val), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "msecs" is out of range. ' + 'It must be a non-negative finite number. ' + `Received ${val}` diff --git a/test/parallel/test-timers-immediate-queue-throw.js b/test/parallel/test-timers-immediate-queue-throw.js index 477f0388f6d53e..e5aded86c55785 100644 --- a/test/parallel/test-timers-immediate-queue-throw.js +++ b/test/parallel/test-timers-immediate-queue-throw.js @@ -19,7 +19,7 @@ let stage = -1; const QUEUE = 10; const errObj = { - type: Error, + name: 'Error', message: 'setImmediate Err' }; diff --git a/test/parallel/test-timers-refresh.js b/test/parallel/test-timers-refresh.js index a96f5ad5368275..17b3b34af5662b 100644 --- a/test/parallel/test-timers-refresh.js +++ b/test/parallel/test-timers-refresh.js @@ -4,7 +4,7 @@ const common = require('../common'); -const { strictEqual } = require('assert'); +const { strictEqual, throws } = require('assert'); const { setUnrefTimeout } = require('internal/timers'); const { inspect } = require('util'); @@ -34,7 +34,7 @@ const { inspect } = require('util'); // Should throw with non-functions { [null, true, false, 0, 1, NaN, '', 'foo', {}, Symbol()].forEach((cb) => { - common.expectsError( + throws( () => setUnrefTimeout(cb), { code: 'ERR_INVALID_CALLBACK', diff --git a/test/parallel/test-timers-throw-when-cb-not-function.js b/test/parallel/test-timers-throw-when-cb-not-function.js index 9f7f653d3d3afc..75f49b0f3b967e 100644 --- a/test/parallel/test-timers-throw-when-cb-not-function.js +++ b/test/parallel/test-timers-throw-when-cb-not-function.js @@ -1,5 +1,5 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); function doSetTimeout(callback, after) { @@ -8,10 +8,10 @@ function doSetTimeout(callback, after) { }; } -const errMessage = common.expectsError({ +const errMessage = { code: 'ERR_INVALID_CALLBACK', - type: TypeError -}, 18); + name: 'TypeError' +}; assert.throws(doSetTimeout('foo'), errMessage); assert.throws(doSetTimeout({ foo: 'bar' }), errMessage); diff --git a/test/parallel/test-tls-basic-validations.js b/test/parallel/test-tls-basic-validations.js index f39d8553e7e075..5dbbeb60f323f8 100644 --- a/test/parallel/test-tls-basic-validations.js +++ b/test/parallel/test-tls-basic-validations.js @@ -7,71 +7,71 @@ if (!common.hasCrypto) const assert = require('assert'); const tls = require('tls'); -common.expectsError( +assert.throws( () => tls.createSecureContext({ ciphers: 1 }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.ciphers" property must be of type string.' + ' Received type number (1)' }); -common.expectsError( +assert.throws( () => tls.createServer({ ciphers: 1 }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.ciphers" property must be of type string.' + ' Received type number (1)' }); -common.expectsError( +assert.throws( () => tls.createSecureContext({ key: 'dummykey', passphrase: 1 }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'Pass phrase must be a string' }); -common.expectsError( +assert.throws( () => tls.createServer({ key: 'dummykey', passphrase: 1 }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'Pass phrase must be a string' }); -common.expectsError( +assert.throws( () => tls.createServer({ ecdhCurve: 1 }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'ECDH curve name must be a string' }); -common.expectsError( +assert.throws( () => tls.createServer({ handshakeTimeout: 'abcd' }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.handshakeTimeout" property must be of type number.' + " Received type string ('abcd')" } ); -common.expectsError( +assert.throws( () => tls.createServer({ sessionTimeout: 'abcd' }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'Session timeout must be a 32-bit integer' }); -common.expectsError( +assert.throws( () => tls.createServer({ ticketKeys: 'abcd' }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'Ticket keys must be a buffer' }); @@ -109,7 +109,7 @@ assert.throws( { const protocols = [(new String('a')).repeat(500)]; const out = {}; - common.expectsError( + assert.throws( () => tls.convertALPNProtocols(protocols, out), { code: 'ERR_OUT_OF_RANGE', diff --git a/test/parallel/test-tls-clientcertengine-invalid-arg-type.js b/test/parallel/test-tls-clientcertengine-invalid-arg-type.js index 5b77141aaa5da4..811e320b07883c 100644 --- a/test/parallel/test-tls-clientcertengine-invalid-arg-type.js +++ b/test/parallel/test-tls-clientcertengine-invalid-arg-type.js @@ -4,10 +4,11 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const tls = require('tls'); { - common.expectsError( + assert.throws( () => { tls.createSecureContext({ clientCertEngine: 0 }); }, { code: 'ERR_INVALID_ARG_TYPE', message: / Received type number \(0\)/ }); diff --git a/test/parallel/test-tls-clientcertengine-unsupported.js b/test/parallel/test-tls-clientcertengine-unsupported.js index 34b4ea49218194..0d24005dc0a150 100644 --- a/test/parallel/test-tls-clientcertengine-unsupported.js +++ b/test/parallel/test-tls-clientcertengine-unsupported.js @@ -5,6 +5,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); // Monkey-patch SecureContext const { internalBinding } = require('internal/test/binding'); const binding = internalBinding('crypto'); @@ -19,7 +20,7 @@ binding.SecureContext = function() { const tls = require('tls'); { - common.expectsError( + assert.throws( () => { tls.createSecureContext({ clientCertEngine: 'Cannonmouth' }); }, { code: 'ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED', diff --git a/test/parallel/test-tls-close-event-after-write.js b/test/parallel/test-tls-close-event-after-write.js index 31ebc897b14758..57c79e2e5ab72d 100644 --- a/test/parallel/test-tls-close-event-after-write.js +++ b/test/parallel/test-tls-close-event-after-write.js @@ -12,23 +12,22 @@ const tls = require('tls'); const fixtures = require('../common/fixtures'); let cconn = null; let sconn = null; +let read_len = 0; +const buffer_size = 1024 * 1024; function test() { if (cconn && sconn) { cconn.resume(); sconn.resume(); - sconn.end(Buffer.alloc(1024 * 1024)); - cconn.end(); + sconn.end(Buffer.alloc(buffer_size)); } } const server = tls.createServer({ key: fixtures.readKey('agent1-key.pem'), cert: fixtures.readKey('agent1-cert.pem') -}, function(c) { - c.on('close', function() { - server.close(); - }); +}, (c) => { + c.on('close', common.mustCall(() => server.close())); sconn = c; test(); }).listen(0, common.mustCall(function() { @@ -36,6 +35,12 @@ const server = tls.createServer({ rejectUnauthorized: false }, common.mustCall(function() { cconn = this; + cconn.on('data', (d) => { + read_len += d.length; + if (read_len === buffer_size) { + cconn.end(); + } + }); test(); })); })); diff --git a/test/parallel/test-tls-disable-renegotiation.js b/test/parallel/test-tls-disable-renegotiation.js index 3fd67106226ae6..926e2b8a03e49e 100644 --- a/test/parallel/test-tls-disable-renegotiation.js +++ b/test/parallel/test-tls-disable-renegotiation.js @@ -21,7 +21,7 @@ const options = { const server = tls.Server(options, common.mustCall((socket) => { socket.on('error', common.mustCall((err) => { common.expectsError({ - type: Error, + name: 'Error', code: 'ERR_TLS_RENEGOTIATION_DISABLED', message: 'TLS session renegotiation disabled for this socket' })(err); @@ -50,24 +50,24 @@ server.listen(0, common.mustCall(() => { }; const client = tls.connect(options, common.mustCall(() => { - common.expectsError(() => client.renegotiate(), { + assert.throws(() => client.renegotiate(), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', }); - common.expectsError(() => client.renegotiate(common.mustNotCall()), { + assert.throws(() => client.renegotiate(common.mustNotCall()), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', }); - common.expectsError(() => client.renegotiate({}, false), { + assert.throws(() => client.renegotiate({}, false), { code: 'ERR_INVALID_CALLBACK', - type: TypeError, + name: 'TypeError', }); - common.expectsError(() => client.renegotiate({}, null), { + assert.throws(() => client.renegotiate({}, null), { code: 'ERR_INVALID_CALLBACK', - type: TypeError, + name: 'TypeError', }); diff --git a/test/parallel/test-tls-error-servername.js b/test/parallel/test-tls-error-servername.js index 034b2a57058eda..12e6f89e60fc0f 100644 --- a/test/parallel/test-tls-error-servername.js +++ b/test/parallel/test-tls-error-servername.js @@ -8,6 +8,7 @@ const fixtures = require('../common/fixtures'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const { connect, TLSSocket } = require('tls'); const makeDuplexPair = require('../common/duplexpair'); const { clientSide, serverSide } = makeDuplexPair(); @@ -23,7 +24,7 @@ const client = connect({ }); [undefined, null, 1, true, {}].forEach((value) => { - common.expectsError(() => { + assert.throws(() => { client.setServername(value); }, { code: 'ERR_INVALID_ARG_TYPE', @@ -39,7 +40,7 @@ const server = new TLSSocket(serverSide, { ca }); -common.expectsError(() => { +assert.throws(() => { server.setServername('localhost'); }, { code: 'ERR_TLS_SNI_FROM_SERVER', diff --git a/test/parallel/test-tls-keyengine-invalid-arg-type.js b/test/parallel/test-tls-keyengine-invalid-arg-type.js index d68b40cf0dbac3..72fe526daffa82 100644 --- a/test/parallel/test-tls-keyengine-invalid-arg-type.js +++ b/test/parallel/test-tls-keyengine-invalid-arg-type.js @@ -4,9 +4,10 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const tls = require('tls'); -common.expectsError( +assert.throws( () => { tls.createSecureContext({ privateKeyEngine: 0, privateKeyIdentifier: 'key' }); @@ -14,7 +15,7 @@ common.expectsError( { code: 'ERR_INVALID_ARG_TYPE', message: / Received type number \(0\)$/ }); -common.expectsError( +assert.throws( () => { tls.createSecureContext({ privateKeyEngine: 'engine', privateKeyIdentifier: 0 }); diff --git a/test/parallel/test-tls-keyengine-unsupported.js b/test/parallel/test-tls-keyengine-unsupported.js index 149fc4dc316c7c..5fcfe495d516db 100644 --- a/test/parallel/test-tls-keyengine-unsupported.js +++ b/test/parallel/test-tls-keyengine-unsupported.js @@ -5,6 +5,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); // Monkey-patch SecureContext const { internalBinding } = require('internal/test/binding'); const binding = internalBinding('crypto'); @@ -19,7 +20,7 @@ binding.SecureContext = function() { const tls = require('tls'); { - common.expectsError( + assert.throws( () => { tls.createSecureContext({ privateKeyEngine: 'engine', diff --git a/test/parallel/test-tls-no-cert-required.js b/test/parallel/test-tls-no-cert-required.js index ed24863a2a3c22..b3dcfa516ab502 100644 --- a/test/parallel/test-tls-no-cert-required.js +++ b/test/parallel/test-tls-no-cert-required.js @@ -39,11 +39,11 @@ tls.createServer(assert.fail) tls.createServer({}) .listen(0, common.mustCall(close)); -common.expectsError( +assert.throws( () => tls.createServer('this is not valid'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options" argument must be of type object. ' + "Received type string ('this is not valid')" } diff --git a/test/parallel/test-tls-options-boolean-check.js b/test/parallel/test-tls-options-boolean-check.js index 4caf6215596587..4dae8e47c8ea70 100644 --- a/test/parallel/test-tls-options-boolean-check.js +++ b/test/parallel/test-tls-options-boolean-check.js @@ -6,6 +6,7 @@ const fixtures = require('../common/fixtures'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const tls = require('tls'); function toArrayBuffer(buf) { @@ -81,11 +82,11 @@ const caArrDataView = toDataView(caCert); [true, [certBuff, certBuff2]] ].forEach(([key, cert, index]) => { const val = index === undefined ? key : key[index]; - common.expectsError(() => { + assert.throws(() => { tls.createServer({ key, cert }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.key" property must be of type string or an ' + 'instance of Buffer, TypedArray, or DataView.' + common.invalidArgTypeHelper(val) @@ -107,11 +108,11 @@ const caArrDataView = toDataView(caCert); [[keyStr, keyStr2], true] ].forEach(([key, cert, index]) => { const val = index === undefined ? cert : cert[index]; - common.expectsError(() => { + assert.throws(() => { tls.createServer({ key, cert }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.cert" property must be of type string or an ' + 'instance of Buffer, TypedArray, or DataView.' + common.invalidArgTypeHelper(val) @@ -142,11 +143,11 @@ const caArrDataView = toDataView(caCert); [keyBuff, certBuff, [caCert, true], 1] ].forEach(([key, cert, ca, index]) => { const val = index === undefined ? ca : ca[index]; - common.expectsError(() => { + assert.throws(() => { tls.createServer({ key, cert, ca }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.ca" property must be of type string or an instance' + ' of Buffer, TypedArray, or DataView.' + common.invalidArgTypeHelper(val) diff --git a/test/parallel/test-tls-session-cache.js b/test/parallel/test-tls-session-cache.js index 34c4a71ab2c149..2be093a4f596fc 100644 --- a/test/parallel/test-tls-session-cache.js +++ b/test/parallel/test-tls-session-cache.js @@ -65,7 +65,7 @@ function doTest(testOptions, callback) { throw er; }); ++requestCount; - cleartext.end(); + cleartext.end(''); }); server.on('newSession', function(id, data, cb) { ++newSessionCount; diff --git a/test/parallel/test-trace-events-api-worker-disabled.js b/test/parallel/test-trace-events-api-worker-disabled.js index eb85a5c2aed894..71a6cd29914360 100644 --- a/test/parallel/test-trace-events-api-worker-disabled.js +++ b/test/parallel/test-trace-events-api-worker-disabled.js @@ -6,5 +6,5 @@ const { Worker } = require('worker_threads'); new Worker("require('trace_events')", { eval: true }) .on('error', common.expectsError({ code: 'ERR_TRACE_EVENTS_UNAVAILABLE', - type: Error + name: 'Error' })); diff --git a/test/parallel/test-trace-events-api.js b/test/parallel/test-trace-events-api.js index 40fc661879b6fc..676e7f31e13710 100644 --- a/test/parallel/test-trace-events-api.js +++ b/test/parallel/test-trace-events-api.js @@ -35,21 +35,21 @@ const enabledCategories = getEnabledCategoriesFromCommandLine(); assert.strictEqual(getEnabledCategories(), enabledCategories); [1, 'foo', true, false, null, undefined].forEach((i) => { - common.expectsError(() => createTracing(i), { + assert.throws(() => createTracing(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); - common.expectsError(() => createTracing({ categories: i }), { + assert.throws(() => createTracing({ categories: i }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); }); -common.expectsError( +assert.throws( () => createTracing({ categories: [] }), { code: 'ERR_TRACE_EVENTS_CATEGORY_REQUIRED', - type: TypeError + name: 'TypeError' } ); diff --git a/test/parallel/test-url-format-invalid-input.js b/test/parallel/test-url-format-invalid-input.js index 5ba3b0bb4bf2ee..99a35b76f08e72 100644 --- a/test/parallel/test-url-format-invalid-input.js +++ b/test/parallel/test-url-format-invalid-input.js @@ -14,11 +14,11 @@ const throwsObjsAndReportTypes = [ ]; for (const urlObject of throwsObjsAndReportTypes) { - common.expectsError(function() { + assert.throws(() => { url.format(urlObject); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "urlObject" argument must be one of type object or string.' + common.invalidArgTypeHelper(urlObject) }); diff --git a/test/parallel/test-url-parse-invalid-input.js b/test/parallel/test-url-parse-invalid-input.js index bfbd6636298b15..ff63e91ecda2ab 100644 --- a/test/parallel/test-url-parse-invalid-input.js +++ b/test/parallel/test-url-parse-invalid-input.js @@ -16,11 +16,11 @@ const url = require('url'); [() => {}, 'function'], [Symbol('foo'), 'symbol'] ].forEach(([val, type]) => { - common.expectsError(() => { + assert.throws(() => { url.parse(val); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "url" argument must be of type string.' + common.invalidArgTypeHelper(val) }); diff --git a/test/parallel/test-util-callbackify.js b/test/parallel/test-util-callbackify.js index 7bb964b270ee2d..eb2b3a383b9a53 100644 --- a/test/parallel/test-util-callbackify.js +++ b/test/parallel/test-util-callbackify.js @@ -255,11 +255,11 @@ const values = [ { // Verify that non-function inputs throw. ['foo', null, undefined, false, 0, {}, Symbol(), []].forEach((value) => { - common.expectsError(() => { + assert.throws(() => { callbackify(value); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "original" argument must be of type function.' + common.invalidArgTypeHelper(value) }); @@ -277,11 +277,11 @@ const values = [ // Verify that the last argument to the callbackified function is a function. ['foo', null, undefined, false, 0, {}, Symbol(), []].forEach((value) => { args.push(value); - common.expectsError(() => { + assert.throws(() => { cb(...args); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The last argument must be of type function.' + common.invalidArgTypeHelper(value) }); diff --git a/test/parallel/test-util-deprecate-invalid-code.js b/test/parallel/test-util-deprecate-invalid-code.js index 29758556f19e75..7e68c18817c0ca 100644 --- a/test/parallel/test-util-deprecate-invalid-code.js +++ b/test/parallel/test-util-deprecate-invalid-code.js @@ -1,12 +1,13 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const util = require('util'); [1, true, false, null, {}].forEach((notString) => { - common.expectsError(() => util.deprecate(() => {}, 'message', notString), { + assert.throws(() => util.deprecate(() => {}, 'message', notString), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "code" argument must be of type string.' + common.invalidArgTypeHelper(notString) }); diff --git a/test/parallel/test-util-inherits.js b/test/parallel/test-util-inherits.js index a190c8d8864a19..1729b1734d03db 100644 --- a/test/parallel/test-util-inherits.js +++ b/test/parallel/test-util-inherits.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const { inherits } = require('util'); @@ -83,28 +83,28 @@ assert.strictEqual(e.e(), 'e'); assert.strictEqual(e.constructor, E); // Should throw with invalid arguments -common.expectsError(function() { +assert.throws(() => { inherits(A, {}); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "superCtor.prototype" property must be of type object. ' + 'Received undefined' }); -common.expectsError(function() { +assert.throws(() => { inherits(A, null); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "superCtor" argument must be of type function. ' + 'Received null' }); -common.expectsError(function() { +assert.throws(() => { inherits(null, A); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "ctor" argument must be of type function. Received null' }); diff --git a/test/parallel/test-util-inspect.js b/test/parallel/test-util-inspect.js index b1cd48a6a83c03..e1a0b7c011965c 100644 --- a/test/parallel/test-util-inspect.js +++ b/test/parallel/test-util-inspect.js @@ -311,6 +311,12 @@ assert(!/Object/.test( ); }); +{ + const brokenLength = new Float32Array(2); + Object.defineProperty(brokenLength, 'length', { value: -1 }); + assert.strictEqual(inspect(brokenLength), 'Float32Array(2) [ 0n, 0n ]'); +} + assert.strictEqual( util.inspect(Object.create({}, { visible: { value: 1, enumerable: true }, @@ -1441,21 +1447,21 @@ if (typeof Symbol !== 'undefined') { JSON.stringify(oldOptions) ); - common.expectsError(() => { + assert.throws(() => { util.inspect.defaultOptions = null; }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options" argument must be of type object. ' + 'Received null' } ); - common.expectsError(() => { + assert.throws(() => { util.inspect.defaultOptions = 'bad'; }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options" argument must be of type object. ' + "Received type string ('bad')" } @@ -2696,3 +2702,28 @@ assert.strictEqual( '\x1B[2mdef: \x1B[33m5\x1B[39m\x1B[22m }' ); } + +// Test changing util.inspect.colors colors and aliases. +{ + const colors = util.inspect.colors; + + const originalValue = colors.gray; + + // "grey" is reference-equal alias of "gray". + assert.strictEqual(colors.grey, colors.gray); + + // Assigninging one should assign the other. This tests that the alias setter + // function keeps things reference-equal. + colors.gray = [0, 0]; + assert.deepStrictEqual(colors.gray, [0, 0]); + assert.strictEqual(colors.grey, colors.gray); + + colors.grey = [1, 1]; + assert.deepStrictEqual(colors.grey, [1, 1]); + assert.strictEqual(colors.grey, colors.gray); + + // Restore original value to avoid side effects in other tests. + colors.gray = originalValue; + assert.deepStrictEqual(colors.gray, originalValue); + assert.strictEqual(colors.grey, colors.gray); +} diff --git a/test/parallel/test-util-promisify.js b/test/parallel/test-util-promisify.js index 8b91deba3aa374..c18f454d2f77ef 100644 --- a/test/parallel/test-util-promisify.js +++ b/test/parallel/test-util-promisify.js @@ -33,12 +33,27 @@ const stat = promisify(fs.stat); assert.strictEqual(promisify(promisify(fn)), promisifedFn); } +{ + function fn() {} + + function promisifiedFn() {} + + // util.promisify.custom is a shared symbol which can be accessed + // as `Symbol.for("nodejs.util.promisify.custom")`. + const kCustomPromisifiedSymbol = Symbol.for('nodejs.util.promisify.custom'); + fn[kCustomPromisifiedSymbol] = promisifiedFn; + + assert.strictEqual(kCustomPromisifiedSymbol, promisify.custom); + assert.strictEqual(promisify(fn), promisifiedFn); + assert.strictEqual(promisify(promisify(fn)), promisifiedFn); +} + { function fn() {} fn[promisify.custom] = 42; - common.expectsError( + assert.throws( () => promisify(fn), - { code: 'ERR_INVALID_ARG_TYPE', type: TypeError } + { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError' } ); } @@ -185,11 +200,11 @@ const stat = promisify(fs.stat); } [undefined, null, true, 0, 'str', {}, [], Symbol()].forEach((input) => { - common.expectsError( + assert.throws( () => promisify(input), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "original" argument must be of type function.' + common.invalidArgTypeHelper(input) }); diff --git a/test/parallel/test-uv-errno.js b/test/parallel/test-uv-errno.js index ccada53f29b581..d1615e87c56615 100644 --- a/test/parallel/test-uv-errno.js +++ b/test/parallel/test-uv-errno.js @@ -26,22 +26,22 @@ keys.forEach((key) => { function runTest(fn) { ['test', {}, []].forEach((err) => { - common.expectsError( + assert.throws( () => fn(err), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "err" argument must be of type number.' + common.invalidArgTypeHelper(err) }); }); [0, 1, Infinity, -Infinity, NaN].forEach((err) => { - common.expectsError( + assert.throws( () => fn(err), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "err" is out of range. ' + 'It must be a negative integer. ' + `Received ${err}` diff --git a/test/parallel/test-v8-flag-type-check.js b/test/parallel/test-v8-flag-type-check.js index 51f485f543f784..e46c09b79725c7 100644 --- a/test/parallel/test-v8-flag-type-check.js +++ b/test/parallel/test-v8-flag-type-check.js @@ -1,13 +1,14 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const v8 = require('v8'); [1, undefined].forEach((value) => { - common.expectsError( + assert.throws( () => v8.setFlagsFromString(value), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "flags" argument must be of type string.' + common.invalidArgTypeHelper(value) } diff --git a/test/parallel/test-vm-basic.js b/test/parallel/test-vm-basic.js index e530f671968cfa..c6dadce9ad0263 100644 --- a/test/parallel/test-vm-basic.js +++ b/test/parallel/test-vm-basic.js @@ -97,33 +97,33 @@ const vm = require('vm'); // Invalid arguments [null, 'string'].forEach((input) => { - common.expectsError(() => { + assert.throws(() => { vm.createContext({}, input); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options" argument must be of type object.' + common.invalidArgTypeHelper(input) }); }); ['name', 'origin'].forEach((propertyName) => { - common.expectsError(() => { + assert.throws(() => { vm.createContext({}, { [propertyName]: null }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: `The "options.${propertyName}" property must be of type string. ` + 'Received null' }); }); ['contextName', 'contextOrigin'].forEach((propertyName) => { - common.expectsError(() => { + assert.throws(() => { vm.runInNewContext('', {}, { [propertyName]: null }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: `The "options.${propertyName}" property must be of type string. ` + 'Received null' }); @@ -146,18 +146,18 @@ const vm = require('vm'); vm.compileFunction('return'); // Should not throw on 'return' - common.expectsError(() => { + assert.throws(() => { vm.compileFunction( '});\n\n(function() {\nconsole.log(1);\n})();\n\n(function() {' ); }, { - type: SyntaxError, + name: 'SyntaxError', message: "Unexpected token '}'" }); // Tests for failed argument validation - common.expectsError(() => vm.compileFunction(), { - type: TypeError, + assert.throws(() => vm.compileFunction(), { + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "code" argument must be of type string. ' + 'Received undefined' @@ -165,8 +165,8 @@ const vm = require('vm'); vm.compileFunction(''); // Should pass without params or options - common.expectsError(() => vm.compileFunction('', null), { - type: TypeError, + assert.throws(() => vm.compileFunction('', null), { + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "params" argument must be an instance of Array. ' + 'Received null' @@ -185,10 +185,10 @@ const vm = require('vm'); for (const option in optionTypes) { const typeErrorMessage = `The "options.${option}" property must be ` + (option === 'cachedData' ? 'an instance of' : 'of type'); - common.expectsError(() => { + assert.throws(() => { vm.compileFunction('', undefined, { [option]: null }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: typeErrorMessage + ` ${optionTypes[option]}. Received null` @@ -198,10 +198,10 @@ const vm = require('vm'); // Testing for context-based failures [Boolean(), Number(), null, String(), Symbol(), {}].forEach( (value) => { - common.expectsError(() => { + assert.throws(() => { vm.compileFunction('', undefined, { parsingContext: value }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "options.parsingContext" property must be an instance ' + `of Context.${common.invalidArgTypeHelper(value)}` @@ -212,10 +212,10 @@ const vm = require('vm'); // Testing for non Array type-based failures [Boolean(), Number(), null, Object(), Symbol(), {}].forEach( (value) => { - common.expectsError(() => { + assert.throws(() => { vm.compileFunction('', value); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "params" argument must be an instance of Array.' + common.invalidArgTypeHelper(value) @@ -232,19 +232,19 @@ const vm = require('vm'); 5 ); - common.expectsError(() => { + assert.throws(() => { vm.compileFunction('', undefined, { contextExtensions: null }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "options.contextExtensions" property must be an instance of' + ' Array. Received null' }); - common.expectsError(() => { + assert.throws(() => { vm.compileFunction('', undefined, { contextExtensions: [0] }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "options.contextExtensions[0]" property must be of type ' + 'object. Received type number (0)' @@ -254,14 +254,14 @@ const vm = require('vm'); // Setting value to run the last three tests Error.stackTraceLimit = 1; - common.expectsError(() => { + assert.throws(() => { vm.compileFunction('throw new Error("Sample Error")')(); }, { message: 'Sample Error', stack: 'Error: Sample Error\n at :1:7' }); - common.expectsError(() => { + assert.throws(() => { vm.compileFunction( 'throw new Error("Sample Error")', [], @@ -272,7 +272,7 @@ const vm = require('vm'); stack: 'Error: Sample Error\n at :4:7' }); - common.expectsError(() => { + assert.throws(() => { vm.compileFunction( 'throw new Error("Sample Error")', [], @@ -294,7 +294,7 @@ const vm = require('vm'); 'abc' ); - common.expectsError(() => { + assert.throws(() => { vm.compileFunction( 'return varInContext', [] diff --git a/test/parallel/test-vm-cached-data.js b/test/parallel/test-vm-cached-data.js index dbf369bf81c455..a9f1293647278e 100644 --- a/test/parallel/test-vm-cached-data.js +++ b/test/parallel/test-vm-cached-data.js @@ -86,12 +86,12 @@ function testRejectSlice() { testRejectSlice(); // It should throw on non-Buffer cachedData -common.expectsError(() => { +assert.throws(() => { new vm.Script('function abc() {}', { cachedData: 'ohai' }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: /must be an instance of Buffer, TypedArray, or DataView/ }); diff --git a/test/parallel/test-vm-codegen.js b/test/parallel/test-vm-codegen.js index 0136e143abd1d2..90b37c741a1c68 100644 --- a/test/parallel/test-vm-codegen.js +++ b/test/parallel/test-vm-codegen.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const { createContext, runInContext, runInNewContext } = require('vm'); @@ -64,7 +64,7 @@ assert.throws(() => { name: 'CompileError' }); -common.expectsError(() => { +assert.throws(() => { createContext({}, { codeGeneration: { strings: 0, @@ -74,7 +74,7 @@ common.expectsError(() => { code: 'ERR_INVALID_ARG_TYPE', }); -common.expectsError(() => { +assert.throws(() => { runInNewContext('eval("x")', {}, { contextCodeGeneration: { wasm: 1, @@ -84,7 +84,7 @@ common.expectsError(() => { code: 'ERR_INVALID_ARG_TYPE' }); -common.expectsError(() => { +assert.throws(() => { createContext({}, { codeGeneration: 1, }); @@ -92,7 +92,7 @@ common.expectsError(() => { code: 'ERR_INVALID_ARG_TYPE', }); -common.expectsError(() => { +assert.throws(() => { createContext({}, { codeGeneration: null, }); diff --git a/test/parallel/test-vm-context.js b/test/parallel/test-vm-context.js index edb66908f10145..247b8a17cc675e 100644 --- a/test/parallel/test-vm-context.js +++ b/test/parallel/test-vm-context.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const vm = require('vm'); @@ -44,11 +44,11 @@ assert.strictEqual(context.foo, 3); assert.strictEqual(context.thing, 'lala'); // Issue GH-227: -common.expectsError(() => { +assert.throws(() => { vm.runInNewContext('', null, 'some.js'); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); // Issue GH-1140: @@ -66,12 +66,12 @@ assert.strictEqual(gh1140Exception.toString(), 'Error'); const nonContextualObjectError = { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: /must be of type object/ }; const contextifiedObjectError = { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: /The "contextifiedObject" argument must be an vm\.Context/ }; @@ -84,8 +84,8 @@ const contextifiedObjectError = { [{}, contextifiedObjectError], [[], contextifiedObjectError] ].forEach((e) => { - common.expectsError(() => { script.runInContext(e[0]); }, e[1]); - common.expectsError(() => { vm.runInContext('', e[0]); }, e[1]); + assert.throws(() => { script.runInContext(e[0]); }, e[1]); + assert.throws(() => { vm.runInContext('', e[0]); }, e[1]); }); // Issue GH-693: diff --git a/test/parallel/test-vm-create-context-arg.js b/test/parallel/test-vm-create-context-arg.js index d9e017d0f9173a..c07079cb6c3e72 100644 --- a/test/parallel/test-vm-create-context-arg.js +++ b/test/parallel/test-vm-create-context-arg.js @@ -20,14 +20,15 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const vm = require('vm'); -common.expectsError(() => { +assert.throws(() => { vm.createContext('string is not supported'); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); // Should not throw. diff --git a/test/parallel/test-vm-is-context.js b/test/parallel/test-vm-is-context.js index 2749a14834b295..a47bee7c599c6b 100644 --- a/test/parallel/test-vm-is-context.js +++ b/test/parallel/test-vm-is-context.js @@ -20,18 +20,18 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const vm = require('vm'); for (const valToTest of [ 'string', null, undefined, 8.9, Symbol('sym'), true ]) { - common.expectsError(() => { + assert.throws(() => { vm.isContext(valToTest); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); } diff --git a/test/parallel/test-vm-module-basic.js b/test/parallel/test-vm-module-basic.js index d45147cefd1f72..86e13f8b12bfa8 100644 --- a/test/parallel/test-vm-module-basic.js +++ b/test/parallel/test-vm-module-basic.js @@ -115,35 +115,35 @@ const util = require('util'); // Check the impossibility of creating an abstract instance of the Module. { - common.expectsError(() => new Module(), { + assert.throws(() => new Module(), { message: 'Module is not a constructor', - type: TypeError + name: 'TypeError' }); } // Check to throws invalid exportNames { - common.expectsError(() => new SyntheticModule(undefined, () => {}, {}), { + assert.throws(() => new SyntheticModule(undefined, () => {}, {}), { message: 'The "exportNames" argument must be an Array of strings.' + ' Received undefined', - type: TypeError + name: 'TypeError' }); } // Check to throws invalid evaluateCallback { - common.expectsError(() => new SyntheticModule([], undefined, {}), { + assert.throws(() => new SyntheticModule([], undefined, {}), { message: 'The "evaluateCallback" argument must be of type function.' + ' Received undefined', - type: TypeError + name: 'TypeError' }); } // Check to throws invalid options { - common.expectsError(() => new SyntheticModule([], () => {}, null), { + assert.throws(() => new SyntheticModule([], () => {}, null), { message: 'The "options" argument must be of type object.' + ' Received null', - type: TypeError + name: 'TypeError' }); } diff --git a/test/parallel/test-vm-module-errors.js b/test/parallel/test-vm-module-errors.js index a76666c02835d0..5f36f9339fe41a 100644 --- a/test/parallel/test-vm-module-errors.js +++ b/test/parallel/test-vm-module-errors.js @@ -15,22 +15,22 @@ async function createEmptyLinkedModule() { } async function checkArgType() { - common.expectsError(() => { + assert.throws(() => { new SourceTextModule(); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); for (const invalidOptions of [ 0, 1, null, true, 'str', () => {}, { identifier: 0 }, Symbol.iterator, { context: null }, { context: 'hucairz' }, { context: {} } ]) { - common.expectsError(() => { + assert.throws(() => { new SourceTextModule('', invalidOptions); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); } @@ -84,7 +84,7 @@ async function checkModuleState() { 'Received type boolean (false)' }); - common.expectsError(() => { + assert.throws(() => { const m = new SourceTextModule(''); m.error; }, { @@ -101,7 +101,7 @@ async function checkModuleState() { message: 'Module status must be errored' }); - common.expectsError(() => { + assert.throws(() => { const m = new SourceTextModule(''); m.namespace; }, { @@ -156,13 +156,13 @@ async function checkLinking() { }); } -common.expectsError(() => { +assert.throws(() => { new SourceTextModule('', { importModuleDynamically: 'hucairz' }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.importModuleDynamically" property must be of type ' + "function. Received type string ('hucairz')" }); diff --git a/test/parallel/test-vm-module-import-meta.js b/test/parallel/test-vm-module-import-meta.js index 1db4467b085752..0f86f2fa646914 100644 --- a/test/parallel/test-vm-module-import-meta.js +++ b/test/parallel/test-vm-module-import-meta.js @@ -25,13 +25,13 @@ async function testInvalid() { for (const invalidValue of [ null, {}, 0, Symbol.iterator, [], 'string', false ]) { - common.expectsError(() => { + assert.throws(() => { new SourceTextModule('', { initializeImportMeta: invalidValue }); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); } } diff --git a/test/parallel/test-vm-options-validation.js b/test/parallel/test-vm-options-validation.js index 67a27d58fff805..1d02f8eb90bfaf 100644 --- a/test/parallel/test-vm-options-validation.js +++ b/test/parallel/test-vm-options-validation.js @@ -1,60 +1,61 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const vm = require('vm'); const invalidArgType = { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE' }; const outOfRange = { - type: RangeError, + name: 'RangeError', code: 'ERR_OUT_OF_RANGE' }; -common.expectsError(() => { +assert.throws(() => { new vm.Script('void 0', 42); }, invalidArgType); [null, {}, [1], 'bad', true].forEach((value) => { - common.expectsError(() => { + assert.throws(() => { new vm.Script('void 0', { lineOffset: value }); }, invalidArgType); - common.expectsError(() => { + assert.throws(() => { new vm.Script('void 0', { columnOffset: value }); }, invalidArgType); }); [0.1, 2 ** 32].forEach((value) => { - common.expectsError(() => { + assert.throws(() => { new vm.Script('void 0', { lineOffset: value }); }, outOfRange); - common.expectsError(() => { + assert.throws(() => { new vm.Script('void 0', { columnOffset: value }); }, outOfRange); }); -common.expectsError(() => { +assert.throws(() => { new vm.Script('void 0', { lineOffset: Number.MAX_SAFE_INTEGER }); }, outOfRange); -common.expectsError(() => { +assert.throws(() => { new vm.Script('void 0', { columnOffset: Number.MAX_SAFE_INTEGER }); }, outOfRange); -common.expectsError(() => { +assert.throws(() => { new vm.Script('void 0', { filename: 123 }); }, invalidArgType); -common.expectsError(() => { +assert.throws(() => { new vm.Script('void 0', { produceCachedData: 1 }); }, invalidArgType); [[0], {}, true, 'bad', 42].forEach((value) => { - common.expectsError(() => { + assert.throws(() => { new vm.Script('void 0', { cachedData: value }); }, invalidArgType); }); @@ -64,15 +65,15 @@ common.expectsError(() => { const sandbox = vm.createContext(); function assertErrors(options, errCheck) { - common.expectsError(() => { + assert.throws(() => { script.runInThisContext(options); }, errCheck); - common.expectsError(() => { + assert.throws(() => { script.runInContext(sandbox, options); }, errCheck); - common.expectsError(() => { + assert.throws(() => { script.runInNewContext({}, options); }, errCheck); } diff --git a/test/parallel/test-vm-sigint-existing-handler.js b/test/parallel/test-vm-sigint-existing-handler.js index 13fccd9637c7fb..c6072d29d854cc 100644 --- a/test/parallel/test-vm-sigint-existing-handler.js +++ b/test/parallel/test-vm-sigint-existing-handler.js @@ -36,7 +36,7 @@ if (process.argv[2] === 'child') { []; const options = { breakOnSigint: true }; - common.expectsError( + assert.throws( () => { vm[method](script, ...args, options); }, { code: 'ERR_SCRIPT_EXECUTION_INTERRUPTED', diff --git a/test/parallel/test-vm-sigint.js b/test/parallel/test-vm-sigint.js index 0fecfbace68049..66f22ba8789505 100644 --- a/test/parallel/test-vm-sigint.js +++ b/test/parallel/test-vm-sigint.js @@ -24,7 +24,7 @@ if (process.argv[2] === 'child') { for (let i = 0; i < listeners; i++) process.on('SIGINT', common.mustNotCall()); - common.expectsError( + assert.throws( () => { vm[method](script, ...args, options); }, { code: 'ERR_SCRIPT_EXECUTION_INTERRUPTED', diff --git a/test/parallel/test-whatwg-encoding-custom-fatal-streaming.js b/test/parallel/test-whatwg-encoding-custom-fatal-streaming.js index 50e054c08cade8..aed0f14ef7fcae 100644 --- a/test/parallel/test-whatwg-encoding-custom-fatal-streaming.js +++ b/test/parallel/test-whatwg-encoding-custom-fatal-streaming.js @@ -4,6 +4,7 @@ // With the twist that we specifically test for Node.js error codes const common = require('../common'); +const assert = require('assert'); if (!common.hasIntl) common.skip('missing Intl'); @@ -15,13 +16,13 @@ if (!common.hasIntl) { encoding: 'utf-16be', sequence: [0x00] } ].forEach((testCase) => { const data = new Uint8Array([testCase.sequence]); - common.expectsError( + assert.throws( () => { const decoder = new TextDecoder(testCase.encoding, { fatal: true }); decoder.decode(data); }, { code: 'ERR_ENCODING_INVALID_ENCODED_DATA', - type: TypeError, + name: 'TypeError', message: `The encoded data was not valid for encoding ${testCase.encoding}` } @@ -34,25 +35,25 @@ if (!common.hasIntl) const odd = new Uint8Array([0x00]); const even = new Uint8Array([0x00, 0x00]); - common.expectsError( + assert.throws( () => { decoder.decode(even, { stream: true }); decoder.decode(odd); }, { code: 'ERR_ENCODING_INVALID_ENCODED_DATA', - type: TypeError, + name: 'TypeError', message: 'The encoded data was not valid for encoding utf-16le' } ); - common.expectsError( + assert.throws( () => { decoder.decode(odd, { stream: true }); decoder.decode(even); }, { code: 'ERR_ENCODING_INVALID_ENCODED_DATA', - type: TypeError, + name: 'TypeError', message: 'The encoded data was not valid for encoding utf-16le' } diff --git a/test/parallel/test-whatwg-encoding-custom-interop.js b/test/parallel/test-whatwg-encoding-custom-interop.js index 0ea732a03d765b..592dcc8582816f 100644 --- a/test/parallel/test-whatwg-encoding-custom-interop.js +++ b/test/parallel/test-whatwg-encoding-custom-interop.js @@ -5,7 +5,7 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const { customInspectSymbol: inspect } = require('internal/util'); @@ -47,7 +47,7 @@ assert(TextEncoder); const expectedError = { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type TextEncoder' }; @@ -57,8 +57,8 @@ assert(TextEncoder); const invalidThisArgs = [{}, [], true, 1, '', new TextDecoder()]; invalidThisArgs.forEach((i) => { - common.expectsError(() => inspectFn.call(i, Infinity, {}), expectedError); - common.expectsError(() => encodeFn.call(i), expectedError); - common.expectsError(() => encodingGetter.call(i), expectedError); + assert.throws(() => inspectFn.call(i, Infinity, {}), expectedError); + assert.throws(() => encodeFn.call(i), expectedError); + assert.throws(() => encodingGetter.call(i), expectedError); }); } diff --git a/test/parallel/test-whatwg-encoding-custom-textdecoder-api-invalid-label.js b/test/parallel/test-whatwg-encoding-custom-textdecoder-api-invalid-label.js index aabd3fe5c4de5d..3323f5b3d126f4 100644 --- a/test/parallel/test-whatwg-encoding-custom-textdecoder-api-invalid-label.js +++ b/test/parallel/test-whatwg-encoding-custom-textdecoder-api-invalid-label.js @@ -2,7 +2,8 @@ // From: https://github.com/w3c/web-platform-tests/blob/master/encoding/api-invalid-label.html // With the twist that we specifically test for Node.js error codes -const common = require('../common'); +require('../common'); +const assert = require('assert'); [ 'utf-8', @@ -13,27 +14,27 @@ const common = require('../common'); 'utf-16' ].forEach((i) => { ['\u0000', '\u000b', '\u00a0', '\u2028', '\u2029'].forEach((ws) => { - common.expectsError( + assert.throws( () => new TextDecoder(`${ws}${i}`), { code: 'ERR_ENCODING_NOT_SUPPORTED', - type: RangeError + name: 'RangeError' } ); - common.expectsError( + assert.throws( () => new TextDecoder(`${i}${ws}`), { code: 'ERR_ENCODING_NOT_SUPPORTED', - type: RangeError + name: 'RangeError' } ); - common.expectsError( + assert.throws( () => new TextDecoder(`${ws}${i}${ws}`), { code: 'ERR_ENCODING_NOT_SUPPORTED', - type: RangeError + name: 'RangeError' } ); }); diff --git a/test/parallel/test-whatwg-encoding-custom-textdecoder-fatal.js b/test/parallel/test-whatwg-encoding-custom-textdecoder-fatal.js index 08406386a1a253..8778fa018efa39 100644 --- a/test/parallel/test-whatwg-encoding-custom-textdecoder-fatal.js +++ b/test/parallel/test-whatwg-encoding-custom-textdecoder-fatal.js @@ -8,6 +8,8 @@ const common = require('../common'); if (!common.hasIntl) common.skip('missing Intl'); +const assert = require('assert'); + const bad = [ { encoding: 'utf-8', input: [0xFF], name: 'invalid code' }, { encoding: 'utf-8', input: [0xC0], name: 'ends early' }, @@ -70,13 +72,13 @@ const bad = [ ]; bad.forEach((t) => { - common.expectsError( + assert.throws( () => { new TextDecoder(t.encoding, { fatal: true }) .decode(new Uint8Array(t.input)); }, { code: 'ERR_ENCODING_INVALID_ENCODED_DATA', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-whatwg-encoding-custom-textdecoder-invalid-arg.js b/test/parallel/test-whatwg-encoding-custom-textdecoder-invalid-arg.js index a2b56ad9577271..5c8a9837f68f3b 100644 --- a/test/parallel/test-whatwg-encoding-custom-textdecoder-invalid-arg.js +++ b/test/parallel/test-whatwg-encoding-custom-textdecoder-invalid-arg.js @@ -3,16 +3,17 @@ // This tests that ERR_INVALID_ARG_TYPE are thrown when // invalid arguments are passed to TextDecoder. -const common = require('../common'); +require('../common'); +const assert = require('assert'); { const notArrayBufferViewExamples = [false, {}, 1, '', new Error()]; notArrayBufferViewExamples.forEach((invalidInputType) => { - common.expectsError(() => { + assert.throws(() => { new TextDecoder(undefined, null).decode(invalidInputType); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); }); } diff --git a/test/parallel/test-whatwg-encoding-custom-textdecoder-utf16-surrogates.js b/test/parallel/test-whatwg-encoding-custom-textdecoder-utf16-surrogates.js index bba10fbd2279a2..f4d9ef8d42dced 100644 --- a/test/parallel/test-whatwg-encoding-custom-textdecoder-utf16-surrogates.js +++ b/test/parallel/test-whatwg-encoding-custom-textdecoder-utf16-surrogates.js @@ -8,6 +8,8 @@ const common = require('../common'); if (!common.hasIntl) common.skip('missing Intl'); +const assert = require('assert'); + const bad = [ { encoding: 'utf-16le', @@ -42,13 +44,13 @@ const bad = [ ]; bad.forEach((t) => { - common.expectsError( + assert.throws( () => { new TextDecoder(t.encoding, { fatal: true }) .decode(new Uint8Array(t.input)); }, { code: 'ERR_ENCODING_INVALID_ENCODED_DATA', - type: TypeError + name: 'TypeError' } ); }); diff --git a/test/parallel/test-whatwg-encoding-custom-textdecoder.js b/test/parallel/test-whatwg-encoding-custom-textdecoder.js index c475d94dc7acd1..1430a0daa8eabb 100644 --- a/test/parallel/test-whatwg-encoding-custom-textdecoder.js +++ b/test/parallel/test-whatwg-encoding-custom-textdecoder.js @@ -55,13 +55,13 @@ assert(TextDecoder); if (common.hasIntl) { ['unicode-1-1-utf-8', 'utf8', 'utf-8'].forEach((i) => { const dec = new TextDecoder(i, { fatal: true }); - common.expectsError(() => dec.decode(buf.slice(0, 8)), - { - code: 'ERR_ENCODING_INVALID_ENCODED_DATA', - type: TypeError, - message: 'The encoded data was not valid ' + + assert.throws(() => dec.decode(buf.slice(0, 8)), + { + code: 'ERR_ENCODING_INVALID_ENCODED_DATA', + name: 'TypeError', + message: 'The encoded data was not valid ' + 'for encoding utf-8' - }); + }); }); ['unicode-1-1-utf-8', 'utf8', 'utf-8'].forEach((i) => { @@ -70,11 +70,11 @@ if (common.hasIntl) { dec.decode(buf.slice(8)); }); } else { - common.expectsError( + assert.throws( () => new TextDecoder('utf-8', { fatal: true }), { code: 'ERR_NO_ICU', - type: TypeError, + name: 'TypeError', message: '"fatal" option is not supported on Node.js compiled without ICU' }); } @@ -159,7 +159,7 @@ if (common.hasIntl) { const expectedError = { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type TextDecoder' }; @@ -171,20 +171,20 @@ if (common.hasIntl) { const invalidThisArgs = [{}, [], true, 1, '', new TextEncoder()]; invalidThisArgs.forEach((i) => { - common.expectsError(() => inspectFn.call(i, Infinity, {}), expectedError); - common.expectsError(() => decodeFn.call(i), expectedError); - common.expectsError(() => encodingGetter.call(i), expectedError); - common.expectsError(() => fatalGetter.call(i), expectedError); - common.expectsError(() => ignoreBOMGetter.call(i), expectedError); + assert.throws(() => inspectFn.call(i, Infinity, {}), expectedError); + assert.throws(() => decodeFn.call(i), expectedError); + assert.throws(() => encodingGetter.call(i), expectedError); + assert.throws(() => fatalGetter.call(i), expectedError); + assert.throws(() => ignoreBOMGetter.call(i), expectedError); }); } { - common.expectsError( + assert.throws( () => new TextDecoder('utf-8', 1), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' } ); } diff --git a/test/parallel/test-whatwg-url-custom-domainto.js b/test/parallel/test-whatwg-url-custom-domainto.js index 9677d84286ebe4..b7458d7a8e1a86 100644 --- a/test/parallel/test-whatwg-url-custom-domainto.js +++ b/test/parallel/test-whatwg-url-custom-domainto.js @@ -17,8 +17,7 @@ const wptToASCIITests = require( ); { - const expectedError = common.expectsError( - { code: 'ERR_MISSING_ARGS', type: TypeError }, 2); + const expectedError = { code: 'ERR_MISSING_ARGS', name: 'TypeError' }; assert.throws(() => domainToASCII(), expectedError); assert.throws(() => domainToUnicode(), expectedError); assert.strictEqual(domainToASCII(undefined), 'undefined'); diff --git a/test/parallel/test-whatwg-url-custom-href-side-effect.js b/test/parallel/test-whatwg-url-custom-href-side-effect.js index f161f6bbe9546e..30967d9feaef54 100644 --- a/test/parallel/test-whatwg-url-custom-href-side-effect.js +++ b/test/parallel/test-whatwg-url-custom-href-side-effect.js @@ -1,15 +1,15 @@ 'use strict'; // Tests below are not from WPT. -const common = require('../common'); +require('../common'); const assert = require('assert'); const ref = new URL('http://example.com/path'); const url = new URL('http://example.com/path'); -common.expectsError(() => { +assert.throws(() => { url.href = ''; }, { - type: TypeError + name: 'TypeError' }); assert.deepStrictEqual(url, ref); diff --git a/test/parallel/test-whatwg-url-custom-parsing.js b/test/parallel/test-whatwg-url-custom-parsing.js index e83cc00536f712..2799a9caef3efe 100644 --- a/test/parallel/test-whatwg-url-custom-parsing.js +++ b/test/parallel/test-whatwg-url-custom-parsing.js @@ -49,14 +49,13 @@ const failureTests = originalFailures .concat(typeFailures) .concat(aboutBlankFailures); -const expectedError = common.expectsError( - { code: 'ERR_INVALID_URL', type: TypeError }, failureTests.length); +const expectedError = { code: 'ERR_INVALID_URL', name: 'TypeError' }; for (const test of failureTests) { assert.throws( () => new URL(test.input, test.base), (error) => { - expectedError(error); + assert.throws(() => { throw error; }, expectedError); // The input could be processed, so we don't do strict matching here let match; diff --git a/test/parallel/test-whatwg-url-custom-searchparams-append.js b/test/parallel/test-whatwg-url-custom-searchparams-append.js index e5d3f203588c60..cf93950ebd514c 100644 --- a/test/parallel/test-whatwg-url-custom-searchparams-append.js +++ b/test/parallel/test-whatwg-url-custom-searchparams-append.js @@ -2,24 +2,24 @@ // Tests below are not from WPT. -const common = require('../common'); +require('../common'); const assert = require('assert'); const URLSearchParams = require('url').URLSearchParams; { const params = new URLSearchParams(); - common.expectsError(() => { + assert.throws(() => { params.append.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParams' }); - common.expectsError(() => { + assert.throws(() => { params.append('a'); }, { code: 'ERR_MISSING_ARGS', - type: TypeError, + name: 'TypeError', message: 'The "name" and "value" arguments must be specified' }); diff --git a/test/parallel/test-whatwg-url-custom-searchparams-constructor.js b/test/parallel/test-whatwg-url-custom-searchparams-constructor.js index fd7cc511279033..ab065814179d3f 100644 --- a/test/parallel/test-whatwg-url-custom-searchparams-constructor.js +++ b/test/parallel/test-whatwg-url-custom-searchparams-constructor.js @@ -2,7 +2,7 @@ // Tests below are not from WPT. -const common = require('../common'); +require('../common'); const assert = require('assert'); const URLSearchParams = require('url').URLSearchParams; @@ -15,16 +15,16 @@ function makeIterableFunc(array) { } { - const iterableError = common.expectsError({ + const iterableError = { code: 'ERR_ARG_NOT_ITERABLE', - type: TypeError, + name: 'TypeError', message: 'Query pairs must be iterable' - }); - const tupleError = common.expectsError({ + }; + const tupleError = { code: 'ERR_INVALID_TUPLE', - type: TypeError, + name: 'TypeError', message: 'Each query pair must be an iterable [name, value] tuple' - }, 6); + }; let params; params = new URLSearchParams(undefined); diff --git a/test/parallel/test-whatwg-url-custom-searchparams-delete.js b/test/parallel/test-whatwg-url-custom-searchparams-delete.js index a22345cc6eef82..5c3088b0363ff1 100644 --- a/test/parallel/test-whatwg-url-custom-searchparams-delete.js +++ b/test/parallel/test-whatwg-url-custom-searchparams-delete.js @@ -2,24 +2,24 @@ // Tests below are not from WPT. -const common = require('../common'); +require('../common'); const assert = require('assert'); const { URL, URLSearchParams } = require('url'); { const params = new URLSearchParams(); - common.expectsError(() => { + assert.throws(() => { params.delete.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParams' }); - common.expectsError(() => { + assert.throws(() => { params.delete(); }, { code: 'ERR_MISSING_ARGS', - type: TypeError, + name: 'TypeError', message: 'The "name" argument must be specified' }); diff --git a/test/parallel/test-whatwg-url-custom-searchparams-entries.js b/test/parallel/test-whatwg-url-custom-searchparams-entries.js index fc3086545870ee..b70717ff2b78c1 100644 --- a/test/parallel/test-whatwg-url-custom-searchparams-entries.js +++ b/test/parallel/test-whatwg-url-custom-searchparams-entries.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const URLSearchParams = require('url').URLSearchParams; @@ -26,17 +26,17 @@ assert.deepStrictEqual(entries.next(), { done: true }); -common.expectsError(() => { +assert.throws(() => { entries.next.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParamsIterator' }); -common.expectsError(() => { +assert.throws(() => { params.entries.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParams' }); diff --git a/test/parallel/test-whatwg-url-custom-searchparams-foreach.js b/test/parallel/test-whatwg-url-custom-searchparams-foreach.js index 3e729d2bcd4cdd..b796cff9bc1b5c 100644 --- a/test/parallel/test-whatwg-url-custom-searchparams-foreach.js +++ b/test/parallel/test-whatwg-url-custom-searchparams-foreach.js @@ -2,16 +2,17 @@ // Tests below are not from WPT. -const common = require('../common'); +require('../common'); +const assert = require('assert'); const { URLSearchParams } = require('url'); { const params = new URLSearchParams(); - common.expectsError(() => { + assert.throws(() => { params.forEach.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParams' }); } diff --git a/test/parallel/test-whatwg-url-custom-searchparams-get.js b/test/parallel/test-whatwg-url-custom-searchparams-get.js index b99a5fae97d927..1088fcc43d439a 100644 --- a/test/parallel/test-whatwg-url-custom-searchparams-get.js +++ b/test/parallel/test-whatwg-url-custom-searchparams-get.js @@ -2,24 +2,24 @@ // Tests below are not from WPT. -const common = require('../common'); +require('../common'); const assert = require('assert'); const URLSearchParams = require('url').URLSearchParams; { const params = new URLSearchParams(); - common.expectsError(() => { + assert.throws(() => { params.get.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParams' }); - common.expectsError(() => { + assert.throws(() => { params.get(); }, { code: 'ERR_MISSING_ARGS', - type: TypeError, + name: 'TypeError', message: 'The "name" argument must be specified' }); diff --git a/test/parallel/test-whatwg-url-custom-searchparams-getall.js b/test/parallel/test-whatwg-url-custom-searchparams-getall.js index 7f3c7b7610cfd7..8d229a25979d6c 100644 --- a/test/parallel/test-whatwg-url-custom-searchparams-getall.js +++ b/test/parallel/test-whatwg-url-custom-searchparams-getall.js @@ -2,24 +2,24 @@ // Tests below are not from WPT. -const common = require('../common'); +require('../common'); const assert = require('assert'); const URLSearchParams = require('url').URLSearchParams; { const params = new URLSearchParams(); - common.expectsError(() => { + assert.throws(() => { params.getAll.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParams' }); - common.expectsError(() => { + assert.throws(() => { params.getAll(); }, { code: 'ERR_MISSING_ARGS', - type: TypeError, + name: 'TypeError', message: 'The "name" argument must be specified' }); diff --git a/test/parallel/test-whatwg-url-custom-searchparams-has.js b/test/parallel/test-whatwg-url-custom-searchparams-has.js index 2697f199bcc98b..4a76dda6d3dc48 100644 --- a/test/parallel/test-whatwg-url-custom-searchparams-has.js +++ b/test/parallel/test-whatwg-url-custom-searchparams-has.js @@ -2,24 +2,24 @@ // Tests below are not from WPT. -const common = require('../common'); +require('../common'); const assert = require('assert'); const URLSearchParams = require('url').URLSearchParams; { const params = new URLSearchParams(); - common.expectsError(() => { + assert.throws(() => { params.has.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParams' }); - common.expectsError(() => { + assert.throws(() => { params.has(); }, { code: 'ERR_MISSING_ARGS', - type: TypeError, + name: 'TypeError', message: 'The "name" argument must be specified' }); diff --git a/test/parallel/test-whatwg-url-custom-searchparams-keys.js b/test/parallel/test-whatwg-url-custom-searchparams-keys.js index 00800cc79cbf7e..5a222c7428eac7 100644 --- a/test/parallel/test-whatwg-url-custom-searchparams-keys.js +++ b/test/parallel/test-whatwg-url-custom-searchparams-keys.js @@ -2,7 +2,7 @@ // Tests below are not from WPT. -const common = require('../common'); +require('../common'); const assert = require('assert'); const URLSearchParams = require('url').URLSearchParams; @@ -28,17 +28,17 @@ assert.deepStrictEqual(keys.next(), { done: true }); -common.expectsError(() => { +assert.throws(() => { keys.next.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParamsIterator' }); -common.expectsError(() => { +assert.throws(() => { params.keys.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParams' }); diff --git a/test/parallel/test-whatwg-url-custom-searchparams-set.js b/test/parallel/test-whatwg-url-custom-searchparams-set.js index ccd3353ecd0e8e..39462bf4880065 100644 --- a/test/parallel/test-whatwg-url-custom-searchparams-set.js +++ b/test/parallel/test-whatwg-url-custom-searchparams-set.js @@ -2,24 +2,24 @@ // Tests below are not from WPT. -const common = require('../common'); +require('../common'); const assert = require('assert'); const URLSearchParams = require('url').URLSearchParams; { const params = new URLSearchParams(); - common.expectsError(() => { + assert.throws(() => { params.set.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParams' }); - common.expectsError(() => { + assert.throws(() => { params.set('a'); }, { code: 'ERR_MISSING_ARGS', - type: TypeError, + name: 'TypeError', message: 'The "name" and "value" arguments must be specified' }); diff --git a/test/parallel/test-whatwg-url-custom-searchparams-stringifier.js b/test/parallel/test-whatwg-url-custom-searchparams-stringifier.js index d2929ae557a079..1fe936f5e293ab 100644 --- a/test/parallel/test-whatwg-url-custom-searchparams-stringifier.js +++ b/test/parallel/test-whatwg-url-custom-searchparams-stringifier.js @@ -2,16 +2,17 @@ // Tests below are not from WPT. -const common = require('../common'); +require('../common'); +const assert = require('assert'); const URLSearchParams = require('url').URLSearchParams; { const params = new URLSearchParams(); - common.expectsError(() => { + assert.throws(() => { params.toString.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParams' }); } diff --git a/test/parallel/test-whatwg-url-custom-searchparams-values.js b/test/parallel/test-whatwg-url-custom-searchparams-values.js index e10a9dc04fe0df..eedad691fa351c 100644 --- a/test/parallel/test-whatwg-url-custom-searchparams-values.js +++ b/test/parallel/test-whatwg-url-custom-searchparams-values.js @@ -2,7 +2,7 @@ // Tests below are not from WPT. -const common = require('../common'); +require('../common'); const assert = require('assert'); const URLSearchParams = require('url').URLSearchParams; @@ -28,17 +28,17 @@ assert.deepStrictEqual(values.next(), { done: true }); -common.expectsError(() => { +assert.throws(() => { values.next.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParamsIterator' }); -common.expectsError(() => { +assert.throws(() => { params.values.call(undefined); }, { code: 'ERR_INVALID_THIS', - type: TypeError, + name: 'TypeError', message: 'Value of "this" must be of type URLSearchParams' }); diff --git a/test/parallel/test-whatwg-url-custom-searchparams.js b/test/parallel/test-whatwg-url-custom-searchparams.js index f88c3b4a836b39..39c8d87b6a60bf 100644 --- a/test/parallel/test-whatwg-url-custom-searchparams.js +++ b/test/parallel/test-whatwg-url-custom-searchparams.js @@ -2,7 +2,7 @@ // Tests below are not from WPT. -const common = require('../common'); +require('../common'); const assert = require('assert'); const { URL, URLSearchParams } = require('url'); const fixtures = require('../common/fixtures'); @@ -74,10 +74,10 @@ sp.forEach(function() { }, m); { - const callbackErr = common.expectsError({ + const callbackErr = { code: 'ERR_INVALID_CALLBACK', - type: TypeError - }, 2); + name: 'TypeError' + }; assert.throws(() => sp.forEach(), callbackErr); assert.throws(() => sp.forEach(1), callbackErr); } diff --git a/test/parallel/test-worker-cjs-workerdata.js b/test/parallel/test-worker-cjs-workerdata.js new file mode 100644 index 00000000000000..949011fee8173e --- /dev/null +++ b/test/parallel/test-worker-cjs-workerdata.js @@ -0,0 +1,15 @@ +'use strict'; +const common = require('../common'); +const fixtures = require('../common/fixtures'); +const assert = require('assert'); +const { Worker } = require('worker_threads'); + +const workerData = 'Hello from main thread'; + +const worker = new Worker(fixtures.path('worker-data.cjs'), { + workerData +}); + +worker.on('message', common.mustCall((message) => { + assert.strictEqual(message, workerData); +})); diff --git a/test/parallel/test-worker-execargv-invalid.js b/test/parallel/test-worker-execargv-invalid.js index e2deaf5464113a..bbad565c4f0c5f 100644 --- a/test/parallel/test-worker-execargv-invalid.js +++ b/test/parallel/test-worker-execargv-invalid.js @@ -1,14 +1,14 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const { Worker } = require('worker_threads'); { - const expectedErr = common.expectsError({ + const expectedErr = { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError - }, 2); + name: 'TypeError' + }; assert.throws(() => { new Worker(__filename, { execArgv: 'hello' }); @@ -19,10 +19,10 @@ const { Worker } = require('worker_threads'); } { - const expectedErr = common.expectsError({ + const expectedErr = { code: 'ERR_WORKER_INVALID_EXEC_ARGV', - type: Error - }, 3); + name: 'Error' + }; assert.throws(() => { new Worker(__filename, { execArgv: ['--foo'] }); }, expectedErr); diff --git a/test/parallel/test-worker-exit-event-error.js b/test/parallel/test-worker-exit-event-error.js new file mode 100644 index 00000000000000..e2427c7dff726b --- /dev/null +++ b/test/parallel/test-worker-exit-event-error.js @@ -0,0 +1,8 @@ +'use strict'; +const common = require('../common'); +const { Worker } = require('worker_threads'); + +process.on('uncaughtException', common.mustCall()); + +new Worker('', { eval: true }) + .on('exit', common.mustCall(() => { throw new Error('foo'); })); diff --git a/test/parallel/test-worker-fs-stat-watcher.js b/test/parallel/test-worker-fs-stat-watcher.js index b58d43d0cfa8ea..c648792af755e4 100644 --- a/test/parallel/test-worker-fs-stat-watcher.js +++ b/test/parallel/test-worker-fs-stat-watcher.js @@ -1,4 +1,3 @@ -// Flags: --experimental-worker 'use strict'; const common = require('../common'); const { Worker, parentPort } = require('worker_threads'); diff --git a/test/parallel/test-worker-message-port-inspect-during-init-hook.js b/test/parallel/test-worker-message-port-inspect-during-init-hook.js new file mode 100644 index 00000000000000..30b90710a604f1 --- /dev/null +++ b/test/parallel/test-worker-message-port-inspect-during-init-hook.js @@ -0,0 +1,21 @@ +'use strict'; +const common = require('../common'); +const util = require('util'); +const assert = require('assert'); +const async_hooks = require('async_hooks'); +const { MessageChannel } = require('worker_threads'); + +// Regression test: Inspecting a `MessagePort` object before it is finished +// constructing does not crash the process. + +async_hooks.createHook({ + init: common.mustCall((id, type, triggerId, resource) => { + assert.strictEqual(util.inspect(resource), + 'MessagePort { active: true, refed: false }'); + }, 2) +}).enable(); + +const { port1 } = new MessageChannel(); +const inspection = util.inspect(port1); +assert(inspection.includes('active: true')); +assert(inspection.includes('refed: false')); diff --git a/test/parallel/test-worker-process-env.js b/test/parallel/test-worker-process-env.js index 1316afd7835574..9680d685140f60 100644 --- a/test/parallel/test-worker-process-env.js +++ b/test/parallel/test-worker-process-env.js @@ -23,10 +23,10 @@ if (!workerData && process.argv[2] !== 'child') { env: { 'MANUALLY_SET': true } }); - common.expectsError(() => { + assert.throws(() => { new Worker(__filename, { env: 42 }); }, { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE', message: 'The "options.env" property must be of type object or ' + 'one of undefined, null, or worker_threads.SHARE_ENV. Received type ' + diff --git a/test/parallel/test-worker-resource-limits.js b/test/parallel/test-worker-resource-limits.js index 2d4ebbc0ce6011..9332a132694e78 100644 --- a/test/parallel/test-worker-resource-limits.js +++ b/test/parallel/test-worker-resource-limits.js @@ -25,7 +25,8 @@ if (!process.env.HAS_STARTED_WORKER) { })); w.on('error', common.expectsError({ code: 'ERR_WORKER_OUT_OF_MEMORY', - message: 'Worker terminated due to reaching memory limit' + message: 'Worker terminated due to reaching memory limit: ' + + 'JS heap out of memory' })); return; } diff --git a/test/parallel/test-worker-stack-overflow-stack-size.js b/test/parallel/test-worker-stack-overflow-stack-size.js new file mode 100644 index 00000000000000..f218554297d1a3 --- /dev/null +++ b/test/parallel/test-worker-stack-overflow-stack-size.js @@ -0,0 +1,43 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const { once } = require('events'); +const v8 = require('v8'); +const { Worker } = require('worker_threads'); + +// Verify that Workers don't care about --stack-size, as they have their own +// fixed and known stack sizes. + +async function runWorker() { + const empiricalStackDepth = new Uint32Array(new SharedArrayBuffer(4)); + const worker = new Worker(` + const { workerData: { empiricalStackDepth } } = require('worker_threads'); + function f() { + empiricalStackDepth[0]++; + f(); + } + f();`, { + eval: true, + workerData: { empiricalStackDepth } + }); + + const [ error ] = await once(worker, 'error'); + + common.expectsError({ + constructor: RangeError, + message: 'Maximum call stack size exceeded' + })(error); + + return empiricalStackDepth[0]; +} + +(async function() { + v8.setFlagsFromString('--stack-size=500'); + const w1stack = await runWorker(); + v8.setFlagsFromString('--stack-size=1000'); + const w2stack = await runWorker(); + // Make sure the two stack sizes are within 10 % of each other, i.e. not + // affected by the different `--stack-size` settings. + assert(Math.max(w1stack, w2stack) / Math.min(w1stack, w2stack) < 1.1, + `w1stack = ${w1stack}, w2stack ${w2stack} are too far apart`); +})().then(common.mustCall()); diff --git a/test/parallel/test-worker-stack-overflow.js b/test/parallel/test-worker-stack-overflow.js index 99a34b5369006f..32351b7a4a6fad 100644 --- a/test/parallel/test-worker-stack-overflow.js +++ b/test/parallel/test-worker-stack-overflow.js @@ -1,11 +1,10 @@ 'use strict'; const common = require('../common'); -const assert = require('assert'); const { Worker } = require('worker_threads'); const worker = new Worker('function f() { f(); } f();', { eval: true }); -worker.on('error', common.mustCall((err) => { - assert.strictEqual(err.constructor, RangeError); - assert.strictEqual(err.message, 'Maximum call stack size exceeded'); +worker.on('error', common.expectsError({ + constructor: RangeError, + message: 'Maximum call stack size exceeded' })); diff --git a/test/parallel/test-worker-type-check.js b/test/parallel/test-worker-type-check.js index 2d180130390ee8..2a67bfec405af2 100644 --- a/test/parallel/test-worker-type-check.js +++ b/test/parallel/test-worker-type-check.js @@ -1,6 +1,7 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const { Worker } = require('worker_threads'); { @@ -14,11 +15,11 @@ const { Worker } = require('worker_threads'); [], () => {} ].forEach((val) => { - common.expectsError( + assert.throws( () => new Worker(val), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "filename" argument must be of type string.' + common.invalidArgTypeHelper(val) } diff --git a/test/parallel/test-worker-unsupported-path.js b/test/parallel/test-worker-unsupported-path.js index 0c86f2ead08a38..21ff40671965e5 100644 --- a/test/parallel/test-worker-unsupported-path.js +++ b/test/parallel/test-worker-unsupported-path.js @@ -1,25 +1,25 @@ 'use strict'; -const common = require('../common'); +require('../common'); const path = require('path'); const assert = require('assert'); const { Worker } = require('worker_threads'); { - const expectedErr = common.expectsError({ + const expectedErr = { code: 'ERR_WORKER_UNSUPPORTED_EXTENSION', - type: TypeError - }, 3); + name: 'TypeError' + }; assert.throws(() => { new Worker('/b'); }, expectedErr); assert.throws(() => { new Worker('/c.wasm'); }, expectedErr); assert.throws(() => { new Worker('/d.txt'); }, expectedErr); } { - const expectedErr = common.expectsError({ + const expectedErr = { code: 'ERR_WORKER_PATH', - type: TypeError - }, 4); + name: 'TypeError' + }; const existingRelPathNoDot = path.relative('.', __filename); assert.throws(() => { new Worker(existingRelPathNoDot); }, expectedErr); assert.throws(() => { new Worker('relative_no_dot'); }, expectedErr); diff --git a/test/parallel/test-zlib-brotli.js b/test/parallel/test-zlib-brotli.js index 2dc60aff4058ab..772b655177aa18 100644 --- a/test/parallel/test-zlib-brotli.js +++ b/test/parallel/test-zlib-brotli.js @@ -1,5 +1,5 @@ 'use strict'; -const common = require('../common'); +require('../common'); const fixtures = require('../common/fixtures'); const assert = require('assert'); const zlib = require('zlib'); @@ -32,7 +32,7 @@ const sampleBuffer = fixtures.readSync('/pss-vectors.json'); { // Test that setting out-of-bounds option values or keys fails. - common.expectsError(() => { + assert.throws(() => { zlib.createBrotliCompress({ params: { 10000: 0 @@ -40,12 +40,12 @@ const sampleBuffer = fixtures.readSync('/pss-vectors.json'); }); }, { code: 'ERR_BROTLI_INVALID_PARAM', - type: RangeError, + name: 'RangeError', message: '10000 is not a valid Brotli parameter' }); // Test that accidentally using duplicate keys fails. - common.expectsError(() => { + assert.throws(() => { zlib.createBrotliCompress({ params: { '0': 0, @@ -54,11 +54,11 @@ const sampleBuffer = fixtures.readSync('/pss-vectors.json'); }); }, { code: 'ERR_BROTLI_INVALID_PARAM', - type: RangeError, + name: 'RangeError', message: '00 is not a valid Brotli parameter' }); - common.expectsError(() => { + assert.throws(() => { zlib.createBrotliCompress({ params: { // This is a boolean flag @@ -67,7 +67,7 @@ const sampleBuffer = fixtures.readSync('/pss-vectors.json'); }); }, { code: 'ERR_ZLIB_INITIALIZATION_FAILED', - type: Error, + name: 'Error', message: 'Initialization failed' }); } diff --git a/test/parallel/test-zlib-convenience-methods.js b/test/parallel/test-zlib-convenience-methods.js index 65c842b66a86c9..4757eef42c236b 100644 --- a/test/parallel/test-zlib-convenience-methods.js +++ b/test/parallel/test-zlib-convenience-methods.js @@ -122,11 +122,11 @@ for (const [type, expect] of [ } } -common.expectsError( +assert.throws( () => zlib.gzip('abc'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "callback" argument must be of type function. ' + 'Received undefined' } diff --git a/test/parallel/test-zlib-deflate-constructors.js b/test/parallel/test-zlib-deflate-constructors.js index 3cb4eca5ea2af2..492048d3d0a108 100644 --- a/test/parallel/test-zlib-deflate-constructors.js +++ b/test/parallel/test-zlib-deflate-constructors.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const zlib = require('zlib'); const assert = require('assert'); @@ -13,31 +13,31 @@ assert.ok(zlib.DeflateRaw() instanceof zlib.DeflateRaw); assert.ok(new zlib.DeflateRaw() instanceof zlib.DeflateRaw); // Throws if `options.chunkSize` is invalid -common.expectsError( +assert.throws( () => new zlib.Deflate({ chunkSize: 'test' }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.chunkSize" property must be of type number. ' + "Received type string ('test')" } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ chunkSize: -Infinity }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.chunkSize" is out of range. It must ' + 'be a finite number. Received -Infinity' } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ chunkSize: 0 }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.chunkSize" is out of range. It must ' + 'be >= 64. Received 0' } @@ -47,164 +47,164 @@ common.expectsError( assert.strictEqual(zlib.constants.Z_MAX_CHUNK, Infinity); // Throws if `options.windowBits` is invalid -common.expectsError( +assert.throws( () => new zlib.Deflate({ windowBits: 'test' }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.windowBits" property must be of type number. ' + "Received type string ('test')" } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ windowBits: -Infinity }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.windowBits" is out of range. It must ' + 'be a finite number. Received -Infinity' } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ windowBits: Infinity }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.windowBits" is out of range. It must ' + 'be a finite number. Received Infinity' } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ windowBits: 0 }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.windowBits" is out of range. It must ' + 'be >= 8 and <= 15. Received 0' } ); // Throws if `options.level` is invalid -common.expectsError( +assert.throws( () => new zlib.Deflate({ level: 'test' }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.level" property must be of type number. ' + "Received type string ('test')" } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ level: -Infinity }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.level" is out of range. It must ' + 'be a finite number. Received -Infinity' } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ level: Infinity }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.level" is out of range. It must ' + 'be a finite number. Received Infinity' } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ level: -2 }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.level" is out of range. It must ' + 'be >= -1 and <= 9. Received -2' } ); // Throws if `level` invalid in `Deflate.prototype.params()` -common.expectsError( +assert.throws( () => new zlib.Deflate().params('test'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "level" argument must be of type number. ' + "Received type string ('test')" } ); -common.expectsError( +assert.throws( () => new zlib.Deflate().params(-Infinity), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "level" is out of range. It must ' + 'be a finite number. Received -Infinity' } ); -common.expectsError( +assert.throws( () => new zlib.Deflate().params(Infinity), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "level" is out of range. It must ' + 'be a finite number. Received Infinity' } ); -common.expectsError( +assert.throws( () => new zlib.Deflate().params(-2), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "level" is out of range. It must ' + 'be >= -1 and <= 9. Received -2' } ); // Throws if options.memLevel is invalid -common.expectsError( +assert.throws( () => new zlib.Deflate({ memLevel: 'test' }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.memLevel" property must be of type number. ' + "Received type string ('test')" } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ memLevel: -Infinity }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.memLevel" is out of range. It must ' + 'be a finite number. Received -Infinity' } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ memLevel: Infinity }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.memLevel" is out of range. It must ' + 'be a finite number. Received Infinity' } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ memLevel: -2 }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.memLevel" is out of range. It must ' + 'be >= 1 and <= 9. Received -2' } @@ -218,93 +218,93 @@ new zlib.Deflate({ strategy: zlib.constants.Z_FIXED }); new zlib.Deflate({ strategy: zlib.constants.Z_DEFAULT_STRATEGY }); // Throws if options.strategy is invalid -common.expectsError( +assert.throws( () => new zlib.Deflate({ strategy: 'test' }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.strategy" property must be of type number. ' + "Received type string ('test')" } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ strategy: -Infinity }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.strategy" is out of range. It must ' + 'be a finite number. Received -Infinity' } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ strategy: Infinity }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.strategy" is out of range. It must ' + 'be a finite number. Received Infinity' } ); -common.expectsError( +assert.throws( () => new zlib.Deflate({ strategy: -2 }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.strategy" is out of range. It must ' + 'be >= 0 and <= 4. Received -2' } ); // Throws TypeError if `strategy` is invalid in `Deflate.prototype.params()` -common.expectsError( +assert.throws( () => new zlib.Deflate().params(0, 'test'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "strategy" argument must be of type number. ' + "Received type string ('test')" } ); -common.expectsError( +assert.throws( () => new zlib.Deflate().params(0, -Infinity), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "strategy" is out of range. It must ' + 'be a finite number. Received -Infinity' } ); -common.expectsError( +assert.throws( () => new zlib.Deflate().params(0, Infinity), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "strategy" is out of range. It must ' + 'be a finite number. Received Infinity' } ); -common.expectsError( +assert.throws( () => new zlib.Deflate().params(0, -2), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "strategy" is out of range. It must ' + 'be >= 0 and <= 4. Received -2' } ); // Throws if opts.dictionary is not a Buffer -common.expectsError( +assert.throws( () => new zlib.Deflate({ dictionary: 'not a buffer' }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.dictionary" property must be an instance of Buffer' + ', TypedArray, DataView, or ArrayBuffer. Received type string ' + "('not a buffer')" diff --git a/test/parallel/test-zlib-failed-init.js b/test/parallel/test-zlib-failed-init.js index 4834c82b7d3a74..1f99a378fc6eda 100644 --- a/test/parallel/test-zlib-failed-init.js +++ b/test/parallel/test-zlib-failed-init.js @@ -1,35 +1,35 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const zlib = require('zlib'); -common.expectsError( +assert.throws( () => zlib.createGzip({ chunkSize: 0 }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.chunkSize" is out of range. It must ' + 'be >= 64. Received 0' } ); -common.expectsError( +assert.throws( () => zlib.createGzip({ windowBits: 0 }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.windowBits" is out of range. It must ' + 'be >= 8 and <= 15. Received 0' } ); -common.expectsError( +assert.throws( () => zlib.createGzip({ memLevel: 0 }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.memLevel" is out of range. It must ' + 'be >= 1 and <= 9. Received 0' } diff --git a/test/parallel/test-zlib-flush-flags.js b/test/parallel/test-zlib-flush-flags.js index 64390a3137d994..3d8e609adb6269 100644 --- a/test/parallel/test-zlib-flush-flags.js +++ b/test/parallel/test-zlib-flush-flags.js @@ -1,24 +1,25 @@ 'use strict'; -const common = require('../common'); +require('../common'); +const assert = require('assert'); const zlib = require('zlib'); zlib.createGzip({ flush: zlib.constants.Z_SYNC_FLUSH }); -common.expectsError( +assert.throws( () => zlib.createGzip({ flush: 'foobar' }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.flush" property must be of type number. ' + "Received type string ('foobar')" } ); -common.expectsError( +assert.throws( () => zlib.createGzip({ flush: 10000 }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.flush" is out of range. It must ' + 'be >= 0 and <= 5. Received 10000' } @@ -26,21 +27,21 @@ common.expectsError( zlib.createGzip({ finishFlush: zlib.constants.Z_SYNC_FLUSH }); -common.expectsError( +assert.throws( () => zlib.createGzip({ finishFlush: 'foobar' }), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "options.finishFlush" property must be of type number. ' + "Received type string ('foobar')" } ); -common.expectsError( +assert.throws( () => zlib.createGzip({ finishFlush: 10000 }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.finishFlush" is out of range. It must ' + 'be >= 0 and <= 5. Received 10000' } diff --git a/test/parallel/test-zlib-from-gzip-with-trailing-garbage.js b/test/parallel/test-zlib-from-gzip-with-trailing-garbage.js index 7db3a8a27abad5..06fc2258a0395c 100644 --- a/test/parallel/test-zlib-from-gzip-with-trailing-garbage.js +++ b/test/parallel/test-zlib-from-gzip-with-trailing-garbage.js @@ -40,7 +40,7 @@ assert.throws( zlib.gunzip(data, common.mustCall((err, result) => { common.expectsError({ code: 'Z_DATA_ERROR', - type: Error, + name: 'Error', message: 'unknown compression method' })(err); assert.strictEqual(result, undefined); diff --git a/test/parallel/test-zlib-not-string-or-buffer.js b/test/parallel/test-zlib-not-string-or-buffer.js index 6a3b2b772f3788..b7b9a465cb89e1 100644 --- a/test/parallel/test-zlib-not-string-or-buffer.js +++ b/test/parallel/test-zlib-not-string-or-buffer.js @@ -4,6 +4,7 @@ // or buffer. const common = require('../common'); +const assert = require('assert'); const zlib = require('zlib'); [ @@ -16,11 +17,11 @@ const zlib = require('zlib'); [1, 2, 3], { foo: 'bar' } ].forEach((input) => { - common.expectsError( + assert.throws( () => zlib.deflateSync(input), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "buffer" argument must be of type string or an instance ' + 'of Buffer, TypedArray, DataView, or ArrayBuffer.' + common.invalidArgTypeHelper(input) diff --git a/test/parallel/test-zlib-write-after-close.js b/test/parallel/test-zlib-write-after-close.js index 160971b16bc30c..06a7d3f1917543 100644 --- a/test/parallel/test-zlib-write-after-close.js +++ b/test/parallel/test-zlib-write-after-close.js @@ -21,16 +21,17 @@ 'use strict'; const common = require('../common'); +const assert = require('assert'); const zlib = require('zlib'); zlib.gzip('hello', common.mustCall(function(err, out) { const unzip = zlib.createGunzip(); unzip.close(common.mustCall()); - common.expectsError( + assert.throws( () => unzip.write(out), { code: 'ERR_STREAM_DESTROYED', - type: Error, + name: 'Error', message: 'Cannot call write after a stream was destroyed' } ); diff --git a/test/parallel/test-zlib-zero-windowBits.js b/test/parallel/test-zlib-zero-windowBits.js index a62e6148e33df7..730690a07c423f 100644 --- a/test/parallel/test-zlib-zero-windowBits.js +++ b/test/parallel/test-zlib-zero-windowBits.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const zlib = require('zlib'); @@ -24,9 +24,9 @@ const zlib = require('zlib'); } { - common.expectsError(() => zlib.createGzip({ windowBits: 0 }), { + assert.throws(() => zlib.createGzip({ windowBits: 0 }), { code: 'ERR_OUT_OF_RANGE', - type: RangeError, + name: 'RangeError', message: 'The value of "options.windowBits" is out of range. ' + 'It must be >= 8 and <= 15. Received 0' }); diff --git a/test/pseudo-tty/test-assert-colors.js b/test/pseudo-tty/test-assert-colors.js index a241542c34cebf..9d5a923aa0f8e7 100644 --- a/test/pseudo-tty/test-assert-colors.js +++ b/test/pseudo-tty/test-assert-colors.js @@ -2,15 +2,12 @@ require('../common'); const assert = require('assert').strict; -try { - // Activate colors even if the tty does not support colors. - process.env.COLORTERM = '1'; - // Make sure TERM is not set to e.g., 'dumb' and NODE_DISABLE_COLORS is not - // active. - process.env.TERM = 'FOOBAR'; +assert.throws(() => { + process.env.FORCE_COLOR = '1'; delete process.env.NODE_DISABLE_COLORS; + delete process.env.NO_COLOR; assert.deepStrictEqual([1, 2, 2, 2, 2], [2, 2, 2, 2, 2]); -} catch (err) { +}, (err) => { const expected = 'Expected values to be strictly deep-equal:\n' + '\u001b[32m+ actual\u001b[39m \u001b[31m- expected\u001b[39m' + ' \u001b[34m...\u001b[39m Lines skipped\n\n' + @@ -23,4 +20,5 @@ try { ' 2\n' + ' ]'; assert.strictEqual(err.message, expected); -} + return true; +}); diff --git a/test/pseudo-tty/test-tty-color-support-warning-2.js b/test/pseudo-tty/test-tty-color-support-warning-2.js new file mode 100644 index 00000000000000..34ba49c0dfd1b5 --- /dev/null +++ b/test/pseudo-tty/test-tty-color-support-warning-2.js @@ -0,0 +1,8 @@ +'use strict'; + +require('../common'); + +process.env.NODE_DISABLE_COLORS = '1'; +process.env.FORCE_COLOR = '3'; + +console.log(); diff --git a/test/pseudo-tty/test-tty-color-support-warning-2.out b/test/pseudo-tty/test-tty-color-support-warning-2.out new file mode 100644 index 00000000000000..cd57b3f9f69672 --- /dev/null +++ b/test/pseudo-tty/test-tty-color-support-warning-2.out @@ -0,0 +1,2 @@ + +(node:*) Warning: The 'NODE_DISABLE_COLORS' env is ignored due to the 'FORCE_COLOR' env being set. diff --git a/test/pseudo-tty/test-tty-color-support-warning.js b/test/pseudo-tty/test-tty-color-support-warning.js new file mode 100644 index 00000000000000..ae164958d2d6b9 --- /dev/null +++ b/test/pseudo-tty/test-tty-color-support-warning.js @@ -0,0 +1,9 @@ +'use strict'; + +require('../common'); + +process.env.NO_COLOR = '1'; +process.env.NODE_DISABLE_COLORS = '1'; +process.env.FORCE_COLOR = '3'; + +console.log(); diff --git a/test/pseudo-tty/test-tty-color-support-warning.out b/test/pseudo-tty/test-tty-color-support-warning.out new file mode 100644 index 00000000000000..9360ae1328b2cd --- /dev/null +++ b/test/pseudo-tty/test-tty-color-support-warning.out @@ -0,0 +1,2 @@ + +(node:*) Warning: The 'NODE_DISABLE_COLORS' and 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set. diff --git a/test/pseudo-tty/test-tty-color-support.out b/test/pseudo-tty/test-tty-color-support.out index f73fbdcd9651f6..e6904d10b8a7b8 100644 --- a/test/pseudo-tty/test-tty-color-support.out +++ b/test/pseudo-tty/test-tty-color-support.out @@ -1,8 +1 @@ (node:*) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set. -(node:*) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set. -(node:*) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set. -(node:*) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set. -(node:*) Warning: The 'NODE_DISABLE_COLORS' env is ignored due to the 'FORCE_COLOR' env being set. -(node:*) Warning: The 'NODE_DISABLE_COLORS' env is ignored due to the 'FORCE_COLOR' env being set. -(node:*) Warning: The 'NODE_DISABLE_COLORS' env is ignored due to the 'FORCE_COLOR' env being set. -(node:*) Warning: The 'NODE_DISABLE_COLORS' env is ignored due to the 'FORCE_COLOR' env being set. diff --git a/test/pummel/test-fs-readfile-tostring-fail.js b/test/pummel/test-fs-readfile-tostring-fail.js index a068b3af3b0cea..1a1e7d62175638 100644 --- a/test/pummel/test-fs-readfile-tostring-fail.js +++ b/test/pummel/test-fs-readfile-tostring-fail.js @@ -40,7 +40,7 @@ stream.on('finish', common.mustCall(function() { message: 'Cannot create a string longer than ' + `0x${stringLengthHex} characters`, code: 'ERR_STRING_TOO_LONG', - type: Error + name: 'Error' })(err); } assert.strictEqual(buf, undefined); diff --git a/test/pummel/test-heapdump-worker.js b/test/pummel/test-heapdump-worker.js index 66c7252706f473..6e91bee4d3d378 100644 --- a/test/pummel/test-heapdump-worker.js +++ b/test/pummel/test-heapdump-worker.js @@ -9,7 +9,6 @@ const worker = new Worker('setInterval(() => {}, 100);', { eval: true }); validateSnapshotNodes('Node / Worker', [ { children: [ - { node_name: 'Node / AsyncRequest', edge_name: 'on_thread_finished_' }, { node_name: 'Node / MessagePort', edge_name: 'parent_port' }, { node_name: 'Worker', edge_name: 'wrapped' } ] diff --git a/test/pummel/test-http-many-keep-alive-connections.js b/test/pummel/test-http-many-keep-alive-connections.js index 59eccc328d5f03..9a7083a8ae66cb 100644 --- a/test/pummel/test-http-many-keep-alive-connections.js +++ b/test/pummel/test-http-many-keep-alive-connections.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const http = require('http'); @@ -40,9 +40,9 @@ server.once('connection', function(c) { connection = c; }); -server.listen(common.PORT, function connect() { +server.listen(0, function connect() { const request = http.get({ - port: common.PORT, + port: server.address().port, path: '/', headers: { 'Connection': 'Keep-alive' diff --git a/test/pummel/test-http-upload-timeout.js b/test/pummel/test-http-upload-timeout.js index 2c1cbf61988ec6..c3ec3ad19d5d37 100644 --- a/test/pummel/test-http-upload-timeout.js +++ b/test/pummel/test-http-upload-timeout.js @@ -23,7 +23,7 @@ // This tests setTimeout() by having multiple clients connecting and sending // data in random intervals. Clients are also randomly disconnecting until there // are no more clients left. If no false timeout occurs, this test has passed. -const common = require('../common'); +require('../common'); const http = require('http'); const server = http.createServer(); let connections = 0; @@ -44,13 +44,13 @@ server.on('request', function(req, res) { req.resume(); }); -server.listen(common.PORT, '127.0.0.1', function() { +server.listen(0, '127.0.0.1', function() { for (let i = 0; i < 10; i++) { connections++; setTimeout(function() { const request = http.request({ - port: common.PORT, + port: server.address().port, method: 'POST', path: '/' }); diff --git a/test/pummel/test-https-large-response.js b/test/pummel/test-https-large-response.js index d72fd2a65ba877..acf442d2541d1a 100644 --- a/test/pummel/test-https-large-response.js +++ b/test/pummel/test-https-large-response.js @@ -43,9 +43,9 @@ const server = https.createServer(options, common.mustCall(function(req, res) { res.end(body); })); -server.listen(common.PORT, common.mustCall(function() { +server.listen(0, common.mustCall(function() { https.get({ - port: common.PORT, + port: server.address().port, rejectUnauthorized: false }, common.mustCall(function(res) { console.log('response!'); diff --git a/test/pummel/test-https-no-reader.js b/test/pummel/test-https-no-reader.js index 31d2bfa2d3ca34..63db032d0b6144 100644 --- a/test/pummel/test-https-no-reader.js +++ b/test/pummel/test-https-no-reader.js @@ -43,10 +43,10 @@ const server = https.createServer(options, function(req, res) { res.end(); }); -server.listen(common.PORT, function() { +server.listen(0, function() { const req = https.request({ method: 'POST', - port: common.PORT, + port: server.address().port, rejectUnauthorized: false }, function(res) { res.read(0); diff --git a/test/pummel/test-net-pause.js b/test/pummel/test-net-pause.js index 512d833ae75717..76237c17214d23 100644 --- a/test/pummel/test-net-pause.js +++ b/test/pummel/test-net-pause.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const net = require('net'); @@ -43,7 +43,7 @@ const server = net.createServer((connection) => { }); server.on('listening', () => { - const client = net.createConnection(common.PORT); + const client = net.createConnection(server.address().port); client.setEncoding('ascii'); client.on('data', (d) => { console.log(d); @@ -83,7 +83,7 @@ server.on('listening', () => { client.end(); }); }); -server.listen(common.PORT); +server.listen(0); process.on('exit', () => { assert.strictEqual(recv.length, N); diff --git a/test/pummel/test-net-pingpong-delay.js b/test/pummel/test-net-pingpong-delay.js index 392a6e0fed751e..bddcd4de72d664 100644 --- a/test/pummel/test-net-pingpong-delay.js +++ b/test/pummel/test-net-pingpong-delay.js @@ -24,7 +24,7 @@ const common = require('../common'); const assert = require('assert'); const net = require('net'); -function pingPongTest(port, host, on_complete) { +function pingPongTest(host, on_complete) { const N = 100; const DELAY = 1; let count = 0; @@ -63,8 +63,8 @@ function pingPongTest(port, host, on_complete) { }); }); - server.listen(port, host, common.mustCall(function() { - const client = net.createConnection(port, host); + server.listen(0, host, common.mustCall(function() { + const client = net.createConnection(server.address().port, host); client.setEncoding('utf8'); @@ -104,4 +104,4 @@ function pingPongTest(port, host, on_complete) { })); } -pingPongTest(common.PORT); +pingPongTest(); diff --git a/test/pummel/test-net-throttle.js b/test/pummel/test-net-throttle.js index 190c242d6e1636..9708d69f9621a3 100644 --- a/test/pummel/test-net-throttle.js +++ b/test/pummel/test-net-throttle.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const net = require('net'); @@ -32,8 +32,6 @@ let npauses = 0; console.log('build big string'); const body = 'C'.repeat(N); -console.log(`start server on port ${common.PORT}`); - const server = net.createServer((connection) => { connection.write(body.slice(0, part_N)); connection.write(body.slice(part_N, 2 * part_N)); @@ -44,9 +42,11 @@ const server = net.createServer((connection) => { connection.end(); }); -server.listen(common.PORT, () => { +server.listen(0, () => { + const port = server.address().port; + console.log(`server started on port ${port}`); let paused = false; - const client = net.createConnection(common.PORT); + const client = net.createConnection(port); client.setEncoding('ascii'); client.on('data', (d) => { chars_recved += d.length; diff --git a/test/pummel/test-net-timeout.js b/test/pummel/test-net-timeout.js index 59a8d50f796d64..5b9f2a01b3823e 100644 --- a/test/pummel/test-net-timeout.js +++ b/test/pummel/test-net-timeout.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const net = require('net'); @@ -54,10 +54,11 @@ const echo_server = net.createServer((socket) => { }); }); -echo_server.listen(common.PORT, () => { - console.log(`server listening at ${common.PORT}`); +echo_server.listen(0, () => { + const port = echo_server.address().port; + console.log(`server listening at ${port}`); - const client = net.createConnection(common.PORT); + const client = net.createConnection(port); client.setEncoding('UTF8'); client.setTimeout(0); // Disable the timeout for client client.on('connect', () => { diff --git a/test/pummel/test-net-timeout2.js b/test/pummel/test-net-timeout2.js index 93fbe7bfab36cb..4220ef77ca6704 100644 --- a/test/pummel/test-net-timeout2.js +++ b/test/pummel/test-net-timeout2.js @@ -48,7 +48,7 @@ const server = net.createServer(function(socket) { }); -server.listen(common.PORT, function() { - const s = net.connect(common.PORT); +server.listen(0, function() { + const s = net.connect(server.address().port); s.pipe(process.stdout); }); diff --git a/test/pummel/test-net-write-callbacks.js b/test/pummel/test-net-write-callbacks.js index 0bcc9e2dec121a..cb011ab0022251 100644 --- a/test/pummel/test-net-write-callbacks.js +++ b/test/pummel/test-net-write-callbacks.js @@ -20,7 +20,7 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. 'use strict'; -const common = require('../common'); +require('../common'); const net = require('net'); const assert = require('assert'); @@ -55,8 +55,8 @@ function makeCallback(c) { }; } -server.listen(common.PORT, function() { - const client = net.createConnection(common.PORT); +server.listen(0, function() { + const client = net.createConnection(server.address().port); client.on('connect', function() { for (let i = 0; i < N; i++) { diff --git a/test/pummel/test-regress-GH-892.js b/test/pummel/test-regress-GH-892.js index 48201807e39e56..d5e8cc0215635c 100644 --- a/test/pummel/test-regress-GH-892.js +++ b/test/pummel/test-regress-GH-892.js @@ -52,7 +52,7 @@ function makeRequest() { // more easily. Also, this is handy when using this test to // view V8 opt/deopt behavior. const args = process.execArgv.concat([ childScript, - common.PORT, + server.address().port, bytesExpected ]); const child = spawn(process.execPath, args); @@ -101,7 +101,7 @@ const server = https.Server(serverOptions, function(req, res) { }); }); -server.listen(common.PORT, function() { +server.listen(0, function() { console.log(`expecting ${bytesExpected} bytes`); makeRequest(); }); diff --git a/test/pummel/test-tls-server-large-request.js b/test/pummel/test-tls-server-large-request.js index 5d3a0615bad6e2..7537ca813af41c 100644 --- a/test/pummel/test-tls-server-large-request.js +++ b/test/pummel/test-tls-server-large-request.js @@ -59,9 +59,9 @@ const server = tls.Server(options, common.mustCall(function(socket) { socket.pipe(mediator); })); -server.listen(common.PORT, common.mustCall(function() { +server.listen(0, common.mustCall(() => { const client1 = tls.connect({ - port: common.PORT, + port: server.address().port, rejectUnauthorized: false }, common.mustCall(function() { client1.end(request); diff --git a/test/pummel/test-tls-throttle.js b/test/pummel/test-tls-throttle.js index af588dfa91fb94..da675204a1ec5c 100644 --- a/test/pummel/test-tls-throttle.js +++ b/test/pummel/test-tls-throttle.js @@ -46,9 +46,9 @@ const server = tls.Server(options, common.mustCall(function(socket) { let recvCount = 0; -server.listen(common.PORT, function() { +server.listen(0, function() { const client = tls.connect({ - port: common.PORT, + port: server.address().port, rejectUnauthorized: false }); diff --git a/test/report/test-report-config.js b/test/report/test-report-config.js index b8cfd029927b2c..4f6fdf2a80e111 100644 --- a/test/report/test-report-config.js +++ b/test/report/test-report-config.js @@ -12,7 +12,7 @@ common.expectWarning('ExperimentalWarning', assert.strictEqual(process.report.directory, ''); process.report.directory = __dirname; assert.strictEqual(process.report.directory, __dirname); -common.expectsError(() => { +assert.throws(() => { process.report.directory = {}; }, { code: 'ERR_INVALID_ARG_TYPE' }); assert.strictEqual(process.report.directory, __dirname); @@ -21,7 +21,7 @@ assert.strictEqual(process.report.directory, __dirname); assert.strictEqual(process.report.filename, ''); process.report.filename = 'test-report.json'; assert.strictEqual(process.report.filename, 'test-report.json'); -common.expectsError(() => { +assert.throws(() => { process.report.filename = {}; }, { code: 'ERR_INVALID_ARG_TYPE' }); assert.strictEqual(process.report.filename, 'test-report.json'); @@ -32,7 +32,7 @@ process.report.reportOnFatalError = false; assert.strictEqual(process.report.reportOnFatalError, false); process.report.reportOnFatalError = true; assert.strictEqual(process.report.reportOnFatalError, true); -common.expectsError(() => { +assert.throws(() => { process.report.reportOnFatalError = {}; }, { code: 'ERR_INVALID_ARG_TYPE' }); assert.strictEqual(process.report.reportOnFatalError, true); @@ -44,7 +44,7 @@ process.report.reportOnUncaughtException = false; assert.strictEqual(process.report.reportOnUncaughtException, false); process.report.reportOnUncaughtException = true; assert.strictEqual(process.report.reportOnUncaughtException, true); -common.expectsError(() => { +assert.throws(() => { process.report.reportOnUncaughtException = {}; }, { code: 'ERR_INVALID_ARG_TYPE' }); assert.strictEqual(process.report.reportOnUncaughtException, true); @@ -55,7 +55,7 @@ process.report.reportOnSignal = false; assert.strictEqual(process.report.reportOnSignal, false); process.report.reportOnSignal = true; assert.strictEqual(process.report.reportOnSignal, true); -common.expectsError(() => { +assert.throws(() => { process.report.reportOnSignal = {}; }, { code: 'ERR_INVALID_ARG_TYPE' }); assert.strictEqual(process.report.reportOnSignal, true); @@ -63,16 +63,16 @@ assert.strictEqual(process.report.reportOnSignal, true); if (!common.isWindows) { // Verify that process.report.signal behaves properly. assert.strictEqual(process.report.signal, 'SIGUSR2'); - common.expectsError(() => { + assert.throws(() => { process.report.signal = {}; }, { code: 'ERR_INVALID_ARG_TYPE' }); - common.expectsError(() => { + assert.throws(() => { process.report.signal = 'foo'; }, { code: 'ERR_UNKNOWN_SIGNAL', message: 'Unknown signal: foo' }); - common.expectsError(() => { + assert.throws(() => { process.report.signal = 'sigusr1'; }, { code: 'ERR_UNKNOWN_SIGNAL', diff --git a/test/report/test-report-getreport.js b/test/report/test-report-getreport.js index 1ee844fa921354..ba645df69fdd7b 100644 --- a/test/report/test-report-getreport.js +++ b/test/report/test-report-getreport.js @@ -31,7 +31,7 @@ common.expectWarning('ExperimentalWarning', // Test with an invalid error argument. [null, 1, Symbol(), function() {}, 'foo'].forEach((error) => { - common.expectsError(() => { + assert.throws(() => { process.report.getReport(error); }, { code: 'ERR_INVALID_ARG_TYPE' }); }); diff --git a/test/report/test-report-worker.js b/test/report/test-report-worker.js new file mode 100644 index 00000000000000..a34c05f08431de --- /dev/null +++ b/test/report/test-report-worker.js @@ -0,0 +1,50 @@ +// Flags: --experimental-report +'use strict'; +const common = require('../common'); +common.skipIfReportDisabled(); +const assert = require('assert'); +const { Worker } = require('worker_threads'); +const { once } = require('events'); +const helper = require('../common/report'); + +async function basic() { + // Test that the report includes basic information about Worker threads. + + const w = new Worker(` + const { parentPort } = require('worker_threads'); + parentPort.once('message', () => { + /* Wait for message to stop the Worker */ + }); + `, { eval: true }); + + await once(w, 'online'); + + const report = process.report.getReport(); + helper.validateContent(report); + assert.strictEqual(report.workers.length, 1); + helper.validateContent(report.workers[0]); + + w.postMessage({}); + + await once(w, 'exit'); +} + +async function interruptingJS() { + // Test that the report also works when Worker threads are busy in JS land. + + const w = new Worker('while (true);', { eval: true }); + + await once(w, 'online'); + + const report = process.report.getReport(); + helper.validateContent(report); + assert.strictEqual(report.workers.length, 1); + helper.validateContent(report.workers[0]); + + await w.terminate(); +} + +(async function() { + await basic(); + await interruptingJS(); +})().then(common.mustCall()); diff --git a/test/report/test-report-writereport.js b/test/report/test-report-writereport.js index 5ab3af0e299eee..a72744fcd4fcb7 100644 --- a/test/report/test-report-writereport.js +++ b/test/report/test-report-writereport.js @@ -79,14 +79,14 @@ function validate() { // Test with an invalid file argument. [null, 1, Symbol(), function() {}].forEach((file) => { - common.expectsError(() => { + assert.throws(() => { process.report.writeReport(file); }, { code: 'ERR_INVALID_ARG_TYPE' }); }); // Test with an invalid error argument. [null, 1, Symbol(), function() {}, 'foo'].forEach((error) => { - common.expectsError(() => { + assert.throws(() => { process.report.writeReport('file', error); }, { code: 'ERR_INVALID_ARG_TYPE' }); }); diff --git a/test/root.status b/test/root.status index 91aad08caa3527..e3431ec9465066 100644 --- a/test/root.status +++ b/test/root.status @@ -34,10 +34,8 @@ parallel/test-eslint-eslint-check: SLOW parallel/test-eslint-inspector-check: SLOW parallel/test-eslint-lowercase-name-for-primitive: SLOW parallel/test-eslint-no-unescaped-regexp-dot: SLOW -parallel/test-eslint-number-isnan: SLOW parallel/test-eslint-prefer-assert-iferror: SLOW parallel/test-eslint-prefer-assert-methods: SLOW -parallel/test-eslint-prefer-common-expectserror: SLOW parallel/test-eslint-prefer-common-mustnotcall: SLOW parallel/test-eslint-prefer-util-format-errors: SLOW parallel/test-eslint-require-buffer: SLOW @@ -154,6 +152,7 @@ sequential/test-inspector-port-cluster: SLOW sequential/test-net-bytes-per-incoming-chunk-overhead: SLOW sequential/test-pipe: SLOW sequential/test-util-debug: SLOW +sequential/test-worker-prof: SLOW [$type==coverage] async-hooks/test-callback-error: PASS,FAIL,CRASH diff --git a/test/sequential/test-crypto-timing-safe-equal.js b/test/sequential/test-crypto-timing-safe-equal.js index 05d5a2a3881900..f9709ac966d6a1 100644 --- a/test/sequential/test-crypto-timing-safe-equal.js +++ b/test/sequential/test-crypto-timing-safe-equal.js @@ -32,31 +32,31 @@ assert.strictEqual( } } -common.expectsError( +assert.throws( () => crypto.timingSafeEqual(Buffer.from([1, 2, 3]), Buffer.from([1, 2])), { code: 'ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH', - type: RangeError, + name: 'RangeError', message: 'Input buffers must have the same byte length' } ); -common.expectsError( +assert.throws( () => crypto.timingSafeEqual('not a buffer', Buffer.from([1, 2])), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "buf1" argument must be an instance of Buffer, TypedArray, or ' + "DataView. Received type string ('not a buffer')" } ); -common.expectsError( +assert.throws( () => crypto.timingSafeEqual(Buffer.from([1, 2]), 'not a buffer'), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "buf2" argument must be an instance of Buffer, TypedArray, or ' + "DataView. Received type string ('not a buffer')" diff --git a/test/sequential/test-heapdump.js b/test/sequential/test-heapdump.js index 474979914a209e..61a089dc677b70 100644 --- a/test/sequential/test-heapdump.js +++ b/test/sequential/test-heapdump.js @@ -25,9 +25,9 @@ process.chdir(tmpdir.path); } [1, true, {}, [], null, Infinity, NaN].forEach((i) => { - common.expectsError(() => writeHeapSnapshot(i), { + assert.throws(() => writeHeapSnapshot(i), { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, + name: 'TypeError', message: 'The "path" argument must be of type string or an instance of ' + 'Buffer or URL.' + common.invalidArgTypeHelper(i) diff --git a/test/sequential/test-http2-max-session-memory.js b/test/sequential/test-http2-max-session-memory.js index f770ee113945fc..9b77a45c3227fd 100644 --- a/test/sequential/test-http2-max-session-memory.js +++ b/test/sequential/test-http2-max-session-memory.js @@ -33,7 +33,7 @@ server.listen(0, common.mustCall(() => { const req = client.request(); req.on('error', common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR', - type: Error, + name: 'Error', message: 'Stream closed with error code NGHTTP2_ENHANCE_YOUR_CALM' })); req.on('close', common.mustCall(() => { diff --git a/test/sequential/test-https-keep-alive-large-write.js b/test/sequential/test-https-keep-alive-large-write.js deleted file mode 100644 index 79381ba8735756..00000000000000 --- a/test/sequential/test-https-keep-alive-large-write.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; -const common = require('../common'); -if (!common.hasCrypto) - common.skip('missing crypto'); -const fixtures = require('../common/fixtures'); -const https = require('https'); - -// This test assesses whether long-running writes can complete -// or timeout because the socket is not aware that the backing -// stream is still writing. - -const writeSize = 30000000; -let socket; - -const server = https.createServer({ - key: fixtures.readKey('agent1-key.pem'), - cert: fixtures.readKey('agent1-cert.pem') -}, common.mustCall((req, res) => { - const content = Buffer.alloc(writeSize, 0x44); - - res.writeHead(200, { - 'Content-Type': 'application/octet-stream', - 'Content-Length': content.length.toString(), - 'Vary': 'Accept-Encoding' - }); - - socket = res.socket; - const onTimeout = socket._onTimeout; - socket._onTimeout = common.mustCallAtLeast(() => onTimeout.call(socket), 1); - res.write(content); - res.end(); -})); -server.on('timeout', common.mustNotCall()); - -server.listen(0, common.mustCall(() => { - https.get({ - path: '/', - port: server.address().port, - rejectUnauthorized: false - }, (res) => { - res.once('data', () => { - socket._onTimeout(); - res.on('data', () => {}); - }); - res.on('end', () => server.close()); - }); -})); diff --git a/test/sequential/test-inspector-port-cluster.js b/test/sequential/test-inspector-port-cluster.js index 55a0d149068ead..a6c961084352d4 100644 --- a/test/sequential/test-inspector-port-cluster.js +++ b/test/sequential/test-inspector-port-cluster.js @@ -209,7 +209,7 @@ function testRunnerMain() { function masterProcessMain() { const workers = JSON.parse(process.env.workers); const clusterSettings = JSON.parse(process.env.clusterSettings) || {}; - const badPortError = { type: RangeError, code: 'ERR_SOCKET_BAD_PORT' }; + const badPortError = { name: 'RangeError', code: 'ERR_SOCKET_BAD_PORT' }; let debugPort = process.debugPort; for (const worker of workers) { @@ -240,7 +240,7 @@ function masterProcessMain() { clusterSettings.inspectPort = 'string'; cluster.setupMaster(clusterSettings); - common.expectsError(() => { + assert.throws(() => { cluster.fork(params).on('exit', common.mustCall(checkExitCode)); }, badPortError); @@ -249,7 +249,7 @@ function masterProcessMain() { clusterSettings.inspectPort = null; cluster.setupMaster(clusterSettings); - common.expectsError(() => { + assert.throws(() => { cluster.fork(params).on('exit', common.mustCall(checkExitCode)); }, badPortError); @@ -258,7 +258,7 @@ function masterProcessMain() { clusterSettings.inspectPort = 1293812; cluster.setupMaster(clusterSettings); - common.expectsError(() => { + assert.throws(() => { cluster.fork(params).on('exit', common.mustCall(checkExitCode)); }, badPortError); @@ -267,7 +267,7 @@ function masterProcessMain() { clusterSettings.inspectPort = -9776; cluster.setupMaster(clusterSettings); - common.expectsError(() => { + assert.throws(() => { cluster.fork(params).on('exit', common.mustCall(checkExitCode)); }, badPortError); @@ -280,7 +280,7 @@ function masterProcessMain() { cluster.setupMaster(clusterSettings); - common.expectsError(() => { + assert.throws(() => { cluster.fork(params).on('exit', common.mustCall(checkExitCode)); }, badPortError); @@ -293,7 +293,7 @@ function masterProcessMain() { cluster.setupMaster(clusterSettings); - common.expectsError(() => { + assert.throws(() => { cluster.fork(params).on('exit', common.mustCall(checkExitCode)); }, badPortError); diff --git a/test/sequential/test-net-reconnect-error.js b/test/sequential/test-net-reconnect-error.js index e16d567c0ad1bb..93d8f3673abda4 100644 --- a/test/sequential/test-net-reconnect-error.js +++ b/test/sequential/test-net-reconnect-error.js @@ -24,24 +24,17 @@ const common = require('../common'); const net = require('net'); const assert = require('assert'); const N = 20; -let client_error_count = 0; -let disconnect_count = 0; +let disconnectCount = 0; const c = net.createConnection(common.PORT); c.on('connect', common.mustNotCall('client should not have connected')); c.on('error', common.mustCall((e) => { - client_error_count++; assert.strictEqual(e.code, 'ECONNREFUSED'); }, N + 1)); c.on('close', common.mustCall(() => { - if (disconnect_count++ < N) + if (disconnectCount++ < N) c.connect(common.PORT); // reconnect }, N + 1)); - -process.on('exit', function() { - assert.strictEqual(disconnect_count, N + 1); - assert.strictEqual(client_error_count, N + 1); -}); diff --git a/test/sequential/test-perf-hooks.js b/test/sequential/test-perf-hooks.js index 825cf85ef5a059..c9ac860d347eca 100644 --- a/test/sequential/test-perf-hooks.js +++ b/test/sequential/test-perf-hooks.js @@ -33,11 +33,11 @@ assert(inited < 15000); }); [undefined, null, 'foo', 1].forEach((i) => { - common.expectsError( + assert.throws( () => performance.measure('test', 'A', i), { code: 'ERR_INVALID_PERFORMANCE_MARK', - type: Error, + name: 'Error', message: `The "${i}" performance mark has not been set` }); }); diff --git a/test/sequential/test-performance-eventloopdelay.js b/test/sequential/test-performance-eventloopdelay.js index 8e7ee4f0ad9cbf..47c54a2543fd54 100644 --- a/test/sequential/test-performance-eventloopdelay.js +++ b/test/sequential/test-performance-eventloopdelay.js @@ -20,30 +20,30 @@ const { sleep } = require('internal/util'); { [null, 'a', 1, false, Infinity].forEach((i) => { - common.expectsError( + assert.throws( () => monitorEventLoopDelay(i), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE' } ); }); [null, 'a', false, {}, []].forEach((i) => { - common.expectsError( + assert.throws( () => monitorEventLoopDelay({ resolution: i }), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE' } ); }); [-1, 0, Infinity].forEach((i) => { - common.expectsError( + assert.throws( () => monitorEventLoopDelay({ resolution: i }), { - type: RangeError, + name: 'RangeError', code: 'ERR_INVALID_OPT_VALUE' } ); @@ -78,19 +78,19 @@ const { sleep } = require('internal/util'); assert.strictEqual(histogram.percentiles.size, 1); ['a', false, {}, []].forEach((i) => { - common.expectsError( + assert.throws( () => histogram.percentile(i), { - type: TypeError, + name: 'TypeError', code: 'ERR_INVALID_ARG_TYPE' } ); }); [-1, 0, 101].forEach((i) => { - common.expectsError( + assert.throws( () => histogram.percentile(i), { - type: RangeError, + name: 'RangeError', code: 'ERR_INVALID_ARG_VALUE' } ); diff --git a/test/sequential/test-tls-lookup.js b/test/sequential/test-tls-lookup.js index 568ba1350675e1..dcdd9724e3c070 100644 --- a/test/sequential/test-tls-lookup.js +++ b/test/sequential/test-tls-lookup.js @@ -3,6 +3,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const assert = require('assert'); const tls = require('tls'); ['foobar', 1, {}, []].forEach(function connectThrows(input) { @@ -12,11 +13,11 @@ const tls = require('tls'); lookup: input }; - common.expectsError(function() { + assert.throws(() => { tls.connect(opts); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); }); diff --git a/test/sequential/test-tls-psk-client.js b/test/sequential/test-tls-psk-client.js index 7c9fb939674dba..af9629dab9dc23 100644 --- a/test/sequential/test-tls-psk-client.js +++ b/test/sequential/test-tls-psk-client.js @@ -37,6 +37,7 @@ const timeout = setTimeout(() => cleanUp('Timeouted'), 5000); function waitForPort(port, cb) { const socket = net.connect(common.PORT, () => { + socket.on('data', () => {}); socket.end(); socket.on('end', cb); }); diff --git a/test/sequential/test-tls-securepair-client.js b/test/sequential/test-tls-securepair-client.js index c450410baf907c..d5e2b7b7d2b08d 100644 --- a/test/sequential/test-tls-securepair-client.js +++ b/test/sequential/test-tls-securepair-client.js @@ -62,7 +62,7 @@ function test(keyPath, certPath, check, next) { const cert = fixtures.readSync(certPath).toString(); const server = spawn(common.opensslCli, ['s_server', - '-accept', common.PORT, + '-accept', 0, '-cert', fixtures.path(certPath), '-key', fixtures.path(keyPath)]); server.stdout.pipe(process.stdout); @@ -78,10 +78,11 @@ function test(keyPath, certPath, check, next) { console.log(state); switch (state) { case 'WAIT-ACCEPT': - if (/ACCEPT/.test(serverStdoutBuffer)) { - // Give s_server half a second to start up. - setTimeout(startClient, 500); + const matches = serverStdoutBuffer.match(/ACCEPT .*?:(\d+)/); + if (matches) { + const port = matches[1]; state = 'WAIT-HELLO'; + startClient(port); } break; @@ -117,7 +118,7 @@ function test(keyPath, certPath, check, next) { }); - function startClient() { + function startClient(port) { const s = new net.Stream(); const sslcontext = tls.createSecureContext({ key, cert }); @@ -131,7 +132,7 @@ function test(keyPath, certPath, check, next) { pair.encrypted.pipe(s); s.pipe(pair.encrypted); - s.connect(common.PORT); + s.connect(port); s.on('connect', function() { console.log('client connected'); diff --git a/test/sequential/test-util-debug.js b/test/sequential/test-util-debug.js index c79f99ff283c28..f791eb8a8d2513 100644 --- a/test/sequential/test-util-debug.js +++ b/test/sequential/test-util-debug.js @@ -22,6 +22,7 @@ 'use strict'; const common = require('../common'); const assert = require('assert'); +const util = require('util'); const [, , modeArgv, sectionArgv] = process.argv; @@ -54,19 +55,36 @@ function parent() { test('*-test', true, 'abc-test'); } -function test(environ, shouldWrite, section) { +function test(environ, shouldWrite, section, forceColors = false) { let expectErr = ''; const expectOut = 'ok\n'; const spawn = require('child_process').spawn; const child = spawn(process.execPath, [__filename, 'child', section], { - env: Object.assign(process.env, { NODE_DEBUG: environ }) + env: Object.assign(process.env, { + NODE_DEBUG: environ, + FORCE_COLOR: forceColors ? 'true' : 'false' + }) }); if (shouldWrite) { - expectErr = - `${section.toUpperCase()} ${child.pid}: this { is: 'a' } /debugging/\n${ - section.toUpperCase()} ${child.pid}: num=1 str=a obj={"foo":"bar"}\n`; + if (forceColors) { + const { colors, styles } = util.inspect; + const addCodes = (arr) => [`\x1B[${arr[0]}m`, `\x1B[${arr[1]}m`]; + const num = addCodes(colors[styles.number]); + const str = addCodes(colors[styles.string]); + const regexp = addCodes(colors[styles.regexp]); + const start = `${section.toUpperCase()} ${num[0]}${child.pid}${num[1]}`; + const debugging = `${regexp[0]}/debugging/${regexp[1]}`; + expectErr = + `${start}: this { is: ${str[0]}'a'${str[1]} } ${debugging}\n` + + `${start}: num=1 str=a obj={"foo":"bar"}\n`; + } else { + const start = `${section.toUpperCase()} ${child.pid}`; + expectErr = + `${start}: this { is: 'a' } /debugging/\n` + + `${start}: num=1 str=a obj={"foo":"bar"}\n`; + } } let err = ''; @@ -85,12 +103,20 @@ function test(environ, shouldWrite, section) { assert(!c); assert.strictEqual(err, expectErr); assert.strictEqual(out, expectOut); + // Run the test again, this time with colors enabled. + if (!forceColors) { + test(environ, shouldWrite, section, true); + } })); } function child(section) { - const util = require('util'); + const tty = require('tty'); + // Make sure we check for colors, no matter of the stream's default. + Object.defineProperty(process.stderr, 'hasColors', { + value: tty.WriteStream.prototype.hasColors + }); const debug = util.debuglog(section); debug('this', { is: 'a' }, /debugging/); debug('num=%d str=%s obj=%j', 1, 'a', { foo: 'bar' }); diff --git a/test/v8-updates/test-postmortem-metadata.js b/test/v8-updates/test-postmortem-metadata.js index 790d0dbb5c29b5..b7b830daf458d4 100644 --- a/test/v8-updates/test-postmortem-metadata.js +++ b/test/v8-updates/test-postmortem-metadata.js @@ -48,7 +48,8 @@ const missing = getExpectedSymbols().filter((symbol) => { return !symbols.includes(symbol); }); -assert.strictEqual(missing.length, 0, `Missing constants: ${missing}`); +assert.strictEqual(missing.length, 0, + `Missing constants: \n${missing.join('\n')}`); // This is only a function so that the long list of expected symbols can be // pushed to the bottom of the file for improved readability. @@ -58,6 +59,7 @@ function getExpectedSymbols() { // should only consist of postmortem constants, and some of them can be // relatively long. /* eslint-disable max-len */ + 'v8dbg_class_DescriptorArray__header_size__uintptr_t', 'v8dbg_bit_field3_is_dictionary_map_shift', 'v8dbg_bit_field3_number_of_own_descriptors_shift', 'v8dbg_class_Code__instruction_size__int', diff --git a/test/wasi/c/create_symlink.c b/test/wasi/c/create_symlink.c new file mode 100644 index 00000000000000..094484ee7db745 --- /dev/null +++ b/test/wasi/c/create_symlink.c @@ -0,0 +1,26 @@ +#include +#include +#include +#include + +int main() { + const char* target = "./input.txt"; + const char* linkpath = "/sandbox/subdir/test_link"; + char readlink_result[128]; + size_t result_size = sizeof(readlink_result); + + assert(0 == symlink(target, linkpath)); + assert(readlink(linkpath, readlink_result, result_size) == + strlen(target) + 1); + assert(0 == strcmp(readlink_result, target)); + + FILE* file = fopen(linkpath, "r"); + assert(file != NULL); + + int c = fgetc(file); + while (c != EOF) { + int wrote = fputc(c, stdout); + assert(wrote != EOF); + c = fgetc(file); + } +} diff --git a/test/wasi/c/freopen.c b/test/wasi/c/freopen.c new file mode 100644 index 00000000000000..0f47058da2ca95 --- /dev/null +++ b/test/wasi/c/freopen.c @@ -0,0 +1,16 @@ +#include +#include + +int main() { + FILE* file_orig = fopen("/sandbox/input.txt", "r"); + assert(file_orig != NULL); + FILE* file_new = freopen("/sandbox/input2.txt", "r", file_orig); + assert(file_new != NULL); + + int c = fgetc(file_new); + while (c != EOF) { + int wrote = fputc((char)c, stdout); + assert(wrote != EOF); + c = fgetc(file_new); + } +} diff --git a/test/wasi/c/link.c b/test/wasi/c/link.c new file mode 100644 index 00000000000000..16added7d5c604 --- /dev/null +++ b/test/wasi/c/link.c @@ -0,0 +1,17 @@ +#include +#include +#include + +#define OLD "/sandbox/input.txt" +#define NEW "/tmp/output.txt" + +int main() { + struct stat st_old; + struct stat st_new; + + assert(0 == stat(OLD, &st_old)); + assert(0 == link(OLD, NEW)); + assert(0 == stat(NEW, &st_new)); + assert(st_old.st_ino == st_new.st_ino); + return 0; +} diff --git a/test/wasi/c/main_args.c b/test/wasi/c/main_args.c new file mode 100644 index 00000000000000..48fbfa33ea523e --- /dev/null +++ b/test/wasi/c/main_args.c @@ -0,0 +1,10 @@ +#include +#include + +int main(int argc, char** argv) { + assert(argc == 3); + assert(0 == strcmp(argv[0], "foo")); + assert(0 == strcmp(argv[1], "-bar")); + assert(0 == strcmp(argv[2], "--baz=value")); + return 0; +} diff --git a/test/wasi/c/stat.c b/test/wasi/c/stat.c index fd3854937b9e6e..e4fcafd713d855 100644 --- a/test/wasi/c/stat.c +++ b/test/wasi/c/stat.c @@ -49,5 +49,15 @@ int main(void) { ret = stat(PATH, &st); assert(ret == -1); + ret = stat(OUTPUT_DIR, &st); + assert(ret == 0); + assert(S_ISDIR(st.st_mode)); + + ret = rmdir(OUTPUT_DIR); + assert(ret == 0); + + ret = stat(OUTPUT_DIR, &st); + assert(ret == -1); + return 0; } diff --git a/test/wasi/test-wasi-symlinks.js b/test/wasi/test-wasi-symlinks.js index 8332c8d147d9c4..d1ec796125cb53 100644 --- a/test/wasi/test-wasi-symlinks.js +++ b/test/wasi/test-wasi-symlinks.js @@ -50,10 +50,12 @@ if (process.argv[2] === 'wasi-child') { fs.mkdirSync(sandboxedDir); fs.writeFileSync(sandboxedFile, 'hello from input.txt', 'utf8'); fs.writeFileSync(externalFile, 'this should be inaccessible', 'utf8'); - fs.symlinkSync(sandboxedFile, sandboxedSymlink, 'file'); - fs.symlinkSync(externalFile, escapingSymlink, 'file'); - fs.symlinkSync(loopSymlink2, loopSymlink1, 'file'); - fs.symlinkSync(loopSymlink1, loopSymlink2, 'file'); + fs.symlinkSync(path.join('.', 'input.txt'), sandboxedSymlink, 'file'); + fs.symlinkSync(path.join('..', 'outside.txt'), escapingSymlink, 'file'); + fs.symlinkSync(path.join('subdir', 'loop2'), + loopSymlink1, 'file'); + fs.symlinkSync(path.join('subdir', 'loop1'), + loopSymlink2, 'file'); function runWASI(options) { console.log('executing', options.test); @@ -72,6 +74,7 @@ if (process.argv[2] === 'wasi-child') { assert.strictEqual(child.stdout.toString(), options.stdout || ''); } + runWASI({ test: 'create_symlink', stdout: 'hello from input.txt' }); runWASI({ test: 'follow_symlink', stdout: 'hello from input.txt' }); runWASI({ test: 'symlink_escape' }); runWASI({ test: 'symlink_loop' }); diff --git a/test/wasi/test-wasi.js b/test/wasi/test-wasi.js index 9c8b2a752778f9..357eb7531fbea2 100644 --- a/test/wasi/test-wasi.js +++ b/test/wasi/test-wasi.js @@ -15,7 +15,7 @@ if (process.argv[2] === 'wasi-child') { tmpdir.refresh(); const wasmDir = path.join(__dirname, 'wasm'); const wasi = new WASI({ - args: [], + args: ['foo', '-bar', '--baz=value'], env: process.env, preopens: { '/sandbox': fixtures.path('wasi'), @@ -60,9 +60,12 @@ if (process.argv[2] === 'wasi-child') { runWASI({ test: 'clock_getres' }); runWASI({ test: 'exitcode', exitCode: 120 }); runWASI({ test: 'fd_prestat_get_refresh' }); + runWASI({ test: 'freopen', stdout: `hello from input2.txt${EOL}` }); runWASI({ test: 'getentropy' }); runWASI({ test: 'getrusage' }); runWASI({ test: 'gettimeofday' }); + runWASI({ test: 'link' }); + runWASI({ test: 'main_args' }); runWASI({ test: 'notdir' }); // runWASI({ test: 'poll' }); runWASI({ test: 'preopen_populates' }); diff --git a/test/wasi/wasm/create_symlink.wasm b/test/wasi/wasm/create_symlink.wasm new file mode 100755 index 00000000000000..1612e975d87e5d Binary files /dev/null and b/test/wasi/wasm/create_symlink.wasm differ diff --git a/test/wasi/wasm/freopen.wasm b/test/wasi/wasm/freopen.wasm new file mode 100755 index 00000000000000..fb417fbe21fa69 Binary files /dev/null and b/test/wasi/wasm/freopen.wasm differ diff --git a/test/wasi/wasm/link.wasm b/test/wasi/wasm/link.wasm new file mode 100755 index 00000000000000..60f5c07601a2af Binary files /dev/null and b/test/wasi/wasm/link.wasm differ diff --git a/test/wasi/wasm/main_args.wasm b/test/wasi/wasm/main_args.wasm new file mode 100755 index 00000000000000..60cb69defe2d32 Binary files /dev/null and b/test/wasi/wasm/main_args.wasm differ diff --git a/test/wasi/wasm/stat.wasm b/test/wasi/wasm/stat.wasm index 0d7980970fbe8b..62093147938347 100755 Binary files a/test/wasi/wasm/stat.wasm and b/test/wasi/wasm/stat.wasm differ diff --git a/tools/code_cache/cache_builder.cc b/tools/code_cache/cache_builder.cc index 8210355c4c37e2..28d61a6c70c467 100644 --- a/tools/code_cache/cache_builder.cc +++ b/tools/code_cache/cache_builder.cc @@ -1,4 +1,5 @@ #include "cache_builder.h" +#include "debug_utils-inl.h" #include "node_native_module.h" #include "util.h" @@ -67,8 +68,7 @@ static void GetInitializer(const std::string& id, std::stringstream& ss) { } static std::string GenerateCodeCache( - const std::map& data, - bool log_progress) { + const std::map& data) { std::stringstream ss; ss << R"(#include #include "node_native_module_env.h" @@ -89,11 +89,13 @@ const bool has_code_cache = true; total += cached_data->length; std::string def = GetDefinition(id, cached_data->length, cached_data->data); ss << def << "\n\n"; - if (log_progress) { - std::cout << "Generated cache for " << id - << ", size = " << FormatSize(cached_data->length) - << ", total = " << FormatSize(total) << "\n"; - } + std::string size_str = FormatSize(cached_data->length); + std::string total_str = FormatSize(total); + per_process::Debug(DebugCategory::CODE_CACHE, + "Generated cache for %s, size = %s, total = %s\n", + id.c_str(), + size_str.c_str(), + total_str.c_str()); } ss << R"(void NativeModuleEnv::InitializeCodeCache() { @@ -142,14 +144,7 @@ std::string CodeCacheBuilder::Generate(Local context) { } } - char env_buf[32]; - size_t env_size = sizeof(env_buf); - int ret = uv_os_getenv("NODE_DEBUG", env_buf, &env_size); - bool log_progress = false; - if (ret == 0 && strcmp(env_buf, "mkcodecache") == 0) { - log_progress = true; - } - return GenerateCodeCache(data, log_progress); + return GenerateCodeCache(data); } } // namespace native_module diff --git a/tools/code_cache/mkcodecache.cc b/tools/code_cache/mkcodecache.cc index e5b43a44b8d0d6..34af7bc61ba374 100644 --- a/tools/code_cache/mkcodecache.cc +++ b/tools/code_cache/mkcodecache.cc @@ -6,6 +6,7 @@ #include #include "cache_builder.h" +#include "debug_utils-inl.h" #include "libplatform/libplatform.h" #include "v8.h" @@ -40,6 +41,8 @@ int main(int argc, char* argv[]) { return 1; } + node::per_process::enabled_debug_list.Parse(nullptr); + std::unique_ptr platform = v8::platform::NewDefaultPlatform(); v8::V8::InitializePlatform(platform.get()); v8::V8::Initialize(); diff --git a/tools/doc/generate.js b/tools/doc/generate.js index aac8bfd5e7ba21..dcb72a99d931f6 100644 --- a/tools/doc/generate.js +++ b/tools/doc/generate.js @@ -42,6 +42,7 @@ let filename = null; let nodeVersion = null; let outputDir = null; let apilinks = {}; +let versions = {}; async function main() { for (const arg of args) { @@ -58,6 +59,13 @@ async function main() { throw new Error(`${linkFile} is empty`); } apilinks = JSON.parse(data); + } else if (arg.startsWith('--versions-file=')) { + const versionsFile = arg.replace(/^--versions-file=/, ''); + const data = await fs.readFile(versionsFile, 'utf8'); + if (!data.trim()) { + throw new Error(`${versionsFile} is empty`); + } + versions = JSON.parse(data); } } @@ -84,7 +92,8 @@ async function main() { .use(htmlStringify) .process(input); - const myHtml = await html.toHTML({ input, content, filename, nodeVersion }); + const myHtml = await html.toHTML({ input, content, filename, nodeVersion, + versions }); const basename = path.basename(filename, '.md'); const htmlTarget = path.join(outputDir, `${basename}.html`); const jsonTarget = path.join(outputDir, `${basename}.json`); diff --git a/tools/doc/html.js b/tools/doc/html.js index f4246a781c5a79..acd62c3e8d0ddb 100644 --- a/tools/doc/html.js +++ b/tools/doc/html.js @@ -23,7 +23,6 @@ const common = require('./common.js'); const fs = require('fs'); -const getVersions = require('./versions.js'); const unified = require('unified'); const find = require('unist-util-find'); const visit = require('unist-util-visit'); @@ -63,7 +62,7 @@ const gtocHTML = unified() const templatePath = path.join(docPath, 'template.html'); const template = fs.readFileSync(templatePath, 'utf8'); -async function toHTML({ input, content, filename, nodeVersion }) { +function toHTML({ input, content, filename, nodeVersion, versions }) { filename = path.basename(filename, '.md'); const id = filename.replace(/\W+/g, '-'); @@ -81,7 +80,7 @@ async function toHTML({ input, content, filename, nodeVersion }) { const docCreated = input.match( //); if (docCreated) { - HTML = HTML.replace('__ALTDOCS__', await altDocs(filename, docCreated)); + HTML = HTML.replace('__ALTDOCS__', altDocs(filename, docCreated, versions)); } else { console.error(`Failed to add alternative version links to ${filename}`); HTML = HTML.replace('__ALTDOCS__', ''); @@ -391,10 +390,9 @@ function getId(text, idCounters) { return text; } -async function altDocs(filename, docCreated) { +function altDocs(filename, docCreated, versions) { const [, docCreatedMajor, docCreatedMinor] = docCreated.map(Number); const host = 'https://nodejs.org'; - const versions = await getVersions.versions(); const getHref = (versionNum) => `${host}/docs/latest-v${versionNum}/api/${filename}.html`; diff --git a/tools/doc/json.js b/tools/doc/json.js index e07486265cf0dd..94241d9903ef45 100644 --- a/tools/doc/json.js +++ b/tools/doc/json.js @@ -435,13 +435,15 @@ const r = String.raw; const eventPrefix = '^Event: +'; const classPrefix = '^[Cc]lass: +'; -const ctorPrefix = '^(?:[Cc]onstructor: +)?new +'; +const ctorPrefix = '^(?:[Cc]onstructor: +)?`?new +'; const classMethodPrefix = '^Class Method: +'; const maybeClassPropertyPrefix = '(?:Class Property: +)?'; const maybeQuote = '[\'"]?'; const notQuotes = '[^\'"]+'; +const maybeBacktick = '`?'; + // To include constructs like `readable\[Symbol.asyncIterator\]()` // or `readable.\_read(size)` (with Markdown escapes). const simpleId = r`(?:(?:\\?_)+|\b)\w+\b`; @@ -458,25 +460,27 @@ const noCallOrProp = '(?![.[(])'; const maybeExtends = `(?: +extends +${maybeAncestors}${classId})?`; +/* eslint-disable max-len */ const headingExpressions = [ { type: 'event', re: RegExp( - `${eventPrefix}${maybeQuote}(${notQuotes})${maybeQuote}$`, 'i') }, + `${eventPrefix}${maybeBacktick}${maybeQuote}(${notQuotes})${maybeQuote}${maybeBacktick}$`, 'i') }, { type: 'class', re: RegExp( - `${classPrefix}(${maybeAncestors}${classId})${maybeExtends}$`, '') }, + `${classPrefix}${maybeBacktick}(${maybeAncestors}${classId})${maybeExtends}${maybeBacktick}$`, '') }, { type: 'ctor', re: RegExp( - `${ctorPrefix}(${maybeAncestors}${classId})${callWithParams}$`, '') }, + `${ctorPrefix}(${maybeAncestors}${classId})${callWithParams}${maybeBacktick}$`, '') }, { type: 'classMethod', re: RegExp( - `${classMethodPrefix}${maybeAncestors}(${id})${callWithParams}$`, 'i') }, + `${classMethodPrefix}${maybeBacktick}${maybeAncestors}(${id})${callWithParams}${maybeBacktick}$`, 'i') }, { type: 'method', re: RegExp( - `^${maybeAncestors}(${id})${callWithParams}$`, 'i') }, + `^${maybeBacktick}${maybeAncestors}(${id})${callWithParams}${maybeBacktick}$`, 'i') }, { type: 'property', re: RegExp( - `^${maybeClassPropertyPrefix}${ancestors}(${id})${noCallOrProp}$`, 'i') }, + `^${maybeClassPropertyPrefix}${maybeBacktick}${ancestors}(${id})${maybeBacktick}${noCallOrProp}$`, 'i') }, ]; +/* eslint-enable max-len */ function newSection(header, file) { const text = textJoin(header.children, file); diff --git a/tools/doc/versions.js b/tools/doc/versions.js index 7a4e2c3ff76b1a..52f5648ecae92f 100644 --- a/tools/doc/versions.js +++ b/tools/doc/versions.js @@ -1,11 +1,9 @@ 'use strict'; -const { readFileSync } = require('fs'); +const { readFileSync, writeFileSync } = require('fs'); const path = require('path'); const srcRoot = path.join(__dirname, '..', '..'); -let _versions; - const isRelease = () => { const re = /#define NODE_VERSION_IS_RELEASE 0/; const file = path.join(srcRoot, 'src', 'node_version.h'); @@ -15,7 +13,7 @@ const isRelease = () => { const getUrl = (url) => { return new Promise((resolve, reject) => { const https = require('https'); - const request = https.get(url, { timeout: 5000 }, (response) => { + const request = https.get(url, { timeout: 30000 }, (response) => { if (response.statusCode !== 200) { reject(new Error( `Failed to get ${url}, status code ${response.statusCode}`)); @@ -31,17 +29,19 @@ const getUrl = (url) => { }); }; -module.exports = { - async versions() { - if (_versions) { - return _versions; - } +const kNoInternet = !!process.env.NODE_TEST_NO_INTERNET; +const outFile = (process.argv.length > 2 ? process.argv[2] : undefined); - // The CHANGELOG.md on release branches may not reference newer semver - // majors of Node.js so fetch and parse the version from the master branch. - const url = - 'https://raw.githubusercontent.com/nodejs/node/master/CHANGELOG.md'; - let changelog; +async function versions() { + // The CHANGELOG.md on release branches may not reference newer semver + // majors of Node.js so fetch and parse the version from the master branch. + const url = + 'https://raw.githubusercontent.com/nodejs/node/master/CHANGELOG.md'; + let changelog; + const file = path.join(srcRoot, 'CHANGELOG.md'); + if (kNoInternet) { + changelog = readFileSync(file, { encoding: 'utf8' }); + } else { try { changelog = await getUrl(url); } catch (e) { @@ -49,22 +49,32 @@ module.exports = { if (isRelease()) { throw e; } else { - const file = path.join(srcRoot, 'CHANGELOG.md'); console.warn(`Unable to retrieve ${url}. Falling back to ${file}.`); changelog = readFileSync(file, { encoding: 'utf8' }); } } - const ltsRE = /Long Term Support/i; - const versionRE = /\* \[Node\.js ([0-9.]+)\][^-—]+[-—]\s*(.*)\r?\n/g; - _versions = []; - let match; - while ((match = versionRE.exec(changelog)) != null) { - const entry = { num: `${match[1]}.x` }; - if (ltsRE.test(match[2])) { - entry.lts = true; - } - _versions.push(entry); + } + const ltsRE = /Long Term Support/i; + const versionRE = /\* \[Node\.js ([0-9.]+)\]\S+ (.*)\r?\n/g; + const _versions = []; + let match; + while ((match = versionRE.exec(changelog)) != null) { + const entry = { num: `${match[1]}.x` }; + if (ltsRE.test(match[2])) { + entry.lts = true; } - return _versions; + _versions.push(entry); } -}; + return _versions; +} + +versions().then((v) => { + if (outFile) { + writeFileSync(outFile, JSON.stringify(v)); + } else { + console.log(JSON.stringify(v)); + } +}).catch((err) => { + console.error(err); + process.exit(1); +}); diff --git a/tools/eslint-rules/number-isnan.js b/tools/eslint-rules/number-isnan.js deleted file mode 100644 index 885c38be8b2384..00000000000000 --- a/tools/eslint-rules/number-isnan.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -const astSelector = "CallExpression[callee.name='isNaN']"; -const msg = 'Please use Number.isNaN instead of the global isNaN function'; - -module.exports = function(context) { - function report(node) { - context.report(node, msg); - } - - return { - [astSelector]: report - }; -}; diff --git a/tools/gyp/DEPS b/tools/gyp/DEPS deleted file mode 100644 index 167fb779b0e1be..00000000000000 --- a/tools/gyp/DEPS +++ /dev/null @@ -1,23 +0,0 @@ -# DEPS file for gclient use in buildbot execution of gyp tests. -# -# (You don't need to use gclient for normal GYP development work.) - -vars = { - "chromium_git": "https://chromium.googlesource.com/", -} - -deps = { -} - -deps_os = { - "win": { - "third_party/cygwin": - Var("chromium_git") + "chromium/deps/cygwin@4fbd5b9", - - "third_party/python_26": - Var("chromium_git") + "chromium/deps/python_26@5bb4080", - - "src/third_party/pefile": - Var("chromium_git") + "external/pefile@72c6ae4", - }, -} diff --git a/tools/gyp/buildbot/buildbot_run.py b/tools/gyp/buildbot/buildbot_run.py deleted file mode 100755 index cdd347d0bcc95a..00000000000000 --- a/tools/gyp/buildbot/buildbot_run.py +++ /dev/null @@ -1,137 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2012 Google Inc. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -"""Argument-less script to select what to run on the buildbots.""" -from __future__ import print_function - -import os -import shutil -import subprocess -import sys - - -BUILDBOT_DIR = os.path.dirname(os.path.abspath(__file__)) -TRUNK_DIR = os.path.dirname(BUILDBOT_DIR) -ROOT_DIR = os.path.dirname(TRUNK_DIR) -CMAKE_DIR = os.path.join(ROOT_DIR, 'cmake') -CMAKE_BIN_DIR = os.path.join(CMAKE_DIR, 'bin') -OUT_DIR = os.path.join(TRUNK_DIR, 'out') - - -def CallSubProcess(*args, **kwargs): - """Wrapper around subprocess.call which treats errors as build exceptions.""" - with open(os.devnull) as devnull_fd: - retcode = subprocess.call(stdin=devnull_fd, *args, **kwargs) - if retcode != 0: - print('@@@STEP_EXCEPTION@@@') - sys.exit(1) - - -def PrepareCmake(): - """Build CMake 2.8.8 since the version in Precise is 2.8.7.""" - if os.environ['BUILDBOT_CLOBBER'] == '1': - print('@@@BUILD_STEP Clobber CMake checkout@@@') - shutil.rmtree(CMAKE_DIR) - - # We always build CMake 2.8.8, so no need to do anything - # if the directory already exists. - if os.path.isdir(CMAKE_DIR): - return - - print('@@@BUILD_STEP Initialize CMake checkout@@@') - os.mkdir(CMAKE_DIR) - - print('@@@BUILD_STEP Sync CMake@@@') - CallSubProcess( - ['git', 'clone', - '--depth', '1', - '--single-branch', - '--branch', 'v2.8.8', - '--', - 'git://cmake.org/cmake.git', - CMAKE_DIR], - cwd=CMAKE_DIR) - - print('@@@BUILD_STEP Build CMake@@@') - CallSubProcess( - ['/bin/bash', 'bootstrap', '--prefix=%s' % CMAKE_DIR], - cwd=CMAKE_DIR) - - CallSubProcess( ['make', 'cmake'], cwd=CMAKE_DIR) - - -def GypTestFormat(title, format=None, msvs_version=None, tests=[]): - """Run the gyp tests for a given format, emitting annotator tags. - - See annotator docs at: - https://sites.google.com/a/chromium.org/dev/developers/testing/chromium-build-infrastructure/buildbot-annotations - Args: - format: gyp format to test. - Returns: - 0 for sucesss, 1 for failure. - """ - if not format: - format = title - - print('@@@BUILD_STEP ' + title + '@@@') - sys.stdout.flush() - env = os.environ.copy() - if msvs_version: - env['GYP_MSVS_VERSION'] = msvs_version - command = ' '.join( - [sys.executable, 'gyp/gyptest.py', - '--all', - '--passed', - '--format', format, - '--path', CMAKE_BIN_DIR, - '--chdir', 'gyp'] + tests) - retcode = subprocess.call(command, cwd=ROOT_DIR, env=env, shell=True) - if retcode: - # Emit failure tag, and keep going. - print('@@@STEP_FAILURE@@@') - return 1 - return 0 - - -def GypBuild(): - # Dump out/ directory. - print('@@@BUILD_STEP cleanup@@@') - print('Removing %s...' % OUT_DIR) - shutil.rmtree(OUT_DIR, ignore_errors=True) - print('Done.') - - retcode = 0 - if sys.platform.startswith('linux'): - retcode += GypTestFormat('ninja') - retcode += GypTestFormat('make') - PrepareCmake() - retcode += GypTestFormat('cmake') - elif sys.platform == 'darwin': - retcode += GypTestFormat('ninja') - retcode += GypTestFormat('xcode') - retcode += GypTestFormat('make') - elif sys.platform == 'win32': - retcode += GypTestFormat('ninja') - if os.environ['BUILDBOT_BUILDERNAME'] == 'gyp-win64': - retcode += GypTestFormat('msvs-ninja-2013', format='msvs-ninja', - msvs_version='2013', - tests=[ - r'test\generator-output\gyptest-actions.py', - r'test\generator-output\gyptest-relocate.py', - r'test\generator-output\gyptest-rules.py']) - retcode += GypTestFormat('msvs-2013', format='msvs', msvs_version='2013') - else: - raise Exception('Unknown platform') - if retcode: - # TODO(bradnelson): once the annotator supports a postscript (section for - # after the build proper that could be used for cumulative failures), - # use that instead of this. This isolates the final return value so - # that it isn't misattributed to the last stage. - print('@@@BUILD_STEP failures@@@') - sys.exit(retcode) - - -if __name__ == '__main__': - GypBuild() diff --git a/tools/gyp/buildbot/commit_queue/OWNERS b/tools/gyp/buildbot/commit_queue/OWNERS deleted file mode 100644 index b269c198b43e3e..00000000000000 --- a/tools/gyp/buildbot/commit_queue/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -set noparent -bradnelson@chromium.org -bradnelson@google.com -iannucci@chromium.org -scottmg@chromium.org -thakis@chromium.org diff --git a/tools/gyp/buildbot/commit_queue/README b/tools/gyp/buildbot/commit_queue/README deleted file mode 100644 index 94284978832702..00000000000000 --- a/tools/gyp/buildbot/commit_queue/README +++ /dev/null @@ -1,3 +0,0 @@ -cq_config.json describes the trybots that must pass in order -to land a change through the commit queue. -Comments are here as the file is strictly JSON. diff --git a/tools/gyp/buildbot/commit_queue/cq_config.json b/tools/gyp/buildbot/commit_queue/cq_config.json deleted file mode 100644 index 656c21e54fb12f..00000000000000 --- a/tools/gyp/buildbot/commit_queue/cq_config.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "trybots": { - "launched": { - "tryserver.nacl": { - "gyp-presubmit": ["defaulttests"], - "gyp-linux": ["defaulttests"], - "gyp-mac": ["defaulttests"], - "gyp-win32": ["defaulttests"], - "gyp-win64": ["defaulttests"] - } - }, - "triggered": { - } - } -} diff --git a/tools/gyp/codereview.settings b/tools/gyp/codereview.settings deleted file mode 100644 index 27fb9f99e25111..00000000000000 --- a/tools/gyp/codereview.settings +++ /dev/null @@ -1,6 +0,0 @@ -# This file is used by git cl to get repository specific information. -CC_LIST: gyp-developer@googlegroups.com -CODE_REVIEW_SERVER: codereview.chromium.org -GERRIT_HOST: True -PROJECT: gyp -VIEW_VC: https://chromium.googlesource.com/external/gyp/+/ diff --git a/tools/gyp/gyp_main.py b/tools/gyp/gyp_main.py index 25a6eba94aae7d..f738e8009f71e7 100755 --- a/tools/gyp/gyp_main.py +++ b/tools/gyp/gyp_main.py @@ -6,10 +6,44 @@ import os import sys +import subprocess + +PY3 = bytes != str + +# Below IsCygwin() function copied from pylib/gyp/common.py +def IsCygwin(): + try: + out = subprocess.Popen("uname", + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) + stdout, stderr = out.communicate() + if PY3: + stdout = stdout.decode("utf-8") + return "CYGWIN" in str(stdout) + except Exception: + return False + + +def UnixifyPath(path): + try: + if not IsCygwin(): + return path + out = subprocess.Popen(["cygpath", "-u", path], + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) + stdout, _ = out.communicate() + if PY3: + stdout = stdout.decode("utf-8") + return str(stdout) + except Exception: + return path + # Make sure we're using the version of pylib in this repo, not one installed -# elsewhere on the system. -sys.path.insert(0, os.path.join(os.path.dirname(sys.argv[0]), 'pylib')) +# elsewhere on the system. Also convert to Unix style path on Cygwin systems, +# else the 'gyp' library will not be found +path = UnixifyPath(sys.argv[0]) +sys.path.insert(0, os.path.join(os.path.dirname(path), 'pylib')) import gyp if __name__ == '__main__': diff --git a/tools/gyp/gyptest.py b/tools/gyp/gyptest.py deleted file mode 100755 index 1a9ffca7a134ae..00000000000000 --- a/tools/gyp/gyptest.py +++ /dev/null @@ -1,243 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2012 Google Inc. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -"""gyptest.py -- test runner for GYP tests.""" - -from __future__ import print_function - -import argparse -import math -import os -import platform -import subprocess -import sys -import time - - -def is_test_name(f): - return f.startswith('gyptest') and f.endswith('.py') - - -def find_all_gyptest_files(directory): - result = [] - for root, dirs, files in os.walk(directory): - result.extend([ os.path.join(root, f) for f in files if is_test_name(f) ]) - result.sort() - return result - - -def main(argv=None): - if argv is None: - argv = sys.argv - - parser = argparse.ArgumentParser() - parser.add_argument("-a", "--all", action="store_true", - help="run all tests") - parser.add_argument("-C", "--chdir", action="store", - help="change to directory") - parser.add_argument("-f", "--format", action="store", default='', - help="run tests with the specified formats") - parser.add_argument("-G", '--gyp_option', action="append", default=[], - help="Add -G options to the gyp command line") - parser.add_argument("-l", "--list", action="store_true", - help="list available tests and exit") - parser.add_argument("-n", "--no-exec", action="store_true", - help="no execute, just print the command line") - parser.add_argument("--path", action="append", default=[], - help="additional $PATH directory") - parser.add_argument("-q", "--quiet", action="store_true", - help="quiet, don't print anything unless there are failures") - parser.add_argument("-v", "--verbose", action="store_true", - help="print configuration info and test results.") - parser.add_argument('tests', nargs='*') - args = parser.parse_args(argv[1:]) - - if args.chdir: - os.chdir(args.chdir) - - if args.path: - extra_path = [os.path.abspath(p) for p in args.path] - extra_path = os.pathsep.join(extra_path) - os.environ['PATH'] = extra_path + os.pathsep + os.environ['PATH'] - - if not args.tests: - if not args.all: - sys.stderr.write('Specify -a to get all tests.\n') - return 1 - args.tests = ['test'] - - tests = [] - for arg in args.tests: - if os.path.isdir(arg): - tests.extend(find_all_gyptest_files(os.path.normpath(arg))) - else: - if not is_test_name(os.path.basename(arg)): - print(arg, 'is not a valid gyp test name.', file=sys.stderr) - sys.exit(1) - tests.append(arg) - - if args.list: - for test in tests: - print(test) - sys.exit(0) - - os.environ['PYTHONPATH'] = os.path.abspath('test/lib') - - if args.verbose: - print_configuration_info() - - if args.gyp_option and not args.quiet: - print('Extra Gyp options: %s\n' % args.gyp_option) - - if args.format: - format_list = args.format.split(',') - else: - format_list = { - 'aix5': ['make'], - 'freebsd7': ['make'], - 'freebsd8': ['make'], - 'openbsd5': ['make'], - 'cygwin': ['msvs'], - 'win32': ['msvs', 'ninja'], - 'linux': ['make', 'ninja'], - 'linux2': ['make', 'ninja'], - 'linux3': ['make', 'ninja'], - - # TODO: Re-enable xcode-ninja. - # https://bugs.chromium.org/p/gyp/issues/detail?id=530 - # 'darwin': ['make', 'ninja', 'xcode', 'xcode-ninja'], - 'darwin': ['make', 'ninja', 'xcode'], - }[sys.platform] - - gyp_options = [] - for option in args.gyp_option: - gyp_options += ['-G', option] - - runner = Runner(format_list, tests, gyp_options, args.verbose) - runner.run() - - if not args.quiet: - runner.print_results() - - if runner.failures: - return 1 - else: - return 0 - - -def print_configuration_info(): - print('Test configuration:') - if sys.platform == 'darwin': - sys.path.append(os.path.abspath('test/lib')) - import TestMac - print(' Mac %s %s' % (platform.mac_ver()[0], platform.mac_ver()[2])) - print(' Xcode %s' % TestMac.Xcode.Version()) - elif sys.platform == 'win32': - sys.path.append(os.path.abspath('pylib')) - import gyp.MSVSVersion - print(' Win %s %s\n' % platform.win32_ver()[0:2]) - print(' MSVS %s' % - gyp.MSVSVersion.SelectVisualStudioVersion().Description()) - elif sys.platform in ('linux', 'linux2'): - print(' Linux %s' % ' '.join(platform.linux_distribution())) - print(' Python %s' % platform.python_version()) - print(' PYTHONPATH=%s' % os.environ['PYTHONPATH']) - print() - - -class Runner(object): - def __init__(self, formats, tests, gyp_options, verbose): - self.formats = formats - self.tests = tests - self.verbose = verbose - self.gyp_options = gyp_options - self.failures = [] - self.num_tests = len(formats) * len(tests) - num_digits = len(str(self.num_tests)) - self.fmt_str = '[%%%dd/%%%dd] (%%s) %%s' % (num_digits, num_digits) - self.isatty = sys.stdout.isatty() and not self.verbose - self.env = os.environ.copy() - self.hpos = 0 - - def run(self): - run_start = time.time() - - i = 1 - for fmt in self.formats: - for test in self.tests: - self.run_test(test, fmt, i) - i += 1 - - if self.isatty: - self.erase_current_line() - - self.took = time.time() - run_start - - def run_test(self, test, fmt, i): - if self.isatty: - self.erase_current_line() - - msg = self.fmt_str % (i, self.num_tests, fmt, test) - self.print_(msg) - - start = time.time() - cmd = [sys.executable, test] + self.gyp_options - self.env['TESTGYP_FORMAT'] = fmt - proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, env=self.env) - proc.wait() - took = time.time() - start - - stdout = proc.stdout.read().decode('utf8') - if proc.returncode == 2: - res = 'skipped' - elif proc.returncode: - res = 'failed' - self.failures.append('(%s) %s' % (test, fmt)) - else: - res = 'passed' - res_msg = ' %s %.3fs' % (res, took) - self.print_(res_msg) - - if (stdout and - not stdout.endswith('PASSED\n') and - not (stdout.endswith('NO RESULT\n'))): - print() - for l in stdout.splitlines(): - print(' %s' % l) - elif not self.isatty: - print() - - def print_(self, msg): - print(msg, end='') - index = msg.rfind('\n') - if index == -1: - self.hpos += len(msg) - else: - self.hpos = len(msg) - index - sys.stdout.flush() - - def erase_current_line(self): - print('\b' * self.hpos + ' ' * self.hpos + '\b' * self.hpos, end='') - sys.stdout.flush() - self.hpos = 0 - - def print_results(self): - num_failures = len(self.failures) - if num_failures: - print() - if num_failures == 1: - print("Failed the following test:") - else: - print("Failed the following %d tests:" % num_failures) - print("\t" + "\n\t".join(sorted(self.failures))) - print() - print('Ran %d tests in %.3fs, %d failed.' % (self.num_tests, self.took, - num_failures)) - print() - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/tools/gyp/pylib/gyp/MSVSSettings.py b/tools/gyp/pylib/gyp/MSVSSettings.py index 0f53ff87c77d54..5dd8f8c1e6e242 100644 --- a/tools/gyp/pylib/gyp/MSVSSettings.py +++ b/tools/gyp/pylib/gyp/MSVSSettings.py @@ -522,8 +522,8 @@ def _ValidateSettings(validators, settings, stderr): try: tool_validators[setting](value) except ValueError as e: - print('Warning: for %s/%s, %s' % (tool_name, setting, e), - file=stderr) + print('Warning: for %s/%s, %s' % + (tool_name, setting, e), file=stderr) else: _ValidateExclusionSetting(setting, tool_validators, @@ -976,7 +976,9 @@ def _ValidateSettings(validators, settings, stderr): _Enumeration(['NotSet', 'Win32', # /env win32 'Itanium', # /env ia64 - 'X64'])) # /env x64 + 'X64', # /env x64 + 'ARM64', # /env arm64 + ])) _Same(_midl, 'EnableErrorChecks', _Enumeration(['EnableCustom', 'None', # /error none diff --git a/tools/gyp/pylib/gyp/MSVSSettings_test.py b/tools/gyp/pylib/gyp/MSVSSettings_test.py index 245478c8dae4ed..77b79e650d8b4e 100755 --- a/tools/gyp/pylib/gyp/MSVSSettings_test.py +++ b/tools/gyp/pylib/gyp/MSVSSettings_test.py @@ -1085,6 +1085,7 @@ def testConvertToMSBuildSettings_full_synthetic(self): 'GenerateManifest': 'true', 'IgnoreImportLibrary': 'true', 'LinkIncremental': 'false'}} + self.maxDiff = 9999 # on failure display a long diff actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings( msvs_settings, self.stderr) @@ -1476,6 +1477,7 @@ def testConvertToMSBuildSettings_actual(self): 'ResourceOutputFileName': '$(IntDir)$(TargetFileName).embed.manifest.resfdsf'} } + self.maxDiff = 9999 # on failure display a long diff actual_msbuild_settings = MSVSSettings.ConvertToMSBuildSettings( msvs_settings, self.stderr) diff --git a/tools/gyp/pylib/gyp/MSVSVersion.py b/tools/gyp/pylib/gyp/MSVSVersion.py index f89f1d0fc2efd6..ce9b349834c947 100644 --- a/tools/gyp/pylib/gyp/MSVSVersion.py +++ b/tools/gyp/pylib/gyp/MSVSVersion.py @@ -12,6 +12,8 @@ import gyp import glob +PY3 = bytes != str + def JoinPath(*args): return os.path.normpath(os.path.join(*args)) @@ -163,6 +165,8 @@ def _RegistryQueryBase(sysdir, key, value): # Obtain the stdout from reg.exe, reading to the end so p.returncode is valid # Note that the error text may be in [1] in some cases text = p.communicate()[0] + if PY3: + text = text.decode('utf-8') # Check return code from reg.exe; officially 0==success and 1==error if p.returncode: return None @@ -385,6 +389,8 @@ def _ConvertToCygpath(path): if sys.platform == 'cygwin': p = subprocess.Popen(['cygpath', path], stdout=subprocess.PIPE) path = p.communicate()[0].strip() + if PY3: + path = path.decode('utf-8') return path diff --git a/tools/gyp/pylib/gyp/common.py b/tools/gyp/pylib/gyp/common.py index 351800ee25e23e..aa410e1dfddbab 100644 --- a/tools/gyp/pylib/gyp/common.py +++ b/tools/gyp/pylib/gyp/common.py @@ -8,12 +8,15 @@ import re import tempfile import sys +import subprocess try: from collections.abc import MutableSet except ImportError: from collections import MutableSet +PY3 = bytes != str + # A minimal memoizing decorator. It'll blow up if the args aren't immutable, # among other "problems". @@ -341,11 +344,16 @@ def WriteOnDiff(filename): class Writer(object): """Wrapper around file which only covers the target if it differs.""" def __init__(self): + # On Cygwin remove the "dir" argument because `C:` prefixed paths are treated as relative, + # consequently ending up with current dir "/cygdrive/c/..." being prefixed to those, which was + # obviously a non-existent path, for example: "/cygdrive/c//C:\". + # See https://docs.python.org/2/library/tempfile.html#tempfile.mkstemp for more details + base_temp_dir = "" if IsCygwin() else os.path.dirname(filename) # Pick temporary file. tmp_fd, self.tmp_path = tempfile.mkstemp( suffix='.tmp', prefix=os.path.split(filename)[1] + '.gyp.', - dir=os.path.split(filename)[0]) + dir=base_temp_dir) try: self.tmp_file = os.fdopen(tmp_fd, 'wb') except Exception: @@ -426,9 +434,7 @@ def GetFlavor(params): return flavors[sys.platform] if sys.platform.startswith('sunos'): return 'solaris' - if sys.platform.startswith('freebsd'): - return 'freebsd' - if sys.platform.startswith('dragonfly'): + if sys.platform.startswith(('dragonfly', 'freebsd')): return 'freebsd' if sys.platform.startswith('openbsd'): return 'openbsd' @@ -436,6 +442,8 @@ def GetFlavor(params): return 'netbsd' if sys.platform.startswith('aix'): return 'aix' + if sys.platform.startswith(('os390', 'zos')): + return 'zos' return 'linux' @@ -620,3 +628,15 @@ def CrossCompileRequested(): os.environ.get('AR_target') or os.environ.get('CC_target') or os.environ.get('CXX_target')) + +def IsCygwin(): + try: + out = subprocess.Popen("uname", + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) + stdout, stderr = out.communicate() + if PY3: + stdout = stdout.decode("utf-8") + return "CYGWIN" in str(stdout) + except Exception: + return False diff --git a/tools/gyp/pylib/gyp/generator/android.py b/tools/gyp/pylib/gyp/generator/android.py new file mode 100644 index 00000000000000..cecb28c3660b5e --- /dev/null +++ b/tools/gyp/pylib/gyp/generator/android.py @@ -0,0 +1,1097 @@ +# Copyright (c) 2012 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# Notes: +# +# This generates makefiles suitable for inclusion into the Android build system +# via an Android.mk file. It is based on make.py, the standard makefile +# generator. +# +# The code below generates a separate .mk file for each target, but +# all are sourced by the top-level GypAndroid.mk. This means that all +# variables in .mk-files clobber one another, and furthermore that any +# variables set potentially clash with other Android build system variables. +# Try to avoid setting global variables where possible. + +from __future__ import print_function + +import gyp +import gyp.common +import gyp.generator.make as make # Reuse global functions from make backend. +import os +import re +import subprocess + +generator_default_variables = { + 'OS': 'android', + 'EXECUTABLE_PREFIX': '', + 'EXECUTABLE_SUFFIX': '', + 'STATIC_LIB_PREFIX': 'lib', + 'SHARED_LIB_PREFIX': 'lib', + 'STATIC_LIB_SUFFIX': '.a', + 'SHARED_LIB_SUFFIX': '.so', + 'INTERMEDIATE_DIR': '$(gyp_intermediate_dir)', + 'SHARED_INTERMEDIATE_DIR': '$(gyp_shared_intermediate_dir)', + 'PRODUCT_DIR': '$(gyp_shared_intermediate_dir)', + 'SHARED_LIB_DIR': '$(builddir)/lib.$(TOOLSET)', + 'LIB_DIR': '$(obj).$(TOOLSET)', + 'RULE_INPUT_ROOT': '%(INPUT_ROOT)s', # This gets expanded by Python. + 'RULE_INPUT_DIRNAME': '%(INPUT_DIRNAME)s', # This gets expanded by Python. + 'RULE_INPUT_PATH': '$(RULE_SOURCES)', + 'RULE_INPUT_EXT': '$(suffix $<)', + 'RULE_INPUT_NAME': '$(notdir $<)', + 'CONFIGURATION_NAME': '$(GYP_CONFIGURATION)', +} + +# Make supports multiple toolsets +generator_supports_multiple_toolsets = True + + +# Generator-specific gyp specs. +generator_additional_non_configuration_keys = [ + # Boolean to declare that this target does not want its name mangled. + 'android_unmangled_name', + # Map of android build system variables to set. + 'aosp_build_settings', +] +generator_additional_path_sections = [] +generator_extra_sources_for_rules = [] + + +ALL_MODULES_FOOTER = """\ +# "gyp_all_modules" is a concatenation of the "gyp_all_modules" targets from +# all the included sub-makefiles. This is just here to clarify. +gyp_all_modules: +""" + +header = """\ +# This file is generated by gyp; do not edit. + +""" + +# Map gyp target types to Android module classes. +MODULE_CLASSES = { + 'static_library': 'STATIC_LIBRARIES', + 'shared_library': 'SHARED_LIBRARIES', + 'executable': 'EXECUTABLES', +} + + +def IsCPPExtension(ext): + return make.COMPILABLE_EXTENSIONS.get(ext) == 'cxx' + + +def Sourceify(path): + """Convert a path to its source directory form. The Android backend does not + support options.generator_output, so this function is a noop.""" + return path + + +# Map from qualified target to path to output. +# For Android, the target of these maps is a tuple ('static', 'modulename'), +# ('dynamic', 'modulename'), or ('path', 'some/path') instead of a string, +# since we link by module. +target_outputs = {} +# Map from qualified target to any linkable output. A subset +# of target_outputs. E.g. when mybinary depends on liba, we want to +# include liba in the linker line; when otherbinary depends on +# mybinary, we just want to build mybinary first. +target_link_deps = {} + + +class AndroidMkWriter(object): + """AndroidMkWriter packages up the writing of one target-specific Android.mk. + + Its only real entry point is Write(), and is mostly used for namespacing. + """ + + def __init__(self, android_top_dir): + self.android_top_dir = android_top_dir + + def Write(self, qualified_target, relative_target, base_path, output_filename, + spec, configs, part_of_all, write_alias_target, sdk_version): + """The main entry point: writes a .mk file for a single target. + + Arguments: + qualified_target: target we're generating + relative_target: qualified target name relative to the root + base_path: path relative to source root we're building in, used to resolve + target-relative paths + output_filename: output .mk file name to write + spec, configs: gyp info + part_of_all: flag indicating this target is part of 'all' + write_alias_target: flag indicating whether to create short aliases for + this target + sdk_version: what to emit for LOCAL_SDK_VERSION in output + """ + gyp.common.EnsureDirExists(output_filename) + + self.fp = open(output_filename, 'w') + + self.fp.write(header) + + self.qualified_target = qualified_target + self.relative_target = relative_target + self.path = base_path + self.target = spec['target_name'] + self.type = spec['type'] + self.toolset = spec['toolset'] + + deps, link_deps = self.ComputeDeps(spec) + + # Some of the generation below can add extra output, sources, or + # link dependencies. All of the out params of the functions that + # follow use names like extra_foo. + extra_outputs = [] + extra_sources = [] + + self.android_class = MODULE_CLASSES.get(self.type, 'GYP') + self.android_module = self.ComputeAndroidModule(spec) + (self.android_stem, self.android_suffix) = self.ComputeOutputParts(spec) + self.output = self.output_binary = self.ComputeOutput(spec) + + # Standard header. + self.WriteLn('include $(CLEAR_VARS)\n') + + # Module class and name. + self.WriteLn('LOCAL_MODULE_CLASS := ' + self.android_class) + self.WriteLn('LOCAL_MODULE := ' + self.android_module) + # Only emit LOCAL_MODULE_STEM if it's different to LOCAL_MODULE. + # The library module classes fail if the stem is set. ComputeOutputParts + # makes sure that stem == modulename in these cases. + if self.android_stem != self.android_module: + self.WriteLn('LOCAL_MODULE_STEM := ' + self.android_stem) + self.WriteLn('LOCAL_MODULE_SUFFIX := ' + self.android_suffix) + if self.toolset == 'host': + self.WriteLn('LOCAL_IS_HOST_MODULE := true') + self.WriteLn('LOCAL_MULTILIB := $(GYP_HOST_MULTILIB)') + elif sdk_version > 0: + self.WriteLn('LOCAL_MODULE_TARGET_ARCH := ' + '$(TARGET_$(GYP_VAR_PREFIX)ARCH)') + self.WriteLn('LOCAL_SDK_VERSION := %s' % sdk_version) + + # Grab output directories; needed for Actions and Rules. + if self.toolset == 'host': + self.WriteLn('gyp_intermediate_dir := ' + '$(call local-intermediates-dir,,$(GYP_HOST_VAR_PREFIX))') + else: + self.WriteLn('gyp_intermediate_dir := ' + '$(call local-intermediates-dir,,$(GYP_VAR_PREFIX))') + self.WriteLn('gyp_shared_intermediate_dir := ' + '$(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))') + self.WriteLn() + + # List files this target depends on so that actions/rules/copies/sources + # can depend on the list. + # TODO: doesn't pull in things through transitive link deps; needed? + target_dependencies = [x[1] for x in deps if x[0] == 'path'] + self.WriteLn('# Make sure our deps are built first.') + self.WriteList(target_dependencies, 'GYP_TARGET_DEPENDENCIES', + local_pathify=True) + + # Actions must come first, since they can generate more OBJs for use below. + if 'actions' in spec: + self.WriteActions(spec['actions'], extra_sources, extra_outputs) + + # Rules must be early like actions. + if 'rules' in spec: + self.WriteRules(spec['rules'], extra_sources, extra_outputs) + + if 'copies' in spec: + self.WriteCopies(spec['copies'], extra_outputs) + + # GYP generated outputs. + self.WriteList(extra_outputs, 'GYP_GENERATED_OUTPUTS', local_pathify=True) + + # Set LOCAL_ADDITIONAL_DEPENDENCIES so that Android's build rules depend + # on both our dependency targets and our generated files. + self.WriteLn('# Make sure our deps and generated files are built first.') + self.WriteLn('LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) ' + '$(GYP_GENERATED_OUTPUTS)') + self.WriteLn() + + # Sources. + if spec.get('sources', []) or extra_sources: + self.WriteSources(spec, configs, extra_sources) + + self.WriteTarget(spec, configs, deps, link_deps, part_of_all, + write_alias_target) + + # Update global list of target outputs, used in dependency tracking. + target_outputs[qualified_target] = ('path', self.output_binary) + + # Update global list of link dependencies. + if self.type == 'static_library': + target_link_deps[qualified_target] = ('static', self.android_module) + elif self.type == 'shared_library': + target_link_deps[qualified_target] = ('shared', self.android_module) + + self.fp.close() + return self.android_module + + + def WriteActions(self, actions, extra_sources, extra_outputs): + """Write Makefile code for any 'actions' from the gyp input. + + extra_sources: a list that will be filled in with newly generated source + files, if any + extra_outputs: a list that will be filled in with any outputs of these + actions (used to make other pieces dependent on these + actions) + """ + for action in actions: + name = make.StringToMakefileVariable('%s_%s' % (self.relative_target, + action['action_name'])) + self.WriteLn('### Rules for action "%s":' % action['action_name']) + inputs = action['inputs'] + outputs = action['outputs'] + + # Build up a list of outputs. + # Collect the output dirs we'll need. + dirs = set() + for out in outputs: + if not out.startswith('$'): + print('WARNING: Action for target "%s" writes output to local path ' + '"%s".' % (self.target, out)) + dir = os.path.split(out)[0] + if dir: + dirs.add(dir) + if int(action.get('process_outputs_as_sources', False)): + extra_sources += outputs + + # Prepare the actual command. + command = gyp.common.EncodePOSIXShellList(action['action']) + if 'message' in action: + quiet_cmd = 'Gyp action: %s ($@)' % action['message'] + else: + quiet_cmd = 'Gyp action: %s ($@)' % name + if len(dirs) > 0: + command = 'mkdir -p %s' % ' '.join(dirs) + '; ' + command + + cd_action = 'cd $(gyp_local_path)/%s; ' % self.path + command = cd_action + command + + # The makefile rules are all relative to the top dir, but the gyp actions + # are defined relative to their containing dir. This replaces the gyp_* + # variables for the action rule with an absolute version so that the + # output goes in the right place. + # Only write the gyp_* rules for the "primary" output (:1); + # it's superfluous for the "extra outputs", and this avoids accidentally + # writing duplicate dummy rules for those outputs. + main_output = make.QuoteSpaces(self.LocalPathify(outputs[0])) + self.WriteLn('%s: gyp_local_path := $(LOCAL_PATH)' % main_output) + self.WriteLn('%s: gyp_var_prefix := $(GYP_VAR_PREFIX)' % main_output) + self.WriteLn('%s: gyp_intermediate_dir := ' + '$(abspath $(gyp_intermediate_dir))' % main_output) + self.WriteLn('%s: gyp_shared_intermediate_dir := ' + '$(abspath $(gyp_shared_intermediate_dir))' % main_output) + + # Android's envsetup.sh adds a number of directories to the path including + # the built host binary directory. This causes actions/rules invoked by + # gyp to sometimes use these instead of system versions, e.g. bison. + # The built host binaries may not be suitable, and can cause errors. + # So, we remove them from the PATH using the ANDROID_BUILD_PATHS variable + # set by envsetup. + self.WriteLn('%s: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))' + % main_output) + + # Don't allow spaces in input/output filenames, but make an exception for + # filenames which start with '$(' since it's okay for there to be spaces + # inside of make function/macro invocations. + for input in inputs: + if not input.startswith('$(') and ' ' in input: + raise gyp.common.GypError( + 'Action input filename "%s" in target %s contains a space' % + (input, self.target)) + for output in outputs: + if not output.startswith('$(') and ' ' in output: + raise gyp.common.GypError( + 'Action output filename "%s" in target %s contains a space' % + (output, self.target)) + + self.WriteLn('%s: %s $(GYP_TARGET_DEPENDENCIES)' % + (main_output, ' '.join(map(self.LocalPathify, inputs)))) + self.WriteLn('\t@echo "%s"' % quiet_cmd) + self.WriteLn('\t$(hide)%s\n' % command) + for output in outputs[1:]: + # Make each output depend on the main output, with an empty command + # to force make to notice that the mtime has changed. + self.WriteLn('%s: %s ;' % (self.LocalPathify(output), main_output)) + + extra_outputs += outputs + self.WriteLn() + + self.WriteLn() + + + def WriteRules(self, rules, extra_sources, extra_outputs): + """Write Makefile code for any 'rules' from the gyp input. + + extra_sources: a list that will be filled in with newly generated source + files, if any + extra_outputs: a list that will be filled in with any outputs of these + rules (used to make other pieces dependent on these rules) + """ + if len(rules) == 0: + return + + for rule in rules: + if len(rule.get('rule_sources', [])) == 0: + continue + name = make.StringToMakefileVariable('%s_%s' % (self.relative_target, + rule['rule_name'])) + self.WriteLn('\n### Generated for rule "%s":' % name) + self.WriteLn('# "%s":' % rule) + + inputs = rule.get('inputs') + for rule_source in rule.get('rule_sources', []): + (rule_source_dirname, rule_source_basename) = os.path.split(rule_source) + (rule_source_root, rule_source_ext) = \ + os.path.splitext(rule_source_basename) + + outputs = [self.ExpandInputRoot(out, rule_source_root, + rule_source_dirname) + for out in rule['outputs']] + + dirs = set() + for out in outputs: + if not out.startswith('$'): + print('WARNING: Rule for target %s writes output to local path %s' + % (self.target, out)) + dir = os.path.dirname(out) + if dir: + dirs.add(dir) + extra_outputs += outputs + if int(rule.get('process_outputs_as_sources', False)): + extra_sources.extend(outputs) + + components = [] + for component in rule['action']: + component = self.ExpandInputRoot(component, rule_source_root, + rule_source_dirname) + if '$(RULE_SOURCES)' in component: + component = component.replace('$(RULE_SOURCES)', + rule_source) + components.append(component) + + command = gyp.common.EncodePOSIXShellList(components) + cd_action = 'cd $(gyp_local_path)/%s; ' % self.path + command = cd_action + command + if dirs: + command = 'mkdir -p %s' % ' '.join(dirs) + '; ' + command + + # We set up a rule to build the first output, and then set up + # a rule for each additional output to depend on the first. + outputs = map(self.LocalPathify, outputs) + main_output = outputs[0] + self.WriteLn('%s: gyp_local_path := $(LOCAL_PATH)' % main_output) + self.WriteLn('%s: gyp_var_prefix := $(GYP_VAR_PREFIX)' % main_output) + self.WriteLn('%s: gyp_intermediate_dir := ' + '$(abspath $(gyp_intermediate_dir))' % main_output) + self.WriteLn('%s: gyp_shared_intermediate_dir := ' + '$(abspath $(gyp_shared_intermediate_dir))' % main_output) + + # See explanation in WriteActions. + self.WriteLn('%s: export PATH := ' + '$(subst $(ANDROID_BUILD_PATHS),,$(PATH))' % main_output) + + main_output_deps = self.LocalPathify(rule_source) + if inputs: + main_output_deps += ' ' + main_output_deps += ' '.join([self.LocalPathify(f) for f in inputs]) + + self.WriteLn('%s: %s $(GYP_TARGET_DEPENDENCIES)' % + (main_output, main_output_deps)) + self.WriteLn('\t%s\n' % command) + for output in outputs[1:]: + # Make each output depend on the main output, with an empty command + # to force make to notice that the mtime has changed. + self.WriteLn('%s: %s ;' % (output, main_output)) + self.WriteLn() + + self.WriteLn() + + + def WriteCopies(self, copies, extra_outputs): + """Write Makefile code for any 'copies' from the gyp input. + + extra_outputs: a list that will be filled in with any outputs of this action + (used to make other pieces dependent on this action) + """ + self.WriteLn('### Generated for copy rule.') + + variable = make.StringToMakefileVariable(self.relative_target + '_copies') + outputs = [] + for copy in copies: + for path in copy['files']: + # The Android build system does not allow generation of files into the + # source tree. The destination should start with a variable, which will + # typically be $(gyp_intermediate_dir) or + # $(gyp_shared_intermediate_dir). Note that we can't use an assertion + # because some of the gyp tests depend on this. + if not copy['destination'].startswith('$'): + print('WARNING: Copy rule for target %s writes output to ' + 'local path %s' % (self.target, copy['destination'])) + + # LocalPathify() calls normpath, stripping trailing slashes. + path = Sourceify(self.LocalPathify(path)) + filename = os.path.split(path)[1] + output = Sourceify(self.LocalPathify(os.path.join(copy['destination'], + filename))) + + self.WriteLn('%s: %s $(GYP_TARGET_DEPENDENCIES) | $(ACP)' % + (output, path)) + self.WriteLn('\t@echo Copying: $@') + self.WriteLn('\t$(hide) mkdir -p $(dir $@)') + self.WriteLn('\t$(hide) $(ACP) -rpf $< $@') + self.WriteLn() + outputs.append(output) + self.WriteLn('%s = %s' % (variable, + ' '.join(map(make.QuoteSpaces, outputs)))) + extra_outputs.append('$(%s)' % variable) + self.WriteLn() + + + def WriteSourceFlags(self, spec, configs): + """Write out the flags and include paths used to compile source files for + the current target. + + Args: + spec, configs: input from gyp. + """ + for configname, config in sorted(configs.items()): + extracted_includes = [] + + self.WriteLn('\n# Flags passed to both C and C++ files.') + cflags, includes_from_cflags = self.ExtractIncludesFromCFlags( + config.get('cflags', []) + config.get('cflags_c', [])) + extracted_includes.extend(includes_from_cflags) + self.WriteList(cflags, 'MY_CFLAGS_%s' % configname) + + self.WriteList(config.get('defines'), 'MY_DEFS_%s' % configname, + prefix='-D', quoter=make.EscapeCppDefine) + + self.WriteLn('\n# Include paths placed before CFLAGS/CPPFLAGS') + includes = list(config.get('include_dirs', [])) + includes.extend(extracted_includes) + includes = map(Sourceify, map(self.LocalPathify, includes)) + includes = self.NormalizeIncludePaths(includes) + self.WriteList(includes, 'LOCAL_C_INCLUDES_%s' % configname) + + self.WriteLn('\n# Flags passed to only C++ (and not C) files.') + self.WriteList(config.get('cflags_cc'), 'LOCAL_CPPFLAGS_%s' % configname) + + self.WriteLn('\nLOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) ' + '$(MY_DEFS_$(GYP_CONFIGURATION))') + # Undefine ANDROID for host modules + # TODO: the source code should not use macro ANDROID to tell if it's host + # or target module. + if self.toolset == 'host': + self.WriteLn('# Undefine ANDROID for host modules') + self.WriteLn('LOCAL_CFLAGS += -UANDROID') + self.WriteLn('LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) ' + '$(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION))') + self.WriteLn('LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION))') + # Android uses separate flags for assembly file invocations, but gyp expects + # the same CFLAGS to be applied: + self.WriteLn('LOCAL_ASFLAGS := $(LOCAL_CFLAGS)') + + + def WriteSources(self, spec, configs, extra_sources): + """Write Makefile code for any 'sources' from the gyp input. + These are source files necessary to build the current target. + We need to handle shared_intermediate directory source files as + a special case by copying them to the intermediate directory and + treating them as a genereated sources. Otherwise the Android build + rules won't pick them up. + + Args: + spec, configs: input from gyp. + extra_sources: Sources generated from Actions or Rules. + """ + sources = filter(make.Compilable, spec.get('sources', [])) + generated_not_sources = [x for x in extra_sources if not make.Compilable(x)] + extra_sources = filter(make.Compilable, extra_sources) + + # Determine and output the C++ extension used by these sources. + # We simply find the first C++ file and use that extension. + all_sources = sources + extra_sources + local_cpp_extension = '.cpp' + for source in all_sources: + (root, ext) = os.path.splitext(source) + if IsCPPExtension(ext): + local_cpp_extension = ext + break + if local_cpp_extension != '.cpp': + self.WriteLn('LOCAL_CPP_EXTENSION := %s' % local_cpp_extension) + + # We need to move any non-generated sources that are coming from the + # shared intermediate directory out of LOCAL_SRC_FILES and put them + # into LOCAL_GENERATED_SOURCES. We also need to move over any C++ files + # that don't match our local_cpp_extension, since Android will only + # generate Makefile rules for a single LOCAL_CPP_EXTENSION. + local_files = [] + for source in sources: + (root, ext) = os.path.splitext(source) + if '$(gyp_shared_intermediate_dir)' in source: + extra_sources.append(source) + elif '$(gyp_intermediate_dir)' in source: + extra_sources.append(source) + elif IsCPPExtension(ext) and ext != local_cpp_extension: + extra_sources.append(source) + else: + local_files.append(os.path.normpath(os.path.join(self.path, source))) + + # For any generated source, if it is coming from the shared intermediate + # directory then we add a Make rule to copy them to the local intermediate + # directory first. This is because the Android LOCAL_GENERATED_SOURCES + # must be in the local module intermediate directory for the compile rules + # to work properly. If the file has the wrong C++ extension, then we add + # a rule to copy that to intermediates and use the new version. + final_generated_sources = [] + # If a source file gets copied, we still need to add the original source + # directory as header search path, for GCC searches headers in the + # directory that contains the source file by default. + origin_src_dirs = [] + for source in extra_sources: + local_file = source + if not '$(gyp_intermediate_dir)/' in local_file: + basename = os.path.basename(local_file) + local_file = '$(gyp_intermediate_dir)/' + basename + (root, ext) = os.path.splitext(local_file) + if IsCPPExtension(ext) and ext != local_cpp_extension: + local_file = root + local_cpp_extension + if local_file != source: + self.WriteLn('%s: %s' % (local_file, self.LocalPathify(source))) + self.WriteLn('\tmkdir -p $(@D); cp $< $@') + origin_src_dirs.append(os.path.dirname(source)) + final_generated_sources.append(local_file) + + # We add back in all of the non-compilable stuff to make sure that the + # make rules have dependencies on them. + final_generated_sources.extend(generated_not_sources) + self.WriteList(final_generated_sources, 'LOCAL_GENERATED_SOURCES') + + origin_src_dirs = gyp.common.uniquer(origin_src_dirs) + origin_src_dirs = map(Sourceify, map(self.LocalPathify, origin_src_dirs)) + self.WriteList(origin_src_dirs, 'GYP_COPIED_SOURCE_ORIGIN_DIRS') + + self.WriteList(local_files, 'LOCAL_SRC_FILES') + + # Write out the flags used to compile the source; this must be done last + # so that GYP_COPIED_SOURCE_ORIGIN_DIRS can be used as an include path. + self.WriteSourceFlags(spec, configs) + + + def ComputeAndroidModule(self, spec): + """Return the Android module name used for a gyp spec. + + We use the complete qualified target name to avoid collisions between + duplicate targets in different directories. We also add a suffix to + distinguish gyp-generated module names. + """ + + if int(spec.get('android_unmangled_name', 0)): + assert self.type != 'shared_library' or self.target.startswith('lib') + return self.target + + if self.type == 'shared_library': + # For reasons of convention, the Android build system requires that all + # shared library modules are named 'libfoo' when generating -l flags. + prefix = 'lib_' + else: + prefix = '' + + if spec['toolset'] == 'host': + suffix = '_$(TARGET_$(GYP_VAR_PREFIX)ARCH)_host_gyp' + else: + suffix = '_gyp' + + if self.path: + middle = make.StringToMakefileVariable('%s_%s' % (self.path, self.target)) + else: + middle = make.StringToMakefileVariable(self.target) + + return ''.join([prefix, middle, suffix]) + + + def ComputeOutputParts(self, spec): + """Return the 'output basename' of a gyp spec, split into filename + ext. + + Android libraries must be named the same thing as their module name, + otherwise the linker can't find them, so product_name and so on must be + ignored if we are building a library, and the "lib" prepending is + not done for Android. + """ + assert self.type != 'loadable_module' # TODO: not supported? + + target = spec['target_name'] + target_prefix = '' + target_ext = '' + if self.type == 'static_library': + target = self.ComputeAndroidModule(spec) + target_ext = '.a' + elif self.type == 'shared_library': + target = self.ComputeAndroidModule(spec) + target_ext = '.so' + elif self.type == 'none': + target_ext = '.stamp' + elif self.type != 'executable': + print("ERROR: What output file should be generated?", + "type", self.type, "target", target) + + if self.type != 'static_library' and self.type != 'shared_library': + target_prefix = spec.get('product_prefix', target_prefix) + target = spec.get('product_name', target) + product_ext = spec.get('product_extension') + if product_ext: + target_ext = '.' + product_ext + + target_stem = target_prefix + target + return (target_stem, target_ext) + + + def ComputeOutputBasename(self, spec): + """Return the 'output basename' of a gyp spec. + + E.g., the loadable module 'foobar' in directory 'baz' will produce + 'libfoobar.so' + """ + return ''.join(self.ComputeOutputParts(spec)) + + + def ComputeOutput(self, spec): + """Return the 'output' (full output path) of a gyp spec. + + E.g., the loadable module 'foobar' in directory 'baz' will produce + '$(obj)/baz/libfoobar.so' + """ + if self.type == 'executable': + # We install host executables into shared_intermediate_dir so they can be + # run by gyp rules that refer to PRODUCT_DIR. + path = '$(gyp_shared_intermediate_dir)' + elif self.type == 'shared_library': + if self.toolset == 'host': + path = '$($(GYP_HOST_VAR_PREFIX)HOST_OUT_INTERMEDIATE_LIBRARIES)' + else: + path = '$($(GYP_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)' + else: + # Other targets just get built into their intermediate dir. + if self.toolset == 'host': + path = ('$(call intermediates-dir-for,%s,%s,true,,' + '$(GYP_HOST_VAR_PREFIX))' % (self.android_class, + self.android_module)) + else: + path = ('$(call intermediates-dir-for,%s,%s,,,$(GYP_VAR_PREFIX))' + % (self.android_class, self.android_module)) + + assert spec.get('product_dir') is None # TODO: not supported? + return os.path.join(path, self.ComputeOutputBasename(spec)) + + def NormalizeIncludePaths(self, include_paths): + """ Normalize include_paths. + Convert absolute paths to relative to the Android top directory. + + Args: + include_paths: A list of unprocessed include paths. + Returns: + A list of normalized include paths. + """ + normalized = [] + for path in include_paths: + if path[0] == '/': + path = gyp.common.RelativePath(path, self.android_top_dir) + normalized.append(path) + return normalized + + def ExtractIncludesFromCFlags(self, cflags): + """Extract includes "-I..." out from cflags + + Args: + cflags: A list of compiler flags, which may be mixed with "-I.." + Returns: + A tuple of lists: (clean_clfags, include_paths). "-I.." is trimmed. + """ + clean_cflags = [] + include_paths = [] + for flag in cflags: + if flag.startswith('-I'): + include_paths.append(flag[2:]) + else: + clean_cflags.append(flag) + + return (clean_cflags, include_paths) + + def FilterLibraries(self, libraries): + """Filter the 'libraries' key to separate things that shouldn't be ldflags. + + Library entries that look like filenames should be converted to android + module names instead of being passed to the linker as flags. + + Args: + libraries: the value of spec.get('libraries') + Returns: + A tuple (static_lib_modules, dynamic_lib_modules, ldflags) + """ + static_lib_modules = [] + dynamic_lib_modules = [] + ldflags = [] + for libs in libraries: + # Libs can have multiple words. + for lib in libs.split(): + # Filter the system libraries, which are added by default by the Android + # build system. + if (lib == '-lc' or lib == '-lstdc++' or lib == '-lm' or + lib.endswith('libgcc.a')): + continue + match = re.search(r'([^/]+)\.a$', lib) + if match: + static_lib_modules.append(match.group(1)) + continue + match = re.search(r'([^/]+)\.so$', lib) + if match: + dynamic_lib_modules.append(match.group(1)) + continue + if lib.startswith('-l'): + ldflags.append(lib) + return (static_lib_modules, dynamic_lib_modules, ldflags) + + + def ComputeDeps(self, spec): + """Compute the dependencies of a gyp spec. + + Returns a tuple (deps, link_deps), where each is a list of + filenames that will need to be put in front of make for either + building (deps) or linking (link_deps). + """ + deps = [] + link_deps = [] + if 'dependencies' in spec: + deps.extend([target_outputs[dep] for dep in spec['dependencies'] + if target_outputs[dep]]) + for dep in spec['dependencies']: + if dep in target_link_deps: + link_deps.append(target_link_deps[dep]) + deps.extend(link_deps) + return (gyp.common.uniquer(deps), gyp.common.uniquer(link_deps)) + + + def WriteTargetFlags(self, spec, configs, link_deps): + """Write Makefile code to specify the link flags and library dependencies. + + spec, configs: input from gyp. + link_deps: link dependency list; see ComputeDeps() + """ + # Libraries (i.e. -lfoo) + # These must be included even for static libraries as some of them provide + # implicit include paths through the build system. + libraries = gyp.common.uniquer(spec.get('libraries', [])) + static_libs, dynamic_libs, ldflags_libs = self.FilterLibraries(libraries) + + if self.type != 'static_library': + for configname, config in sorted(configs.items()): + ldflags = list(config.get('ldflags', [])) + self.WriteLn('') + self.WriteList(ldflags, 'LOCAL_LDFLAGS_%s' % configname) + self.WriteList(ldflags_libs, 'LOCAL_GYP_LIBS') + self.WriteLn('LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION)) ' + '$(LOCAL_GYP_LIBS)') + + # Link dependencies (i.e. other gyp targets this target depends on) + # These need not be included for static libraries as within the gyp build + # we do not use the implicit include path mechanism. + if self.type != 'static_library': + static_link_deps = [x[1] for x in link_deps if x[0] == 'static'] + shared_link_deps = [x[1] for x in link_deps if x[0] == 'shared'] + else: + static_link_deps = [] + shared_link_deps = [] + + # Only write the lists if they are non-empty. + if static_libs or static_link_deps: + self.WriteLn('') + self.WriteList(static_libs + static_link_deps, + 'LOCAL_STATIC_LIBRARIES') + self.WriteLn('# Enable grouping to fix circular references') + self.WriteLn('LOCAL_GROUP_STATIC_LIBRARIES := true') + if dynamic_libs or shared_link_deps: + self.WriteLn('') + self.WriteList(dynamic_libs + shared_link_deps, + 'LOCAL_SHARED_LIBRARIES') + + + def WriteTarget(self, spec, configs, deps, link_deps, part_of_all, + write_alias_target): + """Write Makefile code to produce the final target of the gyp spec. + + spec, configs: input from gyp. + deps, link_deps: dependency lists; see ComputeDeps() + part_of_all: flag indicating this target is part of 'all' + write_alias_target: flag indicating whether to create short aliases for this + target + """ + self.WriteLn('### Rules for final target.') + + if self.type != 'none': + self.WriteTargetFlags(spec, configs, link_deps) + + settings = spec.get('aosp_build_settings', {}) + if settings: + self.WriteLn('### Set directly by aosp_build_settings.') + for k, v in settings.items(): + if isinstance(v, list): + self.WriteList(v, k) + else: + self.WriteLn('%s := %s' % (k, make.QuoteIfNecessary(v))) + self.WriteLn('') + + # Add to the set of targets which represent the gyp 'all' target. We use the + # name 'gyp_all_modules' as the Android build system doesn't allow the use + # of the Make target 'all' and because 'all_modules' is the equivalent of + # the Make target 'all' on Android. + if part_of_all and write_alias_target: + self.WriteLn('# Add target alias to "gyp_all_modules" target.') + self.WriteLn('.PHONY: gyp_all_modules') + self.WriteLn('gyp_all_modules: %s' % self.android_module) + self.WriteLn('') + + # Add an alias from the gyp target name to the Android module name. This + # simplifies manual builds of the target, and is required by the test + # framework. + if self.target != self.android_module and write_alias_target: + self.WriteLn('# Alias gyp target name.') + self.WriteLn('.PHONY: %s' % self.target) + self.WriteLn('%s: %s' % (self.target, self.android_module)) + self.WriteLn('') + + # Add the command to trigger build of the target type depending + # on the toolset. Ex: BUILD_STATIC_LIBRARY vs. BUILD_HOST_STATIC_LIBRARY + # NOTE: This has to come last! + modifier = '' + if self.toolset == 'host': + modifier = 'HOST_' + if self.type == 'static_library': + self.WriteLn('include $(BUILD_%sSTATIC_LIBRARY)' % modifier) + elif self.type == 'shared_library': + self.WriteLn('LOCAL_PRELINK_MODULE := false') + self.WriteLn('include $(BUILD_%sSHARED_LIBRARY)' % modifier) + elif self.type == 'executable': + self.WriteLn('LOCAL_CXX_STL := libc++_static') + # Executables are for build and test purposes only, so they're installed + # to a directory that doesn't get included in the system image. + self.WriteLn('LOCAL_MODULE_PATH := $(gyp_shared_intermediate_dir)') + self.WriteLn('include $(BUILD_%sEXECUTABLE)' % modifier) + else: + self.WriteLn('LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp') + self.WriteLn('LOCAL_UNINSTALLABLE_MODULE := true') + if self.toolset == 'target': + self.WriteLn('LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)') + else: + self.WriteLn('LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_HOST_VAR_PREFIX)') + self.WriteLn() + self.WriteLn('include $(BUILD_SYSTEM)/base_rules.mk') + self.WriteLn() + self.WriteLn('$(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)') + self.WriteLn('\t$(hide) echo "Gyp timestamp: $@"') + self.WriteLn('\t$(hide) mkdir -p $(dir $@)') + self.WriteLn('\t$(hide) touch $@') + self.WriteLn() + self.WriteLn('LOCAL_2ND_ARCH_VAR_PREFIX :=') + + + def WriteList(self, value_list, variable=None, prefix='', + quoter=make.QuoteIfNecessary, local_pathify=False): + """Write a variable definition that is a list of values. + + E.g. WriteList(['a','b'], 'foo', prefix='blah') writes out + foo = blaha blahb + but in a pretty-printed style. + """ + values = '' + if value_list: + value_list = [quoter(prefix + l) for l in value_list] + if local_pathify: + value_list = [self.LocalPathify(l) for l in value_list] + values = ' \\\n\t' + ' \\\n\t'.join(value_list) + self.fp.write('%s :=%s\n\n' % (variable, values)) + + + def WriteLn(self, text=''): + self.fp.write(text + '\n') + + + def LocalPathify(self, path): + """Convert a subdirectory-relative path into a normalized path which starts + with the make variable $(LOCAL_PATH) (i.e. the top of the project tree). + Absolute paths, or paths that contain variables, are just normalized.""" + if '$(' in path or os.path.isabs(path): + # path is not a file in the project tree in this case, but calling + # normpath is still important for trimming trailing slashes. + return os.path.normpath(path) + local_path = os.path.join('$(LOCAL_PATH)', self.path, path) + local_path = os.path.normpath(local_path) + # Check that normalizing the path didn't ../ itself out of $(LOCAL_PATH) + # - i.e. that the resulting path is still inside the project tree. The + # path may legitimately have ended up containing just $(LOCAL_PATH), though, + # so we don't look for a slash. + assert local_path.startswith('$(LOCAL_PATH)'), ( + 'Path %s attempts to escape from gyp path %s !)' % (path, self.path)) + return local_path + + + def ExpandInputRoot(self, template, expansion, dirname): + if '%(INPUT_ROOT)s' not in template and '%(INPUT_DIRNAME)s' not in template: + return template + path = template % { + 'INPUT_ROOT': expansion, + 'INPUT_DIRNAME': dirname, + } + return os.path.normpath(path) + + +def PerformBuild(data, configurations, params): + # The android backend only supports the default configuration. + options = params['options'] + makefile = os.path.abspath(os.path.join(options.toplevel_dir, + 'GypAndroid.mk')) + env = dict(os.environ) + env['ONE_SHOT_MAKEFILE'] = makefile + arguments = ['make', '-C', os.environ['ANDROID_BUILD_TOP'], 'gyp_all_modules'] + print('Building: %s' % arguments) + subprocess.check_call(arguments, env=env) + + +def GenerateOutput(target_list, target_dicts, data, params): + options = params['options'] + generator_flags = params.get('generator_flags', {}) + builddir_name = generator_flags.get('output_dir', 'out') + limit_to_target_all = generator_flags.get('limit_to_target_all', False) + write_alias_targets = generator_flags.get('write_alias_targets', True) + sdk_version = generator_flags.get('aosp_sdk_version', 0) + android_top_dir = os.environ.get('ANDROID_BUILD_TOP') + assert android_top_dir, '$ANDROID_BUILD_TOP not set; you need to run lunch.' + + def CalculateMakefilePath(build_file, base_name): + """Determine where to write a Makefile for a given gyp file.""" + # Paths in gyp files are relative to the .gyp file, but we want + # paths relative to the source root for the master makefile. Grab + # the path of the .gyp file as the base to relativize against. + # E.g. "foo/bar" when we're constructing targets for "foo/bar/baz.gyp". + base_path = gyp.common.RelativePath(os.path.dirname(build_file), + options.depth) + # We write the file in the base_path directory. + output_file = os.path.join(options.depth, base_path, base_name) + assert not options.generator_output, ( + 'The Android backend does not support options.generator_output.') + base_path = gyp.common.RelativePath(os.path.dirname(build_file), + options.toplevel_dir) + return base_path, output_file + + # TODO: search for the first non-'Default' target. This can go + # away when we add verification that all targets have the + # necessary configurations. + default_configuration = None + toolsets = set([target_dicts[target]['toolset'] for target in target_list]) + for target in target_list: + spec = target_dicts[target] + if spec['default_configuration'] != 'Default': + default_configuration = spec['default_configuration'] + break + if not default_configuration: + default_configuration = 'Default' + + srcdir = '.' + makefile_name = 'GypAndroid' + options.suffix + '.mk' + makefile_path = os.path.join(options.toplevel_dir, makefile_name) + assert not options.generator_output, ( + 'The Android backend does not support options.generator_output.') + gyp.common.EnsureDirExists(makefile_path) + root_makefile = open(makefile_path, 'w') + + root_makefile.write(header) + + # We set LOCAL_PATH just once, here, to the top of the project tree. This + # allows all the other paths we use to be relative to the Android.mk file, + # as the Android build system expects. + root_makefile.write('\nLOCAL_PATH := $(call my-dir)\n') + + # Find the list of targets that derive from the gyp file(s) being built. + needed_targets = set() + for build_file in params['build_files']: + for target in gyp.common.AllTargets(target_list, target_dicts, build_file): + needed_targets.add(target) + + build_files = set() + include_list = set() + android_modules = {} + for qualified_target in target_list: + build_file, target, toolset = gyp.common.ParseQualifiedTarget( + qualified_target) + relative_build_file = gyp.common.RelativePath(build_file, + options.toplevel_dir) + build_files.add(relative_build_file) + included_files = data[build_file]['included_files'] + for included_file in included_files: + # The included_files entries are relative to the dir of the build file + # that included them, so we have to undo that and then make them relative + # to the root dir. + relative_include_file = gyp.common.RelativePath( + gyp.common.UnrelativePath(included_file, build_file), + options.toplevel_dir) + abs_include_file = os.path.abspath(relative_include_file) + # If the include file is from the ~/.gyp dir, we should use absolute path + # so that relocating the src dir doesn't break the path. + if (params['home_dot_gyp'] and + abs_include_file.startswith(params['home_dot_gyp'])): + build_files.add(abs_include_file) + else: + build_files.add(relative_include_file) + + base_path, output_file = CalculateMakefilePath(build_file, + target + '.' + toolset + options.suffix + '.mk') + + spec = target_dicts[qualified_target] + configs = spec['configurations'] + + part_of_all = qualified_target in needed_targets + if limit_to_target_all and not part_of_all: + continue + + relative_target = gyp.common.QualifiedTarget(relative_build_file, target, + toolset) + writer = AndroidMkWriter(android_top_dir) + android_module = writer.Write(qualified_target, relative_target, base_path, + output_file, spec, configs, + part_of_all=part_of_all, + write_alias_target=write_alias_targets, + sdk_version=sdk_version) + if android_module in android_modules: + print('ERROR: Android module names must be unique. The following ' + 'targets both generate Android module name %s.\n %s\n %s' % + (android_module, android_modules[android_module], + qualified_target)) + return + android_modules[android_module] = qualified_target + + # Our root_makefile lives at the source root. Compute the relative path + # from there to the output_file for including. + mkfile_rel_path = gyp.common.RelativePath(output_file, + os.path.dirname(makefile_path)) + include_list.add(mkfile_rel_path) + + root_makefile.write('GYP_CONFIGURATION ?= %s\n' % default_configuration) + root_makefile.write('GYP_VAR_PREFIX ?=\n') + root_makefile.write('GYP_HOST_VAR_PREFIX ?=\n') + root_makefile.write('GYP_HOST_MULTILIB ?= first\n') + + # Write out the sorted list of includes. + root_makefile.write('\n') + for include_file in sorted(include_list): + root_makefile.write('include $(LOCAL_PATH)/' + include_file + '\n') + root_makefile.write('\n') + + if write_alias_targets: + root_makefile.write(ALL_MODULES_FOOTER) + + root_makefile.close() diff --git a/tools/gyp/pylib/gyp/generator/cmake.py b/tools/gyp/pylib/gyp/generator/cmake.py index 149268711b8b9b..e966a8f23e1f09 100644 --- a/tools/gyp/pylib/gyp/generator/cmake.py +++ b/tools/gyp/pylib/gyp/generator/cmake.py @@ -240,7 +240,10 @@ def StringToCMakeTargetName(a): Invalid for make: ':' Invalid for unknown reasons but cause failures: '.' """ - return a.translate(string.maketrans(' /():."', '_______')) + try: + return a.translate(str.maketrans(' /():."', '_______')) + except AttributeError: + return a.translate(string.maketrans(' /():."', '_______')) def WriteActions(target_name, actions, extra_sources, extra_deps, @@ -575,7 +578,7 @@ class CMakeNamer(object): """Converts Gyp target names into CMake target names. CMake requires that target names be globally unique. One way to ensure - this is to fully qualify the names of the targets. Unfortunatly, this + this is to fully qualify the names of the targets. Unfortunately, this ends up with all targets looking like "chrome_chrome_gyp_chrome" instead of just "chrome". If this generator were only interested in building, it would be possible to fully qualify all target names, then create @@ -647,7 +650,7 @@ def WriteTarget(namer, qualified_target, target_dicts, build_dir, config_to_use, cmake_target_type = cmake_target_type_from_gyp_target_type.get(target_type) if cmake_target_type is None: print('Target %s has unknown target type %s, skipping.' % - ( target_name, target_type)) + ( target_name, target_type )) return SetVariable(output, 'TARGET', target_name) diff --git a/tools/gyp/pylib/gyp/generator/compile_commands_json.py b/tools/gyp/pylib/gyp/generator/compile_commands_json.py index 575db63c4e1943..1b8490451f9793 100644 --- a/tools/gyp/pylib/gyp/generator/compile_commands_json.py +++ b/tools/gyp/pylib/gyp/generator/compile_commands_json.py @@ -43,7 +43,7 @@ def CalculateVariables(default_variables, params): def AddCommandsForTarget(cwd, target, params, per_config_commands): output_dir = params['generator_flags']['output_dir'] - for configuration_name, configuration in target['configurations'].iteritems(): + for configuration_name, configuration in target['configurations'].items(): builddir_name = os.path.join(output_dir, configuration_name) if IsMac(params): @@ -92,7 +92,7 @@ def resolve(filename): def GenerateOutput(target_list, target_dicts, data, params): per_config_commands = {} - for qualified_target, target in target_dicts.iteritems(): + for qualified_target, target in target_dicts.items(): build_file, target_name, toolset = ( gyp.common.ParseQualifiedTarget(qualified_target)) if IsMac(params): @@ -102,7 +102,7 @@ def GenerateOutput(target_list, target_dicts, data, params): AddCommandsForTarget(cwd, target, params, per_config_commands) output_dir = params['generator_flags']['output_dir'] - for configuration_name, commands in per_config_commands.iteritems(): + for configuration_name, commands in per_config_commands.items(): filename = os.path.join(output_dir, configuration_name, 'compile_commands.json') diff --git a/tools/gyp/pylib/gyp/generator/eclipse.py b/tools/gyp/pylib/gyp/generator/eclipse.py index 372ceec246dedb..80e5fb6302c5d5 100644 --- a/tools/gyp/pylib/gyp/generator/eclipse.py +++ b/tools/gyp/pylib/gyp/generator/eclipse.py @@ -26,6 +26,8 @@ import shlex import xml.etree.cElementTree as ET +PY3 = bytes != str + generator_wants_static_library_dependencies_adjusted = False generator_default_variables = { @@ -97,6 +99,8 @@ def GetAllIncludeDirectories(target_list, target_dicts, proc = subprocess.Popen(args=command, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output = proc.communicate()[1] + if PY3: + output = output.decode('utf-8') # Extract the list of include dirs from the output, which has this format: # ... # #include "..." search starts here: @@ -195,8 +199,8 @@ def GetAllDefines(target_list, target_dicts, data, config_name, params, """Calculate the defines for a project. Returns: - A dict that includes explict defines declared in gyp files along with all of - the default defines that the compiler uses. + A dict that includes explicit defines declared in gyp files along with all + of the default defines that the compiler uses. """ # Get defines declared in the gyp files. @@ -234,6 +238,8 @@ def GetAllDefines(target_list, target_dicts, data, config_name, params, cpp_proc = subprocess.Popen(args=command, cwd='.', stdin=subprocess.PIPE, stdout=subprocess.PIPE) cpp_output = cpp_proc.communicate()[0] + if PY3: + cpp_output = cpp_output.decode('utf-8') cpp_lines = cpp_output.split('\n') for cpp_line in cpp_lines: if not cpp_line.strip(): diff --git a/tools/gyp/pylib/gyp/generator/make.py b/tools/gyp/pylib/gyp/generator/make.py index 91a119c5a57694..26cf88cccf275d 100644 --- a/tools/gyp/pylib/gyp/generator/make.py +++ b/tools/gyp/pylib/gyp/generator/make.py @@ -12,7 +12,7 @@ # all are sourced by the top-level Makefile. This means that all # variables in .mk-files clobber one another. Be careful to use := # where appropriate for immediate evaluation, and similarly to watch -# that you're not relying on a variable value to last beween different +# that you're not relying on a variable value to last between different # .mk files. # # TODOs: @@ -234,6 +234,25 @@ def CalculateGeneratorInputInfo(params): """ +LINK_COMMANDS_OS390 = """\ +quiet_cmd_alink = AR($(TOOLSET)) $@ +cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) crs $@ $(filter %.o,$^) + +quiet_cmd_alink_thin = AR($(TOOLSET)) $@ +cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^) + +quiet_cmd_link = LINK($(TOOLSET)) $@ +cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(LD_INPUTS) $(LIBS) + +quiet_cmd_solink = SOLINK($(TOOLSET)) $@ +cmd_solink = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(LD_INPUTS) $(LIBS) -Wl,DLL + +quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@ +cmd_solink_module = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS) -Wl,DLL + +""" + + # Header of toplevel Makefile. # This should go into the build tree, but it's easier to keep it here for now. SHARED_HEADER = ("""\ @@ -317,7 +336,7 @@ def CalculateGeneratorInputInfo(params): # We write to a dep file on the side first and then rename at the end # so we can't end up with a broken dep file. depfile = $(depsdir)/$(call replace_spaces,$@).d -DEPFLAGS = -MMD -MF $(depfile).raw +DEPFLAGS = %(makedep_args)s -MF $(depfile).raw # We have to fixup the deps output in a few ways. # (1) the file output should mention the proper .o file. @@ -630,6 +649,9 @@ def Sourceify(path): def QuoteSpaces(s, quote=r'\ '): return s.replace(' ', quote) +def SourceifyAndQuoteSpaces(path): + """Convert a path to its source directory form and quote spaces.""" + return QuoteSpaces(Sourceify(path)) # TODO: Avoid code duplication with _ValidateSourcesForMSVSProject in msvs.py. def _ValidateSourcesForOSX(spec, all_sources): @@ -657,9 +679,8 @@ def _ValidateSourcesForOSX(spec, all_sources): error += ' %s: %s\n' % (basename, ' '.join(files)) if error: - print('static library %s has several files with the same basename:\n' % - spec['target_name'] + error + 'libtool on OS X will generate' + - ' warnings for them.') + print(('static library %s has several files with the same basename:\n' % spec['target_name']) + + error + 'libtool on OS X will generate' + ' warnings for them.') raise GypError('Duplicate basenames in sources section, see list above') @@ -1755,8 +1776,8 @@ def WriteMakeRule(self, outputs, inputs, actions=None, comment=None, # - The multi-output rule will have an do-nothing recipe. # Hash the target name to avoid generating overlong filenames. - cmddigest = hashlib.sha1((command or self.target).encode("utf-8")).hexdigest() - intermediate = "%s.intermediate" % (cmddigest) + cmddigest = hashlib.sha1((command or self.target).encode('utf-8')).hexdigest() + intermediate = "%s.intermediate" % cmddigest self.WriteLn('%s: %s' % (' '.join(outputs), intermediate)) self.WriteLn('\t%s' % '@:') self.WriteLn('%s: %s' % ('.INTERMEDIATE', intermediate)) @@ -1956,7 +1977,7 @@ def WriteAutoRegenerationRule(params, root_makefile, makefile_name, "%(makefile_name)s: %(deps)s\n" "\t$(call do_cmd,regen_makefile)\n\n" % { 'makefile_name': makefile_name, - 'deps': ' '.join(Sourceify(bf) for bf in build_files), + 'deps': ' '.join(SourceifyAndQuoteSpaces(bf) for bf in build_files), 'cmd': gyp.common.EncodePOSIXShellList( [gyp_binary, '-fmake'] + gyp.RegenerateFlags(options) + @@ -2024,6 +2045,7 @@ def CalculateMakefilePath(build_file, base_name): flock_command= 'flock' copy_archive_arguments = '-af' + makedep_arguments = '-MMD' header_params = { 'default_target': default_target, 'builddir': builddir_name, @@ -2034,6 +2056,15 @@ def CalculateMakefilePath(build_file, base_name): 'extra_commands': '', 'srcdir': srcdir, 'copy_archive_args': copy_archive_arguments, + 'makedep_args': makedep_arguments, + 'CC.target': GetEnvironFallback(('CC_target', 'CC'), '$(CC)'), + 'AR.target': GetEnvironFallback(('AR_target', 'AR'), '$(AR)'), + 'CXX.target': GetEnvironFallback(('CXX_target', 'CXX'), '$(CXX)'), + 'LINK.target': GetEnvironFallback(('LINK_target', 'LINK'), '$(LINK)'), + 'CC.host': GetEnvironFallback(('CC_host', 'CC'), 'gcc'), + 'AR.host': GetEnvironFallback(('AR_host', 'AR'), 'ar'), + 'CXX.host': GetEnvironFallback(('CXX_host', 'CXX'), 'g++'), + 'LINK.host': GetEnvironFallback(('LINK_host', 'LINK'), '$(CXX.host)'), } if flavor == 'mac': flock_command = './gyp-mac-tool flock' @@ -2047,6 +2078,18 @@ def CalculateMakefilePath(build_file, base_name): header_params.update({ 'link_commands': LINK_COMMANDS_ANDROID, }) + elif flavor == 'zos': + copy_archive_arguments = '-fPR' + makedep_arguments = '-qmakedep=gcc' + header_params.update({ + 'copy_archive_args': copy_archive_arguments, + 'makedep_args': makedep_arguments, + 'link_commands': LINK_COMMANDS_OS390, + 'CC.target': GetEnvironFallback(('CC_target', 'CC'), 'njsc'), + 'CXX.target': GetEnvironFallback(('CXX_target', 'CXX'), 'njsc++'), + 'CC.host': GetEnvironFallback(('CC_host', 'CC'), 'njsc'), + 'CXX.host': GetEnvironFallback(('CXX_host', 'CXX'), 'njsc++'), + }) elif flavor == 'solaris': header_params.update({ 'flock': './gyp-flock-tool flock', @@ -2071,17 +2114,6 @@ def CalculateMakefilePath(build_file, base_name): 'flock_index': 2, }) - header_params.update({ - 'CC.target': GetEnvironFallback(('CC_target', 'CC'), '$(CC)'), - 'AR.target': GetEnvironFallback(('AR_target', 'AR'), '$(AR)'), - 'CXX.target': GetEnvironFallback(('CXX_target', 'CXX'), '$(CXX)'), - 'LINK.target': GetEnvironFallback(('LINK_target', 'LINK'), '$(LINK)'), - 'CC.host': GetEnvironFallback(('CC_host', 'CC'), 'gcc'), - 'AR.host': GetEnvironFallback(('AR_host', 'AR'), 'ar'), - 'CXX.host': GetEnvironFallback(('CXX_host', 'CXX'), 'g++'), - 'LINK.host': GetEnvironFallback(('LINK_host', 'LINK'), '$(CXX.host)'), - }) - build_file, _, _ = gyp.common.ParseQualifiedTarget(target_list[0]) make_global_settings_array = data[build_file].get('make_global_settings', []) wrappers = {} diff --git a/tools/gyp/pylib/gyp/generator/msvs.py b/tools/gyp/pylib/gyp/generator/msvs.py index 1aed4ca8aa7e00..933042c7113c59 100644 --- a/tools/gyp/pylib/gyp/generator/msvs.py +++ b/tools/gyp/pylib/gyp/generator/msvs.py @@ -12,6 +12,8 @@ import subprocess import sys +from collections import OrderedDict + import gyp.common import gyp.easy_xml as easy_xml import gyp.generator.ninja as ninja_generator @@ -25,15 +27,7 @@ from gyp.common import GypError from gyp.common import OrderedSet -# TODO: Remove once bots are on 2.7, http://crbug.com/241769 -def _import_OrderedDict(): - import collections - try: - return collections.OrderedDict - except AttributeError: - import gyp.ordered_dict - return gyp.ordered_dict.OrderedDict -OrderedDict = _import_OrderedDict() +PY3 = bytes != str # Regular expression for validating Visual Studio GUIDs. If the GUID @@ -90,6 +84,7 @@ def _import_OrderedDict(): 'msvs_enable_winrt', 'msvs_requires_importlibrary', 'msvs_enable_winphone', + 'msvs_enable_marmasm', 'msvs_application_type_revision', 'msvs_target_platform_version', 'msvs_target_platform_minversion', @@ -126,6 +121,8 @@ def _GetDomainAndUserName(): call = subprocess.Popen(['net', 'config', 'Workstation'], stdout=subprocess.PIPE) config = call.communicate()[0] + if PY3: + config = config.decode('utf-8') username_re = re.compile(r'^User name\s+(\S+)', re.MULTILINE) username_match = username_re.search(config) if username_match: @@ -167,7 +164,7 @@ def _FixPath(path): Returns: The path with all slashes made into backslashes. """ - if fixpath_prefix and path and not os.path.isabs(path) and not path[0] == '$': + if fixpath_prefix and path and not os.path.isabs(path) and not path[0] == '$' and not _IsWindowsAbsPath(path): path = os.path.join(fixpath_prefix, path) path = path.replace('/', '\\') path = _NormalizedSource(path) @@ -176,6 +173,15 @@ def _FixPath(path): return path +def _IsWindowsAbsPath(path): + """ + On Cygwin systems Python needs a little help determining if a path is an absolute Windows path or not, so that + it does not treat those as relative, which results in bad paths like: + '..\C:\\some_source_code_file.cc' + """ + return path.startswith('c:') or path.startswith('C:') + + def _FixPaths(paths): """Fix each of the paths of the list.""" return [_FixPath(i) for i in paths] @@ -297,6 +303,9 @@ def _ConfigFullName(config_name, config_data): def _ConfigWindowsTargetPlatformVersion(config_data, version): + target_ver = config_data.get('msvs_windows_target_platform_version') + if target_ver and re.match(r'^\d+', target_ver): + return target_ver config_ver = config_data.get('msvs_windows_sdk_version') vers = [config_ver] if config_ver else version.compatible_sdks for ver in vers: @@ -775,8 +784,8 @@ def _Replace(match): # the VCProj but cause the same problem on the final command-line. Moving # the item to the end of the list does works, but that's only possible if # there's only one such item. Let's just warn the user. - print('Warning: MSVS may misinterpret the odd number of ' - 'quotes in ' + s, file=sys.stderr) + print('Warning: MSVS may misinterpret the odd number of ' + + 'quotes in ' + s, file=sys.stderr) return s @@ -996,8 +1005,8 @@ def _ValidateSourcesForMSVSProject(spec, version): error += ' %s: %s\n' % (basename, ' '.join(files)) if error: - print('static library %s has several files with the same basename:\n' % - spec['target_name'] + error + 'MSVC08 cannot handle that.') + print('static library %s has several files with the same basename:\n' % spec['target_name'] + + error + 'MSVC08 cannot handle that.') raise GypError('Duplicate basenames in sources section, see list above') @@ -1913,6 +1922,8 @@ def _InitNinjaFlavor(params, target_list, target_dicts): configuration = '$(Configuration)' if params.get('target_arch') == 'x64': configuration += '_x64' + if params.get('target_arch') == 'arm64': + configuration += '_arm64' spec['msvs_external_builder_out_dir'] = os.path.join( gyp.common.RelativePath(params['options'].toplevel_dir, gyp_dir), ninja_generator.ComputeOutputDir(params), @@ -2163,7 +2174,7 @@ def _MapFileToMsBuildSourceType(source, rule_dependencies, if ext in extension_to_rule_name: group = 'rule' element = extension_to_rule_name[ext] - elif ext in ['.cc', '.cpp', '.c', '.cxx']: + elif ext in ['.cc', '.cpp', '.c', '.cxx', '.mm']: group = 'compile' element = 'ClCompile' elif ext in ['.h', '.hxx']: @@ -3106,7 +3117,7 @@ def _FinalizeMSBuildSettings(spec, configuration): _ToolAppend(msbuild_settings, 'ResourceCompile', 'AdditionalIncludeDirectories', resource_include_dirs) # Add in libraries, note that even for empty libraries, we want this - # set, to prevent inheriting default libraries from the enviroment. + # set, to prevent inheriting default libraries from the environment. _ToolSetOrAppend(msbuild_settings, 'Link', 'AdditionalDependencies', libraries) _ToolAppend(msbuild_settings, 'Link', 'AdditionalLibraryDirectories', @@ -3411,7 +3422,8 @@ def _GenerateMSBuildProject(project, options, version, generator_flags): content += _GetMSBuildLocalProperties(project.msbuild_toolset) content += import_cpp_props_section content += import_masm_props_section - content += import_marmasm_props_section + if spec.get('msvs_enable_marmasm'): + content += import_marmasm_props_section content += _GetMSBuildExtensions(props_files_of_rules) content += _GetMSBuildPropertySheets(configurations) content += macro_section @@ -3424,7 +3436,8 @@ def _GenerateMSBuildProject(project, options, version, generator_flags): content += _GetMSBuildProjectReferences(project) content += import_cpp_targets_section content += import_masm_targets_section - content += import_marmasm_targets_section + if spec.get('msvs_enable_marmasm'): + content += import_marmasm_targets_section content += _GetMSBuildExtensionTargets(targets_files_of_rules) if spec.get('msvs_external_builder'): diff --git a/tools/gyp/pylib/gyp/generator/ninja.py b/tools/gyp/pylib/gyp/generator/ninja.py index 75743e770d16f9..d5006bf84a0b2a 100644 --- a/tools/gyp/pylib/gyp/generator/ninja.py +++ b/tools/gyp/pylib/gyp/generator/ninja.py @@ -744,7 +744,7 @@ def cygwin_munge(path): elif var == 'name': extra_bindings.append(('name', cygwin_munge(basename))) else: - assert var == None, repr(var) + assert var is None, repr(var) outputs = [self.GypPathToNinja(o, env) for o in outputs] if self.flavor == 'win': @@ -1880,7 +1880,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, # - The priority from low to high is gcc/g++, the 'make_global_settings' in # gyp, the environment variable. # - If there is no 'make_global_settings' for CC.host/CXX.host or - # 'CC_host'/'CXX_host' enviroment variable, cc_host/cxx_host should be set + # 'CC_host'/'CXX_host' environment variable, cc_host/cxx_host should be set # to cc/cxx. if flavor == 'win': ar = 'lib.exe' @@ -2321,15 +2321,22 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, 'stamp', description='STAMP $out', command='%s gyp-win-tool stamp $out' % sys.executable) - master_ninja.rule( - 'copy', - description='COPY $in $out', - command='%s gyp-win-tool recursive-mirror $in $out' % sys.executable) else: master_ninja.rule( 'stamp', description='STAMP $out', command='${postbuilds}touch $out') + if flavor == 'win': + master_ninja.rule( + 'copy', + description='COPY $in $out', + command='%s gyp-win-tool recursive-mirror $in $out' % sys.executable) + elif flavor == 'zos': + master_ninja.rule( + 'copy', + description='COPY $in $out', + command='rm -rf $out && cp -fRP $in $out') + else: master_ninja.rule( 'copy', description='COPY $in $out', diff --git a/tools/gyp/pylib/gyp/generator/xcode.py b/tools/gyp/pylib/gyp/generator/xcode.py index 9242324196d2d3..4917ba77b9d577 100644 --- a/tools/gyp/pylib/gyp/generator/xcode.py +++ b/tools/gyp/pylib/gyp/generator/xcode.py @@ -541,7 +541,7 @@ def ExpandXcodeVariables(string, expansions): """ matches = _xcode_variable_re.findall(string) - if matches == None: + if matches is None: return string matches.reverse() @@ -1010,7 +1010,7 @@ def GenerateOutput(target_list, target_dicts, data, params): actions.append(action) if len(concrete_outputs_all) > 0: - # TODO(mark): There's a possibilty for collision here. Consider + # TODO(mark): There's a possibility for collision here. Consider # target "t" rule "A_r" and target "t_A" rule "r". makefile_name = '%s.make' % re.sub( '[^a-zA-Z0-9_]', '_' , '%s_%s' % (target_name, rule['rule_name'])) diff --git a/tools/gyp/pylib/gyp/input.py b/tools/gyp/pylib/gyp/input.py index 6db204e4010284..1f40abb06951bb 100644 --- a/tools/gyp/pylib/gyp/input.py +++ b/tools/gyp/pylib/gyp/input.py @@ -23,6 +23,7 @@ from gyp.common import GypError from gyp.common import OrderedSet +PY3 = bytes != str # A list of types that are treated as linkable. linkable_types = [ @@ -157,7 +158,7 @@ def GetIncludedBuildFiles(build_file_path, aux_data, included=None): in the list will be relative to the current directory. """ - if included == None: + if included is None: included = [] if build_file_path in included: @@ -222,7 +223,15 @@ def LoadOneBuildFile(build_file_path, data, aux_data, includes, return data[build_file_path] if os.path.exists(build_file_path): - build_file_contents = open(build_file_path).read() + # Open the build file for read ('r') with universal-newlines mode ('U') + # to make sure platform specific newlines ('\r\n' or '\r') are converted to '\n' + # which otherwise will fail eval() + if sys.platform == 'zos': + # On z/OS, universal-newlines mode treats the file as an ascii file. But since + # node-gyp produces ebcdic files, do not use that mode. + build_file_contents = open(build_file_path, 'r').read() + else: + build_file_contents = open(build_file_path, 'rU').read() else: raise GypError("%s not found (cwd: %s)" % (build_file_path, os.getcwd())) @@ -231,7 +240,7 @@ def LoadOneBuildFile(build_file_path, data, aux_data, includes, if check: build_file_data = CheckedEval(build_file_contents) else: - build_file_data = eval(build_file_contents, {'__builtins__': None}, + build_file_data = eval(build_file_contents, {'__builtins__': {}}, None) except SyntaxError as e: e.filename = build_file_path @@ -700,9 +709,6 @@ def FixupPlatformCommand(cmd): def ExpandVariables(input, phase, variables, build_file): # Look for the pattern that gets expanded into variables - def to_utf8(s): - return s if isinstance(s, str) else s.decode('utf-8') - if phase == PHASE_EARLY: variable_re = early_variable_re expansion_symbol = '<' @@ -906,8 +912,9 @@ def to_utf8(s): (e, contents, build_file)) p_stdout, p_stderr = p.communicate('') - p_stdout = to_utf8(p_stdout) - p_stderr = to_utf8(p_stderr) + if PY3: + p_stdout = p_stdout.decode('utf-8') + p_stderr = p_stderr.decode('utf-8') if p.wait() != 0 or p_stderr: sys.stderr.write(p_stderr) @@ -1061,7 +1068,7 @@ def EvalCondition(condition, conditions_key, phase, variables, build_file): else: false_dict = None i = i + 2 - if result == None: + if result is None: result = EvalSingleCondition( cond_expr, true_dict, false_dict, phase, variables, build_file) @@ -1072,7 +1079,7 @@ def EvalSingleCondition( cond_expr, true_dict, false_dict, phase, variables, build_file): """Returns true_dict if cond_expr evaluates to true, and false_dict otherwise.""" - # Do expansions on the condition itself. Since the conditon can naturally + # Do expansions on the condition itself. Since the condition can naturally # contain variable references without needing to resort to GYP expansion # syntax, this is of dubious value for variables, but someone might want to # use a command expansion directly inside a condition. @@ -1089,7 +1096,7 @@ def EvalSingleCondition( else: ast_code = compile(cond_expr_expanded, '', 'eval') cached_conditions_asts[cond_expr_expanded] = ast_code - env = {'__builtins__': None, 'v': StrictVersion} + env = {'__builtins__': {}, 'v': StrictVersion} if eval(ast_code, env, variables): return true_dict return false_dict @@ -1178,7 +1185,7 @@ def LoadVariablesFromVariablesDict(variables, the_dict, the_dict_key): continue if the_dict_key == 'variables' and variable_name in the_dict: # If the variable is set without a % in the_dict, and the_dict is a - # variables dict (making |variables| a varaibles sub-dict of a + # variables dict (making |variables| a variables sub-dict of a # variables dict), use the_dict's definition. value = the_dict[variable_name] else: @@ -1608,7 +1615,7 @@ def Visit(node, path): def DirectDependencies(self, dependencies=None): """Returns a list of just direct dependencies.""" - if dependencies == None: + if dependencies is None: dependencies = [] for dependency in self.dependencies: @@ -1636,7 +1643,7 @@ def _AddImportedDependencies(self, targets, dependencies=None): public entry point. """ - if dependencies == None: + if dependencies is None: dependencies = [] index = 0 @@ -1870,7 +1877,7 @@ def VerifyNoGYPFileCircularDependencies(targets): continue dependency_node = dependency_nodes.get(dependency_build_file) if not dependency_node: - raise GypError("Dependancy '%s' not found" % dependency_build_file) + raise GypError("Dependency '%s' not found" % dependency_build_file) if dependency_node not in build_file_node.dependencies: build_file_node.dependencies.append(dependency_node) dependency_node.dependents.append(build_file_node) @@ -2040,7 +2047,7 @@ def MakePathRelative(to_file, fro_file, item): gyp.common.RelativePath(os.path.dirname(fro_file), os.path.dirname(to_file)), item)).replace('\\', '/') - if item[-1] == '/': + if item.endswith('/'): ret += '/' return ret @@ -2288,7 +2295,7 @@ def SetUpConfigurations(target, target_dict): merged_configurations[configuration]) # Now drop all the abstract ones. - for configuration in target_dict['configurations'].keys(): + for configuration in list(target_dict['configurations']): old_configuration_dict = target_dict['configurations'][configuration] if old_configuration_dict.get('abstract'): del target_dict['configurations'][configuration] @@ -2531,8 +2538,8 @@ def ValidateSourcesInTarget(target, target_dict, build_file, error += ' %s: %s\n' % (basename, ' '.join(files)) if error: - print('static library %s has several files with the same basename:\n' % - target + error + 'libtool on Mac cannot handle that. Use ' + print('static library %s has several files with the same basename:\n' % target + + error + 'libtool on Mac cannot handle that. Use ' '--no-duplicate-basename-check to disable this validation.') raise GypError('Duplicate basenames in sources section, see list above') diff --git a/tools/gyp/pylib/gyp/mac_tool.py b/tools/gyp/pylib/gyp/mac_tool.py index c4c4a6df130404..781a8633bc2c7f 100755 --- a/tools/gyp/pylib/gyp/mac_tool.py +++ b/tools/gyp/pylib/gyp/mac_tool.py @@ -478,8 +478,7 @@ def _FindProvisioningProfile(self, profile, bundle_identifier): profiles_dir = os.path.join( os.environ['HOME'], 'Library', 'MobileDevice', 'Provisioning Profiles') if not os.path.isdir(profiles_dir): - print('cannot find mobile provisioning for %s' % bundle_identifier, - file=sys.stderr) + print('cannot find mobile provisioning for %s' % (bundle_identifier), file=sys.stderr) sys.exit(1) provisioning_profiles = None if profile: @@ -500,8 +499,7 @@ def _FindProvisioningProfile(self, profile, bundle_identifier): valid_provisioning_profiles[app_id_pattern] = ( profile_path, profile_data, team_identifier) if not valid_provisioning_profiles: - print('cannot find mobile provisioning for %s' % bundle_identifier, - file=sys.stderr) + print('cannot find mobile provisioning for %s' % (bundle_identifier), file=sys.stderr) sys.exit(1) # If the user has multiple provisioning profiles installed that can be # used for ${bundle_identifier}, pick the most specific one (ie. the diff --git a/tools/gyp/pylib/gyp/msvs_emulation.py b/tools/gyp/pylib/gyp/msvs_emulation.py index e130b53271c73e..d42e2e47b98a53 100644 --- a/tools/gyp/pylib/gyp/msvs_emulation.py +++ b/tools/gyp/pylib/gyp/msvs_emulation.py @@ -16,6 +16,7 @@ import gyp.MSVSUtil import gyp.MSVSVersion +PY3 = bytes != str windows_quoter_regex = re.compile(r'(\\*)"') @@ -130,7 +131,10 @@ def _FindDirectXInstallation(): # Setup params to pass to and attempt to launch reg.exe. cmd = ['reg.exe', 'query', r'HKLM\Software\Microsoft\DirectX', '/s'] p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - for line in p.communicate()[0].splitlines(): + stdout = p.communicate()[0] + if PY3: + stdout = stdout.decode('utf-8') + for line in stdout.splitlines(): if 'InstallPath' in line: dxsdk_dir = line.split(' ')[3] + "\\" @@ -241,7 +245,11 @@ def GetExtension(self): def GetVSMacroEnv(self, base_to_build=None, config=None): """Get a dict of variables mapping internal VS macro names to their gyp equivalents.""" - target_platform = 'Win32' if self.GetArch(config) == 'x86' else 'x64' + target_arch = self.GetArch(config) + if target_arch == 'x86': + target_platform = 'Win32' + else: + target_platform = target_arch target_name = self.spec.get('product_prefix', '') + \ self.spec.get('product_name', self.spec['target_name']) target_dir = base_to_build + '\\' if base_to_build else '' @@ -304,7 +312,7 @@ def GetArch(self, config): if not platform: # If no specific override, use the configuration's. platform = configuration_platform # Map from platform to architecture. - return {'Win32': 'x86', 'x64': 'x64'}.get(platform, 'x86') + return {'Win32': 'x86', 'x64': 'x64', 'ARM64': 'arm64'}.get(platform, 'x86') def _TargetConfig(self, config): """Returns the target-specific configuration.""" @@ -379,7 +387,7 @@ def GetCompilerPdbName(self, config, expand_special): return pdbname def GetMapFileName(self, config, expand_special): - """Gets the explicitly overriden map file name for a target or returns None + """Gets the explicitly overridden map file name for a target or returns None if it's not set.""" config = self._TargetConfig(config) map_file = self._Setting(('VCLinkerTool', 'MapFileName'), config) @@ -575,7 +583,10 @@ def GetLdflags(self, config, gyp_to_build_path, expand_special, 'VCLinkerTool', append=ldflags) self._GetDefFileAsLdflags(ldflags, gyp_to_build_path) ld('GenerateDebugInformation', map={'true': '/DEBUG'}) - ld('TargetMachine', map={'1': 'X86', '17': 'X64', '3': 'ARM'}, + # TODO: These 'map' values come from machineTypeOption enum, + # and does not have an official value for ARM64 in VS2017 (yet). + # It needs to verify the ARM64 value when machineTypeOption is updated. + ld('TargetMachine', map={'1': 'X86', '17': 'X64', '3': 'ARM', '18': 'ARM64'}, prefix='/MACHINE:') ldflags.extend(self._GetAdditionalLibraryDirectories( 'VCLinkerTool', config, gyp_to_build_path)) @@ -872,7 +883,9 @@ def midl(name, default=None): ('iid', iid), ('proxy', proxy)] # TODO(scottmg): Are there configuration settings to set these flags? - target_platform = 'win32' if self.GetArch(config) == 'x86' else 'x64' + target_platform = self.GetArch(config) + if target_platform == 'x86': + target_platform = 'win32' flags = ['/char', 'signed', '/env', target_platform, '/Oicf'] return outdir, output, variables, flags @@ -1045,6 +1058,8 @@ def GenerateEnvironmentFiles(toplevel_build_dir, generator_flags, popen = subprocess.Popen( args, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) variables, _ = popen.communicate() + if PY3: + variables = variables.decode('utf-8') if popen.returncode != 0: raise Exception('"%s" failed with error %d' % (args, popen.returncode)) env = _ExtractImportantEnvironment(variables) @@ -1066,6 +1081,8 @@ def GenerateEnvironmentFiles(toplevel_build_dir, generator_flags, 'for', '%i', 'in', '(cl.exe)', 'do', '@echo', 'LOC:%~$PATH:i')) popen = subprocess.Popen(args, shell=True, stdout=subprocess.PIPE) output, _ = popen.communicate() + if PY3: + output = output.decode('utf-8') cl_paths[arch] = _ExtractCLPath(output) return cl_paths diff --git a/tools/gyp/pylib/gyp/ordered_dict.py b/tools/gyp/pylib/gyp/ordered_dict.py deleted file mode 100644 index 6fe9c1f6c7c22b..00000000000000 --- a/tools/gyp/pylib/gyp/ordered_dict.py +++ /dev/null @@ -1,289 +0,0 @@ -# Unmodified from http://code.activestate.com/recipes/576693/ -# other than to add MIT license header (as specified on page, but not in code). -# Linked from Python documentation here: -# http://docs.python.org/2/library/collections.html#collections.OrderedDict -# -# This should be deleted once Py2.7 is available on all bots, see -# http://crbug.com/241769. -# -# Copyright (c) 2009 Raymond Hettinger. -# -# 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. - -# Backport of OrderedDict() class that runs on Python 2.4, 2.5, 2.6, 2.7 and pypy. -# Passes Python2.7's test suite and incorporates all the latest updates. - -try: - from thread import get_ident as _get_ident -except ImportError: - from dummy_thread import get_ident as _get_ident - -try: - from _abcoll import KeysView, ValuesView, ItemsView -except ImportError: - pass - - -class OrderedDict(dict): - 'Dictionary that remembers insertion order' - # An inherited dict maps keys to values. - # The inherited dict provides __getitem__, __len__, __contains__, and get. - # The remaining methods are order-aware. - # Big-O running times for all methods are the same as for regular dictionaries. - - # The internal self.__map dictionary maps keys to links in a doubly linked list. - # The circular doubly linked list starts and ends with a sentinel element. - # The sentinel element never gets deleted (this simplifies the algorithm). - # Each link is stored as a list of length three: [PREV, NEXT, KEY]. - - def __init__(self, *args, **kwds): - '''Initialize an ordered dictionary. Signature is the same as for - regular dictionaries, but keyword arguments are not recommended - because their insertion order is arbitrary. - - ''' - if len(args) > 1: - raise TypeError('expected at most 1 arguments, got %d' % len(args)) - try: - self.__root - except AttributeError: - self.__root = root = [] # sentinel node - root[:] = [root, root, None] - self.__map = {} - self.__update(*args, **kwds) - - def __setitem__(self, key, value, dict_setitem=dict.__setitem__): - 'od.__setitem__(i, y) <==> od[i]=y' - # Setting a new item creates a new link which goes at the end of the linked - # list, and the inherited dictionary is updated with the new key/value pair. - if key not in self: - root = self.__root - last = root[0] - last[1] = root[0] = self.__map[key] = [last, root, key] - dict_setitem(self, key, value) - - def __delitem__(self, key, dict_delitem=dict.__delitem__): - 'od.__delitem__(y) <==> del od[y]' - # Deleting an existing item uses self.__map to find the link which is - # then removed by updating the links in the predecessor and successor nodes. - dict_delitem(self, key) - link_prev, link_next, key = self.__map.pop(key) - link_prev[1] = link_next - link_next[0] = link_prev - - def __iter__(self): - 'od.__iter__() <==> iter(od)' - root = self.__root - curr = root[1] - while curr is not root: - yield curr[2] - curr = curr[1] - - def __reversed__(self): - 'od.__reversed__() <==> reversed(od)' - root = self.__root - curr = root[0] - while curr is not root: - yield curr[2] - curr = curr[0] - - def clear(self): - 'od.clear() -> None. Remove all items from od.' - try: - for node in self.__map.itervalues(): - del node[:] - root = self.__root - root[:] = [root, root, None] - self.__map.clear() - except AttributeError: - pass - dict.clear(self) - - def popitem(self, last=True): - '''od.popitem() -> (k, v), return and remove a (key, value) pair. - Pairs are returned in LIFO order if last is true or FIFO order if false. - - ''' - if not self: - raise KeyError('dictionary is empty') - root = self.__root - if last: - link = root[0] - link_prev = link[0] - link_prev[1] = root - root[0] = link_prev - else: - link = root[1] - link_next = link[1] - root[1] = link_next - link_next[0] = root - key = link[2] - del self.__map[key] - value = dict.pop(self, key) - return key, value - - # -- the following methods do not depend on the internal structure -- - - def keys(self): - 'od.keys() -> list of keys in od' - return list(self) - - def values(self): - 'od.values() -> list of values in od' - return [self[key] for key in self] - - def items(self): - 'od.items() -> list of (key, value) pairs in od' - return [(key, self[key]) for key in self] - - def iterkeys(self): - 'od.iterkeys() -> an iterator over the keys in od' - return iter(self) - - def itervalues(self): - 'od.itervalues -> an iterator over the values in od' - for k in self: - yield self[k] - - def items(self): - 'od.items -> an iterator over the (key, value) items in od' - for k in self: - yield (k, self[k]) - - # Suppress 'OrderedDict.update: Method has no argument': - # pylint: disable=E0211 - def update(*args, **kwds): - '''od.update(E, **F) -> None. Update od from dict/iterable E and F. - - If E is a dict instance, does: for k in E: od[k] = E[k] - If E has a .keys() method, does: for k in E.keys(): od[k] = E[k] - Or if E is an iterable of items, does: for k, v in E: od[k] = v - In either case, this is followed by: for k, v in F.items(): od[k] = v - - ''' - if len(args) > 2: - raise TypeError('update() takes at most 2 positional ' - 'arguments (%d given)' % (len(args),)) - elif not args: - raise TypeError('update() takes at least 1 argument (0 given)') - self = args[0] - # Make progressively weaker assumptions about "other" - other = () - if len(args) == 2: - other = args[1] - if isinstance(other, dict): - for key in other: - self[key] = other[key] - elif hasattr(other, 'keys'): - for key in other.keys(): - self[key] = other[key] - else: - for key, value in other: - self[key] = value - for key, value in kwds.items(): - self[key] = value - - __update = update # let subclasses override update without breaking __init__ - - __marker = object() - - def pop(self, key, default=__marker): - '''od.pop(k[,d]) -> v, remove specified key and return the corresponding value. - If key is not found, d is returned if given, otherwise KeyError is raised. - - ''' - if key in self: - result = self[key] - del self[key] - return result - if default is self.__marker: - raise KeyError(key) - return default - - def setdefault(self, key, default=None): - 'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od' - if key in self: - return self[key] - self[key] = default - return default - - def __repr__(self, _repr_running={}): - 'od.__repr__() <==> repr(od)' - call_key = id(self), _get_ident() - if call_key in _repr_running: - return '...' - _repr_running[call_key] = 1 - try: - if not self: - return '%s()' % (self.__class__.__name__,) - return '%s(%r)' % (self.__class__.__name__, self.items()) - finally: - del _repr_running[call_key] - - def __reduce__(self): - 'Return state information for pickling' - items = [[k, self[k]] for k in self] - inst_dict = vars(self).copy() - for k in vars(OrderedDict()): - inst_dict.pop(k, None) - if inst_dict: - return (self.__class__, (items,), inst_dict) - return self.__class__, (items,) - - def copy(self): - 'od.copy() -> a shallow copy of od' - return self.__class__(self) - - @classmethod - def fromkeys(cls, iterable, value=None): - '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S - and values equal to v (which defaults to None). - - ''' - d = cls() - for key in iterable: - d[key] = value - return d - - def __eq__(self, other): - '''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive - while comparison to a regular mapping is order-insensitive. - - ''' - if isinstance(other, OrderedDict): - return len(self)==len(other) and self.items() == other.items() - return dict.__eq__(self, other) - - def __ne__(self, other): - return not self == other - - # -- the following methods are only used in Python 2.7 -- - - def viewkeys(self): - "od.viewkeys() -> a set-like object providing a view on od's keys" - return KeysView(self) - - def viewvalues(self): - "od.viewvalues() -> an object providing a view on od's values" - return ValuesView(self) - - def viewitems(self): - "od.viewitems() -> a set-like object providing a view on od's items" - return ItemsView(self) - diff --git a/tools/gyp/pylib/gyp/win_tool.py b/tools/gyp/pylib/gyp/win_tool.py index ab6db1c4e047fb..cfdacb0d7ccd10 100755 --- a/tools/gyp/pylib/gyp/win_tool.py +++ b/tools/gyp/pylib/gyp/win_tool.py @@ -20,6 +20,7 @@ import sys BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +PY3 = bytes != str # A regex matching an argument corresponding to the output filename passed to # link.exe. @@ -132,6 +133,8 @@ def ExecLinkWrapper(self, arch, use_separate_mspdbsrv, *args): link = subprocess.Popen(args, shell=sys.platform == 'win32', env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) out, _ = link.communicate() + if PY3: + out = out.decode('utf-8') for line in out.splitlines(): if (not line.startswith(' Creating library ') and not line.startswith('Generating code') and @@ -223,6 +226,8 @@ def ExecManifestWrapper(self, arch, *args): popen = subprocess.Popen(args, shell=True, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) out, _ = popen.communicate() + if PY3: + out = out.decode('utf-8') for line in out.splitlines(): if line and 'manifest authoring warning 81010002' not in line: print(line) @@ -255,6 +260,8 @@ def ExecMidlWrapper(self, arch, outdir, tlb, h, dlldata, iid, proxy, idl, popen = subprocess.Popen(args, shell=True, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) out, _ = popen.communicate() + if PY3: + out = out.decode('utf-8') # Filter junk out of stdout, and write filtered versions. Output we want # to filter is pairs of lines that look like this: # Processing C:\Program Files (x86)\Microsoft SDKs\...\include\objidl.idl @@ -274,6 +281,8 @@ def ExecAsmWrapper(self, arch, *args): popen = subprocess.Popen(args, shell=True, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) out, _ = popen.communicate() + if PY3: + out = out.decode('utf-8') for line in out.splitlines(): if (not line.startswith('Copyright (C) Microsoft Corporation') and not line.startswith('Microsoft (R) Macro Assembler') and @@ -289,6 +298,8 @@ def ExecRcWrapper(self, arch, *args): popen = subprocess.Popen(args, shell=True, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) out, _ = popen.communicate() + if PY3: + out = out.decode('utf-8') for line in out.splitlines(): if (not line.startswith('Microsoft (R) Windows (R) Resource Compiler') and not line.startswith('Copyright (C) Microsoft Corporation') and diff --git a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py index 905bec7be34ba8..c3daba5fb82e1a 100644 --- a/tools/gyp/pylib/gyp/xcode_emulation.py +++ b/tools/gyp/pylib/gyp/xcode_emulation.py @@ -854,7 +854,7 @@ def GetLdflags(self, configname, product_dir, gyp_to_build_path, arch=None): product_dir: The directory where products such static and dynamic libraries are placed. This is added to the library search path. gyp_to_build_path: A function that converts paths relative to the - current gyp file to paths relative to the build direcotry. + current gyp file to paths relative to the build directory. """ self.configname = configname ldflags = [] @@ -1002,7 +1002,7 @@ def GetPerTargetSetting(self, setting, default=None): def _GetStripPostbuilds(self, configname, output_binary, quiet): """Returns a list of shell commands that contain the shell commands - neccessary to strip this target's binary. These should be run as postbuilds + necessary to strip this target's binary. These should be run as postbuilds before the actual postbuilds run.""" self.configname = configname @@ -1037,7 +1037,7 @@ def _GetStripPostbuilds(self, configname, output_binary, quiet): def _GetDebugInfoPostbuilds(self, configname, output, output_binary, quiet): """Returns a list of shell commands that contain the shell commands - neccessary to massage this target's debug information. These should be run + necessary to massage this target's debug information. These should be run as postbuilds before the actual postbuilds run.""" self.configname = configname @@ -1173,7 +1173,7 @@ def _AdjustLibrary(self, library, config_name=None): # "/usr/lib" libraries, is do "-L/usr/lib -lname" which is dependent on the # library order and cause collision when building Chrome. # - # Instead substitude ".tbd" to ".dylib" in the generated project when the + # Instead substitute ".tbd" to ".dylib" in the generated project when the # following conditions are both true: # - library is referenced in the gyp file as "$(SDKROOT)/**/*.dylib", # - the ".dylib" file does not exists but a ".tbd" file do. @@ -1476,7 +1476,7 @@ def GetStdout(cmdlist): def MergeGlobalXcodeSettingsToSpec(global_dict, spec): """Merges the global xcode_settings dictionary into each configuration of the target represented by spec. For keys that are both in the global and the local - xcode_settings dict, the local key gets precendence. + xcode_settings dict, the local key gets precedence. """ # The xcode generator special-cases global xcode_settings and does something # that amounts to merging in the global xcode_settings into each local @@ -1522,7 +1522,7 @@ def GetMacBundleResources(product_dir, xcode_settings, resources): output = dest # The make generator doesn't support it, so forbid it everywhere - # to keep the generators more interchangable. + # to keep the generators more interchangeable. assert ' ' not in res, ( "Spaces in resource filenames not supported (%s)" % res) @@ -1564,14 +1564,14 @@ def GetMacInfoPlist(product_dir, xcode_settings, gyp_path_to_build_path): relative to the build directory. xcode_settings: The XcodeSettings of the current target. gyp_to_build_path: A function that converts paths relative to the - current gyp file to paths relative to the build direcotry. + current gyp file to paths relative to the build directory. """ info_plist = xcode_settings.GetPerTargetSetting('INFOPLIST_FILE') if not info_plist: return None, None, [], {} # The make generator doesn't support it, so forbid it everywhere - # to keep the generators more interchangable. + # to keep the generators more interchangeable. assert ' ' not in info_plist, ( "Spaces in Info.plist filenames not supported (%s)" % info_plist) diff --git a/tools/gyp/pylib/gyp/xcodeproj_file.py b/tools/gyp/pylib/gyp/xcodeproj_file.py index 0534f51fe5cf8d..1e950dce8f0a05 100644 --- a/tools/gyp/pylib/gyp/xcodeproj_file.py +++ b/tools/gyp/pylib/gyp/xcodeproj_file.py @@ -220,7 +220,7 @@ class XCObject(object): an empty string ("", in the case of property_type str) or list ([], in the case of is_list True) from being set for the property. - default: Optional. If is_requried is True, default may be set + default: Optional. If is_required is True, default may be set to provide a default value for objects that do not supply their own value. If is_required is True and default is not provided, users of the class must supply their own diff --git a/tools/gyp/tools/pretty_gyp.py b/tools/gyp/tools/pretty_gyp.py index d01c692edcf8d6..633048a59ad28c 100755 --- a/tools/gyp/tools/pretty_gyp.py +++ b/tools/gyp/tools/pretty_gyp.py @@ -18,7 +18,7 @@ # Regex to remove quoted strings when we're counting braces. # It takes into account quoted quotes, and makes sure that the quotes match. # NOTE: It does not handle quotes that span more than one line, or -# cases where an escaped quote is preceeded by an escaped backslash. +# cases where an escaped quote is preceded by an escaped backslash. QUOTE_RE_STR = r'(?P[\'"])(.*?)(?"){break}if(v!==" "&&v!=="\t"){r.message(a,D);break}}}}}},function(e,r,t){if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){e.exports=t(172)}else{e.exports=t(87)}},,function(e,r,t){"use strict";const n=t(365);const i=t(734);const u=process.env;let o;if(i("no-color")||i("no-colors")||i("color=false")){o=false}else if(i("color")||i("colors")||i("color=true")||i("color=always")){o=true}if("FORCE_COLOR"in u){o=u.FORCE_COLOR.length===0||parseInt(u.FORCE_COLOR,10)!==0}function translateLevel(e){if(e===0){return false}return{level:e,hasBasic:true,has256:e>=2,has16m:e>=3}}function supportsColor(e){if(o===false){return 0}if(i("color=16m")||i("color=full")||i("color=truecolor")){return 3}if(i("color=256")){return 2}if(e&&!e.isTTY&&o!==true){return 0}const r=o?1:0;if(process.platform==="win32"){const e=n.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586){return Number(e[2])>=14931?3:2}return 1}if("CI"in u){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in u)||u.CI_NAME==="codeship"){return 1}return r}if("TEAMCITY_VERSION"in u){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(u.TEAMCITY_VERSION)?1:0}if(u.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in u){const e=parseInt((u.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(u.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(u.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(u.TERM)){return 1}if("COLORTERM"in u){return 1}if(u.TERM==="dumb"){return r}return r}function getSupportLevel(e){const r=supportsColor(e);return translateLevel(r)}e.exports={supportsColor:getSupportLevel,stdout:getSupportLevel(process.stdout),stderr:getSupportLevel(process.stderr)}},,function(e){"use strict";function isNothing(e){return typeof e==="undefined"||e===null}function isObject(e){return typeof e==="object"&&e!==null}function toArray(e){if(Array.isArray(e))return e;else if(isNothing(e))return[];return[e]}function extend(e,r){var t,n,i,u;if(r){u=Object.keys(r);for(t=0,n=u.length;t",Iacute:"Í",Icirc:"Î",Igrave:"Ì",Iuml:"Ï",LT:"<",Ntilde:"Ñ",Oacute:"Ó",Ocirc:"Ô",Ograve:"Ò",Oslash:"Ø",Otilde:"Õ",Ouml:"Ö",QUOT:'"',REG:"®",THORN:"Þ",Uacute:"Ú",Ucirc:"Û",Ugrave:"Ù",Uuml:"Ü",Yacute:"Ý",aacute:"á",acirc:"â",acute:"´",aelig:"æ",agrave:"à",amp:"&",aring:"å",atilde:"ã",auml:"ä",brvbar:"¦",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",ecirc:"ê",egrave:"è",eth:"ð",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",iacute:"í",icirc:"î",iexcl:"¡",igrave:"ì",iquest:"¿",iuml:"ï",laquo:"«",lt:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",oacute:"ó",ocirc:"ô",ograve:"ò",ordf:"ª",ordm:"º",oslash:"ø",otilde:"õ",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',raquo:"»",reg:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",times:"×",uacute:"ú",ucirc:"û",ugrave:"ù",uml:"¨",uuml:"ü",yacute:"ý",yen:"¥",yuml:"ÿ"}},function(e,r,t){"use strict";var n=t(751);var i=Object.prototype.hasOwnProperty;function resolveYamlSet(e){if(e===null)return true;var r,t=e;for(r in t){if(i.call(t,r)){if(t[r]!==null)return false}}return true}function constructYamlSet(e){return e!==null?e:{}}e.exports=new n("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet})},,,function(e,r,t){"use strict";var n=t(541);var i=t(372);var u=t(766);var o=t(189);e.exports=n("remark-lint:maximum-line-length",maximumLineLength);var s=u.start;var a=u.end;function maximumLineLength(e,r,t){var n=typeof t==="number"&&!isNaN(t)?t:80;var u=String(r);var f=u.split(/\r?\n/);var c=f.length;var l=-1;var p;i(e,["heading","table","code","definition","html","jsx"],ignore);i(e,["link","image","inlineCode"],inline);while(++ln){r.message("Line must be at most "+n+" characters",{line:l+1,column:p+1})}}function inline(e,r,t){var i=t.children[r+1];var u;var f;if(o(e)){return}u=s(e);f=a(e);if(u.column>n||f.column0}function Chalk(e){if(!this||!(this instanceof Chalk)||this.template){const r={};applyOptions(r,e);r.template=function(){const e=[].slice.call(arguments);return chalkTag.apply(null,[r.template].concat(e))};Object.setPrototypeOf(r,Chalk.prototype);Object.setPrototypeOf(r.template,r);r.template.constructor=Chalk;return r.template}applyOptions(this,e)}if(s){i.blue.open=""}for(const e of Object.keys(i)){i[e].closeRe=new RegExp(n(i[e].close),"g");c[e]={get(){const r=i[e];return build.call(this,this._styles?this._styles.concat(r):[r],this._empty,e)}}}c.visible={get(){return build.call(this,this._styles||[],true,"visible")}};i.color.closeRe=new RegExp(n(i.color.close),"g");for(const e of Object.keys(i.color.ansi)){if(f.has(e)){continue}c[e]={get(){const r=this.level;return function(){const t=i.color[a[r]][e].apply(null,arguments);const n={open:t,close:i.color.close,closeRe:i.color.closeRe};return build.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}}}i.bgColor.closeRe=new RegExp(n(i.bgColor.close),"g");for(const e of Object.keys(i.bgColor.ansi)){if(f.has(e)){continue}const r="bg"+e[0].toUpperCase()+e.slice(1);c[r]={get(){const r=this.level;return function(){const t=i.bgColor[a[r]][e].apply(null,arguments);const n={open:t,close:i.bgColor.close,closeRe:i.bgColor.closeRe};return build.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}}}const l=Object.defineProperties(()=>{},c);function build(e,r,t){const n=function(){return applyStyle.apply(n,arguments)};n._styles=e;n._empty=r;const i=this;Object.defineProperty(n,"level",{enumerable:true,get(){return i.level},set(e){i.level=e}});Object.defineProperty(n,"enabled",{enumerable:true,get(){return i.enabled},set(e){i.enabled=e}});n.hasGrey=this.hasGrey||t==="gray"||t==="grey";n.__proto__=l;return n}function applyStyle(){const e=arguments;const r=e.length;let t=String(arguments[0]);if(r===0){return""}if(r>1){for(let n=1;n>>=0;var i=e.byteLength-r;if(i<0){throw new RangeError("'offset' is out of bounds")}if(n===undefined){n=i}else{n>>>=0;if(n>i){throw new RangeError("'length' is out of bounds")}}return t?Buffer.from(e.slice(r,r+n)):new Buffer(new Uint8Array(e.slice(r,r+n)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return t?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,n){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,n)}if(typeof e==="string"){return fromString(e,r)}return t?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},function(e){"use strict";function isSpecificValue(e){return e instanceof Buffer||e instanceof Date||e instanceof RegExp?true:false}function cloneSpecificValue(e){if(e instanceof Buffer){var r=Buffer.alloc?Buffer.alloc(e.length):new Buffer(e.length);e.copy(r);return r}else if(e instanceof Date){return new Date(e.getTime())}else if(e instanceof RegExp){return new RegExp(e)}else{throw new Error("Unexpected situation")}}function deepCloneArray(e){var t=[];e.forEach(function(e,n){if(typeof e==="object"&&e!==null){if(Array.isArray(e)){t[n]=deepCloneArray(e)}else if(isSpecificValue(e)){t[n]=cloneSpecificValue(e)}else{t[n]=r({},e)}}else{t[n]=e}});return t}function safeGetProperty(e,r){return r==="__proto__"?undefined:e[r]}var r=e.exports=function(){if(arguments.length<1||typeof arguments[0]!=="object"){return false}if(arguments.length<2){return arguments[0]}var e=arguments[0];var t=Array.prototype.slice.call(arguments,1);var n,i,u;t.forEach(function(t){if(typeof t!=="object"||t===null||Array.isArray(t)){return}Object.keys(t).forEach(function(u){i=safeGetProperty(e,u);n=safeGetProperty(t,u);if(n===e){return}else if(typeof n!=="object"||n===null){e[u]=n;return}else if(Array.isArray(n)){e[u]=deepCloneArray(n);return}else if(isSpecificValue(n)){e[u]=cloneSpecificValue(n);return}else if(typeof i!=="object"||i===null||Array.isArray(i)){e[u]=r({},n);return}else{e[u]=r(i,n);return}})});return e}},,,function(e){e.exports=["md","markdown","mdown","mkdn","mkd","mdwn","mkdown","ron"]},function(e,r,t){"use strict";var n=t(694);var i=t(717);var u=t(787);var o=t(752);e.exports=paragraph;var s="\t";var a="\n";var f=" ";var c=4;function paragraph(e,r,t){var l=this;var p=l.options;var h=p.commonmark;var v=p.gfm;var D=l.blockTokenizers;var d=l.interruptParagraph;var g=r.indexOf(a);var m=r.length;var E;var b;var A;var C;var w;while(g=c&&A!==a){g=r.indexOf(a,g+1);continue}}b=r.slice(g+1);if(o(d,D,l,[e,b,true])){break}if(D.list.call(l,e,b,true)&&(l.inList||h||v&&!i(n.left(b).charAt(0)))){break}E=g;g=r.indexOf(a,g+1);if(g!==-1&&n(r.slice(E,g))===""){g=E;break}}b=r.slice(0,g);if(n(b)===""){e(b);return null}if(t){return true}w=e.now();b=u(b);return e(b)({type:"paragraph",children:l.tokenizeInline(b,w)})}},,function(e,r,t){"use strict";var n=t(541);var i=t(189);var u=t(372);e.exports=n("remark-lint:no-unused-definitions",noUnusedDefinitions);var o="Found unused definition";function noUnusedDefinitions(e,r){var t={};var n;var s;u(e,["definition","footnoteDefinition"],find);u(e,["imageReference","linkReference","footnoteReference"],mark);for(n in t){s=t[n];if(!s.used){r.message(o,s.node)}}function find(e){if(!i(e)){t[e.identifier.toUpperCase()]={node:e,used:false}}}function mark(e){var r=t[e.identifier.toUpperCase()];if(!i(e)&&r){r.used=true}}}},function(e,r,t){"use strict";var n=t(541);var i=t(372);var u=t(766);var o=t(189);e.exports=n("remark-lint:ordered-list-marker-style",orderedListMarkerStyle);var s=u.start;var a={")":true,".":true,null:true};function orderedListMarkerStyle(e,r,t){var n=String(r);t=typeof t!=="string"||t==="consistent"?null:t;if(a[t]!==true){r.fail("Invalid ordered list-item marker style `"+t+"`: use either `'.'` or `')'`")}i(e,"list",visitor);function visitor(e){var i=e.children;var u=e.ordered?i.length:0;var a=-1;var f;var c;while(++a?@[\\\]^`{|}~_]/;function copy(e,r){var t=e.length;var o=r.length;var s=[];var a=0;var f=0;var c;while(f{if(typeof e!=="string"){throw new TypeError("Expected a string")}let t=r||{};let E=typeof t.maxLength==="number"?Math.min(i,t.maxLength):i;if(e.length>E){throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${E})`)}let b={type:"root",input:e,nodes:[]};let A=[b];let C=b;let w=b;let y=0;let F=e.length;let S=0;let _=0;let B;let O={};const x=()=>e[S++];const k=e=>{if(e.type==="text"&&w.type==="dot"){w.type="text"}if(w&&w.type==="text"&&e.type==="text"){w.value+=e.value;return}C.nodes.push(e);e.parent=C;e.prev=w;w=e;return e};k({type:"bos"});while(S0){if(C.ranges>0){C.ranges=0;let e=C.nodes.shift();C.nodes=[e,{type:"text",value:n(C)}]}k({type:"comma",value:B});C.commas++;continue}if(B===a&&_>0&&C.commas===0){let e=C.nodes;if(_===0||e.length===0){k({type:"text",value:B});continue}if(w.type==="dot"){C.range=[];w.value+=B;w.type="range";if(C.nodes.length!==3&&C.nodes.length!==5){C.invalid=true;C.ranges=0;w.type="text";continue}C.ranges++;C.args=[];continue}if(w.type==="range"){e.pop();let r=e[e.length-1];r.value+=w.value+B;w=r;C.ranges--;continue}k({type:"dot",value:B});continue}k({type:"text",value:B})}do{C=A.pop();if(C.type!=="root"){C.nodes.forEach(e=>{if(!e.nodes){if(e.type==="open")e.isOpen=true;if(e.type==="close")e.isClose=true;if(!e.nodes)e.type="text";e.invalid=true}});let e=A[A.length-1];let r=e.nodes.indexOf(C);e.nodes.splice(r,1,...C.nodes)}}while(A.length>0);k({type:"eos"});return b};e.exports=E},,,function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});const n=t(387);const i=t(204);const u="!";const o={returnIndex:false};const s=e=>Array.isArray(e)?e:[e];const a=(e,r)=>{if(typeof e==="function"){return e}if(typeof e==="string"){const t=n(e,r);return r=>e===r||t(r)}if(e instanceof RegExp){return r=>e.test(r)}return e=>false};const f=(e,r,t,n)=>{const u=Array.isArray(t);const o=u?t[0]:t;if(!u&&typeof o!=="string"){throw new TypeError("anymatch: second argument must be a string: got "+Object.prototype.toString.call(o))}const s=i(o);for(let e=0;e{if(e==null){throw new TypeError("anymatch: specify first argument")}const i=typeof t==="boolean"?{returnIndex:t}:t;const c=i.returnIndex||false;const l=s(e);const p=l.filter(e=>typeof e==="string"&&e.charAt(0)===u).map(e=>e.slice(1)).map(e=>n(e,i));const h=l.map(e=>a(e,i));if(r==null){return(e,r=false)=>{const t=typeof r==="boolean"?r:false;return f(h,p,e,t)}}return f(h,p,r,c)};c.default=c;e.exports=c},,function(e,r,t){"use strict";var n=t(141);e.exports=new n({explicit:[t(38),t(959),t(438)]})},function(e){"use strict";const r={};function createErrorType(e,t,n){if(!n){n=Error}function getMessage(e,r,n){if(typeof t==="string"){return t}else{return t(e,r,n)}}class NodeError extends n{constructor(e,r,t){super(getMessage(e,r,t))}}NodeError.prototype.name=n.name;NodeError.prototype.code=e;r[e]=NodeError}function oneOf(e,r){if(Array.isArray(e)){const t=e.length;e=e.map(e=>String(e));if(t>2){return`one of ${r} ${e.slice(0,t-1).join(", ")}, or `+e[t-1]}else if(t===2){return`one of ${r} ${e[0]} or ${e[1]}`}else{return`of ${r} ${e[0]}`}}else{return`of ${r} ${String(e)}`}}function startsWith(e,r,t){return e.substr(!t||t<0?0:+t,r.length)===r}function endsWith(e,r,t){if(t===undefined||t>e.length){t=e.length}return e.substring(t-r.length,t)===r}function includes(e,r,t){if(typeof t!=="number"){t=0}if(t+r.length>e.length){return false}else{return e.indexOf(r,t)!==-1}}createErrorType("ERR_INVALID_OPT_VALUE",function(e,r){return'The value "'+r+'" is invalid for option "'+e+'"'},TypeError);createErrorType("ERR_INVALID_ARG_TYPE",function(e,r,t){let n;if(typeof r==="string"&&startsWith(r,"not ")){n="must not be";r=r.replace(/^not /,"")}else{n="must be"}let i;if(endsWith(e," argument")){i=`The ${e} ${n} ${oneOf(r,"type")}`}else{const t=includes(e,".")?"property":"argument";i=`The "${e}" ${t} ${n} ${oneOf(r,"type")}`}i+=`. Received type ${typeof t}`;return i},TypeError);createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");createErrorType("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close");createErrorType("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times");createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);createErrorType("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");e.exports.codes=r},,,function(e,r,t){"use strict";const n=t(622);const i="\\\\/";const u=`[^${i}]`;const o="\\.";const s="\\+";const a="\\?";const f="\\/";const c="(?=.)";const l="[^/]";const p=`(?:${f}|$)`;const h=`(?:^|${f})`;const v=`${o}{1,2}${p}`;const D=`(?!${o})`;const d=`(?!${h}${v})`;const g=`(?!${o}{0,1}${p})`;const m=`(?!${v})`;const E=`[^.${f}]`;const b=`${l}*?`;const A={DOT_LITERAL:o,PLUS_LITERAL:s,QMARK_LITERAL:a,SLASH_LITERAL:f,ONE_CHAR:c,QMARK:l,END_ANCHOR:p,DOTS_SLASH:v,NO_DOT:D,NO_DOTS:d,NO_DOT_SLASH:g,NO_DOTS_SLASH:m,QMARK_NO_DOT:E,STAR:b,START_ANCHOR:h};const C={...A,SLASH_LITERAL:`[${i}]`,QMARK:u,STAR:`${u}*?`,DOTS_SLASH:`${o}{1,2}(?:[${i}]|$)`,NO_DOT:`(?!${o})`,NO_DOTS:`(?!(?:^|[${i}])${o}{1,2}(?:[${i}]|$))`,NO_DOT_SLASH:`(?!${o}{0,1}(?:[${i}]|$))`,NO_DOTS_SLASH:`(?!${o}{1,2}(?:[${i}]|$))`,QMARK_NO_DOT:`[^.${i}]`,START_ANCHOR:`(?:^|[${i}])`,END_ANCHOR:`(?:[${i}]|$)`};const w={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};e.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:w,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:n.sep,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===true?C:A}}},,function(e,r,t){"use strict";var n=t(747);var i=t(622);var u=t(7)("unified-engine:file-pipeline:copy");var o=t(378);e.exports=copy;var s=n.stat;var a=i.dirname;var f=i.resolve;var c=i.relative;function copy(e,r,t,n){var l=e.output;var p=t.expected>1;var h=l;var v=r.path;if(!o(h)){u("Not copying");return n()}h=f(e.cwd,h);u("Copying `%s`",v);s(h,onstatfile);function onstatfile(e,r){if(e){if(e.code!=="ENOENT"||l.charAt(l.length-1)===i.sep){return n(new Error("Cannot read output directory. Error:\n"+e.message))}s(a(h),onstatparent)}else{done(r.isDirectory())}}function onstatparent(e){if(e){n(new Error("Cannot read parent directory. Error:\n"+e.message))}else{done(false)}}function done(e){if(!e&&p){return n(new Error("Cannot write multiple files to single output: "+h))}r[e?"dirname":"path"]=c(r.cwd,h);u("Copying document from %s to %s",v,r.path);n()}}},,,,,function(e,r,t){const n=t(867);const i=t(669);r.init=init;r.log=log;r.formatArgs=formatArgs;r.save=save;r.load=load;r.useColors=useColors;r.colors=[6,2,3,4,5,1];try{const e=t(9);if(e&&(e.stderr||e).level>=2){r.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(e){}r.inspectOpts=Object.keys(process.env).filter(e=>{return/^debug_/i.test(e)}).reduce((e,r)=>{const t=r.substring(6).toLowerCase().replace(/_([a-z])/g,(e,r)=>{return r.toUpperCase()});let n=process.env[r];if(/^(yes|on|true|enabled)$/i.test(n)){n=true}else if(/^(no|off|false|disabled)$/i.test(n)){n=false}else if(n==="null"){n=null}else{n=Number(n)}e[t]=n;return e},{});function useColors(){return"colors"in r.inspectOpts?Boolean(r.inspectOpts.colors):n.isatty(process.stderr.fd)}function formatArgs(r){const{namespace:t,useColors:n}=this;if(n){const n=this.color;const i="[3"+(n<8?n:"8;5;"+n);const u=` ${i};1m${t} `;r[0]=u+r[0].split("\n").join("\n"+u);r.push(i+"m+"+e.exports.humanize(this.diff)+"")}else{r[0]=getDate()+t+" "+r[0]}}function getDate(){if(r.inspectOpts.hideDate){return""}return(new Date).toISOString()+" "}function log(...e){return process.stderr.write(i.format(...e)+"\n")}function save(e){if(e){process.env.DEBUG=e}else{delete process.env.DEBUG}}function load(){return process.env.DEBUG}function init(e){e.inspectOpts={};const t=Object.keys(r.inspectOpts);for(let n=0;n=e.expected){e.emit("done")}}},,,,function(e,r,t){"use strict";var n=t(62);var i=t(26);e.exports=linkReference;var u="[";var o="]";var s="shortcut";var a="collapsed";function linkReference(e){var r=this;var t=e.referenceType;var f=r.enterLinkReference(r,e);var c=r.all(e).join("");f();if(t===s||t===a){c=n(c,e.label||e.identifier)}return u+c+o+i(e)}},,,function(e,r,t){"use strict";var n=t(223);var i=create(Error);e.exports=i;i.eval=create(EvalError);i.range=create(RangeError);i.reference=create(ReferenceError);i.syntax=create(SyntaxError);i.type=create(TypeError);i.uri=create(URIError);i.create=create;function create(e){FormattedError.displayName=e.displayName||e.name;return FormattedError;function FormattedError(r){if(r){r=n.apply(null,arguments)}return new e(r)}}},function(e){"use strict";e.exports=locate;function locate(e,r){return e.indexOf("<",r)}},function(e,r,t){"use strict";var n=t(751);function resolveJavascriptRegExp(e){if(e===null)return false;if(e.length===0)return false;var r=e,t=/\/([gim]*)$/.exec(e),n="";if(r[0]==="/"){if(t)n=t[1];if(n.length>3)return false;if(r[r.length-n.length-1]!=="/")return false}return true}function constructJavascriptRegExp(e){var r=e,t=/\/([gim]*)$/.exec(e),n="";if(r[0]==="/"){if(t)n=t[1];r=r.slice(1,r.length-n.length-1)}return new RegExp(r,n)}function representJavascriptRegExp(e){var r="/"+e.source+"/";if(e.global)r+="g";if(e.multiline)r+="m";if(e.ignoreCase)r+="i";return r}function isRegExp(e){return Object.prototype.toString.call(e)==="[object RegExp]"}e.exports=new n("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp})},,,function(e,r,t){var n=t(413);if(process.env.READABLE_STREAM==="disable"&&n){e.exports=n.Readable;Object.assign(e.exports,n);e.exports.Stream=n}else{r=e.exports=t(739);r.Stream=n||r;r.Readable=r;r.Writable=t(139);r.Duplex=t(864);r.Transform=t(685);r.PassThrough=t(401);r.finished=t(89);r.pipeline=t(528)}},function(e){"use strict";e.exports=function(e){if(typeof e==="number"){return e-e===0}if(typeof e==="string"&&e.trim()!==""){return Number.isFinite?Number.isFinite(+e):isFinite(+e)}return false}},,function(e,r,t){"use strict";var n=t(747);var i=t(622);var u=t(7)("unified-engine:file-pipeline:read");var o=t(877);e.exports=read;var s=i.resolve;var a=n.readFile;function read(e,r,t,n){var i=r.path;if(r.contents||r.data.unifiedEngineStreamIn){u("Not reading file `%s` with contents",i);n()}else if(o(r).fatal){u("Not reading failed file `%s`",i);n()}else{i=s(e.cwd,i);u("Reading `%s` in `%s`",i,"utf8");a(i,"utf8",onread)}function onread(e,t){u("Read `%s` (error: %s)",i,e);r.contents=t||"";n(e)}}},,function(e){"use strict";e.exports=indentation;var r="\t";var t=" ";var n=1;var i=4;function indentation(e){var u=0;var o=0;var s=e.charAt(u);var a={};var f;while(s===r||s===t){f=s===r?i:n;o+=f;if(f>1){o=Math.floor(o/f)*f}a[o]=u;s=e.charAt(++u)}return{indent:o,stops:a}}},function(e,r,t){"use strict";var n=t(747);var i=t(622);var u=t(992);r.read=read;r.write=write;function read(e,r,t){var o=u(e);if(!t&&typeof r==="function"){t=r;r=null}if(!t){return new Promise(executor)}executor(resolve,t);function resolve(e){t(null,e)}function executor(e,t){var u;try{u=i.resolve(o.cwd,o.path)}catch(e){return t(e)}n.readFile(u,r,done);function done(r,n){if(r){t(r)}else{o.contents=n;e(o)}}}}function write(e,r,t){var o=u(e);if(!t&&typeof r==="function"){t=r;r=undefined}if(!t){return new Promise(executor)}executor(resolve,t);function resolve(e){t(null,e)}function executor(e,t){var u;try{u=i.resolve(o.cwd,o.path)}catch(e){return t(e)}n.writeFile(u,o.contents||"",r,done);function done(r){if(r){t(r)}else{e()}}}}},function(e,r,t){"use strict";var n=t(669);var i=t(447);var u=function errorEx(e,r){if(!e||e.constructor!==String){r=e||{};e=Error.name}var t=function ErrorEXError(n){if(!this){return new ErrorEXError(n)}n=n instanceof Error?n.message:n||this.message;Error.call(this,n);Error.captureStackTrace(this,t);this.name=e;Object.defineProperty(this,"message",{configurable:true,enumerable:false,get:function(){var e=n.split(/\r?\n/g);for(var t in r){if(!r.hasOwnProperty(t)){continue}var u=r[t];if("message"in u){e=u.message(this[t],e)||e;if(!i(e)){e=[e]}}}return e.join("\n")},set:function(e){n=e}});var u=null;var o=Object.getOwnPropertyDescriptor(this,"stack");var s=o.get;var a=o.value;delete o.value;delete o.writable;o.set=function(e){u=e};o.get=function(){var e=(u||(s?s.call(this):a)).split(/\r?\n+/g);if(!u){e[0]=this.name+": "+this.message}var t=1;for(var n in r){if(!r.hasOwnProperty(n)){continue}var i=r[n];if("line"in i){var o=i.line(this[n]);if(o){e.splice(t++,0," "+o)}}if("stack"in i){i.stack(this[n],e)}}return e.join("\n")};Object.defineProperty(this,"stack",o)};if(Object.setPrototypeOf){Object.setPrototypeOf(t.prototype,Error.prototype);Object.setPrototypeOf(t,Error)}else{n.inherits(t,Error)}return t};u.append=function(e,r){return{message:function(t,n){t=t||r;if(t){n[0]+=" "+e.replace("%s",t.toString())}return n}}};u.line=function(e,r){return{line:function(t){t=t||r;if(t){return e.replace("%s",t.toString())}return null}}};e.exports=u},function(e){"use strict";e.exports=paragraph;function paragraph(e){return this.all(e).join("")}},function(e){"use strict";e.exports=locate;function locate(e,r){return e.indexOf("\\",r)}},function(e,r,t){"use strict";var n=t(541);var i=t(665);var u=t(372);var o=t(766);var s=t(189);e.exports=n("remark-lint:no-consecutive-blank-lines",noConsecutiveBlankLines);function noConsecutiveBlankLines(e,r){u(e,visitor);function visitor(e){var r=e.children;var t;var n;if(!s(e)&&r){t=r[0];if(t&&!s(t)){compare(o.start(e),o.start(t),0);r.forEach(visitChild);n=r[r.length-1];if(n!==t&&!s(n)){compare(o.end(e),o.end(n),1)}}}}function compare(e,t,n){var u=t.line-e.line;var o=Math.abs(u)-n;var s;if(o>0){s="Remove "+o+" "+i("line",o)+" "+(u>0?"before":"after")+" node";r.message(s,t)}}function visitChild(e,r,t){var n=t[r-1];var i=2;if(n&&!s(n)&&!s(e)){if(n.type==="list"&&e.type==="list"||e.type==="code"&&n.type==="list"&&!e.lang){i++}compare(o.end(n),o.start(e),i)}}}},,function(e,r,t){"use strict";var n=t(324);e.exports=enclose;var i="(";var u=")";var o="<";var s=">";var a=/\s/;function enclose(e,r){if(r||e.length===0||a.test(e)||n(e,i)!==n(e,u)){return o+e+s}return e}},,,,function(e,r,t){const n=t(969);e.exports={isSpaceSeparator(e){return n.Space_Separator.test(e)},isIdStartChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||n.ID_Start.test(e)},isIdContinueChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="‌"||e==="‍"||n.ID_Continue.test(e)},isDigit(e){return/[0-9]/.test(e)},isHexDigit(e){return/[0-9A-Fa-f]/.test(e)}}},function(e){"use strict";e.exports=locate;function locate(e,r){var t=e.indexOf("*",r);var n=e.indexOf("_",r);if(n===-1){return t}if(t===-1){return n}return nt.length;var u;if(i){t.push(done)}try{u=e.apply(null,t)}catch(e){if(i&&n){throw e}return done(e)}if(!i){if(u&&typeof u.then==="function"){u.then(then,done)}else if(u instanceof Error){done(u)}else{then(u)}}}function done(){if(!n){n=true;t.apply(null,arguments)}}function then(e){done(null,e)}}},function(e){"use strict";e.exports=hexadecimal;function hexadecimal(e){var r=typeof e==="string"?e.charCodeAt(0):e;return r>=97&&r<=102||r>=65&&r<=70||r>=48&&r<=57}},,,,,function(e,r,t){"use strict";var n=t(541);var i=t(731);var u=t(372);var o=t(766);var s=t(189);e.exports=n("remark-lint:checkbox-content-indent",checkboxContentIndent);var a=o.start;var f=o.end;var c="Checkboxes should be followed by a single character";function checkboxContentIndent(e,r){var t=String(r);var n=i(r);u(e,"listItem",visitor);function visitor(e){var i;var u;var o;if(typeof e.checked!=="boolean"||s(e)){return}i=a(e).offset;u=(e.children.length===0?f(e):a(e.children[0])).offset;while(/[^\S\n]/.test(t.charAt(u))){u++}o=t.slice(i,u);o=o.slice(o.indexOf("]")+1);if(o.length!==1){r.message(c,{start:n.toPosition(u-o.length+1),end:n.toPosition(u)})}}}},function(e,r,t){"use strict";e.exports=Writable;function WriteReq(e,r,t){this.chunk=e;this.encoding=r;this.callback=t;this.next=null}function CorkedRequest(e){var r=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(r,e)}}var n;Writable.WritableState=WritableState;var i={deprecate:t(150)};var u=t(927);var o=t(293).Buffer;var s=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return o.from(e)}function _isUint8Array(e){return o.isBuffer(e)||e instanceof s}var a=t(318);var f=t(675),c=f.getHighWaterMark;var l=t(77).codes,p=l.ERR_INVALID_ARG_TYPE,h=l.ERR_METHOD_NOT_IMPLEMENTED,v=l.ERR_MULTIPLE_CALLBACK,D=l.ERR_STREAM_CANNOT_PIPE,d=l.ERR_STREAM_DESTROYED,g=l.ERR_STREAM_NULL_VALUES,m=l.ERR_STREAM_WRITE_AFTER_END,E=l.ERR_UNKNOWN_ENCODING;t(744)(Writable,u);function nop(){}function WritableState(e,r,i){n=n||t(864);e=e||{};if(typeof i!=="boolean")i=r instanceof n;this.objectMode=!!e.objectMode;if(i)this.objectMode=this.objectMode||!!e.writableObjectMode;this.highWaterMark=c(this,e,"writableHighWaterMark",i);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var u=e.decodeStrings===false;this.decodeStrings=!u;this.defaultEncoding=e.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(r,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.emitClose=e.emitClose!==false;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var r=[];while(e){r.push(e);e=e.next}return r};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:i.deprecate(function writableStateBufferGetter(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer "+"instead.","DEP0003")})}catch(e){}})();var b;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){b=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function value(e){if(b.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{b=function realHasInstance(e){return e instanceof this}}function Writable(e){n=n||t(864);var r=this instanceof n;if(!r&&!b.call(Writable,this))return new Writable(e);this._writableState=new WritableState(e,this,r);this.writable=true;if(e){if(typeof e.write==="function")this._write=e.write;if(typeof e.writev==="function")this._writev=e.writev;if(typeof e.destroy==="function")this._destroy=e.destroy;if(typeof e.final==="function")this._final=e.final}u.call(this)}Writable.prototype.pipe=function(){this.emit("error",new D)};function writeAfterEnd(e,r){var t=new m;e.emit("error",t);process.nextTick(r,t)}function validChunk(e,r,t,n){var i;if(t===null){i=new g}else if(typeof t!=="string"&&!r.objectMode){i=new p("chunk",["string","Buffer"],t)}if(i){e.emit("error",i);process.nextTick(n,i);return false}return true}Writable.prototype.write=function(e,r,t){var n=this._writableState;var i=false;var u=!n.objectMode&&_isUint8Array(e);if(u&&!o.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof r==="function"){t=r;r=null}if(u)r="buffer";else if(!r)r=n.defaultEncoding;if(typeof t!=="function")t=nop;if(n.ending)writeAfterEnd(this,t);else if(u||validChunk(this,n,e,t)){n.pendingcb++;i=writeOrBuffer(this,n,u,e,r,t)}return i};Writable.prototype.cork=function(){this._writableState.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e==="string")e=e.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new E(e);this._writableState.defaultEncoding=e;return this};Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(e,r,t){if(!e.objectMode&&e.decodeStrings!==false&&typeof r==="string"){r=o.from(r,t)}return r}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});function writeOrBuffer(e,r,t,n,i,u){if(!t){var o=decodeChunk(r,n,i);if(n!==o){t=true;i="buffer";n=o}}var s=r.objectMode?1:n.length;r.length+=s;var a=r.length0)this.tail.next=r;else this.head=r;this.tail=r;++this.length};e.unshift=function unshift(e){var r={data:e,next:this.head};if(this.length===0)this.tail=r;this.head=r;++this.length};e.shift=function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e};e.clear=function clear(){this.head=this.tail=null;this.length=0};e.join=function join(e){if(this.length===0)return"";var r=this.head;var t=""+r.data;while(r=r.next){t+=e+r.data}return t};e.concat=function concat(e){if(this.length===0)return i.alloc(0);var r=i.allocUnsafe(e>>>0);var t=this.head;var n=0;while(t){copyBuffer(t.data,r,n);n+=t.data.length;t=t.next}return r};e.consume=function consume(e,r){var t;if(ei.length?i.length:e;if(u===i.length)n+=i;else n+=i.slice(0,e);e-=u;if(e===0){if(u===i.length){++t;if(r.next)this.head=r.next;else this.head=this.tail=null}else{this.head=r;r.data=i.slice(u)}break}++t}this.length-=t;return n};e._getBuffer=function _getBuffer(e){var r=i.allocUnsafe(e);var t=this.head;var n=1;t.data.copy(r);e-=t.data.length;while(t=t.next){var u=t.data;var o=e>u.length?u.length:e;u.copy(r,r.length-e,0,o);e-=o;if(e===0){if(o===u.length){++n;if(t.next)this.head=t.next;else this.head=this.tail=null}else{this.head=t;t.data=u.slice(o)}break}++n}this.length-=n;return r};e[s]=function(e,r){return o(this,_objectSpread({},r,{depth:0,customInspect:false}))};return BufferList}()},,,function(e,r,t){e.exports=t(669).deprecate},,function(e,r,t){"use strict";var n=t(747);var i=t(622);var u=t(7)("unified-engine:file-pipeline:file-system");var o=t(877);e.exports=fileSystem;var s=n.writeFile;var a=i.resolve;function fileSystem(e,r,t,n){var i;if(!e.output){u("Ignoring writing to file-system");return n()}if(!r.data.unifiedEngineGiven){u("Ignoring programmatically added file");return n()}i=r.path;if(!i){u("Cannot write file without a `destinationPath`");return n(new Error("Cannot write file without an output path"))}if(o(r).fatal){u("Cannot write file with a fatal error");return n()}i=a(e.cwd,i);u("Writing document to `%s`",i);r.stored=true;s(i,r.toString(),n)}},,function(e,r,t){"use strict";var n=t(803).Buffer;var i=n.isEncoding||function(e){e=""+e;switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function _normalizeEncoding(e){if(!e)return"utf8";var r;while(true){switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(r)return;e=(""+e).toLowerCase();r=true}}}function normalizeEncoding(e){var r=_normalizeEncoding(e);if(typeof r!=="string"&&(n.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return r||e}r.StringDecoder=StringDecoder;function StringDecoder(e){this.encoding=normalizeEncoding(e);var r;switch(this.encoding){case"utf16le":this.text=utf16Text;this.end=utf16End;r=4;break;case"utf8":this.fillLast=utf8FillLast;r=4;break;case"base64":this.text=base64Text;this.end=base64End;r=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=n.allocUnsafe(r)}StringDecoder.prototype.write=function(e){if(e.length===0)return"";var r;var t;if(this.lastNeed){r=this.fillLast(e);if(r===undefined)return"";t=this.lastNeed;this.lastNeed=0}else{t=0}if(t>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,r,t){var n=r.length-1;if(n=0){if(i>0)e.lastNeed=i-1;return i}if(--n=0){if(i>0)e.lastNeed=i-2;return i}if(--n=0){if(i>0){if(i===2)i=0;else e.lastNeed=i-3}return i}return 0}function utf8CheckExtraBytes(e,r,t){if((r[0]&192)!==128){e.lastNeed=0;return"�"}if(e.lastNeed>1&&r.length>1){if((r[1]&192)!==128){e.lastNeed=1;return"�"}if(e.lastNeed>2&&r.length>2){if((r[2]&192)!==128){e.lastNeed=2;return"�"}}}}function utf8FillLast(e){var r=this.lastTotal-this.lastNeed;var t=utf8CheckExtraBytes(this,e,r);if(t!==undefined)return t;if(this.lastNeed<=e.length){e.copy(this.lastChar,r,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,r,0,e.length);this.lastNeed-=e.length}function utf8Text(e,r){var t=utf8CheckIncomplete(this,e,r);if(!this.lastNeed)return e.toString("utf8",r);this.lastTotal=t;var n=e.length-(t-this.lastNeed);e.copy(this.lastChar,0,n);return e.toString("utf8",r,n)}function utf8End(e){var r=e&&e.length?this.write(e):"";if(this.lastNeed)return r+"�";return r}function utf16Text(e,r){if((e.length-r)%2===0){var t=e.toString("utf16le",r);if(t){var n=t.charCodeAt(t.length-1);if(n>=55296&&n<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return t.slice(0,-1)}}return t}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString("utf16le",r,e.length-1)}function utf16End(e){var r=e&&e.length?this.write(e):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,t)}return r}function base64Text(e,r){var t=(e.length-r)%3;if(t===0)return e.toString("base64",r);this.lastNeed=3-t;this.lastTotal=3;if(t===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString("base64",r,e.length-t)}function base64End(e){var r=e&&e.length?this.write(e):"";if(this.lastNeed)return r+this.lastChar.toString("base64",0,3-this.lastNeed);return r}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):""}},,,function(e,r,t){"use strict";var n=t(541);var i=t(372);var u=t(766);var o=t(189);e.exports=n("remark-lint:final-definition",finalDefinition);var s=u.start;function finalDefinition(e,r){var t=null;i(e,visitor,true);function visitor(e){var n=s(e).line;if(e.type==="root"||o(e)){return}if(e.type==="definition"){if(t!==null&&t>n){r.message("Move definitions to the end of the file (after the node at line `"+t+"`)",e)}}else if(t===null){t=n}}}},,,function(e){"use strict";e.exports=list;function list(e){var r=e.ordered?this.visitOrderedItems:this.visitUnorderedItems;return r.call(this,e)}},,,,function(e){"use strict";var r="";var t;e.exports=repeat;function repeat(e,n){if(typeof e!=="string"){throw new TypeError("expected a string")}if(n===1)return e;if(n===2)return e+e;var i=e.length*n;if(t!==e||typeof t==="undefined"){t=e;r=""}else if(r.length>=i){return r.substr(0,i)}while(i>r.length&&n>1){if(n&1){r+=e}n>>=1;e+=e}r+=e;r=r.substr(0,i);return r}},,,function(e){"use strict";e.exports=footnoteReference;var r="[";var t="]";var n="^";function footnoteReference(e){return r+n+(e.label||e.identifier)+t}},function(e){e.exports=["3dm","3ds","3g2","3gp","7z","a","aac","adp","ai","aif","aiff","alz","ape","apk","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","oga","ogg","ogv","otf","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rtf","rz","s3m","s7z","scpt","sgi","shar","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]},function(e,r,t){"use strict";var n=t(372);e.exports=removePosition;function removePosition(e,r){n(e,r?hard:soft);return e}function hard(e){delete e.position}function soft(e){e.position=undefined}},,,function(e,r,t){r.log=log;r.formatArgs=formatArgs;r.save=save;r.load=load;r.useColors=useColors;r.storage=localstorage();r.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(r){r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff);if(!this.useColors){return}const t="color: "+this.color;r.splice(1,0,t,"color: inherit");let n=0;let i=0;r[0].replace(/%[a-zA-Z%]/g,e=>{if(e==="%%"){return}n++;if(e==="%c"){i=n}});r.splice(i,0,t)}function log(...e){return typeof console==="object"&&console.log&&console.log(...e)}function save(e){try{if(e){r.storage.setItem("debug",e)}else{r.storage.removeItem("debug")}}catch(e){}}function load(){let e;try{e=r.storage.getItem("debug")}catch(e){}if(!e&&typeof process!=="undefined"&&"env"in process){e=process.env.DEBUG}return e}function localstorage(){try{return localStorage}catch(e){}}e.exports=t(235)(r);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},function(e,r,t){"use strict";var n=t(413).PassThrough;var i=t(877);var u=t(251);e.exports=run;function run(e,r){var t={};var o=new n;var s;var a;var f;var c;var l;try{o=process.stdin}catch(e){}if(!r){throw new Error("Missing `callback`")}if(!e||!e.processor){return next(new Error("Missing `processor`"))}t.processor=e.processor;t.cwd=e.cwd||process.cwd();t.files=e.files||[];t.extensions=(e.extensions||[]).map(extension);t.filePath=e.filePath||null;t.streamIn=e.streamIn||o;t.streamOut=e.streamOut||process.stdout;t.streamError=e.streamError||process.stderr;t.alwaysStringify=e.alwaysStringify;t.output=e.output;t.out=e.out;if(t.output===null||t.output===undefined){t.output=undefined}if(t.output&&t.out){return next(new Error("Cannot accept both `output` and `out`"))}s=e.tree||false;t.treeIn=e.treeIn;t.treeOut=e.treeOut;t.inspect=e.inspect;if(t.treeIn===null||t.treeIn===undefined){t.treeIn=s}if(t.treeOut===null||t.treeOut===undefined){t.treeOut=s}a=e.detectConfig;f=Boolean(e.rcName||e.packageField);if(a&&!f){return next(new Error("Missing `rcName` or `packageField` with `detectConfig`"))}t.detectConfig=a===null||a===undefined?f:a;t.rcName=e.rcName||null;t.rcPath=e.rcPath||null;t.packageField=e.packageField||null;t.settings=e.settings||{};t.configTransform=e.configTransform;t.defaultConfig=e.defaultConfig;c=e.detectIgnore;l=Boolean(e.ignoreName);t.detectIgnore=c===null||c===undefined?l:c;t.ignoreName=e.ignoreName||null;t.ignorePath=e.ignorePath||null;t.ignorePatterns=e.ignorePatterns||[];t.silentlyIgnore=Boolean(e.silentlyIgnore);if(c&&!l){return next(new Error("Missing `ignoreName` with `detectIgnore`"))}t.pluginPrefix=e.pluginPrefix||null;t.plugins=e.plugins||{};t.reporter=e.reporter||null;t.reporterOptions=e.reporterOptions||null;t.color=e.color||false;t.silent=e.silent||false;t.quiet=e.quiet||false;t.frail=e.frail||false;u.run({files:e.files||[]},t,next);function next(e,n){var u=i((n||{}).files);var o=Boolean(t.frail?u.fatal||u.warn:u.fatal);if(e){r(e)}else{r(null,o?1:0,n)}}}function extension(e){return e.charAt(0)==="."?e:"."+e}},,,,,,,function(e,r,t){"use strict";e.exports=t(50)},function(e,r,t){"use strict";var n=t(541);var i=t(665);var u=t(372);var o=t(766);var s=t(189);e.exports=n("remark-lint:list-item-bullet-indent",listItemBulletIndent);var a=o.start;function listItemBulletIndent(e,r){var t=String(r);u(e,"list",visitor);function visitor(e){e.children.forEach(visitItems)}function visitItems(e){var n;var u;var o;if(!s(e)){n=a(e.children[0]);u=t.slice(a(e).offset,n.offset).match(/^\s*/)[0].length;if(u!==0){o="Incorrect indentation before bullet: remove "+u+" "+i("space",u);r.message(o,{line:n.line,column:n.column-u})}}}}},,,,function(e,r,t){"use strict";var n=t(992);var i=t(882);var u=t(116);e.exports=n;n.read=u.read;n.readSync=i.read;n.write=u.write;n.writeSync=i.write},function(e){e.exports={addendum:"addenda",aircraft:"aircraft",alga:"algae",alumna:"alumnae",alumnus:"alumni",amoeba:"amoebae",analysis:"analyses",antenna:"antennae",antithesis:"antitheses",apex:"apices",appendix:"appendices",automaton:"automata",axis:"axes",bacillus:"bacilli",bacterium:"bacteria",barracks:"barracks",basis:"bases",beau:"beaux",bison:"bison",buffalo:"buffalo",bureau:"bureaus",cactus:"cacti",calf:"calves",carp:"carp",census:"censuses",chassis:"chassis",cherub:"cherubim",child:"children","château":"châteaus",cod:"cod",codex:"codices",concerto:"concerti",corpus:"corpora",crisis:"crises",criterion:"criteria",curriculum:"curricula",datum:"data",deer:"deer",diagnosis:"diagnoses",die:"dice",dwarf:"dwarfs",echo:"echoes",elf:"elves",elk:"elk",ellipsis:"ellipses",embargo:"embargoes",emphasis:"emphases",erratum:"errata","faux pas":"faux pas",fez:"fezes",firmware:"firmware",fish:"fish",focus:"foci",foot:"feet",formula:"formulae",fungus:"fungi",gallows:"gallows",genus:"genera",goose:"geese",graffito:"graffiti",grouse:"grouse",half:"halves",hero:"heroes",hoof:"hooves",hovercraft:"hovercraft",hypothesis:"hypotheses",index:"indices",kakapo:"kakapo",knife:"knives",larva:"larvae",leaf:"leaves",libretto:"libretti",life:"lives",loaf:"loaves",locus:"loci",louse:"lice",man:"men",matrix:"matrices",means:"means",medium:"media",memorandum:"memoranda",millennium:"millennia",minutia:"minutiae",moose:"moose",mouse:"mice",nebula:"nebulae",nemesis:"nemeses",neurosis:"neuroses",news:"news",nucleus:"nuclei",oasis:"oases",offspring:"offspring",opus:"opera",ovum:"ova",ox:"oxen",paralysis:"paralyses",parenthesis:"parentheses",person:"people",phenomenon:"phenomena",phylum:"phyla",pike:"pike",polyhedron:"polyhedra",potato:"potatoes",prognosis:"prognoses",quiz:"quizzes",radius:"radii",referendum:"referenda",salmon:"salmon",scarf:"scarves",self:"selves",series:"series",sheep:"sheep",shelf:"shelves",shrimp:"shrimp",spacecraft:"spacecraft",species:"species",spectrum:"spectra",squid:"squid",stimulus:"stimuli",stratum:"strata",swine:"swine",syllabus:"syllabi",symposium:"symposia",synopsis:"synopses",synthesis:"syntheses",tableau:"tableaus",that:"those",thesis:"theses",thief:"thieves",this:"these",tomato:"tomatoes",tooth:"teeth",trout:"trout",tuna:"tuna",vertebra:"vertebrae",vertex:"vertices",veto:"vetoes",vita:"vitae",vortex:"vortices",watercraft:"watercraft",wharf:"wharves",wife:"wives",wolf:"wolves",woman:"women"}},,,function(e){"use strict";e.exports=generated;function generated(e){var r=optional(optional(e).position);var t=optional(r.start);var n=optional(r.end);return!t.line||!t.column||!n.line||!n.column}function optional(e){return e&&typeof e==="object"?e:{}}},,function(e,r,t){"use strict";var n=t(694);var i=t(731);var u=t(372);var o={enable:true,disable:true,ignore:true};e.exports=messageControl;function messageControl(e){var r=e&&e.name;var t=e&&e.marker;var n=e&&e.test;var s;var a;var f;var c;var l;if(!r){throw new Error("Expected `name` in `options`, got `"+r+"`")}if(!t){throw new Error("Expected `name` in `options`, got `"+r+"`")}if(!n){throw new Error("Expected `test` in `options`, got `"+n+"`")}a=e.known;f=e.reset;c=e.enable||[];l=e.disable||[];s=e.source;if(!s){s=[r]}else if(typeof s==="string"){s=[s]}return transformer;function transformer(r,p){var h=i(p).toOffset;var v=!f;var D=detectGaps(r,p);var d={};var g=[];u(r,n,visitor);p.messages=p.messages.filter(filter);function visitor(r,n,i){var u=t(r);var s;var a;var c;var l;var h;var v;var D;var d;if(!u||u.name!==e.name){return}s=u.attributes.split(/\s/g);c=s.shift();v=i.children[n+1];D=u.node.position&&u.node.position.start;d=v&&v.position&&v.position.end;if(!c||!o[c]===true){p.fail("Unknown keyword `"+c+"`: expected "+"`'enable'`, `'disable'`, or `'ignore'`",u.node)}h=s.length;l=-1;while(++li){return false}}return check(e,n,t)&&check(e,g)}function isKnown(e,r,t){var n=a?a.indexOf(e)!==-1:true;if(!n){p.warn("Unknown rule: cannot "+r+" `'"+e+"'`",t)}return n}function getState(e){var r=e?d[e]:g;if(r&&r.length!==0){return r[r.length-1].state}if(!e){return!f}if(f){return c.indexOf(e)!==-1}return l.indexOf(e)===-1}function toggle(e,r,t){var n=t?d[t]:g;var i;var u;if(!n){n=[];d[t]=n}u=getState(t);i=r;if(i!==u){n.push({state:i,position:e})}if(!t){for(t in d){toggle(e,r,t)}}}function check(e,r,t){var n=r&&r.length;var i=-1;var u;while(--n>i){u=r[n];if(!u.position||!u.position.line||!u.position.column){continue}if(u.position.line=e){return}if(o){s.push({start:i,end:e});o=false}i=e}}},,,,,,,function(e,r,t){"use strict";var n=t(227);e.exports=normalize;function normalize(e){return n(e).toLowerCase()}},function(e){"use strict";e.exports=marker;var r=/\s+/g;var t=/\s+([-a-z0-9_]+)(?:=(?:"((?:\\[\s\S]|[^"])+)"|'((?:\\[\s\S]|[^'])+)'|((?:\\[\s\S]|[^"'\s])+)))?/gi;var n=/\s*([a-zA-Z0-9-]+)(\s+([\s\S]*))?\s*/;var i=new RegExp("(\\s*\x3c!--"+n.source+"--\x3e\\s*)");function marker(e){var r;var t;var u;var o;if(!e){return null}r=e.type;if(r!=="html"&&r!=="comment"){return null}t=e.value;u=t.match(r==="comment"?n:i);if(!u||u[0].length!==t.length){return null}u=u.slice(e.type==="comment"?1:2);o=parameters(u[1]||"");if(!o){return null}return{name:u[0],attributes:u[2]||"",parameters:o,node:e}}function parameters(e){var n={};var i=e.replace(t,replacer);return i.replace(r,"")?null:n;function replacer(e,r,t,i,u){var o=t||i||u||"";if(o==="true"||o===""){o=true}else if(o==="false"){o=false}else if(!isNaN(o)){o=Number(o)}n[r]=o;return""}}},function(e,r,t){"use strict";var n=t(164);e.exports=strong;function strong(e){var r=n(this.options.strong,2);return r+this.all(e).join("")+r}},function(e){e.exports=function isExtglob(e){if(typeof e!=="string"||e===""){return false}var r;while(r=/(\\).|([@?!+*]\(.*\))/g.exec(e)){if(r[2])return true;e=e.slice(r.index+r[0].length)}return false}},function(e,r,t){"use strict";var n=t(122);var i=t(425);e.exports=image;var u=" ";var o="(";var s=")";var a="[";var f="]";var c="!";function image(e){var r=this;var t=n(r.encode(e.url||"",e));var l=r.enterLink();var p=r.encode(r.escape(e.alt||"",e));l();if(e.title){t+=u+i(r.encode(e.title,e))}return c+a+p+f+o+t+s}},function(e,r,t){"use strict";var n=t(7)("unified-engine:file-pipeline:transform");var i=t(877);e.exports=transform;function transform(e,r,t,u){if(i(r).fatal){u()}else{n("Transforming document `%s`",r.path);e.processor.run(e.tree,r,onrun)}function onrun(r,t){n("Transformed document (error: %s)",r);e.tree=t;u(r)}}},function(e){e.exports=function(e,r){if(typeof e!=="string"){throw new TypeError("expected path to be a string")}if(e==="\\"||e==="/")return"/";var t=e.length;if(t<=1)return e;var n="";if(t>4&&e[3]==="\\"){var i=e[2];if((i==="?"||i===".")&&e.slice(0,2)==="\\\\"){e=e.slice(2);n="//"}}var u=e.split(/[/\\]+/);if(r!==false&&u[u.length-1]===""){u.pop()}return n+u.join("/")}},,,,,,,,,,,,function(e){"use strict";e.exports=setextHeading;var r="\n";var t="\t";var n=" ";var i="=";var u="-";var o=3;var s=1;var a=2;function setextHeading(e,f,c){var l=this;var p=e.now();var h=f.length;var v=-1;var D="";var d;var g;var m;var E;var b;while(++v=o){v--;break}D+=m}d="";g="";while(++v0?parseInt(r):null};for(;nisNaN(e)?{}:{depth:e};const O=u(n.stat);const x=u(n.open);const k=u(n.close);const R=u(n.lstat);const T=u(n.realpath);const I={stat:O,lstat:R};const L=new Map;const M=10;const j=new Set([69888,70400,71424,72704,73472,131328,131840,262912]);const P=(e,r)=>{const t=o.watch(e,r);return{stop:t}};function setFSEventsListener(e,r,t,n,u){let s=i.extname(e)?i.dirname(e):e;const a=i.dirname(s);let f=L.get(s);if(N(a)){s=a}const c=i.resolve(e);const l=c!==r;const p=(e,n,u)=>{if(l)e=e.replace(r,c);if(e===c||!e.indexOf(c+i.sep))t(e,n,u)};let h=false;for(const e of L.keys()){if(r.indexOf(i.resolve(e)+i.sep)===0){s=e;f=L.get(s);h=true;break}}if(f||h){f.listeners.add(p)}else{f={listeners:new Set([p]),rawEmitter:n,watcher:P(s,(e,r)=>{if(u.closed)return;const t=o.getInfo(e,r);f.listeners.forEach(n=>{n(e,r,t)});f.rawEmitter(t.event,e,t)})};L.set(s,f)}return()=>{const e=f.listeners;e.delete(p);if(!e.size){L.delete(s);if(f.watcher)return f.watcher.stop().then(()=>{f.rawEmitter=f.watcher=undefined;Object.freeze(f)})}}}const N=e=>{let r=0;for(const t of L.keys()){if(t.indexOf(e)===0){r++;if(r>=M){return true}}}return false};const $=()=>o&&L.size<128;const H=(e,r)=>{let t=0;while(!e.indexOf(r)&&(e=i.dirname(e))!==r)t++;return t};class FsEventsHandler{constructor(e){this.fsw=e}checkIgnored(e,r){const t=this.fsw._ignoredPaths;if(this.fsw._isIgnored(e,r)){t.add(e);if(r&&r.isDirectory()){t.add(e+A)}return true}t.delete(e);t.delete(e+A)}addOrChange(e,r,t,n,i,u,o,f){const c=i.has(u)?a:s;this.handleEvent(c,e,r,t,n,i,u,o,f)}async checkFd(e,r,t,n,i,u,o,s){try{const a=await x(e,_);if(this.fsw.closed)return;await k(a);if(this.fsw.closed)return;this.addOrChange(e,r,t,n,i,u,o,s)}catch(a){if(a.code==="EACCES"){this.addOrChange(e,r,t,n,i,u,o,s)}else{this.handleEvent(c,e,r,t,n,i,u,o,s)}}}handleEvent(e,r,t,n,i,u,o,a,l){if(this.fsw.closed||this.checkIgnored(r))return;if(e===c){if(a.type===E||u.has(o)){this.fsw._remove(i,o)}}else{if(e===s){if(a.type===E)this.fsw._getWatchedDir(r);if(a.type===b&&l.followSymlinks){const e=l.depth===undefined?undefined:H(t,n)+1;return this._addToFsEvents(r,false,true,e)}this.fsw._getWatchedDir(i).add(o)}const u=a.type===E?e+C:e;this.fsw._emit(u,r);if(u===f)this._addToFsEvents(r,false,true)}}_watchWithFsEvents(e,r,t,n){if(this.fsw.closed)return;if(this.fsw._isIgnored(e))return;const u=this.fsw.options;const o=async(o,s,a)=>{if(this.fsw.closed)return;if(u.depth!==undefined&&H(o,r)>u.depth)return;const f=t(i.join(e,i.relative(e,o)));if(n&&!n(f))return;const l=i.dirname(f);const p=i.basename(f);const h=this.fsw._getWatchedDir(a.type===E?f:l);if(j.has(s)||a.event===m){if(typeof u.ignored===y){let e;try{e=await O(f)}catch(e){}if(this.fsw.closed)return;if(this.checkIgnored(f,e))return;if(e){this.addOrChange(f,o,r,l,h,p,a,u)}else{this.handleEvent(c,f,o,r,l,h,p,a,u)}}else{this.checkFd(f,o,r,l,h,p,a,u)}}else{switch(a.event){case v:case D:return this.addOrChange(f,o,r,l,h,p,a,u);case d:case g:return this.checkFd(f,o,r,l,h,p,a,u)}}};const s=setFSEventsListener(e,r,o,this.fsw._emitRaw,this.fsw);this.fsw._emitReady();return s}async _handleFsEventsSymlink(e,r,t,n){if(this.fsw.closed||this.fsw._symlinkPaths.has(r))return;this.fsw._symlinkPaths.set(r,true);this.fsw._incrReadyCount();try{const r=await T(e);if(this.fsw.closed)return;if(this.fsw._isIgnored(r)){return this.fsw._emitReady()}this.fsw._incrReadyCount();this._addToFsEvents(r||e,n=>{let u=e;if(r&&r!==w){u=n.replace(r,e)}else if(n!==w){u=i.join(e,n)}return t(u)},false,n)}catch(e){if(this.fsw._handleError(e)){return this.fsw._emitReady()}}}emitAdd(e,r,t,n,u){const o=t(e);const a=r.isDirectory();const c=this.fsw._getWatchedDir(i.dirname(o));const l=i.basename(o);if(a)this.fsw._getWatchedDir(o);if(c.has(l))return;c.add(l);if(!n.ignoreInitial||u===true){this.fsw._emit(a?f:s,o,r)}}initWatch(e,r,t,n){if(this.fsw.closed)return;const u=this._watchWithFsEvents(t.watchPath,i.resolve(e||t.watchPath),n,t.globFilter);this.fsw._addPathCloser(r,u)}async _addToFsEvents(e,r,t,n){if(this.fsw.closed){return}const u=this.fsw.options;const o=typeof r===y?r:S;const s=this.fsw._getWatchHelpers(e);try{const r=await I[s.statMethod](s.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(s.watchPath,r)){throw null}if(r.isDirectory()){if(!s.globFilter)this.emitAdd(o(e),r,o,u,t);if(n&&n>u.depth)return;this.fsw._readdirp(s.watchPath,{fileFilter:e=>s.filterPath(e),directoryFilter:e=>s.filterDir(e),...B(u.depth-(n||0))}).on(p,e=>{if(this.fsw.closed){return}if(e.stats.isDirectory()&&!s.filterPath(e))return;const r=i.join(s.watchPath,e.path);const{fullPath:n}=e;if(s.followSymlinks&&e.stats.isSymbolicLink()){const e=u.depth===undefined?undefined:H(r,i.resolve(s.watchPath))+1;this._handleFsEventsSymlink(r,n,o,e)}else{this.emitAdd(r,e.stats,o,u,t)}}).on(l,F).on(h,()=>{this.fsw._emitReady()})}else{this.emitAdd(s.watchPath,r,o,u,t);this.fsw._emitReady()}}catch(e){if(!e||this.fsw._handleError(e)){this.fsw._emitReady();this.fsw._emitReady()}}if(u.persistent&&t!==true){if(typeof r===y){this.initWatch(undefined,e,s,o)}else{let r;try{r=await T(s.watchPath)}catch(e){}this.initWatch(r,e,s,o)}}}}e.exports=FsEventsHandler;e.exports.canUse=$},function(e,r,t){"use strict";var n=t(679);e.exports=length;var i="&";function length(e){var r;if(e.charAt(0)!==i){return 0}r=e.split(i,2).join(i);return r.length-n(r).length}},,,function(e,r,t){function setup(e){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled;createDebug.humanize=t(750);Object.keys(e).forEach(r=>{createDebug[r]=e[r]});createDebug.instances=[];createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(e){let r=0;for(let t=0;t{if(r==="%%"){return r}u++;const i=createDebug.formatters[n];if(typeof i==="function"){const n=e[u];r=i.call(t,n);e.splice(u,1);u--}return r});createDebug.formatArgs.call(t,e);const o=t.log||createDebug.log;o.apply(t,e)}debug.namespace=e;debug.enabled=createDebug.enabled(e);debug.useColors=createDebug.useColors();debug.color=selectColor(e);debug.destroy=destroy;debug.extend=extend;if(typeof createDebug.init==="function"){createDebug.init(debug)}createDebug.instances.push(debug);return debug}function destroy(){const e=createDebug.instances.indexOf(this);if(e!==-1){createDebug.instances.splice(e,1);return true}return false}function extend(e,r){const t=createDebug(this.namespace+(typeof r==="undefined"?":":r)+e);t.log=this.log;return t}function enable(e){createDebug.save(e);createDebug.names=[];createDebug.skips=[];let r;const t=(typeof e==="string"?e:"").split(/[\s,]+/);const n=t.length;for(r=0;r"-"+e)].join(",");createDebug.enable("");return e}function enabled(e){if(e[e.length-1]==="*"){return true}let r;let t;for(r=0,t=createDebug.skips.length;re[t])e[t]=n});return e},[]);var o=map(e,function(e){return map(e,function(e,r){var t=String(e);if(n[r]==="."){var o=dotindex(t);var s=u[r]+(/\./.test(t)?1:2)-(i(t)-o);return t+Array(s).join(" ")}else return t})});var s=reduce(o,function(e,r){forEach(r,function(r,t){var n=i(r);if(!e[t]||n>e[t])e[t]=n});return e},[]);return map(o,function(e){return map(e,function(e,r){var t=s[r]-i(e)||0;var u=Array(Math.max(t+1,1)).join(" ");if(n[r]==="r"||n[r]==="."){return u+e}if(n[r]==="c"){return Array(Math.ceil(t/2+1)).join(" ")+e+Array(Math.floor(t/2+1)).join(" ")}return e+u}).join(t).replace(/\s+$/,"")}).join("\n")};function dotindex(e){var r=/\.[^.]*$/.exec(e);return r?r.index+1:e.length}function reduce(e,r,t){if(e.reduce)return e.reduce(r,t);var n=0;var i=arguments.length>=3?t:e[n++];for(;n{const i=testProhibited(t,n);if(i){r.message(`Use "${t.yes}" instead of "${i}"`,e)}})}}},function(e,r,t){"use strict";var n=t(7)("unified-engine:file-pipeline:stringify");var i=t(877);var u=t(962);e.exports=stringify;function stringify(e,r){var t=e.processor;var o=e.tree;var s;if(i(r).fatal){n("Not compiling failed document");return}if(!e.output&&!e.out&&!e.alwaysStringify){n("Not compiling document without output settings");return}n("Compiling `%s`",r.path);if(e.inspect){if(r.path){r.extname=".txt"}s=u[e.color?"color":"noColor"](o)+"\n"}else if(e.treeOut){if(r.path){r.extname=".json"}s=JSON.stringify(o,null,2)+"\n"}else{s=t.stringify(o,r)}r.contents=s;n("Compiled document")}},,function(e,r,t){"use strict";var n=t(141);e.exports=n.DEFAULT=new n({include:[t(240)],explicit:[t(32),t(107),t(439)]})},function(e,r,t){"use strict";const n=t(747);const i=t(622);const{promisify:u}=t(669);const o=t(374);const{isWindows:s,EMPTY_FN:a,EMPTY_STR:f,KEY_LISTENERS:c,KEY_ERR:l,KEY_RAW:p,HANDLER_KEYS:h,EV_CHANGE:v,EV_ADD:D,EV_ADD_DIR:d,EV_ERROR:g,STR_DATA:m,STR_END:E,BRACE_START:b,STAR:A}=t(287);const C="watch";const w=u(n.open);const y=u(n.stat);const F=u(n.lstat);const S=u(n.close);const _=u(n.realpath);const B={lstat:F,stat:y};const O=(e,r)=>{if(e instanceof Set){e.forEach(r)}else{r(e)}};const x=(e,r,t)=>{let n=e[r];if(!(n instanceof Set)){e[r]=n=new Set([n])}n.add(t)};const k=e=>r=>{const t=e[r];if(t instanceof Set){t.clear()}else{delete e[r]}};const R=(e,r,t)=>{const n=e[r];if(n instanceof Set){n.delete(t)}else if(n===t){delete e[r]}};const T=e=>e instanceof Set?e.size===0:!e;const I=new Map;function createFsWatchInstance(e,r,t,u,o){const s=(r,n)=>{t(e);o(r,n,{watchedPath:e});if(n&&e!==n){L(i.resolve(e,n),c,i.join(e,n))}};try{return n.watch(e,r,s)}catch(e){u(e)}}const L=(e,r,t,n,i)=>{const u=I.get(e);if(!u)return;O(u[r],e=>{e(t,n,i)})};const M=(e,r,t,n)=>{const{listener:i,errHandler:u,rawEmitter:o}=n;let a=I.get(r);let f;if(!t.persistent){f=createFsWatchInstance(e,t,i,u,o);return f.close.bind(f)}if(a){x(a,c,i);x(a,l,u);x(a,p,o)}else{f=createFsWatchInstance(e,t,L.bind(null,r,c),u,L.bind(null,r,p));if(!f)return;f.on(g,async t=>{const n=L.bind(null,r,l);a.watcherUnusable=true;if(s&&t.code==="EPERM"){try{const r=await w(e,"r");await S(r);n(t)}catch(e){}}else{n(t)}});a={listeners:i,errHandlers:u,rawEmitters:o,watcher:f};I.set(r,a)}return()=>{R(a,c,i);R(a,l,u);R(a,p,o);if(T(a.listeners)){a.watcher.close();I.delete(r);h.forEach(k(a));a.watcher=undefined;Object.freeze(a)}}};const j=new Map;const P=(e,r,t,i)=>{const{listener:u,rawEmitter:o}=i;let s=j.get(r);let a=new Set;let f=new Set;const l=s&&s.options;if(l&&(l.persistentt.interval)){a=s.listeners;f=s.rawEmitters;n.unwatchFile(r);s=undefined}if(s){x(s,c,u);x(s,p,o)}else{s={listeners:u,rawEmitters:o,options:t,watcher:n.watchFile(r,t,(t,n)=>{O(s.rawEmitters,e=>{e(v,r,{curr:t,prev:n})});const i=t.mtimeMs;if(t.size!==n.size||i>n.mtimeMs||i===0){O(s.listeners,r=>r(e,t))}})};j.set(r,s)}return()=>{R(s,c,u);R(s,p,o);if(T(s.listeners)){j.delete(r);n.unwatchFile(r);s.options=s.watcher=undefined;Object.freeze(s)}}};class NodeFsHandler{constructor(e){this.fsw=e;this._boundHandleError=(r=>e._handleError(r))}_watchWithNodeFs(e,r){const t=this.fsw.options;const n=i.dirname(e);const u=i.basename(e);const s=this.fsw._getWatchedDir(n);s.add(u);const f=i.resolve(e);const c={persistent:t.persistent};if(!r)r=a;let l;if(t.usePolling){c.interval=t.enableBinaryInterval&&o(u)?t.binaryInterval:t.interval;l=P(e,f,c,{listener:r,rawEmitter:this.fsw._emitRaw})}else{l=M(e,f,c,{listener:r,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw})}return l}_handleFile(e,r,t){if(this.fsw.closed){return}const n=i.dirname(e);const u=i.basename(e);const o=this.fsw._getWatchedDir(n);let s=r;if(o.has(u))return;const a=this._watchWithNodeFs(e,async(r,t)=>{if(!this.fsw._throttle(C,e,5))return;if(!t||t.mtimeMs===0){try{const r=await y(e);if(this.fsw.closed)return;const t=r.atimeMs;const i=r.mtimeMs;if(!t||t<=i||i!==s.mtimeMs){this.fsw._emit(v,e,r)}s=r}catch(e){this.fsw._remove(n,u)}}else if(o.has(u)){const r=t.atimeMs;const n=t.mtimeMs;if(!r||r<=n||n!==s.mtimeMs){this.fsw._emit(v,e,t)}s=t}});if(!(t&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(D,e,0))return;this.fsw._emit(D,e,r)}return a}async _handleSymlink(e,r,t,n){if(this.fsw.closed){return}const i=e.fullPath;const u=this.fsw._getWatchedDir(r);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();const r=await _(t);if(this.fsw.closed)return;if(u.has(n)){if(this.fsw._symlinkPaths.get(i)!==r){this.fsw._symlinkPaths.set(i,r);this.fsw._emit(v,t,e.stats)}}else{u.add(n);this.fsw._symlinkPaths.set(i,r);this.fsw._emit(D,t,e.stats)}this.fsw._emitReady();return true}if(this.fsw._symlinkPaths.has(i)){return true}this.fsw._symlinkPaths.set(i,true)}_handleRead(e,r,t,n,u,o,s){e=i.join(e,f);if(!t.hasGlob){s=this.fsw._throttle("readdir",e,1e3);if(!s)return}const a=this.fsw._getWatchedDir(t.path);const c=new Set;let l=this.fsw._readdirp(e,{fileFilter:e=>t.filterPath(e),directoryFilter:e=>t.filterDir(e),depth:0}).on(m,async s=>{if(this.fsw.closed){l=undefined;return}const f=s.path;let p=i.join(e,f);c.add(f);if(s.stats.isSymbolicLink()&&await this._handleSymlink(s,e,p,f)){return}if(this.fsw.closed){l=undefined;return}if(f===n||!n&&!a.has(f)){this.fsw._incrReadyCount();p=i.join(u,i.relative(u,p));this._addToNodeFs(p,r,t,o+1)}}).on(g,this._boundHandleError);return new Promise(r=>l.once(E,()=>{if(this.fsw.closed){l=undefined;return}const f=s?s.clear():false;r();a.getChildren().filter(r=>{return r!==e&&!c.has(r)&&(!t.hasGlob||t.filterPath({fullPath:i.resolve(e,r)}))}).forEach(r=>{this.fsw._remove(e,r)});l=undefined;if(f)this._handleRead(e,false,t,n,u,o,s)}))}async _handleDir(e,r,t,n,u,o,s){const a=this.fsw._getWatchedDir(i.dirname(e));const f=a.has(i.basename(e));if(!(t&&this.fsw.options.ignoreInitial)&&!u&&!f){if(!o.hasGlob||o.globFilter(e))this.fsw._emit(d,e,r)}a.add(i.basename(e));this.fsw._getWatchedDir(e);let c;let l;const p=this.fsw.options.depth;if((p==null||n<=p)&&!this.fsw._symlinkPaths.has(s)){if(!u){await this._handleRead(e,t,o,u,e,n,c);if(this.fsw.closed)return}l=this._watchWithNodeFs(e,(r,t)=>{if(t&&t.mtimeMs===0)return;this._handleRead(r,false,o,u,e,n,c)})}return l}async _addToNodeFs(e,r,t,n,u){const o=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed){o();return false}const s=this.fsw._getWatchHelpers(e,n);if(!s.hasGlob&&t){s.hasGlob=t.hasGlob;s.globFilter=t.globFilter;s.filterPath=(e=>t.filterPath(e));s.filterDir=(e=>t.filterDir(e))}try{const t=await B[s.statMethod](s.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(s.watchPath,t)){o();return false}const a=this.fsw.options.followSymlinks&&!e.includes(A)&&!e.includes(b);let f;if(t.isDirectory()){const i=a?await _(e):e;if(this.fsw.closed)return;f=await this._handleDir(s.watchPath,t,r,n,u,s,i);if(this.fsw.closed)return;if(e!==i&&i!==undefined){this.fsw._symlinkPaths.set(i,true)}}else if(t.isSymbolicLink()){const u=a?await _(e):e;if(this.fsw.closed)return;const o=i.dirname(s.watchPath);this.fsw._getWatchedDir(o).add(s.watchPath);this.fsw._emit(D,s.watchPath,t);f=await this._handleDir(o,t,r,n,e,s,u);if(this.fsw.closed)return;if(u!==undefined){this.fsw._symlinkPaths.set(i.resolve(e),u)}}else{f=this._handleFile(s.watchPath,t,r)}o();this.fsw._addPathCloser(e,f);return false}catch(r){if(this.fsw._handleError(r)){o();return e}}}}e.exports=NodeFsHandler},function(e,r,t){var n=t(622);var i=process.platform==="win32";var u=t(747);var o=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);function rethrow(){var e;if(o){var r=new Error;e=debugCallback}else e=missingCallback;return e;function debugCallback(e){if(e){r.message=e.message;e=r;missingCallback(e)}}function missingCallback(e){if(e){if(process.throwDeprecation)throw e;else if(!process.noDeprecation){var r="fs: missing callback "+(e.stack||e.message);if(process.traceDeprecation)console.trace(r);else console.error(r)}}}}function maybeCallback(e){return typeof e==="function"?e:rethrow()}var s=n.normalize;if(i){var a=/(.*?)(?:[\/\\]+|$)/g}else{var a=/(.*?)(?:[\/]+|$)/g}if(i){var f=/^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/}else{var f=/^[\/]*/}r.realpathSync=function realpathSync(e,r){e=n.resolve(e);if(r&&Object.prototype.hasOwnProperty.call(r,e)){return r[e]}var t=e,o={},s={};var c;var l;var p;var h;start();function start(){var r=f.exec(e);c=r[0].length;l=r[0];p=r[0];h="";if(i&&!s[p]){u.lstatSync(p);s[p]=true}}while(c=e.length){if(r)r[o]=e;return t(null,e)}a.lastIndex=l;var n=a.exec(e);v=p;p+=n[0];h=v+n[1];l=a.lastIndex;if(c[h]||r&&r[h]===h){return process.nextTick(LOOP)}if(r&&Object.prototype.hasOwnProperty.call(r,h)){return gotResolvedLink(r[h])}return u.lstat(h,gotStat)}function gotStat(e,n){if(e)return t(e);if(!n.isSymbolicLink()){c[h]=true;if(r)r[h]=h;return process.nextTick(LOOP)}if(!i){var o=n.dev.toString(32)+":"+n.ino.toString(32);if(s.hasOwnProperty(o)){return gotTarget(null,s[o],h)}}u.stat(h,function(e){if(e)return t(e);u.readlink(h,function(e,r){if(!i)s[o]=r;gotTarget(e,r)})})}function gotTarget(e,i,u){if(e)return t(e);var o=n.resolve(v,i);if(r)r[u]=o;gotResolvedLink(o)}function gotResolvedLink(r){e=n.resolve(r,e.slice(l));start()}}},,function(e,r,t){"use strict";var n=t(98);var i=t(515);e.exports=transform;function transform(e,r,t){var u=new n;e.fileSet=u;u.on("add",add).on("done",t);if(e.files.length===0){t()}else{e.files.forEach(u.add,u)}function add(t){i.run({configuration:e.configuration,processor:r.processor(),cwd:r.cwd,extensions:r.extensions,pluginPrefix:r.pluginPrefix,treeIn:r.treeIn,treeOut:r.treeOut,inspect:r.inspect,color:r.color,out:r.out,output:r.output,streamOut:r.streamOut,alwaysStringify:r.alwaysStringify},t,u,done);function done(e){if(e){e=t.message(e);e.fatal=true}u.emit("one",t)}}}},function(e,r,t){var n=t(757);e.exports=n(once);e.exports.strict=n(onceStrict);once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})});function once(e){var r=function(){if(r.called)return r.value;r.called=true;return r.value=e.apply(this,arguments)};r.called=false;return r}function onceStrict(e){var r=function(){if(r.called)throw new Error(r.onceError);r.called=true;return r.value=e.apply(this,arguments)};var t=e.name||"Function wrapped with `once`";r.onceError=t+" shouldn't be called more than once";r.called=false;return r}},function(e,r,t){"use strict";var n=t(354);var i=t(339);e.exports=i;var u=i.prototype;u.message=message;u.info=info;u.fail=fail;function message(e,r,t){var i=this.path;var u=new n(e,r,t);if(i){u.name=i+":"+u.name;u.file=i}u.fatal=false;this.messages.push(u);return u}function fail(){var e=this.message.apply(this,arguments);e.fatal=true;throw e}function info(){var e=this.message.apply(this,arguments);e.fatal=null;return e}},function(e){"use strict";e.exports=function(e){if(typeof e!=="string"){throw new TypeError("Expected a string")}return!/[^0-9a-z\xDF-\xFF]/.test(e.toLowerCase())}},,,,function(e,r,t){"use strict";e.exports=t(816)},function(e,r,t){"use strict";e.exports=t(185)},,function(e,r,t){"use strict";var n=t(191);var i=t(199);var u=t(983);e.exports=messageControl;function messageControl(e){return n(u({marker:i,test:"html"},e))}},function(e){"use strict";e.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:"\n",CHAR_NO_BREAK_SPACE:" ",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:"\t",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\ufeff"}},,function(e,r,t){var n=t(3);var i={};for(var u in n){if(n.hasOwnProperty(u)){i[n[u]]=u}}var o=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var s in o){if(o.hasOwnProperty(s)){if(!("channels"in o[s])){throw new Error("missing channels property: "+s)}if(!("labels"in o[s])){throw new Error("missing channel labels property: "+s)}if(o[s].labels.length!==o[s].channels){throw new Error("channel and label counts mismatch: "+s)}var a=o[s].channels;var f=o[s].labels;delete o[s].channels;delete o[s].labels;Object.defineProperty(o[s],"channels",{value:a});Object.defineProperty(o[s],"labels",{value:f})}}o.rgb.hsl=function(e){var r=e[0]/255;var t=e[1]/255;var n=e[2]/255;var i=Math.min(r,t,n);var u=Math.max(r,t,n);var o=u-i;var s;var a;var f;if(u===i){s=0}else if(r===u){s=(t-n)/o}else if(t===u){s=2+(n-r)/o}else if(n===u){s=4+(r-t)/o}s=Math.min(s*60,360);if(s<0){s+=360}f=(i+u)/2;if(u===i){a=0}else if(f<=.5){a=o/(u+i)}else{a=o/(2-u-i)}return[s,a*100,f*100]};o.rgb.hsv=function(e){var r;var t;var n;var i;var u;var o=e[0]/255;var s=e[1]/255;var a=e[2]/255;var f=Math.max(o,s,a);var c=f-Math.min(o,s,a);var l=function(e){return(f-e)/6/c+1/2};if(c===0){i=u=0}else{u=c/f;r=l(o);t=l(s);n=l(a);if(o===f){i=n-t}else if(s===f){i=1/3+r-n}else if(a===f){i=2/3+t-r}if(i<0){i+=1}else if(i>1){i-=1}}return[i*360,u*100,f*100]};o.rgb.hwb=function(e){var r=e[0];var t=e[1];var n=e[2];var i=o.rgb.hsl(e)[0];var u=1/255*Math.min(r,Math.min(t,n));n=1-1/255*Math.max(r,Math.max(t,n));return[i,u*100,n*100]};o.rgb.cmyk=function(e){var r=e[0]/255;var t=e[1]/255;var n=e[2]/255;var i;var u;var o;var s;s=Math.min(1-r,1-t,1-n);i=(1-r-s)/(1-s)||0;u=(1-t-s)/(1-s)||0;o=(1-n-s)/(1-s)||0;return[i*100,u*100,o*100,s*100]};function comparativeDistance(e,r){return Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2)+Math.pow(e[2]-r[2],2)}o.rgb.keyword=function(e){var r=i[e];if(r){return r}var t=Infinity;var u;for(var o in n){if(n.hasOwnProperty(o)){var s=n[o];var a=comparativeDistance(e,s);if(a.04045?Math.pow((r+.055)/1.055,2.4):r/12.92;t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92;n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var i=r*.4124+t*.3576+n*.1805;var u=r*.2126+t*.7152+n*.0722;var o=r*.0193+t*.1192+n*.9505;return[i*100,u*100,o*100]};o.rgb.lab=function(e){var r=o.rgb.xyz(e);var t=r[0];var n=r[1];var i=r[2];var u;var s;var a;t/=95.047;n/=100;i/=108.883;t=t>.008856?Math.pow(t,1/3):7.787*t+16/116;n=n>.008856?Math.pow(n,1/3):7.787*n+16/116;i=i>.008856?Math.pow(i,1/3):7.787*i+16/116;u=116*n-16;s=500*(t-n);a=200*(n-i);return[u,s,a]};o.hsl.rgb=function(e){var r=e[0]/360;var t=e[1]/100;var n=e[2]/100;var i;var u;var o;var s;var a;if(t===0){a=n*255;return[a,a,a]}if(n<.5){u=n*(1+t)}else{u=n+t-n*t}i=2*n-u;s=[0,0,0];for(var f=0;f<3;f++){o=r+1/3*-(f-1);if(o<0){o++}if(o>1){o--}if(6*o<1){a=i+(u-i)*6*o}else if(2*o<1){a=u}else if(3*o<2){a=i+(u-i)*(2/3-o)*6}else{a=i}s[f]=a*255}return s};o.hsl.hsv=function(e){var r=e[0];var t=e[1]/100;var n=e[2]/100;var i=t;var u=Math.max(n,.01);var o;var s;n*=2;t*=n<=1?n:2-n;i*=u<=1?u:2-u;s=(n+t)/2;o=n===0?2*i/(u+i):2*t/(n+t);return[r,o*100,s*100]};o.hsv.rgb=function(e){var r=e[0]/60;var t=e[1]/100;var n=e[2]/100;var i=Math.floor(r)%6;var u=r-Math.floor(r);var o=255*n*(1-t);var s=255*n*(1-t*u);var a=255*n*(1-t*(1-u));n*=255;switch(i){case 0:return[n,a,o];case 1:return[s,n,o];case 2:return[o,n,a];case 3:return[o,s,n];case 4:return[a,o,n];case 5:return[n,o,s]}};o.hsv.hsl=function(e){var r=e[0];var t=e[1]/100;var n=e[2]/100;var i=Math.max(n,.01);var u;var o;var s;s=(2-t)*n;u=(2-t)*i;o=t*i;o/=u<=1?u:2-u;o=o||0;s/=2;return[r,o*100,s*100]};o.hwb.rgb=function(e){var r=e[0]/360;var t=e[1]/100;var n=e[2]/100;var i=t+n;var u;var o;var s;var a;if(i>1){t/=i;n/=i}u=Math.floor(6*r);o=1-n;s=6*r-u;if((u&1)!==0){s=1-s}a=t+s*(o-t);var f;var c;var l;switch(u){default:case 6:case 0:f=o;c=a;l=t;break;case 1:f=a;c=o;l=t;break;case 2:f=t;c=o;l=a;break;case 3:f=t;c=a;l=o;break;case 4:f=a;c=t;l=o;break;case 5:f=o;c=t;l=a;break}return[f*255,c*255,l*255]};o.cmyk.rgb=function(e){var r=e[0]/100;var t=e[1]/100;var n=e[2]/100;var i=e[3]/100;var u;var o;var s;u=1-Math.min(1,r*(1-i)+i);o=1-Math.min(1,t*(1-i)+i);s=1-Math.min(1,n*(1-i)+i);return[u*255,o*255,s*255]};o.xyz.rgb=function(e){var r=e[0]/100;var t=e[1]/100;var n=e[2]/100;var i;var u;var o;i=r*3.2406+t*-1.5372+n*-.4986;u=r*-.9689+t*1.8758+n*.0415;o=r*.0557+t*-.204+n*1.057;i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*12.92;u=u>.0031308?1.055*Math.pow(u,1/2.4)-.055:u*12.92;o=o>.0031308?1.055*Math.pow(o,1/2.4)-.055:o*12.92;i=Math.min(Math.max(0,i),1);u=Math.min(Math.max(0,u),1);o=Math.min(Math.max(0,o),1);return[i*255,u*255,o*255]};o.xyz.lab=function(e){var r=e[0];var t=e[1];var n=e[2];var i;var u;var o;r/=95.047;t/=100;n/=108.883;r=r>.008856?Math.pow(r,1/3):7.787*r+16/116;t=t>.008856?Math.pow(t,1/3):7.787*t+16/116;n=n>.008856?Math.pow(n,1/3):7.787*n+16/116;i=116*t-16;u=500*(r-t);o=200*(t-n);return[i,u,o]};o.lab.xyz=function(e){var r=e[0];var t=e[1];var n=e[2];var i;var u;var o;u=(r+16)/116;i=t/500+u;o=u-n/200;var s=Math.pow(u,3);var a=Math.pow(i,3);var f=Math.pow(o,3);u=s>.008856?s:(u-16/116)/7.787;i=a>.008856?a:(i-16/116)/7.787;o=f>.008856?f:(o-16/116)/7.787;i*=95.047;u*=100;o*=108.883;return[i,u,o]};o.lab.lch=function(e){var r=e[0];var t=e[1];var n=e[2];var i;var u;var o;i=Math.atan2(n,t);u=i*360/2/Math.PI;if(u<0){u+=360}o=Math.sqrt(t*t+n*n);return[r,o,u]};o.lch.lab=function(e){var r=e[0];var t=e[1];var n=e[2];var i;var u;var o;o=n/360*2*Math.PI;i=t*Math.cos(o);u=t*Math.sin(o);return[r,i,u]};o.rgb.ansi16=function(e){var r=e[0];var t=e[1];var n=e[2];var i=1 in arguments?arguments[1]:o.rgb.hsv(e)[2];i=Math.round(i/50);if(i===0){return 30}var u=30+(Math.round(n/255)<<2|Math.round(t/255)<<1|Math.round(r/255));if(i===2){u+=60}return u};o.hsv.ansi16=function(e){return o.rgb.ansi16(o.hsv.rgb(e),e[2])};o.rgb.ansi256=function(e){var r=e[0];var t=e[1];var n=e[2];if(r===t&&t===n){if(r<8){return 16}if(r>248){return 231}return Math.round((r-8)/247*24)+232}var i=16+36*Math.round(r/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5);return i};o.ansi16.rgb=function(e){var r=e%10;if(r===0||r===7){if(e>50){r+=3.5}r=r/10.5*255;return[r,r,r]}var t=(~~(e>50)+1)*.5;var n=(r&1)*t*255;var i=(r>>1&1)*t*255;var u=(r>>2&1)*t*255;return[n,i,u]};o.ansi256.rgb=function(e){if(e>=232){var r=(e-232)*10+8;return[r,r,r]}e-=16;var t;var n=Math.floor(e/36)/5*255;var i=Math.floor((t=e%36)/6)/5*255;var u=t%6/5*255;return[n,i,u]};o.rgb.hex=function(e){var r=((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255);var t=r.toString(16).toUpperCase();return"000000".substring(t.length)+t};o.hex.rgb=function(e){var r=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!r){return[0,0,0]}var t=r[0];if(r[0].length===3){t=t.split("").map(function(e){return e+e}).join("")}var n=parseInt(t,16);var i=n>>16&255;var u=n>>8&255;var o=n&255;return[i,u,o]};o.rgb.hcg=function(e){var r=e[0]/255;var t=e[1]/255;var n=e[2]/255;var i=Math.max(Math.max(r,t),n);var u=Math.min(Math.min(r,t),n);var o=i-u;var s;var a;if(o<1){s=u/(1-o)}else{s=0}if(o<=0){a=0}else if(i===r){a=(t-n)/o%6}else if(i===t){a=2+(n-r)/o}else{a=4+(r-t)/o+4}a/=6;a%=1;return[a*360,o*100,s*100]};o.hsl.hcg=function(e){var r=e[1]/100;var t=e[2]/100;var n=1;var i=0;if(t<.5){n=2*r*t}else{n=2*r*(1-t)}if(n<1){i=(t-.5*n)/(1-n)}return[e[0],n*100,i*100]};o.hsv.hcg=function(e){var r=e[1]/100;var t=e[2]/100;var n=r*t;var i=0;if(n<1){i=(t-n)/(1-n)}return[e[0],n*100,i*100]};o.hcg.rgb=function(e){var r=e[0]/360;var t=e[1]/100;var n=e[2]/100;if(t===0){return[n*255,n*255,n*255]}var i=[0,0,0];var u=r%1*6;var o=u%1;var s=1-o;var a=0;switch(Math.floor(u)){case 0:i[0]=1;i[1]=o;i[2]=0;break;case 1:i[0]=s;i[1]=1;i[2]=0;break;case 2:i[0]=0;i[1]=1;i[2]=o;break;case 3:i[0]=0;i[1]=s;i[2]=1;break;case 4:i[0]=o;i[1]=0;i[2]=1;break;default:i[0]=1;i[1]=0;i[2]=s}a=(1-t)*n;return[(t*i[0]+a)*255,(t*i[1]+a)*255,(t*i[2]+a)*255]};o.hcg.hsv=function(e){var r=e[1]/100;var t=e[2]/100;var n=r+t*(1-r);var i=0;if(n>0){i=r/n}return[e[0],i*100,n*100]};o.hcg.hsl=function(e){var r=e[1]/100;var t=e[2]/100;var n=t*(1-r)+.5*r;var i=0;if(n>0&&n<.5){i=r/(2*n)}else if(n>=.5&&n<1){i=r/(2*(1-n))}return[e[0],i*100,n*100]};o.hcg.hwb=function(e){var r=e[1]/100;var t=e[2]/100;var n=r+t*(1-r);return[e[0],(n-r)*100,(1-n)*100]};o.hwb.hcg=function(e){var r=e[1]/100;var t=e[2]/100;var n=1-t;var i=n-r;var u=0;if(i<1){u=(n-i)/(1-i)}return[e[0],i*100,u*100]};o.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};o.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};o.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};o.gray.hsl=o.gray.hsv=function(e){return[0,0,e[0]]};o.gray.hwb=function(e){return[0,100,e[0]]};o.gray.cmyk=function(e){return[0,0,0,e[0]]};o.gray.lab=function(e){return[e[0],0,0]};o.gray.hex=function(e){var r=Math.round(e[0]/100*255)&255;var t=(r<<16)+(r<<8)+r;var n=t.toString(16).toUpperCase();return"000000".substring(n.length)+n};o.rgb.gray=function(e){var r=(e[0]+e[1]+e[2])/3;return[r/255*100]}},function(e){"use strict";e.exports=identity;function identity(e){return e}},,,function(e){e.exports=require("module")},,,function(e,r,t){"use strict";const n=t(747);const{Readable:i}=t(413);const u=t(622);const o=t(387);const{promisify:s}=t(669);const[a,f,c]=[s(n.readdir),s(n.stat),s(n.lstat)];const l="Dirent"in n;const p=process.platform==="win32";const h=typeof BigInt==="function";const v="!";const D=new Set(["ENOENT","EPERM","EACCES","ELOOP"]);const d=3;const g="files";const m="directories";const E="files_directories";const b="all";const A=new Set([g,E,b]);const C=new Set([m,E,b]);const w=[g,m,E,b];const y=e=>D.has(e);const F=e=>e(entry.basename);const S=e=>{if(e===undefined)return;if(typeof e==="function")return e;if(typeof e==="string"){const r=o(e.trim());return e=>r(e.basename)}if(Array.isArray(e)){const r=[];const t=[];for(const n of e){const e=n.trim();if(e.charAt(0)===v){t.push(o(e.slice(1)))}else{r.push(o(e))}}if(t.length>0){if(r.length>0){return e=>r.some(r=>r(e.basename))&&!t.some(r=>r(e.basename))}else{return e=>!t.some(r=>r(e.basename))}}else{return e=>r.some(r=>r(e.basename))}}};class ExploringDir{constructor(e,r){this.path=e;this.depth=r}}class ReaddirpStream extends i{static get defaultOptions(){return{root:".",fileFilter:e=>true,directoryFilter:e=>true,type:"files",lstat:false,depth:2147483648,alwaysStat:false}}constructor(e={}){super({objectMode:true,highWaterMark:1,autoDestroy:true});const r=Object.assign({},ReaddirpStream.defaultOptions,e);const{root:t}=r;this._fileFilter=S(r.fileFilter);this._directoryFilter=S(r.directoryFilter);this._statMethod=r.lstat?c:f;this._statOpts={bigint:p};this._maxDepth=r.depth;this._entryType=r.type;this._root=u.resolve(t);this._isDirent=!r.alwaysStat&&l;this._statsProp=this._isDirent?"dirent":"stats";this._readdir_options={encoding:"utf8",withFileTypes:this._isDirent};this.parents=[new ExploringDir(t,0)];this.filesToRead=0}async _read(){do{if(this.destroyed)return;const e=this.parents.pop();if(!e){break}await this._exploreDirectory(e)}while(!this.isPaused()&&!this._isQueueEmpty());this._endStreamIfQueueIsEmpty()}async _exploreDirectory(e){let r=[];this.filesToRead++;try{r=await a(e.path,this._readdir_options)}catch(e){if(y(e.code)){this._handleError(e)}else{this._handleFatalError(e)}}this.filesToRead--;if(this.destroyed)return;this.filesToRead+=r.length;const t=await Promise.all(r.map(r=>this._formatEntry(r,e)));if(this.destroyed)return;for(let r=0;r{this.push(e)};if(this._isDirent)setImmediate(r);else r()}}_emitPushIfUserWantsFile(e){if(A.has(this._entryType)){this.push(e)}}_handleError(e){if(!this.destroyed){this.emit("warn",e)}}_handleFatalError(e){this.destroy(e)}}const _=(e,r={})=>{let t=r["entryType"]||r.type;if(t==="both")t=E;if(t)r.type=t;if(e==null||typeof e==="undefined"){throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)")}else if(typeof e!=="string"){throw new Error(`readdirp: root argument must be a string. Usage: readdirp(root, options)`)}else if(t&&!w.includes(t)){throw new Error(`readdirp: Invalid type passed. Use one of ${w.join(", ")}`)}r.root=e;return new ReaddirpStream(r)};const B=(e,r={})=>{return new Promise((t,n)=>{const i=[];_(e,r).on("data",e=>i.push(e)).on("end",()=>t(i)).on("error",e=>n(e))})};_.promise=B;_.ReaddirpStream=ReaddirpStream;_.default=_;e.exports=_},,function(e,r,t){"use strict";const{sep:n}=t(622);const{platform:i}=process;r.EV_ALL="all";r.EV_READY="ready";r.EV_ADD="add";r.EV_CHANGE="change";r.EV_ADD_DIR="addDir";r.EV_UNLINK="unlink";r.EV_UNLINK_DIR="unlinkDir";r.EV_RAW="raw";r.EV_ERROR="error";r.STR_DATA="data";r.STR_END="end";r.STR_CLOSE="close";r.FSEVENT_CREATED="created";r.FSEVENT_MODIFIED="modified";r.FSEVENT_DELETED="deleted";r.FSEVENT_MOVED="moved";r.FSEVENT_CLONED="cloned";r.FSEVENT_UNKNOWN="unknown";r.FSEVENT_TYPE_DIRECTORY="directory";r.FSEVENT_TYPE_SYMLINK="symlink";r.KEY_LISTENERS="listeners";r.KEY_ERR="errHandlers";r.KEY_RAW="rawEmitters";r.HANDLER_KEYS=[r.KEY_LISTENERS,r.KEY_ERR,r.KEY_RAW];r.DOT_SLASH=`.${n}`;r.BACK_SLASH_RE=/\\/g;r.DOUBLE_SLASH_RE=/\/\//;r.SLASH_OR_BACK_SLASH_RE=/[/\\]/;r.DOT_RE=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/;r.REPLACER_RE=/^\.[/\\]/;r.SLASH="/";r.BRACE_START="{";r.BANG="!";r.ONE_DOT=".";r.TWO_DOTS="..";r.STAR="*";r.GLOBSTAR="**";r.ROOT_GLOBSTAR="/**/*";r.SLASH_GLOBSTAR="/**";r.DIR_SUFFIX="Dir";r.ANYMATCH_OPTS={dot:true};r.STRING_TYPE="string";r.FUNCTION_TYPE="function";r.EMPTY_STR="";r.EMPTY_FN=(()=>{});r.IDENTITY_FN=(e=>e);r.isWindows=i==="win32";r.isMacos=i==="darwin"},function(e,r,t){"use strict";var n=t(7)("unified-engine:file-set-pipeline:stdin");var i=t(273);var u=t(582);e.exports=stdin;function stdin(e,r,t){var o=r.streamIn;var s;if(r.files&&r.files.length!==0){n("Ignoring `streamIn`");if(r.filePath){s=new Error("Do not pass both `--file-path` and real files.\nDid you mean to pass stdin instead of files?")}t(s);return}if(o.isTTY){n("Cannot read from `tty` stream");t(new Error("No input"));return}n("Reading from `streamIn`");o.pipe(u({encoding:"string"},read));function read(u){var o=i(r.filePath||undefined);n("Read from `streamIn`");o.cwd=r.cwd;o.contents=u;o.data.unifiedEngineGiven=true;o.data.unifiedEngineStreamIn=true;e.files=[o];r.out=r.out===null||r.out===undefined?true:r.out;t()}}},,,,,function(e){e.exports=require("buffer")},,function(e,r,t){"use strict";var n=t(358);e.exports=inlineCode;inlineCode.locator=n;var i=10;var u=32;var o=96;function inlineCode(e,r,t){var n=r.length;var s=0;var a;var f;var c;var l;var p;var h;while(s2&&(l===u||l===i)&&(p===u||p===i)){s++;n--;while(s2){r.message(s,e)}}}}},function(e,r,t){"use strict";var n=t(540);var i=t(198);e.exports=footnoteDefinition;footnoteDefinition.notInList=true;footnoteDefinition.notInBlock=true;var u="\\";var o="\n";var s="\t";var a=" ";var f="[";var c="]";var l="^";var p=":";var h=/^( {4}|\t)?/gm;function footnoteDefinition(e,r,t){var v=this;var D=v.offset;var d;var g;var m;var E;var b;var A;var C;var w;var y;var F;var S;var _;if(!v.options.footnotes){return}d=0;g=r.length;m="";E=e.now();b=E.line;while(dtypeof e==="string"?e.replace(n(),""):e)},function(e,r,t){var n=t(726);var i=t(737);e.exports=expandTop;var u="\0SLASH"+Math.random()+"\0";var o="\0OPEN"+Math.random()+"\0";var s="\0CLOSE"+Math.random()+"\0";var a="\0COMMA"+Math.random()+"\0";var f="\0PERIOD"+Math.random()+"\0";function numeric(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function escapeBraces(e){return e.split("\\\\").join(u).split("\\{").join(o).split("\\}").join(s).split("\\,").join(a).split("\\.").join(f)}function unescapeBraces(e){return e.split(u).join("\\").split(o).join("{").split(s).join("}").split(a).join(",").split(f).join(".")}function parseCommaParts(e){if(!e)return[""];var r=[];var t=i("{","}",e);if(!t)return e.split(",");var n=t.pre;var u=t.body;var o=t.post;var s=n.split(",");s[s.length-1]+="{"+u+"}";var a=parseCommaParts(o);if(o.length){s[s.length-1]+=a.shift();s.push.apply(s,a)}r.push.apply(r,s);return r}function expandTop(e){if(!e)return[];if(e.substr(0,2)==="{}"){e="\\{\\}"+e.substr(2)}return expand(escapeBraces(e),true).map(unescapeBraces)}function identity(e){return e}function embrace(e){return"{"+e+"}"}function isPadded(e){return/^-?0\d/.test(e)}function lte(e,r){return e<=r}function gte(e,r){return e>=r}function expand(e,r){var t=[];var u=i("{","}",e);if(!u||/\$$/.test(u.pre))return[e];var o=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(u.body);var a=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(u.body);var f=o||a;var c=u.body.indexOf(",")>=0;if(!f&&!c){if(u.post.match(/,.*\}/)){e=u.pre+"{"+u.body+s+u.post;return expand(e)}return[e]}var l;if(f){l=u.body.split(/\.\./)}else{l=parseCommaParts(u.body);if(l.length===1){l=expand(l[0],false).map(embrace);if(l.length===1){var p=u.post.length?expand(u.post,false):[""];return p.map(function(e){return u.pre+l[0]+e})}}}var h=u.pre;var p=u.post.length?expand(u.post,false):[""];var v;if(f){var D=numeric(l[0]);var d=numeric(l[1]);var g=Math.max(l[0].length,l[1].length);var m=l.length==3?Math.abs(numeric(l[2])):1;var E=lte;var b=d0){var F=new Array(y+1).join("0");if(C<0)w="-"+F+w.slice(1);else w=F+w}}}v.push(w)}}else{v=n(l,function(e){return expand(e,false)})}for(var S=0;S=0)return;var r=n.file(e);if(r){p.push(c(r));h.push(e)}}if(!s)[i(o,e,"config"),i(o,e+"rc")].forEach(addConfigFile);if(a)[i(a,".config",e,"config"),i(a,".config",e),i(a,"."+e,"config"),i(a,"."+e+"rc")].forEach(addConfigFile);addConfigFile(n.find("."+e+"rc"));if(l.config)addConfigFile(l.config);if(f.config)addConfigFile(f.config);return u.apply(null,p.concat([l,f,h.length?{configs:h,config:h[h.length-1]}:undefined]))}},,function(e,r,t){"use strict";var n=t(540);var i=t(238);e.exports=link;link.locator=i;var u="\n";var o="!";var s='"';var a="'";var f="(";var c=")";var l="<";var p=">";var h="[";var v="\\";var D="]";var d="`";function link(e,r,t){var i=this;var g="";var m=0;var E=r.charAt(0);var b=i.options.pedantic;var A=i.options.commonmark;var C=i.options.gfm;var w;var y;var F;var S;var _;var B;var O;var x;var k;var R;var T;var I;var L;var M;var j;var P;var N;var $;if(E===o){x=true;g=E;E=r.charAt(++m)}if(E!==h){return}if(!x&&i.inLink){return}g+=E;M="";m++;T=r.length;P=e.now();L=0;P.column+=m;P.offset+=m;while(m=F){F=0}}else if(E===v){m++;B+=r.charAt(m)}else if((!F||C)&&E===h){L++}else if((!F||C)&&E===D){if(L){L--}else{if(!b){while(m{if(typeof r.expandRange==="function"){return r.expandRange(...e,r)}e.sort();const t=`[${e.join("-")}]`;try{new RegExp(t)}catch(r){return e.map(e=>i.escapeRegex(e)).join("..")}return t};const l=(e,r)=>{return`Missing ${e}: "${r}" - use "\\\\${r}" to match literal characters`};const p=(e,r)=>{if(typeof e!=="string"){throw new TypeError("Expected a string")}e=f[e]||e;const t={...r};const p=typeof t.maxLength==="number"?Math.min(u,t.maxLength):u;let h=e.length;if(h>p){throw new SyntaxError(`Input length: ${h}, exceeds maximum allowed length: ${p}`)}const v={type:"bos",value:"",output:t.prepend||""};const D=[v];const d=t.capture?"":"?:";const g=i.isWindows(r);const m=n.globChars(g);const E=n.extglobChars(m);const{DOT_LITERAL:b,PLUS_LITERAL:A,SLASH_LITERAL:C,ONE_CHAR:w,DOTS_SLASH:y,NO_DOT:F,NO_DOT_SLASH:S,NO_DOTS_SLASH:_,QMARK:B,QMARK_NO_DOT:O,STAR:x,START_ANCHOR:k}=m;const R=e=>{return`(${d}(?:(?!${k}${e.dot?y:b}).)*?)`};const T=t.dot?"":F;const I=t.dot?B:O;let L=t.bash===true?R(t):x;if(t.capture){L=`(${L})`}if(typeof t.noext==="boolean"){t.noextglob=t.noext}const M={input:e,index:-1,start:0,dot:t.dot===true,consumed:"",output:"",prefix:"",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,tokens:D};e=i.removePrefix(e,M);h=e.length;const j=[];const P=[];let N=v;let $;const H=()=>M.index===h-1;const U=M.peek=((r=1)=>e[M.index+r]);const W=M.advance=(()=>e[++M.index]);const G=()=>e.slice(M.index+1);const q=(e="",r=0)=>{M.consumed+=e;M.index+=r};const Y=e=>{M.output+=e.output!=null?e.output:e.value;q(e.value)};const z=()=>{let e=1;while(U()==="!"&&(U(2)!=="("||U(3)==="?")){W();M.start++;e++}if(e%2===0){return false}M.negated=true;M.start++;return true};const V=e=>{M[e]++;P.push(e)};const J=e=>{M[e]--;P.pop()};const Z=e=>{if(N.type==="globstar"){const r=M.braces>0&&(e.type==="comma"||e.type==="brace");const t=e.extglob===true||j.length&&(e.type==="pipe"||e.type==="paren");if(e.type!=="slash"&&e.type!=="paren"&&!r&&!t){M.output=M.output.slice(0,-N.output.length);N.type="star";N.value="*";N.output=L;M.output+=N.output}}if(j.length&&e.type!=="paren"&&!E[e.value]){j[j.length-1].inner+=e.value}if(e.value||e.output)Y(e);if(N&&N.type==="text"&&e.type==="text"){N.value+=e.value;return}e.prev=N;D.push(e);N=e};const Q=(e,r)=>{const n={...E[r],conditions:1,inner:""};n.prev=N;n.parens=M.parens;n.output=M.output;const i=(t.capture?"(":"")+n.open;V("parens");Z({type:e,value:r,output:M.output?"":w});Z({type:"paren",extglob:true,value:W(),output:i});j.push(n)};const X=e=>{let r=e.close+(t.capture?")":"");if(e.type==="negate"){let n=L;if(e.inner&&e.inner.length>1&&e.inner.includes("/")){n=R(t)}if(n!==L||H()||/^\)+$/.test(G())){r=e.close=")$))"+n}if(e.prev.type==="bos"&&H()){M.negatedExtglob=true}}Z({type:"paren",extglob:true,value:$,output:r});J("parens")};if(t.fastpaths!==false&&!/(^[*!]|[/()[\]{}"])/.test(e)){let n=false;let u=e.replace(a,(e,r,t,i,u,o)=>{if(i==="\\"){n=true;return e}if(i==="?"){if(r){return r+i+(u?B.repeat(u.length):"")}if(o===0){return I+(u?B.repeat(u.length):"")}return B.repeat(t.length)}if(i==="."){return b.repeat(t.length)}if(i==="*"){if(r){return r+i+(u?L:"")}return L}return r?e:"\\"+e});if(n===true){if(t.unescape===true){u=u.replace(/\\/g,"")}else{u=u.replace(/\\+/g,e=>{return e.length%2===0?"\\\\":e?"\\":""})}}if(u===e&&t.contains===true){M.output=e;return M}M.output=i.wrapOutput(u,M,r);return M}while(!H()){$=W();if($==="\0"){continue}if($==="\\"){const e=U();if(e==="/"&&t.bash!==true){continue}if(e==="."||e===";"){continue}if(!e){$+="\\";Z({type:"text",value:$});continue}const r=/^\\+/.exec(G());let n=0;if(r&&r[0].length>2){n=r[0].length;M.index+=n;if(n%2!==0){$+="\\"}}if(t.unescape===true){$=W()||""}else{$+=W()||""}if(M.brackets===0){Z({type:"text",value:$});continue}}if(M.brackets>0&&($!=="]"||N.value==="["||N.value==="[^")){if(t.posix!==false&&$===":"){const e=N.value.slice(1);if(e.includes("[")){N.posix=true;if(e.includes(":")){const e=N.value.lastIndexOf("[");const r=N.value.slice(0,e);const t=N.value.slice(e+2);const n=o[t];if(n){N.value=r+n;M.backtrack=true;W();if(!v.output&&D.indexOf(N)===1){v.output=w}continue}}}}if($==="["&&U()!==":"||$==="-"&&U()==="]"){$="\\"+$}if($==="]"&&(N.value==="["||N.value==="[^")){$="\\"+$}if(t.posix===true&&$==="!"&&N.value==="["){$="^"}N.value+=$;Y({value:$});continue}if(M.quotes===1&&$!=='"'){$=i.escapeRegex($);N.value+=$;Y({value:$});continue}if($==='"'){M.quotes=M.quotes===1?0:1;if(t.keepQuotes===true){Z({type:"text",value:$})}continue}if($==="("){V("parens");Z({type:"paren",value:$});continue}if($===")"){if(M.parens===0&&t.strictBrackets===true){throw new SyntaxError(l("opening","("))}const e=j[j.length-1];if(e&&M.parens===e.parens+1){X(j.pop());continue}Z({type:"paren",value:$,output:M.parens?")":"\\)"});J("parens");continue}if($==="["){if(t.nobracket===true||!G().includes("]")){if(t.nobracket!==true&&t.strictBrackets===true){throw new SyntaxError(l("closing","]"))}$="\\"+$}else{V("brackets")}Z({type:"bracket",value:$});continue}if($==="]"){if(t.nobracket===true||N&&N.type==="bracket"&&N.value.length===1){Z({type:"text",value:$,output:"\\"+$});continue}if(M.brackets===0){if(t.strictBrackets===true){throw new SyntaxError(l("opening","["))}Z({type:"text",value:$,output:"\\"+$});continue}J("brackets");const e=N.value.slice(1);if(N.posix!==true&&e[0]==="^"&&!e.includes("/")){$="/"+$}N.value+=$;Y({value:$});if(t.literalBrackets===false||i.hasRegexChars(e)){continue}const r=i.escapeRegex(N.value);M.output=M.output.slice(0,-N.value.length);if(t.literalBrackets===true){M.output+=r;N.value=r;continue}N.value=`(${d}${r}|${N.value})`;M.output+=N.value;continue}if($==="{"&&t.nobrace!==true){V("braces");Z({type:"brace",value:$,output:"("});continue}if($==="}"){if(t.nobrace===true||M.braces===0){Z({type:"text",value:$,output:$});continue}let e=")";if(M.dots===true){const r=D.slice();const n=[];for(let e=r.length-1;e>=0;e--){D.pop();if(r[e].type==="brace"){break}if(r[e].type!=="dots"){n.unshift(r[e].value)}}e=c(n,t);M.backtrack=true}Z({type:"brace",value:$,output:e});J("braces");continue}if($==="|"){if(j.length>0){j[j.length-1].conditions++}Z({type:"text",value:$});continue}if($===","){let e=$;if(M.braces>0&&P[P.length-1]==="braces"){e="|"}Z({type:"comma",value:$,output:e});continue}if($==="/"){if(N.type==="dot"&&M.index===M.start+1){M.start=M.index+1;M.consumed="";M.output="";D.pop();N=v;continue}Z({type:"slash",value:$,output:C});continue}if($==="."){if(M.braces>0&&N.type==="dot"){if(N.value===".")N.output=b;N.type="dots";N.output+=$;N.value+=$;M.dots=true;continue}if(M.braces+M.parens===0&&N.type!=="bos"&&N.type!=="slash"){Z({type:"text",value:$,output:b});continue}Z({type:"dot",value:$,output:b});continue}if($==="?"){const e=N&&N.value==="(";if(!e&&t.noextglob!==true&&U()==="("&&U(2)!=="?"){Q("qmark",$);continue}if(N&&N.type==="paren"){const e=U();let r=$;if(e==="<"&&!i.supportsLookbehinds()){throw new Error("Node.js v10 or higher is required for regex lookbehinds")}if(N.value==="("&&!/[!=<:]/.test(e)||e==="<"&&!/<([!=]|\w+>)/.test(G())){r="\\"+$}Z({type:"text",value:$,output:r});continue}if(t.dot!==true&&(N.type==="slash"||N.type==="bos")){Z({type:"qmark",value:$,output:O});continue}Z({type:"qmark",value:$,output:B});continue}if($==="!"){if(t.noextglob!==true&&U()==="("){if(U(2)!=="?"||!/[!=<:]/.test(U(3))){Q("negate",$);continue}}if(t.nonegate!==true&&M.index===0){z(M);continue}}if($==="+"){if(t.noextglob!==true&&U()==="("&&U(2)!=="?"){Q("plus",$);continue}if(N&&N.value==="("||t.regex===false){Z({type:"plus",value:$,output:A});continue}if(N&&(N.type==="bracket"||N.type==="paren"||N.type==="brace")||M.parens>0){Z({type:"plus",value:$});continue}Z({type:"plus",value:A});continue}if($==="@"){if(t.noextglob!==true&&U()==="("&&U(2)!=="?"){Z({type:"at",extglob:true,value:$,output:""});continue}Z({type:"text",value:$});continue}if($!=="*"){if($==="$"||$==="^"){$="\\"+$}const e=s.exec(G());if(e){$+=e[0];M.index+=e[0].length}Z({type:"text",value:$});continue}if(N&&(N.type==="globstar"||N.star===true)){N.type="star";N.star=true;N.value+=$;N.output=L;M.backtrack=true;q($);continue}let r=G();if(t.noextglob!==true&&/^\([^?]/.test(r)){Q("star",$);continue}if(N.type==="star"){if(t.noglobstar===true){q($);continue}const n=N.prev;const i=n.prev;const u=n.type==="slash"||n.type==="bos";const o=i&&(i.type==="star"||i.type==="globstar");if(t.bash===true&&(!u||r[0]&&r[0]!=="/")){Z({type:"star",value:$,output:""});continue}const s=M.braces>0&&(n.type==="comma"||n.type==="brace");const a=j.length&&(n.type==="pipe"||n.type==="paren");if(!u&&n.type!=="paren"&&!s&&!a){Z({type:"star",value:$,output:""});continue}while(r.slice(0,3)==="/**"){const t=e[M.index+4];if(t&&t!=="/"){break}r=r.slice(3);q("/**",3)}if(n.type==="bos"&&H()){N.type="globstar";N.value+=$;N.output=R(t);M.output=N.output;q($);continue}if(n.type==="slash"&&n.prev.type!=="bos"&&!o&&H()){M.output=M.output.slice(0,-(n.output+N.output).length);n.output="(?:"+n.output;N.type="globstar";N.output=R(t)+(t.strictSlashes?")":"|$)");N.value+=$;M.output+=n.output+N.output;q($);continue}if(n.type==="slash"&&n.prev.type!=="bos"&&r[0]==="/"){const e=r[1]!==void 0?"|$":"";M.output=M.output.slice(0,-(n.output+N.output).length);n.output="(?:"+n.output;N.type="globstar";N.output=`${R(t)}${C}|${C}${e})`;N.value+=$;M.output+=n.output+N.output;q($+W());Z({type:"slash",value:$,output:""});continue}if(n.type==="bos"&&r[0]==="/"){N.type="globstar";N.value+=$;N.output=`(?:^|${C}|${R(t)}${C})`;M.output=N.output;q($+W());Z({type:"slash",value:$,output:""});continue}M.output=M.output.slice(0,-N.output.length);N.type="globstar";N.output=R(t);N.value+=$;M.output+=N.output;q($);continue}const n={type:"star",value:$,output:L};if(t.bash===true){n.output=".*?";if(N.type==="bos"||N.type==="slash"){n.output=T+n.output}Z(n);continue}if(N&&(N.type==="bracket"||N.type==="paren")&&t.regex===true){n.output=$;Z(n);continue}if(M.index===M.start||N.type==="slash"||N.type==="dot"){if(N.type==="dot"){M.output+=S;N.output+=S}else if(t.dot===true){M.output+=_;N.output+=_}else{M.output+=T;N.output+=T}if(U()!=="*"){M.output+=w;N.output+=w}}Z(n)}while(M.brackets>0){if(t.strictBrackets===true)throw new SyntaxError(l("closing","]"));M.output=i.escapeLast(M.output,"[");J("brackets")}while(M.parens>0){if(t.strictBrackets===true)throw new SyntaxError(l("closing",")"));M.output=i.escapeLast(M.output,"(");J("parens")}while(M.braces>0){if(t.strictBrackets===true)throw new SyntaxError(l("closing","}"));M.output=i.escapeLast(M.output,"{");J("braces")}if(t.strictSlashes!==true&&(N.type==="star"||N.type==="bracket")){Z({type:"maybe_slash",value:"",output:`${C}?`})}if(M.backtrack===true){M.output="";for(const e of M.tokens){M.output+=e.output!=null?e.output:e.value;if(e.suffix){M.output+=e.suffix}}}return M};p.fastpaths=((e,r)=>{const t={...r};const o=typeof t.maxLength==="number"?Math.min(u,t.maxLength):u;const s=e.length;if(s>o){throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${o}`)}e=f[e]||e;const a=i.isWindows(r);const{DOT_LITERAL:c,SLASH_LITERAL:l,ONE_CHAR:p,DOTS_SLASH:h,NO_DOT:v,NO_DOTS:D,NO_DOTS_SLASH:d,STAR:g,START_ANCHOR:m}=n.globChars(a);const E=t.dot?D:v;const b=t.dot?d:v;const A=t.capture?"":"?:";const C={negated:false,prefix:""};let w=t.bash===true?".*?":g;if(t.capture){w=`(${w})`}const y=e=>{if(e.noglobstar===true)return w;return`(${A}(?:(?!${m}${e.dot?h:c}).)*?)`};const F=e=>{switch(e){case"*":return`${E}${p}${w}`;case".*":return`${c}${p}${w}`;case"*.*":return`${E}${w}${c}${p}${w}`;case"*/*":return`${E}${w}${l}${p}${b}${w}`;case"**":return E+y(t);case"**/*":return`(?:${E}${y(t)}${l})?${b}${p}${w}`;case"**/*.*":return`(?:${E}${y(t)}${l})?${b}${w}${c}${p}${w}`;case"**/.*":return`(?:${E}${y(t)}${l})?${c}${p}${w}`;default:{const t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;const n=F(t[1],r);if(!n)return;return n+c+t[2]}}};const S=i.removePrefix(e,C);let _=F(S);if(_&&t.strictSlashes!==true){_+=`${l}?`}return _});e.exports=p},function(e){var r=Array.prototype.slice;e.exports=co;function co(e){var t=isGeneratorFunction(e);return function(n){var i=this;var u=e;if(t){var o=r.call(arguments),s=o.length;var a=s&&"function"==typeof o[s-1];n=a?o.pop():error;u=e.apply(this,o)}else{n=n||error}next();function exit(e,r){setImmediate(function(){n.call(i,e,r)})}function next(e,t){var n;if(arguments.length>2)t=r.call(arguments,1);if(e){try{n=u.throw(e)}catch(e){return exit(e)}}if(!e){try{n=u.next(t)}catch(e){return exit(e)}}if(n.done)return exit(null,n.value);n.value=toThunk(n.value,i);if("function"==typeof n.value){var o=false;try{n.value.call(i,function(){if(o)return;o=true;next.apply(i,arguments)})}catch(e){setImmediate(function(){if(o)return;o=true;next(e)})}return}next(new TypeError("You may only yield a function, promise, generator, array, or object, "+'but the following was passed: "'+String(n.value)+'"'))}}}function toThunk(e,r){if(isGeneratorFunction(e)){return co(e.call(r))}if(isGenerator(e)){return co(e)}if(isPromise(e)){return promiseToThunk(e)}if("function"==typeof e){return e}if(isObject(e)||Array.isArray(e)){return objectToThunk.call(r,e)}return e}function objectToThunk(e){var r=this;var t=Array.isArray(e);return function(n){var i=Object.keys(e);var u=i.length;var o=t?new Array(u):new e.constructor;var s;if(!u){setImmediate(function(){n(null,o)});return}if(!t){for(var a=0;a|$))/i;var f=/<\/(script|pre|style)>/i;var c=/^/;var p=/^<\?/;var h=/\?>/;var v=/^/;var d=/^/;var m=/^$/;var E=new RegExp(n.source+"\\s*$");function blockHtml(e,r,t){var n=this;var b=n.options.blocks.join("|");var A=new RegExp("^|$))","i");var C=r.length;var w=0;var y;var F;var S;var _;var B;var O;var x;var k=[[a,f,true],[c,l,true],[p,h,true],[v,D,true],[d,g,true],[A,m,true],[E,m,false]];while(wu.has(n.extname(e).slice(1).toLowerCase()))},,function(e){e.exports={_args:[["remark@11.0.2","/home/derek/node-runtime/tools/node-lint-md-cli-rollup"]],_from:"remark@11.0.2",_id:"remark@11.0.2",_inBundle:false,_integrity:"sha512-bh+eJgn8wgmbHmIBOuwJFdTVRVpl3fcVP6HxmpPWO0ULGP9Qkh6INJh0N5Uy7GqlV7DQYGoqaKiEIpM5LLvJ8w==",_location:"/remark",_phantomChildren:{},_requested:{type:"version",registry:true,raw:"remark@11.0.2",name:"remark",escapedName:"remark",rawSpec:"11.0.2",saveSpec:null,fetchSpec:"11.0.2"},_requiredBy:["/"],_resolved:"https://registry.npmjs.org/remark/-/remark-11.0.2.tgz",_spec:"11.0.2",_where:"/home/derek/node-runtime/tools/node-lint-md-cli-rollup",author:{name:"Titus Wormer",email:"tituswormer@gmail.com",url:"https://wooorm.com"},bugs:{url:"https://github.com/remarkjs/remark/issues"},contributors:[{name:"Titus Wormer",email:"tituswormer@gmail.com",url:"https://wooorm.com"}],dependencies:{"remark-parse":"^7.0.0","remark-stringify":"^7.0.0",unified:"^8.2.0"},description:"Markdown processor powered by plugins",files:["index.js","types/index.d.ts"],funding:{type:"opencollective",url:"https://opencollective.com/unified"},homepage:"https://remark.js.org",keywords:["unified","remark","markdown","mdast","abstract","syntax","tree","ast","parse","stringify","process"],license:"MIT",name:"remark",repository:{type:"git",url:"https://github.com/remarkjs/remark/tree/master/packages/remark"},scripts:{test:"tape test.js"},types:"types/index.d.ts",version:"11.0.2",xo:false}},function(e,r,t){var n=t(278);function buildGraph(){var e={};var r=Object.keys(n);for(var t=r.length,i=0;i{let t=[];if(Array.isArray(e)){for(let n of e){let e=s.create(n,r);if(Array.isArray(e)){t.push(...e)}else{t.push(e)}}}else{t=[].concat(s.create(e,r))}if(r&&r.expand===true&&r.nodupes===true){t=[...new Set(t)]}return t};s.parse=((e,r={})=>o(e,r));s.stringify=((e,r={})=>{if(typeof e==="string"){return n(s.parse(e,r),r)}return n(e,r)});s.compile=((e,r={})=>{if(typeof e==="string"){e=s.parse(e,r)}return i(e,r)});s.expand=((e,r={})=>{if(typeof e==="string"){e=s.parse(e,r)}let t=u(e,r);if(r.noempty===true){t=t.filter(Boolean)}if(r.nodupes===true){t=[...new Set(t)]}return t});s.create=((e,r={})=>{if(e===""||e.length<3){return[e]}return r.expand!==true?s.compile(e,r):s.expand(e,r)});e.exports=s},function(e,r,t){"use strict";var n=t(983);var i=t(679);e.exports=factory;function factory(e){decoder.raw=decodeRaw;return decoder;function normalize(r){var t=e.offset;var n=r.line;var i=[];while(++n){if(!(n in t)){break}i.push((t[n]||0)+1)}return{start:r,indent:i}}function decoder(r,t,n){i(r,{position:normalize(t),warning:handleWarning,text:n,reference:n,textContext:e,referenceContext:e})}function decodeRaw(e,r,t){return i(e,n(t,{position:normalize(r),warning:handleWarning}))}function handleWarning(r,t,n){if(n!==3){e.file.message(r,t)}}}},function(e,r,t){"use strict";e.exports=t(906)},,function(e,r,t){"use strict";var n=t(541);var i=t(665);var u=t(372);var o=t(766);var s=t(189);e.exports=n("remark-lint:list-item-indent",listItemIndent);var a=o.start;var f={"tab-size":true,mixed:true,space:true};function listItemIndent(e,r,t){var n=String(r);t=typeof t==="string"?t:"tab-size";if(f[t]!==true){r.fail("Invalid list-item indent style `"+t+"`: use either `'tab-size'`, `'space'`, or `'mixed'`")}u(e,"list",visitor);function visitor(e){var u=e.spread||e.loose;if(!s(e)){e.children.forEach(visitItem)}function visitItem(e){var o=e.children[0];var s=a(o);var f;var c;var l;var p;var h;f=n.slice(a(e).offset,s.offset).replace(/\[[x ]?]\s*$/i,"");c=f.trimRight().length;l=t==="tab-size"||t==="mixed"&&u?Math.ceil(c/4)*4:c+1;if(f.length!==l){p=l-f.length;h="Incorrect list-item indent: "+(p>0?"add":"remove")+" "+Math.abs(p)+" "+i("space",p);r.message(h,s)}}}}},,,,function(e,r,t){"use strict";var n=t(751);var i=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9])"+"-([0-9][0-9])$");var u=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9]?)"+"-([0-9][0-9]?)"+"(?:[Tt]|[ \\t]+)"+"([0-9][0-9]?)"+":([0-9][0-9])"+":([0-9][0-9])"+"(?:\\.([0-9]*))?"+"(?:[ \\t]*(Z|([-+])([0-9][0-9]?)"+"(?::([0-9][0-9]))?))?$");function resolveYamlTimestamp(e){if(e===null)return false;if(i.exec(e)!==null)return true;if(u.exec(e)!==null)return true;return false}function constructYamlTimestamp(e){var r,t,n,o,s,a,f,c=0,l=null,p,h,v;r=i.exec(e);if(r===null)r=u.exec(e);if(r===null)throw new Error("Date resolve error");t=+r[1];n=+r[2]-1;o=+r[3];if(!r[4]){return new Date(Date.UTC(t,n,o))}s=+r[4];a=+r[5];f=+r[6];if(r[7]){c=r[7].slice(0,3);while(c.length<3){c+="0"}c=+c}if(r[9]){p=+r[10];h=+(r[11]||0);l=(p*60+h)*6e4;if(r[9]==="-")l=-l}v=new Date(Date.UTC(t,n,o,s,a,f,c));if(l)v.setTime(v.getTime()-l);return v}function representYamlTimestamp(e){return e.toISOString()}e.exports=new n("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:resolveYamlTimestamp,construct:constructYamlTimestamp,instanceOf:Date,represent:representYamlTimestamp})},,,,,,,function(e,r,t){"use strict";var n=t(541);var i=t(372);var u=t(766);var o=t(189);e.exports=n("remark-lint:fenced-code-marker",fencedCodeMarker);var s={"`":true,"~":true,null:true};function fencedCodeMarker(e,r,t){var n=String(r);t=typeof t==="string"&&t!=="consistent"?t:null;if(s[t]!==true){r.fail("Invalid fenced code marker `"+t+"`: use either `'consistent'`, `` '`' ``, or `'~'`")}i(e,"code",visitor);function visitor(e){var i;if(!o(e)){i=n.substr(u.start(e).offset,4).trimLeft().charAt(0);if(s[i]===true){if(t){if(i!==t){r.message("Fenced code should use "+t+" as a marker",e)}}else{t=i}}}}}},function(e,r,t){"use strict";e.exports=PassThrough;var n=t(685);t(744)(PassThrough,n);function PassThrough(e){if(!(this instanceof PassThrough))return new PassThrough(e);n.call(this,e)}PassThrough.prototype._transform=function(e,r,t){t(null,e)}},,,function(e,r,t){"use strict";var n=t(647).stderr.hasBasic;var i=t(527);var u=t(725);var o=t(164);var s=t(877);var a=t(25);e.exports=reporter;var f=process.platform==="win32";var c=f?{error:"×",warning:"‼"}:{error:"✖",warning:"⚠"};var l=/\s*$/;var p="";var h={open:"",close:""};var v={underline:{open:"",close:""},red:{open:"",close:""},yellow:{open:"",close:""},green:{open:"",close:""}};var D={underline:h,red:h,yellow:h,green:h};var d={true:"error",false:"warning",null:"info",undefined:"info"};function reporter(e,r){var t=r||{};var n;if(!e){return""}if("name"in e&&"message"in e){return String(e.stack||e)}if(!("length"in e)){n=true;e=[e]}return compile(parse(filter(e,t),t),n,t)}function filter(e,r){var t=[];var n=e.length;var i=-1;var u;if(!r.quiet&&!r.silent){return e.concat()}while(++i "+p.destination:""}if(!p.stats.total){h+=h?": ":"";if(p.stored){h+=g.yellow.open+"written"+g.yellow.close}else{h+="no issues found"}}if(h){f.push(h)}}else{m=g[p.label==="error"?"red":"yellow"];E=p.reason;b="";A=E.indexOf("\n");if(A!==-1){b=E.slice(A);E=E.slice(0,A)}f.push(["",padLeft(p.location,e.location),padRight(m.open+p.label+m.close,e.label),padRight(E,e.reason),padRight(p.ruleId,e.ruleId),p.source||""].join(" ").replace(l,"")+b)}}if(u.fatal||u.warn){h=[];if(u.fatal){h.push([g.red.open+c.error+g.red.close,u.fatal,plural(d.true,u.fatal)].join(" "))}if(u.warn){h.push([g.yellow.open+c.warning+g.yellow.close,u.warn,plural(d.false,u.warn)].join(" "))}h=h.join(", ");if(u.total!==u.fatal&&u.total!==u.warn){h=u.total+" messages ("+h+")"}f.push("",h)}return f.join("\n")}function applicable(e,r){var t=e.messages;var n=t.length;var i=-1;var u=[];if(r.silent){while(++i",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"}},function(e,r,t){"use strict";e.exports=visitParents;var n=t(539);var i=true;var u="skip";var o=false;visitParents.CONTINUE=i;visitParents.SKIP=u;visitParents.EXIT=o;function visitParents(e,r,t,i){if(typeof r==="function"&&typeof t!=="function"){i=t;t=r;r=null}one(e,null,[]);function one(e,i,s){var a;if(!r||n(r,e,i,s[s.length-1]||null)){a=t(e,s);if(a===o){return a}}if(e.children&&a!==u){return all(e.children,s.concat(e))===o?o:a}return a}function all(e,r){var t=-1;var n=i?-1:1;var u=(i?e.length:t)+n;var s;var a;while(u>t&&u{if(Object.prototype.toString.call(e)!=="[object Object]"){return false}const r=Object.getPrototypeOf(e);return r===null||r===Object.getPrototypeOf({})})},function(e,r,t){"use strict";var n=t(679);var i=t(540);var u=t(631);e.exports=url;url.locator=u;url.notInLink=true;var o='"';var s="'";var a="(";var f=")";var c=",";var l=".";var p=":";var h=";";var v="<";var D="@";var d="[";var g="]";var m="http://";var E="https://";var b="mailto:";var A=[m,E,b];var C=A.length;function url(e,r,t){var u=this;var m;var E;var w;var y;var F;var S;var _;var B;var O;var x;var k;var R;var T;if(!u.options.gfm){return}m="";y=-1;while(++y1){r.message(s,e)}}}},function(e,r,t){"use strict";var n=t(983);var i=t(58);var u=t(404);var o=t(378);e.exports=log;var s="vfile-reporter";function log(e,r,t){var a=r.reporter||u;var f;if(o(a)){try{a=i(a,{cwd:r.cwd,prefix:s})}catch(e){t(new Error("Could not find reporter `"+a+"`"));return}}f=a(e.files.filter(given),n(r.reporterOptions,{quiet:r.quiet,silent:r.silent,color:r.color}));if(f){if(f.charAt(f.length-1)!=="\n"){f+="\n"}r.streamError.write(f,t)}else{t()}}function given(e){return e.data.unifiedEngineGiven}},,,,,function(e){"use strict";e.exports=function isArrayish(e){if(!e){return false}return e instanceof Array||Array.isArray(e)||e.length>=0&&e.splice instanceof Function}},,,,,,,,,,,,,,,function(e){var r=Object.prototype.hasOwnProperty;var t=Object.prototype.toString;function isEmpty(e){if(e==null)return true;if("boolean"==typeof e)return false;if("number"==typeof e)return e===0;if("string"==typeof e)return e.length===0;if("function"==typeof e)return e.length===0;if(Array.isArray(e))return e.length===0;if(e instanceof Error)return e.message==="";if(e.toString==t){switch(e.toString()){case"[object File]":case"[object Map]":case"[object Set]":{return e.size===0}case"[object Object]":{for(var n in e){if(r.call(e,n))return false}return true}}}return false}e.exports=isEmpty},,,function(e){e.exports={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"}},,,,,,,function(e,r,t){"use strict";var n=t(694);var i=t(829);var u=t(540);var o=t(127);e.exports=emphasis;emphasis.locator=o;var s="*";var a="_";var f="\\";function emphasis(e,r,t){var o=this;var c=0;var l=r.charAt(c);var p;var h;var v;var D;var d;var g;var m;if(l!==s&&l!==a){return}h=o.options.pedantic;d=l;v=l;g=r.length;c++;D="";l="";if(h&&u(r.charAt(c))){return}while(c0?"Add":"Remove")+" "+Math.abs(n)+" "+i("space",n)+" between blockquote and content";r.message(u,o.start(e.children[0]))}}else{t=check(e)}}}function check(e){var r=e.children[0];var t=o.start(r).column-o.start(e).column;var n=a(r).match(/^ +/);if(n){t+=n[0].length}return t}},,,function(e,r,t){"use strict";var n=t(541);var i=t(372);var u=t(189);e.exports=n("remark-lint:no-shortcut-reference-image",noShortcutReferenceImage);var o="Use the trailing [] on reference images";function noShortcutReferenceImage(e,r){i(e,"imageReference",visitor);function visitor(e){if(!u(e)&&e.referenceType==="shortcut"){r.message(o,e)}}}},,,function(e){"use strict";var r={}.hasOwnProperty;e.exports=stringify;function stringify(e){if(!e||typeof e!=="object"){return""}if(r.call(e,"position")||r.call(e,"type")){return position(e.position)}if(r.call(e,"start")||r.call(e,"end")){return position(e)}if(r.call(e,"line")||r.call(e,"column")){return point(e)}return""}function point(e){if(!e||typeof e!=="object"){e={}}return index(e.line)+":"+index(e.column)}function position(e){if(!e||typeof e!=="object"){e={}}return point(e.start)+"-"+point(e.end)}function index(e){return e&&typeof e==="number"?e:1}},,,function(e,r,t){e.exports=globSync;globSync.GlobSync=GlobSync;var n=t(747);var i=t(972);var u=t(908);var o=u.Minimatch;var s=t(722).Glob;var a=t(669);var f=t(622);var c=t(357);var l=t(5);var p=t(564);var h=p.alphasort;var v=p.alphasorti;var D=p.setopts;var d=p.ownProp;var g=p.childrenIgnored;var m=p.isIgnored;function globSync(e,r){if(typeof r==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");return new GlobSync(e,r).found}function GlobSync(e,r){if(!e)throw new Error("must provide pattern");if(typeof r==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof GlobSync))return new GlobSync(e,r);D(this,e,r);if(this.noprocess)return this;var t=this.minimatch.set.length;this.matches=new Array(t);for(var n=0;nthis.maxLength)return false;if(!this.stat&&d(this.cache,r)){var i=this.cache[r];if(Array.isArray(i))i="DIR";if(!t||i==="DIR")return i;if(t&&i==="FILE")return false}var u;var o=this.statCache[r];if(!o){var s;try{s=n.lstatSync(r)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR")){this.statCache[r]=false;return false}}if(s&&s.isSymbolicLink()){try{o=n.statSync(r)}catch(e){o=s}}else{o=s}}this.statCache[r]=o;var i=true;if(o)i=o.isDirectory()?"DIR":"FILE";this.cache[r]=this.cache[r]||i;if(t&&i==="FILE")return false;return i};GlobSync.prototype._mark=function(e){return p.mark(this,e)};GlobSync.prototype._makeAbs=function(e){return p.makeAbs(this,e)}},,,,,function(e){"use strict";e.exports=lineBreak;var r="\\";var t="\n";var n=" ";var i=r+t;var u=n+n+t;function lineBreak(){return this.options.commonmark?i:u}},,,,,,function(e){"use strict";e.exports=toString;function toString(e){return valueOf(e)||e.children&&e.children.map(toString).join("")||""}function valueOf(e){return(e&&e.value?e.value:e.alt?e.alt:e.title)||""}},function(e,r,t){"use strict";var n=t(756);var i=t(164);e.exports=inlineCode;var u="`";var o=10;var s=32;var a=96;function inlineCode(e){var r=e.value;var t=i(u,n(r,u)+1);var o=t;var s=t;var f=r.charCodeAt(0);var c=r.charCodeAt(r.length-1);var l=false;var p;var h;if(f===a||c===a){l=true}else if(r.length>2&&ws(f)&&ws(c)){p=1;h=r.length-1;while(++p{if(typeof e==="number"){return Number.isInteger(e)}if(typeof e==="string"&&e.trim()!==""){return Number.isInteger(Number(e))}return false});r.find=((e,r)=>e.nodes.find(e=>e.type===r));r.exceedsLimit=((e,t,n=1,i)=>{if(i===false)return false;if(!r.isInteger(e)||!r.isInteger(t))return false;return(Number(t)-Number(e))/Number(n)>=i});r.escapeNode=((e,r=0,t)=>{let n=e.nodes[r];if(!n)return;if(t&&n.type===t||n.type==="open"||n.type==="close"){if(n.escaped!==true){n.value="\\"+n.value;n.escaped=true}}});r.encloseBrace=(e=>{if(e.type!=="brace")return false;if(e.commas>>0+e.ranges>>0===0){e.invalid=true;return true}return false});r.isInvalidBrace=(e=>{if(e.type!=="brace")return false;if(e.invalid===true||e.dollar)return true;if(e.commas>>0+e.ranges>>0===0){e.invalid=true;return true}if(e.open!==true||e.close!==true){e.invalid=true;return true}return false});r.isOpenOrClose=(e=>{if(e.type==="open"||e.type==="close"){return true}return e.open===true||e.close===true});r.reduce=(e=>e.reduce((e,r)=>{if(r.type==="text")e.push(r.value);if(r.type==="range")r.type="text";return e},[]));r.flatten=((...e)=>{const r=[];const t=e=>{for(let n=0;n{e=e.replace(u()," ");if(typeof e!=="string"||e.length===0){return 0}e=n(e);let r=0;for(let t=0;t=127&&n<=159){continue}if(n>=768&&n<=879){continue}if(n>65535){t++}r+=i(n)?2:1}return r};e.exports=o;e.exports.default=o},function(e,r,t){"use strict";var n;function once(e){var r=false;return function(){if(r)return;r=true;e.apply(void 0,arguments)}}var i=t(77).codes,u=i.ERR_MISSING_ARGS,o=i.ERR_STREAM_DESTROYED;function noop(e){if(e)throw e}function isRequest(e){return e.setHeader&&typeof e.abort==="function"}function destroyer(e,r,i,u){u=once(u);var s=false;e.on("close",function(){s=true});if(n===undefined)n=t(89);n(e,{readable:r,writable:i},function(e){if(e)return u(e);s=true;u()});var a=false;return function(r){if(s)return;if(a)return;a=true;if(isRequest(e))return e.abort();if(typeof e.destroy==="function")return e.destroy();u(r||new o("pipe"))}}function call(e){e()}function pipe(e,r){return e.pipe(r)}function popCallback(e){if(!e.length)return noop;if(typeof e[e.length-1]!=="function")return noop;return e.pop()}function pipeline(){for(var e=arguments.length,r=new Array(e),t=0;t0;return destroyer(e,u,s,function(e){if(!i)i=e;if(e)o.forEach(call);if(u)return;o.forEach(call);n(i)})});return r.reduce(pipe)}e.exports=pipeline},,,function(e){function makeArray(e){return Array.isArray(e)?e:[e]}const r=/^\s+$/;const t=/^\\!/;const n=/^\\#/;const i=/\r?\n/g;const u=/^\.*\/|^\.+$/;const o="/";const s=typeof Symbol!=="undefined"?Symbol.for("node-ignore"):"node-ignore";const a=(e,r,t)=>Object.defineProperty(e,r,{value:t});const f=/([0-z])-([0-z])/g;const c=e=>e.replace(f,(e,r,t)=>r.charCodeAt(0)<=t.charCodeAt(0)?e:"");const l=[[/\\?\s+$/,e=>e.indexOf("\\")===0?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,e=>`\\${e}`],[/\[([^\]/]*)($|\])/g,(e,r,t)=>t==="]"?`[${c(r)}]`:`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`],[/^(?=[^^])/,function startingReplacer(){return!/\/(?!$)/.test(this)?"(?:^|\\/)":"^"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,r,t)=>r+6`${r}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(e,r)=>{const t=r?`${r}[^/]+`:"[^/]*";return`${t}(?=$|\\/$)`}],[/\\\\\\/g,()=>"\\"]];const p=Object.create(null);const h=(e,r,t)=>{const n=p[e];if(n){return n}const i=l.reduce((r,t)=>r.replace(t[0],t[1].bind(e)),e);return p[e]=t?new RegExp(i,"i"):new RegExp(i)};const v=e=>typeof e==="string";const D=e=>e&&v(e)&&!r.test(e)&&e.indexOf("#")!==0;const d=e=>e.split(i);class IgnoreRule{constructor(e,r,t,n){this.origin=e;this.pattern=r;this.negative=t;this.regex=n}}const g=(e,r)=>{const i=e;let u=false;if(e.indexOf("!")===0){u=true;e=e.substr(1)}e=e.replace(t,"!").replace(n,"#");const o=h(e,u,r);return new IgnoreRule(i,e,u,o)};const m=(e,r)=>{throw new r(e)};const E=(e,r,t)=>{if(!v(e)){return t(`path must be a string, but got \`${r}\``,TypeError)}if(!e){return t(`path must not be empty`,TypeError)}if(E.isNotRelative(e)){const e="`path.relative()`d";return t(`path should be a ${e} string, but got "${r}"`,RangeError)}return true};const b=e=>u.test(e);E.isNotRelative=b;E.convert=(e=>e);class Ignore{constructor({ignorecase:e=true}={}){this._rules=[];this._ignorecase=e;a(this,s,true);this._initCache()}_initCache(){this._ignoreCache=Object.create(null);this._testCache=Object.create(null)}_addPattern(e){if(e&&e[s]){this._rules=this._rules.concat(e._rules);this._added=true;return}if(D(e)){const r=g(e,this._ignorecase);this._added=true;this._rules.push(r)}}add(e){this._added=false;makeArray(v(e)?d(e):e).forEach(this._addPattern,this);if(this._added){this._initCache()}return this}addPattern(e){return this.add(e)}_testOne(e,r){let t=false;let n=false;this._rules.forEach(i=>{const{negative:u}=i;if(n===u&&t!==n||u&&!t&&!n&&!r){return}const o=i.regex.test(e);if(o){t=!u;n=u}});return{ignored:t,unignored:n}}_test(e,r,t,n){const i=e&&E.convert(e);E(i,e,m);return this._t(i,r,t,n)}_t(e,r,t,n){if(e in r){return r[e]}if(!n){n=e.split(o)}n.pop();if(!n.length){return r[e]=this._testOne(e,t)}const i=this._t(n.join(o)+o,r,t,n);return r[e]=i.ignored?i:this._testOne(e,t)}ignores(e){return this._test(e,this._ignoreCache,false).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return makeArray(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,true)}}const A=e=>new Ignore(e);const C=()=>false;const w=e=>E(e&&E.convert(e),e,C);A.isPathValid=w;A.default=A;e.exports=A;if(typeof process!=="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){const e=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,"/");E.convert=e;const r=/^[a-z]:\//i;E.isNotRelative=(e=>r.test(e)||b(e))}},,function(e){"use strict";e.exports=strikethrough;var r="~";var t=r+r;function strikethrough(e){return t+this.all(e).join("")+t}},,,function(e){"use strict";e.exports=fencedCode;var r="\n";var t="\t";var n=" ";var i="~";var u="`";var o=3;var s=4;function fencedCode(e,a,f){var c=this;var l=c.options.gfm;var p=a.length+1;var h=0;var v="";var D;var d;var g;var m;var E;var b;var A;var C;var w;var y;var F;var S;var _;if(!l){return}while(h=s){continue}A="";while(h2){throw new Error("Invalid severity `"+i+"` for `"+e+"`, "+"expected 0, 1, or 2")}n[0]=i;return n}},,function(e,r,t){"use strict";var n=t(717);var i=t(268);var u=t(540);var o=t(831);var s=t(232);e.exports=factory;var a="\t";var f="\n";var c=" ";var l="#";var p="&";var h="(";var v=")";var D="*";var d="+";var g="-";var m=".";var E=":";var b="<";var A=">";var C="[";var w="\\";var y="]";var F="_";var S="`";var _="|";var B="~";var O="!";var x={"<":"<",":":":","&":"&","|":"|","~":"~"};var k="shortcut";var R="mailto";var T="https";var I="http";var L=/\n\s*$/;function factory(e){return escape;function escape(r,t,R){var T=this;var I=e.gfm;var M=e.commonmark;var j=e.pedantic;var P=M?[m,v]:[m];var N=R&&R.children;var $=N&&N.indexOf(t);var H=N&&N[$-1];var U=N&&N[$+1];var W=r.length;var G=o(e);var q=-1;var Y=[];var z=Y;var V;var J;var Z;var Q;var X;var K;if(H){V=text(H)&&L.test(H.value)}else{V=!R||R.type==="root"||R.type==="paragraph"}while(++q0||J===y&&T.inLink||I&&J===B&&r.charAt(q+1)===B||I&&J===_&&(T.inTable||alignment(r,q))||J===F&&q>0&&q{let n=[];e=[].concat(e);r=[].concat(r);if(!r.length)return e;if(!e.length){return t?u.flatten(r).map(e=>`{${e}}`):r}for(let i of e){if(Array.isArray(i)){for(let e of i){n.push(o(e,r,t))}}else{for(let e of r){if(t===true&&typeof e==="string")e=`{${e}}`;n.push(Array.isArray(e)?o(i,e,t):i+e)}}}return u.flatten(n)};const s=(e,r={})=>{let t=r.rangeLimit===void 0?1e3:r.rangeLimit;let s=(e,a={})=>{e.queue=[];let f=a;let c=a.queue;while(f.type!=="brace"&&f.type!=="root"&&f.parent){f=f.parent;c=f.queue}if(e.invalid||e.dollar){c.push(o(c.pop(),i(e,r)));return}if(e.type==="brace"&&e.invalid!==true&&e.nodes.length===2){c.push(o(c.pop(),["{}"]));return}if(e.nodes&&e.ranges>0){let s=u.reduce(e.nodes);if(u.exceedsLimit(...s,r.step,t)){throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.")}let a=n(...s,r);if(a.length===0){a=i(e,r)}c.push(o(c.pop(),a));e.nodes=[];return}let l=u.encloseBrace(e);let p=e.queue;let h=e;while(h.type!=="brace"&&h.type!=="root"&&h.parent){h=h.parent;p=h.queue}for(let r=0;r=97&&r<=122||r>=65&&r<=90}},function(e,r,t){"use strict";var n=t(541);var i=t(766);var u=t(189);var o=t(317);var s=t(372);e.exports=n("remark-lint:no-duplicate-definitions",noDuplicateDefinitions);var a="Do not use definitions with the same identifier";function noDuplicateDefinitions(e,r){var t={};s(e,["definition","footnoteDefinition"],validate);function validate(e){var n;var s;if(!u(e)){n=e.identifier;s=t[n];if(s&&s.type){r.message(a+" ("+o(i.start(s))+")",e)}t[n]=e}}}},,function(e){"use strict";e.exports=hidden;function hidden(e){if(typeof e!=="string"){throw new Error("Expected string")}return e.charAt(0)==="."}},function(e,r,t){"use strict";var n=t(122);var i=t(425);e.exports=link;var u=" ";var o="[";var s="]";var a="(";var f=")";var c=/^[a-z][a-z+.-]+:\/?/i;function link(e){var r=this;var t=r.encode(e.url||"",e);var l=r.enterLink();var p=r.encode(r.escape(e.url||"",e));var h=r.all(e).join("");l();if(e.title==null&&c.test(t)&&p===h){return n(r.encode(e.url),true)}t=n(t);if(e.title){t+=u+i(r.encode(r.escape(e.title,e),e))}return o+h+s+a+t+f}},,,,function(e,r,t){"use strict";var n=t(541);var i=t(372);var u=t(766);var o=t(189);e.exports=n("remark-lint:fenced-code-flag",fencedCodeFlag);var s=u.start;var a=u.end;var f=/^ {0,3}([~`])\1{2,}/;var c="Invalid code-language flag";var l="Missing code-language flag";function fencedCodeFlag(e,r,t){var n=String(r);var u=false;var p=[];if(typeof t==="object"&&!("length"in t)){u=Boolean(t.allowEmpty);t=t.flags}if(typeof t==="object"&&"length"in t){p=String(t).split(",")}i(e,"code",visitor);function visitor(e){var t;if(!o(e)){if(e.lang){if(p.length!==0&&p.indexOf(e.lang)===-1){r.message(c,e)}}else{t=n.slice(s(e).offset,a(e).offset);if(!u&&f.test(t)){r.message(l,e)}}}}}},,function(e,r,t){r.alphasort=alphasort;r.alphasorti=alphasorti;r.setopts=setopts;r.ownProp=ownProp;r.makeAbs=makeAbs;r.finish=finish;r.mark=mark;r.isIgnored=isIgnored;r.childrenIgnored=childrenIgnored;function ownProp(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var n=t(622);var i=t(908);var u=t(5);var o=i.Minimatch;function alphasorti(e,r){return e.toLowerCase().localeCompare(r.toLowerCase())}function alphasort(e,r){return e.localeCompare(r)}function setupIgnores(e,r){e.ignore=r.ignore||[];if(!Array.isArray(e.ignore))e.ignore=[e.ignore];if(e.ignore.length){e.ignore=e.ignore.map(ignoreMap)}}function ignoreMap(e){var r=null;if(e.slice(-3)==="/**"){var t=e.replace(/(\/\*\*)+$/,"");r=new o(t,{dot:true})}return{matcher:new o(e,{dot:true}),gmatcher:r}}function setopts(e,r,t){if(!t)t={};if(t.matchBase&&-1===r.indexOf("/")){if(t.noglobstar){throw new Error("base matching requires globstar")}r="**/"+r}e.silent=!!t.silent;e.pattern=r;e.strict=t.strict!==false;e.realpath=!!t.realpath;e.realpathCache=t.realpathCache||Object.create(null);e.follow=!!t.follow;e.dot=!!t.dot;e.mark=!!t.mark;e.nodir=!!t.nodir;if(e.nodir)e.mark=true;e.sync=!!t.sync;e.nounique=!!t.nounique;e.nonull=!!t.nonull;e.nosort=!!t.nosort;e.nocase=!!t.nocase;e.stat=!!t.stat;e.noprocess=!!t.noprocess;e.absolute=!!t.absolute;e.maxLength=t.maxLength||Infinity;e.cache=t.cache||Object.create(null);e.statCache=t.statCache||Object.create(null);e.symlinks=t.symlinks||Object.create(null);setupIgnores(e,t);e.changedCwd=false;var i=process.cwd();if(!ownProp(t,"cwd"))e.cwd=i;else{e.cwd=n.resolve(t.cwd);e.changedCwd=e.cwd!==i}e.root=t.root||n.resolve(e.cwd,"/");e.root=n.resolve(e.root);if(process.platform==="win32")e.root=e.root.replace(/\\/g,"/");e.cwdAbs=u(e.cwd)?e.cwd:makeAbs(e,e.cwd);if(process.platform==="win32")e.cwdAbs=e.cwdAbs.replace(/\\/g,"/");e.nomount=!!t.nomount;t.nonegate=true;t.nocomment=true;e.minimatch=new o(r,t);e.options=e.minimatch.options}function finish(e){var r=e.nounique;var t=r?[]:Object.create(null);for(var n=0,i=e.matches.length;nM){if(R1){if(F){b+=y.slice(0,y.length-1);y=y.charAt(y.length-1)}else{b+=y;y=""}}x=e.now();e(b)({type:"tableCell",children:d.tokenizeInline(B,x)},A)}e(y+F);y="";B=""}}else{if(y){B+=y;y=""}B+=F;if(F===f&&g!==C-2){B+=T.charAt(g+1);g++}}O=false;g++}if(!k){e(u+m)}}return L}},,function(e,r,t){"use strict";var n=t(119);e.exports=escape;escape.locator=n;var i="\n";var u="\\";function escape(e,r,t){var n=this;var o;var s;if(r.charAt(0)===u){o=r.charAt(1);if(n.escape.indexOf(o)!==-1){if(t){return true}if(o===i){s={type:"break"}}else{s={type:"text",value:o}}return e(u+o)(s)}}}},,,,,function(e,r,t){"use strict";var n=t(747);var i=t(622);var u=t(105);var o=t(7)("unified-engine:find-up");var s=t(838);e.exports=FindUp;var a=n.readFile;var f=i.resolve;var c=i.relative;var l=i.join;var p=i.dirname;FindUp.prototype.load=load;function FindUp(e){var r=this;var t=e.filePath;r.cache={};r.cwd=e.cwd;r.detect=e.detect;r.names=e.names;r.create=e.create;if(t){r.givenFilePath=f(e.cwd,t)}}function load(e,r){var t=this;var n=t.cache;var i=t.givenFilePath;var h=t.givenFile;var v=t.names;var D=t.create;var d=t.cwd;var g;if(i){if(h){apply(r,h)}else{h=[r];t.givenFile=h;o("Checking given file `%s`",i);a(i,loadGiven)}return}if(!t.detect){return r()}e=f(d,e);g=p(e);if(g in n){apply(r,n[g])}else{n[g]=[r];find(g)}function loadGiven(e,r){var n=t.givenFile;var s;if(e){s=u("Cannot read given file `%s`\n%s",c(d,i),e.stack);s.code="ENOENT";s.path=e.path;s.syscall=e.syscall}else{try{s=D(r,i);o("Read given file `%s`",i)}catch(e){s=u("Cannot parse given file `%s`\n%s",c(d,i),e.stack);o(e.message)}}h=s;t.givenFile=s;applyAll(n,s)}function find(r){var t=-1;var i=v.length;next();function next(){var u;if(++t1){r=Array.prototype.slice.call(arguments)}return e(r)};if("conversion"in e){r.conversion=e.conversion}return r}function wrapRounded(e){var r=function(r){if(r===undefined||r===null){return r}if(arguments.length>1){r=Array.prototype.slice.call(arguments)}var t=e(r);if(typeof t==="object"){for(var n=t.length,i=0;i{if(typeof e!=="string"){throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof e}\``)}if(typeof r!=="string"){throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof r}\``)}try{e=u.realpathSync(e)}catch(r){if(r.code==="ENOENT"){e=n.resolve(e)}else if(t){return}else{throw r}}const o=n.join(e,"noop.js");const s=()=>i._resolveFilename(r,{id:o,filename:o,paths:i._nodeModulePaths(e)});if(t){try{return s()}catch(e){return}}return s()};e.exports=((e,r)=>o(e,r));e.exports.silent=((e,r)=>o(e,r,true))},,,,,,,,,function(e,r,t){"use strict";var n=t(541);e.exports=n("remark-lint:no-file-name-outer-dashes",noFileNameOuterDashes);var i="Do not use initial or final dashes in a file name";function noFileNameOuterDashes(e,r){if(r.stem&&/^-|-$/.test(r.stem)){r.message(i)}}},,function(e,r,t){"use strict";var n=t(227);var i=t(541);var u=t(189);var o=t(372);e.exports=i("remark-lint:no-undefined-references",noUndefinedReferences);var s="Found reference to undefined definition";function normalize(e){return n(e.toUpperCase())}function noUndefinedReferences(e,r,t){var n=t!=null&&Array.isArray(t.allow)?t.allow.map(normalize):[];var i={};o(e,["definition","footnoteDefinition"],mark);o(e,["imageReference","linkReference","footnoteReference"],find);function mark(e){if(!u(e)){i[normalize(e.identifier)]=true}}function find(e){if(!(u(e)||n.includes(normalize(e.identifier))||normalize(e.identifier)in i)){r.message(s,e)}}}},,function(e){"use strict";e.exports=(({onlyFirst:e=false}={})=>{const r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,e?undefined:"g")})},,,function(e,r,t){var n=t(201);var i={"{":"}","(":")","[":"]"};var u=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/;var o=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;e.exports=function isGlob(e,r){if(typeof e!=="string"||e===""){return false}if(n(e)){return true}var t=u;var s;if(r&&r.strict===false){t=o}while(s=t.exec(e)){if(s[2])return true;var a=s.index+s[0].length;var f=s[1];var c=f?i[f]:null;if(f&&c){var l=e.indexOf(c,a);if(l!==-1){a=l+1}}e=e.slice(a)}return false}},function(e){"use strict";const r=e=>{let r=false;let t=false;let n=false;for(let i=0;i{if(!(typeof e==="string"||Array.isArray(e))){throw new TypeError("Expected the input to be `string | string[]`")}t=Object.assign({pascalCase:false},t);const n=e=>t.pascalCase?e.charAt(0).toUpperCase()+e.slice(1):e;if(Array.isArray(e)){e=e.map(e=>e.trim()).filter(e=>e.length).join("-")}else{e=e.trim()}if(e.length===0){return""}if(e.length===1){return t.pascalCase?e.toUpperCase():e.toLowerCase()}const i=e!==e.toLowerCase();if(i){e=r(e)}e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(e,r)=>r.toUpperCase()).replace(/\d+(\w|$)/g,e=>e.toUpperCase());return n(e)};e.exports=t;e.exports.default=t},,function(e,r,t){"use strict";var n=t(11);var i=t(751);var u=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?"+"|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?"+"|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*"+"|[-+]?\\.(?:inf|Inf|INF)"+"|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(e){if(e===null)return false;if(!u.test(e)||e[e.length-1]==="_"){return false}return true}function constructYamlFloat(e){var r,t,n,i;r=e.replace(/_/g,"").toLowerCase();t=r[0]==="-"?-1:1;i=[];if("+-".indexOf(r[0])>=0){r=r.slice(1)}if(r===".inf"){return t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(r===".nan"){return NaN}else if(r.indexOf(":")>=0){r.split(":").forEach(function(e){i.unshift(parseFloat(e,10))});r=0;n=1;i.forEach(function(e){r+=e*n;n*=60});return t*r}return t*parseFloat(r,10)}var o=/^[-+]?[0-9]+e/;function representYamlFloat(e,r){var t;if(isNaN(e)){switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===e){switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===e){switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(n.isNegativeZero(e)){return"-0.0"}t=e.toString(10);return o.test(t)?t.replace("e",".e"):t}function isFloat(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||n.isNegativeZero(e))}e.exports=new i("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},,function(e){"use strict";e.exports=markdownTable;var r=/\./;var t=/\.[^.]*$/;var n=" ";var i="\n";var u="-";var o=".";var s=":";var a="c";var f="l";var c="r";var l="|";var p=3;function markdownTable(e,t){var h=t||{};var v=h.delimiter;var D=h.start;var d=h.end;var g=h.align;var m=h.stringLength||lengthNoop;var E=0;var b=-1;var A=e.length;var C=[];var w;var y;var F;var S;var _;var B;var O;var x;var k;var R;var T;var I;g=g?g.concat():[];if(v===null||v===undefined){v=n+l+n}if(D===null||D===undefined){D=l+n}if(d===null||d===undefined){d=n+l}while(++bE){E=S.length}while(++BC[B]){C[B]=O}}}if(typeof g==="string"){g=pad(E,g).split("")}B=-1;while(++BC[B]){C[B]=x}}}b=-1;while(++bp?R:p}else{R=C[B]}w=g[B];k=w===c||w===""?u:s;k+=pad(R-2,u);k+=w!==f&&w!==""?s:u;y[B]=k}F.splice(1,0,y.join(v))}return D+F.join(d+i+D)+d}function stringify(e){return e===null||e===undefined?"":String(e)}function lengthNoop(e){return String(e).length}function pad(e,r){return new Array(e+1).join(r||n)}function dotindex(e){var r=t.exec(e);return r?r.index+1:e.length}},function(e){"use strict";e.exports=locate;function locate(e,r){var t=e.indexOf("**",r);var n=e.indexOf("__",r);if(n===-1){return t}if(t===-1){return n}return n/i;function inlineHTML(e,r,t){var i=this;var p=r.length;var h;var v;if(r.charAt(0)!==o||p<3){return}h=r.charAt(1);if(!n(h)&&h!==s&&h!==a&&h!==f){return}v=r.match(u);if(!v){return}if(t){return true}v=v[0];if(!i.inLink&&c.test(v)){i.inLink=true}else if(i.inLink&&l.test(v)){i.inLink=false}return e(v)({type:"html",value:v})}},,,,function(e){"use strict";e.exports=one;function one(e,r){var t=this;var n=t.visitors;if(typeof n[e.type]!=="function"){t.file.fail(new Error("Missing compiler for node of type `"+e.type+"`: `"+e+"`"),e)}return n[e.type].call(t,e,r)}},,function(e){e.exports=require("path")},function(e){e.exports=function(e,r){if(!r)r={};var t={bools:{},strings:{},unknownFn:null};if(typeof r["unknown"]==="function"){t.unknownFn=r["unknown"]}if(typeof r["boolean"]==="boolean"&&r["boolean"]){t.allBools=true}else{[].concat(r["boolean"]).filter(Boolean).forEach(function(e){t.bools[e]=true})}var n={};Object.keys(r.alias||{}).forEach(function(e){n[e]=[].concat(r.alias[e]);n[e].forEach(function(r){n[r]=[e].concat(n[e].filter(function(e){return r!==e}))})});[].concat(r.string).filter(Boolean).forEach(function(e){t.strings[e]=true;if(n[e]){t.strings[n[e]]=true}});var i=r["default"]||{};var u={_:[]};Object.keys(t.bools).forEach(function(e){setArg(e,i[e]===undefined?false:i[e])});var o=[];if(e.indexOf("--")!==-1){o=e.slice(e.indexOf("--")+1);e=e.slice(0,e.indexOf("--"))}function argDefined(e,r){return t.allBools&&/^--[^=]+$/.test(r)||t.strings[e]||t.bools[e]||n[e]}function setArg(e,r,i){if(i&&t.unknownFn&&!argDefined(e,i)){if(t.unknownFn(i)===false)return}var o=!t.strings[e]&&isNumber(r)?Number(r):r;setKey(u,e.split("."),o);(n[e]||[]).forEach(function(e){setKey(u,e.split("."),o)})}function setKey(e,r,n){var i=e;r.slice(0,-1).forEach(function(e){if(i[e]===undefined)i[e]={};i=i[e]});var u=r[r.length-1];if(i[u]===undefined||t.bools[u]||typeof i[u]==="boolean"){i[u]=n}else if(Array.isArray(i[u])){i[u].push(n)}else{i[u]=[i[u],n]}}function aliasIsBoolean(e){return n[e].some(function(e){return t.bools[e]})}for(var s=0;s",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacut:"Í",Iacute:"Í",Icir:"Î",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrav:"Ì",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Ium:"Ï",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",L:"<",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntild:"Ñ",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacut:"Ó",Oacute:"Ó",Ocir:"Ô",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograv:"Ò",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslas:"Ø",Oslash:"Ø",Otild:"Õ",Otilde:"Õ",Otimes:"⨷",Oum:"Ö",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUO:'"',QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",RE:"®",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THOR:"Þ",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacut:"Ú",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucir:"Û",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrav:"Ù",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uum:"Ü",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacut:"Ý",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacut:"á",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acir:"â",acirc:"â",acut:"´",acute:"´",acy:"а",aeli:"æ",aelig:"æ",af:"⁡",afr:"𝔞",agrav:"à",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",am:"&",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",arin:"å",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atild:"ã",atilde:"ã",aum:"ä",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvba:"¦",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedi:"ç",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedi:"¸",cedil:"¸",cemptyv:"⦲",cen:"¢",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",cop:"©",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curre:"¤",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",de:"°",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divid:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacut:"é",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"ê",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrav:"è",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",et:"ð",eth:"ð",eum:"ë",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac1:"¼",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac3:"¾",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",g:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacut:"í",iacute:"í",ic:"⁣",icir:"î",icirc:"î",icy:"и",iecy:"е",iexc:"¡",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrav:"ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iques:"¿",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",ium:"ï",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laqu:"«",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",l:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",mac:"¯",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micr:"µ",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middo:"·",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbs:" ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",no:"¬",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntild:"ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacut:"ó",oacute:"ó",oast:"⊛",ocir:"ô",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograv:"ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"º",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslas:"ø",oslash:"ø",osol:"⊘",otild:"õ",otilde:"õ",otimes:"⊗",otimesas:"⨶",oum:"ö",ouml:"ö",ovbar:"⌽",par:"¶",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusm:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",poun:"£",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quo:'"',quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raqu:"»",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",re:"®",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sec:"§",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",sh:"­",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szli:"ß",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thor:"þ",thorn:"þ",tilde:"˜",time:"×",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacut:"ú",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucir:"û",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrav:"ù",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",um:"¨",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uum:"ü",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacut:"ý",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",ye:"¥",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yum:"ÿ",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},function(e){"use strict";e.exports=blockquote;var r="\n";var t=" ";var n=">";function blockquote(e){var i=this.block(e).split(r);var u=[];var o=i.length;var s=-1;var a;while(++s=2,has16m:e>=3}}function supportsColor(e){if(o===0){return 0}if(i("color=16m")||i("color=full")||i("color=truecolor")){return 3}if(i("color=256")){return 2}if(e&&!e.isTTY&&o===undefined){return 0}const r=o||0;if(u.TERM==="dumb"){return r}if(process.platform==="win32"){const e=n.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586){return Number(e[2])>=14931?3:2}return 1}if("CI"in u){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in u)||u.CI_NAME==="codeship"){return 1}return r}if("TEAMCITY_VERSION"in u){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(u.TEAMCITY_VERSION)?1:0}if(u.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in u){const e=parseInt((u.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(u.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(u.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(u.TERM)){return 1}if("COLORTERM"in u){return 1}return r}function getSupportLevel(e){const r=supportsColor(e);return translateLevel(r)}e.exports={supportsColor:getSupportLevel,stdout:getSupportLevel(process.stdout),stderr:getSupportLevel(process.stderr)}},function(e){"use strict";e.exports=factory;function factory(e,r,t){return enter;function enter(){var n=t||this;var i=n[e];n[e]=!r;return exit;function exit(){n[e]=i}}}},function(e,r,t){"use strict";var n=t(540);var i=t(479);e.exports=strikethrough;strikethrough.locator=i;var u="~";var o="~~";function strikethrough(e,r,t){var i=this;var s="";var a="";var f="";var c="";var l;var p;var h;if(!i.options.gfm||r.charAt(0)!==u||r.charAt(1)!==u||n(r.charAt(2))){return}l=1;p=r.length;h=e.now();h.column+=2;h.offset+=2;while(++lr){if(e.charAt(t-1)!==" "){break}t--}return t}},,function(e,r,t){"use strict";var n=t(983);var i=t(840);var u=t(640);var o=t(543);var s=t(279);e.exports=setOptions;var a={entities:{true:true,false:true,numbers:true,escape:true},bullet:{"*":true,"-":true,"+":true},rule:{"-":true,_:true,"*":true},listItemIndent:{tab:true,mixed:true,1:true},emphasis:{_:true,"*":true},strong:{_:true,"*":true},fence:{"`":true,"~":true}};var f={boolean:validateBoolean,string:validateString,number:validateNumber,function:validateFunction};function setOptions(e){var r=this;var t=r.options;var i;var s;if(e==null){e={}}else if(typeof e==="object"){e=n(e)}else{throw new Error("Invalid value `"+e+"` for setting `options`")}for(s in u){f[typeof u[s]](e,s,t[s],a[s])}i=e.ruleRepetition;if(i&&i<3){raise(i,"options.ruleRepetition")}r.encode=encodeFactory(String(e.entities));r.escape=o(e);r.options=e;return r}function validateBoolean(e,r,t){var n=e[r];if(n==null){n=t}if(typeof n!=="boolean"){raise(n,"options."+r)}e[r]=n}function validateNumber(e,r,t){var n=e[r];if(n==null){n=t}if(isNaN(n)){raise(n,"options."+r)}e[r]=n}function validateString(e,r,t,n){var i=e[r];if(i==null){i=t}i=String(i);if(!(i in n)){raise(i,"options."+r)}e[r]=i}function validateFunction(e,r,t){var n=e[r];if(n==null){n=t}if(typeof n!=="function"){raise(n,"options."+r)}e[r]=n}function encodeFactory(e){var r={};if(e==="false"){return s}if(e==="true"){r.useNamedReferences=true}if(e==="escape"){r.escapeOnly=true;r.useNamedReferences=true}return wrapped;function wrapped(e){return i(e,r)}}function raise(e,r){throw new Error("Invalid value `"+e+"` for setting `"+r+"`")}},function(e){"use strict";e.exports=thematicBreak;var r="\t";var t="\n";var n=" ";var i="*";var u="-";var o="_";var s=3;function thematicBreak(e,a,f){var c=-1;var l=a.length+1;var p="";var h;var v;var D;var d;while(++c=s&&(!h||h===t)){p+=d;if(f){return true}return e(p)({type:"thematicBreak"})}else{return}}}},,function(e,r,t){"use strict";const n=t(793);e.exports=((e,r,t)=>{if(typeof r==="number"){t=r}if(n.has(e.toLowerCase())){r=n.get(e.toLowerCase());const t=e.charAt(0);const i=t===t.toUpperCase();if(i){r=t.toUpperCase()+r.slice(1)}const u=e===e.toUpperCase();if(u){r=r.toUpperCase()}}else if(typeof r!=="string"){r=(e.replace(/(?:s|x|z|ch|sh)$/i,"$&e").replace(/([^aeiou])y$/i,"$1ie")+"s").replace(/i?e?s$/i,r=>{const t=e.slice(-1)===e.slice(-1).toLowerCase();return t?r.toLowerCase():r.toUpperCase()})}return Math.abs(t)===1?e:r})},,,,function(e){e.exports=require("util")},,,,,function(e,r,t){const n=t(126);e.exports=function stringify(e,r,t){const i=[];let u="";let o;let s;let a="";let f;if(r!=null&&typeof r==="object"&&!Array.isArray(r)){t=r.space;f=r.quote;r=r.replacer}if(typeof r==="function"){s=r}else if(Array.isArray(r)){o=[];for(const e of r){let r;if(typeof e==="string"){r=e}else if(typeof e==="number"||e instanceof String||e instanceof Number){r=String(e)}if(r!==undefined&&o.indexOf(r)<0){o.push(r)}}}if(t instanceof Number){t=Number(t)}else if(t instanceof String){t=String(t)}if(typeof t==="number"){if(t>0){t=Math.min(10,Math.floor(t));a=" ".substr(0,t)}}else if(typeof t==="string"){a=t.substr(0,10)}return serializeProperty("",{"":e});function serializeProperty(e,r){let t=r[e];if(t!=null){if(typeof t.toJSON5==="function"){t=t.toJSON5(e)}else if(typeof t.toJSON==="function"){t=t.toJSON(e)}}if(s){t=s.call(r,e,t)}if(t instanceof Number){t=Number(t)}else if(t instanceof String){t=String(t)}else if(t instanceof Boolean){t=t.valueOf()}switch(t){case null:return"null";case true:return"true";case false:return"false"}if(typeof t==="string"){return quoteString(t,false)}if(typeof t==="number"){return String(t)}if(typeof t==="object"){return Array.isArray(t)?serializeArray(t):serializeObject(t)}return undefined}function quoteString(e){const r={"'":.1,'"':.2};const t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let i="";for(let u=0;ur[e]=0){throw TypeError("Converting circular structure to JSON5")}i.push(e);let r=u;u=u+a;let t=o||Object.keys(e);let n=[];for(const r of t){const t=serializeProperty(r,e);if(t!==undefined){let e=serializeKey(r)+":";if(a!==""){e+=" "}e+=t;n.push(e)}}let s;if(n.length===0){s="{}"}else{let e;if(a===""){e=n.join(",");s="{"+e+"}"}else{let t=",\n"+u;e=n.join(t);s="{\n"+u+e+",\n"+r+"}"}}i.pop();u=r;return s}function serializeKey(e){if(e.length===0){return quoteString(e,true)}const r=String.fromCodePoint(e.codePointAt(0));if(!n.isIdStartChar(r)){return quoteString(e,true)}for(let t=r.length;t=0){throw TypeError("Converting circular structure to JSON5")}i.push(e);let r=u;u=u+a;let t=[];for(let r=0;r65535){te-=65536;oe+=c(te>>>(10&1023)|55296);te=56320|te&1023}te=oe+c(te)}}if(te){flush();pe=now();q=De-1;z+=De-fe+1;Z.push(te);he=now();he.offset++;if(p){p.call($,te,{start:pe,end:he},e.slice(fe-1,De))}pe=he}else{ee=e.slice(fe-1,De);J+=ee;z+=ee.length;q=De-1}}else{if(re===10){V++;Y++;z=0}if(re===re){J+=c(re);z++}else{flush()}}}return Z.join("");function now(){return{line:V,column:z,offset:q+(U.offset||0)}}function parseError(e,r){var t=now();t.column+=r;t.offset+=r;P.call(H,j[e],t,e)}function flush(){if(J){Z.push(J);if(o){o.call(N,J,{start:pe,end:now()})}J=""}}}function prohibited(e){return e>=55296&&e<=57343||e>1114111}function disallowed(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}},,function(e,r,t){"use strict";var n;try{var i=require;n=i("buffer").Buffer}catch(e){}var u=t(751);var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function resolveYamlBinary(e){if(e===null)return false;var r,t,n=0,i=e.length,u=o;for(t=0;t64)continue;if(r<0)return false;n+=6}return n%8===0}function constructYamlBinary(e){var r,t,i=e.replace(/[\r\n=]/g,""),u=i.length,s=o,a=0,f=[];for(r=0;r>16&255);f.push(a>>8&255);f.push(a&255)}a=a<<6|s.indexOf(i.charAt(r))}t=u%4*6;if(t===0){f.push(a>>16&255);f.push(a>>8&255);f.push(a&255)}else if(t===18){f.push(a>>10&255);f.push(a>>2&255)}else if(t===12){f.push(a>>4&255)}if(n){return n.from?n.from(f):new n(f)}return f}function representYamlBinary(e){var r="",t=0,n,i,u=e.length,s=o;for(n=0;n>18&63];r+=s[t>>12&63];r+=s[t>>6&63];r+=s[t&63]}t=(t<<8)+e[n]}i=u%3;if(i===0){r+=s[t>>18&63];r+=s[t>>12&63];r+=s[t>>6&63];r+=s[t&63]}else if(i===2){r+=s[t>>10&63];r+=s[t>>4&63];r+=s[t<<2&63];r+=s[64]}else if(i===1){r+=s[t>>2&63];r+=s[t<<4&63];r+=s[64];r+=s[64]}return r}function isBinary(e){return n&&n.isBuffer(e)}e.exports=new u("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},function(e,r,t){"use strict";var n=t(751);function resolveYamlBoolean(e){if(e===null)return false;var r=e.length;return r===4&&(e==="true"||e==="True"||e==="TRUE")||r===5&&(e==="false"||e==="False"||e==="FALSE")}function constructYamlBoolean(e){return e==="true"||e==="True"||e==="TRUE"}function isBoolean(e){return Object.prototype.toString.call(e)==="[object Boolean]"}e.exports=new n("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},,function(e){"use strict";e.exports=block;var r="\n";var t=r+r;var n=t+r;var i=t+"\x3c!----\x3e"+t;function block(e){var r=this;var u=r.options;var o=u.fences;var s=u.commonmark?i:n;var a=[];var f=e.children;var c=f.length;var l=-1;var p;var h;while(++l0?"Remove":"Add")+" "+Math.abs(v)+" "+o("space",v)+" before this heading’s content";r.message(g,f(i[0]))}}if(s==="atx-closed"){h=c(i[i.length-1]);v=c(e).column-h.column-1-n;if(v){g="Remove "+v+" "+o("space",v)+" after this heading’s content";r.message(g,h)}}}}},function(e,r,t){"use strict";var n=t(122);var i=t(425);e.exports=definition;var u=" ";var o=":";var s="[";var a="]";function definition(e){var r=n(e.url);if(e.title){r+=u+i(e.title)}return s+(e.label||e.identifier)+a+o+u+r}},,,,,,,function(e,r,t){"use strict";var n=t(983);var i=t(169);e.exports=parse;var u="\n";var o=/\r\n|\r/g;function parse(){var e=this;var r=String(e.file);var t={line:1,column:1,offset:0};var s=n(t);var a;r=r.replace(o,u);if(r.charCodeAt(0)===65279){r=r.slice(1);s.column++;s.offset++}a={type:"root",children:e.tokenizeBlock(r,s),position:{start:t,end:e.eof||n(t)}};if(!e.options.position){i(a,true)}return a}},,,function(e,r,t){"use strict";var n=t(540);var i=t(198);e.exports=definition;var u='"';var o="'";var s="\\";var a="\n";var f="\t";var c=" ";var l="[";var p="]";var h="(";var v=")";var D=":";var d="<";var g=">";function definition(e,r,t){var n=this;var g=n.options.commonmark;var m=0;var E=r.length;var b="";var A;var C;var w;var y;var F;var S;var _;var B;while(m-1){u.splice(o,1)}var s=t;u.forEach(function _buildSubObj(e,t){if(!e||typeof s!=="object")return;if(t===u.length-1)s[e]=r[i];if(s[e]===undefined)s[e]={};s=s[e]})}}return t};var l=r.find=function(){var e=u.join.apply(null,[].slice.call(arguments));function find(e,r){var t=u.join(e,r);try{n.statSync(t);return t}catch(t){if(u.dirname(e)!==e)return find(u.dirname(e),r)}}return find(process.cwd(),e)}},,function(e){"use strict";e.exports=decimal;function decimal(e){var r=typeof e==="string"?e.charCodeAt(0):e;return r>=48&&r<=57}},,,function(e,r,t){"use strict";var n=t(7)("unified-engine:file-pipeline:parse");var i=t(877);var u=t(919);e.exports=parse;function parse(e,r){var t;if(i(r).fatal){return}if(e.treeIn){n("Not parsing already parsed document");try{e.tree=u(r.toString())}catch(e){t=r.message(new Error("Cannot read file as JSON\n"+e.message));t.fatal=true}if(r.path){r.extname=e.extensions[0]}r.contents="";return}n("Parsing `%s`",r.path);e.tree=e.processor.parse(r);n("Parsed document")}},,function(e,r,t){e.exports=glob;var n=t(747);var i=t(972);var u=t(908);var o=u.Minimatch;var s=t(744);var a=t(614).EventEmitter;var f=t(622);var c=t(357);var l=t(5);var p=t(495);var h=t(564);var v=h.alphasort;var D=h.alphasorti;var d=h.setopts;var g=h.ownProp;var m=t(853);var E=t(669);var b=h.childrenIgnored;var A=h.isIgnored;var C=t(266);function glob(e,r,t){if(typeof r==="function")t=r,r={};if(!r)r={};if(r.sync){if(t)throw new TypeError("callback provided to sync glob");return p(e,r)}return new Glob(e,r,t)}glob.sync=p;var w=glob.GlobSync=p.GlobSync;glob.glob=glob;function extend(e,r){if(r===null||typeof r!=="object"){return e}var t=Object.keys(r);var n=t.length;while(n--){e[t[n]]=r[t[n]]}return e}glob.hasMagic=function(e,r){var t=extend({},r);t.noprocess=true;var n=new Glob(e,t);var i=n.minimatch.set;if(!e)return false;if(i.length>1)return true;for(var u=0;uthis.maxLength)return r();if(!this.stat&&g(this.cache,t)){var u=this.cache[t];if(Array.isArray(u))u="DIR";if(!i||u==="DIR")return r(null,u);if(i&&u==="FILE")return r()}var o;var s=this.statCache[t];if(s!==undefined){if(s===false)return r(null,s);else{var a=s.isDirectory()?"DIR":"FILE";if(i&&a==="FILE")return r();else return r(null,a,s)}}var f=this;var c=m("stat\0"+t,lstatcb_);if(c)n.lstat(t,c);function lstatcb_(i,u){if(u&&u.isSymbolicLink()){return n.stat(t,function(n,i){if(n)f._stat2(e,t,null,u,r);else f._stat2(e,t,n,i,r)})}else{f._stat2(e,t,i,u,r)}}};Glob.prototype._stat2=function(e,r,t,n,i){if(t&&(t.code==="ENOENT"||t.code==="ENOTDIR")){this.statCache[r]=false;return i()}var u=e.slice(-1)==="/";this.statCache[r]=n;if(r.slice(-1)==="/"&&n&&!n.isDirectory())return i(null,false,n);var o=true;if(n)o=n.isDirectory()?"DIR":"FILE";this.cache[r]=this.cache[r]||o;if(u&&o==="FILE")return i();return i(null,o,n)}},function(e,r,t){"use strict";var n=t(541);var i=t(372);var u=t(766);var o=t(189);e.exports=n("remark-lint:strong-marker",strongMarker);var s={"*":true,_:true,null:true};function strongMarker(e,r,t){var n=String(r);t=typeof t==="string"&&t!=="consistent"?t:null;if(s[t]!==true){r.fail("Invalid strong marker `"+t+"`: use either `'consistent'`, `'*'`, or `'_'`")}i(e,"strong",visitor);function visitor(e){var i=n.charAt(u.start(e).offset);if(!o(e)){if(t){if(i!==t){r.message("Strong should use `"+t+"` as a marker",e)}}else{t=i}}}}},,function(e){"use strict";var r={}.hasOwnProperty;e.exports=stringify;function stringify(e){if(!e||typeof e!=="object"){return""}if(r.call(e,"position")||r.call(e,"type")){return position(e.position)}if(r.call(e,"start")||r.call(e,"end")){return position(e)}if(r.call(e,"line")||r.call(e,"column")){return point(e)}return""}function point(e){if(!e||typeof e!=="object"){e={}}return index(e.line)+":"+index(e.column)}function position(e){if(!e||typeof e!=="object"){e={}}return point(e.start)+"-"+point(e.end)}function index(e){return e&&typeof e==="number"?e:1}},function(e){e.exports=function(e,t){var n=[];for(var i=0;ir){return{line:t+1,column:r-(e[t-1]||0)+1,offset:r}}}return{}}}function positionToOffsetFactory(e){return positionToOffset;function positionToOffset(r){var t=r&&r.line;var n=r&&r.column;if(!isNaN(t)&&!isNaN(n)&&t-1 in e){return(e[t-2]||0)+n-1||0}return-1}}function indices(e){var r=[];var t=e.indexOf("\n");while(t!==-1){r.push(t+1);t=e.indexOf("\n",t+1)}r.push(e.length+1);return r}},,function(e,r,t){"use strict";var n=t(541);var i=t(372);var u=t(766);var o=t(189);e.exports=n("remark-lint:table-cell-padding",tableCellPadding);var s=u.start;var a=u.end;var f={null:true,padded:true,compact:true};function tableCellPadding(e,r,t){var n=String(r);t=typeof t==="string"&&t!=="consistent"?t:null;if(f[t]!==true){r.fail("Invalid table-cell-padding style `"+t+"`")}i(e,"table",visitor);function visitor(e){var r=e.children;var u=new Array(e.align.length);var f=o(e)?-1:r.length;var c=-1;var l=[];var p;var h;var v;var D;var d;var g;var m;var E;var b;var A;var C;while(++cn){a+=" with 1 space, not "+o;if(size(u){r=r||process.argv;const t=e.startsWith("-")?"":e.length===1?"-":"--";const n=r.indexOf(t+e);const i=r.indexOf("--");return n!==-1&&(i===-1?true:n=0&&f>0){n=[];u=t.length;while(c>=0&&!s){if(c==a){n.push(c);a=t.indexOf(e,c+1)}else if(n.length==1){s=[n.pop(),f]}else{i=n.pop();if(i=0?a:f}if(n.length){s=[u,o]}}return s}},function(e,r,t){"use strict";const n=t(958);const{CHAR_ASTERISK:i,CHAR_AT:u,CHAR_BACKWARD_SLASH:o,CHAR_COMMA:s,CHAR_DOT:a,CHAR_EXCLAMATION_MARK:f,CHAR_FORWARD_SLASH:c,CHAR_LEFT_CURLY_BRACE:l,CHAR_LEFT_PARENTHESES:p,CHAR_LEFT_SQUARE_BRACKET:h,CHAR_PLUS:v,CHAR_QUESTION_MARK:D,CHAR_RIGHT_CURLY_BRACE:d,CHAR_RIGHT_PARENTHESES:g,CHAR_RIGHT_SQUARE_BRACKET:m}=t(80);const E=e=>{return e===c||e===o};e.exports=((e,r)=>{const t=r||{};const b=e.length-1;let A=-1;let C=0;let w=0;let y=false;let F=false;let S=false;let _=0;let B;let O;let x=false;const k=()=>A>=b;const R=()=>{B=O;return e.charCodeAt(++A)};while(A0){T=e.slice(0,C);e=e.slice(C);w-=C}if(L&&y===true&&w>0){L=e.slice(0,w);M=e.slice(w)}else if(y===true){L="";M=e}else{L=e}if(L&&L!==""&&L!=="/"&&L!==e){if(E(L.charCodeAt(L.length-1))){L=L.slice(0,-1)}}if(t.unescape===true){if(M)M=n.removeBackslashes(M);if(L&&F===true){L=n.removeBackslashes(L)}}return{prefix:T,input:I,base:L,glob:M,negated:S,isGlob:y}})},function(e,r,t){"use strict";e.exports=Readable;var n;Readable.ReadableState=ReadableState;var i=t(614).EventEmitter;var u=function EElistenerCount(e,r){return e.listeners(r).length};var o=t(927);var s=t(293).Buffer;var a=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return s.from(e)}function _isUint8Array(e){return s.isBuffer(e)||e instanceof a}var f=t(669);var c;if(f&&f.debuglog){c=f.debuglog("stream")}else{c=function debug(){}}var l=t(147);var p=t(318);var h=t(675),v=h.getHighWaterMark;var D=t(77).codes,d=D.ERR_INVALID_ARG_TYPE,g=D.ERR_STREAM_PUSH_AFTER_EOF,m=D.ERR_METHOD_NOT_IMPLEMENTED,E=D.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;var b=t(4),A=b.emitExperimentalWarning;var C;var w;t(744)(Readable,o);var y=["error","close","destroy","pause","resume"];function prependListener(e,r,t){if(typeof e.prependListener==="function")return e.prependListener(r,t);if(!e._events||!e._events[r])e.on(r,t);else if(Array.isArray(e._events[r]))e._events[r].unshift(t);else e._events[r]=[t,e._events[r]]}function ReadableState(e,r,i){n=n||t(864);e=e||{};if(typeof i!=="boolean")i=r instanceof n;this.objectMode=!!e.objectMode;if(i)this.objectMode=this.objectMode||!!e.readableObjectMode;this.highWaterMark=v(this,e,"readableHighWaterMark",i);this.buffer=new l;this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=null;this.ended=false;this.endEmitted=false;this.reading=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.resumeScheduled=false;this.paused=true;this.emitClose=e.emitClose!==false;this.destroyed=false;this.defaultEncoding=e.defaultEncoding||"utf8";this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(e.encoding){if(!C)C=t(154).StringDecoder;this.decoder=new C(e.encoding);this.encoding=e.encoding}}function Readable(e){n=n||t(864);if(!(this instanceof Readable))return new Readable(e);var r=this instanceof n;this._readableState=new ReadableState(e,this,r);this.readable=true;if(e){if(typeof e.read==="function")this._read=e.read;if(typeof e.destroy==="function")this._destroy=e.destroy}o.call(this)}Object.defineProperty(Readable.prototype,"destroyed",{enumerable:false,get:function get(){if(this._readableState===undefined){return false}return this._readableState.destroyed},set:function set(e){if(!this._readableState){return}this._readableState.destroyed=e}});Readable.prototype.destroy=p.destroy;Readable.prototype._undestroy=p.undestroy;Readable.prototype._destroy=function(e,r){r(e)};Readable.prototype.push=function(e,r){var t=this._readableState;var n;if(!t.objectMode){if(typeof e==="string"){r=r||t.defaultEncoding;if(r!==t.encoding){e=s.from(e,r);r=""}n=true}}else{n=true}return readableAddChunk(this,e,r,false,n)};Readable.prototype.unshift=function(e){return readableAddChunk(this,e,null,true,false)};function readableAddChunk(e,r,t,n,i){c("readableAddChunk",r);var u=e._readableState;if(r===null){u.reading=false;onEofChunk(e,u)}else{var o;if(!i)o=chunkInvalid(u,r);if(o){e.emit("error",o)}else if(u.objectMode||r&&r.length>0){if(typeof r!=="string"&&!u.objectMode&&Object.getPrototypeOf(r)!==s.prototype){r=_uint8ArrayToBuffer(r)}if(n){if(u.endEmitted)e.emit("error",new E);else addChunk(e,u,r,true)}else if(u.ended){e.emit("error",new g)}else if(u.destroyed){return false}else{u.reading=false;if(u.decoder&&!t){r=u.decoder.write(r);if(u.objectMode||r.length!==0)addChunk(e,u,r,false);else maybeReadMore(e,u)}else{addChunk(e,u,r,false)}}}else if(!n){u.reading=false;maybeReadMore(e,u)}}return!u.ended&&(u.length=F){e=F}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,r){if(e<=0||r.length===0&&r.ended)return 0;if(r.objectMode)return 1;if(e!==e){if(r.flowing&&r.length)return r.buffer.head.data.length;else return r.length}if(e>r.highWaterMark)r.highWaterMark=computeNewHighWaterMark(e);if(e<=r.length)return e;if(!r.ended){r.needReadable=true;return 0}return r.length}Readable.prototype.read=function(e){c("read",e);e=parseInt(e,10);var r=this._readableState;var t=e;if(e!==0)r.emittedReadable=false;if(e===0&&r.needReadable&&((r.highWaterMark!==0?r.length>=r.highWaterMark:r.length>0)||r.ended)){c("read: emitReadable",r.length,r.ended);if(r.length===0&&r.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,r);if(e===0&&r.ended){if(r.length===0)endReadable(this);return null}var n=r.needReadable;c("need readable",n);if(r.length===0||r.length-e0)i=fromList(e,r);else i=null;if(i===null){r.needReadable=true;e=0}else{r.length-=e;r.awaitDrain=0}if(r.length===0){if(!r.ended)r.needReadable=true;if(t!==e&&r.ended)endReadable(this)}if(i!==null)this.emit("data",i);return i};function onEofChunk(e,r){if(r.ended)return;if(r.decoder){var t=r.decoder.end();if(t&&t.length){r.buffer.push(t);r.length+=r.objectMode?1:t.length}}r.ended=true;if(r.sync){emitReadable(e)}else{r.needReadable=false;if(!r.emittedReadable){r.emittedReadable=true;emitReadable_(e)}}}function emitReadable(e){var r=e._readableState;r.needReadable=false;if(!r.emittedReadable){c("emitReadable",r.flowing);r.emittedReadable=true;process.nextTick(emitReadable_,e)}}function emitReadable_(e){var r=e._readableState;c("emitReadable_",r.destroyed,r.length,r.ended);if(!r.destroyed&&(r.length||r.ended)){e.emit("readable")}r.needReadable=!r.flowing&&!r.ended&&r.length<=r.highWaterMark;flow(e)}function maybeReadMore(e,r){if(!r.readingMore){r.readingMore=true;process.nextTick(maybeReadMore_,e,r)}}function maybeReadMore_(e,r){while(!r.reading&&!r.ended&&(r.length1&&indexOf(n.pipes,e)!==-1)&&!a){c("false write response, pause",n.awaitDrain);n.awaitDrain++}t.pause()}}function onerror(r){c("onerror",r);unpipe();e.removeListener("error",onerror);if(u(e,"error")===0)e.emit("error",r)}prependListener(e,"error",onerror);function onclose(){e.removeListener("finish",onfinish);unpipe()}e.once("close",onclose);function onfinish(){c("onfinish");e.removeListener("close",onclose);unpipe()}e.once("finish",onfinish);function unpipe(){c("unpipe");t.unpipe(e)}e.emit("pipe",t);if(!n.flowing){c("pipe resume");t.resume()}return e};function pipeOnDrain(e){return function pipeOnDrainFunctionResult(){var r=e._readableState;c("pipeOnDrain",r.awaitDrain);if(r.awaitDrain)r.awaitDrain--;if(r.awaitDrain===0&&u(e,"data")){r.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var r=this._readableState;var t={hasUnpiped:false};if(r.pipesCount===0)return this;if(r.pipesCount===1){if(e&&e!==r.pipes)return this;if(!e)e=r.pipes;r.pipes=null;r.pipesCount=0;r.flowing=false;if(e)e.emit("unpipe",this,t);return this}if(!e){var n=r.pipes;var i=r.pipesCount;r.pipes=null;r.pipesCount=0;r.flowing=false;for(var u=0;u0;if(n.flowing!==false)this.resume()}else if(e==="readable"){if(!n.endEmitted&&!n.readableListening){n.readableListening=n.needReadable=true;n.flowing=false;n.emittedReadable=false;c("on readable",n.length,n.reading);if(n.length){emitReadable(this)}else if(!n.reading){process.nextTick(nReadingNextTick,this)}}}return t};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(e,r){var t=o.prototype.removeListener.call(this,e,r);if(e==="readable"){process.nextTick(updateReadableListening,this)}return t};Readable.prototype.removeAllListeners=function(e){var r=o.prototype.removeAllListeners.apply(this,arguments);if(e==="readable"||e===undefined){process.nextTick(updateReadableListening,this)}return r};function updateReadableListening(e){var r=e._readableState;r.readableListening=e.listenerCount("readable")>0;if(r.resumeScheduled&&!r.paused){r.flowing=true}else if(e.listenerCount("data")>0){e.resume()}}function nReadingNextTick(e){c("readable nexttick read 0");e.read(0)}Readable.prototype.resume=function(){var e=this._readableState;if(!e.flowing){c("resume");e.flowing=!e.readableListening;resume(this,e)}e.paused=false;return this};function resume(e,r){if(!r.resumeScheduled){r.resumeScheduled=true;process.nextTick(resume_,e,r)}}function resume_(e,r){c("resume",r.reading);if(!r.reading){e.read(0)}r.resumeScheduled=false;e.emit("resume");flow(e);if(r.flowing&&!r.reading)e.read(0)}Readable.prototype.pause=function(){c("call pause flowing=%j",this._readableState.flowing);if(this._readableState.flowing!==false){c("pause");this._readableState.flowing=false;this.emit("pause")}this._readableState.paused=true;return this};function flow(e){var r=e._readableState;c("flow",r.flowing);while(r.flowing&&e.read()!==null){}}Readable.prototype.wrap=function(e){var r=this;var t=this._readableState;var n=false;e.on("end",function(){c("wrapped end");if(t.decoder&&!t.ended){var e=t.decoder.end();if(e&&e.length)r.push(e)}r.push(null)});e.on("data",function(i){c("wrapped data");if(t.decoder)i=t.decoder.write(i);if(t.objectMode&&(i===null||i===undefined))return;else if(!t.objectMode&&(!i||!i.length))return;var u=r.push(i);if(!u){n=true;e.pause()}});for(var i in e){if(this[i]===undefined&&typeof e[i]==="function"){this[i]=function methodWrap(r){return function methodWrapReturnFunction(){return e[r].apply(e,arguments)}}(i)}}for(var u=0;u=r.length){if(r.decoder)t=r.buffer.join("");else if(r.buffer.length===1)t=r.buffer.first();else t=r.buffer.concat(r.length);r.buffer.clear()}else{t=r.buffer.consume(e,r.decoder)}return t}function endReadable(e){var r=e._readableState;c("endReadable",r.endEmitted);if(!r.endEmitted){r.ended=true;process.nextTick(endReadableNT,r,e)}}function endReadableNT(e,r){c("endReadableNT",e.endEmitted,e.length);if(!e.endEmitted&&e.length===0){e.endEmitted=true;r.readable=false;r.emit("end")}}function indexOf(e,r){for(var t=0,n=e.length;t0){return parse(e)}else if(t==="number"&&isFinite(e)){return r.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!s){return}var a=parseFloat(s[1]);var f=(s[2]||"ms").toLowerCase();switch(f){case"years":case"year":case"yrs":case"yr":case"y":return a*o;case"weeks":case"week":case"w":return a*u;case"days":case"day":case"d":return a*i;case"hours":case"hour":case"hrs":case"hr":case"h":return a*n;case"minutes":case"minute":case"mins":case"min":case"m":return a*t;case"seconds":case"second":case"secs":case"sec":case"s":return a*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return undefined}}function fmtShort(e){var u=Math.abs(e);if(u>=i){return Math.round(e/i)+"d"}if(u>=n){return Math.round(e/n)+"h"}if(u>=t){return Math.round(e/t)+"m"}if(u>=r){return Math.round(e/r)+"s"}return e+"ms"}function fmtLong(e){var u=Math.abs(e);if(u>=i){return plural(e,u,i,"day")}if(u>=n){return plural(e,u,n,"hour")}if(u>=t){return plural(e,u,t,"minute")}if(u>=r){return plural(e,u,r,"second")}return e+" ms"}function plural(e,r,t,n){var i=r>=t*1.5;return Math.round(e/t)+" "+n+(i?"s":"")}},function(e,r,t){"use strict";var n=t(977);var i=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"];var u=["scalar","sequence","mapping"];function compileStyleAliases(e){var r={};if(e!==null){Object.keys(e).forEach(function(t){e[t].forEach(function(e){r[String(e)]=t})})}return r}function Type(e,r){r=r||{};Object.keys(r).forEach(function(r){if(i.indexOf(r)===-1){throw new n('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}});this.tag=e;this.kind=r["kind"]||null;this.resolve=r["resolve"]||function(){return true};this.construct=r["construct"]||function(e){return e};this.instanceOf=r["instanceOf"]||null;this.predicate=r["predicate"]||null;this.represent=r["represent"]||null;this.defaultStyle=r["defaultStyle"]||null;this.styleAliases=compileStyleAliases(r["styleAliases"]||null);if(u.indexOf(this.kind)===-1){throw new n('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}}e.exports=Type},function(e){"use strict";e.exports=interrupt;function interrupt(e,r,t,n){var i=e.length;var u=-1;var o;var s;while(++un){n=t}}else{t=1}i=u+1;u=e.indexOf(r,i)}return n}},function(e){e.exports=wrappy;function wrappy(e,r){if(e&&r)return wrappy(e)(r);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach(function(r){wrapper[r]=e[r]});return wrapper;function wrapper(){var r=new Array(arguments.length);for(var t=0;t=E){return}_=r.charAt(A);if(_===f||_===l||_===p){B=_;S=false}else{S=true;F="";while(A=E){z=true}if($&&y>=$.indent){z=true}_=r.charAt(A);R=null;if(!z){if(_===f||_===l||_===p){R=_;A++;y++}else{F="";while(A=$.indent||y>E}k=false;A=x}I=r.slice(x,O);T=x===A?I:r.slice(A,O);if(R===f||R===c||R===p){if(m.thematicBreak.call(i,e,I,true)){break}}L=M;M=!k&&!n(T).length;if(z&&$){$.value=$.value.concat(N,I);P=P.concat(N,I);N=[]}else if(k){if(N.length!==0){W=true;$.value.push("");$.trail=N.concat()}$={value:[I],indent:y,trail:[]};j.push($);P=P.concat(N,I);N=[]}else if(M){if(L&&!o){break}N.push(I)}else{if(L){break}if(a(b,m,i,[e,I,true])){break}$.value=$.value.concat(N,I);P=P.concat(N,I);N=[]}A=O+1}G=e(P.join(D)).reset({type:"list",ordered:S,start:w,spread:W,children:[]});H=i.enterList();U=i.enterBlock();A=-1;C=j.length;while(++Ae!==null&&typeof e==="object"&&!Array.isArray(e);const o=e=>{return r=>e===true?Number(r):String(r)};const s=e=>{return typeof e==="number"||typeof e==="string"&&e!==""};const a=e=>Number.isInteger(+e);const f=e=>{let r=`${e}`;let t=-1;if(r[0]==="-")r=r.slice(1);if(r==="0")return false;while(r[++t]==="0");return t>0};const c=(e,r,t)=>{if(typeof e==="string"||typeof r==="string"){return true}return t.stringify===true};const l=(e,r,t)=>{if(r>0){let t=e[0]==="-"?"-":"";if(t)e=e.slice(1);e=t+e.padStart(t?r-1:r,"0")}if(t===false){return String(e)}return e};const p=(e,r)=>{let t=e[0]==="-"?"-":"";if(t){e=e.slice(1);r--}while(e.length{e.negatives.sort((e,r)=>er?1:0);e.positives.sort((e,r)=>er?1:0);let t=r.capture?"":"?:";let n="";let i="";let u;if(e.positives.length){n=e.positives.join("|")}if(e.negatives.length){i=`-(${t}${e.negatives.join("|")})`}if(n&&i){u=`${n}|${i}`}else{u=n||i}if(r.wrap){return`(${t}${u})`}return u};const v=(e,r,t,n)=>{if(t){return i(e,r,{wrap:false,...n})}let u=String.fromCharCode(e);if(e===r)return u;let o=String.fromCharCode(r);return`[${u}-${o}]`};const D=(e,r,t)=>{if(Array.isArray(e)){let r=t.wrap===true;let n=t.capture?"":"?:";return r?`(${n}${e.join("|")})`:e.join("|")}return i(e,r,t)};const d=(...e)=>{return new RangeError("Invalid range arguments: "+n.inspect(...e))};const g=(e,r,t)=>{if(t.strictRanges===true)throw d([e,r]);return[]};const m=(e,r)=>{if(r.strictRanges===true){throw new TypeError(`Expected step "${e}" to be a number`)}return[]};const E=(e,r,t=1,n={})=>{let i=Number(e);let u=Number(r);if(!Number.isInteger(i)||!Number.isInteger(u)){if(n.strictRanges===true)throw d([e,r]);return[]}if(i===0)i=0;if(u===0)u=0;let s=i>u;let a=String(e);let g=String(r);let m=String(t);t=Math.max(Math.abs(t),1);let E=f(a)||f(g)||f(m);let b=E?Math.max(a.length,g.length,m.length):0;let A=E===false&&c(e,r,n)===false;let C=n.transform||o(A);if(n.toRegex&&t===1){return v(p(e,b),p(r,b),true,n)}let w={negatives:[],positives:[]};let y=e=>w[e<0?"negatives":"positives"].push(Math.abs(e));let F=[];let S=0;while(s?i>=u:i<=u){if(n.toRegex===true&&t>1){y(i)}else{F.push(l(C(i,S),b,A))}i=s?i-t:i+t;S++}if(n.toRegex===true){return t>1?h(w,n):D(F,null,{wrap:false,...n})}return F};const b=(e,r,t=1,n={})=>{if(!a(e)&&e.length>1||!a(r)&&r.length>1){return g(e,r,n)}let i=n.transform||(e=>String.fromCharCode(e));let u=`${e}`.charCodeAt(0);let o=`${r}`.charCodeAt(0);let s=u>o;let f=Math.min(u,o);let c=Math.max(u,o);if(n.toRegex&&t===1){return v(f,c,false,n)}let l=[];let p=0;while(s?u>=o:u<=o){l.push(i(u,p));u=s?u-t:u+t;p++}if(n.toRegex===true){return D(l,null,{wrap:false,options:n})}return l};const A=(e,r,t,n={})=>{if(r==null&&s(e)){return[e]}if(!s(e)||!s(r)){return g(e,r,n)}if(typeof t==="function"){return A(e,r,1,{transform:t})}if(u(t)){return A(e,r,0,t)}let i={...n};if(i.capture===true)i.wrap=true;t=t||i.step||1;if(!a(t)){if(t!=null&&!u(t))return m(t,i);return A(e,r,1,t)}if(a(e)&&a(r)){return E(e,r,t,i)}return b(e,r,Math.max(Math.abs(t),1),i)};e.exports=A},,,,,function(e,r,t){"use strict";e=t.nmd(e);const n=t(186);const i=new Map;for(const e of Object.keys(n)){i.set(e,n[e])}Object.defineProperty(e,"exports",{get(){return i}})},function(e,r,t){"use strict";var n=t(164);e.exports=thematic;var i=" ";function thematic(){var e=this.options;var r=n(e.rule,e.ruleRepetition);return e.ruleSpaces?r.split("").join(i):r}},,,function(e,r,t){"use strict";var n=t(541);var i=t(372);var u=t(766);var o=t(189);e.exports=n("remark-lint:definition-spacing",definitionSpacing);var s=/^\s*\[((?:\\[\s\S]|[^[\]])+)]/;var a="Do not use consecutive white-space in definition labels";function definitionSpacing(e,r){var t=String(r);i(e,["definition","footnoteDefinition"],validate);function validate(e){var n=u.start(e).offset;var i=u.end(e).offset;if(!o(e)&&/[ \t\n]{2,}/.test(t.slice(n,i).match(s)[1])){r.message(a,e)}}}},function(e){e.exports=function(e,r,t){var n=[];var i=e.length;if(0===i)return n;var u=r<0?Math.max(0,r+i):r||0;if(t!==undefined){i=t<0?t+i:t}while(i-- >u){n[i-u]=e[i]}return n}},,,function(e,r,t){"use strict";var n=t(541);var i=t(372);var u=t(766);var o=t(189);e.exports=n("remark-lint:unordered-list-marker-style",unorderedListMarkerStyle);var s=u.start;var a={"-":true,"*":true,"+":true,null:true};function unorderedListMarkerStyle(e,r,t){var n=String(r);t=typeof t==="string"&&t!=="consistent"?t:null;if(a[t]!==true){r.fail("Invalid unordered list-item marker style `"+t+"`: use either `'-'`, `'*'`, or `'+'`")}i(e,"list",visitor);function visitor(e){var i=e.children;var u=e.ordered?0:i.length;var a=-1;var f;var c;while(++a0&&"\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(i-1))===-1){i-=1;if(this.position-i>r/2-1){t=" ... ";i+=5;break}}u="";o=this.position;while(or/2-1){u=" ... ";o-=5;break}}s=this.buffer.slice(i,o);return n.repeat(" ",e)+t+s+u+"\n"+n.repeat(" ",e+this.position-i+t.length)+"^"};Mark.prototype.toString=function toString(e){var r,t="";if(this.name){t+='in "'+this.name+'" '}t+="at line "+(this.line+1)+", column "+(this.column+1);if(!e){r=this.getSnippet();if(r){t+=":\n"+r}}return t};e.exports=Mark},,,function(e,r,t){"use strict";var n=t(541);var i=t(372);var u=t(189);e.exports=n("remark-lint:first-heading-level",firstHeadingLevel);var o=/{if(n(e)===false){throw new TypeError("toRegexRange: expected the first argument to be a number")}if(r===void 0||e===r){return String(e)}if(n(r)===false){throw new TypeError("toRegexRange: expected the second argument to be a number.")}let u={relaxZeros:true,...t};if(typeof u.strictZeros==="boolean"){u.relaxZeros=u.strictZeros===false}let o=String(u.relaxZeros);let s=String(u.shorthand);let a=String(u.capture);let f=String(u.wrap);let c=e+":"+r+"="+o+s+a+f;if(i.cache.hasOwnProperty(c)){return i.cache[c].result}let l=Math.min(e,r);let p=Math.max(e,r);if(Math.abs(l-p)===1){let t=e+"|"+r;if(u.capture){return`(${t})`}if(u.wrap===false){return t}return`(?:${t})`}let h=hasPadding(e)||hasPadding(r);let v={min:e,max:r,a:l,b:p};let D=[];let d=[];if(h){v.isPadded=h;v.maxLen=String(v.max).length}if(l<0){let e=p<0?Math.abs(p):1;d=splitToPatterns(e,Math.abs(l),v,u);l=v.a=0}if(p>=0){D=splitToPatterns(l,p,v,u)}v.negatives=d;v.positives=D;v.result=collatePatterns(d,D,u);if(u.capture===true){v.result=`(${v.result})`}else if(u.wrap!==false&&D.length+d.length>1){v.result=`(?:${v.result})`}i.cache[c]=v;return v.result};function collatePatterns(e,r,t){let n=filterPatterns(e,r,"-",false,t)||[];let i=filterPatterns(r,e,"",false,t)||[];let u=filterPatterns(e,r,"-?",true,t)||[];let o=n.concat(u).concat(i);return o.join("|")}function splitToRanges(e,r){let t=1;let n=1;let i=countNines(e,t);let u=new Set([r]);while(e<=i&&i<=r){u.add(i);t+=1;i=countNines(e,t)}i=countZeros(r+1,n)-1;while(e1){s.count.pop()}s.count.push(a.count[0]);s.string=s.pattern+toQuantifier(s.count);o=r+1;continue}if(t.isPadded){f=padZeros(r,t,n)}a.string=f+a.pattern+toQuantifier(a.count);u.push(a);o=r+1;s=a}return u}function filterPatterns(e,r,t,n,i){let u=[];for(let i of e){let{string:e}=i;if(!n&&!contains(r,"string",e)){u.push(t+e)}if(n&&contains(r,"string",e)){u.push(t+e)}}return u}function zip(e,r){let t=[];for(let n=0;nr?1:r>e?-1:0}function contains(e,r,t){return e.some(e=>e[r]===t)}function countNines(e,r){return Number(String(e).slice(0,-r)+"9".repeat(r))}function countZeros(e,r){return e-e%Math.pow(10,r)}function toQuantifier(e){let[r=0,t=""]=e;if(t||r>1){return`{${r+(t?","+t:"")}}`}return""}function toCharacterClass(e,r,t){return`[${e}${r-e===1?"":"-"}${r}]`}function hasPadding(e){return/^-?(0+)\d/.test(e)}function padZeros(e,r,t){if(!r.isPadded){return e}let n=Math.abs(r.maxLen-String(e).length);let i=t.relaxZeros!==false;switch(n){case 0:return"";case 1:return i?"0?":"0";case 2:return i?"0{0,2}":"00";default:{return i?`0{0,${n}}`:`0{${n}}`}}}i.cache={};i.clearCache=(()=>i.cache={});e.exports=i},function(e,r,t){"use strict";const{EventEmitter:n}=t(614);const i=t(747);const u=t(622);const{promisify:o}=t(669);const s=t(285);const a=t(74).default;const f=t(782);const c=t(607);const l=t(385);const p=t(204);const h=t(262);const v=t(231);const{EV_ALL:D,EV_READY:d,EV_ADD:g,EV_CHANGE:m,EV_UNLINK:E,EV_ADD_DIR:b,EV_UNLINK_DIR:A,EV_RAW:C,EV_ERROR:w,STR_CLOSE:y,STR_END:F,BACK_SLASH_RE:S,DOUBLE_SLASH_RE:_,SLASH_OR_BACK_SLASH_RE:B,DOT_RE:O,REPLACER_RE:x,SLASH:k,BRACE_START:R,BANG:T,ONE_DOT:I,TWO_DOTS:L,GLOBSTAR:M,SLASH_GLOBSTAR:j,ANYMATCH_OPTS:P,STRING_TYPE:N,FUNCTION_TYPE:$,EMPTY_STR:H,EMPTY_FN:U,isWindows:W,isMacos:G}=t(287);const q=o(i.stat);const Y=o(i.readdir);const z=(e=[])=>Array.isArray(e)?e:[e];const V=(e,r=[])=>{e.forEach(e=>{if(Array.isArray(e)){V(e,r)}else{r.push(e)}});return r};const J=e=>{const r=V(z(e));if(!r.every(e=>typeof e===N)){throw new TypeError(`Non-string provided as watch path: ${r}`)}return r.map(Q)};const Z=e=>{let r=e.replace(S,k);while(r.match(_)){r=r.replace(_,k)}return r};const Q=e=>Z(u.normalize(Z(e)));const X=(e=H)=>r=>{if(typeof r!==N)return r;return Q(u.isAbsolute(r)?r:u.join(e,r))};const K=(e,r)=>{if(u.isAbsolute(e)){return e}if(e.startsWith(T)){return T+u.join(r,e.slice(1))}return u.join(r,e)};const ee=(e,r)=>e[r]===undefined;class DirEntry{constructor(e,r){this.path=e;this._removeWatcher=r;this.items=new Set}add(e){const{items:r}=this;if(!r)return;if(e!==I&&e!==L)r.add(e)}async remove(e){const{items:r}=this;if(!r)return;r.delete(e);if(!r.size){const e=this.path;try{await Y(e)}catch(r){this._removeWatcher(u.dirname(e),u.basename(e))}}}has(e){const{items:r}=this;if(!r)return;return r.has(e)}getChildren(){const{items:e}=this;if(!e)return;return[...e.values()]}dispose(){this.items.clear();delete this.path;delete this._removeWatcher;delete this.items;Object.freeze(this)}}const re="stat";const te="lstat";class WatchHelper{constructor(e,r,t,n){this.fsw=n;this.path=e=e.replace(x,H);this.watchPath=r;this.fullWatchPath=u.resolve(r);this.hasGlob=r!==e;if(e===H)this.hasGlob=false;this.globSymlink=this.hasGlob&&t?undefined:false;this.globFilter=this.hasGlob?a(e,undefined,P):false;this.dirParts=this.getDirParts(e);this.dirParts.forEach(e=>{if(e.length>1)e.pop()});this.followSymlinks=t;this.statMethod=t?re:te}checkGlobSymlink(e){if(this.globSymlink===undefined){this.globSymlink=e.fullParentDir===this.fullWatchPath?false:{realPath:e.fullParentDir,linkPath:this.fullWatchPath}}if(this.globSymlink){return e.fullPath.replace(this.globSymlink.realPath,this.globSymlink.linkPath)}return e.fullPath}entryPath(e){return u.join(this.watchPath,u.relative(this.watchPath,this.checkGlobSymlink(e)))}filterPath(e){const{stats:r}=e;if(r&&r.isSymbolicLink())return this.filterDir(e);const t=this.entryPath(e);const n=this.hasGlob&&typeof this.globFilter===$?this.globFilter(t):true;return n&&this.fsw._isntIgnored(t,r)&&this.fsw._hasReadPermissions(r)}getDirParts(e){if(!this.hasGlob)return[];const r=[];const t=e.includes(R)?l.expand(e):[e];t.forEach(e=>{r.push(u.relative(this.watchPath,e).split(B))});return r}filterDir(e){if(this.hasGlob){const r=this.getDirParts(this.checkGlobSymlink(e));let t=false;this.unmatchedGlob=!this.dirParts.some(e=>{return e.every((e,n)=>{if(e===M)t=true;return t||!r[0][n]||a(e,r[0][n],P)})})}return!this.unmatchedGlob&&this.fsw._isntIgnored(this.entryPath(e),e.stats)}}class FSWatcher extends n{constructor(e){super();const r={};if(e)Object.assign(r,e);this._watched=new Map;this._closers=new Map;this._ignoredPaths=new Set;this._throttled=new Map;this._symlinkPaths=new Map;this._streams=new Set;this.closed=false;if(ee(r,"persistent"))r.persistent=true;if(ee(r,"ignoreInitial"))r.ignoreInitial=false;if(ee(r,"ignorePermissionErrors"))r.ignorePermissionErrors=false;if(ee(r,"interval"))r.interval=100;if(ee(r,"binaryInterval"))r.binaryInterval=300;if(ee(r,"disableGlobbing"))r.disableGlobbing=false;r.enableBinaryInterval=r.binaryInterval!==r.interval;if(ee(r,"useFsEvents"))r.useFsEvents=!r.usePolling;const t=v.canUse();if(!t)r.useFsEvents=false;if(ee(r,"usePolling")&&!r.useFsEvents){r.usePolling=G}const n=process.env.CHOKIDAR_USEPOLLING;if(n!==undefined){const e=n.toLowerCase();if(e==="false"||e==="0"){r.usePolling=false}else if(e==="true"||e==="1"){r.usePolling=true}else{r.usePolling=!!e}}const i=process.env.CHOKIDAR_INTERVAL;if(i){r.interval=Number.parseInt(i,10)}if(ee(r,"atomic"))r.atomic=!r.usePolling&&!r.useFsEvents;if(r.atomic)this._pendingUnlinks=new Map;if(ee(r,"followSymlinks"))r.followSymlinks=true;if(ee(r,"awaitWriteFinish"))r.awaitWriteFinish=false;if(r.awaitWriteFinish===true)r.awaitWriteFinish={};const u=r.awaitWriteFinish;if(u){if(!u.stabilityThreshold)u.stabilityThreshold=2e3;if(!u.pollInterval)u.pollInterval=100;this._pendingWrites=new Map}if(r.ignored)r.ignored=z(r.ignored);let o=0;this._emitReady=(()=>{o++;if(o>=this._readyCount){this._emitReady=U;this._readyEmitted=true;process.nextTick(()=>this.emit(d))}});this._emitRaw=((...e)=>this.emit(C,...e));this._readyEmitted=false;this.options=r;if(r.useFsEvents){this._fsEventsHandler=new v(this)}else{this._nodeFsHandler=new h(this)}Object.freeze(r)}add(e,r,t){const{cwd:n,disableGlobbing:i}=this.options;this.closed=false;let o=J(e);if(n){o=o.map(e=>{const r=K(e,n);if(i||!c(e)){return r}return p(r)})}o=o.filter(e=>{if(e.startsWith(T)){this._ignoredPaths.add(e.slice(1));return false}this._ignoredPaths.delete(e);this._ignoredPaths.delete(e+j);this._userIgnored=undefined;return true});if(this.options.useFsEvents&&this._fsEventsHandler){if(!this._readyCount)this._readyCount=o.length;if(this.options.persistent)this._readyCount*=2;o.forEach(e=>this._fsEventsHandler._addToFsEvents(e))}else{if(!this._readyCount)this._readyCount=0;this._readyCount+=o.length;Promise.all(o.map(async e=>{const n=await this._nodeFsHandler._addToNodeFs(e,!t,0,0,r);if(n)this._emitReady();return n})).then(e=>{if(this.closed)return;e.filter(e=>e).forEach(e=>{this.add(u.dirname(e),u.basename(r||e))})})}return this}unwatch(e){if(this.closed)return this;const r=J(e);const{cwd:t}=this.options;r.forEach(e=>{if(!u.isAbsolute(e)&&!this._closers.has(e)){if(t)e=u.join(t,e);e=u.resolve(e)}this._closePath(e);this._ignoredPaths.add(e);if(this._watched.has(e)){this._ignoredPaths.add(e+j)}this._userIgnored=undefined});return this}close(){if(this.closed)return this;this.closed=true;this.removeAllListeners();const e=[];this._closers.forEach(r=>r.forEach(r=>{const t=r();if(t instanceof Promise)e.push(t)}));this._streams.forEach(e=>e.destroy());this._userIgnored=undefined;this._readyCount=0;this._readyEmitted=false;this._watched.forEach(e=>e.dispose());["closers","watched","streams","symlinkPaths","throttled"].forEach(e=>{this[`_${e}`].clear()});return e.length?Promise.all(e).then(()=>undefined):Promise.resolve()}getWatched(){const e={};this._watched.forEach((r,t)=>{const n=this.options.cwd?u.relative(this.options.cwd,t):t;e[n||I]=r.getChildren().sort()});return e}emitWithAll(e,r){this.emit(...r);if(e!==w)this.emit(D,...r)}async _emit(e,r,t,n,i){if(this.closed)return;const o=this.options;if(W)r=u.normalize(r);if(o.cwd)r=u.relative(o.cwd,r);const s=[e,r];if(i!==undefined)s.push(t,n,i);else if(n!==undefined)s.push(t,n);else if(t!==undefined)s.push(t);const a=o.awaitWriteFinish;let f;if(a&&(f=this._pendingWrites.get(r))){f.lastChange=new Date;return this}if(o.atomic){if(e===E){this._pendingUnlinks.set(r,s);setTimeout(()=>{this._pendingUnlinks.forEach((e,r)=>{this.emit(...e);this.emit(D,...e);this._pendingUnlinks.delete(r)})},typeof o.atomic==="number"?o.atomic:100);return this}if(e===g&&this._pendingUnlinks.has(r)){e=s[0]=m;this._pendingUnlinks.delete(r)}}if(a&&(e===g||e===m)&&this._readyEmitted){const t=(r,t)=>{if(r){e=s[0]=w;s[1]=r;this.emitWithAll(e,s)}else if(t){if(s.length>2){s[2]=t}else{s.push(t)}this.emitWithAll(e,s)}};this._awaitWriteFinish(r,a.stabilityThreshold,e,t);return this}if(e===m){const e=!this._throttle(m,r,50);if(e)return this}if(o.alwaysStat&&t===undefined&&(e===g||e===b||e===m)){const t=o.cwd?u.join(o.cwd,r):r;try{const r=await q(t);if(!r)return;s.push(r);this.emitWithAll(e,s)}catch(e){}}else{this.emitWithAll(e,s)}return this}_handleError(e){const r=e&&e.code;if(e&&r!=="ENOENT"&&r!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||r!=="EPERM"&&r!=="EACCES")){this.emit(w,e)}return e||this.closed}_throttle(e,r,t){if(!this._throttled.has(e)){this._throttled.set(e,new Map)}const n=this._throttled.get(e);const i=n.get(r);if(i){i.count++;return false}let u;const o=()=>{const e=n.get(r);const t=e?e.count:0;n.delete(r);clearTimeout(u);if(e)clearTimeout(e.timeoutObject);return t};u=setTimeout(o,t);const s={timeoutObject:u,clear:o,count:0};n.set(r,s);return s}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,r,t,n){let o;let s=e;if(this.options.cwd&&!u.isAbsolute(e)){s=u.join(this.options.cwd,e)}const a=new Date;const f=t=>{i.stat(s,(i,u)=>{if(i||!this._pendingWrites.has(e)){if(i&&i.code!=="ENOENT")n(i);return}const s=Number(new Date);if(t&&u.size!==t.size){this._pendingWrites.get(e).lastChange=s}const a=this._pendingWrites.get(e);const c=s-a.lastChange;if(c>=r){this._pendingWrites.delete(e);n(undefined,u)}else{o=setTimeout(f,this.options.awaitWriteFinish.pollInterval,u)}})};if(!this._pendingWrites.has(e)){this._pendingWrites.set(e,{lastChange:a,cancelWait:()=>{this._pendingWrites.delete(e);clearTimeout(o);return t}});o=setTimeout(f,this.options.awaitWriteFinish.pollInterval)}}_getGlobIgnored(){return[...this._ignoredPaths.values()]}_isIgnored(e,r){if(this.options.atomic&&O.test(e))return true;if(!this._userIgnored){const{cwd:e}=this.options;const r=this.options.ignored;const t=r&&r.map(X(e));const n=z(t).filter(e=>typeof e===N&&!c(e)).map(e=>e+j);const i=this._getGlobIgnored().map(X(e)).concat(t,n);this._userIgnored=a(i,undefined,P)}return this._userIgnored([e,r])}_isntIgnored(e,r){return!this._isIgnored(e,r)}_getWatchHelpers(e,r){const t=r||this.options.disableGlobbing||!c(e)?e:f(e);const n=this.options.followSymlinks;return new WatchHelper(e,t,n,this)}_getWatchedDir(e){if(!this._boundRemove)this._boundRemove=this._remove.bind(this);const r=u.resolve(e);if(!this._watched.has(r))this._watched.set(r,new DirEntry(r,this._boundRemove));return this._watched.get(r)}_hasReadPermissions(e){if(this.options.ignorePermissionErrors)return true;const r=e&&Number.parseInt(e.mode,10);const t=r&511;const n=Number.parseInt(t.toString(8)[0],10);return Boolean(4&n)}_remove(e,r){const t=u.join(e,r);const n=u.resolve(t);const i=this._watched.has(t)||this._watched.has(n);if(!this._throttle("remove",t,100))return;if(!i&&!this.options.useFsEvents&&this._watched.size===1){this.add(e,r,true)}const o=this._getWatchedDir(t);const s=o.getChildren();s.forEach(e=>this._remove(t,e));const a=this._getWatchedDir(e);const f=a.has(r);a.remove(r);let c=t;if(this.options.cwd)c=u.relative(this.options.cwd,t);if(this.options.awaitWriteFinish&&this._pendingWrites.has(c)){const e=this._pendingWrites.get(c).cancelWait();if(e===g)return}this._watched.delete(t);this._watched.delete(n);const l=i?A:E;if(f&&!this._isIgnored(t))this._emit(l,t);if(!this.options.useFsEvents){this._closePath(t)}}_closePath(e){const r=this._closers.get(e);if(!r)return;r.forEach(e=>e());this._closers.delete(e);const t=u.dirname(e);this._getWatchedDir(t).remove(u.basename(e))}_addPathCloser(e,r){if(!r)return;let t=this._closers.get(e);if(!t){t=[];this._closers.set(e,t)}t.push(r)}_readdirp(e,r){if(this.closed)return;const t={type:D,alwaysStat:true,lstat:true,...r};let n=s(e,t);this._streams.add(n);n.once(y,()=>{n=undefined});n.once(F,()=>{if(n){this._streams.delete(n);n=undefined}});return n}}r.FSWatcher=FSWatcher;const ne=(e,r)=>{const t=new FSWatcher(r);t.add(e);return t};r.watch=ne},,,function(e,r,t){"use strict";const n=t(788);const i=t(508);const u=(e,r={})=>{let t=(e,u={})=>{let o=i.isInvalidBrace(u);let s=e.invalid===true&&r.escapeInvalid===true;let a=o===true||s===true;let f=r.escapeInvalid===true?"\\":"";let c="";if(e.isOpen===true){return f+e.value}if(e.isClose===true){return f+e.value}if(e.type==="open"){return a?f+e.value:"("}if(e.type==="close"){return a?f+e.value:")"}if(e.type==="comma"){return e.prev.type==="comma"?"":a?e.value:"|"}if(e.value){return e.value}if(e.nodes&&e.ranges>0){let t=i.reduce(e.nodes);let u=n(...t,{...r,wrap:false,toRegex:true});if(u.length!==0){return t.length>1&&u.length>1?`(${u})`:u}}if(e.nodes){for(let r of e.nodes){c+=t(r,e)}}return c};return t(e)};e.exports=u},,function(e,r,t){"use strict";var n=t(612);e.exports=table;var i=" ";var u="|";function table(e){var r=this;var t=r.options;var o=t.looseTable;var s=t.spacedTable;var a=t.paddedTable;var f=t.stringLength;var c=e.children;var l=c.length;var p=r.enterTable();var h=[];var v;var D;while(l--){h[l]=r.all(c[l])}p();if(o){v="";D=""}else if(s){v=u+i;D=i+u}else{v=u;D=u}return n(h,{align:e.align,pad:a,start:v,end:D,stringLength:f,delimiter:s?i+u+i:u})}},function(e,r,t){"use strict";var n=t(751);function resolveYamlNull(e){if(e===null)return true;var r=e.length;return r===1&&e==="~"||r===4&&(e==="null"||e==="Null"||e==="NULL")}function constructYamlNull(){return null}function isNull(e){return e===null}e.exports=new n("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},,,function(e){"use strict";e.exports=parseJson;function parseJson(e,r,t){t=t||20;try{return JSON.parse(e,r)}catch(r){if(typeof e!=="string"){const r=Array.isArray(e)&&e.length===0;const t="Cannot parse "+(r?"an empty array":String(e));throw new TypeError(t)}const n=r.message.match(/^Unexpected token.*position\s+(\d+)/i);const i=n?+n[1]:r.message.match(/^Unexpected end of JSON.*/i)?e.length-1:null;if(i!=null){const n=i<=t?0:i-t;const u=i+t>=e.length?e.length:i+t;r.message+=` while parsing near '${n===0?"":"..."}${e.slice(n,u)}${u===e.length?"":"..."}'`}else{r.message+=` while parsing '${e.slice(0,t*2)}'`}throw r}}},function(e){"use strict";e.exports=wordCharacter;var r=String.fromCharCode;var t=/\w/;function wordCharacter(e){return t.test(typeof e==="number"?r(e):e.charAt(0))}},,function(e){"use strict";e.exports=escapes;var r=["\\","`","*","{","}","[","]","(",")","#","+","-",".","!","_",">"];var t=r.concat(["~","|"]);var n=t.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);escapes.default=r;escapes.gfm=t;escapes.commonmark=n;function escapes(e){var i=e||{};if(i.commonmark){return n}return i.gfm?t:r}},,,,function(e){"use strict";e.exports=orderedItems;var r="\n";var t=".";var n=r+r;function orderedItems(e){var i=this;var u=i.visitors.listItem;var o=i.options.incrementListMarker;var s=[];var a=e.start;var f=e.children;var c=f.length;var l=-1;var p;a=a==null?1:a;while(++l","&","`"];var l=construct();var p=toExpression(c);var h=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var v=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g;function encode(e,r){var t=r||{};var n=t.subset;var i=n?toExpression(n):p;var u=t.escapeOnly;var o=t.omitOptionalSemicolons;e=e.replace(i,replace);if(n||u){return e}return e.replace(h,replaceSurrogatePair).replace(v,replace);function replaceSurrogatePair(e,r,t){return toHexReference((e.charCodeAt(0)-55296)*1024+e.charCodeAt(1)-56320+65536,t.charAt(r+2),o)}function replace(e,r,n){return one(e,n.charAt(r+1),t)}}function escape(e){return encode(e,{escapeOnly:true,useNamedReferences:true})}function one(e,r,t){var n=t.useShortestReferences;var i=t.omitOptionalSemicolons;var u;var o;var s;var a;if((n||t.useNamedReferences)&&f.call(l,e)){u=toNamed(l[e],r,i,t.attribute)}if(n||!u){o=e.charCodeAt(0);s=toHexReference(o,r,i);if(n){a=toDecimalReference(o,r,i);if(a.length"},{no:"Rfc",yes:"RFC"},{no:"[Rr][Ff][Cc]\\d+",yes:"RFC "},{no:"rfc",yes:"RFC"},{no:"UNIX",yes:"Unix"},{no:"unix",yes:"Unix"},{no:"v8",yes:"V8"}]],t(522),[t(723),"*"],[t(733),"padded"],t(248),[t(801),"*"]]},,function(e,r,t){var n=t(757);var i=Object.create(null);var u=t(266);e.exports=n(inflight);function inflight(e,r){if(i[e]){i[e].push(r);return null}else{i[e]=[r];return makeres(e)}}function makeres(e){return u(function RES(){var r=i[e];var t=r.length;var n=slice(arguments);try{for(var u=0;ut){r.splice(0,t);process.nextTick(function(){RES.apply(null,n)})}else{delete i[e]}}})}function slice(e){var r=e.length;var t=[];for(var n=0;nr?unescape(r):t))}else{throw new Error(`Invalid Chalk template style argument: ${r} (in style '${e}')`)}}return t}function parseStyle(e){t.lastIndex=0;const r=[];let n;while((n=t.exec(e))!==null){const e=n[1];if(n[2]){const t=parseArguments(e,n[2]);r.push([e].concat(t))}else{r.push([e])}}return r}function buildStyle(e,r){const t={};for(const e of r){for(const r of e.styles){t[r[0]]=e.inverse?null:r.slice(1)}}let n=e;for(const e of Object.keys(t)){if(Array.isArray(t[e])){if(!(e in n)){throw new Error(`Unknown Chalk style: ${e}`)}if(t[e].length>0){n=n[e].apply(n,t[e])}else{n=n[e]}}}return n}e.exports=((e,t)=>{const n=[];const i=[];let u=[];t.replace(r,(r,t,o,s,a,f)=>{if(t){u.push(unescape(t))}else if(s){const r=u.join("");u=[];i.push(n.length===0?r:buildStyle(e,n)(r));n.push({inverse:o,styles:parseStyle(s)})}else if(a){if(n.length===0){throw new Error("Found extraneous } in Chalk template literal")}i.push(buildStyle(e,n)(u.join("")));u=[];n.pop()}else{u.push(f)}});i.push(u.join(""));if(n.length>0){const e=`Chalk template literal is missing ${n.length} closing bracket${n.length===1?"":"s"} (\`}\`)`;throw new Error(e)}return i.join("")})},function(e){"use strict";e.exports=factory;function factory(e){return tokenize;function tokenize(r,t){var n=this;var i=n.offset;var u=[];var o=n[e+"Methods"];var s=n[e+"Tokenizers"];var a=t.line;var f=t.column;var c;var l;var p;var h;var v;var D;if(!r){return u}eat.now=now;eat.file=n.file;updatePosition("");while(r){c=-1;l=o.length;v=false;while(++cu){return}if(!g||!f&&o.charAt(l+1)===i){return}c=o.length+1;d="";while(++l>0},ToUint32:function(e){return e>>>0}}}();var o=Math.LN2,s=Math.abs,a=Math.floor,f=Math.log,c=Math.min,l=Math.pow,p=Math.round;function configureProperties(e){if(v&&h){var r=v(e),t;for(t=0;ti)throw new RangeError("Array too large for polyfill");function makeArrayAccessor(r){h(e,r,{get:function(){return e._getter(r)},set:function(t){e._setter(r,t)},enumerable:true,configurable:false})}var r;for(r=0;r>t}function as_unsigned(e,r){var t=32-r;return e<>>t}function packI8(e){return[e&255]}function unpackI8(e){return as_signed(e[0],8)}function packU8(e){return[e&255]}function unpackU8(e){return as_unsigned(e[0],8)}function packU8Clamped(e){e=p(Number(e));return[e<0?0:e>255?255:e&255]}function packI16(e){return[e>>8&255,e&255]}function unpackI16(e){return as_signed(e[0]<<8|e[1],16)}function packU16(e){return[e>>8&255,e&255]}function unpackU16(e){return as_unsigned(e[0]<<8|e[1],16)}function packI32(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}function unpackI32(e){return as_signed(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function packU32(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}function unpackU32(e){return as_unsigned(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function packIEEE754(e,r,t){var n=(1<.5)return r+1;return r%2?r+1:r}if(e!==e){u=(1<=l(2,1-n)){u=c(a(f(e)/o),1023);p=roundToEven(e/l(2,u)*l(2,t));if(p/l(2,t)>=2){u=u+1;p=1}if(u>n){u=(1<>1}}n.reverse();s=n.join("");a=(1<0){return f*l(2,c-a)*(1+p/l(2,t))}else if(p!==0){return f*l(2,-(a-1))*(p/l(2,t))}else{return f<0?-0:0}}function unpackF64(e){return unpackIEEE754(e,11,52)}function packF64(e){return packIEEE754(e,11,52)}function unpackF32(e){return unpackIEEE754(e,8,23)}function packF32(e){return packIEEE754(e,8,23)}(function(){var e=function ArrayBuffer(e){e=u.ToInt32(e);if(e<0)throw new RangeError("ArrayBuffer size is not a small enough positive integer");this.byteLength=e;this._bytes=[];this._bytes.length=e;var r;for(r=0;rthis.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(this.byteOffset%this.BYTES_PER_ELEMENT){throw new RangeError("ArrayBuffer length minus the byteOffset is not a multiple of the element size.")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset;if(this.byteLength%this.BYTES_PER_ELEMENT){throw new RangeError("length of buffer minus byteOffset not a multiple of the element size")}this.length=this.byteLength/this.BYTES_PER_ELEMENT}else{this.length=u.ToUint32(n);this.byteLength=this.length*this.BYTES_PER_ELEMENT}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}}else{throw new TypeError("Unexpected argument type(s)")}this.constructor=s;configureProperties(this);makeArrayAccessors(this)};s.prototype=new r;s.prototype.BYTES_PER_ELEMENT=t;s.prototype._pack=i;s.prototype._unpack=o;s.BYTES_PER_ELEMENT=t;s.prototype._getter=function(e){if(arguments.length<1)throw new SyntaxError("Not enough arguments");e=u.ToUint32(e);if(e>=this.length){return n}var r=[],t,i;for(t=0,i=this.byteOffset+e*this.BYTES_PER_ELEMENT;t=this.length){return n}var t=this._pack(r),i,o;for(i=0,o=this.byteOffset+e*this.BYTES_PER_ELEMENT;ithis.length){throw new RangeError("Offset plus length of array is out of range")}c=this.byteOffset+i*this.BYTES_PER_ELEMENT;l=t.length*this.BYTES_PER_ELEMENT;if(t.buffer===this.buffer){p=[];for(s=0,a=t.byteOffset;sthis.length){throw new RangeError("Offset plus length of array is out of range")}for(s=0;st?t:e}e=u.ToInt32(e);r=u.ToInt32(r);if(arguments.length<1){e=0}if(arguments.length<2){r=this.length}if(e<0){e=this.length+e}if(r<0){r=this.length+r}e=clamp(e,0,this.length);r=clamp(r,0,this.length);var t=r-e;if(t<0){t=0}return new this.constructor(this.buffer,this.byteOffset+e*this.BYTES_PER_ELEMENT,t)};return s}var i=makeConstructor(1,packI8,unpackI8);var o=makeConstructor(1,packU8,unpackU8);var s=makeConstructor(1,packU8Clamped,unpackU8);var a=makeConstructor(2,packI16,unpackI16);var f=makeConstructor(2,packU16,unpackU16);var c=makeConstructor(4,packI32,unpackI32);var l=makeConstructor(4,packU32,unpackU32);var p=makeConstructor(4,packF32,unpackF32);var h=makeConstructor(8,packF64,unpackF64);t.Int8Array=t.Int8Array||i;t.Uint8Array=t.Uint8Array||o;t.Uint8ClampedArray=t.Uint8ClampedArray||s;t.Int16Array=t.Int16Array||a;t.Uint16Array=t.Uint16Array||f;t.Int32Array=t.Int32Array||c;t.Uint32Array=t.Uint32Array||l;t.Float32Array=t.Float32Array||p;t.Float64Array=t.Float64Array||h})();(function(){function r(e,r){return u.IsCallable(e.get)?e.get(r):e[r]}var e=function(){var e=new t.Uint16Array([4660]),n=new t.Uint8Array(e.buffer);return r(n,0)===18}();var n=function DataView(e,r,n){if(arguments.length===0){e=new t.ArrayBuffer(0)}else if(!(e instanceof t.ArrayBuffer||u.Class(e)==="ArrayBuffer")){throw new TypeError("TypeError")}this.buffer=e||new t.ArrayBuffer(0);this.byteOffset=u.ToUint32(r);if(this.byteOffset>this.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset}else{this.byteLength=u.ToUint32(n)}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}configureProperties(this)};function makeGetter(n){return function(i,o){i=u.ToUint32(i);if(i+n.BYTES_PER_ELEMENT>this.byteLength){throw new RangeError("Array index out of range")}i+=this.byteOffset;var s=new t.Uint8Array(this.buffer,i,n.BYTES_PER_ELEMENT),a=[],f;for(f=0;fthis.byteLength){throw new RangeError("Array index out of range")}var a=new n([o]),f=new t.Uint8Array(a.buffer),c=[],l,p;for(l=0;l{let t=(e,i={})=>{let u=r.escapeInvalid&&n.isInvalidBrace(i);let o=e.invalid===true&&r.escapeInvalid===true;let s="";if(e.value){if((u||o)&&n.isOpenOrClose(e)){return"\\"+e.value}return e.value}if(e.value){return e.value}if(e.nodes){for(let r of e.nodes){s+=t(r)}}return s};return t(e)})},function(e){"use strict";e.exports=statistics;function statistics(e){var r={true:0,false:0,null:0};count(e);return{fatal:r.true,nonfatal:r.false+r.null,warn:r.false,info:r.null,total:r.true+r.false+r.null};function count(e){if(e){if(e[0]&&e[0].messages){countInAll(e)}else{countAll(e.messages||e)}}}function countInAll(e){var r=e.length;var t=-1;while(++t>10)+55296,(e-65536&1023)+56320)}var A=new Array(256);var C=new Array(256);for(var w=0;w<256;w++){A[w]=simpleEscapeSequence(w)?1:0;C[w]=simpleEscapeSequence(w)}function State(e,r){this.input=e;this.filename=r["filename"]||null;this.schema=r["schema"]||s;this.onWarning=r["onWarning"]||null;this.legacy=r["legacy"]||false;this.json=r["json"]||false;this.listener=r["listener"]||null;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=e.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.documents=[]}function generateError(e,r){return new i(r,new u(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function throwError(e,r){throw generateError(e,r)}function throwWarning(e,r){if(e.onWarning){e.onWarning.call(null,generateError(e,r))}}var y={YAML:function handleYamlDirective(e,r,t){var n,i,u;if(e.version!==null){throwError(e,"duplication of %YAML directive")}if(t.length!==1){throwError(e,"YAML directive accepts exactly one argument")}n=/^([0-9]+)\.([0-9]+)$/.exec(t[0]);if(n===null){throwError(e,"ill-formed argument of the YAML directive")}i=parseInt(n[1],10);u=parseInt(n[2],10);if(i!==1){throwError(e,"unacceptable YAML version of the document")}e.version=t[0];e.checkLineBreaks=u<2;if(u!==1&&u!==2){throwWarning(e,"unsupported YAML version of the document")}},TAG:function handleTagDirective(e,r,t){var n,i;if(t.length!==2){throwError(e,"TAG directive accepts exactly two arguments")}n=t[0];i=t[1];if(!E.test(n)){throwError(e,"ill-formed tag handle (first argument) of the TAG directive")}if(a.call(e.tagMap,n)){throwError(e,'there is a previously declared suffix for "'+n+'" tag handle')}if(!b.test(i)){throwError(e,"ill-formed tag prefix (second argument) of the TAG directive")}e.tagMap[n]=i}};function captureSegment(e,r,t,n){var i,u,o,s;if(r1){e.result+=n.repeat("\n",r-1)}}function readPlainScalar(e,r,t){var n,i,u,o,s,a,f,c,l=e.kind,p=e.result,h;h=e.input.charCodeAt(e.position);if(is_WS_OR_EOL(h)||is_FLOW_INDICATOR(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96){return false}if(h===63||h===45){i=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(i)||t&&is_FLOW_INDICATOR(i)){return false}}e.kind="scalar";e.result="";u=o=e.position;s=false;while(h!==0){if(h===58){i=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(i)||t&&is_FLOW_INDICATOR(i)){break}}else if(h===35){n=e.input.charCodeAt(e.position-1);if(is_WS_OR_EOL(n)){break}}else if(e.position===e.lineStart&&testDocumentSeparator(e)||t&&is_FLOW_INDICATOR(h)){break}else if(is_EOL(h)){a=e.line;f=e.lineStart;c=e.lineIndent;skipSeparationSpace(e,false,-1);if(e.lineIndent>=r){s=true;h=e.input.charCodeAt(e.position);continue}else{e.position=o;e.line=a;e.lineStart=f;e.lineIndent=c;break}}if(s){captureSegment(e,u,o,false);writeFoldedLines(e,e.line-a);u=o=e.position;s=false}if(!is_WHITE_SPACE(h)){o=e.position+1}h=e.input.charCodeAt(++e.position)}captureSegment(e,u,o,false);if(e.result){return true}e.kind=l;e.result=p;return false}function readSingleQuotedScalar(e,r){var t,n,i;t=e.input.charCodeAt(e.position);if(t!==39){return false}e.kind="scalar";e.result="";e.position++;n=i=e.position;while((t=e.input.charCodeAt(e.position))!==0){if(t===39){captureSegment(e,n,e.position,true);t=e.input.charCodeAt(++e.position);if(t===39){n=e.position;e.position++;i=e.position}else{return true}}else if(is_EOL(t)){captureSegment(e,n,i,true);writeFoldedLines(e,skipSeparationSpace(e,false,r));n=i=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a single quoted scalar")}else{e.position++;i=e.position}}throwError(e,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(e,r){var t,n,i,u,o,s;s=e.input.charCodeAt(e.position);if(s!==34){return false}e.kind="scalar";e.result="";e.position++;t=n=e.position;while((s=e.input.charCodeAt(e.position))!==0){if(s===34){captureSegment(e,t,e.position,true);e.position++;return true}else if(s===92){captureSegment(e,t,e.position,true);s=e.input.charCodeAt(++e.position);if(is_EOL(s)){skipSeparationSpace(e,false,r)}else if(s<256&&A[s]){e.result+=C[s];e.position++}else if((o=escapedHexLen(s))>0){i=o;u=0;for(;i>0;i--){s=e.input.charCodeAt(++e.position);if((o=fromHexCode(s))>=0){u=(u<<4)+o}else{throwError(e,"expected hexadecimal character")}}e.result+=charFromCodepoint(u);e.position++}else{throwError(e,"unknown escape sequence")}t=n=e.position}else if(is_EOL(s)){captureSegment(e,t,n,true);writeFoldedLines(e,skipSeparationSpace(e,false,r));t=n=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a double quoted scalar")}else{e.position++;n=e.position}}throwError(e,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(e,r){var t=true,n,i=e.tag,u,o=e.anchor,s,a,c,l,p,h={},v,D,d,g;g=e.input.charCodeAt(e.position);if(g===91){a=93;p=false;u=[]}else if(g===123){a=125;p=true;u={}}else{return false}if(e.anchor!==null){e.anchorMap[e.anchor]=u}g=e.input.charCodeAt(++e.position);while(g!==0){skipSeparationSpace(e,true,r);g=e.input.charCodeAt(e.position);if(g===a){e.position++;e.tag=i;e.anchor=o;e.kind=p?"mapping":"sequence";e.result=u;return true}else if(!t){throwError(e,"missed comma between flow collection entries")}D=v=d=null;c=l=false;if(g===63){s=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(s)){c=l=true;e.position++;skipSeparationSpace(e,true,r)}}n=e.line;composeNode(e,r,f,false,true);D=e.tag;v=e.result;skipSeparationSpace(e,true,r);g=e.input.charCodeAt(e.position);if((l||e.line===n)&&g===58){c=true;g=e.input.charCodeAt(++e.position);skipSeparationSpace(e,true,r);composeNode(e,r,f,false,true);d=e.result}if(p){storeMappingPair(e,u,h,D,v,d)}else if(c){u.push(storeMappingPair(e,null,h,D,v,d))}else{u.push(v)}skipSeparationSpace(e,true,r);g=e.input.charCodeAt(e.position);if(g===44){t=true;g=e.input.charCodeAt(++e.position)}else{t=false}}throwError(e,"unexpected end of the stream within a flow collection")}function readBlockScalar(e,r){var t,i,u=h,o=false,s=false,a=r,f=0,c=false,l,p;p=e.input.charCodeAt(e.position);if(p===124){i=false}else if(p===62){i=true}else{return false}e.kind="scalar";e.result="";while(p!==0){p=e.input.charCodeAt(++e.position);if(p===43||p===45){if(h===u){u=p===43?D:v}else{throwError(e,"repeat of a chomping mode identifier")}}else if((l=fromDecimalCode(p))>=0){if(l===0){throwError(e,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!s){a=r+l-1;s=true}else{throwError(e,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(p)){do{p=e.input.charCodeAt(++e.position)}while(is_WHITE_SPACE(p));if(p===35){do{p=e.input.charCodeAt(++e.position)}while(!is_EOL(p)&&p!==0)}}while(p!==0){readLineBreak(e);e.lineIndent=0;p=e.input.charCodeAt(e.position);while((!s||e.lineIndenta){a=e.lineIndent}if(is_EOL(p)){f++;continue}if(e.lineIndentr)&&a!==0){throwError(e,"bad indentation of a sequence entry")}else if(e.lineIndentr){if(composeNode(e,r,p,true,i)){if(d){v=e.result}else{D=e.result}}if(!d){storeMappingPair(e,f,l,h,v,D,u,o);h=v=D=null}skipSeparationSpace(e,true,-1);m=e.input.charCodeAt(e.position)}if(e.lineIndent>r&&m!==0){throwError(e,"bad indentation of a mapping entry")}else if(e.lineIndentr){h=1}else if(e.lineIndent===r){h=0}else if(e.lineIndentr){h=1}else if(e.lineIndent===r){h=0}else if(e.lineIndent tag; it should be "'+m.kind+'", not "'+e.kind+'"')}if(!m.resolve(e.result)){throwError(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}else{e.result=m.construct(e.result);if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}}}else{throwError(e,"unknown tag !<"+e.tag+">")}}if(e.listener!==null){e.listener("close",e)}return e.tag!==null||e.anchor!==null||D}function readDocument(e){var r=e.position,t,n,i,u=false,o;e.version=null;e.checkLineBreaks=e.legacy;e.tagMap={};e.anchorMap={};while((o=e.input.charCodeAt(e.position))!==0){skipSeparationSpace(e,true,-1);o=e.input.charCodeAt(e.position);if(e.lineIndent>0||o!==37){break}u=true;o=e.input.charCodeAt(++e.position);t=e.position;while(o!==0&&!is_WS_OR_EOL(o)){o=e.input.charCodeAt(++e.position)}n=e.input.slice(t,e.position);i=[];if(n.length<1){throwError(e,"directive name must not be less than one character in length")}while(o!==0){while(is_WHITE_SPACE(o)){o=e.input.charCodeAt(++e.position)}if(o===35){do{o=e.input.charCodeAt(++e.position)}while(o!==0&&!is_EOL(o));break}if(is_EOL(o))break;t=e.position;while(o!==0&&!is_WS_OR_EOL(o)){o=e.input.charCodeAt(++e.position)}i.push(e.input.slice(t,e.position))}if(o!==0)readLineBreak(e);if(a.call(y,n)){y[n](e,n,i)}else{throwWarning(e,'unknown document directive "'+n+'"')}}skipSeparationSpace(e,true,-1);if(e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45){e.position+=3;skipSeparationSpace(e,true,-1)}else if(u){throwError(e,"directives end mark is expected")}composeNode(e,e.lineIndent-1,p,false,true);skipSeparationSpace(e,true,-1);if(e.checkLineBreaks&&g.test(e.input.slice(r,e.position))){throwWarning(e,"non-ASCII line breaks are interpreted as content")}e.documents.push(e.result);if(e.position===e.lineStart&&testDocumentSeparator(e)){if(e.input.charCodeAt(e.position)===46){e.position+=3;skipSeparationSpace(e,true,-1)}return}if(e.position{if(Array.isArray(e)){const n=e.map(e=>a(e,r,t));return e=>{for(const r of n){const t=r(e);if(t)return t}return false}}if(typeof e!=="string"||e===""){throw new TypeError("Expected pattern to be a non-empty string")}const n=r||{};const i=o.isWindows(r);const u=a.makeRe(e,r,false,true);const s=u.state;delete u.state;let f=()=>false;if(n.ignore){const e={...r,ignore:null,onMatch:null,onResult:null};f=a(n.ignore,e,t)}const c=(t,o=false)=>{const{isMatch:c,match:l,output:p}=a.test(t,u,r,{glob:e,posix:i});const h={glob:e,state:s,regex:u,posix:i,input:t,output:p,match:l,isMatch:c};if(typeof n.onResult==="function"){n.onResult(h)}if(c===false){h.isMatch=false;return o?h:false}if(f(t)){if(typeof n.onIgnore==="function"){n.onIgnore(h)}h.isMatch=false;return o?h:false}if(typeof n.onMatch==="function"){n.onMatch(h)}return o?h:true};if(t){c.state=s}return c};a.test=((e,r,t,{glob:n,posix:i}={})=>{if(typeof e!=="string"){throw new TypeError("Expected input to be a string")}if(e===""){return{isMatch:false,output:""}}const u=t||{};const s=u.format||(i?o.toPosixSlashes:null);let f=e===n;let c=f&&s?s(e):e;if(f===false){c=s?s(e):e;f=c===n}if(f===false||u.capture===true){if(u.matchBase===true||u.basename===true){f=a.matchBase(e,r,t,i)}else{f=r.exec(c)}}return{isMatch:!!f,match:f,output:c}});a.matchBase=((e,r,t,i=o.isWindows(t))=>{const u=r instanceof RegExp?r:a.makeRe(r,t);return u.test(n.basename(e))});a.isMatch=((e,r,t)=>a(r,t)(e));a.parse=((e,r)=>u(e,r));a.scan=((e,r)=>i(e,r));a.makeRe=((e,r,t=false,n=false)=>{if(!e||typeof e!=="string"){throw new TypeError("Expected a non-empty string")}const i=r||{};const o=i.contains?"":"^";const s=i.contains?"":"$";let f={negated:false,fastpaths:true};let c="";let l;if(e.startsWith("./")){e=e.slice(2);c=f.prefix="./"}if(i.fastpaths!==false&&(e[0]==="."||e[0]==="*")){l=u.fastpaths(e,r)}if(l===void 0){f=a.parse(e,r);f.prefix=c+(f.prefix||"");l=f.output}if(t===true){return l}let p=`${o}(?:${l})${s}`;if(f&&f.negated===true){p=`^(?!${p}).*$`}const h=a.toRegex(p,r);if(n===true){h.state=f}return h});a.toRegex=((e,r)=>{try{const t=r||{};return new RegExp(e,t.flags||(t.nocase?"i":""))}catch(e){if(r&&r.debug===true)throw e;return/$^/}});a.constants=s;e.exports=a},,function(e,r,t){e.exports=minimatch;minimatch.Minimatch=Minimatch;var n={sep:"/"};try{n=t(622)}catch(e){}var i=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var u=t(336);var o={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var s="[^/]";var a=s+"*?";var f="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var c="(?:(?!(?:\\/|^)\\.).)*?";var l=charSet("().*{}+?[]^$\\!");function charSet(e){return e.split("").reduce(function(e,r){e[r]=true;return e},{})}var p=/\/+/;minimatch.filter=filter;function filter(e,r){r=r||{};return function(t,n,i){return minimatch(t,e,r)}}function ext(e,r){e=e||{};r=r||{};var t={};Object.keys(r).forEach(function(e){t[e]=r[e]});Object.keys(e).forEach(function(r){t[r]=e[r]});return t}minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return minimatch;var r=minimatch;var t=function minimatch(t,n,i){return r.minimatch(t,n,ext(e,i))};t.Minimatch=function Minimatch(t,n){return new r.Minimatch(t,ext(e,n))};return t};Minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return Minimatch;return minimatch.defaults(e).Minimatch};function minimatch(e,r,t){if(typeof r!=="string"){throw new TypeError("glob pattern string required")}if(!t)t={};if(!t.nocomment&&r.charAt(0)==="#"){return false}if(r.trim()==="")return e==="";return new Minimatch(r,t).match(e)}function Minimatch(e,r){if(!(this instanceof Minimatch)){return new Minimatch(e,r)}if(typeof e!=="string"){throw new TypeError("glob pattern string required")}if(!r)r={};e=e.trim();if(n.sep!=="/"){e=e.split(n.sep).join("/")}this.options=r;this.set=[];this.pattern=e;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){if(this._made)return;var e=this.pattern;var r=this.options;if(!r.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();var t=this.globSet=this.braceExpand();if(r.debug)this.debug=console.error;this.debug(this.pattern,t);t=this.globParts=t.map(function(e){return e.split(p)});this.debug(this.pattern,t);t=t.map(function(e,r,t){return e.map(this.parse,this)},this);this.debug(this.pattern,t);t=t.filter(function(e){return e.indexOf(false)===-1});this.debug(this.pattern,t);this.set=t}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var e=this.pattern;var r=false;var t=this.options;var n=0;if(t.nonegate)return;for(var i=0,u=e.length;i1024*64){throw new TypeError("pattern is too long")}var t=this.options;if(!t.noglobstar&&e==="**")return i;if(e==="")return"";var n="";var u=!!t.nocase;var f=false;var c=[];var p=[];var v;var D=false;var d=-1;var g=-1;var m=e.charAt(0)==="."?"":t.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var E=this;function clearStateChar(){if(v){switch(v){case"*":n+=a;u=true;break;case"?":n+=s;u=true;break;default:n+="\\"+v;break}E.debug("clearStateChar %j %j",v,n);v=false}}for(var b=0,A=e.length,C;b-1;O--){var x=p[O];var k=n.slice(0,x.reStart);var R=n.slice(x.reStart,x.reEnd-8);var T=n.slice(x.reEnd-8,x.reEnd);var I=n.slice(x.reEnd);T+=I;var L=k.split("(").length-1;var M=I;for(b=0;b=0;o--){u=e[o];if(u)break}for(o=0;o>> no match, partial?",e,l,r,p);if(l===s)return true}return false}var v;if(typeof f==="string"){if(n.nocase){v=c.toLowerCase()===f.toLowerCase()}else{v=c===f}this.debug("string match",f,c,v)}else{v=c.match(f);this.debug("pattern match",f,c,v)}if(!v)return false}if(u===s&&o===a){return true}else if(u===s){return t}else if(o===a){var D=u===s-1&&e[u]==="";return D}throw new Error("wtf?")};function globUnescape(e){return e.replace(/\\(.)/g,"$1")}function regExpEscape(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},function(e,r,t){"use strict";var n=t(11);var i=t(977);var u=t(261);var o=t(240);var s=Object.prototype.toString;var a=Object.prototype.hasOwnProperty;var f=9;var c=10;var l=32;var p=33;var h=34;var v=35;var D=37;var d=38;var g=39;var m=42;var E=44;var b=45;var A=58;var C=62;var w=63;var y=64;var F=91;var S=93;var _=96;var B=123;var O=124;var x=125;var k={};k[0]="\\0";k[7]="\\a";k[8]="\\b";k[9]="\\t";k[10]="\\n";k[11]="\\v";k[12]="\\f";k[13]="\\r";k[27]="\\e";k[34]='\\"';k[92]="\\\\";k[133]="\\N";k[160]="\\_";k[8232]="\\L";k[8233]="\\P";var R=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function compileStyleMap(e,r){var t,n,i,u,o,s,f;if(r===null)return{};t={};n=Object.keys(r);for(i=0,u=n.length;in&&e[l+1]!==" ";l=u}}else if(!isPrintable(o)){return j}p=p&&isPlainSafe(o)}a=a||f&&(u-l-1>n&&e[l+1]!==" ")}if(!s&&!a){return p&&!i(e)?T:I}if(t>9&&needIndentIndicator(e)){return j}return a?M:L}function writeScalar(e,r,t,n){e.dump=function(){if(r.length===0){return"''"}if(!e.noCompatMode&&R.indexOf(r)!==-1){return"'"+r+"'"}var u=e.indent*Math.max(1,t);var o=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-u);var s=n||e.flowLevel>-1&&t>=e.flowLevel;function testAmbiguity(r){return testImplicitResolving(e,r)}switch(chooseScalarStyle(r,s,e.indent,o,testAmbiguity)){case T:return r;case I:return"'"+r.replace(/'/g,"''")+"'";case L:return"|"+blockHeader(r,e.indent)+dropEndingNewline(indentString(r,u));case M:return">"+blockHeader(r,e.indent)+dropEndingNewline(indentString(foldString(r,o),u));case j:return'"'+escapeString(r,o)+'"';default:throw new i("impossible error: invalid scalar style")}}()}function blockHeader(e,r){var t=needIndentIndicator(e)?String(r):"";var n=e[e.length-1]==="\n";var i=n&&(e[e.length-2]==="\n"||e==="\n");var u=i?"+":n?"":"-";return t+u+"\n"}function dropEndingNewline(e){return e[e.length-1]==="\n"?e.slice(0,-1):e}function foldString(e,r){var t=/(\n+)([^\n]*)/g;var n=function(){var n=e.indexOf("\n");n=n!==-1?n:e.length;t.lastIndex=n;return foldLine(e.slice(0,n),r)}();var i=e[0]==="\n"||e[0]===" ";var u;var o;while(o=t.exec(e)){var s=o[1],a=o[2];u=a[0]===" ";n+=s+(!i&&!u&&a!==""?"\n":"")+foldLine(a,r);i=u}return n}function foldLine(e,r){if(e===""||e[0]===" ")return e;var t=/ [^ ]/g;var n;var i=0,u,o=0,s=0;var a="";while(n=t.exec(e)){s=n.index;if(s-i>r){u=o>i?o:s;a+="\n"+e.slice(i,u);i=u+1}o=s}a+="\n";if(e.length-i>r&&o>i){a+=e.slice(i,o)+"\n"+e.slice(o+1)}else{a+=e.slice(i)}return a.slice(1)}function escapeString(e){var r="";var t,n;var i;for(var u=0;u=55296&&t<=56319){n=e.charCodeAt(u+1);if(n>=56320&&n<=57343){r+=encodeHex((t-55296)*1024+n-56320+65536);u++;continue}}i=k[t];r+=!i&&isPrintable(t)?e[u]:i||encodeHex(t)}return r}function writeFlowSequence(e,r,t){var n="",i=e.tag,u,o;for(u=0,o=t.length;u1024)c+="? ";c+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" ");if(!writeNode(e,r,f,false,false)){continue}c+=e.dump;n+=c}e.tag=i;e.dump="{"+n+"}"}function writeBlockMapping(e,r,t,n){var u="",o=e.tag,s=Object.keys(t),a,f,l,p,h,v;if(e.sortKeys===true){s.sort()}else if(typeof e.sortKeys==="function"){s.sort(e.sortKeys)}else if(e.sortKeys){throw new i("sortKeys must be a boolean or a function")}for(a=0,f=s.length;a1024;if(h){if(e.dump&&c===e.dump.charCodeAt(0)){v+="?"}else{v+="? "}}v+=e.dump;if(h){v+=generateNextLine(e,r)}if(!writeNode(e,r+1,p,true,h)){continue}if(e.dump&&c===e.dump.charCodeAt(0)){v+=":"}else{v+=": "}v+=e.dump;u+=v}e.tag=o;e.dump=u||"{}"}function detectType(e,r,t){var n,u,o,f,c,l;u=t?e.explicitTypes:e.implicitTypes;for(o=0,f=u.length;o tag resolver accepts not "'+l+'" style')}e.dump=n}return true}}return false}function writeNode(e,r,t,n,u,o){e.tag=null;e.dump=t;if(!detectType(e,t,false)){detectType(e,t,true)}var a=s.call(e.dump);if(n){n=e.flowLevel<0||e.flowLevel>r}var f=a==="[object Object]"||a==="[object Array]",c,l;if(f){c=e.duplicates.indexOf(t);l=c!==-1}if(e.tag!==null&&e.tag!=="?"||l||e.indent!==2&&r>0){u=false}if(l&&e.usedDuplicates[c]){e.dump="*ref_"+c}else{if(f&&l&&!e.usedDuplicates[c]){e.usedDuplicates[c]=true}if(a==="[object Object]"){if(n&&Object.keys(e.dump).length!==0){writeBlockMapping(e,r,e.dump,u);if(l){e.dump="&ref_"+c+e.dump}}else{writeFlowMapping(e,r,e.dump);if(l){e.dump="&ref_"+c+" "+e.dump}}}else if(a==="[object Array]"){var p=e.noArrayIndent&&r>0?r-1:r;if(n&&e.dump.length!==0){writeBlockSequence(e,p,e.dump,u);if(l){e.dump="&ref_"+c+e.dump}}else{writeFlowSequence(e,p,e.dump);if(l){e.dump="&ref_"+c+" "+e.dump}}}else if(a==="[object String]"){if(e.tag!=="?"){writeScalar(e,e.dump,r,o)}}else{if(e.skipInvalid)return false;throw new i("unacceptable kind of an object to dump "+a)}if(e.tag!==null&&e.tag!=="?"){e.dump="!<"+e.tag+"> "+e.dump}}return true}function getDuplicateReferences(e,r){var t=[],n=[],i,u;inspectNode(e,t,n);for(i=0,u=n.length;i(function(){const t=e.apply(n,arguments);return`[${t+r}m`});const u=(e,r)=>(function(){const t=e.apply(n,arguments);return`[${38+r};5;${t}m`});const o=(e,r)=>(function(){const t=e.apply(n,arguments);return`[${38+r};2;${t[0]};${t[1]};${t[2]}m`});function assembleStyles(){const e=new Map;const r={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};r.color.grey=r.color.gray;for(const t of Object.keys(r)){const n=r[t];for(const t of Object.keys(n)){const i=n[t];r[t]={open:`[${i[0]}m`,close:`[${i[1]}m`};n[t]=r[t];e.set(i[0],i[1])}Object.defineProperty(r,t,{value:n,enumerable:false});Object.defineProperty(r,"codes",{value:e,enumerable:false})}const t=e=>e;const s=(e,r,t)=>[e,r,t];r.color.close="";r.bgColor.close="";r.color.ansi={ansi:i(t,0)};r.color.ansi256={ansi256:u(t,0)};r.color.ansi16m={rgb:o(s,0)};r.bgColor.ansi={ansi:i(t,10)};r.bgColor.ansi256={ansi256:u(t,10)};r.bgColor.ansi16m={rgb:o(s,10)};for(let e of Object.keys(n)){if(typeof n[e]!=="object"){continue}const t=n[e];if(e==="ansi16"){e="ansi"}if("ansi16"in t){r.color.ansi[e]=i(t.ansi16,0);r.bgColor.ansi[e]=i(t.ansi16,10)}if("ansi256"in t){r.color.ansi256[e]=u(t.ansi256,0);r.bgColor.ansi256[e]=u(t.ansi256,10)}if("rgb"in t){r.color.ansi16m[e]=o(t.rgb,0);r.bgColor.ansi16m[e]=o(t.rgb,10)}}return r}Object.defineProperty(e,"exports",{enumerable:true,get:assembleStyles})},function(e,r,t){"use strict";var n=t(250);var i=t(608);var u=t(623);var o=t(754);var s=t(105);var a=t(973);e.exports=options;var f={unknown:handleUnknownArgument,default:{},alias:{},string:[],boolean:[]};a.forEach(addEach);function options(e,r){var t=r.extensions[0];var n=r.name;var i=toCamelCase(u(e,f));var o;var c;var l;a.forEach(function(e){if(e.type==="string"&&i[e.long]===""){throw s("Missing value:%s",inspect(e).join(" "))}});c=commaSeparated(i.ext);l=reporter(i.report);o=[inspectAll(a),"","Examples:",""," # Process `input."+t+"`"," $ "+n+" input."+t+" -o output."+t,""," # Pipe"," $ "+n+" < input."+t+" > output."+t,""," # Rewrite all applicable files"," $ "+n+" . -o"].join("\n");return{helpMessage:o,cwd:r.cwd,processor:r.processor,help:i.help,version:i.version,files:i._,filePath:i.filePath,watch:i.watch,extensions:c.length===0?r.extensions:c,output:i.output,out:i.stdout,tree:i.tree,treeIn:i.treeIn,treeOut:i.treeOut,inspect:i.inspect,rcName:r.rcName,packageField:r.packageField,rcPath:i.rcPath,detectConfig:i.config,settings:settings(i.setting),ignoreName:r.ignoreName,ignorePath:i.ignorePath,ignorePatterns:commaSeparated(i.ignorePattern),detectIgnore:i.ignore,pluginPrefix:r.pluginPrefix,plugins:plugins(i.use),reporter:l[0],reporterOptions:l[1],color:i.color,silent:i.silent,quiet:i.quiet,frail:i.frail}}function addEach(e){var r=e.default;f.default[e.long]=r===undefined?null:r;if(e.type in f){f[e.type].push(e.long)}if(e.short){f.alias[e.short]=e.long}}function commaSeparated(e){return flatten(normalize(e).map(splitList))}function plugins(e){var r={};normalize(e).map(splitOptions).forEach(function(e){r[e[0]]=e[1]?parseConfig(e[1],{}):null});return r}function reporter(e){var r=normalize(e).map(splitOptions).map(function(e){return[e[0],e[1]?parseConfig(e[1],{}):null]});return r[r.length-1]||[]}function settings(e){var r={};normalize(e).forEach(function(e){parseConfig(e,r)});return r}function parseConfig(e,r){var t;var n;try{e=toCamelCase(parseJSON(e))}catch(r){n=r.message.replace(/at(?= position)/,"around");throw s("Cannot parse `%s` as JSON: %s",e,n)}for(t in e){r[t]=e[t]}return r}function handleUnknownArgument(e){if(e.charAt(0)!=="-"){return}if(e.charAt(1)==="-"){throw s("Unknown option `%s`, expected:\n%s",e,inspectAll(a))}e.slice(1).split("").forEach(each);function each(e){var r=a.length;var t=-1;var n;while(++t{if(typeof r==="string"){t=r;r=null}try{try{return JSON.parse(e,r)}catch(t){i(e,r);throw t}}catch(e){e.message=e.message.replace(/\n/g,"");const r=new u(e);if(t){r.fileName=t}throw r}})},,function(e,r,t){"use strict";var n=t(279);e.exports=enter;function enter(e,r){var t=e.encode;var i=e.escape;var u=e.enterLink();if(r.referenceType!=="shortcut"&&r.referenceType!=="collapsed"){return u}e.escape=n;e.encode=n;return exit;function exit(){e.encode=t;e.escape=i;u()}}},function(e,r,t){var n=t(798);var i=function(){};var u=t(362);e.exports=wrapped;function wrapped(e){function wrap(){var r=n(arguments);var t=r[r.length-1];var o=this;var s=typeof t=="function"?r.pop():i;if(!e){return s.apply(o,[null].concat(r))}if(generator(e)){return u(e).apply(o,r.concat(s))}if(e.length>r.length){try{return e.apply(o,r.concat(s))}catch(e){return s(e)}}return sync(e,s).apply(o,r)}return wrap}function sync(e,r){return function(){var t;try{t=e.apply(this,arguments)}catch(e){return r(e)}if(promise(t)){t.then(function(e){r(null,e)},r)}else{t instanceof Error?r(t):r(null,t)}}}function generator(e){return e&&e.constructor&&"GeneratorFunction"==e.constructor.name}function promise(e){return e&&"function"==typeof e.then}},,,function(e){"use strict";e.exports=unorderedItems;var r="\n";var t=r+r;function unorderedItems(e){var n=this;var i=n.options.bullet;var u=n.visitors.listItem;var o=e.children;var s=o.length;var a=-1;var f=[];while(++a2&&a.slice(-2)==="[]"){a=a.substring(0,a.length-2);if(!t[a]){t[a]=[]}else if(!Array.isArray(t[a])){t[a]=[t[a]]}}if(Array.isArray(t[a])){t[a].push(f)}else{t[a]=f}});Object.keys(r).filter(function(e,t,n){if(!r[e]||typeof r[e]!=="object"||Array.isArray(r[e])){return false}var i=dotSplit(e);var u=r;var o=i.pop();var s=o.replace(/\\\./g,".");i.forEach(function(e,r,t){if(!u[e]||typeof u[e]!=="object")u[e]={};u=u[e]});if(u===r&&s===o){return false}u[s]=r[e];return true}).forEach(function(e,t,n){delete r[e]});return r}function isQuoted(e){return e.charAt(0)==='"'&&e.slice(-1)==='"'||e.charAt(0)==="'"&&e.slice(-1)==="'"}function safe(e){return typeof e!=="string"||e.match(/[=\r\n]/)||e.match(/^\[/)||e.length>1&&isQuoted(e)||e!==e.trim()?JSON.stringify(e):e.replace(/;/g,"\\;").replace(/#/g,"\\#")}function unsafe(e,r){e=(e||"").trim();if(isQuoted(e)){if(e.charAt(0)==="'"){e=e.substr(1,e.length-2)}try{e=JSON.parse(e)}catch(e){}}else{var t=false;var n="";for(var i=0,u=e.length;i-1&&t.charAt(n)!=="\n"){r.message("Missing newline character at end of file")}}},,function(e,r){"use strict";var t="[a-zA-Z_:][a-zA-Z0-9:._-]*";var n="[^\"'=<>`\\u0000-\\u0020]+";var i="'[^']*'";var u='"[^"]*"';var o="(?:"+n+"|"+i+"|"+u+")";var s="(?:\\s+"+t+"(?:\\s*=\\s*"+o+")?)";var a="<[A-Za-z][A-Za-z0-9\\-]*"+s+"*\\s*\\/?>";var f="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";var c="\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e";var l="<[?].*?[?]>";var p="]*>";var h="";r.openCloseTag=new RegExp("^(?:"+a+"|"+f+")");r.tag=new RegExp("^(?:"+a+"|"+f+"|"+c+"|"+l+"|"+p+"|"+h+")")},,,,function(e,r,t){"use strict";const n=t(622);const i=process.platform==="win32";const{REGEX_BACKSLASH:u,REGEX_REMOVE_BACKSLASH:o,REGEX_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_GLOBAL:a}=t(80);r.isObject=(e=>e!==null&&typeof e==="object"&&!Array.isArray(e));r.hasRegexChars=(e=>s.test(e));r.isRegexChar=(e=>e.length===1&&r.hasRegexChars(e));r.escapeRegex=(e=>e.replace(a,"\\$1"));r.toPosixSlashes=(e=>e.replace(u,"/"));r.removeBackslashes=(e=>{return e.replace(o,e=>{return e==="\\"?"":e})});r.supportsLookbehinds=(()=>{const e=process.version.slice(1).split(".").map(Number);if(e.length===3&&e[0]>=9||e[0]===8&&e[1]>=10){return true}return false});r.isWindows=(e=>{if(e&&typeof e.windows==="boolean"){return e.windows}return i===true||n.sep==="\\"});r.escapeLast=((e,t,n)=>{const i=e.lastIndexOf(t,n);if(i===-1)return e;if(e[i-1]==="\\")return r.escapeLast(e,t,i-1);return e.slice(0,i)+"\\"+e.slice(i)});r.removePrefix=((e,r={})=>{let t=e;if(t.startsWith("./")){t=t.slice(2);r.prefix="./"}return t});r.wrapOutput=((e,r={},t={})=>{const n=t.contains?"":"^";const i=t.contains?"":"$";let u=`${n}(?:${e})${i}`;if(r.negated===true){u=`(?:^(?!${u}).*$)`}return u})},function(e,r,t){"use strict";var n=t(751);e.exports=new n("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})},function(e,r,t){"use strict";var n=t(540);var i=t(679);var u=t(106);e.exports=autoLink;autoLink.locator=u;autoLink.notInLink=true;var o="<";var s=">";var a="@";var f="/";var c="mailto:";var l=c.length;function autoLink(e,r,t){var u=this;var p="";var h=r.length;var v=0;var D="";var d=false;var g="";var m;var E;var b;var A;var C;if(r.charAt(0)!==o){return}v++;p=o;while(v=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},function(e,r,t){"use strict";var n=t(541);var i=t(372);var u=t(189);e.exports=n("remark-lint:no-shell-dollars",noShellDollars);var o="Do not use dollar signs before shell-commands";var s=["sh","bash","bats","cgi","command","fcgi","ksh","tmux","tool","zsh"];function noShellDollars(e,r){i(e,"code",visitor);function visitor(e){var t;var n;var i;var a;if(!u(e)&&e.lang&&s.indexOf(e.lang)!==-1){t=e.value.split("\n");i=t.length;a=-1;if(i<=1){return}while(++a{if(Number.isNaN(e)){return false}if(e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141)){return true}return false};e.exports=r;e.exports.default=r},,function(e,r,t){e.exports=realpath;realpath.realpath=realpath;realpath.sync=realpathSync;realpath.realpathSync=realpathSync;realpath.monkeypatch=monkeypatch;realpath.unmonkeypatch=unmonkeypatch;var n=t(747);var i=n.realpath;var u=n.realpathSync;var o=process.version;var s=/^v[0-5]\./.test(o);var a=t(263);function newError(e){return e&&e.syscall==="realpath"&&(e.code==="ELOOP"||e.code==="ENOMEM"||e.code==="ENAMETOOLONG")}function realpath(e,r,t){if(s){return i(e,r,t)}if(typeof r==="function"){t=r;r=null}i(e,r,function(n,i){if(newError(n)){a.realpath(e,r,t)}else{t(n,i)}})}function realpathSync(e,r){if(s){return u(e,r)}try{return u(e,r)}catch(t){if(newError(t)){return a.realpathSync(e,r)}else{throw t}}}function monkeypatch(){n.realpath=realpath;n.realpathSync=realpathSync}function unmonkeypatch(){n.realpath=i;n.realpathSync=u}},function(e){e.exports=[{long:"help",description:"output usage information",short:"h",type:"boolean",default:false},{long:"version",description:"output version number",short:"v",type:"boolean",default:false},{long:"output",description:"specify output location",short:"o",value:"[path]"},{long:"rc-path",description:"specify configuration file",short:"r",type:"string",value:""},{long:"ignore-path",description:"specify ignore file",short:"i",type:"string",value:""},{long:"setting",description:"specify settings",short:"s",type:"string",value:""},{long:"ext",description:"specify extensions",short:"e",type:"string",value:""},{long:"use",description:"use plugins",short:"u",type:"string",value:""},{long:"watch",description:"watch for changes and reprocess",short:"w",type:"boolean",default:false},{long:"quiet",description:"output only warnings and errors",short:"q",type:"boolean",default:false},{long:"silent",description:"output only errors",short:"S",type:"boolean",default:false},{long:"frail",description:"exit with 1 on warnings",short:"f",type:"boolean",default:false},{long:"tree",description:"specify input and output as syntax tree",short:"t",type:"boolean",default:false},{long:"report",description:"specify reporter",type:"string",value:""},{long:"file-path",description:"specify path to process as",type:"string",value:""},{long:"ignore-pattern",description:"specify ignore patterns",type:"string",value:""},{long:"tree-in",description:"specify input as syntax tree",type:"boolean"},{long:"tree-out",description:"output syntax tree",type:"boolean"},{long:"inspect",description:"output formatted syntax tree",type:"boolean"},{long:"stdout",description:"specify writing to stdout",type:"boolean",truelike:true},{long:"color",description:"specify color in report",type:"boolean",default:true},{long:"config",description:"search for configuration files",type:"boolean",default:true},{long:"ignore",description:"search for ignore files",type:"boolean",default:true}]},,function(e){"use strict";e.exports=text;function text(e,r){return this.encode(this.escape(e.value,e,r),e)}},,function(e){"use strict";function YAMLException(e,r){Error.call(this);this.name="YAMLException";this.reason=e;this.mark=r;this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():"");if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=(new Error).stack||""}}YAMLException.prototype=Object.create(Error.prototype);YAMLException.prototype.constructor=YAMLException;YAMLException.prototype.toString=function toString(e){var r=this.name+": ";r+=this.reason||"(unknown reason)";if(!e&&this.mark){r+=" "+this.mark.toString()}return r};e.exports=YAMLException},,,,function(e){e.exports=function isBuffer(e){return e!=null&&e.constructor!=null&&typeof e.constructor.isBuffer==="function"&&e.constructor.isBuffer(e)}},,function(e){e.exports=extend;var r=Object.prototype.hasOwnProperty;function extend(){var e={};for(var t=0;t0){const r=peek();if(!n.isHexDigit(r)){throw invalidChar(read())}e+=read()}return String.fromCodePoint(parseInt(e,16))}const E={start(){if(c.type==="eof"){throw invalidEOF()}push()},beforePropertyName(){switch(c.type){case"identifier":case"string":l=c.value;u="afterPropertyName";return;case"punctuator":pop();return;case"eof":throw invalidEOF()}},afterPropertyName(){if(c.type==="eof"){throw invalidEOF()}u="beforePropertyValue"},beforePropertyValue(){if(c.type==="eof"){throw invalidEOF()}push()},beforeArrayValue(){if(c.type==="eof"){throw invalidEOF()}if(c.type==="punctuator"&&c.value==="]"){pop();return}push()},afterPropertyValue(){if(c.type==="eof"){throw invalidEOF()}switch(c.value){case",":u="beforePropertyName";return;case"}":pop()}},afterArrayValue(){if(c.type==="eof"){throw invalidEOF()}switch(c.value){case",":u="beforeArrayValue";return;case"]":pop()}},end(){}};function push(){let e;switch(c.type){case"punctuator":switch(c.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=c.value;break}if(p===undefined){p=e}else{const r=o[o.length-1];if(Array.isArray(r)){r.push(e)}else{r[l]=e}}if(e!==null&&typeof e==="object"){o.push(e);if(Array.isArray(e)){u="beforeArrayValue"}else{u="beforePropertyName"}}else{const e=o[o.length-1];if(e==null){u="end"}else if(Array.isArray(e)){u="afterArrayValue"}else{u="afterPropertyValue"}}}function pop(){o.pop();const e=o[o.length-1];if(e==null){u="end"}else if(Array.isArray(e)){u="afterArrayValue"}else{u="afterPropertyValue"}}function invalidChar(e){if(e===undefined){return syntaxError(`JSON5: invalid end of input at ${a}:${f}`)}return syntaxError(`JSON5: invalid character '${formatChar(e)}' at ${a}:${f}`)}function invalidEOF(){return syntaxError(`JSON5: invalid end of input at ${a}:${f}`)}function invalidIdentifier(){f-=5;return syntaxError(`JSON5: invalid identifier character at ${a}:${f}`)}function separatorChar(e){console.warn(`JSON5: '${formatChar(e)}' in strings is not valid ECMAScript; consider escaping`)}function formatChar(e){const r={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(r[e]){return r[e]}if(e<" "){const r=e.charCodeAt(0).toString(16);return"\\x"+("00"+r).substring(r.length)}return e}function syntaxError(e){const r=new SyntaxError(e);r.lineNumber=a;r.columnNumber=f;return r}},function(e){"use strict";e.exports=tableCell;var r=/\r?\n/g;function tableCell(e){return this.all(e).join("").replace(r," ")}},,,,,,,function(e,r,t){"use strict";var n=t(981);var i=t(408);e.exports=toVFile;function toVFile(e){if(typeof e==="string"||n(e)){e={path:String(e)}}return i(e)}},,,function(e){"use strict";e.exports=style;function style(e,r){var t=e.children[e.children.length-1];var n=e.depth;var i=e&&e.position&&e.position.end;var u=t&&t.position&&t.position.end;if(!i){return null}if(!t){if(i.column-1<=n*2){return consolidate(n,r)}return"atx-closed"}if(u.line+1===i.line){return"setext"}if(u.column+n0&&v.indent params.length; + var result; + + if (callback) { + params.push(done); + } + + try { + result = fn.apply(null, params); + } catch (error) { + // Well, this is quite the pickle. + // `fn` received a callback and invoked it (thus continuing the pipeline), + // but later also threw an error. + // We’re not about to restart the pipeline again, so the only thing left + // to do is to throw the thing instead. + if (callback && invoked) { + throw error + } + + return done(error) + } + + if (!callback) { + if (result && typeof result.then === 'function') { + result.then(then, done); + } else if (result instanceof Error) { + done(result); + } else { + then(result); + } + } + } + + // Invoke `next`, only once. + function done() { + if (!invoked) { + invoked = true; + + callback.apply(null, arguments); + } + } + + // Invoke `done` with one value. + // Tracks if an error is passed, too. + function then(value) { + done(null, value); + } +} + +var trough_1 = trough; + +trough.wrap = wrap_1; + +var slice$1 = [].slice; + +// Create new middleware. +function trough() { + var fns = []; + var middleware = {}; + + middleware.run = run; + middleware.use = use; + + return middleware + + // Run `fns`. Last argument must be a completion handler. + function run() { + var index = -1; + var input = slice$1.call(arguments, 0, -1); + var done = arguments[arguments.length - 1]; + + if (typeof done !== 'function') { + throw new Error('Expected function as last argument, not ' + done) + } + + next.apply(null, [null].concat(input)); + + // Run the next `fn`, if any. + function next(err) { + var fn = fns[++index]; + var params = slice$1.call(arguments, 0); + var values = params.slice(1); + var length = input.length; + var pos = -1; + + if (err) { + done(err); + return + } + + // Copy non-nully input into values. + while (++pos < length) { + if (values[pos] === null || values[pos] === undefined) { + values[pos] = input[pos]; + } + } + + input = values; + + // Next or done. + if (fn) { + wrap_1(fn, next).apply(null, input); + } else { + done.apply(null, [null].concat(input)); + } + } + } + + // Add `fn` to the list. + function use(fn) { + if (typeof fn !== 'function') { + throw new Error('Expected `fn` to be a function, not ' + fn) + } + + fns.push(fn); + + return middleware + } +} + +function commonjsRequire () { + throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs'); +} + +function unwrapExports (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} + +function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; +} + +function getCjsExportFromNamespace (n) { + return n && n['default'] || n; +} + +function isNothing(subject) { + return (typeof subject === 'undefined') || (subject === null); +} + + +function isObject(subject) { + return (typeof subject === 'object') && (subject !== null); +} + + +function toArray(sequence) { + if (Array.isArray(sequence)) return sequence; + else if (isNothing(sequence)) return []; + + return [ sequence ]; +} + + +function extend(target, source) { + var index, length, key, sourceKeys; + + if (source) { + sourceKeys = Object.keys(source); + + for (index = 0, length = sourceKeys.length; index < length; index += 1) { + key = sourceKeys[index]; + target[key] = source[key]; + } + } + + return target; +} + + +function repeat(string, count) { + var result = '', cycle; + + for (cycle = 0; cycle < count; cycle += 1) { + result += string; + } + + return result; +} + + +function isNegativeZero(number) { + return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number); +} + + +var isNothing_1 = isNothing; +var isObject_1 = isObject; +var toArray_1 = toArray; +var repeat_1 = repeat; +var isNegativeZero_1 = isNegativeZero; +var extend_1 = extend; + +var common = { + isNothing: isNothing_1, + isObject: isObject_1, + toArray: toArray_1, + repeat: repeat_1, + isNegativeZero: isNegativeZero_1, + extend: extend_1 +}; + +// YAML error class. http://stackoverflow.com/questions/8458984 + +function YAMLException(reason, mark) { + // Super constructor + Error.call(this); + + this.name = 'YAMLException'; + this.reason = reason; + this.mark = mark; + this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : ''); + + // Include stack trace in error object + if (Error.captureStackTrace) { + // Chrome and NodeJS + Error.captureStackTrace(this, this.constructor); + } else { + // FF, IE 10+ and Safari 6+. Fallback for others + this.stack = (new Error()).stack || ''; + } +} + + +// Inherit from Error +YAMLException.prototype = Object.create(Error.prototype); +YAMLException.prototype.constructor = YAMLException; + + +YAMLException.prototype.toString = function toString(compact) { + var result = this.name + ': '; + + result += this.reason || '(unknown reason)'; + + if (!compact && this.mark) { + result += ' ' + this.mark.toString(); + } + + return result; +}; + + +var exception = YAMLException; + +function Mark(name, buffer, position, line, column) { + this.name = name; + this.buffer = buffer; + this.position = position; + this.line = line; + this.column = column; +} + + +Mark.prototype.getSnippet = function getSnippet(indent, maxLength) { + var head, start, tail, end, snippet; + + if (!this.buffer) return null; + + indent = indent || 4; + maxLength = maxLength || 75; + + head = ''; + start = this.position; + + while (start > 0 && '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(start - 1)) === -1) { + start -= 1; + if (this.position - start > (maxLength / 2 - 1)) { + head = ' ... '; + start += 5; + break; + } + } + + tail = ''; + end = this.position; + + while (end < this.buffer.length && '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(end)) === -1) { + end += 1; + if (end - this.position > (maxLength / 2 - 1)) { + tail = ' ... '; + end -= 5; + break; + } + } + + snippet = this.buffer.slice(start, end); + + return common.repeat(' ', indent) + head + snippet + tail + '\n' + + common.repeat(' ', indent + this.position - start + head.length) + '^'; +}; + + +Mark.prototype.toString = function toString(compact) { + var snippet, where = ''; + + if (this.name) { + where += 'in "' + this.name + '" '; + } + + where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1); + + if (!compact) { + snippet = this.getSnippet(); + + if (snippet) { + where += ':\n' + snippet; + } + } + + return where; +}; + + +var mark = Mark; + +var TYPE_CONSTRUCTOR_OPTIONS = [ + 'kind', + 'resolve', + 'construct', + 'instanceOf', + 'predicate', + 'represent', + 'defaultStyle', + 'styleAliases' +]; + +var YAML_NODE_KINDS = [ + 'scalar', + 'sequence', + 'mapping' +]; + +function compileStyleAliases(map) { + var result = {}; + + if (map !== null) { + Object.keys(map).forEach(function (style) { + map[style].forEach(function (alias) { + result[String(alias)] = style; + }); + }); + } + + return result; +} + +function Type(tag, options) { + options = options || {}; + + Object.keys(options).forEach(function (name) { + if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { + throw new exception('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); + } + }); + + // TODO: Add tag format check. + this.tag = tag; + this.kind = options['kind'] || null; + this.resolve = options['resolve'] || function () { return true; }; + this.construct = options['construct'] || function (data) { return data; }; + this.instanceOf = options['instanceOf'] || null; + this.predicate = options['predicate'] || null; + this.represent = options['represent'] || null; + this.defaultStyle = options['defaultStyle'] || null; + this.styleAliases = compileStyleAliases(options['styleAliases'] || null); + + if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { + throw new exception('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); + } +} + +var type = Type; + +/*eslint-disable max-len*/ + + + + + + +function compileList(schema, name, result) { + var exclude = []; + + schema.include.forEach(function (includedSchema) { + result = compileList(includedSchema, name, result); + }); + + schema[name].forEach(function (currentType) { + result.forEach(function (previousType, previousIndex) { + if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) { + exclude.push(previousIndex); + } + }); + + result.push(currentType); + }); + + return result.filter(function (type, index) { + return exclude.indexOf(index) === -1; + }); +} + + +function compileMap(/* lists... */) { + var result = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {} + }, index, length; + + function collectType(type) { + result[type.kind][type.tag] = result['fallback'][type.tag] = type; + } + + for (index = 0, length = arguments.length; index < length; index += 1) { + arguments[index].forEach(collectType); + } + return result; +} + + +function Schema(definition) { + this.include = definition.include || []; + this.implicit = definition.implicit || []; + this.explicit = definition.explicit || []; + + this.implicit.forEach(function (type) { + if (type.loadKind && type.loadKind !== 'scalar') { + throw new exception('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'); + } + }); + + this.compiledImplicit = compileList(this, 'implicit', []); + this.compiledExplicit = compileList(this, 'explicit', []); + this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit); +} + + +Schema.DEFAULT = null; + + +Schema.create = function createSchema() { + var schemas, types; + + switch (arguments.length) { + case 1: + schemas = Schema.DEFAULT; + types = arguments[0]; + break; + + case 2: + schemas = arguments[0]; + types = arguments[1]; + break; + + default: + throw new exception('Wrong number of arguments for Schema.create function'); + } + + schemas = common.toArray(schemas); + types = common.toArray(types); + + if (!schemas.every(function (schema) { return schema instanceof Schema; })) { + throw new exception('Specified list of super schemas (or a single Schema object) contains a non-Schema object.'); + } + + if (!types.every(function (type$1) { return type$1 instanceof type; })) { + throw new exception('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + + return new Schema({ + include: schemas, + explicit: types + }); +}; + + +var schema = Schema; + +var str = new type('tag:yaml.org,2002:str', { + kind: 'scalar', + construct: function (data) { return data !== null ? data : ''; } +}); + +var seq = new type('tag:yaml.org,2002:seq', { + kind: 'sequence', + construct: function (data) { return data !== null ? data : []; } +}); + +var map = new type('tag:yaml.org,2002:map', { + kind: 'mapping', + construct: function (data) { return data !== null ? data : {}; } +}); + +var failsafe = new schema({ + explicit: [ + str, + seq, + map + ] +}); + +function resolveYamlNull(data) { + if (data === null) return true; + + var max = data.length; + + return (max === 1 && data === '~') || + (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL')); +} + +function constructYamlNull() { + return null; +} + +function isNull(object) { + return object === null; +} + +var _null = new type('tag:yaml.org,2002:null', { + kind: 'scalar', + resolve: resolveYamlNull, + construct: constructYamlNull, + predicate: isNull, + represent: { + canonical: function () { return '~'; }, + lowercase: function () { return 'null'; }, + uppercase: function () { return 'NULL'; }, + camelcase: function () { return 'Null'; } + }, + defaultStyle: 'lowercase' +}); + +function resolveYamlBoolean(data) { + if (data === null) return false; + + var max = data.length; + + return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) || + (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE')); +} + +function constructYamlBoolean(data) { + return data === 'true' || + data === 'True' || + data === 'TRUE'; +} + +function isBoolean(object) { + return Object.prototype.toString.call(object) === '[object Boolean]'; +} + +var bool = new type('tag:yaml.org,2002:bool', { + kind: 'scalar', + resolve: resolveYamlBoolean, + construct: constructYamlBoolean, + predicate: isBoolean, + represent: { + lowercase: function (object) { return object ? 'true' : 'false'; }, + uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; }, + camelcase: function (object) { return object ? 'True' : 'False'; } + }, + defaultStyle: 'lowercase' +}); + +function isHexCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) || + ((0x41/* A */ <= c) && (c <= 0x46/* F */)) || + ((0x61/* a */ <= c) && (c <= 0x66/* f */)); +} + +function isOctCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */)); +} + +function isDecCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)); +} + +function resolveYamlInteger(data) { + if (data === null) return false; + + var max = data.length, + index = 0, + hasDigits = false, + ch; + + if (!max) return false; + + ch = data[index]; + + // sign + if (ch === '-' || ch === '+') { + ch = data[++index]; + } + + if (ch === '0') { + // 0 + if (index + 1 === max) return true; + ch = data[++index]; + + // base 2, base 8, base 16 + + if (ch === 'b') { + // base 2 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (ch !== '0' && ch !== '1') return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + + if (ch === 'x') { + // base 16 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isHexCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + // base 8 + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isOctCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + // base 10 (except 0) or base 60 + + // value should not start with `_`; + if (ch === '_') return false; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (ch === ':') break; + if (!isDecCode(data.charCodeAt(index))) { + return false; + } + hasDigits = true; + } + + // Should have digits and should not end with `_` + if (!hasDigits || ch === '_') return false; + + // if !base60 - done; + if (ch !== ':') return true; + + // base60 almost not used, no needs to optimize + return /^(:[0-5]?[0-9])+$/.test(data.slice(index)); +} + +function constructYamlInteger(data) { + var value = data, sign = 1, ch, base, digits = []; + + if (value.indexOf('_') !== -1) { + value = value.replace(/_/g, ''); + } + + ch = value[0]; + + if (ch === '-' || ch === '+') { + if (ch === '-') sign = -1; + value = value.slice(1); + ch = value[0]; + } + + if (value === '0') return 0; + + if (ch === '0') { + if (value[1] === 'b') return sign * parseInt(value.slice(2), 2); + if (value[1] === 'x') return sign * parseInt(value, 16); + return sign * parseInt(value, 8); + } + + if (value.indexOf(':') !== -1) { + value.split(':').forEach(function (v) { + digits.unshift(parseInt(v, 10)); + }); + + value = 0; + base = 1; + + digits.forEach(function (d) { + value += (d * base); + base *= 60; + }); + + return sign * value; + + } + + return sign * parseInt(value, 10); +} + +function isInteger(object) { + return (Object.prototype.toString.call(object)) === '[object Number]' && + (object % 1 === 0 && !common.isNegativeZero(object)); +} + +var int_1 = new type('tag:yaml.org,2002:int', { + kind: 'scalar', + resolve: resolveYamlInteger, + construct: constructYamlInteger, + predicate: isInteger, + represent: { + binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); }, + octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); }, + decimal: function (obj) { return obj.toString(10); }, + /* eslint-disable max-len */ + hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); } + }, + defaultStyle: 'decimal', + styleAliases: { + binary: [ 2, 'bin' ], + octal: [ 8, 'oct' ], + decimal: [ 10, 'dec' ], + hexadecimal: [ 16, 'hex' ] + } +}); + +var YAML_FLOAT_PATTERN = new RegExp( + // 2.5e4, 2.5 and integers + '^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' + + // .2e4, .2 + // special case, seems not from spec + '|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' + + // 20:59 + '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*' + + // .inf + '|[-+]?\\.(?:inf|Inf|INF)' + + // .nan + '|\\.(?:nan|NaN|NAN))$'); + +function resolveYamlFloat(data) { + if (data === null) return false; + + if (!YAML_FLOAT_PATTERN.test(data) || + // Quick hack to not allow integers end with `_` + // Probably should update regexp & check speed + data[data.length - 1] === '_') { + return false; + } + + return true; +} + +function constructYamlFloat(data) { + var value, sign, base, digits; + + value = data.replace(/_/g, '').toLowerCase(); + sign = value[0] === '-' ? -1 : 1; + digits = []; + + if ('+-'.indexOf(value[0]) >= 0) { + value = value.slice(1); + } + + if (value === '.inf') { + return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; + + } else if (value === '.nan') { + return NaN; + + } else if (value.indexOf(':') >= 0) { + value.split(':').forEach(function (v) { + digits.unshift(parseFloat(v, 10)); + }); + + value = 0.0; + base = 1; + + digits.forEach(function (d) { + value += d * base; + base *= 60; + }); + + return sign * value; + + } + return sign * parseFloat(value, 10); +} + + +var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; + +function representYamlFloat(object, style) { + var res; + + if (isNaN(object)) { + switch (style) { + case 'lowercase': return '.nan'; + case 'uppercase': return '.NAN'; + case 'camelcase': return '.NaN'; + } + } else if (Number.POSITIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '.inf'; + case 'uppercase': return '.INF'; + case 'camelcase': return '.Inf'; + } + } else if (Number.NEGATIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '-.inf'; + case 'uppercase': return '-.INF'; + case 'camelcase': return '-.Inf'; + } + } else if (common.isNegativeZero(object)) { + return '-0.0'; + } + + res = object.toString(10); + + // JS stringifier can build scientific format without dots: 5e-100, + // while YAML requres dot: 5.e-100. Fix it with simple hack + + return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res; +} + +function isFloat(object) { + return (Object.prototype.toString.call(object) === '[object Number]') && + (object % 1 !== 0 || common.isNegativeZero(object)); +} + +var float_1 = new type('tag:yaml.org,2002:float', { + kind: 'scalar', + resolve: resolveYamlFloat, + construct: constructYamlFloat, + predicate: isFloat, + represent: representYamlFloat, + defaultStyle: 'lowercase' +}); + +var json = new schema({ + include: [ + failsafe + ], + implicit: [ + _null, + bool, + int_1, + float_1 + ] +}); + +var core = new schema({ + include: [ + json + ] +}); + +var YAML_DATE_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9])' + // [2] month + '-([0-9][0-9])$'); // [3] day + +var YAML_TIMESTAMP_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9]?)' + // [2] month + '-([0-9][0-9]?)' + // [3] day + '(?:[Tt]|[ \\t]+)' + // ... + '([0-9][0-9]?)' + // [4] hour + ':([0-9][0-9])' + // [5] minute + ':([0-9][0-9])' + // [6] second + '(?:\\.([0-9]*))?' + // [7] fraction + '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour + '(?::([0-9][0-9]))?))?$'); // [11] tz_minute + +function resolveYamlTimestamp(data) { + if (data === null) return false; + if (YAML_DATE_REGEXP.exec(data) !== null) return true; + if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; + return false; +} + +function constructYamlTimestamp(data) { + var match, year, month, day, hour, minute, second, fraction = 0, + delta = null, tz_hour, tz_minute, date; + + match = YAML_DATE_REGEXP.exec(data); + if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); + + if (match === null) throw new Error('Date resolve error'); + + // match: [1] year [2] month [3] day + + year = +(match[1]); + month = +(match[2]) - 1; // JS month starts with 0 + day = +(match[3]); + + if (!match[4]) { // no hour + return new Date(Date.UTC(year, month, day)); + } + + // match: [4] hour [5] minute [6] second [7] fraction + + hour = +(match[4]); + minute = +(match[5]); + second = +(match[6]); + + if (match[7]) { + fraction = match[7].slice(0, 3); + while (fraction.length < 3) { // milli-seconds + fraction += '0'; + } + fraction = +fraction; + } + + // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute + + if (match[9]) { + tz_hour = +(match[10]); + tz_minute = +(match[11] || 0); + delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds + if (match[9] === '-') delta = -delta; + } + + date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); + + if (delta) date.setTime(date.getTime() - delta); + + return date; +} + +function representYamlTimestamp(object /*, style*/) { + return object.toISOString(); +} + +var timestamp = new type('tag:yaml.org,2002:timestamp', { + kind: 'scalar', + resolve: resolveYamlTimestamp, + construct: constructYamlTimestamp, + instanceOf: Date, + represent: representYamlTimestamp +}); + +function resolveYamlMerge(data) { + return data === '<<' || data === null; +} + +var merge = new type('tag:yaml.org,2002:merge', { + kind: 'scalar', + resolve: resolveYamlMerge +}); + +/*eslint-disable no-bitwise*/ + +var NodeBuffer; + +try { + // A trick for browserified version, to not include `Buffer` shim + var _require = commonjsRequire; + NodeBuffer = _require('buffer').Buffer; +} catch (__) {} + + + + +// [ 64, 65, 66 ] -> [ padding, CR, LF ] +var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r'; + + +function resolveYamlBinary(data) { + if (data === null) return false; + + var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP; + + // Convert one by one. + for (idx = 0; idx < max; idx++) { + code = map.indexOf(data.charAt(idx)); + + // Skip CR/LF + if (code > 64) continue; + + // Fail on illegal characters + if (code < 0) return false; + + bitlen += 6; + } + + // If there are any bits left, source was corrupted + return (bitlen % 8) === 0; +} + +function constructYamlBinary(data) { + var idx, tailbits, + input = data.replace(/[\r\n=]/g, ''), // remove CR/LF & padding to simplify scan + max = input.length, + map = BASE64_MAP, + bits = 0, + result = []; + + // Collect by 6*4 bits (3 bytes) + + for (idx = 0; idx < max; idx++) { + if ((idx % 4 === 0) && idx) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } + + bits = (bits << 6) | map.indexOf(input.charAt(idx)); + } + + // Dump tail + + tailbits = (max % 4) * 6; + + if (tailbits === 0) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } else if (tailbits === 18) { + result.push((bits >> 10) & 0xFF); + result.push((bits >> 2) & 0xFF); + } else if (tailbits === 12) { + result.push((bits >> 4) & 0xFF); + } + + // Wrap into Buffer for NodeJS and leave Array for browser + if (NodeBuffer) { + // Support node 6.+ Buffer API when available + return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result); + } + + return result; +} + +function representYamlBinary(object /*, style*/) { + var result = '', bits = 0, idx, tail, + max = object.length, + map = BASE64_MAP; + + // Convert every three bytes to 4 ASCII characters. + + for (idx = 0; idx < max; idx++) { + if ((idx % 3 === 0) && idx) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } + + bits = (bits << 8) + object[idx]; + } + + // Dump tail + + tail = max % 3; + + if (tail === 0) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } else if (tail === 2) { + result += map[(bits >> 10) & 0x3F]; + result += map[(bits >> 4) & 0x3F]; + result += map[(bits << 2) & 0x3F]; + result += map[64]; + } else if (tail === 1) { + result += map[(bits >> 2) & 0x3F]; + result += map[(bits << 4) & 0x3F]; + result += map[64]; + result += map[64]; + } + + return result; +} + +function isBinary(object) { + return NodeBuffer && NodeBuffer.isBuffer(object); +} + +var binary = new type('tag:yaml.org,2002:binary', { + kind: 'scalar', + resolve: resolveYamlBinary, + construct: constructYamlBinary, + predicate: isBinary, + represent: representYamlBinary +}); + +var _hasOwnProperty = Object.prototype.hasOwnProperty; +var _toString = Object.prototype.toString; + +function resolveYamlOmap(data) { + if (data === null) return true; + + var objectKeys = [], index, length, pair, pairKey, pairHasKey, + object = data; + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + pairHasKey = false; + + if (_toString.call(pair) !== '[object Object]') return false; + + for (pairKey in pair) { + if (_hasOwnProperty.call(pair, pairKey)) { + if (!pairHasKey) pairHasKey = true; + else return false; + } + } + + if (!pairHasKey) return false; + + if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey); + else return false; + } + + return true; +} + +function constructYamlOmap(data) { + return data !== null ? data : []; +} + +var omap = new type('tag:yaml.org,2002:omap', { + kind: 'sequence', + resolve: resolveYamlOmap, + construct: constructYamlOmap +}); + +var _toString$1 = Object.prototype.toString; + +function resolveYamlPairs(data) { + if (data === null) return true; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + if (_toString$1.call(pair) !== '[object Object]') return false; + + keys = Object.keys(pair); + + if (keys.length !== 1) return false; + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return true; +} + +function constructYamlPairs(data) { + if (data === null) return []; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + keys = Object.keys(pair); + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return result; +} + +var pairs = new type('tag:yaml.org,2002:pairs', { + kind: 'sequence', + resolve: resolveYamlPairs, + construct: constructYamlPairs +}); + +var _hasOwnProperty$1 = Object.prototype.hasOwnProperty; + +function resolveYamlSet(data) { + if (data === null) return true; + + var key, object = data; + + for (key in object) { + if (_hasOwnProperty$1.call(object, key)) { + if (object[key] !== null) return false; + } + } + + return true; +} + +function constructYamlSet(data) { + return data !== null ? data : {}; +} + +var set = new type('tag:yaml.org,2002:set', { + kind: 'mapping', + resolve: resolveYamlSet, + construct: constructYamlSet +}); + +var default_safe = new schema({ + include: [ + core + ], + implicit: [ + timestamp, + merge + ], + explicit: [ + binary, + omap, + pairs, + set + ] +}); + +function resolveJavascriptUndefined() { + return true; +} + +function constructJavascriptUndefined() { + /*eslint-disable no-undefined*/ + return undefined; +} + +function representJavascriptUndefined() { + return ''; +} + +function isUndefined(object) { + return typeof object === 'undefined'; +} + +var _undefined = new type('tag:yaml.org,2002:js/undefined', { + kind: 'scalar', + resolve: resolveJavascriptUndefined, + construct: constructJavascriptUndefined, + predicate: isUndefined, + represent: representJavascriptUndefined +}); + +function resolveJavascriptRegExp(data) { + if (data === null) return false; + if (data.length === 0) return false; + + var regexp = data, + tail = /\/([gim]*)$/.exec(data), + modifiers = ''; + + // if regexp starts with '/' it can have modifiers and must be properly closed + // `/foo/gim` - modifiers tail can be maximum 3 chars + if (regexp[0] === '/') { + if (tail) modifiers = tail[1]; + + if (modifiers.length > 3) return false; + // if expression starts with /, is should be properly terminated + if (regexp[regexp.length - modifiers.length - 1] !== '/') return false; + } + + return true; +} + +function constructJavascriptRegExp(data) { + var regexp = data, + tail = /\/([gim]*)$/.exec(data), + modifiers = ''; + + // `/foo/gim` - tail can be maximum 4 chars + if (regexp[0] === '/') { + if (tail) modifiers = tail[1]; + regexp = regexp.slice(1, regexp.length - modifiers.length - 1); + } + + return new RegExp(regexp, modifiers); +} + +function representJavascriptRegExp(object /*, style*/) { + var result = '/' + object.source + '/'; + + if (object.global) result += 'g'; + if (object.multiline) result += 'm'; + if (object.ignoreCase) result += 'i'; + + return result; +} + +function isRegExp(object) { + return Object.prototype.toString.call(object) === '[object RegExp]'; +} + +var regexp = new type('tag:yaml.org,2002:js/regexp', { + kind: 'scalar', + resolve: resolveJavascriptRegExp, + construct: constructJavascriptRegExp, + predicate: isRegExp, + represent: representJavascriptRegExp +}); + +var esprima; + +// Browserified version does not have esprima +// +// 1. For node.js just require module as deps +// 2. For browser try to require mudule via external AMD system. +// If not found - try to fallback to window.esprima. If not +// found too - then fail to parse. +// +try { + // workaround to exclude package from browserify list. + var _require$1 = commonjsRequire; + esprima = _require$1('esprima'); +} catch (_) { + /*global window */ + if (typeof window !== 'undefined') esprima = window.esprima; +} + + + +function resolveJavascriptFunction(data) { + if (data === null) return false; + + try { + var source = '(' + data + ')', + ast = esprima.parse(source, { range: true }); + + if (ast.type !== 'Program' || + ast.body.length !== 1 || + ast.body[0].type !== 'ExpressionStatement' || + (ast.body[0].expression.type !== 'ArrowFunctionExpression' && + ast.body[0].expression.type !== 'FunctionExpression')) { + return false; + } + + return true; + } catch (err) { + return false; + } +} + +function constructJavascriptFunction(data) { + /*jslint evil:true*/ + + var source = '(' + data + ')', + ast = esprima.parse(source, { range: true }), + params = [], + body; + + if (ast.type !== 'Program' || + ast.body.length !== 1 || + ast.body[0].type !== 'ExpressionStatement' || + (ast.body[0].expression.type !== 'ArrowFunctionExpression' && + ast.body[0].expression.type !== 'FunctionExpression')) { + throw new Error('Failed to resolve function'); + } + + ast.body[0].expression.params.forEach(function (param) { + params.push(param.name); + }); + + body = ast.body[0].expression.body.range; + + // Esprima's ranges include the first '{' and the last '}' characters on + // function expressions. So cut them out. + if (ast.body[0].expression.body.type === 'BlockStatement') { + /*eslint-disable no-new-func*/ + return new Function(params, source.slice(body[0] + 1, body[1] - 1)); + } + // ES6 arrow functions can omit the BlockStatement. In that case, just return + // the body. + /*eslint-disable no-new-func*/ + return new Function(params, 'return ' + source.slice(body[0], body[1])); +} + +function representJavascriptFunction(object /*, style*/) { + return object.toString(); +} + +function isFunction(object) { + return Object.prototype.toString.call(object) === '[object Function]'; +} + +var _function = new type('tag:yaml.org,2002:js/function', { + kind: 'scalar', + resolve: resolveJavascriptFunction, + construct: constructJavascriptFunction, + predicate: isFunction, + represent: representJavascriptFunction +}); + +var default_full = schema.DEFAULT = new schema({ + include: [ + default_safe + ], + explicit: [ + _undefined, + regexp, + _function + ] +}); + +/*eslint-disable max-len,no-use-before-define*/ + + + + + + + + +var _hasOwnProperty$2 = Object.prototype.hasOwnProperty; + + +var CONTEXT_FLOW_IN = 1; +var CONTEXT_FLOW_OUT = 2; +var CONTEXT_BLOCK_IN = 3; +var CONTEXT_BLOCK_OUT = 4; + + +var CHOMPING_CLIP = 1; +var CHOMPING_STRIP = 2; +var CHOMPING_KEEP = 3; + + +var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; +var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; +var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; +var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; + + +function _class(obj) { return Object.prototype.toString.call(obj); } + +function is_EOL(c) { + return (c === 0x0A/* LF */) || (c === 0x0D/* CR */); +} + +function is_WHITE_SPACE(c) { + return (c === 0x09/* Tab */) || (c === 0x20/* Space */); +} + +function is_WS_OR_EOL(c) { + return (c === 0x09/* Tab */) || + (c === 0x20/* Space */) || + (c === 0x0A/* LF */) || + (c === 0x0D/* CR */); +} + +function is_FLOW_INDICATOR(c) { + return c === 0x2C/* , */ || + c === 0x5B/* [ */ || + c === 0x5D/* ] */ || + c === 0x7B/* { */ || + c === 0x7D/* } */; +} + +function fromHexCode(c) { + var lc; + + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + /*eslint-disable no-bitwise*/ + lc = c | 0x20; + + if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) { + return lc - 0x61 + 10; + } + + return -1; +} + +function escapedHexLen(c) { + if (c === 0x78/* x */) { return 2; } + if (c === 0x75/* u */) { return 4; } + if (c === 0x55/* U */) { return 8; } + return 0; +} + +function fromDecimalCode(c) { + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + return -1; +} + +function simpleEscapeSequence(c) { + /* eslint-disable indent */ + return (c === 0x30/* 0 */) ? '\x00' : + (c === 0x61/* a */) ? '\x07' : + (c === 0x62/* b */) ? '\x08' : + (c === 0x74/* t */) ? '\x09' : + (c === 0x09/* Tab */) ? '\x09' : + (c === 0x6E/* n */) ? '\x0A' : + (c === 0x76/* v */) ? '\x0B' : + (c === 0x66/* f */) ? '\x0C' : + (c === 0x72/* r */) ? '\x0D' : + (c === 0x65/* e */) ? '\x1B' : + (c === 0x20/* Space */) ? ' ' : + (c === 0x22/* " */) ? '\x22' : + (c === 0x2F/* / */) ? '/' : + (c === 0x5C/* \ */) ? '\x5C' : + (c === 0x4E/* N */) ? '\x85' : + (c === 0x5F/* _ */) ? '\xA0' : + (c === 0x4C/* L */) ? '\u2028' : + (c === 0x50/* P */) ? '\u2029' : ''; +} + +function charFromCodepoint(c) { + if (c <= 0xFFFF) { + return String.fromCharCode(c); + } + // Encode UTF-16 surrogate pair + // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF + return String.fromCharCode( + ((c - 0x010000) >> 10) + 0xD800, + ((c - 0x010000) & 0x03FF) + 0xDC00 + ); +} + +var simpleEscapeCheck = new Array(256); // integer, for fast access +var simpleEscapeMap = new Array(256); +for (var i = 0; i < 256; i++) { + simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; + simpleEscapeMap[i] = simpleEscapeSequence(i); +} + + +function State(input, options) { + this.input = input; + + this.filename = options['filename'] || null; + this.schema = options['schema'] || default_full; + this.onWarning = options['onWarning'] || null; + this.legacy = options['legacy'] || false; + this.json = options['json'] || false; + this.listener = options['listener'] || null; + + this.implicitTypes = this.schema.compiledImplicit; + this.typeMap = this.schema.compiledTypeMap; + + this.length = input.length; + this.position = 0; + this.line = 0; + this.lineStart = 0; + this.lineIndent = 0; + + this.documents = []; + + /* + this.version; + this.checkLineBreaks; + this.tagMap; + this.anchorMap; + this.tag; + this.anchor; + this.kind; + this.result;*/ + +} + + +function generateError(state, message) { + return new exception( + message, + new mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart))); +} + +function throwError(state, message) { + throw generateError(state, message); +} + +function throwWarning(state, message) { + if (state.onWarning) { + state.onWarning.call(null, generateError(state, message)); + } +} + + +var directiveHandlers = { + + YAML: function handleYamlDirective(state, name, args) { + + var match, major, minor; + + if (state.version !== null) { + throwError(state, 'duplication of %YAML directive'); + } + + if (args.length !== 1) { + throwError(state, 'YAML directive accepts exactly one argument'); + } + + match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); + + if (match === null) { + throwError(state, 'ill-formed argument of the YAML directive'); + } + + major = parseInt(match[1], 10); + minor = parseInt(match[2], 10); + + if (major !== 1) { + throwError(state, 'unacceptable YAML version of the document'); + } + + state.version = args[0]; + state.checkLineBreaks = (minor < 2); + + if (minor !== 1 && minor !== 2) { + throwWarning(state, 'unsupported YAML version of the document'); + } + }, + + TAG: function handleTagDirective(state, name, args) { + + var handle, prefix; + + if (args.length !== 2) { + throwError(state, 'TAG directive accepts exactly two arguments'); + } + + handle = args[0]; + prefix = args[1]; + + if (!PATTERN_TAG_HANDLE.test(handle)) { + throwError(state, 'ill-formed tag handle (first argument) of the TAG directive'); + } + + if (_hasOwnProperty$2.call(state.tagMap, handle)) { + throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); + } + + if (!PATTERN_TAG_URI.test(prefix)) { + throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive'); + } + + state.tagMap[handle] = prefix; + } +}; + + +function captureSegment(state, start, end, checkJson) { + var _position, _length, _character, _result; + + if (start < end) { + _result = state.input.slice(start, end); + + if (checkJson) { + for (_position = 0, _length = _result.length; _position < _length; _position += 1) { + _character = _result.charCodeAt(_position); + if (!(_character === 0x09 || + (0x20 <= _character && _character <= 0x10FFFF))) { + throwError(state, 'expected valid JSON character'); + } + } + } else if (PATTERN_NON_PRINTABLE.test(_result)) { + throwError(state, 'the stream contains non-printable characters'); + } + + state.result += _result; + } +} + +function mergeMappings(state, destination, source, overridableKeys) { + var sourceKeys, key, index, quantity; + + if (!common.isObject(source)) { + throwError(state, 'cannot merge mappings; the provided source object is unacceptable'); + } + + sourceKeys = Object.keys(source); + + for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { + key = sourceKeys[index]; + + if (!_hasOwnProperty$2.call(destination, key)) { + destination[key] = source[key]; + overridableKeys[key] = true; + } + } +} + +function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) { + var index, quantity; + + // The output is a plain object here, so keys can only be strings. + // We need to convert keyNode to a string, but doing so can hang the process + // (deeply nested arrays that explode exponentially using aliases). + if (Array.isArray(keyNode)) { + keyNode = Array.prototype.slice.call(keyNode); + + for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { + if (Array.isArray(keyNode[index])) { + throwError(state, 'nested arrays are not supported inside keys'); + } + + if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') { + keyNode[index] = '[object Object]'; + } + } + } + + // Avoid code execution in load() via toString property + // (still use its own toString for arrays, timestamps, + // and whatever user schema extensions happen to have @@toStringTag) + if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') { + keyNode = '[object Object]'; + } + + + keyNode = String(keyNode); + + if (_result === null) { + _result = {}; + } + + if (keyTag === 'tag:yaml.org,2002:merge') { + if (Array.isArray(valueNode)) { + for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { + mergeMappings(state, _result, valueNode[index], overridableKeys); + } + } else { + mergeMappings(state, _result, valueNode, overridableKeys); + } + } else { + if (!state.json && + !_hasOwnProperty$2.call(overridableKeys, keyNode) && + _hasOwnProperty$2.call(_result, keyNode)) { + state.line = startLine || state.line; + state.position = startPos || state.position; + throwError(state, 'duplicated mapping key'); + } + _result[keyNode] = valueNode; + delete overridableKeys[keyNode]; + } + + return _result; +} + +function readLineBreak(state) { + var ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x0A/* LF */) { + state.position++; + } else if (ch === 0x0D/* CR */) { + state.position++; + if (state.input.charCodeAt(state.position) === 0x0A/* LF */) { + state.position++; + } + } else { + throwError(state, 'a line break is expected'); + } + + state.line += 1; + state.lineStart = state.position; +} + +function skipSeparationSpace(state, allowComments, checkIndent) { + var lineBreaks = 0, + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (allowComments && ch === 0x23/* # */) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0); + } + + if (is_EOL(ch)) { + readLineBreak(state); + + ch = state.input.charCodeAt(state.position); + lineBreaks++; + state.lineIndent = 0; + + while (ch === 0x20/* Space */) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + } else { + break; + } + } + + if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { + throwWarning(state, 'deficient indentation'); + } + + return lineBreaks; +} + +function testDocumentSeparator(state) { + var _position = state.position, + ch; + + ch = state.input.charCodeAt(_position); + + // Condition state.position === state.lineStart is tested + // in parent on each call, for efficiency. No needs to test here again. + if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) && + ch === state.input.charCodeAt(_position + 1) && + ch === state.input.charCodeAt(_position + 2)) { + + _position += 3; + + ch = state.input.charCodeAt(_position); + + if (ch === 0 || is_WS_OR_EOL(ch)) { + return true; + } + } + + return false; +} + +function writeFoldedLines(state, count) { + if (count === 1) { + state.result += ' '; + } else if (count > 1) { + state.result += common.repeat('\n', count - 1); + } +} + + +function readPlainScalar(state, nodeIndent, withinFlowCollection) { + var preceding, + following, + captureStart, + captureEnd, + hasPendingContent, + _line, + _lineStart, + _lineIndent, + _kind = state.kind, + _result = state.result, + ch; + + ch = state.input.charCodeAt(state.position); + + if (is_WS_OR_EOL(ch) || + is_FLOW_INDICATOR(ch) || + ch === 0x23/* # */ || + ch === 0x26/* & */ || + ch === 0x2A/* * */ || + ch === 0x21/* ! */ || + ch === 0x7C/* | */ || + ch === 0x3E/* > */ || + ch === 0x27/* ' */ || + ch === 0x22/* " */ || + ch === 0x25/* % */ || + ch === 0x40/* @ */ || + ch === 0x60/* ` */) { + return false; + } + + if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + return false; + } + } + + state.kind = 'scalar'; + state.result = ''; + captureStart = captureEnd = state.position; + hasPendingContent = false; + + while (ch !== 0) { + if (ch === 0x3A/* : */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + break; + } + + } else if (ch === 0x23/* # */) { + preceding = state.input.charCodeAt(state.position - 1); + + if (is_WS_OR_EOL(preceding)) { + break; + } + + } else if ((state.position === state.lineStart && testDocumentSeparator(state)) || + withinFlowCollection && is_FLOW_INDICATOR(ch)) { + break; + + } else if (is_EOL(ch)) { + _line = state.line; + _lineStart = state.lineStart; + _lineIndent = state.lineIndent; + skipSeparationSpace(state, false, -1); + + if (state.lineIndent >= nodeIndent) { + hasPendingContent = true; + ch = state.input.charCodeAt(state.position); + continue; + } else { + state.position = captureEnd; + state.line = _line; + state.lineStart = _lineStart; + state.lineIndent = _lineIndent; + break; + } + } + + if (hasPendingContent) { + captureSegment(state, captureStart, captureEnd, false); + writeFoldedLines(state, state.line - _line); + captureStart = captureEnd = state.position; + hasPendingContent = false; + } + + if (!is_WHITE_SPACE(ch)) { + captureEnd = state.position + 1; + } + + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, captureEnd, false); + + if (state.result) { + return true; + } + + state.kind = _kind; + state.result = _result; + return false; +} + +function readSingleQuotedScalar(state, nodeIndent) { + var ch, + captureStart, captureEnd; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x27/* ' */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x27/* ' */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x27/* ' */) { + captureStart = state.position; + state.position++; + captureEnd = state.position; + } else { + return true; + } + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a single quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a single quoted scalar'); +} + +function readDoubleQuotedScalar(state, nodeIndent) { + var captureStart, + captureEnd, + hexLength, + hexResult, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x22/* " */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x22/* " */) { + captureSegment(state, captureStart, state.position, true); + state.position++; + return true; + + } else if (ch === 0x5C/* \ */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (is_EOL(ch)) { + skipSeparationSpace(state, false, nodeIndent); + + // TODO: rework to inline fn with no type cast? + } else if (ch < 256 && simpleEscapeCheck[ch]) { + state.result += simpleEscapeMap[ch]; + state.position++; + + } else if ((tmp = escapedHexLen(ch)) > 0) { + hexLength = tmp; + hexResult = 0; + + for (; hexLength > 0; hexLength--) { + ch = state.input.charCodeAt(++state.position); + + if ((tmp = fromHexCode(ch)) >= 0) { + hexResult = (hexResult << 4) + tmp; + + } else { + throwError(state, 'expected hexadecimal character'); + } + } + + state.result += charFromCodepoint(hexResult); + + state.position++; + + } else { + throwError(state, 'unknown escape sequence'); + } + + captureStart = captureEnd = state.position; + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a double quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a double quoted scalar'); +} + +function readFlowCollection(state, nodeIndent) { + var readNext = true, + _line, + _tag = state.tag, + _result, + _anchor = state.anchor, + following, + terminator, + isPair, + isExplicitPair, + isMapping, + overridableKeys = {}, + keyNode, + keyTag, + valueNode, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x5B/* [ */) { + terminator = 0x5D;/* ] */ + isMapping = false; + _result = []; + } else if (ch === 0x7B/* { */) { + terminator = 0x7D;/* } */ + isMapping = true; + _result = {}; + } else { + return false; + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(++state.position); + + while (ch !== 0) { + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === terminator) { + state.position++; + state.tag = _tag; + state.anchor = _anchor; + state.kind = isMapping ? 'mapping' : 'sequence'; + state.result = _result; + return true; + } else if (!readNext) { + throwError(state, 'missed comma between flow collection entries'); + } + + keyTag = keyNode = valueNode = null; + isPair = isExplicitPair = false; + + if (ch === 0x3F/* ? */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following)) { + isPair = isExplicitPair = true; + state.position++; + skipSeparationSpace(state, true, nodeIndent); + } + } + + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + keyTag = state.tag; + keyNode = state.result; + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) { + isPair = true; + ch = state.input.charCodeAt(++state.position); + skipSeparationSpace(state, true, nodeIndent); + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + valueNode = state.result; + } + + if (isMapping) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode); + } else if (isPair) { + _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode)); + } else { + _result.push(keyNode); + } + + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x2C/* , */) { + readNext = true; + ch = state.input.charCodeAt(++state.position); + } else { + readNext = false; + } + } + + throwError(state, 'unexpected end of the stream within a flow collection'); +} + +function readBlockScalar(state, nodeIndent) { + var captureStart, + folding, + chomping = CHOMPING_CLIP, + didReadContent = false, + detectedIndent = false, + textIndent = nodeIndent, + emptyLines = 0, + atMoreIndented = false, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x7C/* | */) { + folding = false; + } else if (ch === 0x3E/* > */) { + folding = true; + } else { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + + while (ch !== 0) { + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x2B/* + */ || ch === 0x2D/* - */) { + if (CHOMPING_CLIP === chomping) { + chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP; + } else { + throwError(state, 'repeat of a chomping mode identifier'); + } + + } else if ((tmp = fromDecimalCode(ch)) >= 0) { + if (tmp === 0) { + throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one'); + } else if (!detectedIndent) { + textIndent = nodeIndent + tmp - 1; + detectedIndent = true; + } else { + throwError(state, 'repeat of an indentation width identifier'); + } + + } else { + break; + } + } + + if (is_WHITE_SPACE(ch)) { + do { ch = state.input.charCodeAt(++state.position); } + while (is_WHITE_SPACE(ch)); + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (!is_EOL(ch) && (ch !== 0)); + } + } + + while (ch !== 0) { + readLineBreak(state); + state.lineIndent = 0; + + ch = state.input.charCodeAt(state.position); + + while ((!detectedIndent || state.lineIndent < textIndent) && + (ch === 0x20/* Space */)) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + + if (!detectedIndent && state.lineIndent > textIndent) { + textIndent = state.lineIndent; + } + + if (is_EOL(ch)) { + emptyLines++; + continue; + } + + // End of the scalar. + if (state.lineIndent < textIndent) { + + // Perform the chomping. + if (chomping === CHOMPING_KEEP) { + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } else if (chomping === CHOMPING_CLIP) { + if (didReadContent) { // i.e. only if the scalar is not empty. + state.result += '\n'; + } + } + + // Break this `while` cycle and go to the funciton's epilogue. + break; + } + + // Folded style: use fancy rules to handle line breaks. + if (folding) { + + // Lines starting with white space characters (more-indented lines) are not folded. + if (is_WHITE_SPACE(ch)) { + atMoreIndented = true; + // except for the first content line (cf. Example 8.1) + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + + // End of more-indented block. + } else if (atMoreIndented) { + atMoreIndented = false; + state.result += common.repeat('\n', emptyLines + 1); + + // Just one line break - perceive as the same line. + } else if (emptyLines === 0) { + if (didReadContent) { // i.e. only if we have already read some scalar content. + state.result += ' '; + } + + // Several line breaks - perceive as different lines. + } else { + state.result += common.repeat('\n', emptyLines); + } + + // Literal style: just add exact number of line breaks between content lines. + } else { + // Keep all line breaks except the header line break. + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } + + didReadContent = true; + detectedIndent = true; + emptyLines = 0; + captureStart = state.position; + + while (!is_EOL(ch) && (ch !== 0)) { + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, state.position, false); + } + + return true; +} + +function readBlockSequence(state, nodeIndent) { + var _line, + _tag = state.tag, + _anchor = state.anchor, + _result = [], + following, + detected = false, + ch; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + + if (ch !== 0x2D/* - */) { + break; + } + + following = state.input.charCodeAt(state.position + 1); + + if (!is_WS_OR_EOL(following)) { + break; + } + + detected = true; + state.position++; + + if (skipSeparationSpace(state, true, -1)) { + if (state.lineIndent <= nodeIndent) { + _result.push(null); + ch = state.input.charCodeAt(state.position); + continue; + } + } + + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); + _result.push(state.result); + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) { + throwError(state, 'bad indentation of a sequence entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'sequence'; + state.result = _result; + return true; + } + return false; +} + +function readBlockMapping(state, nodeIndent, flowIndent) { + var following, + allowCompact, + _line, + _pos, + _tag = state.tag, + _anchor = state.anchor, + _result = {}, + overridableKeys = {}, + keyTag = null, + keyNode = null, + valueNode = null, + atExplicitKey = false, + detected = false, + ch; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + following = state.input.charCodeAt(state.position + 1); + _line = state.line; // Save the current line. + _pos = state.position; + + // + // Explicit notation case. There are two separate blocks: + // first for the key (denoted by "?") and second for the value (denoted by ":") + // + if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) { + + if (ch === 0x3F/* ? */) { + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = true; + allowCompact = true; + + } else if (atExplicitKey) { + // i.e. 0x3A/* : */ === character after the explicit key. + atExplicitKey = false; + allowCompact = true; + + } else { + throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'); + } + + state.position += 1; + ch = following; + + // + // Implicit notation case. Flow-style node as the key first, then ":", and the value. + // + } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { + + if (state.line === _line) { + ch = state.input.charCodeAt(state.position); + + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x3A/* : */) { + ch = state.input.charCodeAt(++state.position); + + if (!is_WS_OR_EOL(ch)) { + throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping'); + } + + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = false; + allowCompact = false; + keyTag = state.tag; + keyNode = state.result; + + } else if (detected) { + throwError(state, 'can not read an implicit mapping pair; a colon is missed'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + + } else if (detected) { + throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + + } else { + break; // Reading is done. Go to the epilogue. + } + + // + // Common reading code for both explicit and implicit notations. + // + if (state.line === _line || state.lineIndent > nodeIndent) { + if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { + if (atExplicitKey) { + keyNode = state.result; + } else { + valueNode = state.result; + } + } + + if (!atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos); + keyTag = keyNode = valueNode = null; + } + + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + } + + if (state.lineIndent > nodeIndent && (ch !== 0)) { + throwError(state, 'bad indentation of a mapping entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + // + // Epilogue. + // + + // Special case: last mapping's node contains only the key in explicit notation. + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + } + + // Expose the resulting mapping. + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'mapping'; + state.result = _result; + } + + return detected; +} + +function readTagProperty(state) { + var _position, + isVerbatim = false, + isNamed = false, + tagHandle, + tagName, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x21/* ! */) return false; + + if (state.tag !== null) { + throwError(state, 'duplication of a tag property'); + } + + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x3C/* < */) { + isVerbatim = true; + ch = state.input.charCodeAt(++state.position); + + } else if (ch === 0x21/* ! */) { + isNamed = true; + tagHandle = '!!'; + ch = state.input.charCodeAt(++state.position); + + } else { + tagHandle = '!'; + } + + _position = state.position; + + if (isVerbatim) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && ch !== 0x3E/* > */); + + if (state.position < state.length) { + tagName = state.input.slice(_position, state.position); + ch = state.input.charCodeAt(++state.position); + } else { + throwError(state, 'unexpected end of the stream within a verbatim tag'); + } + } else { + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + + if (ch === 0x21/* ! */) { + if (!isNamed) { + tagHandle = state.input.slice(_position - 1, state.position + 1); + + if (!PATTERN_TAG_HANDLE.test(tagHandle)) { + throwError(state, 'named tag handle cannot contain such characters'); + } + + isNamed = true; + _position = state.position + 1; + } else { + throwError(state, 'tag suffix cannot contain exclamation marks'); + } + } + + ch = state.input.charCodeAt(++state.position); + } + + tagName = state.input.slice(_position, state.position); + + if (PATTERN_FLOW_INDICATORS.test(tagName)) { + throwError(state, 'tag suffix cannot contain flow indicator characters'); + } + } + + if (tagName && !PATTERN_TAG_URI.test(tagName)) { + throwError(state, 'tag name cannot contain such characters: ' + tagName); + } + + if (isVerbatim) { + state.tag = tagName; + + } else if (_hasOwnProperty$2.call(state.tagMap, tagHandle)) { + state.tag = state.tagMap[tagHandle] + tagName; + + } else if (tagHandle === '!') { + state.tag = '!' + tagName; + + } else if (tagHandle === '!!') { + state.tag = 'tag:yaml.org,2002:' + tagName; + + } else { + throwError(state, 'undeclared tag handle "' + tagHandle + '"'); + } + + return true; +} + +function readAnchorProperty(state) { + var _position, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x26/* & */) return false; + + if (state.anchor !== null) { + throwError(state, 'duplication of an anchor property'); + } + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an anchor node must contain at least one character'); + } + + state.anchor = state.input.slice(_position, state.position); + return true; +} + +function readAlias(state) { + var _position, alias, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x2A/* * */) return false; + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an alias node must contain at least one character'); + } + + alias = state.input.slice(_position, state.position); + + if (!state.anchorMap.hasOwnProperty(alias)) { + throwError(state, 'unidentified alias "' + alias + '"'); + } + + state.result = state.anchorMap[alias]; + skipSeparationSpace(state, true, -1); + return true; +} + +function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { + var allowBlockStyles, + allowBlockScalars, + allowBlockCollections, + indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } + } + + if (indentStatus === 1) { + while (readTagProperty(state) || readAnchorProperty(state)) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + allowBlockCollections = allowBlockStyles; + + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } else { + allowBlockCollections = false; + } + } + } + + if (allowBlockCollections) { + allowBlockCollections = atNewLine || allowCompact; + } + + if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { + if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { + flowIndent = parentIndent; + } else { + flowIndent = parentIndent + 1; + } + + blockIndent = state.position - state.lineStart; + + if (indentStatus === 1) { + if (allowBlockCollections && + (readBlockSequence(state, blockIndent) || + readBlockMapping(state, blockIndent, flowIndent)) || + readFlowCollection(state, flowIndent)) { + hasContent = true; + } else { + if ((allowBlockScalars && readBlockScalar(state, flowIndent)) || + readSingleQuotedScalar(state, flowIndent) || + readDoubleQuotedScalar(state, flowIndent)) { + hasContent = true; + + } else if (readAlias(state)) { + hasContent = true; + + if (state.tag !== null || state.anchor !== null) { + throwError(state, 'alias node should not have any properties'); + } + + } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { + hasContent = true; + + if (state.tag === null) { + state.tag = '?'; + } + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else if (indentStatus === 0) { + // Special case: block sequences are allowed to have same indentation level as the parent. + // http://www.yaml.org/spec/1.2/spec.html#id2799784 + hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); + } + } + + if (state.tag !== null && state.tag !== '!') { + if (state.tag === '?') { + for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { + type = state.implicitTypes[typeIndex]; + + // Implicit resolving is not allowed for non-scalar types, and '?' + // non-specific tag is only assigned to plain scalars. So, it isn't + // needed to check for 'kind' conformity. + + if (type.resolve(state.result)) { // `state.result` updated in resolver if matched + state.result = type.construct(state.result); + state.tag = type.tag; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + break; + } + } + } else if (_hasOwnProperty$2.call(state.typeMap[state.kind || 'fallback'], state.tag)) { + type = state.typeMap[state.kind || 'fallback'][state.tag]; + + if (state.result !== null && type.kind !== state.kind) { + throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"'); + } + + if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched + throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag'); + } else { + state.result = type.construct(state.result); + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else { + throwError(state, 'unknown tag !<' + state.tag + '>'); + } + } + + if (state.listener !== null) { + state.listener('close', state); + } + return state.tag !== null || state.anchor !== null || hasContent; +} + +function readDocument(state) { + var documentStart = state.position, + _position, + directiveName, + directiveArgs, + hasDirectives = false, + ch; + + state.version = null; + state.checkLineBreaks = state.legacy; + state.tagMap = {}; + state.anchorMap = {}; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if (state.lineIndent > 0 || ch !== 0x25/* % */) { + break; + } + + hasDirectives = true; + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveName = state.input.slice(_position, state.position); + directiveArgs = []; + + if (directiveName.length < 1) { + throwError(state, 'directive name must not be less than one character in length'); + } + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && !is_EOL(ch)); + break; + } + + if (is_EOL(ch)) break; + + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveArgs.push(state.input.slice(_position, state.position)); + } + + if (ch !== 0) readLineBreak(state); + + if (_hasOwnProperty$2.call(directiveHandlers, directiveName)) { + directiveHandlers[directiveName](state, directiveName, directiveArgs); + } else { + throwWarning(state, 'unknown document directive "' + directiveName + '"'); + } + } + + skipSeparationSpace(state, true, -1); + + if (state.lineIndent === 0 && + state.input.charCodeAt(state.position) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 1) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 2) === 0x2D/* - */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + + } else if (hasDirectives) { + throwError(state, 'directives end mark is expected'); + } + + composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); + skipSeparationSpace(state, true, -1); + + if (state.checkLineBreaks && + PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) { + throwWarning(state, 'non-ASCII line breaks are interpreted as content'); + } + + state.documents.push(state.result); + + if (state.position === state.lineStart && testDocumentSeparator(state)) { + + if (state.input.charCodeAt(state.position) === 0x2E/* . */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } + return; + } + + if (state.position < (state.length - 1)) { + throwError(state, 'end of the stream or a document separator is expected'); + } else { + return; + } +} + + +function loadDocuments(input, options) { + input = String(input); + options = options || {}; + + if (input.length !== 0) { + + // Add tailing `\n` if not exists + if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ && + input.charCodeAt(input.length - 1) !== 0x0D/* CR */) { + input += '\n'; + } + + // Strip BOM + if (input.charCodeAt(0) === 0xFEFF) { + input = input.slice(1); + } + } + + var state = new State(input, options); + + // Use 0 as string terminator. That significantly simplifies bounds check. + state.input += '\0'; + + while (state.input.charCodeAt(state.position) === 0x20/* Space */) { + state.lineIndent += 1; + state.position += 1; + } + + while (state.position < (state.length - 1)) { + readDocument(state); + } + + return state.documents; +} + + +function loadAll(input, iterator, options) { + var documents = loadDocuments(input, options), index, length; + + if (typeof iterator !== 'function') { + return documents; + } + + for (index = 0, length = documents.length; index < length; index += 1) { + iterator(documents[index]); + } +} + + +function load(input, options) { + var documents = loadDocuments(input, options); + + if (documents.length === 0) { + /*eslint-disable no-undefined*/ + return undefined; + } else if (documents.length === 1) { + return documents[0]; + } + throw new exception('expected a single document in the stream, but found more'); +} + + +function safeLoadAll(input, output, options) { + if (typeof output === 'function') { + loadAll(input, output, common.extend({ schema: default_safe }, options)); + } else { + return loadAll(input, common.extend({ schema: default_safe }, options)); + } +} + + +function safeLoad(input, options) { + return load(input, common.extend({ schema: default_safe }, options)); +} + + +var loadAll_1 = loadAll; +var load_1 = load; +var safeLoadAll_1 = safeLoadAll; +var safeLoad_1 = safeLoad; + +var loader = { + loadAll: loadAll_1, + load: load_1, + safeLoadAll: safeLoadAll_1, + safeLoad: safeLoad_1 +}; + +/*eslint-disable no-use-before-define*/ + + + + + + +var _toString$2 = Object.prototype.toString; +var _hasOwnProperty$3 = Object.prototype.hasOwnProperty; + +var CHAR_TAB = 0x09; /* Tab */ +var CHAR_LINE_FEED = 0x0A; /* LF */ +var CHAR_SPACE = 0x20; /* Space */ +var CHAR_EXCLAMATION = 0x21; /* ! */ +var CHAR_DOUBLE_QUOTE = 0x22; /* " */ +var CHAR_SHARP = 0x23; /* # */ +var CHAR_PERCENT = 0x25; /* % */ +var CHAR_AMPERSAND = 0x26; /* & */ +var CHAR_SINGLE_QUOTE = 0x27; /* ' */ +var CHAR_ASTERISK = 0x2A; /* * */ +var CHAR_COMMA = 0x2C; /* , */ +var CHAR_MINUS = 0x2D; /* - */ +var CHAR_COLON = 0x3A; /* : */ +var CHAR_GREATER_THAN = 0x3E; /* > */ +var CHAR_QUESTION = 0x3F; /* ? */ +var CHAR_COMMERCIAL_AT = 0x40; /* @ */ +var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */ +var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */ +var CHAR_GRAVE_ACCENT = 0x60; /* ` */ +var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */ +var CHAR_VERTICAL_LINE = 0x7C; /* | */ +var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */ + +var ESCAPE_SEQUENCES = {}; + +ESCAPE_SEQUENCES[0x00] = '\\0'; +ESCAPE_SEQUENCES[0x07] = '\\a'; +ESCAPE_SEQUENCES[0x08] = '\\b'; +ESCAPE_SEQUENCES[0x09] = '\\t'; +ESCAPE_SEQUENCES[0x0A] = '\\n'; +ESCAPE_SEQUENCES[0x0B] = '\\v'; +ESCAPE_SEQUENCES[0x0C] = '\\f'; +ESCAPE_SEQUENCES[0x0D] = '\\r'; +ESCAPE_SEQUENCES[0x1B] = '\\e'; +ESCAPE_SEQUENCES[0x22] = '\\"'; +ESCAPE_SEQUENCES[0x5C] = '\\\\'; +ESCAPE_SEQUENCES[0x85] = '\\N'; +ESCAPE_SEQUENCES[0xA0] = '\\_'; +ESCAPE_SEQUENCES[0x2028] = '\\L'; +ESCAPE_SEQUENCES[0x2029] = '\\P'; + +var DEPRECATED_BOOLEANS_SYNTAX = [ + 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', + 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF' +]; + +function compileStyleMap(schema, map) { + var result, keys, index, length, tag, style, type; + + if (map === null) return {}; + + result = {}; + keys = Object.keys(map); + + for (index = 0, length = keys.length; index < length; index += 1) { + tag = keys[index]; + style = String(map[tag]); + + if (tag.slice(0, 2) === '!!') { + tag = 'tag:yaml.org,2002:' + tag.slice(2); + } + type = schema.compiledTypeMap['fallback'][tag]; + + if (type && _hasOwnProperty$3.call(type.styleAliases, style)) { + style = type.styleAliases[style]; + } + + result[tag] = style; + } + + return result; +} + +function encodeHex(character) { + var string, handle, length; + + string = character.toString(16).toUpperCase(); + + if (character <= 0xFF) { + handle = 'x'; + length = 2; + } else if (character <= 0xFFFF) { + handle = 'u'; + length = 4; + } else if (character <= 0xFFFFFFFF) { + handle = 'U'; + length = 8; + } else { + throw new exception('code point within a string may not be greater than 0xFFFFFFFF'); + } + + return '\\' + handle + common.repeat('0', length - string.length) + string; +} + +function State$1(options) { + this.schema = options['schema'] || default_full; + this.indent = Math.max(1, (options['indent'] || 2)); + this.noArrayIndent = options['noArrayIndent'] || false; + this.skipInvalid = options['skipInvalid'] || false; + this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']); + this.styleMap = compileStyleMap(this.schema, options['styles'] || null); + this.sortKeys = options['sortKeys'] || false; + this.lineWidth = options['lineWidth'] || 80; + this.noRefs = options['noRefs'] || false; + this.noCompatMode = options['noCompatMode'] || false; + this.condenseFlow = options['condenseFlow'] || false; + + this.implicitTypes = this.schema.compiledImplicit; + this.explicitTypes = this.schema.compiledExplicit; + + this.tag = null; + this.result = ''; + + this.duplicates = []; + this.usedDuplicates = null; +} + +// Indents every line in a string. Empty lines (\n only) are not indented. +function indentString(string, spaces) { + var ind = common.repeat(' ', spaces), + position = 0, + next = -1, + result = '', + line, + length = string.length; + + while (position < length) { + next = string.indexOf('\n', position); + if (next === -1) { + line = string.slice(position); + position = length; + } else { + line = string.slice(position, next + 1); + position = next + 1; + } + + if (line.length && line !== '\n') result += ind; + + result += line; + } + + return result; +} + +function generateNextLine(state, level) { + return '\n' + common.repeat(' ', state.indent * level); +} + +function testImplicitResolving(state, str) { + var index, length, type; + + for (index = 0, length = state.implicitTypes.length; index < length; index += 1) { + type = state.implicitTypes[index]; + + if (type.resolve(str)) { + return true; + } + } + + return false; +} + +// [33] s-white ::= s-space | s-tab +function isWhitespace(c) { + return c === CHAR_SPACE || c === CHAR_TAB; +} + +// Returns true if the character can be printed without escaping. +// From YAML 1.2: "any allowed characters known to be non-printable +// should also be escaped. [However,] This isn’t mandatory" +// Derived from nb-char - \t - #x85 - #xA0 - #x2028 - #x2029. +function isPrintable(c) { + return (0x00020 <= c && c <= 0x00007E) + || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029) + || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */) + || (0x10000 <= c && c <= 0x10FFFF); +} + +// Simplified test for values allowed after the first character in plain style. +function isPlainSafe(c) { + // Uses a subset of nb-char - c-flow-indicator - ":" - "#" + // where nb-char ::= c-printable - b-char - c-byte-order-mark. + return isPrintable(c) && c !== 0xFEFF + // - c-flow-indicator + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + // - ":" - "#" + && c !== CHAR_COLON + && c !== CHAR_SHARP; +} + +// Simplified test for values allowed as the first character in plain style. +function isPlainSafeFirst(c) { + // Uses a subset of ns-char - c-indicator + // where ns-char = nb-char - s-white. + return isPrintable(c) && c !== 0xFEFF + && !isWhitespace(c) // - s-white + // - (c-indicator ::= + // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}” + && c !== CHAR_MINUS + && c !== CHAR_QUESTION + && c !== CHAR_COLON + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + // | “#” | “&” | “*” | “!” | “|” | “>” | “'” | “"” + && c !== CHAR_SHARP + && c !== CHAR_AMPERSAND + && c !== CHAR_ASTERISK + && c !== CHAR_EXCLAMATION + && c !== CHAR_VERTICAL_LINE + && c !== CHAR_GREATER_THAN + && c !== CHAR_SINGLE_QUOTE + && c !== CHAR_DOUBLE_QUOTE + // | “%” | “@” | “`”) + && c !== CHAR_PERCENT + && c !== CHAR_COMMERCIAL_AT + && c !== CHAR_GRAVE_ACCENT; +} + +// Determines whether block indentation indicator is required. +function needIndentIndicator(string) { + var leadingSpaceRe = /^\n* /; + return leadingSpaceRe.test(string); +} + +var STYLE_PLAIN = 1, + STYLE_SINGLE = 2, + STYLE_LITERAL = 3, + STYLE_FOLDED = 4, + STYLE_DOUBLE = 5; + +// Determines which scalar styles are possible and returns the preferred style. +// lineWidth = -1 => no limit. +// Pre-conditions: str.length > 0. +// Post-conditions: +// STYLE_PLAIN or STYLE_SINGLE => no \n are in the string. +// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1). +// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1). +function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) { + var i; + var char; + var hasLineBreak = false; + var hasFoldableLine = false; // only checked if shouldTrackWidth + var shouldTrackWidth = lineWidth !== -1; + var previousLineBreak = -1; // count the first line correctly + var plain = isPlainSafeFirst(string.charCodeAt(0)) + && !isWhitespace(string.charCodeAt(string.length - 1)); + + if (singleLineOnly) { + // Case: no block styles. + // Check for disallowed characters to rule out plain and single. + for (i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + plain = plain && isPlainSafe(char); + } + } else { + // Case: block styles permitted. + for (i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + if (char === CHAR_LINE_FEED) { + hasLineBreak = true; + // Check if any line can be folded. + if (shouldTrackWidth) { + hasFoldableLine = hasFoldableLine || + // Foldable line = too long, and not more-indented. + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' '); + previousLineBreak = i; + } + } else if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + plain = plain && isPlainSafe(char); + } + // in case the end is missing a \n + hasFoldableLine = hasFoldableLine || (shouldTrackWidth && + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' ')); + } + // Although every style can represent \n without escaping, prefer block styles + // for multiline, since they're more readable and they don't add empty lines. + // Also prefer folding a super-long line. + if (!hasLineBreak && !hasFoldableLine) { + // Strings interpretable as another type have to be quoted; + // e.g. the string 'true' vs. the boolean true. + return plain && !testAmbiguousType(string) + ? STYLE_PLAIN : STYLE_SINGLE; + } + // Edge case: block indentation indicator can only have one digit. + if (indentPerLevel > 9 && needIndentIndicator(string)) { + return STYLE_DOUBLE; + } + // At this point we know block styles are valid. + // Prefer literal style unless we want to fold. + return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; +} + +// Note: line breaking/folding is implemented for only the folded style. +// NB. We drop the last trailing newline (if any) of a returned block scalar +// since the dumper adds its own newline. This always works: +// • No ending newline => unaffected; already using strip "-" chomping. +// • Ending newline => removed then restored. +// Importantly, this keeps the "+" chomp indicator from gaining an extra line. +function writeScalar(state, string, level, iskey) { + state.dump = (function () { + if (string.length === 0) { + return "''"; + } + if (!state.noCompatMode && + DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) { + return "'" + string + "'"; + } + + var indent = state.indent * Math.max(1, level); // no 0-indent scalars + // As indentation gets deeper, let the width decrease monotonically + // to the lower bound min(state.lineWidth, 40). + // Note that this implies + // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound. + // state.lineWidth > 40 + state.indent: width decreases until the lower bound. + // This behaves better than a constant minimum width which disallows narrower options, + // or an indent threshold which causes the width to suddenly increase. + var lineWidth = state.lineWidth === -1 + ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent); + + // Without knowing if keys are implicit/explicit, assume implicit for safety. + var singleLineOnly = iskey + // No block styles in flow mode. + || (state.flowLevel > -1 && level >= state.flowLevel); + function testAmbiguity(string) { + return testImplicitResolving(state, string); + } + + switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) { + case STYLE_PLAIN: + return string; + case STYLE_SINGLE: + return "'" + string.replace(/'/g, "''") + "'"; + case STYLE_LITERAL: + return '|' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(string, indent)); + case STYLE_FOLDED: + return '>' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(foldString(string, lineWidth), indent)); + case STYLE_DOUBLE: + return '"' + escapeString(string) + '"'; + default: + throw new exception('impossible error: invalid scalar style'); + } + }()); +} + +// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9. +function blockHeader(string, indentPerLevel) { + var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ''; + + // note the special case: the string '\n' counts as a "trailing" empty line. + var clip = string[string.length - 1] === '\n'; + var keep = clip && (string[string.length - 2] === '\n' || string === '\n'); + var chomp = keep ? '+' : (clip ? '' : '-'); + + return indentIndicator + chomp + '\n'; +} + +// (See the note for writeScalar.) +function dropEndingNewline(string) { + return string[string.length - 1] === '\n' ? string.slice(0, -1) : string; +} + +// Note: a long line without a suitable break point will exceed the width limit. +// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0. +function foldString(string, width) { + // In folded style, $k$ consecutive newlines output as $k+1$ newlines— + // unless they're before or after a more-indented line, or at the very + // beginning or end, in which case $k$ maps to $k$. + // Therefore, parse each chunk as newline(s) followed by a content line. + var lineRe = /(\n+)([^\n]*)/g; + + // first line (possibly an empty line) + var result = (function () { + var nextLF = string.indexOf('\n'); + nextLF = nextLF !== -1 ? nextLF : string.length; + lineRe.lastIndex = nextLF; + return foldLine(string.slice(0, nextLF), width); + }()); + // If we haven't reached the first content line yet, don't add an extra \n. + var prevMoreIndented = string[0] === '\n' || string[0] === ' '; + var moreIndented; + + // rest of the lines + var match; + while ((match = lineRe.exec(string))) { + var prefix = match[1], line = match[2]; + moreIndented = (line[0] === ' '); + result += prefix + + (!prevMoreIndented && !moreIndented && line !== '' + ? '\n' : '') + + foldLine(line, width); + prevMoreIndented = moreIndented; + } + + return result; +} + +// Greedy line breaking. +// Picks the longest line under the limit each time, +// otherwise settles for the shortest line over the limit. +// NB. More-indented lines *cannot* be folded, as that would add an extra \n. +function foldLine(line, width) { + if (line === '' || line[0] === ' ') return line; + + // Since a more-indented line adds a \n, breaks can't be followed by a space. + var breakRe = / [^ ]/g; // note: the match index will always be <= length-2. + var match; + // start is an inclusive index. end, curr, and next are exclusive. + var start = 0, end, curr = 0, next = 0; + var result = ''; + + // Invariants: 0 <= start <= length-1. + // 0 <= curr <= next <= max(0, length-2). curr - start <= width. + // Inside the loop: + // A match implies length >= 2, so curr and next are <= length-2. + while ((match = breakRe.exec(line))) { + next = match.index; + // maintain invariant: curr - start <= width + if (next - start > width) { + end = (curr > start) ? curr : next; // derive end <= length-2 + result += '\n' + line.slice(start, end); + // skip the space that was output as \n + start = end + 1; // derive start <= length-1 + } + curr = next; + } + + // By the invariants, start <= length-1, so there is something left over. + // It is either the whole string or a part starting from non-whitespace. + result += '\n'; + // Insert a break if the remainder is too long and there is a break available. + if (line.length - start > width && curr > start) { + result += line.slice(start, curr) + '\n' + line.slice(curr + 1); + } else { + result += line.slice(start); + } + + return result.slice(1); // drop extra \n joiner +} + +// Escapes a double-quoted string. +function escapeString(string) { + var result = ''; + var char, nextChar; + var escapeSeq; + + for (var i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + // Check for surrogate pairs (reference Unicode 3.0 section "3.7 Surrogates"). + if (char >= 0xD800 && char <= 0xDBFF/* high surrogate */) { + nextChar = string.charCodeAt(i + 1); + if (nextChar >= 0xDC00 && nextChar <= 0xDFFF/* low surrogate */) { + // Combine the surrogate pair and store it escaped. + result += encodeHex((char - 0xD800) * 0x400 + nextChar - 0xDC00 + 0x10000); + // Advance index one extra since we already used that char here. + i++; continue; + } + } + escapeSeq = ESCAPE_SEQUENCES[char]; + result += !escapeSeq && isPrintable(char) + ? string[i] + : escapeSeq || encodeHex(char); + } + + return result; +} + +function writeFlowSequence(state, level, object) { + var _result = '', + _tag = state.tag, + index, + length; + + for (index = 0, length = object.length; index < length; index += 1) { + // Write only valid elements. + if (writeNode(state, level, object[index], false, false)) { + if (index !== 0) _result += ',' + (!state.condenseFlow ? ' ' : ''); + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = '[' + _result + ']'; +} + +function writeBlockSequence(state, level, object, compact) { + var _result = '', + _tag = state.tag, + index, + length; + + for (index = 0, length = object.length; index < length; index += 1) { + // Write only valid elements. + if (writeNode(state, level + 1, object[index], true, true)) { + if (!compact || index !== 0) { + _result += generateNextLine(state, level); + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + _result += '-'; + } else { + _result += '- '; + } + + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = _result || '[]'; // Empty sequence if no valid values. +} + +function writeFlowMapping(state, level, object) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + pairBuffer; + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = state.condenseFlow ? '"' : ''; + + if (index !== 0) pairBuffer += ', '; + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (!writeNode(state, level, objectKey, false, false)) { + continue; // Skip this pair because of invalid key; + } + + if (state.dump.length > 1024) pairBuffer += '? '; + + pairBuffer += state.dump + (state.condenseFlow ? '"' : '') + ':' + (state.condenseFlow ? '' : ' '); + + if (!writeNode(state, level, objectValue, false, false)) { + continue; // Skip this pair because of invalid value. + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = '{' + _result + '}'; +} + +function writeBlockMapping(state, level, object, compact) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + explicitPair, + pairBuffer; + + // Allow sorting keys so that the output file is deterministic + if (state.sortKeys === true) { + // Default sorting + objectKeyList.sort(); + } else if (typeof state.sortKeys === 'function') { + // Custom sort function + objectKeyList.sort(state.sortKeys); + } else if (state.sortKeys) { + // Something is wrong + throw new exception('sortKeys must be a boolean or a function'); + } + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = ''; + + if (!compact || index !== 0) { + pairBuffer += generateNextLine(state, level); + } + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (!writeNode(state, level + 1, objectKey, true, true, true)) { + continue; // Skip this pair because of invalid key. + } + + explicitPair = (state.tag !== null && state.tag !== '?') || + (state.dump && state.dump.length > 1024); + + if (explicitPair) { + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += '?'; + } else { + pairBuffer += '? '; + } + } + + pairBuffer += state.dump; + + if (explicitPair) { + pairBuffer += generateNextLine(state, level); + } + + if (!writeNode(state, level + 1, objectValue, true, explicitPair)) { + continue; // Skip this pair because of invalid value. + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += ':'; + } else { + pairBuffer += ': '; + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = _result || '{}'; // Empty mapping if no valid pairs. +} + +function detectType(state, object, explicit) { + var _result, typeList, index, length, type, style; + + typeList = explicit ? state.explicitTypes : state.implicitTypes; + + for (index = 0, length = typeList.length; index < length; index += 1) { + type = typeList[index]; + + if ((type.instanceOf || type.predicate) && + (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) && + (!type.predicate || type.predicate(object))) { + + state.tag = explicit ? type.tag : '?'; + + if (type.represent) { + style = state.styleMap[type.tag] || type.defaultStyle; + + if (_toString$2.call(type.represent) === '[object Function]') { + _result = type.represent(object, style); + } else if (_hasOwnProperty$3.call(type.represent, style)) { + _result = type.represent[style](object, style); + } else { + throw new exception('!<' + type.tag + '> tag resolver accepts not "' + style + '" style'); + } + + state.dump = _result; + } + + return true; + } + } + + return false; +} + +// Serializes `object` and writes it to global `result`. +// Returns true on success, or false on invalid object. +// +function writeNode(state, level, object, block, compact, iskey) { + state.tag = null; + state.dump = object; + + if (!detectType(state, object, false)) { + detectType(state, object, true); + } + + var type = _toString$2.call(state.dump); + + if (block) { + block = (state.flowLevel < 0 || state.flowLevel > level); + } + + var objectOrArray = type === '[object Object]' || type === '[object Array]', + duplicateIndex, + duplicate; + + if (objectOrArray) { + duplicateIndex = state.duplicates.indexOf(object); + duplicate = duplicateIndex !== -1; + } + + if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) { + compact = false; + } + + if (duplicate && state.usedDuplicates[duplicateIndex]) { + state.dump = '*ref_' + duplicateIndex; + } else { + if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) { + state.usedDuplicates[duplicateIndex] = true; + } + if (type === '[object Object]') { + if (block && (Object.keys(state.dump).length !== 0)) { + writeBlockMapping(state, level, state.dump, compact); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowMapping(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object Array]') { + var arrayLevel = (state.noArrayIndent && (level > 0)) ? level - 1 : level; + if (block && (state.dump.length !== 0)) { + writeBlockSequence(state, arrayLevel, state.dump, compact); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowSequence(state, arrayLevel, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object String]') { + if (state.tag !== '?') { + writeScalar(state, state.dump, level, iskey); + } + } else { + if (state.skipInvalid) return false; + throw new exception('unacceptable kind of an object to dump ' + type); + } + + if (state.tag !== null && state.tag !== '?') { + state.dump = '!<' + state.tag + '> ' + state.dump; + } + } + + return true; +} + +function getDuplicateReferences(object, state) { + var objects = [], + duplicatesIndexes = [], + index, + length; + + inspectNode(object, objects, duplicatesIndexes); + + for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) { + state.duplicates.push(objects[duplicatesIndexes[index]]); + } + state.usedDuplicates = new Array(length); +} + +function inspectNode(object, objects, duplicatesIndexes) { + var objectKeyList, + index, + length; + + if (object !== null && typeof object === 'object') { + index = objects.indexOf(object); + if (index !== -1) { + if (duplicatesIndexes.indexOf(index) === -1) { + duplicatesIndexes.push(index); + } + } else { + objects.push(object); + + if (Array.isArray(object)) { + for (index = 0, length = object.length; index < length; index += 1) { + inspectNode(object[index], objects, duplicatesIndexes); + } + } else { + objectKeyList = Object.keys(object); + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes); + } + } + } + } +} + +function dump(input, options) { + options = options || {}; + + var state = new State$1(options); + + if (!state.noRefs) getDuplicateReferences(input, state); + + if (writeNode(state, 0, input, true, true)) return state.dump + '\n'; + + return ''; +} + +function safeDump(input, options) { + return dump(input, common.extend({ schema: default_safe }, options)); +} + +var dump_1 = dump; +var safeDump_1 = safeDump; + +var dumper = { + dump: dump_1, + safeDump: safeDump_1 +}; + +function deprecated(name) { + return function () { + throw new Error('Function ' + name + ' is deprecated and cannot be used.'); + }; +} + + +var Type$1 = type; +var Schema$1 = schema; +var FAILSAFE_SCHEMA = failsafe; +var JSON_SCHEMA = json; +var CORE_SCHEMA = core; +var DEFAULT_SAFE_SCHEMA = default_safe; +var DEFAULT_FULL_SCHEMA = default_full; +var load$1 = loader.load; +var loadAll$1 = loader.loadAll; +var safeLoad$1 = loader.safeLoad; +var safeLoadAll$1 = loader.safeLoadAll; +var dump$1 = dumper.dump; +var safeDump$1 = dumper.safeDump; +var YAMLException$1 = exception; + +// Deprecated schema names from JS-YAML 2.0.x +var MINIMAL_SCHEMA = failsafe; +var SAFE_SCHEMA = default_safe; +var DEFAULT_SCHEMA = default_full; + +// Deprecated functions from JS-YAML 1.x.x +var scan = deprecated('scan'); +var parse = deprecated('parse'); +var compose = deprecated('compose'); +var addConstructor = deprecated('addConstructor'); + +var jsYaml = { + Type: Type$1, + Schema: Schema$1, + FAILSAFE_SCHEMA: FAILSAFE_SCHEMA, + JSON_SCHEMA: JSON_SCHEMA, + CORE_SCHEMA: CORE_SCHEMA, + DEFAULT_SAFE_SCHEMA: DEFAULT_SAFE_SCHEMA, + DEFAULT_FULL_SCHEMA: DEFAULT_FULL_SCHEMA, + load: load$1, + loadAll: loadAll$1, + safeLoad: safeLoad$1, + safeLoadAll: safeLoadAll$1, + dump: dump$1, + safeDump: safeDump$1, + YAMLException: YAMLException$1, + MINIMAL_SCHEMA: MINIMAL_SCHEMA, + SAFE_SCHEMA: SAFE_SCHEMA, + DEFAULT_SCHEMA: DEFAULT_SCHEMA, + scan: scan, + parse: parse, + compose: compose, + addConstructor: addConstructor +}; + +var jsYaml$1 = jsYaml; + +var isArrayish = function isArrayish(obj) { + if (!obj) { + return false; + } + + return obj instanceof Array || Array.isArray(obj) || + (obj.length >= 0 && obj.splice instanceof Function); +}; + +var errorEx = function errorEx(name, properties) { + if (!name || name.constructor !== String) { + properties = name || {}; + name = Error.name; + } + + var errorExError = function ErrorEXError(message) { + if (!this) { + return new ErrorEXError(message); + } + + message = message instanceof Error + ? message.message + : (message || this.message); + + Error.call(this, message); + Error.captureStackTrace(this, errorExError); + + this.name = name; + + Object.defineProperty(this, 'message', { + configurable: true, + enumerable: false, + get: function () { + var newMessage = message.split(/\r?\n/g); + + for (var key in properties) { + if (!properties.hasOwnProperty(key)) { + continue; + } + + var modifier = properties[key]; + + if ('message' in modifier) { + newMessage = modifier.message(this[key], newMessage) || newMessage; + if (!isArrayish(newMessage)) { + newMessage = [newMessage]; + } + } + } + + return newMessage.join('\n'); + }, + set: function (v) { + message = v; + } + }); + + var overwrittenStack = null; + + var stackDescriptor = Object.getOwnPropertyDescriptor(this, 'stack'); + var stackGetter = stackDescriptor.get; + var stackValue = stackDescriptor.value; + delete stackDescriptor.value; + delete stackDescriptor.writable; + + stackDescriptor.set = function (newstack) { + overwrittenStack = newstack; + }; + + stackDescriptor.get = function () { + var stack = (overwrittenStack || ((stackGetter) + ? stackGetter.call(this) + : stackValue)).split(/\r?\n+/g); + + // starting in Node 7, the stack builder caches the message. + // just replace it. + if (!overwrittenStack) { + stack[0] = this.name + ': ' + this.message; + } + + var lineCount = 1; + for (var key in properties) { + if (!properties.hasOwnProperty(key)) { + continue; + } + + var modifier = properties[key]; + + if ('line' in modifier) { + var line = modifier.line(this[key]); + if (line) { + stack.splice(lineCount++, 0, ' ' + line); + } + } + + if ('stack' in modifier) { + modifier.stack(this[key], stack); + } + } + + return stack.join('\n'); + }; + + Object.defineProperty(this, 'stack', stackDescriptor); + }; + + if (Object.setPrototypeOf) { + Object.setPrototypeOf(errorExError.prototype, Error.prototype); + Object.setPrototypeOf(errorExError, Error); + } else { + util$1.inherits(errorExError, Error); + } + + return errorExError; +}; + +errorEx.append = function (str, def) { + return { + message: function (v, message) { + v = v || def; + + if (v) { + message[0] += ' ' + str.replace('%s', v.toString()); + } + + return message; + } + }; +}; + +errorEx.line = function (str, def) { + return { + line: function (v) { + v = v || def; + + if (v) { + return str.replace('%s', v.toString()); + } + + return null; + } + }; +}; + +var errorEx_1 = errorEx; + +var jsonParseBetterErrors = parseJson; +function parseJson (txt, reviver, context) { + context = context || 20; + try { + return JSON.parse(txt, reviver) + } catch (e) { + if (typeof txt !== 'string') { + const isEmptyArray = Array.isArray(txt) && txt.length === 0; + const errorMessage = 'Cannot parse ' + + (isEmptyArray ? 'an empty array' : String(txt)); + throw new TypeError(errorMessage) + } + const syntaxErr = e.message.match(/^Unexpected token.*position\s+(\d+)/i); + const errIdx = syntaxErr + ? +syntaxErr[1] + : e.message.match(/^Unexpected end of JSON.*/i) + ? txt.length - 1 + : null; + if (errIdx != null) { + const start = errIdx <= context + ? 0 + : errIdx - context; + const end = errIdx + context >= txt.length + ? txt.length + : errIdx + context; + e.message += ` while parsing near '${ + start === 0 ? '' : '...' + }${txt.slice(start, end)}${ + end === txt.length ? '' : '...' + }'`; + } else { + e.message += ` while parsing '${txt.slice(0, context * 2)}'`; + } + throw e + } +} + +const JSONError = errorEx_1('JSONError', { + fileName: errorEx_1.append('in %s') +}); + +var parseJson$1 = (input, reviver, filename) => { + if (typeof reviver === 'string') { + filename = reviver; + reviver = null; + } + + try { + try { + return JSON.parse(input, reviver); + } catch (err) { + jsonParseBetterErrors(input, reviver); + + throw err; + } + } catch (err) { + err.message = err.message.replace(/\n/g, ''); + + const jsonErr = new JSONError(err); + if (filename) { + jsonErr.fileName = filename; + } + + throw jsonErr; + } +}; + +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var w = d * 7; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +var ms = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse$1(val); + } else if (type === 'number' && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse$1(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'weeks': + case 'week': + case 'w': + return n * w; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + 'd'; + } + if (msAbs >= h) { + return Math.round(ms / h) + 'h'; + } + if (msAbs >= m) { + return Math.round(ms / m) + 'm'; + } + if (msAbs >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, 'day'); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, 'hour'); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, 'minute'); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, 'second'); + } + return ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); +} + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + */ + +function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = ms; + + Object.keys(env).forEach(key => { + createDebug[key] = env[key]; + }); + + /** + * Active `debug` instances. + */ + createDebug.instances = []; + + /** + * The currently active debug mode names, and names to skip. + */ + + createDebug.names = []; + createDebug.skips = []; + + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + createDebug.formatters = {}; + + /** + * Selects a color for a debug namespace + * @param {String} namespace The namespace string for the for the debug instance to be colored + * @return {Number|String} An ANSI color code for the given namespace + * @api private + */ + function selectColor(namespace) { + let hash = 0; + + for (let i = 0; i < namespace.length; i++) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + function createDebug(namespace) { + let prevTime; + + function debug(...args) { + // Disabled? + if (!debug.enabled) { + return; + } + + const self = debug; + + // Set `diff` timestamp + const curr = Number(new Date()); + const ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + args[0] = createDebug.coerce(args[0]); + + if (typeof args[0] !== 'string') { + // Anything else let's inspect with %O + args.unshift('%O'); + } + + // Apply any `formatters` transformations + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + // If we encounter an escaped % then don't increase the array index + if (match === '%%') { + return match; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === 'function') { + const val = args[index]; + match = formatter.call(self, val); + + // Now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // Apply env-specific formatting (colors, etc.) + createDebug.formatArgs.call(self, args); + + const logFn = self.log || createDebug.log; + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.enabled = createDebug.enabled(namespace); + debug.useColors = createDebug.useColors(); + debug.color = selectColor(namespace); + debug.destroy = destroy; + debug.extend = extend; + // Debug.formatArgs = formatArgs; + // debug.rawLog = rawLog; + + // env-specific initialization logic for debug instances + if (typeof createDebug.init === 'function') { + createDebug.init(debug); + } + + createDebug.instances.push(debug); + + return debug; + } + + function destroy() { + const index = createDebug.instances.indexOf(this); + if (index !== -1) { + createDebug.instances.splice(index, 1); + return true; + } + return false; + } + + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + function enable(namespaces) { + createDebug.save(namespaces); + + createDebug.names = []; + createDebug.skips = []; + + let i; + const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + const len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) { + // ignore empty strings + continue; + } + + namespaces = split[i].replace(/\*/g, '.*?'); + + if (namespaces[0] === '-') { + createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + createDebug.names.push(new RegExp('^' + namespaces + '$')); + } + } + + for (i = 0; i < createDebug.instances.length; i++) { + const instance = createDebug.instances[i]; + instance.enabled = createDebug.enabled(instance.namespace); + } + } + + /** + * Disable debug output. + * + * @return {String} namespaces + * @api public + */ + function disable() { + const namespaces = [ + ...createDebug.names.map(toNamespace), + ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace) + ].join(','); + createDebug.enable(''); + return namespaces; + } + + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + + let i; + let len; + + for (i = 0, len = createDebug.skips.length; i < len; i++) { + if (createDebug.skips[i].test(name)) { + return false; + } + } + + for (i = 0, len = createDebug.names.length; i < len; i++) { + if (createDebug.names[i].test(name)) { + return true; + } + } + + return false; + } + + /** + * Convert regexp to namespace + * + * @param {RegExp} regxep + * @return {String} namespace + * @api private + */ + function toNamespace(regexp) { + return regexp.toString() + .substring(2, regexp.toString().length - 2) + .replace(/\.\*\?$/, '*'); + } + + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + + createDebug.enable(createDebug.load()); + + return createDebug; +} + +var common$1 = setup; + +var browser = createCommonjsModule(function (module, exports) { +/* eslint-env browser */ + +/** + * This is the web browser implementation of `debug()`. + */ + +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = localstorage(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', + '#0000FF', + '#0033CC', + '#0033FF', + '#0066CC', + '#0066FF', + '#0099CC', + '#0099FF', + '#00CC00', + '#00CC33', + '#00CC66', + '#00CC99', + '#00CCCC', + '#00CCFF', + '#3300CC', + '#3300FF', + '#3333CC', + '#3333FF', + '#3366CC', + '#3366FF', + '#3399CC', + '#3399FF', + '#33CC00', + '#33CC33', + '#33CC66', + '#33CC99', + '#33CCCC', + '#33CCFF', + '#6600CC', + '#6600FF', + '#6633CC', + '#6633FF', + '#66CC00', + '#66CC33', + '#9900CC', + '#9900FF', + '#9933CC', + '#9933FF', + '#99CC00', + '#99CC33', + '#CC0000', + '#CC0033', + '#CC0066', + '#CC0099', + '#CC00CC', + '#CC00FF', + '#CC3300', + '#CC3333', + '#CC3366', + '#CC3399', + '#CC33CC', + '#CC33FF', + '#CC6600', + '#CC6633', + '#CC9900', + '#CC9933', + '#CCCC00', + '#CCCC33', + '#FF0000', + '#FF0033', + '#FF0066', + '#FF0099', + '#FF00CC', + '#FF00FF', + '#FF3300', + '#FF3333', + '#FF3366', + '#FF3399', + '#FF33CC', + '#FF33FF', + '#FF6600', + '#FF6633', + '#FF9900', + '#FF9933', + '#FFCC00', + '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +// eslint-disable-next-line complexity +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + // Is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // Is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // Double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + args[0] = (this.useColors ? '%c' : '') + + this.namespace + + (this.useColors ? ' %c' : ' ') + + args[0] + + (this.useColors ? '%c ' : ' ') + + '+' + module.exports.humanize(this.diff); + + if (!this.useColors) { + return; + } + + const c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit'); + + // The final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, match => { + if (match === '%%') { + return; + } + index++; + if (match === '%c') { + // We only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ +function log(...args) { + // This hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return typeof console === 'object' && + console.log && + console.log(...args); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem('debug', namespaces); + } else { + exports.storage.removeItem('debug'); + } + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ +function load() { + let r; + try { + r = exports.storage.getItem('debug'); + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context + // The Browser also has localStorage in the global context. + return localStorage; + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +module.exports = common$1(exports); + +const {formatters} = module.exports; + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +formatters.j = function (v) { + try { + return JSON.stringify(v); + } catch (error) { + return '[UnexpectedJSONParseError]: ' + error.message; + } +}; +}); +var browser_1 = browser.log; +var browser_2 = browser.formatArgs; +var browser_3 = browser.save; +var browser_4 = browser.load; +var browser_5 = browser.useColors; +var browser_6 = browser.storage; +var browser_7 = browser.colors; + +var hasFlag = (flag, argv) => { + argv = argv || process.argv; + const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); + const pos = argv.indexOf(prefix + flag); + const terminatorPos = argv.indexOf('--'); + return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); +}; + +const env = process.env; + +let forceColor; +if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false')) { + forceColor = false; +} else if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + forceColor = true; +} +if ('FORCE_COLOR' in env) { + forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; +} + +function translateLevel(level) { + if (level === 0) { + return false; + } + + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} + +function supportsColor(stream) { + if (forceColor === false) { + return 0; + } + + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } + + if (hasFlag('color=256')) { + return 2; + } + + if (stream && !stream.isTTY && forceColor !== true) { + return 0; + } + + const min = forceColor ? 1 : 0; + + if (process.platform === 'win32') { + // Node.js 7.5.0 is the first version of Node.js to include a patch to + // libuv that enables 256 color output on Windows. Anything earlier and it + // won't work. However, here we target Node.js 8 at minimum as it is an LTS + // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows + // release that supports 256 colors. Windows 10 build 14931 is the first release + // that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + if ( + Number(process.versions.node.split('.')[0]) >= 8 && + Number(osRelease[0]) >= 10 && + Number(osRelease[2]) >= 10586 + ) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + + return 1; + } + + if ('CI' in env) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } + + return min; + } + + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + + if (env.COLORTERM === 'truecolor') { + return 3; + } + + if ('TERM_PROGRAM' in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + + switch (env.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + case 'Apple_Terminal': + return 2; + // No default + } + } + + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + + if ('COLORTERM' in env) { + return 1; + } + + if (env.TERM === 'dumb') { + return min; + } + + return min; +} + +function getSupportLevel(stream) { + const level = supportsColor(stream); + return translateLevel(level); +} + +var supportsColor_1 = { + supportsColor: getSupportLevel, + stdout: getSupportLevel(process.stdout), + stderr: getSupportLevel(process.stderr) +}; + +var node = createCommonjsModule(function (module, exports) { +/** + * Module dependencies. + */ + + + + +/** + * This is the Node.js implementation of `debug()`. + */ + +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; + +/** + * Colors. + */ + +exports.colors = [6, 2, 3, 4, 5, 1]; + +try { + // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json) + // eslint-disable-next-line import/no-extraneous-dependencies + const supportsColor = supportsColor_1; + + if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { + exports.colors = [ + 20, + 21, + 26, + 27, + 32, + 33, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 56, + 57, + 62, + 63, + 68, + 69, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 92, + 93, + 98, + 99, + 112, + 113, + 128, + 129, + 134, + 135, + 148, + 149, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 178, + 179, + 184, + 185, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 214, + 215, + 220, + 221 + ]; + } +} catch (error) { + // Swallow - we only care if `supports-color` is available; it doesn't have to be. +} + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(key => { + return /^debug_/i.test(key); +}).reduce((obj, key) => { + // Camel-case + const prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, (_, k) => { + return k.toUpperCase(); + }); + + // Coerce string value into JS value + let val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) { + val = true; + } else if (/^(no|off|false|disabled)$/i.test(val)) { + val = false; + } else if (val === 'null') { + val = null; + } else { + val = Number(val); + } + + obj[prop] = val; + return obj; +}, {}); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts ? + Boolean(exports.inspectOpts.colors) : + tty.isatty(process.stderr.fd); +} + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + const {namespace: name, useColors} = this; + + if (useColors) { + const c = this.color; + const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c); + const prefix = ` ${colorCode};1m${name} \u001B[0m`; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m'); + } else { + args[0] = getDate() + name + ' ' + args[0]; + } +} + +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } + return new Date().toISOString() + ' '; +} + +/** + * Invokes `util.format()` with the specified arguments and writes to stderr. + */ + +function log(...args) { + return process.stderr.write(util$1.format(...args) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + if (namespaces) { + process.env.DEBUG = namespaces; + } else { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init(debug) { + debug.inspectOpts = {}; + + const keys = Object.keys(exports.inspectOpts); + for (let i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +module.exports = common$1(exports); + +const {formatters} = module.exports; + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +formatters.o = function (v) { + this.inspectOpts.colors = this.useColors; + return util$1.inspect(v, this.inspectOpts) + .replace(/\s*\n\s*/g, ' '); +}; + +/** + * Map %O to `util.inspect()`, allowing multiple lines if needed. + */ + +formatters.O = function (v) { + this.inspectOpts.colors = this.useColors; + return util$1.inspect(v, this.inspectOpts); +}; +}); +var node_1 = node.init; +var node_2 = node.log; +var node_3 = node.formatArgs; +var node_4 = node.save; +var node_5 = node.load; +var node_6 = node.useColors; +var node_7 = node.colors; +var node_8 = node.inspectOpts; + +var src = createCommonjsModule(function (module) { +/** + * Detect Electron renderer / nwjs process, which is node, but we should + * treat as a browser. + */ + +if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { + module.exports = browser; +} else { + module.exports = node; +} +}); + +const resolveFrom = (fromDirectory, moduleId, silent) => { + if (typeof fromDirectory !== 'string') { + throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDirectory}\``); + } + + if (typeof moduleId !== 'string') { + throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``); + } + + try { + fromDirectory = fs$1.realpathSync(fromDirectory); + } catch (error) { + if (error.code === 'ENOENT') { + fromDirectory = path$1.resolve(fromDirectory); + } else if (silent) { + return; + } else { + throw error; + } + } + + const fromFile = path$1.join(fromDirectory, 'noop.js'); + + const resolveFileName = () => module$1._resolveFilename(moduleId, { + id: fromFile, + filename: fromFile, + paths: module$1._nodeModulePaths(fromDirectory) + }); + + if (silent) { + try { + return resolveFileName(); + } catch (error) { + return; + } + } + + return resolveFileName(); +}; + +var resolveFrom_1 = (fromDirectory, moduleId) => resolveFrom(fromDirectory, moduleId); +var silent = (fromDirectory, moduleId) => resolveFrom(fromDirectory, moduleId, true); +resolveFrom_1.silent = silent; + +var ini = createCommonjsModule(function (module, exports) { +exports.parse = exports.decode = decode; + +exports.stringify = exports.encode = encode; + +exports.safe = safe; +exports.unsafe = unsafe; + +var eol = typeof process !== 'undefined' && + process.platform === 'win32' ? '\r\n' : '\n'; + +function encode (obj, opt) { + var children = []; + var out = ''; + + if (typeof opt === 'string') { + opt = { + section: opt, + whitespace: false + }; + } else { + opt = opt || {}; + opt.whitespace = opt.whitespace === true; + } + + var separator = opt.whitespace ? ' = ' : '='; + + Object.keys(obj).forEach(function (k, _, __) { + var val = obj[k]; + if (val && Array.isArray(val)) { + val.forEach(function (item) { + out += safe(k + '[]') + separator + safe(item) + '\n'; + }); + } else if (val && typeof val === 'object') { + children.push(k); + } else { + out += safe(k) + separator + safe(val) + eol; + } + }); + + if (opt.section && out.length) { + out = '[' + safe(opt.section) + ']' + eol + out; + } + + children.forEach(function (k, _, __) { + var nk = dotSplit(k).join('\\.'); + var section = (opt.section ? opt.section + '.' : '') + nk; + var child = encode(obj[k], { + section: section, + whitespace: opt.whitespace + }); + if (out.length && child.length) { + out += eol; + } + out += child; + }); + + return out +} + +function dotSplit (str) { + return str.replace(/\1/g, '\u0002LITERAL\\1LITERAL\u0002') + .replace(/\\\./g, '\u0001') + .split(/\./).map(function (part) { + return part.replace(/\1/g, '\\.') + .replace(/\2LITERAL\\1LITERAL\2/g, '\u0001') + }) +} + +function decode (str) { + var out = {}; + var p = out; + var section = null; + // section |key = value + var re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i; + var lines = str.split(/[\r\n]+/g); + + lines.forEach(function (line, _, __) { + if (!line || line.match(/^\s*[;#]/)) return + var match = line.match(re); + if (!match) return + if (match[1] !== undefined) { + section = unsafe(match[1]); + p = out[section] = out[section] || {}; + return + } + var key = unsafe(match[2]); + var value = match[3] ? unsafe(match[4]) : true; + switch (value) { + case 'true': + case 'false': + case 'null': value = JSON.parse(value); + } + + // Convert keys with '[]' suffix to an array + if (key.length > 2 && key.slice(-2) === '[]') { + key = key.substring(0, key.length - 2); + if (!p[key]) { + p[key] = []; + } else if (!Array.isArray(p[key])) { + p[key] = [p[key]]; + } + } + + // safeguard against resetting a previously defined + // array by accidentally forgetting the brackets + if (Array.isArray(p[key])) { + p[key].push(value); + } else { + p[key] = value; + } + }); + + // {a:{y:1},"a.b":{x:2}} --> {a:{y:1,b:{x:2}}} + // use a filter to return the keys that have to be deleted. + Object.keys(out).filter(function (k, _, __) { + if (!out[k] || + typeof out[k] !== 'object' || + Array.isArray(out[k])) { + return false + } + // see if the parent section is also an object. + // if so, add it to that, and mark this one for deletion + var parts = dotSplit(k); + var p = out; + var l = parts.pop(); + var nl = l.replace(/\\\./g, '.'); + parts.forEach(function (part, _, __) { + if (!p[part] || typeof p[part] !== 'object') p[part] = {}; + p = p[part]; + }); + if (p === out && nl === l) { + return false + } + p[nl] = out[k]; + return true + }).forEach(function (del, _, __) { + delete out[del]; + }); + + return out +} + +function isQuoted (val) { + return (val.charAt(0) === '"' && val.slice(-1) === '"') || + (val.charAt(0) === "'" && val.slice(-1) === "'") +} + +function safe (val) { + return (typeof val !== 'string' || + val.match(/[=\r\n]/) || + val.match(/^\[/) || + (val.length > 1 && + isQuoted(val)) || + val !== val.trim()) + ? JSON.stringify(val) + : val.replace(/;/g, '\\;').replace(/#/g, '\\#') +} + +function unsafe (val, doUnesc) { + val = (val || '').trim(); + if (isQuoted(val)) { + // remove the single quotes before calling JSON.parse + if (val.charAt(0) === "'") { + val = val.substr(1, val.length - 2); + } + try { val = JSON.parse(val); } catch (_) {} + } else { + // walk the val to find the first not-escaped ; character + var esc = false; + var unesc = ''; + for (var i = 0, l = val.length; i < l; i++) { + var c = val.charAt(i); + if (esc) { + if ('\\;#'.indexOf(c) !== -1) { + unesc += c; + } else { + unesc += '\\' + c; + } + esc = false; + } else if (';#'.indexOf(c) !== -1) { + break + } else if (c === '\\') { + esc = true; + } else { + unesc += c; + } + } + if (esc) { + unesc += '\\'; + } + return unesc.trim() + } + return val +} +}); +var ini_1 = ini.parse; +var ini_2 = ini.decode; +var ini_3 = ini.stringify; +var ini_4 = ini.encode; +var ini_5 = ini.safe; +var ini_6 = ini.unsafe; + +var singleComment = 1; +var multiComment = 2; + +function stripWithoutWhitespace() { + return ''; +} + +function stripWithWhitespace(str, start, end) { + return str.slice(start, end).replace(/\S/g, ' '); +} + +var stripJsonComments = function (str, opts) { + opts = opts || {}; + + var currentChar; + var nextChar; + var insideString = false; + var insideComment = false; + var offset = 0; + var ret = ''; + var strip = opts.whitespace === false ? stripWithoutWhitespace : stripWithWhitespace; + + for (var i = 0; i < str.length; i++) { + currentChar = str[i]; + nextChar = str[i + 1]; + + if (!insideComment && currentChar === '"') { + var escaped = str[i - 1] === '\\' && str[i - 2] !== '\\'; + if (!escaped) { + insideString = !insideString; + } + } + + if (insideString) { + continue; + } + + if (!insideComment && currentChar + nextChar === '//') { + ret += str.slice(offset, i); + offset = i; + insideComment = singleComment; + i++; + } else if (insideComment === singleComment && currentChar + nextChar === '\r\n') { + i++; + insideComment = false; + ret += strip(str, offset, i); + offset = i; + continue; + } else if (insideComment === singleComment && currentChar === '\n') { + insideComment = false; + ret += strip(str, offset, i); + offset = i; + } else if (!insideComment && currentChar + nextChar === '/*') { + ret += str.slice(offset, i); + offset = i; + insideComment = multiComment; + i++; + continue; + } else if (insideComment === multiComment && currentChar + nextChar === '*/') { + i++; + insideComment = false; + ret += strip(str, offset, i + 1); + offset = i + 1; + continue; + } + } + + return ret + (insideComment ? strip(str.substr(offset)) : str.substr(offset)); +}; + +var utils = createCommonjsModule(function (module, exports) { + + + + + +var parse = exports.parse = function (content) { + + //if it ends in .json or starts with { then it must be json. + //must be done this way, because ini accepts everything. + //can't just try and parse it and let it throw if it's not ini. + //everything is ini. even json with a syntax error. + + if(/^\s*{/.test(content)) + return JSON.parse(stripJsonComments(content)) + return ini.parse(content) + +}; + +var file = exports.file = function () { + var args = [].slice.call(arguments).filter(function (arg) { return arg != null }); + + //path.join breaks if it's a not a string, so just skip this. + for(var i in args) + if('string' !== typeof args[i]) + return + + var file = path$1.join.apply(null, args); + try { + return fs$1.readFileSync(file,'utf-8') + } catch (err) { + return + } +}; + +var json = exports.json = function () { + var content = file.apply(null, arguments); + return content ? parse(content) : null +}; + +var env = exports.env = function (prefix, env) { + env = env || process.env; + var obj = {}; + var l = prefix.length; + for(var k in env) { + if(k.toLowerCase().indexOf(prefix.toLowerCase()) === 0) { + + var keypath = k.substring(l).split('__'); + + // Trim empty strings from keypath array + var _emptyStringIndex; + while ((_emptyStringIndex=keypath.indexOf('')) > -1) { + keypath.splice(_emptyStringIndex, 1); + } + + var cursor = obj; + keypath.forEach(function _buildSubObj(_subkey,i){ + + // (check for _subkey first so we ignore empty strings) + // (check for cursor to avoid assignment to primitive objects) + if (!_subkey || typeof cursor !== 'object') + return + + // If this is the last key, just stuff the value in there + // Assigns actual value from env variable to final key + // (unless it's just an empty string- in that case use the last valid key) + if (i === keypath.length-1) + cursor[_subkey] = env[k]; + + + // Build sub-object if nothing already exists at the keypath + if (cursor[_subkey] === undefined) + cursor[_subkey] = {}; + + // Increment cursor used to track the object at the current depth + cursor = cursor[_subkey]; + + }); + + } + + } + + return obj +}; + +var find = exports.find = function () { + var rel = path$1.join.apply(null, [].slice.call(arguments)); + + function find(start, rel) { + var file = path$1.join(start, rel); + try { + fs$1.statSync(file); + return file + } catch (err) { + if(path$1.dirname(start) !== start) // root + return find(path$1.dirname(start), rel) + } + } + return find(process.cwd(), rel) +}; +}); +var utils_1 = utils.parse; +var utils_2 = utils.file; +var utils_3 = utils.json; +var utils_4 = utils.env; +var utils_5 = utils.find; + +var deepExtend_1 = createCommonjsModule(function (module) { + +function isSpecificValue(val) { + return ( + val instanceof Buffer + || val instanceof Date + || val instanceof RegExp + ) ? true : false; +} + +function cloneSpecificValue(val) { + if (val instanceof Buffer) { + var x = Buffer.alloc + ? Buffer.alloc(val.length) + : new Buffer(val.length); + val.copy(x); + return x; + } else if (val instanceof Date) { + return new Date(val.getTime()); + } else if (val instanceof RegExp) { + return new RegExp(val); + } else { + throw new Error('Unexpected situation'); + } +} + +/** + * Recursive cloning array. + */ +function deepCloneArray(arr) { + var clone = []; + arr.forEach(function (item, index) { + if (typeof item === 'object' && item !== null) { + if (Array.isArray(item)) { + clone[index] = deepCloneArray(item); + } else if (isSpecificValue(item)) { + clone[index] = cloneSpecificValue(item); + } else { + clone[index] = deepExtend({}, item); + } + } else { + clone[index] = item; + } + }); + return clone; +} + +function safeGetProperty(object, property) { + return property === '__proto__' ? undefined : object[property]; +} + +/** + * Extening object that entered in first argument. + * + * Returns extended object or false if have no target object or incorrect type. + * + * If you wish to clone source object (without modify it), just use empty new + * object as first argument, like this: + * deepExtend({}, yourObj_1, [yourObj_N]); + */ +var deepExtend = module.exports = function (/*obj_1, [obj_2], [obj_N]*/) { + if (arguments.length < 1 || typeof arguments[0] !== 'object') { + return false; + } + + if (arguments.length < 2) { + return arguments[0]; + } + + var target = arguments[0]; + + // convert arguments to array and cut off target object + var args = Array.prototype.slice.call(arguments, 1); + + var val, src; + + args.forEach(function (obj) { + // skip argument if isn't an object, is null, or is an array + if (typeof obj !== 'object' || obj === null || Array.isArray(obj)) { + return; + } + + Object.keys(obj).forEach(function (key) { + src = safeGetProperty(target, key); // source value + val = safeGetProperty(obj, key); // new value + + // recursion prevention + if (val === target) { + return; + + /** + * if new value isn't object then just overwrite by new value + * instead of extending. + */ + } else if (typeof val !== 'object' || val === null) { + target[key] = val; + return; + + // just clone arrays (and recursive clone objects inside) + } else if (Array.isArray(val)) { + target[key] = deepCloneArray(val); + return; + + // custom cloning and overwrite for specific objects + } else if (isSpecificValue(val)) { + target[key] = cloneSpecificValue(val); + return; + + // overwrite by new value if source isn't object or array + } else if (typeof src !== 'object' || src === null || Array.isArray(src)) { + target[key] = deepExtend({}, val); + return; + + // source value and new value is objects both, extending... + } else { + target[key] = deepExtend(src, val); + return; + } + }); + }); + + return target; +}; +}); + +var minimist = function (args, opts) { + if (!opts) opts = {}; + + var flags = { bools : {}, strings : {}, unknownFn: null }; + + if (typeof opts['unknown'] === 'function') { + flags.unknownFn = opts['unknown']; + } + + if (typeof opts['boolean'] === 'boolean' && opts['boolean']) { + flags.allBools = true; + } else { + [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { + flags.bools[key] = true; + }); + } + + var aliases = {}; + Object.keys(opts.alias || {}).forEach(function (key) { + aliases[key] = [].concat(opts.alias[key]); + aliases[key].forEach(function (x) { + aliases[x] = [key].concat(aliases[key].filter(function (y) { + return x !== y; + })); + }); + }); + + [].concat(opts.string).filter(Boolean).forEach(function (key) { + flags.strings[key] = true; + if (aliases[key]) { + flags.strings[aliases[key]] = true; + } + }); + + var defaults = opts['default'] || {}; + + var argv = { _ : [] }; + Object.keys(flags.bools).forEach(function (key) { + setArg(key, defaults[key] === undefined ? false : defaults[key]); + }); + + var notFlags = []; + + if (args.indexOf('--') !== -1) { + notFlags = args.slice(args.indexOf('--')+1); + args = args.slice(0, args.indexOf('--')); + } + + function argDefined(key, arg) { + return (flags.allBools && /^--[^=]+$/.test(arg)) || + flags.strings[key] || flags.bools[key] || aliases[key]; + } + + function setArg (key, val, arg) { + if (arg && flags.unknownFn && !argDefined(key, arg)) { + if (flags.unknownFn(arg) === false) return; + } + + var value = !flags.strings[key] && isNumber(val) + ? Number(val) : val + ; + setKey(argv, key.split('.'), value); + + (aliases[key] || []).forEach(function (x) { + setKey(argv, x.split('.'), value); + }); + } + + function setKey (obj, keys, value) { + var o = obj; + for (var i = 0; i < keys.length-1; i++) { + var key = keys[i]; + if (key === '__proto__') return; + if (o[key] === undefined) o[key] = {}; + if (o[key] === Object.prototype || o[key] === Number.prototype + || o[key] === String.prototype) o[key] = {}; + if (o[key] === Array.prototype) o[key] = []; + o = o[key]; + } + + var key = keys[keys.length - 1]; + if (key === '__proto__') return; + if (o === Object.prototype || o === Number.prototype + || o === String.prototype) o = {}; + if (o === Array.prototype) o = []; + if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') { + o[key] = value; + } + else if (Array.isArray(o[key])) { + o[key].push(value); + } + else { + o[key] = [ o[key], value ]; + } + } + + function aliasIsBoolean(key) { + return aliases[key].some(function (x) { + return flags.bools[x]; + }); + } + + for (var i = 0; i < args.length; i++) { + var arg = args[i]; + + if (/^--.+=/.test(arg)) { + // Using [\s\S] instead of . because js doesn't support the + // 'dotall' regex modifier. See: + // http://stackoverflow.com/a/1068308/13216 + var m = arg.match(/^--([^=]+)=([\s\S]*)$/); + var key = m[1]; + var value = m[2]; + if (flags.bools[key]) { + value = value !== 'false'; + } + setArg(key, value, arg); + } + else if (/^--no-.+/.test(arg)) { + var key = arg.match(/^--no-(.+)/)[1]; + setArg(key, false, arg); + } + else if (/^--.+/.test(arg)) { + var key = arg.match(/^--(.+)/)[1]; + var next = args[i + 1]; + if (next !== undefined && !/^-/.test(next) + && !flags.bools[key] + && !flags.allBools + && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, next, arg); + i++; + } + else if (/^(true|false)$/.test(next)) { + setArg(key, next === 'true', arg); + i++; + } + else { + setArg(key, flags.strings[key] ? '' : true, arg); + } + } + else if (/^-[^-]+/.test(arg)) { + var letters = arg.slice(1,-1).split(''); + + var broken = false; + for (var j = 0; j < letters.length; j++) { + var next = arg.slice(j+2); + + if (next === '-') { + setArg(letters[j], next, arg); + continue; + } + + if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { + setArg(letters[j], next.split('=')[1], arg); + broken = true; + break; + } + + if (/[A-Za-z]/.test(letters[j]) + && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { + setArg(letters[j], next, arg); + broken = true; + break; + } + + if (letters[j+1] && letters[j+1].match(/\W/)) { + setArg(letters[j], arg.slice(j+2), arg); + broken = true; + break; + } + else { + setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg); + } + } + + var key = arg.slice(-1)[0]; + if (!broken && key !== '-') { + if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1]) + && !flags.bools[key] + && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, args[i+1], arg); + i++; + } + else if (args[i+1] && /^(true|false)$/.test(args[i+1])) { + setArg(key, args[i+1] === 'true', arg); + i++; + } + else { + setArg(key, flags.strings[key] ? '' : true, arg); + } + } + } + else { + if (!flags.unknownFn || flags.unknownFn(arg) !== false) { + argv._.push( + flags.strings['_'] || !isNumber(arg) ? arg : Number(arg) + ); + } + if (opts.stopEarly) { + argv._.push.apply(argv._, args.slice(i + 1)); + break; + } + } + } + + Object.keys(defaults).forEach(function (key) { + if (!hasKey(argv, key.split('.'))) { + setKey(argv, key.split('.'), defaults[key]); + + (aliases[key] || []).forEach(function (x) { + setKey(argv, x.split('.'), defaults[key]); + }); + } + }); + + if (opts['--']) { + argv['--'] = new Array(); + notFlags.forEach(function(key) { + argv['--'].push(key); + }); + } + else { + notFlags.forEach(function(key) { + argv._.push(key); + }); + } + + return argv; +}; + +function hasKey (obj, keys) { + var o = obj; + keys.slice(0,-1).forEach(function (key) { + o = (o[key] || {}); + }); + + var key = keys[keys.length - 1]; + return key in o; +} + +function isNumber (x) { + if (typeof x === 'number') return true; + if (/^0x[0-9a-f]+$/i.test(x)) return true; + return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); +} + +var join = path$1.join; + +var etc = '/etc'; +var win = process.platform === "win32"; +var home = win + ? process.env.USERPROFILE + : process.env.HOME; + +var rc = function (name, defaults, argv, parse) { + if('string' !== typeof name) + throw new Error('rc(name): name *must* be string') + if(!argv) + argv = minimist(process.argv.slice(2)); + defaults = ( + 'string' === typeof defaults + ? utils.json(defaults) : defaults + ) || {}; + + parse = parse || utils.parse; + + var env = utils.env(name + '_'); + + var configs = [defaults]; + var configFiles = []; + function addConfigFile (file) { + if (configFiles.indexOf(file) >= 0) return + var fileConfig = utils.file(file); + if (fileConfig) { + configs.push(parse(fileConfig)); + configFiles.push(file); + } + } + + // which files do we look at? + if (!win) + [join(etc, name, 'config'), + join(etc, name + 'rc')].forEach(addConfigFile); + if (home) + [join(home, '.config', name, 'config'), + join(home, '.config', name), + join(home, '.' + name, 'config'), + join(home, '.' + name + 'rc')].forEach(addConfigFile); + addConfigFile(utils.find('.'+name+'rc')); + if (env.config) addConfigFile(env.config); + if (argv.config) addConfigFile(argv.config); + + return deepExtend_1.apply(null, configs.concat([ + env, + argv, + configFiles.length ? {configs: configFiles, config: configFiles[configFiles.length - 1]} : undefined, + ])) +}; + +function homedir() { + var env = process.env; + var home = env.HOME; + var user = env.LOGNAME || env.USER || env.LNAME || env.USERNAME; + + if (process.platform === 'win32') { + return env.USERPROFILE || env.HOMEDRIVE + env.HOMEPATH || home || null; + } + + if (process.platform === 'darwin') { + return home || (user ? '/Users/' + user : null); + } + + if (process.platform === 'linux') { + return home || (process.getuid() === 0 ? '/root' : (user ? '/home/' + user : null)); + } + + return home || null; +} + +var osHomedir = typeof os.homedir === 'function' ? os.homedir : homedir; + +var home$1 = osHomedir(); + +var untildify = function (str) { + if (typeof str !== 'string') { + throw new TypeError('Expected a string'); + } + + return home$1 ? str.replace(/^~($|\/|\\)/, home$1 + '$1') : str; +}; + +var shellsubstitute = function (s, vars) { + return s.replace(/(\\*)(\$([_a-z0-9]+)|\${([_a-z0-9]+)})/ig, function (_, escape, varExpression, variable, bracedVariable) { + if (!(escape.length % 2)) { + return escape.substring(Math.ceil(escape.length / 2)) + (vars[variable || bracedVariable] || ''); + } else { + return escape.substring(1) + varExpression; + } + }); +}; + +var npmPrefix = function () { + var rcPrefix = rc('npm', null, []).prefix; + + if (rcPrefix) { + return untildify(shellsubstitute(rcPrefix, process.env)); + } + else if (process.platform == 'win32') { + return path$1.dirname(process.execPath); + } + else { + return path$1.resolve(process.execPath, '../..'); + } +}; + +var resolve = resolveFrom_1.silent; +var npmPrefix$1 = npmPrefix(); + +var loadPlugin_1 = loadPlugin; +loadPlugin.resolve = resolvePlugin; + +var electron = process.versions.electron !== undefined; +var argv = process.argv[1] || /* istanbul ignore next */ ''; +var nvm = process.env.NVM_BIN; +var globally = electron || argv.indexOf(npmPrefix$1) === 0; +var windows = process.platform === 'win32'; +var prefix = windows ? /* istanbul ignore next */ '' : 'lib'; +var globals = path$1.resolve(npmPrefix$1, prefix, 'node_modules'); + +// If we’re in Electron, we’re running in a modified Node that cannot really +// install global node modules. To find the actual modules, the user has to +// either set `prefix` in their `.npmrc` (which is picked up by `npm-prefix`). +// Most people don’t do that, and some use NVM instead to manage different +// versions of Node. Luckily NVM leaks some environment variables that we can +// pick up on to try and detect the actual modules. +/* istanbul ignore next */ +if (electron && nvm && !fs$1.existsSync(globals)) { + globals = path$1.resolve(nvm, '..', prefix, 'node_modules'); +} + +// Load the plug-in found using `resolvePlugin`. +function loadPlugin(name, options) { + return commonjsRequire(resolvePlugin(name, options) || name) +} + +// Find a plugin. +// +// See also: +// +// +// +// Uses the standard node module loading strategy to find $name in each given +// `cwd` (and optionally the global `node_modules` directory). +// +// If a prefix is given and $name is not a path, `$prefix-$name` is also +// searched (preferring these over non-prefixed modules). +function resolvePlugin(name, options) { + var settings = options || {}; + var prefix = settings.prefix; + var cwd = settings.cwd; + var global = settings.global; + var filePath; + var sources; + var length; + var index; + var plugin; + var slash; + var scope = ''; + + if (global === null || global === undefined) { + global = globally; + } + + if (cwd && typeof cwd === 'object') { + sources = cwd.concat(); + } else { + sources = [cwd || process.cwd()]; + } + + // Non-path. + if (name.charAt(0) !== '.') { + if (global) { + sources.push(globals); + } + + // Unprefix module. + if (prefix) { + prefix = prefix.charAt(prefix.length - 1) === '-' ? prefix : prefix + '-'; + + // Scope? + if (name.charAt(0) === '@') { + slash = name.indexOf('/'); + + // Let’s keep the algorithm simple. No need to care if this is a + // “valid” scope (I think?). But we do check for the slash. + if (slash !== -1) { + scope = name.slice(0, slash + 1); + name = name.slice(slash + 1); + } + } + + if (name.slice(0, prefix.length) !== prefix) { + plugin = scope + prefix + name; + } + + name = scope + name; + } + } + + length = sources.length; + index = -1; + + while (++index < length) { + cwd = sources[index]; + filePath = (plugin && resolve(cwd, plugin)) || resolve(cwd, name); + + if (filePath) { + return filePath + } + } + + return null +} + +var format = createCommonjsModule(function (module) { +(function() { + + //// Export the API + var namespace; + + // CommonJS / Node module + { + namespace = module.exports = format; + } + + namespace.format = format; + namespace.vsprintf = vsprintf; + + if (typeof console !== 'undefined' && typeof console.log === 'function') { + namespace.printf = printf; + } + + function printf(/* ... */) { + console.log(format.apply(null, arguments)); + } + + function vsprintf(fmt, replacements) { + return format.apply(null, [fmt].concat(replacements)); + } + + function format(fmt) { + var argIndex = 1 // skip initial format argument + , args = [].slice.call(arguments) + , i = 0 + , n = fmt.length + , result = '' + , c + , escaped = false + , arg + , tmp + , leadingZero = false + , precision + , nextArg = function() { return args[argIndex++]; } + , slurpNumber = function() { + var digits = ''; + while (/\d/.test(fmt[i])) { + digits += fmt[i++]; + c = fmt[i]; + } + return digits.length > 0 ? parseInt(digits) : null; + } + ; + for (; i < n; ++i) { + c = fmt[i]; + if (escaped) { + escaped = false; + if (c == '.') { + leadingZero = false; + c = fmt[++i]; + } + else if (c == '0' && fmt[i + 1] == '.') { + leadingZero = true; + i += 2; + c = fmt[i]; + } + else { + leadingZero = true; + } + precision = slurpNumber(); + switch (c) { + case 'b': // number in binary + result += parseInt(nextArg(), 10).toString(2); + break; + case 'c': // character + arg = nextArg(); + if (typeof arg === 'string' || arg instanceof String) + result += arg; + else + result += String.fromCharCode(parseInt(arg, 10)); + break; + case 'd': // number in decimal + result += parseInt(nextArg(), 10); + break; + case 'f': // floating point number + tmp = String(parseFloat(nextArg()).toFixed(precision || 6)); + result += leadingZero ? tmp : tmp.replace(/^0/, ''); + break; + case 'j': // JSON + result += JSON.stringify(nextArg()); + break; + case 'o': // number in octal + result += '0' + parseInt(nextArg(), 10).toString(8); + break; + case 's': // string + result += nextArg(); + break; + case 'x': // lowercase hexadecimal + result += '0x' + parseInt(nextArg(), 10).toString(16); + break; + case 'X': // uppercase hexadecimal + result += '0x' + parseInt(nextArg(), 10).toString(16).toUpperCase(); + break; + default: + result += c; + break; + } + } else if (c === '%') { + escaped = true; + } else { + result += c; + } + } + return result; + } + +}()); +}); + +var fault = create(Error); + +var fault_1 = fault; + +fault.eval = create(EvalError); +fault.range = create(RangeError); +fault.reference = create(ReferenceError); +fault.syntax = create(SyntaxError); +fault.type = create(TypeError); +fault.uri = create(URIError); + +fault.create = create; + +// Create a new `EConstructor`, with the formatted `format` as a first argument. +function create(EConstructor) { + FormattedError.displayName = EConstructor.displayName || EConstructor.name; + + return FormattedError + + function FormattedError(format$1) { + if (format$1) { + format$1 = format.apply(null, arguments); + } + + return new EConstructor(format$1) + } +} + +var immutable = extend$1; + +var hasOwnProperty = Object.prototype.hasOwnProperty; + +function extend$1() { + var target = {}; + + for (var i = 0; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target +} + +var isObject$1 = function isObject(x) { + return typeof x === "object" && x !== null; +}; + +var toString = Object.prototype.toString; + +var xIsString = isString; + +function isString(obj) { + return toString.call(obj) === "[object String]" +} + +var debug = src('unified-engine:find-up'); + + +var findUp = FindUp; + +var read = fs$1.readFile; +var resolve$1 = path$1.resolve; +var relative = path$1.relative; +var join$1 = path$1.join; +var dirname = path$1.dirname; + +FindUp.prototype.load = load$2; + +function FindUp(options) { + var self = this; + var fp = options.filePath; + + self.cache = {}; + self.cwd = options.cwd; + self.detect = options.detect; + self.names = options.names; + self.create = options.create; + + if (fp) { + self.givenFilePath = resolve$1(options.cwd, fp); + } +} + +function load$2(filePath, callback) { + var self = this; + var cache = self.cache; + var givenFilePath = self.givenFilePath; + var givenFile = self.givenFile; + var names = self.names; + var create = self.create; + var cwd = self.cwd; + var parent; + + if (givenFilePath) { + if (givenFile) { + apply(callback, givenFile); + } else { + givenFile = [callback]; + self.givenFile = givenFile; + debug('Checking given file `%s`', givenFilePath); + read(givenFilePath, loadGiven); + } + + return + } + + if (!self.detect) { + return callback() + } + + filePath = resolve$1(cwd, filePath); + parent = dirname(filePath); + + if (parent in cache) { + apply(callback, cache[parent]); + } else { + cache[parent] = [callback]; + find(parent); + } + + function loadGiven(error, buf) { + var cbs = self.givenFile; + var result; + + if (error) { + result = fault_1( + 'Cannot read given file `%s`\n%s', + relative(cwd, givenFilePath), + error.stack + ); + result.code = 'ENOENT'; + result.path = error.path; + result.syscall = error.syscall; + } else { + try { + result = create(buf, givenFilePath); + debug('Read given file `%s`', givenFilePath); + } catch (error2) { + result = fault_1( + 'Cannot parse given file `%s`\n%s', + relative(cwd, givenFilePath), + error2.stack + ); + debug(error2.message); + } + } + + givenFile = result; + self.givenFile = result; + applyAll(cbs, result); + } + + function find(directory) { + var index = -1; + var length = names.length; + + next(); + + function next() { + var parent; + + // Try to read the next file. + // We do not use `readdir` because on huge directories, that could be + // *very* slow. + if (++index < length) { + read(join$1(directory, names[index]), done); + } else { + parent = dirname(directory); + + if (directory === parent) { + debug('No files found for `%s`', filePath); + found(); + } else if (parent in cache) { + apply(found, cache[parent]); + } else { + cache[parent] = [found]; + find(parent); + } + } + } + + function done(error, buf) { + var name = names[index]; + var fp = join$1(directory, name); + var contents; + + /* istanbul ignore if - Hard to test. */ + if (error) { + if (error.code === 'ENOENT') { + return next() + } + + error = fault_1( + 'Cannot read file `%s`\n%s', + relative(cwd, fp), + error.message + ); + debug(error.message); + return found(error) + } + + try { + contents = create(buf, fp); + } catch (error2) { + return found( + fault_1('Cannot parse file `%s`\n%s', relative(cwd, fp), error2.message) + ) + } + + /* istanbul ignore else - maybe used in the future. */ + if (contents) { + debug('Read file `%s`', fp); + found(null, contents); + } else { + next(); + } + } + + function found(error, result) { + var cbs = cache[directory]; + cache[directory] = error || result; + applyAll(cbs, error || result); + } + } + + function applyAll(cbs, result) { + var index = cbs.length; + + while (index--) { + apply(cbs[index], result); + } + } + + function apply(cb, result) { + if (isObject$1(result) && typeof result[0] === 'function') { + result.push(cb); + } else if (result instanceof Error) { + cb(result); + } else { + cb(null, result); + } + } +} + +var configuration = createCommonjsModule(function (module) { + + + + + +var debug = src('unified-engine:configuration'); +var resolve = loadPlugin_1.resolve; + + + + + + +module.exports = Config; + +var own = {}.hasOwnProperty; +var extname = path$1.extname; +var basename = path$1.basename; +var dirname = path$1.dirname; +var relative = path$1.relative; + +var loaders = { + '.json': loadJSON, + '.js': loadScript, + '.yaml': loadYAML, + '.yml': loadYAML +}; + +var defaultLoader = loadJSON; + +Config.prototype.load = load; + +function Config(options) { + var rcName = options.rcName; + var packageField = options.packageField; + var names = []; + + this.cwd = options.cwd; + this.packageField = options.packageField; + this.pluginPrefix = options.pluginPrefix; + this.configTransform = options.configTransform; + this.defaultConfig = options.defaultConfig; + + if (rcName) { + names.push(rcName, rcName + '.js', rcName + '.yml', rcName + '.yaml'); + debug('Looking for `%s` configuration files', names); + } + + if (packageField) { + names.push('package.json'); + debug('Looking for `%s` fields in `package.json` files', packageField); + } + + this.given = {settings: options.settings, plugins: options.plugins}; + this.create = create.bind(this); + + this.findUp = new findUp({ + filePath: options.rcPath, + cwd: options.cwd, + detect: options.detectConfig, + names: names, + create: this.create + }); +} + +function load(filePath, callback) { + var searchPath = filePath || path$1.resolve(this.cwd, 'stdin.js'); + var self = this; + + self.findUp.load(searchPath, done); + + function done(error, res) { + if (error || res) { + return callback(error, res) + } + + callback(null, self.create()); + } +} + +function create(buf, filePath) { + var self = this; + var transform = self.configTransform; + var defaults = self.defaultConfig; + var fn = (filePath && loaders[extname(filePath)]) || defaultLoader; + var options = {prefix: self.pluginPrefix, cwd: self.cwd}; + var result = {settings: {}, plugins: []}; + var contents = buf ? fn.apply(self, arguments) : undefined; + + if (transform && contents !== undefined) { + contents = transform(contents, filePath); + } + + // Exit if we did find a `package.json`, but it does not have configuration. + if (buf && contents === undefined && basename(filePath) === 'package.json') { + return + } + + if (contents === undefined) { + if (defaults) { + merge(result, defaults, null, immutable(options, {root: self.cwd})); + } + } else { + merge(result, contents, null, immutable(options, {root: dirname(filePath)})); + } + + merge(result, self.given, null, immutable(options, {root: self.cwd})); + + return result +} + +// Basically `Module.prototype.load`, but for a buffer instead of a file path. +function loadScript(buf, filePath) { + var submodule = module$1._cache[filePath]; + + if (!submodule) { + submodule = new module$1(filePath, module); + submodule.filename = filePath; + submodule.paths = module$1._nodeModulePaths(dirname(filePath)); + submodule._compile(String(buf), filePath); + submodule.loaded = true; + module$1._cache[filePath] = submodule; + } + + return submodule.exports +} + +function loadYAML(buf, filePath) { + return jsYaml$1.safeLoad(buf, {filename: basename(filePath)}) +} + +function loadJSON(buf, filePath) { + var result = parseJson$1(buf, filePath); + + if (basename(filePath) === 'package.json') { + result = result[this.packageField]; + } + + return result +} + +function merge(target, raw, val, options) { + var root = options.root; + var cwd = options.cwd; + var prefix = options.prefix; + + if (isObject$1(raw)) { + addPreset(raw); + } else { + throw new Error('Expected preset, not `' + raw + '`') + } + + return target + + function addPreset(result) { + var plugins = result.plugins; + + if (plugins === null || plugins === undefined) ; else if (isObject$1(plugins)) { + if ('length' in plugins) { + addEach(plugins); + } else { + addIn(plugins); + } + } else { + throw new Error( + 'Expected a list or object of plugins, not `' + plugins + '`' + ) + } + + target.settings = immutable(target.settings, result.settings); + } + + function addEach(result) { + var length = result.length; + var index = -1; + var value; + + while (++index < length) { + value = result[index]; + + if (isObject$1(value) && 'length' in value) { + use.apply(null, value); + } else { + use(value); + } + } + } + + function addIn(result) { + var key; + + for (key in result) { + use(key, result[key]); + } + } + + function use(usable, value) { + if (xIsString(usable)) { + addModule(usable, value); + } else if (typeof usable === 'function') { + addPlugin(usable, value); + } else { + merge(target, usable, value, options); + } + } + + function addModule(id, value) { + var fp = resolve(id, {cwd: root, prefix: prefix}); + var res; + + if (fp) { + try { + res = commonjsRequire(fp); + } catch (error) { + throw fault_1( + 'Cannot parse script `%s`\n%s', + relative(root, fp), + error.stack + ) + } + + try { + if (typeof res === 'function') { + addPlugin(res, value); + } else { + merge(target, res, value, immutable(options, {root: dirname(fp)})); + } + } catch (error) { + throw fault_1( + 'Error: Expected preset or plugin, not %s, at `%s`', + res, + relative(root, fp) + ) + } + } else { + fp = relative(cwd, path$1.resolve(root, id)); + addPlugin( + failingModule(fp, new Error('Could not find module `' + id + '`')), + value + ); + } + } + + function addPlugin(result, value) { + var entry = find(target.plugins, result); + + if (entry) { + reconfigure(entry, value); + } else { + target.plugins.push([result, value]); + } + } +} + +function reconfigure(entry, value) { + if (value !== false && entry[1] !== false && isObject$1(value)) { + value = immutable(entry[1], value); + } + + entry[1] = value; +} + +function find(entries, plugin) { + var length = entries.length; + var index = -1; + var entry; + + while (++index < length) { + entry = entries[index]; + + if (entry[0] === plugin) { + return entry + } + } +} + +function failingModule(id, error) { + var cache = failingModule.cache || (failingModule.cache = {}); + var submodule = own.call(cache, id) ? cache[id] : (cache[id] = fail); + return submodule + function fail() { + throw error + } +} +}); + +var configure_1 = configure; + +function configure(context, settings) { + context.configuration = new configuration(settings); +} + +// A simple implementation of make-array +function makeArray (subject) { + return Array.isArray(subject) + ? subject + : [subject] +} + +const REGEX_TEST_BLANK_LINE = /^\s+$/; +const REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/; +const REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/; +const REGEX_SPLITALL_CRLF = /\r?\n/g; +// /foo, +// ./foo, +// ../foo, +// . +// .. +const REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/; + +const SLASH = '/'; +const KEY_IGNORE = typeof Symbol !== 'undefined' + ? Symbol.for('node-ignore') + /* istanbul ignore next */ + : 'node-ignore'; + +const define = (object, key, value) => + Object.defineProperty(object, key, {value}); + +const REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g; + +// Sanitize the range of a regular expression +// The cases are complicated, see test cases for details +const sanitizeRange = range => range.replace( + REGEX_REGEXP_RANGE, + (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) + ? match + // Invalid range (out of order) which is ok for gitignore rules but + // fatal for JavaScript regular expression, so eliminate it. + : '' +); + +// > If the pattern ends with a slash, +// > it is removed for the purpose of the following description, +// > but it would only find a match with a directory. +// > In other words, foo/ will match a directory foo and paths underneath it, +// > but will not match a regular file or a symbolic link foo +// > (this is consistent with the way how pathspec works in general in Git). +// '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`' +// -> ignore-rules will not deal with it, because it costs extra `fs.stat` call +// you could use option `mark: true` with `glob` + +// '`foo/`' should not continue with the '`..`' +const REPLACERS = [ + + // > Trailing spaces are ignored unless they are quoted with backslash ("\") + [ + // (a\ ) -> (a ) + // (a ) -> (a) + // (a \ ) -> (a ) + /\\?\s+$/, + match => match.indexOf('\\') === 0 + ? ' ' + : '' + ], + + // replace (\ ) with ' ' + [ + /\\\s/g, + () => ' ' + ], + + // Escape metacharacters + // which is written down by users but means special for regular expressions. + + // > There are 12 characters with special meanings: + // > - the backslash \, + // > - the caret ^, + // > - the dollar sign $, + // > - the period or dot ., + // > - the vertical bar or pipe symbol |, + // > - the question mark ?, + // > - the asterisk or star *, + // > - the plus sign +, + // > - the opening parenthesis (, + // > - the closing parenthesis ), + // > - and the opening square bracket [, + // > - the opening curly brace {, + // > These special characters are often called "metacharacters". + [ + /[\\^$.|*+(){]/g, + match => `\\${match}` + ], + + [ + // > [abc] matches any character inside the brackets + // > (in this case a, b, or c); + /\[([^\]/]*)($|\])/g, + (match, p1, p2) => p2 === ']' + ? `[${sanitizeRange(p1)}]` + : `\\${match}` + ], + + [ + // > a question mark (?) matches a single character + /(?!\\)\?/g, + () => '[^/]' + ], + + // leading slash + [ + + // > A leading slash matches the beginning of the pathname. + // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c". + // A leading slash matches the beginning of the pathname + /^\//, + () => '^' + ], + + // replace special metacharacter slash after the leading slash + [ + /\//g, + () => '\\/' + ], + + [ + // > A leading "**" followed by a slash means match in all directories. + // > For example, "**/foo" matches file or directory "foo" anywhere, + // > the same as pattern "foo". + // > "**/foo/bar" matches file or directory "bar" anywhere that is directly + // > under directory "foo". + // Notice that the '*'s have been replaced as '\\*' + /^\^*\\\*\\\*\\\//, + + // '**/foo' <-> 'foo' + () => '^(?:.*\\/)?' + ], + + // ending + [ + // 'js' will not match 'js.' + // 'ab' will not match 'abc' + /(?:[^*])$/, + + // WTF! + // https://git-scm.com/docs/gitignore + // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1) + // which re-fixes #24, #38 + + // > If there is a separator at the end of the pattern then the pattern + // > will only match directories, otherwise the pattern can match both + // > files and directories. + + // 'js*' will not match 'a.js' + // 'js/' will not match 'a.js' + // 'js' will match 'a.js' and 'a.js/' + match => /\/$/.test(match) + // foo/ will not match 'foo' + ? `${match}$` + // foo matches 'foo' and 'foo/' + : `${match}(?=$|\\/$)` + ], + + // starting + [ + // there will be no leading '/' + // (which has been replaced by section "leading slash") + // If starts with '**', adding a '^' to the regular expression also works + /^(?=[^^])/, + function startingReplacer () { + // If has a slash `/` at the beginning or middle + return !/\/(?!$)/.test(this) + // > Prior to 2.22.1 + // > If the pattern does not contain a slash /, + // > Git treats it as a shell glob pattern + // Actually, if there is only a trailing slash, + // git also treats it as a shell glob pattern + + // After 2.22.1 (compatible but clearer) + // > If there is a separator at the beginning or middle (or both) + // > of the pattern, then the pattern is relative to the directory + // > level of the particular .gitignore file itself. + // > Otherwise the pattern may also match at any level below + // > the .gitignore level. + ? '(?:^|\\/)' + + // > Otherwise, Git treats the pattern as a shell glob suitable for + // > consumption by fnmatch(3) + : '^' + } + ], + + // two globstars + [ + // Use lookahead assertions so that we could match more than one `'/**'` + /\\\/\\\*\\\*(?=\\\/|$)/g, + + // Zero, one or several directories + // should not use '*', or it will be replaced by the next replacer + + // Check if it is not the last `'/**'` + (_, index, str) => index + 6 < str.length + + // case: /**/ + // > A slash followed by two consecutive asterisks then a slash matches + // > zero or more directories. + // > For example, "a/**/b" matches "a/b", "a/x/b", "a/x/y/b" and so on. + // '/**/' + ? '(?:\\/[^\\/]+)*' + + // case: /** + // > A trailing `"/**"` matches everything inside. + + // #21: everything inside but it should not include the current folder + : '\\/.+' + ], + + // intermediate wildcards + [ + // Never replace escaped '*' + // ignore rule '\*' will match the path '*' + + // 'abc.*/' -> go + // 'abc.*' -> skip this rule + /(^|[^\\]+)\\\*(?=.+)/g, + + // '*.js' matches '.js' + // '*.js' doesn't match 'abc' + (_, p1) => `${p1}[^\\/]*` + ], + + // trailing wildcard + [ + /(\^|\\\/)?\\\*$/, + (_, p1) => { + const prefix = p1 + // '\^': + // '/*' does not match '' + // '/*' does not match everything + + // '\\\/': + // 'abc/*' does not match 'abc/' + ? `${p1}[^/]+` + + // 'a*' matches 'a' + // 'a*' matches 'aa' + : '[^/]*'; + + return `${prefix}(?=$|\\/$)` + } + ], + + [ + // unescape + /\\\\\\/g, + () => '\\' + ] +]; + +// A simple cache, because an ignore rule only has only one certain meaning +const regexCache = Object.create(null); + +// @param {pattern} +const makeRegex = (pattern, negative, ignorecase) => { + const r = regexCache[pattern]; + if (r) { + return r + } + + // const replacers = negative + // ? NEGATIVE_REPLACERS + // : POSITIVE_REPLACERS + + const source = REPLACERS.reduce( + (prev, current) => prev.replace(current[0], current[1].bind(pattern)), + pattern + ); + + return regexCache[pattern] = ignorecase + ? new RegExp(source, 'i') + : new RegExp(source) +}; + +const isString$1 = subject => typeof subject === 'string'; + +// > A blank line matches no files, so it can serve as a separator for readability. +const checkPattern = pattern => pattern + && isString$1(pattern) + && !REGEX_TEST_BLANK_LINE.test(pattern) + + // > A line starting with # serves as a comment. + && pattern.indexOf('#') !== 0; + +const splitPattern = pattern => pattern.split(REGEX_SPLITALL_CRLF); + +class IgnoreRule { + constructor ( + origin, + pattern, + negative, + regex + ) { + this.origin = origin; + this.pattern = pattern; + this.negative = negative; + this.regex = regex; + } +} + +const createRule = (pattern, ignorecase) => { + const origin = pattern; + let negative = false; + + // > An optional prefix "!" which negates the pattern; + if (pattern.indexOf('!') === 0) { + negative = true; + pattern = pattern.substr(1); + } + + pattern = pattern + // > Put a backslash ("\") in front of the first "!" for patterns that + // > begin with a literal "!", for example, `"\!important!.txt"`. + .replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, '!') + // > Put a backslash ("\") in front of the first hash for patterns that + // > begin with a hash. + .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#'); + + const regex = makeRegex(pattern, negative, ignorecase); + + return new IgnoreRule( + origin, + pattern, + negative, + regex + ) +}; + +const throwError$1 = (message, Ctor) => { + throw new Ctor(message) +}; + +const checkPath = (path, originalPath, doThrow) => { + if (!isString$1(path)) { + return doThrow( + `path must be a string, but got \`${originalPath}\``, + TypeError + ) + } + + // We don't know if we should ignore '', so throw + if (!path) { + return doThrow(`path must not be empty`, TypeError) + } + + // Check if it is a relative path + if (checkPath.isNotRelative(path)) { + const r = '`path.relative()`d'; + return doThrow( + `path should be a ${r} string, but got "${originalPath}"`, + RangeError + ) + } + + return true +}; + +const isNotRelative = path => REGEX_TEST_INVALID_PATH.test(path); + +checkPath.isNotRelative = isNotRelative; +checkPath.convert = p => p; + +class Ignore { + constructor ({ + ignorecase = true + } = {}) { + this._rules = []; + this._ignorecase = ignorecase; + define(this, KEY_IGNORE, true); + this._initCache(); + } + + _initCache () { + this._ignoreCache = Object.create(null); + this._testCache = Object.create(null); + } + + _addPattern (pattern) { + // #32 + if (pattern && pattern[KEY_IGNORE]) { + this._rules = this._rules.concat(pattern._rules); + this._added = true; + return + } + + if (checkPattern(pattern)) { + const rule = createRule(pattern, this._ignorecase); + this._added = true; + this._rules.push(rule); + } + } + + // @param {Array | string | Ignore} pattern + add (pattern) { + this._added = false; + + makeArray( + isString$1(pattern) + ? splitPattern(pattern) + : pattern + ).forEach(this._addPattern, this); + + // Some rules have just added to the ignore, + // making the behavior changed. + if (this._added) { + this._initCache(); + } + + return this + } + + // legacy + addPattern (pattern) { + return this.add(pattern) + } + + // | ignored : unignored + // negative | 0:0 | 0:1 | 1:0 | 1:1 + // -------- | ------- | ------- | ------- | -------- + // 0 | TEST | TEST | SKIP | X + // 1 | TESTIF | SKIP | TEST | X + + // - SKIP: always skip + // - TEST: always test + // - TESTIF: only test if checkUnignored + // - X: that never happen + + // @param {boolean} whether should check if the path is unignored, + // setting `checkUnignored` to `false` could reduce additional + // path matching. + + // @returns {TestResult} true if a file is ignored + _testOne (path, checkUnignored) { + let ignored = false; + let unignored = false; + + this._rules.forEach(rule => { + const {negative} = rule; + if ( + unignored === negative && ignored !== unignored + || negative && !ignored && !unignored && !checkUnignored + ) { + return + } + + const matched = rule.regex.test(path); + + if (matched) { + ignored = !negative; + unignored = negative; + } + }); + + return { + ignored, + unignored + } + } + + // @returns {TestResult} + _test (originalPath, cache, checkUnignored, slices) { + const path = originalPath + // Supports nullable path + && checkPath.convert(originalPath); + + checkPath(path, originalPath, throwError$1); + + return this._t(path, cache, checkUnignored, slices) + } + + _t (path, cache, checkUnignored, slices) { + if (path in cache) { + return cache[path] + } + + if (!slices) { + // path/to/a.js + // ['path', 'to', 'a.js'] + slices = path.split(SLASH); + } + + slices.pop(); + + // If the path has no parent directory, just test it + if (!slices.length) { + return cache[path] = this._testOne(path, checkUnignored) + } + + const parent = this._t( + slices.join(SLASH) + SLASH, + cache, + checkUnignored, + slices + ); + + // If the path contains a parent directory, check the parent first + return cache[path] = parent.ignored + // > It is not possible to re-include a file if a parent directory of + // > that file is excluded. + ? parent + : this._testOne(path, checkUnignored) + } + + ignores (path) { + return this._test(path, this._ignoreCache, false).ignored + } + + createFilter () { + return path => !this.ignores(path) + } + + filter (paths) { + return makeArray(paths).filter(this.createFilter()) + } + + // @returns {TestResult} + test (path) { + return this._test(path, this._testCache, true) + } +} + +const factory = options => new Ignore(options); + +const returnFalse = () => false; + +const isPathValid = path => + checkPath(path && checkPath.convert(path), path, returnFalse); + +factory.isPathValid = isPathValid; + +// Fixes typescript +factory.default = factory; + +var ignore = factory; + +// Windows +// -------------------------------------------------------------- +/* istanbul ignore if */ +if ( + // Detect `process` so that it can run in browsers. + typeof process !== 'undefined' + && ( + process.env && process.env.IGNORE_TEST_WIN32 + || process.platform === 'win32' + ) +) { + /* eslint no-control-regex: "off" */ + const makePosix = str => /^\\\\\?\\/.test(str) + || /["<>|\u0000-\u001F]+/u.test(str) + ? str + : str.replace(/\\/g, '/'); + + checkPath.convert = makePosix; + + // 'C:\\foo' <- 'C:\\foo' has been converted to 'C:/' + // 'd:\\foo' + const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i; + checkPath.isNotRelative = path => + REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path) + || isNotRelative(path); +} + +var ignore$1 = Ignore$1; + +Ignore$1.prototype.check = check; + +var dirname$1 = path$1.dirname; +var relative$1 = path$1.relative; +var resolve$2 = path$1.resolve; + +function Ignore$1(options) { + this.cwd = options.cwd; + + this.findUp = new findUp({ + filePath: options.ignorePath, + cwd: options.cwd, + detect: options.detectIgnore, + names: options.ignoreName ? [options.ignoreName] : [], + create: create$1 + }); +} + +function check(filePath, callback) { + var self = this; + + self.findUp.load(filePath, done); + + function done(error, ignore) { + var normal; + + if (error) { + callback(error); + } else if (ignore) { + normal = relative$1(ignore.filePath, resolve$2(self.cwd, filePath)); + callback(null, normal ? ignore.ignores(normal) : false); + } else { + callback(null, false); + } + } +} + +function create$1(buf, filePath) { + var ignore$1 = ignore().add(String(buf)); + ignore$1.filePath = dirname$1(filePath); + return ignore$1 +} + +// Copyright Joyent, Inc. and other Node contributors. +// +// 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. + + +var isWindows = process.platform === 'win32'; + + +// JavaScript implementation of realpath, ported from node pre-v6 + +var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG); + +function rethrow() { + // Only enable in debug mode. A backtrace uses ~1000 bytes of heap space and + // is fairly slow to generate. + var callback; + if (DEBUG) { + var backtrace = new Error; + callback = debugCallback; + } else + callback = missingCallback; + + return callback; + + function debugCallback(err) { + if (err) { + backtrace.message = err.message; + err = backtrace; + missingCallback(err); + } + } + + function missingCallback(err) { + if (err) { + if (process.throwDeprecation) + throw err; // Forgot a callback but don't know where? Use NODE_DEBUG=fs + else if (!process.noDeprecation) { + var msg = 'fs: missing callback ' + (err.stack || err.message); + if (process.traceDeprecation) + console.trace(msg); + else + console.error(msg); + } + } + } +} + +function maybeCallback(cb) { + return typeof cb === 'function' ? cb : rethrow(); +} + +var normalize = path$1.normalize; + +// Regexp that finds the next partion of a (partial) path +// result is [base_with_slash, base], e.g. ['somedir/', 'somedir'] +if (isWindows) { + var nextPartRe = /(.*?)(?:[\/\\]+|$)/g; +} else { + var nextPartRe = /(.*?)(?:[\/]+|$)/g; +} + +// Regex to find the device root, including trailing slash. E.g. 'c:\\'. +if (isWindows) { + var splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/; +} else { + var splitRootRe = /^[\/]*/; +} + +var realpathSync = function realpathSync(p, cache) { + // make p is absolute + p = path$1.resolve(p); + + if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { + return cache[p]; + } + + var original = p, + seenLinks = {}, + knownHard = {}; + + // current character position in p + var pos; + // the partial path so far, including a trailing slash if any + var current; + // the partial path without a trailing slash (except when pointing at a root) + var base; + // the partial path scanned in the previous round, with slash + var previous; + + start(); + + function start() { + // Skip over roots + var m = splitRootRe.exec(p); + pos = m[0].length; + current = m[0]; + base = m[0]; + previous = ''; + + // On windows, check that the root exists. On unix there is no need. + if (isWindows && !knownHard[base]) { + fs$1.lstatSync(base); + knownHard[base] = true; + } + } + + // walk down the path, swapping out linked pathparts for their real + // values + // NB: p.length changes. + while (pos < p.length) { + // find the next part + nextPartRe.lastIndex = pos; + var result = nextPartRe.exec(p); + previous = current; + current += result[0]; + base = previous + result[1]; + pos = nextPartRe.lastIndex; + + // continue if not a symlink + if (knownHard[base] || (cache && cache[base] === base)) { + continue; + } + + var resolvedLink; + if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { + // some known symbolic link. no need to stat again. + resolvedLink = cache[base]; + } else { + var stat = fs$1.lstatSync(base); + if (!stat.isSymbolicLink()) { + knownHard[base] = true; + if (cache) cache[base] = base; + continue; + } + + // read the link if it wasn't read before + // dev/ino always return 0 on windows, so skip the check. + var linkTarget = null; + if (!isWindows) { + var id = stat.dev.toString(32) + ':' + stat.ino.toString(32); + if (seenLinks.hasOwnProperty(id)) { + linkTarget = seenLinks[id]; + } + } + if (linkTarget === null) { + fs$1.statSync(base); + linkTarget = fs$1.readlinkSync(base); + } + resolvedLink = path$1.resolve(previous, linkTarget); + // track this, if given a cache. + if (cache) cache[base] = resolvedLink; + if (!isWindows) seenLinks[id] = linkTarget; + } + + // resolve the link, then start over + p = path$1.resolve(resolvedLink, p.slice(pos)); + start(); + } + + if (cache) cache[original] = p; + + return p; +}; + + +var realpath = function realpath(p, cache, cb) { + if (typeof cb !== 'function') { + cb = maybeCallback(cache); + cache = null; + } + + // make p is absolute + p = path$1.resolve(p); + + if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { + return process.nextTick(cb.bind(null, null, cache[p])); + } + + var original = p, + seenLinks = {}, + knownHard = {}; + + // current character position in p + var pos; + // the partial path so far, including a trailing slash if any + var current; + // the partial path without a trailing slash (except when pointing at a root) + var base; + // the partial path scanned in the previous round, with slash + var previous; + + start(); + + function start() { + // Skip over roots + var m = splitRootRe.exec(p); + pos = m[0].length; + current = m[0]; + base = m[0]; + previous = ''; + + // On windows, check that the root exists. On unix there is no need. + if (isWindows && !knownHard[base]) { + fs$1.lstat(base, function(err) { + if (err) return cb(err); + knownHard[base] = true; + LOOP(); + }); + } else { + process.nextTick(LOOP); + } + } + + // walk down the path, swapping out linked pathparts for their real + // values + function LOOP() { + // stop if scanned past end of path + if (pos >= p.length) { + if (cache) cache[original] = p; + return cb(null, p); + } + + // find the next part + nextPartRe.lastIndex = pos; + var result = nextPartRe.exec(p); + previous = current; + current += result[0]; + base = previous + result[1]; + pos = nextPartRe.lastIndex; + + // continue if not a symlink + if (knownHard[base] || (cache && cache[base] === base)) { + return process.nextTick(LOOP); + } + + if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { + // known symbolic link. no need to stat again. + return gotResolvedLink(cache[base]); + } + + return fs$1.lstat(base, gotStat); + } + + function gotStat(err, stat) { + if (err) return cb(err); + + // if not a symlink, skip to the next path part + if (!stat.isSymbolicLink()) { + knownHard[base] = true; + if (cache) cache[base] = base; + return process.nextTick(LOOP); + } + + // stat & read the link if not read before + // call gotTarget as soon as the link target is known + // dev/ino always return 0 on windows, so skip the check. + if (!isWindows) { + var id = stat.dev.toString(32) + ':' + stat.ino.toString(32); + if (seenLinks.hasOwnProperty(id)) { + return gotTarget(null, seenLinks[id], base); + } + } + fs$1.stat(base, function(err) { + if (err) return cb(err); + + fs$1.readlink(base, function(err, target) { + if (!isWindows) seenLinks[id] = target; + gotTarget(err, target); + }); + }); + } + + function gotTarget(err, target, base) { + if (err) return cb(err); + + var resolvedLink = path$1.resolve(previous, target); + if (cache) cache[base] = resolvedLink; + gotResolvedLink(resolvedLink); + } + + function gotResolvedLink(resolvedLink) { + // resolve the link, then start over + p = path$1.resolve(resolvedLink, p.slice(pos)); + start(); + } +}; + +var old = { + realpathSync: realpathSync, + realpath: realpath +}; + +var fs_realpath = realpath$1; +realpath$1.realpath = realpath$1; +realpath$1.sync = realpathSync$1; +realpath$1.realpathSync = realpathSync$1; +realpath$1.monkeypatch = monkeypatch; +realpath$1.unmonkeypatch = unmonkeypatch; + + +var origRealpath = fs$1.realpath; +var origRealpathSync = fs$1.realpathSync; + +var version = process.version; +var ok = /^v[0-5]\./.test(version); + + +function newError (er) { + return er && er.syscall === 'realpath' && ( + er.code === 'ELOOP' || + er.code === 'ENOMEM' || + er.code === 'ENAMETOOLONG' + ) +} + +function realpath$1 (p, cache, cb) { + if (ok) { + return origRealpath(p, cache, cb) + } + + if (typeof cache === 'function') { + cb = cache; + cache = null; + } + origRealpath(p, cache, function (er, result) { + if (newError(er)) { + old.realpath(p, cache, cb); + } else { + cb(er, result); + } + }); +} + +function realpathSync$1 (p, cache) { + if (ok) { + return origRealpathSync(p, cache) + } + + try { + return origRealpathSync(p, cache) + } catch (er) { + if (newError(er)) { + return old.realpathSync(p, cache) + } else { + throw er + } + } +} + +function monkeypatch () { + fs$1.realpath = realpath$1; + fs$1.realpathSync = realpathSync$1; +} + +function unmonkeypatch () { + fs$1.realpath = origRealpath; + fs$1.realpathSync = origRealpathSync; +} + +var concatMap = function (xs, fn) { + var res = []; + for (var i = 0; i < xs.length; i++) { + var x = fn(xs[i], i); + if (isArray(x)) res.push.apply(res, x); + else res.push(x); + } + return res; +}; + +var isArray = Array.isArray || function (xs) { + return Object.prototype.toString.call(xs) === '[object Array]'; +}; + +var balancedMatch = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); + + var r = range(a, b, str); + + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; +} + +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; +} + +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; + + if (ai >= 0 && bi > 0) { + begs = []; + left = str.length; + + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } + + bi = str.indexOf(b, i + 1); + } + + i = ai < bi && ai >= 0 ? ai : bi; + } + + if (begs.length) { + result = [ left, right ]; + } + } + + return result; +} + +var braceExpansion = expandTop; + +var escSlash = '\0SLASH'+Math.random()+'\0'; +var escOpen = '\0OPEN'+Math.random()+'\0'; +var escClose = '\0CLOSE'+Math.random()+'\0'; +var escComma = '\0COMMA'+Math.random()+'\0'; +var escPeriod = '\0PERIOD'+Math.random()+'\0'; + +function numeric(str) { + return parseInt(str, 10) == str + ? parseInt(str, 10) + : str.charCodeAt(0); +} + +function escapeBraces(str) { + return str.split('\\\\').join(escSlash) + .split('\\{').join(escOpen) + .split('\\}').join(escClose) + .split('\\,').join(escComma) + .split('\\.').join(escPeriod); +} + +function unescapeBraces(str) { + return str.split(escSlash).join('\\') + .split(escOpen).join('{') + .split(escClose).join('}') + .split(escComma).join(',') + .split(escPeriod).join('.'); +} + + +// Basically just str.split(","), but handling cases +// where we have nested braced sections, which should be +// treated as individual members, like {a,{b,c},d} +function parseCommaParts(str) { + if (!str) + return ['']; + + var parts = []; + var m = balancedMatch('{', '}', str); + + if (!m) + return str.split(','); + + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(','); + + p[p.length-1] += '{' + body + '}'; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length-1] += postParts.shift(); + p.push.apply(p, postParts); + } + + parts.push.apply(parts, p); + + return parts; +} + +function expandTop(str) { + if (!str) + return []; + + // I don't know why Bash 4.3 does this, but it does. + // Anything starting with {} will have the first two bytes preserved + // but *only* at the top level, so {},a}b will not expand to anything, + // but a{},b}c will be expanded to [a}c,abc]. + // One could argue that this is a bug in Bash, but since the goal of + // this module is to match Bash's rules, we escape a leading {} + if (str.substr(0, 2) === '{}') { + str = '\\{\\}' + str.substr(2); + } + + return expand(escapeBraces(str), true).map(unescapeBraces); +} + +function embrace(str) { + return '{' + str + '}'; +} +function isPadded(el) { + return /^-?0\d/.test(el); +} + +function lte(i, y) { + return i <= y; +} +function gte(i, y) { + return i >= y; +} + +function expand(str, isTop) { + var expansions = []; + + var m = balancedMatch('{', '}', str); + if (!m || /\$$/.test(m.pre)) return [str]; + + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(',') >= 0; + if (!isSequence && !isOptions) { + // {a},b} + if (m.post.match(/,.*\}/)) { + str = m.pre + '{' + m.body + escClose + m.post; + return expand(str); + } + return [str]; + } + + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + // x{{a,b}}y ==> x{a}y x{b}y + n = expand(n[0], false).map(embrace); + if (n.length === 1) { + var post = m.post.length + ? expand(m.post, false) + : ['']; + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } + } + } + + // at this point, n is the parts, and we know it's not a comma set + // with a single entry. + + // no need to expand pre, since it is guaranteed to be free of brace-sets + var pre = m.pre; + var post = m.post.length + ? expand(m.post, false) + : ['']; + + var N; + + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length); + var incr = n.length == 3 + ? Math.abs(numeric(n[2])) + : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte; + } + var pad = n.some(isPadded); + + N = []; + + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === '\\') + c = ''; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join('0'); + if (i < 0) + c = '-' + z + c.slice(1); + else + c = z + c; + } + } + } + N.push(c); + } + } else { + N = concatMap(n, function(el) { return expand(el, false) }); + } + + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } + } + + return expansions; +} + +var minimatch_1 = minimatch; +minimatch.Minimatch = Minimatch; + +var path = { sep: '/' }; +try { + path = path$1; +} catch (er) {} + +var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}; + + +var plTypes = { + '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, + '?': { open: '(?:', close: ')?' }, + '+': { open: '(?:', close: ')+' }, + '*': { open: '(?:', close: ')*' }, + '@': { open: '(?:', close: ')' } +}; + +// any single thing other than / +// don't need to escape / when using new RegExp() +var qmark = '[^/]'; + +// * => any number of characters +var star = qmark + '*?'; + +// ** when dots are allowed. Anything goes, except .. and . +// not (^ or / followed by one or two dots followed by $ or /), +// followed by anything, any number of times. +var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?'; + +// not a ^ or / followed by a dot, +// followed by anything, any number of times. +var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?'; + +// characters that need to be escaped in RegExp. +var reSpecials = charSet('().*{}+?[]^$\\!'); + +// "abc" -> { a:true, b:true, c:true } +function charSet (s) { + return s.split('').reduce(function (set, c) { + set[c] = true; + return set + }, {}) +} + +// normalizes slashes. +var slashSplit = /\/+/; + +minimatch.filter = filter; +function filter (pattern, options) { + options = options || {}; + return function (p, i, list) { + return minimatch(p, pattern, options) + } +} + +function ext (a, b) { + a = a || {}; + b = b || {}; + var t = {}; + Object.keys(b).forEach(function (k) { + t[k] = b[k]; + }); + Object.keys(a).forEach(function (k) { + t[k] = a[k]; + }); + return t +} + +minimatch.defaults = function (def) { + if (!def || !Object.keys(def).length) return minimatch + + var orig = minimatch; + + var m = function minimatch (p, pattern, options) { + return orig.minimatch(p, pattern, ext(def, options)) + }; + + m.Minimatch = function Minimatch (pattern, options) { + return new orig.Minimatch(pattern, ext(def, options)) + }; + + return m +}; + +Minimatch.defaults = function (def) { + if (!def || !Object.keys(def).length) return Minimatch + return minimatch.defaults(def).Minimatch +}; + +function minimatch (p, pattern, options) { + if (typeof pattern !== 'string') { + throw new TypeError('glob pattern string required') + } + + if (!options) options = {}; + + // shortcut: comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + return false + } + + // "" only matches "" + if (pattern.trim() === '') return p === '' + + return new Minimatch(pattern, options).match(p) +} + +function Minimatch (pattern, options) { + if (!(this instanceof Minimatch)) { + return new Minimatch(pattern, options) + } + + if (typeof pattern !== 'string') { + throw new TypeError('glob pattern string required') + } + + if (!options) options = {}; + pattern = pattern.trim(); + + // windows support: need to use /, not \ + if (path.sep !== '/') { + pattern = pattern.split(path.sep).join('/'); + } + + this.options = options; + this.set = []; + this.pattern = pattern; + this.regexp = null; + this.negate = false; + this.comment = false; + this.empty = false; + + // make the set of regexps etc. + this.make(); +} + +Minimatch.prototype.debug = function () {}; + +Minimatch.prototype.make = make; +function make () { + // don't do it more than once. + if (this._made) return + + var pattern = this.pattern; + var options = this.options; + + // empty patterns and comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + this.comment = true; + return + } + if (!pattern) { + this.empty = true; + return + } + + // step 1: figure out negation, etc. + this.parseNegate(); + + // step 2: expand braces + var set = this.globSet = this.braceExpand(); + + if (options.debug) this.debug = console.error; + + this.debug(this.pattern, set); + + // step 3: now we have a set, so turn each one into a series of path-portion + // matching patterns. + // These will be regexps, except in the case of "**", which is + // set to the GLOBSTAR object for globstar behavior, + // and will not contain any / characters + set = this.globParts = set.map(function (s) { + return s.split(slashSplit) + }); + + this.debug(this.pattern, set); + + // glob --> regexps + set = set.map(function (s, si, set) { + return s.map(this.parse, this) + }, this); + + this.debug(this.pattern, set); + + // filter out everything that didn't compile properly. + set = set.filter(function (s) { + return s.indexOf(false) === -1 + }); + + this.debug(this.pattern, set); + + this.set = set; +} + +Minimatch.prototype.parseNegate = parseNegate; +function parseNegate () { + var pattern = this.pattern; + var negate = false; + var options = this.options; + var negateOffset = 0; + + if (options.nonegate) return + + for (var i = 0, l = pattern.length + ; i < l && pattern.charAt(i) === '!' + ; i++) { + negate = !negate; + negateOffset++; + } + + if (negateOffset) this.pattern = pattern.substr(negateOffset); + this.negate = negate; +} + +// Brace expansion: +// a{b,c}d -> abd acd +// a{b,}c -> abc ac +// a{0..3}d -> a0d a1d a2d a3d +// a{b,c{d,e}f}g -> abg acdfg acefg +// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg +// +// Invalid sets are not expanded. +// a{2..}b -> a{2..}b +// a{b}c -> a{b}c +minimatch.braceExpand = function (pattern, options) { + return braceExpand(pattern, options) +}; + +Minimatch.prototype.braceExpand = braceExpand; + +function braceExpand (pattern, options) { + if (!options) { + if (this instanceof Minimatch) { + options = this.options; + } else { + options = {}; + } + } + + pattern = typeof pattern === 'undefined' + ? this.pattern : pattern; + + if (typeof pattern === 'undefined') { + throw new TypeError('undefined pattern') + } + + if (options.nobrace || + !pattern.match(/\{.*\}/)) { + // shortcut. no need to expand. + return [pattern] + } + + return braceExpansion(pattern) +} + +// parse a component of the expanded set. +// At this point, no pattern may contain "/" in it +// so we're going to return a 2d array, where each entry is the full +// pattern, split on '/', and then turned into a regular expression. +// A regexp is made at the end which joins each array with an +// escaped /, and another full one which joins each regexp with |. +// +// Following the lead of Bash 4.1, note that "**" only has special meaning +// when it is the *only* thing in a path portion. Otherwise, any series +// of * is equivalent to a single *. Globstar behavior is enabled by +// default, and can be disabled by setting options.noglobstar. +Minimatch.prototype.parse = parse$2; +var SUBPARSE = {}; +function parse$2 (pattern, isSub) { + if (pattern.length > 1024 * 64) { + throw new TypeError('pattern is too long') + } + + var options = this.options; + + // shortcuts + if (!options.noglobstar && pattern === '**') return GLOBSTAR + if (pattern === '') return '' + + var re = ''; + var hasMagic = !!options.nocase; + var escaping = false; + // ? => one single character + var patternListStack = []; + var negativeLists = []; + var stateChar; + var inClass = false; + var reClassStart = -1; + var classStart = -1; + // . and .. never match anything that doesn't start with ., + // even when options.dot is set. + var patternStart = pattern.charAt(0) === '.' ? '' // anything + // not (start or / followed by . or .. followed by / or end) + : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))' + : '(?!\\.)'; + var self = this; + + function clearStateChar () { + if (stateChar) { + // we had some state-tracking character + // that wasn't consumed by this pass. + switch (stateChar) { + case '*': + re += star; + hasMagic = true; + break + case '?': + re += qmark; + hasMagic = true; + break + default: + re += '\\' + stateChar; + break + } + self.debug('clearStateChar %j %j', stateChar, re); + stateChar = false; + } + } + + for (var i = 0, len = pattern.length, c + ; (i < len) && (c = pattern.charAt(i)) + ; i++) { + this.debug('%s\t%s %s %j', pattern, i, re, c); + + // skip over any that are escaped. + if (escaping && reSpecials[c]) { + re += '\\' + c; + escaping = false; + continue + } + + switch (c) { + case '/': + // completely not allowed, even escaped. + // Should already be path-split by now. + return false + + case '\\': + clearStateChar(); + escaping = true; + continue + + // the various stateChar values + // for the "extglob" stuff. + case '?': + case '*': + case '+': + case '@': + case '!': + this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c); + + // all of those are literals inside a class, except that + // the glob [!a] means [^a] in regexp + if (inClass) { + this.debug(' in class'); + if (c === '!' && i === classStart + 1) c = '^'; + re += c; + continue + } + + // if we already have a stateChar, then it means + // that there was something like ** or +? in there. + // Handle the stateChar, then proceed with this one. + self.debug('call clearStateChar %j', stateChar); + clearStateChar(); + stateChar = c; + // if extglob is disabled, then +(asdf|foo) isn't a thing. + // just clear the statechar *now*, rather than even diving into + // the patternList stuff. + if (options.noext) clearStateChar(); + continue + + case '(': + if (inClass) { + re += '('; + continue + } + + if (!stateChar) { + re += '\\('; + continue + } + + patternListStack.push({ + type: stateChar, + start: i - 1, + reStart: re.length, + open: plTypes[stateChar].open, + close: plTypes[stateChar].close + }); + // negation is (?:(?!js)[^/]*) + re += stateChar === '!' ? '(?:(?!(?:' : '(?:'; + this.debug('plType %j %j', stateChar, re); + stateChar = false; + continue + + case ')': + if (inClass || !patternListStack.length) { + re += '\\)'; + continue + } + + clearStateChar(); + hasMagic = true; + var pl = patternListStack.pop(); + // negation is (?:(?!js)[^/]*) + // The others are (?:) + re += pl.close; + if (pl.type === '!') { + negativeLists.push(pl); + } + pl.reEnd = re.length; + continue + + case '|': + if (inClass || !patternListStack.length || escaping) { + re += '\\|'; + escaping = false; + continue + } + + clearStateChar(); + re += '|'; + continue + + // these are mostly the same in regexp and glob + case '[': + // swallow any state-tracking char before the [ + clearStateChar(); + + if (inClass) { + re += '\\' + c; + continue + } + + inClass = true; + classStart = i; + reClassStart = re.length; + re += c; + continue + + case ']': + // a right bracket shall lose its special + // meaning and represent itself in + // a bracket expression if it occurs + // first in the list. -- POSIX.2 2.8.3.2 + if (i === classStart + 1 || !inClass) { + re += '\\' + c; + escaping = false; + continue + } + + // handle the case where we left a class open. + // "[z-a]" is valid, equivalent to "\[z-a\]" + if (inClass) { + // split where the last [ was, make sure we don't have + // an invalid re. if so, re-walk the contents of the + // would-be class to re-translate any characters that + // were passed through as-is + // TODO: It would probably be faster to determine this + // without a try/catch and a new RegExp, but it's tricky + // to do safely. For now, this is safe and works. + var cs = pattern.substring(classStart + 1, i); + try { + RegExp('[' + cs + ']'); + } catch (er) { + // not a valid class! + var sp = this.parse(cs, SUBPARSE); + re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]'; + hasMagic = hasMagic || sp[1]; + inClass = false; + continue + } + } + + // finish up the class. + hasMagic = true; + inClass = false; + re += c; + continue + + default: + // swallow any state char that wasn't consumed + clearStateChar(); + + if (escaping) { + // no need + escaping = false; + } else if (reSpecials[c] + && !(c === '^' && inClass)) { + re += '\\'; + } + + re += c; + + } // switch + } // for + + // handle the case where we left a class open. + // "[abc" is valid, equivalent to "\[abc" + if (inClass) { + // split where the last [ was, and escape it + // this is a huge pita. We now have to re-walk + // the contents of the would-be class to re-translate + // any characters that were passed through as-is + cs = pattern.substr(classStart + 1); + sp = this.parse(cs, SUBPARSE); + re = re.substr(0, reClassStart) + '\\[' + sp[0]; + hasMagic = hasMagic || sp[1]; + } + + // handle the case where we had a +( thing at the *end* + // of the pattern. + // each pattern list stack adds 3 chars, and we need to go through + // and escape any | chars that were passed through as-is for the regexp. + // Go through and escape them, taking care not to double-escape any + // | chars that were already escaped. + for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { + var tail = re.slice(pl.reStart + pl.open.length); + this.debug('setting tail', re, pl); + // maybe some even number of \, then maybe 1 \, followed by a | + tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) { + if (!$2) { + // the | isn't already escaped, so escape it. + $2 = '\\'; + } + + // need to escape all those slashes *again*, without escaping the + // one that we need for escaping the | character. As it works out, + // escaping an even number of slashes can be done by simply repeating + // it exactly after itself. That's why this trick works. + // + // I am sorry that you have to see this. + return $1 + $1 + $2 + '|' + }); + + this.debug('tail=%j\n %s', tail, tail, pl, re); + var t = pl.type === '*' ? star + : pl.type === '?' ? qmark + : '\\' + pl.type; + + hasMagic = true; + re = re.slice(0, pl.reStart) + t + '\\(' + tail; + } + + // handle trailing things that only matter at the very end. + clearStateChar(); + if (escaping) { + // trailing \\ + re += '\\\\'; + } + + // only need to apply the nodot start if the re starts with + // something that could conceivably capture a dot + var addPatternStart = false; + switch (re.charAt(0)) { + case '.': + case '[': + case '(': addPatternStart = true; + } + + // Hack to work around lack of negative lookbehind in JS + // A pattern like: *.!(x).!(y|z) needs to ensure that a name + // like 'a.xyz.yz' doesn't match. So, the first negative + // lookahead, has to look ALL the way ahead, to the end of + // the pattern. + for (var n = negativeLists.length - 1; n > -1; n--) { + var nl = negativeLists[n]; + + var nlBefore = re.slice(0, nl.reStart); + var nlFirst = re.slice(nl.reStart, nl.reEnd - 8); + var nlLast = re.slice(nl.reEnd - 8, nl.reEnd); + var nlAfter = re.slice(nl.reEnd); + + nlLast += nlAfter; + + // Handle nested stuff like *(*.js|!(*.json)), where open parens + // mean that we should *not* include the ) in the bit that is considered + // "after" the negated section. + var openParensBefore = nlBefore.split('(').length - 1; + var cleanAfter = nlAfter; + for (i = 0; i < openParensBefore; i++) { + cleanAfter = cleanAfter.replace(/\)[+*?]?/, ''); + } + nlAfter = cleanAfter; + + var dollar = ''; + if (nlAfter === '' && isSub !== SUBPARSE) { + dollar = '$'; + } + var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast; + re = newRe; + } + + // if the re is not "" at this point, then we need to make sure + // it doesn't match against an empty path part. + // Otherwise a/* will match a/, which it should not. + if (re !== '' && hasMagic) { + re = '(?=.)' + re; + } + + if (addPatternStart) { + re = patternStart + re; + } + + // parsing just a piece of a larger pattern. + if (isSub === SUBPARSE) { + return [re, hasMagic] + } + + // skip the regexp for non-magical patterns + // unescape anything in it, though, so that it'll be + // an exact match against a file etc. + if (!hasMagic) { + return globUnescape(pattern) + } + + var flags = options.nocase ? 'i' : ''; + try { + var regExp = new RegExp('^' + re + '$', flags); + } catch (er) { + // If it was an invalid regular expression, then it can't match + // anything. This trick looks for a character after the end of + // the string, which is of course impossible, except in multi-line + // mode, but it's not a /m regex. + return new RegExp('$.') + } + + regExp._glob = pattern; + regExp._src = re; + + return regExp +} + +minimatch.makeRe = function (pattern, options) { + return new Minimatch(pattern, options || {}).makeRe() +}; + +Minimatch.prototype.makeRe = makeRe; +function makeRe () { + if (this.regexp || this.regexp === false) return this.regexp + + // at this point, this.set is a 2d array of partial + // pattern strings, or "**". + // + // It's better to use .match(). This function shouldn't + // be used, really, but it's pretty convenient sometimes, + // when you just want to work with a regex. + var set = this.set; + + if (!set.length) { + this.regexp = false; + return this.regexp + } + var options = this.options; + + var twoStar = options.noglobstar ? star + : options.dot ? twoStarDot + : twoStarNoDot; + var flags = options.nocase ? 'i' : ''; + + var re = set.map(function (pattern) { + return pattern.map(function (p) { + return (p === GLOBSTAR) ? twoStar + : (typeof p === 'string') ? regExpEscape(p) + : p._src + }).join('\\\/') + }).join('|'); + + // must match entire pattern + // ending in a * or ** will make it less strict. + re = '^(?:' + re + ')$'; + + // can match anything, as long as it's not this. + if (this.negate) re = '^(?!' + re + ').*$'; + + try { + this.regexp = new RegExp(re, flags); + } catch (ex) { + this.regexp = false; + } + return this.regexp +} + +minimatch.match = function (list, pattern, options) { + options = options || {}; + var mm = new Minimatch(pattern, options); + list = list.filter(function (f) { + return mm.match(f) + }); + if (mm.options.nonull && !list.length) { + list.push(pattern); + } + return list +}; + +Minimatch.prototype.match = match; +function match (f, partial) { + this.debug('match', f, this.pattern); + // short-circuit in the case of busted things. + // comments, etc. + if (this.comment) return false + if (this.empty) return f === '' + + if (f === '/' && partial) return true + + var options = this.options; + + // windows: need to use /, not \ + if (path.sep !== '/') { + f = f.split(path.sep).join('/'); + } + + // treat the test path as a set of pathparts. + f = f.split(slashSplit); + this.debug(this.pattern, 'split', f); + + // just ONE of the pattern sets in this.set needs to match + // in order for it to be valid. If negating, then just one + // match means that we have failed. + // Either way, return on the first hit. + + var set = this.set; + this.debug(this.pattern, 'set', set); + + // Find the basename of the path by looking for the last non-empty segment + var filename; + var i; + for (i = f.length - 1; i >= 0; i--) { + filename = f[i]; + if (filename) break + } + + for (i = 0; i < set.length; i++) { + var pattern = set[i]; + var file = f; + if (options.matchBase && pattern.length === 1) { + file = [filename]; + } + var hit = this.matchOne(file, pattern, partial); + if (hit) { + if (options.flipNegate) return true + return !this.negate + } + } + + // didn't get any hits. this is success if it's a negative + // pattern, failure otherwise. + if (options.flipNegate) return false + return this.negate +} + +// set partial to true to test if, for example, +// "/a/b" matches the start of "/*/b/*/d" +// Partial means, if you run out of file before you run +// out of pattern, then that's fine, as long as all +// the parts match. +Minimatch.prototype.matchOne = function (file, pattern, partial) { + var options = this.options; + + this.debug('matchOne', + { 'this': this, file: file, pattern: pattern }); + + this.debug('matchOne', file.length, pattern.length); + + for (var fi = 0, + pi = 0, + fl = file.length, + pl = pattern.length + ; (fi < fl) && (pi < pl) + ; fi++, pi++) { + this.debug('matchOne loop'); + var p = pattern[pi]; + var f = file[fi]; + + this.debug(pattern, p, f); + + // should be impossible. + // some invalid regexp stuff in the set. + if (p === false) return false + + if (p === GLOBSTAR) { + this.debug('GLOBSTAR', [pattern, p, f]); + + // "**" + // a/**/b/**/c would match the following: + // a/b/x/y/z/c + // a/x/y/z/b/c + // a/b/x/b/x/c + // a/b/c + // To do this, take the rest of the pattern after + // the **, and see if it would match the file remainder. + // If so, return success. + // If not, the ** "swallows" a segment, and try again. + // This is recursively awful. + // + // a/**/b/**/c matching a/b/x/y/z/c + // - a matches a + // - doublestar + // - matchOne(b/x/y/z/c, b/**/c) + // - b matches b + // - doublestar + // - matchOne(x/y/z/c, c) -> no + // - matchOne(y/z/c, c) -> no + // - matchOne(z/c, c) -> no + // - matchOne(c, c) yes, hit + var fr = fi; + var pr = pi + 1; + if (pr === pl) { + this.debug('** at the end'); + // a ** at the end will just swallow the rest. + // We have found a match. + // however, it will not swallow /.x, unless + // options.dot is set. + // . and .. are *never* matched by **, for explosively + // exponential reasons. + for (; fi < fl; fi++) { + if (file[fi] === '.' || file[fi] === '..' || + (!options.dot && file[fi].charAt(0) === '.')) return false + } + return true + } + + // ok, let's see if we can swallow whatever we can. + while (fr < fl) { + var swallowee = file[fr]; + + this.debug('\nglobstar while', file, fr, pattern, pr, swallowee); + + // XXX remove this slice. Just pass the start index. + if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { + this.debug('globstar found match!', fr, fl, swallowee); + // found a match. + return true + } else { + // can't swallow "." or ".." ever. + // can only swallow ".foo" when explicitly asked. + if (swallowee === '.' || swallowee === '..' || + (!options.dot && swallowee.charAt(0) === '.')) { + this.debug('dot detected!', file, fr, pattern, pr); + break + } + + // ** swallows a segment, and continue. + this.debug('globstar swallow a segment, and continue'); + fr++; + } + } + + // no match was found. + // However, in partial mode, we can't say this is necessarily over. + // If there's more *pattern* left, then + if (partial) { + // ran out of file + this.debug('\n>>> no match, partial?', file, fr, pattern, pr); + if (fr === fl) return true + } + return false + } + + // something other than ** + // non-magic patterns just have to match exactly + // patterns with magic have been turned into regexps. + var hit; + if (typeof p === 'string') { + if (options.nocase) { + hit = f.toLowerCase() === p.toLowerCase(); + } else { + hit = f === p; + } + this.debug('string match', p, f, hit); + } else { + hit = f.match(p); + this.debug('pattern match', p, f, hit); + } + + if (!hit) return false + } + + // Note: ending in / means that we'll get a final "" + // at the end of the pattern. This can only match a + // corresponding "" at the end of the file. + // If the file ends in /, then it can only match a + // a pattern that ends in /, unless the pattern just + // doesn't have any more for it. But, a/b/ should *not* + // match "a/b/*", even though "" matches against the + // [^/]*? pattern, except in partial mode, where it might + // simply not be reached yet. + // However, a/b/ should still satisfy a/* + + // now either we fell off the end of the pattern, or we're done. + if (fi === fl && pi === pl) { + // ran out of pattern and filename at the same time. + // an exact hit! + return true + } else if (fi === fl) { + // ran out of file, but still had pattern left. + // this is ok if we're doing the match as part of + // a glob fs traversal. + return partial + } else if (pi === pl) { + // ran out of pattern, still have file left. + // this is only acceptable if we're on the very last + // empty segment of a file with a trailing slash. + // a/* should match a/b/ + var emptyFileEnd = (fi === fl - 1) && (file[fi] === ''); + return emptyFileEnd + } + + // should be unreachable. + throw new Error('wtf?') +}; + +// replace stuff like \* with * +function globUnescape (s) { + return s.replace(/\\(.)/g, '$1') +} + +function regExpEscape (s) { + return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') +} + +var inherits_browser = createCommonjsModule(function (module) { +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + } + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor; + var TempCtor = function () {}; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } + }; +} +}); + +var inherits = createCommonjsModule(function (module) { +try { + var util = util$1; + /* istanbul ignore next */ + if (typeof util.inherits !== 'function') throw ''; + module.exports = util.inherits; +} catch (e) { + /* istanbul ignore next */ + module.exports = inherits_browser; +} +}); + +function posix(path) { + return path.charAt(0) === '/'; +} + +function win32(path) { + // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56 + var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; + var result = splitDeviceRe.exec(path); + var device = result[1] || ''; + var isUnc = Boolean(device && device.charAt(1) !== ':'); + + // UNC paths are always absolute + return Boolean(result[2] || isUnc); +} + +var pathIsAbsolute = process.platform === 'win32' ? win32 : posix; +var posix_1 = posix; +var win32_1 = win32; +pathIsAbsolute.posix = posix_1; +pathIsAbsolute.win32 = win32_1; + +var alphasort_1 = alphasort; +var alphasorti_1 = alphasorti; +var setopts_1 = setopts; +var ownProp_1 = ownProp; +var makeAbs_1 = makeAbs; +var finish_1 = finish; +var mark_1 = mark$1; +var isIgnored_1 = isIgnored; +var childrenIgnored_1 = childrenIgnored; + +function ownProp (obj, field) { + return Object.prototype.hasOwnProperty.call(obj, field) +} + + + + +var Minimatch$1 = minimatch_1.Minimatch; + +function alphasorti (a, b) { + return a.toLowerCase().localeCompare(b.toLowerCase()) +} + +function alphasort (a, b) { + return a.localeCompare(b) +} + +function setupIgnores (self, options) { + self.ignore = options.ignore || []; + + if (!Array.isArray(self.ignore)) + self.ignore = [self.ignore]; + + if (self.ignore.length) { + self.ignore = self.ignore.map(ignoreMap); + } +} + +// ignore patterns are always in dot:true mode. +function ignoreMap (pattern) { + var gmatcher = null; + if (pattern.slice(-3) === '/**') { + var gpattern = pattern.replace(/(\/\*\*)+$/, ''); + gmatcher = new Minimatch$1(gpattern, { dot: true }); + } + + return { + matcher: new Minimatch$1(pattern, { dot: true }), + gmatcher: gmatcher + } +} + +function setopts (self, pattern, options) { + if (!options) + options = {}; + + // base-matching: just use globstar for that. + if (options.matchBase && -1 === pattern.indexOf("/")) { + if (options.noglobstar) { + throw new Error("base matching requires globstar") + } + pattern = "**/" + pattern; + } + + self.silent = !!options.silent; + self.pattern = pattern; + self.strict = options.strict !== false; + self.realpath = !!options.realpath; + self.realpathCache = options.realpathCache || Object.create(null); + self.follow = !!options.follow; + self.dot = !!options.dot; + self.mark = !!options.mark; + self.nodir = !!options.nodir; + if (self.nodir) + self.mark = true; + self.sync = !!options.sync; + self.nounique = !!options.nounique; + self.nonull = !!options.nonull; + self.nosort = !!options.nosort; + self.nocase = !!options.nocase; + self.stat = !!options.stat; + self.noprocess = !!options.noprocess; + self.absolute = !!options.absolute; + + self.maxLength = options.maxLength || Infinity; + self.cache = options.cache || Object.create(null); + self.statCache = options.statCache || Object.create(null); + self.symlinks = options.symlinks || Object.create(null); + + setupIgnores(self, options); + + self.changedCwd = false; + var cwd = process.cwd(); + if (!ownProp(options, "cwd")) + self.cwd = cwd; + else { + self.cwd = path$1.resolve(options.cwd); + self.changedCwd = self.cwd !== cwd; + } + + self.root = options.root || path$1.resolve(self.cwd, "/"); + self.root = path$1.resolve(self.root); + if (process.platform === "win32") + self.root = self.root.replace(/\\/g, "/"); + + // TODO: is an absolute `cwd` supposed to be resolved against `root`? + // e.g. { cwd: '/test', root: __dirname } === path.join(__dirname, '/test') + self.cwdAbs = pathIsAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd); + if (process.platform === "win32") + self.cwdAbs = self.cwdAbs.replace(/\\/g, "/"); + self.nomount = !!options.nomount; + + // disable comments and negation in Minimatch. + // Note that they are not supported in Glob itself anyway. + options.nonegate = true; + options.nocomment = true; + + self.minimatch = new Minimatch$1(pattern, options); + self.options = self.minimatch.options; +} + +function finish (self) { + var nou = self.nounique; + var all = nou ? [] : Object.create(null); + + for (var i = 0, l = self.matches.length; i < l; i ++) { + var matches = self.matches[i]; + if (!matches || Object.keys(matches).length === 0) { + if (self.nonull) { + // do like the shell, and spit out the literal glob + var literal = self.minimatch.globSet[i]; + if (nou) + all.push(literal); + else + all[literal] = true; + } + } else { + // had matches + var m = Object.keys(matches); + if (nou) + all.push.apply(all, m); + else + m.forEach(function (m) { + all[m] = true; + }); + } + } + + if (!nou) + all = Object.keys(all); + + if (!self.nosort) + all = all.sort(self.nocase ? alphasorti : alphasort); + + // at *some* point we statted all of these + if (self.mark) { + for (var i = 0; i < all.length; i++) { + all[i] = self._mark(all[i]); + } + if (self.nodir) { + all = all.filter(function (e) { + var notDir = !(/\/$/.test(e)); + var c = self.cache[e] || self.cache[makeAbs(self, e)]; + if (notDir && c) + notDir = c !== 'DIR' && !Array.isArray(c); + return notDir + }); + } + } + + if (self.ignore.length) + all = all.filter(function(m) { + return !isIgnored(self, m) + }); + + self.found = all; +} + +function mark$1 (self, p) { + var abs = makeAbs(self, p); + var c = self.cache[abs]; + var m = p; + if (c) { + var isDir = c === 'DIR' || Array.isArray(c); + var slash = p.slice(-1) === '/'; + + if (isDir && !slash) + m += '/'; + else if (!isDir && slash) + m = m.slice(0, -1); + + if (m !== p) { + var mabs = makeAbs(self, m); + self.statCache[mabs] = self.statCache[abs]; + self.cache[mabs] = self.cache[abs]; + } + } + + return m +} + +// lotta situps... +function makeAbs (self, f) { + var abs = f; + if (f.charAt(0) === '/') { + abs = path$1.join(self.root, f); + } else if (pathIsAbsolute(f) || f === '') { + abs = f; + } else if (self.changedCwd) { + abs = path$1.resolve(self.cwd, f); + } else { + abs = path$1.resolve(f); + } + + if (process.platform === 'win32') + abs = abs.replace(/\\/g, '/'); + + return abs +} + + +// Return true, if pattern ends with globstar '**', for the accompanying parent directory. +// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents +function isIgnored (self, path) { + if (!self.ignore.length) + return false + + return self.ignore.some(function(item) { + return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path)) + }) +} + +function childrenIgnored (self, path) { + if (!self.ignore.length) + return false + + return self.ignore.some(function(item) { + return !!(item.gmatcher && item.gmatcher.match(path)) + }) +} + +var common$2 = { + alphasort: alphasort_1, + alphasorti: alphasorti_1, + setopts: setopts_1, + ownProp: ownProp_1, + makeAbs: makeAbs_1, + finish: finish_1, + mark: mark_1, + isIgnored: isIgnored_1, + childrenIgnored: childrenIgnored_1 +}; + +var sync = globSync; +globSync.GlobSync = GlobSync; +var setopts$1 = common$2.setopts; +var ownProp$1 = common$2.ownProp; +var childrenIgnored$1 = common$2.childrenIgnored; +var isIgnored$1 = common$2.isIgnored; + +function globSync (pattern, options) { + if (typeof options === 'function' || arguments.length === 3) + throw new TypeError('callback provided to sync glob\n'+ + 'See: https://github.com/isaacs/node-glob/issues/167') + + return new GlobSync(pattern, options).found +} + +function GlobSync (pattern, options) { + if (!pattern) + throw new Error('must provide pattern') + + if (typeof options === 'function' || arguments.length === 3) + throw new TypeError('callback provided to sync glob\n'+ + 'See: https://github.com/isaacs/node-glob/issues/167') + + if (!(this instanceof GlobSync)) + return new GlobSync(pattern, options) + + setopts$1(this, pattern, options); + + if (this.noprocess) + return this + + var n = this.minimatch.set.length; + this.matches = new Array(n); + for (var i = 0; i < n; i ++) { + this._process(this.minimatch.set[i], i, false); + } + this._finish(); +} + +GlobSync.prototype._finish = function () { + assert(this instanceof GlobSync); + if (this.realpath) { + var self = this; + this.matches.forEach(function (matchset, index) { + var set = self.matches[index] = Object.create(null); + for (var p in matchset) { + try { + p = self._makeAbs(p); + var real = fs_realpath.realpathSync(p, self.realpathCache); + set[real] = true; + } catch (er) { + if (er.syscall === 'stat') + set[self._makeAbs(p)] = true; + else + throw er + } + } + }); + } + common$2.finish(this); +}; + + +GlobSync.prototype._process = function (pattern, index, inGlobStar) { + assert(this instanceof GlobSync); + + // Get the first [n] parts of pattern that are all strings. + var n = 0; + while (typeof pattern[n] === 'string') { + n ++; + } + // now n is the index of the first one that is *not* a string. + + // See if there's anything else + var prefix; + switch (n) { + // if not, then this is rather simple + case pattern.length: + this._processSimple(pattern.join('/'), index); + return + + case 0: + // pattern *starts* with some non-trivial item. + // going to readdir(cwd), but not include the prefix in matches. + prefix = null; + break + + default: + // pattern has some string bits in the front. + // whatever it starts with, whether that's 'absolute' like /foo/bar, + // or 'relative' like '../baz' + prefix = pattern.slice(0, n).join('/'); + break + } + + var remain = pattern.slice(n); + + // get the list of entries. + var read; + if (prefix === null) + read = '.'; + else if (pathIsAbsolute(prefix) || pathIsAbsolute(pattern.join('/'))) { + if (!prefix || !pathIsAbsolute(prefix)) + prefix = '/' + prefix; + read = prefix; + } else + read = prefix; + + var abs = this._makeAbs(read); + + //if ignored, skip processing + if (childrenIgnored$1(this, read)) + return + + var isGlobStar = remain[0] === minimatch_1.GLOBSTAR; + if (isGlobStar) + this._processGlobStar(prefix, read, abs, remain, index, inGlobStar); + else + this._processReaddir(prefix, read, abs, remain, index, inGlobStar); +}; + + +GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) { + var entries = this._readdir(abs, inGlobStar); + + // if the abs isn't a dir, then nothing can match! + if (!entries) + return + + // It will only match dot entries if it starts with a dot, or if + // dot is set. Stuff like @(.foo|.bar) isn't allowed. + var pn = remain[0]; + var negate = !!this.minimatch.negate; + var rawGlob = pn._glob; + var dotOk = this.dot || rawGlob.charAt(0) === '.'; + + var matchedEntries = []; + for (var i = 0; i < entries.length; i++) { + var e = entries[i]; + if (e.charAt(0) !== '.' || dotOk) { + var m; + if (negate && !prefix) { + m = !e.match(pn); + } else { + m = e.match(pn); + } + if (m) + matchedEntries.push(e); + } + } + + var len = matchedEntries.length; + // If there are no matched entries, then nothing matches. + if (len === 0) + return + + // if this is the last remaining pattern bit, then no need for + // an additional stat *unless* the user has specified mark or + // stat explicitly. We know they exist, since readdir returned + // them. + + if (remain.length === 1 && !this.mark && !this.stat) { + if (!this.matches[index]) + this.matches[index] = Object.create(null); + + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i]; + if (prefix) { + if (prefix.slice(-1) !== '/') + e = prefix + '/' + e; + else + e = prefix + e; + } + + if (e.charAt(0) === '/' && !this.nomount) { + e = path$1.join(this.root, e); + } + this._emitMatch(index, e); + } + // This was the last one, and no stats were needed + return + } + + // now test all matched entries as stand-ins for that part + // of the pattern. + remain.shift(); + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i]; + var newPattern; + if (prefix) + newPattern = [prefix, e]; + else + newPattern = [e]; + this._process(newPattern.concat(remain), index, inGlobStar); + } +}; + + +GlobSync.prototype._emitMatch = function (index, e) { + if (isIgnored$1(this, e)) + return + + var abs = this._makeAbs(e); + + if (this.mark) + e = this._mark(e); + + if (this.absolute) { + e = abs; + } + + if (this.matches[index][e]) + return + + if (this.nodir) { + var c = this.cache[abs]; + if (c === 'DIR' || Array.isArray(c)) + return + } + + this.matches[index][e] = true; + + if (this.stat) + this._stat(e); +}; + + +GlobSync.prototype._readdirInGlobStar = function (abs) { + // follow all symlinked directories forever + // just proceed as if this is a non-globstar situation + if (this.follow) + return this._readdir(abs, false) + + var entries; + var lstat; + try { + lstat = fs$1.lstatSync(abs); + } catch (er) { + if (er.code === 'ENOENT') { + // lstat failed, doesn't exist + return null + } + } + + var isSym = lstat && lstat.isSymbolicLink(); + this.symlinks[abs] = isSym; + + // If it's not a symlink or a dir, then it's definitely a regular file. + // don't bother doing a readdir in that case. + if (!isSym && lstat && !lstat.isDirectory()) + this.cache[abs] = 'FILE'; + else + entries = this._readdir(abs, false); + + return entries +}; + +GlobSync.prototype._readdir = function (abs, inGlobStar) { + + if (inGlobStar && !ownProp$1(this.symlinks, abs)) + return this._readdirInGlobStar(abs) + + if (ownProp$1(this.cache, abs)) { + var c = this.cache[abs]; + if (!c || c === 'FILE') + return null + + if (Array.isArray(c)) + return c + } + + try { + return this._readdirEntries(abs, fs$1.readdirSync(abs)) + } catch (er) { + this._readdirError(abs, er); + return null + } +}; + +GlobSync.prototype._readdirEntries = function (abs, entries) { + // if we haven't asked to stat everything, then just + // assume that everything in there exists, so we can avoid + // having to stat it a second time. + if (!this.mark && !this.stat) { + for (var i = 0; i < entries.length; i ++) { + var e = entries[i]; + if (abs === '/') + e = abs + e; + else + e = abs + '/' + e; + this.cache[e] = true; + } + } + + this.cache[abs] = entries; + + // mark and cache dir-ness + return entries +}; + +GlobSync.prototype._readdirError = function (f, er) { + // handle errors, and cache the information + switch (er.code) { + case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 + case 'ENOTDIR': // totally normal. means it *does* exist. + var abs = this._makeAbs(f); + this.cache[abs] = 'FILE'; + if (abs === this.cwdAbs) { + var error = new Error(er.code + ' invalid cwd ' + this.cwd); + error.path = this.cwd; + error.code = er.code; + throw error + } + break + + case 'ENOENT': // not terribly unusual + case 'ELOOP': + case 'ENAMETOOLONG': + case 'UNKNOWN': + this.cache[this._makeAbs(f)] = false; + break + + default: // some unusual error. Treat as failure. + this.cache[this._makeAbs(f)] = false; + if (this.strict) + throw er + if (!this.silent) + console.error('glob error', er); + break + } +}; + +GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) { + + var entries = this._readdir(abs, inGlobStar); + + // no entries means not a dir, so it can never have matches + // foo.txt/** doesn't match foo.txt + if (!entries) + return + + // test without the globstar, and with every child both below + // and replacing the globstar. + var remainWithoutGlobStar = remain.slice(1); + var gspref = prefix ? [ prefix ] : []; + var noGlobStar = gspref.concat(remainWithoutGlobStar); + + // the noGlobStar pattern exits the inGlobStar state + this._process(noGlobStar, index, false); + + var len = entries.length; + var isSym = this.symlinks[abs]; + + // If it's a symlink, and we're in a globstar, then stop + if (isSym && inGlobStar) + return + + for (var i = 0; i < len; i++) { + var e = entries[i]; + if (e.charAt(0) === '.' && !this.dot) + continue + + // these two cases enter the inGlobStar state + var instead = gspref.concat(entries[i], remainWithoutGlobStar); + this._process(instead, index, true); + + var below = gspref.concat(entries[i], remain); + this._process(below, index, true); + } +}; + +GlobSync.prototype._processSimple = function (prefix, index) { + // XXX review this. Shouldn't it be doing the mounting etc + // before doing stat? kinda weird? + var exists = this._stat(prefix); + + if (!this.matches[index]) + this.matches[index] = Object.create(null); + + // If it doesn't exist, then just mark the lack of results + if (!exists) + return + + if (prefix && pathIsAbsolute(prefix) && !this.nomount) { + var trail = /[\/\\]$/.test(prefix); + if (prefix.charAt(0) === '/') { + prefix = path$1.join(this.root, prefix); + } else { + prefix = path$1.resolve(this.root, prefix); + if (trail) + prefix += '/'; + } + } + + if (process.platform === 'win32') + prefix = prefix.replace(/\\/g, '/'); + + // Mark this as a match + this._emitMatch(index, prefix); +}; + +// Returns either 'DIR', 'FILE', or false +GlobSync.prototype._stat = function (f) { + var abs = this._makeAbs(f); + var needDir = f.slice(-1) === '/'; + + if (f.length > this.maxLength) + return false + + if (!this.stat && ownProp$1(this.cache, abs)) { + var c = this.cache[abs]; + + if (Array.isArray(c)) + c = 'DIR'; + + // It exists, but maybe not how we need it + if (!needDir || c === 'DIR') + return c + + if (needDir && c === 'FILE') + return false + + // otherwise we have to stat, because maybe c=true + // if we know it exists, but not what it is. + } + var stat = this.statCache[abs]; + if (!stat) { + var lstat; + try { + lstat = fs$1.lstatSync(abs); + } catch (er) { + if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { + this.statCache[abs] = false; + return false + } + } + + if (lstat && lstat.isSymbolicLink()) { + try { + stat = fs$1.statSync(abs); + } catch (er) { + stat = lstat; + } + } else { + stat = lstat; + } + } + + this.statCache[abs] = stat; + + var c = true; + if (stat) + c = stat.isDirectory() ? 'DIR' : 'FILE'; + + this.cache[abs] = this.cache[abs] || c; + + if (needDir && c === 'FILE') + return false + + return c +}; + +GlobSync.prototype._mark = function (p) { + return common$2.mark(this, p) +}; + +GlobSync.prototype._makeAbs = function (f) { + return common$2.makeAbs(this, f) +}; + +// Returns a wrapper function that returns a wrapped callback +// The wrapper function should do some stuff, and return a +// presumably different callback function. +// This makes sure that own properties are retained, so that +// decorations and such are not lost along the way. +var wrappy_1 = wrappy; +function wrappy (fn, cb) { + if (fn && cb) return wrappy(fn)(cb) + + if (typeof fn !== 'function') + throw new TypeError('need wrapper function') + + Object.keys(fn).forEach(function (k) { + wrapper[k] = fn[k]; + }); + + return wrapper + + function wrapper() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + var ret = fn.apply(this, args); + var cb = args[args.length-1]; + if (typeof ret === 'function' && ret !== cb) { + Object.keys(cb).forEach(function (k) { + ret[k] = cb[k]; + }); + } + return ret + } +} + +var once_1 = wrappy_1(once); +var strict = wrappy_1(onceStrict); + +once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) + }, + configurable: true + }); + + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }); +}); + +function once (fn) { + var f = function () { + if (f.called) return f.value + f.called = true; + return f.value = fn.apply(this, arguments) + }; + f.called = false; + return f +} + +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true; + return f.value = fn.apply(this, arguments) + }; + var name = fn.name || 'Function wrapped with `once`'; + f.onceError = name + " shouldn't be called more than once"; + f.called = false; + return f +} +once_1.strict = strict; + +var reqs = Object.create(null); + + +var inflight_1 = wrappy_1(inflight); + +function inflight (key, cb) { + if (reqs[key]) { + reqs[key].push(cb); + return null + } else { + reqs[key] = [cb]; + return makeres(key) + } +} + +function makeres (key) { + return once_1(function RES () { + var cbs = reqs[key]; + var len = cbs.length; + var args = slice$2(arguments); + + // XXX It's somewhat ambiguous whether a new callback added in this + // pass should be queued for later execution if something in the + // list of callbacks throws, or if it should just be discarded. + // However, it's such an edge case that it hardly matters, and either + // choice is likely as surprising as the other. + // As it happens, we do go ahead and schedule it for later execution. + try { + for (var i = 0; i < len; i++) { + cbs[i].apply(null, args); + } + } finally { + if (cbs.length > len) { + // added more in the interim. + // de-zalgo, just in case, but don't call again. + cbs.splice(0, len); + process.nextTick(function () { + RES.apply(null, args); + }); + } else { + delete reqs[key]; + } + } + }) +} + +function slice$2 (args) { + var length = args.length; + var array = []; + + for (var i = 0; i < length; i++) array[i] = args[i]; + return array +} + +// Approach: +// +// 1. Get the minimatch set +// 2. For each pattern in the set, PROCESS(pattern, false) +// 3. Store matches per-set, then uniq them +// +// PROCESS(pattern, inGlobStar) +// Get the first [n] items from pattern that are all strings +// Join these together. This is PREFIX. +// If there is no more remaining, then stat(PREFIX) and +// add to matches if it succeeds. END. +// +// If inGlobStar and PREFIX is symlink and points to dir +// set ENTRIES = [] +// else readdir(PREFIX) as ENTRIES +// If fail, END +// +// with ENTRIES +// If pattern[n] is GLOBSTAR +// // handle the case where the globstar match is empty +// // by pruning it out, and testing the resulting pattern +// PROCESS(pattern[0..n] + pattern[n+1 .. $], false) +// // handle other cases. +// for ENTRY in ENTRIES (not dotfiles) +// // attach globstar + tail onto the entry +// // Mark that this entry is a globstar match +// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true) +// +// else // not globstar +// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) +// Test ENTRY against pattern[n] +// If fails, continue +// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) +// +// Caveat: +// Cache all stats and readdirs results to minimize syscall. Since all +// we ever care about is existence and directory-ness, we can just keep +// `true` for files, and [children,...] for directories, or `false` for +// things that don't exist. + +var glob_1 = glob; + +var EE = events.EventEmitter; +var setopts$2 = common$2.setopts; +var ownProp$2 = common$2.ownProp; + + +var childrenIgnored$2 = common$2.childrenIgnored; +var isIgnored$2 = common$2.isIgnored; + + + +function glob (pattern, options, cb) { + if (typeof options === 'function') cb = options, options = {}; + if (!options) options = {}; + + if (options.sync) { + if (cb) + throw new TypeError('callback provided to sync glob') + return sync(pattern, options) + } + + return new Glob(pattern, options, cb) +} + +glob.sync = sync; +var GlobSync$1 = glob.GlobSync = sync.GlobSync; + +// old api surface +glob.glob = glob; + +function extend$2 (origin, add) { + if (add === null || typeof add !== 'object') { + return origin + } + + var keys = Object.keys(add); + var i = keys.length; + while (i--) { + origin[keys[i]] = add[keys[i]]; + } + return origin +} + +glob.hasMagic = function (pattern, options_) { + var options = extend$2({}, options_); + options.noprocess = true; + + var g = new Glob(pattern, options); + var set = g.minimatch.set; + + if (!pattern) + return false + + if (set.length > 1) + return true + + for (var j = 0; j < set[0].length; j++) { + if (typeof set[0][j] !== 'string') + return true + } + + return false +}; + +glob.Glob = Glob; +inherits(Glob, EE); +function Glob (pattern, options, cb) { + if (typeof options === 'function') { + cb = options; + options = null; + } + + if (options && options.sync) { + if (cb) + throw new TypeError('callback provided to sync glob') + return new GlobSync$1(pattern, options) + } + + if (!(this instanceof Glob)) + return new Glob(pattern, options, cb) + + setopts$2(this, pattern, options); + this._didRealPath = false; + + // process each pattern in the minimatch set + var n = this.minimatch.set.length; + + // The matches are stored as {: true,...} so that + // duplicates are automagically pruned. + // Later, we do an Object.keys() on these. + // Keep them as a list so we can fill in when nonull is set. + this.matches = new Array(n); + + if (typeof cb === 'function') { + cb = once_1(cb); + this.on('error', cb); + this.on('end', function (matches) { + cb(null, matches); + }); + } + + var self = this; + this._processing = 0; + + this._emitQueue = []; + this._processQueue = []; + this.paused = false; + + if (this.noprocess) + return this + + if (n === 0) + return done() + + var sync = true; + for (var i = 0; i < n; i ++) { + this._process(this.minimatch.set[i], i, false, done); + } + sync = false; + + function done () { + --self._processing; + if (self._processing <= 0) { + if (sync) { + process.nextTick(function () { + self._finish(); + }); + } else { + self._finish(); + } + } + } +} + +Glob.prototype._finish = function () { + assert(this instanceof Glob); + if (this.aborted) + return + + if (this.realpath && !this._didRealpath) + return this._realpath() + + common$2.finish(this); + this.emit('end', this.found); +}; + +Glob.prototype._realpath = function () { + if (this._didRealpath) + return + + this._didRealpath = true; + + var n = this.matches.length; + if (n === 0) + return this._finish() + + var self = this; + for (var i = 0; i < this.matches.length; i++) + this._realpathSet(i, next); + + function next () { + if (--n === 0) + self._finish(); + } +}; + +Glob.prototype._realpathSet = function (index, cb) { + var matchset = this.matches[index]; + if (!matchset) + return cb() + + var found = Object.keys(matchset); + var self = this; + var n = found.length; + + if (n === 0) + return cb() + + var set = this.matches[index] = Object.create(null); + found.forEach(function (p, i) { + // If there's a problem with the stat, then it means that + // one or more of the links in the realpath couldn't be + // resolved. just return the abs value in that case. + p = self._makeAbs(p); + fs_realpath.realpath(p, self.realpathCache, function (er, real) { + if (!er) + set[real] = true; + else if (er.syscall === 'stat') + set[p] = true; + else + self.emit('error', er); // srsly wtf right here + + if (--n === 0) { + self.matches[index] = set; + cb(); + } + }); + }); +}; + +Glob.prototype._mark = function (p) { + return common$2.mark(this, p) +}; + +Glob.prototype._makeAbs = function (f) { + return common$2.makeAbs(this, f) +}; + +Glob.prototype.abort = function () { + this.aborted = true; + this.emit('abort'); +}; + +Glob.prototype.pause = function () { + if (!this.paused) { + this.paused = true; + this.emit('pause'); + } +}; + +Glob.prototype.resume = function () { + if (this.paused) { + this.emit('resume'); + this.paused = false; + if (this._emitQueue.length) { + var eq = this._emitQueue.slice(0); + this._emitQueue.length = 0; + for (var i = 0; i < eq.length; i ++) { + var e = eq[i]; + this._emitMatch(e[0], e[1]); + } + } + if (this._processQueue.length) { + var pq = this._processQueue.slice(0); + this._processQueue.length = 0; + for (var i = 0; i < pq.length; i ++) { + var p = pq[i]; + this._processing--; + this._process(p[0], p[1], p[2], p[3]); + } + } + } +}; + +Glob.prototype._process = function (pattern, index, inGlobStar, cb) { + assert(this instanceof Glob); + assert(typeof cb === 'function'); + + if (this.aborted) + return + + this._processing++; + if (this.paused) { + this._processQueue.push([pattern, index, inGlobStar, cb]); + return + } + + //console.error('PROCESS %d', this._processing, pattern) + + // Get the first [n] parts of pattern that are all strings. + var n = 0; + while (typeof pattern[n] === 'string') { + n ++; + } + // now n is the index of the first one that is *not* a string. + + // see if there's anything else + var prefix; + switch (n) { + // if not, then this is rather simple + case pattern.length: + this._processSimple(pattern.join('/'), index, cb); + return + + case 0: + // pattern *starts* with some non-trivial item. + // going to readdir(cwd), but not include the prefix in matches. + prefix = null; + break + + default: + // pattern has some string bits in the front. + // whatever it starts with, whether that's 'absolute' like /foo/bar, + // or 'relative' like '../baz' + prefix = pattern.slice(0, n).join('/'); + break + } + + var remain = pattern.slice(n); + + // get the list of entries. + var read; + if (prefix === null) + read = '.'; + else if (pathIsAbsolute(prefix) || pathIsAbsolute(pattern.join('/'))) { + if (!prefix || !pathIsAbsolute(prefix)) + prefix = '/' + prefix; + read = prefix; + } else + read = prefix; + + var abs = this._makeAbs(read); + + //if ignored, skip _processing + if (childrenIgnored$2(this, read)) + return cb() + + var isGlobStar = remain[0] === minimatch_1.GLOBSTAR; + if (isGlobStar) + this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb); + else + this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb); +}; + +Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) { + var self = this; + this._readdir(abs, inGlobStar, function (er, entries) { + return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb) + }); +}; + +Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { + + // if the abs isn't a dir, then nothing can match! + if (!entries) + return cb() + + // It will only match dot entries if it starts with a dot, or if + // dot is set. Stuff like @(.foo|.bar) isn't allowed. + var pn = remain[0]; + var negate = !!this.minimatch.negate; + var rawGlob = pn._glob; + var dotOk = this.dot || rawGlob.charAt(0) === '.'; + + var matchedEntries = []; + for (var i = 0; i < entries.length; i++) { + var e = entries[i]; + if (e.charAt(0) !== '.' || dotOk) { + var m; + if (negate && !prefix) { + m = !e.match(pn); + } else { + m = e.match(pn); + } + if (m) + matchedEntries.push(e); + } + } + + //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries) + + var len = matchedEntries.length; + // If there are no matched entries, then nothing matches. + if (len === 0) + return cb() + + // if this is the last remaining pattern bit, then no need for + // an additional stat *unless* the user has specified mark or + // stat explicitly. We know they exist, since readdir returned + // them. + + if (remain.length === 1 && !this.mark && !this.stat) { + if (!this.matches[index]) + this.matches[index] = Object.create(null); + + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i]; + if (prefix) { + if (prefix !== '/') + e = prefix + '/' + e; + else + e = prefix + e; + } + + if (e.charAt(0) === '/' && !this.nomount) { + e = path$1.join(this.root, e); + } + this._emitMatch(index, e); + } + // This was the last one, and no stats were needed + return cb() + } + + // now test all matched entries as stand-ins for that part + // of the pattern. + remain.shift(); + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i]; + if (prefix) { + if (prefix !== '/') + e = prefix + '/' + e; + else + e = prefix + e; + } + this._process([e].concat(remain), index, inGlobStar, cb); + } + cb(); +}; + +Glob.prototype._emitMatch = function (index, e) { + if (this.aborted) + return + + if (isIgnored$2(this, e)) + return + + if (this.paused) { + this._emitQueue.push([index, e]); + return + } + + var abs = pathIsAbsolute(e) ? e : this._makeAbs(e); + + if (this.mark) + e = this._mark(e); + + if (this.absolute) + e = abs; + + if (this.matches[index][e]) + return + + if (this.nodir) { + var c = this.cache[abs]; + if (c === 'DIR' || Array.isArray(c)) + return + } + + this.matches[index][e] = true; + + var st = this.statCache[abs]; + if (st) + this.emit('stat', e, st); + + this.emit('match', e); +}; + +Glob.prototype._readdirInGlobStar = function (abs, cb) { + if (this.aborted) + return + + // follow all symlinked directories forever + // just proceed as if this is a non-globstar situation + if (this.follow) + return this._readdir(abs, false, cb) + + var lstatkey = 'lstat\0' + abs; + var self = this; + var lstatcb = inflight_1(lstatkey, lstatcb_); + + if (lstatcb) + fs$1.lstat(abs, lstatcb); + + function lstatcb_ (er, lstat) { + if (er && er.code === 'ENOENT') + return cb() + + var isSym = lstat && lstat.isSymbolicLink(); + self.symlinks[abs] = isSym; + + // If it's not a symlink or a dir, then it's definitely a regular file. + // don't bother doing a readdir in that case. + if (!isSym && lstat && !lstat.isDirectory()) { + self.cache[abs] = 'FILE'; + cb(); + } else + self._readdir(abs, false, cb); + } +}; + +Glob.prototype._readdir = function (abs, inGlobStar, cb) { + if (this.aborted) + return + + cb = inflight_1('readdir\0'+abs+'\0'+inGlobStar, cb); + if (!cb) + return + + //console.error('RD %j %j', +inGlobStar, abs) + if (inGlobStar && !ownProp$2(this.symlinks, abs)) + return this._readdirInGlobStar(abs, cb) + + if (ownProp$2(this.cache, abs)) { + var c = this.cache[abs]; + if (!c || c === 'FILE') + return cb() + + if (Array.isArray(c)) + return cb(null, c) + } + fs$1.readdir(abs, readdirCb(this, abs, cb)); +}; + +function readdirCb (self, abs, cb) { + return function (er, entries) { + if (er) + self._readdirError(abs, er, cb); + else + self._readdirEntries(abs, entries, cb); + } +} + +Glob.prototype._readdirEntries = function (abs, entries, cb) { + if (this.aborted) + return + + // if we haven't asked to stat everything, then just + // assume that everything in there exists, so we can avoid + // having to stat it a second time. + if (!this.mark && !this.stat) { + for (var i = 0; i < entries.length; i ++) { + var e = entries[i]; + if (abs === '/') + e = abs + e; + else + e = abs + '/' + e; + this.cache[e] = true; + } + } + + this.cache[abs] = entries; + return cb(null, entries) +}; + +Glob.prototype._readdirError = function (f, er, cb) { + if (this.aborted) + return + + // handle errors, and cache the information + switch (er.code) { + case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 + case 'ENOTDIR': // totally normal. means it *does* exist. + var abs = this._makeAbs(f); + this.cache[abs] = 'FILE'; + if (abs === this.cwdAbs) { + var error = new Error(er.code + ' invalid cwd ' + this.cwd); + error.path = this.cwd; + error.code = er.code; + this.emit('error', error); + this.abort(); + } + break + + case 'ENOENT': // not terribly unusual + case 'ELOOP': + case 'ENAMETOOLONG': + case 'UNKNOWN': + this.cache[this._makeAbs(f)] = false; + break + + default: // some unusual error. Treat as failure. + this.cache[this._makeAbs(f)] = false; + if (this.strict) { + this.emit('error', er); + // If the error is handled, then we abort + // if not, we threw out of here + this.abort(); + } + if (!this.silent) + console.error('glob error', er); + break + } + + return cb() +}; + +Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) { + var self = this; + this._readdir(abs, inGlobStar, function (er, entries) { + self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb); + }); +}; + + +Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { + //console.error('pgs2', prefix, remain[0], entries) + + // no entries means not a dir, so it can never have matches + // foo.txt/** doesn't match foo.txt + if (!entries) + return cb() + + // test without the globstar, and with every child both below + // and replacing the globstar. + var remainWithoutGlobStar = remain.slice(1); + var gspref = prefix ? [ prefix ] : []; + var noGlobStar = gspref.concat(remainWithoutGlobStar); + + // the noGlobStar pattern exits the inGlobStar state + this._process(noGlobStar, index, false, cb); + + var isSym = this.symlinks[abs]; + var len = entries.length; + + // If it's a symlink, and we're in a globstar, then stop + if (isSym && inGlobStar) + return cb() + + for (var i = 0; i < len; i++) { + var e = entries[i]; + if (e.charAt(0) === '.' && !this.dot) + continue + + // these two cases enter the inGlobStar state + var instead = gspref.concat(entries[i], remainWithoutGlobStar); + this._process(instead, index, true, cb); + + var below = gspref.concat(entries[i], remain); + this._process(below, index, true, cb); + } + + cb(); +}; + +Glob.prototype._processSimple = function (prefix, index, cb) { + // XXX review this. Shouldn't it be doing the mounting etc + // before doing stat? kinda weird? + var self = this; + this._stat(prefix, function (er, exists) { + self._processSimple2(prefix, index, er, exists, cb); + }); +}; +Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) { + + //console.error('ps2', prefix, exists) + + if (!this.matches[index]) + this.matches[index] = Object.create(null); + + // If it doesn't exist, then just mark the lack of results + if (!exists) + return cb() + + if (prefix && pathIsAbsolute(prefix) && !this.nomount) { + var trail = /[\/\\]$/.test(prefix); + if (prefix.charAt(0) === '/') { + prefix = path$1.join(this.root, prefix); + } else { + prefix = path$1.resolve(this.root, prefix); + if (trail) + prefix += '/'; + } + } + + if (process.platform === 'win32') + prefix = prefix.replace(/\\/g, '/'); + + // Mark this as a match + this._emitMatch(index, prefix); + cb(); +}; + +// Returns either 'DIR', 'FILE', or false +Glob.prototype._stat = function (f, cb) { + var abs = this._makeAbs(f); + var needDir = f.slice(-1) === '/'; + + if (f.length > this.maxLength) + return cb() + + if (!this.stat && ownProp$2(this.cache, abs)) { + var c = this.cache[abs]; + + if (Array.isArray(c)) + c = 'DIR'; + + // It exists, but maybe not how we need it + if (!needDir || c === 'DIR') + return cb(null, c) + + if (needDir && c === 'FILE') + return cb() + + // otherwise we have to stat, because maybe c=true + // if we know it exists, but not what it is. + } + var stat = this.statCache[abs]; + if (stat !== undefined) { + if (stat === false) + return cb(null, stat) + else { + var type = stat.isDirectory() ? 'DIR' : 'FILE'; + if (needDir && type === 'FILE') + return cb() + else + return cb(null, type, stat) + } + } + + var self = this; + var statcb = inflight_1('stat\0' + abs, lstatcb_); + if (statcb) + fs$1.lstat(abs, statcb); + + function lstatcb_ (er, lstat) { + if (lstat && lstat.isSymbolicLink()) { + // If it's a symlink, then treat it as the target, unless + // the target does not exist, then treat it as a file. + return fs$1.stat(abs, function (er, stat) { + if (er) + self._stat2(f, abs, null, lstat, cb); + else + self._stat2(f, abs, er, stat, cb); + }) + } else { + self._stat2(f, abs, er, lstat, cb); + } + } +}; + +Glob.prototype._stat2 = function (f, abs, er, stat, cb) { + if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { + this.statCache[abs] = false; + return cb() + } + + var needDir = f.slice(-1) === '/'; + this.statCache[abs] = stat; + + if (abs.slice(-1) === '/' && stat && !stat.isDirectory()) + return cb(null, false, stat) + + var c = true; + if (stat) + c = stat.isDirectory() ? 'DIR' : 'FILE'; + this.cache[abs] = this.cache[abs] || c; + + if (needDir && c === 'FILE') + return cb() + + return cb(null, c, stat) +}; + +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ + +var isBuffer = function isBuffer (obj) { + return obj != null && obj.constructor != null && + typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) +}; + +var own = {}.hasOwnProperty; + +var unistUtilStringifyPosition = stringify; + +function stringify(value) { + // Nothing. + if (!value || typeof value !== 'object') { + return '' + } + + // Node. + if (own.call(value, 'position') || own.call(value, 'type')) { + return position(value.position) + } + + // Position. + if (own.call(value, 'start') || own.call(value, 'end')) { + return position(value) + } + + // Point. + if (own.call(value, 'line') || own.call(value, 'column')) { + return point(value) + } + + // ? + return '' +} + +function point(point) { + if (!point || typeof point !== 'object') { + point = {}; + } + + return index(point.line) + ':' + index(point.column) +} + +function position(pos) { + if (!pos || typeof pos !== 'object') { + pos = {}; + } + + return point(pos.start) + '-' + point(pos.end) +} + +function index(value) { + return value && typeof value === 'number' ? value : 1 +} + +var vfileMessage = VMessage; + +// Inherit from `Error#`. +function VMessagePrototype() {} +VMessagePrototype.prototype = Error.prototype; +VMessage.prototype = new VMessagePrototype(); + +// Message properties. +var proto = VMessage.prototype; + +proto.file = ''; +proto.name = ''; +proto.reason = ''; +proto.message = ''; +proto.stack = ''; +proto.fatal = null; +proto.column = null; +proto.line = null; + +// Construct a new VMessage. +// +// Note: We cannot invoke `Error` on the created context, as that adds readonly +// `line` and `column` attributes on Safari 9, thus throwing and failing the +// data. +function VMessage(reason, position, origin) { + var parts; + var range; + var location; + + if (typeof position === 'string') { + origin = position; + position = null; + } + + parts = parseOrigin(origin); + range = unistUtilStringifyPosition(position) || '1:1'; + + location = { + start: {line: null, column: null}, + end: {line: null, column: null} + }; + + // Node. + if (position && position.position) { + position = position.position; + } + + if (position) { + // Position. + if (position.start) { + location = position; + position = position.start; + } else { + // Point. + location.start = position; + } + } + + if (reason.stack) { + this.stack = reason.stack; + reason = reason.message; + } + + this.message = reason; + this.name = range; + this.reason = reason; + this.line = position ? position.line : null; + this.column = position ? position.column : null; + this.location = location; + this.source = parts[0]; + this.ruleId = parts[1]; +} + +function parseOrigin(origin) { + var result = [null, null]; + var index; + + if (typeof origin === 'string') { + index = origin.indexOf(':'); + + if (index === -1) { + result[1] = origin; + } else { + result[0] = origin.slice(0, index); + result[1] = origin.slice(index + 1); + } + } + + return result +} + +function replaceExt(npath, ext) { + if (typeof npath !== 'string') { + return npath; + } + + if (npath.length === 0) { + return npath; + } + + var nFileName = path$1.basename(npath, path$1.extname(npath)) + ext; + return path$1.join(path$1.dirname(npath), nFileName); +} + +var replaceExt_1 = replaceExt; + +var core$1 = VFile; + +var own$1 = {}.hasOwnProperty; +var proto$1 = VFile.prototype; + +// Order of setting (least specific to most), we need this because otherwise +// `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a +// stem can be set. +var order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']; + +proto$1.toString = toString$1; + +// Access full path (`~/index.min.js`). +Object.defineProperty(proto$1, 'path', {get: getPath, set: setPath}); + +// Access parent path (`~`). +Object.defineProperty(proto$1, 'dirname', {get: getDirname, set: setDirname}); + +// Access basename (`index.min.js`). +Object.defineProperty(proto$1, 'basename', {get: getBasename, set: setBasename}); + +// Access extname (`.js`). +Object.defineProperty(proto$1, 'extname', {get: getExtname, set: setExtname}); + +// Access stem (`index.min`). +Object.defineProperty(proto$1, 'stem', {get: getStem, set: setStem}); + +// Construct a new file. +function VFile(options) { + var prop; + var index; + var length; + + if (!options) { + options = {}; + } else if (typeof options === 'string' || isBuffer(options)) { + options = {contents: options}; + } else if ('message' in options && 'messages' in options) { + return options + } + + if (!(this instanceof VFile)) { + return new VFile(options) + } + + this.data = {}; + this.messages = []; + this.history = []; + this.cwd = process.cwd(); + + // Set path related properties in the correct order. + index = -1; + length = order.length; + + while (++index < length) { + prop = order[index]; + + if (own$1.call(options, prop)) { + this[prop] = options[prop]; + } + } + + // Set non-path related properties. + for (prop in options) { + if (order.indexOf(prop) === -1) { + this[prop] = options[prop]; + } + } +} + +function getPath() { + return this.history[this.history.length - 1] +} + +function setPath(path) { + assertNonEmpty(path, 'path'); + + if (path !== this.path) { + this.history.push(path); + } +} + +function getDirname() { + return typeof this.path === 'string' ? path$1.dirname(this.path) : undefined +} + +function setDirname(dirname) { + assertPath(this.path, 'dirname'); + this.path = path$1.join(dirname || '', this.basename); +} + +function getBasename() { + return typeof this.path === 'string' ? path$1.basename(this.path) : undefined +} + +function setBasename(basename) { + assertNonEmpty(basename, 'basename'); + assertPart(basename, 'basename'); + this.path = path$1.join(this.dirname || '', basename); +} + +function getExtname() { + return typeof this.path === 'string' ? path$1.extname(this.path) : undefined +} + +function setExtname(extname) { + var ext = extname || ''; + + assertPart(ext, 'extname'); + assertPath(this.path, 'extname'); + + if (ext) { + if (ext.charAt(0) !== '.') { + throw new Error('`extname` must start with `.`') + } + + if (ext.indexOf('.', 1) !== -1) { + throw new Error('`extname` cannot contain multiple dots') + } + } + + this.path = replaceExt_1(this.path, ext); +} + +function getStem() { + return typeof this.path === 'string' + ? path$1.basename(this.path, this.extname) + : undefined +} + +function setStem(stem) { + assertNonEmpty(stem, 'stem'); + assertPart(stem, 'stem'); + this.path = path$1.join(this.dirname || '', stem + (this.extname || '')); +} + +// Get the value of the file. +function toString$1(encoding) { + var value = this.contents || ''; + return isBuffer(value) ? value.toString(encoding) : String(value) +} + +// Assert that `part` is not a path (i.e., does not contain `path.sep`). +function assertPart(part, name) { + if (part.indexOf(path$1.sep) !== -1) { + throw new Error( + '`' + name + '` cannot be a path: did not expect `' + path$1.sep + '`' + ) + } +} + +// Assert that `part` is not empty. +function assertNonEmpty(part, name) { + if (!part) { + throw new Error('`' + name + '` cannot be empty') + } +} + +// Assert `path` exists. +function assertPath(path, name) { + if (!path) { + throw new Error('Setting `' + name + '` requires `path` to be set too') + } +} + +var vfile = core$1; + +var proto$2 = core$1.prototype; + +proto$2.message = message; +proto$2.info = info; +proto$2.fail = fail; + +// Create a message with `reason` at `position`. +// When an error is passed in as `reason`, copies the stack. +function message(reason, position, origin) { + var filePath = this.path; + var message = new vfileMessage(reason, position, origin); + + if (filePath) { + message.name = filePath + ':' + message.name; + message.file = filePath; + } + + message.fatal = false; + + this.messages.push(message); + + return message +} + +// Fail: creates a vmessage, associates it with the file, and throws it. +function fail() { + var message = this.message.apply(this, arguments); + + message.fatal = true; + + throw message +} + +// Info: creates a vmessage, associates it with the file, and marks the fatality +// as null. +function info() { + var message = this.message.apply(this, arguments); + + message.fatal = null; + + return message +} + +var core$2 = toVFile; + +// Create a virtual file from a description. If `options` is a string or a +// buffer, it’s used as the path. In all other cases, the options are passed +// through to `vfile()`. +function toVFile(options) { + if (typeof options === 'string' || isBuffer(options)) { + options = {path: String(options)}; + } + + return vfile(options) +} + +var read$1 = readSync; +var write = writeSync; + +// Create a virtual file and read it in, synchronously. +function readSync(description, options) { + var file = core$2(description); + file.contents = fs$1.readFileSync(path$1.resolve(file.cwd, file.path), options); + return file +} + +// Create a virtual file and write it out, synchronously. +function writeSync(description, options) { + var file = core$2(description); + fs$1.writeFileSync( + path$1.resolve(file.cwd, file.path), + file.contents || '', + options + ); + return file +} + +var sync$1 = { + read: read$1, + write: write +}; + +var read_1 = read$2; +var write_1 = write$1; + +// Create a virtual file and read it in, asynchronously. +function read$2(description, options, callback) { + var file = core$2(description); + + if (!callback && typeof options === 'function') { + callback = options; + options = null; + } + + if (!callback) { + return new Promise(executor) + } + + executor(resolve, callback); + + function resolve(result) { + callback(null, result); + } + + function executor(resolve, reject) { + var fp; + + try { + fp = path$1.resolve(file.cwd, file.path); + } catch (error) { + return reject(error) + } + + fs$1.readFile(fp, options, done); + + function done(error, res) { + if (error) { + reject(error); + } else { + file.contents = res; + resolve(file); + } + } + } +} + +// Create a virtual file and write it out, asynchronously. +function write$1(description, options, callback) { + var file = core$2(description); + + // Weird, right? Otherwise `fs` doesn’t accept it. + if (!callback && typeof options === 'function') { + callback = options; + options = undefined; + } + + if (!callback) { + return new Promise(executor) + } + + executor(resolve, callback); + + function resolve(result) { + callback(null, result); + } + + function executor(resolve, reject) { + var fp; + + try { + fp = path$1.resolve(file.cwd, file.path); + } catch (error) { + return reject(error) + } + + fs$1.writeFile(fp, file.contents || '', options, done); + + function done(error) { + if (error) { + reject(error); + } else { + resolve(file); + } + } + } +} + +var async = { + read: read_1, + write: write_1 +}; + +var fs = core$2; + +core$2.read = async.read; +core$2.readSync = sync$1.read; +core$2.write = async.write; +core$2.writeSync = sync$1.write; + +var toVfile = fs; + +var isHidden = hidden; + +function hidden(filename) { + if (typeof filename !== 'string') { + throw new Error('Expected string') + } + + return filename.charAt(0) === '.' +} + +var readdir = fs$1.readdir; +var stat = fs$1.stat; +var join$2 = path$1.join; +var relative$2 = path$1.relative; +var resolve$3 = path$1.resolve; +var basename = path$1.basename; +var extname = path$1.extname; +var magic = glob_1.hasMagic; + +var finder = find; + +// Search `patterns`, a mix of globs, paths, and files. +function find(input, options, callback) { + expand$1(input, options, done); + + function done(error, result) { + /* istanbul ignore if - glob errors are unusual. + * other errors are on the vfile results. */ + if (error) { + callback(error); + } else { + callback(null, {oneFileMode: oneFileMode(result), files: result.output}); + } + } +} + +// Expand the given glob patterns, search given and found directories, and map +// to vfiles. +function expand$1(input, options, next) { + var cwd = options.cwd; + var paths = []; + var actual = 0; + var expected = 0; + var failed; + + input.forEach(each); + + if (!expected) { + search(paths, options, done); + } + + function each(file) { + if (xIsString(file)) { + if (magic(file)) { + expected++; + glob_1(file, {cwd: cwd}, one); + } else { + // `relative` to make the paths canonical. + file = relative$2(cwd, resolve$3(cwd, file)) || '.'; + paths.push(file); + } + } else { + file.cwd = cwd; + file.path = relative$2(cwd, file.path); + file.history = [file.path]; + paths.push(file); + } + } + + function one(error, files) { + /* istanbul ignore if - Glob errors are unusual. */ + if (failed) { + return + } + + /* istanbul ignore if - Glob errors are unusual. */ + if (error) { + failed = true; + done(error); + } else { + actual++; + paths = paths.concat(files); + + if (actual === expected) { + search(paths, options, done); + } + } + } + + function done(error, files) { + /* istanbul ignore if - `search` currently does not give errors. */ + if (error) { + next(error); + } else { + next(null, {input: paths, output: files}); + } + } +} + +// Search `paths`. +function search(input, options, next) { + var cwd = options.cwd; + var silent = options.silentlyIgnore; + var nested = options.nested; + var extensions = options.extensions; + var extraIgnore = ignore().add(options.ignorePatterns); + var files = []; + var expected = 0; + var actual = 0; + + input.forEach(each); + + if (!expected) { + next(null, files); + } + + return each + + function each(file) { + var ext = xIsString(file) ? extname(file) : file.extname; + var part; + + // Normalise globs. + if (xIsString(file)) { + file = file.split('/').join(path$1.sep); + } + + part = base(file); + + if (nested && (isHidden(part) || part === 'node_modules')) { + return + } + + expected++; + + statAndIgnore(file, immutable(options, {extraIgnore: extraIgnore}), handle); + + function handle(error, result) { + var ignored = result && result.ignored; + var dir = result && result.stats && result.stats.isDirectory(); + + if (ignored && (nested || silent)) { + return one(null, []) + } + + if (!ignored && dir) { + return readdir(resolve$3(cwd, filePath(file)), directory) + } + + if ( + nested && + !dir && + extensions.length !== 0 && + extensions.indexOf(ext) === -1 + ) { + return one(null, []) + } + + file = toVfile(file); + file.cwd = cwd; + + if (ignored) { + try { + file.fail('Cannot process specified file: it’s ignored'); + } catch (error2) {} + } + + if (error && error.code === 'ENOENT') { + try { + file.fail( + error.syscall === 'stat' ? 'No such file or directory' : error + ); + } catch (error2) {} + } + + one(null, [file]); + } + + function directory(error, basenames) { + var file; + + /* istanbul ignore if - Should not happen often: the directory is `stat`ed + * first, which was ok, but reading it is not. */ + if (error) { + file = toVfile(filePath(file)); + file.cwd = cwd; + + try { + file.fail('Cannot read directory'); + } catch (error2) {} + + one(null, [file]); + } else { + search(basenames.map(concat), immutable(options, {nested: true}), one); + } + } + + // Error is never given. Always given `results`. + function one(_, results) { + /* istanbul ignore else - Always given. */ + if (results) { + files = files.concat(results); + } + + actual++; + + if (actual === expected) { + next(null, files); + } + } + + function concat(value) { + return join$2(filePath(file), value) + } + } +} + +function statAndIgnore(file, options, callback) { + var ignore = options.ignore; + var extraIgnore = options.extraIgnore; + var fp = resolve$3(options.cwd, filePath(file)); + var normal = relative$2(options.cwd, fp); + var expected = 1; + var actual = 0; + var stats; + var ignored; + + if (!file.contents) { + expected++; + stat(fp, handleStat); + } + + ignore.check(fp, handleIgnore); + + function handleStat(error, value) { + stats = value; + one(error); + } + + function handleIgnore(error, value) { + ignored = value; + one(error); + } + + function one(error) { + actual++; + + if (error) { + callback(error); + actual = -1; + } else if (actual === expected) { + callback(null, { + stats: stats, + ignored: ignored || (normal ? extraIgnore.ignores(normal) : false) + }); + } + } +} + +function base(file) { + return xIsString(file) ? basename(file) : file.basename +} + +function filePath(file) { + return xIsString(file) ? file : file.path +} + +function oneFileMode(result) { + return ( + result.output.length === 1 && + result.input.length === 1 && + result.output[0].path === result.input[0] + ) +} + +var fileSystem_1 = fileSystem; + +// Find files from the file-system. +function fileSystem(context, settings, next) { + var input = context.files; + + if (input.length === 0) { + next(); + } else { + finder( + input, + { + cwd: settings.cwd, + extensions: settings.extensions, + silentlyIgnore: settings.silentlyIgnore, + ignorePatterns: settings.ignorePatterns, + ignore: new ignore$1({ + cwd: settings.cwd, + detectIgnore: settings.detectIgnore, + ignoreName: settings.ignoreName, + ignorePath: settings.ignorePath + }) + }, + onfound + ); + } + + function onfound(error, result) { + var output = result.files; + + // Sort alphabetically. + // Everything is unique so we do not care about cases where left and right + // are equal. + output.sort(sortAlphabetically); + + // Mark as given. + // This allows outputting files, which can be pretty dangerous, so it’s + // “hidden”. + output.forEach(markAsGiven); + + context.files = output; + + // If `out` was not set, detect it based on whether one file was given. + if (settings.out === null || settings.out === undefined) { + settings.out = result.oneFileMode; + } + + next(error); + } + + function markAsGiven(file) { + file.data.unifiedEngineGiven = true; + } + + function sortAlphabetically(left, right) { + return left.path < right.path ? -1 : 1 + } +} + +var toString$2 = Object.prototype.toString; + +var isModern = ( + typeof Buffer.alloc === 'function' && + typeof Buffer.allocUnsafe === 'function' && + typeof Buffer.from === 'function' +); + +function isArrayBuffer (input) { + return toString$2.call(input).slice(8, -1) === 'ArrayBuffer' +} + +function fromArrayBuffer (obj, byteOffset, length) { + byteOffset >>>= 0; + + var maxLength = obj.byteLength - byteOffset; + + if (maxLength < 0) { + throw new RangeError("'offset' is out of bounds") + } + + if (length === undefined) { + length = maxLength; + } else { + length >>>= 0; + + if (length > maxLength) { + throw new RangeError("'length' is out of bounds") + } + } + + return isModern + ? Buffer.from(obj.slice(byteOffset, byteOffset + length)) + : new Buffer(new Uint8Array(obj.slice(byteOffset, byteOffset + length))) +} + +function fromString (string, encoding) { + if (typeof encoding !== 'string' || encoding === '') { + encoding = 'utf8'; + } + + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding') + } + + return isModern + ? Buffer.from(string, encoding) + : new Buffer(string, encoding) +} + +function bufferFrom (value, encodingOrOffset, length) { + if (typeof value === 'number') { + throw new TypeError('"value" argument must not be a number') + } + + if (isArrayBuffer(value)) { + return fromArrayBuffer(value, encodingOrOffset, length) + } + + if (typeof value === 'string') { + return fromString(value, encodingOrOffset) + } + + return isModern + ? Buffer.from(value) + : new Buffer(value) +} + +var bufferFrom_1 = bufferFrom; + +var typedarray = createCommonjsModule(function (module, exports) { +var undefined$1 = (void 0); // Paranoia + +// Beyond this value, index getters/setters (i.e. array[0], array[1]) are so slow to +// create, and consume so much memory, that the browser appears frozen. +var MAX_ARRAY_LENGTH = 1e5; + +// Approximations of internal ECMAScript conversion functions +var ECMAScript = (function() { + // Stash a copy in case other scripts modify these + var opts = Object.prototype.toString, + ophop = Object.prototype.hasOwnProperty; + + return { + // Class returns internal [[Class]] property, used to avoid cross-frame instanceof issues: + Class: function(v) { return opts.call(v).replace(/^\[object *|\]$/g, ''); }, + HasProperty: function(o, p) { return p in o; }, + HasOwnProperty: function(o, p) { return ophop.call(o, p); }, + IsCallable: function(o) { return typeof o === 'function'; }, + ToInt32: function(v) { return v >> 0; }, + ToUint32: function(v) { return v >>> 0; } + }; +}()); + +// Snapshot intrinsics +var LN2 = Math.LN2, + abs = Math.abs, + floor = Math.floor, + log = Math.log, + min = Math.min, + pow = Math.pow, + round = Math.round; + +// ES5: lock down object properties +function configureProperties(obj) { + if (getOwnPropNames && defineProp) { + var props = getOwnPropNames(obj), i; + for (i = 0; i < props.length; i += 1) { + defineProp(obj, props[i], { + value: obj[props[i]], + writable: false, + enumerable: false, + configurable: false + }); + } + } +} + +// emulate ES5 getter/setter API using legacy APIs +// http://blogs.msdn.com/b/ie/archive/2010/09/07/transitioning-existing-code-to-the-es5-getter-setter-apis.aspx +// (second clause tests for Object.defineProperty() in IE<9 that only supports extending DOM prototypes, but +// note that IE<9 does not support __defineGetter__ or __defineSetter__ so it just renders the method harmless) +var defineProp; +if (Object.defineProperty && (function() { + try { + Object.defineProperty({}, 'x', {}); + return true; + } catch (e) { + return false; + } + })()) { + defineProp = Object.defineProperty; +} else { + defineProp = function(o, p, desc) { + if (!o === Object(o)) throw new TypeError("Object.defineProperty called on non-object"); + if (ECMAScript.HasProperty(desc, 'get') && Object.prototype.__defineGetter__) { Object.prototype.__defineGetter__.call(o, p, desc.get); } + if (ECMAScript.HasProperty(desc, 'set') && Object.prototype.__defineSetter__) { Object.prototype.__defineSetter__.call(o, p, desc.set); } + if (ECMAScript.HasProperty(desc, 'value')) { o[p] = desc.value; } + return o; + }; +} + +var getOwnPropNames = Object.getOwnPropertyNames || function (o) { + if (o !== Object(o)) throw new TypeError("Object.getOwnPropertyNames called on non-object"); + var props = [], p; + for (p in o) { + if (ECMAScript.HasOwnProperty(o, p)) { + props.push(p); + } + } + return props; +}; + +// ES5: Make obj[index] an alias for obj._getter(index)/obj._setter(index, value) +// for index in 0 ... obj.length +function makeArrayAccessors(obj) { + if (!defineProp) { return; } + + if (obj.length > MAX_ARRAY_LENGTH) throw new RangeError("Array too large for polyfill"); + + function makeArrayAccessor(index) { + defineProp(obj, index, { + 'get': function() { return obj._getter(index); }, + 'set': function(v) { obj._setter(index, v); }, + enumerable: true, + configurable: false + }); + } + + var i; + for (i = 0; i < obj.length; i += 1) { + makeArrayAccessor(i); + } +} + +// Internal conversion functions: +// pack() - take a number (interpreted as Type), output a byte array +// unpack() - take a byte array, output a Type-like number + +function as_signed(value, bits) { var s = 32 - bits; return (value << s) >> s; } +function as_unsigned(value, bits) { var s = 32 - bits; return (value << s) >>> s; } + +function packI8(n) { return [n & 0xff]; } +function unpackI8(bytes) { return as_signed(bytes[0], 8); } + +function packU8(n) { return [n & 0xff]; } +function unpackU8(bytes) { return as_unsigned(bytes[0], 8); } + +function packU8Clamped(n) { n = round(Number(n)); return [n < 0 ? 0 : n > 0xff ? 0xff : n & 0xff]; } + +function packI16(n) { return [(n >> 8) & 0xff, n & 0xff]; } +function unpackI16(bytes) { return as_signed(bytes[0] << 8 | bytes[1], 16); } + +function packU16(n) { return [(n >> 8) & 0xff, n & 0xff]; } +function unpackU16(bytes) { return as_unsigned(bytes[0] << 8 | bytes[1], 16); } + +function packI32(n) { return [(n >> 24) & 0xff, (n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff]; } +function unpackI32(bytes) { return as_signed(bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], 32); } + +function packU32(n) { return [(n >> 24) & 0xff, (n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff]; } +function unpackU32(bytes) { return as_unsigned(bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], 32); } + +function packIEEE754(v, ebits, fbits) { + + var bias = (1 << (ebits - 1)) - 1, + s, e, f, i, bits, str, bytes; + + function roundToEven(n) { + var w = floor(n), f = n - w; + if (f < 0.5) + return w; + if (f > 0.5) + return w + 1; + return w % 2 ? w + 1 : w; + } + + // Compute sign, exponent, fraction + if (v !== v) { + // NaN + // http://dev.w3.org/2006/webapi/WebIDL/#es-type-mapping + e = (1 << ebits) - 1; f = pow(2, fbits - 1); s = 0; + } else if (v === Infinity || v === -Infinity) { + e = (1 << ebits) - 1; f = 0; s = (v < 0) ? 1 : 0; + } else if (v === 0) { + e = 0; f = 0; s = (1 / v === -Infinity) ? 1 : 0; + } else { + s = v < 0; + v = abs(v); + + if (v >= pow(2, 1 - bias)) { + e = min(floor(log(v) / LN2), 1023); + f = roundToEven(v / pow(2, e) * pow(2, fbits)); + if (f / pow(2, fbits) >= 2) { + e = e + 1; + f = 1; + } + if (e > bias) { + // Overflow + e = (1 << ebits) - 1; + f = 0; + } else { + // Normalized + e = e + bias; + f = f - pow(2, fbits); + } + } else { + // Denormalized + e = 0; + f = roundToEven(v / pow(2, 1 - bias - fbits)); + } + } + + // Pack sign, exponent, fraction + bits = []; + for (i = fbits; i; i -= 1) { bits.push(f % 2 ? 1 : 0); f = floor(f / 2); } + for (i = ebits; i; i -= 1) { bits.push(e % 2 ? 1 : 0); e = floor(e / 2); } + bits.push(s ? 1 : 0); + bits.reverse(); + str = bits.join(''); + + // Bits to bytes + bytes = []; + while (str.length) { + bytes.push(parseInt(str.substring(0, 8), 2)); + str = str.substring(8); + } + return bytes; +} + +function unpackIEEE754(bytes, ebits, fbits) { + + // Bytes to bits + var bits = [], i, j, b, str, + bias, s, e, f; + + for (i = bytes.length; i; i -= 1) { + b = bytes[i - 1]; + for (j = 8; j; j -= 1) { + bits.push(b % 2 ? 1 : 0); b = b >> 1; + } + } + bits.reverse(); + str = bits.join(''); + + // Unpack sign, exponent, fraction + bias = (1 << (ebits - 1)) - 1; + s = parseInt(str.substring(0, 1), 2) ? -1 : 1; + e = parseInt(str.substring(1, 1 + ebits), 2); + f = parseInt(str.substring(1 + ebits), 2); + + // Produce number + if (e === (1 << ebits) - 1) { + return f !== 0 ? NaN : s * Infinity; + } else if (e > 0) { + // Normalized + return s * pow(2, e - bias) * (1 + f / pow(2, fbits)); + } else if (f !== 0) { + // Denormalized + return s * pow(2, -(bias - 1)) * (f / pow(2, fbits)); + } else { + return s < 0 ? -0 : 0; + } +} + +function unpackF64(b) { return unpackIEEE754(b, 11, 52); } +function packF64(v) { return packIEEE754(v, 11, 52); } +function unpackF32(b) { return unpackIEEE754(b, 8, 23); } +function packF32(v) { return packIEEE754(v, 8, 23); } + + +// +// 3 The ArrayBuffer Type +// + +(function() { + + /** @constructor */ + var ArrayBuffer = function ArrayBuffer(length) { + length = ECMAScript.ToInt32(length); + if (length < 0) throw new RangeError('ArrayBuffer size is not a small enough positive integer'); + + this.byteLength = length; + this._bytes = []; + this._bytes.length = length; + + var i; + for (i = 0; i < this.byteLength; i += 1) { + this._bytes[i] = 0; + } + + configureProperties(this); + }; + + exports.ArrayBuffer = exports.ArrayBuffer || ArrayBuffer; + + // + // 4 The ArrayBufferView Type + // + + // NOTE: this constructor is not exported + /** @constructor */ + var ArrayBufferView = function ArrayBufferView() { + //this.buffer = null; + //this.byteOffset = 0; + //this.byteLength = 0; + }; + + // + // 5 The Typed Array View Types + // + + function makeConstructor(bytesPerElement, pack, unpack) { + // Each TypedArray type requires a distinct constructor instance with + // identical logic, which this produces. + + var ctor; + ctor = function(buffer, byteOffset, length) { + var array, sequence, i, s; + + if (!arguments.length || typeof arguments[0] === 'number') { + // Constructor(unsigned long length) + this.length = ECMAScript.ToInt32(arguments[0]); + if (length < 0) throw new RangeError('ArrayBufferView size is not a small enough positive integer'); + + this.byteLength = this.length * this.BYTES_PER_ELEMENT; + this.buffer = new ArrayBuffer(this.byteLength); + this.byteOffset = 0; + } else if (typeof arguments[0] === 'object' && arguments[0].constructor === ctor) { + // Constructor(TypedArray array) + array = arguments[0]; + + this.length = array.length; + this.byteLength = this.length * this.BYTES_PER_ELEMENT; + this.buffer = new ArrayBuffer(this.byteLength); + this.byteOffset = 0; + + for (i = 0; i < this.length; i += 1) { + this._setter(i, array._getter(i)); + } + } else if (typeof arguments[0] === 'object' && + !(arguments[0] instanceof ArrayBuffer || ECMAScript.Class(arguments[0]) === 'ArrayBuffer')) { + // Constructor(sequence array) + sequence = arguments[0]; + + this.length = ECMAScript.ToUint32(sequence.length); + this.byteLength = this.length * this.BYTES_PER_ELEMENT; + this.buffer = new ArrayBuffer(this.byteLength); + this.byteOffset = 0; + + for (i = 0; i < this.length; i += 1) { + s = sequence[i]; + this._setter(i, Number(s)); + } + } else if (typeof arguments[0] === 'object' && + (arguments[0] instanceof ArrayBuffer || ECMAScript.Class(arguments[0]) === 'ArrayBuffer')) { + // Constructor(ArrayBuffer buffer, + // optional unsigned long byteOffset, optional unsigned long length) + this.buffer = buffer; + + this.byteOffset = ECMAScript.ToUint32(byteOffset); + if (this.byteOffset > this.buffer.byteLength) { + throw new RangeError("byteOffset out of range"); + } + + if (this.byteOffset % this.BYTES_PER_ELEMENT) { + // The given byteOffset must be a multiple of the element + // size of the specific type, otherwise an exception is raised. + throw new RangeError("ArrayBuffer length minus the byteOffset is not a multiple of the element size."); + } + + if (arguments.length < 3) { + this.byteLength = this.buffer.byteLength - this.byteOffset; + + if (this.byteLength % this.BYTES_PER_ELEMENT) { + throw new RangeError("length of buffer minus byteOffset not a multiple of the element size"); + } + this.length = this.byteLength / this.BYTES_PER_ELEMENT; + } else { + this.length = ECMAScript.ToUint32(length); + this.byteLength = this.length * this.BYTES_PER_ELEMENT; + } + + if ((this.byteOffset + this.byteLength) > this.buffer.byteLength) { + throw new RangeError("byteOffset and length reference an area beyond the end of the buffer"); + } + } else { + throw new TypeError("Unexpected argument type(s)"); + } + + this.constructor = ctor; + + configureProperties(this); + makeArrayAccessors(this); + }; + + ctor.prototype = new ArrayBufferView(); + ctor.prototype.BYTES_PER_ELEMENT = bytesPerElement; + ctor.prototype._pack = pack; + ctor.prototype._unpack = unpack; + ctor.BYTES_PER_ELEMENT = bytesPerElement; + + // getter type (unsigned long index); + ctor.prototype._getter = function(index) { + if (arguments.length < 1) throw new SyntaxError("Not enough arguments"); + + index = ECMAScript.ToUint32(index); + if (index >= this.length) { + return undefined$1; + } + + var bytes = [], i, o; + for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; + i < this.BYTES_PER_ELEMENT; + i += 1, o += 1) { + bytes.push(this.buffer._bytes[o]); + } + return this._unpack(bytes); + }; + + // NONSTANDARD: convenience alias for getter: type get(unsigned long index); + ctor.prototype.get = ctor.prototype._getter; + + // setter void (unsigned long index, type value); + ctor.prototype._setter = function(index, value) { + if (arguments.length < 2) throw new SyntaxError("Not enough arguments"); + + index = ECMAScript.ToUint32(index); + if (index >= this.length) { + return undefined$1; + } + + var bytes = this._pack(value), i, o; + for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; + i < this.BYTES_PER_ELEMENT; + i += 1, o += 1) { + this.buffer._bytes[o] = bytes[i]; + } + }; + + // void set(TypedArray array, optional unsigned long offset); + // void set(sequence array, optional unsigned long offset); + ctor.prototype.set = function(index, value) { + if (arguments.length < 1) throw new SyntaxError("Not enough arguments"); + var array, sequence, offset, len, + i, s, d, + byteOffset, byteLength, tmp; + + if (typeof arguments[0] === 'object' && arguments[0].constructor === this.constructor) { + // void set(TypedArray array, optional unsigned long offset); + array = arguments[0]; + offset = ECMAScript.ToUint32(arguments[1]); + + if (offset + array.length > this.length) { + throw new RangeError("Offset plus length of array is out of range"); + } + + byteOffset = this.byteOffset + offset * this.BYTES_PER_ELEMENT; + byteLength = array.length * this.BYTES_PER_ELEMENT; + + if (array.buffer === this.buffer) { + tmp = []; + for (i = 0, s = array.byteOffset; i < byteLength; i += 1, s += 1) { + tmp[i] = array.buffer._bytes[s]; + } + for (i = 0, d = byteOffset; i < byteLength; i += 1, d += 1) { + this.buffer._bytes[d] = tmp[i]; + } + } else { + for (i = 0, s = array.byteOffset, d = byteOffset; + i < byteLength; i += 1, s += 1, d += 1) { + this.buffer._bytes[d] = array.buffer._bytes[s]; + } + } + } else if (typeof arguments[0] === 'object' && typeof arguments[0].length !== 'undefined') { + // void set(sequence array, optional unsigned long offset); + sequence = arguments[0]; + len = ECMAScript.ToUint32(sequence.length); + offset = ECMAScript.ToUint32(arguments[1]); + + if (offset + len > this.length) { + throw new RangeError("Offset plus length of array is out of range"); + } + + for (i = 0; i < len; i += 1) { + s = sequence[i]; + this._setter(offset + i, Number(s)); + } + } else { + throw new TypeError("Unexpected argument type(s)"); + } + }; + + // TypedArray subarray(long begin, optional long end); + ctor.prototype.subarray = function(start, end) { + function clamp(v, min, max) { return v < min ? min : v > max ? max : v; } + + start = ECMAScript.ToInt32(start); + end = ECMAScript.ToInt32(end); + + if (arguments.length < 1) { start = 0; } + if (arguments.length < 2) { end = this.length; } + + if (start < 0) { start = this.length + start; } + if (end < 0) { end = this.length + end; } + + start = clamp(start, 0, this.length); + end = clamp(end, 0, this.length); + + var len = end - start; + if (len < 0) { + len = 0; + } + + return new this.constructor( + this.buffer, this.byteOffset + start * this.BYTES_PER_ELEMENT, len); + }; + + return ctor; + } + + var Int8Array = makeConstructor(1, packI8, unpackI8); + var Uint8Array = makeConstructor(1, packU8, unpackU8); + var Uint8ClampedArray = makeConstructor(1, packU8Clamped, unpackU8); + var Int16Array = makeConstructor(2, packI16, unpackI16); + var Uint16Array = makeConstructor(2, packU16, unpackU16); + var Int32Array = makeConstructor(4, packI32, unpackI32); + var Uint32Array = makeConstructor(4, packU32, unpackU32); + var Float32Array = makeConstructor(4, packF32, unpackF32); + var Float64Array = makeConstructor(8, packF64, unpackF64); + + exports.Int8Array = exports.Int8Array || Int8Array; + exports.Uint8Array = exports.Uint8Array || Uint8Array; + exports.Uint8ClampedArray = exports.Uint8ClampedArray || Uint8ClampedArray; + exports.Int16Array = exports.Int16Array || Int16Array; + exports.Uint16Array = exports.Uint16Array || Uint16Array; + exports.Int32Array = exports.Int32Array || Int32Array; + exports.Uint32Array = exports.Uint32Array || Uint32Array; + exports.Float32Array = exports.Float32Array || Float32Array; + exports.Float64Array = exports.Float64Array || Float64Array; +}()); + +// +// 6 The DataView View Type +// + +(function() { + function r(array, index) { + return ECMAScript.IsCallable(array.get) ? array.get(index) : array[index]; + } + + var IS_BIG_ENDIAN = (function() { + var u16array = new(exports.Uint16Array)([0x1234]), + u8array = new(exports.Uint8Array)(u16array.buffer); + return r(u8array, 0) === 0x12; + }()); + + // Constructor(ArrayBuffer buffer, + // optional unsigned long byteOffset, + // optional unsigned long byteLength) + /** @constructor */ + var DataView = function DataView(buffer, byteOffset, byteLength) { + if (arguments.length === 0) { + buffer = new exports.ArrayBuffer(0); + } else if (!(buffer instanceof exports.ArrayBuffer || ECMAScript.Class(buffer) === 'ArrayBuffer')) { + throw new TypeError("TypeError"); + } + + this.buffer = buffer || new exports.ArrayBuffer(0); + + this.byteOffset = ECMAScript.ToUint32(byteOffset); + if (this.byteOffset > this.buffer.byteLength) { + throw new RangeError("byteOffset out of range"); + } + + if (arguments.length < 3) { + this.byteLength = this.buffer.byteLength - this.byteOffset; + } else { + this.byteLength = ECMAScript.ToUint32(byteLength); + } + + if ((this.byteOffset + this.byteLength) > this.buffer.byteLength) { + throw new RangeError("byteOffset and length reference an area beyond the end of the buffer"); + } + + configureProperties(this); + }; + + function makeGetter(arrayType) { + return function(byteOffset, littleEndian) { + + byteOffset = ECMAScript.ToUint32(byteOffset); + + if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength) { + throw new RangeError("Array index out of range"); + } + byteOffset += this.byteOffset; + + var uint8Array = new exports.Uint8Array(this.buffer, byteOffset, arrayType.BYTES_PER_ELEMENT), + bytes = [], i; + for (i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1) { + bytes.push(r(uint8Array, i)); + } + + if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN)) { + bytes.reverse(); + } + + return r(new arrayType(new exports.Uint8Array(bytes).buffer), 0); + }; + } + + DataView.prototype.getUint8 = makeGetter(exports.Uint8Array); + DataView.prototype.getInt8 = makeGetter(exports.Int8Array); + DataView.prototype.getUint16 = makeGetter(exports.Uint16Array); + DataView.prototype.getInt16 = makeGetter(exports.Int16Array); + DataView.prototype.getUint32 = makeGetter(exports.Uint32Array); + DataView.prototype.getInt32 = makeGetter(exports.Int32Array); + DataView.prototype.getFloat32 = makeGetter(exports.Float32Array); + DataView.prototype.getFloat64 = makeGetter(exports.Float64Array); + + function makeSetter(arrayType) { + return function(byteOffset, value, littleEndian) { + + byteOffset = ECMAScript.ToUint32(byteOffset); + if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength) { + throw new RangeError("Array index out of range"); + } + + // Get bytes + var typeArray = new arrayType([value]), + byteArray = new exports.Uint8Array(typeArray.buffer), + bytes = [], i, byteView; + + for (i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1) { + bytes.push(r(byteArray, i)); + } + + // Flip if necessary + if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN)) { + bytes.reverse(); + } + + // Write them + byteView = new exports.Uint8Array(this.buffer, byteOffset, arrayType.BYTES_PER_ELEMENT); + byteView.set(bytes); + }; + } + + DataView.prototype.setUint8 = makeSetter(exports.Uint8Array); + DataView.prototype.setInt8 = makeSetter(exports.Int8Array); + DataView.prototype.setUint16 = makeSetter(exports.Uint16Array); + DataView.prototype.setInt16 = makeSetter(exports.Int16Array); + DataView.prototype.setUint32 = makeSetter(exports.Uint32Array); + DataView.prototype.setInt32 = makeSetter(exports.Int32Array); + DataView.prototype.setFloat32 = makeSetter(exports.Float32Array); + DataView.prototype.setFloat64 = makeSetter(exports.Float64Array); + + exports.DataView = exports.DataView || DataView; + +}()); +}); +var typedarray_1 = typedarray.ArrayBuffer; +var typedarray_2 = typedarray.Int8Array; +var typedarray_3 = typedarray.Uint8Array; +var typedarray_4 = typedarray.Uint8ClampedArray; +var typedarray_5 = typedarray.Int16Array; +var typedarray_6 = typedarray.Uint16Array; +var typedarray_7 = typedarray.Int32Array; +var typedarray_8 = typedarray.Uint32Array; +var typedarray_9 = typedarray.Float32Array; +var typedarray_10 = typedarray.Float64Array; +var typedarray_11 = typedarray.DataView; + +var Writable = stream.Writable; + + + +if (typeof Uint8Array === 'undefined') { + var U8 = typedarray.Uint8Array; +} else { + var U8 = Uint8Array; +} + +function ConcatStream(opts, cb) { + if (!(this instanceof ConcatStream)) return new ConcatStream(opts, cb) + + if (typeof opts === 'function') { + cb = opts; + opts = {}; + } + if (!opts) opts = {}; + + var encoding = opts.encoding; + var shouldInferEncoding = false; + + if (!encoding) { + shouldInferEncoding = true; + } else { + encoding = String(encoding).toLowerCase(); + if (encoding === 'u8' || encoding === 'uint8') { + encoding = 'uint8array'; + } + } + + Writable.call(this, { objectMode: true }); + + this.encoding = encoding; + this.shouldInferEncoding = shouldInferEncoding; + + if (cb) this.on('finish', function () { cb(this.getBody()); }); + this.body = []; +} + +var concatStream = ConcatStream; +inherits(ConcatStream, Writable); + +ConcatStream.prototype._write = function(chunk, enc, next) { + this.body.push(chunk); + next(); +}; + +ConcatStream.prototype.inferEncoding = function (buff) { + var firstBuffer = buff === undefined ? this.body[0] : buff; + if (Buffer.isBuffer(firstBuffer)) return 'buffer' + if (typeof Uint8Array !== 'undefined' && firstBuffer instanceof Uint8Array) return 'uint8array' + if (Array.isArray(firstBuffer)) return 'array' + if (typeof firstBuffer === 'string') return 'string' + if (Object.prototype.toString.call(firstBuffer) === "[object Object]") return 'object' + return 'buffer' +}; + +ConcatStream.prototype.getBody = function () { + if (!this.encoding && this.body.length === 0) return [] + if (this.shouldInferEncoding) this.encoding = this.inferEncoding(); + if (this.encoding === 'array') return arrayConcat(this.body) + if (this.encoding === 'string') return stringConcat(this.body) + if (this.encoding === 'buffer') return bufferConcat(this.body) + if (this.encoding === 'uint8array') return u8Concat(this.body) + return this.body +}; + +function isArrayish$1 (arr) { + return /Array\]$/.test(Object.prototype.toString.call(arr)) +} + +function isBufferish (p) { + return typeof p === 'string' || isArrayish$1(p) || (p && typeof p.subarray === 'function') +} + +function stringConcat (parts) { + var strings = []; + for (var i = 0; i < parts.length; i++) { + var p = parts[i]; + if (typeof p === 'string') { + strings.push(p); + } else if (Buffer.isBuffer(p)) { + strings.push(p); + } else if (isBufferish(p)) { + strings.push(bufferFrom_1(p)); + } else { + strings.push(bufferFrom_1(String(p))); + } + } + if (Buffer.isBuffer(parts[0])) { + strings = Buffer.concat(strings); + strings = strings.toString('utf8'); + } else { + strings = strings.join(''); + } + return strings +} + +function bufferConcat (parts) { + var bufs = []; + for (var i = 0; i < parts.length; i++) { + var p = parts[i]; + if (Buffer.isBuffer(p)) { + bufs.push(p); + } else if (isBufferish(p)) { + bufs.push(bufferFrom_1(p)); + } else { + bufs.push(bufferFrom_1(String(p))); + } + } + return Buffer.concat(bufs) +} + +function arrayConcat (parts) { + var res = []; + for (var i = 0; i < parts.length; i++) { + res.push.apply(res, parts[i]); + } + return res +} + +function u8Concat (parts) { + var len = 0; + for (var i = 0; i < parts.length; i++) { + if (typeof parts[i] === 'string') { + parts[i] = bufferFrom_1(parts[i]); + } + len += parts[i].length; + } + var u8 = new U8(len); + for (var i = 0, offset = 0; i < parts.length; i++) { + var part = parts[i]; + for (var j = 0; j < part.length; j++) { + u8[offset++] = part[j]; + } + } + return u8 +} + +var debug$1 = src('unified-engine:file-set-pipeline:stdin'); + + + +var stdin_1 = stdin; + +function stdin(context, settings, next) { + var streamIn = settings.streamIn; + var error; + + if (settings.files && settings.files.length !== 0) { + debug$1('Ignoring `streamIn`'); + + if (settings.filePath) { + error = new Error( + 'Do not pass both `--file-path` and real files.\nDid you mean to pass stdin instead of files?' + ); + } + + next(error); + + return + } + + if (streamIn.isTTY) { + debug$1('Cannot read from `tty` stream'); + next(new Error('No input')); + + return + } + + debug$1('Reading from `streamIn`'); + + streamIn.pipe(concatStream({encoding: 'string'}, read)); + + function read(value) { + var file = toVfile(settings.filePath || undefined); + + debug$1('Read from `streamIn`'); + + file.cwd = settings.cwd; + file.contents = value; + file.data.unifiedEngineGiven = true; + file.data.unifiedEngineStreamIn = true; + + context.files = [file]; + + // If `out` was not set, set `out`. + settings.out = + settings.out === null || settings.out === undefined ? true : settings.out; + + next(); + } +} + +var inherits$1 = util$1.inherits; + + + + +var fileSet = FileSet; + +// FileSet constructor. +function FileSet() { + var self = this; + + self.files = []; + self.origins = []; + + self.expected = 0; + self.actual = 0; + + self.pipeline = trough_1(); + self.plugins = []; + + events.init.call(self); + + self.on('one', one.bind(self)); +} + +// Events. +inherits$1(FileSet, events.EventEmitter); + +// Expose methods. +FileSet.prototype.valueOf = valueOf; +FileSet.prototype.use = use; +FileSet.prototype.add = add; + +// Create an array representation of `fileSet`. +function valueOf() { + return this.files +} + +// Attach middleware to the pipeline on `fileSet`. +function use(plugin) { + var self = this; + var pipeline = self.pipeline; + var duplicate = false; + + if (plugin && plugin.pluginId) { + duplicate = self.plugins.some(matches); + } + + if (!duplicate && self.plugins.indexOf(plugin) !== -1) { + duplicate = true; + } + + if (!duplicate) { + self.plugins.push(plugin); + pipeline.use(plugin); + } + + return self + + function matches(fn) { + return fn.pluginId === plugin.pluginId + } +} + +// Add a file to be processed. +// Ignores duplicate files (based on the `filePath` at time of addition). +// Only runs `file-pipeline` on files which have not `failed` before addition. +function add(file) { + var self = this; + var origin; + + if (xIsString(file)) { + file = toVfile(file); + } + + // Prevent files from being added multiple times. + origin = file.history[0]; + + if (self.origins.indexOf(origin) !== -1) { + return self + } + + self.origins.push(origin); + + // Add. + self.valueOf().push(file); + self.expected++; + + // Force an asynchronous operation. + // This ensures that files which fall through the file pipeline immediately + // (such as, when already fatally failed) still queue up correctly. + setImmediate(add); + + return self + + function add() { + self.emit('add', file); + } +} + +// Utility invoked when a single file has completed it's pipeline, triggering +// `done` when all files are complete. +function one() { + var self = this; + + self.actual++; + + if (self.actual >= self.expected) { + self.emit('done'); + } +} + +var debug$2 = src('unified-engine:file-pipeline:read'); + + +var read_1$1 = read$3; + +var resolve$4 = path$1.resolve; +var readFile = fs$1.readFile; + +// Fill a file with its contents when not already filled. +function read$3(context, file, fileSet, next) { + var filePath = file.path; + + if (file.contents || file.data.unifiedEngineStreamIn) { + debug$2('Not reading file `%s` with contents', filePath); + next(); + } else if (vfileStatistics(file).fatal) { + debug$2('Not reading failed file `%s`', filePath); + next(); + } else { + filePath = resolve$4(context.cwd, filePath); + + debug$2('Reading `%s` in `%s`', filePath, 'utf8'); + readFile(filePath, 'utf8', onread); + } + + function onread(error, contents) { + debug$2('Read `%s` (error: %s)', filePath, error); + + file.contents = contents || ''; + + next(error); + } +} + +var fnName = function (fn) { + if (typeof fn !== 'function') { + throw new TypeError('Expected a function'); + } + + return fn.displayName || fn.name || (/function ([^\(]+)?\(/.exec(fn.toString()) || [])[1] || null; +}; + +/** + * Has own property. + * + * @type {Function} + */ + +var has = Object.prototype.hasOwnProperty; + +/** + * To string. + * + * @type {Function} + */ + +var toString$3 = Object.prototype.toString; + +/** + * Test whether a value is "empty". + * + * @param {Mixed} val + * @return {Boolean} + */ + +function isEmpty(val) { + // Null and Undefined... + if (val == null) return true + + // Booleans... + if ('boolean' == typeof val) return false + + // Numbers... + if ('number' == typeof val) return val === 0 + + // Strings... + if ('string' == typeof val) return val.length === 0 + + // Functions... + if ('function' == typeof val) return val.length === 0 + + // Arrays... + if (Array.isArray(val)) return val.length === 0 + + // Errors... + if (val instanceof Error) return val.message === '' + + // Objects... + if (val.toString == toString$3) { + switch (val.toString()) { + + // Maps, Sets, Files and Errors... + case '[object File]': + case '[object Map]': + case '[object Set]': { + return val.size === 0 + } + + // Plain objects... + case '[object Object]': { + for (var key in val) { + if (has.call(val, key)) return false + } + + return true + } + } + } + + // Anything else... + return false +} + +/** + * Export `isEmpty`. + * + * @type {Function} + */ + +var lib = isEmpty; + +var debug$3 = src('unified-engine:file-pipeline:configure'); + + + + + +var configure_1$1 = configure$1; + +// Collect configuration for a file based on the context. +function configure$1(context, file, fileSet, next) { + var config = context.configuration; + var processor = context.processor; + + if (vfileStatistics(file).fatal) { + return next() + } + + config.load(file.path, handleConfiguration); + + function handleConfiguration(error, configuration) { + var plugins; + var options; + var plugin; + var length; + var index; + var name; + + if (error) { + return next(error) + } + + // Store configuration on the context object. + debug$3('Using settings `%j`', configuration.settings); + processor.data('settings', configuration.settings); + + plugins = configuration.plugins; + length = plugins.length; + index = -1; + + debug$3('Using `%d` plugins', length); + + while (++index < length) { + plugin = plugins[index][0]; + options = plugins[index][1]; + + if (options === false) { + continue + } + + // Allow for default arguments in es2020. + if (options === null || (isObject$1(options) && lib(options))) { + options = undefined; + } + + name = fnName(plugin) || 'function'; + debug$3('Using plugin `%s`, with options `%j`', name, options); + + try { + processor.use(plugin, options, fileSet); + } catch (error2) { + /* istanbul ignore next - Should not happen anymore! */ + return next(error2) + } + } + + next(); + } +} + +var debug$4 = src('unified-engine:file-pipeline:parse'); + + + +var parse_1 = parse$3; + +// Fill a file with a tree. +function parse$3(context, file) { + var message; + + if (vfileStatistics(file).fatal) { + return + } + + if (context.treeIn) { + debug$4('Not parsing already parsed document'); + + try { + context.tree = parseJson$1(file.toString()); + } catch (error) { + message = file.message( + new Error('Cannot read file as JSON\n' + error.message) + ); + message.fatal = true; + } + + // Add the preferred extension to ensure the file, when compiled, is correctly + // recognised. + // Only add it if there is a path — not if the file is for example stdin. + if (file.path) { + file.extname = context.extensions[0]; + } + + file.contents = ''; + + return + } + + debug$4('Parsing `%s`', file.path); + + context.tree = context.processor.parse(file); + + debug$4('Parsed document'); +} + +var debug$5 = src('unified-engine:file-pipeline:transform'); + + +var transform_1 = transform; + +// Transform the tree associated with a file with configured plugins. +function transform(context, file, fileSet, next) { + if (vfileStatistics(file).fatal) { + next(); + } else { + debug$5('Transforming document `%s`', file.path); + context.processor.run(context.tree, file, onrun); + } + + function onrun(error, node) { + debug$5('Transformed document (error: %s)', error); + context.tree = node; + next(error); + } +} + +var debug$6 = src('unified-engine:file-pipeline:queue'); + + +var queue_1 = queue; + +// Queue all files which came this far. +// When the last file gets here, run the file-set pipeline and flush the queue. +function queue(context, file, fileSet, next) { + var origin = file.history[0]; + var map = fileSet.complete; + var complete = true; + + if (!map) { + map = {}; + fileSet.complete = map; + } + + debug$6('Queueing `%s`', origin); + + map[origin] = next; + + fileSet.valueOf().forEach(each); + + if (!complete) { + debug$6('Not flushing: some files cannot be flushed'); + return + } + + fileSet.complete = {}; + + fileSet.pipeline.run(fileSet, done); + + function each(file) { + var key = file.history[0]; + + if (vfileStatistics(file).fatal) { + return + } + + if (typeof map[key] === 'function') { + debug$6('`%s` can be flushed', key); + } else { + debug$6('Interupting flush: `%s` is not finished', key); + complete = false; + } + } + + function done(error) { + debug$6('Flushing: all files can be flushed'); + + // Flush. + for (origin in map) { + map[origin](error); + } + } +} + +// Detect color support. +var color = true; + +try { + color = 'inspect' in util$1; +} catch (error) { + /* istanbul ignore next - browser */ + color = false; +} + +var unistUtilInspect = color ? inspect : /* istanbul ignore next */ noColor; + +inspect.color = inspect; +noColor.color = inspect; +inspect.noColor = noColor; +noColor.noColor = noColor; + +var dim = ansiColor(2, 22); +var yellow = ansiColor(33, 39); +var green = ansiColor(32, 39); + +// Define ANSII color removal functionality. +var colorExpression = new RegExp( + '(?:' + + '(?:\\u001b\\[)|' + + '\\u009b' + + ')' + + '(?:' + + '(?:[0-9]{1,3})?(?:(?:;[0-9]{0,3})*)?[A-M|f-m]' + + ')|' + + '\\u001b[A-M]', + 'g' +); + +// Standard keys defined by unist: https://github.com/syntax-tree/unist. +// We don’t ignore `data` though. +var ignore$2 = ['type', 'value', 'children', 'position']; + +// Inspects a node, without using color. +function noColor(node, pad) { + return stripColor(inspect(node, pad)) +} + +// Inspects a node. +function inspect(node, pad) { + var result; + var children; + var index; + var length; + + if (node && Boolean(node.length) && typeof node !== 'string') { + length = node.length; + index = -1; + result = []; + + while (++index < length) { + result[index] = inspect(node[index]); + } + + return result.join('\n') + } + + if (!node || !node.type) { + return String(node) + } + + result = [formatNode(node)]; + children = node.children; + length = children && children.length; + index = -1; + + if (!length) { + return result[0] + } + + if (!pad || typeof pad === 'number') { + pad = ''; + } + + while (++index < length) { + node = children[index]; + + if (index === length - 1) { + result.push(formatNesting(pad + '└─ ') + inspect(node, pad + ' ')); + } else { + result.push(formatNesting(pad + '├─ ') + inspect(node, pad + '│ ')); + } + } + + return result.join('\n') +} + +// Colored nesting formatter. +function formatNesting(value) { + return dim(value) +} + +// Compile a single position. +function compile(pos) { + var values = []; + + if (!pos) { + return null + } + + values = [[pos.line || 1, pos.column || 1].join(':')]; + + if ('offset' in pos) { + values.push(String(pos.offset || 0)); + } + + return values +} + +// Compile a location. +function stringify$1(start, end) { + var values = []; + var positions = []; + var offsets = []; + + add(start); + add(end); + + if (positions.length !== 0) { + values.push(positions.join('-')); + } + + if (offsets.length !== 0) { + values.push(offsets.join('-')); + } + + return values.join(', ') + + // Add a position. + function add(position) { + var tuple = compile(position); + + if (tuple) { + positions.push(tuple[0]); + + if (tuple[1]) { + offsets.push(tuple[1]); + } + } + } +} + +// Colored node formatter. +function formatNode(node) { + var log = node.type; + var location = node.position || {}; + var position = stringify$1(location.start, location.end); + var key; + var values = []; + var value; + + if (node.children) { + log += dim('[') + yellow(node.children.length) + dim(']'); + } else if (typeof node.value === 'string') { + log += dim(': ') + green(JSON.stringify(node.value)); + } + + if (position) { + log += ' (' + position + ')'; + } + + for (key in node) { + value = node[key]; + + if ( + ignore$2.indexOf(key) !== -1 || + value === null || + value === undefined || + (typeof value === 'object' && lib(value)) + ) { + continue + } + + values.push('[' + key + '=' + JSON.stringify(value) + ']'); + } + + if (values.length !== 0) { + log += ' ' + values.join(''); + } + + return log +} + +// Remove ANSI colour from `value`. +function stripColor(value) { + return value.replace(colorExpression, '') +} + +// Factory to wrap values in ANSI colours. +function ansiColor(open, close) { + return color + + function color(value) { + return '\u001B[' + open + 'm' + value + '\u001B[' + close + 'm' + } +} + +var debug$7 = src('unified-engine:file-pipeline:stringify'); + + + +var stringify_1 = stringify$2; + +// Stringify a tree. +function stringify$2(context, file) { + var processor = context.processor; + var tree = context.tree; + var value; + + if (vfileStatistics(file).fatal) { + debug$7('Not compiling failed document'); + return + } + + if (!context.output && !context.out && !context.alwaysStringify) { + debug$7('Not compiling document without output settings'); + return + } + + debug$7('Compiling `%s`', file.path); + + if (context.inspect) { + // Add a `txt` extension if there is a path. + if (file.path) { + file.extname = '.txt'; + } + + value = unistUtilInspect[context.color ? 'color' : 'noColor'](tree) + '\n'; + } else if (context.treeOut) { + // Add a `json` extension to ensure the file is correctly seen as JSON. + // Only add it if there is a path — not if the file is for example stdin. + if (file.path) { + file.extname = '.json'; + } + + // Add the line feed to create a valid UNIX file. + value = JSON.stringify(tree, null, 2) + '\n'; + } else { + value = processor.stringify(tree, file); + } + + file.contents = value; + + debug$7('Compiled document'); +} + +var debug$8 = src('unified-engine:file-pipeline:copy'); + + +var copy_1 = copy; + +var stat$1 = fs$1.stat; +var dirname$2 = path$1.dirname; +var resolve$5 = path$1.resolve; +var relative$3 = path$1.relative; + +// Move a file. +function copy(context, file, fileSet, next) { + var output = context.output; + var multi = fileSet.expected > 1; + var outpath = output; + var currentPath = file.path; + + if (!xIsString(outpath)) { + debug$8('Not copying'); + return next() + } + + outpath = resolve$5(context.cwd, outpath); + + debug$8('Copying `%s`', currentPath); + + stat$1(outpath, onstatfile); + + function onstatfile(error, stats) { + if (error) { + if ( + error.code !== 'ENOENT' || + output.charAt(output.length - 1) === path$1.sep + ) { + return next( + new Error('Cannot read output directory. Error:\n' + error.message) + ) + } + + stat$1(dirname$2(outpath), onstatparent); + } else { + done(stats.isDirectory()); + } + } + + // This is either given an error, or the parent exists which is a directory, + // but we should keep the basename of the given file. + function onstatparent(error) { + if (error) { + next(new Error('Cannot read parent directory. Error:\n' + error.message)); + } else { + done(false); + } + } + + function done(directory) { + if (!directory && multi) { + return next( + new Error('Cannot write multiple files to single output: ' + outpath) + ) + } + + file[directory ? 'dirname' : 'path'] = relative$3(file.cwd, outpath); + + debug$8('Copying document from %s to %s', currentPath, file.path); + + next(); + } +} + +var debug$9 = src('unified-engine:file-pipeline:stdout'); + + +var stdout_1 = stdout; + +// Write a virtual file to `streamOut`. +// Ignored when `output` is given, more than one file was processed, or `out` +// is false. +function stdout(context, file, fileSet, next) { + if (!file.data.unifiedEngineGiven) { + debug$9('Ignoring programmatically added file'); + next(); + } else if (vfileStatistics(file).fatal || context.output || !context.out) { + debug$9('Ignoring writing to `streamOut`'); + next(); + } else { + debug$9('Writing document to `streamOut`'); + context.streamOut.write(file.toString(), next); + } +} + +var debug$a = src('unified-engine:file-pipeline:file-system'); + + +var fileSystem_1$1 = fileSystem$1; + +var writeFile = fs$1.writeFile; +var resolve$6 = path$1.resolve; + +// Write a virtual file to the file-system. +// Ignored when `output` is not given. +function fileSystem$1(context, file, fileSet, next) { + var destinationPath; + + if (!context.output) { + debug$a('Ignoring writing to file-system'); + return next() + } + + if (!file.data.unifiedEngineGiven) { + debug$a('Ignoring programmatically added file'); + return next() + } + + destinationPath = file.path; + + if (!destinationPath) { + debug$a('Cannot write file without a `destinationPath`'); + return next(new Error('Cannot write file without an output path')) + } + + if (vfileStatistics(file).fatal) { + debug$a('Cannot write file with a fatal error'); + return next() + } + + destinationPath = resolve$6(context.cwd, destinationPath); + debug$a('Writing document to `%s`', destinationPath); + + file.stored = true; + + writeFile(destinationPath, file.toString(), next); +} + +// This pipeline ensures each of the pipes always runs: even if the read pipe +// fails, queue and write run. +var filePipeline = trough_1() + .use( + chunk( + trough_1() + .use(read_1$1) + .use(configure_1$1) + .use(parse_1) + .use(transform_1) + ) + ) + .use(chunk(trough_1().use(queue_1))) + .use( + chunk( + trough_1() + .use(stringify_1) + .use(copy_1) + .use(stdout_1) + .use(fileSystem_1$1) + ) + ); + +// Factory to run a pipe. +// Wraps a pipe to trigger an error on the `file` in `context`, but still call +// `next`. +function chunk(pipe) { + return run + + // Run the bound bound pipe and handles any errors. + function run(context, file, fileSet, next) { + pipe.run(context, file, fileSet, one); + + function one(error) { + var messages = file.messages; + var index; + + if (error) { + index = messages.indexOf(error); + + if (index === -1) { + error = file.message(error); + index = messages.length - 1; + } + + messages[index].fatal = true; + } + + next(); + } + } +} + +var transform_1$1 = transform$1; + +// Transform all files. +function transform$1(context, settings, next) { + var fileSet$1 = new fileSet(); + + context.fileSet = fileSet$1; + + fileSet$1.on('add', add).on('done', next); + + if (context.files.length === 0) { + next(); + } else { + context.files.forEach(fileSet$1.add, fileSet$1); + } + + function add(file) { + filePipeline.run( + { + configuration: context.configuration, + processor: settings.processor(), + cwd: settings.cwd, + extensions: settings.extensions, + pluginPrefix: settings.pluginPrefix, + treeIn: settings.treeIn, + treeOut: settings.treeOut, + inspect: settings.inspect, + color: settings.color, + out: settings.out, + output: settings.output, + streamOut: settings.streamOut, + alwaysStringify: settings.alwaysStringify + }, + file, + fileSet$1, + done + ); + + function done(error) { + /* istanbul ignore next - Does not occur as all failures in `filePipeLine` + * are failed on each file. + * Still, just to ensure things work in the future, we add an extra + * check. */ + if (error) { + error = file.message(error); + error.fatal = true; + } + + fileSet$1.emit('one', file); + } + } +} + +const {env: env$1} = process; + +let forceColor$1; +if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false') || + hasFlag('color=never')) { + forceColor$1 = 0; +} else if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + forceColor$1 = 1; +} +if ('FORCE_COLOR' in env$1) { + if (env$1.FORCE_COLOR === true || env$1.FORCE_COLOR === 'true') { + forceColor$1 = 1; + } else if (env$1.FORCE_COLOR === false || env$1.FORCE_COLOR === 'false') { + forceColor$1 = 0; + } else { + forceColor$1 = env$1.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env$1.FORCE_COLOR, 10), 3); + } +} + +function translateLevel$1(level) { + if (level === 0) { + return false; + } + + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} + +function supportsColor$1(stream) { + if (forceColor$1 === 0) { + return 0; + } + + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } + + if (hasFlag('color=256')) { + return 2; + } + + if (stream && !stream.isTTY && forceColor$1 === undefined) { + return 0; + } + + const min = forceColor$1 || 0; + + if (env$1.TERM === 'dumb') { + return min; + } + + if (process.platform === 'win32') { + // Node.js 7.5.0 is the first version of Node.js to include a patch to + // libuv that enables 256 color output on Windows. Anything earlier and it + // won't work. However, here we target Node.js 8 at minimum as it is an LTS + // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows + // release that supports 256 colors. Windows 10 build 14931 is the first release + // that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + if ( + Number(process.versions.node.split('.')[0]) >= 8 && + Number(osRelease[0]) >= 10 && + Number(osRelease[2]) >= 10586 + ) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + + return 1; + } + + if ('CI' in env$1) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env$1) || env$1.CI_NAME === 'codeship') { + return 1; + } + + return min; + } + + if ('TEAMCITY_VERSION' in env$1) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env$1.TEAMCITY_VERSION) ? 1 : 0; + } + + if (env$1.COLORTERM === 'truecolor') { + return 3; + } + + if ('TERM_PROGRAM' in env$1) { + const version = parseInt((env$1.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + + switch (env$1.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + case 'Apple_Terminal': + return 2; + // No default + } + } + + if (/-256(color)?$/i.test(env$1.TERM)) { + return 2; + } + + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env$1.TERM)) { + return 1; + } + + if ('COLORTERM' in env$1) { + return 1; + } + + return min; +} + +function getSupportLevel$1(stream) { + const level = supportsColor$1(stream); + return translateLevel$1(level); +} + +var supportsColor_1$1 = { + supportsColor: getSupportLevel$1, + stdout: getSupportLevel$1(process.stdout), + stderr: getSupportLevel$1(process.stderr) +}; + +var ansiRegex = ({onlyFirst = false} = {}) => { + const pattern = [ + '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', + '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))' + ].join('|'); + + return new RegExp(pattern, onlyFirst ? undefined : 'g'); +}; + +var stripAnsi = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string; + +/* eslint-disable yoda */ + +const isFullwidthCodePoint = codePoint => { + if (Number.isNaN(codePoint)) { + return false; + } + + // Code points are derived from: + // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt + if ( + codePoint >= 0x1100 && ( + codePoint <= 0x115F || // Hangul Jamo + codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET + codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET + // CJK Radicals Supplement .. Enclosed CJK Letters and Months + (0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) || + // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A + (0x3250 <= codePoint && codePoint <= 0x4DBF) || + // CJK Unified Ideographs .. Yi Radicals + (0x4E00 <= codePoint && codePoint <= 0xA4C6) || + // Hangul Jamo Extended-A + (0xA960 <= codePoint && codePoint <= 0xA97C) || + // Hangul Syllables + (0xAC00 <= codePoint && codePoint <= 0xD7A3) || + // CJK Compatibility Ideographs + (0xF900 <= codePoint && codePoint <= 0xFAFF) || + // Vertical Forms + (0xFE10 <= codePoint && codePoint <= 0xFE19) || + // CJK Compatibility Forms .. Small Form Variants + (0xFE30 <= codePoint && codePoint <= 0xFE6B) || + // Halfwidth and Fullwidth Forms + (0xFF01 <= codePoint && codePoint <= 0xFF60) || + (0xFFE0 <= codePoint && codePoint <= 0xFFE6) || + // Kana Supplement + (0x1B000 <= codePoint && codePoint <= 0x1B001) || + // Enclosed Ideographic Supplement + (0x1F200 <= codePoint && codePoint <= 0x1F251) || + // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane + (0x20000 <= codePoint && codePoint <= 0x3FFFD) + ) + ) { + return true; + } + + return false; +}; + +var isFullwidthCodePoint_1 = isFullwidthCodePoint; +var default_1 = isFullwidthCodePoint; +isFullwidthCodePoint_1.default = default_1; + +var emojiRegex = function () { + // https://mths.be/emoji + return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; +}; + +const stringWidth = string => { + string = string.replace(emojiRegex(), ' '); + + if (typeof string !== 'string' || string.length === 0) { + return 0; + } + + string = stripAnsi(string); + + let width = 0; + + for (let i = 0; i < string.length; i++) { + const code = string.codePointAt(i); + + // Ignore control characters + if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) { + continue; + } + + // Ignore combining characters + if (code >= 0x300 && code <= 0x36F) { + continue; + } + + // Surrogates + if (code > 0xFFFF) { + i++; + } + + width += isFullwidthCodePoint_1(code) ? 2 : 1; + } + + return width; +}; + +var stringWidth_1 = stringWidth; +// TODO: remove this in the next major version +var default_1$1 = stringWidth; +stringWidth_1.default = default_1$1; + +/*! + * repeat-string + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */ + +/** + * Results cache + */ + +var res = ''; +var cache; + +/** + * Expose `repeat` + */ + +var repeatString = repeat$1; + +/** + * Repeat the given `string` the specified `number` + * of times. + * + * **Example:** + * + * ```js + * var repeat = require('repeat-string'); + * repeat('A', 5); + * //=> AAAAA + * ``` + * + * @param {String} `string` The string to repeat + * @param {Number} `number` The number of times to repeat the string + * @return {String} Repeated string + * @api public + */ + +function repeat$1(str, num) { + if (typeof str !== 'string') { + throw new TypeError('expected a string'); + } + + // cover common, quick use cases + if (num === 1) return str; + if (num === 2) return str + str; + + var max = str.length * num; + if (cache !== str || typeof cache === 'undefined') { + cache = str; + res = ''; + } else if (res.length >= max) { + return res.substr(0, max); + } + + while (max > res.length && num > 1) { + if (num & 1) { + res += str; + } + + num >>= 1; + str += str; + } + + res += str; + res = res.substr(0, max); + return res; +} + +var vfileSort = sort; + +var severities = { + true: 2, + false: 1, + null: 0, + undefined: 0 +}; + +function sort(file) { + file.messages.sort(comparator); + return file +} + +function comparator(a, b) { + return ( + check$1(a, b, 'line') || + check$1(a, b, 'column') || + severities[b.fatal] - severities[a.fatal] || + compare(a, b, 'source') || + compare(a, b, 'ruleId') || + compare(a, b, 'reason') || + 0 + ) +} + +function check$1(a, b, property) { + return (a[property] || 0) - (b[property] || 0) +} + +function compare(a, b, property) { + return (a[property] || '').localeCompare(b[property] || '') +} + +var supported = supportsColor_1$1.stderr.hasBasic; + + + + + + +var vfileReporter = reporter; + +// Check which characters should be used. +var windows$1 = process.platform === 'win32'; +// `log-symbols` without chalk: +/* istanbul ignore next - Windows. */ +var chars = windows$1 ? {error: '×', warning: '‼'} : {error: '✖', warning: '⚠'}; + +// Match trailing white-space. +var trailing = /\s*$/; + +// Default filename. +var defaultName = ''; + +var noop = {open: '', close: ''}; + +var colors = { + underline: {open: '\u001B[4m', close: '\u001B[24m'}, + red: {open: '\u001B[31m', close: '\u001B[39m'}, + yellow: {open: '\u001B[33m', close: '\u001B[39m'}, + green: {open: '\u001B[32m', close: '\u001B[39m'} +}; + +var noops = { + underline: noop, + red: noop, + yellow: noop, + green: noop +}; + +var labels = { + true: 'error', + false: 'warning', + null: 'info', + undefined: 'info' +}; + +// Report a file’s messages. +function reporter(files, options) { + var settings = options || {}; + var one; + + if (!files) { + return '' + } + + // Error. + if ('name' in files && 'message' in files) { + return String(files.stack || files) + } + + // One file. + if (!('length' in files)) { + one = true; + files = [files]; + } + + return compile$1(parse$4(filter$1(files, settings), settings), one, settings) +} + +function filter$1(files, options) { + var result = []; + var length = files.length; + var index = -1; + var file; + + if (!options.quiet && !options.silent) { + return files.concat() + } + + while (++index < length) { + file = files[index]; + + if (applicable(file, options).length !== 0) { + result.push(file); + } + } + + return result +} + +function parse$4(files, options) { + var length = files.length; + var index = -1; + var rows = []; + var all = []; + var locationSize = 0; + var labelSize = 0; + var reasonSize = 0; + var ruleIdSize = 0; + var file; + var destination; + var origin; + var messages; + var offset; + var count; + var message; + var loc; + var reason; + var label; + var id; + + while (++index < length) { + file = files[index]; + destination = file.path; + origin = file.history[0] || destination; + messages = vfileSort({messages: applicable(file, options)}).messages; + + if (rows.length !== 0 && rows[rows.length - 1].type !== 'header') { + rows.push({type: 'separator'}); + } + + rows.push({ + type: 'header', + origin: origin, + destination: destination, + name: origin || options.defaultName || defaultName, + stored: Boolean(file.stored), + moved: Boolean(file.stored && destination !== origin), + stats: vfileStatistics(messages) + }); + + offset = -1; + count = messages.length; + + while (++offset < count) { + message = messages[offset]; + id = message.ruleId || ''; + reason = message.stack || message.message; + loc = message.location; + loc = unistUtilStringifyPosition(loc.end.line && loc.end.column ? loc : loc.start); + + if (options.verbose && message.note) { + reason += '\n' + message.note; + } + + label = labels[message.fatal]; + + rows.push({ + location: loc, + label: label, + reason: reason, + ruleId: id, + source: message.source + }); + + locationSize = Math.max(realLength(loc), locationSize); + labelSize = Math.max(realLength(label), labelSize); + reasonSize = Math.max(realLength(reason), reasonSize); + ruleIdSize = Math.max(realLength(id), ruleIdSize); + } + + all = all.concat(messages); + } + + return { + rows: rows, + statistics: vfileStatistics(all), + location: locationSize, + label: labelSize, + reason: reasonSize, + ruleId: ruleIdSize + } +} + +// eslint-disable-next-line complexity +function compile$1(map, one, options) { + var enabled = options.color; + var all = map.statistics; + var rows = map.rows; + var length = rows.length; + var index = -1; + var lines = []; + var row; + var line; + var style; + var color; + var reason; + var rest; + var position; + + if (enabled === null || enabled === undefined) { + enabled = supported; + } + + style = enabled ? colors : noops; + + while (++index < length) { + row = rows[index]; + + if (row.type === 'separator') { + lines.push(''); + } else if (row.type === 'header') { + if (one && !options.defaultName && !row.origin) { + line = ''; + } else { + color = + style[row.stats.fatal ? 'red' : row.stats.total ? 'yellow' : 'green']; + line = + style.underline.open + + color.open + + row.name + + color.close + + style.underline.close; + line += row.moved ? ' > ' + row.destination : ''; + } + + if (!row.stats.total) { + line += line ? ': ' : ''; + + if (row.stored) { + line += style.yellow.open + 'written' + style.yellow.close; + } else { + line += 'no issues found'; + } + } + + if (line) { + lines.push(line); + } + } else { + color = style[row.label === 'error' ? 'red' : 'yellow']; + + reason = row.reason; + rest = ''; + position = reason.indexOf('\n'); + + if (position !== -1) { + rest = reason.slice(position); + reason = reason.slice(0, position); + } + + lines.push( + [ + '', + padLeft(row.location, map.location), + padRight(color.open + row.label + color.close, map.label), + padRight(reason, map.reason), + padRight(row.ruleId, map.ruleId), + row.source || '' + ] + .join(' ') + .replace(trailing, '') + rest + ); + } + } + + if (all.fatal || all.warn) { + line = []; + + if (all.fatal) { + line.push( + [ + style.red.open + chars.error + style.red.close, + all.fatal, + plural$1(labels.true, all.fatal) + ].join(' ') + ); + } + + if (all.warn) { + line.push( + [ + style.yellow.open + chars.warning + style.yellow.close, + all.warn, + plural$1(labels.false, all.warn) + ].join(' ') + ); + } + + line = line.join(', '); + + if (all.total !== all.fatal && all.total !== all.warn) { + line = all.total + ' messages (' + line + ')'; + } + + lines.push('', line); + } + + return lines.join('\n') +} + +function applicable(file, options) { + var messages = file.messages; + var length = messages.length; + var index = -1; + var result = []; + + if (options.silent) { + while (++index < length) { + if (messages[index].fatal) { + result.push(messages[index]); + } + } + } else { + result = messages.concat(); + } + + return result +} + +// Get the length of `value`, ignoring ANSI sequences. +function realLength(value) { + var length = value.indexOf('\n'); + return stringWidth_1(length === -1 ? value : value.slice(0, length)) +} + +// Pad `value` on the left. +function padLeft(value, minimum) { + return repeatString(' ', minimum - realLength(value)) + value +} + +// Pad `value` on the right. +function padRight(value, minimum) { + return value + repeatString(' ', minimum - realLength(value)) +} + +function plural$1(value, count) { + return count === 1 ? value : value + 's' +} + +var log_1 = log; + +var prefix$1 = 'vfile-reporter'; + +function log(context, settings, next) { + var reporter = settings.reporter || vfileReporter; + var diagnostics; + + if (xIsString(reporter)) { + try { + reporter = loadPlugin_1(reporter, {cwd: settings.cwd, prefix: prefix$1}); + } catch (error) { + next(new Error('Could not find reporter `' + reporter + '`')); + return + } + } + + diagnostics = reporter( + context.files.filter(given), + immutable(settings.reporterOptions, { + quiet: settings.quiet, + silent: settings.silent, + color: settings.color + }) + ); + + if (diagnostics) { + if (diagnostics.charAt(diagnostics.length - 1) !== '\n') { + diagnostics += '\n'; + } + + settings.streamError.write(diagnostics, next); + } else { + next(); + } +} + +function given(file) { + return file.data.unifiedEngineGiven +} + +var fileSetPipeline = trough_1() + .use(configure_1) + .use(fileSystem_1) + .use(stdin_1) + .use(transform_1$1) + .use(log_1); + +var PassThrough = stream.PassThrough; + + + +var lib$1 = run; + +// Run the file set pipeline once. +// `callback` is invoked with a fatal error, or with a status code (`0` on +// success, `1` on failure). +function run(options, callback) { + var settings = {}; + var stdin = new PassThrough(); + var tree; + var detectConfig; + var hasConfig; + var detectIgnore; + var hasIgnore; + + try { + stdin = process.stdin; + } catch (error) { + // Obscure bug in Node (seen on Windows). + // See: , + // . + } + + if (!callback) { + throw new Error('Missing `callback`') + } + + if (!options || !options.processor) { + return next(new Error('Missing `processor`')) + } + + // Processor. + settings.processor = options.processor; + + // Path to run as. + settings.cwd = options.cwd || process.cwd(); + + // Input. + settings.files = options.files || []; + settings.extensions = (options.extensions || []).map(extension); + + settings.filePath = options.filePath || null; + settings.streamIn = options.streamIn || stdin; + + // Output. + settings.streamOut = options.streamOut || process.stdout; + settings.streamError = options.streamError || process.stderr; + settings.alwaysStringify = options.alwaysStringify; + settings.output = options.output; + settings.out = options.out; + + // Null overwrites config settings, `undefined` does not. + if (settings.output === null || settings.output === undefined) { + settings.output = undefined; + } + + if (settings.output && settings.out) { + return next(new Error('Cannot accept both `output` and `out`')) + } + + // Process phase management. + tree = options.tree || false; + + settings.treeIn = options.treeIn; + settings.treeOut = options.treeOut; + settings.inspect = options.inspect; + + if (settings.treeIn === null || settings.treeIn === undefined) { + settings.treeIn = tree; + } + + if (settings.treeOut === null || settings.treeOut === undefined) { + settings.treeOut = tree; + } + + // Configuration. + detectConfig = options.detectConfig; + hasConfig = Boolean(options.rcName || options.packageField); + + if (detectConfig && !hasConfig) { + return next( + new Error('Missing `rcName` or `packageField` with `detectConfig`') + ) + } + + settings.detectConfig = + detectConfig === null || detectConfig === undefined + ? hasConfig + : detectConfig; + settings.rcName = options.rcName || null; + settings.rcPath = options.rcPath || null; + settings.packageField = options.packageField || null; + settings.settings = options.settings || {}; + settings.configTransform = options.configTransform; + settings.defaultConfig = options.defaultConfig; + + // Ignore. + detectIgnore = options.detectIgnore; + hasIgnore = Boolean(options.ignoreName); + + settings.detectIgnore = + detectIgnore === null || detectIgnore === undefined + ? hasIgnore + : detectIgnore; + settings.ignoreName = options.ignoreName || null; + settings.ignorePath = options.ignorePath || null; + settings.ignorePatterns = options.ignorePatterns || []; + settings.silentlyIgnore = Boolean(options.silentlyIgnore); + + if (detectIgnore && !hasIgnore) { + return next(new Error('Missing `ignoreName` with `detectIgnore`')) + } + + // Plugins. + settings.pluginPrefix = options.pluginPrefix || null; + settings.plugins = options.plugins || {}; + + // Reporting. + settings.reporter = options.reporter || null; + settings.reporterOptions = options.reporterOptions || null; + settings.color = options.color || false; + settings.silent = options.silent || false; + settings.quiet = options.quiet || false; + settings.frail = options.frail || false; + + // Process. + fileSetPipeline.run({files: options.files || []}, settings, next); + + function next(error, context) { + var stats = vfileStatistics((context || {}).files); + var failed = Boolean( + settings.frail ? stats.fatal || stats.warn : stats.fatal + ); + + if (error) { + callback(error); + } else { + callback(null, failed ? 1 : 0, context); + } + } +} + +function extension(ext) { + return ext.charAt(0) === '.' ? ext : '.' + ext +} + +var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; + +var escapeStringRegexp = function (str) { + if (typeof str !== 'string') { + throw new TypeError('Expected a string'); + } + + return str.replace(matchOperatorsRe, '\\$&'); +}; + +var colorName = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] +}; + +var conversions = createCommonjsModule(function (module) { +/* MIT license */ + + +// NOTE: conversions should only return primitive values (i.e. arrays, or +// values that give correct `typeof` results). +// do not use box values types (i.e. Number(), String(), etc.) + +var reverseKeywords = {}; +for (var key in colorName) { + if (colorName.hasOwnProperty(key)) { + reverseKeywords[colorName[key]] = key; + } +} + +var convert = module.exports = { + rgb: {channels: 3, labels: 'rgb'}, + hsl: {channels: 3, labels: 'hsl'}, + hsv: {channels: 3, labels: 'hsv'}, + hwb: {channels: 3, labels: 'hwb'}, + cmyk: {channels: 4, labels: 'cmyk'}, + xyz: {channels: 3, labels: 'xyz'}, + lab: {channels: 3, labels: 'lab'}, + lch: {channels: 3, labels: 'lch'}, + hex: {channels: 1, labels: ['hex']}, + keyword: {channels: 1, labels: ['keyword']}, + ansi16: {channels: 1, labels: ['ansi16']}, + ansi256: {channels: 1, labels: ['ansi256']}, + hcg: {channels: 3, labels: ['h', 'c', 'g']}, + apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, + gray: {channels: 1, labels: ['gray']} +}; + +// hide .channels and .labels properties +for (var model in convert) { + if (convert.hasOwnProperty(model)) { + if (!('channels' in convert[model])) { + throw new Error('missing channels property: ' + model); + } + + if (!('labels' in convert[model])) { + throw new Error('missing channel labels property: ' + model); + } + + if (convert[model].labels.length !== convert[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); + } + + var channels = convert[model].channels; + var labels = convert[model].labels; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], 'channels', {value: channels}); + Object.defineProperty(convert[model], 'labels', {value: labels}); + } +} + +convert.rgb.hsl = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var min = Math.min(r, g, b); + var max = Math.max(r, g, b); + var delta = max - min; + var h; + var s; + var l; + + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } + + h = Math.min(h * 60, 360); + + if (h < 0) { + h += 360; + } + + l = (min + max) / 2; + + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } + + return [h, s * 100, l * 100]; +}; + +convert.rgb.hsv = function (rgb) { + var rdif; + var gdif; + var bdif; + var h; + var s; + + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var v = Math.max(r, g, b); + var diff = v - Math.min(r, g, b); + var diffc = function (c) { + return (v - c) / 6 / diff + 1 / 2; + }; + + if (diff === 0) { + h = s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = (1 / 3) + rdif - bdif; + } else if (b === v) { + h = (2 / 3) + gdif - rdif; + } + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } + + return [ + h * 360, + s * 100, + v * 100 + ]; +}; + +convert.rgb.hwb = function (rgb) { + var r = rgb[0]; + var g = rgb[1]; + var b = rgb[2]; + var h = convert.rgb.hsl(rgb)[0]; + var w = 1 / 255 * Math.min(r, Math.min(g, b)); + + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + + return [h, w * 100, b * 100]; +}; + +convert.rgb.cmyk = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var c; + var m; + var y; + var k; + + k = Math.min(1 - r, 1 - g, 1 - b); + c = (1 - r - k) / (1 - k) || 0; + m = (1 - g - k) / (1 - k) || 0; + y = (1 - b - k) / (1 - k) || 0; + + return [c * 100, m * 100, y * 100, k * 100]; +}; + +/** + * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + * */ +function comparativeDistance(x, y) { + return ( + Math.pow(x[0] - y[0], 2) + + Math.pow(x[1] - y[1], 2) + + Math.pow(x[2] - y[2], 2) + ); +} + +convert.rgb.keyword = function (rgb) { + var reversed = reverseKeywords[rgb]; + if (reversed) { + return reversed; + } + + var currentClosestDistance = Infinity; + var currentClosestKeyword; + + for (var keyword in colorName) { + if (colorName.hasOwnProperty(keyword)) { + var value = colorName[keyword]; + + // Compute comparative distance + var distance = comparativeDistance(rgb, value); + + // Check if its less, if so set as closest + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + } + + return currentClosestKeyword; +}; + +convert.keyword.rgb = function (keyword) { + return colorName[keyword]; +}; + +convert.rgb.xyz = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + + // assume sRGB + r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92); + g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92); + b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92); + + var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); + var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); + var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); + + return [x * 100, y * 100, z * 100]; +}; + +convert.rgb.lab = function (rgb) { + var xyz = convert.rgb.xyz(rgb); + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + + x /= 95.047; + y /= 100; + z /= 108.883; + + x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); + + l = (116 * y) - 16; + a = 500 * (x - y); + b = 200 * (y - z); + + return [l, a, b]; +}; + +convert.hsl.rgb = function (hsl) { + var h = hsl[0] / 360; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var t1; + var t2; + var t3; + var rgb; + var val; + + if (s === 0) { + val = l * 255; + return [val, val, val]; + } + + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } + + t1 = 2 * l - t2; + + rgb = [0, 0, 0]; + for (var i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + if (t3 < 0) { + t3++; + } + if (t3 > 1) { + t3--; + } + + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } + + rgb[i] = val * 255; + } + + return rgb; +}; + +convert.hsl.hsv = function (hsl) { + var h = hsl[0]; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var smin = s; + var lmin = Math.max(l, 0.01); + var sv; + var v; + + l *= 2; + s *= (l <= 1) ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (l + s) / 2; + sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); + + return [h, sv * 100, v * 100]; +}; + +convert.hsv.rgb = function (hsv) { + var h = hsv[0] / 60; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var hi = Math.floor(h) % 6; + + var f = h - Math.floor(h); + var p = 255 * v * (1 - s); + var q = 255 * v * (1 - (s * f)); + var t = 255 * v * (1 - (s * (1 - f))); + v *= 255; + + switch (hi) { + case 0: + return [v, t, p]; + case 1: + return [q, v, p]; + case 2: + return [p, v, t]; + case 3: + return [p, q, v]; + case 4: + return [t, p, v]; + case 5: + return [v, p, q]; + } +}; + +convert.hsv.hsl = function (hsv) { + var h = hsv[0]; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var vmin = Math.max(v, 0.01); + var lmin; + var sl; + var l; + + l = (2 - s) * v; + lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= (lmin <= 1) ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + + return [h, sl * 100, l * 100]; +}; + +// http://dev.w3.org/csswg/css-color/#hwb-to-rgb +convert.hwb.rgb = function (hwb) { + var h = hwb[0] / 360; + var wh = hwb[1] / 100; + var bl = hwb[2] / 100; + var ratio = wh + bl; + var i; + var v; + var f; + var n; + + // wh + bl cant be > 1 + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + + i = Math.floor(6 * h); + v = 1 - bl; + f = 6 * h - i; + + if ((i & 0x01) !== 0) { + f = 1 - f; + } + + n = wh + f * (v - wh); // linear interpolation + + var r; + var g; + var b; + switch (i) { + default: + case 6: + case 0: r = v; g = n; b = wh; break; + case 1: r = n; g = v; b = wh; break; + case 2: r = wh; g = v; b = n; break; + case 3: r = wh; g = n; b = v; break; + case 4: r = n; g = wh; b = v; break; + case 5: r = v; g = wh; b = n; break; + } + + return [r * 255, g * 255, b * 255]; +}; + +convert.cmyk.rgb = function (cmyk) { + var c = cmyk[0] / 100; + var m = cmyk[1] / 100; + var y = cmyk[2] / 100; + var k = cmyk[3] / 100; + var r; + var g; + var b; + + r = 1 - Math.min(1, c * (1 - k) + k); + g = 1 - Math.min(1, m * (1 - k) + k); + b = 1 - Math.min(1, y * (1 - k) + k); + + return [r * 255, g * 255, b * 255]; +}; + +convert.xyz.rgb = function (xyz) { + var x = xyz[0] / 100; + var y = xyz[1] / 100; + var z = xyz[2] / 100; + var r; + var g; + var b; + + r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); + g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); + b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); + + // assume sRGB + r = r > 0.0031308 + ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055) + : r * 12.92; + + g = g > 0.0031308 + ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055) + : g * 12.92; + + b = b > 0.0031308 + ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055) + : b * 12.92; + + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); + + return [r * 255, g * 255, b * 255]; +}; + +convert.xyz.lab = function (xyz) { + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + + x /= 95.047; + y /= 100; + z /= 108.883; + + x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); + + l = (116 * y) - 16; + a = 500 * (x - y); + b = 200 * (y - z); + + return [l, a, b]; +}; + +convert.lab.xyz = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var x; + var y; + var z; + + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + + var y2 = Math.pow(y, 3); + var x2 = Math.pow(x, 3); + var z2 = Math.pow(z, 3); + y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; + + x *= 95.047; + y *= 100; + z *= 108.883; + + return [x, y, z]; +}; + +convert.lab.lch = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var hr; + var h; + var c; + + hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + + if (h < 0) { + h += 360; + } + + c = Math.sqrt(a * a + b * b); + + return [l, c, h]; +}; + +convert.lch.lab = function (lch) { + var l = lch[0]; + var c = lch[1]; + var h = lch[2]; + var a; + var b; + var hr; + + hr = h / 360 * 2 * Math.PI; + a = c * Math.cos(hr); + b = c * Math.sin(hr); + + return [l, a, b]; +}; + +convert.rgb.ansi16 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization + + value = Math.round(value / 50); + + if (value === 0) { + return 30; + } + + var ansi = 30 + + ((Math.round(b / 255) << 2) + | (Math.round(g / 255) << 1) + | Math.round(r / 255)); + + if (value === 2) { + ansi += 60; + } + + return ansi; +}; + +convert.hsv.ansi16 = function (args) { + // optimization here; we already know the value and don't need to get + // it converted for us. + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); +}; + +convert.rgb.ansi256 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + + // we use the extended greyscale palette here, with the exception of + // black and white. normal palette only has 4 greyscale shades. + if (r === g && g === b) { + if (r < 8) { + return 16; + } + + if (r > 248) { + return 231; + } + + return Math.round(((r - 8) / 247) * 24) + 232; + } + + var ansi = 16 + + (36 * Math.round(r / 255 * 5)) + + (6 * Math.round(g / 255 * 5)) + + Math.round(b / 255 * 5); + + return ansi; +}; + +convert.ansi16.rgb = function (args) { + var color = args % 10; + + // handle greyscale + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + + color = color / 10.5 * 255; + + return [color, color, color]; + } + + var mult = (~~(args > 50) + 1) * 0.5; + var r = ((color & 1) * mult) * 255; + var g = (((color >> 1) & 1) * mult) * 255; + var b = (((color >> 2) & 1) * mult) * 255; + + return [r, g, b]; +}; + +convert.ansi256.rgb = function (args) { + // handle greyscale + if (args >= 232) { + var c = (args - 232) * 10 + 8; + return [c, c, c]; + } + + args -= 16; + + var rem; + var r = Math.floor(args / 36) / 5 * 255; + var g = Math.floor((rem = args % 36) / 6) / 5 * 255; + var b = (rem % 6) / 5 * 255; + + return [r, g, b]; +}; + +convert.rgb.hex = function (args) { + var integer = ((Math.round(args[0]) & 0xFF) << 16) + + ((Math.round(args[1]) & 0xFF) << 8) + + (Math.round(args[2]) & 0xFF); + + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert.hex.rgb = function (args) { + var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + if (!match) { + return [0, 0, 0]; + } + + var colorString = match[0]; + + if (match[0].length === 3) { + colorString = colorString.split('').map(function (char) { + return char + char; + }).join(''); + } + + var integer = parseInt(colorString, 16); + var r = (integer >> 16) & 0xFF; + var g = (integer >> 8) & 0xFF; + var b = integer & 0xFF; + + return [r, g, b]; +}; + +convert.rgb.hcg = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var max = Math.max(Math.max(r, g), b); + var min = Math.min(Math.min(r, g), b); + var chroma = (max - min); + var grayscale; + var hue; + + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + + if (chroma <= 0) { + hue = 0; + } else + if (max === r) { + hue = ((g - b) / chroma) % 6; + } else + if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma + 4; + } + + hue /= 6; + hue %= 1; + + return [hue * 360, chroma * 100, grayscale * 100]; +}; + +convert.hsl.hcg = function (hsl) { + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var c = 1; + var f = 0; + + if (l < 0.5) { + c = 2.0 * s * l; + } else { + c = 2.0 * s * (1.0 - l); + } + + if (c < 1.0) { + f = (l - 0.5 * c) / (1.0 - c); + } + + return [hsl[0], c * 100, f * 100]; +}; + +convert.hsv.hcg = function (hsv) { + var s = hsv[1] / 100; + var v = hsv[2] / 100; + + var c = s * v; + var f = 0; + + if (c < 1.0) { + f = (v - c) / (1 - c); + } + + return [hsv[0], c * 100, f * 100]; +}; + +convert.hcg.rgb = function (hcg) { + var h = hcg[0] / 360; + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + if (c === 0.0) { + return [g * 255, g * 255, g * 255]; + } + + var pure = [0, 0, 0]; + var hi = (h % 1) * 6; + var v = hi % 1; + var w = 1 - v; + var mg = 0; + + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; pure[1] = v; pure[2] = 0; break; + case 1: + pure[0] = w; pure[1] = 1; pure[2] = 0; break; + case 2: + pure[0] = 0; pure[1] = 1; pure[2] = v; break; + case 3: + pure[0] = 0; pure[1] = w; pure[2] = 1; break; + case 4: + pure[0] = v; pure[1] = 0; pure[2] = 1; break; + default: + pure[0] = 1; pure[1] = 0; pure[2] = w; + } + + mg = (1.0 - c) * g; + + return [ + (c * pure[0] + mg) * 255, + (c * pure[1] + mg) * 255, + (c * pure[2] + mg) * 255 + ]; +}; + +convert.hcg.hsv = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + var v = c + g * (1.0 - c); + var f = 0; + + if (v > 0.0) { + f = c / v; + } + + return [hcg[0], f * 100, v * 100]; +}; + +convert.hcg.hsl = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + var l = g * (1.0 - c) + 0.5 * c; + var s = 0; + + if (l > 0.0 && l < 0.5) { + s = c / (2 * l); + } else + if (l >= 0.5 && l < 1.0) { + s = c / (2 * (1 - l)); + } + + return [hcg[0], s * 100, l * 100]; +}; + +convert.hcg.hwb = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c + g * (1.0 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; +}; + +convert.hwb.hcg = function (hwb) { + var w = hwb[1] / 100; + var b = hwb[2] / 100; + var v = 1 - b; + var c = v - w; + var g = 0; + + if (c < 1) { + g = (v - c) / (1 - c); + } + + return [hwb[0], c * 100, g * 100]; +}; + +convert.apple.rgb = function (apple) { + return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; +}; + +convert.rgb.apple = function (rgb) { + return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; +}; + +convert.gray.rgb = function (args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; +}; + +convert.gray.hsl = convert.gray.hsv = function (args) { + return [0, 0, args[0]]; +}; + +convert.gray.hwb = function (gray) { + return [0, 100, gray[0]]; +}; + +convert.gray.cmyk = function (gray) { + return [0, 0, 0, gray[0]]; +}; + +convert.gray.lab = function (gray) { + return [gray[0], 0, 0]; +}; + +convert.gray.hex = function (gray) { + var val = Math.round(gray[0] / 100 * 255) & 0xFF; + var integer = (val << 16) + (val << 8) + val; + + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert.rgb.gray = function (rgb) { + var val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; +}; +}); +var conversions_1 = conversions.rgb; +var conversions_2 = conversions.hsl; +var conversions_3 = conversions.hsv; +var conversions_4 = conversions.hwb; +var conversions_5 = conversions.cmyk; +var conversions_6 = conversions.xyz; +var conversions_7 = conversions.lab; +var conversions_8 = conversions.lch; +var conversions_9 = conversions.hex; +var conversions_10 = conversions.keyword; +var conversions_11 = conversions.ansi16; +var conversions_12 = conversions.ansi256; +var conversions_13 = conversions.hcg; +var conversions_14 = conversions.apple; +var conversions_15 = conversions.gray; + +/* + this function routes a model to all other models. + + all functions that are routed have a property `.conversion` attached + to the returned synthetic function. This property is an array + of strings, each with the steps in between the 'from' and 'to' + color models (inclusive). + + conversions that are not possible simply are not included. +*/ + +function buildGraph() { + var graph = {}; + // https://jsperf.com/object-keys-vs-for-in-with-closure/3 + var models = Object.keys(conversions); + + for (var len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } + + return graph; +} + +// https://en.wikipedia.org/wiki/Breadth-first_search +function deriveBFS(fromModel) { + var graph = buildGraph(); + var queue = [fromModel]; // unshift -> queue -> pop + + graph[fromModel].distance = 0; + + while (queue.length) { + var current = queue.pop(); + var adjacents = Object.keys(conversions[current]); + + for (var len = adjacents.length, i = 0; i < len; i++) { + var adjacent = adjacents[i]; + var node = graph[adjacent]; + + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } + + return graph; +} + +function link(from, to) { + return function (args) { + return to(from(args)); + }; +} + +function wrapConversion(toModel, graph) { + var path = [graph[toModel].parent, toModel]; + var fn = conversions[graph[toModel].parent][toModel]; + + var cur = graph[toModel].parent; + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } + + fn.conversion = path; + return fn; +} + +var route = function (fromModel) { + var graph = deriveBFS(fromModel); + var conversion = {}; + + var models = Object.keys(graph); + for (var len = models.length, i = 0; i < len; i++) { + var toModel = models[i]; + var node = graph[toModel]; + + if (node.parent === null) { + // no possible conversion, or this node is the source model. + continue; + } + + conversion[toModel] = wrapConversion(toModel, graph); + } + + return conversion; +}; + +var convert = {}; + +var models = Object.keys(conversions); + +function wrapRaw(fn) { + var wrappedFn = function (args) { + if (args === undefined || args === null) { + return args; + } + + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + + return fn(args); + }; + + // preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +function wrapRounded(fn) { + var wrappedFn = function (args) { + if (args === undefined || args === null) { + return args; + } + + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + + var result = fn(args); + + // we're assuming the result is an array here. + // see notice in conversions.js; don't use box types + // in conversion functions. + if (typeof result === 'object') { + for (var len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } + + return result; + }; + + // preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +models.forEach(function (fromModel) { + convert[fromModel] = {}; + + Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); + Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); + + var routes = route(fromModel); + var routeModels = Object.keys(routes); + + routeModels.forEach(function (toModel) { + var fn = routes[toModel]; + + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); +}); + +var colorConvert = convert; + +var ansiStyles = createCommonjsModule(function (module) { + + +const wrapAnsi16 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${code + offset}m`; +}; + +const wrapAnsi256 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};5;${code}m`; +}; + +const wrapAnsi16m = (fn, offset) => function () { + const rgb = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; +}; + +function assembleStyles() { + const codes = new Map(); + const styles = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39], + + // Bright color + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + + // Bright color + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; + + // Fix humans + styles.color.grey = styles.color.gray; + + for (const groupName of Object.keys(styles)) { + const group = styles[groupName]; + + for (const styleName of Object.keys(group)) { + const style = group[styleName]; + + styles[styleName] = { + open: `\u001B[${style[0]}m`, + close: `\u001B[${style[1]}m` + }; + + group[styleName] = styles[styleName]; + + codes.set(style[0], style[1]); + } + + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + + Object.defineProperty(styles, 'codes', { + value: codes, + enumerable: false + }); + } + + const ansi2ansi = n => n; + const rgb2rgb = (r, g, b) => [r, g, b]; + + styles.color.close = '\u001B[39m'; + styles.bgColor.close = '\u001B[49m'; + + styles.color.ansi = { + ansi: wrapAnsi16(ansi2ansi, 0) + }; + styles.color.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 0) + }; + styles.color.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 0) + }; + + styles.bgColor.ansi = { + ansi: wrapAnsi16(ansi2ansi, 10) + }; + styles.bgColor.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 10) + }; + styles.bgColor.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 10) + }; + + for (let key of Object.keys(colorConvert)) { + if (typeof colorConvert[key] !== 'object') { + continue; + } + + const suite = colorConvert[key]; + + if (key === 'ansi16') { + key = 'ansi'; + } + + if ('ansi16' in suite) { + styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); + styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); + } + + if ('ansi256' in suite) { + styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); + styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); + } + + if ('rgb' in suite) { + styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); + styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); + } + } + + return styles; +} + +// Make the export immutable +Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles +}); +}); + +const TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; +const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; +const STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; +const ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; + +const ESCAPES = new Map([ + ['n', '\n'], + ['r', '\r'], + ['t', '\t'], + ['b', '\b'], + ['f', '\f'], + ['v', '\v'], + ['0', '\0'], + ['\\', '\\'], + ['e', '\u001B'], + ['a', '\u0007'] +]); + +function unescape(c) { + if ((c[0] === 'u' && c.length === 5) || (c[0] === 'x' && c.length === 3)) { + return String.fromCharCode(parseInt(c.slice(1), 16)); + } + + return ESCAPES.get(c) || c; +} + +function parseArguments(name, args) { + const results = []; + const chunks = args.trim().split(/\s*,\s*/g); + let matches; + + for (const chunk of chunks) { + if (!isNaN(chunk)) { + results.push(Number(chunk)); + } else if ((matches = chunk.match(STRING_REGEX))) { + results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr)); + } else { + throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); + } + } + + return results; +} + +function parseStyle(style) { + STYLE_REGEX.lastIndex = 0; + + const results = []; + let matches; + + while ((matches = STYLE_REGEX.exec(style)) !== null) { + const name = matches[1]; + + if (matches[2]) { + const args = parseArguments(name, matches[2]); + results.push([name].concat(args)); + } else { + results.push([name]); + } + } + + return results; +} + +function buildStyle(chalk, styles) { + const enabled = {}; + + for (const layer of styles) { + for (const style of layer.styles) { + enabled[style[0]] = layer.inverse ? null : style.slice(1); + } + } + + let current = chalk; + for (const styleName of Object.keys(enabled)) { + if (Array.isArray(enabled[styleName])) { + if (!(styleName in current)) { + throw new Error(`Unknown Chalk style: ${styleName}`); + } + + if (enabled[styleName].length > 0) { + current = current[styleName].apply(current, enabled[styleName]); + } else { + current = current[styleName]; + } + } + } + + return current; +} + +var templates = (chalk, tmp) => { + const styles = []; + const chunks = []; + let chunk = []; + + // eslint-disable-next-line max-params + tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => { + if (escapeChar) { + chunk.push(unescape(escapeChar)); + } else if (style) { + const str = chunk.join(''); + chunk = []; + chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str)); + styles.push({inverse, styles: parseStyle(style)}); + } else if (close) { + if (styles.length === 0) { + throw new Error('Found extraneous } in Chalk template literal'); + } + + chunks.push(buildStyle(chalk, styles)(chunk.join(''))); + chunk = []; + styles.pop(); + } else { + chunk.push(chr); + } + }); + + chunks.push(chunk.join('')); + + if (styles.length > 0) { + const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`; + throw new Error(errMsg); + } + + return chunks.join(''); +}; + +var chalk = createCommonjsModule(function (module) { + + +const stdoutColor = supportsColor_1.stdout; + + + +const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); + +// `supportsColor.level` → `ansiStyles.color[name]` mapping +const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; + +// `color-convert` models to exclude from the Chalk API due to conflicts and such +const skipModels = new Set(['gray']); + +const styles = Object.create(null); + +function applyOptions(obj, options) { + options = options || {}; + + // Detect level if not set manually + const scLevel = stdoutColor ? stdoutColor.level : 0; + obj.level = options.level === undefined ? scLevel : options.level; + obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; +} + +function Chalk(options) { + // We check for this.template here since calling `chalk.constructor()` + // by itself will have a `this` of a previously constructed chalk object + if (!this || !(this instanceof Chalk) || this.template) { + const chalk = {}; + applyOptions(chalk, options); + + chalk.template = function () { + const args = [].slice.call(arguments); + return chalkTag.apply(null, [chalk.template].concat(args)); + }; + + Object.setPrototypeOf(chalk, Chalk.prototype); + Object.setPrototypeOf(chalk.template, chalk); + + chalk.template.constructor = Chalk; + + return chalk.template; + } + + applyOptions(this, options); +} + +// Use bright blue on Windows as the normal blue color is illegible +if (isSimpleWindowsTerm) { + ansiStyles.blue.open = '\u001B[94m'; +} + +for (const key of Object.keys(ansiStyles)) { + ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); + + styles[key] = { + get() { + const codes = ansiStyles[key]; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); + } + }; +} + +styles.visible = { + get() { + return build.call(this, this._styles || [], true, 'visible'); + } +}; + +ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g'); +for (const model of Object.keys(ansiStyles.color.ansi)) { + if (skipModels.has(model)) { + continue; + } + + styles[model] = { + get() { + const level = this.level; + return function () { + const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.color.close, + closeRe: ansiStyles.color.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; +} + +ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g'); +for (const model of Object.keys(ansiStyles.bgColor.ansi)) { + if (skipModels.has(model)) { + continue; + } + + const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); + styles[bgModel] = { + get() { + const level = this.level; + return function () { + const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.bgColor.close, + closeRe: ansiStyles.bgColor.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; +} + +const proto = Object.defineProperties(() => {}, styles); + +function build(_styles, _empty, key) { + const builder = function () { + return applyStyle.apply(builder, arguments); + }; + + builder._styles = _styles; + builder._empty = _empty; + + const self = this; + + Object.defineProperty(builder, 'level', { + enumerable: true, + get() { + return self.level; + }, + set(level) { + self.level = level; + } + }); + + Object.defineProperty(builder, 'enabled', { + enumerable: true, + get() { + return self.enabled; + }, + set(enabled) { + self.enabled = enabled; + } + }); + + // See below for fix regarding invisible grey/dim combination on Windows + builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; + + // `__proto__` is used because we must return a function, but there is + // no way to create a function with a different prototype + builder.__proto__ = proto; // eslint-disable-line no-proto + + return builder; +} + +function applyStyle() { + // Support varags, but simply cast to string in case there's only one arg + const args = arguments; + const argsLen = args.length; + let str = String(arguments[0]); + + if (argsLen === 0) { + return ''; + } + + if (argsLen > 1) { + // Don't slice `arguments`, it prevents V8 optimizations + for (let a = 1; a < argsLen; a++) { + str += ' ' + args[a]; + } + } + + if (!this.enabled || this.level <= 0 || !str) { + return this._empty ? '' : str; + } + + // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, + // see https://github.com/chalk/chalk/issues/58 + // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. + const originalDim = ansiStyles.dim.open; + if (isSimpleWindowsTerm && this.hasGrey) { + ansiStyles.dim.open = ''; + } + + for (const code of this._styles.slice().reverse()) { + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + str = code.open + str.replace(code.closeRe, code.open) + code.close; + + // Close the styling before a linebreak and reopen + // after next line to fix a bleed issue on macOS + // https://github.com/chalk/chalk/pull/92 + str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); + } + + // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue + ansiStyles.dim.open = originalDim; + + return str; +} + +function chalkTag(chalk, strings) { + if (!Array.isArray(strings)) { + // If chalk() was called by itself or with a string, + // return the string itself as a string. + return [].slice.call(arguments, 1).join(' '); + } + + const args = [].slice.call(arguments, 2); + const parts = [strings.raw[0]]; + + for (let i = 1; i < strings.length; i++) { + parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); + parts.push(String(strings.raw[i])); + } + + return templates(chalk, parts.join('')); +} + +Object.defineProperties(Chalk.prototype, styles); + +module.exports = Chalk(); // eslint-disable-line new-cap +module.exports.supportsColor = stdoutColor; +module.exports.default = module.exports; // For TypeScript +}); +var chalk_1 = chalk.supportsColor; + +const WIN_SLASH = '\\\\/'; +const WIN_NO_SLASH = `[^${WIN_SLASH}]`; + +/** + * Posix glob regex + */ + +const DOT_LITERAL = '\\.'; +const PLUS_LITERAL = '\\+'; +const QMARK_LITERAL = '\\?'; +const SLASH_LITERAL = '\\/'; +const ONE_CHAR = '(?=.)'; +const QMARK = '[^/]'; +const END_ANCHOR = `(?:${SLASH_LITERAL}|$)`; +const START_ANCHOR = `(?:^|${SLASH_LITERAL})`; +const DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`; +const NO_DOT = `(?!${DOT_LITERAL})`; +const NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`; +const NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`; +const NO_DOTS_SLASH = `(?!${DOTS_SLASH})`; +const QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`; +const STAR = `${QMARK}*?`; + +const POSIX_CHARS = { + DOT_LITERAL, + PLUS_LITERAL, + QMARK_LITERAL, + SLASH_LITERAL, + ONE_CHAR, + QMARK, + END_ANCHOR, + DOTS_SLASH, + NO_DOT, + NO_DOTS, + NO_DOT_SLASH, + NO_DOTS_SLASH, + QMARK_NO_DOT, + STAR, + START_ANCHOR +}; + +/** + * Windows glob regex + */ + +const WINDOWS_CHARS = { + ...POSIX_CHARS, + + SLASH_LITERAL: `[${WIN_SLASH}]`, + QMARK: WIN_NO_SLASH, + STAR: `${WIN_NO_SLASH}*?`, + DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`, + NO_DOT: `(?!${DOT_LITERAL})`, + NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, + NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`, + NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, + QMARK_NO_DOT: `[^.${WIN_SLASH}]`, + START_ANCHOR: `(?:^|[${WIN_SLASH}])`, + END_ANCHOR: `(?:[${WIN_SLASH}]|$)` +}; + +/** + * POSIX Bracket Regex + */ + +const POSIX_REGEX_SOURCE = { + alnum: 'a-zA-Z0-9', + alpha: 'a-zA-Z', + ascii: '\\x00-\\x7F', + blank: ' \\t', + cntrl: '\\x00-\\x1F\\x7F', + digit: '0-9', + graph: '\\x21-\\x7E', + lower: 'a-z', + print: '\\x20-\\x7E ', + punct: '\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_`{|}~', + space: ' \\t\\r\\n\\v\\f', + upper: 'A-Z', + word: 'A-Za-z0-9_', + xdigit: 'A-Fa-f0-9' +}; + +var constants = { + MAX_LENGTH: 1024 * 64, + POSIX_REGEX_SOURCE, + + // regular expressions + REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g, + REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/, + REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/, + REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g, + REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g, + REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g, + + // Replace globs with equivalent patterns to reduce parsing time. + REPLACEMENTS: { + '***': '*', + '**/**': '**', + '**/**/**': '**' + }, + + // Digits + CHAR_0: 48, /* 0 */ + CHAR_9: 57, /* 9 */ + + // Alphabet chars. + CHAR_UPPERCASE_A: 65, /* A */ + CHAR_LOWERCASE_A: 97, /* a */ + CHAR_UPPERCASE_Z: 90, /* Z */ + CHAR_LOWERCASE_Z: 122, /* z */ + + CHAR_LEFT_PARENTHESES: 40, /* ( */ + CHAR_RIGHT_PARENTHESES: 41, /* ) */ + + CHAR_ASTERISK: 42, /* * */ + + // Non-alphabetic chars. + CHAR_AMPERSAND: 38, /* & */ + CHAR_AT: 64, /* @ */ + CHAR_BACKWARD_SLASH: 92, /* \ */ + CHAR_CARRIAGE_RETURN: 13, /* \r */ + CHAR_CIRCUMFLEX_ACCENT: 94, /* ^ */ + CHAR_COLON: 58, /* : */ + CHAR_COMMA: 44, /* , */ + CHAR_DOT: 46, /* . */ + CHAR_DOUBLE_QUOTE: 34, /* " */ + CHAR_EQUAL: 61, /* = */ + CHAR_EXCLAMATION_MARK: 33, /* ! */ + CHAR_FORM_FEED: 12, /* \f */ + CHAR_FORWARD_SLASH: 47, /* / */ + CHAR_GRAVE_ACCENT: 96, /* ` */ + CHAR_HASH: 35, /* # */ + CHAR_HYPHEN_MINUS: 45, /* - */ + CHAR_LEFT_ANGLE_BRACKET: 60, /* < */ + CHAR_LEFT_CURLY_BRACE: 123, /* { */ + CHAR_LEFT_SQUARE_BRACKET: 91, /* [ */ + CHAR_LINE_FEED: 10, /* \n */ + CHAR_NO_BREAK_SPACE: 160, /* \u00A0 */ + CHAR_PERCENT: 37, /* % */ + CHAR_PLUS: 43, /* + */ + CHAR_QUESTION_MARK: 63, /* ? */ + CHAR_RIGHT_ANGLE_BRACKET: 62, /* > */ + CHAR_RIGHT_CURLY_BRACE: 125, /* } */ + CHAR_RIGHT_SQUARE_BRACKET: 93, /* ] */ + CHAR_SEMICOLON: 59, /* ; */ + CHAR_SINGLE_QUOTE: 39, /* ' */ + CHAR_SPACE: 32, /* */ + CHAR_TAB: 9, /* \t */ + CHAR_UNDERSCORE: 95, /* _ */ + CHAR_VERTICAL_LINE: 124, /* | */ + CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, /* \uFEFF */ + + SEP: path$1.sep, + + /** + * Create EXTGLOB_CHARS + */ + + extglobChars(chars) { + return { + '!': { type: 'negate', open: '(?:(?!(?:', close: `))${chars.STAR})` }, + '?': { type: 'qmark', open: '(?:', close: ')?' }, + '+': { type: 'plus', open: '(?:', close: ')+' }, + '*': { type: 'star', open: '(?:', close: ')*' }, + '@': { type: 'at', open: '(?:', close: ')' } + }; + }, + + /** + * Create GLOB_CHARS + */ + + globChars(win32) { + return win32 === true ? WINDOWS_CHARS : POSIX_CHARS; + } +}; + +var utils$1 = createCommonjsModule(function (module, exports) { + + +const win32 = process.platform === 'win32'; +const { + REGEX_BACKSLASH, + REGEX_REMOVE_BACKSLASH, + REGEX_SPECIAL_CHARS, + REGEX_SPECIAL_CHARS_GLOBAL +} = constants; + +exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); +exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str); +exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str); +exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1'); +exports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/'); + +exports.removeBackslashes = str => { + return str.replace(REGEX_REMOVE_BACKSLASH, match => { + return match === '\\' ? '' : match; + }); +}; + +exports.supportsLookbehinds = () => { + const segs = process.version.slice(1).split('.').map(Number); + if (segs.length === 3 && segs[0] >= 9 || (segs[0] === 8 && segs[1] >= 10)) { + return true; + } + return false; +}; + +exports.isWindows = options => { + if (options && typeof options.windows === 'boolean') { + return options.windows; + } + return win32 === true || path$1.sep === '\\'; +}; + +exports.escapeLast = (input, char, lastIdx) => { + const idx = input.lastIndexOf(char, lastIdx); + if (idx === -1) return input; + if (input[idx - 1] === '\\') return exports.escapeLast(input, char, idx - 1); + return `${input.slice(0, idx)}\\${input.slice(idx)}`; +}; + +exports.removePrefix = (input, state = {}) => { + let output = input; + if (output.startsWith('./')) { + output = output.slice(2); + state.prefix = './'; + } + return output; +}; + +exports.wrapOutput = (input, state = {}, options = {}) => { + const prepend = options.contains ? '' : '^'; + const append = options.contains ? '' : '$'; + + let output = `${prepend}(?:${input})${append}`; + if (state.negated === true) { + output = `(?:^(?!${output}).*$)`; + } + return output; +}; +}); +var utils_1$1 = utils$1.isObject; +var utils_2$1 = utils$1.hasRegexChars; +var utils_3$1 = utils$1.isRegexChar; +var utils_4$1 = utils$1.escapeRegex; +var utils_5$1 = utils$1.toPosixSlashes; +var utils_6 = utils$1.removeBackslashes; +var utils_7 = utils$1.supportsLookbehinds; +var utils_8 = utils$1.isWindows; +var utils_9 = utils$1.escapeLast; +var utils_10 = utils$1.removePrefix; +var utils_11 = utils$1.wrapOutput; + +const { + CHAR_ASTERISK: CHAR_ASTERISK$1, /* * */ + CHAR_AT, /* @ */ + CHAR_BACKWARD_SLASH, /* \ */ + CHAR_COMMA: CHAR_COMMA$1, /* , */ + CHAR_DOT, /* . */ + CHAR_EXCLAMATION_MARK, /* ! */ + CHAR_FORWARD_SLASH, /* / */ + CHAR_LEFT_CURLY_BRACE, /* { */ + CHAR_LEFT_PARENTHESES, /* ( */ + CHAR_LEFT_SQUARE_BRACKET: CHAR_LEFT_SQUARE_BRACKET$1, /* [ */ + CHAR_PLUS, /* + */ + CHAR_QUESTION_MARK, /* ? */ + CHAR_RIGHT_CURLY_BRACE, /* } */ + CHAR_RIGHT_PARENTHESES, /* ) */ + CHAR_RIGHT_SQUARE_BRACKET: CHAR_RIGHT_SQUARE_BRACKET$1 /* ] */ +} = constants; + +const isPathSeparator = code => { + return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; +}; + +const depth = token => { + if (token.isPrefix !== true) { + token.depth = token.isGlobstar ? Infinity : 1; + } +}; + +/** + * Quickly scans a glob pattern and returns an object with a handful of + * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists), + * `glob` (the actual pattern), and `negated` (true if the path starts with `!`). + * + * ```js + * const pm = require('picomatch'); + * console.log(pm.scan('foo/bar/*.js')); + * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' } + * ``` + * @param {String} `str` + * @param {Object} `options` + * @return {Object} Returns an object with tokens and regex source string. + * @api public + */ + +const scan$1 = (input, options) => { + const opts = options || {}; + + const length = input.length - 1; + const scanToEnd = opts.parts === true || opts.scanToEnd === true; + const slashes = []; + const tokens = []; + const parts = []; + + let str = input; + let index = -1; + let start = 0; + let lastIndex = 0; + let isBrace = false; + let isBracket = false; + let isGlob = false; + let isExtglob = false; + let isGlobstar = false; + let braceEscaped = false; + let backslashes = false; + let negated = false; + let finished = false; + let braces = 0; + let prev; + let code; + let token = { value: '', depth: 0, isGlob: false }; + + const eos = () => index >= length; + const peek = () => str.charCodeAt(index + 1); + const advance = () => { + prev = code; + return str.charCodeAt(++index); + }; + + while (index < length) { + code = advance(); + let next; + + if (code === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + code = advance(); + + if (code === CHAR_LEFT_CURLY_BRACE) { + braceEscaped = true; + } + continue; + } + + if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { + braces++; + + while (eos() !== true && (code = advance())) { + if (code === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + advance(); + continue; + } + + if (code === CHAR_LEFT_CURLY_BRACE) { + braces++; + continue; + } + + if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { + isBrace = token.isBrace = true; + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + + break; + } + + if (braceEscaped !== true && code === CHAR_COMMA$1) { + isBrace = token.isBrace = true; + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + + break; + } + + if (code === CHAR_RIGHT_CURLY_BRACE) { + braces--; + + if (braces === 0) { + braceEscaped = false; + isBrace = token.isBrace = true; + finished = true; + break; + } + } + } + + if (scanToEnd === true) { + continue; + } + + break; + } + + if (code === CHAR_FORWARD_SLASH) { + slashes.push(index); + tokens.push(token); + token = { value: '', depth: 0, isGlob: false }; + + if (finished === true) continue; + if (prev === CHAR_DOT && index === (start + 1)) { + start += 2; + continue; + } + + lastIndex = index + 1; + continue; + } + + if (opts.noext !== true) { + const isExtglobChar = code === CHAR_PLUS + || code === CHAR_AT + || code === CHAR_ASTERISK$1 + || code === CHAR_QUESTION_MARK + || code === CHAR_EXCLAMATION_MARK; + + if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { + isGlob = token.isGlob = true; + isExtglob = token.isExtglob = true; + finished = true; + + if (scanToEnd === true) { + while (eos() !== true && (code = advance())) { + if (code === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + code = advance(); + continue; + } + + if (code === CHAR_RIGHT_PARENTHESES) { + isGlob = token.isGlob = true; + finished = true; + break; + } + } + continue; + } + break; + } + } + + if (code === CHAR_ASTERISK$1) { + if (prev === CHAR_ASTERISK$1) isGlobstar = token.isGlobstar = true; + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + break; + } + + if (code === CHAR_QUESTION_MARK) { + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + break; + } + + if (code === CHAR_LEFT_SQUARE_BRACKET$1) { + while (eos() !== true && (next = advance())) { + if (next === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + advance(); + continue; + } + + if (next === CHAR_RIGHT_SQUARE_BRACKET$1) { + isBracket = token.isBracket = true; + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + break; + } + } + } + + if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { + negated = token.negated = true; + start++; + continue; + } + + if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { + while (eos() !== true && (code = advance())) { + if (code === CHAR_BACKWARD_SLASH) { + backslashes = token.backslashes = true; + code = advance(); + continue; + } + + if (code === CHAR_RIGHT_PARENTHESES) { + isGlob = token.isGlob = true; + finished = true; + + if (scanToEnd === true) { + continue; + } + break; + } + } + } + + if (isGlob === true) { + finished = true; + + if (scanToEnd === true) { + continue; + } + + break; + } + } + + if (opts.noext === true) { + isExtglob = false; + isGlob = false; + } + + let base = str; + let prefix = ''; + let glob = ''; + + if (start > 0) { + prefix = str.slice(0, start); + str = str.slice(start); + lastIndex -= start; + } + + if (base && isGlob === true && lastIndex > 0) { + base = str.slice(0, lastIndex); + glob = str.slice(lastIndex); + } else if (isGlob === true) { + base = ''; + glob = str; + } else { + base = str; + } + + if (base && base !== '' && base !== '/' && base !== str) { + if (isPathSeparator(base.charCodeAt(base.length - 1))) { + base = base.slice(0, -1); + } + } + + if (opts.unescape === true) { + if (glob) glob = utils$1.removeBackslashes(glob); + + if (base && backslashes === true) { + base = utils$1.removeBackslashes(base); + } + } + + const state = { + prefix, + input, + start, + base, + glob, + isBrace, + isBracket, + isGlob, + isExtglob, + isGlobstar, + negated + }; + + if (opts.tokens === true) { + state.maxDepth = 0; + if (!isPathSeparator(code)) { + tokens.push(token); + } + state.tokens = tokens; + } + + if (opts.parts === true || opts.tokens === true) { + let prevIndex; + + for (let idx = 0; idx < slashes.length; idx++) { + const n = prevIndex ? prevIndex + 1 : start; + const i = slashes[idx]; + const value = input.slice(n, i); + if (opts.tokens) { + if (idx === 0 && start !== 0) { + tokens[idx].isPrefix = true; + tokens[idx].value = prefix; + } else { + tokens[idx].value = value; + } + depth(tokens[idx]); + state.maxDepth += tokens[idx].depth; + } + if (idx !== 0 || value !== '') { + parts.push(value); + } + prevIndex = i; + } + + if (prevIndex && prevIndex + 1 < input.length) { + const value = input.slice(prevIndex + 1); + parts.push(value); + + if (opts.tokens) { + tokens[tokens.length - 1].value = value; + depth(tokens[tokens.length - 1]); + state.maxDepth += tokens[tokens.length - 1].depth; + } + } + + state.slashes = slashes; + state.parts = parts; + } + + return state; +}; + +var scan_1 = scan$1; + +/** + * Constants + */ + +const { + MAX_LENGTH, + POSIX_REGEX_SOURCE: POSIX_REGEX_SOURCE$1, + REGEX_NON_SPECIAL_CHARS, + REGEX_SPECIAL_CHARS_BACKREF, + REPLACEMENTS +} = constants; + +/** + * Helpers + */ + +const expandRange = (args, options) => { + if (typeof options.expandRange === 'function') { + return options.expandRange(...args, options); + } + + args.sort(); + const value = `[${args.join('-')}]`; + + try { + /* eslint-disable-next-line no-new */ + new RegExp(value); + } catch (ex) { + return args.map(v => utils$1.escapeRegex(v)).join('..'); + } + + return value; +}; + +/** + * Create the message for a syntax error + */ + +const syntaxError = (type, char) => { + return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; +}; + +/** + * Parse the given input string. + * @param {String} input + * @param {Object} options + * @return {Object} + */ + +const parse$5 = (input, options) => { + if (typeof input !== 'string') { + throw new TypeError('Expected a string'); + } + + input = REPLACEMENTS[input] || input; + + const opts = { ...options }; + const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; + + let len = input.length; + if (len > max) { + throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); + } + + const bos = { type: 'bos', value: '', output: opts.prepend || '' }; + const tokens = [bos]; + + const capture = opts.capture ? '' : '?:'; + const win32 = utils$1.isWindows(options); + + // create constants based on platform, for windows or posix + const PLATFORM_CHARS = constants.globChars(win32); + const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS); + + const { + DOT_LITERAL, + PLUS_LITERAL, + SLASH_LITERAL, + ONE_CHAR, + DOTS_SLASH, + NO_DOT, + NO_DOT_SLASH, + NO_DOTS_SLASH, + QMARK, + QMARK_NO_DOT, + STAR, + START_ANCHOR + } = PLATFORM_CHARS; + + const globstar = (opts) => { + return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; + }; + + const nodot = opts.dot ? '' : NO_DOT; + const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT; + let star = opts.bash === true ? globstar(opts) : STAR; + + if (opts.capture) { + star = `(${star})`; + } + + // minimatch options support + if (typeof opts.noext === 'boolean') { + opts.noextglob = opts.noext; + } + + const state = { + input, + index: -1, + start: 0, + dot: opts.dot === true, + consumed: '', + output: '', + prefix: '', + backtrack: false, + negated: false, + brackets: 0, + braces: 0, + parens: 0, + quotes: 0, + globstar: false, + tokens + }; + + input = utils$1.removePrefix(input, state); + len = input.length; + + const extglobs = []; + const braces = []; + const stack = []; + let prev = bos; + let value; + + /** + * Tokenizing helpers + */ + + const eos = () => state.index === len - 1; + const peek = state.peek = (n = 1) => input[state.index + n]; + const advance = state.advance = () => input[++state.index]; + const remaining = () => input.slice(state.index + 1); + const consume = (value = '', num = 0) => { + state.consumed += value; + state.index += num; + }; + const append = token => { + state.output += token.output != null ? token.output : token.value; + consume(token.value); + }; + + const negate = () => { + let count = 1; + + while (peek() === '!' && (peek(2) !== '(' || peek(3) === '?')) { + advance(); + state.start++; + count++; + } + + if (count % 2 === 0) { + return false; + } + + state.negated = true; + state.start++; + return true; + }; + + const increment = type => { + state[type]++; + stack.push(type); + }; + + const decrement = type => { + state[type]--; + stack.pop(); + }; + + /** + * Push tokens onto the tokens array. This helper speeds up + * tokenizing by 1) helping us avoid backtracking as much as possible, + * and 2) helping us avoid creating extra tokens when consecutive + * characters are plain text. This improves performance and simplifies + * lookbehinds. + */ + + const push = tok => { + if (prev.type === 'globstar') { + const isBrace = state.braces > 0 && (tok.type === 'comma' || tok.type === 'brace'); + const isExtglob = tok.extglob === true || (extglobs.length && (tok.type === 'pipe' || tok.type === 'paren')); + + if (tok.type !== 'slash' && tok.type !== 'paren' && !isBrace && !isExtglob) { + state.output = state.output.slice(0, -prev.output.length); + prev.type = 'star'; + prev.value = '*'; + prev.output = star; + state.output += prev.output; + } + } + + if (extglobs.length && tok.type !== 'paren' && !EXTGLOB_CHARS[tok.value]) { + extglobs[extglobs.length - 1].inner += tok.value; + } + + if (tok.value || tok.output) append(tok); + if (prev && prev.type === 'text' && tok.type === 'text') { + prev.value += tok.value; + prev.output = (prev.output || '') + tok.value; + return; + } + + tok.prev = prev; + tokens.push(tok); + prev = tok; + }; + + const extglobOpen = (type, value) => { + const token = { ...EXTGLOB_CHARS[value], conditions: 1, inner: '' }; + + token.prev = prev; + token.parens = state.parens; + token.output = state.output; + const output = (opts.capture ? '(' : '') + token.open; + + increment('parens'); + + + push({ type, value, output: state.output ? '' : ONE_CHAR }); + push({ type: 'paren', extglob: true, value: advance(), output }); + extglobs.push(token); + }; + + const extglobClose = token => { + let output = token.close + (opts.capture ? ')' : ''); + + if (token.type === 'negate') { + let extglobStar = star; + + if (token.inner && token.inner.length > 1 && token.inner.includes('/')) { + extglobStar = globstar(opts); + } + + if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { + output = token.close = `)$))${extglobStar}`; + } + + if (token.prev.type === 'bos' && eos()) { + state.negatedExtglob = true; + } + } + + push({ type: 'paren', extglob: true, value, output }); + decrement('parens'); + }; + + /** + * Fast paths + */ + + if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { + let backslashes = false; + + let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { + if (first === '\\') { + backslashes = true; + return m; + } + + if (first === '?') { + if (esc) { + return esc + first + (rest ? QMARK.repeat(rest.length) : ''); + } + if (index === 0) { + return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : ''); + } + return QMARK.repeat(chars.length); + } + + if (first === '.') { + return DOT_LITERAL.repeat(chars.length); + } + + if (first === '*') { + if (esc) { + return esc + first + (rest ? star : ''); + } + return star; + } + return esc ? m : `\\${m}`; + }); + + if (backslashes === true) { + if (opts.unescape === true) { + output = output.replace(/\\/g, ''); + } else { + output = output.replace(/\\+/g, m => { + return m.length % 2 === 0 ? '\\\\' : (m ? '\\' : ''); + }); + } + } + + if (output === input && opts.contains === true) { + state.output = input; + return state; + } + + state.output = utils$1.wrapOutput(output, state, options); + return state; + } + + /** + * Tokenize input until we reach end-of-string + */ + + while (!eos()) { + value = advance(); + + if (value === '\u0000') { + continue; + } + + /** + * Escaped characters + */ + + if (value === '\\') { + const next = peek(); + + if (next === '/' && opts.bash !== true) { + continue; + } + + if (next === '.' || next === ';') { + continue; + } + + if (!next) { + value += '\\'; + push({ type: 'text', value }); + continue; + } + + // collapse slashes to reduce potential for exploits + const match = /^\\+/.exec(remaining()); + let slashes = 0; + + if (match && match[0].length > 2) { + slashes = match[0].length; + state.index += slashes; + if (slashes % 2 !== 0) { + value += '\\'; + } + } + + if (opts.unescape === true) { + value = advance() || ''; + } else { + value += advance() || ''; + } + + if (state.brackets === 0) { + push({ type: 'text', value }); + continue; + } + } + + /** + * If we're inside a regex character class, continue + * until we reach the closing bracket. + */ + + if (state.brackets > 0 && (value !== ']' || prev.value === '[' || prev.value === '[^')) { + if (opts.posix !== false && value === ':') { + const inner = prev.value.slice(1); + if (inner.includes('[')) { + prev.posix = true; + + if (inner.includes(':')) { + const idx = prev.value.lastIndexOf('['); + const pre = prev.value.slice(0, idx); + const rest = prev.value.slice(idx + 2); + const posix = POSIX_REGEX_SOURCE$1[rest]; + if (posix) { + prev.value = pre + posix; + state.backtrack = true; + advance(); + + if (!bos.output && tokens.indexOf(prev) === 1) { + bos.output = ONE_CHAR; + } + continue; + } + } + } + } + + if ((value === '[' && peek() !== ':') || (value === '-' && peek() === ']')) { + value = `\\${value}`; + } + + if (value === ']' && (prev.value === '[' || prev.value === '[^')) { + value = `\\${value}`; + } + + if (opts.posix === true && value === '!' && prev.value === '[') { + value = '^'; + } + + prev.value += value; + append({ value }); + continue; + } + + /** + * If we're inside a quoted string, continue + * until we reach the closing double quote. + */ + + if (state.quotes === 1 && value !== '"') { + value = utils$1.escapeRegex(value); + prev.value += value; + append({ value }); + continue; + } + + /** + * Double quotes + */ + + if (value === '"') { + state.quotes = state.quotes === 1 ? 0 : 1; + if (opts.keepQuotes === true) { + push({ type: 'text', value }); + } + continue; + } + + /** + * Parentheses + */ + + if (value === '(') { + increment('parens'); + push({ type: 'paren', value }); + continue; + } + + if (value === ')') { + if (state.parens === 0 && opts.strictBrackets === true) { + throw new SyntaxError(syntaxError('opening', '(')); + } + + const extglob = extglobs[extglobs.length - 1]; + if (extglob && state.parens === extglob.parens + 1) { + extglobClose(extglobs.pop()); + continue; + } + + push({ type: 'paren', value, output: state.parens ? ')' : '\\)' }); + decrement('parens'); + continue; + } + + /** + * Square brackets + */ + + if (value === '[') { + if (opts.nobracket === true || !remaining().includes(']')) { + if (opts.nobracket !== true && opts.strictBrackets === true) { + throw new SyntaxError(syntaxError('closing', ']')); + } + + value = `\\${value}`; + } else { + increment('brackets'); + } + + push({ type: 'bracket', value }); + continue; + } + + if (value === ']') { + if (opts.nobracket === true || (prev && prev.type === 'bracket' && prev.value.length === 1)) { + push({ type: 'text', value, output: `\\${value}` }); + continue; + } + + if (state.brackets === 0) { + if (opts.strictBrackets === true) { + throw new SyntaxError(syntaxError('opening', '[')); + } + + push({ type: 'text', value, output: `\\${value}` }); + continue; + } + + decrement('brackets'); + + const prevValue = prev.value.slice(1); + if (prev.posix !== true && prevValue[0] === '^' && !prevValue.includes('/')) { + value = `/${value}`; + } + + prev.value += value; + append({ value }); + + // when literal brackets are explicitly disabled + // assume we should match with a regex character class + if (opts.literalBrackets === false || utils$1.hasRegexChars(prevValue)) { + continue; + } + + const escaped = utils$1.escapeRegex(prev.value); + state.output = state.output.slice(0, -prev.value.length); + + // when literal brackets are explicitly enabled + // assume we should escape the brackets to match literal characters + if (opts.literalBrackets === true) { + state.output += escaped; + prev.value = escaped; + continue; + } + + // when the user specifies nothing, try to match both + prev.value = `(${capture}${escaped}|${prev.value})`; + state.output += prev.value; + continue; + } + + /** + * Braces + */ + + if (value === '{' && opts.nobrace !== true) { + increment('braces'); + + const open = { + type: 'brace', + value, + output: '(', + outputIndex: state.output.length, + tokensIndex: state.tokens.length + }; + + braces.push(open); + push(open); + continue; + } + + if (value === '}') { + const brace = braces[braces.length - 1]; + + if (opts.nobrace === true || !brace) { + push({ type: 'text', value, output: value }); + continue; + } + + let output = ')'; + + if (brace.dots === true) { + const arr = tokens.slice(); + const range = []; + + for (let i = arr.length - 1; i >= 0; i--) { + tokens.pop(); + if (arr[i].type === 'brace') { + break; + } + if (arr[i].type !== 'dots') { + range.unshift(arr[i].value); + } + } + + output = expandRange(range, opts); + state.backtrack = true; + } + + if (brace.comma !== true && brace.dots !== true) { + const out = state.output.slice(0, brace.outputIndex); + const toks = state.tokens.slice(brace.tokensIndex); + brace.value = brace.output = '\\{'; + value = output = `\\}`; + state.output = out; + for (const t of toks) { + state.output += (t.output || t.value); + } + } + + push({ type: 'brace', value, output }); + decrement('braces'); + braces.pop(); + continue; + } + + /** + * Pipes + */ + + if (value === '|') { + if (extglobs.length > 0) { + extglobs[extglobs.length - 1].conditions++; + } + push({ type: 'text', value }); + continue; + } + + /** + * Commas + */ + + if (value === ',') { + let output = value; + + const brace = braces[braces.length - 1]; + if (brace && stack[stack.length - 1] === 'braces') { + brace.comma = true; + output = '|'; + } + + push({ type: 'comma', value, output }); + continue; + } + + /** + * Slashes + */ + + if (value === '/') { + // if the beginning of the glob is "./", advance the start + // to the current index, and don't add the "./" characters + // to the state. This greatly simplifies lookbehinds when + // checking for BOS characters like "!" and "." (not "./") + if (prev.type === 'dot' && state.index === state.start + 1) { + state.start = state.index + 1; + state.consumed = ''; + state.output = ''; + tokens.pop(); + prev = bos; // reset "prev" to the first token + continue; + } + + push({ type: 'slash', value, output: SLASH_LITERAL }); + continue; + } + + /** + * Dots + */ + + if (value === '.') { + if (state.braces > 0 && prev.type === 'dot') { + if (prev.value === '.') prev.output = DOT_LITERAL; + const brace = braces[braces.length - 1]; + prev.type = 'dots'; + prev.output += value; + prev.value += value; + brace.dots = true; + continue; + } + + if ((state.braces + state.parens) === 0 && prev.type !== 'bos' && prev.type !== 'slash') { + push({ type: 'text', value, output: DOT_LITERAL }); + continue; + } + + push({ type: 'dot', value, output: DOT_LITERAL }); + continue; + } + + /** + * Question marks + */ + + if (value === '?') { + const isGroup = prev && prev.value === '('; + if (!isGroup && opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { + extglobOpen('qmark', value); + continue; + } + + if (prev && prev.type === 'paren') { + const next = peek(); + let output = value; + + if (next === '<' && !utils$1.supportsLookbehinds()) { + throw new Error('Node.js v10 or higher is required for regex lookbehinds'); + } + + if ((prev.value === '(' && !/[!=<:]/.test(next)) || (next === '<' && !/<([!=]|\w+>)/.test(remaining()))) { + output = `\\${value}`; + } + + push({ type: 'text', value, output }); + continue; + } + + if (opts.dot !== true && (prev.type === 'slash' || prev.type === 'bos')) { + push({ type: 'qmark', value, output: QMARK_NO_DOT }); + continue; + } + + push({ type: 'qmark', value, output: QMARK }); + continue; + } + + /** + * Exclamation + */ + + if (value === '!') { + if (opts.noextglob !== true && peek() === '(') { + if (peek(2) !== '?' || !/[!=<:]/.test(peek(3))) { + extglobOpen('negate', value); + continue; + } + } + + if (opts.nonegate !== true && state.index === 0) { + negate(); + continue; + } + } + + /** + * Plus + */ + + if (value === '+') { + if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { + extglobOpen('plus', value); + continue; + } + + if ((prev && prev.value === '(') || opts.regex === false) { + push({ type: 'plus', value, output: PLUS_LITERAL }); + continue; + } + + if ((prev && (prev.type === 'bracket' || prev.type === 'paren' || prev.type === 'brace')) || state.parens > 0) { + push({ type: 'plus', value }); + continue; + } + + push({ type: 'plus', value: PLUS_LITERAL }); + continue; + } + + /** + * Plain text + */ + + if (value === '@') { + if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { + push({ type: 'at', extglob: true, value, output: '' }); + continue; + } + + push({ type: 'text', value }); + continue; + } + + /** + * Plain text + */ + + if (value !== '*') { + if (value === '$' || value === '^') { + value = `\\${value}`; + } + + const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); + if (match) { + value += match[0]; + state.index += match[0].length; + } + + push({ type: 'text', value }); + continue; + } + + /** + * Stars + */ + + if (prev && (prev.type === 'globstar' || prev.star === true)) { + prev.type = 'star'; + prev.star = true; + prev.value += value; + prev.output = star; + state.backtrack = true; + state.globstar = true; + consume(value); + continue; + } + + let rest = remaining(); + if (opts.noextglob !== true && /^\([^?]/.test(rest)) { + extglobOpen('star', value); + continue; + } + + if (prev.type === 'star') { + if (opts.noglobstar === true) { + consume(value); + continue; + } + + const prior = prev.prev; + const before = prior.prev; + const isStart = prior.type === 'slash' || prior.type === 'bos'; + const afterStar = before && (before.type === 'star' || before.type === 'globstar'); + + if (opts.bash === true && (!isStart || (rest[0] && rest[0] !== '/'))) { + push({ type: 'star', value, output: '' }); + continue; + } + + const isBrace = state.braces > 0 && (prior.type === 'comma' || prior.type === 'brace'); + const isExtglob = extglobs.length && (prior.type === 'pipe' || prior.type === 'paren'); + if (!isStart && prior.type !== 'paren' && !isBrace && !isExtglob) { + push({ type: 'star', value, output: '' }); + continue; + } + + // strip consecutive `/**/` + while (rest.slice(0, 3) === '/**') { + const after = input[state.index + 4]; + if (after && after !== '/') { + break; + } + rest = rest.slice(3); + consume('/**', 3); + } + + if (prior.type === 'bos' && eos()) { + prev.type = 'globstar'; + prev.value += value; + prev.output = globstar(opts); + state.output = prev.output; + state.globstar = true; + consume(value); + continue; + } + + if (prior.type === 'slash' && prior.prev.type !== 'bos' && !afterStar && eos()) { + state.output = state.output.slice(0, -(prior.output + prev.output).length); + prior.output = `(?:${prior.output}`; + + prev.type = 'globstar'; + prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)'); + prev.value += value; + state.globstar = true; + state.output += prior.output + prev.output; + consume(value); + continue; + } + + if (prior.type === 'slash' && prior.prev.type !== 'bos' && rest[0] === '/') { + const end = rest[1] !== void 0 ? '|$' : ''; + + state.output = state.output.slice(0, -(prior.output + prev.output).length); + prior.output = `(?:${prior.output}`; + + prev.type = 'globstar'; + prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; + prev.value += value; + + state.output += prior.output + prev.output; + state.globstar = true; + + consume(value + advance()); + + push({ type: 'slash', value: '/', output: '' }); + continue; + } + + if (prior.type === 'bos' && rest[0] === '/') { + prev.type = 'globstar'; + prev.value += value; + prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; + state.output = prev.output; + state.globstar = true; + consume(value + advance()); + push({ type: 'slash', value: '/', output: '' }); + continue; + } + + // remove single star from output + state.output = state.output.slice(0, -prev.output.length); + + // reset previous token to globstar + prev.type = 'globstar'; + prev.output = globstar(opts); + prev.value += value; + + // reset output with globstar + state.output += prev.output; + state.globstar = true; + consume(value); + continue; + } + + const token = { type: 'star', value, output: star }; + + if (opts.bash === true) { + token.output = '.*?'; + if (prev.type === 'bos' || prev.type === 'slash') { + token.output = nodot + token.output; + } + push(token); + continue; + } + + if (prev && (prev.type === 'bracket' || prev.type === 'paren') && opts.regex === true) { + token.output = value; + push(token); + continue; + } + + if (state.index === state.start || prev.type === 'slash' || prev.type === 'dot') { + if (prev.type === 'dot') { + state.output += NO_DOT_SLASH; + prev.output += NO_DOT_SLASH; + + } else if (opts.dot === true) { + state.output += NO_DOTS_SLASH; + prev.output += NO_DOTS_SLASH; + + } else { + state.output += nodot; + prev.output += nodot; + } + + if (peek() !== '*') { + state.output += ONE_CHAR; + prev.output += ONE_CHAR; + } + } + + push(token); + } + + while (state.brackets > 0) { + if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']')); + state.output = utils$1.escapeLast(state.output, '['); + decrement('brackets'); + } + + while (state.parens > 0) { + if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')')); + state.output = utils$1.escapeLast(state.output, '('); + decrement('parens'); + } + + while (state.braces > 0) { + if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}')); + state.output = utils$1.escapeLast(state.output, '{'); + decrement('braces'); + } + + if (opts.strictSlashes !== true && (prev.type === 'star' || prev.type === 'bracket')) { + push({ type: 'maybe_slash', value: '', output: `${SLASH_LITERAL}?` }); + } + + // rebuild the output if we had to backtrack at any point + if (state.backtrack === true) { + state.output = ''; + + for (const token of state.tokens) { + state.output += token.output != null ? token.output : token.value; + + if (token.suffix) { + state.output += token.suffix; + } + } + } + + return state; +}; + +/** + * Fast paths for creating regular expressions for common glob patterns. + * This can significantly speed up processing and has very little downside + * impact when none of the fast paths match. + */ + +parse$5.fastpaths = (input, options) => { + const opts = { ...options }; + const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; + const len = input.length; + if (len > max) { + throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); + } + + input = REPLACEMENTS[input] || input; + const win32 = utils$1.isWindows(options); + + // create constants based on platform, for windows or posix + const { + DOT_LITERAL, + SLASH_LITERAL, + ONE_CHAR, + DOTS_SLASH, + NO_DOT, + NO_DOTS, + NO_DOTS_SLASH, + STAR, + START_ANCHOR + } = constants.globChars(win32); + + const nodot = opts.dot ? NO_DOTS : NO_DOT; + const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; + const capture = opts.capture ? '' : '?:'; + const state = { negated: false, prefix: '' }; + let star = opts.bash === true ? '.*?' : STAR; + + if (opts.capture) { + star = `(${star})`; + } + + const globstar = (opts) => { + if (opts.noglobstar === true) return star; + return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; + }; + + const create = str => { + switch (str) { + case '*': + return `${nodot}${ONE_CHAR}${star}`; + + case '.*': + return `${DOT_LITERAL}${ONE_CHAR}${star}`; + + case '*.*': + return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; + + case '*/*': + return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`; + + case '**': + return nodot + globstar(opts); + + case '**/*': + return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`; + + case '**/*.*': + return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; + + case '**/.*': + return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; + + default: { + const match = /^(.*?)\.(\w+)$/.exec(str); + if (!match) return; + + const source = create(match[1]); + if (!source) return; + + return source + DOT_LITERAL + match[2]; + } + } + }; + + const output = utils$1.removePrefix(input, state); + let source = create(output); + + if (source && opts.strictSlashes !== true) { + source += `${SLASH_LITERAL}?`; + } + + return source; +}; + +var parse_1$1 = parse$5; + +const isObject$2 = val => val && typeof val === 'object' && !Array.isArray(val); + +/** + * Creates a matcher function from one or more glob patterns. The + * returned function takes a string to match as its first argument, + * and returns true if the string is a match. The returned matcher + * function also takes a boolean as the second argument that, when true, + * returns an object with additional information. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch(glob[, options]); + * + * const isMatch = picomatch('*.!(*a)'); + * console.log(isMatch('a.a')); //=> false + * console.log(isMatch('a.b')); //=> true + * ``` + * @name picomatch + * @param {String|Array} `globs` One or more glob patterns. + * @param {Object=} `options` + * @return {Function=} Returns a matcher function. + * @api public + */ + +const picomatch = (glob, options, returnState = false) => { + if (Array.isArray(glob)) { + const fns = glob.map(input => picomatch(input, options, returnState)); + const arrayMatcher = str => { + for (const isMatch of fns) { + const state = isMatch(str); + if (state) return state; + } + return false; + }; + return arrayMatcher; + } + + const isState = isObject$2(glob) && glob.tokens && glob.input; + + if (glob === '' || (typeof glob !== 'string' && !isState)) { + throw new TypeError('Expected pattern to be a non-empty string'); + } + + const opts = options || {}; + const posix = utils$1.isWindows(options); + const regex = isState + ? picomatch.compileRe(glob, options) + : picomatch.makeRe(glob, options, false, true); + + const state = regex.state; + delete regex.state; + + let isIgnored = () => false; + if (opts.ignore) { + const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null }; + isIgnored = picomatch(opts.ignore, ignoreOpts, returnState); + } + + const matcher = (input, returnObject = false) => { + const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix }); + const result = { glob, state, regex, posix, input, output, match, isMatch }; + + if (typeof opts.onResult === 'function') { + opts.onResult(result); + } + + if (isMatch === false) { + result.isMatch = false; + return returnObject ? result : false; + } + + if (isIgnored(input)) { + if (typeof opts.onIgnore === 'function') { + opts.onIgnore(result); + } + result.isMatch = false; + return returnObject ? result : false; + } + + if (typeof opts.onMatch === 'function') { + opts.onMatch(result); + } + return returnObject ? result : true; + }; + + if (returnState) { + matcher.state = state; + } + + return matcher; +}; + +/** + * Test `input` with the given `regex`. This is used by the main + * `picomatch()` function to test the input string. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.test(input, regex[, options]); + * + * console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\/([^/]*?))$/)); + * // { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' } + * ``` + * @param {String} `input` String to test. + * @param {RegExp} `regex` + * @return {Object} Returns an object with matching info. + * @api public + */ + +picomatch.test = (input, regex, options, { glob, posix } = {}) => { + if (typeof input !== 'string') { + throw new TypeError('Expected input to be a string'); + } + + if (input === '') { + return { isMatch: false, output: '' }; + } + + const opts = options || {}; + const format = opts.format || (posix ? utils$1.toPosixSlashes : null); + let match = input === glob; + let output = (match && format) ? format(input) : input; + + if (match === false) { + output = format ? format(input) : input; + match = output === glob; + } + + if (match === false || opts.capture === true) { + if (opts.matchBase === true || opts.basename === true) { + match = picomatch.matchBase(input, regex, options, posix); + } else { + match = regex.exec(output); + } + } + + return { isMatch: Boolean(match), match, output }; +}; + +/** + * Match the basename of a filepath. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.matchBase(input, glob[, options]); + * console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true + * ``` + * @param {String} `input` String to test. + * @param {RegExp|String} `glob` Glob pattern or regex created by [.makeRe](#makeRe). + * @return {Boolean} + * @api public + */ + +picomatch.matchBase = (input, glob, options, posix = utils$1.isWindows(options)) => { + const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options); + return regex.test(path$1.basename(input)); +}; + +/** + * Returns true if **any** of the given glob `patterns` match the specified `string`. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.isMatch(string, patterns[, options]); + * + * console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true + * console.log(picomatch.isMatch('a.a', 'b.*')); //=> false + * ``` + * @param {String|Array} str The string to test. + * @param {String|Array} patterns One or more glob patterns to use for matching. + * @param {Object} [options] See available [options](#options). + * @return {Boolean} Returns true if any patterns match `str` + * @api public + */ + +picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); + +/** + * Parse a glob pattern to create the source string for a regular + * expression. + * + * ```js + * const picomatch = require('picomatch'); + * const result = picomatch.parse(pattern[, options]); + * ``` + * @param {String} `pattern` + * @param {Object} `options` + * @return {Object} Returns an object with useful properties and output to be used as a regex source string. + * @api public + */ + +picomatch.parse = (pattern, options) => { + if (Array.isArray(pattern)) return pattern.map(p => picomatch.parse(p, options)); + return parse_1$1(pattern, { ...options, fastpaths: false }); +}; + +/** + * Scan a glob pattern to separate the pattern into segments. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.scan(input[, options]); + * + * const result = picomatch.scan('!./foo/*.js'); + * console.log(result); + * { prefix: '!./', + * input: '!./foo/*.js', + * start: 3, + * base: 'foo', + * glob: '*.js', + * isBrace: false, + * isBracket: false, + * isGlob: true, + * isExtglob: false, + * isGlobstar: false, + * negated: true } + * ``` + * @param {String} `input` Glob pattern to scan. + * @param {Object} `options` + * @return {Object} Returns an object with + * @api public + */ + +picomatch.scan = (input, options) => scan_1(input, options); + +/** + * Create a regular expression from a glob pattern. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.makeRe(input[, options]); + * + * console.log(picomatch.makeRe('*.js')); + * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ + * ``` + * @param {String} `input` A glob pattern to convert to regex. + * @param {Object} `options` + * @return {RegExp} Returns a regex created from the given pattern. + * @api public + */ + +picomatch.compileRe = (parsed, options, returnOutput = false, returnState = false) => { + if (returnOutput === true) { + return parsed.output; + } + + const opts = options || {}; + const prepend = opts.contains ? '' : '^'; + const append = opts.contains ? '' : '$'; + + let source = `${prepend}(?:${parsed.output})${append}`; + if (parsed && parsed.negated === true) { + source = `^(?!${source}).*$`; + } + + const regex = picomatch.toRegex(source, options); + if (returnState === true) { + regex.state = parsed; + } + + return regex; +}; + +picomatch.makeRe = (input, options, returnOutput = false, returnState = false) => { + if (!input || typeof input !== 'string') { + throw new TypeError('Expected a non-empty string'); + } + + const opts = options || {}; + let parsed = { negated: false, fastpaths: true }; + let prefix = ''; + let output; + + if (input.startsWith('./')) { + input = input.slice(2); + prefix = parsed.prefix = './'; + } + + if (opts.fastpaths !== false && (input[0] === '.' || input[0] === '*')) { + output = parse_1$1.fastpaths(input, options); + } + + if (output === undefined) { + parsed = parse_1$1(input, options); + parsed.prefix = prefix + (parsed.prefix || ''); + } else { + parsed.output = output; + } + + return picomatch.compileRe(parsed, options, returnOutput, returnState); +}; + +/** + * Create a regular expression from the given regex source string. + * + * ```js + * const picomatch = require('picomatch'); + * // picomatch.toRegex(source[, options]); + * + * const { output } = picomatch.parse('*.js'); + * console.log(picomatch.toRegex(output)); + * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ + * ``` + * @param {String} `source` Regular expression source string. + * @param {Object} `options` + * @return {RegExp} + * @api public + */ + +picomatch.toRegex = (source, options) => { + try { + const opts = options || {}; + return new RegExp(source, opts.flags || (opts.nocase ? 'i' : '')); + } catch (err) { + if (options && options.debug === true) throw err; + return /$^/; + } +}; + +/** + * Picomatch constants. + * @return {Object} + */ + +picomatch.constants = constants; + +/** + * Expose "picomatch" + */ + +var picomatch_1 = picomatch; + +var picomatch$1 = picomatch_1; + +const { Readable } = stream; + +const { promisify } = util$1; + + +const readdir$1 = promisify(fs$1.readdir); +const stat$2 = promisify(fs$1.stat); +const lstat = promisify(fs$1.lstat); + +/** + * @typedef {Object} EntryInfo + * @property {String} path + * @property {String} fullPath + * @property {fs.Stats=} stats + * @property {fs.Dirent=} dirent + * @property {String} basename + */ + +const BANG = '!'; +const NORMAL_FLOW_ERRORS = new Set(['ENOENT', 'EPERM', 'EACCES', 'ELOOP']); +const FILE_TYPE = 'files'; +const DIR_TYPE = 'directories'; +const FILE_DIR_TYPE = 'files_directories'; +const EVERYTHING_TYPE = 'all'; +const ALL_TYPES = [FILE_TYPE, DIR_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE]; + +const isNormalFlowError = error => NORMAL_FLOW_ERRORS.has(error.code); + +const normalizeFilter = filter => { + if (filter === undefined) return; + if (typeof filter === 'function') return filter; + + if (typeof filter === 'string') { + const glob = picomatch$1(filter.trim()); + return entry => glob(entry.basename); + } + + if (Array.isArray(filter)) { + const positive = []; + const negative = []; + for (const item of filter) { + const trimmed = item.trim(); + if (trimmed.charAt(0) === BANG) { + negative.push(picomatch$1(trimmed.slice(1))); + } else { + positive.push(picomatch$1(trimmed)); + } + } + + if (negative.length > 0) { + if (positive.length > 0) { + return entry => + positive.some(f => f(entry.basename)) && !negative.some(f => f(entry.basename)); + } + return entry => !negative.some(f => f(entry.basename)); + } + return entry => positive.some(f => f(entry.basename)); + } +}; + +class ReaddirpStream extends Readable { + static get defaultOptions() { + return { + root: '.', + /* eslint-disable no-unused-vars */ + fileFilter: (path) => true, + directoryFilter: (path) => true, + /* eslint-enable no-unused-vars */ + type: FILE_TYPE, + lstat: false, + depth: 2147483648, + alwaysStat: false + }; + } + + constructor(options = {}) { + super({ + objectMode: true, + autoDestroy: true, + highWaterMark: options.highWaterMark || 4096 + }); + const opts = { ...ReaddirpStream.defaultOptions, ...options }; + const { root, type } = opts; + + this._fileFilter = normalizeFilter(opts.fileFilter); + this._directoryFilter = normalizeFilter(opts.directoryFilter); + + const statMethod = opts.lstat ? lstat : stat$2; + // Use bigint stats if it's windows and stat() supports options (node 10+). + if (process.platform === 'win32' && stat$2.length === 3) { + this._stat = path => statMethod(path, { bigint: true }); + } else { + this._stat = statMethod; + } + + this._maxDepth = opts.depth; + this._wantsDir = [DIR_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE].includes(type); + this._wantsFile = [FILE_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE].includes(type); + this._wantsEverything = type === EVERYTHING_TYPE; + this._root = path$1.resolve(root); + this._isDirent = ('Dirent' in fs$1) && !opts.alwaysStat; + this._statsProp = this._isDirent ? 'dirent' : 'stats'; + this._rdOptions = { encoding: 'utf8', withFileTypes: this._isDirent }; + + // Launch stream with one parent, the root dir. + try { + this.parents = [this._exploreDir(root, 1)]; + } catch (error) { + this.destroy(error); + } + this.reading = false; + this.parent = undefined; + } + + async _read(batch) { + if (this.reading) return; + this.reading = true; + + try { + while (!this.destroyed && batch > 0) { + const { path, depth, files = [] } = this.parent || {}; + + if (files.length > 0) { + const slice = files.splice(0, batch).map(dirent => this._formatEntry(dirent, path)); + for (const entry of await Promise.all(slice)) { + if (this._isDirAndMatchesFilter(entry)) { + if (depth <= this._maxDepth) { + this.parents.push(this._exploreDir(entry.fullPath, depth + 1)); + } + + if (this._wantsDir) { + this.push(entry); + batch--; + } + } else if (this._isFileAndMatchesFilter(entry)) { + if (this._wantsFile) { + this.push(entry); + batch--; + } + } + } + } else { + const parent = this.parents.pop(); + if (!parent) { + this.push(null); + break; + } + this.parent = await parent; + } + } + } catch (error) { + this.destroy(error); + } finally { + this.reading = false; + } + } + + async _exploreDir(path, depth) { + let files; + try { + files = await readdir$1(path, this._rdOptions); + } catch (error) { + this._onError(error); + } + return {files, depth, path}; + } + + async _formatEntry(dirent, path) { + const basename = this._isDirent ? dirent.name : dirent; + const fullPath = path$1.resolve(path$1.join(path, basename)); + const entry = {path: path$1.relative(this._root, fullPath), fullPath, basename}; + try { + entry[this._statsProp] = this._isDirent ? dirent : await this._stat(fullPath); + } catch (err) { + this._onError(err); + } + return entry; + } + + _onError(err) { + if (isNormalFlowError(err) && !this.destroyed) { + this.emit('warn', err); + } else { + throw err; + } + } + + _isDirAndMatchesFilter(entry) { + // entry may be undefined, because a warning or an error were emitted + // and the statsProp is undefined + const stats = entry && entry[this._statsProp]; + return stats && stats.isDirectory() && this._directoryFilter(entry); + } + + _isFileAndMatchesFilter(entry) { + const stats = entry && entry[this._statsProp]; + const isFileType = stats && ( + (this._wantsEverything && !stats.isDirectory()) || + (stats.isFile() || stats.isSymbolicLink()) + ); + return isFileType && this._fileFilter(entry); + } +} + +/** + * @typedef {Object} ReaddirpArguments + * @property {Function=} fileFilter + * @property {Function=} directoryFilter + * @property {String=} type + * @property {Number=} depth + * @property {String=} root + * @property {Boolean=} lstat + * @property {Boolean=} bigint + */ + +/** + * Main function which ends up calling readdirRec and reads all files and directories in given root recursively. + * @param {String} root Root directory + * @param {ReaddirpArguments=} options Options to specify root (start directory), filters and recursion depth + */ +const readdirp = (root, options = {}) => { + let type = options.entryType || options.type; + if (type === 'both') type = FILE_DIR_TYPE; // backwards-compatibility + if (type) options.type = type; + if (!root) { + throw new Error('readdirp: root argument is required. Usage: readdirp(root, options)'); + } else if (typeof root !== 'string') { + throw new TypeError('readdirp: root argument must be a string. Usage: readdirp(root, options)'); + } else if (type && !ALL_TYPES.includes(type)) { + throw new Error(`readdirp: Invalid type passed. Use one of ${ALL_TYPES.join(', ')}`); + } + + options.root = root; + return new ReaddirpStream(options); +}; + +const readdirpPromise = (root, options = {}) => { + return new Promise((resolve, reject) => { + const files = []; + readdirp(root, options) + .on('data', entry => files.push(entry)) + .on('end', () => resolve(files)) + .on('error', error => reject(error)); + }); +}; + +readdirp.promise = readdirpPromise; +readdirp.ReaddirpStream = ReaddirpStream; +readdirp.default = readdirp; + +var readdirp_1 = readdirp; + +/*! + * normalize-path + * + * Copyright (c) 2014-2018, Jon Schlinkert. + * Released under the MIT License. + */ + +var normalizePath = function(path, stripTrailing) { + if (typeof path !== 'string') { + throw new TypeError('expected path to be a string'); + } + + if (path === '\\' || path === '/') return '/'; + + var len = path.length; + if (len <= 1) return path; + + // ensure that win32 namespaces has two leading slashes, so that the path is + // handled properly by the win32 version of path.parse() after being normalized + // https://msdn.microsoft.com/library/windows/desktop/aa365247(v=vs.85).aspx#namespaces + var prefix = ''; + if (len > 4 && path[3] === '\\') { + var ch = path[2]; + if ((ch === '?' || ch === '.') && path.slice(0, 2) === '\\\\') { + path = path.slice(2); + prefix = '//'; + } + } + + var segs = path.split(/[/\\]+/); + if (stripTrailing !== false && segs[segs.length - 1] === '') { + segs.pop(); + } + return prefix + segs.join('/'); +}; + +var anymatch_1 = createCommonjsModule(function (module, exports) { + +Object.defineProperty(exports, "__esModule", { value: true }); + + + + +/** + * @typedef {(testString: string) => boolean} AnymatchFn + * @typedef {string|RegExp|AnymatchFn} AnymatchPattern + * @typedef {AnymatchPattern|AnymatchPattern[]} AnymatchMatcher + */ +const BANG = '!'; +const DEFAULT_OPTIONS = {returnIndex: false}; +const arrify = (item) => Array.isArray(item) ? item : [item]; + +/** + * @param {AnymatchPattern} matcher + * @param {object} options + * @returns {AnymatchFn} + */ +const createPattern = (matcher, options) => { + if (typeof matcher === 'function') { + return matcher; + } + if (typeof matcher === 'string') { + const glob = picomatch$1(matcher, options); + return (string) => matcher === string || glob(string); + } + if (matcher instanceof RegExp) { + return (string) => matcher.test(string); + } + return (string) => false; +}; + +/** + * @param {Array} patterns + * @param {Array} negPatterns + * @param {String|Array} args + * @param {Boolean} returnIndex + * @returns {boolean|number} + */ +const matchPatterns = (patterns, negPatterns, args, returnIndex) => { + const isList = Array.isArray(args); + const _path = isList ? args[0] : args; + if (!isList && typeof _path !== 'string') { + throw new TypeError('anymatch: second argument must be a string: got ' + + Object.prototype.toString.call(_path)) + } + const path = normalizePath(_path); + + for (let index = 0; index < negPatterns.length; index++) { + const nglob = negPatterns[index]; + if (nglob(path)) { + return returnIndex ? -1 : false; + } + } + + const applied = isList && [path].concat(args.slice(1)); + for (let index = 0; index < patterns.length; index++) { + const pattern = patterns[index]; + if (isList ? pattern(...applied) : pattern(path)) { + return returnIndex ? index : true; + } + } + + return returnIndex ? -1 : false; +}; + +/** + * @param {AnymatchMatcher} matchers + * @param {Array|string} testString + * @param {object} options + * @returns {boolean|number|Function} + */ +const anymatch = (matchers, testString, options = DEFAULT_OPTIONS) => { + if (matchers == null) { + throw new TypeError('anymatch: specify first argument'); + } + const opts = typeof options === 'boolean' ? {returnIndex: options} : options; + const returnIndex = opts.returnIndex || false; + + // Early cache for matchers. + const mtchers = arrify(matchers); + const negatedGlobs = mtchers + .filter(item => typeof item === 'string' && item.charAt(0) === BANG) + .map(item => item.slice(1)) + .map(item => picomatch$1(item, opts)); + const patterns = mtchers.map(matcher => createPattern(matcher, opts)); + + if (testString == null) { + return (testString, ri = false) => { + const returnIndex = typeof ri === 'boolean' ? ri : false; + return matchPatterns(patterns, negatedGlobs, testString, returnIndex); + } + } + + return matchPatterns(patterns, negatedGlobs, testString, returnIndex); +}; + +anymatch.default = anymatch; +module.exports = anymatch; +}); + +unwrapExports(anymatch_1); + +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ + +var isExtglob = function isExtglob(str) { + if (typeof str !== 'string' || str === '') { + return false; + } + + var match; + while ((match = /(\\).|([@?!+*]\(.*\))/g.exec(str))) { + if (match[2]) return true; + str = str.slice(match.index + match[0].length); + } + + return false; +}; + +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + + +var chars$1 = { '{': '}', '(': ')', '[': ']'}; +var strictRegex = /\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/; +var relaxedRegex = /\\(.)|(^!|[*?{}()[\]]|\(\?)/; + +var isGlob = function isGlob(str, options) { + if (typeof str !== 'string' || str === '') { + return false; + } + + if (isExtglob(str)) { + return true; + } + + var regex = strictRegex; + var match; + + // optionally relax regex + if (options && options.strict === false) { + regex = relaxedRegex; + } + + while ((match = regex.exec(str))) { + if (match[2]) return true; + var idx = match.index + match[0].length; + + // if an open bracket/brace/paren is escaped, + // set the index to the next closing character + var open = match[1]; + var close = open ? chars$1[open] : null; + if (open && close) { + var n = str.indexOf(close, idx); + if (n !== -1) { + idx = n + 1; + } + } + + str = str.slice(idx); + } + return false; +}; + +var pathPosixDirname = path$1.posix.dirname; +var isWin32 = os.platform() === 'win32'; + +var slash = '/'; +var backslash = /\\/g; +var enclosure = /[\{\[].*[\/]*.*[\}\]]$/; +var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; +var escaped = /\\([\*\?\|\[\]\(\)\{\}])/g; + +/** + * @param {string} str + * @param {Object} opts + * @param {boolean} [opts.flipBackslashes=true] + */ +var globParent = function globParent(str, opts) { + var options = Object.assign({ flipBackslashes: true }, opts); + + // flip windows path separators + if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) { + str = str.replace(backslash, slash); + } + + // special case for strings ending in enclosure containing path separator + if (enclosure.test(str)) { + str += slash; + } + + // preserves full path in case of trailing path separator + str += 'a'; + + // remove path parts that are globby + do { + str = pathPosixDirname(str); + } while (isGlob(str) || globby.test(str)); + + // remove escape chars and return result + return str.replace(escaped, '$1'); +}; + +var utils$2 = createCommonjsModule(function (module, exports) { + +exports.isInteger = num => { + if (typeof num === 'number') { + return Number.isInteger(num); + } + if (typeof num === 'string' && num.trim() !== '') { + return Number.isInteger(Number(num)); + } + return false; +}; + +/** + * Find a node of the given type + */ + +exports.find = (node, type) => node.nodes.find(node => node.type === type); + +/** + * Find a node of the given type + */ + +exports.exceedsLimit = (min, max, step = 1, limit) => { + if (limit === false) return false; + if (!exports.isInteger(min) || !exports.isInteger(max)) return false; + return ((Number(max) - Number(min)) / Number(step)) >= limit; +}; + +/** + * Escape the given node with '\\' before node.value + */ + +exports.escapeNode = (block, n = 0, type) => { + let node = block.nodes[n]; + if (!node) return; + + if ((type && node.type === type) || node.type === 'open' || node.type === 'close') { + if (node.escaped !== true) { + node.value = '\\' + node.value; + node.escaped = true; + } + } +}; + +/** + * Returns true if the given brace node should be enclosed in literal braces + */ + +exports.encloseBrace = node => { + if (node.type !== 'brace') return false; + if ((node.commas >> 0 + node.ranges >> 0) === 0) { + node.invalid = true; + return true; + } + return false; +}; + +/** + * Returns true if a brace node is invalid. + */ + +exports.isInvalidBrace = block => { + if (block.type !== 'brace') return false; + if (block.invalid === true || block.dollar) return true; + if ((block.commas >> 0 + block.ranges >> 0) === 0) { + block.invalid = true; + return true; + } + if (block.open !== true || block.close !== true) { + block.invalid = true; + return true; + } + return false; +}; + +/** + * Returns true if a node is an open or close node + */ + +exports.isOpenOrClose = node => { + if (node.type === 'open' || node.type === 'close') { + return true; + } + return node.open === true || node.close === true; +}; + +/** + * Reduce an array of text nodes. + */ + +exports.reduce = nodes => nodes.reduce((acc, node) => { + if (node.type === 'text') acc.push(node.value); + if (node.type === 'range') node.type = 'text'; + return acc; +}, []); + +/** + * Flatten an array + */ + +exports.flatten = (...args) => { + const result = []; + const flat = arr => { + for (let i = 0; i < arr.length; i++) { + let ele = arr[i]; + Array.isArray(ele) ? flat(ele) : ele !== void 0 && result.push(ele); + } + return result; + }; + flat(args); + return result; +}; +}); +var utils_1$2 = utils$2.isInteger; +var utils_2$2 = utils$2.find; +var utils_3$2 = utils$2.exceedsLimit; +var utils_4$2 = utils$2.escapeNode; +var utils_5$2 = utils$2.encloseBrace; +var utils_6$1 = utils$2.isInvalidBrace; +var utils_7$1 = utils$2.isOpenOrClose; +var utils_8$1 = utils$2.reduce; +var utils_9$1 = utils$2.flatten; + +var stringify$3 = (ast, options = {}) => { + let stringify = (node, parent = {}) => { + let invalidBlock = options.escapeInvalid && utils$2.isInvalidBrace(parent); + let invalidNode = node.invalid === true && options.escapeInvalid === true; + let output = ''; + + if (node.value) { + if ((invalidBlock || invalidNode) && utils$2.isOpenOrClose(node)) { + return '\\' + node.value; + } + return node.value; + } + + if (node.value) { + return node.value; + } + + if (node.nodes) { + for (let child of node.nodes) { + output += stringify(child); + } + } + return output; + }; + + return stringify(ast); +}; + +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ + +var isNumber$1 = function(num) { + if (typeof num === 'number') { + return num - num === 0; + } + if (typeof num === 'string' && num.trim() !== '') { + return Number.isFinite ? Number.isFinite(+num) : isFinite(+num); + } + return false; +}; + +const toRegexRange = (min, max, options) => { + if (isNumber$1(min) === false) { + throw new TypeError('toRegexRange: expected the first argument to be a number'); + } + + if (max === void 0 || min === max) { + return String(min); + } + + if (isNumber$1(max) === false) { + throw new TypeError('toRegexRange: expected the second argument to be a number.'); + } + + let opts = { relaxZeros: true, ...options }; + if (typeof opts.strictZeros === 'boolean') { + opts.relaxZeros = opts.strictZeros === false; + } + + let relax = String(opts.relaxZeros); + let shorthand = String(opts.shorthand); + let capture = String(opts.capture); + let wrap = String(opts.wrap); + let cacheKey = min + ':' + max + '=' + relax + shorthand + capture + wrap; + + if (toRegexRange.cache.hasOwnProperty(cacheKey)) { + return toRegexRange.cache[cacheKey].result; + } + + let a = Math.min(min, max); + let b = Math.max(min, max); + + if (Math.abs(a - b) === 1) { + let result = min + '|' + max; + if (opts.capture) { + return `(${result})`; + } + if (opts.wrap === false) { + return result; + } + return `(?:${result})`; + } + + let isPadded = hasPadding(min) || hasPadding(max); + let state = { min, max, a, b }; + let positives = []; + let negatives = []; + + if (isPadded) { + state.isPadded = isPadded; + state.maxLen = String(state.max).length; + } + + if (a < 0) { + let newMin = b < 0 ? Math.abs(b) : 1; + negatives = splitToPatterns(newMin, Math.abs(a), state, opts); + a = state.a = 0; + } + + if (b >= 0) { + positives = splitToPatterns(a, b, state, opts); + } + + state.negatives = negatives; + state.positives = positives; + state.result = collatePatterns(negatives, positives); + + if (opts.capture === true) { + state.result = `(${state.result})`; + } else if (opts.wrap !== false && (positives.length + negatives.length) > 1) { + state.result = `(?:${state.result})`; + } + + toRegexRange.cache[cacheKey] = state; + return state.result; +}; + +function collatePatterns(neg, pos, options) { + let onlyNegative = filterPatterns(neg, pos, '-', false) || []; + let onlyPositive = filterPatterns(pos, neg, '', false) || []; + let intersected = filterPatterns(neg, pos, '-?', true) || []; + let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive); + return subpatterns.join('|'); +} + +function splitToRanges(min, max) { + let nines = 1; + let zeros = 1; + + let stop = countNines(min, nines); + let stops = new Set([max]); + + while (min <= stop && stop <= max) { + stops.add(stop); + nines += 1; + stop = countNines(min, nines); + } + + stop = countZeros(max + 1, zeros) - 1; + + while (min < stop && stop <= max) { + stops.add(stop); + zeros += 1; + stop = countZeros(max + 1, zeros) - 1; + } + + stops = [...stops]; + stops.sort(compare$1); + return stops; +} + +/** + * Convert a range to a regex pattern + * @param {Number} `start` + * @param {Number} `stop` + * @return {String} + */ + +function rangeToPattern(start, stop, options) { + if (start === stop) { + return { pattern: start, count: [], digits: 0 }; + } + + let zipped = zip(start, stop); + let digits = zipped.length; + let pattern = ''; + let count = 0; + + for (let i = 0; i < digits; i++) { + let [startDigit, stopDigit] = zipped[i]; + + if (startDigit === stopDigit) { + pattern += startDigit; + + } else if (startDigit !== '0' || stopDigit !== '9') { + pattern += toCharacterClass(startDigit, stopDigit); + + } else { + count++; + } + } + + if (count) { + pattern += options.shorthand === true ? '\\d' : '[0-9]'; + } + + return { pattern, count: [count], digits }; +} + +function splitToPatterns(min, max, tok, options) { + let ranges = splitToRanges(min, max); + let tokens = []; + let start = min; + let prev; + + for (let i = 0; i < ranges.length; i++) { + let max = ranges[i]; + let obj = rangeToPattern(String(start), String(max), options); + let zeros = ''; + + if (!tok.isPadded && prev && prev.pattern === obj.pattern) { + if (prev.count.length > 1) { + prev.count.pop(); + } + + prev.count.push(obj.count[0]); + prev.string = prev.pattern + toQuantifier(prev.count); + start = max + 1; + continue; + } + + if (tok.isPadded) { + zeros = padZeros(max, tok, options); + } + + obj.string = zeros + obj.pattern + toQuantifier(obj.count); + tokens.push(obj); + start = max + 1; + prev = obj; + } + + return tokens; +} + +function filterPatterns(arr, comparison, prefix, intersection, options) { + let result = []; + + for (let ele of arr) { + let { string } = ele; + + // only push if _both_ are negative... + if (!intersection && !contains(comparison, 'string', string)) { + result.push(prefix + string); + } + + // or _both_ are positive + if (intersection && contains(comparison, 'string', string)) { + result.push(prefix + string); + } + } + return result; +} + +/** + * Zip strings + */ + +function zip(a, b) { + let arr = []; + for (let i = 0; i < a.length; i++) arr.push([a[i], b[i]]); + return arr; +} + +function compare$1(a, b) { + return a > b ? 1 : b > a ? -1 : 0; +} + +function contains(arr, key, val) { + return arr.some(ele => ele[key] === val); +} + +function countNines(min, len) { + return Number(String(min).slice(0, -len) + '9'.repeat(len)); +} + +function countZeros(integer, zeros) { + return integer - (integer % Math.pow(10, zeros)); +} + +function toQuantifier(digits) { + let [start = 0, stop = ''] = digits; + if (stop || start > 1) { + return `{${start + (stop ? ',' + stop : '')}}`; + } + return ''; +} + +function toCharacterClass(a, b, options) { + return `[${a}${(b - a === 1) ? '' : '-'}${b}]`; +} + +function hasPadding(str) { + return /^-?(0+)\d/.test(str); +} + +function padZeros(value, tok, options) { + if (!tok.isPadded) { + return value; + } + + let diff = Math.abs(tok.maxLen - String(value).length); + let relax = options.relaxZeros !== false; + + switch (diff) { + case 0: + return ''; + case 1: + return relax ? '0?' : '0'; + case 2: + return relax ? '0{0,2}' : '00'; + default: { + return relax ? `0{0,${diff}}` : `0{${diff}}`; + } + } +} + +/** + * Cache + */ + +toRegexRange.cache = {}; +toRegexRange.clearCache = () => (toRegexRange.cache = {}); + +/** + * Expose `toRegexRange` + */ + +var toRegexRange_1 = toRegexRange; + +const isObject$3 = val => val !== null && typeof val === 'object' && !Array.isArray(val); + +const transform$2 = toNumber => { + return value => toNumber === true ? Number(value) : String(value); +}; + +const isValidValue = value => { + return typeof value === 'number' || (typeof value === 'string' && value !== ''); +}; + +const isNumber$2 = num => Number.isInteger(+num); + +const zeros = input => { + let value = `${input}`; + let index = -1; + if (value[0] === '-') value = value.slice(1); + if (value === '0') return false; + while (value[++index] === '0'); + return index > 0; +}; + +const stringify$4 = (start, end, options) => { + if (typeof start === 'string' || typeof end === 'string') { + return true; + } + return options.stringify === true; +}; + +const pad = (input, maxLength, toNumber) => { + if (maxLength > 0) { + let dash = input[0] === '-' ? '-' : ''; + if (dash) input = input.slice(1); + input = (dash + input.padStart(dash ? maxLength - 1 : maxLength, '0')); + } + if (toNumber === false) { + return String(input); + } + return input; +}; + +const toMaxLen = (input, maxLength) => { + let negative = input[0] === '-' ? '-' : ''; + if (negative) { + input = input.slice(1); + maxLength--; + } + while (input.length < maxLength) input = '0' + input; + return negative ? ('-' + input) : input; +}; + +const toSequence = (parts, options) => { + parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); + parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); + + let prefix = options.capture ? '' : '?:'; + let positives = ''; + let negatives = ''; + let result; + + if (parts.positives.length) { + positives = parts.positives.join('|'); + } + + if (parts.negatives.length) { + negatives = `-(${prefix}${parts.negatives.join('|')})`; + } + + if (positives && negatives) { + result = `${positives}|${negatives}`; + } else { + result = positives || negatives; + } + + if (options.wrap) { + return `(${prefix}${result})`; + } + + return result; +}; + +const toRange = (a, b, isNumbers, options) => { + if (isNumbers) { + return toRegexRange_1(a, b, { wrap: false, ...options }); + } + + let start = String.fromCharCode(a); + if (a === b) return start; + + let stop = String.fromCharCode(b); + return `[${start}-${stop}]`; +}; + +const toRegex = (start, end, options) => { + if (Array.isArray(start)) { + let wrap = options.wrap === true; + let prefix = options.capture ? '' : '?:'; + return wrap ? `(${prefix}${start.join('|')})` : start.join('|'); + } + return toRegexRange_1(start, end, options); +}; + +const rangeError = (...args) => { + return new RangeError('Invalid range arguments: ' + util$1.inspect(...args)); +}; + +const invalidRange = (start, end, options) => { + if (options.strictRanges === true) throw rangeError([start, end]); + return []; +}; + +const invalidStep = (step, options) => { + if (options.strictRanges === true) { + throw new TypeError(`Expected step "${step}" to be a number`); + } + return []; +}; + +const fillNumbers = (start, end, step = 1, options = {}) => { + let a = Number(start); + let b = Number(end); + + if (!Number.isInteger(a) || !Number.isInteger(b)) { + if (options.strictRanges === true) throw rangeError([start, end]); + return []; + } + + // fix negative zero + if (a === 0) a = 0; + if (b === 0) b = 0; + + let descending = a > b; + let startString = String(start); + let endString = String(end); + let stepString = String(step); + step = Math.max(Math.abs(step), 1); + + let padded = zeros(startString) || zeros(endString) || zeros(stepString); + let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0; + let toNumber = padded === false && stringify$4(start, end, options) === false; + let format = options.transform || transform$2(toNumber); + + if (options.toRegex && step === 1) { + return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options); + } + + let parts = { negatives: [], positives: [] }; + let push = num => parts[num < 0 ? 'negatives' : 'positives'].push(Math.abs(num)); + let range = []; + let index = 0; + + while (descending ? a >= b : a <= b) { + if (options.toRegex === true && step > 1) { + push(a); + } else { + range.push(pad(format(a, index), maxLen, toNumber)); + } + a = descending ? a - step : a + step; + index++; + } + + if (options.toRegex === true) { + return step > 1 + ? toSequence(parts, options) + : toRegex(range, null, { wrap: false, ...options }); + } + + return range; +}; + +const fillLetters = (start, end, step = 1, options = {}) => { + if ((!isNumber$2(start) && start.length > 1) || (!isNumber$2(end) && end.length > 1)) { + return invalidRange(start, end, options); + } + + + let format = options.transform || (val => String.fromCharCode(val)); + let a = `${start}`.charCodeAt(0); + let b = `${end}`.charCodeAt(0); + + let descending = a > b; + let min = Math.min(a, b); + let max = Math.max(a, b); + + if (options.toRegex && step === 1) { + return toRange(min, max, false, options); + } + + let range = []; + let index = 0; + + while (descending ? a >= b : a <= b) { + range.push(format(a, index)); + a = descending ? a - step : a + step; + index++; + } + + if (options.toRegex === true) { + return toRegex(range, null, { wrap: false, options }); + } + + return range; +}; + +const fill = (start, end, step, options = {}) => { + if (end == null && isValidValue(start)) { + return [start]; + } + + if (!isValidValue(start) || !isValidValue(end)) { + return invalidRange(start, end, options); + } + + if (typeof step === 'function') { + return fill(start, end, 1, { transform: step }); + } + + if (isObject$3(step)) { + return fill(start, end, 0, step); + } + + let opts = { ...options }; + if (opts.capture === true) opts.wrap = true; + step = step || opts.step || 1; + + if (!isNumber$2(step)) { + if (step != null && !isObject$3(step)) return invalidStep(step, opts); + return fill(start, end, 1, step); + } + + if (isNumber$2(start) && isNumber$2(end)) { + return fillNumbers(start, end, step, opts); + } + + return fillLetters(start, end, Math.max(Math.abs(step), 1), opts); +}; + +var fillRange = fill; + +const compile$2 = (ast, options = {}) => { + let walk = (node, parent = {}) => { + let invalidBlock = utils$2.isInvalidBrace(parent); + let invalidNode = node.invalid === true && options.escapeInvalid === true; + let invalid = invalidBlock === true || invalidNode === true; + let prefix = options.escapeInvalid === true ? '\\' : ''; + let output = ''; + + if (node.isOpen === true) { + return prefix + node.value; + } + if (node.isClose === true) { + return prefix + node.value; + } + + if (node.type === 'open') { + return invalid ? (prefix + node.value) : '('; + } + + if (node.type === 'close') { + return invalid ? (prefix + node.value) : ')'; + } + + if (node.type === 'comma') { + return node.prev.type === 'comma' ? '' : (invalid ? node.value : '|'); + } + + if (node.value) { + return node.value; + } + + if (node.nodes && node.ranges > 0) { + let args = utils$2.reduce(node.nodes); + let range = fillRange(...args, { ...options, wrap: false, toRegex: true }); + + if (range.length !== 0) { + return args.length > 1 && range.length > 1 ? `(${range})` : range; + } + } + + if (node.nodes) { + for (let child of node.nodes) { + output += walk(child, node); + } + } + return output; + }; + + return walk(ast); +}; + +var compile_1 = compile$2; + +const append = (queue = '', stash = '', enclose = false) => { + let result = []; + + queue = [].concat(queue); + stash = [].concat(stash); + + if (!stash.length) return queue; + if (!queue.length) { + return enclose ? utils$2.flatten(stash).map(ele => `{${ele}}`) : stash; + } + + for (let item of queue) { + if (Array.isArray(item)) { + for (let value of item) { + result.push(append(value, stash, enclose)); + } + } else { + for (let ele of stash) { + if (enclose === true && typeof ele === 'string') ele = `{${ele}}`; + result.push(Array.isArray(ele) ? append(item, ele, enclose) : (item + ele)); + } + } + } + return utils$2.flatten(result); +}; + +const expand$2 = (ast, options = {}) => { + let rangeLimit = options.rangeLimit === void 0 ? 1000 : options.rangeLimit; + + let walk = (node, parent = {}) => { + node.queue = []; + + let p = parent; + let q = parent.queue; + + while (p.type !== 'brace' && p.type !== 'root' && p.parent) { + p = p.parent; + q = p.queue; + } + + if (node.invalid || node.dollar) { + q.push(append(q.pop(), stringify$3(node, options))); + return; + } + + if (node.type === 'brace' && node.invalid !== true && node.nodes.length === 2) { + q.push(append(q.pop(), ['{}'])); + return; + } + + if (node.nodes && node.ranges > 0) { + let args = utils$2.reduce(node.nodes); + + if (utils$2.exceedsLimit(...args, options.step, rangeLimit)) { + throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.'); + } + + let range = fillRange(...args, options); + if (range.length === 0) { + range = stringify$3(node, options); + } + + q.push(append(q.pop(), range)); + node.nodes = []; + return; + } + + let enclose = utils$2.encloseBrace(node); + let queue = node.queue; + let block = node; + + while (block.type !== 'brace' && block.type !== 'root' && block.parent) { + block = block.parent; + queue = block.queue; + } + + for (let i = 0; i < node.nodes.length; i++) { + let child = node.nodes[i]; + + if (child.type === 'comma' && node.type === 'brace') { + if (i === 1) queue.push(''); + queue.push(''); + continue; + } + + if (child.type === 'close') { + q.push(append(q.pop(), queue, enclose)); + continue; + } + + if (child.value && child.type !== 'open') { + queue.push(append(queue.pop(), child.value)); + continue; + } + + if (child.nodes) { + walk(child, node); + } + } + + return queue; + }; + + return utils$2.flatten(walk(ast)); +}; + +var expand_1 = expand$2; + +var constants$1 = { + MAX_LENGTH: 1024 * 64, + + // Digits + CHAR_0: '0', /* 0 */ + CHAR_9: '9', /* 9 */ + + // Alphabet chars. + CHAR_UPPERCASE_A: 'A', /* A */ + CHAR_LOWERCASE_A: 'a', /* a */ + CHAR_UPPERCASE_Z: 'Z', /* Z */ + CHAR_LOWERCASE_Z: 'z', /* z */ + + CHAR_LEFT_PARENTHESES: '(', /* ( */ + CHAR_RIGHT_PARENTHESES: ')', /* ) */ + + CHAR_ASTERISK: '*', /* * */ + + // Non-alphabetic chars. + CHAR_AMPERSAND: '&', /* & */ + CHAR_AT: '@', /* @ */ + CHAR_BACKSLASH: '\\', /* \ */ + CHAR_BACKTICK: '`', /* ` */ + CHAR_CARRIAGE_RETURN: '\r', /* \r */ + CHAR_CIRCUMFLEX_ACCENT: '^', /* ^ */ + CHAR_COLON: ':', /* : */ + CHAR_COMMA: ',', /* , */ + CHAR_DOLLAR: '$', /* . */ + CHAR_DOT: '.', /* . */ + CHAR_DOUBLE_QUOTE: '"', /* " */ + CHAR_EQUAL: '=', /* = */ + CHAR_EXCLAMATION_MARK: '!', /* ! */ + CHAR_FORM_FEED: '\f', /* \f */ + CHAR_FORWARD_SLASH: '/', /* / */ + CHAR_HASH: '#', /* # */ + CHAR_HYPHEN_MINUS: '-', /* - */ + CHAR_LEFT_ANGLE_BRACKET: '<', /* < */ + CHAR_LEFT_CURLY_BRACE: '{', /* { */ + CHAR_LEFT_SQUARE_BRACKET: '[', /* [ */ + CHAR_LINE_FEED: '\n', /* \n */ + CHAR_NO_BREAK_SPACE: '\u00A0', /* \u00A0 */ + CHAR_PERCENT: '%', /* % */ + CHAR_PLUS: '+', /* + */ + CHAR_QUESTION_MARK: '?', /* ? */ + CHAR_RIGHT_ANGLE_BRACKET: '>', /* > */ + CHAR_RIGHT_CURLY_BRACE: '}', /* } */ + CHAR_RIGHT_SQUARE_BRACKET: ']', /* ] */ + CHAR_SEMICOLON: ';', /* ; */ + CHAR_SINGLE_QUOTE: '\'', /* ' */ + CHAR_SPACE: ' ', /* */ + CHAR_TAB: '\t', /* \t */ + CHAR_UNDERSCORE: '_', /* _ */ + CHAR_VERTICAL_LINE: '|', /* | */ + CHAR_ZERO_WIDTH_NOBREAK_SPACE: '\uFEFF' /* \uFEFF */ +}; + +/** + * Constants + */ + +const { + MAX_LENGTH: MAX_LENGTH$1, + CHAR_BACKSLASH, /* \ */ + CHAR_BACKTICK, /* ` */ + CHAR_COMMA: CHAR_COMMA$2, /* , */ + CHAR_DOT: CHAR_DOT$1, /* . */ + CHAR_LEFT_PARENTHESES: CHAR_LEFT_PARENTHESES$1, /* ( */ + CHAR_RIGHT_PARENTHESES: CHAR_RIGHT_PARENTHESES$1, /* ) */ + CHAR_LEFT_CURLY_BRACE: CHAR_LEFT_CURLY_BRACE$1, /* { */ + CHAR_RIGHT_CURLY_BRACE: CHAR_RIGHT_CURLY_BRACE$1, /* } */ + CHAR_LEFT_SQUARE_BRACKET: CHAR_LEFT_SQUARE_BRACKET$2, /* [ */ + CHAR_RIGHT_SQUARE_BRACKET: CHAR_RIGHT_SQUARE_BRACKET$2, /* ] */ + CHAR_DOUBLE_QUOTE: CHAR_DOUBLE_QUOTE$1, /* " */ + CHAR_SINGLE_QUOTE: CHAR_SINGLE_QUOTE$1, /* ' */ + CHAR_NO_BREAK_SPACE, + CHAR_ZERO_WIDTH_NOBREAK_SPACE +} = constants$1; + +/** + * parse + */ + +const parse$6 = (input, options = {}) => { + if (typeof input !== 'string') { + throw new TypeError('Expected a string'); + } + + let opts = options || {}; + let max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH$1, opts.maxLength) : MAX_LENGTH$1; + if (input.length > max) { + throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`); + } + + let ast = { type: 'root', input, nodes: [] }; + let stack = [ast]; + let block = ast; + let prev = ast; + let brackets = 0; + let length = input.length; + let index = 0; + let depth = 0; + let value; + + /** + * Helpers + */ + + const advance = () => input[index++]; + const push = node => { + if (node.type === 'text' && prev.type === 'dot') { + prev.type = 'text'; + } + + if (prev && prev.type === 'text' && node.type === 'text') { + prev.value += node.value; + return; + } + + block.nodes.push(node); + node.parent = block; + node.prev = prev; + prev = node; + return node; + }; + + push({ type: 'bos' }); + + while (index < length) { + block = stack[stack.length - 1]; + value = advance(); + + /** + * Invalid chars + */ + + if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) { + continue; + } + + /** + * Escaped chars + */ + + if (value === CHAR_BACKSLASH) { + push({ type: 'text', value: (options.keepEscaping ? value : '') + advance() }); + continue; + } + + /** + * Right square bracket (literal): ']' + */ + + if (value === CHAR_RIGHT_SQUARE_BRACKET$2) { + push({ type: 'text', value: '\\' + value }); + continue; + } + + /** + * Left square bracket: '[' + */ + + if (value === CHAR_LEFT_SQUARE_BRACKET$2) { + brackets++; + let next; + + while (index < length && (next = advance())) { + value += next; + + if (next === CHAR_LEFT_SQUARE_BRACKET$2) { + brackets++; + continue; + } + + if (next === CHAR_BACKSLASH) { + value += advance(); + continue; + } + + if (next === CHAR_RIGHT_SQUARE_BRACKET$2) { + brackets--; + + if (brackets === 0) { + break; + } + } + } + + push({ type: 'text', value }); + continue; + } + + /** + * Parentheses + */ + + if (value === CHAR_LEFT_PARENTHESES$1) { + block = push({ type: 'paren', nodes: [] }); + stack.push(block); + push({ type: 'text', value }); + continue; + } + + if (value === CHAR_RIGHT_PARENTHESES$1) { + if (block.type !== 'paren') { + push({ type: 'text', value }); + continue; + } + block = stack.pop(); + push({ type: 'text', value }); + block = stack[stack.length - 1]; + continue; + } + + /** + * Quotes: '|"|` + */ + + if (value === CHAR_DOUBLE_QUOTE$1 || value === CHAR_SINGLE_QUOTE$1 || value === CHAR_BACKTICK) { + let open = value; + let next; + + if (options.keepQuotes !== true) { + value = ''; + } + + while (index < length && (next = advance())) { + if (next === CHAR_BACKSLASH) { + value += next + advance(); + continue; + } + + if (next === open) { + if (options.keepQuotes === true) value += next; + break; + } + + value += next; + } + + push({ type: 'text', value }); + continue; + } + + /** + * Left curly brace: '{' + */ + + if (value === CHAR_LEFT_CURLY_BRACE$1) { + depth++; + + let dollar = prev.value && prev.value.slice(-1) === '$' || block.dollar === true; + let brace = { + type: 'brace', + open: true, + close: false, + dollar, + depth, + commas: 0, + ranges: 0, + nodes: [] + }; + + block = push(brace); + stack.push(block); + push({ type: 'open', value }); + continue; + } + + /** + * Right curly brace: '}' + */ + + if (value === CHAR_RIGHT_CURLY_BRACE$1) { + if (block.type !== 'brace') { + push({ type: 'text', value }); + continue; + } + + let type = 'close'; + block = stack.pop(); + block.close = true; + + push({ type, value }); + depth--; + + block = stack[stack.length - 1]; + continue; + } + + /** + * Comma: ',' + */ + + if (value === CHAR_COMMA$2 && depth > 0) { + if (block.ranges > 0) { + block.ranges = 0; + let open = block.nodes.shift(); + block.nodes = [open, { type: 'text', value: stringify$3(block) }]; + } + + push({ type: 'comma', value }); + block.commas++; + continue; + } + + /** + * Dot: '.' + */ + + if (value === CHAR_DOT$1 && depth > 0 && block.commas === 0) { + let siblings = block.nodes; + + if (depth === 0 || siblings.length === 0) { + push({ type: 'text', value }); + continue; + } + + if (prev.type === 'dot') { + block.range = []; + prev.value += value; + prev.type = 'range'; + + if (block.nodes.length !== 3 && block.nodes.length !== 5) { + block.invalid = true; + block.ranges = 0; + prev.type = 'text'; + continue; + } + + block.ranges++; + block.args = []; + continue; + } + + if (prev.type === 'range') { + siblings.pop(); + + let before = siblings[siblings.length - 1]; + before.value += prev.value + value; + prev = before; + block.ranges--; + continue; + } + + push({ type: 'dot', value }); + continue; + } + + /** + * Text + */ + + push({ type: 'text', value }); + } + + // Mark imbalanced braces and brackets as invalid + do { + block = stack.pop(); + + if (block.type !== 'root') { + block.nodes.forEach(node => { + if (!node.nodes) { + if (node.type === 'open') node.isOpen = true; + if (node.type === 'close') node.isClose = true; + if (!node.nodes) node.type = 'text'; + node.invalid = true; + } + }); + + // get the location of the block on parent.nodes (block's siblings) + let parent = stack[stack.length - 1]; + let index = parent.nodes.indexOf(block); + // replace the (invalid) block with it's nodes + parent.nodes.splice(index, 1, ...block.nodes); + } + } while (stack.length > 0); + + push({ type: 'eos' }); + return ast; +}; + +var parse_1$2 = parse$6; + +/** + * Expand the given pattern or create a regex-compatible string. + * + * ```js + * const braces = require('braces'); + * console.log(braces('{a,b,c}', { compile: true })); //=> ['(a|b|c)'] + * console.log(braces('{a,b,c}')); //=> ['a', 'b', 'c'] + * ``` + * @param {String} `str` + * @param {Object} `options` + * @return {String} + * @api public + */ + +const braces = (input, options = {}) => { + let output = []; + + if (Array.isArray(input)) { + for (let pattern of input) { + let result = braces.create(pattern, options); + if (Array.isArray(result)) { + output.push(...result); + } else { + output.push(result); + } + } + } else { + output = [].concat(braces.create(input, options)); + } + + if (options && options.expand === true && options.nodupes === true) { + output = [...new Set(output)]; + } + return output; +}; + +/** + * Parse the given `str` with the given `options`. + * + * ```js + * // braces.parse(pattern, [, options]); + * const ast = braces.parse('a/{b,c}/d'); + * console.log(ast); + * ``` + * @param {String} pattern Brace pattern to parse + * @param {Object} options + * @return {Object} Returns an AST + * @api public + */ + +braces.parse = (input, options = {}) => parse_1$2(input, options); + +/** + * Creates a braces string from an AST, or an AST node. + * + * ```js + * const braces = require('braces'); + * let ast = braces.parse('foo/{a,b}/bar'); + * console.log(stringify(ast.nodes[2])); //=> '{a,b}' + * ``` + * @param {String} `input` Brace pattern or AST. + * @param {Object} `options` + * @return {Array} Returns an array of expanded values. + * @api public + */ + +braces.stringify = (input, options = {}) => { + if (typeof input === 'string') { + return stringify$3(braces.parse(input, options), options); + } + return stringify$3(input, options); +}; + +/** + * Compiles a brace pattern into a regex-compatible, optimized string. + * This method is called by the main [braces](#braces) function by default. + * + * ```js + * const braces = require('braces'); + * console.log(braces.compile('a/{b,c}/d')); + * //=> ['a/(b|c)/d'] + * ``` + * @param {String} `input` Brace pattern or AST. + * @param {Object} `options` + * @return {Array} Returns an array of expanded values. + * @api public + */ + +braces.compile = (input, options = {}) => { + if (typeof input === 'string') { + input = braces.parse(input, options); + } + return compile_1(input, options); +}; + +/** + * Expands a brace pattern into an array. This method is called by the + * main [braces](#braces) function when `options.expand` is true. Before + * using this method it's recommended that you read the [performance notes](#performance)) + * and advantages of using [.compile](#compile) instead. + * + * ```js + * const braces = require('braces'); + * console.log(braces.expand('a/{b,c}/d')); + * //=> ['a/b/d', 'a/c/d']; + * ``` + * @param {String} `pattern` Brace pattern + * @param {Object} `options` + * @return {Array} Returns an array of expanded values. + * @api public + */ + +braces.expand = (input, options = {}) => { + if (typeof input === 'string') { + input = braces.parse(input, options); + } + + let result = expand_1(input, options); + + // filter out empty strings if specified + if (options.noempty === true) { + result = result.filter(Boolean); + } + + // filter out duplicates if specified + if (options.nodupes === true) { + result = [...new Set(result)]; + } + + return result; +}; + +/** + * Processes a brace pattern and returns either an expanded array + * (if `options.expand` is true), a highly optimized regex-compatible string. + * This method is called by the main [braces](#braces) function. + * + * ```js + * const braces = require('braces'); + * console.log(braces.create('user-{200..300}/project-{a,b,c}-{1..10}')) + * //=> 'user-(20[0-9]|2[1-9][0-9]|300)/project-(a|b|c)-([1-9]|10)' + * ``` + * @param {String} `pattern` Brace pattern + * @param {Object} `options` + * @return {Array} Returns an array of expanded values. + * @api public + */ + +braces.create = (input, options = {}) => { + if (input === '' || input.length < 3) { + return [input]; + } + + return options.expand !== true + ? braces.compile(input, options) + : braces.expand(input, options); +}; + +/** + * Expose "braces" + */ + +var braces_1 = braces; + +var binaryExtensions = [ + "3dm", + "3ds", + "3g2", + "3gp", + "7z", + "a", + "aac", + "adp", + "ai", + "aif", + "aiff", + "alz", + "ape", + "apk", + "ar", + "arj", + "asf", + "au", + "avi", + "bak", + "baml", + "bh", + "bin", + "bk", + "bmp", + "btif", + "bz2", + "bzip2", + "cab", + "caf", + "cgm", + "class", + "cmx", + "cpio", + "cr2", + "cur", + "dat", + "dcm", + "deb", + "dex", + "djvu", + "dll", + "dmg", + "dng", + "doc", + "docm", + "docx", + "dot", + "dotm", + "dra", + "DS_Store", + "dsk", + "dts", + "dtshd", + "dvb", + "dwg", + "dxf", + "ecelp4800", + "ecelp7470", + "ecelp9600", + "egg", + "eol", + "eot", + "epub", + "exe", + "f4v", + "fbs", + "fh", + "fla", + "flac", + "fli", + "flv", + "fpx", + "fst", + "fvt", + "g3", + "gh", + "gif", + "graffle", + "gz", + "gzip", + "h261", + "h263", + "h264", + "icns", + "ico", + "ief", + "img", + "ipa", + "iso", + "jar", + "jpeg", + "jpg", + "jpgv", + "jpm", + "jxr", + "key", + "ktx", + "lha", + "lib", + "lvp", + "lz", + "lzh", + "lzma", + "lzo", + "m3u", + "m4a", + "m4v", + "mar", + "mdi", + "mht", + "mid", + "midi", + "mj2", + "mka", + "mkv", + "mmr", + "mng", + "mobi", + "mov", + "movie", + "mp3", + "mp4", + "mp4a", + "mpeg", + "mpg", + "mpga", + "mxu", + "nef", + "npx", + "numbers", + "nupkg", + "o", + "oga", + "ogg", + "ogv", + "otf", + "pages", + "pbm", + "pcx", + "pdb", + "pdf", + "pea", + "pgm", + "pic", + "png", + "pnm", + "pot", + "potm", + "potx", + "ppa", + "ppam", + "ppm", + "pps", + "ppsm", + "ppsx", + "ppt", + "pptm", + "pptx", + "psd", + "pya", + "pyc", + "pyo", + "pyv", + "qt", + "rar", + "ras", + "raw", + "resources", + "rgb", + "rip", + "rlc", + "rmf", + "rmvb", + "rtf", + "rz", + "s3m", + "s7z", + "scpt", + "sgi", + "shar", + "sil", + "sketch", + "slk", + "smv", + "snk", + "so", + "stl", + "suo", + "sub", + "swf", + "tar", + "tbz", + "tbz2", + "tga", + "tgz", + "thmx", + "tif", + "tiff", + "tlz", + "ttc", + "ttf", + "txz", + "udf", + "uvh", + "uvi", + "uvm", + "uvp", + "uvs", + "uvu", + "viv", + "vob", + "war", + "wav", + "wax", + "wbmp", + "wdp", + "weba", + "webm", + "webp", + "whl", + "wim", + "wm", + "wma", + "wmv", + "wmx", + "woff", + "woff2", + "wrm", + "wvx", + "xbm", + "xif", + "xla", + "xlam", + "xls", + "xlsb", + "xlsm", + "xlsx", + "xlt", + "xltm", + "xltx", + "xm", + "xmind", + "xpi", + "xpm", + "xwd", + "xz", + "z", + "zip", + "zipx" +]; + +var binaryExtensions$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': binaryExtensions +}); + +var require$$0 = getCjsExportFromNamespace(binaryExtensions$1); + +var binaryExtensions$2 = require$$0; + +const extensions = new Set(binaryExtensions$2); + +var isBinaryPath = filePath => extensions.has(path$1.extname(filePath).slice(1).toLowerCase()); + +var constants$2 = createCommonjsModule(function (module, exports) { + +const {sep} = path$1; +const {platform} = process; + +exports.EV_ALL = 'all'; +exports.EV_READY = 'ready'; +exports.EV_ADD = 'add'; +exports.EV_CHANGE = 'change'; +exports.EV_ADD_DIR = 'addDir'; +exports.EV_UNLINK = 'unlink'; +exports.EV_UNLINK_DIR = 'unlinkDir'; +exports.EV_RAW = 'raw'; +exports.EV_ERROR = 'error'; + +exports.STR_DATA = 'data'; +exports.STR_END = 'end'; +exports.STR_CLOSE = 'close'; + +exports.FSEVENT_CREATED = 'created'; +exports.FSEVENT_MODIFIED = 'modified'; +exports.FSEVENT_DELETED = 'deleted'; +exports.FSEVENT_MOVED = 'moved'; +exports.FSEVENT_CLONED = 'cloned'; +exports.FSEVENT_UNKNOWN = 'unknown'; +exports.FSEVENT_TYPE_DIRECTORY = 'directory'; +exports.FSEVENT_TYPE_SYMLINK = 'symlink'; + +exports.KEY_LISTENERS = 'listeners'; +exports.KEY_ERR = 'errHandlers'; +exports.KEY_RAW = 'rawEmitters'; +exports.HANDLER_KEYS = [exports.KEY_LISTENERS, exports.KEY_ERR, exports.KEY_RAW]; + +exports.DOT_SLASH = `.${sep}`; + +exports.BACK_SLASH_RE = /\\/g; +exports.DOUBLE_SLASH_RE = /\/\//; +exports.SLASH_OR_BACK_SLASH_RE = /[/\\]/; +exports.DOT_RE = /\..*\.(sw[px])$|~$|\.subl.*\.tmp/; +exports.REPLACER_RE = /^\.[/\\]/; + +exports.SLASH = '/'; +exports.BRACE_START = '{'; +exports.BANG = '!'; +exports.ONE_DOT = '.'; +exports.TWO_DOTS = '..'; +exports.STAR = '*'; +exports.GLOBSTAR = '**'; +exports.ROOT_GLOBSTAR = '/**/*'; +exports.SLASH_GLOBSTAR = '/**'; +exports.DIR_SUFFIX = 'Dir'; +exports.ANYMATCH_OPTS = {dot: true}; +exports.STRING_TYPE = 'string'; +exports.FUNCTION_TYPE = 'function'; +exports.EMPTY_STR = ''; +exports.EMPTY_FN = () => {}; +exports.IDENTITY_FN = val => val; + +exports.isWindows = platform === 'win32'; +exports.isMacos = platform === 'darwin'; +}); +var constants_1 = constants$2.EV_ALL; +var constants_2 = constants$2.EV_READY; +var constants_3 = constants$2.EV_ADD; +var constants_4 = constants$2.EV_CHANGE; +var constants_5 = constants$2.EV_ADD_DIR; +var constants_6 = constants$2.EV_UNLINK; +var constants_7 = constants$2.EV_UNLINK_DIR; +var constants_8 = constants$2.EV_RAW; +var constants_9 = constants$2.EV_ERROR; +var constants_10 = constants$2.STR_DATA; +var constants_11 = constants$2.STR_END; +var constants_12 = constants$2.STR_CLOSE; +var constants_13 = constants$2.FSEVENT_CREATED; +var constants_14 = constants$2.FSEVENT_MODIFIED; +var constants_15 = constants$2.FSEVENT_DELETED; +var constants_16 = constants$2.FSEVENT_MOVED; +var constants_17 = constants$2.FSEVENT_CLONED; +var constants_18 = constants$2.FSEVENT_UNKNOWN; +var constants_19 = constants$2.FSEVENT_TYPE_DIRECTORY; +var constants_20 = constants$2.FSEVENT_TYPE_SYMLINK; +var constants_21 = constants$2.KEY_LISTENERS; +var constants_22 = constants$2.KEY_ERR; +var constants_23 = constants$2.KEY_RAW; +var constants_24 = constants$2.HANDLER_KEYS; +var constants_25 = constants$2.DOT_SLASH; +var constants_26 = constants$2.BACK_SLASH_RE; +var constants_27 = constants$2.DOUBLE_SLASH_RE; +var constants_28 = constants$2.SLASH_OR_BACK_SLASH_RE; +var constants_29 = constants$2.DOT_RE; +var constants_30 = constants$2.REPLACER_RE; +var constants_31 = constants$2.SLASH; +var constants_32 = constants$2.BRACE_START; +var constants_33 = constants$2.BANG; +var constants_34 = constants$2.ONE_DOT; +var constants_35 = constants$2.TWO_DOTS; +var constants_36 = constants$2.STAR; +var constants_37 = constants$2.GLOBSTAR; +var constants_38 = constants$2.ROOT_GLOBSTAR; +var constants_39 = constants$2.SLASH_GLOBSTAR; +var constants_40 = constants$2.DIR_SUFFIX; +var constants_41 = constants$2.ANYMATCH_OPTS; +var constants_42 = constants$2.STRING_TYPE; +var constants_43 = constants$2.FUNCTION_TYPE; +var constants_44 = constants$2.EMPTY_STR; +var constants_45 = constants$2.EMPTY_FN; +var constants_46 = constants$2.IDENTITY_FN; +var constants_47 = constants$2.isWindows; +var constants_48 = constants$2.isMacos; + +const { promisify: promisify$1 } = util$1; + +const { + isWindows: isWindows$1, + EMPTY_FN, + EMPTY_STR, + KEY_LISTENERS, + KEY_ERR, + KEY_RAW, + HANDLER_KEYS, + EV_CHANGE, + EV_ADD, + EV_ADD_DIR, + EV_ERROR, + STR_DATA, + STR_END, + BRACE_START, + STAR: STAR$1 +} = constants$2; + +const THROTTLE_MODE_WATCH = 'watch'; + +const open = promisify$1(fs$1.open); +const stat$3 = promisify$1(fs$1.stat); +const lstat$1 = promisify$1(fs$1.lstat); +const close = promisify$1(fs$1.close); +const fsrealpath = promisify$1(fs$1.realpath); + +const statMethods = { lstat: lstat$1, stat: stat$3 }; + +// TODO: emit errors properly. Example: EMFILE on Macos. +const foreach = (val, fn) => { + if (val instanceof Set) { + val.forEach(fn); + } else { + fn(val); + } +}; + +const addAndConvert = (main, prop, item) => { + let container = main[prop]; + if (!(container instanceof Set)) { + main[prop] = container = new Set([container]); + } + container.add(item); +}; + +const clearItem = cont => key => { + const set = cont[key]; + if (set instanceof Set) { + set.clear(); + } else { + delete cont[key]; + } +}; + +const delFromSet = (main, prop, item) => { + const container = main[prop]; + if (container instanceof Set) { + container.delete(item); + } else if (container === item) { + delete main[prop]; + } +}; + +const isEmptySet = (val) => val instanceof Set ? val.size === 0 : !val; + +/** + * @typedef {String} Path + */ + +// fs_watch helpers + +// object to hold per-process fs_watch instances +// (may be shared across chokidar FSWatcher instances) + +/** + * @typedef {Object} FsWatchContainer + * @property {Set} listeners + * @property {Set} errHandlers + * @property {Set} rawEmitters + * @property {fs.FSWatcher=} watcher + * @property {Boolean=} watcherUnusable + */ + +/** + * @type {Map} + */ +const FsWatchInstances = new Map(); + +/** + * Instantiates the fs_watch interface + * @param {String} path to be watched + * @param {Object} options to be passed to fs_watch + * @param {Function} listener main event handler + * @param {Function} errHandler emits info about errors + * @param {Function} emitRaw emits raw event data + * @returns {fs.FSWatcher} new fsevents instance + */ +function createFsWatchInstance(path, options, listener, errHandler, emitRaw) { + const handleEvent = (rawEvent, evPath) => { + listener(path); + emitRaw(rawEvent, evPath, {watchedPath: path}); + + // emit based on events occurring for files from a directory's watcher in + // case the file's watcher misses it (and rely on throttling to de-dupe) + if (evPath && path !== evPath) { + fsWatchBroadcast( + path$1.resolve(path, evPath), KEY_LISTENERS, path$1.join(path, evPath) + ); + } + }; + try { + return fs$1.watch(path, options, handleEvent); + } catch (error) { + errHandler(error); + } +} + +/** + * Helper for passing fs_watch event data to a collection of listeners + * @param {Path} fullPath absolute path bound to fs_watch instance + * @param {String} type listener type + * @param {*=} val1 arguments to be passed to listeners + * @param {*=} val2 + * @param {*=} val3 + */ +const fsWatchBroadcast = (fullPath, type, val1, val2, val3) => { + const cont = FsWatchInstances.get(fullPath); + if (!cont) return; + foreach(cont[type], (listener) => { + listener(val1, val2, val3); + }); +}; + +/** + * Instantiates the fs_watch interface or binds listeners + * to an existing one covering the same file system entry + * @param {String} path + * @param {String} fullPath absolute path + * @param {Object} options to be passed to fs_watch + * @param {Object} handlers container for event listener functions + */ +const setFsWatchListener = (path, fullPath, options, handlers) => { + const {listener, errHandler, rawEmitter} = handlers; + let cont = FsWatchInstances.get(fullPath); + + /** @type {fs.FSWatcher=} */ + let watcher; + if (!options.persistent) { + watcher = createFsWatchInstance( + path, options, listener, errHandler, rawEmitter + ); + return watcher.close.bind(watcher); + } + if (cont) { + addAndConvert(cont, KEY_LISTENERS, listener); + addAndConvert(cont, KEY_ERR, errHandler); + addAndConvert(cont, KEY_RAW, rawEmitter); + } else { + watcher = createFsWatchInstance( + path, + options, + fsWatchBroadcast.bind(null, fullPath, KEY_LISTENERS), + errHandler, // no need to use broadcast here + fsWatchBroadcast.bind(null, fullPath, KEY_RAW) + ); + if (!watcher) return; + watcher.on(EV_ERROR, async (error) => { + const broadcastErr = fsWatchBroadcast.bind(null, fullPath, KEY_ERR); + cont.watcherUnusable = true; // documented since Node 10.4.1 + // Workaround for https://github.com/joyent/node/issues/4337 + if (isWindows$1 && error.code === 'EPERM') { + try { + const fd = await open(path, 'r'); + await close(fd); + broadcastErr(error); + } catch (err) {} + } else { + broadcastErr(error); + } + }); + cont = { + listeners: listener, + errHandlers: errHandler, + rawEmitters: rawEmitter, + watcher + }; + FsWatchInstances.set(fullPath, cont); + } + // const index = cont.listeners.indexOf(listener); + + // removes this instance's listeners and closes the underlying fs_watch + // instance if there are no more listeners left + return () => { + delFromSet(cont, KEY_LISTENERS, listener); + delFromSet(cont, KEY_ERR, errHandler); + delFromSet(cont, KEY_RAW, rawEmitter); + if (isEmptySet(cont.listeners)) { + // Check to protect against issue gh-730. + // if (cont.watcherUnusable) { + cont.watcher.close(); + // } + FsWatchInstances.delete(fullPath); + HANDLER_KEYS.forEach(clearItem(cont)); + cont.watcher = undefined; + Object.freeze(cont); + } + }; +}; + +// fs_watchFile helpers + +// object to hold per-process fs_watchFile instances +// (may be shared across chokidar FSWatcher instances) +const FsWatchFileInstances = new Map(); + +/** + * Instantiates the fs_watchFile interface or binds listeners + * to an existing one covering the same file system entry + * @param {String} path to be watched + * @param {String} fullPath absolute path + * @param {Object} options options to be passed to fs_watchFile + * @param {Object} handlers container for event listener functions + * @returns {Function} closer + */ +const setFsWatchFileListener = (path, fullPath, options, handlers) => { + const {listener, rawEmitter} = handlers; + let cont = FsWatchFileInstances.get(fullPath); + + /* eslint-disable no-unused-vars, prefer-destructuring */ + let listeners = new Set(); + let rawEmitters = new Set(); + + const copts = cont && cont.options; + if (copts && (copts.persistent < options.persistent || copts.interval > options.interval)) { + // "Upgrade" the watcher to persistence or a quicker interval. + // This creates some unlikely edge case issues if the user mixes + // settings in a very weird way, but solving for those cases + // doesn't seem worthwhile for the added complexity. + listeners = cont.listeners; + rawEmitters = cont.rawEmitters; + fs$1.unwatchFile(fullPath); + cont = undefined; + } + + /* eslint-enable no-unused-vars, prefer-destructuring */ + + if (cont) { + addAndConvert(cont, KEY_LISTENERS, listener); + addAndConvert(cont, KEY_RAW, rawEmitter); + } else { + // TODO + // listeners.add(listener); + // rawEmitters.add(rawEmitter); + cont = { + listeners: listener, + rawEmitters: rawEmitter, + options, + watcher: fs$1.watchFile(fullPath, options, (curr, prev) => { + foreach(cont.rawEmitters, (rawEmitter) => { + rawEmitter(EV_CHANGE, fullPath, {curr, prev}); + }); + const currmtime = curr.mtimeMs; + if (curr.size !== prev.size || currmtime > prev.mtimeMs || currmtime === 0) { + foreach(cont.listeners, (listener) => listener(path, curr)); + } + }) + }; + FsWatchFileInstances.set(fullPath, cont); + } + // const index = cont.listeners.indexOf(listener); + + // Removes this instance's listeners and closes the underlying fs_watchFile + // instance if there are no more listeners left. + return () => { + delFromSet(cont, KEY_LISTENERS, listener); + delFromSet(cont, KEY_RAW, rawEmitter); + if (isEmptySet(cont.listeners)) { + FsWatchFileInstances.delete(fullPath); + fs$1.unwatchFile(fullPath); + cont.options = cont.watcher = undefined; + Object.freeze(cont); + } + }; +}; + +/** + * @mixin + */ +class NodeFsHandler { + +/** + * @param {import("../index").FSWatcher} fsW + */ +constructor(fsW) { + this.fsw = fsW; + this._boundHandleError = (error) => fsW._handleError(error); +} + +/** + * Watch file for changes with fs_watchFile or fs_watch. + * @param {String} path to file or dir + * @param {Function} listener on fs change + * @returns {Function} closer for the watcher instance + */ +_watchWithNodeFs(path, listener) { + const opts = this.fsw.options; + const directory = path$1.dirname(path); + const basename = path$1.basename(path); + const parent = this.fsw._getWatchedDir(directory); + parent.add(basename); + const absolutePath = path$1.resolve(path); + const options = {persistent: opts.persistent}; + if (!listener) listener = EMPTY_FN; + + let closer; + if (opts.usePolling) { + options.interval = opts.enableBinaryInterval && isBinaryPath(basename) ? + opts.binaryInterval : opts.interval; + closer = setFsWatchFileListener(path, absolutePath, options, { + listener, + rawEmitter: this.fsw._emitRaw + }); + } else { + closer = setFsWatchListener(path, absolutePath, options, { + listener, + errHandler: this._boundHandleError, + rawEmitter: this.fsw._emitRaw + }); + } + return closer; +} + +/** + * Watch a file and emit add event if warranted. + * @param {Path} file Path + * @param {fs.Stats} stats result of fs_stat + * @param {Boolean} initialAdd was the file added at watch instantiation? + * @returns {Function} closer for the watcher instance + */ +_handleFile(file, stats, initialAdd) { + if (this.fsw.closed) { + return; + } + const dirname = path$1.dirname(file); + const basename = path$1.basename(file); + const parent = this.fsw._getWatchedDir(dirname); + // stats is always present + let prevStats = stats; + + // if the file is already being watched, do nothing + if (parent.has(basename)) return; + + // kick off the watcher + const closer = this._watchWithNodeFs(file, async (path, newStats) => { + if (!this.fsw._throttle(THROTTLE_MODE_WATCH, file, 5)) return; + if (!newStats || newStats.mtimeMs === 0) { + try { + const newStats = await stat$3(file); + if (this.fsw.closed) return; + // Check that change event was not fired because of changed only accessTime. + const at = newStats.atimeMs; + const mt = newStats.mtimeMs; + if (!at || at <= mt || mt !== prevStats.mtimeMs) { + this.fsw._emit(EV_CHANGE, file, newStats); + } + prevStats = newStats; + } catch (error) { + // Fix issues where mtime is null but file is still present + this.fsw._remove(dirname, basename); + } + // add is about to be emitted if file not already tracked in parent + } else if (parent.has(basename)) { + // Check that change event was not fired because of changed only accessTime. + const at = newStats.atimeMs; + const mt = newStats.mtimeMs; + if (!at || at <= mt || mt !== prevStats.mtimeMs) { + this.fsw._emit(EV_CHANGE, file, newStats); + } + prevStats = newStats; + } + }); + + // emit an add event if we're supposed to + if (!(initialAdd && this.fsw.options.ignoreInitial) && this.fsw._isntIgnored(file)) { + if (!this.fsw._throttle(EV_ADD, file, 0)) return; + this.fsw._emit(EV_ADD, file, stats); + } + + return closer; +} + +/** + * Handle symlinks encountered while reading a dir. + * @param {Object} entry returned by readdirp + * @param {String} directory path of dir being read + * @param {String} path of this item + * @param {String} item basename of this item + * @returns {Promise} true if no more processing is needed for this entry. + */ +async _handleSymlink(entry, directory, path, item) { + if (this.fsw.closed) { + return; + } + const full = entry.fullPath; + const dir = this.fsw._getWatchedDir(directory); + + if (!this.fsw.options.followSymlinks) { + // watch symlink directly (don't follow) and detect changes + this.fsw._incrReadyCount(); + const linkPath = await fsrealpath(path); + if (this.fsw.closed) return; + if (dir.has(item)) { + if (this.fsw._symlinkPaths.get(full) !== linkPath) { + this.fsw._symlinkPaths.set(full, linkPath); + this.fsw._emit(EV_CHANGE, path, entry.stats); + } + } else { + dir.add(item); + this.fsw._symlinkPaths.set(full, linkPath); + this.fsw._emit(EV_ADD, path, entry.stats); + } + this.fsw._emitReady(); + return true; + } + + // don't follow the same symlink more than once + if (this.fsw._symlinkPaths.has(full)) { + return true; + } + + this.fsw._symlinkPaths.set(full, true); +} + +_handleRead(directory, initialAdd, wh, target, dir, depth, throttler) { + // Normalize the directory name on Windows + directory = path$1.join(directory, EMPTY_STR); + + if (!wh.hasGlob) { + throttler = this.fsw._throttle('readdir', directory, 1000); + if (!throttler) return; + } + + const previous = this.fsw._getWatchedDir(wh.path); + const current = new Set(); + + let stream = this.fsw._readdirp(directory, { + fileFilter: entry => wh.filterPath(entry), + directoryFilter: entry => wh.filterDir(entry), + depth: 0 + }).on(STR_DATA, async (entry) => { + if (this.fsw.closed) { + stream = undefined; + return; + } + const item = entry.path; + let path = path$1.join(directory, item); + current.add(item); + + if (entry.stats.isSymbolicLink() && await this._handleSymlink(entry, directory, path, item)) { + return; + } + + if (this.fsw.closed) { + stream = undefined; + return; + } + // Files that present in current directory snapshot + // but absent in previous are added to watch list and + // emit `add` event. + if (item === target || !target && !previous.has(item)) { + this.fsw._incrReadyCount(); + + // ensure relativeness of path is preserved in case of watcher reuse + path = path$1.join(dir, path$1.relative(dir, path)); + + this._addToNodeFs(path, initialAdd, wh, depth + 1); + } + }).on(EV_ERROR, this._boundHandleError); + + return new Promise(resolve => + stream.once(STR_END, () => { + if (this.fsw.closed) { + stream = undefined; + return; + } + const wasThrottled = throttler ? throttler.clear() : false; + + resolve(); + + // Files that absent in current directory snapshot + // but present in previous emit `remove` event + // and are removed from @watched[directory]. + previous.getChildren().filter((item) => { + return item !== directory && + !current.has(item) && + // in case of intersecting globs; + // a path may have been filtered out of this readdir, but + // shouldn't be removed because it matches a different glob + (!wh.hasGlob || wh.filterPath({ + fullPath: path$1.resolve(directory, item) + })); + }).forEach((item) => { + this.fsw._remove(directory, item); + }); + + stream = undefined; + + // one more time for any missed in case changes came in extremely quickly + if (wasThrottled) this._handleRead(directory, false, wh, target, dir, depth, throttler); + }) + ); +} + +/** + * Read directory to add / remove files from `@watched` list and re-read it on change. + * @param {String} dir fs path + * @param {fs.Stats} stats + * @param {Boolean} initialAdd + * @param {Number} depth relative to user-supplied path + * @param {String} target child path targeted for watch + * @param {Object} wh Common watch helpers for this path + * @param {String} realpath + * @returns {Promise} closer for the watcher instance. + */ +async _handleDir(dir, stats, initialAdd, depth, target, wh, realpath) { + const parentDir = this.fsw._getWatchedDir(path$1.dirname(dir)); + const tracked = parentDir.has(path$1.basename(dir)); + if (!(initialAdd && this.fsw.options.ignoreInitial) && !target && !tracked) { + if (!wh.hasGlob || wh.globFilter(dir)) this.fsw._emit(EV_ADD_DIR, dir, stats); + } + + // ensure dir is tracked (harmless if redundant) + parentDir.add(path$1.basename(dir)); + this.fsw._getWatchedDir(dir); + let throttler; + let closer; + + const oDepth = this.fsw.options.depth; + if ((oDepth == null || depth <= oDepth) && !this.fsw._symlinkPaths.has(realpath)) { + if (!target) { + await this._handleRead(dir, initialAdd, wh, target, dir, depth, throttler); + if (this.fsw.closed) return; + } + + closer = this._watchWithNodeFs(dir, (dirPath, stats) => { + // if current directory is removed, do nothing + if (stats && stats.mtimeMs === 0) return; + + this._handleRead(dirPath, false, wh, target, dir, depth, throttler); + }); + } + return closer; +} + +/** + * Handle added file, directory, or glob pattern. + * Delegates call to _handleFile / _handleDir after checks. + * @param {String} path to file or ir + * @param {Boolean} initialAdd was the file added at watch instantiation? + * @param {Object} priorWh depth relative to user-supplied path + * @param {Number} depth Child path actually targeted for watch + * @param {String=} target Child path actually targeted for watch + * @returns {Promise} + */ +async _addToNodeFs(path, initialAdd, priorWh, depth, target) { + const ready = this.fsw._emitReady; + if (this.fsw._isIgnored(path) || this.fsw.closed) { + ready(); + return false; + } + + const wh = this.fsw._getWatchHelpers(path, depth); + if (!wh.hasGlob && priorWh) { + wh.hasGlob = priorWh.hasGlob; + wh.globFilter = priorWh.globFilter; + wh.filterPath = entry => priorWh.filterPath(entry); + wh.filterDir = entry => priorWh.filterDir(entry); + } + + // evaluate what is at the path we're being asked to watch + try { + const stats = await statMethods[wh.statMethod](wh.watchPath); + if (this.fsw.closed) return; + if (this.fsw._isIgnored(wh.watchPath, stats)) { + ready(); + return false; + } + + const follow = this.fsw.options.followSymlinks && !path.includes(STAR$1) && !path.includes(BRACE_START); + let closer; + if (stats.isDirectory()) { + const targetPath = follow ? await fsrealpath(path) : path; + if (this.fsw.closed) return; + closer = await this._handleDir(wh.watchPath, stats, initialAdd, depth, target, wh, targetPath); + if (this.fsw.closed) return; + // preserve this symlink's target path + if (path !== targetPath && targetPath !== undefined) { + this.fsw._symlinkPaths.set(targetPath, true); + } + } else if (stats.isSymbolicLink()) { + const targetPath = follow ? await fsrealpath(path) : path; + if (this.fsw.closed) return; + const parent = path$1.dirname(wh.watchPath); + this.fsw._getWatchedDir(parent).add(wh.watchPath); + this.fsw._emit(EV_ADD, wh.watchPath, stats); + closer = await this._handleDir(parent, stats, initialAdd, depth, path, wh, targetPath); + if (this.fsw.closed) return; + + // preserve this symlink's target path + if (targetPath !== undefined) { + this.fsw._symlinkPaths.set(path$1.resolve(path), targetPath); + } + } else { + closer = this._handleFile(wh.watchPath, stats, initialAdd); + } + ready(); + + this.fsw._addPathCloser(path, closer); + return false; + + } catch (error) { + if (this.fsw._handleError(error)) { + ready(); + return path; + } + } +} + +} + +var nodefsHandler = NodeFsHandler; + +const { promisify: promisify$2 } = util$1; + +let fsevents; +try { + fsevents = undefined; +} catch (error) { + if (process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR) console.error(error); +} + +if (fsevents) { + // TODO: real check + const mtch = process.version.match(/v(\d+)\.(\d+)/); + if (mtch && mtch[1] && mtch[2]) { + const maj = Number.parseInt(mtch[1], 10); + const min = Number.parseInt(mtch[2], 10); + if (maj === 8 && min < 16) { + fsevents = undefined; + } + } +} + +const { + EV_ADD: EV_ADD$1, + EV_CHANGE: EV_CHANGE$1, + EV_ADD_DIR: EV_ADD_DIR$1, + EV_UNLINK, + EV_ERROR: EV_ERROR$1, + STR_DATA: STR_DATA$1, + STR_END: STR_END$1, + FSEVENT_CREATED, + FSEVENT_MODIFIED, + FSEVENT_DELETED, + FSEVENT_MOVED, + // FSEVENT_CLONED, + FSEVENT_UNKNOWN, + FSEVENT_TYPE_DIRECTORY, + FSEVENT_TYPE_SYMLINK, + + ROOT_GLOBSTAR, + DIR_SUFFIX, + DOT_SLASH, + FUNCTION_TYPE, + EMPTY_FN: EMPTY_FN$1, + IDENTITY_FN +} = constants$2; +const FS_MODE_READ = 'r'; + +const Depth = (value) => isNaN(value) ? {} : {depth: value}; + +const stat$4 = promisify$2(fs$1.stat); +const open$1 = promisify$2(fs$1.open); +const close$1 = promisify$2(fs$1.close); +const lstat$2 = promisify$2(fs$1.lstat); +const realpath$2 = promisify$2(fs$1.realpath); + +const statMethods$1 = { stat: stat$4, lstat: lstat$2 }; + +/** + * @typedef {String} Path + */ + +/** + * @typedef {Object} FsEventsWatchContainer + * @property {Set} listeners + * @property {Function} rawEmitter + * @property {{stop: Function}} watcher + */ + +// fsevents instance helper functions +/** + * Object to hold per-process fsevents instances (may be shared across chokidar FSWatcher instances) + * @type {Map} + */ +const FSEventsWatchers = new Map(); + +// Threshold of duplicate path prefixes at which to start +// consolidating going forward +const consolidateThreshhold = 10; + +const wrongEventFlags = new Set([ + 69888, 70400, 71424, 72704, 73472, 131328, 131840, 262912 +]); + +/** + * Instantiates the fsevents interface + * @param {Path} path path to be watched + * @param {Function} callback called when fsevents is bound and ready + * @returns {{stop: Function}} new fsevents instance + */ +const createFSEventsInstance = (path, callback) => { + const stop = fsevents.watch(path, callback); + return {stop}; +}; + +/** + * Instantiates the fsevents interface or binds listeners to an existing one covering + * the same file tree. + * @param {Path} path - to be watched + * @param {Path} realPath - real path for symlinks + * @param {Function} listener - called when fsevents emits events + * @param {Function} rawEmitter - passes data to listeners of the 'raw' event + * @returns {Function} closer + */ +function setFSEventsListener(path, realPath, listener, rawEmitter, fsw) { + let watchPath = path$1.extname(path) ? path$1.dirname(path) : path; + const parentPath = path$1.dirname(watchPath); + let cont = FSEventsWatchers.get(watchPath); + + // If we've accumulated a substantial number of paths that + // could have been consolidated by watching one directory + // above the current one, create a watcher on the parent + // path instead, so that we do consolidate going forward. + if (couldConsolidate(parentPath)) { + watchPath = parentPath; + } + + const resolvedPath = path$1.resolve(path); + const hasSymlink = resolvedPath !== realPath; + + const filteredListener = (fullPath, flags, info) => { + if (hasSymlink) fullPath = fullPath.replace(realPath, resolvedPath); + if ( + fullPath === resolvedPath || + !fullPath.indexOf(resolvedPath + path$1.sep) + ) listener(fullPath, flags, info); + }; + + // check if there is already a watcher on a parent path + // modifies `watchPath` to the parent path when it finds a match + let watchedParent = false; + for (const watchedPath of FSEventsWatchers.keys()) { + if (realPath.indexOf(path$1.resolve(watchedPath) + path$1.sep) === 0) { + watchPath = watchedPath; + cont = FSEventsWatchers.get(watchPath); + watchedParent = true; + break; + } + } + + if (cont || watchedParent) { + cont.listeners.add(filteredListener); + } else { + cont = { + listeners: new Set([filteredListener]), + rawEmitter, + watcher: createFSEventsInstance(watchPath, (fullPath, flags) => { + if (fsw.closed) return; + const info = fsevents.getInfo(fullPath, flags); + cont.listeners.forEach(list => { + list(fullPath, flags, info); + }); + + cont.rawEmitter(info.event, fullPath, info); + }) + }; + FSEventsWatchers.set(watchPath, cont); + } + + // removes this instance's listeners and closes the underlying fsevents + // instance if there are no more listeners left + return () => { + const lst = cont.listeners; + + lst.delete(filteredListener); + if (!lst.size) { + FSEventsWatchers.delete(watchPath); + if (cont.watcher) return cont.watcher.stop().then(() => { + cont.rawEmitter = cont.watcher = undefined; + Object.freeze(cont); + }); + } + }; +} + +// Decide whether or not we should start a new higher-level +// parent watcher +const couldConsolidate = (path) => { + let count = 0; + for (const watchPath of FSEventsWatchers.keys()) { + if (watchPath.indexOf(path) === 0) { + count++; + if (count >= consolidateThreshhold) { + return true; + } + } + } + + return false; +}; + +// returns boolean indicating whether fsevents can be used +const canUse = () => fsevents && FSEventsWatchers.size < 128; + +// determines subdirectory traversal levels from root to path +const calcDepth = (path, root) => { + let i = 0; + while (!path.indexOf(root) && (path = path$1.dirname(path)) !== root) i++; + return i; +}; + +/** + * @mixin + */ +class FsEventsHandler { + +/** + * @param {import('../index').FSWatcher} fsw + */ +constructor(fsw) { + this.fsw = fsw; +} +checkIgnored(path, stats) { + const ipaths = this.fsw._ignoredPaths; + if (this.fsw._isIgnored(path, stats)) { + ipaths.add(path); + if (stats && stats.isDirectory()) { + ipaths.add(path + ROOT_GLOBSTAR); + } + return true; + } + + ipaths.delete(path); + ipaths.delete(path + ROOT_GLOBSTAR); +} + +addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts) { + const event = watchedDir.has(item) ? EV_CHANGE$1 : EV_ADD$1; + this.handleEvent(event, path, fullPath, realPath, parent, watchedDir, item, info, opts); +} + +async checkFd(path, fullPath, realPath, parent, watchedDir, item, info, opts) { + try { + const fd = await open$1(path, FS_MODE_READ); + if (this.fsw.closed) return; + await close$1(fd); + if (this.fsw.closed) return; + this.addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts); + } catch (error) { + if (error.code === 'EACCES') { + this.addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts); + } else { + this.handleEvent(EV_UNLINK, path, fullPath, realPath, parent, watchedDir, item, info, opts); + } + } +} + +handleEvent(event, path, fullPath, realPath, parent, watchedDir, item, info, opts) { + if (this.fsw.closed || this.checkIgnored(path)) return; + + if (event === EV_UNLINK) { + // suppress unlink events on never before seen files + if (info.type === FSEVENT_TYPE_DIRECTORY || watchedDir.has(item)) { + this.fsw._remove(parent, item); + } + } else { + if (event === EV_ADD$1) { + // track new directories + if (info.type === FSEVENT_TYPE_DIRECTORY) this.fsw._getWatchedDir(path); + + if (info.type === FSEVENT_TYPE_SYMLINK && opts.followSymlinks) { + // push symlinks back to the top of the stack to get handled + const curDepth = opts.depth === undefined ? + undefined : calcDepth(fullPath, realPath) + 1; + return this._addToFsEvents(path, false, true, curDepth); + } + + // track new paths + // (other than symlinks being followed, which will be tracked soon) + this.fsw._getWatchedDir(parent).add(item); + } + /** + * @type {'add'|'addDir'|'unlink'|'unlinkDir'} + */ + const eventName = info.type === FSEVENT_TYPE_DIRECTORY ? event + DIR_SUFFIX : event; + this.fsw._emit(eventName, path); + if (eventName === EV_ADD_DIR$1) this._addToFsEvents(path, false, true); + } +} + +/** + * Handle symlinks encountered during directory scan + * @param {String} watchPath - file/dir path to be watched with fsevents + * @param {String} realPath - real path (in case of symlinks) + * @param {Function} transform - path transformer + * @param {Function} globFilter - path filter in case a glob pattern was provided + * @returns {Function} closer for the watcher instance +*/ +_watchWithFsEvents(watchPath, realPath, transform, globFilter) { + if (this.fsw.closed) return; + if (this.fsw._isIgnored(watchPath)) return; + const opts = this.fsw.options; + const watchCallback = async (fullPath, flags, info) => { + if (this.fsw.closed) return; + if ( + opts.depth !== undefined && + calcDepth(fullPath, realPath) > opts.depth + ) return; + const path = transform(path$1.join( + watchPath, path$1.relative(watchPath, fullPath) + )); + if (globFilter && !globFilter(path)) return; + // ensure directories are tracked + const parent = path$1.dirname(path); + const item = path$1.basename(path); + const watchedDir = this.fsw._getWatchedDir( + info.type === FSEVENT_TYPE_DIRECTORY ? path : parent + ); + + // correct for wrong events emitted + if (wrongEventFlags.has(flags) || info.event === FSEVENT_UNKNOWN) { + if (typeof opts.ignored === FUNCTION_TYPE) { + let stats; + try { + stats = await stat$4(path); + } catch (error) {} + if (this.fsw.closed) return; + if (this.checkIgnored(path, stats)) return; + if (stats) { + this.addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts); + } else { + this.handleEvent(EV_UNLINK, path, fullPath, realPath, parent, watchedDir, item, info, opts); + } + } else { + this.checkFd(path, fullPath, realPath, parent, watchedDir, item, info, opts); + } + } else { + switch (info.event) { + case FSEVENT_CREATED: + case FSEVENT_MODIFIED: + return this.addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts); + case FSEVENT_DELETED: + case FSEVENT_MOVED: + return this.checkFd(path, fullPath, realPath, parent, watchedDir, item, info, opts); + } + } + }; + + const closer = setFSEventsListener( + watchPath, + realPath, + watchCallback, + this.fsw._emitRaw, + this.fsw + ); + + this.fsw._emitReady(); + return closer; +} + +/** + * Handle symlinks encountered during directory scan + * @param {String} linkPath path to symlink + * @param {String} fullPath absolute path to the symlink + * @param {Function} transform pre-existing path transformer + * @param {Number} curDepth level of subdirectories traversed to where symlink is + * @returns {Promise} + */ +async _handleFsEventsSymlink(linkPath, fullPath, transform, curDepth) { + // don't follow the same symlink more than once + if (this.fsw.closed || this.fsw._symlinkPaths.has(fullPath)) return; + + this.fsw._symlinkPaths.set(fullPath, true); + this.fsw._incrReadyCount(); + + try { + const linkTarget = await realpath$2(linkPath); + if (this.fsw.closed) return; + if (this.fsw._isIgnored(linkTarget)) { + return this.fsw._emitReady(); + } + + this.fsw._incrReadyCount(); + + // add the linkTarget for watching with a wrapper for transform + // that causes emitted paths to incorporate the link's path + this._addToFsEvents(linkTarget || linkPath, (path) => { + let aliasedPath = linkPath; + if (linkTarget && linkTarget !== DOT_SLASH) { + aliasedPath = path.replace(linkTarget, linkPath); + } else if (path !== DOT_SLASH) { + aliasedPath = path$1.join(linkPath, path); + } + return transform(aliasedPath); + }, false, curDepth); + } catch(error) { + if (this.fsw._handleError(error)) { + return this.fsw._emitReady(); + } + } +} + +/** + * + * @param {Path} newPath + * @param {fs.Stats} stats + */ +emitAdd(newPath, stats, processPath, opts, forceAdd) { + const pp = processPath(newPath); + const isDir = stats.isDirectory(); + const dirObj = this.fsw._getWatchedDir(path$1.dirname(pp)); + const base = path$1.basename(pp); + + // ensure empty dirs get tracked + if (isDir) this.fsw._getWatchedDir(pp); + if (dirObj.has(base)) return; + dirObj.add(base); + + if (!opts.ignoreInitial || forceAdd === true) { + this.fsw._emit(isDir ? EV_ADD_DIR$1 : EV_ADD$1, pp, stats); + } +} + +initWatch(realPath, path, wh, processPath) { + if (this.fsw.closed) return; + const closer = this._watchWithFsEvents( + wh.watchPath, + path$1.resolve(realPath || wh.watchPath), + processPath, + wh.globFilter + ); + this.fsw._addPathCloser(path, closer); +} + +/** + * Handle added path with fsevents + * @param {String} path file/dir path or glob pattern + * @param {Function|Boolean=} transform converts working path to what the user expects + * @param {Boolean=} forceAdd ensure add is emitted + * @param {Number=} priorDepth Level of subdirectories already traversed. + * @returns {Promise} + */ +async _addToFsEvents(path, transform, forceAdd, priorDepth) { + if (this.fsw.closed) { + return; + } + const opts = this.fsw.options; + const processPath = typeof transform === FUNCTION_TYPE ? transform : IDENTITY_FN; + + const wh = this.fsw._getWatchHelpers(path); + + // evaluate what is at the path we're being asked to watch + try { + const stats = await statMethods$1[wh.statMethod](wh.watchPath); + if (this.fsw.closed) return; + if (this.fsw._isIgnored(wh.watchPath, stats)) { + throw null; + } + if (stats.isDirectory()) { + // emit addDir unless this is a glob parent + if (!wh.globFilter) this.emitAdd(processPath(path), stats, processPath, opts, forceAdd); + + // don't recurse further if it would exceed depth setting + if (priorDepth && priorDepth > opts.depth) return; + + // scan the contents of the dir + this.fsw._readdirp(wh.watchPath, { + fileFilter: entry => wh.filterPath(entry), + directoryFilter: entry => wh.filterDir(entry), + ...Depth(opts.depth - (priorDepth || 0)) + }).on(STR_DATA$1, (entry) => { + // need to check filterPath on dirs b/c filterDir is less restrictive + if (this.fsw.closed) { + return; + } + if (entry.stats.isDirectory() && !wh.filterPath(entry)) return; + + const joinedPath = path$1.join(wh.watchPath, entry.path); + const {fullPath} = entry; + + if (wh.followSymlinks && entry.stats.isSymbolicLink()) { + // preserve the current depth here since it can't be derived from + // real paths past the symlink + const curDepth = opts.depth === undefined ? + undefined : calcDepth(joinedPath, path$1.resolve(wh.watchPath)) + 1; + + this._handleFsEventsSymlink(joinedPath, fullPath, processPath, curDepth); + } else { + this.emitAdd(joinedPath, entry.stats, processPath, opts, forceAdd); + } + }).on(EV_ERROR$1, EMPTY_FN$1).on(STR_END$1, () => { + this.fsw._emitReady(); + }); + } else { + this.emitAdd(wh.watchPath, stats, processPath, opts, forceAdd); + this.fsw._emitReady(); + } + } catch (error) { + if (!error || this.fsw._handleError(error)) { + // TODO: Strange thing: "should not choke on an ignored watch path" will be failed without 2 ready calls -__- + this.fsw._emitReady(); + this.fsw._emitReady(); + } + } + + if (opts.persistent && forceAdd !== true) { + if (typeof transform === FUNCTION_TYPE) { + // realpath has already been resolved + this.initWatch(undefined, path, wh, processPath); + } else { + let realPath; + try { + realPath = await realpath$2(wh.watchPath); + } catch (e) {} + this.initWatch(realPath, path, wh, processPath); + } + } +} + +} + +var fseventsHandler = FsEventsHandler; +var canUse_1 = canUse; +fseventsHandler.canUse = canUse_1; + +const { EventEmitter } = events; + + +const { promisify: promisify$3 } = util$1; + +const anymatch = anymatch_1.default; + + + + + + + +const { + EV_ALL, + EV_READY, + EV_ADD: EV_ADD$2, + EV_CHANGE: EV_CHANGE$2, + EV_UNLINK: EV_UNLINK$1, + EV_ADD_DIR: EV_ADD_DIR$2, + EV_UNLINK_DIR, + EV_RAW, + EV_ERROR: EV_ERROR$2, + + STR_CLOSE, + STR_END: STR_END$2, + + BACK_SLASH_RE, + DOUBLE_SLASH_RE, + SLASH_OR_BACK_SLASH_RE, + DOT_RE, + REPLACER_RE, + + SLASH: SLASH$1, + BRACE_START: BRACE_START$1, + BANG: BANG$1, + ONE_DOT, + TWO_DOTS, + GLOBSTAR: GLOBSTAR$1, + SLASH_GLOBSTAR, + ANYMATCH_OPTS, + STRING_TYPE, + FUNCTION_TYPE: FUNCTION_TYPE$1, + EMPTY_STR: EMPTY_STR$1, + EMPTY_FN: EMPTY_FN$2, + + isWindows: isWindows$2, + isMacos +} = constants$2; + +const stat$5 = promisify$3(fs$1.stat); +const readdir$2 = promisify$3(fs$1.readdir); + +/** + * @typedef {String} Path + * @typedef {'all'|'add'|'addDir'|'change'|'unlink'|'unlinkDir'|'raw'|'error'|'ready'} EventName + * @typedef {'readdir'|'watch'|'add'|'remove'|'change'} ThrottleType + */ + +/** + * + * @typedef {Object} WatchHelpers + * @property {Boolean} followSymlinks + * @property {'stat'|'lstat'} statMethod + * @property {Path} path + * @property {Path} watchPath + * @property {Function} entryPath + * @property {Boolean} hasGlob + * @property {Object} globFilter + * @property {Function} filterPath + * @property {Function} filterDir + */ + +const arrify = (value = []) => Array.isArray(value) ? value : [value]; +const flatten = (list, result = []) => { + list.forEach(item => { + if (Array.isArray(item)) { + flatten(item, result); + } else { + result.push(item); + } + }); + return result; +}; + +const unifyPaths = (paths_) => { + /** + * @type {Array} + */ + const paths = flatten(arrify(paths_)); + if (!paths.every(p => typeof p === STRING_TYPE)) { + throw new TypeError(`Non-string provided as watch path: ${paths}`); + } + return paths.map(normalizePathToUnix); +}; + +const toUnix = (string) => { + let str = string.replace(BACK_SLASH_RE, SLASH$1); + while (str.match(DOUBLE_SLASH_RE)) { + str = str.replace(DOUBLE_SLASH_RE, SLASH$1); + } + return str; +}; + +// Our version of upath.normalize +// TODO: this is not equal to path-normalize module - investigate why +const normalizePathToUnix = (path) => toUnix(path$1.normalize(toUnix(path))); + +const normalizeIgnored = (cwd = EMPTY_STR$1) => (path) => { + if (typeof path !== STRING_TYPE) return path; + return normalizePathToUnix(path$1.isAbsolute(path) ? path : path$1.join(cwd, path)); +}; + +const getAbsolutePath = (path, cwd) => { + if (path$1.isAbsolute(path)) { + return path; + } + if (path.startsWith(BANG$1)) { + return BANG$1 + path$1.join(cwd, path.slice(1)); + } + return path$1.join(cwd, path); +}; + +const undef = (opts, key) => opts[key] === undefined; + +/** + * Directory entry. + * @property {Path} path + * @property {Set} items + */ +class DirEntry { + /** + * @param {Path} dir + * @param {Function} removeWatcher + */ + constructor(dir, removeWatcher) { + this.path = dir; + this._removeWatcher = removeWatcher; + /** @type {Set} */ + this.items = new Set(); + } + + add(item) { + const {items} = this; + if (!items) return; + if (item !== ONE_DOT && item !== TWO_DOTS) items.add(item); + } + + async remove(item) { + const {items} = this; + if (!items) return; + items.delete(item); + + if (!items.size) { + const dir = this.path; + try { + await readdir$2(dir); + } catch (err) { + this._removeWatcher(path$1.dirname(dir), path$1.basename(dir)); + } + } + } + + has(item) { + const {items} = this; + if (!items) return; + return items.has(item); + } + + /** + * @returns {Array} + */ + getChildren() { + const {items} = this; + if (!items) return; + return [...items.values()]; + } + + dispose() { + this.items.clear(); + delete this.path; + delete this._removeWatcher; + delete this.items; + Object.freeze(this); + } +} + +const STAT_METHOD_F = 'stat'; +const STAT_METHOD_L = 'lstat'; +class WatchHelper { + constructor(path, watchPath, follow, fsw) { + this.fsw = fsw; + this.path = path = path.replace(REPLACER_RE, EMPTY_STR$1); + this.watchPath = watchPath; + this.fullWatchPath = path$1.resolve(watchPath); + this.hasGlob = watchPath !== path; + /** @type {object|boolean} */ + if (path === EMPTY_STR$1) this.hasGlob = false; + this.globSymlink = this.hasGlob && follow ? undefined : false; + this.globFilter = this.hasGlob ? anymatch(path, undefined, ANYMATCH_OPTS) : false; + this.dirParts = this.getDirParts(path); + this.dirParts.forEach((parts) => { + if (parts.length > 1) parts.pop(); + }); + this.followSymlinks = follow; + this.statMethod = follow ? STAT_METHOD_F : STAT_METHOD_L; + } + + checkGlobSymlink(entry) { + // only need to resolve once + // first entry should always have entry.parentDir === EMPTY_STR + if (this.globSymlink === undefined) { + this.globSymlink = entry.fullParentDir === this.fullWatchPath ? + false : {realPath: entry.fullParentDir, linkPath: this.fullWatchPath}; + } + + if (this.globSymlink) { + return entry.fullPath.replace(this.globSymlink.realPath, this.globSymlink.linkPath); + } + + return entry.fullPath; + } + + entryPath(entry) { + return path$1.join(this.watchPath, + path$1.relative(this.watchPath, this.checkGlobSymlink(entry)) + ); + } + + filterPath(entry) { + const {stats} = entry; + if (stats && stats.isSymbolicLink()) return this.filterDir(entry); + const resolvedPath = this.entryPath(entry); + const matchesGlob = this.hasGlob && typeof this.globFilter === FUNCTION_TYPE$1 ? + this.globFilter(resolvedPath) : true; + return matchesGlob && + this.fsw._isntIgnored(resolvedPath, stats) && + this.fsw._hasReadPermissions(stats); + } + + getDirParts(path) { + if (!this.hasGlob) return []; + const parts = []; + const expandedPath = path.includes(BRACE_START$1) ? braces_1.expand(path) : [path]; + expandedPath.forEach((path) => { + parts.push(path$1.relative(this.watchPath, path).split(SLASH_OR_BACK_SLASH_RE)); + }); + return parts; + } + + filterDir(entry) { + if (this.hasGlob) { + const entryParts = this.getDirParts(this.checkGlobSymlink(entry)); + let globstar = false; + this.unmatchedGlob = !this.dirParts.some((parts) => { + return parts.every((part, i) => { + if (part === GLOBSTAR$1) globstar = true; + return globstar || !entryParts[0][i] || anymatch(part, entryParts[0][i], ANYMATCH_OPTS); + }); + }); + } + return !this.unmatchedGlob && this.fsw._isntIgnored(this.entryPath(entry), entry.stats); + } +} + +/** + * Watches files & directories for changes. Emitted events: + * `add`, `addDir`, `change`, `unlink`, `unlinkDir`, `all`, `error` + * + * new FSWatcher() + * .add(directories) + * .on('add', path => log('File', path, 'was added')) + */ +class FSWatcher extends EventEmitter { +// Not indenting methods for history sake; for now. +constructor(_opts) { + super(); + + const opts = {}; + if (_opts) Object.assign(opts, _opts); // for frozen objects + + /** @type {Map} */ + this._watched = new Map(); + /** @type {Map} */ + this._closers = new Map(); + /** @type {Set} */ + this._ignoredPaths = new Set(); + + /** @type {Map} */ + this._throttled = new Map(); + + /** @type {Map} */ + this._symlinkPaths = new Map(); + + this._streams = new Set(); + this.closed = false; + + // Set up default options. + if (undef(opts, 'persistent')) opts.persistent = true; + if (undef(opts, 'ignoreInitial')) opts.ignoreInitial = false; + if (undef(opts, 'ignorePermissionErrors')) opts.ignorePermissionErrors = false; + if (undef(opts, 'interval')) opts.interval = 100; + if (undef(opts, 'binaryInterval')) opts.binaryInterval = 300; + if (undef(opts, 'disableGlobbing')) opts.disableGlobbing = false; + opts.enableBinaryInterval = opts.binaryInterval !== opts.interval; + + // Enable fsevents on OS X when polling isn't explicitly enabled. + if (undef(opts, 'useFsEvents')) opts.useFsEvents = !opts.usePolling; + + // If we can't use fsevents, ensure the options reflect it's disabled. + const canUseFsEvents = fseventsHandler.canUse(); + if (!canUseFsEvents) opts.useFsEvents = false; + + // Use polling on Mac if not using fsevents. + // Other platforms use non-polling fs_watch. + if (undef(opts, 'usePolling') && !opts.useFsEvents) { + opts.usePolling = isMacos; + } + + // Global override (useful for end-developers that need to force polling for all + // instances of chokidar, regardless of usage/dependency depth) + const envPoll = process.env.CHOKIDAR_USEPOLLING; + if (envPoll !== undefined) { + const envLower = envPoll.toLowerCase(); + + if (envLower === 'false' || envLower === '0') { + opts.usePolling = false; + } else if (envLower === 'true' || envLower === '1') { + opts.usePolling = true; + } else { + opts.usePolling = !!envLower; + } + } + const envInterval = process.env.CHOKIDAR_INTERVAL; + if (envInterval) { + opts.interval = Number.parseInt(envInterval, 10); + } + + // Editor atomic write normalization enabled by default with fs.watch + if (undef(opts, 'atomic')) opts.atomic = !opts.usePolling && !opts.useFsEvents; + if (opts.atomic) this._pendingUnlinks = new Map(); + + if (undef(opts, 'followSymlinks')) opts.followSymlinks = true; + + if (undef(opts, 'awaitWriteFinish')) opts.awaitWriteFinish = false; + if (opts.awaitWriteFinish === true) opts.awaitWriteFinish = {}; + const awf = opts.awaitWriteFinish; + if (awf) { + if (!awf.stabilityThreshold) awf.stabilityThreshold = 2000; + if (!awf.pollInterval) awf.pollInterval = 100; + this._pendingWrites = new Map(); + } + if (opts.ignored) opts.ignored = arrify(opts.ignored); + + let readyCalls = 0; + this._emitReady = () => { + readyCalls++; + if (readyCalls >= this._readyCount) { + this._emitReady = EMPTY_FN$2; + this._readyEmitted = true; + // use process.nextTick to allow time for listener to be bound + process.nextTick(() => this.emit(EV_READY)); + } + }; + this._emitRaw = (...args) => this.emit(EV_RAW, ...args); + this._readyEmitted = false; + this.options = opts; + + // Initialize with proper watcher. + if (opts.useFsEvents) { + this._fsEventsHandler = new fseventsHandler(this); + } else { + this._nodeFsHandler = new nodefsHandler(this); + } + + // You’re frozen when your heart’s not open. + Object.freeze(opts); +} + +// Public methods + +/** + * Adds paths to be watched on an existing FSWatcher instance + * @param {Path|Array} paths_ + * @param {String=} _origAdd private; for handling non-existent paths to be watched + * @param {Boolean=} _internal private; indicates a non-user add + * @returns {FSWatcher} for chaining + */ +add(paths_, _origAdd, _internal) { + const {cwd, disableGlobbing} = this.options; + this.closed = false; + let paths = unifyPaths(paths_); + if (cwd) { + paths = paths.map((path) => { + const absPath = getAbsolutePath(path, cwd); + + // Check `path` instead of `absPath` because the cwd portion can't be a glob + if (disableGlobbing || !isGlob(path)) { + return absPath; + } + return normalizePath(absPath); + }); + } + + // set aside negated glob strings + paths = paths.filter((path) => { + if (path.startsWith(BANG$1)) { + this._ignoredPaths.add(path.slice(1)); + return false; + } + + // if a path is being added that was previously ignored, stop ignoring it + this._ignoredPaths.delete(path); + this._ignoredPaths.delete(path + SLASH_GLOBSTAR); + + // reset the cached userIgnored anymatch fn + // to make ignoredPaths changes effective + this._userIgnored = undefined; + + return true; + }); + + if (this.options.useFsEvents && this._fsEventsHandler) { + if (!this._readyCount) this._readyCount = paths.length; + if (this.options.persistent) this._readyCount *= 2; + paths.forEach((path) => this._fsEventsHandler._addToFsEvents(path)); + } else { + if (!this._readyCount) this._readyCount = 0; + this._readyCount += paths.length; + Promise.all( + paths.map(async path => { + const res = await this._nodeFsHandler._addToNodeFs(path, !_internal, 0, 0, _origAdd); + if (res) this._emitReady(); + return res; + }) + ).then(results => { + if (this.closed) return; + results.filter(item => item).forEach(item => { + this.add(path$1.dirname(item), path$1.basename(_origAdd || item)); + }); + }); + } + + return this; +} + +/** + * Close watchers or start ignoring events from specified paths. + * @param {Path|Array} paths_ - string or array of strings, file/directory paths and/or globs + * @returns {FSWatcher} for chaining +*/ +unwatch(paths_) { + if (this.closed) return this; + const paths = unifyPaths(paths_); + const {cwd} = this.options; + + paths.forEach((path) => { + // convert to absolute path unless relative path already matches + if (!path$1.isAbsolute(path) && !this._closers.has(path)) { + if (cwd) path = path$1.join(cwd, path); + path = path$1.resolve(path); + } + + this._closePath(path); + + this._ignoredPaths.add(path); + if (this._watched.has(path)) { + this._ignoredPaths.add(path + SLASH_GLOBSTAR); + } + + // reset the cached userIgnored anymatch fn + // to make ignoredPaths changes effective + this._userIgnored = undefined; + }); + + return this; +} + +/** + * Close watchers and remove all listeners from watched paths. + * @returns {Promise}. +*/ +close() { + if (this.closed) return this; + this.closed = true; + + // Memory management. + this.removeAllListeners(); + const closers = []; + this._closers.forEach(closerList => closerList.forEach(closer => { + const promise = closer(); + if (promise instanceof Promise) closers.push(promise); + })); + this._streams.forEach(stream => stream.destroy()); + this._userIgnored = undefined; + this._readyCount = 0; + this._readyEmitted = false; + this._watched.forEach(dirent => dirent.dispose()); + ['closers', 'watched', 'streams', 'symlinkPaths', 'throttled'].forEach(key => { + this[`_${key}`].clear(); + }); + return closers.length ? Promise.all(closers).then(() => undefined) : Promise.resolve(); +} + +/** + * Expose list of watched paths + * @returns {Object} for chaining +*/ +getWatched() { + const watchList = {}; + this._watched.forEach((entry, dir) => { + const key = this.options.cwd ? path$1.relative(this.options.cwd, dir) : dir; + watchList[key || ONE_DOT] = entry.getChildren().sort(); + }); + return watchList; +} + +emitWithAll(event, args) { + this.emit(...args); + if (event !== EV_ERROR$2) this.emit(EV_ALL, ...args); +} + +// Common helpers +// -------------- + +/** + * Normalize and emit events. + * Calling _emit DOES NOT MEAN emit() would be called! + * @param {EventName} event Type of event + * @param {Path} path File or directory path + * @param {*=} val1 arguments to be passed with event + * @param {*=} val2 + * @param {*=} val3 + * @returns the error if defined, otherwise the value of the FSWatcher instance's `closed` flag + */ +async _emit(event, path, val1, val2, val3) { + if (this.closed) return; + + const opts = this.options; + if (isWindows$2) path = path$1.normalize(path); + if (opts.cwd) path = path$1.relative(opts.cwd, path); + /** @type Array */ + const args = [event, path]; + if (val3 !== undefined) args.push(val1, val2, val3); + else if (val2 !== undefined) args.push(val1, val2); + else if (val1 !== undefined) args.push(val1); + + const awf = opts.awaitWriteFinish; + let pw; + if (awf && (pw = this._pendingWrites.get(path))) { + pw.lastChange = new Date(); + return this; + } + + if (opts.atomic) { + if (event === EV_UNLINK$1) { + this._pendingUnlinks.set(path, args); + setTimeout(() => { + this._pendingUnlinks.forEach((entry, path) => { + this.emit(...entry); + this.emit(EV_ALL, ...entry); + this._pendingUnlinks.delete(path); + }); + }, typeof opts.atomic === 'number' ? opts.atomic : 100); + return this; + } + if (event === EV_ADD$2 && this._pendingUnlinks.has(path)) { + event = args[0] = EV_CHANGE$2; + this._pendingUnlinks.delete(path); + } + } + + if (awf && (event === EV_ADD$2 || event === EV_CHANGE$2) && this._readyEmitted) { + const awfEmit = (err, stats) => { + if (err) { + event = args[0] = EV_ERROR$2; + args[1] = err; + this.emitWithAll(event, args); + } else if (stats) { + // if stats doesn't exist the file must have been deleted + if (args.length > 2) { + args[2] = stats; + } else { + args.push(stats); + } + this.emitWithAll(event, args); + } + }; + + this._awaitWriteFinish(path, awf.stabilityThreshold, event, awfEmit); + return this; + } + + if (event === EV_CHANGE$2) { + const isThrottled = !this._throttle(EV_CHANGE$2, path, 50); + if (isThrottled) return this; + } + + if (opts.alwaysStat && val1 === undefined && + (event === EV_ADD$2 || event === EV_ADD_DIR$2 || event === EV_CHANGE$2) + ) { + const fullPath = opts.cwd ? path$1.join(opts.cwd, path) : path; + try { + const stats = await stat$5(fullPath); + // Suppress event when fs_stat fails, to avoid sending undefined 'stat' + if (!stats) return; + args.push(stats); + this.emitWithAll(event, args); + } catch (err) {} + } else { + this.emitWithAll(event, args); + } + + return this; +} + +/** + * Common handler for errors + * @param {Error} error + * @returns {Error|Boolean} The error if defined, otherwise the value of the FSWatcher instance's `closed` flag + */ +_handleError(error) { + const code = error && error.code; + if (error && code !== 'ENOENT' && code !== 'ENOTDIR' && + (!this.options.ignorePermissionErrors || (code !== 'EPERM' && code !== 'EACCES')) + ) { + this.emit(EV_ERROR$2, error); + } + return error || this.closed; +} + +/** + * Helper utility for throttling + * @param {ThrottleType} actionType type being throttled + * @param {Path} path being acted upon + * @param {Number} timeout duration of time to suppress duplicate actions + * @returns {Object|false} tracking object or false if action should be suppressed + */ +_throttle(actionType, path, timeout) { + if (!this._throttled.has(actionType)) { + this._throttled.set(actionType, new Map()); + } + + /** @type {Map} */ + const action = this._throttled.get(actionType); + /** @type {Object} */ + const actionPath = action.get(path); + + if (actionPath) { + actionPath.count++; + return false; + } + + let timeoutObject; + const clear = () => { + const item = action.get(path); + const count = item ? item.count : 0; + action.delete(path); + clearTimeout(timeoutObject); + if (item) clearTimeout(item.timeoutObject); + return count; + }; + timeoutObject = setTimeout(clear, timeout); + const thr = {timeoutObject, clear, count: 0}; + action.set(path, thr); + return thr; +} + +_incrReadyCount() { + return this._readyCount++; +} + +/** + * Awaits write operation to finish. + * Polls a newly created file for size variations. When files size does not change for 'threshold' milliseconds calls callback. + * @param {Path} path being acted upon + * @param {Number} threshold Time in milliseconds a file size must be fixed before acknowledging write OP is finished + * @param {EventName} event + * @param {Function} awfEmit Callback to be called when ready for event to be emitted. + */ +_awaitWriteFinish(path, threshold, event, awfEmit) { + let timeoutHandler; + + let fullPath = path; + if (this.options.cwd && !path$1.isAbsolute(path)) { + fullPath = path$1.join(this.options.cwd, path); + } + + const now = new Date(); + + const awaitWriteFinish = (prevStat) => { + fs$1.stat(fullPath, (err, curStat) => { + if (err || !this._pendingWrites.has(path)) { + if (err && err.code !== 'ENOENT') awfEmit(err); + return; + } + + const now = Number(new Date()); + + if (prevStat && curStat.size !== prevStat.size) { + this._pendingWrites.get(path).lastChange = now; + } + const pw = this._pendingWrites.get(path); + const df = now - pw.lastChange; + + if (df >= threshold) { + this._pendingWrites.delete(path); + awfEmit(undefined, curStat); + } else { + timeoutHandler = setTimeout( + awaitWriteFinish, + this.options.awaitWriteFinish.pollInterval, + curStat + ); + } + }); + }; + + if (!this._pendingWrites.has(path)) { + this._pendingWrites.set(path, { + lastChange: now, + cancelWait: () => { + this._pendingWrites.delete(path); + clearTimeout(timeoutHandler); + return event; + } + }); + timeoutHandler = setTimeout( + awaitWriteFinish, + this.options.awaitWriteFinish.pollInterval + ); + } +} + +_getGlobIgnored() { + return [...this._ignoredPaths.values()]; +} + +/** + * Determines whether user has asked to ignore this path. + * @param {Path} path filepath or dir + * @param {fs.Stats=} stats result of fs.stat + * @returns {Boolean} + */ +_isIgnored(path, stats) { + if (this.options.atomic && DOT_RE.test(path)) return true; + if (!this._userIgnored) { + const {cwd} = this.options; + const ign = this.options.ignored; + + const ignored = ign && ign.map(normalizeIgnored(cwd)); + const paths = arrify(ignored) + .filter((path) => typeof path === STRING_TYPE && !isGlob(path)) + .map((path) => path + SLASH_GLOBSTAR); + const list = this._getGlobIgnored().map(normalizeIgnored(cwd)).concat(ignored, paths); + this._userIgnored = anymatch(list, undefined, ANYMATCH_OPTS); + } + + return this._userIgnored([path, stats]); +} + +_isntIgnored(path, stat) { + return !this._isIgnored(path, stat); +} + +/** + * Provides a set of common helpers and properties relating to symlink and glob handling. + * @param {Path} path file, directory, or glob pattern being watched + * @param {Number=} depth at any depth > 0, this isn't a glob + * @returns {WatchHelper} object containing helpers for this path + */ +_getWatchHelpers(path, depth) { + const watchPath = depth || this.options.disableGlobbing || !isGlob(path) ? path : globParent(path); + const follow = this.options.followSymlinks; + + return new WatchHelper(path, watchPath, follow, this); +} + +// Directory helpers +// ----------------- + +/** + * Provides directory tracking objects + * @param {String} directory path of the directory + * @returns {DirEntry} the directory's tracking object + */ +_getWatchedDir(directory) { + if (!this._boundRemove) this._boundRemove = this._remove.bind(this); + const dir = path$1.resolve(directory); + if (!this._watched.has(dir)) this._watched.set(dir, new DirEntry(dir, this._boundRemove)); + return this._watched.get(dir); +} + +// File helpers +// ------------ + +/** + * Check for read permissions. + * Based on this answer on SO: https://stackoverflow.com/a/11781404/1358405 + * @param {fs.Stats} stats - object, result of fs_stat + * @returns {Boolean} indicates whether the file can be read +*/ +_hasReadPermissions(stats) { + if (this.options.ignorePermissionErrors) return true; + + // stats.mode may be bigint + const md = stats && Number.parseInt(stats.mode, 10); + const st = md & 0o777; + const it = Number.parseInt(st.toString(8)[0], 10); + return Boolean(4 & it); +} + +/** + * Handles emitting unlink events for + * files and directories, and via recursion, for + * files and directories within directories that are unlinked + * @param {String} directory within which the following item is located + * @param {String} item base path of item/directory + * @returns {void} +*/ +_remove(directory, item) { + // if what is being deleted is a directory, get that directory's paths + // for recursive deleting and cleaning of watched object + // if it is not a directory, nestedDirectoryChildren will be empty array + const path = path$1.join(directory, item); + const fullPath = path$1.resolve(path); + const isDirectory = this._watched.has(path) || this._watched.has(fullPath); + + // prevent duplicate handling in case of arriving here nearly simultaneously + // via multiple paths (such as _handleFile and _handleDir) + if (!this._throttle('remove', path, 100)) return; + + // if the only watched file is removed, watch for its return + if (!isDirectory && !this.options.useFsEvents && this._watched.size === 1) { + this.add(directory, item, true); + } + + // This will create a new entry in the watched object in either case + // so we got to do the directory check beforehand + const wp = this._getWatchedDir(path); + const nestedDirectoryChildren = wp.getChildren(); + + // Recursively remove children directories / files. + nestedDirectoryChildren.forEach(nested => this._remove(path, nested)); + + // Check if item was on the watched list and remove it + const parent = this._getWatchedDir(directory); + const wasTracked = parent.has(item); + parent.remove(item); + + // If we wait for this file to be fully written, cancel the wait. + let relPath = path; + if (this.options.cwd) relPath = path$1.relative(this.options.cwd, path); + if (this.options.awaitWriteFinish && this._pendingWrites.has(relPath)) { + const event = this._pendingWrites.get(relPath).cancelWait(); + if (event === EV_ADD$2) return; + } + + // The Entry will either be a directory that just got removed + // or a bogus entry to a file, in either case we have to remove it + this._watched.delete(path); + this._watched.delete(fullPath); + const eventName = isDirectory ? EV_UNLINK_DIR : EV_UNLINK$1; + if (wasTracked && !this._isIgnored(path)) this._emit(eventName, path); + + // Avoid conflicts if we later create another file with the same name + if (!this.options.useFsEvents) { + this._closePath(path); + } +} + +/** + * + * @param {Path} path + */ +_closePath(path) { + const closers = this._closers.get(path); + if (!closers) return; + closers.forEach(closer => closer()); + this._closers.delete(path); + const dir = path$1.dirname(path); + this._getWatchedDir(dir).remove(path$1.basename(path)); +} + +/** + * + * @param {Path} path + * @param {Function} closer + */ +_addPathCloser(path, closer) { + if (!closer) return; + let list = this._closers.get(path); + if (!list) { + list = []; + this._closers.set(path, list); + } + list.push(closer); +} + +_readdirp(root, opts) { + if (this.closed) return; + const options = {type: EV_ALL, alwaysStat: true, lstat: true, ...opts}; + let stream = readdirp_1(root, options); + this._streams.add(stream); + stream.once(STR_CLOSE, () => { + stream = undefined; + }); + stream.once(STR_END$2, () => { + if (stream) { + this._streams.delete(stream); + stream = undefined; + } + }); + return stream; +} + +} + +// Export FSWatcher class +var FSWatcher_1 = FSWatcher; + +/** + * Instantiates watcher with paths to be tracked. + * @param {String|Array} paths file/directory paths and/or globs + * @param {Object=} options chokidar opts + * @returns an instance of FSWatcher for chaining. + */ +const watch = (paths, options) => { + const watcher = new FSWatcher(options); + watcher.add(paths); + return watcher; +}; + +var watch_1 = watch; + +var chokidar = { + FSWatcher: FSWatcher_1, + watch: watch_1 +}; + +var textTable = function (rows_, opts) { + if (!opts) opts = {}; + var hsep = opts.hsep === undefined ? ' ' : opts.hsep; + var align = opts.align || []; + var stringLength = opts.stringLength + || function (s) { return String(s).length; } + ; + + var dotsizes = reduce(rows_, function (acc, row) { + forEach(row, function (c, ix) { + var n = dotindex(c); + if (!acc[ix] || n > acc[ix]) acc[ix] = n; + }); + return acc; + }, []); + + var rows = map$1(rows_, function (row) { + return map$1(row, function (c_, ix) { + var c = String(c_); + if (align[ix] === '.') { + var index = dotindex(c); + var size = dotsizes[ix] + (/\./.test(c) ? 1 : 2) + - (stringLength(c) - index) + ; + return c + Array(size).join(' '); + } + else return c; + }); + }); + + var sizes = reduce(rows, function (acc, row) { + forEach(row, function (c, ix) { + var n = stringLength(c); + if (!acc[ix] || n > acc[ix]) acc[ix] = n; + }); + return acc; + }, []); + + return map$1(rows, function (row) { + return map$1(row, function (c, ix) { + var n = (sizes[ix] - stringLength(c)) || 0; + var s = Array(Math.max(n + 1, 1)).join(' '); + if (align[ix] === 'r' || align[ix] === '.') { + return s + c; + } + if (align[ix] === 'c') { + return Array(Math.ceil(n / 2 + 1)).join(' ') + + c + Array(Math.floor(n / 2 + 1)).join(' ') + ; + } + + return c + s; + }).join(hsep).replace(/\s+$/, ''); + }).join('\n'); +}; + +function dotindex (c) { + var m = /\.[^.]*$/.exec(c); + return m ? m.index + 1 : c.length; +} + +function reduce (xs, f, init) { + if (xs.reduce) return xs.reduce(f, init); + var i = 0; + var acc = arguments.length >= 3 ? init : xs[i++]; + for (; i < xs.length; i++) { + f(acc, xs[i], i); + } + return acc; +} + +function forEach (xs, f) { + if (xs.forEach) return xs.forEach(f); + for (var i = 0; i < xs.length; i++) { + f.call(xs, xs[i], i); + } +} + +function map$1 (xs, f) { + if (xs.map) return xs.map(f); + var res = []; + for (var i = 0; i < xs.length; i++) { + res.push(f.call(xs, xs[i], i)); + } + return res; +} + +const preserveCamelCase = string => { + let isLastCharLower = false; + let isLastCharUpper = false; + let isLastLastCharUpper = false; + + for (let i = 0; i < string.length; i++) { + const character = string[i]; + + if (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) { + string = string.slice(0, i) + '-' + string.slice(i); + isLastCharLower = false; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = true; + i++; + } else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) { + string = string.slice(0, i - 1) + '-' + string.slice(i - 1); + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = false; + isLastCharLower = true; + } else { + isLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character; + isLastLastCharUpper = isLastCharUpper; + isLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character; + } + } + + return string; +}; + +const camelCase = (input, options) => { + if (!(typeof input === 'string' || Array.isArray(input))) { + throw new TypeError('Expected the input to be `string | string[]`'); + } + + options = Object.assign({ + pascalCase: false + }, options); + + const postProcess = x => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x; + + if (Array.isArray(input)) { + input = input.map(x => x.trim()) + .filter(x => x.length) + .join('-'); + } else { + input = input.trim(); + } + + if (input.length === 0) { + return ''; + } + + if (input.length === 1) { + return options.pascalCase ? input.toUpperCase() : input.toLowerCase(); + } + + const hasUpperCase = input !== input.toLowerCase(); + + if (hasUpperCase) { + input = preserveCamelCase(input); + } + + input = input + .replace(/^[_.\- ]+/, '') + .toLowerCase() + .replace(/[_.\- ]+(\w|$)/g, (_, p1) => p1.toUpperCase()) + .replace(/\d+(\w|$)/g, m => m.toUpperCase()); + + return postProcess(input); +}; + +var camelcase = camelCase; +// TODO: Remove this for the next major release +var default_1$2 = camelCase; +camelcase.default = default_1$2; + +// This is a generated file. Do not edit. +var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/; +var ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/; +var ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/; + +var unicode = { + Space_Separator: Space_Separator, + ID_Start: ID_Start, + ID_Continue: ID_Continue +}; + +var util = { + isSpaceSeparator (c) { + return unicode.Space_Separator.test(c) + }, + + isIdStartChar (c) { + return ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c === '$') || (c === '_') || + unicode.ID_Start.test(c) + ) + }, + + isIdContinueChar (c) { + return ( + (c >= 'a' && c <= 'z') || + (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') || + (c === '$') || (c === '_') || + (c === '\u200C') || (c === '\u200D') || + unicode.ID_Continue.test(c) + ) + }, + + isDigit (c) { + return /[0-9]/.test(c) + }, + + isHexDigit (c) { + return /[0-9A-Fa-f]/.test(c) + }, +}; + +let source; +let parseState; +let stack; +let pos; +let line; +let column; +let token; +let key; +let root; + +var parse$7 = function parse (text, reviver) { + source = String(text); + parseState = 'start'; + stack = []; + pos = 0; + line = 1; + column = 0; + token = undefined; + key = undefined; + root = undefined; + + do { + token = lex(); + + // This code is unreachable. + // if (!parseStates[parseState]) { + // throw invalidParseState() + // } + + parseStates[parseState](); + } while (token.type !== 'eof') + + if (typeof reviver === 'function') { + return internalize({'': root}, '', reviver) + } + + return root +}; + +function internalize (holder, name, reviver) { + const value = holder[name]; + if (value != null && typeof value === 'object') { + for (const key in value) { + const replacement = internalize(value, key, reviver); + if (replacement === undefined) { + delete value[key]; + } else { + value[key] = replacement; + } + } + } + + return reviver.call(holder, name, value) +} + +let lexState; +let buffer; +let doubleQuote; +let sign; +let c; + +function lex () { + lexState = 'default'; + buffer = ''; + doubleQuote = false; + sign = 1; + + for (;;) { + c = peek(); + + // This code is unreachable. + // if (!lexStates[lexState]) { + // throw invalidLexState(lexState) + // } + + const token = lexStates[lexState](); + if (token) { + return token + } + } +} + +function peek () { + if (source[pos]) { + return String.fromCodePoint(source.codePointAt(pos)) + } +} + +function read$4 () { + const c = peek(); + + if (c === '\n') { + line++; + column = 0; + } else if (c) { + column += c.length; + } else { + column++; + } + + if (c) { + pos += c.length; + } + + return c +} + +const lexStates = { + default () { + switch (c) { + case '\t': + case '\v': + case '\f': + case ' ': + case '\u00A0': + case '\uFEFF': + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read$4(); + return + + case '/': + read$4(); + lexState = 'comment'; + return + + case undefined: + read$4(); + return newToken('eof') + } + + if (util.isSpaceSeparator(c)) { + read$4(); + return + } + + // This code is unreachable. + // if (!lexStates[parseState]) { + // throw invalidLexState(parseState) + // } + + return lexStates[parseState]() + }, + + comment () { + switch (c) { + case '*': + read$4(); + lexState = 'multiLineComment'; + return + + case '/': + read$4(); + lexState = 'singleLineComment'; + return + } + + throw invalidChar(read$4()) + }, + + multiLineComment () { + switch (c) { + case '*': + read$4(); + lexState = 'multiLineCommentAsterisk'; + return + + case undefined: + throw invalidChar(read$4()) + } + + read$4(); + }, + + multiLineCommentAsterisk () { + switch (c) { + case '*': + read$4(); + return + + case '/': + read$4(); + lexState = 'default'; + return + + case undefined: + throw invalidChar(read$4()) + } + + read$4(); + lexState = 'multiLineComment'; + }, + + singleLineComment () { + switch (c) { + case '\n': + case '\r': + case '\u2028': + case '\u2029': + read$4(); + lexState = 'default'; + return + + case undefined: + read$4(); + return newToken('eof') + } + + read$4(); + }, + + value () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read$4()) + + case 'n': + read$4(); + literal('ull'); + return newToken('null', null) + + case 't': + read$4(); + literal('rue'); + return newToken('boolean', true) + + case 'f': + read$4(); + literal('alse'); + return newToken('boolean', false) + + case '-': + case '+': + if (read$4() === '-') { + sign = -1; + } + + lexState = 'sign'; + return + + case '.': + buffer = read$4(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read$4(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read$4(); + lexState = 'decimalInteger'; + return + + case 'I': + read$4(); + literal('nfinity'); + return newToken('numeric', Infinity) + + case 'N': + read$4(); + literal('aN'); + return newToken('numeric', NaN) + + case '"': + case "'": + doubleQuote = (read$4() === '"'); + buffer = ''; + lexState = 'string'; + return + } + + throw invalidChar(read$4()) + }, + + identifierNameStartEscape () { + if (c !== 'u') { + throw invalidChar(read$4()) + } + + read$4(); + const u = unicodeEscape(); + switch (u) { + case '$': + case '_': + break + + default: + if (!util.isIdStartChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + identifierName () { + switch (c) { + case '$': + case '_': + case '\u200C': + case '\u200D': + buffer += read$4(); + return + + case '\\': + read$4(); + lexState = 'identifierNameEscape'; + return + } + + if (util.isIdContinueChar(c)) { + buffer += read$4(); + return + } + + return newToken('identifier', buffer) + }, + + identifierNameEscape () { + if (c !== 'u') { + throw invalidChar(read$4()) + } + + read$4(); + const u = unicodeEscape(); + switch (u) { + case '$': + case '_': + case '\u200C': + case '\u200D': + break + + default: + if (!util.isIdContinueChar(u)) { + throw invalidIdentifier() + } + + break + } + + buffer += u; + lexState = 'identifierName'; + }, + + sign () { + switch (c) { + case '.': + buffer = read$4(); + lexState = 'decimalPointLeading'; + return + + case '0': + buffer = read$4(); + lexState = 'zero'; + return + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + buffer = read$4(); + lexState = 'decimalInteger'; + return + + case 'I': + read$4(); + literal('nfinity'); + return newToken('numeric', sign * Infinity) + + case 'N': + read$4(); + literal('aN'); + return newToken('numeric', NaN) + } + + throw invalidChar(read$4()) + }, + + zero () { + switch (c) { + case '.': + buffer += read$4(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read$4(); + lexState = 'decimalExponent'; + return + + case 'x': + case 'X': + buffer += read$4(); + lexState = 'hexadecimal'; + return + } + + return newToken('numeric', sign * 0) + }, + + decimalInteger () { + switch (c) { + case '.': + buffer += read$4(); + lexState = 'decimalPoint'; + return + + case 'e': + case 'E': + buffer += read$4(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read$4(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalPointLeading () { + if (util.isDigit(c)) { + buffer += read$4(); + lexState = 'decimalFraction'; + return + } + + throw invalidChar(read$4()) + }, + + decimalPoint () { + switch (c) { + case 'e': + case 'E': + buffer += read$4(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read$4(); + lexState = 'decimalFraction'; + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalFraction () { + switch (c) { + case 'e': + case 'E': + buffer += read$4(); + lexState = 'decimalExponent'; + return + } + + if (util.isDigit(c)) { + buffer += read$4(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + decimalExponent () { + switch (c) { + case '+': + case '-': + buffer += read$4(); + lexState = 'decimalExponentSign'; + return + } + + if (util.isDigit(c)) { + buffer += read$4(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read$4()) + }, + + decimalExponentSign () { + if (util.isDigit(c)) { + buffer += read$4(); + lexState = 'decimalExponentInteger'; + return + } + + throw invalidChar(read$4()) + }, + + decimalExponentInteger () { + if (util.isDigit(c)) { + buffer += read$4(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + hexadecimal () { + if (util.isHexDigit(c)) { + buffer += read$4(); + lexState = 'hexadecimalInteger'; + return + } + + throw invalidChar(read$4()) + }, + + hexadecimalInteger () { + if (util.isHexDigit(c)) { + buffer += read$4(); + return + } + + return newToken('numeric', sign * Number(buffer)) + }, + + string () { + switch (c) { + case '\\': + read$4(); + buffer += escape(); + return + + case '"': + if (doubleQuote) { + read$4(); + return newToken('string', buffer) + } + + buffer += read$4(); + return + + case "'": + if (!doubleQuote) { + read$4(); + return newToken('string', buffer) + } + + buffer += read$4(); + return + + case '\n': + case '\r': + throw invalidChar(read$4()) + + case '\u2028': + case '\u2029': + separatorChar(c); + break + + case undefined: + throw invalidChar(read$4()) + } + + buffer += read$4(); + }, + + start () { + switch (c) { + case '{': + case '[': + return newToken('punctuator', read$4()) + + // This code is unreachable since the default lexState handles eof. + // case undefined: + // return newToken('eof') + } + + lexState = 'value'; + }, + + beforePropertyName () { + switch (c) { + case '$': + case '_': + buffer = read$4(); + lexState = 'identifierName'; + return + + case '\\': + read$4(); + lexState = 'identifierNameStartEscape'; + return + + case '}': + return newToken('punctuator', read$4()) + + case '"': + case "'": + doubleQuote = (read$4() === '"'); + lexState = 'string'; + return + } + + if (util.isIdStartChar(c)) { + buffer += read$4(); + lexState = 'identifierName'; + return + } + + throw invalidChar(read$4()) + }, + + afterPropertyName () { + if (c === ':') { + return newToken('punctuator', read$4()) + } + + throw invalidChar(read$4()) + }, + + beforePropertyValue () { + lexState = 'value'; + }, + + afterPropertyValue () { + switch (c) { + case ',': + case '}': + return newToken('punctuator', read$4()) + } + + throw invalidChar(read$4()) + }, + + beforeArrayValue () { + if (c === ']') { + return newToken('punctuator', read$4()) + } + + lexState = 'value'; + }, + + afterArrayValue () { + switch (c) { + case ',': + case ']': + return newToken('punctuator', read$4()) + } + + throw invalidChar(read$4()) + }, + + end () { + // This code is unreachable since it's handled by the default lexState. + // if (c === undefined) { + // read() + // return newToken('eof') + // } + + throw invalidChar(read$4()) + }, +}; + +function newToken (type, value) { + return { + type, + value, + line, + column, + } +} + +function literal (s) { + for (const c of s) { + const p = peek(); + + if (p !== c) { + throw invalidChar(read$4()) + } + + read$4(); + } +} + +function escape () { + const c = peek(); + switch (c) { + case 'b': + read$4(); + return '\b' + + case 'f': + read$4(); + return '\f' + + case 'n': + read$4(); + return '\n' + + case 'r': + read$4(); + return '\r' + + case 't': + read$4(); + return '\t' + + case 'v': + read$4(); + return '\v' + + case '0': + read$4(); + if (util.isDigit(peek())) { + throw invalidChar(read$4()) + } + + return '\0' + + case 'x': + read$4(); + return hexEscape() + + case 'u': + read$4(); + return unicodeEscape() + + case '\n': + case '\u2028': + case '\u2029': + read$4(); + return '' + + case '\r': + read$4(); + if (peek() === '\n') { + read$4(); + } + + return '' + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + throw invalidChar(read$4()) + + case undefined: + throw invalidChar(read$4()) + } + + return read$4() +} + +function hexEscape () { + let buffer = ''; + let c = peek(); + + if (!util.isHexDigit(c)) { + throw invalidChar(read$4()) + } + + buffer += read$4(); + + c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read$4()) + } + + buffer += read$4(); + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +function unicodeEscape () { + let buffer = ''; + let count = 4; + + while (count-- > 0) { + const c = peek(); + if (!util.isHexDigit(c)) { + throw invalidChar(read$4()) + } + + buffer += read$4(); + } + + return String.fromCodePoint(parseInt(buffer, 16)) +} + +const parseStates = { + start () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforePropertyName () { + switch (token.type) { + case 'identifier': + case 'string': + key = token.value; + parseState = 'afterPropertyName'; + return + + case 'punctuator': + // This code is unreachable since it's handled by the lexState. + // if (token.value !== '}') { + // throw invalidToken() + // } + + pop(); + return + + case 'eof': + throw invalidEOF() + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterPropertyName () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator' || token.value !== ':') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + parseState = 'beforePropertyValue'; + }, + + beforePropertyValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + push(); + }, + + beforeArrayValue () { + if (token.type === 'eof') { + throw invalidEOF() + } + + if (token.type === 'punctuator' && token.value === ']') { + pop(); + return + } + + push(); + }, + + afterPropertyValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforePropertyName'; + return + + case '}': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + afterArrayValue () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'punctuator') { + // throw invalidToken() + // } + + if (token.type === 'eof') { + throw invalidEOF() + } + + switch (token.value) { + case ',': + parseState = 'beforeArrayValue'; + return + + case ']': + pop(); + } + + // This code is unreachable since it's handled by the lexState. + // throw invalidToken() + }, + + end () { + // This code is unreachable since it's handled by the lexState. + // if (token.type !== 'eof') { + // throw invalidToken() + // } + }, +}; + +function push () { + let value; + + switch (token.type) { + case 'punctuator': + switch (token.value) { + case '{': + value = {}; + break + + case '[': + value = []; + break + } + + break + + case 'null': + case 'boolean': + case 'numeric': + case 'string': + value = token.value; + break + + // This code is unreachable. + // default: + // throw invalidToken() + } + + if (root === undefined) { + root = value; + } else { + const parent = stack[stack.length - 1]; + if (Array.isArray(parent)) { + parent.push(value); + } else { + parent[key] = value; + } + } + + if (value !== null && typeof value === 'object') { + stack.push(value); + + if (Array.isArray(value)) { + parseState = 'beforeArrayValue'; + } else { + parseState = 'beforePropertyName'; + } + } else { + const current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } + } +} + +function pop () { + stack.pop(); + + const current = stack[stack.length - 1]; + if (current == null) { + parseState = 'end'; + } else if (Array.isArray(current)) { + parseState = 'afterArrayValue'; + } else { + parseState = 'afterPropertyValue'; + } +} + +// This code is unreachable. +// function invalidParseState () { +// return new Error(`JSON5: invalid parse state '${parseState}'`) +// } + +// This code is unreachable. +// function invalidLexState (state) { +// return new Error(`JSON5: invalid lex state '${state}'`) +// } + +function invalidChar (c) { + if (c === undefined) { + return syntaxError$1(`JSON5: invalid end of input at ${line}:${column}`) + } + + return syntaxError$1(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +} + +function invalidEOF () { + return syntaxError$1(`JSON5: invalid end of input at ${line}:${column}`) +} + +// This code is unreachable. +// function invalidToken () { +// if (token.type === 'eof') { +// return syntaxError(`JSON5: invalid end of input at ${line}:${column}`) +// } + +// const c = String.fromCodePoint(token.value.codePointAt(0)) +// return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`) +// } + +function invalidIdentifier () { + column -= 5; + return syntaxError$1(`JSON5: invalid identifier character at ${line}:${column}`) +} + +function separatorChar (c) { + console.warn(`JSON5: '${formatChar(c)}' in strings is not valid ECMAScript; consider escaping`); +} + +function formatChar (c) { + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + if (replacements[c]) { + return replacements[c] + } + + if (c < ' ') { + const hexString = c.charCodeAt(0).toString(16); + return '\\x' + ('00' + hexString).substring(hexString.length) + } + + return c +} + +function syntaxError$1 (message) { + const err = new SyntaxError(message); + err.lineNumber = line; + err.columnNumber = column; + return err +} + +var stringify$5 = function stringify (value, replacer, space) { + const stack = []; + let indent = ''; + let propertyList; + let replacerFunc; + let gap = ''; + let quote; + + if ( + replacer != null && + typeof replacer === 'object' && + !Array.isArray(replacer) + ) { + space = replacer.space; + quote = replacer.quote; + replacer = replacer.replacer; + } + + if (typeof replacer === 'function') { + replacerFunc = replacer; + } else if (Array.isArray(replacer)) { + propertyList = []; + for (const v of replacer) { + let item; + + if (typeof v === 'string') { + item = v; + } else if ( + typeof v === 'number' || + v instanceof String || + v instanceof Number + ) { + item = String(v); + } + + if (item !== undefined && propertyList.indexOf(item) < 0) { + propertyList.push(item); + } + } + } + + if (space instanceof Number) { + space = Number(space); + } else if (space instanceof String) { + space = String(space); + } + + if (typeof space === 'number') { + if (space > 0) { + space = Math.min(10, Math.floor(space)); + gap = ' '.substr(0, space); + } + } else if (typeof space === 'string') { + gap = space.substr(0, 10); + } + + return serializeProperty('', {'': value}) + + function serializeProperty (key, holder) { + let value = holder[key]; + if (value != null) { + if (typeof value.toJSON5 === 'function') { + value = value.toJSON5(key); + } else if (typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + } + + if (replacerFunc) { + value = replacerFunc.call(holder, key, value); + } + + if (value instanceof Number) { + value = Number(value); + } else if (value instanceof String) { + value = String(value); + } else if (value instanceof Boolean) { + value = value.valueOf(); + } + + switch (value) { + case null: return 'null' + case true: return 'true' + case false: return 'false' + } + + if (typeof value === 'string') { + return quoteString(value) + } + + if (typeof value === 'number') { + return String(value) + } + + if (typeof value === 'object') { + return Array.isArray(value) ? serializeArray(value) : serializeObject(value) + } + + return undefined + } + + function quoteString (value) { + const quotes = { + "'": 0.1, + '"': 0.2, + }; + + const replacements = { + "'": "\\'", + '"': '\\"', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\v': '\\v', + '\0': '\\0', + '\u2028': '\\u2028', + '\u2029': '\\u2029', + }; + + let product = ''; + + for (let i = 0; i < value.length; i++) { + const c = value[i]; + switch (c) { + case "'": + case '"': + quotes[c]++; + product += c; + continue + + case '\0': + if (util.isDigit(value[i + 1])) { + product += '\\x00'; + continue + } + } + + if (replacements[c]) { + product += replacements[c]; + continue + } + + if (c < ' ') { + let hexString = c.charCodeAt(0).toString(16); + product += '\\x' + ('00' + hexString).substring(hexString.length); + continue + } + + product += c; + } + + const quoteChar = quote || Object.keys(quotes).reduce((a, b) => (quotes[a] < quotes[b]) ? a : b); + + product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]); + + return quoteChar + product + quoteChar + } + + function serializeObject (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + let stepback = indent; + indent = indent + gap; + + let keys = propertyList || Object.keys(value); + let partial = []; + for (const key of keys) { + const propertyString = serializeProperty(key, value); + if (propertyString !== undefined) { + let member = serializeKey(key) + ':'; + if (gap !== '') { + member += ' '; + } + member += propertyString; + partial.push(member); + } + } + + let final; + if (partial.length === 0) { + final = '{}'; + } else { + let properties; + if (gap === '') { + properties = partial.join(','); + final = '{' + properties + '}'; + } else { + let separator = ',\n' + indent; + properties = partial.join(separator); + final = '{\n' + indent + properties + ',\n' + stepback + '}'; + } + } + + stack.pop(); + indent = stepback; + return final + } + + function serializeKey (key) { + if (key.length === 0) { + return quoteString(key) + } + + const firstChar = String.fromCodePoint(key.codePointAt(0)); + if (!util.isIdStartChar(firstChar)) { + return quoteString(key) + } + + for (let i = firstChar.length; i < key.length; i++) { + if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { + return quoteString(key) + } + } + + return key + } + + function serializeArray (value) { + if (stack.indexOf(value) >= 0) { + throw TypeError('Converting circular structure to JSON5') + } + + stack.push(value); + + let stepback = indent; + indent = indent + gap; + + let partial = []; + for (let i = 0; i < value.length; i++) { + const propertyString = serializeProperty(String(i), value); + partial.push((propertyString !== undefined) ? propertyString : 'null'); + } + + let final; + if (partial.length === 0) { + final = '[]'; + } else { + if (gap === '') { + let properties = partial.join(','); + final = '[' + properties + ']'; + } else { + let separator = ',\n' + indent; + let properties = partial.join(separator); + final = '[\n' + indent + properties + ',\n' + stepback + ']'; + } + } + + stack.pop(); + indent = stepback; + return final + } +}; + +const JSON5 = { + parse: parse$7, + stringify: stringify$5, +}; + +var lib$2 = JSON5; + +var dist = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': lib$2 +}); + +var schema$1 = [ + { + long: "help", + description: "output usage information", + short: "h", + type: "boolean", + "default": false + }, + { + long: "version", + description: "output version number", + short: "v", + type: "boolean", + "default": false + }, + { + long: "output", + description: "specify output location", + short: "o", + value: "[path]" + }, + { + long: "rc-path", + description: "specify configuration file", + short: "r", + type: "string", + value: "" + }, + { + long: "ignore-path", + description: "specify ignore file", + short: "i", + type: "string", + value: "" + }, + { + long: "setting", + description: "specify settings", + short: "s", + type: "string", + value: "" + }, + { + long: "ext", + description: "specify extensions", + short: "e", + type: "string", + value: "" + }, + { + long: "use", + description: "use plugins", + short: "u", + type: "string", + value: "" + }, + { + long: "watch", + description: "watch for changes and reprocess", + short: "w", + type: "boolean", + "default": false + }, + { + long: "quiet", + description: "output only warnings and errors", + short: "q", + type: "boolean", + "default": false + }, + { + long: "silent", + description: "output only errors", + short: "S", + type: "boolean", + "default": false + }, + { + long: "frail", + description: "exit with 1 on warnings", + short: "f", + type: "boolean", + "default": false + }, + { + long: "tree", + description: "specify input and output as syntax tree", + short: "t", + type: "boolean", + "default": false + }, + { + long: "report", + description: "specify reporter", + type: "string", + value: "" + }, + { + long: "file-path", + description: "specify path to process as", + type: "string", + value: "" + }, + { + long: "ignore-pattern", + description: "specify ignore patterns", + type: "string", + value: "" + }, + { + long: "tree-in", + description: "specify input as syntax tree", + type: "boolean" + }, + { + long: "tree-out", + description: "output syntax tree", + type: "boolean" + }, + { + long: "inspect", + description: "output formatted syntax tree", + type: "boolean" + }, + { + long: "stdout", + description: "specify writing to stdout", + type: "boolean", + truelike: true + }, + { + long: "color", + description: "specify color in report", + type: "boolean", + "default": true + }, + { + long: "config", + description: "search for configuration files", + type: "boolean", + "default": true + }, + { + long: "ignore", + description: "search for ignore files", + type: "boolean", + "default": true + } +]; + +var schema$2 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': schema$1 +}); + +var json5 = getCjsExportFromNamespace(dist); + +var schema$3 = getCjsExportFromNamespace(schema$2); + +var options_1 = options; + +// Schema for `minimist`. +var minischema = { + unknown: handleUnknownArgument, + default: {}, + alias: {}, + string: [], + boolean: [] +}; + +schema$3.forEach(addEach); + +// Parse CLI options. +function options(flags, configuration) { + var extension = configuration.extensions[0]; + var name = configuration.name; + var config = toCamelCase(minimist(flags, minischema)); + var help; + var ext; + var report; + + schema$3.forEach(function(option) { + if (option.type === 'string' && config[option.long] === '') { + throw fault_1('Missing value:%s', inspect$1(option).join(' ')) + } + }); + + ext = commaSeparated(config.ext); + report = reporter$1(config.report); + + help = [ + inspectAll(schema$3), + '', + 'Examples:', + '', + ' # Process `input.' + extension + '`', + ' $ ' + name + ' input.' + extension + ' -o output.' + extension, + '', + ' # Pipe', + ' $ ' + name + ' < input.' + extension + ' > output.' + extension, + '', + ' # Rewrite all applicable files', + ' $ ' + name + ' . -o' + ].join('\n'); + + return { + helpMessage: help, + // “hidden” feature, makes testing easier. + cwd: configuration.cwd, + processor: configuration.processor, + help: config.help, + version: config.version, + files: config._, + filePath: config.filePath, + watch: config.watch, + extensions: ext.length === 0 ? configuration.extensions : ext, + output: config.output, + out: config.stdout, + tree: config.tree, + treeIn: config.treeIn, + treeOut: config.treeOut, + inspect: config.inspect, + rcName: configuration.rcName, + packageField: configuration.packageField, + rcPath: config.rcPath, + detectConfig: config.config, + settings: settings(config.setting), + ignoreName: configuration.ignoreName, + ignorePath: config.ignorePath, + ignorePatterns: commaSeparated(config.ignorePattern), + detectIgnore: config.ignore, + pluginPrefix: configuration.pluginPrefix, + plugins: plugins(config.use), + reporter: report[0], + reporterOptions: report[1], + color: config.color, + silent: config.silent, + quiet: config.quiet, + frail: config.frail + } +} + +function addEach(option) { + var value = option.default; + + minischema.default[option.long] = value === undefined ? null : value; + + if (option.type in minischema) { + minischema[option.type].push(option.long); + } + + if (option.short) { + minischema.alias[option.short] = option.long; + } +} + +// Parse `extensions`. +function commaSeparated(value) { + return flatten$1(normalize$1(value).map(splitList)) +} + +// Parse `plugins`. +function plugins(value) { + var result = {}; + + normalize$1(value) + .map(splitOptions) + .forEach(function(value) { + result[value[0]] = value[1] ? parseConfig(value[1], {}) : null; + }); + + return result +} + +// Parse `reporter`: only one is accepted. +function reporter$1(value) { + var all = normalize$1(value) + .map(splitOptions) + .map(function(value) { + return [value[0], value[1] ? parseConfig(value[1], {}) : null] + }); + + return all[all.length - 1] || [] +} + +// Parse `settings`. +function settings(value) { + var cache = {}; + + normalize$1(value).forEach(function(value) { + parseConfig(value, cache); + }); + + return cache +} + +// Parse configuration. +function parseConfig(flags, cache) { + var flag; + var message; + + try { + flags = toCamelCase(parseJSON(flags)); + } catch (error) { + // Fix position + message = error.message.replace(/at(?= position)/, 'around'); + + throw fault_1('Cannot parse `%s` as JSON: %s', flags, message) + } + + for (flag in flags) { + cache[flag] = flags[flag]; + } + + return cache +} + +// Handle an unknown flag. +function handleUnknownArgument(flag) { + // Glob. + if (flag.charAt(0) !== '-') { + return + } + + // Long options, always unknown. + if (flag.charAt(1) === '-') { + throw fault_1('Unknown option `%s`, expected:\n%s', flag, inspectAll(schema$3)) + } + + // Short options, can be grouped. + flag + .slice(1) + .split('') + .forEach(each); + + function each(key) { + var length = schema$3.length; + var index = -1; + var option; + + while (++index < length) { + option = schema$3[index]; + + if (option.short === key) { + return + } + } + + throw fault_1( + 'Unknown short option `-%s`, expected:\n%s', + key, + inspectAll(schema$3.filter(short)) + ) + } + + function short(option) { + return option.short + } +} + +// Inspect all `options`. +function inspectAll(options) { + return textTable(options.map(inspect$1)) +} + +// Inspect one `option`. +function inspect$1(option) { + var description = option.description; + var long = option.long; + + if (option.default === true || option.truelike) { + description += ' (on by default)'; + long = '[no-]' + long; + } + + return [ + '', + option.short ? '-' + option.short : '', + '--' + long + (option.value ? ' ' + option.value : ''), + description + ] +} + +// Normalize `value`. +function normalize$1(value) { + if (!value) { + return [] + } + + if (typeof value === 'string') { + return [value] + } + + return flatten$1(value.map(normalize$1)) +} + +// Flatten `values`. +function flatten$1(values) { + return [].concat.apply([], values) +} + +function splitOptions(value) { + return value.split('=') +} + +function splitList(value) { + return value.split(',') +} + +// Transform the keys on an object to camel-case, recursivly. +function toCamelCase(object) { + var result = {}; + var value; + var key; + + for (key in object) { + value = object[key]; + + if (value && typeof value === 'object' && !('length' in value)) { + value = toCamelCase(value); + } + + result[camelcase(key)] = value; + } + + return result +} + +// Parse a (lazy?) JSON config. +function parseJSON(value) { + return json5.parse('{' + value + '}') +} + +var lib$3 = start; + +var noop$1 = Function.prototype; + +// Fake TTY stream. +var ttyStream = new stream.Readable(); +ttyStream.isTTY = true; + +// Exit, lazily, with the correct exit status code. +var exitStatus = 0; + +process.on('exit', onexit); + +// Handle uncaught errors, such as from unexpected async behaviour. +process.on('uncaughtException', fail$1); + +// Start the CLI. +function start(cliConfig) { + var config; + var output; + var watcher; + + try { + config = options_1(process.argv.slice(2), cliConfig); + } catch (error) { + return fail$1(error, true) + } + + if (config.help) { + process.stdout.write( + [ + 'Usage: ' + cliConfig.name + ' [options] [path | glob ...]', + '', + ' ' + cliConfig.description, + '', + 'Options:', + '', + config.helpMessage, + '' + ].join('\n'), + noop$1 + ); + + return + } + + if (config.version) { + process.stdout.write(cliConfig.version + '\n', noop$1); + + return + } + + // Modify `config` for watching. + if (config.watch) { + output = config.output; + + // Do not read from stdin(4). + config.streamIn = ttyStream; + + // Do not write to stdout(4). + config.out = false; + + process.stderr.write( + chalk.bold('Watching...') + ' (press CTRL+C to exit)\n', + noop$1 + ); + + // Prevent infinite loop if set to regeneration. + if (output === true) { + config.output = false; + + process.stderr.write( + chalk.yellow('Note') + ': Ignoring `--output` until exit.\n', + noop$1 + ); + } + } + + // Initial run. + lib$1(config, done); + + // Handle complete run. + function done(err, code, context) { + if (err) { + clean(); + fail$1(err); + } else { + exitStatus = code; + + if (config.watch && !watcher) { + subscribe(context); + } + } + } + + // Clean the watcher. + function clean() { + if (watcher) { + watcher.close(); + watcher = null; + } + } + + // Subscribe a chokidar watcher to all processed files. + function subscribe(context) { + watcher = chokidar + .watch(context.fileSet.origins, {cwd: config.cwd, ignoreInitial: true}) + .on('error', done) + .on('change', onchange); + + process.on('SIGINT', onsigint); + + function onchange(filePath) { + config.files = [filePath]; + + lib$1(config, done); + } + + function onsigint() { + // Hide the `^C` in terminal. + process.stderr.write('\n', noop$1); + + clean(); + + // Do another process if `output` specified regeneration. + if (output === true) { + config.output = output; + config.watch = false; + lib$1(config, done); + } + } + } +} + +// Print an error, optionally with stack. +function fail$1(err, pretty) { + var message = + (pretty ? String(err).trim() : err.stack) || + /* istanbul ignore next - Old versions of Node */ err; + + exitStatus = 1; + + process.stderr.write(message.trim() + '\n', noop$1); +} + +function onexit() { + /* eslint-disable unicorn/no-process-exit */ + process.exit(exitStatus); + /* eslint-enable unicorn/no-process-exit */ +} + +var unifiedArgs = lib$3; + +var markdownExtensions = [ + "md", + "markdown", + "mdown", + "mkdn", + "mkd", + "mdwn", + "mkdown", + "ron" +]; + +var markdownExtensions$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': markdownExtensions +}); + +var require$$0$1 = getCjsExportFromNamespace(markdownExtensions$1); + +var markdownExtensions$2 = require$$0$1; + +var hasOwn = Object.prototype.hasOwnProperty; +var toStr = Object.prototype.toString; +var defineProperty = Object.defineProperty; +var gOPD = Object.getOwnPropertyDescriptor; + +var isArray$1 = function isArray(arr) { + if (typeof Array.isArray === 'function') { + return Array.isArray(arr); + } + + return toStr.call(arr) === '[object Array]'; +}; + +var isPlainObject = function isPlainObject(obj) { + if (!obj || toStr.call(obj) !== '[object Object]') { + return false; + } + + var hasOwnConstructor = hasOwn.call(obj, 'constructor'); + var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); + // Not own constructor property must be Object + if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + var key; + for (key in obj) { /**/ } + + return typeof key === 'undefined' || hasOwn.call(obj, key); +}; + +// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target +var setProperty = function setProperty(target, options) { + if (defineProperty && options.name === '__proto__') { + defineProperty(target, options.name, { + enumerable: true, + configurable: true, + value: options.newValue, + writable: true + }); + } else { + target[options.name] = options.newValue; + } +}; + +// Return undefined instead of __proto__ if '__proto__' is not an own property +var getProperty = function getProperty(obj, name) { + if (name === '__proto__') { + if (!hasOwn.call(obj, name)) { + return void 0; + } else if (gOPD) { + // In early versions of node, obj['__proto__'] is buggy when obj has + // __proto__ as an own property. Object.getOwnPropertyDescriptor() works. + return gOPD(obj, name).value; + } + } + + return obj[name]; +}; + +var extend$3 = function extend() { + var options, name, src, copy, copyIsArray, clone; + var target = arguments[0]; + var i = 1; + var length = arguments.length; + var deep = false; + + // Handle a deep copy situation + if (typeof target === 'boolean') { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + if (target == null || (typeof target !== 'object' && typeof target !== 'function')) { + target = {}; + } + + for (; i < length; ++i) { + options = arguments[i]; + // Only deal with non-null/undefined values + if (options != null) { + // Extend the base object + for (name in options) { + src = getProperty(target, name); + copy = getProperty(options, name); + + // Prevent never-ending loop + if (target !== copy) { + // Recurse if we're merging plain objects or arrays + if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray$1(copy)))) { + if (copyIsArray) { + copyIsArray = false; + clone = src && isArray$1(src) ? src : []; + } else { + clone = src && isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + setProperty(target, { name: name, newValue: extend(deep, clone, copy) }); + + // Don't bring in undefined values + } else if (typeof copy !== 'undefined') { + setProperty(target, { name: name, newValue: copy }); + } + } + } + } + } + + // Return the modified object + return target; +}; + +var bail_1 = bail; + +function bail(err) { + if (err) { + throw err + } +} + +var isPlainObj = value => { + if (Object.prototype.toString.call(value) !== '[object Object]') { + return false; + } + + const prototype = Object.getPrototypeOf(value); + return prototype === null || prototype === Object.getPrototypeOf({}); +}; + +// Expose a frozen processor. +var unified_1 = unified().freeze(); + +var slice$3 = [].slice; +var own$2 = {}.hasOwnProperty; + +// Process pipeline. +var pipeline = trough_1() + .use(pipelineParse) + .use(pipelineRun) + .use(pipelineStringify); + +function pipelineParse(p, ctx) { + ctx.tree = p.parse(ctx.file); +} + +function pipelineRun(p, ctx, next) { + p.run(ctx.tree, ctx.file, done); + + function done(err, tree, file) { + if (err) { + next(err); + } else { + ctx.tree = tree; + ctx.file = file; + next(); + } + } +} + +function pipelineStringify(p, ctx) { + ctx.file.contents = p.stringify(ctx.tree, ctx.file); +} + +// Function to create the first processor. +function unified() { + var attachers = []; + var transformers = trough_1(); + var namespace = {}; + var frozen = false; + var freezeIndex = -1; + + // Data management. + processor.data = data; + + // Lock. + processor.freeze = freeze; + + // Plugins. + processor.attachers = attachers; + processor.use = use; + + // API. + processor.parse = parse; + processor.stringify = stringify; + processor.run = run; + processor.runSync = runSync; + processor.process = process; + processor.processSync = processSync; + + // Expose. + return processor + + // Create a new processor based on the processor in the current scope. + function processor() { + var destination = unified(); + var length = attachers.length; + var index = -1; + + while (++index < length) { + destination.use.apply(null, attachers[index]); + } + + destination.data(extend$3(true, {}, namespace)); + + return destination + } + + // Freeze: used to signal a processor that has finished configuration. + // + // For example, take unified itself: it’s frozen. + // Plugins should not be added to it. + // Rather, it should be extended, by invoking it, before modifying it. + // + // In essence, always invoke this when exporting a processor. + function freeze() { + var values; + var plugin; + var options; + var transformer; + + if (frozen) { + return processor + } + + while (++freezeIndex < attachers.length) { + values = attachers[freezeIndex]; + plugin = values[0]; + options = values[1]; + transformer = null; + + if (options === false) { + continue + } + + if (options === true) { + values[1] = undefined; + } + + transformer = plugin.apply(processor, values.slice(1)); + + if (typeof transformer === 'function') { + transformers.use(transformer); + } + } + + frozen = true; + freezeIndex = Infinity; + + return processor + } + + // Data management. + // Getter / setter for processor-specific informtion. + function data(key, value) { + if (typeof key === 'string') { + // Set `key`. + if (arguments.length === 2) { + assertUnfrozen('data', frozen); + + namespace[key] = value; + + return processor + } + + // Get `key`. + return (own$2.call(namespace, key) && namespace[key]) || null + } + + // Set space. + if (key) { + assertUnfrozen('data', frozen); + namespace = key; + return processor + } + + // Get space. + return namespace + } + + // Plugin management. + // + // Pass it: + // * an attacher and options, + // * a preset, + // * a list of presets, attachers, and arguments (list of attachers and + // options). + function use(value) { + var settings; + + assertUnfrozen('use', frozen); + + if (value === null || value === undefined) ; else if (typeof value === 'function') { + addPlugin.apply(null, arguments); + } else if (typeof value === 'object') { + if ('length' in value) { + addList(value); + } else { + addPreset(value); + } + } else { + throw new Error('Expected usable value, not `' + value + '`') + } + + if (settings) { + namespace.settings = extend$3(namespace.settings || {}, settings); + } + + return processor + + function addPreset(result) { + addList(result.plugins); + + if (result.settings) { + settings = extend$3(settings || {}, result.settings); + } + } + + function add(value) { + if (typeof value === 'function') { + addPlugin(value); + } else if (typeof value === 'object') { + if ('length' in value) { + addPlugin.apply(null, value); + } else { + addPreset(value); + } + } else { + throw new Error('Expected usable value, not `' + value + '`') + } + } + + function addList(plugins) { + var length; + var index; + + if (plugins === null || plugins === undefined) ; else if (typeof plugins === 'object' && 'length' in plugins) { + length = plugins.length; + index = -1; + + while (++index < length) { + add(plugins[index]); + } + } else { + throw new Error('Expected a list of plugins, not `' + plugins + '`') + } + } + + function addPlugin(plugin, value) { + var entry = find(plugin); + + if (entry) { + if (isPlainObj(entry[1]) && isPlainObj(value)) { + value = extend$3(entry[1], value); + } + + entry[1] = value; + } else { + attachers.push(slice$3.call(arguments)); + } + } + } + + function find(plugin) { + var length = attachers.length; + var index = -1; + var entry; + + while (++index < length) { + entry = attachers[index]; + + if (entry[0] === plugin) { + return entry + } + } + } + + // Parse a file (in string or vfile representation) into a unist node using + // the `Parser` on the processor. + function parse(doc) { + var file = vfile(doc); + var Parser; + + freeze(); + Parser = processor.Parser; + assertParser('parse', Parser); + + if (newable(Parser, 'parse')) { + return new Parser(String(file), file).parse() + } + + return Parser(String(file), file) // eslint-disable-line new-cap + } + + // Run transforms on a unist node representation of a file (in string or + // vfile representation), async. + function run(node, file, cb) { + assertNode(node); + freeze(); + + if (!cb && typeof file === 'function') { + cb = file; + file = null; + } + + if (!cb) { + return new Promise(executor) + } + + executor(null, cb); + + function executor(resolve, reject) { + transformers.run(node, vfile(file), done); + + function done(err, tree, file) { + tree = tree || node; + if (err) { + reject(err); + } else if (resolve) { + resolve(tree); + } else { + cb(null, tree, file); + } + } + } + } + + // Run transforms on a unist node representation of a file (in string or + // vfile representation), sync. + function runSync(node, file) { + var complete = false; + var result; + + run(node, file, done); + + assertDone('runSync', 'run', complete); + + return result + + function done(err, tree) { + complete = true; + bail_1(err); + result = tree; + } + } + + // Stringify a unist node representation of a file (in string or vfile + // representation) into a string using the `Compiler` on the processor. + function stringify(node, doc) { + var file = vfile(doc); + var Compiler; + + freeze(); + Compiler = processor.Compiler; + assertCompiler('stringify', Compiler); + assertNode(node); + + if (newable(Compiler, 'compile')) { + return new Compiler(node, file).compile() + } + + return Compiler(node, file) // eslint-disable-line new-cap + } + + // Parse a file (in string or vfile representation) into a unist node using + // the `Parser` on the processor, then run transforms on that node, and + // compile the resulting node using the `Compiler` on the processor, and + // store that result on the vfile. + function process(doc, cb) { + freeze(); + assertParser('process', processor.Parser); + assertCompiler('process', processor.Compiler); + + if (!cb) { + return new Promise(executor) + } + + executor(null, cb); + + function executor(resolve, reject) { + var file = vfile(doc); + + pipeline.run(processor, {file: file}, done); + + function done(err) { + if (err) { + reject(err); + } else if (resolve) { + resolve(file); + } else { + cb(null, file); + } + } + } + } + + // Process the given document (in string or vfile representation), sync. + function processSync(doc) { + var complete = false; + var file; + + freeze(); + assertParser('processSync', processor.Parser); + assertCompiler('processSync', processor.Compiler); + file = vfile(doc); + + process(file, done); + + assertDone('processSync', 'process', complete); + + return file + + function done(err) { + complete = true; + bail_1(err); + } + } +} + +// Check if `value` is a constructor. +function newable(value, name) { + return ( + typeof value === 'function' && + value.prototype && + // A function with keys in its prototype is probably a constructor. + // Classes’ prototype methods are not enumerable, so we check if some value + // exists in the prototype. + (keys(value.prototype) || name in value.prototype) + ) +} + +// Check if `value` is an object with keys. +function keys(value) { + var key; + for (key in value) { + return true + } + + return false +} + +// Assert a parser is available. +function assertParser(name, Parser) { + if (typeof Parser !== 'function') { + throw new Error('Cannot `' + name + '` without `Parser`') + } +} + +// Assert a compiler is available. +function assertCompiler(name, Compiler) { + if (typeof Compiler !== 'function') { + throw new Error('Cannot `' + name + '` without `Compiler`') + } +} + +// Assert the processor is not frozen. +function assertUnfrozen(name, frozen) { + if (frozen) { + throw new Error( + 'Cannot invoke `' + + name + + '` on a frozen processor.\nCreate a new processor first, by invoking it: use `processor()` instead of `processor`.' + ) + } +} + +// Assert `node` is a unist node. +function assertNode(node) { + if (!node || typeof node.type !== 'string') { + throw new Error('Expected node, got `' + node + '`') + } +} + +// Assert that `complete` is `true`. +function assertDone(name, asyncName, complete) { + if (!complete) { + throw new Error( + '`' + name + '` finished async. Use `' + asyncName + '` instead' + ) + } +} + +var unherit_1 = unherit; + +// Create a custom constructor which can be modified without affecting the +// original class. +function unherit(Super) { + var result; + var key; + var value; + + inherits(Of, Super); + inherits(From, Of); + + // Clone values. + result = Of.prototype; + + for (key in result) { + value = result[key]; + + if (value && typeof value === 'object') { + result[key] = 'concat' in value ? value.concat() : immutable(value); + } + } + + return Of + + // Constructor accepting a single argument, which itself is an `arguments` + // object. + function From(parameters) { + return Super.apply(this, parameters) + } + + // Constructor accepting variadic arguments. + function Of() { + if (!(this instanceof Of)) { + return new From(arguments) + } + + return Super.apply(this, arguments) + } +} + +var stateToggle = factory$1; + +// Construct a state `toggler`: a function which inverses `property` in context +// based on its current value. +// The by `toggler` returned function restores that value. +function factory$1(key, state, ctx) { + return enter + + function enter() { + var context = ctx || this; + var current = context[key]; + + context[key] = !state; + + return exit + + function exit() { + context[key] = current; + } + } +} + +var vfileLocation = factory$2; + +function factory$2(file) { + var contents = indices(String(file)); + + return { + toPosition: offsetToPositionFactory(contents), + toOffset: positionToOffsetFactory(contents) + } +} + +// Factory to get the line and column-based `position` for `offset` in the bound +// indices. +function offsetToPositionFactory(indices) { + return offsetToPosition + + // Get the line and column-based `position` for `offset` in the bound indices. + function offsetToPosition(offset) { + var index = -1; + var length = indices.length; + + if (offset < 0) { + return {} + } + + while (++index < length) { + if (indices[index] > offset) { + return { + line: index + 1, + column: offset - (indices[index - 1] || 0) + 1, + offset: offset + } + } + } + + return {} + } +} + +// Factory to get the `offset` for a line and column-based `position` in the +// bound indices. +function positionToOffsetFactory(indices) { + return positionToOffset + + // Get the `offset` for a line and column-based `position` in the bound + // indices. + function positionToOffset(position) { + var line = position && position.line; + var column = position && position.column; + + if (!isNaN(line) && !isNaN(column) && line - 1 in indices) { + return (indices[line - 2] || 0) + column - 1 || 0 + } + + return -1 + } +} + +// Get indices of line-breaks in `value`. +function indices(value) { + var result = []; + var index = value.indexOf('\n'); + + while (index !== -1) { + result.push(index + 1); + index = value.indexOf('\n', index + 1); + } + + result.push(value.length + 1); + + return result +} + +var _unescape = factory$3; + +var backslash$1 = '\\'; + +// Factory to de-escape a value, based on a list at `key` in `ctx`. +function factory$3(ctx, key) { + return unescape + + // De-escape a string using the expression at `key` in `ctx`. + function unescape(value) { + var prev = 0; + var index = value.indexOf(backslash$1); + var escape = ctx[key]; + var queue = []; + var character; + + while (index !== -1) { + queue.push(value.slice(prev, index)); + prev = index + 1; + character = value.charAt(prev); + + // If the following character is not a valid escape, add the slash. + if (!character || escape.indexOf(character) === -1) { + queue.push(backslash$1); + } + + index = value.indexOf(backslash$1, prev + 1); + } + + queue.push(value.slice(prev)); + + return queue.join('') + } +} + +const AElig = "Æ"; +const AMP = "&"; +const Aacute = "Á"; +const Acirc = "Â"; +const Agrave = "À"; +const Aring = "Å"; +const Atilde = "Ã"; +const Auml = "Ä"; +const COPY = "©"; +const Ccedil = "Ç"; +const ETH = "Ð"; +const Eacute = "É"; +const Ecirc = "Ê"; +const Egrave = "È"; +const Euml = "Ë"; +const GT = ">"; +const Iacute = "Í"; +const Icirc = "Î"; +const Igrave = "Ì"; +const Iuml = "Ï"; +const LT = "<"; +const Ntilde = "Ñ"; +const Oacute = "Ó"; +const Ocirc = "Ô"; +const Ograve = "Ò"; +const Oslash = "Ø"; +const Otilde = "Õ"; +const Ouml = "Ö"; +const QUOT = "\""; +const REG = "®"; +const THORN = "Þ"; +const Uacute = "Ú"; +const Ucirc = "Û"; +const Ugrave = "Ù"; +const Uuml = "Ü"; +const Yacute = "Ý"; +const aacute = "á"; +const acirc = "â"; +const acute = "´"; +const aelig = "æ"; +const agrave = "à"; +const amp = "&"; +const aring = "å"; +const atilde = "ã"; +const auml = "ä"; +const brvbar = "¦"; +const ccedil = "ç"; +const cedil = "¸"; +const cent = "¢"; +const copy$1 = "©"; +const curren = "¤"; +const deg = "°"; +const divide = "÷"; +const eacute = "é"; +const ecirc = "ê"; +const egrave = "è"; +const eth = "ð"; +const euml = "ë"; +const frac12 = "½"; +const frac14 = "¼"; +const frac34 = "¾"; +const gt = ">"; +const iacute = "í"; +const icirc = "î"; +const iexcl = "¡"; +const igrave = "ì"; +const iquest = "¿"; +const iuml = "ï"; +const laquo = "«"; +const lt = "<"; +const macr = "¯"; +const micro = "µ"; +const middot = "·"; +const nbsp = " "; +const not = "¬"; +const ntilde = "ñ"; +const oacute = "ó"; +const ocirc = "ô"; +const ograve = "ò"; +const ordf = "ª"; +const ordm = "º"; +const oslash = "ø"; +const otilde = "õ"; +const ouml = "ö"; +const para = "¶"; +const plusmn = "±"; +const pound = "£"; +const quot = "\""; +const raquo = "»"; +const reg = "®"; +const sect = "§"; +const shy = "­"; +const sup1 = "¹"; +const sup2 = "²"; +const sup3 = "³"; +const szlig = "ß"; +const thorn = "þ"; +const times = "×"; +const uacute = "ú"; +const ucirc = "û"; +const ugrave = "ù"; +const uml = "¨"; +const uuml = "ü"; +const yacute = "ý"; +const yen = "¥"; +const yuml = "ÿ"; +var index$1 = { + AElig: AElig, + AMP: AMP, + Aacute: Aacute, + Acirc: Acirc, + Agrave: Agrave, + Aring: Aring, + Atilde: Atilde, + Auml: Auml, + COPY: COPY, + Ccedil: Ccedil, + ETH: ETH, + Eacute: Eacute, + Ecirc: Ecirc, + Egrave: Egrave, + Euml: Euml, + GT: GT, + Iacute: Iacute, + Icirc: Icirc, + Igrave: Igrave, + Iuml: Iuml, + LT: LT, + Ntilde: Ntilde, + Oacute: Oacute, + Ocirc: Ocirc, + Ograve: Ograve, + Oslash: Oslash, + Otilde: Otilde, + Ouml: Ouml, + QUOT: QUOT, + REG: REG, + THORN: THORN, + Uacute: Uacute, + Ucirc: Ucirc, + Ugrave: Ugrave, + Uuml: Uuml, + Yacute: Yacute, + aacute: aacute, + acirc: acirc, + acute: acute, + aelig: aelig, + agrave: agrave, + amp: amp, + aring: aring, + atilde: atilde, + auml: auml, + brvbar: brvbar, + ccedil: ccedil, + cedil: cedil, + cent: cent, + copy: copy$1, + curren: curren, + deg: deg, + divide: divide, + eacute: eacute, + ecirc: ecirc, + egrave: egrave, + eth: eth, + euml: euml, + frac12: frac12, + frac14: frac14, + frac34: frac34, + gt: gt, + iacute: iacute, + icirc: icirc, + iexcl: iexcl, + igrave: igrave, + iquest: iquest, + iuml: iuml, + laquo: laquo, + lt: lt, + macr: macr, + micro: micro, + middot: middot, + nbsp: nbsp, + not: not, + ntilde: ntilde, + oacute: oacute, + ocirc: ocirc, + ograve: ograve, + ordf: ordf, + ordm: ordm, + oslash: oslash, + otilde: otilde, + ouml: ouml, + para: para, + plusmn: plusmn, + pound: pound, + quot: quot, + raquo: raquo, + reg: reg, + sect: sect, + shy: shy, + sup1: sup1, + sup2: sup2, + sup3: sup3, + szlig: szlig, + thorn: thorn, + times: times, + uacute: uacute, + ucirc: ucirc, + ugrave: ugrave, + uml: uml, + uuml: uuml, + yacute: yacute, + yen: yen, + yuml: yuml +}; + +var characterEntitiesLegacy = /*#__PURE__*/Object.freeze({ + __proto__: null, + AElig: AElig, + AMP: AMP, + Aacute: Aacute, + Acirc: Acirc, + Agrave: Agrave, + Aring: Aring, + Atilde: Atilde, + Auml: Auml, + COPY: COPY, + Ccedil: Ccedil, + ETH: ETH, + Eacute: Eacute, + Ecirc: Ecirc, + Egrave: Egrave, + Euml: Euml, + GT: GT, + Iacute: Iacute, + Icirc: Icirc, + Igrave: Igrave, + Iuml: Iuml, + LT: LT, + Ntilde: Ntilde, + Oacute: Oacute, + Ocirc: Ocirc, + Ograve: Ograve, + Oslash: Oslash, + Otilde: Otilde, + Ouml: Ouml, + QUOT: QUOT, + REG: REG, + THORN: THORN, + Uacute: Uacute, + Ucirc: Ucirc, + Ugrave: Ugrave, + Uuml: Uuml, + Yacute: Yacute, + aacute: aacute, + acirc: acirc, + acute: acute, + aelig: aelig, + agrave: agrave, + amp: amp, + aring: aring, + atilde: atilde, + auml: auml, + brvbar: brvbar, + ccedil: ccedil, + cedil: cedil, + cent: cent, + copy: copy$1, + curren: curren, + deg: deg, + divide: divide, + eacute: eacute, + ecirc: ecirc, + egrave: egrave, + eth: eth, + euml: euml, + frac12: frac12, + frac14: frac14, + frac34: frac34, + gt: gt, + iacute: iacute, + icirc: icirc, + iexcl: iexcl, + igrave: igrave, + iquest: iquest, + iuml: iuml, + laquo: laquo, + lt: lt, + macr: macr, + micro: micro, + middot: middot, + nbsp: nbsp, + not: not, + ntilde: ntilde, + oacute: oacute, + ocirc: ocirc, + ograve: ograve, + ordf: ordf, + ordm: ordm, + oslash: oslash, + otilde: otilde, + ouml: ouml, + para: para, + plusmn: plusmn, + pound: pound, + quot: quot, + raquo: raquo, + reg: reg, + sect: sect, + shy: shy, + sup1: sup1, + sup2: sup2, + sup3: sup3, + szlig: szlig, + thorn: thorn, + times: times, + uacute: uacute, + ucirc: ucirc, + ugrave: ugrave, + uml: uml, + uuml: uuml, + yacute: yacute, + yen: yen, + yuml: yuml, + 'default': index$1 +}); + +var index$2 = { + "0": "�", + "128": "€", + "130": "‚", + "131": "ƒ", + "132": "„", + "133": "…", + "134": "†", + "135": "‡", + "136": "ˆ", + "137": "‰", + "138": "Š", + "139": "‹", + "140": "Œ", + "142": "Ž", + "145": "‘", + "146": "’", + "147": "“", + "148": "”", + "149": "•", + "150": "–", + "151": "—", + "152": "˜", + "153": "™", + "154": "š", + "155": "›", + "156": "œ", + "158": "ž", + "159": "Ÿ" +}; + +var characterReferenceInvalid = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': index$2 +}); + +var isDecimal = decimal; + +// Check if the given character code, or the character code at the first +// character, is decimal. +function decimal(character) { + var code = typeof character === 'string' ? character.charCodeAt(0) : character; + + return code >= 48 && code <= 57 /* 0-9 */ +} + +var isHexadecimal = hexadecimal; + +// Check if the given character code, or the character code at the first +// character, is hexadecimal. +function hexadecimal(character) { + var code = typeof character === 'string' ? character.charCodeAt(0) : character; + + return ( + (code >= 97 /* a */ && code <= 102) /* z */ || + (code >= 65 /* A */ && code <= 70) /* Z */ || + (code >= 48 /* A */ && code <= 57) /* Z */ + ) +} + +var isAlphabetical = alphabetical; + +// Check if the given character code, or the character code at the first +// character, is alphabetical. +function alphabetical(character) { + var code = typeof character === 'string' ? character.charCodeAt(0) : character; + + return ( + (code >= 97 && code <= 122) /* a-z */ || + (code >= 65 && code <= 90) /* A-Z */ + ) +} + +var isAlphanumerical = alphanumerical; + +// Check if the given character code, or the character code at the first +// character, is alphanumerical. +function alphanumerical(character) { + return isAlphabetical(character) || isDecimal(character) +} + +const AEli = "Æ"; +const AElig$1 = "Æ"; +const AM = "&"; +const AMP$1 = "&"; +const Aacut = "Á"; +const Aacute$1 = "Á"; +const Abreve = "Ă"; +const Acir = "Â"; +const Acirc$1 = "Â"; +const Acy = "А"; +const Afr = "𝔄"; +const Agrav = "À"; +const Agrave$1 = "À"; +const Alpha = "Α"; +const Amacr = "Ā"; +const And = "⩓"; +const Aogon = "Ą"; +const Aopf = "𝔸"; +const ApplyFunction = "⁡"; +const Arin = "Å"; +const Aring$1 = "Å"; +const Ascr = "𝒜"; +const Assign = "≔"; +const Atild = "Ã"; +const Atilde$1 = "Ã"; +const Aum = "Ä"; +const Auml$1 = "Ä"; +const Backslash = "∖"; +const Barv = "⫧"; +const Barwed = "⌆"; +const Bcy = "Б"; +const Because = "∵"; +const Bernoullis = "ℬ"; +const Beta = "Β"; +const Bfr = "𝔅"; +const Bopf = "𝔹"; +const Breve = "˘"; +const Bscr = "ℬ"; +const Bumpeq = "≎"; +const CHcy = "Ч"; +const COP = "©"; +const COPY$1 = "©"; +const Cacute = "Ć"; +const Cap = "⋒"; +const CapitalDifferentialD = "ⅅ"; +const Cayleys = "ℭ"; +const Ccaron = "Č"; +const Ccedi = "Ç"; +const Ccedil$1 = "Ç"; +const Ccirc = "Ĉ"; +const Cconint = "∰"; +const Cdot = "Ċ"; +const Cedilla = "¸"; +const CenterDot = "·"; +const Cfr = "ℭ"; +const Chi = "Χ"; +const CircleDot = "⊙"; +const CircleMinus = "⊖"; +const CirclePlus = "⊕"; +const CircleTimes = "⊗"; +const ClockwiseContourIntegral = "∲"; +const CloseCurlyDoubleQuote = "”"; +const CloseCurlyQuote = "’"; +const Colon = "∷"; +const Colone = "⩴"; +const Congruent = "≡"; +const Conint = "∯"; +const ContourIntegral = "∮"; +const Copf = "ℂ"; +const Coproduct = "∐"; +const CounterClockwiseContourIntegral = "∳"; +const Cross = "⨯"; +const Cscr = "𝒞"; +const Cup = "⋓"; +const CupCap = "≍"; +const DD = "ⅅ"; +const DDotrahd = "⤑"; +const DJcy = "Ђ"; +const DScy = "Ѕ"; +const DZcy = "Џ"; +const Dagger = "‡"; +const Darr = "↡"; +const Dashv = "⫤"; +const Dcaron = "Ď"; +const Dcy = "Д"; +const Del = "∇"; +const Delta = "Δ"; +const Dfr = "𝔇"; +const DiacriticalAcute = "´"; +const DiacriticalDot = "˙"; +const DiacriticalDoubleAcute = "˝"; +const DiacriticalGrave = "`"; +const DiacriticalTilde = "˜"; +const Diamond = "⋄"; +const DifferentialD = "ⅆ"; +const Dopf = "𝔻"; +const Dot = "¨"; +const DotDot = "⃜"; +const DotEqual = "≐"; +const DoubleContourIntegral = "∯"; +const DoubleDot = "¨"; +const DoubleDownArrow = "⇓"; +const DoubleLeftArrow = "⇐"; +const DoubleLeftRightArrow = "⇔"; +const DoubleLeftTee = "⫤"; +const DoubleLongLeftArrow = "⟸"; +const DoubleLongLeftRightArrow = "⟺"; +const DoubleLongRightArrow = "⟹"; +const DoubleRightArrow = "⇒"; +const DoubleRightTee = "⊨"; +const DoubleUpArrow = "⇑"; +const DoubleUpDownArrow = "⇕"; +const DoubleVerticalBar = "∥"; +const DownArrow = "↓"; +const DownArrowBar = "⤓"; +const DownArrowUpArrow = "⇵"; +const DownBreve = "̑"; +const DownLeftRightVector = "⥐"; +const DownLeftTeeVector = "⥞"; +const DownLeftVector = "↽"; +const DownLeftVectorBar = "⥖"; +const DownRightTeeVector = "⥟"; +const DownRightVector = "⇁"; +const DownRightVectorBar = "⥗"; +const DownTee = "⊤"; +const DownTeeArrow = "↧"; +const Downarrow = "⇓"; +const Dscr = "𝒟"; +const Dstrok = "Đ"; +const ENG = "Ŋ"; +const ET = "Ð"; +const ETH$1 = "Ð"; +const Eacut = "É"; +const Eacute$1 = "É"; +const Ecaron = "Ě"; +const Ecir = "Ê"; +const Ecirc$1 = "Ê"; +const Ecy = "Э"; +const Edot = "Ė"; +const Efr = "𝔈"; +const Egrav = "È"; +const Egrave$1 = "È"; +const Element = "∈"; +const Emacr = "Ē"; +const EmptySmallSquare = "◻"; +const EmptyVerySmallSquare = "▫"; +const Eogon = "Ę"; +const Eopf = "𝔼"; +const Epsilon = "Ε"; +const Equal = "⩵"; +const EqualTilde = "≂"; +const Equilibrium = "⇌"; +const Escr = "ℰ"; +const Esim = "⩳"; +const Eta = "Η"; +const Eum = "Ë"; +const Euml$1 = "Ë"; +const Exists = "∃"; +const ExponentialE = "ⅇ"; +const Fcy = "Ф"; +const Ffr = "𝔉"; +const FilledSmallSquare = "◼"; +const FilledVerySmallSquare = "▪"; +const Fopf = "𝔽"; +const ForAll = "∀"; +const Fouriertrf = "ℱ"; +const Fscr = "ℱ"; +const GJcy = "Ѓ"; +const G = ">"; +const GT$1 = ">"; +const Gamma = "Γ"; +const Gammad = "Ϝ"; +const Gbreve = "Ğ"; +const Gcedil = "Ģ"; +const Gcirc = "Ĝ"; +const Gcy = "Г"; +const Gdot = "Ġ"; +const Gfr = "𝔊"; +const Gg = "⋙"; +const Gopf = "𝔾"; +const GreaterEqual = "≥"; +const GreaterEqualLess = "⋛"; +const GreaterFullEqual = "≧"; +const GreaterGreater = "⪢"; +const GreaterLess = "≷"; +const GreaterSlantEqual = "⩾"; +const GreaterTilde = "≳"; +const Gscr = "𝒢"; +const Gt = "≫"; +const HARDcy = "Ъ"; +const Hacek = "ˇ"; +const Hat = "^"; +const Hcirc = "Ĥ"; +const Hfr = "ℌ"; +const HilbertSpace = "ℋ"; +const Hopf = "ℍ"; +const HorizontalLine = "─"; +const Hscr = "ℋ"; +const Hstrok = "Ħ"; +const HumpDownHump = "≎"; +const HumpEqual = "≏"; +const IEcy = "Е"; +const IJlig = "IJ"; +const IOcy = "Ё"; +const Iacut = "Í"; +const Iacute$1 = "Í"; +const Icir = "Î"; +const Icirc$1 = "Î"; +const Icy = "И"; +const Idot = "İ"; +const Ifr = "ℑ"; +const Igrav = "Ì"; +const Igrave$1 = "Ì"; +const Im = "ℑ"; +const Imacr = "Ī"; +const ImaginaryI = "ⅈ"; +const Implies = "⇒"; +const Int = "∬"; +const Integral = "∫"; +const Intersection = "⋂"; +const InvisibleComma = "⁣"; +const InvisibleTimes = "⁢"; +const Iogon = "Į"; +const Iopf = "𝕀"; +const Iota = "Ι"; +const Iscr = "ℐ"; +const Itilde = "Ĩ"; +const Iukcy = "І"; +const Ium = "Ï"; +const Iuml$1 = "Ï"; +const Jcirc = "Ĵ"; +const Jcy = "Й"; +const Jfr = "𝔍"; +const Jopf = "𝕁"; +const Jscr = "𝒥"; +const Jsercy = "Ј"; +const Jukcy = "Є"; +const KHcy = "Х"; +const KJcy = "Ќ"; +const Kappa = "Κ"; +const Kcedil = "Ķ"; +const Kcy = "К"; +const Kfr = "𝔎"; +const Kopf = "𝕂"; +const Kscr = "𝒦"; +const LJcy = "Љ"; +const L = "<"; +const LT$1 = "<"; +const Lacute = "Ĺ"; +const Lambda = "Λ"; +const Lang = "⟪"; +const Laplacetrf = "ℒ"; +const Larr = "↞"; +const Lcaron = "Ľ"; +const Lcedil = "Ļ"; +const Lcy = "Л"; +const LeftAngleBracket = "⟨"; +const LeftArrow = "←"; +const LeftArrowBar = "⇤"; +const LeftArrowRightArrow = "⇆"; +const LeftCeiling = "⌈"; +const LeftDoubleBracket = "⟦"; +const LeftDownTeeVector = "⥡"; +const LeftDownVector = "⇃"; +const LeftDownVectorBar = "⥙"; +const LeftFloor = "⌊"; +const LeftRightArrow = "↔"; +const LeftRightVector = "⥎"; +const LeftTee = "⊣"; +const LeftTeeArrow = "↤"; +const LeftTeeVector = "⥚"; +const LeftTriangle = "⊲"; +const LeftTriangleBar = "⧏"; +const LeftTriangleEqual = "⊴"; +const LeftUpDownVector = "⥑"; +const LeftUpTeeVector = "⥠"; +const LeftUpVector = "↿"; +const LeftUpVectorBar = "⥘"; +const LeftVector = "↼"; +const LeftVectorBar = "⥒"; +const Leftarrow = "⇐"; +const Leftrightarrow = "⇔"; +const LessEqualGreater = "⋚"; +const LessFullEqual = "≦"; +const LessGreater = "≶"; +const LessLess = "⪡"; +const LessSlantEqual = "⩽"; +const LessTilde = "≲"; +const Lfr = "𝔏"; +const Ll = "⋘"; +const Lleftarrow = "⇚"; +const Lmidot = "Ŀ"; +const LongLeftArrow = "⟵"; +const LongLeftRightArrow = "⟷"; +const LongRightArrow = "⟶"; +const Longleftarrow = "⟸"; +const Longleftrightarrow = "⟺"; +const Longrightarrow = "⟹"; +const Lopf = "𝕃"; +const LowerLeftArrow = "↙"; +const LowerRightArrow = "↘"; +const Lscr = "ℒ"; +const Lsh = "↰"; +const Lstrok = "Ł"; +const Lt = "≪"; +const Mcy = "М"; +const MediumSpace = " "; +const Mellintrf = "ℳ"; +const Mfr = "𝔐"; +const MinusPlus = "∓"; +const Mopf = "𝕄"; +const Mscr = "ℳ"; +const Mu = "Μ"; +const NJcy = "Њ"; +const Nacute = "Ń"; +const Ncaron = "Ň"; +const Ncedil = "Ņ"; +const Ncy = "Н"; +const NegativeMediumSpace = "​"; +const NegativeThickSpace = "​"; +const NegativeThinSpace = "​"; +const NegativeVeryThinSpace = "​"; +const NestedGreaterGreater = "≫"; +const NestedLessLess = "≪"; +const NewLine = "\n"; +const Nfr = "𝔑"; +const NoBreak = "⁠"; +const NonBreakingSpace = " "; +const Nopf = "ℕ"; +const Not = "⫬"; +const NotCongruent = "≢"; +const NotCupCap = "≭"; +const NotDoubleVerticalBar = "∦"; +const NotElement = "∉"; +const NotEqual = "≠"; +const NotEqualTilde = "≂̸"; +const NotExists = "∄"; +const NotGreater = "≯"; +const NotGreaterEqual = "≱"; +const NotGreaterFullEqual = "≧̸"; +const NotGreaterGreater = "≫̸"; +const NotGreaterLess = "≹"; +const NotGreaterSlantEqual = "⩾̸"; +const NotGreaterTilde = "≵"; +const NotHumpDownHump = "≎̸"; +const NotHumpEqual = "≏̸"; +const NotLeftTriangle = "⋪"; +const NotLeftTriangleBar = "⧏̸"; +const NotLeftTriangleEqual = "⋬"; +const NotLess = "≮"; +const NotLessEqual = "≰"; +const NotLessGreater = "≸"; +const NotLessLess = "≪̸"; +const NotLessSlantEqual = "⩽̸"; +const NotLessTilde = "≴"; +const NotNestedGreaterGreater = "⪢̸"; +const NotNestedLessLess = "⪡̸"; +const NotPrecedes = "⊀"; +const NotPrecedesEqual = "⪯̸"; +const NotPrecedesSlantEqual = "⋠"; +const NotReverseElement = "∌"; +const NotRightTriangle = "⋫"; +const NotRightTriangleBar = "⧐̸"; +const NotRightTriangleEqual = "⋭"; +const NotSquareSubset = "⊏̸"; +const NotSquareSubsetEqual = "⋢"; +const NotSquareSuperset = "⊐̸"; +const NotSquareSupersetEqual = "⋣"; +const NotSubset = "⊂⃒"; +const NotSubsetEqual = "⊈"; +const NotSucceeds = "⊁"; +const NotSucceedsEqual = "⪰̸"; +const NotSucceedsSlantEqual = "⋡"; +const NotSucceedsTilde = "≿̸"; +const NotSuperset = "⊃⃒"; +const NotSupersetEqual = "⊉"; +const NotTilde = "≁"; +const NotTildeEqual = "≄"; +const NotTildeFullEqual = "≇"; +const NotTildeTilde = "≉"; +const NotVerticalBar = "∤"; +const Nscr = "𝒩"; +const Ntild = "Ñ"; +const Ntilde$1 = "Ñ"; +const Nu = "Ν"; +const OElig = "Œ"; +const Oacut = "Ó"; +const Oacute$1 = "Ó"; +const Ocir = "Ô"; +const Ocirc$1 = "Ô"; +const Ocy = "О"; +const Odblac = "Ő"; +const Ofr = "𝔒"; +const Ograv = "Ò"; +const Ograve$1 = "Ò"; +const Omacr = "Ō"; +const Omega = "Ω"; +const Omicron = "Ο"; +const Oopf = "𝕆"; +const OpenCurlyDoubleQuote = "“"; +const OpenCurlyQuote = "‘"; +const Or = "⩔"; +const Oscr = "𝒪"; +const Oslas = "Ø"; +const Oslash$1 = "Ø"; +const Otild = "Õ"; +const Otilde$1 = "Õ"; +const Otimes = "⨷"; +const Oum = "Ö"; +const Ouml$1 = "Ö"; +const OverBar = "‾"; +const OverBrace = "⏞"; +const OverBracket = "⎴"; +const OverParenthesis = "⏜"; +const PartialD = "∂"; +const Pcy = "П"; +const Pfr = "𝔓"; +const Phi = "Φ"; +const Pi = "Π"; +const PlusMinus = "±"; +const Poincareplane = "ℌ"; +const Popf = "ℙ"; +const Pr = "⪻"; +const Precedes = "≺"; +const PrecedesEqual = "⪯"; +const PrecedesSlantEqual = "≼"; +const PrecedesTilde = "≾"; +const Prime = "″"; +const Product = "∏"; +const Proportion = "∷"; +const Proportional = "∝"; +const Pscr = "𝒫"; +const Psi = "Ψ"; +const QUO = "\""; +const QUOT$1 = "\""; +const Qfr = "𝔔"; +const Qopf = "ℚ"; +const Qscr = "𝒬"; +const RBarr = "⤐"; +const RE = "®"; +const REG$1 = "®"; +const Racute = "Ŕ"; +const Rang = "⟫"; +const Rarr = "↠"; +const Rarrtl = "⤖"; +const Rcaron = "Ř"; +const Rcedil = "Ŗ"; +const Rcy = "Р"; +const Re = "ℜ"; +const ReverseElement = "∋"; +const ReverseEquilibrium = "⇋"; +const ReverseUpEquilibrium = "⥯"; +const Rfr = "ℜ"; +const Rho = "Ρ"; +const RightAngleBracket = "⟩"; +const RightArrow = "→"; +const RightArrowBar = "⇥"; +const RightArrowLeftArrow = "⇄"; +const RightCeiling = "⌉"; +const RightDoubleBracket = "⟧"; +const RightDownTeeVector = "⥝"; +const RightDownVector = "⇂"; +const RightDownVectorBar = "⥕"; +const RightFloor = "⌋"; +const RightTee = "⊢"; +const RightTeeArrow = "↦"; +const RightTeeVector = "⥛"; +const RightTriangle = "⊳"; +const RightTriangleBar = "⧐"; +const RightTriangleEqual = "⊵"; +const RightUpDownVector = "⥏"; +const RightUpTeeVector = "⥜"; +const RightUpVector = "↾"; +const RightUpVectorBar = "⥔"; +const RightVector = "⇀"; +const RightVectorBar = "⥓"; +const Rightarrow = "⇒"; +const Ropf = "ℝ"; +const RoundImplies = "⥰"; +const Rrightarrow = "⇛"; +const Rscr = "ℛ"; +const Rsh = "↱"; +const RuleDelayed = "⧴"; +const SHCHcy = "Щ"; +const SHcy = "Ш"; +const SOFTcy = "Ь"; +const Sacute = "Ś"; +const Sc = "⪼"; +const Scaron = "Š"; +const Scedil = "Ş"; +const Scirc = "Ŝ"; +const Scy = "С"; +const Sfr = "𝔖"; +const ShortDownArrow = "↓"; +const ShortLeftArrow = "←"; +const ShortRightArrow = "→"; +const ShortUpArrow = "↑"; +const Sigma = "Σ"; +const SmallCircle = "∘"; +const Sopf = "𝕊"; +const Sqrt = "√"; +const Square = "□"; +const SquareIntersection = "⊓"; +const SquareSubset = "⊏"; +const SquareSubsetEqual = "⊑"; +const SquareSuperset = "⊐"; +const SquareSupersetEqual = "⊒"; +const SquareUnion = "⊔"; +const Sscr = "𝒮"; +const Star = "⋆"; +const Sub = "⋐"; +const Subset = "⋐"; +const SubsetEqual = "⊆"; +const Succeeds = "≻"; +const SucceedsEqual = "⪰"; +const SucceedsSlantEqual = "≽"; +const SucceedsTilde = "≿"; +const SuchThat = "∋"; +const Sum = "∑"; +const Sup = "⋑"; +const Superset = "⊃"; +const SupersetEqual = "⊇"; +const Supset = "⋑"; +const THOR = "Þ"; +const THORN$1 = "Þ"; +const TRADE = "™"; +const TSHcy = "Ћ"; +const TScy = "Ц"; +const Tab = "\t"; +const Tau = "Τ"; +const Tcaron = "Ť"; +const Tcedil = "Ţ"; +const Tcy = "Т"; +const Tfr = "𝔗"; +const Therefore = "∴"; +const Theta = "Θ"; +const ThickSpace = "  "; +const ThinSpace = " "; +const Tilde = "∼"; +const TildeEqual = "≃"; +const TildeFullEqual = "≅"; +const TildeTilde = "≈"; +const Topf = "𝕋"; +const TripleDot = "⃛"; +const Tscr = "𝒯"; +const Tstrok = "Ŧ"; +const Uacut = "Ú"; +const Uacute$1 = "Ú"; +const Uarr = "↟"; +const Uarrocir = "⥉"; +const Ubrcy = "Ў"; +const Ubreve = "Ŭ"; +const Ucir = "Û"; +const Ucirc$1 = "Û"; +const Ucy = "У"; +const Udblac = "Ű"; +const Ufr = "𝔘"; +const Ugrav = "Ù"; +const Ugrave$1 = "Ù"; +const Umacr = "Ū"; +const UnderBar = "_"; +const UnderBrace = "⏟"; +const UnderBracket = "⎵"; +const UnderParenthesis = "⏝"; +const Union = "⋃"; +const UnionPlus = "⊎"; +const Uogon = "Ų"; +const Uopf = "𝕌"; +const UpArrow = "↑"; +const UpArrowBar = "⤒"; +const UpArrowDownArrow = "⇅"; +const UpDownArrow = "↕"; +const UpEquilibrium = "⥮"; +const UpTee = "⊥"; +const UpTeeArrow = "↥"; +const Uparrow = "⇑"; +const Updownarrow = "⇕"; +const UpperLeftArrow = "↖"; +const UpperRightArrow = "↗"; +const Upsi = "ϒ"; +const Upsilon = "Υ"; +const Uring = "Ů"; +const Uscr = "𝒰"; +const Utilde = "Ũ"; +const Uum = "Ü"; +const Uuml$1 = "Ü"; +const VDash = "⊫"; +const Vbar = "⫫"; +const Vcy = "В"; +const Vdash = "⊩"; +const Vdashl = "⫦"; +const Vee = "⋁"; +const Verbar = "‖"; +const Vert = "‖"; +const VerticalBar = "∣"; +const VerticalLine = "|"; +const VerticalSeparator = "❘"; +const VerticalTilde = "≀"; +const VeryThinSpace = " "; +const Vfr = "𝔙"; +const Vopf = "𝕍"; +const Vscr = "𝒱"; +const Vvdash = "⊪"; +const Wcirc = "Ŵ"; +const Wedge = "⋀"; +const Wfr = "𝔚"; +const Wopf = "𝕎"; +const Wscr = "𝒲"; +const Xfr = "𝔛"; +const Xi = "Ξ"; +const Xopf = "𝕏"; +const Xscr = "𝒳"; +const YAcy = "Я"; +const YIcy = "Ї"; +const YUcy = "Ю"; +const Yacut = "Ý"; +const Yacute$1 = "Ý"; +const Ycirc = "Ŷ"; +const Ycy = "Ы"; +const Yfr = "𝔜"; +const Yopf = "𝕐"; +const Yscr = "𝒴"; +const Yuml = "Ÿ"; +const ZHcy = "Ж"; +const Zacute = "Ź"; +const Zcaron = "Ž"; +const Zcy = "З"; +const Zdot = "Ż"; +const ZeroWidthSpace = "​"; +const Zeta = "Ζ"; +const Zfr = "ℨ"; +const Zopf = "ℤ"; +const Zscr = "𝒵"; +const aacut = "á"; +const aacute$1 = "á"; +const abreve = "ă"; +const ac = "∾"; +const acE = "∾̳"; +const acd = "∿"; +const acir = "â"; +const acirc$1 = "â"; +const acut = "´"; +const acute$1 = "´"; +const acy = "а"; +const aeli = "æ"; +const aelig$1 = "æ"; +const af = "⁡"; +const afr = "𝔞"; +const agrav = "à"; +const agrave$1 = "à"; +const alefsym = "ℵ"; +const aleph = "ℵ"; +const alpha = "α"; +const amacr = "ā"; +const amalg = "⨿"; +const am = "&"; +const amp$1 = "&"; +const and = "∧"; +const andand = "⩕"; +const andd = "⩜"; +const andslope = "⩘"; +const andv = "⩚"; +const ang = "∠"; +const ange = "⦤"; +const angle = "∠"; +const angmsd = "∡"; +const angmsdaa = "⦨"; +const angmsdab = "⦩"; +const angmsdac = "⦪"; +const angmsdad = "⦫"; +const angmsdae = "⦬"; +const angmsdaf = "⦭"; +const angmsdag = "⦮"; +const angmsdah = "⦯"; +const angrt = "∟"; +const angrtvb = "⊾"; +const angrtvbd = "⦝"; +const angsph = "∢"; +const angst = "Å"; +const angzarr = "⍼"; +const aogon = "ą"; +const aopf = "𝕒"; +const ap = "≈"; +const apE = "⩰"; +const apacir = "⩯"; +const ape = "≊"; +const apid = "≋"; +const apos = "'"; +const approx = "≈"; +const approxeq = "≊"; +const arin = "å"; +const aring$1 = "å"; +const ascr = "𝒶"; +const ast = "*"; +const asymp = "≈"; +const asympeq = "≍"; +const atild = "ã"; +const atilde$1 = "ã"; +const aum = "ä"; +const auml$1 = "ä"; +const awconint = "∳"; +const awint = "⨑"; +const bNot = "⫭"; +const backcong = "≌"; +const backepsilon = "϶"; +const backprime = "‵"; +const backsim = "∽"; +const backsimeq = "⋍"; +const barvee = "⊽"; +const barwed = "⌅"; +const barwedge = "⌅"; +const bbrk = "⎵"; +const bbrktbrk = "⎶"; +const bcong = "≌"; +const bcy = "б"; +const bdquo = "„"; +const becaus = "∵"; +const because = "∵"; +const bemptyv = "⦰"; +const bepsi = "϶"; +const bernou = "ℬ"; +const beta = "β"; +const beth = "ℶ"; +const between = "≬"; +const bfr = "𝔟"; +const bigcap = "⋂"; +const bigcirc = "◯"; +const bigcup = "⋃"; +const bigodot = "⨀"; +const bigoplus = "⨁"; +const bigotimes = "⨂"; +const bigsqcup = "⨆"; +const bigstar = "★"; +const bigtriangledown = "▽"; +const bigtriangleup = "△"; +const biguplus = "⨄"; +const bigvee = "⋁"; +const bigwedge = "⋀"; +const bkarow = "⤍"; +const blacklozenge = "⧫"; +const blacksquare = "▪"; +const blacktriangle = "▴"; +const blacktriangledown = "▾"; +const blacktriangleleft = "◂"; +const blacktriangleright = "▸"; +const blank = "␣"; +const blk12 = "▒"; +const blk14 = "░"; +const blk34 = "▓"; +const block = "█"; +const bne = "=⃥"; +const bnequiv = "≡⃥"; +const bnot = "⌐"; +const bopf = "𝕓"; +const bot = "⊥"; +const bottom = "⊥"; +const bowtie = "⋈"; +const boxDL = "╗"; +const boxDR = "╔"; +const boxDl = "╖"; +const boxDr = "╓"; +const boxH = "═"; +const boxHD = "╦"; +const boxHU = "╩"; +const boxHd = "╤"; +const boxHu = "╧"; +const boxUL = "╝"; +const boxUR = "╚"; +const boxUl = "╜"; +const boxUr = "╙"; +const boxV = "║"; +const boxVH = "╬"; +const boxVL = "╣"; +const boxVR = "╠"; +const boxVh = "╫"; +const boxVl = "╢"; +const boxVr = "╟"; +const boxbox = "⧉"; +const boxdL = "╕"; +const boxdR = "╒"; +const boxdl = "┐"; +const boxdr = "┌"; +const boxh = "─"; +const boxhD = "╥"; +const boxhU = "╨"; +const boxhd = "┬"; +const boxhu = "┴"; +const boxminus = "⊟"; +const boxplus = "⊞"; +const boxtimes = "⊠"; +const boxuL = "╛"; +const boxuR = "╘"; +const boxul = "┘"; +const boxur = "└"; +const boxv = "│"; +const boxvH = "╪"; +const boxvL = "╡"; +const boxvR = "╞"; +const boxvh = "┼"; +const boxvl = "┤"; +const boxvr = "├"; +const bprime = "‵"; +const breve = "˘"; +const brvba = "¦"; +const brvbar$1 = "¦"; +const bscr = "𝒷"; +const bsemi = "⁏"; +const bsim = "∽"; +const bsime = "⋍"; +const bsol = "\\"; +const bsolb = "⧅"; +const bsolhsub = "⟈"; +const bull = "•"; +const bullet = "•"; +const bump = "≎"; +const bumpE = "⪮"; +const bumpe = "≏"; +const bumpeq = "≏"; +const cacute = "ć"; +const cap = "∩"; +const capand = "⩄"; +const capbrcup = "⩉"; +const capcap = "⩋"; +const capcup = "⩇"; +const capdot = "⩀"; +const caps = "∩︀"; +const caret = "⁁"; +const caron = "ˇ"; +const ccaps = "⩍"; +const ccaron = "č"; +const ccedi = "ç"; +const ccedil$1 = "ç"; +const ccirc = "ĉ"; +const ccups = "⩌"; +const ccupssm = "⩐"; +const cdot = "ċ"; +const cedi = "¸"; +const cedil$1 = "¸"; +const cemptyv = "⦲"; +const cen = "¢"; +const cent$1 = "¢"; +const centerdot = "·"; +const cfr = "𝔠"; +const chcy = "ч"; +const check$2 = "✓"; +const checkmark = "✓"; +const chi = "χ"; +const cir = "○"; +const cirE = "⧃"; +const circ = "ˆ"; +const circeq = "≗"; +const circlearrowleft = "↺"; +const circlearrowright = "↻"; +const circledR = "®"; +const circledS = "Ⓢ"; +const circledast = "⊛"; +const circledcirc = "⊚"; +const circleddash = "⊝"; +const cire = "≗"; +const cirfnint = "⨐"; +const cirmid = "⫯"; +const cirscir = "⧂"; +const clubs = "♣"; +const clubsuit = "♣"; +const colon = ":"; +const colone = "≔"; +const coloneq = "≔"; +const comma = ","; +const commat = "@"; +const comp = "∁"; +const compfn = "∘"; +const complement = "∁"; +const complexes = "ℂ"; +const cong = "≅"; +const congdot = "⩭"; +const conint = "∮"; +const copf = "𝕔"; +const coprod = "∐"; +const cop = "©"; +const copy$2 = "©"; +const copysr = "℗"; +const crarr = "↵"; +const cross = "✗"; +const cscr = "𝒸"; +const csub = "⫏"; +const csube = "⫑"; +const csup = "⫐"; +const csupe = "⫒"; +const ctdot = "⋯"; +const cudarrl = "⤸"; +const cudarrr = "⤵"; +const cuepr = "⋞"; +const cuesc = "⋟"; +const cularr = "↶"; +const cularrp = "⤽"; +const cup = "∪"; +const cupbrcap = "⩈"; +const cupcap = "⩆"; +const cupcup = "⩊"; +const cupdot = "⊍"; +const cupor = "⩅"; +const cups = "∪︀"; +const curarr = "↷"; +const curarrm = "⤼"; +const curlyeqprec = "⋞"; +const curlyeqsucc = "⋟"; +const curlyvee = "⋎"; +const curlywedge = "⋏"; +const curre = "¤"; +const curren$1 = "¤"; +const curvearrowleft = "↶"; +const curvearrowright = "↷"; +const cuvee = "⋎"; +const cuwed = "⋏"; +const cwconint = "∲"; +const cwint = "∱"; +const cylcty = "⌭"; +const dArr = "⇓"; +const dHar = "⥥"; +const dagger = "†"; +const daleth = "ℸ"; +const darr = "↓"; +const dash = "‐"; +const dashv = "⊣"; +const dbkarow = "⤏"; +const dblac = "˝"; +const dcaron = "ď"; +const dcy = "д"; +const dd = "ⅆ"; +const ddagger = "‡"; +const ddarr = "⇊"; +const ddotseq = "⩷"; +const de = "°"; +const deg$1 = "°"; +const delta = "δ"; +const demptyv = "⦱"; +const dfisht = "⥿"; +const dfr = "𝔡"; +const dharl = "⇃"; +const dharr = "⇂"; +const diam = "⋄"; +const diamond = "⋄"; +const diamondsuit = "♦"; +const diams = "♦"; +const die = "¨"; +const digamma = "ϝ"; +const disin = "⋲"; +const div = "÷"; +const divid = "÷"; +const divide$1 = "÷"; +const divideontimes = "⋇"; +const divonx = "⋇"; +const djcy = "ђ"; +const dlcorn = "⌞"; +const dlcrop = "⌍"; +const dollar = "$"; +const dopf = "𝕕"; +const dot = "˙"; +const doteq = "≐"; +const doteqdot = "≑"; +const dotminus = "∸"; +const dotplus = "∔"; +const dotsquare = "⊡"; +const doublebarwedge = "⌆"; +const downarrow = "↓"; +const downdownarrows = "⇊"; +const downharpoonleft = "⇃"; +const downharpoonright = "⇂"; +const drbkarow = "⤐"; +const drcorn = "⌟"; +const drcrop = "⌌"; +const dscr = "𝒹"; +const dscy = "ѕ"; +const dsol = "⧶"; +const dstrok = "đ"; +const dtdot = "⋱"; +const dtri = "▿"; +const dtrif = "▾"; +const duarr = "⇵"; +const duhar = "⥯"; +const dwangle = "⦦"; +const dzcy = "џ"; +const dzigrarr = "⟿"; +const eDDot = "⩷"; +const eDot = "≑"; +const eacut = "é"; +const eacute$1 = "é"; +const easter = "⩮"; +const ecaron = "ě"; +const ecir = "ê"; +const ecirc$1 = "ê"; +const ecolon = "≕"; +const ecy = "э"; +const edot = "ė"; +const ee = "ⅇ"; +const efDot = "≒"; +const efr = "𝔢"; +const eg = "⪚"; +const egrav = "è"; +const egrave$1 = "è"; +const egs = "⪖"; +const egsdot = "⪘"; +const el = "⪙"; +const elinters = "⏧"; +const ell = "ℓ"; +const els = "⪕"; +const elsdot = "⪗"; +const emacr = "ē"; +const empty = "∅"; +const emptyset = "∅"; +const emptyv = "∅"; +const emsp13 = " "; +const emsp14 = " "; +const emsp = " "; +const eng = "ŋ"; +const ensp = " "; +const eogon = "ę"; +const eopf = "𝕖"; +const epar = "⋕"; +const eparsl = "⧣"; +const eplus = "⩱"; +const epsi = "ε"; +const epsilon = "ε"; +const epsiv = "ϵ"; +const eqcirc = "≖"; +const eqcolon = "≕"; +const eqsim = "≂"; +const eqslantgtr = "⪖"; +const eqslantless = "⪕"; +const equals = "="; +const equest = "≟"; +const equiv = "≡"; +const equivDD = "⩸"; +const eqvparsl = "⧥"; +const erDot = "≓"; +const erarr = "⥱"; +const escr = "ℯ"; +const esdot = "≐"; +const esim = "≂"; +const eta = "η"; +const et = "ð"; +const eth$1 = "ð"; +const eum = "ë"; +const euml$1 = "ë"; +const euro = "€"; +const excl = "!"; +const exist = "∃"; +const expectation = "ℰ"; +const exponentiale = "ⅇ"; +const fallingdotseq = "≒"; +const fcy = "ф"; +const female = "♀"; +const ffilig = "ffi"; +const fflig = "ff"; +const ffllig = "ffl"; +const ffr = "𝔣"; +const filig = "fi"; +const fjlig = "fj"; +const flat = "♭"; +const fllig = "fl"; +const fltns = "▱"; +const fnof = "ƒ"; +const fopf = "𝕗"; +const forall = "∀"; +const fork = "⋔"; +const forkv = "⫙"; +const fpartint = "⨍"; +const frac1 = "¼"; +const frac12$1 = "½"; +const frac13 = "⅓"; +const frac14$1 = "¼"; +const frac15 = "⅕"; +const frac16 = "⅙"; +const frac18 = "⅛"; +const frac23 = "⅔"; +const frac25 = "⅖"; +const frac3 = "¾"; +const frac34$1 = "¾"; +const frac35 = "⅗"; +const frac38 = "⅜"; +const frac45 = "⅘"; +const frac56 = "⅚"; +const frac58 = "⅝"; +const frac78 = "⅞"; +const frasl = "⁄"; +const frown = "⌢"; +const fscr = "𝒻"; +const gE = "≧"; +const gEl = "⪌"; +const gacute = "ǵ"; +const gamma = "γ"; +const gammad = "ϝ"; +const gap = "⪆"; +const gbreve = "ğ"; +const gcirc = "ĝ"; +const gcy = "г"; +const gdot = "ġ"; +const ge = "≥"; +const gel = "⋛"; +const geq = "≥"; +const geqq = "≧"; +const geqslant = "⩾"; +const ges = "⩾"; +const gescc = "⪩"; +const gesdot = "⪀"; +const gesdoto = "⪂"; +const gesdotol = "⪄"; +const gesl = "⋛︀"; +const gesles = "⪔"; +const gfr = "𝔤"; +const gg = "≫"; +const ggg = "⋙"; +const gimel = "ℷ"; +const gjcy = "ѓ"; +const gl = "≷"; +const glE = "⪒"; +const gla = "⪥"; +const glj = "⪤"; +const gnE = "≩"; +const gnap = "⪊"; +const gnapprox = "⪊"; +const gne = "⪈"; +const gneq = "⪈"; +const gneqq = "≩"; +const gnsim = "⋧"; +const gopf = "𝕘"; +const grave = "`"; +const gscr = "ℊ"; +const gsim = "≳"; +const gsime = "⪎"; +const gsiml = "⪐"; +const g = ">"; +const gt$1 = ">"; +const gtcc = "⪧"; +const gtcir = "⩺"; +const gtdot = "⋗"; +const gtlPar = "⦕"; +const gtquest = "⩼"; +const gtrapprox = "⪆"; +const gtrarr = "⥸"; +const gtrdot = "⋗"; +const gtreqless = "⋛"; +const gtreqqless = "⪌"; +const gtrless = "≷"; +const gtrsim = "≳"; +const gvertneqq = "≩︀"; +const gvnE = "≩︀"; +const hArr = "⇔"; +const hairsp = " "; +const half = "½"; +const hamilt = "ℋ"; +const hardcy = "ъ"; +const harr = "↔"; +const harrcir = "⥈"; +const harrw = "↭"; +const hbar = "ℏ"; +const hcirc = "ĥ"; +const hearts = "♥"; +const heartsuit = "♥"; +const hellip = "…"; +const hercon = "⊹"; +const hfr = "𝔥"; +const hksearow = "⤥"; +const hkswarow = "⤦"; +const hoarr = "⇿"; +const homtht = "∻"; +const hookleftarrow = "↩"; +const hookrightarrow = "↪"; +const hopf = "𝕙"; +const horbar = "―"; +const hscr = "𝒽"; +const hslash = "ℏ"; +const hstrok = "ħ"; +const hybull = "⁃"; +const hyphen = "‐"; +const iacut = "í"; +const iacute$1 = "í"; +const ic = "⁣"; +const icir = "î"; +const icirc$1 = "î"; +const icy = "и"; +const iecy = "е"; +const iexc = "¡"; +const iexcl$1 = "¡"; +const iff = "⇔"; +const ifr = "𝔦"; +const igrav = "ì"; +const igrave$1 = "ì"; +const ii = "ⅈ"; +const iiiint = "⨌"; +const iiint = "∭"; +const iinfin = "⧜"; +const iiota = "℩"; +const ijlig = "ij"; +const imacr = "ī"; +const image = "ℑ"; +const imagline = "ℐ"; +const imagpart = "ℑ"; +const imath = "ı"; +const imof = "⊷"; +const imped = "Ƶ"; +const incare = "℅"; +const infin = "∞"; +const infintie = "⧝"; +const inodot = "ı"; +const int = "∫"; +const intcal = "⊺"; +const integers = "ℤ"; +const intercal = "⊺"; +const intlarhk = "⨗"; +const intprod = "⨼"; +const iocy = "ё"; +const iogon = "į"; +const iopf = "𝕚"; +const iota = "ι"; +const iprod = "⨼"; +const iques = "¿"; +const iquest$1 = "¿"; +const iscr = "𝒾"; +const isin = "∈"; +const isinE = "⋹"; +const isindot = "⋵"; +const isins = "⋴"; +const isinsv = "⋳"; +const isinv = "∈"; +const it = "⁢"; +const itilde = "ĩ"; +const iukcy = "і"; +const ium = "ï"; +const iuml$1 = "ï"; +const jcirc = "ĵ"; +const jcy = "й"; +const jfr = "𝔧"; +const jmath = "ȷ"; +const jopf = "𝕛"; +const jscr = "𝒿"; +const jsercy = "ј"; +const jukcy = "є"; +const kappa = "κ"; +const kappav = "ϰ"; +const kcedil = "ķ"; +const kcy = "к"; +const kfr = "𝔨"; +const kgreen = "ĸ"; +const khcy = "х"; +const kjcy = "ќ"; +const kopf = "𝕜"; +const kscr = "𝓀"; +const lAarr = "⇚"; +const lArr = "⇐"; +const lAtail = "⤛"; +const lBarr = "⤎"; +const lE = "≦"; +const lEg = "⪋"; +const lHar = "⥢"; +const lacute = "ĺ"; +const laemptyv = "⦴"; +const lagran = "ℒ"; +const lambda = "λ"; +const lang = "⟨"; +const langd = "⦑"; +const langle = "⟨"; +const lap = "⪅"; +const laqu = "«"; +const laquo$1 = "«"; +const larr = "←"; +const larrb = "⇤"; +const larrbfs = "⤟"; +const larrfs = "⤝"; +const larrhk = "↩"; +const larrlp = "↫"; +const larrpl = "⤹"; +const larrsim = "⥳"; +const larrtl = "↢"; +const lat = "⪫"; +const latail = "⤙"; +const late = "⪭"; +const lates = "⪭︀"; +const lbarr = "⤌"; +const lbbrk = "❲"; +const lbrace = "{"; +const lbrack = "["; +const lbrke = "⦋"; +const lbrksld = "⦏"; +const lbrkslu = "⦍"; +const lcaron = "ľ"; +const lcedil = "ļ"; +const lceil = "⌈"; +const lcub = "{"; +const lcy = "л"; +const ldca = "⤶"; +const ldquo = "“"; +const ldquor = "„"; +const ldrdhar = "⥧"; +const ldrushar = "⥋"; +const ldsh = "↲"; +const le = "≤"; +const leftarrow = "←"; +const leftarrowtail = "↢"; +const leftharpoondown = "↽"; +const leftharpoonup = "↼"; +const leftleftarrows = "⇇"; +const leftrightarrow = "↔"; +const leftrightarrows = "⇆"; +const leftrightharpoons = "⇋"; +const leftrightsquigarrow = "↭"; +const leftthreetimes = "⋋"; +const leg = "⋚"; +const leq = "≤"; +const leqq = "≦"; +const leqslant = "⩽"; +const les = "⩽"; +const lescc = "⪨"; +const lesdot = "⩿"; +const lesdoto = "⪁"; +const lesdotor = "⪃"; +const lesg = "⋚︀"; +const lesges = "⪓"; +const lessapprox = "⪅"; +const lessdot = "⋖"; +const lesseqgtr = "⋚"; +const lesseqqgtr = "⪋"; +const lessgtr = "≶"; +const lesssim = "≲"; +const lfisht = "⥼"; +const lfloor = "⌊"; +const lfr = "𝔩"; +const lg = "≶"; +const lgE = "⪑"; +const lhard = "↽"; +const lharu = "↼"; +const lharul = "⥪"; +const lhblk = "▄"; +const ljcy = "љ"; +const ll = "≪"; +const llarr = "⇇"; +const llcorner = "⌞"; +const llhard = "⥫"; +const lltri = "◺"; +const lmidot = "ŀ"; +const lmoust = "⎰"; +const lmoustache = "⎰"; +const lnE = "≨"; +const lnap = "⪉"; +const lnapprox = "⪉"; +const lne = "⪇"; +const lneq = "⪇"; +const lneqq = "≨"; +const lnsim = "⋦"; +const loang = "⟬"; +const loarr = "⇽"; +const lobrk = "⟦"; +const longleftarrow = "⟵"; +const longleftrightarrow = "⟷"; +const longmapsto = "⟼"; +const longrightarrow = "⟶"; +const looparrowleft = "↫"; +const looparrowright = "↬"; +const lopar = "⦅"; +const lopf = "𝕝"; +const loplus = "⨭"; +const lotimes = "⨴"; +const lowast = "∗"; +const lowbar = "_"; +const loz = "◊"; +const lozenge = "◊"; +const lozf = "⧫"; +const lpar = "("; +const lparlt = "⦓"; +const lrarr = "⇆"; +const lrcorner = "⌟"; +const lrhar = "⇋"; +const lrhard = "⥭"; +const lrm = "‎"; +const lrtri = "⊿"; +const lsaquo = "‹"; +const lscr = "𝓁"; +const lsh = "↰"; +const lsim = "≲"; +const lsime = "⪍"; +const lsimg = "⪏"; +const lsqb = "["; +const lsquo = "‘"; +const lsquor = "‚"; +const lstrok = "ł"; +const l = "<"; +const lt$1 = "<"; +const ltcc = "⪦"; +const ltcir = "⩹"; +const ltdot = "⋖"; +const lthree = "⋋"; +const ltimes = "⋉"; +const ltlarr = "⥶"; +const ltquest = "⩻"; +const ltrPar = "⦖"; +const ltri = "◃"; +const ltrie = "⊴"; +const ltrif = "◂"; +const lurdshar = "⥊"; +const luruhar = "⥦"; +const lvertneqq = "≨︀"; +const lvnE = "≨︀"; +const mDDot = "∺"; +const mac = "¯"; +const macr$1 = "¯"; +const male = "♂"; +const malt = "✠"; +const maltese = "✠"; +const map$2 = "↦"; +const mapsto = "↦"; +const mapstodown = "↧"; +const mapstoleft = "↤"; +const mapstoup = "↥"; +const marker = "▮"; +const mcomma = "⨩"; +const mcy = "м"; +const mdash = "—"; +const measuredangle = "∡"; +const mfr = "𝔪"; +const mho = "℧"; +const micr = "µ"; +const micro$1 = "µ"; +const mid = "∣"; +const midast = "*"; +const midcir = "⫰"; +const middo = "·"; +const middot$1 = "·"; +const minus = "−"; +const minusb = "⊟"; +const minusd = "∸"; +const minusdu = "⨪"; +const mlcp = "⫛"; +const mldr = "…"; +const mnplus = "∓"; +const models$1 = "⊧"; +const mopf = "𝕞"; +const mp = "∓"; +const mscr = "𝓂"; +const mstpos = "∾"; +const mu = "μ"; +const multimap = "⊸"; +const mumap = "⊸"; +const nGg = "⋙̸"; +const nGt = "≫⃒"; +const nGtv = "≫̸"; +const nLeftarrow = "⇍"; +const nLeftrightarrow = "⇎"; +const nLl = "⋘̸"; +const nLt = "≪⃒"; +const nLtv = "≪̸"; +const nRightarrow = "⇏"; +const nVDash = "⊯"; +const nVdash = "⊮"; +const nabla = "∇"; +const nacute = "ń"; +const nang = "∠⃒"; +const nap = "≉"; +const napE = "⩰̸"; +const napid = "≋̸"; +const napos = "ʼn"; +const napprox = "≉"; +const natur = "♮"; +const natural = "♮"; +const naturals = "ℕ"; +const nbs = " "; +const nbsp$1 = " "; +const nbump = "≎̸"; +const nbumpe = "≏̸"; +const ncap = "⩃"; +const ncaron = "ň"; +const ncedil = "ņ"; +const ncong = "≇"; +const ncongdot = "⩭̸"; +const ncup = "⩂"; +const ncy = "н"; +const ndash = "–"; +const ne = "≠"; +const neArr = "⇗"; +const nearhk = "⤤"; +const nearr = "↗"; +const nearrow = "↗"; +const nedot = "≐̸"; +const nequiv = "≢"; +const nesear = "⤨"; +const nesim = "≂̸"; +const nexist = "∄"; +const nexists = "∄"; +const nfr = "𝔫"; +const ngE = "≧̸"; +const nge = "≱"; +const ngeq = "≱"; +const ngeqq = "≧̸"; +const ngeqslant = "⩾̸"; +const nges = "⩾̸"; +const ngsim = "≵"; +const ngt = "≯"; +const ngtr = "≯"; +const nhArr = "⇎"; +const nharr = "↮"; +const nhpar = "⫲"; +const ni = "∋"; +const nis = "⋼"; +const nisd = "⋺"; +const niv = "∋"; +const njcy = "њ"; +const nlArr = "⇍"; +const nlE = "≦̸"; +const nlarr = "↚"; +const nldr = "‥"; +const nle = "≰"; +const nleftarrow = "↚"; +const nleftrightarrow = "↮"; +const nleq = "≰"; +const nleqq = "≦̸"; +const nleqslant = "⩽̸"; +const nles = "⩽̸"; +const nless = "≮"; +const nlsim = "≴"; +const nlt = "≮"; +const nltri = "⋪"; +const nltrie = "⋬"; +const nmid = "∤"; +const nopf = "𝕟"; +const no = "¬"; +const not$1 = "¬"; +const notin = "∉"; +const notinE = "⋹̸"; +const notindot = "⋵̸"; +const notinva = "∉"; +const notinvb = "⋷"; +const notinvc = "⋶"; +const notni = "∌"; +const notniva = "∌"; +const notnivb = "⋾"; +const notnivc = "⋽"; +const npar = "∦"; +const nparallel = "∦"; +const nparsl = "⫽⃥"; +const npart = "∂̸"; +const npolint = "⨔"; +const npr = "⊀"; +const nprcue = "⋠"; +const npre = "⪯̸"; +const nprec = "⊀"; +const npreceq = "⪯̸"; +const nrArr = "⇏"; +const nrarr = "↛"; +const nrarrc = "⤳̸"; +const nrarrw = "↝̸"; +const nrightarrow = "↛"; +const nrtri = "⋫"; +const nrtrie = "⋭"; +const nsc = "⊁"; +const nsccue = "⋡"; +const nsce = "⪰̸"; +const nscr = "𝓃"; +const nshortmid = "∤"; +const nshortparallel = "∦"; +const nsim = "≁"; +const nsime = "≄"; +const nsimeq = "≄"; +const nsmid = "∤"; +const nspar = "∦"; +const nsqsube = "⋢"; +const nsqsupe = "⋣"; +const nsub = "⊄"; +const nsubE = "⫅̸"; +const nsube = "⊈"; +const nsubset = "⊂⃒"; +const nsubseteq = "⊈"; +const nsubseteqq = "⫅̸"; +const nsucc = "⊁"; +const nsucceq = "⪰̸"; +const nsup = "⊅"; +const nsupE = "⫆̸"; +const nsupe = "⊉"; +const nsupset = "⊃⃒"; +const nsupseteq = "⊉"; +const nsupseteqq = "⫆̸"; +const ntgl = "≹"; +const ntild = "ñ"; +const ntilde$1 = "ñ"; +const ntlg = "≸"; +const ntriangleleft = "⋪"; +const ntrianglelefteq = "⋬"; +const ntriangleright = "⋫"; +const ntrianglerighteq = "⋭"; +const nu = "ν"; +const num = "#"; +const numero = "№"; +const numsp = " "; +const nvDash = "⊭"; +const nvHarr = "⤄"; +const nvap = "≍⃒"; +const nvdash = "⊬"; +const nvge = "≥⃒"; +const nvgt = ">⃒"; +const nvinfin = "⧞"; +const nvlArr = "⤂"; +const nvle = "≤⃒"; +const nvlt = "<⃒"; +const nvltrie = "⊴⃒"; +const nvrArr = "⤃"; +const nvrtrie = "⊵⃒"; +const nvsim = "∼⃒"; +const nwArr = "⇖"; +const nwarhk = "⤣"; +const nwarr = "↖"; +const nwarrow = "↖"; +const nwnear = "⤧"; +const oS = "Ⓢ"; +const oacut = "ó"; +const oacute$1 = "ó"; +const oast = "⊛"; +const ocir = "ô"; +const ocirc$1 = "ô"; +const ocy = "о"; +const odash = "⊝"; +const odblac = "ő"; +const odiv = "⨸"; +const odot = "⊙"; +const odsold = "⦼"; +const oelig = "œ"; +const ofcir = "⦿"; +const ofr = "𝔬"; +const ogon = "˛"; +const ograv = "ò"; +const ograve$1 = "ò"; +const ogt = "⧁"; +const ohbar = "⦵"; +const ohm = "Ω"; +const oint = "∮"; +const olarr = "↺"; +const olcir = "⦾"; +const olcross = "⦻"; +const oline = "‾"; +const olt = "⧀"; +const omacr = "ō"; +const omega = "ω"; +const omicron = "ο"; +const omid = "⦶"; +const ominus = "⊖"; +const oopf = "𝕠"; +const opar = "⦷"; +const operp = "⦹"; +const oplus = "⊕"; +const or = "∨"; +const orarr = "↻"; +const ord = "º"; +const order$1 = "ℴ"; +const orderof = "ℴ"; +const ordf$1 = "ª"; +const ordm$1 = "º"; +const origof = "⊶"; +const oror = "⩖"; +const orslope = "⩗"; +const orv = "⩛"; +const oscr = "ℴ"; +const oslas = "ø"; +const oslash$1 = "ø"; +const osol = "⊘"; +const otild = "õ"; +const otilde$1 = "õ"; +const otimes = "⊗"; +const otimesas = "⨶"; +const oum = "ö"; +const ouml$1 = "ö"; +const ovbar = "⌽"; +const par = "¶"; +const para$1 = "¶"; +const parallel = "∥"; +const parsim = "⫳"; +const parsl = "⫽"; +const part = "∂"; +const pcy = "п"; +const percnt = "%"; +const period = "."; +const permil = "‰"; +const perp = "⊥"; +const pertenk = "‱"; +const pfr = "𝔭"; +const phi = "φ"; +const phiv = "ϕ"; +const phmmat = "ℳ"; +const phone = "☎"; +const pi = "π"; +const pitchfork = "⋔"; +const piv = "ϖ"; +const planck = "ℏ"; +const planckh = "ℎ"; +const plankv = "ℏ"; +const plus = "+"; +const plusacir = "⨣"; +const plusb = "⊞"; +const pluscir = "⨢"; +const plusdo = "∔"; +const plusdu = "⨥"; +const pluse = "⩲"; +const plusm = "±"; +const plusmn$1 = "±"; +const plussim = "⨦"; +const plustwo = "⨧"; +const pm = "±"; +const pointint = "⨕"; +const popf = "𝕡"; +const poun = "£"; +const pound$1 = "£"; +const pr = "≺"; +const prE = "⪳"; +const prap = "⪷"; +const prcue = "≼"; +const pre = "⪯"; +const prec = "≺"; +const precapprox = "⪷"; +const preccurlyeq = "≼"; +const preceq = "⪯"; +const precnapprox = "⪹"; +const precneqq = "⪵"; +const precnsim = "⋨"; +const precsim = "≾"; +const prime = "′"; +const primes = "ℙ"; +const prnE = "⪵"; +const prnap = "⪹"; +const prnsim = "⋨"; +const prod = "∏"; +const profalar = "⌮"; +const profline = "⌒"; +const profsurf = "⌓"; +const prop = "∝"; +const propto = "∝"; +const prsim = "≾"; +const prurel = "⊰"; +const pscr = "𝓅"; +const psi = "ψ"; +const puncsp = " "; +const qfr = "𝔮"; +const qint = "⨌"; +const qopf = "𝕢"; +const qprime = "⁗"; +const qscr = "𝓆"; +const quaternions = "ℍ"; +const quatint = "⨖"; +const quest = "?"; +const questeq = "≟"; +const quo = "\""; +const quot$1 = "\""; +const rAarr = "⇛"; +const rArr = "⇒"; +const rAtail = "⤜"; +const rBarr = "⤏"; +const rHar = "⥤"; +const race = "∽̱"; +const racute = "ŕ"; +const radic = "√"; +const raemptyv = "⦳"; +const rang = "⟩"; +const rangd = "⦒"; +const range$1 = "⦥"; +const rangle = "⟩"; +const raqu = "»"; +const raquo$1 = "»"; +const rarr = "→"; +const rarrap = "⥵"; +const rarrb = "⇥"; +const rarrbfs = "⤠"; +const rarrc = "⤳"; +const rarrfs = "⤞"; +const rarrhk = "↪"; +const rarrlp = "↬"; +const rarrpl = "⥅"; +const rarrsim = "⥴"; +const rarrtl = "↣"; +const rarrw = "↝"; +const ratail = "⤚"; +const ratio = "∶"; +const rationals = "ℚ"; +const rbarr = "⤍"; +const rbbrk = "❳"; +const rbrace = "}"; +const rbrack = "]"; +const rbrke = "⦌"; +const rbrksld = "⦎"; +const rbrkslu = "⦐"; +const rcaron = "ř"; +const rcedil = "ŗ"; +const rceil = "⌉"; +const rcub = "}"; +const rcy = "р"; +const rdca = "⤷"; +const rdldhar = "⥩"; +const rdquo = "”"; +const rdquor = "”"; +const rdsh = "↳"; +const real = "ℜ"; +const realine = "ℛ"; +const realpart = "ℜ"; +const reals = "ℝ"; +const rect = "▭"; +const re = "®"; +const reg$1 = "®"; +const rfisht = "⥽"; +const rfloor = "⌋"; +const rfr = "𝔯"; +const rhard = "⇁"; +const rharu = "⇀"; +const rharul = "⥬"; +const rho = "ρ"; +const rhov = "ϱ"; +const rightarrow = "→"; +const rightarrowtail = "↣"; +const rightharpoondown = "⇁"; +const rightharpoonup = "⇀"; +const rightleftarrows = "⇄"; +const rightleftharpoons = "⇌"; +const rightrightarrows = "⇉"; +const rightsquigarrow = "↝"; +const rightthreetimes = "⋌"; +const ring = "˚"; +const risingdotseq = "≓"; +const rlarr = "⇄"; +const rlhar = "⇌"; +const rlm = "‏"; +const rmoust = "⎱"; +const rmoustache = "⎱"; +const rnmid = "⫮"; +const roang = "⟭"; +const roarr = "⇾"; +const robrk = "⟧"; +const ropar = "⦆"; +const ropf = "𝕣"; +const roplus = "⨮"; +const rotimes = "⨵"; +const rpar = ")"; +const rpargt = "⦔"; +const rppolint = "⨒"; +const rrarr = "⇉"; +const rsaquo = "›"; +const rscr = "𝓇"; +const rsh = "↱"; +const rsqb = "]"; +const rsquo = "’"; +const rsquor = "’"; +const rthree = "⋌"; +const rtimes = "⋊"; +const rtri = "▹"; +const rtrie = "⊵"; +const rtrif = "▸"; +const rtriltri = "⧎"; +const ruluhar = "⥨"; +const rx = "℞"; +const sacute = "ś"; +const sbquo = "‚"; +const sc = "≻"; +const scE = "⪴"; +const scap = "⪸"; +const scaron = "š"; +const sccue = "≽"; +const sce = "⪰"; +const scedil = "ş"; +const scirc = "ŝ"; +const scnE = "⪶"; +const scnap = "⪺"; +const scnsim = "⋩"; +const scpolint = "⨓"; +const scsim = "≿"; +const scy = "с"; +const sdot = "⋅"; +const sdotb = "⊡"; +const sdote = "⩦"; +const seArr = "⇘"; +const searhk = "⤥"; +const searr = "↘"; +const searrow = "↘"; +const sec = "§"; +const sect$1 = "§"; +const semi = ";"; +const seswar = "⤩"; +const setminus = "∖"; +const setmn = "∖"; +const sext = "✶"; +const sfr = "𝔰"; +const sfrown = "⌢"; +const sharp = "♯"; +const shchcy = "щ"; +const shcy = "ш"; +const shortmid = "∣"; +const shortparallel = "∥"; +const sh = "­"; +const shy$1 = "­"; +const sigma = "σ"; +const sigmaf = "ς"; +const sigmav = "ς"; +const sim = "∼"; +const simdot = "⩪"; +const sime = "≃"; +const simeq = "≃"; +const simg = "⪞"; +const simgE = "⪠"; +const siml = "⪝"; +const simlE = "⪟"; +const simne = "≆"; +const simplus = "⨤"; +const simrarr = "⥲"; +const slarr = "←"; +const smallsetminus = "∖"; +const smashp = "⨳"; +const smeparsl = "⧤"; +const smid = "∣"; +const smile = "⌣"; +const smt = "⪪"; +const smte = "⪬"; +const smtes = "⪬︀"; +const softcy = "ь"; +const sol = "/"; +const solb = "⧄"; +const solbar = "⌿"; +const sopf = "𝕤"; +const spades = "♠"; +const spadesuit = "♠"; +const spar = "∥"; +const sqcap = "⊓"; +const sqcaps = "⊓︀"; +const sqcup = "⊔"; +const sqcups = "⊔︀"; +const sqsub = "⊏"; +const sqsube = "⊑"; +const sqsubset = "⊏"; +const sqsubseteq = "⊑"; +const sqsup = "⊐"; +const sqsupe = "⊒"; +const sqsupset = "⊐"; +const sqsupseteq = "⊒"; +const squ = "□"; +const square = "□"; +const squarf = "▪"; +const squf = "▪"; +const srarr = "→"; +const sscr = "𝓈"; +const ssetmn = "∖"; +const ssmile = "⌣"; +const sstarf = "⋆"; +const star$1 = "☆"; +const starf = "★"; +const straightepsilon = "ϵ"; +const straightphi = "ϕ"; +const strns = "¯"; +const sub = "⊂"; +const subE = "⫅"; +const subdot = "⪽"; +const sube = "⊆"; +const subedot = "⫃"; +const submult = "⫁"; +const subnE = "⫋"; +const subne = "⊊"; +const subplus = "⪿"; +const subrarr = "⥹"; +const subset = "⊂"; +const subseteq = "⊆"; +const subseteqq = "⫅"; +const subsetneq = "⊊"; +const subsetneqq = "⫋"; +const subsim = "⫇"; +const subsub = "⫕"; +const subsup = "⫓"; +const succ = "≻"; +const succapprox = "⪸"; +const succcurlyeq = "≽"; +const succeq = "⪰"; +const succnapprox = "⪺"; +const succneqq = "⪶"; +const succnsim = "⋩"; +const succsim = "≿"; +const sum = "∑"; +const sung = "♪"; +const sup = "⊃"; +const sup1$1 = "¹"; +const sup2$1 = "²"; +const sup3$1 = "³"; +const supE = "⫆"; +const supdot = "⪾"; +const supdsub = "⫘"; +const supe = "⊇"; +const supedot = "⫄"; +const suphsol = "⟉"; +const suphsub = "⫗"; +const suplarr = "⥻"; +const supmult = "⫂"; +const supnE = "⫌"; +const supne = "⊋"; +const supplus = "⫀"; +const supset = "⊃"; +const supseteq = "⊇"; +const supseteqq = "⫆"; +const supsetneq = "⊋"; +const supsetneqq = "⫌"; +const supsim = "⫈"; +const supsub = "⫔"; +const supsup = "⫖"; +const swArr = "⇙"; +const swarhk = "⤦"; +const swarr = "↙"; +const swarrow = "↙"; +const swnwar = "⤪"; +const szli = "ß"; +const szlig$1 = "ß"; +const target = "⌖"; +const tau = "τ"; +const tbrk = "⎴"; +const tcaron = "ť"; +const tcedil = "ţ"; +const tcy = "т"; +const tdot = "⃛"; +const telrec = "⌕"; +const tfr = "𝔱"; +const there4 = "∴"; +const therefore = "∴"; +const theta = "θ"; +const thetasym = "ϑ"; +const thetav = "ϑ"; +const thickapprox = "≈"; +const thicksim = "∼"; +const thinsp = " "; +const thkap = "≈"; +const thksim = "∼"; +const thor = "þ"; +const thorn$1 = "þ"; +const tilde = "˜"; +const time = "×"; +const times$1 = "×"; +const timesb = "⊠"; +const timesbar = "⨱"; +const timesd = "⨰"; +const tint = "∭"; +const toea = "⤨"; +const top = "⊤"; +const topbot = "⌶"; +const topcir = "⫱"; +const topf = "𝕥"; +const topfork = "⫚"; +const tosa = "⤩"; +const tprime = "‴"; +const trade = "™"; +const triangle = "▵"; +const triangledown = "▿"; +const triangleleft = "◃"; +const trianglelefteq = "⊴"; +const triangleq = "≜"; +const triangleright = "▹"; +const trianglerighteq = "⊵"; +const tridot = "◬"; +const trie = "≜"; +const triminus = "⨺"; +const triplus = "⨹"; +const trisb = "⧍"; +const tritime = "⨻"; +const trpezium = "⏢"; +const tscr = "𝓉"; +const tscy = "ц"; +const tshcy = "ћ"; +const tstrok = "ŧ"; +const twixt = "≬"; +const twoheadleftarrow = "↞"; +const twoheadrightarrow = "↠"; +const uArr = "⇑"; +const uHar = "⥣"; +const uacut = "ú"; +const uacute$1 = "ú"; +const uarr = "↑"; +const ubrcy = "ў"; +const ubreve = "ŭ"; +const ucir = "û"; +const ucirc$1 = "û"; +const ucy = "у"; +const udarr = "⇅"; +const udblac = "ű"; +const udhar = "⥮"; +const ufisht = "⥾"; +const ufr = "𝔲"; +const ugrav = "ù"; +const ugrave$1 = "ù"; +const uharl = "↿"; +const uharr = "↾"; +const uhblk = "▀"; +const ulcorn = "⌜"; +const ulcorner = "⌜"; +const ulcrop = "⌏"; +const ultri = "◸"; +const umacr = "ū"; +const um = "¨"; +const uml$1 = "¨"; +const uogon = "ų"; +const uopf = "𝕦"; +const uparrow = "↑"; +const updownarrow = "↕"; +const upharpoonleft = "↿"; +const upharpoonright = "↾"; +const uplus = "⊎"; +const upsi = "υ"; +const upsih = "ϒ"; +const upsilon = "υ"; +const upuparrows = "⇈"; +const urcorn = "⌝"; +const urcorner = "⌝"; +const urcrop = "⌎"; +const uring = "ů"; +const urtri = "◹"; +const uscr = "𝓊"; +const utdot = "⋰"; +const utilde = "ũ"; +const utri = "▵"; +const utrif = "▴"; +const uuarr = "⇈"; +const uum = "ü"; +const uuml$1 = "ü"; +const uwangle = "⦧"; +const vArr = "⇕"; +const vBar = "⫨"; +const vBarv = "⫩"; +const vDash = "⊨"; +const vangrt = "⦜"; +const varepsilon = "ϵ"; +const varkappa = "ϰ"; +const varnothing = "∅"; +const varphi = "ϕ"; +const varpi = "ϖ"; +const varpropto = "∝"; +const varr = "↕"; +const varrho = "ϱ"; +const varsigma = "ς"; +const varsubsetneq = "⊊︀"; +const varsubsetneqq = "⫋︀"; +const varsupsetneq = "⊋︀"; +const varsupsetneqq = "⫌︀"; +const vartheta = "ϑ"; +const vartriangleleft = "⊲"; +const vartriangleright = "⊳"; +const vcy = "в"; +const vdash = "⊢"; +const vee = "∨"; +const veebar = "⊻"; +const veeeq = "≚"; +const vellip = "⋮"; +const verbar = "|"; +const vert = "|"; +const vfr = "𝔳"; +const vltri = "⊲"; +const vnsub = "⊂⃒"; +const vnsup = "⊃⃒"; +const vopf = "𝕧"; +const vprop = "∝"; +const vrtri = "⊳"; +const vscr = "𝓋"; +const vsubnE = "⫋︀"; +const vsubne = "⊊︀"; +const vsupnE = "⫌︀"; +const vsupne = "⊋︀"; +const vzigzag = "⦚"; +const wcirc = "ŵ"; +const wedbar = "⩟"; +const wedge = "∧"; +const wedgeq = "≙"; +const weierp = "℘"; +const wfr = "𝔴"; +const wopf = "𝕨"; +const wp = "℘"; +const wr = "≀"; +const wreath = "≀"; +const wscr = "𝓌"; +const xcap = "⋂"; +const xcirc = "◯"; +const xcup = "⋃"; +const xdtri = "▽"; +const xfr = "𝔵"; +const xhArr = "⟺"; +const xharr = "⟷"; +const xi = "ξ"; +const xlArr = "⟸"; +const xlarr = "⟵"; +const xmap = "⟼"; +const xnis = "⋻"; +const xodot = "⨀"; +const xopf = "𝕩"; +const xoplus = "⨁"; +const xotime = "⨂"; +const xrArr = "⟹"; +const xrarr = "⟶"; +const xscr = "𝓍"; +const xsqcup = "⨆"; +const xuplus = "⨄"; +const xutri = "△"; +const xvee = "⋁"; +const xwedge = "⋀"; +const yacut = "ý"; +const yacute$1 = "ý"; +const yacy = "я"; +const ycirc = "ŷ"; +const ycy = "ы"; +const ye = "¥"; +const yen$1 = "¥"; +const yfr = "𝔶"; +const yicy = "ї"; +const yopf = "𝕪"; +const yscr = "𝓎"; +const yucy = "ю"; +const yum = "ÿ"; +const yuml$1 = "ÿ"; +const zacute = "ź"; +const zcaron = "ž"; +const zcy = "з"; +const zdot = "ż"; +const zeetrf = "ℨ"; +const zeta = "ζ"; +const zfr = "𝔷"; +const zhcy = "ж"; +const zigrarr = "⇝"; +const zopf = "𝕫"; +const zscr = "𝓏"; +const zwj = "‍"; +const zwnj = "‌"; +var index$3 = { + AEli: AEli, + AElig: AElig$1, + AM: AM, + AMP: AMP$1, + Aacut: Aacut, + Aacute: Aacute$1, + Abreve: Abreve, + Acir: Acir, + Acirc: Acirc$1, + Acy: Acy, + Afr: Afr, + Agrav: Agrav, + Agrave: Agrave$1, + Alpha: Alpha, + Amacr: Amacr, + And: And, + Aogon: Aogon, + Aopf: Aopf, + ApplyFunction: ApplyFunction, + Arin: Arin, + Aring: Aring$1, + Ascr: Ascr, + Assign: Assign, + Atild: Atild, + Atilde: Atilde$1, + Aum: Aum, + Auml: Auml$1, + Backslash: Backslash, + Barv: Barv, + Barwed: Barwed, + Bcy: Bcy, + Because: Because, + Bernoullis: Bernoullis, + Beta: Beta, + Bfr: Bfr, + Bopf: Bopf, + Breve: Breve, + Bscr: Bscr, + Bumpeq: Bumpeq, + CHcy: CHcy, + COP: COP, + COPY: COPY$1, + Cacute: Cacute, + Cap: Cap, + CapitalDifferentialD: CapitalDifferentialD, + Cayleys: Cayleys, + Ccaron: Ccaron, + Ccedi: Ccedi, + Ccedil: Ccedil$1, + Ccirc: Ccirc, + Cconint: Cconint, + Cdot: Cdot, + Cedilla: Cedilla, + CenterDot: CenterDot, + Cfr: Cfr, + Chi: Chi, + CircleDot: CircleDot, + CircleMinus: CircleMinus, + CirclePlus: CirclePlus, + CircleTimes: CircleTimes, + ClockwiseContourIntegral: ClockwiseContourIntegral, + CloseCurlyDoubleQuote: CloseCurlyDoubleQuote, + CloseCurlyQuote: CloseCurlyQuote, + Colon: Colon, + Colone: Colone, + Congruent: Congruent, + Conint: Conint, + ContourIntegral: ContourIntegral, + Copf: Copf, + Coproduct: Coproduct, + CounterClockwiseContourIntegral: CounterClockwiseContourIntegral, + Cross: Cross, + Cscr: Cscr, + Cup: Cup, + CupCap: CupCap, + DD: DD, + DDotrahd: DDotrahd, + DJcy: DJcy, + DScy: DScy, + DZcy: DZcy, + Dagger: Dagger, + Darr: Darr, + Dashv: Dashv, + Dcaron: Dcaron, + Dcy: Dcy, + Del: Del, + Delta: Delta, + Dfr: Dfr, + DiacriticalAcute: DiacriticalAcute, + DiacriticalDot: DiacriticalDot, + DiacriticalDoubleAcute: DiacriticalDoubleAcute, + DiacriticalGrave: DiacriticalGrave, + DiacriticalTilde: DiacriticalTilde, + Diamond: Diamond, + DifferentialD: DifferentialD, + Dopf: Dopf, + Dot: Dot, + DotDot: DotDot, + DotEqual: DotEqual, + DoubleContourIntegral: DoubleContourIntegral, + DoubleDot: DoubleDot, + DoubleDownArrow: DoubleDownArrow, + DoubleLeftArrow: DoubleLeftArrow, + DoubleLeftRightArrow: DoubleLeftRightArrow, + DoubleLeftTee: DoubleLeftTee, + DoubleLongLeftArrow: DoubleLongLeftArrow, + DoubleLongLeftRightArrow: DoubleLongLeftRightArrow, + DoubleLongRightArrow: DoubleLongRightArrow, + DoubleRightArrow: DoubleRightArrow, + DoubleRightTee: DoubleRightTee, + DoubleUpArrow: DoubleUpArrow, + DoubleUpDownArrow: DoubleUpDownArrow, + DoubleVerticalBar: DoubleVerticalBar, + DownArrow: DownArrow, + DownArrowBar: DownArrowBar, + DownArrowUpArrow: DownArrowUpArrow, + DownBreve: DownBreve, + DownLeftRightVector: DownLeftRightVector, + DownLeftTeeVector: DownLeftTeeVector, + DownLeftVector: DownLeftVector, + DownLeftVectorBar: DownLeftVectorBar, + DownRightTeeVector: DownRightTeeVector, + DownRightVector: DownRightVector, + DownRightVectorBar: DownRightVectorBar, + DownTee: DownTee, + DownTeeArrow: DownTeeArrow, + Downarrow: Downarrow, + Dscr: Dscr, + Dstrok: Dstrok, + ENG: ENG, + ET: ET, + ETH: ETH$1, + Eacut: Eacut, + Eacute: Eacute$1, + Ecaron: Ecaron, + Ecir: Ecir, + Ecirc: Ecirc$1, + Ecy: Ecy, + Edot: Edot, + Efr: Efr, + Egrav: Egrav, + Egrave: Egrave$1, + Element: Element, + Emacr: Emacr, + EmptySmallSquare: EmptySmallSquare, + EmptyVerySmallSquare: EmptyVerySmallSquare, + Eogon: Eogon, + Eopf: Eopf, + Epsilon: Epsilon, + Equal: Equal, + EqualTilde: EqualTilde, + Equilibrium: Equilibrium, + Escr: Escr, + Esim: Esim, + Eta: Eta, + Eum: Eum, + Euml: Euml$1, + Exists: Exists, + ExponentialE: ExponentialE, + Fcy: Fcy, + Ffr: Ffr, + FilledSmallSquare: FilledSmallSquare, + FilledVerySmallSquare: FilledVerySmallSquare, + Fopf: Fopf, + ForAll: ForAll, + Fouriertrf: Fouriertrf, + Fscr: Fscr, + GJcy: GJcy, + G: G, + GT: GT$1, + Gamma: Gamma, + Gammad: Gammad, + Gbreve: Gbreve, + Gcedil: Gcedil, + Gcirc: Gcirc, + Gcy: Gcy, + Gdot: Gdot, + Gfr: Gfr, + Gg: Gg, + Gopf: Gopf, + GreaterEqual: GreaterEqual, + GreaterEqualLess: GreaterEqualLess, + GreaterFullEqual: GreaterFullEqual, + GreaterGreater: GreaterGreater, + GreaterLess: GreaterLess, + GreaterSlantEqual: GreaterSlantEqual, + GreaterTilde: GreaterTilde, + Gscr: Gscr, + Gt: Gt, + HARDcy: HARDcy, + Hacek: Hacek, + Hat: Hat, + Hcirc: Hcirc, + Hfr: Hfr, + HilbertSpace: HilbertSpace, + Hopf: Hopf, + HorizontalLine: HorizontalLine, + Hscr: Hscr, + Hstrok: Hstrok, + HumpDownHump: HumpDownHump, + HumpEqual: HumpEqual, + IEcy: IEcy, + IJlig: IJlig, + IOcy: IOcy, + Iacut: Iacut, + Iacute: Iacute$1, + Icir: Icir, + Icirc: Icirc$1, + Icy: Icy, + Idot: Idot, + Ifr: Ifr, + Igrav: Igrav, + Igrave: Igrave$1, + Im: Im, + Imacr: Imacr, + ImaginaryI: ImaginaryI, + Implies: Implies, + Int: Int, + Integral: Integral, + Intersection: Intersection, + InvisibleComma: InvisibleComma, + InvisibleTimes: InvisibleTimes, + Iogon: Iogon, + Iopf: Iopf, + Iota: Iota, + Iscr: Iscr, + Itilde: Itilde, + Iukcy: Iukcy, + Ium: Ium, + Iuml: Iuml$1, + Jcirc: Jcirc, + Jcy: Jcy, + Jfr: Jfr, + Jopf: Jopf, + Jscr: Jscr, + Jsercy: Jsercy, + Jukcy: Jukcy, + KHcy: KHcy, + KJcy: KJcy, + Kappa: Kappa, + Kcedil: Kcedil, + Kcy: Kcy, + Kfr: Kfr, + Kopf: Kopf, + Kscr: Kscr, + LJcy: LJcy, + L: L, + LT: LT$1, + Lacute: Lacute, + Lambda: Lambda, + Lang: Lang, + Laplacetrf: Laplacetrf, + Larr: Larr, + Lcaron: Lcaron, + Lcedil: Lcedil, + Lcy: Lcy, + LeftAngleBracket: LeftAngleBracket, + LeftArrow: LeftArrow, + LeftArrowBar: LeftArrowBar, + LeftArrowRightArrow: LeftArrowRightArrow, + LeftCeiling: LeftCeiling, + LeftDoubleBracket: LeftDoubleBracket, + LeftDownTeeVector: LeftDownTeeVector, + LeftDownVector: LeftDownVector, + LeftDownVectorBar: LeftDownVectorBar, + LeftFloor: LeftFloor, + LeftRightArrow: LeftRightArrow, + LeftRightVector: LeftRightVector, + LeftTee: LeftTee, + LeftTeeArrow: LeftTeeArrow, + LeftTeeVector: LeftTeeVector, + LeftTriangle: LeftTriangle, + LeftTriangleBar: LeftTriangleBar, + LeftTriangleEqual: LeftTriangleEqual, + LeftUpDownVector: LeftUpDownVector, + LeftUpTeeVector: LeftUpTeeVector, + LeftUpVector: LeftUpVector, + LeftUpVectorBar: LeftUpVectorBar, + LeftVector: LeftVector, + LeftVectorBar: LeftVectorBar, + Leftarrow: Leftarrow, + Leftrightarrow: Leftrightarrow, + LessEqualGreater: LessEqualGreater, + LessFullEqual: LessFullEqual, + LessGreater: LessGreater, + LessLess: LessLess, + LessSlantEqual: LessSlantEqual, + LessTilde: LessTilde, + Lfr: Lfr, + Ll: Ll, + Lleftarrow: Lleftarrow, + Lmidot: Lmidot, + LongLeftArrow: LongLeftArrow, + LongLeftRightArrow: LongLeftRightArrow, + LongRightArrow: LongRightArrow, + Longleftarrow: Longleftarrow, + Longleftrightarrow: Longleftrightarrow, + Longrightarrow: Longrightarrow, + Lopf: Lopf, + LowerLeftArrow: LowerLeftArrow, + LowerRightArrow: LowerRightArrow, + Lscr: Lscr, + Lsh: Lsh, + Lstrok: Lstrok, + Lt: Lt, + "Map": "⤅", + Mcy: Mcy, + MediumSpace: MediumSpace, + Mellintrf: Mellintrf, + Mfr: Mfr, + MinusPlus: MinusPlus, + Mopf: Mopf, + Mscr: Mscr, + Mu: Mu, + NJcy: NJcy, + Nacute: Nacute, + Ncaron: Ncaron, + Ncedil: Ncedil, + Ncy: Ncy, + NegativeMediumSpace: NegativeMediumSpace, + NegativeThickSpace: NegativeThickSpace, + NegativeThinSpace: NegativeThinSpace, + NegativeVeryThinSpace: NegativeVeryThinSpace, + NestedGreaterGreater: NestedGreaterGreater, + NestedLessLess: NestedLessLess, + NewLine: NewLine, + Nfr: Nfr, + NoBreak: NoBreak, + NonBreakingSpace: NonBreakingSpace, + Nopf: Nopf, + Not: Not, + NotCongruent: NotCongruent, + NotCupCap: NotCupCap, + NotDoubleVerticalBar: NotDoubleVerticalBar, + NotElement: NotElement, + NotEqual: NotEqual, + NotEqualTilde: NotEqualTilde, + NotExists: NotExists, + NotGreater: NotGreater, + NotGreaterEqual: NotGreaterEqual, + NotGreaterFullEqual: NotGreaterFullEqual, + NotGreaterGreater: NotGreaterGreater, + NotGreaterLess: NotGreaterLess, + NotGreaterSlantEqual: NotGreaterSlantEqual, + NotGreaterTilde: NotGreaterTilde, + NotHumpDownHump: NotHumpDownHump, + NotHumpEqual: NotHumpEqual, + NotLeftTriangle: NotLeftTriangle, + NotLeftTriangleBar: NotLeftTriangleBar, + NotLeftTriangleEqual: NotLeftTriangleEqual, + NotLess: NotLess, + NotLessEqual: NotLessEqual, + NotLessGreater: NotLessGreater, + NotLessLess: NotLessLess, + NotLessSlantEqual: NotLessSlantEqual, + NotLessTilde: NotLessTilde, + NotNestedGreaterGreater: NotNestedGreaterGreater, + NotNestedLessLess: NotNestedLessLess, + NotPrecedes: NotPrecedes, + NotPrecedesEqual: NotPrecedesEqual, + NotPrecedesSlantEqual: NotPrecedesSlantEqual, + NotReverseElement: NotReverseElement, + NotRightTriangle: NotRightTriangle, + NotRightTriangleBar: NotRightTriangleBar, + NotRightTriangleEqual: NotRightTriangleEqual, + NotSquareSubset: NotSquareSubset, + NotSquareSubsetEqual: NotSquareSubsetEqual, + NotSquareSuperset: NotSquareSuperset, + NotSquareSupersetEqual: NotSquareSupersetEqual, + NotSubset: NotSubset, + NotSubsetEqual: NotSubsetEqual, + NotSucceeds: NotSucceeds, + NotSucceedsEqual: NotSucceedsEqual, + NotSucceedsSlantEqual: NotSucceedsSlantEqual, + NotSucceedsTilde: NotSucceedsTilde, + NotSuperset: NotSuperset, + NotSupersetEqual: NotSupersetEqual, + NotTilde: NotTilde, + NotTildeEqual: NotTildeEqual, + NotTildeFullEqual: NotTildeFullEqual, + NotTildeTilde: NotTildeTilde, + NotVerticalBar: NotVerticalBar, + Nscr: Nscr, + Ntild: Ntild, + Ntilde: Ntilde$1, + Nu: Nu, + OElig: OElig, + Oacut: Oacut, + Oacute: Oacute$1, + Ocir: Ocir, + Ocirc: Ocirc$1, + Ocy: Ocy, + Odblac: Odblac, + Ofr: Ofr, + Ograv: Ograv, + Ograve: Ograve$1, + Omacr: Omacr, + Omega: Omega, + Omicron: Omicron, + Oopf: Oopf, + OpenCurlyDoubleQuote: OpenCurlyDoubleQuote, + OpenCurlyQuote: OpenCurlyQuote, + Or: Or, + Oscr: Oscr, + Oslas: Oslas, + Oslash: Oslash$1, + Otild: Otild, + Otilde: Otilde$1, + Otimes: Otimes, + Oum: Oum, + Ouml: Ouml$1, + OverBar: OverBar, + OverBrace: OverBrace, + OverBracket: OverBracket, + OverParenthesis: OverParenthesis, + PartialD: PartialD, + Pcy: Pcy, + Pfr: Pfr, + Phi: Phi, + Pi: Pi, + PlusMinus: PlusMinus, + Poincareplane: Poincareplane, + Popf: Popf, + Pr: Pr, + Precedes: Precedes, + PrecedesEqual: PrecedesEqual, + PrecedesSlantEqual: PrecedesSlantEqual, + PrecedesTilde: PrecedesTilde, + Prime: Prime, + Product: Product, + Proportion: Proportion, + Proportional: Proportional, + Pscr: Pscr, + Psi: Psi, + QUO: QUO, + QUOT: QUOT$1, + Qfr: Qfr, + Qopf: Qopf, + Qscr: Qscr, + RBarr: RBarr, + RE: RE, + REG: REG$1, + Racute: Racute, + Rang: Rang, + Rarr: Rarr, + Rarrtl: Rarrtl, + Rcaron: Rcaron, + Rcedil: Rcedil, + Rcy: Rcy, + Re: Re, + ReverseElement: ReverseElement, + ReverseEquilibrium: ReverseEquilibrium, + ReverseUpEquilibrium: ReverseUpEquilibrium, + Rfr: Rfr, + Rho: Rho, + RightAngleBracket: RightAngleBracket, + RightArrow: RightArrow, + RightArrowBar: RightArrowBar, + RightArrowLeftArrow: RightArrowLeftArrow, + RightCeiling: RightCeiling, + RightDoubleBracket: RightDoubleBracket, + RightDownTeeVector: RightDownTeeVector, + RightDownVector: RightDownVector, + RightDownVectorBar: RightDownVectorBar, + RightFloor: RightFloor, + RightTee: RightTee, + RightTeeArrow: RightTeeArrow, + RightTeeVector: RightTeeVector, + RightTriangle: RightTriangle, + RightTriangleBar: RightTriangleBar, + RightTriangleEqual: RightTriangleEqual, + RightUpDownVector: RightUpDownVector, + RightUpTeeVector: RightUpTeeVector, + RightUpVector: RightUpVector, + RightUpVectorBar: RightUpVectorBar, + RightVector: RightVector, + RightVectorBar: RightVectorBar, + Rightarrow: Rightarrow, + Ropf: Ropf, + RoundImplies: RoundImplies, + Rrightarrow: Rrightarrow, + Rscr: Rscr, + Rsh: Rsh, + RuleDelayed: RuleDelayed, + SHCHcy: SHCHcy, + SHcy: SHcy, + SOFTcy: SOFTcy, + Sacute: Sacute, + Sc: Sc, + Scaron: Scaron, + Scedil: Scedil, + Scirc: Scirc, + Scy: Scy, + Sfr: Sfr, + ShortDownArrow: ShortDownArrow, + ShortLeftArrow: ShortLeftArrow, + ShortRightArrow: ShortRightArrow, + ShortUpArrow: ShortUpArrow, + Sigma: Sigma, + SmallCircle: SmallCircle, + Sopf: Sopf, + Sqrt: Sqrt, + Square: Square, + SquareIntersection: SquareIntersection, + SquareSubset: SquareSubset, + SquareSubsetEqual: SquareSubsetEqual, + SquareSuperset: SquareSuperset, + SquareSupersetEqual: SquareSupersetEqual, + SquareUnion: SquareUnion, + Sscr: Sscr, + Star: Star, + Sub: Sub, + Subset: Subset, + SubsetEqual: SubsetEqual, + Succeeds: Succeeds, + SucceedsEqual: SucceedsEqual, + SucceedsSlantEqual: SucceedsSlantEqual, + SucceedsTilde: SucceedsTilde, + SuchThat: SuchThat, + Sum: Sum, + Sup: Sup, + Superset: Superset, + SupersetEqual: SupersetEqual, + Supset: Supset, + THOR: THOR, + THORN: THORN$1, + TRADE: TRADE, + TSHcy: TSHcy, + TScy: TScy, + Tab: Tab, + Tau: Tau, + Tcaron: Tcaron, + Tcedil: Tcedil, + Tcy: Tcy, + Tfr: Tfr, + Therefore: Therefore, + Theta: Theta, + ThickSpace: ThickSpace, + ThinSpace: ThinSpace, + Tilde: Tilde, + TildeEqual: TildeEqual, + TildeFullEqual: TildeFullEqual, + TildeTilde: TildeTilde, + Topf: Topf, + TripleDot: TripleDot, + Tscr: Tscr, + Tstrok: Tstrok, + Uacut: Uacut, + Uacute: Uacute$1, + Uarr: Uarr, + Uarrocir: Uarrocir, + Ubrcy: Ubrcy, + Ubreve: Ubreve, + Ucir: Ucir, + Ucirc: Ucirc$1, + Ucy: Ucy, + Udblac: Udblac, + Ufr: Ufr, + Ugrav: Ugrav, + Ugrave: Ugrave$1, + Umacr: Umacr, + UnderBar: UnderBar, + UnderBrace: UnderBrace, + UnderBracket: UnderBracket, + UnderParenthesis: UnderParenthesis, + Union: Union, + UnionPlus: UnionPlus, + Uogon: Uogon, + Uopf: Uopf, + UpArrow: UpArrow, + UpArrowBar: UpArrowBar, + UpArrowDownArrow: UpArrowDownArrow, + UpDownArrow: UpDownArrow, + UpEquilibrium: UpEquilibrium, + UpTee: UpTee, + UpTeeArrow: UpTeeArrow, + Uparrow: Uparrow, + Updownarrow: Updownarrow, + UpperLeftArrow: UpperLeftArrow, + UpperRightArrow: UpperRightArrow, + Upsi: Upsi, + Upsilon: Upsilon, + Uring: Uring, + Uscr: Uscr, + Utilde: Utilde, + Uum: Uum, + Uuml: Uuml$1, + VDash: VDash, + Vbar: Vbar, + Vcy: Vcy, + Vdash: Vdash, + Vdashl: Vdashl, + Vee: Vee, + Verbar: Verbar, + Vert: Vert, + VerticalBar: VerticalBar, + VerticalLine: VerticalLine, + VerticalSeparator: VerticalSeparator, + VerticalTilde: VerticalTilde, + VeryThinSpace: VeryThinSpace, + Vfr: Vfr, + Vopf: Vopf, + Vscr: Vscr, + Vvdash: Vvdash, + Wcirc: Wcirc, + Wedge: Wedge, + Wfr: Wfr, + Wopf: Wopf, + Wscr: Wscr, + Xfr: Xfr, + Xi: Xi, + Xopf: Xopf, + Xscr: Xscr, + YAcy: YAcy, + YIcy: YIcy, + YUcy: YUcy, + Yacut: Yacut, + Yacute: Yacute$1, + Ycirc: Ycirc, + Ycy: Ycy, + Yfr: Yfr, + Yopf: Yopf, + Yscr: Yscr, + Yuml: Yuml, + ZHcy: ZHcy, + Zacute: Zacute, + Zcaron: Zcaron, + Zcy: Zcy, + Zdot: Zdot, + ZeroWidthSpace: ZeroWidthSpace, + Zeta: Zeta, + Zfr: Zfr, + Zopf: Zopf, + Zscr: Zscr, + aacut: aacut, + aacute: aacute$1, + abreve: abreve, + ac: ac, + acE: acE, + acd: acd, + acir: acir, + acirc: acirc$1, + acut: acut, + acute: acute$1, + acy: acy, + aeli: aeli, + aelig: aelig$1, + af: af, + afr: afr, + agrav: agrav, + agrave: agrave$1, + alefsym: alefsym, + aleph: aleph, + alpha: alpha, + amacr: amacr, + amalg: amalg, + am: am, + amp: amp$1, + and: and, + andand: andand, + andd: andd, + andslope: andslope, + andv: andv, + ang: ang, + ange: ange, + angle: angle, + angmsd: angmsd, + angmsdaa: angmsdaa, + angmsdab: angmsdab, + angmsdac: angmsdac, + angmsdad: angmsdad, + angmsdae: angmsdae, + angmsdaf: angmsdaf, + angmsdag: angmsdag, + angmsdah: angmsdah, + angrt: angrt, + angrtvb: angrtvb, + angrtvbd: angrtvbd, + angsph: angsph, + angst: angst, + angzarr: angzarr, + aogon: aogon, + aopf: aopf, + ap: ap, + apE: apE, + apacir: apacir, + ape: ape, + apid: apid, + apos: apos, + approx: approx, + approxeq: approxeq, + arin: arin, + aring: aring$1, + ascr: ascr, + ast: ast, + asymp: asymp, + asympeq: asympeq, + atild: atild, + atilde: atilde$1, + aum: aum, + auml: auml$1, + awconint: awconint, + awint: awint, + bNot: bNot, + backcong: backcong, + backepsilon: backepsilon, + backprime: backprime, + backsim: backsim, + backsimeq: backsimeq, + barvee: barvee, + barwed: barwed, + barwedge: barwedge, + bbrk: bbrk, + bbrktbrk: bbrktbrk, + bcong: bcong, + bcy: bcy, + bdquo: bdquo, + becaus: becaus, + because: because, + bemptyv: bemptyv, + bepsi: bepsi, + bernou: bernou, + beta: beta, + beth: beth, + between: between, + bfr: bfr, + bigcap: bigcap, + bigcirc: bigcirc, + bigcup: bigcup, + bigodot: bigodot, + bigoplus: bigoplus, + bigotimes: bigotimes, + bigsqcup: bigsqcup, + bigstar: bigstar, + bigtriangledown: bigtriangledown, + bigtriangleup: bigtriangleup, + biguplus: biguplus, + bigvee: bigvee, + bigwedge: bigwedge, + bkarow: bkarow, + blacklozenge: blacklozenge, + blacksquare: blacksquare, + blacktriangle: blacktriangle, + blacktriangledown: blacktriangledown, + blacktriangleleft: blacktriangleleft, + blacktriangleright: blacktriangleright, + blank: blank, + blk12: blk12, + blk14: blk14, + blk34: blk34, + block: block, + bne: bne, + bnequiv: bnequiv, + bnot: bnot, + bopf: bopf, + bot: bot, + bottom: bottom, + bowtie: bowtie, + boxDL: boxDL, + boxDR: boxDR, + boxDl: boxDl, + boxDr: boxDr, + boxH: boxH, + boxHD: boxHD, + boxHU: boxHU, + boxHd: boxHd, + boxHu: boxHu, + boxUL: boxUL, + boxUR: boxUR, + boxUl: boxUl, + boxUr: boxUr, + boxV: boxV, + boxVH: boxVH, + boxVL: boxVL, + boxVR: boxVR, + boxVh: boxVh, + boxVl: boxVl, + boxVr: boxVr, + boxbox: boxbox, + boxdL: boxdL, + boxdR: boxdR, + boxdl: boxdl, + boxdr: boxdr, + boxh: boxh, + boxhD: boxhD, + boxhU: boxhU, + boxhd: boxhd, + boxhu: boxhu, + boxminus: boxminus, + boxplus: boxplus, + boxtimes: boxtimes, + boxuL: boxuL, + boxuR: boxuR, + boxul: boxul, + boxur: boxur, + boxv: boxv, + boxvH: boxvH, + boxvL: boxvL, + boxvR: boxvR, + boxvh: boxvh, + boxvl: boxvl, + boxvr: boxvr, + bprime: bprime, + breve: breve, + brvba: brvba, + brvbar: brvbar$1, + bscr: bscr, + bsemi: bsemi, + bsim: bsim, + bsime: bsime, + bsol: bsol, + bsolb: bsolb, + bsolhsub: bsolhsub, + bull: bull, + bullet: bullet, + bump: bump, + bumpE: bumpE, + bumpe: bumpe, + bumpeq: bumpeq, + cacute: cacute, + cap: cap, + capand: capand, + capbrcup: capbrcup, + capcap: capcap, + capcup: capcup, + capdot: capdot, + caps: caps, + caret: caret, + caron: caron, + ccaps: ccaps, + ccaron: ccaron, + ccedi: ccedi, + ccedil: ccedil$1, + ccirc: ccirc, + ccups: ccups, + ccupssm: ccupssm, + cdot: cdot, + cedi: cedi, + cedil: cedil$1, + cemptyv: cemptyv, + cen: cen, + cent: cent$1, + centerdot: centerdot, + cfr: cfr, + chcy: chcy, + check: check$2, + checkmark: checkmark, + chi: chi, + cir: cir, + cirE: cirE, + circ: circ, + circeq: circeq, + circlearrowleft: circlearrowleft, + circlearrowright: circlearrowright, + circledR: circledR, + circledS: circledS, + circledast: circledast, + circledcirc: circledcirc, + circleddash: circleddash, + cire: cire, + cirfnint: cirfnint, + cirmid: cirmid, + cirscir: cirscir, + clubs: clubs, + clubsuit: clubsuit, + colon: colon, + colone: colone, + coloneq: coloneq, + comma: comma, + commat: commat, + comp: comp, + compfn: compfn, + complement: complement, + complexes: complexes, + cong: cong, + congdot: congdot, + conint: conint, + copf: copf, + coprod: coprod, + cop: cop, + copy: copy$2, + copysr: copysr, + crarr: crarr, + cross: cross, + cscr: cscr, + csub: csub, + csube: csube, + csup: csup, + csupe: csupe, + ctdot: ctdot, + cudarrl: cudarrl, + cudarrr: cudarrr, + cuepr: cuepr, + cuesc: cuesc, + cularr: cularr, + cularrp: cularrp, + cup: cup, + cupbrcap: cupbrcap, + cupcap: cupcap, + cupcup: cupcup, + cupdot: cupdot, + cupor: cupor, + cups: cups, + curarr: curarr, + curarrm: curarrm, + curlyeqprec: curlyeqprec, + curlyeqsucc: curlyeqsucc, + curlyvee: curlyvee, + curlywedge: curlywedge, + curre: curre, + curren: curren$1, + curvearrowleft: curvearrowleft, + curvearrowright: curvearrowright, + cuvee: cuvee, + cuwed: cuwed, + cwconint: cwconint, + cwint: cwint, + cylcty: cylcty, + dArr: dArr, + dHar: dHar, + dagger: dagger, + daleth: daleth, + darr: darr, + dash: dash, + dashv: dashv, + dbkarow: dbkarow, + dblac: dblac, + dcaron: dcaron, + dcy: dcy, + dd: dd, + ddagger: ddagger, + ddarr: ddarr, + ddotseq: ddotseq, + de: de, + deg: deg$1, + delta: delta, + demptyv: demptyv, + dfisht: dfisht, + dfr: dfr, + dharl: dharl, + dharr: dharr, + diam: diam, + diamond: diamond, + diamondsuit: diamondsuit, + diams: diams, + die: die, + digamma: digamma, + disin: disin, + div: div, + divid: divid, + divide: divide$1, + divideontimes: divideontimes, + divonx: divonx, + djcy: djcy, + dlcorn: dlcorn, + dlcrop: dlcrop, + dollar: dollar, + dopf: dopf, + dot: dot, + doteq: doteq, + doteqdot: doteqdot, + dotminus: dotminus, + dotplus: dotplus, + dotsquare: dotsquare, + doublebarwedge: doublebarwedge, + downarrow: downarrow, + downdownarrows: downdownarrows, + downharpoonleft: downharpoonleft, + downharpoonright: downharpoonright, + drbkarow: drbkarow, + drcorn: drcorn, + drcrop: drcrop, + dscr: dscr, + dscy: dscy, + dsol: dsol, + dstrok: dstrok, + dtdot: dtdot, + dtri: dtri, + dtrif: dtrif, + duarr: duarr, + duhar: duhar, + dwangle: dwangle, + dzcy: dzcy, + dzigrarr: dzigrarr, + eDDot: eDDot, + eDot: eDot, + eacut: eacut, + eacute: eacute$1, + easter: easter, + ecaron: ecaron, + ecir: ecir, + ecirc: ecirc$1, + ecolon: ecolon, + ecy: ecy, + edot: edot, + ee: ee, + efDot: efDot, + efr: efr, + eg: eg, + egrav: egrav, + egrave: egrave$1, + egs: egs, + egsdot: egsdot, + el: el, + elinters: elinters, + ell: ell, + els: els, + elsdot: elsdot, + emacr: emacr, + empty: empty, + emptyset: emptyset, + emptyv: emptyv, + emsp13: emsp13, + emsp14: emsp14, + emsp: emsp, + eng: eng, + ensp: ensp, + eogon: eogon, + eopf: eopf, + epar: epar, + eparsl: eparsl, + eplus: eplus, + epsi: epsi, + epsilon: epsilon, + epsiv: epsiv, + eqcirc: eqcirc, + eqcolon: eqcolon, + eqsim: eqsim, + eqslantgtr: eqslantgtr, + eqslantless: eqslantless, + equals: equals, + equest: equest, + equiv: equiv, + equivDD: equivDD, + eqvparsl: eqvparsl, + erDot: erDot, + erarr: erarr, + escr: escr, + esdot: esdot, + esim: esim, + eta: eta, + et: et, + eth: eth$1, + eum: eum, + euml: euml$1, + euro: euro, + excl: excl, + exist: exist, + expectation: expectation, + exponentiale: exponentiale, + fallingdotseq: fallingdotseq, + fcy: fcy, + female: female, + ffilig: ffilig, + fflig: fflig, + ffllig: ffllig, + ffr: ffr, + filig: filig, + fjlig: fjlig, + flat: flat, + fllig: fllig, + fltns: fltns, + fnof: fnof, + fopf: fopf, + forall: forall, + fork: fork, + forkv: forkv, + fpartint: fpartint, + frac1: frac1, + frac12: frac12$1, + frac13: frac13, + frac14: frac14$1, + frac15: frac15, + frac16: frac16, + frac18: frac18, + frac23: frac23, + frac25: frac25, + frac3: frac3, + frac34: frac34$1, + frac35: frac35, + frac38: frac38, + frac45: frac45, + frac56: frac56, + frac58: frac58, + frac78: frac78, + frasl: frasl, + frown: frown, + fscr: fscr, + gE: gE, + gEl: gEl, + gacute: gacute, + gamma: gamma, + gammad: gammad, + gap: gap, + gbreve: gbreve, + gcirc: gcirc, + gcy: gcy, + gdot: gdot, + ge: ge, + gel: gel, + geq: geq, + geqq: geqq, + geqslant: geqslant, + ges: ges, + gescc: gescc, + gesdot: gesdot, + gesdoto: gesdoto, + gesdotol: gesdotol, + gesl: gesl, + gesles: gesles, + gfr: gfr, + gg: gg, + ggg: ggg, + gimel: gimel, + gjcy: gjcy, + gl: gl, + glE: glE, + gla: gla, + glj: glj, + gnE: gnE, + gnap: gnap, + gnapprox: gnapprox, + gne: gne, + gneq: gneq, + gneqq: gneqq, + gnsim: gnsim, + gopf: gopf, + grave: grave, + gscr: gscr, + gsim: gsim, + gsime: gsime, + gsiml: gsiml, + g: g, + gt: gt$1, + gtcc: gtcc, + gtcir: gtcir, + gtdot: gtdot, + gtlPar: gtlPar, + gtquest: gtquest, + gtrapprox: gtrapprox, + gtrarr: gtrarr, + gtrdot: gtrdot, + gtreqless: gtreqless, + gtreqqless: gtreqqless, + gtrless: gtrless, + gtrsim: gtrsim, + gvertneqq: gvertneqq, + gvnE: gvnE, + hArr: hArr, + hairsp: hairsp, + half: half, + hamilt: hamilt, + hardcy: hardcy, + harr: harr, + harrcir: harrcir, + harrw: harrw, + hbar: hbar, + hcirc: hcirc, + hearts: hearts, + heartsuit: heartsuit, + hellip: hellip, + hercon: hercon, + hfr: hfr, + hksearow: hksearow, + hkswarow: hkswarow, + hoarr: hoarr, + homtht: homtht, + hookleftarrow: hookleftarrow, + hookrightarrow: hookrightarrow, + hopf: hopf, + horbar: horbar, + hscr: hscr, + hslash: hslash, + hstrok: hstrok, + hybull: hybull, + hyphen: hyphen, + iacut: iacut, + iacute: iacute$1, + ic: ic, + icir: icir, + icirc: icirc$1, + icy: icy, + iecy: iecy, + iexc: iexc, + iexcl: iexcl$1, + iff: iff, + ifr: ifr, + igrav: igrav, + igrave: igrave$1, + ii: ii, + iiiint: iiiint, + iiint: iiint, + iinfin: iinfin, + iiota: iiota, + ijlig: ijlig, + imacr: imacr, + image: image, + imagline: imagline, + imagpart: imagpart, + imath: imath, + imof: imof, + imped: imped, + "in": "∈", + incare: incare, + infin: infin, + infintie: infintie, + inodot: inodot, + int: int, + intcal: intcal, + integers: integers, + intercal: intercal, + intlarhk: intlarhk, + intprod: intprod, + iocy: iocy, + iogon: iogon, + iopf: iopf, + iota: iota, + iprod: iprod, + iques: iques, + iquest: iquest$1, + iscr: iscr, + isin: isin, + isinE: isinE, + isindot: isindot, + isins: isins, + isinsv: isinsv, + isinv: isinv, + it: it, + itilde: itilde, + iukcy: iukcy, + ium: ium, + iuml: iuml$1, + jcirc: jcirc, + jcy: jcy, + jfr: jfr, + jmath: jmath, + jopf: jopf, + jscr: jscr, + jsercy: jsercy, + jukcy: jukcy, + kappa: kappa, + kappav: kappav, + kcedil: kcedil, + kcy: kcy, + kfr: kfr, + kgreen: kgreen, + khcy: khcy, + kjcy: kjcy, + kopf: kopf, + kscr: kscr, + lAarr: lAarr, + lArr: lArr, + lAtail: lAtail, + lBarr: lBarr, + lE: lE, + lEg: lEg, + lHar: lHar, + lacute: lacute, + laemptyv: laemptyv, + lagran: lagran, + lambda: lambda, + lang: lang, + langd: langd, + langle: langle, + lap: lap, + laqu: laqu, + laquo: laquo$1, + larr: larr, + larrb: larrb, + larrbfs: larrbfs, + larrfs: larrfs, + larrhk: larrhk, + larrlp: larrlp, + larrpl: larrpl, + larrsim: larrsim, + larrtl: larrtl, + lat: lat, + latail: latail, + late: late, + lates: lates, + lbarr: lbarr, + lbbrk: lbbrk, + lbrace: lbrace, + lbrack: lbrack, + lbrke: lbrke, + lbrksld: lbrksld, + lbrkslu: lbrkslu, + lcaron: lcaron, + lcedil: lcedil, + lceil: lceil, + lcub: lcub, + lcy: lcy, + ldca: ldca, + ldquo: ldquo, + ldquor: ldquor, + ldrdhar: ldrdhar, + ldrushar: ldrushar, + ldsh: ldsh, + le: le, + leftarrow: leftarrow, + leftarrowtail: leftarrowtail, + leftharpoondown: leftharpoondown, + leftharpoonup: leftharpoonup, + leftleftarrows: leftleftarrows, + leftrightarrow: leftrightarrow, + leftrightarrows: leftrightarrows, + leftrightharpoons: leftrightharpoons, + leftrightsquigarrow: leftrightsquigarrow, + leftthreetimes: leftthreetimes, + leg: leg, + leq: leq, + leqq: leqq, + leqslant: leqslant, + les: les, + lescc: lescc, + lesdot: lesdot, + lesdoto: lesdoto, + lesdotor: lesdotor, + lesg: lesg, + lesges: lesges, + lessapprox: lessapprox, + lessdot: lessdot, + lesseqgtr: lesseqgtr, + lesseqqgtr: lesseqqgtr, + lessgtr: lessgtr, + lesssim: lesssim, + lfisht: lfisht, + lfloor: lfloor, + lfr: lfr, + lg: lg, + lgE: lgE, + lhard: lhard, + lharu: lharu, + lharul: lharul, + lhblk: lhblk, + ljcy: ljcy, + ll: ll, + llarr: llarr, + llcorner: llcorner, + llhard: llhard, + lltri: lltri, + lmidot: lmidot, + lmoust: lmoust, + lmoustache: lmoustache, + lnE: lnE, + lnap: lnap, + lnapprox: lnapprox, + lne: lne, + lneq: lneq, + lneqq: lneqq, + lnsim: lnsim, + loang: loang, + loarr: loarr, + lobrk: lobrk, + longleftarrow: longleftarrow, + longleftrightarrow: longleftrightarrow, + longmapsto: longmapsto, + longrightarrow: longrightarrow, + looparrowleft: looparrowleft, + looparrowright: looparrowright, + lopar: lopar, + lopf: lopf, + loplus: loplus, + lotimes: lotimes, + lowast: lowast, + lowbar: lowbar, + loz: loz, + lozenge: lozenge, + lozf: lozf, + lpar: lpar, + lparlt: lparlt, + lrarr: lrarr, + lrcorner: lrcorner, + lrhar: lrhar, + lrhard: lrhard, + lrm: lrm, + lrtri: lrtri, + lsaquo: lsaquo, + lscr: lscr, + lsh: lsh, + lsim: lsim, + lsime: lsime, + lsimg: lsimg, + lsqb: lsqb, + lsquo: lsquo, + lsquor: lsquor, + lstrok: lstrok, + l: l, + lt: lt$1, + ltcc: ltcc, + ltcir: ltcir, + ltdot: ltdot, + lthree: lthree, + ltimes: ltimes, + ltlarr: ltlarr, + ltquest: ltquest, + ltrPar: ltrPar, + ltri: ltri, + ltrie: ltrie, + ltrif: ltrif, + lurdshar: lurdshar, + luruhar: luruhar, + lvertneqq: lvertneqq, + lvnE: lvnE, + mDDot: mDDot, + mac: mac, + macr: macr$1, + male: male, + malt: malt, + maltese: maltese, + map: map$2, + mapsto: mapsto, + mapstodown: mapstodown, + mapstoleft: mapstoleft, + mapstoup: mapstoup, + marker: marker, + mcomma: mcomma, + mcy: mcy, + mdash: mdash, + measuredangle: measuredangle, + mfr: mfr, + mho: mho, + micr: micr, + micro: micro$1, + mid: mid, + midast: midast, + midcir: midcir, + middo: middo, + middot: middot$1, + minus: minus, + minusb: minusb, + minusd: minusd, + minusdu: minusdu, + mlcp: mlcp, + mldr: mldr, + mnplus: mnplus, + models: models$1, + mopf: mopf, + mp: mp, + mscr: mscr, + mstpos: mstpos, + mu: mu, + multimap: multimap, + mumap: mumap, + nGg: nGg, + nGt: nGt, + nGtv: nGtv, + nLeftarrow: nLeftarrow, + nLeftrightarrow: nLeftrightarrow, + nLl: nLl, + nLt: nLt, + nLtv: nLtv, + nRightarrow: nRightarrow, + nVDash: nVDash, + nVdash: nVdash, + nabla: nabla, + nacute: nacute, + nang: nang, + nap: nap, + napE: napE, + napid: napid, + napos: napos, + napprox: napprox, + natur: natur, + natural: natural, + naturals: naturals, + nbs: nbs, + nbsp: nbsp$1, + nbump: nbump, + nbumpe: nbumpe, + ncap: ncap, + ncaron: ncaron, + ncedil: ncedil, + ncong: ncong, + ncongdot: ncongdot, + ncup: ncup, + ncy: ncy, + ndash: ndash, + ne: ne, + neArr: neArr, + nearhk: nearhk, + nearr: nearr, + nearrow: nearrow, + nedot: nedot, + nequiv: nequiv, + nesear: nesear, + nesim: nesim, + nexist: nexist, + nexists: nexists, + nfr: nfr, + ngE: ngE, + nge: nge, + ngeq: ngeq, + ngeqq: ngeqq, + ngeqslant: ngeqslant, + nges: nges, + ngsim: ngsim, + ngt: ngt, + ngtr: ngtr, + nhArr: nhArr, + nharr: nharr, + nhpar: nhpar, + ni: ni, + nis: nis, + nisd: nisd, + niv: niv, + njcy: njcy, + nlArr: nlArr, + nlE: nlE, + nlarr: nlarr, + nldr: nldr, + nle: nle, + nleftarrow: nleftarrow, + nleftrightarrow: nleftrightarrow, + nleq: nleq, + nleqq: nleqq, + nleqslant: nleqslant, + nles: nles, + nless: nless, + nlsim: nlsim, + nlt: nlt, + nltri: nltri, + nltrie: nltrie, + nmid: nmid, + nopf: nopf, + no: no, + not: not$1, + notin: notin, + notinE: notinE, + notindot: notindot, + notinva: notinva, + notinvb: notinvb, + notinvc: notinvc, + notni: notni, + notniva: notniva, + notnivb: notnivb, + notnivc: notnivc, + npar: npar, + nparallel: nparallel, + nparsl: nparsl, + npart: npart, + npolint: npolint, + npr: npr, + nprcue: nprcue, + npre: npre, + nprec: nprec, + npreceq: npreceq, + nrArr: nrArr, + nrarr: nrarr, + nrarrc: nrarrc, + nrarrw: nrarrw, + nrightarrow: nrightarrow, + nrtri: nrtri, + nrtrie: nrtrie, + nsc: nsc, + nsccue: nsccue, + nsce: nsce, + nscr: nscr, + nshortmid: nshortmid, + nshortparallel: nshortparallel, + nsim: nsim, + nsime: nsime, + nsimeq: nsimeq, + nsmid: nsmid, + nspar: nspar, + nsqsube: nsqsube, + nsqsupe: nsqsupe, + nsub: nsub, + nsubE: nsubE, + nsube: nsube, + nsubset: nsubset, + nsubseteq: nsubseteq, + nsubseteqq: nsubseteqq, + nsucc: nsucc, + nsucceq: nsucceq, + nsup: nsup, + nsupE: nsupE, + nsupe: nsupe, + nsupset: nsupset, + nsupseteq: nsupseteq, + nsupseteqq: nsupseteqq, + ntgl: ntgl, + ntild: ntild, + ntilde: ntilde$1, + ntlg: ntlg, + ntriangleleft: ntriangleleft, + ntrianglelefteq: ntrianglelefteq, + ntriangleright: ntriangleright, + ntrianglerighteq: ntrianglerighteq, + nu: nu, + num: num, + numero: numero, + numsp: numsp, + nvDash: nvDash, + nvHarr: nvHarr, + nvap: nvap, + nvdash: nvdash, + nvge: nvge, + nvgt: nvgt, + nvinfin: nvinfin, + nvlArr: nvlArr, + nvle: nvle, + nvlt: nvlt, + nvltrie: nvltrie, + nvrArr: nvrArr, + nvrtrie: nvrtrie, + nvsim: nvsim, + nwArr: nwArr, + nwarhk: nwarhk, + nwarr: nwarr, + nwarrow: nwarrow, + nwnear: nwnear, + oS: oS, + oacut: oacut, + oacute: oacute$1, + oast: oast, + ocir: ocir, + ocirc: ocirc$1, + ocy: ocy, + odash: odash, + odblac: odblac, + odiv: odiv, + odot: odot, + odsold: odsold, + oelig: oelig, + ofcir: ofcir, + ofr: ofr, + ogon: ogon, + ograv: ograv, + ograve: ograve$1, + ogt: ogt, + ohbar: ohbar, + ohm: ohm, + oint: oint, + olarr: olarr, + olcir: olcir, + olcross: olcross, + oline: oline, + olt: olt, + omacr: omacr, + omega: omega, + omicron: omicron, + omid: omid, + ominus: ominus, + oopf: oopf, + opar: opar, + operp: operp, + oplus: oplus, + or: or, + orarr: orarr, + ord: ord, + order: order$1, + orderof: orderof, + ordf: ordf$1, + ordm: ordm$1, + origof: origof, + oror: oror, + orslope: orslope, + orv: orv, + oscr: oscr, + oslas: oslas, + oslash: oslash$1, + osol: osol, + otild: otild, + otilde: otilde$1, + otimes: otimes, + otimesas: otimesas, + oum: oum, + ouml: ouml$1, + ovbar: ovbar, + par: par, + para: para$1, + parallel: parallel, + parsim: parsim, + parsl: parsl, + part: part, + pcy: pcy, + percnt: percnt, + period: period, + permil: permil, + perp: perp, + pertenk: pertenk, + pfr: pfr, + phi: phi, + phiv: phiv, + phmmat: phmmat, + phone: phone, + pi: pi, + pitchfork: pitchfork, + piv: piv, + planck: planck, + planckh: planckh, + plankv: plankv, + plus: plus, + plusacir: plusacir, + plusb: plusb, + pluscir: pluscir, + plusdo: plusdo, + plusdu: plusdu, + pluse: pluse, + plusm: plusm, + plusmn: plusmn$1, + plussim: plussim, + plustwo: plustwo, + pm: pm, + pointint: pointint, + popf: popf, + poun: poun, + pound: pound$1, + pr: pr, + prE: prE, + prap: prap, + prcue: prcue, + pre: pre, + prec: prec, + precapprox: precapprox, + preccurlyeq: preccurlyeq, + preceq: preceq, + precnapprox: precnapprox, + precneqq: precneqq, + precnsim: precnsim, + precsim: precsim, + prime: prime, + primes: primes, + prnE: prnE, + prnap: prnap, + prnsim: prnsim, + prod: prod, + profalar: profalar, + profline: profline, + profsurf: profsurf, + prop: prop, + propto: propto, + prsim: prsim, + prurel: prurel, + pscr: pscr, + psi: psi, + puncsp: puncsp, + qfr: qfr, + qint: qint, + qopf: qopf, + qprime: qprime, + qscr: qscr, + quaternions: quaternions, + quatint: quatint, + quest: quest, + questeq: questeq, + quo: quo, + quot: quot$1, + rAarr: rAarr, + rArr: rArr, + rAtail: rAtail, + rBarr: rBarr, + rHar: rHar, + race: race, + racute: racute, + radic: radic, + raemptyv: raemptyv, + rang: rang, + rangd: rangd, + range: range$1, + rangle: rangle, + raqu: raqu, + raquo: raquo$1, + rarr: rarr, + rarrap: rarrap, + rarrb: rarrb, + rarrbfs: rarrbfs, + rarrc: rarrc, + rarrfs: rarrfs, + rarrhk: rarrhk, + rarrlp: rarrlp, + rarrpl: rarrpl, + rarrsim: rarrsim, + rarrtl: rarrtl, + rarrw: rarrw, + ratail: ratail, + ratio: ratio, + rationals: rationals, + rbarr: rbarr, + rbbrk: rbbrk, + rbrace: rbrace, + rbrack: rbrack, + rbrke: rbrke, + rbrksld: rbrksld, + rbrkslu: rbrkslu, + rcaron: rcaron, + rcedil: rcedil, + rceil: rceil, + rcub: rcub, + rcy: rcy, + rdca: rdca, + rdldhar: rdldhar, + rdquo: rdquo, + rdquor: rdquor, + rdsh: rdsh, + real: real, + realine: realine, + realpart: realpart, + reals: reals, + rect: rect, + re: re, + reg: reg$1, + rfisht: rfisht, + rfloor: rfloor, + rfr: rfr, + rhard: rhard, + rharu: rharu, + rharul: rharul, + rho: rho, + rhov: rhov, + rightarrow: rightarrow, + rightarrowtail: rightarrowtail, + rightharpoondown: rightharpoondown, + rightharpoonup: rightharpoonup, + rightleftarrows: rightleftarrows, + rightleftharpoons: rightleftharpoons, + rightrightarrows: rightrightarrows, + rightsquigarrow: rightsquigarrow, + rightthreetimes: rightthreetimes, + ring: ring, + risingdotseq: risingdotseq, + rlarr: rlarr, + rlhar: rlhar, + rlm: rlm, + rmoust: rmoust, + rmoustache: rmoustache, + rnmid: rnmid, + roang: roang, + roarr: roarr, + robrk: robrk, + ropar: ropar, + ropf: ropf, + roplus: roplus, + rotimes: rotimes, + rpar: rpar, + rpargt: rpargt, + rppolint: rppolint, + rrarr: rrarr, + rsaquo: rsaquo, + rscr: rscr, + rsh: rsh, + rsqb: rsqb, + rsquo: rsquo, + rsquor: rsquor, + rthree: rthree, + rtimes: rtimes, + rtri: rtri, + rtrie: rtrie, + rtrif: rtrif, + rtriltri: rtriltri, + ruluhar: ruluhar, + rx: rx, + sacute: sacute, + sbquo: sbquo, + sc: sc, + scE: scE, + scap: scap, + scaron: scaron, + sccue: sccue, + sce: sce, + scedil: scedil, + scirc: scirc, + scnE: scnE, + scnap: scnap, + scnsim: scnsim, + scpolint: scpolint, + scsim: scsim, + scy: scy, + sdot: sdot, + sdotb: sdotb, + sdote: sdote, + seArr: seArr, + searhk: searhk, + searr: searr, + searrow: searrow, + sec: sec, + sect: sect$1, + semi: semi, + seswar: seswar, + setminus: setminus, + setmn: setmn, + sext: sext, + sfr: sfr, + sfrown: sfrown, + sharp: sharp, + shchcy: shchcy, + shcy: shcy, + shortmid: shortmid, + shortparallel: shortparallel, + sh: sh, + shy: shy$1, + sigma: sigma, + sigmaf: sigmaf, + sigmav: sigmav, + sim: sim, + simdot: simdot, + sime: sime, + simeq: simeq, + simg: simg, + simgE: simgE, + siml: siml, + simlE: simlE, + simne: simne, + simplus: simplus, + simrarr: simrarr, + slarr: slarr, + smallsetminus: smallsetminus, + smashp: smashp, + smeparsl: smeparsl, + smid: smid, + smile: smile, + smt: smt, + smte: smte, + smtes: smtes, + softcy: softcy, + sol: sol, + solb: solb, + solbar: solbar, + sopf: sopf, + spades: spades, + spadesuit: spadesuit, + spar: spar, + sqcap: sqcap, + sqcaps: sqcaps, + sqcup: sqcup, + sqcups: sqcups, + sqsub: sqsub, + sqsube: sqsube, + sqsubset: sqsubset, + sqsubseteq: sqsubseteq, + sqsup: sqsup, + sqsupe: sqsupe, + sqsupset: sqsupset, + sqsupseteq: sqsupseteq, + squ: squ, + square: square, + squarf: squarf, + squf: squf, + srarr: srarr, + sscr: sscr, + ssetmn: ssetmn, + ssmile: ssmile, + sstarf: sstarf, + star: star$1, + starf: starf, + straightepsilon: straightepsilon, + straightphi: straightphi, + strns: strns, + sub: sub, + subE: subE, + subdot: subdot, + sube: sube, + subedot: subedot, + submult: submult, + subnE: subnE, + subne: subne, + subplus: subplus, + subrarr: subrarr, + subset: subset, + subseteq: subseteq, + subseteqq: subseteqq, + subsetneq: subsetneq, + subsetneqq: subsetneqq, + subsim: subsim, + subsub: subsub, + subsup: subsup, + succ: succ, + succapprox: succapprox, + succcurlyeq: succcurlyeq, + succeq: succeq, + succnapprox: succnapprox, + succneqq: succneqq, + succnsim: succnsim, + succsim: succsim, + sum: sum, + sung: sung, + sup: sup, + sup1: sup1$1, + sup2: sup2$1, + sup3: sup3$1, + supE: supE, + supdot: supdot, + supdsub: supdsub, + supe: supe, + supedot: supedot, + suphsol: suphsol, + suphsub: suphsub, + suplarr: suplarr, + supmult: supmult, + supnE: supnE, + supne: supne, + supplus: supplus, + supset: supset, + supseteq: supseteq, + supseteqq: supseteqq, + supsetneq: supsetneq, + supsetneqq: supsetneqq, + supsim: supsim, + supsub: supsub, + supsup: supsup, + swArr: swArr, + swarhk: swarhk, + swarr: swarr, + swarrow: swarrow, + swnwar: swnwar, + szli: szli, + szlig: szlig$1, + target: target, + tau: tau, + tbrk: tbrk, + tcaron: tcaron, + tcedil: tcedil, + tcy: tcy, + tdot: tdot, + telrec: telrec, + tfr: tfr, + there4: there4, + therefore: therefore, + theta: theta, + thetasym: thetasym, + thetav: thetav, + thickapprox: thickapprox, + thicksim: thicksim, + thinsp: thinsp, + thkap: thkap, + thksim: thksim, + thor: thor, + thorn: thorn$1, + tilde: tilde, + time: time, + times: times$1, + timesb: timesb, + timesbar: timesbar, + timesd: timesd, + tint: tint, + toea: toea, + top: top, + topbot: topbot, + topcir: topcir, + topf: topf, + topfork: topfork, + tosa: tosa, + tprime: tprime, + trade: trade, + triangle: triangle, + triangledown: triangledown, + triangleleft: triangleleft, + trianglelefteq: trianglelefteq, + triangleq: triangleq, + triangleright: triangleright, + trianglerighteq: trianglerighteq, + tridot: tridot, + trie: trie, + triminus: triminus, + triplus: triplus, + trisb: trisb, + tritime: tritime, + trpezium: trpezium, + tscr: tscr, + tscy: tscy, + tshcy: tshcy, + tstrok: tstrok, + twixt: twixt, + twoheadleftarrow: twoheadleftarrow, + twoheadrightarrow: twoheadrightarrow, + uArr: uArr, + uHar: uHar, + uacut: uacut, + uacute: uacute$1, + uarr: uarr, + ubrcy: ubrcy, + ubreve: ubreve, + ucir: ucir, + ucirc: ucirc$1, + ucy: ucy, + udarr: udarr, + udblac: udblac, + udhar: udhar, + ufisht: ufisht, + ufr: ufr, + ugrav: ugrav, + ugrave: ugrave$1, + uharl: uharl, + uharr: uharr, + uhblk: uhblk, + ulcorn: ulcorn, + ulcorner: ulcorner, + ulcrop: ulcrop, + ultri: ultri, + umacr: umacr, + um: um, + uml: uml$1, + uogon: uogon, + uopf: uopf, + uparrow: uparrow, + updownarrow: updownarrow, + upharpoonleft: upharpoonleft, + upharpoonright: upharpoonright, + uplus: uplus, + upsi: upsi, + upsih: upsih, + upsilon: upsilon, + upuparrows: upuparrows, + urcorn: urcorn, + urcorner: urcorner, + urcrop: urcrop, + uring: uring, + urtri: urtri, + uscr: uscr, + utdot: utdot, + utilde: utilde, + utri: utri, + utrif: utrif, + uuarr: uuarr, + uum: uum, + uuml: uuml$1, + uwangle: uwangle, + vArr: vArr, + vBar: vBar, + vBarv: vBarv, + vDash: vDash, + vangrt: vangrt, + varepsilon: varepsilon, + varkappa: varkappa, + varnothing: varnothing, + varphi: varphi, + varpi: varpi, + varpropto: varpropto, + varr: varr, + varrho: varrho, + varsigma: varsigma, + varsubsetneq: varsubsetneq, + varsubsetneqq: varsubsetneqq, + varsupsetneq: varsupsetneq, + varsupsetneqq: varsupsetneqq, + vartheta: vartheta, + vartriangleleft: vartriangleleft, + vartriangleright: vartriangleright, + vcy: vcy, + vdash: vdash, + vee: vee, + veebar: veebar, + veeeq: veeeq, + vellip: vellip, + verbar: verbar, + vert: vert, + vfr: vfr, + vltri: vltri, + vnsub: vnsub, + vnsup: vnsup, + vopf: vopf, + vprop: vprop, + vrtri: vrtri, + vscr: vscr, + vsubnE: vsubnE, + vsubne: vsubne, + vsupnE: vsupnE, + vsupne: vsupne, + vzigzag: vzigzag, + wcirc: wcirc, + wedbar: wedbar, + wedge: wedge, + wedgeq: wedgeq, + weierp: weierp, + wfr: wfr, + wopf: wopf, + wp: wp, + wr: wr, + wreath: wreath, + wscr: wscr, + xcap: xcap, + xcirc: xcirc, + xcup: xcup, + xdtri: xdtri, + xfr: xfr, + xhArr: xhArr, + xharr: xharr, + xi: xi, + xlArr: xlArr, + xlarr: xlarr, + xmap: xmap, + xnis: xnis, + xodot: xodot, + xopf: xopf, + xoplus: xoplus, + xotime: xotime, + xrArr: xrArr, + xrarr: xrarr, + xscr: xscr, + xsqcup: xsqcup, + xuplus: xuplus, + xutri: xutri, + xvee: xvee, + xwedge: xwedge, + yacut: yacut, + yacute: yacute$1, + yacy: yacy, + ycirc: ycirc, + ycy: ycy, + ye: ye, + yen: yen$1, + yfr: yfr, + yicy: yicy, + yopf: yopf, + yscr: yscr, + yucy: yucy, + yum: yum, + yuml: yuml$1, + zacute: zacute, + zcaron: zcaron, + zcy: zcy, + zdot: zdot, + zeetrf: zeetrf, + zeta: zeta, + zfr: zfr, + zhcy: zhcy, + zigrarr: zigrarr, + zopf: zopf, + zscr: zscr, + zwj: zwj, + zwnj: zwnj +}; + +var characterEntities = /*#__PURE__*/Object.freeze({ + __proto__: null, + AEli: AEli, + AElig: AElig$1, + AM: AM, + AMP: AMP$1, + Aacut: Aacut, + Aacute: Aacute$1, + Abreve: Abreve, + Acir: Acir, + Acirc: Acirc$1, + Acy: Acy, + Afr: Afr, + Agrav: Agrav, + Agrave: Agrave$1, + Alpha: Alpha, + Amacr: Amacr, + And: And, + Aogon: Aogon, + Aopf: Aopf, + ApplyFunction: ApplyFunction, + Arin: Arin, + Aring: Aring$1, + Ascr: Ascr, + Assign: Assign, + Atild: Atild, + Atilde: Atilde$1, + Aum: Aum, + Auml: Auml$1, + Backslash: Backslash, + Barv: Barv, + Barwed: Barwed, + Bcy: Bcy, + Because: Because, + Bernoullis: Bernoullis, + Beta: Beta, + Bfr: Bfr, + Bopf: Bopf, + Breve: Breve, + Bscr: Bscr, + Bumpeq: Bumpeq, + CHcy: CHcy, + COP: COP, + COPY: COPY$1, + Cacute: Cacute, + Cap: Cap, + CapitalDifferentialD: CapitalDifferentialD, + Cayleys: Cayleys, + Ccaron: Ccaron, + Ccedi: Ccedi, + Ccedil: Ccedil$1, + Ccirc: Ccirc, + Cconint: Cconint, + Cdot: Cdot, + Cedilla: Cedilla, + CenterDot: CenterDot, + Cfr: Cfr, + Chi: Chi, + CircleDot: CircleDot, + CircleMinus: CircleMinus, + CirclePlus: CirclePlus, + CircleTimes: CircleTimes, + ClockwiseContourIntegral: ClockwiseContourIntegral, + CloseCurlyDoubleQuote: CloseCurlyDoubleQuote, + CloseCurlyQuote: CloseCurlyQuote, + Colon: Colon, + Colone: Colone, + Congruent: Congruent, + Conint: Conint, + ContourIntegral: ContourIntegral, + Copf: Copf, + Coproduct: Coproduct, + CounterClockwiseContourIntegral: CounterClockwiseContourIntegral, + Cross: Cross, + Cscr: Cscr, + Cup: Cup, + CupCap: CupCap, + DD: DD, + DDotrahd: DDotrahd, + DJcy: DJcy, + DScy: DScy, + DZcy: DZcy, + Dagger: Dagger, + Darr: Darr, + Dashv: Dashv, + Dcaron: Dcaron, + Dcy: Dcy, + Del: Del, + Delta: Delta, + Dfr: Dfr, + DiacriticalAcute: DiacriticalAcute, + DiacriticalDot: DiacriticalDot, + DiacriticalDoubleAcute: DiacriticalDoubleAcute, + DiacriticalGrave: DiacriticalGrave, + DiacriticalTilde: DiacriticalTilde, + Diamond: Diamond, + DifferentialD: DifferentialD, + Dopf: Dopf, + Dot: Dot, + DotDot: DotDot, + DotEqual: DotEqual, + DoubleContourIntegral: DoubleContourIntegral, + DoubleDot: DoubleDot, + DoubleDownArrow: DoubleDownArrow, + DoubleLeftArrow: DoubleLeftArrow, + DoubleLeftRightArrow: DoubleLeftRightArrow, + DoubleLeftTee: DoubleLeftTee, + DoubleLongLeftArrow: DoubleLongLeftArrow, + DoubleLongLeftRightArrow: DoubleLongLeftRightArrow, + DoubleLongRightArrow: DoubleLongRightArrow, + DoubleRightArrow: DoubleRightArrow, + DoubleRightTee: DoubleRightTee, + DoubleUpArrow: DoubleUpArrow, + DoubleUpDownArrow: DoubleUpDownArrow, + DoubleVerticalBar: DoubleVerticalBar, + DownArrow: DownArrow, + DownArrowBar: DownArrowBar, + DownArrowUpArrow: DownArrowUpArrow, + DownBreve: DownBreve, + DownLeftRightVector: DownLeftRightVector, + DownLeftTeeVector: DownLeftTeeVector, + DownLeftVector: DownLeftVector, + DownLeftVectorBar: DownLeftVectorBar, + DownRightTeeVector: DownRightTeeVector, + DownRightVector: DownRightVector, + DownRightVectorBar: DownRightVectorBar, + DownTee: DownTee, + DownTeeArrow: DownTeeArrow, + Downarrow: Downarrow, + Dscr: Dscr, + Dstrok: Dstrok, + ENG: ENG, + ET: ET, + ETH: ETH$1, + Eacut: Eacut, + Eacute: Eacute$1, + Ecaron: Ecaron, + Ecir: Ecir, + Ecirc: Ecirc$1, + Ecy: Ecy, + Edot: Edot, + Efr: Efr, + Egrav: Egrav, + Egrave: Egrave$1, + Element: Element, + Emacr: Emacr, + EmptySmallSquare: EmptySmallSquare, + EmptyVerySmallSquare: EmptyVerySmallSquare, + Eogon: Eogon, + Eopf: Eopf, + Epsilon: Epsilon, + Equal: Equal, + EqualTilde: EqualTilde, + Equilibrium: Equilibrium, + Escr: Escr, + Esim: Esim, + Eta: Eta, + Eum: Eum, + Euml: Euml$1, + Exists: Exists, + ExponentialE: ExponentialE, + Fcy: Fcy, + Ffr: Ffr, + FilledSmallSquare: FilledSmallSquare, + FilledVerySmallSquare: FilledVerySmallSquare, + Fopf: Fopf, + ForAll: ForAll, + Fouriertrf: Fouriertrf, + Fscr: Fscr, + GJcy: GJcy, + G: G, + GT: GT$1, + Gamma: Gamma, + Gammad: Gammad, + Gbreve: Gbreve, + Gcedil: Gcedil, + Gcirc: Gcirc, + Gcy: Gcy, + Gdot: Gdot, + Gfr: Gfr, + Gg: Gg, + Gopf: Gopf, + GreaterEqual: GreaterEqual, + GreaterEqualLess: GreaterEqualLess, + GreaterFullEqual: GreaterFullEqual, + GreaterGreater: GreaterGreater, + GreaterLess: GreaterLess, + GreaterSlantEqual: GreaterSlantEqual, + GreaterTilde: GreaterTilde, + Gscr: Gscr, + Gt: Gt, + HARDcy: HARDcy, + Hacek: Hacek, + Hat: Hat, + Hcirc: Hcirc, + Hfr: Hfr, + HilbertSpace: HilbertSpace, + Hopf: Hopf, + HorizontalLine: HorizontalLine, + Hscr: Hscr, + Hstrok: Hstrok, + HumpDownHump: HumpDownHump, + HumpEqual: HumpEqual, + IEcy: IEcy, + IJlig: IJlig, + IOcy: IOcy, + Iacut: Iacut, + Iacute: Iacute$1, + Icir: Icir, + Icirc: Icirc$1, + Icy: Icy, + Idot: Idot, + Ifr: Ifr, + Igrav: Igrav, + Igrave: Igrave$1, + Im: Im, + Imacr: Imacr, + ImaginaryI: ImaginaryI, + Implies: Implies, + Int: Int, + Integral: Integral, + Intersection: Intersection, + InvisibleComma: InvisibleComma, + InvisibleTimes: InvisibleTimes, + Iogon: Iogon, + Iopf: Iopf, + Iota: Iota, + Iscr: Iscr, + Itilde: Itilde, + Iukcy: Iukcy, + Ium: Ium, + Iuml: Iuml$1, + Jcirc: Jcirc, + Jcy: Jcy, + Jfr: Jfr, + Jopf: Jopf, + Jscr: Jscr, + Jsercy: Jsercy, + Jukcy: Jukcy, + KHcy: KHcy, + KJcy: KJcy, + Kappa: Kappa, + Kcedil: Kcedil, + Kcy: Kcy, + Kfr: Kfr, + Kopf: Kopf, + Kscr: Kscr, + LJcy: LJcy, + L: L, + LT: LT$1, + Lacute: Lacute, + Lambda: Lambda, + Lang: Lang, + Laplacetrf: Laplacetrf, + Larr: Larr, + Lcaron: Lcaron, + Lcedil: Lcedil, + Lcy: Lcy, + LeftAngleBracket: LeftAngleBracket, + LeftArrow: LeftArrow, + LeftArrowBar: LeftArrowBar, + LeftArrowRightArrow: LeftArrowRightArrow, + LeftCeiling: LeftCeiling, + LeftDoubleBracket: LeftDoubleBracket, + LeftDownTeeVector: LeftDownTeeVector, + LeftDownVector: LeftDownVector, + LeftDownVectorBar: LeftDownVectorBar, + LeftFloor: LeftFloor, + LeftRightArrow: LeftRightArrow, + LeftRightVector: LeftRightVector, + LeftTee: LeftTee, + LeftTeeArrow: LeftTeeArrow, + LeftTeeVector: LeftTeeVector, + LeftTriangle: LeftTriangle, + LeftTriangleBar: LeftTriangleBar, + LeftTriangleEqual: LeftTriangleEqual, + LeftUpDownVector: LeftUpDownVector, + LeftUpTeeVector: LeftUpTeeVector, + LeftUpVector: LeftUpVector, + LeftUpVectorBar: LeftUpVectorBar, + LeftVector: LeftVector, + LeftVectorBar: LeftVectorBar, + Leftarrow: Leftarrow, + Leftrightarrow: Leftrightarrow, + LessEqualGreater: LessEqualGreater, + LessFullEqual: LessFullEqual, + LessGreater: LessGreater, + LessLess: LessLess, + LessSlantEqual: LessSlantEqual, + LessTilde: LessTilde, + Lfr: Lfr, + Ll: Ll, + Lleftarrow: Lleftarrow, + Lmidot: Lmidot, + LongLeftArrow: LongLeftArrow, + LongLeftRightArrow: LongLeftRightArrow, + LongRightArrow: LongRightArrow, + Longleftarrow: Longleftarrow, + Longleftrightarrow: Longleftrightarrow, + Longrightarrow: Longrightarrow, + Lopf: Lopf, + LowerLeftArrow: LowerLeftArrow, + LowerRightArrow: LowerRightArrow, + Lscr: Lscr, + Lsh: Lsh, + Lstrok: Lstrok, + Lt: Lt, + Mcy: Mcy, + MediumSpace: MediumSpace, + Mellintrf: Mellintrf, + Mfr: Mfr, + MinusPlus: MinusPlus, + Mopf: Mopf, + Mscr: Mscr, + Mu: Mu, + NJcy: NJcy, + Nacute: Nacute, + Ncaron: Ncaron, + Ncedil: Ncedil, + Ncy: Ncy, + NegativeMediumSpace: NegativeMediumSpace, + NegativeThickSpace: NegativeThickSpace, + NegativeThinSpace: NegativeThinSpace, + NegativeVeryThinSpace: NegativeVeryThinSpace, + NestedGreaterGreater: NestedGreaterGreater, + NestedLessLess: NestedLessLess, + NewLine: NewLine, + Nfr: Nfr, + NoBreak: NoBreak, + NonBreakingSpace: NonBreakingSpace, + Nopf: Nopf, + Not: Not, + NotCongruent: NotCongruent, + NotCupCap: NotCupCap, + NotDoubleVerticalBar: NotDoubleVerticalBar, + NotElement: NotElement, + NotEqual: NotEqual, + NotEqualTilde: NotEqualTilde, + NotExists: NotExists, + NotGreater: NotGreater, + NotGreaterEqual: NotGreaterEqual, + NotGreaterFullEqual: NotGreaterFullEqual, + NotGreaterGreater: NotGreaterGreater, + NotGreaterLess: NotGreaterLess, + NotGreaterSlantEqual: NotGreaterSlantEqual, + NotGreaterTilde: NotGreaterTilde, + NotHumpDownHump: NotHumpDownHump, + NotHumpEqual: NotHumpEqual, + NotLeftTriangle: NotLeftTriangle, + NotLeftTriangleBar: NotLeftTriangleBar, + NotLeftTriangleEqual: NotLeftTriangleEqual, + NotLess: NotLess, + NotLessEqual: NotLessEqual, + NotLessGreater: NotLessGreater, + NotLessLess: NotLessLess, + NotLessSlantEqual: NotLessSlantEqual, + NotLessTilde: NotLessTilde, + NotNestedGreaterGreater: NotNestedGreaterGreater, + NotNestedLessLess: NotNestedLessLess, + NotPrecedes: NotPrecedes, + NotPrecedesEqual: NotPrecedesEqual, + NotPrecedesSlantEqual: NotPrecedesSlantEqual, + NotReverseElement: NotReverseElement, + NotRightTriangle: NotRightTriangle, + NotRightTriangleBar: NotRightTriangleBar, + NotRightTriangleEqual: NotRightTriangleEqual, + NotSquareSubset: NotSquareSubset, + NotSquareSubsetEqual: NotSquareSubsetEqual, + NotSquareSuperset: NotSquareSuperset, + NotSquareSupersetEqual: NotSquareSupersetEqual, + NotSubset: NotSubset, + NotSubsetEqual: NotSubsetEqual, + NotSucceeds: NotSucceeds, + NotSucceedsEqual: NotSucceedsEqual, + NotSucceedsSlantEqual: NotSucceedsSlantEqual, + NotSucceedsTilde: NotSucceedsTilde, + NotSuperset: NotSuperset, + NotSupersetEqual: NotSupersetEqual, + NotTilde: NotTilde, + NotTildeEqual: NotTildeEqual, + NotTildeFullEqual: NotTildeFullEqual, + NotTildeTilde: NotTildeTilde, + NotVerticalBar: NotVerticalBar, + Nscr: Nscr, + Ntild: Ntild, + Ntilde: Ntilde$1, + Nu: Nu, + OElig: OElig, + Oacut: Oacut, + Oacute: Oacute$1, + Ocir: Ocir, + Ocirc: Ocirc$1, + Ocy: Ocy, + Odblac: Odblac, + Ofr: Ofr, + Ograv: Ograv, + Ograve: Ograve$1, + Omacr: Omacr, + Omega: Omega, + Omicron: Omicron, + Oopf: Oopf, + OpenCurlyDoubleQuote: OpenCurlyDoubleQuote, + OpenCurlyQuote: OpenCurlyQuote, + Or: Or, + Oscr: Oscr, + Oslas: Oslas, + Oslash: Oslash$1, + Otild: Otild, + Otilde: Otilde$1, + Otimes: Otimes, + Oum: Oum, + Ouml: Ouml$1, + OverBar: OverBar, + OverBrace: OverBrace, + OverBracket: OverBracket, + OverParenthesis: OverParenthesis, + PartialD: PartialD, + Pcy: Pcy, + Pfr: Pfr, + Phi: Phi, + Pi: Pi, + PlusMinus: PlusMinus, + Poincareplane: Poincareplane, + Popf: Popf, + Pr: Pr, + Precedes: Precedes, + PrecedesEqual: PrecedesEqual, + PrecedesSlantEqual: PrecedesSlantEqual, + PrecedesTilde: PrecedesTilde, + Prime: Prime, + Product: Product, + Proportion: Proportion, + Proportional: Proportional, + Pscr: Pscr, + Psi: Psi, + QUO: QUO, + QUOT: QUOT$1, + Qfr: Qfr, + Qopf: Qopf, + Qscr: Qscr, + RBarr: RBarr, + RE: RE, + REG: REG$1, + Racute: Racute, + Rang: Rang, + Rarr: Rarr, + Rarrtl: Rarrtl, + Rcaron: Rcaron, + Rcedil: Rcedil, + Rcy: Rcy, + Re: Re, + ReverseElement: ReverseElement, + ReverseEquilibrium: ReverseEquilibrium, + ReverseUpEquilibrium: ReverseUpEquilibrium, + Rfr: Rfr, + Rho: Rho, + RightAngleBracket: RightAngleBracket, + RightArrow: RightArrow, + RightArrowBar: RightArrowBar, + RightArrowLeftArrow: RightArrowLeftArrow, + RightCeiling: RightCeiling, + RightDoubleBracket: RightDoubleBracket, + RightDownTeeVector: RightDownTeeVector, + RightDownVector: RightDownVector, + RightDownVectorBar: RightDownVectorBar, + RightFloor: RightFloor, + RightTee: RightTee, + RightTeeArrow: RightTeeArrow, + RightTeeVector: RightTeeVector, + RightTriangle: RightTriangle, + RightTriangleBar: RightTriangleBar, + RightTriangleEqual: RightTriangleEqual, + RightUpDownVector: RightUpDownVector, + RightUpTeeVector: RightUpTeeVector, + RightUpVector: RightUpVector, + RightUpVectorBar: RightUpVectorBar, + RightVector: RightVector, + RightVectorBar: RightVectorBar, + Rightarrow: Rightarrow, + Ropf: Ropf, + RoundImplies: RoundImplies, + Rrightarrow: Rrightarrow, + Rscr: Rscr, + Rsh: Rsh, + RuleDelayed: RuleDelayed, + SHCHcy: SHCHcy, + SHcy: SHcy, + SOFTcy: SOFTcy, + Sacute: Sacute, + Sc: Sc, + Scaron: Scaron, + Scedil: Scedil, + Scirc: Scirc, + Scy: Scy, + Sfr: Sfr, + ShortDownArrow: ShortDownArrow, + ShortLeftArrow: ShortLeftArrow, + ShortRightArrow: ShortRightArrow, + ShortUpArrow: ShortUpArrow, + Sigma: Sigma, + SmallCircle: SmallCircle, + Sopf: Sopf, + Sqrt: Sqrt, + Square: Square, + SquareIntersection: SquareIntersection, + SquareSubset: SquareSubset, + SquareSubsetEqual: SquareSubsetEqual, + SquareSuperset: SquareSuperset, + SquareSupersetEqual: SquareSupersetEqual, + SquareUnion: SquareUnion, + Sscr: Sscr, + Star: Star, + Sub: Sub, + Subset: Subset, + SubsetEqual: SubsetEqual, + Succeeds: Succeeds, + SucceedsEqual: SucceedsEqual, + SucceedsSlantEqual: SucceedsSlantEqual, + SucceedsTilde: SucceedsTilde, + SuchThat: SuchThat, + Sum: Sum, + Sup: Sup, + Superset: Superset, + SupersetEqual: SupersetEqual, + Supset: Supset, + THOR: THOR, + THORN: THORN$1, + TRADE: TRADE, + TSHcy: TSHcy, + TScy: TScy, + Tab: Tab, + Tau: Tau, + Tcaron: Tcaron, + Tcedil: Tcedil, + Tcy: Tcy, + Tfr: Tfr, + Therefore: Therefore, + Theta: Theta, + ThickSpace: ThickSpace, + ThinSpace: ThinSpace, + Tilde: Tilde, + TildeEqual: TildeEqual, + TildeFullEqual: TildeFullEqual, + TildeTilde: TildeTilde, + Topf: Topf, + TripleDot: TripleDot, + Tscr: Tscr, + Tstrok: Tstrok, + Uacut: Uacut, + Uacute: Uacute$1, + Uarr: Uarr, + Uarrocir: Uarrocir, + Ubrcy: Ubrcy, + Ubreve: Ubreve, + Ucir: Ucir, + Ucirc: Ucirc$1, + Ucy: Ucy, + Udblac: Udblac, + Ufr: Ufr, + Ugrav: Ugrav, + Ugrave: Ugrave$1, + Umacr: Umacr, + UnderBar: UnderBar, + UnderBrace: UnderBrace, + UnderBracket: UnderBracket, + UnderParenthesis: UnderParenthesis, + Union: Union, + UnionPlus: UnionPlus, + Uogon: Uogon, + Uopf: Uopf, + UpArrow: UpArrow, + UpArrowBar: UpArrowBar, + UpArrowDownArrow: UpArrowDownArrow, + UpDownArrow: UpDownArrow, + UpEquilibrium: UpEquilibrium, + UpTee: UpTee, + UpTeeArrow: UpTeeArrow, + Uparrow: Uparrow, + Updownarrow: Updownarrow, + UpperLeftArrow: UpperLeftArrow, + UpperRightArrow: UpperRightArrow, + Upsi: Upsi, + Upsilon: Upsilon, + Uring: Uring, + Uscr: Uscr, + Utilde: Utilde, + Uum: Uum, + Uuml: Uuml$1, + VDash: VDash, + Vbar: Vbar, + Vcy: Vcy, + Vdash: Vdash, + Vdashl: Vdashl, + Vee: Vee, + Verbar: Verbar, + Vert: Vert, + VerticalBar: VerticalBar, + VerticalLine: VerticalLine, + VerticalSeparator: VerticalSeparator, + VerticalTilde: VerticalTilde, + VeryThinSpace: VeryThinSpace, + Vfr: Vfr, + Vopf: Vopf, + Vscr: Vscr, + Vvdash: Vvdash, + Wcirc: Wcirc, + Wedge: Wedge, + Wfr: Wfr, + Wopf: Wopf, + Wscr: Wscr, + Xfr: Xfr, + Xi: Xi, + Xopf: Xopf, + Xscr: Xscr, + YAcy: YAcy, + YIcy: YIcy, + YUcy: YUcy, + Yacut: Yacut, + Yacute: Yacute$1, + Ycirc: Ycirc, + Ycy: Ycy, + Yfr: Yfr, + Yopf: Yopf, + Yscr: Yscr, + Yuml: Yuml, + ZHcy: ZHcy, + Zacute: Zacute, + Zcaron: Zcaron, + Zcy: Zcy, + Zdot: Zdot, + ZeroWidthSpace: ZeroWidthSpace, + Zeta: Zeta, + Zfr: Zfr, + Zopf: Zopf, + Zscr: Zscr, + aacut: aacut, + aacute: aacute$1, + abreve: abreve, + ac: ac, + acE: acE, + acd: acd, + acir: acir, + acirc: acirc$1, + acut: acut, + acute: acute$1, + acy: acy, + aeli: aeli, + aelig: aelig$1, + af: af, + afr: afr, + agrav: agrav, + agrave: agrave$1, + alefsym: alefsym, + aleph: aleph, + alpha: alpha, + amacr: amacr, + amalg: amalg, + am: am, + amp: amp$1, + and: and, + andand: andand, + andd: andd, + andslope: andslope, + andv: andv, + ang: ang, + ange: ange, + angle: angle, + angmsd: angmsd, + angmsdaa: angmsdaa, + angmsdab: angmsdab, + angmsdac: angmsdac, + angmsdad: angmsdad, + angmsdae: angmsdae, + angmsdaf: angmsdaf, + angmsdag: angmsdag, + angmsdah: angmsdah, + angrt: angrt, + angrtvb: angrtvb, + angrtvbd: angrtvbd, + angsph: angsph, + angst: angst, + angzarr: angzarr, + aogon: aogon, + aopf: aopf, + ap: ap, + apE: apE, + apacir: apacir, + ape: ape, + apid: apid, + apos: apos, + approx: approx, + approxeq: approxeq, + arin: arin, + aring: aring$1, + ascr: ascr, + ast: ast, + asymp: asymp, + asympeq: asympeq, + atild: atild, + atilde: atilde$1, + aum: aum, + auml: auml$1, + awconint: awconint, + awint: awint, + bNot: bNot, + backcong: backcong, + backepsilon: backepsilon, + backprime: backprime, + backsim: backsim, + backsimeq: backsimeq, + barvee: barvee, + barwed: barwed, + barwedge: barwedge, + bbrk: bbrk, + bbrktbrk: bbrktbrk, + bcong: bcong, + bcy: bcy, + bdquo: bdquo, + becaus: becaus, + because: because, + bemptyv: bemptyv, + bepsi: bepsi, + bernou: bernou, + beta: beta, + beth: beth, + between: between, + bfr: bfr, + bigcap: bigcap, + bigcirc: bigcirc, + bigcup: bigcup, + bigodot: bigodot, + bigoplus: bigoplus, + bigotimes: bigotimes, + bigsqcup: bigsqcup, + bigstar: bigstar, + bigtriangledown: bigtriangledown, + bigtriangleup: bigtriangleup, + biguplus: biguplus, + bigvee: bigvee, + bigwedge: bigwedge, + bkarow: bkarow, + blacklozenge: blacklozenge, + blacksquare: blacksquare, + blacktriangle: blacktriangle, + blacktriangledown: blacktriangledown, + blacktriangleleft: blacktriangleleft, + blacktriangleright: blacktriangleright, + blank: blank, + blk12: blk12, + blk14: blk14, + blk34: blk34, + block: block, + bne: bne, + bnequiv: bnequiv, + bnot: bnot, + bopf: bopf, + bot: bot, + bottom: bottom, + bowtie: bowtie, + boxDL: boxDL, + boxDR: boxDR, + boxDl: boxDl, + boxDr: boxDr, + boxH: boxH, + boxHD: boxHD, + boxHU: boxHU, + boxHd: boxHd, + boxHu: boxHu, + boxUL: boxUL, + boxUR: boxUR, + boxUl: boxUl, + boxUr: boxUr, + boxV: boxV, + boxVH: boxVH, + boxVL: boxVL, + boxVR: boxVR, + boxVh: boxVh, + boxVl: boxVl, + boxVr: boxVr, + boxbox: boxbox, + boxdL: boxdL, + boxdR: boxdR, + boxdl: boxdl, + boxdr: boxdr, + boxh: boxh, + boxhD: boxhD, + boxhU: boxhU, + boxhd: boxhd, + boxhu: boxhu, + boxminus: boxminus, + boxplus: boxplus, + boxtimes: boxtimes, + boxuL: boxuL, + boxuR: boxuR, + boxul: boxul, + boxur: boxur, + boxv: boxv, + boxvH: boxvH, + boxvL: boxvL, + boxvR: boxvR, + boxvh: boxvh, + boxvl: boxvl, + boxvr: boxvr, + bprime: bprime, + breve: breve, + brvba: brvba, + brvbar: brvbar$1, + bscr: bscr, + bsemi: bsemi, + bsim: bsim, + bsime: bsime, + bsol: bsol, + bsolb: bsolb, + bsolhsub: bsolhsub, + bull: bull, + bullet: bullet, + bump: bump, + bumpE: bumpE, + bumpe: bumpe, + bumpeq: bumpeq, + cacute: cacute, + cap: cap, + capand: capand, + capbrcup: capbrcup, + capcap: capcap, + capcup: capcup, + capdot: capdot, + caps: caps, + caret: caret, + caron: caron, + ccaps: ccaps, + ccaron: ccaron, + ccedi: ccedi, + ccedil: ccedil$1, + ccirc: ccirc, + ccups: ccups, + ccupssm: ccupssm, + cdot: cdot, + cedi: cedi, + cedil: cedil$1, + cemptyv: cemptyv, + cen: cen, + cent: cent$1, + centerdot: centerdot, + cfr: cfr, + chcy: chcy, + check: check$2, + checkmark: checkmark, + chi: chi, + cir: cir, + cirE: cirE, + circ: circ, + circeq: circeq, + circlearrowleft: circlearrowleft, + circlearrowright: circlearrowright, + circledR: circledR, + circledS: circledS, + circledast: circledast, + circledcirc: circledcirc, + circleddash: circleddash, + cire: cire, + cirfnint: cirfnint, + cirmid: cirmid, + cirscir: cirscir, + clubs: clubs, + clubsuit: clubsuit, + colon: colon, + colone: colone, + coloneq: coloneq, + comma: comma, + commat: commat, + comp: comp, + compfn: compfn, + complement: complement, + complexes: complexes, + cong: cong, + congdot: congdot, + conint: conint, + copf: copf, + coprod: coprod, + cop: cop, + copy: copy$2, + copysr: copysr, + crarr: crarr, + cross: cross, + cscr: cscr, + csub: csub, + csube: csube, + csup: csup, + csupe: csupe, + ctdot: ctdot, + cudarrl: cudarrl, + cudarrr: cudarrr, + cuepr: cuepr, + cuesc: cuesc, + cularr: cularr, + cularrp: cularrp, + cup: cup, + cupbrcap: cupbrcap, + cupcap: cupcap, + cupcup: cupcup, + cupdot: cupdot, + cupor: cupor, + cups: cups, + curarr: curarr, + curarrm: curarrm, + curlyeqprec: curlyeqprec, + curlyeqsucc: curlyeqsucc, + curlyvee: curlyvee, + curlywedge: curlywedge, + curre: curre, + curren: curren$1, + curvearrowleft: curvearrowleft, + curvearrowright: curvearrowright, + cuvee: cuvee, + cuwed: cuwed, + cwconint: cwconint, + cwint: cwint, + cylcty: cylcty, + dArr: dArr, + dHar: dHar, + dagger: dagger, + daleth: daleth, + darr: darr, + dash: dash, + dashv: dashv, + dbkarow: dbkarow, + dblac: dblac, + dcaron: dcaron, + dcy: dcy, + dd: dd, + ddagger: ddagger, + ddarr: ddarr, + ddotseq: ddotseq, + de: de, + deg: deg$1, + delta: delta, + demptyv: demptyv, + dfisht: dfisht, + dfr: dfr, + dharl: dharl, + dharr: dharr, + diam: diam, + diamond: diamond, + diamondsuit: diamondsuit, + diams: diams, + die: die, + digamma: digamma, + disin: disin, + div: div, + divid: divid, + divide: divide$1, + divideontimes: divideontimes, + divonx: divonx, + djcy: djcy, + dlcorn: dlcorn, + dlcrop: dlcrop, + dollar: dollar, + dopf: dopf, + dot: dot, + doteq: doteq, + doteqdot: doteqdot, + dotminus: dotminus, + dotplus: dotplus, + dotsquare: dotsquare, + doublebarwedge: doublebarwedge, + downarrow: downarrow, + downdownarrows: downdownarrows, + downharpoonleft: downharpoonleft, + downharpoonright: downharpoonright, + drbkarow: drbkarow, + drcorn: drcorn, + drcrop: drcrop, + dscr: dscr, + dscy: dscy, + dsol: dsol, + dstrok: dstrok, + dtdot: dtdot, + dtri: dtri, + dtrif: dtrif, + duarr: duarr, + duhar: duhar, + dwangle: dwangle, + dzcy: dzcy, + dzigrarr: dzigrarr, + eDDot: eDDot, + eDot: eDot, + eacut: eacut, + eacute: eacute$1, + easter: easter, + ecaron: ecaron, + ecir: ecir, + ecirc: ecirc$1, + ecolon: ecolon, + ecy: ecy, + edot: edot, + ee: ee, + efDot: efDot, + efr: efr, + eg: eg, + egrav: egrav, + egrave: egrave$1, + egs: egs, + egsdot: egsdot, + el: el, + elinters: elinters, + ell: ell, + els: els, + elsdot: elsdot, + emacr: emacr, + empty: empty, + emptyset: emptyset, + emptyv: emptyv, + emsp13: emsp13, + emsp14: emsp14, + emsp: emsp, + eng: eng, + ensp: ensp, + eogon: eogon, + eopf: eopf, + epar: epar, + eparsl: eparsl, + eplus: eplus, + epsi: epsi, + epsilon: epsilon, + epsiv: epsiv, + eqcirc: eqcirc, + eqcolon: eqcolon, + eqsim: eqsim, + eqslantgtr: eqslantgtr, + eqslantless: eqslantless, + equals: equals, + equest: equest, + equiv: equiv, + equivDD: equivDD, + eqvparsl: eqvparsl, + erDot: erDot, + erarr: erarr, + escr: escr, + esdot: esdot, + esim: esim, + eta: eta, + et: et, + eth: eth$1, + eum: eum, + euml: euml$1, + euro: euro, + excl: excl, + exist: exist, + expectation: expectation, + exponentiale: exponentiale, + fallingdotseq: fallingdotseq, + fcy: fcy, + female: female, + ffilig: ffilig, + fflig: fflig, + ffllig: ffllig, + ffr: ffr, + filig: filig, + fjlig: fjlig, + flat: flat, + fllig: fllig, + fltns: fltns, + fnof: fnof, + fopf: fopf, + forall: forall, + fork: fork, + forkv: forkv, + fpartint: fpartint, + frac1: frac1, + frac12: frac12$1, + frac13: frac13, + frac14: frac14$1, + frac15: frac15, + frac16: frac16, + frac18: frac18, + frac23: frac23, + frac25: frac25, + frac3: frac3, + frac34: frac34$1, + frac35: frac35, + frac38: frac38, + frac45: frac45, + frac56: frac56, + frac58: frac58, + frac78: frac78, + frasl: frasl, + frown: frown, + fscr: fscr, + gE: gE, + gEl: gEl, + gacute: gacute, + gamma: gamma, + gammad: gammad, + gap: gap, + gbreve: gbreve, + gcirc: gcirc, + gcy: gcy, + gdot: gdot, + ge: ge, + gel: gel, + geq: geq, + geqq: geqq, + geqslant: geqslant, + ges: ges, + gescc: gescc, + gesdot: gesdot, + gesdoto: gesdoto, + gesdotol: gesdotol, + gesl: gesl, + gesles: gesles, + gfr: gfr, + gg: gg, + ggg: ggg, + gimel: gimel, + gjcy: gjcy, + gl: gl, + glE: glE, + gla: gla, + glj: glj, + gnE: gnE, + gnap: gnap, + gnapprox: gnapprox, + gne: gne, + gneq: gneq, + gneqq: gneqq, + gnsim: gnsim, + gopf: gopf, + grave: grave, + gscr: gscr, + gsim: gsim, + gsime: gsime, + gsiml: gsiml, + g: g, + gt: gt$1, + gtcc: gtcc, + gtcir: gtcir, + gtdot: gtdot, + gtlPar: gtlPar, + gtquest: gtquest, + gtrapprox: gtrapprox, + gtrarr: gtrarr, + gtrdot: gtrdot, + gtreqless: gtreqless, + gtreqqless: gtreqqless, + gtrless: gtrless, + gtrsim: gtrsim, + gvertneqq: gvertneqq, + gvnE: gvnE, + hArr: hArr, + hairsp: hairsp, + half: half, + hamilt: hamilt, + hardcy: hardcy, + harr: harr, + harrcir: harrcir, + harrw: harrw, + hbar: hbar, + hcirc: hcirc, + hearts: hearts, + heartsuit: heartsuit, + hellip: hellip, + hercon: hercon, + hfr: hfr, + hksearow: hksearow, + hkswarow: hkswarow, + hoarr: hoarr, + homtht: homtht, + hookleftarrow: hookleftarrow, + hookrightarrow: hookrightarrow, + hopf: hopf, + horbar: horbar, + hscr: hscr, + hslash: hslash, + hstrok: hstrok, + hybull: hybull, + hyphen: hyphen, + iacut: iacut, + iacute: iacute$1, + ic: ic, + icir: icir, + icirc: icirc$1, + icy: icy, + iecy: iecy, + iexc: iexc, + iexcl: iexcl$1, + iff: iff, + ifr: ifr, + igrav: igrav, + igrave: igrave$1, + ii: ii, + iiiint: iiiint, + iiint: iiint, + iinfin: iinfin, + iiota: iiota, + ijlig: ijlig, + imacr: imacr, + image: image, + imagline: imagline, + imagpart: imagpart, + imath: imath, + imof: imof, + imped: imped, + incare: incare, + infin: infin, + infintie: infintie, + inodot: inodot, + int: int, + intcal: intcal, + integers: integers, + intercal: intercal, + intlarhk: intlarhk, + intprod: intprod, + iocy: iocy, + iogon: iogon, + iopf: iopf, + iota: iota, + iprod: iprod, + iques: iques, + iquest: iquest$1, + iscr: iscr, + isin: isin, + isinE: isinE, + isindot: isindot, + isins: isins, + isinsv: isinsv, + isinv: isinv, + it: it, + itilde: itilde, + iukcy: iukcy, + ium: ium, + iuml: iuml$1, + jcirc: jcirc, + jcy: jcy, + jfr: jfr, + jmath: jmath, + jopf: jopf, + jscr: jscr, + jsercy: jsercy, + jukcy: jukcy, + kappa: kappa, + kappav: kappav, + kcedil: kcedil, + kcy: kcy, + kfr: kfr, + kgreen: kgreen, + khcy: khcy, + kjcy: kjcy, + kopf: kopf, + kscr: kscr, + lAarr: lAarr, + lArr: lArr, + lAtail: lAtail, + lBarr: lBarr, + lE: lE, + lEg: lEg, + lHar: lHar, + lacute: lacute, + laemptyv: laemptyv, + lagran: lagran, + lambda: lambda, + lang: lang, + langd: langd, + langle: langle, + lap: lap, + laqu: laqu, + laquo: laquo$1, + larr: larr, + larrb: larrb, + larrbfs: larrbfs, + larrfs: larrfs, + larrhk: larrhk, + larrlp: larrlp, + larrpl: larrpl, + larrsim: larrsim, + larrtl: larrtl, + lat: lat, + latail: latail, + late: late, + lates: lates, + lbarr: lbarr, + lbbrk: lbbrk, + lbrace: lbrace, + lbrack: lbrack, + lbrke: lbrke, + lbrksld: lbrksld, + lbrkslu: lbrkslu, + lcaron: lcaron, + lcedil: lcedil, + lceil: lceil, + lcub: lcub, + lcy: lcy, + ldca: ldca, + ldquo: ldquo, + ldquor: ldquor, + ldrdhar: ldrdhar, + ldrushar: ldrushar, + ldsh: ldsh, + le: le, + leftarrow: leftarrow, + leftarrowtail: leftarrowtail, + leftharpoondown: leftharpoondown, + leftharpoonup: leftharpoonup, + leftleftarrows: leftleftarrows, + leftrightarrow: leftrightarrow, + leftrightarrows: leftrightarrows, + leftrightharpoons: leftrightharpoons, + leftrightsquigarrow: leftrightsquigarrow, + leftthreetimes: leftthreetimes, + leg: leg, + leq: leq, + leqq: leqq, + leqslant: leqslant, + les: les, + lescc: lescc, + lesdot: lesdot, + lesdoto: lesdoto, + lesdotor: lesdotor, + lesg: lesg, + lesges: lesges, + lessapprox: lessapprox, + lessdot: lessdot, + lesseqgtr: lesseqgtr, + lesseqqgtr: lesseqqgtr, + lessgtr: lessgtr, + lesssim: lesssim, + lfisht: lfisht, + lfloor: lfloor, + lfr: lfr, + lg: lg, + lgE: lgE, + lhard: lhard, + lharu: lharu, + lharul: lharul, + lhblk: lhblk, + ljcy: ljcy, + ll: ll, + llarr: llarr, + llcorner: llcorner, + llhard: llhard, + lltri: lltri, + lmidot: lmidot, + lmoust: lmoust, + lmoustache: lmoustache, + lnE: lnE, + lnap: lnap, + lnapprox: lnapprox, + lne: lne, + lneq: lneq, + lneqq: lneqq, + lnsim: lnsim, + loang: loang, + loarr: loarr, + lobrk: lobrk, + longleftarrow: longleftarrow, + longleftrightarrow: longleftrightarrow, + longmapsto: longmapsto, + longrightarrow: longrightarrow, + looparrowleft: looparrowleft, + looparrowright: looparrowright, + lopar: lopar, + lopf: lopf, + loplus: loplus, + lotimes: lotimes, + lowast: lowast, + lowbar: lowbar, + loz: loz, + lozenge: lozenge, + lozf: lozf, + lpar: lpar, + lparlt: lparlt, + lrarr: lrarr, + lrcorner: lrcorner, + lrhar: lrhar, + lrhard: lrhard, + lrm: lrm, + lrtri: lrtri, + lsaquo: lsaquo, + lscr: lscr, + lsh: lsh, + lsim: lsim, + lsime: lsime, + lsimg: lsimg, + lsqb: lsqb, + lsquo: lsquo, + lsquor: lsquor, + lstrok: lstrok, + l: l, + lt: lt$1, + ltcc: ltcc, + ltcir: ltcir, + ltdot: ltdot, + lthree: lthree, + ltimes: ltimes, + ltlarr: ltlarr, + ltquest: ltquest, + ltrPar: ltrPar, + ltri: ltri, + ltrie: ltrie, + ltrif: ltrif, + lurdshar: lurdshar, + luruhar: luruhar, + lvertneqq: lvertneqq, + lvnE: lvnE, + mDDot: mDDot, + mac: mac, + macr: macr$1, + male: male, + malt: malt, + maltese: maltese, + map: map$2, + mapsto: mapsto, + mapstodown: mapstodown, + mapstoleft: mapstoleft, + mapstoup: mapstoup, + marker: marker, + mcomma: mcomma, + mcy: mcy, + mdash: mdash, + measuredangle: measuredangle, + mfr: mfr, + mho: mho, + micr: micr, + micro: micro$1, + mid: mid, + midast: midast, + midcir: midcir, + middo: middo, + middot: middot$1, + minus: minus, + minusb: minusb, + minusd: minusd, + minusdu: minusdu, + mlcp: mlcp, + mldr: mldr, + mnplus: mnplus, + models: models$1, + mopf: mopf, + mp: mp, + mscr: mscr, + mstpos: mstpos, + mu: mu, + multimap: multimap, + mumap: mumap, + nGg: nGg, + nGt: nGt, + nGtv: nGtv, + nLeftarrow: nLeftarrow, + nLeftrightarrow: nLeftrightarrow, + nLl: nLl, + nLt: nLt, + nLtv: nLtv, + nRightarrow: nRightarrow, + nVDash: nVDash, + nVdash: nVdash, + nabla: nabla, + nacute: nacute, + nang: nang, + nap: nap, + napE: napE, + napid: napid, + napos: napos, + napprox: napprox, + natur: natur, + natural: natural, + naturals: naturals, + nbs: nbs, + nbsp: nbsp$1, + nbump: nbump, + nbumpe: nbumpe, + ncap: ncap, + ncaron: ncaron, + ncedil: ncedil, + ncong: ncong, + ncongdot: ncongdot, + ncup: ncup, + ncy: ncy, + ndash: ndash, + ne: ne, + neArr: neArr, + nearhk: nearhk, + nearr: nearr, + nearrow: nearrow, + nedot: nedot, + nequiv: nequiv, + nesear: nesear, + nesim: nesim, + nexist: nexist, + nexists: nexists, + nfr: nfr, + ngE: ngE, + nge: nge, + ngeq: ngeq, + ngeqq: ngeqq, + ngeqslant: ngeqslant, + nges: nges, + ngsim: ngsim, + ngt: ngt, + ngtr: ngtr, + nhArr: nhArr, + nharr: nharr, + nhpar: nhpar, + ni: ni, + nis: nis, + nisd: nisd, + niv: niv, + njcy: njcy, + nlArr: nlArr, + nlE: nlE, + nlarr: nlarr, + nldr: nldr, + nle: nle, + nleftarrow: nleftarrow, + nleftrightarrow: nleftrightarrow, + nleq: nleq, + nleqq: nleqq, + nleqslant: nleqslant, + nles: nles, + nless: nless, + nlsim: nlsim, + nlt: nlt, + nltri: nltri, + nltrie: nltrie, + nmid: nmid, + nopf: nopf, + no: no, + not: not$1, + notin: notin, + notinE: notinE, + notindot: notindot, + notinva: notinva, + notinvb: notinvb, + notinvc: notinvc, + notni: notni, + notniva: notniva, + notnivb: notnivb, + notnivc: notnivc, + npar: npar, + nparallel: nparallel, + nparsl: nparsl, + npart: npart, + npolint: npolint, + npr: npr, + nprcue: nprcue, + npre: npre, + nprec: nprec, + npreceq: npreceq, + nrArr: nrArr, + nrarr: nrarr, + nrarrc: nrarrc, + nrarrw: nrarrw, + nrightarrow: nrightarrow, + nrtri: nrtri, + nrtrie: nrtrie, + nsc: nsc, + nsccue: nsccue, + nsce: nsce, + nscr: nscr, + nshortmid: nshortmid, + nshortparallel: nshortparallel, + nsim: nsim, + nsime: nsime, + nsimeq: nsimeq, + nsmid: nsmid, + nspar: nspar, + nsqsube: nsqsube, + nsqsupe: nsqsupe, + nsub: nsub, + nsubE: nsubE, + nsube: nsube, + nsubset: nsubset, + nsubseteq: nsubseteq, + nsubseteqq: nsubseteqq, + nsucc: nsucc, + nsucceq: nsucceq, + nsup: nsup, + nsupE: nsupE, + nsupe: nsupe, + nsupset: nsupset, + nsupseteq: nsupseteq, + nsupseteqq: nsupseteqq, + ntgl: ntgl, + ntild: ntild, + ntilde: ntilde$1, + ntlg: ntlg, + ntriangleleft: ntriangleleft, + ntrianglelefteq: ntrianglelefteq, + ntriangleright: ntriangleright, + ntrianglerighteq: ntrianglerighteq, + nu: nu, + num: num, + numero: numero, + numsp: numsp, + nvDash: nvDash, + nvHarr: nvHarr, + nvap: nvap, + nvdash: nvdash, + nvge: nvge, + nvgt: nvgt, + nvinfin: nvinfin, + nvlArr: nvlArr, + nvle: nvle, + nvlt: nvlt, + nvltrie: nvltrie, + nvrArr: nvrArr, + nvrtrie: nvrtrie, + nvsim: nvsim, + nwArr: nwArr, + nwarhk: nwarhk, + nwarr: nwarr, + nwarrow: nwarrow, + nwnear: nwnear, + oS: oS, + oacut: oacut, + oacute: oacute$1, + oast: oast, + ocir: ocir, + ocirc: ocirc$1, + ocy: ocy, + odash: odash, + odblac: odblac, + odiv: odiv, + odot: odot, + odsold: odsold, + oelig: oelig, + ofcir: ofcir, + ofr: ofr, + ogon: ogon, + ograv: ograv, + ograve: ograve$1, + ogt: ogt, + ohbar: ohbar, + ohm: ohm, + oint: oint, + olarr: olarr, + olcir: olcir, + olcross: olcross, + oline: oline, + olt: olt, + omacr: omacr, + omega: omega, + omicron: omicron, + omid: omid, + ominus: ominus, + oopf: oopf, + opar: opar, + operp: operp, + oplus: oplus, + or: or, + orarr: orarr, + ord: ord, + order: order$1, + orderof: orderof, + ordf: ordf$1, + ordm: ordm$1, + origof: origof, + oror: oror, + orslope: orslope, + orv: orv, + oscr: oscr, + oslas: oslas, + oslash: oslash$1, + osol: osol, + otild: otild, + otilde: otilde$1, + otimes: otimes, + otimesas: otimesas, + oum: oum, + ouml: ouml$1, + ovbar: ovbar, + par: par, + para: para$1, + parallel: parallel, + parsim: parsim, + parsl: parsl, + part: part, + pcy: pcy, + percnt: percnt, + period: period, + permil: permil, + perp: perp, + pertenk: pertenk, + pfr: pfr, + phi: phi, + phiv: phiv, + phmmat: phmmat, + phone: phone, + pi: pi, + pitchfork: pitchfork, + piv: piv, + planck: planck, + planckh: planckh, + plankv: plankv, + plus: plus, + plusacir: plusacir, + plusb: plusb, + pluscir: pluscir, + plusdo: plusdo, + plusdu: plusdu, + pluse: pluse, + plusm: plusm, + plusmn: plusmn$1, + plussim: plussim, + plustwo: plustwo, + pm: pm, + pointint: pointint, + popf: popf, + poun: poun, + pound: pound$1, + pr: pr, + prE: prE, + prap: prap, + prcue: prcue, + pre: pre, + prec: prec, + precapprox: precapprox, + preccurlyeq: preccurlyeq, + preceq: preceq, + precnapprox: precnapprox, + precneqq: precneqq, + precnsim: precnsim, + precsim: precsim, + prime: prime, + primes: primes, + prnE: prnE, + prnap: prnap, + prnsim: prnsim, + prod: prod, + profalar: profalar, + profline: profline, + profsurf: profsurf, + prop: prop, + propto: propto, + prsim: prsim, + prurel: prurel, + pscr: pscr, + psi: psi, + puncsp: puncsp, + qfr: qfr, + qint: qint, + qopf: qopf, + qprime: qprime, + qscr: qscr, + quaternions: quaternions, + quatint: quatint, + quest: quest, + questeq: questeq, + quo: quo, + quot: quot$1, + rAarr: rAarr, + rArr: rArr, + rAtail: rAtail, + rBarr: rBarr, + rHar: rHar, + race: race, + racute: racute, + radic: radic, + raemptyv: raemptyv, + rang: rang, + rangd: rangd, + range: range$1, + rangle: rangle, + raqu: raqu, + raquo: raquo$1, + rarr: rarr, + rarrap: rarrap, + rarrb: rarrb, + rarrbfs: rarrbfs, + rarrc: rarrc, + rarrfs: rarrfs, + rarrhk: rarrhk, + rarrlp: rarrlp, + rarrpl: rarrpl, + rarrsim: rarrsim, + rarrtl: rarrtl, + rarrw: rarrw, + ratail: ratail, + ratio: ratio, + rationals: rationals, + rbarr: rbarr, + rbbrk: rbbrk, + rbrace: rbrace, + rbrack: rbrack, + rbrke: rbrke, + rbrksld: rbrksld, + rbrkslu: rbrkslu, + rcaron: rcaron, + rcedil: rcedil, + rceil: rceil, + rcub: rcub, + rcy: rcy, + rdca: rdca, + rdldhar: rdldhar, + rdquo: rdquo, + rdquor: rdquor, + rdsh: rdsh, + real: real, + realine: realine, + realpart: realpart, + reals: reals, + rect: rect, + re: re, + reg: reg$1, + rfisht: rfisht, + rfloor: rfloor, + rfr: rfr, + rhard: rhard, + rharu: rharu, + rharul: rharul, + rho: rho, + rhov: rhov, + rightarrow: rightarrow, + rightarrowtail: rightarrowtail, + rightharpoondown: rightharpoondown, + rightharpoonup: rightharpoonup, + rightleftarrows: rightleftarrows, + rightleftharpoons: rightleftharpoons, + rightrightarrows: rightrightarrows, + rightsquigarrow: rightsquigarrow, + rightthreetimes: rightthreetimes, + ring: ring, + risingdotseq: risingdotseq, + rlarr: rlarr, + rlhar: rlhar, + rlm: rlm, + rmoust: rmoust, + rmoustache: rmoustache, + rnmid: rnmid, + roang: roang, + roarr: roarr, + robrk: robrk, + ropar: ropar, + ropf: ropf, + roplus: roplus, + rotimes: rotimes, + rpar: rpar, + rpargt: rpargt, + rppolint: rppolint, + rrarr: rrarr, + rsaquo: rsaquo, + rscr: rscr, + rsh: rsh, + rsqb: rsqb, + rsquo: rsquo, + rsquor: rsquor, + rthree: rthree, + rtimes: rtimes, + rtri: rtri, + rtrie: rtrie, + rtrif: rtrif, + rtriltri: rtriltri, + ruluhar: ruluhar, + rx: rx, + sacute: sacute, + sbquo: sbquo, + sc: sc, + scE: scE, + scap: scap, + scaron: scaron, + sccue: sccue, + sce: sce, + scedil: scedil, + scirc: scirc, + scnE: scnE, + scnap: scnap, + scnsim: scnsim, + scpolint: scpolint, + scsim: scsim, + scy: scy, + sdot: sdot, + sdotb: sdotb, + sdote: sdote, + seArr: seArr, + searhk: searhk, + searr: searr, + searrow: searrow, + sec: sec, + sect: sect$1, + semi: semi, + seswar: seswar, + setminus: setminus, + setmn: setmn, + sext: sext, + sfr: sfr, + sfrown: sfrown, + sharp: sharp, + shchcy: shchcy, + shcy: shcy, + shortmid: shortmid, + shortparallel: shortparallel, + sh: sh, + shy: shy$1, + sigma: sigma, + sigmaf: sigmaf, + sigmav: sigmav, + sim: sim, + simdot: simdot, + sime: sime, + simeq: simeq, + simg: simg, + simgE: simgE, + siml: siml, + simlE: simlE, + simne: simne, + simplus: simplus, + simrarr: simrarr, + slarr: slarr, + smallsetminus: smallsetminus, + smashp: smashp, + smeparsl: smeparsl, + smid: smid, + smile: smile, + smt: smt, + smte: smte, + smtes: smtes, + softcy: softcy, + sol: sol, + solb: solb, + solbar: solbar, + sopf: sopf, + spades: spades, + spadesuit: spadesuit, + spar: spar, + sqcap: sqcap, + sqcaps: sqcaps, + sqcup: sqcup, + sqcups: sqcups, + sqsub: sqsub, + sqsube: sqsube, + sqsubset: sqsubset, + sqsubseteq: sqsubseteq, + sqsup: sqsup, + sqsupe: sqsupe, + sqsupset: sqsupset, + sqsupseteq: sqsupseteq, + squ: squ, + square: square, + squarf: squarf, + squf: squf, + srarr: srarr, + sscr: sscr, + ssetmn: ssetmn, + ssmile: ssmile, + sstarf: sstarf, + star: star$1, + starf: starf, + straightepsilon: straightepsilon, + straightphi: straightphi, + strns: strns, + sub: sub, + subE: subE, + subdot: subdot, + sube: sube, + subedot: subedot, + submult: submult, + subnE: subnE, + subne: subne, + subplus: subplus, + subrarr: subrarr, + subset: subset, + subseteq: subseteq, + subseteqq: subseteqq, + subsetneq: subsetneq, + subsetneqq: subsetneqq, + subsim: subsim, + subsub: subsub, + subsup: subsup, + succ: succ, + succapprox: succapprox, + succcurlyeq: succcurlyeq, + succeq: succeq, + succnapprox: succnapprox, + succneqq: succneqq, + succnsim: succnsim, + succsim: succsim, + sum: sum, + sung: sung, + sup: sup, + sup1: sup1$1, + sup2: sup2$1, + sup3: sup3$1, + supE: supE, + supdot: supdot, + supdsub: supdsub, + supe: supe, + supedot: supedot, + suphsol: suphsol, + suphsub: suphsub, + suplarr: suplarr, + supmult: supmult, + supnE: supnE, + supne: supne, + supplus: supplus, + supset: supset, + supseteq: supseteq, + supseteqq: supseteqq, + supsetneq: supsetneq, + supsetneqq: supsetneqq, + supsim: supsim, + supsub: supsub, + supsup: supsup, + swArr: swArr, + swarhk: swarhk, + swarr: swarr, + swarrow: swarrow, + swnwar: swnwar, + szli: szli, + szlig: szlig$1, + target: target, + tau: tau, + tbrk: tbrk, + tcaron: tcaron, + tcedil: tcedil, + tcy: tcy, + tdot: tdot, + telrec: telrec, + tfr: tfr, + there4: there4, + therefore: therefore, + theta: theta, + thetasym: thetasym, + thetav: thetav, + thickapprox: thickapprox, + thicksim: thicksim, + thinsp: thinsp, + thkap: thkap, + thksim: thksim, + thor: thor, + thorn: thorn$1, + tilde: tilde, + time: time, + times: times$1, + timesb: timesb, + timesbar: timesbar, + timesd: timesd, + tint: tint, + toea: toea, + top: top, + topbot: topbot, + topcir: topcir, + topf: topf, + topfork: topfork, + tosa: tosa, + tprime: tprime, + trade: trade, + triangle: triangle, + triangledown: triangledown, + triangleleft: triangleleft, + trianglelefteq: trianglelefteq, + triangleq: triangleq, + triangleright: triangleright, + trianglerighteq: trianglerighteq, + tridot: tridot, + trie: trie, + triminus: triminus, + triplus: triplus, + trisb: trisb, + tritime: tritime, + trpezium: trpezium, + tscr: tscr, + tscy: tscy, + tshcy: tshcy, + tstrok: tstrok, + twixt: twixt, + twoheadleftarrow: twoheadleftarrow, + twoheadrightarrow: twoheadrightarrow, + uArr: uArr, + uHar: uHar, + uacut: uacut, + uacute: uacute$1, + uarr: uarr, + ubrcy: ubrcy, + ubreve: ubreve, + ucir: ucir, + ucirc: ucirc$1, + ucy: ucy, + udarr: udarr, + udblac: udblac, + udhar: udhar, + ufisht: ufisht, + ufr: ufr, + ugrav: ugrav, + ugrave: ugrave$1, + uharl: uharl, + uharr: uharr, + uhblk: uhblk, + ulcorn: ulcorn, + ulcorner: ulcorner, + ulcrop: ulcrop, + ultri: ultri, + umacr: umacr, + um: um, + uml: uml$1, + uogon: uogon, + uopf: uopf, + uparrow: uparrow, + updownarrow: updownarrow, + upharpoonleft: upharpoonleft, + upharpoonright: upharpoonright, + uplus: uplus, + upsi: upsi, + upsih: upsih, + upsilon: upsilon, + upuparrows: upuparrows, + urcorn: urcorn, + urcorner: urcorner, + urcrop: urcrop, + uring: uring, + urtri: urtri, + uscr: uscr, + utdot: utdot, + utilde: utilde, + utri: utri, + utrif: utrif, + uuarr: uuarr, + uum: uum, + uuml: uuml$1, + uwangle: uwangle, + vArr: vArr, + vBar: vBar, + vBarv: vBarv, + vDash: vDash, + vangrt: vangrt, + varepsilon: varepsilon, + varkappa: varkappa, + varnothing: varnothing, + varphi: varphi, + varpi: varpi, + varpropto: varpropto, + varr: varr, + varrho: varrho, + varsigma: varsigma, + varsubsetneq: varsubsetneq, + varsubsetneqq: varsubsetneqq, + varsupsetneq: varsupsetneq, + varsupsetneqq: varsupsetneqq, + vartheta: vartheta, + vartriangleleft: vartriangleleft, + vartriangleright: vartriangleright, + vcy: vcy, + vdash: vdash, + vee: vee, + veebar: veebar, + veeeq: veeeq, + vellip: vellip, + verbar: verbar, + vert: vert, + vfr: vfr, + vltri: vltri, + vnsub: vnsub, + vnsup: vnsup, + vopf: vopf, + vprop: vprop, + vrtri: vrtri, + vscr: vscr, + vsubnE: vsubnE, + vsubne: vsubne, + vsupnE: vsupnE, + vsupne: vsupne, + vzigzag: vzigzag, + wcirc: wcirc, + wedbar: wedbar, + wedge: wedge, + wedgeq: wedgeq, + weierp: weierp, + wfr: wfr, + wopf: wopf, + wp: wp, + wr: wr, + wreath: wreath, + wscr: wscr, + xcap: xcap, + xcirc: xcirc, + xcup: xcup, + xdtri: xdtri, + xfr: xfr, + xhArr: xhArr, + xharr: xharr, + xi: xi, + xlArr: xlArr, + xlarr: xlarr, + xmap: xmap, + xnis: xnis, + xodot: xodot, + xopf: xopf, + xoplus: xoplus, + xotime: xotime, + xrArr: xrArr, + xrarr: xrarr, + xscr: xscr, + xsqcup: xsqcup, + xuplus: xuplus, + xutri: xutri, + xvee: xvee, + xwedge: xwedge, + yacut: yacut, + yacute: yacute$1, + yacy: yacy, + ycirc: ycirc, + ycy: ycy, + ye: ye, + yen: yen$1, + yfr: yfr, + yicy: yicy, + yopf: yopf, + yscr: yscr, + yucy: yucy, + yum: yum, + yuml: yuml$1, + zacute: zacute, + zcaron: zcaron, + zcy: zcy, + zdot: zdot, + zeetrf: zeetrf, + zeta: zeta, + zfr: zfr, + zhcy: zhcy, + zigrarr: zigrarr, + zopf: zopf, + zscr: zscr, + zwj: zwj, + zwnj: zwnj, + 'default': index$3 +}); + +var characterEntities$1 = getCjsExportFromNamespace(characterEntities); + +var decodeEntity_1 = decodeEntity; + +var own$3 = {}.hasOwnProperty; + +function decodeEntity(characters) { + return own$3.call(characterEntities$1, characters) + ? characterEntities$1[characters] + : false +} + +var legacy = getCjsExportFromNamespace(characterEntitiesLegacy); + +var invalid = getCjsExportFromNamespace(characterReferenceInvalid); + +var parseEntities_1 = parseEntities; + +var own$4 = {}.hasOwnProperty; +var fromCharCode = String.fromCharCode; +var noop$2 = Function.prototype; + +// Default settings. +var defaults = { + warning: null, + reference: null, + text: null, + warningContext: null, + referenceContext: null, + textContext: null, + position: {}, + additional: null, + attribute: false, + nonTerminated: true +}; + +// Characters. +var tab = 9; // '\t' +var lineFeed = 10; // '\n' +var formFeed = 12; // '\f' +var space = 32; // ' ' +var ampersand = 38; // '&' +var semicolon = 59; // ';' +var lessThan = 60; // '<' +var equalsTo = 61; // '=' +var numberSign = 35; // '#' +var uppercaseX = 88; // 'X' +var lowercaseX = 120; // 'x' +var replacementCharacter = 65533; // '�' + +// Reference types. +var name = 'named'; +var hexa = 'hexadecimal'; +var deci = 'decimal'; + +// Map of bases. +var bases = {}; + +bases[hexa] = 16; +bases[deci] = 10; + +// Map of types to tests. +// Each type of character reference accepts different characters. +// This test is used to detect whether a reference has ended (as the semicolon +// is not strictly needed). +var tests = {}; + +tests[name] = isAlphanumerical; +tests[deci] = isDecimal; +tests[hexa] = isHexadecimal; + +// Warning types. +var namedNotTerminated = 1; +var numericNotTerminated = 2; +var namedEmpty = 3; +var numericEmpty = 4; +var namedUnknown = 5; +var numericDisallowed = 6; +var numericProhibited = 7; + +// Warning messages. +var messages = {}; + +messages[namedNotTerminated] = + 'Named character references must be terminated by a semicolon'; +messages[numericNotTerminated] = + 'Numeric character references must be terminated by a semicolon'; +messages[namedEmpty] = 'Named character references cannot be empty'; +messages[numericEmpty] = 'Numeric character references cannot be empty'; +messages[namedUnknown] = 'Named character references must be known'; +messages[numericDisallowed] = + 'Numeric character references cannot be disallowed'; +messages[numericProhibited] = + 'Numeric character references cannot be outside the permissible Unicode range'; + +// Wrap to ensure clean parameters are given to `parse`. +function parseEntities(value, options) { + var settings = {}; + var option; + var key; + + if (!options) { + options = {}; + } + + for (key in defaults) { + option = options[key]; + settings[key] = + option === null || option === undefined ? defaults[key] : option; + } + + if (settings.position.indent || settings.position.start) { + settings.indent = settings.position.indent || []; + settings.position = settings.position.start; + } + + return parse$8(value, settings) +} + +// Parse entities. +// eslint-disable-next-line complexity +function parse$8(value, settings) { + var additional = settings.additional; + var nonTerminated = settings.nonTerminated; + var handleText = settings.text; + var handleReference = settings.reference; + var handleWarning = settings.warning; + var textContext = settings.textContext; + var referenceContext = settings.referenceContext; + var warningContext = settings.warningContext; + var pos = settings.position; + var indent = settings.indent || []; + var length = value.length; + var index = 0; + var lines = -1; + var column = pos.column || 1; + var line = pos.line || 1; + var queue = ''; + var result = []; + var entityCharacters; + var namedEntity; + var terminated; + var characters; + var character; + var reference; + var following; + var warning; + var reason; + var output; + var entity; + var begin; + var start; + var type; + var test; + var prev; + var next; + var diff; + var end; + + if (typeof additional === 'string') { + additional = additional.charCodeAt(0); + } + + // Cache the current point. + prev = now(); + + // Wrap `handleWarning`. + warning = handleWarning ? parseError : noop$2; + + // Ensure the algorithm walks over the first character and the end (inclusive). + index--; + length++; + + while (++index < length) { + // If the previous character was a newline. + if (character === lineFeed) { + column = indent[lines] || 1; + } + + character = value.charCodeAt(index); + + if (character === ampersand) { + following = value.charCodeAt(index + 1); + + // The behaviour depends on the identity of the next character. + if ( + following === tab || + following === lineFeed || + following === formFeed || + following === space || + following === ampersand || + following === lessThan || + following !== following || + (additional && following === additional) + ) { + // Not a character reference. + // No characters are consumed, and nothing is returned. + // This is not an error, either. + queue += fromCharCode(character); + column++; + + continue + } + + start = index + 1; + begin = start; + end = start; + + if (following === numberSign) { + // Numerical entity. + end = ++begin; + + // The behaviour further depends on the next character. + following = value.charCodeAt(end); + + if (following === uppercaseX || following === lowercaseX) { + // ASCII hex digits. + type = hexa; + end = ++begin; + } else { + // ASCII digits. + type = deci; + } + } else { + // Named entity. + type = name; + } + + entityCharacters = ''; + entity = ''; + characters = ''; + test = tests[type]; + end--; + + while (++end < length) { + following = value.charCodeAt(end); + + if (!test(following)) { + break + } + + characters += fromCharCode(following); + + // Check if we can match a legacy named reference. + // If so, we cache that as the last viable named reference. + // This ensures we do not need to walk backwards later. + if (type === name && own$4.call(legacy, characters)) { + entityCharacters = characters; + entity = legacy[characters]; + } + } + + terminated = value.charCodeAt(end) === semicolon; + + if (terminated) { + end++; + + namedEntity = type === name ? decodeEntity_1(characters) : false; + + if (namedEntity) { + entityCharacters = characters; + entity = namedEntity; + } + } + + diff = 1 + end - start; + + if (!terminated && !nonTerminated) ; else if (!characters) { + // An empty (possible) entity is valid, unless it’s numeric (thus an + // ampersand followed by an octothorp). + if (type !== name) { + warning(numericEmpty, diff); + } + } else if (type === name) { + // An ampersand followed by anything unknown, and not terminated, is + // invalid. + if (terminated && !entity) { + warning(namedUnknown, 1); + } else { + // If theres something after an entity name which is not known, cap + // the reference. + if (entityCharacters !== characters) { + end = begin + entityCharacters.length; + diff = 1 + end - begin; + terminated = false; + } + + // If the reference is not terminated, warn. + if (!terminated) { + reason = entityCharacters ? namedNotTerminated : namedEmpty; + + if (settings.attribute) { + following = value.charCodeAt(end); + + if (following === equalsTo) { + warning(reason, diff); + entity = null; + } else if (isAlphanumerical(following)) { + entity = null; + } else { + warning(reason, diff); + } + } else { + warning(reason, diff); + } + } + } + + reference = entity; + } else { + if (!terminated) { + // All non-terminated numeric entities are not rendered, and trigger a + // warning. + warning(numericNotTerminated, diff); + } + + // When terminated and number, parse as either hexadecimal or decimal. + reference = parseInt(characters, bases[type]); + + // Trigger a warning when the parsed number is prohibited, and replace + // with replacement character. + if (prohibited(reference)) { + warning(numericProhibited, diff); + reference = fromCharCode(replacementCharacter); + } else if (reference in invalid) { + // Trigger a warning when the parsed number is disallowed, and replace + // by an alternative. + warning(numericDisallowed, diff); + reference = invalid[reference]; + } else { + // Parse the number. + output = ''; + + // Trigger a warning when the parsed number should not be used. + if (disallowed(reference)) { + warning(numericDisallowed, diff); + } + + // Stringify the number. + if (reference > 0xffff) { + reference -= 0x10000; + output += fromCharCode((reference >>> (10 & 0x3ff)) | 0xd800); + reference = 0xdc00 | (reference & 0x3ff); + } + + reference = output + fromCharCode(reference); + } + } + + // Found it! + // First eat the queued characters as normal text, then eat an entity. + if (reference) { + flush(); + + prev = now(); + index = end - 1; + column += end - start + 1; + result.push(reference); + next = now(); + next.offset++; + + if (handleReference) { + handleReference.call( + referenceContext, + reference, + {start: prev, end: next}, + value.slice(start - 1, end) + ); + } + + prev = next; + } else { + // If we could not find a reference, queue the checked characters (as + // normal characters), and move the pointer to their end. + // This is possible because we can be certain neither newlines nor + // ampersands are included. + characters = value.slice(start - 1, end); + queue += characters; + column += characters.length; + index = end - 1; + } + } else { + // Handle anything other than an ampersand, including newlines and EOF. + if ( + character === 10 // Line feed + ) { + line++; + lines++; + column = 0; + } + + if (character === character) { + queue += fromCharCode(character); + column++; + } else { + flush(); + } + } + } + + // Return the reduced nodes, and any possible warnings. + return result.join('') + + // Get current position. + function now() { + return { + line: line, + column: column, + offset: index + (pos.offset || 0) + } + } + + // “Throw” a parse-error: a warning. + function parseError(code, offset) { + var position = now(); + + position.column += offset; + position.offset += offset; + + handleWarning.call(warningContext, messages[code], position, code); + } + + // Flush `queue` (normal text). + // Macro invoked before each entity and at the end of `value`. + // Does nothing when `queue` is empty. + function flush() { + if (queue) { + result.push(queue); + + if (handleText) { + handleText.call(textContext, queue, {start: prev, end: now()}); + } + + queue = ''; + } + } +} + +// Check if `character` is outside the permissible unicode range. +function prohibited(code) { + return (code >= 0xd800 && code <= 0xdfff) || code > 0x10ffff +} + +// Check if `character` is disallowed. +function disallowed(code) { + return ( + (code >= 0x0001 && code <= 0x0008) || + code === 0x000b || + (code >= 0x000d && code <= 0x001f) || + (code >= 0x007f && code <= 0x009f) || + (code >= 0xfdd0 && code <= 0xfdef) || + (code & 0xffff) === 0xffff || + (code & 0xffff) === 0xfffe + ) +} + +var decode = factory$4; + +// Factory to create an entity decoder. +function factory$4(ctx) { + decoder.raw = decodeRaw; + + return decoder + + // Normalize `position` to add an `indent`. + function normalize(position) { + var offsets = ctx.offset; + var line = position.line; + var result = []; + + while (++line) { + if (!(line in offsets)) { + break + } + + result.push((offsets[line] || 0) + 1); + } + + return {start: position, indent: result} + } + + // Decode `value` (at `position`) into text-nodes. + function decoder(value, position, handler) { + parseEntities_1(value, { + position: normalize(position), + warning: handleWarning, + text: handler, + reference: handler, + textContext: ctx, + referenceContext: ctx + }); + } + + // Decode `value` (at `position`) into a string. + function decodeRaw(value, position, options) { + return parseEntities_1( + value, + immutable(options, {position: normalize(position), warning: handleWarning}) + ) + } + + // Handle a warning. + // See for the warnings. + function handleWarning(reason, position, code) { + if (code !== 3) { + ctx.file.message(reason, position); + } + } +} + +var tokenizer = factory$5; + +// Construct a tokenizer. This creates both `tokenizeInline` and `tokenizeBlock`. +function factory$5(type) { + return tokenize + + // Tokenizer for a bound `type`. + function tokenize(value, location) { + var self = this; + var offset = self.offset; + var tokens = []; + var methods = self[type + 'Methods']; + var tokenizers = self[type + 'Tokenizers']; + var line = location.line; + var column = location.column; + var index; + var length; + var method; + var name; + var matched; + var valueLength; + + // Trim white space only lines. + if (!value) { + return tokens + } + + // Expose on `eat`. + eat.now = now; + eat.file = self.file; + + // Sync initial offset. + updatePosition(''); + + // Iterate over `value`, and iterate over all tokenizers. When one eats + // something, re-iterate with the remaining value. If no tokenizer eats, + // something failed (should not happen) and an exception is thrown. + while (value) { + index = -1; + length = methods.length; + matched = false; + + while (++index < length) { + name = methods[index]; + method = tokenizers[name]; + + if ( + method && + /* istanbul ignore next */ (!method.onlyAtStart || self.atStart) && + (!method.notInList || !self.inList) && + (!method.notInBlock || !self.inBlock) && + (!method.notInLink || !self.inLink) + ) { + valueLength = value.length; + + method.apply(self, [eat, value]); + + matched = valueLength !== value.length; + + if (matched) { + break + } + } + } + + /* istanbul ignore if */ + if (!matched) { + self.file.fail(new Error('Infinite loop'), eat.now()); + } + } + + self.eof = now(); + + return tokens + + // Update line, column, and offset based on `value`. + function updatePosition(subvalue) { + var lastIndex = -1; + var index = subvalue.indexOf('\n'); + + while (index !== -1) { + line++; + lastIndex = index; + index = subvalue.indexOf('\n', index + 1); + } + + if (lastIndex === -1) { + column += subvalue.length; + } else { + column = subvalue.length - lastIndex; + } + + if (line in offset) { + if (lastIndex !== -1) { + column += offset[line]; + } else if (column <= offset[line]) { + column = offset[line] + 1; + } + } + } + + // Get offset. Called before the first character is eaten to retrieve the + // range’s offsets. + function getOffset() { + var indentation = []; + var pos = line + 1; + + // Done. Called when the last character is eaten to retrieve the range’s + // offsets. + return function() { + var last = line + 1; + + while (pos < last) { + indentation.push((offset[pos] || 0) + 1); + + pos++; + } + + return indentation + } + } + + // Get the current position. + function now() { + var pos = {line: line, column: column}; + + pos.offset = self.toOffset(pos); + + return pos + } + + // Store position information for a node. + function Position(start) { + this.start = start; + this.end = now(); + } + + // Throw when a value is incorrectly eaten. This shouldn’t happen but will + // throw on new, incorrect rules. + function validateEat(subvalue) { + /* istanbul ignore if */ + if (value.slice(0, subvalue.length) !== subvalue) { + // Capture stack-trace. + self.file.fail( + new Error( + 'Incorrectly eaten value: please report this warning on https://git.io/vg5Ft' + ), + now() + ); + } + } + + // Mark position and patch `node.position`. + function position() { + var before = now(); + + return update + + // Add the position to a node. + function update(node, indent) { + var prev = node.position; + var start = prev ? prev.start : before; + var combined = []; + var n = prev && prev.end.line; + var l = before.line; + + node.position = new Position(start); + + // If there was already a `position`, this node was merged. Fixing + // `start` wasn’t hard, but the indent is different. Especially + // because some information, the indent between `n` and `l` wasn’t + // tracked. Luckily, that space is (should be?) empty, so we can + // safely check for it now. + if (prev && indent && prev.indent) { + combined = prev.indent; + + if (n < l) { + while (++n < l) { + combined.push((offset[n] || 0) + 1); + } + + combined.push(before.column); + } + + indent = combined.concat(indent); + } + + node.position.indent = indent || []; + + return node + } + } + + // Add `node` to `parent`s children or to `tokens`. Performs merges where + // possible. + function add(node, parent) { + var children = parent ? parent.children : tokens; + var prev = children[children.length - 1]; + var fn; + + if ( + prev && + node.type === prev.type && + (node.type === 'text' || node.type === 'blockquote') && + mergeable(prev) && + mergeable(node) + ) { + fn = node.type === 'text' ? mergeText : mergeBlockquote; + node = fn.call(self, prev, node); + } + + if (node !== prev) { + children.push(node); + } + + if (self.atStart && tokens.length !== 0) { + self.exitStart(); + } + + return node + } + + // Remove `subvalue` from `value`. `subvalue` must be at the start of + // `value`. + function eat(subvalue) { + var indent = getOffset(); + var pos = position(); + var current = now(); + + validateEat(subvalue); + + apply.reset = reset; + reset.test = test; + apply.test = test; + + value = value.slice(subvalue.length); + + updatePosition(subvalue); + + indent = indent(); + + return apply + + // Add the given arguments, add `position` to the returned node, and + // return the node. + function apply(node, parent) { + return pos(add(pos(node), parent), indent) + } + + // Functions just like apply, but resets the content: the line and + // column are reversed, and the eaten value is re-added. This is + // useful for nodes with a single type of content, such as lists and + // tables. See `apply` above for what parameters are expected. + function reset() { + var node = apply.apply(null, arguments); + + line = current.line; + column = current.column; + value = subvalue + value; + + return node + } + + // Test the position, after eating, and reverse to a not-eaten state. + function test() { + var result = pos({}); + + line = current.line; + column = current.column; + value = subvalue + value; + + return result.position + } + } + } +} + +// Check whether a node is mergeable with adjacent nodes. +function mergeable(node) { + var start; + var end; + + if (node.type !== 'text' || !node.position) { + return true + } + + start = node.position.start; + end = node.position.end; + + // Only merge nodes which occupy the same size as their `value`. + return ( + start.line !== end.line || end.column - start.column === node.value.length + ) +} + +// Merge two text nodes: `node` into `prev`. +function mergeText(prev, node) { + prev.value += node.value; + + return prev +} + +// Merge two blockquotes: `node` into `prev`, unless in CommonMark or gfm modes. +function mergeBlockquote(prev, node) { + if (this.options.commonmark || this.options.gfm) { + return node + } + + prev.children = prev.children.concat(node.children); + + return prev +} + +var markdownEscapes = escapes; + +var defaults$1 = [ + '\\', + '`', + '*', + '{', + '}', + '[', + ']', + '(', + ')', + '#', + '+', + '-', + '.', + '!', + '_', + '>' +]; + +var gfm = defaults$1.concat(['~', '|']); + +var commonmark = gfm.concat([ + '\n', + '"', + '$', + '%', + '&', + "'", + ',', + '/', + ':', + ';', + '<', + '=', + '?', + '@', + '^' +]); + +escapes.default = defaults$1; +escapes.gfm = gfm; +escapes.commonmark = commonmark; + +// Get markdown escapes. +function escapes(options) { + var settings = options || {}; + + if (settings.commonmark) { + return commonmark + } + + return settings.gfm ? gfm : defaults$1 +} + +var blockElements = [ + 'address', + 'article', + 'aside', + 'base', + 'basefont', + 'blockquote', + 'body', + 'caption', + 'center', + 'col', + 'colgroup', + 'dd', + 'details', + 'dialog', + 'dir', + 'div', + 'dl', + 'dt', + 'fieldset', + 'figcaption', + 'figure', + 'footer', + 'form', + 'frame', + 'frameset', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'head', + 'header', + 'hgroup', + 'hr', + 'html', + 'iframe', + 'legend', + 'li', + 'link', + 'main', + 'menu', + 'menuitem', + 'meta', + 'nav', + 'noframes', + 'ol', + 'optgroup', + 'option', + 'p', + 'param', + 'pre', + 'section', + 'source', + 'title', + 'summary', + 'table', + 'tbody', + 'td', + 'tfoot', + 'th', + 'thead', + 'title', + 'tr', + 'track', + 'ul' +]; + +var defaults$2 = { + position: true, + gfm: true, + commonmark: false, + footnotes: false, + pedantic: false, + blocks: blockElements +}; + +var setOptions_1 = setOptions; + +function setOptions(options) { + var self = this; + var current = self.options; + var key; + var value; + + if (options == null) { + options = {}; + } else if (typeof options === 'object') { + options = immutable(options); + } else { + throw new Error('Invalid value `' + options + '` for setting `options`') + } + + for (key in defaults$2) { + value = options[key]; + + if (value == null) { + value = current[key]; + } + + if ( + (key !== 'blocks' && typeof value !== 'boolean') || + (key === 'blocks' && typeof value !== 'object') + ) { + throw new Error( + 'Invalid value `' + value + '` for setting `options.' + key + '`' + ) + } + + options[key] = value; + } + + self.options = options; + self.escape = markdownEscapes(options); + + return self +} + +var convert_1 = convert$1; + +function convert$1(test) { + if (typeof test === 'string') { + return typeFactory(test) + } + + if (test === null || test === undefined) { + return ok$1 + } + + if (typeof test === 'object') { + return ('length' in test ? anyFactory : matchesFactory)(test) + } + + if (typeof test === 'function') { + return test + } + + throw new Error('Expected function, string, or object as test') +} + +function convertAll(tests) { + var results = []; + var length = tests.length; + var index = -1; + + while (++index < length) { + results[index] = convert$1(tests[index]); + } + + return results +} + +// Utility assert each property in `test` is represented in `node`, and each +// values are strictly equal. +function matchesFactory(test) { + return matches + + function matches(node) { + var key; + + for (key in test) { + if (node[key] !== test[key]) { + return false + } + } + + return true + } +} + +function anyFactory(tests) { + var checks = convertAll(tests); + var length = checks.length; + + return matches + + function matches() { + var index = -1; + + while (++index < length) { + if (checks[index].apply(this, arguments)) { + return true + } + } + + return false + } +} + +// Utility to convert a string into a function which checks a given node’s type +// for said string. +function typeFactory(test) { + return type + + function type(node) { + return Boolean(node && node.type === test) + } +} + +// Utility to return true. +function ok$1() { + return true +} + +var unistUtilVisitParents = visitParents; + + + +var CONTINUE = true; +var SKIP = 'skip'; +var EXIT = false; + +visitParents.CONTINUE = CONTINUE; +visitParents.SKIP = SKIP; +visitParents.EXIT = EXIT; + +function visitParents(tree, test, visitor, reverse) { + var is; + + if (typeof test === 'function' && typeof visitor !== 'function') { + reverse = visitor; + visitor = test; + test = null; + } + + is = convert_1(test); + + one(tree, null, []); + + // Visit a single node. + function one(node, index, parents) { + var result = []; + var subresult; + + if (!test || is(node, index, parents[parents.length - 1] || null)) { + result = toResult(visitor(node, parents)); + + if (result[0] === EXIT) { + return result + } + } + + if (node.children && result[0] !== SKIP) { + subresult = toResult(all(node.children, parents.concat(node))); + return subresult[0] === EXIT ? subresult : result + } + + return result + } + + // Visit children in `parent`. + function all(children, parents) { + var min = -1; + var step = reverse ? -1 : 1; + var index = (reverse ? children.length : min) + step; + var result; + + while (index > min && index < children.length) { + result = one(children[index], index, parents); + + if (result[0] === EXIT) { + return result + } + + index = typeof result[1] === 'number' ? result[1] : index + step; + } + } +} + +function toResult(value) { + if (value !== null && typeof value === 'object' && 'length' in value) { + return value + } + + if (typeof value === 'number') { + return [CONTINUE, value] + } + + return [value] +} + +var unistUtilVisit = visit; + + + +var CONTINUE$1 = unistUtilVisitParents.CONTINUE; +var SKIP$1 = unistUtilVisitParents.SKIP; +var EXIT$1 = unistUtilVisitParents.EXIT; + +visit.CONTINUE = CONTINUE$1; +visit.SKIP = SKIP$1; +visit.EXIT = EXIT$1; + +function visit(tree, test, visitor, reverse) { + if (typeof test === 'function' && typeof visitor !== 'function') { + reverse = visitor; + visitor = test; + test = null; + } + + unistUtilVisitParents(tree, test, overload, reverse); + + function overload(node, parents) { + var parent = parents[parents.length - 1]; + var index = parent ? parent.children.indexOf(node) : null; + return visitor(node, index, parent) + } +} + +var unistUtilRemovePosition = removePosition; + +function removePosition(node, force) { + unistUtilVisit(node, force ? hard : soft); + return node +} + +function hard(node) { + delete node.position; +} + +function soft(node) { + node.position = undefined; +} + +var parse_1$3 = parse$9; + +var lineFeed$1 = '\n'; +var lineBreaksExpression = /\r\n|\r/g; + +// Parse the bound file. +function parse$9() { + var self = this; + var value = String(self.file); + var start = {line: 1, column: 1, offset: 0}; + var content = immutable(start); + var node; + + // Clean non-unix newlines: `\r\n` and `\r` are all changed to `\n`. + // This should not affect positional information. + value = value.replace(lineBreaksExpression, lineFeed$1); + + // BOM. + if (value.charCodeAt(0) === 0xfeff) { + value = value.slice(1); + + content.column++; + content.offset++; + } + + node = { + type: 'root', + children: self.tokenizeBlock(value, content), + position: {start: start, end: self.eof || immutable(start)} + }; + + if (!self.options.position) { + unistUtilRemovePosition(node, true); + } + + return node +} + +var isWhitespaceCharacter = whitespace; + +var fromCode = String.fromCharCode; +var re$1 = /\s/; + +// Check if the given character code, or the character code at the first +// character, is a whitespace character. +function whitespace(character) { + return re$1.test( + typeof character === 'number' ? fromCode(character) : character.charAt(0) + ) +} + +var newline_1 = newline; + +var lineFeed$2 = '\n'; + +function newline(eat, value, silent) { + var character = value.charAt(0); + var length; + var subvalue; + var queue; + var index; + + if (character !== lineFeed$2) { + return + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + index = 1; + length = value.length; + subvalue = character; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (!isWhitespaceCharacter(character)) { + break + } + + queue += character; + + if (character === lineFeed$2) { + subvalue += queue; + queue = ''; + } + + index++; + } + + eat(subvalue); +} + +var trimTrailingLines_1 = trimTrailingLines; + +var line$1 = '\n'; + +// Remove final newline characters from `value`. +function trimTrailingLines(value) { + var val = String(value); + var index = val.length; + + while (val.charAt(--index) === line$1) { + // Empty + } + + return val.slice(0, index + 1) +} + +var codeIndented = indentedCode; + +var lineFeed$3 = '\n'; +var tab$1 = '\t'; +var space$1 = ' '; + +var tabSize = 4; +var codeIndent = repeatString(space$1, tabSize); + +function indentedCode(eat, value, silent) { + var index = -1; + var length = value.length; + var subvalue = ''; + var content = ''; + var subvalueQueue = ''; + var contentQueue = ''; + var character; + var blankQueue; + var indent; + + while (++index < length) { + character = value.charAt(index); + + if (indent) { + indent = false; + + subvalue += subvalueQueue; + content += contentQueue; + subvalueQueue = ''; + contentQueue = ''; + + if (character === lineFeed$3) { + subvalueQueue = character; + contentQueue = character; + } else { + subvalue += character; + content += character; + + while (++index < length) { + character = value.charAt(index); + + if (!character || character === lineFeed$3) { + contentQueue = character; + subvalueQueue = character; + break + } + + subvalue += character; + content += character; + } + } + } else if ( + character === space$1 && + value.charAt(index + 1) === character && + value.charAt(index + 2) === character && + value.charAt(index + 3) === character + ) { + subvalueQueue += codeIndent; + index += 3; + indent = true; + } else if (character === tab$1) { + subvalueQueue += character; + indent = true; + } else { + blankQueue = ''; + + while (character === tab$1 || character === space$1) { + blankQueue += character; + character = value.charAt(++index); + } + + if (character !== lineFeed$3) { + break + } + + subvalueQueue += blankQueue + character; + contentQueue += character; + } + } + + if (content) { + if (silent) { + return true + } + + return eat(subvalue)({ + type: 'code', + lang: null, + meta: null, + value: trimTrailingLines_1(content) + }) + } +} + +var codeFenced = fencedCode; + +var lineFeed$4 = '\n'; +var tab$2 = '\t'; +var space$2 = ' '; +var tilde$1 = '~'; +var graveAccent = '`'; + +var minFenceCount = 3; +var tabSize$1 = 4; + +function fencedCode(eat, value, silent) { + var self = this; + var gfm = self.options.gfm; + var length = value.length + 1; + var index = 0; + var subvalue = ''; + var fenceCount; + var marker; + var character; + var flag; + var lang; + var meta; + var queue; + var content; + var exdentedContent; + var closing; + var exdentedClosing; + var indent; + var now; + + if (!gfm) { + return + } + + // Eat initial spacing. + while (index < length) { + character = value.charAt(index); + + if (character !== space$2 && character !== tab$2) { + break + } + + subvalue += character; + index++; + } + + indent = index; + + // Eat the fence. + character = value.charAt(index); + + if (character !== tilde$1 && character !== graveAccent) { + return + } + + index++; + marker = character; + fenceCount = 1; + subvalue += character; + + while (index < length) { + character = value.charAt(index); + + if (character !== marker) { + break + } + + subvalue += character; + fenceCount++; + index++; + } + + if (fenceCount < minFenceCount) { + return + } + + // Eat spacing before flag. + while (index < length) { + character = value.charAt(index); + + if (character !== space$2 && character !== tab$2) { + break + } + + subvalue += character; + index++; + } + + // Eat flag. + flag = ''; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if ( + character === lineFeed$4 || + (marker === graveAccent && character === marker) + ) { + break + } + + if (character === space$2 || character === tab$2) { + queue += character; + } else { + flag += queue + character; + queue = ''; + } + + index++; + } + + character = value.charAt(index); + + if (character && character !== lineFeed$4) { + return + } + + if (silent) { + return true + } + + now = eat.now(); + now.column += subvalue.length; + now.offset += subvalue.length; + + subvalue += flag; + flag = self.decode.raw(self.unescape(flag), now); + + if (queue) { + subvalue += queue; + } + + queue = ''; + closing = ''; + exdentedClosing = ''; + content = ''; + exdentedContent = ''; + var skip = true; + + // Eat content. + while (index < length) { + character = value.charAt(index); + content += closing; + exdentedContent += exdentedClosing; + closing = ''; + exdentedClosing = ''; + + if (character !== lineFeed$4) { + content += character; + exdentedClosing += character; + index++; + continue + } + + // The first line feed is ignored. Others aren’t. + if (skip) { + subvalue += character; + skip = false; + } else { + closing += character; + exdentedClosing += character; + } + + queue = ''; + index++; + + while (index < length) { + character = value.charAt(index); + + if (character !== space$2) { + break + } + + queue += character; + index++; + } + + closing += queue; + exdentedClosing += queue.slice(indent); + + if (queue.length >= tabSize$1) { + continue + } + + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character !== marker) { + break + } + + queue += character; + index++; + } + + closing += queue; + exdentedClosing += queue; + + if (queue.length < fenceCount) { + continue + } + + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character !== space$2 && character !== tab$2) { + break + } + + closing += character; + exdentedClosing += character; + index++; + } + + if (!character || character === lineFeed$4) { + break + } + } + + subvalue += content + closing; + + // Get lang and meta from the flag. + index = -1; + length = flag.length; + + while (++index < length) { + character = flag.charAt(index); + + if (character === space$2 || character === tab$2) { + if (!lang) { + lang = flag.slice(0, index); + } + } else if (lang) { + meta = flag.slice(index); + break + } + } + + return eat(subvalue)({ + type: 'code', + lang: lang || flag || null, + meta: meta || null, + value: exdentedContent + }) +} + +var trim_1 = createCommonjsModule(function (module, exports) { +exports = module.exports = trim; + +function trim(str){ + return str.replace(/^\s*|\s*$/g, ''); +} + +exports.left = function(str){ + return str.replace(/^\s*/, ''); +}; + +exports.right = function(str){ + return str.replace(/\s*$/, ''); +}; +}); +var trim_2 = trim_1.left; +var trim_3 = trim_1.right; + +var interrupt_1 = interrupt; + +function interrupt(interruptors, tokenizers, ctx, params) { + var length = interruptors.length; + var index = -1; + var interruptor; + var config; + + while (++index < length) { + interruptor = interruptors[index]; + config = interruptor[1] || {}; + + if ( + config.pedantic !== undefined && + config.pedantic !== ctx.options.pedantic + ) { + continue + } + + if ( + config.commonmark !== undefined && + config.commonmark !== ctx.options.commonmark + ) { + continue + } + + if (tokenizers[interruptor[0]].apply(ctx, params)) { + return true + } + } + + return false +} + +var blockquote_1 = blockquote; + +var lineFeed$5 = '\n'; +var tab$3 = '\t'; +var space$3 = ' '; +var greaterThan = '>'; + +function blockquote(eat, value, silent) { + var self = this; + var offsets = self.offset; + var tokenizers = self.blockTokenizers; + var interruptors = self.interruptBlockquote; + var now = eat.now(); + var currentLine = now.line; + var length = value.length; + var values = []; + var contents = []; + var indents = []; + var add; + var index = 0; + var character; + var rest; + var nextIndex; + var content; + var line; + var startIndex; + var prefixed; + var exit; + + while (index < length) { + character = value.charAt(index); + + if (character !== space$3 && character !== tab$3) { + break + } + + index++; + } + + if (value.charAt(index) !== greaterThan) { + return + } + + if (silent) { + return true + } + + index = 0; + + while (index < length) { + nextIndex = value.indexOf(lineFeed$5, index); + startIndex = index; + prefixed = false; + + if (nextIndex === -1) { + nextIndex = length; + } + + while (index < length) { + character = value.charAt(index); + + if (character !== space$3 && character !== tab$3) { + break + } + + index++; + } + + if (value.charAt(index) === greaterThan) { + index++; + prefixed = true; + + if (value.charAt(index) === space$3) { + index++; + } + } else { + index = startIndex; + } + + content = value.slice(index, nextIndex); + + if (!prefixed && !trim_1(content)) { + index = startIndex; + break + } + + if (!prefixed) { + rest = value.slice(index); + + // Check if the following code contains a possible block. + if (interrupt_1(interruptors, tokenizers, self, [eat, rest, true])) { + break + } + } + + line = startIndex === index ? content : value.slice(startIndex, nextIndex); + + indents.push(index - startIndex); + values.push(line); + contents.push(content); + + index = nextIndex + 1; + } + + index = -1; + length = indents.length; + add = eat(values.join(lineFeed$5)); + + while (++index < length) { + offsets[currentLine] = (offsets[currentLine] || 0) + indents[index]; + currentLine++; + } + + exit = self.enterBlock(); + contents = self.tokenizeBlock(contents.join(lineFeed$5), now); + exit(); + + return add({type: 'blockquote', children: contents}) +} + +var headingAtx = atxHeading; + +var lineFeed$6 = '\n'; +var tab$4 = '\t'; +var space$4 = ' '; +var numberSign$1 = '#'; + +var maxFenceCount = 6; + +function atxHeading(eat, value, silent) { + var self = this; + var pedantic = self.options.pedantic; + var length = value.length + 1; + var index = -1; + var now = eat.now(); + var subvalue = ''; + var content = ''; + var character; + var queue; + var depth; + + // Eat initial spacing. + while (++index < length) { + character = value.charAt(index); + + if (character !== space$4 && character !== tab$4) { + index--; + break + } + + subvalue += character; + } + + // Eat hashes. + depth = 0; + + while (++index <= length) { + character = value.charAt(index); + + if (character !== numberSign$1) { + index--; + break + } + + subvalue += character; + depth++; + } + + if (depth > maxFenceCount) { + return + } + + if (!depth || (!pedantic && value.charAt(index + 1) === numberSign$1)) { + return + } + + length = value.length + 1; + + // Eat intermediate white-space. + queue = ''; + + while (++index < length) { + character = value.charAt(index); + + if (character !== space$4 && character !== tab$4) { + index--; + break + } + + queue += character; + } + + // Exit when not in pedantic mode without spacing. + if (!pedantic && queue.length === 0 && character && character !== lineFeed$6) { + return + } + + if (silent) { + return true + } + + // Eat content. + subvalue += queue; + queue = ''; + content = ''; + + while (++index < length) { + character = value.charAt(index); + + if (!character || character === lineFeed$6) { + break + } + + if (character !== space$4 && character !== tab$4 && character !== numberSign$1) { + content += queue + character; + queue = ''; + continue + } + + while (character === space$4 || character === tab$4) { + queue += character; + character = value.charAt(++index); + } + + // `#` without a queue is part of the content. + if (!pedantic && content && !queue && character === numberSign$1) { + content += character; + continue + } + + while (character === numberSign$1) { + queue += character; + character = value.charAt(++index); + } + + while (character === space$4 || character === tab$4) { + queue += character; + character = value.charAt(++index); + } + + index--; + } + + now.column += subvalue.length; + now.offset += subvalue.length; + subvalue += content + queue; + + return eat(subvalue)({ + type: 'heading', + depth: depth, + children: self.tokenizeInline(content, now) + }) +} + +var thematicBreak_1 = thematicBreak; + +var tab$5 = '\t'; +var lineFeed$7 = '\n'; +var space$5 = ' '; +var asterisk = '*'; +var dash$1 = '-'; +var underscore = '_'; + +var maxCount = 3; + +function thematicBreak(eat, value, silent) { + var index = -1; + var length = value.length + 1; + var subvalue = ''; + var character; + var marker; + var markerCount; + var queue; + + while (++index < length) { + character = value.charAt(index); + + if (character !== tab$5 && character !== space$5) { + break + } + + subvalue += character; + } + + if ( + character !== asterisk && + character !== dash$1 && + character !== underscore + ) { + return + } + + marker = character; + subvalue += character; + markerCount = 1; + queue = ''; + + while (++index < length) { + character = value.charAt(index); + + if (character === marker) { + markerCount++; + subvalue += queue + marker; + queue = ''; + } else if (character === space$5) { + queue += character; + } else if ( + markerCount >= maxCount && + (!character || character === lineFeed$7) + ) { + subvalue += queue; + + if (silent) { + return true + } + + return eat(subvalue)({type: 'thematicBreak'}) + } else { + return + } + } +} + +var getIndentation = indentation; + +var tab$6 = '\t'; +var space$6 = ' '; + +var spaceSize = 1; +var tabSize$2 = 4; + +// Gets indentation information for a line. +function indentation(value) { + var index = 0; + var indent = 0; + var character = value.charAt(index); + var stops = {}; + var size; + + while (character === tab$6 || character === space$6) { + size = character === tab$6 ? tabSize$2 : spaceSize; + + indent += size; + + if (size > 1) { + indent = Math.floor(indent / size) * size; + } + + stops[indent] = index; + character = value.charAt(++index); + } + + return {indent: indent, stops: stops} +} + +var removeIndentation = indentation$1; + +var tab$7 = '\t'; +var lineFeed$8 = '\n'; +var space$7 = ' '; +var exclamationMark = '!'; + +// Remove the minimum indent from every line in `value`. Supports both tab, +// spaced, and mixed indentation (as well as possible). +function indentation$1(value, maximum) { + var values = value.split(lineFeed$8); + var position = values.length + 1; + var minIndent = Infinity; + var matrix = []; + var index; + var indentation; + var stops; + var padding; + + values.unshift(repeatString(space$7, maximum) + exclamationMark); + + while (position--) { + indentation = getIndentation(values[position]); + + matrix[position] = indentation.stops; + + if (trim_1(values[position]).length === 0) { + continue + } + + if (indentation.indent) { + if (indentation.indent > 0 && indentation.indent < minIndent) { + minIndent = indentation.indent; + } + } else { + minIndent = Infinity; + + break + } + } + + if (minIndent !== Infinity) { + position = values.length; + + while (position--) { + stops = matrix[position]; + index = minIndent; + + while (index && !(index in stops)) { + index--; + } + + if ( + trim_1(values[position]).length !== 0 && + minIndent && + index !== minIndent + ) { + padding = tab$7; + } else { + padding = ''; + } + + values[position] = + padding + values[position].slice(index in stops ? stops[index] + 1 : 0); + } + } + + values.shift(); + + return values.join(lineFeed$8) +} + +var list_1 = list; + +var asterisk$1 = '*'; +var underscore$1 = '_'; +var plusSign = '+'; +var dash$2 = '-'; +var dot$1 = '.'; +var space$8 = ' '; +var lineFeed$9 = '\n'; +var tab$8 = '\t'; +var rightParenthesis = ')'; +var lowercaseX$1 = 'x'; + +var tabSize$3 = 4; +var looseListItemExpression = /\n\n(?!\s*$)/; +var taskItemExpression = /^\[([ \t]|x|X)][ \t]/; +var bulletExpression = /^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/; +var pedanticBulletExpression = /^([ \t]*)([*+-]|\d+[.)])([ \t]+)/; +var initialIndentExpression = /^( {1,4}|\t)?/gm; + +function list(eat, value, silent) { + var self = this; + var commonmark = self.options.commonmark; + var pedantic = self.options.pedantic; + var tokenizers = self.blockTokenizers; + var interuptors = self.interruptList; + var index = 0; + var length = value.length; + var start = null; + var size = 0; + var queue; + var ordered; + var character; + var marker; + var nextIndex; + var startIndex; + var prefixed; + var currentMarker; + var content; + var line; + var prevEmpty; + var empty; + var items; + var allLines; + var emptyLines; + var item; + var enterTop; + var exitBlockquote; + var spread = false; + var node; + var now; + var end; + var indented; + + while (index < length) { + character = value.charAt(index); + + if (character === tab$8) { + size += tabSize$3 - (size % tabSize$3); + } else if (character === space$8) { + size++; + } else { + break + } + + index++; + } + + if (size >= tabSize$3) { + return + } + + character = value.charAt(index); + + if (character === asterisk$1 || character === plusSign || character === dash$2) { + marker = character; + ordered = false; + } else { + ordered = true; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (!isDecimal(character)) { + break + } + + queue += character; + index++; + } + + character = value.charAt(index); + + if ( + !queue || + !(character === dot$1 || (commonmark && character === rightParenthesis)) + ) { + return + } + + start = parseInt(queue, 10); + marker = character; + } + + character = value.charAt(++index); + + if ( + character !== space$8 && + character !== tab$8 && + (pedantic || (character !== lineFeed$9 && character !== '')) + ) { + return + } + + if (silent) { + return true + } + + index = 0; + items = []; + allLines = []; + emptyLines = []; + + while (index < length) { + nextIndex = value.indexOf(lineFeed$9, index); + startIndex = index; + prefixed = false; + indented = false; + + if (nextIndex === -1) { + nextIndex = length; + } + + end = index + tabSize$3; + size = 0; + + while (index < length) { + character = value.charAt(index); + + if (character === tab$8) { + size += tabSize$3 - (size % tabSize$3); + } else if (character === space$8) { + size++; + } else { + break + } + + index++; + } + + if (size >= tabSize$3) { + indented = true; + } + + if (item && size >= item.indent) { + indented = true; + } + + character = value.charAt(index); + currentMarker = null; + + if (!indented) { + if ( + character === asterisk$1 || + character === plusSign || + character === dash$2 + ) { + currentMarker = character; + index++; + size++; + } else { + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (!isDecimal(character)) { + break + } + + queue += character; + index++; + } + + character = value.charAt(index); + index++; + + if ( + queue && + (character === dot$1 || (commonmark && character === rightParenthesis)) + ) { + currentMarker = character; + size += queue.length + 1; + } + } + + if (currentMarker) { + character = value.charAt(index); + + if (character === tab$8) { + size += tabSize$3 - (size % tabSize$3); + index++; + } else if (character === space$8) { + end = index + tabSize$3; + + while (index < end) { + if (value.charAt(index) !== space$8) { + break + } + + index++; + size++; + } + + if (index === end && value.charAt(index) === space$8) { + index -= tabSize$3 - 1; + size -= tabSize$3 - 1; + } + } else if (character !== lineFeed$9 && character !== '') { + currentMarker = null; + } + } + } + + if (currentMarker) { + if (!pedantic && marker !== currentMarker) { + break + } + + prefixed = true; + } else { + if (!commonmark && !indented && value.charAt(startIndex) === space$8) { + indented = true; + } else if (commonmark && item) { + indented = size >= item.indent || size > tabSize$3; + } + + prefixed = false; + index = startIndex; + } + + line = value.slice(startIndex, nextIndex); + content = startIndex === index ? line : value.slice(index, nextIndex); + + if ( + currentMarker === asterisk$1 || + currentMarker === underscore$1 || + currentMarker === dash$2 + ) { + if (tokenizers.thematicBreak.call(self, eat, line, true)) { + break + } + } + + prevEmpty = empty; + empty = !prefixed && !trim_1(content).length; + + if (indented && item) { + item.value = item.value.concat(emptyLines, line); + allLines = allLines.concat(emptyLines, line); + emptyLines = []; + } else if (prefixed) { + if (emptyLines.length !== 0) { + spread = true; + item.value.push(''); + item.trail = emptyLines.concat(); + } + + item = { + value: [line], + indent: size, + trail: [] + }; + + items.push(item); + allLines = allLines.concat(emptyLines, line); + emptyLines = []; + } else if (empty) { + if (prevEmpty && !commonmark) { + break + } + + emptyLines.push(line); + } else { + if (prevEmpty) { + break + } + + if (interrupt_1(interuptors, tokenizers, self, [eat, line, true])) { + break + } + + item.value = item.value.concat(emptyLines, line); + allLines = allLines.concat(emptyLines, line); + emptyLines = []; + } + + index = nextIndex + 1; + } + + node = eat(allLines.join(lineFeed$9)).reset({ + type: 'list', + ordered: ordered, + start: start, + spread: spread, + children: [] + }); + + enterTop = self.enterList(); + exitBlockquote = self.enterBlock(); + index = -1; + length = items.length; + + while (++index < length) { + item = items[index].value.join(lineFeed$9); + now = eat.now(); + + eat(item)(listItem(self, item, now), node); + + item = items[index].trail.join(lineFeed$9); + + if (index !== length - 1) { + item += lineFeed$9; + } + + eat(item); + } + + enterTop(); + exitBlockquote(); + + return node +} + +function listItem(ctx, value, position) { + var offsets = ctx.offset; + var fn = ctx.options.pedantic ? pedanticListItem : normalListItem; + var checked = null; + var task; + var indent; + + value = fn.apply(null, arguments); + + if (ctx.options.gfm) { + task = value.match(taskItemExpression); + + if (task) { + indent = task[0].length; + checked = task[1].toLowerCase() === lowercaseX$1; + offsets[position.line] += indent; + value = value.slice(indent); + } + } + + return { + type: 'listItem', + spread: looseListItemExpression.test(value), + checked: checked, + children: ctx.tokenizeBlock(value, position) + } +} + +// Create a list-item using overly simple mechanics. +function pedanticListItem(ctx, value, position) { + var offsets = ctx.offset; + var line = position.line; + + // Remove the list-item’s bullet. + value = value.replace(pedanticBulletExpression, replacer); + + // The initial line was also matched by the below, so we reset the `line`. + line = position.line; + + return value.replace(initialIndentExpression, replacer) + + // A simple replacer which removed all matches, and adds their length to + // `offset`. + function replacer($0) { + offsets[line] = (offsets[line] || 0) + $0.length; + line++; + + return '' + } +} + +// Create a list-item using sane mechanics. +function normalListItem(ctx, value, position) { + var offsets = ctx.offset; + var line = position.line; + var max; + var bullet; + var rest; + var lines; + var trimmedLines; + var index; + var length; + + // Remove the list-item’s bullet. + value = value.replace(bulletExpression, replacer); + + lines = value.split(lineFeed$9); + + trimmedLines = removeIndentation(value, getIndentation(max).indent).split(lineFeed$9); + + // We replaced the initial bullet with something else above, which was used + // to trick `removeIndentation` into removing some more characters when + // possible. However, that could result in the initial line to be stripped + // more than it should be. + trimmedLines[0] = rest; + + offsets[line] = (offsets[line] || 0) + bullet.length; + line++; + + index = 0; + length = lines.length; + + while (++index < length) { + offsets[line] = + (offsets[line] || 0) + lines[index].length - trimmedLines[index].length; + line++; + } + + return trimmedLines.join(lineFeed$9) + + /* eslint-disable-next-line max-params */ + function replacer($0, $1, $2, $3, $4) { + bullet = $1 + $2 + $3; + rest = $4; + + // Make sure that the first nine numbered list items can indent with an + // extra space. That is, when the bullet did not receive an extra final + // space. + if (Number($2) < 10 && bullet.length % 2 === 1) { + $2 = space$8 + $2; + } + + max = $1 + repeatString(space$8, $2.length) + $3; + + return max + rest + } +} + +var headingSetext = setextHeading; + +var lineFeed$a = '\n'; +var tab$9 = '\t'; +var space$9 = ' '; +var equalsTo$1 = '='; +var dash$3 = '-'; + +var maxIndent = 3; + +var equalsToDepth = 1; +var dashDepth = 2; + +function setextHeading(eat, value, silent) { + var self = this; + var now = eat.now(); + var length = value.length; + var index = -1; + var subvalue = ''; + var content; + var queue; + var character; + var marker; + var depth; + + // Eat initial indentation. + while (++index < length) { + character = value.charAt(index); + + if (character !== space$9 || index >= maxIndent) { + index--; + break + } + + subvalue += character; + } + + // Eat content. + content = ''; + queue = ''; + + while (++index < length) { + character = value.charAt(index); + + if (character === lineFeed$a) { + index--; + break + } + + if (character === space$9 || character === tab$9) { + queue += character; + } else { + content += queue + character; + queue = ''; + } + } + + now.column += subvalue.length; + now.offset += subvalue.length; + subvalue += content + queue; + + // Ensure the content is followed by a newline and a valid marker. + character = value.charAt(++index); + marker = value.charAt(++index); + + if (character !== lineFeed$a || (marker !== equalsTo$1 && marker !== dash$3)) { + return + } + + subvalue += character; + + // Eat Setext-line. + queue = marker; + depth = marker === equalsTo$1 ? equalsToDepth : dashDepth; + + while (++index < length) { + character = value.charAt(index); + + if (character !== marker) { + if (character !== lineFeed$a) { + return + } + + index--; + break + } + + queue += character; + } + + if (silent) { + return true + } + + return eat(subvalue + queue)({ + type: 'heading', + depth: depth, + children: self.tokenizeInline(content, now) + }) +} + +var attributeName = '[a-zA-Z_:][a-zA-Z0-9:._-]*'; +var unquoted = '[^"\'=<>`\\u0000-\\u0020]+'; +var singleQuoted = "'[^']*'"; +var doubleQuoted = '"[^"]*"'; +var attributeValue = + '(?:' + unquoted + '|' + singleQuoted + '|' + doubleQuoted + ')'; +var attribute = + '(?:\\s+' + attributeName + '(?:\\s*=\\s*' + attributeValue + ')?)'; +var openTag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>'; +var closeTag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>'; +var comment = '|'; +var processing = '<[?].*?[?]>'; +var declaration = ']*>'; +var cdata = ''; + +var openCloseTag = new RegExp('^(?:' + openTag + '|' + closeTag + ')'); + +var tag = new RegExp( + '^(?:' + + openTag + + '|' + + closeTag + + '|' + + comment + + '|' + + processing + + '|' + + declaration + + '|' + + cdata + + ')' +); + +var html = { + openCloseTag: openCloseTag, + tag: tag +}; + +var openCloseTag$1 = html.openCloseTag; + +var htmlBlock = blockHtml; + +var tab$a = '\t'; +var space$a = ' '; +var lineFeed$b = '\n'; +var lessThan$1 = '<'; + +var rawOpenExpression = /^<(script|pre|style)(?=(\s|>|$))/i; +var rawCloseExpression = /<\/(script|pre|style)>/i; +var commentOpenExpression = /^/; +var instructionOpenExpression = /^<\?/; +var instructionCloseExpression = /\?>/; +var directiveOpenExpression = /^/; +var cdataOpenExpression = /^/; +var elementCloseExpression = /^$/; +var otherElementOpenExpression = new RegExp(openCloseTag$1.source + '\\s*$'); + +function blockHtml(eat, value, silent) { + var self = this; + var blocks = self.options.blocks.join('|'); + var elementOpenExpression = new RegExp( + '^|$))', + 'i' + ); + var length = value.length; + var index = 0; + var next; + var line; + var offset; + var character; + var count; + var sequence; + var subvalue; + + var sequences = [ + [rawOpenExpression, rawCloseExpression, true], + [commentOpenExpression, commentCloseExpression, true], + [instructionOpenExpression, instructionCloseExpression, true], + [directiveOpenExpression, directiveCloseExpression, true], + [cdataOpenExpression, cdataCloseExpression, true], + [elementOpenExpression, elementCloseExpression, true], + [otherElementOpenExpression, elementCloseExpression, false] + ]; + + // Eat initial spacing. + while (index < length) { + character = value.charAt(index); + + if (character !== tab$a && character !== space$a) { + break + } + + index++; + } + + if (value.charAt(index) !== lessThan$1) { + return + } + + next = value.indexOf(lineFeed$b, index + 1); + next = next === -1 ? length : next; + line = value.slice(index, next); + offset = -1; + count = sequences.length; + + while (++offset < count) { + if (sequences[offset][0].test(line)) { + sequence = sequences[offset]; + break + } + } + + if (!sequence) { + return + } + + if (silent) { + return sequence[2] + } + + index = next; + + if (!sequence[1].test(line)) { + while (index < length) { + next = value.indexOf(lineFeed$b, index + 1); + next = next === -1 ? length : next; + line = value.slice(index + 1, next); + + if (sequence[1].test(line)) { + if (line) { + index = next; + } + + break + } + + index = next; + } + } + + subvalue = value.slice(0, index); + + return eat(subvalue)({type: 'html', value: subvalue}) +} + +var collapseWhiteSpace = collapse; + +// `collapse(' \t\nbar \nbaz\t') // ' bar baz '` +function collapse(value) { + return String(value).replace(/\s+/g, ' ') +} + +var normalize_1 = normalize$2; + +// Normalize an identifier. Collapses multiple white space characters into a +// single space, and removes casing. +function normalize$2(value) { + return collapseWhiteSpace(value).toLowerCase() +} + +var footnoteDefinition_1 = footnoteDefinition; +footnoteDefinition.notInList = true; +footnoteDefinition.notInBlock = true; + +var backslash$2 = '\\'; +var lineFeed$c = '\n'; +var tab$b = '\t'; +var space$b = ' '; +var leftSquareBracket = '['; +var rightSquareBracket = ']'; +var caret$1 = '^'; +var colon$1 = ':'; + +var EXPRESSION_INITIAL_TAB = /^( {4}|\t)?/gm; + +function footnoteDefinition(eat, value, silent) { + var self = this; + var offsets = self.offset; + var index; + var length; + var subvalue; + var now; + var currentLine; + var content; + var queue; + var subqueue; + var character; + var identifier; + var add; + var exit; + + if (!self.options.footnotes) { + return + } + + index = 0; + length = value.length; + subvalue = ''; + now = eat.now(); + currentLine = now.line; + + while (index < length) { + character = value.charAt(index); + + if (!isWhitespaceCharacter(character)) { + break + } + + subvalue += character; + index++; + } + + if ( + value.charAt(index) !== leftSquareBracket || + value.charAt(index + 1) !== caret$1 + ) { + return + } + + subvalue += leftSquareBracket + caret$1; + index = subvalue.length; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character === rightSquareBracket) { + break + } else if (character === backslash$2) { + queue += character; + index++; + character = value.charAt(index); + } + + queue += character; + index++; + } + + if ( + !queue || + value.charAt(index) !== rightSquareBracket || + value.charAt(index + 1) !== colon$1 + ) { + return + } + + if (silent) { + return true + } + + identifier = queue; + subvalue += queue + rightSquareBracket + colon$1; + index = subvalue.length; + + while (index < length) { + character = value.charAt(index); + + if (character !== tab$b && character !== space$b) { + break + } + + subvalue += character; + index++; + } + + now.column += subvalue.length; + now.offset += subvalue.length; + queue = ''; + content = ''; + subqueue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character === lineFeed$c) { + subqueue = character; + index++; + + while (index < length) { + character = value.charAt(index); + + if (character !== lineFeed$c) { + break + } + + subqueue += character; + index++; + } + + queue += subqueue; + subqueue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character !== space$b) { + break + } + + subqueue += character; + index++; + } + + if (subqueue.length === 0) { + break + } + + queue += subqueue; + } + + if (queue) { + content += queue; + queue = ''; + } + + content += character; + index++; + } + + subvalue += content; + + content = content.replace(EXPRESSION_INITIAL_TAB, function(line) { + offsets[currentLine] = (offsets[currentLine] || 0) + line.length; + currentLine++; + + return '' + }); + + add = eat(subvalue); + + exit = self.enterBlock(); + content = self.tokenizeBlock(content, now); + exit(); + + return add({ + type: 'footnoteDefinition', + identifier: normalize_1(identifier), + label: identifier, + children: content + }) +} + +var definition_1 = definition; + +var quotationMark = '"'; +var apostrophe = "'"; +var backslash$3 = '\\'; +var lineFeed$d = '\n'; +var tab$c = '\t'; +var space$c = ' '; +var leftSquareBracket$1 = '['; +var rightSquareBracket$1 = ']'; +var leftParenthesis = '('; +var rightParenthesis$1 = ')'; +var colon$2 = ':'; +var lessThan$2 = '<'; +var greaterThan$1 = '>'; + +function definition(eat, value, silent) { + var self = this; + var commonmark = self.options.commonmark; + var index = 0; + var length = value.length; + var subvalue = ''; + var beforeURL; + var beforeTitle; + var queue; + var character; + var test; + var identifier; + var url; + var title; + + while (index < length) { + character = value.charAt(index); + + if (character !== space$c && character !== tab$c) { + break + } + + subvalue += character; + index++; + } + + character = value.charAt(index); + + if (character !== leftSquareBracket$1) { + return + } + + index++; + subvalue += character; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character === rightSquareBracket$1) { + break + } else if (character === backslash$3) { + queue += character; + index++; + character = value.charAt(index); + } + + queue += character; + index++; + } + + if ( + !queue || + value.charAt(index) !== rightSquareBracket$1 || + value.charAt(index + 1) !== colon$2 + ) { + return + } + + identifier = queue; + subvalue += queue + rightSquareBracket$1 + colon$2; + index = subvalue.length; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character !== tab$c && character !== space$c && character !== lineFeed$d) { + break + } + + subvalue += character; + index++; + } + + character = value.charAt(index); + queue = ''; + beforeURL = subvalue; + + if (character === lessThan$2) { + index++; + + while (index < length) { + character = value.charAt(index); + + if (!isEnclosedURLCharacter(character)) { + break + } + + queue += character; + index++; + } + + character = value.charAt(index); + + if (character === isEnclosedURLCharacter.delimiter) { + subvalue += lessThan$2 + queue + character; + index++; + } else { + if (commonmark) { + return + } + + index -= queue.length + 1; + queue = ''; + } + } + + if (!queue) { + while (index < length) { + character = value.charAt(index); + + if (!isUnclosedURLCharacter(character)) { + break + } + + queue += character; + index++; + } + + subvalue += queue; + } + + if (!queue) { + return + } + + url = queue; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character !== tab$c && character !== space$c && character !== lineFeed$d) { + break + } + + queue += character; + index++; + } + + character = value.charAt(index); + test = null; + + if (character === quotationMark) { + test = quotationMark; + } else if (character === apostrophe) { + test = apostrophe; + } else if (character === leftParenthesis) { + test = rightParenthesis$1; + } + + if (!test) { + queue = ''; + index = subvalue.length; + } else if (queue) { + subvalue += queue + character; + index = subvalue.length; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character === test) { + break + } + + if (character === lineFeed$d) { + index++; + character = value.charAt(index); + + if (character === lineFeed$d || character === test) { + return + } + + queue += lineFeed$d; + } + + queue += character; + index++; + } + + character = value.charAt(index); + + if (character !== test) { + return + } + + beforeTitle = subvalue; + subvalue += queue + character; + index++; + title = queue; + queue = ''; + } else { + return + } + + while (index < length) { + character = value.charAt(index); + + if (character !== tab$c && character !== space$c) { + break + } + + subvalue += character; + index++; + } + + character = value.charAt(index); + + if (!character || character === lineFeed$d) { + if (silent) { + return true + } + + beforeURL = eat(beforeURL).test().end; + url = self.decode.raw(self.unescape(url), beforeURL, {nonTerminated: false}); + + if (title) { + beforeTitle = eat(beforeTitle).test().end; + title = self.decode.raw(self.unescape(title), beforeTitle); + } + + return eat(subvalue)({ + type: 'definition', + identifier: normalize_1(identifier), + label: identifier, + title: title || null, + url: url + }) + } +} + +// Check if `character` can be inside an enclosed URI. +function isEnclosedURLCharacter(character) { + return ( + character !== greaterThan$1 && + character !== leftSquareBracket$1 && + character !== rightSquareBracket$1 + ) +} + +isEnclosedURLCharacter.delimiter = greaterThan$1; + +// Check if `character` can be inside an unclosed URI. +function isUnclosedURLCharacter(character) { + return ( + character !== leftSquareBracket$1 && + character !== rightSquareBracket$1 && + !isWhitespaceCharacter(character) + ) +} + +var table_1 = table; + +var tab$d = '\t'; +var lineFeed$e = '\n'; +var space$d = ' '; +var dash$4 = '-'; +var colon$3 = ':'; +var backslash$4 = '\\'; +var verticalBar = '|'; + +var minColumns = 1; +var minRows = 2; + +var left = 'left'; +var center = 'center'; +var right = 'right'; + +function table(eat, value, silent) { + var self = this; + var index; + var alignments; + var alignment; + var subvalue; + var row; + var length; + var lines; + var queue; + var character; + var hasDash; + var align; + var cell; + var preamble; + var now; + var position; + var lineCount; + var line; + var rows; + var table; + var lineIndex; + var pipeIndex; + var first; + + // Exit when not in gfm-mode. + if (!self.options.gfm) { + return + } + + // Get the rows. + // Detecting tables soon is hard, so there are some checks for performance + // here, such as the minimum number of rows, and allowed characters in the + // alignment row. + index = 0; + lineCount = 0; + length = value.length + 1; + lines = []; + + while (index < length) { + lineIndex = value.indexOf(lineFeed$e, index); + pipeIndex = value.indexOf(verticalBar, index + 1); + + if (lineIndex === -1) { + lineIndex = value.length; + } + + if (pipeIndex === -1 || pipeIndex > lineIndex) { + if (lineCount < minRows) { + return + } + + break + } + + lines.push(value.slice(index, lineIndex)); + lineCount++; + index = lineIndex + 1; + } + + // Parse the alignment row. + subvalue = lines.join(lineFeed$e); + alignments = lines.splice(1, 1)[0] || []; + index = 0; + length = alignments.length; + lineCount--; + alignment = false; + align = []; + + while (index < length) { + character = alignments.charAt(index); + + if (character === verticalBar) { + hasDash = null; + + if (alignment === false) { + if (first === false) { + return + } + } else { + align.push(alignment); + alignment = false; + } + + first = false; + } else if (character === dash$4) { + hasDash = true; + alignment = alignment || null; + } else if (character === colon$3) { + if (alignment === left) { + alignment = center; + } else if (hasDash && alignment === null) { + alignment = right; + } else { + alignment = left; + } + } else if (!isWhitespaceCharacter(character)) { + return + } + + index++; + } + + if (alignment !== false) { + align.push(alignment); + } + + // Exit when without enough columns. + if (align.length < minColumns) { + return + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + // Parse the rows. + position = -1; + rows = []; + + table = eat(subvalue).reset({type: 'table', align: align, children: rows}); + + while (++position < lineCount) { + line = lines[position]; + row = {type: 'tableRow', children: []}; + + // Eat a newline character when this is not the first row. + if (position) { + eat(lineFeed$e); + } + + // Eat the row. + eat(line).reset(row, table); + + length = line.length + 1; + index = 0; + queue = ''; + cell = ''; + preamble = true; + + while (index < length) { + character = line.charAt(index); + + if (character === tab$d || character === space$d) { + if (cell) { + queue += character; + } else { + eat(character); + } + + index++; + continue + } + + if (character === '' || character === verticalBar) { + if (preamble) { + eat(character); + } else { + if ((cell || character) && !preamble) { + subvalue = cell; + + if (queue.length > 1) { + if (character) { + subvalue += queue.slice(0, queue.length - 1); + queue = queue.charAt(queue.length - 1); + } else { + subvalue += queue; + queue = ''; + } + } + + now = eat.now(); + + eat(subvalue)( + {type: 'tableCell', children: self.tokenizeInline(cell, now)}, + row + ); + } + + eat(queue + character); + + queue = ''; + cell = ''; + } + } else { + if (queue) { + cell += queue; + queue = ''; + } + + cell += character; + + if (character === backslash$4 && index !== length - 2) { + cell += line.charAt(index + 1); + index++; + } + } + + preamble = false; + index++; + } + + // Eat the alignment row. + if (!position) { + eat(lineFeed$e + alignments); + } + } + + return table +} + +var paragraph_1 = paragraph; + +var tab$e = '\t'; +var lineFeed$f = '\n'; +var space$e = ' '; + +var tabSize$4 = 4; + +// Tokenise paragraph. +function paragraph(eat, value, silent) { + var self = this; + var settings = self.options; + var commonmark = settings.commonmark; + var gfm = settings.gfm; + var tokenizers = self.blockTokenizers; + var interruptors = self.interruptParagraph; + var index = value.indexOf(lineFeed$f); + var length = value.length; + var position; + var subvalue; + var character; + var size; + var now; + + while (index < length) { + // Eat everything if there’s no following newline. + if (index === -1) { + index = length; + break + } + + // Stop if the next character is NEWLINE. + if (value.charAt(index + 1) === lineFeed$f) { + break + } + + // In commonmark-mode, following indented lines are part of the paragraph. + if (commonmark) { + size = 0; + position = index + 1; + + while (position < length) { + character = value.charAt(position); + + if (character === tab$e) { + size = tabSize$4; + break + } else if (character === space$e) { + size++; + } else { + break + } + + position++; + } + + if (size >= tabSize$4 && character !== lineFeed$f) { + index = value.indexOf(lineFeed$f, index + 1); + continue + } + } + + subvalue = value.slice(index + 1); + + // Check if the following code contains a possible block. + if (interrupt_1(interruptors, tokenizers, self, [eat, subvalue, true])) { + break + } + + // Break if the following line starts a list, when already in a list, or + // when in commonmark, or when in gfm mode and the bullet is *not* numeric. + if ( + tokenizers.list.call(self, eat, subvalue, true) && + (self.inList || + commonmark || + (gfm && !isDecimal(trim_1.left(subvalue).charAt(0)))) + ) { + break + } + + position = index; + index = value.indexOf(lineFeed$f, index + 1); + + if (index !== -1 && trim_1(value.slice(position, index)) === '') { + index = position; + break + } + } + + subvalue = value.slice(0, index); + + if (trim_1(subvalue) === '') { + eat(subvalue); + + return null + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + now = eat.now(); + subvalue = trimTrailingLines_1(subvalue); + + return eat(subvalue)({ + type: 'paragraph', + children: self.tokenizeInline(subvalue, now) + }) +} + +var _escape = locate; + +function locate(value, fromIndex) { + return value.indexOf('\\', fromIndex) +} + +var _escape$1 = escape$1; +escape$1.locator = _escape; + +var lineFeed$g = '\n'; +var backslash$5 = '\\'; + +function escape$1(eat, value, silent) { + var self = this; + var character; + var node; + + if (value.charAt(0) === backslash$5) { + character = value.charAt(1); + + if (self.escape.indexOf(character) !== -1) { + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + if (character === lineFeed$g) { + node = {type: 'break'}; + } else { + node = {type: 'text', value: character}; + } + + return eat(backslash$5 + character)(node) + } + } +} + +var tag$1 = locate$1; + +function locate$1(value, fromIndex) { + return value.indexOf('<', fromIndex) +} + +var autoLink_1 = autoLink; +autoLink.locator = tag$1; +autoLink.notInLink = true; + +var lessThan$3 = '<'; +var greaterThan$2 = '>'; +var atSign = '@'; +var slash$1 = '/'; +var mailto = 'mailto:'; +var mailtoLength = mailto.length; + +function autoLink(eat, value, silent) { + var self = this; + var subvalue = ''; + var length = value.length; + var index = 0; + var queue = ''; + var hasAtCharacter = false; + var link = ''; + var character; + var now; + var content; + var tokenizers; + var exit; + + if (value.charAt(0) !== lessThan$3) { + return + } + + index++; + subvalue = lessThan$3; + + while (index < length) { + character = value.charAt(index); + + if ( + isWhitespaceCharacter(character) || + character === greaterThan$2 || + character === atSign || + (character === ':' && value.charAt(index + 1) === slash$1) + ) { + break + } + + queue += character; + index++; + } + + if (!queue) { + return + } + + link += queue; + queue = ''; + + character = value.charAt(index); + link += character; + index++; + + if (character === atSign) { + hasAtCharacter = true; + } else { + if (character !== ':' || value.charAt(index + 1) !== slash$1) { + return + } + + link += slash$1; + index++; + } + + while (index < length) { + character = value.charAt(index); + + if (isWhitespaceCharacter(character) || character === greaterThan$2) { + break + } + + queue += character; + index++; + } + + character = value.charAt(index); + + if (!queue || character !== greaterThan$2) { + return + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + link += queue; + content = link; + subvalue += link + character; + now = eat.now(); + now.column++; + now.offset++; + + if (hasAtCharacter) { + if (link.slice(0, mailtoLength).toLowerCase() === mailto) { + content = content.slice(mailtoLength); + now.column += mailtoLength; + now.offset += mailtoLength; + } else { + link = mailto + link; + } + } + + // Temporarily remove all tokenizers except text in autolinks. + tokenizers = self.inlineTokenizers; + self.inlineTokenizers = {text: tokenizers.text}; + + exit = self.enterLink(); + + content = self.tokenizeInline(content, now); + + self.inlineTokenizers = tokenizers; + exit(); + + return eat(subvalue)({ + type: 'link', + title: null, + url: parseEntities_1(link, {nonTerminated: false}), + children: content + }) +} + +var url = locate$2; + +var protocols = ['https://', 'http://', 'mailto:']; + +function locate$2(value, fromIndex) { + var length = protocols.length; + var index = -1; + var min = -1; + var position; + + if (!this.options.gfm) { + return -1 + } + + while (++index < length) { + position = value.indexOf(protocols[index], fromIndex); + + if (position !== -1 && (position < min || min === -1)) { + min = position; + } + } + + return min +} + +var url_1 = url$1; +url$1.locator = url; +url$1.notInLink = true; + +var quotationMark$1 = '"'; +var apostrophe$1 = "'"; +var leftParenthesis$1 = '('; +var rightParenthesis$2 = ')'; +var comma$1 = ','; +var dot$2 = '.'; +var colon$4 = ':'; +var semicolon$1 = ';'; +var lessThan$4 = '<'; +var atSign$1 = '@'; +var leftSquareBracket$2 = '['; +var rightSquareBracket$2 = ']'; + +var http = 'http://'; +var https = 'https://'; +var mailto$1 = 'mailto:'; + +var protocols$1 = [http, https, mailto$1]; + +var protocolsLength = protocols$1.length; + +function url$1(eat, value, silent) { + var self = this; + var subvalue; + var content; + var character; + var index; + var position; + var protocol; + var match; + var length; + var queue; + var parenCount; + var nextCharacter; + var tokenizers; + var exit; + + if (!self.options.gfm) { + return + } + + subvalue = ''; + index = -1; + + while (++index < protocolsLength) { + protocol = protocols$1[index]; + match = value.slice(0, protocol.length); + + if (match.toLowerCase() === protocol) { + subvalue = match; + break + } + } + + if (!subvalue) { + return + } + + index = subvalue.length; + length = value.length; + queue = ''; + parenCount = 0; + + while (index < length) { + character = value.charAt(index); + + if (isWhitespaceCharacter(character) || character === lessThan$4) { + break + } + + if ( + character === dot$2 || + character === comma$1 || + character === colon$4 || + character === semicolon$1 || + character === quotationMark$1 || + character === apostrophe$1 || + character === rightParenthesis$2 || + character === rightSquareBracket$2 + ) { + nextCharacter = value.charAt(index + 1); + + if (!nextCharacter || isWhitespaceCharacter(nextCharacter)) { + break + } + } + + if (character === leftParenthesis$1 || character === leftSquareBracket$2) { + parenCount++; + } + + if (character === rightParenthesis$2 || character === rightSquareBracket$2) { + parenCount--; + + if (parenCount < 0) { + break + } + } + + queue += character; + index++; + } + + if (!queue) { + return + } + + subvalue += queue; + content = subvalue; + + if (protocol === mailto$1) { + position = queue.indexOf(atSign$1); + + if (position === -1 || position === length - 1) { + return + } + + content = content.slice(mailto$1.length); + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + exit = self.enterLink(); + + // Temporarily remove all tokenizers except text in url. + tokenizers = self.inlineTokenizers; + self.inlineTokenizers = {text: tokenizers.text}; + + content = self.tokenizeInline(content, eat.now()); + + self.inlineTokenizers = tokenizers; + exit(); + + return eat(subvalue)({ + type: 'link', + title: null, + url: parseEntities_1(subvalue, {nonTerminated: false}), + children: content + }) +} + +var tag$2 = html.tag; + +var htmlInline = inlineHTML; +inlineHTML.locator = tag$1; + +var lessThan$5 = '<'; +var questionMark = '?'; +var exclamationMark$1 = '!'; +var slash$2 = '/'; + +var htmlLinkOpenExpression = /^/i; + +function inlineHTML(eat, value, silent) { + var self = this; + var length = value.length; + var character; + var subvalue; + + if (value.charAt(0) !== lessThan$5 || length < 3) { + return + } + + character = value.charAt(1); + + if ( + !isAlphabetical(character) && + character !== questionMark && + character !== exclamationMark$1 && + character !== slash$2 + ) { + return + } + + subvalue = value.match(tag$2); + + if (!subvalue) { + return + } + + /* istanbul ignore if - not used yet. */ + if (silent) { + return true + } + + subvalue = subvalue[0]; + + if (!self.inLink && htmlLinkOpenExpression.test(subvalue)) { + self.inLink = true; + } else if (self.inLink && htmlLinkCloseExpression.test(subvalue)) { + self.inLink = false; + } + + return eat(subvalue)({type: 'html', value: subvalue}) +} + +var link$1 = locate$3; + +function locate$3(value, fromIndex) { + var link = value.indexOf('[', fromIndex); + var image = value.indexOf('![', fromIndex); + + if (image === -1) { + return link + } + + // Link can never be `-1` if an image is found, so we don’t need to check + // for that :) + return link < image ? link : image +} + +var link_1 = link$2; +link$2.locator = link$1; + +var lineFeed$h = '\n'; +var exclamationMark$2 = '!'; +var quotationMark$2 = '"'; +var apostrophe$2 = "'"; +var leftParenthesis$2 = '('; +var rightParenthesis$3 = ')'; +var lessThan$6 = '<'; +var greaterThan$3 = '>'; +var leftSquareBracket$3 = '['; +var backslash$6 = '\\'; +var rightSquareBracket$3 = ']'; +var graveAccent$1 = '`'; + +function link$2(eat, value, silent) { + var self = this; + var subvalue = ''; + var index = 0; + var character = value.charAt(0); + var pedantic = self.options.pedantic; + var commonmark = self.options.commonmark; + var gfm = self.options.gfm; + var closed; + var count; + var opening; + var beforeURL; + var beforeTitle; + var subqueue; + var hasMarker; + var isImage; + var content; + var marker; + var length; + var title; + var depth; + var queue; + var url; + var now; + var exit; + var node; + + // Detect whether this is an image. + if (character === exclamationMark$2) { + isImage = true; + subvalue = character; + character = value.charAt(++index); + } + + // Eat the opening. + if (character !== leftSquareBracket$3) { + return + } + + // Exit when this is a link and we’re already inside a link. + if (!isImage && self.inLink) { + return + } + + subvalue += character; + queue = ''; + index++; + + // Eat the content. + length = value.length; + now = eat.now(); + depth = 0; + + now.column += index; + now.offset += index; + + while (index < length) { + character = value.charAt(index); + subqueue = character; + + if (character === graveAccent$1) { + // Inline-code in link content. + count = 1; + + while (value.charAt(index + 1) === graveAccent$1) { + subqueue += character; + index++; + count++; + } + + if (!opening) { + opening = count; + } else if (count >= opening) { + opening = 0; + } + } else if (character === backslash$6) { + // Allow brackets to be escaped. + index++; + subqueue += value.charAt(index); + } else if ((!opening || gfm) && character === leftSquareBracket$3) { + // In GFM mode, brackets in code still count. In all other modes, + // they don’t. + depth++; + } else if ((!opening || gfm) && character === rightSquareBracket$3) { + if (depth) { + depth--; + } else { + // Allow white-space between content and url in GFM mode. + if (!pedantic) { + while (index < length) { + character = value.charAt(index + 1); + + if (!isWhitespaceCharacter(character)) { + break + } + + subqueue += character; + index++; + } + } + + if (value.charAt(index + 1) !== leftParenthesis$2) { + return + } + + subqueue += leftParenthesis$2; + closed = true; + index++; + + break + } + } + + queue += subqueue; + subqueue = ''; + index++; + } + + // Eat the content closing. + if (!closed) { + return + } + + content = queue; + subvalue += queue + subqueue; + index++; + + // Eat white-space. + while (index < length) { + character = value.charAt(index); + + if (!isWhitespaceCharacter(character)) { + break + } + + subvalue += character; + index++; + } + + // Eat the URL. + character = value.charAt(index); + queue = ''; + beforeURL = subvalue; + + if (character === lessThan$6) { + index++; + beforeURL += lessThan$6; + + while (index < length) { + character = value.charAt(index); + + if (character === greaterThan$3) { + break + } + + if (commonmark && character === lineFeed$h) { + return + } + + queue += character; + index++; + } + + if (value.charAt(index) !== greaterThan$3) { + return + } + + subvalue += lessThan$6 + queue + greaterThan$3; + url = queue; + index++; + } else { + character = null; + subqueue = ''; + + while (index < length) { + character = value.charAt(index); + + if ( + subqueue && + (character === quotationMark$2 || + character === apostrophe$2 || + (commonmark && character === leftParenthesis$2)) + ) { + break + } + + if (isWhitespaceCharacter(character)) { + if (!pedantic) { + break + } + + subqueue += character; + } else { + if (character === leftParenthesis$2) { + depth++; + } else if (character === rightParenthesis$3) { + if (depth === 0) { + break + } + + depth--; + } + + queue += subqueue; + subqueue = ''; + + if (character === backslash$6) { + queue += backslash$6; + character = value.charAt(++index); + } + + queue += character; + } + + index++; + } + + subvalue += queue; + url = queue; + index = subvalue.length; + } + + // Eat white-space. + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (!isWhitespaceCharacter(character)) { + break + } + + queue += character; + index++; + } + + character = value.charAt(index); + subvalue += queue; + + // Eat the title. + if ( + queue && + (character === quotationMark$2 || + character === apostrophe$2 || + (commonmark && character === leftParenthesis$2)) + ) { + index++; + subvalue += character; + queue = ''; + marker = character === leftParenthesis$2 ? rightParenthesis$3 : character; + beforeTitle = subvalue; + + // In commonmark-mode, things are pretty easy: the marker cannot occur + // inside the title. Non-commonmark does, however, support nested + // delimiters. + if (commonmark) { + while (index < length) { + character = value.charAt(index); + + if (character === marker) { + break + } + + if (character === backslash$6) { + queue += backslash$6; + character = value.charAt(++index); + } + + index++; + queue += character; + } + + character = value.charAt(index); + + if (character !== marker) { + return + } + + title = queue; + subvalue += queue + character; + index++; + + while (index < length) { + character = value.charAt(index); + + if (!isWhitespaceCharacter(character)) { + break + } + + subvalue += character; + index++; + } + } else { + subqueue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character === marker) { + if (hasMarker) { + queue += marker + subqueue; + subqueue = ''; + } + + hasMarker = true; + } else if (!hasMarker) { + queue += character; + } else if (character === rightParenthesis$3) { + subvalue += queue + marker + subqueue; + title = queue; + break + } else if (isWhitespaceCharacter(character)) { + subqueue += character; + } else { + queue += marker + subqueue + character; + subqueue = ''; + hasMarker = false; + } + + index++; + } + } + } + + if (value.charAt(index) !== rightParenthesis$3) { + return + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + subvalue += rightParenthesis$3; + + url = self.decode.raw(self.unescape(url), eat(beforeURL).test().end, { + nonTerminated: false + }); + + if (title) { + beforeTitle = eat(beforeTitle).test().end; + title = self.decode.raw(self.unescape(title), beforeTitle); + } + + node = { + type: isImage ? 'image' : 'link', + title: title || null, + url: url + }; + + if (isImage) { + node.alt = self.decode.raw(self.unescape(content), now) || null; + } else { + exit = self.enterLink(); + node.children = self.tokenizeInline(content, now); + exit(); + } + + return eat(subvalue)(node) +} + +var reference_1 = reference; +reference.locator = link$1; + +var link$3 = 'link'; +var image$1 = 'image'; +var footnote = 'footnote'; +var shortcut = 'shortcut'; +var collapsed = 'collapsed'; +var full = 'full'; +var space$f = ' '; +var exclamationMark$3 = '!'; +var leftSquareBracket$4 = '['; +var backslash$7 = '\\'; +var rightSquareBracket$4 = ']'; +var caret$2 = '^'; + +function reference(eat, value, silent) { + var self = this; + var commonmark = self.options.commonmark; + var footnotes = self.options.footnotes; + var character = value.charAt(0); + var index = 0; + var length = value.length; + var subvalue = ''; + var intro = ''; + var type = link$3; + var referenceType = shortcut; + var content; + var identifier; + var now; + var node; + var exit; + var queue; + var bracketed; + var depth; + + // Check whether we’re eating an image. + if (character === exclamationMark$3) { + type = image$1; + intro = character; + character = value.charAt(++index); + } + + if (character !== leftSquareBracket$4) { + return + } + + index++; + intro += character; + queue = ''; + + // Check whether we’re eating a footnote. + if (footnotes && value.charAt(index) === caret$2) { + // Exit if `![^` is found, so the `!` will be seen as text after this, + // and we’ll enter this function again when `[^` is found. + if (type === image$1) { + return + } + + intro += caret$2; + index++; + type = footnote; + } + + // Eat the text. + depth = 0; + + while (index < length) { + character = value.charAt(index); + + if (character === leftSquareBracket$4) { + bracketed = true; + depth++; + } else if (character === rightSquareBracket$4) { + if (!depth) { + break + } + + depth--; + } + + if (character === backslash$7) { + queue += backslash$7; + character = value.charAt(++index); + } + + queue += character; + index++; + } + + subvalue = queue; + content = queue; + character = value.charAt(index); + + if (character !== rightSquareBracket$4) { + return + } + + index++; + subvalue += character; + queue = ''; + + if (!commonmark) { + // The original markdown syntax definition explicitly allows for whitespace + // between the link text and link label; commonmark departs from this, in + // part to improve support for shortcut reference links + while (index < length) { + character = value.charAt(index); + + if (!isWhitespaceCharacter(character)) { + break + } + + queue += character; + index++; + } + } + + character = value.charAt(index); + + // Inline footnotes cannot have a label. + // If footnotes are enabled, link labels cannot start with a caret. + if ( + type !== footnote && + character === leftSquareBracket$4 && + (!footnotes || value.charAt(index + 1) !== caret$2) + ) { + identifier = ''; + queue += character; + index++; + + while (index < length) { + character = value.charAt(index); + + if (character === leftSquareBracket$4 || character === rightSquareBracket$4) { + break + } + + if (character === backslash$7) { + identifier += backslash$7; + character = value.charAt(++index); + } + + identifier += character; + index++; + } + + character = value.charAt(index); + + if (character === rightSquareBracket$4) { + referenceType = identifier ? full : collapsed; + queue += identifier + character; + index++; + } else { + identifier = ''; + } + + subvalue += queue; + queue = ''; + } else { + if (!content) { + return + } + + identifier = content; + } + + // Brackets cannot be inside the identifier. + if (referenceType !== full && bracketed) { + return + } + + subvalue = intro + subvalue; + + if (type === link$3 && self.inLink) { + return null + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + if (type === footnote && content.indexOf(space$f) !== -1) { + return eat(subvalue)({ + type: footnote, + children: this.tokenizeInline(content, eat.now()) + }) + } + + now = eat.now(); + now.column += intro.length; + now.offset += intro.length; + identifier = referenceType === full ? identifier : content; + + node = { + type: type + 'Reference', + identifier: normalize_1(identifier), + label: identifier + }; + + if (type === link$3 || type === image$1) { + node.referenceType = referenceType; + } + + if (type === link$3) { + exit = self.enterLink(); + node.children = self.tokenizeInline(content, now); + exit(); + } else if (type === image$1) { + node.alt = self.decode.raw(self.unescape(content), now) || null; + } + + return eat(subvalue)(node) +} + +var strong = locate$4; + +function locate$4(value, fromIndex) { + var asterisk = value.indexOf('**', fromIndex); + var underscore = value.indexOf('__', fromIndex); + + if (underscore === -1) { + return asterisk + } + + if (asterisk === -1) { + return underscore + } + + return underscore < asterisk ? underscore : asterisk +} + +var strong_1 = strong$1; +strong$1.locator = strong; + +var backslash$8 = '\\'; +var asterisk$2 = '*'; +var underscore$2 = '_'; + +function strong$1(eat, value, silent) { + var self = this; + var index = 0; + var character = value.charAt(index); + var now; + var pedantic; + var marker; + var queue; + var subvalue; + var length; + var prev; + + if ( + (character !== asterisk$2 && character !== underscore$2) || + value.charAt(++index) !== character + ) { + return + } + + pedantic = self.options.pedantic; + marker = character; + subvalue = marker + marker; + length = value.length; + index++; + queue = ''; + character = ''; + + if (pedantic && isWhitespaceCharacter(value.charAt(index))) { + return + } + + while (index < length) { + prev = character; + character = value.charAt(index); + + if ( + character === marker && + value.charAt(index + 1) === marker && + (!pedantic || !isWhitespaceCharacter(prev)) + ) { + character = value.charAt(index + 2); + + if (character !== marker) { + if (!trim_1(queue)) { + return + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + now = eat.now(); + now.column += 2; + now.offset += 2; + + return eat(subvalue + queue + subvalue)({ + type: 'strong', + children: self.tokenizeInline(queue, now) + }) + } + } + + if (!pedantic && character === backslash$8) { + queue += character; + character = value.charAt(++index); + } + + queue += character; + index++; + } +} + +var isWordCharacter = wordCharacter; + +var fromCode$1 = String.fromCharCode; +var re$2 = /\w/; + +// Check if the given character code, or the character code at the first +// character, is a word character. +function wordCharacter(character) { + return re$2.test( + typeof character === 'number' ? fromCode$1(character) : character.charAt(0) + ) +} + +var emphasis = locate$5; + +function locate$5(value, fromIndex) { + var asterisk = value.indexOf('*', fromIndex); + var underscore = value.indexOf('_', fromIndex); + + if (underscore === -1) { + return asterisk + } + + if (asterisk === -1) { + return underscore + } + + return underscore < asterisk ? underscore : asterisk +} + +var emphasis_1 = emphasis$1; +emphasis$1.locator = emphasis; + +var asterisk$3 = '*'; +var underscore$3 = '_'; +var backslash$9 = '\\'; + +function emphasis$1(eat, value, silent) { + var self = this; + var index = 0; + var character = value.charAt(index); + var now; + var pedantic; + var marker; + var queue; + var subvalue; + var length; + var prev; + + if (character !== asterisk$3 && character !== underscore$3) { + return + } + + pedantic = self.options.pedantic; + subvalue = character; + marker = character; + length = value.length; + index++; + queue = ''; + character = ''; + + if (pedantic && isWhitespaceCharacter(value.charAt(index))) { + return + } + + while (index < length) { + prev = character; + character = value.charAt(index); + + if (character === marker && (!pedantic || !isWhitespaceCharacter(prev))) { + character = value.charAt(++index); + + if (character !== marker) { + if (!trim_1(queue) || prev === marker) { + return + } + + if (!pedantic && marker === underscore$3 && isWordCharacter(character)) { + queue += marker; + continue + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + now = eat.now(); + now.column++; + now.offset++; + + return eat(subvalue + queue + marker)({ + type: 'emphasis', + children: self.tokenizeInline(queue, now) + }) + } + + queue += marker; + } + + if (!pedantic && character === backslash$9) { + queue += character; + character = value.charAt(++index); + } + + queue += character; + index++; + } +} + +var _delete = locate$6; + +function locate$6(value, fromIndex) { + return value.indexOf('~~', fromIndex) +} + +var _delete$1 = strikethrough; +strikethrough.locator = _delete; + +var tilde$2 = '~'; +var fence = '~~'; + +function strikethrough(eat, value, silent) { + var self = this; + var character = ''; + var previous = ''; + var preceding = ''; + var subvalue = ''; + var index; + var length; + var now; + + if ( + !self.options.gfm || + value.charAt(0) !== tilde$2 || + value.charAt(1) !== tilde$2 || + isWhitespaceCharacter(value.charAt(2)) + ) { + return + } + + index = 1; + length = value.length; + now = eat.now(); + now.column += 2; + now.offset += 2; + + while (++index < length) { + character = value.charAt(index); + + if ( + character === tilde$2 && + previous === tilde$2 && + (!preceding || !isWhitespaceCharacter(preceding)) + ) { + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + return eat(fence + subvalue + fence)({ + type: 'delete', + children: self.tokenizeInline(subvalue, now) + }) + } + + subvalue += previous; + preceding = previous; + previous = character; + } +} + +var codeInline = locate$7; + +function locate$7(value, fromIndex) { + return value.indexOf('`', fromIndex) +} + +var codeInline$1 = inlineCode; +inlineCode.locator = codeInline; + +var lineFeed$i = 10; // '\n' +var space$g = 32; // ' ' +var graveAccent$2 = 96; // '`' + +function inlineCode(eat, value, silent) { + var length = value.length; + var index = 0; + var openingFenceEnd; + var closingFenceStart; + var closingFenceEnd; + var code; + var next; + var found; + + while (index < length) { + if (value.charCodeAt(index) !== graveAccent$2) { + break + } + + index++; + } + + if (index === 0 || index === length) { + return + } + + openingFenceEnd = index; + next = value.charCodeAt(index); + + while (index < length) { + code = next; + next = value.charCodeAt(index + 1); + + if (code === graveAccent$2) { + if (closingFenceStart === undefined) { + closingFenceStart = index; + } + + closingFenceEnd = index + 1; + + if ( + next !== graveAccent$2 && + closingFenceEnd - closingFenceStart === openingFenceEnd + ) { + found = true; + break + } + } else if (closingFenceStart !== undefined) { + closingFenceStart = undefined; + closingFenceEnd = undefined; + } + + index++; + } + + if (!found) { + return + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + // Remove the initial and final space (or line feed), iff they exist and there + // are non-space characters in the content. + index = openingFenceEnd; + length = closingFenceStart; + code = value.charCodeAt(index); + next = value.charCodeAt(length - 1); + found = false; + + if ( + length - index > 2 && + (code === space$g || code === lineFeed$i) && + (next === space$g || next === lineFeed$i) + ) { + index++; + length--; + + while (index < length) { + code = value.charCodeAt(index); + + if (code !== space$g && code !== lineFeed$i) { + found = true; + break + } + + index++; + } + + if (found === true) { + openingFenceEnd++; + closingFenceStart--; + } + } + + return eat(value.slice(0, closingFenceEnd))({ + type: 'inlineCode', + value: value.slice(openingFenceEnd, closingFenceStart) + }) +} + +var _break = locate$8; + +function locate$8(value, fromIndex) { + var index = value.indexOf('\n', fromIndex); + + while (index > fromIndex) { + if (value.charAt(index - 1) !== ' ') { + break + } + + index--; + } + + return index +} + +var _break$1 = hardBreak; +hardBreak.locator = _break; + +var space$h = ' '; +var lineFeed$j = '\n'; +var minBreakLength = 2; + +function hardBreak(eat, value, silent) { + var length = value.length; + var index = -1; + var queue = ''; + var character; + + while (++index < length) { + character = value.charAt(index); + + if (character === lineFeed$j) { + if (index < minBreakLength) { + return + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + queue += character; + + return eat(queue)({type: 'break'}) + } + + if (character !== space$h) { + return + } + + queue += character; + } +} + +var text_1 = text; + +function text(eat, value, silent) { + var self = this; + var methods; + var tokenizers; + var index; + var length; + var subvalue; + var position; + var tokenizer; + var name; + var min; + var now; + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true + } + + methods = self.inlineMethods; + length = methods.length; + tokenizers = self.inlineTokenizers; + index = -1; + min = value.length; + + while (++index < length) { + name = methods[index]; + + if (name === 'text' || !tokenizers[name]) { + continue + } + + tokenizer = tokenizers[name].locator; + + if (!tokenizer) { + eat.file.fail('Missing locator: `' + name + '`'); + } + + position = tokenizer.call(self, value, 1); + + if (position !== -1 && position < min) { + min = position; + } + } + + subvalue = value.slice(0, min); + now = eat.now(); + + self.decode(subvalue, now, handler); + + function handler(content, position, source) { + eat(source || content)({type: 'text', value: content}); + } +} + +var parser = Parser; + +function Parser(doc, file) { + this.file = file; + this.offset = {}; + this.options = immutable(this.options); + this.setOptions({}); + + this.inList = false; + this.inBlock = false; + this.inLink = false; + this.atStart = true; + + this.toOffset = vfileLocation(file).toOffset; + this.unescape = _unescape(this, 'escape'); + this.decode = decode(this); +} + +var proto$3 = Parser.prototype; + +// Expose core. +proto$3.setOptions = setOptions_1; +proto$3.parse = parse_1$3; + +// Expose `defaults`. +proto$3.options = defaults$2; + +// Enter and exit helpers. +proto$3.exitStart = stateToggle('atStart', true); +proto$3.enterList = stateToggle('inList', false); +proto$3.enterLink = stateToggle('inLink', false); +proto$3.enterBlock = stateToggle('inBlock', false); + +// Nodes that can interupt a paragraph: +// +// ```markdown +// A paragraph, followed by a thematic break. +// ___ +// ``` +// +// In the above example, the thematic break “interupts” the paragraph. +proto$3.interruptParagraph = [ + ['thematicBreak'], + ['atxHeading'], + ['fencedCode'], + ['blockquote'], + ['html'], + ['setextHeading', {commonmark: false}], + ['definition', {commonmark: false}], + ['footnote', {commonmark: false}] +]; + +// Nodes that can interupt a list: +// +// ```markdown +// - One +// ___ +// ``` +// +// In the above example, the thematic break “interupts” the list. +proto$3.interruptList = [ + ['atxHeading', {pedantic: false}], + ['fencedCode', {pedantic: false}], + ['thematicBreak', {pedantic: false}], + ['definition', {commonmark: false}], + ['footnote', {commonmark: false}] +]; + +// Nodes that can interupt a blockquote: +// +// ```markdown +// > A paragraph. +// ___ +// ``` +// +// In the above example, the thematic break “interupts” the blockquote. +proto$3.interruptBlockquote = [ + ['indentedCode', {commonmark: true}], + ['fencedCode', {commonmark: true}], + ['atxHeading', {commonmark: true}], + ['setextHeading', {commonmark: true}], + ['thematicBreak', {commonmark: true}], + ['html', {commonmark: true}], + ['list', {commonmark: true}], + ['definition', {commonmark: false}], + ['footnote', {commonmark: false}] +]; + +// Handlers. +proto$3.blockTokenizers = { + newline: newline_1, + indentedCode: codeIndented, + fencedCode: codeFenced, + blockquote: blockquote_1, + atxHeading: headingAtx, + thematicBreak: thematicBreak_1, + list: list_1, + setextHeading: headingSetext, + html: htmlBlock, + footnote: footnoteDefinition_1, + definition: definition_1, + table: table_1, + paragraph: paragraph_1 +}; + +proto$3.inlineTokenizers = { + escape: _escape$1, + autoLink: autoLink_1, + url: url_1, + html: htmlInline, + link: link_1, + reference: reference_1, + strong: strong_1, + emphasis: emphasis_1, + deletion: _delete$1, + code: codeInline$1, + break: _break$1, + text: text_1 +}; + +// Expose precedence. +proto$3.blockMethods = keys$1(proto$3.blockTokenizers); +proto$3.inlineMethods = keys$1(proto$3.inlineTokenizers); + +// Tokenizers. +proto$3.tokenizeBlock = tokenizer('block'); +proto$3.tokenizeInline = tokenizer('inline'); +proto$3.tokenizeFactory = tokenizer; + +// Get all keys in `value`. +function keys$1(value) { + var result = []; + var key; + + for (key in value) { + result.push(key); + } + + return result +} + +var remarkParse = parse$a; +parse$a.Parser = parser; + +function parse$a(options) { + var settings = this.data('settings'); + var Local = unherit_1(parser); + + Local.prototype.options = immutable(Local.prototype.options, settings, options); + + this.Parser = Local; +} + +var identity_1 = identity; + +function identity(value) { + return value +} + +var enterLinkReference = enter; + +// Shortcut and collapsed link references need no escaping and encoding during +// the processing of child nodes (it must be implied from identifier). +// +// This toggler turns encoding and escaping off for shortcut and collapsed +// references. +// +// Implies `enterLink`. +function enter(compiler, node) { + var encode = compiler.encode; + var escape = compiler.escape; + var exitLink = compiler.enterLink(); + + if (node.referenceType !== 'shortcut' && node.referenceType !== 'collapsed') { + return exitLink + } + + compiler.escape = identity_1; + compiler.encode = identity_1; + + return exit + + function exit() { + compiler.encode = encode; + compiler.escape = escape; + exitLink(); + } +} + +var defaults$3 = { + gfm: true, + commonmark: false, + pedantic: false, + entities: 'false', + setext: false, + closeAtx: false, + looseTable: false, + spacedTable: true, + paddedTable: true, + stringLength: stringLength, + incrementListMarker: true, + fences: false, + fence: '`', + bullet: '-', + listItemIndent: 'tab', + rule: '*', + ruleSpaces: true, + ruleRepetition: 3, + strong: '*', + emphasis: '_' +}; + +function stringLength(value) { + return value.length +} + +const nbsp$2 = " "; +const iexcl$2 = "¡"; +const cent$2 = "¢"; +const pound$2 = "£"; +const curren$2 = "¤"; +const yen$2 = "¥"; +const brvbar$2 = "¦"; +const sect$2 = "§"; +const uml$2 = "¨"; +const copy$3 = "©"; +const ordf$2 = "ª"; +const laquo$2 = "«"; +const not$2 = "¬"; +const shy$2 = "­"; +const reg$2 = "®"; +const macr$2 = "¯"; +const deg$2 = "°"; +const plusmn$2 = "±"; +const sup2$2 = "²"; +const sup3$2 = "³"; +const acute$2 = "´"; +const micro$2 = "µ"; +const para$2 = "¶"; +const middot$2 = "·"; +const cedil$2 = "¸"; +const sup1$2 = "¹"; +const ordm$2 = "º"; +const raquo$2 = "»"; +const frac14$2 = "¼"; +const frac12$2 = "½"; +const frac34$2 = "¾"; +const iquest$2 = "¿"; +const Agrave$2 = "À"; +const Aacute$2 = "Á"; +const Acirc$2 = "Â"; +const Atilde$2 = "Ã"; +const Auml$2 = "Ä"; +const Aring$2 = "Å"; +const AElig$2 = "Æ"; +const Ccedil$2 = "Ç"; +const Egrave$2 = "È"; +const Eacute$2 = "É"; +const Ecirc$2 = "Ê"; +const Euml$2 = "Ë"; +const Igrave$2 = "Ì"; +const Iacute$2 = "Í"; +const Icirc$2 = "Î"; +const Iuml$2 = "Ï"; +const ETH$2 = "Ð"; +const Ntilde$2 = "Ñ"; +const Ograve$2 = "Ò"; +const Oacute$2 = "Ó"; +const Ocirc$2 = "Ô"; +const Otilde$2 = "Õ"; +const Ouml$2 = "Ö"; +const times$2 = "×"; +const Oslash$2 = "Ø"; +const Ugrave$2 = "Ù"; +const Uacute$2 = "Ú"; +const Ucirc$2 = "Û"; +const Uuml$2 = "Ü"; +const Yacute$2 = "Ý"; +const THORN$2 = "Þ"; +const szlig$2 = "ß"; +const agrave$2 = "à"; +const aacute$2 = "á"; +const acirc$2 = "â"; +const atilde$2 = "ã"; +const auml$2 = "ä"; +const aring$2 = "å"; +const aelig$2 = "æ"; +const ccedil$2 = "ç"; +const egrave$2 = "è"; +const eacute$2 = "é"; +const ecirc$2 = "ê"; +const euml$2 = "ë"; +const igrave$2 = "ì"; +const iacute$2 = "í"; +const icirc$2 = "î"; +const iuml$2 = "ï"; +const eth$2 = "ð"; +const ntilde$2 = "ñ"; +const ograve$2 = "ò"; +const oacute$2 = "ó"; +const ocirc$2 = "ô"; +const otilde$2 = "õ"; +const ouml$2 = "ö"; +const divide$2 = "÷"; +const oslash$2 = "ø"; +const ugrave$2 = "ù"; +const uacute$2 = "ú"; +const ucirc$2 = "û"; +const uuml$2 = "ü"; +const yacute$2 = "ý"; +const thorn$2 = "þ"; +const yuml$2 = "ÿ"; +const fnof$1 = "ƒ"; +const Alpha$1 = "Α"; +const Beta$1 = "Β"; +const Gamma$1 = "Γ"; +const Delta$1 = "Δ"; +const Epsilon$1 = "Ε"; +const Zeta$1 = "Ζ"; +const Eta$1 = "Η"; +const Theta$1 = "Θ"; +const Iota$1 = "Ι"; +const Kappa$1 = "Κ"; +const Lambda$1 = "Λ"; +const Mu$1 = "Μ"; +const Nu$1 = "Ν"; +const Xi$1 = "Ξ"; +const Omicron$1 = "Ο"; +const Pi$1 = "Π"; +const Rho$1 = "Ρ"; +const Sigma$1 = "Σ"; +const Tau$1 = "Τ"; +const Upsilon$1 = "Υ"; +const Phi$1 = "Φ"; +const Chi$1 = "Χ"; +const Psi$1 = "Ψ"; +const Omega$1 = "Ω"; +const alpha$1 = "α"; +const beta$1 = "β"; +const gamma$1 = "γ"; +const delta$1 = "δ"; +const epsilon$1 = "ε"; +const zeta$1 = "ζ"; +const eta$1 = "η"; +const theta$1 = "θ"; +const iota$1 = "ι"; +const kappa$1 = "κ"; +const lambda$1 = "λ"; +const mu$1 = "μ"; +const nu$1 = "ν"; +const xi$1 = "ξ"; +const omicron$1 = "ο"; +const pi$1 = "π"; +const rho$1 = "ρ"; +const sigmaf$1 = "ς"; +const sigma$1 = "σ"; +const tau$1 = "τ"; +const upsilon$1 = "υ"; +const phi$1 = "φ"; +const chi$1 = "χ"; +const psi$1 = "ψ"; +const omega$1 = "ω"; +const thetasym$1 = "ϑ"; +const upsih$1 = "ϒ"; +const piv$1 = "ϖ"; +const bull$1 = "•"; +const hellip$1 = "…"; +const prime$1 = "′"; +const Prime$1 = "″"; +const oline$1 = "‾"; +const frasl$1 = "⁄"; +const weierp$1 = "℘"; +const image$2 = "ℑ"; +const real$1 = "ℜ"; +const trade$1 = "™"; +const alefsym$1 = "ℵ"; +const larr$1 = "←"; +const uarr$1 = "↑"; +const rarr$1 = "→"; +const darr$1 = "↓"; +const harr$1 = "↔"; +const crarr$1 = "↵"; +const lArr$1 = "⇐"; +const uArr$1 = "⇑"; +const rArr$1 = "⇒"; +const dArr$1 = "⇓"; +const hArr$1 = "⇔"; +const forall$1 = "∀"; +const part$1 = "∂"; +const exist$1 = "∃"; +const empty$1 = "∅"; +const nabla$1 = "∇"; +const isin$1 = "∈"; +const notin$1 = "∉"; +const ni$1 = "∋"; +const prod$1 = "∏"; +const sum$1 = "∑"; +const minus$1 = "−"; +const lowast$1 = "∗"; +const radic$1 = "√"; +const prop$1 = "∝"; +const infin$1 = "∞"; +const ang$1 = "∠"; +const and$1 = "∧"; +const or$1 = "∨"; +const cap$1 = "∩"; +const cup$1 = "∪"; +const int$1 = "∫"; +const there4$1 = "∴"; +const sim$1 = "∼"; +const cong$1 = "≅"; +const asymp$1 = "≈"; +const ne$1 = "≠"; +const equiv$1 = "≡"; +const le$1 = "≤"; +const ge$1 = "≥"; +const sub$1 = "⊂"; +const sup$1 = "⊃"; +const nsub$1 = "⊄"; +const sube$1 = "⊆"; +const supe$1 = "⊇"; +const oplus$1 = "⊕"; +const otimes$1 = "⊗"; +const perp$1 = "⊥"; +const sdot$1 = "⋅"; +const lceil$1 = "⌈"; +const rceil$1 = "⌉"; +const lfloor$1 = "⌊"; +const rfloor$1 = "⌋"; +const lang$1 = "〈"; +const rang$1 = "〉"; +const loz$1 = "◊"; +const spades$1 = "♠"; +const clubs$1 = "♣"; +const hearts$1 = "♥"; +const diams$1 = "♦"; +const quot$2 = "\""; +const amp$2 = "&"; +const lt$2 = "<"; +const gt$2 = ">"; +const OElig$1 = "Œ"; +const oelig$1 = "œ"; +const Scaron$1 = "Š"; +const scaron$1 = "š"; +const Yuml$1 = "Ÿ"; +const circ$1 = "ˆ"; +const tilde$3 = "˜"; +const ensp$1 = " "; +const emsp$1 = " "; +const thinsp$1 = " "; +const zwnj$1 = "‌"; +const zwj$1 = "‍"; +const lrm$1 = "‎"; +const rlm$1 = "‏"; +const ndash$1 = "–"; +const mdash$1 = "—"; +const lsquo$1 = "‘"; +const rsquo$1 = "’"; +const sbquo$1 = "‚"; +const ldquo$1 = "“"; +const rdquo$1 = "”"; +const bdquo$1 = "„"; +const dagger$1 = "†"; +const Dagger$1 = "‡"; +const permil$1 = "‰"; +const lsaquo$1 = "‹"; +const rsaquo$1 = "›"; +const euro$1 = "€"; +var index$4 = { + nbsp: nbsp$2, + iexcl: iexcl$2, + cent: cent$2, + pound: pound$2, + curren: curren$2, + yen: yen$2, + brvbar: brvbar$2, + sect: sect$2, + uml: uml$2, + copy: copy$3, + ordf: ordf$2, + laquo: laquo$2, + not: not$2, + shy: shy$2, + reg: reg$2, + macr: macr$2, + deg: deg$2, + plusmn: plusmn$2, + sup2: sup2$2, + sup3: sup3$2, + acute: acute$2, + micro: micro$2, + para: para$2, + middot: middot$2, + cedil: cedil$2, + sup1: sup1$2, + ordm: ordm$2, + raquo: raquo$2, + frac14: frac14$2, + frac12: frac12$2, + frac34: frac34$2, + iquest: iquest$2, + Agrave: Agrave$2, + Aacute: Aacute$2, + Acirc: Acirc$2, + Atilde: Atilde$2, + Auml: Auml$2, + Aring: Aring$2, + AElig: AElig$2, + Ccedil: Ccedil$2, + Egrave: Egrave$2, + Eacute: Eacute$2, + Ecirc: Ecirc$2, + Euml: Euml$2, + Igrave: Igrave$2, + Iacute: Iacute$2, + Icirc: Icirc$2, + Iuml: Iuml$2, + ETH: ETH$2, + Ntilde: Ntilde$2, + Ograve: Ograve$2, + Oacute: Oacute$2, + Ocirc: Ocirc$2, + Otilde: Otilde$2, + Ouml: Ouml$2, + times: times$2, + Oslash: Oslash$2, + Ugrave: Ugrave$2, + Uacute: Uacute$2, + Ucirc: Ucirc$2, + Uuml: Uuml$2, + Yacute: Yacute$2, + THORN: THORN$2, + szlig: szlig$2, + agrave: agrave$2, + aacute: aacute$2, + acirc: acirc$2, + atilde: atilde$2, + auml: auml$2, + aring: aring$2, + aelig: aelig$2, + ccedil: ccedil$2, + egrave: egrave$2, + eacute: eacute$2, + ecirc: ecirc$2, + euml: euml$2, + igrave: igrave$2, + iacute: iacute$2, + icirc: icirc$2, + iuml: iuml$2, + eth: eth$2, + ntilde: ntilde$2, + ograve: ograve$2, + oacute: oacute$2, + ocirc: ocirc$2, + otilde: otilde$2, + ouml: ouml$2, + divide: divide$2, + oslash: oslash$2, + ugrave: ugrave$2, + uacute: uacute$2, + ucirc: ucirc$2, + uuml: uuml$2, + yacute: yacute$2, + thorn: thorn$2, + yuml: yuml$2, + fnof: fnof$1, + Alpha: Alpha$1, + Beta: Beta$1, + Gamma: Gamma$1, + Delta: Delta$1, + Epsilon: Epsilon$1, + Zeta: Zeta$1, + Eta: Eta$1, + Theta: Theta$1, + Iota: Iota$1, + Kappa: Kappa$1, + Lambda: Lambda$1, + Mu: Mu$1, + Nu: Nu$1, + Xi: Xi$1, + Omicron: Omicron$1, + Pi: Pi$1, + Rho: Rho$1, + Sigma: Sigma$1, + Tau: Tau$1, + Upsilon: Upsilon$1, + Phi: Phi$1, + Chi: Chi$1, + Psi: Psi$1, + Omega: Omega$1, + alpha: alpha$1, + beta: beta$1, + gamma: gamma$1, + delta: delta$1, + epsilon: epsilon$1, + zeta: zeta$1, + eta: eta$1, + theta: theta$1, + iota: iota$1, + kappa: kappa$1, + lambda: lambda$1, + mu: mu$1, + nu: nu$1, + xi: xi$1, + omicron: omicron$1, + pi: pi$1, + rho: rho$1, + sigmaf: sigmaf$1, + sigma: sigma$1, + tau: tau$1, + upsilon: upsilon$1, + phi: phi$1, + chi: chi$1, + psi: psi$1, + omega: omega$1, + thetasym: thetasym$1, + upsih: upsih$1, + piv: piv$1, + bull: bull$1, + hellip: hellip$1, + prime: prime$1, + Prime: Prime$1, + oline: oline$1, + frasl: frasl$1, + weierp: weierp$1, + image: image$2, + real: real$1, + trade: trade$1, + alefsym: alefsym$1, + larr: larr$1, + uarr: uarr$1, + rarr: rarr$1, + darr: darr$1, + harr: harr$1, + crarr: crarr$1, + lArr: lArr$1, + uArr: uArr$1, + rArr: rArr$1, + dArr: dArr$1, + hArr: hArr$1, + forall: forall$1, + part: part$1, + exist: exist$1, + empty: empty$1, + nabla: nabla$1, + isin: isin$1, + notin: notin$1, + ni: ni$1, + prod: prod$1, + sum: sum$1, + minus: minus$1, + lowast: lowast$1, + radic: radic$1, + prop: prop$1, + infin: infin$1, + ang: ang$1, + and: and$1, + or: or$1, + cap: cap$1, + cup: cup$1, + int: int$1, + there4: there4$1, + sim: sim$1, + cong: cong$1, + asymp: asymp$1, + ne: ne$1, + equiv: equiv$1, + le: le$1, + ge: ge$1, + sub: sub$1, + sup: sup$1, + nsub: nsub$1, + sube: sube$1, + supe: supe$1, + oplus: oplus$1, + otimes: otimes$1, + perp: perp$1, + sdot: sdot$1, + lceil: lceil$1, + rceil: rceil$1, + lfloor: lfloor$1, + rfloor: rfloor$1, + lang: lang$1, + rang: rang$1, + loz: loz$1, + spades: spades$1, + clubs: clubs$1, + hearts: hearts$1, + diams: diams$1, + quot: quot$2, + amp: amp$2, + lt: lt$2, + gt: gt$2, + OElig: OElig$1, + oelig: oelig$1, + Scaron: Scaron$1, + scaron: scaron$1, + Yuml: Yuml$1, + circ: circ$1, + tilde: tilde$3, + ensp: ensp$1, + emsp: emsp$1, + thinsp: thinsp$1, + zwnj: zwnj$1, + zwj: zwj$1, + lrm: lrm$1, + rlm: rlm$1, + ndash: ndash$1, + mdash: mdash$1, + lsquo: lsquo$1, + rsquo: rsquo$1, + sbquo: sbquo$1, + ldquo: ldquo$1, + rdquo: rdquo$1, + bdquo: bdquo$1, + dagger: dagger$1, + Dagger: Dagger$1, + permil: permil$1, + lsaquo: lsaquo$1, + rsaquo: rsaquo$1, + euro: euro$1 +}; + +var characterEntitiesHtml4 = /*#__PURE__*/Object.freeze({ + __proto__: null, + nbsp: nbsp$2, + iexcl: iexcl$2, + cent: cent$2, + pound: pound$2, + curren: curren$2, + yen: yen$2, + brvbar: brvbar$2, + sect: sect$2, + uml: uml$2, + copy: copy$3, + ordf: ordf$2, + laquo: laquo$2, + not: not$2, + shy: shy$2, + reg: reg$2, + macr: macr$2, + deg: deg$2, + plusmn: plusmn$2, + sup2: sup2$2, + sup3: sup3$2, + acute: acute$2, + micro: micro$2, + para: para$2, + middot: middot$2, + cedil: cedil$2, + sup1: sup1$2, + ordm: ordm$2, + raquo: raquo$2, + frac14: frac14$2, + frac12: frac12$2, + frac34: frac34$2, + iquest: iquest$2, + Agrave: Agrave$2, + Aacute: Aacute$2, + Acirc: Acirc$2, + Atilde: Atilde$2, + Auml: Auml$2, + Aring: Aring$2, + AElig: AElig$2, + Ccedil: Ccedil$2, + Egrave: Egrave$2, + Eacute: Eacute$2, + Ecirc: Ecirc$2, + Euml: Euml$2, + Igrave: Igrave$2, + Iacute: Iacute$2, + Icirc: Icirc$2, + Iuml: Iuml$2, + ETH: ETH$2, + Ntilde: Ntilde$2, + Ograve: Ograve$2, + Oacute: Oacute$2, + Ocirc: Ocirc$2, + Otilde: Otilde$2, + Ouml: Ouml$2, + times: times$2, + Oslash: Oslash$2, + Ugrave: Ugrave$2, + Uacute: Uacute$2, + Ucirc: Ucirc$2, + Uuml: Uuml$2, + Yacute: Yacute$2, + THORN: THORN$2, + szlig: szlig$2, + agrave: agrave$2, + aacute: aacute$2, + acirc: acirc$2, + atilde: atilde$2, + auml: auml$2, + aring: aring$2, + aelig: aelig$2, + ccedil: ccedil$2, + egrave: egrave$2, + eacute: eacute$2, + ecirc: ecirc$2, + euml: euml$2, + igrave: igrave$2, + iacute: iacute$2, + icirc: icirc$2, + iuml: iuml$2, + eth: eth$2, + ntilde: ntilde$2, + ograve: ograve$2, + oacute: oacute$2, + ocirc: ocirc$2, + otilde: otilde$2, + ouml: ouml$2, + divide: divide$2, + oslash: oslash$2, + ugrave: ugrave$2, + uacute: uacute$2, + ucirc: ucirc$2, + uuml: uuml$2, + yacute: yacute$2, + thorn: thorn$2, + yuml: yuml$2, + fnof: fnof$1, + Alpha: Alpha$1, + Beta: Beta$1, + Gamma: Gamma$1, + Delta: Delta$1, + Epsilon: Epsilon$1, + Zeta: Zeta$1, + Eta: Eta$1, + Theta: Theta$1, + Iota: Iota$1, + Kappa: Kappa$1, + Lambda: Lambda$1, + Mu: Mu$1, + Nu: Nu$1, + Xi: Xi$1, + Omicron: Omicron$1, + Pi: Pi$1, + Rho: Rho$1, + Sigma: Sigma$1, + Tau: Tau$1, + Upsilon: Upsilon$1, + Phi: Phi$1, + Chi: Chi$1, + Psi: Psi$1, + Omega: Omega$1, + alpha: alpha$1, + beta: beta$1, + gamma: gamma$1, + delta: delta$1, + epsilon: epsilon$1, + zeta: zeta$1, + eta: eta$1, + theta: theta$1, + iota: iota$1, + kappa: kappa$1, + lambda: lambda$1, + mu: mu$1, + nu: nu$1, + xi: xi$1, + omicron: omicron$1, + pi: pi$1, + rho: rho$1, + sigmaf: sigmaf$1, + sigma: sigma$1, + tau: tau$1, + upsilon: upsilon$1, + phi: phi$1, + chi: chi$1, + psi: psi$1, + omega: omega$1, + thetasym: thetasym$1, + upsih: upsih$1, + piv: piv$1, + bull: bull$1, + hellip: hellip$1, + prime: prime$1, + Prime: Prime$1, + oline: oline$1, + frasl: frasl$1, + weierp: weierp$1, + image: image$2, + real: real$1, + trade: trade$1, + alefsym: alefsym$1, + larr: larr$1, + uarr: uarr$1, + rarr: rarr$1, + darr: darr$1, + harr: harr$1, + crarr: crarr$1, + lArr: lArr$1, + uArr: uArr$1, + rArr: rArr$1, + dArr: dArr$1, + hArr: hArr$1, + forall: forall$1, + part: part$1, + exist: exist$1, + empty: empty$1, + nabla: nabla$1, + isin: isin$1, + notin: notin$1, + ni: ni$1, + prod: prod$1, + sum: sum$1, + minus: minus$1, + lowast: lowast$1, + radic: radic$1, + prop: prop$1, + infin: infin$1, + ang: ang$1, + and: and$1, + or: or$1, + cap: cap$1, + cup: cup$1, + int: int$1, + there4: there4$1, + sim: sim$1, + cong: cong$1, + asymp: asymp$1, + ne: ne$1, + equiv: equiv$1, + le: le$1, + ge: ge$1, + sub: sub$1, + sup: sup$1, + nsub: nsub$1, + sube: sube$1, + supe: supe$1, + oplus: oplus$1, + otimes: otimes$1, + perp: perp$1, + sdot: sdot$1, + lceil: lceil$1, + rceil: rceil$1, + lfloor: lfloor$1, + rfloor: rfloor$1, + lang: lang$1, + rang: rang$1, + loz: loz$1, + spades: spades$1, + clubs: clubs$1, + hearts: hearts$1, + diams: diams$1, + quot: quot$2, + amp: amp$2, + lt: lt$2, + gt: gt$2, + OElig: OElig$1, + oelig: oelig$1, + Scaron: Scaron$1, + scaron: scaron$1, + Yuml: Yuml$1, + circ: circ$1, + tilde: tilde$3, + ensp: ensp$1, + emsp: emsp$1, + thinsp: thinsp$1, + zwnj: zwnj$1, + zwj: zwj$1, + lrm: lrm$1, + rlm: rlm$1, + ndash: ndash$1, + mdash: mdash$1, + lsquo: lsquo$1, + rsquo: rsquo$1, + sbquo: sbquo$1, + ldquo: ldquo$1, + rdquo: rdquo$1, + bdquo: bdquo$1, + dagger: dagger$1, + Dagger: Dagger$1, + permil: permil$1, + lsaquo: lsaquo$1, + rsaquo: rsaquo$1, + euro: euro$1, + 'default': index$4 +}); + +var dangerous = [ + "cent", + "copy", + "divide", + "gt", + "lt", + "not", + "para", + "times" +]; + +var dangerous$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + 'default': dangerous +}); + +var entities = getCjsExportFromNamespace(characterEntitiesHtml4); + +var dangerous$2 = getCjsExportFromNamespace(dangerous$1); + +var decimal$1 = isDecimal; + + + +var stringifyEntities = encode; +encode.escape = escape$2; + +var own$5 = {}.hasOwnProperty; + +// List of enforced escapes. +var escapes$1 = ['"', "'", '<', '>', '&', '`']; + +// Map of characters to names. +var characters = construct(); + +// Default escapes. +var defaultEscapes = toExpression(escapes$1); + +// Surrogate pairs. +var surrogatePair = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + +// Non-ASCII characters. +// eslint-disable-next-line no-control-regex, unicorn/no-hex-escape +var bmp = /[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g; + +// Encode special characters in `value`. +function encode(value, options) { + var settings = options || {}; + var subset = settings.subset; + var set = subset ? toExpression(subset) : defaultEscapes; + var escapeOnly = settings.escapeOnly; + var omit = settings.omitOptionalSemicolons; + + value = value.replace(set, replace); + + if (subset || escapeOnly) { + return value + } + + return value + .replace(surrogatePair, replaceSurrogatePair) + .replace(bmp, replace) + + function replaceSurrogatePair(pair, pos, val) { + return toHexReference( + (pair.charCodeAt(0) - 0xd800) * 0x400 + + pair.charCodeAt(1) - + 0xdc00 + + 0x10000, + val.charAt(pos + 2), + omit + ) + } + + function replace(char, pos, val) { + return one$1(char, val.charAt(pos + 1), settings) + } +} + +// Shortcut to escape special characters in HTML. +function escape$2(value) { + return encode(value, {escapeOnly: true, useNamedReferences: true}) +} + +// Encode `char` according to `options`. +function one$1(char, next, options) { + var shortest = options.useShortestReferences; + var omit = options.omitOptionalSemicolons; + var named; + var code; + var numeric; + var decimal; + + if ((shortest || options.useNamedReferences) && own$5.call(characters, char)) { + named = toNamed(characters[char], next, omit, options.attribute); + } + + if (shortest || !named) { + code = char.charCodeAt(0); + numeric = toHexReference(code, next, omit); + + // Use the shortest numeric reference when requested. + // A simple algorithm would use decimal for all code points under 100, as + // those are shorter than hexadecimal: + // + // * `c` vs `c` (decimal shorter) + // * `d` vs `d` (equal) + // + // However, because we take `next` into consideration when `omit` is used, + // And it would be possible that decimals are shorter on bigger values as + // well if `next` is hexadecimal but not decimal, we instead compare both. + if (shortest) { + decimal = toDecimalReference(code, next, omit); + + if (decimal.length < numeric.length) { + numeric = decimal; + } + } + } + + if (named && (!shortest || named.length < numeric.length)) { + return named + } + + return numeric +} + +// Transform `code` into an entity. +function toNamed(name, next, omit, attribute) { + var value = '&' + name; + + if ( + omit && + own$5.call(legacy, name) && + dangerous$2.indexOf(name) === -1 && + (!attribute || (next && next !== '=' && !isAlphanumerical(next))) + ) { + return value + } + + return value + ';' +} + +// Transform `code` into a hexadecimal character reference. +function toHexReference(code, next, omit) { + var value = '&#x' + code.toString(16).toUpperCase(); + return omit && next && !isHexadecimal(next) ? value : value + ';' +} + +// Transform `code` into a decimal character reference. +function toDecimalReference(code, next, omit) { + var value = '&#' + String(code); + return omit && next && !decimal$1(next) ? value : value + ';' +} + +// Create an expression for `characters`. +function toExpression(characters) { + return new RegExp('[' + characters.join('') + ']', 'g') +} + +// Construct the map. +function construct() { + var chars = {}; + var name; + + for (name in entities) { + chars[entities[name]] = name; + } + + return chars +} + +var isAlphanumeric = function (str) { + if (typeof str !== 'string') { + throw new TypeError('Expected a string'); + } + + return !/[^0-9a-z\xDF-\xFF]/.test(str.toLowerCase()); +}; + +var entityPrefixLength = length; + +var ampersand$1 = '&'; + +// Returns the length of HTML entity that is a prefix of the given string +// (excluding the ampersand), 0 if it does not start with an entity. +function length(value) { + var prefix; + + /* istanbul ignore if - Currently also tested for at implemention, but we + * keep it here because that’s proper. */ + if (value.charAt(0) !== ampersand$1) { + return 0 + } + + prefix = value.split(ampersand$1, 2).join(ampersand$1); + + return prefix.length - parseEntities_1(prefix).length +} + +var _escape$2 = factory$6; + +var tab$f = '\t'; +var lineFeed$k = '\n'; +var space$i = ' '; +var numberSign$2 = '#'; +var ampersand$2 = '&'; +var leftParenthesis$3 = '('; +var rightParenthesis$4 = ')'; +var asterisk$4 = '*'; +var plusSign$1 = '+'; +var dash$5 = '-'; +var dot$3 = '.'; +var colon$5 = ':'; +var lessThan$7 = '<'; +var greaterThan$4 = '>'; +var leftSquareBracket$5 = '['; +var backslash$a = '\\'; +var rightSquareBracket$5 = ']'; +var underscore$4 = '_'; +var graveAccent$3 = '`'; +var verticalBar$1 = '|'; +var tilde$4 = '~'; +var exclamationMark$4 = '!'; + +var entities$1 = { + '<': '<', + ':': ':', + '&': '&', + '|': '|', + '~': '~' +}; + +var shortcut$1 = 'shortcut'; +var mailto$2 = 'mailto'; +var https$1 = 'https'; +var http$1 = 'http'; + +var blankExpression = /\n\s*$/; + +// Factory to escape characters. +function factory$6(options) { + return escape + + // Escape punctuation characters in a node’s value. + function escape(value, node, parent) { + var self = this; + var gfm = options.gfm; + var commonmark = options.commonmark; + var pedantic = options.pedantic; + var markers = commonmark ? [dot$3, rightParenthesis$4] : [dot$3]; + var siblings = parent && parent.children; + var index = siblings && siblings.indexOf(node); + var prev = siblings && siblings[index - 1]; + var next = siblings && siblings[index + 1]; + var length = value.length; + var escapable = markdownEscapes(options); + var position = -1; + var queue = []; + var escaped = queue; + var afterNewLine; + var character; + var wordCharBefore; + var wordCharAfter; + var offset; + var replace; + + if (prev) { + afterNewLine = text$1(prev) && blankExpression.test(prev.value); + } else { + afterNewLine = + !parent || parent.type === 'root' || parent.type === 'paragraph'; + } + + while (++position < length) { + character = value.charAt(position); + replace = false; + + if (character === '\n') { + afterNewLine = true; + } else if ( + character === backslash$a || + character === graveAccent$3 || + character === asterisk$4 || + character === leftSquareBracket$5 || + character === lessThan$7 || + (character === ampersand$2 && entityPrefixLength(value.slice(position)) > 0) || + (character === rightSquareBracket$5 && self.inLink) || + (gfm && character === tilde$4 && value.charAt(position + 1) === tilde$4) || + (gfm && + character === verticalBar$1 && + (self.inTable || alignment(value, position))) || + (character === underscore$4 && + // Delegate leading/trailing underscores to the multinode version below. + position > 0 && + position < length - 1 && + (pedantic || + !isAlphanumeric(value.charAt(position - 1)) || + !isAlphanumeric(value.charAt(position + 1)))) || + (gfm && !self.inLink && character === colon$5 && protocol(queue.join(''))) + ) { + replace = true; + } else if (afterNewLine) { + if ( + character === greaterThan$4 || + character === numberSign$2 || + character === asterisk$4 || + character === dash$5 || + character === plusSign$1 + ) { + replace = true; + } else if (isDecimal(character)) { + offset = position + 1; + + while (offset < length) { + if (!isDecimal(value.charAt(offset))) { + break + } + + offset++; + } + + if (markers.indexOf(value.charAt(offset)) !== -1) { + next = value.charAt(offset + 1); + + if (!next || next === space$i || next === tab$f || next === lineFeed$k) { + queue.push(value.slice(position, offset)); + position = offset; + character = value.charAt(position); + replace = true; + } + } + } + } + + if (afterNewLine && !isWhitespaceCharacter(character)) { + afterNewLine = false; + } + + queue.push(replace ? one(character) : character); + } + + // Multi-node versions. + if (siblings && text$1(node)) { + // Check for an opening parentheses after a link-reference (which can be + // joined by white-space). + if (prev && prev.referenceType === shortcut$1) { + position = -1; + length = escaped.length; + + while (++position < length) { + character = escaped[position]; + + if (character === space$i || character === tab$f) { + continue + } + + if (character === leftParenthesis$3 || character === colon$5) { + escaped[position] = one(character); + } + + break + } + + // If the current node is all spaces / tabs, preceded by a shortcut, + // and followed by a text starting with `(`, escape it. + if ( + text$1(next) && + position === length && + next.value.charAt(0) === leftParenthesis$3 + ) { + escaped.push(backslash$a); + } + } + + // Ensure non-auto-links are not seen as links. This pattern needs to + // check the preceding nodes too. + if ( + gfm && + !self.inLink && + text$1(prev) && + value.charAt(0) === colon$5 && + protocol(prev.value.slice(-6)) + ) { + escaped[0] = one(colon$5); + } + + // Escape ampersand if it would otherwise start an entity. + if ( + text$1(next) && + value.charAt(length - 1) === ampersand$2 && + entityPrefixLength(ampersand$2 + next.value) !== 0 + ) { + escaped[escaped.length - 1] = one(ampersand$2); + } + + // Escape exclamation marks immediately followed by links. + if ( + next && + next.type === 'link' && + value.charAt(length - 1) === exclamationMark$4 + ) { + escaped[escaped.length - 1] = one(exclamationMark$4); + } + + // Escape double tildes in GFM. + if ( + gfm && + text$1(next) && + value.charAt(length - 1) === tilde$4 && + next.value.charAt(0) === tilde$4 + ) { + escaped.splice(escaped.length - 1, 0, backslash$a); + } + + // Escape underscores, but not mid-word (unless in pedantic mode). + wordCharBefore = text$1(prev) && isAlphanumeric(prev.value.slice(-1)); + wordCharAfter = text$1(next) && isAlphanumeric(next.value.charAt(0)); + + if (length === 1) { + if ( + value === underscore$4 && + (pedantic || !wordCharBefore || !wordCharAfter) + ) { + escaped.unshift(backslash$a); + } + } else { + if ( + value.charAt(0) === underscore$4 && + (pedantic || !wordCharBefore || !isAlphanumeric(value.charAt(1))) + ) { + escaped.unshift(backslash$a); + } + + if ( + value.charAt(length - 1) === underscore$4 && + (pedantic || + !wordCharAfter || + !isAlphanumeric(value.charAt(length - 2))) + ) { + escaped.splice(escaped.length - 1, 0, backslash$a); + } + } + } + + return escaped.join('') + + function one(character) { + return escapable.indexOf(character) === -1 + ? entities$1[character] + : backslash$a + character + } + } +} + +// Check if `index` in `value` is inside an alignment row. +function alignment(value, index) { + var start = value.lastIndexOf(lineFeed$k, index); + var end = value.indexOf(lineFeed$k, index); + var char; + + end = end === -1 ? value.length : end; + + while (++start < end) { + char = value.charAt(start); + + if ( + char !== colon$5 && + char !== dash$5 && + char !== space$i && + char !== verticalBar$1 + ) { + return false + } + } + + return true +} + +// Check if `node` is a text node. +function text$1(node) { + return node && node.type === 'text' +} + +// Check if `value` ends in a protocol. +function protocol(value) { + var val = value.slice(-6).toLowerCase(); + return val === mailto$2 || val.slice(-5) === https$1 || val.slice(-4) === http$1 +} + +var setOptions_1$1 = setOptions$1; + +// Map of applicable enums. +var maps = { + entities: {true: true, false: true, numbers: true, escape: true}, + bullet: {'*': true, '-': true, '+': true}, + rule: {'-': true, _: true, '*': true}, + listItemIndent: {tab: true, mixed: true, 1: true}, + emphasis: {_: true, '*': true}, + strong: {_: true, '*': true}, + fence: {'`': true, '~': true} +}; + +// Expose `validate`. +var validate = { + boolean: validateBoolean, + string: validateString, + number: validateNumber, + function: validateFunction +}; + +// Set options. Does not overwrite previously set options. +function setOptions$1(options) { + var self = this; + var current = self.options; + var ruleRepetition; + var key; + + if (options == null) { + options = {}; + } else if (typeof options === 'object') { + options = immutable(options); + } else { + throw new Error('Invalid value `' + options + '` for setting `options`') + } + + for (key in defaults$3) { + validate[typeof defaults$3[key]](options, key, current[key], maps[key]); + } + + ruleRepetition = options.ruleRepetition; + + if (ruleRepetition && ruleRepetition < 3) { + raise(ruleRepetition, 'options.ruleRepetition'); + } + + self.encode = encodeFactory(String(options.entities)); + self.escape = _escape$2(options); + + self.options = options; + + return self +} + +// Validate a value to be boolean. Defaults to `def`. Raises an exception with +// `context[name]` when not a boolean. +function validateBoolean(context, name, def) { + var value = context[name]; + + if (value == null) { + value = def; + } + + if (typeof value !== 'boolean') { + raise(value, 'options.' + name); + } + + context[name] = value; +} + +// Validate a value to be boolean. Defaults to `def`. Raises an exception with +// `context[name]` when not a boolean. +function validateNumber(context, name, def) { + var value = context[name]; + + if (value == null) { + value = def; + } + + if (isNaN(value)) { + raise(value, 'options.' + name); + } + + context[name] = value; +} + +// Validate a value to be in `map`. Defaults to `def`. Raises an exception +// with `context[name]` when not in `map`. +function validateString(context, name, def, map) { + var value = context[name]; + + if (value == null) { + value = def; + } + + value = String(value); + + if (!(value in map)) { + raise(value, 'options.' + name); + } + + context[name] = value; +} + +// Validate a value to be function. Defaults to `def`. Raises an exception +// with `context[name]` when not a function. +function validateFunction(context, name, def) { + var value = context[name]; + + if (value == null) { + value = def; + } + + if (typeof value !== 'function') { + raise(value, 'options.' + name); + } + + context[name] = value; +} + +// Factory to encode HTML entities. Creates a no-operation function when +// `type` is `'false'`, a function which encodes using named references when +// `type` is `'true'`, and a function which encodes using numbered references +// when `type` is `'numbers'`. +function encodeFactory(type) { + var options = {}; + + if (type === 'false') { + return identity_1 + } + + if (type === 'true') { + options.useNamedReferences = true; + } + + if (type === 'escape') { + options.escapeOnly = true; + options.useNamedReferences = true; + } + + return wrapped + + // Encode HTML entities using the bound options. + function wrapped(value) { + return stringifyEntities(value, options) + } +} + +// Throw an exception with in its `message` `value` and `name`. +function raise(value, name) { + throw new Error('Invalid value `' + value + '` for setting `' + name + '`') +} + +var mdastUtilCompact = compact; + +// Make an mdast tree compact by merging adjacent text nodes. +function compact(tree, commonmark) { + unistUtilVisit(tree, visitor); + + return tree + + function visitor(child, index, parent) { + var siblings = parent ? parent.children : []; + var prev = index && siblings[index - 1]; + + if ( + prev && + child.type === prev.type && + mergeable$1(prev, commonmark) && + mergeable$1(child, commonmark) + ) { + if (child.value) { + prev.value += child.value; + } + + if (child.children) { + prev.children = prev.children.concat(child.children); + } + + siblings.splice(index, 1); + + if (prev.position && child.position) { + prev.position.end = child.position.end; + } + + return index + } + } +} + +function mergeable$1(node, commonmark) { + var start; + var end; + + if (node.type === 'text') { + if (!node.position) { + return true + } + + start = node.position.start; + end = node.position.end; + + // Only merge nodes which occupy the same size as their `value`. + return ( + start.line !== end.line || end.column - start.column === node.value.length + ) + } + + return commonmark && node.type === 'blockquote' +} + +var compile_1$1 = compile$3; + +// Stringify the given tree. +function compile$3() { + return this.visit(mdastUtilCompact(this.tree, this.options.commonmark)) +} + +var one_1 = one$2; + +function one$2(node, parent) { + var self = this; + var visitors = self.visitors; + + // Fail on unknown nodes. + if (typeof visitors[node.type] !== 'function') { + self.file.fail( + new Error( + 'Missing compiler for node of type `' + node.type + '`: `' + node + '`' + ), + node + ); + } + + return visitors[node.type].call(self, node, parent) +} + +var all_1 = all; + +// Visit all children of `parent`. +function all(parent) { + var self = this; + var children = parent.children; + var length = children.length; + var results = []; + var index = -1; + + while (++index < length) { + results[index] = self.visit(children[index], parent); + } + + return results +} + +var block_1 = block$1; + +var lineFeed$l = '\n'; + +var blank$1 = lineFeed$l + lineFeed$l; +var triple = blank$1 + lineFeed$l; +var comment$1 = blank$1 + '' + blank$1; + +// Stringify a block node with block children (e.g., `root` or `blockquote`). +// Knows about code following a list, or adjacent lists with similar bullets, +// and places an extra line feed between them. +function block$1(node) { + var self = this; + var options = self.options; + var fences = options.fences; + var gap = options.commonmark ? comment$1 : triple; + var values = []; + var children = node.children; + var length = children.length; + var index = -1; + var prev; + var child; + + while (++index < length) { + prev = child; + child = children[index]; + + if (prev) { + // A list preceding another list that are equally ordered, or a + // list preceding an indented code block, need a gap between them, + // so as not to see them as one list, or content of the list, + // respectively. + // + // In commonmark, only something that breaks both up can do that, + // so we opt for an empty, invisible comment. In other flavours, + // two blank lines are fine. + if ( + prev.type === 'list' && + ((child.type === 'list' && prev.ordered === child.ordered) || + (child.type === 'code' && !child.lang && !fences)) + ) { + values.push(gap); + } else { + values.push(blank$1); + } + } + + values.push(self.visit(child, node)); + } + + return values.join('') +} + +var orderedItems_1 = orderedItems; + +var lineFeed$m = '\n'; +var dot$4 = '.'; + +var blank$2 = lineFeed$m + lineFeed$m; + +// Visit ordered list items. +// +// Starts the list with +// `node.start` and increments each following list item +// bullet by one: +// +// 2. foo +// 3. bar +// +// In `incrementListMarker: false` mode, does not increment +// each marker and stays on `node.start`: +// +// 1. foo +// 1. bar +function orderedItems(node) { + var self = this; + var fn = self.visitors.listItem; + var increment = self.options.incrementListMarker; + var values = []; + var start = node.start; + var children = node.children; + var length = children.length; + var index = -1; + var bullet; + + start = start == null ? 1 : start; + + while (++index < length) { + bullet = (increment ? start + index : start) + dot$4; + values[index] = fn.call(self, children[index], node, index, bullet); + } + + return values.join(node.spread ? blank$2 : lineFeed$m) +} + +var unorderedItems_1 = unorderedItems; + +var lineFeed$n = '\n'; + +var blank$3 = lineFeed$n + lineFeed$n; + +// Visit unordered list items. Uses `options.bullet` as each item’s bullet. +function unorderedItems(node) { + var self = this; + var bullet = self.options.bullet; + var fn = self.visitors.listItem; + var children = node.children; + var length = children.length; + var index = -1; + var values = []; + + while (++index < length) { + values[index] = fn.call(self, children[index], node, index, bullet); + } + + return values.join(node.spread ? blank$3 : lineFeed$n) +} + +var root_1 = root$1; + +var lineFeed$o = '\n'; + +// Stringify a root. +// Adds a final newline to ensure valid POSIX files. */ +function root$1(node) { + var doc = this.block(node); + + if (doc.charAt(doc.length - 1) !== lineFeed$o) { + doc += lineFeed$o; + } + + return doc +} + +var text_1$1 = text$2; + +// Stringify text. +// Supports named entities in `settings.encode: true` mode: +// +// ```markdown +// AT&T +// ``` +// +// Supports numbered entities in `settings.encode: numbers` mode: +// +// ```markdown +// AT&T +// ``` +function text$2(node, parent) { + return this.encode(this.escape(node.value, node, parent), node) +} + +var heading_1 = heading; + +var lineFeed$p = '\n'; +var space$j = ' '; +var numberSign$3 = '#'; +var dash$6 = '-'; +var equalsTo$2 = '='; + +// Stringify a heading. +// +// In `setext: true` mode and when `depth` is smaller than three, creates a +// setext header: +// +// ```markdown +// Foo +// === +// ``` +// +// Otherwise, an ATX header is generated: +// +// ```markdown +// ### Foo +// ``` +// +// In `closeAtx: true` mode, the header is closed with hashes: +// +// ```markdown +// ### Foo ### +// ``` +function heading(node) { + var self = this; + var depth = node.depth; + var setext = self.options.setext; + var closeAtx = self.options.closeAtx; + var content = self.all(node).join(''); + var prefix; + + if (setext && depth < 3) { + return ( + content + lineFeed$p + repeatString(depth === 1 ? equalsTo$2 : dash$6, content.length) + ) + } + + prefix = repeatString(numberSign$3, node.depth); + + return prefix + space$j + content + (closeAtx ? space$j + prefix : '') +} + +var paragraph_1$1 = paragraph$1; + +function paragraph$1(node) { + return this.all(node).join('') +} + +var blockquote_1$1 = blockquote$1; + +var lineFeed$q = '\n'; +var space$k = ' '; +var greaterThan$5 = '>'; + +function blockquote$1(node) { + var values = this.block(node).split(lineFeed$q); + var result = []; + var length = values.length; + var index = -1; + var value; + + while (++index < length) { + value = values[index]; + result[index] = (value ? space$k : '') + value; + } + + return greaterThan$5 + result.join(lineFeed$q + greaterThan$5) +} + +var list_1$1 = list$1; + +function list$1(node) { + var fn = node.ordered ? this.visitOrderedItems : this.visitUnorderedItems; + return fn.call(this, node) +} + +var pad_1 = pad$1; + +var lineFeed$r = '\n'; +var space$l = ' '; + +var tabSize$5 = 4; + +// Pad `value` with `level * tabSize` spaces. Respects lines. Ignores empty +// lines. +function pad$1(value, level) { + var values = value.split(lineFeed$r); + var index = values.length; + var padding = repeatString(space$l, level * tabSize$5); + + while (index--) { + if (values[index].length !== 0) { + values[index] = padding + values[index]; + } + } + + return values.join(lineFeed$r) +} + +var listItem_1 = listItem$1; + +var lineFeed$s = '\n'; +var space$m = ' '; +var leftSquareBracket$6 = '['; +var rightSquareBracket$6 = ']'; +var lowercaseX$2 = 'x'; + +var ceil = Math.ceil; +var blank$4 = lineFeed$s + lineFeed$s; + +var tabSize$6 = 4; + +// Stringify a list item. +// +// Prefixes the content with a checked checkbox when `checked: true`: +// +// ```markdown +// [x] foo +// ``` +// +// Prefixes the content with an unchecked checkbox when `checked: false`: +// +// ```markdown +// [ ] foo +// ``` +function listItem$1(node, parent, position, bullet) { + var self = this; + var style = self.options.listItemIndent; + var marker = bullet || self.options.bullet; + var spread = node.spread == null ? true : node.spread; + var checked = node.checked; + var children = node.children; + var length = children.length; + var values = []; + var index = -1; + var value; + var indent; + var spacing; + + while (++index < length) { + values[index] = self.visit(children[index], node); + } + + value = values.join(spread ? blank$4 : lineFeed$s); + + if (typeof checked === 'boolean') { + // Note: I’d like to be able to only add the space between the check and + // the value, but unfortunately github does not support empty list-items + // with a checkbox :( + value = + leftSquareBracket$6 + + (checked ? lowercaseX$2 : space$m) + + rightSquareBracket$6 + + space$m + + value; + } + + if (style === '1' || (style === 'mixed' && value.indexOf(lineFeed$s) === -1)) { + indent = marker.length + 1; + spacing = space$m; + } else { + indent = ceil((marker.length + 1) / tabSize$6) * tabSize$6; + spacing = repeatString(space$m, indent - marker.length); + } + + return value + ? marker + spacing + pad_1(value, indent / tabSize$6).slice(indent) + : marker +} + +var longestStreak_1 = longestStreak; + +// Get the count of the longest repeating streak of `character` in `value`. +function longestStreak(value, character) { + var count = 0; + var maximum = 0; + var expected; + var index; + + if (typeof character !== 'string' || character.length !== 1) { + throw new Error('Expected character') + } + + value = String(value); + index = value.indexOf(character); + expected = index; + + while (index !== -1) { + count++; + + if (index === expected) { + if (count > maximum) { + maximum = count; + } + } else { + count = 1; + } + + expected = index + 1; + index = value.indexOf(character, expected); + } + + return maximum +} + +var inlineCode_1 = inlineCode$1; + +var graveAccentChar = '`'; +var lineFeed$t = 10; // '\n' +var space$n = 32; // ' ' +var graveAccent$4 = 96; // '`' + +// Stringify inline code. +// +// Knows about internal ticks (`\``), and ensures one more tick is used to +// enclose the inline code: +// +// ````markdown +// ```foo ``bar`` baz``` +// ```` +// +// Even knows about inital and final ticks: +// +// ``markdown +// `` `foo `` +// `` foo` `` +// ``` +function inlineCode$1(node) { + var value = node.value; + var ticks = repeatString(graveAccentChar, longestStreak_1(value, graveAccentChar) + 1); + var start = ticks; + var end = ticks; + var head = value.charCodeAt(0); + var tail = value.charCodeAt(value.length - 1); + var wrap = false; + var index; + var length; + + if (head === graveAccent$4 || tail === graveAccent$4) { + wrap = true; + } else if (value.length > 2 && ws(head) && ws(tail)) { + index = 1; + length = value.length - 1; + + while (++index < length) { + if (!ws(value.charCodeAt(index))) { + wrap = true; + break + } + } + } + + if (wrap) { + start += ' '; + end = ' ' + end; + } + + return start + value + end +} + +function ws(code) { + return code === lineFeed$t || code === space$n +} + +var code_1 = code; + +var lineFeed$u = '\n'; +var space$o = ' '; +var tilde$5 = '~'; +var graveAccent$5 = '`'; + +// Stringify code. +// Creates indented code when: +// +// - No language tag exists +// - Not in `fences: true` mode +// - A non-empty value exists +// +// Otherwise, GFM fenced code is created: +// +// ````markdown +// ```js +// foo(); +// ``` +// ```` +// +// When in ``fence: `~` `` mode, uses tildes as fences: +// +// ```markdown +// ~~~js +// foo(); +// ~~~ +// ``` +// +// Knows about internal fences: +// +// `````markdown +// ````markdown +// ```javascript +// foo(); +// ``` +// ```` +// ````` +function code(node, parent) { + var self = this; + var value = node.value; + var options = self.options; + var marker = options.fence; + var info = node.lang || ''; + var fence; + + if (info && node.meta) { + info += space$o + node.meta; + } + + info = self.encode(self.escape(info, node)); + + // Without (needed) fences. + if ( + !info && + !options.fences && + value && + value.charAt(0) !== lineFeed$u && + value.charAt(value.length - 1) !== lineFeed$u + ) { + // Throw when pedantic, in a list item which isn’t compiled using a tab. + if ( + parent && + parent.type === 'listItem' && + options.listItemIndent !== 'tab' && + options.pedantic + ) { + self.file.fail( + 'Cannot indent code properly. See https://git.io/fxKR8', + node.position + ); + } + + return pad_1(value, 1) + } + + // Backticks in the info string don’t work with backtick fenced code. + // Backticks (and tildes) are fine in tilde fenced code. + if (marker === graveAccent$5 && info.indexOf(graveAccent$5) !== -1) { + marker = tilde$5; + } + + fence = repeatString(marker, Math.max(longestStreak_1(value, marker) + 1, 3)); + + return fence + info + lineFeed$u + value + lineFeed$u + fence +} + +var html_1 = html$1; + +function html$1(node) { + return node.value +} + +var thematicBreak$1 = thematic; + +var space$p = ' '; + +// Stringify a `thematic-break`. +// The character used is configurable through `rule`: (`'_'`): +// +// ```markdown +// ___ +// ``` +// +// The number of repititions is defined through `ruleRepetition` (`6`): +// +// ```markdown +// ****** +// ``` +// +// Whether spaces delimit each character, is configured through `ruleSpaces` +// (`true`): +// ```markdown +// * * * +// ``` +function thematic() { + var options = this.options; + var rule = repeatString(options.rule, options.ruleRepetition); + return options.ruleSpaces ? rule.split('').join(space$p) : rule +} + +var strong_1$1 = strong$2; + +// Stringify a `strong`. +// +// The marker used is configurable by `strong`, which defaults to an asterisk +// (`'*'`) but also accepts an underscore (`'_'`): +// +// ```markdown +// __foo__ +// ``` +function strong$2(node) { + var marker = repeatString(this.options.strong, 2); + return marker + this.all(node).join('') + marker +} + +var emphasis_1$1 = emphasis$2; + +var underscore$5 = '_'; +var asterisk$5 = '*'; + +// Stringify an `emphasis`. +// +// The marker used is configurable through `emphasis`, which defaults to an +// underscore (`'_'`) but also accepts an asterisk (`'*'`): +// +// ```markdown +// *foo* +// ``` +// +// In `pedantic` mode, text which itself contains an underscore will cause the +// marker to default to an asterisk instead: +// +// ```markdown +// *foo_bar* +// ``` +function emphasis$2(node) { + var marker = this.options.emphasis; + var content = this.all(node).join(''); + + // When in pedantic mode, prevent using underscore as the marker when there + // are underscores in the content. + if ( + this.options.pedantic && + marker === underscore$5 && + content.indexOf(marker) !== -1 + ) { + marker = asterisk$5; + } + + return marker + content + marker +} + +var _break$2 = lineBreak; + +var backslash$b = '\\'; +var lineFeed$v = '\n'; +var space$q = ' '; + +var commonmark$1 = backslash$b + lineFeed$v; +var normal = space$q + space$q + lineFeed$v; + +function lineBreak() { + return this.options.commonmark ? commonmark$1 : normal +} + +var _delete$2 = strikethrough$1; + +var tilde$6 = '~'; + +var fence$1 = tilde$6 + tilde$6; + +function strikethrough$1(node) { + return fence$1 + this.all(node).join('') + fence$1 +} + +var ccount_1 = ccount; + +function ccount(value, character) { + var count = 0; + var index; + + value = String(value); + + if (typeof character !== 'string' || character.length !== 1) { + throw new Error('Expected character') + } + + index = value.indexOf(character); + + while (index !== -1) { + count++; + index = value.indexOf(character, index + 1); + } + + return count +} + +var encloseUri = enclose; + +var leftParenthesis$4 = '('; +var rightParenthesis$5 = ')'; +var lessThan$8 = '<'; +var greaterThan$6 = '>'; + +var expression = /\s/; + +// Wrap `url` in angle brackets when needed, or when +// forced. +// In links, images, and definitions, the URL part needs +// to be enclosed when it: +// +// - has a length of `0` +// - contains white-space +// - has more or less opening than closing parentheses +function enclose(uri, always) { + if ( + always || + uri.length === 0 || + expression.test(uri) || + ccount_1(uri, leftParenthesis$4) !== ccount_1(uri, rightParenthesis$5) + ) { + return lessThan$8 + uri + greaterThan$6 + } + + return uri +} + +var encloseTitle = enclose$1; + +var quotationMark$3 = '"'; +var apostrophe$3 = "'"; + +// There is currently no way to support nested delimiters across Markdown.pl, +// CommonMark, and GitHub (RedCarpet). The following code supports Markdown.pl +// and GitHub. +// CommonMark is not supported when mixing double- and single quotes inside a +// title. +function enclose$1(title) { + var delimiter = + title.indexOf(quotationMark$3) === -1 ? quotationMark$3 : apostrophe$3; + return delimiter + title + delimiter +} + +var link_1$1 = link$4; + +var space$r = ' '; +var leftSquareBracket$7 = '['; +var rightSquareBracket$7 = ']'; +var leftParenthesis$5 = '('; +var rightParenthesis$6 = ')'; + +// Expression for a protocol: +// See . +var protocol$1 = /^[a-z][a-z+.-]+:\/?/i; + +// Stringify a link. +// +// When no title exists, the compiled `children` equal `url`, and `url` starts +// with a protocol, an auto link is created: +// +// ```markdown +// +// ``` +// +// Otherwise, is smart about enclosing `url` (see `encloseURI()`) and `title` +// (see `encloseTitle()`). +// ``` +// +// ```markdown +// [foo]( 'An "example" e-mail') +// ``` +// +// Supports named entities in the `url` and `title` when in `settings.encode` +// mode. +function link$4(node) { + var self = this; + var content = self.encode(node.url || '', node); + var exit = self.enterLink(); + var escaped = self.encode(self.escape(node.url || '', node)); + var value = self.all(node).join(''); + + exit(); + + if (node.title == null && protocol$1.test(content) && escaped === value) { + // Backslash escapes do not work in autolinks, so we do not escape. + return encloseUri(self.encode(node.url), true) + } + + content = encloseUri(content); + + if (node.title) { + content += space$r + encloseTitle(self.encode(self.escape(node.title, node), node)); + } + + return ( + leftSquareBracket$7 + + value + + rightSquareBracket$7 + + leftParenthesis$5 + + content + + rightParenthesis$6 + ) +} + +var copyIdentifierEncoding = copy$4; + +var ampersand$3 = '&'; + +var punctuationExppresion = /[-!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~_]/; + +// For shortcut and collapsed reference links, the contents is also an +// identifier, so we need to restore the original encoding and escaping +// that were present in the source string. +// +// This function takes the unescaped & unencoded value from shortcut’s +// child nodes and the identifier and encodes the former according to +// the latter. +function copy$4(value, identifier) { + var length = value.length; + var count = identifier.length; + var result = []; + var position = 0; + var index = 0; + var start; + + while (index < length) { + // Take next non-punctuation characters from `value`. + start = index; + + while (index < length && !punctuationExppresion.test(value.charAt(index))) { + index += 1; + } + + result.push(value.slice(start, index)); + + // Advance `position` to the next punctuation character. + while ( + position < count && + !punctuationExppresion.test(identifier.charAt(position)) + ) { + position += 1; + } + + // Take next punctuation characters from `identifier`. + start = position; + + while ( + position < count && + punctuationExppresion.test(identifier.charAt(position)) + ) { + if (identifier.charAt(position) === ampersand$3) { + position += entityPrefixLength(identifier.slice(position)); + } + + position += 1; + } + + result.push(identifier.slice(start, position)); + + // Advance `index` to the next non-punctuation character. + while (index < length && punctuationExppresion.test(value.charAt(index))) { + index += 1; + } + } + + return result.join('') +} + +var label_1 = label; + +var leftSquareBracket$8 = '['; +var rightSquareBracket$8 = ']'; + +var shortcut$2 = 'shortcut'; +var collapsed$1 = 'collapsed'; + +// Stringify a reference label. +// Because link references are easily, mistakingly, created (for example, +// `[foo]`), reference nodes have an extra property depicting how it looked in +// the original document, so stringification can cause minimal changes. +function label(node) { + var type = node.referenceType; + + if (type === shortcut$2) { + return '' + } + + return ( + leftSquareBracket$8 + + (type === collapsed$1 ? '' : node.label || node.identifier) + + rightSquareBracket$8 + ) +} + +var linkReference_1 = linkReference; + +var leftSquareBracket$9 = '['; +var rightSquareBracket$9 = ']'; + +var shortcut$3 = 'shortcut'; +var collapsed$2 = 'collapsed'; + +function linkReference(node) { + var self = this; + var type = node.referenceType; + var exit = self.enterLinkReference(self, node); + var value = self.all(node).join(''); + + exit(); + + if (type === shortcut$3 || type === collapsed$2) { + value = copyIdentifierEncoding(value, node.label || node.identifier); + } + + return leftSquareBracket$9 + value + rightSquareBracket$9 + label_1(node) +} + +var imageReference_1 = imageReference; + +var leftSquareBracket$a = '['; +var rightSquareBracket$a = ']'; +var exclamationMark$5 = '!'; + +function imageReference(node) { + return ( + exclamationMark$5 + + leftSquareBracket$a + + (this.encode(node.alt, node) || '') + + rightSquareBracket$a + + label_1(node) + ) +} + +var definition_1$1 = definition$1; + +var space$s = ' '; +var colon$6 = ':'; +var leftSquareBracket$b = '['; +var rightSquareBracket$b = ']'; + +// Stringify an URL definition. +// +// Is smart about enclosing `url` (see `encloseURI()`) and `title` (see +// `encloseTitle()`). +// +// ```markdown +// [foo]: 'An "example" e-mail' +// ``` +function definition$1(node) { + var content = encloseUri(node.url); + + if (node.title) { + content += space$s + encloseTitle(node.title); + } + + return ( + leftSquareBracket$b + + (node.label || node.identifier) + + rightSquareBracket$b + + colon$6 + + space$s + + content + ) +} + +var image_1 = image$3; + +var space$t = ' '; +var leftParenthesis$6 = '('; +var rightParenthesis$7 = ')'; +var leftSquareBracket$c = '['; +var rightSquareBracket$c = ']'; +var exclamationMark$6 = '!'; + +// Stringify an image. +// +// Is smart about enclosing `url` (see `encloseURI()`) and `title` (see +// `encloseTitle()`). +// +// ```markdown +// ![foo]( 'My "favourite" icon') +// ``` +// +// Supports named entities in `url`, `alt`, and `title` when in +// `settings.encode` mode. +function image$3(node) { + var self = this; + var content = encloseUri(self.encode(node.url || '', node)); + var exit = self.enterLink(); + var alt = self.encode(self.escape(node.alt || '', node)); + + exit(); + + if (node.title) { + content += space$t + encloseTitle(self.encode(node.title, node)); + } + + return ( + exclamationMark$6 + + leftSquareBracket$c + + alt + + rightSquareBracket$c + + leftParenthesis$6 + + content + + rightParenthesis$7 + ) +} + +var footnote_1 = footnote$1; + +var leftSquareBracket$d = '['; +var rightSquareBracket$d = ']'; +var caret$3 = '^'; + +function footnote$1(node) { + return ( + leftSquareBracket$d + caret$3 + this.all(node).join('') + rightSquareBracket$d + ) +} + +var footnoteReference_1 = footnoteReference; + +var leftSquareBracket$e = '['; +var rightSquareBracket$e = ']'; +var caret$4 = '^'; + +function footnoteReference(node) { + return ( + leftSquareBracket$e + + caret$4 + + (node.label || node.identifier) + + rightSquareBracket$e + ) +} + +var lineFeed$w = '\n'; +var space$u = ' '; +var colon$7 = ':'; +var leftSquareBracket$f = '['; +var rightSquareBracket$f = ']'; +var caret$5 = '^'; + +var tabSize$7 = 4; +var blank$5 = lineFeed$w + lineFeed$w; +var indent = repeatString(space$u, tabSize$7); + +var footnoteDefinition_1$1 = footnoteDefinition$1; + +function footnoteDefinition$1(node) { + var content = this.all(node).join(blank$5 + indent); + + return ( + leftSquareBracket$f + + caret$5 + + (node.label || node.identifier) + + rightSquareBracket$f + + colon$7 + + space$u + + content + ) +} + +var markdownTable_1 = markdownTable; + +var dotRe = /\./; +var lastDotRe = /\.[^.]*$/; + +// Characters. +var space$v = ' '; +var lineFeed$x = '\n'; +var dash$7 = '-'; +var dot$5 = '.'; +var colon$8 = ':'; +var lowercaseC = 'c'; +var lowercaseL = 'l'; +var lowercaseR = 'r'; +var verticalBar$2 = '|'; + +var minCellSize = 3; + +// Create a table from a matrix of strings. +function markdownTable(table, options) { + var settings = options || {}; + var delimiter = settings.delimiter; + var start = settings.start; + var end = settings.end; + var alignment = settings.align; + var calculateStringLength = settings.stringLength || lengthNoop; + var cellCount = 0; + var rowIndex = -1; + var rowLength = table.length; + var sizes = []; + var align; + var rule; + var rows; + var row; + var cells; + var index; + var position; + var size; + var value; + var spacing; + var before; + var after; + + alignment = alignment ? alignment.concat() : []; + + if (delimiter === null || delimiter === undefined) { + delimiter = space$v + verticalBar$2 + space$v; + } + + if (start === null || start === undefined) { + start = verticalBar$2 + space$v; + } + + if (end === null || end === undefined) { + end = space$v + verticalBar$2; + } + + while (++rowIndex < rowLength) { + row = table[rowIndex]; + + index = -1; + + if (row.length > cellCount) { + cellCount = row.length; + } + + while (++index < cellCount) { + position = row[index] ? dotindex$1(row[index]) : null; + + if (!sizes[index]) { + sizes[index] = minCellSize; + } + + if (position > sizes[index]) { + sizes[index] = position; + } + } + } + + if (typeof alignment === 'string') { + alignment = pad$2(cellCount, alignment).split(''); + } + + // Make sure only valid alignments are used. + index = -1; + + while (++index < cellCount) { + align = alignment[index]; + + if (typeof align === 'string') { + align = align.charAt(0).toLowerCase(); + } + + if ( + align !== lowercaseL && + align !== lowercaseR && + align !== lowercaseC && + align !== dot$5 + ) { + align = ''; + } + + alignment[index] = align; + } + + rowIndex = -1; + rows = []; + + while (++rowIndex < rowLength) { + row = table[rowIndex]; + + index = -1; + cells = []; + + while (++index < cellCount) { + value = row[index]; + + value = stringify$6(value); + + if (alignment[index] === dot$5) { + position = dotindex$1(value); + + size = + sizes[index] + + (dotRe.test(value) ? 0 : 1) - + (calculateStringLength(value) - position); + + cells[index] = value + pad$2(size - 1); + } else { + cells[index] = value; + } + } + + rows[rowIndex] = cells; + } + + sizes = []; + rowIndex = -1; + + while (++rowIndex < rowLength) { + cells = rows[rowIndex]; + + index = -1; + + while (++index < cellCount) { + value = cells[index]; + + if (!sizes[index]) { + sizes[index] = minCellSize; + } + + size = calculateStringLength(value); + + if (size > sizes[index]) { + sizes[index] = size; + } + } + } + + rowIndex = -1; + + while (++rowIndex < rowLength) { + cells = rows[rowIndex]; + + index = -1; + + if (settings.pad !== false) { + while (++index < cellCount) { + value = cells[index]; + + position = sizes[index] - (calculateStringLength(value) || 0); + spacing = pad$2(position); + + if (alignment[index] === lowercaseR || alignment[index] === dot$5) { + value = spacing + value; + } else if (alignment[index] === lowercaseC) { + position /= 2; + + if (position % 1 === 0) { + before = position; + after = position; + } else { + before = position + 0.5; + after = position - 0.5; + } + + value = pad$2(before) + value + pad$2(after); + } else { + value += spacing; + } + + cells[index] = value; + } + } + + rows[rowIndex] = cells.join(delimiter); + } + + if (settings.rule !== false) { + index = -1; + rule = []; + + while (++index < cellCount) { + // When `pad` is false, make the rule the same size as the first row. + if (settings.pad === false) { + value = table[0][index]; + spacing = calculateStringLength(stringify$6(value)); + spacing = spacing > minCellSize ? spacing : minCellSize; + } else { + spacing = sizes[index]; + } + + align = alignment[index]; + + // When `align` is left, don't add colons. + value = align === lowercaseR || align === '' ? dash$7 : colon$8; + value += pad$2(spacing - 2, dash$7); + value += align !== lowercaseL && align !== '' ? colon$8 : dash$7; + + rule[index] = value; + } + + rows.splice(1, 0, rule.join(delimiter)); + } + + return start + rows.join(end + lineFeed$x + start) + end +} + +function stringify$6(value) { + return value === null || value === undefined ? '' : String(value) +} + +// Get the length of `value`. +function lengthNoop(value) { + return String(value).length +} + +// Get a string consisting of `length` `character`s. +function pad$2(length, character) { + return new Array(length + 1).join(character || space$v) +} + +// Get the position of the last dot in `value`. +function dotindex$1(value) { + var match = lastDotRe.exec(value); + + return match ? match.index + 1 : value.length +} + +var table_1$1 = table$1; + +var space$w = ' '; +var verticalBar$3 = '|'; + +// Stringify table. +// +// Creates a fenced table by default, but not in `looseTable: true` mode: +// +// ```markdown +// Foo | Bar +// :-: | --- +// Baz | Qux +// +// NOTE: Be careful with `looseTable: true` mode, as a loose table inside an +// indented code block on GitHub renders as an actual table! +// +// Creates a spaced table by default, but not in `spacedTable: false`: +// +// ```markdown +// |Foo|Bar| +// |:-:|---| +// |Baz|Qux| +// ``` +function table$1(node) { + var self = this; + var options = self.options; + var loose = options.looseTable; + var spaced = options.spacedTable; + var pad = options.paddedTable; + var stringLength = options.stringLength; + var rows = node.children; + var index = rows.length; + var exit = self.enterTable(); + var result = []; + var start; + var end; + + while (index--) { + result[index] = self.all(rows[index]); + } + + exit(); + + if (loose) { + start = ''; + end = ''; + } else if (spaced) { + start = verticalBar$3 + space$w; + end = space$w + verticalBar$3; + } else { + start = verticalBar$3; + end = verticalBar$3; + } + + return markdownTable_1(result, { + align: node.align, + pad: pad, + start: start, + end: end, + stringLength: stringLength, + delimiter: spaced ? space$w + verticalBar$3 + space$w : verticalBar$3 + }) +} + +var tableCell_1 = tableCell; + +var lineFeed$y = /\r?\n/g; + +function tableCell(node) { + return this.all(node) + .join('') + .replace(lineFeed$y, ' ') +} + +var compiler = Compiler; + +// Construct a new compiler. +function Compiler(tree, file) { + this.inLink = false; + this.inTable = false; + this.tree = tree; + this.file = file; + this.options = immutable(this.options); + this.setOptions({}); +} + +var proto$4 = Compiler.prototype; + +// Enter and exit helpers. */ +proto$4.enterLink = stateToggle('inLink', false); +proto$4.enterTable = stateToggle('inTable', false); +proto$4.enterLinkReference = enterLinkReference; + +// Configuration. +proto$4.options = defaults$3; +proto$4.setOptions = setOptions_1$1; + +proto$4.compile = compile_1$1; +proto$4.visit = one_1; +proto$4.all = all_1; +proto$4.block = block_1; +proto$4.visitOrderedItems = orderedItems_1; +proto$4.visitUnorderedItems = unorderedItems_1; + +// Expose visitors. +proto$4.visitors = { + root: root_1, + text: text_1$1, + heading: heading_1, + paragraph: paragraph_1$1, + blockquote: blockquote_1$1, + list: list_1$1, + listItem: listItem_1, + inlineCode: inlineCode_1, + code: code_1, + html: html_1, + thematicBreak: thematicBreak$1, + strong: strong_1$1, + emphasis: emphasis_1$1, + break: _break$2, + delete: _delete$2, + link: link_1$1, + linkReference: linkReference_1, + imageReference: imageReference_1, + definition: definition_1$1, + image: image_1, + footnote: footnote_1, + footnoteReference: footnoteReference_1, + footnoteDefinition: footnoteDefinition_1$1, + table: table_1$1, + tableCell: tableCell_1 +}; + +var remarkStringify = stringify$7; +stringify$7.Compiler = compiler; + +function stringify$7(options) { + var Local = unherit_1(compiler); + Local.prototype.options = immutable( + Local.prototype.options, + this.data('settings'), + options + ); + this.Compiler = Local; +} + +var remark = unified_1() + .use(remarkParse) + .use(remarkStringify) + .freeze(); + +const name$1 = "remark"; +const version$1 = "11.0.2"; +const description = "Markdown processor powered by plugins"; +const license = "MIT"; +const keywords = [ + "unified", + "remark", + "markdown", + "mdast", + "abstract", + "syntax", + "tree", + "ast", + "parse", + "stringify", + "process" +]; +const homepage = "https://remark.js.org"; +const repository = "https://github.com/remarkjs/remark/tree/master/packages/remark"; +const bugs = "https://github.com/remarkjs/remark/issues"; +const funding = { + type: "opencollective", + url: "https://opencollective.com/unified" +}; +const author = "Titus Wormer (https://wooorm.com)"; +const contributors = [ + "Titus Wormer (https://wooorm.com)" +]; +const files = [ + "index.js", + "types/index.d.ts" +]; +const types = "types/index.d.ts"; +const dependencies = { + "remark-parse": "^7.0.0", + "remark-stringify": "^7.0.0", + unified: "^8.2.0" +}; +const scripts = { + test: "tape test.js" +}; +const xo = false; +const _resolved = "https://registry.npmjs.org/remark/-/remark-11.0.2.tgz"; +const _integrity = "sha512-bh+eJgn8wgmbHmIBOuwJFdTVRVpl3fcVP6HxmpPWO0ULGP9Qkh6INJh0N5Uy7GqlV7DQYGoqaKiEIpM5LLvJ8w=="; +const _from = "remark@11.0.2"; +var _package = { + name: name$1, + version: version$1, + description: description, + license: license, + keywords: keywords, + homepage: homepage, + repository: repository, + bugs: bugs, + funding: funding, + author: author, + contributors: contributors, + files: files, + types: types, + dependencies: dependencies, + scripts: scripts, + xo: xo, + _resolved: _resolved, + _integrity: _integrity, + _from: _from +}; + +var _package$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + name: name$1, + version: version$1, + description: description, + license: license, + keywords: keywords, + homepage: homepage, + repository: repository, + bugs: bugs, + funding: funding, + author: author, + contributors: contributors, + files: files, + types: types, + dependencies: dependencies, + scripts: scripts, + xo: xo, + _resolved: _resolved, + _integrity: _integrity, + _from: _from, + 'default': _package +}); + +const name$2 = "node-lint-md-cli-rollup"; +const description$1 = "remark packaged for Node.js Markdown linting"; +const version$2 = "2.0.2"; +const devDependencies = { + "@rollup/plugin-commonjs": "^11.0.1", + "@rollup/plugin-json": "^4.0.1", + "@rollup/plugin-node-resolve": "^7.0.0", + rollup: "^1.30.1", + shx: "^0.3.2" +}; +const dependencies$1 = { + "markdown-extensions": "^1.1.1", + remark: "^11.0.2", + "remark-lint": "^6.0.5", + "remark-preset-lint-node": "^1.13.0", + "unified-args": "^7.1.0" +}; +const main = "dist/index.js"; +const scripts$1 = { + build: "npx rollup -c", + "build-node": "npm run build && npx shx cp dist/index.js ../lint-md.js" +}; +var _package$2 = { + name: name$2, + description: description$1, + version: version$2, + devDependencies: devDependencies, + dependencies: dependencies$1, + main: main, + scripts: scripts$1 +}; + +var _package$3 = /*#__PURE__*/Object.freeze({ + __proto__: null, + name: name$2, + description: description$1, + version: version$2, + devDependencies: devDependencies, + dependencies: dependencies$1, + main: main, + scripts: scripts$1, + 'default': _package$2 +}); + +/* Map of allowed verbs. */ +var ALLOWED_VERBS = { + enable: true, + disable: true, + ignore: true +}; + +var unifiedMessageControl = messageControl; + +function messageControl(options) { + var name = options && options.name; + var marker = options && options.marker; + var test = options && options.test; + var sources; + var known; + var reset; + var enable; + var disable; + + if (!name) { + throw new Error('Expected `name` in `options`, got `' + name + '`') + } + + if (!marker) { + throw new Error('Expected `name` in `options`, got `' + name + '`') + } + + if (!test) { + throw new Error('Expected `test` in `options`, got `' + test + '`') + } + + known = options.known; + reset = options.reset; + enable = options.enable || []; + disable = options.disable || []; + sources = options.source; + + if (!sources) { + sources = [name]; + } else if (typeof sources === 'string') { + sources = [sources]; + } + + return transformer + + function transformer(tree, file) { + var toOffset = vfileLocation(file).toOffset; + var initial = !reset; + var gaps = detectGaps(tree, file); + var scope = {}; + var globals = []; + + unistUtilVisit(tree, test, visitor); + + file.messages = file.messages.filter(filter); + + function visitor(node, position, parent) { + var mark = marker(node); + var ruleIds; + var ruleId; + var verb; + var index; + var length; + var next; + var pos; + var tail; + + if (!mark || mark.name !== options.name) { + return + } + + ruleIds = mark.attributes.split(/\s/g); + verb = ruleIds.shift(); + next = parent.children[position + 1]; + pos = mark.node.position && mark.node.position.start; + tail = next && next.position && next.position.end; + + if (!verb || !ALLOWED_VERBS[verb] === true) { + file.fail( + 'Unknown keyword `' + + verb + + '`: expected ' + + "`'enable'`, `'disable'`, or `'ignore'`", + mark.node + ); + } + + length = ruleIds.length; + index = -1; + + while (++index < length) { + ruleId = ruleIds[index]; + + if (isKnown(ruleId, verb, mark.node)) { + toggle(pos, verb === 'enable', ruleId); + + if (verb === 'ignore') { + toggle(tail, true, ruleId); + } + } + } + + /* Apply to all rules. */ + if (!length) { + if (verb === 'ignore') { + toggle(pos, false); + toggle(tail, true); + } else { + toggle(pos, verb === 'enable'); + reset = verb !== 'enable'; + } + } + } + + function filter(message) { + var gapIndex = gaps.length; + var ruleId = message.ruleId; + var ranges = scope[ruleId]; + var pos; + + /* Keep messages from a different source. */ + if (!message.source || sources.indexOf(message.source) === -1) { + return true + } + + /* We only ignore messages if they‘re disabled, + * *not* when they’re not in the document. */ + if (!message.line) { + message.line = 1; + } + + if (!message.column) { + message.column = 1; + } + + /* Check whether the warning is inside a gap. */ + pos = toOffset(message); + + while (gapIndex--) { + if (gaps[gapIndex].start <= pos && gaps[gapIndex].end > pos) { + return false + } + } + + /* Check whether allowed by specific and global states. */ + return check(message, ranges, ruleId) && check(message, globals) + } + + /* Helper to check (and possibly warn) if a ruleId is unknown. */ + function isKnown(ruleId, verb, pos) { + var result = known ? known.indexOf(ruleId) !== -1 : true; + + if (!result) { + file.warn('Unknown rule: cannot ' + verb + " `'" + ruleId + "'`", pos); + } + + return result + } + + /* Get the latest state of a rule. When without `ruleId`, gets global state. */ + function getState(ruleId) { + var ranges = ruleId ? scope[ruleId] : globals; + + if (ranges && ranges.length !== 0) { + return ranges[ranges.length - 1].state + } + + if (!ruleId) { + return !reset + } + + if (reset) { + return enable.indexOf(ruleId) !== -1 + } + + return disable.indexOf(ruleId) === -1 + } + + /* Handle a rule. */ + function toggle(pos, state, ruleId) { + var markers = ruleId ? scope[ruleId] : globals; + var currentState; + var previousState; + + if (!markers) { + markers = []; + scope[ruleId] = markers; + } + + previousState = getState(ruleId); + currentState = state; + + if (currentState !== previousState) { + markers.push({state: currentState, position: pos}); + } + + /* Toggle all known rules. */ + if (!ruleId) { + for (ruleId in scope) { + toggle(pos, state, ruleId); + } + } + } + + /* Check all `ranges` for `message`. */ + function check(message, ranges, id) { + /* Check the state at the message's position. */ + var index = ranges && ranges.length; + var length = -1; + var range; + + while (--index > length) { + range = ranges[index]; + + /* istanbul ignore if - generated marker. */ + if (!range.position || !range.position.line || !range.position.column) { + continue + } + + if ( + range.position.line < message.line || + (range.position.line === message.line && + range.position.column < message.column) + ) { + return range.state === true + } + } + + /* The first marker ocurred after the first + * message, so we check the initial state. */ + if (!id) { + return initial || reset + } + + return reset ? enable.indexOf(id) !== -1 : disable.indexOf(id) === -1 + } + } +} + +/* Detect gaps in `ast`. */ +function detectGaps(tree, file) { + var lastNode = tree.children[tree.children.length - 1]; + var offset = 0; + var isGap = false; + var gaps = []; + + /* Find all gaps. */ + unistUtilVisit(tree, one); + + /* Get the end of the document. + * This detects if the last node was the last node. + * If not, there’s an extra gap between the last node + * and the end of the document. */ + if ( + lastNode && + lastNode.position && + lastNode.position.end && + offset === lastNode.position.end.offset && + trim_1(file.toString().slice(offset)) !== '' + ) { + update(); + + update( + tree && tree.position && tree.position.end && tree.position.end.offset - 1 + ); + } + + return gaps + + function one(node) { + var pos = node.position; + + update(pos && pos.start && pos.start.offset); + + if (!node.children) { + update(pos && pos.end && pos.end.offset); + } + } + + /* Detect a new position. */ + function update(latest) { + if (latest === null || latest === undefined) { + isGap = true; + return + } + + if (offset >= latest) { + return + } + + if (isGap) { + gaps.push({start: offset, end: latest}); + isGap = false; + } + + offset = latest; + } +} + +var mdastCommentMarker = marker$1; + +var whiteSpaceExpression = /\s+/g; + +var parametersExpression = /\s+([-a-z0-9_]+)(?:=(?:"((?:\\[\s\S]|[^"])+)"|'((?:\\[\s\S]|[^'])+)'|((?:\\[\s\S]|[^"'\s])+)))?/gi; + +var commentExpression = /\s*([a-zA-Z0-9-]+)(\s+([\s\S]*))?\s*/; + +var markerExpression = new RegExp( + '(\\s*\\s*)' +); + +// Parse a comment marker. +function marker$1(node) { + var type; + var value; + var match; + var params; + + if (!node) { + return null + } + + type = node.type; + + if (type !== 'html' && type !== 'comment') { + return null + } + + value = node.value; + match = value.match(type === 'comment' ? commentExpression : markerExpression); + + if (!match || match[0].length !== value.length) { + return null + } + + match = match.slice(node.type === 'comment' ? 1 : 2); + + params = parameters(match[1] || ''); + + if (!params) { + return null + } + + return { + name: match[0], + attributes: match[2] || '', + parameters: params, + node: node + } +} + +// Parse `value` into an object. +function parameters(value) { + var attributes = {}; + var rest = value.replace(parametersExpression, replacer); + + return rest.replace(whiteSpaceExpression, '') ? null : attributes + + /* eslint-disable max-params */ + function replacer($0, $1, $2, $3, $4) { + var result = $2 || $3 || $4 || ''; + + if (result === 'true' || result === '') { + result = true; + } else if (result === 'false') { + result = false; + } else if (!isNaN(result)) { + result = Number(result); + } + + attributes[$1] = result; + + return '' + } +} + +var remarkMessageControl = messageControl$1; + +var test = [ + 'html', // Comments are `html` nodes in mdast. + 'comment' // In MDX, comments have their own node. +]; + +function messageControl$1(options) { + return unifiedMessageControl(immutable({marker: mdastCommentMarker, test: test}, options)) +} + +var remarkLint = lint; + +// `remark-lint`. +// This adds support for ignoring stuff from messages (``). +// All rules are in their own packages and presets. +function lint() { + this.use(lintMessageControl); +} + +function lintMessageControl() { + return remarkMessageControl({name: 'lint', source: 'remark-lint'}) +} + +/** + * An Array.prototype.slice.call(arguments) alternative + * + * @param {Object} args something with a length + * @param {Number} slice + * @param {Number} sliceEnd + * @api public + */ + +var sliced = function (args, slice, sliceEnd) { + var ret = []; + var len = args.length; + + if (0 === len) return ret; + + var start = slice < 0 + ? Math.max(0, slice + len) + : slice || 0; + + if (sliceEnd !== undefined) { + len = sliceEnd < 0 + ? sliceEnd + len + : sliceEnd; + } + + while (len-- > start) { + ret[len - start] = args[len]; + } + + return ret; +}; + +/** + * slice() reference. + */ + +var slice$4 = Array.prototype.slice; + +/** + * Expose `co`. + */ + +var co_1 = co; + +/** + * Wrap the given generator `fn` and + * return a thunk. + * + * @param {Function} fn + * @return {Function} + * @api public + */ + +function co(fn) { + var isGenFun = isGeneratorFunction(fn); + + return function (done) { + var ctx = this; + + // in toThunk() below we invoke co() + // with a generator, so optimize for + // this case + var gen = fn; + + // we only need to parse the arguments + // if gen is a generator function. + if (isGenFun) { + var args = slice$4.call(arguments), len = args.length; + var hasCallback = len && 'function' == typeof args[len - 1]; + done = hasCallback ? args.pop() : error; + gen = fn.apply(this, args); + } else { + done = done || error; + } + + next(); + + // #92 + // wrap the callback in a setImmediate + // so that any of its errors aren't caught by `co` + function exit(err, res) { + setImmediate(function(){ + done.call(ctx, err, res); + }); + } + + function next(err, res) { + var ret; + + // multiple args + if (arguments.length > 2) res = slice$4.call(arguments, 1); + + // error + if (err) { + try { + ret = gen.throw(err); + } catch (e) { + return exit(e); + } + } + + // ok + if (!err) { + try { + ret = gen.next(res); + } catch (e) { + return exit(e); + } + } + + // done + if (ret.done) return exit(null, ret.value); + + // normalize + ret.value = toThunk(ret.value, ctx); + + // run + if ('function' == typeof ret.value) { + var called = false; + try { + ret.value.call(ctx, function(){ + if (called) return; + called = true; + next.apply(ctx, arguments); + }); + } catch (e) { + setImmediate(function(){ + if (called) return; + called = true; + next(e); + }); + } + return; + } + + // invalid + next(new TypeError('You may only yield a function, promise, generator, array, or object, ' + + 'but the following was passed: "' + String(ret.value) + '"')); + } + } +} + +/** + * Convert `obj` into a normalized thunk. + * + * @param {Mixed} obj + * @param {Mixed} ctx + * @return {Function} + * @api private + */ + +function toThunk(obj, ctx) { + + if (isGeneratorFunction(obj)) { + return co(obj.call(ctx)); + } + + if (isGenerator(obj)) { + return co(obj); + } + + if (isPromise(obj)) { + return promiseToThunk(obj); + } + + if ('function' == typeof obj) { + return obj; + } + + if (isObject$4(obj) || Array.isArray(obj)) { + return objectToThunk.call(ctx, obj); + } + + return obj; +} + +/** + * Convert an object of yieldables to a thunk. + * + * @param {Object} obj + * @return {Function} + * @api private + */ + +function objectToThunk(obj){ + var ctx = this; + var isArray = Array.isArray(obj); + + return function(done){ + var keys = Object.keys(obj); + var pending = keys.length; + var results = isArray + ? new Array(pending) // predefine the array length + : new obj.constructor(); + var finished; + + if (!pending) { + setImmediate(function(){ + done(null, results); + }); + return; + } + + // prepopulate object keys to preserve key ordering + if (!isArray) { + for (var i = 0; i < pending; i++) { + results[keys[i]] = undefined; + } + } + + for (var i = 0; i < keys.length; i++) { + run(obj[keys[i]], keys[i]); + } + + function run(fn, key) { + if (finished) return; + try { + fn = toThunk(fn, ctx); + + if ('function' != typeof fn) { + results[key] = fn; + return --pending || done(null, results); + } + + fn.call(ctx, function(err, res){ + if (finished) return; + + if (err) { + finished = true; + return done(err); + } + + results[key] = res; + --pending || done(null, results); + }); + } catch (err) { + finished = true; + done(err); + } + } + } +} + +/** + * Convert `promise` to a thunk. + * + * @param {Object} promise + * @return {Function} + * @api private + */ + +function promiseToThunk(promise) { + return function(fn){ + promise.then(function(res) { + fn(null, res); + }, fn); + } +} + +/** + * Check if `obj` is a promise. + * + * @param {Object} obj + * @return {Boolean} + * @api private + */ + +function isPromise(obj) { + return obj && 'function' == typeof obj.then; +} + +/** + * Check if `obj` is a generator. + * + * @param {Mixed} obj + * @return {Boolean} + * @api private + */ + +function isGenerator(obj) { + return obj && 'function' == typeof obj.next && 'function' == typeof obj.throw; +} + +/** + * Check if `obj` is a generator function. + * + * @param {Mixed} obj + * @return {Boolean} + * @api private + */ + +function isGeneratorFunction(obj) { + return obj && obj.constructor && 'GeneratorFunction' == obj.constructor.name; +} + +/** + * Check for plain object. + * + * @param {Mixed} val + * @return {Boolean} + * @api private + */ + +function isObject$4(val) { + return val && Object == val.constructor; +} + +/** + * Throw `err` in a new stack. + * + * This is used when co() is invoked + * without supplying a callback, which + * should only be for demonstrational + * purposes. + * + * @param {Error} err + * @api private + */ + +function error(err) { + if (!err) return; + setImmediate(function(){ + throw err; + }); +} + +/** + * Module Dependencies + */ + + +var noop$3 = function(){}; + + +/** + * Export `wrapped` + */ + +var wrapped_1 = wrapped; + +/** + * Wrap a function to support + * sync, async, and gen functions. + * + * @param {Function} fn + * @return {Function} + * @api public + */ + +function wrapped(fn) { + function wrap() { + var args = sliced(arguments); + var last = args[args.length - 1]; + var ctx = this; + + // done + var done = typeof last == 'function' ? args.pop() : noop$3; + + // nothing + if (!fn) { + return done.apply(ctx, [null].concat(args)); + } + + // generator + if (generator(fn)) { + return co_1(fn).apply(ctx, args.concat(done)); + } + + // async + if (fn.length > args.length) { + // NOTE: this only handles uncaught synchronous errors + try { + return fn.apply(ctx, args.concat(done)); + } catch (e) { + return done(e); + } + } + + // sync + return sync$2(fn, done).apply(ctx, args); + } + + return wrap; +} + +/** + * Wrap a synchronous function execution. + * + * @param {Function} fn + * @param {Function} done + * @return {Function} + * @api private + */ + +function sync$2(fn, done) { + return function () { + var ret; + + try { + ret = fn.apply(this, arguments); + } catch (err) { + return done(err); + } + + if (promise(ret)) { + ret.then(function (value) { done(null, value); }, done); + } else { + ret instanceof Error ? done(ret) : done(null, ret); + } + } +} + +/** + * Is `value` a generator? + * + * @param {Mixed} value + * @return {Boolean} + * @api private + */ + +function generator(value) { + return value + && value.constructor + && 'GeneratorFunction' == value.constructor.name; +} + + +/** + * Is `value` a promise? + * + * @param {Mixed} value + * @return {Boolean} + * @api private + */ + +function promise(value) { + return value && 'function' == typeof value.then; +} + +var unifiedLintRule = factory$7; + +function factory$7(id, rule) { + var parts = id.split(':'); + var source = parts[0]; + var ruleId = parts[1]; + var fn = wrapped_1(rule); + + /* istanbul ignore if - possibly useful if externalised later. */ + if (!ruleId) { + ruleId = source; + source = null; + } + + attacher.displayName = id; + + return attacher + + function attacher(raw) { + var config = coerce(ruleId, raw); + var severity = config[0]; + var options = config[1]; + var fatal = severity === 2; + + return severity ? transformer : undefined + + function transformer(tree, file, next) { + var index = file.messages.length; + + fn(tree, file, options, done); + + function done(err) { + var messages = file.messages; + var message; + + // Add the error, if not already properly added. + /* istanbul ignore if - only happens for incorrect plugins */ + if (err && messages.indexOf(err) === -1) { + try { + file.fail(err); + } catch (error) {} + } + + while (index < messages.length) { + message = messages[index]; + message.ruleId = ruleId; + message.source = source; + message.fatal = fatal; + + index++; + } + + next(); + } + } + } +} + +// Coerce a value to a severity--options tuple. +function coerce(name, value) { + var def = 1; + var result; + var level; + + /* istanbul ignore if - Handled by unified in v6.0.0 */ + if (typeof value === 'boolean') { + result = [value]; + } else if (value == null) { + result = [def]; + } else if ( + typeof value === 'object' && + (typeof value[0] === 'number' || + typeof value[0] === 'boolean' || + typeof value[0] === 'string') + ) { + result = value.concat(); + } else { + result = [1, value]; + } + + level = result[0]; + + if (typeof level === 'boolean') { + level = level ? 1 : 0; + } else if (typeof level === 'string') { + if (level === 'off') { + level = 0; + } else if (level === 'on' || level === 'warn') { + level = 1; + } else if (level === 'error') { + level = 2; + } else { + level = 1; + result = [level, result]; + } + } + + if (level < 0 || level > 2) { + throw new Error( + 'Invalid severity `' + + level + + '` for `' + + name + + '`, ' + + 'expected 0, 1, or 2' + ) + } + + result[0] = level; + + return result +} + +var remarkLintFinalNewline = unifiedLintRule('remark-lint:final-newline', finalNewline); + +function finalNewline(tree, file) { + var contents = String(file); + var last = contents.length - 1; + + if (last > -1 && contents.charAt(last) !== '\n') { + file.message('Missing newline character at end of file'); + } +} + +const addendum = "addenda"; +const aircraft = "aircraft"; +const alga = "algae"; +const alumna = "alumnae"; +const alumnus = "alumni"; +const amoeba = "amoebae"; +const analysis = "analyses"; +const antenna = "antennae"; +const antithesis = "antitheses"; +const apex = "apices"; +const appendix = "appendices"; +const automaton = "automata"; +const axis = "axes"; +const bacillus = "bacilli"; +const bacterium = "bacteria"; +const barracks = "barracks"; +const basis = "bases"; +const beau = "beaux"; +const bison = "bison"; +const buffalo = "buffalo"; +const bureau = "bureaus"; +const cactus = "cacti"; +const calf = "calves"; +const carp = "carp"; +const census = "censuses"; +const chassis = "chassis"; +const cherub = "cherubim"; +const child = "children"; +const cod = "cod"; +const codex = "codices"; +const concerto = "concerti"; +const corpus = "corpora"; +const crisis = "crises"; +const criterion = "criteria"; +const curriculum = "curricula"; +const datum = "data"; +const deer = "deer"; +const diagnosis = "diagnoses"; +const die$1 = "dice"; +const dwarf = "dwarfs"; +const echo = "echoes"; +const elf = "elves"; +const elk = "elk"; +const ellipsis = "ellipses"; +const embargo = "embargoes"; +const emphasis$3 = "emphases"; +const erratum = "errata"; +const fez = "fezes"; +const firmware = "firmware"; +const fish = "fish"; +const focus = "foci"; +const foot = "feet"; +const formula = "formulae"; +const fungus = "fungi"; +const gallows = "gallows"; +const genus = "genera"; +const goose = "geese"; +const graffito = "graffiti"; +const grouse = "grouse"; +const half$1 = "halves"; +const hero = "heroes"; +const hoof = "hooves"; +const hovercraft = "hovercraft"; +const hypothesis = "hypotheses"; +const index$5 = "indices"; +const kakapo = "kakapo"; +const knife = "knives"; +const larva = "larvae"; +const leaf = "leaves"; +const libretto = "libretti"; +const life = "lives"; +const loaf = "loaves"; +const locus = "loci"; +const louse = "lice"; +const man = "men"; +const matrix = "matrices"; +const means = "means"; +const medium = "media"; +const memorandum = "memoranda"; +const millennium = "millennia"; +const minutia = "minutiae"; +const moose = "moose"; +const mouse = "mice"; +const nebula = "nebulae"; +const nemesis = "nemeses"; +const neurosis = "neuroses"; +const news = "news"; +const nucleus = "nuclei"; +const oasis = "oases"; +const offspring = "offspring"; +const opus = "opera"; +const ovum = "ova"; +const ox = "oxen"; +const paralysis = "paralyses"; +const parenthesis = "parentheses"; +const person = "people"; +const phenomenon = "phenomena"; +const phylum = "phyla"; +const pike = "pike"; +const polyhedron = "polyhedra"; +const potato = "potatoes"; +const prognosis = "prognoses"; +const quiz = "quizzes"; +const radius = "radii"; +const referendum = "referenda"; +const salmon = "salmon"; +const scarf = "scarves"; +const self = "selves"; +const series = "series"; +const sheep = "sheep"; +const shelf = "shelves"; +const shrimp = "shrimp"; +const spacecraft = "spacecraft"; +const species = "species"; +const spectrum = "spectra"; +const squid = "squid"; +const stimulus = "stimuli"; +const stratum = "strata"; +const swine = "swine"; +const syllabus = "syllabi"; +const symposium = "symposia"; +const synopsis = "synopses"; +const synthesis = "syntheses"; +const tableau = "tableaus"; +const that = "those"; +const thesis = "theses"; +const thief = "thieves"; +const tomato = "tomatoes"; +const tooth = "teeth"; +const trout = "trout"; +const tuna = "tuna"; +const vertebra = "vertebrae"; +const vertex = "vertices"; +const veto = "vetoes"; +const vita = "vitae"; +const vortex = "vortices"; +const watercraft = "watercraft"; +const wharf = "wharves"; +const wife = "wives"; +const wolf = "wolves"; +const woman = "women"; +var irregularPlurals = { + addendum: addendum, + aircraft: aircraft, + alga: alga, + alumna: alumna, + alumnus: alumnus, + amoeba: amoeba, + analysis: analysis, + antenna: antenna, + antithesis: antithesis, + apex: apex, + appendix: appendix, + automaton: automaton, + axis: axis, + bacillus: bacillus, + bacterium: bacterium, + barracks: barracks, + basis: basis, + beau: beau, + bison: bison, + buffalo: buffalo, + bureau: bureau, + cactus: cactus, + calf: calf, + carp: carp, + census: census, + chassis: chassis, + cherub: cherub, + child: child, + "château": "châteaus", + cod: cod, + codex: codex, + concerto: concerto, + corpus: corpus, + crisis: crisis, + criterion: criterion, + curriculum: curriculum, + datum: datum, + deer: deer, + diagnosis: diagnosis, + die: die$1, + dwarf: dwarf, + echo: echo, + elf: elf, + elk: elk, + ellipsis: ellipsis, + embargo: embargo, + emphasis: emphasis$3, + erratum: erratum, + "faux pas": "faux pas", + fez: fez, + firmware: firmware, + fish: fish, + focus: focus, + foot: foot, + formula: formula, + fungus: fungus, + gallows: gallows, + genus: genus, + goose: goose, + graffito: graffito, + grouse: grouse, + half: half$1, + hero: hero, + hoof: hoof, + hovercraft: hovercraft, + hypothesis: hypothesis, + index: index$5, + kakapo: kakapo, + knife: knife, + larva: larva, + leaf: leaf, + libretto: libretto, + life: life, + loaf: loaf, + locus: locus, + louse: louse, + man: man, + matrix: matrix, + means: means, + medium: medium, + memorandum: memorandum, + millennium: millennium, + minutia: minutia, + moose: moose, + mouse: mouse, + nebula: nebula, + nemesis: nemesis, + neurosis: neurosis, + news: news, + nucleus: nucleus, + oasis: oasis, + offspring: offspring, + opus: opus, + ovum: ovum, + ox: ox, + paralysis: paralysis, + parenthesis: parenthesis, + person: person, + phenomenon: phenomenon, + phylum: phylum, + pike: pike, + polyhedron: polyhedron, + potato: potato, + prognosis: prognosis, + quiz: quiz, + radius: radius, + referendum: referendum, + salmon: salmon, + scarf: scarf, + self: self, + series: series, + sheep: sheep, + shelf: shelf, + shrimp: shrimp, + spacecraft: spacecraft, + species: species, + spectrum: spectrum, + squid: squid, + stimulus: stimulus, + stratum: stratum, + swine: swine, + syllabus: syllabus, + symposium: symposium, + synopsis: synopsis, + synthesis: synthesis, + tableau: tableau, + that: that, + thesis: thesis, + thief: thief, + "this": "these", + tomato: tomato, + tooth: tooth, + trout: trout, + tuna: tuna, + vertebra: vertebra, + vertex: vertex, + veto: veto, + vita: vita, + vortex: vortex, + watercraft: watercraft, + wharf: wharf, + wife: wife, + wolf: wolf, + woman: woman +}; + +var irregularPlurals$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + addendum: addendum, + aircraft: aircraft, + alga: alga, + alumna: alumna, + alumnus: alumnus, + amoeba: amoeba, + analysis: analysis, + antenna: antenna, + antithesis: antithesis, + apex: apex, + appendix: appendix, + automaton: automaton, + axis: axis, + bacillus: bacillus, + bacterium: bacterium, + barracks: barracks, + basis: basis, + beau: beau, + bison: bison, + buffalo: buffalo, + bureau: bureau, + cactus: cactus, + calf: calf, + carp: carp, + census: census, + chassis: chassis, + cherub: cherub, + child: child, + cod: cod, + codex: codex, + concerto: concerto, + corpus: corpus, + crisis: crisis, + criterion: criterion, + curriculum: curriculum, + datum: datum, + deer: deer, + diagnosis: diagnosis, + die: die$1, + dwarf: dwarf, + echo: echo, + elf: elf, + elk: elk, + ellipsis: ellipsis, + embargo: embargo, + emphasis: emphasis$3, + erratum: erratum, + fez: fez, + firmware: firmware, + fish: fish, + focus: focus, + foot: foot, + formula: formula, + fungus: fungus, + gallows: gallows, + genus: genus, + goose: goose, + graffito: graffito, + grouse: grouse, + half: half$1, + hero: hero, + hoof: hoof, + hovercraft: hovercraft, + hypothesis: hypothesis, + index: index$5, + kakapo: kakapo, + knife: knife, + larva: larva, + leaf: leaf, + libretto: libretto, + life: life, + loaf: loaf, + locus: locus, + louse: louse, + man: man, + matrix: matrix, + means: means, + medium: medium, + memorandum: memorandum, + millennium: millennium, + minutia: minutia, + moose: moose, + mouse: mouse, + nebula: nebula, + nemesis: nemesis, + neurosis: neurosis, + news: news, + nucleus: nucleus, + oasis: oasis, + offspring: offspring, + opus: opus, + ovum: ovum, + ox: ox, + paralysis: paralysis, + parenthesis: parenthesis, + person: person, + phenomenon: phenomenon, + phylum: phylum, + pike: pike, + polyhedron: polyhedron, + potato: potato, + prognosis: prognosis, + quiz: quiz, + radius: radius, + referendum: referendum, + salmon: salmon, + scarf: scarf, + self: self, + series: series, + sheep: sheep, + shelf: shelf, + shrimp: shrimp, + spacecraft: spacecraft, + species: species, + spectrum: spectrum, + squid: squid, + stimulus: stimulus, + stratum: stratum, + swine: swine, + syllabus: syllabus, + symposium: symposium, + synopsis: synopsis, + synthesis: synthesis, + tableau: tableau, + that: that, + thesis: thesis, + thief: thief, + tomato: tomato, + tooth: tooth, + trout: trout, + tuna: tuna, + vertebra: vertebra, + vertex: vertex, + veto: veto, + vita: vita, + vortex: vortex, + watercraft: watercraft, + wharf: wharf, + wife: wife, + wolf: wolf, + woman: woman, + 'default': irregularPlurals +}); + +var irregularPlurals$2 = getCjsExportFromNamespace(irregularPlurals$1); + +var irregularPlurals_1 = createCommonjsModule(function (module) { + + +const map = new Map(); +// TODO: Use Object.entries when targeting Node.js 8 +for (const key of Object.keys(irregularPlurals$2)) { + map.set(key, irregularPlurals$2[key]); +} + +// Ensure nobody can modify each others Map +Object.defineProperty(module, 'exports', { + get() { + return map; + } +}); +}); + +var plur = (word, plural, count) => { + if (typeof plural === 'number') { + count = plural; + } + + if (irregularPlurals_1.has(word.toLowerCase())) { + plural = irregularPlurals_1.get(word.toLowerCase()); + + const firstLetter = word.charAt(0); + const isFirstLetterUpperCase = firstLetter === firstLetter.toUpperCase(); + if (isFirstLetterUpperCase) { + plural = firstLetter.toUpperCase() + plural.slice(1); + } + + const isWholeWordUpperCase = word === word.toUpperCase(); + if (isWholeWordUpperCase) { + plural = plural.toUpperCase(); + } + } else if (typeof plural !== 'string') { + plural = (word.replace(/(?:s|x|z|ch|sh)$/i, '$&e').replace(/([^aeiou])y$/i, '$1ie') + 's') + .replace(/i?e?s$/i, match => { + const isTailLowerCase = word.slice(-1) === word.slice(-1).toLowerCase(); + return isTailLowerCase ? match.toLowerCase() : match.toUpperCase(); + }); + } + + return Math.abs(count) === 1 ? word : plural; +}; + +var start$1 = factory$8('start'); +var end = factory$8('end'); + +var unistUtilPosition = position$1; + +position$1.start = start$1; +position$1.end = end; + +function position$1(node) { + return {start: start$1(node), end: end(node)} +} + +function factory$8(type) { + point.displayName = type; + + return point + + function point(node) { + var point = (node && node.position && node.position[type]) || {}; + + return { + line: point.line || null, + column: point.column || null, + offset: isNaN(point.offset) ? null : point.offset + } + } +} + +var unistUtilGenerated = generated; + +function generated(node) { + var position = optional(optional(node).position); + var start = optional(position.start); + var end = optional(position.end); + + return !start.line || !start.column || !end.line || !end.column +} + +function optional(value) { + return value && typeof value === 'object' ? value : {} +} + +var remarkLintListItemBulletIndent = unifiedLintRule( + 'remark-lint:list-item-bullet-indent', + listItemBulletIndent +); + +var start$2 = unistUtilPosition.start; + +function listItemBulletIndent(tree, file) { + var contents = String(file); + + unistUtilVisit(tree, 'list', visitor); + + function visitor(node) { + node.children.forEach(visitItems); + } + + function visitItems(item) { + var final; + var indent; + var reason; + + if (!unistUtilGenerated(item)) { + final = start$2(item.children[0]); + indent = contents.slice(start$2(item).offset, final.offset).match(/^\s*/)[0] + .length; + + if (indent !== 0) { + reason = + 'Incorrect indentation before bullet: remove ' + + indent + + ' ' + + plur('space', indent); + + file.message(reason, { + line: final.line, + column: final.column - indent + }); + } + } + } +} + +var remarkLintListItemIndent = unifiedLintRule('remark-lint:list-item-indent', listItemIndent); + +var start$3 = unistUtilPosition.start; + +var styles = {'tab-size': true, mixed: true, space: true}; + +function listItemIndent(tree, file, pref) { + var contents = String(file); + + pref = typeof pref === 'string' ? pref : 'tab-size'; + + if (styles[pref] !== true) { + file.fail( + 'Invalid list-item indent style `' + + pref + + "`: use either `'tab-size'`, `'space'`, or `'mixed'`" + ); + } + + unistUtilVisit(tree, 'list', visitor); + + function visitor(node) { + var spread = node.spread || node.loose; + + if (!unistUtilGenerated(node)) { + node.children.forEach(visitItem); + } + + function visitItem(item) { + var head = item.children[0]; + var final = start$3(head); + var marker; + var bulletSize; + var style; + var diff; + var reason; + + marker = contents + .slice(start$3(item).offset, final.offset) + .replace(/\[[x ]?]\s*$/i, ''); + + bulletSize = marker.trimRight().length; + + style = + pref === 'tab-size' || (pref === 'mixed' && spread) + ? Math.ceil(bulletSize / 4) * 4 + : bulletSize + 1; + + if (marker.length !== style) { + diff = style - marker.length; + + reason = + 'Incorrect list-item indent: ' + + (diff > 0 ? 'add' : 'remove') + + ' ' + + Math.abs(diff) + + ' ' + + plur('space', diff); + + file.message(reason, final); + } + } + } +} + +var mdastUtilToString = toString$4; + +// Get the text content of a node. If the node itself does not expose +// plain-text fields, `toString` will recursivly try its children. +function toString$4(node) { + return ( + valueOf$1(node) || + (node.children && node.children.map(toString$4).join('')) || + '' + ) +} + +// Get the value of `node`. Checks, `value`, `alt`, and `title`, in that order. +function valueOf$1(node) { + return ( + (node && node.value ? node.value : node.alt ? node.alt : node.title) || '' + ) +} + +var remarkLintNoAutoLinkWithoutProtocol = unifiedLintRule( + 'remark-lint:no-auto-link-without-protocol', + noAutoLinkWithoutProtocol +); + +var start$4 = unistUtilPosition.start; +var end$1 = unistUtilPosition.end; + +// Protocol expression. +// See: . +var protocol$2 = /^[a-z][a-z+.-]+:\/?/i; + +var reason = 'All automatic links must start with a protocol'; + +function noAutoLinkWithoutProtocol(tree, file) { + unistUtilVisit(tree, 'link', visitor); + + function visitor(node) { + var children; + + if (!unistUtilGenerated(node)) { + children = node.children; + + if ( + start$4(node).column === start$4(children[0]).column - 1 && + end$1(node).column === end$1(children[children.length - 1]).column + 1 && + !protocol$2.test(mdastUtilToString(node)) + ) { + file.message(reason, node); + } + } + } +} + +var remarkLintNoBlockquoteWithoutMarker = unifiedLintRule( + 'remark-lint:no-blockquote-without-marker', + noBlockquoteWithoutMarker +); + +var reason$1 = 'Missing marker in blockquote'; + +function noBlockquoteWithoutMarker(tree, file) { + var contents = String(file); + var location = vfileLocation(file); + var last = contents.length; + + unistUtilVisit(tree, 'blockquote', visitor); + + function visitor(node) { + var indent = node.position && node.position.indent; + var start; + var length; + var index; + var line; + var offset; + var character; + var pos; + + if (unistUtilGenerated(node) || !indent || indent.length === 0) { + return + } + + start = unistUtilPosition.start(node).line; + length = indent.length; + index = -1; + + while (++index < length) { + line = start + index + 1; + pos = {line: line, column: indent[index]}; + offset = location.toOffset(pos) - 1; + + while (++offset < last) { + character = contents.charAt(offset); + + if (character === '>') { + break + } + + /* istanbul ignore else - just for safety */ + if (character !== ' ' && character !== '\t') { + file.message(reason$1, pos); + break + } + } + } + } +} + +var remarkLintNoLiteralUrls = unifiedLintRule('remark-lint:no-literal-urls', noLiteralURLs); + +var start$5 = unistUtilPosition.start; +var end$2 = unistUtilPosition.end; +var mailto$3 = 'mailto:'; +var reason$2 = 'Don’t use literal URLs without angle brackets'; + +function noLiteralURLs(tree, file) { + unistUtilVisit(tree, 'link', visitor); + + function visitor(node) { + var children = node.children; + var value = mdastUtilToString(node); + + if ( + !unistUtilGenerated(node) && + start$5(node).column === start$5(children[0]).column && + end$2(node).column === end$2(children[children.length - 1]).column && + (node.url === mailto$3 + value || node.url === value) + ) { + file.message(reason$2, node); + } + } +} + +var remarkLintOrderedListMarkerStyle = unifiedLintRule( + 'remark-lint:ordered-list-marker-style', + orderedListMarkerStyle +); + +var start$6 = unistUtilPosition.start; + +var styles$1 = { + ')': true, + '.': true, + null: true +}; + +function orderedListMarkerStyle(tree, file, pref) { + var contents = String(file); + + pref = typeof pref !== 'string' || pref === 'consistent' ? null : pref; + + if (styles$1[pref] !== true) { + file.fail( + 'Invalid ordered list-item marker style `' + + pref + + "`: use either `'.'` or `')'`" + ); + } + + unistUtilVisit(tree, 'list', visitor); + + function visitor(node) { + var children = node.children; + var length = node.ordered ? children.length : 0; + var index = -1; + var marker; + var child; + + while (++index < length) { + child = children[index]; + + if (!unistUtilGenerated(child)) { + marker = contents + .slice(start$6(child).offset, start$6(child.children[0]).offset) + .replace(/\s|\d/g, '') + .replace(/\[[x ]?]\s*$/i, ''); + + if (pref) { + if (marker !== pref) { + file.message('Marker style should be `' + pref + '`', child); + } + } else { + pref = marker; + } + } + } + } +} + +var remarkLintHardBreakSpaces = unifiedLintRule('remark-lint:hard-break-spaces', hardBreakSpaces); + +var reason$3 = 'Use two spaces for hard line breaks'; + +function hardBreakSpaces(tree, file) { + var contents = String(file); + + unistUtilVisit(tree, 'break', visitor); + + function visitor(node) { + var value; + + if (!unistUtilGenerated(node)) { + value = contents + .slice(unistUtilPosition.start(node).offset, unistUtilPosition.end(node).offset) + .split('\n', 1)[0] + .replace(/\r$/, ''); + + if (value.length > 2) { + file.message(reason$3, node); + } + } + } +} + +var remarkLintNoDuplicateDefinitions = unifiedLintRule( + 'remark-lint:no-duplicate-definitions', + noDuplicateDefinitions +); + +var reason$4 = 'Do not use definitions with the same identifier'; + +function noDuplicateDefinitions(tree, file) { + var map = {}; + + unistUtilVisit(tree, ['definition', 'footnoteDefinition'], validate); + + function validate(node) { + var identifier; + var duplicate; + + if (!unistUtilGenerated(node)) { + identifier = node.identifier; + duplicate = map[identifier]; + + if (duplicate && duplicate.type) { + file.message( + reason$4 + ' (' + unistUtilStringifyPosition(unistUtilPosition.start(duplicate)) + ')', + node + ); + } + + map[identifier] = node; + } + } +} + +var mdastUtilHeadingStyle = style; + +function style(node, relative) { + var last = node.children[node.children.length - 1]; + var depth = node.depth; + var pos = node && node.position && node.position.end; + var final = last && last.position && last.position.end; + + if (!pos) { + return null + } + + // This can only occur for `'atx'` and `'atx-closed'` headings. + // This might incorrectly match `'atx'` headings with lots of trailing white + // space as an `'atx-closed'` heading. + if (!last) { + if (pos.column - 1 <= depth * 2) { + return consolidate(depth, relative) + } + + return 'atx-closed' + } + + if (final.line + 1 === pos.line) { + return 'setext' + } + + if (final.column + depth < pos.column) { + return 'atx-closed' + } + + return consolidate(depth, relative) +} + +// Get the probable style of an atx-heading, depending on preferred style. +function consolidate(depth, relative) { + return depth < 3 + ? 'atx' + : relative === 'atx' || relative === 'setext' + ? relative + : null +} + +var remarkLintNoHeadingContentIndent = unifiedLintRule( + 'remark-lint:no-heading-content-indent', + noHeadingContentIndent +); + +var start$7 = unistUtilPosition.start; +var end$3 = unistUtilPosition.end; + +function noHeadingContentIndent(tree, file) { + var contents = String(file); + + unistUtilVisit(tree, 'heading', visitor); + + function visitor(node) { + var depth; + var children; + var type; + var head; + var initial; + var final; + var diff; + var index; + var char; + var reason; + + if (unistUtilGenerated(node)) { + return + } + + depth = node.depth; + children = node.children; + type = mdastUtilHeadingStyle(node, 'atx'); + + if (type === 'atx' || type === 'atx-closed') { + initial = start$7(node); + index = initial.offset; + char = contents.charAt(index); + + while (char && char !== '#') { + char = contents.charAt(++index); + } + + /* istanbul ignore if - CR/LF bug: remarkjs/remark#195. */ + if (!char) { + return + } + + index = depth + (index - initial.offset); + head = start$7(children[0]).column; + + // Ignore empty headings. + if (!head) { + return + } + + diff = head - initial.column - 1 - index; + + if (diff) { + reason = + (diff > 0 ? 'Remove' : 'Add') + + ' ' + + Math.abs(diff) + + ' ' + + plur('space', diff) + + ' before this heading’s content'; + + file.message(reason, start$7(children[0])); + } + } + + // Closed ATX-heading always must have a space between their content and the + // final hashes, thus, there is no `add x spaces`. + if (type === 'atx-closed') { + final = end$3(children[children.length - 1]); + diff = end$3(node).column - final.column - 1 - depth; + + if (diff) { + reason = + 'Remove ' + + diff + + ' ' + + plur('space', diff) + + ' after this heading’s content'; + + file.message(reason, final); + } + } + } +} + +var remarkLintNoInlinePadding = unifiedLintRule('remark-lint:no-inline-padding', noInlinePadding); + +function noInlinePadding(tree, file) { + unistUtilVisit(tree, ['emphasis', 'strong', 'delete', 'image', 'link'], visitor); + + function visitor(node) { + var contents; + + if (!unistUtilGenerated(node)) { + contents = mdastUtilToString(node); + + if ( + contents.charAt(0) === ' ' || + contents.charAt(contents.length - 1) === ' ' + ) { + file.message('Don’t pad `' + node.type + '` with inner spaces', node); + } + } + } +} + +var remarkLintNoShortcutReferenceImage = unifiedLintRule( + 'remark-lint:no-shortcut-reference-image', + noShortcutReferenceImage +); + +var reason$5 = 'Use the trailing [] on reference images'; + +function noShortcutReferenceImage(tree, file) { + unistUtilVisit(tree, 'imageReference', visitor); + + function visitor(node) { + if (!unistUtilGenerated(node) && node.referenceType === 'shortcut') { + file.message(reason$5, node); + } + } +} + +var remarkLintNoShortcutReferenceLink = unifiedLintRule( + 'remark-lint:no-shortcut-reference-link', + noShortcutReferenceLink +); + +var reason$6 = 'Use the trailing [] on reference links'; + +function noShortcutReferenceLink(tree, file) { + unistUtilVisit(tree, 'linkReference', visitor); + + function visitor(node) { + if (!unistUtilGenerated(node) && node.referenceType === 'shortcut') { + file.message(reason$6, node); + } + } +} + +var remarkLintNoUndefinedReferences = unifiedLintRule( + 'remark-lint:no-undefined-references', + noUndefinedReferences +); + +var reason$7 = 'Found reference to undefined definition'; + +// The identifier is upcased to avoid naming collisions with properties +// inherited from `Object.prototype`. Were `Object.create(null)` to be +// used in place of `{}`, downcasing would work equally well. +function normalize$3(s) { + return collapseWhiteSpace(s.toUpperCase()) +} + +function noUndefinedReferences(tree, file, pref) { + var allow = + pref != null && Array.isArray(pref.allow) ? pref.allow.map(normalize$3) : []; + + var map = {}; + + unistUtilVisit(tree, ['definition', 'footnoteDefinition'], mark); + unistUtilVisit(tree, ['imageReference', 'linkReference', 'footnoteReference'], find); + + function mark(node) { + if (!unistUtilGenerated(node)) { + map[normalize$3(node.identifier)] = true; + } + } + + function find(node) { + if ( + !( + unistUtilGenerated(node) || + allow.includes(normalize$3(node.identifier)) || + normalize$3(node.identifier) in map + ) + ) { + file.message(reason$7, node); + } + } +} + +var remarkLintNoUnusedDefinitions = unifiedLintRule('remark-lint:no-unused-definitions', noUnusedDefinitions); + +var reason$8 = 'Found unused definition'; + +function noUnusedDefinitions(tree, file) { + var map = {}; + var identifier; + var entry; + + unistUtilVisit(tree, ['definition', 'footnoteDefinition'], find); + unistUtilVisit(tree, ['imageReference', 'linkReference', 'footnoteReference'], mark); + + for (identifier in map) { + entry = map[identifier]; + + if (!entry.used) { + file.message(reason$8, entry.node); + } + } + + function find(node) { + if (!unistUtilGenerated(node)) { + map[node.identifier.toUpperCase()] = {node: node, used: false}; + } + } + + function mark(node) { + var info = map[node.identifier.toUpperCase()]; + + if (!unistUtilGenerated(node) && info) { + info.used = true; + } + } +} + +var plugins$1 = [ + remarkLint, + // Unix compatibility. + remarkLintFinalNewline, + // Rendering across vendors differs greatly if using other styles. + remarkLintListItemBulletIndent, + [remarkLintListItemIndent, 'tab-size'], + // Differs or unsupported across vendors. + remarkLintNoAutoLinkWithoutProtocol, + remarkLintNoBlockquoteWithoutMarker, + remarkLintNoLiteralUrls, + [remarkLintOrderedListMarkerStyle, '.'], + // Mistakes. + remarkLintHardBreakSpaces, + remarkLintNoDuplicateDefinitions, + remarkLintNoHeadingContentIndent, + remarkLintNoInlinePadding, + remarkLintNoShortcutReferenceImage, + remarkLintNoShortcutReferenceLink, + remarkLintNoUndefinedReferences, + remarkLintNoUnusedDefinitions +]; + +var remarkPresetLintRecommended = { + plugins: plugins$1 +}; + +var remarkLintBlockquoteIndentation = unifiedLintRule( + 'remark-lint:blockquote-indentation', + blockquoteIndentation +); + +function blockquoteIndentation(tree, file, pref) { + pref = typeof pref === 'number' && !isNaN(pref) ? pref : null; + + unistUtilVisit(tree, 'blockquote', visitor); + + function visitor(node) { + var diff; + var reason; + + if (unistUtilGenerated(node) || node.children.length === 0) { + return + } + + if (pref) { + diff = pref - check$3(node); + + if (diff !== 0) { + reason = + (diff > 0 ? 'Add' : 'Remove') + + ' ' + + Math.abs(diff) + + ' ' + + plur('space', diff) + + ' between blockquote and content'; + + file.message(reason, unistUtilPosition.start(node.children[0])); + } + } else { + pref = check$3(node); + } + } +} + +function check$3(node) { + var head = node.children[0]; + var indentation = unistUtilPosition.start(head).column - unistUtilPosition.start(node).column; + var padding = mdastUtilToString(head).match(/^ +/); + + if (padding) { + indentation += padding[0].length; + } + + return indentation +} + +var remarkLintCheckboxCharacterStyle = unifiedLintRule( + 'remark-lint:checkbox-character-style', + checkboxCharacterStyle +); + +var start$8 = unistUtilPosition.start; +var end$4 = unistUtilPosition.end; + +var checked = {x: true, X: true}; +var unchecked = {' ': true, '\t': true}; +var types$1 = {true: 'checked', false: 'unchecked'}; + +function checkboxCharacterStyle(tree, file, pref) { + var contents = String(file); + var location = vfileLocation(file); + + pref = typeof pref === 'object' ? pref : {}; + + if (pref.unchecked && unchecked[pref.unchecked] !== true) { + file.fail( + 'Invalid unchecked checkbox marker `' + + pref.unchecked + + "`: use either `'\\t'`, or `' '`" + ); + } + + if (pref.checked && checked[pref.checked] !== true) { + file.fail( + 'Invalid checked checkbox marker `' + + pref.checked + + "`: use either `'x'`, or `'X'`" + ); + } + + unistUtilVisit(tree, 'listItem', visitor); + + function visitor(node) { + var type; + var initial; + var final; + var value; + var style; + var character; + var reason; + + // Exit early for items without checkbox. + if (typeof node.checked !== 'boolean' || unistUtilGenerated(node)) { + return + } + + type = types$1[node.checked]; + initial = start$8(node).offset; + final = (node.children.length === 0 ? end$4(node) : start$8(node.children[0])) + .offset; + + // For a checkbox to be parsed, it must be followed by a whitespace. + value = contents + .slice(initial, final) + .trimRight() + .slice(0, -1); + + // The checkbox character is behind a square bracket. + character = value.charAt(value.length - 1); + style = pref[type]; + + if (style) { + if (character !== style) { + reason = + type.charAt(0).toUpperCase() + + type.slice(1) + + ' checkboxes should use `' + + style + + '` as a marker'; + + file.message(reason, { + start: location.toPosition(initial + value.length - 1), + end: location.toPosition(initial + value.length) + }); + } + } else { + pref[type] = character; + } + } +} + +var remarkLintCheckboxContentIndent = unifiedLintRule( + 'remark-lint:checkbox-content-indent', + checkboxContentIndent +); + +var start$9 = unistUtilPosition.start; +var end$5 = unistUtilPosition.end; + +var reason$9 = 'Checkboxes should be followed by a single character'; + +function checkboxContentIndent(tree, file) { + var contents = String(file); + var location = vfileLocation(file); + + unistUtilVisit(tree, 'listItem', visitor); + + function visitor(node) { + var initial; + var final; + var value; + + // Exit early for items without checkbox. + if (typeof node.checked !== 'boolean' || unistUtilGenerated(node)) { + return + } + + initial = start$9(node).offset; + /* istanbul ignore next - hard to test, couldn’t find a case. */ + final = (node.children.length === 0 ? end$5(node) : start$9(node.children[0])) + .offset; + + while (/[^\S\n]/.test(contents.charAt(final))) { + final++; + } + + // For a checkbox to be parsed, it must be followed by a whitespace. + value = contents.slice(initial, final); + value = value.slice(value.indexOf(']') + 1); + + if (value.length !== 1) { + file.message(reason$9, { + start: location.toPosition(final - value.length + 1), + end: location.toPosition(final) + }); + } + } +} + +var remarkLintCodeBlockStyle = unifiedLintRule('remark-lint:code-block-style', codeBlockStyle); + +var start$a = unistUtilPosition.start; +var end$6 = unistUtilPosition.end; + +var styles$2 = {null: true, fenced: true, indented: true}; + +function codeBlockStyle(tree, file, pref) { + var contents = String(file); + + pref = typeof pref === 'string' && pref !== 'consistent' ? pref : null; + + if (styles$2[pref] !== true) { + file.fail( + 'Invalid code block style `' + + pref + + "`: use either `'consistent'`, `'fenced'`, or `'indented'`" + ); + } + + unistUtilVisit(tree, 'code', visitor); + + function visitor(node) { + var current = check(node); + + if (current) { + if (!pref) { + pref = current; + } else if (pref !== current) { + file.message('Code blocks should be ' + pref, node); + } + } + } + + // Get the style of `node`. + function check(node) { + var initial = start$a(node).offset; + var final = end$6(node).offset; + + if (unistUtilGenerated(node)) { + return null + } + + return node.lang || /^\s*([~`])\1{2,}/.test(contents.slice(initial, final)) + ? 'fenced' + : 'indented' + } +} + +var remarkLintDefinitionSpacing = unifiedLintRule('remark-lint:definition-spacing', definitionSpacing); + +var label$1 = /^\s*\[((?:\\[\s\S]|[^[\]])+)]/; +var reason$a = 'Do not use consecutive white-space in definition labels'; + +function definitionSpacing(tree, file) { + var contents = String(file); + + unistUtilVisit(tree, ['definition', 'footnoteDefinition'], validate); + + function validate(node) { + var start = unistUtilPosition.start(node).offset; + var end = unistUtilPosition.end(node).offset; + + if ( + !unistUtilGenerated(node) && + /[ \t\n]{2,}/.test(contents.slice(start, end).match(label$1)[1]) + ) { + file.message(reason$a, node); + } + } +} + +var remarkLintFencedCodeFlag = unifiedLintRule('remark-lint:fenced-code-flag', fencedCodeFlag); + +var start$b = unistUtilPosition.start; +var end$7 = unistUtilPosition.end; + +var fence$2 = /^ {0,3}([~`])\1{2,}/; +var reasonInvalid = 'Invalid code-language flag'; +var reasonMissing = 'Missing code-language flag'; + +function fencedCodeFlag(tree, file, pref) { + var contents = String(file); + var allowEmpty = false; + var flags = []; + + if (typeof pref === 'object' && !('length' in pref)) { + allowEmpty = Boolean(pref.allowEmpty); + pref = pref.flags; + } + + if (typeof pref === 'object' && 'length' in pref) { + flags = String(pref).split(','); + } + + unistUtilVisit(tree, 'code', visitor); + + function visitor(node) { + var value; + + if (!unistUtilGenerated(node)) { + if (node.lang) { + if (flags.length !== 0 && flags.indexOf(node.lang) === -1) { + file.message(reasonInvalid, node); + } + } else { + value = contents.slice(start$b(node).offset, end$7(node).offset); + + if (!allowEmpty && fence$2.test(value)) { + file.message(reasonMissing, node); + } + } + } + } +} + +var remarkLintFencedCodeMarker = unifiedLintRule('remark-lint:fenced-code-marker', fencedCodeMarker); + +var markers = { + '`': true, + '~': true, + null: true +}; + +function fencedCodeMarker(tree, file, pref) { + var contents = String(file); + + pref = typeof pref === 'string' && pref !== 'consistent' ? pref : null; + + if (markers[pref] !== true) { + file.fail( + 'Invalid fenced code marker `' + + pref + + "`: use either `'consistent'`, `` '`' ``, or `'~'`" + ); + } + + unistUtilVisit(tree, 'code', visitor); + + function visitor(node) { + var marker; + + if (!unistUtilGenerated(node)) { + marker = contents + .substr(unistUtilPosition.start(node).offset, 4) + .trimLeft() + .charAt(0); + + // Ignore unfenced code blocks. + if (markers[marker] === true) { + if (pref) { + if (marker !== pref) { + file.message( + 'Fenced code should use ' + pref + ' as a marker', + node + ); + } + } else { + pref = marker; + } + } + } + } +} + +var remarkLintFileExtension = unifiedLintRule('remark-lint:file-extension', fileExtension); + +function fileExtension(tree, file, pref) { + var ext = file.extname; + + pref = typeof pref === 'string' ? pref : 'md'; + + if (ext && ext.slice(1) !== pref) { + file.message('Invalid extension: use `' + pref + '`'); + } +} + +var remarkLintFinalDefinition = unifiedLintRule('remark-lint:final-definition', finalDefinition); + +var start$c = unistUtilPosition.start; + +function finalDefinition(tree, file) { + var last = null; + + unistUtilVisit(tree, visitor, true); + + function visitor(node) { + var line = start$c(node).line; + + // Ignore generated nodes. + if (node.type === 'root' || unistUtilGenerated(node)) { + return + } + + if (node.type === 'definition') { + if (last !== null && last > line) { + file.message( + 'Move definitions to the end of the file (after the node at line `' + + last + + '`)', + node + ); + } + } else if (last === null) { + last = line; + } + } +} + +var remarkLintFirstHeadingLevel = unifiedLintRule('remark-lint:first-heading-level', firstHeadingLevel); + +var re$3 = /. + unistUtilVisit(tree, ['heading', 'table', 'code', 'definition', 'html', 'jsx'], ignore); + unistUtilVisit(tree, ['link', 'image', 'inlineCode'], inline); + + // Iterate over every line, and warn for violating lines. + while (++index < length) { + lineLength = lines[index].length; + + if (lineLength > style) { + file.message('Line must be at most ' + style + ' characters', { + line: index + 1, + column: lineLength + 1 + }); + } + } + + // Finally, whitelist some inline spans, but only if they occur at or after + // the wrap. + // However, when they do, and there’s whitespace after it, they are not + // whitelisted. + function inline(node, pos, parent) { + var next = parent.children[pos + 1]; + var initial; + var final; + + /* istanbul ignore if - Nothing to whitelist when generated. */ + if (unistUtilGenerated(node)) { + return + } + + initial = start$d(node); + final = end$8(node); + + // No whitelisting when starting after the border, or ending before it. + if (initial.column > style || final.column < style) { + return + } + + // No whitelisting when there’s whitespace after the link. + if ( + next && + start$d(next).line === initial.line && + (!next.value || /^(.+?[ \t].+?)/.test(next.value)) + ) { + return + } + + whitelist(initial.line - 1, final.line); + } + + function ignore(node) { + /* istanbul ignore else - Hard to test, as we only run this case on `position: true` */ + if (!unistUtilGenerated(node)) { + whitelist(start$d(node).line - 1, end$8(node).line); + } + } + + // Whitelist from `initial` to `final`, zero-based. + function whitelist(initial, final) { + while (initial < final) { + lines[initial++] = ''; + } + } +} + +var remarkLintNoConsecutiveBlankLines = unifiedLintRule( + 'remark-lint:no-consecutive-blank-lines', + noConsecutiveBlankLines +); + +function noConsecutiveBlankLines(tree, file) { + unistUtilVisit(tree, visitor); + + function visitor(node) { + var children = node.children; + var head; + var tail; + + if (!unistUtilGenerated(node) && children) { + head = children[0]; + + if (head && !unistUtilGenerated(head)) { + // Compare parent and first child. + compare(unistUtilPosition.start(node), unistUtilPosition.start(head), 0); + + // Compare between each child. + children.forEach(visitChild); + + tail = children[children.length - 1]; + + // Compare parent and last child. + if (tail !== head && !unistUtilGenerated(tail)) { + compare(unistUtilPosition.end(node), unistUtilPosition.end(tail), 1); + } + } + } + } + + // Compare the difference between `start` and `end`, and warn when that + // difference exceeds `max`. + function compare(start, end, max) { + var diff = end.line - start.line; + var lines = Math.abs(diff) - max; + var reason; + + if (lines > 0) { + reason = + 'Remove ' + + lines + + ' ' + + plur('line', lines) + + ' ' + + (diff > 0 ? 'before' : 'after') + + ' node'; + + file.message(reason, end); + } + } + + function visitChild(child, index, all) { + var prev = all[index - 1]; + var max = 2; + + if (prev && !unistUtilGenerated(prev) && !unistUtilGenerated(child)) { + if ( + (prev.type === 'list' && child.type === 'list') || + (child.type === 'code' && prev.type === 'list' && !child.lang) + ) { + max++; + } + + compare(unistUtilPosition.end(prev), unistUtilPosition.start(child), max); + } + } +} + +var remarkLintNoFileNameArticles = unifiedLintRule('remark-lint:no-file-name-articles', noFileNameArticles); + +function noFileNameArticles(tree, file) { + var match = file.stem && file.stem.match(/^(the|teh|an?)\b/i); + + if (match) { + file.message('Do not start file names with `' + match[0] + '`'); + } +} + +var remarkLintNoFileNameConsecutiveDashes = unifiedLintRule( + 'remark-lint:no-file-name-consecutive-dashes', + noFileNameConsecutiveDashes +); + +var reason$b = 'Do not use consecutive dashes in a file name'; + +function noFileNameConsecutiveDashes(tree, file) { + if (file.stem && /-{2,}/.test(file.stem)) { + file.message(reason$b); + } +} + +var remarkLintNoFileNameOuterDashes = unifiedLintRule( + 'remark-lint:no-file-name-outer-dashes', + noFileNameOuterDashes +); + +var reason$c = 'Do not use initial or final dashes in a file name'; + +function noFileNameOuterDashes(tree, file) { + if (file.stem && /^-|-$/.test(file.stem)) { + file.message(reason$c); + } +} + +var remarkLintNoHeadingIndent = unifiedLintRule('remark-lint:no-heading-indent', noHeadingIndent); + +var start$e = unistUtilPosition.start; + +function noHeadingIndent(tree, file) { + var contents = String(file); + var length = contents.length; + + unistUtilVisit(tree, 'heading', visitor); + + function visitor(node) { + var initial; + var begin; + var index; + var character; + var diff; + + if (unistUtilGenerated(node)) { + return + } + + initial = start$e(node); + begin = initial.offset; + index = begin - 1; + + while (++index < length) { + character = contents.charAt(index); + + if (character !== ' ' && character !== '\t') { + break + } + } + + diff = index - begin; + + if (diff) { + file.message( + 'Remove ' + diff + ' ' + plur('space', diff) + ' before this heading', + { + line: initial.line, + column: initial.column + diff + } + ); + } + } +} + +var start$f = unistUtilPosition.start; + + + +var remarkLintNoMultipleToplevelHeadings = unifiedLintRule( + 'remark-lint:no-multiple-toplevel-headings', + noMultipleToplevelHeadings +); + +function noMultipleToplevelHeadings(tree, file, pref) { + var style = pref ? pref : 1; + var duplicate; + + unistUtilVisit(tree, 'heading', visitor); + + function visitor(node) { + if (!unistUtilGenerated(node) && node.depth === style) { + if (duplicate) { + file.message( + 'Don’t use multiple top level headings (' + duplicate + ')', + node + ); + } else { + duplicate = unistUtilStringifyPosition(start$f(node)); + } + } + } +} + +var remarkLintNoShellDollars = unifiedLintRule('remark-lint:no-shell-dollars', noShellDollars); + +var reason$d = 'Do not use dollar signs before shell-commands'; + +// List of shell script file extensions (also used as code flags for syntax +// highlighting on GitHub): +// See: +var flags = [ + 'sh', + 'bash', + 'bats', + 'cgi', + 'command', + 'fcgi', + 'ksh', + 'tmux', + 'tool', + 'zsh' +]; + +function noShellDollars(tree, file) { + unistUtilVisit(tree, 'code', visitor); + + function visitor(node) { + var lines; + var line; + var length; + var index; + + // Check both known shell code and unknown code. + if (!unistUtilGenerated(node) && node.lang && flags.indexOf(node.lang) !== -1) { + lines = node.value.split('\n'); + length = lines.length; + index = -1; + + if (length <= 1) { + return + } + + while (++index < length) { + line = lines[index]; + + if (line.trim() && !line.match(/^\s*\$\s*/)) { + return + } + } + + file.message(reason$d, node); + } + } +} + +var remarkLintNoTableIndentation = unifiedLintRule('remark-lint:no-table-indentation', noTableIndentation); + +var reason$e = 'Do not indent table rows'; + +function noTableIndentation(tree, file) { + var contents = String(file); + + unistUtilVisit(tree, 'table', visitor); + + function visitor(node) { + if (!unistUtilGenerated(node)) { + node.children.forEach(each); + } + + return unistUtilVisit.SKIP + } + + function each(row) { + var fence = contents.slice( + unistUtilPosition.start(row).offset, + unistUtilPosition.start(row.children[0]).offset + ); + + if (fence.indexOf('|') > 1) { + file.message(reason$e, row); + } + } +} + +var remarkLintNoTabs = unifiedLintRule('remark-lint:no-tabs', noTabs); + +var reason$f = 'Use spaces instead of hard-tabs'; + +function noTabs(tree, file) { + var content = String(file); + var position = vfileLocation(file).toPosition; + var index = content.indexOf('\t'); + + while (index !== -1) { + file.message(reason$f, position(index)); + index = content.indexOf('\t', index + 1); + } +} + +var remarkLintNoTrailingSpaces = unifiedLintRule('remark-lint:no-trailing-spaces', noTrailingSpaces); + +/** + * Lines that are just space characters are not present in + * the AST, which is why we loop through lines manually. + */ + +function noTrailingSpaces(ast, file) { + var lines = file.toString().split(/\r?\n/); + for (var i = 0; i < lines.length; i++) { + var currentLine = lines[i]; + var lineIndex = i + 1; + if (/\s$/.test(currentLine)) { + file.message('Remove trailing whitespace', { + position: { + start: { line: lineIndex, column: currentLine.length + 1 }, + end: { line: lineIndex } + } + }); + } + } +} + +var convert_1$1 = convert$2; + +function convert$2(test) { + if (typeof test === 'string') { + return typeFactory$1(test) + } + + if (test === null || test === undefined) { + return ok$2 + } + + if (typeof test === 'object') { + return ('length' in test ? anyFactory$1 : matchesFactory$1)(test) + } + + if (typeof test === 'function') { + return test + } + + throw new Error('Expected function, string, or object as test') +} + +function convertAll$1(tests) { + var results = []; + var length = tests.length; + var index = -1; + + while (++index < length) { + results[index] = convert$2(tests[index]); + } + + return results +} + +// Utility assert each property in `test` is represented in `node`, and each +// values are strictly equal. +function matchesFactory$1(test) { + return matches + + function matches(node) { + var key; + + for (key in test) { + if (node[key] !== test[key]) { + return false + } + } + + return true + } +} + +function anyFactory$1(tests) { + var checks = convertAll$1(tests); + var length = checks.length; + + return matches + + function matches() { + var index = -1; + + while (++index < length) { + if (checks[index].apply(this, arguments)) { + return true + } + } + + return false + } +} + +// Utility to convert a string into a function which checks a given node’s type +// for said string. +function typeFactory$1(test) { + return type + + function type(node) { + return Boolean(node && node.type === test) + } +} + +// Utility to return true. +function ok$2() { + return true +} + +var unistUtilVisitParents$1 = visitParents$1; + + + +var CONTINUE$2 = true; +var SKIP$2 = 'skip'; +var EXIT$2 = false; + +visitParents$1.CONTINUE = CONTINUE$2; +visitParents$1.SKIP = SKIP$2; +visitParents$1.EXIT = EXIT$2; + +function visitParents$1(tree, test, visitor, reverse) { + var is; + + if (typeof test === 'function' && typeof visitor !== 'function') { + reverse = visitor; + visitor = test; + test = null; + } + + is = convert_1$1(test); + + one(tree, null, []); + + // Visit a single node. + function one(node, index, parents) { + var result = []; + var subresult; + + if (!test || is(node, index, parents[parents.length - 1] || null)) { + result = toResult$1(visitor(node, parents)); + + if (result[0] === EXIT$2) { + return result + } + } + + if (node.children && result[0] !== SKIP$2) { + subresult = toResult$1(all(node.children, parents.concat(node))); + return subresult[0] === EXIT$2 ? subresult : result + } + + return result + } + + // Visit children in `parent`. + function all(children, parents) { + var min = -1; + var step = reverse ? -1 : 1; + var index = (reverse ? children.length : min) + step; + var result; + + while (index > min && index < children.length) { + result = one(children[index], index, parents); + + if (result[0] === EXIT$2) { + return result + } + + index = typeof result[1] === 'number' ? result[1] : index + step; + } + } +} + +function toResult$1(value) { + if (value !== null && typeof value === 'object' && 'length' in value) { + return value + } + + if (typeof value === 'number') { + return [CONTINUE$2, value] + } + + return [value] +} + +var unistUtilVisit$1 = visit$1; + + + +var CONTINUE$3 = unistUtilVisitParents$1.CONTINUE; +var SKIP$3 = unistUtilVisitParents$1.SKIP; +var EXIT$3 = unistUtilVisitParents$1.EXIT; + +visit$1.CONTINUE = CONTINUE$3; +visit$1.SKIP = SKIP$3; +visit$1.EXIT = EXIT$3; + +function visit$1(tree, test, visitor, reverse) { + if (typeof test === 'function' && typeof visitor !== 'function') { + reverse = visitor; + visitor = test; + test = null; + } + + unistUtilVisitParents$1(tree, test, overload, reverse); + + function overload(node, parents) { + var parent = parents[parents.length - 1]; + var index = parent ? parent.children.indexOf(node) : null; + return visitor(node, index, parent) + } +} + +var remarkLintProhibitedStrings = unifiedLintRule('remark-lint:prohibited-strings', prohibitedStrings); + +function testProhibited(val, content) { + let regexpString = '(\\.|@[a-z0-9/-]*)?'; + + // If it starts with a letter, make sure it is a word break. + if (/^\b/.test(val.no)) { + regexpString += '\\b'; + } + regexpString += `(${val.no})`; + + // If it ends with a letter, make sure it is a word break. + if (/\b$/.test(val.no)) { + regexpString += '\\b'; + } + regexpString += '(\\.\\w)?'; + const re = new RegExp(regexpString, 'g'); + + let result = null; + while (result = re.exec(content)) { + if (!result[1] && !result[3]) { + return result[2]; + } + } + + return false; +} + +function prohibitedStrings(ast, file, strings) { + unistUtilVisit$1(ast, 'text', checkText); + + function checkText(node) { + const content = node.value; + + strings.forEach((val) => { + const result = testProhibited(val, content); + if (result) { + file.message(`Use "${val.yes}" instead of "${result}"`, node); + } + }); + } +} + +var rule = unifiedLintRule; + + + + +var remarkLintRuleStyle = rule('remark-lint:rule-style', ruleStyle); + +var start$g = unistUtilPosition.start; +var end$9 = unistUtilPosition.end; + +function ruleStyle(tree, file, pref) { + var contents = String(file); + + pref = typeof pref === 'string' && pref !== 'consistent' ? pref : null; + + if (pref !== null && /[^-_* ]/.test(pref)) { + file.fail( + "Invalid preferred rule-style: provide a valid markdown rule, or `'consistent'`" + ); + } + + unistUtilVisit(tree, 'thematicBreak', visitor); + + function visitor(node) { + var initial = start$g(node).offset; + var final = end$9(node).offset; + var rule; + + if (!unistUtilGenerated(node)) { + rule = contents.slice(initial, final); + + if (pref) { + if (rule !== pref) { + file.message('Rules should use `' + pref + '`', node); + } + } else { + pref = rule; + } + } + } +} + +var remarkLintStrongMarker = unifiedLintRule('remark-lint:strong-marker', strongMarker); + +var markers$1 = {'*': true, _: true, null: true}; + +function strongMarker(tree, file, pref) { + var contents = String(file); + + pref = typeof pref === 'string' && pref !== 'consistent' ? pref : null; + + if (markers$1[pref] !== true) { + file.fail( + 'Invalid strong marker `' + + pref + + "`: use either `'consistent'`, `'*'`, or `'_'`" + ); + } + + unistUtilVisit(tree, 'strong', visitor); + + function visitor(node) { + var marker = contents.charAt(unistUtilPosition.start(node).offset); + + if (!unistUtilGenerated(node)) { + if (pref) { + if (marker !== pref) { + file.message('Strong should use `' + pref + '` as a marker', node); + } + } else { + pref = marker; + } + } + } +} + +var remarkLintTableCellPadding = unifiedLintRule('remark-lint:table-cell-padding', tableCellPadding); + +var start$h = unistUtilPosition.start; +var end$a = unistUtilPosition.end; + +var styles$3 = {null: true, padded: true, compact: true}; + +function tableCellPadding(tree, file, pref) { + var contents = String(file); + + pref = typeof pref === 'string' && pref !== 'consistent' ? pref : null; + + if (styles$3[pref] !== true) { + file.fail('Invalid table-cell-padding style `' + pref + '`'); + } + + unistUtilVisit(tree, 'table', visitor); + + function visitor(node) { + var rows = node.children; + var sizes = new Array(node.align.length); + var length = unistUtilGenerated(node) ? -1 : rows.length; + var index = -1; + var entries = []; + var style; + var row; + var cells; + var column; + var cellCount; + var cell; + var next; + var fence; + var pos; + var entry; + var final; + + // Check rows. + while (++index < length) { + row = rows[index]; + cells = row.children; + cellCount = cells.length; + column = -2; // Start without a first cell. + next = null; + final = undefined; + + // Check fences (before, between, and after cells). + while (++column < cellCount) { + cell = next; + next = cells[column + 1]; + + fence = contents.slice( + cell ? end$a(cell).offset : start$h(row).offset, + next ? start$h(next).offset : end$a(row).offset + ); + + pos = fence.indexOf('|'); + + if (cell && cell.children.length !== 0 && final !== undefined) { + entries.push({node: cell, start: final, end: pos, index: column}); + + // Detect max space per column. + sizes[column] = Math.max(sizes[column] || 0, size(cell)); + } else { + final = undefined; + } + + if (next && next.children.length !== 0) { + final = fence.length - pos - 1; + } else { + final = undefined; + } + } + } + + if (pref) { + style = pref === 'padded' ? 1 : 0; + } else { + style = entries[0] && (!entries[0].start || !entries[0].end) ? 0 : 1; + } + + index = -1; + length = entries.length; + + while (++index < length) { + entry = entries[index]; + checkSide('start', entry, style, sizes); + checkSide('end', entry, style, sizes); + } + + return unistUtilVisit.SKIP + } + + function checkSide(side, entry, style, sizes) { + var cell = entry.node; + var spacing = entry[side]; + var index = entry.index; + var reason; + + if (spacing === undefined || spacing === style) { + return + } + + reason = 'Cell should be '; + + if (style === 0) { + reason += 'compact'; + + // Ignore every cell except the biggest in the column. + if (size(cell) < sizes[index]) { + return + } + } else { + reason += 'padded'; + + if (spacing > style) { + reason += ' with 1 space, not ' + spacing; + + // May be right or center aligned. + if (size(cell) < sizes[index]) { + return + } + } + } + + file.message(reason, cell.position[side]); + } +} + +function size(node) { + return end$a(node).offset - start$h(node).offset +} + +var remarkLintTablePipes = unifiedLintRule('remark-lint:table-pipes', tablePipes); + +var start$i = unistUtilPosition.start; +var end$b = unistUtilPosition.end; + +var reasonStart = 'Missing initial pipe in table fence'; +var reasonEnd = 'Missing final pipe in table fence'; + +function tablePipes(tree, file) { + var contents = String(file); + + unistUtilVisit(tree, 'table', visitor); + + function visitor(node) { + var rows = node.children; + var length = rows.length; + var index = -1; + var row; + var cells; + var head; + var tail; + var initial; + var final; + + while (++index < length) { + row = rows[index]; + + if (!unistUtilGenerated(row)) { + cells = row.children; + head = cells[0]; + tail = cells[cells.length - 1]; + initial = contents.slice(start$i(row).offset, start$i(head).offset); + final = contents.slice(end$b(tail).offset, end$b(row).offset); + + if (initial.indexOf('|') === -1) { + file.message(reasonStart, start$i(row)); + } + + if (final.indexOf('|') === -1) { + file.message(reasonEnd, end$b(row)); + } + } + } + } +} + +var remarkLintUnorderedListMarkerStyle = unifiedLintRule( + 'remark-lint:unordered-list-marker-style', + unorderedListMarkerStyle +); + +var start$j = unistUtilPosition.start; + +var styles$4 = { + '-': true, + '*': true, + '+': true, + null: true +}; + +function unorderedListMarkerStyle(tree, file, pref) { + var contents = String(file); + + pref = typeof pref === 'string' && pref !== 'consistent' ? pref : null; + + if (styles$4[pref] !== true) { + file.fail( + 'Invalid unordered list-item marker style `' + + pref + + "`: use either `'-'`, `'*'`, or `'+'`" + ); + } + + unistUtilVisit(tree, 'list', visitor); + + function visitor(node) { + var children = node.children; + var length = node.ordered ? 0 : children.length; + var index = -1; + var child; + var marker; + + while (++index < length) { + child = children[index]; + + if (!unistUtilGenerated(child)) { + marker = contents + .slice(start$j(child).offset, start$j(child.children[0]).offset) + .replace(/\[[x ]?]\s*$/i, '') + .replace(/\s/g, ''); + + if (pref) { + if (marker !== pref) { + file.message('Marker style should be `' + pref + '`', child); + } + } else { + pref = marker; + } + } + } + } +} + +// Add in rules alphabetically +var plugins$2 = [ + remarkLint, + // Leave preset at the top so it can be overridden + remarkPresetLintRecommended, + [remarkLintBlockquoteIndentation, 2], + [ + remarkLintCheckboxCharacterStyle, + { + checked: "x", + unchecked: " " + } + ], + remarkLintCheckboxContentIndent, + [remarkLintCodeBlockStyle, "fenced"], + remarkLintDefinitionSpacing, + remarkLintFencedCodeFlag, + [remarkLintFencedCodeMarker, "`"], + [remarkLintFileExtension, "md"], + remarkLintFinalDefinition, + [remarkLintFirstHeadingLevel, 1], + [remarkLintHeadingStyle, "atx"], + [remarkLintListItemIndent, "space"], + remarkLintMaximumLineLength, + remarkLintNoConsecutiveBlankLines, + remarkLintNoFileNameArticles, + remarkLintNoFileNameConsecutiveDashes, + remarkLintNoFileNameOuterDashes, + remarkLintNoHeadingIndent, + [remarkLintNoLiteralUrls, false], + remarkLintNoMultipleToplevelHeadings, + remarkLintNoShellDollars, + remarkLintNoTableIndentation, + remarkLintNoTabs, + remarkLintNoTrailingSpaces, + [ + remarkLintProhibitedStrings, + [ + { no: "End-Of-Life", yes: "End-of-Life" }, + { no: "End-of-life", yes: "End-of-Life" }, + { no: "Github", yes: "GitHub" }, + { no: "hostname", yes: "host name" }, + { no: "[Jj]avascript", yes: "JavaScript" }, + { no: "Node", yes: "Node.js" }, + { no: "Node\\.JS", yes: "Node.js" }, + { no: "node\\.js", yes: "Node.js" }, + { no: "Node\\.js's?", yes: "the Node.js" }, + { no: "[Nn]ote that", yes: "" }, + { no: "Rfc", yes: "RFC" }, + { no: "[Rr][Ff][Cc]\\d+", yes: "RFC " }, + { no: "rfc", yes: "RFC" }, + { no: "UNIX", yes: "Unix" }, + { no: "unix", yes: "Unix" }, + { no: "v8", yes: "V8" } + ] + ], + remarkLintRuleStyle, + [remarkLintStrongMarker, "*"], + [remarkLintTableCellPadding, "padded"], + remarkLintTablePipes, + [remarkLintUnorderedListMarkerStyle, "*"] +]; + +var remarkPresetLintNode = { + plugins: plugins$2 +}; + +var proc = getCjsExportFromNamespace(_package$1); + +var cli = getCjsExportFromNamespace(_package$3); + +// To aid in future maintenance, this layout closely matches remark-cli/cli.js. +// https://github.com/remarkjs/remark/blob/master/packages/remark-cli/cli.js + + + + + + + + +unifiedArgs({ + processor: remark().use(remarkPresetLintNode), + name: proc.name, + description: cli.description, + version: [ + proc.name + ': ' + proc.version, + cli.name + ': ' + cli.version, + ].join(', '), + pluginPrefix: proc.name, + presetPrefix: proc.name + '-preset', + packageField: proc.name + 'Config', + rcName: '.' + proc.name + 'rc', + ignoreName: '.' + proc.name + 'ignore', + extensions: markdownExtensions$2, + detectConfig: false, +}); diff --git a/tools/make-v8.sh b/tools/make-v8.sh index 41c5ff76dbd641..e4024330b169db 100755 --- a/tools/make-v8.sh +++ b/tools/make-v8.sh @@ -8,35 +8,28 @@ tools/node/fetch_deps.py . ARCH="`arch`" if [[ "$ARCH" == "s390x" ]] || [[ "$ARCH" == "ppc64le" ]]; then + TARGET_ARCH=$ARCH + if [[ "$ARCH" == "ppc64le" ]]; then + TARGET_ARCH="ppc64" + fi # set paths manually for now to use locally installed gn export BUILD_TOOLS=/home/iojs/build-tools export LD_LIBRARY_PATH=$BUILD_TOOLS:$LD_LIBRARY_PATH - export PATH=$BUILD_TOOLS:$PATH - if [[ X"$CXX" != X ]]; then - CXX_PATH=`which $CXX |grep g++` - fi - if [[ X"$CC" != X ]]; then - CC_PATH=`which $CC |grep gcc` - fi + # Avoid linking to ccache symbolic links as ccache decides which + # binary to run based on the name of the link (we always name them gcc/g++). + CC_PATH=`which -a $CC gcc | grep -v ccache | head -n 1` + CXX_PATH=`which -a $CXX g++ | grep -v ccache | head -n 1` rm -f "$BUILD_TOOLS/g++" rm -f "$BUILD_TOOLS/gcc" -fi -if [[ "$ARCH" == "s390x" ]]; then ln -s $CXX_PATH "$BUILD_TOOLS/g++" ln -s $CC_PATH "$BUILD_TOOLS/gcc" + export PATH=$BUILD_TOOLS:$PATH + g++ --version + gcc --version export PKG_CONFIG_PATH=$BUILD_TOOLS/pkg-config - gn gen -v out.gn/$BUILD_ARCH_TYPE --args='is_component_build=false is_debug=false use_goma=false goma_dir="None" use_custom_libcxx=false v8_target_cpu="s390x" target_cpu="s390x"' + gn gen -v out.gn/$BUILD_ARCH_TYPE --args="is_component_build=false is_debug=false use_goma=false goma_dir=\"None\" use_custom_libcxx=false v8_target_cpu=\"$TARGET_ARCH\" target_cpu=\"$TARGET_ARCH\" v8_enable_backtrace=true" ninja -v -C out.gn/$BUILD_ARCH_TYPE d8 cctest inspector-test -elif [[ "$ARCH" == "ppc64le" ]]; then - if [[ X"$CXX" != X ]]; then - ln -s /usr/bin/$CXX "$BUILD_TOOLS/g++" - ln -s /usr/bin/$CC "$BUILD_TOOLS/gcc" - fi - g++ --version - export PKG_CONFIG_PATH=$BUILD_TOOLS/pkg-config-files - gn gen out.gn/$BUILD_ARCH_TYPE --args='is_component_build=false is_debug=false use_goma=false goma_dir="None" use_custom_libcxx=false v8_target_cpu="ppc64" target_cpu="ppc64"' - ninja -C out.gn/$BUILD_ARCH_TYPE d8 cctest inspector-test else PATH=~/_depot_tools:$PATH tools/dev/v8gen.py $BUILD_ARCH_TYPE --no-goma $V8_BUILD_OPTIONS PATH=~/_depot_tools:$PATH ninja -C out.gn/$BUILD_ARCH_TYPE/ d8 cctest inspector-test diff --git a/tools/msvs/install_tools/install_tools.bat b/tools/msvs/install_tools/install_tools.bat index da927ed4829409..eac70e2159fa86 100644 --- a/tools/msvs/install_tools/install_tools.bat +++ b/tools/msvs/install_tools/install_tools.bat @@ -38,7 +38,7 @@ echo result of a Chocolatey install. This acceptance occurs whether you know the echo license terms or not. Read and understand the license terms of the packages echo being installed and their dependencies prior to installation: echo - https://chocolatey.org/packages/chocolatey -echo - https://chocolatey.org/packages/python2 +echo - https://chocolatey.org/packages/python echo - https://chocolatey.org/packages/visualstudio2017-workload-vctools echo. echo This script is provided AS-IS without any warranties of any kind @@ -52,4 +52,4 @@ pause cls -"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command Start-Process '%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe' -ArgumentList '-NoProfile -InputFormat None -ExecutionPolicy Bypass -Command iex ((New-Object System.Net.WebClient).DownloadString(''https://chocolatey.org/install.ps1'')); choco upgrade -y python2 visualstudio2017-workload-vctools; Read-Host ''Type ENTER to exit'' ' -Verb RunAs +"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command Start-Process '%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe' -ArgumentList '-NoProfile -InputFormat None -ExecutionPolicy Bypass -Command iex ((New-Object System.Net.WebClient).DownloadString(''https://chocolatey.org/install.ps1'')); choco upgrade -y python visualstudio2017-workload-vctools; Read-Host ''Type ENTER to exit'' ' -Verb RunAs diff --git a/tools/msvs/msi/i18n/en-us.wxl b/tools/msvs/msi/i18n/en-us.wxl index 16d79173d6b05c..b0e8d7dab67ab4 100644 --- a/tools/msvs/msi/i18n/en-us.wxl +++ b/tools/msvs/msi/i18n/en-us.wxl @@ -12,7 +12,7 @@ {\WixUI_Font_Title}Tools for Native Modules Optionally install the tools necessary to compile native modules. WixUI_Bmp_Banner - Some npm modules need to be compiled from C/C++ when installing. If you want to be able to install such modules, some tools (Python 2 and Visual Studio Build Tools) need to be installed. + Some npm modules need to be compiled from C/C++ when installing. If you want to be able to install such modules, some tools (Python and Visual Studio Build Tools) need to be installed. Automatically install the necessary tools. Note that this will also install Chocolatey. The script will pop-up in a new window after the installation completes. Alternatively, follow the instructions at https://github.com/nodejs/node-gyp#on-windows]]> to install the dependencies yourself. diff --git a/tools/node-lint-md-cli-rollup/package-lock.json b/tools/node-lint-md-cli-rollup/package-lock.json index b4403219ccdd8b..5a8728bc98a7cc 100644 --- a/tools/node-lint-md-cli-rollup/package-lock.json +++ b/tools/node-lint-md-cli-rollup/package-lock.json @@ -1,19 +1,63 @@ { "name": "node-lint-md-cli-rollup", - "version": "2.0.1", + "version": "2.0.2", "lockfileVersion": 1, "requires": true, "dependencies": { + "@rollup/plugin-commonjs": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.0.1.tgz", + "integrity": "sha512-SaVUoaLDg3KnIXC5IBNIspr1APTYDzk05VaYcI6qz+0XX3ZlSCwAkfAhNSOxfd5GAdcm/63Noi4TowOY9MpcDg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.0", + "estree-walker": "^0.6.1", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0" + } + }, + "@rollup/plugin-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.0.1.tgz", + "integrity": "sha512-soxllkhOGgchswBAAaTe7X9G80U2tjjHvXv0sBrriLJcC/89PkP59iTrKPOfbz3SjX088mKDmMhAscuyLz8ZSg==", + "dev": true, + "requires": { + "rollup-pluginutils": "^2.5.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.0.0.tgz", + "integrity": "sha512-+vOx2+WMBMFotYKM3yYeDGZxIvcQ7yO4g+SuKDFsjKaq8Lw3EPgfB6qNlp8Z/3ceDCEhHvC9/b+PgBGwDQGbzQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.0", + "@types/resolve": "0.0.8", + "builtin-modules": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.11.1" + } + }, + "@rollup/pluginutils": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.0.4.tgz", + "integrity": "sha512-buc0oeq2zqQu2mpMyvZgAaQvitikYjT/4JYhA4EXwxX8/g0ZGHoGiX+0AwmfhrNqH4oJv67gn80sTZFQ/jL1bw==", + "dev": true, + "requires": { + "estree-walker": "^0.6.1" + } + }, "@types/estree": { - "version": "0.0.40", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.40.tgz", - "integrity": "sha512-p3KZgMto/JyxosKGmnLDJ/dG5wf+qTRMUjHJcspC2oQKa4jP7mz+tv0ND56lLBu3ojHlhzY33Ol+khLyNmilkA==", + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", "dev": true }, "@types/node": { - "version": "12.12.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.17.tgz", - "integrity": "sha512-Is+l3mcHvs47sKy+afn2O1rV4ldZFU7W8101cNlOd+MRbjM4Onida8jSZnJdTe/0Pcf25g9BNIUsuugmE6puHA==", + "version": "13.1.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.8.tgz", + "integrity": "sha512-6XzyyNM9EKQW4HKuzbo/CkOIjn/evtCmsU+MUM1xDfJ+3/rNjBttM1NgN7AOQvN6tP1Sl1D1PIKMreTArnxM9A==", "dev": true }, "@types/resolve": { @@ -150,18 +194,18 @@ "integrity": "sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==" }, "chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", + "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.1", + "fsevents": "~2.1.2", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" + "readdirp": "~3.3.0" } }, "co": { @@ -170,9 +214,9 @@ "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=" }, "collapse-white-space": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz", - "integrity": "sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz", + "integrity": "sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==" }, "color-convert": { "version": "1.9.3", @@ -229,6 +273,12 @@ "is-arrayish": "^0.2.1" } }, + "es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=", + "dev": true + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -251,17 +301,17 @@ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "fault": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.3.tgz", - "integrity": "sha512-sfFuP4X0hzrbGKjAUNXYvNqsZ5F6ohx/dZ9I0KQud/aiZNwg263r5L9yGB0clvXHCkzXh5W3t7RSHchggYIFmA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", "requires": { - "format": "^0.2.2" + "format": "^0.2.0" } }, "figures": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", - "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "requires": { "escape-string-regexp": "^1.0.5" } @@ -345,6 +395,12 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, "irregular-plurals": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz", @@ -421,9 +477,9 @@ "integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==" }, "is-hidden": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-hidden/-/is-hidden-1.1.2.tgz", - "integrity": "sha512-kytBeNVW2QTIqZdJBDKIjP+EkUTzDT07rsc111w/gxqR6wK3ODkOswcpxgED6HU6t7fEhOxqojVZ2a2kU9rj+A==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-hidden/-/is-hidden-1.1.3.tgz", + "integrity": "sha512-FFzhGKA9h59OFxeaJl0W5ILTYetI8WsdqdofKr69uLKZdV6hbDKxj8vkpG3L9uS/6Q/XYh1tkXm6xwRGFweETA==" }, "is-module": { "version": "1.0.0", @@ -453,14 +509,6 @@ "dev": true, "requires": { "@types/estree": "0.0.39" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - } } }, "is-whitespace-character": { @@ -510,9 +558,9 @@ "integrity": "sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==" }, "magic-string": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz", - "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.6.tgz", + "integrity": "sha512-3a5LOMSGoCTH5rbqobC2HuDNRtE2glHZ8J7pK+QZYppyWA36yuNpsX994rIY2nCuyP7CZYy7lQq/X2jygiZ89g==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -534,9 +582,9 @@ "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==" }, "mdast-comment-marker": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mdast-comment-marker/-/mdast-comment-marker-1.1.0.tgz", - "integrity": "sha512-NqHAs8nmu08I6MGzpKzgTd9qiCP7oshkyzQrlZxLMsLPUOPjp/Zb/ZtorKD0oOJ38vdZxFCdOlXvlDf77AqEDg==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/mdast-comment-marker/-/mdast-comment-marker-1.1.1.tgz", + "integrity": "sha512-TWZDaUtPLwKX1pzDIY48MkSUQRDwX/HqbTB4m3iYdL/zosi/Z6Xqfdv0C0hNVKvzrPjZENrpWDt4p4odeVO0Iw==" }, "mdast-util-compact": { "version": "1.0.4", @@ -565,9 +613,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "ms": { "version": "2.1.2", @@ -636,9 +684,9 @@ "dev": true }, "picomatch": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz", - "integrity": "sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==" + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz", + "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==" }, "plur": { "version": "3.1.1", @@ -660,9 +708,9 @@ } }, "readable-stream": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -670,11 +718,20 @@ } }, "readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", + "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", "requires": { - "picomatch": "^2.0.4" + "picomatch": "^2.0.7" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" } }, "remark": { @@ -916,16 +973,6 @@ "unist-util-position": "^3.0.0", "unist-util-stringify-position": "^2.0.0", "unist-util-visit": "^1.4.0" - }, - "dependencies": { - "unist-util-stringify-position": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz", - "integrity": "sha512-nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA==", - "requires": { - "@types/unist": "^2.0.2" - } - } } }, "remark-lint-no-file-name-articles": { @@ -1010,16 +1057,6 @@ "unist-util-position": "^3.0.0", "unist-util-stringify-position": "^2.0.0", "unist-util-visit": "^1.1.1" - }, - "dependencies": { - "unist-util-stringify-position": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz", - "integrity": "sha512-nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA==", - "requires": { - "@types/unist": "^2.0.2" - } - } } }, "remark-lint-no-shell-dollars": { @@ -1113,12 +1150,38 @@ } }, "remark-lint-prohibited-strings": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/remark-lint-prohibited-strings/-/remark-lint-prohibited-strings-1.2.0.tgz", - "integrity": "sha512-k3Sa0Kk+OJHMnsaRmLzq85BomgVOHbDBq3s5v4BJ6bVNWwYM9KrunNb0iAGomM7l+HfosYoa9Q31xfCuwsWZ4A==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/remark-lint-prohibited-strings/-/remark-lint-prohibited-strings-1.2.1.tgz", + "integrity": "sha512-i3LatoJn/eHkgawdi3eoynikQa5zIEDX+GYcvu4ns5LsOvIrT8WcuvgYQ2kbEFbV0KTy7yBAGLJ9040xs1ssXA==", "requires": { "unified-lint-rule": "^1.0.2", - "unist-util-visit": "^1.2.0" + "unist-util-visit": "^2.0.0" + }, + "dependencies": { + "unist-util-is": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz", + "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==" + }, + "unist-util-visit": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.2.tgz", + "integrity": "sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + } + }, + "unist-util-visit-parents": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz", + "integrity": "sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + } + } } }, "remark-lint-rule-style": { @@ -1177,9 +1240,9 @@ } }, "remark-message-control": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-4.1.1.tgz", - "integrity": "sha512-DojJPPeSux/U7aHCN6GUWBgp6F1EQFPUNvnk2gfuGgiMCHVubz/xAC3TkvPaf5w1F0PEGaOEpCtvxJK6O4Kmiw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-4.2.0.tgz", + "integrity": "sha512-WXH2t5ljTyhsXlK1zPBLF3iPHbXl58R94phPMreS1xcHWBZJt6Oiu8RtNjy1poZFb3PqKnbYLJeR/CWcZ1bTFw==", "requires": { "mdast-comment-marker": "^1.0.0", "unified-message-control": "^1.0.0", @@ -1209,9 +1272,9 @@ } }, "remark-preset-lint-node": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/remark-preset-lint-node/-/remark-preset-lint-node-1.11.0.tgz", - "integrity": "sha512-bY1VT8yDJiwHe9H74EDTyzpsOI9MwFQxau8KQ2i4IU9M+REHfrJN8GJFZ3iDWBVZJnsgx2JDbzvncBHWz50pMg==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/remark-preset-lint-node/-/remark-preset-lint-node-1.13.0.tgz", + "integrity": "sha512-UNAoY4wl672d0qE+LM5rA0ILOTJN+siNGj3/qa5Zvl7nMIUwqMcz0G266Ck6OL6GOrpys/e4EOrkXiitEdEqNA==", "requires": { "remark-lint": "^6.0.5", "remark-lint-blockquote-indentation": "^1.0.3", @@ -1238,7 +1301,7 @@ "remark-lint-no-table-indentation": "^1.0.4", "remark-lint-no-tabs": "^1.0.3", "remark-lint-no-trailing-spaces": "^2.0.1", - "remark-lint-prohibited-strings": "^1.2.0", + "remark-lint-prohibited-strings": "^1.2.1", "remark-lint-rule-style": "^1.0.3", "remark-lint-strong-marker": "^1.0.3", "remark-lint-table-cell-padding": "^1.0.4", @@ -1302,9 +1365,9 @@ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" }, "resolve": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz", - "integrity": "sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.2.tgz", + "integrity": "sha512-EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -1316,9 +1379,9 @@ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" }, "rollup": { - "version": "1.27.11", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.27.11.tgz", - "integrity": "sha512-ENXdvXk8tjtkNTvIvjRzOEu+vv54va7PiDR7VwP8TD+In6J87gKzzFmQMawQixEL2y9rsPEgomUS7ZVkq47Tww==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.30.1.tgz", + "integrity": "sha512-Uus8mwQXwaO+ZVoNwBcXKhT0AvycFCBW/W8VZtkpVGsotRllWk9oldfCjqWmTnFRI0y7x6BnEqSqc65N+/YdBw==", "dev": true, "requires": { "@types/estree": "*", @@ -1326,41 +1389,6 @@ "acorn": "^7.1.0" } }, - "rollup-plugin-commonjs": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz", - "integrity": "sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==", - "dev": true, - "requires": { - "estree-walker": "^0.6.1", - "is-reference": "^1.1.2", - "magic-string": "^0.25.2", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.1" - } - }, - "rollup-plugin-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-json/-/rollup-plugin-json-4.0.0.tgz", - "integrity": "sha512-hgb8N7Cgfw5SZAkb3jf0QXii6QX/FOkiIq2M7BAQIEydjHvTyxXHQiIzZaTFgx1GK0cRCHOCBHIyEkkLdWKxow==", - "dev": true, - "requires": { - "rollup-pluginutils": "^2.5.0" - } - }, - "rollup-plugin-node-resolve": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", - "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", - "dev": true, - "requires": { - "@types/resolve": "0.0.8", - "builtin-modules": "^3.1.0", - "is-module": "^1.0.0", - "resolve": "^1.11.1", - "rollup-pluginutils": "^2.8.1" - } - }, "rollup-pluginutils": { "version": "2.8.2", "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", @@ -1375,20 +1403,42 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" }, + "shelljs": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", + "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, "shellsubstitute": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shellsubstitute/-/shellsubstitute-1.2.0.tgz", "integrity": "sha1-5PcCpQxRiw9v6YRRiQ1wWvKba3A=" }, + "shx": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.2.tgz", + "integrity": "sha512-aS0mWtW3T2sHAenrSrip2XGv39O9dXIFUqxAEWHEOS1ePtGIBavdPJY1kE2IHl14V/4iCbUiNDPGdyYTtmhSoA==", + "dev": true, + "requires": { + "es6-object-assign": "^1.0.3", + "minimist": "^1.2.0", + "shelljs": "^0.8.1" + } + }, "sliced": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" }, "sourcemap-codec": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", - "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, "sprintf-js": { @@ -1466,43 +1516,12 @@ } }, "to-vfile": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-6.0.0.tgz", - "integrity": "sha512-i9fwXXSsHLu7mzgixc1WjgnqSe6pGpjnzCYoFmrASvEueLfyKf09QAe+XQYu8OAJ62aFqHpe2EKXojeRVvEzqA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-6.1.0.tgz", + "integrity": "sha512-BxX8EkCxOAZe+D/ToHdDsJcVI4HqQfmw0tCkp31zf3dNP/XWIAjU4CmeuSwsSoOzOTqHPOL0KUzyZqJplkD0Qw==", "requires": { "is-buffer": "^2.0.0", "vfile": "^4.0.0" - }, - "dependencies": { - "unist-util-stringify-position": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz", - "integrity": "sha512-nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA==", - "requires": { - "@types/unist": "^2.0.2" - } - }, - "vfile": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.0.2.tgz", - "integrity": "sha512-yhoTU5cDMSsaeaMfJ5g0bUKYkYmZhAh9fn9TZicxqn+Cw4Z439il2v3oT9S0yjlpqlI74aFOQCt3nOV+pxzlkw==", - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "replace-ext": "1.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - } - }, - "vfile-message": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.2.tgz", - "integrity": "sha512-gNV2Y2fDvDOOqq8bEe7cF3DXU6QgV4uA9zMR2P8tix11l1r7zju3zry3wZ8sx+BEfuO6WQ7z2QzfWTvqHQiwsA==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - } } }, "trim": { @@ -1620,14 +1639,14 @@ } }, "unist-util-is": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.2.tgz", - "integrity": "sha512-YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", + "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" }, "unist-util-position": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.4.tgz", - "integrity": "sha512-tWvIbV8goayTjobxDIr4zVTyG+Q7ragMSMeKC3xnPl9xzIc0+she8mxXLM3JVNDDsfARPbCd3XdzkyLdo7fF3g==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" }, "unist-util-remove-position": { "version": "1.1.4", @@ -1646,19 +1665,19 @@ } }, "unist-util-visit": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.0.tgz", - "integrity": "sha512-FiGu34ziNsZA3ZUteZxSFaczIjGmksfSgdKqBfOejrrfzyUy5b7YrlzT1Bcvi+djkYDituJDy2XB7tGTeBieKw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", "requires": { "unist-util-visit-parents": "^2.0.0" } }, "unist-util-visit-parents": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.0.1.tgz", - "integrity": "sha512-6B0UTiMfdWql4cQ03gDTCSns+64Zkfo2OCbK31Ov0uMizEz+CJeAp0cgZVb5Fhmcd7Bct2iRNywejT0orpbqUA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", + "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", "requires": { - "unist-util-is": "^2.1.2" + "unist-util-is": "^3.0.0" } }, "untildify": { @@ -1687,9 +1706,9 @@ } }, "vfile-location": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.4.tgz", - "integrity": "sha512-KRL5uXQPoUKu+NGvQVL4XLORw45W62v4U4gxJ3vRlDfI9QsT4ZN1PNXn/zQpKUulqGDpYuT0XDfp5q9O87/y/w==" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", + "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==" }, "vfile-message": { "version": "2.0.2", @@ -1701,9 +1720,9 @@ } }, "vfile-reporter": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-6.0.0.tgz", - "integrity": "sha512-8Is0XxFxWJUhPJdOg3CyZTqd3ICCWg6r304PuBl818ZG91h4FMS3Q+lrOPS+cs5/DZK3H0+AkJdH0J8JEwKtDA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-6.0.1.tgz", + "integrity": "sha512-0OppK9mo8G2XUpv+hIKLVSDsoxJrXnOy73+vIm0jQUOUFYRduqpFHX+QqAQfvRHyX9B0UFiRuNJnBOjQCIsw1g==", "requires": { "repeat-string": "^1.5.0", "string-width": "^4.0.0", @@ -1720,26 +1739,18 @@ "requires": { "has-flag": "^3.0.0" } - }, - "unist-util-stringify-position": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz", - "integrity": "sha512-nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA==", - "requires": { - "@types/unist": "^2.0.2" - } } } }, "vfile-sort": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.2.1.tgz", - "integrity": "sha512-5dt7xEhC44h0uRQKhbM2JAe0z/naHphIZlMOygtMBM9Nn0pZdaX5fshhwWit9wvsuP8t/wp43nTDRRErO1WK8g==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.2.2.tgz", + "integrity": "sha512-tAyUqD2R1l/7Rn7ixdGkhXLD3zsg+XLAeUDUhXearjfIcpL1Hcsj5hHpCoy/gvfK/Ws61+e972fm0F7up7hfYA==" }, "vfile-statistics": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.3.tgz", - "integrity": "sha512-CstaK/ebTz1W3Qp41Bt9Lj/2DmumFsCwC2sKahDNSPh0mPh7/UyMLCoU8ZBX34CRU0d61B4W41yIFsV0NKMZeA==" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.4.tgz", + "integrity": "sha512-lXhElVO0Rq3frgPvFBwahmed3X03vjPF8OcjKMy8+F1xU/3Q3QU3tKEDp743SFtb74PdF0UWpxPvtOP0GCLheA==" }, "wrapped": { "version": "1.0.1", @@ -1761,9 +1772,9 @@ "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=" }, "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" } } } diff --git a/tools/node-lint-md-cli-rollup/package.json b/tools/node-lint-md-cli-rollup/package.json index 19634309e8ab82..be155b49e95fce 100644 --- a/tools/node-lint-md-cli-rollup/package.json +++ b/tools/node-lint-md-cli-rollup/package.json @@ -1,23 +1,24 @@ { "name": "node-lint-md-cli-rollup", "description": "remark packaged for Node.js Markdown linting", - "version": "2.0.1", + "version": "2.0.2", "devDependencies": { - "rollup": "^1.27.11", - "rollup-plugin-commonjs": "^10.1.0", - "rollup-plugin-json": "^4.0.0", - "rollup-plugin-node-resolve": "^5.2.0" + "@rollup/plugin-commonjs": "^11.0.1", + "@rollup/plugin-json": "^4.0.1", + "@rollup/plugin-node-resolve": "^7.0.0", + "rollup": "^1.30.1", + "shx": "^0.3.2" }, "dependencies": { "markdown-extensions": "^1.1.1", "remark": "^11.0.2", "remark-lint": "^6.0.5", - "remark-preset-lint-node": "^1.11.0", + "remark-preset-lint-node": "^1.13.0", "unified-args": "^7.1.0" }, - "main": "src/cli-entry.js", + "main": "dist/index.js", "scripts": { - "build": "ncc build -m", - "build-node": "npm run build && cp dist/index.js ../lint-md.js" + "build": "npx rollup -c", + "build-node": "npm run build && npx shx cp dist/index.js ../lint-md.js" } } diff --git a/tools/node-lint-md-cli-rollup/rollup.config.js b/tools/node-lint-md-cli-rollup/rollup.config.js new file mode 100644 index 00000000000000..49b9817ca581bd --- /dev/null +++ b/tools/node-lint-md-cli-rollup/rollup.config.js @@ -0,0 +1,50 @@ +'use strict'; + +const resolve = require('@rollup/plugin-node-resolve'); +const commonjs = require('@rollup/plugin-commonjs'); +const json = require('@rollup/plugin-json'); + +module.exports = { + input: 'src/cli-entry.js', + output: { + file: 'dist/index.js', + format: 'cjs', + sourcemap: false, + }, + external: [ + 'stream', + 'path', + 'module', + 'util', + 'tty', + 'os', + 'fs', + 'fsevents', + 'events', + 'assert', + ], + plugins: [ + { + name: 'brute-replace', + transform(code, id) { + const normID = id.replace(__dirname, '').replace(/\\+/g, '/'); + if (normID === '/node_modules/concat-stream/index.js') { + return code.replace('\'readable-stream\'', '\'stream\''); + } + if (normID === '/node_modules/unified-args/lib/options.js') { + return code.replace('\'./schema\'', '\'./schema.json\''); + } + if (normID === '/node_modules/chokidar/lib/fsevents-handler.js') { + return code.replace( + 'fsevents = require(\'fsevents\');', 'fsevents = undefined;' + ); + } + } + }, + json({ + preferConst: true + }), + resolve(), // tells Rollup how to find date-fns in node_modules + commonjs(), // Converts date-fns to ES modules + ] +}; diff --git a/tools/node-lint-md-cli-rollup/src/cli-entry.js b/tools/node-lint-md-cli-rollup/src/cli-entry.js index 9fe8050b7ee071..a66c4a6894aef6 100644 --- a/tools/node-lint-md-cli-rollup/src/cli-entry.js +++ b/tools/node-lint-md-cli-rollup/src/cli-entry.js @@ -1,4 +1,3 @@ -#!/usr/bin/env node 'use strict'; // To aid in future maintenance, this layout closely matches remark-cli/cli.js. diff --git a/tools/osx-codesign.sh b/tools/osx-codesign.sh index 6a954c737fa4c5..7ca80ca7462c3d 100644 --- a/tools/osx-codesign.sh +++ b/tools/osx-codesign.sh @@ -8,4 +8,13 @@ if [ "X$SIGN" == "X" ]; then exit 0 fi -codesign -s "$SIGN" "$PKGDIR"/bin/node +# All macOS executable binaries in the bundle must be codesigned with the +# hardened runtime enabled. +# See https://github.com/nodejs/node/pull/31459 + +codesign \ + --sign "$SIGN" \ + --entitlements tools/osx-entitlements.plist \ + --options runtime \ + --timestamp \ + "$PKGDIR"/bin/node diff --git a/tools/osx-entitlements.plist b/tools/osx-entitlements.plist new file mode 100644 index 00000000000000..555c10f7ff8607 --- /dev/null +++ b/tools/osx-entitlements.plist @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.cs.allow-dyld-environment-variables + + com.apple.security.cs.disable-library-validation + + + diff --git a/tools/osx-gon-config.json.tmpl b/tools/osx-gon-config.json.tmpl new file mode 100644 index 00000000000000..3ea16465fc1de5 --- /dev/null +++ b/tools/osx-gon-config.json.tmpl @@ -0,0 +1,12 @@ +{ + "notarize": [{ + "path": "node-{{pkgid}}.pkg", + "bundle_id": "org.nodejs.pkg.{{pkgid}}", + "staple": true + }], + + "apple_id": { + "username": "{{appleid}}", + "password": "@env:NOTARIZATION_PASSWORD" + } +} diff --git a/tools/osx-notarize.sh b/tools/osx-notarize.sh new file mode 100755 index 00000000000000..97bb0912722495 --- /dev/null +++ b/tools/osx-notarize.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +# Uses gon, from https://github.com/mitchellh/gon, to notarize a generated node-.pkg file +# with Apple for installation on macOS Catalina and later as validated by Gatekeeper. + +set -e + +gon_version="0.2.2" +gon_exe="${HOME}/.gon/gon_${gon_version}" + +__dirname="$(CDPATH= cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +pkgid="$1" + +if [ "X${pkgid}" == "X" ]; then + echo "Usage: $0 " + exit 1 +fi + +if [ "X$NOTARIZATION_ID" == "X" ]; then + echo "No NOTARIZATION_ID environment var. Skipping notarization." + exit 0 +fi + +set -x + +mkdir -p "${HOME}/.gon/" + +if [ ! -f "${gon_exe}" ]; then + curl -sL "https://github.com/mitchellh/gon/releases/download/v${gon_version}/gon_${gon_version}_macos.zip" -o "${gon_exe}.zip" + (cd "${HOME}/.gon/" && rm -f gon && unzip "${gon_exe}.zip" && mv gon "${gon_exe}") +fi + +cat tools/osx-gon-config.json.tmpl \ + | sed -e "s/{{appleid}}/${NOTARIZATION_ID}/" -e "s/{{pkgid}}/${pkgid}/" \ + > gon-config.json + +"${gon_exe}" -log-level=info gon-config.json diff --git a/tools/release.sh b/tools/release.sh index 3ef503a08a8ea3..3c2cc1ea0736e7 100755 --- a/tools/release.sh +++ b/tools/release.sh @@ -144,6 +144,7 @@ function sign { if [ "X${yorn}" == "Xy" ]; then scp ${customsshkey} ${tmpdir}/${shafile} ${tmpdir}/${shafile}.asc ${tmpdir}/${shafile}.sig ${webuser}@${webhost}:${shadir}/ + ssh ${customsshkey} ${webuser}@${webhost} chmod 644 ${shadir}/${shafile}.asc ${shadir}/${shafile}.sig break fi done diff --git a/tools/test.py b/tools/test.py index 8a7e8987bd1f8e..71a754091ad292 100755 --- a/tools/test.py +++ b/tools/test.py @@ -1529,7 +1529,7 @@ def Main(): logger.addHandler(ch) logger.setLevel(logging.INFO) if options.logfile: - fh = logging.FileHandler(options.logfile, mode='wb') + fh = logging.FileHandler(options.logfile, encoding='utf-8', mode='w') logger.addHandler(fh) workspace = abspath(join(dirname(sys.argv[0]), '..')) diff --git a/vcbuild.bat b/vcbuild.bat index 623d7c738f631f..6bab9ab38eceae 100644 --- a/vcbuild.bat +++ b/vcbuild.bat @@ -49,7 +49,6 @@ set noetw_msi_arg= set i18n_arg= set download_arg= set build_release= -set enable_vtune_arg= set configure_flags= set build_addons= set dll= @@ -135,7 +134,6 @@ if /i "%1"=="intl-none" set i18n_arg=none&goto arg-ok if /i "%1"=="without-intl" set i18n_arg=none&goto arg-ok if /i "%1"=="download-all" set download_arg="--download=all"&goto arg-ok if /i "%1"=="ignore-flaky" set test_args=%test_args% --flaky-tests=dontcare&goto arg-ok -if /i "%1"=="enable-vtune" set enable_vtune_arg=1&goto arg-ok if /i "%1"=="dll" set dll=1&goto arg-ok if /i "%1"=="static" set enable_static=1&goto arg-ok if /i "%1"=="no-NODE-OPTIONS" set no_NODE_OPTIONS=1&goto arg-ok @@ -189,7 +187,6 @@ if defined noetw set configure_flags=%configure_flags% --without-etw& if defined ltcg set configure_flags=%configure_flags% --with-ltcg if defined release_urlbase set configure_flags=%configure_flags% --release-urlbase=%release_urlbase% if defined download_arg set configure_flags=%configure_flags% %download_arg% -if defined enable_vtune_arg set configure_flags=%configure_flags% --enable-vtune-profiling if defined dll set configure_flags=%configure_flags% --shared if defined enable_static set configure_flags=%configure_flags% --enable-static if defined no_NODE_OPTIONS set configure_flags=%configure_flags% --without-node-options @@ -703,14 +700,13 @@ del .used_configure_flags goto exit :help -echo vcbuild.bat [debug/release] [msi] [doc] [test/test-all/test-addons/test-js-native-api/test-node-api/test-benchmark/test-internet/test-pummel/test-simple/test-message/test-tick-processor/test-known-issues/test-node-inspect/test-check-deopts/test-npm/test-async-hooks/test-v8/test-v8-intl/test-v8-benchmarks/test-v8-all] [ignore-flaky] [static/dll] [noprojgen] [projgen] [small-icu/full-icu/without-intl] [nobuild] [nosnapshot] [noetw] [ltcg] [licensetf] [sign] [ia32/x86/x64/arm64] [vs2017] [download-all] [enable-vtune] [lint/lint-ci/lint-js/lint-js-ci/lint-md] [lint-md-build] [package] [build-release] [upload] [no-NODE-OPTIONS] [link-module path-to-module] [debug-http2] [debug-nghttp2] [clean] [cctest] [no-cctest] [openssl-no-asm] +echo vcbuild.bat [debug/release] [msi] [doc] [test/test-all/test-addons/test-js-native-api/test-node-api/test-benchmark/test-internet/test-pummel/test-simple/test-message/test-tick-processor/test-known-issues/test-node-inspect/test-check-deopts/test-npm/test-async-hooks/test-v8/test-v8-intl/test-v8-benchmarks/test-v8-all] [ignore-flaky] [static/dll] [noprojgen] [projgen] [small-icu/full-icu/without-intl] [nobuild] [nosnapshot] [noetw] [ltcg] [licensetf] [sign] [ia32/x86/x64/arm64] [vs2017/vs2019] [download-all] [lint/lint-ci/lint-js/lint-js-ci/lint-md] [lint-md-build] [package] [build-release] [upload] [no-NODE-OPTIONS] [link-module path-to-module] [debug-http2] [debug-nghttp2] [clean] [cctest] [no-cctest] [openssl-no-asm] echo Examples: echo vcbuild.bat : builds release build echo vcbuild.bat debug : builds debug build echo vcbuild.bat release msi : builds release build and MSI installer package echo vcbuild.bat test : builds debug build and runs tests echo vcbuild.bat build-release : builds the release distribution as used by nodejs.org -echo vcbuild.bat enable-vtune : builds nodejs with Intel VTune profiling support to profile JavaScript echo vcbuild.bat link-module my_module.js : bundles my_module as built-in module echo vcbuild.bat lint : runs the C++, documentation and JavaScript linter echo vcbuild.bat no-cctest : skip building cctest.exe

    , B and B. For a curve over Fp B -is the prime for the field. For a curve over F2^m B